--- linux-gcp-5.19.0.orig/.clang-format +++ linux-gcp-5.19.0/.clang-format @@ -534,6 +534,7 @@ - 'perf_hpp_list__for_each_sort_list_safe' - 'perf_pmu__for_each_hybrid_pmu' - 'ping_portaddr_for_each_entry' + - 'ping_portaddr_for_each_entry_rcu' - 'plist_for_each' - 'plist_for_each_continue' - 'plist_for_each_entry' --- linux-gcp-5.19.0.orig/Documentation/ABI/testing/ima_policy +++ linux-gcp-5.19.0/Documentation/ABI/testing/ima_policy @@ -26,7 +26,7 @@ [uid=] [euid=] [gid=] [egid=] [fowner=] [fgroup=]] lsm: [[subj_user=] [subj_role=] [subj_type=] - [obj_user=] [obj_role=] [obj_type=]] + [obj_user=] [obj_role=] [obj_type=] [lsm=]] option: [digest_type=] [template=] [permit_directio] [appraise_type=] [appraise_flag=] [appraise_algos=] [keyrings=] @@ -138,6 +138,12 @@ measure subj_user=_ func=FILE_CHECK mask=MAY_READ + It is possible to explicitly specify which security + module a rule applies to using lsm=. If the security + module specified is not active on the system the rule + will be rejected. If lsm= is not specified the first + security module registered on the system will be assumed. + Example of measure rules using alternate PCRs:: measure func=KEXEC_KERNEL_CHECK pcr=4 --- linux-gcp-5.19.0.orig/Documentation/ABI/testing/procfs-attr-lsm_display +++ linux-gcp-5.19.0/Documentation/ABI/testing/procfs-attr-lsm_display @@ -0,0 +1,22 @@ +What: /proc/*/attr/lsm_display +Contact: linux-security-module@vger.kernel.org, +Description: The name of the Linux security module (LSM) that will + provide information in the /proc/*/attr/current, + /proc/*/attr/prev and /proc/*/attr/exec interfaces. + The details of permissions required to read from + this interface are dependent on the LSMs active on the + system. + A process cannot write to this interface unless it + refers to itself. + The other details of permissions required to write to + this interface are dependent on the LSMs active on the + system. + The format of the data used by this interface is a + text string identifying the name of an LSM. The values + accepted are: + selinux - the SELinux LSM + smack - the Smack LSM + apparmor - The AppArmor LSM + By convention the LSM names are lower case and do not + contain special characters. +Users: LSM user-space --- linux-gcp-5.19.0.orig/Documentation/ABI/testing/sysfs-bus-iio +++ linux-gcp-5.19.0/Documentation/ABI/testing/sysfs-bus-iio @@ -188,7 +188,7 @@ Raw capacitance measurement from channel Y. Units after application of scale and offset are nanofarads. -What: /sys/.../iio:deviceX/in_capacitanceY-in_capacitanceZ_raw +What: /sys/.../iio:deviceX/in_capacitanceY-capacitanceZ_raw KernelVersion: 3.2 Contact: linux-iio@vger.kernel.org Description: --- linux-gcp-5.19.0.orig/Documentation/ABI/testing/sysfs-bus-spi-devices-spi-nor +++ linux-gcp-5.19.0/Documentation/ABI/testing/sysfs-bus-spi-devices-spi-nor @@ -5,6 +5,9 @@ Description: (RO) The JEDEC ID of the SPI NOR flash as reported by the flash device. + The attribute is not present if the flash doesn't support + the "Read JEDEC ID" command (9Fh). This is the case for + non-JEDEC compliant flashes. What: /sys/bus/spi/devices/.../spi-nor/manufacturer Date: April 2021 --- linux-gcp-5.19.0.orig/Documentation/ABI/testing/sysfs-devices-system-cpu +++ linux-gcp-5.19.0/Documentation/ABI/testing/sysfs-devices-system-cpu @@ -527,6 +527,7 @@ /sys/devices/system/cpu/vulnerabilities/tsx_async_abort /sys/devices/system/cpu/vulnerabilities/itlb_multihit /sys/devices/system/cpu/vulnerabilities/mmio_stale_data + /sys/devices/system/cpu/vulnerabilities/retbleed Date: January 2018 Contact: Linux kernel mailing list Description: Information about CPU vulnerabilities --- linux-gcp-5.19.0.orig/Documentation/ABI/testing/sysfs-driver-xen-blkback +++ linux-gcp-5.19.0/Documentation/ABI/testing/sysfs-driver-xen-blkback @@ -42,5 +42,5 @@ Contact: Maximilian Heyne Description: Whether to enable the persistent grants feature or not. Note - that this option only takes effect on newly created backends. + that this option only takes effect on newly connected backends. The default is Y (enable). --- linux-gcp-5.19.0.orig/Documentation/ABI/testing/sysfs-driver-xen-blkfront +++ linux-gcp-5.19.0/Documentation/ABI/testing/sysfs-driver-xen-blkfront @@ -15,5 +15,5 @@ Contact: Maximilian Heyne Description: Whether to enable the persistent grants feature or not. Note - that this option only takes effect on newly created frontends. + that this option only takes effect on newly connected frontends. The default is Y (enable). --- linux-gcp-5.19.0.orig/Documentation/ABI/testing/sysfs-kernel-oops_count +++ linux-gcp-5.19.0/Documentation/ABI/testing/sysfs-kernel-oops_count @@ -0,0 +1,6 @@ +What: /sys/kernel/oops_count +Date: November 2022 +KernelVersion: 6.2.0 +Contact: Linux Kernel Hardening List +Description: + Shows how many times the system has Oopsed since last boot. --- linux-gcp-5.19.0.orig/Documentation/ABI/testing/sysfs-kernel-warn_count +++ linux-gcp-5.19.0/Documentation/ABI/testing/sysfs-kernel-warn_count @@ -0,0 +1,6 @@ +What: /sys/kernel/warn_count +Date: November 2022 +KernelVersion: 6.2.0 +Contact: Linux Kernel Hardening List +Description: + Shows how many times the system has Warned since last boot. --- linux-gcp-5.19.0.orig/Documentation/Makefile +++ linux-gcp-5.19.0/Documentation/Makefile @@ -92,7 +92,7 @@ fi htmldocs: - @$(srctree)/scripts/sphinx-pre-install --version-check + @$(srctree)/scripts/sphinx-pre-install --version-check --no-virtualenv @+$(foreach var,$(SPHINXDIRS),$(call loop_cmd,sphinx,html,$(var),,$(var))) linkcheckdocs: --- linux-gcp-5.19.0.orig/Documentation/admin-guide/cgroup-v1/memory.rst +++ linux-gcp-5.19.0/Documentation/admin-guide/cgroup-v1/memory.rst @@ -86,6 +86,8 @@ memory.swappiness set/show swappiness parameter of vmscan (See sysctl's vm.swappiness) memory.move_charge_at_immigrate set/show controls of moving charges + This knob is deprecated and shouldn't be + used. memory.oom_control set/show oom controls. memory.numa_stat show the number of memory usage per numa node @@ -718,8 +720,15 @@ It is recommended to set the soft limit always below the hard limit, otherwise the hard limit will take precedence. -8. Move charges at task migration -================================= +8. Move charges at task migration (DEPRECATED!) +=============================================== + +THIS IS DEPRECATED! + +It's expensive and unreliable! It's better practice to launch workload +tasks directly from inside their target cgroup. Use dedicated workload +cgroups to allow fine-grained policy adjustments without having to +move physical pages between control domains. Users can move charges associated with a task along with task migration, that is, uncharge task's pages from the old cgroup and charge them to the new cgroup. --- linux-gcp-5.19.0.orig/Documentation/admin-guide/device-mapper/writecache.rst +++ linux-gcp-5.19.0/Documentation/admin-guide/device-mapper/writecache.rst @@ -78,16 +78,16 @@ 2. the number of blocks 3. the number of free blocks 4. the number of blocks under writeback -5. the number of read requests -6. the number of read requests that hit the cache -7. the number of write requests -8. the number of write requests that hit uncommitted block -9. the number of write requests that hit committed block -10. the number of write requests that bypass the cache -11. the number of write requests that are allocated in the cache +5. the number of read blocks +6. the number of read blocks that hit the cache +7. the number of write blocks +8. the number of write blocks that hit uncommitted block +9. the number of write blocks that hit committed block +10. the number of write blocks that bypass the cache +11. the number of write blocks that are allocated in the cache 12. the number of write requests that are blocked on the freelist 13. the number of flush requests -14. the number of discard requests +14. the number of discarded blocks Messages: flush --- linux-gcp-5.19.0.orig/Documentation/admin-guide/hw-vuln/cross-thread-rsb.rst +++ linux-gcp-5.19.0/Documentation/admin-guide/hw-vuln/cross-thread-rsb.rst @@ -0,0 +1,92 @@ + +.. SPDX-License-Identifier: GPL-2.0 + +Cross-Thread Return Address Predictions +======================================= + +Certain AMD and Hygon processors are subject to a cross-thread return address +predictions vulnerability. When running in SMT mode and one sibling thread +transitions out of C0 state, the other sibling thread could use return target +predictions from the sibling thread that transitioned out of C0. + +The Spectre v2 mitigations protect the Linux kernel, as it fills the return +address prediction entries with safe targets when context switching to the idle +thread. However, KVM does allow a VMM to prevent exiting guest mode when +transitioning out of C0. This could result in a guest-controlled return target +being consumed by the sibling thread. + +Affected processors +------------------- + +The following CPUs are vulnerable: + + - AMD Family 17h processors + - Hygon Family 18h processors + +Related CVEs +------------ + +The following CVE entry is related to this issue: + + ============== ======================================= + CVE-2022-27672 Cross-Thread Return Address Predictions + ============== ======================================= + +Problem +------- + +Affected SMT-capable processors support 1T and 2T modes of execution when SMT +is enabled. In 2T mode, both threads in a core are executing code. For the +processor core to enter 1T mode, it is required that one of the threads +requests to transition out of the C0 state. This can be communicated with the +HLT instruction or with an MWAIT instruction that requests non-C0. +When the thread re-enters the C0 state, the processor transitions back +to 2T mode, assuming the other thread is also still in C0 state. + +In affected processors, the return address predictor (RAP) is partitioned +depending on the SMT mode. For instance, in 2T mode each thread uses a private +16-entry RAP, but in 1T mode, the active thread uses a 32-entry RAP. Upon +transition between 1T/2T mode, the RAP contents are not modified but the RAP +pointers (which control the next return target to use for predictions) may +change. This behavior may result in return targets from one SMT thread being +used by RET predictions in the sibling thread following a 1T/2T switch. In +particular, a RET instruction executed immediately after a transition to 1T may +use a return target from the thread that just became idle. In theory, this +could lead to information disclosure if the return targets used do not come +from trustworthy code. + +Attack scenarios +---------------- + +An attack can be mounted on affected processors by performing a series of CALL +instructions with targeted return locations and then transitioning out of C0 +state. + +Mitigation mechanism +-------------------- + +Before entering idle state, the kernel context switches to the idle thread. The +context switch fills the RAP entries (referred to as the RSB in Linux) with safe +targets by performing a sequence of CALL instructions. + +Prevent a guest VM from directly putting the processor into an idle state by +intercepting HLT and MWAIT instructions. + +Both mitigations are required to fully address this issue. + +Mitigation control on the kernel command line +--------------------------------------------- + +Use existing Spectre v2 mitigations that will fill the RSB on context switch. + +Mitigation control for KVM - module parameter +--------------------------------------------- + +By default, the KVM hypervisor mitigates this issue by intercepting guest +attempts to transition out of C0. A VMM can use the KVM_CAP_X86_DISABLE_EXITS +capability to override those interceptions, but since this is not common, the +mitigation that covers this path is not enabled by default. + +The mitigation for the KVM_CAP_X86_DISABLE_EXITS capability can be turned on +using the boolean module parameter mitigate_smt_rsb, e.g.: + kvm.mitigate_smt_rsb=1 --- linux-gcp-5.19.0.orig/Documentation/admin-guide/hw-vuln/index.rst +++ linux-gcp-5.19.0/Documentation/admin-guide/hw-vuln/index.rst @@ -18,3 +18,4 @@ core-scheduling.rst l1d_flush.rst processor_mmio_stale_data.rst + cross-thread-rsb.rst --- linux-gcp-5.19.0.orig/Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst +++ linux-gcp-5.19.0/Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst @@ -230,6 +230,20 @@ * - 'Mitigation: Clear CPU buffers' - The processor is vulnerable and the CPU buffer clearing mitigation is enabled. + * - 'Unknown: No mitigations' + - The processor vulnerability status is unknown because it is + out of Servicing period. Mitigation is not attempted. + +Definitions: +------------ + +Servicing period: The process of providing functional and security updates to +Intel processors or platforms, utilizing the Intel Platform Update (IPU) +process or other similar mechanisms. + +End of Servicing Updates (ESU): ESU is the date at which Intel will no +longer provide Servicing, such as through IPU or other similar update +processes. ESU dates will typically be aligned to end of quarter. If the processor is vulnerable then the following information is appended to the above information: --- linux-gcp-5.19.0.orig/Documentation/admin-guide/hw-vuln/spectre.rst +++ linux-gcp-5.19.0/Documentation/admin-guide/hw-vuln/spectre.rst @@ -422,6 +422,14 @@ 'RSB filling' Protection of RSB on context switch enabled ============= =========================================== + - EIBRS Post-barrier Return Stack Buffer (PBRSB) protection status: + + =========================== ======================================================= + 'PBRSB-eIBRS: SW sequence' CPU is affected and protection of RSB on VMEXIT enabled + 'PBRSB-eIBRS: Vulnerable' CPU is vulnerable + 'PBRSB-eIBRS: Not affected' CPU is not affected by PBRSB + =========================== ======================================================= + Full mitigation might require a microcode update from the CPU vendor. When the necessary microcode is not available, the kernel will report vulnerability. @@ -471,8 +479,16 @@ On Intel Skylake-era systems the mitigation covers most, but not all, cases. See :ref:`[3] ` for more details. - On CPUs with hardware mitigation for Spectre variant 2 (e.g. Enhanced - IBRS on x86), retpoline is automatically disabled at run time. + On CPUs with hardware mitigation for Spectre variant 2 (e.g. IBRS + or enhanced IBRS on x86), retpoline is automatically disabled at run time. + + Systems which support enhanced IBRS (eIBRS) enable IBRS protection once at + boot, by setting the IBRS bit, and they're automatically protected against + Spectre v2 variant attacks, including cross-thread branch target injections + on SMT systems (STIBP). In other words, eIBRS enables STIBP too. + + Legacy IBRS systems clear the IBRS bit on exit to userspace and + therefore explicitly enable STIBP for that The retpoline mitigation is turned on by default on vulnerable CPUs. It can be forced on or off by the administrator @@ -496,9 +512,12 @@ For Spectre variant 2 mitigation, individual user programs can be compiled with return trampolines for indirect branches. This protects them from consuming poisoned entries in the branch - target buffer left by malicious software. Alternatively, the - programs can disable their indirect branch speculation via prctl() - (See :ref:`Documentation/userspace-api/spec_ctrl.rst `). + target buffer left by malicious software. + + On legacy IBRS systems, at return to userspace, implicit STIBP is disabled + because the kernel clears the IBRS bit. In this case, the userspace programs + can disable indirect branch speculation via prctl() (See + :ref:`Documentation/userspace-api/spec_ctrl.rst `). On x86, this will turn on STIBP to guard against attacks from the sibling thread when the user program is running, and use IBPB to flush the branch target buffer when switching to/from the program. --- linux-gcp-5.19.0.orig/Documentation/admin-guide/kdump/gdbmacros.txt +++ linux-gcp-5.19.0/Documentation/admin-guide/kdump/gdbmacros.txt @@ -312,10 +312,10 @@ set var $prev_flags = $info->flags end - set var $id = ($id + 1) & $id_mask if ($id == $end_id) loop_break end + set var $id = ($id + 1) & $id_mask end end document dmesg --- linux-gcp-5.19.0.orig/Documentation/admin-guide/kernel-parameters.txt +++ linux-gcp-5.19.0/Documentation/admin-guide/kernel-parameters.txt @@ -789,6 +789,10 @@ If the dependencies are under your control, you can turn on cpu0_hotplug. + cpufreq_driver= [X86] Allow only the named cpu frequency scaling driver + to register. Example: cpufreq_driver=powernow-k8 + Format: { none | STRING } + cpuidle.off=1 [CPU_IDLE] disable the cpuidle sub-system @@ -3765,6 +3769,10 @@ nox2apic [X86-64,APIC] Do not enable x2APIC mode. + NOTE: this parameter will be ignored on systems with the + LEGACY_XAPIC_DISABLED bit set in the + IA32_XAPIC_DISABLE_STATUS MSR. + nps_mtm_hs_ctr= [KNL,ARC] This parameter sets the maximum duration, in cycles, each HW thread of the CTOP can run @@ -4084,6 +4092,12 @@ nomsi [MSI] If the PCI_MSI kernel config parameter is enabled, this kernel boot option can be used to disable the use of MSI interrupts system-wide. + clearmsi [X86] Clears MSI/MSI-X enable bits early in boot + time in order to avoid issues like adapters + screaming irqs and preventing boot progress. + Also, it enforces the PCI Local Bus spec + rule that those bits should be 0 in system reset + events (useful for kexec/kdump cases). noioapicquirk [APIC] Disable all boot interrupt quirks. Safety option to keep boot IRQs enabled. This should never be necessary. @@ -5203,20 +5217,33 @@ Speculative Code Execution with Return Instructions) vulnerability. + AMD-based UNRET and IBPB mitigations alone do not stop + sibling threads from influencing the predictions of other + sibling threads. For that reason, STIBP is used on pro- + cessors that support it, and mitigate SMT on processors + that don't. + off - no mitigation auto - automatically select a migitation auto,nosmt - automatically select a mitigation, disabling SMT if necessary for the full mitigation (only on Zen1 and older without STIBP). - ibpb - mitigate short speculation windows on - basic block boundaries too. Safe, highest - perf impact. - unret - force enable untrained return thunks, - only effective on AMD f15h-f17h - based systems. - unret,nosmt - like unret, will disable SMT when STIBP - is not available. + ibpb - On AMD, mitigate short speculation + windows on basic block boundaries too. + Safe, highest perf impact. It also + enables STIBP if present. Not suitable + on Intel. + ibpb,nosmt - Like "ibpb" above but will disable SMT + when STIBP is not available. This is + the alternative for systems which do not + have STIBP. + unret - Force enable untrained return thunks, + only effective on AMD f15h-f17h based + systems. + unret,nosmt - Like unret, but will disable SMT when STIBP + is not available. This is the alternative for + systems which do not have STIBP. Selecting 'auto' will choose a mitigation method at run time according to the CPU. @@ -5247,6 +5274,8 @@ rodata= [KNL] on Mark read-only kernel memory as read-only (default). off Leave read-only kernel memory writable for debugging. + full Mark read-only kernel memory and aliases as read-only + [arm64] rockchip.usb_uart Enable the uart passthrough on the designated usb port @@ -6849,3 +6878,14 @@ memory, and other data can't be written using xmon commands. off xmon is disabled. + + amd_pstate= [X86] + disable + Do not enable amd_pstate as the default + scaling driver for the supported processors + passive + Use amd_pstate as a scaling driver, driver requests a + desired performance on this abstract scale and the power + management firmware translates the requests into actual + hardware states (core frequency, data fabric and memory + clocks etc.) --- linux-gcp-5.19.0.orig/Documentation/admin-guide/perf/hisi-pcie-pmu.rst +++ linux-gcp-5.19.0/Documentation/admin-guide/perf/hisi-pcie-pmu.rst @@ -15,10 +15,10 @@ The PCIe PMU driver registers a perf PMU with the name of its sicl-id and PCIe Core id.:: - /sys/bus/event_source/hisi_pcie_ + /sys/bus/event_source/hisi_pcie_core PMU driver provides description of available events and filter options in sysfs, -see /sys/bus/event_source/devices/hisi_pcie_. +see /sys/bus/event_source/devices/hisi_pcie_core. The "format" directory describes all formats of the config (events) and config1 (filter options) fields of the perf_event_attr structure. The "events" directory @@ -33,13 +33,13 @@ Example usage of perf:: $# perf list - hisi_pcie0_0/rx_mwr_latency/ [kernel PMU event] - hisi_pcie0_0/rx_mwr_cnt/ [kernel PMU event] + hisi_pcie0_core0/rx_mwr_latency/ [kernel PMU event] + hisi_pcie0_core0/rx_mwr_cnt/ [kernel PMU event] ------------------------------------------ - $# perf stat -e hisi_pcie0_0/rx_mwr_latency/ - $# perf stat -e hisi_pcie0_0/rx_mwr_cnt/ - $# perf stat -g -e hisi_pcie0_0/rx_mwr_latency/ -e hisi_pcie0_0/rx_mwr_cnt/ + $# perf stat -e hisi_pcie0_core0/rx_mwr_latency/ + $# perf stat -e hisi_pcie0_core0/rx_mwr_cnt/ + $# perf stat -g -e hisi_pcie0_core0/rx_mwr_latency/ -e hisi_pcie0_core0/rx_mwr_cnt/ The current driver does not support sampling. So "perf record" is unsupported. Also attach to a task is unsupported for PCIe PMU. @@ -64,7 +64,7 @@ Example usage of perf:: - $# perf stat -e hisi_pcie0_0/rx_mwr_latency,port=0x1/ sleep 5 + $# perf stat -e hisi_pcie0_core0/rx_mwr_latency,port=0x1/ sleep 5 -bdf @@ -76,7 +76,7 @@ Example usage of perf:: - $# perf stat -e hisi_pcie0_0/rx_mrd_flux,bdf=0x3900/ sleep 5 + $# perf stat -e hisi_pcie0_core0/rx_mrd_flux,bdf=0x3900/ sleep 5 2. Trigger filter Event statistics start when the first time TLP length is greater/smaller @@ -90,7 +90,7 @@ Example usage of perf:: - $# perf stat -e hisi_pcie0_0/rx_mrd_flux,trig_len=0x4,trig_mode=1/ sleep 5 + $# perf stat -e hisi_pcie0_core0/rx_mrd_flux,trig_len=0x4,trig_mode=1/ sleep 5 3. Threshold filter Counter counts when TLP length within the specified range. You can set the @@ -103,4 +103,4 @@ Example usage of perf:: - $# perf stat -e hisi_pcie0_0/rx_mrd_flux,thr_len=0x4,thr_mode=1/ sleep 5 + $# perf stat -e hisi_pcie0_core0/rx_mrd_flux,thr_len=0x4,thr_mode=1/ sleep 5 --- linux-gcp-5.19.0.orig/Documentation/admin-guide/pm/amd-pstate.rst +++ linux-gcp-5.19.0/Documentation/admin-guide/pm/amd-pstate.rst @@ -182,6 +182,7 @@ Then, ``amd-pstate`` updates the desired performance according to the CPU scheduler assigned. +.. _processor_support: Processor Support ======================= @@ -282,21 +283,19 @@ Kernel Module Options for ``amd-pstate`` ========================================= -``shared_mem`` -Use a module param (shared_mem) to enable related processors manually with -**amd_pstate.shared_mem=1**. -Due to the performance issue on the processors with `Shared Memory Support -`_, we disable it presently and will re-enable this by default -once we address performance issue with this solution. +Passive Mode +------------ -To check whether the current processor is using `Full MSR Support `_ -or `Shared Memory Support `_ : :: +``amd_pstate=passive`` - ray@hr-test1:~$ lscpu | grep cppc - Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd cppc arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip pku ospke vaes vpclmulqdq rdpid overflow_recov succor smca fsrm - -If the CPU flags have ``cppc``, then this processor supports `Full MSR Support -`_. Otherwise, it supports `Shared Memory Support `_. +It will be enabled if the ``amd_pstate=passive`` is passed to the kernel in the command line. +In this mode, ``amd_pstate`` driver software specifies a desired QoS target in the CPPC +performance scale as a relative number. This can be expressed as percentage of nominal +performance (infrastructure max). Below the nominal sustained performance level, +desired performance expresses the average performance level of the processor subject +to the Performance Reduction Tolerance register. Above the nominal performance level, +processor must provide at least nominal performance requested and go higher if current +operating conditions allow. ``cpupower`` tool support for ``amd-pstate`` @@ -393,6 +392,76 @@ CPU_005 712 116384 39 49 166 0.7565 9645075 2214891 38431470 25.1 11.646 469 2.496 kworker/5:0-40 CPU_006 712 116408 39 49 166 0.6769 8950227 1839034 37192089 24.06 11.272 470 2.496 kworker/6:0-1264 +Unit Tests for amd-pstate +------------------------- + +``amd-pstate-ut`` is a test module for testing the ``amd-pstate`` driver. + + * It can help all users to verify their processor support (SBIOS/Firmware or Hardware). + + * Kernel can have a basic function test to avoid the kernel regression during the update. + + * We can introduce more functional or performance tests to align the result together, it will benefit power and performance scale optimization. + +1. Test case decriptions + + +---------+--------------------------------+------------------------------------------------------------------------------------+ + | Index | Functions | Description | + +=========+================================+====================================================================================+ + | 0 | amd_pstate_ut_acpi_cpc_valid || Check whether the _CPC object is present in SBIOS. | + | | || | + | | || The detail refer to `Processor Support `_. | + +---------+--------------------------------+------------------------------------------------------------------------------------+ + | 1 | amd_pstate_ut_check_enabled || Check whether AMD P-State is enabled. | + | | || | + | | || AMD P-States and ACPI hardware P-States always can be supported in one processor. | + | | | But AMD P-States has the higher priority and if it is enabled with | + | | | :c:macro:`MSR_AMD_CPPC_ENABLE` or ``cppc_set_enable``, it will respond to the | + | | | request from AMD P-States. | + +---------+--------------------------------+------------------------------------------------------------------------------------+ + | 2 | amd_pstate_ut_check_perf || Check if the each performance values are reasonable. | + | | || highest_perf >= nominal_perf > lowest_nonlinear_perf > lowest_perf > 0. | + +---------+--------------------------------+------------------------------------------------------------------------------------+ + | 3 | amd_pstate_ut_check_freq || Check if the each frequency values and max freq when set support boost mode | + | | | are reasonable. | + | | || max_freq >= nominal_freq > lowest_nonlinear_freq > min_freq > 0 | + | | || If boost is not active but supported, this maximum frequency will be larger than | + | | | the one in ``cpuinfo``. | + +---------+--------------------------------+------------------------------------------------------------------------------------+ + +#. How to execute the tests + + We use test module in the kselftest frameworks to implement it. + We create amd-pstate-ut module and tie it into kselftest.(for + details refer to Linux Kernel Selftests [4]_). + + 1. Build + + + open the :c:macro:`CONFIG_X86_AMD_PSTATE` configuration option. + + set the :c:macro:`CONFIG_X86_AMD_PSTATE_UT` configuration option to M. + + make project + + make selftest :: + + $ cd linux + $ make -C tools/testing/selftests + + #. Installation & Steps :: + + $ make -C tools/testing/selftests install INSTALL_PATH=~/kselftest + $ sudo ./kselftest/run_kselftest.sh -c amd-pstate + TAP version 13 + 1..1 + # selftests: amd-pstate: amd-pstate-ut.sh + # amd-pstate-ut: ok + ok 1 selftests: amd-pstate: amd-pstate-ut.sh + + #. Results :: + + $ dmesg | grep "amd_pstate_ut" | tee log.txt + [12977.570663] amd_pstate_ut: 1 amd_pstate_ut_acpi_cpc_valid success! + [12977.570673] amd_pstate_ut: 2 amd_pstate_ut_check_enabled success! + [12977.571207] amd_pstate_ut: 3 amd_pstate_ut_check_perf success! + [12977.571212] amd_pstate_ut: 4 amd_pstate_ut_check_freq success! Reference =========== @@ -405,3 +474,6 @@ .. [3] Processor Programming Reference (PPR) for AMD Family 19h Model 51h, Revision A1 Processors https://www.amd.com/system/files/TechDocs/56569-A1-PUB.zip + +.. [4] Linux Kernel Selftests, + https://www.kernel.org/doc/html/latest/dev-tools/kselftest.html --- linux-gcp-5.19.0.orig/Documentation/admin-guide/pm/cpuidle.rst +++ linux-gcp-5.19.0/Documentation/admin-guide/pm/cpuidle.rst @@ -612,8 +612,8 @@ by default this way, for example. The other kernel command line parameters controlling CPU idle time management -described below are only relevant for the *x86* architecture and some of -them affect Intel processors only. +described below are only relevant for the *x86* architecture and references +to ``intel_idle`` affect Intel processors only. The *x86* architecture support code recognizes three kernel command line options related to CPU idle time management: ``idle=poll``, ``idle=halt``, @@ -635,10 +635,13 @@ energy-efficiency. Thus using it for performance reasons may not be a good idea at all.] -The ``idle=nomwait`` option disables the ``intel_idle`` driver and causes -``acpi_idle`` to be used (as long as all of the information needed by it is -there in the system's ACPI tables), but it is not allowed to use the -``MWAIT`` instruction of the CPUs to ask the hardware to enter idle states. +The ``idle=nomwait`` option prevents the use of ``MWAIT`` instruction of +the CPU to enter idle states. When this option is used, the ``acpi_idle`` +driver will use the ``HLT`` instruction instead of ``MWAIT``. On systems +running Intel processors, this option disables the ``intel_idle`` driver +and forces the use of the ``acpi_idle`` driver instead. Note that in either +case, ``acpi_idle`` driver will function only if all the information needed +by it is in the system's ACPI tables. In addition to the architecture-level kernel command line options affecting CPU idle time management, there are parameters affecting individual ``CPUIdle`` --- linux-gcp-5.19.0.orig/Documentation/admin-guide/sysctl/kernel.rst +++ linux-gcp-5.19.0/Documentation/admin-guide/sysctl/kernel.rst @@ -592,6 +592,18 @@ Documentation/admin-guide/kernel-parameters.rst). +nmi_wd_lpm_factor (PPC only) +============================ + +Factor to apply to the NMI watchdog timeout (only when ``nmi_watchdog`` is +set to 1). This factor represents the percentage added to +``watchdog_thresh`` when calculating the NMI watchdog timeout during an +LPM. The soft lockup timeout is not impacted. + +A value of 0 means no change. The default value is 200 meaning the NMI +watchdog is set to 30s (based on ``watchdog_thresh`` equal to 10). + + numa_balancing ============== @@ -639,6 +651,15 @@ an oops event is detected. +oops_limit +========== + +Number of kernel oopses after which the kernel should panic when +``panic_on_oops`` is not set. Setting this to 0 disables checking +the count. Setting this to 1 has the same effect as setting +``panic_on_oops=1``. The default value is 10000. + + osrelease, ostype & version =========================== @@ -1286,6 +1307,29 @@ watchdog — if enabled — can detect a hard lockup condition. +split_lock_mitigate (x86 only) +============================== + +On x86, each "split lock" imposes a system-wide performance penalty. On larger +systems, large numbers of split locks from unprivileged users can result in +denials of service to well-behaved and potentially more important users. + +The kernel mitigates these bad users by detecting split locks and imposing +penalties: forcing them to wait and only allowing one core to execute split +locks at a time. + +These mitigations can make those bad applications unbearably slow. Setting +split_lock_mitigate=0 may restore some application performance, but will also +increase system exposure to denial of service attacks from split lock users. + += =================================================================== +0 Disable the mitigation mode - just warns the split lock on kernel log + and exposes the system to denials of service from the split lockers. +1 Enable the mitigation mode (this is the default) - penalizes the split + lockers with intentional performance degradation. += =================================================================== + + stack_erasing ============= @@ -1472,6 +1516,16 @@ 2 Unprivileged calls to ``bpf()`` are disabled = ============================================================= + +warn_limit +========== + +Number of kernel warnings after which the kernel should panic when +``panic_on_warn`` is not set. Setting this to 0 disables checking +the warning count. Setting this to 1 has the same effect as setting +``panic_on_warn=1``. The default value is 0. + + watchdog ======== --- linux-gcp-5.19.0.orig/Documentation/admin-guide/sysctl/net.rst +++ linux-gcp-5.19.0/Documentation/admin-guide/sysctl/net.rst @@ -271,7 +271,7 @@ netdev_max_backlog ------------------ -Maximum number of packets, queued on the INPUT side, when the interface +Maximum number of packets, queued on the INPUT side, when the interface receives packets faster than kernel can process them. netdev_rss_key --- linux-gcp-5.19.0.orig/Documentation/arm64/silicon-errata.rst +++ linux-gcp-5.19.0/Documentation/arm64/silicon-errata.rst @@ -52,6 +52,8 @@ | Allwinner | A64/R18 | UNKNOWN1 | SUN50I_ERRATUM_UNKNOWN1 | +----------------+-----------------+-----------------+-----------------------------+ +----------------+-----------------+-----------------+-----------------------------+ +| ARM | Cortex-A510 | #2457168 | ARM64_ERRATUM_2457168 | ++----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A510 | #2064142 | ARM64_ERRATUM_2064142 | +----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A510 | #2038923 | ARM64_ERRATUM_2038923 | @@ -74,6 +76,8 @@ +----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A55 | #1530923 | ARM64_ERRATUM_1530923 | +----------------+-----------------+-----------------+-----------------------------+ +| ARM | Cortex-A55 | #2441007 | ARM64_ERRATUM_2441007 | ++----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A57 | #832075 | ARM64_ERRATUM_832075 | +----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A57 | #852523 | N/A | @@ -82,10 +86,14 @@ +----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A57 | #1319537 | ARM64_ERRATUM_1319367 | +----------------+-----------------+-----------------+-----------------------------+ +| ARM | Cortex-A57 | #1742098 | ARM64_ERRATUM_1742098 | ++----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A72 | #853709 | N/A | +----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A72 | #1319367 | ARM64_ERRATUM_1319367 | +----------------+-----------------+-----------------+-----------------------------+ +| ARM | Cortex-A72 | #1655431 | ARM64_ERRATUM_1742098 | ++----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A73 | #858921 | ARM64_ERRATUM_858921 | +----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A76 | #1188873,1418040| ARM64_ERRATUM_1418040 | @@ -102,6 +110,8 @@ +----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A510 | #2077057 | ARM64_ERRATUM_2077057 | +----------------+-----------------+-----------------+-----------------------------+ +| ARM | Cortex-A510 | #2441009 | ARM64_ERRATUM_2441009 | ++----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A710 | #2119858 | ARM64_ERRATUM_2119858 | +----------------+-----------------+-----------------+-----------------------------+ | ARM | Cortex-A710 | #2054223 | ARM64_ERRATUM_2054223 | --- linux-gcp-5.19.0.orig/Documentation/atomic_bitops.txt +++ linux-gcp-5.19.0/Documentation/atomic_bitops.txt @@ -59,7 +59,7 @@ - RMW operations that have a return value are fully ordered. - RMW operations that are conditional are unordered on FAILURE, - otherwise the above rules apply. In the case of test_and_{}_bit() operations, + otherwise the above rules apply. In the case of test_and_set_bit_lock(), if the bit in memory is unchanged by the operation then it is deemed to have failed. --- linux-gcp-5.19.0.orig/Documentation/cgroups/namespace.txt +++ linux-gcp-5.19.0/Documentation/cgroups/namespace.txt @@ -0,0 +1,142 @@ + CGroup Namespaces + +CGroup Namespace provides a mechanism to virtualize the view of the +/proc//cgroup file. The CLONE_NEWCGROUP clone-flag can be used with +clone() and unshare() syscalls to create a new cgroup namespace. +The process running inside the cgroup namespace will have its /proc//cgroup +output restricted to cgroupns-root. cgroupns-root is the cgroup of the process +at the time of creation of the cgroup namespace. + +Prior to CGroup Namespace, the /proc//cgroup file used to show complete +path of the cgroup of a process. In a container setup (where a set of cgroups +and namespaces are intended to isolate processes), the /proc//cgroup file +may leak potential system level information to the isolated processes. + +For Example: + $ cat /proc/self/cgroup + 0:cpuset,cpu,cpuacct,memory,devices,freezer,hugetlb:/batchjobs/container_id1 + +The path '/batchjobs/container_id1' can generally be considered as system-data +and its desirable to not expose it to the isolated process. + +CGroup Namespaces can be used to restrict visibility of this path. +For Example: + # Before creating cgroup namespace + $ ls -l /proc/self/ns/cgroup + lrwxrwxrwx 1 root root 0 2014-07-15 10:37 /proc/self/ns/cgroup -> cgroup:[4026531835] + $ cat /proc/self/cgroup + 0:cpuset,cpu,cpuacct,memory,devices,freezer,hugetlb:/batchjobs/container_id1 + + # unshare(CLONE_NEWCGROUP) and exec /bin/bash + $ ~/unshare -c + [ns]$ ls -l /proc/self/ns/cgroup + lrwxrwxrwx 1 root root 0 2014-07-15 10:35 /proc/self/ns/cgroup -> cgroup:[4026532183] + # From within new cgroupns, process sees that its in the root cgroup + [ns]$ cat /proc/self/cgroup + 0:cpuset,cpu,cpuacct,memory,devices,freezer,hugetlb:/ + + # From global cgroupns: + $ cat /proc//cgroup + 0:cpuset,cpu,cpuacct,memory,devices,freezer,hugetlb:/batchjobs/container_id1 + + # Unshare cgroupns along with userns and mountns + # Following calls unshare(CLONE_NEWCGROUP|CLONE_NEWUSER|CLONE_NEWNS), then + # sets up uid/gid map and execs /bin/bash + $ ~/unshare -c -u -m + # Originally, we were in /batchjobs/container_id1 cgroup. Mount our own cgroup + # hierarchy. + [ns]$ mount -t cgroup cgroup /tmp/cgroup + [ns]$ ls -l /tmp/cgroup + total 0 + -r--r--r-- 1 root root 0 2014-10-13 09:32 cgroup.controllers + -r--r--r-- 1 root root 0 2014-10-13 09:32 cgroup.populated + -rw-r--r-- 1 root root 0 2014-10-13 09:25 cgroup.procs + -rw-r--r-- 1 root root 0 2014-10-13 09:32 cgroup.subtree_control + +The cgroupns-root (/batchjobs/container_id1 in above example) becomes the +filesystem root for the namespace specific cgroupfs mount. + +The virtualization of /proc/self/cgroup file combined with restricting +the view of cgroup hierarchy by namespace-private cgroupfs mount +should provide a completely isolated cgroup view inside the container. + +In its current form, the cgroup namespaces patcheset provides following +behavior: + +(1) The 'cgroupns-root' for a cgroup namespace is the cgroup in which + the process calling unshare is running. + For ex. if a process in /batchjobs/container_id1 cgroup calls unshare, + cgroup /batchjobs/container_id1 becomes the cgroupns-root. + For the init_cgroup_ns, this is the real root ('/') cgroup + (identified in code as cgrp_dfl_root.cgrp). + +(2) The cgroupns-root cgroup does not change even if the namespace + creator process later moves to a different cgroup. + $ ~/unshare -c # unshare cgroupns in some cgroup + [ns]$ cat /proc/self/cgroup + 0:cpuset,cpu,cpuacct,memory,devices,freezer,hugetlb:/ + [ns]$ mkdir sub_cgrp_1 + [ns]$ echo 0 > sub_cgrp_1/cgroup.procs + [ns]$ cat /proc/self/cgroup + 0:cpuset,cpu,cpuacct,memory,devices,freezer,hugetlb:/sub_cgrp_1 + +(3) Each process gets its CGROUPNS specific view of /proc//cgroup +(a) Processes running inside the cgroup namespace will be able to see + cgroup paths (in /proc/self/cgroup) only inside their root cgroup + [ns]$ sleep 100000 & # From within unshared cgroupns + [1] 7353 + [ns]$ echo 7353 > sub_cgrp_1/cgroup.procs + [ns]$ cat /proc/7353/cgroup + 0:cpuset,cpu,cpuacct,memory,devices,freezer,hugetlb:/sub_cgrp_1 + +(b) From global cgroupns, the real cgroup path will be visible: + $ cat /proc/7353/cgroup + 0:cpuset,cpu,cpuacct,memory,devices,freezer,hugetlb:/batchjobs/container_id1/sub_cgrp_1 + +(c) From a sibling cgroupns (cgroupns root-ed at a different cgroup), cgroup + path relative to its own cgroupns-root will be shown: + # ns2's cgroupns-root is at '/batchjobs/container_id2' + [ns2]$ cat /proc/7353/cgroup + 0:cpuset,cpu,cpuacct,memory,devices,freezer,hugetlb:/../container_id2/sub_cgrp_1 + + Note that the relative path always starts with '/' to indicate that its + relative to the cgroupns-root of the caller. + +(4) Processes inside a cgroupns can move in-and-out of the cgroupns-root + (if they have proper access to external cgroups). + # From inside cgroupns (with cgroupns-root at /batchjobs/container_id1), and + # assuming that the global hierarchy is still accessible inside cgroupns: + $ cat /proc/7353/cgroup + 0:cpuset,cpu,cpuacct,memory,devices,freezer,hugetlb:/sub_cgrp_1 + $ echo 7353 > batchjobs/container_id2/cgroup.procs + $ cat /proc/7353/cgroup + 0:cpuset,cpu,cpuacct,memory,devices,freezer,hugetlb:/../container_id2 + + Note that this kind of setup is not encouraged. A task inside cgroupns + should only be exposed to its own cgroupns hierarchy. Otherwise it makes + the virtualization of /proc//cgroup less useful. + +(5) Setns to another cgroup namespace is allowed when: + (a) the process has CAP_SYS_ADMIN in its current userns + (b) the process has CAP_SYS_ADMIN in the target cgroupns' userns + No implicit cgroup changes happen with attaching to another cgroupns. It + is expected that the somone moves the attaching process under the target + cgroupns-root. + +(6) When some thread from a multi-threaded process unshares its + cgroup-namespace, the new cgroupns gets applied to the entire process (all + the threads). For the unified-hierarchy this is expected as it only allows + process-level containerization. For the legacy hierarchies this may be + unexpected. So all the threads in the process will have the same cgroup. + +(7) The cgroup namespace is alive as long as there is atleast 1 + process inside it. When the last process exits, the cgroup + namespace is destroyed. The cgroupns-root and the actual cgroups + remain though. + +(8) Namespace specific cgroup hierarchy can be mounted by a process running + inside cgroupns: + $ mount -t cgroup -o __DEVEL__sane_behavior cgroup $MOUNT_POINT + + This will mount the unified cgroup hierarchy with cgroupns-root as the + filesystem root. The process needs CAP_SYS_ADMIN in its userns and mntns. --- linux-gcp-5.19.0.orig/Documentation/dev-tools/gdb-kernel-debugging.rst +++ linux-gcp-5.19.0/Documentation/dev-tools/gdb-kernel-debugging.rst @@ -39,6 +39,10 @@ this mode. In this case, you should build the kernel with CONFIG_RANDOMIZE_BASE disabled if the architecture supports KASLR. +- Build the gdb scripts (required on kernels v5.1 and above):: + + make scripts_gdb + - Enable the gdb stub of QEMU/KVM, either - at VM startup time by appending "-s" to the QEMU command line --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/arm/qcom.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/arm/qcom.yaml @@ -153,28 +153,34 @@ - const: qcom,msm8974 - items: - - enum: - - alcatel,idol347 - - const: qcom,msm8916-mtp/1 - const: qcom,msm8916-mtp + - const: qcom,msm8916-mtp/1 - const: qcom,msm8916 - items: - enum: - - longcheer,l8150 + - alcatel,idol347 - samsung,a3u-eur - samsung,a5u-eur - const: qcom,msm8916 - items: + - const: longcheer,l8150 + - const: qcom,msm8916-v1-qrd/9-v1 + - const: qcom,msm8916 + + - items: - enum: - sony,karin_windy + - const: qcom,apq8094 + + - items: + - enum: - sony,karin-row - sony,satsuki-row - sony,sumire-row - sony,suzuran-row - - qcom,msm8994 - - const: qcom,apq8094 + - const: qcom,msm8994 - items: - enum: --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/clock/qcom,gcc-msm8996.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/clock/qcom,gcc-msm8996.yaml @@ -22,16 +22,32 @@ const: qcom,gcc-msm8996 clocks: + minItems: 3 items: - description: XO source - description: Second XO source - description: Sleep clock source + - description: PCIe 0 PIPE clock (optional) + - description: PCIe 1 PIPE clock (optional) + - description: PCIe 2 PIPE clock (optional) + - description: USB3 PIPE clock (optional) + - description: UFS RX symbol 0 clock (optional) + - description: UFS RX symbol 1 clock (optional) + - description: UFS TX symbol 0 clock (optional) clock-names: + minItems: 3 items: - const: cxo - const: cxo2 - const: sleep_clk + - const: pcie_0_pipe_clk_src + - const: pcie_1_pipe_clk_src + - const: pcie_2_pipe_clk_src + - const: usb3_phy_pipe_clk_src + - const: ufs_rx_symbol_0_clk_src + - const: ufs_rx_symbol_1_clk_src + - const: ufs_tx_symbol_0_clk_src '#clock-cells': const: 1 --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/clock/qcom,sc7280-lpasscorecc.yaml @@ -22,6 +22,8 @@ clock-names: true + reg: true + compatible: enum: - qcom,sc7280-lpassaoncc @@ -38,8 +40,8 @@ '#power-domain-cells': const: 1 - reg: - maxItems: 1 + '#reset-cells': + const: 1 required: - compatible @@ -69,6 +71,11 @@ items: - const: bi_tcxo - const: lpass_aon_cc_main_rcg_clk_src + + reg: + items: + - description: lpass core cc register + - description: lpass audio csr register - if: properties: compatible: @@ -90,6 +97,8 @@ - const: bi_tcxo_ao - const: iface + reg: + maxItems: 1 - if: properties: compatible: @@ -108,6 +117,8 @@ items: - const: bi_tcxo + reg: + maxItems: 1 examples: - | #include @@ -116,13 +127,15 @@ #include lpass_audiocc: clock-controller@3300000 { compatible = "qcom,sc7280-lpassaudiocc"; - reg = <0x3300000 0x30000>; + reg = <0x3300000 0x30000>, + <0x32a9000 0x1000>; clocks = <&rpmhcc RPMH_CXO_CLK>, <&lpass_aon LPASS_AON_CC_MAIN_RCG_CLK_SRC>; clock-names = "bi_tcxo", "lpass_aon_cc_main_rcg_clk_src"; power-domains = <&lpass_aon LPASS_AON_CC_LPASS_AUDIO_HM_GDSC>; #clock-cells = <1>; #power-domain-cells = <1>; + #reset-cells = <1>; }; - | --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml @@ -233,6 +233,7 @@ - allwinner,sun8i-a83t-tcon-lcd - allwinner,sun8i-v3s-tcon - allwinner,sun9i-a80-tcon-lcd + - allwinner,sun20i-d1-tcon-lcd then: properties: @@ -252,6 +253,7 @@ - allwinner,sun8i-a83t-tcon-tv - allwinner,sun8i-r40-tcon-tv - allwinner,sun9i-a80-tcon-tv + - allwinner,sun20i-d1-tcon-tv then: properties: @@ -278,6 +280,7 @@ - allwinner,sun9i-a80-tcon-lcd - allwinner,sun4i-a10-tcon - allwinner,sun8i-a83t-tcon-lcd + - allwinner,sun20i-d1-tcon-lcd then: required: @@ -294,6 +297,7 @@ - allwinner,sun8i-a23-tcon - allwinner,sun8i-a33-tcon - allwinner,sun8i-a83t-tcon-lcd + - allwinner,sun20i-d1-tcon-lcd then: properties: --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml @@ -24,6 +24,15 @@ clock-names: const: ldb + reg: + minItems: 2 + maxItems: 2 + + reg-names: + items: + - const: ldb + - const: lvds + ports: $ref: /schemas/graph.yaml#/properties/ports @@ -56,10 +65,15 @@ #include blk-ctrl { - bridge { + #address-cells = <1>; + #size-cells = <1>; + + bridge@5c { compatible = "fsl,imx8mp-ldb"; clocks = <&clk IMX8MP_CLK_MEDIA_LDB>; clock-names = "ldb"; + reg = <0x5c 0x4>, <0x128 0x4>; + reg-names = "ldb", "lvds"; ports { #address-cells = <1>; --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/display/mediatek/mediatek,ccorr.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/display/mediatek/mediatek,ccorr.yaml @@ -32,7 +32,7 @@ - items: - enum: - mediatek,mt8186-disp-ccorr - - const: mediatek,mt8183-disp-ccorr + - const: mediatek,mt8192-disp-ccorr reg: maxItems: 1 --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml @@ -32,7 +32,7 @@ - description: Display byte clock - description: Display byte interface clock - description: Display pixel clock - - description: Display escape clock + - description: Display core clock - description: Display AHB clock - description: Display AXI clock @@ -136,8 +136,6 @@ - phy-names - assigned-clocks - assigned-clock-parents - - power-domains - - operating-points-v2 - ports additionalProperties: false --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/display/msm/dsi-phy-10nm.yaml @@ -71,7 +71,6 @@ - compatible - reg - reg-names - - vdds-supply unevaluatedProperties: false --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/display/msm/dsi-phy-14nm.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/display/msm/dsi-phy-14nm.yaml @@ -38,7 +38,6 @@ - compatible - reg - reg-names - - vcca-supply unevaluatedProperties: false --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/display/msm/dsi-phy-28nm.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/display/msm/dsi-phy-28nm.yaml @@ -34,6 +34,10 @@ vddio-supply: description: Phandle to vdd-io regulator device node. + qcom,dsi-phy-regulator-ldo-mode: + type: boolean + description: Indicates if the LDO mode PHY regulator is wanted. + required: - compatible - reg --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/dma/moxa,moxart-dma.txt +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/dma/moxa,moxart-dma.txt @@ -34,8 +34,8 @@ Use specific request line passing from dma For example, MMC request line is 5 - sdhci: sdhci@98e00000 { - compatible = "moxa,moxart-sdhci"; + mmc: mmc@98e00000 { + compatible = "moxa,moxart-mmc"; reg = <0x98e00000 0x5C>; interrupts = <5 0>; clocks = <&clk_apb>; --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/gpio/gpio-zynq.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/gpio/gpio-zynq.yaml @@ -11,7 +11,11 @@ properties: compatible: - const: xlnx,zynq-gpio-1.0 + enum: + - xlnx,zynq-gpio-1.0 + - xlnx,zynqmp-gpio-1.0 + - xlnx,versal-gpio-1.0 + - xlnx,pmc-gpio-1.0 reg: maxItems: 1 --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/iio/adc/aspeed,ast2600-adc.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/iio/adc/aspeed,ast2600-adc.yaml @@ -62,13 +62,6 @@ description: Inform the driver that last channel will be used to sensor battery. - aspeed,trim-data-valid: - type: boolean - description: | - The ADC reference voltage can be calibrated to obtain the trimming - data which will be stored in otp. This property informs the driver that - the data store in the otp is valid. - required: - compatible - reg --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/iio/gyroscope/bosch,bmg160.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/iio/gyroscope/bosch,bmg160.yaml @@ -24,8 +24,10 @@ interrupts: minItems: 1 + maxItems: 2 description: Should be configured with type IRQ_TYPE_EDGE_RISING. + If two interrupts are provided, expected order is INT1 and INT2. required: - compatible --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/input/azoteq,iqs7222.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/input/azoteq,iqs7222.yaml @@ -37,10 +37,6 @@ device is temporarily held in hardware reset prior to initialization if this property is present. - azoteq,rf-filt-enable: - type: boolean - description: Enables the device's internal RF filter. - azoteq,max-counts: $ref: /schemas/types.yaml#/definitions/uint32 enum: [0, 1, 2, 3] @@ -481,9 +477,6 @@ Specifies whether the event is to be interpreted as a key (1) or a switch (5). - required: - - linux,code - additionalProperties: false dependencies: @@ -509,7 +502,7 @@ azoteq,slider-size: $ref: /schemas/types.yaml#/definitions/uint32 - minimum: 0 + minimum: 1 maximum: 65535 description: Specifies the slider's one-dimensional resolution, equal to the @@ -537,9 +530,8 @@ azoteq,bottom-speed: $ref: /schemas/types.yaml#/definitions/uint32 - multipleOf: 4 minimum: 0 - maximum: 1020 + maximum: 255 description: Specifies the speed of movement after which coordinate filtering is linearly reduced. @@ -585,9 +577,9 @@ description: Numeric key code associated with the event. azoteq,gesture-max-ms: - multipleOf: 4 + multipleOf: 16 minimum: 0 - maximum: 1020 + maximum: 4080 description: Specifies the length of time (in ms) within which a tap, swipe or flick gesture must be completed in order to be acknowledged @@ -595,9 +587,9 @@ gesture applies to all remaining swipe or flick gestures. azoteq,gesture-min-ms: - multipleOf: 4 + multipleOf: 16 minimum: 0 - maximum: 124 + maximum: 496 description: Specifies the length of time (in ms) for which a tap gesture must be held in order to be acknowledged by the device. @@ -616,24 +608,20 @@ azoteq,gpio-select: $ref: /schemas/types.yaml#/definitions/uint32-array minItems: 1 - maxItems: 1 + maxItems: 3 items: minimum: 0 - maximum: 0 + maximum: 2 description: | - Specifies an individual GPIO mapped to a tap, swipe or flick - gesture as follows: + Specifies one or more GPIO mapped to the event as follows: 0: GPIO0 - 1: GPIO3 (reserved) - 2: GPIO4 (reserved) + 1: GPIO3 (IQS7222C only) + 2: GPIO4 (IQS7222C only) Note that although multiple events can be mapped to a single GPIO, they must all be of the same type (proximity, touch or slider gesture). - required: - - linux,code - additionalProperties: false required: @@ -704,12 +692,21 @@ properties: azoteq,slider-size: multipleOf: 16 + minimum: 16 maximum: 4080 azoteq,top-speed: multipleOf: 4 maximum: 1020 + patternProperties: + "^event-(press|tap|(swipe|flick)-(pos|neg))$": + properties: + azoteq,gpio-select: + maxItems: 1 + items: + maximum: 0 + else: patternProperties: "^channel-([0-9]|1[0-9])$": @@ -726,8 +723,6 @@ azoteq,gesture-dist: false - azoteq,gpio-select: false - required: - compatible - reg @@ -940,14 +935,14 @@ event-tap { linux,code = ; - azoteq,gesture-max-ms = <600>; - azoteq,gesture-min-ms = <24>; + azoteq,gesture-max-ms = <400>; + azoteq,gesture-min-ms = <32>; }; event-flick-pos { linux,code = ; - azoteq,gesture-max-ms = <600>; - azoteq,gesture-dist = <816>; + azoteq,gesture-max-ms = <800>; + azoteq,gesture-dist = <800>; }; event-flick-neg { --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/interrupt-controller/apple,aic.yaml @@ -96,7 +96,7 @@ Documentation/devicetree/bindings/arm/cpus.yaml). required: - - fiq-index + - apple,fiq-index - cpus required: --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/leds/leds-pwm-multicolor.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/leds/leds-pwm-multicolor.yaml @@ -33,6 +33,10 @@ pwm-names: true + active-low: + description: For PWMs where the LED is wired to supply rather than ground. + type: boolean + color: true required: --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/mmc/sdhci-msm.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/mmc/sdhci-msm.yaml @@ -17,6 +17,9 @@ properties: compatible: oneOf: + - enum: + - qcom,sdhci-msm-v4 + deprecated: true - items: - enum: - qcom,apq8084-sdhci @@ -27,6 +30,9 @@ - qcom,msm8992-sdhci - qcom,msm8994-sdhci - qcom,msm8996-sdhci + - const: qcom,sdhci-msm-v4 # for sdcc versions less than 5.0 + - items: + - enum: - qcom,qcs404-sdhci - qcom,sc7180-sdhci - qcom,sc7280-sdhci @@ -38,12 +44,7 @@ - qcom,sm6350-sdhci - qcom,sm8150-sdhci - qcom,sm8250-sdhci - - enum: - - qcom,sdhci-msm-v4 # for sdcc versions less than 5.0 - - qcom,sdhci-msm-v5 # for sdcc version 5.0 - - items: - - const: qcom,sdhci-msm-v4 # Deprecated (only for backward compatibility) - # for sdcc versions less than 5.0 + - const: qcom,sdhci-msm-v5 # for sdcc version 5.0 reg: minItems: 1 @@ -53,6 +54,28 @@ - description: CQE register map - description: Inline Crypto Engine register map + reg-names: + minItems: 1 + maxItems: 4 + oneOf: + - items: + - const: hc_mem + - items: + - const: hc_mem + - const: core_mem + - items: + - const: hc_mem + - const: cqe_mem + - items: + - const: hc_mem + - const: cqe_mem + - const: ice_mem + - items: + - const: hc_mem + - const: core_mem + - const: cqe_mem + - const: ice_mem + clocks: minItems: 3 items: @@ -121,6 +144,16 @@ description: A phandle to sdhci power domain node maxItems: 1 + mmc-ddr-1_8v: true + + mmc-hs200-1_8v: true + + mmc-hs400-1_8v: true + + bus-width: true + + max-frequency: true + patternProperties: '^opp-table(-[a-z0-9]+)?$': if: @@ -140,7 +173,10 @@ - clock-names - interrupts -additionalProperties: true +allOf: + - $ref: mmc-controller.yaml# + +unevaluatedProperties: false examples: - | @@ -149,7 +185,7 @@ #include #include - sdhc_2: sdhci@8804000 { + sdhc_2: mmc@8804000 { compatible = "qcom,sm8250-sdhci", "qcom,sdhci-msm-v5"; reg = <0 0x08804000 0 0x1000>; --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/net/broadcom-bluetooth.yaml @@ -23,6 +23,7 @@ - brcm,bcm4345c5 - brcm,bcm43540-bt - brcm,bcm4335a0 + - brcm,bcm4349-bt shutdown-gpios: maxItems: 1 --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/net/engleder,tsnep.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/net/engleder,tsnep.yaml @@ -28,7 +28,7 @@ nvmem-cells: true - nvmem-cells-names: true + nvmem-cell-names: true phy-connection-type: enum: --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/opp/opp-v2-kryo-cpu.yaml @@ -98,6 +98,8 @@ capacity-dmips-mhz = <1024>; clocks = <&kryocc 0>; operating-points-v2 = <&cluster0_opp>; + power-domains = <&cpr>; + power-domain-names = "cpr"; #cooling-cells = <2>; next-level-cache = <&L2_0>; L2_0: l2-cache { @@ -115,6 +117,8 @@ capacity-dmips-mhz = <1024>; clocks = <&kryocc 0>; operating-points-v2 = <&cluster0_opp>; + power-domains = <&cpr>; + power-domain-names = "cpr"; #cooling-cells = <2>; next-level-cache = <&L2_0>; }; @@ -128,6 +132,8 @@ capacity-dmips-mhz = <1024>; clocks = <&kryocc 1>; operating-points-v2 = <&cluster1_opp>; + power-domains = <&cpr>; + power-domain-names = "cpr"; #cooling-cells = <2>; next-level-cache = <&L2_1>; L2_1: l2-cache { @@ -145,6 +151,8 @@ capacity-dmips-mhz = <1024>; clocks = <&kryocc 1>; operating-points-v2 = <&cluster1_opp>; + power-domains = <&cpr>; + power-domain-names = "cpr"; #cooling-cells = <2>; next-level-cache = <&L2_1>; }; @@ -182,18 +190,21 @@ opp-microvolt = <905000 905000 1140000>; opp-supported-hw = <0x7>; clock-latency-ns = <200000>; + required-opps = <&cpr_opp1>; }; opp-1401600000 { opp-hz = /bits/ 64 <1401600000>; opp-microvolt = <1140000 905000 1140000>; opp-supported-hw = <0x5>; clock-latency-ns = <200000>; + required-opps = <&cpr_opp2>; }; opp-1593600000 { opp-hz = /bits/ 64 <1593600000>; opp-microvolt = <1140000 905000 1140000>; opp-supported-hw = <0x1>; clock-latency-ns = <200000>; + required-opps = <&cpr_opp3>; }; }; @@ -207,24 +218,28 @@ opp-microvolt = <905000 905000 1140000>; opp-supported-hw = <0x7>; clock-latency-ns = <200000>; + required-opps = <&cpr_opp1>; }; opp-1804800000 { opp-hz = /bits/ 64 <1804800000>; opp-microvolt = <1140000 905000 1140000>; opp-supported-hw = <0x6>; clock-latency-ns = <200000>; + required-opps = <&cpr_opp4>; }; opp-1900800000 { opp-hz = /bits/ 64 <1900800000>; opp-microvolt = <1140000 905000 1140000>; opp-supported-hw = <0x4>; clock-latency-ns = <200000>; + required-opps = <&cpr_opp5>; }; opp-2150400000 { opp-hz = /bits/ 64 <2150400000>; opp-microvolt = <1140000 905000 1140000>; opp-supported-hw = <0x1>; clock-latency-ns = <200000>; + required-opps = <&cpr_opp6>; }; }; --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/pci/fsl,imx6q-pcie.yaml @@ -14,9 +14,6 @@ This PCIe host controller is based on the Synopsys DesignWare PCIe IP and thus inherits all the common properties defined in snps,dw-pcie.yaml. -allOf: - - $ref: /schemas/pci/snps,dw-pcie.yaml# - properties: compatible: enum: @@ -61,7 +58,7 @@ - const: pcie - const: pcie_bus - const: pcie_phy - - const: pcie_inbound_axi for imx6sx-pcie, pcie_aux for imx8mq-pcie + - enum: [ pcie_inbound_axi, pcie_aux ] num-lanes: const: 1 @@ -174,6 +171,47 @@ - clocks - clock-names +allOf: + - $ref: /schemas/pci/snps,dw-pcie.yaml# + - if: + properties: + compatible: + contains: + const: fsl,imx6sx-pcie + then: + properties: + clock-names: + items: + - {} + - {} + - {} + - const: pcie_inbound_axi + - if: + properties: + compatible: + contains: + const: fsl,imx8mq-pcie + then: + properties: + clock-names: + items: + - {} + - {} + - {} + - const: pcie_aux + - if: + properties: + compatible: + not: + contains: + enum: + - fsl,imx6sx-pcie + - fsl,imx8mq-pcie + then: + properties: + clock-names: + maxItems: 3 + unevaluatedProperties: false examples: --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/pci/qcom,pcie.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/pci/qcom,pcie.yaml @@ -614,7 +614,7 @@ - if: not: properties: - compatibles: + compatible: contains: enum: - qcom,pcie-msm8996 --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/pci/toshiba,visconti-pcie.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/pci/toshiba,visconti-pcie.yaml @@ -36,7 +36,7 @@ - const: mpu interrupts: - maxItems: 1 + maxItems: 2 clocks: items: @@ -94,8 +94,9 @@ #interrupt-cells = <1>; ranges = <0x81000000 0 0x40000000 0 0x40000000 0 0x00010000>, <0x82000000 0 0x50000000 0 0x50000000 0 0x20000000>; - interrupts = ; - interrupt-names = "intr"; + interrupts = , + ; + interrupt-names = "msi", "intr"; interrupt-map-mask = <0 0 0 7>; interrupt-map = <0 0 0 1 &gic GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/phy/amlogic,g12a-usb2-phy.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/phy/amlogic,g12a-usb2-phy.yaml @@ -0,0 +1,78 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +# Copyright 2019 BayLibre, SAS +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/phy/amlogic,g12a-usb2-phy.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#" + +title: Amlogic G12A USB2 PHY + +maintainers: + - Neil Armstrong + +properties: + compatible: + enum: + - amlogic,g12a-usb2-phy + - amlogic,a1-usb2-phy + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + + clock-names: + items: + - const: xtal + + resets: + maxItems: 1 + + reset-names: + items: + - const: phy + + "#phy-cells": + const: 0 + + phy-supply: + description: + Phandle to a regulator that provides power to the PHY. This + regulator will be managed during the PHY power on/off sequence. + +required: + - compatible + - reg + - clocks + - clock-names + - resets + - reset-names + - "#phy-cells" + +if: + properties: + compatible: + enum: + - amlogic,meson-a1-usb-ctrl + +then: + properties: + power-domains: + maxItems: 1 + required: + - power-domains + +additionalProperties: false + +examples: + - | + phy@36000 { + compatible = "amlogic,g12a-usb2-phy"; + reg = <0x36000 0x2000>; + clocks = <&xtal>; + clock-names = "xtal"; + resets = <&phy_reset>; + reset-names = "phy"; + #phy-cells = <0>; + }; --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/phy/amlogic,g12a-usb3-pcie-phy.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/phy/amlogic,g12a-usb3-pcie-phy.yaml @@ -0,0 +1,59 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +# Copyright 2019 BayLibre, SAS +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/phy/amlogic,g12a-usb3-pcie-phy.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#" + +title: Amlogic G12A USB3 + PCIE Combo PHY + +maintainers: + - Neil Armstrong + +properties: + compatible: + enum: + - amlogic,g12a-usb3-pcie-phy + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + + clock-names: + items: + - const: ref_clk + + resets: + maxItems: 1 + + reset-names: + items: + - const: phy + + "#phy-cells": + const: 1 + +required: + - compatible + - reg + - clocks + - clock-names + - resets + - reset-names + - "#phy-cells" + +additionalProperties: false + +examples: + - | + phy@46000 { + compatible = "amlogic,g12a-usb3-pcie-phy"; + reg = <0x46000 0x2000>; + clocks = <&ref_clk>; + clock-names = "ref_clk"; + resets = <&phy_reset>; + reset-names = "phy"; + #phy-cells = <1>; + }; --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/pinctrl/mediatek,mt7986-pinctrl.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/pinctrl/mediatek,mt7986-pinctrl.yaml @@ -87,6 +87,8 @@ "wifi_led" "led" 1, 2 "i2c" "i2c" 3, 4 "uart1_0" "uart" 7, 8, 9, 10 + "uart1_rx_tx" "uart" 42, 43 + "uart1_cts_rts" "uart" 44, 45 "pcie_clk" "pcie" 9 "pcie_wake" "pcie" 10 "spi1_0" "spi" 11, 12, 13, 14 @@ -98,9 +100,11 @@ "emmc_45" "emmc" 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 "spi1_1" "spi" 23, 24, 25, 26 - "uart1_2" "uart" 29, 30, 31, 32 + "uart1_2_rx_tx" "uart" 29, 30 + "uart1_2_cts_rts" "uart" 31, 32 "uart1_1" "uart" 23, 24, 25, 26 - "uart2_0" "uart" 29, 30, 31, 32 + "uart2_0_rx_tx" "uart" 29, 30 + "uart2_0_cts_rts" "uart" 31, 32 "spi0" "spi" 33, 34, 35, 36 "spi0_wp_hold" "spi" 37, 38 "uart1_3_rx_tx" "uart" 35, 36 @@ -153,7 +157,7 @@ then: properties: groups: - enum: [emmc, emmc_rst] + enum: [emmc_45, emmc_51] - if: properties: function: @@ -217,8 +221,12 @@ then: properties: groups: - enum: [uart1_0, uart1_1, uart1_2, uart1_3_rx_tx, - uart1_3_cts_rts, uart2_0, uart2_1, uart0, uart1, uart2] + items: + enum: [uart1_0, uart1_rx_tx, uart1_cts_rts, uart1_1, + uart1_2_rx_tx, uart1_2_cts_rts, uart1_3_rx_tx, + uart1_3_cts_rts, uart2_0_rx_tx, uart2_0_cts_rts, + uart2_1, uart0, uart1, uart2] + maxItems: 2 - if: properties: function: @@ -348,6 +356,27 @@ interrupt-parent = <&gic>; #interrupt-cells = <2>; + pcie_pins: pcie-pins { + mux { + function = "pcie"; + groups = "pcie_clk", "pcie_wake", "pcie_pereset"; + }; + }; + + pwm_pins: pwm-pins { + mux { + function = "pwm"; + groups = "pwm0", "pwm1_0"; + }; + }; + + spi0_pins: spi0-pins { + mux { + function = "spi"; + groups = "spi0", "spi0_wp_hold"; + }; + }; + uart1_pins: uart1-pins { mux { function = "uart"; @@ -355,6 +384,13 @@ }; }; + uart1_3_pins: uart1-3-pins { + mux { + function = "uart"; + groups = "uart1_3_rx_tx", "uart1_3_cts_rts"; + }; + }; + uart2_pins: uart2-pins { mux { function = "uart"; --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8186.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8186.yaml @@ -105,31 +105,8 @@ drive-strength: enum: [2, 4, 6, 8, 10, 12, 14, 16] - mediatek,drive-strength-adv: - description: | - Describe the specific driving setup property. - For I2C pins, the existing generic driving setup can only support - 2/4/6/8/10/12/14/16mA driving. But in specific driving setup, they - can support 0.125/0.25/0.5/1mA adjustment. If we enable specific - driving setup, the existing generic setup will be disabled. - The specific driving setup is controlled by E1E0EN. - When E1=0/E0=0, the strength is 0.125mA. - When E1=0/E0=1, the strength is 0.25mA. - When E1=1/E0=0, the strength is 0.5mA. - When E1=1/E0=1, the strength is 1mA. - EN is used to enable or disable the specific driving setup. - Valid arguments are described as below: - 0: (E1, E0, EN) = (0, 0, 0) - 1: (E1, E0, EN) = (0, 0, 1) - 2: (E1, E0, EN) = (0, 1, 0) - 3: (E1, E0, EN) = (0, 1, 1) - 4: (E1, E0, EN) = (1, 0, 0) - 5: (E1, E0, EN) = (1, 0, 1) - 6: (E1, E0, EN) = (1, 1, 0) - 7: (E1, E0, EN) = (1, 1, 1) - So the valid arguments are from 0 to 7. - $ref: /schemas/types.yaml#/definitions/uint32 - enum: [0, 1, 2, 3, 4, 5, 6, 7] + drive-strength-microamp: + enum: [125, 250, 500, 1000] bias-pull-down: oneOf: @@ -291,7 +268,7 @@ pinmux = , ; bias-pull-up = ; - mediatek,drive-strength-adv = <7>; + drive-strength-microamp = <1000>; }; }; }; --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8192.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8192.yaml @@ -80,46 +80,24 @@ dt-bindings/pinctrl/mt65xx.h. It can only support 2/4/6/8/10/12/14/16mA in mt8192. enum: [2, 4, 6, 8, 10, 12, 14, 16] - mediatek,drive-strength-adv: - description: | - Describe the specific driving setup property. - For I2C pins, the existing generic driving setup can only support - 2/4/6/8/10/12/14/16mA driving. But in specific driving setup, they - can support 0.125/0.25/0.5/1mA adjustment. If we enable specific - driving setup, the existing generic setup will be disabled. - The specific driving setup is controlled by E1E0EN. - When E1=0/E0=0, the strength is 0.125mA. - When E1=0/E0=1, the strength is 0.25mA. - When E1=1/E0=0, the strength is 0.5mA. - When E1=1/E0=1, the strength is 1mA. - EN is used to enable or disable the specific driving setup. - Valid arguments are described as below: - 0: (E1, E0, EN) = (0, 0, 0) - 1: (E1, E0, EN) = (0, 0, 1) - 2: (E1, E0, EN) = (0, 1, 0) - 3: (E1, E0, EN) = (0, 1, 1) - 4: (E1, E0, EN) = (1, 0, 0) - 5: (E1, E0, EN) = (1, 0, 1) - 6: (E1, E0, EN) = (1, 1, 0) - 7: (E1, E0, EN) = (1, 1, 1) - So the valid arguments are from 0 to 7. - $ref: /schemas/types.yaml#/definitions/uint32 - enum: [0, 1, 2, 3, 4, 5, 6, 7] + drive-strength-microamp: + enum: [125, 250, 500, 1000] - mediatek,pull-up-adv: - description: | - Pull up settings for 2 pull resistors, R0 and R1. User can - configure those special pins. Valid arguments are described as below: - 0: (R1, R0) = (0, 0) which means R1 disabled and R0 disabled. - 1: (R1, R0) = (0, 1) which means R1 disabled and R0 enabled. - 2: (R1, R0) = (1, 0) which means R1 enabled and R0 disabled. - 3: (R1, R0) = (1, 1) which means R1 enabled and R0 enabled. - $ref: /schemas/types.yaml#/definitions/uint32 - enum: [0, 1, 2, 3] - - bias-pull-down: true - - bias-pull-up: true + bias-pull-down: + oneOf: + - type: boolean + description: normal pull down. + - enum: [100, 101, 102, 103] + description: PUPD/R1/R0 pull down type. See MTK_PUPD_SET_R1R0_ + defines in dt-bindings/pinctrl/mt65xx.h. + + bias-pull-up: + oneOf: + - type: boolean + description: normal pull up. + - enum: [100, 101, 102, 103] + description: PUPD/R1/R0 pull up type. See MTK_PUPD_SET_R1R0_ + defines in dt-bindings/pinctrl/mt65xx.h. bias-disable: true --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/pinctrl/pinctrl-mt8195.yaml @@ -49,7 +49,7 @@ description: The interrupt outputs to sysirq. maxItems: 1 - mediatek,rsel_resistance_in_si_unit: + mediatek,rsel-resistance-in-si-unit: type: boolean description: | Identifying i2c pins pull up/down type which is RSEL. It can support @@ -98,31 +98,8 @@ drive-strength: enum: [2, 4, 6, 8, 10, 12, 14, 16] - mediatek,drive-strength-adv: - description: | - Describe the specific driving setup property. - For I2C pins, the existing generic driving setup can only support - 2/4/6/8/10/12/14/16mA driving. But in specific driving setup, they - can support 0.125/0.25/0.5/1mA adjustment. If we enable specific - driving setup, the existing generic setup will be disabled. - The specific driving setup is controlled by E1E0EN. - When E1=0/E0=0, the strength is 0.125mA. - When E1=0/E0=1, the strength is 0.25mA. - When E1=1/E0=0, the strength is 0.5mA. - When E1=1/E0=1, the strength is 1mA. - EN is used to enable or disable the specific driving setup. - Valid arguments are described as below: - 0: (E1, E0, EN) = (0, 0, 0) - 1: (E1, E0, EN) = (0, 0, 1) - 2: (E1, E0, EN) = (0, 1, 0) - 3: (E1, E0, EN) = (0, 1, 1) - 4: (E1, E0, EN) = (1, 0, 0) - 5: (E1, E0, EN) = (1, 0, 1) - 6: (E1, E0, EN) = (1, 1, 0) - 7: (E1, E0, EN) = (1, 1, 1) - So the valid arguments are from 0 to 7. - $ref: /schemas/types.yaml#/definitions/uint32 - enum: [0, 1, 2, 3, 4, 5, 6, 7] + drive-strength-microamp: + enum: [125, 250, 500, 1000] bias-pull-down: oneOf: @@ -142,7 +119,7 @@ "MTK_PUPD_SET_R1R0_11" define in mt8195. For pull down type is RSEL, it can add RSEL define & resistance value(ohm) to set different resistance by identifying property - "mediatek,rsel_resistance_in_si_unit". + "mediatek,rsel-resistance-in-si-unit". It can support "MTK_PULL_SET_RSEL_000" & "MTK_PULL_SET_RSEL_001" & "MTK_PULL_SET_RSEL_010" & "MTK_PULL_SET_RSEL_011" & "MTK_PULL_SET_RSEL_100" & "MTK_PULL_SET_RSEL_101" @@ -161,7 +138,7 @@ }; An example of using si unit resistance value(ohm): &pio { - mediatek,rsel_resistance_in_si_unit; + mediatek,rsel-resistance-in-si-unit; } pincontroller { i2c0_pin { @@ -190,7 +167,7 @@ "MTK_PUPD_SET_R1R0_11" define in mt8195. For pull up type is RSEL, it can add RSEL define & resistance value(ohm) to set different resistance by identifying property - "mediatek,rsel_resistance_in_si_unit". + "mediatek,rsel-resistance-in-si-unit". It can support "MTK_PULL_SET_RSEL_000" & "MTK_PULL_SET_RSEL_001" & "MTK_PULL_SET_RSEL_010" & "MTK_PULL_SET_RSEL_011" & "MTK_PULL_SET_RSEL_100" & "MTK_PULL_SET_RSEL_101" @@ -209,7 +186,7 @@ }; An example of using si unit resistance value(ohm): &pio { - mediatek,rsel_resistance_in_si_unit; + mediatek,rsel-resistance-in-si-unit; } pincontroller { i2c0-pins { --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/pwm/microchip,corepwm.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/pwm/microchip,corepwm.yaml @@ -30,7 +30,9 @@ maxItems: 1 "#pwm-cells": - const: 2 + enum: [2, 3] + description: + The only flag supported by the controller is PWM_POLARITY_INVERTED. microchip,sync-update-mask: description: | --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/regulator/nxp,pca9450-regulator.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/regulator/nxp,pca9450-regulator.yaml @@ -47,12 +47,6 @@ description: Properties for single LDO regulator. - properties: - regulator-name: - pattern: "^LDO[1-5]$" - description: - should be "LDO1", ..., "LDO5" - unevaluatedProperties: false "^BUCK[1-6]$": @@ -62,11 +56,6 @@ Properties for single BUCK regulator. properties: - regulator-name: - pattern: "^BUCK[1-6]$" - description: - should be "BUCK1", ..., "BUCK6" - nxp,dvs-run-voltage: $ref: "/schemas/types.yaml#/definitions/uint32" minimum: 600000 --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/regulator/samsung,s2mps14.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/regulator/samsung,s2mps14.yaml @@ -19,8 +19,8 @@ additional information and example. patternProperties: - # 25 LDOs - "^LDO([1-9]|[1][0-9]|2[0-5])$": + # 25 LDOs, without LDO10-12 + "^LDO([1-9]|1[3-9]|2[0-5])$": type: object $ref: regulator.yaml# unevaluatedProperties: false @@ -29,6 +29,23 @@ required: - regulator-name + + "^LDO(1[0-2])$": + type: object + $ref: regulator.yaml# + unevaluatedProperties: false + description: + Properties for single LDO regulator. + + properties: + samsung,ext-control-gpios: + maxItems: 1 + description: + LDO10, LDO11 and LDO12 can be configured to external control over + GPIO. + + required: + - regulator-name # 5 bucks "^BUCK[1-5]$": --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/riscv/sifive-l2-cache.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/riscv/sifive-l2-cache.yaml @@ -46,7 +46,7 @@ const: 2 cache-sets: - const: 1024 + enum: [1024, 2048] cache-size: const: 2097152 @@ -84,6 +84,8 @@ description: | Must contain entries for DirError, DataError and DataFail signals. maxItems: 3 + cache-sets: + const: 1024 else: properties: @@ -91,6 +93,8 @@ description: | Must contain entries for DirError, DataError, DataFail, DirFail signals. minItems: 4 + cache-sets: + const: 2048 additionalProperties: false --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/sound/amlogic,gx-sound-card.yaml @@ -61,7 +61,7 @@ description: phandle of the CPU DAI patternProperties: - "^codec-[0-9]+$": + "^codec(-[0-9]+)?$": type: object description: |- Codecs: --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/sound/qcom,wcd9335.txt +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/sound/qcom,wcd9335.txt @@ -109,7 +109,7 @@ reg = <1 0>; interrupts = <&msmgpio 54 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "intr2" - reset-gpios = <&msmgpio 64 0>; + reset-gpios = <&msmgpio 64 GPIO_ACTIVE_LOW>; slim-ifc-dev = <&wc9335_ifd>; clock-names = "mclk", "native"; clocks = <&rpmcc RPM_SMD_DIV_CLK1>, --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/sound/rt5682.txt +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/sound/rt5682.txt @@ -46,7 +46,7 @@ - realtek,dmic-clk-driving-high : Set the high driving of the DMIC clock out. -- #sound-dai-cells: Should be set to '<0>'. +- #sound-dai-cells: Should be set to '<1>'. Pins on the device (for linking into audio routes) for RT5682: --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/spi/qcom,spi-geni-qcom.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/spi/qcom,spi-geni-qcom.yaml @@ -45,12 +45,15 @@ - const: rx interconnects: - maxItems: 2 + minItems: 2 + maxItems: 3 interconnect-names: + minItems: 2 items: - const: qup-core - const: qup-config + - const: qup-memory interrupts: maxItems: 1 --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/spi/spi-cadence.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/spi/spi-cadence.yaml @@ -49,6 +49,13 @@ enum: [ 0, 1 ] default: 0 +required: + - compatible + - reg + - interrupts + - clock-names + - clocks + unevaluatedProperties: false examples: --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/spi/spi-zynqmp-qspi.yaml @@ -30,6 +30,13 @@ clocks: maxItems: 2 +required: + - compatible + - reg + - interrupts + - clock-names + - clocks + unevaluatedProperties: false examples: --- linux-gcp-5.19.0.orig/Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.yaml +++ linux-gcp-5.19.0/Documentation/devicetree/bindings/usb/mediatek,mtk-xhci.yaml @@ -57,6 +57,7 @@ - description: optional, wakeup interrupt used to support runtime PM interrupt-names: + minItems: 1 items: - const: host - const: wakeup --- linux-gcp-5.19.0.orig/Documentation/driver-api/spi.rst +++ linux-gcp-5.19.0/Documentation/driver-api/spi.rst @@ -25,8 +25,8 @@ a pair of FIFOs connected to dual DMA engines on the other side of the SPI shift register (maximizing throughput). Such drivers bridge between whatever bus they sit on (often the platform bus) and SPI, and expose -the SPI side of their device as a :c:type:`struct spi_master -`. SPI devices are children of that master, +the SPI side of their device as a :c:type:`struct spi_controller +`. SPI devices are children of that master, represented as a :c:type:`struct spi_device ` and manufactured from :c:type:`struct spi_board_info ` descriptors which are usually provided by --- linux-gcp-5.19.0.orig/Documentation/fault-injection/fault-injection.rst +++ linux-gcp-5.19.0/Documentation/fault-injection/fault-injection.rst @@ -83,9 +83,7 @@ - /sys/kernel/debug/fail*/times: specifies how many times failures may happen at most. A value of -1 - means "no limit". Note, though, that this file only accepts unsigned - values. So, if you want to specify -1, you better use 'printf' instead - of 'echo', e.g.: $ printf %#x -1 > times + means "no limit". - /sys/kernel/debug/fail*/space: @@ -277,7 +275,7 @@ echo Y > /sys/kernel/debug/$FAILTYPE/task-filter echo 10 > /sys/kernel/debug/$FAILTYPE/probability echo 100 > /sys/kernel/debug/$FAILTYPE/interval - printf %#x -1 > /sys/kernel/debug/$FAILTYPE/times + echo -1 > /sys/kernel/debug/$FAILTYPE/times echo 0 > /sys/kernel/debug/$FAILTYPE/space echo 2 > /sys/kernel/debug/$FAILTYPE/verbose echo Y > /sys/kernel/debug/$FAILTYPE/ignore-gfp-wait @@ -331,7 +329,7 @@ echo N > /sys/kernel/debug/$FAILTYPE/task-filter echo 10 > /sys/kernel/debug/$FAILTYPE/probability echo 100 > /sys/kernel/debug/$FAILTYPE/interval - printf %#x -1 > /sys/kernel/debug/$FAILTYPE/times + echo -1 > /sys/kernel/debug/$FAILTYPE/times echo 0 > /sys/kernel/debug/$FAILTYPE/space echo 2 > /sys/kernel/debug/$FAILTYPE/verbose echo Y > /sys/kernel/debug/$FAILTYPE/ignore-gfp-wait @@ -362,7 +360,7 @@ echo N > /sys/kernel/debug/$FAILTYPE/task-filter echo 100 > /sys/kernel/debug/$FAILTYPE/probability echo 0 > /sys/kernel/debug/$FAILTYPE/interval - printf %#x -1 > /sys/kernel/debug/$FAILTYPE/times + echo -1 > /sys/kernel/debug/$FAILTYPE/times echo 0 > /sys/kernel/debug/$FAILTYPE/space echo 1 > /sys/kernel/debug/$FAILTYPE/verbose --- linux-gcp-5.19.0.orig/Documentation/filesystems/ext4/blockmap.rst +++ linux-gcp-5.19.0/Documentation/filesystems/ext4/blockmap.rst @@ -1,7 +1,7 @@ .. SPDX-License-Identifier: GPL-2.0 +---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| i.i_block Offset | Where It Points | +| i.i_block Offset | Where It Points | +=====================+==============================================================================================================================================================================================================================+ | 0 to 11 | Direct map to file blocks 0 to 11. | +---------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ --- linux-gcp-5.19.0.orig/Documentation/filesystems/mount_api.rst +++ linux-gcp-5.19.0/Documentation/filesystems/mount_api.rst @@ -814,6 +814,7 @@ int fs_lookup_param(struct fs_context *fc, struct fs_parameter *value, bool want_bdev, + unsigned int flags, struct path *_path); This takes a parameter that carries a string or filename type and attempts --- linux-gcp-5.19.0.orig/Documentation/filesystems/vfs.rst +++ linux-gcp-5.19.0/Documentation/filesystems/vfs.rst @@ -274,6 +274,9 @@ This is specifically for the inode itself being marked dirty, not its data. If the update needs to be persisted by fdatasync(), then I_DIRTY_DATASYNC will be set in the flags argument. + I_DIRTY_TIME will be set in the flags in case lazytime is enabled + and struct inode has times updated since the last ->dirty_inode + call. ``write_inode`` this method is called when the VFS needs to write an inode to --- linux-gcp-5.19.0.orig/Documentation/firmware-guide/acpi/apei/einj.rst +++ linux-gcp-5.19.0/Documentation/firmware-guide/acpi/apei/einj.rst @@ -168,7 +168,7 @@ 0x00000008 Memory Correctable 0x00000010 Memory Uncorrectable non-fatal # echo 0x12345000 > param1 # Set memory address for injection - # echo $((-1 << 12)) > param2 # Mask 0xfffffffffffff000 - anywhere in this page + # echo 0xfffffffffffff000 > param2 # Mask - anywhere in this page # echo 0x8 > error_type # Choose correctable memory error # echo 1 > error_inject # Inject now --- linux-gcp-5.19.0.orig/Documentation/hwmon/asus_ec_sensors.rst +++ linux-gcp-5.19.0/Documentation/hwmon/asus_ec_sensors.rst @@ -13,12 +13,16 @@ * ROG CROSSHAIR VIII FORMULA * ROG CROSSHAIR VIII HERO * ROG CROSSHAIR VIII IMPACT + * ROG MAXIMUS XI HERO + * ROG MAXIMUS XI HERO (WI-FI) * ROG STRIX B550-E GAMING * ROG STRIX B550-I GAMING * ROG STRIX X570-E GAMING * ROG STRIX X570-E GAMING WIFI II * ROG STRIX X570-F GAMING * ROG STRIX X570-I GAMING + * ROG STRIX Z690-A GAMING WIFI D4 + * ROG ZENITH II EXTREME Authors: - Eugene Shalygin --- linux-gcp-5.19.0.orig/Documentation/hwmon/ftsteutates.rst +++ linux-gcp-5.19.0/Documentation/hwmon/ftsteutates.rst @@ -22,6 +22,10 @@ 8 fans. It also contains an integrated watchdog which is currently implemented in this driver. +The 4 voltages require a board-specific multiplier, since the BMC can +only measure voltages up to 3.3V and thus relies on voltage dividers. +Consult your motherboard manual for details. + To clear a temperature or fan alarm, execute the following command with the correct path to the alarm file:: --- linux-gcp-5.19.0.orig/Documentation/input/joydev/joystick.rst +++ linux-gcp-5.19.0/Documentation/input/joydev/joystick.rst @@ -517,6 +517,7 @@ * AVB Mag Turbo Force * AVB Top Shot Pegasus * AVB Top Shot Force Feedback Racing Wheel +* Boeder Force Feedback Wheel * Logitech WingMan Force * Logitech WingMan Force Wheel * Guillemot Race Leader Force Feedback --- linux-gcp-5.19.0.orig/Documentation/process/code-of-conduct-interpretation.rst +++ linux-gcp-5.19.0/Documentation/process/code-of-conduct-interpretation.rst @@ -51,7 +51,7 @@ uncertain how to handle situations that come up. It will not be considered a violation report unless you want it to be. If you are uncertain about approaching the TAB or any other maintainers, please -reach out to our conflict mediator, Mishi Choudhary . +reach out to our conflict mediator, Joanna Lee . In the end, "be kind to each other" is really what the end goal is for everybody. We know everyone is human and we all fail at times, but the --- linux-gcp-5.19.0.orig/Documentation/process/howto.rst +++ linux-gcp-5.19.0/Documentation/process/howto.rst @@ -36,7 +36,7 @@ - "C: A Reference Manual" by Harbison and Steele [Prentice Hall] The kernel is written using GNU C and the GNU toolchain. While it -adheres to the ISO C89 standard, it uses a number of extensions that are +adheres to the ISO C11 standard, it uses a number of extensions that are not featured in the standard. The kernel is a freestanding C environment, with no reliance on the standard C library, so some portions of the C standard are not supported. Arbitrary long long --- linux-gcp-5.19.0.orig/Documentation/s390/vfio-ap-locking.rst +++ linux-gcp-5.19.0/Documentation/s390/vfio-ap-locking.rst @@ -0,0 +1,105 @@ +.. SPDX-License-Identifier: GPL-2.0 + +====================== +VFIO AP Locks Overview +====================== +This document describes the locks that are pertinent to the secure operation +of the vfio_ap device driver. Throughout this document, the following variables +will be used to denote instances of the structures herein described: + +struct ap_matrix_dev *matrix_dev; +struct ap_matrix_mdev *matrix_mdev; +struct kvm *kvm; + +The Matrix Devices Lock (drivers/s390/crypto/vfio_ap_private.h) +-------------------------------------------------------------- + +struct ap_matrix_dev { + ... + struct list_head mdev_list; + struct mutex mdevs_lock; + ... +} + +The Matrix Devices Lock (matrix_dev->mdevs_lock) is implemented as a global +mutex contained within the single object of struct ap_matrix_dev. This lock +controls access to all fields contained within each matrix_mdev +(matrix_dev->mdev_list). This lock must be held while reading from, writing to +or using the data from a field contained within a matrix_mdev instance +representing one of the vfio_ap device driver's mediated devices. + +The KVM Lock (include/linux/kvm_host.h) +--------------------------------------- + +struct kvm { + ... + struct mutex lock; + ... +} + +The KVM Lock (kvm->lock) controls access to the state data for a KVM guest. This +lock must be held by the vfio_ap device driver while one or more AP adapters, +domains or control domains are being plugged into or unplugged from the guest. + +The KVM pointer is stored in the in the matrix_mdev instance +(matrix_mdev->kvm = kvm) containing the state of the mediated device that has +been attached to the KVM guest. + +The Guests Lock (drivers/s390/crypto/vfio_ap_private.h) +----------------------------------------------------------- + +struct ap_matrix_dev { + ... + struct list_head mdev_list; + struct mutex guests_lock; + ... +} + +The Guests Lock (matrix_dev->guests_lock) controls access to the +matrix_mdev instances (matrix_dev->mdev_list) that represent mediated devices +that hold the state for the mediated devices that have been attached to a +KVM guest. This lock must be held: + +1. To control access to the KVM pointer (matrix_mdev->kvm) while the vfio_ap + device driver is using it to plug/unplug AP devices passed through to the KVM + guest. + +2. To add matrix_mdev instances to or remove them from matrix_dev->mdev_list. + This is necessary to ensure the proper locking order when the list is perused + to find an ap_matrix_mdev instance for the purpose of plugging/unplugging + AP devices passed through to a KVM guest. + + For example, when a queue device is removed from the vfio_ap device driver, + if the adapter is passed through to a KVM guest, it will have to be + unplugged. In order to figure out whether the adapter is passed through, + the matrix_mdev object to which the queue is assigned will have to be + found. The KVM pointer (matrix_mdev->kvm) can then be used to determine if + the mediated device is passed through (matrix_mdev->kvm != NULL) and if so, + to unplug the adapter. + +It is not necessary to take the Guests Lock to access the KVM pointer if the +pointer is not used to plug/unplug devices passed through to the KVM guest; +however, in this case, the Matrix Devices Lock (matrix_dev->mdevs_lock) must be +held in order to access the KVM pointer since it is set and cleared under the +protection of the Matrix Devices Lock. A case in point is the function that +handles interception of the PQAP(AQIC) instruction sub-function. This handler +needs to access the KVM pointer only for the purposes of setting or clearing IRQ +resources, so only the matrix_dev->mdevs_lock needs to be held. + +The PQAP Hook Lock (arch/s390/include/asm/kvm_host.h) +----------------------------------------------------- + +typedef int (*crypto_hook)(struct kvm_vcpu *vcpu); + +struct kvm_s390_crypto { + ... + struct rw_semaphore pqap_hook_rwsem; + crypto_hook *pqap_hook; + ... +}; + +The PQAP Hook Lock is a r/w semaphore that controls access to the function +pointer of the handler (*kvm->arch.crypto.pqap_hook) to invoke when the +PQAP(AQIC) instruction sub-function is intercepted by the host. The lock must be +held in write mode when pqap_hook value is set, and in read mode when the +pqap_hook function is called. --- linux-gcp-5.19.0.orig/Documentation/s390/vfio-ap.rst +++ linux-gcp-5.19.0/Documentation/s390/vfio-ap.rst @@ -123,27 +123,24 @@ by the hardware. A satellite control block called the Crypto Control Block (CRYCB) is attached to -our main hardware virtualization control block. The CRYCB contains three fields -to identify the adapters, usage domains and control domains assigned to the KVM -guest: +our main hardware virtualization control block. The CRYCB contains an AP Control +Block (APCB) that has three fields to identify the adapters, usage domains and +control domains assigned to the KVM guest: * The AP Mask (APM) field is a bit mask that identifies the AP adapters assigned - to the KVM guest. Each bit in the mask, from left to right (i.e. from most - significant to least significant bit in big endian order), corresponds to + to the KVM guest. Each bit in the mask, from left to right, corresponds to an APID from 0-255. If a bit is set, the corresponding adapter is valid for use by the KVM guest. * The AP Queue Mask (AQM) field is a bit mask identifying the AP usage domains - assigned to the KVM guest. Each bit in the mask, from left to right (i.e. from - most significant to least significant bit in big endian order), corresponds to - an AP queue index (APQI) from 0-255. If a bit is set, the corresponding queue - is valid for use by the KVM guest. + assigned to the KVM guest. Each bit in the mask, from left to right, + corresponds to an AP queue index (APQI) from 0-255. If a bit is set, the + corresponding queue is valid for use by the KVM guest. * The AP Domain Mask field is a bit mask that identifies the AP control domains assigned to the KVM guest. The ADM bit mask controls which domains can be changed by an AP command-request message sent to a usage domain from the - guest. Each bit in the mask, from left to right (i.e. from most significant to - least significant bit in big endian order), corresponds to a domain from + guest. Each bit in the mask, from left to right, corresponds to a domain from 0-255. If a bit is set, the corresponding domain can be modified by an AP command-request message sent to a usage domain. @@ -151,10 +148,10 @@ an APQN to identify the AP queue to which an AP command-request message is to be sent (NQAP and PQAP instructions), or from which a command-reply message is to be received (DQAP instruction). The validity of an APQN is defined by the matrix -calculated from the APM and AQM; it is the cross product of all assigned adapter -numbers (APM) with all assigned queue indexes (AQM). For example, if adapters 1 -and 2 and usage domains 5 and 6 are assigned to a guest, the APQNs (1,5), (1,6), -(2,5) and (2,6) will be valid for the guest. +calculated from the APM and AQM; it is the Cartesian product of all assigned +adapter numbers (APM) with all assigned queue indexes (AQM). For example, if +adapters 1 and 2 and usage domains 5 and 6 are assigned to a guest, the APQNs +(1,5), (1,6), (2,5) and (2,6) will be valid for the guest. The APQNs can provide secure key functionality - i.e., a private key is stored on the adapter card for each of its domains - so each APQN must be assigned to @@ -192,7 +189,7 @@ 1. AP matrix device 2. VFIO AP device driver (vfio_ap.ko) -3. VFIO AP mediated matrix pass-through device +3. VFIO AP mediated pass-through device The VFIO AP device driver ------------------------- @@ -200,12 +197,13 @@ 1. Provides the interfaces to secure APQNs for exclusive use of KVM guests. -2. Sets up the VFIO mediated device interfaces to manage a mediated matrix +2. Sets up the VFIO mediated device interfaces to manage a vfio_ap mediated device and creates the sysfs interfaces for assigning adapters, usage domains, and control domains comprising the matrix for a KVM guest. -3. Configures the APM, AQM and ADM in the CRYCB referenced by a KVM guest's - SIE state description to grant the guest access to a matrix of AP devices +3. Configures the APM, AQM and ADM in the APCB contained in the CRYCB referenced + by a KVM guest's SIE state description to grant the guest access to a matrix + of AP devices Reserve APQNs for exclusive use of KVM guests --------------------------------------------- @@ -235,10 +233,10 @@ | | 8 probe | | +--------^---------+ +--^--^------------+ 6 edit | | | - apmask | +-----------------------------+ | 9 mdev create + apmask | +-----------------------------+ | 11 mdev create aqmask | | 1 modprobe | +--------+-----+---+ +----------------+-+ +----------------+ - | | | |8 create | mediated | + | | | |10 create| mediated | | admin | | VFIO device core |---------> matrix | | + | | | device | +------+-+---------+ +--------^---------+ +--------^-------+ @@ -246,14 +244,14 @@ | | 9 create vfio_ap-passthrough | | | +------------------------------+ | +-------------------------------------------------------------+ - 10 assign adapter/domain/control domain + 12 assign adapter/domain/control domain The process for reserving an AP queue for use by a KVM guest is: 1. The administrator loads the vfio_ap device driver 2. The vfio-ap driver during its initialization will register a single 'matrix' device with the device core. This will serve as the parent device for - all mediated matrix devices used to configure an AP matrix for a guest. + all vfio_ap mediated devices used to configure an AP matrix for a guest. 3. The /sys/devices/vfio_ap/matrix device is created by the device core 4. The vfio_ap device driver will register with the AP bus for AP queue devices of type 10 and higher (CEX4 and newer). The driver will provide the vfio_ap @@ -269,24 +267,24 @@ default zcrypt cex4queue driver. 8. The AP bus probes the vfio_ap device driver to bind the queues reserved for it. -9. The administrator creates a passthrough type mediated matrix device to be +9. The administrator creates a passthrough type vfio_ap mediated device to be used by a guest 10. The administrator assigns the adapters, usage domains and control domains to be exclusively used by a guest. Set up the VFIO mediated device interfaces ------------------------------------------ -The VFIO AP device driver utilizes the common interface of the VFIO mediated +The VFIO AP device driver utilizes the common interfaces of the VFIO mediated device core driver to: -* Register an AP mediated bus driver to add a mediated matrix device to and +* Register an AP mediated bus driver to add a vfio_ap mediated device to and remove it from a VFIO group. -* Create and destroy a mediated matrix device -* Add a mediated matrix device to and remove it from the AP mediated bus driver -* Add a mediated matrix device to and remove it from an IOMMU group +* Create and destroy a vfio_ap mediated device +* Add a vfio_ap mediated device to and remove it from the AP mediated bus driver +* Add a vfio_ap mediated device to and remove it from an IOMMU group The following high-level block diagram shows the main components and interfaces -of the VFIO AP mediated matrix device driver:: +of the VFIO AP mediated device driver:: +-------------+ | | @@ -343,7 +341,7 @@ * device_api: the mediated device type's API * available_instances: - the number of mediated matrix passthrough devices + the number of vfio_ap mediated passthrough devices that can be created * device_api: specifies the VFIO API @@ -351,29 +349,37 @@ This attribute group identifies the user-defined sysfs attributes of the mediated device. When a device is registered with the VFIO mediated device framework, the sysfs attribute files identified in the 'mdev_attr_groups' - structure will be created in the mediated matrix device's directory. The - sysfs attributes for a mediated matrix device are: + structure will be created in the vfio_ap mediated device's directory. The + sysfs attributes for a vfio_ap mediated device are: assign_adapter / unassign_adapter: Write-only attributes for assigning/unassigning an AP adapter to/from the - mediated matrix device. To assign/unassign an adapter, the APID of the - adapter is echoed to the respective attribute file. + vfio_ap mediated device. To assign/unassign an adapter, the APID of the + adapter is echoed into the respective attribute file. assign_domain / unassign_domain: Write-only attributes for assigning/unassigning an AP usage domain to/from - the mediated matrix device. To assign/unassign a domain, the domain - number of the usage domain is echoed to the respective attribute + the vfio_ap mediated device. To assign/unassign a domain, the domain + number of the usage domain is echoed into the respective attribute file. matrix: - A read-only file for displaying the APQNs derived from the cross product - of the adapter and domain numbers assigned to the mediated matrix device. + A read-only file for displaying the APQNs derived from the Cartesian + product of the adapter and domain numbers assigned to the vfio_ap mediated + device. + guest_matrix: + A read-only file for displaying the APQNs derived from the Cartesian + product of the adapter and domain numbers assigned to the APM and AQM + fields respectively of the KVM guest's CRYCB. This may differ from the + the APQNs assigned to the vfio_ap mediated device if any APQN does not + reference a queue device bound to the vfio_ap device driver (i.e., the + queue is not in the host's AP configuration). assign_control_domain / unassign_control_domain: Write-only attributes for assigning/unassigning an AP control domain - to/from the mediated matrix device. To assign/unassign a control domain, - the ID of the domain to be assigned/unassigned is echoed to the respective - attribute file. + to/from the vfio_ap mediated device. To assign/unassign a control domain, + the ID of the domain to be assigned/unassigned is echoed into the + respective attribute file. control_domains: A read-only file for displaying the control domain numbers assigned to the - mediated matrix device. + vfio_ap mediated device. * functions: @@ -383,45 +389,75 @@ * Store the reference to the KVM structure for the guest using the mdev * Store the AP matrix configuration for the adapters, domains, and control domains assigned via the corresponding sysfs attributes files + * Store the AP matrix configuration for the adapters, domains and control + domains available to a guest. A guest may not be provided access to APQNs + referencing queue devices that do not exist, or are not bound to the + vfio_ap device driver. remove: - deallocates the mediated matrix device's ap_matrix_mdev structure. This will - be allowed only if a running guest is not using the mdev. + deallocates the vfio_ap mediated device's ap_matrix_mdev structure. + This will be allowed only if a running guest is not using the mdev. * callback interfaces - open: + open_device: The vfio_ap driver uses this callback to register a - VFIO_GROUP_NOTIFY_SET_KVM notifier callback function for the mdev matrix - device. The open is invoked when QEMU connects the VFIO iommu group - for the mdev matrix device to the MDEV bus. Access to the KVM structure used - to configure the KVM guest is provided via this callback. The KVM structure, - is used to configure the guest's access to the AP matrix defined via the - mediated matrix device's sysfs attribute files. - release: + VFIO_GROUP_NOTIFY_SET_KVM notifier callback function for the matrix mdev + devices. The open_device callback is invoked by userspace to connect the + VFIO iommu group for the matrix mdev device to the MDEV bus. Access to the + KVM structure used to configure the KVM guest is provided via this callback. + The KVM structure, is used to configure the guest's access to the AP matrix + defined via the vfio_ap mediated device's sysfs attribute files. + + close_device: unregisters the VFIO_GROUP_NOTIFY_SET_KVM notifier callback function for the - mdev matrix device and deconfigures the guest's AP matrix. + matrix mdev device and deconfigures the guest's AP matrix. + + ioctl: + this callback handles the VFIO_DEVICE_GET_INFO and VFIO_DEVICE_RESET ioctls + defined by the vfio framework. -Configure the APM, AQM and ADM in the CRYCB -------------------------------------------- -Configuring the AP matrix for a KVM guest will be performed when the +Configure the guest's AP resources +---------------------------------- +Configuring the AP resources for a KVM guest will be performed when the VFIO_GROUP_NOTIFY_SET_KVM notifier callback is invoked. The notifier -function is called when QEMU connects to KVM. The guest's AP matrix is -configured via it's CRYCB by: +function is called when userspace connects to KVM. The guest's AP resources are +configured via it's APCB by: * Setting the bits in the APM corresponding to the APIDs assigned to the - mediated matrix device via its 'assign_adapter' interface. + vfio_ap mediated device via its 'assign_adapter' interface. * Setting the bits in the AQM corresponding to the domains assigned to the - mediated matrix device via its 'assign_domain' interface. + vfio_ap mediated device via its 'assign_domain' interface. * Setting the bits in the ADM corresponding to the domain dIDs assigned to the - mediated matrix device via its 'assign_control_domains' interface. + vfio_ap mediated device via its 'assign_control_domains' interface. + +The linux device model precludes passing a device through to a KVM guest that +is not bound to the device driver facilitating its pass-through. Consequently, +an APQN that does not reference a queue device bound to the vfio_ap device +driver will not be assigned to a KVM guest's matrix. The AP architecture, +however, does not provide a means to filter individual APQNs from the guest's +matrix, so the adapters, domains and control domains assigned to vfio_ap +mediated device via its sysfs 'assign_adapter', 'assign_domain' and +'assign_control_domain' interfaces will be filtered before providing the AP +configuration to a guest: + +* The APIDs of the adapters, the APQIs of the domains and the domain numbers of + the control domains assigned to the matrix mdev that are not also assigned to + the host's AP configuration will be filtered. + +* Each APQN derived from the Cartesian product of the APIDs and APQIs assigned + to the vfio_ap mdev is examined and if any one of them does not reference a + queue device bound to the vfio_ap device driver, the adapter will not be + plugged into the guest (i.e., the bit corresponding to its APID will not be + set in the APM of the guest's APCB). The CPU model features for AP ----------------------------- -The AP stack relies on the presence of the AP instructions as well as two -facilities: The AP Facilities Test (APFT) facility; and the AP Query -Configuration Information (QCI) facility. These features/facilities are made -available to a KVM guest via the following CPU model features: +The AP stack relies on the presence of the AP instructions as well as three +facilities: The AP Facilities Test (APFT) facility; the AP Query +Configuration Information (QCI) facility; and the AP Queue Interruption Control +facility. These features/facilities are made available to a KVM guest via the +following CPU model features: 1. ap: Indicates whether the AP instructions are installed on the guest. This feature will be enabled by KVM only if the AP instructions are installed @@ -435,24 +471,28 @@ can be made available to the guest only if it is available on the host (i.e., facility bit 12 is set). +4. apqi: Indicates AP Queue Interruption Control faclity is available on the + guest. This facility can be made available to the guest only if it is + available on the host (i.e., facility bit 65 is set). + Note: If the user chooses to specify a CPU model different than the 'host' model to QEMU, the CPU model features and facilities need to be turned on explicitly; for example:: - /usr/bin/qemu-system-s390x ... -cpu z13,ap=on,apqci=on,apft=on + /usr/bin/qemu-system-s390x ... -cpu z13,ap=on,apqci=on,apft=on,apqi=on A guest can be precluded from using AP features/facilities by turning them off explicitly; for example:: - /usr/bin/qemu-system-s390x ... -cpu host,ap=off,apqci=off,apft=off + /usr/bin/qemu-system-s390x ... -cpu host,ap=off,apqci=off,apft=off,apqi=off Note: If the APFT facility is turned off (apft=off) for the guest, the guest -will not see any AP devices. The zcrypt device drivers that register for type 10 -and newer AP devices - i.e., the cex4card and cex4queue device drivers - need -the APFT facility to ascertain the facilities installed on a given AP device. If -the APFT facility is not installed on the guest, then the probe of device -drivers will fail since only type 10 and newer devices can be configured for -guest use. +will not see any AP devices. The zcrypt device drivers on the guest that +register for type 10 and newer AP devices - i.e., the cex4card and cex4queue +device drivers - need the APFT facility to ascertain the facilities installed on +a given AP device. If the APFT facility is not installed on the guest, then no +adapter or domain devices will get created by the AP bus running on the +guest because only type 10 and newer devices can be configured for guest use. Example ======= @@ -471,7 +511,7 @@ 05.00ab CEX5C CCA-Coproc 06 CEX5A Accelerator 06.0004 CEX5A Accelerator -06.00ab CEX5C CCA-Coproc +06.00ab CEX5A Accelerator =========== ===== ============ Guest2 @@ -479,9 +519,9 @@ =========== ===== ============ CARD.DOMAIN TYPE MODE =========== ===== ============ -05 CEX5A Accelerator -05.0047 CEX5A Accelerator -05.00ff CEX5A Accelerator +05 CEX5C CCA-Coproc +05.0047 CEX5C CCA-Coproc +05.00ff CEX5C CCA-Coproc =========== ===== ============ Guest3 @@ -529,40 +569,56 @@ 2. Secure the AP queues to be used by the three guests so that the host can not access them. To secure them, there are two sysfs files that specify - bitmasks marking a subset of the APQN range as 'usable by the default AP - queue device drivers' or 'not usable by the default device drivers' and thus - available for use by the vfio_ap device driver'. The location of the sysfs - files containing the masks are:: + bitmasks marking a subset of the APQN range as usable only by the default AP + queue device drivers. All remaining APQNs are available for use by + any other device driver. The vfio_ap device driver is currently the only + non-default device driver. The location of the sysfs files containing the + masks are:: /sys/bus/ap/apmask /sys/bus/ap/aqmask The 'apmask' is a 256-bit mask that identifies a set of AP adapter IDs - (APID). Each bit in the mask, from left to right (i.e., from most significant - to least significant bit in big endian order), corresponds to an APID from - 0-255. If a bit is set, the APID is marked as usable only by the default AP - queue device drivers; otherwise, the APID is usable by the vfio_ap - device driver. + (APID). Each bit in the mask, from left to right, corresponds to an APID from + 0-255. If a bit is set, the APID belongs to the subset of APQNs marked as + available only to the default AP queue device drivers. The 'aqmask' is a 256-bit mask that identifies a set of AP queue indexes - (APQI). Each bit in the mask, from left to right (i.e., from most significant - to least significant bit in big endian order), corresponds to an APQI from - 0-255. If a bit is set, the APQI is marked as usable only by the default AP - queue device drivers; otherwise, the APQI is usable by the vfio_ap device - driver. + (APQI). Each bit in the mask, from left to right, corresponds to an APQI from + 0-255. If a bit is set, the APQI belongs to the subset of APQNs marked as + available only to the default AP queue device drivers. + + The Cartesian product of the APIDs corresponding to the bits set in the + apmask and the APQIs corresponding to the bits set in the aqmask comprise + the subset of APQNs that can be used only by the host default device drivers. + All other APQNs are available to the non-default device drivers such as the + vfio_ap driver. - Take, for example, the following mask:: + Take, for example, the following masks:: - 0x7dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff + apmask: + 0x7d00000000000000000000000000000000000000000000000000000000000000 - It indicates: + aqmask: + 0x8000000000000000000000000000000000000000000000000000000000000000 - 1, 2, 3, 4, 5, and 7-255 belong to the default drivers' pool, and 0 and 6 - belong to the vfio_ap device driver's pool. + The masks indicate: + + * Adapters 1, 2, 3, 4, 5, and 7 are available for use by the host default + device drivers. + + * Domain 0 is available for use by the host default device drivers + + * The subset of APQNs available for use only by the default host device + drivers are: + + (1,0), (2,0), (3,0), (4.0), (5,0) and (7,0) + + * All other APQNs are available for use by the non-default device drivers. The APQN of each AP queue device assigned to the linux host is checked by the - AP bus against the set of APQNs derived from the cross product of APIDs - and APQIs marked as usable only by the default AP queue device drivers. If a + AP bus against the set of APQNs derived from the Cartesian product of APIDs + and APQIs marked as available to the default AP queue device drivers. If a match is detected, only the default AP queue device drivers will be probed; otherwise, the vfio_ap device driver will be probed. @@ -579,8 +635,7 @@ 0x4100000000000000000000000000000000000000000000000000000000000000 - Keep in mind that the mask reads from left to right (i.e., most - significant to least significant bit in big endian order), so the mask + Keep in mind that the mask reads from left to right, so the mask above identifies device numbers 1 and 7 (01000001). If the string is longer than the mask, the operation is terminated with @@ -626,11 +681,22 @@ default drivers pool: adapter 0-15, domain 1 alternate drivers pool: adapter 16-255, domains 0, 2-255 + Note ***: + Changing a mask such that one or more APQNs will be taken from a vfio_ap + mediated device (see below) will fail with an error (EBUSY). A message + is logged to the kernel ring buffer which can be viewed with the 'dmesg' + command. The output identifies each APQN flagged as 'in use' and identifies + the vfio_ap mediated device to which it is assigned; for example: + + Userspace may not re-assign queue 05.0054 already assigned to 62177883-f1bb-47f0-914d-32a22e3a8804 + Userspace may not re-assign queue 04.0054 already assigned to cef03c3c-903d-4ecc-9a83-40694cb8aee4 + Securing the APQNs for our example ---------------------------------- To secure the AP queues 05.0004, 05.0047, 05.00ab, 05.00ff, 06.0004, 06.0047, 06.00ab, and 06.00ff for use by the vfio_ap device driver, the corresponding - APQNs can either be removed from the default masks:: + APQNs can be removed from the default masks using either of the following + commands:: echo -5,-6 > /sys/bus/ap/apmask @@ -683,7 +749,7 @@ /sys/devices/vfio_ap/matrix/ --- [mdev_supported_types] - ------ [vfio_ap-passthrough] (passthrough mediated matrix device type) + ------ [vfio_ap-passthrough] (passthrough vfio_ap mediated device type) --------- create --------- [devices] @@ -734,6 +800,9 @@ ----------------unassign_control_domain ----------------unassign_domain + Note *****: The vfio_ap mdevs do not persist across reboots unless the + mdevctl tool is used to create and persist them. + 4. The administrator now needs to configure the matrixes for the mediated devices $uuid1 (for Guest1), $uuid2 (for Guest2) and $uuid3 (for Guest3). @@ -755,6 +824,10 @@ cat matrix + To display the matrix that is or will be assigned to Guest1:: + + cat guest_matrix + This is how the matrix is configured for Guest2:: echo 5 > assign_adapter @@ -774,17 +847,24 @@ higher than the maximum is specified, the operation will terminate with an error (ENODEV). - * All APQNs that can be derived from the adapter ID and the IDs of - the previously assigned domains must be bound to the vfio_ap device - driver. If no domains have yet been assigned, then there must be at least - one APQN with the specified APID bound to the vfio_ap driver. If no such - APQNs are bound to the driver, the operation will terminate with an - error (EADDRNOTAVAIL). - - No APQN that can be derived from the adapter ID and the IDs of the - previously assigned domains can be assigned to another mediated matrix - device. If an APQN is assigned to another mediated matrix device, the - operation will terminate with an error (EADDRINUSE). + Note: The maximum adapter number can be obtained via the sysfs + /sys/bus/ap/ap_max_adapter_id attribute file. + + * Each APQN derived from the Cartesian product of the APID of the adapter + being assigned and the APQIs of the domains previously assigned: + + - Must only be available to the vfio_ap device driver as specified in the + sysfs /sys/bus/ap/apmask and /sys/bus/ap/aqmask attribute files. If even + one APQN is reserved for use by the host device driver, the operation + will terminate with an error (EADDRNOTAVAIL). + + - Must NOT be assigned to another vfio_ap mediated device. If even one APQN + is assigned to another vfio_ap mediated device, the operation will + terminate with an error (EBUSY). + + - Must NOT be assigned while the sysfs /sys/bus/ap/apmask and + sys/bus/ap/aqmask attribute files are being edited or the operation may + terminate with an error (EBUSY). In order to successfully assign a domain: @@ -793,41 +873,50 @@ higher than the maximum is specified, the operation will terminate with an error (ENODEV). - * All APQNs that can be derived from the domain ID and the IDs of - the previously assigned adapters must be bound to the vfio_ap device - driver. If no domains have yet been assigned, then there must be at least - one APQN with the specified APQI bound to the vfio_ap driver. If no such - APQNs are bound to the driver, the operation will terminate with an - error (EADDRNOTAVAIL). - - No APQN that can be derived from the domain ID and the IDs of the - previously assigned adapters can be assigned to another mediated matrix - device. If an APQN is assigned to another mediated matrix device, the - operation will terminate with an error (EADDRINUSE). - - In order to successfully assign a control domain, the domain number - specified must represent a value from 0 up to the maximum domain number - configured for the system. If a control domain number higher than the maximum - is specified, the operation will terminate with an error (ENODEV). + Note: The maximum domain number can be obtained via the sysfs + /sys/bus/ap/ap_max_domain_id attribute file. + + * Each APQN derived from the Cartesian product of the APQI of the domain + being assigned and the APIDs of the adapters previously assigned: + + - Must only be available to the vfio_ap device driver as specified in the + sysfs /sys/bus/ap/apmask and /sys/bus/ap/aqmask attribute files. If even + one APQN is reserved for use by the host device driver, the operation + will terminate with an error (EADDRNOTAVAIL). + + - Must NOT be assigned to another vfio_ap mediated device. If even one APQN + is assigned to another vfio_ap mediated device, the operation will + terminate with an error (EBUSY). + + - Must NOT be assigned while the sysfs /sys/bus/ap/apmask and + sys/bus/ap/aqmask attribute files are being edited or the operation may + terminate with an error (EBUSY). + + In order to successfully assign a control domain: + + * The domain number specified must represent a value from 0 up to the maximum + domain number configured for the system. If a control domain number higher + than the maximum is specified, the operation will terminate with an + error (ENODEV). 5. Start Guest1:: - /usr/bin/qemu-system-s390x ... -cpu host,ap=on,apqci=on,apft=on \ + /usr/bin/qemu-system-s390x ... -cpu host,ap=on,apqci=on,apft=on,apqi=on \ -device vfio-ap,sysfsdev=/sys/devices/vfio_ap/matrix/$uuid1 ... 7. Start Guest2:: - /usr/bin/qemu-system-s390x ... -cpu host,ap=on,apqci=on,apft=on \ + /usr/bin/qemu-system-s390x ... -cpu host,ap=on,apqci=on,apft=on,apqi=on \ -device vfio-ap,sysfsdev=/sys/devices/vfio_ap/matrix/$uuid2 ... 7. Start Guest3:: - /usr/bin/qemu-system-s390x ... -cpu host,ap=on,apqci=on,apft=on \ + /usr/bin/qemu-system-s390x ... -cpu host,ap=on,apqci=on,apft=on,apqi=on \ -device vfio-ap,sysfsdev=/sys/devices/vfio_ap/matrix/$uuid3 ... -When the guest is shut down, the mediated matrix devices may be removed. +When the guest is shut down, the vfio_ap mediated devices may be removed. -Using our example again, to remove the mediated matrix device $uuid1:: +Using our example again, to remove the vfio_ap mediated device $uuid1:: /sys/devices/vfio_ap/matrix/ --- [mdev_supported_types] @@ -840,26 +929,137 @@ echo 1 > remove -This will remove all of the mdev matrix device's sysfs structures including -the mdev device itself. To recreate and reconfigure the mdev matrix device, +This will remove all of the matrix mdev device's sysfs structures including +the mdev device itself. To recreate and reconfigure the matrix mdev device, all of the steps starting with step 3 will have to be performed again. Note -that the remove will fail if a guest using the mdev is still running. +that the remove will fail if a guest using the vfio_ap mdev is still running. -It is not necessary to remove an mdev matrix device, but one may want to +It is not necessary to remove a vfio_ap mdev, but one may want to remove it if no guest will use it during the remaining lifetime of the linux -host. If the mdev matrix device is removed, one may want to also reconfigure +host. If the vfio_ap mdev is removed, one may want to also reconfigure the pool of adapters and queues reserved for use by the default drivers. +Hot plug/unplug support: +================ +An adapter, domain or control domain may be hot plugged into a running KVM +guest by assigning it to the vfio_ap mediated device being used by the guest if +the following conditions are met: + +* The adapter, domain or control domain must also be assigned to the host's + AP configuration. + +* Each APQN derived from the Cartesian product comprised of the APID of the + adapter being assigned and the APQIs of the domains assigned must reference a + queue device bound to the vfio_ap device driver. + +* To hot plug a domain, each APQN derived from the Cartesian product + comprised of the APQI of the domain being assigned and the APIDs of the + adapters assigned must reference a queue device bound to the vfio_ap device + driver. + +An adapter, domain or control domain may be hot unplugged from a running KVM +guest by unassigning it from the vfio_ap mediated device being used by the +guest. + +Over-provisioning of AP queues for a KVM guest: +============================================== +Over-provisioning is defined herein as the assignment of adapters or domains to +a vfio_ap mediated device that do not reference AP devices in the host's AP +configuration. The idea here is that when the adapter or domain becomes +available, it will be automatically hot-plugged into the KVM guest using +the vfio_ap mediated device to which it is assigned as long as each new APQN +resulting from plugging it in references a queue device bound to the vfio_ap +device driver. + Limitations =========== -* The KVM/kernel interfaces do not provide a way to prevent restoring an APQN - to the default drivers pool of a queue that is still assigned to a mediated - device in use by a guest. It is incumbent upon the administrator to - ensure there is no mediated device in use by a guest to which the APQN is - assigned lest the host be given access to the private data of the AP queue - device such as a private key configured specifically for the guest. +Live guest migration is not supported for guests using AP devices without +intervention by a system administrator. Before a KVM guest can be migrated, +the vfio_ap mediated device must be removed. Unfortunately, it can not be +removed manually (i.e., echo 1 > /sys/devices/vfio_ap/matrix/$UUID/remove) while +the mdev is in use by a KVM guest. If the guest is being emulated by QEMU, +its mdev can be hot unplugged from the guest in one of two ways: + +1. If the KVM guest was started with libvirt, you can hot unplug the mdev via + the following commands: + + virsh detach-device + + For example, to hot unplug mdev 62177883-f1bb-47f0-914d-32a22e3a8804 from + the guest named 'my-guest': + + virsh detach-device my-guest ~/config/my-guest-hostdev.xml + + The contents of my-guest-hostdev.xml: + + + +
+ + + + + virsh qemu-monitor-command --hmp "device-del " + + For example, to hot unplug the vfio_ap mediated device identified on the + qemu command line with 'id=hostdev0' from the guest named 'my-guest': + + virsh qemu-monitor-command my-guest --hmp "device_del hostdev0" + +2. A vfio_ap mediated device can be hot unplugged by attaching the qemu monitor + to the guest and using the following qemu monitor command: + + (QEMU) device-del id= + + For example, to hot unplug the vfio_ap mediated device that was specified + on the qemu command line with 'id=hostdev0' when the guest was started: + + (QEMU) device-del id=hostdev0 + +After live migration of the KVM guest completes, an AP configuration can be +restored to the KVM guest by hot plugging a vfio_ap mediated device on the target +system into the guest in one of two ways: + +1. If the KVM guest was started with libvirt, you can hot plug a matrix mediated + device into the guest via the following virsh commands: + + virsh attach-device + + For example, to hot plug mdev 62177883-f1bb-47f0-914d-32a22e3a8804 into + the guest named 'my-guest': + + virsh attach-device my-guest ~/config/my-guest-hostdev.xml + + The contents of my-guest-hostdev.xml: + + + +
+ + + + + virsh qemu-monitor-command --hmp \ + "device_add vfio-ap,sysfsdev=,id=" + + For example, to hot plug the vfio_ap mediated device + 62177883-f1bb-47f0-914d-32a22e3a8804 into the guest named 'my-guest' with + device-id hostdev0: + + virsh qemu-monitor-command my-guest --hmp \ + "device_add vfio-ap,\ + sysfsdev=/sys/devices/vfio_ap/matrix/62177883-f1bb-47f0-914d-32a22e3a8804,\ + id=hostdev0" + +2. A vfio_ap mediated device can be hot plugged by attaching the qemu monitor + to the guest and using the following qemu monitor command: + + (qemu) device_add "vfio-ap,sysfsdev=,id=" -* Dynamically modifying the AP matrix for a running guest (which would amount to - hot(un)plug of AP devices for the guest) is currently not supported + For example, to plug the vfio_ap mediated device + 62177883-f1bb-47f0-914d-32a22e3a8804 into the guest with the device-id + hostdev0: -* Live guest migration is not supported for guests using AP devices. + (QEMU) device-add "vfio-ap,\ + sysfsdev=/sys/devices/vfio_ap/matrix/62177883-f1bb-47f0-914d-32a22e3a8804,\ + id=hostdev0" --- linux-gcp-5.19.0.orig/Documentation/security/keys/trusted-encrypted.rst +++ linux-gcp-5.19.0/Documentation/security/keys/trusted-encrypted.rst @@ -350,7 +350,8 @@ Instantiate an encrypted key "evm" using user-provided decrypted data:: - $ keyctl add encrypted evm "new default user:kmk 32 `cat evm_decrypted_data.blob`" @u + $ evmkey=$(dd if=/dev/urandom bs=1 count=32 | xxd -c32 -p) + $ keyctl add encrypted evm "new default user:kmk 32 $evmkey" @u 794890253 $ keyctl print 794890253 --- linux-gcp-5.19.0.orig/Documentation/security/lsm.rst +++ linux-gcp-5.19.0/Documentation/security/lsm.rst @@ -129,3 +129,31 @@ The capabilities security module does not use the general security blobs, unlike other modules. The reasons are historical and are based on overhead, complexity and performance concerns. + +LSM External Interfaces +======================= + +The LSM infrastructure does not generally provide external interfaces. +The individual security modules provide what external interfaces they +require. + +The file ``/sys/kernel/security/lsm`` provides a comma +separated list of the active security modules. + +The file ``/proc/pid/attr/interface_lsm`` contains the name of the security +module for which the ``/proc/pid/attr/current`` interface will +apply. This interface can be written to. + +The infrastructure does provide an interface for the special +case where multiple security modules provide a process context. +This is provided in compound context format. + +- `lsm\0value\0lsm\0value\0` + +The `lsm` and `value` fields are NUL-terminated bytestrings. +Each field may contain whitespace or non-printable characters. +The NUL bytes are included in the size of a compound context. +The context ``Bell\0Secret\0Biba\0Loose\0`` has a size of 23. + +The file ``/proc/pid/attr/context`` provides the security +context of the identified process. --- linux-gcp-5.19.0.orig/Documentation/sphinx/cdomain.py +++ linux-gcp-5.19.0/Documentation/sphinx/cdomain.py @@ -37,12 +37,29 @@ import sphinx from sphinx import addnodes -from sphinx.domains.c import c_funcptr_sig_re, c_sig_re from sphinx.domains.c import CObject as Base_CObject from sphinx.domains.c import CDomain as Base_CDomain from itertools import chain import re +# fixes https://github.com/sphinx-doc/sphinx/commit/0f49e30c51b5cc5055cda5b4b294c2dd9d1df573#r38750737 + +# pylint: disable=invalid-name +c_sig_re = re.compile( + r'''^([^(]*?) # return type + ([\w:.]+) \s* # thing name (colon allowed for C++) + (?: \((.*)\) )? # optionally arguments + (\s+const)? $ # const specifier + ''', re.VERBOSE) + +c_funcptr_sig_re = re.compile( + r'''^([^(]+?) # return type + (\( [^()]+ \)) \s* # name in parentheses + \( (.*) \) # arguments + (\s+const)? $ # const specifier + ''', re.VERBOSE) +# pylint: enable=invalid-name + __version__ = '1.1' # Get Sphinx version --- linux-gcp-5.19.0.orig/Documentation/sphinx/kerneldoc-preamble.sty +++ linux-gcp-5.19.0/Documentation/sphinx/kerneldoc-preamble.sty @@ -70,8 +70,16 @@ % Translations have Asian (CJK) characters which are only displayed if % xeCJK is used +\usepackage{ifthen} +\newboolean{enablecjk} +\setboolean{enablecjk}{false} \IfFontExistsTF{Noto Sans CJK SC}{ - % Load xeCJK when CJK font is available + \IfFileExists{xeCJK.sty}{ + \setboolean{enablecjk}{true} + }{} +}{} +\ifthenelse{\boolean{enablecjk}}{ + % Load xeCJK when both the Noto Sans CJK font and xeCJK.sty are available. \usepackage{xeCJK} % Noto CJK fonts don't provide slant shape. [AutoFakeSlant] permits % its emulation. @@ -196,7 +204,7 @@ % Inactivate CJK after tableofcontents \apptocmd{\sphinxtableofcontents}{\kerneldocCJKoff}{}{} \xeCJKsetup{CJKspace = true}% For inter-phrase space of Korean TOC -}{ % No CJK font found +}{ % Don't enable CJK % Custom macros to on/off CJK and switch CJK fonts (Dummy) \newcommand{\kerneldocCJKon}{} \newcommand{\kerneldocCJKoff}{} @@ -204,14 +212,16 @@ %% and ignore the argument (#1) in their definitions, whole contents of %% CJK chapters can be ignored. \newcommand{\kerneldocBeginSC}[1]{% - %% Put a note on missing CJK fonts in place of zh_CN translation. - \begin{sphinxadmonition}{note}{Note on missing fonts:} + %% Put a note on missing CJK fonts or the xecjk package in place of + %% zh_CN translation. + \begin{sphinxadmonition}{note}{Note on missing fonts and a package:} Translations of Simplified Chinese (zh\_CN), Traditional Chinese (zh\_TW), Korean (ko\_KR), and Japanese (ja\_JP) were skipped - due to the lack of suitable font families. + due to the lack of suitable font families and/or the texlive-xecjk + package. If you want them, please install ``Noto Sans CJK'' font families - by following instructions from + along with the texlive-xecjk package by following instructions from \sphinxcode{./scripts/sphinx-pre-install}. Having optional ``Noto Serif CJK'' font families will improve the looks of those translations. --- linux-gcp-5.19.0.orig/Documentation/sphinx/load_config.py +++ linux-gcp-5.19.0/Documentation/sphinx/load_config.py @@ -3,7 +3,7 @@ import os import sys -from sphinx.util.pycompat import execfile_ +from sphinx.util.osutil import fs_encoding # ------------------------------------------------------------------------------ def loadConfig(namespace): @@ -48,7 +48,9 @@ sys.stdout.write("load additional sphinx-config: %s\n" % config_file) config = namespace.copy() config['__file__'] = config_file - execfile_(config_file, config) + with open(config_file, 'rb') as f: + code = compile(f.read(), fs_encoding, 'exec') + exec(code, config) del config['__file__'] namespace.update(config) else: --- linux-gcp-5.19.0.orig/Documentation/tools/rtla/rtla-timerlat-hist.rst +++ linux-gcp-5.19.0/Documentation/tools/rtla/rtla-timerlat-hist.rst @@ -33,7 +33,7 @@ ======= In the example below, **rtla timerlat hist** is set to run for *10* minutes, in the cpus *0-4*, *skipping zero* only lines. Moreover, **rtla timerlat -hist** will change the priority of the *timelat* threads to run under +hist** will change the priority of the *timerlat* threads to run under *SCHED_DEADLINE* priority, with a *10us* runtime every *1ms* period. The *1ms* period is also passed to the *timerlat* tracer:: --- linux-gcp-5.19.0.orig/Documentation/trace/histogram.rst +++ linux-gcp-5.19.0/Documentation/trace/histogram.rst @@ -39,7 +39,7 @@ will use the event's kernel stacktrace as the key. The keywords 'keys' or 'key' can be used to specify keys, and the keywords 'values', 'vals', or 'val' can be used to specify values. Compound - keys consisting of up to two fields can be specified by the 'keys' + keys consisting of up to three fields can be specified by the 'keys' keyword. Hashing a compound key produces a unique entry in the table for each unique combination of component keys, and can be useful for providing more fine-grained summaries of event data. --- linux-gcp-5.19.0.orig/Documentation/translations/it_IT/process/howto.rst +++ linux-gcp-5.19.0/Documentation/translations/it_IT/process/howto.rst @@ -44,7 +44,7 @@ - "C: A Reference Manual" di Harbison and Steele [Prentice Hall] Il kernel è stato scritto usando GNU C e la toolchain GNU. -Sebbene si attenga allo standard ISO C89, esso utilizza una serie di +Sebbene si attenga allo standard ISO C11, esso utilizza una serie di estensioni che non sono previste in questo standard. Il kernel è un ambiente C indipendente, che non ha alcuna dipendenza dalle librerie C standard, così alcune parti del C standard non sono supportate. --- linux-gcp-5.19.0.orig/Documentation/translations/ja_JP/howto.rst +++ linux-gcp-5.19.0/Documentation/translations/ja_JP/howto.rst @@ -65,7 +65,7 @@ - 『新・詳説 C 言語 H&S リファレンス』 (サミュエル P ハービソン/ガイ L スティール共著 斉藤 信男監訳)[ソフトバンク] カーネルは GNU C と GNU ツールチェインを使って書かれています。カーネル -は ISO C89 仕様に準拠して書く一方で、標準には無い言語拡張を多く使って +は ISO C11 仕様に準拠して書く一方で、標準には無い言語拡張を多く使って います。カーネルは標準 C ライブラリに依存しない、C 言語非依存環境です。 そのため、C の標準の中で使えないものもあります。特に任意の long long の除算や浮動小数点は使えません。カーネルがツールチェインや C 言語拡張 --- linux-gcp-5.19.0.orig/Documentation/translations/ko_KR/howto.rst +++ linux-gcp-5.19.0/Documentation/translations/ko_KR/howto.rst @@ -62,7 +62,7 @@ - "Practical C Programming" by Steve Oualline [O'Reilly] - "C: A Reference Manual" by Harbison and Steele [Prentice Hall] -커널은 GNU C와 GNU 툴체인을 사용하여 작성되었다. 이 툴들은 ISO C89 표준을 +커널은 GNU C와 GNU 툴체인을 사용하여 작성되었다. 이 툴들은 ISO C11 표준을 따르는 반면 표준에 있지 않은 많은 확장기능도 가지고 있다. 커널은 표준 C 라이브러리와는 관계없이 freestanding C 환경이어서 C 표준의 일부는 지원되지 않는다. 임의의 long long 나누기나 floating point는 지원되지 않는다. --- linux-gcp-5.19.0.orig/Documentation/translations/zh_CN/process/howto.rst +++ linux-gcp-5.19.0/Documentation/translations/zh_CN/process/howto.rst @@ -45,7 +45,7 @@ - "C: A Reference Manual" by Harbison and Steele [Prentice Hall] 《C语言参考手册(原书第5版)》(邱仲潘 等译)[机械工业出版社] -Linux内核使用GNU C和GNU工具链开发。虽然它遵循ISO C89标准,但也用到了一些 +Linux内核使用GNU C和GNU工具链开发。虽然它遵循ISO C11标准,但也用到了一些 标准中没有定义的扩展。内核是自给自足的C环境,不依赖于标准C库的支持,所以 并不支持C标准中的部分定义。比如long long类型的大数除法和浮点运算就不允许 使用。有时候确实很难弄清楚内核对工具链的要求和它所使用的扩展,不幸的是目 --- linux-gcp-5.19.0.orig/Documentation/translations/zh_TW/process/howto.rst +++ linux-gcp-5.19.0/Documentation/translations/zh_TW/process/howto.rst @@ -48,7 +48,7 @@ - "C: A Reference Manual" by Harbison and Steele [Prentice Hall] 《C語言參考手冊(原書第5版)》(邱仲潘 等譯)[機械工業出版社] -Linux內核使用GNU C和GNU工具鏈開發。雖然它遵循ISO C89標準,但也用到了一些 +Linux內核使用GNU C和GNU工具鏈開發。雖然它遵循ISO C11標準,但也用到了一些 標準中沒有定義的擴展。內核是自給自足的C環境,不依賴於標準C庫的支持,所以 並不支持C標準中的部分定義。比如long long類型的大數除法和浮點運算就不允許 使用。有時候確實很難弄清楚內核對工具鏈的要求和它所使用的擴展,不幸的是目 --- linux-gcp-5.19.0.orig/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst +++ linux-gcp-5.19.0/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst @@ -2997,7 +2997,7 @@ * - __u8 - ``colour_plane_id`` - - * - __u16 + * - __s32 - ``slice_pic_order_cnt`` - * - __u8 --- linux-gcp-5.19.0.orig/Documentation/virt/coco/tdx-guest.rst +++ linux-gcp-5.19.0/Documentation/virt/coco/tdx-guest.rst @@ -0,0 +1,52 @@ +.. SPDX-License-Identifier: GPL-2.0 + +=================================================================== +TDX Guest API Documentation +=================================================================== + +1. General description +====================== + +The TDX guest driver exposes IOCTL interfaces via the /dev/tdx-guest misc +device to allow userspace to get certain TDX guest-specific details. + +2. API description +================== + +In this section, for each supported IOCTL, the following information is +provided along with a generic description. + +:Input parameters: Parameters passed to the IOCTL and related details. +:Output: Details about output data and return value (with details about + the non common error values). + +2.1 TDX_CMD_GET_REPORT0 +----------------------- + +:Input parameters: struct tdx_report_req +:Output: Upon successful execution, TDREPORT data is copied to + tdx_report_req.tdreport and return 0. Return -EINVAL for invalid + operands, -EIO on TDCALL failure or standard error number on other + common failures. + +The TDX_CMD_GET_REPORT0 IOCTL can be used by the attestation software to get +the TDREPORT0 (a.k.a. TDREPORT subtype 0) from the TDX module using +TDCALL[TDG.MR.REPORT]. + +A subtype index is added at the end of this IOCTL CMD to uniquely identify the +subtype-specific TDREPORT request. Although the subtype option is mentioned in +the TDX Module v1.0 specification, section titled "TDG.MR.REPORT", it is not +currently used, and it expects this value to be 0. So to keep the IOCTL +implementation simple, the subtype option was not included as part of the input +ABI. However, in the future, if the TDX Module supports more than one subtype, +a new IOCTL CMD will be created to handle it. To keep the IOCTL naming +consistent, a subtype index is added as part of the IOCTL CMD. + +Reference +--------- + +TDX reference material is collected here: + +https://www.intel.com/content/www/us/en/developer/articles/technical/intel-trust-domain-extensions.html + +The driver is based on TDX module specification v1.0 and TDX GHCI specification v1.0. --- linux-gcp-5.19.0.orig/Documentation/virt/index.rst +++ linux-gcp-5.19.0/Documentation/virt/index.rst @@ -14,6 +14,7 @@ ne_overview acrn/index coco/sev-guest + coco/tdx-guest .. only:: html and subproject --- linux-gcp-5.19.0.orig/Documentation/virt/kvm/api.rst +++ linux-gcp-5.19.0/Documentation/virt/kvm/api.rst @@ -4471,6 +4471,18 @@ :Parameters: struct kvm_s390_cmma_log (in, out) :Returns: 0 on success, a negative value on error +Errors: + + ====== ============================================================= + ENOMEM not enough memory can be allocated to complete the task + ENXIO if CMMA is not enabled + EINVAL if KVM_S390_CMMA_PEEK is not set but migration mode was not enabled + EINVAL if KVM_S390_CMMA_PEEK is not set but dirty tracking has been + disabled (and thus migration mode was automatically disabled) + EFAULT if the userspace address is invalid or if no page table is + present for the addresses (e.g. when using hugepages). + ====== ============================================================= + This ioctl is used to get the values of the CMMA bits on the s390 architecture. It is meant to be used in two scenarios: @@ -4551,12 +4563,6 @@ values points to the userspace buffer where the result will be stored. -This ioctl can fail with -ENOMEM if not enough memory can be allocated to -complete the task, with -ENXIO if CMMA is not enabled, with -EINVAL if -KVM_S390_CMMA_PEEK is not set but migration mode was not enabled, with --EFAULT if the userspace address is invalid or if no page table is -present for the addresses (e.g. when using hugepages). - 4.108 KVM_S390_SET_CMMA_BITS ---------------------------- @@ -5127,7 +5133,15 @@ __u32 reserved[3]; }; -cmd values: +**Ultravisor return codes** +The Ultravisor return (reason) codes are provided by the kernel if a +Ultravisor call has been executed to achieve the results expected by +the command. Therefore they are independent of the IOCTL return +code. If KVM changes `rc`, its value will always be greater than 0 +hence setting it to 0 before issuing a PV command is advised to be +able to detect a change of `rc`. + +**cmd values:** KVM_PV_ENABLE Allocate memory and register the VM with the Ultravisor, thereby @@ -5143,7 +5157,6 @@ ===== ============================= KVM_PV_DISABLE - Deregister the VM from the Ultravisor and reclaim the memory that had been donated to the Ultravisor, making it usable by the kernel again. All registered VCPUs are converted back to non-protected @@ -5160,6 +5173,117 @@ Verify the integrity of the unpacked image. Only if this succeeds, KVM is allowed to start protected VCPUs. +KVM_PV_INFO + :Capability: KVM_CAP_S390_PROTECTED_DUMP + + Presents an API that provides Ultravisor related data to userspace + via subcommands. len_max is the size of the user space buffer, + len_written is KVM's indication of how much bytes of that buffer + were actually written to. len_written can be used to determine the + valid fields if more response fields are added in the future. + + :: + + enum pv_cmd_info_id { + KVM_PV_INFO_VM, + KVM_PV_INFO_DUMP, + }; + + struct kvm_s390_pv_info_header { + __u32 id; + __u32 len_max; + __u32 len_written; + __u32 reserved; + }; + + struct kvm_s390_pv_info { + struct kvm_s390_pv_info_header header; + struct kvm_s390_pv_info_dump dump; + struct kvm_s390_pv_info_vm vm; + }; + +**subcommands:** + + KVM_PV_INFO_VM + This subcommand provides basic Ultravisor information for PV + hosts. These values are likely also exported as files in the sysfs + firmware UV query interface but they are more easily available to + programs in this API. + + The installed calls and feature_indication members provide the + installed UV calls and the UV's other feature indications. + + The max_* members provide information about the maximum number of PV + vcpus, PV guests and PV guest memory size. + + :: + + struct kvm_s390_pv_info_vm { + __u64 inst_calls_list[4]; + __u64 max_cpus; + __u64 max_guests; + __u64 max_guest_addr; + __u64 feature_indication; + }; + + + KVM_PV_INFO_DUMP + This subcommand provides information related to dumping PV guests. + + :: + + struct kvm_s390_pv_info_dump { + __u64 dump_cpu_buffer_len; + __u64 dump_config_mem_buffer_per_1m; + __u64 dump_config_finalize_len; + }; + +KVM_PV_DUMP + :Capability: KVM_CAP_S390_PROTECTED_DUMP + + Presents an API that provides calls which facilitate dumping a + protected VM. + + :: + + struct kvm_s390_pv_dmp { + __u64 subcmd; + __u64 buff_addr; + __u64 buff_len; + __u64 gaddr; /* For dump storage state */ + }; + + **subcommands:** + + KVM_PV_DUMP_INIT + Initializes the dump process of a protected VM. If this call does + not succeed all other subcommands will fail with -EINVAL. This + subcommand will return -EINVAL if a dump process has not yet been + completed. + + Not all PV vms can be dumped, the owner needs to set `dump + allowed` PCF bit 34 in the SE header to allow dumping. + + KVM_PV_DUMP_CONFIG_STOR_STATE + Stores `buff_len` bytes of tweak component values starting with + the 1MB block specified by the absolute guest address + (`gaddr`). `buff_len` needs to be `conf_dump_storage_state_len` + aligned and at least >= the `conf_dump_storage_state_len` value + provided by the dump uv_info data. buff_user might be written to + even if an error rc is returned. For instance if we encounter a + fault after writing the first page of data. + + KVM_PV_DUMP_COMPLETE + If the subcommand succeeds it completes the dump process and lets + KVM_PV_DUMP_INIT be called again. + + On success `conf_dump_finalize_len` bytes of completion data will be + stored to the `buff_addr`. The completion data contains a key + derivation seed, IV, tweak nonce and encryption keys as well as an + authentication tag all of which are needed to decrypt the dump at a + later time. + + 4.126 KVM_X86_SET_MSR_FILTER ---------------------------- @@ -5811,6 +5935,79 @@ This ioctl injects an event channel interrupt directly to the guest vCPU. +4.136 KVM_S390_PV_CPU_COMMAND +----------------------------- + +:Capability: KVM_CAP_S390_PROTECTED_DUMP +:Architectures: s390 +:Type: vcpu ioctl +:Parameters: none +:Returns: 0 on success, < 0 on error + +This ioctl closely mirrors `KVM_S390_PV_COMMAND` but handles requests +for vcpus. It re-uses the kvm_s390_pv_dmp struct and hence also shares +the command ids. + +**command:** + +KVM_PV_DUMP + Presents an API that provides calls which facilitate dumping a vcpu + of a protected VM. + +**subcommand:** + +KVM_PV_DUMP_CPU + Provides encrypted dump data like register values. + The length of the returned data is provided by uv_info.guest_cpu_stor_len. + +4.137 KVM_S390_ZPCI_OP +---------------------- + +:Capability: KVM_CAP_S390_ZPCI_OP +:Architectures: s390 +:Type: vm ioctl +:Parameters: struct kvm_s390_zpci_op (in) +:Returns: 0 on success, <0 on error + +Used to manage hardware-assisted virtualization features for zPCI devices. + +Parameters are specified via the following structure:: + + struct kvm_s390_zpci_op { + /* in */ + __u32 fh; /* target device */ + __u8 op; /* operation to perform */ + __u8 pad[3]; + union { + /* for KVM_S390_ZPCIOP_REG_AEN */ + struct { + __u64 ibv; /* Guest addr of interrupt bit vector */ + __u64 sb; /* Guest addr of summary bit */ + __u32 flags; + __u32 noi; /* Number of interrupts */ + __u8 isc; /* Guest interrupt subclass */ + __u8 sbo; /* Offset of guest summary bit vector */ + __u16 pad; + } reg_aen; + __u64 reserved[8]; + } u; + }; + +The type of operation is specified in the "op" field. +KVM_S390_ZPCIOP_REG_AEN is used to register the VM for adapter event +notification interpretation, which will allow firmware delivery of adapter +events directly to the vm, with KVM providing a backup delivery mechanism; +KVM_S390_ZPCIOP_DEREG_AEN is used to subsequently disable interpretation of +adapter event notifications. + +The target zPCI function must also be specified via the "fh" field. For the +KVM_S390_ZPCIOP_REG_AEN operation, additional information to establish firmware +delivery must be provided via the "reg_aen" struct. + +The "pad" and "reserved" fields may be used for future extensions and should be +set to 0s by userspace. + + 5. The kvm_run structure ======================== @@ -7965,6 +8162,20 @@ When enabled, KVM will exit to userspace with KVM_EXIT_SYSTEM_EVENT of type KVM_SYSTEM_EVENT_SUSPEND to process the guest suspend request. +8.37 KVM_CAP_S390_PROTECTED_DUMP +-------------------------------- + +:Capability: KVM_CAP_S390_PROTECTED_DUMP +:Architectures: s390 +:Type: vm + +This capability indicates that KVM and the Ultravisor support dumping +PV guests. The `KVM_PV_DUMP` command is available for the +`KVM_S390_PV_COMMAND` ioctl and the `KVM_PV_INFO` command provides +dump related UV data. Also the vcpu ioctl `KVM_S390_PV_CPU_COMMAND` is +available and supports the `KVM_PV_DUMP_CPU` subcommand. + + 9. Known KVM API problems ========================= @@ -7999,6 +8210,20 @@ It can be enabled if ``KVM_CAP_TSC_DEADLINE_TIMER`` is present and the kernel has enabled in-kernel emulation of the local APIC. +CPU topology +~~~~~~~~~~~~ + +Several CPUID values include topology information for the host CPU: +0x0b and 0x1f for Intel systems, 0x8000001e for AMD systems. Different +versions of KVM return different values for this information and userspace +should not rely on it. Currently they return all zeroes. + +If userspace wishes to set up a guest topology, it should be careful that +the values of these three leaves differ for each CPU. In particular, +the APIC ID is found in EDX for all subleaves of 0x0b and 0x1f, and in EAX +for 0x8000001e; the latter also encodes the core id and node id in bits +7:0 of EBX and ECX respectively. + Obsolete ioctls and capabilities ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ --- linux-gcp-5.19.0.orig/Documentation/virt/kvm/devices/vm.rst +++ linux-gcp-5.19.0/Documentation/virt/kvm/devices/vm.rst @@ -215,6 +215,7 @@ :Parameters: address of a buffer in user space to store the data (u8) to :Returns: -EFAULT if the given address is not accessible from kernel space; -EINVAL if setting the TOD clock extension to != 0 is not supported + -EOPNOTSUPP for a PV guest (TOD managed by the ultravisor) 3.2. ATTRIBUTE: KVM_S390_VM_TOD_LOW ----------------------------------- @@ -224,6 +225,7 @@ :Parameters: address of a buffer in user space to store the data (u64) to :Returns: -EFAULT if the given address is not accessible from kernel space + -EOPNOTSUPP for a PV guest (TOD managed by the ultravisor) 3.3. ATTRIBUTE: KVM_S390_VM_TOD_EXT ----------------------------------- @@ -237,6 +239,7 @@ (kvm_s390_vm_tod_clock) to :Returns: -EFAULT if the given address is not accessible from kernel space; -EINVAL if setting the TOD clock extension to != 0 is not supported + -EOPNOTSUPP for a PV guest (TOD managed by the ultravisor) 4. GROUP: KVM_S390_VM_CRYPTO ============================ @@ -299,6 +302,10 @@ Setting this attribute when migration mode is already active will have no effects. +Dirty tracking must be enabled on all memslots, else -EINVAL is returned. When +dirty tracking is disabled on any memslot, migration mode is automatically +stopped. + :Parameters: none :Returns: -ENOMEM if there is not enough free memory to start migration mode; -EINVAL if the state of the VM is invalid (e.g. no memory defined); --- linux-gcp-5.19.0.orig/Documentation/virt/kvm/s390/index.rst +++ linux-gcp-5.19.0/Documentation/virt/kvm/s390/index.rst @@ -10,3 +10,4 @@ s390-diag s390-pv s390-pv-boot + s390-pv-dump --- linux-gcp-5.19.0.orig/Documentation/virt/kvm/s390/s390-pv-dump.rst +++ linux-gcp-5.19.0/Documentation/virt/kvm/s390/s390-pv-dump.rst @@ -0,0 +1,64 @@ +.. SPDX-License-Identifier: GPL-2.0 + +=========================================== +s390 (IBM Z) Protected Virtualization dumps +=========================================== + +Summary +------- + +Dumping a VM is an essential tool for debugging problems inside +it. This is especially true when a protected VM runs into trouble as +there's no way to access its memory and registers from the outside +while it's running. + +However when dumping a protected VM we need to maintain its +confidentiality until the dump is in the hands of the VM owner who +should be the only one capable of analysing it. + +The confidentiality of the VM dump is ensured by the Ultravisor who +provides an interface to KVM over which encrypted CPU and memory data +can be requested. The encryption is based on the Customer +Communication Key which is the key that's used to encrypt VM data in a +way that the customer is able to decrypt. + + +Dump process +------------ + +A dump is done in 3 steps: + +**Initiation** + +This step initializes the dump process, generates cryptographic seeds +and extracts dump keys with which the VM dump data will be encrypted. + +**Data gathering** + +Currently there are two types of data that can be gathered from a VM: +the memory and the vcpu state. + +The vcpu state contains all the important registers, general, floating +point, vector, control and tod/timers of a vcpu. The vcpu dump can +contain incomplete data if a vcpu is dumped while an instruction is +emulated with help of the hypervisor. This is indicated by a flag bit +in the dump data. For the same reason it is very important to not only +write out the encrypted vcpu state, but also the unencrypted state +from the hypervisor. + +The memory state is further divided into the encrypted memory and its +metadata comprised of the encryption tweaks and status flags. The +encrypted memory can simply be read once it has been exported. The +time of the export does not matter as no re-encryption is +needed. Memory that has been swapped out and hence was exported can be +read from the swap and written to the dump target without need for any +special actions. + +The tweaks / status flags for the exported pages need to be requested +from the Ultravisor. + +**Finalization** + +The finalization step will provide the data needed to be able to +decrypt the vcpu and memory data and end the dump process. When this +step completes successfully a new dump initiation can be started. --- linux-gcp-5.19.0.orig/Documentation/x86/amd-memory-encryption.rst +++ linux-gcp-5.19.0/Documentation/x86/amd-memory-encryption.rst @@ -95,3 +95,39 @@ not enable SME, then Linux will not be able to activate memory encryption, even if configured to do so by default or the mem_encrypt=on command line parameter is specified. + +Secure Nested Paging (SNP) +========================== + +SEV-SNP introduces new features (SEV_FEATURES[1:63]) which can be enabled +by the hypervisor for security enhancements. Some of these features need +guest side implementation to function correctly. The below table lists the +expected guest behavior with various possible scenarios of guest/hypervisor +SNP feature support. + ++-----------------+---------------+---------------+------------------+ +| Feature Enabled | Guest needs | Guest has | Guest boot | +| by the HV | implementation| implementation| behaviour | ++=================+===============+===============+==================+ +| No | No | No | Boot | +| | | | | ++-----------------+---------------+---------------+------------------+ +| No | Yes | No | Boot | +| | | | | ++-----------------+---------------+---------------+------------------+ +| No | Yes | Yes | Boot | +| | | | | ++-----------------+---------------+---------------+------------------+ +| Yes | No | No | Boot with | +| | | | feature enabled | ++-----------------+---------------+---------------+------------------+ +| Yes | Yes | No | Graceful boot | +| | | | failure | ++-----------------+---------------+---------------+------------------+ +| Yes | Yes | Yes | Boot with | +| | | | feature enabled | ++-----------------+---------------+---------------+------------------+ + +More details in AMD64 APM[1] Vol 2: 15.34.10 SEV_STATUS MSR + +[1] https://www.amd.com/system/files/TechDocs/40332.pdf --- linux-gcp-5.19.0.orig/Documentation/x86/tdx.rst +++ linux-gcp-5.19.0/Documentation/x86/tdx.rst @@ -210,6 +210,49 @@ For coherent DMA allocation, the DMA buffer gets converted on the allocation. Check force_dma_unencrypted() for details. +Attestation +=========== + +Attestation is used to verify the TDX guest trustworthiness to other +entities before provisioning secrets to the guest. For example, a key +server may want to use attestation to verify that the guest is the +desired one before releasing the encryption keys to mount the encrypted +rootfs or a secondary drive. + +The TDX module records the state of the TDX guest in various stages of +the guest boot process using the build time measurement register (MRTD) +and runtime measurement registers (RTMR). Measurements related to the +guest initial configuration and firmware image are recorded in the MRTD +register. Measurements related to initial state, kernel image, firmware +image, command line options, initrd, ACPI tables, etc are recorded in +RTMR registers. For more details, as an example, please refer to TDX +Virtual Firmware design specification, section titled "TD Measurement". +At TDX guest runtime, the attestation process is used to attest to these +measurements. + +The attestation process consists of two steps: TDREPORT generation and +Quote generation. + +TDX guest uses TDCALL[TDG.MR.REPORT] to get the TDREPORT (TDREPORT_STRUCT) +from the TDX module. TDREPORT is a fixed-size data structure generated by +the TDX module which contains guest-specific information (such as build +and boot measurements), platform security version, and the MAC to protect +the integrity of the TDREPORT. A user-provided 64-Byte REPORTDATA is used +as input and included in the TDREPORT. Typically it can be some nonce +provided by attestation service so the TDREPORT can be verified uniquely. +More details about the TDREPORT can be found in Intel TDX Module +specification, section titled "TDG.MR.REPORT Leaf". + +After getting the TDREPORT, the second step of the attestation process +is to send it to the Quoting Enclave (QE) to generate the Quote. TDREPORT +by design can only be verified on the local platform as the MAC key is +bound to the platform. To support remote verification of the TDREPORT, +TDX leverages Intel SGX Quoting Enclave to verify the TDREPORT locally +and convert it to a remotely verifiable Quote. Method of sending TDREPORT +to QE is implementation specific. Attestation software can choose +whatever communication channel available (i.e. vsock or TCP/IP) to +send the TDREPORT to QE and receive the Quote. + References ========== --- linux-gcp-5.19.0.orig/Kconfig +++ linux-gcp-5.19.0/Kconfig @@ -19,6 +19,8 @@ source "drivers/Kconfig" +source "ubuntu/Kconfig" + source "fs/Kconfig" source "security/Kconfig" --- linux-gcp-5.19.0.orig/MAINTAINERS +++ linux-gcp-5.19.0/MAINTAINERS @@ -260,6 +260,18 @@ F: Documentation/scsi/aacraid.rst F: drivers/scsi/aacraid/ +AAEON DEVICE DRIVER WITH WMI INTERFACE +M: Edward Lin +M: Kunyang Fan +M: Frank Hsieh +M: Jacob Wu +S: Supported +F: drivers/gpio/gpio-aaeon.c +F: drivers/hwmon/hwmon-aaeon.c +F: drivers/leds/leds-aaeon.c +F: drivers/mfd/mfd-aaeon.c +F: drivers/watchdog/wdt_aaeon.c + ABI/API L: linux-api@vger.kernel.org F: include/linux/syscalls.h @@ -3342,7 +3354,7 @@ AUDIT SUBSYSTEM M: Paul Moore M: Eric Paris -L: linux-audit@redhat.com (moderated for non-subscribers) +L: audit@vger.kernel.org S: Supported W: https://github.com/linux-audit T: git git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/audit.git @@ -4845,6 +4857,7 @@ F: Documentation/devicetree/bindings/sound/cirrus,cs* F: include/dt-bindings/sound/cs* F: sound/pci/hda/cs* +F: sound/pci/hda/hda_cs_dsp_ctl.* F: sound/soc/codecs/cs* CIRRUS LOGIC DSP FIRMWARE DRIVER @@ -7773,9 +7786,6 @@ F: include/linux/fs_types.h F: include/uapi/linux/fs.h F: include/uapi/linux/openat2.h -X: fs/io-wq.c -X: fs/io-wq.h -X: fs/io_uring.c FINTEK F75375S HARDWARE MONITOR AND FAN CONTROLLER DRIVER M: Riku Voipio @@ -10476,9 +10486,7 @@ S: Maintained T: git git://git.kernel.dk/linux-block T: git git://git.kernel.dk/liburing -F: fs/io-wq.c -F: fs/io-wq.h -F: fs/io_uring.c +F: io_uring/ F: include/linux/io_uring.h F: include/uapi/linux/io_uring.h F: tools/io_uring/ @@ -17574,7 +17582,7 @@ L: linux-s390@vger.kernel.org S: Supported W: http://www.ibm.com/developerworks/linux/linux390/ -F: Documentation/s390/vfio-ap.rst +F: Documentation/s390/vfio-ap* F: drivers/s390/crypto/vfio_ap* S390 VFIO-CCW DRIVER @@ -17594,6 +17602,7 @@ L: linux-s390@vger.kernel.org L: kvm@vger.kernel.org S: Supported +F: arch/s390/kvm/pci* F: drivers/vfio/pci/vfio_pci_zdev.c F: include/uapi/linux/vfio_zdev.h --- linux-gcp-5.19.0.orig/Makefile +++ linux-gcp-5.19.0/Makefile @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 19 -SUBLEVEL = 0 +SUBLEVEL = 17 EXTRAVERSION = NAME = Superb Owl @@ -93,10 +93,17 @@ # If the user is running make -s (silent mode), suppress echoing of # commands +# make-4.0 (and later) keep single letter options in the 1st word of MAKEFLAGS. -ifneq ($(findstring s,$(filter-out --%,$(MAKEFLAGS))),) - quiet=silent_ - KBUILD_VERBOSE = 0 +ifeq ($(filter 3.%,$(MAKE_VERSION)),) +silence:=$(findstring s,$(firstword -$(MAKEFLAGS))) +else +silence:=$(findstring s,$(filter-out --%,$(MAKEFLAGS))) +endif + +ifeq ($(silence),s) +quiet=silent_ +KBUILD_VERBOSE = 0 endif export quiet Q KBUILD_VERBOSE @@ -519,6 +526,9 @@ -I$(objtree)/include \ $(USERINCLUDE) +# UBUNTU: Include our third party driver stuff too +LINUXINCLUDE += -I$(srctree)/ubuntu/include + KBUILD_AFLAGS := -D__ASSEMBLY__ -fno-PIE KBUILD_CFLAGS := -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs \ -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE \ @@ -674,7 +684,7 @@ ifeq ($(KBUILD_EXTMOD),) # Objects we will link into vmlinux / subdirs we need to visit core-y := init/ usr/ arch/$(SRCARCH)/ -drivers-y := drivers/ sound/ +drivers-y := drivers/ sound/ ubuntu/ drivers-$(CONFIG_SAMPLES) += samples/ drivers-$(CONFIG_NET) += net/ drivers-y += virt/ @@ -830,8 +840,8 @@ # Initialize all stack variables with a zero value. ifdef CONFIG_INIT_STACK_ALL_ZERO KBUILD_CFLAGS += -ftrivial-auto-var-init=zero -ifdef CONFIG_CC_IS_CLANG -# https://bugs.llvm.org/show_bug.cgi?id=45497 +ifdef CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_ENABLER +# https://github.com/llvm/llvm-project/issues/44842 KBUILD_CFLAGS += -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang endif endif @@ -1033,6 +1043,11 @@ KBUILD_LDFLAGS_MODULE += --build-id=sha1 LDFLAGS_vmlinux += --build-id=sha1 +KBUILD_LDFLAGS += -z noexecstack +ifeq ($(CONFIG_LD_IS_BFD),y) +KBUILD_LDFLAGS += $(call ld-option,--no-warn-rwx-segments) +endif + ifeq ($(CONFIG_STRIP_ASM_SYMS),y) LDFLAGS_vmlinux += $(call ld-option, -X,) endif @@ -1097,6 +1112,7 @@ ifeq ($(KBUILD_EXTMOD),) core-y += kernel/ certs/ mm/ fs/ ipc/ security/ crypto/ core-$(CONFIG_BLOCK) += block/ +core-$(CONFIG_IO_URING) += io_uring/ vmlinux-dirs := $(patsubst %/,%,$(filter %/, \ $(core-y) $(core-m) $(drivers-y) $(drivers-m) \ @@ -1106,13 +1122,11 @@ $(patsubst %/,%,$(filter %/, $(core-) \ $(drivers-) $(libs-)))) -subdir-modorder := $(addsuffix modules.order,$(filter %/, \ - $(core-y) $(core-m) $(libs-y) $(libs-m) \ - $(drivers-y) $(drivers-m))) - build-dirs := $(vmlinux-dirs) clean-dirs := $(vmlinux-alldirs) +subdir-modorder := $(addsuffix /modules.order, $(build-dirs)) + # Externally visible symbols (used by link-vmlinux.sh) KBUILD_VMLINUX_OBJS := $(head-y) $(patsubst %/,%/built-in.a, $(core-y)) KBUILD_VMLINUX_OBJS += $(addsuffix built-in.a, $(filter %/, $(libs-y))) @@ -1282,10 +1296,10 @@ PHONY += headers headers: $(version_h) scripts_unifdef uapi-asm-generic archheaders archscripts - $(if $(wildcard $(srctree)/arch/$(SRCARCH)/include/uapi/asm/Kbuild),, \ - $(error Headers not exportable for the $(SRCARCH) architecture)) + $(if $(filter um, $(SRCARCH)), $(error Headers not exportable for UML)) $(Q)$(MAKE) $(hdr-inst)=include/uapi $(Q)$(MAKE) $(hdr-inst)=arch/$(SRCARCH)/include/uapi + $(Q)$(MAKE) $(hdr-inst)=ubuntu/include dst=include oldheaders= ifdef CONFIG_HEADERS_INSTALL prepare: headers --- linux-gcp-5.19.0.orig/Ubuntu.md +++ linux-gcp-5.19.0/Ubuntu.md @@ -0,0 +1,8 @@ +Name: linux-gcp +Version: 5.19.0 +Series: 22.10 (kinetic) +Description: + This is the source code for the Ubuntu linux kernel for the 22.10 series. This + source tree is used to produce the flavours: gcp. + This kernel is configured to support the widest range of desktop, laptop and + server configurations. --- linux-gcp-5.19.0.orig/arch/Kconfig +++ linux-gcp-5.19.0/arch/Kconfig @@ -223,6 +223,9 @@ config TRACE_IRQFLAGS_SUPPORT bool +config TRACE_IRQFLAGS_NMI_SUPPORT + bool + # # An arch should select this if it provides all these things: # @@ -627,7 +630,7 @@ config SHADOW_CALL_STACK bool "Shadow Call Stack" depends on ARCH_SUPPORTS_SHADOW_CALL_STACK - depends on DYNAMIC_FTRACE_WITH_REGS || !FUNCTION_GRAPH_TRACER + depends on DYNAMIC_FTRACE_WITH_ARGS || DYNAMIC_FTRACE_WITH_REGS || !FUNCTION_GRAPH_TRACER help This option enables the compiler's Shadow Call Stack, which uses a shadow stack to protect function return addresses from --- linux-gcp-5.19.0.orig/arch/alpha/boot/tools/objstrip.c +++ linux-gcp-5.19.0/arch/alpha/boot/tools/objstrip.c @@ -148,7 +148,7 @@ #ifdef __ELF__ elf = (struct elfhdr *) buf; - if (elf->e_ident[0] == 0x7f && str_has_prefix((char *)elf->e_ident + 1, "ELF")) { + if (memcmp(&elf->e_ident[EI_MAG0], ELFMAG, SELFMAG) == 0) { if (elf->e_type != ET_EXEC) { fprintf(stderr, "%s: %s is not an ELF executable\n", prog_name, inname); --- linux-gcp-5.19.0.orig/arch/alpha/include/asm/thread_info.h +++ linux-gcp-5.19.0/arch/alpha/include/asm/thread_info.h @@ -75,7 +75,7 @@ /* Work to do on interrupt/exception return. */ #define _TIF_WORK_MASK (_TIF_SIGPENDING | _TIF_NEED_RESCHED | \ - _TIF_NOTIFY_RESUME) + _TIF_NOTIFY_RESUME | _TIF_NOTIFY_SIGNAL) /* Work to do on any return to userspace. */ #define _TIF_ALLWORK_MASK (_TIF_WORK_MASK \ --- linux-gcp-5.19.0.orig/arch/alpha/kernel/entry.S +++ linux-gcp-5.19.0/arch/alpha/kernel/entry.S @@ -469,8 +469,10 @@ #ifdef CONFIG_AUDITSYSCALL lda $6, _TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT and $3, $6, $3 -#endif bne $3, strace +#else + blbs $3, strace /* check for SYSCALL_TRACE in disguise */ +#endif beq $4, 1f ldq $27, 0($5) 1: jsr $26, ($27), sys_ni_syscall --- linux-gcp-5.19.0.orig/arch/alpha/kernel/traps.c +++ linux-gcp-5.19.0/arch/alpha/kernel/traps.c @@ -233,7 +233,21 @@ { int signo, code; - if ((regs->ps & ~IPL_MAX) == 0) { + if (type == 3) { /* FEN fault */ + /* Irritating users can call PAL_clrfen to disable the + FPU for the process. The kernel will then trap in + do_switch_stack and undo_switch_stack when we try + to save and restore the FP registers. + + Given that GCC by default generates code that uses the + FP registers, PAL_clrfen is not useful except for DoS + attacks. So turn the bleeding FPU back on and be done + with it. */ + current_thread_info()->pcb.flags |= 1; + __reload_thread(¤t_thread_info()->pcb); + return; + } + if (!user_mode(regs)) { if (type == 1) { const unsigned int *data = (const unsigned int *) regs->pc; @@ -366,20 +380,6 @@ } break; - case 3: /* FEN fault */ - /* Irritating users can call PAL_clrfen to disable the - FPU for the process. The kernel will then trap in - do_switch_stack and undo_switch_stack when we try - to save and restore the FP registers. - - Given that GCC by default generates code that uses the - FP registers, PAL_clrfen is not useful except for DoS - attacks. So turn the bleeding FPU back on and be done - with it. */ - current_thread_info()->pcb.flags |= 1; - __reload_thread(¤t_thread_info()->pcb); - return; - case 5: /* illoc */ default: /* unexpected instruction-fault type */ ; --- linux-gcp-5.19.0.orig/arch/arc/include/asm/io.h +++ linux-gcp-5.19.0/arch/arc/include/asm/io.h @@ -32,7 +32,7 @@ { } -extern void iounmap(const void __iomem *addr); +extern void iounmap(const volatile void __iomem *addr); /* * io{read,write}{16,32}be() macros --- linux-gcp-5.19.0.orig/arch/arc/include/asm/pgtable-levels.h +++ linux-gcp-5.19.0/arch/arc/include/asm/pgtable-levels.h @@ -161,7 +161,7 @@ #define pmd_pfn(pmd) ((pmd_val(pmd) & PAGE_MASK) >> PAGE_SHIFT) #define pmd_page(pmd) virt_to_page(pmd_page_vaddr(pmd)) #define set_pmd(pmdp, pmd) (*(pmdp) = pmd) -#define pmd_pgtable(pmd) ((pgtable_t) pmd_page_vaddr(pmd)) +#define pmd_pgtable(pmd) ((pgtable_t) pmd_page(pmd)) /* * 4th level paging: pte --- linux-gcp-5.19.0.orig/arch/arc/mm/ioremap.c +++ linux-gcp-5.19.0/arch/arc/mm/ioremap.c @@ -94,7 +94,7 @@ EXPORT_SYMBOL(ioremap_prot); -void iounmap(const void __iomem *addr) +void iounmap(const volatile void __iomem *addr) { /* weird double cast to handle phys_addr_t > 32 bits */ if (arc_uncached_addr_space((phys_addr_t)(u32)addr)) --- linux-gcp-5.19.0.orig/arch/arm/Kconfig +++ linux-gcp-5.19.0/arch/arm/Kconfig @@ -1653,7 +1653,6 @@ choice prompt "Kernel command line type" if CMDLINE != "" default CMDLINE_FROM_BOOTLOADER - depends on ATAGS config CMDLINE_FROM_BOOTLOADER bool "Use bootloader kernel arguments if available" --- linux-gcp-5.19.0.orig/arch/arm/Makefile +++ linux-gcp-5.19.0/arch/arm/Makefile @@ -56,6 +56,9 @@ # KBUILD_CFLAGS += $(call cc-option,-fno-ipa-sra) +# Need -msoft-float for gcc 11 for the below instruction set selection +KBUILD_CFLAGS += -msoft-float + # This selects which instruction set is used. # Note that GCC does not numerically define an architecture version # macro, but instead defines a whole series of macros which makes @@ -129,7 +132,7 @@ endif # Need -Uarm for gcc < 3.x -KBUILD_CFLAGS +=$(CFLAGS_ABI) $(CFLAGS_ISA) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -msoft-float -Uarm +KBUILD_CFLAGS +=$(CFLAGS_ABI) $(CFLAGS_ISA) $(arch-y) $(tune-y) $(call cc-option,-mshort-load-bytes,$(call cc-option,-malignment-traps,)) -Uarm KBUILD_AFLAGS +=$(CFLAGS_ABI) $(AFLAGS_ISA) $(arch-y) $(tune-y) -include asm/unified.h -msoft-float CHECKFLAGS += -D__arm__ --- linux-gcp-5.19.0.orig/arch/arm/boot/compressed/misc.c +++ linux-gcp-5.19.0/arch/arm/boot/compressed/misc.c @@ -23,7 +23,9 @@ #include #include #include "misc.h" +#ifdef CONFIG_ARCH_EP93XX #include "misc-ep93xx.h" +#endif static void putstr(const char *ptr); --- linux-gcp-5.19.0.orig/arch/arm/boot/compressed/vmlinux.lds.S +++ linux-gcp-5.19.0/arch/arm/boot/compressed/vmlinux.lds.S @@ -23,6 +23,7 @@ *(.ARM.extab*) *(.note.*) *(.rel.*) + *(.printk_index) /* * Discard any r/w data - this produces a link error if we have any, * which is required for PIC decompression. Local data generates @@ -57,6 +58,7 @@ *(.rodata) *(.rodata.*) *(.data.rel.ro) + *(.data.rel.ro.*) } .piggydata : { *(.piggydata) --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/Makefile +++ linux-gcp-5.19.0/arch/arm/boot/dts/Makefile @@ -135,6 +135,7 @@ bcm47094-luxul-xwr-3150-v1.dtb \ bcm47094-netgear-r8500.dtb \ bcm47094-phicomm-k3.dtb \ + bcm53015-meraki-mr26.dtb \ bcm53016-meraki-mr32.dtb \ bcm94708.dtb \ bcm94709.dtb \ --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/am335x-pcm-953.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/am335x-pcm-953.dtsi @@ -12,22 +12,20 @@ compatible = "phytec,am335x-pcm-953", "phytec,am335x-phycore-som", "ti,am33xx"; /* Power */ - regulators { - vcc3v3: fixedregulator@1 { - compatible = "regulator-fixed"; - regulator-name = "vcc3v3"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-boot-on; - }; + vcc3v3: fixedregulator1 { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-boot-on; + }; - vcc1v8: fixedregulator@2 { - compatible = "regulator-fixed"; - regulator-name = "vcc1v8"; - regulator-min-microvolt = <1800000>; - regulator-max-microvolt = <1800000>; - regulator-boot-on; - }; + vcc1v8: fixedregulator2 { + compatible = "regulator-fixed"; + regulator-name = "vcc1v8"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-boot-on; }; /* User IO */ --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/am33xx-l4.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/am33xx-l4.dtsi @@ -1502,8 +1502,7 @@ mmc1: mmc@0 { compatible = "ti,am335-sdhci"; ti,needs-special-reset; - dmas = <&edma_xbar 24 0 0 - &edma_xbar 25 0 0>; + dmas = <&edma 24 0>, <&edma 25 0>; dma-names = "tx", "rx"; interrupts = <64>; reg = <0x0 0x1000>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/am5748.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/am5748.dtsi @@ -25,6 +25,10 @@ status = "disabled"; }; +&usb4_tm { + status = "disabled"; +}; + &atl_tm { status = "disabled"; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/armada-370.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/armada-370.dtsi @@ -74,7 +74,7 @@ pcie2: pcie@2,0 { device_type = "pci"; - assigned-addresses = <0x82002800 0 0x80000 0 0x2000>; + assigned-addresses = <0x82001000 0 0x80000 0 0x2000>; reg = <0x1000 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/armada-375.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/armada-375.dtsi @@ -582,7 +582,7 @@ pcie1: pcie@2,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x44000 0 0x2000>; + assigned-addresses = <0x82001000 0 0x44000 0 0x2000>; reg = <0x1000 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/armada-380.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/armada-380.dtsi @@ -79,7 +79,7 @@ /* x1 port */ pcie@2,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x40000 0 0x2000>; + assigned-addresses = <0x82001000 0 0x40000 0 0x2000>; reg = <0x1000 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; @@ -98,7 +98,7 @@ /* x1 port */ pcie@3,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x44000 0 0x2000>; + assigned-addresses = <0x82001800 0 0x44000 0 0x2000>; reg = <0x1800 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/armada-385-turris-omnia.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/armada-385-turris-omnia.dts @@ -23,6 +23,12 @@ stdout-path = &uart0; }; + aliases { + ethernet0 = ð0; + ethernet1 = ð1; + ethernet2 = ð2; + }; + memory { device_type = "memory"; reg = <0x00000000 0x40000000>; /* 1024 MB */ @@ -457,7 +463,17 @@ }; }; - /* port 6 is connected to eth0 */ + ports@6 { + reg = <6>; + label = "cpu"; + ethernet = <ð0>; + phy-mode = "rgmii-id"; + + fixed-link { + speed = <1000>; + full-duplex; + }; + }; }; }; }; @@ -478,7 +494,7 @@ marvell,function = "spi0"; }; - spi0cs1_pins: spi0cs1-pins { + spi0cs2_pins: spi0cs2-pins { marvell,pins = "mpp26"; marvell,function = "spi0"; }; @@ -513,7 +529,7 @@ }; }; - /* MISO, MOSI, SCLK and CS1 are routed to pin header CN11 */ + /* MISO, MOSI, SCLK and CS2 are routed to pin header CN11 */ }; &uart0 { --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/armada-385.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/armada-385.dtsi @@ -93,7 +93,7 @@ /* x1 port */ pcie2: pcie@2,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x40000 0 0x2000>; + assigned-addresses = <0x82001000 0 0x40000 0 0x2000>; reg = <0x1000 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; @@ -121,7 +121,7 @@ /* x1 port */ pcie3: pcie@3,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x44000 0 0x2000>; + assigned-addresses = <0x82001800 0 0x44000 0 0x2000>; reg = <0x1800 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; @@ -152,7 +152,7 @@ */ pcie4: pcie@4,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x48000 0 0x2000>; + assigned-addresses = <0x82002000 0 0x48000 0 0x2000>; reg = <0x2000 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/armada-39x.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/armada-39x.dtsi @@ -453,7 +453,7 @@ /* x1 port */ pcie@2,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x40000 0 0x2000>; + assigned-addresses = <0x82001000 0 0x40000 0 0x2000>; reg = <0x1000 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; @@ -472,7 +472,7 @@ /* x1 port */ pcie@3,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x44000 0 0x2000>; + assigned-addresses = <0x82001800 0 0x44000 0 0x2000>; reg = <0x1800 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; @@ -494,7 +494,7 @@ */ pcie@4,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x48000 0 0x2000>; + assigned-addresses = <0x82002000 0 0x48000 0 0x2000>; reg = <0x2000 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/armada-xp-mv78230.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/armada-xp-mv78230.dtsi @@ -97,7 +97,7 @@ pcie2: pcie@2,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x44000 0 0x2000>; + assigned-addresses = <0x82001000 0 0x44000 0 0x2000>; reg = <0x1000 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; @@ -115,7 +115,7 @@ pcie3: pcie@3,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x48000 0 0x2000>; + assigned-addresses = <0x82001800 0 0x48000 0 0x2000>; reg = <0x1800 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; @@ -133,7 +133,7 @@ pcie4: pcie@4,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x4c000 0 0x2000>; + assigned-addresses = <0x82002000 0 0x4c000 0 0x2000>; reg = <0x2000 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; @@ -151,7 +151,7 @@ pcie5: pcie@5,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x80000 0 0x2000>; + assigned-addresses = <0x82002800 0 0x80000 0 0x2000>; reg = <0x2800 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/armada-xp-mv78260.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/armada-xp-mv78260.dtsi @@ -112,7 +112,7 @@ pcie2: pcie@2,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x44000 0 0x2000>; + assigned-addresses = <0x82001000 0 0x44000 0 0x2000>; reg = <0x1000 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; @@ -130,7 +130,7 @@ pcie3: pcie@3,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x48000 0 0x2000>; + assigned-addresses = <0x82001800 0 0x48000 0 0x2000>; reg = <0x1800 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; @@ -148,7 +148,7 @@ pcie4: pcie@4,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x4c000 0 0x2000>; + assigned-addresses = <0x82002000 0 0x4c000 0 0x2000>; reg = <0x2000 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; @@ -166,7 +166,7 @@ pcie5: pcie@5,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x80000 0 0x2000>; + assigned-addresses = <0x82002800 0 0x80000 0 0x2000>; reg = <0x2800 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; @@ -184,7 +184,7 @@ pcie6: pcie@6,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x84000 0 0x2000>; + assigned-addresses = <0x82003000 0 0x84000 0 0x2000>; reg = <0x3000 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; @@ -202,7 +202,7 @@ pcie7: pcie@7,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x88000 0 0x2000>; + assigned-addresses = <0x82003800 0 0x88000 0 0x2000>; reg = <0x3800 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; @@ -220,7 +220,7 @@ pcie8: pcie@8,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x8c000 0 0x2000>; + assigned-addresses = <0x82004000 0 0x8c000 0 0x2000>; reg = <0x4000 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; @@ -238,7 +238,7 @@ pcie9: pcie@9,0 { device_type = "pci"; - assigned-addresses = <0x82000800 0 0x42000 0 0x2000>; + assigned-addresses = <0x82004800 0 0x42000 0 0x2000>; reg = <0x4800 0 0 0 0>; #address-cells = <3>; #size-cells = <2>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/aspeed-ast2500-evb.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/aspeed-ast2500-evb.dts @@ -5,7 +5,7 @@ / { model = "AST2500 EVB"; - compatible = "aspeed,ast2500"; + compatible = "aspeed,ast2500-evb", "aspeed,ast2500"; aliases { serial4 = &uart5; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/aspeed-ast2600-evb-a1.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/aspeed-ast2600-evb-a1.dts @@ -5,6 +5,7 @@ / { model = "AST2600 A1 EVB"; + compatible = "aspeed,ast2600-evb-a1", "aspeed,ast2600"; /delete-node/regulator-vcc-sdhci0; /delete-node/regulator-vcc-sdhci1; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/aspeed-ast2600-evb.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/aspeed-ast2600-evb.dts @@ -8,7 +8,7 @@ / { model = "AST2600 EVB"; - compatible = "aspeed,ast2600"; + compatible = "aspeed,ast2600-evb-a1", "aspeed,ast2600"; aliases { serial4 = &uart5; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/at91-sama5d27_wlsom1.dtsi @@ -76,8 +76,8 @@ regulators { vdd_3v3: VDD_IO { regulator-name = "VDD_IO"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <3700000>; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; regulator-initial-mode = <2>; regulator-allowed-modes = <2>, <4>; regulator-always-on; @@ -95,8 +95,8 @@ vddio_ddr: VDD_DDR { regulator-name = "VDD_DDR"; - regulator-min-microvolt = <600000>; - regulator-max-microvolt = <1850000>; + regulator-min-microvolt = <1200000>; + regulator-max-microvolt = <1200000>; regulator-initial-mode = <2>; regulator-allowed-modes = <2>, <4>; regulator-always-on; @@ -118,8 +118,8 @@ vdd_core: VDD_CORE { regulator-name = "VDD_CORE"; - regulator-min-microvolt = <600000>; - regulator-max-microvolt = <1850000>; + regulator-min-microvolt = <1250000>; + regulator-max-microvolt = <1250000>; regulator-initial-mode = <2>; regulator-allowed-modes = <2>, <4>; regulator-always-on; @@ -160,8 +160,8 @@ LDO1 { regulator-name = "LDO1"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <3700000>; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; regulator-always-on; regulator-state-standby { @@ -175,9 +175,8 @@ LDO2 { regulator-name = "LDO2"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <3700000>; - regulator-always-on; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; regulator-state-standby { regulator-on-in-suspend; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/at91-sama5d2_icp.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/at91-sama5d2_icp.dts @@ -197,8 +197,8 @@ regulators { vdd_io_reg: VDD_IO { regulator-name = "VDD_IO"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <3700000>; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; regulator-initial-mode = <2>; regulator-allowed-modes = <2>, <4>; regulator-always-on; @@ -216,8 +216,8 @@ VDD_DDR { regulator-name = "VDD_DDR"; - regulator-min-microvolt = <600000>; - regulator-max-microvolt = <1850000>; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <1350000>; regulator-initial-mode = <2>; regulator-allowed-modes = <2>, <4>; regulator-always-on; @@ -235,8 +235,8 @@ VDD_CORE { regulator-name = "VDD_CORE"; - regulator-min-microvolt = <600000>; - regulator-max-microvolt = <1850000>; + regulator-min-microvolt = <1250000>; + regulator-max-microvolt = <1250000>; regulator-initial-mode = <2>; regulator-allowed-modes = <2>, <4>; regulator-always-on; @@ -258,7 +258,6 @@ regulator-max-microvolt = <1850000>; regulator-initial-mode = <2>; regulator-allowed-modes = <2>, <4>; - regulator-always-on; regulator-state-standby { regulator-on-in-suspend; @@ -273,8 +272,8 @@ LDO1 { regulator-name = "LDO1"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <3700000>; + regulator-min-microvolt = <2500000>; + regulator-max-microvolt = <2500000>; regulator-always-on; regulator-state-standby { @@ -288,8 +287,8 @@ LDO2 { regulator-name = "LDO2"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <3700000>; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; regulator-always-on; regulator-state-standby { --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/at91-sama7g5ek.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/at91-sama7g5ek.dts @@ -244,8 +244,8 @@ regulators { vdd_3v3: VDD_IO { regulator-name = "VDD_IO"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <3700000>; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; regulator-initial-mode = <2>; regulator-allowed-modes = <2>, <4>; regulator-always-on; @@ -264,8 +264,8 @@ vddioddr: VDD_DDR { regulator-name = "VDD_DDR"; - regulator-min-microvolt = <1300000>; - regulator-max-microvolt = <1450000>; + regulator-min-microvolt = <1350000>; + regulator-max-microvolt = <1350000>; regulator-initial-mode = <2>; regulator-allowed-modes = <2>, <4>; regulator-always-on; @@ -285,8 +285,8 @@ vddcore: VDD_CORE { regulator-name = "VDD_CORE"; - regulator-min-microvolt = <1100000>; - regulator-max-microvolt = <1850000>; + regulator-min-microvolt = <1150000>; + regulator-max-microvolt = <1150000>; regulator-initial-mode = <2>; regulator-allowed-modes = <2>, <4>; regulator-always-on; @@ -306,7 +306,7 @@ vddcpu: VDD_OTHER { regulator-name = "VDD_OTHER"; regulator-min-microvolt = <1050000>; - regulator-max-microvolt = <1850000>; + regulator-max-microvolt = <1250000>; regulator-initial-mode = <2>; regulator-allowed-modes = <2>, <4>; regulator-ramp-delay = <3125>; @@ -326,8 +326,8 @@ vldo1: LDO1 { regulator-name = "LDO1"; - regulator-min-microvolt = <1200000>; - regulator-max-microvolt = <3700000>; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; regulator-always-on; regulator-state-standby { --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/at91rm9200.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/at91rm9200.dtsi @@ -660,7 +660,7 @@ compatible = "atmel,at91rm9200-udc"; reg = <0xfffb0000 0x4000>; interrupts = <11 IRQ_TYPE_LEVEL_HIGH 2>; - clocks = <&pmc PMC_TYPE_PERIPHERAL 11>, <&pmc PMC_TYPE_SYSTEM 2>; + clocks = <&pmc PMC_TYPE_PERIPHERAL 11>, <&pmc PMC_TYPE_SYSTEM 1>; clock-names = "pclk", "hclk"; status = "disabled"; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/at91sam9g20ek_common.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/at91sam9g20ek_common.dtsi @@ -39,6 +39,13 @@ }; + usb1 { + pinctrl_usb1_vbus_gpio: usb1_vbus_gpio { + atmel,pins = + ; /* PC5 GPIO */ + }; + }; + mmc0_slot1 { pinctrl_board_mmc0_slot1: mmc0_slot1-board { atmel,pins = @@ -84,6 +91,8 @@ }; usb1: gadget@fffa4000 { + pinctrl-0 = <&pinctrl_usb1_vbus_gpio>; + pinctrl-names = "default"; atmel,vbus-gpio = <&pioC 5 GPIO_ACTIVE_HIGH>; status = "okay"; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/bcm53015-meraki-mr26.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/bcm53015-meraki-mr26.dts @@ -0,0 +1,166 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Broadcom BCM470X / BCM5301X ARM platform code. + * DTS for Meraki MR26 / Codename: Venom + * + * Copyright (C) 2022 Christian Lamparter + */ + +/dts-v1/; + +#include "bcm4708.dtsi" +#include "bcm5301x-nand-cs0-bch8.dtsi" +#include + +/ { + compatible = "meraki,mr26", "brcm,bcm53015", "brcm,bcm4708"; + model = "Meraki MR26"; + + memory@0 { + reg = <0x00000000 0x08000000>; + device_type = "memory"; + }; + + leds { + compatible = "gpio-leds"; + + led-0 { + function = LED_FUNCTION_FAULT; + color = ; + gpios = <&chipcommon 13 GPIO_ACTIVE_HIGH>; + panic-indicator; + }; + led-1 { + function = LED_FUNCTION_INDICATOR; + color = ; + gpios = <&chipcommon 12 GPIO_ACTIVE_HIGH>; + }; + }; + + keys { + compatible = "gpio-keys"; + #address-cells = <1>; + #size-cells = <0>; + + key-restart { + label = "Reset"; + linux,code = ; + gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&uart0 { + clock-frequency = <50000000>; + /delete-property/ clocks; +}; + +&uart1 { + status = "disabled"; +}; + +&gmac0 { + status = "okay"; +}; + +&gmac1 { + status = "disabled"; +}; +&gmac2 { + status = "disabled"; +}; +&gmac3 { + status = "disabled"; +}; + +&nandcs { + nand-ecc-algo = "hw"; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <0x1>; + #size-cells = <0x1>; + + partition@0 { + label = "u-boot"; + reg = <0x0 0x200000>; + read-only; + }; + + partition@200000 { + label = "u-boot-env"; + reg = <0x200000 0x200000>; + /* empty */ + }; + + partition@400000 { + label = "u-boot-backup"; + reg = <0x400000 0x200000>; + /* empty */ + }; + + partition@600000 { + label = "u-boot-env-backup"; + reg = <0x600000 0x200000>; + /* empty */ + }; + + partition@800000 { + label = "ubi"; + reg = <0x800000 0x7780000>; + }; + }; +}; + +&srab { + status = "okay"; + + ports { + port@0 { + reg = <0>; + label = "poe"; + }; + + port@5 { + reg = <5>; + label = "cpu"; + ethernet = <&gmac0>; + + fixed-link { + speed = <1000>; + duplex-full; + }; + }; + }; +}; + +&i2c0 { + status = "okay"; + + pinctrl-names = "default"; + pinctrl-0 = <&pinmux_i2c>; + + clock-frequency = <100000>; + + ina219@40 { + compatible = "ti,ina219"; /* PoE power */ + reg = <0x40>; + shunt-resistor = <60000>; /* = 60 mOhms */ + }; + + eeprom@56 { + compatible = "atmel,24c64"; + reg = <0x56>; + pagesize = <32>; + read-only; + #address-cells = <1>; + #size-cells = <1>; + + /* it's empty */ + }; +}; + +&thermal { + status = "disabled"; + /* does not work, reads 418 degree Celsius */ +}; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/dove.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/dove.dtsi @@ -129,7 +129,7 @@ pcie1: pcie@2 { device_type = "pci"; status = "disabled"; - assigned-addresses = <0x82002800 0 0x80000 0 0x2000>; + assigned-addresses = <0x82001000 0 0x80000 0 0x2000>; reg = <0x1000 0 0 0 0>; clocks = <&gate_clk 5>; marvell,pcie-port = <1>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/exynos3250-rinato.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/exynos3250-rinato.dts @@ -250,7 +250,7 @@ i80-if-timings { cs-setup = <0>; wr-setup = <0>; - wr-act = <1>; + wr-active = <1>; wr-hold = <0>; }; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/exynos4-cpu-thermal.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/exynos4-cpu-thermal.dtsi @@ -10,7 +10,7 @@ / { thermal-zones { cpu_thermal: cpu-thermal { - thermal-sensors = <&tmu 0>; + thermal-sensors = <&tmu>; polling-delay-passive = <0>; polling-delay = <0>; trips { --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/exynos4.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/exynos4.dtsi @@ -605,7 +605,7 @@ status = "disabled"; hdmi_i2c_phy: hdmiphy@38 { - compatible = "exynos4210-hdmiphy"; + compatible = "samsung,exynos4210-hdmiphy"; reg = <0x38>; }; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/exynos4210.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/exynos4210.dtsi @@ -393,7 +393,6 @@ &cpu_thermal { polling-delay-passive = <0>; polling-delay = <0>; - thermal-sensors = <&tmu 0>; }; &gic { --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/exynos4412-midas.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/exynos4412-midas.dtsi @@ -585,7 +585,7 @@ clocks = <&camera 1>; clock-names = "extclk"; samsung,camclk-out = <1>; - gpios = <&gpm1 6 GPIO_ACTIVE_HIGH>; + gpios = <&gpm1 6 GPIO_ACTIVE_LOW>; port { is_s5k6a3_ep: endpoint { --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/exynos4412-origen.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/exynos4412-origen.dts @@ -95,7 +95,7 @@ }; &ehci { - samsung,vbus-gpio = <&gpx3 5 1>; + samsung,vbus-gpio = <&gpx3 5 GPIO_ACTIVE_HIGH>; status = "okay"; phys = <&exynos_usbphy 2>, <&exynos_usbphy 3>; phy-names = "hsic0", "hsic1"; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/exynos5250.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/exynos5250.dtsi @@ -1107,7 +1107,7 @@ &cpu_thermal { polling-delay-passive = <0>; polling-delay = <0>; - thermal-sensors = <&tmu 0>; + thermal-sensors = <&tmu>; cooling-maps { map0 { --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/exynos5410-odroidxu.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/exynos5410-odroidxu.dts @@ -120,7 +120,6 @@ }; &cpu0_thermal { - thermal-sensors = <&tmu_cpu0 0>; polling-delay-passive = <0>; polling-delay = <0>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/exynos5420.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/exynos5420.dtsi @@ -592,7 +592,7 @@ }; mipi_phy: mipi-video-phy { - compatible = "samsung,s5pv210-mipi-video-phy"; + compatible = "samsung,exynos5420-mipi-video-phy"; syscon = <&pmu_system_controller>; #phy-cells = <1>; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/exynos5422-odroidhc1.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/exynos5422-odroidhc1.dts @@ -29,7 +29,7 @@ thermal-zones { cpu0_thermal: cpu0-thermal { - thermal-sensors = <&tmu_cpu0 0>; + thermal-sensors = <&tmu_cpu0>; trips { cpu0_alert0: cpu-alert-0 { temperature = <70000>; /* millicelsius */ @@ -84,7 +84,7 @@ }; }; cpu1_thermal: cpu1-thermal { - thermal-sensors = <&tmu_cpu1 0>; + thermal-sensors = <&tmu_cpu1>; trips { cpu1_alert0: cpu-alert-0 { temperature = <70000>; @@ -128,7 +128,7 @@ }; }; cpu2_thermal: cpu2-thermal { - thermal-sensors = <&tmu_cpu2 0>; + thermal-sensors = <&tmu_cpu2>; trips { cpu2_alert0: cpu-alert-0 { temperature = <70000>; @@ -172,7 +172,7 @@ }; }; cpu3_thermal: cpu3-thermal { - thermal-sensors = <&tmu_cpu3 0>; + thermal-sensors = <&tmu_cpu3>; trips { cpu3_alert0: cpu-alert-0 { temperature = <70000>; @@ -216,7 +216,7 @@ }; }; gpu_thermal: gpu-thermal { - thermal-sensors = <&tmu_gpu 0>; + thermal-sensors = <&tmu_gpu>; trips { gpu_alert0: gpu-alert-0 { temperature = <70000>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi @@ -50,7 +50,7 @@ thermal-zones { cpu0_thermal: cpu0-thermal { - thermal-sensors = <&tmu_cpu0 0>; + thermal-sensors = <&tmu_cpu0>; polling-delay-passive = <250>; polling-delay = <0>; trips { @@ -139,7 +139,7 @@ }; }; cpu1_thermal: cpu1-thermal { - thermal-sensors = <&tmu_cpu1 0>; + thermal-sensors = <&tmu_cpu1>; polling-delay-passive = <250>; polling-delay = <0>; trips { @@ -212,7 +212,7 @@ }; }; cpu2_thermal: cpu2-thermal { - thermal-sensors = <&tmu_cpu2 0>; + thermal-sensors = <&tmu_cpu2>; polling-delay-passive = <250>; polling-delay = <0>; trips { @@ -285,7 +285,7 @@ }; }; cpu3_thermal: cpu3-thermal { - thermal-sensors = <&tmu_cpu3 0>; + thermal-sensors = <&tmu_cpu3>; polling-delay-passive = <250>; polling-delay = <0>; trips { @@ -358,7 +358,7 @@ }; }; gpu_thermal: gpu-thermal { - thermal-sensors = <&tmu_gpu 0>; + thermal-sensors = <&tmu_gpu>; polling-delay-passive = <250>; polling-delay = <0>; trips { --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx53-ppd.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx53-ppd.dts @@ -488,7 +488,7 @@ scl-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; status = "okay"; - i2c-switch@70 { + i2c-mux@70 { compatible = "nxp,pca9547"; #address-cells = <1>; #size-cells = <0>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6dl-riotboard.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6dl-riotboard.dts @@ -90,6 +90,7 @@ pinctrl-0 = <&pinctrl_enet>; phy-mode = "rgmii-id"; phy-handle = <&rgmii_phy>; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6dl.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6dl.dtsi @@ -84,6 +84,9 @@ ocram: sram@900000 { compatible = "mmio-sram"; reg = <0x00900000 0x20000>; + ranges = <0 0x00900000 0x20000>; + #address-cells = <1>; + #size-cells = <1>; clocks = <&clks IMX6QDL_CLK_OCRAM>; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6q-arm2.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6q-arm2.dts @@ -178,6 +178,7 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet>; phy-mode = "rgmii"; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6q-evi.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6q-evi.dts @@ -146,6 +146,7 @@ pinctrl-0 = <&pinctrl_enet>; phy-mode = "rgmii"; phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6q-mccmon6.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6q-mccmon6.dts @@ -100,6 +100,7 @@ pinctrl-0 = <&pinctrl_enet>; phy-mode = "rgmii"; phy-reset-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; status = "okay"; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6q-prti6q.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6q-prti6q.dts @@ -364,8 +364,8 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_wifi>; interrupts-extended = <&gpio1 30 IRQ_TYPE_LEVEL_HIGH>; - ref-clock-frequency = "38400000"; - tcxo-clock-frequency = "19200000"; + ref-clock-frequency = <38400000>; + tcxo-clock-frequency = <19200000>; }; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6q-yapp4-crux.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6q-yapp4-crux.dts @@ -33,6 +33,10 @@ status = "okay"; }; +®_pu { + regulator-always-on; +}; + ®_usb_h1_vbus { status = "okay"; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6q.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6q.dtsi @@ -163,6 +163,9 @@ ocram: sram@900000 { compatible = "mmio-sram"; reg = <0x00900000 0x40000>; + ranges = <0 0x00900000 0x40000>; + #address-cells = <1>; + #size-cells = <1>; clocks = <&clks IMX6QDL_CLK_OCRAM>; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6qdl-apalis.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6qdl-apalis.dtsi @@ -315,7 +315,7 @@ /* ADC conversion time: 80 clocks */ st,sample-time = <4>; - stmpe_touchscreen: stmpe-touchscreen { + stmpe_touchscreen: stmpe_touchscreen { compatible = "st,stmpe-ts"; /* 8 sample average control */ st,ave-ctrl = <3>; @@ -332,7 +332,7 @@ st,touch-det-delay = <5>; }; - stmpe_adc: stmpe-adc { + stmpe_adc: stmpe_adc { compatible = "st,stmpe-adc"; /* forbid to use ADC channels 3-0 (touch) */ st,norequest-mask = <0x0F>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6qdl-gw560x.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6qdl-gw560x.dtsi @@ -632,7 +632,6 @@ &uart1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart1>; - uart-has-rtscts; rts-gpios = <&gpio7 1 GPIO_ACTIVE_HIGH>; status = "okay"; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6qdl-gw5910.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6qdl-gw5910.dtsi @@ -29,7 +29,7 @@ user-pb { label = "user_pb"; - gpios = <&gsc_gpio 0 GPIO_ACTIVE_LOW>; + gpios = <&gsc_gpio 2 GPIO_ACTIVE_LOW>; linux,code = ; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6qdl-gw5913.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6qdl-gw5913.dtsi @@ -26,7 +26,7 @@ user-pb { label = "user_pb"; - gpios = <&gsc_gpio 0 GPIO_ACTIVE_LOW>; + gpios = <&gsc_gpio 2 GPIO_ACTIVE_LOW>; linux,code = ; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6qdl-kontron-samx6i.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6qdl-kontron-samx6i.dtsi @@ -51,16 +51,6 @@ vin-supply = <®_3p3v_s5>; }; - reg_3p3v_s0: regulator-3p3v-s0 { - compatible = "regulator-fixed"; - regulator-name = "V_3V3_S0"; - regulator-min-microvolt = <3300000>; - regulator-max-microvolt = <3300000>; - regulator-always-on; - regulator-boot-on; - vin-supply = <®_3p3v_s5>; - }; - reg_3p3v_s5: regulator-3p3v-s5 { compatible = "regulator-fixed"; regulator-name = "V_3V3_S5"; @@ -259,7 +249,7 @@ /* default boot source: workaround #1 for errata ERR006282 */ smarc_flash: flash@0 { - compatible = "winbond,w25q16dw", "jedec,spi-nor"; + compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <20000000>; }; @@ -273,6 +263,10 @@ phy-reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>; }; +&hdmi { + ddc-i2c-bus = <&i2c2>; +}; + &i2c_intern { pmic@8 { compatible = "fsl,pfuze100"; @@ -397,7 +391,7 @@ /* HDMI_CTRL */ &i2c2 { - clock-frequency = <375000>; + clock-frequency = <100000>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c2>; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6qdl-nit6xlite.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6qdl-nit6xlite.dtsi @@ -192,6 +192,7 @@ phy-mode = "rgmii"; phy-handle = <ðphy>; phy-reset-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi @@ -334,6 +334,7 @@ phy-mode = "rgmii"; phy-handle = <ðphy>; phy-reset-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6qdl-nitrogen6_som2.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6qdl-nitrogen6_som2.dtsi @@ -263,6 +263,7 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet>; phy-mode = "rgmii"; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi @@ -267,6 +267,7 @@ phy-mode = "rgmii"; phy-handle = <ðphy>; phy-reset-gpios = <&gpio1 27 GPIO_ACTIVE_LOW>; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6qdl-sabreauto.dtsi @@ -295,6 +295,7 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet>; phy-mode = "rgmii-id"; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6qdl-tqma6a.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6qdl-tqma6a.dtsi @@ -7,6 +7,7 @@ #include &fec { + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6qdl-ts7970.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6qdl-ts7970.dtsi @@ -192,6 +192,7 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet>; phy-mode = "rgmii"; + /delete-property/ interrupts; interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_HIGH>, <&intc 0 119 IRQ_TYPE_LEVEL_HIGH>; fsl,err006687-workaround-present; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6qdl-vicut1.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6qdl-vicut1.dtsi @@ -28,7 +28,7 @@ enable-gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>; }; - backlight_led: backlight_led { + backlight_led: backlight-led { compatible = "pwm-backlight"; pwms = <&pwm3 0 5000000 0>; brightness-levels = <0 16 64 255>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6qp-yapp4-crux-plus.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6qp-yapp4-crux-plus.dts @@ -33,6 +33,10 @@ status = "okay"; }; +®_pu { + regulator-always-on; +}; + ®_usb_h1_vbus { status = "okay"; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6qp.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6qp.dtsi @@ -9,12 +9,18 @@ ocram2: sram@940000 { compatible = "mmio-sram"; reg = <0x00940000 0x20000>; + ranges = <0 0x00940000 0x20000>; + #address-cells = <1>; + #size-cells = <1>; clocks = <&clks IMX6QDL_CLK_OCRAM>; }; ocram3: sram@960000 { compatible = "mmio-sram"; reg = <0x00960000 0x20000>; + ranges = <0 0x00960000 0x20000>; + #address-cells = <1>; + #size-cells = <1>; clocks = <&clks IMX6QDL_CLK_OCRAM>; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6sl.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6sl.dtsi @@ -61,10 +61,10 @@ <792000 1175000>, <396000 975000>; fsl,soc-operating-points = - /* ARM kHz SOC-PU uV */ - <996000 1225000>, - <792000 1175000>, - <396000 1175000>; + /* ARM kHz SOC-PU uV */ + <996000 1225000>, + <792000 1175000>, + <396000 1175000>; clock-latency = <61036>; /* two CLK32 periods */ #cooling-cells = <2>; clocks = <&clks IMX6SL_CLK_ARM>, <&clks IMX6SL_CLK_PLL2_PFD2>, @@ -115,6 +115,9 @@ ocram: sram@900000 { compatible = "mmio-sram"; reg = <0x00900000 0x20000>; + ranges = <0 0x00900000 0x20000>; + #address-cells = <1>; + #size-cells = <1>; clocks = <&clks IMX6SL_CLK_OCRAM>; }; @@ -222,7 +225,7 @@ uart5: serial@2018000 { compatible = "fsl,imx6sl-uart", - "fsl,imx6q-uart", "fsl,imx21-uart"; + "fsl,imx6q-uart", "fsl,imx21-uart"; reg = <0x02018000 0x4000>; interrupts = <0 30 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clks IMX6SL_CLK_UART>, @@ -235,7 +238,7 @@ uart1: serial@2020000 { compatible = "fsl,imx6sl-uart", - "fsl,imx6q-uart", "fsl,imx21-uart"; + "fsl,imx6q-uart", "fsl,imx21-uart"; reg = <0x02020000 0x4000>; interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clks IMX6SL_CLK_UART>, @@ -248,7 +251,7 @@ uart2: serial@2024000 { compatible = "fsl,imx6sl-uart", - "fsl,imx6q-uart", "fsl,imx21-uart"; + "fsl,imx6q-uart", "fsl,imx21-uart"; reg = <0x02024000 0x4000>; interrupts = <0 27 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clks IMX6SL_CLK_UART>, @@ -309,7 +312,7 @@ uart3: serial@2034000 { compatible = "fsl,imx6sl-uart", - "fsl,imx6q-uart", "fsl,imx21-uart"; + "fsl,imx6q-uart", "fsl,imx21-uart"; reg = <0x02034000 0x4000>; interrupts = <0 28 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clks IMX6SL_CLK_UART>, @@ -322,7 +325,7 @@ uart4: serial@2038000 { compatible = "fsl,imx6sl-uart", - "fsl,imx6q-uart", "fsl,imx21-uart"; + "fsl,imx6q-uart", "fsl,imx21-uart"; reg = <0x02038000 0x4000>; interrupts = <0 29 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clks IMX6SL_CLK_UART>, @@ -711,7 +714,7 @@ #power-domain-cells = <0>; power-supply = <®_pu>; clocks = <&clks IMX6SL_CLK_GPU2D_OVG>, - <&clks IMX6SL_CLK_GPU2D_PODF>; + <&clks IMX6SL_CLK_GPU2D_PODF>; }; pd_disp: power-domain@2 { --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6sll.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6sll.dtsi @@ -115,6 +115,9 @@ ocram: sram@900000 { compatible = "mmio-sram"; reg = <0x00900000 0x20000>; + ranges = <0 0x00900000 0x20000>; + #address-cells = <1>; + #size-cells = <1>; }; intc: interrupt-controller@a01000 { --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6sx-udoo-neo.dtsi @@ -226,7 +226,7 @@ &iomuxc { pinctrl_bt_reg: btreggrp { fsl,pins = - ; + ; }; pinctrl_enet1: enet1grp { @@ -306,7 +306,6 @@ >; }; - pinctrl_uart1: uart1grp { fsl,pins = , @@ -347,24 +346,23 @@ pinctrl_otg1_reg: otg1grp { fsl,pins = - ; + ; }; - pinctrl_otg2_reg: otg2grp { fsl,pins = - ; + ; }; pinctrl_usb_otg1: usbotg1grp { fsl,pins = - , - ; + , + ; }; pinctrl_usb_otg2: usbot2ggrp { fsl,pins = - ; + ; }; pinctrl_usdhc2: usdhc2grp { --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6sx.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6sx.dtsi @@ -164,12 +164,18 @@ ocram_s: sram@8f8000 { compatible = "mmio-sram"; reg = <0x008f8000 0x4000>; + ranges = <0 0x008f8000 0x4000>; + #address-cells = <1>; + #size-cells = <1>; clocks = <&clks IMX6SX_CLK_OCRAM_S>; }; ocram: sram@900000 { compatible = "mmio-sram"; reg = <0x00900000 0x20000>; + ranges = <0 0x00900000 0x20000>; + #address-cells = <1>; + #size-cells = <1>; clocks = <&clks IMX6SX_CLK_OCRAM>; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6ul-pico-dwarf.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6ul-pico-dwarf.dts @@ -32,7 +32,7 @@ }; &i2c2 { - clock_frequency = <100000>; + clock-frequency = <100000>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c2>; status = "okay"; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx6ul.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx6ul.dtsi @@ -64,20 +64,18 @@ clock-frequency = <696000000>; clock-latency = <61036>; /* two CLK32 periods */ #cooling-cells = <2>; - operating-points = < + operating-points = /* kHz uV */ - 696000 1275000 - 528000 1175000 - 396000 1025000 - 198000 950000 - >; - fsl,soc-operating-points = < + <696000 1275000>, + <528000 1175000>, + <396000 1025000>, + <198000 950000>; + fsl,soc-operating-points = /* KHz uV */ - 696000 1275000 - 528000 1175000 - 396000 1175000 - 198000 1175000 - >; + <696000 1275000>, + <528000 1175000>, + <396000 1175000>, + <198000 1175000>; clocks = <&clks IMX6UL_CLK_ARM>, <&clks IMX6UL_CLK_PLL2_BUS>, <&clks IMX6UL_CLK_PLL2_PFD2>, @@ -149,6 +147,9 @@ ocram: sram@900000 { compatible = "mmio-sram"; reg = <0x00900000 0x20000>; + ranges = <0 0x00900000 0x20000>; + #address-cells = <1>; + #size-cells = <1>; }; intc: interrupt-controller@a01000 { @@ -543,7 +544,7 @@ }; kpp: keypad@20b8000 { - compatible = "fsl,imx6ul-kpp", "fsl,imx6q-kpp", "fsl,imx21-kpp"; + compatible = "fsl,imx6ul-kpp", "fsl,imx21-kpp"; reg = <0x020b8000 0x4000>; interrupts = ; clocks = <&clks IMX6UL_CLK_KPP>; @@ -998,7 +999,7 @@ }; csi: csi@21c4000 { - compatible = "fsl,imx6ul-csi", "fsl,imx7-csi"; + compatible = "fsl,imx6ul-csi"; reg = <0x021c4000 0x4000>; interrupts = ; clocks = <&clks IMX6UL_CLK_CSI>; @@ -1007,7 +1008,7 @@ }; lcdif: lcdif@21c8000 { - compatible = "fsl,imx6ul-lcdif", "fsl,imx28-lcdif"; + compatible = "fsl,imx6ul-lcdif", "fsl,imx6sx-lcdif"; reg = <0x021c8000 0x4000>; interrupts = ; clocks = <&clks IMX6UL_CLK_LCDIF_PIX>, @@ -1028,7 +1029,7 @@ qspi: spi@21e0000 { #address-cells = <1>; #size-cells = <0>; - compatible = "fsl,imx6ul-qspi", "fsl,imx6sx-qspi"; + compatible = "fsl,imx6ul-qspi"; reg = <0x021e0000 0x4000>, <0x60000000 0x10000000>; reg-names = "QuadSPI", "QuadSPI-memory"; interrupts = ; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx7-colibri-aster.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx7-colibri-aster.dtsi @@ -4,41 +4,7 @@ * */ - -#include -#include - / { - chosen { - stdout-path = "serial0:115200n8"; - }; - - gpio-keys { - compatible = "gpio-keys"; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_gpiokeys>; - - power { - label = "Wake-Up"; - gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>; - linux,code = ; - debounce-interval = <10>; - wakeup-source; - }; - }; - - panel: panel { - compatible = "edt,et057090dhu"; - backlight = <&bl>; - power-supply = <®_3v3>; - - port { - panel_in: endpoint { - remote-endpoint = <&lcdif_out>; - }; - }; - }; - reg_3v3: regulator-3v3 { compatible = "regulator-fixed"; regulator-name = "3.3V"; @@ -77,13 +43,6 @@ status = "disabled"; }; -&bl { - brightness-levels = <0 4 8 16 32 64 128 255>; - default-brightness-level = <6>; - power-supply = <®_3v3>; - status = "okay"; -}; - &fec1 { status = "okay"; }; @@ -91,17 +50,6 @@ &i2c4 { status = "okay"; - /* Microchip/Atmel maxtouch controller */ - touchscreen@4a { - compatible = "atmel,maxtouch"; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_gpiotouch>; - reg = <0x4a>; - interrupt-parent = <&gpio2>; - interrupts = <15 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 107 */ - reset-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; /* SODIMM 106 */ - }; - /* M41T0M6 real time clock on carrier board */ rtc: rtc@68 { compatible = "st,m41t0"; @@ -109,25 +57,6 @@ }; }; -&iomuxc { - pinctrl_gpiotouch: touchgpios { - fsl,pins = < - MX7D_PAD_EPDC_DATA15__GPIO2_IO15 0x74 - MX7D_PAD_EPDC_BDR0__GPIO2_IO28 0x14 - >; - }; -}; - -&lcdif { - status = "okay"; - - port { - lcdif_out: endpoint { - remote-endpoint = <&panel_in>; - }; - }; -}; - &pwm1 { status = "okay"; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx7-colibri-eval-v3.dtsi @@ -4,48 +4,13 @@ */ / { - aliases { - rtc0 = &rtc; - rtc1 = &snvs_rtc; - }; - - chosen { - stdout-path = "serial0:115200n8"; - }; - - /* fixed crystal dedicated to mpc258x */ + /* Fixed crystal dedicated to MCP2515. */ clk16m: clk16m { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <16000000>; }; - gpio-keys { - compatible = "gpio-keys"; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_gpiokeys>; - - power { - label = "Wake-Up"; - gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>; - linux,code = ; - debounce-interval = <10>; - wakeup-source; - }; - }; - - panel: panel { - compatible = "edt,et057090dhu"; - backlight = <&bl>; - power-supply = <®_3v3>; - - port { - panel_in: endpoint { - remote-endpoint = <&lcdif_out>; - }; - }; - }; - reg_3v3: regulator-3v3 { compatible = "regulator-fixed"; regulator-name = "3.3V"; @@ -72,14 +37,6 @@ }; }; -&bl { - brightness-levels = <0 4 8 16 32 64 128 255>; - default-brightness-level = <6>; - power-supply = <®_3v3>; - - status = "okay"; -}; - &adc1 { status = "okay"; }; @@ -88,6 +45,18 @@ status = "okay"; }; +/* + * The Atmel maxtouch controller uses SODIMM 28/30, also used for PWM, PWM, aka pwm2, pwm3. + * So if you enable following capacitive touch controller, disable pwm2/pwm3 first. + */ +&atmel_mxt_ts { + interrupt-parent = <&gpio1>; + interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 28 / INT */ + pinctrl-0 = <&pinctrl_atmel_adapter>; + reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; /* SODIMM 30 / RST */ + status = "disabled"; +}; + &ecspi3 { status = "okay"; @@ -113,21 +82,6 @@ &i2c4 { status = "okay"; - /* - * Touchscreen is using SODIMM 28/30, also used for PWM, PWM, - * aka pwm2, pwm3. so if you enable touchscreen, disable the pwms - */ - touchscreen@4a { - compatible = "atmel,maxtouch"; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_gpiotouch>; - reg = <0x4a>; - interrupt-parent = <&gpio1>; - interrupts = <9 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 28 */ - reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>; /* SODIMM 30 */ - status = "disabled"; - }; - /* M41T0M6 real time clock on carrier board */ rtc: rtc@68 { compatible = "st,m41t0"; @@ -135,16 +89,6 @@ }; }; -&lcdif { - status = "okay"; - - port { - lcdif_out: endpoint { - remote-endpoint = <&panel_in>; - }; - }; -}; - &pwm1 { status = "okay"; }; @@ -183,12 +127,3 @@ vmmc-supply = <®_3v3>; status = "okay"; }; - -&iomuxc { - pinctrl_gpiotouch: touchgpios { - fsl,pins = < - MX7D_PAD_GPIO1_IO09__GPIO1_IO9 0x74 - MX7D_PAD_GPIO1_IO10__GPIO1_IO10 0x14 - >; - }; -}; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx7-colibri.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx7-colibri.dtsi @@ -3,13 +3,63 @@ * Copyright 2016-2020 Toradex */ +#include + / { - bl: backlight { + aliases { + rtc0 = &rtc; + rtc1 = &snvs_rtc; + }; + + backlight: backlight { + brightness-levels = <0 45 63 88 119 158 203 255>; compatible = "pwm-backlight"; + default-brightness-level = <4>; + enable-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpio_bl_on>; - pwms = <&pwm1 0 5000000 0>; - enable-gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>; + power-supply = <®_module_3v3>; + pwms = <&pwm1 0 6666667 PWM_POLARITY_INVERTED>; + status = "disabled"; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + extcon_usbc_det: usbc-det { + compatible = "linux,extcon-usb-gpio"; + debounce = <25>; + id-gpio = <&gpio7 14 GPIO_ACTIVE_HIGH>; /* SODIMM 137 / USBC_DET */ + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_usbc_det>; + }; + + gpio-keys { + compatible = "gpio-keys"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_gpiokeys>; + + wakeup { + debounce-interval = <10>; + gpios = <&gpio1 1 (GPIO_ACTIVE_HIGH | GPIO_PULL_DOWN)>; /* SODIMM 45 */ + label = "Wake-Up"; + linux,code = ; + wakeup-source; + }; + }; + + panel_dpi: panel-dpi { + backlight = <&backlight>; + compatible = "edt,et057090dhu"; + power-supply = <®_3v3>; + status = "disabled"; + + port { + lcd_panel_in: endpoint { + remote-endpoint = <&lcdif_out>; + }; + }; }; reg_module_3v3: regulator-module-3v3 { @@ -301,18 +351,19 @@ VDDD-supply = <®_DCDC3>; }; - ad7879@2c { + ad7879_ts: touchscreen@2c { + adi,acquisition-time = /bits/ 8 <1>; + adi,averaging = /bits/ 8 <1>; + adi,conversion-interval = /bits/ 8 <255>; + adi,first-conversion-delay = /bits/ 8 <3>; + adi,median-filter-size = /bits/ 8 <2>; + adi,resistance-plate-x = <120>; compatible = "adi,ad7879-1"; - reg = <0x2c>; interrupt-parent = <&gpio1>; interrupts = <13 IRQ_TYPE_EDGE_FALLING>; + reg = <0x2c>; touchscreen-max-pressure = <4096>; - adi,resistance-plate-x = <120>; - adi,first-conversion-delay = /bits/ 8 <3>; - adi,acquisition-time = /bits/ 8 <1>; - adi,median-filter-size = /bits/ 8 <2>; - adi,averaging = /bits/ 8 <1>; - adi,conversion-interval = /bits/ 8 <255>; + status = "disabled"; }; pmic@33 { @@ -392,12 +443,32 @@ pinctrl-1 = <&pinctrl_i2c4_recovery>; scl-gpios = <&gpio7 8 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; sda-gpios = <&gpio7 9 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; + status = "disabled"; + + /* Atmel maxtouch controller */ + atmel_mxt_ts: touchscreen@4a { + compatible = "atmel,maxtouch"; + interrupt-parent = <&gpio2>; + interrupts = <15 IRQ_TYPE_EDGE_FALLING>; /* SODIMM 107 / INT */ + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_atmel_connector>; + reg = <0x4a>; + reset-gpios = <&gpio2 28 GPIO_ACTIVE_LOW>; /* SODIMM 106 / RST */ + status = "disabled"; + }; }; &lcdif { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_lcdif_dat &pinctrl_lcdif_ctrl>; + status = "disabled"; + + port { + lcdif_out: endpoint { + remote-endpoint = <&lcd_panel_in>; + }; + }; }; &pwm1 { @@ -457,7 +528,8 @@ }; &usbotg1 { - dr_mode = "host"; + dr_mode = "otg"; + extcon = <0>, <&extcon_usbc_det>; }; &usdhc1 { @@ -485,8 +557,27 @@ &iomuxc { pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_gpio1 &pinctrl_gpio2 &pinctrl_gpio3 &pinctrl_gpio4 - &pinctrl_gpio7 &pinctrl_usbc_det>; + pinctrl-0 = <&pinctrl_gpio1 &pinctrl_gpio2 &pinctrl_gpio3 &pinctrl_gpio4>; + + /* + * Atmel MXT touchsceen + Capacitive Touch Adapter + * NOTE: This pin group conflicts with pin groups pinctrl_pwm2/pinctrl_pwm3. + * Don't use them simultaneously. + */ + pinctrl_atmel_adapter: atmelconnectorgrp { + fsl,pins = < + MX7D_PAD_GPIO1_IO09__GPIO1_IO9 0x74 /* SODIMM 28 / INT */ + MX7D_PAD_GPIO1_IO10__GPIO1_IO10 0x14 /* SODIMM 30 / RST */ + >; + }; + + /* Atmel MXT touchsceen + boards with built-in Capacitive Touch Connector */ + pinctrl_atmel_connector: atmeladaptergrp { + fsl,pins = < + MX7D_PAD_EPDC_BDR0__GPIO2_IO28 0x14 /* SODIMM 106 / RST */ + MX7D_PAD_EPDC_DATA15__GPIO2_IO15 0x74 /* SODIMM 107 / INT */ + >; + }; pinctrl_gpio1: gpio1-grp { fsl,pins = < @@ -494,8 +585,6 @@ MX7D_PAD_EPDC_DATA09__GPIO2_IO9 0x14 /* SODIMM 89 */ MX7D_PAD_EPDC_DATA08__GPIO2_IO8 0x74 /* SODIMM 91 */ MX7D_PAD_LCD_RESET__GPIO3_IO4 0x14 /* SODIMM 93 */ - MX7D_PAD_EPDC_DATA13__GPIO2_IO13 0x14 /* SODIMM 95 */ - MX7D_PAD_ENET1_RGMII_TXC__GPIO7_IO11 0x14 /* SODIMM 99 */ MX7D_PAD_EPDC_DATA10__GPIO2_IO10 0x74 /* SODIMM 105 */ MX7D_PAD_EPDC_DATA00__GPIO2_IO0 0x14 /* SODIMM 111 */ MX7D_PAD_EPDC_DATA01__GPIO2_IO1 0x14 /* SODIMM 113 */ @@ -729,6 +818,15 @@ >; }; + pinctrl_lvds_transceiver: lvdstx { + fsl,pins = < + MX7D_PAD_ENET1_RGMII_RD2__GPIO7_IO2 0x14 /* SODIMM 63 */ + MX7D_PAD_ENET1_RGMII_RD3__GPIO7_IO3 0x74 /* SODIMM 55 */ + MX7D_PAD_ENET1_RGMII_TXC__GPIO7_IO11 0x14 /* SODIMM 99 */ + MX7D_PAD_EPDC_DATA13__GPIO2_IO13 0x14 /* SODIMM 95 */ + >; + }; + pinctrl_pwm1: pwm1-grp { fsl,pins = < MX7D_PAD_GPIO1_IO08__PWM1_OUT 0x79 --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx7d-colibri-aster.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx7d-colibri-aster.dts @@ -14,6 +14,26 @@ "fsl,imx7d"; }; +&ad7879_ts { + status = "okay"; +}; + +&atmel_mxt_ts { + status = "okay"; +}; + +&backlight { + status = "okay"; +}; + +&lcdif { + status = "okay"; +}; + +&panel_dpi { + status = "okay"; +}; + &usbotg2 { vbus-supply = <®_usbh_vbus>; status = "okay"; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx7d-colibri-emmc.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx7d-colibri-emmc.dtsi @@ -13,6 +13,10 @@ }; }; +&cpu1 { + cpu-supply = <®_DCDC2>; +}; + &gpio6 { gpio-line-names = "", "", --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx7d-colibri-eval-v3.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx7d-colibri-eval-v3.dts @@ -13,6 +13,38 @@ "fsl,imx7d"; }; +&ad7879_ts { + status = "okay"; +}; + +/* + * The Atmel maxtouch controller uses SODIMM 28/30, also used for PWM, PWM, aka pwm2, pwm3. + * So if you enable following capacitive touch controller, disable pwm2/pwm3 first. + */ +&atmel_mxt_ts { + status = "disabled"; +}; + +&backlight { + status = "okay"; +}; + +&lcdif { + status = "okay"; +}; + +&panel_dpi { + status = "okay"; +}; + +&pwm2 { + status = "okay"; +}; + +&pwm3 { + status = "okay"; +}; + &usbotg2 { vbus-supply = <®_usbh_vbus>; status = "okay"; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx7d-pico-dwarf.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx7d-pico-dwarf.dts @@ -32,7 +32,7 @@ }; &i2c1 { - clock_frequency = <100000>; + clock-frequency = <100000>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c1>; status = "okay"; @@ -52,7 +52,7 @@ }; &i2c4 { - clock_frequency = <100000>; + clock-frequency = <100000>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c1>; status = "okay"; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx7d-pico-nymph.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx7d-pico-nymph.dts @@ -43,7 +43,7 @@ }; &i2c1 { - clock_frequency = <100000>; + clock-frequency = <100000>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c1>; status = "okay"; @@ -64,7 +64,7 @@ }; &i2c2 { - clock_frequency = <100000>; + clock-frequency = <100000>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c2>; status = "okay"; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx7d-sdb.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx7d-sdb.dts @@ -206,12 +206,7 @@ interrupt-parent = <&gpio2>; interrupts = <29 0>; pendown-gpio = <&gpio2 29 GPIO_ACTIVE_HIGH>; - ti,x-min = /bits/ 16 <0>; - ti,x-max = /bits/ 16 <0>; - ti,y-min = /bits/ 16 <0>; - ti,y-max = /bits/ 16 <0>; - ti,pressure-max = /bits/ 16 <0>; - ti,x-plate-ohms = /bits/ 16 <400>; + touchscreen-max-pressure = <255>; wakeup-source; }; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx7d-smegw01.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx7d-smegw01.dts @@ -198,6 +198,7 @@ &usbotg2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usbotg2>; + over-current-active-low; dr_mode = "host"; status = "okay"; }; @@ -374,7 +375,7 @@ pinctrl_usbotg2: usbotg2grp { fsl,pins = < - MX7D_PAD_UART3_RTS_B__USB_OTG2_OC 0x04 + MX7D_PAD_UART3_RTS_B__USB_OTG2_OC 0x5c >; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx7s-colibri-aster.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx7s-colibri-aster.dts @@ -13,3 +13,23 @@ compatible = "toradex,colibri-imx7s-aster", "toradex,colibri-imx7s", "fsl,imx7s"; }; + +&ad7879_ts { + status = "okay"; +}; + +&atmel_mxt_ts { + status = "okay"; +}; + +&backlight { + status = "okay"; +}; + +&lcdif { + status = "okay"; +}; + +&panel_dpi { + status = "okay"; +}; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx7s-colibri-eval-v3.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx7s-colibri-eval-v3.dts @@ -12,3 +12,35 @@ compatible = "toradex,colibri-imx7s-eval-v3", "toradex,colibri-imx7s", "fsl,imx7s"; }; + +&ad7879_ts { + status = "okay"; +}; + +/* + * The Atmel maxtouch controller uses SODIMM 28/30, also used for PWM, PWM, aka pwm2, pwm3. + * So if you enable following capacitive touch controller, disable pwm2/pwm3 first. + */ +&atmel_mxt_ts { + status = "disabled"; +}; + +&backlight { + status = "okay"; +}; + +&lcdif { + status = "okay"; +}; + +&panel_dpi { + status = "okay"; +}; + +&pwm2 { + status = "okay"; +}; + +&pwm3 { + status = "okay"; +}; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/imx7s.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/imx7s.dtsi @@ -513,7 +513,7 @@ mux: mux-controller { compatible = "mmio-mux"; - #mux-control-cells = <0>; + #mux-control-cells = <1>; mux-reg-masks = <0x14 0x00000010>; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/integratorap.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/integratorap.dts @@ -160,6 +160,7 @@ pci: pciv3@62000000 { compatible = "arm,integrator-ap-pci", "v3,v360epc-pci"; + device_type = "pci"; #interrupt-cells = <1>; #size-cells = <2>; #address-cells = <3>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/kirkwood-lsxl.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/kirkwood-lsxl.dtsi @@ -10,6 +10,11 @@ ocp@f1000000 { pinctrl: pin-controller@10000 { + /* Non-default UART pins */ + pmx_uart0: pmx-uart0 { + marvell,pins = "mpp4", "mpp5"; + }; + pmx_power_hdd: pmx-power-hdd { marvell,pins = "mpp10"; marvell,function = "gpo"; @@ -213,22 +218,11 @@ &mdio { status = "okay"; - ethphy0: ethernet-phy@0 { - reg = <0>; - }; - ethphy1: ethernet-phy@8 { reg = <8>; }; }; -ð0 { - status = "okay"; - ethernet0-port@0 { - phy-handle = <ðphy0>; - }; -}; - ð1 { status = "okay"; ethernet1-port@0 { --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/lan966x.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/lan966x.dtsi @@ -515,13 +515,13 @@ phy0: ethernet-phy@1 { reg = <1>; - interrupts = ; + interrupts = ; status = "disabled"; }; phy1: ethernet-phy@2 { reg = <2>; - interrupts = ; + interrupts = ; status = "disabled"; }; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/moxart-uc7112lx.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/moxart-uc7112lx.dts @@ -79,7 +79,7 @@ clocks = <&ref12>; }; -&sdhci { +&mmc { status = "okay"; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/moxart.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/moxart.dtsi @@ -93,8 +93,8 @@ clock-names = "PCLK"; }; - sdhci: sdhci@98e00000 { - compatible = "moxa,moxart-sdhci"; + mmc: mmc@98e00000 { + compatible = "moxa,moxart-mmc"; reg = <0x98e00000 0x5C>; interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; clocks = <&clk_apb>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/nuvoton-npcm730-gbs.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/nuvoton-npcm730-gbs.dts @@ -366,7 +366,7 @@ spi-max-frequency = <20000000>; spi-rx-bus-width = <2>; label = "bmc"; - partitions@80000000 { + partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/nuvoton-npcm730-gsj.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/nuvoton-npcm730-gsj.dts @@ -142,7 +142,7 @@ reg = <0>; spi-rx-bus-width = <2>; - partitions@80000000 { + partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/nuvoton-npcm730-kudo.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/nuvoton-npcm730-kudo.dts @@ -388,7 +388,7 @@ spi-max-frequency = <5000000>; spi-rx-bus-width = <2>; label = "bmc"; - partitions@80000000 { + partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; @@ -422,7 +422,7 @@ reg = <1>; spi-max-frequency = <5000000>; spi-rx-bus-width = <2>; - partitions@88000000 { + partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; @@ -447,7 +447,7 @@ reg = <0>; spi-max-frequency = <5000000>; spi-rx-bus-width = <2>; - partitions@A0000000 { + partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/nuvoton-npcm750-evb.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/nuvoton-npcm750-evb.dts @@ -74,7 +74,7 @@ spi-rx-bus-width = <2>; reg = <0>; spi-max-frequency = <5000000>; - partitions@80000000 { + partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; @@ -135,7 +135,7 @@ spi-rx-bus-width = <2>; reg = <0>; spi-max-frequency = <5000000>; - partitions@A0000000 { + partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/nuvoton-npcm750-runbmc-olympus.dts @@ -107,7 +107,7 @@ reg = <0>; spi-rx-bus-width = <2>; - partitions@80000000 { + partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; @@ -146,7 +146,7 @@ reg = <1>; npcm,fiu-rx-bus-width = <2>; - partitions@88000000 { + partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; @@ -173,7 +173,7 @@ reg = <0>; spi-rx-bus-width = <2>; - partitions@A0000000 { + partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/qcom-apq8064.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/qcom-apq8064.dtsi @@ -1567,7 +1567,7 @@ }; etb@1a01000 { - compatible = "coresight-etb10", "arm,primecell"; + compatible = "arm,coresight-etb10", "arm,primecell"; reg = <0x1a01000 0x1000>; clocks = <&rpmcc RPM_QDSS_CLK>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/qcom-ipq8064.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/qcom-ipq8064.dtsi @@ -784,7 +784,7 @@ l2cc: clock-controller@2011000 { compatible = "qcom,kpss-gcc", "syscon"; reg = <0x2011000 0x1000>; - clocks = <&gcc PLL8_VOTE>, <&gcc PXO_SRC>; + clocks = <&gcc PLL8_VOTE>, <&pxo_board>; clock-names = "pll8_vote", "pxo"; clock-output-names = "acpu_l2_aux"; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/qcom-mdm9615.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/qcom-mdm9615.dtsi @@ -321,6 +321,7 @@ pmicgpio: gpio@150 { compatible = "qcom,pm8018-gpio", "qcom,ssbi-gpio"; + reg = <0x150>; interrupt-controller; #interrupt-cells = <2>; gpio-controller; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/qcom-msm8974.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/qcom-msm8974.dtsi @@ -580,7 +580,7 @@ blsp2_uart1: serial@f995d000 { compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; reg = <0xf995d000 0x1000>; - interrupts = ; + interrupts = ; clocks = <&gcc GCC_BLSP2_UART1_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>; clock-names = "core", "iface"; pinctrl-names = "default", "sleep"; @@ -1182,6 +1182,8 @@ qcom,smem-states = <&modem_smp2p_out 0>; qcom,smem-state-names = "stop"; + status = "disabled"; + mba { memory-region = <&mba_region>; }; @@ -1630,6 +1632,7 @@ reg = <0xfdd00000 0x2000>, <0xfec00000 0x180000>; reg-names = "ctrl", "mem"; + ranges = <0 0xfec00000 0x180000>; clocks = <&rpmcc RPM_SMD_OCMEMGX_CLK>, <&mmcc OCMEMCX_OCMEMNOC_CLK>; clock-names = "core", "iface"; @@ -1661,6 +1664,8 @@ qcom,smem-states = <&adsp_smp2p_out 0>; qcom,smem-state-names = "stop"; + status = "disabled"; + smd-edge { interrupts = ; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/qcom-msm8974pro-fairphone-fp2.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/qcom-msm8974pro-fairphone-fp2.dts @@ -147,10 +147,12 @@ }; &remoteproc_adsp { + status = "okay"; cx-supply = <&pm8841_s2>; }; &remoteproc_mss { + status = "okay"; cx-supply = <&pm8841_s2>; mss-supply = <&pm8841_s3>; mx-supply = <&pm8841_s1>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/qcom-msm8974pro-samsung-klte.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/qcom-msm8974pro-samsung-klte.dts @@ -457,10 +457,12 @@ }; &remoteproc_adsp { + status = "okay"; cx-supply = <&pma8084_s2>; }; &remoteproc_mss { + status = "okay"; cx-supply = <&pma8084_s2>; mss-supply = <&pma8084_s6>; mx-supply = <&pma8084_s1>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/qcom-pm8841.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/qcom-pm8841.dtsi @@ -24,6 +24,7 @@ compatible = "qcom,spmi-temp-alarm"; reg = <0x2400>; interrupts = <4 0x24 0 IRQ_TYPE_EDGE_RISING>; + #thermal-sensor-cells = <0>; }; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/qcom-sdx55.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/qcom-sdx55.dtsi @@ -206,7 +206,7 @@ blsp1_uart3: serial@831000 { compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm"; reg = <0x00831000 0x200>; - interrupts = ; + interrupts = ; clocks = <&gcc 30>, <&gcc 9>; clock-names = "core", "iface"; @@ -577,7 +577,7 @@ }; apps_smmu: iommu@15000000 { - compatible = "qcom,sdx55-smmu-500", "arm,mmu-500"; + compatible = "qcom,sdx55-smmu-500", "qcom,smmu-500", "arm,mmu-500"; reg = <0x15000000 0x20000>; #iommu-cells = <2>; #global-interrupts = <1>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/qcom-sdx65.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/qcom-sdx65.dtsi @@ -197,7 +197,7 @@ }; apps_smmu: iommu@15000000 { - compatible = "qcom,sdx65-smmu-500", "arm,mmu-500"; + compatible = "qcom,sdx65-smmu-500", "qcom,smmu-500", "arm,mmu-500"; reg = <0x15000000 0x40000>; #iommu-cells = <2>; #global-interrupts = <1>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/rk3036-evb.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/rk3036-evb.dts @@ -31,11 +31,10 @@ &i2c1 { status = "okay"; - hym8563: hym8563@51 { + hym8563: rtc@51 { compatible = "haoyu,hym8563"; reg = <0x51>; #clock-cells = <0>; - clock-frequency = <32768>; clock-output-names = "xin32k"; }; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/rk3066a-mk808.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/rk3066a-mk808.dts @@ -32,7 +32,7 @@ keyup-threshold-microvolt = <2500000>; poll-interval = <100>; - recovery { + button-recovery { label = "recovery"; linux,code = ; press-threshold-microvolt = <0>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/rk3188-radxarock.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/rk3188-radxarock.dts @@ -71,7 +71,7 @@ #sound-dai-cells = <0>; }; - ir_recv: gpio-ir-receiver { + ir_recv: ir-receiver { compatible = "gpio-ir-receiver"; gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; pinctrl-names = "default"; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/rk3188.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/rk3188.dtsi @@ -379,7 +379,7 @@ rockchip,pins = <2 RK_PD3 1 &pcfg_pull_none>; }; - lcdc1_rgb24: ldcd1-rgb24 { + lcdc1_rgb24: lcdc1-rgb24 { rockchip,pins = <2 RK_PA0 1 &pcfg_pull_none>, <2 RK_PA1 1 &pcfg_pull_none>, <2 RK_PA2 1 &pcfg_pull_none>, @@ -607,7 +607,6 @@ &global_timer { interrupts = ; - status = "disabled"; }; &local_timer { --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/rk3288-evb-act8846.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/rk3288-evb-act8846.dts @@ -54,7 +54,7 @@ vin-supply = <&vcc_sys>; }; - hym8563@51 { + rtc@51 { compatible = "haoyu,hym8563"; reg = <0x51>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/rk3288-evb.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/rk3288-evb.dtsi @@ -28,19 +28,19 @@ press-threshold-microvolt = <300000>; }; - menu { + button-menu { label = "Menu"; linux,code = ; press-threshold-microvolt = <640000>; }; - esc { + button-esc { label = "Esc"; linux,code = ; press-threshold-microvolt = <1000000>; }; - home { + button-home { label = "Home"; linux,code = ; press-threshold-microvolt = <1300000>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/rk3288-firefly.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/rk3288-firefly.dtsi @@ -233,11 +233,10 @@ vin-supply = <&vcc_sys>; }; - hym8563: hym8563@51 { + hym8563: rtc@51 { compatible = "haoyu,hym8563"; reg = <0x51>; #clock-cells = <0>; - clock-frequency = <32768>; clock-output-names = "xin32k"; interrupt-parent = <&gpio7>; interrupts = ; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/rk3288-miqi.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/rk3288-miqi.dts @@ -162,11 +162,10 @@ vin-supply = <&vcc_sys>; }; - hym8563: hym8563@51 { + hym8563: rtc@51 { compatible = "haoyu,hym8563"; reg = <0x51>; #clock-cells = <0>; - clock-frequency = <32768>; clock-output-names = "xin32k"; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/rk3288-rock2-square.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/rk3288-rock2-square.dts @@ -165,11 +165,10 @@ }; &i2c0 { - hym8563: hym8563@51 { + hym8563: rtc@51 { compatible = "haoyu,hym8563"; reg = <0x51>; #clock-cells = <0>; - clock-frequency = <32768>; clock-output-names = "xin32k"; interrupt-parent = <&gpio0>; interrupts = ; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/rk3288-vmarc-som.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/rk3288-vmarc-som.dtsi @@ -241,7 +241,6 @@ interrupt-parent = <&gpio5>; interrupts = ; #clock-cells = <0>; - clock-frequency = <32768>; clock-output-names = "hym8563"; pinctrl-names = "default"; pinctrl-0 = <&hym8563_int>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/rk3288.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/rk3288.dtsi @@ -1181,6 +1181,7 @@ clock-names = "dp", "pclk"; phys = <&edp_phy>; phy-names = "dp"; + power-domains = <&power RK3288_PD_VIO>; resets = <&cru SRST_EDP>; reset-names = "dp"; rockchip,grf = <&grf>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/rk3xxx.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/rk3xxx.dtsi @@ -76,6 +76,13 @@ reg = <0x1013c200 0x20>; interrupts = ; clocks = <&cru CORE_PERI>; + status = "disabled"; + /* The clock source and the sched_clock provided by the arm_global_timer + * on Rockchip rk3066a/rk3188 are quite unstable because their rates + * depend on the CPU frequency. + * Keep the arm_global_timer disabled in order to have the + * DW_APB_TIMER (rk3066a) or ROCKCHIP_TIMER (rk3188) selected by default. + */ }; local_timer: local-timer@1013c600 { --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/sam9x60.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/sam9x60.dtsi @@ -563,7 +563,7 @@ mpddrc: mpddrc@ffffe800 { compatible = "microchip,sam9x60-ddramc", "atmel,sama5d3-ddramc"; reg = <0xffffe800 0x200>; - clocks = <&pmc PMC_TYPE_SYSTEM 2>, <&pmc PMC_TYPE_CORE PMC_MCK>; + clocks = <&pmc PMC_TYPE_SYSTEM 2>, <&pmc PMC_TYPE_PERIPHERAL 49>; clock-names = "ddrck", "mpddr"; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/sama7g5-pinfunc.h +++ linux-gcp-5.19.0/arch/arm/boot/dts/sama7g5-pinfunc.h @@ -261,7 +261,7 @@ #define PIN_PB2__FLEXCOM6_IO0 PINMUX_PIN(PIN_PB2, 2, 1) #define PIN_PB2__ADTRG PINMUX_PIN(PIN_PB2, 3, 1) #define PIN_PB2__A20 PINMUX_PIN(PIN_PB2, 4, 1) -#define PIN_PB2__FLEXCOM11_IO0 PINMUX_PIN(PIN_PB2, 6, 3) +#define PIN_PB2__FLEXCOM11_IO1 PINMUX_PIN(PIN_PB2, 6, 3) #define PIN_PB3 35 #define PIN_PB3__GPIO PINMUX_PIN(PIN_PB3, 0, 0) #define PIN_PB3__RF1 PINMUX_PIN(PIN_PB3, 1, 1) --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/spear600.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/spear600.dtsi @@ -47,7 +47,7 @@ compatible = "arm,pl110", "arm,primecell"; reg = <0xfc200000 0x1000>; interrupt-parent = <&vic1>; - interrupts = <12>; + interrupts = <13>; status = "disabled"; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/ste-ux500-samsung-codina.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/ste-ux500-samsung-codina.dts @@ -598,8 +598,8 @@ reg = <0x19>; vdd-supply = <&ab8500_ldo_aux1_reg>; // 3V vddio-supply = <&ab8500_ldo_aux2_reg>; // 1.8V - mount-matrix = "0", "-1", "0", - "1", "0", "0", + mount-matrix = "0", "1", "0", + "-1", "0", "0", "0", "0", "1"; }; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/ste-ux500-samsung-gavini.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/ste-ux500-samsung-gavini.dts @@ -527,8 +527,8 @@ accelerometer@18 { compatible = "bosch,bma222e"; reg = <0x18>; - mount-matrix = "0", "1", "0", - "-1", "0", "0", + mount-matrix = "0", "-1", "0", + "1", "0", "0", "0", "0", "1"; vddio-supply = <&ab8500_ldo_aux2_reg>; // 1.8V vdd-supply = <&ab8500_ldo_aux1_reg>; // 3V --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/ste-ux500-samsung-janice.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/ste-ux500-samsung-janice.dts @@ -633,8 +633,8 @@ accelerometer@8 { compatible = "bosch,bma222"; reg = <0x08>; - mount-matrix = "0", "1", "0", - "-1", "0", "0", + mount-matrix = "0", "-1", "0", + "1", "0", "0", "0", "0", "1"; vddio-supply = <&ab8500_ldo_aux2_reg>; // 1.8V vdd-supply = <&ab8500_ldo_aux1_reg>; // 3V --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/stm32mp131.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/stm32mp131.dtsi @@ -241,6 +241,7 @@ part_number_otp: part_number_otp@4 { reg = <0x4 0x2>; + bits = <0 12>; }; ts_cal1: calib@5c { reg = <0x5c 0x2>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/stm32mp157a-dhcor-avenger96.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/stm32mp157a-dhcor-avenger96.dts @@ -13,7 +13,6 @@ /dts-v1/; #include "stm32mp157.dtsi" -#include "stm32mp15xc.dtsi" #include "stm32mp15xx-dhcor-som.dtsi" #include "stm32mp15xx-dhcor-avenger96.dtsi" --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/stm32mp15xx-dhcor-avenger96.dtsi @@ -100,7 +100,7 @@ regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; - gpios = <&gpioz 3 GPIO_ACTIVE_HIGH>; + gpio = <&gpioz 3 GPIO_ACTIVE_HIGH>; enable-active-high; }; }; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/sun8i-h3-nanopi-duo2.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/sun8i-h3-nanopi-duo2.dts @@ -57,7 +57,7 @@ regulator-ramp-delay = <50>; /* 4ms */ enable-active-high; - enable-gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */ + enable-gpios = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */ gpios = <&r_pio 0 6 GPIO_ACTIVE_HIGH>; /* PL6 */ gpios-states = <0x1>; states = <1100000 0>, <1300000 1>; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/uniphier-pxs2.dtsi +++ linux-gcp-5.19.0/arch/arm/boot/dts/uniphier-pxs2.dtsi @@ -597,8 +597,8 @@ compatible = "socionext,uniphier-dwc3", "snps,dwc3"; status = "disabled"; reg = <0x65a00000 0xcd00>; - interrupt-names = "host", "peripheral"; - interrupts = <0 134 4>, <0 135 4>; + interrupt-names = "dwc_usb3"; + interrupts = <0 134 4>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usb0>, <&pinctrl_usb2>; clock-names = "ref", "bus_early", "suspend"; @@ -693,8 +693,8 @@ compatible = "socionext,uniphier-dwc3", "snps,dwc3"; status = "disabled"; reg = <0x65c00000 0xcd00>; - interrupt-names = "host", "peripheral"; - interrupts = <0 137 4>, <0 138 4>; + interrupt-names = "dwc_usb3"; + interrupts = <0 137 4>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usb1>, <&pinctrl_usb3>; clock-names = "ref", "bus_early", "suspend"; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/vf610-zii-dev-rev-b.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/vf610-zii-dev-rev-b.dts @@ -345,7 +345,7 @@ }; &i2c2 { - tca9548@70 { + i2c-mux@70 { compatible = "nxp,pca9548"; pinctrl-0 = <&pinctrl_i2c_mux_reset>; pinctrl-names = "default"; --- linux-gcp-5.19.0.orig/arch/arm/boot/dts/vf610-zii-dev-rev-c.dts +++ linux-gcp-5.19.0/arch/arm/boot/dts/vf610-zii-dev-rev-c.dts @@ -340,7 +340,7 @@ }; &i2c2 { - tca9548@70 { + i2c-mux@70 { compatible = "nxp,pca9548"; pinctrl-0 = <&pinctrl_i2c_mux_reset>; pinctrl-names = "default"; --- linux-gcp-5.19.0.orig/arch/arm/configs/bcm2835_defconfig +++ linux-gcp-5.19.0/arch/arm/configs/bcm2835_defconfig @@ -107,6 +107,7 @@ CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_DRM=y CONFIG_DRM_VC4=y +CONFIG_FB=y CONFIG_FB_SIMPLE=y CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_SOUND=y --- linux-gcp-5.19.0.orig/arch/arm/crypto/Kconfig +++ linux-gcp-5.19.0/arch/arm/crypto/Kconfig @@ -63,7 +63,7 @@ using optimized ARM assembler and NEON, when available. config CRYPTO_BLAKE2S_ARM - tristate "BLAKE2s digest algorithm (ARM)" + bool "BLAKE2s digest algorithm (ARM)" select CRYPTO_ARCH_HAVE_LIB_BLAKE2S help BLAKE2s digest algorithm optimized with ARM scalar instructions. This --- linux-gcp-5.19.0.orig/arch/arm/crypto/Makefile +++ linux-gcp-5.19.0/arch/arm/crypto/Makefile @@ -9,8 +9,7 @@ obj-$(CONFIG_CRYPTO_SHA1_ARM_NEON) += sha1-arm-neon.o obj-$(CONFIG_CRYPTO_SHA256_ARM) += sha256-arm.o obj-$(CONFIG_CRYPTO_SHA512_ARM) += sha512-arm.o -obj-$(CONFIG_CRYPTO_BLAKE2S_ARM) += blake2s-arm.o -obj-$(if $(CONFIG_CRYPTO_BLAKE2S_ARM),y) += libblake2s-arm.o +obj-$(CONFIG_CRYPTO_BLAKE2S_ARM) += libblake2s-arm.o obj-$(CONFIG_CRYPTO_BLAKE2B_NEON) += blake2b-neon.o obj-$(CONFIG_CRYPTO_CHACHA20_NEON) += chacha-neon.o obj-$(CONFIG_CRYPTO_POLY1305_ARM) += poly1305-arm.o @@ -32,7 +31,6 @@ sha256-arm-y := sha256-core.o sha256_glue.o $(sha256-arm-neon-y) sha512-arm-neon-$(CONFIG_KERNEL_MODE_NEON) := sha512-neon-glue.o sha512-arm-y := sha512-core.o sha512-glue.o $(sha512-arm-neon-y) -blake2s-arm-y := blake2s-shash.o libblake2s-arm-y:= blake2s-core.o blake2s-glue.o blake2b-neon-y := blake2b-neon-core.o blake2b-neon-glue.o sha1-arm-ce-y := sha1-ce-core.o sha1-ce-glue.o --- linux-gcp-5.19.0.orig/arch/arm/include/asm/perf_event.h +++ linux-gcp-5.19.0/arch/arm/include/asm/perf_event.h @@ -17,7 +17,7 @@ #define perf_arch_fetch_caller_regs(regs, __ip) { \ (regs)->ARM_pc = (__ip); \ - (regs)->ARM_fp = (unsigned long) __builtin_frame_address(0); \ + frame_pointer((regs)) = (unsigned long) __builtin_frame_address(0); \ (regs)->ARM_sp = current_stack_pointer; \ (regs)->ARM_cpsr = SVC_MODE; \ } --- linux-gcp-5.19.0.orig/arch/arm/include/asm/pgtable-nommu.h +++ linux-gcp-5.19.0/arch/arm/include/asm/pgtable-nommu.h @@ -45,12 +45,6 @@ typedef pte_t *pte_addr_t; /* - * ZERO_PAGE is a global shared page that is always zero: used - * for zero-mapped memory areas etc.. - */ -#define ZERO_PAGE(vaddr) (virt_to_page(0)) - -/* * Mark the prot value as uncacheable and unbufferable. */ #define pgprot_noncached(prot) (prot) --- linux-gcp-5.19.0.orig/arch/arm/include/asm/pgtable.h +++ linux-gcp-5.19.0/arch/arm/include/asm/pgtable.h @@ -10,6 +10,15 @@ #include #include +#ifndef __ASSEMBLY__ +/* + * ZERO_PAGE is a global shared page that is always zero: used + * for zero-mapped memory areas etc.. + */ +extern struct page *empty_zero_page; +#define ZERO_PAGE(vaddr) (empty_zero_page) +#endif + #ifndef CONFIG_MMU #include @@ -156,13 +165,6 @@ #define __S111 __PAGE_SHARED_EXEC #ifndef __ASSEMBLY__ -/* - * ZERO_PAGE is a global shared page that is always zero: used - * for zero-mapped memory areas etc.. - */ -extern struct page *empty_zero_page; -#define ZERO_PAGE(vaddr) (empty_zero_page) - extern pgd_t swapper_pg_dir[PTRS_PER_PGD]; --- linux-gcp-5.19.0.orig/arch/arm/include/asm/stacktrace.h +++ linux-gcp-5.19.0/arch/arm/include/asm/stacktrace.h @@ -21,6 +21,9 @@ struct llist_node *kr_cur; struct task_struct *tsk; #endif +#ifdef CONFIG_UNWINDER_FRAME_POINTER + bool ex_frame; +#endif }; static __always_inline @@ -34,6 +37,9 @@ frame->kr_cur = NULL; frame->tsk = current; #endif +#ifdef CONFIG_UNWINDER_FRAME_POINTER + frame->ex_frame = in_entry_text(frame->pc); +#endif } extern int unwind_frame(struct stackframe *frame); --- linux-gcp-5.19.0.orig/arch/arm/include/asm/thread_info.h +++ linux-gcp-5.19.0/arch/arm/include/asm/thread_info.h @@ -128,15 +128,16 @@ #define TIF_NEED_RESCHED 1 /* rescheduling necessary */ #define TIF_NOTIFY_RESUME 2 /* callback before returning to user */ #define TIF_UPROBE 3 /* breakpointed or singlestepping */ -#define TIF_SYSCALL_TRACE 4 /* syscall trace active */ -#define TIF_SYSCALL_AUDIT 5 /* syscall auditing active */ -#define TIF_SYSCALL_TRACEPOINT 6 /* syscall tracepoint instrumentation */ -#define TIF_SECCOMP 7 /* seccomp syscall filtering active */ -#define TIF_NOTIFY_SIGNAL 8 /* signal notifications exist */ +#define TIF_NOTIFY_SIGNAL 4 /* signal notifications exist */ #define TIF_USING_IWMMXT 17 #define TIF_MEMDIE 18 /* is terminating due to OOM killer */ -#define TIF_RESTORE_SIGMASK 20 +#define TIF_RESTORE_SIGMASK 19 +#define TIF_SYSCALL_TRACE 20 /* syscall trace active */ +#define TIF_SYSCALL_AUDIT 21 /* syscall auditing active */ +#define TIF_SYSCALL_TRACEPOINT 22 /* syscall tracepoint instrumentation */ +#define TIF_SECCOMP 23 /* seccomp syscall filtering active */ + #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) --- linux-gcp-5.19.0.orig/arch/arm/kernel/return_address.c +++ linux-gcp-5.19.0/arch/arm/kernel/return_address.c @@ -47,6 +47,7 @@ frame.kr_cur = NULL; frame.tsk = current; #endif + frame.ex_frame = false; walk_stackframe(&frame, save_return_addr, &data); --- linux-gcp-5.19.0.orig/arch/arm/kernel/stacktrace.c +++ linux-gcp-5.19.0/arch/arm/kernel/stacktrace.c @@ -9,6 +9,8 @@ #include #include +#include "reboot.h" + #if defined(CONFIG_FRAME_POINTER) && !defined(CONFIG_ARM_UNWIND) /* * Unwind the current stack frame and store the new register values in the @@ -39,29 +41,74 @@ * Note that with framepointer enabled, even the leaf functions have the same * prologue and epilogue, therefore we can ignore the LR value in this case. */ -int notrace unwind_frame(struct stackframe *frame) + +extern unsigned long call_with_stack_end; + +static int frame_pointer_check(struct stackframe *frame) { unsigned long high, low; unsigned long fp = frame->fp; + unsigned long pc = frame->pc; + + /* + * call_with_stack() is the only place we allow SP to jump from one + * stack to another, with FP and SP pointing to different stacks, + * skipping the FP boundary check at this point. + */ + if (pc >= (unsigned long)&call_with_stack && + pc < (unsigned long)&call_with_stack_end) + return 0; /* only go to a higher address on the stack */ low = frame->sp; high = ALIGN(low, THREAD_SIZE); -#ifdef CONFIG_CC_IS_CLANG /* check current frame pointer is within bounds */ +#ifdef CONFIG_CC_IS_CLANG if (fp < low + 4 || fp > high - 4) return -EINVAL; - - frame->sp = frame->fp; - frame->fp = READ_ONCE_NOCHECK(*(unsigned long *)(fp)); - frame->pc = READ_ONCE_NOCHECK(*(unsigned long *)(fp + 4)); #else - /* check current frame pointer is within bounds */ if (fp < low + 12 || fp > high - 4) return -EINVAL; +#endif + + return 0; +} + +int notrace unwind_frame(struct stackframe *frame) +{ + unsigned long fp = frame->fp; + + if (frame_pointer_check(frame)) + return -EINVAL; + + /* + * When we unwind through an exception stack, include the saved PC + * value into the stack trace. + */ + if (frame->ex_frame) { + struct pt_regs *regs = (struct pt_regs *)frame->sp; + + /* + * We check that 'regs + sizeof(struct pt_regs)' (that is, + * ®s[1]) does not exceed the bottom of the stack to avoid + * accessing data outside the task's stack. This may happen + * when frame->ex_frame is a false positive. + */ + if ((unsigned long)®s[1] > ALIGN(frame->sp, THREAD_SIZE)) + return -EINVAL; + + frame->pc = regs->ARM_pc; + frame->ex_frame = false; + return 0; + } /* restore the registers from the stack frame */ +#ifdef CONFIG_CC_IS_CLANG + frame->sp = frame->fp; + frame->fp = READ_ONCE_NOCHECK(*(unsigned long *)(fp)); + frame->pc = READ_ONCE_NOCHECK(*(unsigned long *)(fp + 4)); +#else frame->fp = READ_ONCE_NOCHECK(*(unsigned long *)(fp - 12)); frame->sp = READ_ONCE_NOCHECK(*(unsigned long *)(fp - 8)); frame->pc = READ_ONCE_NOCHECK(*(unsigned long *)(fp - 4)); @@ -72,6 +119,9 @@ (void *)frame->fp, &frame->kr_cur); #endif + if (in_entry_text(frame->pc)) + frame->ex_frame = true; + return 0; } #endif @@ -102,7 +152,6 @@ { struct stack_trace_data *data = d; struct stack_trace *trace = data->trace; - struct pt_regs *regs; unsigned long addr = frame->pc; if (data->no_sched_functions && in_sched_functions(addr)) @@ -113,19 +162,6 @@ } trace->entries[trace->nr_entries++] = addr; - - if (trace->nr_entries >= trace->max_entries) - return 1; - - if (!in_entry_text(frame->pc)) - return 0; - - regs = (struct pt_regs *)frame->sp; - if ((unsigned long)®s[1] > ALIGN(frame->sp, THREAD_SIZE)) - return 0; - - trace->entries[trace->nr_entries++] = regs->ARM_pc; - return trace->nr_entries >= trace->max_entries; } @@ -167,6 +203,9 @@ frame.kr_cur = NULL; frame.tsk = tsk; #endif +#ifdef CONFIG_UNWINDER_FRAME_POINTER + frame.ex_frame = false; +#endif walk_stackframe(&frame, save_trace, &data); } @@ -188,6 +227,9 @@ frame.kr_cur = NULL; frame.tsk = current; #endif +#ifdef CONFIG_UNWINDER_FRAME_POINTER + frame.ex_frame = in_entry_text(frame.pc); +#endif walk_stackframe(&frame, save_trace, &data); } --- linux-gcp-5.19.0.orig/arch/arm/lib/call_with_stack.S +++ linux-gcp-5.19.0/arch/arm/lib/call_with_stack.S @@ -46,4 +46,6 @@ pop {fpreg, pc} UNWIND( .fnend ) #endif + .globl call_with_stack_end +call_with_stack_end: ENDPROC(call_with_stack) --- linux-gcp-5.19.0.orig/arch/arm/mach-at91/pm.c +++ linux-gcp-5.19.0/arch/arm/mach-at91/pm.c @@ -541,10 +541,42 @@ static int at91_suspend_finish(unsigned long val) { + unsigned char modified_gray_code[] = { + 0x00, 0x01, 0x02, 0x03, 0x06, 0x07, 0x04, 0x05, 0x0c, 0x0d, + 0x0e, 0x0f, 0x0a, 0x0b, 0x08, 0x09, 0x18, 0x19, 0x1a, 0x1b, + 0x1e, 0x1f, 0x1c, 0x1d, 0x14, 0x15, 0x16, 0x17, 0x12, 0x13, + 0x10, 0x11, + }; + unsigned int tmp, index; int i; if (soc_pm.data.mode == AT91_PM_BACKUP && soc_pm.data.ramc_phy) { /* + * Bootloader will perform DDR recalibration and will try to + * restore the ZQ0SR0 with the value saved here. But the + * calibration is buggy and restoring some values from ZQ0SR0 + * is forbidden and risky thus we need to provide processed + * values for these (modified gray code values). + */ + tmp = readl(soc_pm.data.ramc_phy + DDR3PHY_ZQ0SR0); + + /* Store pull-down output impedance select. */ + index = (tmp >> DDR3PHY_ZQ0SR0_PDO_OFF) & 0x1f; + soc_pm.bu->ddr_phy_calibration[0] = modified_gray_code[index]; + + /* Store pull-up output impedance select. */ + index = (tmp >> DDR3PHY_ZQ0SR0_PUO_OFF) & 0x1f; + soc_pm.bu->ddr_phy_calibration[0] |= modified_gray_code[index]; + + /* Store pull-down on-die termination impedance select. */ + index = (tmp >> DDR3PHY_ZQ0SR0_PDODT_OFF) & 0x1f; + soc_pm.bu->ddr_phy_calibration[0] |= modified_gray_code[index]; + + /* Store pull-up on-die termination impedance select. */ + index = (tmp >> DDR3PHY_ZQ0SRO_PUODT_OFF) & 0x1f; + soc_pm.bu->ddr_phy_calibration[0] |= modified_gray_code[index]; + + /* * The 1st 8 words of memory might get corrupted in the process * of DDR PHY recalibration; it is saved here in securam and it * will be restored later, after recalibration, by bootloader @@ -1066,10 +1098,6 @@ of_scan_flat_dt(at91_pm_backup_scan_memcs, &located); if (!located) goto securam_fail; - - /* DDR3PHY_ZQ0SR0 */ - soc_pm.bu->ddr_phy_calibration[0] = readl(soc_pm.data.ramc_phy + - 0x188); } return 0; --- linux-gcp-5.19.0.orig/arch/arm/mach-at91/pm_suspend.S +++ linux-gcp-5.19.0/arch/arm/mach-at91/pm_suspend.S @@ -169,12 +169,23 @@ cmp tmp1, #UDDRC_STAT_SELFREF_TYPE_SW bne sr_ena_2 - /* Put DDR PHY's DLL in bypass mode for non-backup modes. */ + /* Disable DX DLLs for non-backup modes. */ cmp r7, #AT91_PM_BACKUP beq sr_ena_3 - ldr tmp1, [r3, #DDR3PHY_PIR] - orr tmp1, tmp1, #DDR3PHY_PIR_DLLBYP - str tmp1, [r3, #DDR3PHY_PIR] + + /* Do not soft reset the AC DLL. */ + ldr tmp1, [r3, DDR3PHY_ACDLLCR] + bic tmp1, tmp1, DDR3PHY_ACDLLCR_DLLSRST + str tmp1, [r3, DDR3PHY_ACDLLCR] + + /* Disable DX DLLs. */ + ldr tmp1, [r3, #DDR3PHY_DX0DLLCR] + orr tmp1, tmp1, #DDR3PHY_DXDLLCR_DLLDIS + str tmp1, [r3, #DDR3PHY_DX0DLLCR] + + ldr tmp1, [r3, #DDR3PHY_DX1DLLCR] + orr tmp1, tmp1, #DDR3PHY_DXDLLCR_DLLDIS + str tmp1, [r3, #DDR3PHY_DX1DLLCR] sr_ena_3: /* Power down DDR PHY data receivers. */ @@ -221,10 +232,14 @@ bic tmp1, tmp1, #DDR3PHY_DSGCR_ODTPDD_ODT0 str tmp1, [r3, #DDR3PHY_DSGCR] - /* Take DDR PHY's DLL out of bypass mode. */ - ldr tmp1, [r3, #DDR3PHY_PIR] - bic tmp1, tmp1, #DDR3PHY_PIR_DLLBYP - str tmp1, [r3, #DDR3PHY_PIR] + /* Enable DX DLLs. */ + ldr tmp1, [r3, #DDR3PHY_DX0DLLCR] + bic tmp1, tmp1, #DDR3PHY_DXDLLCR_DLLDIS + str tmp1, [r3, #DDR3PHY_DX0DLLCR] + + ldr tmp1, [r3, #DDR3PHY_DX1DLLCR] + bic tmp1, tmp1, #DDR3PHY_DXDLLCR_DLLDIS + str tmp1, [r3, #DDR3PHY_DX1DLLCR] /* Enable quasi-dynamic programming. */ mov tmp1, #0 --- linux-gcp-5.19.0.orig/arch/arm/mach-bcm/bcm_kona_smc.c +++ linux-gcp-5.19.0/arch/arm/mach-bcm/bcm_kona_smc.c @@ -52,6 +52,7 @@ return -ENODEV; prop_val = of_get_address(node, 0, &prop_size, NULL); + of_node_put(node); if (!prop_val) return -EINVAL; --- linux-gcp-5.19.0.orig/arch/arm/mach-dove/Kconfig +++ linux-gcp-5.19.0/arch/arm/mach-dove/Kconfig @@ -8,6 +8,7 @@ select PINCTRL_DOVE select PLAT_ORION_LEGACY select PM_GENERIC_DOMAINS if PM + select PCI_QUIRKS if PCI help Support for the Marvell Dove SoC 88AP510 --- linux-gcp-5.19.0.orig/arch/arm/mach-dove/pcie.c +++ linux-gcp-5.19.0/arch/arm/mach-dove/pcie.c @@ -136,14 +136,19 @@ .write = pcie_wr_conf, }; +/* + * The root complex has a hardwired class of PCI_CLASS_MEMORY_OTHER, when it + * is operating as a root complex this needs to be switched to + * PCI_CLASS_BRIDGE_HOST or Linux will errantly try to process the BAR's on + * the device. Decoding setup is handled by the orion code. + */ static void rc_pci_fixup(struct pci_dev *dev) { - /* - * Prevent enumeration of root complex. - */ if (dev->bus->parent == NULL && dev->devfn == 0) { int i; + dev->class &= 0xff; + dev->class |= PCI_CLASS_BRIDGE_HOST << 8; for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) { dev->resource[i].start = 0; dev->resource[i].end = 0; --- linux-gcp-5.19.0.orig/arch/arm/mach-imx/cpu-imx25.c +++ linux-gcp-5.19.0/arch/arm/mach-imx/cpu-imx25.c @@ -23,6 +23,7 @@ np = of_find_compatible_node(NULL, NULL, "fsl,imx25-iim"); iim_base = of_iomap(np, 0); + of_node_put(np); BUG_ON(!iim_base); rev = readl(iim_base + MXC_IIMSREV); iounmap(iim_base); --- linux-gcp-5.19.0.orig/arch/arm/mach-imx/cpu-imx27.c +++ linux-gcp-5.19.0/arch/arm/mach-imx/cpu-imx27.c @@ -28,6 +28,7 @@ np = of_find_compatible_node(NULL, NULL, "fsl,imx27-ccm"); ccm_base = of_iomap(np, 0); + of_node_put(np); BUG_ON(!ccm_base); /* * now we have access to the IO registers. As we need --- linux-gcp-5.19.0.orig/arch/arm/mach-imx/cpu-imx31.c +++ linux-gcp-5.19.0/arch/arm/mach-imx/cpu-imx31.c @@ -39,6 +39,7 @@ np = of_find_compatible_node(NULL, NULL, "fsl,imx31-iim"); iim_base = of_iomap(np, 0); + of_node_put(np); BUG_ON(!iim_base); /* read SREV register from IIM module */ --- linux-gcp-5.19.0.orig/arch/arm/mach-imx/cpu-imx35.c +++ linux-gcp-5.19.0/arch/arm/mach-imx/cpu-imx35.c @@ -21,6 +21,7 @@ np = of_find_compatible_node(NULL, NULL, "fsl,imx35-iim"); iim_base = of_iomap(np, 0); + of_node_put(np); BUG_ON(!iim_base); rev = imx_readl(iim_base + MXC_IIMSREV); --- linux-gcp-5.19.0.orig/arch/arm/mach-imx/cpu-imx5.c +++ linux-gcp-5.19.0/arch/arm/mach-imx/cpu-imx5.c @@ -28,6 +28,7 @@ np = of_find_compatible_node(NULL, NULL, compat); iim_base = of_iomap(np, 0); + of_node_put(np); WARN_ON(!iim_base); srev = readl(iim_base + IIM_SREV) & 0xff; --- linux-gcp-5.19.0.orig/arch/arm/mach-imx/mmdc.c +++ linux-gcp-5.19.0/arch/arm/mach-imx/mmdc.c @@ -99,6 +99,7 @@ cpumask_t cpu; struct hrtimer hrtimer; unsigned int active_events; + int id; struct device *dev; struct perf_event *mmdc_events[MMDC_NUM_COUNTERS]; struct hlist_node node; @@ -433,8 +434,6 @@ static int mmdc_pmu_init(struct mmdc_pmu *pmu_mmdc, void __iomem *mmdc_base, struct device *dev) { - int mmdc_num; - *pmu_mmdc = (struct mmdc_pmu) { .pmu = (struct pmu) { .task_ctx_nr = perf_invalid_context, @@ -452,15 +451,16 @@ .active_events = 0, }; - mmdc_num = ida_simple_get(&mmdc_ida, 0, 0, GFP_KERNEL); + pmu_mmdc->id = ida_simple_get(&mmdc_ida, 0, 0, GFP_KERNEL); - return mmdc_num; + return pmu_mmdc->id; } static int imx_mmdc_remove(struct platform_device *pdev) { struct mmdc_pmu *pmu_mmdc = platform_get_drvdata(pdev); + ida_simple_remove(&mmdc_ida, pmu_mmdc->id); cpuhp_state_remove_instance_nocalls(cpuhp_mmdc_state, &pmu_mmdc->node); perf_pmu_unregister(&pmu_mmdc->pmu); iounmap(pmu_mmdc->mmdc_base); @@ -474,7 +474,6 @@ { struct mmdc_pmu *pmu_mmdc; char *name; - int mmdc_num; int ret; const struct of_device_id *of_id = of_match_device(imx_mmdc_dt_ids, &pdev->dev); @@ -497,14 +496,14 @@ cpuhp_mmdc_state = ret; } - mmdc_num = mmdc_pmu_init(pmu_mmdc, mmdc_base, &pdev->dev); - pmu_mmdc->mmdc_ipg_clk = mmdc_ipg_clk; - if (mmdc_num == 0) - name = "mmdc"; - else - name = devm_kasprintf(&pdev->dev, - GFP_KERNEL, "mmdc%d", mmdc_num); + ret = mmdc_pmu_init(pmu_mmdc, mmdc_base, &pdev->dev); + if (ret < 0) + goto pmu_free; + name = devm_kasprintf(&pdev->dev, + GFP_KERNEL, "mmdc%d", ret); + + pmu_mmdc->mmdc_ipg_clk = mmdc_ipg_clk; pmu_mmdc->devtype_data = (struct fsl_mmdc_devtype_data *)of_id->data; hrtimer_init(&pmu_mmdc->hrtimer, CLOCK_MONOTONIC, @@ -525,6 +524,7 @@ pmu_register_err: pr_warn("MMDC Perf PMU failed (%d), disabled\n", ret); + ida_simple_remove(&mmdc_ida, pmu_mmdc->id); cpuhp_state_remove_instance_nocalls(cpuhp_mmdc_state, &pmu_mmdc->node); hrtimer_cancel(&pmu_mmdc->hrtimer); pmu_free: --- linux-gcp-5.19.0.orig/arch/arm/mach-mmp/time.c +++ linux-gcp-5.19.0/arch/arm/mach-mmp/time.c @@ -43,18 +43,21 @@ static void __iomem *mmp_timer_base = TIMERS_VIRT_BASE; /* - * FIXME: the timer needs some delay to stablize the counter capture + * Read the timer through the CVWR register. Delay is required after requesting + * a read. The CR register cannot be directly read due to metastability issues + * documented in the PXA168 software manual. */ static inline uint32_t timer_read(void) { - int delay = 100; + uint32_t val; + int delay = 3; __raw_writel(1, mmp_timer_base + TMR_CVWR(1)); while (delay--) - cpu_relax(); + val = __raw_readl(mmp_timer_base + TMR_CVWR(1)); - return __raw_readl(mmp_timer_base + TMR_CVWR(1)); + return val; } static u64 notrace mmp_read_sched_clock(void) --- linux-gcp-5.19.0.orig/arch/arm/mach-mv78xx0/pcie.c +++ linux-gcp-5.19.0/arch/arm/mach-mv78xx0/pcie.c @@ -180,14 +180,19 @@ .write = pcie_wr_conf, }; +/* + * The root complex has a hardwired class of PCI_CLASS_MEMORY_OTHER, when it + * is operating as a root complex this needs to be switched to + * PCI_CLASS_BRIDGE_HOST or Linux will errantly try to process the BAR's on + * the device. Decoding setup is handled by the orion code. + */ static void rc_pci_fixup(struct pci_dev *dev) { - /* - * Prevent enumeration of root complex. - */ if (dev->bus->parent == NULL && dev->devfn == 0) { int i; + dev->class &= 0xff; + dev->class |= PCI_CLASS_BRIDGE_HOST << 8; for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) { dev->resource[i].start = 0; dev->resource[i].end = 0; --- linux-gcp-5.19.0.orig/arch/arm/mach-mxs/mach-mxs.c +++ linux-gcp-5.19.0/arch/arm/mach-mxs/mach-mxs.c @@ -393,8 +393,10 @@ root = of_find_node_by_path("/"); ret = of_property_read_string(root, "model", &soc_dev_attr->machine); - if (ret) + if (ret) { + kfree(soc_dev_attr); return; + } soc_dev_attr->family = "Freescale MXS Family"; soc_dev_attr->soc_id = mxs_get_soc_id(); --- linux-gcp-5.19.0.orig/arch/arm/mach-omap1/Kconfig +++ linux-gcp-5.19.0/arch/arm/mach-omap1/Kconfig @@ -44,10 +44,6 @@ select CPU_ARM926T select OMAP_DM_TIMER -config ARCH_OMAP1_ANY - select ARCH_OMAP - def_bool ARCH_OMAP730 || ARCH_OMAP850 || ARCH_OMAP15XX || ARCH_OMAP16XX - config ARCH_OMAP bool --- linux-gcp-5.19.0.orig/arch/arm/mach-omap1/Makefile +++ linux-gcp-5.19.0/arch/arm/mach-omap1/Makefile @@ -3,8 +3,6 @@ # Makefile for the linux kernel. # -ifdef CONFIG_ARCH_OMAP1_ANY - # Common support obj-y := io.o id.o sram-init.o sram.o time.o irq.o mux.o flash.o \ serial.o devices.o dma.o omap-dma.o fb.o @@ -59,5 +57,3 @@ obj-$(CONFIG_ARCH_OMAP850) += gpio7xx.o obj-$(CONFIG_ARCH_OMAP15XX) += gpio15xx.o obj-$(CONFIG_ARCH_OMAP16XX) += gpio16xx.o - -endif --- linux-gcp-5.19.0.orig/arch/arm/mach-omap1/io.c +++ linux-gcp-5.19.0/arch/arm/mach-omap1/io.c @@ -22,17 +22,14 @@ * The machine specific code may provide the extra mapping besides the * default mapping provided here. */ -static struct map_desc omap_io_desc[] __initdata = { +#if defined (CONFIG_ARCH_OMAP730) || defined (CONFIG_ARCH_OMAP850) +static struct map_desc omap7xx_io_desc[] __initdata = { { .virtual = OMAP1_IO_VIRT, .pfn = __phys_to_pfn(OMAP1_IO_PHYS), .length = OMAP1_IO_SIZE, .type = MT_DEVICE - } -}; - -#if defined (CONFIG_ARCH_OMAP730) || defined (CONFIG_ARCH_OMAP850) -static struct map_desc omap7xx_io_desc[] __initdata = { + }, { .virtual = OMAP7XX_DSP_BASE, .pfn = __phys_to_pfn(OMAP7XX_DSP_START), @@ -50,6 +47,12 @@ #ifdef CONFIG_ARCH_OMAP15XX static struct map_desc omap1510_io_desc[] __initdata = { { + .virtual = OMAP1_IO_VIRT, + .pfn = __phys_to_pfn(OMAP1_IO_PHYS), + .length = OMAP1_IO_SIZE, + .type = MT_DEVICE + }, + { .virtual = OMAP1510_DSP_BASE, .pfn = __phys_to_pfn(OMAP1510_DSP_START), .length = OMAP1510_DSP_SIZE, @@ -66,6 +69,12 @@ #if defined(CONFIG_ARCH_OMAP16XX) static struct map_desc omap16xx_io_desc[] __initdata = { { + .virtual = OMAP1_IO_VIRT, + .pfn = __phys_to_pfn(OMAP1_IO_PHYS), + .length = OMAP1_IO_SIZE, + .type = MT_DEVICE + }, + { .virtual = OMAP16XX_DSP_BASE, .pfn = __phys_to_pfn(OMAP16XX_DSP_START), .length = OMAP16XX_DSP_SIZE, @@ -79,18 +88,9 @@ }; #endif -/* - * Maps common IO regions for omap1 - */ -static void __init omap1_map_common_io(void) -{ - iotable_init(omap_io_desc, ARRAY_SIZE(omap_io_desc)); -} - #if defined (CONFIG_ARCH_OMAP730) || defined (CONFIG_ARCH_OMAP850) void __init omap7xx_map_io(void) { - omap1_map_common_io(); iotable_init(omap7xx_io_desc, ARRAY_SIZE(omap7xx_io_desc)); } #endif @@ -98,7 +98,6 @@ #ifdef CONFIG_ARCH_OMAP15XX void __init omap15xx_map_io(void) { - omap1_map_common_io(); iotable_init(omap1510_io_desc, ARRAY_SIZE(omap1510_io_desc)); } #endif @@ -106,7 +105,6 @@ #if defined(CONFIG_ARCH_OMAP16XX) void __init omap16xx_map_io(void) { - omap1_map_common_io(); iotable_init(omap16xx_io_desc, ARRAY_SIZE(omap16xx_io_desc)); } #endif --- linux-gcp-5.19.0.orig/arch/arm/mach-omap1/mcbsp.c +++ linux-gcp-5.19.0/arch/arm/mach-omap1/mcbsp.c @@ -89,7 +89,6 @@ #define OMAP1610_MCBSP2_BASE 0xfffb1000 #define OMAP1610_MCBSP3_BASE 0xe1017000 -#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850) struct resource omap7xx_mcbsp_res[][6] = { { { @@ -159,14 +158,7 @@ }; #define OMAP7XX_MCBSP_RES_SZ ARRAY_SIZE(omap7xx_mcbsp_res[1]) #define OMAP7XX_MCBSP_COUNT ARRAY_SIZE(omap7xx_mcbsp_res) -#else -#define omap7xx_mcbsp_res_0 NULL -#define omap7xx_mcbsp_pdata NULL -#define OMAP7XX_MCBSP_RES_SZ 0 -#define OMAP7XX_MCBSP_COUNT 0 -#endif -#ifdef CONFIG_ARCH_OMAP15XX struct resource omap15xx_mcbsp_res[][6] = { { { @@ -266,14 +258,7 @@ }; #define OMAP15XX_MCBSP_RES_SZ ARRAY_SIZE(omap15xx_mcbsp_res[1]) #define OMAP15XX_MCBSP_COUNT ARRAY_SIZE(omap15xx_mcbsp_res) -#else -#define omap15xx_mcbsp_res_0 NULL -#define omap15xx_mcbsp_pdata NULL -#define OMAP15XX_MCBSP_RES_SZ 0 -#define OMAP15XX_MCBSP_COUNT 0 -#endif -#ifdef CONFIG_ARCH_OMAP16XX struct resource omap16xx_mcbsp_res[][6] = { { { @@ -373,12 +358,6 @@ }; #define OMAP16XX_MCBSP_RES_SZ ARRAY_SIZE(omap16xx_mcbsp_res[1]) #define OMAP16XX_MCBSP_COUNT ARRAY_SIZE(omap16xx_mcbsp_res) -#else -#define omap16xx_mcbsp_res_0 NULL -#define omap16xx_mcbsp_pdata NULL -#define OMAP16XX_MCBSP_RES_SZ 0 -#define OMAP16XX_MCBSP_COUNT 0 -#endif static void omap_mcbsp_register_board_cfg(struct resource *res, int res_count, struct omap_mcbsp_platform_data *config, int size) --- linux-gcp-5.19.0.orig/arch/arm/mach-omap1/pm.h +++ linux-gcp-5.19.0/arch/arm/mach-omap1/pm.h @@ -106,13 +106,6 @@ #define OMAP7XX_IDLECT3 0xfffece24 #define OMAP7XX_IDLE_LOOP_REQUEST 0x0C00 -#if !defined(CONFIG_ARCH_OMAP730) && \ - !defined(CONFIG_ARCH_OMAP850) && \ - !defined(CONFIG_ARCH_OMAP15XX) && \ - !defined(CONFIG_ARCH_OMAP16XX) -#warning "Power management for this processor not implemented yet" -#endif - #ifndef __ASSEMBLER__ #include --- linux-gcp-5.19.0.orig/arch/arm/mach-omap1/timer.c +++ linux-gcp-5.19.0/arch/arm/mach-omap1/timer.c @@ -166,7 +166,7 @@ kfree(pdata); err_free_pdev: - platform_device_unregister(pdev); + platform_device_put(pdev); return ret; } --- linux-gcp-5.19.0.orig/arch/arm/mach-omap2/display.c +++ linux-gcp-5.19.0/arch/arm/mach-omap2/display.c @@ -211,6 +211,7 @@ node = of_find_node_by_name(NULL, "omap4_padconf_global"); if (node) omap4_dsi_mux_syscon = syscon_node_to_regmap(node); + of_node_put(node); return 0; } @@ -259,11 +260,13 @@ if (!pdev) { pr_err("Unable to find DSS platform device\n"); + of_node_put(node); return -ENODEV; } r = of_platform_populate(node, NULL, NULL, &pdev->dev); put_device(&pdev->dev); + of_node_put(node); if (r) { pr_err("Unable to populate DSS submodule devices\n"); return r; --- linux-gcp-5.19.0.orig/arch/arm/mach-omap2/pdata-quirks.c +++ linux-gcp-5.19.0/arch/arm/mach-omap2/pdata-quirks.c @@ -540,6 +540,8 @@ of_platform_populate(np, omap_dt_match_table, omap_auxdata_lookup, NULL); + + of_node_put(np); } } --- linux-gcp-5.19.0.orig/arch/arm/mach-omap2/prm3xxx.c +++ linux-gcp-5.19.0/arch/arm/mach-omap2/prm3xxx.c @@ -708,6 +708,7 @@ } irq_num = of_irq_get(np, 0); + of_node_put(np); if (irq_num == -EPROBE_DEFER) return irq_num; --- linux-gcp-5.19.0.orig/arch/arm/mach-omap2/timer.c +++ linux-gcp-5.19.0/arch/arm/mach-omap2/timer.c @@ -76,6 +76,7 @@ } rate = clk_get_rate(sys_clk); + clk_put(sys_clk); if (soc_is_dra7xx()) { /* --- linux-gcp-5.19.0.orig/arch/arm/mach-orion5x/Kconfig +++ linux-gcp-5.19.0/arch/arm/mach-orion5x/Kconfig @@ -7,6 +7,7 @@ select GPIOLIB select MVEBU_MBUS select FORCE_PCI + select PCI_QUIRKS select PHYLIB if NETDEVICES select PLAT_ORION_LEGACY help --- linux-gcp-5.19.0.orig/arch/arm/mach-orion5x/pci.c +++ linux-gcp-5.19.0/arch/arm/mach-orion5x/pci.c @@ -515,14 +515,20 @@ /***************************************************************************** * General PCIe + PCI ****************************************************************************/ + +/* + * The root complex has a hardwired class of PCI_CLASS_MEMORY_OTHER, when it + * is operating as a root complex this needs to be switched to + * PCI_CLASS_BRIDGE_HOST or Linux will errantly try to process the BAR's on + * the device. Decoding setup is handled by the orion code. + */ static void rc_pci_fixup(struct pci_dev *dev) { - /* - * Prevent enumeration of root complex. - */ if (dev->bus->parent == NULL && dev->devfn == 0) { int i; + dev->class &= 0xff; + dev->class |= PCI_CLASS_BRIDGE_HOST << 8; for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) { dev->resource[i].start = 0; dev->resource[i].end = 0; --- linux-gcp-5.19.0.orig/arch/arm/mach-s3c/s3c64xx.c +++ linux-gcp-5.19.0/arch/arm/mach-s3c/s3c64xx.c @@ -173,7 +173,8 @@ .tclk_mask = (1 << 7) | (1 << 6) | (1 << 5), }; -void __init s3c64xx_set_timer_source(unsigned int event, unsigned int source) +void __init s3c64xx_set_timer_source(enum s3c64xx_timer_mode event, + enum s3c64xx_timer_mode source) { s3c64xx_pwm_variant.output_mask = BIT(SAMSUNG_PWM_NUM) - 1; s3c64xx_pwm_variant.output_mask &= ~(BIT(event) | BIT(source)); --- linux-gcp-5.19.0.orig/arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c +++ linux-gcp-5.19.0/arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c @@ -125,6 +125,7 @@ list_for_each_entry_safe(pos, tmp, &quirk_list, list) { list_del(&pos->list); + of_node_put(pos->np); kfree(pos); } @@ -174,11 +175,12 @@ memcpy(&quirk->i2c_msg, id->data, sizeof(quirk->i2c_msg)); quirk->id = id; - quirk->np = np; + quirk->np = of_node_get(np); quirk->i2c_msg.addr = addr; ret = of_irq_parse_one(np, 0, argsa); if (ret) { /* Skip invalid entry and continue */ + of_node_put(np); kfree(quirk); continue; } @@ -225,6 +227,7 @@ err_mem: list_for_each_entry_safe(pos, tmp, &quirk_list, list) { list_del(&pos->list); + of_node_put(pos->np); kfree(pos); } --- linux-gcp-5.19.0.orig/arch/arm/mach-zynq/common.c +++ linux-gcp-5.19.0/arch/arm/mach-zynq/common.c @@ -77,6 +77,7 @@ } zynq_devcfg_base = of_iomap(np, 0); + of_node_put(np); if (!zynq_devcfg_base) { pr_err("%s: Unable to map I/O memory\n", __func__); return -1; --- linux-gcp-5.19.0.orig/arch/arm/mach-zynq/slcr.c +++ linux-gcp-5.19.0/arch/arm/mach-zynq/slcr.c @@ -213,6 +213,7 @@ zynq_slcr_regmap = syscon_regmap_lookup_by_compatible("xlnx,zynq-slcr"); if (IS_ERR(zynq_slcr_regmap)) { pr_err("%s: failed to find zynq-slcr\n", __func__); + of_node_put(np); return -ENODEV; } --- linux-gcp-5.19.0.orig/arch/arm/mm/dump.c +++ linux-gcp-5.19.0/arch/arm/mm/dump.c @@ -346,7 +346,7 @@ addr = start + i * PMD_SIZE; domain = get_domain_name(pmd); if (pmd_none(*pmd) || pmd_large(*pmd) || !pmd_present(*pmd)) - note_page(st, addr, 3, pmd_val(*pmd), domain); + note_page(st, addr, 4, pmd_val(*pmd), domain); else walk_pte(st, pmd, addr, domain); --- linux-gcp-5.19.0.orig/arch/arm/mm/fault.c +++ linux-gcp-5.19.0/arch/arm/mm/fault.c @@ -105,6 +105,19 @@ return (fsr & FSR_WRITE) && !(fsr & FSR_CM); } +static inline bool is_translation_fault(unsigned int fsr) +{ + int fs = fsr_fs(fsr); +#ifdef CONFIG_ARM_LPAE + if ((fs & FS_MMU_NOLL_MASK) == FS_TRANS_NOLL) + return true; +#else + if (fs == FS_L1_TRANS || fs == FS_L2_TRANS) + return true; +#endif + return false; +} + static void die_kernel_fault(const char *msg, struct mm_struct *mm, unsigned long addr, unsigned int fsr, struct pt_regs *regs) @@ -140,7 +153,8 @@ if (addr < PAGE_SIZE) { msg = "NULL pointer dereference"; } else { - if (kfence_handle_page_fault(addr, is_write_fault(fsr), regs)) + if (is_translation_fault(fsr) && + kfence_handle_page_fault(addr, is_write_fault(fsr), regs)) return; msg = "paging request"; @@ -208,7 +222,7 @@ { int fs = fsr_fs(fsr); #ifdef CONFIG_ARM_LPAE - if ((fs & FS_PERM_NOLL_MASK) == FS_PERM_NOLL) + if ((fs & FS_MMU_NOLL_MASK) == FS_PERM_NOLL) return true; #else if (fs == FS_L1_PERM || fs == FS_L2_PERM) --- linux-gcp-5.19.0.orig/arch/arm/mm/fault.h +++ linux-gcp-5.19.0/arch/arm/mm/fault.h @@ -14,8 +14,9 @@ #ifdef CONFIG_ARM_LPAE #define FSR_FS_AEA 17 +#define FS_TRANS_NOLL 0x4 #define FS_PERM_NOLL 0xC -#define FS_PERM_NOLL_MASK 0x3C +#define FS_MMU_NOLL_MASK 0x3C static inline int fsr_fs(unsigned int fsr) { @@ -23,8 +24,10 @@ } #else #define FSR_FS_AEA 22 -#define FS_L1_PERM 0xD -#define FS_L2_PERM 0xF +#define FS_L1_TRANS 0x5 +#define FS_L2_TRANS 0x7 +#define FS_L1_PERM 0xD +#define FS_L2_PERM 0xF static inline int fsr_fs(unsigned int fsr) { --- linux-gcp-5.19.0.orig/arch/arm/mm/kasan_init.c +++ linux-gcp-5.19.0/arch/arm/mm/kasan_init.c @@ -264,12 +264,17 @@ /* * 1. The module global variables are in MODULES_VADDR ~ MODULES_END, - * so we need to map this area. + * so we need to map this area if CONFIG_KASAN_VMALLOC=n. With + * VMALLOC support KASAN will manage this region dynamically, + * refer to kasan_populate_vmalloc() and ARM's implementation of + * module_alloc(). * 2. PKMAP_BASE ~ PKMAP_BASE+PMD_SIZE's shadow and MODULES_VADDR * ~ MODULES_END's shadow is in the same PMD_SIZE, so we can't * use kasan_populate_zero_shadow. */ - create_mapping((void *)MODULES_VADDR, (void *)(PKMAP_BASE + PMD_SIZE)); + if (!IS_ENABLED(CONFIG_KASAN_VMALLOC) && IS_ENABLED(CONFIG_MODULES)) + create_mapping((void *)MODULES_VADDR, (void *)(MODULES_END)); + create_mapping((void *)PKMAP_BASE, (void *)(PKMAP_BASE + PMD_SIZE)); /* * KAsan may reuse the contents of kasan_early_shadow_pte directly, so --- linux-gcp-5.19.0.orig/arch/arm/mm/mmu.c +++ linux-gcp-5.19.0/arch/arm/mm/mmu.c @@ -300,7 +300,11 @@ .prot_pte = L_PTE_PRESENT | L_PTE_YOUNG | L_PTE_DIRTY | L_PTE_XN | L_PTE_RDONLY, .prot_l1 = PMD_TYPE_TABLE, +#ifdef CONFIG_ARM_LPAE + .prot_sect = PMD_TYPE_SECT | L_PMD_SECT_RDONLY | PMD_SECT_AP2, +#else .prot_sect = PMD_TYPE_SECT, +#endif .domain = DOMAIN_KERNEL, }, [MT_ROM] = { --- linux-gcp-5.19.0.orig/arch/arm/mm/nommu.c +++ linux-gcp-5.19.0/arch/arm/mm/nommu.c @@ -26,6 +26,13 @@ unsigned long vectors_base; +/* + * empty_zero_page is a special page that is used for + * zero-initialized data and COW. + */ +struct page *empty_zero_page; +EXPORT_SYMBOL(empty_zero_page); + #ifdef CONFIG_ARM_MPU struct mpu_rgn_info mpu_rgn_info; #endif @@ -148,9 +155,21 @@ */ void __init paging_init(const struct machine_desc *mdesc) { + void *zero_page; + early_trap_init((void *)vectors_base); mpu_setup(); + + /* allocate the zero page. */ + zero_page = (void *)memblock_alloc(PAGE_SIZE, PAGE_SIZE); + if (!zero_page) + panic("%s: Failed to allocate %lu bytes align=0x%lx\n", + __func__, PAGE_SIZE, PAGE_SIZE); + bootmem_init(); + + empty_zero_page = virt_to_page(zero_page); + flush_dcache_page(empty_zero_page); } /* --- linux-gcp-5.19.0.orig/arch/arm/nwfpe/Makefile +++ linux-gcp-5.19.0/arch/arm/nwfpe/Makefile @@ -11,3 +11,9 @@ entry.o nwfpe-$(CONFIG_FPE_NWFPE_XP) += extended_cpdo.o + +# Try really hard to avoid generating calls to __aeabi_uldivmod() from +# float64_rem() due to loop elision. +ifdef CONFIG_CC_IS_CLANG +CFLAGS_softfloat.o += -mllvm -replexitval=never +endif --- linux-gcp-5.19.0.orig/arch/arm/plat-orion/Makefile +++ linux-gcp-5.19.0/arch/arm/plat-orion/Makefile @@ -2,7 +2,7 @@ # # Makefile for the linux kernel. # -ccflags-$(CONFIG_ARCH_MULTIPLATFORM) := -I$(srctree)/$(src)/include +ccflags-y := -I$(srctree)/$(src)/include orion-gpio-$(CONFIG_GPIOLIB) += gpio.o obj-$(CONFIG_PLAT_ORION_LEGACY) += irq.o pcie.o time.o common.o mpp.o --- linux-gcp-5.19.0.orig/arch/arm/xen/enlighten.c +++ linux-gcp-5.19.0/arch/arm/xen/enlighten.c @@ -34,6 +34,7 @@ #include #include #include +#include #include @@ -443,7 +444,8 @@ if (!xen_domain()) return 0; - xen_set_restricted_virtio_memory_access(); + if (IS_ENABLED(CONFIG_XEN_VIRTIO)) + virtio_set_mem_acc_cb(xen_virtio_mem_acc); if (!acpi_disabled) xen_acpi_guest_init(); --- linux-gcp-5.19.0.orig/arch/arm64/Kconfig +++ linux-gcp-5.19.0/arch/arm64/Kconfig @@ -98,7 +98,6 @@ select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT select ARCH_WANT_FRAME_POINTERS select ARCH_WANT_HUGE_PMD_SHARE if ARM64_4K_PAGES || (ARM64_16K_PAGES && !ARM64_VA_BITS_36) - select ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP select ARCH_WANT_LD_ORPHAN_WARN select ARCH_WANTS_NO_INSTR select ARCH_HAS_UBSAN_SANITIZE_ALL @@ -226,6 +225,7 @@ select THREAD_INFO_IN_TASK select HAVE_ARCH_USERFAULTFD_MINOR if USERFAULTFD select TRACE_IRQFLAGS_SUPPORT + select TRACE_IRQFLAGS_NMI_SUPPORT help ARM 64-bit (AArch64) Linux support. @@ -503,6 +503,22 @@ If unsure, say Y. +config ARM64_ERRATUM_1742098 + bool "Cortex-A57/A72: 1742098: ELR recorded incorrectly on interrupt taken between cryptographic instructions in a sequence" + depends on COMPAT + default y + help + This option removes the AES hwcap for aarch32 user-space to + workaround erratum 1742098 on Cortex-A57 and Cortex-A72. + + Affected parts may corrupt the AES state if an interrupt is + taken between a pair of AES instructions. These instructions + are only present if the cryptography extensions are present. + All software should have a fallback implementation for CPUs + that don't implement the cryptography extensions. + + If unsure, say Y. + config ARM64_ERRATUM_845719 bool "Cortex-A53: 845719: a load might read incorrect data" depends on COMPAT @@ -612,6 +628,23 @@ config ARM64_WORKAROUND_REPEAT_TLBI bool +config ARM64_ERRATUM_2441007 + bool "Cortex-A55: Completion of affected memory accesses might not be guaranteed by completion of a TLBI" + default y + select ARM64_WORKAROUND_REPEAT_TLBI + help + This option adds a workaround for ARM Cortex-A55 erratum #2441007. + + Under very rare circumstances, affected Cortex-A55 CPUs + may not handle a race between a break-before-make sequence on one + CPU, and another CPU accessing the same page. This could allow a + store to a page that has been unmapped. + + Work around this by adding the affected CPUs to the list that needs + TLB sequences to be done twice. + + If unsure, say Y. + config ARM64_ERRATUM_1286807 bool "Cortex-A76: Modification of the translation table for a virtual address might lead to read-after-read ordering violation" default y @@ -821,6 +854,23 @@ If unsure, say Y. +config ARM64_ERRATUM_2441009 + bool "Cortex-A510: Completion of affected memory accesses might not be guaranteed by completion of a TLBI" + default y + select ARM64_WORKAROUND_REPEAT_TLBI + help + This option adds a workaround for ARM Cortex-A510 erratum #2441009. + + Under very rare circumstances, affected Cortex-A510 CPUs + may not handle a race between a break-before-make sequence on one + CPU, and another CPU accessing the same page. This could allow a + store to a page that has been unmapped. + + Work around this by adding the affected CPUs to the list that needs + TLB sequences to be done twice. + + If unsure, say Y. + config ARM64_ERRATUM_2064142 bool "Cortex-A510: 2064142: workaround TRBE register writes while disabled" depends on CORESIGHT_TRBE @@ -880,6 +930,23 @@ If unsure, say Y. +config ARM64_ERRATUM_2457168 + bool "Cortex-A510: 2457168: workaround for AMEVCNTR01 incrementing incorrectly" + depends on ARM64_AMU_EXTN + default y + help + This option adds the workaround for ARM Cortex-A510 erratum 2457168. + + The AMU counter AMEVCNTR01 (constant counter) should increment at the same rate + as the system counter. On affected Cortex-A510 cores AMEVCNTR01 increments + incorrectly giving a significantly higher output value. + + Work around this problem by returning 0 when reading the affected counter in + key locations that results in disabling all users of this counter. This effect + is the same to firmware disabling affected counters. + + If unsure, say Y. + config CAVIUM_ERRATUM_22375 bool "Cavium erratum 22375, 24313" default y @@ -1367,6 +1434,7 @@ config FORCE_MAX_ZONEORDER int default "14" if ARM64_64K_PAGES + default "13" if (ARCH_THUNDER && ARM64_4K_PAGES) default "12" if ARM64_16K_PAGES default "11" help @@ -1833,6 +1901,8 @@ depends on CC_HAS_BRANCH_PROT_PAC_RET_BTI # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94697 depends on !CC_IS_GCC || GCC_VERSION >= 100100 + # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106671 + depends on !CC_IS_GCC # https://github.com/llvm/llvm-project/commit/a88c722e687e6780dcd6a58718350dc76fcc4cc9 depends on !CC_IS_CLANG || CLANG_VERSION >= 120000 depends on (!FUNCTION_GRAPH_TRACER || DYNAMIC_FTRACE_WITH_REGS) --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/allwinner/sun50i-a64-orangepi-win.dts @@ -40,7 +40,7 @@ leds { compatible = "gpio-leds"; - status { + led-0 { label = "orangepi:green:status"; gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */ }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/amlogic/meson-axg.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/amlogic/meson-axg.dtsi @@ -152,7 +152,7 @@ scpi_clocks: clocks { compatible = "arm,scpi-clocks"; - scpi_dvfs: clock-controller { + scpi_dvfs: clocks-0 { compatible = "arm,scpi-dvfs-clocks"; #clock-cells = <1>; clock-indices = <0>; @@ -161,7 +161,7 @@ }; scpi_sensors: sensors { - compatible = "amlogic,meson-gxbb-scpi-sensors"; + compatible = "amlogic,meson-gxbb-scpi-sensors", "arm,scpi-sensors"; #thermal-sensor-cells = <1>; }; }; @@ -1885,7 +1885,7 @@ sd_emmc_b: sd@5000 { compatible = "amlogic,meson-axg-mmc"; reg = <0x0 0x5000 0x0 0x800>; - interrupts = ; + interrupts = ; status = "disabled"; clocks = <&clkc CLKID_SD_EMMC_B>, <&clkc CLKID_SD_EMMC_B_CLK0>, @@ -1897,7 +1897,7 @@ sd_emmc_c: mmc@7000 { compatible = "amlogic,meson-axg-mmc"; reg = <0x0 0x7000 0x0 0x800>; - interrupts = ; + interrupts = ; status = "disabled"; clocks = <&clkc CLKID_SD_EMMC_C>, <&clkc CLKID_SD_EMMC_C_CLK0>, --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi @@ -1694,7 +1694,7 @@ #address-cells = <1>; #size-cells = <0>; - internal_ephy: ethernet_phy@8 { + internal_ephy: ethernet-phy@8 { compatible = "ethernet-phy-id0180.3301", "ethernet-phy-ieee802.3-c22"; interrupts = ; @@ -2318,7 +2318,7 @@ sd_emmc_a: sd@ffe03000 { compatible = "amlogic,meson-axg-mmc"; reg = <0x0 0xffe03000 0x0 0x800>; - interrupts = ; + interrupts = ; status = "disabled"; clocks = <&clkc CLKID_SD_EMMC_A>, <&clkc CLKID_SD_EMMC_A_CLK0>, @@ -2330,7 +2330,7 @@ sd_emmc_b: sd@ffe05000 { compatible = "amlogic,meson-axg-mmc"; reg = <0x0 0xffe05000 0x0 0x800>; - interrupts = ; + interrupts = ; status = "disabled"; clocks = <&clkc CLKID_SD_EMMC_B>, <&clkc CLKID_SD_EMMC_B_CLK0>, @@ -2342,7 +2342,7 @@ sd_emmc_c: mmc@ffe07000 { compatible = "amlogic,meson-axg-mmc"; reg = <0x0 0xffe07000 0x0 0x800>; - interrupts = ; + interrupts = ; status = "disabled"; clocks = <&clkc CLKID_SD_EMMC_C>, <&clkc CLKID_SD_EMMC_C_CLK0>, --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts @@ -401,5 +401,4 @@ &usb { status = "okay"; - dr_mode = "host"; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/amlogic/meson-g12a.dtsi @@ -57,26 +57,6 @@ compatible = "operating-points-v2"; opp-shared; - opp-100000000 { - opp-hz = /bits/ 64 <100000000>; - opp-microvolt = <731000>; - }; - - opp-250000000 { - opp-hz = /bits/ 64 <250000000>; - opp-microvolt = <731000>; - }; - - opp-500000000 { - opp-hz = /bits/ 64 <500000000>; - opp-microvolt = <731000>; - }; - - opp-667000000 { - opp-hz = /bits/ 64 <666666666>; - opp-microvolt = <731000>; - }; - opp-1000000000 { opp-hz = /bits/ 64 <1000000000>; opp-microvolt = <731000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi @@ -17,7 +17,7 @@ io-channel-names = "buttons"; keyup-threshold-microvolt = <1800000>; - update-button { + button-update { label = "update"; linux,code = ; press-threshold-microvolt = <1300000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/amlogic/meson-gx.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/amlogic/meson-gx.dtsi @@ -232,7 +232,7 @@ reg = <0x14 0x10>; }; - eth_mac: eth_mac@34 { + eth_mac: eth-mac@34 { reg = <0x34 0x10>; }; @@ -249,7 +249,7 @@ scpi_clocks: clocks { compatible = "arm,scpi-clocks"; - scpi_dvfs: scpi_clocks@0 { + scpi_dvfs: clocks-0 { compatible = "arm,scpi-dvfs-clocks"; #clock-cells = <1>; clock-indices = <0>; @@ -531,7 +531,7 @@ #size-cells = <2>; ranges = <0x0 0x0 0x0 0xc8834000 0x0 0x2000>; - hwrng: rng { + hwrng: rng@0 { compatible = "amlogic,meson-rng"; reg = <0x0 0x0 0x0 0x4>; }; @@ -602,21 +602,21 @@ sd_emmc_a: mmc@70000 { compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc"; reg = <0x0 0x70000 0x0 0x800>; - interrupts = ; + interrupts = ; status = "disabled"; }; sd_emmc_b: mmc@72000 { compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc"; reg = <0x0 0x72000 0x0 0x800>; - interrupts = ; + interrupts = ; status = "disabled"; }; sd_emmc_c: mmc@74000 { compatible = "amlogic,meson-gx-mmc", "amlogic,meson-gxbb-mmc"; reg = <0x0 0x74000 0x0 0x800>; - interrupts = ; + interrupts = ; status = "disabled"; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/amlogic/meson-gxbb-kii-pro.dts @@ -16,7 +16,7 @@ leds { compatible = "gpio-leds"; - status { + led { gpios = <&gpio_ao GPIOAO_13 GPIO_ACTIVE_LOW>; default-state = "off"; color = ; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts @@ -18,7 +18,7 @@ leds { compatible = "gpio-leds"; - status { + led { label = "n1:white:status"; gpios = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_HIGH>; default-state = "on"; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-sml5442tw.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-sml5442tw.dts @@ -79,6 +79,5 @@ enable-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>; max-speed = <2000000>; clocks = <&wifi32k>; - clock-names = "lpo"; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-jethome-jethub-j80.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-jethome-jethub-j80.dts @@ -86,11 +86,11 @@ }; &efuse { - bt_mac: bt_mac@6 { + bt_mac: bt-mac@6 { reg = <0x6 0x6>; }; - wifi_mac: wifi_mac@C { + wifi_mac: wifi-mac@c { reg = <0xc 0x6>; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi @@ -759,7 +759,7 @@ }; }; - eth-phy-mux { + eth-phy-mux@55c { compatible = "mdio-mux-mmioreg", "mdio-mux"; #address-cells = <1>; #size-cells = <0>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi-m5.dts @@ -17,13 +17,13 @@ compatible = "bananapi,bpi-m5", "amlogic,sm1"; model = "Banana Pi BPI-M5"; - adc_keys { + adc-keys { compatible = "adc-keys"; io-channels = <&saradc 2>; io-channel-names = "buttons"; keyup-threshold-microvolt = <1800000>; - key { + button-sw3 { label = "SW3"; linux,code = ; press-threshold-microvolt = <1700000>; @@ -123,7 +123,7 @@ regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; - enable-gpio = <&gpio_ao GPIOE_2 GPIO_ACTIVE_HIGH>; + enable-gpio = <&gpio_ao GPIOE_2 GPIO_OPEN_DRAIN>; enable-active-high; regulator-always-on; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/amlogic/meson-sm1-odroid-hc4.dts @@ -76,9 +76,17 @@ }; &cpu_thermal { + trips { + cpu_active: cpu-active { + temperature = <60000>; /* millicelsius */ + hysteresis = <2000>; /* millicelsius */ + type = "active"; + }; + }; + cooling-maps { map { - trip = <&cpu_passive>; + trip = <&cpu_active>; cooling-device = <&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/apple/t8103.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/apple/t8103.dtsi @@ -378,7 +378,7 @@ ; }; - pcie0_dart_0: dart@681008000 { + pcie0_dart_0: iommu@681008000 { compatible = "apple,t8103-dart"; reg = <0x6 0x81008000 0x0 0x4000>; #iommu-cells = <1>; @@ -387,7 +387,7 @@ power-domains = <&ps_apcie_gp>; }; - pcie0_dart_1: dart@682008000 { + pcie0_dart_1: iommu@682008000 { compatible = "apple,t8103-dart"; reg = <0x6 0x82008000 0x0 0x4000>; #iommu-cells = <1>; @@ -396,7 +396,7 @@ power-domains = <&ps_apcie_gp>; }; - pcie0_dart_2: dart@683008000 { + pcie0_dart_2: iommu@683008000 { compatible = "apple,t8103-dart"; reg = <0x6 0x83008000 0x0 0x4000>; #iommu-cells = <1>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/arm/juno-base.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/arm/juno-base.dtsi @@ -750,12 +750,26 @@ polling-delay = <1000>; polling-delay-passive = <100>; thermal-sensors = <&scpi_sensors0 0>; + trips { + pmic_crit0: trip0 { + temperature = <90000>; + hysteresis = <2000>; + type = "critical"; + }; + }; }; soc { polling-delay = <1000>; polling-delay-passive = <100>; thermal-sensors = <&scpi_sensors0 3>; + trips { + soc_crit0: trip0 { + temperature = <80000>; + hysteresis = <2000>; + type = "critical"; + }; + }; }; big_cluster_thermal_zone: big-cluster { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/exynos/exynos5433-tm2-common.dtsi @@ -795,7 +795,7 @@ reg = <0x27>; interrupt-parent = <&gpa1>; interrupts = <3 IRQ_TYPE_EDGE_RISING>; - en-gpios = <&gpf1 4 GPIO_ACTIVE_HIGH>; + en-gpios = <&gpf1 4 GPIO_ACTIVE_LOW>; wake-gpios = <&gpj0 2 GPIO_ACTIVE_HIGH>; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/exynos/exynosautov9-pinctrl.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/exynos/exynosautov9-pinctrl.dtsi @@ -1089,21 +1089,21 @@ /* PERIC1 USI11_SPI */ spi11_bus: spi11-pins { - samsung,pins = "gpp3-6", "gpp3-5", "gpp3-4"; + samsung,pins = "gpp5-6", "gpp5-5", "gpp5-4"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; spi11_cs: spi11-cs-pins { - samsung,pins = "gpp3-7"; + samsung,pins = "gpp5-7"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; spi11_cs_func: spi11-cs-func-pins { - samsung,pins = "gpp3-7"; + samsung,pins = "gpp5-7"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/fsl-ls1012a-qds.dts @@ -110,7 +110,7 @@ &i2c0 { status = "okay"; - pca9547@77 { + i2c-mux@77 { compatible = "nxp,pca9547"; reg = <0x77>; #address-cells = <1>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-65bb.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/fsl-ls1028a-qds-65bb.dts @@ -25,7 +25,6 @@ &enetc_port0 { phy-handle = <&slot1_sgmii>; phy-mode = "2500base-x"; - managed = "in-band-status"; status = "okay"; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/fsl-ls1043a-qds.dts @@ -70,7 +70,7 @@ &i2c0 { status = "okay"; - pca9547@77 { + i2c-mux@77 { compatible = "nxp,pca9547"; reg = <0x77>; #address-cells = <1>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/fsl-ls1046a-qds.dts @@ -76,7 +76,7 @@ &i2c0 { status = "okay"; - pca9547@77 { + i2c-mux@77 { compatible = "nxp,pca9547"; reg = <0x77>; #address-cells = <1>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/fsl-ls1088a-qds.dts @@ -53,7 +53,7 @@ &i2c0 { status = "okay"; - i2c-switch@77 { + i2c-mux@77 { compatible = "nxp,pca9547"; reg = <0x77>; #address-cells = <1>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/fsl-ls1088a-rdb.dts @@ -136,7 +136,7 @@ &i2c0 { status = "okay"; - i2c-switch@77 { + i2c-mux@77 { compatible = "nxp,pca9547"; reg = <0x77>; #address-cells = <1>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/fsl-ls1088a-ten64.dts @@ -245,7 +245,7 @@ &i2c3 { status = "okay"; - i2c-switch@70 { + i2c-mux@70 { compatible = "nxp,pca9540"; #address-cells = <1>; #size-cells = <0>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi @@ -771,6 +771,9 @@ little-endian; #address-cells = <1>; #size-cells = <0>; + clock-frequency = <2500000>; + clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL + QORIQ_CLK_PLL_DIV(1)>; status = "disabled"; }; @@ -780,6 +783,9 @@ little-endian; #address-cells = <1>; #size-cells = <0>; + clock-frequency = <2500000>; + clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL + QORIQ_CLK_PLL_DIV(1)>; status = "disabled"; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/fsl-ls208xa-qds.dtsi @@ -44,7 +44,7 @@ &i2c0 { status = "okay"; - pca9547@77 { + i2c-mux@77 { compatible = "nxp,pca9547"; reg = <0x77>; #address-cells = <1>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/fsl-ls208xa-rdb.dtsi @@ -44,7 +44,7 @@ &i2c0 { status = "okay"; - pca9547@75 { + i2c-mux@75 { compatible = "nxp,pca9547"; reg = <0x75>; #address-cells = <1>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi @@ -525,6 +525,9 @@ little-endian; #address-cells = <1>; #size-cells = <0>; + clock-frequency = <2500000>; + clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL + QORIQ_CLK_PLL_DIV(2)>; status = "disabled"; }; @@ -534,6 +537,9 @@ little-endian; #address-cells = <1>; #size-cells = <0>; + clock-frequency = <2500000>; + clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL + QORIQ_CLK_PLL_DIV(2)>; status = "disabled"; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/fsl-lx2160a-cex7.dtsi @@ -54,7 +54,7 @@ &i2c0 { status = "okay"; - i2c-switch@77 { + i2c-mux@77 { compatible = "nxp,pca9547"; #address-cells = <1>; #size-cells = <0>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi @@ -1377,6 +1377,9 @@ #address-cells = <1>; #size-cells = <0>; little-endian; + clock-frequency = <2500000>; + clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL + QORIQ_CLK_PLL_DIV(2)>; status = "disabled"; }; @@ -1387,6 +1390,9 @@ little-endian; #address-cells = <1>; #size-cells = <0>; + clock-frequency = <2500000>; + clocks = <&clockgen QORIQ_CLK_PLATFORM_PLL + QORIQ_CLK_PLL_DIV(2)>; status = "disabled"; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8-ss-conn.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8-ss-conn.dtsi @@ -38,9 +38,9 @@ interrupts = ; reg = <0x5b010000 0x10000>; clocks = <&sdhc0_lpcg IMX_LPCG_CLK_4>, - <&sdhc0_lpcg IMX_LPCG_CLK_5>, - <&sdhc0_lpcg IMX_LPCG_CLK_0>; - clock-names = "ipg", "per", "ahb"; + <&sdhc0_lpcg IMX_LPCG_CLK_0>, + <&sdhc0_lpcg IMX_LPCG_CLK_5>; + clock-names = "ipg", "ahb", "per"; power-domains = <&pd IMX_SC_R_SDHC_0>; status = "disabled"; }; @@ -49,9 +49,9 @@ interrupts = ; reg = <0x5b020000 0x10000>; clocks = <&sdhc1_lpcg IMX_LPCG_CLK_4>, - <&sdhc1_lpcg IMX_LPCG_CLK_5>, - <&sdhc1_lpcg IMX_LPCG_CLK_0>; - clock-names = "ipg", "per", "ahb"; + <&sdhc1_lpcg IMX_LPCG_CLK_0>, + <&sdhc1_lpcg IMX_LPCG_CLK_5>; + clock-names = "ipg", "ahb", "per"; power-domains = <&pd IMX_SC_R_SDHC_1>; fsl,tuning-start-tap = <20>; fsl,tuning-step= <2>; @@ -62,9 +62,9 @@ interrupts = ; reg = <0x5b030000 0x10000>; clocks = <&sdhc2_lpcg IMX_LPCG_CLK_4>, - <&sdhc2_lpcg IMX_LPCG_CLK_5>, - <&sdhc2_lpcg IMX_LPCG_CLK_0>; - clock-names = "ipg", "per", "ahb"; + <&sdhc2_lpcg IMX_LPCG_CLK_0>, + <&sdhc2_lpcg IMX_LPCG_CLK_5>; + clock-names = "ipg", "ahb", "per"; power-domains = <&pd IMX_SC_R_SDHC_2>; status = "disabled"; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mm-beacon-baseboard.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mm-beacon-baseboard.dtsi @@ -120,7 +120,7 @@ &ecspi2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_espi2>; - cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; + cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; status = "okay"; eeprom@0 { @@ -316,7 +316,7 @@ MX8MM_IOMUXC_ECSPI2_SCLK_ECSPI2_SCLK 0x82 MX8MM_IOMUXC_ECSPI2_MOSI_ECSPI2_MOSI 0x82 MX8MM_IOMUXC_ECSPI2_MISO_ECSPI2_MISO 0x82 - MX8MM_IOMUXC_ECSPI1_SS0_GPIO5_IO9 0x41 + MX8MM_IOMUXC_ECSPI2_SS0_GPIO5_IO13 0x41 >; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-s.dts @@ -321,6 +321,7 @@ MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d0 MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d0 MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x019 + MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 >; }; @@ -333,6 +334,7 @@ MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d4 MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d4 MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x019 + MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 >; }; @@ -345,6 +347,7 @@ MX8MM_IOMUXC_SD2_DATA2_USDHC2_DATA2 0x1d6 MX8MM_IOMUXC_SD2_DATA3_USDHC2_DATA3 0x1d6 MX8MM_IOMUXC_SD2_CD_B_GPIO2_IO12 0x019 + MX8MM_IOMUXC_GPIO1_IO04_USDHC2_VSELECT 0x1d0 >; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-som.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mm-kontron-n801x-som.dtsi @@ -86,7 +86,6 @@ pinctrl-0 = <&pinctrl_pmic>; interrupt-parent = <&gpio1>; interrupts = <0 IRQ_TYPE_LEVEL_LOW>; - sd-vsel-gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>; regulators { reg_vdd_soc: BUCK1 { @@ -229,7 +228,6 @@ pinctrl_pmic: pmicgrp { fsl,pins = < MX8MM_IOMUXC_GPIO1_IO00_GPIO1_IO0 0x141 - MX8MM_IOMUXC_GPIO1_IO04_GPIO1_IO4 0x141 >; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mm-mx8menlo.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mm-mx8menlo.dts @@ -152,11 +152,11 @@ * CPLD_reset is RESET_SOFT in schematic */ gpio-line-names = - "CPLD_D[1]", "CPLD_int", "CPLD_reset", "", - "", "CPLD_D[0]", "", "", - "", "", "", "CPLD_D[2]", - "CPLD_D[3]", "CPLD_D[4]", "CPLD_D[5]", "CPLD_D[6]", - "CPLD_D[7]", "", "", "", + "CPLD_D[6]", "CPLD_int", "CPLD_reset", "", + "", "CPLD_D[7]", "", "", + "", "", "", "CPLD_D[5]", + "CPLD_D[4]", "CPLD_D[3]", "CPLD_D[2]", "CPLD_D[1]", + "CPLD_D[0]", "", "", "", "", "", "", "", "", "", "", "KBD_intK", "", "", "", ""; @@ -250,21 +250,21 @@ /* SODIMM 96 */ MX8MM_IOMUXC_SAI1_RXD2_GPIO4_IO4 0x1c4 /* CPLD_D[7] */ - MX8MM_IOMUXC_SAI1_RXD3_GPIO4_IO5 0x1c4 + MX8MM_IOMUXC_SAI1_RXD3_GPIO4_IO5 0x184 /* CPLD_D[6] */ - MX8MM_IOMUXC_SAI1_RXFS_GPIO4_IO0 0x1c4 + MX8MM_IOMUXC_SAI1_RXFS_GPIO4_IO0 0x184 /* CPLD_D[5] */ - MX8MM_IOMUXC_SAI1_TXC_GPIO4_IO11 0x1c4 + MX8MM_IOMUXC_SAI1_TXC_GPIO4_IO11 0x184 /* CPLD_D[4] */ - MX8MM_IOMUXC_SAI1_TXD0_GPIO4_IO12 0x1c4 + MX8MM_IOMUXC_SAI1_TXD0_GPIO4_IO12 0x184 /* CPLD_D[3] */ - MX8MM_IOMUXC_SAI1_TXD1_GPIO4_IO13 0x1c4 + MX8MM_IOMUXC_SAI1_TXD1_GPIO4_IO13 0x184 /* CPLD_D[2] */ - MX8MM_IOMUXC_SAI1_TXD2_GPIO4_IO14 0x1c4 + MX8MM_IOMUXC_SAI1_TXD2_GPIO4_IO14 0x184 /* CPLD_D[1] */ - MX8MM_IOMUXC_SAI1_TXD3_GPIO4_IO15 0x1c4 + MX8MM_IOMUXC_SAI1_TXD3_GPIO4_IO15 0x184 /* CPLD_D[0] */ - MX8MM_IOMUXC_SAI1_TXD4_GPIO4_IO16 0x1c4 + MX8MM_IOMUXC_SAI1_TXD4_GPIO4_IO16 0x184 /* KBD_intK */ MX8MM_IOMUXC_SAI2_MCLK_GPIO4_IO27 0x1c4 /* DISP_reset */ --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mm-nitrogen-r2.dts @@ -214,7 +214,7 @@ pinctrl-0 = <&pinctrl_i2c3>; status = "okay"; - i2cmux@70 { + i2c-mux@70 { compatible = "nxp,pca9540"; reg = <0x70>; #address-cells = <1>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mm-pinfunc.h +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mm-pinfunc.h @@ -602,7 +602,7 @@ #define MX8MM_IOMUXC_UART1_RXD_GPIO5_IO22 0x234 0x49C 0x000 0x5 0x0 #define MX8MM_IOMUXC_UART1_RXD_TPSMP_HDATA24 0x234 0x49C 0x000 0x7 0x0 #define MX8MM_IOMUXC_UART1_TXD_UART1_DCE_TX 0x238 0x4A0 0x000 0x0 0x0 -#define MX8MM_IOMUXC_UART1_TXD_UART1_DTE_RX 0x238 0x4A0 0x4F4 0x0 0x0 +#define MX8MM_IOMUXC_UART1_TXD_UART1_DTE_RX 0x238 0x4A0 0x4F4 0x0 0x1 #define MX8MM_IOMUXC_UART1_TXD_ECSPI3_MOSI 0x238 0x4A0 0x000 0x1 0x0 #define MX8MM_IOMUXC_UART1_TXD_GPIO5_IO23 0x238 0x4A0 0x000 0x5 0x0 #define MX8MM_IOMUXC_UART1_TXD_TPSMP_HDATA25 0x238 0x4A0 0x000 0x7 0x0 --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml-mba8mx.dts @@ -5,7 +5,6 @@ /dts-v1/; -#include #include "imx8mm-tqma8mqml.dtsi" #include "mba8mx.dtsi" @@ -35,11 +34,25 @@ off-on-delay-us = <12000>; }; - extcon_usbotg1: extcon-usbotg1 { - compatible = "linux,extcon-usb-gpio"; + connector { + compatible = "gpio-usb-b-connector", "usb-b-connector"; + type = "micro"; + label = "X19"; pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_usb1_extcon>; - id-gpio = <&gpio1 10 GPIO_ACTIVE_HIGH>; + pinctrl-0 = <&pinctrl_usb1_connector>; + id-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + usb_dr_connector: endpoint { + remote-endpoint = <&usb1_drd_sw>; + }; + }; + }; }; }; @@ -106,13 +119,19 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usbotg1>; dr_mode = "otg"; - extcon = <&extcon_usbotg1>; srp-disable; hnp-disable; adp-disable; power-active-high; over-current-active-low; + usb-role-switch; status = "okay"; + + port { + usb1_drd_sw: endpoint { + remote-endpoint = <&usb_dr_connector>; + }; + }; }; &usbotg2 { @@ -232,7 +251,7 @@ ; }; - pinctrl_usb1_extcon: usb1-extcongrp { + pinctrl_usb1_connector: usb1-connectorgrp { fsl,pins = ; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mm-tqma8mqml.dtsi @@ -3,6 +3,7 @@ * Copyright 2020-2021 TQ-Systems GmbH */ +#include #include "imx8mm.dtsi" / { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mm-venice-gw7901.dts @@ -626,24 +626,28 @@ lan1: port@0 { reg = <0>; label = "lan1"; + phy-mode = "internal"; local-mac-address = [00 00 00 00 00 00]; }; lan2: port@1 { reg = <1>; label = "lan2"; + phy-mode = "internal"; local-mac-address = [00 00 00 00 00 00]; }; lan3: port@2 { reg = <2>; label = "lan3"; + phy-mode = "internal"; local-mac-address = [00 00 00 00 00 00]; }; lan4: port@3 { reg = <3>; label = "lan4"; + phy-mode = "internal"; local-mac-address = [00 00 00 00 00 00]; }; @@ -755,6 +759,7 @@ &usbotg2 { dr_mode = "host"; vbus-supply = <®_usb2_vbus>; + over-current-active-low; status = "okay"; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mm-verdin-dahlia.dtsi @@ -9,6 +9,7 @@ simple-audio-card,bitclock-master = <&dailink_master>; simple-audio-card,format = "i2s"; simple-audio-card,frame-master = <&dailink_master>; + simple-audio-card,mclk-fs = <256>; simple-audio-card,name = "imx8mm-wm8904"; simple-audio-card,routing = "Headphone Jack", "HPOUTL", --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mm-verdin-dev.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mm-verdin-dev.dtsi @@ -11,6 +11,7 @@ simple-audio-card,bitclock-master = <&dailink_master>; simple-audio-card,format = "i2s"; simple-audio-card,frame-master = <&dailink_master>; + simple-audio-card,mclk-fs = <256>; simple-audio-card,name = "imx8mm-nau8822"; simple-audio-card,routing = "Headphones", "LHP", --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mm-verdin.dtsi @@ -32,10 +32,10 @@ }; /* Fixed clock dedicated to SPI CAN controller */ - clk20m: oscillator { + clk40m: oscillator { compatible = "fixed-clock"; #clock-cells = <0>; - clock-frequency = <20000000>; + clock-frequency = <40000000>; }; gpio-keys { @@ -83,6 +83,7 @@ off-on-delay = <500000>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_reg_eth>; + regulator-always-on; regulator-boot-on; regulator-max-microvolt = <3300000>; regulator-min-microvolt = <3300000>; @@ -194,8 +195,8 @@ can1: can@0 { compatible = "microchip,mcp251xfd"; - clocks = <&clk20m>; - interrupts-extended = <&gpio1 6 IRQ_TYPE_EDGE_FALLING>; + clocks = <&clk40m>; + interrupts-extended = <&gpio1 6 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_can1_int>; reg = <0>; @@ -359,8 +360,8 @@ nxp,dvs-standby-voltage = <850000>; regulator-always-on; regulator-boot-on; - regulator-max-microvolt = <950000>; - regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1050000>; + regulator-min-microvolt = <805000>; regulator-name = "On-module +VDD_ARM (BUCK2)"; regulator-ramp-delay = <3125>; }; @@ -368,8 +369,8 @@ reg_vdd_dram: BUCK3 { regulator-always-on; regulator-boot-on; - regulator-max-microvolt = <950000>; - regulator-min-microvolt = <850000>; + regulator-max-microvolt = <1000000>; + regulator-min-microvolt = <805000>; regulator-name = "On-module +VDD_GPU_VPU_DDR (BUCK3)"; }; @@ -408,7 +409,7 @@ reg_vdd_snvs: LDO2 { regulator-always-on; regulator-boot-on; - regulator-max-microvolt = <900000>; + regulator-max-microvolt = <800000>; regulator-min-microvolt = <800000>; regulator-name = "On-module +V0.8_SNVS (LDO2)"; }; @@ -595,7 +596,7 @@ pinctrl-0 = <&pinctrl_gpio_9_dsi>, <&pinctrl_i2s_2_bclk_touch_reset>; reg = <0x4a>; /* Verdin I2S_2_BCLK (TOUCH_RESET#, SODIMM 42) */ - reset-gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>; + reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>; status = "disabled"; }; @@ -737,6 +738,7 @@ }; &usbphynop2 { + power-domains = <&pgc_otg2>; vcc-supply = <®_vdd_3v3>; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mm.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mm.dtsi @@ -276,6 +276,7 @@ assigned-clocks = <&clk IMX8MM_CLK_USB_PHY_REF>; assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_100M>; clock-names = "main_clk"; + power-domains = <&pgc_otg1>; }; usbphynop2: usbphynop2 { @@ -285,6 +286,7 @@ assigned-clocks = <&clk IMX8MM_CLK_USB_PHY_REF>; assigned-clock-parents = <&clk IMX8MM_SYS_PLL1_100M>; clock-names = "main_clk"; + power-domains = <&pgc_otg2>; }; soc@0 { @@ -560,7 +562,7 @@ #address-cells = <1>; #size-cells = <1>; - imx8mm_uid: unique-id@410 { + imx8mm_uid: unique-id@4 { reg = <0x4 0x8>; }; @@ -669,13 +671,11 @@ pgc_otg1: power-domain@2 { #power-domain-cells = <0>; reg = ; - power-domains = <&pgc_hsiomix>; }; pgc_otg2: power-domain@3 { #power-domain-cells = <0>; reg = ; - power-domains = <&pgc_hsiomix>; }; pgc_gpumix: power-domain@4 { @@ -1180,7 +1180,7 @@ assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_500M>; phys = <&usbphynop1>; fsl,usbmisc = <&usbmisc1 0>; - power-domains = <&pgc_otg1>; + power-domains = <&pgc_hsiomix>; status = "disabled"; }; @@ -1200,7 +1200,7 @@ assigned-clock-parents = <&clk IMX8MM_SYS_PLL2_500M>; phys = <&usbphynop2>; fsl,usbmisc = <&usbmisc2 0>; - power-domains = <&pgc_otg2>; + power-domains = <&pgc_hsiomix>; status = "disabled"; }; @@ -1238,10 +1238,10 @@ clocks = <&clk IMX8MM_CLK_NAND_USDHC_BUS_RAWNAND_CLK>; }; - gpmi: nand-controller@33002000{ + gpmi: nand-controller@33002000 { compatible = "fsl,imx8mm-gpmi-nand", "fsl,imx7d-gpmi-nand"; #address-cells = <1>; - #size-cells = <1>; + #size-cells = <0>; reg = <0x33002000 0x2000>, <0x33004000 0x4000>; reg-names = "gpmi-nand", "bch"; interrupts = ; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mn.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mn.dtsi @@ -563,7 +563,7 @@ #address-cells = <1>; #size-cells = <1>; - imx8mn_uid: unique-id@410 { + imx8mn_uid: unique-id@4 { reg = <0x4 0x8>; }; @@ -662,7 +662,6 @@ pgc_otg1: power-domain@1 { #power-domain-cells = <0>; reg = ; - power-domains = <&pgc_hsiomix>; }; pgc_gpumix: power-domain@2 { @@ -672,7 +671,6 @@ <&clk IMX8MN_CLK_GPU_SHADER>, <&clk IMX8MN_CLK_GPU_BUS_ROOT>, <&clk IMX8MN_CLK_GPU_AHB>; - resets = <&src IMX8MQ_RESET_GPU_RESET>; }; pgc_dispmix: power-domain@3 { @@ -1076,7 +1074,7 @@ assigned-clock-parents = <&clk IMX8MN_SYS_PLL2_500M>; phys = <&usbphynop1>; fsl,usbmisc = <&usbmisc1 0>; - power-domains = <&pgc_otg1>; + power-domains = <&pgc_hsiomix>; status = "disabled"; }; @@ -1103,7 +1101,7 @@ gpmi: nand-controller@33002000 { compatible = "fsl,imx8mn-gpmi-nand", "fsl,imx7d-gpmi-nand"; #address-cells = <1>; - #size-cells = <1>; + #size-cells = <0>; reg = <0x33002000 0x2000>, <0x33004000 0x4000>; reg-names = "gpmi-nand", "bch"; interrupts = ; @@ -1175,5 +1173,6 @@ assigned-clocks = <&clk IMX8MN_CLK_USB_PHY_REF>; assigned-clock-parents = <&clk IMX8MN_SYS_PLL1_100M>; clock-names = "main_clk"; + power-domains = <&pgc_otg1>; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mp-phycore-som.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mp-phycore-som.dtsi @@ -99,7 +99,6 @@ regulators { buck1: BUCK1 { - regulator-compatible = "BUCK1"; regulator-min-microvolt = <600000>; regulator-max-microvolt = <2187500>; regulator-boot-on; @@ -108,7 +107,6 @@ }; buck2: BUCK2 { - regulator-compatible = "BUCK2"; regulator-min-microvolt = <600000>; regulator-max-microvolt = <2187500>; regulator-boot-on; @@ -119,7 +117,6 @@ }; buck4: BUCK4 { - regulator-compatible = "BUCK4"; regulator-min-microvolt = <600000>; regulator-max-microvolt = <3400000>; regulator-boot-on; @@ -127,7 +124,6 @@ }; buck5: BUCK5 { - regulator-compatible = "BUCK5"; regulator-min-microvolt = <600000>; regulator-max-microvolt = <3400000>; regulator-boot-on; @@ -135,7 +131,6 @@ }; buck6: BUCK6 { - regulator-compatible = "BUCK6"; regulator-min-microvolt = <600000>; regulator-max-microvolt = <3400000>; regulator-boot-on; @@ -143,7 +138,6 @@ }; ldo1: LDO1 { - regulator-compatible = "LDO1"; regulator-min-microvolt = <1600000>; regulator-max-microvolt = <3300000>; regulator-boot-on; @@ -151,7 +145,6 @@ }; ldo2: LDO2 { - regulator-compatible = "LDO2"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1150000>; regulator-boot-on; @@ -159,7 +152,6 @@ }; ldo3: LDO3 { - regulator-compatible = "LDO3"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <3300000>; regulator-boot-on; @@ -167,13 +159,11 @@ }; ldo4: LDO4 { - regulator-compatible = "LDO4"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <3300000>; }; ldo5: LDO5 { - regulator-compatible = "LDO5"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-boot-on; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mp-venice-gw74xx.dts @@ -123,8 +123,7 @@ pinctrl-names = "default"; pinctrl-0 = <&pinctrl_reg_can>; regulator-name = "can2_stby"; - gpio = <&gpio3 19 GPIO_ACTIVE_HIGH>; - enable-active-high; + gpio = <&gpio3 19 GPIO_ACTIVE_LOW>; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; @@ -484,35 +483,40 @@ lan1: port@0 { reg = <0>; label = "lan1"; + phy-mode = "internal"; local-mac-address = [00 00 00 00 00 00]; }; lan2: port@1 { reg = <1>; label = "lan2"; + phy-mode = "internal"; local-mac-address = [00 00 00 00 00 00]; }; lan3: port@2 { reg = <2>; label = "lan3"; + phy-mode = "internal"; local-mac-address = [00 00 00 00 00 00]; }; lan4: port@3 { reg = <3>; label = "lan4"; + phy-mode = "internal"; local-mac-address = [00 00 00 00 00 00]; }; lan5: port@4 { reg = <4>; label = "lan5"; + phy-mode = "internal"; local-mac-address = [00 00 00 00 00 00]; }; - port@6 { - reg = <6>; + port@5 { + reg = <5>; label = "cpu"; ethernet = <&fec>; phy-mode = "rgmii-id"; @@ -770,10 +774,10 @@ pinctrl_sai2: sai2grp { fsl,pins = < - MX8MP_IOMUXC_SAI2_TXFS__AUDIOMIX_SAI2_TX_SYNC - MX8MP_IOMUXC_SAI2_TXD0__AUDIOMIX_SAI2_TX_DATA00 - MX8MP_IOMUXC_SAI2_TXC__AUDIOMIX_SAI2_TX_BCLK - MX8MP_IOMUXC_SAI2_MCLK__AUDIOMIX_SAI2_MCLK + MX8MP_IOMUXC_SAI2_TXFS__AUDIOMIX_SAI2_TX_SYNC 0xd6 + MX8MP_IOMUXC_SAI2_TXD0__AUDIOMIX_SAI2_TX_DATA00 0xd6 + MX8MP_IOMUXC_SAI2_TXC__AUDIOMIX_SAI2_TX_BCLK 0xd6 + MX8MP_IOMUXC_SAI2_MCLK__AUDIOMIX_SAI2_MCLK 0xd6 >; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mp-verdin.dtsi @@ -331,16 +331,6 @@ "SODIMM_82", "SODIMM_70", "SODIMM_72"; - - ctrl-sleep-moci-hog { - gpio-hog; - /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */ - gpios = <29 GPIO_ACTIVE_HIGH>; - line-name = "CTRL_SLEEP_MOCI#"; - output-high; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_ctrl_sleep_moci>; - }; }; &gpio3 { @@ -409,6 +399,16 @@ "SODIMM_256", "SODIMM_48", "SODIMM_44"; + + ctrl-sleep-moci-hog { + gpio-hog; + /* Verdin CTRL_SLEEP_MOCI# (SODIMM 256) */ + gpios = <29 GPIO_ACTIVE_HIGH>; + line-name = "CTRL_SLEEP_MOCI#"; + output-high; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_ctrl_sleep_moci>; + }; }; /* On-module I2C */ @@ -620,7 +620,7 @@ interrupts = <5 IRQ_TYPE_EDGE_FALLING>; reg = <0x4a>; /* Verdin GPIO_2 (SODIMM 208) */ - reset-gpios = <&gpio1 1 GPIO_ACTIVE_HIGH>; + reset-gpios = <&gpio1 1 GPIO_ACTIVE_LOW>; status = "disabled"; }; }; @@ -697,7 +697,7 @@ pinctrl-0 = <&pinctrl_gpio_9_dsi>, <&pinctrl_i2s_2_bclk_touch_reset>; reg = <0x4a>; /* Verdin I2S_2_BCLK (TOUCH_RESET#, SODIMM 42) */ - reset-gpios = <&gpio5 0 GPIO_ACTIVE_HIGH>; + reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; status = "disabled"; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mp.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mp.dtsi @@ -422,7 +422,7 @@ #address-cells = <1>; #size-cells = <1>; - imx8mp_uid: unique-id@420 { + imx8mp_uid: unique-id@8 { reg = <0x8 0x8>; }; @@ -516,6 +516,7 @@ compatible = "fsl,imx8mp-gpc"; reg = <0x303a0000 0x1000>; interrupt-parent = <&gic>; + interrupts = ; interrupt-controller; #interrupt-cells = <3>; @@ -582,7 +583,7 @@ reg = ; }; - pgc_hsiomix: power-domains@17 { + pgc_hsiomix: power-domain@17 { #power-domain-cells = <0>; reg = ; clocks = <&clk IMX8MP_CLK_HSIO_AXI>, @@ -1148,7 +1149,7 @@ reg = <0x32f10100 0x8>, <0x381f0000 0x20>; clocks = <&clk IMX8MP_CLK_HSIO_ROOT>, - <&clk IMX8MP_CLK_USB_ROOT>; + <&clk IMX8MP_CLK_USB_SUSP>; clock-names = "hsio", "suspend"; interrupts = ; power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_USB>; @@ -1161,14 +1162,14 @@ usb_dwc3_0: usb@38100000 { compatible = "snps,dwc3"; reg = <0x38100000 0x10000>; - clocks = <&clk IMX8MP_CLK_HSIO_AXI>, + clocks = <&clk IMX8MP_CLK_USB_ROOT>, <&clk IMX8MP_CLK_USB_CORE_REF>, - <&clk IMX8MP_CLK_USB_ROOT>; + <&clk IMX8MP_CLK_USB_SUSP>; clock-names = "bus_early", "ref", "suspend"; interrupts = ; phys = <&usb3_phy0>, <&usb3_phy0>; phy-names = "usb2-phy", "usb3-phy"; - snps,dis-u2-freeclk-exists-quirk; + snps,gfladj-refclk-lpm-sel-quirk; }; }; @@ -1190,7 +1191,7 @@ reg = <0x32f10108 0x8>, <0x382f0000 0x20>; clocks = <&clk IMX8MP_CLK_HSIO_ROOT>, - <&clk IMX8MP_CLK_USB_ROOT>; + <&clk IMX8MP_CLK_USB_SUSP>; clock-names = "hsio", "suspend"; interrupts = ; power-domains = <&hsio_blk_ctrl IMX8MP_HSIOBLK_PD_USB>; @@ -1203,14 +1204,14 @@ usb_dwc3_1: usb@38200000 { compatible = "snps,dwc3"; reg = <0x38200000 0x10000>; - clocks = <&clk IMX8MP_CLK_HSIO_AXI>, + clocks = <&clk IMX8MP_CLK_USB_ROOT>, <&clk IMX8MP_CLK_USB_CORE_REF>, - <&clk IMX8MP_CLK_USB_ROOT>; + <&clk IMX8MP_CLK_USB_SUSP>; clock-names = "bus_early", "ref", "suspend"; interrupts = ; phys = <&usb3_phy1>, <&usb3_phy1>; phy-names = "usb2-phy", "usb3-phy"; - snps,dis-u2-freeclk-exists-quirk; + snps,gfladj-refclk-lpm-sel-quirk; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi @@ -1077,6 +1077,7 @@ interrupts = <20 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gauge>; + power-supplies = <&bq25895>; maxim,over-heat-temp = <700>; maxim,over-volt = <4500>; maxim,rsns-microohm = <5000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mq-nitrogen.dts @@ -133,7 +133,7 @@ pinctrl-0 = <&pinctrl_i2c1>; status = "okay"; - i2cmux@70 { + i2c-mux@70 { compatible = "nxp,pca9546"; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c1_pca9546>; @@ -216,7 +216,7 @@ pinctrl-0 = <&pinctrl_i2c4>; status = "okay"; - pca9546: i2cmux@70 { + pca9546: i2c-mux@70 { compatible = "nxp,pca9546"; reg = <0x70>; #address-cells = <1>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mq-thor96.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mq-thor96.dts @@ -339,7 +339,7 @@ bus-width = <4>; non-removable; no-sd; - no-emmc; + no-mmc; status = "okay"; brcmf: wifi@1 { @@ -359,7 +359,7 @@ cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; bus-width = <4>; no-sdio; - no-emmc; + no-mmc; disable-wp; status = "okay"; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mq-tqma8mq.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mq-tqma8mq.dtsi @@ -204,7 +204,6 @@ reg = <0x51>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_rtc>; - interrupt-names = "irq"; interrupt-parent = <&gpio1>; interrupts = <1 IRQ_TYPE_EDGE_FALLING>; quartz-load-femtofarads = <7000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8mq.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8mq.dtsi @@ -592,7 +592,7 @@ #address-cells = <1>; #size-cells = <1>; - imx8mq_uid: soc-uid@410 { + imx8mq_uid: soc-uid@4 { reg = <0x4 0x8>; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8qxp-mek.dts @@ -61,7 +61,7 @@ pinctrl-0 = <&pinctrl_lpi2c1 &pinctrl_ioexp_rst>; status = "okay"; - i2c-switch@71 { + i2c-mux@71 { compatible = "nxp,pca9646", "nxp,pca9546"; #address-cells = <1>; #size-cells = <0>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/freescale/imx8ulp.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/freescale/imx8ulp.dtsi @@ -172,6 +172,7 @@ compatible = "fsl,imx8ulp-pcc3"; reg = <0x292d0000 0x10000>; #clock-cells = <1>; + #reset-cells = <1>; }; tpm5: tpm@29340000 { @@ -270,6 +271,7 @@ compatible = "fsl,imx8ulp-pcc4"; reg = <0x29800000 0x10000>; #clock-cells = <1>; + #reset-cells = <1>; }; lpi2c6: i2c@29840000 { @@ -414,6 +416,7 @@ compatible = "fsl,imx8ulp-pcc5"; reg = <0x2da70000 0x10000>; #clock-cells = <1>; + #reset-cells = <1>; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/marvell/armada-3720-turris-mox.dts @@ -125,9 +125,12 @@ /delete-property/ mrvl,i2c-fast-mode; status = "okay"; + /* MCP7940MT-I/MNY RTC */ rtc@6f { compatible = "microchip,mcp7940x"; reg = <0x6f>; + interrupt-parent = <&gpiosb>; + interrupts = <5 0>; /* GPIO2_5 */ }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/mediatek/mt2712-evb.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/mediatek/mt2712-evb.dts @@ -26,14 +26,14 @@ stdout-path = "serial0:921600n8"; }; - cpus_fixed_vproc0: fixedregulator@0 { + cpus_fixed_vproc0: regulator-vproc-buck0 { compatible = "regulator-fixed"; regulator-name = "vproc_buck0"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; }; - cpus_fixed_vproc1: fixedregulator@1 { + cpus_fixed_vproc1: regulator-vproc-buck1 { compatible = "regulator-fixed"; regulator-name = "vproc_buck1"; regulator-min-microvolt = <1000000>; @@ -50,7 +50,7 @@ id-gpio = <&pio 14 GPIO_ACTIVE_HIGH>; }; - usb_p0_vbus: regulator@2 { + usb_p0_vbus: regulator-usb-p0-vbus { compatible = "regulator-fixed"; regulator-name = "p0_vbus"; regulator-min-microvolt = <5000000>; @@ -59,7 +59,7 @@ enable-active-high; }; - usb_p1_vbus: regulator@3 { + usb_p1_vbus: regulator-usb-p1-vbus { compatible = "regulator-fixed"; regulator-name = "p1_vbus"; regulator-min-microvolt = <5000000>; @@ -68,7 +68,7 @@ enable-active-high; }; - usb_p2_vbus: regulator@4 { + usb_p2_vbus: regulator-usb-p2-vbus { compatible = "regulator-fixed"; regulator-name = "p2_vbus"; regulator-min-microvolt = <5000000>; @@ -77,7 +77,7 @@ enable-active-high; }; - usb_p3_vbus: regulator@5 { + usb_p3_vbus: regulator-usb-p3-vbus { compatible = "regulator-fixed"; regulator-name = "p3_vbus"; regulator-min-microvolt = <5000000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/mediatek/mt2712e.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/mediatek/mt2712e.dtsi @@ -160,70 +160,70 @@ #clock-cells = <0>; }; - clk26m: oscillator@0 { + clk26m: oscillator-26m { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <26000000>; clock-output-names = "clk26m"; }; - clk32k: oscillator@1 { + clk32k: oscillator-32k { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <32768>; clock-output-names = "clk32k"; }; - clkfpc: oscillator@2 { + clkfpc: oscillator-50m { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <50000000>; clock-output-names = "clkfpc"; }; - clkaud_ext_i_0: oscillator@3 { + clkaud_ext_i_0: oscillator-aud0 { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <6500000>; clock-output-names = "clkaud_ext_i_0"; }; - clkaud_ext_i_1: oscillator@4 { + clkaud_ext_i_1: oscillator-aud1 { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <196608000>; clock-output-names = "clkaud_ext_i_1"; }; - clkaud_ext_i_2: oscillator@5 { + clkaud_ext_i_2: oscillator-aud2 { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <180633600>; clock-output-names = "clkaud_ext_i_2"; }; - clki2si0_mck_i: oscillator@6 { + clki2si0_mck_i: oscillator-i2s0 { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <30000000>; clock-output-names = "clki2si0_mck_i"; }; - clki2si1_mck_i: oscillator@7 { + clki2si1_mck_i: oscillator-i2s1 { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <30000000>; clock-output-names = "clki2si1_mck_i"; }; - clki2si2_mck_i: oscillator@8 { + clki2si2_mck_i: oscillator-i2s2 { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <30000000>; clock-output-names = "clki2si2_mck_i"; }; - clktdmin_mclk_i: oscillator@9 { + clktdmin_mclk_i: oscillator-mclk { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <30000000>; @@ -266,7 +266,7 @@ reg = <0 0x10005000 0 0x1000>; }; - pio: pinctrl@10005000 { + pio: pinctrl@1000b000 { compatible = "mediatek,mt2712-pinctrl"; reg = <0 0x1000b000 0 0x1000>; mediatek,pctl-regmap = <&syscfg_pctl_a>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/mediatek/mt6779.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/mediatek/mt6779.dtsi @@ -88,14 +88,14 @@ interrupts = ; }; - clk26m: oscillator@0 { + clk26m: oscillator-26m { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <26000000>; clock-output-names = "clk26m"; }; - clk32k: oscillator@1 { + clk32k: oscillator-32k { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <32768>; @@ -117,7 +117,7 @@ compatible = "simple-bus"; ranges; - gic: interrupt-controller@0c000000 { + gic: interrupt-controller@c000000 { compatible = "arm,gic-v3"; #interrupt-cells = <4>; interrupt-parent = <&gic>; @@ -138,7 +138,7 @@ }; - sysirq: intpol-controller@0c53a650 { + sysirq: intpol-controller@c53a650 { compatible = "mediatek,mt6779-sysirq", "mediatek,mt6577-sysirq"; interrupt-controller; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/mediatek/mt6797.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/mediatek/mt6797.dtsi @@ -95,7 +95,7 @@ }; }; - clk26m: oscillator@0 { + clk26m: oscillator-26m { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <26000000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/mediatek/mt7622-bananapi-bpi-r64.dts @@ -49,7 +49,7 @@ wps { label = "wps"; linux,code = ; - gpios = <&pio 102 GPIO_ACTIVE_HIGH>; + gpios = <&pio 102 GPIO_ACTIVE_LOW>; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/mediatek/mt7622.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/mediatek/mt7622.dtsi @@ -435,6 +435,7 @@ pwm: pwm@11006000 { compatible = "mediatek,mt7622-pwm"; reg = <0 0x11006000 0 0x1000>; + #pwm-cells = <2>; interrupts = ; clocks = <&topckgen CLK_TOP_PWM_SEL>, <&pericfg CLK_PERI_PWM_PD>, --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/mediatek/mt7986a.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/mediatek/mt7986a.dtsi @@ -13,7 +13,7 @@ #address-cells = <2>; #size-cells = <2>; - clk40m: oscillator@0 { + clk40m: oscillator-40m { compatible = "fixed-clock"; clock-frequency = <40000000>; #clock-cells = <0>; @@ -113,8 +113,7 @@ }; watchdog: watchdog@1001c000 { - compatible = "mediatek,mt7986-wdt", - "mediatek,mt6589-wdt"; + compatible = "mediatek,mt7986-wdt"; reg = <0 0x1001c000 0 0x1000>; interrupts = ; #reset-cells = <1>; @@ -162,7 +161,7 @@ #clock-cells = <1>; }; - trng: trng@1020f000 { + trng: rng@1020f000 { compatible = "mediatek,mt7986-rng", "mediatek,mt7623-rng"; reg = <0 0x1020f000 0 0x100>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/mediatek/mt8183.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/mediatek/mt8183.dtsi @@ -299,6 +299,15 @@ method = "smc"; }; + clk13m: fixed-factor-clock-13m { + compatible = "fixed-factor-clock"; + #clock-cells = <0>; + clocks = <&clk26m>; + clock-div = <2>; + clock-mult = <1>; + clock-output-names = "clk13m"; + }; + clk26m: oscillator { compatible = "fixed-clock"; #clock-cells = <0>; @@ -674,8 +683,7 @@ "mediatek,mt6765-timer"; reg = <0 0x10017000 0 0x1000>; interrupts = ; - clocks = <&topckgen CLK_TOP_CLK13M>; - clock-names = "clk13m"; + clocks = <&clk13m>; }; iommu: iommu@10205000 { @@ -1368,7 +1376,7 @@ ; interrupt-names = "job", "mmu", "gpu"; - clocks = <&topckgen CLK_TOP_MFGPLL_CK>; + clocks = <&mfgcfg CLK_MFG_BG3D>; power-domains = <&spm MT8183_POWER_DOMAIN_MFG_CORE0>, --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/mediatek/mt8192.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/mediatek/mt8192.dtsi @@ -19,6 +19,15 @@ #address-cells = <2>; #size-cells = <2>; + clk13m: fixed-factor-clock-13m { + compatible = "fixed-factor-clock"; + #clock-cells = <0>; + clocks = <&clk26m>; + clock-div = <2>; + clock-mult = <1>; + clock-output-names = "clk13m"; + }; + clk26m: oscillator0 { compatible = "fixed-clock"; #clock-cells = <0>; @@ -43,7 +52,7 @@ reg = <0x000>; enable-method = "psci"; clock-frequency = <1701000000>; - cpu-idle-states = <&cpuoff_l &clusteroff_l>; + cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>; next-level-cache = <&l2_0>; capacity-dmips-mhz = <530>; }; @@ -54,7 +63,7 @@ reg = <0x100>; enable-method = "psci"; clock-frequency = <1701000000>; - cpu-idle-states = <&cpuoff_l &clusteroff_l>; + cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>; next-level-cache = <&l2_0>; capacity-dmips-mhz = <530>; }; @@ -65,7 +74,7 @@ reg = <0x200>; enable-method = "psci"; clock-frequency = <1701000000>; - cpu-idle-states = <&cpuoff_l &clusteroff_l>; + cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>; next-level-cache = <&l2_0>; capacity-dmips-mhz = <530>; }; @@ -76,7 +85,7 @@ reg = <0x300>; enable-method = "psci"; clock-frequency = <1701000000>; - cpu-idle-states = <&cpuoff_l &clusteroff_l>; + cpu-idle-states = <&cpu_sleep_l &cluster_sleep_l>; next-level-cache = <&l2_0>; capacity-dmips-mhz = <530>; }; @@ -87,7 +96,7 @@ reg = <0x400>; enable-method = "psci"; clock-frequency = <2171000000>; - cpu-idle-states = <&cpuoff_b &clusteroff_b>; + cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>; next-level-cache = <&l2_1>; capacity-dmips-mhz = <1024>; }; @@ -98,7 +107,7 @@ reg = <0x500>; enable-method = "psci"; clock-frequency = <2171000000>; - cpu-idle-states = <&cpuoff_b &clusteroff_b>; + cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>; next-level-cache = <&l2_1>; capacity-dmips-mhz = <1024>; }; @@ -109,7 +118,7 @@ reg = <0x600>; enable-method = "psci"; clock-frequency = <2171000000>; - cpu-idle-states = <&cpuoff_b &clusteroff_b>; + cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>; next-level-cache = <&l2_1>; capacity-dmips-mhz = <1024>; }; @@ -120,7 +129,7 @@ reg = <0x700>; enable-method = "psci"; clock-frequency = <2171000000>; - cpu-idle-states = <&cpuoff_b &clusteroff_b>; + cpu-idle-states = <&cpu_sleep_b &cluster_sleep_b>; next-level-cache = <&l2_1>; capacity-dmips-mhz = <1024>; }; @@ -139,19 +148,16 @@ core3 { cpu = <&cpu3>; }; - }; - - cluster1 { - core0 { + core4 { cpu = <&cpu4>; }; - core1 { + core5 { cpu = <&cpu5>; }; - core2 { + core6 { cpu = <&cpu6>; }; - core3 { + core7 { cpu = <&cpu7>; }; }; @@ -172,8 +178,8 @@ }; idle-states { - entry-method = "arm,psci"; - cpuoff_l: cpuoff_l { + entry-method = "psci"; + cpu_sleep_l: cpu-sleep-l { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x00010001>; local-timer-stop; @@ -181,7 +187,7 @@ exit-latency-us = <140>; min-residency-us = <780>; }; - cpuoff_b: cpuoff_b { + cpu_sleep_b: cpu-sleep-b { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x00010001>; local-timer-stop; @@ -189,7 +195,7 @@ exit-latency-us = <145>; min-residency-us = <720>; }; - clusteroff_l: clusteroff_l { + cluster_sleep_l: cluster-sleep-l { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x01010002>; local-timer-stop; @@ -197,7 +203,7 @@ exit-latency-us = <155>; min-residency-us = <860>; }; - clusteroff_b: clusteroff_b { + cluster_sleep_b: cluster-sleep-b { compatible = "arm,idle-state"; arm,psci-suspend-param = <0x01010002>; local-timer-stop; @@ -521,8 +527,7 @@ "mediatek,mt6765-timer"; reg = <0 0x10017000 0 0x1000>; interrupts = ; - clocks = <&topckgen CLK_TOP_CSW_F26M_D2>; - clock-names = "clk13m"; + clocks = <&clk13m>; }; pwrap: pwrap@10026000 { @@ -556,6 +561,8 @@ compatible = "mediatek,mt8192-scp_adsp"; reg = <0 0x10720000 0 0x1000>; #clock-cells = <1>; + /* power domain dependency not upstreamed */ + status = "fail"; }; uart0: serial@11002000 { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/mediatek/mt8195-demo.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/mediatek/mt8195-demo.dts @@ -56,10 +56,10 @@ #size-cells = <2>; ranges; - /* 192 KiB reserved for ARM Trusted Firmware (BL31) */ + /* 2 MiB reserved for ARM Trusted Firmware (BL31) */ bl31_secmon_reserved: secmon@54600000 { no-map; - reg = <0 0x54600000 0x0 0x30000>; + reg = <0 0x54600000 0x0 0x200000>; }; /* 12 MiB reserved for OP-TEE (BL32) --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/mediatek/mt8195.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/mediatek/mt8195.dtsi @@ -28,7 +28,7 @@ reg = <0x000>; enable-method = "psci"; clock-frequency = <1701000000>; - capacity-dmips-mhz = <578>; + capacity-dmips-mhz = <308>; cpu-idle-states = <&cpu_off_l &cluster_off_l>; next-level-cache = <&l2_0>; #cooling-cells = <2>; @@ -40,7 +40,7 @@ reg = <0x100>; enable-method = "psci"; clock-frequency = <1701000000>; - capacity-dmips-mhz = <578>; + capacity-dmips-mhz = <308>; cpu-idle-states = <&cpu_off_l &cluster_off_l>; next-level-cache = <&l2_0>; #cooling-cells = <2>; @@ -52,7 +52,7 @@ reg = <0x200>; enable-method = "psci"; clock-frequency = <1701000000>; - capacity-dmips-mhz = <578>; + capacity-dmips-mhz = <308>; cpu-idle-states = <&cpu_off_l &cluster_off_l>; next-level-cache = <&l2_0>; #cooling-cells = <2>; @@ -64,7 +64,7 @@ reg = <0x300>; enable-method = "psci"; clock-frequency = <1701000000>; - capacity-dmips-mhz = <578>; + capacity-dmips-mhz = <308>; cpu-idle-states = <&cpu_off_l &cluster_off_l>; next-level-cache = <&l2_0>; #cooling-cells = <2>; @@ -135,22 +135,20 @@ core3 { cpu = <&cpu3>; }; - }; - cluster1 { - core0 { + core4 { cpu = <&cpu4>; }; - core1 { + core5 { cpu = <&cpu5>; }; - core2 { + core6 { cpu = <&cpu6>; }; - core3 { + core7 { cpu = <&cpu7>; }; }; @@ -218,6 +216,15 @@ <&cpu4>, <&cpu5>, <&cpu6>, <&cpu7>; }; + clk13m: fixed-factor-clock-13m { + compatible = "fixed-factor-clock"; + #clock-cells = <0>; + clocks = <&clk26m>; + clock-div = <2>; + clock-mult = <1>; + clock-output-names = "clk13m"; + }; + clk26m: oscillator-26m { compatible = "fixed-clock"; #clock-cells = <0>; @@ -352,7 +359,7 @@ "mediatek,mt6765-timer"; reg = <0 0x10017000 0 0x1000>; interrupts = ; - clocks = <&topckgen CLK_TOP_CLK26M_D2>; + clocks = <&clk13m>; }; pwrap: pwrap@10024000 { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/mediatek/pumpkin-common.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/mediatek/pumpkin-common.dtsi @@ -17,7 +17,7 @@ }; firmware { - optee: optee@4fd00000 { + optee: optee { compatible = "linaro,optee-tz"; method = "smc"; }; @@ -209,7 +209,7 @@ }; }; - i2c0_pins_a: i2c0@0 { + i2c0_pins_a: i2c0 { pins1 { pinmux = , ; @@ -217,7 +217,7 @@ }; }; - i2c2_pins_a: i2c2@0 { + i2c2_pins_a: i2c2 { pins1 { pinmux = , ; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/nvidia/tegra186.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/nvidia/tegra186.dtsi @@ -1820,6 +1820,7 @@ #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x0 0x30000000 0x50000>; + no-memory-wc; cpu_bpmp_tx: sram@4e000 { reg = <0x4e000 0x1000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/nvidia/tegra194-p2888.dtsi @@ -75,7 +75,7 @@ /* SDMMC1 (SD/MMC) */ mmc@3400000 { - cd-gpios = <&gpio TEGRA194_MAIN_GPIO(A, 0) GPIO_ACTIVE_LOW>; + cd-gpios = <&gpio TEGRA194_MAIN_GPIO(G, 7) GPIO_ACTIVE_LOW>; }; /* SDMMC4 (eMMC) */ --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/nvidia/tegra194.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/nvidia/tegra194.dtsi @@ -2684,6 +2684,7 @@ #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x0 0x40000000 0x50000>; + no-memory-wc; cpu_bpmp_tx: sram@4e000 { reg = <0x4e000 0x1000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi @@ -1666,7 +1666,7 @@ vin-supply = <&vdd_5v0_sys>; }; - vdd_cam_1v2: regulator-vdd-cam-1v8 { + vdd_cam_1v2: regulator-vdd-cam-1v2 { compatible = "regulator-fixed"; regulator-name = "vdd-cam-1v2"; regulator-min-microvolt = <1200000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/nvidia/tegra234.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/nvidia/tegra234.dtsi @@ -1325,6 +1325,7 @@ #address-cells = <1>; #size-cells = <1>; ranges = <0x0 0x0 0x40000000 0x80000>; + no-memory-wc; cpu_bpmp_tx: sram@70000 { reg = <0x70000 0x1000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/ipq6018-cp01-c1.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/ipq6018-cp01-c1.dts @@ -37,6 +37,8 @@ &spi_0 { cs-select = <0>; + pinctrl-0 = <&spi_0_pins>; + pinctrl-names = "default"; status = "okay"; flash@0 { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/ipq6018.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/ipq6018.dtsi @@ -525,9 +525,9 @@ }; timer@b120000 { - #address-cells = <2>; - #size-cells = <2>; - ranges; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0 0 0x10000000>; compatible = "arm,armv7-timer-mem"; reg = <0x0 0x0b120000 0x0 0x1000>; @@ -535,49 +535,49 @@ frame-number = <0>; interrupts = , ; - reg = <0x0 0x0b121000 0x0 0x1000>, - <0x0 0x0b122000 0x0 0x1000>; + reg = <0x0b121000 0x1000>, + <0x0b122000 0x1000>; }; frame@b123000 { frame-number = <1>; interrupts = ; - reg = <0x0 0xb123000 0x0 0x1000>; + reg = <0x0b123000 0x1000>; status = "disabled"; }; frame@b124000 { frame-number = <2>; interrupts = ; - reg = <0x0 0x0b124000 0x0 0x1000>; + reg = <0x0b124000 0x1000>; status = "disabled"; }; frame@b125000 { frame-number = <3>; interrupts = ; - reg = <0x0 0x0b125000 0x0 0x1000>; + reg = <0x0b125000 0x1000>; status = "disabled"; }; frame@b126000 { frame-number = <4>; interrupts = ; - reg = <0x0 0x0b126000 0x0 0x1000>; + reg = <0x0b126000 0x1000>; status = "disabled"; }; frame@b127000 { frame-number = <5>; interrupts = ; - reg = <0x0 0x0b127000 0x0 0x1000>; + reg = <0x0b127000 0x1000>; status = "disabled"; }; frame@b128000 { frame-number = <6>; interrupts = ; - reg = <0x0 0x0b128000 0x0 0x1000>; + reg = <0x0b128000 0x1000>; status = "disabled"; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/ipq8074.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/ipq8074.dtsi @@ -133,7 +133,7 @@ #clock-cells = <1>; clocks = <&gcc GCC_USB1_PIPE_CLK>; clock-names = "pipe0"; - clock-output-names = "gcc_usb1_pipe_clk_src"; + clock-output-names = "usb3phy_1_cc_pipe_clk"; }; }; @@ -176,7 +176,7 @@ #clock-cells = <1>; clocks = <&gcc GCC_USB0_PIPE_CLK>; clock-names = "pipe0"; - clock-output-names = "gcc_usb0_pipe_clk_src"; + clock-output-names = "usb3phy_0_cc_pipe_clk"; }; }; @@ -193,9 +193,9 @@ status = "disabled"; }; - pcie_qmp0: phy@86000 { - compatible = "qcom,ipq8074-qmp-pcie-phy"; - reg = <0x00086000 0x1000>; + pcie_qmp0: phy@84000 { + compatible = "qcom,ipq8074-qmp-gen3-pcie-phy"; + reg = <0x00084000 0x1bc>; #address-cells = <1>; #size-cells = <1>; ranges; @@ -209,21 +209,22 @@ "common"; status = "disabled"; - pcie_phy0: phy@86200 { - reg = <0x86200 0x16c>, - <0x86400 0x200>, - <0x86800 0x4f4>; + pcie_phy0: phy@84200 { + reg = <0x84200 0x16c>, + <0x84400 0x200>, + <0x84800 0x1f0>, + <0x84c00 0xf4>; #phy-cells = <0>; #clock-cells = <0>; clocks = <&gcc GCC_PCIE0_PIPE_CLK>; clock-names = "pipe0"; - clock-output-names = "pcie_0_pipe_clk"; + clock-output-names = "pcie20_phy0_pipe_clk"; }; }; pcie_qmp1: phy@8e000 { compatible = "qcom,ipq8074-qmp-pcie-phy"; - reg = <0x0008e000 0x1000>; + reg = <0x0008e000 0x1c4>; #address-cells = <1>; #size-cells = <1>; ranges; @@ -238,14 +239,14 @@ status = "disabled"; pcie_phy1: phy@8e200 { - reg = <0x8e200 0x16c>, + reg = <0x8e200 0x130>, <0x8e400 0x200>, - <0x8e800 0x4f4>; + <0x8e800 0x1f8>; #phy-cells = <0>; #clock-cells = <0>; clocks = <&gcc GCC_PCIE1_PIPE_CLK>; clock-names = "pipe0"; - clock-output-names = "pcie_1_pipe_clk"; + clock-output-names = "pcie20_phy1_pipe_clk"; }; }; @@ -534,7 +535,7 @@ status = "disabled"; }; - qpic_nand: nand@79b0000 { + qpic_nand: nand-controller@79b0000 { compatible = "qcom,ipq8074-nand"; reg = <0x079b0000 0x10000>; #address-cells = <1>; @@ -740,9 +741,9 @@ phy-names = "pciephy"; ranges = <0x81000000 0 0x10200000 0x10200000 - 0 0x100000 /* downstream I/O */ - 0x82000000 0 0x10300000 0x10300000 - 0 0xd00000>; /* non-prefetchable memory */ + 0 0x10000>, /* downstream I/O */ + <0x82000000 0 0x10220000 0x10220000 + 0 0xfde0000>; /* non-prefetchable memory */ interrupts = ; interrupt-names = "msi"; @@ -785,16 +786,18 @@ }; pcie0: pci@20000000 { - compatible = "qcom,pcie-ipq8074"; + compatible = "qcom,pcie-ipq8074-gen3"; reg = <0x20000000 0xf1d>, <0x20000f20 0xa8>, - <0x00080000 0x2000>, + <0x20001000 0x1000>, + <0x00080000 0x4000>, <0x20100000 0x1000>; - reg-names = "dbi", "elbi", "parf", "config"; + reg-names = "dbi", "elbi", "atu", "parf", "config"; device_type = "pci"; linux,pci-domain = <0>; bus-range = <0x00 0xff>; num-lanes = <1>; + max-link-speed = <3>; #address-cells = <3>; #size-cells = <2>; @@ -802,9 +805,9 @@ phy-names = "pciephy"; ranges = <0x81000000 0 0x20200000 0x20200000 - 0 0x100000 /* downstream I/O */ - 0x82000000 0 0x20300000 0x20300000 - 0 0xd00000>; /* non-prefetchable memory */ + 0 0x10000>, /* downstream I/O */ + <0x82000000 0 0x20220000 0x20220000 + 0 0xfde0000>; /* non-prefetchable memory */ interrupts = ; interrupt-names = "msi"; @@ -822,28 +825,30 @@ clocks = <&gcc GCC_SYS_NOC_PCIE0_AXI_CLK>, <&gcc GCC_PCIE0_AXI_M_CLK>, <&gcc GCC_PCIE0_AXI_S_CLK>, - <&gcc GCC_PCIE0_AHB_CLK>, - <&gcc GCC_PCIE0_AUX_CLK>; - + <&gcc GCC_PCIE0_AXI_S_BRIDGE_CLK>, + <&gcc GCC_PCIE0_RCHNG_CLK>; clock-names = "iface", "axi_m", "axi_s", - "ahb", - "aux"; + "axi_bridge", + "rchng"; + resets = <&gcc GCC_PCIE0_PIPE_ARES>, <&gcc GCC_PCIE0_SLEEP_ARES>, <&gcc GCC_PCIE0_CORE_STICKY_ARES>, <&gcc GCC_PCIE0_AXI_MASTER_ARES>, <&gcc GCC_PCIE0_AXI_SLAVE_ARES>, <&gcc GCC_PCIE0_AHB_ARES>, - <&gcc GCC_PCIE0_AXI_MASTER_STICKY_ARES>; + <&gcc GCC_PCIE0_AXI_MASTER_STICKY_ARES>, + <&gcc GCC_PCIE0_AXI_SLAVE_STICKY_ARES>; reset-names = "pipe", "sleep", "sticky", "axi_m", "axi_s", "ahb", - "axi_m_sticky"; + "axi_m_sticky", + "axi_s_sticky"; status = "disabled"; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/msm8916.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/msm8916.dtsi @@ -1329,7 +1329,7 @@ }; mpss: remoteproc@4080000 { - compatible = "qcom,msm8916-mss-pil", "qcom,q6v5-pil"; + compatible = "qcom,msm8916-mss-pil"; reg = <0x04080000 0x100>, <0x04020000 0x040>; @@ -1788,8 +1788,8 @@ <&rpmpd MSM8916_VDDMX>; power-domain-names = "cx", "mx"; - qcom,state = <&wcnss_smp2p_out 0>; - qcom,state-names = "stop"; + qcom,smem-states = <&wcnss_smp2p_out 0>; + qcom,smem-state-names = "stop"; pinctrl-names = "default"; pinctrl-0 = <&wcnss_pin_a>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/msm8953.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/msm8953.dtsi @@ -455,7 +455,7 @@ reg = <0x1000000 0x300000>; interrupts = ; gpio-controller; - gpio-ranges = <&tlmm 0 0 155>; + gpio-ranges = <&tlmm 0 0 142>; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/msm8992-lg-bullhead.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/msm8992-lg-bullhead.dtsi @@ -1,7 +1,8 @@ // SPDX-License-Identifier: GPL-2.0-only /* Copyright (c) 2015, LGE Inc. All rights reserved. * Copyright (c) 2016, The Linux Foundation. All rights reserved. - * Copyright (c) 2021, Petr Vorel + * Copyright (c) 2021-2022, Petr Vorel + * Copyright (c) 2022, Dominik Kobinski */ /dts-v1/; @@ -13,6 +14,9 @@ /* cont_splash_mem has different memory mapping */ /delete-node/ &cont_splash_mem; +/* disabled on downstream, conflicts with cont_splash_mem */ +/delete-node/ &dfps_data_mem; + / { model = "LG Nexus 5X"; compatible = "lg,bullhead", "qcom,msm8992"; @@ -47,7 +51,17 @@ }; cont_splash_mem: memory@3400000 { - reg = <0 0x03400000 0 0x1200000>; + reg = <0 0x03400000 0 0xc00000>; + no-map; + }; + + reserved@5000000 { + reg = <0x0 0x05000000 0x0 0x1a00000>; + no-map; + }; + + reserved@6c00000 { + reg = <0x0 0x06c00000 0x0 0x400000>; no-map; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/msm8992-xiaomi-libra.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/msm8992-xiaomi-libra.dts @@ -11,6 +11,12 @@ #include #include +/delete-node/ &adsp_mem; +/delete-node/ &audio_mem; +/delete-node/ &mpss_mem; +/delete-node/ &peripheral_region; +/delete-node/ &rmtfs_mem; + / { model = "Xiaomi Mi 4C"; compatible = "xiaomi,libra", "qcom,msm8992"; @@ -72,25 +78,67 @@ #size-cells = <2>; ranges; - /* This is for getting crash logs using Android downstream kernels */ - ramoops@dfc00000 { - compatible = "ramoops"; - reg = <0x0 0xdfc00000 0x0 0x40000>; - console-size = <0x10000>; - record-size = <0x10000>; - ftrace-size = <0x10000>; - pmsg-size = <0x20000>; + memory_hole: hole@6400000 { + reg = <0 0x06400000 0 0x600000>; + no-map; + }; + + memory_hole2: hole2@6c00000 { + reg = <0 0x06c00000 0 0x2400000>; + no-map; + }; + + mpss_mem: mpss@9000000 { + reg = <0 0x09000000 0 0x5a00000>; + no-map; + }; + + tzapp: tzapp@ea00000 { + reg = <0 0x0ea00000 0 0x1900000>; + no-map; + }; + + mdm_rfsa_mem: mdm-rfsa@ca0b0000 { + reg = <0 0xca0b0000 0 0x10000>; + no-map; + }; + + rmtfs_mem: rmtfs@ca100000 { + compatible = "qcom,rmtfs-mem"; + reg = <0 0xca100000 0 0x180000>; + no-map; + + qcom,client-id = <1>; }; - modem_region: modem_region@9000000 { - reg = <0x0 0x9000000 0x0 0x5a00000>; + audio_mem: audio@cb400000 { + reg = <0 0xcb000000 0 0x400000>; + no-mem; + }; + + qseecom_mem: qseecom@cb400000 { + reg = <0 0xcb400000 0 0x1c00000>; + no-mem; + }; + + adsp_rfsa_mem: adsp-rfsa@cd000000 { + reg = <0 0xcd000000 0 0x10000>; no-map; }; - tzapp: modem_region@ea00000 { - reg = <0x0 0xea00000 0x0 0x1900000>; + sensor_rfsa_mem: sensor-rfsa@cd010000 { + reg = <0 0xcd010000 0 0x10000>; no-map; }; + + ramoops@dfc00000 { + compatible = "ramoops"; + reg = <0 0xdfc00000 0 0x40000>; + console-size = <0x10000>; + record-size = <0x10000>; + ftrace-size = <0x10000>; + pmsg-size = <0x20000>; + }; }; }; @@ -132,11 +180,6 @@ status = "okay"; }; -&peripheral_region { - reg = <0x0 0x7400000 0x0 0x1c00000>; - no-map; -}; - &pm8994_spmi_regulators { VDD_APC0: s8 { regulator-min-microvolt = <680000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/msm8992.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/msm8992.dtsi @@ -36,10 +36,6 @@ compatible = "qcom,rpmcc-msm8992", "qcom,rpmcc"; }; -&tcsr_mutex { - compatible = "qcom,sfpb-mutex"; -}; - &timer { interrupts = , , --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/msm8994.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/msm8994.dtsi @@ -1074,6 +1074,7 @@ reg = <0xfdd00000 0x2000>, <0xfec00000 0x200000>; reg-names = "ctrl", "mem"; + ranges = <0 0xfec00000 0x200000>; clocks = <&rpmcc RPM_SMD_OCMEMGX_CLK>, <&mmcc OCMEMCX_OCMEMNOC_CLK>; clock-names = "core", "iface"; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/msm8996-sony-xperia-tone.dtsi @@ -949,10 +949,6 @@ }; }; -/* - * For reasons that are currently unknown (but probably related to fusb301), USB takes about - * 6 minutes to wake up (nothing interesting in kernel logs), but then it works as it should. - */ &usb3 { status = "okay"; qcom,select-utmi-as-pipe-clk; @@ -961,6 +957,7 @@ &usb3_dwc3 { extcon = <&usb3_id>; dr_mode = "peripheral"; + maximum-speed = "high-speed"; phys = <&hsusb_phy1>; phy-names = "usb2-phy"; snps,hird-threshold = /bits/ 8 <0>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/msm8996.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/msm8996.dtsi @@ -142,82 +142,92 @@ /* Nominal fmax for now */ opp-307200000 { opp-hz = /bits/ 64 <307200000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-422400000 { opp-hz = /bits/ 64 <422400000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-480000000 { opp-hz = /bits/ 64 <480000000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-556800000 { opp-hz = /bits/ 64 <556800000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-652800000 { opp-hz = /bits/ 64 <652800000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-729600000 { opp-hz = /bits/ 64 <729600000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-844800000 { opp-hz = /bits/ 64 <844800000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-960000000 { opp-hz = /bits/ 64 <960000000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-1036800000 { opp-hz = /bits/ 64 <1036800000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-1113600000 { opp-hz = /bits/ 64 <1113600000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-1190400000 { opp-hz = /bits/ 64 <1190400000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-1228800000 { opp-hz = /bits/ 64 <1228800000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-1324800000 { opp-hz = /bits/ 64 <1324800000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x5>; + clock-latency-ns = <200000>; + }; + opp-1363200000 { + opp-hz = /bits/ 64 <1363200000>; + opp-supported-hw = <0x2>; clock-latency-ns = <200000>; }; opp-1401600000 { opp-hz = /bits/ 64 <1401600000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x5>; clock-latency-ns = <200000>; }; opp-1478400000 { opp-hz = /bits/ 64 <1478400000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x1>; + clock-latency-ns = <200000>; + }; + opp-1497600000 { + opp-hz = /bits/ 64 <1497600000>; + opp-supported-hw = <0x04>; clock-latency-ns = <200000>; }; opp-1593600000 { opp-hz = /bits/ 64 <1593600000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x1>; clock-latency-ns = <200000>; }; }; @@ -230,127 +240,137 @@ /* Nominal fmax for now */ opp-307200000 { opp-hz = /bits/ 64 <307200000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-403200000 { opp-hz = /bits/ 64 <403200000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-480000000 { opp-hz = /bits/ 64 <480000000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-556800000 { opp-hz = /bits/ 64 <556800000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-652800000 { opp-hz = /bits/ 64 <652800000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-729600000 { opp-hz = /bits/ 64 <729600000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-806400000 { opp-hz = /bits/ 64 <806400000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-883200000 { opp-hz = /bits/ 64 <883200000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-940800000 { opp-hz = /bits/ 64 <940800000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-1036800000 { opp-hz = /bits/ 64 <1036800000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-1113600000 { opp-hz = /bits/ 64 <1113600000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-1190400000 { opp-hz = /bits/ 64 <1190400000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-1248000000 { opp-hz = /bits/ 64 <1248000000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-1324800000 { opp-hz = /bits/ 64 <1324800000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-1401600000 { opp-hz = /bits/ 64 <1401600000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-1478400000 { opp-hz = /bits/ 64 <1478400000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-1555200000 { opp-hz = /bits/ 64 <1555200000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-1632000000 { opp-hz = /bits/ 64 <1632000000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-1708800000 { opp-hz = /bits/ 64 <1708800000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; clock-latency-ns = <200000>; }; opp-1785600000 { opp-hz = /bits/ 64 <1785600000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x7>; + clock-latency-ns = <200000>; + }; + opp-1804800000 { + opp-hz = /bits/ 64 <1804800000>; + opp-supported-hw = <0x6>; clock-latency-ns = <200000>; }; opp-1824000000 { opp-hz = /bits/ 64 <1824000000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x1>; + clock-latency-ns = <200000>; + }; + opp-1900800000 { + opp-hz = /bits/ 64 <1900800000>; + opp-supported-hw = <0x4>; clock-latency-ns = <200000>; }; opp-1920000000 { opp-hz = /bits/ 64 <1920000000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x1>; clock-latency-ns = <200000>; }; opp-1996800000 { opp-hz = /bits/ 64 <1996800000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x1>; clock-latency-ns = <200000>; }; opp-2073600000 { opp-hz = /bits/ 64 <2073600000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x1>; clock-latency-ns = <200000>; }; opp-2150400000 { opp-hz = /bits/ 64 <2150400000>; - opp-supported-hw = <0x77>; + opp-supported-hw = <0x1>; clock-latency-ns = <200000>; }; }; @@ -609,7 +629,7 @@ <0x00035400 0x1dc>; #phy-cells = <0>; - #clock-cells = <1>; + #clock-cells = <0>; clock-output-names = "pcie_0_pipe_clk_src"; clocks = <&gcc GCC_PCIE_0_PIPE_CLK>; clock-names = "pipe0"; @@ -623,6 +643,7 @@ <0x00036400 0x1dc>; #phy-cells = <0>; + #clock-cells = <0>; clock-output-names = "pcie_1_pipe_clk_src"; clocks = <&gcc GCC_PCIE_1_PIPE_CLK>; clock-names = "pipe1"; @@ -636,6 +657,7 @@ <0x00037400 0x1dc>; #phy-cells = <0>; + #clock-cells = <0>; clock-output-names = "pcie_2_pipe_clk_src"; clocks = <&gcc GCC_PCIE_2_PIPE_CLK>; clock-names = "pipe2"; @@ -1004,17 +1026,17 @@ compatible ="operating-points-v2"; /* - * 624Mhz and 560Mhz are only available on speed - * bin (1 << 0). All the rest are available on - * all bins of the hardware + * 624Mhz is only available on speed bins 0 and 3. + * 560Mhz is only available on speed bins 0, 2 and 3. + * All the rest are available on all bins of the hardware. */ opp-624000000 { opp-hz = /bits/ 64 <624000000>; - opp-supported-hw = <0x01>; + opp-supported-hw = <0x09>; }; opp-560000000 { opp-hz = /bits/ 64 <560000000>; - opp-supported-hw = <0x01>; + opp-supported-hw = <0x0d>; }; opp-510000000 { opp-hz = /bits/ 64 <510000000>; @@ -2769,7 +2791,7 @@ <0x07410600 0x1a8>; #phy-cells = <0>; - #clock-cells = <1>; + #clock-cells = <0>; clock-output-names = "usb3_phy_pipe_clk_src"; clocks = <&gcc GCC_USB3_PHY_PIPE_CLK>; clock-names = "pipe0"; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/msm8996pro.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/msm8996pro.dtsi @@ -0,0 +1,266 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2022, Linaro Limited + */ + +#include "msm8996.dtsi" + +/ { + /delete-node/ opp-table-cluster0; + /delete-node/ opp-table-cluster1; + + /* + * On MSM8996 Pro the cpufreq driver shifts speed bins into the high + * nibble of supported hw, so speed bin 0 becomes 0x10, speed bin 1 + * becomes 0x20, speed 2 becomes 0x40. + */ + + cluster0_opp: opp-table-cluster0 { + compatible = "operating-points-v2-kryo-cpu"; + nvmem-cells = <&speedbin_efuse>; + opp-shared; + + opp-307200000 { + opp-hz = /bits/ 64 <307200000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-384000000 { + opp-hz = /bits/ 64 <384000000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-460800000 { + opp-hz = /bits/ 64 <460800000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-537600000 { + opp-hz = /bits/ 64 <537600000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-614400000 { + opp-hz = /bits/ 64 <614400000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-691200000 { + opp-hz = /bits/ 64 <691200000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-768000000 { + opp-hz = /bits/ 64 <768000000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-844800000 { + opp-hz = /bits/ 64 <844800000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-902400000 { + opp-hz = /bits/ 64 <902400000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-979200000 { + opp-hz = /bits/ 64 <979200000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1056000000 { + opp-hz = /bits/ 64 <1056000000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1132800000 { + opp-hz = /bits/ 64 <1132800000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1209600000 { + opp-hz = /bits/ 64 <1209600000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1286400000 { + opp-hz = /bits/ 64 <1286400000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1363200000 { + opp-hz = /bits/ 64 <1363200000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1440000000 { + opp-hz = /bits/ 64 <1440000000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1516800000 { + opp-hz = /bits/ 64 <1516800000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1593600000 { + opp-hz = /bits/ 64 <1593600000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1996800000 { + opp-hz = /bits/ 64 <1996800000>; + opp-supported-hw = <0x20>; + clock-latency-ns = <200000>; + }; + opp-2188800000 { + opp-hz = /bits/ 64 <2188800000>; + opp-supported-hw = <0x10>; + clock-latency-ns = <200000>; + }; + }; + + cluster1_opp: opp-table-cluster1 { + compatible = "operating-points-v2-kryo-cpu"; + nvmem-cells = <&speedbin_efuse>; + opp-shared; + + opp-307200000 { + opp-hz = /bits/ 64 <307200000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-384000000 { + opp-hz = /bits/ 64 <384000000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-460800000 { + opp-hz = /bits/ 64 <460800000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-537600000 { + opp-hz = /bits/ 64 <537600000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-614400000 { + opp-hz = /bits/ 64 <614400000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-691200000 { + opp-hz = /bits/ 64 <691200000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-748800000 { + opp-hz = /bits/ 64 <748800000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-825600000 { + opp-hz = /bits/ 64 <825600000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-902400000 { + opp-hz = /bits/ 64 <902400000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-979200000 { + opp-hz = /bits/ 64 <979200000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1056000000 { + opp-hz = /bits/ 64 <1056000000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1132800000 { + opp-hz = /bits/ 64 <1132800000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1209600000 { + opp-hz = /bits/ 64 <1209600000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1286400000 { + opp-hz = /bits/ 64 <1286400000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1363200000 { + opp-hz = /bits/ 64 <1363200000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1440000000 { + opp-hz = /bits/ 64 <1440000000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1516800000 { + opp-hz = /bits/ 64 <1516800000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1593600000 { + opp-hz = /bits/ 64 <1593600000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1670400000 { + opp-hz = /bits/ 64 <1670400000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1747200000 { + opp-hz = /bits/ 64 <1747200000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1824000000 { + opp-hz = /bits/ 64 <1824000000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1900800000 { + opp-hz = /bits/ 64 <1900800000>; + opp-supported-hw = <0x70>; + clock-latency-ns = <200000>; + }; + opp-1977600000 { + opp-hz = /bits/ 64 <1977600000>; + opp-supported-hw = <0x30>; + clock-latency-ns = <200000>; + }; + opp-2054400000 { + opp-hz = /bits/ 64 <2054400000>; + opp-supported-hw = <0x30>; + clock-latency-ns = <200000>; + }; + opp-2150400000 { + opp-hz = /bits/ 64 <2150400000>; + opp-supported-hw = <0x30>; + clock-latency-ns = <200000>; + }; + opp-2246400000 { + opp-hz = /bits/ 64 <2246400000>; + opp-supported-hw = <0x10>; + clock-latency-ns = <200000>; + }; + opp-2342400000 { + opp-hz = /bits/ 64 <2342400000>; + opp-supported-hw = <0x10>; + clock-latency-ns = <200000>; + }; + }; +}; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/msm8998-sony-xperia-yoshino-poplar.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/msm8998-sony-xperia-yoshino-poplar.dts @@ -26,11 +26,13 @@ }; &vreg_l18a_2p85 { - regulator-min-microvolt = <2850000>; - regulator-max-microvolt = <2850000>; + /* Note: Round-down from 2850000 to be a multiple of PLDO step-size 8000 */ + regulator-min-microvolt = <2848000>; + regulator-max-microvolt = <2848000>; }; &vreg_l22a_2p85 { - regulator-min-microvolt = <2700000>; - regulator-max-microvolt = <2700000>; + /* Note: Round-down from 2700000 to be a multiple of PLDO step-size 8000 */ + regulator-min-microvolt = <2696000>; + regulator-max-microvolt = <2696000>; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/pm6350.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/pm6350.dtsi @@ -3,6 +3,7 @@ * Copyright (c) 2021, Luca Weiss */ +#include #include &spmi_bus { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/pm660.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/pm660.dtsi @@ -163,7 +163,7 @@ qcom,pre-scaling = <1 3>; }; - vcoin: vcoin@83 { + vcoin: vcoin@85 { reg = ; qcom,decimation = <1024>; qcom,pre-scaling = <1 3>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/pm8350c.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/pm8350c.dtsi @@ -30,9 +30,8 @@ #interrupt-cells = <2>; }; - pm8350c_pwm: pwm@e800 { + pm8350c_pwm: pwm { compatible = "qcom,pm8350c-pwm"; - reg = <0xe800>; #pwm-cells = <2>; status = "disabled"; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/pmk8350.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/pmk8350.dtsi @@ -16,8 +16,9 @@ #size-cells = <0>; pmk8350_pon: pon@1300 { - compatible = "qcom,pm8998-pon"; - reg = <0x1300>; + compatible = "qcom,pmk8350-pon"; + reg = <0x1300>, <0x800>; + reg-names = "hlos", "pbs"; pon_pwrkey: pwrkey { compatible = "qcom,pmk8350-pwrkey"; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/qcs404.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/qcs404.dtsi @@ -548,7 +548,7 @@ compatible = "snps,dwc3"; reg = <0x07580000 0xcd00>; interrupts = ; - phys = <&usb2_phy_sec>, <&usb3_phy>; + phys = <&usb2_phy_prim>, <&usb3_phy>; phy-names = "usb2-phy", "usb3-phy"; snps,has-lpm-erratum; snps,hird-threshold = /bits/ 8 <0x10>; @@ -577,7 +577,7 @@ compatible = "snps,dwc3"; reg = <0x078c0000 0xcc00>; interrupts = ; - phys = <&usb2_phy_prim>; + phys = <&usb2_phy_sec>; phy-names = "usb2-phy"; snps,has-lpm-erratum; snps,hird-threshold = /bits/ 8 <0x10>; @@ -780,7 +780,7 @@ clocks = <&gcc GCC_PCIE_0_PIPE_CLK>; resets = <&gcc GCC_PCIEPHY_0_PHY_BCR>, - <&gcc 21>; + <&gcc GCC_PCIE_0_PIPE_ARES>; reset-names = "phy", "pipe"; clock-output-names = "pcie_0_pipe_clk"; @@ -1310,12 +1310,12 @@ <&gcc GCC_PCIE_0_SLV_AXI_CLK>; clock-names = "iface", "aux", "master_bus", "slave_bus"; - resets = <&gcc 18>, - <&gcc 17>, - <&gcc 15>, - <&gcc 19>, + resets = <&gcc GCC_PCIE_0_AXI_MASTER_ARES>, + <&gcc GCC_PCIE_0_AXI_SLAVE_ARES>, + <&gcc GCC_PCIE_0_AXI_MASTER_STICKY_ARES>, + <&gcc GCC_PCIE_0_CORE_STICKY_ARES>, <&gcc GCC_PCIE_0_BCR>, - <&gcc 16>; + <&gcc GCC_PCIE_0_AHB_ARES>; reset-names = "axi_m", "axi_s", "axi_m_sticky", --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sa8155p-adp.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sa8155p-adp.dts @@ -43,7 +43,6 @@ regulator-always-on; regulator-boot-on; - regulator-allow-set-load; vin-supply = <&vreg_3p3>; }; @@ -137,6 +136,9 @@ regulator-max-microvolt = <880000>; regulator-initial-mode = ; regulator-allow-set-load; + regulator-allowed-modes = + ; }; vreg_l7a_1p8: ldo7 { @@ -152,6 +154,9 @@ regulator-max-microvolt = <2960000>; regulator-initial-mode = ; regulator-allow-set-load; + regulator-allowed-modes = + ; }; vreg_l11a_0p8: ldo11 { @@ -258,6 +263,9 @@ regulator-max-microvolt = <1200000>; regulator-initial-mode = ; regulator-allow-set-load; + regulator-allowed-modes = + ; }; vreg_l7c_1p8: ldo7 { @@ -273,6 +281,9 @@ regulator-max-microvolt = <1200000>; regulator-initial-mode = ; regulator-allow-set-load; + regulator-allowed-modes = + ; }; vreg_l10c_3p3: ldo10 { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz-r1.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz-r1.dts @@ -24,8 +24,6 @@ }; &pm6150_adc { - status = "disabled"; - /delete-node/ skin-temp-thermistor@4e; /delete-node/ charger-thermistor@4f; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sc7180-trogdor-homestar.dtsi @@ -188,6 +188,12 @@ pins = "gpio49", "gpio50", "gpio51", "gpio52"; function = "mi2s_1"; }; + + pinconf { + pins = "gpio49", "gpio50", "gpio51", "gpio52"; + drive-strength = <2>; + bias-pull-down; + }; }; &ts_reset_l { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sc7180-trogdor-lazor.dtsi @@ -54,8 +54,6 @@ }; &pm6150_adc { - status = "disabled"; - /delete-node/ charger-thermistor@4f; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi @@ -43,6 +43,7 @@ */ /delete-node/ &hyp_mem; +/delete-node/ &ipa_fw_mem; /delete-node/ &xbl_mem; /delete-node/ &aop_mem; /delete-node/ &sec_apps_mem; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sc7180.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sc7180.dtsi @@ -3215,7 +3215,7 @@ }; aoss_qmp: power-controller@c300000 { - compatible = "qcom,sc7180-aoss-qmp"; + compatible = "qcom,sc7180-aoss-qmp", "qcom,aoss-qmp"; reg = <0 0x0c300000 0 0x400>; interrupts = ; mboxes = <&apss_shared 0>; @@ -3240,8 +3240,8 @@ interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>; qcom,ee = <0>; qcom,channel = <0>; - #address-cells = <1>; - #size-cells = <1>; + #address-cells = <2>; + #size-cells = <0>; interrupt-controller; #interrupt-cells = <4>; cell-index = <0>; @@ -3384,9 +3384,9 @@ }; timer@17c20000{ - #address-cells = <2>; - #size-cells = <2>; - ranges; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0 0 0x20000000>; compatible = "arm,armv7-timer-mem"; reg = <0 0x17c20000 0 0x1000>; @@ -3394,49 +3394,49 @@ frame-number = <0>; interrupts = , ; - reg = <0 0x17c21000 0 0x1000>, - <0 0x17c22000 0 0x1000>; + reg = <0x17c21000 0x1000>, + <0x17c22000 0x1000>; }; frame@17c23000 { frame-number = <1>; interrupts = ; - reg = <0 0x17c23000 0 0x1000>; + reg = <0x17c23000 0x1000>; status = "disabled"; }; frame@17c25000 { frame-number = <2>; interrupts = ; - reg = <0 0x17c25000 0 0x1000>; + reg = <0x17c25000 0x1000>; status = "disabled"; }; frame@17c27000 { frame-number = <3>; interrupts = ; - reg = <0 0x17c27000 0 0x1000>; + reg = <0x17c27000 0x1000>; status = "disabled"; }; frame@17c29000 { frame-number = <4>; interrupts = ; - reg = <0 0x17c29000 0 0x1000>; + reg = <0x17c29000 0x1000>; status = "disabled"; }; frame@17c2b000 { frame-number = <5>; interrupts = ; - reg = <0 0x17c2b000 0 0x1000>; + reg = <0x17c2b000 0x1000>; status = "disabled"; }; frame@17c2d000 { frame-number = <6>; interrupts = ; - reg = <0 0x17c2d000 0 0x1000>; + reg = <0x17c2d000 0x1000>; status = "disabled"; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi @@ -388,7 +388,7 @@ vdd-supply = <&pp1800_prox>; - label = "proximity-wifi-lte0"; + label = "proximity-wifi_cellular-0"; status = "disabled"; }; @@ -404,7 +404,7 @@ vdd-supply = <&pp1800_prox>; - label = "proximity-wifi-lte1"; + label = "proximity-wifi_cellular-1"; status = "disabled"; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sc7280-idp.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sc7280-idp.dts @@ -78,7 +78,7 @@ }; &pmk8350_vadc { - pmr735a_die_temp { + pmr735a-die-temp@403 { reg = ; label = "pmr735a_die_temp"; qcom,pre-scaling = <1 1>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi @@ -264,7 +264,7 @@ }; &pmk8350_vadc { - pmk8350_die_temp { + pmk8350-die-temp@3 { reg = ; label = "pmk8350_die_temp"; qcom,pre-scaling = <1 1>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sc7280.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sc7280.dtsi @@ -818,7 +818,7 @@ reg = <0 0x00100000 0 0x1f0000>; clocks = <&rpmhcc RPMH_CXO_CLK>, <&rpmhcc RPMH_CXO_CLK_A>, <&sleep_clk>, - <0>, <&pcie1_lane 0>, + <0>, <&pcie1_lane>, <0>, <0>, <0>, <0>; clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk", "pcie_0_pipe_clk", "pcie_1_pipe_clk", @@ -2035,7 +2035,7 @@ clocks = <&gcc GCC_PCIE_1_PIPE_CLK>, <&gcc GCC_PCIE_1_PIPE_CLK_SRC>, - <&pcie1_lane 0>, + <&pcie1_lane>, <&rpmhcc RPMH_CXO_CLK>, <&gcc GCC_PCIE_1_AUX_CLK>, <&gcc GCC_PCIE_1_CFG_AHB_CLK>, @@ -2110,7 +2110,7 @@ clock-names = "pipe0"; #phy-cells = <0>; - #clock-cells = <1>; + #clock-cells = <0>; clock-output-names = "pcie_1_pipe_clk"; }; }; @@ -2168,9 +2168,8 @@ lpasscc: lpasscc@3000000 { compatible = "qcom,sc7280-lpasscc"; reg = <0 0x03000000 0 0x40>, - <0 0x03c04000 0 0x4>, - <0 0x03389000 0 0x24>; - reg-names = "qdsp6ss", "top_cc", "cc"; + <0 0x03c04000 0 0x4>; + reg-names = "qdsp6ss", "top_cc"; clocks = <&gcc GCC_CFG_NOC_LPASS_CLK>; clock-names = "iface"; #clock-cells = <1>; @@ -2178,7 +2177,8 @@ lpass_audiocc: clock-controller@3300000 { compatible = "qcom,sc7280-lpassaudiocc"; - reg = <0 0x03300000 0 0x30000>; + reg = <0 0x03300000 0 0x30000>, + <0 0x032a9000 0 0x1000>; clocks = <&rpmhcc RPMH_CXO_CLK>, <&lpass_aon LPASS_AON_CC_MAIN_RCG_CLK_SRC>; clock-names = "bi_tcxo", "lpass_aon_cc_main_rcg_clk_src"; @@ -2192,13 +2192,13 @@ reg = <0 0x03380000 0 0x30000>; clocks = <&rpmhcc RPMH_CXO_CLK>, <&rpmhcc RPMH_CXO_CLK_A>, - <&lpasscore LPASS_CORE_CC_CORE_CLK>; + <&lpass_core LPASS_CORE_CC_CORE_CLK>; clock-names = "bi_tcxo", "bi_tcxo_ao", "iface"; #clock-cells = <1>; #power-domain-cells = <1>; }; - lpasscore: clock-controller@3900000 { + lpass_core: clock-controller@3900000 { compatible = "qcom,sc7280-lpasscorecc"; reg = <0 0x03900000 0 0x50000>; clocks = <&rpmhcc RPMH_CXO_CLK>; @@ -3843,7 +3843,7 @@ }; aoss_qmp: power-controller@c300000 { - compatible = "qcom,sc7280-aoss-qmp"; + compatible = "qcom,sc7280-aoss-qmp", "qcom,aoss-qmp"; reg = <0 0x0c300000 0 0x400>; interrupts-extended = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP @@ -3871,8 +3871,8 @@ interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>; qcom,ee = <0>; qcom,channel = <0>; - #address-cells = <1>; - #size-cells = <1>; + #address-cells = <2>; + #size-cells = <0>; interrupt-controller; #interrupt-cells = <4>; }; @@ -4771,9 +4771,9 @@ }; timer@17c20000 { - #address-cells = <2>; - #size-cells = <2>; - ranges; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0 0 0x20000000>; compatible = "arm,armv7-timer-mem"; reg = <0 0x17c20000 0 0x1000>; @@ -4781,49 +4781,49 @@ frame-number = <0>; interrupts = , ; - reg = <0 0x17c21000 0 0x1000>, - <0 0x17c22000 0 0x1000>; + reg = <0x17c21000 0x1000>, + <0x17c22000 0x1000>; }; frame@17c23000 { frame-number = <1>; interrupts = ; - reg = <0 0x17c23000 0 0x1000>; + reg = <0x17c23000 0x1000>; status = "disabled"; }; frame@17c25000 { frame-number = <2>; interrupts = ; - reg = <0 0x17c25000 0 0x1000>; + reg = <0x17c25000 0x1000>; status = "disabled"; }; frame@17c27000 { frame-number = <3>; interrupts = ; - reg = <0 0x17c27000 0 0x1000>; + reg = <0x17c27000 0x1000>; status = "disabled"; }; frame@17c29000 { frame-number = <4>; interrupts = ; - reg = <0 0x17c29000 0 0x1000>; + reg = <0x17c29000 0x1000>; status = "disabled"; }; frame@17c2b000 { frame-number = <5>; interrupts = ; - reg = <0 0x17c2b000 0 0x1000>; + reg = <0x17c2b000 0x1000>; status = "disabled"; }; frame@17c2d000 { frame-number = <6>; interrupts = ; - reg = <0 0x17c2d000 0 0x1000>; + reg = <0x17c2d000 0x1000>; status = "disabled"; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sdm630.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sdm630.dtsi @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -772,7 +773,7 @@ pins = "gpio17", "gpio18", "gpio19"; function = "gpio"; drive-strength = <2>; - bias-no-pull; + bias-disable; }; }; @@ -1045,11 +1046,13 @@ nvmem-cells = <&gpu_speed_bin>; nvmem-cell-names = "speed_bin"; - interconnects = <&gnoc 1 &bimc 5>; + interconnects = <&bimc MASTER_OXILI &bimc SLAVE_EBI>; interconnect-names = "gfx-mem"; operating-points-v2 = <&gpu_sdm630_opp_table>; + status = "disabled"; + gpu_sdm630_opp_table: opp-table { compatible = "operating-points-v2"; opp-775000000 { @@ -1264,7 +1267,7 @@ #phy-cells = <0>; clocks = <&gcc GCC_USB_PHY_CFG_AHB2PHY_CLK>, - <&gcc GCC_RX1_USB2_CLKREF_CLK>; + <&gcc GCC_RX0_USB2_CLKREF_CLK>; clock-names = "cfg_ahb", "ref"; resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sdm636-sony-xperia-ganges-mermaid.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sdm636-sony-xperia-ganges-mermaid.dts @@ -19,7 +19,7 @@ }; &sdc2_state_on { - pinconf-clk { + clk { drive-strength = <14>; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi @@ -1304,7 +1304,7 @@ config { pins = "gpio126"; function = "gpio"; - bias-no-pull; + bias-disable; drive-strength = <2>; output-low; }; @@ -1314,7 +1314,7 @@ config { pins = "gpio126"; function = "gpio"; - bias-no-pull; + bias-disable; drive-strength = <2>; output-high; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sdm845-db845c.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sdm845-db845c.dts @@ -926,7 +926,7 @@ }; wcd_intr_default: wcd_intr_default { - pins = <54>; + pins = "gpio54"; function = "gpio"; input-enable; @@ -1080,7 +1080,10 @@ /* PINCTRL - additions to nodes defined in sdm845.dtsi */ &qup_spi2_default { - drive-strength = <16>; + pinconf { + pins = "gpio27", "gpio28", "gpio29", "gpio30"; + drive-strength = <16>; + }; }; &qup_uart3_default{ --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sdm845-mtp.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sdm845-mtp.dts @@ -536,42 +536,42 @@ reg = ; label = "xo_therm"; qcom,ratiometric; - qcom,hw-settle-time-us = <200>; + qcom,hw-settle-time = <200>; }; adc-chan@4d { reg = ; label = "msm_therm"; qcom,ratiometric; - qcom,hw-settle-time-us = <200>; + qcom,hw-settle-time = <200>; }; adc-chan@4f { reg = ; label = "pa_therm1"; qcom,ratiometric; - qcom,hw-settle-time-us = <200>; + qcom,hw-settle-time = <200>; }; adc-chan@51 { reg = ; label = "quiet_therm"; qcom,ratiometric; - qcom,hw-settle-time-us = <200>; + qcom,hw-settle-time = <200>; }; adc-chan@83 { reg = ; label = "vph_pwr"; qcom,ratiometric; - qcom,hw-settle-time-us = <200>; + qcom,hw-settle-time = <200>; }; adc-chan@85 { reg = ; label = "vcoin"; qcom,ratiometric; - qcom,hw-settle-time-us = <200>; + qcom,hw-settle-time = <200>; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sdm845-sony-xperia-tama-akatsuki.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sdm845-sony-xperia-tama-akatsuki.dts @@ -19,8 +19,9 @@ }; &vreg_l22a_2p8 { - regulator-min-microvolt = <2700000>; - regulator-max-microvolt = <2700000>; + /* Note: Round-down from 2700000 to be a multiple of PLDO step-size 8000 */ + regulator-min-microvolt = <2696000>; + regulator-max-microvolt = <2696000>; }; &vreg_l28a_2p8 { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sdm845.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sdm845.dtsi @@ -4948,9 +4948,9 @@ }; timer@17c90000 { - #address-cells = <2>; - #size-cells = <2>; - ranges; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0 0 0x20000000>; compatible = "arm,armv7-timer-mem"; reg = <0 0x17c90000 0 0x1000>; @@ -4958,49 +4958,49 @@ frame-number = <0>; interrupts = , ; - reg = <0 0x17ca0000 0 0x1000>, - <0 0x17cb0000 0 0x1000>; + reg = <0x17ca0000 0x1000>, + <0x17cb0000 0x1000>; }; frame@17cc0000 { frame-number = <1>; interrupts = ; - reg = <0 0x17cc0000 0 0x1000>; + reg = <0x17cc0000 0x1000>; status = "disabled"; }; frame@17cd0000 { frame-number = <2>; interrupts = ; - reg = <0 0x17cd0000 0 0x1000>; + reg = <0x17cd0000 0x1000>; status = "disabled"; }; frame@17ce0000 { frame-number = <3>; interrupts = ; - reg = <0 0x17ce0000 0 0x1000>; + reg = <0x17ce0000 0x1000>; status = "disabled"; }; frame@17cf0000 { frame-number = <4>; interrupts = ; - reg = <0 0x17cf0000 0 0x1000>; + reg = <0x17cf0000 0x1000>; status = "disabled"; }; frame@17d00000 { frame-number = <5>; interrupts = ; - reg = <0 0x17d00000 0 0x1000>; + reg = <0x17d00000 0x1000>; status = "disabled"; }; frame@17d10000 { frame-number = <6>; interrupts = ; - reg = <0 0x17d10000 0 0x1000>; + reg = <0x17d10000 0x1000>; status = "disabled"; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts @@ -487,8 +487,10 @@ }; &qup_i2c12_default { - drive-strength = <2>; - bias-disable; + pinmux { + drive-strength = <2>; + bias-disable; + }; }; &qup_uart6_default { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sdm850-samsung-w737.dts @@ -415,8 +415,10 @@ }; &qup_i2c12_default { - drive-strength = <2>; - bias-disable; + pinmux { + drive-strength = <2>; + bias-disable; + }; }; &qup_uart6_default { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sm6125-sony-xperia-seine-pdx201.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sm6125-sony-xperia-seine-pdx201.dts @@ -88,11 +88,19 @@ status = "okay"; }; -&sdc2_state_off { +&sdc2_off_state { sd-cd { pins = "gpio98"; + drive-strength = <2>; bias-disable; + }; +}; + +&sdc2_on_state { + sd-cd { + pins = "gpio98"; drive-strength = <2>; + bias-pull-up; }; }; @@ -102,32 +110,6 @@ &tlmm { gpio-reserved-ranges = <22 2>, <28 6>; - - sdc2_state_on: sdc2-on { - clk { - pins = "sdc2_clk"; - bias-disable; - drive-strength = <16>; - }; - - cmd { - pins = "sdc2_cmd"; - bias-pull-up; - drive-strength = <10>; - }; - - data { - pins = "sdc2_data"; - bias-pull-up; - drive-strength = <10>; - }; - - sd-cd { - pins = "gpio98"; - bias-pull-up; - drive-strength = <2>; - }; - }; }; &usb3 { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sm6125.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sm6125.dtsi @@ -386,23 +386,43 @@ interrupt-controller; #interrupt-cells = <2>; - sdc2_state_off: sdc2-off { + sdc2_off_state: sdc2-off-state { clk { pins = "sdc2_clk"; - bias-disable; drive-strength = <2>; + bias-disable; }; cmd { pins = "sdc2_cmd"; + drive-strength = <2>; bias-pull-up; + }; + + data { + pins = "sdc2_data"; drive-strength = <2>; + bias-pull-up; + }; + }; + + sdc2_on_state: sdc2-on-state { + clk { + pins = "sdc2_clk"; + drive-strength = <16>; + bias-disable; + }; + + cmd { + pins = "sdc2_cmd"; + drive-strength = <10>; + bias-pull-up; }; data { pins = "sdc2_data"; + drive-strength = <10>; bias-pull-up; - drive-strength = <2>; }; }; }; @@ -422,9 +442,9 @@ reg = <0x01613000 0x180>; #phy-cells = <0>; - clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>, - <&gcc GCC_AHB2PHY_USB_CLK>; - clock-names = "ref", "cfg_ahb"; + clocks = <&gcc GCC_AHB2PHY_USB_CLK>, + <&rpmcc RPM_SMD_XO_CLK_SRC>; + clock-names = "cfg_ahb", "ref"; resets = <&gcc GCC_QUSB2PHY_PRIM_BCR>; status = "disabled"; @@ -438,7 +458,7 @@ sdhc_1: sdhci@4744000 { compatible = "qcom,sm6125-sdhci", "qcom,sdhci-msm-v5"; reg = <0x04744000 0x1000>, <0x04745000 0x1000>; - reg-names = "hc", "core"; + reg-names = "hc", "cqhci"; interrupts = , ; @@ -470,8 +490,8 @@ <&xo_board>; clock-names = "iface", "core", "xo"; - pinctrl-0 = <&sdc2_state_on>; - pinctrl-1 = <&sdc2_state_off>; + pinctrl-0 = <&sdc2_on_state>; + pinctrl-1 = <&sdc2_off_state>; pinctrl-names = "default", "sleep"; power-domains = <&rpmpd SM6125_VDDCX>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sm6350.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sm6350.dtsi @@ -339,13 +339,12 @@ }; ramoops: ramoops@ffc00000 { - compatible = "removed-dma-pool", "ramoops"; - reg = <0 0xffc00000 0 0x00100000>; + compatible = "ramoops"; + reg = <0 0xffc00000 0 0x100000>; record-size = <0x1000>; console-size = <0x40000>; - ftrace-size = <0x0>; msg-size = <0x20000 0x20000>; - cc-size = <0x0>; + ecc-size = <16>; no-map; }; @@ -1005,15 +1004,11 @@ dp_phy: dp-phy@88ea200 { reg = <0 0x088ea200 0 0x200>, <0 0x088ea400 0 0x200>, - <0 0x088eac00 0 0x400>, + <0 0x088eaa00 0 0x200>, <0 0x088ea600 0 0x200>, - <0 0x088ea800 0 0x200>, - <0 0x088eaa00 0 0x100>; + <0 0x088ea800 0 0x200>; #phy-cells = <0>; #clock-cells = <1>; - clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>; - clock-names = "pipe0"; - clock-output-names = "usb3_phy_pipe_clk_src"; }; }; @@ -1304,57 +1299,57 @@ compatible = "arm,armv7-timer-mem"; reg = <0x0 0x17c20000 0x0 0x1000>; clock-frequency = <19200000>; - #address-cells = <2>; - #size-cells = <2>; - ranges; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0 0 0x20000000>; frame@17c21000 { frame-number = <0>; interrupts = , ; - reg = <0x0 0x17c21000 0x0 0x1000>, - <0x0 0x17c22000 0x0 0x1000>; + reg = <0x17c21000 0x1000>, + <0x17c22000 0x1000>; }; frame@17c23000 { frame-number = <1>; interrupts = ; - reg = <0x0 0x17c23000 0x0 0x1000>; + reg = <0x17c23000 0x1000>; status = "disabled"; }; frame@17c25000 { frame-number = <2>; interrupts = ; - reg = <0x0 0x17c25000 0x0 0x1000>; + reg = <0x17c25000 0x1000>; status = "disabled"; }; frame@17c27000 { frame-number = <3>; interrupts = ; - reg = <0x0 0x17c27000 0x0 0x1000>; + reg = <0x17c27000 0x1000>; status = "disabled"; }; frame@17c29000 { frame-number = <4>; interrupts = ; - reg = <0x0 0x17c29000 0x0 0x1000>; + reg = <0x17c29000 0x1000>; status = "disabled"; }; frame@17c2b000 { frame-number = <5>; interrupts = ; - reg = <0x0 0x17c2b000 0x0 0x1000>; + reg = <0x17c2b000 0x1000>; status = "disabled"; }; frame@17c2d000 { frame-number = <6>; interrupts = ; - reg = <0x0 0x17c2d000 0x0 0x1000>; + reg = <0x17c2d000 0x1000>; status = "disabled"; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sm8150-sony-xperia-kumano.dtsi @@ -33,9 +33,10 @@ framebuffer: framebuffer@9c000000 { compatible = "simple-framebuffer"; reg = <0 0x9c000000 0 0x2300000>; - width = <1644>; - height = <3840>; - stride = <(1644 * 4)>; + /* Griffin BL initializes in 2.5k mode, not 4k */ + width = <1096>; + height = <2560>; + stride = <(1096 * 4)>; format = "a8r8g8b8"; /* * That's (going to be) a lot of clocks, but it's necessary due @@ -348,6 +349,9 @@ regulator-max-microvolt = <2960000>; regulator-initial-mode = ; regulator-allow-set-load; + regulator-allowed-modes = + ; }; vreg_l7c_3p0: ldo7 { @@ -367,6 +371,9 @@ regulator-max-microvolt = <2960000>; regulator-initial-mode = ; regulator-allow-set-load; + regulator-allowed-modes = + ; }; vreg_l10c_3p3: ldo10 { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sm8150.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sm8150.dtsi @@ -2038,11 +2038,11 @@ status = "disabled"; ufs_mem_phy_lanes: phy@1d87400 { - reg = <0 0x01d87400 0 0x108>, - <0 0x01d87600 0 0x1e0>, - <0 0x01d87c00 0 0x1dc>, - <0 0x01d87800 0 0x108>, - <0 0x01d87a00 0 0x1e0>; + reg = <0 0x01d87400 0 0x16c>, + <0 0x01d87600 0 0x200>, + <0 0x01d87c00 0 0x200>, + <0 0x01d87800 0 0x16c>, + <0 0x01d87a00 0 0x200>; #phy-cells = <0>; }; }; @@ -3718,7 +3718,7 @@ }; aoss_qmp: power-controller@c300000 { - compatible = "qcom,sm8150-aoss-qmp"; + compatible = "qcom,sm8150-aoss-qmp", "qcom,aoss-qmp"; reg = <0x0 0x0c300000 0x0 0x400>; interrupts = ; mboxes = <&apss_shared 0>; @@ -3944,9 +3944,9 @@ }; timer@17c20000 { - #address-cells = <2>; - #size-cells = <2>; - ranges; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0 0 0x20000000>; compatible = "arm,armv7-timer-mem"; reg = <0x0 0x17c20000 0x0 0x1000>; clock-frequency = <19200000>; @@ -3955,49 +3955,49 @@ frame-number = <0>; interrupts = , ; - reg = <0x0 0x17c21000 0x0 0x1000>, - <0x0 0x17c22000 0x0 0x1000>; + reg = <0x17c21000 0x1000>, + <0x17c22000 0x1000>; }; frame@17c23000 { frame-number = <1>; interrupts = ; - reg = <0x0 0x17c23000 0x0 0x1000>; + reg = <0x17c23000 0x1000>; status = "disabled"; }; frame@17c25000 { frame-number = <2>; interrupts = ; - reg = <0x0 0x17c25000 0x0 0x1000>; + reg = <0x17c25000 0x1000>; status = "disabled"; }; frame@17c27000 { frame-number = <3>; interrupts = ; - reg = <0x0 0x17c26000 0x0 0x1000>; + reg = <0x17c26000 0x1000>; status = "disabled"; }; frame@17c29000 { frame-number = <4>; interrupts = ; - reg = <0x0 0x17c29000 0x0 0x1000>; + reg = <0x17c29000 0x1000>; status = "disabled"; }; frame@17c2b000 { frame-number = <5>; interrupts = ; - reg = <0x0 0x17c2b000 0x0 0x1000>; + reg = <0x17c2b000 0x1000>; status = "disabled"; }; frame@17c2d000 { frame-number = <6>; interrupts = ; - reg = <0x0 0x17c2d000 0x0 0x1000>; + reg = <0x17c2d000 0x1000>; status = "disabled"; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sm8250-sony-xperia-edo.dtsi @@ -317,6 +317,9 @@ regulator-max-microvolt = <2960000>; regulator-initial-mode = ; regulator-allow-set-load; + regulator-allowed-modes = + ; }; vreg_l7c_2p85: ldo7 { @@ -339,6 +342,9 @@ regulator-max-microvolt = <2960000>; regulator-initial-mode = ; regulator-allow-set-load; + regulator-allowed-modes = + ; }; vreg_l10c_3p3: ldo10 { @@ -613,7 +619,7 @@ pins = "gpio39"; function = "gpio"; drive-strength = <2>; - bias-disabled; + bias-disable; input-enable; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sm8250.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sm8250.dtsi @@ -332,6 +332,7 @@ exit-latency-us = <6562>; min-residency-us = <9987>; local-timer-stop; + status = "disabled"; }; }; }; @@ -1884,6 +1885,8 @@ clock-names = "pipe0"; #phy-cells = <0>; + + #clock-cells = <0>; clock-output-names = "pcie_0_pipe_clk"; }; }; @@ -1990,6 +1993,8 @@ clock-names = "pipe0"; #phy-cells = <0>; + + #clock-cells = <0>; clock-output-names = "pcie_1_pipe_clk"; }; }; @@ -2096,6 +2101,8 @@ clock-names = "pipe0"; #phy-cells = <0>; + + #clock-cells = <0>; clock-output-names = "pcie_2_pipe_clk"; }; }; @@ -2163,11 +2170,11 @@ status = "disabled"; ufs_mem_phy_lanes: phy@1d87400 { - reg = <0 0x01d87400 0 0x108>, - <0 0x01d87600 0 0x1e0>, - <0 0x01d87c00 0 0x1dc>, - <0 0x01d87800 0 0x108>, - <0 0x01d87a00 0 0x1e0>; + reg = <0 0x01d87400 0 0x16c>, + <0 0x01d87600 0 0x200>, + <0 0x01d87c00 0 0x200>, + <0 0x01d87800 0 0x16c>, + <0 0x01d87a00 0 0x200>; #phy-cells = <0>; }; }; @@ -2438,7 +2445,7 @@ pins = "gpio7"; function = "dmic1_data"; drive-strength = <2>; - pull-down; + bias-pull-down; input-enable; }; }; @@ -2875,15 +2882,11 @@ dp_phy: dp-phy@88ea200 { reg = <0 0x088ea200 0 0x200>, <0 0x088ea400 0 0x200>, - <0 0x088eac00 0 0x400>, + <0 0x088eaa00 0 0x200>, <0 0x088ea600 0 0x200>, - <0 0x088ea800 0 0x200>, - <0 0x088eaa00 0 0x100>; + <0 0x088ea800 0 0x200>; #phy-cells = <0>; #clock-cells = <1>; - clocks = <&gcc GCC_USB3_PRIM_PHY_PIPE_CLK>; - clock-names = "pipe0"; - clock-output-names = "usb3_phy_pipe_clk_src"; }; }; @@ -3734,7 +3737,7 @@ }; aoss_qmp: power-controller@c300000 { - compatible = "qcom,sm8250-aoss-qmp"; + compatible = "qcom,sm8250-aoss-qmp", "qcom,aoss-qmp"; reg = <0 0x0c300000 0 0x400>; interrupts-extended = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP @@ -4867,9 +4870,9 @@ }; timer@17c20000 { - #address-cells = <2>; - #size-cells = <2>; - ranges; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0 0 0x20000000>; compatible = "arm,armv7-timer-mem"; reg = <0x0 0x17c20000 0x0 0x1000>; clock-frequency = <19200000>; @@ -4878,49 +4881,49 @@ frame-number = <0>; interrupts = , ; - reg = <0x0 0x17c21000 0x0 0x1000>, - <0x0 0x17c22000 0x0 0x1000>; + reg = <0x17c21000 0x1000>, + <0x17c22000 0x1000>; }; frame@17c23000 { frame-number = <1>; interrupts = ; - reg = <0x0 0x17c23000 0x0 0x1000>; + reg = <0x17c23000 0x1000>; status = "disabled"; }; frame@17c25000 { frame-number = <2>; interrupts = ; - reg = <0x0 0x17c25000 0x0 0x1000>; + reg = <0x17c25000 0x1000>; status = "disabled"; }; frame@17c27000 { frame-number = <3>; interrupts = ; - reg = <0x0 0x17c27000 0x0 0x1000>; + reg = <0x17c27000 0x1000>; status = "disabled"; }; frame@17c29000 { frame-number = <4>; interrupts = ; - reg = <0x0 0x17c29000 0x0 0x1000>; + reg = <0x17c29000 0x1000>; status = "disabled"; }; frame@17c2b000 { frame-number = <5>; interrupts = ; - reg = <0x0 0x17c2b000 0x0 0x1000>; + reg = <0x17c2b000 0x1000>; status = "disabled"; }; frame@17c2d000 { frame-number = <6>; interrupts = ; - reg = <0x0 0x17c2d000 0x0 0x1000>; + reg = <0x17c2d000 0x1000>; status = "disabled"; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sm8350-hdk.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sm8350-hdk.dts @@ -107,6 +107,9 @@ regulator-max-microvolt = <888000>; regulator-initial-mode = ; regulator-allow-set-load; + regulator-allowed-modes = + ; }; vreg_l6b_1p2: ldo6 { @@ -115,6 +118,9 @@ regulator-max-microvolt = <1208000>; regulator-initial-mode = ; regulator-allow-set-load; + regulator-allowed-modes = + ; }; vreg_l7b_2p96: ldo7 { @@ -123,6 +129,9 @@ regulator-max-microvolt = <2504000>; regulator-initial-mode = ; regulator-allow-set-load; + regulator-allowed-modes = + ; }; vreg_l9b_1p2: ldo9 { @@ -131,6 +140,9 @@ regulator-max-microvolt = <1200000>; regulator-initial-mode = ; regulator-allow-set-load; + regulator-allowed-modes = + ; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sm8350-sony-xperia-sagami.dtsi @@ -223,7 +223,7 @@ gpio-reserved-ranges = <44 4>; ts_int_default: ts-int-default { - pin = "gpio23"; + pins = "gpio23"; function = "gpio"; drive-strength = <2>; bias-disable; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sm8350.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sm8350.dtsi @@ -1042,8 +1042,6 @@ interrupts = ; power-domains = <&rpmhpd SM8350_CX>; operating-points-v2 = <&qup_opp_table_100mhz>; - #address-cells = <1>; - #size-cells = <0>; status = "disabled"; }; @@ -1718,7 +1716,7 @@ }; aoss_qmp: power-controller@c300000 { - compatible = "qcom,sm8350-aoss-qmp"; + compatible = "qcom,sm8350-aoss-qmp", "qcom,aoss-qmp"; reg = <0 0x0c300000 0 0x400>; interrupts-extended = <&ipcc IPCC_CLIENT_AOP IPCC_MPROC_SIGNAL_GLINK_QMP IRQ_TYPE_EDGE_RISING>; @@ -1933,9 +1931,9 @@ timer@17c20000 { compatible = "arm,armv7-timer-mem"; - #address-cells = <2>; - #size-cells = <2>; - ranges; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0 0 0x20000000>; reg = <0x0 0x17c20000 0x0 0x1000>; clock-frequency = <19200000>; @@ -1943,49 +1941,49 @@ frame-number = <0>; interrupts = , ; - reg = <0x0 0x17c21000 0x0 0x1000>, - <0x0 0x17c22000 0x0 0x1000>; + reg = <0x17c21000 0x1000>, + <0x17c22000 0x1000>; }; frame@17c23000 { frame-number = <1>; interrupts = ; - reg = <0x0 0x17c23000 0x0 0x1000>; + reg = <0x17c23000 0x1000>; status = "disabled"; }; frame@17c25000 { frame-number = <2>; interrupts = ; - reg = <0x0 0x17c25000 0x0 0x1000>; + reg = <0x17c25000 0x1000>; status = "disabled"; }; frame@17c27000 { frame-number = <3>; interrupts = ; - reg = <0x0 0x17c27000 0x0 0x1000>; + reg = <0x17c27000 0x1000>; status = "disabled"; }; frame@17c29000 { frame-number = <4>; interrupts = ; - reg = <0x0 0x17c29000 0x0 0x1000>; + reg = <0x17c29000 0x1000>; status = "disabled"; }; frame@17c2b000 { frame-number = <5>; interrupts = ; - reg = <0x0 0x17c2b000 0x0 0x1000>; + reg = <0x17c2b000 0x1000>; status = "disabled"; }; frame@17c2d000 { frame-number = <6>; interrupts = ; - reg = <0x0 0x17c2d000 0x0 0x1000>; + reg = <0x17c2d000 0x1000>; status = "disabled"; }; }; @@ -2128,7 +2126,7 @@ ufs_mem_phy: phy@1d87000 { compatible = "qcom,sm8350-qmp-ufs-phy"; - reg = <0 0x01d87000 0 0xe10>; + reg = <0 0x01d87000 0 0x1c4>; #address-cells = <2>; #size-cells = <2>; ranges; @@ -2142,11 +2140,11 @@ status = "disabled"; ufs_mem_phy_lanes: phy@1d87400 { - reg = <0 0x01d87400 0 0x108>, - <0 0x01d87600 0 0x1e0>, - <0 0x01d87c00 0 0x1dc>, - <0 0x01d87800 0 0x108>, - <0 0x01d87a00 0 0x1e0>; + reg = <0 0x01d87400 0 0x188>, + <0 0x01d87600 0 0x200>, + <0 0x01d87c00 0 0x200>, + <0 0x01d87800 0 0x188>, + <0 0x01d87a00 0 0x200>; #phy-cells = <0>; #clock-cells = <0>; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/qcom/sm8450.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/qcom/sm8450.dtsi @@ -2867,9 +2867,9 @@ timer@17420000 { compatible = "arm,armv7-timer-mem"; - #address-cells = <2>; - #size-cells = <2>; - ranges; + #address-cells = <1>; + #size-cells = <1>; + ranges = <0 0 0 0x20000000>; reg = <0x0 0x17420000 0x0 0x1000>; clock-frequency = <19200000>; @@ -2877,49 +2877,49 @@ frame-number = <0>; interrupts = , ; - reg = <0x0 0x17421000 0x0 0x1000>, - <0x0 0x17422000 0x0 0x1000>; + reg = <0x17421000 0x1000>, + <0x17422000 0x1000>; }; frame@17423000 { frame-number = <1>; interrupts = ; - reg = <0x0 0x17423000 0x0 0x1000>; + reg = <0x17423000 0x1000>; status = "disabled"; }; frame@17425000 { frame-number = <2>; interrupts = ; - reg = <0x0 0x17425000 0x0 0x1000>; + reg = <0x17425000 0x1000>; status = "disabled"; }; frame@17427000 { frame-number = <3>; interrupts = ; - reg = <0x0 0x17427000 0x0 0x1000>; + reg = <0x17427000 0x1000>; status = "disabled"; }; frame@17429000 { frame-number = <4>; interrupts = ; - reg = <0x0 0x17429000 0x0 0x1000>; + reg = <0x17429000 0x1000>; status = "disabled"; }; frame@1742b000 { frame-number = <5>; interrupts = ; - reg = <0x0 0x1742b000 0x0 0x1000>; + reg = <0x1742b000 0x1000>; status = "disabled"; }; frame@1742d000 { frame-number = <6>; interrupts = ; - reg = <0x0 0x1742d000 0x0 0x1000>; + reg = <0x1742d000 0x1000>; status = "disabled"; }; }; @@ -3082,7 +3082,7 @@ ufs_mem_phy: phy@1d87000 { compatible = "qcom,sm8450-qmp-ufs-phy"; - reg = <0 0x01d87000 0 0xe10>; + reg = <0 0x01d87000 0 0x1c4>; #address-cells = <2>; #size-cells = <2>; ranges; @@ -3096,11 +3096,11 @@ status = "disabled"; ufs_mem_phy_lanes: phy@1d87400 { - reg = <0 0x01d87400 0 0x108>, - <0 0x01d87600 0 0x1e0>, - <0 0x01d87c00 0 0x1dc>, - <0 0x01d87800 0 0x108>, - <0 0x01d87a00 0 0x1e0>; + reg = <0 0x01d87400 0 0x188>, + <0 0x01d87600 0 0x200>, + <0 0x01d87c00 0 0x200>, + <0 0x01d87800 0 0x188>, + <0 0x01d87a00 0 0x200>; #phy-cells = <0>; #clock-cells = <0>; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/renesas/beacon-renesom-baseboard.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/renesas/beacon-renesom-baseboard.dtsi @@ -146,7 +146,7 @@ }; }; - reg_audio: regulator_audio { + reg_audio: regulator-audio { compatible = "regulator-fixed"; regulator-name = "audio-1.8V"; regulator-min-microvolt = <1800000>; @@ -174,7 +174,7 @@ vin-supply = <®_lcd>; }; - reg_cam0: regulator_camera { + reg_cam0: regulator-cam0 { compatible = "regulator-fixed"; regulator-name = "reg_cam0"; regulator-min-microvolt = <1800000>; @@ -183,7 +183,7 @@ enable-active-high; }; - reg_cam1: regulator_camera { + reg_cam1: regulator-cam1 { compatible = "regulator-fixed"; regulator-name = "reg_cam1"; regulator-min-microvolt = <1800000>; @@ -437,20 +437,6 @@ }; }; - /* 0 - lcd_reset */ - /* 1 - lcd_pwr */ - /* 2 - lcd_select */ - /* 3 - backlight-enable */ - /* 4 - Touch_shdwn */ - /* 5 - LCD_H_pol */ - /* 6 - lcd_V_pol */ - gpio_exp1: gpio@20 { - compatible = "onnn,pca9654"; - reg = <0x20>; - gpio-controller; - #gpio-cells = <2>; - }; - touchscreen@26 { compatible = "ilitek,ili2117"; reg = <0x26>; @@ -482,6 +468,16 @@ }; }; }; + + gpio_exp1: gpio@70 { + compatible = "nxp,pca9538"; + reg = <0x70>; + gpio-controller; + #gpio-cells = <2>; + gpio-line-names = "lcd_reset", "lcd_pwr", "lcd_select", + "backlight-enable", "Touch_shdwn", + "LCD_H_pol", "lcd_V_pol"; + }; }; &lvds0 { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/renesas/r8a774c0.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/renesas/r8a774c0.dtsi @@ -1952,7 +1952,7 @@ cpu-thermal { polling-delay-passive = <250>; polling-delay = <0>; - thermal-sensors = <&thermal 0>; + thermal-sensors = <&thermal>; sustainable-power = <717>; cooling-maps { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/renesas/r8a77990.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/renesas/r8a77990.dtsi @@ -2129,7 +2129,7 @@ cpu-thermal { polling-delay-passive = <250>; polling-delay = <0>; - thermal-sensors = <&thermal 0>; + thermal-sensors = <&thermal>; sustainable-power = <717>; cooling-maps { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/renesas/r8a779g0.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/renesas/r8a779g0.dtsi @@ -85,9 +85,9 @@ "renesas,rcar-gen4-hscif", "renesas,hscif"; reg = <0 0xe6540000 0 96>; - interrupts = ; + interrupts = ; clocks = <&cpg CPG_MOD 514>, - <&cpg CPG_CORE R8A779G0_CLK_S0D3_PER>, + <&cpg CPG_CORE R8A779G0_CLK_SASYNCPERD1>, <&scif_clk>; clock-names = "fck", "brg_int", "scif_clk"; power-domains = <&sysc R8A779G0_PD_ALWAYS_ON>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/renesas/r8a779m8.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/renesas/r8a779m8.dtsi @@ -10,3 +10,8 @@ / { compatible = "renesas,r8a779m8", "renesas,r8a7795"; }; + +&cluster0_opp { + /delete-node/ opp-1600000000; + /delete-node/ opp-1700000000; +}; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/renesas/r9a07g043.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/renesas/r9a07g043.dtsi @@ -334,8 +334,8 @@ compatible = "renesas,r9a07g043-sci", "renesas,sci"; reg = <0 0x1004d000 0 0x400>; interrupts = , - , - , + , + , ; interrupt-names = "eri", "rxi", "txi", "tei"; clocks = <&cpg CPG_MOD R9A07G043_SCI0_CLKP>; @@ -349,8 +349,8 @@ compatible = "renesas,r9a07g043-sci", "renesas,sci"; reg = <0 0x1004d400 0 0x400>; interrupts = , - , - , + , + , ; interrupt-names = "eri", "rxi", "txi", "tei"; clocks = <&cpg CPG_MOD R9A07G043_SCI1_CLKP>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/renesas/r9a07g044.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/renesas/r9a07g044.dtsi @@ -394,8 +394,8 @@ compatible = "renesas,r9a07g044-sci", "renesas,sci"; reg = <0 0x1004d000 0 0x400>; interrupts = , - , - , + , + , ; interrupt-names = "eri", "rxi", "txi", "tei"; clocks = <&cpg CPG_MOD R9A07G044_SCI0_CLKP>; @@ -409,8 +409,8 @@ compatible = "renesas,r9a07g044-sci", "renesas,sci"; reg = <0 0x1004d400 0 0x400>; interrupts = , - , - , + , + , ; interrupt-names = "eri", "rxi", "txi", "tei"; clocks = <&cpg CPG_MOD R9A07G044_SCI1_CLKP>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/renesas/r9a07g054.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/renesas/r9a07g054.dtsi @@ -399,8 +399,8 @@ compatible = "renesas,r9a07g054-sci", "renesas,sci"; reg = <0 0x1004d000 0 0x400>; interrupts = , - , - , + , + , ; interrupt-names = "eri", "rxi", "txi", "tei"; clocks = <&cpg CPG_MOD R9A07G054_SCI0_CLKP>; @@ -414,8 +414,8 @@ compatible = "renesas,r9a07g054-sci", "renesas,sci"; reg = <0 0x1004d400 0 0x400>; interrupts = , - , - , + , + , ; interrupt-names = "eri", "rxi", "txi", "tei"; clocks = <&cpg CPG_MOD R9A07G054_SCI1_CLKP>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/renesas/r9a07g054l2-smarc.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/renesas/r9a07g054l2-smarc.dts @@ -1,6 +1,6 @@ // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) /* - * Device Tree Source for the RZ/G2L SMARC EVK board + * Device Tree Source for the RZ/V2L SMARC EVK board * * Copyright (C) 2021 Renesas Electronics Corp. */ --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/renesas/r9a09g011.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/renesas/r9a09g011.dtsi @@ -48,7 +48,7 @@ #size-cells = <2>; ranges; - gic: interrupt-controller@82000000 { + gic: interrupt-controller@82010000 { compatible = "arm,gic-400"; #interrupt-cells = <3>; #address-cells = <0>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/px30-engicam-px30-core.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/px30-engicam-px30-core.dtsi @@ -2,8 +2,8 @@ /* * Copyright (c) 2020 Fuzhou Rockchip Electronics Co., Ltd * Copyright (c) 2020 Engicam srl - * Copyright (c) 2020 Amarula Solutons - * Copyright (c) 2020 Amarula Solutons(India) + * Copyright (c) 2020 Amarula Solutions + * Copyright (c) 2020 Amarula Solutions(India) */ #include --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/px30-evb.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/px30-evb.dts @@ -30,31 +30,31 @@ keyup-threshold-microvolt = <1800000>; poll-interval = <100>; - esc-key { + button-esc { label = "esc"; linux,code = ; press-threshold-microvolt = <1310000>; }; - home-key { + button-home { label = "home"; linux,code = ; press-threshold-microvolt = <624000>; }; - menu-key { + button-menu { label = "menu"; linux,code = ; press-threshold-microvolt = <987000>; }; - vol-down-key { + button-down { label = "volume down"; linux,code = ; press-threshold-microvolt = <300000>; }; - vol-up-key { + button-up { label = "volume up"; linux,code = ; press-threshold-microvolt = <17000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3308-evb.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3308-evb.dts @@ -23,7 +23,7 @@ poll-interval = <100>; keyup-threshold-microvolt = <1800000>; - func-key { + button-func { linux,code = ; label = "function"; press-threshold-microvolt = <18000>; @@ -37,31 +37,31 @@ poll-interval = <100>; keyup-threshold-microvolt = <1800000>; - esc-key { + button-esc { linux,code = ; label = "micmute"; press-threshold-microvolt = <1130000>; }; - home-key { + button-home { linux,code = ; label = "mode"; press-threshold-microvolt = <901000>; }; - menu-key { + button-menu { linux,code = ; label = "play"; press-threshold-microvolt = <624000>; }; - vol-down-key { + button-down { linux,code = ; label = "volume down"; press-threshold-microvolt = <300000>; }; - vol-up-key { + button-up { linux,code = ; label = "volume up"; press-threshold-microvolt = <18000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3308-roc-cc.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3308-roc-cc.dts @@ -19,7 +19,7 @@ stdout-path = "serial2:1500000n8"; }; - ir_rx { + ir-receiver { compatible = "gpio-ir-receiver"; gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3318-a95x-z2.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3318-a95x-z2.dts @@ -25,7 +25,7 @@ keyup-threshold-microvolt = <1800000>; poll-interval = <100>; - recovery { + button-recovery { label = "recovery"; linux,code = ; press-threshold-microvolt = <17000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3328-roc-cc.dts @@ -96,7 +96,6 @@ linux,default-trigger = "heartbeat"; gpios = <&rk805 1 GPIO_ACTIVE_LOW>; default-state = "on"; - mode = <0x23>; }; user_led: led-1 { @@ -104,7 +103,6 @@ linux,default-trigger = "mmc1"; gpios = <&rk805 0 GPIO_ACTIVE_LOW>; default-state = "off"; - mode = <0x05>; }; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3368-orion-r68-meta.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3368-orion-r68-meta.dts @@ -208,7 +208,7 @@ vin-supply = <&vcc_sys>; }; - hym8563: hym8563@51 { + hym8563: rtc@51 { compatible = "haoyu,hym8563"; reg = <0x51>; #clock-cells = <0>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3368-r88.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3368-r88.dts @@ -192,7 +192,7 @@ vin-supply = <&vcc_sys>; }; - hym8563: hym8563@51 { + hym8563: rtc@51 { compatible = "haoyu,hym8563"; reg = <0x51>; #clock-cells = <0>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3399-gru-bob.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3399-gru-bob.dts @@ -88,3 +88,8 @@ }; }; }; + +&wlan_host_wake_l { + /* Kevin has an external pull up, but Bob does not. */ + rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>; +}; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi @@ -244,6 +244,14 @@ &edp { status = "okay"; + /* + * eDP PHY/clk don't sync reliably at anything other than 24 MHz. Only + * set this here, because rk3399-gru.dtsi ensures we can generate this + * off GPLL=600MHz, whereas some other RK3399 boards may not. + */ + assigned-clocks = <&cru PCLK_EDP>; + assigned-clock-rates = <24000000>; + ports { edp_out: port@1 { reg = <1>; @@ -578,6 +586,7 @@ }; wlan_host_wake_l: wlan-host-wake-l { + /* Kevin has an external pull up, but Bob does not */ rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3399-khadas-edge.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3399-khadas-edge.dtsi @@ -123,7 +123,7 @@ keyup-threshold-microvolt = <1800000>; poll-interval = <100>; - recovery { + button-recovery { label = "Recovery"; linux,code = ; press-threshold-microvolt = <18000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts @@ -39,7 +39,7 @@ keyup-threshold-microvolt = <1800000>; poll-interval = <100>; - recovery { + button-recovery { label = "Recovery"; linux,code = ; press-threshold-microvolt = <18000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3399-nanopi-m4b.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3399-nanopi-m4b.dts @@ -19,7 +19,7 @@ keyup-threshold-microvolt = <1500000>; poll-interval = <100>; - recovery { + button-recovery { label = "Recovery"; linux,code = ; press-threshold-microvolt = <18000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3399-orangepi.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3399-orangepi.dts @@ -52,13 +52,13 @@ press-threshold-microvolt = <300000>; }; - back { + button-back { label = "Back"; linux,code = ; press-threshold-microvolt = <985000>; }; - menu { + button-menu { label = "Menu"; linux,code = ; press-threshold-microvolt = <1314000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3399-puma-haikou.dts @@ -207,7 +207,7 @@ cap-sd-highspeed; cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; disable-wp; - max-frequency = <150000000>; + max-frequency = <40000000>; pinctrl-names = "default"; pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>; vmmc-supply = <&vcc3v3_baseboard>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi @@ -62,7 +62,6 @@ vcc5v0_host: vcc5v0-host-regulator { compatible = "regulator-fixed"; gpio = <&gpio4 RK_PA3 GPIO_ACTIVE_LOW>; - enable-active-low; pinctrl-names = "default"; pinctrl-0 = <&vcc5v0_host_en>; regulator-name = "vcc5v0_host"; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3399-roc-pc-plus.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3399-roc-pc-plus.dts @@ -98,7 +98,7 @@ }; &i2c0 { - hym8563: hym8563@51 { + hym8563: rtc@51 { compatible = "haoyu,hym8563"; reg = <0x51>; interrupt-parent = <&gpio0>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3399-roc-pc.dtsi @@ -41,7 +41,7 @@ keyup-threshold-microvolt = <1500000>; poll-interval = <100>; - recovery { + button-recovery { label = "Recovery"; linux,code = ; press-threshold-microvolt = <18000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3399-rock-pi-4.dtsi @@ -491,7 +491,6 @@ &i2s1 { rockchip,playback-channels = <2>; rockchip,capture-channels = <2>; - status = "okay"; }; &i2s2 { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3399-sapphire-excavator.dts @@ -33,13 +33,13 @@ press-threshold-microvolt = <300000>; }; - back { + button-back { label = "Back"; linux,code = ; press-threshold-microvolt = <985000>; }; - menu { + button-menu { label = "Menu"; linux,code = ; press-threshold-microvolt = <1314000>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3399.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3399.dtsi @@ -2220,13 +2220,11 @@ pcfg_input_pull_up: pcfg-input-pull-up { input-enable; bias-pull-up; - drive-strength = <2>; }; pcfg_input_pull_down: pcfg-input-pull-down { input-enable; bias-pull-down; - drive-strength = <2>; }; clock { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3399pro-vmarc-som.dtsi @@ -297,7 +297,7 @@ clock-frequency = <400000>; status = "okay"; - hym8563: hym8563@51 { + hym8563: rtc@51 { compatible = "haoyu,hym8563"; reg = <0x51>; #clock-cells = <0>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3566-pinenote.dtsi @@ -23,7 +23,7 @@ io-channel-names = "buttons"; keyup-threshold-microvolt = <1750000>; - recovery { + button-recovery { label = "recovery"; linux,code = ; press-threshold-microvolt = <0>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts @@ -163,7 +163,6 @@ vcc3v3_sd: vcc3v3_sd { compatible = "regulator-fixed"; - enable-active-low; gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; pinctrl-names = "default"; pinctrl-0 = <&vcc_sd_h>; @@ -644,7 +643,7 @@ &uart1 { pinctrl-names = "default"; - pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn>; + pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>; status = "okay"; uart-has-rtscts; @@ -652,13 +651,14 @@ compatible = "brcm,bcm43438-bt"; clocks = <&rk817 1>; clock-names = "lpo"; - device-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>; - host-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>; + host-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>; + device-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>; shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>; vbat-supply = <&vcc_sys>; vddio-supply = <&vcca1v8_pmu>; + max-speed = <3000000>; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3566-quartz64-b.dts @@ -176,7 +176,7 @@ compatible = "rockchip,rk809"; reg = <0x20>; interrupt-parent = <&gpio0>; - interrupts = ; + interrupts = ; clock-output-names = "rk808-clkout1", "rk808-clkout2"; pinctrl-names = "default"; @@ -506,7 +506,7 @@ disable-wp; pinctrl-names = "default"; pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; - sd-uhs-sdr104; + sd-uhs-sdr50; vmmc-supply = <&vcc3v3_sd>; vqmmc-supply = <&vccio_sd>; status = "okay"; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3566-roc-pc.dts @@ -130,7 +130,7 @@ assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>; assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>; clock_in_out = "input"; - phy-mode = "rgmii-id"; + phy-mode = "rgmii"; phy-supply = <&vcc_3v3>; pinctrl-names = "default"; pinctrl-0 = <&gmac1m0_miim @@ -397,11 +397,7 @@ &i2c3 { pinctrl-names = "default"; - pinctrl-0 = <&i2c3m1_xfer>; - status = "okay"; -}; - -&i2c5 { + pinctrl-0 = <&i2c3m0_xfer>; status = "okay"; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3568-bpi-r2-pro.dts @@ -558,7 +558,7 @@ }; &usb_host0_xhci { - extcon = <&usb2phy0>; + dr_mode = "host"; status = "okay"; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3568-evb1-v10.dts @@ -618,7 +618,7 @@ }; &usb2phy0_otg { - vbus-supply = <&vcc5v0_usb_otg>; + phy-supply = <&vcc5v0_usb_otg>; status = "okay"; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/rockchip/rk3568-rock-3a.dts @@ -492,7 +492,7 @@ disable-wp; pinctrl-names = "default"; pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; - sd-uhs-sdr104; + sd-uhs-sdr50; vmmc-supply = <&vcc3v3_sd>; vqmmc-supply = <&vccio_sd>; status = "okay"; @@ -543,7 +543,7 @@ }; &usb2phy0_otg { - vbus-supply = <&vcc5v0_usb_otg>; + phy-supply = <&vcc5v0_usb_otg>; status = "okay"; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/socionext/uniphier-pxs3.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/socionext/uniphier-pxs3.dtsi @@ -599,8 +599,8 @@ compatible = "socionext,uniphier-dwc3", "snps,dwc3"; status = "disabled"; reg = <0x65a00000 0xcd00>; - interrupt-names = "host", "peripheral"; - interrupts = <0 134 4>, <0 135 4>; + interrupt-names = "dwc_usb3"; + interrupts = <0 134 4>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usb0>, <&pinctrl_usb2>; clock-names = "ref", "bus_early", "suspend"; @@ -701,8 +701,8 @@ compatible = "socionext,uniphier-dwc3", "snps,dwc3"; status = "disabled"; reg = <0x65c00000 0xcd00>; - interrupt-names = "host", "peripheral"; - interrupts = <0 137 4>, <0 138 4>; + interrupt-names = "dwc_usb3"; + interrupts = <0 137 4>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usb1>, <&pinctrl_usb3>; clock-names = "ref", "bus_early", "suspend"; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/ti/k3-am65-main.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/ti/k3-am65-main.dtsi @@ -120,7 +120,6 @@ dmas = <&main_udmap 0xc000>, <&main_udmap 0x4000>, <&main_udmap 0x4001>; dma-names = "tx", "rx1", "rx2"; - dma-coherent; rng: rng@4e10000 { compatible = "inside-secure,safexcel-eip76"; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts +++ linux-gcp-5.19.0/arch/arm64/boot/dts/ti/k3-j7200-common-proc-board.dts @@ -80,7 +80,7 @@ }; }; -&wkup_pmx0 { +&wkup_pmx2 { mcu_cpsw_pins_default: mcu-cpsw-pins-default { pinctrl-single,pins = < J721E_WKUP_IOPAD(0x0068, PIN_OUTPUT, 0) /* MCU_RGMII1_TX_CTL */ @@ -134,15 +134,17 @@ >; }; - main_usbss0_pins_default: main-usbss0-pins-default { + vdd_sd_dv_pins_default: vdd-sd-dv-pins-default { pinctrl-single,pins = < - J721E_IOPAD(0x120, PIN_OUTPUT, 0) /* (T4) USB0_DRVVBUS */ + J721E_IOPAD(0xd0, PIN_OUTPUT, 7) /* (T5) SPI0_D1.GPIO0_55 */ >; }; +}; - vdd_sd_dv_pins_default: vdd-sd-dv-pins-default { +&main_pmx1 { + main_usbss0_pins_default: main-usbss0-pins-default { pinctrl-single,pins = < - J721E_IOPAD(0xd0, PIN_OUTPUT, 7) /* (T5) SPI0_D1.GPIO0_55 */ + J721E_IOPAD(0x04, PIN_OUTPUT, 0) /* (T4) USB0_DRVVBUS */ >; }; }; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/ti/k3-j7200-main.dtsi @@ -295,7 +295,16 @@ main_pmx0: pinctrl@11c000 { compatible = "pinctrl-single"; /* Proxy 0 addressing */ - reg = <0x00 0x11c000 0x00 0x2b4>; + reg = <0x00 0x11c000 0x00 0x10c>; + #pinctrl-cells = <1>; + pinctrl-single,register-width = <32>; + pinctrl-single,function-mask = <0xffffffff>; + }; + + main_pmx1: pinctrl@11c11c { + compatible = "pinctrl-single"; + /* Proxy 0 addressing */ + reg = <0x00 0x11c11c 0x00 0xc>; #pinctrl-cells = <1>; pinctrl-single,register-width = <32>; pinctrl-single,function-mask = <0xffffffff>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/ti/k3-j7200-mcu-wakeup.dtsi @@ -56,7 +56,34 @@ wkup_pmx0: pinctrl@4301c000 { compatible = "pinctrl-single"; /* Proxy 0 addressing */ - reg = <0x00 0x4301c000 0x00 0x178>; + reg = <0x00 0x4301c000 0x00 0x34>; + #pinctrl-cells = <1>; + pinctrl-single,register-width = <32>; + pinctrl-single,function-mask = <0xffffffff>; + }; + + wkup_pmx1: pinctrl@0x4301c038 { + compatible = "pinctrl-single"; + /* Proxy 0 addressing */ + reg = <0x00 0x4301c038 0x00 0x8>; + #pinctrl-cells = <1>; + pinctrl-single,register-width = <32>; + pinctrl-single,function-mask = <0xffffffff>; + }; + + wkup_pmx2: pinctrl@0x4301c068 { + compatible = "pinctrl-single"; + /* Proxy 0 addressing */ + reg = <0x00 0x4301c068 0x00 0xec>; + #pinctrl-cells = <1>; + pinctrl-single,register-width = <32>; + pinctrl-single,function-mask = <0xffffffff>; + }; + + wkup_pmx3: pinctrl@0x4301c174 { + compatible = "pinctrl-single"; + /* Proxy 0 addressing */ + reg = <0x00 0x4301c174 0x00 0x20>; #pinctrl-cells = <1>; pinctrl-single,register-width = <32>; pinctrl-single,function-mask = <0xffffffff>; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/ti/k3-j721e-main.dtsi @@ -337,7 +337,6 @@ dmas = <&main_udmap 0xc000>, <&main_udmap 0x4000>, <&main_udmap 0x4001>; dma-names = "tx", "rx1", "rx2"; - dma-coherent; rng: rng@4e10000 { compatible = "inside-secure,safexcel-eip76"; --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi @@ -60,7 +60,7 @@ #interrupt-cells = <1>; ti,sci = <&sms>; ti,sci-dev-id = <148>; - ti,interrupt-ranges = <8 360 56>; + ti,interrupt-ranges = <8 392 56>; }; main_pmx0: pinctrl@11c000 { --- linux-gcp-5.19.0.orig/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi +++ linux-gcp-5.19.0/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi @@ -65,7 +65,7 @@ #interrupt-cells = <1>; ti,sci = <&sms>; ti,sci-dev-id = <125>; - ti,interrupt-ranges = <16 928 16>; + ti,interrupt-ranges = <16 960 16>; }; mcu_conf: syscon@40f00000 { --- linux-gcp-5.19.0.orig/arch/arm64/crypto/Kconfig +++ linux-gcp-5.19.0/arch/arm64/crypto/Kconfig @@ -71,6 +71,7 @@ select CRYPTO_HASH select CRYPTO_GF128MUL select CRYPTO_LIB_AES + select CRYPTO_AEAD config CRYPTO_CRCT10DIF_ARM64_CE tristate "CRCT10DIF digest algorithm using PMULL instructions" --- linux-gcp-5.19.0.orig/arch/arm64/crypto/poly1305-glue.c +++ linux-gcp-5.19.0/arch/arm64/crypto/poly1305-glue.c @@ -52,7 +52,7 @@ { if (unlikely(!dctx->sset)) { if (!dctx->rset) { - poly1305_init_arch(dctx, src); + poly1305_init_arm64(&dctx->h, src); src += POLY1305_BLOCK_SIZE; len -= POLY1305_BLOCK_SIZE; dctx->rset = 1; --- linux-gcp-5.19.0.orig/arch/arm64/include/asm/atomic_ll_sc.h +++ linux-gcp-5.19.0/arch/arm64/include/asm/atomic_ll_sc.h @@ -12,19 +12,6 @@ #include -#ifdef CONFIG_ARM64_LSE_ATOMICS -#define __LL_SC_FALLBACK(asm_ops) \ -" b 3f\n" \ -" .subsection 1\n" \ -"3:\n" \ -asm_ops "\n" \ -" b 4f\n" \ -" .previous\n" \ -"4:\n" -#else -#define __LL_SC_FALLBACK(asm_ops) asm_ops -#endif - #ifndef CONFIG_CC_HAS_K_CONSTRAINT #define K #endif @@ -43,12 +30,11 @@ int result; \ \ asm volatile("// atomic_" #op "\n" \ - __LL_SC_FALLBACK( \ " prfm pstl1strm, %2\n" \ "1: ldxr %w0, %2\n" \ " " #asm_op " %w0, %w0, %w3\n" \ " stxr %w1, %w0, %2\n" \ - " cbnz %w1, 1b\n") \ + " cbnz %w1, 1b\n" \ : "=&r" (result), "=&r" (tmp), "+Q" (v->counter) \ : __stringify(constraint) "r" (i)); \ } @@ -61,13 +47,12 @@ int result; \ \ asm volatile("// atomic_" #op "_return" #name "\n" \ - __LL_SC_FALLBACK( \ " prfm pstl1strm, %2\n" \ "1: ld" #acq "xr %w0, %2\n" \ " " #asm_op " %w0, %w0, %w3\n" \ " st" #rel "xr %w1, %w0, %2\n" \ " cbnz %w1, 1b\n" \ - " " #mb ) \ + " " #mb \ : "=&r" (result), "=&r" (tmp), "+Q" (v->counter) \ : __stringify(constraint) "r" (i) \ : cl); \ @@ -83,13 +68,12 @@ int val, result; \ \ asm volatile("// atomic_fetch_" #op #name "\n" \ - __LL_SC_FALLBACK( \ " prfm pstl1strm, %3\n" \ "1: ld" #acq "xr %w0, %3\n" \ " " #asm_op " %w1, %w0, %w4\n" \ " st" #rel "xr %w2, %w1, %3\n" \ " cbnz %w2, 1b\n" \ - " " #mb ) \ + " " #mb \ : "=&r" (result), "=&r" (val), "=&r" (tmp), "+Q" (v->counter) \ : __stringify(constraint) "r" (i) \ : cl); \ @@ -142,12 +126,11 @@ unsigned long tmp; \ \ asm volatile("// atomic64_" #op "\n" \ - __LL_SC_FALLBACK( \ " prfm pstl1strm, %2\n" \ "1: ldxr %0, %2\n" \ " " #asm_op " %0, %0, %3\n" \ " stxr %w1, %0, %2\n" \ - " cbnz %w1, 1b") \ + " cbnz %w1, 1b" \ : "=&r" (result), "=&r" (tmp), "+Q" (v->counter) \ : __stringify(constraint) "r" (i)); \ } @@ -160,13 +143,12 @@ unsigned long tmp; \ \ asm volatile("// atomic64_" #op "_return" #name "\n" \ - __LL_SC_FALLBACK( \ " prfm pstl1strm, %2\n" \ "1: ld" #acq "xr %0, %2\n" \ " " #asm_op " %0, %0, %3\n" \ " st" #rel "xr %w1, %0, %2\n" \ " cbnz %w1, 1b\n" \ - " " #mb ) \ + " " #mb \ : "=&r" (result), "=&r" (tmp), "+Q" (v->counter) \ : __stringify(constraint) "r" (i) \ : cl); \ @@ -182,13 +164,12 @@ unsigned long tmp; \ \ asm volatile("// atomic64_fetch_" #op #name "\n" \ - __LL_SC_FALLBACK( \ " prfm pstl1strm, %3\n" \ "1: ld" #acq "xr %0, %3\n" \ " " #asm_op " %1, %0, %4\n" \ " st" #rel "xr %w2, %1, %3\n" \ " cbnz %w2, 1b\n" \ - " " #mb ) \ + " " #mb \ : "=&r" (result), "=&r" (val), "=&r" (tmp), "+Q" (v->counter) \ : __stringify(constraint) "r" (i) \ : cl); \ @@ -240,7 +221,6 @@ unsigned long tmp; asm volatile("// atomic64_dec_if_positive\n" - __LL_SC_FALLBACK( " prfm pstl1strm, %2\n" "1: ldxr %0, %2\n" " subs %0, %0, #1\n" @@ -248,7 +228,7 @@ " stlxr %w1, %0, %2\n" " cbnz %w1, 1b\n" " dmb ish\n" - "2:") + "2:" : "=&r" (result), "=&r" (tmp), "+Q" (v->counter) : : "cc", "memory"); @@ -274,7 +254,6 @@ old = (u##sz)old; \ \ asm volatile( \ - __LL_SC_FALLBACK( \ " prfm pstl1strm, %[v]\n" \ "1: ld" #acq "xr" #sfx "\t%" #w "[oldval], %[v]\n" \ " eor %" #w "[tmp], %" #w "[oldval], %" #w "[old]\n" \ @@ -282,7 +261,7 @@ " st" #rel "xr" #sfx "\t%w[tmp], %" #w "[new], %[v]\n" \ " cbnz %w[tmp], 1b\n" \ " " #mb "\n" \ - "2:") \ + "2:" \ : [tmp] "=&r" (tmp), [oldval] "=&r" (oldval), \ [v] "+Q" (*(u##sz *)ptr) \ : [old] __stringify(constraint) "r" (old), [new] "r" (new) \ @@ -326,7 +305,6 @@ unsigned long tmp, ret; \ \ asm volatile("// __cmpxchg_double" #name "\n" \ - __LL_SC_FALLBACK( \ " prfm pstl1strm, %2\n" \ "1: ldxp %0, %1, %2\n" \ " eor %0, %0, %3\n" \ @@ -336,8 +314,8 @@ " st" #rel "xp %w0, %5, %6, %2\n" \ " cbnz %w0, 1b\n" \ " " #mb "\n" \ - "2:") \ - : "=&r" (tmp), "=&r" (ret), "+Q" (*(unsigned long *)ptr) \ + "2:" \ + : "=&r" (tmp), "=&r" (ret), "+Q" (*(__uint128_t *)ptr) \ : "r" (old1), "r" (old2), "r" (new1), "r" (new2) \ : cl); \ \ --- linux-gcp-5.19.0.orig/arch/arm64/include/asm/atomic_lse.h +++ linux-gcp-5.19.0/arch/arm64/include/asm/atomic_lse.h @@ -299,7 +299,7 @@ " eor %[old2], %[old2], %[oldval2]\n" \ " orr %[old1], %[old1], %[old2]" \ : [old1] "+&r" (x0), [old2] "+&r" (x1), \ - [v] "+Q" (*(unsigned long *)ptr) \ + [v] "+Q" (*(__uint128_t *)ptr) \ : [new1] "r" (x2), [new2] "r" (x3), [ptr] "r" (x4), \ [oldval1] "r" (oldval1), [oldval2] "r" (oldval2) \ : cl); \ --- linux-gcp-5.19.0.orig/arch/arm64/include/asm/cputype.h +++ linux-gcp-5.19.0/arch/arm64/include/asm/cputype.h @@ -41,7 +41,7 @@ (((midr) & MIDR_IMPLEMENTOR_MASK) >> MIDR_IMPLEMENTOR_SHIFT) #define MIDR_CPU_MODEL(imp, partnum) \ - (((imp) << MIDR_IMPLEMENTOR_SHIFT) | \ + ((_AT(u32, imp) << MIDR_IMPLEMENTOR_SHIFT) | \ (0xf << MIDR_ARCHITECTURE_SHIFT) | \ ((partnum) << MIDR_PARTNUM_SHIFT)) @@ -60,6 +60,7 @@ #define ARM_CPU_IMP_FUJITSU 0x46 #define ARM_CPU_IMP_HISI 0x48 #define ARM_CPU_IMP_APPLE 0x61 +#define ARM_CPU_IMP_AMPERE 0xC0 #define ARM_CPU_PART_AEM_V8 0xD0F #define ARM_CPU_PART_FOUNDATION 0xD00 @@ -123,6 +124,8 @@ #define APPLE_CPU_PART_M1_ICESTORM_MAX 0x028 #define APPLE_CPU_PART_M1_FIRESTORM_MAX 0x029 +#define AMPERE_CPU_PART_AMPERE1 0xAC3 + #define MIDR_CORTEX_A53 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A53) #define MIDR_CORTEX_A57 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A57) #define MIDR_CORTEX_A72 MIDR_CPU_MODEL(ARM_CPU_IMP_ARM, ARM_CPU_PART_CORTEX_A72) @@ -172,6 +175,7 @@ #define MIDR_APPLE_M1_FIRESTORM_PRO MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_FIRESTORM_PRO) #define MIDR_APPLE_M1_ICESTORM_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_ICESTORM_MAX) #define MIDR_APPLE_M1_FIRESTORM_MAX MIDR_CPU_MODEL(ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_FIRESTORM_MAX) +#define MIDR_AMPERE1 MIDR_CPU_MODEL(ARM_CPU_IMP_AMPERE, AMPERE_CPU_PART_AMPERE1) /* Fujitsu Erratum 010001 affects A64FX 1.0 and 1.1, (v0r0 and v1r0) */ #define MIDR_FUJITSU_ERRATUM_010001 MIDR_FUJITSU_A64FX --- linux-gcp-5.19.0.orig/arch/arm64/include/asm/efi.h +++ linux-gcp-5.19.0/arch/arm64/include/asm/efi.h @@ -25,6 +25,7 @@ ({ \ efi_virtmap_load(); \ __efi_fpsimd_begin(); \ + spin_lock(&efi_rt_lock); \ }) #define arch_efi_call_virt(p, f, args...) \ @@ -36,10 +37,12 @@ #define arch_efi_call_virt_teardown() \ ({ \ + spin_unlock(&efi_rt_lock); \ __efi_fpsimd_end(); \ efi_virtmap_unload(); \ }) +extern spinlock_t efi_rt_lock; efi_status_t __efi_rt_asm_wrapper(void *, const char *, ...); #define ARCH_EFI_IRQ_FLAGS_MASK (PSR_D_BIT | PSR_A_BIT | PSR_I_BIT | PSR_F_BIT) --- linux-gcp-5.19.0.orig/arch/arm64/include/asm/fpsimd.h +++ linux-gcp-5.19.0/arch/arm64/include/asm/fpsimd.h @@ -153,7 +153,7 @@ #ifdef CONFIG_ARM64_SVE -extern void sve_alloc(struct task_struct *task); +extern void sve_alloc(struct task_struct *task, bool flush); extern void fpsimd_release_task(struct task_struct *task); extern void fpsimd_sync_to_sve(struct task_struct *task); extern void fpsimd_force_sync_to_sve(struct task_struct *task); @@ -256,7 +256,7 @@ #else /* ! CONFIG_ARM64_SVE */ -static inline void sve_alloc(struct task_struct *task) { } +static inline void sve_alloc(struct task_struct *task, bool flush) { } static inline void fpsimd_release_task(struct task_struct *task) { } static inline void sve_sync_to_fpsimd(struct task_struct *task) { } static inline void sve_sync_from_fpsimd_zeropad(struct task_struct *task) { } --- linux-gcp-5.19.0.orig/arch/arm64/include/asm/kernel-pgtable.h +++ linux-gcp-5.19.0/arch/arm64/include/asm/kernel-pgtable.h @@ -103,8 +103,8 @@ /* * Initial memory map attributes. */ -#define SWAPPER_PTE_FLAGS (PTE_TYPE_PAGE | PTE_AF | PTE_SHARED) -#define SWAPPER_PMD_FLAGS (PMD_TYPE_SECT | PMD_SECT_AF | PMD_SECT_S) +#define SWAPPER_PTE_FLAGS (PTE_TYPE_PAGE | PTE_AF | PTE_SHARED | PTE_UXN) +#define SWAPPER_PMD_FLAGS (PMD_TYPE_SECT | PMD_SECT_AF | PMD_SECT_S | PMD_SECT_UXN) #if ARM64_KERNEL_USES_PMD_MAPS #define SWAPPER_MM_MMUFLAGS (PMD_ATTRINDX(MT_NORMAL) | SWAPPER_PMD_FLAGS) --- linux-gcp-5.19.0.orig/arch/arm64/include/asm/kexec.h +++ linux-gcp-5.19.0/arch/arm64/include/asm/kexec.h @@ -115,7 +115,9 @@ struct kimage; -extern int arch_kimage_file_post_load_cleanup(struct kimage *image); +int arch_kimage_file_post_load_cleanup(struct kimage *image); +#define arch_kimage_file_post_load_cleanup arch_kimage_file_post_load_cleanup + extern int load_other_segments(struct kimage *image, unsigned long kernel_load_addr, unsigned long kernel_size, char *initrd, unsigned long initrd_len, --- linux-gcp-5.19.0.orig/arch/arm64/include/asm/kvm_emulate.h +++ linux-gcp-5.19.0/arch/arm64/include/asm/kvm_emulate.h @@ -373,8 +373,26 @@ static inline bool kvm_is_write_fault(struct kvm_vcpu *vcpu) { - if (kvm_vcpu_abt_iss1tw(vcpu)) - return true; + if (kvm_vcpu_abt_iss1tw(vcpu)) { + /* + * Only a permission fault on a S1PTW should be + * considered as a write. Otherwise, page tables baked + * in a read-only memslot will result in an exception + * being delivered in the guest. + * + * The drawback is that we end-up faulting twice if the + * guest is using any of HW AF/DB: a translation fault + * to map the page containing the PT (read only at + * first), then a permission fault to allow the flags + * to be set. + */ + switch (kvm_vcpu_trap_get_fault_type(vcpu)) { + case ESR_ELx_FSC_PERM: + return true; + default: + return false; + } + } if (kvm_vcpu_trap_is_iabt(vcpu)) return false; --- linux-gcp-5.19.0.orig/arch/arm64/include/asm/kvm_host.h +++ linux-gcp-5.19.0/arch/arm64/include/asm/kvm_host.h @@ -838,6 +838,10 @@ (system_supports_mte() && \ test_bit(KVM_ARCH_FLAG_MTE_ENABLED, &(kvm)->arch.flags)) +#define kvm_supports_32bit_el0() \ + (system_supports_32bit_el0() && \ + !static_branch_unlikely(&arm64_mismatched_32bit_el0)) + int kvm_trng_call(struct kvm_vcpu *vcpu); #ifdef CONFIG_KVM extern phys_addr_t hyp_mem_base; --- linux-gcp-5.19.0.orig/arch/arm64/include/asm/mte.h +++ linux-gcp-5.19.0/arch/arm64/include/asm/mte.h @@ -42,7 +42,9 @@ void mte_copy_page_tags(void *kto, const void *kfrom); void mte_thread_init_user(void); void mte_thread_switch(struct task_struct *next); +void mte_cpu_setup(void); void mte_suspend_enter(void); +void mte_suspend_exit(void); long set_mte_ctrl(struct task_struct *task, unsigned long arg); long get_mte_ctrl(struct task_struct *task); int mte_ptrace_copy_tags(struct task_struct *child, long request, @@ -72,6 +74,9 @@ static inline void mte_suspend_enter(void) { } +static inline void mte_suspend_exit(void) +{ +} static inline long set_mte_ctrl(struct task_struct *task, unsigned long arg) { return 0; --- linux-gcp-5.19.0.orig/arch/arm64/include/asm/pgtable.h +++ linux-gcp-5.19.0/arch/arm64/include/asm/pgtable.h @@ -666,7 +666,7 @@ #define pud_leaf(pud) (pud_present(pud) && !pud_table(pud)) #define pud_valid(pud) pte_valid(pud_pte(pud)) #define pud_user(pud) pte_user(pud_pte(pud)) - +#define pud_user_exec(pud) pte_user_exec(pud_pte(pud)) static inline void set_pud(pud_t *pudp, pud_t pud) { @@ -847,12 +847,12 @@ static inline bool pmd_user_accessible_page(pmd_t pmd) { - return pmd_present(pmd) && (pmd_user(pmd) || pmd_user_exec(pmd)); + return pmd_leaf(pmd) && !pmd_present_invalid(pmd) && (pmd_user(pmd) || pmd_user_exec(pmd)); } static inline bool pud_user_accessible_page(pud_t pud) { - return pud_present(pud) && pud_user(pud); + return pud_leaf(pud) && (pud_user(pud) || pud_user_exec(pud)); } #endif --- linux-gcp-5.19.0.orig/arch/arm64/include/asm/processor.h +++ linux-gcp-5.19.0/arch/arm64/include/asm/processor.h @@ -272,8 +272,9 @@ static inline void start_thread_common(struct pt_regs *regs, unsigned long pc) { + s32 previous_syscall = regs->syscallno; memset(regs, 0, sizeof(*regs)); - forget_syscall(regs); + regs->syscallno = previous_syscall; regs->pc = pc; if (system_uses_irq_prio_masking()) @@ -307,13 +308,13 @@ } #endif -static inline bool is_ttbr0_addr(unsigned long addr) +static __always_inline bool is_ttbr0_addr(unsigned long addr) { /* entry assembly clears tags for TTBR0 addrs */ return addr < TASK_SIZE; } -static inline bool is_ttbr1_addr(unsigned long addr) +static __always_inline bool is_ttbr1_addr(unsigned long addr) { /* TTBR1 addresses may have a tag if KASAN_SW_TAGS is in use */ return arch_kasan_reset_tag(addr) >= PAGE_OFFSET; --- linux-gcp-5.19.0.orig/arch/arm64/include/asm/setup.h +++ linux-gcp-5.19.0/arch/arm64/include/asm/setup.h @@ -3,6 +3,8 @@ #ifndef __ARM64_ASM_SETUP_H #define __ARM64_ASM_SETUP_H +#include + #include void *get_early_fdt_ptr(void); @@ -14,4 +16,19 @@ extern phys_addr_t __fdt_pointer __initdata; extern u64 __cacheline_aligned boot_args[4]; +static inline bool arch_parse_debug_rodata(char *arg) +{ + extern bool rodata_enabled; + extern bool rodata_full; + + if (arg && !strcmp(arg, "full")) { + rodata_enabled = true; + rodata_full = true; + return true; + } + + return false; +} +#define arch_parse_debug_rodata arch_parse_debug_rodata + #endif --- linux-gcp-5.19.0.orig/arch/arm64/include/asm/syscall_wrapper.h +++ linux-gcp-5.19.0/arch/arm64/include/asm/syscall_wrapper.h @@ -8,7 +8,7 @@ #ifndef __ASM_SYSCALL_WRAPPER_H #define __ASM_SYSCALL_WRAPPER_H -struct pt_regs; +#include #define SC_ARM64_REGS_TO_ARGS(x, ...) \ __MAP(x,__SC_ARGS \ --- linux-gcp-5.19.0.orig/arch/arm64/kernel/Makefile +++ linux-gcp-5.19.0/arch/arm64/kernel/Makefile @@ -14,6 +14,11 @@ CFLAGS_REMOVE_syscall.o = -fstack-protector -fstack-protector-strong CFLAGS_syscall.o += -fno-stack-protector +# When KASAN is enabled, a stack trace is recorded for every alloc/free, which +# can significantly impact performance. Avoid instrumenting the stack trace +# collection code to minimize this impact. +KASAN_SANITIZE_stacktrace.o := n + # It's not safe to invoke KCOV when portions of the kernel environment aren't # available or are out-of-sync with HW state. Since `noinstr` doesn't always # inhibit KCOV instrumentation, disable it for the entire compilation unit. --- linux-gcp-5.19.0.orig/arch/arm64/kernel/armv8_deprecated.c +++ linux-gcp-5.19.0/arch/arm64/kernel/armv8_deprecated.c @@ -59,6 +59,7 @@ static LIST_HEAD(insn_emulation); static int nr_insn_emulated __initdata; static DEFINE_RAW_SPINLOCK(insn_emulation_lock); +static DEFINE_MUTEX(insn_emulation_mutex); static void register_emulation_hooks(struct insn_emulation_ops *ops) { @@ -207,10 +208,10 @@ loff_t *ppos) { int ret = 0; - struct insn_emulation *insn = (struct insn_emulation *) table->data; + struct insn_emulation *insn = container_of(table->data, struct insn_emulation, current_mode); enum insn_emulation_mode prev_mode = insn->current_mode; - table->data = &insn->current_mode; + mutex_lock(&insn_emulation_mutex); ret = proc_dointvec_minmax(table, write, buffer, lenp, ppos); if (ret || !write || prev_mode == insn->current_mode) @@ -223,7 +224,7 @@ update_insn_emulation_mode(insn, INSN_UNDEF); } ret: - table->data = insn; + mutex_unlock(&insn_emulation_mutex); return ret; } @@ -247,7 +248,7 @@ sysctl->maxlen = sizeof(int); sysctl->procname = insn->ops->name; - sysctl->data = insn; + sysctl->data = &insn->current_mode; sysctl->extra1 = &insn->min; sysctl->extra2 = &insn->max; sysctl->proc_handler = emulation_proc_handler; --- linux-gcp-5.19.0.orig/arch/arm64/kernel/cacheinfo.c +++ linux-gcp-5.19.0/arch/arm64/kernel/cacheinfo.c @@ -45,7 +45,8 @@ int init_cache_level(unsigned int cpu) { - unsigned int ctype, level, leaves, fw_level; + unsigned int ctype, level, leaves; + int fw_level; struct cpu_cacheinfo *this_cpu_ci = get_cpu_cacheinfo(cpu); for (level = 1, leaves = 0; level <= MAX_CACHE_LEVEL; level++) { @@ -63,6 +64,9 @@ else fw_level = acpi_find_last_cache_level(cpu); + if (fw_level < 0) + return fw_level; + if (level < fw_level) { /* * some external caches not specified in CLIDR_EL1 --- linux-gcp-5.19.0.orig/arch/arm64/kernel/cpu_errata.c +++ linux-gcp-5.19.0/arch/arm64/kernel/cpu_errata.c @@ -208,10 +208,23 @@ #ifdef CONFIG_ARM64_ERRATUM_1286807 { ERRATA_MIDR_RANGE(MIDR_CORTEX_A76, 0, 0, 3, 0), + }, + { /* Kryo4xx Gold (rcpe to rfpe) => (r0p0 to r3p0) */ ERRATA_MIDR_RANGE(MIDR_QCOM_KRYO_4XX_GOLD, 0xc, 0xe, 0xf, 0xe), }, #endif +#ifdef CONFIG_ARM64_ERRATUM_2441007 + { + ERRATA_MIDR_ALL_VERSIONS(MIDR_CORTEX_A55), + }, +#endif +#ifdef CONFIG_ARM64_ERRATUM_2441009 + { + /* Cortex-A510 r0p0 -> r1p1. Fixed in r1p2 */ + ERRATA_MIDR_RANGE(MIDR_CORTEX_A510, 0, 0, 1, 1), + }, +#endif {}, }; #endif @@ -395,6 +408,14 @@ }; #endif /* CONFIG_ARM64_WORKAROUND_TRBE_WRITE_OUT_OF_RANGE */ +#ifdef CONFIG_ARM64_ERRATUM_1742098 +static struct midr_range broken_aarch32_aes[] = { + MIDR_RANGE(MIDR_CORTEX_A57, 0, 1, 0xf, 0xf), + MIDR_ALL_VERSIONS(MIDR_CORTEX_A72), + {}, +}; +#endif /* CONFIG_ARM64_WORKAROUND_TRBE_WRITE_OUT_OF_RANGE */ + const struct arm64_cpu_capabilities arm64_errata[] = { #ifdef CONFIG_ARM64_WORKAROUND_CLEAN_CACHE { @@ -480,7 +501,7 @@ #endif #ifdef CONFIG_ARM64_WORKAROUND_REPEAT_TLBI { - .desc = "Qualcomm erratum 1009, or ARM erratum 1286807", + .desc = "Qualcomm erratum 1009, or ARM erratum 1286807, 2441009", .capability = ARM64_WORKAROUND_REPEAT_TLBI, .type = ARM64_CPUCAP_LOCAL_CPU_ERRATUM, .matches = cpucap_multi_entry_cap_matches, @@ -640,6 +661,16 @@ ERRATA_MIDR_REV_RANGE(MIDR_CORTEX_A510, 0, 0, 2) }, #endif +#ifdef CONFIG_ARM64_ERRATUM_2457168 + { + .desc = "ARM erratum 2457168", + .capability = ARM64_WORKAROUND_2457168, + .type = ARM64_CPUCAP_WEAK_LOCAL_CPU_FEATURE, + + /* Cortex-A510 r0p0-r1p1 */ + CAP_MIDR_RANGE(MIDR_CORTEX_A510, 0, 0, 1, 1) + }, +#endif #ifdef CONFIG_ARM64_ERRATUM_2038923 { .desc = "ARM erratum 2038923", @@ -658,6 +689,14 @@ ERRATA_MIDR_REV_RANGE(MIDR_CORTEX_A510, 0, 0, 1) }, #endif +#ifdef CONFIG_ARM64_ERRATUM_1742098 + { + .desc = "ARM erratum 1742098", + .capability = ARM64_WORKAROUND_1742098, + CAP_MIDR_RANGE_LIST(broken_aarch32_aes), + .type = ARM64_CPUCAP_LOCAL_CPU_ERRATUM, + }, +#endif { } }; --- linux-gcp-5.19.0.orig/arch/arm64/kernel/cpufeature.c +++ linux-gcp-5.19.0/arch/arm64/kernel/cpufeature.c @@ -79,6 +79,7 @@ #include #include #include +#include #include #include #include @@ -561,7 +562,7 @@ static const struct arm64_ftr_bits ftr_id_dfr0[] = { /* [31:28] TraceFilt */ - S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR0_PERFMON_SHIFT, 4, 0xf), + S_ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_EXACT, ID_DFR0_PERFMON_SHIFT, 4, 0), ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR0_MPROFDBG_SHIFT, 4, 0), ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR0_MMAPTRC_SHIFT, 4, 0), ARM64_FTR_BITS(FTR_HIDDEN, FTR_STRICT, FTR_LOWER_SAFE, ID_DFR0_COPTRC_SHIFT, 4, 0), @@ -1797,7 +1798,10 @@ pr_info("detected CPU%d: Activity Monitors Unit (AMU)\n", smp_processor_id()); cpumask_set_cpu(smp_processor_id(), &amu_cpus); - update_freq_counters_refs(); + + /* 0 reference values signal broken/disabled counters */ + if (!this_cpu_has_cap(ARM64_WORKAROUND_2457168)) + update_freq_counters_refs(); } } @@ -1958,7 +1962,8 @@ static void cpu_enable_mte(struct arm64_cpu_capabilities const *cap) { sysreg_clear_set(sctlr_el1, 0, SCTLR_ELx_ATA | SCTLR_EL1_ATA0); - isb(); + + mte_cpu_setup(); /* * Clear the tags in the zero page. This needs to be done via the @@ -1971,6 +1976,14 @@ } #endif /* CONFIG_ARM64_MTE */ +static void elf_hwcap_fixup(void) +{ +#ifdef CONFIG_ARM64_ERRATUM_1742098 + if (cpus_have_const_cap(ARM64_WORKAROUND_1742098)) + compat_elf_hwcap2 &= ~COMPAT_HWCAP2_AES; +#endif /* ARM64_ERRATUM_1742098 */ +} + #ifdef CONFIG_KVM static bool is_kvm_protected_mode(const struct arm64_cpu_capabilities *entry, int __unused) { @@ -3143,8 +3156,10 @@ setup_system_capabilities(); setup_elf_hwcaps(arm64_elf_hwcaps); - if (system_supports_32bit_el0()) + if (system_supports_32bit_el0()) { setup_elf_hwcaps(compat_elf_hwcaps); + elf_hwcap_fixup(); + } if (system_uses_ttbr0_pan()) pr_info("emulated: Privileged Access Never (PAN) using TTBR0_EL1 switching\n"); @@ -3197,6 +3212,7 @@ cpu_active_mask); get_cpu_device(lucky_winner)->offline_disabled = true; setup_elf_hwcaps(compat_elf_hwcaps); + elf_hwcap_fixup(); pr_info("Asymmetric 32-bit EL0 support detected on CPU %u; CPU hot-unplug disabled on CPU %u\n", cpu, lucky_winner); return 0; --- linux-gcp-5.19.0.orig/arch/arm64/kernel/efi-rt-wrapper.S +++ linux-gcp-5.19.0/arch/arm64/kernel/efi-rt-wrapper.S @@ -4,6 +4,7 @@ */ #include +#include SYM_FUNC_START(__efi_rt_asm_wrapper) stp x29, x30, [sp, #-32]! @@ -16,6 +17,12 @@ */ stp x1, x18, [sp, #16] + ldr_l x16, efi_rt_stack_top + mov sp, x16 +#ifdef CONFIG_SHADOW_CALL_STACK + str x18, [sp, #-16]! +#endif + /* * We are lucky enough that no EFI runtime services take more than * 5 arguments, so all are passed in registers rather than via the @@ -29,6 +36,7 @@ mov x4, x6 blr x8 + mov sp, x29 ldp x1, x2, [sp, #16] cmp x2, x18 ldp x29, x30, [sp], #32 @@ -42,6 +50,10 @@ * called with preemption disabled and a separate shadow stack is used * for interrupts. */ - mov x18, x2 +#ifdef CONFIG_SHADOW_CALL_STACK + ldr_l x18, efi_rt_stack_top + ldr x18, [x18, #-16] +#endif + b efi_handle_corrupted_x18 // tail call SYM_FUNC_END(__efi_rt_asm_wrapper) --- linux-gcp-5.19.0.orig/arch/arm64/kernel/efi.c +++ linux-gcp-5.19.0/arch/arm64/kernel/efi.c @@ -12,6 +12,14 @@ #include +static bool region_is_misaligned(const efi_memory_desc_t *md) +{ + if (PAGE_SIZE == EFI_PAGE_SIZE) + return false; + return !PAGE_ALIGNED(md->phys_addr) || + !PAGE_ALIGNED(md->num_pages << EFI_PAGE_SHIFT); +} + /* * Only regions of type EFI_RUNTIME_SERVICES_CODE need to be * executable, everything else can be mapped with the XN bits @@ -25,14 +33,22 @@ if (type == EFI_MEMORY_MAPPED_IO) return PROT_DEVICE_nGnRE; - if (WARN_ONCE(!PAGE_ALIGNED(md->phys_addr), - "UEFI Runtime regions are not aligned to 64 KB -- buggy firmware?")) + if (region_is_misaligned(md)) { + static bool __initdata code_is_misaligned; + /* - * If the region is not aligned to the page size of the OS, we - * can not use strict permissions, since that would also affect - * the mapping attributes of the adjacent regions. + * Regions that are not aligned to the OS page size cannot be + * mapped with strict permissions, as those might interfere + * with the permissions that are needed by the adjacent + * region's mapping. However, if we haven't encountered any + * misaligned runtime code regions so far, we can safely use + * non-executable permissions for non-code regions. */ - return pgprot_val(PAGE_KERNEL_EXEC); + code_is_misaligned |= (type == EFI_RUNTIME_SERVICES_CODE); + + return code_is_misaligned ? pgprot_val(PAGE_KERNEL_EXEC) + : pgprot_val(PAGE_KERNEL); + } /* R-- */ if ((attr & (EFI_MEMORY_XP | EFI_MEMORY_RO)) == @@ -63,19 +79,16 @@ bool page_mappings_only = (md->type == EFI_RUNTIME_SERVICES_CODE || md->type == EFI_RUNTIME_SERVICES_DATA); - if (!PAGE_ALIGNED(md->phys_addr) || - !PAGE_ALIGNED(md->num_pages << EFI_PAGE_SHIFT)) { - /* - * If the end address of this region is not aligned to page - * size, the mapping is rounded up, and may end up sharing a - * page frame with the next UEFI memory region. If we create - * a block entry now, we may need to split it again when mapping - * the next region, and support for that is going to be removed - * from the MMU routines. So avoid block mappings altogether in - * that case. - */ + /* + * If this region is not aligned to the page size used by the OS, the + * mapping will be rounded outwards, and may end up sharing a page + * frame with an adjacent runtime memory region. Given that the page + * table descriptor covering the shared page will be rewritten when the + * adjacent region gets mapped, we must avoid block mappings here so we + * don't have to worry about splitting them when that happens. + */ + if (region_is_misaligned(md)) page_mappings_only = true; - } create_pgd_mapping(mm, md->phys_addr, md->virt_addr, md->num_pages << EFI_PAGE_SHIFT, @@ -102,6 +115,9 @@ BUG_ON(md->type != EFI_RUNTIME_SERVICES_CODE && md->type != EFI_RUNTIME_SERVICES_DATA); + if (region_is_misaligned(md)) + return 0; + /* * Calling apply_to_page_range() is only safe on regions that are * guaranteed to be mapped down to pages. Since we are only called @@ -128,3 +144,30 @@ pr_err_ratelimited(FW_BUG "register x18 corrupted by EFI %s\n", f); return s; } + +DEFINE_SPINLOCK(efi_rt_lock); + +asmlinkage u64 *efi_rt_stack_top __ro_after_init; + +/* EFI requires 8 KiB of stack space for runtime services */ +static_assert(THREAD_SIZE >= SZ_8K); + +static int __init arm64_efi_rt_init(void) +{ + void *p; + + if (!efi_enabled(EFI_RUNTIME_SERVICES)) + return 0; + + p = __vmalloc_node(THREAD_SIZE, THREAD_ALIGN, GFP_KERNEL, + NUMA_NO_NODE, &&l); +l: if (!p) { + pr_warn("Failed to allocate EFI runtime stack\n"); + clear_bit(EFI_RUNTIME_SERVICES, &efi.flags); + return -ENOMEM; + } + + efi_rt_stack_top = p + THREAD_SIZE; + return 0; +} +core_initcall(arm64_efi_rt_init); --- linux-gcp-5.19.0.orig/arch/arm64/kernel/elfcore.c +++ linux-gcp-5.19.0/arch/arm64/kernel/elfcore.c @@ -65,7 +65,6 @@ mte_save_page_tags(page_address(page), tags); put_page(page); if (!dump_emit(cprm, tags, MTE_PAGE_TAG_STORAGE)) { - mte_free_tag_storage(tags); ret = 0; break; } @@ -77,7 +76,7 @@ return ret; } -Elf_Half elf_core_extra_phdrs(void) +Elf_Half elf_core_extra_phdrs(struct coredump_params *cprm) { struct vm_area_struct *vma; int vma_count = 0; @@ -112,7 +111,7 @@ return 1; } -size_t elf_core_extra_data_size(void) +size_t elf_core_extra_data_size(struct coredump_params *cprm) { struct vm_area_struct *vma; size_t data_size = 0; --- linux-gcp-5.19.0.orig/arch/arm64/kernel/entry-common.c +++ linux-gcp-5.19.0/arch/arm64/kernel/entry-common.c @@ -329,7 +329,8 @@ __this_cpu_write(__in_cortex_a76_erratum_1463225_wa, 0); } -static bool cortex_a76_erratum_1463225_debug_handler(struct pt_regs *regs) +static __always_inline bool +cortex_a76_erratum_1463225_debug_handler(struct pt_regs *regs) { if (!__this_cpu_read(__in_cortex_a76_erratum_1463225_wa)) return false; --- linux-gcp-5.19.0.orig/arch/arm64/kernel/fpsimd.c +++ linux-gcp-5.19.0/arch/arm64/kernel/fpsimd.c @@ -716,10 +716,12 @@ * do_sve_acc() case, there is no ABI requirement to hide stale data * written previously be task. */ -void sve_alloc(struct task_struct *task) +void sve_alloc(struct task_struct *task, bool flush) { if (task->thread.sve_state) { - memset(task->thread.sve_state, 0, sve_state_size(task)); + if (flush) + memset(task->thread.sve_state, 0, + sve_state_size(task)); return; } @@ -1389,7 +1391,7 @@ return; } - sve_alloc(current); + sve_alloc(current, true); if (!current->thread.sve_state) { force_sig(SIGKILL); return; @@ -1440,7 +1442,7 @@ return; } - sve_alloc(current); + sve_alloc(current, false); sme_alloc(current); if (!current->thread.sve_state || !current->thread.za_state) { force_sig(SIGKILL); @@ -1461,17 +1463,6 @@ fpsimd_bind_task_to_cpu(); } - /* - * If SVE was not already active initialise the SVE registers, - * any non-shared state between the streaming and regular SVE - * registers is architecturally guaranteed to be zeroed when - * we enter streaming mode. We do not need to initialize ZA - * since ZA must be disabled at this point and enabling ZA is - * architecturally defined to zero ZA. - */ - if (system_supports_sve() && !test_thread_flag(TIF_SVE)) - sve_init_regs(); - put_cpu_fpsimd_context(); } --- linux-gcp-5.19.0.orig/arch/arm64/kernel/ftrace.c +++ linux-gcp-5.19.0/arch/arm64/kernel/ftrace.c @@ -217,11 +217,26 @@ unsigned long pc = rec->ip; u32 old = 0, new; + new = aarch64_insn_gen_nop(); + + /* + * When using mcount, callsites in modules may have been initalized to + * call an arbitrary module PLT (which redirects to the _mcount stub) + * rather than the ftrace PLT we'll use at runtime (which redirects to + * the ftrace trampoline). We can ignore the old PLT when initializing + * the callsite. + * + * Note: 'mod' is only set at module load time. + */ + if (!IS_ENABLED(CONFIG_DYNAMIC_FTRACE_WITH_REGS) && + IS_ENABLED(CONFIG_ARM64_MODULE_PLTS) && mod) { + return aarch64_insn_patch_text_nosync((void *)pc, new); + } + if (!ftrace_find_callable_addr(rec, mod, &addr)) return -EINVAL; old = aarch64_insn_gen_branch_imm(pc, addr, AARCH64_INSN_BRANCH_LINK); - new = aarch64_insn_gen_nop(); return ftrace_modify_code(pc, old, new, true); } --- linux-gcp-5.19.0.orig/arch/arm64/kernel/head.S +++ linux-gcp-5.19.0/arch/arm64/kernel/head.S @@ -285,7 +285,7 @@ subs x1, x1, #64 b.ne 1b - mov x7, SWAPPER_MM_MMUFLAGS + mov_q x7, SWAPPER_MM_MMUFLAGS /* * Create the identity mapping. --- linux-gcp-5.19.0.orig/arch/arm64/kernel/kexec_image.c +++ linux-gcp-5.19.0/arch/arm64/kernel/kexec_image.c @@ -14,7 +14,6 @@ #include #include #include -#include #include #include #include @@ -130,18 +129,10 @@ return NULL; } -#ifdef CONFIG_KEXEC_IMAGE_VERIFY_SIG -static int image_verify_sig(const char *kernel, unsigned long kernel_len) -{ - return verify_pefile_signature(kernel, kernel_len, NULL, - VERIFYING_KEXEC_PE_SIGNATURE); -} -#endif - const struct kexec_file_ops kexec_image_ops = { .probe = image_probe, .load = image_load, #ifdef CONFIG_KEXEC_IMAGE_VERIFY_SIG - .verify_sig = image_verify_sig, + .verify_sig = kexec_kernel_verify_pe_sig, #endif }; --- linux-gcp-5.19.0.orig/arch/arm64/kernel/machine_kexec_file.c +++ linux-gcp-5.19.0/arch/arm64/kernel/machine_kexec_file.c @@ -47,7 +47,7 @@ u64 i; phys_addr_t start, end; - nr_ranges = 1; /* for exclusion of crashkernel region */ + nr_ranges = 2; /* for exclusion of crashkernel region */ for_each_mem_range(i, &start, &end) nr_ranges++; --- linux-gcp-5.19.0.orig/arch/arm64/kernel/mte.c +++ linux-gcp-5.19.0/arch/arm64/kernel/mte.c @@ -57,7 +57,12 @@ * the new page->flags are visible before the tags were updated. */ smp_wmb(); - mte_clear_page_tags(page_address(page)); + /* + * Test PG_mte_tagged again in case it was racing with another + * set_pte_at(). + */ + if (!test_and_set_bit(PG_mte_tagged, &page->flags)) + mte_clear_page_tags(page_address(page)); } void mte_sync_tags(pte_t old_pte, pte_t pte) @@ -73,7 +78,7 @@ /* if PG_mte_tagged is set, tags have already been initialised */ for (i = 0; i < nr_pages; i++, page++) { - if (!test_and_set_bit(PG_mte_tagged, &page->flags)) + if (!test_bit(PG_mte_tagged, &page->flags)) mte_sync_page_tags(page, old_pte, check_swap, pte_is_tagged); } @@ -294,6 +299,49 @@ mte_check_tfsr_el1(); } +void mte_cpu_setup(void) +{ + u64 rgsr; + + /* + * CnP must be enabled only after the MAIR_EL1 register has been set + * up. Inconsistent MAIR_EL1 between CPUs sharing the same TLB may + * lead to the wrong memory type being used for a brief window during + * CPU power-up. + * + * CnP is not a boot feature so MTE gets enabled before CnP, but let's + * make sure that is the case. + */ + BUG_ON(read_sysreg(ttbr0_el1) & TTBR_CNP_BIT); + BUG_ON(read_sysreg(ttbr1_el1) & TTBR_CNP_BIT); + + /* Normal Tagged memory type at the corresponding MAIR index */ + sysreg_clear_set(mair_el1, + MAIR_ATTRIDX(MAIR_ATTR_MASK, MT_NORMAL_TAGGED), + MAIR_ATTRIDX(MAIR_ATTR_NORMAL_TAGGED, + MT_NORMAL_TAGGED)); + + write_sysreg_s(KERNEL_GCR_EL1, SYS_GCR_EL1); + + /* + * If GCR_EL1.RRND=1 is implemented the same way as RRND=0, then + * RGSR_EL1.SEED must be non-zero for IRG to produce + * pseudorandom numbers. As RGSR_EL1 is UNKNOWN out of reset, we + * must initialize it. + */ + rgsr = (read_sysreg(CNTVCT_EL0) & SYS_RGSR_EL1_SEED_MASK) << + SYS_RGSR_EL1_SEED_SHIFT; + if (rgsr == 0) + rgsr = 1 << SYS_RGSR_EL1_SEED_SHIFT; + write_sysreg_s(rgsr, SYS_RGSR_EL1); + + /* clear any pending tag check faults in TFSR*_EL1 */ + write_sysreg_s(0, SYS_TFSR_EL1); + write_sysreg_s(0, SYS_TFSRE0_EL1); + + local_flush_tlb_all(); +} + void mte_suspend_enter(void) { if (!system_supports_mte()) @@ -310,6 +358,14 @@ mte_check_tfsr_el1(); } +void mte_suspend_exit(void) +{ + if (!system_supports_mte()) + return; + + mte_cpu_setup(); +} + long set_mte_ctrl(struct task_struct *task, unsigned long arg) { u64 mte_ctrl = (~((arg & PR_MTE_TAG_MASK) >> PR_MTE_TAG_SHIFT) & --- linux-gcp-5.19.0.orig/arch/arm64/kernel/proton-pack.c +++ linux-gcp-5.19.0/arch/arm64/kernel/proton-pack.c @@ -868,6 +868,10 @@ MIDR_ALL_VERSIONS(MIDR_NEOVERSE_N1), {}, }; + static const struct midr_range spectre_bhb_k11_list[] = { + MIDR_ALL_VERSIONS(MIDR_AMPERE1), + {}, + }; static const struct midr_range spectre_bhb_k8_list[] = { MIDR_ALL_VERSIONS(MIDR_CORTEX_A72), MIDR_ALL_VERSIONS(MIDR_CORTEX_A57), @@ -878,6 +882,8 @@ k = 32; else if (is_midr_in_range_list(read_cpuid_id(), spectre_bhb_k24_list)) k = 24; + else if (is_midr_in_range_list(read_cpuid_id(), spectre_bhb_k11_list)) + k = 11; else if (is_midr_in_range_list(read_cpuid_id(), spectre_bhb_k8_list)) k = 8; --- linux-gcp-5.19.0.orig/arch/arm64/kernel/ptrace.c +++ linux-gcp-5.19.0/arch/arm64/kernel/ptrace.c @@ -882,7 +882,7 @@ * state and ensure there's storage. */ if (target->thread.svcr != old_svcr) - sve_alloc(target); + sve_alloc(target, true); } /* Registers: FPSIMD-only case */ @@ -912,7 +912,7 @@ goto out; } - sve_alloc(target); + sve_alloc(target, true); if (!target->thread.sve_state) { ret = -ENOMEM; clear_tsk_thread_flag(target, TIF_SVE); @@ -1082,7 +1082,7 @@ /* Ensure there is some SVE storage for streaming mode */ if (!target->thread.sve_state) { - sve_alloc(target); + sve_alloc(target, false); if (!target->thread.sve_state) { clear_thread_flag(TIF_SME); ret = -ENOMEM; @@ -1351,7 +1351,7 @@ #ifdef CONFIG_ARM64_SVE REGSET_SVE, #endif -#ifdef CONFIG_ARM64_SVE +#ifdef CONFIG_ARM64_SME REGSET_SSVE, REGSET_ZA, #endif --- linux-gcp-5.19.0.orig/arch/arm64/kernel/signal.c +++ linux-gcp-5.19.0/arch/arm64/kernel/signal.c @@ -280,6 +280,13 @@ vl = task_get_sme_vl(current); } else { + /* + * A SME only system use SVE for streaming mode so can + * have a SVE formatted context with a zero VL and no + * payload data. + */ + if (!system_supports_sve() && !system_supports_sme()) + return -EINVAL; vl = task_get_sve_vl(current); } @@ -307,7 +314,7 @@ fpsimd_flush_task_state(current); /* From now, fpsimd_thread_switch() won't touch thread.sve_state */ - sve_alloc(current); + sve_alloc(current, true); if (!current->thread.sve_state) { clear_thread_flag(TIF_SVE); return -ENOMEM; @@ -725,7 +732,7 @@ return err; } - if (system_supports_sve()) { + if (system_supports_sve() || system_supports_sme()) { unsigned int vq = 0; if (add_all || test_thread_flag(TIF_SVE) || @@ -922,6 +929,16 @@ /* Signal handlers are invoked with ZA and streaming mode disabled */ if (system_supports_sme()) { + /* + * If we were in streaming mode the saved register + * state was SVE but we will exit SM and use the + * FPSIMD register state - flush the saved FPSIMD + * register state in case it gets loaded. + */ + if (current->thread.svcr & SVCR_SM_MASK) + memset(¤t->thread.uw.fpsimd_state, 0, + sizeof(current->thread.uw.fpsimd_state)); + current->thread.svcr &= ~(SVCR_ZA_MASK | SVCR_SM_MASK); sme_smstop(); --- linux-gcp-5.19.0.orig/arch/arm64/kernel/stacktrace.c +++ linux-gcp-5.19.0/arch/arm64/kernel/stacktrace.c @@ -117,15 +117,15 @@ if (fp <= state->prev_fp) return -EINVAL; } else { - set_bit(state->prev_type, state->stacks_done); + __set_bit(state->prev_type, state->stacks_done); } /* * Record this frame record's values and location. The prev_fp and * prev_type are only meaningful to the next unwind_next() invocation. */ - state->fp = READ_ONCE_NOCHECK(*(unsigned long *)(fp)); - state->pc = READ_ONCE_NOCHECK(*(unsigned long *)(fp + 8)); + state->fp = READ_ONCE(*(unsigned long *)(fp)); + state->pc = READ_ONCE(*(unsigned long *)(fp + 8)); state->prev_fp = fp; state->prev_type = info.type; --- linux-gcp-5.19.0.orig/arch/arm64/kernel/suspend.c +++ linux-gcp-5.19.0/arch/arm64/kernel/suspend.c @@ -43,6 +43,8 @@ { unsigned int cpu = smp_processor_id(); + mte_suspend_exit(); + /* * We are resuming from reset with the idmap active in TTBR0_EL1. * We must uninstall the idmap and restore the expected MMU --- linux-gcp-5.19.0.orig/arch/arm64/kernel/topology.c +++ linux-gcp-5.19.0/arch/arm64/kernel/topology.c @@ -22,46 +22,6 @@ #include #include -void store_cpu_topology(unsigned int cpuid) -{ - struct cpu_topology *cpuid_topo = &cpu_topology[cpuid]; - u64 mpidr; - - if (cpuid_topo->package_id != -1) - goto topology_populated; - - mpidr = read_cpuid_mpidr(); - - /* Uniprocessor systems can rely on default topology values */ - if (mpidr & MPIDR_UP_BITMASK) - return; - - /* - * This would be the place to create cpu topology based on MPIDR. - * - * However, it cannot be trusted to depict the actual topology; some - * pieces of the architecture enforce an artificial cap on Aff0 values - * (e.g. GICv3's ICC_SGI1R_EL1 limits it to 15), leading to an - * artificial cycling of Aff1, Aff2 and Aff3 values. IOW, these end up - * having absolutely no relationship to the actual underlying system - * topology, and cannot be reasonably used as core / package ID. - * - * If the MT bit is set, Aff0 *could* be used to define a thread ID, but - * we still wouldn't be able to obtain a sane core ID. This means we - * need to entirely ignore MPIDR for any topology deduction. - */ - cpuid_topo->thread_id = -1; - cpuid_topo->core_id = cpuid; - cpuid_topo->package_id = cpu_to_node(cpuid); - - pr_debug("CPU%u: cluster %d core %d thread %d mpidr %#016llx\n", - cpuid, cpuid_topo->package_id, cpuid_topo->core_id, - cpuid_topo->thread_id, mpidr); - -topology_populated: - update_siblings_masks(cpuid); -} - #ifdef CONFIG_ACPI static bool __init acpi_cpu_is_threaded(int cpu) { @@ -251,7 +211,7 @@ for_each_cpu(cpu, cpus) { if (!freq_counters_valid(cpu) || freq_inv_set_max_ratio(cpu, - cpufreq_get_hw_max_freq(cpu) * 1000, + cpufreq_get_hw_max_freq(cpu) * 1000ULL, arch_timer_get_rate())) return; } @@ -310,12 +270,25 @@ static void cpu_read_corecnt(void *val) { + /* + * A value of 0 can be returned if the current CPU does not support AMUs + * or if the counter is disabled for this CPU. A return value of 0 at + * counter read is properly handled as an error case by the users of the + * counter. + */ *(u64 *)val = read_corecnt(); } static void cpu_read_constcnt(void *val) { - *(u64 *)val = read_constcnt(); + /* + * Return 0 if the current CPU is affected by erratum 2457168. A value + * of 0 is also returned if the current CPU does not support AMUs or if + * the counter is disabled. A return value of 0 at counter read is + * properly handled as an error case by the users of the counter. + */ + *(u64 *)val = this_cpu_has_cap(ARM64_WORKAROUND_2457168) ? + 0UL : read_constcnt(); } static inline @@ -342,7 +315,22 @@ */ bool cpc_ffh_supported(void) { - return freq_counters_valid(get_cpu_with_amu_feat()); + int cpu = get_cpu_with_amu_feat(); + + /* + * FFH is considered supported if there is at least one present CPU that + * supports AMUs. Using FFH to read core and reference counters for CPUs + * that do not support AMUs, have counters disabled or that are affected + * by errata, will result in a return value of 0. + * + * This is done to allow any enabled and valid counters to be read + * through FFH, knowing that potentially returning 0 as counter value is + * properly handled by the users of these counters. + */ + if ((cpu >= nr_cpu_ids) || !cpumask_test_cpu(cpu, cpu_present_mask)) + return false; + + return true; } int cpc_read_ffh(int cpu, struct cpc_reg *reg, u64 *val) --- linux-gcp-5.19.0.orig/arch/arm64/kvm/arm.c +++ linux-gcp-5.19.0/arch/arm64/kvm/arm.c @@ -751,8 +751,7 @@ if (likely(!vcpu_mode_is_32bit(vcpu))) return false; - return !system_supports_32bit_el0() || - static_branch_unlikely(&arm64_mismatched_32bit_el0); + return !kvm_supports_32bit_el0(); } /** @@ -2102,6 +2101,17 @@ * once the host stage 2 is installed. */ static_branch_enable(&kvm_protected_mode_initialized); + + /* + * Fixup the boot mode so that we don't take spurious round + * trips via EL2 on cpu_resume. Flush to the PoC for a good + * measure, so that it can be observed by a CPU coming out of + * suspend with the MMU off. + */ + __boot_cpu_mode[0] = __boot_cpu_mode[1] = BOOT_CPU_MODE_EL1; + dcache_clean_poc((unsigned long)__boot_cpu_mode, + (unsigned long)(__boot_cpu_mode + 2)); + on_each_cpu(_kvm_host_prot_finalize, &ret, 1); return ret; } --- linux-gcp-5.19.0.orig/arch/arm64/kvm/guest.c +++ linux-gcp-5.19.0/arch/arm64/kvm/guest.c @@ -242,7 +242,7 @@ u64 mode = (*(u64 *)valp) & PSR_AA32_MODE_MASK; switch (mode) { case PSR_AA32_MODE_USR: - if (!system_supports_32bit_el0()) + if (!kvm_supports_32bit_el0()) return -EINVAL; break; case PSR_AA32_MODE_FIQ: --- linux-gcp-5.19.0.orig/arch/arm64/kvm/handle_exit.c +++ linux-gcp-5.19.0/arch/arm64/kvm/handle_exit.c @@ -347,10 +347,10 @@ kvm_err("nVHE hyp BUG at: %s:%u!\n", file, line); else kvm_err("nVHE hyp BUG at: [<%016llx>] %pB!\n", panic_addr, - (void *)panic_addr); + (void *)(panic_addr + kaslr_offset())); } else { kvm_err("nVHE hyp panic at: [<%016llx>] %pB!\n", panic_addr, - (void *)panic_addr); + (void *)(panic_addr + kaslr_offset())); } /* --- linux-gcp-5.19.0.orig/arch/arm64/kvm/hyp/exception.c +++ linux-gcp-5.19.0/arch/arm64/kvm/hyp/exception.c @@ -13,6 +13,7 @@ #include #include #include +#include #if !defined (__KVM_NVHE_HYPERVISOR__) && !defined (__KVM_VHE_HYPERVISOR__) #error Hypervisor code only! @@ -115,7 +116,7 @@ new |= (old & PSR_C_BIT); new |= (old & PSR_V_BIT); - if (kvm_has_mte(vcpu->kvm)) + if (kvm_has_mte(kern_hyp_va(vcpu->kvm))) new |= PSR_TCO_BIT; new |= (old & PSR_DIT_BIT); --- linux-gcp-5.19.0.orig/arch/arm64/kvm/hyp/include/hyp/switch.h +++ linux-gcp-5.19.0/arch/arm64/kvm/hyp/include/hyp/switch.h @@ -99,6 +99,17 @@ vcpu->arch.mdcr_el2_host = read_sysreg(mdcr_el2); write_sysreg(vcpu->arch.mdcr_el2, mdcr_el2); + + if (cpus_have_final_cap(ARM64_SME)) { + sysreg_clear_set_s(SYS_HFGRTR_EL2, + HFGxTR_EL2_nSMPRI_EL1_MASK | + HFGxTR_EL2_nTPIDR2_EL0_MASK, + 0); + sysreg_clear_set_s(SYS_HFGWTR_EL2, + HFGxTR_EL2_nSMPRI_EL1_MASK | + HFGxTR_EL2_nTPIDR2_EL0_MASK, + 0); + } } static inline void __deactivate_traps_common(struct kvm_vcpu *vcpu) @@ -108,6 +119,15 @@ write_sysreg(0, hstr_el2); if (kvm_arm_support_pmu_v3()) write_sysreg(0, pmuserenr_el0); + + if (cpus_have_final_cap(ARM64_SME)) { + sysreg_clear_set_s(SYS_HFGRTR_EL2, 0, + HFGxTR_EL2_nSMPRI_EL1_MASK | + HFGxTR_EL2_nTPIDR2_EL0_MASK); + sysreg_clear_set_s(SYS_HFGWTR_EL2, 0, + HFGxTR_EL2_nSMPRI_EL1_MASK | + HFGxTR_EL2_nTPIDR2_EL0_MASK); + } } static inline void ___activate_traps(struct kvm_vcpu *vcpu) --- linux-gcp-5.19.0.orig/arch/arm64/kvm/hyp/nvhe/Makefile +++ linux-gcp-5.19.0/arch/arm64/kvm/hyp/nvhe/Makefile @@ -84,6 +84,10 @@ # Remove ftrace, Shadow Call Stack, and CFI CFLAGS. # This is equivalent to the 'notrace', '__noscs', and '__nocfi' annotations. KBUILD_CFLAGS := $(filter-out $(CC_FLAGS_FTRACE) $(CC_FLAGS_SCS) $(CC_FLAGS_CFI), $(KBUILD_CFLAGS)) +# Starting from 13.0.0 llvm emits SHT_REL section '.llvm.call-graph-profile' +# when profile optimization is applied. gen-hyprel does not support SHT_REL and +# causes a build failure. Remove profile optimization flags. +KBUILD_CFLAGS := $(filter-out -fprofile-sample-use=% -fprofile-use=%, $(KBUILD_CFLAGS)) # KVM nVHE code is run at a different exception code with a different map, so # compiler instrumentation that inserts callbacks or checks into the code may --- linux-gcp-5.19.0.orig/arch/arm64/kvm/hyp/nvhe/switch.c +++ linux-gcp-5.19.0/arch/arm64/kvm/hyp/nvhe/switch.c @@ -53,18 +53,6 @@ write_sysreg(val, cptr_el2); write_sysreg(__this_cpu_read(kvm_hyp_vector), vbar_el2); - if (cpus_have_final_cap(ARM64_SME)) { - val = read_sysreg_s(SYS_HFGRTR_EL2); - val &= ~(HFGxTR_EL2_nTPIDR2_EL0_MASK | - HFGxTR_EL2_nSMPRI_EL1_MASK); - write_sysreg_s(val, SYS_HFGRTR_EL2); - - val = read_sysreg_s(SYS_HFGWTR_EL2); - val &= ~(HFGxTR_EL2_nTPIDR2_EL0_MASK | - HFGxTR_EL2_nSMPRI_EL1_MASK); - write_sysreg_s(val, SYS_HFGWTR_EL2); - } - if (cpus_have_final_cap(ARM64_WORKAROUND_SPECULATIVE_AT)) { struct kvm_cpu_context *ctxt = &vcpu->arch.ctxt; @@ -108,20 +96,6 @@ write_sysreg(this_cpu_ptr(&kvm_init_params)->hcr_el2, hcr_el2); - if (cpus_have_final_cap(ARM64_SME)) { - u64 val; - - val = read_sysreg_s(SYS_HFGRTR_EL2); - val |= HFGxTR_EL2_nTPIDR2_EL0_MASK | - HFGxTR_EL2_nSMPRI_EL1_MASK; - write_sysreg_s(val, SYS_HFGRTR_EL2); - - val = read_sysreg_s(SYS_HFGWTR_EL2); - val |= HFGxTR_EL2_nTPIDR2_EL0_MASK | - HFGxTR_EL2_nSMPRI_EL1_MASK; - write_sysreg_s(val, SYS_HFGWTR_EL2); - } - cptr = CPTR_EL2_DEFAULT; if (vcpu_has_sve(vcpu) && (vcpu->arch.flags & KVM_ARM64_FP_ENABLED)) cptr |= CPTR_EL2_TZ; @@ -386,5 +360,5 @@ asmlinkage void kvm_unexpected_el2_exception(void) { - return __kvm_unexpected_el2_exception(); + __kvm_unexpected_el2_exception(); } --- linux-gcp-5.19.0.orig/arch/arm64/kvm/hyp/vhe/switch.c +++ linux-gcp-5.19.0/arch/arm64/kvm/hyp/vhe/switch.c @@ -63,10 +63,6 @@ __activate_traps_fpsimd32(vcpu); } - if (cpus_have_final_cap(ARM64_SME)) - write_sysreg(read_sysreg(sctlr_el2) & ~SCTLR_ELx_ENTP2, - sctlr_el2); - write_sysreg(val, cpacr_el1); write_sysreg(__this_cpu_read(kvm_hyp_vector), vbar_el1); @@ -88,10 +84,6 @@ */ asm(ALTERNATIVE("nop", "isb", ARM64_WORKAROUND_SPECULATIVE_AT)); - if (cpus_have_final_cap(ARM64_SME)) - write_sysreg(read_sysreg(sctlr_el2) | SCTLR_ELx_ENTP2, - sctlr_el2); - write_sysreg(CPACR_EL1_DEFAULT, cpacr_el1); if (!arm64_kernel_unmapped_at_el0()) @@ -249,5 +241,5 @@ asmlinkage void kvm_unexpected_el2_exception(void) { - return __kvm_unexpected_el2_exception(); + __kvm_unexpected_el2_exception(); } --- linux-gcp-5.19.0.orig/arch/arm64/kvm/sys_regs.c +++ linux-gcp-5.19.0/arch/arm64/kvm/sys_regs.c @@ -692,7 +692,7 @@ */ val = ((pmcr & ~ARMV8_PMU_PMCR_MASK) | (ARMV8_PMU_PMCR_MASK & 0xdecafbad)) & (~ARMV8_PMU_PMCR_E); - if (!system_supports_32bit_el0()) + if (!kvm_supports_32bit_el0()) val |= ARMV8_PMU_PMCR_LC; __vcpu_sys_reg(vcpu, r->reg) = val; } @@ -741,7 +741,7 @@ val = __vcpu_sys_reg(vcpu, PMCR_EL0); val &= ~ARMV8_PMU_PMCR_MASK; val |= p->regval & ARMV8_PMU_PMCR_MASK; - if (!system_supports_32bit_el0()) + if (!kvm_supports_32bit_el0()) val |= ARMV8_PMU_PMCR_LC; __vcpu_sys_reg(vcpu, PMCR_EL0) = val; kvm_pmu_handle_pmcr(vcpu, val); --- linux-gcp-5.19.0.orig/arch/arm64/kvm/trace_arm.h +++ linux-gcp-5.19.0/arch/arm64/kvm/trace_arm.h @@ -2,6 +2,7 @@ #if !defined(_TRACE_ARM_ARM64_KVM_H) || defined(TRACE_HEADER_MULTI_READ) #define _TRACE_ARM_ARM64_KVM_H +#include #include #include --- linux-gcp-5.19.0.orig/arch/arm64/kvm/vgic/vgic-its.c +++ linux-gcp-5.19.0/arch/arm64/kvm/vgic/vgic-its.c @@ -2149,7 +2149,7 @@ memset(entry, 0, esz); - while (len > 0) { + while (true) { int next_offset; size_t byte_offset; @@ -2162,6 +2162,9 @@ return next_offset; byte_offset = next_offset * esz; + if (byte_offset >= len) + break; + id += next_offset; gpa += byte_offset; len -= byte_offset; --- linux-gcp-5.19.0.orig/arch/arm64/kvm/vgic/vgic-v3.c +++ linux-gcp-5.19.0/arch/arm64/kvm/vgic/vgic-v3.c @@ -350,26 +350,23 @@ * The deactivation of the doorbell interrupt will trigger the * unmapping of the associated vPE. */ -static void unmap_all_vpes(struct vgic_dist *dist) +static void unmap_all_vpes(struct kvm *kvm) { - struct irq_desc *desc; + struct vgic_dist *dist = &kvm->arch.vgic; int i; - for (i = 0; i < dist->its_vm.nr_vpes; i++) { - desc = irq_to_desc(dist->its_vm.vpes[i]->irq); - irq_domain_deactivate_irq(irq_desc_get_irq_data(desc)); - } + for (i = 0; i < dist->its_vm.nr_vpes; i++) + free_irq(dist->its_vm.vpes[i]->irq, kvm_get_vcpu(kvm, i)); } -static void map_all_vpes(struct vgic_dist *dist) +static void map_all_vpes(struct kvm *kvm) { - struct irq_desc *desc; + struct vgic_dist *dist = &kvm->arch.vgic; int i; - for (i = 0; i < dist->its_vm.nr_vpes; i++) { - desc = irq_to_desc(dist->its_vm.vpes[i]->irq); - irq_domain_activate_irq(irq_desc_get_irq_data(desc), false); - } + for (i = 0; i < dist->its_vm.nr_vpes; i++) + WARN_ON(vgic_v4_request_vpe_irq(kvm_get_vcpu(kvm, i), + dist->its_vm.vpes[i]->irq)); } /** @@ -394,7 +391,7 @@ * and enabling of the doorbells have already been done. */ if (kvm_vgic_global_state.has_gicv4_1) { - unmap_all_vpes(dist); + unmap_all_vpes(kvm); vlpi_avail = true; } @@ -444,7 +441,7 @@ out: if (vlpi_avail) - map_all_vpes(dist); + map_all_vpes(kvm); return ret; } --- linux-gcp-5.19.0.orig/arch/arm64/kvm/vgic/vgic-v4.c +++ linux-gcp-5.19.0/arch/arm64/kvm/vgic/vgic-v4.c @@ -222,6 +222,11 @@ *val = !!(*ptr & mask); } +int vgic_v4_request_vpe_irq(struct kvm_vcpu *vcpu, int irq) +{ + return request_irq(irq, vgic_v4_doorbell_handler, 0, "vcpu", vcpu); +} + /** * vgic_v4_init - Initialize the GICv4 data structures * @kvm: Pointer to the VM being initialized @@ -283,8 +288,7 @@ irq_flags &= ~IRQ_NOAUTOEN; irq_set_status_flags(irq, irq_flags); - ret = request_irq(irq, vgic_v4_doorbell_handler, - 0, "vcpu", vcpu); + ret = vgic_v4_request_vpe_irq(vcpu, irq); if (ret) { kvm_err("failed to allocate vcpu IRQ%d\n", irq); /* --- linux-gcp-5.19.0.orig/arch/arm64/kvm/vgic/vgic.h +++ linux-gcp-5.19.0/arch/arm64/kvm/vgic/vgic.h @@ -332,5 +332,6 @@ void vgic_v4_teardown(struct kvm *kvm); void vgic_v4_configure_vsgis(struct kvm *kvm); void vgic_v4_get_vlpi_state(struct vgic_irq *irq, bool *val); +int vgic_v4_request_vpe_irq(struct kvm_vcpu *vcpu, int irq); #endif --- linux-gcp-5.19.0.orig/arch/arm64/mm/fault.c +++ linux-gcp-5.19.0/arch/arm64/mm/fault.c @@ -353,6 +353,11 @@ return false; } +static bool is_translation_fault(unsigned long esr) +{ + return (esr & ESR_ELx_FSC_TYPE) == ESR_ELx_FSC_FAULT; +} + static void __do_kernel_fault(unsigned long addr, unsigned long esr, struct pt_regs *regs) { @@ -385,7 +390,8 @@ } else if (addr < PAGE_SIZE) { msg = "NULL pointer dereference"; } else { - if (kfence_handle_page_fault(addr, esr & ESR_ELx_WNR, regs)) + if (is_translation_fault(esr) && + kfence_handle_page_fault(addr, esr & ESR_ELx_WNR, regs)) return; msg = "paging request"; --- linux-gcp-5.19.0.orig/arch/arm64/mm/mmu.c +++ linux-gcp-5.19.0/arch/arm64/mm/mmu.c @@ -516,7 +516,7 @@ */ BUILD_BUG_ON(pgd_index(direct_map_end - 1) == pgd_index(direct_map_end)); - if (can_set_direct_map() || IS_ENABLED(CONFIG_KFENCE)) + if (can_set_direct_map()) flags |= NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS; /* @@ -625,24 +625,6 @@ vm_area_add_early(vma); } -static int __init parse_rodata(char *arg) -{ - int ret = strtobool(arg, &rodata_enabled); - if (!ret) { - rodata_full = false; - return 0; - } - - /* permit 'full' in addition to boolean options */ - if (strcmp(arg, "full")) - return -EINVAL; - - rodata_enabled = true; - rodata_full = true; - return 0; -} -early_param("rodata", parse_rodata); - #ifdef CONFIG_UNMAP_KERNEL_AT_EL0 static int __init map_entry_trampoline(void) { @@ -1517,11 +1499,7 @@ VM_BUG_ON(!mhp_range_allowed(start, size, true)); - /* - * KFENCE requires linear map to be mapped at page granularity, so that - * it is possible to protect/unprotect single pages in the KFENCE pool. - */ - if (can_set_direct_map() || IS_ENABLED(CONFIG_KFENCE)) + if (can_set_direct_map()) flags |= NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS; __create_pgd_mapping(swapper_pg_dir, start, __phys_to_virt(start), --- linux-gcp-5.19.0.orig/arch/arm64/mm/mteswap.c +++ linux-gcp-5.19.0/arch/arm64/mm/mteswap.c @@ -62,7 +62,12 @@ * the new page->flags are visible before the tags were updated. */ smp_wmb(); - mte_restore_page_tags(page_address(page), tags); + /* + * Test PG_mte_tagged again in case it was racing with another + * set_pte_at(). + */ + if (!test_and_set_bit(PG_mte_tagged, &page->flags)) + mte_restore_page_tags(page_address(page), tags); return true; } --- linux-gcp-5.19.0.orig/arch/arm64/mm/pageattr.c +++ linux-gcp-5.19.0/arch/arm64/mm/pageattr.c @@ -21,7 +21,13 @@ bool can_set_direct_map(void) { - return rodata_full || debug_pagealloc_enabled(); + /* + * rodata_full, DEBUG_PAGEALLOC and KFENCE require linear map to be + * mapped at page granularity, so that it is possible to + * protect/unprotect single pages. + */ + return (rodata_enabled && rodata_full) || debug_pagealloc_enabled() || + IS_ENABLED(CONFIG_KFENCE); } static int change_page_range(pte_t *ptep, unsigned long addr, void *data) @@ -96,7 +102,8 @@ * If we are manipulating read-only permissions, apply the same * change to the linear mapping of the pages that back this VM area. */ - if (rodata_full && (pgprot_val(set_mask) == PTE_RDONLY || + if (rodata_enabled && + rodata_full && (pgprot_val(set_mask) == PTE_RDONLY || pgprot_val(clear_mask) == PTE_RDONLY)) { for (i = 0; i < area->nr_pages; i++) { __change_memory_common((u64)page_address(area->pages[i]), --- linux-gcp-5.19.0.orig/arch/arm64/mm/proc.S +++ linux-gcp-5.19.0/arch/arm64/mm/proc.S @@ -47,17 +47,19 @@ #ifdef CONFIG_KASAN_HW_TAGS #define TCR_MTE_FLAGS TCR_TCMA1 | TCR_TBI1 | TCR_TBID1 -#else +#elif defined(CONFIG_ARM64_MTE) /* * The mte_zero_clear_page_tags() implementation uses DC GZVA, which relies on * TBI being enabled at EL1. */ #define TCR_MTE_FLAGS TCR_TBI1 | TCR_TBID1 +#else +#define TCR_MTE_FLAGS 0 #endif /* * Default MAIR_EL1. MT_NORMAL_TAGGED is initially mapped as Normal memory and - * changed during __cpu_setup to Normal Tagged if the system supports MTE. + * changed during mte_cpu_setup to Normal Tagged if the system supports MTE. */ #define MAIR_EL1_SET \ (MAIR_ATTRIDX(MAIR_ATTR_DEVICE_nGnRnE, MT_DEVICE_nGnRnE) | \ @@ -421,46 +423,8 @@ mov_q mair, MAIR_EL1_SET mov_q tcr, TCR_TxSZ(VA_BITS) | TCR_CACHE_FLAGS | TCR_SMP_FLAGS | \ TCR_TG_FLAGS | TCR_KASLR_FLAGS | TCR_ASID16 | \ - TCR_TBI0 | TCR_A1 | TCR_KASAN_SW_FLAGS - -#ifdef CONFIG_ARM64_MTE - /* - * Update MAIR_EL1, GCR_EL1 and TFSR*_EL1 if MTE is supported - * (ID_AA64PFR1_EL1[11:8] > 1). - */ - mrs x10, ID_AA64PFR1_EL1 - ubfx x10, x10, #ID_AA64PFR1_MTE_SHIFT, #4 - cmp x10, #ID_AA64PFR1_MTE - b.lt 1f - - /* Normal Tagged memory type at the corresponding MAIR index */ - mov x10, #MAIR_ATTR_NORMAL_TAGGED - bfi mair, x10, #(8 * MT_NORMAL_TAGGED), #8 + TCR_TBI0 | TCR_A1 | TCR_KASAN_SW_FLAGS | TCR_MTE_FLAGS - mov x10, #KERNEL_GCR_EL1 - msr_s SYS_GCR_EL1, x10 - - /* - * If GCR_EL1.RRND=1 is implemented the same way as RRND=0, then - * RGSR_EL1.SEED must be non-zero for IRG to produce - * pseudorandom numbers. As RGSR_EL1 is UNKNOWN out of reset, we - * must initialize it. - */ - mrs x10, CNTVCT_EL0 - ands x10, x10, #SYS_RGSR_EL1_SEED_MASK - csinc x10, x10, xzr, ne - lsl x10, x10, #SYS_RGSR_EL1_SEED_SHIFT - msr_s SYS_RGSR_EL1, x10 - - /* clear any pending tag check faults in TFSR*_EL1 */ - msr_s SYS_TFSR_EL1, xzr - msr_s SYS_TFSRE0_EL1, xzr - - /* set the TCR_EL1 bits */ - mov_q x10, TCR_MTE_FLAGS - orr tcr, tcr, x10 -1: -#endif tcr_clear_errata_bits tcr, x9, x5 #ifdef CONFIG_ARM64_VA_BITS_52 --- linux-gcp-5.19.0.orig/arch/arm64/tools/cpucaps +++ linux-gcp-5.19.0/arch/arm64/tools/cpucaps @@ -61,10 +61,12 @@ WORKAROUND_1463225 WORKAROUND_1508412 WORKAROUND_1542419 +WORKAROUND_1742098 WORKAROUND_1902691 WORKAROUND_2038923 WORKAROUND_2064142 WORKAROUND_2077057 +WORKAROUND_2457168 WORKAROUND_TRBE_OVERWRITE_FILL_MODE WORKAROUND_TSB_FLUSH_FAILURE WORKAROUND_TRBE_WRITE_OUT_OF_RANGE --- linux-gcp-5.19.0.orig/arch/csky/abiv1/inc/abi/string.h +++ linux-gcp-5.19.0/arch/csky/abiv1/inc/abi/string.h @@ -6,4 +6,10 @@ #define __HAVE_ARCH_MEMCPY extern void *memcpy(void *, const void *, __kernel_size_t); +#define __HAVE_ARCH_MEMMOVE +extern void *memmove(void *, const void *, __kernel_size_t); + +#define __HAVE_ARCH_MEMSET +extern void *memset(void *, int, __kernel_size_t); + #endif /* __ABI_CSKY_STRING_H */ --- linux-gcp-5.19.0.orig/arch/csky/kernel/probes/kprobes.c +++ linux-gcp-5.19.0/arch/csky/kernel/probes/kprobes.c @@ -124,6 +124,10 @@ void __kprobes arch_remove_kprobe(struct kprobe *p) { + if (p->ainsn.api.insn) { + free_insn_slot(p->ainsn.api.insn, 0); + p->ainsn.api.insn = NULL; + } } static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb) --- linux-gcp-5.19.0.orig/arch/ia64/include/asm/processor.h +++ linux-gcp-5.19.0/arch/ia64/include/asm/processor.h @@ -538,7 +538,7 @@ { unsigned int reg = vector / 64; unsigned int bit = vector % 64; - u64 irr; + unsigned long irr; switch (reg) { case 0: irr = ia64_getreg(_IA64_REG_CR_IRR0); break; --- linux-gcp-5.19.0.orig/arch/ia64/kernel/elfcore.c +++ linux-gcp-5.19.0/arch/ia64/kernel/elfcore.c @@ -7,7 +7,7 @@ #include -Elf64_Half elf_core_extra_phdrs(void) +Elf64_Half elf_core_extra_phdrs(struct coredump_params *cprm) { return GATE_EHDR->e_phnum; } @@ -60,7 +60,7 @@ return 1; } -size_t elf_core_extra_data_size(void) +size_t elf_core_extra_data_size(struct coredump_params *cprm) { const struct elf_phdr *const gate_phdrs = (const struct elf_phdr *) (GATE_ADDR + GATE_EHDR->e_phoff); --- linux-gcp-5.19.0.orig/arch/ia64/mm/numa.c +++ linux-gcp-5.19.0/arch/ia64/mm/numa.c @@ -75,5 +75,6 @@ return 0; return nid; } +EXPORT_SYMBOL(memory_add_physaddr_to_nid); #endif #endif --- linux-gcp-5.19.0.orig/arch/loongarch/Kconfig +++ linux-gcp-5.19.0/arch/loongarch/Kconfig @@ -36,6 +36,7 @@ select ARCH_INLINE_SPIN_UNLOCK_BH if !PREEMPTION select ARCH_INLINE_SPIN_UNLOCK_IRQ if !PREEMPTION select ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE if !PREEMPTION + select ARCH_KEEP_MEMBLOCK select ARCH_MIGHT_HAVE_PC_PARPORT select ARCH_MIGHT_HAVE_PC_SERIO select ARCH_SPARSEMEM_ENABLE --- linux-gcp-5.19.0.orig/arch/loongarch/Makefile +++ linux-gcp-5.19.0/arch/loongarch/Makefile @@ -66,7 +66,7 @@ ifdef CONFIG_LOONGARCH CHECKFLAGS += $(shell $(CC) $(KBUILD_CFLAGS) -dM -E -x c /dev/null | \ - egrep -vw '__GNUC_(MINOR_|PATCHLEVEL_)?_' | \ + grep -E -vw '__GNUC_(MINOR_|PATCHLEVEL_)?_' | \ sed -e "s/^\#define /-D'/" -e "s/ /'='/" -e "s/$$/'/" -e 's/\$$/&&/g') endif --- linux-gcp-5.19.0.orig/arch/loongarch/include/asm/acpi.h +++ linux-gcp-5.19.0/arch/loongarch/include/asm/acpi.h @@ -15,7 +15,7 @@ extern int acpi_noirq; #define acpi_os_ioremap acpi_os_ioremap -void __init __iomem *acpi_os_ioremap(acpi_physical_address phys, acpi_size size); +void __iomem *acpi_os_ioremap(acpi_physical_address phys, acpi_size size); static inline void disable_acpi(void) { --- linux-gcp-5.19.0.orig/arch/loongarch/include/asm/pgtable.h +++ linux-gcp-5.19.0/arch/loongarch/include/asm/pgtable.h @@ -355,13 +355,17 @@ static inline pte_t pte_mkdirty(pte_t pte) { - pte_val(pte) |= (_PAGE_DIRTY | _PAGE_MODIFIED); + pte_val(pte) |= _PAGE_MODIFIED; + if (pte_val(pte) & _PAGE_WRITE) + pte_val(pte) |= _PAGE_DIRTY; return pte; } static inline pte_t pte_mkwrite(pte_t pte) { - pte_val(pte) |= (_PAGE_WRITE | _PAGE_DIRTY); + pte_val(pte) |= _PAGE_WRITE; + if (pte_val(pte) & _PAGE_MODIFIED) + pte_val(pte) |= _PAGE_DIRTY; return pte; } @@ -458,7 +462,9 @@ static inline pmd_t pmd_mkwrite(pmd_t pmd) { - pmd_val(pmd) |= (_PAGE_WRITE | _PAGE_DIRTY); + pmd_val(pmd) |= _PAGE_WRITE; + if (pmd_val(pmd) & _PAGE_MODIFIED) + pmd_val(pmd) |= _PAGE_DIRTY; return pmd; } @@ -481,7 +487,9 @@ static inline pmd_t pmd_mkdirty(pmd_t pmd) { - pmd_val(pmd) |= (_PAGE_DIRTY | _PAGE_MODIFIED); + pmd_val(pmd) |= _PAGE_MODIFIED; + if (pmd_val(pmd) & _PAGE_WRITE) + pmd_val(pmd) |= _PAGE_DIRTY; return pmd; } --- linux-gcp-5.19.0.orig/arch/loongarch/kernel/acpi.c +++ linux-gcp-5.19.0/arch/loongarch/kernel/acpi.c @@ -113,7 +113,7 @@ early_memunmap(map, size); } -void __init __iomem *acpi_os_ioremap(acpi_physical_address phys, acpi_size size) +void __iomem *acpi_os_ioremap(acpi_physical_address phys, acpi_size size) { if (!memblock_is_memory(phys)) return ioremap(phys, size); @@ -121,23 +121,6 @@ return ioremap_cache(phys, size); } -void __init acpi_boot_table_init(void) -{ - /* - * If acpi_disabled, bail out - */ - if (acpi_disabled) - return; - - /* - * Initialize the ACPI boot-time table parser. - */ - if (acpi_table_init()) { - disable_acpi(); - return; - } -} - #ifdef CONFIG_SMP static int set_processor_mask(u32 id, u32 flags) { @@ -183,13 +166,21 @@ loongson_sysconf.nr_cpus = num_processors; } -int __init acpi_boot_init(void) +void __init acpi_boot_table_init(void) { /* * If acpi_disabled, bail out */ if (acpi_disabled) - return -1; + return; + + /* + * Initialize the ACPI boot-time table parser. + */ + if (acpi_table_init()) { + disable_acpi(); + return; + } loongson_sysconf.boot_cpu_id = read_csr_cpuid(); @@ -200,8 +191,6 @@ /* Do not enable ACPI SPCR console by default */ acpi_parse_spcr(earlycon_acpi_spcr_enable, false); - - return 0; } #ifdef CONFIG_ACPI_NUMA --- linux-gcp-5.19.0.orig/arch/loongarch/kernel/proc.c +++ linux-gcp-5.19.0/arch/loongarch/kernel/proc.c @@ -106,7 +106,7 @@ { unsigned long i = *pos; - return i < NR_CPUS ? (void *)(i + 1) : NULL; + return i < nr_cpu_ids ? (void *)(i + 1) : NULL; } static void *c_next(struct seq_file *m, void *v, loff_t *pos) --- linux-gcp-5.19.0.orig/arch/loongarch/kernel/process.c +++ linux-gcp-5.19.0/arch/loongarch/kernel/process.c @@ -149,7 +149,7 @@ childregs->csr_crmd = p->thread.csr_crmd; childregs->csr_prmd = p->thread.csr_prmd; childregs->csr_ecfg = p->thread.csr_ecfg; - return 0; + goto out; } /* user thread */ @@ -167,14 +167,15 @@ */ childregs->csr_euen = 0; + if (clone_flags & CLONE_SETTLS) + childregs->regs[2] = tls; + +out: clear_tsk_thread_flag(p, TIF_USEDFPU); clear_tsk_thread_flag(p, TIF_USEDSIMD); clear_tsk_thread_flag(p, TIF_LSX_CTX_LIVE); clear_tsk_thread_flag(p, TIF_LASX_CTX_LIVE); - if (clone_flags & CLONE_SETTLS) - childregs->regs[2] = tls; - return 0; } --- linux-gcp-5.19.0.orig/arch/loongarch/kernel/setup.c +++ linux-gcp-5.19.0/arch/loongarch/kernel/setup.c @@ -203,7 +203,6 @@ #ifdef CONFIG_ACPI acpi_gbl_use_default_register_widths = false; acpi_boot_table_init(); - acpi_boot_init(); #endif #ifdef CONFIG_NUMA --- linux-gcp-5.19.0.orig/arch/loongarch/mm/init.c +++ linux-gcp-5.19.0/arch/loongarch/mm/init.c @@ -131,18 +131,6 @@ return ret; } -#ifdef CONFIG_NUMA -int memory_add_physaddr_to_nid(u64 start) -{ - int nid; - - nid = pa_to_nid(start); - return nid; -} -EXPORT_SYMBOL_GPL(memory_add_physaddr_to_nid); -#endif - -#ifdef CONFIG_MEMORY_HOTREMOVE void arch_remove_memory(u64 start, u64 size, struct vmem_altmap *altmap) { unsigned long start_pfn = start >> PAGE_SHIFT; @@ -154,6 +142,16 @@ page += vmem_altmap_offset(altmap); __remove_pages(start_pfn, nr_pages, altmap); } + +#ifdef CONFIG_NUMA +int memory_add_physaddr_to_nid(u64 start) +{ + int nid; + + nid = pa_to_nid(start); + return nid; +} +EXPORT_SYMBOL_GPL(memory_add_physaddr_to_nid); #endif #endif --- linux-gcp-5.19.0.orig/arch/m68k/68000/entry.S +++ linux-gcp-5.19.0/arch/m68k/68000/entry.S @@ -45,6 +45,8 @@ jbsr syscall_trace_enter RESTORE_SWITCH_STACK addql #4,%sp + addql #1,%d0 + jeq ret_from_exception movel %sp@(PT_OFF_ORIG_D0),%d1 movel #-ENOSYS,%d0 cmpl #NR_syscalls,%d1 --- linux-gcp-5.19.0.orig/arch/m68k/Kconfig.devices +++ linux-gcp-5.19.0/arch/m68k/Kconfig.devices @@ -19,6 +19,7 @@ # We have a dedicated heartbeat LED. :-) config PROC_HARDWARE bool "/proc/hardware support" + depends on PROC_FS help Say Y here to support the /proc/hardware file, which gives you access to information about the machine you're running on, --- linux-gcp-5.19.0.orig/arch/m68k/coldfire/device.c +++ linux-gcp-5.19.0/arch/m68k/coldfire/device.c @@ -581,7 +581,7 @@ }; #endif /* MCFSDHC_BASE */ -#if IS_ENABLED(CONFIG_CAN_FLEXCAN) +#ifdef MCFFLEXCAN_SIZE #include @@ -620,7 +620,7 @@ .resource = mcf5441x_flexcan0_resource, .dev.platform_data = &mcf5441x_flexcan_info, }; -#endif /* IS_ENABLED(CONFIG_CAN_FLEXCAN) */ +#endif /* MCFFLEXCAN_SIZE */ static struct platform_device *mcf_devices[] __initdata = { &mcf_uart, @@ -657,7 +657,7 @@ #ifdef MCFSDHC_BASE &mcf_esdhc, #endif -#if IS_ENABLED(CONFIG_CAN_FLEXCAN) +#ifdef MCFFLEXCAN_SIZE &mcf_flexcan0, #endif }; --- linux-gcp-5.19.0.orig/arch/m68k/coldfire/entry.S +++ linux-gcp-5.19.0/arch/m68k/coldfire/entry.S @@ -90,6 +90,8 @@ jbsr syscall_trace_enter RESTORE_SWITCH_STACK addql #4,%sp + addql #1,%d0 + jeq ret_from_exception movel %d3,%a0 jbsr %a0@ movel %d0,%sp@(PT_OFF_D0) /* save the return value */ --- linux-gcp-5.19.0.orig/arch/m68k/kernel/entry.S +++ linux-gcp-5.19.0/arch/m68k/kernel/entry.S @@ -184,9 +184,12 @@ jbsr syscall_trace_enter RESTORE_SWITCH_STACK addql #4,%sp + addql #1,%d0 | optimization for cmpil #-1,%d0 + jeq ret_from_syscall movel %sp@(PT_OFF_ORIG_D0),%d0 cmpl #NR_syscalls,%d0 jcs syscall + jra ret_from_syscall badsys: movel #-ENOSYS,%sp@(PT_OFF_D0) jra ret_from_syscall --- linux-gcp-5.19.0.orig/arch/m68k/virt/platform.c +++ linux-gcp-5.19.0/arch/m68k/virt/platform.c @@ -8,20 +8,15 @@ #define VIRTIO_BUS_NB 128 -static int __init virt_virtio_init(unsigned int id) +static struct platform_device * __init virt_virtio_init(unsigned int id) { const struct resource res[] = { DEFINE_RES_MEM(virt_bi_data.virtio.mmio + id * 0x200, 0x200), DEFINE_RES_IRQ(virt_bi_data.virtio.irq + id), }; - struct platform_device *pdev; - pdev = platform_device_register_simple("virtio-mmio", id, + return platform_device_register_simple("virtio-mmio", id, res, ARRAY_SIZE(res)); - if (IS_ERR(pdev)) - return PTR_ERR(pdev); - - return 0; } static int __init virt_platform_init(void) @@ -35,8 +30,10 @@ DEFINE_RES_MEM(virt_bi_data.rtc.mmio + 0x1000, 0x1000), DEFINE_RES_IRQ(virt_bi_data.rtc.irq + 1), }; - struct platform_device *pdev; + struct platform_device *pdev1, *pdev2; + struct platform_device *pdevs[VIRTIO_BUS_NB]; unsigned int i; + int ret = 0; if (!MACH_IS_VIRT) return -ENODEV; @@ -44,29 +41,40 @@ /* We need this to have DMA'able memory provided to goldfish-tty */ min_low_pfn = 0; - pdev = platform_device_register_simple("goldfish_tty", - PLATFORM_DEVID_NONE, - goldfish_tty_res, - ARRAY_SIZE(goldfish_tty_res)); - if (IS_ERR(pdev)) - return PTR_ERR(pdev); - - pdev = platform_device_register_simple("goldfish_rtc", - PLATFORM_DEVID_NONE, - goldfish_rtc_res, - ARRAY_SIZE(goldfish_rtc_res)); - if (IS_ERR(pdev)) - return PTR_ERR(pdev); + pdev1 = platform_device_register_simple("goldfish_tty", + PLATFORM_DEVID_NONE, + goldfish_tty_res, + ARRAY_SIZE(goldfish_tty_res)); + if (IS_ERR(pdev1)) + return PTR_ERR(pdev1); + + pdev2 = platform_device_register_simple("goldfish_rtc", + PLATFORM_DEVID_NONE, + goldfish_rtc_res, + ARRAY_SIZE(goldfish_rtc_res)); + if (IS_ERR(pdev2)) { + ret = PTR_ERR(pdev2); + goto err_unregister_tty; + } for (i = 0; i < VIRTIO_BUS_NB; i++) { - int err; - - err = virt_virtio_init(i); - if (err) - return err; + pdevs[i] = virt_virtio_init(i); + if (IS_ERR(pdevs[i])) { + ret = PTR_ERR(pdevs[i]); + goto err_unregister_rtc_virtio; + } } return 0; + +err_unregister_rtc_virtio: + while (i > 0) + platform_device_unregister(pdevs[--i]); + platform_device_unregister(pdev2); +err_unregister_tty: + platform_device_unregister(pdev1); + + return ret; } arch_initcall(virt_platform_init); --- linux-gcp-5.19.0.orig/arch/mips/bcm47xx/prom.c +++ linux-gcp-5.19.0/arch/mips/bcm47xx/prom.c @@ -86,7 +86,7 @@ pr_debug("Assume 128MB RAM\n"); break; } - if (!memcmp(prom_init, prom_init + mem, 32)) + if (!memcmp((void *)prom_init, (void *)prom_init + mem, 32)) break; } lowmem = mem; @@ -159,7 +159,7 @@ off = EXTVBASE + __pa(off); for (extmem = 128 << 20; extmem < 512 << 20; extmem <<= 1) { - if (!memcmp(prom_init, (void *)(off + extmem), 16)) + if (!memcmp((void *)prom_init, (void *)(off + extmem), 16)) break; } extmem -= lowmem; --- linux-gcp-5.19.0.orig/arch/mips/bcm63xx/clk.c +++ linux-gcp-5.19.0/arch/mips/bcm63xx/clk.c @@ -361,6 +361,8 @@ */ int clk_enable(struct clk *clk) { + if (!clk) + return 0; mutex_lock(&clocks_mutex); clk_enable_unlocked(clk); mutex_unlock(&clocks_mutex); --- linux-gcp-5.19.0.orig/arch/mips/boot/dts/ingenic/ci20.dts +++ linux-gcp-5.19.0/arch/mips/boot/dts/ingenic/ci20.dts @@ -113,7 +113,7 @@ regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; - gpio = <&gpf 14 GPIO_ACTIVE_LOW>; + gpio = <&gpf 15 GPIO_ACTIVE_LOW>; enable-active-high; }; }; --- linux-gcp-5.19.0.orig/arch/mips/boot/dts/ralink/mt7621-gnubee-gb-pc2.dts +++ linux-gcp-5.19.0/arch/mips/boot/dts/ralink/mt7621-gnubee-gb-pc2.dts @@ -83,12 +83,12 @@ &gmac1 { status = "okay"; - phy-handle = <ðphy7>; + phy-handle = <ðphy5>; }; &mdio { - ethphy7: ethernet-phy@7 { - reg = <7>; + ethphy5: ethernet-phy@5 { + reg = <5>; phy-mode = "rgmii-rxid"; }; }; --- linux-gcp-5.19.0.orig/arch/mips/cavium-octeon/executive/cvmx-helper-board.c +++ linux-gcp-5.19.0/arch/mips/cavium-octeon/executive/cvmx-helper-board.c @@ -211,7 +211,7 @@ { union cvmx_helper_link_info result; - WARN(!octeon_is_simulation(), + WARN_ONCE(!octeon_is_simulation(), "Using deprecated link status - please update your DT"); /* Unless we fix it later, all links are defaulted to down */ --- linux-gcp-5.19.0.orig/arch/mips/cavium-octeon/executive/cvmx-helper.c +++ linux-gcp-5.19.0/arch/mips/cavium-octeon/executive/cvmx-helper.c @@ -1096,7 +1096,7 @@ if (index == 0) result = __cvmx_helper_rgmii_link_get(ipd_port); else { - WARN(1, "Using deprecated link status - please update your DT"); + WARN_ONCE(1, "Using deprecated link status - please update your DT"); result.s.full_duplex = 1; result.s.link_up = 1; result.s.speed = 1000; --- linux-gcp-5.19.0.orig/arch/mips/cavium-octeon/octeon-platform.c +++ linux-gcp-5.19.0/arch/mips/cavium-octeon/octeon-platform.c @@ -86,11 +86,12 @@ "refclk-frequency", &clock_rate); if (i) { dev_err(dev, "No UCTL \"refclk-frequency\"\n"); + of_node_put(uctl_node); goto exit; } i = of_property_read_string(uctl_node, "refclk-type", &clock_type); - + of_node_put(uctl_node); if (!i && strcmp("crystal", clock_type) == 0) is_crystal_clock = true; } --- linux-gcp-5.19.0.orig/arch/mips/include/asm/fw/fw.h +++ linux-gcp-5.19.0/arch/mips/include/asm/fw/fw.h @@ -26,6 +26,6 @@ extern void fw_meminit(void); extern char *fw_getenv(char *name); extern unsigned long fw_getenvl(char *name); -extern void fw_init_early_console(char port); +extern void fw_init_early_console(void); #endif /* __ASM_FW_H_ */ --- linux-gcp-5.19.0.orig/arch/mips/include/asm/mach-ralink/mt7621.h +++ linux-gcp-5.19.0/arch/mips/include/asm/mach-ralink/mt7621.h @@ -7,10 +7,12 @@ #ifndef _MT7621_REGS_H_ #define _MT7621_REGS_H_ +#define IOMEM(x) ((void __iomem *)(KSEG1ADDR(x))) + #define MT7621_PALMBUS_BASE 0x1C000000 #define MT7621_PALMBUS_SIZE 0x03FFFFFF -#define MT7621_SYSC_BASE 0x1E000000 +#define MT7621_SYSC_BASE IOMEM(0x1E000000) #define SYSC_REG_CHIP_NAME0 0x00 #define SYSC_REG_CHIP_NAME1 0x04 --- linux-gcp-5.19.0.orig/arch/mips/include/asm/syscall.h +++ linux-gcp-5.19.0/arch/mips/include/asm/syscall.h @@ -38,7 +38,7 @@ static inline long syscall_get_nr(struct task_struct *task, struct pt_regs *regs) { - return current_thread_info()->syscall; + return task_thread_info(task)->syscall; } static inline void mips_syscall_update_nr(struct task_struct *task, --- linux-gcp-5.19.0.orig/arch/mips/kernel/jump_label.c +++ linux-gcp-5.19.0/arch/mips/kernel/jump_label.c @@ -56,7 +56,7 @@ * The branch offset must fit in the instruction's 26 * bit field. */ - WARN_ON((offset >= BIT(25)) || + WARN_ON((offset >= (long)BIT(25)) || (offset < -(long)BIT(25))); insn.j_format.opcode = bc6_op; --- linux-gcp-5.19.0.orig/arch/mips/kernel/proc.c +++ linux-gcp-5.19.0/arch/mips/kernel/proc.c @@ -311,7 +311,7 @@ { unsigned long i = *pos; - return i < NR_CPUS ? (void *) (i + 1) : NULL; + return i < nr_cpu_ids ? (void *) (i + 1) : NULL; } static void *c_next(struct seq_file *m, void *v, loff_t *pos) --- linux-gcp-5.19.0.orig/arch/mips/kernel/relocate_kernel.S +++ linux-gcp-5.19.0/arch/mips/kernel/relocate_kernel.S @@ -145,8 +145,7 @@ * kexec_args[0..3] are used to prepare register values. */ -kexec_args: - EXPORT(kexec_args) +EXPORT(kexec_args) arg0: PTR_WD 0x0 arg1: PTR_WD 0x0 arg2: PTR_WD 0x0 @@ -159,8 +158,7 @@ * their registers a0-a3. secondary_kexec_args[0..3] are used * to prepare register values. */ -secondary_kexec_args: - EXPORT(secondary_kexec_args) +EXPORT(secondary_kexec_args) s_arg0: PTR_WD 0x0 s_arg1: PTR_WD 0x0 s_arg2: PTR_WD 0x0 @@ -171,19 +169,16 @@ #endif -kexec_start_address: - EXPORT(kexec_start_address) +EXPORT(kexec_start_address) PTR_WD 0x0 .size kexec_start_address, PTRSIZE -kexec_indirection_page: - EXPORT(kexec_indirection_page) +EXPORT(kexec_indirection_page) PTR_WD 0 .size kexec_indirection_page, PTRSIZE relocate_new_kernel_end: -relocate_new_kernel_size: - EXPORT(relocate_new_kernel_size) +EXPORT(relocate_new_kernel_size) PTR_WD relocate_new_kernel_end - relocate_new_kernel .size relocate_new_kernel_size, PTRSIZE --- linux-gcp-5.19.0.orig/arch/mips/kernel/vdso.c +++ linux-gcp-5.19.0/arch/mips/kernel/vdso.c @@ -159,7 +159,7 @@ /* Map GIC user page. */ if (gic_size) { gic_base = (unsigned long)mips_gic_base + MIPS_GIC_USER_OFS; - gic_pfn = virt_to_phys((void *)gic_base) >> PAGE_SHIFT; + gic_pfn = PFN_DOWN(__pa(gic_base)); ret = io_remap_pfn_range(vma, base, gic_pfn, gic_size, pgprot_noncached(vma->vm_page_prot)); --- linux-gcp-5.19.0.orig/arch/mips/kernel/vpe-cmp.c +++ linux-gcp-5.19.0/arch/mips/kernel/vpe-cmp.c @@ -75,7 +75,6 @@ static void vpe_device_release(struct device *cd) { - kfree(cd); } static struct class vpe_class = { @@ -157,6 +156,7 @@ device_del(&vpe_device); out_class: + put_device(&vpe_device); class_unregister(&vpe_class); out_chrdev: @@ -169,7 +169,7 @@ { struct vpe *v, *n; - device_del(&vpe_device); + device_unregister(&vpe_device); class_unregister(&vpe_class); unregister_chrdev(major, VPE_MODULE_NAME); --- linux-gcp-5.19.0.orig/arch/mips/kernel/vpe-mt.c +++ linux-gcp-5.19.0/arch/mips/kernel/vpe-mt.c @@ -313,7 +313,6 @@ static void vpe_device_release(struct device *cd) { - kfree(cd); } static struct class vpe_class = { @@ -497,6 +496,7 @@ device_del(&vpe_device); out_class: + put_device(&vpe_device); class_unregister(&vpe_class); out_chrdev: @@ -509,7 +509,7 @@ { struct vpe *v, *n; - device_del(&vpe_device); + device_unregister(&vpe_device); class_unregister(&vpe_class); unregister_chrdev(major, VPE_MODULE_NAME); --- linux-gcp-5.19.0.orig/arch/mips/lantiq/clk.c +++ linux-gcp-5.19.0/arch/mips/lantiq/clk.c @@ -50,6 +50,7 @@ { return &cpu_clk_generic[2]; } +EXPORT_SYMBOL_GPL(clk_get_io); struct clk *clk_get_ppe(void) { --- linux-gcp-5.19.0.orig/arch/mips/loongson32/common/platform.c +++ linux-gcp-5.19.0/arch/mips/loongson32/common/platform.c @@ -98,7 +98,7 @@ if (plat_dat->bus_id) { __raw_writel(__raw_readl(LS1X_MUX_CTRL0) | GMAC1_USE_UART1 | GMAC1_USE_UART0, LS1X_MUX_CTRL0); - switch (plat_dat->interface) { + switch (plat_dat->phy_interface) { case PHY_INTERFACE_MODE_RGMII: val &= ~(GMAC1_USE_TXCLK | GMAC1_USE_PWM23); break; @@ -107,12 +107,12 @@ break; default: pr_err("unsupported mii mode %d\n", - plat_dat->interface); + plat_dat->phy_interface); return -ENOTSUPP; } val &= ~GMAC1_SHUT; } else { - switch (plat_dat->interface) { + switch (plat_dat->phy_interface) { case PHY_INTERFACE_MODE_RGMII: val &= ~(GMAC0_USE_TXCLK | GMAC0_USE_PWM01); break; @@ -121,7 +121,7 @@ break; default: pr_err("unsupported mii mode %d\n", - plat_dat->interface); + plat_dat->phy_interface); return -ENOTSUPP; } val &= ~GMAC0_SHUT; @@ -131,7 +131,7 @@ plat_dat = dev_get_platdata(&pdev->dev); val &= ~PHY_INTF_SELI; - if (plat_dat->interface == PHY_INTERFACE_MODE_RMII) + if (plat_dat->phy_interface == PHY_INTERFACE_MODE_RMII) val |= 0x4 << PHY_INTF_SELI_SHIFT; __raw_writel(val, LS1X_MUX_CTRL1); @@ -146,9 +146,9 @@ .bus_id = 0, .phy_addr = -1, #if defined(CONFIG_LOONGSON1_LS1B) - .interface = PHY_INTERFACE_MODE_MII, + .phy_interface = PHY_INTERFACE_MODE_MII, #elif defined(CONFIG_LOONGSON1_LS1C) - .interface = PHY_INTERFACE_MODE_RMII, + .phy_interface = PHY_INTERFACE_MODE_RMII, #endif .mdio_bus_data = &ls1x_mdio_bus_data, .dma_cfg = &ls1x_eth_dma_cfg, @@ -186,7 +186,7 @@ static struct plat_stmmacenet_data ls1x_eth1_pdata = { .bus_id = 1, .phy_addr = -1, - .interface = PHY_INTERFACE_MODE_MII, + .phy_interface = PHY_INTERFACE_MODE_MII, .mdio_bus_data = &ls1x_mdio_bus_data, .dma_cfg = &ls1x_eth_dma_cfg, .has_gmac = 1, --- linux-gcp-5.19.0.orig/arch/mips/loongson32/ls1c/board.c +++ linux-gcp-5.19.0/arch/mips/loongson32/ls1c/board.c @@ -15,7 +15,6 @@ static int __init ls1c_platform_init(void) { ls1x_serial_set_uartclk(&ls1x_uart_pdev); - ls1x_rtc_set_extclk(&ls1x_rtc_pdev); return platform_add_devices(ls1c_platform_devices, ARRAY_SIZE(ls1c_platform_devices)); --- linux-gcp-5.19.0.orig/arch/mips/loongson64/numa.c +++ linux-gcp-5.19.0/arch/mips/loongson64/numa.c @@ -196,7 +196,6 @@ pr_info("CP0_PageGrain: CP0 5.1 (0x%x)\n", read_c0_pagegrain()); prom_meminit(); } -EXPORT_SYMBOL(prom_init_numa_memory); pg_data_t * __init arch_alloc_nodedata(int nid) { --- linux-gcp-5.19.0.orig/arch/mips/loongson64/reset.c +++ linux-gcp-5.19.0/arch/mips/loongson64/reset.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -159,8 +160,17 @@ #ifdef CONFIG_KEXEC kexec_argv = kmalloc(KEXEC_ARGV_SIZE, GFP_KERNEL); + if (WARN_ON(!kexec_argv)) + return -ENOMEM; + kdump_argv = kmalloc(KEXEC_ARGV_SIZE, GFP_KERNEL); + if (WARN_ON(!kdump_argv)) + return -ENOMEM; + kexec_envp = kmalloc(KEXEC_ENVP_SIZE, GFP_KERNEL); + if (WARN_ON(!kexec_envp)) + return -ENOMEM; + fw_arg1 = KEXEC_ARGV_ADDR; memcpy(kexec_envp, (void *)fw_arg2, KEXEC_ENVP_SIZE); --- linux-gcp-5.19.0.orig/arch/mips/mm/physaddr.c +++ linux-gcp-5.19.0/arch/mips/mm/physaddr.c @@ -5,6 +5,7 @@ #include #include +#include #include #include #include @@ -12,15 +13,6 @@ static inline bool __debug_virt_addr_valid(unsigned long x) { - /* high_memory does not get immediately defined, and there - * are early callers of __pa() against PAGE_OFFSET - */ - if (!high_memory && x >= PAGE_OFFSET) - return true; - - if (high_memory && x >= PAGE_OFFSET && x < (unsigned long)high_memory) - return true; - /* * MAX_DMA_ADDRESS is a virtual address that may not correspond to an * actual physical address. Enough code relies on @@ -30,7 +22,9 @@ if (x == MAX_DMA_ADDRESS) return true; - return false; + return x >= PAGE_OFFSET && (KSEGX(x) < KSEG2 || + IS_ENABLED(CONFIG_EVA) || + !IS_ENABLED(CONFIG_HIGHMEM)); } phys_addr_t __virt_to_phys(volatile const void *x) --- linux-gcp-5.19.0.orig/arch/mips/mm/tlbex.c +++ linux-gcp-5.19.0/arch/mips/mm/tlbex.c @@ -626,7 +626,7 @@ return; } - if (cpu_has_rixi && !!_PAGE_NO_EXEC) { + if (cpu_has_rixi && _PAGE_NO_EXEC != 0) { if (fill_includes_sw_bits) { UASM_i_ROTR(p, reg, reg, ilog2(_PAGE_GLOBAL)); } else { @@ -2565,7 +2565,7 @@ unsigned long entry; unsigned pabits, fillbits; - if (!cpu_has_rixi || !_PAGE_NO_EXEC) { + if (!cpu_has_rixi || _PAGE_NO_EXEC == 0) { /* * We'll only be making use of the fact that we can rotate bits * into the fill if the CPU supports RIXI, so don't bother --- linux-gcp-5.19.0.orig/arch/mips/pic32/pic32mzda/early_console.c +++ linux-gcp-5.19.0/arch/mips/pic32/pic32mzda/early_console.c @@ -27,7 +27,7 @@ #define U_BRG(x) (UART_BASE(x) + 0x40) static void __iomem *uart_base; -static char console_port = -1; +static int console_port = -1; static int __init configure_uart_pins(int port) { @@ -47,7 +47,7 @@ return 0; } -static void __init configure_uart(char port, int baud) +static void __init configure_uart(int port, int baud) { u32 pbclk; @@ -60,7 +60,7 @@ uart_base + PIC32_SET(U_STA(port))); } -static void __init setup_early_console(char port, int baud) +static void __init setup_early_console(int port, int baud) { if (configure_uart_pins(port)) return; @@ -130,16 +130,15 @@ return baud; } -void __init fw_init_early_console(char port) +void __init fw_init_early_console(void) { char *arch_cmdline = pic32_getcmdline(); - int baud = -1; + int baud, port; uart_base = ioremap(PIC32_BASE_UART, 0xc00); baud = get_baud_from_cmdline(arch_cmdline); - if (port == -1) - port = get_port_from_cmdline(arch_cmdline); + port = get_port_from_cmdline(arch_cmdline); if (port == -1) port = EARLY_CONSOLE_PORT; --- linux-gcp-5.19.0.orig/arch/mips/pic32/pic32mzda/init.c +++ linux-gcp-5.19.0/arch/mips/pic32/pic32mzda/init.c @@ -47,7 +47,7 @@ strlcpy(arcs_cmdline, boot_command_line, COMMAND_LINE_SIZE); #ifdef CONFIG_EARLY_PRINTK - fw_init_early_console(-1); + fw_init_early_console(); #endif pic32_config_init(); } --- linux-gcp-5.19.0.orig/arch/mips/ralink/mt7621.c +++ linux-gcp-5.19.0/arch/mips/ralink/mt7621.c @@ -25,6 +25,7 @@ #define MT7621_MEM_TEST_PATTERN 0xaa5555aa static u32 detect_magic __initdata; +static struct ralink_soc_info *soc_info_ptr; int pcibios_root_bridge_prepare(struct pci_host_bridge *bridge) { @@ -97,41 +98,83 @@ panic("Failed to remap core resources"); } -static void soc_dev_init(struct ralink_soc_info *soc_info, u32 rev) +static unsigned int __init mt7621_get_soc_name0(void) +{ + return __raw_readl(MT7621_SYSC_BASE + SYSC_REG_CHIP_NAME0); +} + +static unsigned int __init mt7621_get_soc_name1(void) +{ + return __raw_readl(MT7621_SYSC_BASE + SYSC_REG_CHIP_NAME1); +} + +static bool __init mt7621_soc_valid(void) +{ + if (mt7621_get_soc_name0() == MT7621_CHIP_NAME0 && + mt7621_get_soc_name1() == MT7621_CHIP_NAME1) + return true; + else + return false; +} + +static const char __init *mt7621_get_soc_id(void) +{ + if (mt7621_soc_valid()) + return "MT7621"; + else + return "invalid"; +} + +static unsigned int __init mt7621_get_soc_rev(void) +{ + return __raw_readl(MT7621_SYSC_BASE + SYSC_REG_CHIP_REV); +} + +static unsigned int __init mt7621_get_soc_ver(void) +{ + return (mt7621_get_soc_rev() >> CHIP_REV_VER_SHIFT) & CHIP_REV_VER_MASK; +} + +static unsigned int __init mt7621_get_soc_eco(void) +{ + return (mt7621_get_soc_rev() & CHIP_REV_ECO_MASK); +} + +static const char __init *mt7621_get_soc_revision(void) +{ + if (mt7621_get_soc_rev() == 1 && mt7621_get_soc_eco() == 1) + return "E2"; + else + return "E1"; +} + +static int __init mt7621_soc_dev_init(void) { struct soc_device *soc_dev; struct soc_device_attribute *soc_dev_attr; soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL); if (!soc_dev_attr) - return; + return -ENOMEM; soc_dev_attr->soc_id = "mt7621"; soc_dev_attr->family = "Ralink"; + soc_dev_attr->revision = mt7621_get_soc_revision(); - if (((rev >> CHIP_REV_VER_SHIFT) & CHIP_REV_VER_MASK) == 1 && - (rev & CHIP_REV_ECO_MASK) == 1) - soc_dev_attr->revision = "E2"; - else - soc_dev_attr->revision = "E1"; - - soc_dev_attr->data = soc_info; + soc_dev_attr->data = soc_info_ptr; soc_dev = soc_device_register(soc_dev_attr); if (IS_ERR(soc_dev)) { kfree(soc_dev_attr); - return; + return PTR_ERR(soc_dev); } + + return 0; } +device_initcall(mt7621_soc_dev_init); void __init prom_soc_init(struct ralink_soc_info *soc_info) { - void __iomem *sysc = (void __iomem *) KSEG1ADDR(MT7621_SYSC_BASE); - unsigned char *name = NULL; - u32 n0; - u32 n1; - u32 rev; - /* Early detection of CMP support */ mips_cm_probe(); mips_cpc_probe(); @@ -154,27 +197,23 @@ __sync(); } - n0 = __raw_readl(sysc + SYSC_REG_CHIP_NAME0); - n1 = __raw_readl(sysc + SYSC_REG_CHIP_NAME1); - - if (n0 == MT7621_CHIP_NAME0 && n1 == MT7621_CHIP_NAME1) { - name = "MT7621"; + if (mt7621_soc_valid()) soc_info->compatible = "mediatek,mt7621-soc"; - } else { - panic("mt7621: unknown SoC, n0:%08x n1:%08x\n", n0, n1); - } + else + panic("mt7621: unknown SoC, n0:%08x n1:%08x\n", + mt7621_get_soc_name0(), + mt7621_get_soc_name1()); ralink_soc = MT762X_SOC_MT7621AT; - rev = __raw_readl(sysc + SYSC_REG_CHIP_REV); snprintf(soc_info->sys_type, RAMIPS_SYS_TYPE_LEN, "MediaTek %s ver:%u eco:%u", - name, - (rev >> CHIP_REV_VER_SHIFT) & CHIP_REV_VER_MASK, - (rev & CHIP_REV_ECO_MASK)); + mt7621_get_soc_id(), + mt7621_get_soc_ver(), + mt7621_get_soc_eco()); soc_info->mem_detect = mt7621_memory_detect; - soc_dev_init(soc_info, rev); + soc_info_ptr = soc_info; if (!register_cps_smp_ops()) return; --- linux-gcp-5.19.0.orig/arch/mips/ralink/of.c +++ linux-gcp-5.19.0/arch/mips/ralink/of.c @@ -21,6 +21,7 @@ #include #include #include +#include #include "common.h" @@ -63,7 +64,7 @@ dtb = get_fdt(); __dt_setup_arch(dtb); - if (!early_init_dt_scan_memory()) + if (early_init_dt_scan_memory()) return; if (soc_info.mem_detect) @@ -81,7 +82,8 @@ __dt_register_buses(soc_info.compatible, "palmbus"); /* make sure that the reset controller is setup early */ - ralink_rst_init(); + if (ralink_soc != MT762X_SOC_MT7621AT) + ralink_rst_init(); return 0; } --- linux-gcp-5.19.0.orig/arch/mips/sgi-ip27/ip27-xtalk.c +++ linux-gcp-5.19.0/arch/mips/sgi-ip27/ip27-xtalk.c @@ -27,15 +27,18 @@ { struct xtalk_bridge_platform_data *bd; struct sgi_w1_platform_data *wd; - struct platform_device *pdev; + struct platform_device *pdev_wd; + struct platform_device *pdev_bd; struct resource w1_res; unsigned long offset; offset = NODE_OFFSET(nasid); wd = kzalloc(sizeof(*wd), GFP_KERNEL); - if (!wd) - goto no_mem; + if (!wd) { + pr_warn("xtalk:n%d/%x bridge create out of memory\n", nasid, widget); + return; + } snprintf(wd->dev_id, sizeof(wd->dev_id), "bridge-%012lx", offset + (widget << SWIN_SIZE_BITS)); @@ -46,24 +49,35 @@ w1_res.end = w1_res.start + 3; w1_res.flags = IORESOURCE_MEM; - pdev = platform_device_alloc("sgi_w1", PLATFORM_DEVID_AUTO); - if (!pdev) { - kfree(wd); - goto no_mem; + pdev_wd = platform_device_alloc("sgi_w1", PLATFORM_DEVID_AUTO); + if (!pdev_wd) { + pr_warn("xtalk:n%d/%x bridge create out of memory\n", nasid, widget); + goto err_kfree_wd; + } + if (platform_device_add_resources(pdev_wd, &w1_res, 1)) { + pr_warn("xtalk:n%d/%x bridge failed to add platform resources.\n", nasid, widget); + goto err_put_pdev_wd; + } + if (platform_device_add_data(pdev_wd, wd, sizeof(*wd))) { + pr_warn("xtalk:n%d/%x bridge failed to add platform data.\n", nasid, widget); + goto err_put_pdev_wd; + } + if (platform_device_add(pdev_wd)) { + pr_warn("xtalk:n%d/%x bridge failed to add platform device.\n", nasid, widget); + goto err_put_pdev_wd; } - platform_device_add_resources(pdev, &w1_res, 1); - platform_device_add_data(pdev, wd, sizeof(*wd)); /* platform_device_add_data() duplicates the data */ kfree(wd); - platform_device_add(pdev); bd = kzalloc(sizeof(*bd), GFP_KERNEL); - if (!bd) - goto no_mem; - pdev = platform_device_alloc("xtalk-bridge", PLATFORM_DEVID_AUTO); - if (!pdev) { - kfree(bd); - goto no_mem; + if (!bd) { + pr_warn("xtalk:n%d/%x bridge create out of memory\n", nasid, widget); + goto err_unregister_pdev_wd; + } + pdev_bd = platform_device_alloc("xtalk-bridge", PLATFORM_DEVID_AUTO); + if (!pdev_bd) { + pr_warn("xtalk:n%d/%x bridge create out of memory\n", nasid, widget); + goto err_kfree_bd; } @@ -84,15 +98,31 @@ bd->io.flags = IORESOURCE_IO; bd->io_offset = offset; - platform_device_add_data(pdev, bd, sizeof(*bd)); + if (platform_device_add_data(pdev_bd, bd, sizeof(*bd))) { + pr_warn("xtalk:n%d/%x bridge failed to add platform data.\n", nasid, widget); + goto err_put_pdev_bd; + } + if (platform_device_add(pdev_bd)) { + pr_warn("xtalk:n%d/%x bridge failed to add platform device.\n", nasid, widget); + goto err_put_pdev_bd; + } /* platform_device_add_data() duplicates the data */ kfree(bd); - platform_device_add(pdev); pr_info("xtalk:n%d/%x bridge widget\n", nasid, widget); return; -no_mem: - pr_warn("xtalk:n%d/%x bridge create out of memory\n", nasid, widget); +err_put_pdev_bd: + platform_device_put(pdev_bd); +err_kfree_bd: + kfree(bd); +err_unregister_pdev_wd: + platform_device_unregister(pdev_wd); + return; +err_put_pdev_wd: + platform_device_put(pdev_wd); +err_kfree_wd: + kfree(wd); + return; } static int probe_one_port(nasid_t nasid, int widget, int masterwid) --- linux-gcp-5.19.0.orig/arch/mips/sgi-ip30/ip30-xtalk.c +++ linux-gcp-5.19.0/arch/mips/sgi-ip30/ip30-xtalk.c @@ -40,12 +40,15 @@ { struct xtalk_bridge_platform_data *bd; struct sgi_w1_platform_data *wd; - struct platform_device *pdev; + struct platform_device *pdev_wd; + struct platform_device *pdev_bd; struct resource w1_res; wd = kzalloc(sizeof(*wd), GFP_KERNEL); - if (!wd) - goto no_mem; + if (!wd) { + pr_warn("xtalk:%x bridge create out of memory\n", widget); + return; + } snprintf(wd->dev_id, sizeof(wd->dev_id), "bridge-%012lx", IP30_SWIN_BASE(widget)); @@ -56,24 +59,35 @@ w1_res.end = w1_res.start + 3; w1_res.flags = IORESOURCE_MEM; - pdev = platform_device_alloc("sgi_w1", PLATFORM_DEVID_AUTO); - if (!pdev) { - kfree(wd); - goto no_mem; + pdev_wd = platform_device_alloc("sgi_w1", PLATFORM_DEVID_AUTO); + if (!pdev_wd) { + pr_warn("xtalk:%x bridge create out of memory\n", widget); + goto err_kfree_wd; + } + if (platform_device_add_resources(pdev_wd, &w1_res, 1)) { + pr_warn("xtalk:%x bridge failed to add platform resources.\n", widget); + goto err_put_pdev_wd; + } + if (platform_device_add_data(pdev_wd, wd, sizeof(*wd))) { + pr_warn("xtalk:%x bridge failed to add platform data.\n", widget); + goto err_put_pdev_wd; + } + if (platform_device_add(pdev_wd)) { + pr_warn("xtalk:%x bridge failed to add platform device.\n", widget); + goto err_put_pdev_wd; } - platform_device_add_resources(pdev, &w1_res, 1); - platform_device_add_data(pdev, wd, sizeof(*wd)); /* platform_device_add_data() duplicates the data */ kfree(wd); - platform_device_add(pdev); bd = kzalloc(sizeof(*bd), GFP_KERNEL); - if (!bd) - goto no_mem; - pdev = platform_device_alloc("xtalk-bridge", PLATFORM_DEVID_AUTO); - if (!pdev) { - kfree(bd); - goto no_mem; + if (!bd) { + pr_warn("xtalk:%x bridge create out of memory\n", widget); + goto err_unregister_pdev_wd; + } + pdev_bd = platform_device_alloc("xtalk-bridge", PLATFORM_DEVID_AUTO); + if (!pdev_bd) { + pr_warn("xtalk:%x bridge create out of memory\n", widget); + goto err_kfree_bd; } bd->bridge_addr = IP30_RAW_SWIN_BASE(widget); @@ -93,15 +107,31 @@ bd->io.flags = IORESOURCE_IO; bd->io_offset = IP30_SWIN_BASE(widget); - platform_device_add_data(pdev, bd, sizeof(*bd)); + if (platform_device_add_data(pdev_bd, bd, sizeof(*bd))) { + pr_warn("xtalk:%x bridge failed to add platform data.\n", widget); + goto err_put_pdev_bd; + } + if (platform_device_add(pdev_bd)) { + pr_warn("xtalk:%x bridge failed to add platform device.\n", widget); + goto err_put_pdev_bd; + } /* platform_device_add_data() duplicates the data */ kfree(bd); - platform_device_add(pdev); pr_info("xtalk:%x bridge widget\n", widget); return; -no_mem: - pr_warn("xtalk:%x bridge create out of memory\n", widget); +err_put_pdev_bd: + platform_device_put(pdev_bd); +err_kfree_bd: + kfree(bd); +err_unregister_pdev_wd: + platform_device_unregister(pdev_wd); + return; +err_put_pdev_wd: + platform_device_put(pdev_wd); +err_kfree_wd: + kfree(wd); + return; } static unsigned int __init xbow_widget_active(s8 wid) --- linux-gcp-5.19.0.orig/arch/nios2/boot/Makefile +++ linux-gcp-5.19.0/arch/nios2/boot/Makefile @@ -20,7 +20,7 @@ $(obj)/vmlinux.gz: $(obj)/vmlinux.bin FORCE $(call if_changed,gzip) -$(obj)/vmImage: $(obj)/vmlinux.gz +$(obj)/vmImage: $(obj)/vmlinux.gz FORCE $(call if_changed,uimage) @$(kecho) 'Kernel: $@ is ready' --- linux-gcp-5.19.0.orig/arch/nios2/include/asm/entry.h +++ linux-gcp-5.19.0/arch/nios2/include/asm/entry.h @@ -50,7 +50,8 @@ stw r13, PT_R13(sp) stw r14, PT_R14(sp) stw r15, PT_R15(sp) - stw r2, PT_ORIG_R2(sp) + movi r24, -1 + stw r24, PT_ORIG_R2(sp) stw r7, PT_ORIG_R7(sp) stw ra, PT_RA(sp) --- linux-gcp-5.19.0.orig/arch/nios2/include/asm/ptrace.h +++ linux-gcp-5.19.0/arch/nios2/include/asm/ptrace.h @@ -74,6 +74,8 @@ ((struct pt_regs *)((unsigned long)current_thread_info() + THREAD_SIZE)\ - 1) +#define force_successful_syscall_return() (current_pt_regs()->orig_r2 = -1) + int do_syscall_trace_enter(void); void do_syscall_trace_exit(void); #endif /* __ASSEMBLY__ */ --- linux-gcp-5.19.0.orig/arch/nios2/kernel/entry.S +++ linux-gcp-5.19.0/arch/nios2/kernel/entry.S @@ -185,6 +185,7 @@ ldw r5, PT_R5(sp) local_restart: + stw r2, PT_ORIG_R2(sp) /* Check that the requested system call is within limits */ movui r1, __NR_syscalls bgeu r2, r1, ret_invsyscall @@ -192,7 +193,6 @@ movhi r11, %hiadj(sys_call_table) add r1, r1, r11 ldw r1, %lo(sys_call_table)(r1) - beq r1, r0, ret_invsyscall /* Check if we are being traced */ GET_THREAD_INFO r11 @@ -213,6 +213,9 @@ translate_rc_and_ret: movi r1, 0 bge r2, zero, 3f + ldw r1, PT_ORIG_R2(sp) + addi r1, r1, 1 + beq r1, zero, 3f sub r2, zero, r2 movi r1, 1 3: @@ -255,9 +258,9 @@ ldw r6, PT_R6(sp) ldw r7, PT_R7(sp) - /* Fetch the syscall function, we don't need to check the boundaries - * since this is already done. - */ + /* Fetch the syscall function. */ + movui r1, __NR_syscalls + bgeu r2, r1, traced_invsyscall slli r1, r2, 2 movhi r11,%hiadj(sys_call_table) add r1, r1, r11 @@ -276,6 +279,9 @@ translate_rc_and_ret2: movi r1, 0 bge r2, zero, 4f + ldw r1, PT_ORIG_R2(sp) + addi r1, r1, 1 + beq r1, zero, 4f sub r2, zero, r2 movi r1, 1 4: @@ -287,6 +293,11 @@ RESTORE_SWITCH_STACK br ret_from_exception + /* If the syscall number was invalid return ENOSYS */ +traced_invsyscall: + movi r2, -ENOSYS + br translate_rc_and_ret2 + Luser_return: GET_THREAD_INFO r11 /* get thread_info pointer */ ldw r10, TI_FLAGS(r11) /* get thread_info->flags */ @@ -336,9 +347,6 @@ /* skip if no interrupt is pending */ beq r12, r0, ret_from_interrupt - movi r24, -1 - stw r24, PT_ORIG_R2(sp) - /* * Process an external hardware interrupt. */ --- linux-gcp-5.19.0.orig/arch/nios2/kernel/signal.c +++ linux-gcp-5.19.0/arch/nios2/kernel/signal.c @@ -242,7 +242,7 @@ /* * If we were from a system call, check for system call restarting... */ - if (regs->orig_r2 >= 0) { + if (regs->orig_r2 >= 0 && regs->r1) { continue_addr = regs->ea; restart_addr = continue_addr - 4; retval = regs->r2; @@ -264,6 +264,7 @@ regs->ea = restart_addr; break; } + regs->orig_r2 = -1; } if (get_signal(&ksig)) { --- linux-gcp-5.19.0.orig/arch/nios2/kernel/syscall_table.c +++ linux-gcp-5.19.0/arch/nios2/kernel/syscall_table.c @@ -13,5 +13,6 @@ #define __SYSCALL(nr, call) [nr] = (call), void *sys_call_table[__NR_syscalls] = { + [0 ... __NR_syscalls-1] = sys_ni_syscall, #include }; --- linux-gcp-5.19.0.orig/arch/openrisc/include/asm/io.h +++ linux-gcp-5.19.0/arch/openrisc/include/asm/io.h @@ -31,7 +31,7 @@ void __iomem *ioremap(phys_addr_t offset, unsigned long size); #define iounmap iounmap -extern void iounmap(void __iomem *addr); +extern void iounmap(volatile void __iomem *addr); #include --- linux-gcp-5.19.0.orig/arch/openrisc/mm/ioremap.c +++ linux-gcp-5.19.0/arch/openrisc/mm/ioremap.c @@ -77,7 +77,7 @@ } EXPORT_SYMBOL(ioremap); -void iounmap(void __iomem *addr) +void iounmap(volatile void __iomem *addr) { /* If the page is from the fixmap pool then we just clear out * the fixmap mapping. --- linux-gcp-5.19.0.orig/arch/parisc/Kconfig +++ linux-gcp-5.19.0/arch/parisc/Kconfig @@ -147,10 +147,10 @@ choice prompt "Processor type" - default PA7000 + default PA7000 if "$(ARCH)" = "parisc" config PA7000 - bool "PA7000/PA7100" + bool "PA7000/PA7100" if "$(ARCH)" = "parisc" help This is the processor type of your CPU. This information is used for optimizing purposes. In order to compile a kernel @@ -161,21 +161,21 @@ which is required on some machines. config PA7100LC - bool "PA7100LC" + bool "PA7100LC" if "$(ARCH)" = "parisc" help Select this option for the PCX-L processor, as used in the 712, 715/64, 715/80, 715/100, 715/100XC, 725/100, 743, 748, D200, D210, D300, D310 and E-class config PA7200 - bool "PA7200" + bool "PA7200" if "$(ARCH)" = "parisc" help Select this option for the PCX-T' processor, as used in the C100, C110, J100, J110, J210XC, D250, D260, D350, D360, K100, K200, K210, K220, K400, K410 and K420 config PA7300LC - bool "PA7300LC" + bool "PA7300LC" if "$(ARCH)" = "parisc" help Select this option for the PCX-L2 processor, as used in the 744, A180, B132L, B160L, B180L, C132L, C160L, C180L, @@ -225,7 +225,8 @@ Enabling this option will probably slow down your kernel. config 64BIT - bool "64-bit kernel" + def_bool y if "$(ARCH)" = "parisc64" + bool "64-bit kernel" if "$(ARCH)" = "parisc" depends on PA8X00 help Enable this if you want to support 64bit kernel on PA-RISC platform. --- linux-gcp-5.19.0.orig/arch/parisc/include/asm/bitops.h +++ linux-gcp-5.19.0/arch/parisc/include/asm/bitops.h @@ -12,14 +12,6 @@ #include #include -/* compiler build environment sanity checks: */ -#if !defined(CONFIG_64BIT) && defined(__LP64__) -#error "Please use 'ARCH=parisc' to build the 32-bit kernel." -#endif -#if defined(CONFIG_64BIT) && !defined(__LP64__) -#error "Please use 'ARCH=parisc64' to build the 64-bit kernel." -#endif - /* See http://marc.theaimsgroup.com/?t=108826637900003 for discussion * on use of volatile and __*_bit() (set/clear/change): * *_bit() want use of volatile. --- linux-gcp-5.19.0.orig/arch/parisc/include/asm/hardware.h +++ linux-gcp-5.19.0/arch/parisc/include/asm/hardware.h @@ -10,12 +10,12 @@ #define SVERSION_ANY_ID PA_SVERSION_ANY_ID struct hp_hardware { - unsigned short hw_type:5; /* HPHW_xxx */ - unsigned short hversion; - unsigned long sversion:28; - unsigned short opt; - const char name[80]; /* The hardware description */ -}; + unsigned int hw_type:8; /* HPHW_xxx */ + unsigned int hversion:12; + unsigned int sversion:12; + unsigned char opt; + unsigned char name[59]; /* The hardware description */ +} __packed; struct parisc_device; --- linux-gcp-5.19.0.orig/arch/parisc/include/asm/pgtable.h +++ linux-gcp-5.19.0/arch/parisc/include/asm/pgtable.h @@ -192,6 +192,11 @@ #define _PAGE_PRESENT_BIT 22 /* (0x200) Software: translation valid */ #define _PAGE_HPAGE_BIT 21 /* (0x400) Software: Huge Page */ #define _PAGE_USER_BIT 20 /* (0x800) Software: User accessible page */ +#ifdef CONFIG_HUGETLB_PAGE +#define _PAGE_SPECIAL_BIT _PAGE_DMB_BIT /* DMB feature is currently unused */ +#else +#define _PAGE_SPECIAL_BIT _PAGE_HPAGE_BIT /* use unused HUGE PAGE bit */ +#endif /* N.B. The bits are defined in terms of a 32 bit word above, so the */ /* following macro is ok for both 32 and 64 bit. */ @@ -219,7 +224,7 @@ #define _PAGE_PRESENT (1 << xlate_pabit(_PAGE_PRESENT_BIT)) #define _PAGE_HUGE (1 << xlate_pabit(_PAGE_HPAGE_BIT)) #define _PAGE_USER (1 << xlate_pabit(_PAGE_USER_BIT)) -#define _PAGE_SPECIAL (_PAGE_DMB) +#define _PAGE_SPECIAL (1 << xlate_pabit(_PAGE_SPECIAL_BIT)) #define _PAGE_TABLE (_PAGE_PRESENT | _PAGE_READ | _PAGE_WRITE | _PAGE_DIRTY | _PAGE_ACCESSED) #define _PAGE_CHG_MASK (PAGE_MASK | _PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_SPECIAL) --- linux-gcp-5.19.0.orig/arch/parisc/include/uapi/asm/mman.h +++ linux-gcp-5.19.0/arch/parisc/include/uapi/asm/mman.h @@ -49,6 +49,19 @@ #define MADV_DONTFORK 10 /* don't inherit across fork */ #define MADV_DOFORK 11 /* do inherit across fork */ +#define MADV_MERGEABLE 12 /* KSM may merge identical pages */ +#define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages */ + +#define MADV_HUGEPAGE 14 /* Worth backing with hugepages */ +#define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages */ + +#define MADV_DONTDUMP 16 /* Explicity exclude from the core dump, + overrides the coredump filter bits */ +#define MADV_DODUMP 17 /* Clear the MADV_NODUMP flag */ + +#define MADV_WIPEONFORK 18 /* Zero memory on fork, child only */ +#define MADV_KEEPONFORK 19 /* Undo MADV_WIPEONFORK */ + #define MADV_COLD 20 /* deactivate these pages */ #define MADV_PAGEOUT 21 /* reclaim these pages */ @@ -57,25 +70,11 @@ #define MADV_DONTNEED_LOCKED 24 /* like DONTNEED, but drop locked pages too */ -#define MADV_MERGEABLE 65 /* KSM may merge identical pages */ -#define MADV_UNMERGEABLE 66 /* KSM may not merge identical pages */ - -#define MADV_HUGEPAGE 67 /* Worth backing with hugepages */ -#define MADV_NOHUGEPAGE 68 /* Not worth backing with hugepages */ - -#define MADV_DONTDUMP 69 /* Explicity exclude from the core dump, - overrides the coredump filter bits */ -#define MADV_DODUMP 70 /* Clear the MADV_NODUMP flag */ - -#define MADV_WIPEONFORK 71 /* Zero memory on fork, child only */ -#define MADV_KEEPONFORK 72 /* Undo MADV_WIPEONFORK */ - #define MADV_HWPOISON 100 /* poison a page for testing */ #define MADV_SOFT_OFFLINE 101 /* soft offline page for testing */ /* compatibility flags */ #define MAP_FILE 0 -#define MAP_VARIABLE 0 #define PKEY_DISABLE_ACCESS 0x1 #define PKEY_DISABLE_WRITE 0x2 --- linux-gcp-5.19.0.orig/arch/parisc/kernel/cache.c +++ linux-gcp-5.19.0/arch/parisc/kernel/cache.c @@ -50,9 +50,6 @@ */ DEFINE_SPINLOCK(pa_tlb_flush_lock); -/* Swapper page setup lock. */ -DEFINE_SPINLOCK(pa_swapper_pg_lock); - #if defined(CONFIG_64BIT) && defined(CONFIG_SMP) int pa_serialize_tlb_flushes __ro_after_init; #endif --- linux-gcp-5.19.0.orig/arch/parisc/kernel/drivers.c +++ linux-gcp-5.19.0/arch/parisc/kernel/drivers.c @@ -520,7 +520,6 @@ dev->id.hversion_rev = iodc_data[1] & 0x0f; dev->id.sversion = ((iodc_data[4] & 0x0f) << 16) | (iodc_data[5] << 8) | iodc_data[6]; - dev->hpa.name = parisc_pathname(dev); dev->hpa.start = hpa; /* This is awkward. The STI spec says that gfx devices may occupy * 32MB or 64MB. Unfortunately, we don't know how to tell whether @@ -534,10 +533,10 @@ dev->hpa.end = hpa + 0xfff; } dev->hpa.flags = IORESOURCE_MEM; - name = parisc_hardware_description(&dev->id); - if (name) { - strlcpy(dev->name, name, sizeof(dev->name)); - } + dev->hpa.name = dev->name; + name = parisc_hardware_description(&dev->id) ? : "unknown"; + snprintf(dev->name, sizeof(dev->name), "%s [%s]", + name, parisc_pathname(dev)); /* Silently fail things like mouse ports which are subsumed within * the keyboard controller @@ -883,15 +882,13 @@ &root); } -static void print_parisc_device(struct parisc_device *dev) +static __init void print_parisc_device(struct parisc_device *dev) { - char hw_path[64]; - static int count; + static int count __initdata; - print_pa_hwpath(dev, hw_path); - pr_info("%d. %s at %pap [%s] { %d, 0x%x, 0x%.3x, 0x%.5x }", - ++count, dev->name, &(dev->hpa.start), hw_path, dev->id.hw_type, - dev->id.hversion_rev, dev->id.hversion, dev->id.sversion); + pr_info("%d. %s at %pap { type:%d, hv:%#x, sv:%#x, rev:%#x }", + ++count, dev->name, &(dev->hpa.start), dev->id.hw_type, + dev->id.hversion, dev->id.sversion, dev->id.hversion_rev); if (dev->num_addrs) { int k; @@ -1080,7 +1077,7 @@ -static int print_one_device(struct device * dev, void * data) +static __init int print_one_device(struct device * dev, void * data) { struct parisc_device * pdev = to_parisc_device(dev); --- linux-gcp-5.19.0.orig/arch/parisc/kernel/entry.S +++ linux-gcp-5.19.0/arch/parisc/kernel/entry.S @@ -499,6 +499,10 @@ * Finally, _PAGE_READ goes in the top bit of PL1 (so we * trigger an access rights trap in user space if the user * tries to read an unreadable page */ +#if _PAGE_SPECIAL_BIT == _PAGE_DMB_BIT + /* need to drop DMB bit, as it's used as SPECIAL flag */ + depi 0,_PAGE_SPECIAL_BIT,1,\pte +#endif depd \pte,8,7,\prot /* PAGE_USER indicates the page can be read with user privileges, @@ -529,6 +533,10 @@ * makes the tlb entry for the differently formatted pa11 * insertion instructions */ .macro make_insert_tlb_11 spc,pte,prot +#if _PAGE_SPECIAL_BIT == _PAGE_DMB_BIT + /* need to drop DMB bit, as it's used as SPECIAL flag */ + depi 0,_PAGE_SPECIAL_BIT,1,\pte +#endif zdep \spc,30,15,\prot dep \pte,8,7,\prot extru,= \pte,_PAGE_NO_CACHE_BIT,1,%r0 --- linux-gcp-5.19.0.orig/arch/parisc/kernel/firmware.c +++ linux-gcp-5.19.0/arch/parisc/kernel/firmware.c @@ -1304,7 +1304,7 @@ */ int pdc_iodc_print(const unsigned char *str, unsigned count) { - unsigned int i; + unsigned int i, found = 0; unsigned long flags; for (i = 0; i < count;) { @@ -1313,6 +1313,7 @@ iodc_dbuf[i+0] = '\r'; iodc_dbuf[i+1] = '\n'; i += 2; + found = 1; goto print; default: iodc_dbuf[i] = str[i]; @@ -1329,7 +1330,7 @@ __pa(iodc_retbuf), 0, __pa(iodc_dbuf), i, 0); spin_unlock_irqrestore(&pdc_lock, flags); - return i; + return i - found; } #if !defined(BOOTLOADER) --- linux-gcp-5.19.0.orig/arch/parisc/kernel/head.S +++ linux-gcp-5.19.0/arch/parisc/kernel/head.S @@ -22,7 +22,7 @@ #include #include - .level PA_ASM_LEVEL + .level 1.1 __INITDATA ENTRY(boot_args) @@ -70,6 +70,47 @@ stw,ma %arg2,4(%r1) stw,ma %arg3,4(%r1) +#if !defined(CONFIG_64BIT) && defined(CONFIG_PA20) + /* This 32-bit kernel was compiled for PA2.0 CPUs. Check current CPU + * and halt kernel if we detect a PA1.x CPU. */ + ldi 32,%r10 + mtctl %r10,%cr11 + .level 2.0 + mfctl,w %cr11,%r10 + .level 1.1 + comib,<>,n 0,%r10,$cpu_ok + + load32 PA(msg1),%arg0 + ldi msg1_end-msg1,%arg1 +$iodc_panic: + copy %arg0, %r10 + copy %arg1, %r11 + load32 PA(init_stack),%sp +#define MEM_CONS 0x3A0 + ldw MEM_CONS+32(%r0),%arg0 // HPA + ldi ENTRY_IO_COUT,%arg1 + ldw MEM_CONS+36(%r0),%arg2 // SPA + ldw MEM_CONS+8(%r0),%arg3 // layers + load32 PA(__bss_start),%r1 + stw %r1,-52(%sp) // arg4 + stw %r0,-56(%sp) // arg5 + stw %r10,-60(%sp) // arg6 = ptr to text + stw %r11,-64(%sp) // arg7 = len + stw %r0,-68(%sp) // arg8 + load32 PA(.iodc_panic_ret), %rp + ldw MEM_CONS+40(%r0),%r1 // ENTRY_IODC + bv,n (%r1) +.iodc_panic_ret: + b . /* wait endless with ... */ + or %r10,%r10,%r10 /* qemu idle sleep */ +msg1: .ascii "Can't boot kernel which was built for PA8x00 CPUs on this machine.\r\n" +msg1_end: + +$cpu_ok: +#endif + + .level PA_ASM_LEVEL + /* Initialize startup VM. Just map first 16/32 MB of memory */ load32 PA(swapper_pg_dir),%r4 mtctl %r4,%cr24 /* Initialize kernel root pointer */ --- linux-gcp-5.19.0.orig/arch/parisc/kernel/ptrace.c +++ linux-gcp-5.19.0/arch/parisc/kernel/ptrace.c @@ -126,6 +126,12 @@ unsigned long tmp; long ret = -EIO; + unsigned long user_regs_struct_size = sizeof(struct user_regs_struct); +#ifdef CONFIG_64BIT + if (is_compat_task()) + user_regs_struct_size /= 2; +#endif + switch (request) { /* Read the word at location addr in the USER area. For ptraced @@ -181,14 +187,14 @@ return copy_regset_to_user(child, task_user_regset_view(current), REGSET_GENERAL, - 0, sizeof(struct user_regs_struct), + 0, user_regs_struct_size, datap); case PTRACE_SETREGS: /* Set all gp regs in the child. */ return copy_regset_from_user(child, task_user_regset_view(current), REGSET_GENERAL, - 0, sizeof(struct user_regs_struct), + 0, user_regs_struct_size, datap); case PTRACE_GETFPREGS: /* Get the child FPU state. */ @@ -302,6 +308,11 @@ } } break; + case PTRACE_GETREGS: + case PTRACE_SETREGS: + case PTRACE_GETFPREGS: + case PTRACE_SETFPREGS: + return arch_ptrace(child, request, addr, data); default: ret = compat_ptrace_request(child, request, addr, data); --- linux-gcp-5.19.0.orig/arch/parisc/kernel/sys_parisc.c +++ linux-gcp-5.19.0/arch/parisc/kernel/sys_parisc.c @@ -465,3 +465,31 @@ flags = FIX_O_NONBLOCK(flags); return sys_inotify_init1(flags); } + +/* + * madvise() wrapper + * + * Up to kernel v6.1 parisc has different values than all other + * platforms for the MADV_xxx flags listed below. + * To keep binary compatibility with existing userspace programs + * translate the former values to the new values. + * + * XXX: Remove this wrapper in year 2025 (or later) + */ + +asmlinkage notrace long parisc_madvise(unsigned long start, size_t len_in, int behavior) +{ + switch (behavior) { + case 65: behavior = MADV_MERGEABLE; break; + case 66: behavior = MADV_UNMERGEABLE; break; + case 67: behavior = MADV_HUGEPAGE; break; + case 68: behavior = MADV_NOHUGEPAGE; break; + case 69: behavior = MADV_DONTDUMP; break; + case 70: behavior = MADV_DODUMP; break; + case 71: behavior = MADV_WIPEONFORK; break; + case 72: behavior = MADV_KEEPONFORK; break; + case 73: behavior = MADV_COLLAPSE; break; + } + + return sys_madvise(start, len_in, behavior); +} --- linux-gcp-5.19.0.orig/arch/parisc/kernel/syscalls/syscall.tbl +++ linux-gcp-5.19.0/arch/parisc/kernel/syscalls/syscall.tbl @@ -131,7 +131,7 @@ 116 common sysinfo sys_sysinfo compat_sys_sysinfo 117 common shutdown sys_shutdown 118 common fsync sys_fsync -119 common madvise sys_madvise +119 common madvise parisc_madvise 120 common clone sys_clone_wrapper 121 common setdomainname sys_setdomainname 122 common sendfile sys_sendfile compat_sys_sendfile @@ -413,7 +413,7 @@ 412 32 utimensat_time64 sys_utimensat sys_utimensat 413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64 414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64 -416 32 io_pgetevents_time64 sys_io_pgetevents sys_io_pgetevents +416 32 io_pgetevents_time64 sys_io_pgetevents compat_sys_io_pgetevents_time64 417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64 418 32 mq_timedsend_time64 sys_mq_timedsend sys_mq_timedsend 419 32 mq_timedreceive_time64 sys_mq_timedreceive sys_mq_timedreceive --- linux-gcp-5.19.0.orig/arch/parisc/kernel/unaligned.c +++ linux-gcp-5.19.0/arch/parisc/kernel/unaligned.c @@ -93,7 +93,7 @@ #define R1(i) (((i)>>21)&0x1f) #define R2(i) (((i)>>16)&0x1f) #define R3(i) ((i)&0x1f) -#define FR3(i) ((((i)<<1)&0x1f)|(((i)>>6)&1)) +#define FR3(i) ((((i)&0x1f)<<1)|(((i)>>6)&1)) #define IM(i,n) (((i)>>1&((1<<(n-1))-1))|((i)&1?((0-1L)<<(n-1)):0)) #define IM5_2(i) IM((i)>>16,5) #define IM5_3(i) IM((i),5) --- linux-gcp-5.19.0.orig/arch/parisc/kernel/vdso32/Makefile +++ linux-gcp-5.19.0/arch/parisc/kernel/vdso32/Makefile @@ -26,7 +26,7 @@ # Force dependency (incbin is bad) # link rule for the .so file, .lds has to be first -$(obj)/vdso32.so: $(src)/vdso32.lds $(obj-vdso32) $(obj-cvdso32) $(VDSO_LIBGCC) +$(obj)/vdso32.so: $(src)/vdso32.lds $(obj-vdso32) $(obj-cvdso32) $(VDSO_LIBGCC) FORCE $(call if_changed,vdso32ld) # assembly rules for the .S files @@ -38,7 +38,7 @@ # actual build commands quiet_cmd_vdso32ld = VDSO32L $@ - cmd_vdso32ld = $(CROSS32CC) $(c_flags) -Wl,-T $^ -o $@ + cmd_vdso32ld = $(CROSS32CC) $(c_flags) -Wl,-T $(filter-out FORCE, $^) -o $@ quiet_cmd_vdso32as = VDSO32A $@ cmd_vdso32as = $(CROSS32CC) $(a_flags) -c -o $@ $< quiet_cmd_vdso32cc = VDSO32C $@ --- linux-gcp-5.19.0.orig/arch/parisc/kernel/vdso64/Makefile +++ linux-gcp-5.19.0/arch/parisc/kernel/vdso64/Makefile @@ -26,7 +26,7 @@ # Force dependency (incbin is bad) # link rule for the .so file, .lds has to be first -$(obj)/vdso64.so: $(src)/vdso64.lds $(obj-vdso64) $(VDSO_LIBGCC) +$(obj)/vdso64.so: $(src)/vdso64.lds $(obj-vdso64) $(VDSO_LIBGCC) FORCE $(call if_changed,vdso64ld) # assembly rules for the .S files @@ -35,7 +35,7 @@ # actual build commands quiet_cmd_vdso64ld = VDSO64L $@ - cmd_vdso64ld = $(CC) $(c_flags) -Wl,-T $^ -o $@ + cmd_vdso64ld = $(CC) $(c_flags) -Wl,-T $(filter-out FORCE, $^) -o $@ quiet_cmd_vdso64as = VDSO64A $@ cmd_vdso64as = $(CC) $(a_flags) -c -o $@ $< --- linux-gcp-5.19.0.orig/arch/powerpc/Kconfig +++ linux-gcp-5.19.0/arch/powerpc/Kconfig @@ -283,7 +283,7 @@ # config PPC_LONG_DOUBLE_128 - depends on PPC64 + depends on PPC64 && ALTIVEC def_bool $(success,test "$(shell,echo __LONG_DOUBLE_128__ | $(CC) -E -P -)" = 1) config PPC_BARRIER_NOSPEC @@ -817,7 +817,7 @@ default 24 if STRICT_KERNEL_RWX && PPC64 range 17 28 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && PPC_BOOK3S_32 range 19 23 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && PPC_8xx - range 20 24 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && PPC_FSL_BOOKE + range 20 24 if (STRICT_KERNEL_RWX || DEBUG_PAGEALLOC || KFENCE) && FSL_BOOKE default 22 if STRICT_KERNEL_RWX && PPC_BOOK3S_32 default 18 if (DEBUG_PAGEALLOC || KFENCE) && PPC_BOOK3S_32 default 23 if STRICT_KERNEL_RWX && PPC_8xx --- linux-gcp-5.19.0.orig/arch/powerpc/Makefile +++ linux-gcp-5.19.0/arch/powerpc/Makefile @@ -15,23 +15,6 @@ # Set default 32 bits cross compilers for vdso and boot wrapper CROSS32_COMPILE ?= -ifeq ($(HAS_BIARCH),y) -ifeq ($(CROSS32_COMPILE),) -ifdef CONFIG_PPC32 -# These options will be overridden by any -mcpu option that the CPU -# or platform code sets later on the command line, but they are needed -# to set a sane 32-bit cpu target for the 64-bit cross compiler which -# may default to the wrong ISA. -KBUILD_CFLAGS += -mcpu=powerpc -KBUILD_AFLAGS += -mcpu=powerpc -endif -endif -endif - -ifdef CONFIG_PPC_BOOK3S_32 -KBUILD_CFLAGS += -mcpu=powerpc -endif - # If we're on a ppc/ppc64/ppc64le machine use that defconfig, otherwise just use # ppc64_defconfig because we have nothing better to go on. uname := $(shell uname -m) @@ -107,7 +90,7 @@ ifeq ($(HAS_BIARCH),y) KBUILD_CFLAGS += -m$(BITS) -KBUILD_AFLAGS += -m$(BITS) -Wl,-a$(BITS) +KBUILD_AFLAGS += -m$(BITS) KBUILD_LDFLAGS += -m elf$(BITS)$(LDEMULATION) endif @@ -169,7 +152,7 @@ CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=power9,-mtune=power8) else CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mtune=power7,$(call cc-option,-mtune=power5)) -CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mcpu=power5,-mcpu=power4) +CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power4 endif else ifdef CONFIG_PPC_BOOK3E_64 CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=powerpc64 @@ -183,6 +166,7 @@ endif CFLAGS-$(CONFIG_TARGET_CPU_BOOL) += $(call cc-option,-mcpu=$(CONFIG_TARGET_CPU)) +AFLAGS-$(CONFIG_TARGET_CPU_BOOL) += $(call cc-option,-mcpu=$(CONFIG_TARGET_CPU)) # Altivec option not allowed with e500mc64 in GCC. ifdef CONFIG_ALTIVEC @@ -193,14 +177,6 @@ CFLAGS-$(CONFIG_E5500_CPU) += $(E5500_CPU) CFLAGS-$(CONFIG_E6500_CPU) += $(call cc-option,-mcpu=e6500,$(E5500_CPU)) -ifdef CONFIG_PPC32 -ifdef CONFIG_PPC_E500MC -CFLAGS-y += $(call cc-option,-mcpu=e500mc,-mcpu=powerpc) -else -CFLAGS-$(CONFIG_E500) += $(call cc-option,-mcpu=8540 -msoft-float,-mcpu=powerpc) -endif -endif - asinstr := $(call as-instr,lis 9$(comma)foo@high,-DHAVE_AS_ATHIGH=1) KBUILD_CPPFLAGS += -I $(srctree)/arch/$(ARCH) $(asinstr) @@ -272,7 +248,7 @@ all: zImage # With make 3.82 we cannot mix normal and wildcard targets -BOOT_TARGETS1 := zImage zImage.initrd uImage +BOOT_TARGETS1 := zImage zImage.initrd uImage vmlinux.strip BOOT_TARGETS2 := zImage% dtbImage% treeImage.% cuImage.% simpleImage.% uImage.% PHONY += $(BOOT_TARGETS1) $(BOOT_TARGETS2) --- linux-gcp-5.19.0.orig/arch/powerpc/boot/Makefile +++ linux-gcp-5.19.0/arch/powerpc/boot/Makefile @@ -34,6 +34,7 @@ BOOTCFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ -fno-strict-aliasing -O2 -msoft-float -mno-altivec -mno-vsx \ + $(call cc-option,-mno-spe) $(call cc-option,-mspe=no) \ -pipe -fomit-frame-pointer -fno-builtin -fPIC -nostdinc \ $(LINUXINCLUDE) --- linux-gcp-5.19.0.orig/arch/powerpc/boot/dts/fsl/e500v1_power_isa.dtsi +++ linux-gcp-5.19.0/arch/powerpc/boot/dts/fsl/e500v1_power_isa.dtsi @@ -0,0 +1,51 @@ +/* + * e500v1 Power ISA Device Tree Source (include) + * + * Copyright 2012 Freescale Semiconductor Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Freescale Semiconductor nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * + * ALTERNATIVELY, this software may be distributed under the terms of the + * GNU General Public License ("GPL") as published by the Free Software + * Foundation, either version 2 of that License or (at your option) any + * later version. + * + * THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/ { + cpus { + power-isa-version = "2.03"; + power-isa-b; // Base + power-isa-e; // Embedded + power-isa-atb; // Alternate Time Base + power-isa-cs; // Cache Specification + power-isa-e.le; // Embedded.Little-Endian + power-isa-e.pm; // Embedded.Performance Monitor + power-isa-ecl; // Embedded Cache Locking + power-isa-mmc; // Memory Coherence + power-isa-sp; // Signal Processing Engine + power-isa-sp.fs; // SPE.Embedded Float Scalar Single + power-isa-sp.fv; // SPE.Embedded Float Vector + mmu-type = "power-embedded"; + }; +}; --- linux-gcp-5.19.0.orig/arch/powerpc/boot/dts/fsl/mpc8540ads.dts +++ linux-gcp-5.19.0/arch/powerpc/boot/dts/fsl/mpc8540ads.dts @@ -7,7 +7,7 @@ /dts-v1/; -/include/ "e500v2_power_isa.dtsi" +/include/ "e500v1_power_isa.dtsi" / { model = "MPC8540ADS"; --- linux-gcp-5.19.0.orig/arch/powerpc/boot/dts/fsl/mpc8541cds.dts +++ linux-gcp-5.19.0/arch/powerpc/boot/dts/fsl/mpc8541cds.dts @@ -7,7 +7,7 @@ /dts-v1/; -/include/ "e500v2_power_isa.dtsi" +/include/ "e500v1_power_isa.dtsi" / { model = "MPC8541CDS"; --- linux-gcp-5.19.0.orig/arch/powerpc/boot/dts/fsl/mpc8555cds.dts +++ linux-gcp-5.19.0/arch/powerpc/boot/dts/fsl/mpc8555cds.dts @@ -7,7 +7,7 @@ /dts-v1/; -/include/ "e500v2_power_isa.dtsi" +/include/ "e500v1_power_isa.dtsi" / { model = "MPC8555CDS"; --- linux-gcp-5.19.0.orig/arch/powerpc/boot/dts/fsl/mpc8560ads.dts +++ linux-gcp-5.19.0/arch/powerpc/boot/dts/fsl/mpc8560ads.dts @@ -7,7 +7,7 @@ /dts-v1/; -/include/ "e500v2_power_isa.dtsi" +/include/ "e500v1_power_isa.dtsi" / { model = "MPC8560ADS"; --- linux-gcp-5.19.0.orig/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-2.dtsi +++ linux-gcp-5.19.0/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-2.dtsi @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-or-later +/* + * QorIQ FMan v3 10g port #2 device tree stub [ controller @ offset 0x400000 ] + * + * Copyright 2022 Sean Anderson + * Copyright 2012 - 2015 Freescale Semiconductor Inc. + */ + +fman@400000 { + fman0_rx_0x08: port@88000 { + cell-index = <0x8>; + compatible = "fsl,fman-v3-port-rx"; + reg = <0x88000 0x1000>; + fsl,fman-10g-port; + }; + + fman0_tx_0x28: port@a8000 { + cell-index = <0x28>; + compatible = "fsl,fman-v3-port-tx"; + reg = <0xa8000 0x1000>; + fsl,fman-10g-port; + }; + + ethernet@e0000 { + cell-index = <0>; + compatible = "fsl,fman-memac"; + reg = <0xe0000 0x1000>; + fsl,fman-ports = <&fman0_rx_0x08 &fman0_tx_0x28>; + ptp-timer = <&ptp_timer0>; + pcsphy-handle = <&pcsphy0>; + }; + + mdio@e1000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; + reg = <0xe1000 0x1000>; + fsl,erratum-a011043; /* must ignore read errors */ + + pcsphy0: ethernet-phy@0 { + reg = <0x0>; + }; + }; +}; --- linux-gcp-5.19.0.orig/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-3.dtsi +++ linux-gcp-5.19.0/arch/powerpc/boot/dts/fsl/qoriq-fman3-0-10g-3.dtsi @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-or-later +/* + * QorIQ FMan v3 10g port #3 device tree stub [ controller @ offset 0x400000 ] + * + * Copyright 2022 Sean Anderson + * Copyright 2012 - 2015 Freescale Semiconductor Inc. + */ + +fman@400000 { + fman0_rx_0x09: port@89000 { + cell-index = <0x9>; + compatible = "fsl,fman-v3-port-rx"; + reg = <0x89000 0x1000>; + fsl,fman-10g-port; + }; + + fman0_tx_0x29: port@a9000 { + cell-index = <0x29>; + compatible = "fsl,fman-v3-port-tx"; + reg = <0xa9000 0x1000>; + fsl,fman-10g-port; + }; + + ethernet@e2000 { + cell-index = <1>; + compatible = "fsl,fman-memac"; + reg = <0xe2000 0x1000>; + fsl,fman-ports = <&fman0_rx_0x09 &fman0_tx_0x29>; + ptp-timer = <&ptp_timer0>; + pcsphy-handle = <&pcsphy1>; + }; + + mdio@e3000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "fsl,fman-memac-mdio", "fsl,fman-xmdio"; + reg = <0xe3000 0x1000>; + fsl,erratum-a011043; /* must ignore read errors */ + + pcsphy1: ethernet-phy@0 { + reg = <0x0>; + }; + }; +}; --- linux-gcp-5.19.0.orig/arch/powerpc/boot/dts/fsl/t2081si-post.dtsi +++ linux-gcp-5.19.0/arch/powerpc/boot/dts/fsl/t2081si-post.dtsi @@ -609,8 +609,8 @@ /include/ "qoriq-bman1.dtsi" /include/ "qoriq-fman3-0.dtsi" -/include/ "qoriq-fman3-0-1g-0.dtsi" -/include/ "qoriq-fman3-0-1g-1.dtsi" +/include/ "qoriq-fman3-0-10g-2.dtsi" +/include/ "qoriq-fman3-0-10g-3.dtsi" /include/ "qoriq-fman3-0-1g-2.dtsi" /include/ "qoriq-fman3-0-1g-3.dtsi" /include/ "qoriq-fman3-0-1g-4.dtsi" @@ -659,3 +659,19 @@ interrupts = <16 2 1 9>; }; }; + +&fman0_rx_0x08 { + /delete-property/ fsl,fman-10g-port; +}; + +&fman0_tx_0x28 { + /delete-property/ fsl,fman-10g-port; +}; + +&fman0_rx_0x09 { + /delete-property/ fsl,fman-10g-port; +}; + +&fman0_tx_0x29 { + /delete-property/ fsl,fman-10g-port; +}; --- linux-gcp-5.19.0.orig/arch/powerpc/configs/44x/akebono_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/44x/akebono_defconfig @@ -118,7 +118,7 @@ CONFIG_NLS_DEFAULT="n" CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_ISO8859_1=y -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y CONFIG_XMON=y --- linux-gcp-5.19.0.orig/arch/powerpc/configs/44x/currituck_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/44x/currituck_defconfig @@ -73,7 +73,7 @@ CONFIG_NFS_V3_ACL=y CONFIG_NFS_V4=y CONFIG_NLS_DEFAULT="n" -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y CONFIG_XMON=y --- linux-gcp-5.19.0.orig/arch/powerpc/configs/44x/fsp2_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/44x/fsp2_defconfig @@ -110,7 +110,7 @@ CONFIG_PRINTK_TIME=y CONFIG_MESSAGE_LOGLEVEL_DEFAULT=3 CONFIG_DYNAMIC_DEBUG=y -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y CONFIG_CRYPTO_CBC=y --- linux-gcp-5.19.0.orig/arch/powerpc/configs/44x/iss476-smp_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/44x/iss476-smp_defconfig @@ -56,7 +56,7 @@ CONFIG_TMPFS=y CONFIG_CRAMFS=y # CONFIG_NETWORK_FILESYSTEMS is not set -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y CONFIG_PPC_EARLY_DEBUG=y --- linux-gcp-5.19.0.orig/arch/powerpc/configs/44x/warp_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/44x/warp_defconfig @@ -88,7 +88,7 @@ CONFIG_CRC_CCITT=y CONFIG_CRC_T10DIF=y CONFIG_PRINTK_TIME=y -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_DEBUG_FS=y CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y --- linux-gcp-5.19.0.orig/arch/powerpc/configs/52xx/lite5200b_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/52xx/lite5200b_defconfig @@ -58,6 +58,6 @@ CONFIG_NFS_V4=y CONFIG_ROOT_NFS=y CONFIG_PRINTK_TIME=y -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_DETECT_HUNG_TASK=y # CONFIG_DEBUG_BUGVERBOSE is not set --- linux-gcp-5.19.0.orig/arch/powerpc/configs/52xx/motionpro_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/52xx/motionpro_defconfig @@ -84,7 +84,7 @@ CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_ISO8859_1=y CONFIG_PRINTK_TIME=y -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_DETECT_HUNG_TASK=y # CONFIG_DEBUG_BUGVERBOSE is not set CONFIG_CRYPTO_ECB=y --- linux-gcp-5.19.0.orig/arch/powerpc/configs/52xx/tqm5200_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/52xx/tqm5200_defconfig @@ -85,7 +85,7 @@ CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_ISO8859_1=y CONFIG_PRINTK_TIME=y -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_DETECT_HUNG_TASK=y # CONFIG_DEBUG_BUGVERBOSE is not set CONFIG_CRYPTO_ECB=y --- linux-gcp-5.19.0.orig/arch/powerpc/configs/adder875_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/adder875_defconfig @@ -45,7 +45,7 @@ CONFIG_NFS_FS=y CONFIG_ROOT_NFS=y CONFIG_CRC32_SLICEBY4=y -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_DEBUG_FS=y CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y --- linux-gcp-5.19.0.orig/arch/powerpc/configs/ep8248e_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/ep8248e_defconfig @@ -59,7 +59,7 @@ CONFIG_NLS_ASCII=y CONFIG_NLS_ISO8859_1=y CONFIG_NLS_UTF8=y -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y # CONFIG_SCHED_DEBUG is not set CONFIG_BDI_SWITCH=y --- linux-gcp-5.19.0.orig/arch/powerpc/configs/ep88xc_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/ep88xc_defconfig @@ -48,6 +48,6 @@ CONFIG_NFS_FS=y CONFIG_ROOT_NFS=y CONFIG_CRC32_SLICEBY4=y -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y --- linux-gcp-5.19.0.orig/arch/powerpc/configs/fsl-emb-nonhw.config +++ linux-gcp-5.19.0/arch/powerpc/configs/fsl-emb-nonhw.config @@ -24,7 +24,7 @@ CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y CONFIG_DEBUG_FS=y -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_DEBUG_KERNEL=y CONFIG_DEBUG_SHIRQ=y CONFIG_DETECT_HUNG_TASK=y --- linux-gcp-5.19.0.orig/arch/powerpc/configs/mgcoge_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/mgcoge_defconfig @@ -73,7 +73,7 @@ CONFIG_NLS_ASCII=y CONFIG_NLS_ISO8859_1=y CONFIG_NLS_UTF8=y -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_DEBUG_FS=y CONFIG_MAGIC_SYSRQ=y # CONFIG_SCHED_DEBUG is not set --- linux-gcp-5.19.0.orig/arch/powerpc/configs/mpc5200_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/mpc5200_defconfig @@ -122,6 +122,6 @@ CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_ISO8859_1=y CONFIG_PRINTK_TIME=y -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_DEBUG_KERNEL=y CONFIG_DETECT_HUNG_TASK=y --- linux-gcp-5.19.0.orig/arch/powerpc/configs/mpc8272_ads_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/mpc8272_ads_defconfig @@ -67,7 +67,7 @@ CONFIG_NLS_ASCII=y CONFIG_NLS_ISO8859_1=y CONFIG_NLS_UTF8=y -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y CONFIG_BDI_SWITCH=y --- linux-gcp-5.19.0.orig/arch/powerpc/configs/mpc885_ads_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/mpc885_ads_defconfig @@ -71,7 +71,7 @@ CONFIG_CRYPTO=y CONFIG_CRYPTO_DEV_TALITOS=y CONFIG_CRC32_SLICEBY4=y -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_FS=y CONFIG_DEBUG_VM_PGTABLE=y --- linux-gcp-5.19.0.orig/arch/powerpc/configs/ppc6xx_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/ppc6xx_defconfig @@ -1065,7 +1065,7 @@ CONFIG_NLS_ISO8859_15=m CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_HEADERS_INSTALL=y CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_KERNEL=y --- linux-gcp-5.19.0.orig/arch/powerpc/configs/pq2fads_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/pq2fads_defconfig @@ -68,7 +68,7 @@ CONFIG_NLS_ASCII=y CONFIG_NLS_ISO8859_1=y CONFIG_NLS_UTF8=y -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y # CONFIG_SCHED_DEBUG is not set --- linux-gcp-5.19.0.orig/arch/powerpc/configs/ps3_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/ps3_defconfig @@ -153,7 +153,7 @@ CONFIG_NLS_ISO8859_1=y CONFIG_CRC_CCITT=m CONFIG_CRC_T10DIF=y -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_MEMORY_INIT=y CONFIG_DEBUG_STACKOVERFLOW=y --- linux-gcp-5.19.0.orig/arch/powerpc/configs/pseries_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/pseries_defconfig @@ -40,6 +40,7 @@ CONFIG_DTL=y CONFIG_PPC_SMLPAR=y CONFIG_IBMEBUS=y +CONFIG_LIBNVDIMM=m CONFIG_PAPR_SCM=m CONFIG_PPC_SVM=y # CONFIG_PPC_PMAC is not set --- linux-gcp-5.19.0.orig/arch/powerpc/configs/tqm8xx_defconfig +++ linux-gcp-5.19.0/arch/powerpc/configs/tqm8xx_defconfig @@ -55,6 +55,6 @@ CONFIG_NFS_FS=y CONFIG_ROOT_NFS=y CONFIG_CRC32_SLICEBY4=y -CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_MAGIC_SYSRQ=y CONFIG_DETECT_HUNG_TASK=y --- linux-gcp-5.19.0.orig/arch/powerpc/include/asm/archrandom.h +++ linux-gcp-5.19.0/arch/powerpc/include/asm/archrandom.h @@ -38,12 +38,7 @@ #endif /* CONFIG_ARCH_RANDOM */ #ifdef CONFIG_PPC_POWERNV -int powernv_hwrng_present(void); int powernv_get_random_long(unsigned long *v); -int powernv_get_random_real_mode(unsigned long *v); -#else -static inline int powernv_hwrng_present(void) { return 0; } -static inline int powernv_get_random_real_mode(unsigned long *v) { return 0; } #endif #endif /* _ASM_POWERPC_ARCHRANDOM_H */ --- linux-gcp-5.19.0.orig/arch/powerpc/include/asm/cputhreads.h +++ linux-gcp-5.19.0/arch/powerpc/include/asm/cputhreads.h @@ -3,6 +3,7 @@ #define _ASM_POWERPC_CPUTHREADS_H #ifndef __ASSEMBLY__ +#include #include #include --- linux-gcp-5.19.0.orig/arch/powerpc/include/asm/firmware.h +++ linux-gcp-5.19.0/arch/powerpc/include/asm/firmware.h @@ -82,6 +82,8 @@ FW_FEATURE_POWERNV_ALWAYS = 0, FW_FEATURE_PS3_POSSIBLE = FW_FEATURE_LPAR | FW_FEATURE_PS3_LV1, FW_FEATURE_PS3_ALWAYS = FW_FEATURE_LPAR | FW_FEATURE_PS3_LV1, + FW_FEATURE_NATIVE_POSSIBLE = 0, + FW_FEATURE_NATIVE_ALWAYS = 0, FW_FEATURE_POSSIBLE = #ifdef CONFIG_PPC_PSERIES FW_FEATURE_PSERIES_POSSIBLE | @@ -92,6 +94,9 @@ #ifdef CONFIG_PPC_PS3 FW_FEATURE_PS3_POSSIBLE | #endif +#ifdef CONFIG_PPC_HASH_MMU_NATIVE + FW_FEATURE_NATIVE_ALWAYS | +#endif 0, FW_FEATURE_ALWAYS = #ifdef CONFIG_PPC_PSERIES @@ -103,6 +108,9 @@ #ifdef CONFIG_PPC_PS3 FW_FEATURE_PS3_ALWAYS & #endif +#ifdef CONFIG_PPC_HASH_MMU_NATIVE + FW_FEATURE_NATIVE_ALWAYS & +#endif FW_FEATURE_POSSIBLE, #else /* CONFIG_PPC64 */ --- linux-gcp-5.19.0.orig/arch/powerpc/include/asm/ftrace.h +++ linux-gcp-5.19.0/arch/powerpc/include/asm/ftrace.h @@ -64,17 +64,6 @@ * those. */ #define ARCH_HAS_SYSCALL_MATCH_SYM_NAME -#ifdef CONFIG_PPC64_ELF_ABI_V1 -static inline bool arch_syscall_match_sym_name(const char *sym, const char *name) -{ - /* We need to skip past the initial dot, and the __se_sys alias */ - return !strcmp(sym + 1, name) || - (!strncmp(sym, ".__se_sys", 9) && !strcmp(sym + 6, name)) || - (!strncmp(sym, ".ppc_", 5) && !strcmp(sym + 5, name + 4)) || - (!strncmp(sym, ".ppc32_", 7) && !strcmp(sym + 7, name + 4)) || - (!strncmp(sym, ".ppc64_", 7) && !strcmp(sym + 7, name + 4)); -} -#else static inline bool arch_syscall_match_sym_name(const char *sym, const char *name) { return !strcmp(sym, name) || @@ -83,7 +72,6 @@ (!strncmp(sym, "ppc32_", 6) && !strcmp(sym + 6, name + 4)) || (!strncmp(sym, "ppc64_", 6) && !strcmp(sym + 6, name + 4)); } -#endif /* CONFIG_PPC64_ELF_ABI_V1 */ #endif /* CONFIG_FTRACE_SYSCALLS */ #if defined(CONFIG_PPC64) && defined(CONFIG_FUNCTION_TRACER) --- linux-gcp-5.19.0.orig/arch/powerpc/include/asm/hw_irq.h +++ linux-gcp-5.19.0/arch/powerpc/include/asm/hw_irq.h @@ -211,7 +211,7 @@ static inline unsigned long arch_local_irq_save(void) { - return irq_soft_mask_set_return(IRQS_DISABLED); + return irq_soft_mask_or_return(IRQS_DISABLED); } static inline bool arch_irqs_disabled_flags(unsigned long flags) --- linux-gcp-5.19.0.orig/arch/powerpc/include/asm/imc-pmu.h +++ linux-gcp-5.19.0/arch/powerpc/include/asm/imc-pmu.h @@ -137,7 +137,7 @@ * are inited. */ struct imc_pmu_ref { - struct mutex lock; + spinlock_t lock; unsigned int id; int refc; }; --- linux-gcp-5.19.0.orig/arch/powerpc/include/asm/kexec.h +++ linux-gcp-5.19.0/arch/powerpc/include/asm/kexec.h @@ -120,6 +120,15 @@ #ifdef CONFIG_PPC64 struct kexec_buf; +int arch_kexec_kernel_image_probe(struct kimage *image, void *buf, unsigned long buf_len); +#define arch_kexec_kernel_image_probe arch_kexec_kernel_image_probe + +int arch_kimage_file_post_load_cleanup(struct kimage *image); +#define arch_kimage_file_post_load_cleanup arch_kimage_file_post_load_cleanup + +int arch_kexec_locate_mem_hole(struct kexec_buf *kbuf); +#define arch_kexec_locate_mem_hole arch_kexec_locate_mem_hole + int load_crashdump_segments_ppc64(struct kimage *image, struct kexec_buf *kbuf); int setup_purgatory_ppc64(struct kimage *image, const void *slave_code, --- linux-gcp-5.19.0.orig/arch/powerpc/include/asm/nmi.h +++ linux-gcp-5.19.0/arch/powerpc/include/asm/nmi.h @@ -5,8 +5,10 @@ #ifdef CONFIG_PPC_WATCHDOG extern void arch_touch_nmi_watchdog(void); long soft_nmi_interrupt(struct pt_regs *regs); +void watchdog_nmi_set_timeout_pct(u64 pct); #else static inline void arch_touch_nmi_watchdog(void) {} +static inline void watchdog_nmi_set_timeout_pct(u64 pct) {} #endif #ifdef CONFIG_NMI_IPI --- linux-gcp-5.19.0.orig/arch/powerpc/include/asm/paca.h +++ linux-gcp-5.19.0/arch/powerpc/include/asm/paca.h @@ -263,7 +263,6 @@ u64 l1d_flush_size; #endif #ifdef CONFIG_PPC_PSERIES - struct rtas_args *rtas_args_reentrant; u8 *mce_data_buf; /* buffer to hold per cpu rtas errlog */ #endif /* CONFIG_PPC_PSERIES */ --- linux-gcp-5.19.0.orig/arch/powerpc/include/asm/rtas.h +++ linux-gcp-5.19.0/arch/powerpc/include/asm/rtas.h @@ -240,7 +240,6 @@ extern int rtas_token(const char *service); extern int rtas_service_present(const char *service); extern int rtas_call(int token, int, int, int *, ...); -int rtas_call_reentrant(int token, int nargs, int nret, int *outputs, ...); void rtas_call_unlocked(struct rtas_args *args, int token, int nargs, int nret, ...); extern void __noreturn rtas_restart(char *cmd); --- linux-gcp-5.19.0.orig/arch/powerpc/include/asm/simple_spinlock.h +++ linux-gcp-5.19.0/arch/powerpc/include/asm/simple_spinlock.h @@ -48,10 +48,11 @@ static inline unsigned long __arch_spin_trylock(arch_spinlock_t *lock) { unsigned long tmp, token; + unsigned int eh = IS_ENABLED(CONFIG_PPC64); token = LOCK_TOKEN; __asm__ __volatile__( -"1: lwarx %0,0,%2,1\n\ +"1: lwarx %0,0,%2,%[eh]\n\ cmpwi 0,%0,0\n\ bne- 2f\n\ stwcx. %1,0,%2\n\ @@ -59,7 +60,7 @@ PPC_ACQUIRE_BARRIER "2:" : "=&r" (tmp) - : "r" (token), "r" (&lock->slock) + : "r" (token), "r" (&lock->slock), [eh] "n" (eh) : "cr0", "memory"); return tmp; @@ -156,9 +157,10 @@ static inline long __arch_read_trylock(arch_rwlock_t *rw) { long tmp; + unsigned int eh = IS_ENABLED(CONFIG_PPC64); __asm__ __volatile__( -"1: lwarx %0,0,%1,1\n" +"1: lwarx %0,0,%1,%[eh]\n" __DO_SIGN_EXTEND " addic. %0,%0,1\n\ ble- 2f\n" @@ -166,7 +168,7 @@ bne- 1b\n" PPC_ACQUIRE_BARRIER "2:" : "=&r" (tmp) - : "r" (&rw->lock) + : "r" (&rw->lock), [eh] "n" (eh) : "cr0", "xer", "memory"); return tmp; @@ -179,17 +181,18 @@ static inline long __arch_write_trylock(arch_rwlock_t *rw) { long tmp, token; + unsigned int eh = IS_ENABLED(CONFIG_PPC64); token = WRLOCK_TOKEN; __asm__ __volatile__( -"1: lwarx %0,0,%2,1\n\ +"1: lwarx %0,0,%2,%[eh]\n\ cmpwi 0,%0,0\n\ bne- 2f\n" " stwcx. %1,0,%2\n\ bne- 1b\n" PPC_ACQUIRE_BARRIER "2:" : "=&r" (tmp) - : "r" (token), "r" (&rw->lock) + : "r" (token), "r" (&rw->lock), [eh] "n" (eh) : "cr0", "memory"); return tmp; --- linux-gcp-5.19.0.orig/arch/powerpc/include/asm/syscalls.h +++ linux-gcp-5.19.0/arch/powerpc/include/asm/syscalls.h @@ -8,6 +8,18 @@ #include #include +/* + * long long munging: + * The 32 bit ABI passes long longs in an odd even register pair. + * High and low parts are swapped depending on endian mode, + * so define a macro (similar to mips linux32) to handle that. + */ +#ifdef __LITTLE_ENDIAN__ +#define merge_64(low, high) (((u64)high << 32) | low) +#else +#define merge_64(high, low) (((u64)high << 32) | low) +#endif + struct rtas_args; asmlinkage long sys_mmap(unsigned long addr, size_t len, --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/head_book3s_32.S +++ linux-gcp-5.19.0/arch/powerpc/kernel/head_book3s_32.S @@ -418,14 +418,14 @@ */ /* Get PTE (linux-style) and check access */ mfspr r3,SPRN_IMISS -#if defined(CONFIG_MODULES) || defined(CONFIG_DEBUG_PAGEALLOC) || defined(CONFIG_KFENCE) +#ifdef CONFIG_MODULES lis r1, TASK_SIZE@h /* check if kernel address */ cmplw 0,r1,r3 #endif mfspr r2, SPRN_SDR1 li r1,_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC | _PAGE_USER rlwinm r2, r2, 28, 0xfffff000 -#if defined(CONFIG_MODULES) || defined(CONFIG_DEBUG_PAGEALLOC) || defined(CONFIG_KFENCE) +#ifdef CONFIG_MODULES bgt- 112f lis r2, (swapper_pg_dir - PAGE_OFFSET)@ha /* if kernel address, use */ li r1,_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_EXEC --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/interrupt.c +++ linux-gcp-5.19.0/arch/powerpc/kernel/interrupt.c @@ -52,16 +52,18 @@ */ static notrace __always_inline bool prep_irq_for_enabled_exit(bool restartable) { + bool must_hard_disable = (exit_must_hard_disable() || !restartable); + /* This must be done with RI=1 because tracing may touch vmaps */ trace_hardirqs_on(); - if (exit_must_hard_disable() || !restartable) + if (must_hard_disable) __hard_EE_RI_disable(); #ifdef CONFIG_PPC64 /* This pattern matches prep_irq_for_idle */ if (unlikely(lazy_irq_pending_nocheck())) { - if (exit_must_hard_disable() || !restartable) { + if (must_hard_disable) { local_paca->irq_happened |= PACA_IRQ_HARD_DIS; __hard_RI_enable(); } @@ -592,16 +594,6 @@ if (unlikely(stack_store)) __hard_EE_RI_disable(); - /* - * Returning to a kernel context with local irqs disabled. - * Here, if EE was enabled in the interrupted context, enable - * it on return as well. A problem exists here where a soft - * masked interrupt may have cleared MSR[EE] and set HARD_DIS - * here, and it will still exist on return to the caller. This - * will be resolved by the masked interrupt firing again. - */ - if (regs->msr & MSR_EE) - local_paca->irq_happened &= ~PACA_IRQ_HARD_DIS; #endif /* CONFIG_PPC64 */ } --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/interrupt_64.S +++ linux-gcp-5.19.0/arch/powerpc/kernel/interrupt_64.S @@ -559,15 +559,63 @@ ld r11,SOFTE(r1) cmpwi r11,IRQS_ENABLED stb r11,PACAIRQSOFTMASK(r13) - bne 1f + beq .Linterrupt_return_\srr\()_soft_enabled + + /* + * Returning to soft-disabled context. + * Check if a MUST_HARD_MASK interrupt has become pending, in which + * case we need to disable MSR[EE] in the return context. + * + * The MSR[EE] check catches among other things the short incoherency + * in hard_irq_disable() between clearing MSR[EE] and setting + * PACA_IRQ_HARD_DIS. + */ + ld r12,_MSR(r1) + andi. r10,r12,MSR_EE + beq .Lfast_kernel_interrupt_return_\srr\() // EE already disabled + lbz r11,PACAIRQHAPPENED(r13) + andi. r10,r11,PACA_IRQ_MUST_HARD_MASK + bne 1f // HARD_MASK is pending + // No HARD_MASK pending, clear possible HARD_DIS set by interrupt + andi. r11,r11,(~PACA_IRQ_HARD_DIS)@l + stb r11,PACAIRQHAPPENED(r13) + b .Lfast_kernel_interrupt_return_\srr\() + + +1: /* Must clear MSR_EE from _MSR */ +#ifdef CONFIG_PPC_BOOK3S + li r10,0 + /* Clear valid before changing _MSR */ + .ifc \srr,srr + stb r10,PACASRR_VALID(r13) + .else + stb r10,PACAHSRR_VALID(r13) + .endif +#endif + xori r12,r12,MSR_EE + std r12,_MSR(r1) + b .Lfast_kernel_interrupt_return_\srr\() + +.Linterrupt_return_\srr\()_soft_enabled: + /* + * In the soft-enabled case, need to double-check that we have no + * pending interrupts that might have come in before we reached the + * restart section of code, and restart the exit so those can be + * handled. + * + * If there are none, it is be possible that the interrupt still + * has PACA_IRQ_HARD_DIS set, which needs to be cleared for the + * interrupted context. This clear will not clobber a new pending + * interrupt coming in, because we're in the restart section, so + * such would return to the restart location. + */ #ifdef CONFIG_PPC_BOOK3S lbz r11,PACAIRQHAPPENED(r13) andi. r11,r11,(~PACA_IRQ_HARD_DIS)@l bne- interrupt_return_\srr\()_kernel_restart #endif li r11,0 - stb r11,PACAIRQHAPPENED(r13) # clear out possible HARD_DIS -1: + stb r11,PACAIRQHAPPENED(r13) // clear the possible HARD_DIS .Lfast_kernel_interrupt_return_\srr\(): cmpdi cr1,r3,0 --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/iommu.c +++ linux-gcp-5.19.0/arch/powerpc/kernel/iommu.c @@ -775,6 +775,11 @@ /* ignore reserved bit0 */ if (tbl->it_offset == 0) start = 1; + + /* Simple case with no reserved MMIO32 region */ + if (!tbl->it_reserved_start && !tbl->it_reserved_end) + return find_next_bit(tbl->it_map, tbl->it_size, start) != tbl->it_size; + end = tbl->it_reserved_start - tbl->it_offset; if (find_next_bit(tbl->it_map, end, start) != end) return true; --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/kprobes.c +++ linux-gcp-5.19.0/arch/powerpc/kernel/kprobes.c @@ -161,7 +161,13 @@ preempt_disable(); prev = get_kprobe(p->addr - 1); preempt_enable_no_resched(); - if (prev && ppc_inst_prefixed(ppc_inst_read(prev->ainsn.insn))) { + + /* + * When prev is a ftrace-based kprobe, we don't have an insn, and it + * doesn't probe for prefixed instruction. + */ + if (prev && !kprobe_ftrace(prev) && + ppc_inst_prefixed(ppc_inst_read(prev->ainsn.insn))) { printk("Cannot register a kprobe on the second word of prefixed instruction\n"); ret = -EINVAL; } --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/paca.c +++ linux-gcp-5.19.0/arch/powerpc/kernel/paca.c @@ -16,7 +16,6 @@ #include #include #include -#include #include "setup.h" @@ -170,30 +169,6 @@ } #endif /* CONFIG_PPC_64S_HASH_MMU */ -#ifdef CONFIG_PPC_PSERIES -/** - * new_rtas_args() - Allocates rtas args - * @cpu: CPU number - * @limit: Memory limit for this allocation - * - * Allocates a struct rtas_args and return it's pointer, - * if not in Hypervisor mode - * - * Return: Pointer to allocated rtas_args - * NULL if CPU in Hypervisor Mode - */ -static struct rtas_args * __init new_rtas_args(int cpu, unsigned long limit) -{ - limit = min_t(unsigned long, limit, RTAS_INSTANTIATE_MAX); - - if (early_cpu_has_feature(CPU_FTR_HVMODE)) - return NULL; - - return alloc_paca_data(sizeof(struct rtas_args), L1_CACHE_BYTES, - limit, cpu); -} -#endif /* CONFIG_PPC_PSERIES */ - /* The Paca is an array with one entry per processor. Each contains an * lppaca, which contains the information shared between the * hypervisor and Linux. @@ -232,10 +207,6 @@ /* For now -- if we have threads this will be adjusted later */ new_paca->tcd_ptr = &new_paca->tcd; #endif - -#ifdef CONFIG_PPC_PSERIES - new_paca->rtas_args_reentrant = NULL; -#endif } /* Put the paca pointer into r13 and SPRG_PACA */ @@ -308,9 +279,6 @@ #ifdef CONFIG_PPC_64S_HASH_MMU paca->slb_shadow_ptr = new_slb_shadow(cpu, limit); #endif -#ifdef CONFIG_PPC_PSERIES - paca->rtas_args_reentrant = new_rtas_args(cpu, limit); -#endif paca_struct_size += sizeof(struct paca_struct); } --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/pci-common.c +++ linux-gcp-5.19.0/arch/powerpc/kernel/pci-common.c @@ -67,23 +67,35 @@ pci_dma_ops = dma_ops; } -/* - * This function should run under locking protection, specifically - * hose_spinlock. - */ static int get_phb_number(struct device_node *dn) { int ret, phb_id = -1; - u32 prop_32; u64 prop; /* * Try fixed PHB numbering first, by checking archs and reading - * the respective device-tree properties. Firstly, try powernv by - * reading "ibm,opal-phbid", only present in OPAL environment. + * the respective device-tree properties. Firstly, try reading + * standard "linux,pci-domain", then try reading "ibm,opal-phbid" + * (only present in powernv OPAL environment), then try device-tree + * alias and as the last try to use lower bits of "reg" property. */ - ret = of_property_read_u64(dn, "ibm,opal-phbid", &prop); + ret = of_get_pci_domain_nr(dn); + if (ret >= 0) { + prop = ret; + ret = 0; + } + if (ret) + ret = of_property_read_u64(dn, "ibm,opal-phbid", &prop); + if (ret) { + ret = of_alias_get_id(dn, "pci"); + if (ret >= 0) { + prop = ret; + ret = 0; + } + } + if (ret) { + u32 prop_32; ret = of_property_read_u32_index(dn, "reg", 1, &prop_32); prop = prop_32; } @@ -91,18 +103,20 @@ if (!ret) phb_id = (int)(prop & (MAX_PHBS - 1)); + spin_lock(&hose_spinlock); + /* We need to be sure to not use the same PHB number twice. */ if ((phb_id >= 0) && !test_and_set_bit(phb_id, phb_bitmap)) - return phb_id; + goto out_unlock; - /* - * If not pseries nor powernv, or if fixed PHB numbering tried to add - * the same PHB number twice, then fallback to dynamic PHB numbering. - */ + /* If everything fails then fallback to dynamic PHB numbering. */ phb_id = find_first_zero_bit(phb_bitmap, MAX_PHBS); BUG_ON(phb_id >= MAX_PHBS); set_bit(phb_id, phb_bitmap); +out_unlock: + spin_unlock(&hose_spinlock); + return phb_id; } @@ -113,10 +127,13 @@ phb = zalloc_maybe_bootmem(sizeof(struct pci_controller), GFP_KERNEL); if (phb == NULL) return NULL; - spin_lock(&hose_spinlock); + phb->global_number = get_phb_number(dev); + + spin_lock(&hose_spinlock); list_add_tail(&phb->list_node, &hose_list); spin_unlock(&hose_spinlock); + phb->dn = dev; phb->is_dynamic = slab_is_available(); #ifdef CONFIG_PPC64 @@ -342,6 +359,7 @@ } return NULL; } +EXPORT_SYMBOL(pci_find_hose_for_OF_device); struct pci_controller *pci_find_controller_for_domain(int domain_nr) { @@ -1613,6 +1631,7 @@ { return pci_bus_find_capability(fake_pci_bus(hose, bus), devfn, cap); } +EXPORT_SYMBOL_GPL(early_find_capability); struct device_node *pcibios_get_phb_of_node(struct pci_bus *bus) { --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/pci_dn.c +++ linux-gcp-5.19.0/arch/powerpc/kernel/pci_dn.c @@ -330,6 +330,7 @@ INIT_LIST_HEAD(&pdn->list); parent = of_get_parent(dn); pdn->parent = parent ? PCI_DN(parent) : NULL; + of_node_put(parent); if (pdn->parent) list_add_tail(&pdn->list, &pdn->parent->child_list); --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/prom.c +++ linux-gcp-5.19.0/arch/powerpc/kernel/prom.c @@ -751,6 +751,13 @@ early_init_dt_scan_root(); early_init_dt_scan_memory_ppc(); + /* + * As generic code authors expect to be able to use static keys + * in early_param() handlers, we initialize the static keys just + * before parsing early params (it's fine to call jump_label_init() + * more than once). + */ + jump_label_init(); parse_early_param(); /* make sure we've parsed cmdline for mem= before this */ --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/rtas.c +++ linux-gcp-5.19.0/arch/powerpc/kernel/rtas.c @@ -43,7 +43,6 @@ #include #include #include -#include /* This is here deliberately so it's only used in this file */ void enter_rtas(unsigned long); @@ -876,6 +875,7 @@ /* Must be in the RMO region, so we place it here */ static char rtas_os_term_buf[2048]; +static s32 ibm_os_term_token = RTAS_UNKNOWN_SERVICE; void rtas_os_term(char *str) { @@ -887,16 +887,20 @@ * this property may terminate the partition which we want to avoid * since it interferes with panic_timeout. */ - if (RTAS_UNKNOWN_SERVICE == rtas_token("ibm,os-term") || - RTAS_UNKNOWN_SERVICE == rtas_token("ibm,extended-os-term")) + if (ibm_os_term_token == RTAS_UNKNOWN_SERVICE) return; snprintf(rtas_os_term_buf, 2048, "OS panic: %s", str); + /* + * Keep calling as long as RTAS returns a "try again" status, + * but don't use rtas_busy_delay(), which potentially + * schedules. + */ do { - status = rtas_call(rtas_token("ibm,os-term"), 1, 1, NULL, + status = rtas_call(ibm_os_term_token, 1, 1, NULL, __pa(rtas_os_term_buf)); - } while (rtas_busy_delay(status)); + } while (rtas_busy_delay_time(status)); if (status != 0) printk(KERN_EMERG "ibm,os-term call failed %d\n", status); @@ -932,59 +936,6 @@ pr_err("ibm,activate-firmware failed (%i)\n", fwrc); } -#ifdef CONFIG_PPC_PSERIES -/** - * rtas_call_reentrant() - Used for reentrant rtas calls - * @token: Token for desired reentrant RTAS call - * @nargs: Number of Input Parameters - * @nret: Number of Output Parameters - * @outputs: Array of outputs - * @...: Inputs for desired RTAS call - * - * According to LoPAR documentation, only "ibm,int-on", "ibm,int-off", - * "ibm,get-xive" and "ibm,set-xive" are currently reentrant. - * Reentrant calls need their own rtas_args buffer, so not using rtas.args, but - * PACA one instead. - * - * Return: -1 on error, - * First output value of RTAS call if (nret > 0), - * 0 otherwise, - */ -int rtas_call_reentrant(int token, int nargs, int nret, int *outputs, ...) -{ - va_list list; - struct rtas_args *args; - unsigned long flags; - int i, ret = 0; - - if (!rtas.entry || token == RTAS_UNKNOWN_SERVICE) - return -1; - - local_irq_save(flags); - preempt_disable(); - - /* We use the per-cpu (PACA) rtas args buffer */ - args = local_paca->rtas_args_reentrant; - - va_start(list, outputs); - va_rtas_call_unlocked(args, token, nargs, nret, list); - va_end(list); - - if (nret > 1 && outputs) - for (i = 0; i < nret - 1; ++i) - outputs[i] = be32_to_cpu(args->rets[i + 1]); - - if (nret > 0) - ret = be32_to_cpu(args->rets[0]); - - local_irq_restore(flags); - preempt_enable(); - - return ret; -} - -#endif /* CONFIG_PPC_PSERIES */ - /** * get_pseries_errorlog() - Find a specific pseries error log in an RTAS * extended event log. @@ -1309,6 +1260,13 @@ no_entry = of_property_read_u32(rtas.dev, "linux,rtas-entry", &entry); rtas.entry = no_entry ? rtas.base : entry; + /* + * Discover these now to avoid device tree lookups in the + * panic path. + */ + if (of_property_read_bool(rtas.dev, "ibm,extended-os-term")) + ibm_os_term_token = rtas_token("ibm,os-term"); + /* If RTAS was found, allocate the RMO buffer for it and look for * the stop-self token if any */ --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/rtas_entry.S +++ linux-gcp-5.19.0/arch/powerpc/kernel/rtas_entry.S @@ -109,8 +109,12 @@ * its critical regions (as specified in PAPR+ section 7.2.1). MSR[S] * is not impacted by RFI_TO_KERNEL (only urfid can unset it). So if * MSR[S] is set, it will remain when entering RTAS. + * If we're in HV mode, RTAS must also run in HV mode, so extract MSR_HV + * from the saved MSR value and insert into the value RTAS will use. */ + extrdi r0, r6, 1, 63 - MSR_HV_LG LOAD_REG_IMMEDIATE(r6, MSR_ME | MSR_RI) + insrdi r6, r0, 1, 63 - MSR_HV_LG li r0,0 mtmsrd r0,1 /* disable RI before using SRR0/1 */ --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/setup-common.c +++ linux-gcp-5.19.0/arch/powerpc/kernel/setup-common.c @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include @@ -65,6 +66,7 @@ #include #include #include +#include #include "setup.h" @@ -882,6 +884,16 @@ */ initialize_cache_info(); + /* + * Lock down the kernel if booted in secure mode. This is required to + * maintain kernel integrity. + */ + if (IS_ENABLED(CONFIG_LOCK_DOWN_IN_SECURE_BOOT)) { + if (is_ppc_secureboot_enabled()) + security_lock_kernel_down("PowerNV Secure Boot mode", + LOCKDOWN_INTEGRITY_MAX); + } + /* Initialize RTAS if available. */ rtas_initialize(); --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/setup_64.c +++ linux-gcp-5.19.0/arch/powerpc/kernel/setup_64.c @@ -183,8 +183,10 @@ get_paca()->cpu_start = 1; /* Allow percpu accesses to work until we setup percpu data */ get_paca()->data_offset = 0; - /* Mark interrupts disabled in PACA */ + /* Mark interrupts soft and hard disabled in PACA */ irq_soft_mask_set(IRQS_DISABLED); + get_paca()->irq_happened = PACA_IRQ_HARD_DIS; + WARN_ON(mfmsr() & MSR_EE); } static void __init configure_exceptions(void) --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/sys_ppc32.c +++ linux-gcp-5.19.0/arch/powerpc/kernel/sys_ppc32.c @@ -56,18 +56,6 @@ return sys_mmap(addr, len, prot, flags, fd, pgoff << 12); } -/* - * long long munging: - * The 32 bit ABI passes long longs in an odd even register pair. - * High and low parts are swapped depending on endian mode, - * so define a macro (similar to mips linux32) to handle that. - */ -#ifdef __LITTLE_ENDIAN__ -#define merge_64(low, high) ((u64)high << 32) | low -#else -#define merge_64(high, low) ((u64)high << 32) | low -#endif - compat_ssize_t compat_sys_pread64(unsigned int fd, char __user *ubuf, compat_size_t count, u32 reg6, u32 pos1, u32 pos2) { @@ -94,7 +82,7 @@ asmlinkage long compat_sys_fallocate(int fd, int mode, u32 offset1, u32 offset2, u32 len1, u32 len2) { - return ksys_fallocate(fd, mode, ((loff_t)offset1 << 32) | offset2, + return ksys_fallocate(fd, mode, merge_64(offset1, offset2), merge_64(len1, len2)); } --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/syscalls.c +++ linux-gcp-5.19.0/arch/powerpc/kernel/syscalls.c @@ -98,8 +98,8 @@ long ppc_fadvise64_64(int fd, int advice, u32 offset_high, u32 offset_low, u32 len_high, u32 len_low) { - return ksys_fadvise64_64(fd, (u64)offset_high << 32 | offset_low, - (u64)len_high << 32 | len_low, advice); + return ksys_fadvise64_64(fd, merge_64(offset_high, offset_low), + merge_64(len_high, len_low), advice); } SYSCALL_DEFINE0(switch_endian) --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/systbl.S +++ linux-gcp-5.19.0/arch/powerpc/kernel/systbl.S @@ -18,6 +18,7 @@ .p2align 3 #define __SYSCALL(nr, entry) .8byte entry #else + .p2align 2 #define __SYSCALL(nr, entry) .long entry #endif --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/trace/ftrace.c +++ linux-gcp-5.19.0/arch/powerpc/kernel/trace/ftrace.c @@ -392,11 +392,11 @@ */ static bool expected_nop_sequence(void *ip, ppc_inst_t op0, ppc_inst_t op1) { - if (IS_ENABLED(CONFIG_PPC64_ELF_ABI_V1)) + if (IS_ENABLED(CONFIG_DYNAMIC_FTRACE_WITH_REGS)) + return ppc_inst_equal(op0, ppc_inst(PPC_RAW_NOP())); + else return ppc_inst_equal(op0, ppc_inst(PPC_RAW_BRANCH(8))) && ppc_inst_equal(op1, ppc_inst(PPC_INST_LD_TOC)); - else - return ppc_inst_equal(op0, ppc_inst(PPC_RAW_NOP())); } static int @@ -411,7 +411,7 @@ if (copy_inst_from_kernel_nofault(op, ip)) return -EFAULT; - if (IS_ENABLED(CONFIG_PPC64_ELF_ABI_V1) && + if (!IS_ENABLED(CONFIG_DYNAMIC_FTRACE_WITH_REGS) && copy_inst_from_kernel_nofault(op + 1, ip + 4)) return -EFAULT; --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/vmlinux.lds.S +++ linux-gcp-5.19.0/arch/powerpc/kernel/vmlinux.lds.S @@ -32,6 +32,10 @@ #define STRICT_ALIGN_SIZE (1 << CONFIG_DATA_SHIFT) +#if STRICT_ALIGN_SIZE < PAGE_SIZE +#error "CONFIG_DATA_SHIFT must be >= PAGE_SHIFT" +#endif + ENTRY(_stext) PHDRS { @@ -215,7 +219,6 @@ */ . = ALIGN(STRICT_ALIGN_SIZE); __init_begin = .; - . = ALIGN(PAGE_SIZE); .init.text : AT(ADDR(.init.text) - LOAD_OFFSET) { _sinittext = .; INIT_TEXT --- linux-gcp-5.19.0.orig/arch/powerpc/kernel/watchdog.c +++ linux-gcp-5.19.0/arch/powerpc/kernel/watchdog.c @@ -91,6 +91,10 @@ static cpumask_t wd_smp_cpus_stuck; static u64 wd_smp_last_reset_tb; +#ifdef CONFIG_PPC_PSERIES +static u64 wd_timeout_pct; +#endif + /* * Try to take the exclusive watchdog action / NMI IPI / printing lock. * wd_smp_lock must be held. If this fails, we should return and wait @@ -527,7 +531,13 @@ static void watchdog_calc_timeouts(void) { - wd_panic_timeout_tb = watchdog_thresh * ppc_tb_freq; + u64 threshold = watchdog_thresh; + +#ifdef CONFIG_PPC_PSERIES + threshold += (READ_ONCE(wd_timeout_pct) * threshold) / 100; +#endif + + wd_panic_timeout_tb = threshold * ppc_tb_freq; /* Have the SMP detector trigger a bit later */ wd_smp_panic_timeout_tb = wd_panic_timeout_tb * 3 / 2; @@ -570,3 +580,12 @@ } return 0; } + +#ifdef CONFIG_PPC_PSERIES +void watchdog_nmi_set_timeout_pct(u64 pct) +{ + pr_info("Set the NMI watchdog timeout factor to %llu%%\n", pct); + WRITE_ONCE(wd_timeout_pct, pct); + lockup_detector_reconfigure(); +} +#endif --- linux-gcp-5.19.0.orig/arch/powerpc/kexec/file_load_64.c +++ linux-gcp-5.19.0/arch/powerpc/kexec/file_load_64.c @@ -23,6 +23,7 @@ #include #include #include +#include #include #include @@ -1038,6 +1039,48 @@ return ret; } +static int copy_property(void *fdt, int node_offset, const struct device_node *dn, + const char *propname) +{ + const void *prop, *fdtprop; + int len = 0, fdtlen = 0; + + prop = of_get_property(dn, propname, &len); + fdtprop = fdt_getprop(fdt, node_offset, propname, &fdtlen); + + if (fdtprop && !prop) + return fdt_delprop(fdt, node_offset, propname); + else if (prop) + return fdt_setprop(fdt, node_offset, propname, prop, len); + else + return -FDT_ERR_NOTFOUND; +} + +static int update_pci_dma_nodes(void *fdt, const char *dmapropname) +{ + struct device_node *dn; + int pci_offset, root_offset, ret = 0; + + if (!firmware_has_feature(FW_FEATURE_LPAR)) + return 0; + + root_offset = fdt_path_offset(fdt, "/"); + for_each_node_with_property(dn, dmapropname) { + pci_offset = fdt_subnode_offset(fdt, root_offset, of_node_full_name(dn)); + if (pci_offset < 0) + continue; + + ret = copy_property(fdt, pci_offset, dn, "ibm,dma-window"); + if (ret < 0) + break; + ret = copy_property(fdt, pci_offset, dn, dmapropname); + if (ret < 0) + break; + } + + return ret; +} + /** * setup_new_fdt_ppc64 - Update the flattend device-tree of the kernel * being loaded. @@ -1099,6 +1142,18 @@ if (ret < 0) goto out; +#define DIRECT64_PROPNAME "linux,direct64-ddr-window-info" +#define DMA64_PROPNAME "linux,dma64-ddr-window-info" + ret = update_pci_dma_nodes(fdt, DIRECT64_PROPNAME); + if (ret < 0) + goto out; + + ret = update_pci_dma_nodes(fdt, DMA64_PROPNAME); + if (ret < 0) + goto out; +#undef DMA64_PROPNAME +#undef DIRECT64_PROPNAME + /* Update memory reserve map */ ret = get_reserved_memory_ranges(&rmem); if (ret) --- linux-gcp-5.19.0.orig/arch/powerpc/kvm/book3s_hv_builtin.c +++ linux-gcp-5.19.0/arch/powerpc/kvm/book3s_hv_builtin.c @@ -19,7 +19,7 @@ #include #include #include -#include +#include #include #include #include @@ -176,13 +176,14 @@ int kvmppc_hwrng_present(void) { - return powernv_hwrng_present(); + return ppc_md.get_random_seed != NULL; } EXPORT_SYMBOL_GPL(kvmppc_hwrng_present); long kvmppc_rm_h_random(struct kvm_vcpu *vcpu) { - if (powernv_get_random_real_mode(&vcpu->arch.regs.gpr[4])) + if (ppc_md.get_random_seed && + ppc_md.get_random_seed(&vcpu->arch.regs.gpr[4])) return H_SUCCESS; return H_HARDWARE; --- linux-gcp-5.19.0.orig/arch/powerpc/kvm/book3s_hv_p9_entry.c +++ linux-gcp-5.19.0/arch/powerpc/kvm/book3s_hv_p9_entry.c @@ -438,15 +438,6 @@ EXPORT_SYMBOL_GPL(restore_p9_host_os_sprs); #ifdef CONFIG_KVM_BOOK3S_HV_EXIT_TIMING -static void __start_timing(struct kvm_vcpu *vcpu, struct kvmhv_tb_accumulator *next) -{ - struct kvmppc_vcore *vc = vcpu->arch.vcore; - u64 tb = mftb() - vc->tb_offset_applied; - - vcpu->arch.cur_activity = next; - vcpu->arch.cur_tb_start = tb; -} - static void __accumulate_time(struct kvm_vcpu *vcpu, struct kvmhv_tb_accumulator *next) { struct kvmppc_vcore *vc = vcpu->arch.vcore; @@ -478,8 +469,8 @@ curr->seqcount = seq + 2; } -#define start_timing(vcpu, next) __start_timing(vcpu, next) -#define end_timing(vcpu) __start_timing(vcpu, NULL) +#define start_timing(vcpu, next) __accumulate_time(vcpu, next) +#define end_timing(vcpu) __accumulate_time(vcpu, NULL) #define accumulate_time(vcpu, next) __accumulate_time(vcpu, next) #else #define start_timing(vcpu, next) do {} while (0) --- linux-gcp-5.19.0.orig/arch/powerpc/kvm/book3s_xics.h +++ linux-gcp-5.19.0/arch/powerpc/kvm/book3s_xics.h @@ -143,6 +143,7 @@ } extern unsigned long xics_rm_h_xirr(struct kvm_vcpu *vcpu); +extern unsigned long xics_rm_h_xirr_x(struct kvm_vcpu *vcpu); extern int xics_rm_h_ipi(struct kvm_vcpu *vcpu, unsigned long server, unsigned long mfrr); extern int xics_rm_h_cppr(struct kvm_vcpu *vcpu, unsigned long cppr); --- linux-gcp-5.19.0.orig/arch/powerpc/lib/sstep.c +++ linux-gcp-5.19.0/arch/powerpc/lib/sstep.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include --- linux-gcp-5.19.0.orig/arch/powerpc/math-emu/math_efp.c +++ linux-gcp-5.19.0/arch/powerpc/math-emu/math_efp.c @@ -17,6 +17,7 @@ #include #include +#include #include #include --- linux-gcp-5.19.0.orig/arch/powerpc/mm/book3s32/mmu.c +++ linux-gcp-5.19.0/arch/powerpc/mm/book3s32/mmu.c @@ -159,7 +159,10 @@ { unsigned long done; unsigned long border = (unsigned long)__init_begin - PAGE_OFFSET; + unsigned long size; + size = roundup_pow_of_two((unsigned long)_einittext - PAGE_OFFSET); + setibat(0, PAGE_OFFSET, 0, size, PAGE_KERNEL_X); if (debug_pagealloc_enabled_or_kfence() || __map_without_bats) { pr_debug_once("Read-Write memory mapped without BATs\n"); @@ -245,10 +248,9 @@ } /* - * Set up one of the I/D BAT (block address translation) register pairs. + * Set up one of the D BAT (block address translation) register pairs. * The parameters are not checked; in particular size must be a power * of 2 between 128k and 256M. - * On 603+, only set IBAT when _PAGE_EXEC is set */ void __init setbat(int index, unsigned long virt, phys_addr_t phys, unsigned int size, pgprot_t prot) @@ -284,10 +286,6 @@ /* G bit must be zero in IBATs */ flags &= ~_PAGE_EXEC; } - if (flags & _PAGE_EXEC) - bat[0] = bat[1]; - else - bat[0].batu = bat[0].batl = 0; bat_addrs[index].start = virt; bat_addrs[index].limit = virt + ((bl + 1) << 17) - 1; --- linux-gcp-5.19.0.orig/arch/powerpc/mm/book3s64/radix_pgtable.c +++ linux-gcp-5.19.0/arch/powerpc/mm/book3s64/radix_pgtable.c @@ -231,6 +231,14 @@ end = (unsigned long)__init_begin; radix__change_memory_range(start, end, _PAGE_WRITE); + + for (start = PAGE_OFFSET; start < (unsigned long)_stext; start += PAGE_SIZE) { + end = start + PAGE_SIZE; + if (overlaps_interrupt_vector_text(start, end)) + radix__change_memory_range(start, end, _PAGE_WRITE); + else + break; + } } void radix__mark_initmem_nx(void) @@ -259,6 +267,22 @@ static unsigned long next_boundary(unsigned long addr, unsigned long end) { #ifdef CONFIG_STRICT_KERNEL_RWX + unsigned long stext_phys; + + stext_phys = __pa_symbol(_stext); + + // Relocatable kernel running at non-zero real address + if (stext_phys != 0) { + // The end of interrupts code at zero is a rodata boundary + unsigned long end_intr = __pa_symbol(__end_interrupts) - stext_phys; + if (addr < end_intr) + return end_intr; + + // Start of relocated kernel text is a rodata boundary + if (addr < stext_phys) + return stext_phys; + } + if (addr < __pa_symbol(__init_begin)) return __pa_symbol(__init_begin); #endif @@ -937,15 +961,6 @@ pmd = *pmdp; pmd_clear(pmdp); - /* - * pmdp collapse_flush need to ensure that there are no parallel gup - * walk after this call. This is needed so that we can have stable - * page ref count when collapsing a page. We don't allow a collapse page - * if we have gup taken on the page. We can ensure that by sending IPI - * because gup walk happens with IRQ disabled. - */ - serialize_against_pte_lookup(vma->vm_mm); - radix__flush_tlb_collapsed_pmd(vma->vm_mm, address); return pmd; --- linux-gcp-5.19.0.orig/arch/powerpc/mm/book3s64/radix_tlb.c +++ linux-gcp-5.19.0/arch/powerpc/mm/book3s64/radix_tlb.c @@ -1171,15 +1171,12 @@ } } } else { - bool hflush = false; + bool hflush; unsigned long hstart, hend; - if (IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE)) { - hstart = (start + PMD_SIZE - 1) & PMD_MASK; - hend = end & PMD_MASK; - if (hstart < hend) - hflush = true; - } + hstart = (start + PMD_SIZE - 1) & PMD_MASK; + hend = end & PMD_MASK; + hflush = IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE) && hstart < hend; if (type == FLUSH_TYPE_LOCAL) { asm volatile("ptesync": : :"memory"); --- linux-gcp-5.19.0.orig/arch/powerpc/mm/kasan/init_32.c +++ linux-gcp-5.19.0/arch/powerpc/mm/kasan/init_32.c @@ -25,7 +25,7 @@ int i; for (i = 0; i < PTRS_PER_PTE; i++, ptep++) - __set_pte_at(&init_mm, va, ptep, pfn_pte(PHYS_PFN(pa), prot), 0); + __set_pte_at(&init_mm, va, ptep, pfn_pte(PHYS_PFN(pa), prot), 1); } int __init kasan_init_shadow_page_tables(unsigned long k_start, unsigned long k_end) --- linux-gcp-5.19.0.orig/arch/powerpc/mm/nohash/8xx.c +++ linux-gcp-5.19.0/arch/powerpc/mm/nohash/8xx.c @@ -179,8 +179,8 @@ unsigned long boundary = strict_kernel_rwx_enabled() ? sinittext : etext8; unsigned long einittext8 = ALIGN(__pa(_einittext), SZ_8M); - mmu_mapin_ram_chunk(0, boundary, PAGE_KERNEL_TEXT, false); - mmu_mapin_ram_chunk(boundary, einittext8, PAGE_KERNEL, false); + if (!debug_pagealloc_enabled_or_kfence()) + mmu_mapin_ram_chunk(boundary, einittext8, PAGE_KERNEL, false); mmu_pin_tlb(block_mapped_ram, false); } --- linux-gcp-5.19.0.orig/arch/powerpc/mm/nohash/tlb_low_64e.S +++ linux-gcp-5.19.0/arch/powerpc/mm/nohash/tlb_low_64e.S @@ -583,7 +583,7 @@ */ rlwimi r11,r14,32-19,27,27 rlwimi r11,r14,32-16,19,19 - beq normal_tlb_miss + beq normal_tlb_miss_user /* XXX replace the RMW cycles with immediate loads + writes */ 1: mfspr r10,SPRN_MAS1 cmpldi cr0,r15,8 /* Check for vmalloc region */ @@ -626,7 +626,7 @@ cmpldi cr0,r15,0 /* Check for user region */ std r14,EX_TLB_ESR(r12) /* write crazy -1 to frame */ - beq normal_tlb_miss + beq normal_tlb_miss_user li r11,_PAGE_PRESENT|_PAGE_BAP_SX /* Base perm */ oris r11,r11,_PAGE_ACCESSED@h @@ -653,6 +653,12 @@ * r11 = PTE permission mask * r10 = crap (free to use) */ +normal_tlb_miss_user: +#ifdef CONFIG_PPC_KUAP + mfspr r14,SPRN_MAS1 + rlwinm. r14,r14,0,0x3fff0000 + beq- normal_tlb_miss_access_fault /* KUAP fault */ +#endif normal_tlb_miss: /* So we first construct the page table address. We do that by * shifting the bottom of the address (not the region ID) by @@ -683,11 +689,6 @@ /* Check if required permissions are met */ andc. r15,r11,r14 bne- normal_tlb_miss_access_fault -#ifdef CONFIG_PPC_KUAP - mfspr r11,SPRN_MAS1 - rlwinm. r10,r11,0,0x3fff0000 - beq- normal_tlb_miss_access_fault /* KUAP fault */ -#endif /* Now we build the MAS: * @@ -709,9 +710,7 @@ rldicl r10,r14,64-8,64-8 cmpldi cr0,r10,BOOK3E_PAGESZ_4K beq- 1f -#ifndef CONFIG_PPC_KUAP mfspr r11,SPRN_MAS1 -#endif rlwimi r11,r14,31,21,24 rlwinm r11,r11,0,21,19 mtspr SPRN_MAS1,r11 --- linux-gcp-5.19.0.orig/arch/powerpc/mm/pgtable_32.c +++ linux-gcp-5.19.0/arch/powerpc/mm/pgtable_32.c @@ -135,9 +135,9 @@ unsigned long numpages = PFN_UP((unsigned long)_einittext) - PFN_DOWN((unsigned long)_sinittext); - if (v_block_mapped((unsigned long)_sinittext)) { - mmu_mark_initmem_nx(); - } else { + mmu_mark_initmem_nx(); + + if (!v_block_mapped((unsigned long)_sinittext)) { set_memory_nx((unsigned long)_sinittext, numpages); set_memory_rw((unsigned long)_sinittext, numpages); } --- linux-gcp-5.19.0.orig/arch/powerpc/mm/ptdump/shared.c +++ linux-gcp-5.19.0/arch/powerpc/mm/ptdump/shared.c @@ -17,9 +17,9 @@ .clear = " ", }, { .mask = _PAGE_RW, - .val = _PAGE_RW, - .set = "rw", - .clear = "r ", + .val = 0, + .set = "r ", + .clear = "rw", }, { .mask = _PAGE_EXEC, .val = _PAGE_EXEC, --- linux-gcp-5.19.0.orig/arch/powerpc/net/bpf_jit_comp32.c +++ linux-gcp-5.19.0/arch/powerpc/net/bpf_jit_comp32.c @@ -113,23 +113,19 @@ { int i; - /* First arg comes in as a 32 bits pointer. */ - EMIT(PPC_RAW_MR(bpf_to_ppc(BPF_REG_1), _R3)); - EMIT(PPC_RAW_LI(bpf_to_ppc(BPF_REG_1) - 1, 0)); + /* Initialize tail_call_cnt, to be skipped if we do tail calls. */ + EMIT(PPC_RAW_LI(_R4, 0)); + +#define BPF_TAILCALL_PROLOGUE_SIZE 4 + EMIT(PPC_RAW_STWU(_R1, _R1, -BPF_PPC_STACKFRAME(ctx))); - /* - * Initialize tail_call_cnt in stack frame if we do tail calls. - * Otherwise, put in NOPs so that it can be skipped when we are - * invoked through a tail call. - */ if (ctx->seen & SEEN_TAILCALL) - EMIT(PPC_RAW_STW(bpf_to_ppc(BPF_REG_1) - 1, _R1, - bpf_jit_stack_offsetof(ctx, BPF_PPC_TC))); - else - EMIT(PPC_RAW_NOP()); + EMIT(PPC_RAW_STW(_R4, _R1, bpf_jit_stack_offsetof(ctx, BPF_PPC_TC))); -#define BPF_TAILCALL_PROLOGUE_SIZE 16 + /* First arg comes in as a 32 bits pointer. */ + EMIT(PPC_RAW_MR(bpf_to_ppc(BPF_REG_1), _R3)); + EMIT(PPC_RAW_LI(bpf_to_ppc(BPF_REG_1) - 1, 0)); /* * We need a stack frame, but we don't necessarily need to @@ -170,24 +166,24 @@ for (i = BPF_PPC_NVR_MIN; i <= 31; i++) if (bpf_is_seen_register(ctx, i)) EMIT(PPC_RAW_LWZ(i, _R1, bpf_jit_stack_offsetof(ctx, i))); -} - -void bpf_jit_build_epilogue(u32 *image, struct codegen_context *ctx) -{ - EMIT(PPC_RAW_MR(_R3, bpf_to_ppc(BPF_REG_0))); - - bpf_jit_emit_common_epilogue(image, ctx); - - /* Tear down our stack frame */ if (ctx->seen & SEEN_FUNC) EMIT(PPC_RAW_LWZ(_R0, _R1, BPF_PPC_STACKFRAME(ctx) + PPC_LR_STKOFF)); + /* Tear down our stack frame */ EMIT(PPC_RAW_ADDI(_R1, _R1, BPF_PPC_STACKFRAME(ctx))); if (ctx->seen & SEEN_FUNC) EMIT(PPC_RAW_MTLR(_R0)); +} + +void bpf_jit_build_epilogue(u32 *image, struct codegen_context *ctx) +{ + EMIT(PPC_RAW_MR(_R3, bpf_to_ppc(BPF_REG_0))); + + bpf_jit_emit_common_epilogue(image, ctx); + EMIT(PPC_RAW_BLR()); } @@ -244,7 +240,6 @@ EMIT(PPC_RAW_RLWINM(_R3, b2p_index, 2, 0, 29)); EMIT(PPC_RAW_ADD(_R3, _R3, b2p_bpf_array)); EMIT(PPC_RAW_LWZ(_R3, _R3, offsetof(struct bpf_array, ptrs))); - EMIT(PPC_RAW_STW(_R0, _R1, bpf_jit_stack_offsetof(ctx, BPF_PPC_TC))); /* * if (prog == NULL) @@ -255,19 +250,14 @@ /* goto *(prog->bpf_func + prologue_size); */ EMIT(PPC_RAW_LWZ(_R3, _R3, offsetof(struct bpf_prog, bpf_func))); - - if (ctx->seen & SEEN_FUNC) - EMIT(PPC_RAW_LWZ(_R0, _R1, BPF_PPC_STACKFRAME(ctx) + PPC_LR_STKOFF)); - EMIT(PPC_RAW_ADDIC(_R3, _R3, BPF_TAILCALL_PROLOGUE_SIZE)); - - if (ctx->seen & SEEN_FUNC) - EMIT(PPC_RAW_MTLR(_R0)); - EMIT(PPC_RAW_MTCTR(_R3)); EMIT(PPC_RAW_MR(_R3, bpf_to_ppc(BPF_REG_1))); + /* Put tail_call_cnt in r4 */ + EMIT(PPC_RAW_MR(_R4, _R0)); + /* tear restore NVRs, ... */ bpf_jit_emit_common_epilogue(image, ctx); --- linux-gcp-5.19.0.orig/arch/powerpc/net/bpf_jit_comp64.c +++ linux-gcp-5.19.0/arch/powerpc/net/bpf_jit_comp64.c @@ -360,6 +360,7 @@ u32 size = BPF_SIZE(code); u32 tmp1_reg = bpf_to_ppc(TMP_REG_1); u32 tmp2_reg = bpf_to_ppc(TMP_REG_2); + u32 save_reg, ret_reg; s16 off = insn[i].off; s32 imm = insn[i].imm; bool func_addr_fixed; @@ -777,42 +778,83 @@ * BPF_STX ATOMIC (atomic ops) */ case BPF_STX | BPF_ATOMIC | BPF_W: - if (imm != BPF_ADD) { - pr_err_ratelimited( - "eBPF filter atomic op code %02x (@%d) unsupported\n", - code, i); - return -ENOTSUPP; - } - - /* *(u32 *)(dst + off) += src */ + case BPF_STX | BPF_ATOMIC | BPF_DW: + save_reg = tmp2_reg; + ret_reg = src_reg; - /* Get EA into TMP_REG_1 */ - EMIT(PPC_RAW_ADDI(tmp1_reg, dst_reg, off)); + /* Get offset into TMP_REG_1 */ + EMIT(PPC_RAW_LI(tmp1_reg, off)); tmp_idx = ctx->idx * 4; /* load value from memory into TMP_REG_2 */ - EMIT(PPC_RAW_LWARX(tmp2_reg, 0, tmp1_reg, 0)); - /* add value from src_reg into this */ - EMIT(PPC_RAW_ADD(tmp2_reg, tmp2_reg, src_reg)); - /* store result back */ - EMIT(PPC_RAW_STWCX(tmp2_reg, 0, tmp1_reg)); - /* we're done if this succeeded */ - PPC_BCC_SHORT(COND_NE, tmp_idx); - break; - case BPF_STX | BPF_ATOMIC | BPF_DW: - if (imm != BPF_ADD) { + if (size == BPF_DW) + EMIT(PPC_RAW_LDARX(tmp2_reg, tmp1_reg, dst_reg, 0)); + else + EMIT(PPC_RAW_LWARX(tmp2_reg, tmp1_reg, dst_reg, 0)); + + /* Save old value in _R0 */ + if (imm & BPF_FETCH) + EMIT(PPC_RAW_MR(_R0, tmp2_reg)); + + switch (imm) { + case BPF_ADD: + case BPF_ADD | BPF_FETCH: + EMIT(PPC_RAW_ADD(tmp2_reg, tmp2_reg, src_reg)); + break; + case BPF_AND: + case BPF_AND | BPF_FETCH: + EMIT(PPC_RAW_AND(tmp2_reg, tmp2_reg, src_reg)); + break; + case BPF_OR: + case BPF_OR | BPF_FETCH: + EMIT(PPC_RAW_OR(tmp2_reg, tmp2_reg, src_reg)); + break; + case BPF_XOR: + case BPF_XOR | BPF_FETCH: + EMIT(PPC_RAW_XOR(tmp2_reg, tmp2_reg, src_reg)); + break; + case BPF_CMPXCHG: + /* + * Return old value in BPF_REG_0 for BPF_CMPXCHG & + * in src_reg for other cases. + */ + ret_reg = bpf_to_ppc(BPF_REG_0); + + /* Compare with old value in BPF_R0 */ + if (size == BPF_DW) + EMIT(PPC_RAW_CMPD(bpf_to_ppc(BPF_REG_0), tmp2_reg)); + else + EMIT(PPC_RAW_CMPW(bpf_to_ppc(BPF_REG_0), tmp2_reg)); + /* Don't set if different from old value */ + PPC_BCC_SHORT(COND_NE, (ctx->idx + 3) * 4); + fallthrough; + case BPF_XCHG: + save_reg = src_reg; + break; + default: pr_err_ratelimited( "eBPF filter atomic op code %02x (@%d) unsupported\n", code, i); - return -ENOTSUPP; + return -EOPNOTSUPP; } - /* *(u64 *)(dst + off) += src */ - EMIT(PPC_RAW_ADDI(tmp1_reg, dst_reg, off)); - tmp_idx = ctx->idx * 4; - EMIT(PPC_RAW_LDARX(tmp2_reg, 0, tmp1_reg, 0)); - EMIT(PPC_RAW_ADD(tmp2_reg, tmp2_reg, src_reg)); - EMIT(PPC_RAW_STDCX(tmp2_reg, 0, tmp1_reg)); + /* store new value */ + if (size == BPF_DW) + EMIT(PPC_RAW_STDCX(save_reg, tmp1_reg, dst_reg)); + else + EMIT(PPC_RAW_STWCX(save_reg, tmp1_reg, dst_reg)); + /* we're done if this succeeded */ PPC_BCC_SHORT(COND_NE, tmp_idx); + + if (imm & BPF_FETCH) { + EMIT(PPC_RAW_MR(ret_reg, _R0)); + /* + * Skip unnecessary zero-extension for 32-bit cmpxchg. + * For context, see commit 39491867ace5. + */ + if (size != BPF_DW && imm == BPF_CMPXCHG && + insn_is_zext(&insn[i + 1])) + addrs[++i] = ctx->idx * 4; + } break; /* --- linux-gcp-5.19.0.orig/arch/powerpc/perf/callchain.c +++ linux-gcp-5.19.0/arch/powerpc/perf/callchain.c @@ -61,6 +61,7 @@ next_sp = fp[0]; if (next_sp == sp + STACK_INT_FRAME_SIZE && + validate_sp(sp, current, STACK_INT_FRAME_SIZE) && fp[STACK_FRAME_MARKER] == STACK_FRAME_REGS_MARKER) { /* * This looks like an interrupt frame for an --- linux-gcp-5.19.0.orig/arch/powerpc/perf/core-book3s.c +++ linux-gcp-5.19.0/arch/powerpc/perf/core-book3s.c @@ -1349,27 +1349,22 @@ * a PMI happens during interrupt replay and perf counter * values are cleared by PMU callbacks before replay. * - * If any PMC corresponding to the active PMU events are - * overflown, disable the interrupt by clearing the paca - * bit for PMI since we are disabling the PMU now. - * Otherwise provide a warning if there is PMI pending, but - * no counter is found overflown. + * Disable the interrupt by clearing the paca bit for PMI + * since we are disabling the PMU now. Otherwise provide a + * warning if there is PMI pending, but no counter is found + * overflown. + * + * Since power_pmu_disable runs under local_irq_save, it + * could happen that code hits a PMC overflow without PMI + * pending in paca. Hence only clear PMI pending if it was + * set. + * + * If a PMI is pending, then MSR[EE] must be disabled (because + * the masked PMI handler disabling EE). So it is safe to + * call clear_pmi_irq_pending(). */ - if (any_pmc_overflown(cpuhw)) { - /* - * Since power_pmu_disable runs under local_irq_save, it - * could happen that code hits a PMC overflow without PMI - * pending in paca. Hence only clear PMI pending if it was - * set. - * - * If a PMI is pending, then MSR[EE] must be disabled (because - * the masked PMI handler disabling EE). So it is safe to - * call clear_pmi_irq_pending(). - */ - if (pmi_irq_pending()) - clear_pmi_irq_pending(); - } else - WARN_ON(pmi_irq_pending()); + if (pmi_irq_pending()) + clear_pmi_irq_pending(); val = mmcra = cpuhw->mmcr.mmcra; --- linux-gcp-5.19.0.orig/arch/powerpc/perf/hv-gpci-requests.h +++ linux-gcp-5.19.0/arch/powerpc/perf/hv-gpci-requests.h @@ -79,6 +79,7 @@ ) #include I(REQUEST_END) +#ifdef ENABLE_EVENTS_COUNTERINFO_V6 /* * Not available for counter_info_version >= 0x8, use * run_instruction_cycles_by_partition(0x100) instead. @@ -92,6 +93,7 @@ __count(0x10, 8, cycles) ) #include I(REQUEST_END) +#endif #define REQUEST_NAME system_performance_capabilities #define REQUEST_NUM 0x40 @@ -103,6 +105,7 @@ ) #include I(REQUEST_END) +#ifdef ENABLE_EVENTS_COUNTERINFO_V6 #define REQUEST_NAME processor_bus_utilization_abc_links #define REQUEST_NUM 0x50 #define REQUEST_IDX_KIND "hw_chip_id=?" @@ -194,6 +197,7 @@ __count(0x28, 8, instructions_completed) ) #include I(REQUEST_END) +#endif /* Processor_core_power_mode (0x95) skipped, no counters */ /* Affinity_domain_information_by_virtual_processor (0xA0) skipped, --- linux-gcp-5.19.0.orig/arch/powerpc/perf/hv-gpci.c +++ linux-gcp-5.19.0/arch/powerpc/perf/hv-gpci.c @@ -70,9 +70,9 @@ .attrs = format_attrs, }; -static const struct attribute_group event_group = { +static struct attribute_group event_group = { .name = "events", - .attrs = hv_gpci_event_attrs, + /* .attrs is set in init */ }; #define HV_CAPS_ATTR(_name, _format) \ @@ -330,6 +330,7 @@ int r; unsigned long hret; struct hv_perf_caps caps; + struct hv_gpci_request_buffer *arg; hv_gpci_assert_offsets_correct(); @@ -353,6 +354,36 @@ /* sampling not supported */ h_gpci_pmu.capabilities |= PERF_PMU_CAP_NO_INTERRUPT; + arg = (void *)get_cpu_var(hv_gpci_reqb); + memset(arg, 0, HGPCI_REQ_BUFFER_SIZE); + + /* + * hcall H_GET_PERF_COUNTER_INFO populates the output + * counter_info_version value based on the system hypervisor. + * Pass the counter request 0x10 corresponds to request type + * 'Dispatch_timebase_by_processor', to get the supported + * counter_info_version. + */ + arg->params.counter_request = cpu_to_be32(0x10); + + r = plpar_hcall_norets(H_GET_PERF_COUNTER_INFO, + virt_to_phys(arg), HGPCI_REQ_BUFFER_SIZE); + if (r) { + pr_devel("hcall failed, can't get supported counter_info_version: 0x%x\n", r); + arg->params.counter_info_version_out = 0x8; + } + + /* + * Use counter_info_version_out value to assign + * required hv-gpci event list. + */ + if (arg->params.counter_info_version_out >= 0x8) + event_group.attrs = hv_gpci_event_attrs; + else + event_group.attrs = hv_gpci_event_attrs_v6; + + put_cpu_var(hv_gpci_reqb); + r = perf_pmu_register(&h_gpci_pmu, h_gpci_pmu.name, -1); if (r) return r; --- linux-gcp-5.19.0.orig/arch/powerpc/perf/hv-gpci.h +++ linux-gcp-5.19.0/arch/powerpc/perf/hv-gpci.h @@ -26,6 +26,7 @@ #define REQUEST_FILE "../hv-gpci-requests.h" #define NAME_LOWER hv_gpci #define NAME_UPPER HV_GPCI +#define ENABLE_EVENTS_COUNTERINFO_V6 #include "req-gen/perf.h" #undef REQUEST_FILE #undef NAME_LOWER --- linux-gcp-5.19.0.orig/arch/powerpc/perf/imc-pmu.c +++ linux-gcp-5.19.0/arch/powerpc/perf/imc-pmu.c @@ -14,6 +14,7 @@ #include #include #include +#include /* Nest IMC data structures and variables */ @@ -50,7 +51,7 @@ * core and trace-imc */ static struct imc_pmu_ref imc_global_refc = { - .lock = __MUTEX_INITIALIZER(imc_global_refc.lock), + .lock = __SPIN_LOCK_INITIALIZER(imc_global_refc.lock), .id = 0, .refc = 0, }; @@ -394,7 +395,7 @@ get_hard_smp_processor_id(cpu)); /* * If this is the last cpu in this chip then, skip the reference - * count mutex lock and make the reference count on this chip zero. + * count lock and make the reference count on this chip zero. */ ref = get_nest_pmu_ref(cpu); if (!ref) @@ -456,15 +457,15 @@ /* * See if we need to disable the nest PMU. * If no events are currently in use, then we have to take a - * mutex to ensure that we don't race with another task doing + * lock to ensure that we don't race with another task doing * enable or disable the nest counters. */ ref = get_nest_pmu_ref(event->cpu); if (!ref) return; - /* Take the mutex lock for this node and then decrement the reference count */ - mutex_lock(&ref->lock); + /* Take the lock for this node and then decrement the reference count */ + spin_lock(&ref->lock); if (ref->refc == 0) { /* * The scenario where this is true is, when perf session is @@ -476,7 +477,7 @@ * an OPAL call to disable the engine in that node. * */ - mutex_unlock(&ref->lock); + spin_unlock(&ref->lock); return; } ref->refc--; @@ -484,7 +485,7 @@ rc = opal_imc_counters_stop(OPAL_IMC_COUNTERS_NEST, get_hard_smp_processor_id(event->cpu)); if (rc) { - mutex_unlock(&ref->lock); + spin_unlock(&ref->lock); pr_err("nest-imc: Unable to stop the counters for core %d\n", node_id); return; } @@ -492,7 +493,7 @@ WARN(1, "nest-imc: Invalid event reference count\n"); ref->refc = 0; } - mutex_unlock(&ref->lock); + spin_unlock(&ref->lock); } static int nest_imc_event_init(struct perf_event *event) @@ -551,26 +552,25 @@ /* * Get the imc_pmu_ref struct for this node. - * Take the mutex lock and then increment the count of nest pmu events - * inited. + * Take the lock and then increment the count of nest pmu events inited. */ ref = get_nest_pmu_ref(event->cpu); if (!ref) return -EINVAL; - mutex_lock(&ref->lock); + spin_lock(&ref->lock); if (ref->refc == 0) { rc = opal_imc_counters_start(OPAL_IMC_COUNTERS_NEST, get_hard_smp_processor_id(event->cpu)); if (rc) { - mutex_unlock(&ref->lock); + spin_unlock(&ref->lock); pr_err("nest-imc: Unable to start the counters for node %d\n", node_id); return rc; } } ++ref->refc; - mutex_unlock(&ref->lock); + spin_unlock(&ref->lock); event->destroy = nest_imc_counters_release; return 0; @@ -606,9 +606,8 @@ return -ENOMEM; mem_info->vbase = page_address(page); - /* Init the mutex */ core_imc_refc[core_id].id = core_id; - mutex_init(&core_imc_refc[core_id].lock); + spin_lock_init(&core_imc_refc[core_id].lock); rc = opal_imc_counters_init(OPAL_IMC_COUNTERS_CORE, __pa((void *)mem_info->vbase), @@ -697,9 +696,8 @@ perf_pmu_migrate_context(&core_imc_pmu->pmu, cpu, ncpu); } else { /* - * If this is the last cpu in this core then, skip taking refernce - * count mutex lock for this core and directly zero "refc" for - * this core. + * If this is the last cpu in this core then skip taking reference + * count lock for this core and directly zero "refc" for this core. */ opal_imc_counters_stop(OPAL_IMC_COUNTERS_CORE, get_hard_smp_processor_id(cpu)); @@ -714,11 +712,11 @@ * last cpu in this core and core-imc event running * in this cpu. */ - mutex_lock(&imc_global_refc.lock); + spin_lock(&imc_global_refc.lock); if (imc_global_refc.id == IMC_DOMAIN_CORE) imc_global_refc.refc--; - mutex_unlock(&imc_global_refc.lock); + spin_unlock(&imc_global_refc.lock); } return 0; } @@ -733,7 +731,7 @@ static void reset_global_refc(struct perf_event *event) { - mutex_lock(&imc_global_refc.lock); + spin_lock(&imc_global_refc.lock); imc_global_refc.refc--; /* @@ -745,7 +743,7 @@ imc_global_refc.refc = 0; imc_global_refc.id = 0; } - mutex_unlock(&imc_global_refc.lock); + spin_unlock(&imc_global_refc.lock); } static void core_imc_counters_release(struct perf_event *event) @@ -758,17 +756,17 @@ /* * See if we need to disable the IMC PMU. * If no events are currently in use, then we have to take a - * mutex to ensure that we don't race with another task doing + * lock to ensure that we don't race with another task doing * enable or disable the core counters. */ core_id = event->cpu / threads_per_core; - /* Take the mutex lock and decrement the refernce count for this core */ + /* Take the lock and decrement the refernce count for this core */ ref = &core_imc_refc[core_id]; if (!ref) return; - mutex_lock(&ref->lock); + spin_lock(&ref->lock); if (ref->refc == 0) { /* * The scenario where this is true is, when perf session is @@ -780,7 +778,7 @@ * an OPAL call to disable the engine in that core. * */ - mutex_unlock(&ref->lock); + spin_unlock(&ref->lock); return; } ref->refc--; @@ -788,7 +786,7 @@ rc = opal_imc_counters_stop(OPAL_IMC_COUNTERS_CORE, get_hard_smp_processor_id(event->cpu)); if (rc) { - mutex_unlock(&ref->lock); + spin_unlock(&ref->lock); pr_err("IMC: Unable to stop the counters for core %d\n", core_id); return; } @@ -796,7 +794,7 @@ WARN(1, "core-imc: Invalid event reference count\n"); ref->refc = 0; } - mutex_unlock(&ref->lock); + spin_unlock(&ref->lock); reset_global_refc(event); } @@ -834,7 +832,6 @@ if ((!pcmi->vbase)) return -ENODEV; - /* Get the core_imc mutex for this core */ ref = &core_imc_refc[core_id]; if (!ref) return -EINVAL; @@ -842,22 +839,22 @@ /* * Core pmu units are enabled only when it is used. * See if this is triggered for the first time. - * If yes, take the mutex lock and enable the core counters. + * If yes, take the lock and enable the core counters. * If not, just increment the count in core_imc_refc struct. */ - mutex_lock(&ref->lock); + spin_lock(&ref->lock); if (ref->refc == 0) { rc = opal_imc_counters_start(OPAL_IMC_COUNTERS_CORE, get_hard_smp_processor_id(event->cpu)); if (rc) { - mutex_unlock(&ref->lock); + spin_unlock(&ref->lock); pr_err("core-imc: Unable to start the counters for core %d\n", core_id); return rc; } } ++ref->refc; - mutex_unlock(&ref->lock); + spin_unlock(&ref->lock); /* * Since the system can run either in accumulation or trace-mode @@ -868,7 +865,7 @@ * to know whether any other trace/thread imc * events are running. */ - mutex_lock(&imc_global_refc.lock); + spin_lock(&imc_global_refc.lock); if (imc_global_refc.id == 0 || imc_global_refc.id == IMC_DOMAIN_CORE) { /* * No other trace/thread imc events are running in @@ -877,10 +874,10 @@ imc_global_refc.id = IMC_DOMAIN_CORE; imc_global_refc.refc++; } else { - mutex_unlock(&imc_global_refc.lock); + spin_unlock(&imc_global_refc.lock); return -EBUSY; } - mutex_unlock(&imc_global_refc.lock); + spin_unlock(&imc_global_refc.lock); event->hw.event_base = (u64)pcmi->vbase + (config & IMC_EVENT_OFFSET_MASK); event->destroy = core_imc_counters_release; @@ -952,10 +949,10 @@ mtspr(SPRN_LDBAR, (mfspr(SPRN_LDBAR) & (~(1UL << 63)))); /* Reduce the refc if thread-imc event running on this cpu */ - mutex_lock(&imc_global_refc.lock); + spin_lock(&imc_global_refc.lock); if (imc_global_refc.id == IMC_DOMAIN_THREAD) imc_global_refc.refc--; - mutex_unlock(&imc_global_refc.lock); + spin_unlock(&imc_global_refc.lock); return 0; } @@ -995,7 +992,7 @@ if (!target) return -EINVAL; - mutex_lock(&imc_global_refc.lock); + spin_lock(&imc_global_refc.lock); /* * Check if any other trace/core imc events are running in the * system, if not set the global id to thread-imc. @@ -1004,10 +1001,10 @@ imc_global_refc.id = IMC_DOMAIN_THREAD; imc_global_refc.refc++; } else { - mutex_unlock(&imc_global_refc.lock); + spin_unlock(&imc_global_refc.lock); return -EBUSY; } - mutex_unlock(&imc_global_refc.lock); + spin_unlock(&imc_global_refc.lock); event->pmu->task_ctx_nr = perf_sw_context; event->destroy = reset_global_refc; @@ -1129,25 +1126,25 @@ /* * imc pmus are enabled only when it is used. * See if this is triggered for the first time. - * If yes, take the mutex lock and enable the counters. + * If yes, take the lock and enable the counters. * If not, just increment the count in ref count struct. */ ref = &core_imc_refc[core_id]; if (!ref) return -EINVAL; - mutex_lock(&ref->lock); + spin_lock(&ref->lock); if (ref->refc == 0) { if (opal_imc_counters_start(OPAL_IMC_COUNTERS_CORE, get_hard_smp_processor_id(smp_processor_id()))) { - mutex_unlock(&ref->lock); + spin_unlock(&ref->lock); pr_err("thread-imc: Unable to start the counter\ for core %d\n", core_id); return -EINVAL; } } ++ref->refc; - mutex_unlock(&ref->lock); + spin_unlock(&ref->lock); return 0; } @@ -1164,12 +1161,12 @@ return; } - mutex_lock(&ref->lock); + spin_lock(&ref->lock); ref->refc--; if (ref->refc == 0) { if (opal_imc_counters_stop(OPAL_IMC_COUNTERS_CORE, get_hard_smp_processor_id(smp_processor_id()))) { - mutex_unlock(&ref->lock); + spin_unlock(&ref->lock); pr_err("thread-imc: Unable to stop the counters\ for core %d\n", core_id); return; @@ -1177,7 +1174,7 @@ } else if (ref->refc < 0) { ref->refc = 0; } - mutex_unlock(&ref->lock); + spin_unlock(&ref->lock); /* Set bit 0 of LDBAR to zero, to stop posting updates to memory */ mtspr(SPRN_LDBAR, (mfspr(SPRN_LDBAR) & (~(1UL << 63)))); @@ -1218,9 +1215,8 @@ } } - /* Init the mutex, if not already */ trace_imc_refc[core_id].id = core_id; - mutex_init(&trace_imc_refc[core_id].lock); + spin_lock_init(&trace_imc_refc[core_id].lock); mtspr(SPRN_LDBAR, 0); return 0; @@ -1240,10 +1236,10 @@ * Reduce the refc if any trace-imc event running * on this cpu. */ - mutex_lock(&imc_global_refc.lock); + spin_lock(&imc_global_refc.lock); if (imc_global_refc.id == IMC_DOMAIN_TRACE) imc_global_refc.refc--; - mutex_unlock(&imc_global_refc.lock); + spin_unlock(&imc_global_refc.lock); return 0; } @@ -1365,17 +1361,17 @@ } mtspr(SPRN_LDBAR, ldbar_value); - mutex_lock(&ref->lock); + spin_lock(&ref->lock); if (ref->refc == 0) { if (opal_imc_counters_start(OPAL_IMC_COUNTERS_TRACE, get_hard_smp_processor_id(smp_processor_id()))) { - mutex_unlock(&ref->lock); + spin_unlock(&ref->lock); pr_err("trace-imc: Unable to start the counters for core %d\n", core_id); return -EINVAL; } } ++ref->refc; - mutex_unlock(&ref->lock); + spin_unlock(&ref->lock); return 0; } @@ -1408,19 +1404,19 @@ return; } - mutex_lock(&ref->lock); + spin_lock(&ref->lock); ref->refc--; if (ref->refc == 0) { if (opal_imc_counters_stop(OPAL_IMC_COUNTERS_TRACE, get_hard_smp_processor_id(smp_processor_id()))) { - mutex_unlock(&ref->lock); + spin_unlock(&ref->lock); pr_err("trace-imc: Unable to stop the counters for core %d\n", core_id); return; } } else if (ref->refc < 0) { ref->refc = 0; } - mutex_unlock(&ref->lock); + spin_unlock(&ref->lock); trace_imc_event_stop(event, flags); } @@ -1442,7 +1438,7 @@ * no other thread is running any core/thread imc * events */ - mutex_lock(&imc_global_refc.lock); + spin_lock(&imc_global_refc.lock); if (imc_global_refc.id == 0 || imc_global_refc.id == IMC_DOMAIN_TRACE) { /* * No core/thread imc events are running in the @@ -1451,10 +1447,10 @@ imc_global_refc.id = IMC_DOMAIN_TRACE; imc_global_refc.refc++; } else { - mutex_unlock(&imc_global_refc.lock); + spin_unlock(&imc_global_refc.lock); return -EBUSY; } - mutex_unlock(&imc_global_refc.lock); + spin_unlock(&imc_global_refc.lock); event->hw.idx = -1; @@ -1527,10 +1523,10 @@ i = 0; for_each_node(nid) { /* - * Mutex lock to avoid races while tracking the number of + * Take the lock to avoid races while tracking the number of * sessions using the chip's nest pmu units. */ - mutex_init(&nest_imc_refc[i].lock); + spin_lock_init(&nest_imc_refc[i].lock); /* * Loop to init the "id" with the node_id. Variable "i" initialized to --- linux-gcp-5.19.0.orig/arch/powerpc/perf/req-gen/perf.h +++ linux-gcp-5.19.0/arch/powerpc/perf/req-gen/perf.h @@ -139,6 +139,26 @@ #define REQUEST_(r_name, r_value, r_idx_1, r_fields) \ r_fields +/* Generate event list for platforms with counter_info_version 0x6 or below */ +static __maybe_unused struct attribute *hv_gpci_event_attrs_v6[] = { +#include REQUEST_FILE + NULL +}; + +/* + * Based on getPerfCountInfo v1.018 documentation, some of the hv-gpci + * events were deprecated for platform firmware that supports + * counter_info_version 0x8 or above. + * Those deprecated events are still part of platform firmware that + * support counter_info_version 0x6 and below. As per the getPerfCountInfo + * v1.018 documentation there is no counter_info_version 0x7. + * Undefining macro ENABLE_EVENTS_COUNTERINFO_V6, to disable the addition of + * deprecated events in "hv_gpci_event_attrs" attribute group, for platforms + * that supports counter_info_version 0x8 or above. + */ +#undef ENABLE_EVENTS_COUNTERINFO_V6 + +/* Generate event list for platforms with counter_info_version 0x8 or above*/ static __maybe_unused struct attribute *hv_gpci_event_attrs[] = { #include REQUEST_FILE NULL --- linux-gcp-5.19.0.orig/arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c +++ linux-gcp-5.19.0/arch/powerpc/platforms/52xx/mpc52xx_lpbfifo.c @@ -531,6 +531,7 @@ err_bcom_rx_irq: bcom_gen_bd_rx_release(lpbfifo.bcom_rx_task); err_bcom_rx: + free_irq(lpbfifo.irq, &lpbfifo); err_irq: iounmap(lpbfifo.regs); lpbfifo.regs = NULL; --- linux-gcp-5.19.0.orig/arch/powerpc/platforms/83xx/mpc832x_rdb.c +++ linux-gcp-5.19.0/arch/powerpc/platforms/83xx/mpc832x_rdb.c @@ -107,7 +107,7 @@ goto next; unreg: - platform_device_del(pdev); + platform_device_put(pdev); err: pr_err("%pOF: registration failed\n", np); next: --- linux-gcp-5.19.0.orig/arch/powerpc/platforms/Kconfig.cputype +++ linux-gcp-5.19.0/arch/powerpc/platforms/Kconfig.cputype @@ -136,9 +136,9 @@ select ARCH_HAS_FAST_MULTIPLIER select PPC_64S_HASH_MMU -config GENERIC_CPU +config POWERPC_CPU bool "Generic 32 bits powerpc" - depends on PPC32 && !PPC_8xx + depends on PPC32 && !PPC_8xx && !PPC_85xx config CELL_CPU bool "Cell Broadband Engine" @@ -174,11 +174,11 @@ config E5500_CPU bool "Freescale e5500" - depends on E500 + depends on PPC64 && E500 config E6500_CPU bool "Freescale e6500" - depends on E500 + depends on PPC64 && E500 config 860_CPU bool "8xx family" @@ -197,11 +197,23 @@ depends on PPC_BOOK3S_32 select ALTIVEC +config E500_CPU + bool "e500 (8540)" + depends on PPC_85xx && !PPC_E500MC + +config E500MC_CPU + bool "e500mc" + depends on PPC_85xx && PPC_E500MC + +config TOOLCHAIN_DEFAULT_CPU + bool "Rely on the toolchain's implicit default CPU" + depends on PPC32 + endchoice config TARGET_CPU_BOOL bool - default !GENERIC_CPU + default !GENERIC_CPU && !TOOLCHAIN_DEFAULT_CPU config TARGET_CPU string @@ -216,6 +228,9 @@ default "e300c2" if E300C2_CPU default "e300c3" if E300C3_CPU default "G4" if G4_CPU + default "8540" if E500_CPU + default "e500mc" if E500MC_CPU + default "powerpc" if POWERPC_CPU config PPC_BOOK3S def_bool y --- linux-gcp-5.19.0.orig/arch/powerpc/platforms/cell/axon_msi.c +++ linux-gcp-5.19.0/arch/powerpc/platforms/cell/axon_msi.c @@ -223,6 +223,7 @@ if (!prop) { dev_dbg(&dev->dev, "axon_msi: no msi-address-(32|64) properties found\n"); + of_node_put(dn); return -ENOENT; } --- linux-gcp-5.19.0.orig/arch/powerpc/platforms/cell/spufs/inode.c +++ linux-gcp-5.19.0/arch/powerpc/platforms/cell/spufs/inode.c @@ -660,6 +660,7 @@ return; loader = of_get_property(dn, "loader", &size); + of_node_put(dn); if (!loader) return; --- linux-gcp-5.19.0.orig/arch/powerpc/platforms/powernv/opal.c +++ linux-gcp-5.19.0/arch/powerpc/platforms/powernv/opal.c @@ -892,6 +892,7 @@ kobj = kobject_create_and_add("exports", opal_kobj); if (!kobj) { pr_warn("kobject_create_and_add() of exports failed\n"); + of_node_put(np); return; } --- linux-gcp-5.19.0.orig/arch/powerpc/platforms/powernv/pci-ioda.c +++ linux-gcp-5.19.0/arch/powerpc/platforms/powernv/pci-ioda.c @@ -1609,6 +1609,7 @@ tbl->it_ops = &pnv_ioda1_iommu_ops; pe->table_group.tce32_start = tbl->it_offset << tbl->it_page_shift; pe->table_group.tce32_size = tbl->it_size << tbl->it_page_shift; + tbl->it_index = (phb->hose->global_number << 16) | pe->pe_number; if (!iommu_init_table(tbl, phb->hose->node, 0, 0)) panic("Failed to initialize iommu table"); @@ -1779,6 +1780,7 @@ res_end = min(window_size, SZ_4G) >> tbl->it_page_shift; } + tbl->it_index = (pe->phb->hose->global_number << 16) | pe->pe_number; if (iommu_init_table(tbl, pe->phb->hose->node, res_start, res_end)) rc = pnv_pci_ioda2_set_window(&pe->table_group, 0, tbl); else --- linux-gcp-5.19.0.orig/arch/powerpc/platforms/powernv/rng.c +++ linux-gcp-5.19.0/arch/powerpc/platforms/powernv/rng.c @@ -29,15 +29,6 @@ static DEFINE_PER_CPU(struct powernv_rng *, powernv_rng); -int powernv_hwrng_present(void) -{ - struct powernv_rng *rng; - - rng = get_cpu_var(powernv_rng); - put_cpu_var(rng); - return rng != NULL; -} - static unsigned long rng_whiten(struct powernv_rng *rng, unsigned long val) { unsigned long parity; @@ -58,17 +49,6 @@ return val; } -int powernv_get_random_real_mode(unsigned long *v) -{ - struct powernv_rng *rng; - - rng = raw_cpu_read(powernv_rng); - - *v = rng_whiten(rng, __raw_rm_readq(rng->regs_real)); - - return 1; -} - static int powernv_get_random_darn(unsigned long *v) { unsigned long val; @@ -105,12 +85,14 @@ { struct powernv_rng *rng; - rng = get_cpu_var(powernv_rng); - - *v = rng_whiten(rng, in_be64(rng->regs)); - - put_cpu_var(rng); - + if (mfmsr() & MSR_DR) { + rng = get_cpu_var(powernv_rng); + *v = rng_whiten(rng, in_be64(rng->regs)); + put_cpu_var(rng); + } else { + rng = raw_cpu_read(powernv_rng); + *v = rng_whiten(rng, __raw_rm_readq(rng->regs_real)); + } return 1; } EXPORT_SYMBOL_GPL(powernv_get_random_long); --- linux-gcp-5.19.0.orig/arch/powerpc/platforms/pseries/eeh_pseries.c +++ linux-gcp-5.19.0/arch/powerpc/platforms/pseries/eeh_pseries.c @@ -848,16 +848,7 @@ } /* Initialize error log size */ - eeh_error_buf_size = rtas_token("rtas-error-log-max"); - if (eeh_error_buf_size == RTAS_UNKNOWN_SERVICE) { - pr_info("%s: unknown EEH error log size\n", - __func__); - eeh_error_buf_size = 1024; - } else if (eeh_error_buf_size > RTAS_ERROR_LOG_MAX) { - pr_info("%s: EEH error log size %d exceeds the maximal %d\n", - __func__, eeh_error_buf_size, RTAS_ERROR_LOG_MAX); - eeh_error_buf_size = RTAS_ERROR_LOG_MAX; - } + eeh_error_buf_size = rtas_get_error_log_max(); /* Set EEH probe mode */ eeh_add_flag(EEH_PROBE_MODE_DEVTREE | EEH_ENABLE_IO_FOR_LOG); --- linux-gcp-5.19.0.orig/arch/powerpc/platforms/pseries/iommu.c +++ linux-gcp-5.19.0/arch/powerpc/platforms/pseries/iommu.c @@ -700,6 +700,33 @@ .get = tce_get_pSeriesLP }; +/* + * Find nearest ibm,dma-window (default DMA window) or direct DMA window or + * dynamic 64bit DMA window, walking up the device tree. + */ +static struct device_node *pci_dma_find(struct device_node *dn, + const __be32 **dma_window) +{ + const __be32 *dw = NULL; + + for ( ; dn && PCI_DN(dn); dn = dn->parent) { + dw = of_get_property(dn, "ibm,dma-window", NULL); + if (dw) { + if (dma_window) + *dma_window = dw; + return dn; + } + dw = of_get_property(dn, DIRECT64_PROPNAME, NULL); + if (dw) + return dn; + dw = of_get_property(dn, DMA64_PROPNAME, NULL); + if (dw) + return dn; + } + + return NULL; +} + static void pci_dma_bus_setup_pSeriesLP(struct pci_bus *bus) { struct iommu_table *tbl; @@ -712,20 +739,10 @@ pr_debug("pci_dma_bus_setup_pSeriesLP: setting up bus %pOF\n", dn); - /* - * Find nearest ibm,dma-window (default DMA window), walking up the - * device tree - */ - for (pdn = dn; pdn != NULL; pdn = pdn->parent) { - dma_window = of_get_property(pdn, "ibm,dma-window", NULL); - if (dma_window != NULL) - break; - } + pdn = pci_dma_find(dn, &dma_window); - if (dma_window == NULL) { + if (dma_window == NULL) pr_debug(" no ibm,dma-window property !\n"); - return; - } ppci = PCI_DN(pdn); @@ -735,11 +752,13 @@ if (!ppci->table_group) { ppci->table_group = iommu_pseries_alloc_group(ppci->phb->node); tbl = ppci->table_group->tables[0]; - iommu_table_setparms_lpar(ppci->phb, pdn, tbl, - ppci->table_group, dma_window); + if (dma_window) { + iommu_table_setparms_lpar(ppci->phb, pdn, tbl, + ppci->table_group, dma_window); - if (!iommu_init_table(tbl, ppci->phb->node, 0, 0)) - panic("Failed to initialize iommu table"); + if (!iommu_init_table(tbl, ppci->phb->node, 0, 0)) + panic("Failed to initialize iommu table"); + } iommu_register_group(ppci->table_group, pci_domain_nr(bus), 0); pr_debug(" created table: %p\n", ppci->table_group); @@ -1232,7 +1251,7 @@ bool default_win_removed = false, direct_mapping = false; bool pmem_present; struct pci_dn *pci = PCI_DN(pdn); - struct iommu_table *tbl = pci->table_group->tables[0]; + struct property *default_win = NULL; dn = of_find_node_by_type(NULL, "ibm,pmemory"); pmem_present = dn != NULL; @@ -1289,11 +1308,10 @@ * for extensions presence. */ if (query.windows_available == 0) { - struct property *default_win; int reset_win_ext; /* DDW + IOMMU on single window may fail if there is any allocation */ - if (iommu_table_in_use(tbl)) { + if (iommu_table_in_use(pci->table_group->tables[0])) { dev_warn(&dev->dev, "current IOMMU table in use, can't be replaced.\n"); goto out_failed; } @@ -1429,16 +1447,18 @@ pci->table_group->tables[1] = newtbl; - /* Keep default DMA window struct if removed */ - if (default_win_removed) { - tbl->it_size = 0; - vfree(tbl->it_map); - tbl->it_map = NULL; - } - set_iommu_table_base(&dev->dev, newtbl); } + if (default_win_removed) { + iommu_tce_table_put(pci->table_group->tables[0]); + pci->table_group->tables[0] = NULL; + + /* default_win is valid here because default_win_removed == true */ + of_remove_property(pdn, default_win); + dev_info(&dev->dev, "Removed default DMA window for %pOF\n", pdn); + } + spin_lock(&dma_win_list_lock); list_add(&window->list, &dma_win_list); spin_unlock(&dma_win_list_lock); @@ -1503,13 +1523,7 @@ dn = pci_device_to_OF_node(dev); pr_debug(" node is %pOF\n", dn); - for (pdn = dn; pdn && PCI_DN(pdn) && !PCI_DN(pdn)->table_group; - pdn = pdn->parent) { - dma_window = of_get_property(pdn, "ibm,dma-window", NULL); - if (dma_window) - break; - } - + pdn = pci_dma_find(dn, &dma_window); if (!pdn || !PCI_DN(pdn)) { printk(KERN_WARNING "pci_dma_dev_setup_pSeriesLP: " "no DMA window found for pci dev=%s dn=%pOF\n", @@ -1540,7 +1554,6 @@ static bool iommu_bypass_supported_pSeriesLP(struct pci_dev *pdev, u64 dma_mask) { struct device_node *dn = pci_device_to_OF_node(pdev), *pdn; - const __be32 *dma_window = NULL; /* only attempt to use a new window if 64-bit DMA is requested */ if (dma_mask < DMA_BIT_MASK(64)) @@ -1554,13 +1567,7 @@ * search upwards in the tree until we either hit a dma-window * property, OR find a parent with a table already allocated. */ - for (pdn = dn; pdn && PCI_DN(pdn) && !PCI_DN(pdn)->table_group; - pdn = pdn->parent) { - dma_window = of_get_property(pdn, "ibm,dma-window", NULL); - if (dma_window) - break; - } - + pdn = pci_dma_find(dn, NULL); if (pdn && PCI_DN(pdn)) return enable_ddw(pdev, pdn); --- linux-gcp-5.19.0.orig/arch/powerpc/platforms/pseries/mobility.c +++ linux-gcp-5.19.0/arch/powerpc/platforms/pseries/mobility.c @@ -48,6 +48,39 @@ #define MIGRATION_SCOPE (1) #define PRRN_SCOPE -2 +#ifdef CONFIG_PPC_WATCHDOG +static unsigned int nmi_wd_lpm_factor = 200; + +#ifdef CONFIG_SYSCTL +static struct ctl_table nmi_wd_lpm_factor_ctl_table[] = { + { + .procname = "nmi_wd_lpm_factor", + .data = &nmi_wd_lpm_factor, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = proc_douintvec_minmax, + }, + {} +}; +static struct ctl_table nmi_wd_lpm_factor_sysctl_root[] = { + { + .procname = "kernel", + .mode = 0555, + .child = nmi_wd_lpm_factor_ctl_table, + }, + {} +}; + +static int __init register_nmi_wd_lpm_factor_sysctl(void) +{ + register_sysctl_table(nmi_wd_lpm_factor_sysctl_root); + + return 0; +} +device_initcall(register_nmi_wd_lpm_factor_sysctl); +#endif /* CONFIG_SYSCTL */ +#endif /* CONFIG_PPC_WATCHDOG */ + static int mobility_rtas_call(int token, char *buf, s32 scope) { int rc; @@ -665,19 +698,29 @@ static int pseries_migrate_partition(u64 handle) { int ret; + unsigned int factor = 0; +#ifdef CONFIG_PPC_WATCHDOG + factor = nmi_wd_lpm_factor; +#endif ret = wait_for_vasi_session_suspending(handle); if (ret) return ret; vas_migration_handler(VAS_SUSPEND); + if (factor) + watchdog_nmi_set_timeout_pct(factor); + ret = pseries_suspend(handle); if (ret == 0) post_mobility_fixup(); else pseries_cancel_migration(handle, ret); + if (factor) + watchdog_nmi_set_timeout_pct(0); + vas_migration_handler(VAS_RESUME); return ret; --- linux-gcp-5.19.0.orig/arch/powerpc/platforms/pseries/papr_scm.c +++ linux-gcp-5.19.0/arch/powerpc/platforms/pseries/papr_scm.c @@ -124,9 +124,6 @@ /* The bits which needs to be overridden */ u64 health_bitmap_inject_mask; - - /* array to have event_code and stat_id mappings */ - u8 *nvdimm_events_map; }; static int papr_scm_pmem_flush(struct nd_region *nd_region, @@ -350,6 +347,25 @@ #ifdef CONFIG_PERF_EVENTS #define to_nvdimm_pmu(_pmu) container_of(_pmu, struct nvdimm_pmu, pmu) +static const char * const nvdimm_events_map[] = { + [1] = "CtlResCt", + [2] = "CtlResTm", + [3] = "PonSecs ", + [4] = "MemLife ", + [5] = "CritRscU", + [6] = "HostLCnt", + [7] = "HostSCnt", + [8] = "HostSDur", + [9] = "HostLDur", + [10] = "MedRCnt ", + [11] = "MedWCnt ", + [12] = "MedRDur ", + [13] = "MedWDur ", + [14] = "CchRHCnt", + [15] = "CchWHCnt", + [16] = "FastWCnt", +}; + static int papr_scm_pmu_get_value(struct perf_event *event, struct device *dev, u64 *count) { struct papr_scm_perf_stat *stat; @@ -357,11 +373,15 @@ struct papr_scm_priv *p = (struct papr_scm_priv *)dev->driver_data; int rc, size; + /* Invalid eventcode */ + if (event->attr.config == 0 || event->attr.config >= ARRAY_SIZE(nvdimm_events_map)) + return -EINVAL; + /* Allocate request buffer enough to hold single performance stat */ size = sizeof(struct papr_scm_perf_stats) + sizeof(struct papr_scm_perf_stat); - if (!p || !p->nvdimm_events_map) + if (!p) return -EINVAL; stats = kzalloc(size, GFP_KERNEL); @@ -370,7 +390,7 @@ stat = &stats->scm_statistic[0]; memcpy(&stat->stat_id, - &p->nvdimm_events_map[event->attr.config * sizeof(stat->stat_id)], + nvdimm_events_map[event->attr.config], sizeof(stat->stat_id)); stat->stat_val = 0; @@ -458,56 +478,6 @@ papr_scm_pmu_read(event); } -static int papr_scm_pmu_check_events(struct papr_scm_priv *p, struct nvdimm_pmu *nd_pmu) -{ - struct papr_scm_perf_stat *stat; - struct papr_scm_perf_stats *stats; - u32 available_events; - int index, rc = 0; - - if (!p->stat_buffer_len) - return -ENOENT; - - available_events = (p->stat_buffer_len - sizeof(struct papr_scm_perf_stats)) - / sizeof(struct papr_scm_perf_stat); - if (available_events == 0) - return -EOPNOTSUPP; - - /* Allocate the buffer for phyp where stats are written */ - stats = kzalloc(p->stat_buffer_len, GFP_KERNEL); - if (!stats) { - rc = -ENOMEM; - return rc; - } - - /* Called to get list of events supported */ - rc = drc_pmem_query_stats(p, stats, 0); - if (rc) - goto out; - - /* - * Allocate memory and populate nvdimm_event_map. - * Allocate an extra element for NULL entry - */ - p->nvdimm_events_map = kcalloc(available_events + 1, - sizeof(stat->stat_id), - GFP_KERNEL); - if (!p->nvdimm_events_map) { - rc = -ENOMEM; - goto out; - } - - /* Copy all stat_ids to event map */ - for (index = 0, stat = stats->scm_statistic; - index < available_events; index++, ++stat) { - memcpy(&p->nvdimm_events_map[index * sizeof(stat->stat_id)], - &stat->stat_id, sizeof(stat->stat_id)); - } -out: - kfree(stats); - return rc; -} - static void papr_scm_pmu_register(struct papr_scm_priv *p) { struct nvdimm_pmu *nd_pmu; @@ -519,9 +489,10 @@ goto pmu_err_print; } - rc = papr_scm_pmu_check_events(p, nd_pmu); - if (rc) + if (!p->stat_buffer_len) { + rc = -ENOENT; goto pmu_check_events_err; + } nd_pmu->pmu.task_ctx_nr = perf_invalid_context; nd_pmu->pmu.name = nvdimm_name(p->nvdimm); @@ -539,7 +510,7 @@ rc = register_nvdimm_pmu(nd_pmu, p->pdev); if (rc) - goto pmu_register_err; + goto pmu_check_events_err; /* * Set archdata.priv value to nvdimm_pmu structure, to handle the @@ -548,8 +519,6 @@ p->pdev->archdata.priv = nd_pmu; return; -pmu_register_err: - kfree(p->nvdimm_events_map); pmu_check_events_err: kfree(nd_pmu); pmu_err_print: @@ -1560,7 +1529,6 @@ unregister_nvdimm_pmu(pdev->archdata.priv); pdev->archdata.priv = NULL; - kfree(p->nvdimm_events_map); kfree(p->bus_desc.provider_name); kfree(p); --- linux-gcp-5.19.0.orig/arch/powerpc/platforms/pseries/vas.c +++ linux-gcp-5.19.0/arch/powerpc/platforms/pseries/vas.c @@ -332,7 +332,7 @@ * So no unpacking needs to be done. */ rc = plpar_hcall9(H_HOME_NODE_ASSOCIATIVITY, domain, - VPHN_FLAG_VCPU, smp_processor_id()); + VPHN_FLAG_VCPU, hard_smp_processor_id()); if (rc != H_SUCCESS) { pr_err("H_HOME_NODE_ASSOCIATIVITY error: %d\n", rc); goto out; --- linux-gcp-5.19.0.orig/arch/powerpc/platforms/pseries/vio.c +++ linux-gcp-5.19.0/arch/powerpc/platforms/pseries/vio.c @@ -39,7 +39,6 @@ .name = "vio", .type = "", .dev.init_name = "vio", - .dev.bus = &vio_bus_type, }; #ifdef CONFIG_PPC_SMLPAR --- linux-gcp-5.19.0.orig/arch/powerpc/sysdev/fsl_msi.c +++ linux-gcp-5.19.0/arch/powerpc/sysdev/fsl_msi.c @@ -209,8 +209,10 @@ dev_err(&pdev->dev, "node %pOF has an invalid fsl,msi phandle %u\n", hose->dn, np->phandle); + of_node_put(np); return -EINVAL; } + of_node_put(np); } msi_for_each_desc(entry, &pdev->dev, MSI_DESC_NOTASSOCIATED) { --- linux-gcp-5.19.0.orig/arch/powerpc/sysdev/fsl_pci.c +++ linux-gcp-5.19.0/arch/powerpc/sysdev/fsl_pci.c @@ -521,6 +521,7 @@ struct resource rsrc; const int *bus_range; u8 hdr_type, progif; + u32 class_code; struct device_node *dev; struct ccsr_pci __iomem *pci; u16 temp; @@ -594,6 +595,13 @@ PPC_INDIRECT_TYPE_SURPRESS_PRIMARY_BUS; if (fsl_pcie_check_link(hose)) hose->indirect_type |= PPC_INDIRECT_TYPE_NO_PCIE_LINK; + /* Fix Class Code to PCI_CLASS_BRIDGE_PCI_NORMAL for pre-3.0 controller */ + if (in_be32(&pci->block_rev1) < PCIE_IP_REV_3_0) { + early_read_config_dword(hose, 0, 0, PCIE_FSL_CSR_CLASSCODE, &class_code); + class_code &= 0xff; + class_code |= PCI_CLASS_BRIDGE_PCI_NORMAL << 8; + early_write_config_dword(hose, 0, 0, PCIE_FSL_CSR_CLASSCODE, class_code); + } } else { /* * Set PBFR(PCI Bus Function Register)[10] = 1 to --- linux-gcp-5.19.0.orig/arch/powerpc/sysdev/fsl_pci.h +++ linux-gcp-5.19.0/arch/powerpc/sysdev/fsl_pci.h @@ -18,6 +18,7 @@ #define PCIE_LTSSM 0x0404 /* PCIE Link Training and Status */ #define PCIE_LTSSM_L0 0x16 /* L0 state */ +#define PCIE_FSL_CSR_CLASSCODE 0x474 /* FSL GPEX CSR */ #define PCIE_IP_REV_2_2 0x02080202 /* PCIE IP block version Rev2.2 */ #define PCIE_IP_REV_3_0 0x02080300 /* PCIE IP block version Rev3.0 */ #define PIWAR_EN 0x80000000 /* Enable */ --- linux-gcp-5.19.0.orig/arch/powerpc/sysdev/xics/ics-rtas.c +++ linux-gcp-5.19.0/arch/powerpc/sysdev/xics/ics-rtas.c @@ -36,8 +36,8 @@ server = xics_get_irq_server(d->irq, irq_data_get_affinity_mask(d), 0); - call_status = rtas_call_reentrant(ibm_set_xive, 3, 1, NULL, hw_irq, - server, DEFAULT_PRIORITY); + call_status = rtas_call(ibm_set_xive, 3, 1, NULL, hw_irq, server, + DEFAULT_PRIORITY); if (call_status != 0) { printk(KERN_ERR "%s: ibm_set_xive irq %u server %x returned %d\n", @@ -46,7 +46,7 @@ } /* Now unmask the interrupt (often a no-op) */ - call_status = rtas_call_reentrant(ibm_int_on, 1, 1, NULL, hw_irq); + call_status = rtas_call(ibm_int_on, 1, 1, NULL, hw_irq); if (call_status != 0) { printk(KERN_ERR "%s: ibm_int_on irq=%u returned %d\n", __func__, hw_irq, call_status); @@ -68,7 +68,7 @@ if (hw_irq == XICS_IPI) return; - call_status = rtas_call_reentrant(ibm_int_off, 1, 1, NULL, hw_irq); + call_status = rtas_call(ibm_int_off, 1, 1, NULL, hw_irq); if (call_status != 0) { printk(KERN_ERR "%s: ibm_int_off irq=%u returned %d\n", __func__, hw_irq, call_status); @@ -76,8 +76,8 @@ } /* Have to set XIVE to 0xff to be able to remove a slot */ - call_status = rtas_call_reentrant(ibm_set_xive, 3, 1, NULL, hw_irq, - xics_default_server, 0xff); + call_status = rtas_call(ibm_set_xive, 3, 1, NULL, hw_irq, + xics_default_server, 0xff); if (call_status != 0) { printk(KERN_ERR "%s: ibm_set_xive(0xff) irq=%u returned %d\n", __func__, hw_irq, call_status); @@ -108,7 +108,7 @@ if (hw_irq == XICS_IPI || hw_irq == XICS_IRQ_SPURIOUS) return -1; - status = rtas_call_reentrant(ibm_get_xive, 1, 3, xics_status, hw_irq); + status = rtas_call(ibm_get_xive, 1, 3, xics_status, hw_irq); if (status) { printk(KERN_ERR "%s: ibm,get-xive irq=%u returns %d\n", @@ -126,8 +126,8 @@ pr_debug("%s: irq %d [hw 0x%x] server: 0x%x\n", __func__, d->irq, hw_irq, irq_server); - status = rtas_call_reentrant(ibm_set_xive, 3, 1, NULL, - hw_irq, irq_server, xics_status[1]); + status = rtas_call(ibm_set_xive, 3, 1, NULL, + hw_irq, irq_server, xics_status[1]); if (status) { printk(KERN_ERR "%s: ibm,set-xive irq=%u returns %d\n", @@ -158,7 +158,7 @@ return -EINVAL; /* Check if RTAS knows about this interrupt */ - rc = rtas_call_reentrant(ibm_get_xive, 1, 3, status, hw_irq); + rc = rtas_call(ibm_get_xive, 1, 3, status, hw_irq); if (rc) return -ENXIO; @@ -174,7 +174,7 @@ { int rc, status[2]; - rc = rtas_call_reentrant(ibm_get_xive, 1, 3, status, vec); + rc = rtas_call(ibm_get_xive, 1, 3, status, vec); if (rc) return -1; return status[0]; --- linux-gcp-5.19.0.orig/arch/powerpc/sysdev/xive/spapr.c +++ linux-gcp-5.19.0/arch/powerpc/sysdev/xive/spapr.c @@ -439,6 +439,7 @@ data->trig_mmio = ioremap(data->trig_page, 1u << data->esb_shift); if (!data->trig_mmio) { + iounmap(data->eoi_mmio); pr_err("Failed to map trigger page for irq 0x%x\n", hw_irq); return -ENOMEM; } @@ -718,6 +719,7 @@ } reg = of_get_property(rootdn, "ibm,plat-res-int-priorities", &len); + of_node_put(rootdn); if (!reg) { pr_err("Failed to read 'ibm,plat-res-int-priorities' property\n"); return false; --- linux-gcp-5.19.0.orig/arch/powerpc/xmon/xmon.c +++ linux-gcp-5.19.0/arch/powerpc/xmon/xmon.c @@ -1525,9 +1525,9 @@ cmd = inchar(); switch (cmd) { - static const char badaddr[] = "Only kernel addresses are permitted for breakpoints\n"; - int mode; - case 'd': /* bd - hardware data breakpoint */ + case 'd': { /* bd - hardware data breakpoint */ + static const char badaddr[] = "Only kernel addresses are permitted for breakpoints\n"; + int mode; if (xmon_is_ro) { printf(xmon_ro_msg); break; @@ -1560,6 +1560,7 @@ force_enable_xmon(); break; + } case 'i': /* bi - hardware instr breakpoint */ if (xmon_is_ro) { --- linux-gcp-5.19.0.orig/arch/riscv/Kconfig +++ linux-gcp-5.19.0/arch/riscv/Kconfig @@ -52,7 +52,7 @@ select COMMON_CLK select CPU_PM if CPU_IDLE select EDAC_SUPPORT - select GENERIC_ARCH_TOPOLOGY if SMP + select GENERIC_ARCH_TOPOLOGY select GENERIC_ATOMIC64 if !64BIT select GENERIC_CLOCKEVENTS_BROADCAST if SMP select GENERIC_EARLY_IOREMAP @@ -361,6 +361,7 @@ config RISCV_ISA_SVPBMT bool "SVPBMT extension support" depends on 64BIT && MMU + depends on !XIP_KERNEL select RISCV_ALTERNATIVE default y help @@ -436,7 +437,7 @@ select KEXEC_CORE select KEXEC_ELF select HAVE_IMA_KEXEC if IMA - depends on 64BIT + depends on 64BIT && MMU help This is new version of kexec system call. This system call is file based and takes file descriptors as system call argument --- linux-gcp-5.19.0.orig/arch/riscv/Kconfig.erratas +++ linux-gcp-5.19.0/arch/riscv/Kconfig.erratas @@ -46,7 +46,7 @@ config ERRATA_THEAD_PBMT bool "Apply T-Head memory type errata" - depends on ERRATA_THEAD && 64BIT + depends on ERRATA_THEAD && 64BIT && MMU select RISCV_ALTERNATIVE_EARLY default y help --- linux-gcp-5.19.0.orig/arch/riscv/Makefile +++ linux-gcp-5.19.0/arch/riscv/Makefile @@ -11,7 +11,11 @@ ifeq ($(CONFIG_DYNAMIC_FTRACE),y) LDFLAGS_vmlinux := --no-relax KBUILD_CPPFLAGS += -DCC_USING_PATCHABLE_FUNCTION_ENTRY - CC_FLAGS_FTRACE := -fpatchable-function-entry=8 +ifeq ($(CONFIG_RISCV_ISA_C),y) + CC_FLAGS_FTRACE := -fpatchable-function-entry=4 +else + CC_FLAGS_FTRACE := -fpatchable-function-entry=2 +endif endif ifeq ($(CONFIG_CMODEL_MEDLOW),y) @@ -37,6 +41,7 @@ endif ifeq ($(CONFIG_LD_IS_LLD),y) +ifeq ($(shell test $(CONFIG_LLD_VERSION) -lt 150000; echo $$?),0) KBUILD_CFLAGS += -mno-relax KBUILD_AFLAGS += -mno-relax ifndef CONFIG_AS_IS_LLVM @@ -44,6 +49,7 @@ KBUILD_AFLAGS += -Wa,-mno-relax endif endif +endif # ISA string setting riscv-march-$(CONFIG_ARCH_RV32I) := rv32ima @@ -72,6 +78,9 @@ KBUILD_CFLAGS += -fno-omit-frame-pointer endif +# Avoid generating .eh_frame sections. +KBUILD_CFLAGS += -fno-asynchronous-unwind-tables -fno-unwind-tables + KBUILD_CFLAGS_MODULE += $(call cc-option,-mno-relax) KBUILD_AFLAGS_MODULE += $(call as-option,-Wa$(comma)-mno-relax) --- linux-gcp-5.19.0.orig/arch/riscv/boot/dts/canaan/k210.dtsi +++ linux-gcp-5.19.0/arch/riscv/boot/dts/canaan/k210.dtsi @@ -65,6 +65,18 @@ compatible = "riscv,cpu-intc"; }; }; + + cpu-map { + cluster0 { + core0 { + cpu = <&cpu0>; + }; + + core1 { + cpu = <&cpu1>; + }; + }; + }; }; sram: memory@80000000 { --- linux-gcp-5.19.0.orig/arch/riscv/boot/dts/microchip/mpfs-icicle-kit-fabric.dtsi +++ linux-gcp-5.19.0/arch/riscv/boot/dts/microchip/mpfs-icicle-kit-fabric.dtsi @@ -4,18 +4,18 @@ / { compatible = "microchip,mpfs-icicle-reference-rtlv2203", "microchip,mpfs"; - core_pwm0: pwm@41000000 { + core_pwm0: pwm@40000000 { compatible = "microchip,corepwm-rtl-v4"; - reg = <0x0 0x41000000 0x0 0xF0>; + reg = <0x0 0x40000000 0x0 0xF0>; microchip,sync-update-mask = /bits/ 32 <0>; #pwm-cells = <2>; clocks = <&fabric_clk3>; status = "disabled"; }; - i2c2: i2c@44000000 { + i2c2: i2c@40000200 { compatible = "microchip,corei2c-rtl-v7"; - reg = <0x0 0x44000000 0x0 0x1000>; + reg = <0x0 0x40000200 0x0 0x100>; #address-cells = <1>; #size-cells = <0>; clocks = <&fabric_clk3>; @@ -28,7 +28,7 @@ fabric_clk3: fabric-clk3 { compatible = "fixed-clock"; #clock-cells = <0>; - clock-frequency = <62500000>; + clock-frequency = <50000000>; }; fabric_clk1: fabric-clk1 { --- linux-gcp-5.19.0.orig/arch/riscv/boot/dts/microchip/mpfs-icicle-kit.dts +++ linux-gcp-5.19.0/arch/riscv/boot/dts/microchip/mpfs-icicle-kit.dts @@ -32,15 +32,26 @@ ddrc_cache_lo: memory@80000000 { device_type = "memory"; - reg = <0x0 0x80000000 0x0 0x2e000000>; + reg = <0x0 0x80000000 0x0 0x40000000>; status = "okay"; }; ddrc_cache_hi: memory@1000000000 { device_type = "memory"; - reg = <0x10 0x0 0x0 0x40000000>; + reg = <0x10 0x40000000 0x0 0x40000000>; status = "okay"; }; + + reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + + hss_payload: region@BFC00000 { + reg = <0x0 0xBFC00000 0x0 0x400000>; + no-map; + }; + }; }; &core_pwm0 { @@ -84,12 +95,10 @@ phy1: ethernet-phy@9 { reg = <9>; - ti,fifo-depth = <0x1>; }; phy0: ethernet-phy@8 { reg = <8>; - ti,fifo-depth = <0x1>; }; }; @@ -102,7 +111,6 @@ disable-wp; cap-sd-highspeed; cap-mmc-highspeed; - card-detect-delay = <200>; mmc-ddr-1_8v; mmc-hs200-1_8v; sd-uhs-sdr12; @@ -128,9 +136,11 @@ status = "okay"; }; +/* UBUNTU: PCIe support is not yet ready, so disable it for now &pcie { status = "okay"; }; +*/ &qspi { status = "okay"; --- linux-gcp-5.19.0.orig/arch/riscv/boot/dts/microchip/mpfs-polarberry.dts +++ linux-gcp-5.19.0/arch/riscv/boot/dts/microchip/mpfs-polarberry.dts @@ -54,12 +54,10 @@ phy1: ethernet-phy@5 { reg = <5>; - ti,fifo-depth = <0x01>; }; phy0: ethernet-phy@4 { reg = <4>; - ti,fifo-depth = <0x01>; }; }; @@ -72,7 +70,6 @@ disable-wp; cap-sd-highspeed; cap-mmc-highspeed; - card-detect-delay = <200>; mmc-ddr-1_8v; mmc-hs200-1_8v; sd-uhs-sdr12; --- linux-gcp-5.19.0.orig/arch/riscv/boot/dts/microchip/mpfs.dtsi +++ linux-gcp-5.19.0/arch/riscv/boot/dts/microchip/mpfs.dtsi @@ -161,7 +161,7 @@ ranges; cctrllr: cache-controller@2010000 { - compatible = "sifive,fu540-c000-ccache", "cache"; + compatible = "microchip,mpfs-ccache", "sifive,fu540-c000-ccache", "cache"; reg = <0x0 0x2010000 0x0 0x1000>; cache-block-size = <64>; cache-level = <2>; @@ -169,7 +169,7 @@ cache-size = <2097152>; cache-unified; interrupt-parent = <&plic>; - interrupts = <1>, <2>, <3>; + interrupts = <1>, <3>, <4>, <2>; }; clint: clint@2000000 { @@ -446,9 +446,8 @@ ranges = <0x3000000 0x0 0x8000000 0x20 0x8000000 0x0 0x80000000>; msi-parent = <&pcie>; msi-controller; - microchip,axi-m-atr0 = <0x10 0x0>; status = "disabled"; - pcie_intc: legacy-interrupt-controller { + pcie_intc: interrupt-controller { #address-cells = <0>; #interrupt-cells = <1>; interrupt-controller; --- linux-gcp-5.19.0.orig/arch/riscv/boot/dts/sifive/fu740-c000.dtsi +++ linux-gcp-5.19.0/arch/riscv/boot/dts/sifive/fu740-c000.dtsi @@ -39,7 +39,7 @@ }; }; cpu1: cpu@1 { - compatible = "sifive,bullet0", "riscv"; + compatible = "sifive,u74-mc", "sifive,bullet0", "riscv"; d-cache-block-size = <64>; d-cache-sets = <64>; d-cache-size = <32768>; @@ -63,7 +63,7 @@ }; }; cpu2: cpu@2 { - compatible = "sifive,bullet0", "riscv"; + compatible = "sifive,u74-mc", "sifive,bullet0", "riscv"; d-cache-block-size = <64>; d-cache-sets = <64>; d-cache-size = <32768>; @@ -87,7 +87,7 @@ }; }; cpu3: cpu@3 { - compatible = "sifive,bullet0", "riscv"; + compatible = "sifive,u74-mc", "sifive,bullet0", "riscv"; d-cache-block-size = <64>; d-cache-sets = <64>; d-cache-size = <32768>; @@ -111,7 +111,7 @@ }; }; cpu4: cpu@4 { - compatible = "sifive,bullet0", "riscv"; + compatible = "sifive,u74-mc", "sifive,bullet0", "riscv"; d-cache-block-size = <64>; d-cache-sets = <64>; d-cache-size = <32768>; @@ -134,6 +134,30 @@ interrupt-controller; }; }; + + cpu-map { + cluster0 { + core0 { + cpu = <&cpu0>; + }; + + core1 { + cpu = <&cpu1>; + }; + + core2 { + cpu = <&cpu2>; + }; + + core3 { + cpu = <&cpu3>; + }; + + core4 { + cpu = <&cpu4>; + }; + }; + }; }; soc { #address-cells = <2>; @@ -304,7 +328,7 @@ bus-range = <0x0 0xff>; ranges = <0x81000000 0x0 0x60080000 0x0 0x60080000 0x0 0x10000>, /* I/O */ <0x82000000 0x0 0x60090000 0x0 0x60090000 0x0 0xff70000>, /* mem */ - <0x82000000 0x0 0x70000000 0x0 0x70000000 0x0 0x1000000>, /* mem */ + <0x82000000 0x0 0x70000000 0x0 0x70000000 0x0 0x10000000>, /* mem */ <0xc3000000 0x20 0x00000000 0x20 0x00000000 0x20 0x00000000>; /* mem prefetchable */ num-lanes = <0x8>; interrupts = <56>, <57>, <58>, <59>, <60>, <61>, <62>, <63>, <64>; --- linux-gcp-5.19.0.orig/arch/riscv/boot/dts/sifive/hifive-unleashed-a00-microsemi.dts +++ linux-gcp-5.19.0/arch/riscv/boot/dts/sifive/hifive-unleashed-a00-microsemi.dts @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: (GPL-2.0 OR MIT) + +#include "hifive-unleashed-a00.dts" + +/ { + soc { + pcie: pcie@2030000000 { + #address-cells = <0x3>; + #interrupt-cells = <0x1>; + #size-cells = <0x2>; + compatible = "microsemi,ms-pf-axi-pcie-host"; + device_type = "pci"; + bus-range = <0x01 0x7f>; + interrupt-map = <0 0 0 1 &ms_pcie_intc 0 0 0 0 2 &ms_pcie_intc 1 0 0 0 3 &ms_pcie_intc 2 0 0 0 4 &ms_pcie_intc 3>; + interrupt-map-mask = <0 0 0 7>; + interrupt-parent = <&plic0>; + interrupts = <32>; + ranges = <0x3000000 0x0 0x40000000 0x0 0x40000000 0x0 0x20000000>; + reg = <0x20 0x30000000 0x0 0x4000000 0x20 0x0 0x0 0x100000>; + reg-names = "control", "apb"; + ms_pcie_intc: interrupt-controller { + #address-cells = <0>; + #interrupt-cells = <1>; + interrupt-controller; + }; + }; + }; +}; --- linux-gcp-5.19.0.orig/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts +++ linux-gcp-5.19.0/arch/riscv/boot/dts/sifive/hifive-unleashed-a00.dts @@ -3,6 +3,8 @@ #include "fu540-c000.dtsi" #include +#include +#include /* Clock frequency (in Hz) of the PCB crystal for rtcclk */ #define RTCCLK_FREQ 1000000 @@ -42,6 +44,42 @@ compatible = "gpio-restart"; gpios = <&gpio 10 GPIO_ACTIVE_LOW>; }; + + led-controller { + compatible = "pwm-leds"; + + led-d1 { + pwms = <&pwm0 0 7812500 PWM_POLARITY_INVERTED>; + active-low; + color = ; + max-brightness = <255>; + label = "d1"; + }; + + led-d2 { + pwms = <&pwm0 1 7812500 PWM_POLARITY_INVERTED>; + active-low; + color = ; + max-brightness = <255>; + label = "d2"; + }; + + led-d3 { + pwms = <&pwm0 2 7812500 PWM_POLARITY_INVERTED>; + active-low; + color = ; + max-brightness = <255>; + label = "d3"; + }; + + led-d4 { + pwms = <&pwm0 3 7812500 PWM_POLARITY_INVERTED>; + active-low; + color = ; + max-brightness = <255>; + label = "d4"; + }; + }; }; &uart0 { --- linux-gcp-5.19.0.orig/arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dts +++ linux-gcp-5.19.0/arch/riscv/boot/dts/sifive/hifive-unmatched-a00.dts @@ -4,6 +4,8 @@ #include "fu740-c000.dtsi" #include #include +#include +#include /* Clock frequency (in Hz) of the PCB crystal for rtcclk */ #define RTCCLK_FREQ 1000000 @@ -44,6 +46,46 @@ compatible = "gpio-poweroff"; gpios = <&gpio 2 GPIO_ACTIVE_LOW>; }; + + led-controller-1 { + compatible = "pwm-leds"; + + led-d12 { + pwms = <&pwm0 0 7812500 PWM_POLARITY_INVERTED>; + active-low; + color = ; + max-brightness = <255>; + label = "d12"; + }; + }; + + led-controller-2 { + compatible = "pwm-leds-multicolor"; + + multi-led { + color = ; + max-brightness = <255>; + label = "d2"; + + led-red { + pwms = <&pwm0 2 7812500 PWM_POLARITY_INVERTED>; + active-low; + color = ; + }; + + led-green { + pwms = <&pwm0 1 7812500 PWM_POLARITY_INVERTED>; + active-low; + color = ; + }; + + led-blue { + pwms = <&pwm0 3 7812500 PWM_POLARITY_INVERTED>; + active-low; + color = ; + }; + }; + }; }; &uart0 { --- linux-gcp-5.19.0.orig/arch/riscv/boot/dts/starfive/jh7100.dtsi +++ linux-gcp-5.19.0/arch/riscv/boot/dts/starfive/jh7100.dtsi @@ -118,7 +118,7 @@ interrupt-controller; #address-cells = <0>; #interrupt-cells = <1>; - riscv,ndev = <127>; + riscv,ndev = <133>; }; clkgen: clock-controller@11800000 { --- linux-gcp-5.19.0.orig/arch/riscv/include/asm/asm.h +++ linux-gcp-5.19.0/arch/riscv/include/asm/asm.h @@ -23,6 +23,7 @@ #define REG_L __REG_SEL(ld, lw) #define REG_S __REG_SEL(sd, sw) #define REG_SC __REG_SEL(sc.d, sc.w) +#define REG_AMOSWAP_AQ __REG_SEL(amoswap.d.aq, amoswap.w.aq) #define REG_ASM __REG_SEL(.dword, .word) #define SZREG __REG_SEL(8, 4) #define LGREG __REG_SEL(3, 2) --- linux-gcp-5.19.0.orig/arch/riscv/include/asm/cpu_ops.h +++ linux-gcp-5.19.0/arch/riscv/include/asm/cpu_ops.h @@ -38,6 +38,7 @@ #endif }; +extern const struct cpu_operations cpu_ops_spinwait; extern const struct cpu_operations *cpu_ops[NR_CPUS]; void __init cpu_set_ops(int cpu); --- linux-gcp-5.19.0.orig/arch/riscv/include/asm/efi.h +++ linux-gcp-5.19.0/arch/riscv/include/asm/efi.h @@ -10,6 +10,7 @@ #include #include #include +#include #ifdef CONFIG_EFI extern void efi_init(void); @@ -20,7 +21,10 @@ int efi_create_mapping(struct mm_struct *mm, efi_memory_desc_t *md); int efi_set_mapping_permissions(struct mm_struct *mm, efi_memory_desc_t *md); -#define arch_efi_call_virt_setup() efi_virtmap_load() +#define arch_efi_call_virt_setup() ({ \ + sync_kernel_mappings(efi_mm.pgd); \ + efi_virtmap_load(); \ + }) #define arch_efi_call_virt_teardown() efi_virtmap_unload() #define arch_efi_call_virt(p, f, args...) p->f(args) --- linux-gcp-5.19.0.orig/arch/riscv/include/asm/ftrace.h +++ linux-gcp-5.19.0/arch/riscv/include/asm/ftrace.h @@ -42,6 +42,14 @@ * 2) jalr: setting low-12 offset to ra, jump to ra, and set ra to * return address (original pc + 4) * + *: + * 0: auipc t0/ra, 0x? + * 4: jalr t0/ra, ?(t0/ra) + * + *: + * 0: nop + * 4: nop + * * Dynamic ftrace generates probes to call sites, so we must deal with * both auipc and jalr at the same time. */ @@ -52,25 +60,43 @@ #define AUIPC_OFFSET_MASK (0xfffff000) #define AUIPC_PAD (0x00001000) #define JALR_SHIFT 20 -#define JALR_BASIC (0x000080e7) -#define AUIPC_BASIC (0x00000097) +#define JALR_RA (0x000080e7) +#define AUIPC_RA (0x00000097) +#define JALR_T0 (0x000282e7) +#define AUIPC_T0 (0x00000297) #define NOP4 (0x00000013) -#define make_call(caller, callee, call) \ +#define to_jalr_t0(offset) \ + (((offset & JALR_OFFSET_MASK) << JALR_SHIFT) | JALR_T0) + +#define to_auipc_t0(offset) \ + ((offset & JALR_SIGN_MASK) ? \ + (((offset & AUIPC_OFFSET_MASK) + AUIPC_PAD) | AUIPC_T0) : \ + ((offset & AUIPC_OFFSET_MASK) | AUIPC_T0)) + +#define make_call_t0(caller, callee, call) \ do { \ - call[0] = to_auipc_insn((unsigned int)((unsigned long)callee - \ - (unsigned long)caller)); \ - call[1] = to_jalr_insn((unsigned int)((unsigned long)callee - \ - (unsigned long)caller)); \ + unsigned int offset = \ + (unsigned long) callee - (unsigned long) caller; \ + call[0] = to_auipc_t0(offset); \ + call[1] = to_jalr_t0(offset); \ } while (0) -#define to_jalr_insn(offset) \ - (((offset & JALR_OFFSET_MASK) << JALR_SHIFT) | JALR_BASIC) +#define to_jalr_ra(offset) \ + (((offset & JALR_OFFSET_MASK) << JALR_SHIFT) | JALR_RA) -#define to_auipc_insn(offset) \ +#define to_auipc_ra(offset) \ ((offset & JALR_SIGN_MASK) ? \ - (((offset & AUIPC_OFFSET_MASK) + AUIPC_PAD) | AUIPC_BASIC) : \ - ((offset & AUIPC_OFFSET_MASK) | AUIPC_BASIC)) + (((offset & AUIPC_OFFSET_MASK) + AUIPC_PAD) | AUIPC_RA) : \ + ((offset & AUIPC_OFFSET_MASK) | AUIPC_RA)) + +#define make_call_ra(caller, callee, call) \ +do { \ + unsigned int offset = \ + (unsigned long) callee - (unsigned long) caller; \ + call[0] = to_auipc_ra(offset); \ + call[1] = to_jalr_ra(offset); \ +} while (0) /* * Let auipc+jalr be the basic *mcount unit*, so we make it 8 bytes here. --- linux-gcp-5.19.0.orig/arch/riscv/include/asm/hugetlb.h +++ linux-gcp-5.19.0/arch/riscv/include/asm/hugetlb.h @@ -5,4 +5,10 @@ #include #include +static inline void arch_clear_hugepage_flags(struct page *page) +{ + clear_bit(PG_dcache_clean, &page->flags); +} +#define arch_clear_hugepage_flags arch_clear_hugepage_flags + #endif /* _ASM_RISCV_HUGETLB_H */ --- linux-gcp-5.19.0.orig/arch/riscv/include/asm/io.h +++ linux-gcp-5.19.0/arch/riscv/include/asm/io.h @@ -101,9 +101,9 @@ __io_reads_ins(ins, u8, b, __io_pbr(), __io_par(addr)) __io_reads_ins(ins, u16, w, __io_pbr(), __io_par(addr)) __io_reads_ins(ins, u32, l, __io_pbr(), __io_par(addr)) -#define insb(addr, buffer, count) __insb((void __iomem *)(long)addr, buffer, count) -#define insw(addr, buffer, count) __insw((void __iomem *)(long)addr, buffer, count) -#define insl(addr, buffer, count) __insl((void __iomem *)(long)addr, buffer, count) +#define insb(addr, buffer, count) __insb(PCI_IOBASE + (addr), buffer, count) +#define insw(addr, buffer, count) __insw(PCI_IOBASE + (addr), buffer, count) +#define insl(addr, buffer, count) __insl(PCI_IOBASE + (addr), buffer, count) __io_writes_outs(writes, u8, b, __io_bw(), __io_aw()) __io_writes_outs(writes, u16, w, __io_bw(), __io_aw()) @@ -115,24 +115,29 @@ __io_writes_outs(outs, u8, b, __io_pbw(), __io_paw()) __io_writes_outs(outs, u16, w, __io_pbw(), __io_paw()) __io_writes_outs(outs, u32, l, __io_pbw(), __io_paw()) -#define outsb(addr, buffer, count) __outsb((void __iomem *)(long)addr, buffer, count) -#define outsw(addr, buffer, count) __outsw((void __iomem *)(long)addr, buffer, count) -#define outsl(addr, buffer, count) __outsl((void __iomem *)(long)addr, buffer, count) +#define outsb(addr, buffer, count) __outsb(PCI_IOBASE + (addr), buffer, count) +#define outsw(addr, buffer, count) __outsw(PCI_IOBASE + (addr), buffer, count) +#define outsl(addr, buffer, count) __outsl(PCI_IOBASE + (addr), buffer, count) #ifdef CONFIG_64BIT __io_reads_ins(reads, u64, q, __io_br(), __io_ar(addr)) #define readsq(addr, buffer, count) __readsq(addr, buffer, count) __io_reads_ins(ins, u64, q, __io_pbr(), __io_par(addr)) -#define insq(addr, buffer, count) __insq((void __iomem *)addr, buffer, count) +#define insq(addr, buffer, count) __insq(PCI_IOBASE + (addr), buffer, count) __io_writes_outs(writes, u64, q, __io_bw(), __io_aw()) #define writesq(addr, buffer, count) __writesq(addr, buffer, count) __io_writes_outs(outs, u64, q, __io_pbr(), __io_paw()) -#define outsq(addr, buffer, count) __outsq((void __iomem *)addr, buffer, count) +#define outsq(addr, buffer, count) __outsq(PCI_IOBASE + (addr), buffer, count) #endif #include +#ifdef CONFIG_MMU +#define arch_memremap_wb(addr, size) \ + ((__force void *)ioremap_prot((addr), (size), _PAGE_KERNEL)) +#endif + #endif /* _ASM_RISCV_IO_H */ --- linux-gcp-5.19.0.orig/arch/riscv/include/asm/jump_label.h +++ linux-gcp-5.19.0/arch/riscv/include/asm/jump_label.h @@ -18,6 +18,7 @@ bool branch) { asm_volatile_goto( + " .align 2 \n\t" " .option push \n\t" " .option norelax \n\t" " .option norvc \n\t" @@ -39,6 +40,7 @@ bool branch) { asm_volatile_goto( + " .align 2 \n\t" " .option push \n\t" " .option norelax \n\t" " .option norvc \n\t" --- linux-gcp-5.19.0.orig/arch/riscv/include/asm/kexec.h +++ linux-gcp-5.19.0/arch/riscv/include/asm/kexec.h @@ -39,6 +39,7 @@ #define ARCH_HAS_KIMAGE_ARCH struct kimage_arch { + void *fdt; /* For CONFIG_KEXEC_FILE */ unsigned long fdt_addr; }; @@ -62,6 +63,10 @@ const Elf_Shdr *relsec, const Elf_Shdr *symtab); #define arch_kexec_apply_relocations_add arch_kexec_apply_relocations_add + +struct kimage; +int arch_kimage_file_post_load_cleanup(struct kimage *image); +#define arch_kimage_file_post_load_cleanup arch_kimage_file_post_load_cleanup #endif #endif --- linux-gcp-5.19.0.orig/arch/riscv/include/asm/kvm_vcpu_sbi.h +++ linux-gcp-5.19.0/arch/riscv/include/asm/kvm_vcpu_sbi.h @@ -33,4 +33,16 @@ u32 type, u64 flags); const struct kvm_vcpu_sbi_extension *kvm_vcpu_sbi_find_ext(unsigned long extid); +#ifdef CONFIG_RISCV_SBI_V01 +extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_v01; +#endif +extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_base; +extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_time; +extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_ipi; +extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_rfence; +extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_srst; +extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_hsm; +extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_experimental; +extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_vendor; + #endif /* __RISCV_KVM_VCPU_SBI_H__ */ --- linux-gcp-5.19.0.orig/arch/riscv/include/asm/mmu.h +++ linux-gcp-5.19.0/arch/riscv/include/asm/mmu.h @@ -16,10 +16,11 @@ atomic_long_t id; #endif void *vdso; - void *vdso_info; #ifdef CONFIG_SMP /* A local icache flush is needed before user execution can resume. */ cpumask_t icache_stale_mask; + /* A local tlb flush is needed before user execution can resume. */ + cpumask_t tlb_stale_mask; #endif } mm_context_t; --- linux-gcp-5.19.0.orig/arch/riscv/include/asm/pgalloc.h +++ linux-gcp-5.19.0/arch/riscv/include/asm/pgalloc.h @@ -127,6 +127,13 @@ #define __p4d_free_tlb(tlb, p4d, addr) p4d_free((tlb)->mm, p4d) #endif /* __PAGETABLE_PMD_FOLDED */ +static inline void sync_kernel_mappings(pgd_t *pgd) +{ + memcpy(pgd + USER_PTRS_PER_PGD, + init_mm.pgd + USER_PTRS_PER_PGD, + (PTRS_PER_PGD - USER_PTRS_PER_PGD) * sizeof(pgd_t)); +} + static inline pgd_t *pgd_alloc(struct mm_struct *mm) { pgd_t *pgd; @@ -135,9 +142,7 @@ if (likely(pgd != NULL)) { memset(pgd, 0, USER_PTRS_PER_PGD * sizeof(pgd_t)); /* Copy kernel mappings */ - memcpy(pgd + USER_PTRS_PER_PGD, - init_mm.pgd + USER_PTRS_PER_PGD, - (PTRS_PER_PGD - USER_PTRS_PER_PGD) * sizeof(pgd_t)); + sync_kernel_mappings(pgd); } return pgd; } --- linux-gcp-5.19.0.orig/arch/riscv/include/asm/pgtable-64.h +++ linux-gcp-5.19.0/arch/riscv/include/asm/pgtable-64.h @@ -25,7 +25,11 @@ #define PGDIR_MASK (~(PGDIR_SIZE - 1)) /* p4d is folded into pgd in case of 4-level page table */ -#define P4D_SHIFT 39 +#define P4D_SHIFT_L3 30 +#define P4D_SHIFT_L4 39 +#define P4D_SHIFT_L5 39 +#define P4D_SHIFT (pgtable_l5_enabled ? P4D_SHIFT_L5 : \ + (pgtable_l4_enabled ? P4D_SHIFT_L4 : P4D_SHIFT_L3)) #define P4D_SIZE (_AC(1, UL) << P4D_SHIFT) #define P4D_MASK (~(P4D_SIZE - 1)) --- linux-gcp-5.19.0.orig/arch/riscv/include/asm/signal.h +++ linux-gcp-5.19.0/arch/riscv/include/asm/signal.h @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef __ASM_SIGNAL_H +#define __ASM_SIGNAL_H + +#include +#include + +asmlinkage __visible +void do_notify_resume(struct pt_regs *regs, unsigned long thread_info_flags); + +#endif --- linux-gcp-5.19.0.orig/arch/riscv/include/asm/thread_info.h +++ linux-gcp-5.19.0/arch/riscv/include/asm/thread_info.h @@ -42,6 +42,9 @@ #ifndef __ASSEMBLY__ +extern long shadow_stack[SHADOW_OVERFLOW_STACK_SIZE / sizeof(long)]; +extern unsigned long spin_shadow_stack; + #include #include --- linux-gcp-5.19.0.orig/arch/riscv/include/asm/tlbflush.h +++ linux-gcp-5.19.0/arch/riscv/include/asm/tlbflush.h @@ -22,6 +22,24 @@ { ALT_FLUSH_TLB_PAGE(__asm__ __volatile__ ("sfence.vma %0" : : "r" (addr) : "memory")); } + +static inline void local_flush_tlb_all_asid(unsigned long asid) +{ + __asm__ __volatile__ ("sfence.vma x0, %0" + : + : "r" (asid) + : "memory"); +} + +static inline void local_flush_tlb_page_asid(unsigned long addr, + unsigned long asid) +{ + __asm__ __volatile__ ("sfence.vma %0, %1" + : + : "r" (addr), "r" (asid) + : "memory"); +} + #else /* CONFIG_MMU */ #define local_flush_tlb_all() do { } while (0) #define local_flush_tlb_page(addr) do { } while (0) --- linux-gcp-5.19.0.orig/arch/riscv/include/asm/uaccess.h +++ linux-gcp-5.19.0/arch/riscv/include/asm/uaccess.h @@ -165,7 +165,7 @@ might_fault(); \ access_ok(__p, sizeof(*__p)) ? \ __get_user((x), __p) : \ - ((x) = 0, -EFAULT); \ + ((x) = (__force __typeof__(x))0, -EFAULT); \ }) #define __put_user_asm(insn, x, ptr, err) \ --- linux-gcp-5.19.0.orig/arch/riscv/kernel/cpu_ops.c +++ linux-gcp-5.19.0/arch/riscv/kernel/cpu_ops.c @@ -15,9 +15,7 @@ const struct cpu_operations *cpu_ops[NR_CPUS] __ro_after_init; extern const struct cpu_operations cpu_ops_sbi; -#ifdef CONFIG_RISCV_BOOT_SPINWAIT -extern const struct cpu_operations cpu_ops_spinwait; -#else +#ifndef CONFIG_RISCV_BOOT_SPINWAIT const struct cpu_operations cpu_ops_spinwait = { .name = "", .cpu_prepare = NULL, --- linux-gcp-5.19.0.orig/arch/riscv/kernel/cpu_ops_spinwait.c +++ linux-gcp-5.19.0/arch/riscv/kernel/cpu_ops_spinwait.c @@ -11,6 +11,8 @@ #include #include +#include "head.h" + const struct cpu_operations cpu_ops_spinwait; void *__cpu_spinwait_stack_pointer[NR_CPUS] __section(".data"); void *__cpu_spinwait_task_pointer[NR_CPUS] __section(".data"); @@ -18,7 +20,7 @@ static void cpu_update_secondary_bootdata(unsigned int cpuid, struct task_struct *tidle) { - int hartid = cpuid_to_hartid_map(cpuid); + unsigned long hartid = cpuid_to_hartid_map(cpuid); /* * The hartid must be less than NR_CPUS to avoid out-of-bound access @@ -27,7 +29,7 @@ * spinwait booting is not the recommended approach for any platforms * booting Linux in S-mode and can be disabled in the future. */ - if (hartid == INVALID_HARTID || hartid >= NR_CPUS) + if (hartid == INVALID_HARTID || hartid >= (unsigned long) NR_CPUS) return; /* Make sure tidle is updated */ --- linux-gcp-5.19.0.orig/arch/riscv/kernel/crash_save_regs.S +++ linux-gcp-5.19.0/arch/riscv/kernel/crash_save_regs.S @@ -44,7 +44,7 @@ REG_S t6, PT_T6(a0) /* x31 */ csrr t1, CSR_STATUS - csrr t2, CSR_EPC + auipc t2, 0x0 csrr t3, CSR_TVAL csrr t4, CSR_CAUSE --- linux-gcp-5.19.0.orig/arch/riscv/kernel/elf_kexec.c +++ linux-gcp-5.19.0/arch/riscv/kernel/elf_kexec.c @@ -21,6 +21,18 @@ #include #include +int arch_kimage_file_post_load_cleanup(struct kimage *image) +{ + kvfree(image->arch.fdt); + image->arch.fdt = NULL; + + vfree(image->elf_headers); + image->elf_headers = NULL; + image->elf_headers_sz = 0; + + return kexec_image_post_load_cleanup_default(image); +} + static int riscv_kexec_elf_load(struct kimage *image, struct elfhdr *ehdr, struct kexec_elf_info *elf_info, unsigned long old_pbase, unsigned long new_pbase) @@ -298,6 +310,8 @@ pr_err("Error add DTB kbuf ret=%d\n", ret); goto out_free_fdt; } + /* Cache the fdt buffer address for memory cleanup */ + image->arch.fdt = fdt; pr_notice("Loaded device tree at 0x%lx\n", kbuf.mem); goto out; --- linux-gcp-5.19.0.orig/arch/riscv/kernel/entry.S +++ linux-gcp-5.19.0/arch/riscv/kernel/entry.S @@ -263,12 +263,11 @@ #endif bnez s0, resume_kernel -resume_userspace: /* Interrupts must be disabled here so flags are checked atomically */ REG_L s0, TASK_TI_FLAGS(tp) /* current_thread_info->flags */ andi s1, s0, _TIF_WORK_MASK - bnez s1, work_pending - + bnez s1, resume_userspace_slow +resume_userspace: #ifdef CONFIG_CONTEXT_TRACKING call context_tracking_user_enter #endif @@ -368,19 +367,12 @@ j restore_all #endif -work_pending: +resume_userspace_slow: /* Enter slow path for supplementary processing */ - la ra, ret_from_exception - andi s1, s0, _TIF_NEED_RESCHED - bnez s1, work_resched -work_notifysig: - /* Handle pending signals and notify-resume requests */ - csrs CSR_STATUS, SR_IE /* Enable interrupts for do_notify_resume() */ move a0, sp /* pt_regs */ move a1, s0 /* current_thread_info->flags */ - tail do_notify_resume -work_resched: - tail schedule + call do_work_pending + j resume_userspace /* Slow paths for ptrace. */ handle_syscall_trace_enter: @@ -404,6 +396,19 @@ #ifdef CONFIG_VMAP_STACK handle_kernel_stack_overflow: + /* + * Takes the psuedo-spinlock for the shadow stack, in case multiple + * harts are concurrently overflowing their kernel stacks. We could + * store any value here, but since we're overflowing the kernel stack + * already we only have SP to use as a scratch register. So we just + * swap in the address of the spinlock, as that's definately non-zero. + * + * Pairs with a store_release in handle_bad_stack(). + */ +1: la sp, spin_shadow_stack + REG_AMOSWAP_AQ sp, sp, (sp) + bnez sp, 1b + la sp, shadow_stack addi sp, sp, SHADOW_OVERFLOW_STACK_SIZE --- linux-gcp-5.19.0.orig/arch/riscv/kernel/ftrace.c +++ linux-gcp-5.19.0/arch/riscv/kernel/ftrace.c @@ -55,12 +55,15 @@ } static int __ftrace_modify_call(unsigned long hook_pos, unsigned long target, - bool enable) + bool enable, bool ra) { unsigned int call[2]; unsigned int nops[2] = {NOP4, NOP4}; - make_call(hook_pos, target, call); + if (ra) + make_call_ra(hook_pos, target, call); + else + make_call_t0(hook_pos, target, call); /* Replace the auipc-jalr pair at once. Return -EPERM on write error. */ if (patch_text_nosync @@ -70,42 +73,13 @@ return 0; } -/* - * Put 5 instructions with 16 bytes at the front of function within - * patchable function entry nops' area. - * - * 0: REG_S ra, -SZREG(sp) - * 1: auipc ra, 0x? - * 2: jalr -?(ra) - * 3: REG_L ra, -SZREG(sp) - * - * So the opcodes is: - * 0: 0xfe113c23 (sd)/0xfe112e23 (sw) - * 1: 0x???????? -> auipc - * 2: 0x???????? -> jalr - * 3: 0xff813083 (ld)/0xffc12083 (lw) - */ -#if __riscv_xlen == 64 -#define INSN0 0xfe113c23 -#define INSN3 0xff813083 -#elif __riscv_xlen == 32 -#define INSN0 0xfe112e23 -#define INSN3 0xffc12083 -#endif - -#define FUNC_ENTRY_SIZE 16 -#define FUNC_ENTRY_JMP 4 - int ftrace_make_call(struct dyn_ftrace *rec, unsigned long addr) { - unsigned int call[4] = {INSN0, 0, 0, INSN3}; - unsigned long target = addr; - unsigned long caller = rec->ip + FUNC_ENTRY_JMP; + unsigned int call[2]; - call[1] = to_auipc_insn((unsigned int)(target - caller)); - call[2] = to_jalr_insn((unsigned int)(target - caller)); + make_call_t0(rec->ip, addr, call); - if (patch_text_nosync((void *)rec->ip, call, FUNC_ENTRY_SIZE)) + if (patch_text_nosync((void *)rec->ip, call, MCOUNT_INSN_SIZE)) return -EPERM; return 0; @@ -114,15 +88,14 @@ int ftrace_make_nop(struct module *mod, struct dyn_ftrace *rec, unsigned long addr) { - unsigned int nops[4] = {NOP4, NOP4, NOP4, NOP4}; + unsigned int nops[2] = {NOP4, NOP4}; - if (patch_text_nosync((void *)rec->ip, nops, FUNC_ENTRY_SIZE)) + if (patch_text_nosync((void *)rec->ip, nops, MCOUNT_INSN_SIZE)) return -EPERM; return 0; } - /* * This is called early on, and isn't wrapped by * ftrace_arch_code_modify_{prepare,post_process}() and therefor doesn't hold @@ -144,10 +117,10 @@ int ftrace_update_ftrace_func(ftrace_func_t func) { int ret = __ftrace_modify_call((unsigned long)&ftrace_call, - (unsigned long)func, true); + (unsigned long)func, true, true); if (!ret) { ret = __ftrace_modify_call((unsigned long)&ftrace_regs_call, - (unsigned long)func, true); + (unsigned long)func, true, true); } return ret; @@ -159,16 +132,16 @@ unsigned long addr) { unsigned int call[2]; - unsigned long caller = rec->ip + FUNC_ENTRY_JMP; + unsigned long caller = rec->ip; int ret; - make_call(caller, old_addr, call); + make_call_t0(caller, old_addr, call); ret = ftrace_check_current_call(caller, call); if (ret) return ret; - return __ftrace_modify_call(caller, addr, true); + return __ftrace_modify_call(caller, addr, true, false); } #endif @@ -203,12 +176,12 @@ int ret; ret = __ftrace_modify_call((unsigned long)&ftrace_graph_call, - (unsigned long)&prepare_ftrace_return, true); + (unsigned long)&prepare_ftrace_return, true, true); if (ret) return ret; return __ftrace_modify_call((unsigned long)&ftrace_graph_regs_call, - (unsigned long)&prepare_ftrace_return, true); + (unsigned long)&prepare_ftrace_return, true, true); } int ftrace_disable_ftrace_graph_caller(void) @@ -216,12 +189,12 @@ int ret; ret = __ftrace_modify_call((unsigned long)&ftrace_graph_call, - (unsigned long)&prepare_ftrace_return, false); + (unsigned long)&prepare_ftrace_return, false, true); if (ret) return ret; return __ftrace_modify_call((unsigned long)&ftrace_graph_regs_call, - (unsigned long)&prepare_ftrace_return, false); + (unsigned long)&prepare_ftrace_return, false, true); } #endif /* CONFIG_DYNAMIC_FTRACE */ #endif /* CONFIG_FUNCTION_GRAPH_TRACER */ --- linux-gcp-5.19.0.orig/arch/riscv/kernel/head.S +++ linux-gcp-5.19.0/arch/riscv/kernel/head.S @@ -326,7 +326,7 @@ call soc_early_init tail start_kernel -#if CONFIG_RISCV_BOOT_SPINWAIT +#ifdef CONFIG_RISCV_BOOT_SPINWAIT .Lsecondary_start: /* Set trap vector to spin forever to help debug */ la a3, .Lsecondary_park --- linux-gcp-5.19.0.orig/arch/riscv/kernel/machine_kexec.c +++ linux-gcp-5.19.0/arch/riscv/kernel/machine_kexec.c @@ -15,6 +15,8 @@ #include /* For unreachable() */ #include /* For cpu_down() */ #include +#include +#include /* * kexec_image_info - Print received image details @@ -138,19 +140,70 @@ #endif } +/* Override the weak function in kernel/panic.c */ +void crash_smp_send_stop(void) +{ + static int cpus_stopped; + + /* + * This function can be called twice in panic path, but obviously + * we execute this only once. + */ + if (cpus_stopped) + return; + + smp_send_stop(); + cpus_stopped = 1; +} + +static void machine_kexec_mask_interrupts(void) +{ + unsigned int i; + struct irq_desc *desc; + + for_each_irq_desc(i, desc) { + struct irq_chip *chip; + int ret; + + chip = irq_desc_get_chip(desc); + if (!chip) + continue; + + /* + * First try to remove the active state. If this + * fails, try to EOI the interrupt. + */ + ret = irq_set_irqchip_state(i, IRQCHIP_STATE_ACTIVE, false); + + if (ret && irqd_irq_inprogress(&desc->irq_data) && + chip->irq_eoi) + chip->irq_eoi(&desc->irq_data); + + if (chip->irq_mask) + chip->irq_mask(&desc->irq_data); + + if (chip->irq_disable && !irqd_irq_disabled(&desc->irq_data)) + chip->irq_disable(&desc->irq_data); + } +} + /* * machine_crash_shutdown - Prepare to kexec after a kernel crash * * This function is called by crash_kexec just before machine_kexec - * below and its goal is similar to machine_shutdown, but in case of - * a kernel crash. Since we don't handle such cases yet, this function - * is empty. + * and its goal is to shutdown non-crashing cpus and save registers. */ void machine_crash_shutdown(struct pt_regs *regs) { + local_irq_disable(); + + /* shutdown non-crashing cpus */ + crash_smp_send_stop(); + crash_save_cpu(regs, smp_processor_id()); - machine_shutdown(); + machine_kexec_mask_interrupts(); + pr_info("Starting crashdump kernel...\n"); } @@ -171,7 +224,7 @@ struct kimage_arch *internal = &image->arch; unsigned long jump_addr = (unsigned long) image->start; unsigned long first_ind_entry = (unsigned long) &image->head; - unsigned long this_cpu_id = smp_processor_id(); + unsigned long this_cpu_id = __smp_processor_id(); unsigned long this_hart_id = cpuid_to_hartid_map(this_cpu_id); unsigned long fdt_addr = internal->fdt_addr; void *control_code_buffer = page_address(image->control_code_page); --- linux-gcp-5.19.0.orig/arch/riscv/kernel/mcount-dyn.S +++ linux-gcp-5.19.0/arch/riscv/kernel/mcount-dyn.S @@ -13,8 +13,8 @@ .text -#define FENTRY_RA_OFFSET 12 -#define ABI_SIZE_ON_STACK 72 +#define FENTRY_RA_OFFSET 8 +#define ABI_SIZE_ON_STACK 80 #define ABI_A0 0 #define ABI_A1 8 #define ABI_A2 16 @@ -23,10 +23,10 @@ #define ABI_A5 40 #define ABI_A6 48 #define ABI_A7 56 -#define ABI_RA 64 +#define ABI_T0 64 +#define ABI_RA 72 .macro SAVE_ABI - addi sp, sp, -SZREG addi sp, sp, -ABI_SIZE_ON_STACK REG_S a0, ABI_A0(sp) @@ -37,6 +37,7 @@ REG_S a5, ABI_A5(sp) REG_S a6, ABI_A6(sp) REG_S a7, ABI_A7(sp) + REG_S t0, ABI_T0(sp) REG_S ra, ABI_RA(sp) .endm @@ -49,24 +50,18 @@ REG_L a5, ABI_A5(sp) REG_L a6, ABI_A6(sp) REG_L a7, ABI_A7(sp) + REG_L t0, ABI_T0(sp) REG_L ra, ABI_RA(sp) addi sp, sp, ABI_SIZE_ON_STACK - addi sp, sp, SZREG .endm #ifdef CONFIG_DYNAMIC_FTRACE_WITH_REGS .macro SAVE_ALL - addi sp, sp, -SZREG addi sp, sp, -PT_SIZE_ON_STACK - REG_S x1, PT_EPC(sp) - addi sp, sp, PT_SIZE_ON_STACK - REG_L x1, (sp) - addi sp, sp, -PT_SIZE_ON_STACK + REG_S t0, PT_EPC(sp) REG_S x1, PT_RA(sp) - REG_L x1, PT_EPC(sp) - REG_S x2, PT_SP(sp) REG_S x3, PT_GP(sp) REG_S x4, PT_TP(sp) @@ -100,15 +95,11 @@ .endm .macro RESTORE_ALL + REG_L t0, PT_EPC(sp) REG_L x1, PT_RA(sp) - addi sp, sp, PT_SIZE_ON_STACK - REG_S x1, (sp) - addi sp, sp, -PT_SIZE_ON_STACK - REG_L x1, PT_EPC(sp) REG_L x2, PT_SP(sp) REG_L x3, PT_GP(sp) REG_L x4, PT_TP(sp) - REG_L x5, PT_T0(sp) REG_L x6, PT_T1(sp) REG_L x7, PT_T2(sp) REG_L x8, PT_S0(sp) @@ -137,17 +128,16 @@ REG_L x31, PT_T6(sp) addi sp, sp, PT_SIZE_ON_STACK - addi sp, sp, SZREG .endm #endif /* CONFIG_DYNAMIC_FTRACE_WITH_REGS */ ENTRY(ftrace_caller) SAVE_ABI - addi a0, ra, -FENTRY_RA_OFFSET + addi a0, t0, -FENTRY_RA_OFFSET la a1, function_trace_op REG_L a2, 0(a1) - REG_L a1, ABI_SIZE_ON_STACK(sp) + mv a1, ra mv a3, sp ftrace_call: @@ -155,8 +145,8 @@ call ftrace_stub #ifdef CONFIG_FUNCTION_GRAPH_TRACER - addi a0, sp, ABI_SIZE_ON_STACK - REG_L a1, ABI_RA(sp) + addi a0, sp, ABI_RA + REG_L a1, ABI_T0(sp) addi a1, a1, -FENTRY_RA_OFFSET #ifdef HAVE_FUNCTION_GRAPH_FP_TEST mv a2, s0 @@ -166,17 +156,17 @@ call ftrace_stub #endif RESTORE_ABI - ret + jr t0 ENDPROC(ftrace_caller) #ifdef CONFIG_DYNAMIC_FTRACE_WITH_REGS ENTRY(ftrace_regs_caller) SAVE_ALL - addi a0, ra, -FENTRY_RA_OFFSET + addi a0, t0, -FENTRY_RA_OFFSET la a1, function_trace_op REG_L a2, 0(a1) - REG_L a1, PT_SIZE_ON_STACK(sp) + mv a1, ra mv a3, sp ftrace_regs_call: @@ -196,6 +186,6 @@ #endif RESTORE_ALL - ret + jr t0 ENDPROC(ftrace_regs_caller) #endif /* CONFIG_DYNAMIC_FTRACE_WITH_REGS */ --- linux-gcp-5.19.0.orig/arch/riscv/kernel/probes/kprobes.c +++ linux-gcp-5.19.0/arch/riscv/kernel/probes/kprobes.c @@ -48,15 +48,35 @@ post_kprobe_handler(p, kcb, regs); } +static bool __kprobes arch_check_kprobe(struct kprobe *p) +{ + unsigned long tmp = (unsigned long)p->addr - p->offset; + unsigned long addr = (unsigned long)p->addr; + + while (tmp <= addr) { + if (tmp == addr) + return true; + + tmp += GET_INSN_LENGTH(*(u16 *)tmp); + } + + return false; +} + int __kprobes arch_prepare_kprobe(struct kprobe *p) { - unsigned long probe_addr = (unsigned long)p->addr; + u16 *insn = (u16 *)p->addr; + + if ((unsigned long)insn & 0x1) + return -EILSEQ; - if (probe_addr & 0x1) + if (!arch_check_kprobe(p)) return -EILSEQ; /* copy instruction */ - p->opcode = *p->addr; + p->opcode = (kprobe_opcode_t)(*insn++); + if (GET_INSN_LENGTH(p->opcode) == 4) + p->opcode |= (kprobe_opcode_t)(*insn) << 16; /* decode instruction */ switch (riscv_probe_decode_insn(p->addr, &p->ainsn.api)) { --- linux-gcp-5.19.0.orig/arch/riscv/kernel/probes/simulate-insn.c +++ linux-gcp-5.19.0/arch/riscv/kernel/probes/simulate-insn.c @@ -71,11 +71,11 @@ u32 rd_index = (opcode >> 7) & 0x1f; u32 rs1_index = (opcode >> 15) & 0x1f; - ret = rv_insn_reg_set_val(regs, rd_index, addr + 4); + ret = rv_insn_reg_get_val(regs, rs1_index, &base_addr); if (!ret) return ret; - ret = rv_insn_reg_get_val(regs, rs1_index, &base_addr); + ret = rv_insn_reg_set_val(regs, rd_index, addr + 4); if (!ret) return ret; --- linux-gcp-5.19.0.orig/arch/riscv/kernel/probes/simulate-insn.h +++ linux-gcp-5.19.0/arch/riscv/kernel/probes/simulate-insn.h @@ -31,9 +31,9 @@ } while (0) __RISCV_INSN_FUNCS(c_j, 0xe003, 0xa001); -__RISCV_INSN_FUNCS(c_jr, 0xf007, 0x8002); +__RISCV_INSN_FUNCS(c_jr, 0xf07f, 0x8002); __RISCV_INSN_FUNCS(c_jal, 0xe003, 0x2001); -__RISCV_INSN_FUNCS(c_jalr, 0xf007, 0x9002); +__RISCV_INSN_FUNCS(c_jalr, 0xf07f, 0x9002); __RISCV_INSN_FUNCS(c_beqz, 0xe003, 0xc001); __RISCV_INSN_FUNCS(c_bnez, 0xe003, 0xe001); __RISCV_INSN_FUNCS(c_ebreak, 0xffff, 0x9002); --- linux-gcp-5.19.0.orig/arch/riscv/kernel/probes/uprobes.c +++ linux-gcp-5.19.0/arch/riscv/kernel/probes/uprobes.c @@ -59,8 +59,6 @@ instruction_pointer_set(regs, utask->xol_vaddr); - regs->status &= ~SR_SPIE; - return 0; } @@ -72,8 +70,6 @@ instruction_pointer_set(regs, utask->vaddr + auprobe->insn_size); - regs->status |= SR_SPIE; - return 0; } @@ -111,8 +107,6 @@ * address. */ instruction_pointer_set(regs, utask->vaddr); - - regs->status &= ~SR_SPIE; } bool arch_uretprobe_is_alive(struct return_instance *ret, enum rp_check ctx, --- linux-gcp-5.19.0.orig/arch/riscv/kernel/process.c +++ linux-gcp-5.19.0/arch/riscv/kernel/process.c @@ -164,6 +164,8 @@ unsigned long tls = args->tls; struct pt_regs *childregs = task_pt_regs(p); + memset(&p->thread.s, 0, sizeof(p->thread.s)); + /* p->thread holds context to be restored by __switch_to() */ if (unlikely(args->fn)) { /* Kernel thread */ --- linux-gcp-5.19.0.orig/arch/riscv/kernel/setup.c +++ linux-gcp-5.19.0/arch/riscv/kernel/setup.c @@ -251,10 +251,10 @@ pr_info("Machine model: %s\n", name); dump_stack_set_arch_desc("%s (DT)", name); } - return; + } else { + pr_err("No DTB passed to the kernel\n"); } - pr_err("No DTB passed to the kernel\n"); #ifdef CONFIG_CMDLINE_FORCE strscpy(boot_command_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE); pr_info("Forcing kernel command line to: %s\n", boot_command_line); @@ -282,6 +282,7 @@ else pr_err("No DTB found in kernel mappings\n"); #endif + early_init_fdt_scan_reserved_mem(); misc_mem_init(); init_resources(); @@ -319,10 +320,11 @@ void free_initmem(void) { - if (IS_ENABLED(CONFIG_STRICT_KERNEL_RWX)) - set_kernel_memory(lm_alias(__init_begin), lm_alias(__init_end), - IS_ENABLED(CONFIG_64BIT) ? - set_memory_rw : set_memory_rw_nx); + if (IS_ENABLED(CONFIG_STRICT_KERNEL_RWX)) { + set_kernel_memory(lm_alias(__init_begin), lm_alias(__init_end), set_memory_rw_nx); + if (IS_ENABLED(CONFIG_64BIT)) + set_kernel_memory(__init_begin, __init_end, set_memory_nx); + } free_initmem_default(POISON_FREE_INITMEM); } --- linux-gcp-5.19.0.orig/arch/riscv/kernel/signal.c +++ linux-gcp-5.19.0/arch/riscv/kernel/signal.c @@ -15,6 +15,7 @@ #include #include +#include #include #include #include @@ -123,6 +124,8 @@ if (restore_altstack(&frame->uc.uc_stack)) goto badframe; + regs->cause = -1UL; + return regs->a0; badframe: @@ -310,19 +313,27 @@ } /* - * notification of userspace execution resumption - * - triggered by the _TIF_WORK_MASK flags + * Handle any pending work on the resume-to-userspace path, as indicated by + * _TIF_WORK_MASK. Entered from assembly with IRQs off. */ -asmlinkage __visible void do_notify_resume(struct pt_regs *regs, - unsigned long thread_info_flags) +asmlinkage __visible void do_work_pending(struct pt_regs *regs, + unsigned long thread_info_flags) { - if (thread_info_flags & _TIF_UPROBE) - uprobe_notify_resume(regs); - - /* Handle pending signal delivery */ - if (thread_info_flags & (_TIF_SIGPENDING | _TIF_NOTIFY_SIGNAL)) - do_signal(regs); - - if (thread_info_flags & _TIF_NOTIFY_RESUME) - resume_user_mode_work(regs); + do { + if (thread_info_flags & _TIF_NEED_RESCHED) { + schedule(); + } else { + local_irq_enable(); + if (thread_info_flags & _TIF_UPROBE) + uprobe_notify_resume(regs); + /* Handle pending signal delivery */ + if (thread_info_flags & (_TIF_SIGPENDING | + _TIF_NOTIFY_SIGNAL)) + do_signal(regs); + if (thread_info_flags & _TIF_NOTIFY_RESUME) + resume_user_mode_work(regs); + } + local_irq_disable(); + thread_info_flags = read_thread_flags(); + } while (thread_info_flags & _TIF_WORK_MASK); } --- linux-gcp-5.19.0.orig/arch/riscv/kernel/smpboot.c +++ linux-gcp-5.19.0/arch/riscv/kernel/smpboot.c @@ -39,7 +39,6 @@ void __init smp_prepare_boot_cpu(void) { - init_cpu_topology(); } void __init smp_prepare_cpus(unsigned int max_cpus) @@ -48,7 +47,10 @@ int ret; unsigned int curr_cpuid; + init_cpu_topology(); + curr_cpuid = smp_processor_id(); + store_cpu_topology(curr_cpuid); numa_store_cpu_info(curr_cpuid); numa_add_cpu(curr_cpuid); @@ -161,9 +163,9 @@ mmgrab(mm); current->active_mm = mm; + store_cpu_topology(curr_cpuid); notify_cpu_starting(curr_cpuid); numa_add_cpu(curr_cpuid); - update_siblings_masks(curr_cpuid); set_cpu_online(curr_cpuid, 1); /* --- linux-gcp-5.19.0.orig/arch/riscv/kernel/stacktrace.c +++ linux-gcp-5.19.0/arch/riscv/kernel/stacktrace.c @@ -30,6 +30,7 @@ fp = (unsigned long)__builtin_frame_address(0); sp = current_stack_pointer; pc = (unsigned long)walk_stackframe; + level = -1; } else { /* task blocked in __switch_to */ fp = task->thread.s[0]; @@ -41,7 +42,7 @@ unsigned long low, high; struct stackframe *frame; - if (unlikely(!__kernel_text_address(pc) || (level++ >= 1 && !fn(arg, pc)))) + if (unlikely(!__kernel_text_address(pc) || (level++ >= 0 && !fn(arg, pc)))) break; /* Validate frame pointer */ @@ -58,7 +59,7 @@ } else { fp = frame->fp; pc = ftrace_graph_ret_addr(current, NULL, frame->ra, - (unsigned long *)(fp - 8)); + &frame->ra); } } --- linux-gcp-5.19.0.orig/arch/riscv/kernel/time.c +++ linux-gcp-5.19.0/arch/riscv/kernel/time.c @@ -5,6 +5,7 @@ */ #include +#include #include #include #include @@ -29,6 +30,8 @@ of_clk_init(NULL); timer_probe(); + + tick_setup_hrtimer_broadcast(); } void clocksource_arch_init(struct clocksource *cs) --- linux-gcp-5.19.0.orig/arch/riscv/kernel/traps.c +++ linux-gcp-5.19.0/arch/riscv/kernel/traps.c @@ -16,12 +16,14 @@ #include #include #include +#include #include #include +#include #include #include -#include +#include int show_unhandled_signals = 1; @@ -31,10 +33,11 @@ { static int die_counter; int ret; + unsigned long flags; oops_enter(); - spin_lock_irq(&die_lock); + spin_lock_irqsave(&die_lock, flags); console_verbose(); bust_spinlocks(1); @@ -44,9 +47,12 @@ ret = notify_die(DIE_OOPS, str, regs, 0, regs->cause, SIGSEGV); + if (regs && kexec_should_crash(current)) + crash_kexec(regs); + bust_spinlocks(0); add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE); - spin_unlock_irq(&die_lock); + spin_unlock_irqrestore(&die_lock, flags); oops_exit(); if (in_interrupt()) @@ -206,18 +212,36 @@ * shadow stack, handled_ kernel_ stack_ overflow(in kernel/entry.S) is used * to get per-cpu overflow stack(get_overflow_stack). */ -long shadow_stack[SHADOW_OVERFLOW_STACK_SIZE/sizeof(long)]; +long shadow_stack[SHADOW_OVERFLOW_STACK_SIZE/sizeof(long)] __aligned(16); asmlinkage unsigned long get_overflow_stack(void) { return (unsigned long)this_cpu_ptr(overflow_stack) + OVERFLOW_STACK_SIZE; } +/* + * A pseudo spinlock to protect the shadow stack from being used by multiple + * harts concurrently. This isn't a real spinlock because the lock side must + * be taken without a valid stack and only a single register, it's only taken + * while in the process of panicing anyway so the performance and error + * checking a proper spinlock gives us doesn't matter. + */ +unsigned long spin_shadow_stack; + asmlinkage void handle_bad_stack(struct pt_regs *regs) { unsigned long tsk_stk = (unsigned long)current->stack; unsigned long ovf_stk = (unsigned long)this_cpu_ptr(overflow_stack); + /* + * We're done with the shadow stack by this point, as we're on the + * overflow stack. Tell any other concurrent overflowing harts that + * they can proceed with panicing by releasing the pseudo-spinlock. + * + * This pairs with an amoswap.aq in handle_kernel_stack_overflow. + */ + smp_store_release(&spin_shadow_stack, 0); + console_verbose(); pr_emerg("Insufficient stack space to handle exception!\n"); --- linux-gcp-5.19.0.orig/arch/riscv/kernel/vdso.c +++ linux-gcp-5.19.0/arch/riscv/kernel/vdso.c @@ -60,6 +60,11 @@ struct vm_special_mapping *cm; }; +static struct __vdso_info vdso_info; +#ifdef CONFIG_COMPAT +static struct __vdso_info compat_vdso_info; +#endif + static int vdso_mremap(const struct vm_special_mapping *sm, struct vm_area_struct *new_vma) { @@ -114,15 +119,18 @@ { struct mm_struct *mm = task->mm; struct vm_area_struct *vma; - struct __vdso_info *vdso_info = mm->context.vdso_info; mmap_read_lock(mm); for (vma = mm->mmap; vma; vma = vma->vm_next) { unsigned long size = vma->vm_end - vma->vm_start; - if (vma_is_special_mapping(vma, vdso_info->dm)) + if (vma_is_special_mapping(vma, vdso_info.dm)) zap_page_range(vma, vma->vm_start, size); +#ifdef CONFIG_COMPAT + if (vma_is_special_mapping(vma, compat_vdso_info.dm)) + zap_page_range(vma, vma->vm_start, size); +#endif } mmap_read_unlock(mm); @@ -264,7 +272,6 @@ vdso_base += VVAR_SIZE; mm->context.vdso = (void *)vdso_base; - mm->context.vdso_info = (void *)vdso_info; ret = _install_special_mapping(mm, vdso_base, vdso_text_len, --- linux-gcp-5.19.0.orig/arch/riscv/kernel/vdso/Makefile +++ linux-gcp-5.19.0/arch/riscv/kernel/vdso/Makefile @@ -17,6 +17,7 @@ obj-vdso = $(patsubst %, %.o, $(vdso-syms)) note.o ccflags-y := -fno-stack-protector +ccflags-y += -DDISABLE_BRANCH_PROFILING ifneq ($(c-gettimeofday-y),) CFLAGS_vgettimeofday.o += -fPIC -include $(c-gettimeofday-y) @@ -28,9 +29,12 @@ obj-y += vdso.o CPPFLAGS_vdso.lds += -P -C -U$(ARCH) +ifneq ($(filter vgettimeofday, $(vdso-syms)),) +CPPFLAGS_vdso.lds += -DHAS_VGETTIMEOFDAY +endif # Disable -pg to prevent insert call site -CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) -Os +CFLAGS_REMOVE_vgettimeofday.o = $(CC_FLAGS_FTRACE) # Disable profiling and instrumentation for VDSO code GCOV_PROFILE := n --- linux-gcp-5.19.0.orig/arch/riscv/kernel/vdso/vdso.lds.S +++ linux-gcp-5.19.0/arch/riscv/kernel/vdso/vdso.lds.S @@ -68,9 +68,11 @@ LINUX_4.15 { global: __vdso_rt_sigreturn; +#ifdef HAS_VGETTIMEOFDAY __vdso_gettimeofday; __vdso_clock_gettime; __vdso_clock_getres; +#endif __vdso_getcpu; __vdso_flush_icache; local: *; --- linux-gcp-5.19.0.orig/arch/riscv/kvm/vcpu_sbi.c +++ linux-gcp-5.19.0/arch/riscv/kvm/vcpu_sbi.c @@ -32,23 +32,13 @@ }; } -#ifdef CONFIG_RISCV_SBI_V01 -extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_v01; -#else +#ifndef CONFIG_RISCV_SBI_V01 static const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_v01 = { .extid_start = -1UL, .extid_end = -1UL, .handler = NULL, }; #endif -extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_base; -extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_time; -extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_ipi; -extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_rfence; -extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_srst; -extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_hsm; -extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_experimental; -extern const struct kvm_vcpu_sbi_extension vcpu_sbi_ext_vendor; static const struct kvm_vcpu_sbi_extension *sbi_ext[] = { &vcpu_sbi_ext_v01, --- linux-gcp-5.19.0.orig/arch/riscv/lib/uaccess.S +++ linux-gcp-5.19.0/arch/riscv/lib/uaccess.S @@ -175,7 +175,7 @@ /* Exception fixup code */ 10: /* Disable access to user memory */ - csrs CSR_STATUS, t6 + csrc CSR_STATUS, t6 mv a0, t5 ret ENDPROC(__asm_copy_to_user) @@ -227,7 +227,7 @@ /* Exception fixup code */ 11: /* Disable access to user memory */ - csrs CSR_STATUS, t6 + csrc CSR_STATUS, t6 mv a0, a1 ret ENDPROC(__clear_user) --- linux-gcp-5.19.0.orig/arch/riscv/mm/cacheflush.c +++ linux-gcp-5.19.0/arch/riscv/mm/cacheflush.c @@ -82,7 +82,9 @@ { struct page *page = pte_page(pte); - if (!test_and_set_bit(PG_dcache_clean, &page->flags)) + if (!test_bit(PG_dcache_clean, &page->flags)) { flush_icache_all(); + set_bit(PG_dcache_clean, &page->flags); + } } #endif /* CONFIG_MMU */ --- linux-gcp-5.19.0.orig/arch/riscv/mm/context.c +++ linux-gcp-5.19.0/arch/riscv/mm/context.c @@ -196,6 +196,16 @@ if (need_flush_tlb) local_flush_tlb_all(); +#ifdef CONFIG_SMP + else { + cpumask_t *mask = &mm->context.tlb_stale_mask; + + if (cpumask_test_cpu(cpu, mask)) { + cpumask_clear_cpu(cpu, mask); + local_flush_tlb_all_asid(cntx & asid_mask); + } + } +#endif } static void set_mm_noasid(struct mm_struct *mm) --- linux-gcp-5.19.0.orig/arch/riscv/mm/fault.c +++ linux-gcp-5.19.0/arch/riscv/mm/fault.c @@ -184,7 +184,8 @@ } break; case EXC_LOAD_PAGE_FAULT: - if (!(vma->vm_flags & VM_READ)) { + /* Write implies read */ + if (!(vma->vm_flags & (VM_READ | VM_WRITE))) { return true; } break; @@ -266,10 +267,12 @@ if (user_mode(regs)) flags |= FAULT_FLAG_USER; - if (!user_mode(regs) && addr < TASK_SIZE && - unlikely(!(regs->status & SR_SUM))) - die_kernel_fault("access to user memory without uaccess routines", - addr, regs); + if (!user_mode(regs) && addr < TASK_SIZE && unlikely(!(regs->status & SR_SUM))) { + if (fixup_exception(regs)) + return; + + die_kernel_fault("access to user memory without uaccess routines", addr, regs); + } perf_sw_event(PERF_COUNT_SW_PAGE_FAULTS, 1, regs, addr); --- linux-gcp-5.19.0.orig/arch/riscv/mm/init.c +++ linux-gcp-5.19.0/arch/riscv/mm/init.c @@ -135,6 +135,10 @@ (unsigned long)VMEMMAP_END); print_ml("vmalloc", (unsigned long)VMALLOC_START, (unsigned long)VMALLOC_END); +#ifdef CONFIG_64BIT + print_ml("modules", (unsigned long)MODULES_VADDR, + (unsigned long)MODULES_END); +#endif print_ml("lowmem", (unsigned long)PAGE_OFFSET, (unsigned long)high_memory); if (IS_ENABLED(CONFIG_64BIT)) { @@ -258,7 +262,6 @@ memblock_reserve(dtb_early_pa, fdt_totalsize(dtb_early_va)); } - early_init_fdt_scan_reserved_mem(); dma_contiguous_reserve(dma32_phys_limit); if (IS_ENABLED(CONFIG_64BIT)) hugetlb_cma_reserve(PUD_SHIFT - PAGE_SHIFT); @@ -771,6 +774,10 @@ disable_pgtable_l4(); } + /* UBUNTU: Force disable sv57 and fallback to sv48 */ + if (pgtable_l5_enabled) + disable_pgtable_l5(); + memset(early_pg_dir, 0, PAGE_SIZE); memset(early_p4d, 0, PAGE_SIZE); memset(early_pud, 0, PAGE_SIZE); --- linux-gcp-5.19.0.orig/arch/riscv/mm/kasan_init.c +++ linux-gcp-5.19.0/arch/riscv/mm/kasan_init.c @@ -113,6 +113,8 @@ base_pud = pt_ops.get_pud_virt(pfn_to_phys(_pgd_pfn(*pgd))); } else if (pgd_none(*pgd)) { base_pud = memblock_alloc(PTRS_PER_PUD * sizeof(pud_t), PAGE_SIZE); + memcpy(base_pud, (void *)kasan_early_shadow_pud, + sizeof(pud_t) * PTRS_PER_PUD); } else { base_pud = (pud_t *)pgd_page_vaddr(*pgd); if (base_pud == lm_alias(kasan_early_shadow_pud)) { @@ -173,8 +175,11 @@ base_p4d = pt_ops.get_p4d_virt(pfn_to_phys(_pgd_pfn(*pgd))); } else { base_p4d = (p4d_t *)pgd_page_vaddr(*pgd); - if (base_p4d == lm_alias(kasan_early_shadow_p4d)) + if (base_p4d == lm_alias(kasan_early_shadow_p4d)) { base_p4d = memblock_alloc(PTRS_PER_PUD * sizeof(p4d_t), PAGE_SIZE); + memcpy(base_p4d, (void *)kasan_early_shadow_p4d, + sizeof(p4d_t) * PTRS_PER_P4D); + } } p4dp = base_p4d + p4d_index(vaddr); --- linux-gcp-5.19.0.orig/arch/riscv/mm/pageattr.c +++ linux-gcp-5.19.0/arch/riscv/mm/pageattr.c @@ -118,10 +118,10 @@ if (!numpages) return 0; - mmap_read_lock(&init_mm); + mmap_write_lock(&init_mm); ret = walk_page_range_novma(&init_mm, start, end, &pageattr_ops, NULL, &masks); - mmap_read_unlock(&init_mm); + mmap_write_unlock(&init_mm); flush_tlb_kernel_range(start, end); --- linux-gcp-5.19.0.orig/arch/riscv/mm/physaddr.c +++ linux-gcp-5.19.0/arch/riscv/mm/physaddr.c @@ -22,7 +22,7 @@ phys_addr_t __phys_addr_symbol(unsigned long x) { unsigned long kernel_start = kernel_map.virt_addr; - unsigned long kernel_end = (unsigned long)_end; + unsigned long kernel_end = kernel_start + kernel_map.size; /* * Boundary checking aginst the kernel image mapping. --- linux-gcp-5.19.0.orig/arch/riscv/mm/tlbflush.c +++ linux-gcp-5.19.0/arch/riscv/mm/tlbflush.c @@ -5,23 +5,7 @@ #include #include #include - -static inline void local_flush_tlb_all_asid(unsigned long asid) -{ - __asm__ __volatile__ ("sfence.vma x0, %0" - : - : "r" (asid) - : "memory"); -} - -static inline void local_flush_tlb_page_asid(unsigned long addr, - unsigned long asid) -{ - __asm__ __volatile__ ("sfence.vma %0, %1" - : - : "r" (addr), "r" (asid) - : "memory"); -} +#include void flush_tlb_all(void) { @@ -31,6 +15,7 @@ static void __sbi_tlb_flush_range(struct mm_struct *mm, unsigned long start, unsigned long size, unsigned long stride) { + struct cpumask *pmask = &mm->context.tlb_stale_mask; struct cpumask *cmask = mm_cpumask(mm); unsigned int cpuid; bool broadcast; @@ -44,6 +29,15 @@ if (static_branch_unlikely(&use_asid_allocator)) { unsigned long asid = atomic_long_read(&mm->context.id); + /* + * TLB will be immediately flushed on harts concurrently + * executing this MM context. TLB flush on other harts + * is deferred until this MM context migrates there. + */ + cpumask_setall(pmask); + cpumask_clear_cpu(cpuid, pmask); + cpumask_andnot(pmask, pmask, cmask); + if (broadcast) { sbi_remote_sfence_vma_asid(cmask, start, size, asid); } else if (size <= stride) { --- linux-gcp-5.19.0.orig/arch/riscv/net/bpf_jit_comp64.c +++ linux-gcp-5.19.0/arch/riscv/net/bpf_jit_comp64.c @@ -136,6 +136,25 @@ val < ((1L << 31) - (1L << 11)); } +/* Emit fixed-length instructions for address */ +static int emit_addr(u8 rd, u64 addr, bool extra_pass, struct rv_jit_context *ctx) +{ + u64 ip = (u64)(ctx->insns + ctx->ninsns); + s64 off = addr - ip; + s64 upper = (off + (1 << 11)) >> 12; + s64 lower = off & 0xfff; + + if (extra_pass && !in_auipc_jalr_range(off)) { + pr_err("bpf-jit: target offset 0x%llx is out of range\n", off); + return -ERANGE; + } + + emit(rv_auipc(rd, upper), ctx); + emit(rv_addi(rd, rd, lower), ctx); + return 0; +} + +/* Emit variable-length instructions for 32-bit and 64-bit imm */ static void emit_imm(u8 rd, s64 val, struct rv_jit_context *ctx) { /* Note that the immediate from the add is sign-extended, @@ -1050,7 +1069,15 @@ u64 imm64; imm64 = (u64)insn1.imm << 32 | (u32)imm; - emit_imm(rd, imm64, ctx); + if (bpf_pseudo_func(insn)) { + /* fixed-length insns for extra jit pass */ + ret = emit_addr(rd, imm64, extra_pass, ctx); + if (ret) + return ret; + } else { + emit_imm(rd, imm64, ctx); + } + return 1; } --- linux-gcp-5.19.0.orig/arch/s390/Kconfig +++ linux-gcp-5.19.0/arch/s390/Kconfig @@ -583,8 +583,7 @@ endchoice config RELOCATABLE - bool "Build a relocatable kernel" - default y + def_bool y help This builds a kernel image that retains relocation information so it can be loaded at an arbitrary address. @@ -593,10 +592,11 @@ bootup process. The relocations make the kernel image about 15% larger (compressed 10%), but are discarded at runtime. + Note: this option exists only for documentation purposes, please do + not remove it. config RANDOMIZE_BASE bool "Randomize the address of the kernel image (KASLR)" - depends on RELOCATABLE default y help In support of Kernel Address Space Layout Randomization (KASLR), --- linux-gcp-5.19.0.orig/arch/s390/Makefile +++ linux-gcp-5.19.0/arch/s390/Makefile @@ -14,10 +14,8 @@ KBUILD_CFLAGS_MODULE += -fPIC KBUILD_AFLAGS += -m64 KBUILD_CFLAGS += -m64 -ifeq ($(CONFIG_RELOCATABLE),y) KBUILD_CFLAGS += -fPIE LDFLAGS_vmlinux := -pie -endif aflags_dwarf := -Wa,-gdwarf-2 KBUILD_AFLAGS_DECOMPRESSOR := $(CLANG_FLAGS) -m64 -D__ASSEMBLY__ ifndef CONFIG_AS_IS_LLVM --- linux-gcp-5.19.0.orig/arch/s390/boot/Makefile +++ linux-gcp-5.19.0/arch/s390/boot/Makefile @@ -37,9 +37,8 @@ obj-y := head.o als.o startup.o mem_detect.o ipl_parm.o ipl_report.o obj-y += string.o ebcdic.o sclp_early_core.o mem.o ipl_vmparm.o cmdline.o -obj-y += version.o pgm_check_info.o ctype.o ipl_data.o +obj-y += version.o pgm_check_info.o ctype.o ipl_data.o machine_kexec_reloc.o obj-$(findstring y, $(CONFIG_PROTECTED_VIRTUALIZATION_GUEST) $(CONFIG_PGSTE)) += uv.o -obj-$(CONFIG_RELOCATABLE) += machine_kexec_reloc.o obj-$(CONFIG_RANDOMIZE_BASE) += kaslr.o obj-y += $(if $(CONFIG_KERNEL_UNCOMPRESSED),,decompressor.o) info.o obj-$(CONFIG_KERNEL_ZSTD) += clz_ctz.o --- linux-gcp-5.19.0.orig/arch/s390/boot/decompressor.c +++ linux-gcp-5.19.0/arch/s390/boot/decompressor.c @@ -80,6 +80,6 @@ void *output = (void *)decompress_offset; __decompress(_compressed_start, _compressed_end - _compressed_start, - NULL, NULL, output, 0, NULL, error); + NULL, NULL, output, vmlinux.image_size, NULL, error); return output; } --- linux-gcp-5.19.0.orig/arch/s390/boot/mem_detect.c +++ linux-gcp-5.19.0/arch/s390/boot/mem_detect.c @@ -165,7 +165,7 @@ unsigned long detect_memory(void) { - unsigned long max_physmem_end; + unsigned long max_physmem_end = 0; sclp_early_get_memsize(&max_physmem_end); --- linux-gcp-5.19.0.orig/arch/s390/boot/startup.c +++ linux-gcp-5.19.0/arch/s390/boot/startup.c @@ -283,8 +283,7 @@ clear_bss_section(); copy_bootdata(); - if (IS_ENABLED(CONFIG_RELOCATABLE)) - handle_relocs(__kaslr_offset); + handle_relocs(__kaslr_offset); if (__kaslr_offset) { /* --- linux-gcp-5.19.0.orig/arch/s390/boot/uv.c +++ linux-gcp-5.19.0/arch/s390/boot/uv.c @@ -41,6 +41,10 @@ uv_info.max_num_sec_conf = uvcb.max_num_sec_conf; uv_info.max_guest_cpu_id = uvcb.max_guest_cpu_id; uv_info.uv_feature_indications = uvcb.uv_feature_indications; + uv_info.supp_se_hdr_ver = uvcb.supp_se_hdr_versions; + uv_info.supp_se_hdr_pcf = uvcb.supp_se_hdr_pcf; + uv_info.conf_dump_storage_state_len = uvcb.conf_dump_storage_state_len; + uv_info.conf_dump_finalize_len = uvcb.conf_dump_finalize_len; } #ifdef CONFIG_PROTECTED_VIRTUALIZATION_GUEST --- linux-gcp-5.19.0.orig/arch/s390/boot/vmlinux.lds.S +++ linux-gcp-5.19.0/arch/s390/boot/vmlinux.lds.S @@ -102,8 +102,17 @@ _compressed_start = .; *(.vmlinux.bin.compressed) _compressed_end = .; - FILL(0xff); - . = ALIGN(4096); + } + +#define SB_TRAILER_SIZE 32 + /* Trailer needed for Secure Boot */ + . += SB_TRAILER_SIZE; /* make sure .sb.trailer does not overwrite the previous section */ + . = ALIGN(4096) - SB_TRAILER_SIZE; + .sb.trailer : { + QUAD(0) + QUAD(0) + QUAD(0) + QUAD(0x000000207a49504c) } _end = .; --- linux-gcp-5.19.0.orig/arch/s390/hypfs/hypfs_diag.c +++ linux-gcp-5.19.0/arch/s390/hypfs/hypfs_diag.c @@ -437,7 +437,7 @@ int rc; if (diag204_probe()) { - pr_err("The hardware system does not support hypfs\n"); + pr_info("The hardware system does not support hypfs\n"); return -ENODATA; } --- linux-gcp-5.19.0.orig/arch/s390/hypfs/inode.c +++ linux-gcp-5.19.0/arch/s390/hypfs/inode.c @@ -496,9 +496,9 @@ hypfs_vm_exit(); fail_hypfs_diag_exit: hypfs_diag_exit(); + pr_err("Initialization of hypfs failed with rc=%i\n", rc); fail_dbfs_exit: hypfs_dbfs_exit(); - pr_err("Initialization of hypfs failed with rc=%i\n", rc); return rc; } device_initcall(hypfs_init) --- linux-gcp-5.19.0.orig/arch/s390/include/asm/airq.h +++ linux-gcp-5.19.0/arch/s390/include/asm/airq.h @@ -12,10 +12,11 @@ #include #include +#include struct airq_struct { struct hlist_node list; /* Handler queueing. */ - void (*handler)(struct airq_struct *airq, bool floating); + void (*handler)(struct airq_struct *airq, struct tpi_info *tpi_info); u8 *lsi_ptr; /* Local-Summary-Indicator pointer */ u8 lsi_mask; /* Local-Summary-Indicator mask */ u8 isc; /* Interrupt-subclass */ @@ -46,8 +47,10 @@ #define AIRQ_IV_PTR 4 /* Allocate the ptr array */ #define AIRQ_IV_DATA 8 /* Allocate the data array */ #define AIRQ_IV_CACHELINE 16 /* Cacheline alignment for the vector */ +#define AIRQ_IV_GUESTVEC 32 /* Vector is a pinned guest page */ -struct airq_iv *airq_iv_create(unsigned long bits, unsigned long flags); +struct airq_iv *airq_iv_create(unsigned long bits, unsigned long flags, + unsigned long *vec); void airq_iv_release(struct airq_iv *iv); unsigned long airq_iv_alloc(struct airq_iv *iv, unsigned long num); void airq_iv_free(struct airq_iv *iv, unsigned long bit, unsigned long num); --- linux-gcp-5.19.0.orig/arch/s390/include/asm/ap.h +++ linux-gcp-5.19.0/arch/s390/include/asm/ap.h @@ -239,7 +239,10 @@ union { unsigned long value; struct ap_qirq_ctrl qirqctrl; - struct ap_queue_status status; + struct { + u32 _pad; + struct ap_queue_status status; + }; } reg1; unsigned long reg2 = virt_to_phys(ind); @@ -253,7 +256,7 @@ " lgr %[reg1],1\n" /* gr1 (status) into reg1 */ : [reg1] "+&d" (reg1) : [reg0] "d" (reg0), [reg2] "d" (reg2) - : "cc", "0", "1", "2"); + : "cc", "memory", "0", "1", "2"); return reg1.status; } @@ -290,7 +293,10 @@ unsigned long reg0 = qid | (5UL << 24) | ((ifbit & 0x01) << 22); union { unsigned long value; - struct ap_queue_status status; + struct { + u32 _pad; + struct ap_queue_status status; + }; } reg1; unsigned long reg2; --- linux-gcp-5.19.0.orig/arch/s390/include/asm/cpu_mf.h +++ linux-gcp-5.19.0/arch/s390/include/asm/cpu_mf.h @@ -131,19 +131,21 @@ struct hws_diag_entry diag; /* Diagnostic-sampling data entry */ } __packed; -struct hws_trailer_entry { - union { - struct { - unsigned int f:1; /* 0 - Block Full Indicator */ - unsigned int a:1; /* 1 - Alert request control */ - unsigned int t:1; /* 2 - Timestamp format */ - unsigned int :29; /* 3 - 31: Reserved */ - unsigned int bsdes:16; /* 32-47: size of basic SDE */ - unsigned int dsdes:16; /* 48-63: size of diagnostic SDE */ - }; - unsigned long long flags; /* 0 - 63: All indicators */ +union hws_trailer_header { + struct { + unsigned int f:1; /* 0 - Block Full Indicator */ + unsigned int a:1; /* 1 - Alert request control */ + unsigned int t:1; /* 2 - Timestamp format */ + unsigned int :29; /* 3 - 31: Reserved */ + unsigned int bsdes:16; /* 32-47: size of basic SDE */ + unsigned int dsdes:16; /* 48-63: size of diagnostic SDE */ + unsigned long long overflow; /* 64 - Overflow Count */ }; - unsigned long long overflow; /* 64 - sample Overflow count */ + __uint128_t val; +}; + +struct hws_trailer_entry { + union hws_trailer_header header; /* 0 - 15 Flags + Overflow Count */ unsigned char timestamp[16]; /* 16 - 31 timestamp */ unsigned long long reserved1; /* 32 -Reserved */ unsigned long long reserved2; /* */ @@ -290,14 +292,11 @@ return USEC_PER_SEC * qsi->cpu_speed / rate; } -#define SDB_TE_ALERT_REQ_MASK 0x4000000000000000UL -#define SDB_TE_BUFFER_FULL_MASK 0x8000000000000000UL - /* Return TOD timestamp contained in an trailer entry */ static inline unsigned long long trailer_timestamp(struct hws_trailer_entry *te) { /* TOD in STCKE format */ - if (te->t) + if (te->header.t) return *((unsigned long long *) &te->timestamp[1]); /* TOD in STCK format */ --- linux-gcp-5.19.0.orig/arch/s390/include/asm/debug.h +++ linux-gcp-5.19.0/arch/s390/include/asm/debug.h @@ -4,8 +4,8 @@ * * Copyright IBM Corp. 1999, 2020 */ -#ifndef DEBUG_H -#define DEBUG_H +#ifndef _ASM_S390_DEBUG_H +#define _ASM_S390_DEBUG_H #include #include @@ -487,4 +487,4 @@ #endif /* MODULE */ -#endif /* DEBUG_H */ +#endif /* _ASM_S390_DEBUG_H */ --- linux-gcp-5.19.0.orig/arch/s390/include/asm/futex.h +++ linux-gcp-5.19.0/arch/s390/include/asm/futex.h @@ -17,7 +17,8 @@ "3: jl 1b\n" \ " lhi %0,0\n" \ "4: sacf 768\n" \ - EX_TABLE(0b,4b) EX_TABLE(2b,4b) EX_TABLE(3b,4b) \ + EX_TABLE(0b,4b) EX_TABLE(1b,4b) \ + EX_TABLE(2b,4b) EX_TABLE(3b,4b) \ : "=d" (ret), "=&d" (oldval), "=&d" (newval), \ "=m" (*uaddr) \ : "0" (-EFAULT), "d" (oparg), "a" (uaddr), \ --- linux-gcp-5.19.0.orig/arch/s390/include/asm/gmap.h +++ linux-gcp-5.19.0/arch/s390/include/asm/gmap.h @@ -148,4 +148,6 @@ unsigned long gaddr, unsigned long vmaddr); int gmap_mark_unmergeable(void); void s390_reset_acc(struct mm_struct *mm); +void s390_unlist_old_asce(struct gmap *gmap); +int s390_replace_asce(struct gmap *gmap); #endif /* _ASM_S390_GMAP_H */ --- linux-gcp-5.19.0.orig/arch/s390/include/asm/hugetlb.h +++ linux-gcp-5.19.0/arch/s390/include/asm/hugetlb.h @@ -28,9 +28,11 @@ static inline int prepare_hugepage_range(struct file *file, unsigned long addr, unsigned long len) { - if (len & ~HPAGE_MASK) + struct hstate *h = hstate_file(file); + + if (len & ~huge_page_mask(h)) return -EINVAL; - if (addr & ~HPAGE_MASK) + if (addr & ~huge_page_mask(h)) return -EINVAL; return 0; } --- linux-gcp-5.19.0.orig/arch/s390/include/asm/ipl.h +++ linux-gcp-5.19.0/arch/s390/include/asm/ipl.h @@ -128,6 +128,7 @@ unsigned char flags, unsigned short cert); int ipl_report_add_certificate(struct ipl_report *report, void *key, unsigned long addr, unsigned long len); +bool ipl_get_secureboot(void); /* * DIAG 308 support --- linux-gcp-5.19.0.orig/arch/s390/include/asm/kexec.h +++ linux-gcp-5.19.0/arch/s390/include/asm/kexec.h @@ -92,5 +92,8 @@ const Elf_Shdr *relsec, const Elf_Shdr *symtab); #define arch_kexec_apply_relocations_add arch_kexec_apply_relocations_add + +int arch_kimage_file_post_load_cleanup(struct kimage *image); +#define arch_kimage_file_post_load_cleanup arch_kimage_file_post_load_cleanup #endif #endif /*_S390_KEXEC_H */ --- linux-gcp-5.19.0.orig/arch/s390/include/asm/kvm_host.h +++ linux-gcp-5.19.0/arch/s390/include/asm/kvm_host.h @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -254,7 +255,10 @@ #define ECB2_IEP 0x20 #define ECB2_PFMFI 0x08 #define ECB2_ESCA 0x04 +#define ECB2_ZPCI_LSI 0x02 __u8 ecb2; /* 0x0062 */ +#define ECB3_AISI 0x20 +#define ECB3_AISII 0x10 #define ECB3_DEA 0x08 #define ECB3_AES 0x04 #define ECB3_RI 0x01 @@ -759,6 +763,7 @@ u64 inject_pfault_done; u64 inject_service_signal; u64 inject_virtio; + u64 aen_forward; }; struct kvm_arch_memory_slot { @@ -923,6 +928,7 @@ u64 guest_len; unsigned long stor_base; void *stor_var; + bool dumping; }; struct kvm_arch{ @@ -939,6 +945,7 @@ int use_cmma; int use_pfmfi; int use_skf; + int use_zpci_interp; int user_cpu_state_ctrl; int user_sigp; int user_stsi; @@ -962,6 +969,8 @@ DECLARE_BITMAP(idle_mask, KVM_MAX_VCPUS); struct kvm_s390_gisa_interrupt gisa_int; struct kvm_s390_pv pv; + struct list_head kzdev_list; + spinlock_t kzdev_list_lock; }; #define KVM_HVA_ERR_BAD (-1UL) @@ -1012,4 +1021,14 @@ static inline void kvm_arch_vcpu_blocking(struct kvm_vcpu *vcpu) {} static inline void kvm_arch_vcpu_unblocking(struct kvm_vcpu *vcpu) {} +#define __KVM_HAVE_ARCH_VM_FREE +void kvm_arch_free_vm(struct kvm *kvm); + +struct zpci_kvm_hook { + int (*kvm_register)(void *opaque, struct kvm *kvm); + void (*kvm_unregister)(void *opaque); +}; + +extern struct zpci_kvm_hook zpci_kvm_hook; + #endif --- linux-gcp-5.19.0.orig/arch/s390/include/asm/pci.h +++ linux-gcp-5.19.0/arch/s390/include/asm/pci.h @@ -9,6 +9,7 @@ #include #include #include +#include #include #define PCIBIOS_MIN_IO 0x1000 @@ -97,6 +98,7 @@ }; struct s390_domain; +struct kvm_zdev; #define ZPCI_FUNCTIONS_PER_BUS 256 struct zpci_bus { @@ -123,11 +125,14 @@ enum zpci_state state; u32 fid; /* function ID, used by sclp */ u32 fh; /* function handle, used by insn's */ + u32 gisa; /* GISA designation for passthrough */ u16 vfn; /* virtual function number */ u16 pchid; /* physical channel ID */ + u16 maxstbl; /* Maximum store block size */ u8 pfgid; /* function group ID */ u8 pft; /* pci function type */ u8 port; + u8 dtsm; /* Supported DT mask */ u8 rid_available : 1; u8 has_hp_slot : 1; u8 has_resources : 1; @@ -186,7 +191,10 @@ struct dentry *debugfs_dev; + /* IOMMU and passthrough */ struct s390_domain *s390_domain; /* s390 IOMMU domain data */ + struct kvm_zdev *kzdev; + struct mutex kzdev_lock; }; static inline bool zdev_enabled(struct zpci_dev *zdev) @@ -198,6 +206,9 @@ extern unsigned int s390_pci_force_floating __initdata; extern unsigned int s390_pci_no_rid; +extern union zpci_sic_iib *zpci_aipb; +extern struct airq_iv *zpci_aif_sbv; + /* ----------------------------------------------------------------------------- Prototypes ----------------------------------------------------------------------------- */ --- linux-gcp-5.19.0.orig/arch/s390/include/asm/pci_clp.h +++ linux-gcp-5.19.0/arch/s390/include/asm/pci_clp.h @@ -153,9 +153,11 @@ u8 : 6; u8 frame : 1; u8 refresh : 1; /* TLB refresh mode */ - u16 reserved2; + u16 : 3; + u16 maxstbl : 13; /* Maximum store block size */ u16 mui; - u16 : 16; + u8 dtsm; /* Supported DT mask */ + u8 reserved3; u16 maxfaal; u16 : 4; u16 dnoi : 12; @@ -173,7 +175,8 @@ u16 reserved2; u8 oc; /* operation controls */ u8 ndas; /* number of dma spaces */ - u64 reserved3; + u32 reserved3; + u32 gisa; /* GISA designation */ } __packed; /* Set PCI function response */ --- linux-gcp-5.19.0.orig/arch/s390/include/asm/pci_insn.h +++ linux-gcp-5.19.0/arch/s390/include/asm/pci_insn.h @@ -98,6 +98,15 @@ u32 gd; } __packed __aligned(8); +/* Set Interruption Controls Operation Controls */ +#define SIC_IRQ_MODE_ALL 0 +#define SIC_IRQ_MODE_SINGLE 1 +#define SIC_SET_AENI_CONTROLS 2 +#define SIC_IRQ_MODE_DIRECT 4 +#define SIC_IRQ_MODE_D_ALL 16 +#define SIC_IRQ_MODE_D_SINGLE 17 +#define SIC_IRQ_MODE_SET_CPU 18 + /* directed interruption information block */ struct zpci_diib { u32 : 1; @@ -119,9 +128,20 @@ u64 : 64; } __packed __aligned(8); +/* adapter interruption parameters block */ +struct zpci_aipb { + u64 faisb; + u64 gait; + u16 : 13; + u16 afi : 3; + u32 : 32; + u16 faal; +} __packed __aligned(8); + union zpci_sic_iib { struct zpci_diib diib; struct zpci_cdiib cdiib; + struct zpci_aipb aipb; }; DECLARE_STATIC_KEY_FALSE(have_mio); @@ -134,13 +154,6 @@ int zpci_store(const volatile void __iomem *addr, u64 data, unsigned long len); int __zpci_store_block(const u64 *data, u64 req, u64 offset); void zpci_barrier(void); -int __zpci_set_irq_ctrl(u16 ctl, u8 isc, union zpci_sic_iib *iib); - -static inline int zpci_set_irq_ctrl(u16 ctl, u8 isc) -{ - union zpci_sic_iib iib = {{0}}; - - return __zpci_set_irq_ctrl(ctl, isc, &iib); -} +int zpci_set_irq_ctrl(u16 ctl, u8 isc, union zpci_sic_iib *iib); #endif --- linux-gcp-5.19.0.orig/arch/s390/include/asm/percpu.h +++ linux-gcp-5.19.0/arch/s390/include/asm/percpu.h @@ -31,7 +31,7 @@ pcp_op_T__ *ptr__; \ preempt_disable_notrace(); \ ptr__ = raw_cpu_ptr(&(pcp)); \ - prev__ = *ptr__; \ + prev__ = READ_ONCE(*ptr__); \ do { \ old__ = prev__; \ new__ = old__ op (val); \ --- linux-gcp-5.19.0.orig/arch/s390/include/asm/processor.h +++ linux-gcp-5.19.0/arch/s390/include/asm/processor.h @@ -202,7 +202,16 @@ /* Has task runtime instrumentation enabled ? */ #define is_ri_task(tsk) (!!(tsk)->thread.ri_cb) -register unsigned long current_stack_pointer asm("r15"); +/* avoid using global register due to gcc bug in versions < 8.4 */ +#define current_stack_pointer (__current_stack_pointer()) + +static __always_inline unsigned long __current_stack_pointer(void) +{ + unsigned long sp; + + asm volatile("lgr %0,15" : "=d" (sp)); + return sp; +} static __always_inline unsigned short stap(void) { --- linux-gcp-5.19.0.orig/arch/s390/include/asm/sclp.h +++ linux-gcp-5.19.0/arch/s390/include/asm/sclp.h @@ -88,6 +88,10 @@ unsigned char has_sipl : 1; unsigned char has_dirq : 1; unsigned char has_iplcc : 1; + unsigned char has_zpci_lsi : 1; + unsigned char has_aisii : 1; + unsigned char has_aeni : 1; + unsigned char has_aisi : 1; unsigned int ibc; unsigned int mtid; unsigned int mtid_cp; --- linux-gcp-5.19.0.orig/arch/s390/include/asm/tpi.h +++ linux-gcp-5.19.0/arch/s390/include/asm/tpi.h @@ -19,6 +19,19 @@ u32 :12; } __packed __aligned(4); +/* I/O-Interruption Code as stored by TPI for an Adapter I/O */ +struct tpi_adapter_info { + u32 aism:8; + u32 :22; + u32 error:1; + u32 forward:1; + u32 reserved; + u32 adapter_IO:1; + u32 directed_irq:1; + u32 isc:3; + u32 :27; +} __packed __aligned(4); + #endif /* __ASSEMBLY__ */ #endif /* _ASM_S390_TPI_H */ --- linux-gcp-5.19.0.orig/arch/s390/include/asm/unwind.h +++ linux-gcp-5.19.0/arch/s390/include/asm/unwind.h @@ -47,7 +47,7 @@ static inline unsigned long unwind_recover_ret_addr(struct unwind_state *state, unsigned long ip) { - ip = ftrace_graph_ret_addr(state->task, &state->graph_idx, ip, NULL); + ip = ftrace_graph_ret_addr(state->task, &state->graph_idx, ip, (void *)state->sp); if (is_kretprobe_trampoline(ip)) ip = kretprobe_find_ret_addr(state->task, (void *)state->sp, &state->kr_cur); return ip; --- linux-gcp-5.19.0.orig/arch/s390/include/asm/uv.h +++ linux-gcp-5.19.0/arch/s390/include/asm/uv.h @@ -50,6 +50,10 @@ #define UVC_CMD_SET_UNSHARE_ALL 0x0340 #define UVC_CMD_PIN_PAGE_SHARED 0x0341 #define UVC_CMD_UNPIN_PAGE_SHARED 0x0342 +#define UVC_CMD_DUMP_INIT 0x0400 +#define UVC_CMD_DUMP_CONF_STOR_STATE 0x0401 +#define UVC_CMD_DUMP_CPU 0x0402 +#define UVC_CMD_DUMP_COMPLETE 0x0403 #define UVC_CMD_SET_SHARED_ACCESS 0x1000 #define UVC_CMD_REMOVE_SHARED_ACCESS 0x1001 #define UVC_CMD_RETR_ATTEST 0x1020 @@ -77,6 +81,10 @@ BIT_UVC_CMD_UNSHARE_ALL = 20, BIT_UVC_CMD_PIN_PAGE_SHARED = 21, BIT_UVC_CMD_UNPIN_PAGE_SHARED = 22, + BIT_UVC_CMD_DUMP_INIT = 24, + BIT_UVC_CMD_DUMP_CONFIG_STOR_STATE = 25, + BIT_UVC_CMD_DUMP_CPU = 26, + BIT_UVC_CMD_DUMP_COMPLETE = 27, BIT_UVC_CMD_RETR_ATTEST = 28, }; @@ -110,7 +118,13 @@ u8 reserved88[158 - 136]; /* 0x0088 */ u16 max_guest_cpu_id; /* 0x009e */ u64 uv_feature_indications; /* 0x00a0 */ - u8 reserveda8[200 - 168]; /* 0x00a8 */ + u64 reserveda8; /* 0x00a8 */ + u64 supp_se_hdr_versions; /* 0x00b0 */ + u64 supp_se_hdr_pcf; /* 0x00b8 */ + u64 reservedc0; /* 0x00c0 */ + u64 conf_dump_storage_state_len; /* 0x00c8 */ + u64 conf_dump_finalize_len; /* 0x00d0 */ + u8 reservedd8[256 - 216]; /* 0x00d8 */ } __packed __aligned(8); /* Initialize Ultravisor */ @@ -240,6 +254,31 @@ u64 reserved168[4]; /* 0x0168 */ } __packed __aligned(8); +struct uv_cb_dump_cpu { + struct uv_cb_header header; + u64 reserved08[2]; + u64 cpu_handle; + u64 dump_area_origin; + u64 reserved28[5]; +} __packed __aligned(8); + +struct uv_cb_dump_stor_state { + struct uv_cb_header header; + u64 reserved08[2]; + u64 config_handle; + u64 dump_area_origin; + u64 gaddr; + u64 reserved28[4]; +} __packed __aligned(8); + +struct uv_cb_dump_complete { + struct uv_cb_header header; + u64 reserved08[2]; + u64 config_handle; + u64 dump_area_origin; + u64 reserved30[5]; +} __packed __aligned(8); + static inline int __uv_call(unsigned long r1, unsigned long r2) { int cc; @@ -307,6 +346,10 @@ unsigned int max_num_sec_conf; unsigned short max_guest_cpu_id; unsigned long uv_feature_indications; + unsigned long supp_se_hdr_ver; + unsigned long supp_se_hdr_pcf; + unsigned long conf_dump_storage_state_len; + unsigned long conf_dump_finalize_len; }; extern struct uv_info uv_info; --- linux-gcp-5.19.0.orig/arch/s390/kernel/crash_dump.c +++ linux-gcp-5.19.0/arch/s390/kernel/crash_dump.c @@ -45,7 +45,7 @@ u64 fprs[16]; u32 fpc; u32 prefix; - u64 todpreg; + u32 todpreg; u64 timer; u64 todcmp; u64 vxrs_low[16]; @@ -199,7 +199,7 @@ } else { len = count; } - rc = copy_to_user_real(dst, src, count); + rc = copy_to_user_real(dst, src, len); if (rc) return rc; } --- linux-gcp-5.19.0.orig/arch/s390/kernel/early.c +++ linux-gcp-5.19.0/arch/s390/kernel/early.c @@ -288,7 +288,6 @@ void __init startup_init(void) { - sclp_early_adjust_va(); reset_tod_clock(); check_image_bootable(); time_early_init(); --- linux-gcp-5.19.0.orig/arch/s390/kernel/head64.S +++ linux-gcp-5.19.0/arch/s390/kernel/head64.S @@ -25,6 +25,7 @@ larl %r14,init_task stg %r14,__LC_CURRENT larl %r15,init_thread_union+THREAD_SIZE-STACK_FRAME_OVERHEAD-__PT_SIZE + brasl %r14,sclp_early_adjust_va # allow sclp_early_printk #ifdef CONFIG_KASAN brasl %r14,kasan_early_init #endif --- linux-gcp-5.19.0.orig/arch/s390/kernel/idle.c +++ linux-gcp-5.19.0/arch/s390/kernel/idle.c @@ -44,7 +44,7 @@ S390_lowcore.last_update_timer = idle->timer_idle_exit; } -void arch_cpu_idle(void) +void noinstr arch_cpu_idle(void) { struct s390_idle_data *idle = this_cpu_ptr(&s390_idle); unsigned long idle_time; --- linux-gcp-5.19.0.orig/arch/s390/kernel/ipl.c +++ linux-gcp-5.19.0/arch/s390/kernel/ipl.c @@ -2216,3 +2216,8 @@ } #endif + +bool ipl_get_secureboot(void) +{ + return !!ipl_secure_flag; +} --- linux-gcp-5.19.0.orig/arch/s390/kernel/kprobes.c +++ linux-gcp-5.19.0/arch/s390/kernel/kprobes.c @@ -279,6 +279,7 @@ { __this_cpu_write(current_kprobe, kcb->prev_kprobe.kp); kcb->kprobe_status = kcb->prev_kprobe.status; + kcb->prev_kprobe.kp = NULL; } NOKPROBE_SYMBOL(pop_kprobe); @@ -433,12 +434,11 @@ if (!p) return 0; + resume_execution(p, regs); if (kcb->kprobe_status != KPROBE_REENTER && p->post_handler) { kcb->kprobe_status = KPROBE_HIT_SSDONE; p->post_handler(p, regs, 0); } - - resume_execution(p, regs); pop_kprobe(kcb); preempt_enable_no_resched(); --- linux-gcp-5.19.0.orig/arch/s390/kernel/machine_kexec_file.c +++ linux-gcp-5.19.0/arch/s390/kernel/machine_kexec_file.c @@ -31,6 +31,7 @@ const unsigned long marker_len = sizeof(MODULE_SIG_STRING) - 1; struct module_signature *ms; unsigned long sig_len; + int ret; /* Skip signature verification when not secure IPLed. */ if (!ipl_secure_flag) @@ -65,11 +66,18 @@ return -EBADMSG; } - return verify_pkcs7_signature(kernel, kernel_len, - kernel + kernel_len, sig_len, - VERIFY_USE_PLATFORM_KEYRING, - VERIFYING_MODULE_SIGNATURE, - NULL, NULL); + ret = verify_pkcs7_signature(kernel, kernel_len, + kernel + kernel_len, sig_len, + VERIFY_USE_SECONDARY_KEYRING, + VERIFYING_MODULE_SIGNATURE, + NULL, NULL); + if (ret == -ENOKEY && IS_ENABLED(CONFIG_INTEGRITY_PLATFORM_KEYRING)) + ret = verify_pkcs7_signature(kernel, kernel_len, + kernel + kernel_len, sig_len, + VERIFY_USE_PLATFORM_KEYRING, + VERIFYING_MODULE_SIGNATURE, + NULL, NULL); + return ret; } #endif /* CONFIG_KEXEC_SIG */ @@ -179,8 +187,6 @@ data->memsz = ALIGN(data->memsz, PAGE_SIZE); buf.mem = data->memsz; - if (image->type == KEXEC_TYPE_CRASH) - buf.mem += crashk_res.start; ptr = (void *)ipl_cert_list_addr; end = ptr + ipl_cert_list_size; @@ -217,6 +223,9 @@ data->kernel_buf + offsetof(struct lowcore, ipl_parmblock_ptr); *lc_ipl_parmblock_ptr = (__u32)buf.mem; + if (image->type == KEXEC_TYPE_CRASH) + buf.mem += crashk_res.start; + ret = kexec_add_buffer(&buf); out: return ret; --- linux-gcp-5.19.0.orig/arch/s390/kernel/nmi.c +++ linux-gcp-5.19.0/arch/s390/kernel/nmi.c @@ -63,7 +63,7 @@ * structure. The structure is required for machine check happening * early in the boot process. */ -static struct mcesa boot_mcesa __initdata __aligned(MCESA_MAX_SIZE); +static struct mcesa boot_mcesa __aligned(MCESA_MAX_SIZE); void __init nmi_alloc_mcesa_early(u64 *mcesad) { --- linux-gcp-5.19.0.orig/arch/s390/kernel/perf_cpum_sf.c +++ linux-gcp-5.19.0/arch/s390/kernel/perf_cpum_sf.c @@ -163,14 +163,15 @@ static int alloc_sample_data_block(unsigned long *sdbt, gfp_t gfp_flags) { - unsigned long sdb, *trailer; + struct hws_trailer_entry *te; + unsigned long sdb; /* Allocate and initialize sample-data-block */ sdb = get_zeroed_page(gfp_flags); if (!sdb) return -ENOMEM; - trailer = trailer_entry_ptr(sdb); - *trailer = SDB_TE_ALERT_REQ_MASK; + te = (struct hws_trailer_entry *)trailer_entry_ptr(sdb); + te->header.a = 1; /* Link SDB into the sample-data-block-table */ *sdbt = sdb; @@ -1206,7 +1207,7 @@ "%s: Found unknown" " sampling data entry: te->f %i" " basic.def %#4x (%p)\n", __func__, - te->f, sample->def, sample); + te->header.f, sample->def, sample); /* Sample slot is not yet written or other record. * * This condition can occur if the buffer was reused @@ -1217,7 +1218,7 @@ * that are not full. Stop processing if the first * invalid format was detected. */ - if (!te->f) + if (!te->header.f) break; } @@ -1227,6 +1228,16 @@ } } +static inline __uint128_t __cdsg(__uint128_t *ptr, __uint128_t old, __uint128_t new) +{ + asm volatile( + " cdsg %[old],%[new],%[ptr]\n" + : [old] "+d" (old), [ptr] "+QS" (*ptr) + : [new] "d" (new) + : "memory", "cc"); + return old; +} + /* hw_perf_event_update() - Process sampling buffer * @event: The perf event * @flush_all: Flag to also flush partially filled sample-data-blocks @@ -1243,10 +1254,11 @@ */ static void hw_perf_event_update(struct perf_event *event, int flush_all) { + unsigned long long event_overflow, sampl_overflow, num_sdb; + union hws_trailer_header old, prev, new; struct hw_perf_event *hwc = &event->hw; struct hws_trailer_entry *te; unsigned long *sdbt; - unsigned long long event_overflow, sampl_overflow, num_sdb, te_flags; int done; /* @@ -1266,25 +1278,25 @@ te = (struct hws_trailer_entry *) trailer_entry_ptr(*sdbt); /* Leave loop if no more work to do (block full indicator) */ - if (!te->f) { + if (!te->header.f) { done = 1; if (!flush_all) break; } /* Check the sample overflow count */ - if (te->overflow) + if (te->header.overflow) /* Account sample overflows and, if a particular limit * is reached, extend the sampling buffer. * For details, see sfb_account_overflows(). */ - sampl_overflow += te->overflow; + sampl_overflow += te->header.overflow; /* Timestamps are valid for full sample-data-blocks only */ debug_sprintf_event(sfdbg, 6, "%s: sdbt %#lx " "overflow %llu timestamp %#llx\n", - __func__, (unsigned long)sdbt, te->overflow, - (te->f) ? trailer_timestamp(te) : 0ULL); + __func__, (unsigned long)sdbt, te->header.overflow, + (te->header.f) ? trailer_timestamp(te) : 0ULL); /* Collect all samples from a single sample-data-block and * flag if an (perf) event overflow happened. If so, the PMU @@ -1294,12 +1306,16 @@ num_sdb++; /* Reset trailer (using compare-double-and-swap) */ + /* READ_ONCE() 16 byte header */ + prev.val = __cdsg(&te->header.val, 0, 0); do { - te_flags = te->flags & ~SDB_TE_BUFFER_FULL_MASK; - te_flags |= SDB_TE_ALERT_REQ_MASK; - } while (!cmpxchg_double(&te->flags, &te->overflow, - te->flags, te->overflow, - te_flags, 0ULL)); + old.val = prev.val; + new.val = prev.val; + new.f = 0; + new.a = 1; + new.overflow = 0; + prev.val = __cdsg(&te->header.val, old.val, new.val); + } while (prev.val != old.val); /* Advance to next sample-data-block */ sdbt++; @@ -1384,7 +1400,7 @@ range_scan = AUX_SDB_NUM_ALERT(aux); for (i = 0, idx = aux->head; i < range_scan; i++, idx++) { te = aux_sdb_trailer(aux, idx); - if (!(te->flags & SDB_TE_BUFFER_FULL_MASK)) + if (!te->header.f) break; } /* i is num of SDBs which are full */ @@ -1392,7 +1408,7 @@ /* Remove alert indicators in the buffer */ te = aux_sdb_trailer(aux, aux->alert_mark); - te->flags &= ~SDB_TE_ALERT_REQ_MASK; + te->header.a = 0; debug_sprintf_event(sfdbg, 6, "%s: SDBs %ld range %ld head %ld\n", __func__, i, range_scan, aux->head); @@ -1437,9 +1453,9 @@ idx = aux->empty_mark + 1; for (i = 0; i < range_scan; i++, idx++) { te = aux_sdb_trailer(aux, idx); - te->flags &= ~(SDB_TE_BUFFER_FULL_MASK | - SDB_TE_ALERT_REQ_MASK); - te->overflow = 0; + te->header.f = 0; + te->header.a = 0; + te->header.overflow = 0; } /* Save the position of empty SDBs */ aux->empty_mark = aux->head + range - 1; @@ -1448,7 +1464,7 @@ /* Set alert indicator */ aux->alert_mark = aux->head + range/2 - 1; te = aux_sdb_trailer(aux, aux->alert_mark); - te->flags = te->flags | SDB_TE_ALERT_REQ_MASK; + te->header.a = 1; /* Reset hardware buffer head */ head = AUX_SDB_INDEX(aux, aux->head); @@ -1475,14 +1491,17 @@ static bool aux_set_alert(struct aux_buffer *aux, unsigned long alert_index, unsigned long long *overflow) { - unsigned long long orig_overflow, orig_flags, new_flags; + union hws_trailer_header old, prev, new; struct hws_trailer_entry *te; te = aux_sdb_trailer(aux, alert_index); + /* READ_ONCE() 16 byte header */ + prev.val = __cdsg(&te->header.val, 0, 0); do { - orig_flags = te->flags; - *overflow = orig_overflow = te->overflow; - if (orig_flags & SDB_TE_BUFFER_FULL_MASK) { + old.val = prev.val; + new.val = prev.val; + *overflow = old.overflow; + if (old.f) { /* * SDB is already set by hardware. * Abort and try to set somewhere @@ -1490,10 +1509,10 @@ */ return false; } - new_flags = orig_flags | SDB_TE_ALERT_REQ_MASK; - } while (!cmpxchg_double(&te->flags, &te->overflow, - orig_flags, orig_overflow, - new_flags, 0ULL)); + new.a = 1; + new.overflow = 0; + prev.val = __cdsg(&te->header.val, old.val, new.val); + } while (prev.val != old.val); return true; } @@ -1522,8 +1541,9 @@ static bool aux_reset_buffer(struct aux_buffer *aux, unsigned long range, unsigned long long *overflow) { - unsigned long long orig_overflow, orig_flags, new_flags; unsigned long i, range_scan, idx, idx_old; + union hws_trailer_header old, prev, new; + unsigned long long orig_overflow; struct hws_trailer_entry *te; debug_sprintf_event(sfdbg, 6, "%s: range %ld head %ld alert %ld " @@ -1554,17 +1574,20 @@ idx_old = idx = aux->empty_mark + 1; for (i = 0; i < range_scan; i++, idx++) { te = aux_sdb_trailer(aux, idx); + /* READ_ONCE() 16 byte header */ + prev.val = __cdsg(&te->header.val, 0, 0); do { - orig_flags = te->flags; - orig_overflow = te->overflow; - new_flags = orig_flags & ~SDB_TE_BUFFER_FULL_MASK; + old.val = prev.val; + new.val = prev.val; + orig_overflow = old.overflow; + new.f = 0; + new.overflow = 0; if (idx == aux->alert_mark) - new_flags |= SDB_TE_ALERT_REQ_MASK; + new.a = 1; else - new_flags &= ~SDB_TE_ALERT_REQ_MASK; - } while (!cmpxchg_double(&te->flags, &te->overflow, - orig_flags, orig_overflow, - new_flags, 0ULL)); + new.a = 0; + prev.val = __cdsg(&te->header.val, old.val, new.val); + } while (prev.val != old.val); *overflow += orig_overflow; } --- linux-gcp-5.19.0.orig/arch/s390/kernel/process.c +++ linux-gcp-5.19.0/arch/s390/kernel/process.c @@ -91,6 +91,18 @@ memcpy(dst, src, arch_task_struct_size); dst->thread.fpu.regs = dst->thread.fpu.fprs; + + /* + * Don't transfer over the runtime instrumentation or the guarded + * storage control block pointers. These fields are cleared here instead + * of in copy_thread() to avoid premature freeing of associated memory + * on fork() failure. Wait to clear the RI flag because ->stack still + * refers to the source thread. + */ + dst->thread.ri_cb = NULL; + dst->thread.gs_cb = NULL; + dst->thread.gs_bc_cb = NULL; + return 0; } @@ -150,13 +162,11 @@ frame->childregs.flags = 0; if (new_stackp) frame->childregs.gprs[15] = new_stackp; - - /* Don't copy runtime instrumentation info */ - p->thread.ri_cb = NULL; + /* + * Clear the runtime instrumentation flag after the above childregs + * copy. The CB pointer was already cleared in arch_dup_task_struct(). + */ frame->childregs.psw.mask &= ~PSW_MASK_RI; - /* Don't copy guarded storage control block */ - p->thread.gs_cb = NULL; - p->thread.gs_bc_cb = NULL; /* Set a new TLS ? */ if (clone_flags & CLONE_SETTLS) { --- linux-gcp-5.19.0.orig/arch/s390/kernel/setup.c +++ linux-gcp-5.19.0/arch/s390/kernel/setup.c @@ -51,6 +51,7 @@ #include #include #include +#include #include #include @@ -486,6 +487,7 @@ put_abs_lowcore(restart_data, lc->restart_data); put_abs_lowcore(restart_source, lc->restart_source); put_abs_lowcore(restart_psw, lc->restart_psw); + put_abs_lowcore(mcesad, lc->mcesad); lc->spinlock_lockval = arch_spin_lockval(0); lc->spinlock_index = 0; @@ -970,6 +972,9 @@ log_component_list(); + if (ipl_get_secureboot()) + security_lock_kernel_down("Secure IPL mode", LOCKDOWN_INTEGRITY_MAX); + /* Have one command line that is parsed and saved in /proc/cmdline */ /* boot_command_line has been already set up in early.c */ *cmdline_p = boot_command_line; --- linux-gcp-5.19.0.orig/arch/s390/kernel/uv.c +++ linux-gcp-5.19.0/arch/s390/kernel/uv.c @@ -392,6 +392,54 @@ static struct kobj_attribute uv_query_facilities_attr = __ATTR(facilities, 0444, uv_query_facilities, NULL); +static ssize_t uv_query_supp_se_hdr_ver(struct kobject *kobj, + struct kobj_attribute *attr, char *buf) +{ + return sysfs_emit(buf, "%lx\n", uv_info.supp_se_hdr_ver); +} + +static struct kobj_attribute uv_query_supp_se_hdr_ver_attr = + __ATTR(supp_se_hdr_ver, 0444, uv_query_supp_se_hdr_ver, NULL); + +static ssize_t uv_query_supp_se_hdr_pcf(struct kobject *kobj, + struct kobj_attribute *attr, char *buf) +{ + return sysfs_emit(buf, "%lx\n", uv_info.supp_se_hdr_pcf); +} + +static struct kobj_attribute uv_query_supp_se_hdr_pcf_attr = + __ATTR(supp_se_hdr_pcf, 0444, uv_query_supp_se_hdr_pcf, NULL); + +static ssize_t uv_query_dump_cpu_len(struct kobject *kobj, + struct kobj_attribute *attr, char *page) +{ + return scnprintf(page, PAGE_SIZE, "%lx\n", + uv_info.guest_cpu_stor_len); +} + +static struct kobj_attribute uv_query_dump_cpu_len_attr = + __ATTR(uv_query_dump_cpu_len, 0444, uv_query_dump_cpu_len, NULL); + +static ssize_t uv_query_dump_storage_state_len(struct kobject *kobj, + struct kobj_attribute *attr, char *page) +{ + return scnprintf(page, PAGE_SIZE, "%lx\n", + uv_info.conf_dump_storage_state_len); +} + +static struct kobj_attribute uv_query_dump_storage_state_len_attr = + __ATTR(dump_storage_state_len, 0444, uv_query_dump_storage_state_len, NULL); + +static ssize_t uv_query_dump_finalize_len(struct kobject *kobj, + struct kobj_attribute *attr, char *page) +{ + return scnprintf(page, PAGE_SIZE, "%lx\n", + uv_info.conf_dump_finalize_len); +} + +static struct kobj_attribute uv_query_dump_finalize_len_attr = + __ATTR(dump_finalize_len, 0444, uv_query_dump_finalize_len, NULL); + static ssize_t uv_query_feature_indications(struct kobject *kobj, struct kobj_attribute *attr, char *buf) { @@ -437,6 +485,11 @@ &uv_query_max_guest_cpus_attr.attr, &uv_query_max_guest_vms_attr.attr, &uv_query_max_guest_addr_attr.attr, + &uv_query_supp_se_hdr_ver_attr.attr, + &uv_query_supp_se_hdr_pcf_attr.attr, + &uv_query_dump_storage_state_len_attr.attr, + &uv_query_dump_finalize_len_attr.attr, + &uv_query_dump_cpu_len_attr.attr, NULL, }; --- linux-gcp-5.19.0.orig/arch/s390/kernel/vdso64/Makefile +++ linux-gcp-5.19.0/arch/s390/kernel/vdso64/Makefile @@ -25,7 +25,7 @@ KBUILD_AFLAGS_64 += -m64 -s KBUILD_CFLAGS_64 := $(filter-out -m64,$(KBUILD_CFLAGS)) -KBUILD_CFLAGS_64 += -m64 -fPIC -shared -fno-common -fno-builtin +KBUILD_CFLAGS_64 += -m64 -fPIC -fno-common -fno-builtin ldflags-y := -fPIC -shared -soname=linux-vdso64.so.1 \ --hash-style=both --build-id=sha1 -T --- linux-gcp-5.19.0.orig/arch/s390/kernel/vmlinux.lds.S +++ linux-gcp-5.19.0/arch/s390/kernel/vmlinux.lds.S @@ -79,6 +79,7 @@ _end_amode31_refs = .; } + . = ALIGN(PAGE_SIZE); _edata = .; /* End of data section */ /* will be freed after init */ @@ -131,6 +132,7 @@ /* * Table with the patch locations to undo expolines */ + . = ALIGN(4); .nospec_call_table : { __nospec_call_start = . ; *(.s390_indirect*) @@ -192,6 +194,7 @@ BSS_SECTION(PAGE_SIZE, 4 * PAGE_SIZE, PAGE_SIZE) + . = ALIGN(PAGE_SIZE); _end = . ; /* @@ -223,5 +226,6 @@ DISCARDS /DISCARD/ : { *(.eh_frame) + *(.interp) } } --- linux-gcp-5.19.0.orig/arch/s390/kvm/Makefile +++ linux-gcp-5.19.0/arch/s390/kvm/Makefile @@ -10,4 +10,5 @@ kvm-y += kvm-s390.o intercept.o interrupt.o priv.o sigp.o kvm-y += diag.o gaccess.o guestdbg.o vsie.o pv.o +kvm-$(CONFIG_VFIO_PCI_ZDEV_KVM) += pci.o obj-$(CONFIG_KVM) += kvm.o --- linux-gcp-5.19.0.orig/arch/s390/kvm/gaccess.c +++ linux-gcp-5.19.0/arch/s390/kvm/gaccess.c @@ -489,6 +489,8 @@ PROT_TYPE_ALC = 2, PROT_TYPE_DAT = 3, PROT_TYPE_IEP = 4, + /* Dummy value for passing an initialized value when code != PGM_PROTECTION */ + PROT_NONE, }; static int trans_exc_ending(struct kvm_vcpu *vcpu, int code, unsigned long gva, u8 ar, @@ -504,6 +506,10 @@ switch (code) { case PGM_PROTECTION: switch (prot) { + case PROT_NONE: + /* We should never get here, acts like termination */ + WARN_ON_ONCE(1); + break; case PROT_TYPE_IEP: tec->b61 = 1; fallthrough; @@ -968,8 +974,10 @@ return rc; } else { gpa = kvm_s390_real_to_abs(vcpu, ga); - if (kvm_is_error_gpa(vcpu->kvm, gpa)) + if (kvm_is_error_gpa(vcpu->kvm, gpa)) { rc = PGM_ADDRESSING; + prot = PROT_NONE; + } } if (rc) return trans_exc(vcpu, rc, ga, ar, mode, prot); @@ -1112,8 +1120,6 @@ if (rc == PGM_PROTECTION && try_storage_prot_override) rc = access_guest_page_with_key(vcpu->kvm, mode, gpas[idx], data, fragment_len, PAGE_SPO_ACC); - if (rc == PGM_PROTECTION) - prot = PROT_TYPE_KEYC; if (rc) break; len -= fragment_len; @@ -1123,6 +1129,10 @@ if (rc > 0) { bool terminate = (mode == GACC_STORE) && (idx > 0); + if (rc == PGM_PROTECTION) + prot = PROT_TYPE_KEYC; + else + prot = PROT_NONE; rc = trans_exc_ending(vcpu, rc, ga, ar, mode, prot, terminate); } out_unlock: --- linux-gcp-5.19.0.orig/arch/s390/kvm/intercept.c +++ linux-gcp-5.19.0/arch/s390/kvm/intercept.c @@ -528,12 +528,27 @@ static int handle_pv_notification(struct kvm_vcpu *vcpu) { + int ret; + if (vcpu->arch.sie_block->ipa == 0xb210) return handle_pv_spx(vcpu); if (vcpu->arch.sie_block->ipa == 0xb220) return handle_pv_sclp(vcpu); if (vcpu->arch.sie_block->ipa == 0xb9a4) return handle_pv_uvc(vcpu); + if (vcpu->arch.sie_block->ipa >> 8 == 0xae) { + /* + * Besides external call, other SIGP orders also cause a + * 108 (pv notify) intercept. In contrast to external call, + * these orders need to be emulated and hence the appropriate + * place to handle them is in handle_instruction(). + * So first try kvm_s390_handle_sigp_pei() and if that isn't + * successful, go on with handle_instruction(). + */ + ret = kvm_s390_handle_sigp_pei(vcpu); + if (!ret) + return ret; + } return handle_instruction(vcpu); } --- linux-gcp-5.19.0.orig/arch/s390/kvm/interrupt.c +++ linux-gcp-5.19.0/arch/s390/kvm/interrupt.c @@ -28,9 +28,11 @@ #include #include #include +#include #include "kvm-s390.h" #include "gaccess.h" #include "trace-s390.h" +#include "pci.h" #define PFAULT_INIT 0x0600 #define PFAULT_DONE 0x0680 @@ -81,8 +83,9 @@ struct esca_block *sca = vcpu->kvm->arch.sca; union esca_sigp_ctrl *sigp_ctrl = &(sca->cpu[vcpu->vcpu_id].sigp_ctrl); - union esca_sigp_ctrl new_val = {0}, old_val = *sigp_ctrl; + union esca_sigp_ctrl new_val = {0}, old_val; + old_val = READ_ONCE(*sigp_ctrl); new_val.scn = src_id; new_val.c = 1; old_val.c = 0; @@ -93,8 +96,9 @@ struct bsca_block *sca = vcpu->kvm->arch.sca; union bsca_sigp_ctrl *sigp_ctrl = &(sca->cpu[vcpu->vcpu_id].sigp_ctrl); - union bsca_sigp_ctrl new_val = {0}, old_val = *sigp_ctrl; + union bsca_sigp_ctrl new_val = {0}, old_val; + old_val = READ_ONCE(*sigp_ctrl); new_val.scn = src_id; new_val.c = 1; old_val.c = 0; @@ -124,16 +128,18 @@ struct esca_block *sca = vcpu->kvm->arch.sca; union esca_sigp_ctrl *sigp_ctrl = &(sca->cpu[vcpu->vcpu_id].sigp_ctrl); - union esca_sigp_ctrl old = *sigp_ctrl; + union esca_sigp_ctrl old; + old = READ_ONCE(*sigp_ctrl); expect = old.value; rc = cmpxchg(&sigp_ctrl->value, old.value, 0); } else { struct bsca_block *sca = vcpu->kvm->arch.sca; union bsca_sigp_ctrl *sigp_ctrl = &(sca->cpu[vcpu->vcpu_id].sigp_ctrl); - union bsca_sigp_ctrl old = *sigp_ctrl; + union bsca_sigp_ctrl old; + old = READ_ONCE(*sigp_ctrl); expect = old.value; rc = cmpxchg(&sigp_ctrl->value, old.value, 0); } @@ -3311,10 +3317,87 @@ } EXPORT_SYMBOL_GPL(kvm_s390_gisc_unregister); -static void gib_alert_irq_handler(struct airq_struct *airq, bool floating) +static void aen_host_forward(unsigned long si) { + struct kvm_s390_gisa_interrupt *gi; + struct zpci_gaite *gaite; + struct kvm *kvm; + + gaite = (struct zpci_gaite *)aift->gait + + (si * sizeof(struct zpci_gaite)); + if (gaite->count == 0) + return; + if (gaite->aisb != 0) + set_bit_inv(gaite->aisbo, (unsigned long *)gaite->aisb); + + kvm = kvm_s390_pci_si_to_kvm(aift, si); + if (!kvm) + return; + gi = &kvm->arch.gisa_int; + + if (!(gi->origin->g1.simm & AIS_MODE_MASK(gaite->gisc)) || + !(gi->origin->g1.nimm & AIS_MODE_MASK(gaite->gisc))) { + gisa_set_ipm_gisc(gi->origin, gaite->gisc); + if (hrtimer_active(&gi->timer)) + hrtimer_cancel(&gi->timer); + hrtimer_start(&gi->timer, 0, HRTIMER_MODE_REL); + kvm->stat.aen_forward++; + } +} + +static void aen_process_gait(u8 isc) +{ + bool found = false, first = true; + union zpci_sic_iib iib = {{0}}; + unsigned long si, flags; + + spin_lock_irqsave(&aift->gait_lock, flags); + + if (!aift->gait) { + spin_unlock_irqrestore(&aift->gait_lock, flags); + return; + } + + for (si = 0;;) { + /* Scan adapter summary indicator bit vector */ + si = airq_iv_scan(aift->sbv, si, airq_iv_end(aift->sbv)); + if (si == -1UL) { + if (first || found) { + /* Re-enable interrupts. */ + zpci_set_irq_ctrl(SIC_IRQ_MODE_SINGLE, isc, + &iib); + first = found = false; + } else { + /* Interrupts on and all bits processed */ + break; + } + found = false; + si = 0; + /* Scan again after re-enabling interrupts */ + continue; + } + found = true; + aen_host_forward(si); + } + + spin_unlock_irqrestore(&aift->gait_lock, flags); +} + +static void gib_alert_irq_handler(struct airq_struct *airq, + struct tpi_info *tpi_info) +{ + struct tpi_adapter_info *info = (struct tpi_adapter_info *)tpi_info; + inc_irq_stat(IRQIO_GAL); - process_gib_alert_list(); + + if ((info->forward || info->error) && + IS_ENABLED(CONFIG_VFIO_PCI_ZDEV_KVM)) { + aen_process_gait(info->isc); + if (info->aism != 0) + process_gib_alert_list(); + } else { + process_gib_alert_list(); + } } static struct airq_struct gib_alert_irq = { @@ -3326,6 +3409,11 @@ { if (!gib) return; + if (kvm_s390_pci_interp_allowed() && aift) { + mutex_lock(&aift->aift_lock); + kvm_s390_pci_aen_exit(); + mutex_unlock(&aift->aift_lock); + } chsc_sgib(0); unregister_adapter_interrupt(&gib_alert_irq); free_page((unsigned long)gib); @@ -3363,6 +3451,14 @@ goto out_unreg_gal; } + if (kvm_s390_pci_interp_allowed()) { + if (kvm_s390_pci_aen_init(nisc)) { + pr_err("Initializing AEN for PCI failed\n"); + rc = -EIO; + goto out_unreg_gal; + } + } + KVM_EVENT(3, "gib 0x%pK (nisc=%d) initialized", gib, gib->nisc); goto out; --- linux-gcp-5.19.0.orig/arch/s390/kvm/kvm-s390.c +++ linux-gcp-5.19.0/arch/s390/kvm/kvm-s390.c @@ -47,6 +47,7 @@ #include #include "kvm-s390.h" #include "gaccess.h" +#include "pci.h" #define CREATE_TRACE_POINTS #include "trace.h" @@ -63,7 +64,8 @@ STATS_DESC_COUNTER(VM, inject_float_mchk), STATS_DESC_COUNTER(VM, inject_pfault_done), STATS_DESC_COUNTER(VM, inject_service_signal), - STATS_DESC_COUNTER(VM, inject_virtio) + STATS_DESC_COUNTER(VM, inject_virtio), + STATS_DESC_COUNTER(VM, aen_forward) }; const struct kvm_stats_header kvm_vm_stats_header = { @@ -502,6 +504,14 @@ goto out; } + if (kvm_s390_pci_interp_allowed()) { + rc = kvm_s390_pci_init(); + if (rc) { + pr_err("Unable to allocate AIFT for PCI\n"); + goto out; + } + } + rc = kvm_s390_gib_init(GAL_ISC); if (rc) goto out; @@ -516,6 +526,8 @@ void kvm_arch_exit(void) { kvm_s390_gib_destroy(); + if (kvm_s390_pci_interp_allowed()) + kvm_s390_pci_exit(); debug_unregister(kvm_s390_dbf); debug_unregister(kvm_s390_dbf_uv); } @@ -606,6 +618,29 @@ case KVM_CAP_S390_PROTECTED: r = is_prot_virt_host(); break; + case KVM_CAP_S390_ZPCI_OP: + r = kvm_s390_pci_interp_allowed(); + break; + case KVM_CAP_S390_PROTECTED_DUMP: { + u64 pv_cmds_dump[] = { + BIT_UVC_CMD_DUMP_INIT, + BIT_UVC_CMD_DUMP_CONFIG_STOR_STATE, + BIT_UVC_CMD_DUMP_CPU, + BIT_UVC_CMD_DUMP_COMPLETE, + }; + int i; + + r = is_prot_virt_host(); + + for (i = 0; i < ARRAY_SIZE(pv_cmds_dump); i++) { + if (!test_bit_inv(pv_cmds_dump[i], + (unsigned long *)&uv_info.inst_calls_list)) { + r = 0; + break; + } + } + break; + } default: r = 0; } @@ -1019,6 +1054,42 @@ return 0; } +static void kvm_s390_vcpu_pci_setup(struct kvm_vcpu *vcpu) +{ + /* Only set the ECB bits after guest requests zPCI interpretation */ + if (!vcpu->kvm->arch.use_zpci_interp) + return; + + vcpu->arch.sie_block->ecb2 |= ECB2_ZPCI_LSI; + vcpu->arch.sie_block->ecb3 |= ECB3_AISII + ECB3_AISI; +} + +void kvm_s390_vcpu_pci_enable_interp(struct kvm *kvm) +{ + struct kvm_vcpu *vcpu; + unsigned long i; + + lockdep_assert_held(&kvm->lock); + + if (!kvm_s390_pci_interp_allowed()) + return; + + /* + * If host is configured for PCI and the necessary facilities are + * available, turn on interpretation for the life of this guest + */ + kvm->arch.use_zpci_interp = 1; + + kvm_s390_vcpu_block_all(kvm); + + kvm_for_each_vcpu(i, vcpu, kvm) { + kvm_s390_vcpu_pci_setup(vcpu); + kvm_s390_sync_request(KVM_REQ_VSIE_RESTART, vcpu); + } + + kvm_s390_vcpu_unblock_all(kvm); +} + static void kvm_s390_sync_request_broadcast(struct kvm *kvm, int req) { unsigned long cx; @@ -1118,6 +1189,8 @@ return 0; } +static void __kvm_s390_set_tod_clock(struct kvm *kvm, const struct kvm_s390_vm_tod_clock *gtod); + static int kvm_s390_set_tod_ext(struct kvm *kvm, struct kvm_device_attr *attr) { struct kvm_s390_vm_tod_clock gtod; @@ -1127,7 +1200,7 @@ if (!test_kvm_facility(kvm, 139) && gtod.epoch_idx) return -EINVAL; - kvm_s390_set_tod_clock(kvm, >od); + __kvm_s390_set_tod_clock(kvm, >od); VM_EVENT(kvm, 3, "SET: TOD extension: 0x%x, TOD base: 0x%llx", gtod.epoch_idx, gtod.tod); @@ -1158,7 +1231,7 @@ sizeof(gtod.tod))) return -EFAULT; - kvm_s390_set_tod_clock(kvm, >od); + __kvm_s390_set_tod_clock(kvm, >od); VM_EVENT(kvm, 3, "SET: TOD base: 0x%llx", gtod.tod); return 0; } @@ -1170,6 +1243,16 @@ if (attr->flags) return -EINVAL; + mutex_lock(&kvm->lock); + /* + * For protected guests, the TOD is managed by the ultravisor, so trying + * to change it will never bring the expected results. + */ + if (kvm_s390_pv_is_protected(kvm)) { + ret = -EOPNOTSUPP; + goto out_unlock; + } + switch (attr->attr) { case KVM_S390_VM_TOD_EXT: ret = kvm_s390_set_tod_ext(kvm, attr); @@ -1184,6 +1267,9 @@ ret = -ENXIO; break; } + +out_unlock: + mutex_unlock(&kvm->lock); return ret; } @@ -2220,6 +2306,115 @@ return r; } +/* + * Here we provide user space with a direct interface to query UV + * related data like UV maxima and available features as well as + * feature specific data. + * + * To facilitate future extension of the data structures we'll try to + * write data up to the maximum requested length. + */ +static ssize_t kvm_s390_handle_pv_info(struct kvm_s390_pv_info *info) +{ + ssize_t len_min; + + switch (info->header.id) { + case KVM_PV_INFO_VM: { + len_min = sizeof(info->header) + sizeof(info->vm); + + if (info->header.len_max < len_min) + return -EINVAL; + + memcpy(info->vm.inst_calls_list, + uv_info.inst_calls_list, + sizeof(uv_info.inst_calls_list)); + + /* It's max cpuid not max cpus, so it's off by one */ + info->vm.max_cpus = uv_info.max_guest_cpu_id + 1; + info->vm.max_guests = uv_info.max_num_sec_conf; + info->vm.max_guest_addr = uv_info.max_sec_stor_addr; + info->vm.feature_indication = uv_info.uv_feature_indications; + + return len_min; + } + case KVM_PV_INFO_DUMP: { + len_min = sizeof(info->header) + sizeof(info->dump); + + if (info->header.len_max < len_min) + return -EINVAL; + + info->dump.dump_cpu_buffer_len = uv_info.guest_cpu_stor_len; + info->dump.dump_config_mem_buffer_per_1m = uv_info.conf_dump_storage_state_len; + info->dump.dump_config_finalize_len = uv_info.conf_dump_finalize_len; + return len_min; + } + default: + return -EINVAL; + } +} + +static int kvm_s390_pv_dmp(struct kvm *kvm, struct kvm_pv_cmd *cmd, + struct kvm_s390_pv_dmp dmp) +{ + int r = -EINVAL; + void __user *result_buff = (void __user *)dmp.buff_addr; + + switch (dmp.subcmd) { + case KVM_PV_DUMP_INIT: { + if (kvm->arch.pv.dumping) + break; + + /* + * Block SIE entry as concurrent dump UVCs could lead + * to validities. + */ + kvm_s390_vcpu_block_all(kvm); + + r = uv_cmd_nodata(kvm_s390_pv_get_handle(kvm), + UVC_CMD_DUMP_INIT, &cmd->rc, &cmd->rrc); + KVM_UV_EVENT(kvm, 3, "PROTVIRT DUMP INIT: rc %x rrc %x", + cmd->rc, cmd->rrc); + if (!r) { + kvm->arch.pv.dumping = true; + } else { + kvm_s390_vcpu_unblock_all(kvm); + r = -EINVAL; + } + break; + } + case KVM_PV_DUMP_CONFIG_STOR_STATE: { + if (!kvm->arch.pv.dumping) + break; + + /* + * gaddr is an output parameter since we might stop + * early. As dmp will be copied back in our caller, we + * don't need to do it ourselves. + */ + r = kvm_s390_pv_dump_stor_state(kvm, result_buff, &dmp.gaddr, dmp.buff_len, + &cmd->rc, &cmd->rrc); + break; + } + case KVM_PV_DUMP_COMPLETE: { + if (!kvm->arch.pv.dumping) + break; + + r = -EINVAL; + if (dmp.buff_len < uv_info.conf_dump_finalize_len) + break; + + r = kvm_s390_pv_dump_complete(kvm, result_buff, + &cmd->rc, &cmd->rrc); + break; + } + default: + r = -ENOTTY; + break; + } + + return r; +} + static int kvm_s390_handle_pv(struct kvm *kvm, struct kvm_pv_cmd *cmd) { int r = 0; @@ -2356,6 +2551,68 @@ cmd->rc, cmd->rrc); break; } + case KVM_PV_INFO: { + struct kvm_s390_pv_info info = {}; + ssize_t data_len; + + /* + * No need to check the VM protection here. + * + * Maybe user space wants to query some of the data + * when the VM is still unprotected. If we see the + * need to fence a new data command we can still + * return an error in the info handler. + */ + + r = -EFAULT; + if (copy_from_user(&info, argp, sizeof(info.header))) + break; + + r = -EINVAL; + if (info.header.len_max < sizeof(info.header)) + break; + + data_len = kvm_s390_handle_pv_info(&info); + if (data_len < 0) { + r = data_len; + break; + } + /* + * If a data command struct is extended (multiple + * times) this can be used to determine how much of it + * is valid. + */ + info.header.len_written = data_len; + + r = -EFAULT; + if (copy_to_user(argp, &info, data_len)) + break; + + r = 0; + break; + } + case KVM_PV_DUMP: { + struct kvm_s390_pv_dmp dmp; + + r = -EINVAL; + if (!kvm_s390_pv_is_protected(kvm)) + break; + + r = -EFAULT; + if (copy_from_user(&dmp, argp, sizeof(dmp))) + break; + + r = kvm_s390_pv_dmp(kvm, cmd, dmp); + if (r) + break; + + if (copy_to_user(argp, &dmp, sizeof(dmp))) { + r = -EFAULT; + break; + } + + break; + } default: r = -ENOTTY; } @@ -2581,6 +2838,19 @@ r = -EFAULT; break; } + case KVM_S390_ZPCI_OP: { + struct kvm_s390_zpci_op args; + + r = -EINVAL; + if (!IS_ENABLED(CONFIG_VFIO_PCI_ZDEV_KVM)) + break; + if (copy_from_user(&args, argp, sizeof(args))) { + r = -EFAULT; + break; + } + r = kvm_s390_pci_zpci_op(kvm, &args); + break; + } default: r = -ENOTTY; } @@ -2742,6 +3012,14 @@ kvm->arch.sca = NULL; } +void kvm_arch_free_vm(struct kvm *kvm) +{ + if (IS_ENABLED(CONFIG_VFIO_PCI_ZDEV_KVM)) + kvm_s390_pci_clear_list(kvm); + + __kvm_arch_free_vm(kvm); +} + int kvm_arch_init_vm(struct kvm *kvm, unsigned long type) { gfp_t alloc_flags = GFP_KERNEL_ACCOUNT; @@ -2824,6 +3102,13 @@ kvm_s390_crypto_init(kvm); + if (IS_ENABLED(CONFIG_VFIO_PCI_ZDEV_KVM)) { + mutex_lock(&kvm->lock); + kvm_s390_pci_init_list(kvm); + kvm_s390_vcpu_pci_enable_interp(kvm); + mutex_unlock(&kvm->lock); + } + mutex_init(&kvm->arch.float_int.ais_lock); spin_lock_init(&kvm->arch.float_int.lock); for (i = 0; i < FIRQ_LIST_COUNT; i++) @@ -3324,6 +3609,8 @@ kvm_s390_vcpu_crypto_setup(vcpu); + kvm_s390_vcpu_pci_setup(vcpu); + mutex_lock(&vcpu->kvm->lock); if (kvm_s390_pv_is_protected(vcpu->kvm)) { rc = kvm_s390_pv_create_cpu(vcpu, &uvrc, &uvrrc); @@ -3993,13 +4280,6 @@ preempt_enable(); } -void kvm_s390_set_tod_clock(struct kvm *kvm, const struct kvm_s390_vm_tod_clock *gtod) -{ - mutex_lock(&kvm->lock); - __kvm_s390_set_tod_clock(kvm, gtod); - mutex_unlock(&kvm->lock); -} - int kvm_s390_try_set_tod_clock(struct kvm *kvm, const struct kvm_s390_vm_tod_clock *gtod) { if (!mutex_trylock(&kvm->lock)) @@ -4473,6 +4753,15 @@ struct kvm_run *kvm_run = vcpu->run; int rc; + /* + * Running a VM while dumping always has the potential to + * produce inconsistent dump data. But for PV vcpus a SIE + * entry while dumping could also lead to a fatal validity + * intercept which we absolutely want to avoid. + */ + if (vcpu->kvm->arch.pv.dumping) + return -EINVAL; + if (kvm_run->immediate_exit) return -EINTR; @@ -4912,6 +5201,48 @@ return -ENOIOCTLCMD; } +static int kvm_s390_handle_pv_vcpu_dump(struct kvm_vcpu *vcpu, + struct kvm_pv_cmd *cmd) +{ + struct kvm_s390_pv_dmp dmp; + void *data; + int ret; + + /* Dump initialization is a prerequisite */ + if (!vcpu->kvm->arch.pv.dumping) + return -EINVAL; + + if (copy_from_user(&dmp, (__u8 __user *)cmd->data, sizeof(dmp))) + return -EFAULT; + + /* We only handle this subcmd right now */ + if (dmp.subcmd != KVM_PV_DUMP_CPU) + return -EINVAL; + + /* CPU dump length is the same as create cpu storage donation. */ + if (dmp.buff_len != uv_info.guest_cpu_stor_len) + return -EINVAL; + + data = kvzalloc(uv_info.guest_cpu_stor_len, GFP_KERNEL); + if (!data) + return -ENOMEM; + + ret = kvm_s390_pv_dump_cpu(vcpu, data, &cmd->rc, &cmd->rrc); + + VCPU_EVENT(vcpu, 3, "PROTVIRT DUMP CPU %d rc %x rrc %x", + vcpu->vcpu_id, cmd->rc, cmd->rrc); + + if (ret) + ret = -EINVAL; + + /* On success copy over the dump data */ + if (!ret && copy_to_user((__u8 __user *)dmp.buff_addr, data, uv_info.guest_cpu_stor_len)) + ret = -EFAULT; + + kvfree(data); + return ret; +} + long kvm_arch_vcpu_ioctl(struct file *filp, unsigned int ioctl, unsigned long arg) { @@ -5076,6 +5407,33 @@ irq_state.len); break; } + case KVM_S390_PV_CPU_COMMAND: { + struct kvm_pv_cmd cmd; + + r = -EINVAL; + if (!is_prot_virt_host()) + break; + + r = -EFAULT; + if (copy_from_user(&cmd, argp, sizeof(cmd))) + break; + + r = -EINVAL; + if (cmd.flags) + break; + + /* We only handle this cmd right now */ + if (cmd.cmd != KVM_PV_DUMP) + break; + + r = kvm_s390_handle_pv_vcpu_dump(vcpu, &cmd); + + /* Always copy over UV rc / rrc data */ + if (copy_to_user((__u8 __user *)argp, &cmd.rc, + sizeof(cmd.rc) + sizeof(cmd.rrc))) + r = -EFAULT; + break; + } default: r = -ENOTTY; } @@ -5109,23 +5467,40 @@ if (kvm_s390_pv_get_handle(kvm)) return -EINVAL; - if (change == KVM_MR_DELETE || change == KVM_MR_FLAGS_ONLY) - return 0; + if (change != KVM_MR_DELETE && change != KVM_MR_FLAGS_ONLY) { + /* + * A few sanity checks. We can have memory slots which have to be + * located/ended at a segment boundary (1MB). The memory in userland is + * ok to be fragmented into various different vmas. It is okay to mmap() + * and munmap() stuff in this slot after doing this call at any time + */ - /* A few sanity checks. We can have memory slots which have to be - located/ended at a segment boundary (1MB). The memory in userland is - ok to be fragmented into various different vmas. It is okay to mmap() - and munmap() stuff in this slot after doing this call at any time */ + if (new->userspace_addr & 0xffffful) + return -EINVAL; - if (new->userspace_addr & 0xffffful) - return -EINVAL; + size = new->npages * PAGE_SIZE; + if (size & 0xffffful) + return -EINVAL; - size = new->npages * PAGE_SIZE; - if (size & 0xffffful) - return -EINVAL; + if ((new->base_gfn * PAGE_SIZE) + size > kvm->arch.mem_limit) + return -EINVAL; + } - if ((new->base_gfn * PAGE_SIZE) + size > kvm->arch.mem_limit) - return -EINVAL; + if (!kvm->arch.migration_mode) + return 0; + + /* + * Turn off migration mode when: + * - userspace creates a new memslot with dirty logging off, + * - userspace modifies an existing memslot (MOVE or FLAGS_ONLY) and + * dirty logging is turned off. + * Migration mode expects dirty page logging being enabled to store + * its dirty bitmap. + */ + if (change != KVM_MR_DELETE && + !(new->flags & KVM_MEM_LOG_DIRTY_PAGES)) + WARN(kvm_s390_vm_stop_migration(kvm), + "Failed to stop migration mode"); return 0; } --- linux-gcp-5.19.0.orig/arch/s390/kvm/kvm-s390.h +++ linux-gcp-5.19.0/arch/s390/kvm/kvm-s390.h @@ -250,6 +250,11 @@ int kvm_s390_pv_unpack(struct kvm *kvm, unsigned long addr, unsigned long size, unsigned long tweak, u16 *rc, u16 *rrc); int kvm_s390_pv_set_cpu_state(struct kvm_vcpu *vcpu, u8 state); +int kvm_s390_pv_dump_cpu(struct kvm_vcpu *vcpu, void *buff, u16 *rc, u16 *rrc); +int kvm_s390_pv_dump_stor_state(struct kvm *kvm, void __user *buff_user, + u64 *gaddr, u64 buff_user_len, u16 *rc, u16 *rrc); +int kvm_s390_pv_dump_complete(struct kvm *kvm, void __user *buff_user, + u16 *rc, u16 *rrc); static inline u64 kvm_s390_pv_get_handle(struct kvm *kvm) { @@ -358,7 +363,6 @@ int kvm_s390_handle_sigp_pei(struct kvm_vcpu *vcpu); /* implemented in kvm-s390.c */ -void kvm_s390_set_tod_clock(struct kvm *kvm, const struct kvm_s390_vm_tod_clock *gtod); int kvm_s390_try_set_tod_clock(struct kvm *kvm, const struct kvm_s390_vm_tod_clock *gtod); long kvm_arch_fault_in_page(struct kvm_vcpu *vcpu, gpa_t gpa, int writable); int kvm_s390_store_status_unloaded(struct kvm_vcpu *vcpu, unsigned long addr); @@ -508,6 +512,16 @@ void kvm_s390_vcpu_crypto_reset_all(struct kvm *kvm); /** + * kvm_s390_vcpu_pci_enable_interp + * + * Set the associated PCI attributes for each vcpu to allow for zPCI Load/Store + * interpretation as well as adapter interruption forwarding. + * + * @kvm: the KVM guest + */ +void kvm_s390_vcpu_pci_enable_interp(struct kvm *kvm); + +/** * diag9c_forwarding_hz * * Set the maximum number of diag9c forwarding per second --- linux-gcp-5.19.0.orig/arch/s390/kvm/pci.c +++ linux-gcp-5.19.0/arch/s390/kvm/pci.c @@ -0,0 +1,694 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * s390 kvm PCI passthrough support + * + * Copyright IBM Corp. 2022 + * + * Author(s): Matthew Rosato + */ + +#include +#include +#include +#include +#include +#include +#include "pci.h" +#include "kvm-s390.h" + +struct zpci_aift *aift; + +static inline int __set_irq_noiib(u16 ctl, u8 isc) +{ + union zpci_sic_iib iib = {{0}}; + + return zpci_set_irq_ctrl(ctl, isc, &iib); +} + +void kvm_s390_pci_aen_exit(void) +{ + unsigned long flags; + struct kvm_zdev **gait_kzdev; + + lockdep_assert_held(&aift->aift_lock); + + /* + * Contents of the aipb remain registered for the life of the host + * kernel, the information preserved in zpci_aipb and zpci_aif_sbv + * in case we insert the KVM module again later. Clear the AIFT + * information and free anything not registered with underlying + * firmware. + */ + spin_lock_irqsave(&aift->gait_lock, flags); + gait_kzdev = aift->kzdev; + aift->gait = NULL; + aift->sbv = NULL; + aift->kzdev = NULL; + spin_unlock_irqrestore(&aift->gait_lock, flags); + + kfree(gait_kzdev); +} + +static int zpci_setup_aipb(u8 nisc) +{ + struct page *page; + int size, rc; + + zpci_aipb = kzalloc(sizeof(union zpci_sic_iib), GFP_KERNEL); + if (!zpci_aipb) + return -ENOMEM; + + aift->sbv = airq_iv_create(ZPCI_NR_DEVICES, AIRQ_IV_ALLOC, 0); + if (!aift->sbv) { + rc = -ENOMEM; + goto free_aipb; + } + zpci_aif_sbv = aift->sbv; + size = get_order(PAGE_ALIGN(ZPCI_NR_DEVICES * + sizeof(struct zpci_gaite))); + page = alloc_pages(GFP_KERNEL | __GFP_ZERO, size); + if (!page) { + rc = -ENOMEM; + goto free_sbv; + } + aift->gait = (struct zpci_gaite *)page_to_phys(page); + + zpci_aipb->aipb.faisb = virt_to_phys(aift->sbv->vector); + zpci_aipb->aipb.gait = virt_to_phys(aift->gait); + zpci_aipb->aipb.afi = nisc; + zpci_aipb->aipb.faal = ZPCI_NR_DEVICES; + + /* Setup Adapter Event Notification Interpretation */ + if (zpci_set_irq_ctrl(SIC_SET_AENI_CONTROLS, 0, zpci_aipb)) { + rc = -EIO; + goto free_gait; + } + + return 0; + +free_gait: + free_pages((unsigned long)aift->gait, size); +free_sbv: + airq_iv_release(aift->sbv); + zpci_aif_sbv = NULL; +free_aipb: + kfree(zpci_aipb); + zpci_aipb = NULL; + + return rc; +} + +static int zpci_reset_aipb(u8 nisc) +{ + /* + * AEN registration can only happen once per system boot. If + * an aipb already exists then AEN was already registered and + * we can re-use the aipb contents. This can only happen if + * the KVM module was removed and re-inserted. However, we must + * ensure that the same forwarding ISC is used as this is assigned + * during KVM module load. + */ + if (zpci_aipb->aipb.afi != nisc) + return -EINVAL; + + aift->sbv = zpci_aif_sbv; + aift->gait = (struct zpci_gaite *)zpci_aipb->aipb.gait; + + return 0; +} + +int kvm_s390_pci_aen_init(u8 nisc) +{ + int rc = 0; + + /* If already enabled for AEN, bail out now */ + if (aift->gait || aift->sbv) + return -EPERM; + + mutex_lock(&aift->aift_lock); + aift->kzdev = kcalloc(ZPCI_NR_DEVICES, sizeof(struct kvm_zdev *), + GFP_KERNEL); + if (!aift->kzdev) { + rc = -ENOMEM; + goto unlock; + } + + if (!zpci_aipb) + rc = zpci_setup_aipb(nisc); + else + rc = zpci_reset_aipb(nisc); + if (rc) + goto free_zdev; + + /* Enable floating IRQs */ + if (__set_irq_noiib(SIC_IRQ_MODE_SINGLE, nisc)) { + rc = -EIO; + kvm_s390_pci_aen_exit(); + } + + goto unlock; + +free_zdev: + kfree(aift->kzdev); +unlock: + mutex_unlock(&aift->aift_lock); + return rc; +} + +/* Modify PCI: Register floating adapter interruption forwarding */ +static int kvm_zpci_set_airq(struct zpci_dev *zdev) +{ + u64 req = ZPCI_CREATE_REQ(zdev->fh, 0, ZPCI_MOD_FC_REG_INT); + struct zpci_fib fib = {}; + u8 status; + + fib.fmt0.isc = zdev->kzdev->fib.fmt0.isc; + fib.fmt0.sum = 1; /* enable summary notifications */ + fib.fmt0.noi = airq_iv_end(zdev->aibv); + fib.fmt0.aibv = virt_to_phys(zdev->aibv->vector); + fib.fmt0.aibvo = 0; + fib.fmt0.aisb = virt_to_phys(aift->sbv->vector + (zdev->aisb / 64) * 8); + fib.fmt0.aisbo = zdev->aisb & 63; + fib.gd = zdev->gisa; + + return zpci_mod_fc(req, &fib, &status) ? -EIO : 0; +} + +/* Modify PCI: Unregister floating adapter interruption forwarding */ +static int kvm_zpci_clear_airq(struct zpci_dev *zdev) +{ + u64 req = ZPCI_CREATE_REQ(zdev->fh, 0, ZPCI_MOD_FC_DEREG_INT); + struct zpci_fib fib = {}; + u8 cc, status; + + fib.gd = zdev->gisa; + + cc = zpci_mod_fc(req, &fib, &status); + if (cc == 3 || (cc == 1 && status == 24)) + /* Function already gone or IRQs already deregistered. */ + cc = 0; + + return cc ? -EIO : 0; +} + +static inline void unaccount_mem(unsigned long nr_pages) +{ + struct user_struct *user = get_uid(current_user()); + + if (user) + atomic_long_sub(nr_pages, &user->locked_vm); + if (current->mm) + atomic64_sub(nr_pages, ¤t->mm->pinned_vm); +} + +static inline int account_mem(unsigned long nr_pages) +{ + struct user_struct *user = get_uid(current_user()); + unsigned long page_limit, cur_pages, new_pages; + + page_limit = rlimit(RLIMIT_MEMLOCK) >> PAGE_SHIFT; + + do { + cur_pages = atomic_long_read(&user->locked_vm); + new_pages = cur_pages + nr_pages; + if (new_pages > page_limit) + return -ENOMEM; + } while (atomic_long_cmpxchg(&user->locked_vm, cur_pages, + new_pages) != cur_pages); + + atomic64_add(nr_pages, ¤t->mm->pinned_vm); + + return 0; +} + +static int kvm_s390_pci_aif_enable(struct zpci_dev *zdev, struct zpci_fib *fib, + bool assist) +{ + struct page *pages[1], *aibv_page, *aisb_page = NULL; + unsigned int msi_vecs, idx; + struct zpci_gaite *gaite; + unsigned long hva, bit; + struct kvm *kvm; + phys_addr_t gaddr; + int rc = 0, gisc, npages, pcount = 0; + + /* + * Interrupt forwarding is only applicable if the device is already + * enabled for interpretation + */ + if (zdev->gisa == 0) + return -EINVAL; + + kvm = zdev->kzdev->kvm; + msi_vecs = min_t(unsigned int, fib->fmt0.noi, zdev->max_msi); + + /* Get the associated forwarding ISC - if invalid, return the error */ + gisc = kvm_s390_gisc_register(kvm, fib->fmt0.isc); + if (gisc < 0) + return gisc; + + /* Replace AIBV address */ + idx = srcu_read_lock(&kvm->srcu); + hva = gfn_to_hva(kvm, gpa_to_gfn((gpa_t)fib->fmt0.aibv)); + npages = pin_user_pages_fast(hva, 1, FOLL_WRITE | FOLL_LONGTERM, pages); + srcu_read_unlock(&kvm->srcu, idx); + if (npages < 1) { + rc = -EIO; + goto out; + } + aibv_page = pages[0]; + pcount++; + gaddr = page_to_phys(aibv_page) + (fib->fmt0.aibv & ~PAGE_MASK); + fib->fmt0.aibv = gaddr; + + /* Pin the guest AISB if one was specified */ + if (fib->fmt0.sum == 1) { + idx = srcu_read_lock(&kvm->srcu); + hva = gfn_to_hva(kvm, gpa_to_gfn((gpa_t)fib->fmt0.aisb)); + npages = pin_user_pages_fast(hva, 1, FOLL_WRITE | FOLL_LONGTERM, + pages); + srcu_read_unlock(&kvm->srcu, idx); + if (npages < 1) { + rc = -EIO; + goto unpin1; + } + aisb_page = pages[0]; + pcount++; + } + + /* Account for pinned pages, roll back on failure */ + if (account_mem(pcount)) + goto unpin2; + + /* AISB must be allocated before we can fill in GAITE */ + mutex_lock(&aift->aift_lock); + bit = airq_iv_alloc_bit(aift->sbv); + if (bit == -1UL) + goto unlock; + zdev->aisb = bit; /* store the summary bit number */ + zdev->aibv = airq_iv_create(msi_vecs, AIRQ_IV_DATA | + AIRQ_IV_BITLOCK | + AIRQ_IV_GUESTVEC, + phys_to_virt(fib->fmt0.aibv)); + + spin_lock_irq(&aift->gait_lock); + gaite = (struct zpci_gaite *)aift->gait + (zdev->aisb * + sizeof(struct zpci_gaite)); + + /* If assist not requested, host will get all alerts */ + if (assist) + gaite->gisa = (u32)virt_to_phys(&kvm->arch.sie_page2->gisa); + else + gaite->gisa = 0; + + gaite->gisc = fib->fmt0.isc; + gaite->count++; + gaite->aisbo = fib->fmt0.aisbo; + gaite->aisb = virt_to_phys(page_address(aisb_page) + (fib->fmt0.aisb & + ~PAGE_MASK)); + aift->kzdev[zdev->aisb] = zdev->kzdev; + spin_unlock_irq(&aift->gait_lock); + + /* Update guest FIB for re-issue */ + fib->fmt0.aisbo = zdev->aisb & 63; + fib->fmt0.aisb = virt_to_phys(aift->sbv->vector + (zdev->aisb / 64) * 8); + fib->fmt0.isc = gisc; + + /* Save some guest fib values in the host for later use */ + zdev->kzdev->fib.fmt0.isc = fib->fmt0.isc; + zdev->kzdev->fib.fmt0.aibv = fib->fmt0.aibv; + mutex_unlock(&aift->aift_lock); + + /* Issue the clp to setup the irq now */ + rc = kvm_zpci_set_airq(zdev); + return rc; + +unlock: + mutex_unlock(&aift->aift_lock); +unpin2: + if (fib->fmt0.sum == 1) + unpin_user_page(aisb_page); +unpin1: + unpin_user_page(aibv_page); +out: + return rc; +} + +static int kvm_s390_pci_aif_disable(struct zpci_dev *zdev, bool force) +{ + struct kvm_zdev *kzdev = zdev->kzdev; + struct zpci_gaite *gaite; + struct page *vpage = NULL, *spage = NULL; + int rc, pcount = 0; + u8 isc; + + if (zdev->gisa == 0) + return -EINVAL; + + mutex_lock(&aift->aift_lock); + + /* + * If the clear fails due to an error, leave now unless we know this + * device is about to go away (force) -- In that case clear the GAITE + * regardless. + */ + rc = kvm_zpci_clear_airq(zdev); + if (rc && !force) + goto out; + + if (zdev->kzdev->fib.fmt0.aibv == 0) + goto out; + spin_lock_irq(&aift->gait_lock); + gaite = (struct zpci_gaite *)aift->gait + (zdev->aisb * + sizeof(struct zpci_gaite)); + isc = gaite->gisc; + gaite->count--; + if (gaite->count == 0) { + /* Release guest AIBV and AISB */ + vpage = phys_to_page(kzdev->fib.fmt0.aibv); + if (gaite->aisb != 0) + spage = phys_to_page(gaite->aisb); + /* Clear the GAIT entry */ + gaite->aisb = 0; + gaite->gisc = 0; + gaite->aisbo = 0; + gaite->gisa = 0; + aift->kzdev[zdev->aisb] = 0; + /* Clear zdev info */ + airq_iv_free_bit(aift->sbv, zdev->aisb); + airq_iv_release(zdev->aibv); + zdev->aisb = 0; + zdev->aibv = NULL; + } + spin_unlock_irq(&aift->gait_lock); + kvm_s390_gisc_unregister(kzdev->kvm, isc); + kzdev->fib.fmt0.isc = 0; + kzdev->fib.fmt0.aibv = 0; + + if (vpage) { + unpin_user_page(vpage); + pcount++; + } + if (spage) { + unpin_user_page(spage); + pcount++; + } + if (pcount > 0) + unaccount_mem(pcount); +out: + mutex_unlock(&aift->aift_lock); + + return rc; +} + +static int kvm_s390_pci_dev_open(struct zpci_dev *zdev) +{ + struct kvm_zdev *kzdev; + + kzdev = kzalloc(sizeof(struct kvm_zdev), GFP_KERNEL); + if (!kzdev) + return -ENOMEM; + + kzdev->zdev = zdev; + zdev->kzdev = kzdev; + + return 0; +} + +static void kvm_s390_pci_dev_release(struct zpci_dev *zdev) +{ + struct kvm_zdev *kzdev; + + kzdev = zdev->kzdev; + WARN_ON(kzdev->zdev != zdev); + zdev->kzdev = NULL; + kfree(kzdev); +} + + +/* + * Register device with the specified KVM. If interpetation facilities are + * available, enable them and let userspace indicate whether or not they will + * be used (specify SHM bit to disable). + */ +static int kvm_s390_pci_register_kvm(void *opaque, struct kvm *kvm) +{ + struct zpci_dev *zdev = opaque; + int rc; + + if (!zdev) + return -EINVAL; + + mutex_lock(&zdev->kzdev_lock); + + if (zdev->kzdev || zdev->gisa != 0 || !kvm) { + mutex_unlock(&zdev->kzdev_lock); + return -EINVAL; + } + + kvm_get_kvm(kvm); + + mutex_lock(&kvm->lock); + + rc = kvm_s390_pci_dev_open(zdev); + if (rc) + goto err; + + /* + * If interpretation facilities aren't available, add the device to + * the kzdev list but don't enable for interpretation. + */ + if (!kvm_s390_pci_interp_allowed()) + goto out; + + /* + * If this is the first request to use an interpreted device, make the + * necessary vcpu changes + */ + if (!kvm->arch.use_zpci_interp) + kvm_s390_vcpu_pci_enable_interp(kvm); + + if (zdev_enabled(zdev)) { + rc = zpci_disable_device(zdev); + if (rc) + goto err; + } + + /* + * Store information about the identity of the kvm guest allowed to + * access this device via interpretation to be used by host CLP + */ + zdev->gisa = (u32)virt_to_phys(&kvm->arch.sie_page2->gisa); + + rc = zpci_enable_device(zdev); + if (rc) + goto clear_gisa; + + /* Re-register the IOMMU that was already created */ + rc = zpci_register_ioat(zdev, 0, zdev->start_dma, zdev->end_dma, + virt_to_phys(zdev->dma_table)); + if (rc) + goto clear_gisa; + +out: + zdev->kzdev->kvm = kvm; + + spin_lock(&kvm->arch.kzdev_list_lock); + list_add_tail(&zdev->kzdev->entry, &kvm->arch.kzdev_list); + spin_unlock(&kvm->arch.kzdev_list_lock); + + mutex_unlock(&kvm->lock); + mutex_unlock(&zdev->kzdev_lock); + return 0; + +clear_gisa: + zdev->gisa = 0; +err: + if (zdev->kzdev) + kvm_s390_pci_dev_release(zdev); + mutex_unlock(&kvm->lock); + mutex_unlock(&zdev->kzdev_lock); + kvm_put_kvm(kvm); + return rc; +} + +static void kvm_s390_pci_unregister_kvm(void *opaque) +{ + struct zpci_dev *zdev = opaque; + struct kvm *kvm; + + if (!zdev) + return; + + mutex_lock(&zdev->kzdev_lock); + + if (WARN_ON(!zdev->kzdev)) { + mutex_unlock(&zdev->kzdev_lock); + return; + } + + kvm = zdev->kzdev->kvm; + mutex_lock(&kvm->lock); + + /* + * A 0 gisa means interpretation was never enabled, just remove the + * device from the list. + */ + if (zdev->gisa == 0) + goto out; + + /* Forwarding must be turned off before interpretation */ + if (zdev->kzdev->fib.fmt0.aibv != 0) + kvm_s390_pci_aif_disable(zdev, true); + + /* Remove the host CLP guest designation */ + zdev->gisa = 0; + + if (zdev_enabled(zdev)) { + if (zpci_disable_device(zdev)) + goto out; + } + + if (zpci_enable_device(zdev)) + goto out; + + /* Re-register the IOMMU that was already created */ + zpci_register_ioat(zdev, 0, zdev->start_dma, zdev->end_dma, + virt_to_phys(zdev->dma_table)); + +out: + spin_lock(&kvm->arch.kzdev_list_lock); + list_del(&zdev->kzdev->entry); + spin_unlock(&kvm->arch.kzdev_list_lock); + kvm_s390_pci_dev_release(zdev); + + mutex_unlock(&kvm->lock); + mutex_unlock(&zdev->kzdev_lock); + + kvm_put_kvm(kvm); +} + +void kvm_s390_pci_init_list(struct kvm *kvm) +{ + spin_lock_init(&kvm->arch.kzdev_list_lock); + INIT_LIST_HEAD(&kvm->arch.kzdev_list); +} + +void kvm_s390_pci_clear_list(struct kvm *kvm) +{ + /* + * This list should already be empty, either via vfio device closures + * or kvm fd cleanup. + */ + spin_lock(&kvm->arch.kzdev_list_lock); + WARN_ON_ONCE(!list_empty(&kvm->arch.kzdev_list)); + spin_unlock(&kvm->arch.kzdev_list_lock); +} + +static struct zpci_dev *get_zdev_from_kvm_by_fh(struct kvm *kvm, u32 fh) +{ + struct zpci_dev *zdev = NULL; + struct kvm_zdev *kzdev; + + spin_lock(&kvm->arch.kzdev_list_lock); + list_for_each_entry(kzdev, &kvm->arch.kzdev_list, entry) { + if (kzdev->zdev->fh == fh) { + zdev = kzdev->zdev; + break; + } + } + spin_unlock(&kvm->arch.kzdev_list_lock); + + return zdev; +} + +static int kvm_s390_pci_zpci_reg_aen(struct zpci_dev *zdev, + struct kvm_s390_zpci_op *args) +{ + struct zpci_fib fib = {}; + bool hostflag; + + fib.fmt0.aibv = args->u.reg_aen.ibv; + fib.fmt0.isc = args->u.reg_aen.isc; + fib.fmt0.noi = args->u.reg_aen.noi; + if (args->u.reg_aen.sb != 0) { + fib.fmt0.aisb = args->u.reg_aen.sb; + fib.fmt0.aisbo = args->u.reg_aen.sbo; + fib.fmt0.sum = 1; + } else { + fib.fmt0.aisb = 0; + fib.fmt0.aisbo = 0; + fib.fmt0.sum = 0; + } + + hostflag = !(args->u.reg_aen.flags & KVM_S390_ZPCIOP_REGAEN_HOST); + return kvm_s390_pci_aif_enable(zdev, &fib, hostflag); +} + +int kvm_s390_pci_zpci_op(struct kvm *kvm, struct kvm_s390_zpci_op *args) +{ + struct kvm_zdev *kzdev; + struct zpci_dev *zdev; + int r; + + zdev = get_zdev_from_kvm_by_fh(kvm, args->fh); + if (!zdev) + return -ENODEV; + + mutex_lock(&zdev->kzdev_lock); + mutex_lock(&kvm->lock); + + kzdev = zdev->kzdev; + if (!kzdev) { + r = -ENODEV; + goto out; + } + if (kzdev->kvm != kvm) { + r = -EPERM; + goto out; + } + + switch (args->op) { + case KVM_S390_ZPCIOP_REG_AEN: + /* Fail on unknown flags */ + if (args->u.reg_aen.flags & ~KVM_S390_ZPCIOP_REGAEN_HOST) { + r = -EINVAL; + break; + } + r = kvm_s390_pci_zpci_reg_aen(zdev, args); + break; + case KVM_S390_ZPCIOP_DEREG_AEN: + r = kvm_s390_pci_aif_disable(zdev, false); + break; + default: + r = -EINVAL; + } + +out: + mutex_unlock(&kvm->lock); + mutex_unlock(&zdev->kzdev_lock); + return r; +} + +int kvm_s390_pci_init(void) +{ + aift = kzalloc(sizeof(struct zpci_aift), GFP_KERNEL); + if (!aift) + return -ENOMEM; + + spin_lock_init(&aift->gait_lock); + mutex_init(&aift->aift_lock); + zpci_kvm_hook.kvm_register = kvm_s390_pci_register_kvm; + zpci_kvm_hook.kvm_unregister = kvm_s390_pci_unregister_kvm; + + return 0; +} + +void kvm_s390_pci_exit(void) +{ + mutex_destroy(&aift->aift_lock); + zpci_kvm_hook.kvm_register = NULL; + zpci_kvm_hook.kvm_unregister = NULL; + + kfree(aift); +} --- linux-gcp-5.19.0.orig/arch/s390/kvm/pci.h +++ linux-gcp-5.19.0/arch/s390/kvm/pci.h @@ -0,0 +1,88 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* + * s390 kvm PCI passthrough support + * + * Copyright IBM Corp. 2022 + * + * Author(s): Matthew Rosato + */ + +#ifndef __KVM_S390_PCI_H +#define __KVM_S390_PCI_H + +#include +#include +#include +#include +#include +#include +#include + +struct kvm_zdev { + struct zpci_dev *zdev; + struct kvm *kvm; + struct zpci_fib fib; + struct list_head entry; +}; + +struct zpci_gaite { + u32 gisa; + u8 gisc; + u8 count; + u8 reserved; + u8 aisbo; + u64 aisb; +}; + +struct zpci_aift { + struct zpci_gaite *gait; + struct airq_iv *sbv; + struct kvm_zdev **kzdev; + spinlock_t gait_lock; /* Protects the gait, used during AEN forward */ + struct mutex aift_lock; /* Protects the other structures in aift */ +}; + +extern struct zpci_aift *aift; + +static inline struct kvm *kvm_s390_pci_si_to_kvm(struct zpci_aift *aift, + unsigned long si) +{ + if (!IS_ENABLED(CONFIG_VFIO_PCI_ZDEV_KVM) || aift->kzdev == 0 || + aift->kzdev[si] == 0) + return 0; + return aift->kzdev[si]->kvm; +}; + +int kvm_s390_pci_aen_init(u8 nisc); +void kvm_s390_pci_aen_exit(void); + +void kvm_s390_pci_init_list(struct kvm *kvm); +void kvm_s390_pci_clear_list(struct kvm *kvm); + +int kvm_s390_pci_zpci_op(struct kvm *kvm, struct kvm_s390_zpci_op *args); + +int kvm_s390_pci_init(void); +void kvm_s390_pci_exit(void); + +static inline bool kvm_s390_pci_interp_allowed(void) +{ + struct cpuid cpu_id; + + get_cpu_id(&cpu_id); + switch (cpu_id.machine) { + case 0x2817: + case 0x2818: + case 0x2827: + case 0x2828: + case 0x2964: + case 0x2965: + /* No SHM on certain machines */ + return false; + default: + return (IS_ENABLED(CONFIG_VFIO_PCI_ZDEV_KVM) && + sclp.has_zpci_lsi && sclp.has_aeni && sclp.has_aisi && + sclp.has_aisii); + } +} + +#endif /* __KVM_S390_PCI_H */ --- linux-gcp-5.19.0.orig/arch/s390/kvm/pv.c +++ linux-gcp-5.19.0/arch/s390/kvm/pv.c @@ -7,6 +7,7 @@ */ #include #include +#include #include #include #include @@ -161,10 +162,13 @@ atomic_set(&kvm->mm->context.is_protected, 0); KVM_UV_EVENT(kvm, 3, "PROTVIRT DESTROY VM: rc %x rrc %x", *rc, *rrc); WARN_ONCE(cc, "protvirt destroy vm failed rc %x rrc %x", *rc, *rrc); - /* Inteded memory leak on "impossible" error */ - if (!cc) + /* Intended memory leak on "impossible" error */ + if (!cc) { kvm_s390_pv_dealloc_vm(kvm); - return cc ? -EIO : 0; + return 0; + } + s390_replace_asce(kvm->arch.gmap); + return -EIO; } int kvm_s390_pv_init_vm(struct kvm *kvm, u16 *rc, u16 *rrc) @@ -298,3 +302,200 @@ return -EINVAL; return 0; } + +int kvm_s390_pv_dump_cpu(struct kvm_vcpu *vcpu, void *buff, u16 *rc, u16 *rrc) +{ + struct uv_cb_dump_cpu uvcb = { + .header.cmd = UVC_CMD_DUMP_CPU, + .header.len = sizeof(uvcb), + .cpu_handle = vcpu->arch.pv.handle, + .dump_area_origin = (u64)buff, + }; + int cc; + + cc = uv_call_sched(0, (u64)&uvcb); + *rc = uvcb.header.rc; + *rrc = uvcb.header.rrc; + return cc; +} + +/* Size of the cache for the storage state dump data. 1MB for now */ +#define DUMP_BUFF_LEN HPAGE_SIZE + +/** + * kvm_s390_pv_dump_stor_state + * + * @kvm: pointer to the guest's KVM struct + * @buff_user: Userspace pointer where we will write the results to + * @gaddr: Starting absolute guest address for which the storage state + * is requested. + * @buff_user_len: Length of the buff_user buffer + * @rc: Pointer to where the uvcb return code is stored + * @rrc: Pointer to where the uvcb return reason code is stored + * + * Stores buff_len bytes of tweak component values to buff_user + * starting with the 1MB block specified by the absolute guest address + * (gaddr). The gaddr pointer will be updated with the last address + * for which data was written when returning to userspace. buff_user + * might be written to even if an error rc is returned. For instance + * if we encounter a fault after writing the first page of data. + * + * Context: kvm->lock needs to be held + * + * Return: + * 0 on success + * -ENOMEM if allocating the cache fails + * -EINVAL if gaddr is not aligned to 1MB + * -EINVAL if buff_user_len is not aligned to uv_info.conf_dump_storage_state_len + * -EINVAL if the UV call fails, rc and rrc will be set in this case + * -EFAULT if copying the result to buff_user failed + */ +int kvm_s390_pv_dump_stor_state(struct kvm *kvm, void __user *buff_user, + u64 *gaddr, u64 buff_user_len, u16 *rc, u16 *rrc) +{ + struct uv_cb_dump_stor_state uvcb = { + .header.cmd = UVC_CMD_DUMP_CONF_STOR_STATE, + .header.len = sizeof(uvcb), + .config_handle = kvm->arch.pv.handle, + .gaddr = *gaddr, + .dump_area_origin = 0, + }; + const u64 increment_len = uv_info.conf_dump_storage_state_len; + size_t buff_kvm_size; + size_t size_done = 0; + u8 *buff_kvm = NULL; + int cc, ret; + + ret = -EINVAL; + /* UV call processes 1MB guest storage chunks at a time */ + if (!IS_ALIGNED(*gaddr, HPAGE_SIZE)) + goto out; + + /* + * We provide the storage state for 1MB chunks of guest + * storage. The buffer will need to be aligned to + * conf_dump_storage_state_len so we don't end on a partial + * chunk. + */ + if (!buff_user_len || + !IS_ALIGNED(buff_user_len, increment_len)) + goto out; + + /* + * Allocate a buffer from which we will later copy to the user + * process. We don't want userspace to dictate our buffer size + * so we limit it to DUMP_BUFF_LEN. + */ + ret = -ENOMEM; + buff_kvm_size = min_t(u64, buff_user_len, DUMP_BUFF_LEN); + buff_kvm = vzalloc(buff_kvm_size); + if (!buff_kvm) + goto out; + + ret = 0; + uvcb.dump_area_origin = (u64)buff_kvm; + /* We will loop until the user buffer is filled or an error occurs */ + do { + /* Get 1MB worth of guest storage state data */ + cc = uv_call_sched(0, (u64)&uvcb); + + /* All or nothing */ + if (cc) { + ret = -EINVAL; + break; + } + + size_done += increment_len; + uvcb.dump_area_origin += increment_len; + buff_user_len -= increment_len; + uvcb.gaddr += HPAGE_SIZE; + + /* KVM Buffer full, time to copy to the process */ + if (!buff_user_len || size_done == DUMP_BUFF_LEN) { + if (copy_to_user(buff_user, buff_kvm, size_done)) { + ret = -EFAULT; + break; + } + + buff_user += size_done; + size_done = 0; + uvcb.dump_area_origin = (u64)buff_kvm; + } + } while (buff_user_len); + + /* Report back where we ended dumping */ + *gaddr = uvcb.gaddr; + + /* Lets only log errors, we don't want to spam */ +out: + if (ret) + KVM_UV_EVENT(kvm, 3, + "PROTVIRT DUMP STORAGE STATE: addr %llx ret %d, uvcb rc %x rrc %x", + uvcb.gaddr, ret, uvcb.header.rc, uvcb.header.rrc); + *rc = uvcb.header.rc; + *rrc = uvcb.header.rrc; + vfree(buff_kvm); + + return ret; +} + +/** + * kvm_s390_pv_dump_complete + * + * @kvm: pointer to the guest's KVM struct + * @buff_user: Userspace pointer where we will write the results to + * @rc: Pointer to where the uvcb return code is stored + * @rrc: Pointer to where the uvcb return reason code is stored + * + * Completes the dumping operation and writes the completion data to + * user space. + * + * Context: kvm->lock needs to be held + * + * Return: + * 0 on success + * -ENOMEM if allocating the completion buffer fails + * -EINVAL if the UV call fails, rc and rrc will be set in this case + * -EFAULT if copying the result to buff_user failed + */ +int kvm_s390_pv_dump_complete(struct kvm *kvm, void __user *buff_user, + u16 *rc, u16 *rrc) +{ + struct uv_cb_dump_complete complete = { + .header.len = sizeof(complete), + .header.cmd = UVC_CMD_DUMP_COMPLETE, + .config_handle = kvm_s390_pv_get_handle(kvm), + }; + u64 *compl_data; + int ret; + + /* Allocate dump area */ + compl_data = vzalloc(uv_info.conf_dump_finalize_len); + if (!compl_data) + return -ENOMEM; + complete.dump_area_origin = (u64)compl_data; + + ret = uv_call_sched(0, (u64)&complete); + *rc = complete.header.rc; + *rrc = complete.header.rrc; + KVM_UV_EVENT(kvm, 3, "PROTVIRT DUMP COMPLETE: rc %x rrc %x", + complete.header.rc, complete.header.rrc); + + if (!ret) { + /* + * kvm_s390_pv_dealloc_vm() will also (mem)set + * this to false on a reboot or other destroy + * operation for this vm. + */ + kvm->arch.pv.dumping = false; + kvm_s390_vcpu_unblock_all(kvm); + ret = copy_to_user(buff_user, compl_data, uv_info.conf_dump_finalize_len); + if (ret) + ret = -EFAULT; + } + vfree(compl_data); + /* If the UVC returned an error, translate it to -EINVAL */ + if (ret > 0) + ret = -EINVAL; + return ret; +} --- linux-gcp-5.19.0.orig/arch/s390/kvm/sigp.c +++ linux-gcp-5.19.0/arch/s390/kvm/sigp.c @@ -480,9 +480,9 @@ struct kvm_vcpu *dest_vcpu; u8 order_code = kvm_s390_get_base_disp_rs(vcpu, NULL); - trace_kvm_s390_handle_sigp_pei(vcpu, order_code, cpu_addr); - if (order_code == SIGP_EXTERNAL_CALL) { + trace_kvm_s390_handle_sigp_pei(vcpu, order_code, cpu_addr); + dest_vcpu = kvm_get_vcpu_by_id(vcpu->kvm, cpu_addr); BUG_ON(dest_vcpu == NULL); --- linux-gcp-5.19.0.orig/arch/s390/kvm/vsie.c +++ linux-gcp-5.19.0/arch/s390/kvm/vsie.c @@ -538,8 +538,10 @@ if (test_kvm_cpu_feat(vcpu->kvm, KVM_S390_VM_CPU_FEAT_CEI)) scb_s->eca |= scb_o->eca & ECA_CEI; /* Epoch Extension */ - if (test_kvm_facility(vcpu->kvm, 139)) + if (test_kvm_facility(vcpu->kvm, 139)) { scb_s->ecd |= scb_o->ecd & ECD_MEF; + scb_s->epdx = scb_o->epdx; + } /* etoken */ if (test_kvm_facility(vcpu->kvm, 156)) --- linux-gcp-5.19.0.orig/arch/s390/lib/uaccess.c +++ linux-gcp-5.19.0/arch/s390/lib/uaccess.c @@ -156,7 +156,7 @@ asm volatile( " lr 0,%[spec]\n" "0: mvcos 0(%1),0(%4),%0\n" - " jz 4f\n" + "6: jz 4f\n" "1: algr %0,%2\n" " slgr %1,%2\n" " j 0b\n" @@ -166,12 +166,12 @@ " clgr %0,%3\n" /* copy crosses next page boundary? */ " jnh 5f\n" "3: mvcos 0(%1),0(%4),%3\n" - " slgr %0,%3\n" + "7: slgr %0,%3\n" " j 5f\n" "4: slgr %0,%0\n" "5:\n" - EX_TABLE(0b,2b) EX_TABLE(3b,5b) - : "+a" (size), "+a" (to), "+a" (tmp1), "=a" (tmp2) + EX_TABLE(0b,2b) EX_TABLE(6b,2b) EX_TABLE(3b,5b) EX_TABLE(7b,5b) + : "+&a" (size), "+&a" (to), "+a" (tmp1), "=&a" (tmp2) : "a" (empty_zero_page), [spec] "d" (spec.val) : "cc", "memory", "0"); return size; --- linux-gcp-5.19.0.orig/arch/s390/mm/extmem.c +++ linux-gcp-5.19.0/arch/s390/mm/extmem.c @@ -289,15 +289,17 @@ /* * real segment loading function, called from segment_load + * Must return either an error code < 0, or the segment type code >= 0 */ static int __segment_load (char *name, int do_nonshared, unsigned long *addr, unsigned long *end) { unsigned long start_addr, end_addr, dummy; struct dcss_segment *seg; - int rc, diag_cc; + int rc, diag_cc, segtype; start_addr = end_addr = 0; + segtype = -1; seg = kmalloc(sizeof(*seg), GFP_KERNEL | GFP_DMA); if (seg == NULL) { rc = -ENOMEM; @@ -326,9 +328,9 @@ seg->res_name[8] = '\0'; strlcat(seg->res_name, " (DCSS)", sizeof(seg->res_name)); seg->res->name = seg->res_name; - rc = seg->vm_segtype; - if (rc == SEG_TYPE_SC || - ((rc == SEG_TYPE_SR || rc == SEG_TYPE_ER) && !do_nonshared)) + segtype = seg->vm_segtype; + if (segtype == SEG_TYPE_SC || + ((segtype == SEG_TYPE_SR || segtype == SEG_TYPE_ER) && !do_nonshared)) seg->res->flags |= IORESOURCE_READONLY; /* Check for overlapping resources before adding the mapping. */ @@ -386,7 +388,7 @@ out_free: kfree(seg); out: - return rc; + return rc < 0 ? rc : segtype; } /* --- linux-gcp-5.19.0.orig/arch/s390/mm/fault.c +++ linux-gcp-5.19.0/arch/s390/mm/fault.c @@ -379,7 +379,9 @@ flags = FAULT_FLAG_DEFAULT; if (user_mode(regs)) flags |= FAULT_FLAG_USER; - if (access == VM_WRITE || is_write) + if (is_write) + access = VM_WRITE; + if (access == VM_WRITE) flags |= FAULT_FLAG_WRITE; mmap_read_lock(mm); --- linux-gcp-5.19.0.orig/arch/s390/mm/gmap.c +++ linux-gcp-5.19.0/arch/s390/mm/gmap.c @@ -2735,3 +2735,89 @@ mmput(mm); } EXPORT_SYMBOL_GPL(s390_reset_acc); + +/** + * s390_unlist_old_asce - Remove the topmost level of page tables from the + * list of page tables of the gmap. + * @gmap: the gmap whose table is to be removed + * + * On s390x, KVM keeps a list of all pages containing the page tables of the + * gmap (the CRST list). This list is used at tear down time to free all + * pages that are now not needed anymore. + * + * This function removes the topmost page of the tree (the one pointed to by + * the ASCE) from the CRST list. + * + * This means that it will not be freed when the VM is torn down, and needs + * to be handled separately by the caller, unless a leak is actually + * intended. Notice that this function will only remove the page from the + * list, the page will still be used as a top level page table (and ASCE). + */ +void s390_unlist_old_asce(struct gmap *gmap) +{ + struct page *old; + + old = virt_to_page(gmap->table); + spin_lock(&gmap->guest_table_lock); + list_del(&old->lru); + /* + * Sometimes the topmost page might need to be "removed" multiple + * times, for example if the VM is rebooted into secure mode several + * times concurrently, or if s390_replace_asce fails after calling + * s390_remove_old_asce and is attempted again later. In that case + * the old asce has been removed from the list, and therefore it + * will not be freed when the VM terminates, but the ASCE is still + * in use and still pointed to. + * A subsequent call to replace_asce will follow the pointer and try + * to remove the same page from the list again. + * Therefore it's necessary that the page of the ASCE has valid + * pointers, so list_del can work (and do nothing) without + * dereferencing stale or invalid pointers. + */ + INIT_LIST_HEAD(&old->lru); + spin_unlock(&gmap->guest_table_lock); +} +EXPORT_SYMBOL_GPL(s390_unlist_old_asce); + +/** + * s390_replace_asce - Try to replace the current ASCE of a gmap with a copy + * @gmap: the gmap whose ASCE needs to be replaced + * + * If the allocation of the new top level page table fails, the ASCE is not + * replaced. + * In any case, the old ASCE is always removed from the gmap CRST list. + * Therefore the caller has to make sure to save a pointer to it + * beforehand, unless a leak is actually intended. + */ +int s390_replace_asce(struct gmap *gmap) +{ + unsigned long asce; + struct page *page; + void *table; + + s390_unlist_old_asce(gmap); + + page = alloc_pages(GFP_KERNEL_ACCOUNT, CRST_ALLOC_ORDER); + if (!page) + return -ENOMEM; + table = page_to_virt(page); + memcpy(table, gmap->table, 1UL << (CRST_ALLOC_ORDER + PAGE_SHIFT)); + + /* + * The caller has to deal with the old ASCE, but here we make sure + * the new one is properly added to the CRST list, so that + * it will be freed when the VM is torn down. + */ + spin_lock(&gmap->guest_table_lock); + list_add(&page->lru, &gmap->crst_list); + spin_unlock(&gmap->guest_table_lock); + + /* Set new table origin while preserving existing ASCE control bits */ + asce = (gmap->asce & ~_ASCE_ORIGIN) | __pa(table); + WRITE_ONCE(gmap->asce, asce); + WRITE_ONCE(gmap->mm->context.gmap_asce, asce); + WRITE_ONCE(gmap->table, table); + + return 0; +} +EXPORT_SYMBOL_GPL(s390_replace_asce); --- linux-gcp-5.19.0.orig/arch/s390/mm/init.c +++ linux-gcp-5.19.0/arch/s390/mm/init.c @@ -31,7 +31,6 @@ #include #include #include -#include #include #include #include @@ -48,6 +47,7 @@ #include #include #include +#include #include pgd_t swapper_pg_dir[PTRS_PER_PGD] __section(".bss..swapper_pg_dir"); @@ -175,7 +175,7 @@ if (!is_prot_virt_guest()) return; - platform_set(PLATFORM_VIRTIO_RESTRICTED_MEM_ACCESS); + virtio_set_mem_acc_cb(virtio_require_restricted_mem_acc); /* make sure bounce buffers are shared */ swiotlb_init(true, SWIOTLB_FORCE | SWIOTLB_VERBOSE); --- linux-gcp-5.19.0.orig/arch/s390/mm/vmem.c +++ linux-gcp-5.19.0/arch/s390/mm/vmem.c @@ -297,7 +297,7 @@ if (end > VMALLOC_START) return; #ifdef CONFIG_KASAN - if (start < KASAN_SHADOW_END && KASAN_SHADOW_START > end) + if (start < KASAN_SHADOW_END && end > KASAN_SHADOW_START) return; #endif pmd = pmd_offset(pud, start); @@ -372,7 +372,7 @@ if (end > VMALLOC_START) return; #ifdef CONFIG_KASAN - if (start < KASAN_SHADOW_END && KASAN_SHADOW_START > end) + if (start < KASAN_SHADOW_END && end > KASAN_SHADOW_START) return; #endif @@ -426,7 +426,7 @@ if (end > VMALLOC_START) return; #ifdef CONFIG_KASAN - if (start < KASAN_SHADOW_END && KASAN_SHADOW_START > end) + if (start < KASAN_SHADOW_END && end > KASAN_SHADOW_START) return; #endif --- linux-gcp-5.19.0.orig/arch/s390/net/bpf_jit_comp.c +++ linux-gcp-5.19.0/arch/s390/net/bpf_jit_comp.c @@ -1393,8 +1393,16 @@ /* lg %r1,bpf_func(%r1) */ EMIT6_DISP_LH(0xe3000000, 0x0004, REG_1, REG_1, REG_0, offsetof(struct bpf_prog, bpf_func)); - /* bc 0xf,tail_call_start(%r1) */ - _EMIT4(0x47f01000 + jit->tail_call_start); + if (nospec_uses_trampoline()) { + jit->seen |= SEEN_FUNC; + /* aghi %r1,tail_call_start */ + EMIT4_IMM(0xa70b0000, REG_1, jit->tail_call_start); + /* brcl 0xf,__s390_indirect_jump_r1 */ + EMIT6_PCREL_RILC(0xc0040000, 0xf, jit->r1_thunk_ip); + } else { + /* bc 0xf,tail_call_start(%r1) */ + _EMIT4(0x47f01000 + jit->tail_call_start); + } /* out: */ if (jit->prg_buf) { *(u16 *)(jit->prg_buf + patch_1_clrj + 2) = --- linux-gcp-5.19.0.orig/arch/s390/pci/Makefile +++ linux-gcp-5.19.0/arch/s390/pci/Makefile @@ -5,5 +5,5 @@ obj-$(CONFIG_PCI) += pci.o pci_irq.o pci_dma.o pci_clp.o pci_sysfs.o \ pci_event.o pci_debug.o pci_insn.o pci_mmio.o \ - pci_bus.o + pci_bus.o pci_kvm_hook.o obj-$(CONFIG_PCI_IOV) += pci_iov.o --- linux-gcp-5.19.0.orig/arch/s390/pci/pci.c +++ linux-gcp-5.19.0/arch/s390/pci/pci.c @@ -61,6 +61,12 @@ static struct kmem_cache *zdev_fmb_cache; +/* AEN structures that must be preserved over KVM module re-insertion */ +union zpci_sic_iib *zpci_aipb; +EXPORT_SYMBOL_GPL(zpci_aipb); +struct airq_iv *zpci_aif_sbv; +EXPORT_SYMBOL_GPL(zpci_aif_sbv); + struct zpci_dev *get_zdev_by_fid(u32 fid) { struct zpci_dev *tmp, *zdev = NULL; @@ -120,11 +126,13 @@ fib.pba = base; fib.pal = limit; fib.iota = iota | ZPCI_IOTA_RTTO_FLAG; + fib.gd = zdev->gisa; cc = zpci_mod_fc(req, &fib, &status); if (cc) zpci_dbg(3, "reg ioat fid:%x, cc:%d, status:%d\n", zdev->fid, cc, status); return cc; } +EXPORT_SYMBOL_GPL(zpci_register_ioat); /* Modify PCI: Unregister I/O address translation parameters */ int zpci_unregister_ioat(struct zpci_dev *zdev, u8 dmaas) @@ -133,6 +141,8 @@ struct zpci_fib fib = {0}; u8 cc, status; + fib.gd = zdev->gisa; + cc = zpci_mod_fc(req, &fib, &status); if (cc) zpci_dbg(3, "unreg ioat fid:%x, cc:%d, status:%d\n", zdev->fid, cc, status); @@ -160,6 +170,7 @@ atomic64_set(&zdev->unmapped_pages, 0); fib.fmb_addr = virt_to_phys(zdev->fmb); + fib.gd = zdev->gisa; cc = zpci_mod_fc(req, &fib, &status); if (cc) { kmem_cache_free(zdev_fmb_cache, zdev->fmb); @@ -178,6 +189,8 @@ if (!zdev->fmb) return -EINVAL; + fib.gd = zdev->gisa; + /* Function measurement is disabled if fmb address is zero */ cc = zpci_mod_fc(req, &fib, &status); if (cc == 3) /* Function already gone. */ @@ -700,6 +713,7 @@ zpci_update_fh(zdev, fh); return rc; } +EXPORT_SYMBOL_GPL(zpci_enable_device); int zpci_disable_device(struct zpci_dev *zdev) { @@ -723,6 +737,7 @@ } return rc; } +EXPORT_SYMBOL_GPL(zpci_disable_device); /** * zpci_hot_reset_device - perform a reset of the given zPCI function @@ -816,6 +831,7 @@ kref_init(&zdev->kref); mutex_init(&zdev->lock); + mutex_init(&zdev->kzdev_lock); rc = zpci_init_iommu(zdev); if (rc) --- linux-gcp-5.19.0.orig/arch/s390/pci/pci_bus.c +++ linux-gcp-5.19.0/arch/s390/pci/pci_bus.c @@ -145,9 +145,6 @@ struct zpci_dev *zdev; int devfn, rc, ret = 0; - if (!zbus->function[0]) - return 0; - for (devfn = 0; devfn < ZPCI_FUNCTIONS_PER_BUS; devfn++) { zdev = zbus->function[devfn]; if (zdev && zdev->state == ZPCI_FN_STATE_CONFIGURED) { @@ -184,26 +181,26 @@ /* zpci_bus_create_pci_bus - Create the PCI bus associated with this zbus * @zbus: the zbus holding the zdevices - * @f0: function 0 of the bus + * @fr: PCI root function that will determine the bus's domain, and bus speeed * @ops: the pci operations * - * Function zero is taken as a parameter as this is used to determine the - * domain, multifunction property and maximum bus speed of the entire bus. + * The PCI function @fr determines the domain (its UID), multifunction property + * and maximum bus speed of the entire bus. * * Return: 0 on success, an error code otherwise */ -static int zpci_bus_create_pci_bus(struct zpci_bus *zbus, struct zpci_dev *f0, struct pci_ops *ops) +static int zpci_bus_create_pci_bus(struct zpci_bus *zbus, struct zpci_dev *fr, struct pci_ops *ops) { struct pci_bus *bus; int domain; - domain = zpci_alloc_domain((u16)f0->uid); + domain = zpci_alloc_domain((u16)fr->uid); if (domain < 0) return domain; zbus->domain_nr = domain; - zbus->multifunction = f0->rid_available; - zbus->max_bus_speed = f0->max_bus_speed; + zbus->multifunction = fr->rid_available; + zbus->max_bus_speed = fr->max_bus_speed; /* * Note that the zbus->resources are taken over and zbus->resources @@ -303,47 +300,6 @@ } } -/* zpci_bus_create_hotplug_slots - Add hotplug slot(s) for device added to bus - * @zdev: the zPCI device that was newly added - * - * Add the hotplug slot(s) for the newly added PCI function. Normally this is - * simply the slot for the function itself. If however we are adding the - * function 0 on a zbus, it might be that we already registered functions on - * that zbus but could not create their hotplug slots yet so add those now too. - * - * Return: 0 on success, an error code otherwise - */ -static int zpci_bus_create_hotplug_slots(struct zpci_dev *zdev) -{ - struct zpci_bus *zbus = zdev->zbus; - int devfn, rc = 0; - - rc = zpci_init_slot(zdev); - if (rc) - return rc; - zdev->has_hp_slot = 1; - - if (zdev->devfn == 0 && zbus->multifunction) { - /* Now that function 0 is there we can finally create the - * hotplug slots for those functions with devfn != 0 that have - * been parked in zbus->function[] waiting for us to be able to - * create the PCI bus. - */ - for (devfn = 1; devfn < ZPCI_FUNCTIONS_PER_BUS; devfn++) { - zdev = zbus->function[devfn]; - if (zdev && !zdev->has_hp_slot) { - rc = zpci_init_slot(zdev); - if (rc) - return rc; - zdev->has_hp_slot = 1; - } - } - - } - - return rc; -} - static int zpci_bus_add_device(struct zpci_bus *zbus, struct zpci_dev *zdev) { int rc = -EINVAL; @@ -352,21 +308,19 @@ pr_err("devfn %04x is already assigned\n", zdev->devfn); return rc; } + zdev->zbus = zbus; zbus->function[zdev->devfn] = zdev; zpci_nb_devices++; - if (zbus->bus) { - if (zbus->multifunction && !zdev->rid_available) { - WARN_ONCE(1, "rid_available not set for multifunction\n"); - goto error; - } - - zpci_bus_create_hotplug_slots(zdev); - } else { - /* Hotplug slot will be created once function 0 appears */ - zbus->multifunction = 1; + if (zbus->multifunction && !zdev->rid_available) { + WARN_ONCE(1, "rid_available not set for multifunction\n"); + goto error; } + rc = zpci_init_slot(zdev); + if (rc) + goto error; + zdev->has_hp_slot = 1; return 0; @@ -400,7 +354,11 @@ return -ENOMEM; } - if (zdev->devfn == 0) { + if (!zbus->bus) { + /* The UID of the first PCI function registered with a zpci_bus + * is used as the domain number for that bus. Currently there + * is exactly one zpci_bus per domain. + */ rc = zpci_bus_create_pci_bus(zbus, zdev, ops); if (rc) goto error; --- linux-gcp-5.19.0.orig/arch/s390/pci/pci_clp.c +++ linux-gcp-5.19.0/arch/s390/pci/pci_clp.c @@ -106,6 +106,8 @@ zdev->max_msi = response->noi; zdev->fmb_update = response->mui; zdev->version = response->version; + zdev->maxstbl = response->maxstbl; + zdev->dtsm = response->dtsm; switch (response->version) { case 1: @@ -229,12 +231,16 @@ { struct clp_req_rsp_set_pci *rrb; int rc, retries = 100; + u32 gisa = 0; *fh = 0; rrb = clp_alloc_block(GFP_KERNEL); if (!rrb) return -ENOMEM; + if (command != CLP_SET_DISABLE_PCI_FN) + gisa = zdev->gisa; + do { memset(rrb, 0, sizeof(*rrb)); rrb->request.hdr.len = sizeof(rrb->request); @@ -243,6 +249,7 @@ rrb->request.fh = zdev->fh; rrb->request.oc = command; rrb->request.ndas = nr_dma_as; + rrb->request.gisa = gisa; rc = clp_req(rrb, CLP_LPS_PCI); if (rrb->response.hdr.rsp == CLP_RC_SETPCIFN_BUSY) { --- linux-gcp-5.19.0.orig/arch/s390/pci/pci_insn.c +++ linux-gcp-5.19.0/arch/s390/pci/pci_insn.c @@ -92,6 +92,7 @@ return cc; } +EXPORT_SYMBOL_GPL(zpci_mod_fc); /* Refresh PCI Translations */ static inline u8 __rpcit(u64 fn, u64 addr, u64 range, u8 *status) @@ -138,7 +139,7 @@ } /* Set Interruption Controls */ -int __zpci_set_irq_ctrl(u16 ctl, u8 isc, union zpci_sic_iib *iib) +int zpci_set_irq_ctrl(u16 ctl, u8 isc, union zpci_sic_iib *iib) { if (!test_facility(72)) return -EIO; @@ -149,6 +150,7 @@ return 0; } +EXPORT_SYMBOL_GPL(zpci_set_irq_ctrl); /* PCI Load */ static inline int ____pcilg(u64 *data, u64 req, u64 offset, u8 *status) --- linux-gcp-5.19.0.orig/arch/s390/pci/pci_irq.c +++ linux-gcp-5.19.0/arch/s390/pci/pci_irq.c @@ -11,16 +11,10 @@ #include #include +#include static enum {FLOATING, DIRECTED} irq_delivery; -#define SIC_IRQ_MODE_ALL 0 -#define SIC_IRQ_MODE_SINGLE 1 -#define SIC_IRQ_MODE_DIRECT 4 -#define SIC_IRQ_MODE_D_ALL 16 -#define SIC_IRQ_MODE_D_SINGLE 17 -#define SIC_IRQ_MODE_SET_CPU 18 - /* * summary bit vector * FLOATING - summary bit per function @@ -49,6 +43,7 @@ fib.fmt0.aibvo = 0; /* each zdev has its own interrupt vector */ fib.fmt0.aisb = virt_to_phys(zpci_sbv->vector) + (zdev->aisb / 64) * 8; fib.fmt0.aisbo = zdev->aisb & 63; + fib.gd = zdev->gisa; return zpci_mod_fc(req, &fib, &status) ? -EIO : 0; } @@ -60,6 +55,8 @@ struct zpci_fib fib = {0}; u8 cc, status; + fib.gd = zdev->gisa; + cc = zpci_mod_fc(req, &fib, &status); if (cc == 3 || (cc == 1 && status == 24)) /* Function already gone or IRQs already deregistered. */ @@ -78,6 +75,7 @@ fib.fmt = 1; fib.fmt1.noi = zdev->msi_nr_irqs; fib.fmt1.dibvo = zdev->msi_first_bit; + fib.gd = zdev->gisa; return zpci_mod_fc(req, &fib, &status) ? -EIO : 0; } @@ -90,6 +88,7 @@ u8 cc, status; fib.fmt = 1; + fib.gd = zdev->gisa; cc = zpci_mod_fc(req, &fib, &status); if (cc == 3 || (cc == 1 && status == 24)) /* Function already gone or IRQs already deregistered. */ @@ -153,6 +152,7 @@ static void zpci_handle_cpu_local_irq(bool rescan) { struct airq_iv *dibv = zpci_ibv[smp_processor_id()]; + union zpci_sic_iib iib = {{0}}; unsigned long bit; int irqs_on = 0; @@ -164,7 +164,7 @@ /* End of second scan with interrupts on. */ break; /* First scan complete, reenable interrupts. */ - if (zpci_set_irq_ctrl(SIC_IRQ_MODE_D_SINGLE, PCI_ISC)) + if (zpci_set_irq_ctrl(SIC_IRQ_MODE_D_SINGLE, PCI_ISC, &iib)) break; bit = 0; continue; @@ -192,6 +192,7 @@ static void zpci_handle_fallback_irq(void) { struct cpu_irq_data *cpu_data; + union zpci_sic_iib iib = {{0}}; unsigned long cpu; int irqs_on = 0; @@ -202,7 +203,7 @@ /* End of second scan with interrupts on. */ break; /* First scan complete, reenable interrupts. */ - if (zpci_set_irq_ctrl(SIC_IRQ_MODE_SINGLE, PCI_ISC)) + if (zpci_set_irq_ctrl(SIC_IRQ_MODE_SINGLE, PCI_ISC, &iib)) break; cpu = 0; continue; @@ -216,8 +217,11 @@ } } -static void zpci_directed_irq_handler(struct airq_struct *airq, bool floating) +static void zpci_directed_irq_handler(struct airq_struct *airq, + struct tpi_info *tpi_info) { + bool floating = !tpi_info->directed_irq; + if (floating) { inc_irq_stat(IRQIO_PCF); zpci_handle_fallback_irq(); @@ -227,8 +231,10 @@ } } -static void zpci_floating_irq_handler(struct airq_struct *airq, bool floating) +static void zpci_floating_irq_handler(struct airq_struct *airq, + struct tpi_info *tpi_info) { + union zpci_sic_iib iib = {{0}}; unsigned long si, ai; struct airq_iv *aibv; int irqs_on = 0; @@ -242,7 +248,7 @@ /* End of second scan with interrupts on. */ break; /* First scan complete, reenable interrupts. */ - if (zpci_set_irq_ctrl(SIC_IRQ_MODE_SINGLE, PCI_ISC)) + if (zpci_set_irq_ctrl(SIC_IRQ_MODE_SINGLE, PCI_ISC, &iib)) break; si = 0; continue; @@ -291,7 +297,7 @@ zdev->aisb = bit; /* Create adapter interrupt vector */ - zdev->aibv = airq_iv_create(msi_vecs, AIRQ_IV_DATA | AIRQ_IV_BITLOCK); + zdev->aibv = airq_iv_create(msi_vecs, AIRQ_IV_DATA | AIRQ_IV_BITLOCK, NULL); if (!zdev->aibv) return -ENOMEM; @@ -402,11 +408,12 @@ static void __init cpu_enable_directed_irq(void *unused) { union zpci_sic_iib iib = {{0}}; + union zpci_sic_iib ziib = {{0}}; iib.cdiib.dibv_addr = (u64) zpci_ibv[smp_processor_id()]->vector; - __zpci_set_irq_ctrl(SIC_IRQ_MODE_SET_CPU, 0, &iib); - zpci_set_irq_ctrl(SIC_IRQ_MODE_D_SINGLE, PCI_ISC); + zpci_set_irq_ctrl(SIC_IRQ_MODE_SET_CPU, 0, &iib); + zpci_set_irq_ctrl(SIC_IRQ_MODE_D_SINGLE, PCI_ISC, &ziib); } static int __init zpci_directed_irq_init(void) @@ -414,14 +421,14 @@ union zpci_sic_iib iib = {{0}}; unsigned int cpu; - zpci_sbv = airq_iv_create(num_possible_cpus(), 0); + zpci_sbv = airq_iv_create(num_possible_cpus(), 0, NULL); if (!zpci_sbv) return -ENOMEM; iib.diib.isc = PCI_ISC; iib.diib.nr_cpus = num_possible_cpus(); iib.diib.disb_addr = virt_to_phys(zpci_sbv->vector); - __zpci_set_irq_ctrl(SIC_IRQ_MODE_DIRECT, 0, &iib); + zpci_set_irq_ctrl(SIC_IRQ_MODE_DIRECT, 0, &iib); zpci_ibv = kcalloc(num_possible_cpus(), sizeof(*zpci_ibv), GFP_KERNEL); @@ -436,7 +443,7 @@ zpci_ibv[cpu] = airq_iv_create(cache_line_size() * BITS_PER_BYTE, AIRQ_IV_DATA | AIRQ_IV_CACHELINE | - (!cpu ? AIRQ_IV_ALLOC : 0)); + (!cpu ? AIRQ_IV_ALLOC : 0), NULL); if (!zpci_ibv[cpu]) return -ENOMEM; } @@ -453,7 +460,7 @@ if (!zpci_ibv) return -ENOMEM; - zpci_sbv = airq_iv_create(ZPCI_NR_DEVICES, AIRQ_IV_ALLOC); + zpci_sbv = airq_iv_create(ZPCI_NR_DEVICES, AIRQ_IV_ALLOC, NULL); if (!zpci_sbv) goto out_free; @@ -466,6 +473,7 @@ int __init zpci_irq_init(void) { + union zpci_sic_iib iib = {{0}}; int rc; irq_delivery = sclp.has_dirq ? DIRECTED : FLOATING; @@ -497,7 +505,7 @@ * Enable floating IRQs (with suppression after one IRQ). When using * directed IRQs this enables the fallback path. */ - zpci_set_irq_ctrl(SIC_IRQ_MODE_SINGLE, PCI_ISC); + zpci_set_irq_ctrl(SIC_IRQ_MODE_SINGLE, PCI_ISC, &iib); return 0; out_airq: --- linux-gcp-5.19.0.orig/arch/s390/pci/pci_kvm_hook.c +++ linux-gcp-5.19.0/arch/s390/pci/pci_kvm_hook.c @@ -0,0 +1,11 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * VFIO ZPCI devices support + * + * Copyright (C) IBM Corp. 2022. All rights reserved. + * Author(s): Pierre Morel + */ +#include + +struct zpci_kvm_hook zpci_kvm_hook; +EXPORT_SYMBOL_GPL(zpci_kvm_hook); --- linux-gcp-5.19.0.orig/arch/s390/pci/pci_mmio.c +++ linux-gcp-5.19.0/arch/s390/pci/pci_mmio.c @@ -64,7 +64,7 @@ asm volatile ( " sacf 256\n" "0: llgc %[tmp],0(%[src])\n" - " sllg %[val],%[val],8\n" + "4: sllg %[val],%[val],8\n" " aghi %[src],1\n" " ogr %[val],%[tmp]\n" " brctg %[cnt],0b\n" @@ -72,7 +72,7 @@ "2: ipm %[cc]\n" " srl %[cc],28\n" "3: sacf 768\n" - EX_TABLE(0b, 3b) EX_TABLE(1b, 3b) EX_TABLE(2b, 3b) + EX_TABLE(0b, 3b) EX_TABLE(4b, 3b) EX_TABLE(1b, 3b) EX_TABLE(2b, 3b) : [src] "+a" (src), [cnt] "+d" (cnt), [val] "+d" (val), [tmp] "=d" (tmp), @@ -215,10 +215,10 @@ "2: ahi %[shift],-8\n" " srlg %[tmp],%[val],0(%[shift])\n" "3: stc %[tmp],0(%[dst])\n" - " aghi %[dst],1\n" + "5: aghi %[dst],1\n" " brctg %[cnt],2b\n" "4: sacf 768\n" - EX_TABLE(0b, 4b) EX_TABLE(1b, 4b) EX_TABLE(3b, 4b) + EX_TABLE(0b, 4b) EX_TABLE(1b, 4b) EX_TABLE(3b, 4b) EX_TABLE(5b, 4b) : [ioaddr_len] "+&d" (ioaddr_len.pair), [cc] "+d" (cc), [val] "=d" (val), --- linux-gcp-5.19.0.orig/arch/sh/include/asm/sections.h +++ linux-gcp-5.19.0/arch/sh/include/asm/sections.h @@ -4,7 +4,7 @@ #include -extern long __machvec_start, __machvec_end; +extern char __machvec_start[], __machvec_end[]; extern char __uncached_start, __uncached_end; extern char __start_eh_frame[], __stop_eh_frame[]; --- linux-gcp-5.19.0.orig/arch/sh/kernel/machvec.c +++ linux-gcp-5.19.0/arch/sh/kernel/machvec.c @@ -20,8 +20,8 @@ #define MV_NAME_SIZE 32 #define for_each_mv(mv) \ - for ((mv) = (struct sh_machine_vector *)&__machvec_start; \ - (mv) && (unsigned long)(mv) < (unsigned long)&__machvec_end; \ + for ((mv) = (struct sh_machine_vector *)__machvec_start; \ + (mv) && (unsigned long)(mv) < (unsigned long)__machvec_end; \ (mv)++) static struct sh_machine_vector * __init get_mv_byname(const char *name) @@ -87,8 +87,8 @@ if (!machvec_selected) { unsigned long machvec_size; - machvec_size = ((unsigned long)&__machvec_end - - (unsigned long)&__machvec_start); + machvec_size = ((unsigned long)__machvec_end - + (unsigned long)__machvec_start); /* * Sanity check for machvec section alignment. Ensure @@ -102,7 +102,7 @@ * vector (usually the only one) from .machvec.init. */ if (machvec_size >= sizeof(struct sh_machine_vector)) - sh_mv = *(struct sh_machine_vector *)&__machvec_start; + sh_mv = *(struct sh_machine_vector *)__machvec_start; } pr_notice("Booting machvec: %s\n", get_system_type()); --- linux-gcp-5.19.0.orig/arch/sparc/Kconfig +++ linux-gcp-5.19.0/arch/sparc/Kconfig @@ -284,7 +284,7 @@ This config option is actually maximum order plus one. For example, a value of 13 means that the largest free memory block is 2^12 pages. -if SPARC64 +if SPARC64 || COMPILE_TEST source "kernel/power/Kconfig" endif --- linux-gcp-5.19.0.orig/arch/sparc/include/asm/smp_32.h +++ linux-gcp-5.19.0/arch/sparc/include/asm/smp_32.h @@ -33,9 +33,6 @@ extern cpumask_t smp_commenced_mask; extern struct linux_prom_registers smp_penguin_ctable; -typedef void (*smpfunc_t)(unsigned long, unsigned long, unsigned long, - unsigned long, unsigned long); - void cpu_panic(void); /* @@ -57,7 +54,7 @@ void smp_info(struct seq_file *); struct sparc32_ipi_ops { - void (*cross_call)(smpfunc_t func, cpumask_t mask, unsigned long arg1, + void (*cross_call)(void *func, cpumask_t mask, unsigned long arg1, unsigned long arg2, unsigned long arg3, unsigned long arg4); void (*resched)(int cpu); @@ -66,28 +63,28 @@ }; extern const struct sparc32_ipi_ops *sparc32_ipi_ops; -static inline void xc0(smpfunc_t func) +static inline void xc0(void *func) { sparc32_ipi_ops->cross_call(func, *cpu_online_mask, 0, 0, 0, 0); } -static inline void xc1(smpfunc_t func, unsigned long arg1) +static inline void xc1(void *func, unsigned long arg1) { sparc32_ipi_ops->cross_call(func, *cpu_online_mask, arg1, 0, 0, 0); } -static inline void xc2(smpfunc_t func, unsigned long arg1, unsigned long arg2) +static inline void xc2(void *func, unsigned long arg1, unsigned long arg2) { sparc32_ipi_ops->cross_call(func, *cpu_online_mask, arg1, arg2, 0, 0); } -static inline void xc3(smpfunc_t func, unsigned long arg1, unsigned long arg2, +static inline void xc3(void *func, unsigned long arg1, unsigned long arg2, unsigned long arg3) { sparc32_ipi_ops->cross_call(func, *cpu_online_mask, arg1, arg2, arg3, 0); } -static inline void xc4(smpfunc_t func, unsigned long arg1, unsigned long arg2, +static inline void xc4(void *func, unsigned long arg1, unsigned long arg2, unsigned long arg3, unsigned long arg4) { sparc32_ipi_ops->cross_call(func, *cpu_online_mask, --- linux-gcp-5.19.0.orig/arch/sparc/kernel/leon_smp.c +++ linux-gcp-5.19.0/arch/sparc/kernel/leon_smp.c @@ -359,7 +359,7 @@ } static struct smp_funcall { - smpfunc_t func; + void *func; unsigned long arg1; unsigned long arg2; unsigned long arg3; @@ -372,7 +372,7 @@ static DEFINE_SPINLOCK(cross_call_lock); /* Cross calls must be serialized, at least currently. */ -static void leon_cross_call(smpfunc_t func, cpumask_t mask, unsigned long arg1, +static void leon_cross_call(void *func, cpumask_t mask, unsigned long arg1, unsigned long arg2, unsigned long arg3, unsigned long arg4) { @@ -384,7 +384,7 @@ { /* If you make changes here, make sure gcc generates proper code... */ - register smpfunc_t f asm("i0") = func; + register void *f asm("i0") = func; register unsigned long a1 asm("i1") = arg1; register unsigned long a2 asm("i2") = arg2; register unsigned long a3 asm("i3") = arg3; @@ -444,11 +444,13 @@ /* Running cross calls. */ void leon_cross_call_irq(void) { + void (*func)(unsigned long, unsigned long, unsigned long, unsigned long, + unsigned long) = ccall_info.func; int i = smp_processor_id(); ccall_info.processors_in[i] = 1; - ccall_info.func(ccall_info.arg1, ccall_info.arg2, ccall_info.arg3, - ccall_info.arg4, ccall_info.arg5); + func(ccall_info.arg1, ccall_info.arg2, ccall_info.arg3, ccall_info.arg4, + ccall_info.arg5); ccall_info.processors_out[i] = 1; } --- linux-gcp-5.19.0.orig/arch/sparc/kernel/sun4d_smp.c +++ linux-gcp-5.19.0/arch/sparc/kernel/sun4d_smp.c @@ -268,7 +268,7 @@ } static struct smp_funcall { - smpfunc_t func; + void *func; unsigned long arg1; unsigned long arg2; unsigned long arg3; @@ -281,7 +281,7 @@ static DEFINE_SPINLOCK(cross_call_lock); /* Cross calls must be serialized, at least currently. */ -static void sun4d_cross_call(smpfunc_t func, cpumask_t mask, unsigned long arg1, +static void sun4d_cross_call(void *func, cpumask_t mask, unsigned long arg1, unsigned long arg2, unsigned long arg3, unsigned long arg4) { @@ -296,7 +296,7 @@ * If you make changes here, make sure * gcc generates proper code... */ - register smpfunc_t f asm("i0") = func; + register void *f asm("i0") = func; register unsigned long a1 asm("i1") = arg1; register unsigned long a2 asm("i2") = arg2; register unsigned long a3 asm("i3") = arg3; @@ -353,11 +353,13 @@ /* Running cross calls. */ void smp4d_cross_call_irq(void) { + void (*func)(unsigned long, unsigned long, unsigned long, unsigned long, + unsigned long) = ccall_info.func; int i = hard_smp_processor_id(); ccall_info.processors_in[i] = 1; - ccall_info.func(ccall_info.arg1, ccall_info.arg2, ccall_info.arg3, - ccall_info.arg4, ccall_info.arg5); + func(ccall_info.arg1, ccall_info.arg2, ccall_info.arg3, ccall_info.arg4, + ccall_info.arg5); ccall_info.processors_out[i] = 1; } --- linux-gcp-5.19.0.orig/arch/sparc/kernel/sun4m_smp.c +++ linux-gcp-5.19.0/arch/sparc/kernel/sun4m_smp.c @@ -157,7 +157,7 @@ } static struct smp_funcall { - smpfunc_t func; + void *func; unsigned long arg1; unsigned long arg2; unsigned long arg3; @@ -170,7 +170,7 @@ static DEFINE_SPINLOCK(cross_call_lock); /* Cross calls must be serialized, at least currently. */ -static void sun4m_cross_call(smpfunc_t func, cpumask_t mask, unsigned long arg1, +static void sun4m_cross_call(void *func, cpumask_t mask, unsigned long arg1, unsigned long arg2, unsigned long arg3, unsigned long arg4) { @@ -230,11 +230,13 @@ /* Running cross calls. */ void smp4m_cross_call_irq(void) { + void (*func)(unsigned long, unsigned long, unsigned long, unsigned long, + unsigned long) = ccall_info.func; int i = smp_processor_id(); ccall_info.processors_in[i] = 1; - ccall_info.func(ccall_info.arg1, ccall_info.arg2, ccall_info.arg3, - ccall_info.arg4, ccall_info.arg5); + func(ccall_info.arg1, ccall_info.arg2, ccall_info.arg3, ccall_info.arg4, + ccall_info.arg5); ccall_info.processors_out[i] = 1; } --- linux-gcp-5.19.0.orig/arch/sparc/mm/srmmu.c +++ linux-gcp-5.19.0/arch/sparc/mm/srmmu.c @@ -1636,19 +1636,19 @@ /* Local cross-calls. */ static void smp_flush_page_for_dma(unsigned long page) { - xc1((smpfunc_t) local_ops->page_for_dma, page); + xc1(local_ops->page_for_dma, page); local_ops->page_for_dma(page); } static void smp_flush_cache_all(void) { - xc0((smpfunc_t) local_ops->cache_all); + xc0(local_ops->cache_all); local_ops->cache_all(); } static void smp_flush_tlb_all(void) { - xc0((smpfunc_t) local_ops->tlb_all); + xc0(local_ops->tlb_all); local_ops->tlb_all(); } @@ -1659,7 +1659,7 @@ cpumask_copy(&cpu_mask, mm_cpumask(mm)); cpumask_clear_cpu(smp_processor_id(), &cpu_mask); if (!cpumask_empty(&cpu_mask)) - xc1((smpfunc_t) local_ops->cache_mm, (unsigned long) mm); + xc1(local_ops->cache_mm, (unsigned long)mm); local_ops->cache_mm(mm); } } @@ -1671,7 +1671,7 @@ cpumask_copy(&cpu_mask, mm_cpumask(mm)); cpumask_clear_cpu(smp_processor_id(), &cpu_mask); if (!cpumask_empty(&cpu_mask)) { - xc1((smpfunc_t) local_ops->tlb_mm, (unsigned long) mm); + xc1(local_ops->tlb_mm, (unsigned long)mm); if (atomic_read(&mm->mm_users) == 1 && current->active_mm == mm) cpumask_copy(mm_cpumask(mm), cpumask_of(smp_processor_id())); @@ -1691,8 +1691,8 @@ cpumask_copy(&cpu_mask, mm_cpumask(mm)); cpumask_clear_cpu(smp_processor_id(), &cpu_mask); if (!cpumask_empty(&cpu_mask)) - xc3((smpfunc_t) local_ops->cache_range, - (unsigned long) vma, start, end); + xc3(local_ops->cache_range, (unsigned long)vma, start, + end); local_ops->cache_range(vma, start, end); } } @@ -1708,8 +1708,8 @@ cpumask_copy(&cpu_mask, mm_cpumask(mm)); cpumask_clear_cpu(smp_processor_id(), &cpu_mask); if (!cpumask_empty(&cpu_mask)) - xc3((smpfunc_t) local_ops->tlb_range, - (unsigned long) vma, start, end); + xc3(local_ops->tlb_range, (unsigned long)vma, start, + end); local_ops->tlb_range(vma, start, end); } } @@ -1723,8 +1723,7 @@ cpumask_copy(&cpu_mask, mm_cpumask(mm)); cpumask_clear_cpu(smp_processor_id(), &cpu_mask); if (!cpumask_empty(&cpu_mask)) - xc2((smpfunc_t) local_ops->cache_page, - (unsigned long) vma, page); + xc2(local_ops->cache_page, (unsigned long)vma, page); local_ops->cache_page(vma, page); } } @@ -1738,8 +1737,7 @@ cpumask_copy(&cpu_mask, mm_cpumask(mm)); cpumask_clear_cpu(smp_processor_id(), &cpu_mask); if (!cpumask_empty(&cpu_mask)) - xc2((smpfunc_t) local_ops->tlb_page, - (unsigned long) vma, page); + xc2(local_ops->tlb_page, (unsigned long)vma, page); local_ops->tlb_page(vma, page); } } @@ -1753,7 +1751,7 @@ * XXX This experiment failed, research further... -DaveM */ #if 1 - xc1((smpfunc_t) local_ops->page_to_ram, page); + xc1(local_ops->page_to_ram, page); #endif local_ops->page_to_ram(page); } @@ -1764,8 +1762,7 @@ cpumask_copy(&cpu_mask, mm_cpumask(mm)); cpumask_clear_cpu(smp_processor_id(), &cpu_mask); if (!cpumask_empty(&cpu_mask)) - xc2((smpfunc_t) local_ops->sig_insns, - (unsigned long) mm, insn_addr); + xc2(local_ops->sig_insns, (unsigned long)mm, insn_addr); local_ops->sig_insns(mm, insn_addr); } --- linux-gcp-5.19.0.orig/arch/um/Makefile +++ linux-gcp-5.19.0/arch/um/Makefile @@ -132,10 +132,18 @@ # The wrappers will select whether using "malloc" or the kernel allocator. LINK_WRAPS = -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc +# Avoid binutils 2.39+ warnings by marking the stack non-executable and +# ignorning warnings for the kallsyms sections. +LDFLAGS_EXECSTACK = -z noexecstack +ifeq ($(CONFIG_LD_IS_BFD),y) +LDFLAGS_EXECSTACK += $(call ld-option,--no-warn-rwx-segments) +endif + LD_FLAGS_CMDLINE = $(foreach opt,$(KBUILD_LDFLAGS),-Wl,$(opt)) # Used by link-vmlinux.sh which has special support for um link export CFLAGS_vmlinux := $(LINK-y) $(LINK_WRAPS) $(LD_FLAGS_CMDLINE) +export LDFLAGS_vmlinux := $(LDFLAGS_EXECSTACK) # When cleaning we don't include .config, so we don't include # TT or skas makefiles and don't clean skas_ptregs.h. --- linux-gcp-5.19.0.orig/arch/um/drivers/random.c +++ linux-gcp-5.19.0/arch/um/drivers/random.c @@ -28,7 +28,7 @@ * protects against a module being loaded twice at the same time. */ static int random_fd = -1; -static struct hwrng hwrng = { 0, }; +static struct hwrng hwrng; static DECLARE_COMPLETION(have_data); static int rng_dev_read(struct hwrng *rng, void *buf, size_t max, bool block) --- linux-gcp-5.19.0.orig/arch/um/include/asm/archrandom.h +++ linux-gcp-5.19.0/arch/um/include/asm/archrandom.h @@ -0,0 +1,30 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __ASM_UM_ARCHRANDOM_H__ +#define __ASM_UM_ARCHRANDOM_H__ + +#include + +/* This is from , but better not to #include that in a global header here. */ +ssize_t os_getrandom(void *buf, size_t len, unsigned int flags); + +static inline bool __must_check arch_get_random_long(unsigned long *v) +{ + return os_getrandom(v, sizeof(*v), 0) == sizeof(*v); +} + +static inline bool __must_check arch_get_random_int(unsigned int *v) +{ + return os_getrandom(v, sizeof(*v), 0) == sizeof(*v); +} + +static inline bool __must_check arch_get_random_seed_long(unsigned long *v) +{ + return false; +} + +static inline bool __must_check arch_get_random_seed_int(unsigned int *v) +{ + return false; +} + +#endif --- linux-gcp-5.19.0.orig/arch/um/include/asm/xor.h +++ linux-gcp-5.19.0/arch/um/include/asm/xor.h @@ -18,7 +18,7 @@ #undef XOR_SELECT_TEMPLATE /* pick an arbitrary one - measuring isn't possible with inf-cpu */ #define XOR_SELECT_TEMPLATE(x) \ - (time_travel_mode == TT_MODE_INFCPU ? TT_CPU_INF_XOR_DEFAULT : x)) + (time_travel_mode == TT_MODE_INFCPU ? TT_CPU_INF_XOR_DEFAULT : x) #endif #endif --- linux-gcp-5.19.0.orig/arch/um/include/shared/os.h +++ linux-gcp-5.19.0/arch/um/include/shared/os.h @@ -11,6 +11,12 @@ #include #include #include +/* This is to get size_t */ +#ifndef __UM_HOST__ +#include +#else +#include +#endif #define CATCH_EINTR(expr) while ((errno = 0, ((expr) < 0)) && (errno == EINTR)) @@ -243,6 +249,7 @@ extern int raw(int fd); extern void setup_machinename(char *machine_out); extern void setup_hostinfo(char *buf, int len); +extern ssize_t os_getrandom(void *buf, size_t len, unsigned int flags); extern void os_dump_core(void) __attribute__ ((noreturn)); extern void um_early_printk(const char *s, unsigned int n); extern void os_fix_helper_signals(void); --- linux-gcp-5.19.0.orig/arch/um/kernel/um_arch.c +++ linux-gcp-5.19.0/arch/um/kernel/um_arch.c @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -32,7 +33,7 @@ #include "um_arch.h" #define DEFAULT_COMMAND_LINE_ROOT "root=98:0" -#define DEFAULT_COMMAND_LINE_CONSOLE "console=tty" +#define DEFAULT_COMMAND_LINE_CONSOLE "console=tty0" /* Changed in add_arg and setup_arch, which run before SMP is started */ static char __initdata command_line[COMMAND_LINE_SIZE] = { 0 }; @@ -95,7 +96,7 @@ static void *c_start(struct seq_file *m, loff_t *pos) { - return *pos < NR_CPUS ? cpu_data + *pos : NULL; + return *pos < nr_cpu_ids ? cpu_data + *pos : NULL; } static void *c_next(struct seq_file *m, void *v, loff_t *pos) @@ -406,6 +407,8 @@ void __init setup_arch(char **cmdline_p) { + u8 rng_seed[32]; + stack_protections((unsigned long) &init_thread_info); setup_physmem(uml_physmem, uml_reserved, physmem_size, highmem); mem_total_pages(physmem_size, iomem_size, highmem); @@ -416,6 +419,11 @@ strlcpy(boot_command_line, command_line, COMMAND_LINE_SIZE); *cmdline_p = command_line; setup_hostinfo(host_info, sizeof host_info); + + if (os_getrandom(rng_seed, sizeof(rng_seed), 0) == sizeof(rng_seed)) { + add_bootloader_randomness(rng_seed, sizeof(rng_seed)); + memzero_explicit(rng_seed, sizeof(rng_seed)); + } } void __init check_bugs(void) --- linux-gcp-5.19.0.orig/arch/um/os-Linux/skas/process.c +++ linux-gcp-5.19.0/arch/um/os-Linux/skas/process.c @@ -5,6 +5,7 @@ */ #include +#include #include #include #include @@ -707,10 +708,24 @@ UML_LONGJMP(&initial_jmpbuf, INIT_JMP_HALT); } +static bool noreboot; + +static int __init noreboot_cmd_param(char *str, int *add) +{ + noreboot = true; + return 0; +} + +__uml_setup("noreboot", noreboot_cmd_param, +"noreboot\n" +" Rather than rebooting, exit always, akin to QEMU's -no-reboot option.\n" +" This is useful if you're using CONFIG_PANIC_TIMEOUT in order to catch\n" +" crashes in CI\n"); + void reboot_skas(void) { block_signals_trace(); - UML_LONGJMP(&initial_jmpbuf, INIT_JMP_REBOOT); + UML_LONGJMP(&initial_jmpbuf, noreboot ? INIT_JMP_HALT : INIT_JMP_REBOOT); } void __switch_mm(struct mm_id *mm_idp) --- linux-gcp-5.19.0.orig/arch/um/os-Linux/util.c +++ linux-gcp-5.19.0/arch/um/os-Linux/util.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include @@ -96,6 +97,11 @@ exit(127); } +ssize_t os_getrandom(void *buf, size_t len, unsigned int flags) +{ + return getrandom(buf, len, flags); +} + /* * UML helper threads must not handle SIGWINCH/INT/TERM */ --- linux-gcp-5.19.0.orig/arch/x86/Kconfig +++ linux-gcp-5.19.0/arch/x86/Kconfig @@ -278,6 +278,7 @@ select SYSCTL_EXCEPTION_TRACE select THREAD_INFO_IN_TASK select TRACE_IRQFLAGS_SUPPORT + select TRACE_IRQFLAGS_NMI_SUPPORT select USER_STACKTRACE_SUPPORT select VIRT_TO_BUS select HAVE_ARCH_KCSAN if X86_64 @@ -449,6 +450,11 @@ This allows 32-bit apic IDs (so it can support very large systems), and accesses the local apic via MSRs not via mmio. + Some Intel systems circa 2022 and later are locked into x2APIC mode + and can not fall back to the legacy APIC modes if SGX or TDX are + enabled in the BIOS. They will be unable to boot without enabling + this option. + If you don't know what to do here, say N. config X86_MPPARSE @@ -1929,7 +1935,7 @@ config X86_SGX bool "Software Guard eXtensions (SGX)" - depends on X86_64 && CPU_SUP_INTEL + depends on X86_64 && CPU_SUP_INTEL && X86_X2APIC depends on CRYPTO=y depends on CRYPTO_SHA256=y select SRCU @@ -1966,7 +1972,6 @@ config EFI_STUB bool "EFI stub support" depends on EFI - depends on $(cc-option,-mabi=ms) || X86_32 select RELOCATABLE help This kernel feature allows a bzImage to be loaded directly --- linux-gcp-5.19.0.orig/arch/x86/Kconfig.debug +++ linux-gcp-5.19.0/arch/x86/Kconfig.debug @@ -1,8 +1,5 @@ # SPDX-License-Identifier: GPL-2.0 -config TRACE_IRQFLAGS_NMI_SUPPORT - def_bool y - config EARLY_PRINTK_USB bool --- linux-gcp-5.19.0.orig/arch/x86/boot/Makefile +++ linux-gcp-5.19.0/arch/x86/boot/Makefile @@ -103,7 +103,7 @@ AFLAGS_header.o += -I$(objtree)/$(obj) $(obj)/header.o: $(obj)/zoffset.h -LDFLAGS_setup.elf := -m elf_i386 -T +LDFLAGS_setup.elf := -m elf_i386 -z noexecstack -T $(obj)/setup.elf: $(src)/setup.ld $(SETUP_OBJS) FORCE $(call if_changed,ld) --- linux-gcp-5.19.0.orig/arch/x86/boot/bioscall.S +++ linux-gcp-5.19.0/arch/x86/boot/bioscall.S @@ -32,7 +32,7 @@ movw %dx, %si movw %sp, %di movw $11, %cx - rep; movsd + rep; movsl /* Pop full state from the stack */ popal @@ -67,7 +67,7 @@ jz 4f movw %sp, %si movw $11, %cx - rep; movsd + rep; movsl 4: addw $44, %sp /* Restore state and return */ --- linux-gcp-5.19.0.orig/arch/x86/boot/compressed/Makefile +++ linux-gcp-5.19.0/arch/x86/boot/compressed/Makefile @@ -69,6 +69,10 @@ ifdef CONFIG_LD_ORPHAN_WARN LDFLAGS_vmlinux += --orphan-handling=warn endif +LDFLAGS_vmlinux += -z noexecstack +ifeq ($(CONFIG_LD_IS_BFD),y) +LDFLAGS_vmlinux += $(call ld-option,--no-warn-rwx-segments) +endif LDFLAGS_vmlinux += -T hostprogs := mkpiggy --- linux-gcp-5.19.0.orig/arch/x86/boot/compressed/ident_map_64.c +++ linux-gcp-5.19.0/arch/x86/boot/compressed/ident_map_64.c @@ -180,6 +180,12 @@ /* Load the new page-table. */ write_cr3(top_level_pgt); + + /* + * Now that the required page table mappings are established and a + * GHCB can be used, check for SNP guest/HV feature compatibility. + */ + snp_check_features(); } static pte_t *split_large_pmd(struct x86_mapping_info *info, --- linux-gcp-5.19.0.orig/arch/x86/boot/compressed/misc.h +++ linux-gcp-5.19.0/arch/x86/boot/compressed/misc.h @@ -126,13 +126,25 @@ #ifdef CONFIG_AMD_MEM_ENCRYPT void sev_enable(struct boot_params *bp); +void snp_check_features(void); void sev_es_shutdown_ghcb(void); extern bool sev_es_check_ghcb_fault(unsigned long address); void snp_set_page_private(unsigned long paddr); void snp_set_page_shared(unsigned long paddr); void sev_prep_identity_maps(unsigned long top_level_pgt); #else -static inline void sev_enable(struct boot_params *bp) { } +static inline void sev_enable(struct boot_params *bp) +{ + /* + * bp->cc_blob_address should only be set by boot/compressed kernel. + * Initialize it to 0 unconditionally (thus here in this stub too) to + * ensure that uninitialized values from buggy bootloaders aren't + * propagated. + */ + if (bp) + bp->cc_blob_address = 0; +} +static inline void snp_check_features(void) { } static inline void sev_es_shutdown_ghcb(void) { } static inline bool sev_es_check_ghcb_fault(unsigned long address) { --- linux-gcp-5.19.0.orig/arch/x86/boot/compressed/sev.c +++ linux-gcp-5.19.0/arch/x86/boot/compressed/sev.c @@ -208,6 +208,23 @@ error("Can't unmap GHCB page"); } +static void __noreturn sev_es_ghcb_terminate(struct ghcb *ghcb, unsigned int set, + unsigned int reason, u64 exit_info_2) +{ + u64 exit_info_1 = SVM_VMGEXIT_TERM_REASON(set, reason); + + vc_ghcb_invalidate(ghcb); + ghcb_set_sw_exit_code(ghcb, SVM_VMGEXIT_TERM_REQUEST); + ghcb_set_sw_exit_info_1(ghcb, exit_info_1); + ghcb_set_sw_exit_info_2(ghcb, exit_info_2); + + sev_es_wr_ghcb_msr(__pa(ghcb)); + VMGEXIT(); + + while (true) + asm volatile("hlt\n" : : : "memory"); +} + bool sev_es_check_ghcb_fault(unsigned long address) { /* Check whether the fault was on the GHCB page */ @@ -270,6 +287,59 @@ sev_es_terminate(SEV_TERM_SET_LINUX, GHCB_TERM_NOT_VMPL0); } +/* + * SNP_FEATURES_IMPL_REQ is the mask of SNP features that will need + * guest side implementation for proper functioning of the guest. If any + * of these features are enabled in the hypervisor but are lacking guest + * side implementation, the behavior of the guest will be undefined. The + * guest could fail in non-obvious way making it difficult to debug. + * + * As the behavior of reserved feature bits is unknown to be on the + * safe side add them to the required features mask. + */ +#define SNP_FEATURES_IMPL_REQ (MSR_AMD64_SNP_VTOM | \ + MSR_AMD64_SNP_REFLECT_VC | \ + MSR_AMD64_SNP_RESTRICTED_INJ | \ + MSR_AMD64_SNP_ALT_INJ | \ + MSR_AMD64_SNP_DEBUG_SWAP | \ + MSR_AMD64_SNP_VMPL_SSS | \ + MSR_AMD64_SNP_SECURE_TSC | \ + MSR_AMD64_SNP_VMGEXIT_PARAM | \ + MSR_AMD64_SNP_VMSA_REG_PROTECTION | \ + MSR_AMD64_SNP_RESERVED_BIT13 | \ + MSR_AMD64_SNP_RESERVED_BIT15 | \ + MSR_AMD64_SNP_RESERVED_MASK) + +/* + * SNP_FEATURES_PRESENT is the mask of SNP features that are implemented + * by the guest kernel. As and when a new feature is implemented in the + * guest kernel, a corresponding bit should be added to the mask. + */ +#define SNP_FEATURES_PRESENT (0) + +void snp_check_features(void) +{ + u64 unsupported; + + if (!(sev_status & MSR_AMD64_SEV_SNP_ENABLED)) + return; + + /* + * Terminate the boot if hypervisor has enabled any feature lacking + * guest side implementation. Pass on the unsupported features mask through + * EXIT_INFO_2 of the GHCB protocol so that those features can be reported + * as part of the guest boot failure. + */ + unsupported = sev_status & SNP_FEATURES_IMPL_REQ & ~SNP_FEATURES_PRESENT; + if (unsupported) { + if (ghcb_version < 2 || (!boot_ghcb && !early_setup_ghcb())) + sev_es_terminate(SEV_TERM_SET_GEN, GHCB_SNP_UNSUPPORTED); + + sev_es_ghcb_terminate(boot_ghcb, SEV_TERM_SET_GEN, + GHCB_SNP_UNSUPPORTED, unsupported); + } +} + void sev_enable(struct boot_params *bp) { unsigned int eax, ebx, ecx, edx; @@ -277,6 +347,14 @@ bool snp; /* + * bp->cc_blob_address should only be set by boot/compressed kernel. + * Initialize it to 0 to ensure that uninitialized values from + * buggy bootloaders aren't propagated. + */ + if (bp) + bp->cc_blob_address = 0; + + /* * Setup/preliminary detection of SNP. This will be sanity-checked * against CPUID/MSR values later. */ --- linux-gcp-5.19.0.orig/arch/x86/boot/video-vga.c +++ linux-gcp-5.19.0/arch/x86/boot/video-vga.c @@ -188,7 +188,7 @@ vga_set_vertical_end(60*8); } -static int vga_set_mode(struct mode_info *mode) +static int __attribute__((optimize("no-jump-tables"))) vga_set_mode(struct mode_info *mode) { /* Set the basic mode */ vga_set_basic_mode(); --- linux-gcp-5.19.0.orig/arch/x86/coco/tdx/tdx.c +++ linux-gcp-5.19.0/arch/x86/coco/tdx/tdx.c @@ -5,6 +5,8 @@ #define pr_fmt(fmt) "tdx: " fmt #include +#include +#include #include #include #include @@ -15,6 +17,7 @@ /* TDX module Call Leaf IDs */ #define TDX_GET_INFO 1 #define TDX_GET_VEINFO 3 +#define TDX_GET_REPORT 4 #define TDX_ACCEPT_PAGE 6 /* TDX hypercall Leaf IDs */ @@ -34,6 +37,14 @@ #define VE_GET_PORT_NUM(e) ((e) >> 16) #define VE_IS_IO_STRING(e) ((e) & BIT(4)) +#define ATTR_SEPT_VE_DISABLE BIT(28) + +/* TDX Module call error codes */ +#define TDCALL_RETURN_CODE(a) ((a) >> 32) +#define TDCALL_INVALID_OPERAND 0xc0000100 + +#define TDREPORT_SUBTYPE_0 0 + /* * Wrapper for standard use of __tdx_hypercall with no output aside from * return code. @@ -98,10 +109,42 @@ panic("TDCALL %lld failed (Buggy TDX module!)\n", fn); } -static u64 get_cc_mask(void) +/** + * tdx_mcall_get_report0() - Wrapper to get TDREPORT0 (a.k.a. TDREPORT + * subtype 0) using TDG.MR.REPORT TDCALL. + * @reportdata: Address of the input buffer which contains user-defined + * REPORTDATA to be included into TDREPORT. + * @tdreport: Address of the output buffer to store TDREPORT. + * + * Refer to section titled "TDG.MR.REPORT leaf" in the TDX Module + * v1.0 specification for more information on TDG.MR.REPORT TDCALL. + * It is used in the TDX guest driver module to get the TDREPORT0. + * + * Return 0 on success, -EINVAL for invalid operands, or -EIO on + * other TDCALL failures. + */ +int tdx_mcall_get_report0(u8 *reportdata, u8 *tdreport) +{ + u64 ret; + + ret = __tdx_module_call(TDX_GET_REPORT, virt_to_phys(tdreport), + virt_to_phys(reportdata), TDREPORT_SUBTYPE_0, + 0, NULL); + if (ret) { + if (TDCALL_RETURN_CODE(ret) == TDCALL_INVALID_OPERAND) + return -EINVAL; + return -EIO; + } + + return 0; +} +EXPORT_SYMBOL_GPL(tdx_mcall_get_report0); + +static void tdx_parse_tdinfo(u64 *cc_mask) { struct tdx_module_output out; unsigned int gpa_width; + u64 td_attr; /* * TDINFO TDX module call is used to get the TD execution environment @@ -109,19 +152,27 @@ * information, etc. More details about the ABI can be found in TDX * Guest-Host-Communication Interface (GHCI), section 2.4.2 TDCALL * [TDG.VP.INFO]. + */ + tdx_module_call(TDX_GET_INFO, 0, 0, 0, 0, &out); + + /* + * The highest bit of a guest physical address is the "sharing" bit. + * Set it for shared pages and clear it for private pages. * * The GPA width that comes out of this call is critical. TDX guests * can not meaningfully run without it. */ - tdx_module_call(TDX_GET_INFO, 0, 0, 0, 0, &out); - gpa_width = out.rcx & GENMASK(5, 0); + *cc_mask = BIT_ULL(gpa_width - 1); /* - * The highest bit of a guest physical address is the "sharing" bit. - * Set it for shared pages and clear it for private pages. + * The kernel can not handle #VE's when accessing normal kernel + * memory. Ensure that no #VE will be delivered for accesses to + * TD-private memory. Only VMM-shared memory (MMIO) will #VE. */ - return BIT_ULL(gpa_width - 1); + td_attr = out.rdx; + if (!(td_attr & ATTR_SEPT_VE_DISABLE)) + panic("TD misconfiguration: SEPT_VE_DISABLE attibute must be set.\n"); } /* @@ -758,7 +809,7 @@ setup_force_cpu_cap(X86_FEATURE_TDX_GUEST); cc_set_vendor(CC_VENDOR_INTEL); - cc_mask = get_cc_mask(); + tdx_parse_tdinfo(&cc_mask); cc_set_mask(cc_mask); /* --- linux-gcp-5.19.0.orig/arch/x86/crypto/Makefile +++ linux-gcp-5.19.0/arch/x86/crypto/Makefile @@ -61,9 +61,7 @@ obj-$(CONFIG_CRYPTO_SHA512_SSSE3) += sha512-ssse3.o sha512-ssse3-y := sha512-ssse3-asm.o sha512-avx-asm.o sha512-avx2-asm.o sha512_ssse3_glue.o -obj-$(CONFIG_CRYPTO_BLAKE2S_X86) += blake2s-x86_64.o -blake2s-x86_64-y := blake2s-shash.o -obj-$(if $(CONFIG_CRYPTO_BLAKE2S_X86),y) += libblake2s-x86_64.o +obj-$(CONFIG_CRYPTO_BLAKE2S_X86) += libblake2s-x86_64.o libblake2s-x86_64-y := blake2s-core.o blake2s-glue.o obj-$(CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL) += ghash-clmulni-intel.o --- linux-gcp-5.19.0.orig/arch/x86/crypto/blake2s-glue.c +++ linux-gcp-5.19.0/arch/x86/crypto/blake2s-glue.c @@ -4,7 +4,6 @@ */ #include -#include #include #include @@ -33,7 +32,7 @@ /* SIMD disables preemption, so relax after processing each page. */ BUILD_BUG_ON(SZ_4K / BLAKE2S_BLOCK_SIZE < 8); - if (!static_branch_likely(&blake2s_use_ssse3) || !crypto_simd_usable()) { + if (!static_branch_likely(&blake2s_use_ssse3) || !may_use_simd()) { blake2s_compress_generic(state, block, nblocks, inc); return; } --- linux-gcp-5.19.0.orig/arch/x86/crypto/ghash-clmulni-intel_glue.c +++ linux-gcp-5.19.0/arch/x86/crypto/ghash-clmulni-intel_glue.c @@ -19,6 +19,7 @@ #include #include #include +#include #define GHASH_BLOCK_SIZE 16 #define GHASH_DIGEST_SIZE 16 @@ -54,15 +55,14 @@ const u8 *key, unsigned int keylen) { struct ghash_ctx *ctx = crypto_shash_ctx(tfm); - be128 *x = (be128 *)key; u64 a, b; if (keylen != GHASH_BLOCK_SIZE) return -EINVAL; /* perform multiplication by 'x' in GF(2^128) */ - a = be64_to_cpu(x->a); - b = be64_to_cpu(x->b); + a = get_unaligned_be64(key); + b = get_unaligned_be64(key + 8); ctx->shash.a = (b << 1) | (a >> 63); ctx->shash.b = (a << 1) | (b >> 63); --- linux-gcp-5.19.0.orig/arch/x86/entry/Makefile +++ linux-gcp-5.19.0/arch/x86/entry/Makefile @@ -11,12 +11,13 @@ CFLAGS_common.o += -fno-stack-protector -obj-y := entry.o entry_$(BITS).o thunk_$(BITS).o syscall_$(BITS).o +obj-y := entry.o entry_$(BITS).o syscall_$(BITS).o obj-y += common.o obj-y += vdso/ obj-y += vsyscall/ +obj-$(CONFIG_PREEMPTION) += thunk_$(BITS).o obj-$(CONFIG_IA32_EMULATION) += entry_64_compat.o syscall_32.o obj-$(CONFIG_X86_X32_ABI) += syscall_x32.o --- linux-gcp-5.19.0.orig/arch/x86/entry/entry_64_compat.S +++ linux-gcp-5.19.0/arch/x86/entry/entry_64_compat.S @@ -311,7 +311,7 @@ * Interrupts are off on entry. */ ASM_CLAC /* Do this early to minimize exposure */ - SWAPGS + ALTERNATIVE "swapgs", "", X86_FEATURE_XENPV /* * User tracing code (ptrace or signal handlers) might assume that --- linux-gcp-5.19.0.orig/arch/x86/entry/thunk_32.S +++ linux-gcp-5.19.0/arch/x86/entry/thunk_32.S @@ -29,10 +29,8 @@ SYM_CODE_END(\name) .endm -#ifdef CONFIG_PREEMPTION THUNK preempt_schedule_thunk, preempt_schedule THUNK preempt_schedule_notrace_thunk, preempt_schedule_notrace EXPORT_SYMBOL(preempt_schedule_thunk) EXPORT_SYMBOL(preempt_schedule_notrace_thunk) -#endif --- linux-gcp-5.19.0.orig/arch/x86/entry/thunk_64.S +++ linux-gcp-5.19.0/arch/x86/entry/thunk_64.S @@ -31,14 +31,11 @@ _ASM_NOKPROBE(\name) .endm -#ifdef CONFIG_PREEMPTION THUNK preempt_schedule_thunk, preempt_schedule THUNK preempt_schedule_notrace_thunk, preempt_schedule_notrace EXPORT_SYMBOL(preempt_schedule_thunk) EXPORT_SYMBOL(preempt_schedule_notrace_thunk) -#endif -#ifdef CONFIG_PREEMPTION SYM_CODE_START_LOCAL_NOALIGN(__thunk_restore) popq %r11 popq %r10 @@ -53,4 +50,3 @@ RET _ASM_NOKPROBE(__thunk_restore) SYM_CODE_END(__thunk_restore) -#endif --- linux-gcp-5.19.0.orig/arch/x86/entry/vdso/Makefile +++ linux-gcp-5.19.0/arch/x86/entry/vdso/Makefile @@ -180,7 +180,7 @@ sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@' VDSO_LDFLAGS = -shared --hash-style=both --build-id=sha1 \ - $(call ld-option, --eh-frame-hdr) -Bsymbolic + $(call ld-option, --eh-frame-hdr) -Bsymbolic -z noexecstack GCOV_PROFILE := n quiet_cmd_vdso_and_check = VDSO $@ --- linux-gcp-5.19.0.orig/arch/x86/entry/vdso/vdso.lds.S +++ linux-gcp-5.19.0/arch/x86/entry/vdso/vdso.lds.S @@ -27,7 +27,9 @@ __vdso_time; clock_getres; __vdso_clock_getres; +#ifdef CONFIG_X86_SGX __vdso_sgx_enter_enclave; +#endif local: *; }; } --- linux-gcp-5.19.0.orig/arch/x86/events/amd/core.c +++ linux-gcp-5.19.0/arch/x86/events/amd/core.c @@ -896,8 +896,7 @@ pmu_enabled = cpuc->enabled; cpuc->enabled = 0; - /* stop everything (includes BRS) */ - amd_pmu_disable_all(); + amd_brs_disable_all(); /* Drain BRS is in use (could be inactive) */ if (cpuc->lbr_users) @@ -908,7 +907,7 @@ cpuc->enabled = pmu_enabled; if (pmu_enabled) - amd_pmu_enable_all(0); + amd_brs_enable_all(); return amd_pmu_adjust_nmi_window(handled); } @@ -1408,7 +1407,7 @@ * numbered counter following it. */ for (i = 0; i < x86_pmu.num_counters - 1; i += 2) - even_ctr_mask |= 1 << i; + even_ctr_mask |= BIT_ULL(i); pair_constraint = (struct event_constraint) __EVENT_CONSTRAINT(0, even_ctr_mask, 0, --- linux-gcp-5.19.0.orig/arch/x86/events/intel/core.c +++ linux-gcp-5.19.0/arch/x86/events/intel/core.c @@ -2101,6 +2101,15 @@ EVENT_EXTRA_END }; +EVENT_ATTR_STR(mem-loads, mem_ld_grt, "event=0xd0,umask=0x5,ldlat=3"); +EVENT_ATTR_STR(mem-stores, mem_st_grt, "event=0xd0,umask=0x6"); + +static struct attribute *grt_mem_attrs[] = { + EVENT_PTR(mem_ld_grt), + EVENT_PTR(mem_st_grt), + NULL +}; + static struct extra_reg intel_grt_extra_regs[] __read_mostly = { /* must define OFFCORE_RSP_X first, see intel_fixup_er() */ INTEL_UEVENT_EXTRA_REG(0x01b7, MSR_OFFCORE_RSP_0, 0x3fffffffffull, RSP_0), @@ -4141,6 +4150,8 @@ { struct event_constraint *c; + c = intel_get_event_constraints(cpuc, idx, event); + /* * :ppp means to do reduced skid PEBS, * which is available on PMC0 and fixed counter 0. @@ -4153,8 +4164,6 @@ return &counter0_constraint; } - c = intel_get_event_constraints(cpuc, idx, event); - return c; } @@ -4783,6 +4792,7 @@ INTEL_CPU_DESC(INTEL_FAM6_SKYLAKE_X, 5, 0x00000000), INTEL_CPU_DESC(INTEL_FAM6_SKYLAKE_X, 6, 0x00000000), INTEL_CPU_DESC(INTEL_FAM6_SKYLAKE_X, 7, 0x00000000), + INTEL_CPU_DESC(INTEL_FAM6_SKYLAKE_X, 11, 0x00000000), INTEL_CPU_DESC(INTEL_FAM6_SKYLAKE_L, 3, 0x0000007c), INTEL_CPU_DESC(INTEL_FAM6_SKYLAKE, 3, 0x0000007c), INTEL_CPU_DESC(INTEL_FAM6_KABYLAKE, 9, 0x0000004e), @@ -5874,6 +5884,36 @@ name = "Tremont"; break; + case INTEL_FAM6_ALDERLAKE_N: + x86_pmu.mid_ack = true; + memcpy(hw_cache_event_ids, glp_hw_cache_event_ids, + sizeof(hw_cache_event_ids)); + memcpy(hw_cache_extra_regs, tnt_hw_cache_extra_regs, + sizeof(hw_cache_extra_regs)); + hw_cache_event_ids[C(ITLB)][C(OP_READ)][C(RESULT_ACCESS)] = -1; + + x86_pmu.event_constraints = intel_slm_event_constraints; + x86_pmu.pebs_constraints = intel_grt_pebs_event_constraints; + x86_pmu.extra_regs = intel_grt_extra_regs; + + x86_pmu.pebs_aliases = NULL; + x86_pmu.pebs_prec_dist = true; + x86_pmu.pebs_block = true; + x86_pmu.lbr_pt_coexist = true; + x86_pmu.flags |= PMU_FL_HAS_RSP_1; + x86_pmu.flags |= PMU_FL_INSTR_LATENCY; + + intel_pmu_pebs_data_source_grt(); + x86_pmu.pebs_latency_data = adl_latency_data_small; + x86_pmu.get_event_constraints = tnt_get_event_constraints; + x86_pmu.limit_period = spr_limit_period; + td_attr = tnt_events_attrs; + mem_attr = grt_mem_attrs; + extra_attr = nhm_format_attr; + pr_cont("Gracemont events, "); + name = "gracemont"; + break; + case INTEL_FAM6_WESTMERE: case INTEL_FAM6_WESTMERE_EP: case INTEL_FAM6_WESTMERE_EX: @@ -6178,6 +6218,7 @@ break; case INTEL_FAM6_SAPPHIRERAPIDS_X: + case INTEL_FAM6_EMERALDRAPIDS_X: pmem = true; x86_pmu.late_ack = true; memcpy(hw_cache_event_ids, spr_hw_cache_event_ids, sizeof(hw_cache_event_ids)); @@ -6216,7 +6257,6 @@ case INTEL_FAM6_ALDERLAKE: case INTEL_FAM6_ALDERLAKE_L: - case INTEL_FAM6_ALDERLAKE_N: case INTEL_FAM6_RAPTORLAKE: case INTEL_FAM6_RAPTORLAKE_P: /* @@ -6241,7 +6281,8 @@ x86_pmu.flags |= PMU_FL_INSTR_LATENCY; x86_pmu.flags |= PMU_FL_MEM_LOADS_AUX; x86_pmu.lbr_pt_coexist = true; - intel_pmu_pebs_data_source_skl(false); + intel_pmu_pebs_data_source_adl(); + x86_pmu.pebs_latency_data = adl_latency_data_small; x86_pmu.num_topdown_events = 8; x86_pmu.update_topdown_event = adl_update_topdown_event; x86_pmu.set_topdown_event_period = adl_set_topdown_event_period; --- linux-gcp-5.19.0.orig/arch/x86/events/intel/ds.c +++ linux-gcp-5.19.0/arch/x86/events/intel/ds.c @@ -94,15 +94,45 @@ pebs_data_source[0x07] = OP_LH | P(LVL, L3) | LEVEL(L3) | P(SNOOP, HITM); } -void __init intel_pmu_pebs_data_source_skl(bool pmem) +static void __init __intel_pmu_pebs_data_source_skl(bool pmem, u64 *data_source) { u64 pmem_or_l4 = pmem ? LEVEL(PMEM) : LEVEL(L4); - pebs_data_source[0x08] = OP_LH | pmem_or_l4 | P(SNOOP, HIT); - pebs_data_source[0x09] = OP_LH | pmem_or_l4 | REM | P(SNOOP, HIT); - pebs_data_source[0x0b] = OP_LH | LEVEL(RAM) | REM | P(SNOOP, NONE); - pebs_data_source[0x0c] = OP_LH | LEVEL(ANY_CACHE) | REM | P(SNOOPX, FWD); - pebs_data_source[0x0d] = OP_LH | LEVEL(ANY_CACHE) | REM | P(SNOOP, HITM); + data_source[0x08] = OP_LH | pmem_or_l4 | P(SNOOP, HIT); + data_source[0x09] = OP_LH | pmem_or_l4 | REM | P(SNOOP, HIT); + data_source[0x0b] = OP_LH | LEVEL(RAM) | REM | P(SNOOP, NONE); + data_source[0x0c] = OP_LH | LEVEL(ANY_CACHE) | REM | P(SNOOPX, FWD); + data_source[0x0d] = OP_LH | LEVEL(ANY_CACHE) | REM | P(SNOOP, HITM); +} + +void __init intel_pmu_pebs_data_source_skl(bool pmem) +{ + __intel_pmu_pebs_data_source_skl(pmem, pebs_data_source); +} + +static void __init __intel_pmu_pebs_data_source_grt(u64 *data_source) +{ + data_source[0x05] = OP_LH | P(LVL, L3) | LEVEL(L3) | P(SNOOP, HIT); + data_source[0x06] = OP_LH | P(LVL, L3) | LEVEL(L3) | P(SNOOP, HITM); + data_source[0x08] = OP_LH | P(LVL, L3) | LEVEL(L3) | P(SNOOPX, FWD); +} + +void __init intel_pmu_pebs_data_source_grt(void) +{ + __intel_pmu_pebs_data_source_grt(pebs_data_source); +} + +void __init intel_pmu_pebs_data_source_adl(void) +{ + u64 *data_source; + + data_source = x86_pmu.hybrid_pmu[X86_HYBRID_PMU_CORE_IDX].pebs_data_source; + memcpy(data_source, pebs_data_source, sizeof(pebs_data_source)); + __intel_pmu_pebs_data_source_skl(false, data_source); + + data_source = x86_pmu.hybrid_pmu[X86_HYBRID_PMU_ATOM_IDX].pebs_data_source; + memcpy(data_source, pebs_data_source, sizeof(pebs_data_source)); + __intel_pmu_pebs_data_source_grt(data_source); } static u64 precise_store_data(u64 status) @@ -171,7 +201,50 @@ return dse.val; } -static u64 load_latency_data(u64 status) +static inline void pebs_set_tlb_lock(u64 *val, bool tlb, bool lock) +{ + /* + * TLB access + * 0 = did not miss 2nd level TLB + * 1 = missed 2nd level TLB + */ + if (tlb) + *val |= P(TLB, MISS) | P(TLB, L2); + else + *val |= P(TLB, HIT) | P(TLB, L1) | P(TLB, L2); + + /* locked prefix */ + if (lock) + *val |= P(LOCK, LOCKED); +} + +/* Retrieve the latency data for e-core of ADL */ +u64 adl_latency_data_small(struct perf_event *event, u64 status) +{ + union intel_x86_pebs_dse dse; + u64 val; + + WARN_ON_ONCE(hybrid_pmu(event->pmu)->cpu_type == hybrid_big); + + dse.val = status; + + val = hybrid_var(event->pmu, pebs_data_source)[dse.ld_dse]; + + /* + * For the atom core on ADL, + * bit 4: lock, bit 5: TLB access. + */ + pebs_set_tlb_lock(&val, dse.ld_locked, dse.ld_stlb_miss); + + if (dse.ld_data_blk) + val |= P(BLK, DATA); + else + val |= P(BLK, NA); + + return val; +} + +static u64 load_latency_data(struct perf_event *event, u64 status) { union intel_x86_pebs_dse dse; u64 val; @@ -181,7 +254,7 @@ /* * use the mapping table for bit 0-3 */ - val = pebs_data_source[dse.ld_dse]; + val = hybrid_var(event->pmu, pebs_data_source)[dse.ld_dse]; /* * Nehalem models do not support TLB, Lock infos @@ -190,21 +263,8 @@ val |= P(TLB, NA) | P(LOCK, NA); return val; } - /* - * bit 4: TLB access - * 0 = did not miss 2nd level TLB - * 1 = missed 2nd level TLB - */ - if (dse.ld_stlb_miss) - val |= P(TLB, MISS) | P(TLB, L2); - else - val |= P(TLB, HIT) | P(TLB, L1) | P(TLB, L2); - /* - * bit 5: locked prefix - */ - if (dse.ld_locked) - val |= P(LOCK, LOCKED); + pebs_set_tlb_lock(&val, dse.ld_stlb_miss, dse.ld_locked); /* * Ice Lake and earlier models do not support block infos. @@ -233,9 +293,10 @@ return val; } -static u64 store_latency_data(u64 status) +static u64 store_latency_data(struct perf_event *event, u64 status) { union intel_x86_pebs_dse dse; + union perf_mem_data_src src; u64 val; dse.val = status; @@ -243,27 +304,20 @@ /* * use the mapping table for bit 0-3 */ - val = pebs_data_source[dse.st_lat_dse]; + val = hybrid_var(event->pmu, pebs_data_source)[dse.st_lat_dse]; - /* - * bit 4: TLB access - * 0 = did not miss 2nd level TLB - * 1 = missed 2nd level TLB - */ - if (dse.st_lat_stlb_miss) - val |= P(TLB, MISS) | P(TLB, L2); - else - val |= P(TLB, HIT) | P(TLB, L1) | P(TLB, L2); + pebs_set_tlb_lock(&val, dse.st_lat_stlb_miss, dse.st_lat_locked); + + val |= P(BLK, NA); /* - * bit 5: locked prefix + * the pebs_data_source table is only for loads + * so override the mem_op to say STORE instead */ - if (dse.st_lat_locked) - val |= P(LOCK, LOCKED); - - val |= P(BLK, NA); + src.val = val; + src.mem_op = P(OP,STORE); - return val; + return src.val; } struct pebs_record_core { @@ -781,8 +835,8 @@ struct event_constraint intel_grt_pebs_event_constraints[] = { /* Allow all events as PEBS with no flags */ - INTEL_PLD_CONSTRAINT(0x5d0, 0xf), - INTEL_PSD_CONSTRAINT(0x6d0, 0xf), + INTEL_HYBRID_LAT_CONSTRAINT(0x5d0, 0x3), + INTEL_HYBRID_LAT_CONSTRAINT(0x6d0, 0xf), EVENT_CONSTRAINT_END }; @@ -928,8 +982,13 @@ INTEL_FLAGS_UEVENT_CONSTRAINT(0x0400, 0x800000000ULL), /* SLOTS */ INTEL_PLD_CONSTRAINT(0x1cd, 0xff), /* MEM_TRANS_RETIRED.LOAD_LATENCY */ - INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x1d0, 0xf), /* MEM_INST_RETIRED.LOAD */ - INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_ST(0x2d0, 0xf), /* MEM_INST_RETIRED.STORE */ + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x11d0, 0xf), /* MEM_INST_RETIRED.STLB_MISS_LOADS */ + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_ST(0x12d0, 0xf), /* MEM_INST_RETIRED.STLB_MISS_STORES */ + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x21d0, 0xf), /* MEM_INST_RETIRED.LOCK_LOADS */ + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x41d0, 0xf), /* MEM_INST_RETIRED.SPLIT_LOADS */ + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_ST(0x42d0, 0xf), /* MEM_INST_RETIRED.SPLIT_STORES */ + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x81d0, 0xf), /* MEM_INST_RETIRED.ALL_LOADS */ + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_ST(0x82d0, 0xf), /* MEM_INST_RETIRED.ALL_STORES */ INTEL_FLAGS_EVENT_CONSTRAINT_DATALA_LD_RANGE(0xd1, 0xd4, 0xf), /* MEM_LOAD_*_RETIRED.* */ @@ -950,8 +1009,13 @@ INTEL_FLAGS_EVENT_CONSTRAINT(0xc0, 0xfe), INTEL_PLD_CONSTRAINT(0x1cd, 0xfe), INTEL_PSD_CONSTRAINT(0x2cd, 0x1), - INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x1d0, 0xf), - INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_ST(0x2d0, 0xf), + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x11d0, 0xf), /* MEM_INST_RETIRED.STLB_MISS_LOADS */ + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_ST(0x12d0, 0xf), /* MEM_INST_RETIRED.STLB_MISS_STORES */ + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x21d0, 0xf), /* MEM_INST_RETIRED.LOCK_LOADS */ + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x41d0, 0xf), /* MEM_INST_RETIRED.SPLIT_LOADS */ + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_ST(0x42d0, 0xf), /* MEM_INST_RETIRED.SPLIT_STORES */ + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_LD(0x81d0, 0xf), /* MEM_INST_RETIRED.ALL_LOADS */ + INTEL_FLAGS_UEVENT_CONSTRAINT_DATALA_ST(0x82d0, 0xf), /* MEM_INST_RETIRED.ALL_STORES */ INTEL_FLAGS_EVENT_CONSTRAINT_DATALA_LD_RANGE(0xd1, 0xd4, 0xf), @@ -1443,9 +1507,11 @@ bool fst = fl & (PERF_X86_EVENT_PEBS_ST | PERF_X86_EVENT_PEBS_HSW_PREC); if (fl & PERF_X86_EVENT_PEBS_LDLAT) - val = load_latency_data(aux); + val = load_latency_data(event, aux); else if (fl & PERF_X86_EVENT_PEBS_STLAT) - val = store_latency_data(aux); + val = store_latency_data(event, aux); + else if (fl & PERF_X86_EVENT_PEBS_LAT_HYBRID) + val = x86_pmu.pebs_latency_data(event, aux); else if (fst && (fl & PERF_X86_EVENT_PEBS_HSW_PREC)) val = precise_datala_hsw(event, aux); else if (fst) --- linux-gcp-5.19.0.orig/arch/x86/events/intel/lbr.c +++ linux-gcp-5.19.0/arch/x86/events/intel/lbr.c @@ -1097,6 +1097,14 @@ if (static_cpu_has(X86_FEATURE_ARCH_LBR)) { reg->config = mask; + + /* + * The Arch LBR HW can retrieve the common branch types + * from the LBR_INFO. It doesn't require the high overhead + * SW disassemble. + * Enable the branch type by default for the Arch LBR. + */ + reg->reg |= X86_BR_TYPE_SAVE; return 0; } @@ -1861,7 +1869,7 @@ return; clear_arch_lbr: - clear_cpu_cap(&boot_cpu_data, X86_FEATURE_ARCH_LBR); + setup_clear_cpu_cap(X86_FEATURE_ARCH_LBR); } /** --- linux-gcp-5.19.0.orig/arch/x86/events/intel/pt.c +++ linux-gcp-5.19.0/arch/x86/events/intel/pt.c @@ -1263,6 +1263,15 @@ if (1 << order != nr_pages) goto out; + /* + * Some processors cannot always support single range for more than + * 4KB - refer errata TGL052, ADL037 and RPL017. Future processors might + * also be affected, so for now rather than trying to keep track of + * which ones, just disable it for all. + */ + if (nr_pages > 1) + goto out; + buf->single = true; buf->nr_pages = nr_pages; ret = 0; --- linux-gcp-5.19.0.orig/arch/x86/events/intel/uncore.c +++ linux-gcp-5.19.0/arch/x86/events/intel/uncore.c @@ -1832,6 +1832,7 @@ X86_MATCH_INTEL_FAM6_MODEL(RAPTORLAKE, &adl_uncore_init), X86_MATCH_INTEL_FAM6_MODEL(RAPTORLAKE_P, &adl_uncore_init), X86_MATCH_INTEL_FAM6_MODEL(SAPPHIRERAPIDS_X, &spr_uncore_init), + X86_MATCH_INTEL_FAM6_MODEL(EMERALDRAPIDS_X, &spr_uncore_init), X86_MATCH_INTEL_FAM6_MODEL(ATOM_TREMONT_D, &snr_uncore_init), {}, }; --- linux-gcp-5.19.0.orig/arch/x86/events/intel/uncore.h +++ linux-gcp-5.19.0/arch/x86/events/intel/uncore.h @@ -2,6 +2,7 @@ #include #include #include +#include #include #include --- linux-gcp-5.19.0.orig/arch/x86/events/intel/uncore_snb.c +++ linux-gcp-5.19.0/arch/x86/events/intel/uncore_snb.c @@ -841,6 +841,22 @@ return 0; } +static u64 snb_uncore_imc_read_counter(struct intel_uncore_box *box, struct perf_event *event) +{ + struct hw_perf_event *hwc = &event->hw; + + /* + * SNB IMC counters are 32-bit and are laid out back to back + * in MMIO space. Therefore we must use a 32-bit accessor function + * using readq() from uncore_mmio_read_counter() causes problems + * because it is reading 64-bit at a time. This is okay for the + * uncore_perf_event_update() function because it drops the upper + * 32-bits but not okay for plain uncore_read_counter() as invoked + * in uncore_pmu_event_start(). + */ + return (u64)readl(box->io_addr + hwc->event_base); +} + static struct pmu snb_uncore_imc_pmu = { .task_ctx_nr = perf_invalid_context, .event_init = snb_uncore_imc_event_init, @@ -860,7 +876,7 @@ .disable_event = snb_uncore_imc_disable_event, .enable_event = snb_uncore_imc_enable_event, .hw_config = snb_uncore_imc_hw_config, - .read_counter = uncore_mmio_read_counter, + .read_counter = snb_uncore_imc_read_counter, }; static struct intel_uncore_type snb_uncore_imc = { @@ -1322,6 +1338,7 @@ /* MCHBAR is disabled */ if (!(mch_bar & BIT(0))) { pr_warn("perf uncore: MCHBAR is disabled. Failed to map IMC free-running counters.\n"); + pci_dev_put(pdev); return; } mch_bar &= ~BIT(0); @@ -1336,6 +1353,8 @@ box->io_addr = ioremap(addr, type->mmio_map_size); if (!box->io_addr) pr_warn("perf uncore: Failed to ioremap for %s.\n", type->name); + + pci_dev_put(pdev); } static void tgl_uncore_imc_freerunning_init_box(struct intel_uncore_box *box) --- linux-gcp-5.19.0.orig/arch/x86/events/intel/uncore_snbep.c +++ linux-gcp-5.19.0/arch/x86/events/intel/uncore_snbep.c @@ -2891,6 +2891,7 @@ return false; pci_read_config_dword(dev, HSWEP_PCU_CAPID4_OFFET, &capid4); + pci_dev_put(dev); if (!hswep_get_chop(capid4)) return true; @@ -3803,6 +3804,21 @@ NULL, }; +static void pmu_clear_mapping_attr(const struct attribute_group **groups, + struct attribute_group *ag) +{ + int i; + + for (i = 0; groups[i]; i++) { + if (groups[i] == ag) { + for (i++; groups[i]; i++) + groups[i - 1] = groups[i]; + groups[i - 1] = NULL; + break; + } + } +} + static int pmu_iio_set_mapping(struct intel_uncore_type *type, struct attribute_group *ag) { @@ -3851,7 +3867,7 @@ clear_topology: kfree(type->topology); clear_attr_update: - type->attr_update = NULL; + pmu_clear_mapping_attr(type->attr_update, ag); return ret; } @@ -4492,6 +4508,8 @@ type->topology = NULL; } + pci_dev_put(dev); + return ret; } @@ -4857,6 +4875,8 @@ addr += box_ctl; + pci_dev_put(pdev); + box->io_addr = ioremap(addr, type->mmio_map_size); if (!box->io_addr) { pr_warn("perf uncore: Failed to ioremap for %s.\n", type->name); @@ -5139,6 +5159,11 @@ static int icx_iio_set_mapping(struct intel_uncore_type *type) { + /* Detect ICX-D system. This case is not supported */ + if (boot_cpu_data.x86_model == INTEL_FAM6_ICELAKE_D) { + pmu_clear_mapping_attr(type->attr_update, &icx_iio_mapping_group); + return -EPERM; + } return pmu_iio_set_mapping(type, &icx_iio_mapping_group); } --- linux-gcp-5.19.0.orig/arch/x86/events/msr.c +++ linux-gcp-5.19.0/arch/x86/events/msr.c @@ -69,6 +69,7 @@ case INTEL_FAM6_BROADWELL_G: case INTEL_FAM6_BROADWELL_X: case INTEL_FAM6_SAPPHIRERAPIDS_X: + case INTEL_FAM6_EMERALDRAPIDS_X: case INTEL_FAM6_ATOM_SILVERMONT: case INTEL_FAM6_ATOM_SILVERMONT_D: --- linux-gcp-5.19.0.orig/arch/x86/events/perf_event.h +++ linux-gcp-5.19.0/arch/x86/events/perf_event.h @@ -84,6 +84,7 @@ #define PERF_X86_EVENT_TOPDOWN 0x04000 /* Count Topdown slots/metrics events */ #define PERF_X86_EVENT_PEBS_STLAT 0x08000 /* st+stlat data address sampling */ #define PERF_X86_EVENT_AMD_BRS 0x10000 /* AMD Branch Sampling */ +#define PERF_X86_EVENT_PEBS_LAT_HYBRID 0x20000 /* ld and st lat for hybrid */ static inline bool is_topdown_count(struct perf_event *event) { @@ -460,6 +461,10 @@ __EVENT_CONSTRAINT(c, n, INTEL_ARCH_EVENT_MASK|X86_ALL_EVENT_FLAGS, \ HWEIGHT(n), 0, PERF_X86_EVENT_PEBS_ST) +#define INTEL_HYBRID_LAT_CONSTRAINT(c, n) \ + __EVENT_CONSTRAINT(c, n, INTEL_ARCH_EVENT_MASK|X86_ALL_EVENT_FLAGS, \ + HWEIGHT(n), 0, PERF_X86_EVENT_PEBS_LAT_HYBRID) + /* Event constraint, but match on all event flags too. */ #define INTEL_FLAGS_EVENT_CONSTRAINT(c, n) \ EVENT_CONSTRAINT(c, n, ARCH_PERFMON_EVENTSEL_EVENT|X86_ALL_EVENT_FLAGS) @@ -638,6 +643,8 @@ x86_lbr_exclusive_max, }; +#define PERF_PEBS_DATA_SOURCE_MAX 0x10 + struct x86_hybrid_pmu { struct pmu pmu; const char *name; @@ -665,6 +672,8 @@ unsigned int late_ack :1, mid_ack :1, enabled_ack :1; + + u64 pebs_data_source[PERF_PEBS_DATA_SOURCE_MAX]; }; static __always_inline struct x86_hybrid_pmu *hybrid_pmu(struct pmu *pmu) @@ -825,6 +834,7 @@ void (*drain_pebs)(struct pt_regs *regs, struct perf_sample_data *data); struct event_constraint *pebs_constraints; void (*pebs_aliases)(struct perf_event *event); + u64 (*pebs_latency_data)(struct perf_event *event, u64 status); unsigned long large_pebs_flags; u64 rtm_abort_event; @@ -1392,6 +1402,8 @@ int intel_pmu_drain_bts_buffer(void); +u64 adl_latency_data_small(struct perf_event *event, u64 status); + extern struct event_constraint intel_core2_pebs_event_constraints[]; extern struct event_constraint intel_atom_pebs_event_constraints[]; @@ -1499,6 +1511,10 @@ void intel_pmu_pebs_data_source_skl(bool pmem); +void intel_pmu_pebs_data_source_adl(void); + +void intel_pmu_pebs_data_source_grt(void); + int intel_pmu_setup_lbr_filter(struct perf_event *event); void intel_pt_interrupt(void); --- linux-gcp-5.19.0.orig/arch/x86/events/rapl.c +++ linux-gcp-5.19.0/arch/x86/events/rapl.c @@ -804,6 +804,8 @@ X86_MATCH_INTEL_FAM6_MODEL(ICELAKE_X, &model_hsx), X86_MATCH_INTEL_FAM6_MODEL(COMETLAKE_L, &model_skl), X86_MATCH_INTEL_FAM6_MODEL(COMETLAKE, &model_skl), + X86_MATCH_INTEL_FAM6_MODEL(TIGERLAKE_L, &model_skl), + X86_MATCH_INTEL_FAM6_MODEL(TIGERLAKE, &model_skl), X86_MATCH_INTEL_FAM6_MODEL(ALDERLAKE, &model_skl), X86_MATCH_INTEL_FAM6_MODEL(ALDERLAKE_L, &model_skl), X86_MATCH_INTEL_FAM6_MODEL(SAPPHIRERAPIDS_X, &model_spr), --- linux-gcp-5.19.0.orig/arch/x86/events/zhaoxin/core.c +++ linux-gcp-5.19.0/arch/x86/events/zhaoxin/core.c @@ -541,7 +541,13 @@ switch (boot_cpu_data.x86) { case 0x06: - if (boot_cpu_data.x86_model == 0x0f || boot_cpu_data.x86_model == 0x19) { + /* + * Support Zhaoxin CPU from ZXC series, exclude Nano series through FMS. + * Nano FMS: Family=6, Model=F, Stepping=[0-A][C-D] + * ZXC FMS: Family=6, Model=F, Stepping=E-F OR Family=6, Model=0x19, Stepping=0-3 + */ + if ((boot_cpu_data.x86_model == 0x0f && boot_cpu_data.x86_stepping >= 0x0e) || + boot_cpu_data.x86_model == 0x19) { x86_pmu.max_period = x86_pmu.cntval_mask >> 1; --- linux-gcp-5.19.0.orig/arch/x86/hyperv/hv_init.c +++ linux-gcp-5.19.0/arch/x86/hyperv/hv_init.c @@ -31,6 +31,14 @@ #include #include +#ifndef PKG_ABI +/* + * Preserve the ability to 'make deb-pkg' since PKG_ABI is provided + * by the Ubuntu build rules. + */ +#define PKG_ABI 0 +#endif + int hyperv_init_cpuhp; u64 hv_current_partition_id = ~0ull; EXPORT_SYMBOL_GPL(hv_current_partition_id); @@ -77,7 +85,7 @@ static int hv_cpu_init(unsigned int cpu) { union hv_vp_assist_msr_contents msr = { 0 }; - struct hv_vp_assist_page **hvp = &hv_vp_assist_page[smp_processor_id()]; + struct hv_vp_assist_page **hvp = &hv_vp_assist_page[cpu]; int ret; ret = hv_common_cpu_init(cpu); @@ -87,34 +95,32 @@ if (!hv_vp_assist_page) return 0; - if (!*hvp) { - if (hv_root_partition) { - /* - * For root partition we get the hypervisor provided VP assist - * page, instead of allocating a new page. - */ - rdmsrl(HV_X64_MSR_VP_ASSIST_PAGE, msr.as_uint64); - *hvp = memremap(msr.pfn << - HV_X64_MSR_VP_ASSIST_PAGE_ADDRESS_SHIFT, - PAGE_SIZE, MEMREMAP_WB); - } else { - /* - * The VP assist page is an "overlay" page (see Hyper-V TLFS's - * Section 5.2.1 "GPA Overlay Pages"). Here it must be zeroed - * out to make sure we always write the EOI MSR in - * hv_apic_eoi_write() *after* the EOI optimization is disabled - * in hv_cpu_die(), otherwise a CPU may not be stopped in the - * case of CPU offlining and the VM will hang. - */ + if (hv_root_partition) { + /* + * For root partition we get the hypervisor provided VP assist + * page, instead of allocating a new page. + */ + rdmsrl(HV_X64_MSR_VP_ASSIST_PAGE, msr.as_uint64); + *hvp = memremap(msr.pfn << HV_X64_MSR_VP_ASSIST_PAGE_ADDRESS_SHIFT, + PAGE_SIZE, MEMREMAP_WB); + } else { + /* + * The VP assist page is an "overlay" page (see Hyper-V TLFS's + * Section 5.2.1 "GPA Overlay Pages"). Here it must be zeroed + * out to make sure we always write the EOI MSR in + * hv_apic_eoi_write() *after* the EOI optimization is disabled + * in hv_cpu_die(), otherwise a CPU may not be stopped in the + * case of CPU offlining and the VM will hang. + */ + if (!*hvp) *hvp = __vmalloc(PAGE_SIZE, GFP_KERNEL | __GFP_ZERO); - if (*hvp) - msr.pfn = vmalloc_to_pfn(*hvp); - } - WARN_ON(!(*hvp)); - if (*hvp) { - msr.enable = 1; - wrmsrl(HV_X64_MSR_VP_ASSIST_PAGE, msr.as_uint64); - } + if (*hvp) + msr.pfn = vmalloc_to_pfn(*hvp); + + } + if (!WARN_ON(!(*hvp))) { + msr.enable = 1; + wrmsrl(HV_X64_MSR_VP_ASSIST_PAGE, msr.as_uint64); } return hyperv_init_ghcb(); @@ -426,7 +432,7 @@ * 1. Register the guest ID * 2. Enable the hypercall and register the hypercall page */ - guest_id = generate_guest_id(0, LINUX_VERSION_CODE, 0); + guest_id = generate_guest_id(0x80 /*Canonical*/, LINUX_VERSION_CODE, PKG_ABI); wrmsrl(HV_X64_MSR_GUEST_OS_ID, guest_id); /* Hyper-V requires to write guest os id via ghcb in SNP IVM. */ @@ -538,8 +544,6 @@ { union hv_x64_msr_hypercall_contents hypercall_msr; - unregister_syscore_ops(&hv_syscore_ops); - /* Reset our OS id */ wrmsrl(HV_X64_MSR_GUEST_OS_ID, 0); hv_ghcb_msr_write(HV_X64_MSR_GUEST_OS_ID, 0); --- linux-gcp-5.19.0.orig/arch/x86/include/asm/acpi.h +++ linux-gcp-5.19.0/arch/x86/include/asm/acpi.h @@ -14,6 +14,7 @@ #include #include #include +#include #ifdef CONFIG_ACPI_APEI # include @@ -63,6 +64,13 @@ /* Physical address to resume after wakeup */ unsigned long acpi_get_wakeup_address(void); +static inline bool acpi_skip_set_wakeup_address(void) +{ + return cpu_feature_enabled(X86_FEATURE_XENPV); +} + +#define acpi_skip_set_wakeup_address acpi_skip_set_wakeup_address + /* * Check if the CPU can handle C2 and deeper */ --- linux-gcp-5.19.0.orig/arch/x86/include/asm/apm.h +++ linux-gcp-5.19.0/arch/x86/include/asm/apm.h @@ -35,6 +35,7 @@ __asm__ __volatile__(APM_DO_ZERO_SEGS "pushl %%edi\n\t" "pushl %%ebp\n\t" + ANNOTATE_RETPOLINE_SAFE /* FRBS */ "lcall *%%cs:apm_bios_entry\n\t" "setc %%al\n\t" "popl %%ebp\n\t" @@ -59,6 +60,7 @@ __asm__ __volatile__(APM_DO_ZERO_SEGS "pushl %%edi\n\t" "pushl %%ebp\n\t" + ANNOTATE_RETPOLINE_SAFE /* FRBS */ "lcall *%%cs:apm_bios_entry\n\t" "setc %%bl\n\t" "popl %%ebp\n\t" --- linux-gcp-5.19.0.orig/arch/x86/include/asm/cpu.h +++ linux-gcp-5.19.0/arch/x86/include/asm/cpu.h @@ -94,4 +94,6 @@ return p1 & p2; } +extern u64 x86_read_arch_cap_msr(void); + #endif /* _ASM_X86_CPU_H */ --- linux-gcp-5.19.0.orig/arch/x86/include/asm/cpufeatures.h +++ linux-gcp-5.19.0/arch/x86/include/asm/cpufeatures.h @@ -303,6 +303,10 @@ #define X86_FEATURE_RETHUNK (11*32+14) /* "" Use REturn THUNK */ #define X86_FEATURE_UNRET (11*32+15) /* "" AMD BTB untrain return */ #define X86_FEATURE_USE_IBPB_FW (11*32+16) /* "" Use IBPB during runtime firmware calls */ +#define X86_FEATURE_RSB_VMEXIT_LITE (11*32+17) /* "" Fill RSB on VM exit when EIBRS is enabled */ + + +#define X86_FEATURE_MSR_TSX_CTRL (11*32+20) /* "" MSR IA32_TSX_CTRL (Intel) implemented */ /* Intel-defined CPU features, CPUID level 0x00000007:1 (EAX), word 12 */ #define X86_FEATURE_AVX_VNNI (12*32+ 4) /* AVX VNNI instructions */ @@ -455,6 +459,9 @@ #define X86_BUG_ITLB_MULTIHIT X86_BUG(23) /* CPU may incur MCE during certain page attribute changes */ #define X86_BUG_SRBDS X86_BUG(24) /* CPU may leak RNG bits if not mitigated */ #define X86_BUG_MMIO_STALE_DATA X86_BUG(25) /* CPU is affected by Processor MMIO Stale Data vulnerabilities */ -#define X86_BUG_RETBLEED X86_BUG(26) /* CPU is affected by RETBleed */ +#define X86_BUG_MMIO_UNKNOWN X86_BUG(26) /* CPU is too old and its MMIO Stale Data status is unknown */ +#define X86_BUG_RETBLEED X86_BUG(27) /* CPU is affected by RETBleed */ +#define X86_BUG_EIBRS_PBRSB X86_BUG(28) /* EIBRS is vulnerable to Post Barrier RSB Predictions */ +#define X86_BUG_SMT_RSB X86_BUG(29) /* CPU is vulnerable to Cross-Thread Return Address Predictions */ #endif /* _ASM_X86_CPUFEATURES_H */ --- linux-gcp-5.19.0.orig/arch/x86/include/asm/debugreg.h +++ linux-gcp-5.19.0/arch/x86/include/asm/debugreg.h @@ -39,7 +39,20 @@ asm("mov %%db6, %0" :"=r" (val)); break; case 7: - asm("mov %%db7, %0" :"=r" (val)); + /* + * Apply __FORCE_ORDER to DR7 reads to forbid re-ordering them + * with other code. + * + * This is needed because a DR7 access can cause a #VC exception + * when running under SEV-ES. Taking a #VC exception is not a + * safe thing to do just anywhere in the entry code and + * re-ordering might place the access into an unsafe location. + * + * This happened in the NMI handler, where the DR7 read was + * re-ordered to happen before the call to sev_es_ist_enter(), + * causing stack recursion. + */ + asm volatile("mov %%db7, %0" : "=r" (val) : __FORCE_ORDER); break; default: BUG(); @@ -66,7 +79,16 @@ asm("mov %0, %%db6" ::"r" (value)); break; case 7: - asm("mov %0, %%db7" ::"r" (value)); + /* + * Apply __FORCE_ORDER to DR7 writes to forbid re-ordering them + * with other code. + * + * While is didn't happen with a DR7 write (see the DR7 read + * comment above which explains where it happened), add the + * __FORCE_ORDER here too to avoid similar problems in the + * future. + */ + asm volatile("mov %0, %%db7" ::"r" (value), __FORCE_ORDER); break; default: BUG(); --- linux-gcp-5.19.0.orig/arch/x86/include/asm/hyperv-tlfs.h +++ linux-gcp-5.19.0/arch/x86/include/asm/hyperv-tlfs.h @@ -546,7 +546,7 @@ u64 guest_rip; u32 hv_clean_fields; - u32 hv_padding_32; + u32 padding32_1; u32 hv_synthetic_controls; struct { u32 nested_flush_hypercall:1; @@ -554,7 +554,7 @@ u32 reserved:30; } __packed hv_enlightenments_control; u32 hv_vp_id; - + u32 padding32_2; u64 hv_vm_id; u64 partition_assist_page; u64 padding64_4[4]; --- linux-gcp-5.19.0.orig/arch/x86/include/asm/ibt.h +++ linux-gcp-5.19.0/arch/x86/include/asm/ibt.h @@ -31,6 +31,16 @@ #define __noendbr __attribute__((nocf_check)) +/* + * Create a dummy function pointer reference to prevent objtool from marking + * the function as needing to be "sealed" (i.e. ENDBR converted to NOP by + * apply_ibt_endbr()). + */ +#define IBT_NOSEAL(fname) \ + ".pushsection .discard.ibt_endbr_noseal\n\t" \ + _ASM_PTR fname "\n\t" \ + ".popsection\n\t" + static inline __attribute_const__ u32 gen_endbr(void) { u32 endbr; @@ -84,6 +94,7 @@ #ifndef __ASSEMBLY__ #define ASM_ENDBR +#define IBT_NOSEAL(name) #define __noendbr --- linux-gcp-5.19.0.orig/arch/x86/include/asm/intel-family.h +++ linux-gcp-5.19.0/arch/x86/include/asm/intel-family.h @@ -27,6 +27,7 @@ * _X - regular server parts * _D - micro server parts * _N,_P - other mobile parts + * _S - other client parts * * Historical OPTDIFFs: * @@ -106,14 +107,22 @@ #define INTEL_FAM6_SAPPHIRERAPIDS_X 0x8F /* Golden Cove */ +#define INTEL_FAM6_EMERALDRAPIDS_X 0xCF + +#define INTEL_FAM6_GRANITERAPIDS_X 0xAD +#define INTEL_FAM6_GRANITERAPIDS_D 0xAE + #define INTEL_FAM6_ALDERLAKE 0x97 /* Golden Cove / Gracemont */ #define INTEL_FAM6_ALDERLAKE_L 0x9A /* Golden Cove / Gracemont */ #define INTEL_FAM6_ALDERLAKE_N 0xBE #define INTEL_FAM6_RAPTORLAKE 0xB7 #define INTEL_FAM6_RAPTORLAKE_P 0xBA +#define INTEL_FAM6_RAPTORLAKE_S 0xBF + +#define INTEL_FAM6_LUNARLAKE_M 0xBD -/* "Small Core" Processors (Atom) */ +/* "Small Core" Processors (Atom/E-Core) */ #define INTEL_FAM6_ATOM_BONNELL 0x1C /* Diamondville, Pineview */ #define INTEL_FAM6_ATOM_BONNELL_MID 0x26 /* Silverthorne, Lincroft */ @@ -140,6 +149,10 @@ #define INTEL_FAM6_ATOM_TREMONT 0x96 /* Elkhart Lake */ #define INTEL_FAM6_ATOM_TREMONT_L 0x9C /* Jasper Lake */ +#define INTEL_FAM6_SIERRAFOREST_X 0xAF + +#define INTEL_FAM6_GRANDRIDGE 0xB6 + /* Xeon Phi */ #define INTEL_FAM6_XEON_PHI_KNL 0x57 /* Knights Landing */ --- linux-gcp-5.19.0.orig/arch/x86/include/asm/iommu.h +++ linux-gcp-5.19.0/arch/x86/include/asm/iommu.h @@ -25,8 +25,10 @@ { u64 start = rmrr->base_address; u64 end = rmrr->end_address + 1; + int entry_type; - if (e820__mapped_all(start, end, E820_TYPE_RESERVED)) + entry_type = e820__get_entry_type(start, end); + if (entry_type == E820_TYPE_RESERVED || entry_type == E820_TYPE_NVS) return 0; pr_err(FW_BUG "No firmware reserved region can cover this RMRR [%#018Lx-%#018Lx], contact BIOS vendor for fixes\n", --- linux-gcp-5.19.0.orig/arch/x86/include/asm/kexec.h +++ linux-gcp-5.19.0/arch/x86/include/asm/kexec.h @@ -193,6 +193,12 @@ const Elf_Shdr *relsec, const Elf_Shdr *symtab); #define arch_kexec_apply_relocations_add arch_kexec_apply_relocations_add + +void *arch_kexec_kernel_image_load(struct kimage *image); +#define arch_kexec_kernel_image_load arch_kexec_kernel_image_load + +int arch_kimage_file_post_load_cleanup(struct kimage *image); +#define arch_kimage_file_post_load_cleanup arch_kimage_file_post_load_cleanup #endif #endif --- linux-gcp-5.19.0.orig/arch/x86/include/asm/kvm_host.h +++ linux-gcp-5.19.0/arch/x86/include/asm/kvm_host.h @@ -505,6 +505,7 @@ unsigned nr_arch_fixed_counters; unsigned available_event_types; u64 fixed_ctr_ctrl; + u64 fixed_ctr_ctrl_mask; u64 global_ctrl; u64 global_status; u64 counter_bitmask[2]; @@ -712,6 +713,7 @@ struct fpu_guest guest_fpu; u64 xcr0; + u64 guest_supported_xcr0; struct kvm_pio_request pio; void *pio_data; @@ -1654,7 +1656,7 @@ #define kvm_arch_pmi_in_guest(vcpu) \ ((vcpu) && (vcpu)->arch.handling_intr_from_guest) -void kvm_mmu_x86_module_init(void); +void __init kvm_mmu_x86_module_init(void); int kvm_mmu_vendor_module_init(void); void kvm_mmu_vendor_module_exit(void); --- linux-gcp-5.19.0.orig/arch/x86/include/asm/microcode.h +++ linux-gcp-5.19.0/arch/x86/include/asm/microcode.h @@ -9,6 +9,7 @@ struct ucode_patch { struct list_head plist; void *data; /* Intel uses only this one */ + unsigned int size; u32 patch_id; u16 equiv_cpu; }; @@ -129,13 +130,13 @@ #ifdef CONFIG_MICROCODE extern void __init load_ucode_bsp(void); extern void load_ucode_ap(void); -void reload_early_microcode(void); +void reload_early_microcode(unsigned int cpu); extern bool initrd_gone; void microcode_bsp_resume(void); #else static inline void __init load_ucode_bsp(void) { } static inline void load_ucode_ap(void) { } -static inline void reload_early_microcode(void) { } +static inline void reload_early_microcode(unsigned int cpu) { } static inline void microcode_bsp_resume(void) { } #endif --- linux-gcp-5.19.0.orig/arch/x86/include/asm/microcode_amd.h +++ linux-gcp-5.19.0/arch/x86/include/asm/microcode_amd.h @@ -47,12 +47,12 @@ extern void __init load_ucode_amd_bsp(unsigned int family); extern void load_ucode_amd_ap(unsigned int family); extern int __init save_microcode_in_initrd_amd(unsigned int family); -void reload_ucode_amd(void); +void reload_ucode_amd(unsigned int cpu); #else static inline void __init load_ucode_amd_bsp(unsigned int family) {} static inline void load_ucode_amd_ap(unsigned int family) {} static inline int __init save_microcode_in_initrd_amd(unsigned int family) { return -EINVAL; } -static inline void reload_ucode_amd(void) {} +static inline void reload_ucode_amd(unsigned int cpu) {} #endif #endif /* _ASM_X86_MICROCODE_AMD_H */ --- linux-gcp-5.19.0.orig/arch/x86/include/asm/msr-index.h +++ linux-gcp-5.19.0/arch/x86/include/asm/msr-index.h @@ -54,6 +54,10 @@ #define SPEC_CTRL_RRSBA_DIS_S_SHIFT 6 /* Disable RRSBA behavior */ #define SPEC_CTRL_RRSBA_DIS_S BIT(SPEC_CTRL_RRSBA_DIS_S_SHIFT) +/* A mask for bits which the kernel toggles when controlling mitigations */ +#define SPEC_CTRL_MITIGATIONS_MASK (SPEC_CTRL_IBRS | SPEC_CTRL_STIBP | SPEC_CTRL_SSBD \ + | SPEC_CTRL_RRSBA_DIS_S) + #define MSR_IA32_PRED_CMD 0x00000049 /* Prediction Command */ #define PRED_CMD_IBPB BIT(0) /* Indirect Branch Prediction Barrier */ @@ -150,6 +154,15 @@ * are restricted to targets in * kernel. */ +#define ARCH_CAP_PBRSB_NO BIT(24) /* + * Not susceptible to Post-Barrier + * Return Stack Buffer Predictions. + */ + +#define ARCH_CAP_XAPIC_DISABLE BIT(21) /* + * IA32_XAPIC_DISABLE_STATUS MSR + * supported + */ #define MSR_IA32_FLUSH_CMD 0x0000010b #define L1D_FLUSH BIT(0) /* @@ -519,6 +532,11 @@ #define MSR_AMD64_CPUID_FN_1 0xc0011004 #define MSR_AMD64_LS_CFG 0xc0011020 #define MSR_AMD64_DC_CFG 0xc0011022 + +#define MSR_AMD64_DE_CFG 0xc0011029 +#define MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT 1 +#define MSR_AMD64_DE_CFG_LFENCE_SERIALIZE BIT_ULL(MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT) + #define MSR_AMD64_BU_CFG2 0xc001102a #define MSR_AMD64_IBSFETCHCTL 0xc0011030 #define MSR_AMD64_IBSFETCHLINAD 0xc0011031 @@ -550,6 +568,26 @@ #define MSR_AMD64_SEV_ES_ENABLED BIT_ULL(MSR_AMD64_SEV_ES_ENABLED_BIT) #define MSR_AMD64_SEV_SNP_ENABLED BIT_ULL(MSR_AMD64_SEV_SNP_ENABLED_BIT) +/* SNP feature bits enabled by the hypervisor */ +#define MSR_AMD64_SNP_VTOM BIT_ULL(3) +#define MSR_AMD64_SNP_REFLECT_VC BIT_ULL(4) +#define MSR_AMD64_SNP_RESTRICTED_INJ BIT_ULL(5) +#define MSR_AMD64_SNP_ALT_INJ BIT_ULL(6) +#define MSR_AMD64_SNP_DEBUG_SWAP BIT_ULL(7) +#define MSR_AMD64_SNP_PREVENT_HOST_IBS BIT_ULL(8) +#define MSR_AMD64_SNP_BTB_ISOLATION BIT_ULL(9) +#define MSR_AMD64_SNP_VMPL_SSS BIT_ULL(10) +#define MSR_AMD64_SNP_SECURE_TSC BIT_ULL(11) +#define MSR_AMD64_SNP_VMGEXIT_PARAM BIT_ULL(12) +#define MSR_AMD64_SNP_IBS_VIRT BIT_ULL(14) +#define MSR_AMD64_SNP_VMSA_REG_PROTECTION BIT_ULL(16) +#define MSR_AMD64_SNP_SMT_PROTECTION BIT_ULL(17) + +/* SNP feature bits reserved for future use. */ +#define MSR_AMD64_SNP_RESERVED_BIT13 BIT_ULL(13) +#define MSR_AMD64_SNP_RESERVED_BIT15 BIT_ULL(15) +#define MSR_AMD64_SNP_RESERVED_MASK GENMASK_ULL(63, 18) + #define MSR_AMD64_VIRT_SPEC_CTRL 0xc001011f /* AMD Collaborative Processor Performance Control MSRs */ @@ -621,9 +659,6 @@ #define FAM10H_MMIO_CONF_BASE_MASK 0xfffffffULL #define FAM10H_MMIO_CONF_BASE_SHIFT 20 #define MSR_FAM10H_NODE_ID 0xc001100c -#define MSR_F10H_DECFG 0xc0011029 -#define MSR_F10H_DECFG_LFENCE_SERIALIZE_BIT 1 -#define MSR_F10H_DECFG_LFENCE_SERIALIZE BIT_ULL(MSR_F10H_DECFG_LFENCE_SERIALIZE_BIT) /* K8 MSRs */ #define MSR_K8_TOP_MEM1 0xc001001a @@ -1042,4 +1077,12 @@ #define MSR_IA32_HW_FEEDBACK_PTR 0x17d0 #define MSR_IA32_HW_FEEDBACK_CONFIG 0x17d1 +/* x2APIC locked status */ +#define MSR_IA32_XAPIC_DISABLE_STATUS 0xBD +#define LEGACY_XAPIC_DISABLED BIT(0) /* + * x2APIC mode is locked and + * disabling x2APIC will cause + * a #GP + */ + #endif /* _ASM_X86_MSR_INDEX_H */ --- linux-gcp-5.19.0.orig/arch/x86/include/asm/nospec-branch.h +++ linux-gcp-5.19.0/arch/x86/include/asm/nospec-branch.h @@ -35,32 +35,57 @@ #define RSB_CLEAR_LOOPS 32 /* To forcibly overwrite all entries */ /* + * Common helper for __FILL_RETURN_BUFFER and __FILL_ONE_RETURN. + */ +#define __FILL_RETURN_SLOT \ + ANNOTATE_INTRA_FUNCTION_CALL; \ + call 772f; \ + int3; \ +772: + +/* + * Stuff the entire RSB. + * * Google experimented with loop-unrolling and this turned out to be * the optimal version - two calls, each with their own speculation * trap should their return address end up getting used, in a loop. */ -#define __FILL_RETURN_BUFFER(reg, nr, sp) \ - mov $(nr/2), reg; \ -771: \ - ANNOTATE_INTRA_FUNCTION_CALL; \ - call 772f; \ -773: /* speculation trap */ \ - UNWIND_HINT_EMPTY; \ - pause; \ - lfence; \ - jmp 773b; \ -772: \ - ANNOTATE_INTRA_FUNCTION_CALL; \ - call 774f; \ -775: /* speculation trap */ \ - UNWIND_HINT_EMPTY; \ - pause; \ - lfence; \ - jmp 775b; \ -774: \ - add $(BITS_PER_LONG/8) * 2, sp; \ - dec reg; \ - jnz 771b; +#ifdef CONFIG_X86_64 +#define __FILL_RETURN_BUFFER(reg, nr) \ + mov $(nr/2), reg; \ +771: \ + __FILL_RETURN_SLOT \ + __FILL_RETURN_SLOT \ + add $(BITS_PER_LONG/8) * 2, %_ASM_SP; \ + dec reg; \ + jnz 771b; \ + /* barrier for jnz misprediction */ \ + lfence; +#else +/* + * i386 doesn't unconditionally have LFENCE, as such it can't + * do a loop. + */ +#define __FILL_RETURN_BUFFER(reg, nr) \ + .rept nr; \ + __FILL_RETURN_SLOT; \ + .endr; \ + add $(BITS_PER_LONG/8) * nr, %_ASM_SP; +#endif + +/* + * Stuff a single RSB slot. + * + * To mitigate Post-Barrier RSB speculation, one CALL instruction must be + * forced to retire before letting a RET instruction execute. + * + * On PBRSB-vulnerable CPUs, it is not safe for a RET to be executed + * before this point. + */ +#define __FILL_ONE_RETURN \ + __FILL_RETURN_SLOT \ + add $(BITS_PER_LONG/8), %_ASM_SP; \ + lfence; #ifdef __ASSEMBLY__ @@ -122,9 +147,11 @@ * A simpler FILL_RETURN_BUFFER macro. Don't make people use the CPP * monstrosity above, manually. */ -.macro FILL_RETURN_BUFFER reg:req nr:req ftr:req - ALTERNATIVE "jmp .Lskip_rsb_\@", "", \ftr - __FILL_RETURN_BUFFER(\reg,\nr,%_ASM_SP) +.macro FILL_RETURN_BUFFER reg:req nr:req ftr:req ftr2=ALT_NOT(X86_FEATURE_ALWAYS) + ALTERNATIVE_2 "jmp .Lskip_rsb_\@", \ + __stringify(__FILL_RETURN_BUFFER(\reg,\nr)), \ftr, \ + __stringify(__FILL_ONE_RETURN), \ftr2 + .Lskip_rsb_\@: .endm @@ -282,7 +309,7 @@ /* The Intel SPEC CTRL MSR base value cache */ extern u64 x86_spec_ctrl_base; DECLARE_PER_CPU(u64, x86_spec_ctrl_current); -extern void write_spec_ctrl_current(u64 val, bool force); +extern void update_spec_ctrl_cond(u64 val); extern u64 spec_ctrl_current(void); /* --- linux-gcp-5.19.0.orig/arch/x86/include/asm/paravirt_types.h +++ linux-gcp-5.19.0/arch/x86/include/asm/paravirt_types.h @@ -414,8 +414,17 @@ "=c" (__ecx) #define PVOP_CALL_CLOBBERS PVOP_VCALL_CLOBBERS, "=a" (__eax) -/* void functions are still allowed [re]ax for scratch */ +/* + * void functions are still allowed [re]ax for scratch. + * + * The ZERO_CALL_USED REGS feature may end up zeroing out callee-saved + * registers. Make sure we model this with the appropriate clobbers. + */ +#ifdef CONFIG_ZERO_CALL_USED_REGS +#define PVOP_VCALLEE_CLOBBERS "=a" (__eax), PVOP_VCALL_CLOBBERS +#else #define PVOP_VCALLEE_CLOBBERS "=a" (__eax) +#endif #define PVOP_CALLEE_CLOBBERS PVOP_VCALLEE_CLOBBERS #define EXTRA_CLOBBERS , "r8", "r9", "r10", "r11" --- linux-gcp-5.19.0.orig/arch/x86/include/asm/pci-direct.h +++ linux-gcp-5.19.0/arch/x86/include/asm/pci-direct.h @@ -10,9 +10,11 @@ extern u32 read_pci_config(u8 bus, u8 slot, u8 func, u8 offset); extern u8 read_pci_config_byte(u8 bus, u8 slot, u8 func, u8 offset); extern u16 read_pci_config_16(u8 bus, u8 slot, u8 func, u8 offset); +extern u32 pci_early_find_cap(int bus, int slot, int func, int cap); extern void write_pci_config(u8 bus, u8 slot, u8 func, u8 offset, u32 val); extern void write_pci_config_byte(u8 bus, u8 slot, u8 func, u8 offset, u8 val); extern void write_pci_config_16(u8 bus, u8 slot, u8 func, u8 offset, u16 val); +extern unsigned int pci_early_clear_msi; extern int early_pci_allowed(void); #endif /* _ASM_X86_PCI_DIRECT_H */ --- linux-gcp-5.19.0.orig/arch/x86/include/asm/processor.h +++ linux-gcp-5.19.0/arch/x86/include/asm/processor.h @@ -838,7 +838,8 @@ #endif void __noreturn stop_this_cpu(void *dummy); -void microcode_check(void); +void microcode_check(struct cpuinfo_x86 *prev_info); +void store_cpu_caps(struct cpuinfo_x86 *info); enum l1tf_mitigations { L1TF_MITIGATION_OFF, --- linux-gcp-5.19.0.orig/arch/x86/include/asm/realmode.h +++ linux-gcp-5.19.0/arch/x86/include/asm/realmode.h @@ -91,6 +91,7 @@ void reserve_real_mode(void); void load_trampoline_pgtable(void); +void init_real_mode(void); #endif /* __ASSEMBLY__ */ --- linux-gcp-5.19.0.orig/arch/x86/include/asm/reboot.h +++ linux-gcp-5.19.0/arch/x86/include/asm/reboot.h @@ -25,6 +25,8 @@ #define MRR_BIOS 0 #define MRR_APM 1 +void cpu_emergency_disable_virtualization(void); + typedef void (*nmi_shootdown_cb)(int, struct pt_regs*); void nmi_panic_self_stop(struct pt_regs *regs); void nmi_shootdown_cpus(nmi_shootdown_cb callback); --- linux-gcp-5.19.0.orig/arch/x86/include/asm/sev-common.h +++ linux-gcp-5.19.0/arch/x86/include/asm/sev-common.h @@ -128,8 +128,9 @@ struct psc_entry entries[VMGEXIT_PSC_MAX_ENTRY]; } __packed; -/* Guest message request error code */ +/* Guest message request error codes */ #define SNP_GUEST_REQ_INVALID_LEN BIT_ULL(32) +#define SNP_GUEST_REQ_ERR_BUSY BIT_ULL(33) #define GHCB_MSR_TERM_REQ 0x100 #define GHCB_MSR_TERM_REASON_SET_POS 12 --- linux-gcp-5.19.0.orig/arch/x86/include/asm/sev.h +++ linux-gcp-5.19.0/arch/x86/include/asm/sev.h @@ -195,7 +195,7 @@ void snp_set_memory_private(unsigned long vaddr, unsigned int npages); void snp_set_wakeup_secondary_cpu(void); bool snp_init(struct boot_params *bp); -void snp_abort(void); +void __init __noreturn snp_abort(void); int snp_issue_guest_request(u64 exit_code, struct snp_req_data *input, unsigned long *fw_err); #else static inline void sev_es_ist_enter(struct pt_regs *regs) { } --- linux-gcp-5.19.0.orig/arch/x86/include/asm/smp.h +++ linux-gcp-5.19.0/arch/x86/include/asm/smp.h @@ -21,16 +21,6 @@ DECLARE_PER_CPU_READ_MOSTLY(u16, cpu_l2c_id); DECLARE_PER_CPU_READ_MOSTLY(int, cpu_number); -static inline struct cpumask *cpu_llc_shared_mask(int cpu) -{ - return per_cpu(cpu_llc_shared_map, cpu); -} - -static inline struct cpumask *cpu_l2c_shared_mask(int cpu) -{ - return per_cpu(cpu_l2c_shared_map, cpu); -} - DECLARE_EARLY_PER_CPU_READ_MOSTLY(u16, x86_cpu_to_apicid); DECLARE_EARLY_PER_CPU_READ_MOSTLY(u32, x86_cpu_to_acpiid); DECLARE_EARLY_PER_CPU_READ_MOSTLY(u16, x86_bios_cpu_apicid); @@ -172,6 +162,16 @@ # define safe_smp_processor_id() smp_processor_id() #endif +static inline struct cpumask *cpu_llc_shared_mask(int cpu) +{ + return per_cpu(cpu_llc_shared_map, cpu); +} + +static inline struct cpumask *cpu_l2c_shared_mask(int cpu) +{ + return per_cpu(cpu_l2c_shared_map, cpu); +} + #else /* !CONFIG_SMP */ #define wbinvd_on_cpu(cpu) wbinvd() static inline int wbinvd_on_all_cpus(void) @@ -179,6 +179,11 @@ wbinvd(); return 0; } + +static inline struct cpumask *cpu_llc_shared_mask(int cpu) +{ + return (struct cpumask *)cpumask_of(0); +} #endif /* CONFIG_SMP */ extern unsigned disabled_cpus; --- linux-gcp-5.19.0.orig/arch/x86/include/asm/syscall_wrapper.h +++ linux-gcp-5.19.0/arch/x86/include/asm/syscall_wrapper.h @@ -6,7 +6,7 @@ #ifndef _ASM_X86_SYSCALL_WRAPPER_H #define _ASM_X86_SYSCALL_WRAPPER_H -struct pt_regs; +#include extern long __x64_sys_ni_syscall(const struct pt_regs *regs); extern long __ia32_sys_ni_syscall(const struct pt_regs *regs); --- linux-gcp-5.19.0.orig/arch/x86/include/asm/tdx.h +++ linux-gcp-5.19.0/arch/x86/include/asm/tdx.h @@ -67,6 +67,8 @@ bool tdx_early_handle_ve(struct pt_regs *regs); +int tdx_mcall_get_report0(u8 *reportdata, u8 *tdreport); + #else static inline void tdx_early_init(void) { }; --- linux-gcp-5.19.0.orig/arch/x86/include/asm/virtext.h +++ linux-gcp-5.19.0/arch/x86/include/asm/virtext.h @@ -126,7 +126,21 @@ wrmsrl(MSR_VM_HSAVE_PA, 0); rdmsrl(MSR_EFER, efer); - wrmsrl(MSR_EFER, efer & ~EFER_SVME); + if (efer & EFER_SVME) { + /* + * Force GIF=1 prior to disabling SVM to ensure INIT and NMI + * aren't blocked, e.g. if a fatal error occurred between CLGI + * and STGI. Note, STGI may #UD if SVM is disabled from NMI + * context between reading EFER and executing STGI. In that + * case, GIF must already be set, otherwise the NMI would have + * been blocked, so just eat the fault. + */ + asm_volatile_goto("1: stgi\n\t" + _ASM_EXTABLE(1b, %l[fault]) + ::: "memory" : fault); +fault: + wrmsrl(MSR_EFER, efer & ~EFER_SVME); + } } /** Makes sure SVM is disabled, if it is supported on the CPU --- linux-gcp-5.19.0.orig/arch/x86/include/asm/x86_init.h +++ linux-gcp-5.19.0/arch/x86/include/asm/x86_init.h @@ -285,6 +285,8 @@ * possible in x86_early_init_platform_quirks() by * only using the current x86_hardware_subarch * semantics. + * @realmode_reserve: reserve memory for realmode trampoline + * @realmode_init: initialize realmode trampoline * @hyper: x86 hypervisor specific runtime callbacks */ struct x86_platform_ops { @@ -301,6 +303,8 @@ void (*apic_post_init)(void); struct x86_legacy_features legacy; void (*set_legacy_features)(void); + void (*realmode_reserve)(void); + void (*realmode_init)(void); struct x86_hyper_runtime hyper; struct x86_guest guest; }; --- linux-gcp-5.19.0.orig/arch/x86/include/uapi/asm/svm.h +++ linux-gcp-5.19.0/arch/x86/include/uapi/asm/svm.h @@ -116,6 +116,12 @@ #define SVM_VMGEXIT_AP_CREATE 1 #define SVM_VMGEXIT_AP_DESTROY 2 #define SVM_VMGEXIT_HV_FEATURES 0x8000fffd +#define SVM_VMGEXIT_TERM_REQUEST 0x8000fffe +#define SVM_VMGEXIT_TERM_REASON(reason_set, reason_code) \ + /* SW_EXITINFO1[3:0] */ \ + (((((u64)reason_set) & 0xf)) | \ + /* SW_EXITINFO1[11:4] */ \ + ((((u64)reason_code) & 0xff) << 4)) #define SVM_VMGEXIT_UNSUPPORTED_EVENT 0x8000ffff /* Exit code reserved for hypervisor/software use */ --- linux-gcp-5.19.0.orig/arch/x86/kernel/acpi/boot.c +++ linux-gcp-5.19.0/arch/x86/kernel/acpi/boot.c @@ -188,6 +188,17 @@ return cpu; } +static bool __init acpi_is_processor_usable(u32 lapic_flags) +{ + if (lapic_flags & ACPI_MADT_ENABLED) + return true; + + if (acpi_support_online_capable && (lapic_flags & ACPI_MADT_ONLINE_CAPABLE)) + return true; + + return false; +} + static int __init acpi_parse_x2apic(union acpi_subtable_headers *header, const unsigned long end) { @@ -212,6 +223,10 @@ if (apic_id == 0xffffffff) return 0; + /* don't register processors that cannot be onlined */ + if (!acpi_is_processor_usable(processor->lapic_flags)) + return 0; + /* * We need to register disabled CPU as well to permit * counting disabled CPUs. This allows us to size @@ -250,9 +265,7 @@ return 0; /* don't register processors that can not be onlined */ - if (acpi_support_online_capable && - !(processor->lapic_flags & ACPI_MADT_ENABLED) && - !(processor->lapic_flags & ACPI_MADT_ONLINE_CAPABLE)) + if (!acpi_is_processor_usable(processor->lapic_flags)) return 0; /* --- linux-gcp-5.19.0.orig/arch/x86/kernel/acpi/cstate.c +++ linux-gcp-5.19.0/arch/x86/kernel/acpi/cstate.c @@ -94,6 +94,36 @@ */ flags->bm_control = 0; } + if (c->x86_vendor == X86_VENDOR_AMD && c->x86 >= 0x17) { + /* + * For all AMD Zen or newer CPUs that support C3, caches + * should not be flushed by software while entering C3 + * type state. Set bm->check to 1 so that kernel doesn't + * need to execute cache flush operation. + */ + flags->bm_check = 1; + /* + * In current AMD C state implementation ARB_DIS is no longer + * used. So set bm_control to zero to indicate ARB_DIS is not + * required while entering C3 type state. + */ + flags->bm_control = 0; + } + if (c->x86_vendor == X86_VENDOR_AMD && c->x86 >= 0x17) { + /* + * For all AMD Zen or newer CPUs that support C3, caches + * should not be flushed by software while entering C3 + * type state. Set bm->check to 1 so that kernel doesn't + * need to execute cache flush operation. + */ + flags->bm_check = 1; + /* + * In current AMD C state implementation ARB_DIS is no longer + * used. So set bm_control to zero to indicate ARB_DIS is not + * required while entering C3 type state. + */ + flags->bm_control = 0; + } } EXPORT_SYMBOL(acpi_processor_power_init_bm_check); --- linux-gcp-5.19.0.orig/arch/x86/kernel/acpi/wakeup_32.S +++ linux-gcp-5.19.0/arch/x86/kernel/acpi/wakeup_32.S @@ -3,6 +3,7 @@ #include #include #include +#include # Copyright 2003, 2008 Pavel Machek refs)) + if (!arch_atomic_inc_not_zero(&desc->refs)) return NULL; return desc; } -static __always_inline void put_desc(struct bp_patching_desc *desc) +static __always_inline void put_desc(void) { + struct bp_patching_desc *desc = &bp_desc; + smp_mb__before_atomic(); arch_atomic_dec(&desc->refs); } @@ -1367,15 +1368,15 @@ /* * Having observed our INT3 instruction, we now must observe - * bp_desc: + * bp_desc with non-zero refcount: * - * bp_desc = desc INT3 + * bp_desc.refs = 1 INT3 * WMB RMB - * write INT3 if (desc) + * write INT3 if (bp_desc.refs != 0) */ smp_rmb(); - desc = try_get_desc(&bp_desc); + desc = try_get_desc(); if (!desc) return 0; @@ -1429,7 +1430,7 @@ ret = 1; out_put: - put_desc(desc); + put_desc(); return ret; } @@ -1460,18 +1461,20 @@ */ static void text_poke_bp_batch(struct text_poke_loc *tp, unsigned int nr_entries) { - struct bp_patching_desc desc = { - .vec = tp, - .nr_entries = nr_entries, - .refs = ATOMIC_INIT(1), - }; unsigned char int3 = INT3_INSN_OPCODE; unsigned int i; int do_sync; lockdep_assert_held(&text_mutex); - smp_store_release(&bp_desc, &desc); /* rcu_assign_pointer */ + bp_desc.vec = tp; + bp_desc.nr_entries = nr_entries; + + /* + * Corresponds to the implicit memory barrier in try_get_desc() to + * ensure reading a non-zero refcount provides up to date bp_desc data. + */ + atomic_set_release(&bp_desc.refs, 1); /* * Corresponding read barrier in int3 notifier for making sure the @@ -1559,12 +1562,10 @@ text_poke_sync(); /* - * Remove and synchronize_rcu(), except we have a very primitive - * refcount based completion. + * Remove and wait for refs to be zero. */ - WRITE_ONCE(bp_desc, NULL); /* RCU_INIT_POINTER */ - if (!atomic_dec_and_test(&desc.refs)) - atomic_cond_read_acquire(&desc.refs, !VAL); + if (!atomic_dec_and_test(&bp_desc.refs)) + atomic_cond_read_acquire(&bp_desc.refs, !VAL); } static void text_poke_loc_init(struct text_poke_loc *tp, void *addr, --- linux-gcp-5.19.0.orig/arch/x86/kernel/aperture_64.c +++ linux-gcp-5.19.0/arch/x86/kernel/aperture_64.c @@ -136,32 +136,6 @@ } -/* Find a PCI capability */ -static u32 __init find_cap(int bus, int slot, int func, int cap) -{ - int bytes; - u8 pos; - - if (!(read_pci_config_16(bus, slot, func, PCI_STATUS) & - PCI_STATUS_CAP_LIST)) - return 0; - - pos = read_pci_config_byte(bus, slot, func, PCI_CAPABILITY_LIST); - for (bytes = 0; bytes < 48 && pos >= 0x40; bytes++) { - u8 id; - - pos &= ~3; - id = read_pci_config_byte(bus, slot, func, pos+PCI_CAP_LIST_ID); - if (id == 0xff) - break; - if (id == cap) - return pos; - pos = read_pci_config_byte(bus, slot, func, - pos+PCI_CAP_LIST_NEXT); - } - return 0; -} - /* Read a standard AGPv3 bridge header */ static u32 __init read_agp(int bus, int slot, int func, int cap, u32 *order) { @@ -250,8 +224,8 @@ case PCI_CLASS_BRIDGE_HOST: case PCI_CLASS_BRIDGE_OTHER: /* needed? */ /* AGP bridge? */ - cap = find_cap(bus, slot, func, - PCI_CAP_ID_AGP); + cap = pci_early_find_cap(bus, slot, + func, PCI_CAP_ID_AGP); if (!cap) break; *valid_agp = 1; --- linux-gcp-5.19.0.orig/arch/x86/kernel/apic/apic.c +++ linux-gcp-5.19.0/arch/x86/kernel/apic/apic.c @@ -61,6 +61,7 @@ #include #include #include +#include unsigned int num_processors; @@ -1756,11 +1757,26 @@ enum { X2APIC_OFF, - X2APIC_ON, X2APIC_DISABLED, + /* All states below here have X2APIC enabled */ + X2APIC_ON, + X2APIC_ON_LOCKED }; static int x2apic_state; +static bool x2apic_hw_locked(void) +{ + u64 ia32_cap; + u64 msr; + + ia32_cap = x86_read_arch_cap_msr(); + if (ia32_cap & ARCH_CAP_XAPIC_DISABLE) { + rdmsrl(MSR_IA32_XAPIC_DISABLE_STATUS, msr); + return (msr & LEGACY_XAPIC_DISABLED); + } + return false; +} + static void __x2apic_disable(void) { u64 msr; @@ -1798,6 +1814,10 @@ apicid); return 0; } + if (x2apic_hw_locked()) { + pr_warn("APIC locked in x2apic mode, can't disable\n"); + return 0; + } pr_warn("x2apic already enabled.\n"); __x2apic_disable(); } @@ -1812,10 +1832,18 @@ void x2apic_setup(void) { /* - * If x2apic is not in ON state, disable it if already enabled + * Try to make the AP's APIC state match that of the BSP, but if the + * BSP is unlocked and the AP is locked then there is a state mismatch. + * Warn about the mismatch in case a GP fault occurs due to a locked AP + * trying to be turned off. + */ + if (x2apic_state != X2APIC_ON_LOCKED && x2apic_hw_locked()) + pr_warn("x2apic lock mismatch between BSP and AP.\n"); + /* + * If x2apic is not in ON or LOCKED state, disable it if already enabled * from BIOS. */ - if (x2apic_state != X2APIC_ON) { + if (x2apic_state < X2APIC_ON) { __x2apic_disable(); return; } @@ -1836,6 +1864,11 @@ if (x2apic_id >= 255) panic("Cannot disable x2apic, id: %08x\n", x2apic_id); + if (x2apic_hw_locked()) { + pr_warn("Cannot disable locked x2apic, id: %08x\n", x2apic_id); + return; + } + __x2apic_disable(); register_lapic_address(mp_lapic_addr); } @@ -1894,7 +1927,10 @@ if (x2apic_enabled()) { pr_info("x2apic: enabled by BIOS, switching to x2apic ops\n"); x2apic_mode = 1; - x2apic_state = X2APIC_ON; + if (x2apic_hw_locked()) + x2apic_state = X2APIC_ON_LOCKED; + else + x2apic_state = X2APIC_ON; } else if (!boot_cpu_has(X86_FEATURE_X2APIC)) { x2apic_state = X2APIC_DISABLED; } --- linux-gcp-5.19.0.orig/arch/x86/kernel/asm-offsets.c +++ linux-gcp-5.19.0/arch/x86/kernel/asm-offsets.c @@ -19,7 +19,6 @@ #include #include #include -#include "../kvm/vmx/vmx.h" #ifdef CONFIG_XEN #include @@ -108,9 +107,4 @@ OFFSET(TSS_sp0, tss_struct, x86_tss.sp0); OFFSET(TSS_sp1, tss_struct, x86_tss.sp1); OFFSET(TSS_sp2, tss_struct, x86_tss.sp2); - - if (IS_ENABLED(CONFIG_KVM_INTEL)) { - BLANK(); - OFFSET(VMX_spec_ctrl, vcpu_vmx, spec_ctrl); - } } --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/amd.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/amd.c @@ -770,8 +770,6 @@ set_cpu_bug(c, X86_BUG_AMD_TLB_MMATCH); } -#define MSR_AMD64_DE_CFG 0xC0011029 - static void init_amd_ln(struct cpuinfo_x86 *c) { /* @@ -965,8 +963,8 @@ * msr_set_bit() uses the safe accessors, too, even if the MSR * is not present. */ - msr_set_bit(MSR_F10H_DECFG, - MSR_F10H_DECFG_LFENCE_SERIALIZE_BIT); + msr_set_bit(MSR_AMD64_DE_CFG, + MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT); /* A serializing LFENCE stops RDTSC speculation */ set_cpu_cap(c, X86_FEATURE_LFENCE_RDTSC); --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/bugs.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/bugs.c @@ -60,11 +60,18 @@ static DEFINE_MUTEX(spec_ctrl_mutex); +/* Update SPEC_CTRL MSR and its cached copy unconditionally */ +static void update_spec_ctrl(u64 val) +{ + this_cpu_write(x86_spec_ctrl_current, val); + wrmsrl(MSR_IA32_SPEC_CTRL, val); +} + /* * Keep track of the SPEC_CTRL MSR value for the current task, which may differ * from x86_spec_ctrl_base due to STIBP/SSB in __speculation_ctrl_update(). */ -void write_spec_ctrl_current(u64 val, bool force) +void update_spec_ctrl_cond(u64 val) { if (this_cpu_read(x86_spec_ctrl_current) == val) return; @@ -75,7 +82,7 @@ * When KERNEL_IBRS this MSR is written on return-to-user, unless * forced the update can be delayed until that time. */ - if (force || !cpu_feature_enabled(X86_FEATURE_KERNEL_IBRS)) + if (!cpu_feature_enabled(X86_FEATURE_KERNEL_IBRS)) wrmsrl(MSR_IA32_SPEC_CTRL, val); } @@ -137,9 +144,17 @@ * have unknown values. AMD64_LS_CFG MSR is cached in the early AMD * init code as it is not enumerated and depends on the family. */ - if (boot_cpu_has(X86_FEATURE_MSR_SPEC_CTRL)) + if (cpu_feature_enabled(X86_FEATURE_MSR_SPEC_CTRL)) { rdmsrl(MSR_IA32_SPEC_CTRL, x86_spec_ctrl_base); + /* + * Previously running kernel (kexec), may have some controls + * turned ON. Clear them and let the mitigations setup below + * rediscover them based on configuration. + */ + x86_spec_ctrl_base &= ~SPEC_CTRL_MITIGATIONS_MASK; + } + /* Select the proper CPU mitigations before patching alternatives: */ spectre_v1_select_mitigation(); spectre_v2_select_mitigation(); @@ -152,7 +167,7 @@ /* * spectre_v2_user_select_mitigation() relies on the state set by * retbleed_select_mitigation(); specifically the STIBP selection is - * forced for UNRET. + * forced for UNRET or IBPB. */ spectre_v2_user_select_mitigation(); ssb_select_mitigation(); @@ -196,22 +211,15 @@ } /* - * NOTE: This function is *only* called for SVM. VMX spec_ctrl handling is - * done in vmenter.S. + * NOTE: This function is *only* called for SVM, since Intel uses + * MSR_IA32_SPEC_CTRL for SSBD. */ void x86_virt_spec_ctrl(u64 guest_spec_ctrl, u64 guest_virt_spec_ctrl, bool setguest) { - u64 msrval, guestval = guest_spec_ctrl, hostval = spec_ctrl_current(); + u64 guestval, hostval; struct thread_info *ti = current_thread_info(); - if (static_cpu_has(X86_FEATURE_MSR_SPEC_CTRL)) { - if (hostval != guestval) { - msrval = setguest ? guestval : hostval; - wrmsrl(MSR_IA32_SPEC_CTRL, msrval); - } - } - /* * If SSBD is not handled in MSR_SPEC_CTRL on AMD, update * MSR_AMD64_L2_CFG or MSR_VIRT_SPEC_CTRL if supported. @@ -433,7 +441,8 @@ u64 ia32_cap; if (!boot_cpu_has_bug(X86_BUG_MMIO_STALE_DATA) || - cpu_mitigations_off()) { + boot_cpu_has_bug(X86_BUG_MMIO_UNKNOWN) || + cpu_mitigations_off()) { mmio_mitigation = MMIO_MITIGATION_OFF; return; } @@ -538,6 +547,8 @@ pr_info("TAA: %s\n", taa_strings[taa_mitigation]); if (boot_cpu_has_bug(X86_BUG_MMIO_STALE_DATA)) pr_info("MMIO Stale Data: %s\n", mmio_strings[mmio_mitigation]); + else if (boot_cpu_has_bug(X86_BUG_MMIO_UNKNOWN)) + pr_info("MMIO Stale Data: Unknown: No mitigations\n"); } static void __init md_clear_select_mitigation(void) @@ -1092,14 +1103,18 @@ return SPECTRE_V2_USER_CMD_AUTO; } -static inline bool spectre_v2_in_ibrs_mode(enum spectre_v2_mitigation mode) +static inline bool spectre_v2_in_eibrs_mode(enum spectre_v2_mitigation mode) { - return mode == SPECTRE_V2_IBRS || - mode == SPECTRE_V2_EIBRS || + return mode == SPECTRE_V2_EIBRS || mode == SPECTRE_V2_EIBRS_RETPOLINE || mode == SPECTRE_V2_EIBRS_LFENCE; } +static inline bool spectre_v2_in_ibrs_mode(enum spectre_v2_mitigation mode) +{ + return spectre_v2_in_eibrs_mode(mode) || mode == SPECTRE_V2_IBRS; +} + static void __init spectre_v2_user_select_mitigation(void) { @@ -1162,12 +1177,19 @@ } /* - * If no STIBP, IBRS or enhanced IBRS is enabled, or SMT impossible, - * STIBP is not required. + * If no STIBP, enhanced IBRS is enabled, or SMT impossible, STIBP + * is not required. + * + * Enhanced IBRS also protects against cross-thread branch target + * injection in user-mode as the IBRS bit remains always set which + * implicitly enables cross-thread protections. However, in legacy IBRS + * mode, the IBRS bit is set only on kernel entry and cleared on return + * to userspace. This disables the implicit cross-thread protection, + * so allow for STIBP to be selected in that case. */ if (!boot_cpu_has(X86_FEATURE_STIBP) || !smt_possible || - spectre_v2_in_ibrs_mode(spectre_v2_enabled)) + spectre_v2_in_eibrs_mode(spectre_v2_enabled)) return; /* @@ -1179,7 +1201,8 @@ boot_cpu_has(X86_FEATURE_AMD_STIBP_ALWAYS_ON)) mode = SPECTRE_V2_USER_STRICT_PREFERRED; - if (retbleed_mitigation == RETBLEED_MITIGATION_UNRET) { + if (retbleed_mitigation == RETBLEED_MITIGATION_UNRET || + retbleed_mitigation == RETBLEED_MITIGATION_IBPB) { if (mode != SPECTRE_V2_USER_STRICT && mode != SPECTRE_V2_USER_STRICT_PREFERRED) pr_info("Selecting STIBP always-on mode to complement retbleed mitigation\n"); @@ -1331,8 +1354,55 @@ if (ia32_cap & ARCH_CAP_RRSBA) { x86_spec_ctrl_base |= SPEC_CTRL_RRSBA_DIS_S; - write_spec_ctrl_current(x86_spec_ctrl_base, true); + update_spec_ctrl(x86_spec_ctrl_base); + } +} + +static void __init spectre_v2_determine_rsb_fill_type_at_vmexit(enum spectre_v2_mitigation mode) +{ + /* + * Similar to context switches, there are two types of RSB attacks + * after VM exit: + * + * 1) RSB underflow + * + * 2) Poisoned RSB entry + * + * When retpoline is enabled, both are mitigated by filling/clearing + * the RSB. + * + * When IBRS is enabled, while #1 would be mitigated by the IBRS branch + * prediction isolation protections, RSB still needs to be cleared + * because of #2. Note that SMEP provides no protection here, unlike + * user-space-poisoned RSB entries. + * + * eIBRS should protect against RSB poisoning, but if the EIBRS_PBRSB + * bug is present then a LITE version of RSB protection is required, + * just a single call needs to retire before a RET is executed. + */ + switch (mode) { + case SPECTRE_V2_NONE: + return; + + case SPECTRE_V2_EIBRS_LFENCE: + case SPECTRE_V2_EIBRS: + if (boot_cpu_has_bug(X86_BUG_EIBRS_PBRSB)) { + setup_force_cpu_cap(X86_FEATURE_RSB_VMEXIT_LITE); + pr_info("Spectre v2 / PBRSB-eIBRS: Retire a single CALL on VMEXIT\n"); + } + return; + + case SPECTRE_V2_EIBRS_RETPOLINE: + case SPECTRE_V2_RETPOLINE: + case SPECTRE_V2_LFENCE: + case SPECTRE_V2_IBRS: + setup_force_cpu_cap(X86_FEATURE_RSB_VMEXIT); + pr_info("Spectre v2 / SpectreRSB : Filling RSB on VMEXIT\n"); + return; } + + pr_warn_once("Unknown Spectre v2 mode, disabling RSB mitigation at VM exit"); + dump_stack(); } static void __init spectre_v2_select_mitigation(void) @@ -1406,7 +1476,7 @@ if (spectre_v2_in_ibrs_mode(mode)) { x86_spec_ctrl_base |= SPEC_CTRL_IBRS; - write_spec_ctrl_current(x86_spec_ctrl_base, true); + update_spec_ctrl(x86_spec_ctrl_base); } switch (mode) { @@ -1485,28 +1555,7 @@ setup_force_cpu_cap(X86_FEATURE_RSB_CTXSW); pr_info("Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch\n"); - /* - * Similar to context switches, there are two types of RSB attacks - * after vmexit: - * - * 1) RSB underflow - * - * 2) Poisoned RSB entry - * - * When retpoline is enabled, both are mitigated by filling/clearing - * the RSB. - * - * When IBRS is enabled, while #1 would be mitigated by the IBRS branch - * prediction isolation protections, RSB still needs to be cleared - * because of #2. Note that SMEP provides no protection here, unlike - * user-space-poisoned RSB entries. - * - * eIBRS, on the other hand, has RSB-poisoning protections, so it - * doesn't need RSB clearing after vmexit. - */ - if (boot_cpu_has(X86_FEATURE_RETPOLINE) || - boot_cpu_has(X86_FEATURE_KERNEL_IBRS)) - setup_force_cpu_cap(X86_FEATURE_RSB_VMEXIT); + spectre_v2_determine_rsb_fill_type_at_vmexit(mode); /* * Retpoline protects the kernel, but doesn't protect firmware. IBRS @@ -1541,7 +1590,7 @@ static void update_stibp_msr(void * __unused) { u64 val = spec_ctrl_current() | (x86_spec_ctrl_base & SPEC_CTRL_STIBP); - write_spec_ctrl_current(val, true); + update_spec_ctrl(val); } /* Update x86_spec_ctrl_base in case SMT state changed. */ @@ -1774,7 +1823,7 @@ x86_amd_ssb_disable(); } else { x86_spec_ctrl_base |= SPEC_CTRL_SSBD; - write_spec_ctrl_current(x86_spec_ctrl_base, true); + update_spec_ctrl(x86_spec_ctrl_base); } } @@ -1921,6 +1970,8 @@ if (ctrl == PR_SPEC_FORCE_DISABLE) task_set_spec_ib_force_disable(task); task_update_spec_tif(task); + if (task == current) + indirect_branch_prediction_barrier(); break; default: return -ERANGE; @@ -2025,7 +2076,7 @@ void x86_spec_ctrl_setup_ap(void) { if (boot_cpu_has(X86_FEATURE_MSR_SPEC_CTRL)) - write_spec_ctrl_current(x86_spec_ctrl_base, true); + update_spec_ctrl(x86_spec_ctrl_base); if (ssb_mode == SPEC_STORE_BYPASS_DISABLE) x86_amd_ssb_disable(); @@ -2248,6 +2299,9 @@ static ssize_t mmio_stale_data_show_state(char *buf) { + if (boot_cpu_has_bug(X86_BUG_MMIO_UNKNOWN)) + return sysfs_emit(buf, "Unknown: No mitigations\n"); + if (mmio_mitigation == MMIO_MITIGATION_OFF) return sysfs_emit(buf, "%s\n", mmio_strings[mmio_mitigation]); @@ -2262,7 +2316,7 @@ static char *stibp_state(void) { - if (spectre_v2_in_ibrs_mode(spectre_v2_enabled)) + if (spectre_v2_in_eibrs_mode(spectre_v2_enabled)) return ""; switch (spectre_v2_user_stibp) { @@ -2292,6 +2346,19 @@ return ""; } +static char *pbrsb_eibrs_state(void) +{ + if (boot_cpu_has_bug(X86_BUG_EIBRS_PBRSB)) { + if (boot_cpu_has(X86_FEATURE_RSB_VMEXIT_LITE) || + boot_cpu_has(X86_FEATURE_RSB_VMEXIT)) + return ", PBRSB-eIBRS: SW sequence"; + else + return ", PBRSB-eIBRS: Vulnerable"; + } else { + return ", PBRSB-eIBRS: Not affected"; + } +} + static ssize_t spectre_v2_show_state(char *buf) { if (spectre_v2_enabled == SPECTRE_V2_LFENCE) @@ -2304,12 +2371,13 @@ spectre_v2_enabled == SPECTRE_V2_EIBRS_LFENCE) return sprintf(buf, "Vulnerable: eIBRS+LFENCE with unprivileged eBPF and SMT\n"); - return sprintf(buf, "%s%s%s%s%s%s\n", + return sprintf(buf, "%s%s%s%s%s%s%s\n", spectre_v2_strings[spectre_v2_enabled], ibpb_state(), boot_cpu_has(X86_FEATURE_USE_IBRS_FW) ? ", IBRS_FW" : "", stibp_state(), boot_cpu_has(X86_FEATURE_RSB_CTXSW) ? ", RSB filling" : "", + pbrsb_eibrs_state(), spectre_v2_module_string()); } @@ -2320,10 +2388,11 @@ static ssize_t retbleed_show_state(char *buf) { - if (retbleed_mitigation == RETBLEED_MITIGATION_UNRET) { + if (retbleed_mitigation == RETBLEED_MITIGATION_UNRET || + retbleed_mitigation == RETBLEED_MITIGATION_IBPB) { if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD && boot_cpu_data.x86_vendor != X86_VENDOR_HYGON) - return sprintf(buf, "Vulnerable: untrained return thunk on non-Zen uarch\n"); + return sprintf(buf, "Vulnerable: untrained return thunk / IBPB on non-AMD based uarch\n"); return sprintf(buf, "%s; SMT %s\n", retbleed_strings[retbleed_mitigation], @@ -2379,6 +2448,7 @@ return srbds_show_state(buf); case X86_BUG_MMIO_STALE_DATA: + case X86_BUG_MMIO_UNKNOWN: return mmio_stale_data_show_state(buf); case X86_BUG_RETBLEED: @@ -2438,7 +2508,10 @@ ssize_t cpu_show_mmio_stale_data(struct device *dev, struct device_attribute *attr, char *buf) { - return cpu_show_common(dev, attr, buf, X86_BUG_MMIO_STALE_DATA); + if (boot_cpu_has_bug(X86_BUG_MMIO_UNKNOWN)) + return cpu_show_common(dev, attr, buf, X86_BUG_MMIO_UNKNOWN); + else + return cpu_show_common(dev, attr, buf, X86_BUG_MMIO_STALE_DATA); } ssize_t cpu_show_retbleed(struct device *dev, struct device_attribute *attr, char *buf) --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/common.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/common.c @@ -1135,6 +1135,8 @@ #define NO_SWAPGS BIT(6) #define NO_ITLB_MULTIHIT BIT(7) #define NO_SPECTRE_V2 BIT(8) +#define NO_MMIO BIT(9) +#define NO_EIBRS_PBRSB BIT(10) #define VULNWL(vendor, family, model, whitelist) \ X86_MATCH_VENDOR_FAM_MODEL(vendor, family, model, whitelist) @@ -1157,6 +1159,11 @@ VULNWL(VORTEX, 6, X86_MODEL_ANY, NO_SPECULATION), /* Intel Family 6 */ + VULNWL_INTEL(TIGERLAKE, NO_MMIO), + VULNWL_INTEL(TIGERLAKE_L, NO_MMIO), + VULNWL_INTEL(ALDERLAKE, NO_MMIO), + VULNWL_INTEL(ALDERLAKE_L, NO_MMIO), + VULNWL_INTEL(ATOM_SALTWELL, NO_SPECULATION | NO_ITLB_MULTIHIT), VULNWL_INTEL(ATOM_SALTWELL_TABLET, NO_SPECULATION | NO_ITLB_MULTIHIT), VULNWL_INTEL(ATOM_SALTWELL_MID, NO_SPECULATION | NO_ITLB_MULTIHIT), @@ -1175,9 +1182,9 @@ VULNWL_INTEL(ATOM_AIRMONT_MID, NO_L1TF | MSBDS_ONLY | NO_SWAPGS | NO_ITLB_MULTIHIT), VULNWL_INTEL(ATOM_AIRMONT_NP, NO_L1TF | NO_SWAPGS | NO_ITLB_MULTIHIT), - VULNWL_INTEL(ATOM_GOLDMONT, NO_MDS | NO_L1TF | NO_SWAPGS | NO_ITLB_MULTIHIT), - VULNWL_INTEL(ATOM_GOLDMONT_D, NO_MDS | NO_L1TF | NO_SWAPGS | NO_ITLB_MULTIHIT), - VULNWL_INTEL(ATOM_GOLDMONT_PLUS, NO_MDS | NO_L1TF | NO_SWAPGS | NO_ITLB_MULTIHIT), + VULNWL_INTEL(ATOM_GOLDMONT, NO_MDS | NO_L1TF | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO), + VULNWL_INTEL(ATOM_GOLDMONT_D, NO_MDS | NO_L1TF | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO), + VULNWL_INTEL(ATOM_GOLDMONT_PLUS, NO_MDS | NO_L1TF | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO | NO_EIBRS_PBRSB), /* * Technically, swapgs isn't serializing on AMD (despite it previously @@ -1187,21 +1194,23 @@ * good enough for our purposes. */ - VULNWL_INTEL(ATOM_TREMONT_D, NO_ITLB_MULTIHIT), + VULNWL_INTEL(ATOM_TREMONT, NO_EIBRS_PBRSB), + VULNWL_INTEL(ATOM_TREMONT_L, NO_EIBRS_PBRSB), + VULNWL_INTEL(ATOM_TREMONT_D, NO_ITLB_MULTIHIT | NO_EIBRS_PBRSB), /* AMD Family 0xf - 0x12 */ - VULNWL_AMD(0x0f, NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT), - VULNWL_AMD(0x10, NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT), - VULNWL_AMD(0x11, NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT), - VULNWL_AMD(0x12, NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT), + VULNWL_AMD(0x0f, NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO), + VULNWL_AMD(0x10, NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO), + VULNWL_AMD(0x11, NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO), + VULNWL_AMD(0x12, NO_MELTDOWN | NO_SSB | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO), /* FAMILY_ANY must be last, otherwise 0x0f - 0x12 matches won't work */ - VULNWL_AMD(X86_FAMILY_ANY, NO_MELTDOWN | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT), - VULNWL_HYGON(X86_FAMILY_ANY, NO_MELTDOWN | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT), + VULNWL_AMD(X86_FAMILY_ANY, NO_MELTDOWN | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO), + VULNWL_HYGON(X86_FAMILY_ANY, NO_MELTDOWN | NO_L1TF | NO_MDS | NO_SWAPGS | NO_ITLB_MULTIHIT | NO_MMIO), /* Zhaoxin Family 7 */ - VULNWL(CENTAUR, 7, X86_MODEL_ANY, NO_SPECTRE_V2 | NO_SWAPGS), - VULNWL(ZHAOXIN, 7, X86_MODEL_ANY, NO_SPECTRE_V2 | NO_SWAPGS), + VULNWL(CENTAUR, 7, X86_MODEL_ANY, NO_SPECTRE_V2 | NO_SWAPGS | NO_MMIO), + VULNWL(ZHAOXIN, 7, X86_MODEL_ANY, NO_SPECTRE_V2 | NO_SWAPGS | NO_MMIO), {} }; @@ -1226,6 +1235,8 @@ #define MMIO_SBDS BIT(2) /* CPU is affected by RETbleed, speculating where you would not expect it */ #define RETBLEED BIT(3) +/* CPU is affected by SMT (cross-thread) return predictions */ +#define SMT_RSB BIT(4) static const struct x86_cpu_id cpu_vuln_blacklist[] __initconst = { VULNBL_INTEL_STEPPINGS(IVYBRIDGE, X86_STEPPING_ANY, SRBDS), @@ -1257,8 +1268,8 @@ VULNBL_AMD(0x15, RETBLEED), VULNBL_AMD(0x16, RETBLEED), - VULNBL_AMD(0x17, RETBLEED), - VULNBL_HYGON(0x18, RETBLEED), + VULNBL_AMD(0x17, RETBLEED | SMT_RSB), + VULNBL_HYGON(0x18, RETBLEED | SMT_RSB), {} }; @@ -1355,16 +1366,30 @@ * Affected CPU list is generally enough to enumerate the vulnerability, * but for virtualization case check for ARCH_CAP MSR bits also, VMM may * not want the guest to enumerate the bug. + * + * Set X86_BUG_MMIO_UNKNOWN for CPUs that are neither in the blacklist, + * nor in the whitelist and also don't enumerate MSR ARCH_CAP MMIO bits. */ - if (cpu_matches(cpu_vuln_blacklist, MMIO) && - !arch_cap_mmio_immune(ia32_cap)) - setup_force_cpu_bug(X86_BUG_MMIO_STALE_DATA); + if (!arch_cap_mmio_immune(ia32_cap)) { + if (cpu_matches(cpu_vuln_blacklist, MMIO)) + setup_force_cpu_bug(X86_BUG_MMIO_STALE_DATA); + else if (!cpu_matches(cpu_vuln_whitelist, NO_MMIO)) + setup_force_cpu_bug(X86_BUG_MMIO_UNKNOWN); + } if (!cpu_has(c, X86_FEATURE_BTC_NO)) { if (cpu_matches(cpu_vuln_blacklist, RETBLEED) || (ia32_cap & ARCH_CAP_RSBA)) setup_force_cpu_bug(X86_BUG_RETBLEED); } + if (cpu_has(c, X86_FEATURE_IBRS_ENHANCED) && + !cpu_matches(cpu_vuln_whitelist, NO_EIBRS_PBRSB) && + !(ia32_cap & ARCH_CAP_PBRSB_NO)) + setup_force_cpu_bug(X86_BUG_EIBRS_PBRSB); + + if (cpu_matches(cpu_vuln_blacklist, SMT_RSB)) + setup_force_cpu_bug(X86_BUG_SMT_RSB); + if (cpu_matches(cpu_vuln_whitelist, NO_MELTDOWN)) return; @@ -2286,30 +2311,45 @@ #endif #ifdef CONFIG_MICROCODE_LATE_LOADING -/* +/** + * store_cpu_caps() - Store a snapshot of CPU capabilities + * @curr_info: Pointer where to store it + * + * Returns: None + */ +void store_cpu_caps(struct cpuinfo_x86 *curr_info) +{ + /* Reload CPUID max function as it might've changed. */ + curr_info->cpuid_level = cpuid_eax(0); + + /* Copy all capability leafs and pick up the synthetic ones. */ + memcpy(&curr_info->x86_capability, &boot_cpu_data.x86_capability, + sizeof(curr_info->x86_capability)); + + /* Get the hardware CPUID leafs */ + get_cpu_cap(curr_info); +} + +/** + * microcode_check() - Check if any CPU capabilities changed after an update. + * @prev_info: CPU capabilities stored before an update. + * * The microcode loader calls this upon late microcode load to recheck features, * only when microcode has been updated. Caller holds microcode_mutex and CPU * hotplug lock. + * + * Return: None */ -void microcode_check(void) +void microcode_check(struct cpuinfo_x86 *prev_info) { - struct cpuinfo_x86 info; + struct cpuinfo_x86 curr_info; perf_check_microcode(); - /* Reload CPUID max function as it might've changed. */ - info.cpuid_level = cpuid_eax(0); - - /* - * Copy all capability leafs to pick up the synthetic ones so that - * memcmp() below doesn't fail on that. The ones coming from CPUID will - * get overwritten in get_cpu_cap(). - */ - memcpy(&info.x86_capability, &boot_cpu_data.x86_capability, sizeof(info.x86_capability)); - - get_cpu_cap(&info); + store_cpu_caps(&curr_info); - if (!memcmp(&info.x86_capability, &boot_cpu_data.x86_capability, sizeof(info.x86_capability))) + if (!memcmp(&prev_info->x86_capability, &curr_info.x86_capability, + sizeof(prev_info->x86_capability))) return; pr_warn("x86/CPU: CPU features have changed after loading microcode, but might not take effect.\n"); --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/feat_ctl.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/feat_ctl.c @@ -1,11 +1,11 @@ // SPDX-License-Identifier: GPL-2.0 #include +#include #include #include #include #include -#include "cpu.h" #undef pr_fmt #define pr_fmt(fmt) "x86/cpu: " fmt --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/hygon.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/hygon.c @@ -326,8 +326,8 @@ * msr_set_bit() uses the safe accessors, too, even if the MSR * is not present. */ - msr_set_bit(MSR_F10H_DECFG, - MSR_F10H_DECFG_LFENCE_SERIALIZE_BIT); + msr_set_bit(MSR_AMD64_DE_CFG, + MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT); /* A serializing LFENCE stops RDTSC speculation */ set_cpu_cap(c, X86_FEATURE_LFENCE_RDTSC); --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/intel.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/intel.c @@ -1034,8 +1034,32 @@ static struct ratelimit_state bld_ratelimit; +static unsigned int sysctl_sld_mitigate = 1; static DEFINE_SEMAPHORE(buslock_sem); +#ifdef CONFIG_PROC_SYSCTL +static struct ctl_table sld_sysctls[] = { + { + .procname = "split_lock_mitigate", + .data = &sysctl_sld_mitigate, + .maxlen = sizeof(unsigned int), + .mode = 0644, + .proc_handler = proc_douintvec_minmax, + .extra1 = SYSCTL_ZERO, + .extra2 = SYSCTL_ONE, + }, + {} +}; + +static int __init sld_mitigate_sysctl_init(void) +{ + register_sysctl_init("kernel", sld_sysctls); + return 0; +} + +late_initcall(sld_mitigate_sysctl_init); +#endif + static inline bool match_option(const char *arg, int arglen, const char *opt) { int len = strlen(opt), ratelimit; @@ -1146,12 +1170,20 @@ split_lock_verify_msr(sld_state != sld_off); } -static void __split_lock_reenable(struct work_struct *work) +static void __split_lock_reenable_unlock(struct work_struct *work) { sld_update_msr(true); up(&buslock_sem); } +static DECLARE_DELAYED_WORK(sl_reenable_unlock, __split_lock_reenable_unlock); + +static void __split_lock_reenable(struct work_struct *work) +{ + sld_update_msr(true); +} +static DECLARE_DELAYED_WORK(sl_reenable, __split_lock_reenable); + /* * If a CPU goes offline with pending delayed work to re-enable split lock * detection then the delayed work will be executed on some other CPU. That @@ -1169,10 +1201,9 @@ return 0; } -static DECLARE_DELAYED_WORK(split_lock_reenable, __split_lock_reenable); - static void split_lock_warn(unsigned long ip) { + struct delayed_work *work; int cpu; if (!current->reported_split_lock) @@ -1180,14 +1211,26 @@ current->comm, current->pid, ip); current->reported_split_lock = 1; - /* misery factor #1, sleep 10ms before trying to execute split lock */ - if (msleep_interruptible(10) > 0) - return; - /* Misery factor #2, only allow one buslocked disabled core at a time */ - if (down_interruptible(&buslock_sem) == -EINTR) - return; + if (sysctl_sld_mitigate) { + /* + * misery factor #1: + * sleep 10ms before trying to execute split lock. + */ + if (msleep_interruptible(10) > 0) + return; + /* + * Misery factor #2: + * only allow one buslocked disabled core at a time. + */ + if (down_interruptible(&buslock_sem) == -EINTR) + return; + work = &sl_reenable_unlock; + } else { + work = &sl_reenable; + } + cpu = get_cpu(); - schedule_delayed_work_on(cpu, &split_lock_reenable, 2); + schedule_delayed_work_on(cpu, work, 2); /* Disable split lock detection on this CPU to make progress */ sld_update_msr(false); @@ -1216,22 +1259,23 @@ { u64 val; - /* - * Warn and fatal are handled by #AC for split lock if #AC for - * split lock is supported. - */ - if (!boot_cpu_has(X86_FEATURE_BUS_LOCK_DETECT) || - (boot_cpu_has(X86_FEATURE_SPLIT_LOCK_DETECT) && - (sld_state == sld_warn || sld_state == sld_fatal)) || - sld_state == sld_off) + if (!boot_cpu_has(X86_FEATURE_BUS_LOCK_DETECT)) return; - /* - * Enable #DB for bus lock. All bus locks are handled in #DB except - * split locks are handled in #AC in the fatal case. - */ rdmsrl(MSR_IA32_DEBUGCTLMSR, val); - val |= DEBUGCTLMSR_BUS_LOCK_DETECT; + + if ((boot_cpu_has(X86_FEATURE_SPLIT_LOCK_DETECT) && + (sld_state == sld_warn || sld_state == sld_fatal)) || + sld_state == sld_off) { + /* + * Warn and fatal are handled by #AC for split lock if #AC for + * split lock is supported. + */ + val &= ~DEBUGCTLMSR_BUS_LOCK_DETECT; + } else { + val |= DEBUGCTLMSR_BUS_LOCK_DETECT; + } + wrmsrl(MSR_IA32_DEBUGCTLMSR, val); } --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/mce/amd.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/mce/amd.c @@ -788,6 +788,24 @@ return status & MCI_STATUS_DEFERRED; } +static bool _log_error_deferred(unsigned int bank, u32 misc) +{ + if (!_log_error_bank(bank, mca_msr_reg(bank, MCA_STATUS), + mca_msr_reg(bank, MCA_ADDR), misc)) + return false; + + /* + * Non-SMCA systems don't have MCA_DESTAT/MCA_DEADDR registers. + * Return true here to avoid accessing these registers. + */ + if (!mce_flags.smca) + return true; + + /* Clear MCA_DESTAT if the deferred error was logged from MCA_STATUS. */ + wrmsrl(MSR_AMD64_SMCA_MCx_DESTAT(bank), 0); + return true; +} + /* * We have three scenarios for checking for Deferred errors: * @@ -799,19 +817,8 @@ */ static void log_error_deferred(unsigned int bank) { - bool defrd; - - defrd = _log_error_bank(bank, mca_msr_reg(bank, MCA_STATUS), - mca_msr_reg(bank, MCA_ADDR), 0); - - if (!mce_flags.smca) - return; - - /* Clear MCA_DESTAT if we logged the deferred error from MCA_STATUS. */ - if (defrd) { - wrmsrl(MSR_AMD64_SMCA_MCx_DESTAT(bank), 0); + if (_log_error_deferred(bank, 0)) return; - } /* * Only deferred errors are logged in MCA_DE{STAT,ADDR} so just check @@ -832,7 +839,7 @@ static void log_error_thresholding(unsigned int bank, u64 misc) { - _log_error_bank(bank, mca_msr_reg(bank, MCA_STATUS), mca_msr_reg(bank, MCA_ADDR), misc); + _log_error_deferred(bank, misc); } static void log_and_reset_block(struct threshold_block *block) --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/mce/apei.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/mce/apei.c @@ -29,15 +29,26 @@ void apei_mce_report_mem_error(int severity, struct cper_sec_mem_err *mem_err) { struct mce m; + int lsb; if (!(mem_err->validation_bits & CPER_MEM_VALID_PA)) return; + /* + * Even if the ->validation_bits are set for address mask, + * to be extra safe, check and reject an error radius '0', + * and fall back to the default page size. + */ + if (mem_err->validation_bits & CPER_MEM_VALID_PA_MASK) + lsb = find_first_bit((void *)&mem_err->physical_addr_mask, PAGE_SHIFT); + else + lsb = PAGE_SHIFT; + mce_setup(&m); m.bank = -1; /* Fake a memory read error with unknown channel */ m.status = MCI_STATUS_VAL | MCI_STATUS_EN | MCI_STATUS_ADDRV | MCI_STATUS_MISCV | 0x9f; - m.misc = (MCI_MISC_ADDR_PHYS << 6) | PAGE_SHIFT; + m.misc = (MCI_MISC_ADDR_PHYS << 6) | lsb; if (severity >= GHES_SEV_RECOVERABLE) m.status |= MCI_STATUS_UC; --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/microcode/amd.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/microcode/amd.c @@ -55,7 +55,9 @@ }; static u32 ucode_new_rev; -static u8 amd_ucode_patch[PATCH_MAX_SIZE]; + +/* One blob per node. */ +static u8 amd_ucode_patch[MAX_NUMNODES][PATCH_MAX_SIZE]; /* * Microcode patch container file is prepended to the initrd in cpio @@ -428,7 +430,7 @@ patch = (u8 (*)[PATCH_MAX_SIZE])__pa_nodebug(&amd_ucode_patch); #else new_rev = &ucode_new_rev; - patch = &amd_ucode_patch; + patch = &amd_ucode_patch[0]; #endif desc.cpuid_1_eax = cpuid_1_eax; @@ -440,7 +442,13 @@ return ret; native_rdmsr(MSR_AMD64_PATCH_LEVEL, rev, dummy); - if (rev >= mc->hdr.patch_id) + + /* + * Allow application of the same revision to pick up SMT-specific + * changes even if the revision of the other SMT thread is already + * up-to-date. + */ + if (rev > mc->hdr.patch_id) return ret; if (!__apply_microcode_amd(mc)) { @@ -528,8 +536,12 @@ native_rdmsr(MSR_AMD64_PATCH_LEVEL, rev, dummy); - /* Check whether we have saved a new patch already: */ - if (*new_rev && rev < mc->hdr.patch_id) { + /* + * Check whether a new patch has been saved already. Also, allow application of + * the same revision in order to pick up SMT-thread-specific configuration even + * if the sibling SMT thread already has an up-to-date revision. + */ + if (*new_rev && rev <= mc->hdr.patch_id) { if (!__apply_microcode_amd(mc)) { *new_rev = mc->hdr.patch_id; return; @@ -543,8 +555,7 @@ apply_microcode_early_amd(cpuid_1_eax, cp.data, cp.size, false); } -static enum ucode_state -load_microcode_amd(bool save, u8 family, const u8 *data, size_t size); +static enum ucode_state load_microcode_amd(u8 family, const u8 *data, size_t size); int __init save_microcode_in_initrd_amd(unsigned int cpuid_1_eax) { @@ -562,19 +573,19 @@ if (!desc.mc) return -EINVAL; - ret = load_microcode_amd(true, x86_family(cpuid_1_eax), desc.data, desc.size); + ret = load_microcode_amd(x86_family(cpuid_1_eax), desc.data, desc.size); if (ret > UCODE_UPDATED) return -EINVAL; return 0; } -void reload_ucode_amd(void) +void reload_ucode_amd(unsigned int cpu) { - struct microcode_amd *mc; u32 rev, dummy __always_unused; + struct microcode_amd *mc; - mc = (struct microcode_amd *)amd_ucode_patch; + mc = (struct microcode_amd *)amd_ucode_patch[cpu_to_node(cpu)]; rdmsr(MSR_AMD64_PATCH_LEVEL, rev, dummy); @@ -788,6 +799,7 @@ kfree(patch); return -EINVAL; } + patch->size = *patch_size; mc_hdr = (struct microcode_header_amd *)(fw + SECTION_HDR_SIZE); proc_id = mc_hdr->processor_rev_id; @@ -839,9 +851,10 @@ return UCODE_OK; } -static enum ucode_state -load_microcode_amd(bool save, u8 family, const u8 *data, size_t size) +static enum ucode_state load_microcode_amd(u8 family, const u8 *data, size_t size) { + struct cpuinfo_x86 *c; + unsigned int nid, cpu; struct ucode_patch *p; enum ucode_state ret; @@ -854,22 +867,22 @@ return ret; } - p = find_patch(0); - if (!p) { - return ret; - } else { - if (boot_cpu_data.microcode >= p->patch_id) - return ret; + for_each_node(nid) { + cpu = cpumask_first(cpumask_of_node(nid)); + c = &cpu_data(cpu); + + p = find_patch(cpu); + if (!p) + continue; - ret = UCODE_NEW; - } + if (c->microcode >= p->patch_id) + continue; - /* save BSP's matching patch for early load */ - if (!save) - return ret; + ret = UCODE_NEW; - memset(amd_ucode_patch, 0, PATCH_MAX_SIZE); - memcpy(amd_ucode_patch, p->data, min_t(u32, ksize(p->data), PATCH_MAX_SIZE)); + memset(&amd_ucode_patch[nid], 0, PATCH_MAX_SIZE); + memcpy(&amd_ucode_patch[nid], p->data, min_t(u32, p->size, PATCH_MAX_SIZE)); + } return ret; } @@ -895,12 +908,11 @@ { char fw_name[36] = "amd-ucode/microcode_amd.bin"; struct cpuinfo_x86 *c = &cpu_data(cpu); - bool bsp = c->cpu_index == boot_cpu_data.cpu_index; enum ucode_state ret = UCODE_NFOUND; const struct firmware *fw; /* reload ucode container only on the boot cpu */ - if (!refresh_fw || !bsp) + if (!refresh_fw) return UCODE_OK; if (c->x86 >= 0x15) @@ -915,7 +927,7 @@ if (!verify_container(fw->data, fw->size, false)) goto fw_release; - ret = load_microcode_amd(bsp, c->x86, fw->data, fw->size); + ret = load_microcode_amd(c->x86, fw->data, fw->size); fw_release: release_firmware(fw); --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/microcode/core.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/microcode/core.c @@ -298,7 +298,7 @@ #endif } -void reload_early_microcode(void) +void reload_early_microcode(unsigned int cpu) { int vendor, family; @@ -312,7 +312,7 @@ break; case X86_VENDOR_AMD: if (family >= 0x10) - reload_ucode_amd(); + reload_ucode_amd(cpu); break; default: break; @@ -491,7 +491,8 @@ */ static int microcode_reload_late(void) { - int ret; + int old = boot_cpu_data.microcode, ret; + struct cpuinfo_x86 prev_info; pr_err("Attempting late microcode loading - it is dangerous and taints the kernel.\n"); pr_err("You should switch to early loading, if possible.\n"); @@ -499,11 +500,21 @@ atomic_set(&late_cpus_in, 0); atomic_set(&late_cpus_out, 0); - ret = stop_machine_cpuslocked(__reload_late, NULL, cpu_online_mask); - if (ret == 0) - microcode_check(); + /* + * Take a snapshot before the microcode update in order to compare and + * check whether any bits changed after an update. + */ + store_cpu_caps(&prev_info); - pr_info("Reload completed, microcode revision: 0x%x\n", boot_cpu_data.microcode); + ret = stop_machine_cpuslocked(__reload_late, NULL, cpu_online_mask); + if (!ret) { + pr_info("Reload succeeded, microcode revision: 0x%x -> 0x%x\n", + old, boot_cpu_data.microcode); + microcode_check(&prev_info); + } else { + pr_info("Reload failed, current microcode revision: 0x%x\n", + boot_cpu_data.microcode); + } return ret; } @@ -684,7 +695,7 @@ if (uci->valid && uci->mc) microcode_ops->apply_microcode(cpu); else if (!uci->mc) - reload_early_microcode(); + reload_early_microcode(cpu); } static struct syscore_ops mc_syscore_ops = { --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/microcode/intel.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/microcode/intel.c @@ -621,7 +621,6 @@ else iup = &intel_ucode_patch; -reget: if (!*iup) { patch = __load_ucode_intel(&uci); if (!patch) @@ -632,12 +631,7 @@ uci.mc = *iup; - if (apply_microcode_early(&uci, true)) { - /* Mixed-silicon system? Try to refetch the proper patch: */ - *iup = NULL; - - goto reget; - } + apply_microcode_early(&uci, true); } static struct microcode_intel *find_patch(struct ucode_cpu_info *uci) --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/resctrl/core.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/resctrl/core.c @@ -66,9 +66,6 @@ .rid = RDT_RESOURCE_L3, .name = "L3", .cache_level = 3, - .cache = { - .min_cbm_bits = 1, - }, .domains = domain_init(RDT_RESOURCE_L3), .parse_ctrlval = parse_cbm, .format_str = "%d=%0*x", @@ -83,9 +80,6 @@ .rid = RDT_RESOURCE_L2, .name = "L2", .cache_level = 2, - .cache = { - .min_cbm_bits = 1, - }, .domains = domain_init(RDT_RESOURCE_L2), .parse_ctrlval = parse_cbm, .format_str = "%d=%0*x", @@ -877,6 +871,7 @@ r->cache.arch_has_sparse_bitmaps = false; r->cache.arch_has_empty_bitmaps = false; r->cache.arch_has_per_cpu_cfg = false; + r->cache.min_cbm_bits = 1; } else if (r->rid == RDT_RESOURCE_MBA) { hw_res->msr_base = MSR_IA32_MBA_THRTL_BASE; hw_res->msr_update = mba_wrmsr_intel; @@ -897,6 +892,7 @@ r->cache.arch_has_sparse_bitmaps = true; r->cache.arch_has_empty_bitmaps = true; r->cache.arch_has_per_cpu_cfg = true; + r->cache.min_cbm_bits = 0; } else if (r->rid == RDT_RESOURCE_MBA) { hw_res->msr_base = MSR_IA32_MBA_BW_BASE; hw_res->msr_update = mba_wrmsr_amd; --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/resctrl/pseudo_lock.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/resctrl/pseudo_lock.c @@ -420,6 +420,7 @@ struct pseudo_lock_region *plr = rdtgrp->plr; u32 rmid_p, closid_p; unsigned long i; + u64 saved_msr; #ifdef CONFIG_KASAN /* * The registers used for local register variables are also used @@ -463,6 +464,7 @@ * the buffer and evict pseudo-locked memory read earlier from the * cache. */ + saved_msr = __rdmsr(MSR_MISC_FEATURE_CONTROL); __wrmsr(MSR_MISC_FEATURE_CONTROL, prefetch_disable_bits, 0x0); closid_p = this_cpu_read(pqr_state.cur_closid); rmid_p = this_cpu_read(pqr_state.cur_rmid); @@ -514,7 +516,7 @@ __wrmsr(IA32_PQR_ASSOC, rmid_p, closid_p); /* Re-enable the hardware prefetcher(s) */ - wrmsr(MSR_MISC_FEATURE_CONTROL, 0x0, 0x0); + wrmsrl(MSR_MISC_FEATURE_CONTROL, saved_msr); local_irq_enable(); plr->thread_done = 1; @@ -871,6 +873,7 @@ static int measure_cycles_lat_fn(void *_plr) { struct pseudo_lock_region *plr = _plr; + u32 saved_low, saved_high; unsigned long i; u64 start, end; void *mem_r; @@ -879,6 +882,7 @@ /* * Disable hardware prefetchers. */ + rdmsr(MSR_MISC_FEATURE_CONTROL, saved_low, saved_high); wrmsr(MSR_MISC_FEATURE_CONTROL, prefetch_disable_bits, 0x0); mem_r = READ_ONCE(plr->kmem); /* @@ -895,7 +899,7 @@ end = rdtsc_ordered(); trace_pseudo_lock_mem_latency((u32)(end - start)); } - wrmsr(MSR_MISC_FEATURE_CONTROL, 0x0, 0x0); + wrmsr(MSR_MISC_FEATURE_CONTROL, saved_low, saved_high); local_irq_enable(); plr->thread_done = 1; wake_up_interruptible(&plr->lock_thread_wq); @@ -940,6 +944,7 @@ u64 hits_before = 0, hits_after = 0, miss_before = 0, miss_after = 0; struct perf_event *miss_event, *hit_event; int hit_pmcnum, miss_pmcnum; + u32 saved_low, saved_high; unsigned int line_size; unsigned int size; unsigned long i; @@ -973,6 +978,7 @@ /* * Disable hardware prefetchers. */ + rdmsr(MSR_MISC_FEATURE_CONTROL, saved_low, saved_high); wrmsr(MSR_MISC_FEATURE_CONTROL, prefetch_disable_bits, 0x0); /* Initialize rest of local variables */ @@ -1031,7 +1037,7 @@ */ rmb(); /* Re-enable hardware prefetchers */ - wrmsr(MSR_MISC_FEATURE_CONTROL, 0x0, 0x0); + wrmsr(MSR_MISC_FEATURE_CONTROL, saved_low, saved_high); local_irq_enable(); out_hit: perf_event_release_kernel(hit_event); --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/resctrl/rdtgroup.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/resctrl/rdtgroup.c @@ -580,8 +580,10 @@ /* * Ensure the task's closid and rmid are written before determining if * the task is current that will decide if it will be interrupted. + * This pairs with the full barrier between the rq->curr update and + * resctrl_sched_in() during context switch. */ - barrier(); + smp_mb(); /* * By now, the task's closid and rmid are set. If the task is current @@ -2364,6 +2366,14 @@ WRITE_ONCE(t->rmid, to->mon.rmid); /* + * Order the closid/rmid stores above before the loads + * in task_curr(). This pairs with the full barrier + * between the rq->curr update and resctrl_sched_in() + * during context switch. + */ + smp_mb(); + + /* * If the task is on a CPU, set the CPU in the mask. * The detection is inaccurate as tasks might move or * schedule before the smp function call takes place. --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/sgx/encl.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/sgx/encl.c @@ -533,11 +533,15 @@ void sgx_encl_release(struct kref *ref) { struct sgx_encl *encl = container_of(ref, struct sgx_encl, refcount); + unsigned long max_page_index = PFN_DOWN(encl->base + encl->size - 1); struct sgx_va_page *va_page; struct sgx_encl_page *entry; - unsigned long index; + unsigned long count = 0; - xa_for_each(&encl->page_array, index, entry) { + XA_STATE(xas, &encl->page_array, PFN_DOWN(encl->base)); + + xas_lock(&xas); + xas_for_each(&xas, entry, max_page_index) { if (entry->epc_page) { /* * The page and its radix tree entry cannot be freed @@ -552,9 +556,20 @@ } kfree(entry); - /* Invoke scheduler to prevent soft lockups. */ - cond_resched(); + /* + * Invoke scheduler on every XA_CHECK_SCHED iteration + * to prevent soft lockups. + */ + if (!(++count % XA_CHECK_SCHED)) { + xas_pause(&xas); + xas_unlock(&xas); + + cond_resched(); + + xas_lock(&xas); + } } + xas_unlock(&xas); xa_destroy(&encl->page_array); --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/sgx/ioctl.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/sgx/ioctl.c @@ -372,6 +372,29 @@ return ret; } +/* + * Ensure user provided offset and length values are valid for + * an enclave. + */ +static int sgx_validate_offset_length(struct sgx_encl *encl, + unsigned long offset, + unsigned long length) +{ + if (!IS_ALIGNED(offset, PAGE_SIZE)) + return -EINVAL; + + if (!length || !IS_ALIGNED(length, PAGE_SIZE)) + return -EINVAL; + + if (offset + length < offset) + return -EINVAL; + + if (offset + length - PAGE_SIZE >= encl->size) + return -EINVAL; + + return 0; +} + /** * sgx_ioc_enclave_add_pages() - The handler for %SGX_IOC_ENCLAVE_ADD_PAGES * @encl: an enclave pointer @@ -425,14 +448,10 @@ if (copy_from_user(&add_arg, arg, sizeof(add_arg))) return -EFAULT; - if (!IS_ALIGNED(add_arg.offset, PAGE_SIZE) || - !IS_ALIGNED(add_arg.src, PAGE_SIZE)) - return -EINVAL; - - if (!add_arg.length || add_arg.length & (PAGE_SIZE - 1)) + if (!IS_ALIGNED(add_arg.src, PAGE_SIZE)) return -EINVAL; - if (add_arg.offset + add_arg.length - PAGE_SIZE >= encl->size) + if (sgx_validate_offset_length(encl, add_arg.offset, add_arg.length)) return -EINVAL; if (copy_from_user(&secinfo, (void __user *)add_arg.secinfo, --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/sgx/main.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/sgx/main.c @@ -49,9 +49,13 @@ * Reset post-kexec EPC pages to the uninitialized state. The pages are removed * from the input list, and made available for the page allocator. SECS pages * prepending their children in the input list are left intact. + * + * Return 0 when sanitization was successful or kthread was stopped, and the + * number of unsanitized pages otherwise. */ -static void __sgx_sanitize_pages(struct list_head *dirty_page_list) +static unsigned long __sgx_sanitize_pages(struct list_head *dirty_page_list) { + unsigned long left_dirty = 0; struct sgx_epc_page *page; LIST_HEAD(dirty); int ret; @@ -59,7 +63,7 @@ /* dirty_page_list is thread-local, no need for a lock: */ while (!list_empty(dirty_page_list)) { if (kthread_should_stop()) - return; + return 0; page = list_first_entry(dirty_page_list, struct sgx_epc_page, list); @@ -92,12 +96,14 @@ } else { /* The page is not yet clean - move to the dirty list. */ list_move_tail(&page->list, &dirty); + left_dirty++; } cond_resched(); } list_splice(&dirty, dirty_page_list); + return left_dirty; } static bool sgx_reclaimer_age(struct sgx_epc_page *epc_page) @@ -440,10 +446,7 @@ * required for SECS pages, whose child pages blocked EREMOVE. */ __sgx_sanitize_pages(&sgx_dirty_page_list); - __sgx_sanitize_pages(&sgx_dirty_page_list); - - /* sanity check: */ - WARN_ON(!list_empty(&sgx_dirty_page_list)); + WARN_ON(__sgx_sanitize_pages(&sgx_dirty_page_list)); while (!kthread_should_stop()) { if (try_to_freeze()) --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/topology.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/topology.c @@ -96,6 +96,7 @@ unsigned int ht_mask_width, core_plus_mask_width, die_plus_mask_width; unsigned int core_select_mask, core_level_siblings; unsigned int die_select_mask, die_level_siblings; + unsigned int pkg_mask_width; bool die_level_present = false; int leaf; @@ -111,10 +112,10 @@ core_level_siblings = smp_num_siblings = LEVEL_MAX_SIBLINGS(ebx); core_plus_mask_width = ht_mask_width = BITS_SHIFT_NEXT_LEVEL(eax); die_level_siblings = LEVEL_MAX_SIBLINGS(ebx); - die_plus_mask_width = BITS_SHIFT_NEXT_LEVEL(eax); + pkg_mask_width = die_plus_mask_width = BITS_SHIFT_NEXT_LEVEL(eax); sub_index = 1; - do { + while (true) { cpuid_count(leaf, sub_index, &eax, &ebx, &ecx, &edx); /* @@ -132,10 +133,15 @@ die_plus_mask_width = BITS_SHIFT_NEXT_LEVEL(eax); } + if (LEAFB_SUBTYPE(ecx) != INVALID_TYPE) + pkg_mask_width = BITS_SHIFT_NEXT_LEVEL(eax); + else + break; + sub_index++; - } while (LEAFB_SUBTYPE(ecx) != INVALID_TYPE); + } - core_select_mask = (~(-1 << core_plus_mask_width)) >> ht_mask_width; + core_select_mask = (~(-1 << pkg_mask_width)) >> ht_mask_width; die_select_mask = (~(-1 << die_plus_mask_width)) >> core_plus_mask_width; @@ -148,7 +154,7 @@ } c->phys_proc_id = apic->phys_pkg_id(c->initial_apicid, - die_plus_mask_width); + pkg_mask_width); /* * Reinit the apicid, now that we have extended initial_apicid. */ --- linux-gcp-5.19.0.orig/arch/x86/kernel/cpu/tsx.c +++ linux-gcp-5.19.0/arch/x86/kernel/cpu/tsx.c @@ -58,24 +58,6 @@ wrmsrl(MSR_IA32_TSX_CTRL, tsx); } -static bool tsx_ctrl_is_supported(void) -{ - u64 ia32_cap = x86_read_arch_cap_msr(); - - /* - * TSX is controlled via MSR_IA32_TSX_CTRL. However, support for this - * MSR is enumerated by ARCH_CAP_TSX_MSR bit in MSR_IA32_ARCH_CAPABILITIES. - * - * TSX control (aka MSR_IA32_TSX_CTRL) is only available after a - * microcode update on CPUs that have their MSR_IA32_ARCH_CAPABILITIES - * bit MDS_NO=1. CPUs with MDS_NO=0 are not planned to get - * MSR_IA32_TSX_CTRL support even after a microcode update. Thus, - * tsx= cmdline requests will do nothing on CPUs without - * MSR_IA32_TSX_CTRL support. - */ - return !!(ia32_cap & ARCH_CAP_TSX_CTRL_MSR); -} - static enum tsx_ctrl_states x86_get_tsx_auto_mode(void) { if (boot_cpu_has_bug(X86_BUG_TAA)) @@ -135,7 +117,7 @@ rdmsrl(MSR_TSX_FORCE_ABORT, msr); msr |= MSR_TFA_TSX_CPUID_CLEAR; wrmsrl(MSR_TSX_FORCE_ABORT, msr); - } else if (tsx_ctrl_is_supported()) { + } else if (cpu_feature_enabled(X86_FEATURE_MSR_TSX_CTRL)) { rdmsrl(MSR_IA32_TSX_CTRL, msr); msr |= TSX_CTRL_CPUID_CLEAR; wrmsrl(MSR_IA32_TSX_CTRL, msr); @@ -158,7 +140,8 @@ u64 mcu_opt_ctrl; /* Check if RTM_ALLOW exists */ - if (!boot_cpu_has_bug(X86_BUG_TAA) || !tsx_ctrl_is_supported() || + if (!boot_cpu_has_bug(X86_BUG_TAA) || + !cpu_feature_enabled(X86_FEATURE_MSR_TSX_CTRL) || !cpu_feature_enabled(X86_FEATURE_SRBDS_CTRL)) return; @@ -191,7 +174,20 @@ return; } - if (!tsx_ctrl_is_supported()) { + /* + * TSX is controlled via MSR_IA32_TSX_CTRL. However, support for this + * MSR is enumerated by ARCH_CAP_TSX_MSR bit in MSR_IA32_ARCH_CAPABILITIES. + * + * TSX control (aka MSR_IA32_TSX_CTRL) is only available after a + * microcode update on CPUs that have their MSR_IA32_ARCH_CAPABILITIES + * bit MDS_NO=1. CPUs with MDS_NO=0 are not planned to get + * MSR_IA32_TSX_CTRL support even after a microcode update. Thus, + * tsx= cmdline requests will do nothing on CPUs without + * MSR_IA32_TSX_CTRL support. + */ + if (x86_read_arch_cap_msr() & ARCH_CAP_TSX_CTRL_MSR) { + setup_force_cpu_cap(X86_FEATURE_MSR_TSX_CTRL); + } else { tsx_ctrl_state = TSX_CTRL_NOT_SUPPORTED; return; } --- linux-gcp-5.19.0.orig/arch/x86/kernel/crash.c +++ linux-gcp-5.19.0/arch/x86/kernel/crash.c @@ -37,7 +37,6 @@ #include #include #include -#include #include #include #include @@ -81,15 +80,6 @@ */ cpu_crash_vmclear_loaded_vmcss(); - /* Disable VMX or SVM if needed. - * - * We need to disable virtualization on all CPUs. - * Having VMX or SVM enabled on any CPU may break rebooting - * after the kdump kernel has finished its task. - */ - cpu_emergency_vmxoff(); - cpu_emergency_svm_disable(); - /* * Disable Intel PT to stop its logging */ @@ -148,12 +138,7 @@ */ cpu_crash_vmclear_loaded_vmcss(); - /* Booting kdump kernel with VMX or SVM enabled won't work, - * because (among other limitations) we can't disable paging - * with the virt flags. - */ - cpu_emergency_vmxoff(); - cpu_emergency_svm_disable(); + cpu_emergency_disable_virtualization(); /* * Disable Intel PT to stop its logging @@ -401,10 +386,8 @@ kbuf.buf_align = ELF_CORE_HEADER_ALIGN; kbuf.mem = KEXEC_BUF_MEM_UNKNOWN; ret = kexec_add_buffer(&kbuf); - if (ret) { - vfree((void *)image->elf_headers); + if (ret) return ret; - } image->elf_load_addr = kbuf.mem; pr_debug("Loaded ELF headers at 0x%lx bufsz=0x%lx memsz=0x%lx\n", image->elf_load_addr, kbuf.bufsz, kbuf.memsz); --- linux-gcp-5.19.0.orig/arch/x86/kernel/early-quirks.c +++ linux-gcp-5.19.0/arch/x86/kernel/early-quirks.c @@ -29,6 +29,37 @@ #include #include +static void __init early_pci_clear_msi(int bus, int slot, int func) +{ + int pos; + u16 ctrl; + + if (likely(!pci_early_clear_msi)) + return; + + pr_info_once("Clearing MSI/MSI-X enable bits early in boot (quirk)\n"); + + pos = pci_early_find_cap(bus, slot, func, PCI_CAP_ID_MSI); + if (pos) { + ctrl = read_pci_config_16(bus, slot, func, pos + PCI_MSI_FLAGS); + ctrl &= ~PCI_MSI_FLAGS_ENABLE; + write_pci_config_16(bus, slot, func, pos + PCI_MSI_FLAGS, ctrl); + + /* Read again to flush previous write */ + ctrl = read_pci_config_16(bus, slot, func, pos + PCI_MSI_FLAGS); + } + + pos = pci_early_find_cap(bus, slot, func, PCI_CAP_ID_MSIX); + if (pos) { + ctrl = read_pci_config_16(bus, slot, func, pos + PCI_MSIX_FLAGS); + ctrl &= ~PCI_MSIX_FLAGS_ENABLE; + write_pci_config_16(bus, slot, func, pos + PCI_MSIX_FLAGS, ctrl); + + /* Read again to flush previous write */ + ctrl = read_pci_config_16(bus, slot, func, pos + PCI_MSIX_FLAGS); + } +} + static void __init fix_hypertransport_config(int num, int slot, int func) { u32 htcfg; @@ -728,6 +759,7 @@ PCI_CLASS_BRIDGE_HOST, PCI_ANY_ID, 0, force_disable_hpet}, { PCI_VENDOR_ID_BROADCOM, 0x4331, PCI_CLASS_NETWORK_OTHER, PCI_ANY_ID, 0, apple_airport_reset}, + { PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, early_pci_clear_msi}, {} }; @@ -780,6 +812,10 @@ PCI_HEADER_TYPE); if ((type & 0x7f) == PCI_HEADER_TYPE_BRIDGE) { + /* pci_early_clear_msi scans the buses differently. */ + if (pci_early_clear_msi) + return -1; + sec = read_pci_config_byte(num, slot, func, PCI_SECONDARY_BUS); if (sec > num) early_pci_scan_bus(sec); @@ -806,8 +842,13 @@ void __init early_quirks(void) { + int bus; + if (!early_pci_allowed()) return; early_pci_scan_bus(0); + /* pci_early_clear_msi scans more buses. */ + for (bus = 1; pci_early_clear_msi && bus < 256; bus++) + early_pci_scan_bus(bus); } --- linux-gcp-5.19.0.orig/arch/x86/kernel/fpu/core.c +++ linux-gcp-5.19.0/arch/x86/kernel/fpu/core.c @@ -391,8 +391,6 @@ { struct fpstate *kstate = gfpu->fpstate; const union fpregs_state *ustate = buf; - struct pkru_state *xpkru; - int ret; if (!cpu_feature_enabled(X86_FEATURE_XSAVE)) { if (ustate->xsave.header.xfeatures & ~XFEATURE_MASK_FPSSE) @@ -406,16 +404,7 @@ if (ustate->xsave.header.xfeatures & ~xcr0) return -EINVAL; - ret = copy_uabi_from_kernel_to_xstate(kstate, ustate); - if (ret) - return ret; - - /* Retrieve PKRU if not in init state */ - if (kstate->regs.xsave.header.xfeatures & XFEATURE_MASK_PKRU) { - xpkru = get_xsave_addr(&kstate->regs.xsave, XFEATURE_PKRU); - *vpkru = xpkru->pkru; - } - return 0; + return copy_uabi_from_kernel_to_xstate(kstate, ustate, vpkru); } EXPORT_SYMBOL_GPL(fpu_copy_uabi_to_guest_fpstate); #endif /* CONFIG_KVM */ @@ -605,9 +594,9 @@ if (test_thread_flag(TIF_NEED_FPU_LOAD)) fpregs_restore_userregs(); save_fpregs_to_fpstate(dst_fpu); + fpregs_unlock(); if (!(clone_flags & CLONE_THREAD)) fpu_inherit_perms(dst_fpu); - fpregs_unlock(); /* * Children never inherit PASID state. --- linux-gcp-5.19.0.orig/arch/x86/kernel/fpu/init.c +++ linux-gcp-5.19.0/arch/x86/kernel/fpu/init.c @@ -133,9 +133,6 @@ fpu__init_system_mxcsr(); } -/* Get alignment of the TYPE. */ -#define TYPE_ALIGN(TYPE) offsetof(struct { char x; TYPE test; }, test) - /* * Enforce that 'MEMBER' is the last field of 'TYPE'. * @@ -143,8 +140,8 @@ * because that's how C aligns structs. */ #define CHECK_MEMBER_AT_END_OF(TYPE, MEMBER) \ - BUILD_BUG_ON(sizeof(TYPE) != ALIGN(offsetofend(TYPE, MEMBER), \ - TYPE_ALIGN(TYPE))) + BUILD_BUG_ON(sizeof(TYPE) != \ + ALIGN(offsetofend(TYPE, MEMBER), _Alignof(TYPE))) /* * We append the 'struct fpu' to the task_struct: @@ -210,13 +207,6 @@ fpstate_reset(¤t->thread.fpu); } -static void __init fpu__init_init_fpstate(void) -{ - /* Bring init_fpstate size and features up to date */ - init_fpstate.size = fpu_kernel_cfg.max_size; - init_fpstate.xfeatures = fpu_kernel_cfg.max_features; -} - /* * Called on the boot CPU once per system bootup, to set up the initial * FPU state that is later cloned into all processes: @@ -236,5 +226,4 @@ fpu__init_system_xstate_size_legacy(); fpu__init_system_xstate(fpu_kernel_cfg.max_size); fpu__init_task_struct_size(); - fpu__init_init_fpstate(); } --- linux-gcp-5.19.0.orig/arch/x86/kernel/fpu/regset.c +++ linux-gcp-5.19.0/arch/x86/kernel/fpu/regset.c @@ -167,7 +167,7 @@ } fpu_force_restore(fpu); - ret = copy_uabi_from_kernel_to_xstate(fpu->fpstate, kbuf ?: tmpbuf); + ret = copy_uabi_from_kernel_to_xstate(fpu->fpstate, kbuf ?: tmpbuf, &target->thread.pkru); out: vfree(tmpbuf); --- linux-gcp-5.19.0.orig/arch/x86/kernel/fpu/signal.c +++ linux-gcp-5.19.0/arch/x86/kernel/fpu/signal.c @@ -396,7 +396,7 @@ fpregs = &fpu->fpstate->regs; if (use_xsave() && !fx_only) { - if (copy_sigframe_from_user_to_xstate(fpu->fpstate, buf_fx)) + if (copy_sigframe_from_user_to_xstate(tsk, buf_fx)) return false; } else { if (__copy_from_user(&fpregs->fxsave, buf_fx, --- linux-gcp-5.19.0.orig/arch/x86/kernel/fpu/xstate.c +++ linux-gcp-5.19.0/arch/x86/kernel/fpu/xstate.c @@ -360,7 +360,7 @@ print_xstate_features(); - xstate_init_xcomp_bv(&init_fpstate.regs.xsave, fpu_kernel_cfg.max_features); + xstate_init_xcomp_bv(&init_fpstate.regs.xsave, init_fpstate.xfeatures); /* * Init all the features state with header.xfeatures being 0x0 @@ -678,20 +678,6 @@ return ebx; } -/* - * Will the runtime-enumerated 'xstate_size' fit in the init - * task's statically-allocated buffer? - */ -static bool __init is_supported_xstate_size(unsigned int test_xstate_size) -{ - if (test_xstate_size <= sizeof(init_fpstate.regs)) - return true; - - pr_warn("x86/fpu: xstate buffer too small (%zu < %d), disabling xsave\n", - sizeof(init_fpstate.regs), test_xstate_size); - return false; -} - static int __init init_xstate_size(void) { /* Recompute the context size for enabled features: */ @@ -717,10 +703,6 @@ kernel_default_size = xstate_calculate_size(fpu_kernel_cfg.default_features, compacted); - /* Ensure we have the space to store all default enabled features. */ - if (!is_supported_xstate_size(kernel_default_size)) - return -EINVAL; - if (!paranoid_xstate_size_valid(kernel_size)) return -EINVAL; @@ -875,6 +857,19 @@ update_regset_xstate_info(fpu_user_cfg.max_size, fpu_user_cfg.max_features); + /* + * init_fpstate excludes dynamic states as they are large but init + * state is zero. + */ + init_fpstate.size = fpu_kernel_cfg.default_size; + init_fpstate.xfeatures = fpu_kernel_cfg.default_features; + + if (init_fpstate.size > sizeof(init_fpstate.regs)) { + pr_warn("x86/fpu: init_fpstate buffer too small (%zu < %d), disabling XSAVE\n", + sizeof(init_fpstate.regs), init_fpstate.size); + goto out_disable; + } + setup_init_fpu_buf(); /* @@ -1130,6 +1125,15 @@ */ mask = fpstate->user_xfeatures; + /* + * Dynamic features are not present in init_fpstate. When they are + * in an all zeros init state, remove those from 'mask' to zero + * those features in the user buffer instead of retrieving them + * from init_fpstate. + */ + if (fpu_state_size_dynamic()) + mask &= (header.xfeatures | xinit->header.xcomp_bv); + for_each_extended_xfeature(i, mask) { /* * If there was a feature or alignment gap, zero the space @@ -1196,8 +1200,30 @@ } +/** + * copy_uabi_to_xstate - Copy a UABI format buffer to the kernel xstate + * @fpstate: The fpstate buffer to copy to + * @kbuf: The UABI format buffer, if it comes from the kernel + * @ubuf: The UABI format buffer, if it comes from userspace + * @pkru: The location to write the PKRU value to + * + * Converts from the UABI format into the kernel internal hardware + * dependent format. + * + * This function ultimately has three different callers with distinct PKRU + * behavior. + * 1. When called from sigreturn the PKRU register will be restored from + * @fpstate via an XRSTOR. Correctly copying the UABI format buffer to + * @fpstate is sufficient to cover this case, but the caller will also + * pass a pointer to the thread_struct's pkru field in @pkru and updating + * it is harmless. + * 2. When called from ptrace the PKRU register will be restored from the + * thread_struct's pkru field. A pointer to that is passed in @pkru. + * 3. When called from KVM the PKRU register will be restored from the vcpu's + * pkru field. A pointer to that is passed in @pkru. + */ static int copy_uabi_to_xstate(struct fpstate *fpstate, const void *kbuf, - const void __user *ubuf) + const void __user *ubuf, u32 *pkru) { struct xregs_state *xsave = &fpstate->regs.xsave; unsigned int offset, size; @@ -1246,6 +1272,14 @@ } } + if (hdr.xfeatures & XFEATURE_MASK_PKRU) { + struct pkru_state *xpkru; + + xpkru = __raw_xsave_addr(xsave, XFEATURE_PKRU); + *pkru = xpkru->pkru; + } else + *pkru = 0; + /* * The state that came in from userspace was user-state only. * Mask all the user states out of 'xfeatures': @@ -1264,9 +1298,9 @@ * Convert from a ptrace standard-format kernel buffer to kernel XSAVE[S] * format and copy to the target thread. Used by ptrace and KVM. */ -int copy_uabi_from_kernel_to_xstate(struct fpstate *fpstate, const void *kbuf) +int copy_uabi_from_kernel_to_xstate(struct fpstate *fpstate, const void *kbuf, u32 *pkru) { - return copy_uabi_to_xstate(fpstate, kbuf, NULL); + return copy_uabi_to_xstate(fpstate, kbuf, NULL, pkru); } /* @@ -1274,10 +1308,10 @@ * XSAVE[S] format and copy to the target thread. This is called from the * sigreturn() and rt_sigreturn() system calls. */ -int copy_sigframe_from_user_to_xstate(struct fpstate *fpstate, +int copy_sigframe_from_user_to_xstate(struct task_struct *tsk, const void __user *ubuf) { - return copy_uabi_to_xstate(fpstate, NULL, ubuf); + return copy_uabi_to_xstate(tsk->thread.fpu.fpstate, NULL, ubuf, &tsk->thread.pkru); } static bool validate_independent_components(u64 mask) --- linux-gcp-5.19.0.orig/arch/x86/kernel/fpu/xstate.h +++ linux-gcp-5.19.0/arch/x86/kernel/fpu/xstate.h @@ -46,8 +46,8 @@ u32 pkru_val, enum xstate_copy_mode copy_mode); extern void copy_xstate_to_uabi_buf(struct membuf to, struct task_struct *tsk, enum xstate_copy_mode mode); -extern int copy_uabi_from_kernel_to_xstate(struct fpstate *fpstate, const void *kbuf); -extern int copy_sigframe_from_user_to_xstate(struct fpstate *fpstate, const void __user *ubuf); +extern int copy_uabi_from_kernel_to_xstate(struct fpstate *fpstate, const void *kbuf, u32 *pkru); +extern int copy_sigframe_from_user_to_xstate(struct task_struct *tsk, const void __user *ubuf); extern void fpu__init_cpu_xstate(void); --- linux-gcp-5.19.0.orig/arch/x86/kernel/ftrace.c +++ linux-gcp-5.19.0/arch/x86/kernel/ftrace.c @@ -91,6 +91,7 @@ /* Make sure it is what we expect it to be */ if (memcmp(cur_code, old_code, MCOUNT_INSN_SIZE) != 0) { + ftrace_expected = old_code; WARN_ON(1); return -EINVAL; } @@ -216,7 +217,9 @@ ret = ftrace_verify_code(rec->ip, old); if (ret) { + ftrace_expected = old; ftrace_bug(ret, rec); + ftrace_expected = NULL; return; } } --- linux-gcp-5.19.0.orig/arch/x86/kernel/head_32.S +++ linux-gcp-5.19.0/arch/x86/kernel/head_32.S @@ -27,6 +27,7 @@ #include #include #include +#include /* Physical address */ #define pa(X) ((X) - __PAGE_OFFSET) @@ -267,6 +268,7 @@ movl setup_once_ref,%eax andl %eax,%eax jz 1f # Did we do this already? + ANNOTATE_RETPOLINE_SAFE call *%eax 1: --- linux-gcp-5.19.0.orig/arch/x86/kernel/i8259.c +++ linux-gcp-5.19.0/arch/x86/kernel/i8259.c @@ -114,6 +114,7 @@ disable_irq_nosync(irq); io_apic_irqs &= ~(1<init(0); - for (i = 0; i < nr_legacy_irqs(); i++) + for (i = 0; i < nr_legacy_irqs(); i++) { irq_set_chip_and_handler(i, chip, handle_level_irq); + irq_set_status_flags(i, IRQ_LEVEL); + } } void __init init_IRQ(void) --- linux-gcp-5.19.0.orig/arch/x86/kernel/kexec-bzimage64.c +++ linux-gcp-5.19.0/arch/x86/kernel/kexec-bzimage64.c @@ -17,7 +17,6 @@ #include #include #include -#include #include #include @@ -528,28 +527,11 @@ return 0; } -#ifdef CONFIG_KEXEC_BZIMAGE_VERIFY_SIG -static int bzImage64_verify_sig(const char *kernel, unsigned long kernel_len) -{ - int ret; - - ret = verify_pefile_signature(kernel, kernel_len, - VERIFY_USE_SECONDARY_KEYRING, - VERIFYING_KEXEC_PE_SIGNATURE); - if (ret == -ENOKEY && IS_ENABLED(CONFIG_INTEGRITY_PLATFORM_KEYRING)) { - ret = verify_pefile_signature(kernel, kernel_len, - VERIFY_USE_PLATFORM_KEYRING, - VERIFYING_KEXEC_PE_SIGNATURE); - } - return ret; -} -#endif - const struct kexec_file_ops kexec_bzImage64_ops = { .probe = bzImage64_probe, .load = bzImage64_load, .cleanup = bzImage64_cleanup, #ifdef CONFIG_KEXEC_BZIMAGE_VERIFY_SIG - .verify_sig = bzImage64_verify_sig, + .verify_sig = kexec_kernel_verify_pe_sig, #endif }; --- linux-gcp-5.19.0.orig/arch/x86/kernel/kprobes/core.c +++ linux-gcp-5.19.0/arch/x86/kernel/kprobes/core.c @@ -37,6 +37,7 @@ #include #include #include +#include #include #include #include @@ -283,12 +284,15 @@ if (ret < 0) return 0; +#ifdef CONFIG_KGDB /* - * Another debugging subsystem might insert this breakpoint. - * In that case, we can't recover it. + * If there is a dynamically installed kgdb sw breakpoint, + * this function should not be probed. */ - if (insn.opcode.bytes[0] == INT3_INSN_OPCODE) + if (insn.opcode.bytes[0] == INT3_INSN_OPCODE && + kgdb_has_hit_break(addr)) return 0; +#endif addr += insn.length; } @@ -505,7 +509,7 @@ match = ((regs->flags & X86_EFLAGS_SF) >> X86_EFLAGS_SF_BIT) ^ ((regs->flags & X86_EFLAGS_OF) >> X86_EFLAGS_OF_BIT); if (p->ainsn.jcc.type >= 0xe) - match = match && (regs->flags & X86_EFLAGS_ZF); + match = match || (regs->flags & X86_EFLAGS_ZF); } __kprobe_emulate_jmp(p, regs, (match && !invert) || (!match && invert)); } @@ -814,16 +818,20 @@ static void kprobe_post_process(struct kprobe *cur, struct pt_regs *regs, struct kprobe_ctlblk *kcb) { - if ((kcb->kprobe_status != KPROBE_REENTER) && cur->post_handler) { - kcb->kprobe_status = KPROBE_HIT_SSDONE; - cur->post_handler(cur, regs, 0); - } - /* Restore back the original saved kprobes variables and continue. */ - if (kcb->kprobe_status == KPROBE_REENTER) + if (kcb->kprobe_status == KPROBE_REENTER) { + /* This will restore both kcb and current_kprobe */ restore_previous_kprobe(kcb); - else + } else { + /* + * Always update the kcb status because + * reset_curent_kprobe() doesn't update kcb. + */ + kcb->kprobe_status = KPROBE_HIT_SSDONE; + if (cur->post_handler) + cur->post_handler(cur, regs, 0); reset_current_kprobe(); + } } NOKPROBE_SYMBOL(kprobe_post_process); --- linux-gcp-5.19.0.orig/arch/x86/kernel/kprobes/opt.c +++ linux-gcp-5.19.0/arch/x86/kernel/kprobes/opt.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -45,8 +46,8 @@ /* This function only handles jump-optimized kprobe */ if (kp && kprobe_optimized(kp)) { op = container_of(kp, struct optimized_kprobe, kp); - /* If op->list is not empty, op is under optimizing */ - if (list_empty(&op->list)) + /* If op is optimized or under unoptimizing */ + if (list_empty(&op->list) || optprobe_queued_unopt(op)) goto found; } } @@ -279,19 +280,6 @@ return ret; } -static bool is_padding_int3(unsigned long addr, unsigned long eaddr) -{ - unsigned char ops; - - for (; addr < eaddr; addr++) { - if (get_kernel_nofault(ops, (void *)addr) < 0 || - ops != INT3_INSN_OPCODE) - return false; - } - - return true; -} - /* Decode whole function to ensure any instructions don't jump into target */ static int can_optimize(unsigned long paddr) { @@ -334,15 +322,15 @@ ret = insn_decode_kernel(&insn, (void *)recovered_insn); if (ret < 0) return 0; - +#ifdef CONFIG_KGDB /* - * In the case of detecting unknown breakpoint, this could be - * a padding INT3 between functions. Let's check that all the - * rest of the bytes are also INT3. + * If there is a dynamically installed kgdb sw breakpoint, + * this function should not be probed. */ - if (insn.opcode.bytes[0] == INT3_INSN_OPCODE) - return is_padding_int3(addr, paddr - offset + size) ? 1 : 0; - + if (insn.opcode.bytes[0] == INT3_INSN_OPCODE && + kgdb_has_hit_break(addr)) + return 0; +#endif /* Recover address */ insn.kaddr = (void *)addr; insn.next_byte = (void *)(addr + insn.length); @@ -365,7 +353,7 @@ for (i = 1; i < op->optinsn.size; i++) { p = get_kprobe(op->kp.addr + i); - if (p && !kprobe_disabled(p)) + if (p && !kprobe_disarmed(p)) return -EEXIST; } --- linux-gcp-5.19.0.orig/arch/x86/kernel/pmem.c +++ linux-gcp-5.19.0/arch/x86/kernel/pmem.c @@ -27,6 +27,11 @@ * simply here to trigger the module to load on demand. */ pdev = platform_device_alloc("e820_pmem", -1); - return platform_device_add(pdev); + + rc = platform_device_add(pdev); + if (rc) + platform_device_put(pdev); + + return rc; } device_initcall(register_e820_pmem); --- linux-gcp-5.19.0.orig/arch/x86/kernel/process.c +++ linux-gcp-5.19.0/arch/x86/kernel/process.c @@ -600,7 +600,7 @@ } if (updmsr) - write_spec_ctrl_current(msr, false); + update_spec_ctrl_cond(msr); } static unsigned long speculation_ctrl_update_tif(struct task_struct *tsk) @@ -821,6 +821,10 @@ */ static int prefer_mwait_c1_over_halt(const struct cpuinfo_x86 *c) { + /* User has disallowed the use of MWAIT. Fallback to HALT */ + if (boot_option_idle_override == IDLE_NOMWAIT) + return 0; + if (c->x86_vendor != X86_VENDOR_INTEL) return 0; @@ -932,9 +936,8 @@ } else if (!strcmp(str, "nomwait")) { /* * If the boot option of "idle=nomwait" is added, - * it means that mwait will be disabled for CPU C2/C3 - * states. In such case it won't touch the variable - * of boot_option_idle_override. + * it means that mwait will be disabled for CPU C1/C2/C3 + * states. */ boot_option_idle_override = IDLE_NOMWAIT; } else --- linux-gcp-5.19.0.orig/arch/x86/kernel/reboot.c +++ linux-gcp-5.19.0/arch/x86/kernel/reboot.c @@ -32,6 +32,7 @@ #include #include #include +#include /* * Power off function, if any @@ -488,7 +489,46 @@ DMI_MATCH(DMI_PRODUCT_NAME, "VGN-Z540N"), }, }, - + { /* Handle problems with rebooting on the Latitude E6520. */ + .callback = set_pci_reboot, + .ident = "Dell Latitude E6520", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6520"), + }, + }, + { /* Handle problems with rebooting on the OptiPlex 790. */ + .callback = set_pci_reboot, + .ident = "Dell OptiPlex 790", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 790"), + }, + }, + { /* Handle problems with rebooting on the OptiPlex 990. */ + .callback = set_pci_reboot, + .ident = "Dell OptiPlex 990", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 990"), + }, + }, + { /* Handle problems with rebooting on the Latitude E6220. */ + .callback = set_pci_reboot, + .ident = "Dell Latitude E6220", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6220"), + }, + }, + { /* Handle problems with rebooting on the OptiPlex 390. */ + .callback = set_pci_reboot, + .ident = "Dell OptiPlex 390", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 390"), + }, + }, { } }; @@ -528,33 +568,29 @@ } } -static void vmxoff_nmi(int cpu, struct pt_regs *regs) -{ - cpu_emergency_vmxoff(); -} +static inline void nmi_shootdown_cpus_on_restart(void); -/* Use NMIs as IPIs to tell all CPUs to disable virtualization */ -static void emergency_vmx_disable_all(void) +static void emergency_reboot_disable_virtualization(void) { /* Just make sure we won't change CPUs while doing this */ local_irq_disable(); /* - * Disable VMX on all CPUs before rebooting, otherwise we risk hanging - * the machine, because the CPU blocks INIT when it's in VMX root. + * Disable virtualization on all CPUs before rebooting to avoid hanging + * the system, as VMX and SVM block INIT when running in the host. * * We can't take any locks and we may be on an inconsistent state, so - * use NMIs as IPIs to tell the other CPUs to exit VMX root and halt. + * use NMIs as IPIs to tell the other CPUs to disable VMX/SVM and halt. * - * Do the NMI shootdown even if VMX if off on _this_ CPU, as that - * doesn't prevent a different CPU from being in VMX root operation. + * Do the NMI shootdown even if virtualization is off on _this_ CPU, as + * other CPUs may have virtualization enabled. */ - if (cpu_has_vmx()) { - /* Safely force _this_ CPU out of VMX root operation. */ - __cpu_emergency_vmxoff(); + if (cpu_has_vmx() || cpu_has_svm(NULL)) { + /* Safely force _this_ CPU out of VMX/SVM operation. */ + cpu_emergency_disable_virtualization(); - /* Halt and exit VMX root operation on the other CPUs. */ - nmi_shootdown_cpus(vmxoff_nmi); + /* Disable VMX/SVM and halt on other CPUs. */ + nmi_shootdown_cpus_on_restart(); } } @@ -590,7 +626,7 @@ unsigned short mode; if (reboot_emergency) - emergency_vmx_disable_all(); + emergency_reboot_disable_virtualization(); tboot_shutdown(TB_SHUTDOWN_REBOOT); @@ -795,6 +831,17 @@ /* This is the CPU performing the emergency shutdown work. */ int crashing_cpu = -1; +/* + * Disable virtualization, i.e. VMX or SVM, to ensure INIT is recognized during + * reboot. VMX blocks INIT if the CPU is post-VMXON, and SVM blocks INIT if + * GIF=0, i.e. if the crash occurred between CLGI and STGI. + */ +void cpu_emergency_disable_virtualization(void) +{ + cpu_emergency_vmxoff(); + cpu_emergency_svm_disable(); +} + #if defined(CONFIG_SMP) static nmi_shootdown_cb shootdown_callback; @@ -817,7 +864,14 @@ return NMI_HANDLED; local_irq_disable(); - shootdown_callback(cpu, regs); + if (shootdown_callback) + shootdown_callback(cpu, regs); + + /* + * Prepare the CPU for reboot _after_ invoking the callback so that the + * callback can safely use virtualization instructions, e.g. VMCLEAR. + */ + cpu_emergency_disable_virtualization(); atomic_dec(&waiting_for_crash_ipi); /* Assume hlt works */ @@ -828,18 +882,32 @@ return NMI_HANDLED; } -/* - * Halt all other CPUs, calling the specified function on each of them +/** + * nmi_shootdown_cpus - Stop other CPUs via NMI + * @callback: Optional callback to be invoked from the NMI handler * - * This function can be used to halt all other CPUs on crash - * or emergency reboot time. The function passed as parameter - * will be called inside a NMI handler on all CPUs. + * The NMI handler on the remote CPUs invokes @callback, if not + * NULL, first and then disables virtualization to ensure that + * INIT is recognized during reboot. + * + * nmi_shootdown_cpus() can only be invoked once. After the first + * invocation all other CPUs are stuck in crash_nmi_callback() and + * cannot respond to a second NMI. */ void nmi_shootdown_cpus(nmi_shootdown_cb callback) { unsigned long msecs; + local_irq_disable(); + /* + * Avoid certain doom if a shootdown already occurred; re-registering + * the NMI handler will cause list corruption, modifying the callback + * will do who knows what, etc... + */ + if (WARN_ON_ONCE(crash_ipi_issued)) + return; + /* Make a note of crashing cpu. Will be used in NMI callback. */ crashing_cpu = safe_smp_processor_id(); @@ -867,7 +935,17 @@ msecs--; } - /* Leave the nmi callback set */ + /* + * Leave the nmi callback set, shootdown is a one-time thing. Clearing + * the callback could result in a NULL pointer dereference if a CPU + * (finally) responds after the timeout expires. + */ +} + +static inline void nmi_shootdown_cpus_on_restart(void) +{ + if (!crash_ipi_issued) + nmi_shootdown_cpus(NULL); } /* @@ -897,6 +975,8 @@ /* No other CPUs to shoot down */ } +static inline void nmi_shootdown_cpus_on_restart(void) { } + void run_crash_ipi_callback(struct pt_regs *regs) { } --- linux-gcp-5.19.0.orig/arch/x86/kernel/relocate_kernel_32.S +++ linux-gcp-5.19.0/arch/x86/kernel/relocate_kernel_32.S @@ -9,6 +9,7 @@ #include #include #include +#include /* * Must be relocatable PIC code callable as a C function, in particular --- linux-gcp-5.19.0.orig/arch/x86/kernel/setup.c +++ linux-gcp-5.19.0/arch/x86/kernel/setup.c @@ -20,6 +20,7 @@ #include #include #include +#include #include #include #include @@ -963,6 +964,13 @@ if (efi_enabled(EFI_BOOT)) efi_init(); + efi_set_secure_boot(boot_params.secure_boot); + +#ifdef CONFIG_LOCK_DOWN_IN_SECURE_BOOT + if (efi_enabled(EFI_SECURE_BOOT)) + security_lock_kernel_down("EFI Secure Boot mode", LOCKDOWN_INTEGRITY_MAX); +#endif + dmi_setup(); /* @@ -1102,7 +1110,7 @@ * Moreover, on machines with SandyBridge graphics or in setups that use * crashkernel the entire 1M is reserved anyway. */ - reserve_real_mode(); + x86_platform.realmode_reserve(); init_mem_mapping(); @@ -1132,19 +1140,7 @@ /* Allocate bigger log buffer */ setup_log_buf(1); - if (efi_enabled(EFI_BOOT)) { - switch (boot_params.secure_boot) { - case efi_secureboot_mode_disabled: - pr_info("Secure boot disabled\n"); - break; - case efi_secureboot_mode_enabled: - pr_info("Secure boot enabled\n"); - break; - default: - pr_info("Secure boot could not be determined\n"); - break; - } - } + efi_set_secure_boot(boot_params.secure_boot); reserve_initrd(); --- linux-gcp-5.19.0.orig/arch/x86/kernel/sev.c +++ linux-gcp-5.19.0/arch/x86/kernel/sev.c @@ -701,7 +701,13 @@ void __init early_snp_set_memory_private(unsigned long vaddr, unsigned long paddr, unsigned int npages) { - if (!cc_platform_has(CC_ATTR_GUEST_SEV_SNP)) + /* + * This can be invoked in early boot while running identity mapped, so + * use an open coded check for SNP instead of using cc_platform_has(). + * This eliminates worries about jump tables or checking boot_cpu_data + * in the cc_platform_has() function. + */ + if (!(sev_status & MSR_AMD64_SEV_SNP_ENABLED)) return; /* @@ -717,7 +723,13 @@ void __init early_snp_set_memory_shared(unsigned long vaddr, unsigned long paddr, unsigned int npages) { - if (!cc_platform_has(CC_ATTR_GUEST_SEV_SNP)) + /* + * This can be invoked in early boot while running identity mapped, so + * use an open coded check for SNP instead of using cc_platform_has(). + * This eliminates worries about jump tables or checking boot_cpu_data + * in the cc_platform_has() function. + */ + if (!(sev_status & MSR_AMD64_SEV_SNP_ENABLED)) return; /* Invalidate the memory pages before they are marked shared in the RMP table. */ @@ -2100,7 +2112,7 @@ return true; } -void __init snp_abort(void) +void __init __noreturn snp_abort(void) { sev_es_terminate(SEV_TERM_SET_GEN, GHCB_SNP_UNSUPPORTED); } @@ -2200,13 +2212,13 @@ if (ret) goto e_put; + *fw_err = ghcb->save.sw_exit_info_2; if (ghcb->save.sw_exit_info_2) { /* Number of expected pages are returned in RBX */ if (exit_code == SVM_VMGEXIT_EXT_GUEST_REQUEST && ghcb->save.sw_exit_info_2 == SNP_GUEST_REQ_INVALID_LEN) input->data_npages = ghcb_get_rbx(ghcb); - *fw_err = ghcb->save.sw_exit_info_2; ret = -EIO; } --- linux-gcp-5.19.0.orig/arch/x86/kernel/signal.c +++ linux-gcp-5.19.0/arch/x86/kernel/signal.c @@ -923,7 +923,7 @@ static int __init strict_sas_size(char *arg) { - return kstrtobool(arg, &strict_sigaltstack_size); + return kstrtobool(arg, &strict_sigaltstack_size) == 0; } __setup("strict_sas_size", strict_sas_size); --- linux-gcp-5.19.0.orig/arch/x86/kernel/smp.c +++ linux-gcp-5.19.0/arch/x86/kernel/smp.c @@ -32,7 +32,7 @@ #include #include #include -#include +#include /* * Some notes on x86 processor bugs affecting SMP operation: @@ -122,7 +122,7 @@ if (raw_smp_processor_id() == atomic_read(&stopping_cpu)) return NMI_HANDLED; - cpu_emergency_vmxoff(); + cpu_emergency_disable_virtualization(); stop_this_cpu(NULL); return NMI_HANDLED; @@ -134,7 +134,7 @@ DEFINE_IDTENTRY_SYSVEC(sysvec_reboot) { ack_APIC_irq(); - cpu_emergency_vmxoff(); + cpu_emergency_disable_virtualization(); stop_this_cpu(NULL); } --- linux-gcp-5.19.0.orig/arch/x86/kernel/unwind_orc.c +++ linux-gcp-5.19.0/arch/x86/kernel/unwind_orc.c @@ -93,22 +93,27 @@ static struct orc_entry *orc_ftrace_find(unsigned long ip) { struct ftrace_ops *ops; - unsigned long caller; + unsigned long tramp_addr, offset; ops = ftrace_ops_trampoline(ip); if (!ops) return NULL; + /* Set tramp_addr to the start of the code copied by the trampoline */ if (ops->flags & FTRACE_OPS_FL_SAVE_REGS) - caller = (unsigned long)ftrace_regs_call; + tramp_addr = (unsigned long)ftrace_regs_caller; else - caller = (unsigned long)ftrace_call; + tramp_addr = (unsigned long)ftrace_caller; + + /* Now place tramp_addr to the location within the trampoline ip is at */ + offset = ip - ops->trampoline; + tramp_addr += offset; /* Prevent unlikely recursion */ - if (ip == caller) + if (ip == tramp_addr) return NULL; - return orc_find(caller); + return orc_find(tramp_addr); } #else static struct orc_entry *orc_ftrace_find(unsigned long ip) @@ -708,7 +713,7 @@ /* Otherwise, skip ahead to the user-specified starting frame: */ while (!unwind_done(state) && (!on_stack(&state->stack_info, first_frame, sizeof(long)) || - state->sp < (unsigned long)first_frame)) + state->sp <= (unsigned long)first_frame)) unwind_next_frame(state); return; --- linux-gcp-5.19.0.orig/arch/x86/kernel/uprobes.c +++ linux-gcp-5.19.0/arch/x86/kernel/uprobes.c @@ -722,8 +722,9 @@ switch (opc1) { case 0xeb: /* jmp 8 */ case 0xe9: /* jmp 32 */ - case 0x90: /* prefix* + nop; same as jmp with .offs = 0 */ break; + case 0x90: /* prefix* + nop; same as jmp with .offs = 0 */ + goto setup; case 0xe8: /* call relative */ branch_clear_offset(auprobe, insn); @@ -753,6 +754,7 @@ return -ENOTSUPP; } +setup: auprobe->branch.opc1 = opc1; auprobe->branch.ilen = insn->length; auprobe->branch.offs = insn->immediate.value; --- linux-gcp-5.19.0.orig/arch/x86/kernel/x86_init.c +++ linux-gcp-5.19.0/arch/x86/kernel/x86_init.c @@ -25,6 +25,7 @@ #include #include #include +#include void x86_init_noop(void) { } void __init x86_init_uint_noop(unsigned int unused) { } @@ -145,6 +146,8 @@ .get_nmi_reason = default_get_nmi_reason, .save_sched_clock_state = tsc_save_sched_clock_state, .restore_sched_clock_state = tsc_restore_sched_clock_state, + .realmode_reserve = reserve_real_mode, + .realmode_init = init_real_mode, .hyper.pin_vcpu = x86_op_int_noop, .guest = { --- linux-gcp-5.19.0.orig/arch/x86/kvm/Makefile +++ linux-gcp-5.19.0/arch/x86/kvm/Makefile @@ -34,3 +34,15 @@ obj-$(CONFIG_KVM) += kvm.o obj-$(CONFIG_KVM_INTEL) += kvm-intel.o obj-$(CONFIG_KVM_AMD) += kvm-amd.o + +AFLAGS_svm/vmenter.o := -iquote $(obj) +$(obj)/svm/vmenter.o: $(obj)/kvm-asm-offsets.h + +AFLAGS_vmx/vmenter.o := -iquote $(obj) +$(obj)/vmx/vmenter.o: $(obj)/kvm-asm-offsets.h + +$(obj)/kvm-asm-offsets.h: $(obj)/kvm-asm-offsets.s FORCE + $(call filechk,offsets,__KVM_ASM_OFFSETS_H__) + +targets += kvm-asm-offsets.s +clean-files += kvm-asm-offsets.h --- linux-gcp-5.19.0.orig/arch/x86/kvm/cpuid.c +++ linux-gcp-5.19.0/arch/x86/kvm/cpuid.c @@ -283,7 +283,6 @@ { struct kvm_lapic *apic = vcpu->arch.apic; struct kvm_cpuid_entry2 *best; - u64 guest_supported_xcr0; best = kvm_find_cpuid_entry(vcpu, 1, 0); if (best && apic) { @@ -295,10 +294,16 @@ kvm_apic_set_version(vcpu); } - guest_supported_xcr0 = + vcpu->arch.guest_supported_xcr0 = cpuid_get_supported_xcr0(vcpu->arch.cpuid_entries, vcpu->arch.cpuid_nent); - vcpu->arch.guest_fpu.fpstate->user_xfeatures = guest_supported_xcr0; + /* + * FP+SSE can always be saved/restored via KVM_{G,S}ET_XSAVE, even if + * XSAVE/XCRO are not exposed to the guest, and even if XSAVE isn't + * supported by the host. + */ + vcpu->arch.guest_fpu.fpstate->user_xfeatures = vcpu->arch.guest_supported_xcr0 | + XFEATURE_MASK_FPSSE; kvm_update_pv_runtime(vcpu); @@ -706,16 +711,22 @@ int nent; }; +static struct kvm_cpuid_entry2 *get_next_cpuid(struct kvm_cpuid_array *array) +{ + if (array->nent >= array->maxnent) + return NULL; + + return &array->entries[array->nent++]; +} + static struct kvm_cpuid_entry2 *do_host_cpuid(struct kvm_cpuid_array *array, u32 function, u32 index) { - struct kvm_cpuid_entry2 *entry; + struct kvm_cpuid_entry2 *entry = get_next_cpuid(array); - if (array->nent >= array->maxnent) + if (!entry) return NULL; - entry = &array->entries[array->nent++]; - memset(entry, 0, sizeof(*entry)); entry->function = function; entry->index = index; @@ -865,8 +876,6 @@ entry->edx = 0; } break; - case 9: - break; case 0xa: { /* Architectural Performance Monitoring */ struct x86_pmu_capability cap; union cpuid10_eax eax; @@ -905,22 +914,13 @@ entry->edx = edx.full; break; } - /* - * Per Intel's SDM, the 0x1f is a superset of 0xb, - * thus they can be handled by common code. - */ case 0x1f: case 0xb: /* - * Populate entries until the level type (ECX[15:8]) of the - * previous entry is zero. Note, CPUID EAX.{0x1f,0xb}.0 is - * the starting entry, filled by the primary do_host_cpuid(). + * No topology; a valid topology is indicated by the presence + * of subleaf 1. */ - for (i = 1; entry->ecx & 0xff00; ++i) { - entry = do_host_cpuid(array, function, i); - if (!entry) - goto out; - } + entry->eax = entry->ebx = entry->ecx = 0; break; case 0xd: { u64 permitted_xcr0 = supported_xcr0 & xstate_get_guest_group_perm(); @@ -1093,11 +1093,13 @@ entry->eax = max(entry->eax, 0x80000021); break; case 0x80000001: + entry->ebx &= ~GENMASK(27, 16); cpuid_entry_override(entry, CPUID_8000_0001_EDX); cpuid_entry_override(entry, CPUID_8000_0001_ECX); break; case 0x80000006: - /* L2 cache and TLB: pass through host info. */ + /* Drop reserved bits, pass host L2 cache and TLB info. */ + entry->edx &= ~GENMASK(17, 16); break; case 0x80000007: /* Advanced power management */ /* invariant TSC is CPUID.80000007H:EDX[8] */ @@ -1127,6 +1129,7 @@ g_phys_as = phys_as; entry->eax = g_phys_as | (virt_as << 8); + entry->ecx &= ~(GENMASK(31, 16) | GENMASK(11, 8)); entry->edx = 0; cpuid_entry_override(entry, CPUID_8000_0008_EBX); break; @@ -1146,14 +1149,21 @@ entry->ecx = entry->edx = 0; break; case 0x8000001a: + entry->eax &= GENMASK(2, 0); + entry->ebx = entry->ecx = entry->edx = 0; + break; case 0x8000001e: + /* Do not return host topology information. */ + entry->eax = entry->ebx = entry->ecx = 0; + entry->edx = 0; /* reserved */ break; case 0x8000001F: if (!kvm_cpu_cap_has(X86_FEATURE_SEV)) { entry->eax = entry->ebx = entry->ecx = entry->edx = 0; } else { cpuid_entry_override(entry, CPUID_8000_001F_EAX); - + /* Clear NumVMPL since KVM does not support VMPL. */ + entry->ebx &= ~GENMASK(31, 12); /* * Enumerate '0' for "PA bits reduction", the adjusted * MAXPHYADDR is enumerated directly (see 0x80000008). --- linux-gcp-5.19.0.orig/arch/x86/kvm/emulate.c +++ linux-gcp-5.19.0/arch/x86/kvm/emulate.c @@ -316,7 +316,8 @@ ".align " __stringify(FASTOP_SIZE) " \n\t" \ ".type " name ", @function \n\t" \ name ":\n\t" \ - ASM_ENDBR + ASM_ENDBR \ + IBT_NOSEAL(name) #define FOP_FUNC(name) \ __FOP_FUNC(#name) @@ -793,8 +794,7 @@ ctxt->mode, linear); } -static inline int assign_eip(struct x86_emulate_ctxt *ctxt, ulong dst, - enum x86emul_mode mode) +static inline int assign_eip(struct x86_emulate_ctxt *ctxt, ulong dst) { ulong linear; int rc; @@ -804,41 +804,71 @@ if (ctxt->op_bytes != sizeof(unsigned long)) addr.ea = dst & ((1UL << (ctxt->op_bytes << 3)) - 1); - rc = __linearize(ctxt, addr, &max_size, 1, false, true, mode, &linear); + rc = __linearize(ctxt, addr, &max_size, 1, false, true, ctxt->mode, &linear); if (rc == X86EMUL_CONTINUE) ctxt->_eip = addr.ea; return rc; } +static inline int emulator_recalc_and_set_mode(struct x86_emulate_ctxt *ctxt) +{ + u64 efer; + struct desc_struct cs; + u16 selector; + u32 base3; + + ctxt->ops->get_msr(ctxt, MSR_EFER, &efer); + + if (!(ctxt->ops->get_cr(ctxt, 0) & X86_CR0_PE)) { + /* Real mode. cpu must not have long mode active */ + if (efer & EFER_LMA) + return X86EMUL_UNHANDLEABLE; + ctxt->mode = X86EMUL_MODE_REAL; + return X86EMUL_CONTINUE; + } + + if (ctxt->eflags & X86_EFLAGS_VM) { + /* Protected/VM86 mode. cpu must not have long mode active */ + if (efer & EFER_LMA) + return X86EMUL_UNHANDLEABLE; + ctxt->mode = X86EMUL_MODE_VM86; + return X86EMUL_CONTINUE; + } + + if (!ctxt->ops->get_segment(ctxt, &selector, &cs, &base3, VCPU_SREG_CS)) + return X86EMUL_UNHANDLEABLE; + + if (efer & EFER_LMA) { + if (cs.l) { + /* Proper long mode */ + ctxt->mode = X86EMUL_MODE_PROT64; + } else if (cs.d) { + /* 32 bit compatibility mode*/ + ctxt->mode = X86EMUL_MODE_PROT32; + } else { + ctxt->mode = X86EMUL_MODE_PROT16; + } + } else { + /* Legacy 32 bit / 16 bit mode */ + ctxt->mode = cs.d ? X86EMUL_MODE_PROT32 : X86EMUL_MODE_PROT16; + } + + return X86EMUL_CONTINUE; +} + static inline int assign_eip_near(struct x86_emulate_ctxt *ctxt, ulong dst) { - return assign_eip(ctxt, dst, ctxt->mode); + return assign_eip(ctxt, dst); } -static int assign_eip_far(struct x86_emulate_ctxt *ctxt, ulong dst, - const struct desc_struct *cs_desc) +static int assign_eip_far(struct x86_emulate_ctxt *ctxt, ulong dst) { - enum x86emul_mode mode = ctxt->mode; - int rc; + int rc = emulator_recalc_and_set_mode(ctxt); -#ifdef CONFIG_X86_64 - if (ctxt->mode >= X86EMUL_MODE_PROT16) { - if (cs_desc->l) { - u64 efer = 0; + if (rc != X86EMUL_CONTINUE) + return rc; - ctxt->ops->get_msr(ctxt, MSR_EFER, &efer); - if (efer & EFER_LMA) - mode = X86EMUL_MODE_PROT64; - } else - mode = X86EMUL_MODE_PROT32; /* temporary value */ - } -#endif - if (mode == X86EMUL_MODE_PROT16 || mode == X86EMUL_MODE_PROT32) - mode = cs_desc->d ? X86EMUL_MODE_PROT32 : X86EMUL_MODE_PROT16; - rc = assign_eip(ctxt, dst, mode); - if (rc == X86EMUL_CONTINUE) - ctxt->mode = mode; - return rc; + return assign_eip(ctxt, dst); } static inline int jmp_rel(struct x86_emulate_ctxt *ctxt, int rel) @@ -1687,16 +1717,6 @@ case VCPU_SREG_TR: if (seg_desc.s || (seg_desc.type != 1 && seg_desc.type != 9)) goto exception; - if (!seg_desc.p) { - err_vec = NP_VECTOR; - goto exception; - } - old_desc = seg_desc; - seg_desc.type |= 2; /* busy */ - ret = ctxt->ops->cmpxchg_emulated(ctxt, desc_addr, &old_desc, &seg_desc, - sizeof(seg_desc), &ctxt->exception); - if (ret != X86EMUL_CONTINUE) - return ret; break; case VCPU_SREG_LDTR: if (seg_desc.s || seg_desc.type != 2) @@ -1734,8 +1754,17 @@ if (ret != X86EMUL_CONTINUE) return ret; if (emul_is_noncanonical_address(get_desc_base(&seg_desc) | - ((u64)base3 << 32), ctxt)) - return emulate_gp(ctxt, 0); + ((u64)base3 << 32), ctxt)) + return emulate_gp(ctxt, err_code); + } + + if (seg == VCPU_SREG_TR) { + old_desc = seg_desc; + seg_desc.type |= 2; /* busy */ + ret = ctxt->ops->cmpxchg_emulated(ctxt, desc_addr, &old_desc, &seg_desc, + sizeof(seg_desc), &ctxt->exception); + if (ret != X86EMUL_CONTINUE) + return ret; } load: ctxt->ops->set_segment(ctxt, selector, &seg_desc, base3, seg); @@ -1955,7 +1984,7 @@ if (rc != X86EMUL_CONTINUE) return rc; - if (ctxt->modrm_reg == VCPU_SREG_SS) + if (seg == VCPU_SREG_SS) ctxt->interruptibility = KVM_X86_SHADOW_INT_MOV_SS; if (ctxt->op_bytes > 2) rsp_increment(ctxt, ctxt->op_bytes - 2); @@ -2172,7 +2201,7 @@ if (rc != X86EMUL_CONTINUE) return rc; - rc = assign_eip_far(ctxt, ctxt->src.val, &new_desc); + rc = assign_eip_far(ctxt, ctxt->src.val); /* Error handling is not implemented. */ if (rc != X86EMUL_CONTINUE) return X86EMUL_UNHANDLEABLE; @@ -2250,7 +2279,7 @@ &new_desc); if (rc != X86EMUL_CONTINUE) return rc; - rc = assign_eip_far(ctxt, eip, &new_desc); + rc = assign_eip_far(ctxt, eip); /* Error handling is not implemented. */ if (rc != X86EMUL_CONTINUE) return X86EMUL_UNHANDLEABLE; @@ -2633,7 +2662,7 @@ * those side effects need to be explicitly handled for both success * and shutdown. */ - return X86EMUL_CONTINUE; + return emulator_recalc_and_set_mode(ctxt); emulate_shutdown: ctxt->ops->triple_fault(ctxt); @@ -2876,6 +2905,7 @@ ops->set_segment(ctxt, ss_sel, &ss, 0, VCPU_SREG_SS); ctxt->_eip = rdx; + ctxt->mode = usermode; *reg_write(ctxt, VCPU_REGS_RSP) = rcx; return X86EMUL_CONTINUE; @@ -3469,7 +3499,7 @@ if (rc != X86EMUL_CONTINUE) return rc; - rc = assign_eip_far(ctxt, ctxt->src.val, &new_desc); + rc = assign_eip_far(ctxt, ctxt->src.val); if (rc != X86EMUL_CONTINUE) goto fail; @@ -3611,11 +3641,25 @@ static int em_cr_write(struct x86_emulate_ctxt *ctxt) { - if (ctxt->ops->set_cr(ctxt, ctxt->modrm_reg, ctxt->src.val)) + int cr_num = ctxt->modrm_reg; + int r; + + if (ctxt->ops->set_cr(ctxt, cr_num, ctxt->src.val)) return emulate_gp(ctxt, 0); /* Disable writeback. */ ctxt->dst.type = OP_NONE; + + if (cr_num == 0) { + /* + * CR0 write might have updated CR0.PE and/or CR0.PG + * which can affect the cpu's execution mode. + */ + r = emulator_recalc_and_set_mode(ctxt); + if (r != X86EMUL_CONTINUE) + return r; + } + return X86EMUL_CONTINUE; } @@ -4134,6 +4178,9 @@ { u32 eax, ecx, edx; + if (!(ctxt->ops->get_cr(ctxt, 4) & X86_CR4_OSXSAVE)) + return emulate_ud(ctxt); + eax = reg_read(ctxt, VCPU_REGS_RAX); edx = reg_read(ctxt, VCPU_REGS_RDX); ecx = reg_read(ctxt, VCPU_REGS_RCX); --- linux-gcp-5.19.0.orig/arch/x86/kvm/kvm-asm-offsets.c +++ linux-gcp-5.19.0/arch/x86/kvm/kvm-asm-offsets.c @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Generate definitions needed by assembly language modules. + * This code generates raw asm output which is post-processed to extract + * and format the required data. + */ +#define COMPILE_OFFSETS + +#include +#include "vmx/vmx.h" +#include "svm/svm.h" + +static void __used common(void) +{ + if (IS_ENABLED(CONFIG_KVM_AMD)) { + BLANK(); + OFFSET(SVM_vcpu_arch_regs, vcpu_svm, vcpu.arch.regs); + OFFSET(SVM_current_vmcb, vcpu_svm, current_vmcb); + OFFSET(SVM_spec_ctrl, vcpu_svm, spec_ctrl); + OFFSET(SVM_vmcb01, vcpu_svm, vmcb01); + OFFSET(KVM_VMCB_pa, kvm_vmcb_info, pa); + OFFSET(SD_save_area_pa, svm_cpu_data, save_area_pa); + } + + if (IS_ENABLED(CONFIG_KVM_INTEL)) { + BLANK(); + OFFSET(VMX_spec_ctrl, vcpu_vmx, spec_ctrl); + } +} --- linux-gcp-5.19.0.orig/arch/x86/kvm/lapic.c +++ linux-gcp-5.19.0/arch/x86/kvm/lapic.c @@ -2043,10 +2043,18 @@ { struct kvm *kvm = apic->vcpu->kvm; + if (!kvm_apic_hw_enabled(apic)) + return; + if (KVM_BUG_ON(apic_x2apic_mode(apic), kvm)) return; - if (kvm_xapic_id(apic) == apic->vcpu->vcpu_id) + /* + * Deliberately truncate the vCPU ID when detecting a modified APIC ID + * to avoid false positives if the vCPU ID, i.e. x2APIC ID, is a 32-bit + * value. + */ + if (kvm_xapic_id(apic) == (u8)apic->vcpu->vcpu_id) return; kvm_set_apicv_inhibit(apic->vcpu->kvm, APICV_INHIBIT_REASON_APIC_ID_MODIFIED); @@ -2184,10 +2192,14 @@ break; case APIC_SELF_IPI: - if (apic_x2apic_mode(apic)) - kvm_apic_send_ipi(apic, APIC_DEST_SELF | (val & APIC_VECTOR_MASK), 0); - else + /* + * Self-IPI exists only when x2APIC is enabled. Bits 7:0 hold + * the vector, everything else is reserved. + */ + if (!apic_x2apic_mode(apic) || (val & ~APIC_VECTOR_MASK)) ret = 1; + else + kvm_apic_send_ipi(apic, APIC_DEST_SELF | val, 0); break; default: ret = 1; @@ -2374,6 +2386,7 @@ */ apic->isr_count = count_vectors(apic->regs + APIC_ISR); } + apic->highest_isr_cache = -1; } EXPORT_SYMBOL_GPL(kvm_apic_update_apicv); @@ -2430,7 +2443,6 @@ kvm_lapic_set_reg(apic, APIC_TMR + 0x10 * i, 0); } kvm_apic_update_apicv(vcpu); - apic->highest_isr_cache = -1; update_divide_count(apic); atomic_set(&apic->lapic_timer.pending, 0); @@ -2665,8 +2677,6 @@ icr = __kvm_lapic_get_reg64(s->regs, APIC_ICR); __kvm_lapic_set_reg(s->regs, APIC_ICR2, icr >> 32); } - } else { - kvm_lapic_xapic_id_updated(vcpu->arch.apic); } return 0; @@ -2702,6 +2712,9 @@ } memcpy(vcpu->arch.apic->regs, s->regs, sizeof(*s)); + if (!apic_x2apic_mode(apic)) + kvm_lapic_xapic_id_updated(apic); + atomic_set_release(&apic->vcpu->kvm->arch.apic_map_dirty, DIRTY); kvm_recalculate_apic_map(vcpu->kvm); kvm_apic_set_version(vcpu); @@ -2715,7 +2728,6 @@ __start_apic_timer(apic, APIC_TMCCT); kvm_lapic_set_reg(apic, APIC_TMCCT, 0); kvm_apic_update_apicv(vcpu); - apic->highest_isr_cache = -1; if (vcpu->arch.apicv_active) { static_call_cond(kvm_x86_apicv_post_state_restore)(vcpu); static_call_cond(kvm_x86_hwapic_irr_update)(vcpu, apic_find_highest_irr(apic)); --- linux-gcp-5.19.0.orig/arch/x86/kvm/mmu.h +++ linux-gcp-5.19.0/arch/x86/kvm/mmu.h @@ -11,6 +11,8 @@ #define PT32_PT_BITS 10 #define PT32_ENT_PER_PAGE (1 << PT32_PT_BITS) +extern bool __read_mostly enable_mmio_caching; + #define PT_WRITABLE_SHIFT 1 #define PT_USER_SHIFT 2 --- linux-gcp-5.19.0.orig/arch/x86/kvm/mmu/mmu.c +++ linux-gcp-5.19.0/arch/x86/kvm/mmu/mmu.c @@ -2309,6 +2309,7 @@ { bool list_unstable, zapped_root = false; + lockdep_assert_held_write(&kvm->mmu_lock); trace_kvm_mmu_prepare_zap_page(sp); ++kvm->stat.mmu_shadow_zapped; *nr_zapped = mmu_zap_unsync_children(kvm, sp, invalid_list); @@ -4092,14 +4093,14 @@ if (is_page_fault_stale(vcpu, fault, mmu_seq)) goto out_unlock; - r = make_mmu_pages_available(vcpu); - if (r) - goto out_unlock; - - if (is_tdp_mmu_fault) + if (is_tdp_mmu_fault) { r = kvm_tdp_mmu_map(vcpu, fault); - else + } else { + r = make_mmu_pages_available(vcpu); + if (r) + goto out_unlock; r = __direct_map(vcpu, fault); + } out_unlock: if (is_tdp_mmu_fault) @@ -4567,7 +4568,7 @@ if (boot_cpu_is_amd()) __reset_rsvds_bits_mask(shadow_zero_check, reserved_hpa_bits(), - context->root_role.level, false, + context->root_role.level, true, boot_cpu_has(X86_FEATURE_GBPAGES), false, true); else @@ -5907,47 +5908,18 @@ const struct kvm_memory_slot *memslot, int start_level) { - bool flush = false; - if (kvm_memslots_have_rmaps(kvm)) { write_lock(&kvm->mmu_lock); - flush = slot_handle_level(kvm, memslot, slot_rmap_write_protect, - start_level, KVM_MAX_HUGEPAGE_LEVEL, - false); + slot_handle_level(kvm, memslot, slot_rmap_write_protect, + start_level, KVM_MAX_HUGEPAGE_LEVEL, false); write_unlock(&kvm->mmu_lock); } if (is_tdp_mmu_enabled(kvm)) { read_lock(&kvm->mmu_lock); - flush |= kvm_tdp_mmu_wrprot_slot(kvm, memslot, start_level); + kvm_tdp_mmu_wrprot_slot(kvm, memslot, start_level); read_unlock(&kvm->mmu_lock); } - - /* - * Flush TLBs if any SPTEs had to be write-protected to ensure that - * guest writes are reflected in the dirty bitmap before the memslot - * update completes, i.e. before enabling dirty logging is visible to - * userspace. - * - * Perform the TLB flush outside the mmu_lock to reduce the amount of - * time the lock is held. However, this does mean that another CPU can - * now grab mmu_lock and encounter a write-protected SPTE while CPUs - * still have a writable mapping for the associated GFN in their TLB. - * - * This is safe but requires KVM to be careful when making decisions - * based on the write-protection status of an SPTE. Specifically, KVM - * also write-protects SPTEs to monitor changes to guest page tables - * during shadow paging, and must guarantee no CPUs can write to those - * page before the lock is dropped. As mentioned in the previous - * paragraph, a write-protected SPTE is no guarantee that CPU cannot - * perform writes. So to determine if a TLB flush is truly required, KVM - * will clear a separate software-only bit (MMU-writable) and skip the - * flush if-and-only-if this bit was already clear. - * - * See is_writable_pte() for more details. - */ - if (flush) - kvm_arch_flush_remote_tlbs_memslot(kvm, memslot); } /* Must be called with the mmu_lock held in write-mode. */ @@ -6070,32 +6042,30 @@ void kvm_mmu_slot_leaf_clear_dirty(struct kvm *kvm, const struct kvm_memory_slot *memslot) { - bool flush = false; - if (kvm_memslots_have_rmaps(kvm)) { write_lock(&kvm->mmu_lock); /* * Clear dirty bits only on 4k SPTEs since the legacy MMU only * support dirty logging at a 4k granularity. */ - flush = slot_handle_level_4k(kvm, memslot, __rmap_clear_dirty, false); + slot_handle_level_4k(kvm, memslot, __rmap_clear_dirty, false); write_unlock(&kvm->mmu_lock); } if (is_tdp_mmu_enabled(kvm)) { read_lock(&kvm->mmu_lock); - flush |= kvm_tdp_mmu_clear_dirty_slot(kvm, memslot); + kvm_tdp_mmu_clear_dirty_slot(kvm, memslot); read_unlock(&kvm->mmu_lock); } /* + * The caller will flush the TLBs after this function returns. + * * It's also safe to flush TLBs out of mmu lock here as currently this * function is only used for dirty logging, in which case flushing TLB * out of mmu lock also guarantees no dirty pages will be lost in * dirty_bitmap. */ - if (flush) - kvm_arch_flush_remote_tlbs_memslot(kvm, memslot); } void kvm_mmu_zap_all(struct kvm *kvm) @@ -6274,11 +6244,15 @@ /* * nx_huge_pages needs to be resolved to true/false when kvm.ko is loaded, as * its default value of -1 is technically undefined behavior for a boolean. + * Forward the module init call to SPTE code so that it too can handle module + * params that need to be resolved/snapshot. */ -void kvm_mmu_x86_module_init(void) +void __init kvm_mmu_x86_module_init(void) { if (nx_huge_pages == -1) __set_nx_huge_pages(get_nx_auto_mode()); + + kvm_mmu_spte_module_init(); } /* --- linux-gcp-5.19.0.orig/arch/x86/kvm/mmu/paging_tmpl.h +++ linux-gcp-5.19.0/arch/x86/kvm/mmu/paging_tmpl.h @@ -1053,7 +1053,14 @@ if (sync_mmio_spte(vcpu, &sp->spt[i], gfn, pte_access)) continue; - if (gfn != sp->gfns[i]) { + /* + * Drop the SPTE if the new protections would result in a RWX=0 + * SPTE or if the gfn is changing. The RWX=0 case only affects + * EPT with execute-only support, i.e. EPT without an effective + * "present" bit, as all other paging modes will create a + * read-only SPTE if pte_access is zero. + */ + if ((!pte_access && !shadow_present_mask) || gfn != sp->gfns[i]) { drop_spte(vcpu->kvm, &sp->spt[i]); flush = true; continue; --- linux-gcp-5.19.0.orig/arch/x86/kvm/mmu/spte.c +++ linux-gcp-5.19.0/arch/x86/kvm/mmu/spte.c @@ -20,7 +20,9 @@ #include bool __read_mostly enable_mmio_caching = true; +static bool __ro_after_init allow_mmio_caching; module_param_named(mmio_caching, enable_mmio_caching, bool, 0444); +EXPORT_SYMBOL_GPL(enable_mmio_caching); u64 __read_mostly shadow_host_writable_mask; u64 __read_mostly shadow_mmu_writable_mask; @@ -42,6 +44,18 @@ u8 __read_mostly shadow_phys_bits; +void __init kvm_mmu_spte_module_init(void) +{ + /* + * Snapshot userspace's desire to allow MMIO caching. Whether or not + * KVM can actually enable MMIO caching depends on vendor-specific + * hardware capabilities and other module params that can't be resolved + * until the vendor module is loaded, i.e. enable_mmio_caching can and + * will change when the vendor module is (re)loaded. + */ + allow_mmio_caching = enable_mmio_caching; +} + static u64 generation_mmio_spte_mask(u64 gen) { u64 mask; @@ -129,6 +143,8 @@ u64 spte = SPTE_MMU_PRESENT_MASK; bool wrprot = false; + WARN_ON_ONCE(!pte_access && !shadow_present_mask); + if (sp->role.ad_disabled) spte |= SPTE_TDP_AD_DISABLED_MASK; else if (kvm_mmu_page_ad_need_write_protect(sp)) @@ -337,6 +353,12 @@ BUG_ON((u64)(unsigned)access_mask != access_mask); WARN_ON(mmio_value & shadow_nonpresent_or_rsvd_lower_gfn_mask); + /* + * Reset to the original module param value to honor userspace's desire + * to (dis)allow MMIO caching. Update the param itself so that + * userspace can see whether or not KVM is actually using MMIO caching. + */ + enable_mmio_caching = allow_mmio_caching; if (!enable_mmio_caching) mmio_value = 0; --- linux-gcp-5.19.0.orig/arch/x86/kvm/mmu/spte.h +++ linux-gcp-5.19.0/arch/x86/kvm/mmu/spte.h @@ -5,8 +5,6 @@ #include "mmu_internal.h" -extern bool __read_mostly enable_mmio_caching; - /* * A MMU present SPTE is backed by actual memory and may or may not be present * in hardware. E.g. MMIO SPTEs are not considered present. Use bit 11, as it @@ -328,7 +326,7 @@ } /* - * An shadow-present leaf SPTE may be non-writable for 3 possible reasons: + * A shadow-present leaf SPTE may be non-writable for 4 possible reasons: * * 1. To intercept writes for dirty logging. KVM write-protects huge pages * so that they can be split be split down into the dirty logging @@ -346,8 +344,13 @@ * read-only memslot or guest memory backed by a read-only VMA. Writes to * such pages are disallowed entirely. * - * To keep track of why a given SPTE is write-protected, KVM uses 2 - * software-only bits in the SPTE: + * 4. To emulate the Accessed bit for SPTEs without A/D bits. Note, in this + * case, the SPTE is access-protected, not just write-protected! + * + * For cases #1 and #4, KVM can safely make such SPTEs writable without taking + * mmu_lock as capturing the Accessed/Dirty state doesn't require taking it. + * To differentiate #1 and #4 from #2 and #3, KVM uses two software-only bits + * in the SPTE: * * shadow_mmu_writable_mask, aka MMU-writable - * Cleared on SPTEs that KVM is currently write-protecting for shadow paging @@ -376,7 +379,8 @@ * shadow page tables between vCPUs. Write-protecting an SPTE for dirty logging * (which does not clear the MMU-writable bit), does not flush TLBs before * dropping the lock, as it only needs to synchronize guest writes with the - * dirty bitmap. + * dirty bitmap. Similarly, making the SPTE inaccessible (and non-writable) for + * access-tracking via the clear_young() MMU notifier also does not flush TLBs. * * So, there is the problem: clearing the MMU-writable bit can encounter a * write-protected SPTE while CPUs still have writable mappings for that SPTE @@ -446,6 +450,7 @@ u64 kvm_mmu_changed_pte_notifier_make_spte(u64 old_spte, kvm_pfn_t new_pfn); +void __init kvm_mmu_spte_module_init(void); void kvm_mmu_reset_all_pte_masks(void); #endif --- linux-gcp-5.19.0.orig/arch/x86/kvm/svm/avic.c +++ linux-gcp-5.19.0/arch/x86/kvm/svm/avic.c @@ -420,14 +420,18 @@ trace_kvm_avic_incomplete_ipi(vcpu->vcpu_id, icrh, icrl, id, index); switch (id) { + case AVIC_IPI_FAILURE_INVALID_TARGET: case AVIC_IPI_FAILURE_INVALID_INT_TYPE: /* * Emulate IPIs that are not handled by AVIC hardware, which - * only virtualizes Fixed, Edge-Triggered INTRs. The exit is - * a trap, e.g. ICR holds the correct value and RIP has been - * advanced, KVM is responsible only for emulating the IPI. - * Sadly, hardware may sometimes leave the BUSY flag set, in - * which case KVM needs to emulate the ICR write as well in + * only virtualizes Fixed, Edge-Triggered INTRs, and falls over + * if _any_ targets are invalid, e.g. if the logical mode mask + * is a superset of running vCPUs. + * + * The exit is a trap, e.g. ICR holds the correct value and RIP + * has been advanced, KVM is responsible only for emulating the + * IPI. Sadly, hardware may sometimes leave the BUSY flag set, + * in which case KVM needs to emulate the ICR write as well in * order to clear the BUSY flag. */ if (icrl & APIC_ICR_BUSY) @@ -443,8 +447,6 @@ */ avic_kick_target_vcpus(vcpu->kvm, apic, icrl, icrh, index); break; - case AVIC_IPI_FAILURE_INVALID_TARGET: - break; case AVIC_IPI_FAILURE_INVALID_BACKING_PAGE: WARN_ONCE(1, "Invalid backing page\n"); break; --- linux-gcp-5.19.0.orig/arch/x86/kvm/svm/nested.c +++ linux-gcp-5.19.0/arch/x86/kvm/svm/nested.c @@ -320,7 +320,8 @@ return false; } - if (CC(!kvm_is_valid_cr4(vcpu, save->cr4))) + /* Note, SVM doesn't have any additional restrictions on CR4. */ + if (CC(!__kvm_is_valid_cr4(vcpu, save->cr4))) return false; if (CC(!kvm_valid_efer(vcpu, save->efer))) @@ -1084,6 +1085,9 @@ if (!svm->nested.initialized) return; + if (WARN_ON_ONCE(svm->vmcb != svm->vmcb01.ptr)) + svm_switch_vmcb(svm, &svm->vmcb01); + svm_vcpu_free_msrpm(svm->nested.msrpm); svm->nested.msrpm = NULL; @@ -1102,9 +1106,6 @@ svm->nested.initialized = false; } -/* - * Forcibly leave nested mode in order to be able to reset the VCPU later on. - */ void svm_leave_nested(struct kvm_vcpu *vcpu) { struct vcpu_svm *svm = to_svm(vcpu); --- linux-gcp-5.19.0.orig/arch/x86/kvm/svm/sev.c +++ linux-gcp-5.19.0/arch/x86/kvm/svm/sev.c @@ -22,6 +22,7 @@ #include #include +#include "mmu.h" #include "x86.h" #include "svm.h" #include "svm_ops.h" @@ -195,7 +196,7 @@ __set_bit(sev->asid, sev_reclaim_asid_bitmap); for_each_possible_cpu(cpu) { - sd = per_cpu(svm_data, cpu); + sd = per_cpu_ptr(&svm_data, cpu); sd->sev_vmcbs[sev->asid] = NULL; } @@ -1289,7 +1290,7 @@ /* Check if we are crossing the page boundary */ offset = params.guest_uaddr & (PAGE_SIZE - 1); - if ((params.guest_len + offset > PAGE_SIZE)) + if (params.guest_len > PAGE_SIZE || (params.guest_len + offset) > PAGE_SIZE) return -EINVAL; /* Pin guest memory */ @@ -1469,7 +1470,7 @@ /* Check if we are crossing the page boundary */ offset = params.guest_uaddr & (PAGE_SIZE - 1); - if ((params.guest_len + offset > PAGE_SIZE)) + if (params.guest_len > PAGE_SIZE || (params.guest_len + offset) > PAGE_SIZE) return -EINVAL; hdr = psp_copy_user_blob(params.hdr_uaddr, params.hdr_len); @@ -2221,6 +2222,15 @@ if (!sev_es_enabled) goto out; + /* + * SEV-ES requires MMIO caching as KVM doesn't have access to the guest + * instruction stream, i.e. can't emulate in response to a #NPF and + * instead relies on #NPF(RSVD) being reflected into the guest as #VC + * (the guest can then do a #VMGEXIT to request MMIO emulation). + */ + if (!enable_mmio_caching) + goto out; + /* Does the CPU support SEV-ES? */ if (!boot_cpu_has(X86_FEATURE_SEV_ES)) goto out; @@ -2590,7 +2600,7 @@ void pre_sev_run(struct vcpu_svm *svm, int cpu) { - struct svm_cpu_data *sd = per_cpu(svm_data, cpu); + struct svm_cpu_data *sd = per_cpu_ptr(&svm_data, cpu); int asid = sev_get_asid(svm->vcpu.kvm); /* Assign the asid allocated with this SEV guest */ --- linux-gcp-5.19.0.orig/arch/x86/kvm/svm/svm.c +++ linux-gcp-5.19.0/arch/x86/kvm/svm/svm.c @@ -214,7 +214,7 @@ u32 zero1; } __attribute__((packed)); -DEFINE_PER_CPU(struct svm_cpu_data *, svm_data); +DEFINE_PER_CPU(struct svm_cpu_data, svm_data); /* * Only MSR_TSC_AUX is switched via the user return hook. EFER is switched via @@ -315,12 +315,6 @@ return 0; } -static int is_external_interrupt(u32 info) -{ - info &= SVM_EVTINJ_TYPE_MASK | SVM_EVTINJ_VALID; - return info == (SVM_EVTINJ_VALID | SVM_EVTINJ_TYPE_INTR); -} - static u32 svm_get_interrupt_shadow(struct kvm_vcpu *vcpu) { struct vcpu_svm *svm = to_svm(vcpu); @@ -392,6 +386,10 @@ */ (void)svm_skip_emulated_instruction(vcpu); rip = kvm_rip_read(vcpu); + + if (boot_cpu_has(X86_FEATURE_NRIPS)) + svm->vmcb->control.next_rip = rip; + svm->int3_rip = rip + svm->vmcb->save.cs.base; svm->int3_injected = rip - old_rip; } @@ -505,12 +503,7 @@ pr_err("%s: err EOPNOTSUPP on %d\n", __func__, me); return -EINVAL; } - sd = per_cpu(svm_data, me); - if (!sd) { - pr_err("%s: svm_data is NULL on %d\n", __func__, me); - return -EINVAL; - } - + sd = per_cpu_ptr(&svm_data, me); sd->asid_generation = 1; sd->max_asid = cpuid_ebx(SVM_CPUID_FUNC) - 1; sd->next_asid = sd->max_asid + 1; @@ -521,7 +514,7 @@ wrmsrl(MSR_EFER, efer | EFER_SVME); - wrmsrl(MSR_VM_HSAVE_PA, __sme_page_pa(sd->save_area)); + wrmsrl(MSR_VM_HSAVE_PA, sd->save_area_pa); if (static_cpu_has(X86_FEATURE_TSCRATEMSR)) { /* @@ -570,42 +563,37 @@ static void svm_cpu_uninit(int cpu) { - struct svm_cpu_data *sd = per_cpu(svm_data, cpu); + struct svm_cpu_data *sd = per_cpu_ptr(&svm_data, cpu); - if (!sd) + if (!sd->save_area) return; - per_cpu(svm_data, cpu) = NULL; kfree(sd->sev_vmcbs); __free_page(sd->save_area); - kfree(sd); + sd->save_area_pa = 0; + sd->save_area = NULL; } static int svm_cpu_init(int cpu) { - struct svm_cpu_data *sd; + struct svm_cpu_data *sd = per_cpu_ptr(&svm_data, cpu); int ret = -ENOMEM; - sd = kzalloc(sizeof(struct svm_cpu_data), GFP_KERNEL); - if (!sd) - return ret; - sd->cpu = cpu; + memset(sd, 0, sizeof(struct svm_cpu_data)); sd->save_area = alloc_page(GFP_KERNEL | __GFP_ZERO); if (!sd->save_area) - goto free_cpu_data; + return ret; ret = sev_cpu_init(sd); if (ret) goto free_save_area; - per_cpu(svm_data, cpu) = sd; - + sd->save_area_pa = __sme_page_pa(sd->save_area); return 0; free_save_area: __free_page(sd->save_area); -free_cpu_data: - kfree(sd); + sd->save_area = NULL; return ret; } @@ -654,6 +642,15 @@ u32 offset; u32 *msrpm; + /* + * For non-nested case: + * If the L01 MSR bitmap does not intercept the MSR, then we need to + * save it. + * + * For nested case: + * If the L02 MSR bitmap does not intercept the MSR, then we need to + * save it. + */ msrpm = is_guest_mode(vcpu) ? to_svm(vcpu)->nested.msrpm: to_svm(vcpu)->msrpm; @@ -1324,7 +1321,7 @@ int i; for_each_online_cpu(i) - cmpxchg(&per_cpu(svm_data, i)->current_vmcb, vmcb, NULL); + cmpxchg(per_cpu_ptr(&svm_data.current_vmcb, i), vmcb, NULL); } static void svm_vcpu_free(struct kvm_vcpu *vcpu) @@ -1338,6 +1335,7 @@ */ svm_clear_current_vmcb(svm->vmcb); + svm_leave_nested(vcpu); svm_free_nested(svm); sev_free_vcpu(vcpu); @@ -1349,7 +1347,7 @@ static void svm_prepare_switch_to_guest(struct kvm_vcpu *vcpu) { struct vcpu_svm *svm = to_svm(vcpu); - struct svm_cpu_data *sd = per_cpu(svm_data, vcpu->cpu); + struct svm_cpu_data *sd = per_cpu_ptr(&svm_data, vcpu->cpu); if (sev_es_guest(vcpu->kvm)) sev_es_unmap_ghcb(svm); @@ -1361,7 +1359,7 @@ * Save additional host state that will be restored on VMEXIT (sev-es) * or subsequent vmload of host save area. */ - vmsave(__sme_page_pa(sd->save_area)); + vmsave(sd->save_area_pa); if (sev_es_guest(vcpu->kvm)) { struct sev_es_save_area *hostsa; hostsa = (struct sev_es_save_area *)(page_address(sd->save_area) + 0x400); @@ -1386,7 +1384,7 @@ static void svm_vcpu_load(struct kvm_vcpu *vcpu, int cpu) { struct vcpu_svm *svm = to_svm(vcpu); - struct svm_cpu_data *sd = per_cpu(svm_data, cpu); + struct svm_cpu_data *sd = per_cpu_ptr(&svm_data, cpu); if (sd->current_vmcb != svm->vmcb) { sd->current_vmcb = svm->vmcb; @@ -2607,9 +2605,9 @@ msr->data = 0; switch (msr->index) { - case MSR_F10H_DECFG: - if (boot_cpu_has(X86_FEATURE_LFENCE_RDTSC)) - msr->data |= MSR_F10H_DECFG_LFENCE_SERIALIZE; + case MSR_AMD64_DE_CFG: + if (cpu_feature_enabled(X86_FEATURE_LFENCE_RDTSC)) + msr->data |= MSR_AMD64_DE_CFG_LFENCE_SERIALIZE; break; case MSR_IA32_PERF_CAPABILITIES: return 0; @@ -2710,7 +2708,7 @@ msr_info->data = 0x1E; } break; - case MSR_F10H_DECFG: + case MSR_AMD64_DE_CFG: msr_info->data = svm->msr_decfg; break; default: @@ -2939,7 +2937,7 @@ case MSR_VM_IGNNE: vcpu_unimpl(vcpu, "unimplemented wrmsr: 0x%x data 0x%llx\n", ecx, data); break; - case MSR_F10H_DECFG: { + case MSR_AMD64_DE_CFG: { struct kvm_msr_entry msr_entry; msr_entry.index = msr->index; @@ -3323,15 +3321,6 @@ return 0; } - if (is_external_interrupt(svm->vmcb->control.exit_int_info) && - exit_code != SVM_EXIT_EXCP_BASE + PF_VECTOR && - exit_code != SVM_EXIT_NPF && exit_code != SVM_EXIT_TASK_SWITCH && - exit_code != SVM_EXIT_INTR && exit_code != SVM_EXIT_NMI) - printk(KERN_ERR "%s: unexpected exit_int_info 0x%x " - "exit_code 0x%x\n", - __func__, svm->vmcb->control.exit_int_info, - exit_code); - if (exit_fastpath != EXIT_FASTPATH_NONE) return 1; @@ -3340,7 +3329,7 @@ static void reload_tss(struct kvm_vcpu *vcpu) { - struct svm_cpu_data *sd = per_cpu(svm_data, vcpu->cpu); + struct svm_cpu_data *sd = per_cpu_ptr(&svm_data, vcpu->cpu); sd->tss_desc->type = 9; /* available 32/64-bit TSS */ load_TR_desc(); @@ -3348,7 +3337,7 @@ static void pre_svm_run(struct kvm_vcpu *vcpu) { - struct svm_cpu_data *sd = per_cpu(svm_data, vcpu->cpu); + struct svm_cpu_data *sd = per_cpu_ptr(&svm_data, vcpu->cpu); struct vcpu_svm *svm = to_svm(vcpu); /* @@ -3385,8 +3374,6 @@ { struct vcpu_svm *svm = to_svm(vcpu); - BUG_ON(!(gif_set(svm))); - trace_kvm_inj_virq(vcpu->arch.interrupt.nr); ++vcpu->stat.irq_injections; @@ -3701,6 +3688,18 @@ vector = exitintinfo & SVM_EXITINTINFO_VEC_MASK; type = exitintinfo & SVM_EXITINTINFO_TYPE_MASK; + /* + * If NextRIP isn't enabled, KVM must manually advance RIP prior to + * injecting the soft exception/interrupt. That advancement needs to + * be unwound if vectoring didn't complete. Note, the new event may + * not be the injected event, e.g. if KVM injected an INTn, the INTn + * hit a #NP in the guest, and the #NP encountered a #PF, the #NP will + * be the reported vectored event, but RIP still needs to be unwound. + */ + if (int3_injected && type == SVM_EXITINTINFO_TYPE_EXEPT && + kvm_is_linear_rip(vcpu, svm->int3_rip)) + kvm_rip_write(vcpu, kvm_rip_read(vcpu) - int3_injected); + switch (type) { case SVM_EXITINTINFO_TYPE_NMI: vcpu->arch.nmi_injected = true; @@ -3714,16 +3713,11 @@ /* * In case of software exceptions, do not reinject the vector, - * but re-execute the instruction instead. Rewind RIP first - * if we emulated INT3 before. + * but re-execute the instruction instead. */ - if (kvm_exception_is_soft(vector)) { - if (vector == BP_VECTOR && int3_injected && - kvm_is_linear_rip(vcpu, svm->int3_rip)) - kvm_rip_write(vcpu, - kvm_rip_read(vcpu) - int3_injected); + if (kvm_exception_is_soft(vector)) break; - } + if (exitintinfo & SVM_EXITINTINFO_VALID_ERR) { u32 err = svm->vmcb->control.exit_int_info_err; kvm_requeue_exception_e(vcpu, vector, err); @@ -3757,37 +3751,29 @@ static fastpath_t svm_exit_handlers_fastpath(struct kvm_vcpu *vcpu) { - if (to_svm(vcpu)->vmcb->control.exit_code == SVM_EXIT_MSR && - to_svm(vcpu)->vmcb->control.exit_info_1) + struct vmcb_control_area *control = &to_svm(vcpu)->vmcb->control; + + /* + * Note, the next RIP must be provided as SRCU isn't held, i.e. KVM + * can't read guest memory (dereference memslots) to decode the WRMSR. + */ + if (control->exit_code == SVM_EXIT_MSR && control->exit_info_1 && + nrips && control->next_rip) return handle_fastpath_set_msr_irqoff(vcpu); return EXIT_FASTPATH_NONE; } -static noinstr void svm_vcpu_enter_exit(struct kvm_vcpu *vcpu) +static noinstr void svm_vcpu_enter_exit(struct kvm_vcpu *vcpu, bool spec_ctrl_intercepted) { struct vcpu_svm *svm = to_svm(vcpu); - unsigned long vmcb_pa = svm->current_vmcb->pa; guest_state_enter_irqoff(); - if (sev_es_guest(vcpu->kvm)) { - __svm_sev_es_vcpu_run(vmcb_pa); - } else { - struct svm_cpu_data *sd = per_cpu(svm_data, vcpu->cpu); - - /* - * Use a single vmcb (vmcb01 because it's always valid) for - * context switching guest state via VMLOAD/VMSAVE, that way - * the state doesn't need to be copied between vmcb01 and - * vmcb02 when switching vmcbs for nested virtualization. - */ - vmload(svm->vmcb01.pa); - __svm_vcpu_run(vmcb_pa, (unsigned long *)&vcpu->arch.regs); - vmsave(svm->vmcb01.pa); - - vmload(__sme_page_pa(sd->save_area)); - } + if (sev_es_guest(vcpu->kvm)) + __svm_sev_es_vcpu_run(svm, spec_ctrl_intercepted); + else + __svm_vcpu_run(svm, spec_ctrl_intercepted); guest_state_exit_irqoff(); } @@ -3795,6 +3781,7 @@ static __no_kcsan fastpath_t svm_vcpu_run(struct kvm_vcpu *vcpu) { struct vcpu_svm *svm = to_svm(vcpu); + bool spec_ctrl_intercepted = msr_write_intercepted(vcpu, MSR_IA32_SPEC_CTRL); trace_kvm_entry(vcpu); @@ -3853,26 +3840,7 @@ if (!static_cpu_has(X86_FEATURE_V_SPEC_CTRL)) x86_spec_ctrl_set_guest(svm->spec_ctrl, svm->virt_spec_ctrl); - svm_vcpu_enter_exit(vcpu); - - /* - * We do not use IBRS in the kernel. If this vCPU has used the - * SPEC_CTRL MSR it may have left it on; save the value and - * turn it off. This is much more efficient than blindly adding - * it to the atomic save/restore list. Especially as the former - * (Saving guest MSRs on vmexit) doesn't even exist in KVM. - * - * For non-nested case: - * If the L01 MSR bitmap does not intercept the MSR, then we need to - * save it. - * - * For nested case: - * If the L02 MSR bitmap does not intercept the MSR, then we need to - * save it. - */ - if (!static_cpu_has(X86_FEATURE_V_SPEC_CTRL) && - unlikely(!msr_write_intercepted(vcpu, MSR_IA32_SPEC_CTRL))) - svm->spec_ctrl = native_read_msr(MSR_IA32_SPEC_CTRL); + svm_vcpu_enter_exit(vcpu, spec_ctrl_intercepted); if (!sev_es_guest(vcpu->kvm)) reload_tss(vcpu); @@ -4899,13 +4867,16 @@ /* Setup shadow_me_value and shadow_me_mask */ kvm_mmu_set_me_spte_mask(sme_me_mask, sme_me_mask); - /* Note, SEV setup consumes npt_enabled. */ + svm_adjust_mmio_mask(); + + /* + * Note, SEV setup consumes npt_enabled and enable_mmio_caching (which + * may be modified by svm_adjust_mmio_mask()). + */ sev_hardware_setup(); svm_hv_hardware_setup(); - svm_adjust_mmio_mask(); - for_each_possible_cpu(cpu) { r = svm_cpu_init(cpu); if (r) --- linux-gcp-5.19.0.orig/arch/x86/kvm/svm/svm.h +++ linux-gcp-5.19.0/arch/x86/kvm/svm/svm.h @@ -267,8 +267,6 @@ }; struct svm_cpu_data { - int cpu; - u64 asid_generation; u32 max_asid; u32 next_asid; @@ -276,13 +274,15 @@ struct kvm_ldttss_desc *tss_desc; struct page *save_area; + unsigned long save_area_pa; + struct vmcb *current_vmcb; /* index = sev_asid, value = vmcb pointer */ struct vmcb **sev_vmcbs; }; -DECLARE_PER_CPU(struct svm_cpu_data *, svm_data); +DECLARE_PER_CPU(struct svm_cpu_data, svm_data); void recalc_intercepts(struct vcpu_svm *svm); @@ -660,7 +660,7 @@ /* vmenter.S */ -void __svm_sev_es_vcpu_run(unsigned long vmcb_pa); -void __svm_vcpu_run(unsigned long vmcb_pa, unsigned long *regs); +void __svm_sev_es_vcpu_run(struct vcpu_svm *svm, bool spec_ctrl_intercepted); +void __svm_vcpu_run(struct vcpu_svm *svm, bool spec_ctrl_intercepted); #endif --- linux-gcp-5.19.0.orig/arch/x86/kvm/svm/svm_onhyperv.h +++ linux-gcp-5.19.0/arch/x86/kvm/svm/svm_onhyperv.h @@ -28,7 +28,7 @@ hve->hv_enlightenments_control.msr_bitmap = 1; } -static inline void svm_hv_hardware_setup(void) +static inline __init void svm_hv_hardware_setup(void) { if (npt_enabled && ms_hyperv.nested_features & HV_X64_NESTED_ENLIGHTENED_TLB) { @@ -85,7 +85,7 @@ { } -static inline void svm_hv_hardware_setup(void) +static inline __init void svm_hv_hardware_setup(void) { } --- linux-gcp-5.19.0.orig/arch/x86/kvm/svm/svm_ops.h +++ linux-gcp-5.19.0/arch/x86/kvm/svm/svm_ops.h @@ -61,9 +61,4 @@ svm_asm1(vmsave, "a" (pa), "memory"); } -static __always_inline void vmload(unsigned long pa) -{ - svm_asm1(vmload, "a" (pa), "memory"); -} - #endif /* __KVM_X86_SVM_OPS_H */ --- linux-gcp-5.19.0.orig/arch/x86/kvm/svm/vmenter.S +++ linux-gcp-5.19.0/arch/x86/kvm/svm/vmenter.S @@ -4,35 +4,97 @@ #include #include #include +#include "kvm-asm-offsets.h" #define WORD_SIZE (BITS_PER_LONG / 8) /* Intentionally omit RAX as it's context switched by hardware */ -#define VCPU_RCX __VCPU_REGS_RCX * WORD_SIZE -#define VCPU_RDX __VCPU_REGS_RDX * WORD_SIZE -#define VCPU_RBX __VCPU_REGS_RBX * WORD_SIZE +#define VCPU_RCX (SVM_vcpu_arch_regs + __VCPU_REGS_RCX * WORD_SIZE) +#define VCPU_RDX (SVM_vcpu_arch_regs + __VCPU_REGS_RDX * WORD_SIZE) +#define VCPU_RBX (SVM_vcpu_arch_regs + __VCPU_REGS_RBX * WORD_SIZE) /* Intentionally omit RSP as it's context switched by hardware */ -#define VCPU_RBP __VCPU_REGS_RBP * WORD_SIZE -#define VCPU_RSI __VCPU_REGS_RSI * WORD_SIZE -#define VCPU_RDI __VCPU_REGS_RDI * WORD_SIZE +#define VCPU_RBP (SVM_vcpu_arch_regs + __VCPU_REGS_RBP * WORD_SIZE) +#define VCPU_RSI (SVM_vcpu_arch_regs + __VCPU_REGS_RSI * WORD_SIZE) +#define VCPU_RDI (SVM_vcpu_arch_regs + __VCPU_REGS_RDI * WORD_SIZE) #ifdef CONFIG_X86_64 -#define VCPU_R8 __VCPU_REGS_R8 * WORD_SIZE -#define VCPU_R9 __VCPU_REGS_R9 * WORD_SIZE -#define VCPU_R10 __VCPU_REGS_R10 * WORD_SIZE -#define VCPU_R11 __VCPU_REGS_R11 * WORD_SIZE -#define VCPU_R12 __VCPU_REGS_R12 * WORD_SIZE -#define VCPU_R13 __VCPU_REGS_R13 * WORD_SIZE -#define VCPU_R14 __VCPU_REGS_R14 * WORD_SIZE -#define VCPU_R15 __VCPU_REGS_R15 * WORD_SIZE +#define VCPU_R8 (SVM_vcpu_arch_regs + __VCPU_REGS_R8 * WORD_SIZE) +#define VCPU_R9 (SVM_vcpu_arch_regs + __VCPU_REGS_R9 * WORD_SIZE) +#define VCPU_R10 (SVM_vcpu_arch_regs + __VCPU_REGS_R10 * WORD_SIZE) +#define VCPU_R11 (SVM_vcpu_arch_regs + __VCPU_REGS_R11 * WORD_SIZE) +#define VCPU_R12 (SVM_vcpu_arch_regs + __VCPU_REGS_R12 * WORD_SIZE) +#define VCPU_R13 (SVM_vcpu_arch_regs + __VCPU_REGS_R13 * WORD_SIZE) +#define VCPU_R14 (SVM_vcpu_arch_regs + __VCPU_REGS_R14 * WORD_SIZE) +#define VCPU_R15 (SVM_vcpu_arch_regs + __VCPU_REGS_R15 * WORD_SIZE) #endif +#define SVM_vmcb01_pa (SVM_vmcb01 + KVM_VMCB_pa) + .section .noinstr.text, "ax" +.macro RESTORE_GUEST_SPEC_CTRL + /* No need to do anything if SPEC_CTRL is unset or V_SPEC_CTRL is set */ + ALTERNATIVE_2 "", \ + "jmp 800f", X86_FEATURE_MSR_SPEC_CTRL, \ + "", X86_FEATURE_V_SPEC_CTRL +801: +.endm +.macro RESTORE_GUEST_SPEC_CTRL_BODY +800: + /* + * SPEC_CTRL handling: if the guest's SPEC_CTRL value differs from the + * host's, write the MSR. This is kept out-of-line so that the common + * case does not have to jump. + * + * IMPORTANT: To avoid RSB underflow attacks and any other nastiness, + * there must not be any returns or indirect branches between this code + * and vmentry. + */ + movl SVM_spec_ctrl(%_ASM_DI), %eax + cmp PER_CPU_VAR(x86_spec_ctrl_current), %eax + je 801b + mov $MSR_IA32_SPEC_CTRL, %ecx + xor %edx, %edx + wrmsr + jmp 801b +.endm + +.macro RESTORE_HOST_SPEC_CTRL + /* No need to do anything if SPEC_CTRL is unset or V_SPEC_CTRL is set */ + ALTERNATIVE_2 "", \ + "jmp 900f", X86_FEATURE_MSR_SPEC_CTRL, \ + "", X86_FEATURE_V_SPEC_CTRL +901: +.endm +.macro RESTORE_HOST_SPEC_CTRL_BODY +900: + /* Same for after vmexit. */ + mov $MSR_IA32_SPEC_CTRL, %ecx + + /* + * Load the value that the guest had written into MSR_IA32_SPEC_CTRL, + * if it was not intercepted during guest execution. + */ + cmpb $0, (%_ASM_SP) + jnz 998f + rdmsr + movl %eax, SVM_spec_ctrl(%_ASM_DI) +998: + + /* Now restore the host value of the MSR if different from the guest's. */ + movl PER_CPU_VAR(x86_spec_ctrl_current), %eax + cmp SVM_spec_ctrl(%_ASM_DI), %eax + je 901b + xor %edx, %edx + wrmsr + jmp 901b +.endm + + /** * __svm_vcpu_run - Run a vCPU via a transition to SVM guest mode - * @vmcb_pa: unsigned long - * @regs: unsigned long * (to guest registers) + * @svm: struct vcpu_svm * + * @spec_ctrl_intercepted: bool */ SYM_FUNC_START(__svm_vcpu_run) push %_ASM_BP @@ -47,49 +109,71 @@ #endif push %_ASM_BX - /* Save @regs. */ + /* + * Save variables needed after vmexit on the stack, in inverse + * order compared to when they are needed. + */ + + /* Accessed directly from the stack in RESTORE_HOST_SPEC_CTRL. */ push %_ASM_ARG2 - /* Save @vmcb. */ + /* Needed to restore access to percpu variables. */ + __ASM_SIZE(push) PER_CPU_VAR(svm_data + SD_save_area_pa) + + /* Finally save @svm. */ push %_ASM_ARG1 - /* Move @regs to RAX. */ - mov %_ASM_ARG2, %_ASM_AX +.ifnc _ASM_ARG1, _ASM_DI + /* + * Stash @svm in RDI early. On 32-bit, arguments are in RAX, RCX + * and RDX which are clobbered by RESTORE_GUEST_SPEC_CTRL. + */ + mov %_ASM_ARG1, %_ASM_DI +.endif + + /* Clobbers RAX, RCX, RDX. */ + RESTORE_GUEST_SPEC_CTRL + + /* + * Use a single vmcb (vmcb01 because it's always valid) for + * context switching guest state via VMLOAD/VMSAVE, that way + * the state doesn't need to be copied between vmcb01 and + * vmcb02 when switching vmcbs for nested virtualization. + */ + mov SVM_vmcb01_pa(%_ASM_DI), %_ASM_AX +1: vmload %_ASM_AX +2: + + /* Get svm->current_vmcb->pa into RAX. */ + mov SVM_current_vmcb(%_ASM_DI), %_ASM_AX + mov KVM_VMCB_pa(%_ASM_AX), %_ASM_AX /* Load guest registers. */ - mov VCPU_RCX(%_ASM_AX), %_ASM_CX - mov VCPU_RDX(%_ASM_AX), %_ASM_DX - mov VCPU_RBX(%_ASM_AX), %_ASM_BX - mov VCPU_RBP(%_ASM_AX), %_ASM_BP - mov VCPU_RSI(%_ASM_AX), %_ASM_SI - mov VCPU_RDI(%_ASM_AX), %_ASM_DI -#ifdef CONFIG_X86_64 - mov VCPU_R8 (%_ASM_AX), %r8 - mov VCPU_R9 (%_ASM_AX), %r9 - mov VCPU_R10(%_ASM_AX), %r10 - mov VCPU_R11(%_ASM_AX), %r11 - mov VCPU_R12(%_ASM_AX), %r12 - mov VCPU_R13(%_ASM_AX), %r13 - mov VCPU_R14(%_ASM_AX), %r14 - mov VCPU_R15(%_ASM_AX), %r15 + mov VCPU_RCX(%_ASM_DI), %_ASM_CX + mov VCPU_RDX(%_ASM_DI), %_ASM_DX + mov VCPU_RBX(%_ASM_DI), %_ASM_BX + mov VCPU_RBP(%_ASM_DI), %_ASM_BP + mov VCPU_RSI(%_ASM_DI), %_ASM_SI +#ifdef CONFIG_X86_64 + mov VCPU_R8 (%_ASM_DI), %r8 + mov VCPU_R9 (%_ASM_DI), %r9 + mov VCPU_R10(%_ASM_DI), %r10 + mov VCPU_R11(%_ASM_DI), %r11 + mov VCPU_R12(%_ASM_DI), %r12 + mov VCPU_R13(%_ASM_DI), %r13 + mov VCPU_R14(%_ASM_DI), %r14 + mov VCPU_R15(%_ASM_DI), %r15 #endif - - /* "POP" @vmcb to RAX. */ - pop %_ASM_AX + mov VCPU_RDI(%_ASM_DI), %_ASM_DI /* Enter guest mode */ sti -1: vmrun %_ASM_AX - -2: cli - -#ifdef CONFIG_RETPOLINE - /* IMPORTANT: Stuff the RSB immediately after VM-Exit, before RET! */ - FILL_RETURN_BUFFER %_ASM_AX, RSB_CLEAR_LOOPS, X86_FEATURE_RETPOLINE -#endif +3: vmrun %_ASM_AX +4: + cli - /* "POP" @regs to RAX. */ + /* Pop @svm to RAX while it's the only available register. */ pop %_ASM_AX /* Save all guest registers. */ @@ -110,6 +194,26 @@ mov %r15, VCPU_R15(%_ASM_AX) #endif + /* @svm can stay in RDI from now on. */ + mov %_ASM_AX, %_ASM_DI + + mov SVM_vmcb01_pa(%_ASM_DI), %_ASM_AX +5: vmsave %_ASM_AX +6: + + /* Restores GSBASE among other things, allowing access to percpu data. */ + pop %_ASM_AX +7: vmload %_ASM_AX +8: + +#ifdef CONFIG_RETPOLINE + /* IMPORTANT: Stuff the RSB immediately after VM-Exit, before RET! */ + FILL_RETURN_BUFFER %_ASM_AX, RSB_CLEAR_LOOPS, X86_FEATURE_RETPOLINE +#endif + + /* Clobbers RAX, RCX, RDX. */ + RESTORE_HOST_SPEC_CTRL + /* * Mitigate RETBleed for AMD/Hygon Zen uarch. RET should be * untrained as soon as we exit the VM and are back to the @@ -145,6 +249,9 @@ xor %r15d, %r15d #endif + /* "Pop" @spec_ctrl_intercepted. */ + pop %_ASM_BX + pop %_ASM_BX #ifdef CONFIG_X86_64 @@ -159,17 +266,33 @@ pop %_ASM_BP RET -3: cmpb $0, kvm_rebooting + RESTORE_GUEST_SPEC_CTRL_BODY + RESTORE_HOST_SPEC_CTRL_BODY + +10: cmpb $0, kvm_rebooting jne 2b ud2 +30: cmpb $0, kvm_rebooting + jne 4b + ud2 +50: cmpb $0, kvm_rebooting + jne 6b + ud2 +70: cmpb $0, kvm_rebooting + jne 8b + ud2 - _ASM_EXTABLE(1b, 3b) + _ASM_EXTABLE(1b, 10b) + _ASM_EXTABLE(3b, 30b) + _ASM_EXTABLE(5b, 50b) + _ASM_EXTABLE(7b, 70b) SYM_FUNC_END(__svm_vcpu_run) /** * __svm_sev_es_vcpu_run - Run a SEV-ES vCPU via a transition to SVM guest mode - * @vmcb_pa: unsigned long + * @svm: struct vcpu_svm * + * @spec_ctrl_intercepted: bool */ SYM_FUNC_START(__svm_sev_es_vcpu_run) push %_ASM_BP @@ -184,8 +307,31 @@ #endif push %_ASM_BX - /* Move @vmcb to RAX. */ - mov %_ASM_ARG1, %_ASM_AX + /* + * Save variables needed after vmexit on the stack, in inverse + * order compared to when they are needed. + */ + + /* Accessed directly from the stack in RESTORE_HOST_SPEC_CTRL. */ + push %_ASM_ARG2 + + /* Save @svm. */ + push %_ASM_ARG1 + +.ifnc _ASM_ARG1, _ASM_DI + /* + * Stash @svm in RDI early. On 32-bit, arguments are in RAX, RCX + * and RDX which are clobbered by RESTORE_GUEST_SPEC_CTRL. + */ + mov %_ASM_ARG1, %_ASM_DI +.endif + + /* Clobbers RAX, RCX, RDX. */ + RESTORE_GUEST_SPEC_CTRL + + /* Get svm->current_vmcb->pa into RAX. */ + mov SVM_current_vmcb(%_ASM_DI), %_ASM_AX + mov KVM_VMCB_pa(%_ASM_AX), %_ASM_AX /* Enter guest mode */ sti @@ -194,11 +340,17 @@ 2: cli + /* Pop @svm to RDI, guest registers have been saved already. */ + pop %_ASM_DI + #ifdef CONFIG_RETPOLINE /* IMPORTANT: Stuff the RSB immediately after VM-Exit, before RET! */ FILL_RETURN_BUFFER %_ASM_AX, RSB_CLEAR_LOOPS, X86_FEATURE_RETPOLINE #endif + /* Clobbers RAX, RCX, RDX. */ + RESTORE_HOST_SPEC_CTRL + /* * Mitigate RETBleed for AMD/Hygon Zen uarch. RET should be * untrained as soon as we exit the VM and are back to the @@ -208,6 +360,9 @@ */ UNTRAIN_RET + /* "Pop" @spec_ctrl_intercepted. */ + pop %_ASM_BX + pop %_ASM_BX #ifdef CONFIG_X86_64 @@ -222,6 +377,9 @@ pop %_ASM_BP RET + RESTORE_GUEST_SPEC_CTRL_BODY + RESTORE_HOST_SPEC_CTRL_BODY + 3: cmpb $0, kvm_rebooting jne 2b ud2 --- linux-gcp-5.19.0.orig/arch/x86/kvm/trace.h +++ linux-gcp-5.19.0/arch/x86/kvm/trace.h @@ -358,25 +358,29 @@ * Tracepoint for kvm interrupt injection: */ TRACE_EVENT(kvm_inj_exception, - TP_PROTO(unsigned exception, bool has_error, unsigned error_code), - TP_ARGS(exception, has_error, error_code), + TP_PROTO(unsigned exception, bool has_error, unsigned error_code, + bool reinjected), + TP_ARGS(exception, has_error, error_code, reinjected), TP_STRUCT__entry( __field( u8, exception ) __field( u8, has_error ) __field( u32, error_code ) + __field( bool, reinjected ) ), TP_fast_assign( __entry->exception = exception; __entry->has_error = has_error; __entry->error_code = error_code; + __entry->reinjected = reinjected; ), - TP_printk("%s (0x%x)", + TP_printk("%s (0x%x)%s", __print_symbolic(__entry->exception, kvm_trace_sym_exc), /* FIXME: don't print error_code if not present */ - __entry->has_error ? __entry->error_code : 0) + __entry->has_error ? __entry->error_code : 0, + __entry->reinjected ? " [reinjected]" : "") ); /* --- linux-gcp-5.19.0.orig/arch/x86/kvm/vmx/capabilities.h +++ linux-gcp-5.19.0/arch/x86/kvm/vmx/capabilities.h @@ -21,8 +21,6 @@ #define PMU_CAP_FW_WRITES (1ULL << 13) #define PMU_CAP_LBR_FMT 0x3f -#define DEBUGCTLMSR_LBR_MASK (DEBUGCTLMSR_LBR | DEBUGCTLMSR_FREEZE_LBRS_ON_PMI) - struct nested_vmx_msrs { /* * We only store the "true" versions of the VMX capability MSRs. We @@ -404,17 +402,4 @@ return PMU_CAP_FW_WRITES | perf_cap; } -static inline u64 vmx_supported_debugctl(void) -{ - u64 debugctl = 0; - - if (boot_cpu_has(X86_FEATURE_BUS_LOCK_DETECT)) - debugctl |= DEBUGCTLMSR_BUS_LOCK_DETECT; - - if (vmx_get_perf_capabilities() & PMU_CAP_LBR_FMT) - debugctl |= DEBUGCTLMSR_LBR_MASK; - - return debugctl; -} - #endif /* __KVM_X86_VMX_CAPS_H */ --- linux-gcp-5.19.0.orig/arch/x86/kvm/vmx/evmcs.h +++ linux-gcp-5.19.0/arch/x86/kvm/vmx/evmcs.h @@ -190,16 +190,6 @@ return *(u16 *)((char *)current_evmcs + offset); } -static inline void evmcs_touch_msr_bitmap(void) -{ - if (unlikely(!current_evmcs)) - return; - - if (current_evmcs->hv_enlightenments_control.msr_bitmap) - current_evmcs->hv_clean_fields &= - ~HV_VMX_ENLIGHTENED_CLEAN_FIELD_MSR_BITMAP; -} - static inline void evmcs_load(u64 phys_addr) { struct hv_vp_assist_page *vp_ap = @@ -220,7 +210,6 @@ static inline u32 evmcs_read32(unsigned long field) { return 0; } static inline u16 evmcs_read16(unsigned long field) { return 0; } static inline void evmcs_load(u64 phys_addr) {} -static inline void evmcs_touch_msr_bitmap(void) {} #endif /* IS_ENABLED(CONFIG_HYPERV) */ #define EVMPTR_INVALID (-1ULL) --- linux-gcp-5.19.0.orig/arch/x86/kvm/vmx/nested.c +++ linux-gcp-5.19.0/arch/x86/kvm/vmx/nested.c @@ -1223,7 +1223,7 @@ BIT_ULL(49) | BIT_ULL(54) | BIT_ULL(55) | /* reserved */ BIT_ULL(31) | GENMASK_ULL(47, 45) | GENMASK_ULL(63, 56); - u64 vmx_basic = vmx->nested.msrs.basic; + u64 vmx_basic = vmcs_config.nested.basic; if (!is_bitwise_subset(vmx_basic, data, feature_and_reserved)) return -EINVAL; @@ -1246,36 +1246,42 @@ return 0; } -static int -vmx_restore_control_msr(struct vcpu_vmx *vmx, u32 msr_index, u64 data) +static void vmx_get_control_msr(struct nested_vmx_msrs *msrs, u32 msr_index, + u32 **low, u32 **high) { - u64 supported; - u32 *lowp, *highp; - switch (msr_index) { case MSR_IA32_VMX_TRUE_PINBASED_CTLS: - lowp = &vmx->nested.msrs.pinbased_ctls_low; - highp = &vmx->nested.msrs.pinbased_ctls_high; + *low = &msrs->pinbased_ctls_low; + *high = &msrs->pinbased_ctls_high; break; case MSR_IA32_VMX_TRUE_PROCBASED_CTLS: - lowp = &vmx->nested.msrs.procbased_ctls_low; - highp = &vmx->nested.msrs.procbased_ctls_high; + *low = &msrs->procbased_ctls_low; + *high = &msrs->procbased_ctls_high; break; case MSR_IA32_VMX_TRUE_EXIT_CTLS: - lowp = &vmx->nested.msrs.exit_ctls_low; - highp = &vmx->nested.msrs.exit_ctls_high; + *low = &msrs->exit_ctls_low; + *high = &msrs->exit_ctls_high; break; case MSR_IA32_VMX_TRUE_ENTRY_CTLS: - lowp = &vmx->nested.msrs.entry_ctls_low; - highp = &vmx->nested.msrs.entry_ctls_high; + *low = &msrs->entry_ctls_low; + *high = &msrs->entry_ctls_high; break; case MSR_IA32_VMX_PROCBASED_CTLS2: - lowp = &vmx->nested.msrs.secondary_ctls_low; - highp = &vmx->nested.msrs.secondary_ctls_high; + *low = &msrs->secondary_ctls_low; + *high = &msrs->secondary_ctls_high; break; default: BUG(); } +} + +static int +vmx_restore_control_msr(struct vcpu_vmx *vmx, u32 msr_index, u64 data) +{ + u32 *lowp, *highp; + u64 supported; + + vmx_get_control_msr(&vmcs_config.nested, msr_index, &lowp, &highp); supported = vmx_control_msr(*lowp, *highp); @@ -1287,6 +1293,7 @@ if (!is_bitwise_subset(supported, data, GENMASK_ULL(63, 32))) return -EINVAL; + vmx_get_control_msr(&vmx->nested.msrs, msr_index, &lowp, &highp); *lowp = data; *highp = data >> 32; return 0; @@ -1300,10 +1307,8 @@ BIT_ULL(28) | BIT_ULL(29) | BIT_ULL(30) | /* reserved */ GENMASK_ULL(13, 9) | BIT_ULL(31); - u64 vmx_misc; - - vmx_misc = vmx_control_msr(vmx->nested.msrs.misc_low, - vmx->nested.msrs.misc_high); + u64 vmx_misc = vmx_control_msr(vmcs_config.nested.misc_low, + vmcs_config.nested.misc_high); if (!is_bitwise_subset(vmx_misc, data, feature_and_reserved_bits)) return -EINVAL; @@ -1331,10 +1336,8 @@ static int vmx_restore_vmx_ept_vpid_cap(struct vcpu_vmx *vmx, u64 data) { - u64 vmx_ept_vpid_cap; - - vmx_ept_vpid_cap = vmx_control_msr(vmx->nested.msrs.ept_caps, - vmx->nested.msrs.vpid_caps); + u64 vmx_ept_vpid_cap = vmx_control_msr(vmcs_config.nested.ept_caps, + vmcs_config.nested.vpid_caps); /* Every bit is either reserved or a feature bit. */ if (!is_bitwise_subset(vmx_ept_vpid_cap, data, -1ULL)) @@ -1345,20 +1348,21 @@ return 0; } -static int vmx_restore_fixed0_msr(struct vcpu_vmx *vmx, u32 msr_index, u64 data) +static u64 *vmx_get_fixed0_msr(struct nested_vmx_msrs *msrs, u32 msr_index) { - u64 *msr; - switch (msr_index) { case MSR_IA32_VMX_CR0_FIXED0: - msr = &vmx->nested.msrs.cr0_fixed0; - break; + return &msrs->cr0_fixed0; case MSR_IA32_VMX_CR4_FIXED0: - msr = &vmx->nested.msrs.cr4_fixed0; - break; + return &msrs->cr4_fixed0; default: BUG(); } +} + +static int vmx_restore_fixed0_msr(struct vcpu_vmx *vmx, u32 msr_index, u64 data) +{ + const u64 *msr = vmx_get_fixed0_msr(&vmcs_config.nested, msr_index); /* * 1 bits (which indicates bits which "must-be-1" during VMX operation) @@ -1367,7 +1371,7 @@ if (!is_bitwise_subset(data, *msr, -1ULL)) return -EINVAL; - *msr = data; + *vmx_get_fixed0_msr(&vmx->nested.msrs, msr_index) = data; return 0; } @@ -1428,7 +1432,7 @@ vmx->nested.msrs.vmcs_enum = data; return 0; case MSR_IA32_VMX_VMFUNC: - if (data & ~vmx->nested.msrs.vmfunc_controls) + if (data & ~vmcs_config.nested.vmfunc_controls) return -EINVAL; vmx->nested.msrs.vmfunc_controls = data; return 0; @@ -2318,9 +2322,14 @@ * are emulated by vmx_set_efer() in prepare_vmcs02(), but speculate * on the related bits (if supported by the CPU) in the hope that * we can avoid VMWrites during vmx_set_efer(). + * + * Similarly, take vmcs01's PERF_GLOBAL_CTRL in the hope that if KVM is + * loading PERF_GLOBAL_CTRL via the VMCS for L1, then KVM will want to + * do the same for L2. */ exec_control = __vm_entry_controls_get(vmcs01); - exec_control |= vmcs12->vm_entry_controls; + exec_control |= (vmcs12->vm_entry_controls & + ~VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL); exec_control &= ~(VM_ENTRY_IA32E_MODE | VM_ENTRY_LOAD_IA32_EFER); if (cpu_has_load_ia32_efer()) { if (guest_efer & EFER_LMA) @@ -2613,6 +2622,7 @@ } if ((vmcs12->vm_entry_controls & VM_ENTRY_LOAD_IA32_PERF_GLOBAL_CTRL) && + intel_pmu_has_perf_global_ctrl(vcpu_to_pmu(vcpu)) && WARN_ON_ONCE(kvm_set_msr(vcpu, MSR_CORE_PERF_GLOBAL_CTRL, vmcs12->guest_ia32_perf_global_ctrl))) { *entry_failure_code = ENTRY_FAIL_DEFAULT; @@ -2991,7 +3001,7 @@ struct vmcs12 *vmcs12, enum vm_entry_failure_code *entry_failure_code) { - bool ia32e; + bool ia32e = !!(vmcs12->vm_entry_controls & VM_ENTRY_IA32E_MODE); *entry_failure_code = ENTRY_FAIL_DEFAULT; @@ -3017,6 +3027,13 @@ vmcs12->guest_ia32_perf_global_ctrl))) return -EINVAL; + if (CC((vmcs12->guest_cr0 & (X86_CR0_PG | X86_CR0_PE)) == X86_CR0_PG)) + return -EINVAL; + + if (CC(ia32e && !(vmcs12->guest_cr4 & X86_CR4_PAE)) || + CC(ia32e && !(vmcs12->guest_cr0 & X86_CR0_PG))) + return -EINVAL; + /* * If the load IA32_EFER VM-entry control is 1, the following checks * are performed on the field for the IA32_EFER MSR: @@ -3028,7 +3045,6 @@ */ if (to_vmx(vcpu)->nested.nested_run_pending && (vmcs12->vm_entry_controls & VM_ENTRY_LOAD_IA32_EFER)) { - ia32e = (vmcs12->vm_entry_controls & VM_ENTRY_IA32E_MODE) != 0; if (CC(!kvm_valid_efer(vcpu, vmcs12->guest_ia32_efer)) || CC(ia32e != !!(vmcs12->guest_ia32_efer & EFER_LMA)) || CC(((vmcs12->guest_cr0 & X86_CR0_PG) && @@ -3373,10 +3389,12 @@ if (likely(!evaluate_pending_interrupts) && kvm_vcpu_apicv_active(vcpu)) evaluate_pending_interrupts |= vmx_has_apicv_interrupt(vcpu); - if (!(vmcs12->vm_entry_controls & VM_ENTRY_LOAD_DEBUG_CONTROLS)) + if (!vmx->nested.nested_run_pending || + !(vmcs12->vm_entry_controls & VM_ENTRY_LOAD_DEBUG_CONTROLS)) vmx->nested.vmcs01_debugctl = vmcs_read64(GUEST_IA32_DEBUGCTL); if (kvm_mpx_supported() && - !(vmcs12->vm_entry_controls & VM_ENTRY_LOAD_BNDCFGS)) + (!vmx->nested.nested_run_pending || + !(vmcs12->vm_entry_controls & VM_ENTRY_LOAD_BNDCFGS))) vmx->nested.vmcs01_guest_bndcfgs = vmcs_read64(GUEST_BNDCFGS); /* @@ -3827,7 +3845,16 @@ u32 intr_info = nr | INTR_INFO_VALID_MASK; if (vcpu->arch.exception.has_error_code) { - vmcs12->vm_exit_intr_error_code = vcpu->arch.exception.error_code; + /* + * Intel CPUs do not generate error codes with bits 31:16 set, + * and more importantly VMX disallows setting bits 31:16 in the + * injected error code for VM-Entry. Drop the bits to mimic + * hardware and avoid inducing failure on nested VM-Entry if L1 + * chooses to inject the exception back to L2. AMD CPUs _do_ + * generate "full" 32-bit error codes, so KVM allows userspace + * to inject exception error codes with bits 31:16 set. + */ + vmcs12->vm_exit_intr_error_code = (u16)vcpu->arch.exception.error_code; intr_info |= INTR_INFO_DELIVER_CODE_MASK; } @@ -4257,14 +4284,6 @@ nested_vmx_abort(vcpu, VMX_ABORT_SAVE_GUEST_MSR_FAIL); } - - /* - * Drop what we picked up for L2 via vmx_complete_interrupts. It is - * preserved above and would only end up incorrectly in L1. - */ - vcpu->arch.nmi_injected = false; - kvm_clear_exception_queue(vcpu); - kvm_clear_interrupt_queue(vcpu); } /* @@ -4336,7 +4355,8 @@ vmcs_write64(GUEST_IA32_PAT, vmcs12->host_ia32_pat); vcpu->arch.pat = vmcs12->host_ia32_pat; } - if (vmcs12->vm_exit_controls & VM_EXIT_LOAD_IA32_PERF_GLOBAL_CTRL) + if ((vmcs12->vm_exit_controls & VM_EXIT_LOAD_IA32_PERF_GLOBAL_CTRL) && + intel_pmu_has_perf_global_ctrl(vcpu_to_pmu(vcpu))) WARN_ON_ONCE(kvm_set_msr(vcpu, MSR_CORE_PERF_GLOBAL_CTRL, vmcs12->host_ia32_perf_global_ctrl)); @@ -4603,8 +4623,30 @@ WARN_ON_ONCE(nested_early_check); } + /* + * Drop events/exceptions that were queued for re-injection to L2 + * (picked up via vmx_complete_interrupts()), as well as exceptions + * that were pending for L2. Note, this must NOT be hoisted above + * prepare_vmcs12(), events/exceptions queued for re-injection need to + * be captured in vmcs12 (see vmcs12_save_pending_event()). + */ + vcpu->arch.nmi_injected = false; + kvm_clear_exception_queue(vcpu); + kvm_clear_interrupt_queue(vcpu); + vmx_switch_vmcs(vcpu, &vmx->vmcs01); + /* + * If IBRS is advertised to the vCPU, KVM must flush the indirect + * branch predictors when transitioning from L2 to L1, as L1 expects + * hardware (KVM in this case) to provide separate predictor modes. + * Bare metal isolates VMX root (host) from VMX non-root (guest), but + * doesn't isolate different VMCSs, i.e. in this case, doesn't provide + * separate modes for L2 vs L1. + */ + if (guest_cpuid_has(vcpu, X86_FEATURE_SPEC_CTRL)) + indirect_branch_prediction_barrier(); + /* Update any VMCS fields that might have changed while L2 ran */ vmcs_write32(VM_EXIT_MSR_LOAD_COUNT, vmx->msr_autoload.host.nr); vmcs_write32(VM_ENTRY_MSR_LOAD_COUNT, vmx->msr_autoload.guest.nr); @@ -4962,20 +5004,36 @@ | FEAT_CTL_VMX_ENABLED_OUTSIDE_SMX; /* - * The Intel VMX Instruction Reference lists a bunch of bits that are - * prerequisite to running VMXON, most notably cr4.VMXE must be set to - * 1 (see vmx_is_valid_cr4() for when we allow the guest to set this). - * Otherwise, we should fail with #UD. But most faulting conditions - * have already been checked by hardware, prior to the VM-exit for - * VMXON. We do test guest cr4.VMXE because processor CR4 always has - * that bit set to 1 in non-root mode. + * Manually check CR4.VMXE checks, KVM must force CR4.VMXE=1 to enter + * the guest and so cannot rely on hardware to perform the check, + * which has higher priority than VM-Exit (see Intel SDM's pseudocode + * for VMXON). + * + * Rely on hardware for the other pre-VM-Exit checks, CR0.PE=1, !VM86 + * and !COMPATIBILITY modes. For an unrestricted guest, KVM doesn't + * force any of the relevant guest state. For a restricted guest, KVM + * does force CR0.PE=1, but only to also force VM86 in order to emulate + * Real Mode, and so there's no need to check CR0.PE manually. */ if (!kvm_read_cr4_bits(vcpu, X86_CR4_VMXE)) { kvm_queue_exception(vcpu, UD_VECTOR); return 1; } - /* CPL=0 must be checked manually. */ + /* + * The CPL is checked for "not in VMX operation" and for "in VMX root", + * and has higher priority than the VM-Fail due to being post-VMXON, + * i.e. VMXON #GPs outside of VMX non-root if CPL!=0. In VMX non-root, + * VMXON causes VM-Exit and KVM unconditionally forwards VMXON VM-Exits + * from L2 to L1, i.e. there's no need to check for the vCPU being in + * VMX non-root. + * + * Forwarding the VM-Exit unconditionally, i.e. without performing the + * #UD checks (see above), is functionally ok because KVM doesn't allow + * L1 to run L2 without CR4.VMXE=0, and because KVM never modifies L2's + * CR0 or CR4, i.e. it's L2's responsibility to emulate #UDs that are + * missed by hardware due to shadowing CR0 and/or CR4. + */ if (vmx_get_cpl(vcpu)) { kvm_inject_gp(vcpu, 0); return 1; @@ -4984,6 +5042,17 @@ if (vmx->nested.vmxon) return nested_vmx_fail(vcpu, VMXERR_VMXON_IN_VMX_ROOT_OPERATION); + /* + * Invalid CR0/CR4 generates #GP. These checks are performed if and + * only if the vCPU isn't already in VMX operation, i.e. effectively + * have lower priority than the VM-Fail above. + */ + if (!nested_host_cr0_valid(vcpu, kvm_read_cr0(vcpu)) || + !nested_host_cr4_valid(vcpu, kvm_read_cr4(vcpu))) { + kvm_inject_gp(vcpu, 0); + return 1; + } + if ((vmx->msr_ia32_feature_control & VMXON_NEEDED_FEATURES) != VMXON_NEEDED_FEATURES) { kvm_inject_gp(vcpu, 0); @@ -6295,9 +6364,6 @@ return kvm_state.size; } -/* - * Forcibly leave nested mode in order to be able to reset the VCPU later on. - */ void vmx_leave_nested(struct kvm_vcpu *vcpu) { if (is_guest_mode(vcpu)) { @@ -6667,7 +6733,8 @@ SECONDARY_EXEC_ENABLE_INVPCID | SECONDARY_EXEC_RDSEED_EXITING | SECONDARY_EXEC_XSAVES | - SECONDARY_EXEC_TSC_SCALING; + SECONDARY_EXEC_TSC_SCALING | + SECONDARY_EXEC_ENABLE_USR_WAIT_PAUSE; /* * We can emulate "VMCS shadowing," even if the hardware @@ -6775,6 +6842,9 @@ rdmsrl(MSR_IA32_VMX_CR0_FIXED1, msrs->cr0_fixed1); rdmsrl(MSR_IA32_VMX_CR4_FIXED1, msrs->cr4_fixed1); + if (vmx_umip_emulated()) + msrs->cr4_fixed1 |= X86_CR4_UMIP; + msrs->vmcs_enum = nested_vmx_calc_vmcs_enum_msr(); } --- linux-gcp-5.19.0.orig/arch/x86/kvm/vmx/nested.h +++ linux-gcp-5.19.0/arch/x86/kvm/vmx/nested.h @@ -281,7 +281,8 @@ u64 fixed0 = to_vmx(vcpu)->nested.msrs.cr4_fixed0; u64 fixed1 = to_vmx(vcpu)->nested.msrs.cr4_fixed1; - return fixed_bits_valid(val, fixed0, fixed1); + return fixed_bits_valid(val, fixed0, fixed1) && + __kvm_is_valid_cr4(vcpu, val); } /* No difference in the restrictions on guest and host CR4 in VMX operation. */ --- linux-gcp-5.19.0.orig/arch/x86/kvm/vmx/pmu_intel.c +++ linux-gcp-5.19.0/arch/x86/kvm/vmx/pmu_intel.c @@ -98,6 +98,9 @@ { struct kvm_pmu *pmu = pmc_to_pmu(pmc); + if (!intel_pmu_has_perf_global_ctrl(pmu)) + return true; + return test_bit(pmc->idx, (unsigned long *)&pmu->global_ctrl); } @@ -212,7 +215,7 @@ case MSR_CORE_PERF_GLOBAL_STATUS: case MSR_CORE_PERF_GLOBAL_CTRL: case MSR_CORE_PERF_GLOBAL_OVF_CTRL: - ret = pmu->version > 1; + return intel_pmu_has_perf_global_ctrl(pmu); break; default: ret = get_gp_pmc(pmu, msr, MSR_IA32_PERFCTR0) || @@ -395,7 +398,7 @@ case MSR_CORE_PERF_FIXED_CTR_CTRL: if (pmu->fixed_ctr_ctrl == data) return 0; - if (!(data & 0xfffffffffffff444ull)) { + if (!(data & pmu->fixed_ctr_ctrl_mask)) { reprogram_fixed_counters(pmu, data); return 0; } @@ -479,6 +482,7 @@ struct kvm_cpuid_entry2 *entry; union cpuid10_eax eax; union cpuid10_edx edx; + int i; pmu->nr_arch_gp_counters = 0; pmu->nr_arch_fixed_counters = 0; @@ -487,6 +491,9 @@ pmu->version = 0; pmu->reserved_bits = 0xffffffff00200000ull; pmu->raw_event_mask = X86_RAW_EVENT_MASK; + pmu->global_ctrl_mask = ~0ull; + pmu->global_ovf_ctrl_mask = ~0ull; + pmu->fixed_ctr_ctrl_mask = ~0ull; entry = kvm_find_cpuid_entry(vcpu, 0xa, 0); if (!entry || !vcpu->kvm->arch.enable_pmu) @@ -522,6 +529,8 @@ setup_fixed_pmc_eventsel(pmu); } + for (i = 0; i < pmu->nr_arch_fixed_counters; i++) + pmu->fixed_ctr_ctrl_mask &= ~(0xbull << (i * 4)); pmu->global_ctrl = ((1ull << pmu->nr_arch_gp_counters) - 1) | (((1ull << pmu->nr_arch_fixed_counters) - 1) << INTEL_PMC_IDX_FIXED); pmu->global_ctrl_mask = ~pmu->global_ctrl; --- linux-gcp-5.19.0.orig/arch/x86/kvm/vmx/sgx.c +++ linux-gcp-5.19.0/arch/x86/kvm/vmx/sgx.c @@ -182,8 +182,10 @@ /* Enforce CPUID restriction on max enclave size. */ max_size_log2 = (attributes & SGX_ATTR_MODE64BIT) ? sgx_12_0->edx >> 8 : sgx_12_0->edx; - if (size >= BIT_ULL(max_size_log2)) + if (size >= BIT_ULL(max_size_log2)) { kvm_inject_gp(vcpu, 0); + return 1; + } /* * sgx_virt_ecreate() returns: --- linux-gcp-5.19.0.orig/arch/x86/kvm/vmx/vmenter.S +++ linux-gcp-5.19.0/arch/x86/kvm/vmx/vmenter.S @@ -1,12 +1,12 @@ /* SPDX-License-Identifier: GPL-2.0 */ #include #include -#include #include #include #include #include #include +#include "kvm-asm-offsets.h" #include "run_flags.h" #define WORD_SIZE (BITS_PER_LONG / 8) @@ -227,11 +227,13 @@ * entries and (in some cases) RSB underflow. * * eIBRS has its own protection against poisoned RSB, so it doesn't - * need the RSB filling sequence. But it does need to be enabled - * before the first unbalanced RET. + * need the RSB filling sequence. But it does need to be enabled, and a + * single call to retire, before the first unbalanced RET. */ - FILL_RETURN_BUFFER %_ASM_CX, RSB_CLEAR_LOOPS, X86_FEATURE_RSB_VMEXIT + FILL_RETURN_BUFFER %_ASM_CX, RSB_CLEAR_LOOPS, X86_FEATURE_RSB_VMEXIT,\ + X86_FEATURE_RSB_VMEXIT_LITE + pop %_ASM_ARG2 /* @flags */ pop %_ASM_ARG1 /* @vmx */ --- linux-gcp-5.19.0.orig/arch/x86/kvm/vmx/vmx.c +++ linux-gcp-5.19.0/arch/x86/kvm/vmx/vmx.c @@ -835,8 +835,7 @@ if (!(exec_controls_get(vmx) & CPU_BASED_USE_MSR_BITMAPS)) return true; - return vmx_test_msr_bitmap_write(vmx->loaded_vmcs->msr_bitmap, - MSR_IA32_SPEC_CTRL); + return vmx_test_msr_bitmap_write(vmx->loaded_vmcs->msr_bitmap, msr); } unsigned int __vmx_vcpu_run_flags(struct vcpu_vmx *vmx) @@ -1341,8 +1340,10 @@ /* * No indirect branch prediction barrier needed when switching - * the active VMCS within a guest, e.g. on nested VM-Enter. - * The L1 VMM can protect itself with retpolines, IBPB or IBRS. + * the active VMCS within a vCPU, unless IBRS is advertised to + * the vCPU. To minimize the number of IBPBs executed, KVM + * performs IBPB on nested VM-Exit (a single nested transition + * may switch the active VMCS multiple times). */ if (!buddy || WARN_ON_ONCE(buddy->vmcs != prev)) indirect_branch_prediction_barrier(); @@ -1688,7 +1689,17 @@ kvm_deliver_exception_payload(vcpu); if (has_error_code) { - vmcs_write32(VM_ENTRY_EXCEPTION_ERROR_CODE, error_code); + /* + * Despite the error code being architecturally defined as 32 + * bits, and the VMCS field being 32 bits, Intel CPUs and thus + * VMX don't actually supporting setting bits 31:16. Hardware + * will (should) never provide a bogus error code, but AMD CPUs + * do generate error codes with bits 31:16 set, and so KVM's + * ABI lets userspace shove in arbitrary 32-bit values. Drop + * the upper bits to avoid VM-Fail, losing information that + * does't really exist is preferable to killing the VM. + */ + vmcs_write32(VM_ENTRY_EXCEPTION_ERROR_CODE, (u16)error_code); intr_info |= INTR_INFO_DELIVER_CODE_MASK; } @@ -1999,15 +2010,17 @@ return (unsigned long)data; } -static u64 vcpu_supported_debugctl(struct kvm_vcpu *vcpu) +static u64 vmx_get_supported_debugctl(struct kvm_vcpu *vcpu, bool host_initiated) { - u64 debugctl = vmx_supported_debugctl(); + u64 debugctl = 0; - if (!intel_pmu_lbr_is_enabled(vcpu)) - debugctl &= ~DEBUGCTLMSR_LBR_MASK; + if (boot_cpu_has(X86_FEATURE_BUS_LOCK_DETECT) && + (host_initiated || guest_cpuid_has(vcpu, X86_FEATURE_BUS_LOCK_DETECT))) + debugctl |= DEBUGCTLMSR_BUS_LOCK_DETECT; - if (!guest_cpuid_has(vcpu, X86_FEATURE_BUS_LOCK_DETECT)) - debugctl &= ~DEBUGCTLMSR_BUS_LOCK_DETECT; + if ((vmx_get_perf_capabilities() & PMU_CAP_LBR_FMT) && + (host_initiated || intel_pmu_lbr_is_enabled(vcpu))) + debugctl |= DEBUGCTLMSR_LBR | DEBUGCTLMSR_FREEZE_LBRS_ON_PMI; return debugctl; } @@ -2081,7 +2094,9 @@ vmcs_writel(GUEST_SYSENTER_ESP, data); break; case MSR_IA32_DEBUGCTLMSR: { - u64 invalid = data & ~vcpu_supported_debugctl(vcpu); + u64 invalid; + + invalid = data & ~vmx_get_supported_debugctl(vcpu, msr_info->host_initiated); if (invalid & (DEBUGCTLMSR_BTF|DEBUGCTLMSR_LBR)) { if (report_ignored_msrs) vcpu_unimpl(vcpu, "%s: BTF|LBR in IA32_DEBUGCTLMSR 0x%llx, nop\n", @@ -3230,8 +3245,8 @@ { /* * We operate under the default treatment of SMM, so VMX cannot be - * enabled under SMM. Note, whether or not VMXE is allowed at all is - * handled by kvm_is_valid_cr4(). + * enabled under SMM. Note, whether or not VMXE is allowed at all, + * i.e. is a reserved bit, is handled by common x86 code. */ if ((cr4 & X86_CR4_VMXE) && is_smm(vcpu)) return false; @@ -3369,18 +3384,15 @@ { u32 ar; - if (var->unusable || !var->present) - ar = 1 << 16; - else { - ar = var->type & 15; - ar |= (var->s & 1) << 4; - ar |= (var->dpl & 3) << 5; - ar |= (var->present & 1) << 7; - ar |= (var->avl & 1) << 12; - ar |= (var->l & 1) << 13; - ar |= (var->db & 1) << 14; - ar |= (var->g & 1) << 15; - } + ar = var->type & 15; + ar |= (var->s & 1) << 4; + ar |= (var->dpl & 3) << 5; + ar |= (var->present & 1) << 7; + ar |= (var->avl & 1) << 12; + ar |= (var->l & 1) << 13; + ar |= (var->db & 1) << 14; + ar |= (var->g & 1) << 15; + ar |= (var->unusable || !var->present) << 16; return ar; } @@ -3797,8 +3809,13 @@ * 'Enlightened MSR Bitmap' feature L0 needs to know that MSR * bitmap has changed. */ - if (static_branch_unlikely(&enable_evmcs)) - evmcs_touch_msr_bitmap(); + if (IS_ENABLED(CONFIG_HYPERV) && static_branch_unlikely(&enable_evmcs)) { + struct hv_enlightened_vmcs *evmcs = (void *)vmx->vmcs01.vmcs; + + if (evmcs->hv_enlightenments_control.msr_bitmap) + evmcs->hv_clean_fields &= + ~HV_VMX_ENLIGHTENED_CLEAN_FIELD_MSR_BITMAP; + } vmx->nested.force_msr_bitmap_recalc = true; } @@ -8058,6 +8075,11 @@ if (!cpu_has_virtual_nmis()) enable_vnmi = 0; +#ifdef CONFIG_X86_SGX_KVM + if (!cpu_has_vmx_encls_vmexit()) + enable_sgx = false; +#endif + /* * set_apic_access_page_addr() is used to reload apic access * page upon invalidation. No need to do anything if not --- linux-gcp-5.19.0.orig/arch/x86/kvm/vmx/vmx.h +++ linux-gcp-5.19.0/arch/x86/kvm/vmx/vmx.h @@ -92,6 +92,18 @@ u32 full; }; +static inline bool intel_pmu_has_perf_global_ctrl(struct kvm_pmu *pmu) +{ + /* + * Architecturally, Intel's SDM states that IA32_PERF_GLOBAL_CTRL is + * supported if "CPUID.0AH: EAX[7:0] > 0", i.e. if the PMU version is + * greater than zero. However, KVM only exposes and emulates the MSR + * to/for the guest if the guest PMU supports at least "Architectural + * Performance Monitoring Version 2". + */ + return pmu->version > 1; +} + #define vcpu_to_lbr_desc(vcpu) (&to_vmx(vcpu)->lbr_desc) #define vcpu_to_lbr_records(vcpu) (&to_vmx(vcpu)->lbr_desc.records) --- linux-gcp-5.19.0.orig/arch/x86/kvm/x86.c +++ linux-gcp-5.19.0/arch/x86/kvm/x86.c @@ -198,6 +198,10 @@ bool __read_mostly eager_page_split = true; module_param(eager_page_split, bool, 0644); +/* Enable/disable SMT_RSB bug mitigation */ +bool __read_mostly mitigate_smt_rsb; +module_param(mitigate_smt_rsb, bool, 0444); + /* * Restoring the host value for MSRs that are only consumed when running in * usermode, e.g. SYSCALL MSRs and TSC_AUX, can be deferred until the CPU @@ -542,6 +546,7 @@ #define EXCPT_TRAP 1 #define EXCPT_ABORT 2 #define EXCPT_INTERRUPT 3 +#define EXCPT_DB 4 static int exception_type(int vector) { @@ -552,8 +557,14 @@ mask = 1 << vector; - /* #DB is trap, as instruction watchpoints are handled elsewhere */ - if (mask & ((1 << DB_VECTOR) | (1 << BP_VECTOR) | (1 << OF_VECTOR))) + /* + * #DBs can be trap-like or fault-like, the caller must check other CPU + * state, e.g. DR6, to determine whether a #DB is a trap or fault. + */ + if (mask & (1 << DB_VECTOR)) + return EXCPT_DB; + + if (mask & ((1 << BP_VECTOR) | (1 << OF_VECTOR))) return EXCPT_TRAP; if (mask & ((1 << DF_VECTOR) | (1 << MC_VECTOR))) @@ -618,6 +629,12 @@ } EXPORT_SYMBOL_GPL(kvm_deliver_exception_payload); +/* Forcibly leave the nested mode in cases like a vCPU reset */ +static void kvm_leave_nested(struct kvm_vcpu *vcpu) +{ + kvm_x86_ops.nested_ops->leave_nested(vcpu); +} + static void kvm_multiple_exception(struct kvm_vcpu *vcpu, unsigned nr, bool has_error, u32 error_code, bool has_payload, unsigned long payload, bool reinject) @@ -1025,15 +1042,10 @@ } EXPORT_SYMBOL_GPL(kvm_load_host_xsave_state); -static inline u64 kvm_guest_supported_xcr0(struct kvm_vcpu *vcpu) -{ - return vcpu->arch.guest_fpu.fpstate->user_xfeatures; -} - #ifdef CONFIG_X86_64 static inline u64 kvm_guest_supported_xfd(struct kvm_vcpu *vcpu) { - return kvm_guest_supported_xcr0(vcpu) & XFEATURE_MASK_USER_DYNAMIC; + return vcpu->arch.guest_supported_xcr0 & XFEATURE_MASK_USER_DYNAMIC; } #endif @@ -1056,7 +1068,7 @@ * saving. However, xcr0 bit 0 is always set, even if the * emulated CPU does not support XSAVE (see kvm_vcpu_reset()). */ - valid_bits = kvm_guest_supported_xcr0(vcpu) | XFEATURE_MASK_FP; + valid_bits = vcpu->arch.guest_supported_xcr0 | XFEATURE_MASK_FP; if (xcr0 & ~valid_bits) return 1; @@ -1084,6 +1096,7 @@ int kvm_emulate_xsetbv(struct kvm_vcpu *vcpu) { + /* Note, #UD due to CR4.OSXSAVE=0 has priority over the intercept. */ if (static_call(kvm_x86_get_cpl)(vcpu) != 0 || __kvm_set_xcr(vcpu, kvm_rcx_read(vcpu), kvm_read_edx_eax(vcpu))) { kvm_inject_gp(vcpu, 0); @@ -1094,7 +1107,7 @@ } EXPORT_SYMBOL_GPL(kvm_emulate_xsetbv); -bool kvm_is_valid_cr4(struct kvm_vcpu *vcpu, unsigned long cr4) +bool __kvm_is_valid_cr4(struct kvm_vcpu *vcpu, unsigned long cr4) { if (cr4 & cr4_reserved_bits) return false; @@ -1102,9 +1115,15 @@ if (cr4 & vcpu->arch.cr4_guest_rsvd_bits) return false; - return static_call(kvm_x86_is_valid_cr4)(vcpu, cr4); + return true; +} +EXPORT_SYMBOL_GPL(__kvm_is_valid_cr4); + +static bool kvm_is_valid_cr4(struct kvm_vcpu *vcpu, unsigned long cr4) +{ + return __kvm_is_valid_cr4(vcpu, cr4) && + static_call(kvm_x86_is_valid_cr4)(vcpu, cr4); } -EXPORT_SYMBOL_GPL(kvm_is_valid_cr4); void kvm_post_set_cr4(struct kvm_vcpu *vcpu, unsigned long old_cr4, unsigned long cr4) { @@ -1436,20 +1455,10 @@ MSR_ARCH_PERFMON_PERFCTR0 + 2, MSR_ARCH_PERFMON_PERFCTR0 + 3, MSR_ARCH_PERFMON_PERFCTR0 + 4, MSR_ARCH_PERFMON_PERFCTR0 + 5, MSR_ARCH_PERFMON_PERFCTR0 + 6, MSR_ARCH_PERFMON_PERFCTR0 + 7, - MSR_ARCH_PERFMON_PERFCTR0 + 8, MSR_ARCH_PERFMON_PERFCTR0 + 9, - MSR_ARCH_PERFMON_PERFCTR0 + 10, MSR_ARCH_PERFMON_PERFCTR0 + 11, - MSR_ARCH_PERFMON_PERFCTR0 + 12, MSR_ARCH_PERFMON_PERFCTR0 + 13, - MSR_ARCH_PERFMON_PERFCTR0 + 14, MSR_ARCH_PERFMON_PERFCTR0 + 15, - MSR_ARCH_PERFMON_PERFCTR0 + 16, MSR_ARCH_PERFMON_PERFCTR0 + 17, MSR_ARCH_PERFMON_EVENTSEL0, MSR_ARCH_PERFMON_EVENTSEL1, MSR_ARCH_PERFMON_EVENTSEL0 + 2, MSR_ARCH_PERFMON_EVENTSEL0 + 3, MSR_ARCH_PERFMON_EVENTSEL0 + 4, MSR_ARCH_PERFMON_EVENTSEL0 + 5, MSR_ARCH_PERFMON_EVENTSEL0 + 6, MSR_ARCH_PERFMON_EVENTSEL0 + 7, - MSR_ARCH_PERFMON_EVENTSEL0 + 8, MSR_ARCH_PERFMON_EVENTSEL0 + 9, - MSR_ARCH_PERFMON_EVENTSEL0 + 10, MSR_ARCH_PERFMON_EVENTSEL0 + 11, - MSR_ARCH_PERFMON_EVENTSEL0 + 12, MSR_ARCH_PERFMON_EVENTSEL0 + 13, - MSR_ARCH_PERFMON_EVENTSEL0 + 14, MSR_ARCH_PERFMON_EVENTSEL0 + 15, - MSR_ARCH_PERFMON_EVENTSEL0 + 16, MSR_ARCH_PERFMON_EVENTSEL0 + 17, MSR_K7_EVNTSEL0, MSR_K7_EVNTSEL1, MSR_K7_EVNTSEL2, MSR_K7_EVNTSEL3, MSR_K7_PERFCTR0, MSR_K7_PERFCTR1, MSR_K7_PERFCTR2, MSR_K7_PERFCTR3, @@ -1555,7 +1564,7 @@ MSR_IA32_VMX_EPT_VPID_CAP, MSR_IA32_VMX_VMFUNC, - MSR_F10H_DECFG, + MSR_AMD64_DE_CFG, MSR_IA32_UCODE_REV, MSR_IA32_ARCH_CAPABILITIES, MSR_IA32_PERF_CAPABILITIES, @@ -1564,12 +1573,32 @@ static u32 msr_based_features[ARRAY_SIZE(msr_based_features_all)]; static unsigned int num_msr_based_features; +/* + * Some IA32_ARCH_CAPABILITIES bits have dependencies on MSRs that KVM + * does not yet virtualize. These include: + * 10 - MISC_PACKAGE_CTRLS + * 11 - ENERGY_FILTERING_CTL + * 12 - DOITM + * 18 - FB_CLEAR_CTRL + * 21 - XAPIC_DISABLE_STATUS + * 23 - OVERCLOCKING_STATUS + */ + +#define KVM_SUPPORTED_ARCH_CAP \ + (ARCH_CAP_RDCL_NO | ARCH_CAP_IBRS_ALL | ARCH_CAP_RSBA | \ + ARCH_CAP_SKIP_VMENTRY_L1DFLUSH | ARCH_CAP_SSB_NO | ARCH_CAP_MDS_NO | \ + ARCH_CAP_PSCHANGE_MC_NO | ARCH_CAP_TSX_CTRL_MSR | ARCH_CAP_TAA_NO | \ + ARCH_CAP_SBDR_SSDP_NO | ARCH_CAP_FBSDP_NO | ARCH_CAP_PSDP_NO | \ + ARCH_CAP_FB_CLEAR | ARCH_CAP_RRSBA | ARCH_CAP_PBRSB_NO) + static u64 kvm_get_arch_capabilities(void) { u64 data = 0; - if (boot_cpu_has(X86_FEATURE_ARCH_CAPABILITIES)) + if (boot_cpu_has(X86_FEATURE_ARCH_CAPABILITIES)) { rdmsrl(MSR_IA32_ARCH_CAPABILITIES, data); + data &= KVM_SUPPORTED_ARCH_CAP; + } /* * If nx_huge_pages is enabled, KVM's shadow paging will ensure that @@ -1617,9 +1646,6 @@ */ } - /* Guests don't need to know "Fill buffer clear control" exists */ - data &= ~ARCH_CAP_FB_CLEAR_CTRL; - return data; } @@ -2283,11 +2309,11 @@ /* we verify if the enable bit is set... */ if (system_time & 1) { - kvm_gfn_to_pfn_cache_init(vcpu->kvm, &vcpu->arch.pv_time, vcpu, - KVM_HOST_USES_PFN, system_time & ~1ULL, - sizeof(struct pvclock_vcpu_time_info)); + kvm_gpc_activate(vcpu->kvm, &vcpu->arch.pv_time, vcpu, + KVM_HOST_USES_PFN, system_time & ~1ULL, + sizeof(struct pvclock_vcpu_time_info)); } else { - kvm_gfn_to_pfn_cache_destroy(vcpu->kvm, &vcpu->arch.pv_time); + kvm_gpc_deactivate(vcpu->kvm, &vcpu->arch.pv_time); } return; @@ -3239,17 +3265,20 @@ /* only 0 or all 1s can be written to IA32_MCi_CTL * some Linux kernels though clear bit 10 in bank 4 to * workaround a BIOS/GART TBL issue on AMD K8s, ignore - * this to avoid an uncatched #GP in the guest + * this to avoid an uncatched #GP in the guest. + * + * UNIXWARE clears bit 0 of MC1_CTL to ignore + * correctable, single-bit ECC data errors. */ if ((offset & 0x3) == 0 && - data != 0 && (data | (1 << 10)) != ~(u64)0) - return -1; + data != 0 && (data | (1 << 10) | 1) != ~(u64)0) + return 1; /* MCi_STATUS */ if (!msr_info->host_initiated && (offset & 0x3) == 1 && data != 0) { if (!can_set_mci_status(vcpu)) - return -1; + return 1; } vcpu->arch.mce_banks[offset] = data; @@ -3324,7 +3353,7 @@ static void kvmclock_reset(struct kvm_vcpu *vcpu) { - kvm_gfn_to_pfn_cache_destroy(vcpu->kvm, &vcpu->arch.pv_time); + kvm_gpc_deactivate(vcpu->kvm, &vcpu->arch.pv_time); vcpu->arch.time = 0; } @@ -3380,6 +3409,7 @@ struct gfn_to_hva_cache *ghc = &vcpu->arch.st.cache; struct kvm_steal_time __user *st; struct kvm_memslots *slots; + gpa_t gpa = vcpu->arch.st.msr_val & KVM_STEAL_VALID_BITS; u64 steal; u32 version; @@ -3397,13 +3427,12 @@ slots = kvm_memslots(vcpu->kvm); if (unlikely(slots->generation != ghc->generation || + gpa != ghc->gpa || kvm_is_error_hva(ghc->hva) || !ghc->memslot)) { - gfn_t gfn = vcpu->arch.st.msr_val & KVM_STEAL_VALID_BITS; - /* We rely on the fact that it fits in a single page. */ BUILD_BUG_ON((sizeof(*st) - 1) & KVM_STEAL_VALID_BITS); - if (kvm_gfn_to_hva_cache_init(vcpu->kvm, ghc, gfn, sizeof(*st)) || + if (kvm_gfn_to_hva_cache_init(vcpu->kvm, ghc, gpa, sizeof(*st)) || kvm_is_error_hva(ghc->hva) || !ghc->memslot) return; } @@ -4321,10 +4350,15 @@ r = KVM_CLOCK_VALID_FLAGS; break; case KVM_CAP_X86_DISABLE_EXITS: - r |= KVM_X86_DISABLE_EXITS_HLT | KVM_X86_DISABLE_EXITS_PAUSE | - KVM_X86_DISABLE_EXITS_CSTATE; - if(kvm_can_mwait_in_guest()) - r |= KVM_X86_DISABLE_EXITS_MWAIT; + r = KVM_X86_DISABLE_EXITS_PAUSE; + + if (!mitigate_smt_rsb) { + r |= KVM_X86_DISABLE_EXITS_HLT | + KVM_X86_DISABLE_EXITS_CSTATE; + + if (kvm_can_mwait_in_guest()) + r |= KVM_X86_DISABLE_EXITS_MWAIT; + } break; case KVM_CAP_X86_SMM: /* SMBASE is usually relocated above 1M on modern chipsets, @@ -4392,10 +4426,10 @@ if (r < sizeof(struct kvm_xsave)) r = sizeof(struct kvm_xsave); break; + } case KVM_CAP_PMU_CAPABILITY: r = enable_pmu ? KVM_CAP_PMU_VALID_MASK : 0; break; - } case KVM_CAP_DISABLE_QUIRKS2: r = KVM_X86_VALID_QUIRKS; break; @@ -4629,6 +4663,7 @@ struct kvm_steal_time __user *st; struct kvm_memslots *slots; static const u8 preempted = KVM_VCPU_PREEMPTED; + gpa_t gpa = vcpu->arch.st.msr_val & KVM_STEAL_VALID_BITS; /* * The vCPU can be marked preempted if and only if the VM-Exit was on @@ -4656,6 +4691,7 @@ slots = kvm_memslots(vcpu->kvm); if (unlikely(slots->generation != ghc->generation || + gpa != ghc->gpa || kvm_is_error_hva(ghc->hva) || !ghc->memslot)) return; @@ -5006,7 +5042,7 @@ if (events->flags & KVM_VCPUEVENT_VALID_SMM) { if (!!(vcpu->arch.hflags & HF_SMM_MASK) != events->smi.smm) { - kvm_x86_ops.nested_ops->leave_nested(vcpu); + kvm_leave_nested(vcpu); kvm_smm_changed(vcpu, events->smi.smm); } @@ -5037,12 +5073,11 @@ { unsigned long val; + memset(dbgregs, 0, sizeof(*dbgregs)); memcpy(dbgregs->db, vcpu->arch.db, sizeof(vcpu->arch.db)); kvm_get_dr(vcpu, 6, &val); dbgregs->dr6 = val; dbgregs->dr7 = vcpu->arch.dr7; - dbgregs->flags = 0; - memset(&dbgregs->reserved, 0, sizeof(dbgregs->reserved)); } static int kvm_vcpu_ioctl_x86_set_debugregs(struct kvm_vcpu *vcpu, @@ -6009,15 +6044,26 @@ if (cap->args[0] & ~KVM_X86_DISABLE_VALID_EXITS) break; - if ((cap->args[0] & KVM_X86_DISABLE_EXITS_MWAIT) && - kvm_can_mwait_in_guest()) - kvm->arch.mwait_in_guest = true; - if (cap->args[0] & KVM_X86_DISABLE_EXITS_HLT) - kvm->arch.hlt_in_guest = true; if (cap->args[0] & KVM_X86_DISABLE_EXITS_PAUSE) kvm->arch.pause_in_guest = true; - if (cap->args[0] & KVM_X86_DISABLE_EXITS_CSTATE) - kvm->arch.cstate_in_guest = true; + +#define SMT_RSB_MSG "This processor is affected by the Cross-Thread Return Predictions vulnerability. " \ + "KVM_CAP_X86_DISABLE_EXITS should only be used with SMT disabled or trusted guests." + + if (!mitigate_smt_rsb) { + if (boot_cpu_has_bug(X86_BUG_SMT_RSB) && cpu_smt_possible() && + (cap->args[0] & ~KVM_X86_DISABLE_EXITS_PAUSE)) + pr_warn_once(SMT_RSB_MSG); + + if ((cap->args[0] & KVM_X86_DISABLE_EXITS_MWAIT) && + kvm_can_mwait_in_guest()) + kvm->arch.mwait_in_guest = true; + if (cap->args[0] & KVM_X86_DISABLE_EXITS_HLT) + kvm->arch.hlt_in_guest = true; + if (cap->args[0] & KVM_X86_DISABLE_EXITS_CSTATE) + kvm->arch.cstate_in_guest = true; + } + r = 0; break; case KVM_CAP_MSR_PLATFORM_INFO: @@ -6175,26 +6221,22 @@ return 0; } -static int kvm_vm_ioctl_set_msr_filter(struct kvm *kvm, void __user *argp) +static int kvm_vm_ioctl_set_msr_filter(struct kvm *kvm, + struct kvm_msr_filter *filter) { - struct kvm_msr_filter __user *user_msr_filter = argp; struct kvm_x86_msr_filter *new_filter, *old_filter; - struct kvm_msr_filter filter; bool default_allow; bool empty = true; int r = 0; u32 i; - if (copy_from_user(&filter, user_msr_filter, sizeof(filter))) - return -EFAULT; - - if (filter.flags & ~KVM_MSR_FILTER_DEFAULT_DENY) + if (filter->flags & ~KVM_MSR_FILTER_DEFAULT_DENY) return -EINVAL; - for (i = 0; i < ARRAY_SIZE(filter.ranges); i++) - empty &= !filter.ranges[i].nmsrs; + for (i = 0; i < ARRAY_SIZE(filter->ranges); i++) + empty &= !filter->ranges[i].nmsrs; - default_allow = !(filter.flags & KVM_MSR_FILTER_DEFAULT_DENY); + default_allow = !(filter->flags & KVM_MSR_FILTER_DEFAULT_DENY); if (empty && !default_allow) return -EINVAL; @@ -6202,8 +6244,8 @@ if (!new_filter) return -ENOMEM; - for (i = 0; i < ARRAY_SIZE(filter.ranges); i++) { - r = kvm_add_msr_filter(new_filter, &filter.ranges[i]); + for (i = 0; i < ARRAY_SIZE(filter->ranges); i++) { + r = kvm_add_msr_filter(new_filter, &filter->ranges[i]); if (r) { kvm_free_msr_filter(new_filter); return r; @@ -6226,6 +6268,62 @@ return 0; } +#ifdef CONFIG_KVM_COMPAT +/* for KVM_X86_SET_MSR_FILTER */ +struct kvm_msr_filter_range_compat { + __u32 flags; + __u32 nmsrs; + __u32 base; + __u32 bitmap; +}; + +struct kvm_msr_filter_compat { + __u32 flags; + struct kvm_msr_filter_range_compat ranges[KVM_MSR_FILTER_MAX_RANGES]; +}; + +#define KVM_X86_SET_MSR_FILTER_COMPAT _IOW(KVMIO, 0xc6, struct kvm_msr_filter_compat) + +long kvm_arch_vm_compat_ioctl(struct file *filp, unsigned int ioctl, + unsigned long arg) +{ + void __user *argp = (void __user *)arg; + struct kvm *kvm = filp->private_data; + long r = -ENOTTY; + + switch (ioctl) { + case KVM_X86_SET_MSR_FILTER_COMPAT: { + struct kvm_msr_filter __user *user_msr_filter = argp; + struct kvm_msr_filter_compat filter_compat; + struct kvm_msr_filter filter; + int i; + + if (copy_from_user(&filter_compat, user_msr_filter, + sizeof(filter_compat))) + return -EFAULT; + + filter.flags = filter_compat.flags; + for (i = 0; i < ARRAY_SIZE(filter.ranges); i++) { + struct kvm_msr_filter_range_compat *cr; + + cr = &filter_compat.ranges[i]; + filter.ranges[i] = (struct kvm_msr_filter_range) { + .flags = cr->flags, + .nmsrs = cr->nmsrs, + .base = cr->base, + .bitmap = (__u8 *)(ulong)cr->bitmap, + }; + } + + r = kvm_vm_ioctl_set_msr_filter(kvm, &filter); + break; + } + } + + return r; +} +#endif + #ifdef CONFIG_HAVE_KVM_PM_NOTIFIER static int kvm_arch_suspend_notifier(struct kvm *kvm) { @@ -6648,9 +6746,16 @@ case KVM_SET_PMU_EVENT_FILTER: r = kvm_vm_ioctl_set_pmu_event_filter(kvm, argp); break; - case KVM_X86_SET_MSR_FILTER: - r = kvm_vm_ioctl_set_msr_filter(kvm, argp); + case KVM_X86_SET_MSR_FILTER: { + struct kvm_msr_filter __user *user_msr_filter = argp; + struct kvm_msr_filter filter; + + if (copy_from_user(&filter, user_msr_filter, sizeof(filter))) + return -EFAULT; + + r = kvm_vm_ioctl_set_msr_filter(kvm, &filter); break; + } default: r = -ENOTTY; } @@ -6718,12 +6823,12 @@ intel_pt_validate_hw_cap(PT_CAP_num_address_ranges) * 2) continue; break; - case MSR_ARCH_PERFMON_PERFCTR0 ... MSR_ARCH_PERFMON_PERFCTR0 + 17: + case MSR_ARCH_PERFMON_PERFCTR0 ... MSR_ARCH_PERFMON_PERFCTR0 + 7: if (msrs_to_save_all[i] - MSR_ARCH_PERFMON_PERFCTR0 >= min(INTEL_PMC_MAX_GENERIC, x86_pmu.num_counters_gp)) continue; break; - case MSR_ARCH_PERFMON_EVENTSEL0 ... MSR_ARCH_PERFMON_EVENTSEL0 + 17: + case MSR_ARCH_PERFMON_EVENTSEL0 ... MSR_ARCH_PERFMON_EVENTSEL0 + 7: if (msrs_to_save_all[i] - MSR_ARCH_PERFMON_EVENTSEL0 >= min(INTEL_PMC_MAX_GENERIC, x86_pmu.num_counters_gp)) continue; @@ -8463,7 +8568,9 @@ write_fault_to_spt, emulation_type)) return 1; - if (ctxt->have_exception) { + + if (ctxt->have_exception && + !(emulation_type & EMULTYPE_SKIP)) { /* * #UD should result in just EMULATION_FAILED, and trap-like * exception should not be encountered during decode. @@ -8577,6 +8684,12 @@ unsigned long rflags = static_call(kvm_x86_get_rflags)(vcpu); toggle_interruptibility(vcpu, ctxt->interruptibility); vcpu->arch.emulate_regs_need_sync_to_vcpu = false; + + /* + * Note, EXCPT_DB is assumed to be fault-like as the emulator + * only supports code breakpoints and general detect #DB, both + * of which are fault-like. + */ if (!ctxt->have_exception || exception_type(ctxt->exception.vector) == EXCPT_TRAP) { kvm_pmu_trigger_event(vcpu, PERF_COUNT_HW_INSTRUCTIONS); @@ -8967,7 +9080,7 @@ goto out; } if (ops->disabled_by_bios()) { - pr_err_ratelimited("kvm: support for '%s' disabled by bios\n", + pr_warn_ratelimited("kvm: support for '%s' disabled by bios\n", ops->runtime_ops->name); r = -EOPNOTSUPP; goto out; @@ -9435,6 +9548,11 @@ static void kvm_inject_exception(struct kvm_vcpu *vcpu) { + trace_kvm_inj_exception(vcpu->arch.exception.nr, + vcpu->arch.exception.has_error_code, + vcpu->arch.exception.error_code, + vcpu->arch.exception.injected); + if (vcpu->arch.exception.error_code && !is_protmode(vcpu)) vcpu->arch.exception.error_code = false; static_call(kvm_x86_queue_exception)(vcpu); @@ -9492,13 +9610,16 @@ /* try to inject new event if pending */ if (vcpu->arch.exception.pending) { - trace_kvm_inj_exception(vcpu->arch.exception.nr, - vcpu->arch.exception.has_error_code, - vcpu->arch.exception.error_code); - - vcpu->arch.exception.pending = false; - vcpu->arch.exception.injected = true; - + /* + * Fault-class exceptions, except #DBs, set RF=1 in the RFLAGS + * value pushed on the stack. Trap-like exception and all #DBs + * leave RF as-is (KVM follows Intel's behavior in this regard; + * AMD states that code breakpoint #DBs excplitly clear RF=0). + * + * Note, most versions of Intel's SDM and AMD's APM incorrectly + * describe the behavior of General Detect #DBs, which are + * fault-like. They do _not_ set RF, a la code breakpoints. + */ if (exception_type(vcpu->arch.exception.nr) == EXCPT_FAULT) __kvm_set_rflags(vcpu, kvm_get_rflags(vcpu) | X86_EFLAGS_RF); @@ -9512,6 +9633,10 @@ } kvm_inject_exception(vcpu); + + vcpu->arch.exception.pending = false; + vcpu->arch.exception.injected = true; + can_inject = false; } @@ -11292,6 +11417,8 @@ vcpu->arch.regs_avail = ~0; vcpu->arch.regs_dirty = ~0; + kvm_gpc_init(&vcpu->arch.pv_time); + if (!irqchip_in_kernel(vcpu->kvm) || kvm_vcpu_is_reset_bsp(vcpu)) vcpu->arch.mp_state = KVM_MP_STATE_RUNNABLE; else @@ -11457,8 +11584,18 @@ WARN_ON_ONCE(!init_event && (old_cr0 || kvm_read_cr3(vcpu) || kvm_read_cr4(vcpu))); + /* + * SVM doesn't unconditionally VM-Exit on INIT and SHUTDOWN, thus it's + * possible to INIT the vCPU while L2 is active. Force the vCPU back + * into L1 as EFER.SVME is cleared on INIT (along with all other EFER + * bits), i.e. virtualization is disabled. + */ + if (is_guest_mode(vcpu)) + kvm_leave_nested(vcpu); + kvm_lapic_reset(vcpu, init_event); + WARN_ON_ONCE(is_guest_mode(vcpu) || is_smm(vcpu)); vcpu->arch.hflags = 0; vcpu->arch.smi_pending = 0; @@ -12237,6 +12374,50 @@ } else { kvm_mmu_slot_remove_write_access(kvm, new, PG_LEVEL_4K); } + + /* + * Unconditionally flush the TLBs after enabling dirty logging. + * A flush is almost always going to be necessary (see below), + * and unconditionally flushing allows the helpers to omit + * the subtly complex checks when removing write access. + * + * Do the flush outside of mmu_lock to reduce the amount of + * time mmu_lock is held. Flushing after dropping mmu_lock is + * safe as KVM only needs to guarantee the slot is fully + * write-protected before returning to userspace, i.e. before + * userspace can consume the dirty status. + * + * Flushing outside of mmu_lock requires KVM to be careful when + * making decisions based on writable status of an SPTE, e.g. a + * !writable SPTE doesn't guarantee a CPU can't perform writes. + * + * Specifically, KVM also write-protects guest page tables to + * monitor changes when using shadow paging, and must guarantee + * no CPUs can write to those page before mmu_lock is dropped. + * Because CPUs may have stale TLB entries at this point, a + * !writable SPTE doesn't guarantee CPUs can't perform writes. + * + * KVM also allows making SPTES writable outside of mmu_lock, + * e.g. to allow dirty logging without taking mmu_lock. + * + * To handle these scenarios, KVM uses a separate software-only + * bit (MMU-writable) to track if a SPTE is !writable due to + * a guest page table being write-protected (KVM clears the + * MMU-writable flag when write-protecting for shadow paging). + * + * The use of MMU-writable is also the primary motivation for + * the unconditional flush. Because KVM must guarantee that a + * CPU doesn't contain stale, writable TLB entries for a + * !MMU-writable SPTE, KVM must flush if it encounters any + * MMU-writable SPTE regardless of whether the actual hardware + * writable bit was set. I.e. KVM is almost guaranteed to need + * to flush, while unconditionally flushing allows the "remove + * write access" helpers to ignore MMU-writable entirely. + * + * See is_writable_pte() for more details (the case involving + * access-tracked SPTEs is particularly relevant). + */ + kvm_arch_flush_remote_tlbs_memslot(kvm, new); } } @@ -13119,6 +13300,7 @@ static int __init kvm_x86_init(void) { kvm_mmu_x86_module_init(); + mitigate_smt_rsb &= boot_cpu_has_bug(X86_BUG_SMT_RSB) && cpu_smt_possible(); return 0; } module_init(kvm_x86_init); --- linux-gcp-5.19.0.orig/arch/x86/kvm/x86.h +++ linux-gcp-5.19.0/arch/x86/kvm/x86.h @@ -407,7 +407,7 @@ void kvm_load_guest_xsave_state(struct kvm_vcpu *vcpu); void kvm_load_host_xsave_state(struct kvm_vcpu *vcpu); int kvm_spec_ctrl_test_value(u64 value); -bool kvm_is_valid_cr4(struct kvm_vcpu *vcpu, unsigned long cr4); +bool __kvm_is_valid_cr4(struct kvm_vcpu *vcpu, unsigned long cr4); int kvm_handle_memory_failure(struct kvm_vcpu *vcpu, int r, struct x86_exception *e); int kvm_handle_invpcid(struct kvm_vcpu *vcpu, unsigned long type, gva_t gva); --- linux-gcp-5.19.0.orig/arch/x86/kvm/xen.c +++ linux-gcp-5.19.0/arch/x86/kvm/xen.c @@ -42,13 +42,13 @@ int idx = srcu_read_lock(&kvm->srcu); if (gfn == GPA_INVALID) { - kvm_gfn_to_pfn_cache_destroy(kvm, gpc); + kvm_gpc_deactivate(kvm, gpc); goto out; } do { - ret = kvm_gfn_to_pfn_cache_init(kvm, gpc, NULL, KVM_HOST_USES_PFN, - gpa, PAGE_SIZE); + ret = kvm_gpc_activate(kvm, gpc, NULL, KVM_HOST_USES_PFN, gpa, + PAGE_SIZE); if (ret) goto out; @@ -554,15 +554,15 @@ offsetof(struct compat_vcpu_info, time)); if (data->u.gpa == GPA_INVALID) { - kvm_gfn_to_pfn_cache_destroy(vcpu->kvm, &vcpu->arch.xen.vcpu_info_cache); + kvm_gpc_deactivate(vcpu->kvm, &vcpu->arch.xen.vcpu_info_cache); r = 0; break; } - r = kvm_gfn_to_pfn_cache_init(vcpu->kvm, - &vcpu->arch.xen.vcpu_info_cache, - NULL, KVM_HOST_USES_PFN, data->u.gpa, - sizeof(struct vcpu_info)); + r = kvm_gpc_activate(vcpu->kvm, + &vcpu->arch.xen.vcpu_info_cache, NULL, + KVM_HOST_USES_PFN, data->u.gpa, + sizeof(struct vcpu_info)); if (!r) kvm_make_request(KVM_REQ_CLOCK_UPDATE, vcpu); @@ -570,16 +570,16 @@ case KVM_XEN_VCPU_ATTR_TYPE_VCPU_TIME_INFO: if (data->u.gpa == GPA_INVALID) { - kvm_gfn_to_pfn_cache_destroy(vcpu->kvm, - &vcpu->arch.xen.vcpu_time_info_cache); + kvm_gpc_deactivate(vcpu->kvm, + &vcpu->arch.xen.vcpu_time_info_cache); r = 0; break; } - r = kvm_gfn_to_pfn_cache_init(vcpu->kvm, - &vcpu->arch.xen.vcpu_time_info_cache, - NULL, KVM_HOST_USES_PFN, data->u.gpa, - sizeof(struct pvclock_vcpu_time_info)); + r = kvm_gpc_activate(vcpu->kvm, + &vcpu->arch.xen.vcpu_time_info_cache, + NULL, KVM_HOST_USES_PFN, data->u.gpa, + sizeof(struct pvclock_vcpu_time_info)); if (!r) kvm_make_request(KVM_REQ_CLOCK_UPDATE, vcpu); break; @@ -590,16 +590,15 @@ break; } if (data->u.gpa == GPA_INVALID) { - kvm_gfn_to_pfn_cache_destroy(vcpu->kvm, - &vcpu->arch.xen.runstate_cache); + kvm_gpc_deactivate(vcpu->kvm, + &vcpu->arch.xen.runstate_cache); r = 0; break; } - r = kvm_gfn_to_pfn_cache_init(vcpu->kvm, - &vcpu->arch.xen.runstate_cache, - NULL, KVM_HOST_USES_PFN, data->u.gpa, - sizeof(struct vcpu_runstate_info)); + r = kvm_gpc_activate(vcpu->kvm, &vcpu->arch.xen.runstate_cache, + NULL, KVM_HOST_USES_PFN, data->u.gpa, + sizeof(struct vcpu_runstate_info)); break; case KVM_XEN_VCPU_ATTR_TYPE_RUNSTATE_CURRENT: @@ -707,23 +706,24 @@ break; case KVM_XEN_VCPU_ATTR_TYPE_TIMER: - if (data->u.timer.port) { - if (data->u.timer.priority != KVM_IRQ_ROUTING_XEN_EVTCHN_PRIO_2LEVEL) { - r = -EINVAL; - break; - } - vcpu->arch.xen.timer_virq = data->u.timer.port; + if (data->u.timer.port && + data->u.timer.priority != KVM_IRQ_ROUTING_XEN_EVTCHN_PRIO_2LEVEL) { + r = -EINVAL; + break; + } + + if (!vcpu->arch.xen.timer.function) kvm_xen_init_timer(vcpu); - /* Restart the timer if it's set */ - if (data->u.timer.expires_ns) - kvm_xen_start_timer(vcpu, data->u.timer.expires_ns, - data->u.timer.expires_ns - - get_kvmclock_ns(vcpu->kvm)); - } else if (kvm_xen_timer_enabled(vcpu)) { - kvm_xen_stop_timer(vcpu); - vcpu->arch.xen.timer_virq = 0; - } + /* Stop the timer (if it's running) before changing the vector */ + kvm_xen_stop_timer(vcpu); + vcpu->arch.xen.timer_virq = data->u.timer.port; + + /* Start the timer if the new value has a valid vector+expiry. */ + if (data->u.timer.port && data->u.timer.expires_ns) + kvm_xen_start_timer(vcpu, data->u.timer.expires_ns, + data->u.timer.expires_ns - + get_kvmclock_ns(vcpu->kvm)); r = 0; break; @@ -954,6 +954,14 @@ return kvm_xen_hypercall_set_result(vcpu, run->xen.u.hcall.result); } +static inline int max_evtchn_port(struct kvm *kvm) +{ + if (IS_ENABLED(CONFIG_64BIT) && kvm->arch.xen.long_mode) + return EVTCHN_2L_NR_CHANNELS; + else + return COMPAT_EVTCHN_2L_NR_CHANNELS; +} + static bool wait_pending_event(struct kvm_vcpu *vcpu, int nr_ports, evtchn_port_t *ports) { @@ -1042,6 +1050,10 @@ *r = -EFAULT; goto out; } + if (ports[i] >= max_evtchn_port(vcpu->kvm)) { + *r = -EINVAL; + goto out; + } } if (sched_poll.nr_ports == 1) @@ -1216,6 +1228,7 @@ bool longmode; u64 input, params[6], r = -ENOSYS; bool handled = false; + u8 cpl; input = (u64)kvm_register_read(vcpu, VCPU_REGS_RAX); @@ -1243,9 +1256,17 @@ params[5] = (u64)kvm_r9_read(vcpu); } #endif + cpl = static_call(kvm_x86_get_cpl)(vcpu); trace_kvm_xen_hypercall(input, params[0], params[1], params[2], params[3], params[4], params[5]); + /* + * Only allow hypercall acceleration for CPL0. The rare hypercalls that + * are permitted in guest userspace can be handled by the VMM. + */ + if (unlikely(cpl > 0)) + goto handle_in_userspace; + switch (input) { case __HYPERVISOR_xen_version: if (params[0] == XENVER_version && vcpu->kvm->arch.xen.xen_version) { @@ -1280,10 +1301,11 @@ if (handled) return kvm_xen_hypercall_set_result(vcpu, r); +handle_in_userspace: vcpu->run->exit_reason = KVM_EXIT_XEN; vcpu->run->xen.type = KVM_EXIT_XEN_HCALL; vcpu->run->xen.u.hcall.longmode = longmode; - vcpu->run->xen.u.hcall.cpl = static_call(kvm_x86_get_cpl)(vcpu); + vcpu->run->xen.u.hcall.cpl = cpl; vcpu->run->xen.u.hcall.input = input; vcpu->run->xen.u.hcall.params[0] = params[0]; vcpu->run->xen.u.hcall.params[1] = params[1]; @@ -1298,14 +1320,6 @@ return 0; } -static inline int max_evtchn_port(struct kvm *kvm) -{ - if (IS_ENABLED(CONFIG_64BIT) && kvm->arch.xen.long_mode) - return EVTCHN_2L_NR_CHANNELS; - else - return COMPAT_EVTCHN_2L_NR_CHANNELS; -} - static void kvm_xen_check_poller(struct kvm_vcpu *vcpu, int port) { int poll_evtchn = vcpu->arch.xen.poll_evtchn; @@ -1667,18 +1681,18 @@ case EVTCHNSTAT_ipi: /* IPI must map back to the same port# */ if (data->u.evtchn.deliver.port.port != data->u.evtchn.send_port) - goto out; /* -EINVAL */ + goto out_noeventfd; /* -EINVAL */ break; case EVTCHNSTAT_interdomain: if (data->u.evtchn.deliver.port.port) { if (data->u.evtchn.deliver.port.port >= max_evtchn_port(kvm)) - goto out; /* -EINVAL */ + goto out_noeventfd; /* -EINVAL */ } else { eventfd = eventfd_ctx_fdget(data->u.evtchn.deliver.eventfd.fd); if (IS_ERR(eventfd)) { ret = PTR_ERR(eventfd); - goto out; + goto out_noeventfd; } } break; @@ -1718,6 +1732,7 @@ out: if (eventfd) eventfd_ctx_put(eventfd); +out_noeventfd: kfree(evtchnfd); return ret; } @@ -1816,7 +1831,12 @@ { vcpu->arch.xen.vcpu_id = vcpu->vcpu_idx; vcpu->arch.xen.poll_evtchn = 0; + timer_setup(&vcpu->arch.xen.poll_timer, cancel_evtchn_poll, 0); + + kvm_gpc_init(&vcpu->arch.xen.runstate_cache); + kvm_gpc_init(&vcpu->arch.xen.vcpu_info_cache); + kvm_gpc_init(&vcpu->arch.xen.vcpu_time_info_cache); } void kvm_xen_destroy_vcpu(struct kvm_vcpu *vcpu) @@ -1824,18 +1844,17 @@ if (kvm_xen_timer_enabled(vcpu)) kvm_xen_stop_timer(vcpu); - kvm_gfn_to_pfn_cache_destroy(vcpu->kvm, - &vcpu->arch.xen.runstate_cache); - kvm_gfn_to_pfn_cache_destroy(vcpu->kvm, - &vcpu->arch.xen.vcpu_info_cache); - kvm_gfn_to_pfn_cache_destroy(vcpu->kvm, - &vcpu->arch.xen.vcpu_time_info_cache); + kvm_gpc_deactivate(vcpu->kvm, &vcpu->arch.xen.runstate_cache); + kvm_gpc_deactivate(vcpu->kvm, &vcpu->arch.xen.vcpu_info_cache); + kvm_gpc_deactivate(vcpu->kvm, &vcpu->arch.xen.vcpu_time_info_cache); + del_timer_sync(&vcpu->arch.xen.poll_timer); } void kvm_xen_init_vm(struct kvm *kvm) { idr_init(&kvm->arch.xen.evtchn_ports); + kvm_gpc_init(&kvm->arch.xen.shinfo_cache); } void kvm_xen_destroy_vm(struct kvm *kvm) @@ -1843,7 +1862,7 @@ struct evtchnfd *evtchnfd; int i; - kvm_gfn_to_pfn_cache_destroy(kvm, &kvm->arch.xen.shinfo_cache); + kvm_gpc_deactivate(kvm, &kvm->arch.xen.shinfo_cache); idr_for_each_entry(&kvm->arch.xen.evtchn_ports, evtchnfd, i) { if (!evtchnfd->deliver.port.port) --- linux-gcp-5.19.0.orig/arch/x86/lib/iomap_copy_64.S +++ linux-gcp-5.19.0/arch/x86/lib/iomap_copy_64.S @@ -10,6 +10,6 @@ */ SYM_FUNC_START(__iowrite32_copy) movl %edx,%ecx - rep movsd + rep movsl RET SYM_FUNC_END(__iowrite32_copy) --- linux-gcp-5.19.0.orig/arch/x86/lib/usercopy.c +++ linux-gcp-5.19.0/arch/x86/lib/usercopy.c @@ -44,7 +44,7 @@ * called from other contexts. */ pagefault_disable(); - ret = __copy_from_user_inatomic(to, from, n); + ret = raw_copy_from_user(to, from, n); pagefault_enable(); return ret; --- linux-gcp-5.19.0.orig/arch/x86/mm/extable.c +++ linux-gcp-5.19.0/arch/x86/mm/extable.c @@ -94,16 +94,18 @@ static bool ex_handler_msr(const struct exception_table_entry *fixup, struct pt_regs *regs, bool wrmsr, bool safe, int reg) { - if (!safe && wrmsr && - pr_warn_once("unchecked MSR access error: WRMSR to 0x%x (tried to write 0x%08x%08x) at rIP: 0x%lx (%pS)\n", - (unsigned int)regs->cx, (unsigned int)regs->dx, - (unsigned int)regs->ax, regs->ip, (void *)regs->ip)) + if (__ONCE_LITE_IF(!safe && wrmsr)) { + pr_warn("unchecked MSR access error: WRMSR to 0x%x (tried to write 0x%08x%08x) at rIP: 0x%lx (%pS)\n", + (unsigned int)regs->cx, (unsigned int)regs->dx, + (unsigned int)regs->ax, regs->ip, (void *)regs->ip); show_stack_regs(regs); + } - if (!safe && !wrmsr && - pr_warn_once("unchecked MSR access error: RDMSR from 0x%x at rIP: 0x%lx (%pS)\n", - (unsigned int)regs->cx, regs->ip, (void *)regs->ip)) + if (__ONCE_LITE_IF(!safe && !wrmsr)) { + pr_warn("unchecked MSR access error: RDMSR from 0x%x at rIP: 0x%lx (%pS)\n", + (unsigned int)regs->cx, regs->ip, (void *)regs->ip); show_stack_regs(regs); + } if (!wrmsr) { /* Pretend that the read succeeded and returned 0. */ --- linux-gcp-5.19.0.orig/arch/x86/mm/init.c +++ linux-gcp-5.19.0/arch/x86/mm/init.c @@ -9,6 +9,7 @@ #include #include +#include #include #include #include @@ -260,6 +261,24 @@ } } +#define INTEL_MATCH(_model) { .vendor = X86_VENDOR_INTEL, \ + .family = 6, \ + .model = _model, \ + } +/* + * INVLPG may not properly flush Global entries + * on these CPUs when PCIDs are enabled. + */ +static const struct x86_cpu_id invlpg_miss_ids[] = { + INTEL_MATCH(INTEL_FAM6_ALDERLAKE ), + INTEL_MATCH(INTEL_FAM6_ALDERLAKE_L ), + INTEL_MATCH(INTEL_FAM6_ALDERLAKE_N ), + INTEL_MATCH(INTEL_FAM6_RAPTORLAKE ), + INTEL_MATCH(INTEL_FAM6_RAPTORLAKE_P), + INTEL_MATCH(INTEL_FAM6_RAPTORLAKE_S), + {} +}; + static void setup_pcid(void) { if (!IS_ENABLED(CONFIG_X86_64)) @@ -268,6 +287,12 @@ if (!boot_cpu_has(X86_FEATURE_PCID)) return; + if (x86_match_cpu(invlpg_miss_ids)) { + pr_info("Incomplete global flushes, disabling PCID"); + setup_clear_cpu_cap(X86_FEATURE_PCID); + return; + } + if (boot_cpu_has(X86_FEATURE_PGE)) { /* * This can't be cr4_set_bits_and_update_boot() -- the --- linux-gcp-5.19.0.orig/arch/x86/mm/init_64.c +++ linux-gcp-5.19.0/arch/x86/mm/init_64.c @@ -645,7 +645,7 @@ pages++; spin_lock(&init_mm.page_table_lock); - prot = __pgprot(pgprot_val(prot) | __PAGE_KERNEL_LARGE); + prot = __pgprot(pgprot_val(prot) | _PAGE_PSE); set_pte_init((pte_t *)pud, pfn_pte((paddr & PUD_MASK) >> PAGE_SHIFT, --- linux-gcp-5.19.0.orig/arch/x86/mm/ioremap.c +++ linux-gcp-5.19.0/arch/x86/mm/ioremap.c @@ -216,9 +216,15 @@ * Mappings have to be page-aligned */ offset = phys_addr & ~PAGE_MASK; - phys_addr &= PHYSICAL_PAGE_MASK; + phys_addr &= PAGE_MASK; size = PAGE_ALIGN(last_addr+1) - phys_addr; + /* + * Mask out any bits not part of the actual physical + * address, like memory encryption bits. + */ + phys_addr &= PHYSICAL_PAGE_MASK; + retval = memtype_reserve(phys_addr, (u64)phys_addr + size, pcm, &new_pcm); if (retval) { --- linux-gcp-5.19.0.orig/arch/x86/mm/mem_encrypt_amd.c +++ linux-gcp-5.19.0/arch/x86/mm/mem_encrypt_amd.c @@ -20,8 +20,8 @@ #include #include #include +#include #include -#include #include #include @@ -245,7 +245,7 @@ swiotlb_adjust_size(size); /* Set restricted memory access for virtio. */ - platform_set(PLATFORM_VIRTIO_RESTRICTED_MEM_ACCESS); + virtio_set_mem_acc_cb(virtio_require_restricted_mem_acc); } static unsigned long pg_level_to_pfn(int level, pte_t *kpte, pgprot_t *ret_prot) --- linux-gcp-5.19.0.orig/arch/x86/mm/numa.c +++ linux-gcp-5.19.0/arch/x86/mm/numa.c @@ -867,7 +867,7 @@ return; } mask = node_to_cpumask_map[node]; - if (!mask) { + if (!cpumask_available(mask)) { pr_err("node_to_cpumask_map[%i] NULL\n", node); dump_stack(); return; @@ -913,7 +913,7 @@ dump_stack(); return cpu_none_mask; } - if (node_to_cpumask_map[node] == NULL) { + if (!cpumask_available(node_to_cpumask_map[node])) { printk(KERN_WARNING "cpumask_of_node(%d): no node_to_cpumask_map!\n", node); --- linux-gcp-5.19.0.orig/arch/x86/mm/pat/memtype.c +++ linux-gcp-5.19.0/arch/x86/mm/pat/memtype.c @@ -62,6 +62,7 @@ static bool __read_mostly pat_bp_initialized; static bool __read_mostly pat_disabled = !IS_ENABLED(CONFIG_X86_PAT); +static bool __initdata pat_force_disabled = !IS_ENABLED(CONFIG_X86_PAT); static bool __read_mostly pat_bp_enabled; static bool __read_mostly pat_cm_initialized; @@ -86,6 +87,7 @@ static int __init nopat(char *str) { pat_disable("PAT support disabled via boot option."); + pat_force_disabled = true; return 0; } early_param("nopat", nopat); @@ -272,7 +274,7 @@ wrmsrl(MSR_IA32_CR_PAT, pat); } -void init_cache_modes(void) +void __init init_cache_modes(void) { u64 pat = 0; @@ -313,6 +315,12 @@ */ pat = PAT(0, WB) | PAT(1, WT) | PAT(2, UC_MINUS) | PAT(3, UC) | PAT(4, WB) | PAT(5, WT) | PAT(6, UC_MINUS) | PAT(7, UC); + } else if (!pat_force_disabled && cpu_feature_enabled(X86_FEATURE_HYPERVISOR)) { + /* + * Clearly PAT is enabled underneath. Allow pat_enabled() to + * reflect this. + */ + pat_bp_enabled = true; } __init_cache_modes(pat); @@ -426,7 +434,8 @@ u8 mtrr_type, uniform; mtrr_type = mtrr_type_lookup(start, end, &uniform); - if (mtrr_type != MTRR_TYPE_WRBACK) + if (mtrr_type != MTRR_TYPE_WRBACK && + mtrr_type != MTRR_TYPE_INVALID) return _PAGE_CACHE_MODE_UC_MINUS; return _PAGE_CACHE_MODE_WB; --- linux-gcp-5.19.0.orig/arch/x86/net/bpf_jit_comp.c +++ linux-gcp-5.19.0/arch/x86/net/bpf_jit_comp.c @@ -2216,7 +2216,7 @@ return ret; } -static int emit_bpf_dispatcher(u8 **pprog, int a, int b, s64 *progs) +static int emit_bpf_dispatcher(u8 **pprog, int a, int b, s64 *progs, u8 *image, u8 *buf) { u8 *jg_reloc, *prog = *pprog; int pivot, err, jg_bytes = 1; @@ -2232,12 +2232,12 @@ EMIT2_off32(0x81, add_1reg(0xF8, BPF_REG_3), progs[a]); err = emit_cond_near_jump(&prog, /* je func */ - (void *)progs[a], prog, + (void *)progs[a], image + (prog - buf), X86_JE); if (err) return err; - emit_indirect_jump(&prog, 2 /* rdx */, prog); + emit_indirect_jump(&prog, 2 /* rdx */, image + (prog - buf)); *pprog = prog; return 0; @@ -2262,7 +2262,7 @@ jg_reloc = prog; err = emit_bpf_dispatcher(&prog, a, a + pivot, /* emit lower_part */ - progs); + progs, image, buf); if (err) return err; @@ -2276,7 +2276,7 @@ emit_code(jg_reloc - jg_bytes, jg_offset, jg_bytes); err = emit_bpf_dispatcher(&prog, a + pivot + 1, /* emit upper_part */ - b, progs); + b, progs, image, buf); if (err) return err; @@ -2296,12 +2296,12 @@ return 0; } -int arch_prepare_bpf_dispatcher(void *image, s64 *funcs, int num_funcs) +int arch_prepare_bpf_dispatcher(void *image, void *buf, s64 *funcs, int num_funcs) { - u8 *prog = image; + u8 *prog = buf; sort(funcs, num_funcs, sizeof(funcs[0]), cmp_ips, NULL); - return emit_bpf_dispatcher(&prog, 0, num_funcs - 1, funcs); + return emit_bpf_dispatcher(&prog, 0, num_funcs - 1, funcs, image, buf); } struct x64_jit_data { @@ -2506,3 +2506,34 @@ return ERR_PTR(-EINVAL); return dst; } + +/* Indicate the JIT backend supports mixing bpf2bpf and tailcalls. */ +bool bpf_jit_supports_subprog_tailcalls(void) +{ + return true; +} + +void bpf_jit_free(struct bpf_prog *prog) +{ + if (prog->jited) { + struct x64_jit_data *jit_data = prog->aux->jit_data; + struct bpf_binary_header *hdr; + + /* + * If we fail the final pass of JIT (from jit_subprogs), + * the program may not be finalized yet. Call finalize here + * before freeing it. + */ + if (jit_data) { + bpf_jit_binary_pack_finalize(prog, jit_data->header, + jit_data->rw_header); + kvfree(jit_data->addrs); + kfree(jit_data); + } + hdr = bpf_jit_binary_pack_hdr(prog); + bpf_jit_binary_pack_free(hdr, NULL); + WARN_ON_ONCE(!bpf_prog_kallsyms_verify_off(prog)); + } + + bpf_prog_unlock_free(prog); +} --- linux-gcp-5.19.0.orig/arch/x86/pci/common.c +++ linux-gcp-5.19.0/arch/x86/pci/common.c @@ -34,6 +34,7 @@ #endif int pcibios_last_bus = -1; unsigned long pirq_table_addr; +unsigned int pci_early_clear_msi; const struct pci_raw_ops *__read_mostly raw_pci_ops; const struct pci_raw_ops *__read_mostly raw_pci_ext_ops; @@ -614,6 +615,9 @@ } else if (!strcmp(str, "skip_isa_align")) { pci_probe |= PCI_CAN_SKIP_ISA_ALIGN; return NULL; + } else if (!strcmp(str, "clearmsi")) { + pci_early_clear_msi = 1; + return NULL; } else if (!strcmp(str, "noioapicquirk")) { noioapicquirk = 1; return NULL; --- linux-gcp-5.19.0.orig/arch/x86/pci/early.c +++ linux-gcp-5.19.0/arch/x86/pci/early.c @@ -51,6 +51,31 @@ outw(val, 0xcfc + (offset&2)); } +u32 pci_early_find_cap(int bus, int slot, int func, int cap) +{ + int bytes; + u8 pos; + + if (!(read_pci_config_16(bus, slot, func, PCI_STATUS) & + PCI_STATUS_CAP_LIST)) + return 0; + + pos = read_pci_config_byte(bus, slot, func, PCI_CAPABILITY_LIST); + for (bytes = 0; bytes < 48 && pos >= 0x40; bytes++) { + u8 id; + + pos &= ~3; + id = read_pci_config_byte(bus, slot, func, pos+PCI_CAP_LIST_ID); + if (id == 0xff) + break; + if (id == cap) + return pos; + pos = read_pci_config_byte(bus, slot, func, + pos+PCI_CAP_LIST_NEXT); + } + return 0; +} + int early_pci_allowed(void) { return (pci_probe & (PCI_PROBE_CONF1|PCI_PROBE_NOEARLY)) == --- linux-gcp-5.19.0.orig/arch/x86/platform/olpc/olpc-xo1-sci.c +++ linux-gcp-5.19.0/arch/x86/platform/olpc/olpc-xo1-sci.c @@ -80,7 +80,7 @@ return; } - if (!!test_bit(SW_TABLET_MODE, ebook_switch_idev->sw) == state) + if (test_bit(SW_TABLET_MODE, ebook_switch_idev->sw) == !!state) return; /* Nothing new to report. */ input_report_switch(ebook_switch_idev, SW_TABLET_MODE, state); --- linux-gcp-5.19.0.orig/arch/x86/power/cpu.c +++ linux-gcp-5.19.0/arch/x86/power/cpu.c @@ -513,15 +513,23 @@ static void pm_save_spec_msr(void) { - u32 spec_msr_id[] = { - MSR_IA32_SPEC_CTRL, - MSR_IA32_TSX_CTRL, - MSR_TSX_FORCE_ABORT, - MSR_IA32_MCU_OPT_CTRL, - MSR_AMD64_LS_CFG, + struct msr_enumeration { + u32 msr_no; + u32 feature; + } msr_enum[] = { + { MSR_IA32_SPEC_CTRL, X86_FEATURE_MSR_SPEC_CTRL }, + { MSR_IA32_TSX_CTRL, X86_FEATURE_MSR_TSX_CTRL }, + { MSR_TSX_FORCE_ABORT, X86_FEATURE_TSX_FORCE_ABORT }, + { MSR_IA32_MCU_OPT_CTRL, X86_FEATURE_SRBDS_CTRL }, + { MSR_AMD64_LS_CFG, X86_FEATURE_LS_CFG_SSBD }, + { MSR_AMD64_DE_CFG, X86_FEATURE_LFENCE_RDTSC }, }; + int i; - msr_build_context(spec_msr_id, ARRAY_SIZE(spec_msr_id)); + for (i = 0; i < ARRAY_SIZE(msr_enum); i++) { + if (boot_cpu_has(msr_enum[i].feature)) + msr_build_context(&msr_enum[i].msr_no, 1); + } } static int pm_check_save_msr(void) --- linux-gcp-5.19.0.orig/arch/x86/realmode/init.c +++ linux-gcp-5.19.0/arch/x86/realmode/init.c @@ -200,14 +200,18 @@ set_memory_x((unsigned long) text_start, text_size >> PAGE_SHIFT); } -static int __init init_real_mode(void) +void __init init_real_mode(void) { if (!real_mode_header) panic("Real mode trampoline was not allocated"); setup_real_mode(); set_real_mode_permissions(); +} +static int __init do_init_real_mode(void) +{ + x86_platform.realmode_init(); return 0; } -early_initcall(init_real_mode); +early_initcall(do_init_real_mode); --- linux-gcp-5.19.0.orig/arch/x86/realmode/rm/trampoline_32.S +++ linux-gcp-5.19.0/arch/x86/realmode/rm/trampoline_32.S @@ -23,6 +23,7 @@ #include #include #include +#include #include "realmode.h" .text @@ -59,6 +60,7 @@ .section ".text32","ax" .code32 SYM_CODE_START(startup_32) # note: also used from wakeup_asm.S + ANNOTATE_RETPOLINE_SAFE jmp *%eax SYM_CODE_END(startup_32) --- linux-gcp-5.19.0.orig/arch/x86/um/Makefile +++ linux-gcp-5.19.0/arch/x86/um/Makefile @@ -28,7 +28,8 @@ obj-y += syscalls_64.o vdso/ -subarch-y = ../lib/csum-partial_64.o ../lib/memcpy_64.o ../entry/thunk_64.o +subarch-y = ../lib/csum-partial_64.o ../lib/memcpy_64.o +subarch-$(CONFIG_PREEMPTION) += ../entry/thunk_64.o endif --- linux-gcp-5.19.0.orig/arch/x86/um/elfcore.c +++ linux-gcp-5.19.0/arch/x86/um/elfcore.c @@ -7,7 +7,7 @@ #include -Elf32_Half elf_core_extra_phdrs(void) +Elf32_Half elf_core_extra_phdrs(struct coredump_params *cprm) { return vsyscall_ehdr ? (((struct elfhdr *)vsyscall_ehdr)->e_phnum) : 0; } @@ -60,7 +60,7 @@ return 1; } -size_t elf_core_extra_data_size(void) +size_t elf_core_extra_data_size(struct coredump_params *cprm) { if ( vsyscall_ehdr ) { const struct elfhdr *const ehdrp = --- linux-gcp-5.19.0.orig/arch/x86/um/shared/sysdep/syscalls_32.h +++ linux-gcp-5.19.0/arch/x86/um/shared/sysdep/syscalls_32.h @@ -6,10 +6,9 @@ #include #include -typedef long syscall_handler_t(struct pt_regs); +typedef long syscall_handler_t(struct syscall_args); extern syscall_handler_t *sys_call_table[]; #define EXECUTE_SYSCALL(syscall, regs) \ - ((long (*)(struct syscall_args)) \ - (*sys_call_table[syscall]))(SYSCALL_ARGS(®s->regs)) + ((*sys_call_table[syscall]))(SYSCALL_ARGS(®s->regs)) --- linux-gcp-5.19.0.orig/arch/x86/um/tls_32.c +++ linux-gcp-5.19.0/arch/x86/um/tls_32.c @@ -65,9 +65,6 @@ struct thread_struct *t = &task->thread; int idx; - if (!t->arch.tls_array) - return GDT_ENTRY_TLS_MIN; - for (idx = 0; idx < GDT_ENTRY_TLS_ENTRIES; idx++) if (!t->arch.tls_array[idx].present) return idx + GDT_ENTRY_TLS_MIN; @@ -240,9 +237,6 @@ { struct thread_struct *t = &task->thread; - if (!t->arch.tls_array) - goto clear; - if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX) return -EINVAL; --- linux-gcp-5.19.0.orig/arch/x86/um/vdso/Makefile +++ linux-gcp-5.19.0/arch/x86/um/vdso/Makefile @@ -62,7 +62,7 @@ -Wl,-T,$(filter %.lds,$^) $(filter %.o,$^) && \ sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@' -VDSO_LDFLAGS = -fPIC -shared -Wl,--hash-style=sysv +VDSO_LDFLAGS = -fPIC -shared -Wl,--hash-style=sysv -z noexecstack GCOV_PROFILE := n # --- linux-gcp-5.19.0.orig/arch/x86/xen/enlighten_hvm.c +++ linux-gcp-5.19.0/arch/x86/xen/enlighten_hvm.c @@ -4,6 +4,7 @@ #include #include #include +#include #include #include @@ -195,7 +196,8 @@ if (xen_pv_domain()) return; - xen_set_restricted_virtio_memory_access(); + if (IS_ENABLED(CONFIG_XEN_VIRTIO_FORCE_GRANT)) + virtio_set_mem_acc_cb(virtio_require_restricted_mem_acc); init_hvm_pv_info(); --- linux-gcp-5.19.0.orig/arch/x86/xen/enlighten_pv.c +++ linux-gcp-5.19.0/arch/x86/xen/enlighten_pv.c @@ -31,6 +31,7 @@ #include #include #include +#include #include #include @@ -109,7 +110,9 @@ static void __init xen_pv_init_platform(void) { - xen_set_restricted_virtio_memory_access(); + /* PV guests can't operate virtio devices without grants. */ + if (IS_ENABLED(CONFIG_XEN_VIRTIO)) + virtio_set_mem_acc_cb(virtio_require_restricted_mem_acc); populate_extra_pte(fix_to_virt(FIX_PARAVIRT_BOOTMAP)); @@ -762,6 +765,7 @@ { static DEFINE_SPINLOCK(lock); static struct trap_info traps[257]; + static const struct trap_info zero = { }; unsigned out; trace_xen_cpu_load_idt(desc); @@ -771,7 +775,7 @@ memcpy(this_cpu_ptr(&idt_desc), desc, sizeof(idt_desc)); out = xen_convert_trap_info(desc, traps, false); - memset(&traps[out], 0, sizeof(traps[0])); + traps[out] = zero; xen_mc_flush(); if (HYPERVISOR_set_trap_table(traps)) @@ -1220,6 +1224,8 @@ xen_vcpu_info_reset(0); x86_platform.get_nmi_reason = xen_get_nmi_reason; + x86_platform.realmode_reserve = x86_init_noop; + x86_platform.realmode_init = x86_init_noop; x86_init.resources.memory_setup = xen_memory_setup; x86_init.irqs.intr_mode_select = x86_init_noop; --- linux-gcp-5.19.0.orig/arch/x86/xen/smp.c +++ linux-gcp-5.19.0/arch/x86/xen/smp.c @@ -32,30 +32,30 @@ void xen_smp_intr_free(unsigned int cpu) { + kfree(per_cpu(xen_resched_irq, cpu).name); + per_cpu(xen_resched_irq, cpu).name = NULL; if (per_cpu(xen_resched_irq, cpu).irq >= 0) { unbind_from_irqhandler(per_cpu(xen_resched_irq, cpu).irq, NULL); per_cpu(xen_resched_irq, cpu).irq = -1; - kfree(per_cpu(xen_resched_irq, cpu).name); - per_cpu(xen_resched_irq, cpu).name = NULL; } + kfree(per_cpu(xen_callfunc_irq, cpu).name); + per_cpu(xen_callfunc_irq, cpu).name = NULL; if (per_cpu(xen_callfunc_irq, cpu).irq >= 0) { unbind_from_irqhandler(per_cpu(xen_callfunc_irq, cpu).irq, NULL); per_cpu(xen_callfunc_irq, cpu).irq = -1; - kfree(per_cpu(xen_callfunc_irq, cpu).name); - per_cpu(xen_callfunc_irq, cpu).name = NULL; } + kfree(per_cpu(xen_debug_irq, cpu).name); + per_cpu(xen_debug_irq, cpu).name = NULL; if (per_cpu(xen_debug_irq, cpu).irq >= 0) { unbind_from_irqhandler(per_cpu(xen_debug_irq, cpu).irq, NULL); per_cpu(xen_debug_irq, cpu).irq = -1; - kfree(per_cpu(xen_debug_irq, cpu).name); - per_cpu(xen_debug_irq, cpu).name = NULL; } + kfree(per_cpu(xen_callfuncsingle_irq, cpu).name); + per_cpu(xen_callfuncsingle_irq, cpu).name = NULL; if (per_cpu(xen_callfuncsingle_irq, cpu).irq >= 0) { unbind_from_irqhandler(per_cpu(xen_callfuncsingle_irq, cpu).irq, NULL); per_cpu(xen_callfuncsingle_irq, cpu).irq = -1; - kfree(per_cpu(xen_callfuncsingle_irq, cpu).name); - per_cpu(xen_callfuncsingle_irq, cpu).name = NULL; } } @@ -65,6 +65,7 @@ char *resched_name, *callfunc_name, *debug_name; resched_name = kasprintf(GFP_KERNEL, "resched%d", cpu); + per_cpu(xen_resched_irq, cpu).name = resched_name; rc = bind_ipi_to_irqhandler(XEN_RESCHEDULE_VECTOR, cpu, xen_reschedule_interrupt, @@ -74,9 +75,9 @@ if (rc < 0) goto fail; per_cpu(xen_resched_irq, cpu).irq = rc; - per_cpu(xen_resched_irq, cpu).name = resched_name; callfunc_name = kasprintf(GFP_KERNEL, "callfunc%d", cpu); + per_cpu(xen_callfunc_irq, cpu).name = callfunc_name; rc = bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_VECTOR, cpu, xen_call_function_interrupt, @@ -86,10 +87,10 @@ if (rc < 0) goto fail; per_cpu(xen_callfunc_irq, cpu).irq = rc; - per_cpu(xen_callfunc_irq, cpu).name = callfunc_name; if (!xen_fifo_events) { debug_name = kasprintf(GFP_KERNEL, "debug%d", cpu); + per_cpu(xen_debug_irq, cpu).name = debug_name; rc = bind_virq_to_irqhandler(VIRQ_DEBUG, cpu, xen_debug_interrupt, IRQF_PERCPU | IRQF_NOBALANCING, @@ -97,10 +98,10 @@ if (rc < 0) goto fail; per_cpu(xen_debug_irq, cpu).irq = rc; - per_cpu(xen_debug_irq, cpu).name = debug_name; } callfunc_name = kasprintf(GFP_KERNEL, "callfuncsingle%d", cpu); + per_cpu(xen_callfuncsingle_irq, cpu).name = callfunc_name; rc = bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_SINGLE_VECTOR, cpu, xen_call_function_single_interrupt, @@ -110,7 +111,6 @@ if (rc < 0) goto fail; per_cpu(xen_callfuncsingle_irq, cpu).irq = rc; - per_cpu(xen_callfuncsingle_irq, cpu).name = callfunc_name; return 0; --- linux-gcp-5.19.0.orig/arch/x86/xen/smp_pv.c +++ linux-gcp-5.19.0/arch/x86/xen/smp_pv.c @@ -97,18 +97,18 @@ void xen_smp_intr_free_pv(unsigned int cpu) { + kfree(per_cpu(xen_irq_work, cpu).name); + per_cpu(xen_irq_work, cpu).name = NULL; if (per_cpu(xen_irq_work, cpu).irq >= 0) { unbind_from_irqhandler(per_cpu(xen_irq_work, cpu).irq, NULL); per_cpu(xen_irq_work, cpu).irq = -1; - kfree(per_cpu(xen_irq_work, cpu).name); - per_cpu(xen_irq_work, cpu).name = NULL; } + kfree(per_cpu(xen_pmu_irq, cpu).name); + per_cpu(xen_pmu_irq, cpu).name = NULL; if (per_cpu(xen_pmu_irq, cpu).irq >= 0) { unbind_from_irqhandler(per_cpu(xen_pmu_irq, cpu).irq, NULL); per_cpu(xen_pmu_irq, cpu).irq = -1; - kfree(per_cpu(xen_pmu_irq, cpu).name); - per_cpu(xen_pmu_irq, cpu).name = NULL; } } @@ -118,6 +118,7 @@ char *callfunc_name, *pmu_name; callfunc_name = kasprintf(GFP_KERNEL, "irqwork%d", cpu); + per_cpu(xen_irq_work, cpu).name = callfunc_name; rc = bind_ipi_to_irqhandler(XEN_IRQ_WORK_VECTOR, cpu, xen_irq_work_interrupt, @@ -127,10 +128,10 @@ if (rc < 0) goto fail; per_cpu(xen_irq_work, cpu).irq = rc; - per_cpu(xen_irq_work, cpu).name = callfunc_name; if (is_xen_pmu) { pmu_name = kasprintf(GFP_KERNEL, "pmu%d", cpu); + per_cpu(xen_pmu_irq, cpu).name = pmu_name; rc = bind_virq_to_irqhandler(VIRQ_XENPMU, cpu, xen_pmu_irq_handler, IRQF_PERCPU|IRQF_NOBALANCING, @@ -138,7 +139,6 @@ if (rc < 0) goto fail; per_cpu(xen_pmu_irq, cpu).irq = rc; - per_cpu(xen_pmu_irq, cpu).name = pmu_name; } return 0; --- linux-gcp-5.19.0.orig/arch/x86/xen/spinlock.c +++ linux-gcp-5.19.0/arch/x86/xen/spinlock.c @@ -75,6 +75,7 @@ cpu, per_cpu(lock_kicker_irq, cpu)); name = kasprintf(GFP_KERNEL, "spinlock%d", cpu); + per_cpu(irq_name, cpu) = name; irq = bind_ipi_to_irqhandler(XEN_SPIN_UNLOCK_VECTOR, cpu, dummy_handler, @@ -85,7 +86,6 @@ if (irq >= 0) { disable_irq(irq); /* make sure it's never delivered */ per_cpu(lock_kicker_irq, cpu) = irq; - per_cpu(irq_name, cpu) = name; } printk("cpu %d spinlock event irq %d\n", cpu, irq); @@ -98,6 +98,8 @@ if (!xen_pvspin) return; + kfree(per_cpu(irq_name, cpu)); + per_cpu(irq_name, cpu) = NULL; /* * When booting the kernel with 'mitigations=auto,nosmt', the secondary * CPUs are not activated, and lock_kicker_irq is not initialized. @@ -108,8 +110,6 @@ unbind_from_irqhandler(irq, NULL); per_cpu(lock_kicker_irq, cpu) = -1; - kfree(per_cpu(irq_name, cpu)); - per_cpu(irq_name, cpu) = NULL; } PV_CALLEE_SAVE_REGS_THUNK(xen_vcpu_stolen); --- linux-gcp-5.19.0.orig/arch/xtensa/platforms/iss/network.c +++ linux-gcp-5.19.0/arch/xtensa/platforms/iss/network.c @@ -472,16 +472,24 @@ .ndo_set_rx_mode = iss_net_set_multicast_list, }; -static int iss_net_configure(int index, char *init) +static void iss_net_pdev_release(struct device *dev) +{ + struct platform_device *pdev = to_platform_device(dev); + struct iss_net_private *lp = + container_of(pdev, struct iss_net_private, pdev); + + free_netdev(lp->dev); +} + +static void iss_net_configure(int index, char *init) { struct net_device *dev; struct iss_net_private *lp; - int err; dev = alloc_etherdev(sizeof(*lp)); if (dev == NULL) { pr_err("eth_configure: failed to allocate device\n"); - return 1; + return; } /* Initialize private element. */ @@ -509,7 +517,7 @@ if (!tuntap_probe(lp, index, init)) { pr_err("%s: invalid arguments. Skipping device!\n", dev->name); - goto errout; + goto err_free_netdev; } pr_info("Netdevice %d (%pM)\n", index, dev->dev_addr); @@ -517,7 +525,8 @@ /* sysfs register */ if (!driver_registered) { - platform_driver_register(&iss_net_driver); + if (platform_driver_register(&iss_net_driver)) + goto err_free_netdev; driver_registered = 1; } @@ -527,7 +536,9 @@ lp->pdev.id = index; lp->pdev.name = DRIVER_NAME; - platform_device_register(&lp->pdev); + lp->pdev.dev.release = iss_net_pdev_release; + if (platform_device_register(&lp->pdev)) + goto err_free_netdev; SET_NETDEV_DEV(dev, &lp->pdev.dev); dev->netdev_ops = &iss_netdev_ops; @@ -536,23 +547,20 @@ dev->irq = -1; rtnl_lock(); - err = register_netdevice(dev); - rtnl_unlock(); - - if (err) { + if (register_netdevice(dev)) { + rtnl_unlock(); pr_err("%s: error registering net device!\n", dev->name); - /* XXX: should we call ->remove() here? */ - free_netdev(dev); - return 1; + platform_device_unregister(&lp->pdev); + return; } + rtnl_unlock(); timer_setup(&lp->tl, iss_net_user_timer_expire, 0); - return 0; + return; -errout: - /* FIXME: unregister; free, etc.. */ - return -EIO; +err_free_netdev: + free_netdev(dev); } /* ------------------------------------------------------------------------- */ --- linux-gcp-5.19.0.orig/block/bfq-cgroup.c +++ linux-gcp-5.19.0/block/bfq-cgroup.c @@ -615,6 +615,10 @@ struct bfq_group *bfqg; while (blkg) { + if (!blkg->online) { + blkg = blkg->parent; + continue; + } bfqg = blkg_to_bfqg(blkg); if (bfqg->online) { bio_associate_blkg_from_css(bio, &blkg->blkcg->css); @@ -719,15 +723,15 @@ struct bfq_io_cq *bic, struct bfq_group *bfqg) { - struct bfq_queue *async_bfqq = bic_to_bfqq(bic, 0); - struct bfq_queue *sync_bfqq = bic_to_bfqq(bic, 1); + struct bfq_queue *async_bfqq = bic_to_bfqq(bic, false); + struct bfq_queue *sync_bfqq = bic_to_bfqq(bic, true); struct bfq_entity *entity; if (async_bfqq) { entity = &async_bfqq->entity; if (entity->sched_data != &bfqg->sched_data) { - bic_set_bfqq(bic, NULL, 0); + bic_set_bfqq(bic, NULL, false); bfq_release_process_ref(bfqd, async_bfqq); } } @@ -762,8 +766,8 @@ * request from the old cgroup. */ bfq_put_cooperator(sync_bfqq); + bic_set_bfqq(bic, NULL, true); bfq_release_process_ref(bfqd, sync_bfqq); - bic_set_bfqq(bic, NULL, 1); } } } --- linux-gcp-5.19.0.orig/block/bfq-iosched.c +++ linux-gcp-5.19.0/block/bfq-iosched.c @@ -386,6 +386,12 @@ void bic_set_bfqq(struct bfq_io_cq *bic, struct bfq_queue *bfqq, bool is_sync) { + struct bfq_queue *old_bfqq = bic->bfqq[is_sync]; + + /* Clear bic pointer if bfqq is detached from this bic */ + if (old_bfqq && old_bfqq->bic == bic) + old_bfqq->bic = NULL; + /* * If bfqq != NULL, then a non-stable queue merge between * bic->bfqq and bfqq is happening here. This causes troubles @@ -3174,7 +3180,7 @@ /* * Merge queues (that is, let bic redirect its requests to new_bfqq) */ - bic_set_bfqq(bic, new_bfqq, 1); + bic_set_bfqq(bic, new_bfqq, true); bfq_mark_bfqq_coop(new_bfqq); /* * new_bfqq now belongs to at least two bics (it is a shared queue): @@ -5379,9 +5385,8 @@ unsigned long flags; spin_lock_irqsave(&bfqd->lock, flags); - bfqq->bic = NULL; - bfq_exit_bfqq(bfqd, bfqq); bic_set_bfqq(bic, NULL, is_sync); + bfq_exit_bfqq(bfqd, bfqq); spin_unlock_irqrestore(&bfqd->lock, flags); } } @@ -5488,9 +5493,11 @@ bfqq = bic_to_bfqq(bic, false); if (bfqq) { - bfq_release_process_ref(bfqd, bfqq); + struct bfq_queue *old_bfqq = bfqq; + bfqq = bfq_get_queue(bfqd, bio, false, bic, true); bic_set_bfqq(bic, bfqq, false); + bfq_release_process_ref(bfqd, old_bfqq); } bfqq = bic_to_bfqq(bic, true); @@ -6624,7 +6631,7 @@ return bfqq; } - bic_set_bfqq(bic, NULL, 1); + bic_set_bfqq(bic, NULL, true); bfq_put_cooperator(bfqq); @@ -6786,6 +6793,12 @@ bfqq = bfq_get_bfqq_handle_split(bfqd, bic, bio, true, is_sync, NULL); + if (unlikely(bfqq == &bfqd->oom_bfqq)) + bfqq_already_existing = true; + } else + bfqq_already_existing = true; + + if (!bfqq_already_existing) { bfqq->waker_bfqq = old_bfqq->waker_bfqq; bfqq->tentative_waker_bfqq = NULL; @@ -6799,8 +6812,7 @@ if (bfqq->waker_bfqq) hlist_add_head(&bfqq->woken_list_node, &bfqq->waker_bfqq->woken_list); - } else - bfqq_already_existing = true; + } } } --- linux-gcp-5.19.0.orig/block/bio-integrity.c +++ linux-gcp-5.19.0/block/bio-integrity.c @@ -418,6 +418,7 @@ bip->bip_vcnt = bip_src->bip_vcnt; bip->bip_iter = bip_src->bip_iter; + bip->bip_flags = bip_src->bip_flags & ~BIP_BLOCK_INTEGRITY; return 0; } --- linux-gcp-5.19.0.orig/block/bio.c +++ linux-gcp-5.19.0/block/bio.c @@ -741,12 +741,13 @@ return; } - if (bio->bi_opf & REQ_ALLOC_CACHE) { + if ((bio->bi_opf & REQ_ALLOC_CACHE) && !WARN_ON_ONCE(in_interrupt())) { struct bio_alloc_cache *cache; bio_uninit(bio); cache = per_cpu_ptr(bio->bi_pool->cache, get_cpu()); bio->bi_next = cache->free_list; + bio->bi_bdev = NULL; cache->free_list = bio; if (++cache->nr > ALLOC_CACHE_MAX + ALLOC_CACHE_SLACK) bio_alloc_cache_prune(cache, ALLOC_CACHE_SLACK); @@ -760,8 +761,6 @@ static int __bio_clone(struct bio *bio, struct bio *bio_src, gfp_t gfp) { bio_set_flag(bio, BIO_CLONED); - if (bio_flagged(bio_src, BIO_THROTTLED)) - bio_set_flag(bio, BIO_THROTTLED); bio->bi_ioprio = bio_src->bi_ioprio; bio->bi_iter = bio_src->bi_iter; @@ -1159,6 +1158,37 @@ put_page(pages[i]); } +static int bio_iov_add_page(struct bio *bio, struct page *page, + unsigned int len, unsigned int offset) +{ + bool same_page = false; + + if (!__bio_try_merge_page(bio, page, len, offset, &same_page)) { + if (WARN_ON_ONCE(bio_full(bio, len))) + return -EINVAL; + __bio_add_page(bio, page, len, offset); + return 0; + } + + if (same_page) + put_page(page); + return 0; +} + +static int bio_iov_add_zone_append_page(struct bio *bio, struct page *page, + unsigned int len, unsigned int offset) +{ + struct request_queue *q = bdev_get_queue(bio->bi_bdev); + bool same_page = false; + + if (bio_add_hw_page(q, bio, page, len, offset, + queue_max_zone_append_sectors(q), &same_page) != len) + return -EINVAL; + if (same_page) + put_page(page); + return 0; +} + #define PAGE_PTRS_PER_BVEC (sizeof(struct bio_vec) / sizeof(struct page *)) /** @@ -1177,61 +1207,11 @@ unsigned short entries_left = bio->bi_max_vecs - bio->bi_vcnt; struct bio_vec *bv = bio->bi_io_vec + bio->bi_vcnt; struct page **pages = (struct page **)bv; - bool same_page = false; - ssize_t size, left; - unsigned len, i; - size_t offset; - - /* - * Move page array up in the allocated memory for the bio vecs as far as - * possible so that we can start filling biovecs from the beginning - * without overwriting the temporary page array. - */ - BUILD_BUG_ON(PAGE_PTRS_PER_BVEC < 2); - pages += entries_left * (PAGE_PTRS_PER_BVEC - 1); - - size = iov_iter_get_pages(iter, pages, LONG_MAX, nr_pages, &offset); - if (unlikely(size <= 0)) - return size ? size : -EFAULT; - - for (left = size, i = 0; left > 0; left -= len, i++) { - struct page *page = pages[i]; - - len = min_t(size_t, PAGE_SIZE - offset, left); - - if (__bio_try_merge_page(bio, page, len, offset, &same_page)) { - if (same_page) - put_page(page); - } else { - if (WARN_ON_ONCE(bio_full(bio, len))) { - bio_put_pages(pages + i, left, offset); - return -EINVAL; - } - __bio_add_page(bio, page, len, offset); - } - offset = 0; - } - - iov_iter_advance(iter, size); - return 0; -} - -static int __bio_iov_append_get_pages(struct bio *bio, struct iov_iter *iter) -{ - unsigned short nr_pages = bio->bi_max_vecs - bio->bi_vcnt; - unsigned short entries_left = bio->bi_max_vecs - bio->bi_vcnt; - struct request_queue *q = bdev_get_queue(bio->bi_bdev); - unsigned int max_append_sectors = queue_max_zone_append_sectors(q); - struct bio_vec *bv = bio->bi_io_vec + bio->bi_vcnt; - struct page **pages = (struct page **)bv; ssize_t size, left; unsigned len, i; size_t offset; int ret = 0; - if (WARN_ON_ONCE(!max_append_sectors)) - return 0; - /* * Move page array up in the allocated memory for the bio vecs as far as * possible so that we can start filling biovecs from the beginning @@ -1246,17 +1226,18 @@ for (left = size, i = 0; left > 0; left -= len, i++) { struct page *page = pages[i]; - bool same_page = false; len = min_t(size_t, PAGE_SIZE - offset, left); - if (bio_add_hw_page(q, bio, page, len, offset, - max_append_sectors, &same_page) != len) { + if (bio_op(bio) == REQ_OP_ZONE_APPEND) + ret = bio_iov_add_zone_append_page(bio, page, len, + offset); + else + ret = bio_iov_add_page(bio, page, len, offset); + + if (ret) { bio_put_pages(pages + i, left, offset); - ret = -EINVAL; break; } - if (same_page) - put_page(page); offset = 0; } @@ -1298,10 +1279,7 @@ } do { - if (bio_op(bio) == REQ_OP_ZONE_APPEND) - ret = __bio_iov_append_get_pages(bio, iter); - else - ret = __bio_iov_iter_get_pages(bio, iter); + ret = __bio_iov_iter_get_pages(bio, iter); } while (!ret && iov_iter_count(iter) && !bio_full(bio, 0)); /* don't account direct I/O as memory stall */ --- linux-gcp-5.19.0.orig/block/blk-cgroup.c +++ linux-gcp-5.19.0/block/blk-cgroup.c @@ -851,6 +851,9 @@ struct blkcg *blkcg = css_to_blkcg(css); struct blkcg_gq *blkg; + if (!cgroup_subsys_on_dfl(io_cgrp_subsys)) + return; + /* Root-level stats are sourced from system-wide IO stats */ if (!cgroup_parent(css->cgroup)) return; @@ -1248,7 +1251,7 @@ * parent so that offline always happens towards the root. */ if (parent) - blkcg_pin_online(css); + blkcg_pin_online(&parent->css); return 0; } @@ -1454,6 +1457,10 @@ list_for_each_entry_reverse(blkg, &q->blkg_list, q_node) pol->pd_init_fn(blkg->pd[pol->plid]); + if (pol->pd_online_fn) + list_for_each_entry_reverse(blkg, &q->blkg_list, q_node) + pol->pd_online_fn(blkg->pd[pol->plid]); + __set_bit(pol->plid, q->blkcg_pols); ret = 0; @@ -2009,8 +2016,7 @@ bis->cur.ios[rwd]++; u64_stats_update_end_irqrestore(&bis->sync, flags); - if (cgroup_subsys_on_dfl(io_cgrp_subsys)) - cgroup_rstat_updated(bio->bi_blkg->blkcg->css.cgroup, cpu); + cgroup_rstat_updated(bio->bi_blkg->blkcg->css.cgroup, cpu); put_cpu(); } --- linux-gcp-5.19.0.orig/block/blk-core.c +++ linux-gcp-5.19.0/block/blk-core.c @@ -285,49 +285,6 @@ } /** - * blk_cleanup_queue - shutdown a request queue - * @q: request queue to shutdown - * - * Mark @q DYING, drain all pending requests, mark @q DEAD, destroy and - * put it. All future requests will be failed immediately with -ENODEV. - * - * Context: can sleep - */ -void blk_cleanup_queue(struct request_queue *q) -{ - /* cannot be called from atomic context */ - might_sleep(); - - WARN_ON_ONCE(blk_queue_registered(q)); - - /* mark @q DYING, no new request or merges will be allowed afterwards */ - blk_queue_flag_set(QUEUE_FLAG_DYING, q); - blk_queue_start_drain(q); - - blk_queue_flag_set(QUEUE_FLAG_NOMERGES, q); - blk_queue_flag_set(QUEUE_FLAG_NOXMERGES, q); - - /* - * Drain all requests queued before DYING marking. Set DEAD flag to - * prevent that blk_mq_run_hw_queues() accesses the hardware queues - * after draining finished. - */ - blk_freeze_queue(q); - - blk_queue_flag_set(QUEUE_FLAG_DEAD, q); - - blk_sync_queue(q); - if (queue_is_mq(q)) { - blk_mq_cancel_work_sync(q); - blk_mq_exit_queue(q); - } - - /* @q is and will stay empty, shutdown and put */ - blk_put_queue(q); -} -EXPORT_SYMBOL(blk_cleanup_queue); - -/** * blk_queue_enter() - try to increase q->q_usage_counter * @q: request queue pointer * @flags: BLK_MQ_REQ_NOWAIT and/or BLK_MQ_REQ_PM @@ -338,7 +295,7 @@ while (!blk_try_enter_queue(q, pm)) { if (flags & BLK_MQ_REQ_NOWAIT) - return -EBUSY; + return -EAGAIN; /* * read pair of barrier in blk_freeze_queue_start(), we need to @@ -368,7 +325,7 @@ if (test_bit(GD_DEAD, &disk->state)) goto dead; bio_wouldblock_error(bio); - return -EBUSY; + return -EAGAIN; } /* @@ -730,6 +687,18 @@ void submit_bio_noacct_nocheck(struct bio *bio) { + blk_cgroup_bio_start(bio); + blkcg_bio_issue_init(bio); + + if (!bio_flagged(bio, BIO_TRACE_COMPLETION)) { + trace_block_bio_queue(bio); + /* + * Now that enqueuing has been traced, we need to trace + * completion as well. + */ + bio_set_flag(bio, BIO_TRACE_COMPLETION); + } + /* * We only want one ->submit_bio to be active at a time, else stack * usage with stacked devices could be a problem. Use current->bio_list @@ -835,17 +804,6 @@ if (blk_throtl_bio(bio)) return; - - blk_cgroup_bio_start(bio); - blkcg_bio_issue_init(bio); - - if (!bio_flagged(bio, BIO_TRACE_COMPLETION)) { - trace_block_bio_queue(bio); - /* Now that enqueuing has been traced, we need to trace - * completion as well. - */ - bio_set_flag(bio, BIO_TRACE_COMPLETION); - } submit_bio_noacct_nocheck(bio); return; @@ -916,10 +874,16 @@ */ int bio_poll(struct bio *bio, struct io_comp_batch *iob, unsigned int flags) { - struct request_queue *q = bdev_get_queue(bio->bi_bdev); blk_qc_t cookie = READ_ONCE(bio->bi_cookie); + struct block_device *bdev; + struct request_queue *q; int ret = 0; + bdev = READ_ONCE(bio->bi_bdev); + if (!bdev) + return 0; + + q = bdev_get_queue(bdev); if (cookie == BLK_QC_T_NONE || !test_bit(QUEUE_FLAG_POLL, &q->queue_flags)) return 0; @@ -973,7 +937,7 @@ */ rcu_read_lock(); bio = READ_ONCE(kiocb->private); - if (bio && bio->bi_bdev) + if (bio) ret = bio_poll(bio, iob, flags); rcu_read_unlock(); --- linux-gcp-5.19.0.orig/block/blk-ioc.c +++ linux-gcp-5.19.0/block/blk-ioc.c @@ -247,6 +247,8 @@ INIT_HLIST_HEAD(&ioc->icq_list); INIT_WORK(&ioc->release_work, ioc_release_fn); #endif + ioc->ioprio = IOPRIO_DEFAULT; + return ioc; } --- linux-gcp-5.19.0.orig/block/blk-iocost.c +++ linux-gcp-5.19.0/block/blk-iocost.c @@ -869,9 +869,14 @@ *page = *seqio = *randio = 0; - if (bps) - *page = DIV64_U64_ROUND_UP(VTIME_PER_SEC, - DIV_ROUND_UP_ULL(bps, IOC_PAGE_SIZE)); + if (bps) { + u64 bps_pages = DIV_ROUND_UP_ULL(bps, IOC_PAGE_SIZE); + + if (bps_pages) + *page = DIV64_U64_ROUND_UP(VTIME_PER_SEC, bps_pages); + else + *page = 1; + } if (seqiops) { v = DIV64_U64_ROUND_UP(VTIME_PER_SEC, seqiops); @@ -2886,15 +2891,21 @@ * called before policy activation completion, can't assume that the * target bio has an iocg associated and need to test for NULL iocg. */ - rq_qos_add(q, rqos); + ret = rq_qos_add(q, rqos); + if (ret) + goto err_free_ioc; + ret = blkcg_activate_policy(q, &blkcg_policy_iocost); - if (ret) { - rq_qos_del(q, rqos); - free_percpu(ioc->pcpu_stat); - kfree(ioc); - return ret; - } + if (ret) + goto err_del_qos; return 0; + +err_del_qos: + rq_qos_del(q, rqos); +err_free_ioc: + free_percpu(ioc->pcpu_stat); + kfree(ioc); + return ret; } static struct blkcg_policy_data *ioc_cpd_alloc(gfp_t gfp) --- linux-gcp-5.19.0.orig/block/blk-iolatency.c +++ linux-gcp-5.19.0/block/blk-iolatency.c @@ -773,19 +773,23 @@ rqos->ops = &blkcg_iolatency_ops; rqos->q = q; - rq_qos_add(q, rqos); - + ret = rq_qos_add(q, rqos); + if (ret) + goto err_free; ret = blkcg_activate_policy(q, &blkcg_policy_iolatency); - if (ret) { - rq_qos_del(q, rqos); - kfree(blkiolat); - return ret; - } + if (ret) + goto err_qos_del; timer_setup(&blkiolat->timer, blkiolatency_timer_fn, 0); INIT_WORK(&blkiolat->enable_work, blkiolatency_enable_work_fn); return 0; + +err_qos_del: + rq_qos_del(q, rqos); +err_free: + kfree(blkiolat); + return ret; } static void iolatency_set_min_lat_nsec(struct blkcg_gq *blkg, u64 val) --- linux-gcp-5.19.0.orig/block/blk-lib.c +++ linux-gcp-5.19.0/block/blk-lib.c @@ -311,6 +311,11 @@ struct blk_plug plug; int ret = 0; + /* make sure that "len << SECTOR_SHIFT" doesn't overflow */ + if (max_sectors > UINT_MAX >> SECTOR_SHIFT) + max_sectors = UINT_MAX >> SECTOR_SHIFT; + max_sectors &= ~bs_mask; + if (max_sectors == 0) return -EOPNOTSUPP; if ((sector | nr_sects) & bs_mask) @@ -324,10 +329,10 @@ bio = blk_next_bio(bio, bdev, 0, REQ_OP_SECURE_ERASE, gfp); bio->bi_iter.bi_sector = sector; - bio->bi_iter.bi_size = len; + bio->bi_iter.bi_size = len << SECTOR_SHIFT; - sector += len << SECTOR_SHIFT; - nr_sects -= len << SECTOR_SHIFT; + sector += len; + nr_sects -= len; if (!nr_sects) { ret = submit_bio_wait(bio); bio_put(bio); --- linux-gcp-5.19.0.orig/block/blk-merge.c +++ linux-gcp-5.19.0/block/blk-merge.c @@ -298,6 +298,16 @@ *segs = nsegs; return NULL; split: + /* + * We can't sanely support splitting for a REQ_NOWAIT bio. End it + * with EAGAIN if splitting is required and return an error pointer. + */ + if (bio->bi_opf & REQ_NOWAIT) { + bio->bi_status = BLK_STS_AGAIN; + bio_endio(bio); + return ERR_PTR(-EAGAIN); + } + *segs = nsegs; /* --- linux-gcp-5.19.0.orig/block/blk-mq-debugfs.c +++ linux-gcp-5.19.0/block/blk-mq-debugfs.c @@ -116,7 +116,6 @@ QUEUE_FLAG_NAME(NOXMERGES), QUEUE_FLAG_NAME(ADD_RANDOM), QUEUE_FLAG_NAME(SAME_FORCE), - QUEUE_FLAG_NAME(DEAD), QUEUE_FLAG_NAME(INIT_DONE), QUEUE_FLAG_NAME(STABLE_WRITES), QUEUE_FLAG_NAME(POLL), @@ -151,11 +150,10 @@ char opbuf[16] = { }, *op; /* - * The "state" attribute is removed after blk_cleanup_queue() has called - * blk_mq_free_queue(). Return if QUEUE_FLAG_DEAD has been set to avoid - * triggering a use-after-free. + * The "state" attribute is removed when the queue is removed. Don't + * allow setting the state on a dying queue to avoid a use-after-free. */ - if (blk_queue_dead(q)) + if (blk_queue_dying(q)) return -ENOENT; if (count >= sizeof(opbuf)) { @@ -730,6 +728,9 @@ char name[20]; int i; + if (!q->debugfs_dir) + return; + snprintf(name, sizeof(name), "hctx%u", hctx->queue_num); hctx->debugfs_dir = debugfs_create_dir(name, q->debugfs_dir); --- linux-gcp-5.19.0.orig/block/blk-mq-sched.c +++ linux-gcp-5.19.0/block/blk-mq-sched.c @@ -19,8 +19,7 @@ #include "blk-wbt.h" /* - * Mark a hardware queue as needing a restart. For shared queues, maintain - * a count of how many hardware queues are marked for restart. + * Mark a hardware queue as needing a restart. */ void blk_mq_sched_mark_restart_hctx(struct blk_mq_hw_ctx *hctx) { @@ -82,7 +81,7 @@ /* * Only SCSI implements .get_budget and .put_budget, and SCSI restarts * its queue by itself in its completion handler, so we don't need to - * restart queue if .get_budget() returns BLK_STS_NO_RESOURCE. + * restart queue if .get_budget() fails to get the budget. * * Returns -EAGAIN if hctx->dispatch was found non-empty and run_work has to * be run again. This is necessary to avoid starving flushes. @@ -210,7 +209,7 @@ /* * Only SCSI implements .get_budget and .put_budget, and SCSI restarts * its queue by itself in its completion handler, so we don't need to - * restart queue if .get_budget() returns BLK_STS_NO_RESOURCE. + * restart queue if .get_budget() fails to get the budget. * * Returns -EAGAIN if hctx->dispatch was found non-empty and run_work has to * be run again. This is necessary to avoid starving flushes. --- linux-gcp-5.19.0.orig/block/blk-mq-sysfs.c +++ linux-gcp-5.19.0/block/blk-mq-sysfs.c @@ -185,7 +185,7 @@ { struct request_queue *q = hctx->queue; struct blk_mq_ctx *ctx; - int i, ret; + int i, j, ret; if (!hctx->nr_ctx) return 0; @@ -197,9 +197,16 @@ hctx_for_each_ctx(hctx, ctx, i) { ret = kobject_add(&ctx->kobj, &hctx->kobj, "cpu%u", ctx->cpu); if (ret) - break; + goto out; } + return 0; +out: + hctx_for_each_ctx(hctx, ctx, j) { + if (j < i) + kobject_del(&ctx->kobj); + } + kobject_del(&hctx->kobj); return ret; } --- linux-gcp-5.19.0.orig/block/blk-mq.c +++ linux-gcp-5.19.0/block/blk-mq.c @@ -560,7 +560,8 @@ * allocator for this for the rare use case of a command tied to * a specific queue. */ - if (WARN_ON_ONCE(!(flags & (BLK_MQ_REQ_NOWAIT | BLK_MQ_REQ_RESERVED)))) + if (WARN_ON_ONCE(!(flags & BLK_MQ_REQ_NOWAIT)) || + WARN_ON_ONCE(!(flags & BLK_MQ_REQ_RESERVED))) return ERR_PTR(-EINVAL); if (hctx_idx >= q->nr_hw_queues) @@ -1176,6 +1177,7 @@ (!blk_queue_nomerges(rq->q) && blk_rq_bytes(last) >= BLK_PLUG_FLUSH_SIZE)) { blk_mq_flush_plug_list(plug, false); + last = NULL; trace_block_plug(rq->q); } @@ -1665,12 +1667,13 @@ static bool blk_mq_mark_tag_wait(struct blk_mq_hw_ctx *hctx, struct request *rq) { - struct sbitmap_queue *sbq = &hctx->tags->bitmap_tags; + struct sbitmap_queue *sbq; struct wait_queue_head *wq; wait_queue_entry_t *wait; bool ret; - if (!(hctx->flags & BLK_MQ_F_TAG_QUEUE_SHARED)) { + if (!(hctx->flags & BLK_MQ_F_TAG_QUEUE_SHARED) && + !(blk_mq_is_shared_tags(hctx->flags))) { blk_mq_sched_mark_restart_hctx(hctx); /* @@ -1688,6 +1691,10 @@ if (!list_empty_careful(&wait->entry)) return false; + if (blk_mq_tag_is_reserved(rq->mq_hctx->sched_tags, rq->internal_tag)) + sbq = &hctx->tags->breserved_tags; + else + sbq = &hctx->tags->bitmap_tags; wq = &bt_wait_ptr(sbq, hctx)->wait; spin_lock_irq(&wq->lock); @@ -1925,7 +1932,8 @@ /* If we didn't flush the entire list, we could have told the driver * there was more coming, but that turned out to be a lie. */ - if ((!list_empty(list) || errors) && q->mq_ops->commit_rqs && queued) + if ((!list_empty(list) || errors || needs_resource || + ret == BLK_STS_DEV_RESOURCE) && q->mq_ops->commit_rqs && queued) q->mq_ops->commit_rqs(hctx); /* * Any items that need requeuing? Stuff them into hctx->dispatch, @@ -1935,7 +1943,8 @@ bool needs_restart; /* For non-shared tags, the RESTART check will suffice */ bool no_tag = prep == PREP_DISPATCH_NO_TAG && - (hctx->flags & BLK_MQ_F_TAG_QUEUE_SHARED); + ((hctx->flags & BLK_MQ_F_TAG_QUEUE_SHARED) || + blk_mq_is_shared_tags(hctx->flags)); if (nr_budgets) blk_mq_release_budgets(q, list); @@ -2568,7 +2577,7 @@ break; case BLK_STS_RESOURCE: case BLK_STS_DEV_RESOURCE: - blk_mq_request_bypass_insert(rq, false, last); + blk_mq_request_bypass_insert(rq, false, true); blk_mq_commit_rqs(hctx, &queued, from_schedule); return; default: @@ -2678,6 +2687,7 @@ list_del_init(&rq->queuelist); ret = blk_mq_request_issue_directly(rq, list_empty(list)); if (ret != BLK_STS_OK) { + errors++; if (ret == BLK_STS_RESOURCE || ret == BLK_STS_DEV_RESOURCE) { blk_mq_request_bypass_insert(rq, false, @@ -2685,7 +2695,6 @@ break; } blk_mq_end_request(rq, ret); - errors++; } else queued++; } @@ -3035,8 +3044,11 @@ struct page *page; unsigned long flags; - /* There is no need to clear a driver tags own mapping */ - if (drv_tags == tags) + /* + * There is no need to clear mapping if driver tags is not initialized + * or the mapping belongs to the driver tags. + */ + if (!drv_tags || drv_tags == tags) return; list_for_each_entry(page, &tags->page_list, lru) { @@ -3895,7 +3907,7 @@ q->queuedata = queuedata; ret = blk_mq_init_allocated_queue(set, q); if (ret) { - blk_cleanup_queue(q); + blk_put_queue(q); return ERR_PTR(ret); } return q; @@ -3907,6 +3919,35 @@ } EXPORT_SYMBOL(blk_mq_init_queue); +/** + * blk_mq_destroy_queue - shutdown a request queue + * @q: request queue to shutdown + * + * This shuts down a request queue allocated by blk_mq_init_queue() and drops + * the initial reference. All future requests will failed with -ENODEV. + * + * Context: can sleep + */ +void blk_mq_destroy_queue(struct request_queue *q) +{ + WARN_ON_ONCE(!queue_is_mq(q)); + WARN_ON_ONCE(blk_queue_registered(q)); + + might_sleep(); + + blk_queue_flag_set(QUEUE_FLAG_DYING, q); + blk_queue_start_drain(q); + blk_freeze_queue(q); + + blk_sync_queue(q); + blk_mq_cancel_work_sync(q); + blk_mq_exit_queue(q); + + /* @q is and will stay empty, shutdown and put */ + blk_put_queue(q); +} +EXPORT_SYMBOL(blk_mq_destroy_queue); + struct gendisk *__blk_mq_alloc_disk(struct blk_mq_tag_set *set, void *queuedata, struct lock_class_key *lkclass) { @@ -3919,13 +3960,28 @@ disk = __alloc_disk_node(q, set->numa_node, lkclass); if (!disk) { - blk_cleanup_queue(q); + blk_mq_destroy_queue(q); return ERR_PTR(-ENOMEM); } + set_bit(GD_OWNS_QUEUE, &disk->state); return disk; } EXPORT_SYMBOL(__blk_mq_alloc_disk); +struct gendisk *blk_mq_alloc_disk_for_queue(struct request_queue *q, + struct lock_class_key *lkclass) +{ + struct gendisk *disk; + + if (!blk_get_queue(q)) + return NULL; + disk = __alloc_disk_node(q, NUMA_NO_NODE, lkclass); + if (!disk) + blk_put_queue(q); + return disk; +} +EXPORT_SYMBOL(blk_mq_alloc_disk_for_queue); + static struct blk_mq_hw_ctx *blk_mq_alloc_and_init_hctx( struct blk_mq_tag_set *set, struct request_queue *q, int hctx_idx, int node) @@ -4069,9 +4125,7 @@ return 0; err_hctxs: - xa_destroy(&q->hctx_table); - q->nr_hw_queues = 0; - blk_mq_sysfs_deinit(q); + blk_mq_release(q); err_poll: blk_stat_free_callback(q->poll_cb); q->poll_cb = NULL; @@ -4441,14 +4495,14 @@ list_add(&qe->node, head); /* - * After elevator_switch_mq, the previous elevator_queue will be + * After elevator_switch, the previous elevator_queue will be * released by elevator_release. The reference of the io scheduler * module get by elevator_get will also be put. So we need to get * a reference of the io scheduler module here to prevent it to be * removed. */ __module_get(qe->type->elevator_owner); - elevator_switch_mq(q, NULL); + elevator_switch(q, NULL); mutex_unlock(&q->sysfs_lock); return true; @@ -4480,7 +4534,7 @@ kfree(qe); mutex_lock(&q->sysfs_lock); - elevator_switch_mq(q, t); + elevator_switch(q, t); mutex_unlock(&q->sysfs_lock); } --- linux-gcp-5.19.0.orig/block/blk-rq-qos.h +++ linux-gcp-5.19.0/block/blk-rq-qos.h @@ -86,7 +86,7 @@ init_waitqueue_head(&rq_wait->wait); } -static inline void rq_qos_add(struct request_queue *q, struct rq_qos *rqos) +static inline int rq_qos_add(struct request_queue *q, struct rq_qos *rqos) { /* * No IO can be in-flight when adding rqos, so freeze queue, which @@ -98,6 +98,8 @@ blk_mq_freeze_queue(q); spin_lock_irq(&q->queue_lock); + if (rq_qos_id(q, rqos->id)) + goto ebusy; rqos->next = q->rq_qos; q->rq_qos = rqos; spin_unlock_irq(&q->queue_lock); @@ -109,6 +111,13 @@ blk_mq_debugfs_register_rqos(rqos); mutex_unlock(&q->debugfs_mutex); } + + return 0; +ebusy: + spin_unlock_irq(&q->queue_lock); + blk_mq_unfreeze_queue(q); + return -EBUSY; + } static inline void rq_qos_del(struct request_queue *q, struct rq_qos *rqos) --- linux-gcp-5.19.0.orig/block/blk-settings.c +++ linux-gcp-5.19.0/block/blk-settings.c @@ -58,7 +58,6 @@ lim->zoned = BLK_ZONED_NONE; lim->zone_write_granularity = 0; } -EXPORT_SYMBOL(blk_set_default_limits); /** * blk_set_stacking_limits - set default limits for stacking devices --- linux-gcp-5.19.0.orig/block/blk-sysfs.c +++ linux-gcp-5.19.0/block/blk-sysfs.c @@ -748,11 +748,6 @@ * decremented with blk_put_queue(). Once the refcount reaches 0 this function * is called. * - * For drivers that have a request_queue on a gendisk and added with - * __device_add_disk() the refcount to request_queue will reach 0 with - * the last put_disk() called by the driver. For drivers which don't use - * __device_add_disk() this happens with blk_cleanup_queue(). - * * Drivers exist which depend on the release of the request_queue to be * synchronous, it should not be deferred. * --- linux-gcp-5.19.0.orig/block/blk-throttle.c +++ linux-gcp-5.19.0/block/blk-throttle.c @@ -806,12 +806,12 @@ u64 bps_limit, unsigned long *wait) { bool rw = bio_data_dir(bio); - u64 bytes_allowed, extra_bytes, tmp; + u64 bytes_allowed, extra_bytes; unsigned long jiffy_elapsed, jiffy_wait, jiffy_elapsed_rnd; unsigned int bio_size = throtl_bio_data_size(bio); /* no need to throttle if this bio's bytes have been accounted */ - if (bps_limit == U64_MAX || bio_flagged(bio, BIO_THROTTLED)) { + if (bps_limit == U64_MAX || bio_flagged(bio, BIO_BPS_THROTTLED)) { if (wait) *wait = 0; return true; @@ -824,10 +824,8 @@ jiffy_elapsed_rnd = tg->td->throtl_slice; jiffy_elapsed_rnd = roundup(jiffy_elapsed_rnd, tg->td->throtl_slice); - - tmp = bps_limit * jiffy_elapsed_rnd; - do_div(tmp, HZ); - bytes_allowed = tmp; + bytes_allowed = mul_u64_u64_div_u64(bps_limit, (u64)jiffy_elapsed_rnd, + (u64)HZ); if (tg->bytes_disp[rw] + bio_size <= bytes_allowed) { if (wait) @@ -921,22 +919,13 @@ unsigned int bio_size = throtl_bio_data_size(bio); /* Charge the bio to the group */ - if (!bio_flagged(bio, BIO_THROTTLED)) { + if (!bio_flagged(bio, BIO_BPS_THROTTLED)) { tg->bytes_disp[rw] += bio_size; tg->last_bytes_disp[rw] += bio_size; } tg->io_disp[rw]++; tg->last_io_disp[rw]++; - - /* - * BIO_THROTTLED is used to prevent the same bio to be throttled - * more than once as a throttled bio will go through blk-throtl the - * second time when it eventually gets issued. Set it when a bio - * is being charged to a tg. - */ - if (!bio_flagged(bio, BIO_THROTTLED)) - bio_set_flag(bio, BIO_THROTTLED); } /** @@ -1026,6 +1015,7 @@ sq->nr_queued[rw]--; throtl_charge_bio(tg, bio); + bio_set_flag(bio, BIO_BPS_THROTTLED); /* * If our parent is another tg, we just need to transfer @bio to @@ -2101,12 +2091,6 @@ rcu_read_lock(); - if (!cgroup_subsys_on_dfl(io_cgrp_subsys)) { - blkg_rwstat_add(&tg->stat_bytes, bio->bi_opf, - bio->bi_iter.bi_size); - blkg_rwstat_add(&tg->stat_ios, bio->bi_opf, 1); - } - spin_lock_irq(&q->queue_lock); throtl_update_latency_buckets(td); @@ -2159,8 +2143,10 @@ qn = &tg->qnode_on_parent[rw]; sq = sq->parent_sq; tg = sq_to_tg(sq); - if (!tg) + if (!tg) { + bio_set_flag(bio, BIO_BPS_THROTTLED); goto out_unlock; + } } /* out-of-limit, queue to @tg */ @@ -2189,8 +2175,6 @@ } out_unlock: - bio_set_flag(bio, BIO_THROTTLED); - #ifdef CONFIG_BLK_DEV_THROTTLING_LOW if (throttled || !td->track_bio_latency) bio->bi_issue.value |= BIO_ISSUE_THROTL_SKIP_LATENCY; --- linux-gcp-5.19.0.orig/block/blk-throttle.h +++ linux-gcp-5.19.0/block/blk-throttle.h @@ -174,8 +174,17 @@ { struct throtl_grp *tg = blkg_to_tg(bio->bi_blkg); + if (!cgroup_subsys_on_dfl(io_cgrp_subsys)) { + if (!bio_flagged(bio, BIO_CGROUP_ACCT)) { + bio_set_flag(bio, BIO_CGROUP_ACCT); + blkg_rwstat_add(&tg->stat_bytes, bio->bi_opf, + bio->bi_iter.bi_size); + } + blkg_rwstat_add(&tg->stat_ios, bio->bi_opf, 1); + } + /* no need to throttle bps any more if the bio has been throttled */ - if (bio_flagged(bio, BIO_THROTTLED) && + if (bio_flagged(bio, BIO_BPS_THROTTLED) && !(tg->flags & THROTL_TG_HAS_IOPS_LIMIT)) return false; --- linux-gcp-5.19.0.orig/block/blk-wbt.c +++ linux-gcp-5.19.0/block/blk-wbt.c @@ -820,6 +820,7 @@ { struct rq_wb *rwb; int i; + int ret; rwb = kzalloc(sizeof(*rwb), GFP_KERNEL); if (!rwb) @@ -840,19 +841,26 @@ rwb->last_comp = rwb->last_issue = jiffies; rwb->win_nsec = RWB_WINDOW_NSEC; rwb->enable_state = WBT_STATE_ON_DEFAULT; - rwb->wc = 1; + rwb->wc = test_bit(QUEUE_FLAG_WC, &q->queue_flags); rwb->rq_depth.default_depth = RWB_DEF_DEPTH; + rwb->min_lat_nsec = wbt_default_latency_nsec(q); + + wbt_queue_depth_changed(&rwb->rqos); /* * Assign rwb and add the stats callback. */ - rq_qos_add(q, &rwb->rqos); + ret = rq_qos_add(q, &rwb->rqos); + if (ret) + goto err_free; + blk_stat_add_callback(q, rwb->cb); - rwb->min_lat_nsec = wbt_default_latency_nsec(q); + return 0; - wbt_queue_depth_changed(&rwb->rqos); - wbt_set_write_cache(q, test_bit(QUEUE_FLAG_WC, &q->queue_flags)); +err_free: + blk_stat_free_callback(rwb->cb); + kfree(rwb); + return ret; - return 0; } --- linux-gcp-5.19.0.orig/block/blk.h +++ linux-gcp-5.19.0/block/blk.h @@ -260,8 +260,7 @@ void blk_insert_flush(struct request *rq); -int elevator_switch_mq(struct request_queue *q, - struct elevator_type *new_e); +int elevator_switch(struct request_queue *q, struct elevator_type *new_e); void elevator_exit(struct request_queue *q); int elv_register_queue(struct request_queue *q, bool uevent); void elv_unregister_queue(struct request_queue *q); @@ -314,6 +313,7 @@ bool blk_rq_merge_ok(struct request *rq, struct bio *bio); enum elv_merge blk_try_merge(struct request *rq, struct bio *bio); +void blk_set_default_limits(struct queue_limits *lim); int blk_dev_init(void); /* @@ -411,6 +411,9 @@ sector_t length); void blk_drop_partitions(struct gendisk *disk); +struct gendisk *__alloc_disk_node(struct request_queue *q, int node_id, + struct lock_class_key *lkclass); + int bio_add_hw_page(struct request_queue *q, struct bio *bio, struct page *page, unsigned int len, unsigned int offset, unsigned int max_sectors, bool *same_page); @@ -423,7 +426,7 @@ } struct request_queue *blk_alloc_queue(int node_id, bool alloc_srcu); -int disk_scan_partitions(struct gendisk *disk, fmode_t mode); +int disk_scan_partitions(struct gendisk *disk, fmode_t mode, void *owner); int disk_alloc_events(struct gendisk *disk); void disk_add_events(struct gendisk *disk); --- linux-gcp-5.19.0.orig/block/bsg-lib.c +++ linux-gcp-5.19.0/block/bsg-lib.c @@ -324,7 +324,7 @@ container_of(q->tag_set, struct bsg_set, tag_set); bsg_unregister_queue(bset->bd); - blk_cleanup_queue(q); + blk_mq_destroy_queue(q); blk_mq_free_tag_set(&bset->tag_set); kfree(bset); } @@ -399,7 +399,7 @@ return q; out_cleanup_queue: - blk_cleanup_queue(q); + blk_mq_destroy_queue(q); out_queue: blk_mq_free_tag_set(set); out_tag_set: --- linux-gcp-5.19.0.orig/block/elevator.c +++ linux-gcp-5.19.0/block/elevator.c @@ -588,7 +588,7 @@ } EXPORT_SYMBOL_GPL(elv_unregister); -int elevator_switch_mq(struct request_queue *q, +static int elevator_switch_mq(struct request_queue *q, struct elevator_type *new_e) { int ret; @@ -723,7 +723,7 @@ * need for the new one. this way we have a chance of going back to the old * one, if the new one fails init for some reason. */ -static int elevator_switch(struct request_queue *q, struct elevator_type *new_e) +int elevator_switch(struct request_queue *q, struct elevator_type *new_e) { int err; --- linux-gcp-5.19.0.orig/block/fops.c +++ linux-gcp-5.19.0/block/fops.c @@ -216,6 +216,24 @@ bio_endio(bio); break; } + if (iocb->ki_flags & IOCB_NOWAIT) { + /* + * This is nonblocking IO, and we need to allocate + * another bio if we have data left to map. As we + * cannot guarantee that one of the sub bios will not + * fail getting issued FOR NOWAIT and as error results + * are coalesced across all of them, be safe and ask for + * a retry of this from blocking context. + */ + if (unlikely(iov_iter_count(iter))) { + bio_release_pages(bio, false); + bio_clear_flag(bio, BIO_REFFED); + bio_put(bio); + blk_finish_plug(&plug); + return -EAGAIN; + } + bio->bi_opf |= REQ_NOWAIT; + } if (is_read) { if (dio->flags & DIO_SHOULD_DIRTY) @@ -223,9 +241,6 @@ } else { task_io_account_write(bio->bi_iter.bi_size); } - if (iocb->ki_flags & IOCB_NOWAIT) - bio->bi_opf |= REQ_NOWAIT; - dio->size += bio->bi_iter.bi_size; pos += bio->bi_iter.bi_size; --- linux-gcp-5.19.0.orig/block/genhd.c +++ linux-gcp-5.19.0/block/genhd.c @@ -379,7 +379,7 @@ } EXPORT_SYMBOL_GPL(disk_uevent); -int disk_scan_partitions(struct gendisk *disk, fmode_t mode) +int disk_scan_partitions(struct gendisk *disk, fmode_t mode, void *owner) { struct block_device *bdev; @@ -389,6 +389,9 @@ return -EINVAL; if (disk->open_partitions) return -EBUSY; + /* Someone else has bdev exclusively open? */ + if (disk->part0->bd_holder && disk->part0->bd_holder != owner) + return -EBUSY; set_bit(GD_NEED_PART_SCAN, &disk->state); bdev = blkdev_get_by_dev(disk_devt(disk), mode, NULL); @@ -522,7 +525,7 @@ bdev_add(disk->part0, ddev->devt); if (get_capacity(disk)) - disk_scan_partitions(disk, FMODE_READ); + disk_scan_partitions(disk, FMODE_READ, NULL); /* * Announce the disk and partitions after all partitions are @@ -542,8 +545,10 @@ bdi_unregister(disk->bdi); out_unregister_queue: blk_unregister_queue(disk); + rq_qos_exit(disk->queue); out_put_slave_dir: kobject_put(disk->slave_dir); + disk->slave_dir = NULL; out_put_holder_dir: kobject_put(disk->part0->bd_holder_dir); out_del_integrity: @@ -617,13 +622,14 @@ * Fail any new I/O. */ set_bit(GD_DEAD, &disk->state); + if (test_bit(GD_OWNS_QUEUE, &disk->state)) + blk_queue_flag_set(QUEUE_FLAG_DYING, q); set_capacity(disk, 0); /* * Prevent new I/O from crossing bio_queue_enter(). */ blk_queue_start_drain(q); - blk_mq_freeze_queue_wait(q); if (!(disk->flags & GENHD_FL_HIDDEN)) { sysfs_remove_link(&disk_to_dev(disk)->kobj, "bdi"); @@ -639,6 +645,7 @@ kobject_put(disk->part0->bd_holder_dir); kobject_put(disk->slave_dir); + disk->slave_dir = NULL; part_stat_set_all(disk->part0, 0); disk->part0->bd_stamp = 0; @@ -647,6 +654,8 @@ pm_runtime_set_memalloc_noio(disk_to_dev(disk), false); device_del(disk_to_dev(disk)); + blk_mq_freeze_queue_wait(q); + blk_throtl_cancel_bios(disk->queue); blk_sync_queue(q); @@ -663,11 +672,16 @@ blk_mq_unquiesce_queue(q); /* - * Allow using passthrough request again after the queue is torn down. + * If the disk does not own the queue, allow using passthrough requests + * again. Else leave the queue frozen to fail all I/O. */ - blk_queue_flag_clear(QUEUE_FLAG_INIT_DONE, q); - __blk_mq_unfreeze_queue(q, true); - + if (!test_bit(GD_OWNS_QUEUE, &disk->state)) { + blk_queue_flag_clear(QUEUE_FLAG_INIT_DONE, q); + __blk_mq_unfreeze_queue(q, true); + } else { + if (queue_is_mq(q)) + blk_mq_exit_queue(q); + } } EXPORT_SYMBOL(del_gendisk); @@ -1151,6 +1165,18 @@ might_sleep(); WARN_ON_ONCE(disk_live(disk)); + /* + * To undo the all initialization from blk_mq_init_allocated_queue in + * case of a probe failure where add_disk is never called we have to + * call blk_mq_exit_queue here. We can't do this for the more common + * teardown case (yet) as the tagset can be gone by the time the disk + * is released once it was added. + */ + if (queue_is_mq(disk->queue) && + test_bit(GD_OWNS_QUEUE, &disk->state) && + !test_bit(GD_ADDED, &disk->state)) + blk_mq_exit_queue(disk->queue); + blkcg_exit_queue(disk->queue); disk_release_events(disk); @@ -1338,12 +1364,9 @@ { struct gendisk *disk; - if (!blk_get_queue(q)) - return NULL; - disk = kzalloc_node(sizeof(struct gendisk), GFP_KERNEL, node_id); if (!disk) - goto out_put_queue; + return NULL; disk->bdi = bdi_alloc(node_id); if (!disk->bdi) @@ -1387,11 +1410,8 @@ bdi_put(disk->bdi); out_free_disk: kfree(disk); -out_put_queue: - blk_put_queue(q); return NULL; } -EXPORT_SYMBOL(__alloc_disk_node); struct gendisk *__blk_alloc_disk(int node, struct lock_class_key *lkclass) { @@ -1404,9 +1424,10 @@ disk = __alloc_disk_node(q, node, lkclass); if (!disk) { - blk_cleanup_queue(q); + blk_put_queue(q); return NULL; } + set_bit(GD_OWNS_QUEUE, &disk->state); return disk; } EXPORT_SYMBOL(__blk_alloc_disk); @@ -1418,6 +1439,9 @@ * This decrements the refcount for the struct gendisk. When this reaches 0 * we'll have disk_release() called. * + * Note: for blk-mq disk put_disk must be called before freeing the tag_set + * when handling probe errors (that is before add_disk() is called). + * * Context: Any context, but the last reference must not be dropped from * atomic context. */ @@ -1439,7 +1463,6 @@ */ void blk_cleanup_disk(struct gendisk *disk) { - blk_cleanup_queue(disk->queue); put_disk(disk); } EXPORT_SYMBOL(blk_cleanup_disk); --- linux-gcp-5.19.0.orig/block/ioctl.c +++ linux-gcp-5.19.0/block/ioctl.c @@ -467,9 +467,10 @@ * user space. Note the separate arg/argp parameters that are needed * to deal with the compat_ptr() conversion. */ -static int blkdev_common_ioctl(struct block_device *bdev, fmode_t mode, - unsigned cmd, unsigned long arg, void __user *argp) +static int blkdev_common_ioctl(struct file *file, fmode_t mode, unsigned cmd, + unsigned long arg, void __user *argp) { + struct block_device *bdev = I_BDEV(file->f_mapping->host); unsigned int max_sectors; switch (cmd) { @@ -527,7 +528,8 @@ return -EACCES; if (bdev_is_partition(bdev)) return -EINVAL; - return disk_scan_partitions(bdev->bd_disk, mode & ~FMODE_EXCL); + return disk_scan_partitions(bdev->bd_disk, mode & ~FMODE_EXCL, + file); case BLKTRACESTART: case BLKTRACESTOP: case BLKTRACETEARDOWN: @@ -605,7 +607,7 @@ break; } - ret = blkdev_common_ioctl(bdev, mode, cmd, arg, argp); + ret = blkdev_common_ioctl(file, mode, cmd, arg, argp); if (ret != -ENOIOCTLCMD) return ret; @@ -674,7 +676,7 @@ break; } - ret = blkdev_common_ioctl(bdev, mode, cmd, arg, argp); + ret = blkdev_common_ioctl(file, mode, cmd, arg, argp); if (ret == -ENOIOCTLCMD && disk->fops->compat_ioctl) ret = disk->fops->compat_ioctl(bdev, mode, cmd, arg); --- linux-gcp-5.19.0.orig/block/ioprio.c +++ linux-gcp-5.19.0/block/ioprio.c @@ -157,9 +157,9 @@ int ioprio_best(unsigned short aprio, unsigned short bprio) { if (!ioprio_valid(aprio)) - aprio = IOPRIO_DEFAULT; + aprio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_BE, IOPRIO_BE_NORM); if (!ioprio_valid(bprio)) - bprio = IOPRIO_DEFAULT; + bprio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_BE, IOPRIO_BE_NORM); return min(aprio, bprio); } --- linux-gcp-5.19.0.orig/block/mq-deadline.c +++ linux-gcp-5.19.0/block/mq-deadline.c @@ -131,6 +131,20 @@ } /* + * get the request before `rq' in sector-sorted order + */ +static inline struct request * +deadline_earlier_request(struct request *rq) +{ + struct rb_node *node = rb_prev(&rq->rb_node); + + if (node) + return rb_entry_rq(node); + + return NULL; +} + +/* * get the request after `rq' in sector-sorted order */ static inline struct request * @@ -278,6 +292,39 @@ } /* + * Check if rq has a sequential request preceding it. + */ +static bool deadline_is_seq_write(struct deadline_data *dd, struct request *rq) +{ + struct request *prev = deadline_earlier_request(rq); + + if (!prev) + return false; + + return blk_rq_pos(prev) + blk_rq_sectors(prev) == blk_rq_pos(rq); +} + +/* + * Skip all write requests that are sequential from @rq, even if we cross + * a zone boundary. + */ +static struct request *deadline_skip_seq_writes(struct deadline_data *dd, + struct request *rq) +{ + sector_t pos = blk_rq_pos(rq); + sector_t skipped_sectors = 0; + + while (rq) { + if (blk_rq_pos(rq) != pos + skipped_sectors) + break; + skipped_sectors += blk_rq_sectors(rq); + rq = deadline_latter_request(rq); + } + + return rq; +} + +/* * For the specified data direction, return the next request to * dispatch using arrival ordered lists. */ @@ -297,11 +344,16 @@ /* * Look for a write request that can be dispatched, that is one with - * an unlocked target zone. + * an unlocked target zone. For some HDDs, breaking a sequential + * write stream can lead to lower throughput, so make sure to preserve + * sequential write streams, even if that stream crosses into the next + * zones and these zones are unlocked. */ spin_lock_irqsave(&dd->zone_lock, flags); list_for_each_entry(rq, &per_prio->fifo_list[DD_WRITE], queuelist) { - if (blk_req_can_dispatch_to_zone(rq)) + if (blk_req_can_dispatch_to_zone(rq) && + (blk_queue_nonrot(rq->q) || + !deadline_is_seq_write(dd, rq))) goto out; } rq = NULL; @@ -331,13 +383,19 @@ /* * Look for a write request that can be dispatched, that is one with - * an unlocked target zone. + * an unlocked target zone. For some HDDs, breaking a sequential + * write stream can lead to lower throughput, so make sure to preserve + * sequential write streams, even if that stream crosses into the next + * zones and these zones are unlocked. */ spin_lock_irqsave(&dd->zone_lock, flags); while (rq) { if (blk_req_can_dispatch_to_zone(rq)) break; - rq = deadline_latter_request(rq); + if (blk_queue_nonrot(rq->q)) + rq = deadline_latter_request(rq); + else + rq = deadline_skip_seq_writes(dd, rq); } spin_unlock_irqrestore(&dd->zone_lock, flags); @@ -789,6 +847,18 @@ rq->elv.priv[0] = NULL; } +static bool dd_has_write_work(struct blk_mq_hw_ctx *hctx) +{ + struct deadline_data *dd = hctx->queue->elevator->elevator_data; + enum dd_prio p; + + for (p = 0; p <= DD_PRIO_MAX; p++) + if (!list_empty_careful(&dd->per_prio[p].fifo_list[DD_WRITE])) + return true; + + return false; +} + /* * Callback from inside blk_mq_free_request(). * @@ -828,9 +898,10 @@ spin_lock_irqsave(&dd->zone_lock, flags); blk_req_zone_write_unlock(rq); - if (!list_empty(&per_prio->fifo_list[DD_WRITE])) - blk_mq_sched_mark_restart_hctx(rq->mq_hctx); spin_unlock_irqrestore(&dd->zone_lock, flags); + + if (dd_has_write_work(rq->mq_hctx)) + blk_mq_sched_mark_restart_hctx(rq->mq_hctx); } } --- linux-gcp-5.19.0.orig/block/partitions/core.c +++ linux-gcp-5.19.0/block/partitions/core.c @@ -597,6 +597,9 @@ if (disk->flags & GENHD_FL_NO_PART) return 0; + if (test_bit(GD_SUPPRESS_PART_SCAN, &disk->state)) + return 0; + state = check_partition(disk); if (!state) return 0; --- linux-gcp-5.19.0.orig/block/sed-opal.c +++ linux-gcp-5.19.0/block/sed-opal.c @@ -88,8 +88,8 @@ u64 lowest_lba; size_t pos; - u8 cmd[IO_BUFFER_LENGTH]; - u8 resp[IO_BUFFER_LENGTH]; + u8 *cmd; + u8 *resp; struct parsed_resp parsed; size_t prev_d_len; @@ -2134,6 +2134,8 @@ return; clean_opal_dev(dev); + kfree(dev->resp); + kfree(dev->cmd); kfree(dev); } EXPORT_SYMBOL(free_opal_dev); @@ -2146,17 +2148,39 @@ if (!dev) return NULL; + /* + * Presumably DMA-able buffers must be cache-aligned. Kmalloc makes + * sure the allocated buffer is DMA-safe in that regard. + */ + dev->cmd = kmalloc(IO_BUFFER_LENGTH, GFP_KERNEL); + if (!dev->cmd) + goto err_free_dev; + + dev->resp = kmalloc(IO_BUFFER_LENGTH, GFP_KERNEL); + if (!dev->resp) + goto err_free_cmd; + INIT_LIST_HEAD(&dev->unlk_lst); mutex_init(&dev->dev_lock); dev->data = data; dev->send_recv = send_recv; if (check_opal_support(dev) != 0) { pr_debug("Opal is not supported on this device\n"); - kfree(dev); - return NULL; + goto err_free_resp; } return dev; + +err_free_resp: + kfree(dev->resp); + +err_free_cmd: + kfree(dev->cmd); + +err_free_dev: + kfree(dev); + + return NULL; } EXPORT_SYMBOL(init_opal_dev); --- linux-gcp-5.19.0.orig/certs/Kconfig +++ linux-gcp-5.19.0/certs/Kconfig @@ -43,7 +43,7 @@ bool "Provide system-wide ring of trusted keys" depends on KEYS depends on ASYMMETRIC_KEY_TYPE - depends on X509_CERTIFICATE_PARSER + depends on X509_CERTIFICATE_PARSER = y help Provide a system keyring to which trusted keys can be added. Keys in the keyring are considered to be trusted. Keys may be added at will --- linux-gcp-5.19.0.orig/certs/Makefile +++ linux-gcp-5.19.0/certs/Makefile @@ -25,8 +25,8 @@ targets += blacklist_hash_list quiet_cmd_extract_certs = CERT $@ - cmd_extract_certs = $(obj)/extract-cert $(extract-cert-in) $@ -extract-cert-in = $(or $(filter-out $(obj)/extract-cert, $(real-prereqs)),"") + cmd_extract_certs = $(obj)/extract-cert "$(extract-cert-in)" $@ +extract-cert-in = $(filter-out $(obj)/extract-cert, $(real-prereqs)) $(obj)/system_certificates.o: $(obj)/x509_certificate_list --- linux-gcp-5.19.0.orig/certs/blacklist.c +++ linux-gcp-5.19.0/certs/blacklist.c @@ -273,6 +273,9 @@ if (IS_ERR(key)) { pr_err("Problem with revocation key (%ld)\n", PTR_ERR(key)); return PTR_ERR(key); + } else { + pr_notice("Revoked X.509 cert '%s'\n", + key_ref_to_ptr(key)->description); } return 0; --- linux-gcp-5.19.0.orig/crypto/Kconfig +++ linux-gcp-5.19.0/crypto/Kconfig @@ -704,26 +704,8 @@ See https://blake2.net for further information. -config CRYPTO_BLAKE2S - tristate "BLAKE2s digest algorithm" - select CRYPTO_LIB_BLAKE2S_GENERIC - select CRYPTO_HASH - help - Implementation of cryptographic hash function BLAKE2s - optimized for 8-32bit platforms and can produce digests of any size - between 1 to 32. The keyed hash is also implemented. - - This module provides the following algorithms: - - - blake2s-128 - - blake2s-160 - - blake2s-224 - - blake2s-256 - - See https://blake2.net for further information. - config CRYPTO_BLAKE2S_X86 - tristate "BLAKE2s digest algorithm (x86 accelerated version)" + bool "BLAKE2s digest algorithm (x86 accelerated version)" depends on X86 && 64BIT select CRYPTO_LIB_BLAKE2S_GENERIC select CRYPTO_ARCH_HAVE_LIB_BLAKE2S --- linux-gcp-5.19.0.orig/crypto/Makefile +++ linux-gcp-5.19.0/crypto/Makefile @@ -84,7 +84,6 @@ obj-$(CONFIG_CRYPTO_WP512) += wp512.o CFLAGS_wp512.o := $(call cc-option,-fno-schedule-insns) # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79149 obj-$(CONFIG_CRYPTO_BLAKE2B) += blake2b_generic.o -obj-$(CONFIG_CRYPTO_BLAKE2S) += blake2s_generic.o obj-$(CONFIG_CRYPTO_GF128MUL) += gf128mul.o obj-$(CONFIG_CRYPTO_ECB) += ecb.o obj-$(CONFIG_CRYPTO_CBC) += cbc.o --- linux-gcp-5.19.0.orig/crypto/aegis128-neon-inner.c +++ linux-gcp-5.19.0/crypto/aegis128-neon-inner.c @@ -147,8 +147,8 @@ kiv, vld1q_u8(const1), vld1q_u8(const0), - k ^ vld1q_u8(const0), - k ^ vld1q_u8(const1), + (uint8x16_t) (k ^ vld1q_u8(const0)), + (uint8x16_t) (k ^ vld1q_u8(const1)), }}; int i; --- linux-gcp-5.19.0.orig/crypto/akcipher.c +++ linux-gcp-5.19.0/crypto/akcipher.c @@ -120,6 +120,12 @@ return -ENOSYS; } +static int akcipher_default_set_key(struct crypto_akcipher *tfm, + const void *key, unsigned int keylen) +{ + return -ENOSYS; +} + int crypto_register_akcipher(struct akcipher_alg *alg) { struct crypto_alg *base = &alg->base; @@ -132,6 +138,8 @@ alg->encrypt = akcipher_default_op; if (!alg->decrypt) alg->decrypt = akcipher_default_op; + if (!alg->set_priv_key) + alg->set_priv_key = akcipher_default_set_key; akcipher_prepare_alg(alg); return crypto_register_alg(base); --- linux-gcp-5.19.0.orig/crypto/asymmetric_keys/public_key.c +++ linux-gcp-5.19.0/crypto/asymmetric_keys/public_key.c @@ -186,8 +186,28 @@ len = crypto_akcipher_maxsize(tfm); info->key_size = len * 8; - info->max_data_size = len; - info->max_sig_size = len; + + if (strncmp(pkey->pkey_algo, "ecdsa", 5) == 0) { + /* + * ECDSA key sizes are much smaller than RSA, and thus could + * operate on (hashed) inputs that are larger than key size. + * For example SHA384-hashed input used with secp256r1 + * based keys. Set max_data_size to be at least as large as + * the largest supported hash size (SHA512) + */ + info->max_data_size = 64; + + /* + * Verify takes ECDSA-Sig (described in RFC 5480) as input, + * which is actually 2 'key_size'-bit integers encoded in + * ASN.1. Account for the ASN.1 encoding overhead here. + */ + info->max_sig_size = 2 * (len + 3) + 2; + } else { + info->max_data_size = len; + info->max_sig_size = len; + } + info->max_enc_size = len; info->max_dec_size = len; info->supported_ops = (KEYCTL_SUPPORTS_ENCRYPT | @@ -304,6 +324,10 @@ BUG_ON(!sig->data); + /* SM2 signatures always use the SM3 hash algorithm */ + if (!sig->hash_algo || strcmp(sig->hash_algo, "sm3") != 0) + return -EINVAL; + ret = sm2_compute_z_digest(tfm_pkey, SM2_DEFAULT_USERID, SM2_DEFAULT_USERID_LEN, dgst); if (ret) @@ -414,8 +438,7 @@ if (ret) goto error_free_key; - if (sig->pkey_algo && strcmp(sig->pkey_algo, "sm2") == 0 && - sig->data_size) { + if (strcmp(pkey->pkey_algo, "sm2") == 0 && sig->data_size) { ret = cert_sig_digest_update(sig, tfm); if (ret) goto error_free_key; --- linux-gcp-5.19.0.orig/crypto/asymmetric_keys/x509_loader.c +++ linux-gcp-5.19.0/crypto/asymmetric_keys/x509_loader.c @@ -41,6 +41,7 @@ if (IS_ERR(key)) { pr_err("Problem loading in-kernel X.509 certificate (%ld)\n", PTR_ERR(key)); + WARN_ON_ONCE(1); } else { pr_notice("Loaded X.509 cert '%s'\n", key_ref_to_ptr(key)->description); --- linux-gcp-5.19.0.orig/crypto/cryptd.c +++ linux-gcp-5.19.0/crypto/cryptd.c @@ -68,11 +68,12 @@ struct cryptd_skcipher_ctx { refcount_t refcnt; - struct crypto_sync_skcipher *child; + struct crypto_skcipher *child; }; struct cryptd_skcipher_request_ctx { crypto_completion_t complete; + struct skcipher_request req; }; struct cryptd_hash_ctx { @@ -227,13 +228,13 @@ const u8 *key, unsigned int keylen) { struct cryptd_skcipher_ctx *ctx = crypto_skcipher_ctx(parent); - struct crypto_sync_skcipher *child = ctx->child; + struct crypto_skcipher *child = ctx->child; - crypto_sync_skcipher_clear_flags(child, CRYPTO_TFM_REQ_MASK); - crypto_sync_skcipher_set_flags(child, - crypto_skcipher_get_flags(parent) & - CRYPTO_TFM_REQ_MASK); - return crypto_sync_skcipher_setkey(child, key, keylen); + crypto_skcipher_clear_flags(child, CRYPTO_TFM_REQ_MASK); + crypto_skcipher_set_flags(child, + crypto_skcipher_get_flags(parent) & + CRYPTO_TFM_REQ_MASK); + return crypto_skcipher_setkey(child, key, keylen); } static void cryptd_skcipher_complete(struct skcipher_request *req, int err) @@ -258,13 +259,13 @@ struct cryptd_skcipher_request_ctx *rctx = skcipher_request_ctx(req); struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); struct cryptd_skcipher_ctx *ctx = crypto_skcipher_ctx(tfm); - struct crypto_sync_skcipher *child = ctx->child; - SYNC_SKCIPHER_REQUEST_ON_STACK(subreq, child); + struct skcipher_request *subreq = &rctx->req; + struct crypto_skcipher *child = ctx->child; if (unlikely(err == -EINPROGRESS)) goto out; - skcipher_request_set_sync_tfm(subreq, child); + skcipher_request_set_tfm(subreq, child); skcipher_request_set_callback(subreq, CRYPTO_TFM_REQ_MAY_SLEEP, NULL, NULL); skcipher_request_set_crypt(subreq, req->src, req->dst, req->cryptlen, @@ -286,13 +287,13 @@ struct cryptd_skcipher_request_ctx *rctx = skcipher_request_ctx(req); struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); struct cryptd_skcipher_ctx *ctx = crypto_skcipher_ctx(tfm); - struct crypto_sync_skcipher *child = ctx->child; - SYNC_SKCIPHER_REQUEST_ON_STACK(subreq, child); + struct skcipher_request *subreq = &rctx->req; + struct crypto_skcipher *child = ctx->child; if (unlikely(err == -EINPROGRESS)) goto out; - skcipher_request_set_sync_tfm(subreq, child); + skcipher_request_set_tfm(subreq, child); skcipher_request_set_callback(subreq, CRYPTO_TFM_REQ_MAY_SLEEP, NULL, NULL); skcipher_request_set_crypt(subreq, req->src, req->dst, req->cryptlen, @@ -343,9 +344,10 @@ if (IS_ERR(cipher)) return PTR_ERR(cipher); - ctx->child = (struct crypto_sync_skcipher *)cipher; + ctx->child = cipher; crypto_skcipher_set_reqsize( - tfm, sizeof(struct cryptd_skcipher_request_ctx)); + tfm, sizeof(struct cryptd_skcipher_request_ctx) + + crypto_skcipher_reqsize(cipher)); return 0; } @@ -353,7 +355,7 @@ { struct cryptd_skcipher_ctx *ctx = crypto_skcipher_ctx(tfm); - crypto_free_sync_skcipher(ctx->child); + crypto_free_skcipher(ctx->child); } static void cryptd_skcipher_free(struct skcipher_instance *inst) @@ -931,7 +933,7 @@ { struct cryptd_skcipher_ctx *ctx = crypto_skcipher_ctx(&tfm->base); - return &ctx->child->base; + return ctx->child; } EXPORT_SYMBOL_GPL(cryptd_skcipher_child); --- linux-gcp-5.19.0.orig/crypto/essiv.c +++ linux-gcp-5.19.0/crypto/essiv.c @@ -171,7 +171,12 @@ struct aead_request *req = areq->data; struct essiv_aead_request_ctx *rctx = aead_request_ctx(req); + if (err == -EINPROGRESS) + goto out; + kfree(rctx->assoc); + +out: aead_request_complete(req, err); } @@ -247,7 +252,7 @@ err = enc ? crypto_aead_encrypt(subreq) : crypto_aead_decrypt(subreq); - if (rctx->assoc && err != -EINPROGRESS) + if (rctx->assoc && err != -EINPROGRESS && err != -EBUSY) kfree(rctx->assoc); return err; } --- linux-gcp-5.19.0.orig/crypto/rsa-pkcs1pad.c +++ linux-gcp-5.19.0/crypto/rsa-pkcs1pad.c @@ -214,16 +214,14 @@ struct crypto_async_request *child_async_req, int err) { struct akcipher_request *req = child_async_req->data; - struct crypto_async_request async_req; if (err == -EINPROGRESS) - return; + goto out; - async_req.data = req->base.data; - async_req.tfm = crypto_akcipher_tfm(crypto_akcipher_reqtfm(req)); - async_req.flags = child_async_req->flags; - req->base.complete(&async_req, - pkcs1pad_encrypt_sign_complete(req, err)); + err = pkcs1pad_encrypt_sign_complete(req, err); + +out: + akcipher_request_complete(req, err); } static int pkcs1pad_encrypt(struct akcipher_request *req) @@ -332,15 +330,14 @@ struct crypto_async_request *child_async_req, int err) { struct akcipher_request *req = child_async_req->data; - struct crypto_async_request async_req; if (err == -EINPROGRESS) - return; + goto out; + + err = pkcs1pad_decrypt_complete(req, err); - async_req.data = req->base.data; - async_req.tfm = crypto_akcipher_tfm(crypto_akcipher_reqtfm(req)); - async_req.flags = child_async_req->flags; - req->base.complete(&async_req, pkcs1pad_decrypt_complete(req, err)); +out: + akcipher_request_complete(req, err); } static int pkcs1pad_decrypt(struct akcipher_request *req) @@ -513,15 +510,14 @@ struct crypto_async_request *child_async_req, int err) { struct akcipher_request *req = child_async_req->data; - struct crypto_async_request async_req; if (err == -EINPROGRESS) - return; + goto out; + + err = pkcs1pad_verify_complete(req, err); - async_req.data = req->base.data; - async_req.tfm = crypto_akcipher_tfm(crypto_akcipher_reqtfm(req)); - async_req.flags = child_async_req->flags; - req->base.complete(&async_req, pkcs1pad_verify_complete(req, err)); +out: + akcipher_request_complete(req, err); } /* --- linux-gcp-5.19.0.orig/crypto/seqiv.c +++ linux-gcp-5.19.0/crypto/seqiv.c @@ -23,7 +23,7 @@ struct aead_request *subreq = aead_request_ctx(req); struct crypto_aead *geniv; - if (err == -EINPROGRESS) + if (err == -EINPROGRESS || err == -EBUSY) return; if (err) --- linux-gcp-5.19.0.orig/crypto/tcrypt.c +++ linux-gcp-5.19.0/crypto/tcrypt.c @@ -1101,15 +1101,6 @@ goto out_free_tfm; } - - for (i = 0; i < num_mb; ++i) - if (testmgr_alloc_buf(data[i].xbuf)) { - while (i--) - testmgr_free_buf(data[i].xbuf); - goto out_free_tfm; - } - - for (i = 0; i < num_mb; ++i) { data[i].req = skcipher_request_alloc(tfm, GFP_KERNEL); if (!data[i].req) { @@ -1669,10 +1660,6 @@ ret += tcrypt_test("rmd160"); break; - case 41: - ret += tcrypt_test("blake2s-256"); - break; - case 42: ret += tcrypt_test("blake2b-512"); break; @@ -2240,10 +2227,6 @@ test_hash_speed("rmd160", sec, generic_hash_speed_template); if (mode > 300 && mode < 400) break; fallthrough; - case 316: - test_hash_speed("blake2s-256", sec, generic_hash_speed_template); - if (mode > 300 && mode < 400) break; - fallthrough; case 317: test_hash_speed("blake2b-512", sec, generic_hash_speed_template); if (mode > 300 && mode < 400) break; @@ -2352,10 +2335,6 @@ test_ahash_speed("rmd160", sec, generic_hash_speed_template); if (mode > 400 && mode < 500) break; fallthrough; - case 416: - test_ahash_speed("blake2s-256", sec, generic_hash_speed_template); - if (mode > 400 && mode < 500) break; - fallthrough; case 417: test_ahash_speed("blake2b-512", sec, generic_hash_speed_template); if (mode > 400 && mode < 500) break; --- linux-gcp-5.19.0.orig/crypto/testmgr.c +++ linux-gcp-5.19.0/crypto/testmgr.c @@ -4376,30 +4376,6 @@ .hash = __VECS(blake2b_512_tv_template) } }, { - .alg = "blake2s-128", - .test = alg_test_hash, - .suite = { - .hash = __VECS(blakes2s_128_tv_template) - } - }, { - .alg = "blake2s-160", - .test = alg_test_hash, - .suite = { - .hash = __VECS(blakes2s_160_tv_template) - } - }, { - .alg = "blake2s-224", - .test = alg_test_hash, - .suite = { - .hash = __VECS(blakes2s_224_tv_template) - } - }, { - .alg = "blake2s-256", - .test = alg_test_hash, - .suite = { - .hash = __VECS(blakes2s_256_tv_template) - } - }, { .alg = "cbc(aes)", .test = alg_test_skcipher, .fips_allowed = 1, --- linux-gcp-5.19.0.orig/crypto/testmgr.h +++ linux-gcp-5.19.0/crypto/testmgr.h @@ -34034,221 +34034,4 @@ 0xae, 0x15, 0x81, 0x15, 0xd0, 0x88, 0xa0, 0x3c, }, }}; -static const struct hash_testvec blakes2s_128_tv_template[] = {{ - .digest = (u8[]){ 0x64, 0x55, 0x0d, 0x6f, 0xfe, 0x2c, 0x0a, 0x01, - 0xa1, 0x4a, 0xba, 0x1e, 0xad, 0xe0, 0x20, 0x0c, }, -}, { - .plaintext = blake2_ordered_sequence, - .psize = 64, - .digest = (u8[]){ 0xdc, 0x66, 0xca, 0x8f, 0x03, 0x86, 0x58, 0x01, - 0xb0, 0xff, 0xe0, 0x6e, 0xd8, 0xa1, 0xa9, 0x0e, }, -}, { - .ksize = 16, - .key = blake2_ordered_sequence, - .plaintext = blake2_ordered_sequence, - .psize = 1, - .digest = (u8[]){ 0x88, 0x1e, 0x42, 0xe7, 0xbb, 0x35, 0x80, 0x82, - 0x63, 0x7c, 0x0a, 0x0f, 0xd7, 0xec, 0x6c, 0x2f, }, -}, { - .ksize = 32, - .key = blake2_ordered_sequence, - .plaintext = blake2_ordered_sequence, - .psize = 7, - .digest = (u8[]){ 0xcf, 0x9e, 0x07, 0x2a, 0xd5, 0x22, 0xf2, 0xcd, - 0xa2, 0xd8, 0x25, 0x21, 0x80, 0x86, 0x73, 0x1c, }, -}, { - .ksize = 1, - .key = "B", - .plaintext = blake2_ordered_sequence, - .psize = 15, - .digest = (u8[]){ 0xf6, 0x33, 0x5a, 0x2c, 0x22, 0xa0, 0x64, 0xb2, - 0xb6, 0x3f, 0xeb, 0xbc, 0xd1, 0xc3, 0xe5, 0xb2, }, -}, { - .ksize = 16, - .key = blake2_ordered_sequence, - .plaintext = blake2_ordered_sequence, - .psize = 247, - .digest = (u8[]){ 0x72, 0x66, 0x49, 0x60, 0xf9, 0x4a, 0xea, 0xbe, - 0x1f, 0xf4, 0x60, 0xce, 0xb7, 0x81, 0xcb, 0x09, }, -}, { - .ksize = 32, - .key = blake2_ordered_sequence, - .plaintext = blake2_ordered_sequence, - .psize = 256, - .digest = (u8[]){ 0xd5, 0xa4, 0x0e, 0xc3, 0x16, 0xc7, 0x51, 0xa6, - 0x3c, 0xd0, 0xd9, 0x11, 0x57, 0xfa, 0x1e, 0xbb, }, -}}; - -static const struct hash_testvec blakes2s_160_tv_template[] = {{ - .plaintext = blake2_ordered_sequence, - .psize = 7, - .digest = (u8[]){ 0xb4, 0xf2, 0x03, 0x49, 0x37, 0xed, 0xb1, 0x3e, - 0x5b, 0x2a, 0xca, 0x64, 0x82, 0x74, 0xf6, 0x62, - 0xe3, 0xf2, 0x84, 0xff, }, -}, { - .plaintext = blake2_ordered_sequence, - .psize = 256, - .digest = (u8[]){ 0xaa, 0x56, 0x9b, 0xdc, 0x98, 0x17, 0x75, 0xf2, - 0xb3, 0x68, 0x83, 0xb7, 0x9b, 0x8d, 0x48, 0xb1, - 0x9b, 0x2d, 0x35, 0x05, }, -}, { - .ksize = 1, - .key = "B", - .digest = (u8[]){ 0x50, 0x16, 0xe7, 0x0c, 0x01, 0xd0, 0xd3, 0xc3, - 0xf4, 0x3e, 0xb1, 0x6e, 0x97, 0xa9, 0x4e, 0xd1, - 0x79, 0x65, 0x32, 0x93, }, -}, { - .ksize = 32, - .key = blake2_ordered_sequence, - .plaintext = blake2_ordered_sequence, - .psize = 1, - .digest = (u8[]){ 0x1c, 0x2b, 0xcd, 0x9a, 0x68, 0xca, 0x8c, 0x71, - 0x90, 0x29, 0x6c, 0x54, 0xfa, 0x56, 0x4a, 0xef, - 0xa2, 0x3a, 0x56, 0x9c, }, -}, { - .ksize = 16, - .key = blake2_ordered_sequence, - .plaintext = blake2_ordered_sequence, - .psize = 15, - .digest = (u8[]){ 0x36, 0xc3, 0x5f, 0x9a, 0xdc, 0x7e, 0xbf, 0x19, - 0x68, 0xaa, 0xca, 0xd8, 0x81, 0xbf, 0x09, 0x34, - 0x83, 0x39, 0x0f, 0x30, }, -}, { - .ksize = 1, - .key = "B", - .plaintext = blake2_ordered_sequence, - .psize = 64, - .digest = (u8[]){ 0x86, 0x80, 0x78, 0xa4, 0x14, 0xec, 0x03, 0xe5, - 0xb6, 0x9a, 0x52, 0x0e, 0x42, 0xee, 0x39, 0x9d, - 0xac, 0xa6, 0x81, 0x63, }, -}, { - .ksize = 32, - .key = blake2_ordered_sequence, - .plaintext = blake2_ordered_sequence, - .psize = 247, - .digest = (u8[]){ 0x2d, 0xd8, 0xd2, 0x53, 0x66, 0xfa, 0xa9, 0x01, - 0x1c, 0x9c, 0xaf, 0xa3, 0xe2, 0x9d, 0x9b, 0x10, - 0x0a, 0xf6, 0x73, 0xe8, }, -}}; - -static const struct hash_testvec blakes2s_224_tv_template[] = {{ - .plaintext = blake2_ordered_sequence, - .psize = 1, - .digest = (u8[]){ 0x61, 0xb9, 0x4e, 0xc9, 0x46, 0x22, 0xa3, 0x91, - 0xd2, 0xae, 0x42, 0xe6, 0x45, 0x6c, 0x90, 0x12, - 0xd5, 0x80, 0x07, 0x97, 0xb8, 0x86, 0x5a, 0xfc, - 0x48, 0x21, 0x97, 0xbb, }, -}, { - .plaintext = blake2_ordered_sequence, - .psize = 247, - .digest = (u8[]){ 0x9e, 0xda, 0xc7, 0x20, 0x2c, 0xd8, 0x48, 0x2e, - 0x31, 0x94, 0xab, 0x46, 0x6d, 0x94, 0xd8, 0xb4, - 0x69, 0xcd, 0xae, 0x19, 0x6d, 0x9e, 0x41, 0xcc, - 0x2b, 0xa4, 0xd5, 0xf6, }, -}, { - .ksize = 16, - .key = blake2_ordered_sequence, - .digest = (u8[]){ 0x32, 0xc0, 0xac, 0xf4, 0x3b, 0xd3, 0x07, 0x9f, - 0xbe, 0xfb, 0xfa, 0x4d, 0x6b, 0x4e, 0x56, 0xb3, - 0xaa, 0xd3, 0x27, 0xf6, 0x14, 0xbf, 0xb9, 0x32, - 0xa7, 0x19, 0xfc, 0xb8, }, -}, { - .ksize = 1, - .key = "B", - .plaintext = blake2_ordered_sequence, - .psize = 7, - .digest = (u8[]){ 0x73, 0xad, 0x5e, 0x6d, 0xb9, 0x02, 0x8e, 0x76, - 0xf2, 0x66, 0x42, 0x4b, 0x4c, 0xfa, 0x1f, 0xe6, - 0x2e, 0x56, 0x40, 0xe5, 0xa2, 0xb0, 0x3c, 0xe8, - 0x7b, 0x45, 0xfe, 0x05, }, -}, { - .ksize = 32, - .key = blake2_ordered_sequence, - .plaintext = blake2_ordered_sequence, - .psize = 15, - .digest = (u8[]){ 0x16, 0x60, 0xfb, 0x92, 0x54, 0xb3, 0x6e, 0x36, - 0x81, 0xf4, 0x16, 0x41, 0xc3, 0x3d, 0xd3, 0x43, - 0x84, 0xed, 0x10, 0x6f, 0x65, 0x80, 0x7a, 0x3e, - 0x25, 0xab, 0xc5, 0x02, }, -}, { - .ksize = 16, - .key = blake2_ordered_sequence, - .plaintext = blake2_ordered_sequence, - .psize = 64, - .digest = (u8[]){ 0xca, 0xaa, 0x39, 0x67, 0x9c, 0xf7, 0x6b, 0xc7, - 0xb6, 0x82, 0xca, 0x0e, 0x65, 0x36, 0x5b, 0x7c, - 0x24, 0x00, 0xfa, 0x5f, 0xda, 0x06, 0x91, 0x93, - 0x6a, 0x31, 0x83, 0xb5, }, -}, { - .ksize = 1, - .key = "B", - .plaintext = blake2_ordered_sequence, - .psize = 256, - .digest = (u8[]){ 0x90, 0x02, 0x26, 0xb5, 0x06, 0x9c, 0x36, 0x86, - 0x94, 0x91, 0x90, 0x1e, 0x7d, 0x2a, 0x71, 0xb2, - 0x48, 0xb5, 0xe8, 0x16, 0xfd, 0x64, 0x33, 0x45, - 0xb3, 0xd7, 0xec, 0xcc, }, -}}; - -static const struct hash_testvec blakes2s_256_tv_template[] = {{ - .plaintext = blake2_ordered_sequence, - .psize = 15, - .digest = (u8[]){ 0xd9, 0x7c, 0x82, 0x8d, 0x81, 0x82, 0xa7, 0x21, - 0x80, 0xa0, 0x6a, 0x78, 0x26, 0x83, 0x30, 0x67, - 0x3f, 0x7c, 0x4e, 0x06, 0x35, 0x94, 0x7c, 0x04, - 0xc0, 0x23, 0x23, 0xfd, 0x45, 0xc0, 0xa5, 0x2d, }, -}, { - .ksize = 32, - .key = blake2_ordered_sequence, - .digest = (u8[]){ 0x48, 0xa8, 0x99, 0x7d, 0xa4, 0x07, 0x87, 0x6b, - 0x3d, 0x79, 0xc0, 0xd9, 0x23, 0x25, 0xad, 0x3b, - 0x89, 0xcb, 0xb7, 0x54, 0xd8, 0x6a, 0xb7, 0x1a, - 0xee, 0x04, 0x7a, 0xd3, 0x45, 0xfd, 0x2c, 0x49, }, -}, { - .ksize = 1, - .key = "B", - .plaintext = blake2_ordered_sequence, - .psize = 1, - .digest = (u8[]){ 0x22, 0x27, 0xae, 0xaa, 0x6e, 0x81, 0x56, 0x03, - 0xa7, 0xe3, 0xa1, 0x18, 0xa5, 0x9a, 0x2c, 0x18, - 0xf4, 0x63, 0xbc, 0x16, 0x70, 0xf1, 0xe7, 0x4b, - 0x00, 0x6d, 0x66, 0x16, 0xae, 0x9e, 0x74, 0x4e, }, -}, { - .ksize = 16, - .key = blake2_ordered_sequence, - .plaintext = blake2_ordered_sequence, - .psize = 7, - .digest = (u8[]){ 0x58, 0x5d, 0xa8, 0x60, 0x1c, 0xa4, 0xd8, 0x03, - 0x86, 0x86, 0x84, 0x64, 0xd7, 0xa0, 0x8e, 0x15, - 0x2f, 0x05, 0xa2, 0x1b, 0xbc, 0xef, 0x7a, 0x34, - 0xb3, 0xc5, 0xbc, 0x4b, 0xf0, 0x32, 0xeb, 0x12, }, -}, { - .ksize = 32, - .key = blake2_ordered_sequence, - .plaintext = blake2_ordered_sequence, - .psize = 64, - .digest = (u8[]){ 0x89, 0x75, 0xb0, 0x57, 0x7f, 0xd3, 0x55, 0x66, - 0xd7, 0x50, 0xb3, 0x62, 0xb0, 0x89, 0x7a, 0x26, - 0xc3, 0x99, 0x13, 0x6d, 0xf0, 0x7b, 0xab, 0xab, - 0xbd, 0xe6, 0x20, 0x3f, 0xf2, 0x95, 0x4e, 0xd4, }, -}, { - .ksize = 1, - .key = "B", - .plaintext = blake2_ordered_sequence, - .psize = 247, - .digest = (u8[]){ 0x2e, 0x74, 0x1c, 0x1d, 0x03, 0xf4, 0x9d, 0x84, - 0x6f, 0xfc, 0x86, 0x32, 0x92, 0x49, 0x7e, 0x66, - 0xd7, 0xc3, 0x10, 0x88, 0xfe, 0x28, 0xb3, 0xe0, - 0xbf, 0x50, 0x75, 0xad, 0x8e, 0xa4, 0xe6, 0xb2, }, -}, { - .ksize = 16, - .key = blake2_ordered_sequence, - .plaintext = blake2_ordered_sequence, - .psize = 256, - .digest = (u8[]){ 0xb9, 0xd2, 0x81, 0x0e, 0x3a, 0xb1, 0x62, 0x9b, - 0xad, 0x44, 0x05, 0xf4, 0x92, 0x2e, 0x99, 0xc1, - 0x4a, 0x47, 0xbb, 0x5b, 0x6f, 0xb2, 0x96, 0xed, - 0xd5, 0x06, 0xb5, 0x3a, 0x7c, 0x7a, 0x65, 0x1d, }, -}}; - #endif /* _CRYPTO_TESTMGR_H */ --- linux-gcp-5.19.0.orig/crypto/xts.c +++ linux-gcp-5.19.0/crypto/xts.c @@ -203,12 +203,12 @@ if (!err) { struct xts_request_ctx *rctx = skcipher_request_ctx(req); - rctx->subreq.base.flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP; + rctx->subreq.base.flags &= CRYPTO_TFM_REQ_MAY_BACKLOG; err = xts_xor_tweak_post(req, true); if (!err && unlikely(req->cryptlen % XTS_BLOCK_SIZE)) { err = xts_cts_final(req, crypto_skcipher_encrypt); - if (err == -EINPROGRESS) + if (err == -EINPROGRESS || err == -EBUSY) return; } } @@ -223,12 +223,12 @@ if (!err) { struct xts_request_ctx *rctx = skcipher_request_ctx(req); - rctx->subreq.base.flags &= ~CRYPTO_TFM_REQ_MAY_SLEEP; + rctx->subreq.base.flags &= CRYPTO_TFM_REQ_MAY_BACKLOG; err = xts_xor_tweak_post(req, false); if (!err && unlikely(req->cryptlen % XTS_BLOCK_SIZE)) { err = xts_cts_final(req, crypto_skcipher_decrypt); - if (err == -EINPROGRESS) + if (err == -EINPROGRESS || err == -EBUSY) return; } } --- linux-gcp-5.19.0.orig/debian.gcp/abi/abiname +++ linux-gcp-5.19.0/debian.gcp/abi/abiname @@ -0,0 +1 @@ +1026 --- linux-gcp-5.19.0.orig/debian.gcp/abi/amd64/gcp +++ linux-gcp-5.19.0/debian.gcp/abi/amd64/gcp @@ -0,0 +1,27038 @@ +ACPI EXPORT_SYMBOL_GPL 0xc331c3c7 acpi_table_parse_cedt vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0x554367e5 crypto_cipher_encrypt_one vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0x92732188 crypto_cipher_setkey vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0xeddaf155 crypto_cipher_decrypt_one vmlinux +CXL EXPORT_SYMBOL_GPL 0x00288792 devm_cxl_register_pci_bus drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x02de3f1f devm_cxl_add_passthrough_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x03247186 cxl_decoder_add_locked drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x055c6ee3 cxl_mem_active_inc vmlinux +CXL EXPORT_SYMBOL_GPL 0x0aa555e6 cxl_port_to_pci_bus drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x2b935b34 cxl_mbox_send_cmd drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x2bff9a5a cxl_dev_state_create drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x2e065085 is_cxl_memdev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x30966c99 schedule_cxl_memdev_detach drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x31fc64d2 cxl_bus_rescan drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x33e2aa93 cxl_mem_active_dec vmlinux +CXL EXPORT_SYMBOL_GPL 0x3453c914 is_cxl_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x38d27273 devm_cxl_add_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x3e8d009e find_cxl_root drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x49664361 devm_cxl_add_dport drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x4b919789 to_cxl_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x4d28134b is_root_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x51fadb6e to_cxl_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x55ceecf5 cxl_decoder_autoremove drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x56a47669 devm_cxl_add_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x6a34e468 cxl_probe_device_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x6a8fd8c3 __cxl_driver_register drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x6b7109d2 cxl_switch_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x6df6ad63 cxl_driver_unregister drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7bb2194c cxl_hdm_decode_init drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7d9e2264 cxl_await_media_ready drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x8312885b to_cxl_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x87307163 devm_cxl_enumerate_ports drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x89b995af cxl_map_device_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x97c0f899 cxl_find_dport_by_dev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x98f34bb5 cxl_enumerate_cmds drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x9d1ce967 clear_exclusive_cxl_commands drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xa4a6b23b cxl_decoder_add drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xa7fca957 to_cxl_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xacecaca8 is_cxl_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xae55f610 cxl_mem_find_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xb529f3be is_cxl_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xb52a9392 devm_cxl_enumerate_decoders drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xb9f09d49 is_cxl_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xbe592234 cxl_endpoint_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xc457fe23 cxl_find_regblock drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xc5b5e85b cxl_root_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xc6cebffd devm_cxl_port_enumerate_dports drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xc9f65f81 cxl_probe_component_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xcc4388a1 devm_cxl_setup_hdm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xcca69f52 cxl_bus_type drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xd584feb7 devm_cxl_add_memdev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xdbba4a27 cxl_mem_create_range_info drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xecc0c7b1 devm_cxl_add_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xefa1d084 cxl_endpoint_autoremove drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xf4bdcba1 cxl_map_component_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xf5dfaaee cxl_find_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xf7ae9efc cxl_dev_state_identify drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xfea86a09 set_exclusive_cxl_commands drivers/cxl/core/cxl_core +DMA_BUF EXPORT_SYMBOL_GPL 0x098f5e9e dma_buf_unmap_attachment vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x10c572af dma_buf_vmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x1259def6 dma_buf_pin vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x2002baa8 dma_buf_detach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x2fcaaadc dma_buf_move_notify vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x38575a3a dma_buf_end_cpu_access vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x4443cf49 dma_buf_unpin vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x5186c7d0 dma_buf_begin_cpu_access vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x726300eb dma_buf_fd vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x97eeaffe dma_buf_vunmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xbb3ebf61 dma_buf_map_attachment vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xc18016b5 dma_buf_put vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xc3a2b860 dma_buf_get vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xd1b879d0 dma_buf_mmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xd7e67fa8 dma_buf_attach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xe6c62080 dma_buf_export vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xea76d30c dma_buf_dynamic_attach vmlinux +DRM_SSD130X EXPORT_SYMBOL_GPL 0x33cf1f58 ssd130x_variants drivers/gpu/drm/solomon/ssd130x +EXPORT_SYMBOL arch/x86/crypto/chacha-x86_64 0x220b49ab chacha_crypt_arch +EXPORT_SYMBOL arch/x86/crypto/chacha-x86_64 0xdc94f829 chacha_init_arch +EXPORT_SYMBOL arch/x86/crypto/chacha-x86_64 0xdd8ec6bd hchacha_block_arch +EXPORT_SYMBOL arch/x86/crypto/curve25519-x86_64 0x3c74a43e curve25519_base_arch +EXPORT_SYMBOL arch/x86/crypto/curve25519-x86_64 0xc832c670 curve25519_arch +EXPORT_SYMBOL arch/x86/crypto/poly1305-x86_64 0xd9ec23eb poly1305_update_arch +EXPORT_SYMBOL arch/x86/crypto/poly1305-x86_64 0xe1df0e1b poly1305_init_arch +EXPORT_SYMBOL arch/x86/crypto/poly1305-x86_64 0xfaeb41b2 poly1305_final_arch +EXPORT_SYMBOL arch/x86/kvm/kvm 0x5740bb96 kvm_cpu_has_pending_timer +EXPORT_SYMBOL crypto/blake2b_generic 0x32e24c8a blake2b_compress_generic +EXPORT_SYMBOL crypto/ecc 0x16e410ff vli_from_be64 +EXPORT_SYMBOL crypto/ecc 0x188a1647 ecc_is_pubkey_valid_full +EXPORT_SYMBOL crypto/ecc 0x1a5faa3a vli_mod_inv +EXPORT_SYMBOL crypto/ecc 0x4c281912 vli_is_zero +EXPORT_SYMBOL crypto/ecc 0x671f7aa5 ecc_is_key_valid +EXPORT_SYMBOL crypto/ecc 0x7c0fbb00 vli_mod_mult_slow +EXPORT_SYMBOL crypto/ecc 0x8261eccb ecc_get_curve25519 +EXPORT_SYMBOL crypto/ecc 0x8e688192 ecc_alloc_point +EXPORT_SYMBOL crypto/ecc 0x90cdc197 ecc_free_point +EXPORT_SYMBOL crypto/ecc 0x9263b417 ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x92668805 vli_cmp +EXPORT_SYMBOL crypto/ecc 0x932b6ff7 vli_num_bits +EXPORT_SYMBOL crypto/ecc 0x9f6efabd vli_sub +EXPORT_SYMBOL crypto/ecc 0xa76b31a2 crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0xb10fc19e ecc_get_curve +EXPORT_SYMBOL crypto/ecc 0xd6315f31 ecc_gen_privkey +EXPORT_SYMBOL crypto/ecc 0xd94c8eb5 ecc_point_is_zero +EXPORT_SYMBOL crypto/ecc 0xde867c29 ecc_is_pubkey_valid_partial +EXPORT_SYMBOL crypto/ecc 0xeac9b99a vli_from_le64 +EXPORT_SYMBOL crypto/ecc 0xed4ae15e ecc_make_pub_key +EXPORT_SYMBOL crypto/nhpoly1305 0x4605cf12 crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/nhpoly1305 0x5005a47b crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/nhpoly1305 0xcea59375 crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/nhpoly1305 0xd8ca70b8 crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0xe5df5ad7 crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/nhpoly1305 0xf6a3e957 crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/sha3_generic 0x0a473f08 crypto_sha3_init +EXPORT_SYMBOL crypto/sha3_generic 0x27e9b800 crypto_sha3_final +EXPORT_SYMBOL crypto/sha3_generic 0xd6d07d57 crypto_sha3_update +EXPORT_SYMBOL crypto/sm2_generic 0xee0833cf sm2_compute_z_digest +EXPORT_SYMBOL crypto/sm4 0x2b098da5 crypto_sm4_ck +EXPORT_SYMBOL crypto/sm4 0x7931a202 crypto_sm4_fk +EXPORT_SYMBOL crypto/sm4 0xf4fd3bd2 crypto_sm4_sbox +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/acpi/nfit/nfit 0x06848c60 to_nfit_uuid +EXPORT_SYMBOL drivers/acpi/video 0x6de7f7ff acpi_video_get_backlight_type +EXPORT_SYMBOL drivers/acpi/video 0x7a45377b acpi_video_unregister +EXPORT_SYMBOL drivers/acpi/video 0x7cc484a5 acpi_video_handles_brightness_key_presses +EXPORT_SYMBOL drivers/acpi/video 0x8826c13b acpi_video_register +EXPORT_SYMBOL drivers/acpi/video 0xb27ee231 acpi_video_get_edid +EXPORT_SYMBOL drivers/acpi/video 0xc0dff466 acpi_video_get_levels +EXPORT_SYMBOL drivers/acpi/video 0xe92ca535 acpi_video_set_dmi_backlight_type +EXPORT_SYMBOL drivers/atm/suni 0xa834036e suni_init +EXPORT_SYMBOL drivers/bcma/bcma 0x8676b759 bcma_core_dma_translation +EXPORT_SYMBOL drivers/bcma/bcma 0x8d64ef29 bcma_core_irq +EXPORT_SYMBOL drivers/block/drbd/drbd 0x127a5901 drbd_set_st_err_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x35131b36 drbd_role_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x7730f22d drbd_conn_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0xaf27bebf drbd_disk_str +EXPORT_SYMBOL drivers/block/paride/paride 0x15749e3b pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0x4267110a pi_register_driver +EXPORT_SYMBOL drivers/block/paride/paride 0x59f1232b pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x5a5ab895 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x776c65ce pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x7a1f18b7 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x8a5ea859 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0xa2832b81 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0xa85bf00c pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0xa85fc694 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xb21ba07d pi_unregister_driver +EXPORT_SYMBOL drivers/block/paride/paride 0xb8276c3a pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0xc196833e pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xe2f12f12 paride_unregister +EXPORT_SYMBOL drivers/bluetooth/btbcm 0x9ab84f0b btbcm_patchram +EXPORT_SYMBOL drivers/bluetooth/btrsi 0x75b57cd5 rsi_bt_ops +EXPORT_SYMBOL drivers/bus/mhi/host/mhi 0x425abe56 mhi_sync_power_up +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x03bc993e ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0705dd14 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x12dd1e77 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x19bb216c ipmi_add_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1f65170f ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x230094ac ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4c2054d7 ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x50f65edf ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x67369b42 ipmi_addr_src_to_str +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x74778a80 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x80aa4656 ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x86eb69b3 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x89a5279a ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x96a6e5e8 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xaca90ebd ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xae71627d ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xb883435f ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd54a5050 ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4330a39 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe98c507d ipmb_checksum +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xec1c2a90 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf388b18b ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf5531bea ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfaaa4831 ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfe0f2369 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xffd01603 ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/nvram 0x3ef38dc9 arch_nvram_ops +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x6aed5105 st33zp24_probe +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x6d280db9 st33zp24_pm_resume +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xc0bf322b st33zp24_remove +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xf31086c5 st33zp24_pm_suspend +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0x5c84ef17 xillybus_init_chrdev +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0xc22938fc xillybus_cleanup_chrdev +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0xc6a8af3e xillybus_find_inode +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x0c3e5494 xillybus_endpoint_discovery +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x25978d50 xillybus_isr +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x5e709a4b xillybus_init_endpoint +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0xde77c6f1 xillybus_endpoint_remove +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x3035b069 atmel_i2c_probe +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x80a11b1d atmel_i2c_init_read_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x813fa25e atmel_i2c_send_receive +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xbe99eb91 atmel_i2c_enqueue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc71ed50c atmel_i2c_init_genkey_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc80f14e8 atmel_i2c_flush_queue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xf283e995 atmel_i2c_init_random_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xfaab573f atmel_i2c_init_ecdh_cmd +EXPORT_SYMBOL drivers/crypto/ccp/ccp 0x47d3c97f psp_check_tee_status +EXPORT_SYMBOL drivers/crypto/ccp/ccp 0xaa04056c psp_tee_process_cmd +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0957d3b1 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0bc6094c fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1b68aaf5 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1fe07647 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x20ff3b1f fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3a771e39 fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4366ce48 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x44e53e4a fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5817f605 fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6a584d2a fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6dc50487 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6e11ba0e fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7c20f240 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8ebfa5c9 fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9037a5d0 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x909cd714 fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x99cf9067 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaedf84ce fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0xbab0526a fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc276529e fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc7ad230a fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc7c2e681 fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0xca06e215 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd9aff394 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xdb4c35fa fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xdc43dca8 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe3fde125 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe70dad59 fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe7af7813 fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe80e5087 fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe862c2f7 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf76cc0ed fw_cancel_transaction +EXPORT_SYMBOL drivers/fpga/dfl 0x69513f65 dfl_driver_unregister +EXPORT_SYMBOL drivers/fpga/dfl 0xbe55e23b __dfl_driver_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x01c4bba9 drm_dp_lttpr_max_link_rate +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0226de58 drm_dp_read_sink_count_cap +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x06c49551 drm_dp_dsc_sink_line_buf_depth +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x088aac3b drm_hdmi_avi_infoframe_bars +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0ca34517 drm_dp_mst_dsc_aux_for_port +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0cd23ba5 drm_hdmi_avi_infoframe_colorimetry +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0d1e4a07 drm_hdmi_infoframe_set_hdr_metadata +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0ec1ba10 drm_dp_pcon_frl_configure_2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0f428637 drm_dp_dpcd_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0f4b0136 drm_dp_send_real_edid_checksum +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0f5e2e01 drm_dp_dpcd_probe +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x138b9b3f drm_dp_read_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x15f7873e drm_dp_pcon_frl_enable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1605d0ed drm_dp_lttpr_max_lane_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1709ddcf drm_dp_lttpr_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1a5bf3ca drm_dsc_dp_rc_buffer_size +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1b0a1fdc drm_dp_lttpr_voltage_swing_level_3_supported +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1c0400a1 drm_panel_dp_aux_backlight +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2037cd19 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x215f7911 drm_dp_mst_get_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x21e7cbdb drm_dp_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x223b5a10 drm_dp_read_lttpr_common_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x23961837 drm_dp_downstream_max_bpc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2444ada7 drm_dp_send_power_updown_phy +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x26815dbc drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x279c314e drm_dp_vsc_sdp_log +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x283d4eda drm_dp_stop_crc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2fa94ef2 drm_dp_downstream_444_to_420_conversion +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x35c56539 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x37d68dc3 drm_dp_pcon_frl_configure_1 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x38bf3f87 drm_dp_mst_deallocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x392a838b drm_dp_downstream_max_dotclock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x39edbd8a drm_dp_mst_get_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3a8063f3 drm_dp_dsc_sink_supported_input_bpcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3e92d6dc drm_dp_read_mst_cap +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x42368072 drm_dp_remote_aux_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x42a44218 drm_dp_pcon_hdmi_frl_link_error_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x42f8b79f drm_dp_mst_topology_state_funcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4602650c drm_dp_pcon_pps_override_param +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4603c416 drm_dp_pcon_dsc_bpp_incr +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x462e74ff drm_dp_mst_connector_early_unregister +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x464fd48a drm_scdc_get_scrambling_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x47838bad drm_dp_pcon_convert_rgb_to_ycbcr +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5407ae9e drm_dp_get_dual_mode_type_name +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x582f248e drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5860800b drm_dp_set_subconnector_property +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5899557a drm_dp_send_query_stream_enc_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x58d8fcaa drm_dsc_pps_payload_pack +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x58e8348a drm_dp_read_dpcd_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x59ba756d drm_dp_mst_allocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x59f27ed7 drm_dp_pcon_enc_is_dsc_1_2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5c45909f drm_dp_check_act_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5eed61ec drm_dp_get_vc_payload_bw +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5f1d3624 drm_dp_get_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x60d437d5 drm_dp_read_sink_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x63a477fb drm_dp_downstream_min_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x648d953b drm_dsc_dp_pps_header_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x65e773fb drm_dp_mst_put_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6615069e drm_dp_dsc_sink_max_slice_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x663f4c2e drm_dp_cec_unregister_connector +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x66eaa2f3 drm_dp_mst_reset_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x68d8dce7 drm_dp_downstream_is_tmds +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6a4df8c5 drm_dp_128b132b_eq_interlane_align_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6aacee47 drm_dp_128b132b_link_training_failed +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6b53e216 drm_dp_downstream_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7053fa72 drm_dp_get_pcon_max_frl_bw +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7077f0bb drm_dp_mst_dump_topology +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x73011db0 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7387f8fe drm_dp_update_payload_part2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7400486f drm_dp_downstream_id +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x76ff6644 drm_dp_lttpr_pre_emphasis_level_3_supported +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7745af08 drm_dp_read_lttpr_phy_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7898d96c drm_dp_set_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7a02c685 drm_dp_cec_register_connector +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7bd514ea drm_dp_read_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7c3f2430 drm_dp_downstream_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7d2a67a9 drm_dp_aux_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7dfea8c7 drm_dp_mst_topology_mgr_resume +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7f169cb6 drm_dp_mst_atomic_enable_dsc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x82988bcf drm_dp_pcon_is_frl_ready +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x85008cc6 drm_dp_dual_mode_set_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x884bbe45 drm_dp_mst_update_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x89aa1023 drm_dp_mst_topology_mgr_suspend +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8a1e3bdb drm_dp_pcon_pps_default +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8c1cc947 drm_dp_mst_add_affected_dsc_crtcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8ca2d9e4 drm_dp_calc_pbn_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8d701329 drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8e1a4689 drm_edp_backlight_set_level +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8e7cfb2e drm_dp_dual_mode_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x92b9835e drm_dp_128b132b_cds_interlane_align_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x936b0ed9 drm_dp_128b132b_read_aux_rd_interval +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x93f4fb53 drm_atomic_get_mst_topology_state +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x973142b2 drm_dp_mst_detect_port +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9852c49b drm_dp_cec_set_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x98561689 drm_dp_dual_mode_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9bce7fc0 drm_dp_atomic_release_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9ce878bc drm_dp_dual_mode_detect +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9d653258 drm_dp_cec_unset_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9dfb8db4 drm_dp_lttpr_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa130cc19 drm_dp_mst_connector_late_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa16f2553 drm_dp_mst_topology_mgr_destroy +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa1fefe6a drm_dp_psr_setup_time +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa598a25d drm_scdc_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa8175277 drm_dp_update_payload_part1 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xacb49679 drm_dp_atomic_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xad940232 drm_lspcon_get_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xaf267620 drm_dp_lttpr_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb041a6ac drm_dp_pcon_hdmi_link_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb3926663 drm_dp_downstream_debug +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb9447fae drm_edp_backlight_enable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xbaaf33c4 drm_dp_aux_unregister +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xbb6bb34a drm_dp_dpcd_read_phy_link_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xbd5ba1e6 drm_dp_mst_topology_mgr_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xbe5a045d drm_dp_mst_get_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc020c0c1 drm_dp_pcon_dsc_max_slice_width +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc3bf0c3b drm_dp_mst_hpd_irq +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc5c99a79 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc79ecffb drm_dp_downstream_is_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc8b6a8ae drm_dp_128b132b_lane_channel_eq_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc9513c6a drm_scdc_set_high_tmds_clock_ratio +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xcaa2ff0c drm_dp_pcon_reset_frl_config +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xcc1516a9 drm_lspcon_set_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xccf54d5e drm_dp_get_adjust_tx_ffe_preset +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xcd0e5baf drm_scdc_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xcd2ef08f drm_dp_dual_mode_get_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd068a834 drm_dp_pcon_hdmi_link_active +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd1c05188 drm_dp_mst_atomic_check +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd3d4a8f2 drm_dp_read_downstream_info +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd585c899 drm_dp_cec_irq +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd5a95eae drm_dp_128b132b_lane_symbol_locked +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd70b6746 drm_dp_mst_topology_mgr_set_mst +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd9733b50 drm_dp_dpcd_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xdc05b4e5 drm_dp_dual_mode_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xdc12d72f drm_dp_dpcd_read_link_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe2815182 drm_edp_backlight_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe5360b84 drm_dp_pcon_dsc_max_slices +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xeab6c36a drm_hdmi_avi_infoframe_content_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xedcf81ce drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xee31798b drm_dp_read_desc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf02e93a6 drm_scdc_set_scrambling +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf1514713 drm_connector_attach_content_protection_property +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf2445357 drm_edp_backlight_disable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf6412a5b drm_dp_start_crc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf68741fb drm_dp_subconnector_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf689ad25 drm_dp_downstream_420_passthrough +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf93add98 drm_dp_pcon_pps_override_buf +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfb1a7a5a drm_dp_downstream_rgb_to_ycbcr_conversion +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfb2cd6b4 drm_dp_pcon_frl_prepare +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfb47c6e5 drm_hdcp_update_content_protection +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfe12bcb9 drm_dsc_compute_rc_parameters +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfe571272 drm_dp_aux_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0006ec2d drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00cb2539 drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00eea3c3 drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01a0babd drm_edid_get_panel_id +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01a8e8c8 __drmm_encoder_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x027bc55d drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x028a98d0 drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x028aa2a2 drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03c63897 __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x06a578af drm_connector_attach_hdr_output_metadata_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07fb449a drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x090acc65 drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09b5790b drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0bb83f68 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d9b4753 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e805f47 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0eb7f5eb drm_privacy_screen_lookup_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ed65a30 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f7acb66 drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fb0311c drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fd60df2 drm_get_connector_status_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10126282 drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x103753ec drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x107742a9 drm_get_subpixel_order_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10e39e57 drm_release_noglobal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1100be7d drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11b5c38e drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14afd8fe drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14ddce13 drm_connector_attach_privacy_screen_provider +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15085b38 drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16232a88 drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x162df9c5 drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x163b71ca drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x169e0085 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x17133541 drm_vblank_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1880163d drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x18ee20b3 drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a28f7c9 drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ae620ae drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1aed1bc8 drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1aee5b48 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1af6b45f drm_privacy_screen_call_notifier_chain +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1b61dfe7 drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1be499fb drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1bf9b426 drm_privacy_screen_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1cef6480 drm_property_replace_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d30bea3 drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d3c7d8d drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d8e411c drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f706e19 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2041cb30 drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2053df75 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20decd3f drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x220a983d drm_privacy_screen_set_sw_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2290e6c6 drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x22dcb9ac drm_file_get_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23aa43c5 drm_framebuffer_unregister_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23b1b213 drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23ce79c4 drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24993e50 drm_edid_are_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24cf437a drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24d124ac drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x250c65a0 drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2553aaa3 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x256017f8 drm_client_framebuffer_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2563fa44 drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2573465d drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25cddde1 drm_mode_plane_set_obj_prop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x265ec9cc drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26bd4f45 drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x27e88911 drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2833ee92 drm_connector_attach_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x286492df drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28779e52 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28838880 drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x297277e6 drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29f078d1 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a6cf13f drm_connector_set_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a962499 drm_mm_scan_init_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ab7ce5b drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2acd3894 drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c4cbacd drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c52dfe7 drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2cf60f6b drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ed3c600 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f476172 drm_privacy_screen_lookup_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2fd80204 drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2fde91c0 drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3031d4b5 drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30517192 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3210cfb3 drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32339b02 drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3276f23c drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32a0cc37 drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32c583e0 drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3389bcbd drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3515c78b drm_plane_create_scaling_filter_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35986d98 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35b0bcf2 drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36ac0e85 drm_gem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x370ea9bd drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38690d99 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38ccc516 drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38fa687e drm_atomic_print_new_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a4a8672 drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ab87110 drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b0e5e9c __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b91ae36 drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b9c40aa drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c22a4d8 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c634f56 __drmm_universal_plane_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cdc37e9 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ddd42dc drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3dfeb0c2 drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e32a855 drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f405489 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40cfc772 drm_privacy_screen_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x42bdb40a drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0x42cdc563 drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x42de0530 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4403a9c3 drm_mode_get_hv_timing +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4468eb6d drm_object_property_get_default_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44a2cadb drm_prime_sg_to_dma_addr_array +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4575a0ca drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x45fb4003 drm_vblank_work_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47127d1c drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47210998 drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4831da6e drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a35d30d drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b0f2b44 drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4bcf1719 drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c9618e0 drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4de07edb drm_vblank_work_schedule +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f2f1c5e drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f9b43bf drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5080b787 drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50eb46d2 drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51151fee drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x513072fe __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x521ad6d0 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5237f145 drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x529a2718 __drmm_crtc_alloc_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x52aa78c0 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x52c13aad drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x52d099b2 drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x52e2d05d drm_privacy_screen_unregister_notifier +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53c371bb drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0x554afa69 drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55bde59d drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55e42338 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x572e892f drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57698a50 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57b6efe3 drm_ioctl_flags +EXPORT_SYMBOL drivers/gpu/drm/drm 0x58324b32 drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x58359d36 drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5869cf15 drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x58a3a7ce drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5979a803 drm_send_event_timestamp_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59e4b657 drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a21d629 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b62a72c drmm_mutex_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5bc8d1e2 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d0352d7 drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e2fd822 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ec87712 drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6194e73b drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6232ec0a drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6340a874 drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x637127c5 drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63ad83c6 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63bab9f0 drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x648b5ec4 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64ac1d79 drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64cb15ab drm_modeset_acquire_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65702bd6 drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65c05a80 drm_aperture_remove_conflicting_framebuffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69d9a926 drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a740ffe drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ac01ea8 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c940c46 drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d0404a4 drm_privacy_screen_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d04b575 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e32a509 drm_privacy_screen_register_notifier +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ea2e97e drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ef2f78e drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fc123f2 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ff1744c drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70d5411c drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7118c9a7 drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7198a65f drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71a23d32 drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71e1b047 drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72452ab8 __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72994311 __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72a256c6 drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73c57683 drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7448662b drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x755ade4d drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x75bb758c drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77ab8087 drm_aperture_remove_conflicting_pci_framebuffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77ae0d92 drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x795cc51e drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79c21027 drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a4429c1 drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a8a3986 drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a943938 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ad5f9a5 drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b2e2166 drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b394d8f drm_connector_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7bfcf4e4 drm_crtc_commit_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c46e2b8 drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c545285 drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7cb0a231 drm_writeback_connector_init_with_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d15e927 drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d548e31 drm_client_modeset_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e65b3f2 drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edf470b drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82554db7 drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x830d0759 drm_panel_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x839cef32 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83ae72f6 drm_display_mode_from_cea_vic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83d865c1 drm_bridge_chain_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x846af12b drm_plane_get_damage_clips_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x850cc513 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x857daaeb drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87ad31bf drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8893dace drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d56a946 drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d72789e drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d9a0f12 drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8dc5af34 drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8fbbb3dc drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8fc69bd6 drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8fd78834 drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9019369e drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91d3341e drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x92140731 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9315afee drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x942993ce drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94d7e0e9 drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94e0b5f1 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96103767 drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x971c8e64 drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9781f7de drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm 0x979d85fe drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9801c717 drm_connector_attach_privacy_screen_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99cebb27 drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99f87caf drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b285573 drm_match_cea_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b95c885 drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b9de1c1 drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ce050be drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d45839b drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d839e55 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d864724 drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e008081 drm_plane_create_alpha_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f2d48ea drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f9d5579 drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa092401c drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0d67e97 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa248afde drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa30ecdb3 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa38c4c94 drm_memcpy_from_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5536880 drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5888010 drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5ea6162 drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6035c1c drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa671af68 drm_color_lut_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7100db8 drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7401032 drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa776f0bf drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7a42c06 drm_connector_update_privacy_screen +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8223277 drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8b25592 drm_connector_attach_dp_subconnector_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8b9d516 drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8d98d20 drm_sysfs_connector_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaab1a122 drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab93bd6f drm_privacy_screen_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xabbea20f drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac823b90 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaca54c37 drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad4e902b drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0xadf8c4c9 drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae277372 __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaec58ae2 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0b05ff5 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0c43016 drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0c8c344 drm_privacy_screen_get_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb11ac7a7 __drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb18d6f8b drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb19ab3fd drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb22dfd68 drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb37a4687 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4032484 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb45b06cd drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb51bd072 drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5461e05 drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5811aaa drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6127243 drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb648475f drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6cbdcf3 drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7136b76 drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb80ca274 drm_connector_atomic_hdr_metadata_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8ab77d4 drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9cad492 __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9e66780 drm_connector_create_privacy_screen_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba4103ef drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba6a1798 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbbd812ad drm_gem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd06c712 drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd14a34e drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd221b0f drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe7dd48c drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbeca5a41 __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0868cc5 drm_crtc_create_scaling_filter_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc08a43f8 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc09eb015 drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0a1ed24 drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0a550fa drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1553fc3 drm_panel_of_backlight +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc17da177 drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc22bf4aa drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc24fad31 drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2c7e386 drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc37317a8 drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc48c2404 drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4b4b332 drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc534fe42 drm_mode_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc568d5aa drm_atomic_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6a104c4 drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7910e38 drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7a5d337 drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7ae6887 drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7bb3c5a drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7d04fc5 drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc82982eb drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc838fd9d drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc97b5c5a drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc98e1624 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc9d15396 drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca190085 drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcac2685d drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb2d2628 drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb8085dd drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc1bdbd8 drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xccc59759 drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd72a109 drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdb99cc9 drm_mode_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xce558eb6 drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcfee0f3f drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd05fda43 drm_prime_get_contiguous_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1250132 drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13f9985 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd28030e3 drm_connector_oob_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2cb4709 drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2dcb4a9 drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd48adb19 drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4ceaa31 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd500f54c drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd59c0d82 drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5e16583 drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5e80616 drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd680a377 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd74f90a3 drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd786a9f1 drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7a9cf42 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7d0eab7 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd82f829e drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd866c41e drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd984bcc4 drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda4019be drm_prime_sg_to_page_array +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda45efca drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb812c36 __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc3971c4 drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc7dd0c8 devm_aperture_acquire_from_firmware +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd8c0b9a drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde0981f5 drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf3f760d drm_mm_scan_color_evict +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf666902 drm_rotation_simplify +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdfbef193 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe00d2d25 drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0d0161f drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1736b19 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1871049 drm_connector_attach_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1f289ba __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe2182cd4 drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe220c694 drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe317082a __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe4337165 drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe523b97c drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe59bf786 drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6039222 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe63a254d drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe725f9a8 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe83bd845 drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe87cfebc drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a034df drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a0e334 drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8e032eb drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea00fe81 __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea82de98 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb3ddd51 drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb67e696 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xebc8c8dc drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec12af74 __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec153e20 drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed18ecda drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed293d39 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0517d7a drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0f53b46 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf127f148 drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1362b7d drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1b5340a drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1ccc03b drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1f5d6ef drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1fd1a64 drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2f65da5 drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3156fc0 drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf406e46a drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5b436a3 drm_vblank_work_cancel_sync +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5debaf9 drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5e18065 drm_plane_get_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6ca43dc drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf757bd2d drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8207cca drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf824c7db __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9e4bd7b drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfab2ed93 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfba68ce5 drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc06f939 drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc29dc73 drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdda2a55 drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe95f81c drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe983402 drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfeb953b1 __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff54cfb5 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_buddy 0x22d53779 drm_buddy_free_list +EXPORT_SYMBOL drivers/gpu/drm/drm_buddy 0x2d9e9583 drm_buddy_print +EXPORT_SYMBOL drivers/gpu/drm/drm_buddy 0x40d76a49 drm_get_buddy +EXPORT_SYMBOL drivers/gpu/drm/drm_buddy 0x9f44c898 drm_buddy_init +EXPORT_SYMBOL drivers/gpu/drm/drm_buddy 0xabb5a026 drm_buddy_block_trim +EXPORT_SYMBOL drivers/gpu/drm/drm_buddy 0xbd5b3bcc drm_buddy_free_block +EXPORT_SYMBOL drivers/gpu/drm/drm_buddy 0xc30d71cc drm_buddy_block_print +EXPORT_SYMBOL drivers/gpu/drm/drm_buddy 0xfa150882 drm_buddy_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_buddy 0xff748b76 drm_buddy_alloc_blocks +EXPORT_SYMBOL drivers/gpu/drm/drm_cma_helper 0x49f9db86 drm_gem_cma_prime_import_sg_table_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_cma_helper 0xdb1aae0f drm_gem_cma_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x001119b6 drm_gem_simple_kms_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x02ed0c9c drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0658ac54 drm_fb_swab +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x07f4792c drm_gem_fb_end_cpu_access +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x085512fb drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x086cfaaa drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x08be24b0 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x08d4e478 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0b175968 drm_gem_simple_kms_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0e896ba6 drm_atomic_helper_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1135f915 drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1241bcda drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x127a8c6b drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x13a434bb drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x14215d00 drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1515575e drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x191ebc5b drm_gem_cleanup_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1a856ef2 drm_connector_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1afe5e9d drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1be0f055 drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1c1dfac2 drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x201bb0fa drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x20efcbf7 drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x21d541eb drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x22add062 drm_gem_prepare_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x23940b1b drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x24824d6c __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x254a5295 drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x266f713c drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x26ce12d2 __drm_gem_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x29b380e0 drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2abcf3d7 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2bd8992f drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c5e5ccd drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c7459cf drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d02eaae drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2dd66fce drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2fb707d3 drm_fb_xrgb8888_to_rgb888_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x31ebe0fa drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x31ff1e07 drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3311f24f drm_fb_xrgb8888_to_xrgb2101010_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x356f71cc drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x39df20d5 drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3b046a70 drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3e3c169a drm_gem_simple_kms_cleanup_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x437ee69f drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4579b45a drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x45b5a903 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x47534d83 drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4ac059bd drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4ae15b59 drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4af1d9b5 drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4b073ea3 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4ba90e3c drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4c5a8db1 drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4cbd6c2e drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4cfa875e drm_gem_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4ea58a12 drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5134c53d drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5542443b drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x56f783d8 drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58b0c5d3 drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59c1b5ab drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59e0d758 __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5d0d65fe drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5d1652d3 drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5f462ec8 drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5f8b1db4 __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5ffa7a30 drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6216c036 drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6217f8c3 drm_gem_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x65ed4d96 __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x670fe399 drm_gem_simple_kms_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x673ebc15 drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x673f1a6b __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x675c20f8 drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x67747791 drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x68077663 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x683f532b drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x691b6112 drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6996df0d drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b2d1d75 drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6becd5bb drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6c0cf728 drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6d685fe0 drm_gem_fb_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e0da1bc drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6f82880b drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6fa8592d drm_fb_xrgb8888_to_mono +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x712170a2 drm_fb_xrgb8888_to_rgb332 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x713ab363 drm_gem_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x74309829 drm_gem_fb_begin_cpu_access +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x74689d5f drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x74becb62 drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x75f69e07 drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x78cc2324 drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7904b028 drm_fb_memcpy_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x79f298e5 drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7ac89f68 drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7b664232 drm_fb_xrgb8888_to_rgb888 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7c5e077d drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7d2c6e8e drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fa921b9 drm_gem_fb_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fc48b36 drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x821930c0 drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x827d6f00 __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x842dd90c drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x85c1fd66 drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x86c4890f drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x86c8daf1 __drm_gem_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x871ab41a drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x89966b18 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ba3a124 __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8cb4f654 drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ee29883 __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x91fec1cc drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x924597ad __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92504020 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x927aa407 drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9282807d __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x931c0856 drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9812fa1d drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9989fb32 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x99fd20aa drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9c6d51ba drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9c73d5da drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9eabc921 devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9f48f14c drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa01aefc8 __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa01b0f7c drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa3328337 __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa386b512 drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa52060de drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa5b05144 drm_gem_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6a45fba drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa7d0fef2 drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa893ecfd __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8ab3d95 drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa9852ffa drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xab3dc72a drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb053adda drm_rect_rotate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb1e6a740 drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb25a763e drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb4b11d9e devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb8e5f3f0 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb8ef2ee1 drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbadc1f7a drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbba29bbe drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbc5aadef drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbc5afa3d drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbd77c563 drm_kms_helper_connector_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbe9feb99 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc1ee57f5 drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc36f2fa1 drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc3a5bec4 drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc41f051f drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc587a428 drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc6323239 drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc6e63557 drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcb2340b8 drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xce107809 drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcf11a549 drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd4743ae3 drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5133236 drm_fb_xrgb8888_to_rgb565_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd637d663 __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd77b3db0 drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd7f3166c drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd848da81 drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd91b017c drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd953e2b2 __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd9c95210 drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdb1a9aac drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdfbedab3 drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe1101d84 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe1ab8553 drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe26b7029 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe2e8988c drm_gem_simple_kms_prepare_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe3158c10 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe472eaa0 drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe619c185 drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe8f5feb0 drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeb4fbef2 drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xec8213d3 drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xed6698bb drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeec3fcdb drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xef09fdbd drm_fb_blit_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf30db916 drm_fb_clip_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf325385e __drmm_simple_encoder_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf46d177e drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf52d6fbf drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf5bb9f6d drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf67696a0 drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf77a50c8 __drm_gem_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf88b3f6b drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfbe5be55 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe935322 drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x320bb8e4 mipi_dbi_enable_flush +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x3c96b69c mipi_dbi_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x4f69fecb mipi_dbi_poweron_conditional_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x517bac9c mipi_dbi_hw_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x692a44cd mipi_dbi_dev_init_with_formats +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7ae713c6 mipi_dbi_pipe_update +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x830d6666 mipi_dbi_spi_cmd_max_speed +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x96efda17 mipi_dbi_spi_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x9b38389c mipi_dbi_command_read +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xa5db3436 mipi_dbi_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xb8b990d6 mipi_dbi_pipe_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xbb167613 mipi_dbi_command_stackbuf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xbcbfa167 mipi_dbi_command_buf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xe291277d mipi_dbi_poweron_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xee123b55 mipi_dbi_buf_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xf7a772ca mipi_dbi_display_is_on +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xfa2ab860 mipi_dbi_spi_transfer +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x0367860d drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x0d337cff drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x2cce44c2 drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x46e9f920 drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x80edd124 drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x9260b4d8 drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xc997eacc drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xd8dd2fae drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xe8338a02 drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xfc638af2 drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x145479e2 drm_gem_ttm_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x5376e7c6 drm_gem_ttm_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x87fbb465 drm_gem_ttm_dumb_map_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xdd07018f drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xf3882fe6 drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x00fdbe14 drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x267a35d3 drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x2ba17ed9 drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x3e2f6be8 drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x4302f888 drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x4aea45a6 drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x69933809 drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x86e9936d drmm_vram_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x8a09c7ac drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xa704a013 drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xba7833f7 drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xbcb7626a drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xbd64803d drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xc671121a drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xe2965751 drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xed93d60d drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x036dd602 drm_sched_pick_best +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x074ce2da drm_sched_entity_set_priority +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x0e4f5d11 drm_sched_job_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x281be8fc drm_sched_entity_destroy +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x2da436e1 to_drm_sched_fence +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x300d534b drm_sched_job_add_dependency +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x33d494a6 drm_sched_increase_karma_ext +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x4188d875 drm_sched_reset_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x649eedcf drm_sched_entity_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x70344d67 drm_sched_entity_flush +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x721aee33 drm_sched_job_arm +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x74d4c5b8 drm_sched_stop +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7506d86b drm_sched_fault +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x76c85eac drm_sched_entity_push_job +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x861e5971 drm_sched_job_cleanup +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xb25174d6 drm_sched_entity_modify_sched +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xbbe314c1 drm_sched_suspend_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xc174dc4f drm_sched_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xc83529ec drm_sched_dependency_optimized +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xcc1fdb66 drm_sched_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd55d349a drm_sched_entity_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd5f5e189 drm_sched_resubmit_jobs_ext +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xf28dc004 drm_sched_increase_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xf4fbad8f drm_sched_resume_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xfa979e13 drm_sched_start +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xfc9646bb drm_sched_job_add_implicit_dependencies +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xfdac9ce4 drm_sched_resubmit_jobs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0249bfbd ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0902e740 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0d606b36 ttm_pool_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0f504416 ttm_resource_manager_usage +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1479eb96 ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x19143f06 ttm_bo_set_bulk_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1a71d30c ttm_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1c86b834 ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1da3cd52 ttm_resource_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1ec9cf53 ttm_resource_manager_evict_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1f953232 ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x24d54f80 ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x25c16bcb ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2876059e ttm_agp_destroy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3bdd5311 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3c630fc3 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4d98b9c2 ttm_bo_vm_dummy_page +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5306906b ttm_bo_unpin +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x57d92e4c ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5a7874e4 ttm_kmap_iter_iomap_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x623ef90b ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x62acbe16 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x630a0be3 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6402d812 ttm_lru_bulk_move_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x64c15d09 ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6612f6d0 ttm_kmap_iter_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x67617a22 ttm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x69a136f5 ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6a8ad218 ttm_resource_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6ab99037 ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6b3cf94a ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6f6f43c6 ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7449af9a ttm_pool_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x75192067 ttm_agp_tt_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7f279a04 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x82cd2fd2 ttm_bo_vunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x83062371 ttm_resource_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x83ff9839 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x88badfc2 ttm_resource_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x91c43f4a ttm_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x937fc805 ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x94071d35 ttm_bo_move_sync_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9423c3ef ttm_range_man_init_nocheck +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x982dfb9a ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9b8bcb5f ttm_agp_is_bound +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9fd58dfb ttm_resource_manager_debug +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa26d2585 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa2f39bc3 ttm_range_man_fini_nocheck +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xaae587cc ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xaed7c46a ttm_global_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb3a393d1 ttm_device_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb638479c ttm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb74d2ec7 ttm_resource_manager_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbba57bfa ttm_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbe799ea0 ttm_bo_vmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc0bd0883 ttm_resource_manager_create_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc404ddde ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc838b086 ttm_bo_vm_access +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc9bb0acb ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd2f02ddc ttm_lru_bulk_move_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd57cba4d ttm_bo_pin +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd60aacc7 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdab667f8 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdd06f130 ttm_device_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xed832f8a ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf4e94292 ttm_device_clear_dma_mappings +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfb6c029b ttm_pool_debugfs +EXPORT_SYMBOL drivers/gpu/drm/vmwgfx/vmwgfx 0x1984f833 ttm_base_object_noref_lookup +EXPORT_SYMBOL drivers/hid/hid 0xf934ad38 hid_bus_type +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x044448b5 ishtp_fw_cl_by_uuid +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x0b079915 ishtp_cl_link +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x0f531faf ishtp_set_rx_ring_size +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x0fa8be77 ishtp_dev_to_cl_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x0fea72d9 ishtp_cl_tx_empty +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x1268c260 ishtp_reset_compl_handler +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x13037af4 ishtp_cl_send +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x20754aeb ishtp_reset_handler +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x2b143d6c ishtp_recv +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x2fc997e7 ishtp_start +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x393f1912 ishtp_device_init +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x3dec7f5f ishtp_cl_get_tx_free_rings +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x4276b39b ishtp_send_suspend +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x47b22267 ishtp_get_drvdata +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x48caed3e ishtp_cl_flush_queues +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x4a6a8bb0 ishtp_get_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x4ec6e185 ishtp_cl_rx_get_rb +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x501e7e24 ishtp_fw_cl_get_client +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x551c86da ishtp_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x5657b059 ishtp_cl_set_fw_client_id +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x5f9b0501 ishtp_get_fw_client_id +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x67976156 ishtp_get_client_data +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x7a643a72 ishtp_send_resume +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x8328e29f ishtp_put_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x951cfbcb ishtp_set_client_data +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xa1f3a24a ishtp_cl_get_tx_free_buffer_size +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xa2e59b51 ishtp_cl_driver_register +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xa679423f ishtp_cl_disconnect +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xa899a790 ishtp_cl_unlink +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xab35037e ishtp_set_tx_ring_size +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xaea3a0d1 ishtp_bus_remove_all_clients +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xb2948209 ishtp_cl_connect +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xb2b3e772 ishtp_cl_io_rb_recycle +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xb3e020c4 ishtp_cl_driver_unregister +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xba7e4ddb ishtp_cl_allocate +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xc2c2f9ec ishtp_cl_free +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xcb57a75e ish_hw_reset +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xd4a58bd2 ishtp_register_event_cb +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xdc629524 ishtp_get_ishtp_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xe4ca654c ishtp_set_connection_state +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xf0b5a6c6 ishtp_get_pci_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xf8521d11 ishtp_set_drvdata +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xfd4298b8 ishtp_trace_callback +EXPORT_SYMBOL drivers/hv/hv_vmbus 0x2224d746 vmbus_sendpacket +EXPORT_SYMBOL drivers/hv/hv_vmbus 0x27ded3c2 vmbus_sendpacket_getid +EXPORT_SYMBOL drivers/hv/hv_vmbus 0x4ff3a996 vmbus_recvpacket +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x2f9e7f8e vid_which_vrm +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x446615bd vid_from_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x01568393 sch56xx_read_virtual_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x13db32ac sch56xx_watchdog_register +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x96ec3b26 sch56xx_read_virtual_reg12 +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xaa17a737 sch56xx_write_virtual_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xb37b9b81 sch56xx_read_virtual_reg16 +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x624473b4 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xf442f001 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xfdfd37f4 i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xa7aa051d i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xcd7fc919 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0xf3271d05 amd756_smbus +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x10a4c688 qcom_adc5_hw_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x1fcd0103 qcom_adc_tm5_gen2_temp_res_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x39885d6b qcom_adc_tm5_temp_volt_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x401dc869 qcom_vadc_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x47f699dd qcom_adc5_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x4e64cdb9 qcom_adc5_hw_settle_time_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x53546ecd qcom_adc5_avg_samples_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x70e6eca1 qcom_vadc_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xc61e7a34 qcom_adc5_prescaling_from_dt +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x0b1f91f4 iio_triggered_buffer_setup_ext +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0xfb446d62 iio_triggered_buffer_cleanup +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xb5e0feed iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xf20c56d9 iio_kfifo_free +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x185c5f55 mpu3050_dev_pm_ops +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x1874ae15 mpu3050_common_remove +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0xdfa88de7 mpu3050_common_probe +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x25db05e6 hts221_probe +EXPORT_SYMBOL drivers/iio/humidity/hts221 0xb365a1dc hts221_pm_ops +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xc444b30c bmi160_regmap_config +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xca19cfae bmi160_enable_irq +EXPORT_SYMBOL drivers/iio/imu/fxos8700_core 0x8098a4d2 fxos8700_regmap_config +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0x2be30da6 st_lsm6dsx_pm_ops +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0xc7f9dae9 st_lsm6dsx_probe +EXPORT_SYMBOL drivers/iio/industrialio 0x009c7a53 __iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x13e1c94f iio_get_time_ns +EXPORT_SYMBOL drivers/iio/industrialio 0x18ff0b33 iio_trigger_using_own +EXPORT_SYMBOL drivers/iio/industrialio 0x237cf7f2 iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x2f0273d5 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x3453d70a iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0x3c534200 iio_device_get_clock +EXPORT_SYMBOL drivers/iio/industrialio 0x3e9c6df4 iio_read_mount_matrix +EXPORT_SYMBOL drivers/iio/industrialio 0x475d8eb3 iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x4935b43d iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x66782763 __iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x6d0c505c iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x7b56b30c iio_trigger_validate_own_device +EXPORT_SYMBOL drivers/iio/industrialio 0x9f2d3719 iio_get_time_res +EXPORT_SYMBOL drivers/iio/industrialio 0xbb60799c iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0xc3395892 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0xc346b709 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xca424c39 iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xcb8e2f32 iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0xd807ebc1 iio_device_set_clock +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xe4744035 iio_trigger_set_immutable +EXPORT_SYMBOL drivers/iio/industrialio 0xec5c023d iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0xf56be33d iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio-configfs 0x162067cf iio_configfs_subsys +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x88bb80e7 iio_unregister_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xb7e4c16e iio_sw_device_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xbd56a2bb iio_register_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xe3b21d26 iio_sw_device_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x7cf015d5 iio_unregister_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x98f9774b iio_sw_trigger_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xcc682438 iio_sw_trigger_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xf85d3a54 iio_register_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0xb0b30b56 iio_triggered_event_setup +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0xdf033a8d iio_triggered_event_cleanup +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x529b4010 bmp280_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x7164fd48 bmp280_dev_pm_ops +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x8cbbc0a9 bmp280_common_probe +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xb81d9d72 bmp180_regmap_config +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x21977cd2 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x23c753fc ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2b1427f8 ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3503ab81 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3c8e7460 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x626bfee9 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7636795d ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x828ace7e ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbe8a689a ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xd1e90624 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xd30302f3 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xd3fc3855 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xd5a14352 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xdf786038 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe265d9b4 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00cd25ea ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x01deeef8 ib_port_register_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x02ba3349 ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x02cea210 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0357b801 rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x038ddd87 rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06596bca ib_create_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x072e8069 rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07477206 rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07537346 rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x083934dc rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a0ecccc ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c50b276 rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c86f5cb ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0d3354a6 rdma_alloc_hw_stats_struct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0da1b064 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0e2f282a ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0e667b10 rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1510d7b6 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x163afa56 rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x168ee5e7 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1755f0e7 ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x18507c60 ib_alloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1a142ad3 rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1a2f9441 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1acd4535 rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b037462 __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b22e994 rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b3d8b79 rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b863592 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1cbbacec ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x211c185a ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x21580385 ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x217999a3 ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2222952b rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2230e8b5 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22ce479e ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2984f993 ib_dma_virt_map_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x29e15eab ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2c99cd74 rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2da716b4 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2e0ebb25 rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2e4159a3 rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2f19814a ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2f3a6c35 ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2f826f9b rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x304054d2 rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x30cdc3f0 rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x30e0a988 rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3201d1d4 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x335f59bf rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x33a9c296 ib_cq_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x38457e56 rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3a6ca004 ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3e14187d rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x41482281 rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x434c5d10 zgid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x439ce33c ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x43c19acc ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x43f6f4ff ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x447aae35 ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x46fabe5e ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x47db4e08 ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x47e6dd6a ib_qp_usecnt_inc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x48cfd927 rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x494a1010 rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4bbb4538 rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4da73ea6 ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e155af0 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e90435c ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4f35f0e5 rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4f6fd96b ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4f8db0c0 rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x501d46a5 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50b8396f ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x522342b8 ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x530c7a47 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x536a4a46 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x54bfd9b8 rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x551861b5 ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55bb02f3 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x575ed771 ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58df5b94 ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58f9a868 rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5b1d8cc0 rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5da0a68f ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6110b261 ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x613b1e2e ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61d24c52 ib_rate_to_mbps +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x63400081 rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x63c0cfc2 __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x666ad814 rdma_restrack_add +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x67aaf04d ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x693bd3d0 rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x69eae31f rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6e2e54cc ib_qp_usecnt_dec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f55de6c ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6fc3e1cc ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7199310f ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x71c0acb3 _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x72642efc rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x73baf9a2 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x76c6c3d0 ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x76e8c5fb ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x773dccf9 rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77bb5990 rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7c1713e0 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7c224376 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7d25d452 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7dda1d33 rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fc9bb4e ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x82c1734a rdma_restrack_new +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x84c2e0c3 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x84fef2b0 ib_port_unregister_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86cef180 rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8704041f ib_port_sysfs_get_ibdev_kobj +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x89654ddf ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x89c09525 ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8a3a6c14 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8c24fd7b ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e28727f rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e7528da __rdma_block_iter_next +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90e807c7 ib_cache_gid_parse_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90e81571 rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9162dddd ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x919da69b ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x94cb5497 rdma_move_grh_sgid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9713c658 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9a8123b4 rdma_restrack_parent_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9b8ba050 ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9c4f7de8 rdma_link_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9dbadd10 rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9e6917f8 __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9f79c4d9 ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa10bf67c rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa30948da ib_port_immutable_read +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa467e324 rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa54e23ed ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa7b4db46 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa7c7d6b4 ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa7cd62c0 ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa821a19a ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xad3cb162 rdma_query_gid_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae8e1914 ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae956dce ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaed89bad ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb00a28d3 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb1a8488c ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb320ed80 ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb36e4148 ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb5d8dcf1 ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb73f0b7a __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7852a05 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7d8be3d rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb9de2d04 ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbaae5694 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbb374ebc ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbf23fa8d ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbfa3b3af rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc09a5b72 ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc0bd0192 rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc0ec6dcf ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc1062101 ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc2f2f1d8 ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc66dd251 ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc77cefdc ib_destroy_wq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc7b32163 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8d38664 rdma_free_hw_stats_struct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc90bbe06 rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcbca941c rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcd303afc ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcd42e5c9 rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xced12d66 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcfbc053b ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd16d1130 rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd2d884a2 ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd32dee20 ib_alloc_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6636ca6 rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd893119b ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdaaa00ce ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdac42087 rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdafd77b2 rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde1e8599 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde21cd79 ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe236a9c0 ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe2ba8269 ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe3369126 ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe38fa32c ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe3c0d556 ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe41308fa rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5840ec6 ib_wc_status_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5a78c1e ib_sa_unpack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe79b4996 ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7b52e5f mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe996ad64 roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9e799fc ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xec2070f0 ib_dealloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed0d073a ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeded2767 ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xee367cee rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xef4c11e4 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xefd17390 rdma_restrack_set_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf12f35de ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf215f6ed rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5dedb30 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6ed3334 ib_event_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf78fe0dd ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf8d92722 ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfbe00ad5 ib_create_qp_kernel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfe3af2fd ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xff143c63 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xff6050d8 __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xff8f3d7d ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfff79c31 rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x01f635a8 ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1978ac0e ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1bc94cda ib_umem_odp_map_dma_and_lock +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x24c4485d _uverbs_get_const_unsigned +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x25f4b7f2 ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x267cc14c flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x275ea3d6 uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x45c6113c ib_umem_dmabuf_unmap_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x47f76982 ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x52f8e5e5 ib_umem_get_peer +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x570669f4 uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5cb78423 ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x635127d9 ib_register_peer_memory_client +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x740fd2ab ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x88d91105 ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8adff20a _uverbs_get_const_signed +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8daa005b flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x921ea436 ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x977fc8c6 uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x9b226d96 ib_umem_dmabuf_get_pinned +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x9db46f7e ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa2f0dd70 uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb84a4ae6 ib_umem_dmabuf_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbde5c050 ib_unregister_peer_memory_client +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc209a1cd ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc5346d91 _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xca9b0bda ib_umem_dmabuf_map_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xcc7da446 ib_umem_activate_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd85a4cf1 uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xdeee18e5 ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe0fbc643 uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe4ebcad2 ib_umem_stop_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe571f832 ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xebf5b255 ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xeef04142 uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xefab1b73 uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf1571363 uverbs_copy_to_struct_or_zero +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf65fe509 uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x0adb0fa6 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x27c0655b iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x3623722d iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xaecdcceb iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xd91828e1 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xdd9eb874 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf353e0c8 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3df871f iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf506bf21 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x011d7255 rdma_connect_locked +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x01e70e0f rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0228b03c rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x07225b51 rdma_lock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x123bf3e9 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1d042506 rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x245c248b rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2c2c32a3 rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2fc6037a rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x33696621 rdma_set_min_rnr_timer +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4b82769e rdma_unlock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x55397a25 rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5b167be1 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6671faf9 rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6e9a81ff rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8ef3ccdf rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x907df803 rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x92d604b0 rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9bc22a47 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa7aa3b45 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xae25072a rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xaf3d73a0 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xaf4ca782 rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb349f890 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcd218b18 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcefcce7f rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd1bab263 rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd5fd3cca rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe1d3de11 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe2070dc0 rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe2205536 rdma_create_user_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xede596e1 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf13220e4 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf1a41c4c __rdma_create_kernel_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf3c0525a rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x0467e6aa rvt_add_rnr_timer +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x0e385842 ib_rvt_state_ops +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x26ab3245 rvt_add_retry_timer_ext +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x33847bd1 rvt_compute_aeth +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x3ea40fda rvt_qp_iter_init +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x4846ff66 rvt_restart_sge +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x4c075fe6 rvt_comm_est +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x4e5fb866 rvt_rkey_ok +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x57062d81 rvt_check_ah +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x5b985746 rvt_alloc_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x5c38329f rvt_invalidate_rkey +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x619eb155 rvt_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x64427467 rvt_cq_enter +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x7489f15f rvt_send_complete +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x75e0fcf9 rvt_mcast_find +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x77650a08 rvt_del_timers_sync +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x8dfb0ecb rvt_stop_rc_timers +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x90d877ec rvt_unregister_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x9f01b8bf rvt_qp_iter +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xaff55fcb rvt_qp_iter_next +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xb7ee98b2 rvt_rc_rnr_retry +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xd060ba1b rvt_error_qp +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xd3b73ba7 rvt_init_port +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xd6593f21 rvt_ruc_loopback +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xdaf6c44b rvt_get_credit +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xdb60d396 rvt_get_rwqe +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xdbdf657b rvt_dealloc_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xe8663b47 rvt_register_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xe9cf3e43 rvt_rnr_tbl_to_usec +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xee5fab12 rvt_copy_sge +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xf62261da rvt_rc_error +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xfd2ca1ed rvt_lkey_ok +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x0ec184a2 rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x92fc5eb8 rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x94cc2b4e rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x96a0b3ea rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xc7cd52b5 rtrs_clt_rdma_cq_direct +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xc80af263 rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xead4d32c rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x242a8646 rtrs_addr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x4f6a603e rtrs_ib_dev_find_or_add +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x5b01e41d sockaddr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x887302f3 rtrs_addr_to_sockaddr +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x8ecfcc9b rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x914df329 rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x9c083279 rtrs_rdma_dev_pd_deinit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x2234633a rtrs_srv_get_path_name +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x59e010a0 rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x6060cc30 rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x76ae0975 rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x9de3fcf8 rtrs_srv_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xf8c93e29 rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/input/gameport/gameport 0x03135237 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x0e049020 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x35abdab8 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7c583f4e gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x9598c06e __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x9902faba gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xacfeea1f gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xb7515561 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xd113d1f0 gameport_open +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x511e575b iforce_send_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0xe32187c0 iforce_init_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0xec0b3b3d iforce_process_packet +EXPORT_SYMBOL drivers/input/matrix-keymap 0xa4e0b809 matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0xbcb1b7ac ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xbfa5bd28 ad714x_probe +EXPORT_SYMBOL drivers/input/misc/ad714x 0xeecf3da4 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x892d76b2 cma3000_resume +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x89d9444e cma3000_exit +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xca3f100a cma3000_suspend +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xe378e5a2 cma3000_init +EXPORT_SYMBOL drivers/input/rmi4/rmi_core 0x60f6cfed rmi_unregister_transport_device +EXPORT_SYMBOL drivers/input/sparse-keymap 0x27568629 sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x2f6d5da1 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0x50fadb88 sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x6ebe9bf8 sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x90528847 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x3d0bad80 ad7879_pm_ops +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xb6f35644 ad7879_probe +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0x17fdc9d5 amd_iommu_free_device +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0x3ed511ff amd_iommu_bind_pasid +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0xae7132c1 amd_iommu_set_invalidate_ctx_cb +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0xbb70be96 amd_iommu_set_invalid_ppr_cb +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0xc1b1d232 amd_iommu_unbind_pasid +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0xd60d3151 amd_iommu_init_device +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x4c695623 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x50ba6442 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x6caadef3 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xae58d64d attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb75dc8da capi_ctr_down +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x27c58fd5 isdnhdlc_decode +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x4644eea5 isdnhdlc_out_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x5b835a58 isdnhdlc_rcv_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0xef4ee223 isdnhdlc_encode +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x079016c3 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x1303b655 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x1d4d5cf2 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xe1f1403d mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x9619a507 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xd6e49718 mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03a68066 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x05fd5178 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0e4b50c9 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1a89b7ce get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x26236de8 mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x30d25b0d mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x313b1fde mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x342dbea0 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3bec2c58 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3c06cbea recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4161ea5f create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6047df40 mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x721b0520 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x723a3a9d mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8de1ad43 bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x996245f3 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9c928457 mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9f6ce94b mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb7fba1b2 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc94b1a27 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc965ee32 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xdd09737b recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe891b5c4 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xee0048d0 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf7291699 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf8076110 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf91daba2 mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfedd11fc recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xff3e2c5e mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x01087af0 mISDN_dsp_element_unregister +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x93df9e4b dsp_audio_law_to_s32 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb07a21b8 dsp_audio_s16_to_law +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb98308d8 mISDN_dsp_element_register +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x319fe751 ti_lmu_common_get_brt_res +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x54a12ec4 ti_lmu_common_set_ramp +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x7936ec1b ti_lmu_common_get_ramp_params +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xced72aae ti_lmu_common_set_brightness +EXPORT_SYMBOL drivers/md/dm-log 0x2ea311ba dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0x33ab58f1 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x65bea7be dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0xe8731cca dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x03ba7aa4 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0x168e9345 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x2114f45f dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x2db679ef dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x435c06f9 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xfb4497a2 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/raid456 0x5e7c43b9 raid5_set_cache_size +EXPORT_SYMBOL drivers/md/raid456 0x8369b531 r5c_journal_mode_set +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x0df04047 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x1814e999 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x26e7b9c2 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x2c60957e flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x3aa31074 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x4b0b0edb flexcop_device_kfree +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x58ce1421 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x6137255e flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x6a6317b5 flexcop_device_exit +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x9618f4c8 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xb111405e flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xbdbcd4f7 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xd17b1e63 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/common/cx2341x 0x15ac1bd0 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/common/cx2341x 0x22853e43 cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/common/cx2341x 0x28240e61 cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/common/cx2341x 0x55aa7c5f cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x6a657b05 cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x7b4dd2cb cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/common/cx2341x 0xcdc8bb21 cx2341x_handler_init +EXPORT_SYMBOL drivers/media/common/cx2341x 0xd0de13d6 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/common/cx2341x 0xdbc5583a cx2341x_update +EXPORT_SYMBOL drivers/media/common/cx2341x 0xe1fe1432 cx2341x_log_status +EXPORT_SYMBOL drivers/media/common/cx2341x 0xfe0a7572 cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/common/cypress_firmware 0x9f7452bc cypress_load_firmware +EXPORT_SYMBOL drivers/media/common/ttpci-eeprom 0x131c078c ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/common/ttpci-eeprom 0x693e74ba ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/common/tveeprom 0x0dbf0296 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/common/tveeprom 0x6f3e8370 tveeprom_read +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x065246b8 frame_vector_create +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1b700d37 put_vaddr_frames +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1d5f9555 frame_vector_destroy +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x50d731fe vb2_verify_memory_type +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x7b313b83 vb2_buffer_in_use +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xc2d9e090 get_vaddr_frames +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xc5e5573a frame_vector_to_pages +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xdffb744b frame_vector_to_pfns +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x0fd6357d vb2_dvb_register_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x8ada423d vb2_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x8ede2de1 vb2_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xc2f169d8 vb2_dvb_find_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xd43ac57f vb2_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xfbc7a21a vb2_dvb_get_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-memops 0xa21fa765 vb2_create_framevec +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-memops 0xccd197c7 vb2_destroy_framevec +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-v4l2 0x91044096 vb2_querybuf +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08733236 intlog10 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x136060a3 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x18acd31f dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1f0e3178 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x22bb3626 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2f5cdf80 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3a06ef83 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3b93d71a dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x483c7864 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x4a75f677 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x54abe4ff dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5953bbbd dvb_device_get +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x597fafcb dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5f2b1d95 intlog2 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6081cb0a dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6181aec0 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x62cfb8ff dvb_net_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6a9f708a dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8132aee8 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8c54b0f8 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x91424f89 dvb_frontend_suspend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x91a6794b dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9263a063 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9293feea dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa4235824 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa4c86ee4 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa84b6a09 dvb_frontend_resume +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xad1fa6a1 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xad31ae4c dvb_net_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb3352dd2 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb8f29e74 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc255055a dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc3f679f9 dvb_ringbuffer_write_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xd69ce8d7 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xdcc53421 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe138ce6b dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe23db72a dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xebbc2d9b dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf1351f8c dvb_remove_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf46fffee dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfb09f39a dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfb9a826f dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfc6380e5 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb-frontends/ascot2e 0x8342617b ascot2e_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/atbm8830 0x3920438f atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x292389eb au8522_sleep +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x440660bb au8522_readreg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x6af18c6d au8522_writereg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x71a0ccdb au8522_init +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x8be1bd5f au8522_analog_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xacc15a36 au8522_get_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xb3c35937 au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xe58334bf au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xfbd01377 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_dig 0x18072a6f au8522_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/bcm3510 0xdf47cf48 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22700 0xf34d7ea7 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22702 0x5f6d2746 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24110 0x5743e908 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x34607a10 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0xf6cf442c cx24113_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24116 0x591d58ae cx24116_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24120 0xf9ace876 cx24120_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x47f5474c cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x4ade2242 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2820r 0x571b27a7 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x260a96a1 cxd2841er_attach_t_c +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x4b068bba cxd2841er_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2880/cxd2880 0xe60fe999 cxd2880_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x123b6cd9 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x204140fe dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x2ace0104 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x8201a955 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x9523e9f3 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x2a37e386 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x34e49c17 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x4f062e6f dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x58182875 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x5d249a2b dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x621c202c dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x6b530e8c dib0090_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x6d861359 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x982fbc09 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x990a0915 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x9d02f5fe dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xbf417b70 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xcae799a4 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xd32eef4f dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xf4a01ef5 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mb 0xe64cc01d dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x8117c659 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x970b14fc dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x9cfee04e dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xa48267c6 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xb2a9e656 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xfcf7477f dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x01d765ba dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x186f6b7f dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x1afa5d1a dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xa86579df dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000p 0x4435ef43 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib8000 0x60ea81a8 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x0ab30e81 dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x3b21f138 dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x40350b04 dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x5519a146 dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x63fc3e37 dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x93c31379 dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x9cafe95d dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x9ed58f9e dib9000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xa4b10aa0 dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xbce42ab9 dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xe5d92867 dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xef67144b dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xf99e6502 dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x6f030f3b dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xb24df7e3 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xdf275296 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xeba3615d dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xec1af7ff dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/drx39xyj/drx39xyj 0xfa26926e drx39xxj_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxd 0xc9253fe4 drxd_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxk 0xe42076c1 drxk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ds3000 0x5a37225b ds3000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb-pll 0x00bb4ce7 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x5c5c21ad dvb_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x6dd46027 dvb_dummy_fe_qpsk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0xc61a444f dvb_dummy_fe_ofdm_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ec100 0xf6133c54 ec100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x0470d232 helene_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0xdbed1f91 helene_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/horus3a 0x06c19633 horus3a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6405 0xc97760eb isl6405_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6421 0xb82b72df isl6421_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6423 0xed85d50e isl6423_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/itd1000 0xe973bb0b itd1000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ix2505v 0x28d2d486 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/l64781 0x9df28811 l64781_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lg2160 0x12eb9918 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3305 0xcf2bb371 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3306a 0xa9bc59bc lgdt3306a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt330x 0x9046dc52 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gl5 0xb9e5f5dd lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gxx 0xdb693719 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh25 0xbb372261 lnbh25_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh29 0x524f1e41 lnbh29_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x1a96eb80 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x39262adc lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp22 0xcaf401c4 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x6350046c m88ds3103_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x8c334564 m88ds3103_get_agc_pwm +EXPORT_SYMBOL drivers/media/dvb-frontends/m88rs2000 0x46d6bc5f m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a16 0xada978db mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a20s 0x2c7c7567 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt312 0x5f5858af mt312_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt352 0x3c92d41b mt352_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt200x 0xba75db89 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt6000 0x15d8899d nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51132 0x4cf9135f or51132_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51211 0x3adce2b0 or51211_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1409 0x9d815b09 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1411 0xa6bb9b20 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x418956e7 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0xf30a0a62 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1432 0x28b9d7bf s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s921 0x17043cfe s921_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/si21xx 0x5e207a96 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp887x 0x9dab1105 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb0899 0x3cd6c556 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6000 0x56551809 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6100 0x16a4319b stb6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0288 0xf2150bea stv0288_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0297 0x2f3ac90b stv0297_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0299 0x5c050691 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x34a1845d stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x47d5d738 stv0367ddb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0xe01d311f stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0900 0xcfd4494b stv0900_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv090x 0xa2e4f339 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110 0x4a33946b stv6110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110x 0x096832b0 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10021 0xc42b19f8 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10023 0x41fc89dc tda10023_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10048 0xc85c4278 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x50d6e276 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0xa4b5342c tda10046_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10086 0xc75ba507 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda665x 0x0f9b4349 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8083 0xec3ca676 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8261 0xc991deac tda8261_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda826x 0x6af75ad7 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ts2020 0x16faeced ts2020_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tua6100 0xf06fed6c tua6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1820 0x1f9a4c8e ves1820_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1x93 0x64a78b05 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x297792c8 zd1301_demod_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0xca886a4e zd1301_demod_get_dvb_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10036 0x994342fc zl10036_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10039 0x840ef335 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10353 0xbe47edf3 zl10353_attach +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x16471544 flexcop_dma_config +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x1b43281f flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x52826525 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x64bc2ea2 flexcop_dma_free +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x95aed0ca flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xc1677680 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xcf80676e flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xc4c007a7 bt878_stop +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xc9ebf225 bt878 +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xcc583f7c bt878_start +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xfc803f68 bt878_device_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x228987e5 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x66985edb bttv_sub_unregister +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0xdd99df2f bttv_sub_register +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x0cbceebe write_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x209d0b3a read_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x43a983fd dst_check_sum +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x481221a8 dst_pio_disable +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x607e64a0 dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7288fc17 rdc_reset_state +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x80fb2770 dst_comm_init +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xa7f47298 dst_error_bailout +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xaaffb8b6 dst_error_recovery +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xcbe40051 dst_attach +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst_ca 0x56fc30fe dst_ca_attach +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x1db3395f cx18_ext_init +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x3fcfa089 cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x4c349fec cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x89c4fc2d cx18_claim_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xb980c240 cx18_release_stream +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x1ab311dc altera_ci_init +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x6ff7510d altera_ci_tuner_reset +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0xdb3faf38 altera_ci_release +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0xe66b9812 altera_ci_irq +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x37c14591 cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x44b517f5 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x6b42d157 cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x779a37d8 cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x809e09b0 cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xc3ec2512 cx25821_riscmem_alloc +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xc53982bc cx25821_dev_get +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe019b1f8 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe9050411 cx25821_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x97670f63 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0xeeb590da vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x271081a9 cx88_querycap +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x9a7ff8e4 cx88_set_freq +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x9dd4b205 cx88_video_mux +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xbe8290e8 cx88_enum_input +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x0bc526fe cx8802_get_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x6852e485 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x93ff8cb3 cx8802_register_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x956a4516 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x9e69928e cx8802_buf_queue +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xe3c1cde1 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xf5a74dab cx8802_start_dma +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x10f2795b cx88_newstation +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x1cf1d140 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x22438c81 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x32959031 cx88_core_irq +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x32a57596 cx88_reset +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x38e88806 cx88_shutdown +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x49632678 cx88_ir_start +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x4aae085e cx88_core_get +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x58fe7901 cx88_set_scale +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x5edb7ae5 cx88_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x71bf6605 cx88_set_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x83e04fd4 cx88_wakeup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x8782327b cx88_get_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x8d88137a cx88_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x99d7cf0a cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xa8a0f4ab cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xc5c7363f cx88_core_put +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xcd8c6217 cx88_risc_buffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xe79a8f3f cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xf21429c8 cx88_vdev_init +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xf81680d2 cx88_ir_stop +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xfa30e3f7 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/pci/ddbridge/ddbridge-dummy-fe 0xf44dd695 ddbridge_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x08c7fe59 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x14a1f349 ivtv_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x2e4524e5 ivtv_api +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x41cce6a6 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x43af9256 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x43c356c8 ivtv_claim_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x4866c220 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x4d72fe02 ivtv_firmware_check +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x5ee88d1e ivtv_vapi_result +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7ec5160e ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x8de9c8b1 ivtv_vapi +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xa57fd009 ivtv_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xcf5405ab ivtv_ext_init +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xcfef1351 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xd692785f ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xd809bd87 ivtv_release_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xeaebc0c7 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x0d5cda0d saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x1211df5d saa7134_devlist +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x16b40cf2 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x1898a264 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x5950d0f2 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x6ccca63c saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x730c4be3 saa7134_boards +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x8f1ad46b saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x98f68ab3 saa7134_ts_register +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x99d24a5b saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xa30df701 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xa6e49053 saa_dsp_writel +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xb71ce16b saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xbcc00933 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/radio/tea575x 0x0068d89a snd_tea575x_s_hw_freq_seek +EXPORT_SYMBOL drivers/media/radio/tea575x 0x20742f74 snd_tea575x_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0x64785a3e snd_tea575x_g_tuner +EXPORT_SYMBOL drivers/media/radio/tea575x 0x6b917906 snd_tea575x_exit +EXPORT_SYMBOL drivers/media/radio/tea575x 0xa8d8cec4 snd_tea575x_hw_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0xb313c53b snd_tea575x_set_freq +EXPORT_SYMBOL drivers/media/radio/tea575x 0xdd25bf3b snd_tea575x_enum_freq_bands +EXPORT_SYMBOL drivers/media/rc/rc-core 0x01098f88 ir_raw_encode_scancode +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2fe55cf5 ir_raw_gen_pd +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7a02ee87 ir_raw_gen_pl +EXPORT_SYMBOL drivers/media/rc/rc-core 0xb1c301e7 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0xb5516017 ir_raw_encode_carrier +EXPORT_SYMBOL drivers/media/rc/rc-core 0xce3696f3 ir_raw_gen_manchester +EXPORT_SYMBOL drivers/media/rc/rc-core 0xfbc81b96 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/tuners/fc0011 0x43d61981 fc0011_attach +EXPORT_SYMBOL drivers/media/tuners/fc0012 0x27e281fa fc0012_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x30afcb87 fc0013_rc_cal_reset +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x57693cef fc0013_rc_cal_add +EXPORT_SYMBOL drivers/media/tuners/fc0013 0xdd05193a fc0013_attach +EXPORT_SYMBOL drivers/media/tuners/max2165 0xf57cdc60 max2165_attach +EXPORT_SYMBOL drivers/media/tuners/mc44s803 0xc722fb58 mc44s803_attach +EXPORT_SYMBOL drivers/media/tuners/mt2060 0xcc8651b9 mt2060_attach +EXPORT_SYMBOL drivers/media/tuners/mt2131 0x43493010 mt2131_attach +EXPORT_SYMBOL drivers/media/tuners/mt2266 0xb8b341f9 mt2266_attach +EXPORT_SYMBOL drivers/media/tuners/mxl5005s 0x2f1bdd15 mxl5005s_attach +EXPORT_SYMBOL drivers/media/tuners/qt1010 0x95198489 qt1010_attach +EXPORT_SYMBOL drivers/media/tuners/tda18218 0xa73ab9aa tda18218_attach +EXPORT_SYMBOL drivers/media/tuners/tuner-types 0x4c48939e tuners +EXPORT_SYMBOL drivers/media/tuners/tuner-types 0xc2821775 tuner_count +EXPORT_SYMBOL drivers/media/tuners/xc2028 0x2e92bff8 xc2028_attach +EXPORT_SYMBOL drivers/media/tuners/xc4000 0xe560c6a5 xc4000_attach +EXPORT_SYMBOL drivers/media/tuners/xc5000 0xd91eb6f3 xc5000_attach +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x58364dcd cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x69f4b7c1 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x1610fa52 dvb_usbv2_reset_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x25baac82 dvb_usbv2_generic_rw_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x323b69fa dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x6464924a dvb_usbv2_disconnect +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x672533a0 dvb_usbv2_suspend +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x680f81c6 dvb_usbv2_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x895c1302 dvb_usbv2_probe +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xe43b757d dvb_usbv2_generic_write_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xfae8f39c dvb_usbv2_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x454e3438 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x575677a9 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x57f74045 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x61cc1198 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x7c552405 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x8b6f5395 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xcd8f17d7 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x341530cb rc_map_af9005_table +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0xbd022459 af9005_rc_decode +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0xd4e288db rc_map_af9005_table_size +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x0e7f80ef dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x2e3a0a17 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x424028dd dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x5c61f755 dibusb_rc_query +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x728ee25a dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x93822ecb rc_map_dibusb_table +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x9b545ddb dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xa7d1ae13 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xcc45b534 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xe8e15410 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x203b55f1 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x6f6bdb8f dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x1dad4e00 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0xfbea8e38 em28xx_register_extension +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x42e73abd go7007_snd_init +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x64a2f43b go7007_boot_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x6a621939 go7007_parse_video_stream +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x72d60121 go7007_read_addr +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x7fae5eb5 go7007_read_interrupt +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x8ae5be39 go7007_update_board +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xbcb94a7d go7007_register_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xdcc2ddb9 go7007_alloc +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xfa18fe3b go7007_snd_remove +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x4fd2f03f gspca_resume +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x6a0764df gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x7c6ab2e2 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x84483eae gspca_suspend +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9e86941a gspca_frame_add +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9ef3e080 gspca_disconnect +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xd589920d gspca_dev_probe +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xe7fa222c gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x563b1747 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x67dda7b2 tm6000_register_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x7b87a00a tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x53c683a2 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x78018268 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x00bf7ab6 v4l2_async_register_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x214acf19 v4l2_async_nf_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x568c0b39 v4l2_async_subdev_nf_register +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0xc2491987 v4l2_async_nf_init +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0xcc2f8bf4 v4l2_async_unregister_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0xde651e31 v4l2_async_nf_register +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x07beb02a v4l2_m2m_buf_done_and_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x5352d022 v4l2_m2m_resume +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x890df8dd v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xd507540e v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xf626dd03 v4l2_m2m_suspend +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xfb5a4a8d v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x06f75eb1 v4l2_ctrl_notify +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x082737e8 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0a598934 __v4l2_ctrl_modify_range +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0acca3d9 v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x15641d80 v4l2_subdev_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x159d25db v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1638aae3 v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x27bb35c8 v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x28b12cc9 v4l2_format_info +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2e4bc9de v4l2_ctrl_subdev_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2f9043af __v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x315de2cf v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x32d43420 v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x394b98ab v4l2_ctrl_subdev_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3ba2c8d8 v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3bdd0f94 v4l2_prio_change +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3d0b3e26 __v4l2_ctrl_s_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x42d77604 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x46ed4aef v4l2_querymenu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x49681a35 video_devdata +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4ab48189 v4l2_ctrl_g_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5797992a v4l2_subdev_call_wrappers +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5879d847 v4l2_query_ext_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x62f0d116 v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x63b24b0f v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x738f6c91 __v4l2_ctrl_s_ctrl_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x74457845 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x76d90e4c v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x82e19054 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x85d4eab9 __video_register_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x87adc0de video_device_release +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x894df0ff v4l2_ctrl_new_std_menu_items +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x89e3897d v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8fe1131d v4l2_ctrl_new_fwnode_properties +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x92b864ee v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x93669ac1 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9d37f431 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa0291110 v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa6c7b85c v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb5de5129 v4l2_ctrl_new_std_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb76846bf video_device_release_empty +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbab18f86 video_ioctl2 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbbfee9d2 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbc5671dc v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbc8edf30 video_unregister_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbe8c5cfb v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc1796858 v4l2_ctrl_radio_filter +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc246712c v4l2_ctrl_handler_init_class +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc9189763 v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd16d9c01 v4l2_ctrl_get_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd33fc6d4 __v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd4c3fb3c __v4l2_ctrl_s_ctrl_string +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd6640b55 v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd8b5f3c8 v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xdb1b081b v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe0d98112 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2bcd96c v4l2_ctrl_request_complete +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xea995863 v4l2_ctrl_request_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xed04d384 v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf421a5a0 video_device_alloc +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf50fecbc v4l2_ctrl_replace +EXPORT_SYMBOL drivers/memstick/core/memstick 0x1edb0cb7 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x2d2231c7 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4a4e5778 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6c33cd63 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x71b1501a memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7b7af25d memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x9b397c76 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa1a068f6 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa1adbb41 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xae50437c memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xd08db846 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xd981da76 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe4c4bdd9 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf5321b3f memstick_free_host +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x17cad4f5 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x33adc39c mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x35fca379 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x377fd76f mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x382c8958 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3ca17631 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3deaf9d8 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x42f09da0 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x53939255 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5846137f mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5a0f3180 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x610b257e mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6ab8d4f1 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6c869b20 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6fbbf004 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x74a0134a mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7804c80d mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x981efe92 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa6ab7997 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa774dff6 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xad142ebb mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb32fc800 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb4349699 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb74d208e mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xce9ebf67 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd39a59cb mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd5f9b966 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd9161cb4 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xda9689a9 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe6c1e126 mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf129592e mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfa6bb392 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfef0f4f9 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x00526743 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x04f6a8b3 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1e422c37 mptscsih_host_attr_groups +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x270816c8 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3a5f79f3 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3f06672d mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x46957aff mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4e98012c mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5e77eb3a mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5fc243de mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x69b956f6 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6a9d64ea mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6d3ec606 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x787ec710 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x799092b8 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x79affc7b mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7c300011 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7c883f8f mptscsih_show_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x96609c00 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x96653f3e mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x96687034 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9964de0c mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x99955ea3 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb582a2f5 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc52415e2 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf07fe2d4 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfb1fd9a3 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/mfd/axp20x 0x6996e06a axp20x_device_probe +EXPORT_SYMBOL drivers/mfd/axp20x 0x7305dc0b axp20x_device_remove +EXPORT_SYMBOL drivers/mfd/axp20x 0x96063400 axp20x_match_device +EXPORT_SYMBOL drivers/mfd/dln2 0x67ac8411 dln2_register_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0xeeb6f964 dln2_unregister_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0xf4659208 dln2_transfer +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x1ecbc158 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xb09f929e pasic3_read_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x05f2d111 mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x6f82d526 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xbff6e13f mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xc3a50f72 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xc5b89be4 mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xca242165 mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xd0a2e0f3 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe87dd4c2 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe8a1f127 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xea65cf69 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xfe139f4d mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0x0c6ad2cf tps65010_config_vdcdc2 +EXPORT_SYMBOL drivers/mfd/tps65010 0x28485130 tps65010_config_vregs1 +EXPORT_SYMBOL drivers/mfd/tps65010 0x33739de7 tps65010_set_vib +EXPORT_SYMBOL drivers/mfd/tps65010 0x9fd44c69 tps65010_set_led +EXPORT_SYMBOL drivers/mfd/tps65010 0xb14080cc tps65010_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0xd5bb106d tps65010_set_vbus_draw +EXPORT_SYMBOL drivers/mfd/tps65010 0xe99b3f36 tps65010_set_gpio_out_value +EXPORT_SYMBOL drivers/mfd/wm8994 0x0b0b965c wm8994_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x39312dc5 wm8958_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xa6532fe8 wm1811_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xb9e6a561 wm8994_irq_init +EXPORT_SYMBOL drivers/mfd/wm8994 0xc4579f25 wm8994_irq_exit +EXPORT_SYMBOL drivers/mfd/wm8994 0xecb40e18 wm8994_base_regmap_config +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x3d087a59 ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0xaf8a65d9 ad_dpot_probe +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x5bafa76e altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x6de0d978 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0x786eedb3 c2port_device_register +EXPORT_SYMBOL drivers/misc/mei/mei 0x0bb25295 __SCT__tp_func_mei_reg_write +EXPORT_SYMBOL drivers/misc/mei/mei 0x14dc7949 __SCT__tp_func_mei_pci_cfg_read +EXPORT_SYMBOL drivers/misc/mei/mei 0x3b0a488d __SCT__tp_func_mei_reg_read +EXPORT_SYMBOL drivers/misc/mei/mei 0x438ba0e3 __traceiter_mei_reg_write +EXPORT_SYMBOL drivers/misc/mei/mei 0x45b92dc5 __tracepoint_mei_reg_read +EXPORT_SYMBOL drivers/misc/mei/mei 0x8695d156 __SCK__tp_func_mei_reg_read +EXPORT_SYMBOL drivers/misc/mei/mei 0x930b94e1 __SCK__tp_func_mei_pci_cfg_read +EXPORT_SYMBOL drivers/misc/mei/mei 0xbb7ca8bb __tracepoint_mei_pci_cfg_read +EXPORT_SYMBOL drivers/misc/mei/mei 0xbd7344ab __SCK__tp_func_mei_reg_write +EXPORT_SYMBOL drivers/misc/mei/mei 0xd45a5ff9 __traceiter_mei_reg_read +EXPORT_SYMBOL drivers/misc/mei/mei 0xd4b6aaa9 __tracepoint_mei_reg_write +EXPORT_SYMBOL drivers/misc/mei/mei 0xe49b5a1b __traceiter_mei_pci_cfg_read +EXPORT_SYMBOL drivers/misc/tifm_core 0x02c0ca0c tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x0ffb277f tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x13aa9edc tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x6ba118ba tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x8d056780 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xa3ff11ef tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xb1523979 tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xbdd4c2c3 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xc268feaf tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xcc5cba05 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xd12bc974 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xde6376fb tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xe47b5b43 tifm_unmap_sg +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x08b4b0ac cqhci_deactivate +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x3a67fbdc cqhci_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x809041ea cqhci_irq +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x8bbe329d cqhci_pltfm_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xfa596ed8 cqhci_resume +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x69ec4331 mmc_spi_get_pdata +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x6da0a140 mmc_spi_put_pdata +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x006daea7 cfi_build_cmd_addr +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x2df20da8 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x2f876fd2 cfi_merge_status +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x34b3ebf4 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x4b872bd6 cfi_send_gen_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xa35aaf58 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xda2d3e98 cfi_build_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xff9fa623 cfi_udelay +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x1fc73242 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x3d338e92 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xb769edf9 map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xe4b60d18 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x7516342b mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0xb55ad8f2 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0xf22addf9 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x12ff2ce8 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/mtd 0x37d02c06 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x14aa1fe5 nand_ecc_get_on_die_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x190ae3e6 nand_ecc_init_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x19cb9254 nand_ecc_get_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x1d05a96a nand_ecc_finish_io_req +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x1f98bc45 nand_ecc_unregister_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x297ea9e6 nand_ecc_sw_hamming_get_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x3976a552 nand_ecc_cleanup_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x427e84d8 nand_ecc_sw_bch_correct +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x4f2db9e7 nand_ecc_sw_hamming_cleanup_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x4fc98a4f nand_ecc_put_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x63cf2b4e nand_ecc_register_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x667f6db5 nand_ecc_sw_bch_cleanup_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x703ff439 nand_ecc_sw_hamming_init_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x820f2c92 nand_ecc_is_strong_enough +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x823363b9 nand_ecc_get_sw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x86db56cf nand_ecc_sw_bch_init_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xa236acc4 of_get_nand_ecc_user_config +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xb6cfc910 nand_ecc_sw_hamming_calculate +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xcb61b3f8 nand_ecc_prepare_io_req +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xe1b1f42d nand_ecc_sw_bch_get_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xe6db989b ecc_sw_hamming_correct +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xfc69b3c4 nand_ecc_sw_bch_calculate +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xfd50269c nand_ecc_sw_hamming_correct +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xff4351b0 ecc_sw_hamming_calculate +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0x12c2bdef flexonenand_region +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xad37757e onenand_addr +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x30db096f denali_calc_ecc_bytes +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x793af3ee denali_remove +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0xf3cc4ee2 denali_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x1a6d6092 nand_scan_with_ids +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x1c952dfd rawnand_dt_parse_gpio_cs +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x211eeb0c nand_monolithic_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x22bd953c nand_get_set_features_notsupp +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x2585b498 rawnand_sw_hamming_cleanup +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x26f6644d rawnand_sw_bch_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x3674fb3a rawnand_sw_hamming_correct +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8de1409d nand_write_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8ecbb3b8 nand_check_erased_ecc_chunk +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x97c46a35 nand_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xa23fbb52 nand_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xa86b6ee1 rawnand_sw_hamming_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xb174ea10 nand_monolithic_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xb3b6a10c nand_create_bbt +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xbd7d19d4 rawnand_sw_bch_cleanup +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xe2542545 nand_read_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xf0febfd8 rawnand_sw_bch_correct +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xfb189a09 rawnand_sw_hamming_calculate +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x0daa4a39 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x17bbdec5 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x1b32eb9f free_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x2e63abf9 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x5b83f770 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x63b08957 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x9d116fe3 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xa00d850c arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xa0d0c86e arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xbc53baa1 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xd047a825 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x44f95552 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x7761b3e0 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xab11263e com20020_found +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0x3204e64e ctucan_resume +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0x7288c624 ctucan_probe_common +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0x9602db8b ctucan_suspend +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0ecb6baa b53_setup_devlink_resources +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x13a27e6f b53_mdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x16c0f20a b53_imp_vlan_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2942e5ef b53_mirror_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x31009c78 b53_br_join +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x345b9793 b53_get_sset_count +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3d0ed08d b53_get_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3dffde5c b53_brcm_hdr_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3f6376e3 b53_vlan_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x449af146 b53_br_flags_pre +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4742c58d b53_fdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4b357bab b53_switch_register +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4fbff1e2 b53_vlan_filtering +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x51c93d55 b53_phylink_mac_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5559636c b53_br_flags +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x56cc2e1a b53_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5d48e9bd b53_configure_vlan +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6dc5c628 b53_get_ethtool_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6f8c0760 b53_eee_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7079ca0a b53_get_strings +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x73d537cb b53_enable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x79849c4b b53_br_fast_age +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x822c9817 b53_phylink_mac_link_down +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8c72b225 b53_get_tag_protocol +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8d7dcd39 b53_mirror_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x92e36834 b53_fdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x93ad8065 b53_port_event +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x93e60a67 b53_vlan_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb0b1a567 b53_phylink_mac_link_up +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc0764d80 b53_get_ethtool_phy_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc3f89a94 b53_set_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd5432ae9 b53_eee_enable_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd7af1e74 b53_disable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xda7172d2 b53_switch_detect +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe1d7471b b53_br_leave +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xebb670d7 b53_mdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf0798c1e b53_br_set_stp_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf3d505d6 b53_fdb_dump +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x3279235e b53_serdes_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x90a4372b b53_serdes_phylink_get_caps +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xb9da9193 b53_serdes_link_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xca546b02 b53_serdes_phylink_mac_select_pcs +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x1b9b1e30 lan9303_shutdown +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x2377217c lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xab34a8b1 lan9303_remove +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xada83f40 lan9303_register_set +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0xddf32bf8 ksz8_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0x14f64541 ksz9477_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x716a1f05 ksz_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0xa8d56687 ksz_switch_remove +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0xd3ce74ed ksz_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x99d242fe vsc73xx_is_addr_valid +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x9b1d2a2b vsc73xx_probe +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0xa50061ac vsc73xx_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0xecd2948e vsc73xx_shutdown +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x6031a984 xrs700x_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x7f559a56 xrs700x_switch_shutdown +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x83b7b667 xrs7003f_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x8972bf7e xrs7004f_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xb25facfa xrs7003e_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xb89aa5e3 xrs7004e_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xd15d054c xrs700x_switch_register +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xfbed2b90 xrs700x_switch_remove +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x57ae56f0 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x74b69fbf ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x83cfa423 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x85d19a02 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x8e12d7f0 ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xadd34ee2 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xcff73684 ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xd8a98a90 ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xdad9a0a0 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xdd563d86 ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/aquantia/atlantic/atlantic 0x9b089d76 aq_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnxt/bnxt_en 0xd5e672b8 bnxt_ulp_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x880633d1 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0x1f92de76 cavium_ptp_get +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0x31af4297 cavium_ptp_put +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x0d8be5fd bgx_lmac_rx_tx_enable +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x34eeb48a bgx_set_dmac_cam_filter +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x42264715 bgx_get_lmac_count +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x46cdf933 bgx_config_timestamping +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x539ca253 bgx_get_lmac_mac +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x60cd1f2f bgx_lmac_get_pfc +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x6ca2152d bgx_lmac_set_pfc +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x716fd7f0 bgx_reset_xcast_mode +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x72b238e4 bgx_get_rx_stats +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xbe654297 bgx_get_tx_stats +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xc397f585 bgx_lmac_internal_loopback +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xc82be691 bgx_get_map +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xd8ed0bcc bgx_set_lmac_mac +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xf101d1b2 bgx_get_lmac_link_state +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xff987a02 bgx_set_xcast_mode +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_xcv 0x13912e4b xcv_init_hw +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_xcv 0x4f739dc0 xcv_setup_link +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x05465923 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0cf5931c t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x1a385598 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x2d78b612 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x3312a0b2 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x3e82ca15 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x637f93a9 cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x8640f2c1 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x9887bf36 cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xa753d559 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xb89f571d t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xc6a5d310 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd9123807 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xef442034 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf00b6abe t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf92cbb08 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x00522c82 cxgb4_write_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x00aff246 cxgb4_remove_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x012ca07a cxgb4_reclaim_completed_tx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x03b09100 cxgb4_remove_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0862b5b3 cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0ac2be5b cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0f1a5528 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x131bb047 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x143c5544 cxgb4_create_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x22766787 cxgb4_immdata_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2c654c5c cxgb4_read_sge_timestamp +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3815aaf2 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3c3e6b71 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4342c51f cxgb4_inline_tx_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x441fd1d0 cxgb4_smt_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50ee5c07 cxgb4_best_aligned_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5a64a65b cxgb4_check_l2t_valid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x738d17a6 cxgb4_port_e2cchan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x74d5aead cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x779d0210 cxgb4_update_root_dev_clip +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x79a28406 cxgb4_get_srq_entry +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x81270894 cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8184351c cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x88a6cabd cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x976f884f cxgb4_alloc_sftid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9d5e8261 cxgb4_read_tpte +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9d6769dd cxgb4_l2t_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9e73e2ff cxgb4_ring_tx_db +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa0db3647 cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa3ef5421 t4_cleanup_clip_tbl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa848e156 cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa8db193f cxgb4_smt_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb4b562c4 cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb80268cc cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbe14e74e cxgb4_clip_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbe15232e cxgb4_write_partial_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbee3e625 cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc00d0855 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xca308732 cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd1beb97d cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd3e6e2c3 cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd46a03af cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd5827336 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xdd51829d cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf5fa94ac cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf8f27457 cxgb4_map_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf9edb248 cxgb4_clip_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfa01e6a6 cxgb4_create_server6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfb7bf076 cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x091c5cf7 cxgbi_ppm_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x1bdaafe1 cxgbi_tagmask_set +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x255ab30f cxgb_get_4tuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x3c8f471f cxgbi_ppm_ppods_reserve +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x52a95b20 cxgb_find_route +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x5b7dc66e cxgbi_ppm_ppod_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xa670edba cxgbi_ppm_make_ppod_hdr +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xc79c723d cxgb_find_route6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xdc5d396e cxgbi_ppm_release +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x127c2712 vnic_dev_get_res_count +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x26cd98a8 vnic_dev_get_res +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x47ea5806 vnic_dev_unregister +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x4fddd17b enic_api_devcmd_proxy_by_index +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x522ad3e0 vnic_dev_get_pdev +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xdf5227b6 vnic_dev_register +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x3c8f5c48 be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x4e2e10d2 be_roce_mcc_cmd +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x96d8866d be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x1b69bac1 fun_dev_disable +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x275fd61f fun_release_irqs +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x4e319e96 fun_dev_enable +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x6654a085 fun_reserve_irqs +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0xc5908286 iavf_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0xdd6a4cf2 iavf_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/ice/ice 0x965ff908 ice_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/intel/ixgbe/ixgbe 0xbaa35511 ixgbe_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/marvell/prestera/prestera 0x07d714b4 prestera_device_unregister +EXPORT_SYMBOL drivers/net/ethernet/marvell/prestera/prestera 0x08f89450 prestera_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0b6def6f mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x164dd009 mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1692dd13 mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x19ea8ab6 mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1e3003b3 mlx4_gen_port_state_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x21f290da mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x239db1d3 mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x23d1230f mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2abfe626 mlx4_SET_PORT_user_mtu +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2e97f003 mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3fb1dca3 mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x41238e73 mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x435c0689 mlx4_get_eqs_per_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4fc8bea4 mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x65607a56 mlx4_get_parav_qkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6b3a9938 mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6f31569a mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fdde0b4 mlx4_handle_eth_header_mcast_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8ea03ef9 mlx4_sync_pkey_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x90e3c78d mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9a88c779 mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9fdc94b4 mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa2a771c8 mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa8662e79 mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb14b79a6 get_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb2579a3c mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb39fd18e mlx4_query_diag_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbe69c5e1 mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc3ef3fab mlx4_test_async +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc6673042 mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc74c469c mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcb897f19 mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xce761f27 mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd03c5b24 mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd579459a mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd7f2e311 set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdc578d87 mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe2d10e72 mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe3052a23 mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xefaef107 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf08962ed mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf0de86c1 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf355e6a2 set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfef941cc mlx4_SET_PORT_user_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xff93a66e mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x003fd569 __traceiter_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x012f5b96 mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x02b22f52 mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x06c8ddd5 __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x07aa7611 mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0909b924 mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x09e2a5fa __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0a21b020 __traceiter_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0c998e78 mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0fa1c8e2 mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x14f41a12 mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x153a9660 mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x16f7e5a9 mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1a9870fb mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1aec234b mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1c57c524 __traceiter_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1ff77191 mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x23082b11 __SCK__tp_func_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x23fcd93a mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x242d205b mlx5_core_alloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2431f634 mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x24e5ea18 __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x278f85a9 __SCK__tp_func_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2852fb6b mlx5_lag_get_peer_mdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2baf8bbf mlx5_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2c68c95a mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2f03bafb mlx5_cmd_out_err +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2f9effd7 mlx5_lag_get_num_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3056166c mlx5_cmd_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x308ba914 mlx5_vf_put_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x313394de mlx5_create_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x324c16ad __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3384ed33 mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x33d86e08 mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x34292fb4 mlx5_debugfs_get_dev_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x382c28c3 mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3945a4c5 mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3956791e __traceiter_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3c3b1717 mlx5_rsc_dump_cmd_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e8aebb2 mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x40cbbf40 mlx5_mpfs_add_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x45745743 mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4660c43b __SCK__tp_func_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x477ec383 mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x478e0625 mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x495ccaa0 mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x49b4bd2b mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4b7f64fc mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4c66ac17 mlx5_sriov_blocking_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4c7bac40 mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4cace222 mlx5_lag_is_master +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4e10c29c __SCK__tp_func_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4e57c546 mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5146e42a mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x55839d3d mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5889f5ec mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x591f709e mlx5_eswitch_get_vport_metadata_for_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x59774b60 mlx5_eswitch_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5b6994df mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5c6e2b0d mlx5_create_flow_group +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5d499e18 mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5dd7da2b mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5e6e3a50 mlx5_lag_is_shared_fdb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5eaf8801 mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x61492bb7 mlx5_rl_are_equal +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x62dc190a __SCT__tp_func_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x65151215 mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x66544367 mlx5_cmd_do +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x67279c47 __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x699ac6ed mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6bdf0734 __traceiter_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6f2f8a30 mlx5_sriov_blocking_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x727fc266 mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x76fe9405 mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x79b5d725 mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7afcb0f7 mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7b31d8d1 mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7cff1324 mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7d3548dd mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7db04794 mlx5_mpfs_del_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7e70a03b mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x803f834d __traceiter_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x814d1110 mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x82bfdc17 mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x84a12cfa mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8718bb82 mlx5_rsc_dump_next +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x87776f65 mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x879e1d1b __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8a0dc3c5 __SCK__tp_func_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8a9142c8 mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8d88834f mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8e39ec04 mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8e71cf9a mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8e9b326a __SCK__tp_func_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8ef3e73f mlx5_query_ib_port_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x90191d3e __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x94157646 mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x95f471c8 mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x966bfced mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96da20a7 __SCK__tp_func_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96eb2c99 mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x983ef040 mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x98a0aa68 mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x98e0298a mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d36ddd0 __SCT__tp_func_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa0c4f3d5 mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa376089e mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa58b1536 mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa7f64bcd mlx5_vf_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa932a846 mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa9b7bc69 mlx5_is_roce_on +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xab521f6e __traceiter_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xacfe8a18 __SCT__tp_func_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xad6815cd mlx5_rsc_dump_cmd_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xafdc6a16 __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb06444f9 mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb06c0bfd __SCT__tp_func_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb28dbbe8 mlx5_destroy_flow_group +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb4e976bb __SCT__tp_func_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb5ae5211 mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb6b12f04 mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb76c3c33 mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba38bf3d mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba5c2f4f __traceiter_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbdbf7318 mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbe0feaec mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbeeb8dce mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc34ef5e1 mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc36dce85 mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc6231bf8 mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc66b67b6 mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xca2b821a mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcad019c3 __SCT__tp_func_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc002b85 mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xce332b84 __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcf760867 mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd020dd1f __traceiter_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd2252721 mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd32465e8 mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd4fe1479 mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd50004c8 mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd5c03c47 mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd7eb7a58 __SCK__tp_func_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd888d2a8 mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdb35e256 mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdb622108 __SCT__tp_func_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdbb9c5a7 mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdef70e74 mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdfbc08aa __SCT__tp_func_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe1dd123f mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe2fde82e mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe30fb2a8 __SCT__tp_func_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe5ad0cad mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe5ecbbbc mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe87000d7 mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xea9c8a0c mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeac94c4f mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xed39874e mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xef7473f8 __SCK__tp_func_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf28e5e03 mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf40ad6df mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf466917e mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf4c6e90b mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf8772c9a mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf8873836 mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfa297fa7 mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfc694ea4 mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfc999ab5 mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0xaf1a42d8 mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0137f952 mlxsw_afk_values_add_buf +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02815b77 mlxsw_env_module_port_up +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02dfd3d0 mlxsw_afk_key_info_block_encoding_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x07abcc0c mlxsw_afa_block_append_trap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x087c0c78 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0ca34ccf mlxsw_core_max_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x10d3c264 mlxsw_core_port_is_xm +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x14e17bb4 mlxsw_linecards_event_ops_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x15801382 mlxsw_afk_key_info_put +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x18b0ad00 mlxsw_afa_block_append_police +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x19fa5852 mlxsw_core_flush_owq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1b4fb0b0 mlxsw_afa_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1c6605f6 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1cb8f858 mlxsw_reg_trans_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x202693f0 mlxsw_afa_block_cur_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2130a655 mlxsw_core_skb_transmit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x21daf3af mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2a4ddd44 mlxsw_env_get_module_power_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x34561713 mlxsw_core_trap_state_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x38185d87 mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3fae4160 mlxsw_env_get_module_eeprom +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4036254f mlxsw_linecards_event_ops_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x406b4614 mlxsw_afa_block_append_counter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x43a9b87e mlxsw_afa_block_terminate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x47041e4e mlxsw_afk_key_info_blocks_count_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x484489a4 mlxsw_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4b0bae55 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4e6be521 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x508923e3 mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x51b5769d mlxsw_env_module_overheat_counter_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x55a65610 mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5a099407 mlxsw_afa_block_append_qos_dscp +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5a939205 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5cf3dd79 mlxsw_core_bus_device_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5ebcd6b7 mlxsw_env_reset_module +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5ff17b5c mlxsw_afa_block_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x618a30ab mlxsw_afa_block_commit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x63874d4c mlxsw_core_port_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x65e16da4 mlxsw_afk_key_info_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6929f2b4 mlxsw_env_module_port_map +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6ef8e150 mlxsw_core_rx_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73489011 mlxsw_afa_block_append_ip +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x75339042 mlxsw_core_lag_mapping_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77d83398 mlxsw_core_read_frc_l +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7b0bfeec mlxsw_core_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7ca5b4d4 mlxsw_afa_block_append_sampler +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7e08c6e0 mlxsw_core_event_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7f24c6a9 mlxsw_core_traps_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7f659d4c mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x827a2f1f mlxsw_afa_block_jump +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x829e8851 mlxsw_afa_block_first_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x83fb69af mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x858c30d0 mlxsw_afa_block_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8854d198 mlxsw_reg_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8f7fbb2b mlxsw_core_trap_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x902c3533 mlxsw_core_schedule_dw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x92772a9d mlxsw_afa_block_append_mirror +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x93a4571a mlxsw_core_rx_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x963cfb6a mlxsw_core_resources_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x97035a9c mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x97e62e6e mlxsw_env_get_module_eeprom_by_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x98bfa19b mlxsw_env_set_module_power_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x996c5d6d mlxsw_reg_trans_bulk_wait +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x9cbf026d mlxsw_afa_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x9e41f494 mlxsw_afk_encode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7765e88 mlxsw_reg_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa8cccf0b mlxsw_core_port_devlink_port_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xac1074a5 mlxsw_core_skb_transmit_busy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xad19210b mlxsw_core_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb6517b2e mlxsw_afa_block_append_trap_and_forward +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb68e9fa8 mlxsw_env_module_port_unmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb6b40684 mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb7563f06 mlxsw_core_port_eth_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xba05b3b0 mlxsw_core_emad_string_tlv_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbc222a8d mlxsw_afk_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbc71f440 mlxsw_core_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfb7df3c mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xcbab836f mlxsw_core_fw_rev_minor_subminor_validate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd178cff0 mlxsw_core_bus_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd28256cf mlxsw_afa_block_append_allocated_counter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd71566b9 mlxsw_core_schedule_work +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd7a93413 mlxsw_core_event_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd84eb6b0 mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd9f711ae mlxsw_afa_block_append_mcrouter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdc31781e mlxsw_reg_trans_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdc415cf1 mlxsw_afa_block_continue +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdc63acd8 mlxsw_core_trap_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdce657dd mlxsw_core_traps_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xde4e211f mlxsw_afa_block_append_l4port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeab0691 mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeb1dc2e mlxsw_afa_block_first_kvdl_index +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe029028b mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe16986dd mlxsw_afa_block_activity_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe5540be5 mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xecab212a mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xed2801d4 mlxsw_env_module_port_down +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xeda7a5d0 mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xedcfdf08 mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf3a5d586 mlxsw_core_ptp_transmitted +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf82bdc70 mlxsw_core_lag_mapping_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xff007c25 mlxsw_core_cpu_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x117f9a9a mlxsw_i2c_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0xc681c5cd mlxsw_i2c_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x3d06839e mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0xb3b4e8df mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x079deedf ocelot_vcap_filter_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0acb4681 ocelot_port_txtstamp_request +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0e61eee0 ocelot_port_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x118c43ea ocelot_vcap_filter_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x12cc1f70 ocelot_fdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x14f0c766 ocelot_port_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x160cf826 ocelot_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x19453204 vsc7514_vcap_is1_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x200365af ocelot_deinit +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x272b15ca ocelot_mact_learn +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x274a0e05 ocelot_port_fdb_do_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2aaee3f3 ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2e9b865e ocelot_sb_tc_pool_bind_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2ee2eeab ocelot_vcap_block_find_filter_by_id +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x347f022a ocelot_sb_port_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3cdff98e ocelot_init_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3ebe0b69 ocelot_get_txtstamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3f9fc337 ocelot_init_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4271543f vsc7514_vcap_es0_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x46e91519 ocelot_port_pre_bridge_flags +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x48358ce1 ocelot_hwstamp_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x49e0376a ocelot_ptp_gettime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4a416684 ocelot_port_vlan_filtering +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4f010e65 ocelot_ptp_verify +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x54d2036e ocelot_vcap_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x566da2d4 ocelot_port_set_maxlen +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5683c4d1 ocelot_port_mdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5b7ca340 ocelot_port_bridge_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5ea03d49 ocelot_vlan_prepare +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5ecb0188 ocelot_mrp_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x621dabdf ocelot_ptp_rx_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x642492bb ocelot_mrp_add_ring_role +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x660855ec ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x666dff9e ocelot_mact_forget +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x66a2a809 ocelot_ptp_settime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6fe5d7b3 ocelot_sb_occ_tc_port_bind_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7037666b ocelot_devlink_sb_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7c214b56 ocelot_port_lag_change +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x80a75405 vsc7514_vcap_is2_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8100b875 ocelot_hwstamp_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x82d58c40 ocelot_ptp_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x83ca50a5 ocelot_port_mdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x83e980f5 ocelot_get_sset_count +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x85a37051 ocelot_can_inject +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8d14d8cc ocelot_sb_port_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8d985185 ocelot_vlan_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8de96ec5 ocelot_deinit_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x90408b3a ocelot_sb_occ_snapshot +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x90cbb220 vsc7514_vcap_is2_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x92fd13f5 ocelot_mrp_del_ring_role +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9381969d vsc7514_ana_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x98cbfb41 ocelot_policer_validate +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9d442141 vsc7514_rew_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa8413d7e vsc7514_sys_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xacbab280 ocelot_set_ageing_time +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb1c799e5 ocelot_port_lag_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb30c4b92 vsc7514_ptp_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb44a2f0e ocelot_port_inject_frame +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb55f7c36 ocelot_fdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xba52b4ee ocelot_xtr_poll_frame +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbba17367 vsc7514_qsys_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbc222a55 ocelot_drain_cpu_queue +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbf48ddc1 vsc7514_qs_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc0a5a217 ocelot_vcap_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc0f23631 ocelot_sb_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc1c5c2b4 ocelot_devlink_sb_register +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xce9332b0 ocelot_get_strings +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xceed5e7e vsc7514_dev_gmii_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xcfcdfe1d ocelot_ptp_adjtime +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd0ebefd9 ocelot_ifh_port_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd2fac698 ocelot_fdb_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd34dc4f0 ocelot_sb_tc_pool_bind_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd576da62 ocelot_vlan_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd640554f ocelot_mact_learn_streamdata +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd6406ed6 ocelot_sb_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd687a545 vsc7514_vcap_es0_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xdcafdedc ocelot_vcap_filter_replace +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xdda9d2ed ocelot_sb_occ_port_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe12456fe ocelot_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe89ee8ff ocelot_sb_occ_max_clear +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xea1b5ac9 vsc7514_vcap_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xecaa97fb vsc7514_vcap_is1_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xef71688d ocelot_port_bridge_flags +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xefdc7652 ocelot_bridge_stp_state_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf478a2e2 ocelot_mrp_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf55aa977 ocelot_mact_lookup +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf638df79 ocelot_deinit_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf670e312 ocelot_get_ethtool_stats +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xfc522bdd ocelot_get_ts_info +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xfc8b6a4e ocelot_port_lag_leave +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x176437fa qed_get_rdma_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x2086e07d qed_get_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x2b8f316f qed_get_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x4f264472 qed_put_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x992e03d0 qed_put_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x9eeeef48 qed_put_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0xb5f59ab2 qed_get_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0x3e7c09f6 qede_rdma_register_driver +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0x90037d58 qede_rdma_unregister_driver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x02a7cc75 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x5ac95b68 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x999cd49c hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x9edc4c55 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xe3dfb0ab hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/mdio 0x3e17f466 mdio_set_flag +EXPORT_SYMBOL drivers/net/mdio 0x60443957 mdio45_probe +EXPORT_SYMBOL drivers/net/mdio 0x63e0fee5 mdio45_links_ok +EXPORT_SYMBOL drivers/net/mdio 0xaadfd1af mdio45_ethtool_ksettings_get_npage +EXPORT_SYMBOL drivers/net/mdio 0xb79a54ee mdio45_nway_restart +EXPORT_SYMBOL drivers/net/mdio 0xcdbdeca7 mdio45_ethtool_gset_npage +EXPORT_SYMBOL drivers/net/mdio 0xdaceb7a6 mdio_mii_ioctl +EXPORT_SYMBOL drivers/net/mdio/mdio-bitbang 0x47c9bfbc mdiobb_read +EXPORT_SYMBOL drivers/net/mdio/mdio-bitbang 0x9da81360 mdiobb_write +EXPORT_SYMBOL drivers/net/mdio/mdio-bitbang 0xeaf3d512 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/mdio/mdio-bitbang 0xfbb1e3c1 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/mdio/mdio-cavium 0x142ddee2 cavium_mdiobus_write +EXPORT_SYMBOL drivers/net/mdio/mdio-cavium 0xecbef602 cavium_mdiobus_read +EXPORT_SYMBOL drivers/net/mdio/mdio-mscc-miim 0x9742034a mscc_miim_setup +EXPORT_SYMBOL drivers/net/mii 0x043e415e mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0x24578faa mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0x48fd3b8b mii_ethtool_get_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0x4cbcedca mii_check_link +EXPORT_SYMBOL drivers/net/mii 0x54817f8f mii_ethtool_gset +EXPORT_SYMBOL drivers/net/mii 0x755cabe9 mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0x8642cc65 mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0x97b752ef mii_check_media +EXPORT_SYMBOL drivers/net/mii 0xa97c6eb1 mii_ethtool_set_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0xb14ac36b generic_mii_ioctl +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0x294d40ef lynx_get_mdio_device +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0xa6bf0e9e lynx_pcs_destroy +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0xff3eee99 lynx_pcs_create +EXPORT_SYMBOL drivers/net/phy/bcm-phy-lib 0x65274a5a bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/ppp/pppox 0x27401d68 register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0x647b653d pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0x912a6e89 pppox_compat_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xfb60cd90 pppox_ioctl +EXPORT_SYMBOL drivers/net/sungem_phy 0xfb9c3fdd sungem_phy_probe +EXPORT_SYMBOL drivers/net/team/team 0x5baa16f3 team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/team/team 0x961b16bd team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0xa6b61107 team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0xb6bb0463 team_modeop_port_enter +EXPORT_SYMBOL drivers/net/team/team 0xc20fe62e team_options_register +EXPORT_SYMBOL drivers/net/team/team 0xc2af0e32 team_options_unregister +EXPORT_SYMBOL drivers/net/team/team 0xcbb879ac team_options_change_check +EXPORT_SYMBOL drivers/net/team/team 0xe5744508 team_option_inst_set_change +EXPORT_SYMBOL drivers/net/usb/usbnet 0x0f76e603 usbnet_manage_power +EXPORT_SYMBOL drivers/net/usb/usbnet 0x7560f3c9 usbnet_link_change +EXPORT_SYMBOL drivers/net/usb/usbnet 0x7c450345 usbnet_device_suggests_idle +EXPORT_SYMBOL drivers/net/wan/hdlc 0x215ebf41 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x2cd7896d unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x2f61fc9d hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x5d8f2cfc register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x5fb58ac4 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x76b94ccb alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7b54f8fc hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x8a13f576 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x9a7f9563 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd7c66804 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0b1ab353 ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x108b188f ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x17379907 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x332ee3ae ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4571aea8 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x582bfa2c ath_hw_keysetmac +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7a0fcf87 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x8e600a3a ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x9e4d8d00 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa18f224e ath_regd_find_country_by_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa3f8b4b8 ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xaacc8e16 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb6588ba6 ath_bus_type_strings +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb7cbff3a ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xbcb5db64 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd2a12810 dfs_pattern_detector_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xda773f38 ath_is_mybeacon +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xfbf0048d ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x012dcc18 ath10k_ce_send +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x015e5db2 ath10k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0486601c ath10k_coredump_new +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x07fa28ec ath10k_htt_rx_pktlog_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0e381726 ath10k_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x13a56cd1 ath10k_core_fetch_board_file +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x145c83d1 ath10k_htc_notify_tx_completion +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1ca91ae0 ath10k_ce_send_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1ce7fe9e ath10k_ce_completed_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x268de2c4 ath10k_htc_rx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2d1266b4 ath10k_ce_alloc_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x308bcabb ath10k_ce_cancel_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x32c068ba ath10k_htt_txrx_compl_task +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3c3fc902 ath10k_ce_free_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3dba30e7 ath10k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x49692081 ath10k_core_napi_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4f2cd1b0 ath10k_core_check_dt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x51dea815 ath10k_ce_free_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x56b776c4 ath10k_ce_deinit_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5c4230f0 ath10k_core_unregister +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5cf3517d __ath10k_ce_send_revert +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6092db32 ath10k_htc_process_trailer +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x64ca19d8 ath10k_coredump_get_mem_layout +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x65b18288 ath10k_ce_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6625cdd9 ath10k_ce_revoke_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x67d8cc6e ath10k_htt_rx_hl_indication +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6bde13e7 ath10k_core_register +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x715577ce ath10k_ce_rx_update_write_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7635613e ath10k_htc_tx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x78ffc62d ath10k_mac_tx_push_pending +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7d8caa1e __ath10k_ce_rx_num_free_bufs +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x88e9b4bf ath10k_ce_completed_recv_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8e75c827 ath10k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x92c3e037 ath10k_ce_completed_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x93888807 ath10k_core_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9c9246cb ath10k_core_napi_sync_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa96054ba ath10k_htt_t2h_msg_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xaad7fddb ath10k_ce_enable_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xacb63ed5 ath10k_print_driver_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xaf700a88 ath10k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb2651f8a ath10k_ce_dump_registers +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb3fd0aec ath10k_ce_num_free_src_entries +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb4338c6e ath10k_core_start_recovery +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xbcff04ce ath10k_ce_init_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc12bb994 ath10k_core_free_board_files +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcdb723c5 ath10k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcdd12034 ath10k_htt_hif_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd25b264b ath10k_core_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd543373b ath10k_bmi_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd6a7b31e ath10k_ce_alloc_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd9561f46 ath10k_ce_completed_send_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xdc0c3f69 ath10k_bmi_read_memory +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xdf9c2046 __tracepoint_ath10k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe2ebd5fc ath10k_ce_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe5b62925 ath10k_ce_disable_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xecc9865a ath10k_ce_per_engine_service_any +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf8a17bea ath10k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xff121c5f ath10k_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x049eb47c ath11k_pcic_ext_irq_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x0692c891 ath11k_ce_cleanup_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x0b1dd4f5 ath11k_pcic_config_irq +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x108dff53 ath11k_pcic_register_pci_ops +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x1794c8b0 ath11k_core_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x1e6acaa9 ath11k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x1fde42b7 ath11k_pcic_get_ce_msi_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x27cc5d2d ath11k_pcic_get_user_msi_assignment +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x2d2d8f30 ath11k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x3408d96e ath11k_pcic_read32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x351c58d0 ath11k_pcic_write32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x37af2699 ath11k_pcic_free_irq +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x3d7b5730 ath11k_core_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x3df2f8e0 ath11k_pcic_ext_irq_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x4367e224 ath11k_pcic_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x4d0d9a5a ath11k_core_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x4fb0fa6f ath11k_ce_free_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x5d9b5c0b ath11k_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x61dc98a5 ath11k_pcic_get_msi_address +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x6532f436 __tracepoint_ath11k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x72a86156 ath11k_pcic_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x74e82e9a ath11k_ce_alloc_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x82e5993e ath11k_core_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x8ce0224b ath11k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x90505305 ath11k_core_pre_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x97fc0614 ath11k_pcic_ce_irq_disable_sync +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x9c51bcc4 ath11k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xa23065a1 ath11k_hal_srng_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xa42578a4 ath11k_ce_get_attr_flags +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xa8b26ae1 ath11k_debugfs_soc_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xac097d5b ath11k_hal_srng_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xb0772020 ath11k_qmi_deinit_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xbecd8c28 ath11k_dp_service_srng +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xd33dbd9e ath11k_core_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xdc91ce1a ath11k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xdfef4752 ath11k_pcic_ce_irqs_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xe2d413fc ath11k_ce_get_shadow_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf0197188 ath11k_cold_boot_cal +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf41fbf1e ath11k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf5fedee8 ath11k_pcic_map_service_to_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xfa94666c ath11k_pcic_init_msi_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x04887e3b ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1354043d ath6kl_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x2b3244f2 ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x32e1be5b ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3502feef ath6kl_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x8b5ca4d2 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x9953727e ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xa9e0c9d7 ath6kl_read_tgt_stats +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb11b65d3 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb881b1a9 ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb9a689dd ath6kl_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xc4e87324 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xc7656ad8 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xe06e887f ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xead1d156 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x0b65604e ath9k_cmn_spectral_scan_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x102ed351 ath9k_cmn_beacon_config_adhoc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x1ec287fa ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x35a6fa20 ath9k_cmn_reload_chainmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3f042600 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x41aae67b ath9k_cmn_debug_stat_rx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x49786844 ath9k_cmn_beacon_config_sta +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x51e5ed06 ath9k_cmn_rx_accept +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x522446e1 ath9k_cmn_process_rssi +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x61256457 ath9k_cmn_rx_skb_postprocess +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x6afae687 ath9k_cmn_debug_recv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x6b068b48 ath9k_cmn_get_channel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7620ba95 ath9k_cmn_spectral_scan_trigger +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x87f9636b ath9k_cmn_beacon_config_ap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x8cbb731e ath9k_cmn_init_channels_rates +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xab1e2d5c ath9k_cmn_debug_base_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xabd1219c ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb9f9d498 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xc1e54dd8 ath9k_cmn_setup_ht_cap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xc2f39c9f ath9k_cmn_debug_modal_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xc3e357b5 ath9k_cmn_process_rate +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xda4a1ab3 ath9k_cmn_spectral_deinit_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xdd56ea3a ath9k_cmn_spectral_init_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf42a7135 ath_cmn_process_fft +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00b37e29 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x04654fc5 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x06284b40 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0657f6b0 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x06aa7dab ar9003_mci_get_next_gpm_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0a5ba058 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f77dafc ath9k_hw_get_tsf_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x124d629b ath9k_hw_btcoex_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x12979745 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x134cec42 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1384a79c ath9k_hw_wow_wakeup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x15cd936a ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x16145d4e ath9k_hw_btcoex_set_concur_txprio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x16b1fce5 ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x17a6b841 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x199f6093 ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1e1f3ab8 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x20bf1f5c ath9k_hw_set_tx_filter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x215615fd ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x22150b9c ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x278b1aa1 ath9k_hw_check_nav +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x29b31f00 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2c10a1f6 ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2c17a2a1 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2d285f21 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2d5c4cef ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2e714c28 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2f585c0e ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3074b095 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x313feb2a ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x349d1e79 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x357e0d40 ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x365888fa ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x37ed275a ath9k_hw_loadnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3c253c17 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3ca2ab4a ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3d734a27 ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3d735578 ar9003_is_paprd_enabled +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3feaa099 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x41a8ac8c ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x445f657f ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4667be6f ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x46ab3428 ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x48a6825d ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4bccecad ath9k_hw_wow_apply_pattern +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x51836b19 ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x59dc3941 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5d93c96c ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x67db0adf ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6973df0d ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6c924ec1 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6d1f2410 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6d6cdd0e ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x70db5621 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x773f0335 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7d90e412 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7de131fe ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7e9a54c7 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8811a6c6 ar9003_mci_set_bt_version +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x88393574 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8973ba4c ar9003_mci_send_wlan_channels +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8a11de4b ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8cefdd72 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8e60d10a ath9k_hw_gpio_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8ed12546 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8f31ca6e ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x92e885ac ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x93e61cdd ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x94d04afb ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x990a66c7 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9ade9b9c ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9d0fcb3d ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa34fca82 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa4595f97 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa50f97b0 ath9k_hw_resume_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa6a14f20 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaaee2672 ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xabf11336 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaf8dd54a ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb0d6e2bc ath9k_hw_gpio_request_out +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb4f3127b ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb6891cc8 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb6d37e63 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb6f335ee ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb9da01a0 ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbe3f53d4 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc0edba5f ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc10fc74c ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc80f07b0 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcc1c010a ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcc245eef ath9k_hw_wow_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd81e2f9d ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdb7eb899 ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdc8cc82f ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdd34f09e ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe2d872d8 ar9003_hw_bb_watchdog_check +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe76f09fe ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe7e694e1 ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xeb758f76 ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xed3630bd ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf04c3106 ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf2449203 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf2a8b166 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf44383e4 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf4e49cca ath9k_hw_gpio_request_in +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf9474688 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfe7283eb ath9k_hw_kill_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfe7dbdeb ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xb3b3f780 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xc010cd3f init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xd2a35529 atmel_open +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1906648e brcmu_boardrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1dc42610 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x36aa4999 brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x374bf2a7 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x386fc162 brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x44ca0b6c brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x70f5d9d4 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x796f3191 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x9126ecd3 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xa17c0ccf brcmu_dotrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xbaca0508 brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xccdd6830 brcmu_pktq_pdeq_match +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd6217d91 brcmu_d11_attach +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xda215603 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xde8209ee brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xf3f092dc brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0x33181324 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0x669022e5 init_airo_card +EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0xb2af666d stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x01e3b817 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x03926343 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x13765e46 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x138b4766 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x32f7ccbb libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x335039ff libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x41ae1bc3 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x567af62d libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x5aeec92f libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x5b0cb83a libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x61c9cc1e libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7823a048 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x8c284ec4 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x904c625c libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xb4e6d9be libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xcb77fa69 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xcee6fad1 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xcfbeb84c alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xd02e76f6 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xee444883 free_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0142e299 il_update_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x02392085 il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x06bb8f39 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0c560902 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0d177aa3 il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x124bf7b8 il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1274ac06 il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x152c0cc6 il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1c03af49 il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2208fe45 il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x23729a89 il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x24599c4a il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x24fee91f il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x289b0dd1 il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2b14be36 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2bf7eea6 il_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2cfaf22a il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x31dc9969 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x34156100 il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x36754a26 il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3733fbd5 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x37f4df3b il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x382a3b76 il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3ce95d7f il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3d564207 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3dc42146 il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x40030ca8 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416bd26a il_debug_level +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416c14a4 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x421212dc il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4270459d il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4a375fd0 il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4b65efe6 il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4b95081c il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4bbebaa6 il_force_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4bc5e467 il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4c10592b il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4e4b5562 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x500413b6 il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x50418011 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x534ba56d il_mac_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x54caf783 il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x565ace92 il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x599fa5d7 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5e0b7626 il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5f32b891 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x60e10233 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x60eee9cc il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6287794b il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6486ff80 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6cfd6854 il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6eeed238 il_set_rate +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x713d8140 il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x73af54c3 il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x775ce642 _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fbdb227 il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x81b876ff il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x84210154 il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x85622899 il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8e1058df il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8f4388f1 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9170d30c il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x961ce7c9 il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x99ff4034 il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9cc714af il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9e68cd46 il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa4f9eb24 il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa7a9834d il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb034a0c2 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb12f808c il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb17dc6d6 il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb263a525 il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb65510a3 il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb7bd33ff il_isr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbaadb960 il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbb7a5b6d il_init_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc454dc78 il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc5133e7e il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc9c10bfb il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xccd026d2 il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcdd2bca9 il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcdd8b943 il_leds_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xce613bea il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd201e7ab il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd287ac93 il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd744468b il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd930f239 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xda0d000e il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe1a6b148 il_free_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe4c29a3a il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe50b859c il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe7c50ac1 _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe8515059 il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xed9d3aeb il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf22b3185 il_mac_flush +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf3d9b409 il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf5d43438 il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf70a693b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf7197963 il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf9a5ad74 il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfb4dda07 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfbcb11f9 il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfc8f5d57 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfe505943 il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x0433cb4f __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x04bfbe20 __traceiter_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x17c62b99 __SCK__tp_func_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x194aeffb __SCK__tp_func_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1bdb8844 __traceiter_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x322242cb __traceiter_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x38688d65 __SCT__tp_func_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3a2a40a5 __SCT__tp_func_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x799d82e7 __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x804a57a3 __SCK__tp_func_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd81e2f28 __SCT__tp_func_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xee11fedd __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x023896f4 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x0963814c hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x09645318 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x1206ab15 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x17918fe5 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x28a5d6a7 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x2c8f8eee hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x3813ab7b hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x3fc2fcb6 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x43c65e8b hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x5b24eef5 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x6032f904 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x6da3e8f7 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x6db3f4a8 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7325c732 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x75934c58 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fb75891 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9747222f hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9d8507e9 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9fdcb8ce hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xbbd370ea hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc484f38e hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc8712080 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xe0b785c8 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xe5204d52 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xf707d4aa hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xf91c03e2 hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xf960f481 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x1adda21a __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x361b96d7 orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x4765d1b1 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x51ef0f8f __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x70750380 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7769279a orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7afd5acd orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x8b2feb91 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xa5664dc4 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xa74c2dc5 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xb14b01fb orinoco_open +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xb34a3879 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xb73a65c9 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xb73c897d orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xf726ee32 orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xfaadecf7 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0x4d41d6a0 mt76_wcid_key_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0x830f4897 rtl_btc_get_ops_pointer +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0e3bed07 rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x16994521 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1705bdf0 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2327d91c _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x25037d04 rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2554dfea _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x262a3c88 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x39ffa7df rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3e9384ff rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x444d7f99 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x46fdb6dd rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x48d98609 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x49e58072 _rtl92c_phy_dbm_to_txpwr_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4aee94cb rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4b58f119 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x524f5a29 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5386abd5 rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x656c321b rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x682901e8 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x687d2d8f _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x694b43f3 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6cf2fac4 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x77845d06 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x82f51bd5 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x8751bd77 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x8a139074 _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x94a44d10 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x973b6e3c rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9a6fd375 _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa297ad0c rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa990ada5 _rtl92c_store_pwrindex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb62270b2 _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xba138100 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xca543ed4 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd816bda2 rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xddbe2007 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe0357f5a rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe246d45e rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xeb2fa49d rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xef677065 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf288b9ad rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf33ff9eb rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x270511ed rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x826bace6 rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x8cb1f8f5 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xa428acdc rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x165c4c7f rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x18ddc26c rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x25ced191 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x90ba0acf rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0845b65c rtl_signal_scale_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0b038e24 channel5g_80m +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0bfabb5a efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x13c0612e rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x170b6b83 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1b945315 rtl_addr_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1ce4dc6c efuse_one_byte_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x26ce61e6 rtl_process_phyinfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30a956d7 rtl_query_rxpwrpercentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3a07bbb5 rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x50914ddd rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54824f58 channel5g +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x63f86955 rtl_bb_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x69e979dc rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x78990e2c rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x79f10e9b rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7f568e66 rtl_rx_ampdu_apply +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8b5b7f60 rtl_mrate_idx_to_arfr_id +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8ea60059 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x93f35e7e rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x95e7c52b rtl_hal_pwrseqcmdparsing +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb85b96d1 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb94158a6 rtl_c2hcmd_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc7e07918 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd1d6f981 efuse_shadow_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd7a3ec0a rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd8de1a78 rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xda716695 rtl_collect_scan_list +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe333c0ed rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xeb780ab4 efuse_power_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xebedfe5f rtl_wowlan_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xecf9792b rtl_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xed7c8cf2 rtl_evm_db_to_percentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf3490475 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf5d18560 rtl_cmd_send_packet +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf9137327 rtl_rfreg_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xfe51adb5 rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8723d 0xc0b981a6 rtw8723d_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8821c 0x5d79f62b rtw8821c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0x2b59fb14 rtw8822b_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0xc49b902a rtw8822c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x038c188f rtw_phy_config_swing_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0eaf3b04 rtw_phy_cfg_agc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x15f73410 rtw_bf_set_gid_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x16957730 rtw_register_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x17d71fd7 rtw_dump_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1bac1df2 rtw_bf_enable_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1f1bc129 rtw_phy_load_tables +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x25925cc2 rtw_phy_pwrtrack_avg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x27ee1611 rtw_tx_write_data_h2c_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x283bfd66 rtw_coex_write_scbd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2bbc9407 rtw_phy_parsing_cfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2c3c7d96 rtw_tx_report_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2fbcd3f6 rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x326f6e2c rtw_phy_pwrtrack_thermal_changed +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x33b3f3c0 rtw_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x35f52138 rtw_phy_write_rf_reg_mix +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x36c5bfca rtw_disable_lps_deep_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3e02a06c rtw_phy_cfg_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3f4e4b85 rtw_tx_fill_tx_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4044ed36 rtw_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x440b7589 rtw_phy_rf_power_2_rssi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4c384afe rtw_bf_cfg_csi_rate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x50d29b99 rtw_phy_get_tx_power_index +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x519c8ba9 rtw_rate_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5483f276 __rtw_dbg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x579cc326 rtw_read8_physical_efuse +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x58210e60 rtw_rate_section +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5c1d96b6 rtw_coex_read_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5e2c60fe rtw_fw_do_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5fe951be rtw_phy_set_edcca_th +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x61720fa5 rtw_fw_inform_rfk_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6c02220f rtw_power_mode_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x71ab014d rtw_parse_tbl_txpwr_lmt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7434a42d rtw_parse_tbl_bb_pg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7b8b378c rtw_unregister_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7d36be89 rtw_rx_fill_rx_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7f86a629 rtw_fw_c2h_cmd_isr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x80532aa9 rtw_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x84e92bb5 rtw_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x87a30955 rtw_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9425c7b5 rtw_bf_remove_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x96d68c6c rtw_set_channel_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9a883515 rtw_phy_write_rf_reg_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9c8f1055 rtw_restore_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa0038f3f rtw_phy_pwrtrack_need_lck +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa3a23013 rtw_phy_pwrtrack_get_delta +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa68bf563 rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb0b939d3 rtw_fw_c2h_cmd_rx_irqsafe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb19b8285 rtw_regd_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb19fa012 rtw_phy_pwrtrack_need_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb42b62aa rtw_rx_stats +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb753d2a9 rtw_set_rx_freq_band +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc37b207f rtw_tx_write_data_rsvd_page_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc429e688 rtw_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc94f30e5 rtw_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd112b875 check_hw_ready +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd1bfe2a1 rtw_phy_cfg_bb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xdaed09a6 rtw_phy_set_tx_power_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe2dd9921 rtw_parse_tbl_phy_cond +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xea2d88f6 rtw_bf_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xebaca98f rtw_bf_enable_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf6184ed5 rtw_phy_cfg_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf936cbd5 rtw_dump_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xfcf461e7 rtw_phy_read_rf_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xfdf5558d rtw_phy_pwrtrack_get_pwridx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x0bb8af74 rtw_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x768b5e3d rtw_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xc4af870a rtw_pci_shutdown +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xcfff8a59 rtw_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_8852a 0xbb8d42d4 rtw8852a_chip_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_8852c 0x57b6dc4b rtw8852c_chip_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x06f9a4a8 rtw89_phy_read_txpwr_limit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x0ad3a8b5 rtw89_mac_cfg_ppdu_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x147e9afc rtw89_rs_nss_max +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x164f6f83 rtw89_mac_cfg_gnt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x1ea21616 rtw89_phy_get_txsc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x2075f879 rtw89_phy_fill_txpwr_limit_ru +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x2358d413 rtw89_core_napi_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x2f81d65a rtw89_phy_write32_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x31dcf977 rtw89_mac_write_xtal_si +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x3ad7edcb rtw89_phy_load_txpwr_byrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x3cddf9e2 rtw89_core_napi_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x41388791 rtw89_mac_cfg_gnt_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x44c7184c rtw89_mac_stop_sch_tx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x4eb2d849 rtw89_fw_h2c_rf_ntfy_mcc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x541d21f3 rtw89_mac_get_txpwr_cr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x54ce6247 rtw89_rfk_parser +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x55f33772 rtw89_ser_notify +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x58e2f66c rtw89_core_unregister +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x65b26ee6 rtw89_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6ba5e150 rtw89_phy_read_txpwr_byrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6e8f5a63 rtw89_mac_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x71afcabf rtw89_core_fill_txdesc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x76bf23c2 rtw89_core_fill_txdesc_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7986db7e rtw89_core_register +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7f539abc rtw89_phy_tssi_ctrl_set_bandedge_cfg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x82b93b8a rtw89_core_fill_txdesc_fwcmd_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x897e5a06 rtw89_phy_read_rf_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x8ce6facc rtw89_core_query_rxdesc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x93fe7283 rtw89_phy_write_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x99a13dc8 rtw89_mac_cfg_ctrl_path +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x9a26db88 rtw89_mac_stop_sch_tx_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x9c4e4a23 rtw89_mac_enable_bb_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xa1588522 __rtw89_debug +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xa95d0bd1 rtw89_phy_write_rf_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xabb3e02e rtw89_mac_resume_sch_tx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xadb5866c rtw89_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xae6daa61 rtw89_phy_config_rf_reg_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xb76bc649 rtw89_fw_h2c_dctl_sec_cam_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xb777bbb0 rtw89_core_napi_stop +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xbd771644 rtw89_core_napi_start +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xc1b4c977 rtw89_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xc6faf185 rtw89_phy_write_reg3_tbl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xc761e2d7 rtw89_mac_coex_init_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xc95534b0 rtw89_rs_idx_max +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xca95f0fa rtw89_mac_cfg_ctrl_path_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xce09d3af rtw89_phy_fill_txpwr_limit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xd4af8053 rtw89_btc_ntfy_wl_rfk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xd8046293 rtw89_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xd8bd5851 rtw89_mac_get_err_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xd8c86fcc rtw89_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe024fa50 rtw89_mac_coex_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe3f57b04 rtw89_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe4f2319e rtw89_core_rx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xf80d41ac rtw89_mac_resume_sch_tx_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xf9751c97 rtw89_mac_disable_bb_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xfe686466 rtw89_mac_set_err_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x173214e1 rtw89_pci_disable_intr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x264e7300 rtw89_pci_config_intr_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x3be059a6 rtw89_pci_disable_intr_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x493ec01a rtw89_pci_enable_intr_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x5514a210 rtw89_pci_fill_txaddr_info_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x5b87425d rtw89_pci_ltr_set +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x677ed971 rtw89_pci_fill_txaddr_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x6a50f955 rtw89_pci_recognize_intrs_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x769063d9 rtw89_pci_enable_intr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x84c1a320 rtw89_pci_config_intr_mask_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x866e961a rtw89_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x896d1b2f rtw89_pci_ltr_set_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x9ce0961b rtw89_pci_ch_dma_addr_set +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xa71cf7d0 rtw89_pci_recognize_intrs +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xb4a27958 rtw89_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xf4d6ffa8 rtw89_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xf630d9a9 rtw89_pci_ch_dma_addr_set_v1 +EXPORT_SYMBOL drivers/net/wireless/rsi/rsi_91x 0x831ccb7d rsi_config_wowlan +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xbcc395d4 wl1271_free_tx_id +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xc435a0bd wlcore_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xd07509f4 wl12xx_is_dummy_packet +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xe0502010 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0xaf26b2e0 fdp_nci_probe +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0xe908d7ee fdp_nci_remove +EXPORT_SYMBOL drivers/nfc/microread/microread 0xd68e4b73 microread_probe +EXPORT_SYMBOL drivers/nfc/microread/microread 0xf044875c microread_remove +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x169deb67 nxp_nci_remove +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x4a2edda5 nxp_nci_fw_recv_frame +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0xcc9e23ab nxp_nci_probe +EXPORT_SYMBOL drivers/nfc/pn533/pn533 0x90cf16b1 pn533_recv_frame +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x2f07d672 pn544_hci_remove +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x716d34eb pn544_hci_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x774203fc s3fwrn5_phy_set_wake +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x959c6cb7 s3fwrn5_phy_power_ctrl +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xbf642c53 s3fwrn5_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xcb800ab9 s3fwrn5_recv_frame +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xdaf7d02e s3fwrn5_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xedb12f10 s3fwrn5_phy_set_mode +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xf2ab60da s3fwrn5_phy_get_mode +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x37b5de67 st_nci_se_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x4fe8faf7 st_nci_se_io +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x84756ea6 ndlc_send +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x9878357e ndlc_recv +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xa6e9ba6b st_nci_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xc65a0003 ndlc_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xc7754102 ndlc_close +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xead3a549 st_nci_se_deinit +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xef33738a ndlc_open +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xf0cc2211 ndlc_remove +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x04b06d6d st21nfca_dep_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x14589c2a st21nfca_im_send_atr_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x1a283e57 st21nfca_se_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x222a9e25 st21nfca_hci_remove +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x2ff57655 st21nfca_apdu_reader_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x51781dc3 st21nfca_hci_enable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x64cce278 st21nfca_se_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x691da59f st21nfca_dep_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7888e3e6 st21nfca_hci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7938dfdf st21nfca_connectivity_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x81cd9a7a st21nfca_hci_discover_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x83680823 st21nfca_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x8a22507e st21nfca_dep_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xaf75e0a0 st21nfca_im_send_dep_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xb7c5bc03 st21nfca_tm_send_dep_res +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xc6bb1dc8 st21nfca_hci_loopback_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xeeafdbf7 st21nfca_hci_probe +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xf13dc017 st21nfca_hci_disable_se +EXPORT_SYMBOL drivers/ntb/ntb 0x0253917a ntb_set_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x07ea590e ntb_msi_clear_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x237fa175 ntb_register_device +EXPORT_SYMBOL drivers/ntb/ntb 0x335ef139 ntb_unregister_device +EXPORT_SYMBOL drivers/ntb/ntb 0x56c2a637 ntb_link_event +EXPORT_SYMBOL drivers/ntb/ntb 0x59617a48 ntb_msi_setup_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x737136cb ntb_default_peer_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0x863e1184 ntbm_msi_free_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x8f59feed ntb_clear_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0xb16861d5 ntb_default_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0xc4de0d0b ntb_msi_peer_addr +EXPORT_SYMBOL drivers/ntb/ntb 0xc75af980 ntb_unregister_client +EXPORT_SYMBOL drivers/ntb/ntb 0xc7db6bba __ntb_register_client +EXPORT_SYMBOL drivers/ntb/ntb 0xd1ba7e24 ntb_db_event +EXPORT_SYMBOL drivers/ntb/ntb 0xd33c1023 ntb_msi_init +EXPORT_SYMBOL drivers/ntb/ntb 0xd542b31a ntb_default_peer_port_idx +EXPORT_SYMBOL drivers/ntb/ntb 0xd6fc37d9 ntb_msg_event +EXPORT_SYMBOL drivers/ntb/ntb 0xdd6c69f6 ntb_msi_peer_trigger +EXPORT_SYMBOL drivers/ntb/ntb 0xe51d4591 ntb_default_peer_port_count +EXPORT_SYMBOL drivers/ntb/ntb 0xf624ad58 ntbm_msi_request_threaded_irq +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x600bf6d0 nvdimm_namespace_detach_btt +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x9a4052c9 nvdimm_namespace_attach_btt +EXPORT_SYMBOL drivers/parport/parport 0x0222b6ca parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x06a51174 parport_register_dev_model +EXPORT_SYMBOL drivers/parport/parport 0x07c19c5e parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x07c407eb parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x1f28841d parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x24da9ab2 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x2c68bdf9 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x35b09d64 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x44086b3c parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x4878beac parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x697f7398 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x730a895f parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x83f1aacf parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x8cc2bc2c parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x905c650f parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x9582162e __parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xa5b5ef34 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0xa85d10dd parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xaecbb929 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xb57c3ca6 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xbd1fb66f parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xca2fa839 parport_write +EXPORT_SYMBOL drivers/parport/parport 0xcbb68f11 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xcf76e2ee parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0xd69c473a parport_release +EXPORT_SYMBOL drivers/parport/parport 0xda9329b4 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0xea4afd02 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xeb8aec6d parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0xecef41a4 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0xfa2da6f5 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xfaf28c7f parport_del_port +EXPORT_SYMBOL drivers/parport/parport_pc 0x70849d4b parport_pc_unregister_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xcc17aa7e parport_pc_probe_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x0735affe pcmcia_fixup_iowidth +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x13a42cc3 pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x1b2d011f pcmcia_loop_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x327d56fb pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x352f82da pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x48caf303 pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4ba00a89 pcmcia_read_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x57d691b0 pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x61909677 pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x772ae20d pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x85bed8f9 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x8a22662e pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x96a2a2e4 pcmcia_enable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x9d75976e pcmcia_get_mac_from_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xbb312663 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xbf574acb pcmcia_get_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xdff30eca pcmcia_write_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xe5b8f564 pcmcia_fixup_vpp +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xfa6d9831 pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0903ac45 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x107fa129 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x14693752 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x171494e6 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9906e369 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9cdffbca pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xa1082b83 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb210e9c9 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc64154c1 pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf202fe23 pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf942709b pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x92221ccb pccard_static_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x9a669236 pccard_nonstatic_ops +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x04b1a958 cros_ec_register +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x211737f0 cros_ec_suspend +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xc15800f9 cros_ec_resume +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xd2cb3aed cros_ec_unregister +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xf25aacf5 cros_ec_irq_thread +EXPORT_SYMBOL drivers/platform/chrome/cros_ec_lpcs 0xaa1c36de cros_ec_lpc_io_bytes_mec +EXPORT_SYMBOL drivers/platform/chrome/cros_ec_lpcs 0xc4ebc6b3 cros_ec_lpc_mec_init +EXPORT_SYMBOL drivers/platform/chrome/cros_ec_lpcs 0xf5c87c59 cros_ec_lpc_mec_destroy +EXPORT_SYMBOL drivers/platform/x86/dell/dcdbas 0xa75079d6 dcdbas_smi_request +EXPORT_SYMBOL drivers/platform/x86/intel/intel_punit_ipc 0x3a0b563a intel_punit_ipc_simple_command +EXPORT_SYMBOL drivers/platform/x86/simatic-ipc 0x35a48fec simatic_ipc_get_membase0 +EXPORT_SYMBOL drivers/platform/x86/sony-laptop 0xd857cac7 sony_pic_camera_command +EXPORT_SYMBOL drivers/platform/x86/wmi 0x65fd47d5 wmi_driver_unregister +EXPORT_SYMBOL drivers/platform/x86/wmi 0x67aad694 __wmi_driver_register +EXPORT_SYMBOL drivers/rpmsg/rpmsg_char 0x4fda19e9 rpmsg_chrdev_eptdev_create +EXPORT_SYMBOL drivers/rpmsg/rpmsg_char 0xce8869f8 rpmsg_chrdev_eptdev_destroy +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x0439eda2 rpmsg_find_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x10412318 rpmsg_release_channel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x14c168a1 rpmsg_trysendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x166dc1f4 rpmsg_destroy_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x175b3e42 rpmsg_trysend_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x18a7ef4b rpmsg_send_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x3321984d rpmsg_poll +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x3c6e2914 rpmsg_register_device_override +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x41446c04 rpmsg_unregister_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x51d275f1 rpmsg_class +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x55cc93c1 rpmsg_create_channel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x6598504c __register_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x66718b34 unregister_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x71a218ce rpmsg_send +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x8bbff9a8 rpmsg_register_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xbe243832 rpmsg_create_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xc2a4e3ff rpmsg_sendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xcf0e6382 rpmsg_get_mtu +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xeaa43c13 rpmsg_trysend +EXPORT_SYMBOL drivers/rpmsg/rpmsg_ns 0xf5e4cf95 rpmsg_ns_register_device +EXPORT_SYMBOL drivers/rtc/rtc-ds1685 0x66939096 ds1685_rtc_poweroff +EXPORT_SYMBOL drivers/scsi/53c700 0x3d9cece0 NCR_700_intr +EXPORT_SYMBOL drivers/scsi/53c700 0x590cac35 NCR_700_release +EXPORT_SYMBOL drivers/scsi/53c700 0xcef29bf7 NCR_700_detect +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x27581969 scsi_esp_template +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x4a29ab38 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x517d77e6 scsi_esp_register +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x5ebd0a20 scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xcabcbdeb scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x06d4f163 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x13a002e6 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x1db55aac fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x40699456 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x668cf432 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x88673fb3 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x92fb15ec fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x9357d67e fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x9bc19293 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xb47883d3 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xec37a5a8 fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00a95167 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x01032642 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0705e46c fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x11ac7448 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1b520d9a fc_seq_assign +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1d18ea61 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1d247fa6 fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2190f61b fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2342766b fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x27f2a991 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2dc9a17b fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2e6fbaf2 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2e848826 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3055f732 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x39083d62 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x39c99820 fc_disc_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3c2b2e26 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3c2e3788 fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3ece5e99 fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x484c7898 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x48e5c50a fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4988c47f fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5167442f fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x521ec156 libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x57cc9c1b fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6032d733 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x61aea632 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x67ee6647 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x69c35381 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x733405fe fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x75722851 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x77f10e76 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7d85e0e2 fc_exch_update_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7f3407a7 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x811811e0 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8d23a263 fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9623ecef fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9bdb8b03 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9d50ed7e fc_rport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa0bec329 fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa1bcd198 fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa353de42 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0ddd5a1 fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb391d9f5 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb3d65e8d fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb88a6715 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbd964271 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc1cbdfb1 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc7e32b32 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcdcecce3 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcdd7e1dc fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd5a37c8f fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd76bfe2e fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd93a720a fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd973d94b fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe1b804c6 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe5cf06b5 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xece4103b fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xed2c130f fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xeee7cbcc fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf5dba91a fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf689e662 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf752b153 fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfa4667d1 fc_seq_release +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfffa91fb fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x0401c083 sas_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x60e216d1 sas_resume_ha_no_sync +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xb46e3a7e sas_suspend_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xb9883237 sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x3e9d05dc mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0xa21fafb9 mraid_mm_adapter_app_handle +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0xb2cf7c01 mraid_mm_unregister_adp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x0a1b9744 qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x0e78efef qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x1f94a9f4 qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x323c9d7f qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x3e8a1730 qlt_abort_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x48cb2c8a qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x98a3b668 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xb6cafadb qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xbb3e983b qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xd4483488 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xe327aa56 qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xf085ab56 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1f55cd70 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x208d2c65 qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x603a76c0 qlogicfas408_host_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x817c0a39 qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x96511eb9 qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xc3e03dc4 qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xcc373d34 qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/raid_class 0x40014cac raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x50eb2580 raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0xa8b01fa6 raid_class_attach +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0371d172 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x058418c1 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x11d899b9 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3267e589 fc_find_rport_by_wwpn +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4544d5ab fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4b4da2a5 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4c2863d9 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x630e62af fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x70ed6a88 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x933d2c04 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xab20204a fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xaba36be0 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe2c0c69d fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf1fd5c31 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf4498925 fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf8af77d3 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfef34f7d fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x08c59707 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0aa4a47e sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0bf8c933 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0e2cf4ae sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x12d461cc sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x28465333 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3f17dbee sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x447b7310 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6d6dc065 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x738485c8 sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x80b35fee sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x938d82e1 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x969403af sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9716c5b8 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9787e4f1 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x978d79bc sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9e20ad53 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa16b5723 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa23c6eef sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa4f84ab7 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa77b02c8 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xaf15aed0 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbd5b8a38 sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbfd676c0 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd90bafaa sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe155105c scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf2cbbb15 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf5bf4531 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfc064b62 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x683432e5 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x9697c7f3 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xabbc5509 spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xae59ceb5 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xcf957990 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x1a38d77b srp_reconnect_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x2f4ea42c srp_rport_get +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x448095e9 srp_start_tl_fail_timers +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x9e66291c srp_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xf214c8c0 srp_rport_put +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x0ef12cc9 qmi_encode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x21ce5888 qmi_response_type_v01_ei +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x3ad963db qmi_send_request +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x404b6678 qmi_handle_release +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x41dce1db qmi_add_lookup +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x56c60e9f qmi_add_server +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x56dbdde9 qmi_handle_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x68772745 qmi_decode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xaf2b4b64 qmi_send_response +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xbf16840f qmi_txn_wait +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xc1d43aff qmi_txn_cancel +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xda900a5d qmi_send_indication +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xe446cac5 qmi_txn_init +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x029586f6 sdw_bus_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x0eec1ef8 sdw_update +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x0fb1436e sdw_bread_no_pm_unlocked +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1515618e sdw_bwrite_no_pm_unlocked +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1688c570 sdw_bus_exit_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x16d1706b sdw_prepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1dd578bd sdw_master_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1deee061 sdw_find_row_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1f5576df sdw_slave_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x2756c2af sdw_nread +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x27f36fab sdw_read +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x2a41a189 sdw_read_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x2b25acd1 sdw_bus_master_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x3b0a8582 sdw_startup_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4cde88bf sdw_disable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x529244f1 sdw_handle_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x56ea45b0 sdw_stream_add_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x5d3d25fe sdw_slave_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x60e31fbb sdw_find_col_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6442e2a5 sdw_write +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x65595263 sdw_bus_master_delete +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6f95b16b sdw_shutdown_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x71891d59 sdw_deprepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x8087e9a3 sdw_stream_add_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x81d7db41 sdw_nwrite +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x92dc71dd sdw_clear_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x93675f63 sdw_compare_devid +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9e122d79 sdw_alloc_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xa719d5ac sdw_stream_remove_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xba54b904 sdw_cols +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xbbec2c2e sdw_enable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xd3f055fe sdw_write_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xda5bce09 sdw_release_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xeaff530a sdw_extract_slave_id +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xec0f4caf sdw_bus_prep_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf0309a4a sdw_stream_remove_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf53ba0b8 sdw_rows +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xfc4418d0 sdw_update_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x0bf6f99e sdw_cdns_clock_restart +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x1058117e cdns_set_sdw_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x276b32fb sdw_cdns_config_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x29e23680 sdw_cdns_check_self_clearing_bits +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x34712074 sdw_cdns_irq +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x49765e14 cdns_reset_page_addr +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x5f775c37 sdw_cdns_is_clock_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x6e504f0e sdw_cdns_exit_reset +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x7ffa9f0b sdw_cdns_clock_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x88e47bdd sdw_cdns_enable_interrupt +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x8c59b827 sdw_cdns_pdi_init +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x99ef925d sdw_cdns_init +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xa2b61660 sdw_cdns_alloc_pdi +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xeb8c0ef1 cdns_xfer_msg +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xed93e820 sdw_cdns_probe +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xeec82149 cdns_xfer_msg_defer +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xfa5da062 cdns_bus_conf +EXPORT_SYMBOL drivers/soundwire/soundwire-generic-allocation 0x51fb9b4b sdw_compute_params +EXPORT_SYMBOL drivers/ssb/ssb 0x17af00db ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x264f11fb ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x2ae057f6 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x2ddd3a1e ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x3fe25092 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x4e031bbd ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x52871cd0 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x54f5907f ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x5fb06042 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x64b061b7 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x6615b421 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x77d7dda5 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x8bb853a4 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x98c15772 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0xa0dd5f84 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xa2aa3b65 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0xac359060 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0xcb17f1cb ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xd83b45fe __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xdfc7c6ef ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xeee468d6 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xf86fe78d ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x066ac95e fbtft_write_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x1ba63e76 fbtft_write_reg8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x1bab4653 fbtft_init_display +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x267a54aa fbtft_dbg_hex +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x2d4e5368 fbtft_framebuffer_release +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x3647f61c fbtft_probe_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x382ecfb8 fbtft_write_gpio16_wr_latched +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x3c756823 fbtft_write_reg16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x41d37f73 fbtft_write_vmem16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x44680910 fbtft_framebuffer_alloc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x4c774779 fbtft_write_buf_dc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x504f9d3d fbtft_write_gpio8_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x6fd5111c fbtft_unregister_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x76d66140 fbtft_write_vmem8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x81b80de5 fbtft_write_vmem16_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x945c0c4b fbtft_write_reg8_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x9957236d fbtft_register_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x9e7d0485 fbtft_register_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xaa022859 fbtft_write_reg16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xac52df4f fbtft_unregister_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xacc9c76c fbtft_write_spi_emulate_9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc10225b0 fbtft_remove_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xdfbc7db1 fbtft_read_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xe10f580e fbtft_write_vmem16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xfc133c84 fbtft_write_gpio16_wr +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x001f0d32 gbaudio_module_update +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x380ecadf gbaudio_unregister_module +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x6c050daf gbaudio_register_module +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x36d62139 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x4ca9da45 ade7854_probe +EXPORT_SYMBOL drivers/staging/media/av7110/sp8870 0xfb0461c5 sp8870_attach +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x02b31d2b rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0462f23d rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0d239cde rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0e071d9a rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x12c36381 rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x16d945bb notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1e90cebc rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x214316f6 HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22166084 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4273858b rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x42ea6f15 rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x43db7598 rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x468e0575 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4ae79ac8 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4d67e107 rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5012bb94 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x51aa2680 rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x52279b69 rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5245b75e rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6b4dc8f8 rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6dba6686 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x747aa77b rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7a81cb7e rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7ab083f4 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7dfbaf36 rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7f500fe4 rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x80a1ab17 alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x89abf11c rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x911214df free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9530a200 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9a8818d7 rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9c9fc3d5 rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa5a69ae0 rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa69858d1 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa81bc3bd rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa8834466 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xae6bc68b rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb04d6db5 rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb0c82eb6 rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb30fcdc9 rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb4e90bc9 rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc2b3b3e3 dot11d_channel_map +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc84cf560 rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd1a95c8e rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd4d7a67c rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf43dc91 dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe4bf2364 rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf581637a rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfde6bbd6 rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfe42ca1f rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0c716846 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1138157e is_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x130a6bfa ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x15d52e00 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x15e6427f ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x16c5093d ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x192cf261 ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x19826a57 ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1ac40fc6 SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1bc0e595 ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1d56b20d ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1d66a0ff ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x26291e3e ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2b6a522c ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x37e58595 ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3b9d75d3 dot11d_update_country_ie +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x59c39192 ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x643cbb2e ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x660a5830 ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x67d258bd ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x688c403f ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x692fe65e ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6af7d516 ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x76794331 HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x84ad32bb ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8641254f ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8aa879e7 dot11d_reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8b10c88e ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8e22bf47 to_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x91b8883e ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x94d1fb2f ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9f0b0e21 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa59c36f8 dot11d_scan_complete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa9d8b1e8 ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb078e559 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb113e732 ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb6ab15b0 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb89609c4 ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc1fc2dfa ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc4821ebc dot11d_get_max_tx_pwr_in_dbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc616862b notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd306e015 ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdcd88222 ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdeee613c ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdf0edc31 ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe42263b8 ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe6e5e1ed ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe9b57b61 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xec31f2ef ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecc5fb1b ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecd59dd7 ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xefe6d082 ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf712974e ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf7bc0e4a rtl8192u_dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfa4e678e ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x07a9cc00 iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x133708be iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1451b5dd iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x2148ccf6 iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x2aac786f iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x30ab156e iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x41ab4261 iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x497f3eb8 iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5054b459 iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x50e90fc3 iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5cc3e88e iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6a8fa7dd iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6fb2b3ac iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x73ebcaea iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x75e6e10d iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7c6b51bc iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7e023116 iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7e02498e iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8718205b iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x90900eb8 iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9150c9cc iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x93a15dea iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x95e92096 iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9a8b7619 iscsit_thread_check_cpumask +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9e94105c iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa54ff541 iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xad940e39 iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb31d8432 iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb3ca25f7 __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb95a1c94 iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xbc665858 iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xbecf42be iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc39fd648 iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xceb642dc iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xcf775b70 iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xcf883d7f iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd51304b9 iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe04b1b88 iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe488f14d iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe6de87f6 iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xecc1165a iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xef839449 iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf34332f0 iscsi_find_param_from_key +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf85134f4 iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xfa88087c iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xfdb1d1a1 iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x087f042a transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x091a2528 target_complete_cmd_with_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x0e634dee passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x170ead84 __target_init_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x17cec29b target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x1b98f194 core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x21a98aaf target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x272900d1 target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0x28f5a876 transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x2c502f49 sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0x2cd1db22 target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0x344b1012 core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0x36524d42 sbc_dif_verify +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a7c341e target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x3b69717e spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x3bbfa12c core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0x3cb80411 transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0x3fa01706 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x3fce9e43 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x40176d91 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x40e010ef sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x4163bd28 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x44eb0fc1 target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x5420a09a target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0x58329715 target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x59fad641 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x5a40f53f passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x5a7ba297 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x5fe92fc6 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x638bffb7 target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x71190560 target_tpg_has_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x71571720 target_stop_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x71a4bba4 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x746b7814 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x77e92eaa target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x788d3ffa transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x78bc65c6 transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x79b58e71 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a1d0d3c target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x86c22792 target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0x8922fac6 transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x89c3eeed target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x8d4bb62a transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x9311cc20 spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0x95a46283 target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0x97dd7130 sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0x98f39d22 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x9de3c8a3 spc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xa00327e5 spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0xa71a199c __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xa8fa615a target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xac17428c transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xb10db131 sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xb67c52d9 target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0xbd9697e1 transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xbfa87042 target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0xbfac9b1c target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xc1f1d88a core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0xc364ecf6 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xc77f3e92 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0xc7e21f75 target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xcbea9988 sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0xce47bd49 target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0xda348eba transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0xdc24837d core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xdc896700 target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0xdfaa570c core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xe49291f4 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xe7030c7c target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xefef5233 transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0xf071683a target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3c2dfe0 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf46846e8 target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0xf5b6eb7a transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xf90b0dd1 passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0xffe38904 target_complete_cmd +EXPORT_SYMBOL drivers/thermal/intel/int340x_thermal/acpi_thermal_rel 0x1887763e acpi_thermal_rel_misc_device_add +EXPORT_SYMBOL drivers/thermal/intel/int340x_thermal/acpi_thermal_rel 0x86c998e6 acpi_thermal_rel_misc_device_remove +EXPORT_SYMBOL drivers/thermal/intel/int340x_thermal/acpi_thermal_rel 0x9103c585 acpi_parse_art +EXPORT_SYMBOL drivers/thermal/intel/int340x_thermal/acpi_thermal_rel 0xf0f9fe0d acpi_parse_trt +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x159896c5 ufshcd_get_local_unipro_ver +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x25503469 ufshcd_alloc_host +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x5d45bfc6 ufshcd_runtime_suspend +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x64f7e6f3 ufshcd_runtime_resume +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x6cb269a3 ufshcd_system_suspend +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x6cb9af98 ufshcd_map_desc_id_to_length +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0xc7561f0f ufshcd_shutdown +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0xfdaf6c5d ufshcd_system_resume +EXPORT_SYMBOL drivers/ufs/host/tc-dwc-g210 0x8e97a528 tc_dwc_g210_config_40_bit +EXPORT_SYMBOL drivers/ufs/host/tc-dwc-g210 0xe0ae85be tc_dwc_g210_config_20_bit +EXPORT_SYMBOL drivers/ufs/host/ufshcd-dwc 0x1a50e004 ufshcd_dwc_link_startup_notify +EXPORT_SYMBOL drivers/ufs/host/ufshcd-dwc 0xebfe1450 ufshcd_dwc_dme_set_attrs +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0xcfa6cda3 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/gadget/libcomposite 0xcaa88eb2 usb_os_desc_prepare_interf_dir +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x474d75f9 sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3bf963bb usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3c4734c9 usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x54fe34ed usb_wwan_port_remove +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x56586c11 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x85033f60 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x8e7c101d usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x8ec4c595 usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x8f139e14 usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xb5890a25 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xb635832f usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xfb5f6e8f usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xb29eaed6 usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xe2516e5f usb_serial_suspend +EXPORT_SYMBOL drivers/vdpa/vdpa 0x42c8dbe3 vdpa_set_status +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x1097696c mdev_unregister_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x16caf408 mtype_get_type_group_id +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x1b03983b mdev_get_type_group_id +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x6f340745 mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xa4c041e7 mtype_get_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xbb61a17a mdev_register_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xcaf36aec mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xd49b752a mdev_unregister_device +EXPORT_SYMBOL drivers/vhost/vhost 0x313bb706 vhost_chr_poll +EXPORT_SYMBOL drivers/vhost/vhost 0xe5afb4e5 vhost_chr_write_iter +EXPORT_SYMBOL drivers/vhost/vringh 0x0c46f5fb vringh_iov_pull_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x18f3ddc2 vringh_iov_push_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x19c24590 vringh_notify_disable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x1fe50c1a vringh_abandon_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x2890c460 vringh_getdesc_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x2d2babc9 vringh_complete_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x3684d8af vringh_complete_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x3b304ebb vringh_iov_push_user +EXPORT_SYMBOL drivers/vhost/vringh 0x3ee1955e vringh_init_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x4311cd91 vringh_iov_pull_user +EXPORT_SYMBOL drivers/vhost/vringh 0x4504adc9 vringh_abandon_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x5bd469c0 vringh_getdesc_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5f586ca2 vringh_init_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x61e3831b vringh_getdesc_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x660779c8 vringh_kiov_advance +EXPORT_SYMBOL drivers/vhost/vringh 0x6a693a25 vringh_need_notify_user +EXPORT_SYMBOL drivers/vhost/vringh 0x90e93e3c vringh_complete_multi_user +EXPORT_SYMBOL drivers/vhost/vringh 0x97fa07e9 vringh_iov_push_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x9b30452e vringh_complete_user +EXPORT_SYMBOL drivers/vhost/vringh 0xa7ce8bd6 vringh_notify_disable_user +EXPORT_SYMBOL drivers/vhost/vringh 0xa8efaeb9 vringh_set_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xc0bb1581 vringh_need_notify_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xc87491c8 vringh_notify_enable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xd465f463 vringh_need_notify_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xde804bb9 vringh_iov_pull_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xe4c21196 vringh_notify_disable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xeb2ec139 vringh_notify_enable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xf1e32cc0 vringh_init_user +EXPORT_SYMBOL drivers/vhost/vringh 0xf8605294 vringh_notify_enable_user +EXPORT_SYMBOL drivers/vhost/vringh 0xf9d0dd07 vringh_abandon_user +EXPORT_SYMBOL drivers/video/backlight/lcd 0x1b306b6f devm_lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x377d356b lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x628b65af devm_lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xcf944400 lcd_device_unregister +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x029f26bc svga_tileblit +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x17f3f471 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x1be6dc30 svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x29b8597a svga_tilecopy +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x680286fb svga_get_caps +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x69d0d1d1 svga_tilecursor +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x83a41489 svga_set_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x84c337c2 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x84c97d2a svga_match_format +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xa3b47ec9 svga_get_tilemax +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xb0ab2b2e svga_check_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xd22ca511 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xd6ec2c44 svga_compute_pll +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xdcc5a013 svga_wseq_multi +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xe28d2a49 svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xee025cef svga_tilefill +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xf4062c42 svga_settile +EXPORT_SYMBOL drivers/video/fbdev/core/syscopyarea 0x8ff6ab3d sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0x935b151a sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0x11aebf89 sys_imageblit +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x12da4668 cyber2000fb_attach +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x534b6f18 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0xb39f68d1 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0x8c1ee23b mac_find_mode +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x415f0b71 matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xbc6f14b4 g450_mnp2f +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xcd480741 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x8dee10e1 matrox_mystique +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xaa891aab matrox_G100 +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xc63ec8e7 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xd0fb20cb DAC1064_global_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_Ti3026 0x090e7166 matrox_millennium +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_accel 0x606c4a17 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x4dc5e0f5 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x74ed9302 matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xbc43446c matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xe4a5b8ef matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x1a8538c1 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0xbbb20fca matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x0baac59b matroxfb_read_pins +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x38895eac matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x97f6c88a matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xbe6b3516 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xec2df426 matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/fbdev/sis/sisfb 0x3037658e sis_malloc +EXPORT_SYMBOL drivers/video/fbdev/sis/sisfb 0xfe963115 sis_free +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x178b9b38 vbg_hgcm_disconnect +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x260590c0 vbg_err +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x569b312f vbg_info +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x68f1cf1a vbg_err_ratelimited +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x70cdcbfd vbg_warn +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x7e437f4e vbg_put_gdev +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x924c7cce vbg_hgcm_connect +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x9c072aa8 vbg_status_code_to_errno +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0xaf9dcec8 vbg_hgcm_call +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0xb275b90b vbg_get_gdev +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x32cf3353 virtio_dma_buf_attach +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x4c9442c5 virtio_dma_buf_export +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x5067238a virtio_dma_buf_get_uuid +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0xde0e9ec2 is_virtio_dma_buf +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x33cb049f w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x898c64b9 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x1b664cea w1_ds2781_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x577d30d7 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/wire 0x0bd4afa2 w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0x1344ae89 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0x3ac2e457 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0xae413a28 w1_unregister_family +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x04e133fc iTCO_vendor_check_noreboot_on +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x75bec08d iTCO_vendor_pre_stop +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xc8930f32 iTCO_vendor_pre_start +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xed2a3373 iTCO_vendorsupport +EXPORT_SYMBOL fs/fscache/fscache 0x07d2eb24 __fscache_write_to_cache +EXPORT_SYMBOL fs/fscache/fscache 0x1a0d09e7 fscache_n_write +EXPORT_SYMBOL fs/fscache/fscache 0x1a7b54c3 fscache_cookie_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x1d2a6caa __fscache_resize_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x234a140d __traceiter_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x2760bc94 fscache_put_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x296cd26b __tracepoint_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x2b12aa21 __fscache_use_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x30b37c1c __SCK__tp_func_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x3c1b20fd __fscache_relinquish_volume +EXPORT_SYMBOL fs/fscache/fscache 0x41294720 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x4404d2aa fscache_n_no_create_space +EXPORT_SYMBOL fs/fscache/fscache 0x4996bd29 fscache_n_updates +EXPORT_SYMBOL fs/fscache/fscache 0x4f4f455e __fscache_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x557a775f fscache_addremove_sem +EXPORT_SYMBOL fs/fscache/fscache 0x5954d7ac __SCT__tp_func_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x60e3c7c8 fscache_relinquish_cache +EXPORT_SYMBOL fs/fscache/fscache 0x6730b7c2 __SCK__tp_func_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x68e2b7d0 fscache_end_cookie_access +EXPORT_SYMBOL fs/fscache/fscache 0x6c0f041c fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x7b1b25da __SCT__tp_func_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x7c87e02d __SCT__tp_func_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x84f82db7 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x858cc368 fscache_get_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x864c8e15 fscache_acquire_cache +EXPORT_SYMBOL fs/fscache/fscache 0x8c2d6da7 fscache_clearance_waiters +EXPORT_SYMBOL fs/fscache/fscache 0x9093f61c __fscache_begin_write_operation +EXPORT_SYMBOL fs/fscache/fscache 0x90d447f3 fscache_n_culled +EXPORT_SYMBOL fs/fscache/fscache 0x9282bc49 fscache_end_volume_access +EXPORT_SYMBOL fs/fscache/fscache 0x9e5eeb28 fscache_withdraw_volume +EXPORT_SYMBOL fs/fscache/fscache 0x9ff73b35 __tracepoint_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x9ffefcb2 fscache_n_read +EXPORT_SYMBOL fs/fscache/fscache 0xa980e451 fscache_resume_after_invalidation +EXPORT_SYMBOL fs/fscache/fscache 0xae6040a5 __traceiter_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0xb4764d23 __fscache_acquire_volume +EXPORT_SYMBOL fs/fscache/fscache 0xbca46908 fscache_wq +EXPORT_SYMBOL fs/fscache/fscache 0xbdbeb8d6 __fscache_unuse_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xc74017df __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xca2121de fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xcce11a60 fscache_n_no_write_space +EXPORT_SYMBOL fs/fscache/fscache 0xd162058c fscache_withdraw_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xd6c315f1 fscache_caching_failed +EXPORT_SYMBOL fs/fscache/fscache 0xdae0d105 __fscache_clear_page_bits +EXPORT_SYMBOL fs/fscache/fscache 0xdcb87498 __traceiter_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0xe9770f5e __tracepoint_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0xf2eece87 __fscache_begin_read_operation +EXPORT_SYMBOL fs/fscache/fscache 0xfd3669b7 fscache_wait_for_operation +EXPORT_SYMBOL fs/fscache/fscache 0xff2779cf fscache_dirty_folio +EXPORT_SYMBOL fs/fscache/fscache 0xff5c646f __SCK__tp_func_fscache_access +EXPORT_SYMBOL fs/netfs/netfs 0x2c42b8f9 netfs_read_folio +EXPORT_SYMBOL fs/netfs/netfs 0x31f3d882 netfs_subreq_terminated +EXPORT_SYMBOL fs/netfs/netfs 0x6004e724 netfs_write_begin +EXPORT_SYMBOL fs/netfs/netfs 0x8fef3364 netfs_stats_show +EXPORT_SYMBOL fs/netfs/netfs 0x95a00081 netfs_readahead +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x01df6539 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x1d8bd6c7 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x2165dd30 qtree_get_next_id +EXPORT_SYMBOL fs/quota/quota_tree 0x5c7acd7c qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0xa812e079 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xd4dac337 qtree_write_dquot +EXPORT_SYMBOL lib/crc-itu-t 0x09a34a2b crc_itu_t +EXPORT_SYMBOL lib/crc-itu-t 0xd819a524 crc_itu_t_table +EXPORT_SYMBOL lib/crc7 0x65aaf037 crc7_be_syndrome_table +EXPORT_SYMBOL lib/crc7 0xba55d23e crc7_be +EXPORT_SYMBOL lib/crc8 0x9c5d5b94 crc8 +EXPORT_SYMBOL lib/crc8 0xaa8106bc crc8_populate_msb +EXPORT_SYMBOL lib/crc8 0xc3cd034d crc8_populate_lsb +EXPORT_SYMBOL lib/crypto/libarc4 0x2bb32ad1 arc4_setkey +EXPORT_SYMBOL lib/crypto/libarc4 0xcd47fcc4 arc4_crypt +EXPORT_SYMBOL lib/crypto/libchacha 0xcec122d7 chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x147c3f2e chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x37b34b92 chacha20poly1305_encrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x521c7102 xchacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x5b19e187 chacha20poly1305_decrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xc20134e7 chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xce15a526 xchacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x12627f15 curve25519_generic +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x4a5a8811 curve25519_null_point +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x7e6fdbfc curve25519_base_point +EXPORT_SYMBOL lib/crypto/libpoly1305 0x021f3700 poly1305_core_blocks +EXPORT_SYMBOL lib/crypto/libpoly1305 0xbcb90cb3 poly1305_core_emit +EXPORT_SYMBOL lib/crypto/libpoly1305 0xd45b9cf4 poly1305_core_setkey +EXPORT_SYMBOL lib/lru_cache 0x0641307b lc_destroy +EXPORT_SYMBOL lib/lru_cache 0x098d2ed9 lc_try_get +EXPORT_SYMBOL lib/lru_cache 0x2813ddb4 lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0x2d47ac83 lc_committed +EXPORT_SYMBOL lib/lru_cache 0x2f3dcecb lc_index_of +EXPORT_SYMBOL lib/lru_cache 0x4522d82a lc_reset +EXPORT_SYMBOL lib/lru_cache 0x4cf5f5a8 lc_is_used +EXPORT_SYMBOL lib/lru_cache 0x5752f31b lc_del +EXPORT_SYMBOL lib/lru_cache 0x7257beee lc_element_by_index +EXPORT_SYMBOL lib/lru_cache 0x9134feb7 lc_get +EXPORT_SYMBOL lib/lru_cache 0xb035b8aa lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0xb672aa97 lc_create +EXPORT_SYMBOL lib/lru_cache 0xbfbe53d5 lc_get_cumulative +EXPORT_SYMBOL lib/lru_cache 0xc3a98c1d lc_try_lock +EXPORT_SYMBOL lib/lru_cache 0xcc979a91 lc_set +EXPORT_SYMBOL lib/lru_cache 0xefec290a lc_find +EXPORT_SYMBOL lib/lru_cache 0xfd525ec7 lc_put +EXPORT_SYMBOL lib/lz4/lz4_compress 0x4f4d78c5 LZ4_compress_default +EXPORT_SYMBOL lib/lz4/lz4_compress 0x5bc92e85 LZ4_compress_destSize +EXPORT_SYMBOL lib/lz4/lz4_compress 0x6004858d LZ4_compress_fast +EXPORT_SYMBOL lib/lz4/lz4_compress 0x635ff76d LZ4_saveDict +EXPORT_SYMBOL lib/lz4/lz4_compress 0x749849d8 LZ4_loadDict +EXPORT_SYMBOL lib/lz4/lz4_compress 0xf9eced44 LZ4_compress_fast_continue +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x38f7b6e0 LZ4_compress_HC_continue +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x93ff008c LZ4_loadDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x9cef495b LZ4_saveDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0xddf86133 LZ4_compress_HC +EXPORT_SYMBOL lib/math/cordic 0x7e431c15 cordic_calc_iq +EXPORT_SYMBOL lib/objagg 0x0363233d objagg_obj_raw +EXPORT_SYMBOL lib/objagg 0x23865923 objagg_destroy +EXPORT_SYMBOL lib/objagg 0x24ca5ca9 objagg_obj_root_priv +EXPORT_SYMBOL lib/objagg 0x342aefe2 objagg_obj_delta_priv +EXPORT_SYMBOL lib/objagg 0x352633f4 objagg_hints_stats_get +EXPORT_SYMBOL lib/objagg 0x3c58e78f objagg_hints_put +EXPORT_SYMBOL lib/objagg 0x6691f29d objagg_obj_put +EXPORT_SYMBOL lib/objagg 0x679e8cc2 objagg_create +EXPORT_SYMBOL lib/objagg 0xb17ab162 objagg_obj_get +EXPORT_SYMBOL lib/objagg 0xdaa3ee68 objagg_stats_get +EXPORT_SYMBOL lib/objagg 0xf5511527 objagg_stats_put +EXPORT_SYMBOL lib/objagg 0xfaa9d1a8 objagg_hints_get +EXPORT_SYMBOL lib/parman 0x0f518717 parman_prio_init +EXPORT_SYMBOL lib/parman 0x7b03d378 parman_item_add +EXPORT_SYMBOL lib/parman 0x8b7e26f5 parman_item_remove +EXPORT_SYMBOL lib/parman 0xc3e2d892 parman_create +EXPORT_SYMBOL lib/parman 0xc6a3d260 parman_prio_fini +EXPORT_SYMBOL lib/parman 0xca39ae6a parman_destroy +EXPORT_SYMBOL lib/raid6/raid6_pq 0x0b2c64a3 raid6_vgfmul +EXPORT_SYMBOL lib/raid6/raid6_pq 0x17f54263 raid6_gfexp +EXPORT_SYMBOL lib/raid6/raid6_pq 0x59a2712d raid6_gfinv +EXPORT_SYMBOL lib/raid6/raid6_pq 0xb0d904b7 raid6_empty_zero_page +EXPORT_SYMBOL lib/raid6/raid6_pq 0xc8e3332b raid6_gflog +EXPORT_SYMBOL lib/raid6/raid6_pq 0xcc4ee841 raid6_gfexi +EXPORT_SYMBOL lib/raid6/raid6_pq 0xd91319d6 raid6_gfmul +EXPORT_SYMBOL net/6lowpan/6lowpan 0x1859028d lowpan_unregister_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0x2b85d564 lowpan_unregister_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0x407d5b38 lowpan_register_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0x5f763b5f lowpan_nhc_add +EXPORT_SYMBOL net/6lowpan/6lowpan 0xd389f748 lowpan_register_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0xdcc4af2e lowpan_nhc_del +EXPORT_SYMBOL net/802/p8022 0x13adb905 register_8022_client +EXPORT_SYMBOL net/802/p8022 0x3fbd662b unregister_8022_client +EXPORT_SYMBOL net/802/psnap 0x86647d9c unregister_snap_client +EXPORT_SYMBOL net/802/psnap 0xbdb1b69c register_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x01434efc p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x05d020e1 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x0db30fb2 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x121ea25b p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x22bc5abe p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x2364cf6f p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x2e57d86a p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x304c514e p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x33a9771e p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x381efc82 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x3cae8834 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x404f23bd p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x41ce9823 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x47f04e9b p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x4f468880 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x4fe13239 p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x5687e57d p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x5751cc74 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x5bee58fd p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x5f8cc704 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x62c6e091 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x729c9c24 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x798fb182 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x7a4ea0a8 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x8e1334d0 p9_client_read_once +EXPORT_SYMBOL net/9p/9pnet 0x920b0410 p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0x93d48701 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x95bd8f96 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x984c5e73 p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0x9c40d5c7 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0xa23d14d2 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xa28c4054 p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0xa8246fb8 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xb3de6733 p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0xb79f25fd p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0xb91ac47a p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0xc497586f p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0xc4f77599 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0xc9aec397 p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0xd384c683 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xdcb6a9b4 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0xe035c5ab p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0xe068f04d v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe74991a2 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0xf58e1a51 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0xf7c26671 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0xf842c3e1 p9_client_mknod_dotl +EXPORT_SYMBOL net/appletalk/appletalk 0x348a646d atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xb8e9e052 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xce8c2472 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xe2571756 alloc_ltalkdev +EXPORT_SYMBOL net/atm/atm 0x211fac54 atm_charge +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x3206a3fc deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x39f56bf1 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x4443d399 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x44c6e633 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x5137c2a8 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x52693b5c atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x59a3e07e atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x78207f51 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x9e3a3f08 vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xa0fc1b5c atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0xa7c178bb vcc_release_async +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xcbf0e2dc register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xd75cf26c atm_dev_register +EXPORT_SYMBOL net/atm/atm 0xea66630d vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/ax25/ax25 0x0125aa80 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x13e04840 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0x14cecd59 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x47b98084 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x4a20bb30 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x74a8d1b6 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x869db4ed ax25_ip_xmit +EXPORT_SYMBOL net/ax25/ax25 0x8e3adea7 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xe109dbd3 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0xee02e420 ax25_findbyuid +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0718b8b7 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x091e8fe4 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0dfa693f hci_cmd_sync_cancel +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0e710a34 hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x105ee2f9 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x140a70b9 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1b2a19bb l2cap_chan_close +EXPORT_SYMBOL net/bluetooth/bluetooth 0x214e4265 bt_warn +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2e0eb4e8 bt_sock_wait_ready +EXPORT_SYMBOL net/bluetooth/bluetooth 0x31476466 hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x318a6f11 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x332f2e43 hci_set_fw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x336f5613 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x39439680 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3a2ff274 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3d733c78 l2cap_unregister_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x46034f9e __hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4c2e93ac hci_set_hw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5069c61d bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x58d4c323 bt_procfs_init +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5b00819b bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5c28d2c8 __hci_cmd_send +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5d459d34 bt_procfs_cleanup +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5d6f3ba2 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5f0b5429 __hci_cmd_sync_ev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6829209f hci_cmd_sync_queue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x697207f6 hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x697f8060 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7aad008b bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b5ce5c3 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b8c32f1 bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x891d1cd9 l2cap_conn_get +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8f321e3e bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8fea24bd bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa0a06d27 hci_alloc_dev_priv +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa78f9789 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa9c2f877 hci_mgmt_chan_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xada2cfdf hci_release_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb2042567 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb84df019 __hci_cmd_sync_status_sk +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbf8123d4 l2cap_conn_put +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc77759d4 hci_recv_diag +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcae537bc l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd1b73f4e hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd35eb525 l2cap_register_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7613212 bt_err_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd76f3dee bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdbbff0db bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xddacccf6 bt_warn_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xdf3fc171 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe19bdde7 __hci_cmd_sync_status +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe516fc9c bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xebacffbc bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xee166176 __hci_cmd_sync_sk +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf2676301 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf420404b hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf9affa86 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfcb5cd83 hci_reset_dev +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x303272e5 ebt_unregister_template +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x4764d512 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x81a491af ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xb0c7ac65 ebt_register_template +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xbb065db7 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xe8b915c7 ebt_do_table +EXPORT_SYMBOL net/caif/caif 0x0f193998 get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x2a09f713 cfpkt_fromnative +EXPORT_SYMBOL net/caif/caif 0x2a995232 caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0x329dbd06 cfpkt_info +EXPORT_SYMBOL net/caif/caif 0x38701a7c cfcnfg_del_phy_layer +EXPORT_SYMBOL net/caif/caif 0x3fa84493 cfpkt_add_head +EXPORT_SYMBOL net/caif/caif 0x40babbe0 cfpkt_extr_head +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x839ddb7b cfcnfg_set_phy_state +EXPORT_SYMBOL net/caif/caif 0x9e3e305d cfpkt_set_prio +EXPORT_SYMBOL net/caif/caif 0xabb64912 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xba321077 cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0xcfddaf55 caif_enroll_dev +EXPORT_SYMBOL net/can/can 0x3b3d3c0f can_proto_unregister +EXPORT_SYMBOL net/can/can 0x55ac72c9 can_rx_unregister +EXPORT_SYMBOL net/can/can 0x5ed3f50e can_send +EXPORT_SYMBOL net/can/can 0xea966771 can_sock_destruct +EXPORT_SYMBOL net/can/can 0xeb73ffc7 can_proto_register +EXPORT_SYMBOL net/can/can 0xf24b2b61 can_rx_register +EXPORT_SYMBOL net/ceph/libceph 0x02beb901 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x04cad6f0 ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x07b22c39 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x08f681c1 ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0x090119e9 osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0x0c879adb ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x0d96ede7 ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0x1378aba3 ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0x165b1948 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x171d2e11 osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x17c17611 ceph_pg_to_acting_primary +EXPORT_SYMBOL net/ceph/libceph 0x1ae1bd69 osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x1eb98a9b ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x23146b7f ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0x25e2d6f3 ceph_client_gid +EXPORT_SYMBOL net/ceph/libceph 0x28c83053 osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x2a983d26 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x2e7cbeaa ceph_monc_blocklist_add +EXPORT_SYMBOL net/ceph/libceph 0x2fa46423 ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0x30b649fe ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x311a022e ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x32ca7876 ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0x35fd931c ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0x36360f36 ceph_osdc_list_watchers +EXPORT_SYMBOL net/ceph/libceph 0x38f2d94e ceph_file_to_extents +EXPORT_SYMBOL net/ceph/libceph 0x3c112390 __ceph_auth_get_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x3c8d7111 ceph_get_num_objects +EXPORT_SYMBOL net/ceph/libceph 0x3d0a227e ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/ceph/libceph 0x417a9131 ceph_oloc_destroy +EXPORT_SYMBOL net/ceph/libceph 0x45be69e4 ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x4863242c ceph_auth_handle_bad_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x4affd6c2 ceph_parse_fsid +EXPORT_SYMBOL net/ceph/libceph 0x4bba1942 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0x4c4433a0 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x4d33ea86 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x4e19d5f4 ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x50603ce3 ceph_decode_entity_addrvec +EXPORT_SYMBOL net/ceph/libceph 0x56434aa9 ceph_auth_get_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x58de9912 ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x5bf9c7da ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0x5c4c4ae5 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x5c9c5491 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x624b5f63 osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x653f361e ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0x694a7c1e ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x6ab77b44 osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0x6b6bd384 ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0x6bfda4e6 osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0x6ce28c07 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x6dfdef9b ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x6efdd04e ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x6f5fac91 osd_req_op_init +EXPORT_SYMBOL net/ceph/libceph 0x764609bb ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x77b4c3d3 ceph_cls_lock_info +EXPORT_SYMBOL net/ceph/libceph 0x78416e03 osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x7d468310 ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0x7e49c108 osd_req_op_xattr_init +EXPORT_SYMBOL net/ceph/libceph 0x842abc08 ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x852a78f4 osd_req_op_extent_dup_last +EXPORT_SYMBOL net/ceph/libceph 0x861fb408 ceph_osdc_put_request +EXPORT_SYMBOL net/ceph/libceph 0x86fca7e4 ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x887f86c9 ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x8b65fec8 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x8fb8c23d ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0x90e3ae0b osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0x92b7b4ce ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0x95931ca3 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x98013de1 osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x987d3968 ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x9bc6b539 ceph_find_or_create_string +EXPORT_SYMBOL net/ceph/libceph 0x9c69fde6 ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0x9ca95932 ceph_create_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x9ee76a99 ceph_osdc_watch +EXPORT_SYMBOL net/ceph/libceph 0x9fbba67f ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x9fefa3cb ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0xa59912b7 ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0xa613ab85 osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0xa670ccdb ceph_osdc_call +EXPORT_SYMBOL net/ceph/libceph 0xa698f998 ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0xa6fb0418 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0xab442f1c ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0xad703657 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xaf3e861b ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb313f951 ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0xb4439b82 osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb72c162e ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xb84283fa ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0xb84fce7a ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xb9b99318 ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0xbc51db1a ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xbd2f79ae ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0xbe3879aa ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0xbf1d93d6 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0xc0706713 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0xc08ff6cd ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0xc19a358e ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0xc366bfa1 ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xc3a7ef13 ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0xc42bccf4 ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0xc59ef54a osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0xc601d8d7 osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xc73d130c ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0xc89fb81d ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xc985b7cd ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0xca80437b ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0xcca07aa4 ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0xcd416706 ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0xcfcb150b __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xd01a11b1 osd_req_op_extent_init +EXPORT_SYMBOL net/ceph/libceph 0xd23655d1 ceph_msg_put +EXPORT_SYMBOL net/ceph/libceph 0xd4d736db ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0xd4eb7735 ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0xddcf71a5 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0xde0403bc ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0xde81823e ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xdf6ef4a1 ceph_oid_printf +EXPORT_SYMBOL net/ceph/libceph 0xdfc091f9 ceph_entity_type_name +EXPORT_SYMBOL net/ceph/libceph 0xe0091090 ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0xe34a59f2 ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0xe5a39bda ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0xe76e7226 ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0xe893069e osd_req_op_copy_from_init +EXPORT_SYMBOL net/ceph/libceph 0xee120c03 ceph_release_string +EXPORT_SYMBOL net/ceph/libceph 0xeef6cfa3 ceph_iterate_extents +EXPORT_SYMBOL net/ceph/libceph 0xefce3c3b ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0xefce991c ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0xf03fe862 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0xf1ee98c4 ceph_auth_handle_svc_reply_done +EXPORT_SYMBOL net/ceph/libceph 0xf22bb71d ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0xf256a375 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xf38b515b ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0xf483d632 ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0xf5954a71 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xf6f2d3bd ceph_auth_handle_svc_reply_more +EXPORT_SYMBOL net/ceph/libceph 0xf7fddf00 ceph_cls_unlock +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x72b7e263 dccp_req_err +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xd83dce2c dccp_syn_ack_timeout +EXPORT_SYMBOL net/hsr/hsr 0x6a2c62d4 hsr_get_version +EXPORT_SYMBOL net/hsr/hsr 0xc4ab2b5e is_hsr_master +EXPORT_SYMBOL net/ieee802154/ieee802154 0x2227ad05 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0x27afc32c wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x52baa450 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x5872c1d5 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0x8565286e wpan_phy_new +EXPORT_SYMBOL net/ieee802154/ieee802154 0xa2c89572 wpan_phy_for_each +EXPORT_SYMBOL net/ipv4/fou 0x13e3016a __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0x1757d1a4 fou_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0x19094fed __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0xf13914b3 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0x4c2a5588 gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x142ee187 ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x2fcebc61 ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x56fe6dd9 ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x661ac5b3 ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x088bab60 arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x0b72d754 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x41707ea0 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xb757e2a8 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x74578a91 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x9eb66c92 ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xb1b754e2 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xbe035d1c ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/tunnel4 0x50234e42 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xe1bca707 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/udp_tunnel 0x8c80dc8d udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x0c272e01 ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x11e98101 ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x2b64ada3 ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x3a143ace ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x48f3c157 ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x4977164c ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xc5496bbc ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xf33d83e1 ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xf90519d9 ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x9a31ec7f ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xbb82ca82 ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xd136cfd6 ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xe119768b ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/tunnel6 0x1d699e17 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0x4846f547 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xb4a36f2a xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xe60a3ea8 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/lapb/lapb 0x6437378e lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x679318f3 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x69e956cb lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x7bcf7be6 lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0xa0837a89 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0xb76ed0ef lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0xc12715ca lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0xe0cd9d11 lapb_getparms +EXPORT_SYMBOL net/llc/llc 0x0dd9e32b llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x1e315e81 llc_sap_close +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x4aa47bb3 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x8a99f144 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0xed155ff9 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0xf9a31238 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0xfe14aafe llc_add_pack +EXPORT_SYMBOL net/mac80211/mac80211 0x01e27c26 ieee80211_mark_rx_ba_filtered_frames +EXPORT_SYMBOL net/mac80211/mac80211 0x058d43e5 ieee80211_schedule_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x063f5308 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x08d5380a ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x0e03ad77 ieee80211_sta_uapsd_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x1598d7bb ieee80211_channel_switch_disconnect +EXPORT_SYMBOL net/mac80211/mac80211 0x16ad966a ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x1757d648 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x183dcd3b ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0x18e810d1 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x19f37f0d ieee80211_update_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x1a66fc17 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0x1b8fe861 ieee80211_sta_pspoll +EXPORT_SYMBOL net/mac80211/mac80211 0x1c029d4f ieee80211_rx_list +EXPORT_SYMBOL net/mac80211/mac80211 0x20aa1cc0 ieee80211_radar_detected +EXPORT_SYMBOL net/mac80211/mac80211 0x20c591c7 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x21ae5cda ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x25d91aac ieee80211_get_fils_discovery_tmpl +EXPORT_SYMBOL net/mac80211/mac80211 0x281f57b4 ieee80211_txq_may_transmit +EXPORT_SYMBOL net/mac80211/mac80211 0x2d381fab ieee80211_beacon_set_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0x2d3e4a8f __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x2e1b8d7c ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x333f13c8 ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x35a7ffd6 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x35de8159 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x38d0038b ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x39a68ad3 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x4034ca07 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x4159b71f ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x468d47d4 ieee80211_reserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x49785f12 ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x4c01479c ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x4d652491 ieee80211_txq_get_depth +EXPORT_SYMBOL net/mac80211/mac80211 0x50931e01 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x527e52ff ieee80211_disconnect +EXPORT_SYMBOL net/mac80211/mac80211 0x537c76a8 ieee80211_report_wowlan_wakeup +EXPORT_SYMBOL net/mac80211/mac80211 0x57d30e1f ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x59c9f858 rate_control_set_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x5d96eb72 ieee80211_rx_napi +EXPORT_SYMBOL net/mac80211/mac80211 0x5f62bbb8 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x64035d53 ieee80211_iter_keys_rcu +EXPORT_SYMBOL net/mac80211/mac80211 0x64538394 ieee80211_txq_airtime_check +EXPORT_SYMBOL net/mac80211/mac80211 0x6537a604 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x6837356a ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x6928f436 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x6a3ab1eb ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0x72fc4a07 ieee80211_alloc_hw_nm +EXPORT_SYMBOL net/mac80211/mac80211 0x744be5ce ieee80211_next_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x77d2b243 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x829157b4 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x82a888c8 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x87d039a1 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0x8a63f46a ieee80211_txq_schedule_start +EXPORT_SYMBOL net/mac80211/mac80211 0x9023928e ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x90858ca9 ieee80211_nan_func_match +EXPORT_SYMBOL net/mac80211/mac80211 0x91a2e08a ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0x921059a4 ieee80211_get_unsol_bcast_probe_resp_tmpl +EXPORT_SYMBOL net/mac80211/mac80211 0x94770311 ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0x95f3e528 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x991a0ca0 ieee80211_parse_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x9a2e7ee1 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x9da69d8b ieee80211_nan_func_terminated +EXPORT_SYMBOL net/mac80211/mac80211 0xa82c8af2 ieee80211_tdls_oper_request +EXPORT_SYMBOL net/mac80211/mac80211 0xab6a98c1 ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0xadfe3641 ieee80211_manage_rx_ba_offl +EXPORT_SYMBOL net/mac80211/mac80211 0xaf3dc68c ieee80211_send_eosp_nullfunc +EXPORT_SYMBOL net/mac80211/mac80211 0xaf45dea5 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xb1e0e750 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xb39c7572 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0xb6de3744 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xbd907d92 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xbfaa0ee1 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0xbfdb5242 ieee80211_tx_prepare_skb +EXPORT_SYMBOL net/mac80211/mac80211 0xc0b9ae8d ieee80211_get_tx_rates +EXPORT_SYMBOL net/mac80211/mac80211 0xc23fb8b6 ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0xc4d25b3d ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xc6bc01ba ieee80211_sta_register_airtime +EXPORT_SYMBOL net/mac80211/mac80211 0xc824ea03 ieee80211_return_txq +EXPORT_SYMBOL net/mac80211/mac80211 0xc88986d7 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xc94a0534 ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0xca65e73a ieee80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/mac80211/mac80211 0xcdafb7c4 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xcef12607 ieee80211_csa_finish +EXPORT_SYMBOL net/mac80211/mac80211 0xd00c11c5 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xd2dc0928 ieee80211_rx_ba_timer_expired +EXPORT_SYMBOL net/mac80211/mac80211 0xd4813345 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xd6566b9f ieee80211_sta_eosp +EXPORT_SYMBOL net/mac80211/mac80211 0xd7fd95e7 ieee80211_tx_status_ext +EXPORT_SYMBOL net/mac80211/mac80211 0xda0dd42c ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xddc7425b ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0xe194e657 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0xe5752af3 ieee80211_get_bssid +EXPORT_SYMBOL net/mac80211/mac80211 0xe7e55db4 ieee80211_tx_dequeue +EXPORT_SYMBOL net/mac80211/mac80211 0xea422d64 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xeb6f2654 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xef063988 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0xef0d62ba ieee80211_unreserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0xf037d138 ieee80211_beacon_update_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0xf37c18ce __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xf52afaf4 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xf5e17119 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xf6dac964 ieee80211_tx_rate_update +EXPORT_SYMBOL net/mac80211/mac80211 0xfc2e0bda ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0xfc89e9cf ieee80211_beacon_cntdwn_is_complete +EXPORT_SYMBOL net/mac80211/mac80211 0xff265dc6 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0xff50b662 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac802154/mac802154 0x0dfa03b5 ieee802154_free_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x59eeaf89 ieee802154_unregister_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x5c029f83 ieee802154_register_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x6d5d8c0d ieee802154_configure_durations +EXPORT_SYMBOL net/mac802154/mac802154 0x79b5cca0 ieee802154_stop_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x82b9c33e ieee802154_xmit_error +EXPORT_SYMBOL net/mac802154/mac802154 0xb04d5710 ieee802154_rx_irqsafe +EXPORT_SYMBOL net/mac802154/mac802154 0xb91e429a ieee802154_wake_queue +EXPORT_SYMBOL net/mac802154/mac802154 0xd54a5776 ieee802154_xmit_hw_error +EXPORT_SYMBOL net/mac802154/mac802154 0xe10164c4 ieee802154_alloc_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xe4e5d5d7 ieee802154_xmit_complete +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x05656670 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1414f9f1 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2872c2c8 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2d80c9fe ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x3bc4a547 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x6d9d8a5c register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x70a6d890 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fa251dd ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xafd1f4f4 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc35e588e ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc9f01171 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xcf63f9e0 ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xcfb7ed95 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd47bc52c ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xee4c21a3 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0xf2a36612 pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x152c610e nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nf_nat 0x95d92765 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0xbf709600 nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nf_nat 0xc9d80f22 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nft_fib 0xb3c36947 nft_fib_policy +EXPORT_SYMBOL net/netfilter/x_tables 0x0a293e0e xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x0d7f5fcd xt_alloc_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x39465ddc xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x3bf9d084 xt_check_table_hooks +EXPORT_SYMBOL net/netfilter/x_tables 0x41eba091 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x48012e28 xt_check_proc_name +EXPORT_SYMBOL net/netfilter/x_tables 0x50873741 xt_compat_init_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x977fd4bf xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x9a59976e xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x9cedec88 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xa25fc115 xt_compat_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0xb69a0060 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xb7746f47 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0xcb3e91cc xt_counters_alloc +EXPORT_SYMBOL net/netfilter/x_tables 0xd87ae60d xt_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0xe204e042 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xe2f4900b xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xe5ee0291 xt_find_table +EXPORT_SYMBOL net/netfilter/x_tables 0xecfb296d xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xfef779fa xt_find_jump_offset +EXPORT_SYMBOL net/nfc/hci/hci 0x012f2490 nfc_llc_stop +EXPORT_SYMBOL net/nfc/hci/hci 0x02e7e4fc nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x04ec20fd nfc_hci_reset_pipes_per_host +EXPORT_SYMBOL net/nfc/hci/hci 0x098be9cc nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x0fac3a5a nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x1eb58e86 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x21e49d7a nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x2953b57f nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x2d7e103a nfc_hci_send_cmd_async +EXPORT_SYMBOL net/nfc/hci/hci 0x2db24d41 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x38a9f176 nfc_hci_reset_pipes +EXPORT_SYMBOL net/nfc/hci/hci 0x43e73817 nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0x4723e512 nfc_hci_target_discovered +EXPORT_SYMBOL net/nfc/hci/hci 0x60c46c71 nfc_hci_driver_failure +EXPORT_SYMBOL net/nfc/hci/hci 0x6a351214 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0x6b29f5f6 nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x742e2c3f nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x74fe3670 nfc_hci_result_to_errno +EXPORT_SYMBOL net/nfc/hci/hci 0x753f262b nfc_llc_start +EXPORT_SYMBOL net/nfc/hci/hci 0xb7b65fca nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xb8d144e3 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0xd630366b nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xdd231c55 nfc_hci_sak_to_protocol +EXPORT_SYMBOL net/nfc/nci/nci 0x00b250a5 nci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x1503a53a nci_req_complete +EXPORT_SYMBOL net/nfc/nci/nci 0x296a6f97 nci_core_conn_close +EXPORT_SYMBOL net/nfc/nci/nci 0x38960db2 nci_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0x428d2f05 nci_core_conn_create +EXPORT_SYMBOL net/nfc/nci/nci 0x4b6cf254 nci_core_init +EXPORT_SYMBOL net/nfc/nci/nci 0x52c91ea5 nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0x5958c704 nci_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0x5d4d111a nci_send_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x65104360 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0x6e1424e5 nci_hci_dev_session_init +EXPORT_SYMBOL net/nfc/nci/nci 0x7c5df434 nci_set_config +EXPORT_SYMBOL net/nfc/nci/nci 0x83236846 nci_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x898fb4ec nci_conn_max_data_pkt_payload_size +EXPORT_SYMBOL net/nfc/nci/nci 0x899d514e nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x8fda4070 nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x958d6621 nci_core_reset +EXPORT_SYMBOL net/nfc/nci/nci 0x984960b9 nci_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0xa0f7d6dd nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0xa9867aee nci_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0xacc19cce nci_get_conn_info_by_dest_type_params +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xbac5d2fb nci_hci_clear_all_pipes +EXPORT_SYMBOL net/nfc/nci/nci 0xc80c7ddd nci_nfcee_discover +EXPORT_SYMBOL net/nfc/nci/nci 0xd67ab066 nci_send_data +EXPORT_SYMBOL net/nfc/nci/nci 0xd8bfaf2a nci_hci_open_pipe +EXPORT_SYMBOL net/nfc/nci/nci 0xdc30f538 nci_nfcee_mode_set +EXPORT_SYMBOL net/nfc/nci/nci 0xe427b784 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0xe4c53236 nci_prop_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xf98f45fd nci_core_cmd +EXPORT_SYMBOL net/nfc/nfc 0x0920b462 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x09cabf19 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x0da89af7 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x1dfdc794 nfc_tm_deactivated +EXPORT_SYMBOL net/nfc/nfc 0x1e8fd2c5 nfc_tm_activated +EXPORT_SYMBOL net/nfc/nfc 0x204dbad1 nfc_driver_failure +EXPORT_SYMBOL net/nfc/nfc 0x4921704e nfc_se_connectivity +EXPORT_SYMBOL net/nfc/nfc 0x4f334da0 __nfc_alloc_vendor_cmd_reply_skb +EXPORT_SYMBOL net/nfc/nfc 0x6179eace nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nfc 0x65c86036 nfc_fw_download_done +EXPORT_SYMBOL net/nfc/nfc 0x7a35ba8a nfc_remove_se +EXPORT_SYMBOL net/nfc/nfc 0x7bd45664 nfc_vendor_cmd_reply +EXPORT_SYMBOL net/nfc/nfc 0x839c5ad7 nfc_send_to_raw_sock +EXPORT_SYMBOL net/nfc/nfc 0x8a3f35e4 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x8ab2c6dc nfc_get_local_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x8dc2c2f0 nfc_find_se +EXPORT_SYMBOL net/nfc/nfc 0xb102262b nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0xb46d5bcc nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0xbdc5b158 nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0xc02f8cd9 nfc_se_transaction +EXPORT_SYMBOL net/nfc/nfc 0xc3a49c04 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0xc8ba894b nfc_add_se +EXPORT_SYMBOL net/nfc/nfc 0xd6e016b3 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0xdbd423f1 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0xde018526 nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x268d27e3 nfc_digital_unregister_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x4470f506 nfc_digital_register_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x62372b55 nfc_digital_allocate_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xcfd6cf59 nfc_digital_free_device +EXPORT_SYMBOL net/phonet/phonet 0x3f000865 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x54eb3740 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x6e67917b phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x757a6877 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xa88465c3 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0xab079c0d phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0xd2fad9b7 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0xee8194ce pn_skb_send +EXPORT_SYMBOL net/rxrpc/rxrpc 0x0da4df2c rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0x17c1440c rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0x1c5f352d rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/rxrpc/rxrpc 0x2ad9babc rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x373dc4b4 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0x3b872119 rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0x5b6f4b63 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x5f678a08 rxrpc_kernel_check_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x608cc0b1 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x87e718bc rxrpc_kernel_recv_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x9d2fd643 rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0xb13c9273 rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/rxrpc/rxrpc 0xbd0e071e rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd68d71e9 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd9a8955c rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0xdb36238f rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/rxrpc/rxrpc 0xe4ae7300 rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0xfd2347a3 rxrpc_get_null_key +EXPORT_SYMBOL net/sctp/sctp 0x7159f355 sctp_do_peeloff +EXPORT_SYMBOL net/smc/smc 0x050e99dc __SCK__tp_func_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x1a774d44 __tracepoint_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0x1e1a1551 __SCK__tp_func_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0x1e612b77 __SCT__tp_func_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x3ac4e1c7 __SCT__tp_func_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x3bcd3bb9 __SCT__tp_func_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0x42fec57b __traceiter_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x4a320faf __SCK__tp_func_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0x4e5f57ba __tracepoint_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0x6085bb07 __tracepoint_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x87ccd0c7 __SCT__tp_func_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0x9adf25a5 __traceiter_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0xa3721ca7 __traceiter_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0xc893124e __SCK__tp_func_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0xccfe4a5b __tracepoint_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0xe8ded253 __traceiter_smcr_link_down +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x1daae716 gss_mech_put +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x2e512149 gss_mech_get +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x6efcc08a gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/sunrpc 0x05498b68 xdr_restrict_buflen +EXPORT_SYMBOL net/sunrpc/sunrpc 0x79e7f956 xdr_truncate_encode +EXPORT_SYMBOL net/sunrpc/sunrpc 0xf98592f4 svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x75825edc tipc_dump_start +EXPORT_SYMBOL net/tipc/tipc 0x9185ea1f tipc_dump_done +EXPORT_SYMBOL net/tipc/tipc 0xa93c4573 tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tipc/tipc 0xfb5c3e7b tipc_nl_sk_walk +EXPORT_SYMBOL net/tls/tls 0x699fec81 tls_get_record +EXPORT_SYMBOL net/wireless/cfg80211 0x06ca71fd cfg80211_chandef_create +EXPORT_SYMBOL net/wireless/cfg80211 0x07646863 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x0ab73ab1 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x0cc95bc2 ieee80211_s1g_channel_width +EXPORT_SYMBOL net/wireless/cfg80211 0x1144983e __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x117aca91 cfg80211_merge_profile +EXPORT_SYMBOL net/wireless/cfg80211 0x125da8b7 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x1409a8b1 cfg80211_bss_flush +EXPORT_SYMBOL net/wireless/cfg80211 0x14dd6b94 cfg80211_chandef_dfs_required +EXPORT_SYMBOL net/wireless/cfg80211 0x157dc673 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x166b578e cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x17a683ca cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x17e048f1 cfg80211_connect_done +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x18c637a0 cfg80211_external_auth_request +EXPORT_SYMBOL net/wireless/cfg80211 0x19fabc76 cfg80211_control_port_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x1a0cae0a cfg80211_rx_assoc_resp +EXPORT_SYMBOL net/wireless/cfg80211 0x1b5a3a7e cfg80211_sinfo_alloc_tid_stats +EXPORT_SYMBOL net/wireless/cfg80211 0x1ce2497f reg_query_regdb_wmm +EXPORT_SYMBOL net/wireless/cfg80211 0x1f7bf3fc cfg80211_cqm_txe_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x2214a7e9 cfg80211_stop_iface +EXPORT_SYMBOL net/wireless/cfg80211 0x2404f477 cfg80211_reg_can_beacon_relax +EXPORT_SYMBOL net/wireless/cfg80211 0x247b1c0d cfg80211_chandef_usable +EXPORT_SYMBOL net/wireless/cfg80211 0x24c6c5a7 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x275269b3 ieee80211_ie_split_ric +EXPORT_SYMBOL net/wireless/cfg80211 0x275c97f0 cfg80211_get_ies_channel_number +EXPORT_SYMBOL net/wireless/cfg80211 0x28c80779 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x2aa7e0d9 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x2e3b7842 cfg80211_ch_switch_started_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x2eb255c1 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x3049e1cf wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x3180872a __cfg80211_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x3499015f regulatory_pre_cac_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x3643b80f ieee80211_chandef_to_operating_class +EXPORT_SYMBOL net/wireless/cfg80211 0x414dc199 cfg80211_sta_opmode_change_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x429c0c31 ieee80211_bss_get_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x435078d6 cfg80211_rx_unprot_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x43afadee ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x449163f2 cfg80211_sched_scan_stopped_locked +EXPORT_SYMBOL net/wireless/cfg80211 0x44b93da5 cfg80211_send_layer2_update +EXPORT_SYMBOL net/wireless/cfg80211 0x46ff300c ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x49a3056d ieee80211_get_channel_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x4d888bc1 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x50eabedd cfg80211_iter_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x511dd7fc cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x514bdec8 wiphy_new_nm +EXPORT_SYMBOL net/wireless/cfg80211 0x51585a3e cfg80211_port_authorized +EXPORT_SYMBOL net/wireless/cfg80211 0x517f2efb cfg80211_crit_proto_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x5584448a ieee80211_channel_to_freq_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x59ccf64a cfg80211_report_obss_beacon_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x5b58a8d9 cfg80211_get_station +EXPORT_SYMBOL net/wireless/cfg80211 0x5d0145e7 cfg80211_rx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x60fdcc48 cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x6427a310 cfg80211_report_wowlan_wakeup +EXPORT_SYMBOL net/wireless/cfg80211 0x650011a4 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x66616b04 cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0x668f562c cfg80211_update_owe_info_event +EXPORT_SYMBOL net/wireless/cfg80211 0x678d39d9 wdev_chandef +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6afbaf1e ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x6bedf402 ieee80211_freq_khz_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x6e9d64b9 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x6f6142a9 cfg80211_rx_control_port +EXPORT_SYMBOL net/wireless/cfg80211 0x6faaf387 cfg80211_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x7346409b cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x79b82a71 cfg80211_find_vendor_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x7acb86ed ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x7b5c5696 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3ac925 ieee80211_get_vht_max_nss +EXPORT_SYMBOL net/wireless/cfg80211 0x7e6469fe cfg80211_check_station_change +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x80b58b6f cfg80211_nan_func_terminated +EXPORT_SYMBOL net/wireless/cfg80211 0x81804735 __cfg80211_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x87c3ba73 cfg80211_conn_failed +EXPORT_SYMBOL net/wireless/cfg80211 0x895b6748 cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x8c0d0560 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x8e6f3cef cfg80211_register_netdevice +EXPORT_SYMBOL net/wireless/cfg80211 0x8ec446cf wiphy_rfkill_set_hw_state_reason +EXPORT_SYMBOL net/wireless/cfg80211 0x8fa02936 cfg80211_free_nan_func +EXPORT_SYMBOL net/wireless/cfg80211 0x91bb3db0 cfg80211_nan_match +EXPORT_SYMBOL net/wireless/cfg80211 0x94180192 regulatory_set_wiphy_regd +EXPORT_SYMBOL net/wireless/cfg80211 0x944f89e8 cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x97b516c7 ieee80211_mandatory_rates +EXPORT_SYMBOL net/wireless/cfg80211 0x98729e8e cfg80211_background_cac_abort +EXPORT_SYMBOL net/wireless/cfg80211 0x98c5743c regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x9d6cba30 cfg80211_find_elem_match +EXPORT_SYMBOL net/wireless/cfg80211 0xa0fe3e1d regulatory_set_wiphy_regd_sync +EXPORT_SYMBOL net/wireless/cfg80211 0xa103bd8b freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xa5d0b47c cfg80211_rx_mgmt_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xa9553a3e cfg80211_tdls_oper_request +EXPORT_SYMBOL net/wireless/cfg80211 0xac168401 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xad0a2bbf cfg80211_reg_can_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0xb092a023 cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0xb3e8fb4b cfg80211_abandon_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0xb69078ea cfg80211_inform_bss_frame_data +EXPORT_SYMBOL net/wireless/cfg80211 0xb74df99d cfg80211_any_usable_channels +EXPORT_SYMBOL net/wireless/cfg80211 0xbc9fb940 cfg80211_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xbdf505d8 cfg80211_bss_color_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xc00bb023 get_wiphy_regdom +EXPORT_SYMBOL net/wireless/cfg80211 0xc0a2b324 cfg80211_cac_event +EXPORT_SYMBOL net/wireless/cfg80211 0xc1e7981c cfg80211_tx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xc4b4fc27 cfg80211_chandef_valid +EXPORT_SYMBOL net/wireless/cfg80211 0xc5df7222 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xc6ea0663 cfg80211_get_drvinfo +EXPORT_SYMBOL net/wireless/cfg80211 0xc8277c91 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xc971a08c wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0xcab95533 cfg80211_check_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0xcc1a7c48 cfg80211_is_element_inherited +EXPORT_SYMBOL net/wireless/cfg80211 0xcd93244f cfg80211_tx_mgmt_expired +EXPORT_SYMBOL net/wireless/cfg80211 0xce218a02 ieee80211_data_to_8023_exthdr +EXPORT_SYMBOL net/wireless/cfg80211 0xcee9b00a ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xd2762c35 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xd56d55f3 ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xd97eaad4 cfg80211_chandef_compatible +EXPORT_SYMBOL net/wireless/cfg80211 0xdadd5221 cfg80211_assoc_comeback +EXPORT_SYMBOL net/wireless/cfg80211 0xdae30f6e __cfg80211_radar_event +EXPORT_SYMBOL net/wireless/cfg80211 0xdba126c1 reg_initiator_name +EXPORT_SYMBOL net/wireless/cfg80211 0xdba69496 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xdc72759b cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xdf284bbc cfg80211_unregister_wdev +EXPORT_SYMBOL net/wireless/cfg80211 0xe45e1647 cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xe587c99f cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xe5a3ff4f cfg80211_bss_iter +EXPORT_SYMBOL net/wireless/cfg80211 0xe995cb34 cfg80211_inform_bss_data +EXPORT_SYMBOL net/wireless/cfg80211 0xf23f2215 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xf2b8b991 cfg80211_iftype_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0xf32ea7d4 ieee80211_get_num_supported_channels +EXPORT_SYMBOL net/wireless/cfg80211 0xf3d6a2b9 cfg80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xf40bc2f5 ieee80211_operating_class_to_band +EXPORT_SYMBOL net/wireless/cfg80211 0xf5596d89 cfg80211_get_p2p_attr +EXPORT_SYMBOL net/wireless/lib80211 0x1fbce796 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x553a6233 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x56efbc42 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x58b1688e lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xb28aefa1 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xce90340f lib80211_crypt_delayed_deinit +EXPORT_SYMBOL sound/ac97_bus 0xd12a6b95 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0xc92ff23b snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1a724fcc snd_seq_kernel_client_ctl +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3061c52d snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x4924ad8c snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x574909a6 snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6bb71038 snd_seq_delete_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7ac2f329 snd_seq_expand_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7b8699eb snd_seq_event_port_detach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7ed17dc3 snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0xfc7f3405 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x6ea09972 snd_midi_channel_alloc_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x833a3e07 snd_midi_channel_set_clear +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xb9948d2c snd_midi_channel_free_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xf912f0c8 snd_midi_process_event +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x734e4fba snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x7a3e0db5 snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x8150b379 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xb8620ad8 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xdd70dbf6 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xdd935c83 snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe9e6c50c snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x5d3a5908 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x01e053de snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x0b740827 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x1253d220 snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x186f06b9 snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x18e1683f snd_dma_program +EXPORT_SYMBOL sound/core/snd 0x191e88cf snd_dma_pointer +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x24d17f86 snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0x2731b50e snd_info_register +EXPORT_SYMBOL sound/core/snd 0x27872904 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x2a5406a1 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x342a2354 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x37c8fa03 snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3ded31af snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x443cbbbe snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x48732847 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4a6d05cb snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x4e71bec2 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x51e72a82 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x553bb8c7 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x55fd6f84 snd_card_new +EXPORT_SYMBOL sound/core/snd 0x57deb68b snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0x5b1da615 _snd_ctl_add_follower +EXPORT_SYMBOL sound/core/snd 0x60090ccc snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x63cc8e14 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x6be96a58 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x7107daf0 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x71cdfc19 snd_device_register +EXPORT_SYMBOL sound/core/snd 0x73076315 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0x7e65b257 snd_component_add +EXPORT_SYMBOL sound/core/snd 0x8605c192 snd_jack_add_new_kctl +EXPORT_SYMBOL sound/core/snd 0x88238211 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x890eeb31 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x8db77630 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x950239f4 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x9c16388c snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x9d232ab5 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0x9f6d43a6 snd_device_new +EXPORT_SYMBOL sound/core/snd 0xa718a309 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0xae474b67 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb8a423e0 snd_register_device +EXPORT_SYMBOL sound/core/snd 0xc52532af snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0xc5a6d10b release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0xc6893065 snd_device_free +EXPORT_SYMBOL sound/core/snd 0xcc6a729f snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0xcf5e2a83 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0xe2b05f23 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0xe4c71325 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0xeab2ab9e snd_ctl_notify_one +EXPORT_SYMBOL sound/core/snd 0xf28a2170 snd_card_free +EXPORT_SYMBOL sound/core/snd 0xf7c4c0a0 snd_card_register +EXPORT_SYMBOL sound/core/snd 0xf88bc64e snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0xf9b081c4 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0xfd78de0e snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0xfdf84015 snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0xfffd89db copy_from_user_toio +EXPORT_SYMBOL sound/core/snd-compress 0x4315b7a5 snd_compr_free_pages +EXPORT_SYMBOL sound/core/snd-compress 0xad0733ab snd_compr_malloc_pages +EXPORT_SYMBOL sound/core/snd-hwdep 0x5f5ee9dd snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-pcm 0x00309e63 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x11eba48e snd_pcm_create_iec958_consumer_hw_params +EXPORT_SYMBOL sound/core/snd-pcm 0x12693358 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x17225651 snd_pcm_hw_constraint_mask64 +EXPORT_SYMBOL sound/core/snd-pcm 0x1ba85558 snd_dma_buffer_mmap +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x1d9856c7 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x1fb8edef snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x2425a8e9 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x292839d3 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x2a270caa snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-pcm 0x2d7b0fc0 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x471ea86f snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0x4a4fdf86 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x4c3f2221 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x503bd137 snd_interval_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x53cf91fd snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x53eb016a snd_pcm_set_managed_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x557da904 snd_sgbuf_get_addr +EXPORT_SYMBOL sound/core/snd-pcm 0x5a1575f0 snd_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x5fe6c9dc _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x65fe8c28 snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x69255f54 snd_pcm_hw_limit_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x6b3600f6 snd_pcm_create_iec958_consumer +EXPORT_SYMBOL sound/core/snd-pcm 0x6d81625d snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x75502a4d snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x76aaa71f snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x7a96e552 snd_pcm_period_elapsed_under_stream_lock +EXPORT_SYMBOL sound/core/snd-pcm 0x7df5ea07 snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0x7e77c04b __snd_pcm_lib_xfer +EXPORT_SYMBOL sound/core/snd-pcm 0x834dc955 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x84460723 snd_pcm_hw_constraint_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0x8b665e9b snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x8f3b3b92 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x93b7c558 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x9b5a1f9e snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x9e9d21c5 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0xa0c85313 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0xa2cc0f6f snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xac437f7b snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xb3a1a4a5 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0xb9026773 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xc012a5ab snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xc0243b1e snd_sgbuf_get_page +EXPORT_SYMBOL sound/core/snd-pcm 0xc4b28720 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0xc53c81cd snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xd6658c1f snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0xded12c74 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xe096c5b4 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xebe53edd snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xf1a645d5 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xf22cdceb snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0xf82ca700 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0xfc6bd1b3 snd_pcm_set_managed_buffer_all +EXPORT_SYMBOL sound/core/snd-pcm 0xff6104d0 snd_pcm_rate_bit_to_rate +EXPORT_SYMBOL sound/core/snd-pcm 0xff74787c snd_dma_alloc_dir_pages +EXPORT_SYMBOL sound/core/snd-rawmidi 0x01cc9598 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x14de25b7 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2102ceee snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3ad263cb snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4501c5b4 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x48e50f2d snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x758be353 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x80f5be31 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x92f25db7 snd_rawmidi_proceed +EXPORT_SYMBOL sound/core/snd-rawmidi 0x99612a6c __snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa14faafd snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa5df1eff snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb2a315b5 __snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb3ee4a69 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb97e368f snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc5a7c7ff snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xcd416c4e snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0xceede70a snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe3d46850 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0xff805edd snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-seq-device 0x091def1c snd_seq_autoload_exit +EXPORT_SYMBOL sound/core/snd-seq-device 0x370a0736 snd_seq_autoload_init +EXPORT_SYMBOL sound/core/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/snd-seq-device 0x676df1e3 snd_seq_device_new +EXPORT_SYMBOL sound/core/snd-timer 0x10e417e2 snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x24b2c13c snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0x43366ca7 snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x49274ff2 snd_timer_instance_new +EXPORT_SYMBOL sound/core/snd-timer 0x51e8b30b snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x6677a102 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x7750f249 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0x8eddad91 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x93a85998 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0xa9fef6b1 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0xb5c129a9 snd_timer_instance_free +EXPORT_SYMBOL sound/core/snd-timer 0xc36406ff snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0xc611b921 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0xd64cc7ec snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0xe546525e snd_timer_pause +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x671c593c snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc0fec227 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x019fed9c snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x27b6134e snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x787812e4 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xa8de1718 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xb37c47b7 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xd4d733fe snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xe6a4b13e snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf0d1b1cc snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf1411e1a snd_opl3_reset +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x1fa24c99 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x226138b0 snd_vx_threaded_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x29359d73 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x2d0b3706 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x4012a585 snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7d19198b snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x9473257c snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x9dd5363e snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xd486adcc snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xdb73dc7b snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1515ecd9 avc_general_set_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1ad2abb5 cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1affcbbb amdtp_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x20254e45 amdtp_syt_intervals +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2730eb18 amdtp_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x29a3fb73 amdtp_stream_set_parameters +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2bf6a36a cmp_connection_release +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2c660634 fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3b5c1ab3 amdtp_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4cad177d amdtp_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x53ca18e8 amdtp_rate_table +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x565cc4b8 cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5d5a3bd6 avc_general_get_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x64d139e2 snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x6bdc141d amdtp_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x72ed80d2 fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x792c7418 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x795aa077 amdtp_stream_add_pcm_hw_constraints +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7b677387 fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7faeba9e cmp_connection_check_used +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8b6b13bf cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x9a480c63 iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa2b165a4 cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa8ae17bd cmp_connection_reserve +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc97d7629 cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd32ca7ca fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd832f798 avc_general_get_plug_info +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd92c83ed fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xdb3ce3ed fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xead6d984 iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xff795bb2 amdtp_stream_get_max_payload +EXPORT_SYMBOL sound/hda/snd-intel-dspcfg 0x41a05c36 intel_nhlt_has_endpoint_type +EXPORT_SYMBOL sound/hda/snd-intel-dspcfg 0x601fd85b intel_nhlt_get_endpoint_blob +EXPORT_SYMBOL sound/hda/snd-intel-dspcfg 0x66fd6169 intel_nhlt_ssp_endpoint_mask +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x5c29f637 snd_ak4113_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x86413f2f snd_ak4113_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x13dca61d snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x78414300 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x8c1ff004 snd_ak4114_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xb38998b8 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xcea8c9e7 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xd53b356f snd_ak4114_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xe31bc3b1 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xf4bfe888 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x1a931962 snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x339ec74e snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x3c277e3b snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x7a15619c snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x938988d8 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xa0a6b0fc snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x0cb44b6a snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x490b96a0 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x594f93ae snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x6f508302 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x363d878f snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x3e1210f7 snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x05d6446b snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x195474de snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x833e0f29 snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xe97005db snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xf634ef7b snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xffb20842 snd_cs8427_init +EXPORT_SYMBOL sound/i2c/snd-i2c 0x0fb8dd19 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x37bb195a snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0x621cb0ab snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0xadd72c0c snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xc51f9080 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xce38ddc3 snd_i2c_bus_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x2596b68d snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x3b74b5c2 snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x471362c7 snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x64816685 snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x6ed5db79 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xaae1ae78 snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xc7d4b5e1 snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xee58802b snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xf500ede8 snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xfc398927 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x173cb1d8 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2a563a00 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x35b25345 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5bfcc2ba snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7381557c snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8a1626ca snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x92c00673 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa8d8a1fc snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb34af0d7 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc5a4f252 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xca895c9a snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xcfbd6133 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd1672199 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd88f3fa7 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe1dc2a1e snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xecb376aa snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xfc4341be snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/asihpi/snd-asihpi 0xbca80868 hpi_send_recv +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x06f31b26 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x07a262e8 snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x1b02ef67 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x1c525946 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x382ae559 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x934a208d snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xbf1dedcd snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xdd1bd1d0 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xe4668cfc snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x5d0e4e4a snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x60d0edd0 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xc411b9a5 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x07753666 oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x084a7b18 oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x09e90aa3 oxygen_update_dac_routing +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x11735391 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x11faecf6 oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x3a490067 oxygen_pci_pm +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x3d572acd oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x446e9a18 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4acb0b9e oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4beda823 oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x59f766c6 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x86c68bf9 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa6c485fa oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbbc8bbb7 oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc478a30a oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xcda1b5fa oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd07f28f8 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd8c174aa oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf66f25ff oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf839d549 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x50297d53 snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x7acd4576 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x9eda9bcb snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xf4bee8e0 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xfdb4110d snd_trident_free_voice +EXPORT_SYMBOL sound/soc/amd/acp_audio_dma 0xf2cc2cce acp_bt_uart_enable +EXPORT_SYMBOL sound/soc/amd/snd-acp-config 0x3c5fb7b7 snd_amd_acp_find_config +EXPORT_SYMBOL sound/soc/amd/snd-acp-config 0xc6c90080 snd_soc_acpi_amd_sof_machines +EXPORT_SYMBOL sound/soc/codecs/snd-soc-adau1372 0x658fbb60 adau1372_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-lpass-wsa-macro 0x08ac916a wsa_macro_set_spkr_mode +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x2835c03c pcm3060_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0xf07ca67c pcm3060_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-rt715 0xed2acb24 hda_to_sdw +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x86ff0243 tlv320aic23_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0xd3140e06 tlv320aic23_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x4b284cb2 aic32x4_regmap_config +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0xd4fe640c aic32x4_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0xeb6c00a8 aic32x4_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic3x 0x0a67d92e aic3x_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic3x 0x32ac1ad5 aic3x_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x3a195ca9 wcd_mbhc_get_impedance +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x789ebe56 wcd_mbhc_set_hph_type +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x7a85e402 wcd_mbhc_init +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xa5758a49 wcd_mbhc_get_hph_type +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xb9f1f734 wcd_mbhc_start +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xd094df47 wcd_mbhc_deinit +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xd8d4b019 wcd_dt_parse_mbhc_data +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xe2beca26 wcd_mbhc_stop +EXPORT_SYMBOL sound/soc/snd-soc-core 0xdaa8b743 snd_soc_alloc_ac97_component +EXPORT_SYMBOL sound/soc/sof/amd/snd-sof-amd-renoir 0x0c39f024 sof_renoir_ops +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0452af08 snd_sof_dsp_update_bits_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x04fce421 sof_ipc_tx_message +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x180517ae sof_stream_pcm_open +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x18a8ec9c sof_dai_get_mclk +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1f26a44a snd_sof_runtime_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x21926649 sof_widget_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x22a9efdc snd_sof_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x24764140 sof_ipc_msg_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2518b1f7 snd_sof_device_probe +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x265be0cd snd_sof_pci_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x27ecc296 sof_io_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x29cbee29 sof_machine_check +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2fb2111c sof_block_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x30d6b6f1 sof_io_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x31d24131 snd_sof_run_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x368c6727 sof_debug_check_flag +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3c24b9d1 sof_set_fw_state +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3c832670 snd_sof_load_topology +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x43485e53 snd_sof_load_firmware_raw +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4349b498 snd_sof_device_shutdown +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4d5634a6 sof_set_stream_data_offset +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4dc07af9 snd_sof_dsp_dbg_dump +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x50bccee0 sof_mailbox_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x51fe2009 snd_sof_ipc_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x59a31d32 sof_print_oops_and_stack +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x66084200 sof_block_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6c3213cf snd_sof_dsp_update_bits64_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6d25b4fc sof_stream_pcm_close +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6e31186f sof_pcm_dai_link_fixup +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7c4342d7 sof_io_write64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7eabd4a0 snd_sof_device_remove +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x80ef37b7 sof_machine_unregister +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8b61507a sof_ipc_tx_message_no_pm +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x90f13fd3 snd_sof_device_probe_completed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x964b2347 sof_widget_setup +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x97ec5880 snd_sof_ipc_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9bae029e snd_sof_dsp_update_bits64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa2045e8a snd_sof_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa99fb05e snd_sof_dsp_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xab937c49 snd_sof_ipc_get_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb3838537 sof_io_read64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb4f09ffd snd_sof_pcm_period_elapsed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xbb55e7b0 snd_sof_runtime_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xbe56d2ab snd_sof_fw_unload +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc5eea892 snd_sof_ipc_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcb5664e0 snd_sof_dsp_update_bits_forced +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xdd036349 snd_sof_dsp_panic +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe57de293 snd_sof_dsp_only_d0i3_compatible_stream_active +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe5dabe70 snd_sof_handle_fw_exception +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf21316f7 sof_machine_register +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf2134c2f snd_sof_complete +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf2f9fffe snd_sof_load_firmware_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf61e930d snd_sof_runtime_idle +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf75b8399 sof_dai_get_bclk +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf9446947 snd_sof_prepare +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xfd238bad sof_mailbox_write +EXPORT_SYMBOL sound/soc/sof/snd-sof-utils 0x7e8af120 snd_sof_create_page_table +EXPORT_SYMBOL sound/soundcore 0x6906c856 sound_class +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xa21ce068 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0xa298fcde register_sound_special +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xecef41ce register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0xf1ad2724 register_sound_dsp +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x1563f9d9 snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x17ebf79b snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x41c6a4c5 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x5a6ba5b7 snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xa467e04e snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xae80c174 snd_emux_register +EXPORT_SYMBOL sound/synth/snd-util-mem 0x0eda33fa snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x2a48197f snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x6517719f __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x914f3491 snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9223e14b snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9adc8c44 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xc59655e4 snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0xd28dc0da __snd_util_mem_alloc +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x72c78e25 __snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xb2af19e1 snd_usbmidi_resume +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xbed43a41 snd_usbmidi_suspend +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL vmlinux 0x00148653 vsnprintf +EXPORT_SYMBOL vmlinux 0x001c4277 vfs_iocb_iter_write +EXPORT_SYMBOL vmlinux 0x00571107 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x006f36e1 vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0x006f97f4 register_quota_format +EXPORT_SYMBOL vmlinux 0x007e3611 devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x008511d6 phy_modify_paged +EXPORT_SYMBOL vmlinux 0x008bfc86 mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0x00a4b044 amd_iommu_deactivate_guest_mode +EXPORT_SYMBOL vmlinux 0x00b3038c genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00b6304b pci_get_subsys +EXPORT_SYMBOL vmlinux 0x00bea9d4 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x00c2c991 param_set_ushort +EXPORT_SYMBOL vmlinux 0x00d4f3c6 skb_copy_bits +EXPORT_SYMBOL vmlinux 0x00d7e722 vme_lm_count +EXPORT_SYMBOL vmlinux 0x00e0eb46 is_nd_dax +EXPORT_SYMBOL vmlinux 0x00e3fdc4 input_set_keycode +EXPORT_SYMBOL vmlinux 0x00f2a348 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x00f7ea72 nf_log_set +EXPORT_SYMBOL vmlinux 0x00fbd7ea redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x010827d6 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x010fabe8 d_invalidate +EXPORT_SYMBOL vmlinux 0x0114fcaa add_to_page_cache_lru +EXPORT_SYMBOL vmlinux 0x01156ae4 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x01156dfa xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0x011bab86 prepare_creds +EXPORT_SYMBOL vmlinux 0x012da4d8 ip6_output +EXPORT_SYMBOL vmlinux 0x0132a368 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x013c2b17 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x013f26ae dma_fence_get_stub +EXPORT_SYMBOL vmlinux 0x0147812c kblockd_mod_delayed_work_on +EXPORT_SYMBOL vmlinux 0x0153d237 xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x01612fdd dev_get_mac_address +EXPORT_SYMBOL vmlinux 0x0166b1ad param_get_byte +EXPORT_SYMBOL vmlinux 0x016e0ab1 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device +EXPORT_SYMBOL vmlinux 0x0179cf6e nonseekable_open +EXPORT_SYMBOL vmlinux 0x017de3d5 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0x018574a1 mb_cache_entry_delete +EXPORT_SYMBOL vmlinux 0x0188cd88 vme_alloc_consistent +EXPORT_SYMBOL vmlinux 0x019a747b pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x01b41e5c mmc_run_bkops +EXPORT_SYMBOL vmlinux 0x01b6865c xa_get_mark +EXPORT_SYMBOL vmlinux 0x01bbd9f2 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x01bcc094 iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0x01bf55fc paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x01e3359e pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0x01f28fc7 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x0209f3a7 secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x020ee4bf phy_connect +EXPORT_SYMBOL vmlinux 0x021fd5da get_phy_device +EXPORT_SYMBOL vmlinux 0x0225da02 pnp_start_dev +EXPORT_SYMBOL vmlinux 0x0226f85e vme_new_dma_list +EXPORT_SYMBOL vmlinux 0x0228925f iowrite64_hi_lo +EXPORT_SYMBOL vmlinux 0x02293ac3 dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0x022bbf8a filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x0237b57a arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x023d1b90 wrmsr_on_cpu +EXPORT_SYMBOL vmlinux 0x0248efd3 kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0x024f7061 inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x0263ae03 blk_get_queue +EXPORT_SYMBOL vmlinux 0x0263e8cd set_user_nice +EXPORT_SYMBOL vmlinux 0x0270d9c1 gro_cells_init +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x0279601f is_acpi_device_node +EXPORT_SYMBOL vmlinux 0x027cffd2 inode_dio_wait +EXPORT_SYMBOL vmlinux 0x028ebb78 pci_release_region +EXPORT_SYMBOL vmlinux 0x028f5346 key_move +EXPORT_SYMBOL vmlinux 0x028f7e85 md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x02b8ab42 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x02c656b6 acpi_enable_all_runtime_gpes +EXPORT_SYMBOL vmlinux 0x02ce89b4 flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x02d26ca0 __dec_node_page_state +EXPORT_SYMBOL vmlinux 0x02d9d473 csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x02df504b agp_allocate_memory +EXPORT_SYMBOL vmlinux 0x02f04949 cdev_alloc +EXPORT_SYMBOL vmlinux 0x03059dfa input_get_timestamp +EXPORT_SYMBOL vmlinux 0x0306fe54 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x032b2f49 phy_validate_pause +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x03578bb7 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x035e0013 devm_of_iomap +EXPORT_SYMBOL vmlinux 0x0360d67f make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x0362f9a8 __x86_indirect_thunk_r12 +EXPORT_SYMBOL vmlinux 0x0364f31c vlan_for_each +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x036bf8a3 bioset_exit +EXPORT_SYMBOL vmlinux 0x036cf62a __seq_open_private +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03815f35 ledtrig_disk_activity +EXPORT_SYMBOL vmlinux 0x0383e6d9 vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0x038bebc6 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x038e98b3 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x03959216 send_sig_mceerr +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x03bf0e5a acpi_walk_resource_buffer +EXPORT_SYMBOL vmlinux 0x03d2c988 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x03d8038f dqget +EXPORT_SYMBOL vmlinux 0x03e9f08a netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0x03f777af __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x03fec05d dm_unregister_target +EXPORT_SYMBOL vmlinux 0x040742f3 sock_init_data_uid +EXPORT_SYMBOL vmlinux 0x0414819b release_sock +EXPORT_SYMBOL vmlinux 0x044154c6 tc_skb_ext_tc +EXPORT_SYMBOL vmlinux 0x04421234 node_data +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x045ff2a0 rproc_coredump_add_segment +EXPORT_SYMBOL vmlinux 0x04637263 dcb_getapp +EXPORT_SYMBOL vmlinux 0x0474edef kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x04783a36 phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0x0479aac1 seq_list_next_rcu +EXPORT_SYMBOL vmlinux 0x047c86dd security_path_mknod +EXPORT_SYMBOL vmlinux 0x0484c6c4 acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x04863e28 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x0498b860 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x049944df kern_unmount_array +EXPORT_SYMBOL vmlinux 0x04c62fd7 __memset +EXPORT_SYMBOL vmlinux 0x04d0601e inet_recvmsg +EXPORT_SYMBOL vmlinux 0x04d8c750 release_perfctr_nmi +EXPORT_SYMBOL vmlinux 0x04dc0ccb ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0x04e1c130 proc_create_seq_private +EXPORT_SYMBOL vmlinux 0x04ea5d10 ksize +EXPORT_SYMBOL vmlinux 0x050440f8 genphy_write_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x050877b9 dmi_first_match +EXPORT_SYMBOL vmlinux 0x051748ba jbd2_submit_inode_data +EXPORT_SYMBOL vmlinux 0x051d58e8 dma_fence_wait_any_timeout +EXPORT_SYMBOL vmlinux 0x051f1a9e invalidate_bdev +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x053421d1 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x05441e5c seq_lseek +EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x054585a9 dma_resv_init +EXPORT_SYMBOL vmlinux 0x055e77e8 jiffies_64 +EXPORT_SYMBOL vmlinux 0x05696f32 folio_account_redirty +EXPORT_SYMBOL vmlinux 0x058034c1 scsi_report_opcode +EXPORT_SYMBOL vmlinux 0x058ae213 vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0x059e1482 __traceiter_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x059f7a4d dev_set_threaded +EXPORT_SYMBOL vmlinux 0x05b8333c inet_offloads +EXPORT_SYMBOL vmlinux 0x05c9d193 unix_attach_fds +EXPORT_SYMBOL vmlinux 0x05d7ad3b md_reload_sb +EXPORT_SYMBOL vmlinux 0x05de871a devm_devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x05ef4124 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x06052f8d __memmove +EXPORT_SYMBOL vmlinux 0x060ba97c gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0629d8b1 param_set_bool +EXPORT_SYMBOL vmlinux 0x062a427a generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x06334449 vfs_parse_fs_param_source +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x06475ba0 dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0x0668b595 _kstrtoul +EXPORT_SYMBOL vmlinux 0x06a4c00a tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0x06a53cd0 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x06a86bc1 iowrite16 +EXPORT_SYMBOL vmlinux 0x06ad0c43 pnp_device_detach +EXPORT_SYMBOL vmlinux 0x06ae2358 super_setup_bdi +EXPORT_SYMBOL vmlinux 0x06bd88b5 ucs2_strnlen +EXPORT_SYMBOL vmlinux 0x06ce4510 security_sb_remount +EXPORT_SYMBOL vmlinux 0x06d11488 __bitmap_equal +EXPORT_SYMBOL vmlinux 0x06db5645 pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0x06e62e17 inet_shutdown +EXPORT_SYMBOL vmlinux 0x06ee97a5 seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0x06f6de23 from_kgid +EXPORT_SYMBOL vmlinux 0x07098248 xz_dec_microlzma_alloc +EXPORT_SYMBOL vmlinux 0x0718efe8 register_md_personality +EXPORT_SYMBOL vmlinux 0x07195e74 __devm_request_region +EXPORT_SYMBOL vmlinux 0x071b46b1 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x07261892 d_set_d_op +EXPORT_SYMBOL vmlinux 0x0728ff2a simple_write_begin +EXPORT_SYMBOL vmlinux 0x072c91a6 phy_start +EXPORT_SYMBOL vmlinux 0x072f901c vme_master_rmw +EXPORT_SYMBOL vmlinux 0x0732b482 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x0734d691 skb_queue_purge +EXPORT_SYMBOL vmlinux 0x07390944 rtc_add_groups +EXPORT_SYMBOL vmlinux 0x073a6e00 bio_copy_data +EXPORT_SYMBOL vmlinux 0x0745a981 xa_erase +EXPORT_SYMBOL vmlinux 0x075626b9 follow_up +EXPORT_SYMBOL vmlinux 0x0756d861 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x077b194a i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x0784846b sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x0790a1ef __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x079a9348 poll_freewait +EXPORT_SYMBOL vmlinux 0x07a24423 md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0x07a3fee5 rproc_add_carveout +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07b41c3b twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x07ba0b15 generic_read_dir +EXPORT_SYMBOL vmlinux 0x07bd0b18 filp_close +EXPORT_SYMBOL vmlinux 0x07bf2fcd xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x07c9ddca phy_write_paged +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07ceeac9 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x07f57478 pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0x0800473f __cond_resched +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x080df381 peernet2id +EXPORT_SYMBOL vmlinux 0x0810639c jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x08162c74 free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x08249512 iwe_stream_add_point +EXPORT_SYMBOL vmlinux 0x0825556e neigh_update +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x084a467f from_kprojid_munged +EXPORT_SYMBOL vmlinux 0x084ff530 truncate_setsize +EXPORT_SYMBOL vmlinux 0x086072f8 devm_clk_release_clkdev +EXPORT_SYMBOL vmlinux 0x0872d67d pci_get_slot +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x08af0758 devm_get_clk_from_child +EXPORT_SYMBOL vmlinux 0x08b22dde ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0x08c53a07 iov_iter_npages +EXPORT_SYMBOL vmlinux 0x08d36e28 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x08e0741d pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0x08e6fd6c xen_free_ballooned_pages +EXPORT_SYMBOL vmlinux 0x08e8e4f4 sg_alloc_append_table_from_pages +EXPORT_SYMBOL vmlinux 0x08ea99f5 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x08fc89f2 genphy_update_link +EXPORT_SYMBOL vmlinux 0x09055790 get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x090b7ef5 ww_mutex_trylock +EXPORT_SYMBOL vmlinux 0x09111536 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x09138228 zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0x0915943a kset_unregister +EXPORT_SYMBOL vmlinux 0x092e26bf acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0x093712e5 acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x09479278 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x09550e61 vfs_get_tree +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x097af021 neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x0996977a ip6_frag_init +EXPORT_SYMBOL vmlinux 0x0998cc3c hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0x09b6f2e2 pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x09c5ec1f devm_rproc_alloc +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09da0ba4 xa_set_mark +EXPORT_SYMBOL vmlinux 0x09e55824 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x0a012f73 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0a0ebc08 __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0x0a1e8769 utf8_casefold_hash +EXPORT_SYMBOL vmlinux 0x0a2a325c fwnode_iomap +EXPORT_SYMBOL vmlinux 0x0a312921 blk_finish_plug +EXPORT_SYMBOL vmlinux 0x0a3d34b5 reuseport_stop_listen_sock +EXPORT_SYMBOL vmlinux 0x0a4dcfd6 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x0a4e42ae dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x0a5c73ee security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x0a69c50b dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0x0a6fa111 set_nlink +EXPORT_SYMBOL vmlinux 0x0a770832 register_memory_notifier +EXPORT_SYMBOL vmlinux 0x0a81417f folio_wait_bit_killable +EXPORT_SYMBOL vmlinux 0x0a84b15d zstd_init_cctx +EXPORT_SYMBOL vmlinux 0x0a876f9f fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0x0a920dc3 param_get_charp +EXPORT_SYMBOL vmlinux 0x0a953eb7 dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x0a9c639c blk_stack_limits +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0aaa1ec5 trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x0ac8ff08 xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0b19b445 ioread8 +EXPORT_SYMBOL vmlinux 0x0b1bc1dc read_cache_folio +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b26b8c8 acpi_run_osc +EXPORT_SYMBOL vmlinux 0x0b290ada dma_fence_chain_walk +EXPORT_SYMBOL vmlinux 0x0b59d25a dquot_free_inode +EXPORT_SYMBOL vmlinux 0x0b59ff45 netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0x0b5ffc98 d_instantiate_new +EXPORT_SYMBOL vmlinux 0x0b637410 cr4_update_irqsoff +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b77d52c kill_pid +EXPORT_SYMBOL vmlinux 0x0b8251e5 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x0b87031c xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x0b92611c iov_iter_init +EXPORT_SYMBOL vmlinux 0x0ba0b938 vm_brk +EXPORT_SYMBOL vmlinux 0x0bbfa78c set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0beefcc9 agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0x0bf8f5a2 xattr_full_name +EXPORT_SYMBOL vmlinux 0x0bfc1d1a check_zeroed_user +EXPORT_SYMBOL vmlinux 0x0c16c303 udp6_csum_init +EXPORT_SYMBOL vmlinux 0x0c1d20d9 agp_backend_release +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c3690fc _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0x0c3efe62 skb_queue_head +EXPORT_SYMBOL vmlinux 0x0c45ec3d param_ops_bint +EXPORT_SYMBOL vmlinux 0x0c575719 __cond_resched_rwlock_write +EXPORT_SYMBOL vmlinux 0x0c6bdc3f vme_master_read +EXPORT_SYMBOL vmlinux 0x0c7b4559 tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0x0c82dca3 folio_write_one +EXPORT_SYMBOL vmlinux 0x0cb2a9ec address_space_init_once +EXPORT_SYMBOL vmlinux 0x0cc4b4b6 crc_ccitt_false +EXPORT_SYMBOL vmlinux 0x0cd5835b ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x0cd9e513 sk_stop_timer +EXPORT_SYMBOL vmlinux 0x0cdce87c rfkill_set_hw_state_reason +EXPORT_SYMBOL vmlinux 0x0ce9a6fe reuseport_alloc +EXPORT_SYMBOL vmlinux 0x0ceb67ef gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d0ce8ef bdev_end_io_acct +EXPORT_SYMBOL vmlinux 0x0d1b9d7f blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x0d22519a free_cgroup_ns +EXPORT_SYMBOL vmlinux 0x0d333b64 zstd_end_stream +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d560a7c mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0x0d7044f7 mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x0d7789ff pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x0d7aaec1 sock_bindtoindex +EXPORT_SYMBOL vmlinux 0x0d7b002d boot_cpu_data +EXPORT_SYMBOL vmlinux 0x0d7e7bd8 serio_bus +EXPORT_SYMBOL vmlinux 0x0d9954c5 nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0x0d9a4f67 nf_hook_slow +EXPORT_SYMBOL vmlinux 0x0da01a8c __netif_napi_del +EXPORT_SYMBOL vmlinux 0x0db20fda netdev_offload_xstats_push_delta +EXPORT_SYMBOL vmlinux 0x0dc57eff input_copy_abs +EXPORT_SYMBOL vmlinux 0x0dc63fae vme_irq_free +EXPORT_SYMBOL vmlinux 0x0dc9e729 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x0dd08518 __tracepoint_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x0dd40350 mmc_can_gpio_ro +EXPORT_SYMBOL vmlinux 0x0dfc559a security_sk_clone +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e1bbc2e qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0x0e1f369a ppp_input +EXPORT_SYMBOL vmlinux 0x0e21b2fd tcf_action_update_hw_stats +EXPORT_SYMBOL vmlinux 0x0e236ea7 fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0x0e23b37f alloc_cpumask_var_node +EXPORT_SYMBOL vmlinux 0x0e256570 skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0x0e2db823 import_single_range +EXPORT_SYMBOL vmlinux 0x0e413f46 skb_split +EXPORT_SYMBOL vmlinux 0x0e4262c6 __siphash_unaligned +EXPORT_SYMBOL vmlinux 0x0e6125f5 set_posix_acl +EXPORT_SYMBOL vmlinux 0x0e7d10e7 seq_puts +EXPORT_SYMBOL vmlinux 0x0e8c42b1 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x0ea3c74e tasklet_kill +EXPORT_SYMBOL vmlinux 0x0ea492bd mmc_retune_release +EXPORT_SYMBOL vmlinux 0x0ea593f6 hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0x0eb6eb87 add_taint +EXPORT_SYMBOL vmlinux 0x0ebd7605 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x0ec5babe vme_dma_free +EXPORT_SYMBOL vmlinux 0x0ecc9efb inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0x0ef89a93 posix_acl_chmod +EXPORT_SYMBOL vmlinux 0x0f038b3d pci_set_master +EXPORT_SYMBOL vmlinux 0x0f06dc1b page_pool_alloc_frag +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f1ad8e2 seq_list_start_rcu +EXPORT_SYMBOL vmlinux 0x0f37ca89 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0x0f630261 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0f958dd0 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x0f9dd25f flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0x0fa4f07e dev_mc_add +EXPORT_SYMBOL vmlinux 0x0fab1ab0 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fc83591 jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0fdf4417 input_free_device +EXPORT_SYMBOL vmlinux 0x0ff80f59 zalloc_cpumask_var +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x1035c7c2 __release_region +EXPORT_SYMBOL vmlinux 0x10380c40 shmem_aops +EXPORT_SYMBOL vmlinux 0x1057a279 bsearch +EXPORT_SYMBOL vmlinux 0x105e18bd ip_do_fragment +EXPORT_SYMBOL vmlinux 0x106079f5 devm_extcon_unregister_notifier_all +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x107be0b0 percpu_counter_sync +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x10883f92 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x10a21d74 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x10b39cff kernel_accept +EXPORT_SYMBOL vmlinux 0x10c321bc param_set_ulong +EXPORT_SYMBOL vmlinux 0x10d60318 vfs_link +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x10e6f74a free_contig_range +EXPORT_SYMBOL vmlinux 0x10e6f97b __dquot_free_space +EXPORT_SYMBOL vmlinux 0x10ef581b i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x10f0becd udp_skb_destructor +EXPORT_SYMBOL vmlinux 0x110257a2 devm_of_find_backlight +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x11194294 filemap_map_pages +EXPORT_SYMBOL vmlinux 0x11270377 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0x112d35f5 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x113082b2 clk_bulk_get_all +EXPORT_SYMBOL vmlinux 0x114b2d72 phy_modify_paged_changed +EXPORT_SYMBOL vmlinux 0x114dce5d pci_enable_device +EXPORT_SYMBOL vmlinux 0x115c9529 netdev_err +EXPORT_SYMBOL vmlinux 0x1163ef64 block_write_end +EXPORT_SYMBOL vmlinux 0x116ef33b tcf_action_exec +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x117eb993 pnp_is_active +EXPORT_SYMBOL vmlinux 0x118ab4a3 i2c_register_driver +EXPORT_SYMBOL vmlinux 0x118d41e1 make_kprojid +EXPORT_SYMBOL vmlinux 0x11a465fa init_pseudo +EXPORT_SYMBOL vmlinux 0x11b5409e __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x11be9fc8 timestamp_truncate +EXPORT_SYMBOL vmlinux 0x11c74cfa nexthop_bucket_set_hw_flags +EXPORT_SYMBOL vmlinux 0x11cb03d2 inet_addr_type +EXPORT_SYMBOL vmlinux 0x11cc3464 devfreq_resume_device +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11e6f875 mmc_wait_for_req_done +EXPORT_SYMBOL vmlinux 0x11faf90c generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x121f0d5c i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x1225af45 kernel_write +EXPORT_SYMBOL vmlinux 0x122ecd2d inet_add_offload +EXPORT_SYMBOL vmlinux 0x12362d9f cpu_info +EXPORT_SYMBOL vmlinux 0x1243199f __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0x124bad4d kstrtobool +EXPORT_SYMBOL vmlinux 0x124efdb6 __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0x12582610 padata_free_shell +EXPORT_SYMBOL vmlinux 0x127f0c7a generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +EXPORT_SYMBOL vmlinux 0x12d00a15 crypto_sha256_update +EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x13088d45 get_thermal_instance +EXPORT_SYMBOL vmlinux 0x130afd75 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x13110126 request_resource +EXPORT_SYMBOL vmlinux 0x131a6146 xa_clear_mark +EXPORT_SYMBOL vmlinux 0x13212d2a jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x13243d4b wl1251_get_platform_data +EXPORT_SYMBOL vmlinux 0x13280acb sock_create_lite +EXPORT_SYMBOL vmlinux 0x1328b134 xen_free_unpopulated_pages +EXPORT_SYMBOL vmlinux 0x132d1dcd inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0x133e1985 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x1344d7e6 acpi_enable_gpe +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x1364d065 framebuffer_release +EXPORT_SYMBOL vmlinux 0x1368b10c iterate_supers_type +EXPORT_SYMBOL vmlinux 0x1389619c __max_die_per_package +EXPORT_SYMBOL vmlinux 0x139f2189 __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x13af27ff config_item_get +EXPORT_SYMBOL vmlinux 0x13c49cc2 _copy_from_user +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13d52597 dma_resv_add_fence +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x13f4e103 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x14096fe2 dev_pm_opp_register_notifier +EXPORT_SYMBOL vmlinux 0x141271bf acpi_dev_found +EXPORT_SYMBOL vmlinux 0x14409a9f vfio_unregister_notifier +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x146379b8 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x1463fff8 tcp_seq_next +EXPORT_SYMBOL vmlinux 0x146abf41 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x1471c0d9 blk_mq_alloc_disk_for_queue +EXPORT_SYMBOL vmlinux 0x14817edc gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x1486ded2 dma_fence_allocate_private_stub +EXPORT_SYMBOL vmlinux 0x149fbfb1 xsk_tx_completed +EXPORT_SYMBOL vmlinux 0x14b0bccb __pci_register_driver +EXPORT_SYMBOL vmlinux 0x14c67e3e tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0x14f7f221 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x15041559 xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0x150d1f60 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x153c9249 __register_nls +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x155e2b34 tty_kref_put +EXPORT_SYMBOL vmlinux 0x156d90d8 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x158f2a1e netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x158fdd90 misc_deregister +EXPORT_SYMBOL vmlinux 0x1592463b pci_write_vpd +EXPORT_SYMBOL vmlinux 0x159b33fd devm_memunmap +EXPORT_SYMBOL vmlinux 0x159ed6da phy_set_sym_pause +EXPORT_SYMBOL vmlinux 0x15a77874 cdc_parse_cdc_header +EXPORT_SYMBOL vmlinux 0x15a8a3fa inet_addr_type_table +EXPORT_SYMBOL vmlinux 0x15acd1a3 no_llseek +EXPORT_SYMBOL vmlinux 0x15af8b35 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x15ba50a6 jiffies +EXPORT_SYMBOL vmlinux 0x15bae808 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x15bafe29 unregister_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial +EXPORT_SYMBOL vmlinux 0x15c83429 __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x15c85de3 mempool_init +EXPORT_SYMBOL vmlinux 0x15cd0ecb tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x15f90688 slhc_init +EXPORT_SYMBOL vmlinux 0x160a4f45 blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0x16286538 iowrite64be_lo_hi +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x1628e1f3 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x162b439a inet_add_protocol +EXPORT_SYMBOL vmlinux 0x16301b34 wrmsrl_on_cpu +EXPORT_SYMBOL vmlinux 0x1632bc21 kvasprintf_const +EXPORT_SYMBOL vmlinux 0x1648c4ce blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0x165d53f8 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x16632fac phy_init_hw +EXPORT_SYMBOL vmlinux 0x166e7c9a simple_transaction_release +EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump +EXPORT_SYMBOL vmlinux 0x167e7f9d __get_user_1 +EXPORT_SYMBOL vmlinux 0x168bf7b2 get_task_cred +EXPORT_SYMBOL vmlinux 0x1692efc7 input_get_poll_interval +EXPORT_SYMBOL vmlinux 0x169358e2 mmc_erase +EXPORT_SYMBOL vmlinux 0x169938c1 __sysfs_match_string +EXPORT_SYMBOL vmlinux 0x16c5ff57 __register_chrdev +EXPORT_SYMBOL vmlinux 0x16cdc340 acpi_get_table +EXPORT_SYMBOL vmlinux 0x16d5b6f2 param_ops_hexint +EXPORT_SYMBOL vmlinux 0x16dee44d dma_fence_init +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x16e5adce _dev_alert +EXPORT_SYMBOL vmlinux 0x170ddf79 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0x17114e8b netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0x1713dddc phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x17224f75 __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0x172a7819 i2c_transfer +EXPORT_SYMBOL vmlinux 0x1753dc67 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x175e33fb dma_spin_lock +EXPORT_SYMBOL vmlinux 0x1763d7fb phy_loopback +EXPORT_SYMBOL vmlinux 0x177acabc fs_lookup_param +EXPORT_SYMBOL vmlinux 0x1788c32b folio_add_lru +EXPORT_SYMBOL vmlinux 0x17892cbb seq_putc +EXPORT_SYMBOL vmlinux 0x17b1c124 mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x17be68ca acpi_clear_event +EXPORT_SYMBOL vmlinux 0x17de1462 do_splice_direct +EXPORT_SYMBOL vmlinux 0x17eb81df dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x17f813a9 __SCT__tp_func_kmalloc +EXPORT_SYMBOL vmlinux 0x17fd5468 genphy_suspend +EXPORT_SYMBOL vmlinux 0x17fdbfe1 fwnode_mdiobus_register_phy +EXPORT_SYMBOL vmlinux 0x181efc4c __brelse +EXPORT_SYMBOL vmlinux 0x18343ebb dma_fence_array_create +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x18430a76 __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0x184ff5f4 begin_new_exec +EXPORT_SYMBOL vmlinux 0x1855778a pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0x185864e5 register_mii_timestamper +EXPORT_SYMBOL vmlinux 0x1878c14d devm_arch_phys_wc_add +EXPORT_SYMBOL vmlinux 0x18888d00 downgrade_write +EXPORT_SYMBOL vmlinux 0x18889639 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1894b6cc tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x18a7d0a9 __alloc_skb +EXPORT_SYMBOL vmlinux 0x18b72573 register_kmmio_probe +EXPORT_SYMBOL vmlinux 0x18cbec1b skb_copy +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x18f3edfa mipi_dsi_dcs_exit_sleep_mode +EXPORT_SYMBOL vmlinux 0x19127583 vfs_fsync +EXPORT_SYMBOL vmlinux 0x192ea14f __SCT__tp_func_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x19474604 xfrm_lookup +EXPORT_SYMBOL vmlinux 0x1953c958 mempool_create +EXPORT_SYMBOL vmlinux 0x1955e953 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x19567d06 vfio_info_cap_shift +EXPORT_SYMBOL vmlinux 0x198029ae tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x199b5984 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19a1335f phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x19a37fe2 ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19bfdfbb skb_dequeue +EXPORT_SYMBOL vmlinux 0x19c5ba0b key_reject_and_link +EXPORT_SYMBOL vmlinux 0x19d200ec __SCT__tp_func_kmalloc_node +EXPORT_SYMBOL vmlinux 0x19df99b9 acpi_finish_gpe +EXPORT_SYMBOL vmlinux 0x19ee2367 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x1a19acdc mipi_dsi_dcs_get_power_mode +EXPORT_SYMBOL vmlinux 0x1a1e0fa0 netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0x1a222706 devm_extcon_register_notifier +EXPORT_SYMBOL vmlinux 0x1a2391ec tcp_disconnect +EXPORT_SYMBOL vmlinux 0x1a27e5ed folio_unlock +EXPORT_SYMBOL vmlinux 0x1a2c2c3c block_write_begin +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a4678aa dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0x1a5603d1 unregister_quota_format +EXPORT_SYMBOL vmlinux 0x1a5819fe skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x1a63af34 vga_switcheroo_process_delayed_switch +EXPORT_SYMBOL vmlinux 0x1a6b7dbc skb_eth_pop +EXPORT_SYMBOL vmlinux 0x1a70054a twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x1a79c8e9 __x86_indirect_thunk_r13 +EXPORT_SYMBOL vmlinux 0x1a7a99fc netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0x1a7c202d skb_clone +EXPORT_SYMBOL vmlinux 0x1a7df420 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x1a95c844 dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1a9d3c16 sock_release +EXPORT_SYMBOL vmlinux 0x1aa4ee24 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn +EXPORT_SYMBOL vmlinux 0x1ac684eb __bforget +EXPORT_SYMBOL vmlinux 0x1ac9dd79 module_put +EXPORT_SYMBOL vmlinux 0x1ae2593f unlock_new_inode +EXPORT_SYMBOL vmlinux 0x1ae5ccce vfs_fileattr_get +EXPORT_SYMBOL vmlinux 0x1af6b860 gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b291d16 pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x1b318518 unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0x1b33fc47 phy_drivers_unregister +EXPORT_SYMBOL vmlinux 0x1b40c9f1 tcp_seq_stop +EXPORT_SYMBOL vmlinux 0x1b48973c skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0x1b498476 __bread_gfp +EXPORT_SYMBOL vmlinux 0x1b5331a7 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x1b597b7a swake_up_all +EXPORT_SYMBOL vmlinux 0x1b5cc9d8 dma_fence_array_first +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1b791a50 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b904261 rproc_remove_subdev +EXPORT_SYMBOL vmlinux 0x1b908d85 _raw_write_lock_nested +EXPORT_SYMBOL vmlinux 0x1ba59527 __kmalloc_node +EXPORT_SYMBOL vmlinux 0x1baf9157 xsk_tx_peek_desc +EXPORT_SYMBOL vmlinux 0x1bb51249 tcp_have_smc +EXPORT_SYMBOL vmlinux 0x1bb67920 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x1bc9ca18 nlmsg_notify +EXPORT_SYMBOL vmlinux 0x1bd53878 tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0x1bd59dbe vme_free_consistent +EXPORT_SYMBOL vmlinux 0x1bdfd280 module_layout +EXPORT_SYMBOL vmlinux 0x1bfd1a37 PageMovable +EXPORT_SYMBOL vmlinux 0x1c163335 iter_file_splice_write +EXPORT_SYMBOL vmlinux 0x1c1b29e6 nd_btt_arena_is_valid +EXPORT_SYMBOL vmlinux 0x1c1b90b1 ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x1c3b40ec tcp_mmap +EXPORT_SYMBOL vmlinux 0x1c4c6e4e pm860x_set_bits +EXPORT_SYMBOL vmlinux 0x1c508a47 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x1c58427f acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x1c668832 hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0x1c77b2ee inode_set_flags +EXPORT_SYMBOL vmlinux 0x1ca527fa ioread64be_hi_lo +EXPORT_SYMBOL vmlinux 0x1cb11044 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x1cb72e32 agp_bind_memory +EXPORT_SYMBOL vmlinux 0x1cbc2b6d security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0x1ccefca5 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x1cd54cc4 proc_set_size +EXPORT_SYMBOL vmlinux 0x1cd8438b pxm_to_node +EXPORT_SYMBOL vmlinux 0x1cf5b10a __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x1d07e365 memdup_user_nul +EXPORT_SYMBOL vmlinux 0x1d19f77b physical_mask +EXPORT_SYMBOL vmlinux 0x1d1abdf0 acpi_get_physical_device_location +EXPORT_SYMBOL vmlinux 0x1d24c881 ___ratelimit +EXPORT_SYMBOL vmlinux 0x1d40b6f3 idr_for_each +EXPORT_SYMBOL vmlinux 0x1d5240e0 neigh_parms_release +EXPORT_SYMBOL vmlinux 0x1d5449ce input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x1d5583a8 block_dirty_folio +EXPORT_SYMBOL vmlinux 0x1d7aad5f d_obtain_root +EXPORT_SYMBOL vmlinux 0x1d85c245 mmc_gpiod_request_ro +EXPORT_SYMBOL vmlinux 0x1d8d3706 pci_disable_device +EXPORT_SYMBOL vmlinux 0x1d9672bd fault_in_subpage_writeable +EXPORT_SYMBOL vmlinux 0x1d9bca58 mipi_dsi_generic_read +EXPORT_SYMBOL vmlinux 0x1db7706b __copy_user_nocache +EXPORT_SYMBOL vmlinux 0x1db95741 vme_master_mmap +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1de6cf27 fb_is_primary_device +EXPORT_SYMBOL vmlinux 0x1de837cf phy_resume +EXPORT_SYMBOL vmlinux 0x1def3b68 forget_cached_acl +EXPORT_SYMBOL vmlinux 0x1df9bd39 fs_param_is_bool +EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x1e0cd7fe acpi_detach_data +EXPORT_SYMBOL vmlinux 0x1e1ad12b inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x1e1e140e ns_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1e30f150 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x1e34be14 param_ops_byte +EXPORT_SYMBOL vmlinux 0x1e568e8d netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0x1e5b6f3c inet6_del_offload +EXPORT_SYMBOL vmlinux 0x1e5d9ea4 skb_flow_dissect_hash +EXPORT_SYMBOL vmlinux 0x1e6adaa0 bitmap_print_bitmask_to_buf +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e833ca4 xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0x1e929604 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x1e93364d key_unlink +EXPORT_SYMBOL vmlinux 0x1e9a905b inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1e9f134e mipi_dsi_dcs_set_display_off +EXPORT_SYMBOL vmlinux 0x1ea77f10 bdi_alloc +EXPORT_SYMBOL vmlinux 0x1ea7c6a6 simple_fill_super +EXPORT_SYMBOL vmlinux 0x1eb922a3 IO_APIC_get_PCI_irq_vector +EXPORT_SYMBOL vmlinux 0x1ec04844 pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0x1ec4450b skb_tunnel_check_pmtu +EXPORT_SYMBOL vmlinux 0x1ec6028c km_new_mapping +EXPORT_SYMBOL vmlinux 0x1ec8a760 genphy_c37_read_status +EXPORT_SYMBOL vmlinux 0x1ed7eb60 __sg_free_table +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1edea71a scsi_scan_host +EXPORT_SYMBOL vmlinux 0x1ef11b40 flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0x1ef43dfe xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x1f146f91 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x1f1821ae efi +EXPORT_SYMBOL vmlinux 0x1f199d24 copy_user_generic_string +EXPORT_SYMBOL vmlinux 0x1f27c4ae page_pool_put_page_bulk +EXPORT_SYMBOL vmlinux 0x1f42b65d qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x1f557414 gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0x1f87ff40 done_path_create +EXPORT_SYMBOL vmlinux 0x1fa93211 dquot_commit_info +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fc0cc7c intel_gtt_insert_sg_entries +EXPORT_SYMBOL vmlinux 0x1fcb1b51 vfs_fadvise +EXPORT_SYMBOL vmlinux 0x1fcf11ab fs_param_is_enum +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fe36a5d try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x20061027 would_dump +EXPORT_SYMBOL vmlinux 0x200b2041 in6addr_any +EXPORT_SYMBOL vmlinux 0x200dcc6a security_task_getsecid_obj +EXPORT_SYMBOL vmlinux 0x202bccee pci_iomap_range +EXPORT_SYMBOL vmlinux 0x20463df4 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x2052e83b inode_set_bytes +EXPORT_SYMBOL vmlinux 0x206b47e3 scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0x2078ef82 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x209d0fd9 mmc_retune_unpause +EXPORT_SYMBOL vmlinux 0x20a4a9eb vme_slave_request +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20a94985 __i2c_transfer +EXPORT_SYMBOL vmlinux 0x20b14fb1 clk_get +EXPORT_SYMBOL vmlinux 0x20ba4f3e rdmsr_on_cpu +EXPORT_SYMBOL vmlinux 0x20bcbe4f blake2s_compress +EXPORT_SYMBOL vmlinux 0x20cbb30a __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x20eadeb6 ip_compute_csum +EXPORT_SYMBOL vmlinux 0x20ec9efe acpi_dev_get_first_match_dev +EXPORT_SYMBOL vmlinux 0x20ecfe4d blk_integrity_register +EXPORT_SYMBOL vmlinux 0x20f6b80c scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x211130c1 alloc_cpumask_var +EXPORT_SYMBOL vmlinux 0x21271fd0 copy_user_enhanced_fast_string +EXPORT_SYMBOL vmlinux 0x2135b5e6 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x213a738d memregion_alloc +EXPORT_SYMBOL vmlinux 0x213e4965 ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x2177bd71 acpi_disable_event +EXPORT_SYMBOL vmlinux 0x218e600b pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0x21913452 can_nice +EXPORT_SYMBOL vmlinux 0x21a0c9f9 __SCK__tp_func_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x21b0c40a pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0x21b1bb99 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x21b673a7 bio_alloc_clone +EXPORT_SYMBOL vmlinux 0x21b8b053 gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0x21bdb523 errseq_check_and_advance +EXPORT_SYMBOL vmlinux 0x21be37e1 hdmi_avi_infoframe_check +EXPORT_SYMBOL vmlinux 0x21c58b71 filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0x21c63b9a __d_drop +EXPORT_SYMBOL vmlinux 0x21c8c475 ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0x21d5ba75 get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0x21d7c683 fget +EXPORT_SYMBOL vmlinux 0x21d8b315 acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x21e4e4a8 netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0x21ef374c try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x2204d007 kset_register +EXPORT_SYMBOL vmlinux 0x2205d77e kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x220e2c50 ps2_command +EXPORT_SYMBOL vmlinux 0x2213fc82 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x2234ca51 acpi_match_platform_list +EXPORT_SYMBOL vmlinux 0x223fa103 vme_bus_type +EXPORT_SYMBOL vmlinux 0x22468283 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x2249d601 __phy_resume +EXPORT_SYMBOL vmlinux 0x226ace45 flow_block_cb_free +EXPORT_SYMBOL vmlinux 0x2270d1e8 tty_write_room +EXPORT_SYMBOL vmlinux 0x2286a147 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x2293fa70 phy_get_pause +EXPORT_SYMBOL vmlinux 0x229733af cros_ec_prepare_tx +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22ba16da rproc_resource_cleanup +EXPORT_SYMBOL vmlinux 0x22c51a54 dquot_transfer +EXPORT_SYMBOL vmlinux 0x22de4931 amd_iommu_register_ga_log_notifier +EXPORT_SYMBOL vmlinux 0x22e10bb5 unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x22ebb64a dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0x22fb96e9 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x2312eaea tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0x231c7608 devm_arch_io_reserve_memtype_wc +EXPORT_SYMBOL vmlinux 0x2340d1ca __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x234b0a8f vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0x2363b147 proto_unregister +EXPORT_SYMBOL vmlinux 0x2364c85a tasklet_init +EXPORT_SYMBOL vmlinux 0x23655fbd xfrm_state_free +EXPORT_SYMBOL vmlinux 0x237a0b5c __traceiter_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x237a5b41 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x2383de28 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x238b099f mipi_dsi_packet_format_is_short +EXPORT_SYMBOL vmlinux 0x23955304 pci_scan_bus +EXPORT_SYMBOL vmlinux 0x23b8a1ae __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23cabbb1 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x23daa989 mipi_dsi_create_packet +EXPORT_SYMBOL vmlinux 0x23e7abfa scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x23e9e72e pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0x23ea6e17 mdiobus_read_nested +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x23fedc0c posix_lock_file +EXPORT_SYMBOL vmlinux 0x2400df7d request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x2405d8bd clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0x241b9e25 rproc_coredump_add_custom_segment +EXPORT_SYMBOL vmlinux 0x241ee1ac pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x2420bb9e tty_port_close_end +EXPORT_SYMBOL vmlinux 0x2429ef29 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x2462de13 pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0x247e0293 touchscreen_report_pos +EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x249036a3 agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0x249a4db2 devm_devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x249cc6da sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0x24b350e0 skb_pull_data +EXPORT_SYMBOL vmlinux 0x24bdb45b ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x24d40c67 vme_dma_list_add +EXPORT_SYMBOL vmlinux 0x24db6dae gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x24e373bc seq_dentry +EXPORT_SYMBOL vmlinux 0x2505bf18 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x25230fce __tracepoint_read_msr +EXPORT_SYMBOL vmlinux 0x2552ef4d pci_read_config_word +EXPORT_SYMBOL vmlinux 0x2555da24 sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x25615967 give_up_console +EXPORT_SYMBOL vmlinux 0x256243bf input_set_capability +EXPORT_SYMBOL vmlinux 0x25625e40 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x256fee44 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x25725b82 uart_register_driver +EXPORT_SYMBOL vmlinux 0x257422ab simple_nosetlease +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x25836d0d i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x258a2c02 _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x25974000 wait_for_completion +EXPORT_SYMBOL vmlinux 0x259d6b8c rproc_get_by_child +EXPORT_SYMBOL vmlinux 0x25b803bf mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x25b83355 dmaenginem_async_device_register +EXPORT_SYMBOL vmlinux 0x25c85908 skb_free_datagram +EXPORT_SYMBOL vmlinux 0x25db1577 do_trace_write_msr +EXPORT_SYMBOL vmlinux 0x25e58a09 hdmi_avi_infoframe_init +EXPORT_SYMBOL vmlinux 0x25e9d4bd resource_list_free +EXPORT_SYMBOL vmlinux 0x25ecebcc netdev_name_in_use +EXPORT_SYMBOL vmlinux 0x260146e4 edac_mc_find +EXPORT_SYMBOL vmlinux 0x2604bdb1 param_ops_short +EXPORT_SYMBOL vmlinux 0x260a095a __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x26233ebd is_bad_inode +EXPORT_SYMBOL vmlinux 0x262f753a tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0x2633ef96 ip6tun_encaps +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x263c1f9c rproc_elf_load_segments +EXPORT_SYMBOL vmlinux 0x263c3152 bcmp +EXPORT_SYMBOL vmlinux 0x26434d59 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x265079ad tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0x26534b33 xsk_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0x2662147f ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0x266f67ed tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x26897b52 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x26abe906 do_SAK +EXPORT_SYMBOL vmlinux 0x26bef584 copy_string_kernel +EXPORT_SYMBOL vmlinux 0x26c2600a __SCK__tp_func_kmalloc_node +EXPORT_SYMBOL vmlinux 0x26c81747 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x26cbf396 netpoll_send_skb +EXPORT_SYMBOL vmlinux 0x26cc316f tc_cleanup_offload_action +EXPORT_SYMBOL vmlinux 0x26db0f87 inet_put_port +EXPORT_SYMBOL vmlinux 0x26deb24e blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x26e298e0 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x26e3e362 ptp_clock_unregister +EXPORT_SYMBOL vmlinux 0x26f8f0b8 iowrite16be +EXPORT_SYMBOL vmlinux 0x27021f43 jbd2_journal_submit_inode_data_buffers +EXPORT_SYMBOL vmlinux 0x270cf88f dump_stack_lvl +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x272a8933 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x2733eaf7 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0x2744a242 __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x27479d14 param_free_charp +EXPORT_SYMBOL vmlinux 0x274e099a dst_dev_put +EXPORT_SYMBOL vmlinux 0x27571dd4 crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check +EXPORT_SYMBOL vmlinux 0x27666296 pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0x2769955c filemap_range_has_page +EXPORT_SYMBOL vmlinux 0x2772911e __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x27756bc8 scsi_sanitize_inquiry_string +EXPORT_SYMBOL vmlinux 0x27810361 acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0x2782b393 xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27895ba6 __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x27898f6c filemap_release_folio +EXPORT_SYMBOL vmlinux 0x27987ffe mount_single +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27bdb1ed key_revoke +EXPORT_SYMBOL vmlinux 0x27cdca93 pci_add_resource +EXPORT_SYMBOL vmlinux 0x27d9810c security_dentry_init_security +EXPORT_SYMBOL vmlinux 0x27e80dc1 kthread_create_worker +EXPORT_SYMBOL vmlinux 0x27f4184d sock_i_ino +EXPORT_SYMBOL vmlinux 0x27f52b92 kobject_set_name +EXPORT_SYMBOL vmlinux 0x280e30d6 simple_dentry_operations +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x281d1871 napi_consume_skb +EXPORT_SYMBOL vmlinux 0x28415df1 proc_create_data +EXPORT_SYMBOL vmlinux 0x284faa6b __x86_indirect_thunk_r11 +EXPORT_SYMBOL vmlinux 0x28666cac pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x288d94ab put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0x28a7bfb4 sock_set_keepalive +EXPORT_SYMBOL vmlinux 0x28c45a07 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x28c59d52 mdio_device_remove +EXPORT_SYMBOL vmlinux 0x28d7c47c ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0x28dac93e nf_log_register +EXPORT_SYMBOL vmlinux 0x28db6432 tcf_exts_validate_ex +EXPORT_SYMBOL vmlinux 0x28e09af1 iosf_mbi_available +EXPORT_SYMBOL vmlinux 0x28e5bc1b init_special_inode +EXPORT_SYMBOL vmlinux 0x28f3d049 dst_alloc +EXPORT_SYMBOL vmlinux 0x28f94604 __ubsan_handle_builtin_unreachable +EXPORT_SYMBOL vmlinux 0x28fea7fe set_capacity +EXPORT_SYMBOL vmlinux 0x290aee6e mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0x2912e5ad cdev_device_add +EXPORT_SYMBOL vmlinux 0x292acd3f filemap_fault +EXPORT_SYMBOL vmlinux 0x2931f208 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x29332499 __x86_indirect_thunk_rsi +EXPORT_SYMBOL vmlinux 0x2933b277 __udp_disconnect +EXPORT_SYMBOL vmlinux 0x29467cf2 twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x295e3701 page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0x295f1b7a dma_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x29604158 napi_busy_loop +EXPORT_SYMBOL vmlinux 0x298c2d0e inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0x29ac46b4 nobh_write_end +EXPORT_SYMBOL vmlinux 0x29ad8e33 x86_hyper_type +EXPORT_SYMBOL vmlinux 0x29c170e6 vfs_readlink +EXPORT_SYMBOL vmlinux 0x29e1e204 hdmi_audio_infoframe_pack +EXPORT_SYMBOL vmlinux 0x29e5b838 lock_rename +EXPORT_SYMBOL vmlinux 0x29f2752d page_pool_return_skb_page +EXPORT_SYMBOL vmlinux 0x29fd4364 reuseport_migrate_sock +EXPORT_SYMBOL vmlinux 0x2a1280f9 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x2a24a7e1 nd_btt_probe +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a4096ba ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0x2a51c3c4 path_put +EXPORT_SYMBOL vmlinux 0x2a570bd7 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x2a6fa0d0 __SCT__tp_func_module_get +EXPORT_SYMBOL vmlinux 0x2a891763 zap_page_range +EXPORT_SYMBOL vmlinux 0x2a928918 slhc_free +EXPORT_SYMBOL vmlinux 0x2a9a3905 vme_master_get +EXPORT_SYMBOL vmlinux 0x2aa00e26 intel_scu_ipc_dev_update +EXPORT_SYMBOL vmlinux 0x2aa0843e mempool_resize +EXPORT_SYMBOL vmlinux 0x2aabcdc8 vmalloc_array +EXPORT_SYMBOL vmlinux 0x2acf2b6f xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0x2b4278b0 tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0x2b49f833 __ip_dev_find +EXPORT_SYMBOL vmlinux 0x2b593aa8 gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0x2b66624d pci_scan_slot +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b6deb53 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x2b6f0962 __cpu_dying_mask +EXPORT_SYMBOL vmlinux 0x2b76084c blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x2b8d94fa skb_append +EXPORT_SYMBOL vmlinux 0x2b91fccf security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0x2b9bc5c5 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba2c4e6 input_set_timestamp +EXPORT_SYMBOL vmlinux 0x2bb6099e dq_data_lock +EXPORT_SYMBOL vmlinux 0x2bb804e1 mfd_add_devices +EXPORT_SYMBOL vmlinux 0x2bbc5d9a eisa_driver_unregister +EXPORT_SYMBOL vmlinux 0x2bd0758a tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0x2bd60ab9 acpi_reset +EXPORT_SYMBOL vmlinux 0x2be8067f vga_switcheroo_unlock_ddc +EXPORT_SYMBOL vmlinux 0x2bf6ef54 skb_vlan_untag +EXPORT_SYMBOL vmlinux 0x2bfa7dbb pci_dev_driver +EXPORT_SYMBOL vmlinux 0x2c00fefc fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0x2c2340cd md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c2f3018 current_task +EXPORT_SYMBOL vmlinux 0x2c38c612 vga_switcheroo_fini_domain_pm_ops +EXPORT_SYMBOL vmlinux 0x2c541e7b radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0x2c6cd281 mmc_of_parse +EXPORT_SYMBOL vmlinux 0x2c71fbfb proc_dobool +EXPORT_SYMBOL vmlinux 0x2c722fb0 xp_alloc_batch +EXPORT_SYMBOL vmlinux 0x2c82c36a security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x2caf4357 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x2caf63d1 topology_phys_to_logical_die +EXPORT_SYMBOL vmlinux 0x2cb1f4f9 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x2cbf762c arp_send +EXPORT_SYMBOL vmlinux 0x2cc5491e bio_reset +EXPORT_SYMBOL vmlinux 0x2ccd059a dim_on_top +EXPORT_SYMBOL vmlinux 0x2cd39478 skb_dump +EXPORT_SYMBOL vmlinux 0x2cdf87a1 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x2ce4d5fe __SCK__tp_func_spi_transfer_start +EXPORT_SYMBOL vmlinux 0x2ce53de7 lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0x2ce8cc66 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x2cf17d0b fddi_type_trans +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d192c70 sg_zero_buffer +EXPORT_SYMBOL vmlinux 0x2d30596c from_kqid_munged +EXPORT_SYMBOL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL vmlinux 0x2d39b0a7 kstrdup +EXPORT_SYMBOL vmlinux 0x2d3ad56a mntget +EXPORT_SYMBOL vmlinux 0x2d43dfe3 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x2d47ea06 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x2d4c773a hdmi_spd_infoframe_init +EXPORT_SYMBOL vmlinux 0x2d4daef5 find_font +EXPORT_SYMBOL vmlinux 0x2d5d2020 follow_down +EXPORT_SYMBOL vmlinux 0x2d6944f1 netdev_state_change +EXPORT_SYMBOL vmlinux 0x2d912bca dmi_get_bios_year +EXPORT_SYMBOL vmlinux 0x2d9416d3 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2dab1348 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x2db5386d mdio_driver_register +EXPORT_SYMBOL vmlinux 0x2dd16564 arch_register_cpu +EXPORT_SYMBOL vmlinux 0x2dd51416 from_kuid_munged +EXPORT_SYMBOL vmlinux 0x2de125c0 page_frag_alloc_align +EXPORT_SYMBOL vmlinux 0x2de95441 qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0x2de98b56 fuse_mount_destroy +EXPORT_SYMBOL vmlinux 0x2def7f76 rtc_cmos_write +EXPORT_SYMBOL vmlinux 0x2e0b1deb dma_fence_get_status +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e1f36c3 cont_write_begin +EXPORT_SYMBOL vmlinux 0x2e25165b rproc_elf_sanity_check +EXPORT_SYMBOL vmlinux 0x2e2b40d2 strncat +EXPORT_SYMBOL vmlinux 0x2e2fd0ee rtc_add_group +EXPORT_SYMBOL vmlinux 0x2e3bcce2 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x2e439142 drm_get_panel_orientation_quirk +EXPORT_SYMBOL vmlinux 0x2e4a0e59 pci_clear_master +EXPORT_SYMBOL vmlinux 0x2e5a8219 blk_mq_destroy_queue +EXPORT_SYMBOL vmlinux 0x2e5fe036 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x2e63d693 napi_build_skb +EXPORT_SYMBOL vmlinux 0x2e7e4fcb security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x2e9518e0 kmem_cache_alloc_node_trace +EXPORT_SYMBOL vmlinux 0x2e9b09e0 devm_ioremap_np +EXPORT_SYMBOL vmlinux 0x2ea61414 ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0x2ea85001 fiemap_prep +EXPORT_SYMBOL vmlinux 0x2eac1636 ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0x2eb0000c ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2ee4c2b1 hdmi_avi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x2ee599cf dev_add_offload +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f2285e7 cad_pid +EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f307810 fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0x2f384db3 acpi_is_video_device +EXPORT_SYMBOL vmlinux 0x2f3bc51c dev_deactivate +EXPORT_SYMBOL vmlinux 0x2f449083 kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0x2f49c0b7 nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0x2f62bc06 d_delete +EXPORT_SYMBOL vmlinux 0x2f6bf964 pci_get_device +EXPORT_SYMBOL vmlinux 0x2f7754a8 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2f929d54 proc_mkdir +EXPORT_SYMBOL vmlinux 0x2fc6ba11 phy_get_eee_err +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x2fefa911 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x2ff79593 iov_iter_alignment +EXPORT_SYMBOL vmlinux 0x2ffa96bc acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0x301304c2 __get_user_nocheck_8 +EXPORT_SYMBOL vmlinux 0x302df9a1 sock_set_priority +EXPORT_SYMBOL vmlinux 0x30352a57 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x30426e1f take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0x3045f44f dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x305a916c __x86_indirect_thunk_rdi +EXPORT_SYMBOL vmlinux 0x306fa5d9 __free_pages +EXPORT_SYMBOL vmlinux 0x307bebc2 put_ipc_ns +EXPORT_SYMBOL vmlinux 0x30916226 backlight_device_get_by_type +EXPORT_SYMBOL vmlinux 0x3094d95f dma_map_page_attrs +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x30a3d1a3 con_is_visible +EXPORT_SYMBOL vmlinux 0x30a5fa81 sget_fc +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30aa8b79 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x30aba17b netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x30ac7b07 dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30b3529e fb_find_mode +EXPORT_SYMBOL vmlinux 0x30c2aef0 fb_validate_mode +EXPORT_SYMBOL vmlinux 0x30c8e1a6 agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0x30d83ed1 make_kgid +EXPORT_SYMBOL vmlinux 0x30e5b492 jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x310d764d mipi_dsi_detach +EXPORT_SYMBOL vmlinux 0x31153dde dev_get_flags +EXPORT_SYMBOL vmlinux 0x31191a13 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x31208fae nvdimm_namespace_common_probe +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x31280307 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x312a3e91 padata_alloc +EXPORT_SYMBOL vmlinux 0x312fd73c sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x31549b2a __x86_indirect_thunk_r10 +EXPORT_SYMBOL vmlinux 0x31698cbf vm_event_states +EXPORT_SYMBOL vmlinux 0x3172190f tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0x318b6bd3 tcp_connect +EXPORT_SYMBOL vmlinux 0x319b6046 path_is_mountpoint +EXPORT_SYMBOL vmlinux 0x319d493d proc_dostring +EXPORT_SYMBOL vmlinux 0x31e41390 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x31fdce16 sk_net_capable +EXPORT_SYMBOL vmlinux 0x3208d376 folio_mapping +EXPORT_SYMBOL vmlinux 0x320947ca eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0x3213f038 mutex_unlock +EXPORT_SYMBOL vmlinux 0x3221df67 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x3229e53f mmc_cqe_start_req +EXPORT_SYMBOL vmlinux 0x322a4dbf find_inode_nowait +EXPORT_SYMBOL vmlinux 0x322eba96 dev_activate +EXPORT_SYMBOL vmlinux 0x32577d94 pci_pme_capable +EXPORT_SYMBOL vmlinux 0x32621945 __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0x326425ca pci_unmap_biosrom +EXPORT_SYMBOL vmlinux 0x327c84bf vme_lm_attach +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x3292ec42 get_tree_keyed +EXPORT_SYMBOL vmlinux 0x3294a18c napi_gro_flush +EXPORT_SYMBOL vmlinux 0x32971d0c fs_bio_set +EXPORT_SYMBOL vmlinux 0x32a056ee netif_tx_unlock +EXPORT_SYMBOL vmlinux 0x32c3b119 tc_setup_offload_action +EXPORT_SYMBOL vmlinux 0x32c44ee3 flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32d18e1a seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0x32d760a4 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x32dc449c md_register_thread +EXPORT_SYMBOL vmlinux 0x32e6f1a0 acpi_video_backlight_string +EXPORT_SYMBOL vmlinux 0x32e73b5a skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0x32f9bdf9 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x32fb2a2e mmc_request_done +EXPORT_SYMBOL vmlinux 0x32fdd431 mipi_dsi_compression_mode +EXPORT_SYMBOL vmlinux 0x33017129 fb_pan_display +EXPORT_SYMBOL vmlinux 0x33083c09 dev_open +EXPORT_SYMBOL vmlinux 0x3324ef3b acpi_set_firmware_waking_vector +EXPORT_SYMBOL vmlinux 0x33341923 vm_mmap +EXPORT_SYMBOL vmlinux 0x3359aa66 flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x336635eb single_open +EXPORT_SYMBOL vmlinux 0x33736a1d __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0x338ac0ba blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0x339039dc input_close_device +EXPORT_SYMBOL vmlinux 0x33a782b0 fb_get_mode +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x33c9e3f9 __filemap_get_folio +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33fc2a31 get_user_ifreq +EXPORT_SYMBOL vmlinux 0x33fcf44a __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x33fd9da4 acpi_get_gpe_device +EXPORT_SYMBOL vmlinux 0x34015d2d __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x3402dc8b __write_overflow_field +EXPORT_SYMBOL vmlinux 0x341924b9 pci_choose_state +EXPORT_SYMBOL vmlinux 0x341c2ff5 vfs_llseek +EXPORT_SYMBOL vmlinux 0x34239636 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x3424daf8 __traceiter_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x343095ae __SCK__tp_func_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x3435b717 set_trace_device +EXPORT_SYMBOL vmlinux 0x3441445f msrs_free +EXPORT_SYMBOL vmlinux 0x346e8e71 config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0x3476bea7 user_path_at_empty +EXPORT_SYMBOL vmlinux 0x34897c72 generic_writepages +EXPORT_SYMBOL vmlinux 0x3489859f acpi_enter_sleep_state_s4bios +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a1f7e3 acpi_processor_get_psd +EXPORT_SYMBOL vmlinux 0x34c53714 fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0x34c6cd95 iov_iter_xarray +EXPORT_SYMBOL vmlinux 0x34c7cdbc lookup_bdev +EXPORT_SYMBOL vmlinux 0x34db050b _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x34e6747b ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x34e82b22 tty_port_close +EXPORT_SYMBOL vmlinux 0x34e93907 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue +EXPORT_SYMBOL vmlinux 0x34f489bd dev_set_mtu +EXPORT_SYMBOL vmlinux 0x34f62e4d jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x34f83f2f nd_btt_version +EXPORT_SYMBOL vmlinux 0x34f89363 acpi_terminate_debugger +EXPORT_SYMBOL vmlinux 0x34ff838f proc_create_mount_point +EXPORT_SYMBOL vmlinux 0x350b1793 jbd2_journal_invalidate_folio +EXPORT_SYMBOL vmlinux 0x350ea558 dma_fence_default_wait +EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x351b6a28 crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0x351df51a skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0x3539f11b match_strlcpy +EXPORT_SYMBOL vmlinux 0x353dc448 tcf_register_action +EXPORT_SYMBOL vmlinux 0x354b4a1e acpi_ut_trace +EXPORT_SYMBOL vmlinux 0x3556f947 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0x356461c8 rtc_time64_to_tm +EXPORT_SYMBOL vmlinux 0x35712120 init_net +EXPORT_SYMBOL vmlinux 0x357349dc udp6_seq_ops +EXPORT_SYMBOL vmlinux 0x35789010 capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0x35801626 ndisc_ns_create +EXPORT_SYMBOL vmlinux 0x35852da4 agp_backend_acquire +EXPORT_SYMBOL vmlinux 0x35854f6e devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x35a0f2cf nd_device_register +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35cd3cc4 blk_set_runtime_active +EXPORT_SYMBOL vmlinux 0x35d80c85 acpi_dev_get_next_match_dev +EXPORT_SYMBOL vmlinux 0x35e10a2e devfreq_get_freq_range +EXPORT_SYMBOL vmlinux 0x35fdaeef devm_request_resource +EXPORT_SYMBOL vmlinux 0x360009b1 eth_header_parse +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x3612a153 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x3618209f nd_device_unregister +EXPORT_SYMBOL vmlinux 0x361c2d7c blk_pre_runtime_suspend +EXPORT_SYMBOL vmlinux 0x362e13f3 sock_efree +EXPORT_SYMBOL vmlinux 0x363a62a5 rproc_of_resm_mem_entry_init +EXPORT_SYMBOL vmlinux 0x363d6009 pps_event +EXPORT_SYMBOL vmlinux 0x36435092 skb_queue_tail +EXPORT_SYMBOL vmlinux 0x36449538 security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0x364850b1 down_write_killable +EXPORT_SYMBOL vmlinux 0x364a6678 tcp_poll +EXPORT_SYMBOL vmlinux 0x364c23ad mutex_is_locked +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x366d3e89 locks_free_lock +EXPORT_SYMBOL vmlinux 0x36721abe ptp_find_pin +EXPORT_SYMBOL vmlinux 0x36840e0b dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0x3699ba3b kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x36a49eca dmam_pool_create +EXPORT_SYMBOL vmlinux 0x36b4d874 file_open_root +EXPORT_SYMBOL vmlinux 0x36b6ebbf down_killable +EXPORT_SYMBOL vmlinux 0x36c64b9e page_get_link +EXPORT_SYMBOL vmlinux 0x36cb1e9a build_skb +EXPORT_SYMBOL vmlinux 0x36d4f281 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x36f2f565 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x37110088 remove_wait_queue +EXPORT_SYMBOL vmlinux 0x371e1953 __printk_cpu_sync_wait +EXPORT_SYMBOL vmlinux 0x3726620d generic_copy_file_range +EXPORT_SYMBOL vmlinux 0x372c5539 __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x375dca78 register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x376f6aef mipi_dsi_dcs_set_display_brightness +EXPORT_SYMBOL vmlinux 0x377d8004 acpi_error +EXPORT_SYMBOL vmlinux 0x378159d3 tso_build_data +EXPORT_SYMBOL vmlinux 0x379fab47 xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0x37a91788 __vfs_getxattr +EXPORT_SYMBOL vmlinux 0x37ad38fb md_write_inc +EXPORT_SYMBOL vmlinux 0x37b7b1df nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0x37b8b39e screen_info +EXPORT_SYMBOL vmlinux 0x37bd5c5c vfs_get_super +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37d3e340 xsk_tx_release +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37f9be71 rproc_add_subdev +EXPORT_SYMBOL vmlinux 0x380b1254 truncate_pagecache +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x383eee7e param_get_hexint +EXPORT_SYMBOL vmlinux 0x384179f6 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x3854774b kstrtoll +EXPORT_SYMBOL vmlinux 0x38806632 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x388aa3c9 neigh_proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x3891ffc8 ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0x389617b0 LZ4_decompress_fast_continue +EXPORT_SYMBOL vmlinux 0x389b688d nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38a9f7c5 in6addr_loopback +EXPORT_SYMBOL vmlinux 0x38abd181 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x38b5162d simple_getattr +EXPORT_SYMBOL vmlinux 0x38b996d2 touchscreen_parse_properties +EXPORT_SYMBOL vmlinux 0x38c8fbd8 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x38c960d4 request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0x38d5d8b4 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x38e46431 mempool_exit +EXPORT_SYMBOL vmlinux 0x38f48af7 put_user_ifreq +EXPORT_SYMBOL vmlinux 0x38f5a172 unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x38fac538 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x38fceb9b vme_bus_error_handler +EXPORT_SYMBOL vmlinux 0x38fdf3ff devfreq_monitor_stop +EXPORT_SYMBOL vmlinux 0x39074a3e blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0x39081193 __max_logical_packages +EXPORT_SYMBOL vmlinux 0x390d11e3 poll_initwait +EXPORT_SYMBOL vmlinux 0x391df80a netstamp_needed_key +EXPORT_SYMBOL vmlinux 0x3927e9f3 tcf_idr_release +EXPORT_SYMBOL vmlinux 0x392b1fea wait_for_completion_io +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x39402242 devfreq_suspend_device +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x3958cafc __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x39920906 tcf_idr_create +EXPORT_SYMBOL vmlinux 0x39972eed mr_dump +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x39a5d41a file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x39b1a8f4 fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39b91db9 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x39d6120f mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x39d95ca4 zstd_reset_cstream +EXPORT_SYMBOL vmlinux 0x39e3c030 do_trace_read_msr +EXPORT_SYMBOL vmlinux 0x39ea9052 vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0x39f2dfe4 __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0x39f32944 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x3a08475f platform_thermal_notify +EXPORT_SYMBOL vmlinux 0x3a099605 __get_user_nocheck_4 +EXPORT_SYMBOL vmlinux 0x3a0f8ee0 unlock_buffer +EXPORT_SYMBOL vmlinux 0x3a13f54a sgl_alloc +EXPORT_SYMBOL vmlinux 0x3a1ba538 flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x3a2897a0 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x3a2d1dfa rdmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0x3a2f6702 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x3a32839e intel_gtt_chipset_flush +EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized +EXPORT_SYMBOL vmlinux 0x3a7f56e1 mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0x3a80007c sock_no_accept +EXPORT_SYMBOL vmlinux 0x3a8b958e sock_wmalloc +EXPORT_SYMBOL vmlinux 0x3ab0abd6 vga_switcheroo_lock_ddc +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3aca0190 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x3ad5cda3 lockref_get_not_zero +EXPORT_SYMBOL vmlinux 0x3ad7a5d5 acpi_evaluate_reference +EXPORT_SYMBOL vmlinux 0x3ada9e06 acpi_check_region +EXPORT_SYMBOL vmlinux 0x3ae34aeb zstd_init_dctx +EXPORT_SYMBOL vmlinux 0x3af6d771 ip_check_defrag +EXPORT_SYMBOL vmlinux 0x3aff3200 acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0x3b029f48 acpi_install_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x3b03cb08 xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0x3b08a8f0 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x3b0aad8c pci_read_config_byte +EXPORT_SYMBOL vmlinux 0x3b0aaf4a set_pages_array_wc +EXPORT_SYMBOL vmlinux 0x3b110eb5 skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0x3b17d047 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x3b20fb95 dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0x3b321462 LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0x3b4eae6d rtnl_create_link +EXPORT_SYMBOL vmlinux 0x3b505356 eisa_driver_register +EXPORT_SYMBOL vmlinux 0x3b57f465 cdev_add +EXPORT_SYMBOL vmlinux 0x3b5f6d11 rproc_shutdown +EXPORT_SYMBOL vmlinux 0x3b64003e jbd2_fc_get_buf +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b6c41ea kstrtouint +EXPORT_SYMBOL vmlinux 0x3b6dae37 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x3b792120 ipv4_specific +EXPORT_SYMBOL vmlinux 0x3b8234f7 pci_enable_msi +EXPORT_SYMBOL vmlinux 0x3b83610f cpu_sibling_map +EXPORT_SYMBOL vmlinux 0x3b9144c9 acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0x3ba75cb0 pci_dev_get +EXPORT_SYMBOL vmlinux 0x3bb4ef83 __SCK__tp_func_module_get +EXPORT_SYMBOL vmlinux 0x3bc1c167 rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x3bdf9b27 t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3bead293 simple_empty +EXPORT_SYMBOL vmlinux 0x3bf7ecf2 __mmap_lock_do_trace_start_locking +EXPORT_SYMBOL vmlinux 0x3bfaedd6 kobject_add +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c427f67 cpu_die_map +EXPORT_SYMBOL vmlinux 0x3c4745f9 mount_subtree +EXPORT_SYMBOL vmlinux 0x3c531d4e mipi_dsi_turn_on_peripheral +EXPORT_SYMBOL vmlinux 0x3c59bcc4 pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0x3c757296 register_fib_notifier +EXPORT_SYMBOL vmlinux 0x3c8849e3 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x3cb76692 lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x3cbb940b zstd_init_dstream +EXPORT_SYMBOL vmlinux 0x3cbff69b posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0x3cc7243c inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3d02cd70 dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0x3d057869 blackhole_netdev +EXPORT_SYMBOL vmlinux 0x3d0a4a21 kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0x3d210724 gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0x3d3635c3 km_policy_notify +EXPORT_SYMBOL vmlinux 0x3d3cab2e udp_sendmsg +EXPORT_SYMBOL vmlinux 0x3d67abcd mipi_dsi_dcs_enter_sleep_mode +EXPORT_SYMBOL vmlinux 0x3da171f9 pci_mem_start +EXPORT_SYMBOL vmlinux 0x3dabf271 memcg_sockets_enabled_key +EXPORT_SYMBOL vmlinux 0x3dac779a bpf_sk_lookup_enabled +EXPORT_SYMBOL vmlinux 0x3dad9978 cancel_delayed_work +EXPORT_SYMBOL vmlinux 0x3db57cb5 blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0x3dc0447d devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x3dc619d3 swake_up_locked +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dd715fd devm_rproc_add +EXPORT_SYMBOL vmlinux 0x3dd9b230 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x3ddc6c04 x86_bios_cpu_apicid +EXPORT_SYMBOL vmlinux 0x3de0933e d_exact_alias +EXPORT_SYMBOL vmlinux 0x3de2acd3 netdev_update_features +EXPORT_SYMBOL vmlinux 0x3de3bc2b __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0x3dfb86b9 resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e11171e iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x3e1b8091 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x3e3bad0a __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x3e3d0886 sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0x3e415697 vm_insert_page +EXPORT_SYMBOL vmlinux 0x3e46f1ce pci_find_capability +EXPORT_SYMBOL vmlinux 0x3e47a5a6 qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0x3e53608f kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0x3eb48426 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x3ed437f2 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0x3eeb2322 __wake_up +EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3efe52c8 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x3f028c08 fb_show_logo +EXPORT_SYMBOL vmlinux 0x3f0bfe6c seq_release +EXPORT_SYMBOL vmlinux 0x3f0eabd2 xxh64_update +EXPORT_SYMBOL vmlinux 0x3f34644d zstd_dstream_workspace_bound +EXPORT_SYMBOL vmlinux 0x3f3b0ae4 devm_iounmap +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f476484 ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x3f49e94b netif_device_attach +EXPORT_SYMBOL vmlinux 0x3f4bd846 gen_pool_first_fit_order_align +EXPORT_SYMBOL vmlinux 0x3f629d74 pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0x3f7e1dd9 pin_user_pages +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3f9168e6 cdrom_release +EXPORT_SYMBOL vmlinux 0x3f92b0db dma_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x3fbec19c nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0x3fbf3c89 vme_slave_set +EXPORT_SYMBOL vmlinux 0x3fcb6ed1 fb_set_var +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3fe2ccbe memweight +EXPORT_SYMBOL vmlinux 0x3fe5784c mmc_can_gpio_cd +EXPORT_SYMBOL vmlinux 0x3fe819f5 xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0x3fe98e7b tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0x3fed5db7 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x40009d9a sk_stop_timer_sync +EXPORT_SYMBOL vmlinux 0x4005ae00 devm_clk_get_optional +EXPORT_SYMBOL vmlinux 0x400643b1 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x4018872f ip6_dst_check +EXPORT_SYMBOL vmlinux 0x4034a8bf sk_reset_timer +EXPORT_SYMBOL vmlinux 0x4052a014 phy_ethtool_get_wol +EXPORT_SYMBOL vmlinux 0x4055a920 acpi_remove_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x405ed5b5 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x4067cbbd jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x407bcf7d d_alloc_anon +EXPORT_SYMBOL vmlinux 0x407fcf15 __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0x4084e22b udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x40a4a03c dm_get_device +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40b8e168 input_event +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d0e2dd register_netdev +EXPORT_SYMBOL vmlinux 0x40d26d7e devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0x40d49f47 config_group_init_type_name +EXPORT_SYMBOL vmlinux 0x40d59096 unregister_restart_handler +EXPORT_SYMBOL vmlinux 0x40dde960 generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0x40f3f796 generic_listxattr +EXPORT_SYMBOL vmlinux 0x40f76a86 __vcalloc +EXPORT_SYMBOL vmlinux 0x410afc73 sk_mc_loop +EXPORT_SYMBOL vmlinux 0x4116e3ba dma_resv_replace_fences +EXPORT_SYMBOL vmlinux 0x41174414 call_fib_notifiers +EXPORT_SYMBOL vmlinux 0x411fc847 t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0x412f893c page_offline_begin +EXPORT_SYMBOL vmlinux 0x4135a599 memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0x4141d78e d_genocide +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x414844d2 xsk_tx_peek_release_desc_batch +EXPORT_SYMBOL vmlinux 0x415f0f81 d_drop +EXPORT_SYMBOL vmlinux 0x4163c18c ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x41778d52 devfreq_monitor_start +EXPORT_SYMBOL vmlinux 0x4182f694 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41a640ae pcim_iomap +EXPORT_SYMBOL vmlinux 0x41b92c4c pcie_print_link_status +EXPORT_SYMBOL vmlinux 0x41c8ee70 kern_sys_bpf +EXPORT_SYMBOL vmlinux 0x41ed3709 get_random_bytes +EXPORT_SYMBOL vmlinux 0x41efdeaf radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x420964e3 __nla_parse +EXPORT_SYMBOL vmlinux 0x42255446 bh_submit_read +EXPORT_SYMBOL vmlinux 0x422eb81e bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x4230a8d7 sg_nents_for_len +EXPORT_SYMBOL vmlinux 0x4242a139 bd_abort_claiming +EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running +EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x4253d58a filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x42578e80 acpi_get_type +EXPORT_SYMBOL vmlinux 0x42651fda vme_unregister_driver +EXPORT_SYMBOL vmlinux 0x426728f2 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x428d2c9d mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x429320f8 cpufreq_generic_suspend +EXPORT_SYMBOL vmlinux 0x42964d06 pci_dev_put +EXPORT_SYMBOL vmlinux 0x42b3c4e7 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x42bed8d4 unix_gc_lock +EXPORT_SYMBOL vmlinux 0x42cb1085 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x42e0b07e set_blocksize +EXPORT_SYMBOL vmlinux 0x42edff3e dma_sync_wait +EXPORT_SYMBOL vmlinux 0x42f17f37 sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4304cf7e vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0x4307893b config_group_find_item +EXPORT_SYMBOL vmlinux 0x430db0b7 tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0x431ec3a9 __nla_validate +EXPORT_SYMBOL vmlinux 0x4330f45c d_splice_alias +EXPORT_SYMBOL vmlinux 0x4336fcca ucs2_as_utf8 +EXPORT_SYMBOL vmlinux 0x433abeb0 arp_tbl +EXPORT_SYMBOL vmlinux 0x433cabfb acpi_decode_pld_buffer +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x4355a2b4 tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0x43611df8 udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x43642e9d jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x43a61125 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x43cb9f58 generic_fillattr +EXPORT_SYMBOL vmlinux 0x43ceb724 __put_devmap_managed_page_refs +EXPORT_SYMBOL vmlinux 0x43d22fb9 groups_alloc +EXPORT_SYMBOL vmlinux 0x43d27f85 bioset_init +EXPORT_SYMBOL vmlinux 0x43d5a925 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x43f9ebc8 slhc_remember +EXPORT_SYMBOL vmlinux 0x441baea9 simple_statfs +EXPORT_SYMBOL vmlinux 0x44414ff2 iosf_mbi_unblock_punit_i2c_access +EXPORT_SYMBOL vmlinux 0x44445e0f rproc_get_by_phandle +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x44621c3a __scsi_execute +EXPORT_SYMBOL vmlinux 0x4462d35e cpufreq_get_hw_max_freq +EXPORT_SYMBOL vmlinux 0x4467bb1d dma_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0x446bafdb balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0x44902cff acpi_enable_event +EXPORT_SYMBOL vmlinux 0x4492df99 pid_task +EXPORT_SYMBOL vmlinux 0x449ad0a7 memcmp +EXPORT_SYMBOL vmlinux 0x449c7fa7 phy_read_paged +EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x44a8557d is_acpi_data_node +EXPORT_SYMBOL vmlinux 0x44aaf30f tsc_khz +EXPORT_SYMBOL vmlinux 0x44d17642 dquot_alloc +EXPORT_SYMBOL vmlinux 0x44de9066 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x44e7d8db __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44f5f86b xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x45006cee default_red +EXPORT_SYMBOL vmlinux 0x45081703 ec_get_handle +EXPORT_SYMBOL vmlinux 0x4509cf03 xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0x450e314f flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0x45256418 sock_queue_rcv_skb_reason +EXPORT_SYMBOL vmlinux 0x45288cab kill_block_super +EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x454391a7 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x454747f4 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x45506745 inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0x45535485 xxh32_update +EXPORT_SYMBOL vmlinux 0x4572e69d tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x457d5364 security_unix_may_send +EXPORT_SYMBOL vmlinux 0x457f77f1 param_set_int +EXPORT_SYMBOL vmlinux 0x459a7ce6 generic_setlease +EXPORT_SYMBOL vmlinux 0x459e2cd3 mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0x45b9f90a dquot_quota_on +EXPORT_SYMBOL vmlinux 0x45c4ddab input_unregister_device +EXPORT_SYMBOL vmlinux 0x45cc388d netif_set_tso_max_segs +EXPORT_SYMBOL vmlinux 0x45d246da node_to_cpumask_map +EXPORT_SYMBOL vmlinux 0x45dff1ae __mdiobus_write +EXPORT_SYMBOL vmlinux 0x45e8d7b5 native_write_cr0 +EXPORT_SYMBOL vmlinux 0x45ef21e7 mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0x45f713de genl_notify +EXPORT_SYMBOL vmlinux 0x460f4a34 flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x46144471 lease_modify +EXPORT_SYMBOL vmlinux 0x461d16ca sg_nents +EXPORT_SYMBOL vmlinux 0x4629334c __preempt_count +EXPORT_SYMBOL vmlinux 0x46333156 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x46451cee zstd_get_frame_header +EXPORT_SYMBOL vmlinux 0x4645e6aa __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x465aebf1 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x465e24ff ucs2_utf8size +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x46734dbe free_task +EXPORT_SYMBOL vmlinux 0x46777898 write_cache_pages +EXPORT_SYMBOL vmlinux 0x467df16d netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0x4685122d xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x46853909 request_partial_firmware_into_buf +EXPORT_SYMBOL vmlinux 0x46973bca folio_wait_private_2_killable +EXPORT_SYMBOL vmlinux 0x469a6ec7 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x469d772f dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x46a0c8da genphy_setup_forced +EXPORT_SYMBOL vmlinux 0x46c123f6 setup_arg_pages +EXPORT_SYMBOL vmlinux 0x46c47fb6 __node_distance +EXPORT_SYMBOL vmlinux 0x46cf10eb cachemode2protval +EXPORT_SYMBOL vmlinux 0x46d2c903 put_watch_queue +EXPORT_SYMBOL vmlinux 0x46ec4f46 vfs_mkobj +EXPORT_SYMBOL vmlinux 0x47037e75 pci_resize_resource +EXPORT_SYMBOL vmlinux 0x4705c2e0 tcf_qevent_init +EXPORT_SYMBOL vmlinux 0x470a72cf dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x4715a909 acpi_load_table +EXPORT_SYMBOL vmlinux 0x47190876 input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0x471faae3 dev_disable_lro +EXPORT_SYMBOL vmlinux 0x4733a6af rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x4740b3bc xen_arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x474bbeea get_user_pages_remote +EXPORT_SYMBOL vmlinux 0x4752bfd2 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x4754338d seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x475f1a6b blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x476e365d __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x477e8910 tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0x477eafa4 __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0x47960bc4 proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x47a40c4b dma_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x47c11b8b jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x47c20f8a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47cfd825 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0x47d12fa7 tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0x47d8d301 __cond_resched_rwlock_read +EXPORT_SYMBOL vmlinux 0x47e4b89d inet_ioctl +EXPORT_SYMBOL vmlinux 0x47f73726 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x4806ab56 configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0x480776b7 __folio_start_writeback +EXPORT_SYMBOL vmlinux 0x48112d76 _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0x481814c4 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x4819a9e5 locks_copy_conflock +EXPORT_SYMBOL vmlinux 0x481e6fe0 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x4821fc85 page_pool_update_nid +EXPORT_SYMBOL vmlinux 0x4829cf6b fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0x483cddcb make_bad_inode +EXPORT_SYMBOL vmlinux 0x4841bdee strnchr +EXPORT_SYMBOL vmlinux 0x48476bcb intel_gtt_insert_page +EXPORT_SYMBOL vmlinux 0x484ce347 sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0x484f6edf ktime_get_coarse_real_ts64 +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486075c8 gen_pool_dma_alloc +EXPORT_SYMBOL vmlinux 0x48642a70 filemap_alloc_folio +EXPORT_SYMBOL vmlinux 0x4871d75d clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x487853a1 phy_aneg_done +EXPORT_SYMBOL vmlinux 0x48869149 show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0x488b1c4b md_bitmap_update_sb +EXPORT_SYMBOL vmlinux 0x488d726d input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0x489f6e0b rdma_dim +EXPORT_SYMBOL vmlinux 0x48a33d84 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48afda1a __tracepoint_write_msr +EXPORT_SYMBOL vmlinux 0x48b4af9e bio_kmalloc +EXPORT_SYMBOL vmlinux 0x48b99a13 vme_lm_free +EXPORT_SYMBOL vmlinux 0x48bedf65 first_ec +EXPORT_SYMBOL vmlinux 0x48c093fb _atomic_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x48d15244 pci_iomap +EXPORT_SYMBOL vmlinux 0x48d27375 __bitmap_intersects +EXPORT_SYMBOL vmlinux 0x48d50e79 amd_iommu_register_ppr_notifier +EXPORT_SYMBOL vmlinux 0x48d8e68d xfrm_unregister_type_offload +EXPORT_SYMBOL vmlinux 0x48dfa5e0 vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0x48e8cd51 flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0x48f1cb0a __SCK__tp_func_write_msr +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x491fe5a9 block_truncate_page +EXPORT_SYMBOL vmlinux 0x4938d957 netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0x493a0ae2 proc_create +EXPORT_SYMBOL vmlinux 0x493b18f0 write_inode_now +EXPORT_SYMBOL vmlinux 0x494cf66b pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x494e3393 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x495e378d __pv_queued_spin_lock_slowpath +EXPORT_SYMBOL vmlinux 0x49659f16 devfreq_update_target +EXPORT_SYMBOL vmlinux 0x4967e79f radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0x497c2d47 backlight_device_get_by_name +EXPORT_SYMBOL vmlinux 0x499f0ecf nd_sb_checksum +EXPORT_SYMBOL vmlinux 0x49a6a889 cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0x49ad2fce inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x49b163b8 acpi_bus_scan +EXPORT_SYMBOL vmlinux 0x49c27179 dm_table_event +EXPORT_SYMBOL vmlinux 0x49c49517 dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x49d880d0 sock_no_getname +EXPORT_SYMBOL vmlinux 0x4a0aa949 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x4a3ad70e wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x4a453f53 iowrite32 +EXPORT_SYMBOL vmlinux 0x4a4a4b3a jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x4a4e52a4 ram_aops +EXPORT_SYMBOL vmlinux 0x4a65d317 vme_register_bridge +EXPORT_SYMBOL vmlinux 0x4a7f0ba8 netdev_emerg +EXPORT_SYMBOL vmlinux 0x4a82f70f icmp6_send +EXPORT_SYMBOL vmlinux 0x4a87fefc tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x4a93ab4c netdev_offload_xstats_enabled +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4a9d03bc phy_device_register +EXPORT_SYMBOL vmlinux 0x4aa09af8 mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0x4aad96de blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x4aaf5a15 security_inet_conn_established +EXPORT_SYMBOL vmlinux 0x4abb7d10 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x4aea463f crc32_le_shift +EXPORT_SYMBOL vmlinux 0x4af6ddf0 kstrtou16 +EXPORT_SYMBOL vmlinux 0x4af72821 mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0x4afb2238 add_wait_queue +EXPORT_SYMBOL vmlinux 0x4b0069f4 nla_put_64bit +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b158492 qdisc_hash_add +EXPORT_SYMBOL vmlinux 0x4b292949 fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0x4b293b6a __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x4b2ee53d __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x4b2f1f9e dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x4b3b76a8 __vfs_removexattr +EXPORT_SYMBOL vmlinux 0x4b3cd0a6 inet6_release +EXPORT_SYMBOL vmlinux 0x4b445740 __skb_ext_del +EXPORT_SYMBOL vmlinux 0x4b51d682 pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0x4b5a2fea folio_wait_private_2 +EXPORT_SYMBOL vmlinux 0x4b5e3a47 __get_user_nocheck_1 +EXPORT_SYMBOL vmlinux 0x4b5ead1b __mdiobus_register +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b6df007 acpi_evaluate_reg +EXPORT_SYMBOL vmlinux 0x4bcc2662 mempool_init_node +EXPORT_SYMBOL vmlinux 0x4bd6dcbc jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0x4be02e25 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x4bef1c67 empty_name +EXPORT_SYMBOL vmlinux 0x4c01583c __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x4c07a7e0 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0x4c0bb578 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x4c236f6f __x86_indirect_thunk_r15 +EXPORT_SYMBOL vmlinux 0x4c2c08b5 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x4c2d5c64 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c54f6f7 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x4c59b513 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x4c9cc1d8 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x4c9d28b0 phys_base +EXPORT_SYMBOL vmlinux 0x4c9f0d8a sock_set_mark +EXPORT_SYMBOL vmlinux 0x4cba441d iwe_stream_add_event +EXPORT_SYMBOL vmlinux 0x4cbba200 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x4cc4e1d7 mmc_gpio_get_cd +EXPORT_SYMBOL vmlinux 0x4cd5bc5e rdmsr_safe_regs +EXPORT_SYMBOL vmlinux 0x4ce72861 netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0x4d01e7e3 __mod_node_page_state +EXPORT_SYMBOL vmlinux 0x4d1ea046 __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x4d2bf098 __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x4d2c07dd __quota_error +EXPORT_SYMBOL vmlinux 0x4d2c7133 acpi_info +EXPORT_SYMBOL vmlinux 0x4d36925c tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x4d3cae48 flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x4d437246 sock_gettstamp +EXPORT_SYMBOL vmlinux 0x4d4f5a2e __netdev_notify_peers +EXPORT_SYMBOL vmlinux 0x4d54ec2e inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x4d6abe27 prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0x4d6b920f scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x4d6ef5e2 eisa_bus_type +EXPORT_SYMBOL vmlinux 0x4d6fa228 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x4d732987 blk_rq_init +EXPORT_SYMBOL vmlinux 0x4d79e808 fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x4d7c017a xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x4d867223 nd_region_acquire_lane +EXPORT_SYMBOL vmlinux 0x4d8f39e2 ps2_drain +EXPORT_SYMBOL vmlinux 0x4d924f20 memremap +EXPORT_SYMBOL vmlinux 0x4d93ead1 blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0x4d9903f1 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4dca08ee sync_file_get_fence +EXPORT_SYMBOL vmlinux 0x4dd831bc inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x4ddd3267 sock_wfree +EXPORT_SYMBOL vmlinux 0x4de995ec gen_pool_dma_alloc_algo +EXPORT_SYMBOL vmlinux 0x4df02057 crc32_be +EXPORT_SYMBOL vmlinux 0x4df2ea84 gen_estimator_read +EXPORT_SYMBOL vmlinux 0x4dfa8d4b mutex_lock +EXPORT_SYMBOL vmlinux 0x4e20bcf8 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x4e332902 nla_append +EXPORT_SYMBOL vmlinux 0x4e3552a2 mipi_dsi_dcs_get_display_brightness_large +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e36cdc4 __ubsan_handle_divrem_overflow +EXPORT_SYMBOL vmlinux 0x4e4f0f16 dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x4e547048 __kmalloc_node_track_caller +EXPORT_SYMBOL vmlinux 0x4e5c100d fault_in_iov_iter_readable +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6e4b41 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e9f6f94 validate_slab_cache +EXPORT_SYMBOL vmlinux 0x4ea0cc96 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x4ea25709 dql_reset +EXPORT_SYMBOL vmlinux 0x4ea4ab41 netif_inherit_tso_max +EXPORT_SYMBOL vmlinux 0x4eada8f7 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x4ec268e2 twl6040_reg_read +EXPORT_SYMBOL vmlinux 0x4ec54e78 bitmap_to_arr32 +EXPORT_SYMBOL vmlinux 0x4ecd6a02 page_pool_create +EXPORT_SYMBOL vmlinux 0x4ee68877 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x4ee94a14 uart_update_timeout +EXPORT_SYMBOL vmlinux 0x4ef26d7c tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x4f091891 phy_attach_direct +EXPORT_SYMBOL vmlinux 0x4f17fb66 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f20d80b zstd_min_clevel +EXPORT_SYMBOL vmlinux 0x4f2250ba rtc_tm_to_time64 +EXPORT_SYMBOL vmlinux 0x4f33362f dquot_drop +EXPORT_SYMBOL vmlinux 0x4f442475 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x4f55166f acpi_set_current_resources +EXPORT_SYMBOL vmlinux 0x4f68ec53 invalidate_disk +EXPORT_SYMBOL vmlinux 0x4f709989 security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0x4f711f84 intel_scu_ipc_dev_iowrite8 +EXPORT_SYMBOL vmlinux 0x4f93dcb1 vlan_vid_del +EXPORT_SYMBOL vmlinux 0x4fc83034 dma_async_device_register +EXPORT_SYMBOL vmlinux 0x4fd084fd fwnode_phy_find_device +EXPORT_SYMBOL vmlinux 0x4fd13657 stop_tty +EXPORT_SYMBOL vmlinux 0x4fdeb0a0 param_get_long +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4fe64b65 kernel_bind +EXPORT_SYMBOL vmlinux 0x4ff803b7 skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x500bae58 netif_rx +EXPORT_SYMBOL vmlinux 0x5021bd81 _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x5027bde2 acpi_acquire_mutex +EXPORT_SYMBOL vmlinux 0x5053192f __module_put_and_kthread_exit +EXPORT_SYMBOL vmlinux 0x505908c9 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x505ed44c iommu_get_msi_cookie +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x506c28db netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +EXPORT_SYMBOL vmlinux 0x507fc40c n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x50816139 rtnl_offload_xstats_notify +EXPORT_SYMBOL vmlinux 0x5089f45f ip_send_check +EXPORT_SYMBOL vmlinux 0x5092e84e __read_overflow2_field +EXPORT_SYMBOL vmlinux 0x50944630 seq_list_start_head_rcu +EXPORT_SYMBOL vmlinux 0x509aa3d9 vme_master_request +EXPORT_SYMBOL vmlinux 0x509b64ea acpi_has_method +EXPORT_SYMBOL vmlinux 0x50a41c30 tty_vhangup +EXPORT_SYMBOL vmlinux 0x50a4698c fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0x50a8dce9 __ClearPageMovable +EXPORT_SYMBOL vmlinux 0x50b73ce2 rfkill_find_type +EXPORT_SYMBOL vmlinux 0x50b80992 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x50b972cf blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50cf7585 hex2bin +EXPORT_SYMBOL vmlinux 0x50d00b64 netdev_txq_to_tc +EXPORT_SYMBOL vmlinux 0x50d035c2 vsscanf +EXPORT_SYMBOL vmlinux 0x50d68377 arch_phys_wc_del +EXPORT_SYMBOL vmlinux 0x50d73c4d ip6_mtu +EXPORT_SYMBOL vmlinux 0x50e528c8 configfs_depend_item +EXPORT_SYMBOL vmlinux 0x50e8c557 nd_pfn_probe +EXPORT_SYMBOL vmlinux 0x50f8e771 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x50f91491 __genradix_ptr +EXPORT_SYMBOL vmlinux 0x5102a30b do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0x51136b3f __inode_add_bytes +EXPORT_SYMBOL vmlinux 0x511a293f max8925_reg_read +EXPORT_SYMBOL vmlinux 0x515083bf acpi_release_mutex +EXPORT_SYMBOL vmlinux 0x5153c6f6 phy_reset_after_clk_enable +EXPORT_SYMBOL vmlinux 0x515fc266 amd_iommu_domain_direct_map +EXPORT_SYMBOL vmlinux 0x51641162 opal_unlock_from_suspend +EXPORT_SYMBOL vmlinux 0x5174dfd5 lru_cache_add +EXPORT_SYMBOL vmlinux 0x517fa2bf mpage_read_folio +EXPORT_SYMBOL vmlinux 0x518ac48f __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x51935670 pci_request_regions +EXPORT_SYMBOL vmlinux 0x51a511eb _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0x51a97bee security_socket_socketpair +EXPORT_SYMBOL vmlinux 0x51c25b61 configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0x51c825f4 single_open_size +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51ddcfc0 close_fd_get_file +EXPORT_SYMBOL vmlinux 0x51de98ec phy_ethtool_ksettings_get +EXPORT_SYMBOL vmlinux 0x51e6f1d7 ip_output +EXPORT_SYMBOL vmlinux 0x51ed890f dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0x51f298e0 intel_scu_ipc_dev_ioread8 +EXPORT_SYMBOL vmlinux 0x51fd329f mdio_driver_unregister +EXPORT_SYMBOL vmlinux 0x5203983c scsi_add_device +EXPORT_SYMBOL vmlinux 0x520c3e2d pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0x521928da generic_block_bmap +EXPORT_SYMBOL vmlinux 0x521da473 unregister_md_personality +EXPORT_SYMBOL vmlinux 0x522fb715 __phy_write_mmd +EXPORT_SYMBOL vmlinux 0x52524984 md_done_sync +EXPORT_SYMBOL vmlinux 0x5265a452 input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0x526eef2c hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0x5271afcf inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x5294c351 file_fdatawait_range +EXPORT_SYMBOL vmlinux 0x52983a4f vme_master_write +EXPORT_SYMBOL vmlinux 0x529e501a tcf_qevent_handle +EXPORT_SYMBOL vmlinux 0x52a8ca7c devm_alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x52a91e28 folio_wait_bit +EXPORT_SYMBOL vmlinux 0x52aa72cf end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x52bf2c24 phy_ethtool_set_wol +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52dcb85b __traceiter_kmalloc +EXPORT_SYMBOL vmlinux 0x52ec01a9 __folio_lock +EXPORT_SYMBOL vmlinux 0x52ecbc75 crc_ccitt +EXPORT_SYMBOL vmlinux 0x52f7fd49 seq_pad +EXPORT_SYMBOL vmlinux 0x5302c8db __tracepoint_spi_transfer_start +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x53126ecc __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x5312b37e devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x53164b44 softnet_data +EXPORT_SYMBOL vmlinux 0x531b604e __virt_addr_valid +EXPORT_SYMBOL vmlinux 0x5338184f ethtool_sprintf +EXPORT_SYMBOL vmlinux 0x53569707 this_cpu_off +EXPORT_SYMBOL vmlinux 0x537fa1fa __tracepoint_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x5397773a vfio_register_notifier +EXPORT_SYMBOL vmlinux 0x539d5137 security_sock_graft +EXPORT_SYMBOL vmlinux 0x53a2ae59 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x53b954a2 up_read +EXPORT_SYMBOL vmlinux 0x53ba76f3 napi_enable +EXPORT_SYMBOL vmlinux 0x53bbd155 skb_expand_head +EXPORT_SYMBOL vmlinux 0x53d501b9 phy_ethtool_get_strings +EXPORT_SYMBOL vmlinux 0x53e87f33 __do_once_slow_done +EXPORT_SYMBOL vmlinux 0x53f672e0 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x54175c5f acpi_read_bit_register +EXPORT_SYMBOL vmlinux 0x54204699 kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x547af18f dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x547e3344 acpi_disable +EXPORT_SYMBOL vmlinux 0x54960b86 netdev_crit +EXPORT_SYMBOL vmlinux 0x549662e7 fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0x54b0f5ec blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x54b1fac6 __ubsan_handle_load_invalid_value +EXPORT_SYMBOL vmlinux 0x54b22bb1 __SCT__tp_func_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0x54cf0519 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x54e01f2b crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54ea6dfe xen_start_flags +EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x55385e2e __x86_indirect_thunk_r14 +EXPORT_SYMBOL vmlinux 0x55427118 __register_binfmt +EXPORT_SYMBOL vmlinux 0x554501be i2c_verify_client +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +EXPORT_SYMBOL vmlinux 0x5551b8ad mdiobus_get_phy +EXPORT_SYMBOL vmlinux 0x556422b3 ioremap_cache +EXPORT_SYMBOL vmlinux 0x556b5d62 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x556cca46 x86_apple_machine +EXPORT_SYMBOL vmlinux 0x556e2469 tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x5591224a pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x55917f5d truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x559e8000 __ps2_command +EXPORT_SYMBOL vmlinux 0x55a4189a dns_query +EXPORT_SYMBOL vmlinux 0x55d48bed pm_vt_switch_unregister +EXPORT_SYMBOL vmlinux 0x55db5066 ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x55e83260 __inet_stream_connect +EXPORT_SYMBOL vmlinux 0x55f5f510 nd_device_notify +EXPORT_SYMBOL vmlinux 0x55f95e07 ioremap_prot +EXPORT_SYMBOL vmlinux 0x5607845b scsi_ioctl +EXPORT_SYMBOL vmlinux 0x5608ccf9 acpi_dev_hid_uid_match +EXPORT_SYMBOL vmlinux 0x5616b4c5 dump_emit +EXPORT_SYMBOL vmlinux 0x563037b8 iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0x5630670c scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x56468c5f rproc_coredump_set_elf_info +EXPORT_SYMBOL vmlinux 0x56470118 __warn_printk +EXPORT_SYMBOL vmlinux 0x564f7608 acpi_reconfig_notifier_register +EXPORT_SYMBOL vmlinux 0x56749a50 vga_switcheroo_client_probe_defer +EXPORT_SYMBOL vmlinux 0x567f09b5 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x568ed45f filemap_flush +EXPORT_SYMBOL vmlinux 0x569ec710 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x56c3316c bdev_check_media_change +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56d51a39 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x56f2ec17 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x56f62a62 generic_file_read_iter +EXPORT_SYMBOL vmlinux 0x5720c21a bpf_empty_prog_array +EXPORT_SYMBOL vmlinux 0x5727daa9 register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x57286e18 generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0x572914e7 register_cdrom +EXPORT_SYMBOL vmlinux 0x57360abd nf_log_packet +EXPORT_SYMBOL vmlinux 0x573d6b5b nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x5745cdf4 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x574ba606 ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x574f8e1c pci_enable_ptm +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57659952 zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x577dcbab misc_register +EXPORT_SYMBOL vmlinux 0x5784b261 tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0x57868e69 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0x5789e5a6 vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0x57900416 gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0x5792f848 strlcpy +EXPORT_SYMBOL vmlinux 0x579e57b8 _dev_warn +EXPORT_SYMBOL vmlinux 0x57abae62 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x57ac0eaf pci_map_rom +EXPORT_SYMBOL vmlinux 0x57bc19d2 down_write +EXPORT_SYMBOL vmlinux 0x57bd4031 inet6_offloads +EXPORT_SYMBOL vmlinux 0x57db8fd6 utf8_normalize +EXPORT_SYMBOL vmlinux 0x57e09b2f generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0x580d63f5 fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0x5818fe3c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x581f98da zlib_inflate +EXPORT_SYMBOL vmlinux 0x582b6275 xfrm_if_unregister_cb +EXPORT_SYMBOL vmlinux 0x58350a11 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x5854b62f mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0x585cd1a9 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0x586c2007 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x586c2abb kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0x58772602 __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0x587b0954 kvasprintf +EXPORT_SYMBOL vmlinux 0x587f22d7 devmap_managed_key +EXPORT_SYMBOL vmlinux 0x5894ca3d __traceiter_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0x58a677d6 kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58bc7afc blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x58c7985b agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0x58e14301 sk_error_report +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x58e3d185 pci_read_vpd +EXPORT_SYMBOL vmlinux 0x58e567c3 agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0x58e5c17e jbd2_journal_put_journal_head +EXPORT_SYMBOL vmlinux 0x5920dd2d datagram_poll +EXPORT_SYMBOL vmlinux 0x592ac767 dma_resv_reserve_fences +EXPORT_SYMBOL vmlinux 0x593edc4b cpu_tlbstate_shared +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x595572cc bdi_register +EXPORT_SYMBOL vmlinux 0x5957cc4e unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x595a8e44 __find_get_block +EXPORT_SYMBOL vmlinux 0x595d8002 hdmi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x59695a04 migrate_vma_finalize +EXPORT_SYMBOL vmlinux 0x59766073 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x597e5478 simple_recursive_removal +EXPORT_SYMBOL vmlinux 0x5998a5e7 ether_setup +EXPORT_SYMBOL vmlinux 0x599fb41c kvmalloc_node +EXPORT_SYMBOL vmlinux 0x59a2f0ee packing +EXPORT_SYMBOL vmlinux 0x59a6bb87 pci_write_config_dword +EXPORT_SYMBOL vmlinux 0x59b45e4e __sk_dst_check +EXPORT_SYMBOL vmlinux 0x59b4ac3e tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x59bdb16d jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x59c08891 netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0x59d5ea74 __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x59e49d90 mmc_sw_reset +EXPORT_SYMBOL vmlinux 0x59e5d443 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x59edd8d6 agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0x59ef985a dentry_open +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a1107d5 __genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x5a118307 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x5a290250 hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x5a31e5f6 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x5a376fcf seg6_push_hmac +EXPORT_SYMBOL vmlinux 0x5a43b7bf kill_litter_super +EXPORT_SYMBOL vmlinux 0x5a44f8cb __crypto_memneq +EXPORT_SYMBOL vmlinux 0x5a4896a8 __put_user_2 +EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle +EXPORT_SYMBOL vmlinux 0x5a5a2271 __cpu_online_mask +EXPORT_SYMBOL vmlinux 0x5a921311 strncmp +EXPORT_SYMBOL vmlinux 0x5a99a0d7 flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0x5aaca33f unregister_binfmt +EXPORT_SYMBOL vmlinux 0x5abecf37 sock_no_connect +EXPORT_SYMBOL vmlinux 0x5ac1567c phy_do_ioctl +EXPORT_SYMBOL vmlinux 0x5ac8376d rt_mutex_base_init +EXPORT_SYMBOL vmlinux 0x5ad00f7c pm_vt_switch_required +EXPORT_SYMBOL vmlinux 0x5ad50fe8 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x5ae1154b __traceiter_kfree +EXPORT_SYMBOL vmlinux 0x5afd12db alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0x5b080a08 kernel_listen +EXPORT_SYMBOL vmlinux 0x5b0b7480 __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x5b0ba2e5 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x5b0c4480 udp_read_sock +EXPORT_SYMBOL vmlinux 0x5b2f27fb do_wait_intr +EXPORT_SYMBOL vmlinux 0x5b3e282f xa_store +EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap +EXPORT_SYMBOL vmlinux 0x5b57e65d input_grab_device +EXPORT_SYMBOL vmlinux 0x5b641283 arch_phys_wc_add +EXPORT_SYMBOL vmlinux 0x5b8239ca __x86_return_thunk +EXPORT_SYMBOL vmlinux 0x5b87f0a3 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x5b8e6b4b key_link +EXPORT_SYMBOL vmlinux 0x5b914910 keyring_search +EXPORT_SYMBOL vmlinux 0x5ba45316 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x5bd3d2b3 sock_setsockopt +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5bdb7603 sock_copy_user_timeval +EXPORT_SYMBOL vmlinux 0x5bdd0992 cros_ec_query_all +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5c074a48 dput +EXPORT_SYMBOL vmlinux 0x5c26a53b wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0x5c2bc5ad clk_hw_get_clk +EXPORT_SYMBOL vmlinux 0x5c370326 mipi_dsi_dcs_soft_reset +EXPORT_SYMBOL vmlinux 0x5c3c7387 kstrtoull +EXPORT_SYMBOL vmlinux 0x5c504a07 fwnode_get_phy_id +EXPORT_SYMBOL vmlinux 0x5c516f9e vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0x5c5ad59c xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x5c687790 xfrm_input +EXPORT_SYMBOL vmlinux 0x5c6de638 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x5c90dbfb tty_check_change +EXPORT_SYMBOL vmlinux 0x5c9ce8fc xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0x5ca1f558 mdio_device_reset +EXPORT_SYMBOL vmlinux 0x5ca7f12c qdisc_put +EXPORT_SYMBOL vmlinux 0x5cb36e9b bdev_start_io_acct +EXPORT_SYMBOL vmlinux 0x5cba41ad jbd2_journal_finish_inode_data_buffers +EXPORT_SYMBOL vmlinux 0x5ccd08fb pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x5cda74e8 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x5cdc1c18 input_get_keycode +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5cf8fd19 ata_print_version +EXPORT_SYMBOL vmlinux 0x5cfb26a0 acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0x5cfbc800 __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x5d18c46e serio_open +EXPORT_SYMBOL vmlinux 0x5d359d84 uart_resume_port +EXPORT_SYMBOL vmlinux 0x5d366a84 security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0x5d45278b iov_iter_discard +EXPORT_SYMBOL vmlinux 0x5d487967 __SCK__tp_func_kfree +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d6190fb uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x5da24df7 pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0x5dafd8fa blk_sync_queue +EXPORT_SYMBOL vmlinux 0x5db59616 debugfs_create_automount +EXPORT_SYMBOL vmlinux 0x5dcf644f inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x5de78793 kobject_put +EXPORT_SYMBOL vmlinux 0x5deb7b8f ip6_frag_next +EXPORT_SYMBOL vmlinux 0x5dfd13ff devm_nvmem_cell_put +EXPORT_SYMBOL vmlinux 0x5dffac57 eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0x5e06bc5c refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0x5e09520c flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e1b104a scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x5e2cac10 dget_parent +EXPORT_SYMBOL vmlinux 0x5e332b52 __var_waitqueue +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e495bd2 fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x5e6fbd4e skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0x5e781198 submit_bio_wait +EXPORT_SYMBOL vmlinux 0x5e855e56 gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0x5e8da9a2 proto_register +EXPORT_SYMBOL vmlinux 0x5e92b842 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e9a01ce gen_new_estimator +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5eb27c8a nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0x5ec317af tcf_qevent_destroy +EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x5ecb2f58 mipi_dsi_picture_parameter_set +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed0c627 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5edacd81 from_kgid_munged +EXPORT_SYMBOL vmlinux 0x5ef6a672 gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0x5efde8e6 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x5f098b2a in6addr_interfacelocal_allrouters +EXPORT_SYMBOL vmlinux 0x5f25b9a1 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x5f2759fa mipi_dsi_dcs_set_tear_on +EXPORT_SYMBOL vmlinux 0x5f2ba55e security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x5f5441c8 __ubsan_handle_alignment_assumption +EXPORT_SYMBOL vmlinux 0x5f56663b rdmsrl_on_cpu +EXPORT_SYMBOL vmlinux 0x5f6b889c rproc_va_to_pa +EXPORT_SYMBOL vmlinux 0x5f710f81 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x5f718449 tcf_em_register +EXPORT_SYMBOL vmlinux 0x5f7fc749 pci_map_biosrom +EXPORT_SYMBOL vmlinux 0x5f85b3cb flow_rule_alloc +EXPORT_SYMBOL vmlinux 0x5f8b80b7 pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x5f93525c acpi_extract_package +EXPORT_SYMBOL vmlinux 0x5f97cfb1 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x5f99383a ioread64_hi_lo +EXPORT_SYMBOL vmlinux 0x5f9c6380 phy_mac_interrupt +EXPORT_SYMBOL vmlinux 0x5faf430d simple_release_fs +EXPORT_SYMBOL vmlinux 0x5fc67252 ioread16_rep +EXPORT_SYMBOL vmlinux 0x5fc72f0e alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x5fddc1f6 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x5fdec629 dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0x5fe13529 __SCT__tp_func_spi_transfer_start +EXPORT_SYMBOL vmlinux 0x5fe81060 nd_integrity_init +EXPORT_SYMBOL vmlinux 0x5ff70eed folio_mapped +EXPORT_SYMBOL vmlinux 0x5ff9eb0e lockref_mark_dead +EXPORT_SYMBOL vmlinux 0x5ffe30a1 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x6008689f kthread_complete_and_exit +EXPORT_SYMBOL vmlinux 0x60103ee9 devm_extcon_register_notifier_all +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x602531ac truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x604c39b6 sock_no_listen +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x606e7340 md_write_end +EXPORT_SYMBOL vmlinux 0x608581e2 bio_init_clone +EXPORT_SYMBOL vmlinux 0x608741b5 __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x608d0267 zstd_get_error_code +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60a50fa1 uart_add_one_port +EXPORT_SYMBOL vmlinux 0x60b3071f neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0x60c377be __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0x60cbd53f make_kuid +EXPORT_SYMBOL vmlinux 0x60d8ab30 vme_lm_get +EXPORT_SYMBOL vmlinux 0x60ee32bf __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x61073e4a acpi_os_map_generic_address +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x6129114e netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0x612aa6d8 jbd2_fc_begin_commit +EXPORT_SYMBOL vmlinux 0x61347034 mb_cache_entry_delete_or_get +EXPORT_SYMBOL vmlinux 0x61575c33 folio_mark_dirty +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +EXPORT_SYMBOL vmlinux 0x615d0405 xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0x61727bde __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x617c452b queued_read_lock_slowpath +EXPORT_SYMBOL vmlinux 0x6185b747 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0x6187af7b bprm_change_interp +EXPORT_SYMBOL vmlinux 0x618911fc numa_node +EXPORT_SYMBOL vmlinux 0x619794fa tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0x61986b8e __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x619cb7dd simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x619dfcdc intel_scu_ipc_dev_readv +EXPORT_SYMBOL vmlinux 0x61b25df4 dev_get_stats +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61b9e2ad flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0x61ba5630 sock_init_data +EXPORT_SYMBOL vmlinux 0x61be27d1 dquot_get_next_id +EXPORT_SYMBOL vmlinux 0x61cbb524 max8998_bulk_write +EXPORT_SYMBOL vmlinux 0x61e02b6e inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x61ed27a4 tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0x61f8e24f tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x620043bf seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x6214aef2 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x6226b9fa machine_to_phys_mapping +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x622ec946 devfreq_recommended_opp +EXPORT_SYMBOL vmlinux 0x6248a9c8 __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0x625beace i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x625f5850 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x6269c361 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x628f7f4f kern_path_create +EXPORT_SYMBOL vmlinux 0x629079b3 dma_fence_signal_timestamp +EXPORT_SYMBOL vmlinux 0x6291c39f configfs_register_group +EXPORT_SYMBOL vmlinux 0x62949074 acpi_buffer_to_resource +EXPORT_SYMBOL vmlinux 0x629e41fb pci_set_mwi +EXPORT_SYMBOL vmlinux 0x62a303ed sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0x62b2c192 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x62b46739 rio_query_mport +EXPORT_SYMBOL vmlinux 0x62b4dda3 xen_alloc_ballooned_pages +EXPORT_SYMBOL vmlinux 0x62be7fe0 put_cmsg +EXPORT_SYMBOL vmlinux 0x62c639fc pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0x62d6d889 bio_uninit +EXPORT_SYMBOL vmlinux 0x62f7e207 down_read_killable +EXPORT_SYMBOL vmlinux 0x62f7fa7d mdiobus_read +EXPORT_SYMBOL vmlinux 0x62fbd13c neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x6315c42c zstd_get_params +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x63204ddb sock_edemux +EXPORT_SYMBOL vmlinux 0x632d28cb request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x633060fa ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0x633371f7 ip_frag_init +EXPORT_SYMBOL vmlinux 0x6354c298 scsi_print_command +EXPORT_SYMBOL vmlinux 0x635b48c2 rproc_elf_get_boot_addr +EXPORT_SYMBOL vmlinux 0x63603015 sync_blockdev_range +EXPORT_SYMBOL vmlinux 0x636257f7 get_ibs_caps +EXPORT_SYMBOL vmlinux 0x6366e002 generic_update_time +EXPORT_SYMBOL vmlinux 0x637d5f4f ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0x6383b27c __x86_indirect_thunk_rdx +EXPORT_SYMBOL vmlinux 0x639302af filemap_fdatawrite_wbc +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63aabc3b simple_get_link +EXPORT_SYMBOL vmlinux 0x63ac1f91 cdev_del +EXPORT_SYMBOL vmlinux 0x63b03089 tcp_req_err +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63d5e7de kmalloc_caches +EXPORT_SYMBOL vmlinux 0x63e72846 devfreq_monitor_suspend +EXPORT_SYMBOL vmlinux 0x63e8c0e1 dma_unmap_page_attrs +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63f835ba on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0x63fc0aa9 netdev_offload_xstats_enable +EXPORT_SYMBOL vmlinux 0x640a70f6 iov_iter_revert +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x641d7973 udp_disconnect +EXPORT_SYMBOL vmlinux 0x642eb5c6 xen_poll_irq_timeout +EXPORT_SYMBOL vmlinux 0x643533d9 page_mapping +EXPORT_SYMBOL vmlinux 0x644f6c83 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x646197f2 km_report +EXPORT_SYMBOL vmlinux 0x6476a3e1 key_validate +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x64986fc0 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x6498738d __napi_schedule +EXPORT_SYMBOL vmlinux 0x649a9599 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x649fe2bd register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x64a3eb6e iget5_locked +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64bbc288 string_unescape +EXPORT_SYMBOL vmlinux 0x64cb9504 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x64e5c2fd rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0x64e9929f icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0x650128b8 __skb_recv_udp +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x6514c1e6 flow_get_u32_src +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp +EXPORT_SYMBOL vmlinux 0x653e67d1 freeze_bdev +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65464c16 clkdev_drop +EXPORT_SYMBOL vmlinux 0x65487097 __x86_indirect_thunk_rax +EXPORT_SYMBOL vmlinux 0x656c1a0e string_escape_mem +EXPORT_SYMBOL vmlinux 0x656e4a6e snprintf +EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset +EXPORT_SYMBOL vmlinux 0x6593306d _dev_emerg +EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc +EXPORT_SYMBOL vmlinux 0x65ae64d8 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x65b03d7a uart_match_port +EXPORT_SYMBOL vmlinux 0x65b992ac xen_alloc_p2m_entry +EXPORT_SYMBOL vmlinux 0x65bb709d page_pool_destroy +EXPORT_SYMBOL vmlinux 0x65c00623 vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0x65cb0e43 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x65d1bab2 acpi_bios_warning +EXPORT_SYMBOL vmlinux 0x65d98a9a vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0x65d9e877 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65df35ca __put_user_nocheck_2 +EXPORT_SYMBOL vmlinux 0x65e0d6d7 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x65e326a3 get_unmapped_area +EXPORT_SYMBOL vmlinux 0x65f22d74 inet_stream_ops +EXPORT_SYMBOL vmlinux 0x65f5e1e1 __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0x6616c49a sock_wake_async +EXPORT_SYMBOL vmlinux 0x6617f5b5 vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0x6618266c vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0x661b9d08 filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0x6626afca down +EXPORT_SYMBOL vmlinux 0x663182c9 acpi_get_gpe_status +EXPORT_SYMBOL vmlinux 0x664fd1d2 folio_alloc +EXPORT_SYMBOL vmlinux 0x665629bd netdev_pick_tx +EXPORT_SYMBOL vmlinux 0x665e2513 zstd_max_clevel +EXPORT_SYMBOL vmlinux 0x66628bf3 ip_tunnel_metadata_cnt +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x667998a2 vfs_getattr +EXPORT_SYMBOL vmlinux 0x668b19a1 down_read +EXPORT_SYMBOL vmlinux 0x668fdfdd __SCK__tp_func_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x66a13dd1 fd_install +EXPORT_SYMBOL vmlinux 0x66a21673 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x66af1fd1 lockref_put_or_lock +EXPORT_SYMBOL vmlinux 0x66b4cc41 kmemdup +EXPORT_SYMBOL vmlinux 0x66be4b66 __traceiter_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x66bf32d0 pci_claim_resource +EXPORT_SYMBOL vmlinux 0x66c3dd47 pci_save_state +EXPORT_SYMBOL vmlinux 0x66cbbac4 netdev_reset_tc +EXPORT_SYMBOL vmlinux 0x66cca4f9 __x86_indirect_thunk_rcx +EXPORT_SYMBOL vmlinux 0x66e74ed4 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0x66e9e7cd block_read_full_folio +EXPORT_SYMBOL vmlinux 0x66fc76f0 inode_nohighmem +EXPORT_SYMBOL vmlinux 0x67006105 remove_watch_from_object +EXPORT_SYMBOL vmlinux 0x670ecece __x86_indirect_thunk_rbx +EXPORT_SYMBOL vmlinux 0x67151e95 pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x6721fc7c security_cred_getsecid +EXPORT_SYMBOL vmlinux 0x6725aab7 serio_rescan +EXPORT_SYMBOL vmlinux 0x6726ee33 kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0x67288070 d_lookup +EXPORT_SYMBOL vmlinux 0x6729d3df __get_user_4 +EXPORT_SYMBOL vmlinux 0x67385d86 mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0x673cc5cc tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x67481dbc pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x674cf331 skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0x6767280e pnp_request_card_device +EXPORT_SYMBOL vmlinux 0x677485bd jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x67756f5b scsi_target_resume +EXPORT_SYMBOL vmlinux 0x67873158 phy_trigger_machine +EXPORT_SYMBOL vmlinux 0x678b96ec dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67c13ea0 acpi_read +EXPORT_SYMBOL vmlinux 0x67d37174 sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0x67d9b3e4 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x67e747eb inet_accept +EXPORT_SYMBOL vmlinux 0x6806bd82 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x680e4676 max8998_read_reg +EXPORT_SYMBOL vmlinux 0x683f65c5 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x683f9cc6 sg_miter_next +EXPORT_SYMBOL vmlinux 0x6851664e wrmsrl_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x68bc36e3 cros_ec_get_next_event +EXPORT_SYMBOL vmlinux 0x68bfabdd bpf_link_put +EXPORT_SYMBOL vmlinux 0x68c4b824 cpumask_any_but +EXPORT_SYMBOL vmlinux 0x68fe7463 __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0x69049cd2 radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0x690afadd i8042_remove_filter +EXPORT_SYMBOL vmlinux 0x690bc963 genphy_read_lpa +EXPORT_SYMBOL vmlinux 0x6917a77e __traceiter_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x692bdeca xsk_get_pool_from_qid +EXPORT_SYMBOL vmlinux 0x69585523 __ksize +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x69739ddb __i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x6979a4a5 blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0x697ed5f0 memcpy_and_pad +EXPORT_SYMBOL vmlinux 0x6988d0ca cpu_dr7 +EXPORT_SYMBOL vmlinux 0x6993cf57 vga_client_register +EXPORT_SYMBOL vmlinux 0x699acb94 bmap +EXPORT_SYMBOL vmlinux 0x699b3bed inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x69a26d1f xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0x69ab6e0e dma_resv_fini +EXPORT_SYMBOL vmlinux 0x69ababdd xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0x69acdf38 memcpy +EXPORT_SYMBOL vmlinux 0x69aeef46 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x69bc2bed vfs_tmpfile +EXPORT_SYMBOL vmlinux 0x69c16e99 ptp_find_pin_unlocked +EXPORT_SYMBOL vmlinux 0x69d53cbc posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x69dd3b5b crc32_le +EXPORT_SYMBOL vmlinux 0x69de8757 vme_check_window +EXPORT_SYMBOL vmlinux 0x69f36e06 keyring_alloc +EXPORT_SYMBOL vmlinux 0x6a03751f sgl_free_order +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a048cb4 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x6a1ab1d2 netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0x6a261b78 irq_stat +EXPORT_SYMBOL vmlinux 0x6a381cf9 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x6a449c4f register_sysctl_table +EXPORT_SYMBOL vmlinux 0x6a4ec6be d_make_root +EXPORT_SYMBOL vmlinux 0x6a58432a netdev_warn +EXPORT_SYMBOL vmlinux 0x6a59de64 mount_nodev +EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages +EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a6015de ___pskb_trim +EXPORT_SYMBOL vmlinux 0x6a614bfa blk_mq_free_tag_set +EXPORT_SYMBOL vmlinux 0x6a67d381 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x6a6e05bf kstrtou8 +EXPORT_SYMBOL vmlinux 0x6a871b4b fib6_info_hw_flags_set +EXPORT_SYMBOL vmlinux 0x6a8d7ad5 phy_device_free +EXPORT_SYMBOL vmlinux 0x6a8f06df blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x6aa11aa6 sgl_free_n_order +EXPORT_SYMBOL vmlinux 0x6aa6ec6e tcf_block_get +EXPORT_SYMBOL vmlinux 0x6aad72c6 bio_endio +EXPORT_SYMBOL vmlinux 0x6acd8860 alloc_fddidev +EXPORT_SYMBOL vmlinux 0x6ad3758b __netif_schedule +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6ae2d1a0 kfree_skb_list_reason +EXPORT_SYMBOL vmlinux 0x6ae726ba unlock_rename +EXPORT_SYMBOL vmlinux 0x6ae97be3 nf_log_trace +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6b0499da netif_skb_features +EXPORT_SYMBOL vmlinux 0x6b0afd14 generic_perform_write +EXPORT_SYMBOL vmlinux 0x6b10bee1 _copy_to_user +EXPORT_SYMBOL vmlinux 0x6b27729b radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x6b2b3a8d d_move +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b4b2b07 no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0x6b53a719 devm_devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b59c412 pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0x6b611ca7 inet6_getname +EXPORT_SYMBOL vmlinux 0x6b695cf1 zen_untrain_ret +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6bb4cc2e phy_start_cable_test +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bd0e573 down_interruptible +EXPORT_SYMBOL vmlinux 0x6bd20ae9 flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0x6be1c1f8 acpi_install_method +EXPORT_SYMBOL vmlinux 0x6c224cda gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x6c257ac0 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x6c28be5a vfio_info_add_capability +EXPORT_SYMBOL vmlinux 0x6c2cb9de tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0x6c3829fc sock_register +EXPORT_SYMBOL vmlinux 0x6c55e646 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x6c5dae23 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c7ded40 mmc_retune_pause +EXPORT_SYMBOL vmlinux 0x6c9a007f md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x6c9b45b9 inet_frag_find +EXPORT_SYMBOL vmlinux 0x6c9f340c of_find_mipi_dsi_host_by_node +EXPORT_SYMBOL vmlinux 0x6cabcccb get_fs_type +EXPORT_SYMBOL vmlinux 0x6cb2f5a1 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6cc09945 ioread32_rep +EXPORT_SYMBOL vmlinux 0x6cc19d84 drop_super_exclusive +EXPORT_SYMBOL vmlinux 0x6ccfc8cc netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x6cd587c7 ip_fraglist_init +EXPORT_SYMBOL vmlinux 0x6cd59bcd xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0x6d00e36b dma_set_mask +EXPORT_SYMBOL vmlinux 0x6d03acc3 try_module_get +EXPORT_SYMBOL vmlinux 0x6d053d25 rproc_free +EXPORT_SYMBOL vmlinux 0x6d16c104 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d334118 __get_user_8 +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d3b2fcf csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0x6d4287c8 acpi_device_hid +EXPORT_SYMBOL vmlinux 0x6d4b7c14 console_stop +EXPORT_SYMBOL vmlinux 0x6d58f69e agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0x6d5f5b91 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x6d6ff264 seq_bprintf +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6d7d80a4 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x6d7fb8b0 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x6d84c987 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x6dba9051 xz_dec_microlzma_end +EXPORT_SYMBOL vmlinux 0x6dc35b25 radix_tree_iter_delete +EXPORT_SYMBOL vmlinux 0x6dcf857f uuid_null +EXPORT_SYMBOL vmlinux 0x6dd17e7b acpi_get_table_header +EXPORT_SYMBOL vmlinux 0x6ddf9888 __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6e00b5a1 get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0x6e09e9de set_cached_acl +EXPORT_SYMBOL vmlinux 0x6e0a0ff6 fput +EXPORT_SYMBOL vmlinux 0x6e2cc33e dst_release +EXPORT_SYMBOL vmlinux 0x6e4a1b77 __put_user_ns +EXPORT_SYMBOL vmlinux 0x6e5b8651 xz_dec_run +EXPORT_SYMBOL vmlinux 0x6e5c8408 kthread_stop +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e74ec35 neigh_connected_output +EXPORT_SYMBOL vmlinux 0x6e8c7a56 zero_fill_bio +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea7575d acpi_dispatch_gpe +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6eb43674 amd_iommu_domain_set_gcr3 +EXPORT_SYMBOL vmlinux 0x6ebcd312 seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0x6ec03fb5 noop_fsync +EXPORT_SYMBOL vmlinux 0x6ecbbd1b ip6_xmit +EXPORT_SYMBOL vmlinux 0x6ee8d44c bio_free_pages +EXPORT_SYMBOL vmlinux 0x6eebaff9 phy_suspend +EXPORT_SYMBOL vmlinux 0x6eef0193 sock_kfree_s +EXPORT_SYMBOL vmlinux 0x6ef54fae flow_block_cb_setup_simple +EXPORT_SYMBOL vmlinux 0x6f02face tty_hangup +EXPORT_SYMBOL vmlinux 0x6f12b986 secpath_set +EXPORT_SYMBOL vmlinux 0x6f19e4e6 devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x6f21fca4 dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0x6f25db16 neigh_for_each +EXPORT_SYMBOL vmlinux 0x6f41a428 acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x6f4a59e4 sort_r +EXPORT_SYMBOL vmlinux 0x6f52f8b8 __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x6f58a65d ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x6f5ab52f acpi_get_local_address +EXPORT_SYMBOL vmlinux 0x6f5bf913 rproc_da_to_va +EXPORT_SYMBOL vmlinux 0x6f6d3c1b submit_bio +EXPORT_SYMBOL vmlinux 0x6f70d304 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x6f7a19fb dev_uc_del +EXPORT_SYMBOL vmlinux 0x6f7bea56 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x6f857ee8 netdev_sk_get_lowest_dev +EXPORT_SYMBOL vmlinux 0x6f8ab92c flow_rule_match_control +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6f915a45 dqstats +EXPORT_SYMBOL vmlinux 0x6fa0ef55 vga_switcheroo_client_fb_set +EXPORT_SYMBOL vmlinux 0x6fb49676 queue_rcu_work +EXPORT_SYMBOL vmlinux 0x6fbc6a00 radix_tree_insert +EXPORT_SYMBOL vmlinux 0x6fbf5e9a filemap_dirty_folio +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fcc8e91 migrate_vma_pages +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x6fdf1463 vga_put +EXPORT_SYMBOL vmlinux 0x6ff1883c inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0x6fff2d5f fwnode_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x7023bea8 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x702946da ucs2_strlen +EXPORT_SYMBOL vmlinux 0x703a9ea0 flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0x703f2de1 ipv4_dst_check +EXPORT_SYMBOL vmlinux 0x7040fff9 rtc_lock +EXPORT_SYMBOL vmlinux 0x70443dc4 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x70512b16 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x70530ed1 xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x705b7a80 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x7069905c vm_map_ram +EXPORT_SYMBOL vmlinux 0x706a2d0f copy_page_from_iter_atomic +EXPORT_SYMBOL vmlinux 0x707f96cb input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x70994806 unix_get_socket +EXPORT_SYMBOL vmlinux 0x70acff58 __SCK__tp_func_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0x70ad75fb radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x70bd21f0 generic_file_open +EXPORT_SYMBOL vmlinux 0x70c82c76 seq_open_private +EXPORT_SYMBOL vmlinux 0x70c82cd9 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x70d9dd2b set_pages_array_uc +EXPORT_SYMBOL vmlinux 0x710ee3ea param_ops_ulong +EXPORT_SYMBOL vmlinux 0x7111c0dc flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x7132f69f nvdimm_bus_lock +EXPORT_SYMBOL vmlinux 0x713426fe tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x7145dbe9 fixed_size_llseek +EXPORT_SYMBOL vmlinux 0x715a5ed0 vprintk +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71720e69 put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0x718a4693 __SCT__tp_func_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x71954020 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71abbce6 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x71b27294 mdiobus_is_registered_device +EXPORT_SYMBOL vmlinux 0x71c6bde2 dec_node_page_state +EXPORT_SYMBOL vmlinux 0x71cbff7c backlight_device_set_brightness +EXPORT_SYMBOL vmlinux 0x71dfc095 acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x71e965fc i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x71f78c03 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x71f7e742 mr_table_dump +EXPORT_SYMBOL vmlinux 0x720a27a7 __register_blkdev +EXPORT_SYMBOL vmlinux 0x72185e90 pci_write_config_byte +EXPORT_SYMBOL vmlinux 0x721e6f22 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x72224a1f generic_file_fsync +EXPORT_SYMBOL vmlinux 0x7224b7e2 fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0x722ec7d3 dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0x7232771e skb_pull +EXPORT_SYMBOL vmlinux 0x7240b2f5 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x7241fc2d devm_backlight_device_register +EXPORT_SYMBOL vmlinux 0x7259cfae pcim_set_mwi +EXPORT_SYMBOL vmlinux 0x725aebfb dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0x726bc3c7 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x72763562 d_tmpfile +EXPORT_SYMBOL vmlinux 0x727675b1 elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0x727b7a93 is_nvdimm_bus_locked +EXPORT_SYMBOL vmlinux 0x7296ad49 inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0x72a0c2fc ipv4_mtu +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72d79d83 pgdir_shift +EXPORT_SYMBOL vmlinux 0x72e5b0c0 d_rehash +EXPORT_SYMBOL vmlinux 0x72e91c90 submit_bio_noacct +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72ed592e cros_ec_cmd_xfer +EXPORT_SYMBOL vmlinux 0x72effefc configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0x72f14ff7 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0x72f6cde6 fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0x72f91143 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x72f944de udp_set_csum +EXPORT_SYMBOL vmlinux 0x72f9ce7f skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x73027f13 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x731a2301 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x731c4a9c dma_fence_signal +EXPORT_SYMBOL vmlinux 0x73228cc1 config_item_init_type_name +EXPORT_SYMBOL vmlinux 0x732dd326 groups_free +EXPORT_SYMBOL vmlinux 0x735a0bd5 native_io_delay +EXPORT_SYMBOL vmlinux 0x735e6a81 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x737c8739 ipv6_select_ident +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x73819e6b nf_reinject +EXPORT_SYMBOL vmlinux 0x738a68ac fb_class +EXPORT_SYMBOL vmlinux 0x738b27f1 deactivate_super +EXPORT_SYMBOL vmlinux 0x7396e07b tcf_exts_change +EXPORT_SYMBOL vmlinux 0x739d63b3 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73dd54eb irq_fpu_usable +EXPORT_SYMBOL vmlinux 0x73ed4860 setattr_copy +EXPORT_SYMBOL vmlinux 0x73f68a4d remove_proc_subtree +EXPORT_SYMBOL vmlinux 0x7409d17c migrate_page_copy +EXPORT_SYMBOL vmlinux 0x740a1b95 reserve_evntsel_nmi +EXPORT_SYMBOL vmlinux 0x7410aba2 strreplace +EXPORT_SYMBOL vmlinux 0x7412ed5b kvfree_sensitive +EXPORT_SYMBOL vmlinux 0x7413793a EISA_bus +EXPORT_SYMBOL vmlinux 0x742578a5 wait_for_random_bytes +EXPORT_SYMBOL vmlinux 0x7429e20c kstrtos8 +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x74754435 acpi_bus_generate_netlink_event +EXPORT_SYMBOL vmlinux 0x7483dc59 pci_dev_present +EXPORT_SYMBOL vmlinux 0x7492f2a4 devfreq_monitor_resume +EXPORT_SYMBOL vmlinux 0x74996aa5 mroute6_is_socket +EXPORT_SYMBOL vmlinux 0x74b8e674 slhc_toss +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74c9be1e ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0x74d05bf0 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74f728d0 folio_end_writeback +EXPORT_SYMBOL vmlinux 0x7513e5e1 simple_transaction_get +EXPORT_SYMBOL vmlinux 0x7514d8d4 register_netdevice +EXPORT_SYMBOL vmlinux 0x752f71ee cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x7530bb0c __SCT__tp_func_write_msr +EXPORT_SYMBOL vmlinux 0x7538b132 agp_off +EXPORT_SYMBOL vmlinux 0x754d539c strlen +EXPORT_SYMBOL vmlinux 0x755f4ba3 blake2s_compress_generic +EXPORT_SYMBOL vmlinux 0x75871f5e acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x75926683 super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0x75943e25 i8253_lock +EXPORT_SYMBOL vmlinux 0x75a03544 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x75bcc475 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75c4d04d mmc_of_parse_clk_phase +EXPORT_SYMBOL vmlinux 0x75c54423 mmc_can_discard +EXPORT_SYMBOL vmlinux 0x75d0ddbf device_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x75d0deb9 nsecs_to_jiffies64 +EXPORT_SYMBOL vmlinux 0x75d1df90 __sock_create +EXPORT_SYMBOL vmlinux 0x75d499dd vmcore_add_device_dump +EXPORT_SYMBOL vmlinux 0x75de8438 sk_wait_data +EXPORT_SYMBOL vmlinux 0x75e2f143 scsi_device_put +EXPORT_SYMBOL vmlinux 0x75f43ff6 acpi_pm_device_sleep_state +EXPORT_SYMBOL vmlinux 0x75f9aece input_unregister_handle +EXPORT_SYMBOL vmlinux 0x7602107e scmd_printk +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x7611cd5a netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0x76160030 __SCK__tp_func_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x7618af39 hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0x761f4219 iterate_dir +EXPORT_SYMBOL vmlinux 0x7624249e dim_park_tired +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x765860af skb_seq_read +EXPORT_SYMBOL vmlinux 0x765e444e tcp_ioctl +EXPORT_SYMBOL vmlinux 0x765feb01 serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0x765ff474 crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x766435ea devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x766bd15e lookup_one_len +EXPORT_SYMBOL vmlinux 0x767dce4b acpi_disable_all_gpes +EXPORT_SYMBOL vmlinux 0x767ddb02 set_memory_wc +EXPORT_SYMBOL vmlinux 0x7682ba4e __copy_overflow +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x76bd693b pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0x76c2aa3a tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76e62758 amd_iommu_domain_enable_v2 +EXPORT_SYMBOL vmlinux 0x76e9d0cd md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x76f27d82 dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0x76fb08a7 amd_iommu_unregister_ppr_notifier +EXPORT_SYMBOL vmlinux 0x76fb595a input_setup_polling +EXPORT_SYMBOL vmlinux 0x76fb6d30 jbd2_journal_grab_journal_head +EXPORT_SYMBOL vmlinux 0x772b3eea d_prune_aliases +EXPORT_SYMBOL vmlinux 0x772f7664 d_set_fallthru +EXPORT_SYMBOL vmlinux 0x7732159c free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x77358855 iomem_resource +EXPORT_SYMBOL vmlinux 0x773fa409 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x77456e0a acpi_root_dir +EXPORT_SYMBOL vmlinux 0x774820ba __lock_sock_fast +EXPORT_SYMBOL vmlinux 0x776b5eec netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0x777a47ff override_creds +EXPORT_SYMBOL vmlinux 0x779b0c64 netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0x77a08d0d udplite_prot +EXPORT_SYMBOL vmlinux 0x77a615ba vm_node_stat +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77e1433f key_task_permission +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x77f69f05 nvdimm_namespace_capacity +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x780fdfd1 intel_enable_gtt +EXPORT_SYMBOL vmlinux 0x7816f13a get_tree_single +EXPORT_SYMBOL vmlinux 0x7839e41a mmc_gpiod_request_cd_irq +EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x7849af1b __icmp_send +EXPORT_SYMBOL vmlinux 0x7869ae12 tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0x786b25f3 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x7870d64f devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x787a1c49 ilookup +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x78816691 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x788add9e dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78b119a3 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x78b887ed vsprintf +EXPORT_SYMBOL vmlinux 0x78bbd6ed backlight_device_register +EXPORT_SYMBOL vmlinux 0x78bed410 padata_free +EXPORT_SYMBOL vmlinux 0x78c6d6df padata_alloc_shell +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78e943b2 register_qdisc +EXPORT_SYMBOL vmlinux 0x78ea00f4 netdev_info +EXPORT_SYMBOL vmlinux 0x79100414 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x7933023e mdio_device_free +EXPORT_SYMBOL vmlinux 0x7948229e __breadahead_gfp +EXPORT_SYMBOL vmlinux 0x79688c59 netdev_offload_xstats_get +EXPORT_SYMBOL vmlinux 0x7973354d ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0x7984eefc key_update +EXPORT_SYMBOL vmlinux 0x79a112d6 dev_trans_start +EXPORT_SYMBOL vmlinux 0x79a33f85 vme_get_size +EXPORT_SYMBOL vmlinux 0x79c72595 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x79da2d01 netlink_ack +EXPORT_SYMBOL vmlinux 0x79df9633 ioremap_encrypted +EXPORT_SYMBOL vmlinux 0x79e79537 mipi_dsi_host_unregister +EXPORT_SYMBOL vmlinux 0x79ecad0a mipi_dsi_dcs_set_display_on +EXPORT_SYMBOL vmlinux 0x79f0e3c3 netif_napi_add_weight +EXPORT_SYMBOL vmlinux 0x79f6df64 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a11d633 flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0x7a17ab01 md_handle_request +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a2af7b4 cpu_number +EXPORT_SYMBOL vmlinux 0x7a2ff57e security_current_getsecid_subj +EXPORT_SYMBOL vmlinux 0x7a3f1b9c md_cluster_ops +EXPORT_SYMBOL vmlinux 0x7a50436a iunique +EXPORT_SYMBOL vmlinux 0x7a53a06d flow_indr_dev_exists +EXPORT_SYMBOL vmlinux 0x7a5404e6 pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0x7a5775ac __d_lookup_done +EXPORT_SYMBOL vmlinux 0x7a57fff6 fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0x7a642456 simple_setattr +EXPORT_SYMBOL vmlinux 0x7a67d970 submit_bh +EXPORT_SYMBOL vmlinux 0x7a6c9725 mipi_dsi_driver_unregister +EXPORT_SYMBOL vmlinux 0x7a88da87 iosf_mbi_write +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7a9f54ef dev_uc_init +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt +EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7ae1f7cf netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0x7ae80fdd mfd_cell_enable +EXPORT_SYMBOL vmlinux 0x7aff77a3 __cpu_present_mask +EXPORT_SYMBOL vmlinux 0x7affe5a4 ppp_channel_index +EXPORT_SYMBOL vmlinux 0x7b02ab5a tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x7b321fce __SCK__tp_func_read_msr +EXPORT_SYMBOL vmlinux 0x7b37d4a7 _find_first_zero_bit +EXPORT_SYMBOL vmlinux 0x7b40d8ad pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x7b4da6ff __init_rwsem +EXPORT_SYMBOL vmlinux 0x7b55d993 tso_start +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b7ab2a7 phy_stop +EXPORT_SYMBOL vmlinux 0x7b7bbd04 vme_dma_list_free +EXPORT_SYMBOL vmlinux 0x7b81510d __serio_register_driver +EXPORT_SYMBOL vmlinux 0x7b82b9a1 idr_replace +EXPORT_SYMBOL vmlinux 0x7b92728f acpi_register_debugger +EXPORT_SYMBOL vmlinux 0x7bb50b88 acpi_write +EXPORT_SYMBOL vmlinux 0x7bbccd05 nr_node_ids +EXPORT_SYMBOL vmlinux 0x7bd36694 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x7be333fb nexthop_res_grp_activity_update +EXPORT_SYMBOL vmlinux 0x7bf1068b sock_kmalloc +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c17c11e simple_rmdir +EXPORT_SYMBOL vmlinux 0x7c3b6c59 kobject_get +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c6b41a9 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x7c981976 register_filesystem +EXPORT_SYMBOL vmlinux 0x7c9ca58f __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x7ca8ba25 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x7cb14959 acpi_mdiobus_register +EXPORT_SYMBOL vmlinux 0x7cb87354 ip_local_deliver +EXPORT_SYMBOL vmlinux 0x7cc59d20 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x7cc83fd7 dev_mc_init +EXPORT_SYMBOL vmlinux 0x7cc8e6d0 simple_dir_operations +EXPORT_SYMBOL vmlinux 0x7cd7844a send_sig_info +EXPORT_SYMBOL vmlinux 0x7cd8d75e page_offset_base +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +EXPORT_SYMBOL vmlinux 0x7ce58981 kvrealloc +EXPORT_SYMBOL vmlinux 0x7cf35220 vme_master_free +EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation +EXPORT_SYMBOL vmlinux 0x7d03f169 blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0x7d0ba682 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d12d76d acpi_get_parent +EXPORT_SYMBOL vmlinux 0x7d1e2b81 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x7d43a43f dst_release_immediate +EXPORT_SYMBOL vmlinux 0x7d47f895 agp_copy_info +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d5e1008 __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x7d628444 memcpy_fromio +EXPORT_SYMBOL vmlinux 0x7d74d522 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x7d79131c pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x7d7a9ccb vc_cons +EXPORT_SYMBOL vmlinux 0x7da51349 genphy_read_abilities +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7dc5ffa7 tc_skb_ext_tc_disable +EXPORT_SYMBOL vmlinux 0x7dcf4135 __xa_insert +EXPORT_SYMBOL vmlinux 0x7dd554fc unregister_kmmio_probe +EXPORT_SYMBOL vmlinux 0x7ddabbeb devm_backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7e2c115d discard_new_inode +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e393cee dma_supported +EXPORT_SYMBOL vmlinux 0x7e7bcf26 acpi_map_cpu +EXPORT_SYMBOL vmlinux 0x7e87e1c8 udp_gro_complete +EXPORT_SYMBOL vmlinux 0x7e8b463d write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x7ea1ac02 dma_map_resource +EXPORT_SYMBOL vmlinux 0x7eaf57b3 tty_register_device +EXPORT_SYMBOL vmlinux 0x7eb31cdb fqdir_exit +EXPORT_SYMBOL vmlinux 0x7ebd47f2 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x7ee8d7a1 seq_write +EXPORT_SYMBOL vmlinux 0x7ef6a314 dquot_destroy +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f07418b __SCT__tp_func_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f28c823 ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0x7f2b1331 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x7f480c83 tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0x7f48b603 config_item_set_name +EXPORT_SYMBOL vmlinux 0x7f4e8716 seq_escape_mem +EXPORT_SYMBOL vmlinux 0x7f52071a net_dim +EXPORT_SYMBOL vmlinux 0x7f5b4fe4 sg_free_table +EXPORT_SYMBOL vmlinux 0x7f6751b4 folio_redirty_for_writepage +EXPORT_SYMBOL vmlinux 0x7f7001c6 vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0x7f775920 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0x7f792eab elevator_alloc +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7fc23c1f __mmap_lock_do_trace_released +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x7fe90ee2 pci_set_power_state +EXPORT_SYMBOL vmlinux 0x7ff76d3d tty_do_resize +EXPORT_SYMBOL vmlinux 0x7ffb3c34 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x80084225 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x80215483 inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0x8037218f genphy_config_eee_advert +EXPORT_SYMBOL vmlinux 0x803ddbb6 __posix_acl_create +EXPORT_SYMBOL vmlinux 0x804353fe tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x804af87c wrmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x809712ff hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x80a717a8 __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x80ca5026 _bin2bcd +EXPORT_SYMBOL vmlinux 0x80cf4eb6 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x80d68d3e fb_register_client +EXPORT_SYMBOL vmlinux 0x80e36de6 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x80e5f86f fscrypt_fname_alloc_buffer +EXPORT_SYMBOL vmlinux 0x810bef7e sg_free_append_table +EXPORT_SYMBOL vmlinux 0x8112b3d2 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x81140888 netlink_net_capable +EXPORT_SYMBOL vmlinux 0x8115f2e6 posix_test_lock +EXPORT_SYMBOL vmlinux 0x81188c30 match_string +EXPORT_SYMBOL vmlinux 0x8119fca8 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x8122a247 fc_mount +EXPORT_SYMBOL vmlinux 0x8126a074 amd_iommu_flush_tlb +EXPORT_SYMBOL vmlinux 0x813412c1 netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0x814d2da5 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x8161d1a5 starget_for_each_device +EXPORT_SYMBOL vmlinux 0x816347c6 agp_device_command +EXPORT_SYMBOL vmlinux 0x81696f38 unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x81739940 d_obtain_alias +EXPORT_SYMBOL vmlinux 0x818416e1 scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x8187162c simple_transaction_set +EXPORT_SYMBOL vmlinux 0x819033aa tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x81951c5a __do_once_done +EXPORT_SYMBOL vmlinux 0x81973cea current_in_userns +EXPORT_SYMBOL vmlinux 0x81a1dd36 genphy_aneg_done +EXPORT_SYMBOL vmlinux 0x81a1eb59 utf8_unload +EXPORT_SYMBOL vmlinux 0x81ac5e33 trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0x81b3ac5d jbd2_fc_release_bufs +EXPORT_SYMBOL vmlinux 0x81b3b01d devm_devfreq_add_device +EXPORT_SYMBOL vmlinux 0x81baaa49 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x81c527b8 ipmi_platform_add +EXPORT_SYMBOL vmlinux 0x81ce9941 intel_scu_ipc_dev_writev +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e605b3 vme_dma_request +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x820ddf02 eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0x820f8b45 pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0x8216945c agp_put_bridge +EXPORT_SYMBOL vmlinux 0x8228add7 page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0x822ea237 drop_super +EXPORT_SYMBOL vmlinux 0x82355e32 cros_ec_get_host_event +EXPORT_SYMBOL vmlinux 0x823731bd pci_write_vpd_any +EXPORT_SYMBOL vmlinux 0x823773ec linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x823c09e6 blk_post_runtime_resume +EXPORT_SYMBOL vmlinux 0x823c19ea iosf_mbi_unregister_pmic_bus_access_notifier_unlocked +EXPORT_SYMBOL vmlinux 0x825b8ecc skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0x8263a6d9 proc_douintvec +EXPORT_SYMBOL vmlinux 0x827c149b ip_getsockopt +EXPORT_SYMBOL vmlinux 0x829c4964 inode_init_owner +EXPORT_SYMBOL vmlinux 0x829cdb04 inet_listen +EXPORT_SYMBOL vmlinux 0x82a41412 amd_iommu_device_info +EXPORT_SYMBOL vmlinux 0x82a47655 gpiochip_irq_reqres +EXPORT_SYMBOL vmlinux 0x82b6c2dd folio_clear_dirty_for_io +EXPORT_SYMBOL vmlinux 0x82bcd9b1 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x82c87ad5 nr_online_nodes +EXPORT_SYMBOL vmlinux 0x82eae488 scsi_host_busy +EXPORT_SYMBOL vmlinux 0x8305ea48 tcp_seq_start +EXPORT_SYMBOL vmlinux 0x8318ee64 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x8339dbe7 kernel_getpeername +EXPORT_SYMBOL vmlinux 0x8348c433 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x83494014 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x8358fd29 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x836f8e9c devfreq_update_status +EXPORT_SYMBOL vmlinux 0x837b7b09 __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0x838d2bc8 siphash_3u32 +EXPORT_SYMBOL vmlinux 0x838de657 flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0x83961337 mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0x83a5e539 kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0x83a957bb scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x83b956bf configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0x83e3f948 __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x840342c6 sgl_free +EXPORT_SYMBOL vmlinux 0x8405d3b0 eth_header_cache +EXPORT_SYMBOL vmlinux 0x8414cc18 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x8425bca6 inet_getname +EXPORT_SYMBOL vmlinux 0x8427cc7b _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0x842c8e9d ioread16 +EXPORT_SYMBOL vmlinux 0x842ed03a __alloc_pages +EXPORT_SYMBOL vmlinux 0x843963fa pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x844a4469 pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x8455e3a7 dma_fence_signal_timestamp_locked +EXPORT_SYMBOL vmlinux 0x84823cf3 nla_strscpy +EXPORT_SYMBOL vmlinux 0x84884dee rt6_lookup +EXPORT_SYMBOL vmlinux 0x848d372e iowrite8 +EXPORT_SYMBOL vmlinux 0x848fcced rproc_add +EXPORT_SYMBOL vmlinux 0x849250f5 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x84a0ca4d bitmap_zalloc_node +EXPORT_SYMBOL vmlinux 0x84c03e9a rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0x84c1ad08 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x84c1c552 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x84c4040c security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0x84f3d308 nvdimm_bus_unlock +EXPORT_SYMBOL vmlinux 0x84fd8e21 __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0x850a72ac module_refcount +EXPORT_SYMBOL vmlinux 0x8518a4a6 _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x851da4b6 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x85224c6f generic_permission +EXPORT_SYMBOL vmlinux 0x8522d6bc strncpy_from_user +EXPORT_SYMBOL vmlinux 0x8526bc13 unix_detach_fds +EXPORT_SYMBOL vmlinux 0x853de7e4 open_with_fake_path +EXPORT_SYMBOL vmlinux 0x8540a637 inet_sendmsg +EXPORT_SYMBOL vmlinux 0x85500b2c seq_hex_dump +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x85697787 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x857ff196 try_to_release_page +EXPORT_SYMBOL vmlinux 0x8591d7d5 ledtrig_mtd_activity +EXPORT_SYMBOL vmlinux 0x859cf47f phy_ethtool_get_sset_count +EXPORT_SYMBOL vmlinux 0x85a66478 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85b74808 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x85bd1608 __request_region +EXPORT_SYMBOL vmlinux 0x85bfc228 __blk_mq_alloc_disk +EXPORT_SYMBOL vmlinux 0x85c00555 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x85c5eb27 __SetPageMovable +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85dfb2e5 devm_memremap +EXPORT_SYMBOL vmlinux 0x85ececc2 file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0x85eea75f wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x85efc7e0 zero_pfn +EXPORT_SYMBOL vmlinux 0x85f02131 inode_add_bytes +EXPORT_SYMBOL vmlinux 0x861c10e0 inet_csk_accept +EXPORT_SYMBOL vmlinux 0x862c8035 bitmap_alloc_node +EXPORT_SYMBOL vmlinux 0x86318f0f i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x863a276a color_table +EXPORT_SYMBOL vmlinux 0x86402471 set_page_dirty +EXPORT_SYMBOL vmlinux 0x865686ac devm_kvasprintf +EXPORT_SYMBOL vmlinux 0x866a62b2 gnet_stats_basic_sync_init +EXPORT_SYMBOL vmlinux 0x86728e49 get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0x86827300 find_inode_rcu +EXPORT_SYMBOL vmlinux 0x86863497 pagecache_get_page +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86918032 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x869790c0 param_get_short +EXPORT_SYMBOL vmlinux 0x86a970dc convert_art_ns_to_tsc +EXPORT_SYMBOL vmlinux 0x86c38d44 bio_chain +EXPORT_SYMBOL vmlinux 0x86c7272b iosf_mbi_read +EXPORT_SYMBOL vmlinux 0x86cfc727 nexthop_set_hw_flags +EXPORT_SYMBOL vmlinux 0x86d52ba5 lookup_constant +EXPORT_SYMBOL vmlinux 0x86d71404 get_agp_version +EXPORT_SYMBOL vmlinux 0x86dd708d tc_skb_ext_tc_enable +EXPORT_SYMBOL vmlinux 0x86f27420 iosf_mbi_block_punit_i2c_access +EXPORT_SYMBOL vmlinux 0x86f7c2aa genphy_c37_config_aneg +EXPORT_SYMBOL vmlinux 0x86fa8360 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x86fb4536 cpumask_any_and_distribute +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x8737732a jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0x87539308 skb_clone_sk +EXPORT_SYMBOL vmlinux 0x875d0652 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x8761c87b rps_needed +EXPORT_SYMBOL vmlinux 0x87706d4e __put_user_nocheck_8 +EXPORT_SYMBOL vmlinux 0x8774dcc5 is_free_buddy_page +EXPORT_SYMBOL vmlinux 0x87761528 __traceiter_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x878bd30f flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x878e29d2 fwnode_irq_get_byname +EXPORT_SYMBOL vmlinux 0x87a21cb3 __ubsan_handle_out_of_bounds +EXPORT_SYMBOL vmlinux 0x87a71156 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x87a91632 vme_irq_request +EXPORT_SYMBOL vmlinux 0x87b8798d sg_next +EXPORT_SYMBOL vmlinux 0x87b8b6a8 vga_switcheroo_get_client_state +EXPORT_SYMBOL vmlinux 0x87c22d74 tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0x87d39008 touch_atime +EXPORT_SYMBOL vmlinux 0x87f1e156 max8998_update_reg +EXPORT_SYMBOL vmlinux 0x87f381d9 __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0x8810754a _find_first_bit +EXPORT_SYMBOL vmlinux 0x8814c385 rtnl_notify +EXPORT_SYMBOL vmlinux 0x881c4413 gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0x88211097 init_task +EXPORT_SYMBOL vmlinux 0x8829dbe6 __tracepoint_rdpmc +EXPORT_SYMBOL vmlinux 0x88767015 mdio_device_register +EXPORT_SYMBOL vmlinux 0x887f33dd sk_free +EXPORT_SYMBOL vmlinux 0x888144d0 nf_ct_ext_add +EXPORT_SYMBOL vmlinux 0x88822d38 unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x8888f1fe xxh32 +EXPORT_SYMBOL vmlinux 0x889b1370 _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x88b2cba7 generic_write_end +EXPORT_SYMBOL vmlinux 0x88b507f0 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x88bc9067 simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x88ccaa52 __block_write_full_page +EXPORT_SYMBOL vmlinux 0x88ccf8c3 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0x88db9f48 __check_object_size +EXPORT_SYMBOL vmlinux 0x88e1d0f0 page_frag_free +EXPORT_SYMBOL vmlinux 0x88ef0a36 input_allocate_device +EXPORT_SYMBOL vmlinux 0x8920a3db pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0x89434b4b radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x897085eb blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0x8970e973 blkdev_put +EXPORT_SYMBOL vmlinux 0x89742709 rproc_detach +EXPORT_SYMBOL vmlinux 0x89940875 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x89a0cd52 crc32c_impl +EXPORT_SYMBOL vmlinux 0x89af5d5a netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0x89b13ccb tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x89b8fcd9 key_type_keyring +EXPORT_SYMBOL vmlinux 0x89d99ee1 __nf_ct_ext_find +EXPORT_SYMBOL vmlinux 0x89dd0216 agp_collect_device_status +EXPORT_SYMBOL vmlinux 0x89e08362 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x89e424a3 clk_bulk_get +EXPORT_SYMBOL vmlinux 0x89f69ae6 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x89fd1684 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x8a03b2a8 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x8a0dc01d xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x8a121c52 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x8a12a73d pcie_ptm_enabled +EXPORT_SYMBOL vmlinux 0x8a1ec2a9 agp_bridge +EXPORT_SYMBOL vmlinux 0x8a2aae56 scsi_device_resume +EXPORT_SYMBOL vmlinux 0x8a35b432 sme_me_mask +EXPORT_SYMBOL vmlinux 0x8a47043d LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0x8a48850b inet_frag_kill +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a497c6e watchdog_register_governor +EXPORT_SYMBOL vmlinux 0x8a4ceac0 pci_release_resource +EXPORT_SYMBOL vmlinux 0x8a58300a reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0x8a6c7139 acpi_mask_gpe +EXPORT_SYMBOL vmlinux 0x8a7094ba vm_brk_flags +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a7e0669 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0x8a834679 devm_free_irq +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aa09c36 tcp_inbound_md5_hash +EXPORT_SYMBOL vmlinux 0x8aa1f522 locks_init_lock +EXPORT_SYMBOL vmlinux 0x8aba5a16 mr_table_alloc +EXPORT_SYMBOL vmlinux 0x8ac3334b net_dim_get_def_rx_moderation +EXPORT_SYMBOL vmlinux 0x8ac743de sg_copy_buffer +EXPORT_SYMBOL vmlinux 0x8ad758bf tcp_shutdown +EXPORT_SYMBOL vmlinux 0x8b0088d1 LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x8b05e341 kern_path +EXPORT_SYMBOL vmlinux 0x8b094a86 blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b7fa252 locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0x8b8059bd in_group_p +EXPORT_SYMBOL vmlinux 0x8b910be2 errseq_sample +EXPORT_SYMBOL vmlinux 0x8b92c501 pnp_device_attach +EXPORT_SYMBOL vmlinux 0x8b959013 pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0x8b966b63 sn_rtc_cycles_per_second +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8ba73545 scsi_remove_host +EXPORT_SYMBOL vmlinux 0x8bac7f95 da903x_query_status +EXPORT_SYMBOL vmlinux 0x8bc8909d pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x8bcc477d cdev_set_parent +EXPORT_SYMBOL vmlinux 0x8bd577d0 acpi_ut_exit +EXPORT_SYMBOL vmlinux 0x8bdfc47c __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x8bf71ed2 neigh_app_ns +EXPORT_SYMBOL vmlinux 0x8c08139d tcp_release_cb +EXPORT_SYMBOL vmlinux 0x8c0c5f89 page_pool_put_defragged_page +EXPORT_SYMBOL vmlinux 0x8c1bc7e4 agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0x8c26d495 prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x8c307db3 skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0x8c30bf67 zstd_dctx_workspace_bound +EXPORT_SYMBOL vmlinux 0x8c35a089 skb_ensure_writable +EXPORT_SYMBOL vmlinux 0x8c36cd28 _dev_err +EXPORT_SYMBOL vmlinux 0x8c3aeb04 phy_disconnect +EXPORT_SYMBOL vmlinux 0x8c5c1839 pci_get_class +EXPORT_SYMBOL vmlinux 0x8c6037ff netif_tx_lock +EXPORT_SYMBOL vmlinux 0x8c683fcd posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x8c6aafb4 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x8c7207b5 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x8c76ef99 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x8c8569cb kstrtoint +EXPORT_SYMBOL vmlinux 0x8c8d7bf4 xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0x8c9e338f acpi_bios_error +EXPORT_SYMBOL vmlinux 0x8ca7a32d bio_init +EXPORT_SYMBOL vmlinux 0x8caf9305 uuid_is_valid +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8cd6ea8a dev_driver_string +EXPORT_SYMBOL vmlinux 0x8cda8029 xen_clear_irq_pending +EXPORT_SYMBOL vmlinux 0x8ce1f3a7 eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0x8cf10e9b phy_config_aneg +EXPORT_SYMBOL vmlinux 0x8cf30c63 unlock_page +EXPORT_SYMBOL vmlinux 0x8d1f9999 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x8d217b5e mdio_find_bus +EXPORT_SYMBOL vmlinux 0x8d2ad70a find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x8d3b0939 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x8d43f3ca tcp_peek_len +EXPORT_SYMBOL vmlinux 0x8d4ae1e7 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x8d55bb8a qid_eq +EXPORT_SYMBOL vmlinux 0x8d60652c __SCT__tp_func_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x8d618351 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x8d6aff89 __put_user_nocheck_4 +EXPORT_SYMBOL vmlinux 0x8d73278e hex_asc_upper +EXPORT_SYMBOL vmlinux 0x8d8286d7 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x8d8fda8c tcp_time_wait +EXPORT_SYMBOL vmlinux 0x8d9ca0e6 dma_fence_enable_sw_signaling +EXPORT_SYMBOL vmlinux 0x8d9f2d28 _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0x8db22efe acpi_setup_gpe_for_wake +EXPORT_SYMBOL vmlinux 0x8db2e8ce configfs_undepend_item +EXPORT_SYMBOL vmlinux 0x8dc1ebfa vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x8dc3f373 inet_select_addr +EXPORT_SYMBOL vmlinux 0x8dc690d7 tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0x8dcdb5d5 inode_to_bdi +EXPORT_SYMBOL vmlinux 0x8dd6c17a nf_log_unregister +EXPORT_SYMBOL vmlinux 0x8ddd8aad schedule_timeout +EXPORT_SYMBOL vmlinux 0x8de1ab9e phy_set_asym_pause +EXPORT_SYMBOL vmlinux 0x8dee722d _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0x8df92f66 memchr_inv +EXPORT_SYMBOL vmlinux 0x8df9dd10 guid_null +EXPORT_SYMBOL vmlinux 0x8e17b3ae idr_destroy +EXPORT_SYMBOL vmlinux 0x8e21c9a1 dma_fence_add_callback +EXPORT_SYMBOL vmlinux 0x8e2fccdc iov_iter_kvec +EXPORT_SYMBOL vmlinux 0x8e3aeea0 dst_discard_out +EXPORT_SYMBOL vmlinux 0x8e3e0f7d fault_in_readable +EXPORT_SYMBOL vmlinux 0x8e663d0f zalloc_cpumask_var_node +EXPORT_SYMBOL vmlinux 0x8e93bd24 security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x8ea05ce1 eth_gro_receive +EXPORT_SYMBOL vmlinux 0x8ead0272 alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0x8ead93f1 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x8eadf3d2 folio_migrate_mapping +EXPORT_SYMBOL vmlinux 0x8eaf2a5f vga_switcheroo_unregister_handler +EXPORT_SYMBOL vmlinux 0x8ebb7862 dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0x8ed58dcd sget +EXPORT_SYMBOL vmlinux 0x8f01afd6 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x8f0628c4 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x8f09dfcf default_llseek +EXPORT_SYMBOL vmlinux 0x8f0ab591 __traceiter_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x8f2703b7 wbinvd_on_all_cpus +EXPORT_SYMBOL vmlinux 0x8f3b11a7 vfs_iter_read +EXPORT_SYMBOL vmlinux 0x8f474512 bdevname +EXPORT_SYMBOL vmlinux 0x8f5103c8 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x8f5416b5 devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0x8f5487de param_set_bint +EXPORT_SYMBOL vmlinux 0x8f6adcf4 netlink_capable +EXPORT_SYMBOL vmlinux 0x8f74cf13 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0x8f7ac379 dqput +EXPORT_SYMBOL vmlinux 0x8f80bf11 acpi_install_gpe_raw_handler +EXPORT_SYMBOL vmlinux 0x8f90c807 add_to_pipe +EXPORT_SYMBOL vmlinux 0x8f969230 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0x8f996a30 ethtool_convert_legacy_u32_to_link_mode +EXPORT_SYMBOL vmlinux 0x8f9c199c __get_user_2 +EXPORT_SYMBOL vmlinux 0x8fa2301b security_path_unlink +EXPORT_SYMBOL vmlinux 0x8fa25c24 xa_find +EXPORT_SYMBOL vmlinux 0x8fa3dfec rt_dst_alloc +EXPORT_SYMBOL vmlinux 0x8fae275f mpage_readahead +EXPORT_SYMBOL vmlinux 0x8fbc9d7e from_kuid +EXPORT_SYMBOL vmlinux 0x8fd2645a d_instantiate_anon +EXPORT_SYMBOL vmlinux 0x8fd5bae3 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x8fd6478e devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x8fdb0752 abort_creds +EXPORT_SYMBOL vmlinux 0x8ff50740 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x8ff89ed0 seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x90006be6 dm_kcopyd_client_flush +EXPORT_SYMBOL vmlinux 0x901d65a1 blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0x9020d49d input_register_device +EXPORT_SYMBOL vmlinux 0x902d8722 vme_slave_get +EXPORT_SYMBOL vmlinux 0x9034a696 mempool_destroy +EXPORT_SYMBOL vmlinux 0x904c6399 phy_free_interrupt +EXPORT_SYMBOL vmlinux 0x905695ab sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x90576ec4 vmemdup_user +EXPORT_SYMBOL vmlinux 0x905affd4 neigh_direct_output +EXPORT_SYMBOL vmlinux 0x905d3e5d inet_stream_connect +EXPORT_SYMBOL vmlinux 0x907ea00e set_security_override +EXPORT_SYMBOL vmlinux 0x90b085af eth_gro_complete +EXPORT_SYMBOL vmlinux 0x90ba912b __nla_put_64bit +EXPORT_SYMBOL vmlinux 0x90c8f335 pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0x90d08149 unpin_user_page_range_dirty_lock +EXPORT_SYMBOL vmlinux 0x90d27a6b i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x90d9f6cb param_ops_string +EXPORT_SYMBOL vmlinux 0x90e273e2 cred_fscmp +EXPORT_SYMBOL vmlinux 0x91006e49 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x9114b616 __xa_alloc +EXPORT_SYMBOL vmlinux 0x911b09ab agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0x914eae66 param_set_hexint +EXPORT_SYMBOL vmlinux 0x91607d95 set_memory_wb +EXPORT_SYMBOL vmlinux 0x91621922 ilookup5 +EXPORT_SYMBOL vmlinux 0x9166fada strncpy +EXPORT_SYMBOL vmlinux 0x9166fc03 __flush_workqueue +EXPORT_SYMBOL vmlinux 0x9176145b acpi_install_global_event_handler +EXPORT_SYMBOL vmlinux 0x919c58f3 __clzsi2 +EXPORT_SYMBOL vmlinux 0x91a10c61 intel_scu_ipc_dev_simple_command +EXPORT_SYMBOL vmlinux 0x91a488ac __netdev_alloc_frag_align +EXPORT_SYMBOL vmlinux 0x91a7b1da qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x91aa8e36 free_buffer_head +EXPORT_SYMBOL vmlinux 0x91b3890a udp_seq_start +EXPORT_SYMBOL vmlinux 0x91cf3f59 fs_param_is_blob +EXPORT_SYMBOL vmlinux 0x91f0249a i8042_install_filter +EXPORT_SYMBOL vmlinux 0x91f22be0 pnp_register_driver +EXPORT_SYMBOL vmlinux 0x91f37d2c pnp_possible_config +EXPORT_SYMBOL vmlinux 0x91f44510 idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x91f4d6a1 security_locked_down +EXPORT_SYMBOL vmlinux 0x91f68ea1 __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x9206b774 dev_uc_sync +EXPORT_SYMBOL vmlinux 0x921ac91d ip_setsockopt +EXPORT_SYMBOL vmlinux 0x921d250d mpage_writepage +EXPORT_SYMBOL vmlinux 0x922d6205 skb_unlink +EXPORT_SYMBOL vmlinux 0x922f45a6 __bitmap_clear +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x9252e259 generic_write_checks +EXPORT_SYMBOL vmlinux 0x92540fbf finish_wait +EXPORT_SYMBOL vmlinux 0x9258c776 hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x92774cf8 __kfence_pool +EXPORT_SYMBOL vmlinux 0x92798fde km_query +EXPORT_SYMBOL vmlinux 0x927ff8bb mmc_gpio_set_cd_wake +EXPORT_SYMBOL vmlinux 0x92856655 generic_fill_statx_attr +EXPORT_SYMBOL vmlinux 0x92897e3d default_idle +EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user +EXPORT_SYMBOL vmlinux 0x92955c61 phy_ethtool_nway_reset +EXPORT_SYMBOL vmlinux 0x92997ed8 _printk +EXPORT_SYMBOL vmlinux 0x92a069ff netdev_notify_peers +EXPORT_SYMBOL vmlinux 0x92a22d9b __post_watch_notification +EXPORT_SYMBOL vmlinux 0x92a51e56 acpi_debug_print_raw +EXPORT_SYMBOL vmlinux 0x92a708af sock_create +EXPORT_SYMBOL vmlinux 0x92b99a33 acpi_put_table +EXPORT_SYMBOL vmlinux 0x92b9b180 slash_name +EXPORT_SYMBOL vmlinux 0x92d5838e request_threaded_irq +EXPORT_SYMBOL vmlinux 0x92e683f5 down_timeout +EXPORT_SYMBOL vmlinux 0x92ec510d jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x92eca781 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL vmlinux 0x93003dc2 neigh_lookup +EXPORT_SYMBOL vmlinux 0x93022ba6 __scsi_format_command +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x9319877d fs_param_is_path +EXPORT_SYMBOL vmlinux 0x932bf8c8 to_nd_pfn +EXPORT_SYMBOL vmlinux 0x932fa5aa pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x9335cb96 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0x9356b0bd md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x935d1a59 ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0x9368e229 vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0x937733e3 qid_valid +EXPORT_SYMBOL vmlinux 0x93a3017b sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93aa8e19 security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0x93b3fc74 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x93d6dd8c complete_all +EXPORT_SYMBOL vmlinux 0x93ee4d15 inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0x93fdec8a iterate_fd +EXPORT_SYMBOL vmlinux 0x93ff83c4 i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL vmlinux 0x9406ee93 cros_ec_cmd_xfer_status +EXPORT_SYMBOL vmlinux 0x94098582 pci_disable_ptm +EXPORT_SYMBOL vmlinux 0x9424b221 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x9428f816 dim_turn +EXPORT_SYMBOL vmlinux 0x943ebe35 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x944375db _totalram_pages +EXPORT_SYMBOL vmlinux 0x94458820 tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0x9448c215 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x944a564d is_console_locked +EXPORT_SYMBOL vmlinux 0x9454f488 mipi_dsi_dcs_write_buffer +EXPORT_SYMBOL vmlinux 0x945d543e mipi_dsi_driver_register_full +EXPORT_SYMBOL vmlinux 0x945d9c14 read_cache_page +EXPORT_SYMBOL vmlinux 0x9472e9f0 dm_io +EXPORT_SYMBOL vmlinux 0x94774d77 open_exec +EXPORT_SYMBOL vmlinux 0x94874a00 unix_destruct_scm +EXPORT_SYMBOL vmlinux 0x9487d3e1 ns_capable +EXPORT_SYMBOL vmlinux 0x9493fc86 node_states +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94a58e51 tty_port_put +EXPORT_SYMBOL vmlinux 0x94b0ab40 dcb_setapp +EXPORT_SYMBOL vmlinux 0x94b1ce0b inet_release +EXPORT_SYMBOL vmlinux 0x94bb7ec3 gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0x94bf03ca utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x94c02254 sock_alloc +EXPORT_SYMBOL vmlinux 0x94da2efe scsi_print_result +EXPORT_SYMBOL vmlinux 0x94e50ad4 call_fib_notifier +EXPORT_SYMBOL vmlinux 0x9507c90f copy_fsxattr_to_user +EXPORT_SYMBOL vmlinux 0x950811ef mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x953af0b0 mmc_gpio_set_cd_isr +EXPORT_SYMBOL vmlinux 0x953d2426 utf8_strncmp +EXPORT_SYMBOL vmlinux 0x954cef6f init_on_alloc +EXPORT_SYMBOL vmlinux 0x954f099c idr_preload +EXPORT_SYMBOL vmlinux 0x956ca4e7 pci_bus_type +EXPORT_SYMBOL vmlinux 0x957513b9 tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0x95828e4a skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0x95a67b07 udp_table +EXPORT_SYMBOL vmlinux 0x95e1790c generic_write_checks_count +EXPORT_SYMBOL vmlinux 0x95e43830 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x95ec2ba1 phy_device_remove +EXPORT_SYMBOL vmlinux 0x95f9886a mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0x96050dc8 __next_node_in +EXPORT_SYMBOL vmlinux 0x960589df blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0x960e9c1b scsi_register_driver +EXPORT_SYMBOL vmlinux 0x96182600 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x9625695d acpi_install_gpe_block +EXPORT_SYMBOL vmlinux 0x962c4977 clkdev_add +EXPORT_SYMBOL vmlinux 0x9633645d tty_devnum +EXPORT_SYMBOL vmlinux 0x9645f1c6 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x964d7713 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x964df6cc fs_param_is_string +EXPORT_SYMBOL vmlinux 0x96505f9f mmc_release_host +EXPORT_SYMBOL vmlinux 0x9668921d __SCK__tp_func_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x96791725 legacy_pic +EXPORT_SYMBOL vmlinux 0x96848186 scnprintf +EXPORT_SYMBOL vmlinux 0x96a1090f crypto_kdf108_ctr_generate +EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96b3833a __devm_mdiobus_register +EXPORT_SYMBOL vmlinux 0x96c17136 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96cd419e generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x96cda56d free_netdev +EXPORT_SYMBOL vmlinux 0x96da6fe1 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x96e5d30f gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0x96eab78b iosf_mbi_modify +EXPORT_SYMBOL vmlinux 0x96f653d3 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x96fab350 dim_park_on_top +EXPORT_SYMBOL vmlinux 0x973fa82e register_acpi_notifier +EXPORT_SYMBOL vmlinux 0x975db024 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x97651e6c vmemmap_base +EXPORT_SYMBOL vmlinux 0x97666625 pci_free_irq +EXPORT_SYMBOL vmlinux 0x97704370 phy_error +EXPORT_SYMBOL vmlinux 0x97930c02 sock_bind_add +EXPORT_SYMBOL vmlinux 0x97934ecf del_timer_sync +EXPORT_SYMBOL vmlinux 0x979afd60 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x97a57333 crc_t10dif_update +EXPORT_SYMBOL vmlinux 0x97a64d3b scm_fp_dup +EXPORT_SYMBOL vmlinux 0x97a9779d mq_change_real_num_tx +EXPORT_SYMBOL vmlinux 0x97adb487 utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x97b808d0 handle_edge_irq +EXPORT_SYMBOL vmlinux 0x97bdfa60 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x97c94e08 request_key_rcu +EXPORT_SYMBOL vmlinux 0x97caecef wireless_send_event +EXPORT_SYMBOL vmlinux 0x97dbdc2f blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x97dbfabb brioctl_set +EXPORT_SYMBOL vmlinux 0x97e2789a commit_creds +EXPORT_SYMBOL vmlinux 0x97f1d598 pci_find_resource +EXPORT_SYMBOL vmlinux 0x97fa90cc d_add_ci +EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x983c5822 flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0x983d8536 security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0x984179d4 kill_fasync +EXPORT_SYMBOL vmlinux 0x98579097 request_firmware +EXPORT_SYMBOL vmlinux 0x98583caf ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0x985ea429 __dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x986489a5 vme_lm_request +EXPORT_SYMBOL vmlinux 0x987a1386 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x988e5cb9 zpool_register_driver +EXPORT_SYMBOL vmlinux 0x98b19513 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x98bfdf57 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x98c039dc dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0x98c89ade security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x98d62927 netif_schedule_queue +EXPORT_SYMBOL vmlinux 0x98d7510c dev_mc_flush +EXPORT_SYMBOL vmlinux 0x98daa482 __destroy_inode +EXPORT_SYMBOL vmlinux 0x98e508ef ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x98ec61f5 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x98ee0c38 sock_rfree +EXPORT_SYMBOL vmlinux 0x99005f0e default_qdisc_ops +EXPORT_SYMBOL vmlinux 0x99078b39 trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x992cee50 mipi_dsi_dcs_set_pixel_format +EXPORT_SYMBOL vmlinux 0x9939eba0 backlight_unregister_notifier +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x99626597 __netif_rx +EXPORT_SYMBOL vmlinux 0x9962b7b7 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x996ea259 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x996fbc26 devm_register_netdev +EXPORT_SYMBOL vmlinux 0x9975dc22 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x9996477b __nla_put +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99a6c224 get_tree_bdev +EXPORT_SYMBOL vmlinux 0x99c6a513 generic_set_encrypted_ci_d_ops +EXPORT_SYMBOL vmlinux 0x99c84351 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x99c99dd1 agp_unbind_memory +EXPORT_SYMBOL vmlinux 0x99d0bb46 fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0x99d27422 tcp_child_process +EXPORT_SYMBOL vmlinux 0x99d472b1 net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x99daa9bf try_offline_node +EXPORT_SYMBOL vmlinux 0x99e3c885 vfio_unpin_pages +EXPORT_SYMBOL vmlinux 0x99e4d90b devfreq_add_governor +EXPORT_SYMBOL vmlinux 0x99e5446e jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x99f068d5 x86_cpu_to_node_map +EXPORT_SYMBOL vmlinux 0x99f7371c refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x99f9638f __napi_alloc_frag_align +EXPORT_SYMBOL vmlinux 0x99fe1890 vga_switcheroo_init_domain_pm_ops +EXPORT_SYMBOL vmlinux 0x9a02fe9d jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x9a0a813c max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x9a0c3a18 vme_unregister_error_handler +EXPORT_SYMBOL vmlinux 0x9a0c8805 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x9a17f43e arp_xmit +EXPORT_SYMBOL vmlinux 0x9a1978a9 netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0x9a1d2424 genphy_read_master_slave +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a22391e radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x9a2b940b param_get_ullong +EXPORT_SYMBOL vmlinux 0x9a2ffbbc shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x9a35c4a9 kernel_read +EXPORT_SYMBOL vmlinux 0x9a450626 security_sb_mnt_opts_compat +EXPORT_SYMBOL vmlinux 0x9a583306 netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x9a67cd55 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x9a6c546e seq_read +EXPORT_SYMBOL vmlinux 0x9aae43bb netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0x9aaeefce sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x9acd3f6f get_cpu_entry_area +EXPORT_SYMBOL vmlinux 0x9ad1e323 tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0x9ad20436 inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0x9ad7a582 iosf_mbi_assert_punit_acquired +EXPORT_SYMBOL vmlinux 0x9adec0f3 has_capability +EXPORT_SYMBOL vmlinux 0x9ae47436 _find_last_bit +EXPORT_SYMBOL vmlinux 0x9af60a5a security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0x9af6f3ef sg_miter_skip +EXPORT_SYMBOL vmlinux 0x9afb3442 neigh_table_init +EXPORT_SYMBOL vmlinux 0x9b11f50a eth_type_trans +EXPORT_SYMBOL vmlinux 0x9b1466ca blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0x9b157bdb kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL vmlinux 0x9b27ae00 gpiochip_irq_relres +EXPORT_SYMBOL vmlinux 0x9b33e0d7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x9b496b21 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x9b57a6b7 dma_fence_describe +EXPORT_SYMBOL vmlinux 0x9b69513d try_lookup_one_len +EXPORT_SYMBOL vmlinux 0x9b6aa1f2 audit_log_start +EXPORT_SYMBOL vmlinux 0x9b6abcf7 user_revoke +EXPORT_SYMBOL vmlinux 0x9b72478f acpi_unload_parent_table +EXPORT_SYMBOL vmlinux 0x9ba15bc3 unregister_key_type +EXPORT_SYMBOL vmlinux 0x9bb4e317 ioread32be +EXPORT_SYMBOL vmlinux 0x9bb6f485 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x9bb96a2d km_policy_expired +EXPORT_SYMBOL vmlinux 0x9bd30feb configfs_register_default_group +EXPORT_SYMBOL vmlinux 0x9bd7ddd9 logfc +EXPORT_SYMBOL vmlinux 0x9c027cd8 fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0x9c122bcf mempool_create_node +EXPORT_SYMBOL vmlinux 0x9c1a76d4 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x9c2f2a94 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x9c4ca1c5 dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0x9c65b78a csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x9c700d6c put_disk +EXPORT_SYMBOL vmlinux 0x9c86b9ab fileattr_fill_flags +EXPORT_SYMBOL vmlinux 0x9c8eea67 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x9c90fa6c dm_kobject_release +EXPORT_SYMBOL vmlinux 0x9c95d4ee rproc_mem_entry_init +EXPORT_SYMBOL vmlinux 0x9c96588d security_inode_copy_up +EXPORT_SYMBOL vmlinux 0x9c9ac146 scsi_done_direct +EXPORT_SYMBOL vmlinux 0x9ca14758 dev_uc_add +EXPORT_SYMBOL vmlinux 0x9cab34a6 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x9cb986f2 vmalloc_base +EXPORT_SYMBOL vmlinux 0x9cbed24c pci_select_bars +EXPORT_SYMBOL vmlinux 0x9ccf7171 vme_dma_pci_attribute +EXPORT_SYMBOL vmlinux 0x9cd91791 register_sysctl +EXPORT_SYMBOL vmlinux 0x9cdfb3f7 sysctl_fb_tunnels_only_for_init_net +EXPORT_SYMBOL vmlinux 0x9cec8397 sk_alloc +EXPORT_SYMBOL vmlinux 0x9ced41ad __SCT__tp_func_read_msr +EXPORT_SYMBOL vmlinux 0x9cffa554 register_key_type +EXPORT_SYMBOL vmlinux 0x9d099a39 acpi_remove_gpe_handler +EXPORT_SYMBOL vmlinux 0x9d0adc9c tcf_qevent_validate_change +EXPORT_SYMBOL vmlinux 0x9d0d6206 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x9d16a47a always_delete_dentry +EXPORT_SYMBOL vmlinux 0x9d26675e zstd_cstream_workspace_bound +EXPORT_SYMBOL vmlinux 0x9d2ab8ac __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x9d2e7707 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9d2ef5f5 io_uring_get_socket +EXPORT_SYMBOL vmlinux 0x9d5ee85f seq_path +EXPORT_SYMBOL vmlinux 0x9d61e994 ucs2_strncmp +EXPORT_SYMBOL vmlinux 0x9d70541a native_save_fl +EXPORT_SYMBOL vmlinux 0x9d7ad0c8 __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x9d92f3ad __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x9d9a968a flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x9d9e047f genphy_soft_reset +EXPORT_SYMBOL vmlinux 0x9da71281 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x9dd7f193 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x9dec4740 freezing_slow_path +EXPORT_SYMBOL vmlinux 0x9dee21fb skb_checksum +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0fa5ae hsiphash_3u32 +EXPORT_SYMBOL vmlinux 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL vmlinux 0x9e23a5e0 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x9e2737f0 acpi_install_interface_handler +EXPORT_SYMBOL vmlinux 0x9e2a651b blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0x9e364086 ip_options_compile +EXPORT_SYMBOL vmlinux 0x9e445e35 _copy_from_iter +EXPORT_SYMBOL vmlinux 0x9e4e0cf9 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e5b3f96 devm_extcon_unregister_notifier +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e64fbfe rtc_cmos_read +EXPORT_SYMBOL vmlinux 0x9e65f7fa mntput +EXPORT_SYMBOL vmlinux 0x9e683f75 __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x9e7b41fe nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e7e4607 ping_prot +EXPORT_SYMBOL vmlinux 0x9e9eab95 devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x9e9fdd9d memunmap +EXPORT_SYMBOL vmlinux 0x9ea2c626 vga_get +EXPORT_SYMBOL vmlinux 0x9eacf8a5 kstrndup +EXPORT_SYMBOL vmlinux 0x9eaf7d30 skb_copy_header +EXPORT_SYMBOL vmlinux 0x9ec0e639 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0x9ec6ca96 ktime_get_real_ts64 +EXPORT_SYMBOL vmlinux 0x9ece93c7 xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0x9ed978de vme_lm_set +EXPORT_SYMBOL vmlinux 0x9eef14ff pipe_unlock +EXPORT_SYMBOL vmlinux 0x9ef0eee7 __SCT__tp_func_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x9efdfaa6 phy_do_ioctl_running +EXPORT_SYMBOL vmlinux 0x9f035be4 dst_init +EXPORT_SYMBOL vmlinux 0x9f11c9b0 component_match_add_typed +EXPORT_SYMBOL vmlinux 0x9f1b6063 dma_map_sg_attrs +EXPORT_SYMBOL vmlinux 0x9f2c2d55 rproc_of_parse_firmware +EXPORT_SYMBOL vmlinux 0x9f2dbf28 sock_create_kern +EXPORT_SYMBOL vmlinux 0x9f408afe xfrm4_protocol_register +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f4f2aa3 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0x9f50b770 keyring_restrict +EXPORT_SYMBOL vmlinux 0x9f54ead7 gro_cells_destroy +EXPORT_SYMBOL vmlinux 0x9f6dfeac tcp_read_sock +EXPORT_SYMBOL vmlinux 0x9f6e3c1b vfs_get_fsid +EXPORT_SYMBOL vmlinux 0x9f73d61e sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0x9f8ea2e3 rproc_elf_find_loaded_rsc_table +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa7184a cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x9fb41842 netdev_offload_xstats_report_delta +EXPORT_SYMBOL vmlinux 0x9fbc373e pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9fe2b3b2 pskb_extract +EXPORT_SYMBOL vmlinux 0x9feb6945 netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0x9feed7ce timer_reduce +EXPORT_SYMBOL vmlinux 0x9ffa3a75 netdev_max_backlog +EXPORT_SYMBOL vmlinux 0x9ffe285c padata_set_cpumask +EXPORT_SYMBOL vmlinux 0x9ffef32c sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xa00296d8 gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0xa00aca2a dql_completed +EXPORT_SYMBOL vmlinux 0xa012b3d1 cfb_copyarea +EXPORT_SYMBOL vmlinux 0xa01d3df6 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0xa022c739 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0xa02414fb file_modified +EXPORT_SYMBOL vmlinux 0xa0279ed2 vme_slot_num +EXPORT_SYMBOL vmlinux 0xa02aa74a __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xa033d747 next_arg +EXPORT_SYMBOL vmlinux 0xa03e2df1 rproc_alloc +EXPORT_SYMBOL vmlinux 0xa042ad2b __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0xa0436e98 in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0xa054b93e scsi_rescan_device +EXPORT_SYMBOL vmlinux 0xa057df8f twl_set_regcache_bypass +EXPORT_SYMBOL vmlinux 0xa05b6be2 psched_ppscfg_precompute +EXPORT_SYMBOL vmlinux 0xa05bdd14 __SCK__tp_func_rdpmc +EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr +EXPORT_SYMBOL vmlinux 0xa07c4e96 msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0xa07d1b3c tasklet_setup +EXPORT_SYMBOL vmlinux 0xa081214e bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0xa084749a __bitmap_or +EXPORT_SYMBOL vmlinux 0xa084f79f cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0xa09426d6 __nd_driver_register +EXPORT_SYMBOL vmlinux 0xa09577e9 ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0xa095e02e generic_check_addressable +EXPORT_SYMBOL vmlinux 0xa09ccf29 tcf_classify +EXPORT_SYMBOL vmlinux 0xa09fb058 netdev_core_stats_alloc +EXPORT_SYMBOL vmlinux 0xa0a7ab70 has_capability_noaudit +EXPORT_SYMBOL vmlinux 0xa0ae1e73 siphash_3u64 +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b1d5a1 dcache_dir_close +EXPORT_SYMBOL vmlinux 0xa0b53d5b set_pages_wb +EXPORT_SYMBOL vmlinux 0xa0d87339 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xa0da1db4 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xa0dad88e netdev_adjacent_get_private +EXPORT_SYMBOL vmlinux 0xa0eae826 smp_call_function +EXPORT_SYMBOL vmlinux 0xa0ebd14c sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xa0ebd437 hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa101d839 netdev_printk +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa11a8985 get_tree_nodev +EXPORT_SYMBOL vmlinux 0xa11b056e simple_open +EXPORT_SYMBOL vmlinux 0xa1336bdb alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0xa1406ff8 __skb_get_hash +EXPORT_SYMBOL vmlinux 0xa1610d1d param_ops_charp +EXPORT_SYMBOL vmlinux 0xa16e975e fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0xa178443f ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0xa18237b4 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xa19c602a phy_set_max_speed +EXPORT_SYMBOL vmlinux 0xa1a68a67 acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0xa1bedd72 amd_iommu_pc_get_max_counters +EXPORT_SYMBOL vmlinux 0xa1ebd6df mmc_add_host +EXPORT_SYMBOL vmlinux 0xa1f1ed0d dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xa2060911 inet_current_timestamp +EXPORT_SYMBOL vmlinux 0xa20f6950 dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0xa21badce agp_generic_insert_memory +EXPORT_SYMBOL vmlinux 0xa2326c49 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0xa2340707 mmc_gpio_get_ro +EXPORT_SYMBOL vmlinux 0xa23ba803 blk_mq_start_stopped_hw_queues +EXPORT_SYMBOL vmlinux 0xa23ffc04 groups_sort +EXPORT_SYMBOL vmlinux 0xa246e3c6 register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0xa24adb68 iommu_dma_get_resv_regions +EXPORT_SYMBOL vmlinux 0xa24f23d8 __request_module +EXPORT_SYMBOL vmlinux 0xa256005d regset_get_alloc +EXPORT_SYMBOL vmlinux 0xa2579e27 set_anon_super_fc +EXPORT_SYMBOL vmlinux 0xa26049e8 config_item_put +EXPORT_SYMBOL vmlinux 0xa263892b fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0xa28bfe20 rproc_elf_load_rsc_table +EXPORT_SYMBOL vmlinux 0xa28cfcc0 gen_estimator_active +EXPORT_SYMBOL vmlinux 0xa2967471 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xa2a18e2f pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0xa2a6fbe0 dentry_path_raw +EXPORT_SYMBOL vmlinux 0xa2da0264 pci_write_config_word +EXPORT_SYMBOL vmlinux 0xa2ec205d tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0xa2f53322 blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0xa2fea954 xsk_set_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0xa30a0024 ip_defrag +EXPORT_SYMBOL vmlinux 0xa31a584e netlink_ns_capable +EXPORT_SYMBOL vmlinux 0xa33d595e kmem_cache_size +EXPORT_SYMBOL vmlinux 0xa34a84f7 fsync_bdev +EXPORT_SYMBOL vmlinux 0xa34c545a __SCK__tp_func_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xa35107bc dev_addr_add +EXPORT_SYMBOL vmlinux 0xa36d9b11 tty_port_destroy +EXPORT_SYMBOL vmlinux 0xa3789965 nobh_writepage +EXPORT_SYMBOL vmlinux 0xa382112a reuseport_add_sock +EXPORT_SYMBOL vmlinux 0xa38defb3 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0xa38f21b9 amd_iommu_update_ga +EXPORT_SYMBOL vmlinux 0xa393a0d8 fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0xa3940c4b sg_alloc_table_from_pages_segment +EXPORT_SYMBOL vmlinux 0xa3a0ecfc release_pages +EXPORT_SYMBOL vmlinux 0xa3be8342 __ubsan_handle_type_mismatch +EXPORT_SYMBOL vmlinux 0xa3c08176 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0xa3cefaa0 blake2s_update +EXPORT_SYMBOL vmlinux 0xa3d40ecf dev_get_iflink +EXPORT_SYMBOL vmlinux 0xa3dd9767 input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0xa3e4f871 acpi_initialize_debugger +EXPORT_SYMBOL vmlinux 0xa3fea172 sha224_final +EXPORT_SYMBOL vmlinux 0xa40ff01b acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xa4191c0b memset_io +EXPORT_SYMBOL vmlinux 0xa434022c input_set_poll_interval +EXPORT_SYMBOL vmlinux 0xa44004f0 phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0xa4676389 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xa47417dd udp_ioctl +EXPORT_SYMBOL vmlinux 0xa477f572 security_sctp_assoc_established +EXPORT_SYMBOL vmlinux 0xa47a31c8 security_binder_transaction +EXPORT_SYMBOL vmlinux 0xa47b9cd9 fwnode_irq_get +EXPORT_SYMBOL vmlinux 0xa47e1561 tcp_prot +EXPORT_SYMBOL vmlinux 0xa489c999 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0xa4a4202b d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0xa4a7eef5 devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0xa4b1e820 skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0xa4b3bcfe phy_init_eee +EXPORT_SYMBOL vmlinux 0xa4b4a316 dma_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0xa4b5da35 dentry_create +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4ba1e5d tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4dcd923 input_unregister_handler +EXPORT_SYMBOL vmlinux 0xa4faf62a acpi_disable_gpe +EXPORT_SYMBOL vmlinux 0xa507125e acpi_clear_gpe +EXPORT_SYMBOL vmlinux 0xa507c4fc tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0xa50a3da7 _find_next_bit +EXPORT_SYMBOL vmlinux 0xa50bcff0 x86_cpu_to_apicid +EXPORT_SYMBOL vmlinux 0xa51192a9 input_register_handler +EXPORT_SYMBOL vmlinux 0xa51d8ec2 pci_pme_active +EXPORT_SYMBOL vmlinux 0xa52bedf6 xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0xa53bb451 __scsi_add_device +EXPORT_SYMBOL vmlinux 0xa53cd254 ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0xa545fd25 eth_mac_addr +EXPORT_SYMBOL vmlinux 0xa547c543 put_fs_context +EXPORT_SYMBOL vmlinux 0xa5526619 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa557465f devm_devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0xa569d799 blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0xa574dbe7 mmc_is_req_done +EXPORT_SYMBOL vmlinux 0xa57994e8 sg_miter_start +EXPORT_SYMBOL vmlinux 0xa58225a3 pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0xa58d6983 genphy_handle_interrupt_no_ack +EXPORT_SYMBOL vmlinux 0xa5976e4f dev_base_lock +EXPORT_SYMBOL vmlinux 0xa5adfea1 __invalidate_device +EXPORT_SYMBOL vmlinux 0xa5bc006b dquot_initialize +EXPORT_SYMBOL vmlinux 0xa5c8b153 blk_put_queue +EXPORT_SYMBOL vmlinux 0xa5d0ce93 con_copy_unimap +EXPORT_SYMBOL vmlinux 0xa5db43b6 mipi_dsi_shutdown_peripheral +EXPORT_SYMBOL vmlinux 0xa5e55057 rdmsrl_safe_on_cpu +EXPORT_SYMBOL vmlinux 0xa5ec23c4 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0xa601399b mipi_dsi_device_unregister +EXPORT_SYMBOL vmlinux 0xa61ced89 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0xa62147fa __lock_buffer +EXPORT_SYMBOL vmlinux 0xa6247954 devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0xa6257a2f complete +EXPORT_SYMBOL vmlinux 0xa62b03ae mipi_dsi_dcs_set_column_address +EXPORT_SYMBOL vmlinux 0xa648e561 __ubsan_handle_shift_out_of_bounds +EXPORT_SYMBOL vmlinux 0xa64c7249 __printk_cpu_sync_try_get +EXPORT_SYMBOL vmlinux 0xa650d750 scsi_remove_target +EXPORT_SYMBOL vmlinux 0xa6534422 md_flush_request +EXPORT_SYMBOL vmlinux 0xa66fe8d5 __SCK__tp_func_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xa6793866 unload_nls +EXPORT_SYMBOL vmlinux 0xa67fb479 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0xa68118df nf_register_net_hooks +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa684e767 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0xa6873108 __getblk_gfp +EXPORT_SYMBOL vmlinux 0xa69fa093 vma_alloc_folio +EXPORT_SYMBOL vmlinux 0xa6a0eb79 filemap_invalidate_unlock_two +EXPORT_SYMBOL vmlinux 0xa6a602a1 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0xa6d9abef blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0xa6e93226 phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0xa7086756 get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0xa70fabbe release_evntsel_nmi +EXPORT_SYMBOL vmlinux 0xa7165891 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0xa71d2e2c ioread16be +EXPORT_SYMBOL vmlinux 0xa72035f9 xa_get_order +EXPORT_SYMBOL vmlinux 0xa72cfb7d ioremap_wt +EXPORT_SYMBOL vmlinux 0xa74b8f25 inet_register_protosw +EXPORT_SYMBOL vmlinux 0xa74c9877 refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0xa759f81c buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0xa77bbfcb acpi_device_set_power +EXPORT_SYMBOL vmlinux 0xa77bfd29 register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0xa78af5f3 ioread32 +EXPORT_SYMBOL vmlinux 0xa796679d __SCT__tp_func_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xa799867b tty_port_open +EXPORT_SYMBOL vmlinux 0xa7ae2695 napi_get_frags +EXPORT_SYMBOL vmlinux 0xa7c74bd1 ata_std_end_eh +EXPORT_SYMBOL vmlinux 0xa7d54555 pci_fixup_device +EXPORT_SYMBOL vmlinux 0xa7d5f92e ida_destroy +EXPORT_SYMBOL vmlinux 0xa7eedcc4 call_usermodehelper +EXPORT_SYMBOL vmlinux 0xa7ff3ea1 inode_permission +EXPORT_SYMBOL vmlinux 0xa805ecfc acpi_release_global_lock +EXPORT_SYMBOL vmlinux 0xa80aed33 processors +EXPORT_SYMBOL vmlinux 0xa8181adf proc_dointvec +EXPORT_SYMBOL vmlinux 0xa81db46f folio_migrate_copy +EXPORT_SYMBOL vmlinux 0xa836ba02 wrmsr_safe_regs +EXPORT_SYMBOL vmlinux 0xa843805a get_unused_fd_flags +EXPORT_SYMBOL vmlinux 0xa84ce9e0 crypto_aes_inv_sbox +EXPORT_SYMBOL vmlinux 0xa853396b xa_extract +EXPORT_SYMBOL vmlinux 0xa85a3e6d xa_load +EXPORT_SYMBOL vmlinux 0xa8694ecd kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xa8844b94 mmc_put_card +EXPORT_SYMBOL vmlinux 0xa897e3e7 mempool_free +EXPORT_SYMBOL vmlinux 0xa89922ff agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0xa89a1cf1 ipmi_dmi_get_slave_addr +EXPORT_SYMBOL vmlinux 0xa8addb86 igrab +EXPORT_SYMBOL vmlinux 0xa8af1c90 md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0xa8caa845 clk_bulk_put_all +EXPORT_SYMBOL vmlinux 0xa8cbdd07 input_inject_event +EXPORT_SYMBOL vmlinux 0xa8cff4fd crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0xa8d90a12 pci_rebar_get_possible_sizes +EXPORT_SYMBOL vmlinux 0xa8e6933a qdf2400_e44_present +EXPORT_SYMBOL vmlinux 0xa8f6c843 ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0xa90c89ac __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0xa90ca0de flush_rcu_work +EXPORT_SYMBOL vmlinux 0xa916b694 strnlen +EXPORT_SYMBOL vmlinux 0xa91c8b57 file_remove_privs +EXPORT_SYMBOL vmlinux 0xa91ef778 __mod_lruvec_page_state +EXPORT_SYMBOL vmlinux 0xa924b4aa __traceiter_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0xa9266cce set_disk_ro +EXPORT_SYMBOL vmlinux 0xa927f839 fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0xa92df226 udp_poll +EXPORT_SYMBOL vmlinux 0xa931af8a asm_load_gs_index +EXPORT_SYMBOL vmlinux 0xa94a09bb mem_section +EXPORT_SYMBOL vmlinux 0xa94c974e block_commit_write +EXPORT_SYMBOL vmlinux 0xa965846b xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0xa965ca81 reciprocal_value +EXPORT_SYMBOL vmlinux 0xa976957d bitmap_remap +EXPORT_SYMBOL vmlinux 0xa9785b49 cpu_core_map +EXPORT_SYMBOL vmlinux 0xa9c2f057 unpin_user_page +EXPORT_SYMBOL vmlinux 0xa9c72303 amd_iommu_pc_get_max_banks +EXPORT_SYMBOL vmlinux 0xa9cd294d phy_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0xa9d2ae57 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0xa9dbbc9a vfs_create_mount +EXPORT_SYMBOL vmlinux 0xa9dbd337 skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0xaa00ce5f nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0xaa00fdc0 ec_transaction +EXPORT_SYMBOL vmlinux 0xaa0c318b vscnprintf +EXPORT_SYMBOL vmlinux 0xaa19e4aa _kstrtol +EXPORT_SYMBOL vmlinux 0xaa341905 acpi_bios_exception +EXPORT_SYMBOL vmlinux 0xaa44a707 cpumask_next +EXPORT_SYMBOL vmlinux 0xaa576936 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xaa6f23ad rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0xaa8fd652 __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0xaaa4b9bc hchacha_block_generic +EXPORT_SYMBOL vmlinux 0xaaad5c00 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xaacf6b4b mmc_card_alternative_gpt_sector +EXPORT_SYMBOL vmlinux 0xaad0ae78 __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaad8c7d6 default_wake_function +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaaf7418f param_ops_bool +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab0061ff iget_locked +EXPORT_SYMBOL vmlinux 0xab04ba63 __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0xab16a39a tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0xab3697e4 irq_poll_init +EXPORT_SYMBOL vmlinux 0xab3b75ea vme_dma_pattern_attribute +EXPORT_SYMBOL vmlinux 0xab3dc14c unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0xab404666 inet6_bind +EXPORT_SYMBOL vmlinux 0xab59231e ptp_clock_register +EXPORT_SYMBOL vmlinux 0xab5981f2 blk_queue_split +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab63baa5 unregister_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xab65ed80 set_memory_uc +EXPORT_SYMBOL vmlinux 0xab67a0ac dql_init +EXPORT_SYMBOL vmlinux 0xab6b2509 blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0xab6d5b3b hex_to_bin +EXPORT_SYMBOL vmlinux 0xab748d36 nf_log_unset +EXPORT_SYMBOL vmlinux 0xab781570 fb_get_options +EXPORT_SYMBOL vmlinux 0xab8b39ed dquot_resume +EXPORT_SYMBOL vmlinux 0xab90d5b6 nd_region_to_nstype +EXPORT_SYMBOL vmlinux 0xab9e4d48 phy_detach +EXPORT_SYMBOL vmlinux 0xabaee757 dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0xabcda5c7 mr_fill_mroute +EXPORT_SYMBOL vmlinux 0xabd0e1c7 scsi_scan_target +EXPORT_SYMBOL vmlinux 0xabe842d6 fault_in_iov_iter_writeable +EXPORT_SYMBOL vmlinux 0xabf32f29 utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0xabfb69ec is_subdir +EXPORT_SYMBOL vmlinux 0xac0123a8 truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0xac1a55be unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0xac1a6019 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xac2167ad noop_qdisc +EXPORT_SYMBOL vmlinux 0xac3201b0 udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0xac334b8e pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0xac436fc2 md_check_recovery +EXPORT_SYMBOL vmlinux 0xac537ac2 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0xac5fcec0 in4_pton +EXPORT_SYMBOL vmlinux 0xac711493 pnp_stop_dev +EXPORT_SYMBOL vmlinux 0xac7a8ae1 sk_capable +EXPORT_SYMBOL vmlinux 0xac7cd618 xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0xac9eef03 dquot_disable +EXPORT_SYMBOL vmlinux 0xacaa4c72 dma_fence_match_context +EXPORT_SYMBOL vmlinux 0xacab29b7 seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0xacbb874e tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0xacc7e761 stream_open +EXPORT_SYMBOL vmlinux 0xacd10aba napi_schedule_prep +EXPORT_SYMBOL vmlinux 0xacd2ca34 start_tty +EXPORT_SYMBOL vmlinux 0xacd81eb3 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xacddd806 ptp_get_vclocks_index +EXPORT_SYMBOL vmlinux 0xace4be00 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xacea8173 acpi_debug_print +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf649bf audit_log_task_info +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad077b75 md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0xad0bb63b key_alloc +EXPORT_SYMBOL vmlinux 0xad0d6ea2 dev_printk_emit +EXPORT_SYMBOL vmlinux 0xad1036a2 amd_iommu_activate_guest_mode +EXPORT_SYMBOL vmlinux 0xad357133 __traceiter_kmalloc_node +EXPORT_SYMBOL vmlinux 0xad365cb4 phy_ethtool_get_eee +EXPORT_SYMBOL vmlinux 0xad536c91 x86_cpu_to_acpiid +EXPORT_SYMBOL vmlinux 0xad5f07f9 inet6_protos +EXPORT_SYMBOL vmlinux 0xad639449 kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0xad6ba40e radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0xad73041f autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xad739949 proc_remove +EXPORT_SYMBOL vmlinux 0xad7f0402 md_write_start +EXPORT_SYMBOL vmlinux 0xad8ad04d skb_store_bits +EXPORT_SYMBOL vmlinux 0xad9162bd add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0xad985d81 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0xad9901ae bit_waitqueue +EXPORT_SYMBOL vmlinux 0xada31e57 gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0xadae6df8 blake2s_final +EXPORT_SYMBOL vmlinux 0xadb4e00b simple_rename +EXPORT_SYMBOL vmlinux 0xadbbc286 inet_del_protocol +EXPORT_SYMBOL vmlinux 0xadbeed61 mipi_dsi_packet_format_is_long +EXPORT_SYMBOL vmlinux 0xadc044b7 vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL vmlinux 0xadd139d4 rfs_needed +EXPORT_SYMBOL vmlinux 0xadd64f3d bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0xaddaff41 __dev_set_mtu +EXPORT_SYMBOL vmlinux 0xaddd632e blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xade2a815 dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0xadfdfcef __bitmap_andnot +EXPORT_SYMBOL vmlinux 0xae04012c __vmalloc +EXPORT_SYMBOL vmlinux 0xae0c551f blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0xae268af3 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0xae316c11 icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0xae349aab netdev_offload_xstats_disable +EXPORT_SYMBOL vmlinux 0xae44397c user_path_create +EXPORT_SYMBOL vmlinux 0xae5a04bb acpi_evaluate_dsm +EXPORT_SYMBOL vmlinux 0xae699049 blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0xae7c3f39 filp_open +EXPORT_SYMBOL vmlinux 0xaea7929e mdio_bus_type +EXPORT_SYMBOL vmlinux 0xaeac049a generate_random_guid +EXPORT_SYMBOL vmlinux 0xaeb082ad _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0xaebd12f0 acpi_get_name +EXPORT_SYMBOL vmlinux 0xaeca8967 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xaecb2209 scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0xaecd0f7e iov_iter_advance +EXPORT_SYMBOL vmlinux 0xaed63911 phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0xaedcc412 xp_dma_map +EXPORT_SYMBOL vmlinux 0xaee08429 block_invalidate_folio +EXPORT_SYMBOL vmlinux 0xaeef0e32 kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0xaeef7561 md_bitmap_free +EXPORT_SYMBOL vmlinux 0xaf015306 skb_tx_error +EXPORT_SYMBOL vmlinux 0xaf1837ea xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xaf1da529 __serio_register_port +EXPORT_SYMBOL vmlinux 0xaf326d58 __check_sticky +EXPORT_SYMBOL vmlinux 0xaf354bbe cpu_tss_rw +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf473768 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xaf499cde textsearch_unregister +EXPORT_SYMBOL vmlinux 0xaf73e177 mmc_command_done +EXPORT_SYMBOL vmlinux 0xaf7a064d mmc_detect_change +EXPORT_SYMBOL vmlinux 0xaf7f07f4 pci_read_vpd_any +EXPORT_SYMBOL vmlinux 0xaf864029 vme_bus_num +EXPORT_SYMBOL vmlinux 0xaf869157 seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0xaf8ac836 iptun_encaps +EXPORT_SYMBOL vmlinux 0xaf975cc7 reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0xafa3ce95 vme_irq_handler +EXPORT_SYMBOL vmlinux 0xafac9a5d dma_resv_iter_next_unlocked +EXPORT_SYMBOL vmlinux 0xafb83f90 mmc_get_card +EXPORT_SYMBOL vmlinux 0xafb864c1 refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0xafb8934e scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0xafc08054 dotdot_name +EXPORT_SYMBOL vmlinux 0xafc6c68e zstd_is_error +EXPORT_SYMBOL vmlinux 0xafd3bead tcp_sendpage +EXPORT_SYMBOL vmlinux 0xafd57b85 blkdev_issue_secure_erase +EXPORT_SYMBOL vmlinux 0xafd5ff2c amd_iommu_v2_supported +EXPORT_SYMBOL vmlinux 0xafd744c6 __x86_indirect_thunk_rbp +EXPORT_SYMBOL vmlinux 0xafd8f108 param_set_uint +EXPORT_SYMBOL vmlinux 0xafeb0f32 xp_alloc +EXPORT_SYMBOL vmlinux 0xafec6327 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0xb00eb507 udp_pre_connect +EXPORT_SYMBOL vmlinux 0xb01afb69 sock_kzfree_s +EXPORT_SYMBOL vmlinux 0xb01bebf9 xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xb01f14a1 amd_iommu_domain_clear_gcr3 +EXPORT_SYMBOL vmlinux 0xb02df2d6 __traceiter_rdpmc +EXPORT_SYMBOL vmlinux 0xb04400ea param_get_bool +EXPORT_SYMBOL vmlinux 0xb04424f8 thaw_bdev +EXPORT_SYMBOL vmlinux 0xb04a43ad __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0xb05223e8 vfs_get_link +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb06721e6 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0xb0898c7f jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xb09005eb vme_init_bridge +EXPORT_SYMBOL vmlinux 0xb0a0da0c rational_best_approximation +EXPORT_SYMBOL vmlinux 0xb0a0e170 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xb0b0938e phy_register_fixup +EXPORT_SYMBOL vmlinux 0xb0b0d3f0 mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0xb0b6d312 ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0xb0bf2c60 load_nls_default +EXPORT_SYMBOL vmlinux 0xb0c400ed vm_insert_pages +EXPORT_SYMBOL vmlinux 0xb0c5e247 lockref_put_return +EXPORT_SYMBOL vmlinux 0xb0d3bef9 dev_uc_flush +EXPORT_SYMBOL vmlinux 0xb0d4d24c neigh_event_ns +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0e602eb memmove +EXPORT_SYMBOL vmlinux 0xb10e7df4 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0xb11cd4a9 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0xb11d0e9f netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb125e8af inc_node_page_state +EXPORT_SYMBOL vmlinux 0xb12cbacb fb_unregister_client +EXPORT_SYMBOL vmlinux 0xb1342cdb _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0xb1427e99 dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0xb14ab1ef hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0xb14c0be2 netpoll_print_options +EXPORT_SYMBOL vmlinux 0xb14fc46a find_next_clump8 +EXPORT_SYMBOL vmlinux 0xb153b34b param_get_string +EXPORT_SYMBOL vmlinux 0xb15b4109 crc32c +EXPORT_SYMBOL vmlinux 0xb1612a5c nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0xb187efa1 folio_mark_accessed +EXPORT_SYMBOL vmlinux 0xb19223ed jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xb194dc0e param_set_charp +EXPORT_SYMBOL vmlinux 0xb1979d4b pipe_lock +EXPORT_SYMBOL vmlinux 0xb19a5453 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0xb1a87bcf udp_seq_next +EXPORT_SYMBOL vmlinux 0xb1afceef acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0xb1b67bc3 eth_validate_addr +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1ddf995 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xb1e383e7 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xb1ea83e6 irq_set_chip +EXPORT_SYMBOL vmlinux 0xb1ee2966 __ip_select_ident +EXPORT_SYMBOL vmlinux 0xb1ee8ccb netif_set_tso_max_size +EXPORT_SYMBOL vmlinux 0xb1f195ee fifo_set_limit +EXPORT_SYMBOL vmlinux 0xb1f3ae6f flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0xb2144762 tty_lock +EXPORT_SYMBOL vmlinux 0xb219d56c wbinvd_on_cpu +EXPORT_SYMBOL vmlinux 0xb22e16d5 radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0xb23027c1 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xb2338d81 __x86_indirect_thunk_rsp +EXPORT_SYMBOL vmlinux 0xb23d0046 serio_interrupt +EXPORT_SYMBOL vmlinux 0xb244291d nvdimm_check_and_set_ro +EXPORT_SYMBOL vmlinux 0xb25065f0 unregister_nls +EXPORT_SYMBOL vmlinux 0xb2601486 __SCT__tp_func_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0xb26073e9 input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0xb26255a7 simple_link +EXPORT_SYMBOL vmlinux 0xb266054b blk_mq_start_request +EXPORT_SYMBOL vmlinux 0xb2a68265 should_remove_suid +EXPORT_SYMBOL vmlinux 0xb2bcb088 acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0xb2c00b58 scsi_remove_device +EXPORT_SYMBOL vmlinux 0xb2db8117 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xb2dc1fab reuseport_select_sock +EXPORT_SYMBOL vmlinux 0xb2df2995 ethtool_notify +EXPORT_SYMBOL vmlinux 0xb2f35c6a xxh64 +EXPORT_SYMBOL vmlinux 0xb2f74fb6 intel_gmch_remove +EXPORT_SYMBOL vmlinux 0xb2faae33 new_inode +EXPORT_SYMBOL vmlinux 0xb2fab44e scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xb2fcb56d queue_delayed_work_on +EXPORT_SYMBOL vmlinux 0xb2fd5ceb __put_user_4 +EXPORT_SYMBOL vmlinux 0xb308c97d wait_woken +EXPORT_SYMBOL vmlinux 0xb30a525a mipi_dsi_dcs_read +EXPORT_SYMBOL vmlinux 0xb30b9822 vme_master_set +EXPORT_SYMBOL vmlinux 0xb3176609 bpf_link_get_from_fd +EXPORT_SYMBOL vmlinux 0xb320cc0e sg_init_one +EXPORT_SYMBOL vmlinux 0xb3258f79 __ubsan_handle_type_mismatch_v1 +EXPORT_SYMBOL vmlinux 0xb32a5973 acpi_ut_status_exit +EXPORT_SYMBOL vmlinux 0xb32f0b7e unregister_cdrom +EXPORT_SYMBOL vmlinux 0xb339d425 backlight_force_update +EXPORT_SYMBOL vmlinux 0xb342b179 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0xb35742d2 mmc_retune_timer_stop +EXPORT_SYMBOL vmlinux 0xb3687850 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xb36ba6e7 ipmr_rule_default +EXPORT_SYMBOL vmlinux 0xb37d6e8f genphy_loopback +EXPORT_SYMBOL vmlinux 0xb3863a67 acpi_set_gpe_wake_mask +EXPORT_SYMBOL vmlinux 0xb3972f1b clear_nlink +EXPORT_SYMBOL vmlinux 0xb39b28a9 mount_bdev +EXPORT_SYMBOL vmlinux 0xb3a2dfdf nmi_panic +EXPORT_SYMBOL vmlinux 0xb3b9ba9e bio_put +EXPORT_SYMBOL vmlinux 0xb3c41b12 __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0xb3cb17a2 scsi_host_get +EXPORT_SYMBOL vmlinux 0xb3d2c76d scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0xb3de6ecb pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xb3e2b89c netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0xb3e9052a blk_start_plug +EXPORT_SYMBOL vmlinux 0xb3ed49c4 vc_resize +EXPORT_SYMBOL vmlinux 0xb3f0de55 xz_dec_microlzma_run +EXPORT_SYMBOL vmlinux 0xb3f49446 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xb3f548ad kmemdup_nul +EXPORT_SYMBOL vmlinux 0xb3f7646e kthread_should_stop +EXPORT_SYMBOL vmlinux 0xb4043948 acpi_execute_simple_method +EXPORT_SYMBOL vmlinux 0xb415f2a9 dev_remove_pack +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb433fba3 inet_del_offload +EXPORT_SYMBOL vmlinux 0xb43b0763 devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0xb443a3b3 phy_print_status +EXPORT_SYMBOL vmlinux 0xb44e0cb6 vme_dma_list_exec +EXPORT_SYMBOL vmlinux 0xb4577003 acpi_dev_present +EXPORT_SYMBOL vmlinux 0xb4642c25 pcim_enable_device +EXPORT_SYMBOL vmlinux 0xb470c771 pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0xb47c9f0f ll_rw_block +EXPORT_SYMBOL vmlinux 0xb47cca30 csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0xb482df73 agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0xb487210c __nla_reserve +EXPORT_SYMBOL vmlinux 0xb48a81b3 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0xb48d4d22 security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0xb4912d1c tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xb49b3420 pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0xb4b98867 security_path_rename +EXPORT_SYMBOL vmlinux 0xb4bef228 qdisc_reset +EXPORT_SYMBOL vmlinux 0xb4ec4b39 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xb4f13d2a abort +EXPORT_SYMBOL vmlinux 0xb5002339 scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0xb501843b __blk_alloc_disk +EXPORT_SYMBOL vmlinux 0xb50b5418 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xb52ee8be intel_gtt_clear_range +EXPORT_SYMBOL vmlinux 0xb538010e max8998_write_reg +EXPORT_SYMBOL vmlinux 0xb539f853 page_pool_release_page +EXPORT_SYMBOL vmlinux 0xb539fe67 mipi_dsi_dcs_set_tear_scanline +EXPORT_SYMBOL vmlinux 0xb53cb3ba genphy_check_and_restart_aneg +EXPORT_SYMBOL vmlinux 0xb53f2810 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0xb547dbd1 lookup_one +EXPORT_SYMBOL vmlinux 0xb5488f70 devm_devfreq_add_governor +EXPORT_SYMBOL vmlinux 0xb54a759b devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0xb54e83f7 vga_switcheroo_register_handler +EXPORT_SYMBOL vmlinux 0xb5567356 vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0xb55715e7 ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0xb55c6bbe param_get_int +EXPORT_SYMBOL vmlinux 0xb58acf8d tcp_filter +EXPORT_SYMBOL vmlinux 0xb58aeaab kernel_cpustat +EXPORT_SYMBOL vmlinux 0xb58e2a9a devm_mfd_add_devices +EXPORT_SYMBOL vmlinux 0xb59a8c80 hmm_range_fault +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5ab892d uv_undefined +EXPORT_SYMBOL vmlinux 0xb5b63711 fileattr_fill_xflags +EXPORT_SYMBOL vmlinux 0xb5c60b31 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0xb5ce4cbe inode_init_always +EXPORT_SYMBOL vmlinux 0xb5d5847d phy_support_sym_pause +EXPORT_SYMBOL vmlinux 0xb5da3d76 configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0xb5dbd6b0 tty_port_hangup +EXPORT_SYMBOL vmlinux 0xb5e4ace9 generic_delete_inode +EXPORT_SYMBOL vmlinux 0xb5e73116 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xb5ef163b no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0xb5f564a1 padata_do_serial +EXPORT_SYMBOL vmlinux 0xb60086b3 request_key_tag +EXPORT_SYMBOL vmlinux 0xb6045000 vfs_mkdir +EXPORT_SYMBOL vmlinux 0xb61d6fc2 down_read_interruptible +EXPORT_SYMBOL vmlinux 0xb633f115 irq_poll_enable +EXPORT_SYMBOL vmlinux 0xb63c43e2 get_tz_trend +EXPORT_SYMBOL vmlinux 0xb63ff788 tcf_idr_search +EXPORT_SYMBOL vmlinux 0xb6483d51 kthread_bind +EXPORT_SYMBOL vmlinux 0xb654ef65 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0xb66e96d8 netlbl_audit_start +EXPORT_SYMBOL vmlinux 0xb674a534 acpi_unmap_cpu +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb67fec0e uuid_parse +EXPORT_SYMBOL vmlinux 0xb6936ffe _bcd2bin +EXPORT_SYMBOL vmlinux 0xb6acaa13 phy_sfp_detach +EXPORT_SYMBOL vmlinux 0xb6adfd90 pv_ops +EXPORT_SYMBOL vmlinux 0xb6cb556a _find_first_and_bit +EXPORT_SYMBOL vmlinux 0xb6e36ce2 psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0xb6f82c72 t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0xb6f9ac9a ptp_clock_event +EXPORT_SYMBOL vmlinux 0xb6fadaee pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0xb6fcd52e inet_bind +EXPORT_SYMBOL vmlinux 0xb6fde909 close_fd +EXPORT_SYMBOL vmlinux 0xb7042545 __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0xb7063b9f forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0xb70f36aa pcie_set_mps +EXPORT_SYMBOL vmlinux 0xb71589f0 skip_spaces +EXPORT_SYMBOL vmlinux 0xb71ed69f __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0xb722bee6 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0xb72ca5f6 scsi_host_put +EXPORT_SYMBOL vmlinux 0xb737b185 gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0xb74d6a62 netlink_set_err +EXPORT_SYMBOL vmlinux 0xb7593ddc iosf_mbi_unregister_pmic_bus_access_notifier +EXPORT_SYMBOL vmlinux 0xb7731502 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0xb78debe3 LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0xb79d9a53 __fput_sync +EXPORT_SYMBOL vmlinux 0xb7c0f443 sort +EXPORT_SYMBOL vmlinux 0xb7c6db70 sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0xb7e23cf0 gro_cells_receive +EXPORT_SYMBOL vmlinux 0xb80204eb udp_lib_get_port +EXPORT_SYMBOL vmlinux 0xb80420d5 __mmap_lock_do_trace_acquire_returned +EXPORT_SYMBOL vmlinux 0xb80b4a18 zstd_compress_bound +EXPORT_SYMBOL vmlinux 0xb80d3d43 netlink_unicast +EXPORT_SYMBOL vmlinux 0xb81dd853 tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0xb8309dbb sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0xb835102c tcp_init_sock +EXPORT_SYMBOL vmlinux 0xb84659b2 inet6_add_offload +EXPORT_SYMBOL vmlinux 0xb847c567 unpin_user_pages +EXPORT_SYMBOL vmlinux 0xb85693f1 pci_disable_msix +EXPORT_SYMBOL vmlinux 0xb859e1c3 dev_close +EXPORT_SYMBOL vmlinux 0xb85a1c50 sock_i_uid +EXPORT_SYMBOL vmlinux 0xb868ac5c register_sysrq_key +EXPORT_SYMBOL vmlinux 0xb86c8cb0 mmc_gpiod_request_cd +EXPORT_SYMBOL vmlinux 0xb86f74c5 free_cpumask_var +EXPORT_SYMBOL vmlinux 0xb881c71c vga_remove_vgacon +EXPORT_SYMBOL vmlinux 0xb8845d19 skb_put +EXPORT_SYMBOL vmlinux 0xb88fd035 set_groups +EXPORT_SYMBOL vmlinux 0xb89b6e6b guid_parse +EXPORT_SYMBOL vmlinux 0xb8b043f2 kfree_link +EXPORT_SYMBOL vmlinux 0xb8b32fab trace_event_printf +EXPORT_SYMBOL vmlinux 0xb8b62344 md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0xb8b9f817 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0xb8c8d8df sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xb8e7ce2c __put_user_8 +EXPORT_SYMBOL vmlinux 0xb8eb5d63 locks_copy_lock +EXPORT_SYMBOL vmlinux 0xb8f4dad2 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xb9056bb6 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xb907513f unpoison_memory +EXPORT_SYMBOL vmlinux 0xb90ac705 setattr_prepare +EXPORT_SYMBOL vmlinux 0xb911bb58 minmax_running_max +EXPORT_SYMBOL vmlinux 0xb920db49 acpi_tb_install_and_load_table +EXPORT_SYMBOL vmlinux 0xb93fb543 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0xb9421a38 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0xb94339c4 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0xb9478d90 hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0xb953019b tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xb95e1833 vma_set_file +EXPORT_SYMBOL vmlinux 0xb96c4f9e audit_log_subject_context +EXPORT_SYMBOL vmlinux 0xb97220ff bitmap_parse +EXPORT_SYMBOL vmlinux 0xb975595b sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0xb97781e5 devfreq_add_device +EXPORT_SYMBOL vmlinux 0xb97f7045 acpi_install_gpe_handler +EXPORT_SYMBOL vmlinux 0xb9843fde tcf_qevent_dump +EXPORT_SYMBOL vmlinux 0xb99d6dd6 kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0xb9af1d0d __xa_clear_mark +EXPORT_SYMBOL vmlinux 0xb9b17f07 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0xb9dd3905 _dev_printk +EXPORT_SYMBOL vmlinux 0xb9e276cf wrmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0xb9e7429c memcpy_toio +EXPORT_SYMBOL vmlinux 0xb9e8e2cc in6addr_sitelocal_allrouters +EXPORT_SYMBOL vmlinux 0xb9eda2e5 __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0xb9f4b53d __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0xb9f616ec devfreq_remove_governor +EXPORT_SYMBOL vmlinux 0xb9fd6a3c unregister_framebuffer +EXPORT_SYMBOL vmlinux 0xba01236d rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0xba055ce3 sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0xba0676e2 vm_zone_stat +EXPORT_SYMBOL vmlinux 0xba087bd6 nla_reserve +EXPORT_SYMBOL vmlinux 0xba09111c tcp_close +EXPORT_SYMBOL vmlinux 0xba1008c8 __crc32c_le +EXPORT_SYMBOL vmlinux 0xba1b60d7 pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0xba34d086 add_watch_to_object +EXPORT_SYMBOL vmlinux 0xba3c3d6c mmc_card_is_blockaddr +EXPORT_SYMBOL vmlinux 0xba4499c1 ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0xba497bc1 netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba50ae9a flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0xba512396 param_set_invbool +EXPORT_SYMBOL vmlinux 0xba52d05c intel_gmch_probe +EXPORT_SYMBOL vmlinux 0xba53adab nla_policy_len +EXPORT_SYMBOL vmlinux 0xba5d57a2 neigh_ifdown +EXPORT_SYMBOL vmlinux 0xba7f23cb netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0xba8d46af get_cached_acl +EXPORT_SYMBOL vmlinux 0xba8fbd64 _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xba9011df get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0xbab6ee75 send_sig +EXPORT_SYMBOL vmlinux 0xbab70211 dma_resv_iter_first_unlocked +EXPORT_SYMBOL vmlinux 0xbabb4d12 mmc_free_host +EXPORT_SYMBOL vmlinux 0xbabd0143 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0xbac9bf19 genphy_read_status_fixed +EXPORT_SYMBOL vmlinux 0xbacc5795 ipv6_dev_find +EXPORT_SYMBOL vmlinux 0xbad7ebc3 migrate_page_states +EXPORT_SYMBOL vmlinux 0xbadd03ec simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0xbaed39c9 nf_getsockopt +EXPORT_SYMBOL vmlinux 0xbb0174ff blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xbb0540aa zlib_inflateReset +EXPORT_SYMBOL vmlinux 0xbb0deaae rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0xbb13595e smp_call_function_many +EXPORT_SYMBOL vmlinux 0xbb1bac24 acpi_unregister_debugger +EXPORT_SYMBOL vmlinux 0xbb24f607 init_cdrom_command +EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xbb52f362 scsi_partsize +EXPORT_SYMBOL vmlinux 0xbb571fcc scsi_dma_map +EXPORT_SYMBOL vmlinux 0xbb632395 __scm_destroy +EXPORT_SYMBOL vmlinux 0xbb7b200e agp_free_memory +EXPORT_SYMBOL vmlinux 0xbb8e169a vga_switcheroo_handler_flags +EXPORT_SYMBOL vmlinux 0xbb99a02a __SCK__tp_func_kmalloc +EXPORT_SYMBOL vmlinux 0xbb9cb7e8 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0xbb9ed3bf mutex_trylock +EXPORT_SYMBOL vmlinux 0xbbbc1dd7 seq_printf +EXPORT_SYMBOL vmlinux 0xbbbc301b register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0xbbc2a224 pci_remove_bus +EXPORT_SYMBOL vmlinux 0xbbcc5055 inode_io_list_del +EXPORT_SYMBOL vmlinux 0xbbe32ae0 flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0xbbe80fdb kmalloc_order +EXPORT_SYMBOL vmlinux 0xbbf47a40 rproc_report_crash +EXPORT_SYMBOL vmlinux 0xbc042ae2 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0xbc2031de acpi_processor_get_bios_limit +EXPORT_SYMBOL vmlinux 0xbc37e21b ppp_input_error +EXPORT_SYMBOL vmlinux 0xbc44aca7 mdiobus_free +EXPORT_SYMBOL vmlinux 0xbc4c672a xattr_supported_namespace +EXPORT_SYMBOL vmlinux 0xbc8d2a55 __put_page +EXPORT_SYMBOL vmlinux 0xbcab6ee6 sscanf +EXPORT_SYMBOL vmlinux 0xbcb36fe4 hugetlb_optimize_vmemmap_key +EXPORT_SYMBOL vmlinux 0xbcb5669d prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0xbcb84047 tty_unregister_device +EXPORT_SYMBOL vmlinux 0xbcbb600b dump_align +EXPORT_SYMBOL vmlinux 0xbcbbe49a fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0xbcbf0df6 cfb_fillrect +EXPORT_SYMBOL vmlinux 0xbcd014db __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0xbce052cc xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xbcf6ae6c seq_open +EXPORT_SYMBOL vmlinux 0xbd059aea inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0xbd093d65 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xbd1aa894 phy_advertise_supported +EXPORT_SYMBOL vmlinux 0xbd37b2d1 netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0xbd393ca3 ioread64be_lo_hi +EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init +EXPORT_SYMBOL vmlinux 0xbd4a0e7b dump_page +EXPORT_SYMBOL vmlinux 0xbd613f78 set_pages_array_wb +EXPORT_SYMBOL vmlinux 0xbd6841d4 crc16 +EXPORT_SYMBOL vmlinux 0xbd932e18 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0xbdace887 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0xbdb379a3 dma_pool_create +EXPORT_SYMBOL vmlinux 0xbddbe1f6 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xbddff650 neigh_xmit +EXPORT_SYMBOL vmlinux 0xbdfb6dbb __fentry__ +EXPORT_SYMBOL vmlinux 0xbe0110e7 acpi_set_gpe +EXPORT_SYMBOL vmlinux 0xbe22af79 generic_key_instantiate +EXPORT_SYMBOL vmlinux 0xbe49252c acpi_os_write_port +EXPORT_SYMBOL vmlinux 0xbe4eb6ed secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xbe5a24e9 xxh32_copy_state +EXPORT_SYMBOL vmlinux 0xbe6a866f __wait_on_bit +EXPORT_SYMBOL vmlinux 0xbe6a8c96 zstd_cctx_workspace_bound +EXPORT_SYMBOL vmlinux 0xbe71aeff rproc_vq_interrupt +EXPORT_SYMBOL vmlinux 0xbe75eb09 serial8250_do_pm +EXPORT_SYMBOL vmlinux 0xbe941f9b uart_get_divisor +EXPORT_SYMBOL vmlinux 0xbece1a87 from_kprojid +EXPORT_SYMBOL vmlinux 0xbed6755e i2c_clients_command +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbefa51a3 gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0xbf040fcc jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xbf085086 devm_clk_get +EXPORT_SYMBOL vmlinux 0xbf0e959d folio_end_private_2 +EXPORT_SYMBOL vmlinux 0xbf14b143 scsi_done +EXPORT_SYMBOL vmlinux 0xbf2202c1 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0xbf247a14 pmem_should_map_pages +EXPORT_SYMBOL vmlinux 0xbf300524 __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0xbf3193ec acpi_unregister_ioapic +EXPORT_SYMBOL vmlinux 0xbf580537 tcp_set_rcvlowat +EXPORT_SYMBOL vmlinux 0xbf59c419 posix_acl_init +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfa698ac blk_queue_max_secure_erase_sectors +EXPORT_SYMBOL vmlinux 0xbfae9e07 utf8_validate +EXPORT_SYMBOL vmlinux 0xbfc0d310 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfe79c2d pci_request_region +EXPORT_SYMBOL vmlinux 0xc00d28ea flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0xc01a06f1 freeze_super +EXPORT_SYMBOL vmlinux 0xc01f4d4d regset_get +EXPORT_SYMBOL vmlinux 0xc0285e15 tty_port_init +EXPORT_SYMBOL vmlinux 0xc033e024 skb_orphan_partial +EXPORT_SYMBOL vmlinux 0xc0364007 fault_in_writeable +EXPORT_SYMBOL vmlinux 0xc0392b87 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0xc0606410 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xc06704bd netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc078d22c zstd_init_cstream +EXPORT_SYMBOL vmlinux 0xc07b0863 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0xc08ef6d4 scsi_register_interface +EXPORT_SYMBOL vmlinux 0xc091cefb security_inode_init_security +EXPORT_SYMBOL vmlinux 0xc0954478 nla_put +EXPORT_SYMBOL vmlinux 0xc09d6f39 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xc0a6a14e copy_page_to_iter +EXPORT_SYMBOL vmlinux 0xc0afb5d7 cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0xc0bcc1e1 del_gendisk +EXPORT_SYMBOL vmlinux 0xc0c26e23 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0xc0cb2b2e dev_get_by_index +EXPORT_SYMBOL vmlinux 0xc0cd5f47 of_find_mipi_dsi_device_by_node +EXPORT_SYMBOL vmlinux 0xc0e8464e tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0xc0fe9137 __printk_cpu_sync_put +EXPORT_SYMBOL vmlinux 0xc0ff12fb nla_strdup +EXPORT_SYMBOL vmlinux 0xc0ff21c1 input_get_new_minor +EXPORT_SYMBOL vmlinux 0xc10a0f4f blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0xc111ae64 intel_gtt_get +EXPORT_SYMBOL vmlinux 0xc1198662 __warn_flushing_systemwide_wq +EXPORT_SYMBOL vmlinux 0xc1365323 acpi_enable_all_wakeup_gpes +EXPORT_SYMBOL vmlinux 0xc14dc168 acpi_get_data +EXPORT_SYMBOL vmlinux 0xc1514a3b free_irq +EXPORT_SYMBOL vmlinux 0xc1653906 __traceiter_module_get +EXPORT_SYMBOL vmlinux 0xc1675fd7 param_set_short +EXPORT_SYMBOL vmlinux 0xc16be39d iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xc17f0718 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0xc1827569 dump_skip +EXPORT_SYMBOL vmlinux 0xc18fc09e mfd_remove_devices_late +EXPORT_SYMBOL vmlinux 0xc1a55c42 lookup_positive_unlocked +EXPORT_SYMBOL vmlinux 0xc1b79cfa dmaengine_get_unmap_data +EXPORT_SYMBOL vmlinux 0xc1c3acc3 phy_write_mmd +EXPORT_SYMBOL vmlinux 0xc1d5d504 scsi_cmd_allowed +EXPORT_SYMBOL vmlinux 0xc1d8cfaf __fdget +EXPORT_SYMBOL vmlinux 0xc1e13335 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0xc1fbb5ae ptp_schedule_worker +EXPORT_SYMBOL vmlinux 0xc2056090 input_open_device +EXPORT_SYMBOL vmlinux 0xc23139ed __inc_node_page_state +EXPORT_SYMBOL vmlinux 0xc2372b91 twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0xc239b3b0 complete_request_key +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc268103e dup_iter +EXPORT_SYMBOL vmlinux 0xc26b391a blkdev_compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0xc274bf2f ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xc278c965 cpu_all_bits +EXPORT_SYMBOL vmlinux 0xc289125d tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0xc29bf967 strspn +EXPORT_SYMBOL vmlinux 0xc2a64bb7 sock_alloc_file +EXPORT_SYMBOL vmlinux 0xc2bd7cfa __sk_receive_skb +EXPORT_SYMBOL vmlinux 0xc2cd81a6 skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2e911c7 ps2_init +EXPORT_SYMBOL vmlinux 0xc2f33588 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xc3055d20 usleep_range_state +EXPORT_SYMBOL vmlinux 0xc310b981 strnstr +EXPORT_SYMBOL vmlinux 0xc312cbe4 thaw_super +EXPORT_SYMBOL vmlinux 0xc315219d cdrom_mode_select +EXPORT_SYMBOL vmlinux 0xc31db0ce is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0xc32c71af register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xc32dea1d netif_device_detach +EXPORT_SYMBOL vmlinux 0xc33843c6 dump_skip_to +EXPORT_SYMBOL vmlinux 0xc34026c2 phy_ethtool_get_stats +EXPORT_SYMBOL vmlinux 0xc3451651 pnp_activate_dev +EXPORT_SYMBOL vmlinux 0xc34cea8c agp_enable +EXPORT_SYMBOL vmlinux 0xc36a3bd4 __acpi_handle_debug +EXPORT_SYMBOL vmlinux 0xc36a55d0 sk_dst_check +EXPORT_SYMBOL vmlinux 0xc3762aec mempool_alloc +EXPORT_SYMBOL vmlinux 0xc378b011 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0xc37f9c6e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0xc38877fd cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0xc38c83b8 mod_timer +EXPORT_SYMBOL vmlinux 0xc397a99f pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0xc39fc309 to_nd_dax +EXPORT_SYMBOL vmlinux 0xc3aaf0a9 __put_user_1 +EXPORT_SYMBOL vmlinux 0xc3bc72ad trace_print_array_seq +EXPORT_SYMBOL vmlinux 0xc3be4d4a device_get_mac_address +EXPORT_SYMBOL vmlinux 0xc3d43b90 simple_lookup +EXPORT_SYMBOL vmlinux 0xc3ed847f setup_new_exec +EXPORT_SYMBOL vmlinux 0xc3fcae6b blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0xc3ff38c2 down_read_trylock +EXPORT_SYMBOL vmlinux 0xc41a71d5 iov_iter_pipe +EXPORT_SYMBOL vmlinux 0xc41bc980 iwe_stream_add_value +EXPORT_SYMBOL vmlinux 0xc41e5861 fs_context_for_submount +EXPORT_SYMBOL vmlinux 0xc4212ab9 qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xc42dcb99 acpi_evaluate_ost +EXPORT_SYMBOL vmlinux 0xc432ff88 pci_reenable_device +EXPORT_SYMBOL vmlinux 0xc4434fa7 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0xc452212c utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0xc47762b9 dquot_commit +EXPORT_SYMBOL vmlinux 0xc4777aa9 __ctzsi2 +EXPORT_SYMBOL vmlinux 0xc4847122 pnp_release_card_device +EXPORT_SYMBOL vmlinux 0xc487707d dev_remove_offload +EXPORT_SYMBOL vmlinux 0xc4995f37 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0xc49a31a7 find_vma +EXPORT_SYMBOL vmlinux 0xc49d477a sock_cmsg_send +EXPORT_SYMBOL vmlinux 0xc4ad3006 ethtool_get_phc_vclocks +EXPORT_SYMBOL vmlinux 0xc4ae915e arch_touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xc4b5186c acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0xc4c9159e kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0xc4d8fd30 __SCK__tp_func_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xc4e5eaf8 dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0xc4f8e4d9 param_set_ullong +EXPORT_SYMBOL vmlinux 0xc4ffdc1d generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0xc501ed1c sk_common_release +EXPORT_SYMBOL vmlinux 0xc503b314 neigh_destroy +EXPORT_SYMBOL vmlinux 0xc50a4456 page_cache_next_miss +EXPORT_SYMBOL vmlinux 0xc517c83c md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0xc51cefca __vfs_setxattr +EXPORT_SYMBOL vmlinux 0xc51dc21e input_reset_device +EXPORT_SYMBOL vmlinux 0xc528a49a queued_write_lock_slowpath +EXPORT_SYMBOL vmlinux 0xc5343183 __f_setown +EXPORT_SYMBOL vmlinux 0xc54df8c9 fget_raw +EXPORT_SYMBOL vmlinux 0xc54fcf3a remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0xc558530d profile_pc +EXPORT_SYMBOL vmlinux 0xc56c3609 xz_dec_microlzma_reset +EXPORT_SYMBOL vmlinux 0xc57c48a3 idr_get_next +EXPORT_SYMBOL vmlinux 0xc5844874 dquot_operations +EXPORT_SYMBOL vmlinux 0xc58d5a90 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0xc599a772 security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc59e82d5 ip_route_input_noref +EXPORT_SYMBOL vmlinux 0xc5a15dc1 mmc_cqe_recovery +EXPORT_SYMBOL vmlinux 0xc5b6f236 queue_work_on +EXPORT_SYMBOL vmlinux 0xc5bce3b2 ptp_clock_index +EXPORT_SYMBOL vmlinux 0xc5d59146 page_mapped +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5db2f05 netdev_notice +EXPORT_SYMBOL vmlinux 0xc5e74216 release_resource +EXPORT_SYMBOL vmlinux 0xc5f7e801 sg_last +EXPORT_SYMBOL vmlinux 0xc60d0620 __num_online_cpus +EXPORT_SYMBOL vmlinux 0xc61ca65e iowrite64be_hi_lo +EXPORT_SYMBOL vmlinux 0xc622556f prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc632a857 registered_fb +EXPORT_SYMBOL vmlinux 0xc633d82d phy_unregister_fixup +EXPORT_SYMBOL vmlinux 0xc63b6a02 xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0xc648da74 filemap_check_errors +EXPORT_SYMBOL vmlinux 0xc64a862c pps_lookup_dev +EXPORT_SYMBOL vmlinux 0xc65e4e97 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif +EXPORT_SYMBOL vmlinux 0xc66a8304 cpu_rmap_add +EXPORT_SYMBOL vmlinux 0xc66be791 ps2_sliced_command +EXPORT_SYMBOL vmlinux 0xc676dce2 security_d_instantiate +EXPORT_SYMBOL vmlinux 0xc6910aa0 do_trace_rdpmc +EXPORT_SYMBOL vmlinux 0xc6a09452 crypto_sha512_update +EXPORT_SYMBOL vmlinux 0xc6a87932 tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6d09aa9 release_firmware +EXPORT_SYMBOL vmlinux 0xc6dfd7ad blk_post_runtime_suspend +EXPORT_SYMBOL vmlinux 0xc6ec0643 phy_drivers_register +EXPORT_SYMBOL vmlinux 0xc6f3b3fc refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0xc6f46339 init_timer_key +EXPORT_SYMBOL vmlinux 0xc6f62f30 tcp_add_backlog +EXPORT_SYMBOL vmlinux 0xc708f1fe ec_write +EXPORT_SYMBOL vmlinux 0xc7152e34 kmem_cache_create +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc755cf43 netif_carrier_on +EXPORT_SYMBOL vmlinux 0xc77f1eb4 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7856a3d inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc7882f5f elv_rb_del +EXPORT_SYMBOL vmlinux 0xc78b16ae dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0xc78b9ae3 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7b6e60d tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0xc7bae352 pps_register_source +EXPORT_SYMBOL vmlinux 0xc7baf753 mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xc7c1107a LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0xc7c81e03 vif_device_init +EXPORT_SYMBOL vmlinux 0xc7d094b5 dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xc7f6cc1a pci_alloc_dev +EXPORT_SYMBOL vmlinux 0xc7fbbcfa vme_irq_generate +EXPORT_SYMBOL vmlinux 0xc7fd644b acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc80ab559 swake_up_one +EXPORT_SYMBOL vmlinux 0xc80c1c96 register_shrinker +EXPORT_SYMBOL vmlinux 0xc82faec2 nvdimm_namespace_locked +EXPORT_SYMBOL vmlinux 0xc831d449 devm_ioremap +EXPORT_SYMBOL vmlinux 0xc836e7ca flow_keys_dissector +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc85b3afd flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0xc85e93e5 genl_register_family +EXPORT_SYMBOL vmlinux 0xc86b1c3f sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0xc86fcd78 tty_name +EXPORT_SYMBOL vmlinux 0xc871ea4d udp_prot +EXPORT_SYMBOL vmlinux 0xc872fd85 in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0xc8827b75 sysctl_vals +EXPORT_SYMBOL vmlinux 0xc88b5490 fb_prepare_logo +EXPORT_SYMBOL vmlinux 0xc890c008 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xc890fa48 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xc89c52f9 finish_open +EXPORT_SYMBOL vmlinux 0xc8a91f5b cpumask_local_spread +EXPORT_SYMBOL vmlinux 0xc8aa33ec sync_filesystem +EXPORT_SYMBOL vmlinux 0xc8b6ef48 __neigh_create +EXPORT_SYMBOL vmlinux 0xc8b9ab52 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xc8cb7442 md_unregister_thread +EXPORT_SYMBOL vmlinux 0xc8daf2f7 key_invalidate +EXPORT_SYMBOL vmlinux 0xc8dcc62a krealloc +EXPORT_SYMBOL vmlinux 0xc8e0223b __block_write_begin +EXPORT_SYMBOL vmlinux 0xc8e50dd5 hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0xc8e70665 dma_ops +EXPORT_SYMBOL vmlinux 0xc9216a82 recalibrate_cpu_khz +EXPORT_SYMBOL vmlinux 0xc93102aa simple_unlink +EXPORT_SYMBOL vmlinux 0xc93812d6 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0xc93a3de3 phy_support_asym_pause +EXPORT_SYMBOL vmlinux 0xc93e8461 acpi_get_event_resources +EXPORT_SYMBOL vmlinux 0xc941de2b fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0xc9495fe0 param_get_ulong +EXPORT_SYMBOL vmlinux 0xc9634df9 in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0xc964f64b seq_read_iter +EXPORT_SYMBOL vmlinux 0xc96ac668 unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0xc96b6af7 dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0xc972449f mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0xc9822234 clk_register_clkdev +EXPORT_SYMBOL vmlinux 0xc988952a bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9a26f99 __tracepoint_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0xc9a7333d neigh_changeaddr +EXPORT_SYMBOL vmlinux 0xc9aa8803 udp_seq_stop +EXPORT_SYMBOL vmlinux 0xc9b33111 cpumask_any_distribute +EXPORT_SYMBOL vmlinux 0xc9ce9661 mipi_dsi_generic_write +EXPORT_SYMBOL vmlinux 0xc9d8645a dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0xc9d89009 follow_pfn +EXPORT_SYMBOL vmlinux 0xc9df055a xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xc9ea2cb4 __breadahead +EXPORT_SYMBOL vmlinux 0xc9f34c1d acpi_acquire_global_lock +EXPORT_SYMBOL vmlinux 0xc9fbeb84 tcp_mtu_to_mss +EXPORT_SYMBOL vmlinux 0xca1648d4 zstd_decompress_dctx +EXPORT_SYMBOL vmlinux 0xca1eb265 vfs_iter_write +EXPORT_SYMBOL vmlinux 0xca21ebd3 bitmap_free +EXPORT_SYMBOL vmlinux 0xca2cf808 vfs_symlink +EXPORT_SYMBOL vmlinux 0xca31defe __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0xca431c05 wake_bit_function +EXPORT_SYMBOL vmlinux 0xca5a5c60 unregister_netdev +EXPORT_SYMBOL vmlinux 0xca82a70d devm_clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0xca9360b5 rb_next +EXPORT_SYMBOL vmlinux 0xca9beaa4 __xa_store +EXPORT_SYMBOL vmlinux 0xcad1aca8 acpi_exception +EXPORT_SYMBOL vmlinux 0xcadc3a7a rfkill_alloc +EXPORT_SYMBOL vmlinux 0xcae70d03 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0xcb0288ea ledtrig_cpu +EXPORT_SYMBOL vmlinux 0xcb11d3ea mmc_register_driver +EXPORT_SYMBOL vmlinux 0xcb15d362 inet_sk_set_state +EXPORT_SYMBOL vmlinux 0xcb383aee __folio_cancel_dirty +EXPORT_SYMBOL vmlinux 0xcb3ae215 call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xcb506a05 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0xcb5e8c37 thread_group_exited +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb7d69d3 cfb_imageblit +EXPORT_SYMBOL vmlinux 0xcb9f8257 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0xcbae7906 fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0xcbb68220 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xcbbf0a6f audit_log_task_context +EXPORT_SYMBOL vmlinux 0xcbd4898c fortify_panic +EXPORT_SYMBOL vmlinux 0xcbdca59a fwnode_mdio_find_device +EXPORT_SYMBOL vmlinux 0xcbde0ce9 mmc_can_erase +EXPORT_SYMBOL vmlinux 0xcbec0023 devm_release_resource +EXPORT_SYMBOL vmlinux 0xcbfb33e4 init_opal_dev +EXPORT_SYMBOL vmlinux 0xcc1b882a idr_get_next_ul +EXPORT_SYMBOL vmlinux 0xcc23002a hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc285e08 mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xcc2ddc04 thermal_zone_device_critical +EXPORT_SYMBOL vmlinux 0xcc328a5c reservation_ww_class +EXPORT_SYMBOL vmlinux 0xcc358562 devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0xcc411ed1 ptp_convert_timestamp +EXPORT_SYMBOL vmlinux 0xcc445ceb __sg_page_iter_dma_next +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5c2df4 trace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0xcc5d22d9 can_do_mlock +EXPORT_SYMBOL vmlinux 0xcc61b050 current_time +EXPORT_SYMBOL vmlinux 0xcca5839d xen_vcpu_id +EXPORT_SYMBOL vmlinux 0xccadec98 clear_inode +EXPORT_SYMBOL vmlinux 0xccccd4fb sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xccd4c999 __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0xccd517fc vfs_statfs +EXPORT_SYMBOL vmlinux 0xccd85bfa generic_error_remove_page +EXPORT_SYMBOL vmlinux 0xccfb9e07 dst_default_metrics +EXPORT_SYMBOL vmlinux 0xccfd2ebc scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0xcd01b8e6 acpi_attach_data +EXPORT_SYMBOL vmlinux 0xcd0aed23 vme_register_error_handler +EXPORT_SYMBOL vmlinux 0xcd253581 finish_swait +EXPORT_SYMBOL vmlinux 0xcd256667 tcp_md5_needed +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd29303d _copy_to_iter +EXPORT_SYMBOL vmlinux 0xcd362324 dquot_acquire +EXPORT_SYMBOL vmlinux 0xcd5fd356 sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0xcd8ce890 acpi_format_exception +EXPORT_SYMBOL vmlinux 0xcd98261f phy_attached_print +EXPORT_SYMBOL vmlinux 0xcdbda63b param_ops_invbool +EXPORT_SYMBOL vmlinux 0xcdc39c9e security_ismaclabel +EXPORT_SYMBOL vmlinux 0xcdca35af sync_blockdev +EXPORT_SYMBOL vmlinux 0xcde77bcc free_opal_dev +EXPORT_SYMBOL vmlinux 0xce039da1 __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0xce1dc087 netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce2ac5aa migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0xce3d8407 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0xce47b0f5 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0xce4cdb8e fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xce4d184e vm_iomap_memory +EXPORT_SYMBOL vmlinux 0xce4e47b6 __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce68f640 fscrypt_ioctl_get_policy +EXPORT_SYMBOL vmlinux 0xce6c3f6e writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0xce727778 blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0xce76c257 acpi_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xce807a25 up_write +EXPORT_SYMBOL vmlinux 0xce82ca53 path_has_submounts +EXPORT_SYMBOL vmlinux 0xce880de3 nd_dax_probe +EXPORT_SYMBOL vmlinux 0xce9de0f3 sk_stream_error +EXPORT_SYMBOL vmlinux 0xcea32bf7 fs_param_is_fd +EXPORT_SYMBOL vmlinux 0xcea381dd x86_match_cpu +EXPORT_SYMBOL vmlinux 0xceab0311 strchrnul +EXPORT_SYMBOL vmlinux 0xcebe73f2 iov_iter_bvec +EXPORT_SYMBOL vmlinux 0xcec674c8 cros_ec_check_result +EXPORT_SYMBOL vmlinux 0xcecd1a58 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xced0f4d4 gen_pool_create +EXPORT_SYMBOL vmlinux 0xced4f276 irq_domain_set_info +EXPORT_SYMBOL vmlinux 0xcefb0c9f __mutex_init +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf0f6eba agp_create_memory +EXPORT_SYMBOL vmlinux 0xcf1c817e fasync_helper +EXPORT_SYMBOL vmlinux 0xcf1cf220 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0xcf23e229 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0xcf2a6966 up +EXPORT_SYMBOL vmlinux 0xcf3b69b3 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xcf4cecb3 phy_sfp_probe +EXPORT_SYMBOL vmlinux 0xcf4fdd4d _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0xcf53f943 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xcf6c736e phy_get_c45_ids +EXPORT_SYMBOL vmlinux 0xcf7416ab tty_unregister_driver +EXPORT_SYMBOL vmlinux 0xcf93f8d0 dma_free_attrs +EXPORT_SYMBOL vmlinux 0xcf9b558d touchscreen_set_mt_pos +EXPORT_SYMBOL vmlinux 0xcfa343ee dev_set_alias +EXPORT_SYMBOL vmlinux 0xcfa7e913 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xcfc0e06a blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0xcfc13a17 blk_mq_end_request +EXPORT_SYMBOL vmlinux 0xcfc39707 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0xcfc950dd bpf_map_get +EXPORT_SYMBOL vmlinux 0xcfc9deaf atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xcfd22e3b pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0xcfd884a8 __hsiphash_unaligned +EXPORT_SYMBOL vmlinux 0xcfe4abae nvdimm_namespace_disk_name +EXPORT_SYMBOL vmlinux 0xcfec19bf xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0xcff2b301 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0xcff3cfba pnp_get_resource +EXPORT_SYMBOL vmlinux 0xcff5f02a tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0xd01c2e80 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0xd02d5dbe xfrm_init_replay +EXPORT_SYMBOL vmlinux 0xd048196c jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0xd04c1a64 sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0xd0654aba woken_wake_function +EXPORT_SYMBOL vmlinux 0xd0760fc0 kfree_sensitive +EXPORT_SYMBOL vmlinux 0xd07f478e thermal_cdev_update +EXPORT_SYMBOL vmlinux 0xd0818dbe mptcp_subflow_reqsk_alloc +EXPORT_SYMBOL vmlinux 0xd08a77b4 file_ns_capable +EXPORT_SYMBOL vmlinux 0xd08adb2b trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0xd0b74705 acpi_install_interface +EXPORT_SYMBOL vmlinux 0xd0cfb12b __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0xd0d28b61 dma_unmap_resource +EXPORT_SYMBOL vmlinux 0xd0da656b __stack_chk_fail +EXPORT_SYMBOL vmlinux 0xd0f27e6e unmap_mapping_range +EXPORT_SYMBOL vmlinux 0xd0f284b8 mmiotrace_printk +EXPORT_SYMBOL vmlinux 0xd0fb9109 register_console +EXPORT_SYMBOL vmlinux 0xd0fe8d51 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd1363cc1 ucs2_strsize +EXPORT_SYMBOL vmlinux 0xd1613a1e end_page_writeback +EXPORT_SYMBOL vmlinux 0xd1639ad5 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0xd16d9fe2 to_nd_btt +EXPORT_SYMBOL vmlinux 0xd16dd413 __ip_options_compile +EXPORT_SYMBOL vmlinux 0xd172dfc1 dquot_quota_off +EXPORT_SYMBOL vmlinux 0xd194ddf9 acpi_gpe_count +EXPORT_SYMBOL vmlinux 0xd199cf92 phy_attached_info +EXPORT_SYMBOL vmlinux 0xd1a1b4af nf_ip_checksum +EXPORT_SYMBOL vmlinux 0xd1b7cdd4 blk_cleanup_disk +EXPORT_SYMBOL vmlinux 0xd1d1e69b page_symlink +EXPORT_SYMBOL vmlinux 0xd1d87e92 scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0xd1eb1c1b phy_attached_info_irq +EXPORT_SYMBOL vmlinux 0xd1f1fbc0 tcp_check_req +EXPORT_SYMBOL vmlinux 0xd1f60a89 arch_io_free_memtype_wc +EXPORT_SYMBOL vmlinux 0xd1f63d7a i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0xd1f6c5f3 smp_num_siblings +EXPORT_SYMBOL vmlinux 0xd2020b9b rproc_set_firmware +EXPORT_SYMBOL vmlinux 0xd21c5139 iowrite64_lo_hi +EXPORT_SYMBOL vmlinux 0xd2237016 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0xd228b35f _dev_crit +EXPORT_SYMBOL vmlinux 0xd23d3250 jbd2_fc_end_commit +EXPORT_SYMBOL vmlinux 0xd2405579 security_path_mkdir +EXPORT_SYMBOL vmlinux 0xd24108d4 rfkill_soft_blocked +EXPORT_SYMBOL vmlinux 0xd24a80c3 vga_con +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd269c588 ihold +EXPORT_SYMBOL vmlinux 0xd26c2953 iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0xd27b25dd blk_check_plugged +EXPORT_SYMBOL vmlinux 0xd2800691 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd2847e85 lookup_one_positive_unlocked +EXPORT_SYMBOL vmlinux 0xd2870840 acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0xd2aa7123 mipi_dsi_dcs_set_tear_off +EXPORT_SYMBOL vmlinux 0xd2bc5c46 __get_user_nocheck_2 +EXPORT_SYMBOL vmlinux 0xd2c99738 __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0xd2d6bbe7 inode_update_time +EXPORT_SYMBOL vmlinux 0xd2d88506 netdev_offload_xstats_report_used +EXPORT_SYMBOL vmlinux 0xd2da1048 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xd2e2a9d0 hdmi_spd_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd2ea49b8 acpi_leave_sleep_state_prep +EXPORT_SYMBOL vmlinux 0xd2f98fed __pagevec_release +EXPORT_SYMBOL vmlinux 0xd2fa569b __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0xd30e03ad kernel_param_lock +EXPORT_SYMBOL vmlinux 0xd3104446 nf_setsockopt +EXPORT_SYMBOL vmlinux 0xd323ad06 mmput_async +EXPORT_SYMBOL vmlinux 0xd338ea7e __SCT__tp_func_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xd3543063 memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0xd35a6d31 mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xd35c723a vfs_unlink +EXPORT_SYMBOL vmlinux 0xd35cce70 _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xd3667906 xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0xd36ae094 skb_set_owner_w +EXPORT_SYMBOL vmlinux 0xd36dc10c get_random_u32 +EXPORT_SYMBOL vmlinux 0xd36e3d59 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0xd36fd94a configfs_unregister_group +EXPORT_SYMBOL vmlinux 0xd37cbe97 __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0xd381914d ppp_dev_name +EXPORT_SYMBOL vmlinux 0xd38a6dc9 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xd38cd261 __default_kernel_pte_mask +EXPORT_SYMBOL vmlinux 0xd3b0ad5a proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0xd3b76685 d_alloc_name +EXPORT_SYMBOL vmlinux 0xd3bf4ab6 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xd3d305a3 to_ndd +EXPORT_SYMBOL vmlinux 0xd3df5617 convert_art_to_tsc +EXPORT_SYMBOL vmlinux 0xd3e813f2 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0xd3ee2894 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0xd406d266 fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xd416c31d mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xd41ec09a dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xd4217d9c alloc_pages +EXPORT_SYMBOL vmlinux 0xd43a9b6b d_alloc_parallel +EXPORT_SYMBOL vmlinux 0xd4469631 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0xd448cc82 param_set_long +EXPORT_SYMBOL vmlinux 0xd44c4164 xfrm_register_type +EXPORT_SYMBOL vmlinux 0xd44da860 fqdir_init +EXPORT_SYMBOL vmlinux 0xd45cc6ca bin2hex +EXPORT_SYMBOL vmlinux 0xd4835ef8 dmi_check_system +EXPORT_SYMBOL vmlinux 0xd48d6a7b file_update_time +EXPORT_SYMBOL vmlinux 0xd495986e jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xd4984ef0 vfs_fileattr_set +EXPORT_SYMBOL vmlinux 0xd4bb4a82 inet6addr_validator_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd4bb9940 iget_failed +EXPORT_SYMBOL vmlinux 0xd4d1983c udplite_table +EXPORT_SYMBOL vmlinux 0xd4f2b00c netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0xd4f50475 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xd4f68114 tcp_stream_memory_free +EXPORT_SYMBOL vmlinux 0xd4fa5a87 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0xd4fe37cb mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0xd51d62d5 mdiobus_write +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd5346bfc acpi_get_possible_resources +EXPORT_SYMBOL vmlinux 0xd55e6209 device_match_acpi_handle +EXPORT_SYMBOL vmlinux 0xd5621a3d jbd2__journal_start +EXPORT_SYMBOL vmlinux 0xd56a3c7b mdiobus_write_nested +EXPORT_SYMBOL vmlinux 0xd5857efd ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0xd5aab08e devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0xd5ab5722 refresh_frequency_limits +EXPORT_SYMBOL vmlinux 0xd5af9b7b phy_read_mmd +EXPORT_SYMBOL vmlinux 0xd5b20bd5 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0xd5b3d0d5 xxh64_copy_state +EXPORT_SYMBOL vmlinux 0xd5d17c03 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xd5d5a9a3 kobject_del +EXPORT_SYMBOL vmlinux 0xd5fd90f1 prepare_to_wait +EXPORT_SYMBOL vmlinux 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0xd60e9c52 pci_iounmap +EXPORT_SYMBOL vmlinux 0xd61dfc13 ptp_cancel_worker_sync +EXPORT_SYMBOL vmlinux 0xd6227c4d genphy_read_mmd_unsupported +EXPORT_SYMBOL vmlinux 0xd629a302 get_watch_queue +EXPORT_SYMBOL vmlinux 0xd62ecd49 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xd643239a acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xd6480868 dev_lstats_read +EXPORT_SYMBOL vmlinux 0xd651bdd4 jbd2_fc_end_commit_fallback +EXPORT_SYMBOL vmlinux 0xd6594476 __skb_pad +EXPORT_SYMBOL vmlinux 0xd65db05d pci_enable_wake +EXPORT_SYMBOL vmlinux 0xd664e1dd pci_scan_single_device +EXPORT_SYMBOL vmlinux 0xd66c8184 add_device_randomness +EXPORT_SYMBOL vmlinux 0xd670e9f4 fb_blank +EXPORT_SYMBOL vmlinux 0xd677a8d1 unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0xd688716b dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xd68c5a1f adjust_resource +EXPORT_SYMBOL vmlinux 0xd691c6a9 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0xd69e4fe3 km_state_expired +EXPORT_SYMBOL vmlinux 0xd6a91f54 twl_i2c_read +EXPORT_SYMBOL vmlinux 0xd6b22cec ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0xd6b2ed5f generate_pm_trace +EXPORT_SYMBOL vmlinux 0xd6b33026 cpu_khz +EXPORT_SYMBOL vmlinux 0xd6bcad4c tty_register_driver +EXPORT_SYMBOL vmlinux 0xd6bcf78a key_payload_reserve +EXPORT_SYMBOL vmlinux 0xd6db5bd3 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0xd6de631d vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0xd6e7e15a fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0xd6eaaea1 full_name_hash +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6fdbcfa readahead_expand +EXPORT_SYMBOL vmlinux 0xd6fde043 is_module_sig_enforced +EXPORT_SYMBOL vmlinux 0xd6ff9384 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0xd7014e60 phy_start_aneg +EXPORT_SYMBOL vmlinux 0xd702e665 vfs_rename +EXPORT_SYMBOL vmlinux 0xd70af24d dev_addr_mod +EXPORT_SYMBOL vmlinux 0xd70d35a1 gf128mul_4k_bbe +EXPORT_SYMBOL vmlinux 0xd70f62b6 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xd7308677 __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0xd738ca1b phy_unregister_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd73c8c2b synchronize_shrinkers +EXPORT_SYMBOL vmlinux 0xd7482f05 vcalloc +EXPORT_SYMBOL vmlinux 0xd7527f6f twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0xd75523d5 vfs_create +EXPORT_SYMBOL vmlinux 0xd757d8b2 wireless_spy_update +EXPORT_SYMBOL vmlinux 0xd75d73b2 dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0xd75d9245 netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0xd774b771 pps_unregister_source +EXPORT_SYMBOL vmlinux 0xd786e4ad kern_unmount +EXPORT_SYMBOL vmlinux 0xd787a932 flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0xd790b333 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0xd7987177 utf8_load +EXPORT_SYMBOL vmlinux 0xd799c8c3 mipi_dsi_attach +EXPORT_SYMBOL vmlinux 0xd7a368a5 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0xd7aa6c9a xfrm_state_insert +EXPORT_SYMBOL vmlinux 0xd7ab02c6 genphy_resume +EXPORT_SYMBOL vmlinux 0xd7af58c1 mipi_dsi_set_maximum_return_packet_size +EXPORT_SYMBOL vmlinux 0xd7d280ad irq_poll_complete +EXPORT_SYMBOL vmlinux 0xd7dd777b reserve_perfctr_nmi +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7ea7094 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xd7fcb23b cdrom_ioctl +EXPORT_SYMBOL vmlinux 0xd80bbefd dev_mc_unsync +EXPORT_SYMBOL vmlinux 0xd81e02c9 inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0xd83512a9 blk_pre_runtime_resume +EXPORT_SYMBOL vmlinux 0xd842224e skb_checksum_setup +EXPORT_SYMBOL vmlinux 0xd8431a64 mmc_of_parse_voltage +EXPORT_SYMBOL vmlinux 0xd846c315 acpi_write_bit_register +EXPORT_SYMBOL vmlinux 0xd8725d2a __bio_advance +EXPORT_SYMBOL vmlinux 0xd882bb85 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0xd88637c9 single_release +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a83f79 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0xd8a994eb scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0xd8b17647 ps2_end_command +EXPORT_SYMBOL vmlinux 0xd8b61304 get_default_font +EXPORT_SYMBOL vmlinux 0xd8cc5fe8 netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0xd8cef6e1 clear_user +EXPORT_SYMBOL vmlinux 0xd8df08ac acpi_handle_printk +EXPORT_SYMBOL vmlinux 0xd8f60063 __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0xd901182b prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0xd9125473 __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0xd91f6ab6 strnlen_user +EXPORT_SYMBOL vmlinux 0xd92deb6b acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0xd933f209 __SCT__tp_func_rdpmc +EXPORT_SYMBOL vmlinux 0xd945909b blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xd9491c14 xa_destroy +EXPORT_SYMBOL vmlinux 0xd94fc513 kobject_init +EXPORT_SYMBOL vmlinux 0xd9554f49 __skb_gso_segment +EXPORT_SYMBOL vmlinux 0xd967f451 udp_seq_ops +EXPORT_SYMBOL vmlinux 0xd971c6c4 xen_arch_register_cpu +EXPORT_SYMBOL vmlinux 0xd976aa2a pci_scan_bridge +EXPORT_SYMBOL vmlinux 0xd97eed0a jbd2_fc_wait_bufs +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd993969b ppp_register_compressor +EXPORT_SYMBOL vmlinux 0xd9a5ea54 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xd9b85ef6 lockref_get +EXPORT_SYMBOL vmlinux 0xd9c3522a dquot_release +EXPORT_SYMBOL vmlinux 0xd9cc3eb1 textsearch_register +EXPORT_SYMBOL vmlinux 0xd9d09743 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xd9d64656 audit_log +EXPORT_SYMBOL vmlinux 0xd9d78434 mmc_cqe_request_done +EXPORT_SYMBOL vmlinux 0xd9d8fd16 register_restart_handler +EXPORT_SYMBOL vmlinux 0xd9d952d1 crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0xd9def41f finalize_exec +EXPORT_SYMBOL vmlinux 0xd9e51b3d sock_no_socketpair +EXPORT_SYMBOL vmlinux 0xd9eb3d9d set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0xd9f5a1fa insert_inode_locked +EXPORT_SYMBOL vmlinux 0xd9fcd497 __break_lease +EXPORT_SYMBOL vmlinux 0xd9fce623 follow_down_one +EXPORT_SYMBOL vmlinux 0xda01cc2d devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xda06b634 touch_buffer +EXPORT_SYMBOL vmlinux 0xda1600ca km_state_notify +EXPORT_SYMBOL vmlinux 0xda1ddef1 acpi_mark_gpe_for_wake +EXPORT_SYMBOL vmlinux 0xda268f12 clocksource_unregister +EXPORT_SYMBOL vmlinux 0xda26b8ea __irq_regs +EXPORT_SYMBOL vmlinux 0xda3d10a8 security_tun_dev_open +EXPORT_SYMBOL vmlinux 0xda3d809e kill_pgrp +EXPORT_SYMBOL vmlinux 0xda49148a __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xda601bde rt_dst_clone +EXPORT_SYMBOL vmlinux 0xda876a3e amd_iommu_complete_ppr +EXPORT_SYMBOL vmlinux 0xdaa16776 kmem_cache_free +EXPORT_SYMBOL vmlinux 0xdac4913a bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0xdad13544 ptrs_per_p4d +EXPORT_SYMBOL vmlinux 0xdad1fc3f zstd_flush_stream +EXPORT_SYMBOL vmlinux 0xdaec288d pr_flush +EXPORT_SYMBOL vmlinux 0xdb0df1c2 import_iovec +EXPORT_SYMBOL vmlinux 0xdb16b170 topology_phys_to_logical_pkg +EXPORT_SYMBOL vmlinux 0xdb2abde4 __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0xdb46a939 amd_iommu_flush_page +EXPORT_SYMBOL vmlinux 0xdb5fc5a2 vga_switcheroo_unregister_client +EXPORT_SYMBOL vmlinux 0xdb60f2f0 vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb95e185 intel_scu_ipc_dev_command_with_size +EXPORT_SYMBOL vmlinux 0xdba1b516 tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0xdba614cc end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xdbbb3391 cdev_init +EXPORT_SYMBOL vmlinux 0xdbcf041a acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0xdbda5d57 iov_iter_zero +EXPORT_SYMBOL vmlinux 0xdbdf6c92 ioport_resource +EXPORT_SYMBOL vmlinux 0xdbe06d2b __traceiter_mmap_lock_released +EXPORT_SYMBOL vmlinux 0xdbe36b7e netdev_alert +EXPORT_SYMBOL vmlinux 0xdbebe1f8 dm_put_device +EXPORT_SYMBOL vmlinux 0xdbee0973 generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0xdbfb3f3c ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0xdc03ce25 compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc18ea32 netdev_change_features +EXPORT_SYMBOL vmlinux 0xdc220991 inet6_ioctl +EXPORT_SYMBOL vmlinux 0xdc29307b sock_no_linger +EXPORT_SYMBOL vmlinux 0xdc49c198 reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0xdc512134 backlight_register_notifier +EXPORT_SYMBOL vmlinux 0xdc52966a d_find_any_alias +EXPORT_SYMBOL vmlinux 0xdc5736d5 acpi_register_ioapic +EXPORT_SYMBOL vmlinux 0xdc927e4c param_array_ops +EXPORT_SYMBOL vmlinux 0xdca7d4f8 agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0xdcc5621a dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0xdcdc0040 slhc_compress +EXPORT_SYMBOL vmlinux 0xdcef6e83 phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0xdd00447a acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0xdd0d40cd notify_change +EXPORT_SYMBOL vmlinux 0xdd18a993 acpi_check_dsm +EXPORT_SYMBOL vmlinux 0xdd2c169b mb_cache_create +EXPORT_SYMBOL vmlinux 0xdd5dc94f serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0xdd5e75ea textsearch_prepare +EXPORT_SYMBOL vmlinux 0xdd64e639 strscpy +EXPORT_SYMBOL vmlinux 0xdd7f5cab netpoll_setup +EXPORT_SYMBOL vmlinux 0xdd8166a1 dma_fence_free +EXPORT_SYMBOL vmlinux 0xdd849d51 scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0xdd8e13be pmem_sector_size +EXPORT_SYMBOL vmlinux 0xdd978190 ww_mutex_lock +EXPORT_SYMBOL vmlinux 0xdd97c9c0 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0xdd9c7c6a fs_context_for_mount +EXPORT_SYMBOL vmlinux 0xdda83e35 uart_suspend_port +EXPORT_SYMBOL vmlinux 0xddad7952 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xddcbe1f3 acpi_ut_value_exit +EXPORT_SYMBOL vmlinux 0xddea8440 bdi_unregister +EXPORT_SYMBOL vmlinux 0xddf4e039 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xddf6ad7a completion_done +EXPORT_SYMBOL vmlinux 0xde03e72c path_is_under +EXPORT_SYMBOL vmlinux 0xde0f181f md_error +EXPORT_SYMBOL vmlinux 0xde24be75 register_framebuffer +EXPORT_SYMBOL vmlinux 0xde293f9e add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xde334de2 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0xde3f7af8 security_binder_transfer_file +EXPORT_SYMBOL vmlinux 0xde40b5f1 agp_find_bridge +EXPORT_SYMBOL vmlinux 0xde4d4ace dim_calc_stats +EXPORT_SYMBOL vmlinux 0xde4eeab5 __register_nmi_handler +EXPORT_SYMBOL vmlinux 0xde538dab nd_region_release_lane +EXPORT_SYMBOL vmlinux 0xde5505cb __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0xde636a92 vfio_dma_rw +EXPORT_SYMBOL vmlinux 0xde80cd09 ioremap +EXPORT_SYMBOL vmlinux 0xde85a7af param_ops_uint +EXPORT_SYMBOL vmlinux 0xde860dc3 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0xde868508 update_devfreq +EXPORT_SYMBOL vmlinux 0xde8de3fe input_register_handle +EXPORT_SYMBOL vmlinux 0xde95a431 console_start +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xde9bd087 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0xded39a6b gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xdeefe45c dev_get_by_name +EXPORT_SYMBOL vmlinux 0xdef1a22b input_release_device +EXPORT_SYMBOL vmlinux 0xdef58587 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xdef7c893 fb_match_mode +EXPORT_SYMBOL vmlinux 0xdef8d0ae __SCT__tp_func_kfree +EXPORT_SYMBOL vmlinux 0xdf09d8c9 vme_unregister_bridge +EXPORT_SYMBOL vmlinux 0xdf19d2b7 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0xdf256037 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0xdf25c00d napi_gro_receive +EXPORT_SYMBOL vmlinux 0xdf2c2742 rb_last +EXPORT_SYMBOL vmlinux 0xdf2ebb87 _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xdf35be9a tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0xdf36914b xa_find_after +EXPORT_SYMBOL vmlinux 0xdf3d7e73 arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0xdf467080 __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0xdf54a8f7 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdf5cd72a vfs_ioctl +EXPORT_SYMBOL vmlinux 0xdf5dd225 elv_rb_add +EXPORT_SYMBOL vmlinux 0xdf687f4a pci_read_config_dword +EXPORT_SYMBOL vmlinux 0xdf6b082f proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf8d781f acpi_update_all_gpes +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf93b9d8 timespec64_to_jiffies +EXPORT_SYMBOL vmlinux 0xdf9e1ddb input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0xdfac75b1 mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0xdfc10c94 load_nls +EXPORT_SYMBOL vmlinux 0xdfc12ef1 zstd_decompress_stream +EXPORT_SYMBOL vmlinux 0xdfcc992c current_work +EXPORT_SYMBOL vmlinux 0xdfde1f61 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0xdfee1479 nd_dev_to_uuid +EXPORT_SYMBOL vmlinux 0xdff905e5 vme_slave_free +EXPORT_SYMBOL vmlinux 0xdffc80fc vesa_modes +EXPORT_SYMBOL vmlinux 0xdffede6c set_create_files_as +EXPORT_SYMBOL vmlinux 0xe0112fc4 __x86_indirect_thunk_r9 +EXPORT_SYMBOL vmlinux 0xe023f9c9 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xe02ba436 trace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xe02c9c92 __xa_erase +EXPORT_SYMBOL vmlinux 0xe033cb29 native_queued_spin_lock_slowpath +EXPORT_SYMBOL vmlinux 0xe03a689d dma_fence_array_ops +EXPORT_SYMBOL vmlinux 0xe0419ac4 kstrtos16 +EXPORT_SYMBOL vmlinux 0xe0447c1e in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xe04e105e tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0xe0543c77 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0xe070019a __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0xe07e5f44 acpi_reconfig_notifier_unregister +EXPORT_SYMBOL vmlinux 0xe080e8f0 set_current_groups +EXPORT_SYMBOL vmlinux 0xe082e88d acpi_check_address_range +EXPORT_SYMBOL vmlinux 0xe091c977 list_sort +EXPORT_SYMBOL vmlinux 0xe0a323f6 __do_once_slow_start +EXPORT_SYMBOL vmlinux 0xe0aa3d26 blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0baccff __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xe0c0d491 phy_attach +EXPORT_SYMBOL vmlinux 0xe0d2dc8f set_bh_page +EXPORT_SYMBOL vmlinux 0xe0daf7da inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0xe10a2e24 padata_do_parallel +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe11b17f0 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0xe123f3d9 dma_fence_release +EXPORT_SYMBOL vmlinux 0xe12bda79 vme_dma_free_attribute +EXPORT_SYMBOL vmlinux 0xe1364122 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xe138fb8c percpu_counter_add_batch +EXPORT_SYMBOL vmlinux 0xe13a2160 tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe149dfae bio_add_page +EXPORT_SYMBOL vmlinux 0xe14c1efe bdi_put +EXPORT_SYMBOL vmlinux 0xe15d7ba0 kernel_getsockname +EXPORT_SYMBOL vmlinux 0xe1613e67 _dev_info +EXPORT_SYMBOL vmlinux 0xe163deac flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0xe16986ed copy_page_from_iter +EXPORT_SYMBOL vmlinux 0xe187d234 netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0xe199b690 xfrm4_protocol_deregister +EXPORT_SYMBOL vmlinux 0xe1b6a933 phy_request_interrupt +EXPORT_SYMBOL vmlinux 0xe1bee700 __traceiter_read_msr +EXPORT_SYMBOL vmlinux 0xe1ccef30 netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0xe1dcf64a audit_log_format +EXPORT_SYMBOL vmlinux 0xe1f4722e tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0xe207445f xfrm4_rcv +EXPORT_SYMBOL vmlinux 0xe21f18ac __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0xe2308bde inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0xe2392bed set_anon_super +EXPORT_SYMBOL vmlinux 0xe24063df serio_reconnect +EXPORT_SYMBOL vmlinux 0xe2527e84 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xe27032bc phy_driver_unregister +EXPORT_SYMBOL vmlinux 0xe2714d6c con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xe273d75d alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2d76735 mipi_dsi_dcs_write +EXPORT_SYMBOL vmlinux 0xe2e28fc0 __traceiter_write_msr +EXPORT_SYMBOL vmlinux 0xe2e391ad nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0xe2f1fe7a kernel_connect +EXPORT_SYMBOL vmlinux 0xe2f6be14 ps2_begin_command +EXPORT_SYMBOL vmlinux 0xe2fb22bc __neigh_event_send +EXPORT_SYMBOL vmlinux 0xe3258de2 sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0xe32ab4d8 xxh64_digest +EXPORT_SYMBOL vmlinux 0xe3390022 elv_rb_find +EXPORT_SYMBOL vmlinux 0xe33fff54 dev_load +EXPORT_SYMBOL vmlinux 0xe34feff0 finish_no_open +EXPORT_SYMBOL vmlinux 0xe3556822 vmap +EXPORT_SYMBOL vmlinux 0xe39b2ea5 sha256 +EXPORT_SYMBOL vmlinux 0xe3d857ea __cpu_active_mask +EXPORT_SYMBOL vmlinux 0xe3e73d52 phy_find_first +EXPORT_SYMBOL vmlinux 0xe3e82ba1 dquot_get_state +EXPORT_SYMBOL vmlinux 0xe3ec2f2b alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0xe3feba56 tasklet_unlock_spin_wait +EXPORT_SYMBOL vmlinux 0xe3ff2c41 get_random_u64 +EXPORT_SYMBOL vmlinux 0xe406532c i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0xe40976c0 pnp_range_reserved +EXPORT_SYMBOL vmlinux 0xe40c37ea down_write_trylock +EXPORT_SYMBOL vmlinux 0xe419bc99 iowrite32be +EXPORT_SYMBOL vmlinux 0xe41d41d4 pldmfw_op_pci_match_record +EXPORT_SYMBOL vmlinux 0xe4329092 __ctzdi2 +EXPORT_SYMBOL vmlinux 0xe453374a param_get_invbool +EXPORT_SYMBOL vmlinux 0xe45892d9 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0xe46021ca _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0xe47d6088 sock_no_bind +EXPORT_SYMBOL vmlinux 0xe48a00cb tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0xe48a4359 rproc_put +EXPORT_SYMBOL vmlinux 0xe49269f5 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0xe4986398 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xe4a9b76d jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xe4bc2c2f hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0xe4c8e8e5 pci_request_irq +EXPORT_SYMBOL vmlinux 0xe4ce7e3c __starget_for_each_device +EXPORT_SYMBOL vmlinux 0xe4d80bf4 acpi_enable +EXPORT_SYMBOL vmlinux 0xe4d9f21e d_instantiate +EXPORT_SYMBOL vmlinux 0xe4dad4fd qdisc_hash_del +EXPORT_SYMBOL vmlinux 0xe4fdfdd7 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe54a57d2 __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0xe54ad183 crypto_kdf108_setkey +EXPORT_SYMBOL vmlinux 0xe551fe65 skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0xe5630310 may_umount +EXPORT_SYMBOL vmlinux 0xe5738d2b skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0xe578caea proc_symlink +EXPORT_SYMBOL vmlinux 0xe58090ca security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0xe590dea3 sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0xe5c4eb03 key_put +EXPORT_SYMBOL vmlinux 0xe5c60bd2 percpu_counter_set +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5d1916f agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0xe5ddb677 dev_alloc_name +EXPORT_SYMBOL vmlinux 0xe5e0c705 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0xe5faaa8b inet_protos +EXPORT_SYMBOL vmlinux 0xe602bf95 phy_driver_register +EXPORT_SYMBOL vmlinux 0xe6083b27 dm_table_get_md +EXPORT_SYMBOL vmlinux 0xe60b6e65 inode_init_once +EXPORT_SYMBOL vmlinux 0xe613a798 inet_addr_is_any +EXPORT_SYMBOL vmlinux 0xe625f6f3 component_match_add_release +EXPORT_SYMBOL vmlinux 0xe636c091 dm_register_target +EXPORT_SYMBOL vmlinux 0xe6373538 param_ops_ullong +EXPORT_SYMBOL vmlinux 0xe647e3e8 pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0xe64b9c06 param_set_copystring +EXPORT_SYMBOL vmlinux 0xe6550092 utf8_casefold +EXPORT_SYMBOL vmlinux 0xe68ae006 genphy_read_status +EXPORT_SYMBOL vmlinux 0xe68efe41 _raw_write_lock +EXPORT_SYMBOL vmlinux 0xe69f9c04 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xe69fd3e8 vlan_uses_dev +EXPORT_SYMBOL vmlinux 0xe6b7d95e xp_dma_unmap +EXPORT_SYMBOL vmlinux 0xe6baa0c9 mmc_start_request +EXPORT_SYMBOL vmlinux 0xe6c114c4 may_umount_tree +EXPORT_SYMBOL vmlinux 0xe6c52064 netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0xe6d2458e do_trace_netlink_extack +EXPORT_SYMBOL vmlinux 0xe6e354d1 inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0xe6ed0de3 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0xe6fa06a2 rename_lock +EXPORT_SYMBOL vmlinux 0xe7036649 build_skb_around +EXPORT_SYMBOL vmlinux 0xe70877d4 acpi_remove_sci_handler +EXPORT_SYMBOL vmlinux 0xe70a8caa bio_integrity_trim +EXPORT_SYMBOL vmlinux 0xe7257ab8 xa_store_range +EXPORT_SYMBOL vmlinux 0xe72c87bc scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0xe73c5910 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xe7407771 mipi_dsi_dcs_set_display_brightness_large +EXPORT_SYMBOL vmlinux 0xe75a9284 devm_clk_put +EXPORT_SYMBOL vmlinux 0xe75d2dd8 kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xe767e491 find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0xe76d5250 seq_release_private +EXPORT_SYMBOL vmlinux 0xe770be8e sk_ns_capable +EXPORT_SYMBOL vmlinux 0xe787698f acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0xe796ecac __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xe79b91a7 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xe79cb9a2 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0xe7a02573 ida_alloc_range +EXPORT_SYMBOL vmlinux 0xe7ab1ecc _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0xe7bef42a md_update_sb +EXPORT_SYMBOL vmlinux 0xe7c4e03f unregister_qdisc +EXPORT_SYMBOL vmlinux 0xe7c83ffc vlan_vid_add +EXPORT_SYMBOL vmlinux 0xe7ce2b15 dquot_scan_active +EXPORT_SYMBOL vmlinux 0xe7cf44f0 task_work_add +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7d584a9 twl6040_set_pll +EXPORT_SYMBOL vmlinux 0xe7eedcd6 pci_biosrom_size +EXPORT_SYMBOL vmlinux 0xe80ddd9d path_get +EXPORT_SYMBOL vmlinux 0xe8126b03 tcp_splice_read +EXPORT_SYMBOL vmlinux 0xe82d01b1 cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0xe8330a5a call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0xe83692e9 input_flush_device +EXPORT_SYMBOL vmlinux 0xe8404727 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0xe858e366 dev_change_flags +EXPORT_SYMBOL vmlinux 0xe85f2123 acpi_tb_unload_table +EXPORT_SYMBOL vmlinux 0xe861a2f6 wake_up_process +EXPORT_SYMBOL vmlinux 0xe863d90f lookup_one_unlocked +EXPORT_SYMBOL vmlinux 0xe879371b tty_unthrottle +EXPORT_SYMBOL vmlinux 0xe8ab7d65 flush_signals +EXPORT_SYMBOL vmlinux 0xe8b2ae62 pldmfw_flash_image +EXPORT_SYMBOL vmlinux 0xe8cfb2e5 get_user_pages +EXPORT_SYMBOL vmlinux 0xe8ddd5b7 inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0xe8e921a4 genlmsg_put +EXPORT_SYMBOL vmlinux 0xe8f2f39d dev_add_pack +EXPORT_SYMBOL vmlinux 0xe8f85cfa fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0xe8fbf4fa __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0xe901f035 mipi_dsi_host_register +EXPORT_SYMBOL vmlinux 0xe909997a bitmap_print_list_to_buf +EXPORT_SYMBOL vmlinux 0xe911d5ed noop_dirty_folio +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe91adf3d set_binfmt +EXPORT_SYMBOL vmlinux 0xe928b883 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0xe9318923 try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xe93a0fb9 devm_mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0xe9439599 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0xe94e8018 secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe98b2d09 flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0xe9902e02 inc_nlink +EXPORT_SYMBOL vmlinux 0xe99769be phy_get_internal_delay +EXPORT_SYMBOL vmlinux 0xe9a5e67f intel_graphics_stolen_res +EXPORT_SYMBOL vmlinux 0xe9af7397 __xa_set_mark +EXPORT_SYMBOL vmlinux 0xe9b372f2 d_add +EXPORT_SYMBOL vmlinux 0xe9dc12a4 zstd_get_error_name +EXPORT_SYMBOL vmlinux 0xe9e45181 reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0xe9e4ade9 pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0xe9e8faeb efi_tpm_final_log_size +EXPORT_SYMBOL vmlinux 0xe9e9c181 qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0xe9f4c674 skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0xe9ffc063 down_trylock +EXPORT_SYMBOL vmlinux 0xea01ca65 ppp_unit_number +EXPORT_SYMBOL vmlinux 0xea02e851 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0xea0d1b61 ip_frag_next +EXPORT_SYMBOL vmlinux 0xea2689e4 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0xea3803a7 blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0xea3b5c66 cdev_device_del +EXPORT_SYMBOL vmlinux 0xea3c8e4e scsilun_to_int +EXPORT_SYMBOL vmlinux 0xea513a5f max8925_set_bits +EXPORT_SYMBOL vmlinux 0xea58456f neigh_seq_stop +EXPORT_SYMBOL vmlinux 0xea6f251f tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0xea6f9a36 zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0xea778fab sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0xea9d08a0 dma_find_channel +EXPORT_SYMBOL vmlinux 0xea9f4191 __tracepoint_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0xeaab6dcf eth_header +EXPORT_SYMBOL vmlinux 0xeab63b3b gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0xeab6f4c4 acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xead373dc folio_migrate_flags +EXPORT_SYMBOL vmlinux 0xeadb1ffa skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0xeadc7254 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0xeadce67e vga_switcheroo_register_audio_client +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeafc141f __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeb066bb5 is_nd_pfn +EXPORT_SYMBOL vmlinux 0xeb078aee _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xeb11c9c9 set_page_writeback +EXPORT_SYMBOL vmlinux 0xeb1e66bf sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xeb233a45 __kmalloc +EXPORT_SYMBOL vmlinux 0xeb31aee8 acpi_trace_point +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb3b018f dm_table_get_size +EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact +EXPORT_SYMBOL vmlinux 0xeb4901b8 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0xeb59f813 vm_map_pages +EXPORT_SYMBOL vmlinux 0xeb76fea8 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xeb7f6046 acpi_get_devices +EXPORT_SYMBOL vmlinux 0xeb9cc3ab phy_device_create +EXPORT_SYMBOL vmlinux 0xeb9e913d sgl_alloc_order +EXPORT_SYMBOL vmlinux 0xeb9eef52 match_uint +EXPORT_SYMBOL vmlinux 0xeba99df9 skb_trim +EXPORT_SYMBOL vmlinux 0xebad0387 clk_add_alias +EXPORT_SYMBOL vmlinux 0xebe8b479 register_sysctl_mount_point +EXPORT_SYMBOL vmlinux 0xebe9de3c dquot_file_open +EXPORT_SYMBOL vmlinux 0xec0586c6 blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xec0c11ab pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0xec2b8a42 acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0xec2e1c8f proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0xec468b72 inet_frags_init +EXPORT_SYMBOL vmlinux 0xec473692 xen_alloc_unpopulated_pages +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec59ce62 pci_find_bus +EXPORT_SYMBOL vmlinux 0xec6c09e1 create_empty_buffers +EXPORT_SYMBOL vmlinux 0xec70016f kill_anon_super +EXPORT_SYMBOL vmlinux 0xec817dba blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0xec82bc97 migrate_vma_setup +EXPORT_SYMBOL vmlinux 0xecac8407 __memcpy +EXPORT_SYMBOL vmlinux 0xecb9e422 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0xecbc4681 sync_file_create +EXPORT_SYMBOL vmlinux 0xecc1f03d __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0xecd7b61c jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0xecd9d418 pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0xecdcabd2 copy_user_generic_unrolled +EXPORT_SYMBOL vmlinux 0xece75335 netdev_features_change +EXPORT_SYMBOL vmlinux 0xece784c2 rb_first +EXPORT_SYMBOL vmlinux 0xecf5961d mdio_device_create +EXPORT_SYMBOL vmlinux 0xecfd68ef acpi_get_node +EXPORT_SYMBOL vmlinux 0xed00c4fb acpi_os_printf +EXPORT_SYMBOL vmlinux 0xed238617 __put_cred +EXPORT_SYMBOL vmlinux 0xed347895 inode_insert5 +EXPORT_SYMBOL vmlinux 0xed34ebbc acpi_any_gpe_status_set +EXPORT_SYMBOL vmlinux 0xed3a5bfc blk_pm_runtime_init +EXPORT_SYMBOL vmlinux 0xed55f929 acpi_os_unmap_generic_address +EXPORT_SYMBOL vmlinux 0xed656e30 udp_encap_disable +EXPORT_SYMBOL vmlinux 0xed6d0232 max8925_reg_write +EXPORT_SYMBOL vmlinux 0xed7f96e3 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0xed8e36e1 skb_vlan_pop +EXPORT_SYMBOL vmlinux 0xedb9d6ab migrate_page +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedbd3ec4 md_integrity_register +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedc3cb6d keyring_clear +EXPORT_SYMBOL vmlinux 0xedc4fe17 udp_gro_receive +EXPORT_SYMBOL vmlinux 0xedd17b31 sock_get_timeout +EXPORT_SYMBOL vmlinux 0xedd8af50 empty_aops +EXPORT_SYMBOL vmlinux 0xedec9356 d_find_alias +EXPORT_SYMBOL vmlinux 0xee07b29b watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0xee124608 input_match_device_id +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee58e970 fb_add_videomode +EXPORT_SYMBOL vmlinux 0xee6ef63a pcie_get_mps +EXPORT_SYMBOL vmlinux 0xee7301da vfs_mknod +EXPORT_SYMBOL vmlinux 0xee7d7deb gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xee883b06 __vmalloc_array +EXPORT_SYMBOL vmlinux 0xee8c02e9 vprintk_emit +EXPORT_SYMBOL vmlinux 0xee8d74d6 jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0xee91879b rb_first_postorder +EXPORT_SYMBOL vmlinux 0xee957670 ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0xeea5f34f dev_addr_del +EXPORT_SYMBOL vmlinux 0xeea71dfe serio_close +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeeb03607 netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0xeec0e656 netdev_bonding_info_change +EXPORT_SYMBOL vmlinux 0xeec5b695 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0xeecac61e nf_ct_attach +EXPORT_SYMBOL vmlinux 0xeed1cf57 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0xeee56b8a skb_eth_gso_segment +EXPORT_SYMBOL vmlinux 0xeeefcd1f find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0xef001718 dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0xef071b09 kthread_create_on_cpu +EXPORT_SYMBOL vmlinux 0xef0fb407 mmc_cqe_post_req +EXPORT_SYMBOL vmlinux 0xef1c96c1 pcim_iounmap +EXPORT_SYMBOL vmlinux 0xef434bf6 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0xef653244 block_write_full_page +EXPORT_SYMBOL vmlinux 0xef9aedfc boot_option_idle_override +EXPORT_SYMBOL vmlinux 0xefa5401e sock_pfree +EXPORT_SYMBOL vmlinux 0xefaf2e4f tcf_queue_work +EXPORT_SYMBOL vmlinux 0xefcea2e7 acpi_warning +EXPORT_SYMBOL vmlinux 0xefe3472a nf_register_net_hook +EXPORT_SYMBOL vmlinux 0xefee932c acpi_get_data_full +EXPORT_SYMBOL vmlinux 0xeff56b42 __nlmsg_put +EXPORT_SYMBOL vmlinux 0xeffb1610 inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf0160a93 agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0xf01f3551 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0xf029a4e7 ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0xf02aa937 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xf04f1a62 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0xf05c32ad rdmsr_on_cpus +EXPORT_SYMBOL vmlinux 0xf0693276 cdrom_open +EXPORT_SYMBOL vmlinux 0xf06fc4eb flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0xf089ec18 passthru_features_check +EXPORT_SYMBOL vmlinux 0xf09b5d9a get_zeroed_page +EXPORT_SYMBOL vmlinux 0xf0a71b1b revert_creds +EXPORT_SYMBOL vmlinux 0xf0c22183 inet_sendpage +EXPORT_SYMBOL vmlinux 0xf0cd46bf param_get_ushort +EXPORT_SYMBOL vmlinux 0xf0e8fbdd invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0xf112665f udp6_set_csum +EXPORT_SYMBOL vmlinux 0xf117368d pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xf11dd46e _page_poisoning_enabled_early +EXPORT_SYMBOL vmlinux 0xf13fae60 agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0xf145ee2d i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0xf151f5df tso_build_hdr +EXPORT_SYMBOL vmlinux 0xf161c4d8 sock_recvmsg +EXPORT_SYMBOL vmlinux 0xf161ff6e param_get_uint +EXPORT_SYMBOL vmlinux 0xf17e4ce3 reuseport_has_conns_set +EXPORT_SYMBOL vmlinux 0xf17efd2d mod_node_page_state +EXPORT_SYMBOL vmlinux 0xf1848ee2 acpi_install_sci_handler +EXPORT_SYMBOL vmlinux 0xf1854935 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1969a8e __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xf1a65f7b zstd_reset_dstream +EXPORT_SYMBOL vmlinux 0xf1a68107 acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0xf1a87b95 agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0xf1d6dd82 locks_delete_block +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e046cc panic +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1fe5d5d __devm_release_region +EXPORT_SYMBOL vmlinux 0xf1feb77b phy_connect_direct +EXPORT_SYMBOL vmlinux 0xf214f62a end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0xf2189d6d tty_unlock +EXPORT_SYMBOL vmlinux 0xf224f6a3 drop_nlink +EXPORT_SYMBOL vmlinux 0xf23564ee tcf_block_put +EXPORT_SYMBOL vmlinux 0xf23dd7dd __kfree_skb +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf251e968 seq_file_path +EXPORT_SYMBOL vmlinux 0xf261f3a4 generic_fadvise +EXPORT_SYMBOL vmlinux 0xf2628676 zstd_compress_cctx +EXPORT_SYMBOL vmlinux 0xf26937f0 skb_find_text +EXPORT_SYMBOL vmlinux 0xf2762d0d vga_switcheroo_register_client +EXPORT_SYMBOL vmlinux 0xf27cefe5 netif_set_real_num_queues +EXPORT_SYMBOL vmlinux 0xf2856c2f eth_get_headlen +EXPORT_SYMBOL vmlinux 0xf28cf0ae __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf28ed6e2 machine_to_phys_nr +EXPORT_SYMBOL vmlinux 0xf29403e5 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xf29f8515 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0xf2a88197 neigh_carrier_down +EXPORT_SYMBOL vmlinux 0xf2b81b64 arch_io_reserve_memtype_wc +EXPORT_SYMBOL vmlinux 0xf2bfa15a xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xf2c0c52e proc_create_single_data +EXPORT_SYMBOL vmlinux 0xf2c172ca ps2_handle_response +EXPORT_SYMBOL vmlinux 0xf2c43f3f zlib_deflate +EXPORT_SYMBOL vmlinux 0xf2cce03d alloc_anon_inode +EXPORT_SYMBOL vmlinux 0xf2d9de94 __module_get +EXPORT_SYMBOL vmlinux 0xf2e1e568 sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0xf2e5bd87 security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0xf2f53617 memregion_free +EXPORT_SYMBOL vmlinux 0xf2f88b7f param_ops_int +EXPORT_SYMBOL vmlinux 0xf30965ac iosf_mbi_register_pmic_bus_access_notifier +EXPORT_SYMBOL vmlinux 0xf3107926 sha224_update +EXPORT_SYMBOL vmlinux 0xf329d3ba mipi_dsi_dcs_get_pixel_format +EXPORT_SYMBOL vmlinux 0xf32b5724 skb_vlan_push +EXPORT_SYMBOL vmlinux 0xf33d3652 tcp_conn_request +EXPORT_SYMBOL vmlinux 0xf341ee35 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf353a698 register_module_notifier +EXPORT_SYMBOL vmlinux 0xf3594151 f_setown +EXPORT_SYMBOL vmlinux 0xf36f42a9 slhc_uncompress +EXPORT_SYMBOL vmlinux 0xf3726541 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0xf3777b69 netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0xf380852c blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0xf38fafd8 napi_disable +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf392ffc6 __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0xf3932313 mb_cache_entry_wait_unused +EXPORT_SYMBOL vmlinux 0xf3a57892 release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xf3a7e84c inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xf3b74152 mipi_dsi_dcs_get_display_brightness +EXPORT_SYMBOL vmlinux 0xf3b76af6 __skb_checksum +EXPORT_SYMBOL vmlinux 0xf3e0e1df allocate_resource +EXPORT_SYMBOL vmlinux 0xf3ed7df5 d_path +EXPORT_SYMBOL vmlinux 0xf3fac923 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0xf3fc8a70 ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0xf402298d set_pages_uc +EXPORT_SYMBOL vmlinux 0xf4075b9f pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xf4196605 inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0xf4318aa2 blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0xf432ed1c netif_receive_skb +EXPORT_SYMBOL vmlinux 0xf43d2caa acpi_remove_interface +EXPORT_SYMBOL vmlinux 0xf4415154 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0xf44a904a net_ns_barrier +EXPORT_SYMBOL vmlinux 0xf452947b flow_rule_match_meta +EXPORT_SYMBOL vmlinux 0xf46ecaf5 bio_split +EXPORT_SYMBOL vmlinux 0xf474c21c bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0xf474fdcb kfree_const +EXPORT_SYMBOL vmlinux 0xf485cf0a pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0xf4a565fd wrmsr_on_cpus +EXPORT_SYMBOL vmlinux 0xf4b754fd acpi_resources_are_enforced +EXPORT_SYMBOL vmlinux 0xf4b98de8 netlink_broadcast +EXPORT_SYMBOL vmlinux 0xf4db35bc stpcpy +EXPORT_SYMBOL vmlinux 0xf4de46d4 mdiobus_register_device +EXPORT_SYMBOL vmlinux 0xf4ec2ca2 skb_ext_add +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4ffddec rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0xf50fb1df nd_pfn_validate +EXPORT_SYMBOL vmlinux 0xf5170587 vfs_setpos +EXPORT_SYMBOL vmlinux 0xf521e3d9 pci_match_id +EXPORT_SYMBOL vmlinux 0xf52e4101 qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf5630477 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xf571874c platform_get_ethdev_address +EXPORT_SYMBOL vmlinux 0xf57b29fe mipi_dsi_dcs_set_page_address +EXPORT_SYMBOL vmlinux 0xf591753d nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xf59cc260 qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0xf5a20ed2 __genradix_prealloc +EXPORT_SYMBOL vmlinux 0xf5a5c84c msrs_alloc +EXPORT_SYMBOL vmlinux 0xf5add0ae ns_capable_setid +EXPORT_SYMBOL vmlinux 0xf5b9971a d_alloc +EXPORT_SYMBOL vmlinux 0xf5bc7a81 dst_destroy +EXPORT_SYMBOL vmlinux 0xf5def716 iput +EXPORT_SYMBOL vmlinux 0xf5e7ea40 ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0xf5f3432f _dev_notice +EXPORT_SYMBOL vmlinux 0xf607b3bd dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0xf60a5c39 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xf60ab926 acpi_get_event_status +EXPORT_SYMBOL vmlinux 0xf63be63c tso_count_descs +EXPORT_SYMBOL vmlinux 0xf643d104 hsiphash_4u32 +EXPORT_SYMBOL vmlinux 0xf665f74f sock_load_diag_module +EXPORT_SYMBOL vmlinux 0xf67c6534 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0xf68285c0 register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xf6885cce scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xf6ad5ee4 i2c_transfer_buffer_flags +EXPORT_SYMBOL vmlinux 0xf6bd4d5c xfrm_register_km +EXPORT_SYMBOL vmlinux 0xf6c6c98f vme_register_driver +EXPORT_SYMBOL vmlinux 0xf6d7fa86 md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0xf6da8227 devm_devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6ef7103 seq_vprintf +EXPORT_SYMBOL vmlinux 0xf6f9d58d init_on_free +EXPORT_SYMBOL vmlinux 0xf6fc8791 __bitmap_xor +EXPORT_SYMBOL vmlinux 0xf71b31f6 mmc_can_trim +EXPORT_SYMBOL vmlinux 0xf72741e3 device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0xf72fd801 __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0xf7370f56 system_state +EXPORT_SYMBOL vmlinux 0xf738d1be register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xf77337a1 hdmi_audio_infoframe_check +EXPORT_SYMBOL vmlinux 0xf7743053 param_set_byte +EXPORT_SYMBOL vmlinux 0xf7772890 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0xf784176b adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0xf7978941 input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0xf79a3e9d noop_llseek +EXPORT_SYMBOL vmlinux 0xf79ca3bb acpi_remove_gpe_block +EXPORT_SYMBOL vmlinux 0xf7bfeead xfrm_init_state +EXPORT_SYMBOL vmlinux 0xf7d31de9 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0xf7da6e6f acpi_unload_table +EXPORT_SYMBOL vmlinux 0xf7de5bb3 filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0xf7e2da5a pci_release_regions +EXPORT_SYMBOL vmlinux 0xf7e851df __scm_send +EXPORT_SYMBOL vmlinux 0xf7ef9a79 iosf_mbi_punit_release +EXPORT_SYMBOL vmlinux 0xf7f14c12 param_ops_long +EXPORT_SYMBOL vmlinux 0xf7faf8aa mipi_dsi_device_register_full +EXPORT_SYMBOL vmlinux 0xf80be44e rdmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf812cff6 memscan +EXPORT_SYMBOL vmlinux 0xf8212981 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xf823b6cf xp_raw_get_data +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82ec573 rb_prev +EXPORT_SYMBOL vmlinux 0xf83afb6a tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0xf842b711 vfio_pin_pages +EXPORT_SYMBOL vmlinux 0xf84bd6ee bpf_stats_enabled_key +EXPORT_SYMBOL vmlinux 0xf84e7a20 __folio_alloc +EXPORT_SYMBOL vmlinux 0xf858f1b1 max8925_bulk_write +EXPORT_SYMBOL vmlinux 0xf87b7382 kmem_cache_alloc_lru +EXPORT_SYMBOL vmlinux 0xf888ca21 sg_init_table +EXPORT_SYMBOL vmlinux 0xf88e0778 __fs_parse +EXPORT_SYMBOL vmlinux 0xf8904899 rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0xf8a2235b __phy_read_mmd +EXPORT_SYMBOL vmlinux 0xf8a398f8 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xf8d07858 bitmap_from_arr32 +EXPORT_SYMBOL vmlinux 0xf8d2bc2c zstd_find_frame_compressed_size +EXPORT_SYMBOL vmlinux 0xf8d2f848 d_mark_dontcache +EXPORT_SYMBOL vmlinux 0xf8f61ebc wake_up_var +EXPORT_SYMBOL vmlinux 0xf90a1e85 __x86_indirect_thunk_r8 +EXPORT_SYMBOL vmlinux 0xf915f2c9 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xf93fd09c fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xf9532c51 mipi_dsi_dcs_nop +EXPORT_SYMBOL vmlinux 0xf969e188 dma_fence_array_next +EXPORT_SYMBOL vmlinux 0xf96f06b2 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0xf9722676 twl_i2c_write +EXPORT_SYMBOL vmlinux 0xf978393f __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xf98c3b43 cdrom_check_events +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9acc79c consume_skb +EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat +EXPORT_SYMBOL vmlinux 0xf9ca2eb4 kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0xf9cf8a81 remap_pfn_range +EXPORT_SYMBOL vmlinux 0xf9f64612 page_readlink +EXPORT_SYMBOL vmlinux 0xfa042227 gnet_stats_add_basic +EXPORT_SYMBOL vmlinux 0xfa08c34a page_offline_end +EXPORT_SYMBOL vmlinux 0xfa297415 acpi_map_pxm_to_node +EXPORT_SYMBOL vmlinux 0xfa2e5f32 i2c_smbus_pec +EXPORT_SYMBOL vmlinux 0xfa357380 get_acl +EXPORT_SYMBOL vmlinux 0xfa41bb7d blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0xfa4f9721 dev_pm_opp_unregister_notifier +EXPORT_SYMBOL vmlinux 0xfa599bb2 netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xfa630717 kfree_skb_reason +EXPORT_SYMBOL vmlinux 0xfa6bc166 sock_from_file +EXPORT_SYMBOL vmlinux 0xfa71461a tcp_sync_mss +EXPORT_SYMBOL vmlinux 0xfa790545 rw_verify_area +EXPORT_SYMBOL vmlinux 0xfa7b109e scm_detach_fds +EXPORT_SYMBOL vmlinux 0xfa802cee con_is_bound +EXPORT_SYMBOL vmlinux 0xfa9b5194 __traceiter_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xfaaa12d0 _page_poisoning_enabled +EXPORT_SYMBOL vmlinux 0xfab2b671 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0xfab8a6b4 proc_set_user +EXPORT_SYMBOL vmlinux 0xfabdac18 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0xfac191bc pci_irq_vector +EXPORT_SYMBOL vmlinux 0xfac19588 __clear_user +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfae54c79 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xfaf0c0df jbd2_wait_inode_data +EXPORT_SYMBOL vmlinux 0xfb05f5f0 may_setattr +EXPORT_SYMBOL vmlinux 0xfb19664b tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xfb261e5c __mdiobus_read +EXPORT_SYMBOL vmlinux 0xfb308d79 t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0xfb348fea fault_in_safe_writeable +EXPORT_SYMBOL vmlinux 0xfb384d37 kasprintf +EXPORT_SYMBOL vmlinux 0xfb386b38 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0xfb578fc5 memset +EXPORT_SYMBOL vmlinux 0xfb6a8105 sock_set_reuseport +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb78c595 rproc_coredump_using_sections +EXPORT_SYMBOL vmlinux 0xfb7babac is_nd_btt +EXPORT_SYMBOL vmlinux 0xfb87f096 dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0xfb8ffa6f devfreq_update_interval +EXPORT_SYMBOL vmlinux 0xfba78a10 scsi_device_get +EXPORT_SYMBOL vmlinux 0xfba7ddd2 match_u64 +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbab1bb1 ioread8_rep +EXPORT_SYMBOL vmlinux 0xfbad3cf0 scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0xfbb32792 xfrm_state_add +EXPORT_SYMBOL vmlinux 0xfbb8a761 strscpy_pad +EXPORT_SYMBOL vmlinux 0xfbbc337e scsi_host_lookup +EXPORT_SYMBOL vmlinux 0xfbc4f89e io_schedule_timeout +EXPORT_SYMBOL vmlinux 0xfbd66ec9 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xfbe8ee28 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0xfbe9e8ca mpage_writepages +EXPORT_SYMBOL vmlinux 0xfbfb19a6 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0xfc0d6b7c ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0xfc10ea09 dcache_readdir +EXPORT_SYMBOL vmlinux 0xfc14b401 update_region +EXPORT_SYMBOL vmlinux 0xfc14de7e do_clone_file_range +EXPORT_SYMBOL vmlinux 0xfc1f93a1 pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0xfc23b42a __SCK__tp_func_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0xfc307007 dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0xfc336d2e __wake_up_bit +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc3a66fe ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0xfc3d53cb __put_user_nocheck_1 +EXPORT_SYMBOL vmlinux 0xfc4152fc ec_read +EXPORT_SYMBOL vmlinux 0xfc421e79 gnet_stats_add_queue +EXPORT_SYMBOL vmlinux 0xfc641330 arp_create +EXPORT_SYMBOL vmlinux 0xfc7faedd dev_mc_del +EXPORT_SYMBOL vmlinux 0xfc8011f1 __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0xfc850a9b rproc_boot +EXPORT_SYMBOL vmlinux 0xfcaee569 skb_push +EXPORT_SYMBOL vmlinux 0xfcb440ef mfd_remove_devices +EXPORT_SYMBOL vmlinux 0xfcd1819a hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0xfcda7164 pnpacpi_protocol +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcf8ae68 xp_can_alloc +EXPORT_SYMBOL vmlinux 0xfd17fc84 __generic_file_fsync +EXPORT_SYMBOL vmlinux 0xfd1d666b dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0xfd30085d vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0xfd30d80a get_vm_area +EXPORT_SYMBOL vmlinux 0xfd37c5e5 twl6040_power +EXPORT_SYMBOL vmlinux 0xfd487ca4 file_path +EXPORT_SYMBOL vmlinux 0xfd7d771b device_add_disk +EXPORT_SYMBOL vmlinux 0xfd8b6efc __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0xfd93ee35 ioremap_wc +EXPORT_SYMBOL vmlinux 0xfd9c4a3e mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0xfd9fe497 pci_restore_state +EXPORT_SYMBOL vmlinux 0xfdb6576f acpi_set_debugger_thread_id +EXPORT_SYMBOL vmlinux 0xfdbae8fa redraw_screen +EXPORT_SYMBOL vmlinux 0xfdcb4ed3 acpi_os_get_line +EXPORT_SYMBOL vmlinux 0xfdcc8a0e fb_find_best_display +EXPORT_SYMBOL vmlinux 0xfdd4216d pcibios_align_resource +EXPORT_SYMBOL vmlinux 0xfdd79d43 flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0xfdfb792f amd_iommu_pc_supported +EXPORT_SYMBOL vmlinux 0xfdfb91d6 flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0xfe029963 unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xfe052363 ioread64_lo_hi +EXPORT_SYMBOL vmlinux 0xfe1d2e94 key_create_or_update +EXPORT_SYMBOL vmlinux 0xfe241ff3 xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0xfe2b5335 seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0xfe487975 init_wait_entry +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe64fb1c iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0xfe6c3a2b filemap_invalidate_lock_two +EXPORT_SYMBOL vmlinux 0xfe8c61f0 _raw_read_lock +EXPORT_SYMBOL vmlinux 0xfe916dc6 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0xfe942434 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xfe9a56d3 xp_free +EXPORT_SYMBOL vmlinux 0xfe9ebbbb acpi_osi_is_win8 +EXPORT_SYMBOL vmlinux 0xfea3c96a pci_disable_msi +EXPORT_SYMBOL vmlinux 0xfeb51e32 skb_eth_push +EXPORT_SYMBOL vmlinux 0xfeb5d0aa verify_spi_info +EXPORT_SYMBOL vmlinux 0xfebe0487 rproc_del +EXPORT_SYMBOL vmlinux 0xfedcdb60 seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0xfeebaa0d napi_complete_done +EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfef216eb _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0xfefcb98e vme_dma_vme_attribute +EXPORT_SYMBOL vmlinux 0xff000007 security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0xff03397e skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0xff0f2824 blk_execute_rq +EXPORT_SYMBOL vmlinux 0xff1cda3b pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff282521 rfkill_register +EXPORT_SYMBOL vmlinux 0xff4930c9 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xff52848a __SCT__tp_func_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xff635324 netif_carrier_off +EXPORT_SYMBOL vmlinux 0xff6576a0 I_BDEV +EXPORT_SYMBOL vmlinux 0xff65adbc icmp_ndo_send +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff87cd18 lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0xff95ad88 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0xffa86833 config_group_init +EXPORT_SYMBOL vmlinux 0xffb4595d sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0xffb7c514 ida_free +EXPORT_SYMBOL vmlinux 0xffb85583 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xffc30c3a acpi_processor_power_init_bm_check +EXPORT_SYMBOL vmlinux 0xffc4f200 zstd_compress_stream +EXPORT_SYMBOL vmlinux 0xffcc4ec7 tcp_bpf_bypass_getsockopt +EXPORT_SYMBOL vmlinux 0xffcd7f49 iosf_mbi_punit_acquire +EXPORT_SYMBOL vmlinux 0xffd2e425 __inet_hash +EXPORT_SYMBOL vmlinux 0xffe73008 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xffede00d agp_generic_enable +EXPORT_SYMBOL vmlinux 0xffeedf6a delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0xfff2813f unregister_console +EXPORT_SYMBOL vmlinux 0xfffa4690 drm_firmware_drivers_only +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-aesni-avx-x86_64 0x2c8b5dbf camellia_ecb_enc_16way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-aesni-avx-x86_64 0x339c33c5 camellia_cbc_dec_16way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-aesni-avx-x86_64 0x8b44ee75 camellia_ecb_dec_16way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-x86_64 0x0b901549 camellia_dec_blk_2way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-x86_64 0x69f4ff25 __camellia_enc_blk_2way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-x86_64 0x8d725052 __camellia_setkey +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-x86_64 0x8d9b761c camellia_decrypt_cbc_2way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-x86_64 0xfe729ed6 __camellia_enc_blk +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-x86_64 0xff09bd65 camellia_dec_blk +EXPORT_SYMBOL_GPL arch/x86/crypto/serpent-avx-x86_64 0x194b2841 serpent_ecb_enc_8way_avx +EXPORT_SYMBOL_GPL arch/x86/crypto/serpent-avx-x86_64 0x38800636 serpent_cbc_dec_8way_avx +EXPORT_SYMBOL_GPL arch/x86/crypto/serpent-avx-x86_64 0x4140192a serpent_ecb_dec_8way_avx +EXPORT_SYMBOL_GPL arch/x86/crypto/sm4-aesni-avx-x86_64 0x29ad6065 sm4_cbc_encrypt +EXPORT_SYMBOL_GPL arch/x86/crypto/sm4-aesni-avx-x86_64 0x82e3afcc sm4_cfb_encrypt +EXPORT_SYMBOL_GPL arch/x86/crypto/sm4-aesni-avx-x86_64 0x92ea4352 sm4_avx_ctr_crypt +EXPORT_SYMBOL_GPL arch/x86/crypto/sm4-aesni-avx-x86_64 0x9d60934b sm4_avx_cbc_decrypt +EXPORT_SYMBOL_GPL arch/x86/crypto/sm4-aesni-avx-x86_64 0xad0a89a3 sm4_avx_ecb_encrypt +EXPORT_SYMBOL_GPL arch/x86/crypto/sm4-aesni-avx-x86_64 0xb2628c1f sm4_avx_cfb_decrypt +EXPORT_SYMBOL_GPL arch/x86/crypto/sm4-aesni-avx-x86_64 0xb9d055bd sm4_avx_ecb_decrypt +EXPORT_SYMBOL_GPL arch/x86/crypto/twofish-x86_64 0x1f491d36 twofish_dec_blk +EXPORT_SYMBOL_GPL arch/x86/crypto/twofish-x86_64 0x7c7bf6e0 twofish_enc_blk +EXPORT_SYMBOL_GPL arch/x86/crypto/twofish-x86_64-3way 0x92a51c43 twofish_dec_blk_cbc_3way +EXPORT_SYMBOL_GPL arch/x86/crypto/twofish-x86_64-3way 0xb4e98a46 twofish_dec_blk_3way +EXPORT_SYMBOL_GPL arch/x86/crypto/twofish-x86_64-3way 0xe4ae7508 __twofish_enc_blk_3way +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0052abe1 __tracepoint_kvm_pi_irte_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x005b0f20 kvm_cpu_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x011498c6 kvm_arch_unregister_noncoherent_dma +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x015f8162 kvm_vcpu_kick +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x01ebe581 kvm_emulate_rdpmc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x020fe374 __tracepoint_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0272dfb5 kvm_vcpu_write_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0447f3d2 kvm_mmu_new_pgd +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0448d060 kvm_get_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x053614ec kvm_set_user_return_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x057190f6 kvm_vcpu_gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x05c61b4d kvm_emulate_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x06cdc8d1 kvm_configure_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x07bd5a86 kvm_emulate_ap_reset_hold +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0976b616 __kvm_request_immediate_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0b58a11d kvm_nr_uret_msrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0b8a3365 __traceiter_kvm_invlpga +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0bccfc02 kvm_page_track_register_notifier +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0ca8df68 __traceiter_kvm_vmgexit_msr_protocol_enter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0cff45f4 __SCT__tp_func_kvm_vmgexit_msr_protocol_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0d8f4740 kvm_mce_cap_supported +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0dbad60e __SCK__tp_func_kvm_nested_vmexit_inject +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0eaea57e kvm_handle_memory_failure +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0ecb7fbf __tracepoint_kvm_apicv_accept_irq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0ecde964 __SCK__tp_func_kvm_nested_intercepts +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0f8201b3 kvm_vcpu_reset +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x114eb824 __traceiter_kvm_nested_vmexit_inject +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x11830403 kvm_handle_invpcid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1235000a kvm_tsc_scaling_ratio_frac_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x124a6de5 __tracepoint_kvm_avic_kick_vcpu_slowpath +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x130fd155 supported_xss +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1412f042 __traceiter_kvm_ple_window_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x149ed03d kvm_mmu_free_guest_mode_roots +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x14a12d37 __SCK__kvm_x86_get_cs_db_l_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x14f6e884 kvm_mmu_gva_to_gpa_write +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x152ebfb2 __kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x159b8d5e host_efer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x178b7f34 handle_fastpath_set_msr_irqoff +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x17f9cfe3 __traceiter_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1873471b kvm_get_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x19679350 kvm_gfn_to_pfn_cache_refresh +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1a532a54 kvm_read_l1_tsc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1b1a8be2 __tracepoint_kvm_nested_intr_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1c37d741 kvm_io_bus_get_dev +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1cddc0eb kvm_init_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1cf65ffc kvm_max_guest_tsc_khz +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1d013832 kvm_enable_efer_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1d1b139a __SCT__tp_func_kvm_avic_ga_log +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1db1c372 enable_vmware_backdoor +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1dcd602b __tracepoint_kvm_nested_intercepts +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1e2e92fb kvm_slot_page_track_remove_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1e6423ec kvm_debugfs_dir +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1e6cbc36 kvm_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1ef0cf80 kvm_vcpu_mark_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1f934924 __SCK__tp_func_kvm_entry +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1fb99af3 kvm_hv_get_assist_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x21aebf10 kvm_write_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x225c3351 kvm_inject_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x23263c0a __traceiter_kvm_nested_vmenter_failed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x243dbfd3 kvm_slot_page_track_add_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2510fc6d __SCT__tp_func_kvm_nested_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x25c07225 __traceiter_kvm_vmgexit_msr_protocol_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x26d4bb26 kvm_cpu_caps +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x273f22ac kvm_apicv_activated +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x276c62f9 __tracepoint_kvm_entry +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x279460c6 __tracepoint_kvm_nested_vmrun +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2795177f kvm_arch_has_noncoherent_dma +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x28411ed7 kvm_max_tsc_scaling_ratio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x290bb294 kvm_load_guest_xsave_state +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2978a748 kvm_lapic_hv_timer_in_use +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2ae76e53 kvm_get_linear_rip +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2b32eb33 kvm_emulate_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2c4fb60b kvm_init_shadow_ept_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2c8b218d kvm_get_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2d635634 kvm_vcpu_is_visible_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2d82cc24 kvm_spec_ctrl_test_value +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2e0cca46 kvm_cpu_get_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2f390ef7 kvm_clear_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2fc35b13 __tracepoint_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x301a3d76 kvm_apic_update_apicv +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x30df8543 kvm_require_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x31e5e0cd kvm_gfn_to_pfn_cache_unmap +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x324f8211 kvm_inject_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x334a6d71 __tracepoint_kvm_vmgexit_msr_protocol_enter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x353d5676 kvm_emulate_invd +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x358a7a91 reprogram_counter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x35adc8a9 __tracepoint_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x35d326b8 __SCK__tp_func_kvm_invlpga +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x369ae04c __traceiter_kvm_vmgexit_enter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x380794c0 kvm_arch_no_poll +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x388e0e10 __SCT__tp_func_kvm_pi_irte_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x38bd9de2 mark_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3971f187 kvm_vcpu_gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x39a751ec __tracepoint_kvm_skinit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x39fd83db halt_poll_ns_shrink +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3a7e2684 kvm_apic_update_ppr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3ab2794c kvm_find_user_return_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3b19bc7f __SCK__tp_func_kvm_pi_irte_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3b595df1 __SCK__tp_func_kvm_vmgexit_msr_protocol_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3beee57c kvm_get_running_vcpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3cb93c3a kvm_vcpu_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3d93fb92 __traceiter_kvm_apicv_accept_irq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3da44c29 __SCK__tp_func_kvm_nested_vmenter_failed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3f510ff5 kvm_has_noapic_vcpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x430668e5 kvm_hv_assist_page_enabled +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x43d4f42f kvm_apic_send_ipi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x442855c1 __tracepoint_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x449f4dd0 __traceiter_kvm_vmgexit_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x450db590 kvm_emulate_halt_noskip +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4549771a __SCK__tp_func_kvm_nested_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x45e80fdf __traceiter_kvm_pi_irte_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4733bf8c __traceiter_kvm_avic_kick_vcpu_slowpath +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x47dd5098 kvm_set_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x48644036 __SCT__tp_func_kvm_vmgexit_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4942be67 __SCT__tp_func_kvm_avic_incomplete_ipi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4a1c261b __SCT__tp_func_kvm_invlpga +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4b2fcc78 kvm_queue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4d12b5e7 kvm_write_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4e3fd1b4 kvm_release_pfn_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4e66a511 load_pdptrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4ed21a96 __SCK__tp_func_kvm_avic_kick_vcpu_slowpath +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4f94a842 kvm_emulate_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x504d51c5 kvm_update_cpuid_runtime +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x527c5526 kvm_emulate_hypercall +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x534e8f22 kvm_emulate_wbinvd +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x53d9f927 __SCT__kvm_x86_get_cs_db_l_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x547845c0 __SCK__tp_func_kvm_avic_unaccelerated_access +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x54cceacb kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x563f3554 kvm_vcpu_unmap +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x570b3999 kvm_arch_start_assignment +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x57598b57 gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x57c65121 __SCK__tp_func_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x58f34f2a kvm_vcpu_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x59387ba3 __SCT__kvm_x86_cache_reg +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x59e640c0 halt_poll_ns +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5abc89ea __SCK__tp_func_kvm_avic_ga_log +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5bf7cde0 kvm_mmu_set_ept_masks +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5c11e105 __traceiter_kvm_write_tsc_offset +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5c7e9f84 __SCT__tp_func_kvm_apicv_accept_irq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5ca03814 kvm_vcpu_update_apicv +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5cc3a0e3 __tracepoint_kvm_vmgexit_enter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5d2c9189 kvm_apic_write_nodecode +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5d996b31 kvm_set_cpu_caps +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5ee31540 kvm_inject_realmode_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5f911332 __SCT__tp_func_kvm_avic_kick_vcpu_slowpath +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5fb8848b halt_poll_ns_grow_start +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x607e213a __tracepoint_kvm_nested_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x616e6c95 __SCT__tp_func_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6243ac82 __kvm_apic_update_irr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x62da66a7 __SCK__tp_func_kvm_apicv_accept_irq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6303c089 kvm_calc_nested_tsc_offset +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x63270977 kvm_default_tsc_scaling_ratio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6393866c __SCK__tp_func_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x63c14c63 __SCK__tp_func_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x63c472e1 kvm_emulate_instruction_from_buffer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x64a72bba kvm_io_bus_write +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x64bf642f kvm_apic_set_eoi_accelerated +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x64e2349c kvm_vcpu_apicv_activated +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x666e0e50 kvm_get_kvm_safe +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6691ab38 kvm_require_cpl +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x66d986e1 vcpu_put +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x66f1e1ac kvm_set_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x672a46b0 kvm_read_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x67544a0a gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6756347e __traceiter_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x676030c6 __tracepoint_kvm_ple_window_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6892e3c3 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x68a8f0cb __kvm_prepare_emulation_failure_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x68d54438 kvm_gpc_deactivate +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x69323769 kvm_lapic_expired_hv_timer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6ada8f59 kvm_mmu_set_mmio_spte_mask +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6becaded __SCT__tp_func_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6c02a36f kvm_read_guest_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6c95726c host_xss +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6d454245 hv_remote_flush_tlb_with_range +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6df356e4 kvm_fixup_and_inject_pf_error +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6fe8db5c gfn_to_pfn_prot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x70288943 __SCT__tp_func_kvm_nested_vmrun +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x709cd8cb kvm_spurious_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7233eaa0 kvm_inject_pending_timer_irqs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7263ae77 __traceiter_kvm_nested_vmrun +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x73131430 kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x734d04de kvm_sev_es_string_io +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x738b0553 kvm_gpc_activate +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x73c90ee9 __x86_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x73ce0831 kvm_get_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x745f36fc kvm_set_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7460b989 __SCK__tp_func_kvm_ple_window_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x752c2b00 __traceiter_kvm_fast_mmio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x778e30b9 __SCT__tp_func_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x784b6237 kvm_get_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x78646393 kvm_queue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x79906dee kvm_emulate_as_nop +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x79a4cb97 kvm_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x79f4f6c3 __SCK__tp_func_kvm_vmgexit_enter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7a1d3bab __kvm_is_valid_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7afe324e halt_poll_ns_grow +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7c6fa2f2 kvm_find_cpuid_entry +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7c94c99a kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7cc8b844 __tracepoint_kvm_pml_full +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7ecd088a __SCK__tp_func_kvm_avic_incomplete_ipi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7f008fb6 kvm_apic_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7f01884a kvm_set_msi_irq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7f10e074 __SCK__tp_func_kvm_nested_vmrun +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7fe19488 kvm_add_user_return_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7ff2a104 __SCT__tp_func_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x830d6a4c kvm_mmu_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x831dfb6e kvm_read_guest_offset_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x83a57a41 kvm_vcpu_gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x83af4849 kvm_init_shadow_npt_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x84f6b74c kvm_make_all_cpus_request +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x85e843bd kvm_lapic_set_eoi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8677b24c __tracepoint_kvm_fast_mmio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x886cab43 kvm_requeue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x88efbf2e kvm_write_guest_virt_system +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x89de390f kvm_sev_es_mmio_write +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8a7fe54a __SCT__tp_func_kvm_vmgexit_enter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8b60ea45 kvm_apic_clear_irr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8b618aa6 __SCT__tp_func_kvm_nested_vmexit_inject +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8b7b6647 kvm_update_dr7 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8c038306 kvm_msr_allowed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x90143ca7 __SCK__tp_func_kvm_vmgexit_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x903b06a0 kvm_wait_lapic_expire +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x912a9286 __traceiter_kvm_nested_intr_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x916f4789 kvm_emulate_mwait +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x92ae83de kvm_prepare_emulation_failure_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x92ece3f3 gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x93a3e40e __SCT__tp_func_kvm_ple_window_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x944882ed kvm_has_bus_lock_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x94896593 __tracepoint_kvm_nested_vmenter_failed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x95e1d218 kvm_handle_invalid_op +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x994e373f kvm_emulate_xsetbv +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9bacf4d6 __SCK__tp_func_kvm_write_tsc_offset +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9bc3b4d8 kvm_service_local_tlb_flush_requests +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9c3d3fe2 __tracepoint_kvm_nested_vmexit_inject +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9c8a6dc4 kvm_vcpu_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9cf59e7a allow_smaller_maxphyaddr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9d4873c4 __tracepoint_kvm_avic_incomplete_ipi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9e0bd7f2 __tracepoint_kvm_avic_unaccelerated_access +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9e20b2bc __traceiter_kvm_avic_incomplete_ipi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9e2d810d kvm_task_switch +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9ee2097d kvm_mmu_gva_to_gpa_read +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9f68faa3 __traceiter_kvm_avic_unaccelerated_access +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa0e4518e kvm_pmu_trigger_event +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa1c4231f kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa2eb0cfb __SCK__tp_func_kvm_pml_full +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa437c9cf kvm_gpc_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa5285c7f kvm_queue_exception_p +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa588ef67 __SCT__tp_func_kvm_nested_intercepts +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa5c26c83 kvm_release_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa5c83230 kvm_set_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa6a50230 __traceiter_kvm_nested_intercepts +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa7022320 __traceiter_kvm_avic_ga_log +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa7a8b46b kvm_cpu_has_injectable_intr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa7b6f4be kvm_requeue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa80595a6 __traceiter_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa84a2e73 __SCT__tp_func_kvm_write_tsc_offset +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaa529465 __traceiter_kvm_entry +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xadb52781 kvm_put_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xadf95c55 __tracepoint_kvm_invlpga +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaf18033a kvm_post_set_cr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaf275bd4 kvm_vcpu_read_guest_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xafa4d562 kvm_lapic_find_highest_irr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb01eb769 mark_page_dirty_in_slot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb1008384 kvm_mmu_reset_context +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb321f350 kvm_valid_efer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb332b817 gfn_to_hva_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb3e8c7b3 kvm_sev_es_mmio_read +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb4ca0381 kvm_vcpu_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb6702ad7 __tracepoint_kvm_avic_ga_log +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb747a709 hv_remote_flush_tlb +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb77de626 kvm_is_visible_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb82c0987 enable_pmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb88a7af8 kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb9126c41 kvm_release_page_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb96e9aa1 __traceiter_kvm_skinit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd9d6dfc kvm_mmu_set_me_spte_mask +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd9fe950 __traceiter_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbe6cd4d2 kvm_mtrr_get_guest_memory_type +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbe6debc4 kvm_put_kvm_no_destroy +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbec70a67 kvm_vcpu_map +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc071e99f __SCT__tp_func_kvm_entry +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc0d7f0bf kvm_emulate_rdmsr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc161c7eb __SCK__kvm_x86_cache_reg +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc1bca37f kvm_deliver_exception_payload +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc1fd00ae __SCK__tp_func_kvm_skinit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc2368a46 kvm_irq_has_notifier +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc2d2a61e kvm_set_or_clear_apicv_inhibit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc3c8f9dd kvm_emulate_monitor +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc441ac7a file_is_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc493fa2a kvm_mmu_invlpg +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc49b5362 __SCK__tp_func_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc60d7d0c __traceiter_kvm_pml_full +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc890bc15 __tracepoint_kvm_vmgexit_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc89a1be1 kvm_intr_is_single_vcpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc919aa33 kvm_post_set_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc96d35f4 report_ignored_msrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xca6a5b14 gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcb35d96c x86_decode_emulated_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcbd78be6 kvm_is_linear_rip +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcd3508e8 kvm_get_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcd7fa98e handle_ud +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcdbb177d __gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xce576a13 enable_apicv +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd0459e67 kvm_has_tsc_control +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd09da48b __SCT__tp_func_kvm_nested_intr_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd10a54f4 kvm_arch_register_noncoherent_dma +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd15ef65d hv_track_root_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd1a5ee38 kvm_flush_remote_tlbs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd2913145 kvm_apic_match_dest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd2b70d5a kvm_can_use_hv_timer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd35b4b00 kvm_set_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd4f4335e gfn_to_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd5fb9149 kvm_vcpu_gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd60aee12 kvm_apic_update_irr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd6100969 vcpu_load +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd6ac13af kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd7b4dad8 kvm_destroy_vcpus +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd80f9158 kvm_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd86d89d1 kvm_write_guest_offset_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd9f94020 kvm_skip_emulated_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdb237735 kvm_get_apic_mode +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdbb4179b gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdc2c57cb __SCK__tp_func_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdc7369fe __traceiter_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdc9b5a45 kvm_inject_emulated_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdcd064a4 kvm_set_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdd773fe5 __SCK__tp_func_kvm_fast_mmio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe0469493 kvm_page_track_unregister_notifier +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe0cd0191 kvm_handle_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe0e786a7 __SCT__tp_func_kvm_skinit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe1d25080 kvm_scale_tsc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe235d296 reprogram_fixed_counter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe46d2a53 kvm_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe716e03b kvm_complete_insn_gp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe7f8519c kvm_get_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe93dfc8c __SCT__tp_func_kvm_nested_vmenter_failed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe9674a16 supported_xcr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xea045200 kvm_fast_pio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xea171a8c kvm_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xea1814cd gfn_to_pfn_memslot_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xea5cda33 __SCT__tp_func_kvm_fast_mmio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xea61bc8d kvm_set_cr3 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xebb37d70 kvm_arch_has_assigned_device +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xebf1af4d kvm_load_host_xsave_state +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xef04befe kvm_set_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xef14fd98 kvm_calc_nested_tsc_multiplier +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf084b57d __SCT__tp_func_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf12acfc3 __tracepoint_kvm_vmgexit_msr_protocol_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf1884b2a kvm_vcpu_wake_up +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf2df48f3 __SCT__tp_func_kvm_pml_full +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf32dff97 __SCT__tp_func_kvm_avic_unaccelerated_access +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf38ee521 kvm_vcpu_is_reset_bsp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf427a928 kvm_set_cr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf46bcda0 kvm_arch_end_assignment +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf50df0fa reprogram_gp_counter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf54e2886 __SCT__tp_func_kvm_vmgexit_msr_protocol_enter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf7bdedce __tracepoint_kvm_write_tsc_offset +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf83f98b8 kvm_gfn_to_pfn_cache_check +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf87ecff5 kvm_mmu_free_roots +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf8974ae0 __tracepoint_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfab33e4c enable_mmio_caching +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfb574f63 __SCK__tp_func_kvm_vmgexit_msr_protocol_enter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfb87cf6b kvm_lmsw +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfbafa7e5 kvm_emulate_wrmsr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfd6ad76a __SCK__tp_func_kvm_nested_intr_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfda756b3 kvm_vcpu_deliver_sipi_vector +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfea81948 __traceiter_kvm_nested_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xff3a1141 kvm_mtrr_valid +EXPORT_SYMBOL_GPL crypto/af_alg 0x12f4fe2c af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0x145f58bc af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0x39ba9179 af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x43f3b9dc af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0x4f9abe2b af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x63ec1c93 af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x728407ba af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x7bccd0f1 af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x83f51cac af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0xa7c889fe af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0xa819cd02 af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0xaff859fa af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0xb7d54671 af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0xbef3a4c1 af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/af_alg 0xcdeb995c af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xd03aeb9b af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xd6505bed af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0xe5d197e4 af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x884ab1b3 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x612168fe async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xf6fdda45 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x13ed93ae async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xadc4602f async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x9b62d11d async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x9db8a024 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x9f05aa2d async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xbd46c84c async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x0ae12fac async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x5b8e5275 async_xor_offs +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x62f8f876 async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x95397dc8 async_xor_val_offs +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x1e8f3aca blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xe2f9d5e2 cast5_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xef81a4af __cast5_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x003b9cce cast6_setkey +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x3dbae082 __cast6_decrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0xcfce512f __cast6_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0xd76a5716 __cast6_setkey +EXPORT_SYMBOL_GPL crypto/cast_common 0x5609ce41 cast_s2 +EXPORT_SYMBOL_GPL crypto/cast_common 0x5b17be06 cast_s4 +EXPORT_SYMBOL_GPL crypto/cast_common 0xb9cba57f cast_s3 +EXPORT_SYMBOL_GPL crypto/cast_common 0xbd3e7542 cast_s1 +EXPORT_SYMBOL_GPL crypto/cryptd 0x00d4d447 cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x0a6732fb cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x25efe226 cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x621ac068 cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x629e7e6b cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x6522aa09 cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x7adac6ba cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x90934d4f cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x9a9222e0 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xa037c57e cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xa68a1a02 cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xb24eca98 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xfcac4003 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x074fd407 crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x0ef294c8 crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x1cb2e1a4 crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x2ca9235e crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x302915d6 crypto_finalize_hash_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x42ae4f78 crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x4cd97f09 crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x4cd9adee crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x676bddd4 crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x77d94436 crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xa2f3b613 crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xaae9a00c crypto_finalize_kpp_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xcfd931c6 crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xeb90b019 crypto_transfer_kpp_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xf9680c6c crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x29ecbb87 simd_register_aeads_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x46dd1ec3 simd_unregister_aeads +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x46e0ca63 simd_unregister_skciphers +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x4c2c7aec simd_register_skciphers_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x504cb053 simd_aead_create_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x66983e96 simd_skcipher_create +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x851c747c simd_aead_create +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x88638552 simd_skcipher_create_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xbfd26f15 simd_aead_free +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xefe73979 simd_skcipher_free +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x33b866ce crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7475be8e crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0xb230d2ec crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x0c733734 serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x4eb4c55e __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xbcc074f3 __serpent_decrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xd4c9681a __serpent_setkey +EXPORT_SYMBOL_GPL crypto/sm3 0xa98edad1 sm3_update +EXPORT_SYMBOL_GPL crypto/sm3 0xf04338f9 sm3_final +EXPORT_SYMBOL_GPL crypto/sm3_generic 0x0bddca87 sm3_zero_message_hash +EXPORT_SYMBOL_GPL crypto/sm4 0x24e254e8 sm4_expandkey +EXPORT_SYMBOL_GPL crypto/sm4 0xfa81970e sm4_crypt_block +EXPORT_SYMBOL_GPL crypto/twofish_common 0xa5628746 twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe22b7787 __twofish_setkey +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x06d4ee47 acpi_nfit_init +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x0bac205c __acpi_nfit_notify +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x4639bcda acpi_nfit_shutdown +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x499bbf57 nfit_get_smbios_id +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x63e2e0f4 __acpi_nvdimm_notify +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x8d66cddd acpi_nfit_ctl +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0xd3a18aaa acpi_nfit_desc_init +EXPORT_SYMBOL_GPL drivers/acpi/platform_profile 0x67927a0d platform_profile_notify +EXPORT_SYMBOL_GPL drivers/acpi/platform_profile 0xbfe36436 platform_profile_remove +EXPORT_SYMBOL_GPL drivers/acpi/platform_profile 0xcac33cd4 platform_profile_register +EXPORT_SYMBOL_GPL drivers/acpi/sbshc 0x1c8984c7 acpi_smbus_unregister_callback +EXPORT_SYMBOL_GPL drivers/acpi/sbshc 0x4f6c2360 acpi_smbus_read +EXPORT_SYMBOL_GPL drivers/acpi/sbshc 0x87bd07bd acpi_smbus_register_callback +EXPORT_SYMBOL_GPL drivers/acpi/sbshc 0x96eb492d acpi_smbus_write +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x00933e33 ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x0126fc07 ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x2b05fae9 ahci_qc_issue +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x43bf4548 ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x519e1a15 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x53096af0 ahci_port_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x67593d17 ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x7d19e9a8 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x81ab608d ahci_do_hardreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8f86c4bf ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x916903ab ahci_sdev_groups +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x9239ee93 ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x996c665c ahci_shost_groups +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x9bbe8bbe ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb0122e37 ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xbff0ce0e ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xcc1680e6 ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xcd28cf14 ahci_error_handler +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xd58ffda5 ahci_host_activate +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xdbb57f71 ahci_handle_port_intr +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf2db65ab ahci_start_fis_rx +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf57acc68 ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf76f3186 ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xfb25a7df ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x00d110a0 ahci_platform_disable_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x035a8505 ahci_platform_disable_regulators +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x126ca63b ahci_platform_init_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x1f95bd05 ahci_platform_suspend_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x22a76208 ahci_platform_disable_clks +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x37ba006f ahci_platform_disable_phys +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x5347d017 ahci_platform_enable_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x5533bd18 ahci_platform_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x560c35ea ahci_platform_enable_regulators +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x56ae36d1 ahci_platform_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x6dc611ba ahci_platform_resume_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x71d75432 ahci_platform_get_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x85f744cf ahci_platform_enable_clks +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x90ea26a8 ahci_platform_enable_phys +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xc307f599 ahci_platform_shutdown +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xdfc5f39d ahci_platform_suspend +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x77d4802e __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x02ff9464 cfag12864b_isinited +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x0ecb2e5d cfag12864b_disable +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x305dc3c6 cfag12864b_isenabled +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x3389f926 cfag12864b_enable +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x9522a342 cfag12864b_getrate +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0xc48e9d95 cfag12864b_buffer +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x09917359 charlcd_poke +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x6fd9cc4a charlcd_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x8b45326c charlcd_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xd3e29970 charlcd_backlight +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xf3304696 charlcd_free +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xf883c540 charlcd_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x07b26ecc hd44780_common_gotoxy +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x1aa688fd hd44780_common_lines +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x23159a5b hd44780_common_clear_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x30e85287 hd44780_common_shift_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x36dc00a2 hd44780_common_print +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x3c4c183f hd44780_common_home +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x489c89e8 hd44780_common_redefine_char +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x64415593 hd44780_common_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x79e8e259 hd44780_common_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x8585e5fd hd44780_common_blink +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x8d4f3fa4 hd44780_common_init_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0xa22afdaa hd44780_common_cursor +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0xc369090d hd44780_common_shift_cursor +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0xf360d788 hd44780_common_fontsize +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x14102f23 ks0108_displaystate +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x48a70518 ks0108_writedata +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x4f506333 ks0108_startline +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x6edae968 ks0108_isinited +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xbf4774db ks0108_writecontrol +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xedde6df2 ks0108_page +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xfee8ef7b ks0108_address +EXPORT_SYMBOL_GPL drivers/auxdisplay/line-display 0x6afc2b30 linedisp_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/line-display 0xdb1db4c8 linedisp_unregister +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-i3c 0xeea8571e __devm_regmap_init_i3c +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x20b7ec0c __regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x51890734 __devm_regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x9db1b1fd __devm_regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0xc3ab4b67 __regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw-mbq 0x217c7622 __regmap_init_sdw_mbq +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw-mbq 0x772c07cc __devm_regmap_init_sdw_mbq +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x0b8c223e __devm_regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x6bfd5392 __regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spi-avmm 0x73ca575c __devm_regmap_init_spi_avmm +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spi-avmm 0xb4b894e1 __regmap_init_spi_avmm +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x45c732f4 __regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x5d90d85f __regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x6670b3df __devm_regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xf10f969e __devm_regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x0c40186a __regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x5c25f732 __devm_regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x020fa32b bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x17e1a749 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1c312dae bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x2a9e51de bcma_chipco_b_mii_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x2e250413 bcma_chipco_gpio_outen +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3fbabf98 bcma_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x44d89ae0 bcma_find_core_unit +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x4d85c3be bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x564fb242 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x57ffcde2 bcma_pmu_get_bus_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x5fc07740 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6e449a94 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6fd368df bcma_host_pci_down +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x78bac9f7 bcma_chipco_pll_read +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x85706eba bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x9254eb35 bcma_chipco_gpio_out +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x9c04f86e bcma_host_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xadc72d76 bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb9d3763f bcma_host_pci_up +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xda4348a9 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe7dd7859 bcma_chipco_get_alp_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe906ce72 bcma_core_pci_power_save +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xedaba59f bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf9caa0d6 bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x28342bb3 btbcm_finalize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x28e25dea btbcm_setup_apple +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x2ab8a0ab btbcm_read_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x66fcf4e7 btbcm_setup_patchram +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x71da1b3f btbcm_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x9792e67f btbcm_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xd7ef23e6 btbcm_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xeafe3267 btbcm_write_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x0074fbbe btintel_set_event_mask_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x235c124a btintel_load_ddc_config +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x29dad990 btintel_bootup +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x30fe64c6 btintel_send_intel_reset +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x57927d82 btintel_enter_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x74dabdc0 btintel_version_info +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xa1d7de7f btintel_exit_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xafb557fd btintel_set_diag +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xb4d3e66d btintel_configure_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xbb1f6028 btintel_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xccafecef btintel_set_quality_report +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xcdd05d3c btintel_read_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xd152ad68 btintel_regmap_init +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xda877b79 btintel_secure_send_result +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xdfd37ad5 btintel_read_boot_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xec754fff btintel_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xf8d2fe28 btintel_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x09e8c077 btmrvl_pscan_window_reporting +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x185a924d btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x31aebb8c btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x35932951 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x43cc68d0 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x463981a8 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x4a79bbf6 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x690aac76 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x835a4b1d btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xa9222de8 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xc2bc05df btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x0b86b56b btmtk_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x5f6736a3 btmtk_setup_firmware_79xx +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0xeea0499c btmtk_setup_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x0ebae8cf qca_send_pre_shutdown_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x7ff07132 qca_uart_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xe517236f qca_read_soc_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xeea1108e qca_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xfe666149 qca_set_bdaddr_rome +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x227d3701 btrtl_set_quirks +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x515a1420 btrtl_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x51bd6286 btrtl_setup_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xaa8bda9d btrtl_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xaf78f260 btrtl_free +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xc0ecf5e3 btrtl_get_uart_settings +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xcc5c5d76 btrtl_shutdown_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x06843e61 h4_recv_buf +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x38b0f610 hci_uart_tx_wakeup +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x57746c8a hci_uart_unregister_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xe3a49896 hci_uart_register_device +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x0956b7f3 mhi_ep_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x27be0f9e __mhi_ep_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x2aa4c5ef mhi_ep_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x46fdccbb mhi_ep_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xcdc69553 mhi_ep_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xe9162e5f mhi_ep_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xedcbf1bf mhi_ep_queue_is_empty +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xf68e194d mhi_ep_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x1b0a86a8 mhi_get_mhi_state +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x2487a6bd mhi_download_rddm_image +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x26c9c002 mhi_queue_is_full +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x2b39c77a mhi_queue_dma +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x405ed3c4 mhi_soc_reset +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x46cb9cb2 mhi_prepare_for_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x574e4c26 mhi_prepare_for_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x6331f856 mhi_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x692e332c mhi_device_get +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x6ec867e2 mhi_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x8327a651 mhi_unprepare_after_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x85ed06ff mhi_force_rddm_mode +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x8978f29a __mhi_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x8cfaecca mhi_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x944a620f mhi_pm_suspend +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xa56c9a40 mhi_notify +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xaa1d7bca mhi_poll +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xaa536ab6 mhi_device_put +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xaf718423 mhi_queue_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xb9d96042 mhi_device_get_sync +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xba2efabf mhi_async_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xbf737c04 mhi_pm_resume +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xc4812843 mhi_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xc8b659a9 mhi_alloc_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xd42f6ff9 mhi_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xd8bba8d7 mhi_prepare_for_transfer_autoqueue +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xda692253 mhi_get_exec_env +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xddd04cd9 mhi_get_free_desc_count +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xe31fe06e mhi_pm_resume_force +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xee5c0106 mhi_free_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xfe11190f mhi_unprepare_from_transfer +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x0057cf3e comedi_dio_insn_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x015ba5a9 comedi_set_hw_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x044c96e0 comedi_nscans_left +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x068a59f9 comedi_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x089e09b5 comedi_bytes_per_scan_cmd +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x14b8d7df comedi_set_spriv_auto_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x15ed85f8 comedi_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x186ff2a1 comedi_buf_read_alloc +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x21102f87 range_0_32mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x249d2535 comedi_load_firmware +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x251c24a7 comedi_dev_get_from_minor +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x344178ae comedi_alloc_devpriv +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x39141d7f comedi_dio_update_state +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4236eaaf range_4_20mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x49190514 __comedi_request_region +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x49d87b98 comedi_timeout +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x51b5256e comedi_buf_read_samples +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x55836137 comedi_request_region +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x5b280d7d comedi_buf_read_n_available +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x62b68aa3 comedi_bytes_per_scan +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x739970b1 comedi_buf_write_samples +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7cf0e4be comedi_nsamples_left +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7d5b86e7 comedi_alloc_subdevices +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x80dbd722 comedi_handle_events +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x8a423c82 comedi_dev_put +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x9aace079 comedi_event +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xa212f02a comedi_alloc_spriv +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xa5cb514a comedi_is_subdevice_running +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xae27eb52 comedi_alloc_subdev_readback +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xb679cebc range_0_20mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xbdbe75c6 range_unipolar2_5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xbff7f7f8 comedi_inc_scan_progress +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xc314fe7b comedi_readback_insn_read +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xc95f1a71 comedi_check_chanlist +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xccc6a0cb comedi_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xd510962f comedi_buf_read_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xdd67014f comedi_legacy_detach +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xe0a6ce72 comedi_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xecd7b368 comedi_buf_write_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xf0eee1b7 comedi_buf_write_alloc +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x43324ce9 comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x522d2abc comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x6faaad99 comedi_to_pci_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x938a528f comedi_pci_disable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x9c36fd72 comedi_pci_detach +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0xa0092741 comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0xbb14292f comedi_pci_enable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0xe4d13fe4 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pcmcia 0x0bb622a8 comedi_pcmcia_disable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pcmcia 0x1ca7de2f comedi_pcmcia_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pcmcia 0x2462edbe comedi_to_pcmcia_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pcmcia 0x5fb71619 comedi_pcmcia_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pcmcia 0xc2e486e5 comedi_pcmcia_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pcmcia 0xc7adedbd comedi_pcmcia_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pcmcia 0xf22a8262 comedi_pcmcia_enable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x1b97e34b comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x7852f8c8 comedi_to_usb_interface +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x943e8de5 comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0xaa363189 comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0xe3d46de7 comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0xe4a65304 comedi_to_usb_dev +EXPORT_SYMBOL_GPL drivers/comedi/drivers/addi_watchdog 0x79f4a6cf addi_watchdog_reset +EXPORT_SYMBOL_GPL drivers/comedi/drivers/addi_watchdog 0x8139aee0 addi_watchdog_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_dio200_common 0x8cb60168 amplc_dio200_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_dio200_common 0x93138db8 amplc_dio200_set_enhance +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_pc236_common 0x09e1b751 amplc_pc236_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x045a14f0 comedi_8254_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x43ba0419 comedi_8254_load +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x4ab46bca comedi_8254_update_divisors +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x566452ab comedi_8254_set_mode +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x66fac36c comedi_8254_ns_to_timer +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x6f5ca642 comedi_8254_subdevice_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x7632b632 comedi_8254_set_busy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xa3f994df comedi_8254_status +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xa47642fa comedi_8254_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xb347c2bf comedi_8254_mm_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xb97063ef comedi_8254_pacer_enable +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xba40aa28 comedi_8254_cascade_ns_to_timer +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xc1c60562 comedi_8254_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0x0a8c6fb1 subdev_8255_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0xc34f1061 subdev_8255_mm_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0xcebfb84f subdev_8255_regbase +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0x12fba874 comedi_isadma_disable +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0x2ccef7e7 comedi_isadma_alloc +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0x471f7561 comedi_isadma_free +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0x4a17474e comedi_isadma_disable_on_sample +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0xa42ee73d comedi_isadma_poll +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0xca784d4b comedi_isadma_set_mode +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0xea878430 comedi_isadma_program +EXPORT_SYMBOL_GPL drivers/comedi/drivers/das08 0x317734b2 das08_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x23a8ea84 mite_buf_change +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x2e9b4671 mite_bytes_in_transit +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x56ddea0c mite_free_ring +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x64685ea6 mite_prep_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x6553462f mite_init_ring_descriptors +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x7cea34a7 mite_detach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x85c7a103 mite_dma_arm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x8696b6c6 mite_sync_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x8cc53aa9 mite_request_channel_in_range +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x956d8b4e mite_done +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x98311c96 mite_dma_disarm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xbe9e4c66 mite_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xbf1c5d4c mite_ack_linkc +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xce19b2fb mite_request_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xe4ddded3 mite_alloc_ring +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xf2f986e5 mite_release_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_common 0x90a3321c labpc_common_detach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_common 0xe22f7807 labpc_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_isadma 0x815fddaf labpc_drain_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_isadma 0xd4578212 labpc_setup_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_isadma 0xd53eb857 labpc_init_dma_chan +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_isadma 0xe65a6f1a labpc_handle_dma_status +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_isadma 0xec9e0f94 labpc_free_dma_chan +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x076bc308 ni_find_route_source +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x0921123e ni_lookup_route_register +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x1facf7f8 ni_is_cmd_dest +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x64443d67 ni_get_valid_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x6c18c54e ni_count_valid_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x85e75c94 ni_assign_device_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x863a306d ni_sort_device_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x8ab47ba4 ni_route_set_has_source +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x8f0f0901 ni_find_route_set +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0xb3e302a3 ni_route_to_register +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x087667e4 ni_tio_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x176b5bc1 ni_tio_set_gate_src_raw +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x24996fae ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x36e92c74 ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x3ad164f5 ni_tio_arm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x5b10b5a0 ni_tio_insn_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x5f7bf5be ni_tio_unset_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x6f95cfb3 ni_tio_set_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xa3f26200 ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xb8ee50cd ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xc02b4a1e ni_tio_get_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xd785c9bf ni_tio_get_soft_copy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xdf274dd0 ni_tio_insn_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xef948b41 ni_tio_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xf206ac95 ni_tio_set_bits +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xfbf1cc01 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x901f879e ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x932c7f5c ni_tio_acknowledge +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x9b8f24d6 ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0xbbecaa84 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0xcd2c115e ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0xe87c92d8 ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x2bf23668 comedi_dio_config +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x3d1e6050 comedi_dio_bitfield2 +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x4c9c10ce comedi_get_n_channels +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x5880d379 comedi_dio_get_config +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x7efe9308 comedi_open +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0xc1e17faa comedi_close +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0xd98f3826 comedi_find_subdevice_by_type +EXPORT_SYMBOL_GPL drivers/counter/counter 0x041212c2 counter_push_event +EXPORT_SYMBOL_GPL drivers/counter/counter 0x7044eb85 counter_alloc +EXPORT_SYMBOL_GPL drivers/counter/counter 0x924ab98e devm_counter_alloc +EXPORT_SYMBOL_GPL drivers/counter/counter 0x9bbbc322 counter_priv +EXPORT_SYMBOL_GPL drivers/counter/counter 0xc4c15c30 counter_put +EXPORT_SYMBOL_GPL drivers/counter/counter 0xcebc8b6f devm_counter_add +EXPORT_SYMBOL_GPL drivers/counter/counter 0xd063fdd1 counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0xe624a6f9 counter_add +EXPORT_SYMBOL_GPL drivers/cpufreq/speedstep-lib 0x1b1f2bda speedstep_get_freqs +EXPORT_SYMBOL_GPL drivers/cpufreq/speedstep-lib 0x2b67f096 speedstep_get_frequency +EXPORT_SYMBOL_GPL drivers/cpufreq/speedstep-lib 0xd7ab2c0c speedstep_detect_processor +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x04773b60 ccp_present +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x2e6a6147 psp_copy_user_blob +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x3a1a3979 ccp_version +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x3e059f28 sev_guest_activate +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x4073e924 sev_guest_deactivate +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x843d6541 sev_guest_decommission +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x8fac14a2 sev_guest_df_flush +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x91722dce sev_platform_status +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0xaa2246c3 ccp_enqueue_cmd +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0xc8293867 sev_issue_cmd_external_user +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0xd02e197f sev_platform_init +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x055c87c8 adf_flush_vf_wq +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x081a31d1 adf_init_arb +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x08623ebe adf_pfvf_comms_disabled +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x0d2c6b85 adf_cfg_dev_add +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x119efa3c adf_dev_put +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x141790f9 adf_dev_started +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x1690d36e adf_disable_pf2vf_interrupts +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x19b1378b adf_dev_init +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x2bad4a9f adf_dev_get +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x2be4e269 adf_gen2_get_arb_info +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x3777c9e6 adf_devmgr_rm_dev +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x395c6fe5 adf_cleanup_etr_data +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x399bb847 adf_gen2_enable_ints +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x3e707f37 adf_gen2_get_admin_info +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x40e5bfd6 adf_reset_sbr +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x468078d7 adf_devmgr_in_reset +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x4cb964b3 adf_cfg_add_key_value_param +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x4f524510 adf_dev_stop +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x682552de adf_dev_start +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x6c3e0ec9 adf_cfg_get_param_value +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x6cbdc585 adf_send_admin_init +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x727c734d adf_dev_in_use +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x738ab8ec adf_init_etr_data +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x73ec0cf7 adf_devmgr_update_class_index +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x75d803de adf_err_handler +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x7977feda adf_devmgr_add_dev +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x7e7a42b3 qat_crypto_dev_config +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x874da8fb adf_init_admin_comms +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x895d2f6b adf_gen4_set_ssm_wdtimer +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x8ecbd136 adf_gen4_handle_pm_interrupt +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x8fda04b8 adf_cfg_section_add +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x908ea809 adf_vf2pf_notify_init +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x936e21a8 adf_enable_aer +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x96e185ae adf_enable_pf2vf_comms +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x97e558bf adf_init_admin_pm +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xa7b67e87 adf_disable_sriov +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xac1feba2 adf_gen2_get_num_accels +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xac5ae445 adf_gen2_set_ssm_wdtimer +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xad9c40be adf_exit_admin_comms +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xae4050a8 adf_vf_isr_resource_alloc +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xaeda5bec adf_enable_vf2pf_comms +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xb14faf31 adf_gen2_get_num_aes +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xb8b76af5 adf_cfg_dev_remove +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xb92fa102 adf_devmgr_pci_to_accel_dev +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xba6e988f adf_gen4_ring_pair_reset +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xbab600e8 adf_gen2_enable_error_correction +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xbbbc8376 adf_vf_isr_resource_free +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xbc3417df adf_isr_resource_free +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xbd4be5d0 adf_vf2pf_notify_shutdown +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xc501ac82 adf_gen4_init_hw_csr_ops +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xc692b01d adf_gen2_cfg_iov_thds +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xc6e4f13b adf_gen4_init_pf_pfvf_ops +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xcc3b167a adf_clean_vf_map +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xd591bb58 adf_sriov_configure +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xd64519f1 adf_gen2_init_hw_csr_ops +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xd700ebba adf_dev_shutdown +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xd82e389d adf_reset_flr +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xe3e33a15 adf_gen2_init_pf_pfvf_ops +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xe44e94f3 adf_disable_aer +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xe6663b1c adf_gen2_get_accel_cap +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xed23ea56 adf_isr_resource_alloc +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xf3c72dc1 adf_gen2_init_vf_pfvf_ops +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xf48d0e38 adf_exit_arb +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xfba83857 adf_gen4_enable_pm +EXPORT_SYMBOL_GPL drivers/dax/device_dax 0x018ddaac dev_dax_probe +EXPORT_SYMBOL_GPL drivers/dca/dca 0x01a33ab9 dca_unregister_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0x4eea77f0 register_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x609b141a unregister_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x6e00e042 dca_remove_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0x839cdf36 dca3_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0x884bd662 free_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x8f14caa5 dca_add_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0xaa634427 dca_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0xac34ecec dca_register_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0xdd103cfb alloc_dca_provider +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x0b3cc996 dw_edma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0xeaafc131 dw_edma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x3a2908f6 do_dw_dma_disable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x4805f08a dw_dma_filter +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x4c280f63 dw_dma_acpi_controller_register +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x8d31bd71 idma32_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x9ef38ad9 dw_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xa3b15048 dw_dma_acpi_controller_free +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xdeb319db do_dw_dma_enable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xf6f1a09c dw_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xf7376bc5 idma32_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/hsu/hsu_dma 0x37eb4c69 hsu_dma_do_irq +EXPORT_SYMBOL_GPL drivers/dma/hsu/hsu_dma 0x48f8198e hsu_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/hsu/hsu_dma 0x7b3d1de9 hsu_dma_get_status +EXPORT_SYMBOL_GPL drivers/dma/hsu/hsu_dma 0x89d941b6 hsu_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x3457da17 hidma_mgmt_init_sys +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x494d1a7c hidma_mgmt_setup +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x0be1a4d8 amd_unregister_ecc_decoder +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x1d34e996 pp_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x8592d892 amd_register_ecc_decoder +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0x8f57c6e4 fw_card_read_cycle_time +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xabb5547d fw_request_get_timestamp +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xe86fb5c7 fw_card_release +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x07c8b9bf cs_dsp_adsp1_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x0be82f77 cs_dsp_remove +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x132a6a2f cs_dsp_halo_wdt_expire +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x144d6986 cs_dsp_mem_region_name +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x1ad6bcfc cs_dsp_adsp2_bus_error +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x2ecf88f9 cs_dsp_init_debugfs +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x4e5562f8 cs_dsp_remove_padding +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x50db9cc6 cs_dsp_read_raw_data_block +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x55d9a9d2 cs_dsp_run +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x62623026 cs_dsp_coeff_write_ctrl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x64738f6a cs_dsp_coeff_write_acked_control +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x69df0218 cs_dsp_power_down +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7c59db37 cs_dsp_write_data_word +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7de590e6 cs_dsp_set_dspclk +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x813cc35b cs_dsp_get_ctl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x885d86a9 cs_dsp_halo_bus_error +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xa20706f9 cs_dsp_adsp1_power_down +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xa60fbee7 cs_dsp_find_alg_region +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xa7477cd6 cs_dsp_read_data_word +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xb86cb34a cs_dsp_power_up +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xbb16bae9 cs_dsp_coeff_read_ctrl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xe3934d02 cs_dsp_adsp2_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xec14cb5d cs_dsp_stop +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xedb8bf0f cs_dsp_halo_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xf4f5e64c cs_dsp_adsp1_power_up +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xfc767e14 cs_dsp_cleanup_debugfs +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0xc34f41e5 alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x0f976077 __dfl_fpga_cdev_find_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x102838b8 dfl_fpga_enum_info_add_irq +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x1ef5b86a dfl_fpga_dev_feature_uinit +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x20fcd58a dfl_fpga_enum_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x225223ca dfl_fpga_dev_feature_init +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x248eb2d0 dfl_fpga_port_ops_add +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x26744535 dfl_fpga_dev_ops_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x2d5c6e66 dfl_fpga_cdev_assign_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x36aab4d4 dfl_fpga_port_ops_get +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x3c40153c dfl_feature_ioctl_set_irq +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x50819a45 dfl_fpga_port_ops_del +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x77a24ef0 dfl_fpga_cdev_config_ports_pf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7b048cb5 dfl_fpga_feature_devs_remove +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7f0f4479 dfl_fpga_set_irq_triggers +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x87bad088 dfl_feature_ioctl_get_num_irqs +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x8c882491 dfl_fpga_cdev_config_ports_vf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xc05f06a2 dfl_fpga_port_ops_put +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xca1bd15a dfl_fpga_enum_info_add_dfl +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xd4ab6fe2 dfl_fpga_check_port_id +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xdbba977a dfl_fpga_cdev_release_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xde052dbf dfl_fpga_dev_ops_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xe4f3bfde dfl_fpga_feature_devs_enumerate +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xf4a27746 dfl_fpga_enum_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0633c4b9 fpga_bridges_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0b2b884c fpga_bridges_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2c8167cf fpga_bridges_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2e61f3f2 fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2e6bbeda of_fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x3aafdd34 fpga_bridge_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x7a8385df fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x9fb92bf8 fpga_bridge_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xa1cfce98 fpga_bridge_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xa5673948 fpga_bridge_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xbe538001 fpga_bridge_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xcbdaf48e of_fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x3597742c fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x4ec48a5a devm_fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x5f0e1bb6 devm_fpga_mgr_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x66ce06c4 fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7289f2cc fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7d911201 fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x9aef3e02 fpga_mgr_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xd220bf68 fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xd24eacb3 fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xe85ecd91 of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xf0569f24 fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xf51b4b42 fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xfc051aa3 fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x23d3b12f fpga_region_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x700fc2a2 fpga_region_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x75edb33e fpga_region_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x851f3a51 fpga_region_class_find +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xc4359fe5 fpga_region_program_fpga +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x6d676adb gnss_allocate_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x740f3f4b gnss_register_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xdb69fb0a gnss_deregister_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xe0a3cd08 gnss_insert_raw +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xf989638f gnss_put_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x7b361bc7 gnss_serial_allocate +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xb2bbb479 gnss_serial_free +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xbf055a9d gnss_serial_pm_ops +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xc3277082 gnss_serial_deregister +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xf3191ba6 gnss_serial_register +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x6f386d39 __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xb5097351 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x189bd194 analogix_dp_stop_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x3e41ccec analogix_dp_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x3ee0dd60 anx_dp_aux_transfer +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x3f57fdae analogix_dp_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x4510d336 analogix_dp_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xaa47f40a analogix_dp_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xc0807431 analogix_dp_start_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xe45db1f4 analogix_dp_suspend +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xfc87bd59 analogix_dp_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_display_helper 0x0587bf3a drm_hdcp_check_ksvs_revoked +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x00b52b19 drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1b21d8ee drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1e849091 drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x546688d8 drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5a7830ab drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x66cf2f64 drm_display_mode_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x69c50585 drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7dac6ebd drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xab7cb9b9 drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xad885165 drm_bus_flags_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb74969b2 drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xbbd544f1 drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xceebaa82 drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xdb03f9f4 drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf59b0f1a drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xfe9f72f3 drm_display_mode_to_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x2ac740d9 drm_gem_cma_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x3d2f89ef drm_gem_cma_dumb_create_internal +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x3ddece5a drm_gem_cma_free +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x5d3195a6 drm_fb_cma_get_gem_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x704f6e09 drm_gem_cma_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x73a2f8c3 drm_fb_cma_sync_non_coherent +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x80966092 drm_fb_cma_get_gem_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xa61eedda drm_gem_cma_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xaed18837 drm_gem_cma_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xbc4d3038 drm_gem_cma_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xbebb194d drm_gem_cma_vmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xcdd2b67a drm_gem_cma_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x2b12ca35 drm_bridge_connector_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x3283042a drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x4efd9d54 drm_gem_fb_create_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x6d0ed169 drm_gem_plane_helper_prepare_fb +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x7bdb1fa3 drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x8284e362 drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x97e93ca8 drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xcf46a742 drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xdcd1edd6 drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xef175beb drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x07cb49a3 drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x0d69b03c drm_gem_shmem_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x22620b58 drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x6643e0aa drm_gem_shmem_free +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x66b78128 drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x74a4d4f0 drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xb3351647 drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xecbdaace drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0x05876c69 i915_gpu_busy +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0x08a7896d i915_gpu_raise +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0x402468e9 i915_gpu_lower +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0x500858b9 i915_read_mch_val +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0xe7237b0b i915_gpu_turbo_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0x8aebdfd8 ssd130x_shutdown +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0x915a13e6 ssd130x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0xfb5fd59c ssd130x_remove +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0102750a gb_connection_enable_tx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x02174c3c __SCK__tp_func_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0719fc81 gb_operation_result +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0b3f507f gb_connection_latency_tag_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0bb052aa gb_svc_intf_set_power_mode +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x10d1b03e __SCT__tp_func_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x10d201d6 greybus_deregister_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1231de73 gb_connection_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x15d1942f greybus_disabled +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x17cc6b1c gb_operation_cancel +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1a712194 gb_operation_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x21ebd9cb __SCK__tp_func_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x239810fd gb_hd_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x23a4b51b __tracepoint_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2c49a904 __traceiter_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2d1be3a1 gb_operation_response_alloc +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2e1eb844 __SCK__tp_func_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x37dbcdb6 gb_hd_shutdown +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x39df9bb1 gb_operation_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3c8e7d10 gb_operation_get_payload_size_max +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3cfe329b gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3f1c8524 __tracepoint_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x507ea967 __traceiter_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x52bede79 greybus_register_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x567988d1 gb_hd_cport_reserve +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5cacca37 gb_connection_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6704dc10 gb_debugfs_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6731df13 __tracepoint_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x78fedb98 __SCT__tp_func_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7bb046f1 gb_operation_unidirectional_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7f3933cd gb_connection_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x80b8113c gb_connection_disable_rx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x85379c13 gb_operation_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x8592a9cb gb_connection_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x9711d2c1 greybus_data_rcvd +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x9d982b08 gb_connection_create_offloaded +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x9f017354 gb_hd_cport_release_reserved +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa43f3f59 __traceiter_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa9bd2821 __traceiter_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xadd7926d __SCT__tp_func_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xae877457 __SCT__tp_func_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb15cd098 gb_operation_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb1662b1a greybus_message_sent +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb2fe7f89 gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb3831f8e __traceiter_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xbe349eb1 __tracepoint_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xbfb52284 __SCT__tp_func_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc1d99529 __tracepoint_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc648bd90 gb_hd_output +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xcc20dc6a gb_connection_destroy +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd3e58820 gb_operation_request_send +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd77e9876 __SCK__tp_func_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe167afd3 gb_connection_disable_forced +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe239626d gb_operation_request_send_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe285f2f1 __traceiter_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe6b45fb6 __SCT__tp_func_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xebb3c476 __tracepoint_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xefb967e5 gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf0f87a7e __SCK__tp_func_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf524727e gb_interface_request_mode_switch +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xfaec307d gb_connection_latency_tag_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xfcd25c31 __SCK__tp_func_gb_hd_del +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0857ae5f hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0f956cc8 hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1616b3c2 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19d52f1f hid_quirks_exit +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1a6961ea hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2984cadf hid_driver_resume +EXPORT_SYMBOL_GPL drivers/hid/hid 0x29c15aea hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x308f2b2d __hid_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x360364a1 hid_match_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3ae1bafe hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5a0205d3 hid_dump_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5af2c011 hid_hw_open +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6506854b hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x67e50c56 hid_hw_stop +EXPORT_SYMBOL_GPL drivers/hid/hid 0x71d863a3 hid_ignore +EXPORT_SYMBOL_GPL drivers/hid/hid 0x758d2cfc hid_compare_device_paths +EXPORT_SYMBOL_GPL drivers/hid/hid 0x78ab3afb hid_hw_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7ce8c114 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7e152c21 hid_driver_suspend +EXPORT_SYMBOL_GPL drivers/hid/hid 0x80a89f89 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8626e504 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x88fa1143 hid_driver_reset_resume +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8957f3a1 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8b13a8b8 hid_snto32 +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8c6ad8ae hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8d00ec7f hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8f6b0f85 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x914a4012 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x942d5225 hid_validate_values +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa32a158f hid_hw_close +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa5fad7f6 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa78f619b hid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/hid 0xaed7d289 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb1db92ba hidinput_calc_abs_res +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb2485391 hid_setup_resolution_multiplier +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb486cd41 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb5fec3de hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbfaae056 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc0acfa38 hid_hw_start +EXPORT_SYMBOL_GPL drivers/hid/hid 0xca8603e2 hid_field_extract +EXPORT_SYMBOL_GPL drivers/hid/hid 0xddb147d5 hid_hw_raw_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0xde40a5ff __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe4932ca6 hid_hw_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe6537603 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe9071587 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe9786174 hid_alloc_report_buf +EXPORT_SYMBOL_GPL drivers/hid/hid 0xee840943 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf22d9c98 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa355613 hid_quirks_init +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfaf41793 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfc3f85de hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfcc7d63f hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x015f3ac6 roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x3e4427c8 roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x0ab6f99b roccat_common2_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x25276647 roccat_common2_sysfs_write +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x2a6ff638 roccat_common2_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x5b9ebc38 roccat_common2_device_init_struct +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x5ea70ab4 roccat_common2_send_with_status +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xba473e54 roccat_common2_sysfs_read +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x13b8bac8 sensor_hub_remove_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x1c97afe2 sensor_hub_device_open +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x4c504984 sensor_hub_device_close +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x6730dc1f sensor_hub_input_attr_get_raw_value +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x679eb3f4 sensor_hub_get_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x87d2ae21 hid_sensor_get_usage_index +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x974acc63 sensor_hub_input_get_attribute_info +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xd585f8f5 sensor_hub_set_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xeae95283 sensor_hub_register_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-vivaldi-common 0x2db17a52 vivaldi_input_configured +EXPORT_SYMBOL_GPL drivers/hid/hid-vivaldi-common 0xe929b337 vivaldi_feature_mapping +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x1613c635 i2c_hid_core_remove +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x2a39745d i2c_hid_core_pm +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x4064da78 i2c_hid_ll_driver +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0xabdb9e90 i2c_hid_core_shutdown +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0xb6e37279 i2c_hid_core_probe +EXPORT_SYMBOL_GPL drivers/hid/intel-ish-hid/intel-ishtp 0x99cb9427 ishtp_wait_resume +EXPORT_SYMBOL_GPL drivers/hid/surface-hid/surface_hid_core 0x02a4c775 surface_hid_device_add +EXPORT_SYMBOL_GPL drivers/hid/surface-hid/surface_hid_core 0x13b8a3fb surface_hid_pm_ops +EXPORT_SYMBOL_GPL drivers/hid/surface-hid/surface_hid_core 0x3a83202b surface_hid_device_destroy +EXPORT_SYMBOL_GPL drivers/hid/uhid 0xd1418379 uhid_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x29f85153 usb_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xc84770ac hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x1109a822 hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x13d0110f hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x1f410ba9 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x34556dee hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x35a1634d hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x41d1770a hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x48084019 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x673beefb hsi_get_channel_id_by_name +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6b4475b3 hsi_remove_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6c690b9e hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7e788108 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x85a20685 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x874e19b5 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x9b5fcb30 hsi_new_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xcdc73439 hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xd9ea72c9 hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xddfc28f7 hsi_port_unregister_clients +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x00c853b5 __hv_pkt_iter_next +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x0559cbfc vmbus_sendpacket_mpb_desc +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x0ce8f383 hv_pkt_iter_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x0e6cebc9 vmbus_set_chn_rescind_callback +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x1b79418d vmbus_open +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x1c406f83 vmbus_set_sc_create_callback +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x227c952f vmbus_establish_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x31e2e77f vmbus_free_mmio +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x321055cb vmbus_prep_negotiate_resp +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x39375625 vmbus_sendpacket_pagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x3abf137d __vmbus_driver_register +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x46a417ca vmbus_proto_version +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x4b2210b8 vmbus_send_tl_connect_request +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x4c65582a vmbus_allocate_mmio +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x55a9e8e7 vmbus_connect_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x59ed831e vmbus_set_event +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x5fb6e083 vmbus_request_addr +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x674e657e hv_ringbuffer_get_debuginfo +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x6e7265c6 hv_pkt_iter_first +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x7275c407 vmbus_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x7680e530 __vmbus_request_addr_match +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x84761f4d vmbus_teardown_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x95bee60f vmbus_alloc_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x98dda092 vmbus_recvpacket_raw +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xa0dc7697 vmbus_setevent +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xa3cc5073 vmbus_connection +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xa98a1f4b vmbus_free_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc1828376 vmbus_driver_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc1ed0a2c hv_ringbuffer_spinlock_busy +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc4d9e818 vmbus_send_modifychannel +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xcae6ecab vmbus_disconnect_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xd1289535 vmbus_request_addr_match +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xdd36ebda vmbus_next_request_id +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xf24d8214 vmbus_hvsock_device_unregister +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x7e49ad7d adt7x10_probe +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0xdb1e3487 adt7x10_dev_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x5cbb5274 ltc2947_core_probe +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x99c3a57c ltc2947_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0xbc54f93e ltc2947_of_match +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x096be304 nct6775_update_device +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x8a1d8f7b nct6775_reg_is_word_sized +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x8dc4c2ca nct6775_show_alarm +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xaf9a3d1a nct6775_show_beep +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xd089aef3 nct6775_probe +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xdd5a92d3 nct6775_store_beep +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x1a19f4a4 intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x2bd6f897 intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x3a904270 intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x48d3bb26 intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x4954086e intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x6e3ff103 intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x770088f1 intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x81d28335 intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x9b82ffc3 intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x8da594ab intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0xec829e9a intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0xf7c12f17 intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x11488758 stm_source_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x3832ab68 stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x7a3c6a1c stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x8cfaa5ea stm_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xa03f06aa stm_data_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xba45de55 stm_source_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xccab053a stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xd2aa9619 to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xd3e4c9c8 stm_register_device +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x0869841f amd_mp2_register_cb +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x11eae72d amd_mp2_unregister_cb +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x50421b81 amd_mp2_process_event +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x833986c4 amd_mp2_rw_timeout +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x880a46ce amd_mp2_rw +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x9df803c4 amd_mp2_bus_enable_set +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0xf12bee43 amd_mp2_find_device +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-ccgx-ucsi 0x49d48dea i2c_new_ccgx_ucsi +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-nforce2 0xea3f7c9f nforce2_smbus +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x531a3224 i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x6dcff805 i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x9eeb1dfa i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xdca2e890 i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x6639ce7c i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x91864183 i2c_register_spd +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x114281e9 i3c_master_queue_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x207ec3ad i3c_master_set_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x2358d182 i3c_device_match_id +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x2d53f66b i3c_device_get_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x524d1505 i3c_master_enec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x5807bd18 i3c_device_do_priv_xfers +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x6211f07a i3cdev_to_dev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x6cf65925 i3c_master_do_daa +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x6d5b618e i3c_master_get_free_addr +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x76fe3e05 i3c_generic_ibi_free_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x88c43125 i3c_generic_ibi_alloc_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xa4e93d2f i3c_device_disable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xab140f0f i3c_generic_ibi_get_free_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xaeb7186a i3c_master_entdaa_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xaf211d82 i3c_master_add_i3c_dev_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xc11dff13 i3c_driver_register_with_owner +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xc2b069d3 i3c_device_free_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xc4d3611c i3c_master_register +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xc92b65cc i3c_master_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xd2af85b7 i3c_device_enable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xd30e0711 i3c_generic_ibi_recycle_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xd5cfdec6 i3c_master_defslvs_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe22f911a i3c_driver_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe7b1e5a3 i3c_device_request_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xf6bb0ca9 dev_to_i3cdev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xfc625077 i3c_master_disec_locked +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x267c0508 iio_channel_release_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x2a1fab3c iio_channel_stop_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x32fb40fb iio_channel_cb_get_channels +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7a711aef iio_channel_start_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x83d6818f iio_channel_cb_get_iio_dev +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x9acf62ab iio_channel_cb_set_buffer_watermark +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0xb55e6c26 iio_channel_get_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x1d8c552f iio_dma_buffer_request_update +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x273659cb iio_dma_buffer_init +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x412e0c86 iio_dma_buffer_release +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x565318e1 iio_dma_buffer_set_bytes_per_datum +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x6be727f1 iio_dma_buffer_read +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7499f34b iio_dma_buffer_exit +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xc15d2233 iio_dma_buffer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xd71967b3 iio_dma_buffer_data_available +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xe601ce7f iio_dma_buffer_block_done +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xe8bbd4a8 iio_dma_buffer_set_length +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xeece01fb iio_dma_buffer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xf8918069 iio_dma_buffer_block_list_abort +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0x3ed555f9 devm_iio_dmaengine_buffer_setup +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x3249ba6d iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x3391543d iio_hw_consumer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x9671bc15 iio_hw_consumer_free +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0xbf358fa9 iio_hw_consumer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0xe025944f devm_iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-triggered-buffer 0x6c586bca devm_iio_triggered_buffer_setup_ext +EXPORT_SYMBOL_GPL drivers/iio/buffer/kfifo_buf 0x1f464687 devm_iio_kfifo_buffer_setup_ext +EXPORT_SYMBOL_GPL drivers/iio/chemical/sps30 0xa4510e63 sps30_probe +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x0ed0838b cros_ec_sensors_core_register +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x1163dbb7 cros_ec_sensors_push_data +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x56a55f4f cros_ec_sensors_read_lpc +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x5982b3e6 cros_ec_sensors_core_read +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x9971dac4 cros_ec_sensors_capture +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xa796db96 cros_ec_sensors_core_write +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xaf50ebcf cros_ec_sensors_core_init +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xc1e09bc7 cros_ec_sensors_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xc1ed363f cros_ec_sensors_read_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xd0627528 cros_ec_sensors_core_read_avail +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xd829042b cros_ec_sensors_ext_info +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xfa5cefc7 cros_ec_motion_send_host_cmd +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x961850bb bmg160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xaa10d13f bmg160_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xb98fe473 bmg160_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x75042da5 fxas21002c_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x82e394eb fxas21002c_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xb03f68b3 fxas21002c_core_remove +EXPORT_SYMBOL_GPL drivers/iio/imu/bmi160/bmi160_core 0x895f20bb bmi160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/fxos8700_core 0x55514983 fxos8700_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0x270f23fe inv_icm42600_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0x78bb9073 inv_icm42600_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0xafcf9e8b inv_icm42600_regmap_config +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x3562d1a0 inv_mpu_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x67712941 inv_mpu_pmops +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x061f9ec9 devm_iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0ec70cb9 iio_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x15039f96 iio_read_avail_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x24940b83 iio_enum_available_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26f6b499 iio_str_to_fixpoint +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2870ba88 iio_device_get_current_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x39a71867 iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3d39e6cd iio_validate_scan_mask_onehot +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x40feb108 iio_enum_write +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4dce7dd4 iio_format_value +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4e48b70e iio_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5539033f iio_read_channel_offset +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5cdb1c20 devm_iio_device_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5f16e913 iio_update_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6019e855 devm_of_iio_channel_get_by_name +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x67b988ac iio_get_debugfs_dentry +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6ef4ce33 iio_device_claim_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7e180d48 iio_push_to_buffers_with_ts_unaligned +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x817361df iio_device_id +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x88293e88 devm_iio_trigger_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8a33671e iio_get_channel_ext_info_count +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8e435f75 iio_buffer_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9100b542 __devm_iio_trigger_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x93b19478 iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9a1c9207 iio_device_attach_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9d0f7834 iio_read_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa312b2dc iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa747c828 devm_iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa932ad9b iio_write_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xae49b2b2 __devm_iio_device_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb155f1a5 iio_buffer_enabled +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb2b7a2c2 iio_show_mount_matrix +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb5651b2c iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbc55000b iio_read_max_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbd6111af iio_convert_raw_to_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbe263286 iio_read_channel_average_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbe447671 iio_buffer_put +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc9d1ff3c iio_read_avail_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd6cf69fe iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd6e2255b devm_iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xdcdd5732 iio_read_channel_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xdf52cc2e iio_pop_from_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe0b57b31 iio_read_channel_processed_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe4885872 iio_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xea33d4fa iio_write_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xee3b12f5 iio_enum_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xefe5c087 iio_push_to_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf0029f53 iio_device_release_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf0a191ef iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf55c3b0d iio_read_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf713b3cf iio_write_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xfc84f237 iio_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xfdacf843 iio_read_channel_scale +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x16ccb43e rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x38e88c2d rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x41b2291e rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x6ce38362 rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x8996fe1d rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x9824b935 rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x9c42ada1 rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xb1b449d3 rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xcd22d139 rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xd0d41681 rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xd4db6a5e rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xea0079fd rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x14450a50 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/matrix-keymap 0x8b66165d matrix_keypad_parse_properties +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x66535a18 adxl34x_suspend +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xd6c36f8f adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xec511022 adxl34x_remove +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x17b7b3b0 rmi_2d_sensor_abs_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x4b4c47b7 rmi_register_transport_device +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x588d3f52 rmi_dbg +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x5a8b768e rmi_2d_sensor_of_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x6592493b __rmi_register_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7be75b97 rmi_2d_sensor_abs_process +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x87255751 rmi_2d_sensor_configure_input +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xb9e0c2a6 rmi_2d_sensor_rel_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xc042f7b5 rmi_set_attn_data +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xc7742eca rmi_unregister_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xe99e5e1c rmi_of_property_read_u32 +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xf111d341 rmi_driver_suspend +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xf359580e rmi_driver_resume +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xabc5dc9a cyttsp4_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xc76780d7 cyttsp4_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xf09aa393 cyttsp4_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x369c0366 cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x714da862 cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x6c171714 cyttsp_i2c_write_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0xc70a1007 cyttsp_i2c_read_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x7f82ad36 tsc200x_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xa6134e06 tsc200x_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xaa4f40d0 tsc200x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xe119ff83 tsc200x_regmap_config +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x10ae4a21 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x1e6b5bcd wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x1fc4c931 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x22123e25 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x30b78226 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x450f93e5 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x58b18ebf wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x5eecfd8e wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x941b8e21 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xafc8a4ce wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xd4589af5 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf634ecd8 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x072853f0 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x0eb4a65c ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x5b72584f ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x733e8f4a ipack_device_add +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x74fe0bc1 ipack_device_init +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x8cf678de ipack_get_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x936bf931 ipack_put_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xc6985062 ipack_driver_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xde1c126b ipack_device_del +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x27b21e7a led_set_flash_timeout +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x48fcbdce led_update_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x52021788 led_set_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x5d7e3a62 led_get_flash_fault +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x5fd3ab15 led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x8b7767cf led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x8ce318c1 devm_led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xdeb1ba00 devm_led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x6b8d101a devm_led_classdev_multicolor_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x80831da9 led_classdev_multicolor_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0xb0205bec devm_led_classdev_multicolor_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0xd120d449 led_mc_calc_color_components +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0xd7bf41d3 led_classdev_multicolor_register_ext +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-audio 0x3bd45b0d ledtrig_audio_set +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-audio 0xce593c22 ledtrig_audio_get +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-camera 0x749e05f2 ledtrig_flash_ctrl +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-camera 0x7903e46e ledtrig_torch_ctrl +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x03e19ee8 __SCK__tp_func_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x057b2683 __SCK__tp_func_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x05b84caa __SCK__tp_func_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0723fe1b __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x09dc8d38 __traceiter_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x133a0012 __SCK__tp_func_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x134b3766 __SCK__tp_func_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1379893f __traceiter_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x147d06ed __SCK__tp_func_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x17a83e40 __traceiter_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x196e637f __SCK__tp_func_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c599ebe __traceiter_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1d61a69d __SCK__tp_func_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1f5f8224 __SCK__tp_func_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x21b87a42 __SCT__tp_func_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x25cacb14 __SCT__tp_func_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2766fb04 __traceiter_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x287090dc __SCT__tp_func_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x297e0da3 __SCT__tp_func_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x300c8ff4 __SCT__tp_func_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x30b8ebb7 __traceiter_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x31a1c34f __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x33420a23 __SCK__tp_func_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x335d9974 __traceiter_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x36f317a4 __SCT__tp_func_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x385a6d7e __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x38e3610c __traceiter_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3989c1a9 __SCK__tp_func_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3c684567 __traceiter_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3cb2b75e __traceiter_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x40aefbb3 __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x416c07e6 __SCK__tp_func_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4543b49b __SCT__tp_func_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x45bd2dae __traceiter_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4a5bd5e1 __SCK__tp_func_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4a9a7f08 __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4bb2b3cf __traceiter_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4c105302 __SCK__tp_func_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4d31ccb4 __SCK__tp_func_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4ea45a31 __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x51704d89 __traceiter_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x51b28140 __SCK__tp_func_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x51c81c72 __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x53168b5c __SCK__tp_func_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x55831916 __SCK__tp_func_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x57c8ea12 __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5dd80bd5 __SCT__tp_func_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5e0d4de4 __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x629c9180 __SCT__tp_func_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x63fec63f __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x64e39418 __traceiter_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6677ebf0 __SCT__tp_func_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6af42938 __SCK__tp_func_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6f8eb8c4 __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7522a614 __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x752f7fa4 __SCT__tp_func_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x787810b2 __SCT__tp_func_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7ad2ec2c __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7c9ad254 __traceiter_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7f252e00 __SCT__tp_func_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x8064f2a1 __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x817ad796 __SCT__tp_func_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x822db771 __SCT__tp_func_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x85d55717 __traceiter_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x864dbb44 __traceiter_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x888c14da __traceiter_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x8d18a645 __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x8e77bfe4 __SCK__tp_func_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9059f5aa __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x91299214 __SCK__tp_func_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x95375971 __traceiter_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x963d8866 __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x972aa384 __SCT__tp_func_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9d28d153 __SCT__tp_func_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa15bd7c4 __SCT__tp_func_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa4df18be __SCK__tp_func_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa784e073 __SCT__tp_func_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xad1abf48 __SCK__tp_func_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xad6440b4 __traceiter_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xae803b20 __SCK__tp_func_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xaf966c5d __traceiter_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb08980bb __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb2cdab16 __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb59fcfa9 __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb5a62a8c __traceiter_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb66e115d __SCK__tp_func_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb7031e0a __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb7e5379d __SCT__tp_func_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb9b1c0b4 __SCK__tp_func_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbb6f579a __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbbaaf369 __SCK__tp_func_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbbb2a077 __SCK__tp_func_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbc51f755 __traceiter_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbcaaff2c __traceiter_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc73e0c99 __SCT__tp_func_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xca7c7863 __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xcb4197f6 __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xce451ad8 __SCT__tp_func_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xce6ba82d __traceiter_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd25a4c49 __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd30206ff __SCT__tp_func_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd32d378c __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd740e425 __traceiter_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd789d211 __traceiter_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd7a376b3 __SCT__tp_func_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd7a7fbec __SCT__tp_func_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xdb0682eb __SCT__tp_func_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xdbecd699 __SCK__tp_func_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xdbf65db9 __traceiter_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xdd718613 __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe3bc3625 __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe79f53da __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe8baac80 __SCK__tp_func_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe8ff7720 __traceiter_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xec29e22a __traceiter_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xedc1906c __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xedf90bb3 __SCT__tp_func_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf24aff64 __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf3785f09 __SCK__tp_func_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf57f81ae __SCT__tp_func_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf7a5edc7 __SCT__tp_func_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfb767f16 __SCT__tp_func_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfce76b1e __SCT__tp_func_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfd6837c1 __traceiter_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x0b9e30f7 dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x17dd39d6 dm_deferred_set_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x28c2460f dm_cell_lock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2d9fa301 dm_cell_put_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2eb01e04 dm_deferred_set_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x348d33b5 dm_cell_promote_or_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x40c6981b dm_cell_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x4723dcb7 dm_get_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x5aa4ac1d dm_cell_quiesce_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6499e0a7 dm_bio_prison_alloc_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6791a44e dm_deferred_entry_dec +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x753e20b2 dm_bio_prison_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7ebbd8c5 dm_bio_prison_alloc_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x844ba203 dm_bio_prison_free_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x91975f76 dm_cell_unlock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x9e2f2eb1 dm_cell_lock_promote_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x9fa12910 dm_bio_prison_free_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xa6f2f893 dm_bio_detain +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xace9b57b dm_bio_prison_destroy_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb01c59ad dm_cell_release_no_holder +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb6d5c65d dm_deferred_set_add_work +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb70b342a dm_bio_prison_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xca2e3a88 dm_deferred_entry_inc +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xd010bc88 dm_cell_get_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xd99e003d dm_bio_prison_create_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xed1e7029 dm_cell_error +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x0ad0dc4f dm_bufio_mark_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x111ab12a dm_bufio_mark_partial_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x24772bfe dm_bufio_get +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x2e0774dc dm_bufio_get_block_number +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6aebce95 dm_bufio_issue_discard +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6d3f57bd dm_bufio_get_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x72f07bf4 dm_bufio_set_minimum_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x74dcd98c dm_bufio_get_aux_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7c381a76 dm_bufio_get_block_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x867e87eb dm_bufio_get_dm_io_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xa82b2066 dm_bufio_write_dirty_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xb04f56ab dm_bufio_read +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xb2438d54 dm_bufio_release_move +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc0d7df85 dm_bufio_new +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc90df7e5 dm_bufio_prefetch +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc9a3422d dm_bufio_write_dirty_buffers_async +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xcd2ba798 dm_bufio_forget +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd4bddf5c dm_bufio_issue_flush +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd991e3b9 dm_bufio_get_device_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xe6024e59 dm_bufio_release +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xebcc64a4 dm_bufio_get_block_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xeca7949e dm_bufio_client_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xed3283a4 dm_bufio_set_sector_offset +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xf241a6eb dm_bufio_forget_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xff4b1ac7 dm_bufio_client_create +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x0efbca4c btracker_promotion_already_present +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5adc2807 btracker_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5de611a9 btracker_nr_writebacks_queued +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7890d535 dm_cache_policy_get_name +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x87bee547 btracker_queue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x890723f7 dm_cache_policy_get_version +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x941df318 dm_cache_policy_register +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xa2365f44 btracker_issue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xa7eadcb5 btracker_complete +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xa9dab369 dm_cache_policy_unregister +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xadbefda4 dm_cache_policy_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xbf1a2968 btracker_create +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xccfe6409 btracker_nr_demotions_queued +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xcf8c2590 dm_cache_policy_get_hint_size +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xe1bdae47 dm_cache_policy_create +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x74b0cb8a dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xad258fda dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x01d2f9ac dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x10505e75 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38972f23 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38efaf5a dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3a18389a dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3f1b68f1 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x57e16c3e dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5f4a6e61 dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7774620f dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d053fc5 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d5e1815 dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa53387c7 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa83588eb dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xaaacd452 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xbe38a431 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd8aa4284 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xe5ad7c92 dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xe8312437 dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xee862ba2 dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf92b8a3d dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfd93482e dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0054f69d dm_tm_pre_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x11fbbe02 dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x15085586 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1816383d dm_btree_find_highest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1ae16d40 dm_tm_dec_range +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1ba7cc87 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x243ce1ad dm_array_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x24507fbf dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2bc1a8d9 dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2c5a02df dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2d38ecd9 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2f40da68 dm_bm_set_read_write +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x30a26537 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x30c37cc0 dm_bm_write_lock_zero +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3646e38f dm_tm_issue_prefetches +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x382a0134 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ae50a4a dm_tm_inc_range +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3d6961ed dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x46768dbf dm_btree_remove_leaves +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4f477261 dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5375ca71 dm_bm_write_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5475ba9e dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5736c9c5 dm_bitset_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x586705e1 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x688d422d dm_bm_block_size +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6b2357b6 dm_bitset_test_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6c218062 dm_bitset_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6c2c7ef4 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7062014c dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x72289260 dm_block_manager_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x73420d49 dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x75606d09 dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x79bdc649 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7ade1071 dm_tm_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b047bd9 dm_tm_create_non_blocking_clone +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b6b3af5 dm_bm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7bc7621f dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7e29c59d dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8647f656 dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x87c934be dm_tm_inc +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88295b96 dm_tm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88998224 dm_disk_bitset_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88a5c035 dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8db6f8f0 dm_tm_with_runs +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8f5eefee dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x925f421d dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9290e07a dm_tm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x932a6ffc dm_tm_shadow_block +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9341b376 dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x95a52abd dm_bm_is_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9718cffa dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9955fef4 dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9ced228c dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9e798e22 dm_bm_set_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa29d4c0c dm_bitset_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2a74861 dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa9cf611b dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb3d7482b dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb6879c01 dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb720ee73 dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc0d7c2d1 dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc0fadb13 dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc36559ad dm_btree_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd237b9fb dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd39c0246 dm_btree_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xdf3a4e7d dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe781f874 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe8438eb5 dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf82dba90 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xfce51d79 dm_array_empty +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x053f1e30 cec_transmit_attempt_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x0fa7df7d cec_queue_pin_cec_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x41516398 cec_s_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x52899102 cec_notifier_parse_hdmi_phandle +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x62cb6dbf cec_transmit_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x6e18645a cec_queue_pin_hpd_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x74a99da1 cec_notifier_cec_adap_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x823804f1 cec_register_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x82a981db cec_notifier_conn_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x8699444e cec_s_conn_info +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa01fbb6b cec_notifier_set_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa02f2fbf cec_delete_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa5ea465d cec_s_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xaee236c6 cec_notifier_conn_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xb68528cd cec_fill_conn_info_from_drm +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xb98a7b80 cec_unregister_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbe4de675 cec_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xc16f2887 cec_notifier_set_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xd3e7a23d cec_transmit_msg +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xd3f622f5 cec_notifier_cec_adap_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xd680cc12 cec_queue_pin_5v_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe0a9e531 cec_received_msg_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe1ed281d cec_s_log_addrs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe6cec68a cec_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/common/b2c2/b2c2-flexcop 0x66c0289a b2c2_flexcop_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x0a2fe97f saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x11d4de8f saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x1c4ee606 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x2904d037 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x38af7a83 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x3cf84c75 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x402c78f5 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x86de7742 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x95e2a8c0 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xd1da7622 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x02b32298 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x63599f7a saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x6b82e532 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x6cf96a11 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x71824870 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xb94ba726 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xdae4f560 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x09838717 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x119c07f5 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x1aaa2df0 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x2463005c smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x2b32dfbc sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x2e81b8cd smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x34bf0e61 smscore_translate_msg +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x68f1c87e smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x6933a4c4 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x6a8b174c smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x844539ae sms_get_board +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x99a81ab3 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xa0a2cd78 sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xb021cf17 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xc4a13a40 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xcb119184 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xd51438fd smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xdf6aa853 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xeb7b7bdc smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xff5e47d6 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x03005a48 tpg_alloc +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x040dc7cd tpg_aspect_strings +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x4d1d285c tpg_init +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x517e7ccd tpg_fill_plane_buffer +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x6026aaf0 tpg_log_status +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x6960e899 tpg_s_crop_compose +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x756516e7 tpg_s_fourcc +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7a5d8c0b tpg_update_mv_step +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x86b4ddf7 tpg_reset_source +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x975a1e29 tpg_g_interleaved_plane +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xaa5503d9 tpg_set_font +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xb40fae23 tpg_g_color_order +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xc6110b6e tpg_free +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xc6808be7 tpg_calc_text_basep +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xce8159bb tpg_pattern_strings +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xf4aef3a4 tpg_gen_text +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xf65c5e46 tpg_fillbuffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x02645ded vb2_thread_stop +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x0de937f3 vb2_request_object_is_buffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x12dd29c8 __traceiter_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x1968c771 vb2_core_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x1fa0e2fe __tracepoint_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2b5551d5 __SCT__tp_func_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x37c3a8aa vb2_core_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x3ea615ca vb2_core_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x43bbf37e vb2_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x48039b8f __SCK__tp_func_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4c541391 __tracepoint_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4ed3fb1b __SCT__tp_func_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x620a5bbf vb2_discard_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6ffedc72 __tracepoint_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7657c1d2 __SCK__tp_func_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8011cf8a __SCK__tp_func_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x89c1c683 vb2_core_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8d8713cc vb2_core_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8f1f70ff __traceiter_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8f3b19c6 vb2_core_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x9090cc9f __traceiter_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x90e2fd06 vb2_core_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x947a7ab6 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x9ce47895 vb2_thread_start +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xa28e0773 __tracepoint_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xa5b3f72d vb2_request_buffer_cnt +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xa983151b vb2_core_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xab41d155 __SCK__tp_func_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xabd42992 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb1fccf9e vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xbb66c10e vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc0467134 vb2_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc2c6063d vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc54c863e __SCT__tp_func_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc7920841 __SCT__tp_func_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xcf49a85c vb2_core_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd1662c69 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf0caccc5 __traceiter_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf1896480 vb2_core_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf492e152 vb2_core_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xfbcd093f vb2_core_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x38f70b77 vb2_dma_contig_set_max_seg_size +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x47655f48 vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-sg 0x08da3eb5 vb2_dma_sg_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-memops 0xf44908db vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x03441cf0 vb2_find_timestamp +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x03b6fab9 vb2_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x11f63fc5 _vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x18f526a6 vb2_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x195f7771 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x420fe5a9 vb2_queue_change_type +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x469c414d vb2_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4e411b8d vb2_request_validate +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x55aa6798 vb2_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x582643a0 vb2_ops_wait_finish +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5df92173 vb2_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5ececdfb vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5f249f35 vb2_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x6233459c vb2_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x6376ec96 vb2_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x662ec573 vb2_video_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x67649045 vb2_fop_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x67ba5796 vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x707803d3 vb2_fop_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x82e936a5 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x8c909252 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x9490cff5 vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa131c5bb vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa5297f6f vb2_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xb202ddaf vb2_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xb937c952 vb2_fop_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc3ece9d6 vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc99c9a6f vb2_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd08f6b5b vb2_request_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd5955e31 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe1b4007a vb2_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe3503d50 vb2_ops_wait_prepare +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe8bd3e0c vb2_queue_init_name +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xfd61e248 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-vmalloc 0xc2dee700 vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x1748c203 dvb_module_release +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xca52fc07 dvb_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xe754deae dvb_module_probe +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/as102_fe 0xa13dd226 as102_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/cx24117 0xbc336d0f cx24117_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/gp8psk-fe 0x4d718b02 gp8psk_fe_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/mxl5xx 0x32a607b0 mxl5xx_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv0910 0x545b5af0 stv0910_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv6111 0xb7a4240a stv6111_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/tda18271c2dd 0x5040f99e tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/i2c/aptina-pll 0x49151d94 aptina_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/ccs-pll 0xc271e042 ccs_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x0e6c5ea2 max9271_set_translation +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x2403b3eb max9271_verify_id +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x3c1fc7d6 max9271_set_address +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x53164e89 max9271_set_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x6a607909 max9271_enable_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7a397fc6 max9271_clear_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7d0ba4fb max9271_set_high_threshold +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7dec6c2e max9271_configure_gmsl_link +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x823597b1 max9271_set_deserializer_address +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x86e9a56d max9271_configure_i2c +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x89353062 max9271_disable_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xa8f2f448 max9271_wake_up +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xc2649425 max9271_set_serial_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0161de97 media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x05e51c52 media_create_pad_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0824bd4a __media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x08ee5d48 media_entity_get_fwnode_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x10d8c43c __media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x173075fa media_create_ancillary_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1e4e81e8 media_entity_remote_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1f94342f media_device_usb_allocate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1fab02dd media_request_get_by_fd +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x262f243b media_create_pad_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2946058b media_device_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2bde42ea media_request_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2bee10db media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2c4c272b __media_device_register +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2e941dd4 media_request_object_find +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3b060f72 media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3c3066d4 media_get_pad_index +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x421b94fb __media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x450dcf79 media_devnode_create +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4604436b media_device_pci_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x46407698 media_device_unregister_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x48fb0ca2 __media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x49b29321 media_graph_walk_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4a0f87ab media_device_register_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x59e7fb1b media_request_object_complete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6385c1d5 media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6658cc27 media_device_delete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6d983897 media_request_object_bind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x70a3a4b0 media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7236ab86 media_graph_walk_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x76fe8cc0 __media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x85d2abdb media_entity_find_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x89ee4790 media_create_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8eb3028e media_request_object_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9e915586 media_device_register_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xa791195a media_device_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb21e292f media_device_unregister +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc74aee72 __media_device_usb_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xca380a49 media_graph_walk_next +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xcf2e35cf __media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdc70b45f media_entity_pads_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe34dbcda media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe5ceecd6 media_entity_enum_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe7f522c6 media_request_object_unbind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf3dd52cd media_devnode_remove +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xfb076b5f media_device_unregister_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xfb0d27e1 media_graph_walk_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xfc781c47 __media_entity_enum_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xfda6d454 media_request_object_put +EXPORT_SYMBOL_GPL drivers/media/pci/cx88/cx88xx 0xa1a43488 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x07161db5 mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x1507e044 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x179110b2 mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x1f448800 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x343efd0b mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x37dc3d02 mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x43e96849 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x5a571d7b mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x5d3d1486 mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x6499a2e8 mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x9e16da51 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x9edcfeee mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xa3e02881 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xc187520f mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xcd996104 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xd1714ade mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xd503bdd1 mantis_input_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xe4b3906c mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xedd44cb4 mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x1054a095 saa7134_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x11b13b2e saa7134_ts_buffer_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x13b1752e saa7134_g_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x230b26d7 saa7134_ts_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x25cf56b6 saa7134_ts_buffer_prepare +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x321a9bcf saa7134_s_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x5130b3d4 saa7134_ts_queue_setup +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x53db4ea9 saa7134_s_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x646f692d saa7134_g_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7422a714 saa7134_ts_start_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa5ad96cf saa7134_g_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xbd8aa648 saa7134_s_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xc941b1be saa7134_enum_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xc9bdae75 saa7134_g_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xcd95571c saa7134_s_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xec6d4f4c saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xef2209b7 saa7134_querystd +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xf58a85c8 saa7134_querycap +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xf81bab38 saa7134_vb2_buffer_queue +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x06b01cbb ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x393ea1a0 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x6c278100 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xaf573891 ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xc5362fe7 ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xdf4669b6 ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xfad0d3db ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x10e66a4e mccic_resume +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x756dd0cf mccic_shutdown +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0xbb6a4143 mccic_register +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0xe145a250 mccic_irq +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0xe8a27352 mccic_suspend +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x40da64a2 radio_tea5777_init +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x855cbb32 radio_tea5777_exit +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x38d1d7a1 si470x_stop +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x4207fadd si470x_viddev_template +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x81691cbf si470x_set_freq +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xd1238922 si470x_ctrl_ops +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xdad6aa26 si470x_start +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1ffb6636 devm_rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x2ed90ced rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x2fe160ac rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x31dbb2dd rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3707733b rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x485f9290 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4b110cc2 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4e6bf313 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x560c91d5 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5713787a rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5c1b524e ir_raw_event_store_with_timeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5dbe1d4b ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5fd2bc94 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x600c2224 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x6b8646ca lirc_scancode_event +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x774f567e devm_rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb960f15c rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc071d763 ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xdeb44fd7 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xee9ce881 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfc5d3079 rc_map_get +EXPORT_SYMBOL_GPL drivers/media/tuners/mt2063 0x6e12328b mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mt20xx 0xe01861a9 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mxl5007t 0x0306d762 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/r820t 0x61772ad7 r820t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda18271 0x2efff6fe tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda827x 0xe455a901 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x261af5d6 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x821eedcf tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda9887 0x4cccd350 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x17b61106 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x6a2dd59f tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x165309ef tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x26cf149e tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tuner-simple 0x5b422674 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x0281a1cf is_fw_load +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x35f76be4 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x37e1abf1 cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x51a7f9c8 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x5b399ec7 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x68f15952 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x79145812 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7be0c8ec cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7e5ebea9 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x8a2cd3c8 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x989299f8 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xa521c521 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xa8b229da cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xa99ff8a1 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xab7ebc10 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xabdab6e7 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xad18721a cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xdd9d3b31 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xe1e5344e cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xe51305f1 cx231xx_get_i2c_adap +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0x6a03b64d mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0xcd874c2d mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x02158f9a em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x0e572f31 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x17ed3a7f em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x18fa5a5f em28xx_toggle_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x3b24f4c5 em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x5575de1d em28xx_init_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x5cf2fa09 em28xx_find_led +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x6992f432 em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x6adeb057 em28xx_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x6b4654af em28xx_uninit_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x721f7cc7 em28xx_free_device +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7509abad em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x921d7c65 em28xx_boards +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x96a6b4ef em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb7999ee4 em28xx_alloc_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb8b93176 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xccbb0feb em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xcd63f9f6 em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xf5595e0b em28xx_init_camera +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xfaf3918c em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x14fcf4a0 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x9b7d9cc3 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xb2399e16 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xef81b40f tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x36dd650c __v4l2_async_nf_add_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x8826ddcb __v4l2_async_nf_add_fwnode_remote +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x899f5f51 __v4l2_async_nf_add_i2c +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x9d57d454 __v4l2_async_nf_add_fwnode +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0xb239f921 v4l2_async_nf_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x01612c0b v4l2_detect_gtf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x08402862 v4l2_print_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x0958448b v4l2_set_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x0af3d134 v4l2_valid_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x2bf67def v4l2_calc_aspect_ratio +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x370cfe6e v4l2_dv_timings_presets +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x3aa68d7a v4l2_find_dv_timings_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x4839762f v4l2_calc_timeperframe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7b6ac78f v4l2_phys_addr_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x8f8d4341 v4l2_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x922ecd29 v4l2_enum_dv_timings_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xa97e00eb v4l2_detect_cvt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xae575c8f v4l2_phys_addr_for_input +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xd034392d v4l2_match_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xef15cc44 v4l2_hdmi_rx_colorimetry +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xf56238f4 v4l2_find_dv_timings_cea861_vic +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xff585440 v4l2_dv_timings_aspect_ratio +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x0e38b213 v4l2_flash_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x1d094bcc v4l2_flash_indicator_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0xffa3d1df v4l2_flash_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x0759ef15 v4l2_fwnode_device_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x1a4a0392 v4l2_fwnode_connector_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x239e3d7c v4l2_fwnode_parse_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x612ddce5 v4l2_fwnode_connector_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x99349a9e v4l2_async_nf_parse_fwnode_endpoints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xb9f9f542 v4l2_fwnode_endpoint_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xbe347c57 v4l2_fwnode_connector_add_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xc2c8e4f4 v4l2_fwnode_endpoint_alloc_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xc5e9d434 v4l2_fwnode_put_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xe78d20f9 v4l2_fwnode_endpoint_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xf0978b03 v4l2_async_register_subdev_sensor +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x05da675c v4l2_m2m_ioctl_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x07fcdecc v4l2_m2m_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x1c1392ed v4l2_m2m_last_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2cd4b13c v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x35375b56 v4l2_m2m_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x38ad590e v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3b19ad05 v4l2_m2m_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3fa09deb v4l2_m2m_update_stop_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x421c181b v4l2_m2m_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x443c1641 v4l2_m2m_buf_copy_metadata +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x4f75d504 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5399bf3a v4l2_m2m_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5e6b5e1c v4l2_m2m_update_start_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5ea3caee v4l2_m2m_ioctl_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x640fba03 v4l2_m2m_request_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x65e35747 v4l2_m2m_register_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x681871e7 v4l2_m2m_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x698ad027 v4l2_m2m_ioctl_stateless_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6ba7a77a v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6f6548f9 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6fb73a7a v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x730f2eae v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x8b5c8f61 v4l2_m2m_ioctl_stateless_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x92411a5c v4l2_m2m_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x93b437cb v4l2_m2m_ioctl_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x94a4bc67 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9c4acc8c v4l2_m2m_last_buffer_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9ea11104 v4l2_m2m_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa817bf25 v4l2_m2m_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xae46879d v4l2_m2m_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb024dbae v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb0882a9a v4l2_m2m_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xba216904 v4l2_m2m_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xbca091cb v4l2_m2m_fop_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc1cc9ec4 v4l2_m2m_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc245ca54 v4l2_m2m_ioctl_try_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc2d7895f v4l2_m2m_buf_remove_by_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc8d15737 v4l2_m2m_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xcfced6b4 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd62bda63 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd878c757 v4l2_m2m_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe2c65c21 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xed031253 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xef976ea1 v4l2_m2m_buf_remove_by_idx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf13ff84d v4l2_m2m_unregister_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf391e24f v4l2_m2m_try_schedule +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x097b0ce6 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x14b0a766 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x2acbde9d videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x383258be videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4dc9b58a videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x567d8cfc videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x5ce402a3 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x71a27673 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x72cd441c videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7674866d videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x77278e34 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x80722828 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x899142de videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x91065eb7 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xa3dcbd1f videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xa6e6d298 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xaad4a784 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xcd7a2508 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xdbdbd60f videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xe3d7f603 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xecc303b6 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xf9558413 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xf9709476 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xfb1fc8d0 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x150414fe videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x22421fc6 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x553a86d0 videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xe844f78f videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xf9e86af5 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x07c71a17 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x6b458368 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x9eed689f videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x02933193 v4l2_i2c_subdev_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x04c4d564 __SCK__tp_func_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x08cf6508 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0a6b54f3 v4l2_create_fwnode_links +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x12775f8d v4l2_mc_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x130987bb v4l2_ctrl_request_hdl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1885c1f6 __v4l2_subdev_state_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1bbdcb21 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1bbf43e1 v4l2_subdev_link_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x210b39e7 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x22234557 v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x22c01c10 v4l_vb2q_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3178ba5f __traceiter_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x34a2df6a __tracepoint_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x35dd3fc1 v4l2_subdev_notify_event +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x38ec1448 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x38f69be8 v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3d190455 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3d7e1294 v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4383f121 v4l2_event_subdev_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4385fb0f __v4l2_ctrl_handler_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x489d206c v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x48bfeab3 v4l2_s_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x49d39b7e __SCK__tp_func_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x55f9feca v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5c6fa83b v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5ca95c97 v4l2_pipeline_pm_get +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5f4ea413 __SCK__tp_func_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x62fcb9f3 __tracepoint_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x66d4d86f v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6d3d6bc6 __SCT__tp_func_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e9acc41 v4l2_fill_pixfmt_mp +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x74dfce2c __v4l2_subdev_state_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7977d091 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7a951fb7 v4l_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x804f2c70 __traceiter_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x854d0760 v4l2_subdev_link_validate_default +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x895d5516 v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x91d15b7e v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x96ebbf3f __v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9713581e v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9e2ca3e7 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9f331f5a v4l2_pipeline_link_notify +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9fef35ac v4l2_apply_frmsize_constraints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa0773530 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa1893d14 __SCT__tp_func_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa3281852 __v4l2_subdev_init_finalize +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa3e382a5 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa80993d1 __traceiter_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb03fce6d v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb05111d9 v4l2_ctrl_request_hdl_ctrl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb32207c8 v4l2_create_fwnode_links_to_pad +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb32c77c3 v4l2_get_link_freq +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb46aba57 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb7fb888d v4l2_subdev_get_fwnode_pad_1_to_1 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc32e4ec7 v4l2_src_change_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc6587b2e v4l2_subdev_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc71ce626 __SCK__tp_func_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc8dd867f __SCT__tp_func_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcc08ba9f v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcc501597 v4l2_fill_pixfmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcef9162e __tracepoint_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd541e31a __SCT__tp_func_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd54cbb87 v4l2_event_wake_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd5d131b7 v4l2_g_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd67a9215 v4l_disable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd706b84f v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd7ee17cd v4l2_src_change_event_subdev_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd9cbf925 v4l2_subdev_get_fmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xda3b8617 v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe2822320 __v4l2_find_nearest_size +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe3c79350 v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe52eec34 __traceiter_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe81a4717 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe95150dc v4l2_pipeline_pm_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe96c4f9c v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf2a353ac v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf5ef842e v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf94bbbfc __tracepoint_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfee55bbe v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x0f0f37b7 pm80x_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x9dab9039 pm80x_regmap_config +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xcefdcc58 pm80x_init +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xd99fd720 pm80x_deinit +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x0c3142af arizona_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x1030d7c9 wm5102_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x1b76e4f5 arizona_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x316c484d arizona_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x3780a14f arizona_clk32k_disable +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x3d9f3583 arizona_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x3e7c54a4 wm5110_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4048fbbc wm8997_aod +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x42fac071 wm8998_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4c087981 wm5110_aod +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x53081685 wm5102_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x5f933cfa cs47l24_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x658a1544 wm8997_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x679ae6cd cs47l24_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x8db8ab20 arizona_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xa6b70564 wm8997_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xa727bd3b cs47l24_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xaaf78759 wm5110_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xae5b42b8 wm5110_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xbf225c8a arizona_clk32k_enable +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xc81b43ab wm5110_revd_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xcd1b09e0 wm8997_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xed6383f4 wm5110_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xf99735cc arizona_set_irq_wake +EXPORT_SYMBOL_GPL drivers/mfd/atc260x-core 0x26a36a49 atc260x_device_probe +EXPORT_SYMBOL_GPL drivers/mfd/atc260x-core 0x2f905581 atc260x_match_device +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x341f65a3 da9150_bulk_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x5a4158a9 da9150_read_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x5e041416 da9150_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x6de1d368 da9150_write_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x78ee0f98 da9150_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x8988bae1 da9150_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x9ecf778e da9150_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0x17898c8f intel_lpss_remove +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0x6503f8c3 intel_lpss_prepare +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0x6e715cbe intel_lpss_suspend +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0x82783176 intel_lpss_probe +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0xac881608 intel_lpss_resume +EXPORT_SYMBOL_GPL drivers/mfd/intel_pmc_bxt 0x0722ae56 intel_pmc_gcr_update +EXPORT_SYMBOL_GPL drivers/mfd/intel_pmc_bxt 0x8e5c5515 intel_pmc_s0ix_counter_read +EXPORT_SYMBOL_GPL drivers/mfd/intel_pmc_bxt 0xdd2acd23 intel_pmc_gcr_read64 +EXPORT_SYMBOL_GPL drivers/mfd/iqs62x 0xa436f4de iqs62x_events +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x0e4cc948 kempld_write16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x13e1a2e8 kempld_read16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x258e049e kempld_write32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x617eddf3 kempld_read32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x71cdf461 kempld_read8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x758e15fe kempld_get_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xaab0f736 kempld_release_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xb319d434 kempld_write8 +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x4e3bfdda lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xa866b5d1 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xfd6874c8 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x1638785a lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x53f747ed lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x6f30d243 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x95a56d2b lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x9a5d03b5 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xd840de3a lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xe4578f1a lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x23837f2a lp3943_read_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x2d166965 lp3943_update_bits +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x805a2690 lp3943_write_byte +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x02f2db98 madera_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f379262 madera_of_match +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x241ae8aa madera_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x3c20f94a cs47l15_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x3c2d250a cs47l15_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x47b44fd5 madera_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x6eeb8af8 cs47l90_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7f15e446 cs47l15_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7f183806 cs47l15_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x87a4d5f2 cs47l85_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x87a909b2 cs47l85_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x87f26c4e cs47l92_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x98898ff2 cs47l15_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x9f71a242 cs47l90_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x9f7c7e02 cs47l90_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa8f0b9bf cs47l92_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa8fd65ff cs47l92_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xb5d64e8a cs47l35_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xb5db92ca cs47l35_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xba6280ad cs47l35_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc491c8fe cs47l85_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc49c14be cs47l85_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xdc44bf4e cs47l90_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xdc49630e cs47l90_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebc5a4b3 cs47l92_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebc878f3 cs47l92_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebe384cb madera_name_from_type +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xefe8b601 cs47l85_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xf6e35386 cs47l35_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xf6ee8fc6 cs47l35_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x3aebd6a5 mc13xxx_variant_mc13892 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x685e68ed mc13xxx_variant_mc34708 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x6a9476f0 mc13xxx_common_exit +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x7a519d85 mc13xxx_variant_mc13783 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x8495035f mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x945a5ecb mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x07b8c4ff pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x21d4a9a9 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x292a96ca pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x4a678411 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x787a081a pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x78cdfffb pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x9ed95913 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xb1f627bb pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xbd395fb1 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd06abba5 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xe8c9d20c pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x70660bfd pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xc576715e pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x57d8bee1 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x6055cea5 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x77b571d5 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x957009a6 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xd7bab9da pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x04627f16 devm_rave_sp_register_event_notifier +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x43e53ef9 rave_sp_exec +EXPORT_SYMBOL_GPL drivers/mfd/retu-mfd 0x56d1a8c5 retu_read +EXPORT_SYMBOL_GPL drivers/mfd/retu-mfd 0xa074c8b6 retu_write +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x0d6f0275 si476x_core_cmd_fm_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x12ae25e9 si476x_core_has_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x20cfe627 si476x_core_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x240cfef4 si476x_core_cmd_zif_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x2bfb9c90 si476x_core_cmd_ana_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x408419b4 si476x_core_is_in_am_receiver_mode +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x40fe80c0 si476x_core_cmd_fm_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x4435f8d9 si476x_core_cmd_fm_rds_blockcount +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x4800d10c si476x_core_cmd_set_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x4a629e7e si476x_core_set_power_state +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x4b7517f0 si476x_core_is_a_secondary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x617b6824 si476x_core_is_powered_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x625135f7 si476x_core_cmd_am_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7649794c si476x_core_cmd_func_info +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x78fc7d68 si476x_core_cmd_agc_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x82db7b55 si476x_core_cmd_ic_link_gpo_ctl_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x87326de7 si476x_core_cmd_power_down +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9897bcce si476x_core_cmd_intb_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xa4bbea15 si476x_core_cmd_dig_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xa57d4e70 si476x_core_cmd_power_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xa78ed2bd si476x_core_cmd_am_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xb0784d25 si476x_core_cmd_get_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xb15a3f40 si476x_core_cmd_am_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xb54b6712 si476x_core_cmd_am_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xbaa841d6 devm_regmap_init_si476x +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xc1a19b19 si476x_core_cmd_fm_rds_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xc9fa5d41 si476x_core_is_a_primary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xcfaf2591 si476x_core_cmd_fm_phase_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xcfe126e2 si476x_core_i2c_xfer +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe0e8709b si476x_core_cmd_fm_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe540150f si476x_core_stop +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xec9110b6 si476x_core_has_am +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf8c2d3a8 si476x_core_cmd_fm_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xfdd6e2e9 si476x_core_cmd_fm_phase_div_status +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x135af2c3 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x37cdb8ed sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x3eafd6f6 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x8c74f481 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xb7f43bb0 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x39b64c33 am335x_tsc_se_set_cache +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x5b2f98a4 am335x_tsc_se_clr +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x7811f191 am335x_tsc_se_set_once +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x88eb9071 am335x_tsc_se_adc_done +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xc2fd1c2b ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x04a87dcf alcor_read8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x098c1527 alcor_write32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x297724a5 alcor_read32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x78930536 alcor_write8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x90fe7396 alcor_read32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xba7e8b09 alcor_write32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xe953f767 alcor_write16 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x00c7bec1 rtsx_pci_dma_map_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x03d0170d rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x0bbbc97a rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x0db28cd7 rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x10ec55aa rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x2f0a01f5 rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x313d0a19 rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x396ba89b rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x40749960 rtsx_pci_dma_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x547bbc9c rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x5b20b5d3 rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x69ae0cac rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x749bc89b rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x78e5f5a5 rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x89ff01f2 rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa1065e8e rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa10ada9e rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa200aaae rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa3f63a84 rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xc807b21a rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd24f84bc rtsx_pci_dma_unmap_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe45d6891 rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe6077307 rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xecf38d13 rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x155fb218 rtsx_usb_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x37bf16fc rtsx_usb_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x40f6f92a rtsx_usb_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x52ff3f1a rtsx_usb_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x532aa122 rtsx_usb_get_card_status +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x621d39be rtsx_usb_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x6be6e3c3 rtsx_usb_ep0_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x792c825c rtsx_usb_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x8282432d rtsx_usb_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x893268d9 rtsx_usb_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x9948587a rtsx_usb_ep0_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xbd9b6aed rtsx_usb_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xbe717d3e rtsx_usb_get_rsp +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x15090c09 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x9deec444 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xd0138216 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xe9fba1db cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x0b008db0 oslec_hpf_tx +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x296a8983 oslec_update +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x3115970d oslec_create +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x4b711f77 oslec_adaption_mode +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x5909e701 oslec_snapshot +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x780d3f01 oslec_flush +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x84eba96d oslec_free +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x3cb83d5b eeprom_93cx6_multireadb +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d2ff63 eeprom_93cx6_wren +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x870b53e9 eeprom_93cx6_write +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x884deb9d eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0xc9c6bb25 eeprom_93cx6_readb +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0xff7a0fdf eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x1ad5a234 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x439febff enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x5caa1ddf enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x6492769b enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x9073f4d8 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xb18a40ce enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xd0506c3e enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xd53ded38 enclosure_component_alloc +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x22013d81 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x3617fcc1 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x39759e72 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x3eed750a lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x434de0ac lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x5e43e764 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x8a562555 lis3lv02d_init_dt +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xfb900a9b lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x14a02db7 mei_cldev_recv_nonblock_vtag +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x21ff139e mei_cldev_get_drvdata +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x2ec9bfe9 mei_cldev_ver +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x30f3ee8a mei_cldev_disable +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x33b7b650 mei_cldev_register_rx_cb +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x37a28c29 mei_cldev_register_notif_cb +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x4559fdd7 __mei_cldev_driver_register +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x55ed1708 mei_cldev_send +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x55eebf47 mei_cldev_set_drvdata +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x6d5f8f7e mei_cldev_uuid +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x6ecdfc0f mei_hbm_pg_resume +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x6f0035e3 mei_cl_all_disconnect +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x768f33eb mei_irq_read_handler +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x7a712f6d mei_reset +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x7a82535c mei_cldev_dma_unmap +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x90a24af4 mei_fw_status2str +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x92d61480 mei_deregister +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x953c3b42 mei_irq_compl_handler +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x956d3c4f mei_hbm_pg +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x97580fcf mei_restart +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x981d8a05 mei_register +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xa3694606 mei_stop +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xb8a55b24 mei_cancel_work +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xc7012e5e mei_cldev_dma_map +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xcaa4f675 mei_cldev_recv +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xd0ee0adf mei_device_init +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xe4a5a599 mei_cldev_enabled +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xe6b53c97 mei_cldev_enable +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xec545885 mei_cldev_driver_unregister +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xeea700b7 mei_cldev_recv_nonblock +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xf769520f mei_cldev_send_vtag +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xf9907ef3 mei_start +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xfd63aebb mei_cldev_recv_vtag +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xfdbb3c74 mei_write_is_idle +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xfe201929 mei_irq_write_handler +EXPORT_SYMBOL_GPL drivers/misc/mei/mei-me 0x168ddc69 mei_me_get_cfg +EXPORT_SYMBOL_GPL drivers/misc/mei/mei-me 0x4c31527f mei_me_dev_init +EXPORT_SYMBOL_GPL drivers/misc/mei/mei-me 0x922c6ae5 mei_me_irq_quick_handler +EXPORT_SYMBOL_GPL drivers/misc/mei/mei-me 0xd0eef98f mei_me_irq_thread_handler +EXPORT_SYMBOL_GPL drivers/misc/pvpanic/pvpanic 0xc31f88fc devm_pvpanic_probe +EXPORT_SYMBOL_GPL drivers/misc/sgi-gru/gru 0x5b8bb699 gru_get_next_message +EXPORT_SYMBOL_GPL drivers/misc/sgi-gru/gru 0x8dc51bdd gru_create_message_queue +EXPORT_SYMBOL_GPL drivers/misc/sgi-gru/gru 0x9c7283a1 gru_copy_gpa +EXPORT_SYMBOL_GPL drivers/misc/sgi-gru/gru 0xd3d2bf04 gru_free_message +EXPORT_SYMBOL_GPL drivers/misc/sgi-gru/gru 0xde08c325 gru_read_gpa +EXPORT_SYMBOL_GPL drivers/misc/sgi-gru/gru 0xeed7d505 gru_send_message_gpa +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x1018eee0 xp_restrict_memprotect +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x12333991 xpc_set_interface +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x345c9217 xpc_disconnect +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x39046c7a xpc_clear_interface +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x48e62c9f xp_region_size +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x6285dfe8 xp_cpu_to_nasid +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x64ba5017 xp_pa +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x68d27065 xp_expand_memprotect +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x68fa7d28 xp_remote_memcpy +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x8d146cd0 xpc_registrations +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0xc04c7267 xpc_connect +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0xe68acd6c xpc_interface +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0xead4f7fe xp_max_npartitions +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0xed1d3813 xp_socket_pa +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0xf3b47f67 xp_partition_id +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x91401317 st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xc3503d7f st_unregister +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x4b6ed4ac uacce_remove +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x84eb4c6e uacce_alloc +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0xbf63f4f5 uacce_register +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x024d14bc vmci_qpair_produce_free_space +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x046dd187 vmci_datagram_create_handle +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x056837fb vmci_get_context_id +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x1fd4782d vmci_qpair_get_produce_indexes +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x2449459d vmci_event_subscribe +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x3a22fa8a vmci_datagram_destroy_handle +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x4ba5c46b vmci_qpair_peek +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x5591b58e vmci_context_get_priv_flags +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x5e949e0a vmci_doorbell_destroy +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x612df9ae vmci_qpair_detach +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x676bd843 vmci_qpair_consume_free_space +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x75fe065a vmci_send_datagram +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x787f0fe8 vmci_register_vsock_callback +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x7c74d7a6 vmci_qpair_consume_buf_ready +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x81d61eef vmci_qpair_dequeue +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x98faa789 vmci_qpair_peekv +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xb54e33ca vmci_qpair_enquev +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xb572e830 vmci_doorbell_create +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xbb2e33de vmci_qpair_dequev +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xbcb85f62 vmci_doorbell_notify +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xc04c7e84 vmci_qpair_get_consume_indexes +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xc403cafe vmci_is_context_owner +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xde3abc2e vmci_datagram_create_handle_priv +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xe0cc9c92 vmci_qpair_alloc +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xe11895c1 vmci_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xe67343c1 vmci_qpair_enqueue +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xea143610 vmci_datagram_send +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xea61eefe vmci_qpair_produce_buf_ready +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0202e937 sdhci_send_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x072473aa sdhci_request +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x08b28bd8 sdhci_setup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0d417877 sdhci_abort_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x12f259fd sdhci_switch_external_dma +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1c06ad5f sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1f11c1d7 sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x21093733 sdhci_cleanup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x24f955d6 sdhci_start_signal_voltage_switch +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x33465357 sdhci_set_ios +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x42afb3f0 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x57f97f2f sdhci_cqe_disable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5cfd5d9f sdhci_reset +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5e4a82fd sdhci_reset_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6d0a916b sdhci_cqe_enable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7066a9d6 __sdhci_read_caps +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x72cef6b7 sdhci_cqe_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x76908a32 sdhci_set_bus_width +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7e08d814 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x84645e86 sdhci_enable_sdio_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x87566ce6 sdhci_end_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x92f50aae sdhci_enable_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x93614cd7 sdhci_set_data_timeout_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x9b9f18c9 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xab08af3b __sdhci_set_timeout +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xac00a5b9 sdhci_adma_write_desc +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xadcc415f sdhci_request_atomic +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xafce56e2 sdhci_set_power +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb034d022 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb45add80 sdhci_set_power_noreg +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb8a9d1a2 sdhci_get_cd_nogpio +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc16c61e1 sdhci_set_power_and_bus_voltage +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc1e4f005 sdhci_set_uhs_signaling +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xca45edda sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xcc6a5ebf sdhci_calc_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xce6b99ce sdhci_dumpregs +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd1865ee7 sdhci_set_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xdedbf073 __sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe1b6a132 sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf19a257a sdhci_enable_v4_mode +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf6b78814 sdhci_start_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xfb952fde sdhci_execute_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x103ef7d5 sdhci_pltfm_clk_get_max_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x1a5eedcd sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x1fac8630 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x37f80c95 sdhci_pltfm_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x43907551 sdhci_get_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x8fbf5848 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x902ff842 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x9b65aa0f sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xa761c6f5 sdhci_pltfm_resume +EXPORT_SYMBOL_GPL drivers/most/most_core 0x06e9b995 most_deregister_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x28b5be68 most_register_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x3d00a587 most_resume_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x48cb684d most_get_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x5806a3ae most_start_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0x76e9f21c most_deregister_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x8f983a22 channel_has_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x9409cbc5 most_stop_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0xa0acabaa most_register_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0xb1e87b4b most_register_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0xb4e3f277 most_stop_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0xc2fe0daf most_submit_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xdf370e13 most_put_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xffaed246 most_deregister_configfs_subsys +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x51967bea cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x6ebf5e02 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xac885e7c cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x3050a2ce cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x4e02e91e cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xbdfb2698 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xdfc58f99 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x0592c73d cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x3b507a52 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xb3ddb903 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x2164080a hyperbus_register_device +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x931fc525 hyperbus_unregister_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x06da26c3 mtd_ooblayout_set_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0a167899 mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0f6fa9d1 mtd_ooblayout_get_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1a1c0d02 mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1ac5e94b unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1bfeffda mtd_ooblayout_set_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1cfe90f3 mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1d5832bd mtd_erase_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1fb8916a mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x212b948c mtd_ooblayout_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x25d51d91 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x27210328 mtd_wunit_to_pairing_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x27234928 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2a7896ff mtd_pairing_groups +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2e854ec0 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x38f9bb09 mtd_ooblayout_count_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4072bf1a mtd_ooblayout_find_eccregion +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x41a03f7d mtd_block_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x42a624c8 mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x42d8df45 mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x45680b57 mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x47c8d6cd put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x50dabc2f mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x558bf4ca mtd_read_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x59d54d51 mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6045375d get_tree_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x671b0ec6 mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x755eff6d __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7c29ebd0 __register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x809e4ee1 mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x883f74d9 mtd_ooblayout_count_freebytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x88f6ae52 __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x93593948 mtd_get_device_size +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9f80697d mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa249d1f7 mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa80fc76e mtd_ooblayout_free +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xaae885ee mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb7075882 mtd_check_expert_analysis_mode +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xbafc73d2 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcc921996 mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcd8ed671 __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xce31c778 mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xced7549b mtd_ooblayout_get_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd1af0ebf mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd9e4ae36 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe139dd5f mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe17deb65 mtd_write_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe412d819 mtd_pairing_info_to_wunit +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xebc7fda0 mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xec462447 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf480a57f mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf5067d4a mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf8a61a0f mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf91d58de mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfce871cc get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x32d07dd9 register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x3ab42145 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x70799dc1 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x7da601b9 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xb66ed601 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x072a8c05 nanddev_bbt_get_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x0aedad89 nanddev_mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x21c6ebb4 nanddev_markbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x2ae8a2fb nanddev_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x31694fc8 nanddev_bbt_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x35e6fdaf nanddev_bbt_set_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x449d5c8d mxic_ecc_get_pipelined_engine +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x601c31aa nanddev_ecc_engine_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x6204a49d nand_get_large_page_ooblayout +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x670f7ebf nand_get_large_page_hamming_ooblayout +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x8213abd4 nanddev_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x823e4b88 nanddev_ecc_engine_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x8659294c nanddev_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x87282e2d nand_ecc_tweak_req +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xa1246d76 nanddev_bbt_update +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xa1d3c558 mxic_ecc_process_data_pipelined +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xa2ab7a00 nanddev_mtd_max_bad_blocks +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xa49442e6 mxic_ecc_put_pipelined_engine +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xabb32d5c nanddev_bbt_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xad86ece0 nand_ecc_restore_req +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xb13fec26 mxic_ecc_get_pipelined_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xb9a4edfa nanddev_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xbcad2e40 nand_get_small_page_ooblayout +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xc226a7ea nand_ecc_cleanup_req_tweaking +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xc6bd0f9c nanddev_isbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xfd26747d nand_ecc_init_req_tweaking +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x4a4332b7 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x6c253ef6 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/denali 0xf38ea8c4 denali_chip_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x02e88840 nand_read_oob_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x0cfef640 nand_readid_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x10340a9d nand_gpio_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x11091291 nand_extract_bits +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x174c2e06 nand_soft_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x27bad02d nand_prog_page_begin_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2c0e443b nand_erase_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2d368c4c nand_subop_get_addr_start_off +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x31bb9bab nand_change_read_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x32efd8f2 nand_write_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x39f9a947 nand_reset +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x3edadc53 nand_deselect_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x415ac372 nand_read_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x4ee9cd9b nand_reset_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5632e63d nand_subop_get_num_addr_cyc +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x67aa1694 nand_decode_ext_id +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x6a5f207a nand_status_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x81b97c05 nand_select_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x879cb9cf nand_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x8c6eedbf nand_read_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xadc95dec nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xb3243d43 nand_prog_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xb42339b6 nand_op_parser_exec_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xbed7ac72 nand_prog_page_end_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xcc18c667 nand_ecc_choose_conf +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd3c672b8 nand_subop_get_data_len +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd41ff2ac nand_subop_get_data_start_off +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd929cb48 nand_change_write_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xf844312b nand_read_page_hwecc_oob_first +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/sm_common 0x913073f3 sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x07f3669b spi_nor_scan +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x397664e9 spi_nor_restore +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x04281439 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x07c853ef ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x0c9bdcb6 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x0d08efdb ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x10eb7dd0 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x1b8a98d1 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x48e7f400 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x4d2c1e31 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x66011ab6 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x670e0773 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6a9fddf9 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x85a8ee76 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x8a20c1f5 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xc1c5a850 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe1f4b837 ubi_leb_read_sg +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xeb040d64 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf5ee9ba8 ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x03eefbb4 mux_control_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x0a65c89f mux_state_try_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x19fbffac mux_control_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x223bcb21 devm_mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x2a1137cc mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x50a475f7 mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x6d5a3495 mux_control_try_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7cf08396 mux_state_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x8054509a mux_chip_unregister +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x9d94643a devm_mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xa8c574a2 mux_control_states +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xae1ea155 mux_control_put +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xb2fe8737 devm_mux_state_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xbcc10b14 devm_mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xc6d357bf mux_chip_free +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xc79a8ef3 mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xfa76e911 mux_state_select_delay +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x00b042d1 devm_arcnet_led_init +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x08e6006e arcnet_led_event +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x1819af0f free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x53b5f0af c_can_power_up +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x61b2a1e6 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x7d8280ce alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x9cbee899 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xdaddba24 c_can_power_down +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x2bd537e3 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x7cbc237f unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x950aface free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xc6ceebea alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x106d19e6 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x10d892eb can_get_state_str +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x29fb80bf can_rx_offload_add_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x2cf3cd3e can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x2f4aa0f8 alloc_canfd_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x30f910a7 alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x3bacf92c can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x3d09c035 can_rx_offload_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x3f88cb19 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x42ccf097 can_change_mtu +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4b5a2edd safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6047ede6 can_fd_len2dlc +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x61fdbfdd can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x68132b39 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x69151c9b can_change_state +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7c10b427 can_rx_offload_queue_tail +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x86820515 can_rx_offload_add_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8b1263ca can_rx_offload_irq_offload_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8bef495e can_rx_offload_add_manual +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x91dd5424 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xa36b9332 can_rx_offload_queue_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xa5b1b10c alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xaf01f734 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xc4762b3a can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xc4fe1a24 can_rx_offload_irq_finish +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xca2675f2 alloc_candev_mqs +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd2a0fd19 can_skb_get_frame_len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd3ca0032 can_rx_offload_threaded_irq_finish +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd9429684 can_rx_offload_del +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf12d9387 can_fd_dlc2len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf284d486 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xfd5d3c6c can_rx_offload_irq_offload_fifo +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x1b8a892d m_can_class_free_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x3ee8a5e6 m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x4945e298 m_can_class_resume +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x6e71e323 m_can_class_suspend +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x89db19c0 m_can_class_unregister +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xa7dbf463 m_can_class_register +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xc3403123 m_can_class_get_clocks +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xea4feaae m_can_init_ram +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x1c410bc1 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x1e9017fe unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xa2471692 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xd9be51fc register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0xf1513b5e lan9303_indirect_phy_ops +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x0b7f2af5 ksz_port_mirror_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x0ffb9ab9 ksz_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x13fb9372 ksz_port_stp_state_set +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x221aa819 ksz_port_bridge_leave +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x261b84d8 ksz_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x29ed3523 ksz_mac_link_down +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x5df0624f ksz_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x841fd9f3 ksz_get_stats64 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x8a6c3b60 ksz_phy_write16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x9ef5ac58 ksz_phylink_get_caps +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xa2ec94fd ksz_port_bridge_join +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xa5116127 ksz_port_vlan_filtering +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xb40f6afd ksz_update_port_member +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xba6681d6 ksz_r_mib_stats64 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xbdb9ec39 ksz_switch_chips +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xc27962f5 ksz_port_fdb_dump +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xcaa167c0 ksz_enable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xcb0176dc ksz_port_fast_age +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xd1e14da0 ksz_init_mib_timer +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xd4480311 ksz_port_mirror_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xd7402693 ksz_get_tag_protocol +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xe5038c22 ksz_port_mdb_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xe8dbdae2 ksz_port_mdb_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xf0a1a7bc ksz_port_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xf4fee370 ksz_port_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xf656ec32 ksz_phy_read16 +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8365mb 0x8c2c4a89 rtl8365mb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x15483272 rtl8366_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x237a25e5 rtl8366_enable_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x3c8c6305 rtl8366_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x45d21e8e rtl8366_enable_vlan4k +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x4acfe187 rtl8366_mc_is_used +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x8aad1075 rtl8366_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xb7fa94e8 rtl8366_reset_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xc6bca874 rtl8366rb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xcc4f6361 rtl8366_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xd53b8c50 rtl8366_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xe180325b rtl8366_set_pvid +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xfb119598 rtl8366_set_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x023d9571 fun_cq_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x0d781de7 fun_alloc_ring_mem +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x353cad3d fun_sq_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x35b4c450 fun_get_res_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x6a55a711 fun_serv_sched +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x7ca09eb9 fun_bind +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x96343275 fun_res_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xb9d0156d fun_serv_restart +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xcc482c89 fun_free_ring_mem +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xe0ec1090 fun_serv_stop +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xe2cad940 fun_submit_admin_sync_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0x33113b91 i40e_client_device_unregister +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0xe747bf8f i40e_client_device_register +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x337bd698 ice_rdma_request_reset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0xba1bfbeb ice_rdma_update_vsi_filter +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0xde770288 ice_add_rdma_qset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0xe731aa24 ice_get_qos_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0xe7e94cf0 ice_del_rdma_qset +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x045701d4 mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x06353687 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x065ad951 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x069738b2 mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0965e470 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0d1e280a mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0d7eaa94 mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0eeee46a mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0ff8ac91 mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x10223dbb mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1184bda7 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x12209e6f mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x12613b81 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x12fc37c6 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x137366c4 mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x187c4797 mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1d1a891f mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1ef77dfa mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x22e8e94c mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x23ea97c1 mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x242d173a mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x24a2541c mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2fc17bca mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x347a0dd0 mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x34c723b7 mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3ec41fda mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3f3cec14 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x43caf2d7 mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x43f52f85 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x44c4551b mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x45698606 mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x46322881 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4e6386e6 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4fc35a47 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x512e6d00 mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x53ff283c mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x54ad1cc7 __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x55b98979 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5675da50 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5b9431ed __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5e30d3f7 mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5e62d906 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5feca52f mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x62ac77c7 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x63c6b81e mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x63ce356a mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x662affb2 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x66ab85a1 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x66ffa531 mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6927c60f mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6ad4d2dd mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6c4e04c6 mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6e151323 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6fb89806 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x726039ec mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x72f9073e mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x753a12a0 mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x77620585 mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x79dec604 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7af7f8bc mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7cd773e9 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7ed93c86 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x815497b1 mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8476132e mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x872d289e mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8973408b mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8bd0c4c5 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8f032bc6 mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8f83b7dd mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x91871ce7 mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x929611b7 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x92dbc2d8 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x92dc2e12 mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x948e22f8 mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9b886e61 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9c21bb22 mlx4_get_base_gid_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9c6e9011 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa0bae32d mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa5369922 mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa55ffda2 mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa6e283b7 mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa86a3f0c mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaa247077 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xab0f7cdd mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xacd71790 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xae142e25 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaede00ec mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb2257ec0 mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb3bd9fad mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb45c2fde mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb596295c mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xba6b0015 mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xba91fea0 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbbc87abb mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbbfdba8b mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbbfffef5 mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbd85178f mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc1a7ab3b mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc242a9d5 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc3bf476a mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcae1e0a3 mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcee53916 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd0c68860 mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd23d27c6 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd62857b8 mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd7192fc0 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd9aa2c6d mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xda6fec06 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe75e38b2 mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe89a5d90 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe9326e52 mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xec7ebcc2 mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xed34aa15 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xee37ca3e mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf198bd01 mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf403eca2 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf653fac4 mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf93e974f mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfa5e4c92 mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfc767fa1 mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xff49eefe mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x049f1a7f mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x07230890 mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x072460c4 mlx5_fill_page_frag_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0878790f mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x126ccaa7 mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x169bff79 mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x20ae5534 mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2116e9d0 mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x26ffa238 mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2a85319a mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2b234d62 mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2c5f38f8 mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4041a3c0 mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x477704a3 mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4ad6f00f mlx5_query_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4b586ad4 mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5466b921 mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5515cfee mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x55182d2d mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x580928ef mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5a44b32d mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5b54da00 mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x60145b11 mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x623168ff mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6d472a14 mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7011047f mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x767790a5 mlx5_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x78f0277a mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7c45fbcb mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7f23efce mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81aadc6a mlx5_fill_page_frag_array_perm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x877f29ac mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x880f2d75 mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8a1a994f mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8abf112e mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x93e2e9a2 mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x952bb515 mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9e8e4d23 mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa66a5356 mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa9b171ef mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaa0fd1c3 mlx5_query_module_eeprom_by_page +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaad88c4e mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xabfbc66f mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xac0be8b3 mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xac393d16 mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xad3f49b7 mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xadb71241 mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaf6bcd08 mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb2a2c045 mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb2a39d5a mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb7db622e mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc041f8b1 mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc9386dd5 mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc9d5a58f mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd0c287cb mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd194d6cd mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd3873684 mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdf9cd738 mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe173fca5 mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe4f574ff mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe513a470 mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe53f4427 mlx5_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe9a035c7 mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeb42b421 mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xed6ef30e mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf3c02096 mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf8100111 mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf815dfea mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfe84401f mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x44cc358b ks8851_remove_common +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0xa2a0d71d ks8851_probe_common +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0xdbd4a61f ks8851_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0xf490e975 ks8851_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0x5dd8c668 devm_regmap_init_encx24j600 +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xcc4fa41a regmap_encx24j600_spi_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xe8c8c6c2 regmap_encx24j600_spi_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0b41dec9 ocelot_regmap_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0d7122c8 ocelot_phylink_mac_link_down +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0e5768d4 ocelot_port_mirror_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x101b1319 __ocelot_write_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1b3111d6 ocelot_port_add_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2816c7ba ocelot_port_assigned_dsa_8021q_cpu_mask +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3368f94d ocelot_port_assign_dsa_8021q_cpu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3e659e9b ocelot_port_del_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4b6a4d09 ocelot_port_unassign_dsa_8021q_cpu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5eb9bfb5 ocelot_lag_fdb_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x62a750ee __ocelot_read_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x679b7dd9 ocelot_phylink_mac_link_up +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6b84f989 ocelot_cls_flower_replace +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x758c73a2 ocelot_regfields_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x815ba6a9 ocelot_port_set_default_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x818b3986 ocelot_port_writel +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x87d291de ocelot_lag_fdb_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa7e7ea2b ocelot_mact_flush +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa80b91d3 ocelot_port_get_default_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xac6e21a2 ocelot_cls_flower_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb26e9092 ocelot_cls_flower_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb4c0162d ocelot_port_readl +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb4f59d37 ocelot_get_bridge_fwd_mask +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc32a5746 __ocelot_rmw_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xdea7e075 ocelot_migrate_mdbs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe47a939b __ocelot_bulk_read_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe52eddf5 ocelot_bridge_num_find +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe55cea4c ocelot_port_get_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe97afa47 ocelot_port_mirror_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf36bc0f3 ocelot_port_rmwl +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x16d4c503 stmmac_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x268f310b stmmac_dvr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x2731cd0f stmmac_bus_clks_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x3b8fa328 stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x545572d4 stmmac_set_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x92d778bb stmmac_get_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xb1d4d045 stmmac_init_tstamp_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xd0bd3b2a stmmac_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x5ffbb8d4 stmmac_get_platform_resources +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x635b3df2 stmmac_pltfr_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x9845b78d stmmac_remove_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x9f23bd4e stmmac_probe_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xd825e2c1 stmmac_pltfr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x300abdb4 w5100_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x900ae3d4 w5100_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0xc1694126 w5100_ops_priv +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0xf212ba7e w5100_probe +EXPORT_SYMBOL_GPL drivers/net/geneve 0xcad0c133 geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x079b0fe4 ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x246af16b ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x8679a039 ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x96996d49 ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x9e1bb17b ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/macsec 0xacc0ac3c macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x21cb0b7b macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x999d6f72 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xa3effb09 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xbb50e7ec macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/mdio/mdio-i2c 0xf05fe290 mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x4b648c39 net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x559aa85a net_failover_create +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x27c62e8a xpcs_do_config +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x2d866d2e xpcs_get_interfaces +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x4b5f7741 xpcs_get_an_mode +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x8947189e xpcs_link_up +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x8dbe9d77 xpcs_create +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0xbbf40ec2 xpcs_config_eee +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0xd288b240 xpcs_destroy +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x011d7dd2 bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x08f5d1ba bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0c3ca6f6 __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0fe35081 bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x12b84df4 bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2d7bc157 __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2e522aba bcm_phy_handle_interrupt +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x31bf0489 bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x35fefc4a bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x390a7653 bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5ce9b016 bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x6f245ba9 bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x71705aee bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x72afac99 __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x751feb3d bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x847d8ec0 bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x8856eade bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x8a164670 bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x9472c91d bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x9c2e5d16 bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x9cf8b3dd __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa971d86a __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xadefe605 bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xae38d189 __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc068d3d9 bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc4f92f18 bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xcd9f8556 bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xdf3eb1fe bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xdf40acda bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe6833634 bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xf38a33a5 bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xf8e77255 bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xfb377185 bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xfc7e7866 bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x12135396 phylink_mac_change +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x13cb4fdd phylink_mii_c45_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x15c4e3e2 phylink_ethtool_set_pauseparam +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x16ca1a8a phylink_suspend +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x182541a9 phylink_ethtool_ksettings_get +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x3b069d87 phylink_fwnode_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x3fb8a053 phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x4386cacd phylink_get_linkmodes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x57727285 phylink_ethtool_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x58f1e9c6 phylink_connect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x59e0695d phylink_speed_down +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5d0c4dcc phylink_speed_up +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x62104126 phylink_ethtool_set_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x62a4d60b phylink_create +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x6fa426d2 phylink_ethtool_nway_reset +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x6fd52fc2 phylink_mii_c22_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x825c7340 phylink_get_eee_err +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x8df9a48e phylink_mii_c22_pcs_decode_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x911fcd6c phylink_start +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x983276da phylink_disconnect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x9e222d3c phylink_generic_validate +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xb384c13e phylink_ethtool_ksettings_set +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xb617050d phylink_mii_c22_pcs_config +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc0a8f4be phylink_resume +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc1d15a4c phylink_set_port_modes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc85b7c9f phylink_mii_c22_pcs_encode_advertisement +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xcff1abd9 phylink_decode_usxgmii_word +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xdcb0a2c0 phylink_stop +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xde66f4a7 phylink_mii_ioctl +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xec02ebe0 phylink_init_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf3083a1d phylink_destroy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf8fe5642 phylink_ethtool_get_pauseparam +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xfe9ac7eb phylink_mii_c22_pcs_an_restart +EXPORT_SYMBOL_GPL drivers/net/tap 0x0c45ae9d tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x31c9101d tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0x3db73846 tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/tap 0x44a04ff4 tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x7e99c0c7 tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x97963a00 tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0xda5852c0 tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/tap 0xedde4898 tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/tap 0xf98b4c82 tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x28b405ca usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x459a596f usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x66796eff usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x8680a839 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x8aba0acf usbnet_ether_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xdceb5a7f usbnet_cdc_update_filter +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xfeb3bb8f usbnet_cdc_zte_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x2e439083 cdc_ncm_bind_common +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x38177538 cdc_ncm_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x704af631 cdc_ncm_select_altsetting +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7e1b6fa3 cdc_ncm_fill_tx_frame +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x8e035d7c cdc_ncm_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xaadcc9f9 cdc_ncm_rx_verify_ndp32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xc0166a8d cdc_ncm_rx_verify_nth32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xd891c942 cdc_ncm_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xdafcbabb cdc_ncm_rx_verify_nth16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xe8cc3b64 cdc_ncm_rx_verify_ndp16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xf4406aa5 cdc_ncm_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/r8152 0xc209cd44 rtl8152_get_version +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x03ea8992 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x3536ab71 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xa6dd3183 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xc54a5061 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xc708be20 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xdb887c13 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x043e6b4b usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x074e9f93 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0a2c960d usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0c1227f3 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1100d3d1 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x137f8185 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1b38e1e9 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x24372009 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3f39b96e usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x48a86611 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4fdd0998 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x545783ea usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x570c2e56 usbnet_write_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x723f62c1 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x72fa3dc5 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x731db2a8 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7da1a102 usbnet_read_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7f1618d4 usbnet_write_cmd_async +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8cf4955b usbnet_status_start +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x902b9c02 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x92705861 usbnet_status_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x963eade2 usbnet_write_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x96bb2e75 usbnet_get_link_ksettings_internal +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x99ad2c30 usbnet_set_rx_mode +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa11968e3 usbnet_set_link_ksettings_mii +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xadad7d06 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb46e8593 usbnet_get_link_ksettings_mii +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbd9c291b usbnet_read_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc6a65c17 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xca82eef5 usbnet_update_max_qlen +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd15fe2d0 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe1d4674c usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf5165f3b usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf704f285 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x2ca952c9 vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x55bc55c7 vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x62314ef6 vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0xb9fa1ff4 vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0xbcdfb52c libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x66ada034 il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x69de0296 _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6cb4af25 il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7f1a617f il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd310e630 il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5987fe45 iwl_fw_lookup_assert_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x71118edc iwl_fw_lookup_cmd_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x74778a2f iwl_fw_lookup_notif_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x182ca136 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x2104277d p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x487b4ad9 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x6da58655 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x7f6dc886 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x8eab5d0e p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x8f660606 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x8fee3d76 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xaccecc13 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x03980c01 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x06f398f5 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x20a53180 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x273263cc lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x44eb6b95 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x61d97436 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x672f2d91 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x6d21208b __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x98054275 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xa8381d38 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xe117263c lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xe9949743 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf1119eee lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf373674d lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xfa5cb0ac lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xfc644088 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x2b81fc00 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x34dc0e10 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x39c0a5c9 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xb7aa4fad lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xdbd632f1 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xdfd03fa3 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xe5068012 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xe97607cd lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x03739f9b mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x07b959b4 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x156c5898 mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x16c76ded mwifiex_drv_info_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x533b555b mwifiex_main_process +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x556976a4 mwifiex_deauthenticate_all +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5918df08 mwifiex_dnld_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x600a2fb3 mwifiex_reinit_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6bdf935f mwifiex_shutdown_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x79225cd5 mwifiex_fw_dump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x8029db20 mwifiex_queue_main_work +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x98fd2f0e mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x9e9504b4 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xb06335c5 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xba387681 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xca747b84 mwifiex_upload_device_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xcddf8b30 _mwifiex_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd3ea305b mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd4dad9f3 mwifiex_alloc_dma_align_buf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd50aa8d2 mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd6601abb mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd8f4e5f0 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xe7cb8b46 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xfbc7e959 mwifiex_prepare_fw_dump_info +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xffbc3b93 mwifiex_multi_chan_resync +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x01804698 mt76_rx_aggr_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x034f5299 mt76_mcu_get_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x035b7740 mt76_tx_status_unlock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x097cf632 mt76_insert_ccmp_hdr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0b63f477 mt76_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0d4058f3 mt76_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0dbc2460 mt76_sta_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0fe2d325 mt76_token_consume +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x134f9a91 mt76_csa_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x166c8ad8 mt76_put_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x167ffeb4 mt76_wake_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x17f568e9 mt76_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x197a250d __tracepoint_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1b0217d7 mt76_unregister_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1d547a95 mt76_get_of_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1e6684aa mt76_get_min_avg_rssi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1e7f8ad2 mt76_set_stream_caps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1ec57b4f __mt76_worker_fn +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1ff997e5 __mt76_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x24773813 mt76_tx_worker_run +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2a7df1d3 mt76_dma_rx_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x37e5d14f mt76_tx_status_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3c13a70e mt76_calculate_default_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3f67e891 mt76_csa_finish +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4594dccd mt76_ethtool_worker +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x482c2dbc mt76_free_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x484d75ac mt76_tx_status_skb_done +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4c995e8e __SCK__tp_func_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4f8c7e5f mt76_unregister_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x50c085cf mt76_phy_dfs_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x53c3fcd8 mt76_tx_status_skb_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x548b42b0 mt76_tx_status_skb_get +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x555f0689 mt76_sw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5c1c8712 mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5f253c00 __mt76_mcu_send_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6c6cacc4 __traceiter_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6f64eaeb mt76_mcu_rx_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6fc2f4d0 __mt76_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7004da1a __mt76_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x71cf5ca0 mt76_get_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x744c27b7 mt76_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x74df8008 mt76_tx_status_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x776e0aa8 mt76_register_debugfs_fops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7d567fdb mt76_rx_aggr_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x80b8fade __SCK__tp_func_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8af6c9ac mt76_init_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x95e054da __mt76_poll_msec +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x96034cad __tracepoint_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x97c25d04 mt76_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9c79b42d mt76_skb_adjust_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9f8f74bf mt76_get_rate_power_limits +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa419cf5c mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa597aa9d mt76_sta_pre_rcu_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa6ce6910 mt76_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa863a94e mt76_alloc_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa9f20d24 mt76_queue_tx_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xaf62c27d mt76_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb340dee9 __mt76_set_tx_blocked +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb39facd0 __mt76_mcu_msg_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb45511a4 mt76_release_buffered_frames +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb96c4776 __traceiter_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbb31a266 __SCT__tp_func_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbd0bd310 mt76_set_irq_mask +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc23b5d75 mt76_update_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc35e64a6 mt76_stop_tx_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6634315 mt76_ac_to_hwq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc84d747b mt76_init_sar_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xcde13020 mt76_pci_disable_aspm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd0a7cd82 mt76_txq_schedule_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd263b149 mt76_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd3d49dec mt76_mcu_skb_send_and_get_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd42113b1 mt76_mcu_send_and_get_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd629277e mt76_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd7658df9 mt76_tx_check_agg_ssn +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdb4c5d58 mt76_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdb98671f mt76_update_survey_active_time +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe2323b16 mt76_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe40b66ef mt76_wcid_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe45628cb __SCT__tp_func_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe5bc39c7 mt76_get_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe8af9f88 mt76_dma_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe9e8dcb4 mt76_register_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xee801e31 mt76_eeprom_override +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf001664a mt76_txq_schedule +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf184e2ca mt76_get_sar_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf2607919 mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf36ec241 mt76_token_release +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf371fd54 mt76_alloc_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf482b42a mt76_seq_puts_array +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf6a8dd01 mt76_has_tx_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x087717b5 mt76_connac_mcu_update_arp_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x174df428 mt76_connac_mcu_sta_ba +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x1d857c15 mt76_connac2_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x20ac3d1c mt76_connac_mcu_bss_omac_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x3178f85a __mt76_connac_mcu_alloc_sta_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x39af65b7 mt76_connac_mcu_beacon_loss_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x3a62321f mt76_connac_mcu_get_nic_capability +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x3a70fef2 mt76_connac_mcu_set_mac_enable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x3e3f8718 mt76_connac_power_save_sched +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x40886065 mt76_connac_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x408b836a mt76_connac_mcu_set_hif_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x4288e085 mt76_connac_get_phy_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x451cbc3d mt76_connac_mcu_start_patch +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x4a1b6a79 mt76_connac_pm_dequeue_skbs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x4e003c96 mt76_connac_mcu_bss_basic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x4ff8d25b mt76_connac_mcu_chip_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x51196395 mt76_connac_mcu_start_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5b532931 mt76_connac_mcu_wtbl_generic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x60b5d61a mt76_connac_mcu_init_download +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x64c8bfa4 mt76_connac_mcu_bss_ext_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x671678db mt76_connac_mcu_sched_scan_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6cc9720b mt76_connac_mcu_sta_ba_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x716bdb15 mt76_connac_sta_state_dp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7ba2a89a mt76_connac_mcu_sta_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x8107b718 mt76_connac_mcu_reg_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x85713fc0 mt76_connac_mcu_reg_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x908ca40c mt76_connac_wowlan_support +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x94473c5b mt76_connac_pm_wake +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x96947f6f mt76_connac_mcu_wtbl_ht_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x9e8d52d5 mt76_connac_mcu_set_suspend_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa2285d9c mt76_connac_get_he_phy_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa7198d4a mt76_connac_mcu_rdd_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa7b250f9 mt76_connac_mcu_wtbl_hdr_trans_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa9c8882a mt76_connac_mcu_update_gtk_rekey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xae0e7f95 mt76_connac_mcu_wtbl_update_hdr_trans +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xb0ca1d8f mt76_connac_mcu_add_nested_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xb2314c64 mt76_connac_mcu_set_vif_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xb3d3e67d mt76_connac_free_pending_tx_skbs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xb673e193 mt76_connac_mcu_alloc_wtbl_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xb8ab3e2b mt76_connac_mcu_set_p2p_oppps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xbca2104e mt76_connac_mcu_wtbl_smps_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xbf6686bc mt76_connac_mcu_uni_add_bss +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xc0ad12e7 mt76_connac_mcu_wtbl_ba_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xc9d4bd1f mt76_connac_mcu_cancel_hw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xc9ffd94f mt76_connac_mcu_sta_update_hdr_trans +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xcc050dd9 mt76_connac_mcu_sta_uapsd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xd10d1f84 mt76_connac_mcu_set_rts_thresh +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xd4cad2f6 mt76_connac_mcu_set_pm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xe0347f9e mt76_connac_mcu_add_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xe08ce6eb mt76_connac_mcu_sta_basic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xed2c89c7 mt76_connac_mcu_hw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xedcb7b88 mt76_connac_mcu_set_deep_sleep +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf17bdd0e mt76_connac_mcu_patch_sem_ctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf26400c4 mt76_connac_mcu_sta_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf6b72110 mt76_connac_pm_queue_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf8d2a63d mt76_connac_mcu_sched_scan_enable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf90c6da3 mt76_connac_mcu_uni_add_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xfaf96ec8 mt76_connac_mcu_set_rate_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xfbdf78d5 mt76_connac_mcu_coredump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xfe436fb8 mt76_connac_mcu_set_channel_domain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x0ed6d5ef mt76s_wr_rp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x15c9607f mt76s_hw_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x3ebf0ecf mt76s_txrx_worker +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x42141346 mt76s_sdio_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x73142dc1 mt76s_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x7ff820a7 mt76s_write_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x9d484f33 mt76s_rd_rp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xbe72d3ac mt76s_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xc2e85a40 mt76s_alloc_rx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xca8151d5 mt76s_txqs_empty +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xcd9e668d mt76s_rmw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xcfede3fc mt76s_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xd5fc0a8a mt76s_alloc_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xf038dd2c mt76s_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xf0de720e mt76s_read_pcr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xffef6921 mt76s_read_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x2eb2921f ___mt76u_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x3fd19b96 mt76u_read_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x5d3fc1ef __mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x76dd7ea3 mt76u_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x92c762d5 mt76u_queues_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x9429ef44 ___mt76u_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x9d6eff8b mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x9fd6f2df mt76u_alloc_mcu_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xa47655bd __mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xaeee5281 mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xb0627039 mt76u_single_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xd1e9b0ba mt76u_stop_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xdf65d3fa mt76u_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xe005952b mt76u_stop_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x050f47ff mt7615_thermal_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x08d276d5 mt7615_rx_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x11d8b337 mt7615_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x154e1720 mt7615_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x362c4593 mt7615_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x5a1fab63 mt7615_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x64ae9f4b mt7615_register_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x673e2680 mt7615_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x70001b4b mt7615_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x759c2527 mt7615_mcu_fill_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7b16bd77 mt7615_init_work +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8be0bdf6 mt7615_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8bfdd3fe __mt7663_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8dd9977e mt7615_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x960046ec mt7615_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9da88fc7 mt7615_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa6879b6c mt7615_tx_token_put +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa9f874d0 mt7615_mac_set_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xaf9881bb mt7615_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xb20ca914 mt7615_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xbd392025 mt7615_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc0a622bd mt7615_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc0b96d22 mt7615_unregister_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd916e369 mt7615_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xdd361fe3 mt7615_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xddc4f394 mt7622_trigger_hif_int +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xece77b77 mt7615_wait_for_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf2fbc603 mt7615_txp_skb_unmap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615e 0xeb4a554d mt7615_dma_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x055ea1f7 mt7663_usb_sdio_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x1506ffca mt7663_usb_sdio_reg_map +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x66b6cd45 mt7663_usb_sdio_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x8df01b5d mt7663_usb_sdio_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0xd8a9e54d mt7663_usb_sdio_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x01b5fc78 mt76x0_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x0aaa1b41 mt76x0_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x2b455463 mt76x0_phy_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x7c829fb6 mt76x0_set_sar_specs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xa4602697 mt76x0_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xc265c6da mt76x0_init_hardware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xc7121806 mt76x0_chip_onoff +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x032c3879 mt76x02_mac_set_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0462ce68 mt76x02_add_rate_power_offset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0745765f mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x09101558 mt76x02_mcu_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x09e290ae mt76x02_get_lna_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0aacc057 mt76x02_resync_beacon_timer +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0b0b2d7c mt76x02_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0d4023ec mt76x02_get_max_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x165dc3ea mt76x02_dma_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1a6d81d9 mt76x02_phy_set_bw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2581ed23 mt76x02_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x26b4282c mt76x02_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2a989f90 mt76x02_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2cfe63f1 mt76x02e_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2d032f67 mt76x02_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2d96e30f mt76x02_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2dc57ed3 mt76x02_mcu_set_radio_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2f1ccc46 mt76x02_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x35d2834d mt76x02_limit_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x45e03c9e mt76x02_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x52b8e57a mt76x02_sta_rate_tbl_update +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x55cb047d mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x58387414 mt76x02_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5b47f81a mt76x02_dma_disable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5b96d794 mt76x02_ext_pa_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5bd84fd5 mt76x02_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x651e082a mt76x02_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x676488dc mt76x02_mac_cc_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x691901c4 mt76x02_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6cdc57b2 mt76x02_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x76846d20 mt76x02_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x79073d2e mt76x02_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8d5b63f9 mt76x02_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x91d5b9ee mt76x02_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9425c953 mt76x02_set_tx_ackto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x98f5c3b3 mt76x02_eeprom_parse_hw_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa24d2ab9 mt76x02_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa46e05c8 mt76x02_mac_setaddr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa4a642b9 mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xab19b6cc mt76x02_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xad408ef8 mt76x02_update_beacon_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xadd42729 mt76x02_set_ethtool_fwver +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xae3369f4 mt76x02_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb0befc1e mt76x02_phy_set_band +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb645bea8 mt76x02_phy_adjust_vga_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb92a2551 mt76x02_phy_set_txdac +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbb094323 mt76x02_eeprom_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbc4cb79e mt76x02_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc058d46f mt76x02_remove_hdr_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc177f9a5 mt76x02_set_coverage_class +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc1983fca mt76x02_edcca_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc2390dd0 mt76x02_tx_set_txpwr_auto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc4d825c1 mt76x02_get_efuse_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc54288f5 mt76x02_init_agc_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc69a701f mt76x02_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc7ae101f mt76x02_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc7f06373 mt76x02_phy_dfs_adjust_agc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcb9200b8 mt76x02_mcu_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcc24c392 mt76x02_enqueue_buffered_bc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcda46c77 mt76x02_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd334fba0 mt76x02_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdbd68bf5 mt76x02_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe7890c3e mt76x02_mac_reset_counters +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe8a73cbb mt76x02_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xeb89e9e7 mt76x02_mac_wcid_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xec58f2ea mt76x02_dfs_init_params +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf6702cc7 mt76x02_mcu_function_select +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf8ca7976 mt76x02_mac_shared_key_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfaed97de mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfecb97be mt76x02_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xff67ff67 mt76x02_get_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x00aa84a2 mt76x02u_exit_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x04dc288f mt76x02u_mcu_fw_send_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x5e8e60ba mt76x02u_init_mcu +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x691aac72 mt76x02u_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x6930e756 mt76x02u_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x8381141b mt76x02u_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x90438c58 mt76x02u_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xc5554d4f mt76x02u_mcu_fw_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x13652673 mt76x2_mcu_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x2d266103 mt76x2_configure_tx_delay +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x3513b3fe mt76x2_get_power_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x357ad758 mt76x2_get_temp_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x3bb88460 mt76x2_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x45100245 mt76x2_phy_set_txpower_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x561a58d9 mt76_write_mac_initvals +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x5f324ce8 mt76x2_mcu_tssi_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x6cb0c0da mt76x2_get_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x76f7dca3 mt76x2_read_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x80103894 mt76x2_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x8debe888 mt76x2_reset_wlan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa415389c mt76x2_phy_tssi_compensate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xb642378e mt76x2_set_sar_specs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xc0ad7dbb mt76x2_phy_update_channel_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xcf9ebd8a mt76x2_mcu_load_cr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xdcfa6413 mt76x2_apply_gain_adj +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xf82529d2 mt76x2_mcu_init_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xf845f1dc mt76x2_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xfcd9ef83 mt76x2_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x183cd73e mt7921_mac_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x1b365d2e mt7921_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x1ba708f7 mt7921_usb_sdio_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x1ed9d3d4 mt7921_mcu_fw_pmctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x38761e04 mt7921_usb_sdio_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x395aac1a mt7921_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x3ecf1209 mt7921_mac_add_txs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x40eafd98 mt7921_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x4217543e mt7921_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x44064104 mt7921_mcu_fill_message +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x4c49fe3f mt7921_tx_check_aggr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x5ccc39bb mt7921_mcu_set_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x6d3bf3ca mt7921_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7d67bdb8 mt7921_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x83d53d76 mt7921_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xa89a7ee3 mt7921_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xbac3fe04 mt7921_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xc2a9a2b8 mt7921_usb_sdio_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xc4f79eb3 mt7921_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xc57cb153 mt7921_mac_sta_assoc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xe9cc0d8e mt7921_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xf346501e mt7921_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xf81d19bf mt7921_mcu_drv_pmctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xf936f835 __mt7921_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xfca1c9e2 mt7921_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x04848630 wilc_cfg80211_init +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x0bf8b242 host_wakeup_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x1504690e wilc_netdev_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x1e51c719 wilc_handle_isr +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x46a105aa host_sleep_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xbfc11f14 chip_allow_sleep +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xc9e2082a chip_wakeup +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x31fab83c qtnf_chipid_to_string +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x439287fd qtnf_trans_handle_rx_ctl_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x6dc030a2 qtnf_core_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x7a7c4a63 qtnf_classify_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xe6bc35c2 qtnf_wake_all_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xf7535dd9 qtnf_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xf87fc8e4 qtnf_core_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0077b65b rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0aa4a567 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0dd5f309 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x127122bf rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x15ddc0e0 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x16205133 rt2800_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1ae19efa rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x238b21c6 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x25a3fcd3 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x25bea86b rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x260608d4 rt2800_get_txwi_rxwi_size +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x349e0fbe rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x39f67519 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4348a0ea rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x480bb8a5 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4bd714cf rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x518528e2 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5ba98e18 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5fbabf2d rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6aba6a90 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6ce19079 rt2800_txstatus_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6e41f3fc rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7e971745 rt2800_txdone_nostatus +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x89024457 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa327eb36 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa9204569 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xab5575fe rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xba6573f0 rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xbb8fc7a5 rt2800_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xbd05ed26 rt2800_txstatus_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc1648b45 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc93987f4 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xcd64fc22 rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd378c890 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xdbea4611 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xdefe0026 rt2800_pre_reset_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe153f36f rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe3130a52 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xedc7f757 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xee292099 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf54675a4 rt2800_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf718eef3 rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf7981272 rt2800_get_key_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xff3439b4 rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x10c76817 rt2800mmio_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x158ca8ed rt2800mmio_queue_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x32599404 rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x32ac3645 rt2800mmio_rxdone_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x3d741c87 rt2800mmio_pretbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x463a775e rt2800mmio_init_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x4f74d327 rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5028bbb2 rt2800mmio_tbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x574850f9 rt2800mmio_write_tx_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x57b05fd9 rt2800mmio_get_dma_done +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fa4db64 rt2800mmio_interrupt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fd0ed11 rt2800mmio_init_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x716286d9 rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x736eb7fd rt2800mmio_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x744b9506 rt2800mmio_get_entry_state +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x964a3b9e rt2800mmio_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x97e3c029 rt2800mmio_autowake_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9f3c8921 rt2800mmio_txstatus_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xdb859cda rt2800mmio_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xdb906196 rt2800mmio_toggle_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xf1afeb70 rt2800mmio_fill_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xf515d0c7 rt2800mmio_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0729dd83 rt2x00lib_set_mac_address +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x076f2501 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x085cb1dd rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0c145c1c rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1397bc5e rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x14b4d2f9 rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x15783e12 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x193d4c01 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1e8658a9 rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x22346bdf rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x27ece3b7 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2c6ab4df rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3adc8491 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x41752bbf rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x43fa2304 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x45de1e12 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x48799584 rt2x00mac_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x495d18f1 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4d27826e rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x51d3d06c rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x54fbdf3f rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x59bf21ec rt2x00lib_txdone_nomatch +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5a1ab6e8 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5a84b1c1 rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5dd2d229 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5fdff517 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6029627a rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6bb7156c rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7af1bff2 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8348ff32 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x84eae3f1 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8ed9b8df rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x91580f52 rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x996abcc3 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xaa8ca342 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xaf36d549 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb3c8509f rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xbebca189 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc57a9454 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc6d00c97 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd14ee1b0 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd2c147b5 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xdc1963c4 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xdd999aee rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe8290d3f rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf1957f6c rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf32eb2f7 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x12f36daf rt2x00mmio_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x2dedf6c2 rt2x00mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x6584817b rt2x00mmio_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x90d02349 rt2x00mmio_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xb105536c rt2x00mmio_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x5a7a9cae rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xcdcf827d rt2x00pci_pm_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xea6863e9 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x04db7bc8 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x1711ecf9 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x1c7b79c1 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x3145149c rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x372ced16 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x65455fe9 rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x9195894d rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x9c16fbb7 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xa41cffc4 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xbbdadb80 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xc2c1d917 rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xc631cc5b rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xd08c1261 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xd65f17a1 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xed401737 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xfb2669f5 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x063439e9 dm_restorepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7ca9662e dm_savepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x80267712 rtl92c_set_p2p_ps_offload_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd3ddf98f dm_writepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x09843eab rtl8723_phy_rf_serial_read +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x128f7060 rtl8723_phy_save_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x18b98af6 rtl8723_phy_init_bb_rf_reg_def +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1d735f5a rtl8723_write_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x204b123e rtl8723_dm_init_edca_turbo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x207d4fe3 rtl8723_dm_init_dynamic_bb_powersaving +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x2d4817d2 rtl8723_phy_rf_serial_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x3df4a492 rtl8723_phy_set_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x3f5bf9c0 rtl8723_phy_calculate_bit_shift +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x40b8f559 rtl8723_enable_fw_download +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x458d13c3 rtl8723ae_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x4e995d21 rtl8723_save_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x4fbaacbd rtl8723_cmd_send_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6a76cdcd rtl8723_phy_path_adda_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6d6c6d35 rtl8723_dm_init_dynamic_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x73af58ff rtl8723_phy_path_a_standby +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x75af9710 rtl8723_phy_pi_mode_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x8baf8913 rtl8723_phy_set_sw_chnl_cmdarray +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xbcde5e0d rtl8723_phy_mac_setting_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xbe4898d1 rtl8723_phy_reload_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xc4cdb2d7 rtl8723_phy_reload_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xcd76a115 rtl8723be_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xcfa42329 rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xd2679287 rtl8723_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xe2a32a74 rtl8723_phy_query_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xe4f327e3 rtl8723_phy_path_a_fill_iqk_matrix +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xed20abcc rtl8723_fw_free_to_go +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x085bd79d rtl_p2p_info +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1712db75 rtl_set_tx_report +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x19e0d824 rtl_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x24b6df96 rtl_fw_block_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2921a4d4 rtl_btc_status_false +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2d12efd7 rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2d32cdfc rtl_lps_change_work_callback +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2df8124e rtl_lps_enter +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2e156b19 rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2e5382f9 rtl_fill_dummy +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x38a05739 rtl_get_hal_edca_param +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4e94cd48 rtl_global_var +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x58e83df4 rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x63153440 rtl_init_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x68383278 rtl_action_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6db3ba37 rtl_update_beacon_work_callback +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7bf27979 rtl_deinit_rfkill +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8033e74e rtl_recognize_peer +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x97e05663 rtl_tid_to_ac +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa1ae3d12 rtl_ips_nic_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xaea9f7dc rtl_tx_mgmt_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xaf4733e8 read_efuse_byte +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb11b0f72 rtl_swlps_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xba31e603 rtl_deinit_deferred_work +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbd7d3443 rtl_init_rx_config +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbe8a494e rtl_get_hwinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbea82bd5 rtl_fw_page_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc2224bde rtl_tx_ackqueue +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe96490ca rtl_deinit_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf7608147 rtl_efuse_ops_init +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf8e64935 rtl_tx_report_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0f5c3ce9 rsi_zone_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x10129eb5 rsi_91x_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x4145b7ac rsi_read_pkt +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x43ac2654 rsi_mac80211_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x5fc50de1 rsi_91x_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x96c117c5 rsi_hal_device_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xcd173710 rsi_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x280ca4f1 cw1200_core_release +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xa8e4fb6b cw1200_core_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xb02687eb cw1200_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xbbaf7d18 cw1200_can_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x6de7cf0b wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x76ffeef3 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xce85c2a2 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x012f91c5 wlcore_cmd_generic_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x055f7680 wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x06d3b27e wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0767ade7 wl12xx_cmd_build_probe_req +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0e0c99a5 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0e1e0bf2 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x11ff83e9 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x19424201 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1ab041e3 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20351125 wlcore_get_native_channel_type +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2211f3c9 wl1271_tx_min_rate_get +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2b25d9e9 wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3504392c wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3546d615 wlcore_event_rssi_trigger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3c88bef8 wlcore_event_soft_gemini_sense +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x489946db wl1271_cmd_data_path +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x489d9258 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x510f602e wl1271_acx_init_mem_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5190d875 wlcore_event_ba_rx_constraint +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6b8fc8be wlcore_event_roc_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x700f2fd8 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x760f994e wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x76c28d11 wl12xx_acx_mem_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x81b171a1 wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x832d6bea wl1271_acx_set_ht_capabilities +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x85498cd1 wl1271_format_buffer +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8648f9c3 wlcore_event_dummy_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8d94526d wl1271_acx_sleep_auth +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x905e9da0 wlcore_disable_interrupts_nosync +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x92301244 wlcore_event_max_tx_failure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa013aafd wlcore_event_channel_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb8f6da34 wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xbbe3c66e wl1271_acx_pm_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc308ac74 wl1271_tx_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcaa9787c wlcore_scan_sched_scan_ssid_list +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcb930d3e wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcc3e6332 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd1dd977d wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd599682a wl1271_debugfs_update_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd742610d wlcore_cmd_wait_for_event_or_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xda30a0cb wlcore_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xdc516e8d wlcore_event_inactive_sta +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xdeae0e94 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe784f4b5 wlcore_set_scan_chan_params +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe7ad85b5 wlcore_scan_sched_scan_results +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xfa72d3d9 wlcore_event_sched_scan_completed +EXPORT_SYMBOL_GPL drivers/nfc/mei_phy 0x42b52db6 nfc_mei_phy_alloc +EXPORT_SYMBOL_GPL drivers/nfc/mei_phy 0x51eb9fce mei_phy_ops +EXPORT_SYMBOL_GPL drivers/nfc/mei_phy 0x76d89c01 nfc_mei_phy_free +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x58e5936c nfcmrvl_parse_dt +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x6ce739c7 nfcmrvl_nci_register_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xac21f52a nfcmrvl_nci_unregister_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xd8529779 nfcmrvl_nci_recv_frame +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x15ab60b3 pn532_i2c_nfc_alloc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xa4c11a6c pn53x_common_clean +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xaca67bbc pn53x_unregister_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xd87820d3 pn533_finalize_setup +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdd9b4d3d pn53x_register_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdecfd339 pn533_rx_frame_is_ack +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xea804cd4 pn533_rx_frame_is_cmd_response +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xf125dddb pn53x_common_init +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x46d94a22 st_nci_disable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x54469694 st_nci_hci_load_session +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x6d727b10 st_nci_discover_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xa5dc4de6 st_nci_remove +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xab850594 st_nci_hci_event_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xbdd8475f st_nci_hci_cmd_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xbe55c5d3 st_nci_probe +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xf580b3dc st_nci_enable_se +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x1823d9f6 st95hf_spi_recv_echo_res +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xd4b4dd4f st95hf_spi_recv_response +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xe67b9d08 st95hf_spi_send +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x0862001f ntb_transport_tx_free_entry +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x30934216 ntb_transport_max_size +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x32537aca ntb_transport_link_query +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x3d54dbfc ntb_transport_tx_enqueue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x3efaac48 ntb_transport_register_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x42d43f81 ntb_transport_unregister_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x436098aa ntb_transport_link_down +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x82e6c13d ntb_transport_qp_num +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x9c992c8f ntb_transport_link_up +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xc270dc24 ntb_transport_free_queue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xc37d9036 ntb_transport_rx_remove +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xd0994376 ntb_transport_create_queue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xd40e7a02 ntb_transport_rx_enqueue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xf55d6313 ntb_transport_register_client_dev +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xf9eb813f ntb_transport_unregister_client_dev +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0x620074fb async_pmem_flush +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0x62976c81 virtio_pmem_host_ack +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x3a2a8b34 nvmf_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x3c3cc8dd nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x51c659eb nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x55fee110 nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x60945daa nvmf_reg_read64 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x8f7d017b nvmf_connect_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xaff170c5 nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xb2aba0d2 nvmf_ip_options_match +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xe3fd1522 nvmf_connect_io_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xe6c0f6b9 nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xf0c992bc nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x0aefcf91 nvme_fc_register_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x0d12e564 nvme_fc_register_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x3884f8b8 nvme_fc_unregister_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x3e33ac54 nvme_fc_rescan_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x58e312f7 nvme_fc_io_getuuid +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x8a9cf5a7 nvme_fc_set_remoteport_devloss +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xbb0e18a6 nvme_fc_rcv_ls_req +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xfca9dc99 nvme_fc_unregister_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x02b0e6ad nvmet_check_transfer_len +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x0a1b7501 nvmet_ctrl_fatal_error +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x105dce9b nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3e0ef07a nvmet_wq +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x588f9284 nvmet_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x5f13ddb3 nvmet_req_alloc_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x8f9e25c4 nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xae7c36ff nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xc40b521f nvmet_sq_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xc529f2bd nvmet_req_complete +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xd02bba63 nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xf4fefb03 nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x0b98123d nvmet_fc_rcv_ls_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x0cc8b7ca nvmet_fc_register_targetport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x1048b92a nvmet_fc_rcv_fcp_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x4a013682 nvmet_fc_invalidate_host +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x7fa5302a nvmet_fc_rcv_fcp_abort +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x9ef76d99 nvmet_fc_unregister_targetport +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0x1591b2c6 hyperv_read_cfg_blk +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0x221394ae hyperv_reg_block_invalidate +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0xe5f73406 hyperv_write_cfg_blk +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0xfb921e00 hvpci_block_ops +EXPORT_SYMBOL_GPL drivers/pci/switch/switchtec 0xc5c15c6f switchtec_class +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x62de2a59 mcp23s08_probe_one +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x9cf63f01 mcp23x08_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xac8d9bee mcp23x17_regmap +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x25cb8b8c cros_ec_sensorhub_unregister_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x4363104e cros_ec_sensorhub_register_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros_usbpd_notify 0x6b1be500 cros_usbpd_unregister_notify +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros_usbpd_notify 0x8bda2df3 cros_usbpd_register_notify +EXPORT_SYMBOL_GPL drivers/platform/chrome/wilco_ec/wilco_ec 0x112134ec wilco_ec_set_property +EXPORT_SYMBOL_GPL drivers/platform/chrome/wilco_ec/wilco_ec 0x24eef51f wilco_ec_get_byte_property +EXPORT_SYMBOL_GPL drivers/platform/chrome/wilco_ec/wilco_ec 0x2d7b0bbc wilco_ec_mailbox +EXPORT_SYMBOL_GPL drivers/platform/chrome/wilco_ec/wilco_ec 0x75bf4d33 wilco_ec_get_property +EXPORT_SYMBOL_GPL drivers/platform/chrome/wilco_ec/wilco_ec 0x8b8ae425 wilco_ec_set_byte_property +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x151f2251 ssam_request_sync_submit +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x17011813 ssam_client_bind +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x17e819a5 ssam_controller_device +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x1ea159a3 ssam_device_get_match_data +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x26ea81be ssam_device_add +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x2e7e4201 ssam_request_write_data +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x308dd84b ssam_notifier_unregister +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x3a3cc9d6 ssh_packet_get +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x40652725 __ssam_device_driver_register +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x48404085 ssam_request_sync +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x4ae492f0 ssam_controller_statelock +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x52a7d335 ssam_device_driver_unregister +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x554cd332 ssam_notifier_register +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x5e052a4e ssam_device_get_match +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x65bee93b ssam_controller_get +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x6a2ed98c ssam_bus_type +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x7218172c ssam_client_link +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x72cc216d ssam_device_remove +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x738d60ad ssam_request_sync_alloc +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x7497e108 ssam_request_sync_with_buffer +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x7ae6998e ssam_controller_event_disable +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x7d104d7c ssam_request_sync_init +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x8dafd883 ssam_controller_put +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x9ee1fd80 ssam_remove_clients +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xa78849be ssam_request_sync_free +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xc2bd582d ssam_device_id_match +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xd4911ff0 ssam_device_type +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xe797cadc ssam_device_alloc +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xe8dd855a ssh_packet_put +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xee1604cd ssam_controller_stateunlock +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xf629e03b ssam_get_controller +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xf7ddee00 ssam_controller_event_enable +EXPORT_SYMBOL_GPL drivers/platform/surface/surface_acpi_notify 0x0497d27e san_client_link +EXPORT_SYMBOL_GPL drivers/platform/surface/surface_acpi_notify 0x48cf4c48 san_dgpu_notifier_register +EXPORT_SYMBOL_GPL drivers/platform/surface/surface_acpi_notify 0xd60bd773 san_dgpu_notifier_unregister +EXPORT_SYMBOL_GPL drivers/platform/x86/amd_hsmp 0xdfd927ba hsmp_send_message +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0x377b563a asus_wmi_register_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0x57c46ceb asus_wmi_evaluate_method +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0xe585a87d asus_wmi_unregister_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dcdbas 0xd9146b52 dcdbas_smi_free +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dcdbas 0xf1a06655 dcdbas_smi_alloc +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-rbtn 0x51552fca dell_rbtn_notifier_unregister +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-rbtn 0xa060fe7d dell_rbtn_notifier_register +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-smbios 0x1b0b3141 dell_laptop_register_notifier +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-smbios 0x45170471 dell_smbios_call +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-smbios 0x489ca6bc dell_smbios_unregister_device +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-smbios 0x7fd2ce06 dell_smbios_find_token +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-smbios 0x8b610a5e dell_smbios_call_filter +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-smbios 0x982d10d7 dell_smbios_register_device +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-smbios 0xb9400dbf dell_laptop_call_notifier +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-smbios 0xc2871e79 dell_smbios_error +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-smbios 0xd6c6b12d dell_laptop_unregister_notifier +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-wmi 0x9d4b709e dell_privacy_has_mic_mute +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-wmi-descriptor 0x8eef8246 dell_wmi_get_hotfix +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-wmi-descriptor 0x9559234e dell_wmi_get_interface_version +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-wmi-descriptor 0xa167d064 dell_wmi_get_size +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-wmi-descriptor 0xa3dcfa65 dell_wmi_get_descriptor_valid +EXPORT_SYMBOL_GPL drivers/platform/x86/firmware_attributes_class 0x8a00747b fw_attributes_class_get +EXPORT_SYMBOL_GPL drivers/platform/x86/firmware_attributes_class 0xe609be46 fw_attributes_class_put +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/intel_punit_ipc 0x8ee9455e intel_punit_ipc_command +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/pmt/pmt_class 0x20cd766f intel_pmt_dev_create +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/pmt/pmt_class 0x692a772f intel_pmt_is_early_client_hw +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/pmt/pmt_class 0xdc52c7bf intel_pmt_dev_destroy +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/speed_select_if/isst_if_common 0x06f7821f isst_if_mbox_cmd_set_req +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/speed_select_if/isst_if_common 0x58a8261f isst_if_mbox_cmd_invalid +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/speed_select_if/isst_if_common 0x861369f8 isst_resume_common +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/speed_select_if/isst_if_common 0x8986dba8 isst_if_get_pci_dev +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/speed_select_if/isst_if_common 0x9a5c38f2 isst_store_cmd +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/speed_select_if/isst_if_common 0xe18f42a5 isst_if_cdev_unregister +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/speed_select_if/isst_if_common 0xec2c0267 isst_if_cdev_register +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0x1c7565c2 telemetry_read_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0x35db93a6 telemetry_get_trace_verbosity +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0x5847f501 telemetry_clear_pltdata +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0x5bb8e91a telemetry_raw_read_eventlog +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0x665cd407 telemetry_read_eventlog +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0x6b892524 telemetry_set_sampling_period +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0x82bb2dbe telemetry_get_evtname +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0x90551504 telemetry_add_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0x9deec96c telemetry_set_pltdata +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0xb75bd1e6 telemetry_raw_read_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0xbb9a2726 telemetry_reset_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0xd14ffffc telemetry_update_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0xe1eb4be1 telemetry_set_trace_verbosity +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0xe8847f53 telemetry_get_sampling_period +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0xf00771b0 telemetry_get_eventconfig +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0xf9d5ad60 telemetry_get_pltdata +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_ips 0x46809fa9 ips_link_to_i915_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/mxm-wmi 0x232b5238 mxm_wmi_supported +EXPORT_SYMBOL_GPL drivers/platform/x86/mxm-wmi 0x61cdf799 mxm_wmi_call_mxds +EXPORT_SYMBOL_GPL drivers/platform/x86/mxm-wmi 0xe26032eb mxm_wmi_call_mxmx +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x065b4695 wmi_get_acpi_device_uid +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x17b0f8ca wmi_get_event_data +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x535ea3af wmidev_evaluate_method +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x6068bedf wmi_evaluate_method +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x76ae31fd wmi_remove_notify_handler +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xaba842fe wmi_query_block +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xc6ac4c5b set_required_buffer_size +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xc9d4d6d1 wmi_has_guid +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xd01e3d22 wmidev_block_query +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xd7752b86 wmi_set_block +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xf18bdd75 wmi_install_notify_handler +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xa3702d1e bq27xxx_battery_setup +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xa99c76fe bq27xxx_battery_update +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xe59597c2 bq27xxx_battery_teardown +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x239297e0 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x61170f14 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x8f9c903f pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0x7709818d rapl_find_package_domain +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0xb1beca57 rapl_add_package +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0xf20f23a5 rapl_remove_package +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x6dd1bf46 mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xca33e3ab mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xd965b6da mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x3d875425 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x7a7f7b40 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xaf458698 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xd8b0c107 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xdf71e79e wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xe5c87069 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x43a287ae wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x149236da qcom_glink_native_remove +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x868d59c3 qcom_glink_native_probe +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xf14f5684 qcom_glink_ssr_notify +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xfd2d5a1d qcom_glink_native_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0a1a3d62 cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0b95f78a cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x101ff478 cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x17c008c5 cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x20233c51 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2610f8a5 cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x28061338 cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2c509f33 cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2f2063e9 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2fac5d2a cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x35b1012d cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x376169b5 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3cf5943e cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4205af16 cxgbi_device_find_by_netdev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x43563d19 cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x64e9f1cf cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6590d283 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x65e958ed cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x77147bc1 cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7d881cb3 cxgbi_device_find_by_netdev_rcu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7da0f651 cxgbi_ddp_ppm_setup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x85259816 cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8c0d257a cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8eeb3305 cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9d29fb0c cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa8d15cb2 cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa93f0ab2 cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xac373c73 cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb0b23875 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb35f0ff6 cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbc631611 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbdd1ee1a cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc011af75 cxgbi_ddp_set_one_ppod +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc1548309 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc480508c cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc4a1e510 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc9c620f9 cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd47a0c3d cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd5f6ceea cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdf94d88f cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe2f01d72 cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xea853777 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xed64b0d9 cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfa5d1194 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfbddd2bf cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x02474ae6 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x28aaf890 fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4559d2a7 fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5156a59e fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x559bcc97 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x71c61f03 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7b2381e7 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x82e93cf4 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xa2237a7e fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xa919ed11 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb0733d77 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb1a4bfa4 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbac58840 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc3f30cc0 fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc6cc7ab9 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc7f9b056 fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xe45c2da2 fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xe788a6b2 fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf167cb7a fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x6de6a644 fdomain_destroy +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0xdaa0db39 fdomain_create +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x3ead49c7 iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x5f81f622 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xa24e6f6d iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xa3bdf937 iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xb0c51e52 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xbefa746d iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xf8035f2d iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0x09279ed6 fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x00afde89 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x04b5c79a iscsi_host_get_max_scsi_cmds +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0589b2ea iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0b3ab9d0 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0b7a1b1a iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0d335ff0 iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x21d9123b iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2b23ff00 iscsi_suspend_rx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2ce2736c iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x316e0b80 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x39edc0b9 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x48a5b3ee iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x495eb96e iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4c0968d3 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4e9950a6 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x50878693 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5302c403 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x55510a57 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x55660875 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x55e01217 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5854b3b4 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x59467edd iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5d3dd698 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5e55d107 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6f182004 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x732d486f iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x75874fe8 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7d320107 iscsi_session_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x80df4add iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d303b1b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x937dcb19 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9b2e4dd7 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9b672b8f iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xafad50b6 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbcb05b19 iscsi_conn_queue_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbfa24396 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbfedce2f iscsi_session_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc4351409 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc7b9432f iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd163b874 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd8aa1d82 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd9310618 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdbf454bd iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xde7a456e __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeab9cbd5 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf69043be iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfa27a23c iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfadb6bcb iscsi_conn_queue_recv +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfc640a93 iscsi_conn_unbind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xffb436ae iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1429c7a4 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x25b107c4 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2bc17adc iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2ce72eb3 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x383a48c2 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x503379a1 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x58f8526f iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x59c4f970 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x77626b3c iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7e8586bf iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x8c0bef03 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x8de03a76 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9bc4331f iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa88c083e iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xce614909 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe2c2ff61 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf5f9c8cf iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x00901225 sas_abort_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x056e23bf sas_lu_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x093945d3 sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0e997a02 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x16ed235e sas_abort_task_set +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x18190c44 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1bfe5a7f sas_execute_internal_abort_single +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1e773f7c sas_ata_wait_after_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1f4d87eb sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x247ba347 sas_execute_ata_cmd +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3395c2b1 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x35717d56 sas_notify_phy_event +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x39312998 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x44b05312 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x452f07db sas_query_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4ca5907a sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x53335593 sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x63a38dba sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x643cbedd sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x703e3cd5 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x769038f9 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7e6153d6 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x83bc3e78 dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8759782d sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8859d6f5 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8a446a18 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x94e6a0ba sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa33dfb31 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbae9df70 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc416f2de sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc9aeebe1 sas_clear_task_set +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd3ea6c41 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xdf3f32c2 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe1492dab sas_execute_internal_abort_dev +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe82829e3 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf8a8a8f0 sas_notify_port_event +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf8ad1677 sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_fc 0x407d6b32 fc_eh_should_retry_cmd +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x025f812d iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0348e03c iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x06cfbe63 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0e178923 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x15dc8bab __SCT__tp_func_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2184c794 __SCK__tp_func_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2499eb0a __traceiter_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2533d8bd iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2d0ac98c __traceiter_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x34603d9e iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x38c4b374 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3e6bd865 iscsi_force_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3eaad4ab __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x40649e90 __SCK__tp_func_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x48fd79da iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4943ed92 __SCK__tp_func_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4a38c5eb __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x50284eb0 iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x52575134 __SCT__tp_func_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x529b2624 iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x56f35147 iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5dad5d88 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x634ff018 __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6404c0d0 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x66720caf iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6bcbf8a5 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7153dda5 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7482526f iscsi_remove_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x774ef051 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7b3c3eb8 iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7d719b1a __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x83c76578 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84a005f1 iscsi_get_router_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x850872ac iscsi_alloc_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8b40704a iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x909fb2d0 iscsi_put_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9a05f3ba __traceiter_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9ead62b3 iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9f0b3033 iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa0173e65 iscsi_get_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa3911113 __SCK__tp_func_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa5683210 __traceiter_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa6357a95 iscsi_put_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa8c4b5e1 __SCT__tp_func_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb53716dd iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb9178912 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc071179 iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc0a70fe8 __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcc0a96ba iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcfd8b9ce iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd2980483 iscsi_add_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd52beaeb iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd7a732d8 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd81274a6 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd9780092 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdb956320 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdf515c49 __SCT__tp_func_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe2008261 __traceiter_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe41c319e iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xefb2edf9 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf1473979 iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf7e749fb __SCT__tp_func_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf91f64ea iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf9772044 __SCK__tp_func_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xffc6b1cf iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x8a195bcd sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xd99a2f56 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xed33d146 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xf52832a7 sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x4e4f2416 spi_populate_tag_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xcffa2aff spi_populate_width_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1902178a srp_tmo_valid +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x5eedf3ba srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x6f83395f srp_stop_rport_timers +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x73d4b45b srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x99979d07 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xd897c898 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xff6a0aec srp_attach_transport +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x204b4c41 siox_master_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x2424cccf siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x6b698bfe siox_device_connected +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x7993a447 __siox_driver_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xe1d20f51 siox_master_alloc +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xfb134337 siox_master_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x11df72af slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x21916f67 __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x2f10bdd5 of_slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x4180025b slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x43fa7cc4 slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x44fab3b1 slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x5d2fc54c slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x66017661 slim_device_report_present +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6c5fc275 slim_get_logical_addr +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6dc70197 slim_register_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6e1c1f49 slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x72a43798 slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x809ea285 slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x8f6c078a slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x93d002e2 slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x948ebce4 slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x94b48b0f slim_writeb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x958173ea slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xadda0ccf slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xb8213fda slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xbbfc2a0b slim_stream_disable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xbdb09979 slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xbee8ae9c slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd06e2c6f slim_do_transfer +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd25c660a slimbus_bus +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xefce8d92 slim_msg_response +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x2adb3d30 sdw_bus_type +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x33c11bd7 sdw_unregister_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0xfb17826a __sdw_register_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-cadence 0xe1d48976 sdw_cdns_debugfs_init +EXPORT_SYMBOL_GPL drivers/spi/spi-altera-core 0xb9edd149 altera_spi_irq +EXPORT_SYMBOL_GPL drivers/spi/spi-altera-core 0xd73701e5 altera_spi_init_master +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x6de1cc84 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x6e5220ec spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xb2f78f18 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xb8a302ff spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xd3a3bd05 spi_bitbang_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xe8e0708e spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x12ddebe4 spi_test_execute_msg +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x2bb5db52 spi_test_run_tests +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0xef1c00fc spi_test_run_test +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x10167463 spmi_controller_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x2236a645 spmi_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x260abec7 spmi_ext_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x2e610672 spmi_command_reset +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x3876cacb spmi_ext_register_writel +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x4d8aef59 spmi_ext_register_readl +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x52779348 __spmi_driver_register +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x53fea716 spmi_device_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x71f6e580 spmi_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7753af6b spmi_device_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7fc60f29 spmi_command_shutdown +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x8713d2df spmi_controller_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xa8394793 spmi_ext_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xafd9bc87 spmi_command_sleep +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xd562c200 spmi_command_wakeup +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xd8005347 spmi_register_zero_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xdb90e693 spmi_device_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xf1131d9c spmi_controller_alloc +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0x9a1a18d8 ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x6eed69d9 fieldbus_dev_area_updated +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x71898689 fieldbus_dev_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x7646b24d fieldbus_dev_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x86751b71 fieldbus_dev_online_changed +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x1411c17d gb_audio_apbridgea_stop_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x24e40ec7 gb_audio_apbridgea_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x353df8a9 gb_audio_apbridgea_prepare_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x41f89b59 gb_audio_apbridgea_set_config +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x57cade1d gb_audio_apbridgea_prepare_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x5b51c765 gb_audio_apbridgea_start_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x6605ccb7 gb_audio_apbridgea_unregister_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x6c323db8 gb_audio_apbridgea_start_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x76e6e7c9 gb_audio_apbridgea_stop_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xa5ff5b1e gb_audio_apbridgea_register_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xb516678e gb_audio_apbridgea_shutdown_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xd7e1413a gb_audio_apbridgea_shutdown_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xef8f0c70 gb_audio_apbridgea_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x014fe74d gb_audio_gb_enable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x129e1094 gb_audio_gb_activate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x28b663c5 gb_audio_gb_get_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x46ded86f gb_audio_gb_activate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x5a204dbb gb_audio_gb_set_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x95fb958e gb_audio_gb_deactivate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xa558dbd6 gb_audio_gb_disable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xb35c76d3 gb_audio_gb_get_topology +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xc1bb5d75 gb_audio_gb_deactivate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xce442aed gb_audio_gb_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xd47bb2ea gb_audio_gb_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xd8e8aa64 gb_audio_gb_set_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xdbe6d419 gb_audio_gb_get_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x19e9e6b1 gb_audio_manager_remove_all +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x32e6391e gb_audio_manager_remove +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x4b2376ba gb_audio_manager_put_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x5a108b0f gb_audio_manager_add +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x79eef2f8 gb_audio_manager_dump_all +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0xaeac8ca2 gb_audio_manager_dump_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0xdc4ed4ec gb_audio_manager_get_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x17e6e77a gb_gbphy_register_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x7cb553d5 gb_gbphy_deregister_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x7e3ec5de gb_spilib_master_exit +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0xf8e8a711 gb_spilib_master_init +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0x5803b5d7 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper 0x4ba7a617 release_msr_list +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper 0xdbc11ff1 apply_msr_data +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper 0xe341713f load_msr_list +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0x359eb237 camera_sensor_csi +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0x4a96a382 atomisp_gmin_register_vcm_control +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0x814e3c47 atomisp_register_i2c_module +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xa859317f atomisp_gmin_remove_subdev +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xbae0e12f atomisp_get_default_camera_caps +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xda88300e atomisp_get_platform_data +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xdb29baa5 gmin_camera_platform_data +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xecf781a2 atomisp_gmin_find_subdev +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xef636113 gmin_get_var_int +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x398e88af target_submit +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0xe8e0c9cc target_queue_submission +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0xeb457378 target_init_cmd +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0xec390627 target_submit_prep +EXPORT_SYMBOL_GPL drivers/tee/tee 0x03a3b52a tee_bus_type +EXPORT_SYMBOL_GPL drivers/tee/tee 0x078187a5 tee_shm_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0x088224b5 tee_shm_get_va +EXPORT_SYMBOL_GPL drivers/tee/tee 0x19db4375 tee_shm_alloc_kernel_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0x1dcd0aa3 tee_client_open_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x24cc769b tee_get_drvdata +EXPORT_SYMBOL_GPL drivers/tee/tee 0x2e99310b tee_client_close_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0x368393f6 tee_client_open_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0x3f1c5f03 tee_shm_get_from_id +EXPORT_SYMBOL_GPL drivers/tee/tee 0x60cd4c6c tee_shm_pool_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7a6d0c57 tee_client_close_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x85fd9922 tee_session_calc_client_uuid +EXPORT_SYMBOL_GPL drivers/tee/tee 0x8d3bf03e teedev_open +EXPORT_SYMBOL_GPL drivers/tee/tee 0x980194a2 tee_device_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0xbca0e4c9 tee_shm_alloc_priv_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0xbce9edaf tee_client_get_version +EXPORT_SYMBOL_GPL drivers/tee/tee 0xc07c353a tee_client_invoke_func +EXPORT_SYMBOL_GPL drivers/tee/tee 0xc8c0e5aa tee_shm_get_pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0xc9c6b4bd tee_device_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0xd74c9e35 tee_shm_put +EXPORT_SYMBOL_GPL drivers/tee/tee 0xe3b651f2 tee_shm_register_kernel_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0xe5eb9bef tee_device_unregister +EXPORT_SYMBOL_GPL drivers/tee/tee 0xe996516b teedev_close_context +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/int340x_thermal_zone 0x6ddcf477 int340x_thermal_zone_remove +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/int340x_thermal_zone 0x75295d5d int340x_thermal_zone_add +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/int340x_thermal_zone 0x78eba382 int340x_thermal_read_trips +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_device 0x053dd068 proc_thermal_mmio_remove +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_device 0x19784739 proc_thermal_resume +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_device 0x398310df proc_thermal_add +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_device 0x84c39ef4 proc_thermal_remove +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_device 0xc831d526 proc_thermal_suspend +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_device 0xef5c0bf3 proc_thermal_mmio_add +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_mbox 0x292f8dcb proc_thermal_mbox_add +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_mbox 0x404d0a69 proc_thermal_mbox_remove +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_rapl 0x098e82d4 proc_thermal_rapl_remove +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_rapl 0x9e395a7b proc_thermal_rapl_add +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_rfim 0x1513d959 proc_thermal_rfim_add +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_rfim 0xe01b250c proc_thermal_rfim_remove +EXPORT_SYMBOL_GPL drivers/thermal/intel/intel_soc_dts_iosf 0x158d918e intel_soc_dts_iosf_exit +EXPORT_SYMBOL_GPL drivers/thermal/intel/intel_soc_dts_iosf 0x44202dbc intel_soc_dts_iosf_init +EXPORT_SYMBOL_GPL drivers/thermal/intel/intel_soc_dts_iosf 0x4e448317 intel_soc_dts_iosf_interrupt_handler +EXPORT_SYMBOL_GPL drivers/thermal/intel/intel_soc_dts_iosf 0x9d19a958 intel_soc_dts_iosf_add_read_only_critical_trip +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x01d23ee1 tb_property_create_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x218e9748 tb_xdomain_release_in_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x22fcce16 tb_ring_stop +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x235d667b tb_xdomain_release_out_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x2beae282 tb_xdomain_find_by_route +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x2bf7a860 tb_unregister_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x32b94cf7 tb_xdomain_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x393b4f2f tb_property_free_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x490b1316 tb_xdomain_alloc_in_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4e5064a7 tb_property_find +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4e64bdfd tb_register_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x573b82e8 tb_register_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x5d8d898a tb_xdomain_enable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x603249ed tb_unregister_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x627ebfd6 tb_ring_alloc_rx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x658e3d97 tb_property_add_immediate +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x65cac214 tb_xdomain_find_by_uuid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x73ad2acb tb_property_get_next +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x75d731b3 __tb_ring_enqueue +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x785eb82c tb_property_remove +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x786a353e tb_ring_poll +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x86580bfb tb_xdomain_lane_bonding_disable +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x8b62f95e tb_property_add_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x8fb26760 tb_ring_alloc_tx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x95550ecc tb_xdomain_lane_bonding_enable +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x9b9cbcf5 tb_xdomain_response +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x9c33f5e8 tb_ring_free +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa3d2b403 tb_property_add_data +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xacd42ec3 tb_ring_start +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xafe69f0c tb_xdomain_alloc_out_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb7c7cdce tb_property_add_text +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xcb26464d tb_xdomain_request +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xd3e270ea tb_ring_poll_complete +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xd682a6bd tb_xdomain_disable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xdce6a6c2 tb_service_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf1cfd1ff tb_register_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf76028c7 tb_unregister_protocol_handler +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x00bcff69 ufshcd_update_evt_hist +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x029d598c ufshcd_config_pwr_mode +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x0679092e ufshcd_dme_get_attr +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x1fc16397 ufshcd_link_recovery +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x33cc6db7 ufshcd_dme_set_attr +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x57f7ef62 ufshcd_release +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x6c3fd790 __ufshcd_suspend_prepare +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x723b1abf ufshcd_delay_us +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x728a49cd ufshcd_uic_hibern8_exit +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x8f45bfc1 ufshcd_make_hba_operational +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x95e24eb7 ufshcd_resume_complete +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x9babb973 ufshcd_hold +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x9f072d34 ufshcd_fixup_dev_quirks +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xa0f9906f ufshcd_dump_regs +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xb05abcd6 ufshcd_suspend_prepare +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xb8cf039e ufshcd_uic_hibern8_enter +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xc5866d03 ufshcd_hba_stop +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xd165b484 ufshcd_init +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xdb1a0ed7 ufshcd_remove +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xde217d78 ufshcd_clkgate_delay_set +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xe2692ac8 ufshcd_dme_configure_adapt +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xe581592b ufshcd_auto_hibern8_update +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xf137f50a ufshcd_dealloc_host +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xf46dbb7a ufshcd_hba_enable +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x1747c46d ufshcd_pltfrm_shutdown +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x4b656d2c ufshcd_pltfrm_init +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x54c946de ufshcd_init_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0xff85cd6b ufshcd_get_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/uio/uio 0x18271bd3 __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x5bbc484f __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xd994a662 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xe41e0f70 uio_event_notify +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x38302488 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xad2b3dcf usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x042e9ed1 cdns_suspend +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x18c6742b cdns_power_is_lost +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x3cb44940 cdns_drd_gadget_on +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x465f6fde cdns_clear_vbus +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x7e8dc60d cdns_remove +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x9a8ab892 cdns_init +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0xb1d94485 cdns_drd_gadget_off +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0xc5699892 cdns_set_vbus +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0xf833df80 cdns_resume +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x158857a4 ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x6e13a5aa ci_hdrc_query_available_role +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xbba73940 hw_phymode_configure +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xe3f53d9e ci_hdrc_remove_device +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x05279779 ulpi_register_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x26114d17 ulpi_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x35b9bcf0 ulpi_unregister_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xd8a24d1a __ulpi_register_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xdbab5539 ulpi_read +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xf09f4c5f ulpi_write +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x0bfdd33b u_audio_get_playback_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x32ee336f u_audio_set_volume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x52fbe52f u_audio_get_capture_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x5afe529a g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x5b8e3828 u_audio_set_capture_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x6da47a7b u_audio_set_playback_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7aa4eae3 u_audio_start_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7ce3ebfe u_audio_get_mute +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x865f8ff7 u_audio_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x86db2da3 u_audio_stop_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x8d59e017 u_audio_get_volume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xb5b96a04 u_audio_stop_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xb87a47f8 u_audio_start_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xbd18c533 u_audio_set_mute +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xdade8b86 g_audio_setup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x0ba0f122 gether_get_host_addr_u8 +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x3514f60d gether_set_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x39547db2 gether_setup_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7819e816 gether_get_host_addr_cdc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x8878cfa6 gether_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x9833b659 gether_get_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x98b8e112 gether_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x9a505f5b gether_set_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xad8e39bd gether_set_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xb5e70d09 gether_get_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xc110931f gether_setup_name_default +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xc6228f2d gether_register_netdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xd146a21e gether_get_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xde74a0a8 gether_set_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xea0f26d3 gether_set_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xee62b239 gether_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xef897f43 gether_get_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x33bfdca2 gserial_alloc_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x3b93a3e0 gserial_resume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x4a3df9d0 gs_alloc_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x60db48f5 gserial_get_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x60ea48a0 gs_free_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x6c228975 gserial_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xad28078a gserial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xb6652875 gserial_free_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xb74d4355 gserial_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xc0a01527 gserial_set_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xe89dc424 gserial_alloc_line_no_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x0e615e82 ffs_single_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x15bfecbe ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x6c825859 ffs_lock +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x141fce2a fsg_common_remove_luns +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1710b539 fsg_fs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1ccb58f7 fsg_common_set_num_buffers +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x249a311e fsg_show_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x2933ee1d fsg_ss_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x30d1da7e fsg_lun_close +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x322474bc fsg_show_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x332d9e8b fsg_show_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x33af8652 fsg_common_remove_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x398778e1 fsg_ss_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x3c6a07d0 fsg_common_create_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x423845e4 fsg_ss_bulk_in_comp_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x4e6b1cb0 fsg_common_set_cdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x56344daf fsg_hs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x5d634d5a fsg_lun_fsync_sub +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x66a2f4e4 fsg_show_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x6892c29d fsg_show_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x6abd9e39 fsg_lun_open +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x6acb4179 fsg_common_set_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x729282c7 fsg_store_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7e26d4a5 fsg_common_set_sysfs +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x857b6dc2 fsg_hs_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x8b5f0353 fsg_show_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x8e534fe6 fsg_store_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x95cffb3e fsg_hs_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x9a0221c7 fsg_common_free_buffers +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa5cae92f fsg_ss_bulk_out_comp_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa5f99b69 fsg_fs_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xab41ffd9 fsg_store_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xab6c68ac fsg_config_from_params +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb1218141 fsg_store_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb3adf38d store_cdrom_address +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb52ba28a fsg_intf_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb54d0d95 fsg_fs_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xd1a3e8e0 fsg_common_create_luns +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xd3ec37aa fsg_store_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xde34d5e4 fsg_store_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xf4efc0c8 fsg_ss_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x02478fa4 rndis_get_next_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x0e334852 rndis_signal_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x10e6462c rndis_add_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x128581cf rndis_free_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x1d92b9a2 rndis_deregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x56b59259 rndis_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x62994a6b rndis_borrow_net +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xa2127cac rndis_set_param_medium +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xc180b9e5 rndis_rm_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xc21c4ff9 rndis_uninit +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xd2a3d21a rndis_set_param_vendor +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xd9019af8 rndis_signal_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xde84401b rndis_msg_parser +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xebb90fdf rndis_set_host_mac +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xf1ff6379 rndis_set_param_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x01d65374 usb_put_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x044d1e42 config_ep_by_speed_and_alt +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x05c2ee35 usb_add_config_only +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0a1d247b usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0b423c70 usb_assign_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0c589aba usb_validate_langid +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0cb7e477 usb_ep_autoconfig_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x14f7e9de usb_remove_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x15b924e1 usb_add_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x20ee5384 usb_get_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x225bef30 usb_ep_autoconfig_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x26e3d343 usb_function_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e09263f usb_copy_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x3ec3a3a0 usb_ep_autoconfig +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x47298585 usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x473d01bc usb_otg_descriptor_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4beb505d usb_gadget_get_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x558670cb usb_string_ids_tab +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x70d3e656 usb_gstrings_attach +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x735f0bfc usb_put_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x89eb6506 usb_function_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8a0e07ba config_ep_by_speed +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8a83a51b usb_function_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x900e5cab usb_composite_overwrite_options +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa140435e usb_composite_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa3fa0249 usb_interface_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa8533c36 usb_get_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xacc5e6b2 usb_string_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xad823f5e usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb385e7b1 usb_composite_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb775db55 alloc_ep_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xc0edaa76 unregister_gadget_item +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xca2c3f7f usb_otg_descriptor_alloc +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd2ea2134 usb_descriptor_fillbuf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd867de5d usb_add_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xdb7ba4df usb_string_ids_n +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf474a207 usb_gadget_config_buf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf7e06a5e usb_free_all_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x0b9ccb3b udc_mask_unused_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x2ef1cda6 udc_basic_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x4504a51c udc_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x56b056f9 init_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x5d01d078 udc_irq +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x7522080f gadget_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x82294e92 empty_req_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x89592965 udc_remove +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xcebac1fa udc_enable_dev_setup_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xe5169b21 free_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x01646d6f usb_udc_vbus_handler +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x01b12bfb usb_ep_free_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0418f919 usb_gadget_unmap_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0a8c3b4b usb_ep_set_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0acfe2e7 usb_ep_set_wedge +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0d90d784 usb_ep_fifo_flush +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0f067bd4 usb_gadget_check_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x2fdb820e usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x3099a854 usb_gadget_vbus_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x42d4775b usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x49d9f030 usb_ep_fifo_status +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x506ab3a9 usb_ep_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x50b88f41 usb_get_gadget_udc_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5bafa733 usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5fc294ef usb_ep_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x6401c9cd usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x64575069 usb_gadget_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x701a11ee usb_gadget_frame_number +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x730e7774 gadget_find_ep_by_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x74cd0b70 usb_gadget_wakeup +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7a41b9f2 usb_ep_set_maxpacket_limit +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7a53858f usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7a8328e2 usb_initialize_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7be89624 usb_gadget_giveback_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x882077d5 usb_ep_dequeue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x92240431 usb_gadget_vbus_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9dcc3229 usb_gadget_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9eb52803 usb_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa92744b7 usb_gadget_set_state +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa9e74462 usb_ep_alloc_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xad25eccb usb_gadget_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xaf201fa6 usb_ep_enable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xba4226f9 usb_gadget_register_driver_owner +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xbeb55b91 usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc2e861b8 usb_gadget_udc_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc8479d22 usb_gadget_map_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xcc0a820c usb_gadget_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xd94b14d4 usb_gadget_set_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xdc082d7a usb_add_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xe4d617e3 usb_del_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xeeb9e351 usb_gadget_vbus_draw +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xf06a2e65 usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xfe71ee83 usb_add_gadget_udc_release +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0x3d50da58 renesas_xhci_check_request_fw +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x1991295d ezusb_fx1_ihex_firmware_download +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x2efa6e0a ezusb_fx1_set_reset +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x2db4a8b0 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x46040b01 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x867dae65 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x8a5cf126 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x921ad63c usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xa64c591a usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xb5906527 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf32c9584 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xf8178c82 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x09492220 musb_mailbox +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x0b4a8834 musb_writeb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x1356b6e2 musb_queue_resume_work +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x1b0c8de5 musb_root_disconnect +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x2734197f musb_readb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x3301183b musb_set_host +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x34089257 musb_get_mode +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x669594ad musb_clearw +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x6af8c6dc musb_writel +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x719a5e41 musb_readw +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x7bd73701 musb_set_peripheral +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x8c2c6ebd musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xade3e56c musb_writew +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xe59efb0e musb_clearb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xf0f95e51 musb_readl +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x47fe1512 usb_phy_generic_register +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x79dd3de6 usb_gen_phy_shutdown +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xb656401f usb_phy_generic_unregister +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xef0bbc4c usb_phy_gen_create_phy +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xf8089f71 usb_gen_phy_init +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-isp1301 0x1f434475 isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usb_wwan 0x6aa08636 usb_wwan_port_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0bcfe90f usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x10ca8605 usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x11b80f88 usb_serial_generic_chars_in_buffer +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2144232c usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x43d7e1df usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x49a95992 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x66a2941a usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x70b2d430 usb_serial_generic_write_start +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x8e04b906 usb_serial_generic_get_icount +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x94aedfde usb_serial_generic_wait_until_sent +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb5462ce9 usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb6b3adcb usb_serial_generic_tiocmiwait +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xbfcd30aa usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc458f2a4 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xcb6bfda2 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xcbedee88 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd033c11a usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf50af330 usb_serial_claim_interface +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xfc35bd84 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xfd5a0cc6 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x79c2a258 dp_altmode_remove +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0xe66e75a3 dp_altmode_probe +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x00336ede tcpci_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x6f497a3c tcpci_irq +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xbe111953 tcpci_get_tcpm_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xc529e32e tcpci_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x10ec6d2d tcpm_sink_frs +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x1f10d510 tcpm_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x3b84657b tcpm_pd_transmit_complete +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x76eeda4b tcpm_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x9e0bd753 tcpm_pd_hard_reset +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xb655342c tcpm_pd_receive +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xc37b9769 tcpm_cc_change +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xceb50012 tcpm_vbus_change +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xea220941 tcpm_tcpc_reset +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xeb779665 tcpm_sourcing_vbus +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0323e0c6 typec_switch_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x093602ff typec_port_register_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0b93e71d typec_altmode_vdm +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0d3c07bf typec_match_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0e503355 typec_altmode_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1c7f8b2d typec_altmode_update_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1e2dbe1a __typec_altmode_register_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x24a4779e typec_altmode_notify +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x26e875cc typec_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2723ac29 typec_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x29640437 typec_set_vconn_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2d1e301d typec_find_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3350943e typec_partner_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3630c8c0 typec_register_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x36b67c8a typec_cable_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x36ff4c42 typec_mux_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x37317b69 typec_altmode_put_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3ad72e0c typec_plug_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3cdaff0a typec_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3f13396e typec_get_fw_cap +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x42871fe1 typec_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x45d617a7 typec_cable_is_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4b2fac55 typec_partner_set_svdm_version +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x51f4b283 typec_partner_set_num_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x56a02298 typec_plug_set_num_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x676311eb typec_get_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6b3d9465 typec_mux_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6c54444b typec_cable_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x700028c2 typec_port_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x71d4ac22 typec_set_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x781ecc48 typec_unregister_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x789e006d typec_altmode_exit +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7e38e836 typec_set_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7ee77c09 typec_partner_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x83741a2a typec_set_mode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x85716c25 typec_altmode_get_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x86521d45 typec_switch_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8817e83d typec_unregister_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8db06d80 typec_mux_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8e6a6ec5 typec_altmode_attention +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9049491e typec_find_port_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x92f25718 typec_register_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa254de98 typec_find_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa3b96db2 typec_unregister_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb2d2b25e typec_set_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb35ff714 typec_cable_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb4d15d8c fwnode_typec_switch_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbb9a243b typec_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbd09b7bc typec_altmode2port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc0ce3cc9 typec_partner_set_pd_revision +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc3bfedc4 typec_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc6cbbb28 typec_get_negotiated_svdm_version +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc801ab49 typec_set_pwr_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd2580137 typec_register_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd2fa1286 typec_switch_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe785eeb1 typec_mux_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xeafc1eb8 typec_find_port_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xef11f150 typec_unregister_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf1234a8b typec_find_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf1509060 typec_altmode_enter +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf2f314d1 fwnode_typec_mux_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xfad04be0 typec_altmode_get_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xfc8df340 typec_mux_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xfcc4e7c3 typec_mux_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x09ea9f26 ucsi_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x14db69b7 ucsi_send_command +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x26e7c389 ucsi_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x3f6d455e ucsi_register +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x3fc5f908 ucsi_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x5f632b06 ucsi_destroy +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xa948249e ucsi_connector_change +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xd6bddd2d ucsi_resume +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xe51a1769 ucsi_create +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x0135d2ce usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x0eeeef87 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7499a56a usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x927b8bf1 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x944f59fa dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x9da562c1 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xac65fa37 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xc4486517 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd48755b3 usbip_in_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xdfec88d4 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe56bea90 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe9f64c4f usbip_recv +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xefaa9638 usbip_event_add +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x129c9044 _vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x2337c4d1 vdpa_mgmtdev_unregister +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x2a908913 vdpa_mgmtdev_register +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x470aa913 vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x4d0bf8b2 __vdpa_alloc_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x696be052 vdpa_set_config +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x77c401e9 vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xb65a7af1 __vdpa_register_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xd45a335a _vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xdec6a0b6 vdpa_get_config +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xe5dd9e78 vdpa_unregister_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa_sim/vdpa_sim 0x82b2ef42 vdpasim_create +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0x442adb61 mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0412222d vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x10c2f073 vhost_work_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x16fb6d1c vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x187e0a2f vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x195007f9 vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1cf132a8 vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1dde564e vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x210d3935 vhost_set_backend_features +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x2d2fc349 vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x32eee465 vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x387b9a03 vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3cd9f8a3 vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x418f80e5 vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4593d0b5 vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4d883e23 vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x56b60749 vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x60da8e39 vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x628cc559 vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6460e98b vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6999d14a vq_meta_prefetch +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x79475985 vhost_vring_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x80cb00dc vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x86b2855e vhost_poll_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8eb91ca0 vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x91442a12 vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x92b1cfd2 vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x977abee6 vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa809ddb7 vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa909cfc5 vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb49a0aa9 vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb76300e8 vhost_clear_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xbec19176 vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xbf8cb434 vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc16f0568 vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xcf700ce9 vhost_poll_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd9ed1ca1 vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe34c112a vhost_dev_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe405f5c9 vhost_disable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf8040b02 vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfc2f86e2 vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfc88e925 vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfd2b3e45 vhost_dev_reset_owner_prepare +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x38ff875f vhost_iotlb_add_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x69e872f9 vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x83be64b9 vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x885512a2 vhost_iotlb_add_range_ctx +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x8a7d8ee9 vhost_iotlb_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xa24517eb vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xc577832d vhost_iotlb_alloc +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xf9deb0db vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/video/backlight/apple_bl 0x2c63e051 apple_bl_register +EXPORT_SYMBOL_GPL drivers/video/backlight/apple_bl 0xdab0f892 apple_bl_unregister +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x292e87e2 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x452d6044 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x4d23f2b7 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x4db200fb ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x770c750e ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x8f7a8a81 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xa03b0590 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_ddc 0x3b2d2a83 fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x533e69c8 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x67bf5270 fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0xd1991086 sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0xe1dc177d sis_free_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/vermilion/vmlfb 0x016e6c20 vmlfb_unregister_subsys +EXPORT_SYMBOL_GPL drivers/video/fbdev/vermilion/vmlfb 0x90c018c6 vmlfb_register_subsys +EXPORT_SYMBOL_GPL drivers/video/fbdev/via/viafb 0x0e1cee08 viafb_dma_copy_out_sg +EXPORT_SYMBOL_GPL drivers/video/fbdev/via/viafb 0x30cc9311 viafb_request_dma +EXPORT_SYMBOL_GPL drivers/video/fbdev/via/viafb 0x31469540 viafb_pm_unregister +EXPORT_SYMBOL_GPL drivers/video/fbdev/via/viafb 0xb4606f8d viafb_irq_disable +EXPORT_SYMBOL_GPL drivers/video/fbdev/via/viafb 0xb4f863e6 viafb_pm_register +EXPORT_SYMBOL_GPL drivers/video/fbdev/via/viafb 0xca68a6bc viafb_find_i2c_adapter +EXPORT_SYMBOL_GPL drivers/video/fbdev/via/viafb 0xcaefb732 viafb_release_dma +EXPORT_SYMBOL_GPL drivers/video/fbdev/via/viafb 0xcd538333 viafb_irq_enable +EXPORT_SYMBOL_GPL drivers/video/fbdev/via/viafb 0xfff2dfd2 viafb_gpio_lookup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x1705cc4d w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x274cbe37 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x487272b1 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x49554275 w1_touch_bit +EXPORT_SYMBOL_GPL drivers/w1/wire 0x5d275c13 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63757e92 w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x6f837921 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7760d82b w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0x8678767a w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x86a37489 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xf89304c8 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xff62d88b w1_triplet +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x26fcc8f3 xen_front_pgdir_shbuf_free +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x3d5df1d4 xen_front_pgdir_shbuf_map +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0xb438df00 xen_front_pgdir_shbuf_get_dir_start +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0xb58878db xen_front_pgdir_shbuf_alloc +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0xf293f980 xen_front_pgdir_shbuf_unmap +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0x7e8f51c3 xen_privcmd_fops +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0xf7841097 xen_privcmdbuf_fops +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x39d4799f dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4b62826c dlm_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x647d6170 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xb93c0fec dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcd224e1d dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xdfd15bfa dlm_posix_lock +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x03aeece8 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6cf4c5a6 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x781e5ac7 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x873dbfd1 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa17154b3 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xd9e685bc nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xdc5e8233 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0007d29c nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03eacb8c nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x061d0c24 nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x086018b4 nfs_alloc_fattr_with_label +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0956b7c6 nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x09dcea72 nfs_d_prune_case_insensitive_aliases +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0b53499e nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0d8f1925 nfs_write_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0fa1884b nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10be27b5 nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x195397f5 __traceiter_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x19a2bc74 nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1ac10ce6 put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1d5bdb86 nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1d76dbb8 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1dbe826e nfs_access_get_cached +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1fd8469b nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x217f82d5 __SCK__tp_func_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x21d87669 nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22d795a8 _nfs_display_fhandle_hash +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26884ff7 nfs_alloc_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2931b0b8 nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x299a7bad nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2c149a32 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2ed57f35 nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3005a69a nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x30f70559 nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x35817360 nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x359653c1 nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x369b9ce1 get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x37239e6d __SCT__tp_func_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39b8baf6 nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3c218627 __SCK__tp_func_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ca81421 nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3dc24b07 nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3f2690f2 nfs_check_flags +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40739385 nfs_wait_bit_killable +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f2c81f nfs4_client_id_uniquifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x445b7578 nfs_clear_verifier_delegated +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x45ccf612 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4709fdbf nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x483ccc25 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4ad5cfb8 nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb9e001 recover_lost_locks +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4dec051c nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4ee5ab1a nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x50626956 nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51892d61 nfs_callback_set_tcpport +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x52a9ca5d nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x53e550ec nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x54dc5d41 nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x602fb032 nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x611ce6b2 nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x61911103 __traceiter_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6606f19c nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6b141f88 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6c79dbba alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6cdc60a1 nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x70245bb0 nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x74dba884 unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x752c2865 __SCK__tp_func_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x75b97575 nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x76e1c66d __traceiter_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7936d430 nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7aee81ff nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7b4d7824 nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c80088f nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c9722ba nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7d507845 nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7e758c5b nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x803de759 nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x80ec31f3 nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8148e53c nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x82a16cf9 nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x837e756e nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x841bc424 nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8499de4f nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x87096430 nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x87ef117f nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8a360e9e nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8d6e9268 nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8e58177c nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8e7e2830 nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8e8e47db nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8fcc3c5b nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9049e939 nfs_file_set_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9056b01a nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x906477df nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90a5530f nfsiod_workqueue +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x91d1fe52 max_session_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x922f23cd nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9233f399 nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x926abf00 nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x931c4d77 nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x94e04059 __SCK__tp_func_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x957d1410 __tracepoint_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x95eb0cc9 nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98b0ece8 nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9a6f3602 nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9adda1d8 nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9ae1c780 __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9aee3742 nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9bc46445 nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9c68304e nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9d919c44 __SCT__tp_func_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9d93093c nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa2014d8d nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa51075fd nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa822c187 nfs_check_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8e9e1ae send_implementation_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaafd4acc max_session_cb_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaee46cc9 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xafd2a427 nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb08656e1 nfs_set_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb369f209 nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb3c0a084 nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb3e14ded nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb69af9e3 nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb6f5af56 nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb76effc2 nfs_wait_client_init_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb9a027a3 nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb9c449e7 nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xba6d49fd nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbad363e0 nfs_probe_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbb141fe7 nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbc8e761e nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbca2da07 nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbcea6297 nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a2be67 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc6c8b8f1 nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xca3e03d7 nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcabe8f6b nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcbbd81f6 nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcc06e0ed nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcd124a6b nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd1c0d975 nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd2dffd75 nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd5fc97e6 nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd9779ed0 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdae9b5d7 nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xddf691d8 nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe0e3caf4 nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe1425e08 nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe245363f nfs_mkdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe2f05b9b nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe5d16149 nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe62e6d2f __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe694c06a register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xeafd4074 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed3b31a9 nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed91e694 nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf1779cf6 __traceiter_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf39be5ee nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf400c9a4 nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf41e2ff2 nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf7337263 nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf7dabe4e nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfa9faf46 nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfb057810 nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfb7069dd __tracepoint_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfbfd24d6 nfs_flock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc619abd _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfd3c0de6 __SCT__tp_func_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfd687309 nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfe9ef8ab nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfeb42418 __SCT__tp_func_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0x5628c4d5 nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x00a6ca11 __SCK__tp_func_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x02269b34 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0353a340 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x045c7a16 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x05329639 nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x073b5183 pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0a703912 __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0ef6fa51 __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1262150f pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x13a3a637 __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x168de90b __SCK__tp_func_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x18e75751 __SCT__tp_func_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x197e19ca __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1b68ea9d __SCK__tp_func_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x213be32a nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x24335ac6 pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2484776f nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x29727ce2 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2b16e909 __SCT__tp_func_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2b727db4 nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2cc40159 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x326fdee2 pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x33edb16a nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x346e71e0 __SCK__tp_func_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3567b266 nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3766671f pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x378af0c3 __traceiter_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x37aa4b45 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3df14f3e pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3e4ebfd9 nfs4_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x40cc637f pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x42cc4132 pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x43a54dcf pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x444cf128 __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4522a85c nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x49d244bc __traceiter_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5071ff1b pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5120c7c4 __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5261a708 pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x527acbe3 pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x535ec504 pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x563c2f17 __traceiter_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x57c813bf __traceiter_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5c02422a __traceiter_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6085edbd nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x619d617b __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x63826d35 __SCT__tp_func_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x655105ae __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6758c586 nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6782b01d __traceiter_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6a5eb444 __SCT__tp_func_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6a925097 __SCT__tp_func_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6bdc8587 pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6f524a2c nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x725c4871 __traceiter_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x75232998 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x754858bb pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x75a6d443 __SCK__tp_func_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7693cadb __traceiter_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x78841298 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x790799c1 pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7a7af75f nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7e42bd3f __SCT__tp_func_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x81fa8bdc nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x844a7434 __SCK__tp_func_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x89b5bb0d pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8c12b69b pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x910b3abe __traceiter_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x930a94fd __SCT__tp_func_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x93c3cf49 pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x93e28aea nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x96c4643f __SCT__tp_func_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9a9cbc23 pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9cf16119 pnfs_error_mark_layout_for_return +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9d946453 __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa028bf25 __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa616e30b __SCK__tp_func_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa6e89413 nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa7460ca1 __SCK__tp_func_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa7abcca0 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xac3882fa __SCK__tp_func_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xadb9f909 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xadeca730 __SCT__tp_func_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xaf93dfee nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb2b6bbc6 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb48b1666 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb8ed7531 pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbb337eae nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbb4cd264 pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbd7dca7e pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbfbe9ea5 nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc0c0b986 nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc1233137 __traceiter_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc361c3c5 __SCT__tp_func_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc48871d1 __traceiter_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcc1efc6e pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcc21ce5c __SCT__tp_func_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcc58dc8d __SCK__tp_func_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xce726f32 __traceiter_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xced43428 nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd05d9345 __SCK__tp_func_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd1cf3711 __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd23d2423 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd32ff6d6 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd627e7e9 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd6a233ec pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdbaee5d8 pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdeb5edce __SCT__tp_func_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe5a28f1a __traceiter_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe8057869 nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xeec19e2a __SCK__tp_func_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xefc704c0 nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf151bb0b nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf1d1ca86 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf32fa2b7 __SCT__tp_func_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf40d1382 pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf45b2db1 __SCK__tp_func_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf7801360 nfs41_maxgetdevinfo_overhead +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf84b106e __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf95cf256 __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf999267e pnfs_generic_commit_release +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x191c4dbe locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0xa641bc9d opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0xc5393982 locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x1908ca7a nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x32f6a168 nfs_stream_encode_acl +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x5a5716a5 nfs_stream_decode_acl +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xe7301beb nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0x89a43f74 nfsd4_ssc_init_umount_work +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x0e4a0b37 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x186d9990 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x58c88ff2 o2hb_get_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x5e95a4b2 o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6457c002 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6a0c3847 __mlog_printk +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb6ebf62a o2nm_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbd13ee5d o2hb_check_node_heartbeating_no_sem +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc1ca7612 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc4d99852 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc9f6a17a o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd859ac8c o2net_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xdc1be378 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf31ddd49 o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf56c2017 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf982e6db o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xfe1298f3 o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x04964f3a dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7d59ab39 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x831fbcc5 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xb944d01e dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xbce07c45 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xc06647a1 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0a726931 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0cfd3fc5 ocfs2_cluster_connect_agnostic +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x1475f64b ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x76f40744 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x79b3df91 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x85b4e4e6 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x9507547f ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x9ceb1471 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xaf969565 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xb58d7f9c ocfs2_kset +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xc5196999 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xc9fae756 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xcafdd707 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd344e4ee ocfs2_stack_glue_set_max_proto_version +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd806a273 ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x43cc3d4b pstore_blk_get_config +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x72fed0c6 register_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xe877d5ac unregister_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x9f214add register_pstore_zone +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0xbab0f0a3 unregister_pstore_zone +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_arc4 0xabd9af6d cifs_arc4_crypt +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_arc4 0xc4c73891 cifs_arc4_setkey +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0x798f3830 cifs_md4_init +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0xceecd9e4 cifs_md4_final +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0xdef1096d cifs_md4_update +EXPORT_SYMBOL_GPL lib/842/842_compress 0xcf048a91 sw842_compress +EXPORT_SYMBOL_GPL lib/842/842_decompress 0xa4adedf1 sw842_decompress +EXPORT_SYMBOL_GPL lib/bch 0x0c303f52 bch_encode +EXPORT_SYMBOL_GPL lib/bch 0x0d3e3481 bch_free +EXPORT_SYMBOL_GPL lib/bch 0x1a267fa8 bch_init +EXPORT_SYMBOL_GPL lib/bch 0x860a2eab bch_decode +EXPORT_SYMBOL_GPL lib/crc4 0x696b3a5a crc4 +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x0105b595 des_encrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x574eda34 des3_ede_decrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x856a5ef3 des3_ede_encrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa6aa9857 des_decrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa77b3b62 des3_ede_expand_key +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa8fb743d des_expand_key +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x4b45fb6e poly1305_init_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x7f376d08 poly1305_final_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0xfa617389 poly1305_update_generic +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x9e1180a0 notifier_err_inject_init +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0xb095a721 notifier_err_inject_dir +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x1803a6ed raid6_2data_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x804a5b70 raid6_call +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0xe4b051cf raid6_datap_recov +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x1d29b9e1 decode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x561835eb init_rs_non_canonical +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x63adbf92 encode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xa32f3d9e decode_rs16 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xeb2f825c init_rs_gfp +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xfd581da1 free_rs +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x565195b3 lowpan_header_decompress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0xe2921fd5 lowpan_header_compress +EXPORT_SYMBOL_GPL net/802/garp 0x1ba245d2 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x3b686026 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x48590ba3 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x93abd950 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x94bb596d garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xfa89aaa8 garp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0x370be07c mrp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0x3d5e0931 mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x832ef83c mrp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0x9c49aa07 mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0xa88835eb mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0xdde11910 mrp_register_application +EXPORT_SYMBOL_GPL net/802/stp 0x30adb9d7 stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0x7538cb9e stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0x4ab83cd4 p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0x70c866af p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/atm/atm 0xb09faf79 register_atmdevice_notifier +EXPORT_SYMBOL_GPL net/atm/atm 0xcfb6a3da unregister_atmdevice_notifier +EXPORT_SYMBOL_GPL net/ax25/ax25 0xac93ae05 ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr +EXPORT_SYMBOL_GPL net/ax25/ax25 0xc36b10b0 ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x5f422a9c l2cap_chan_send +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x7c40a426 bt_debugfs +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x80b02fc4 l2cap_chan_create +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x88f3ff87 l2cap_chan_put +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x8a21a839 l2cap_add_psm +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x946a69b3 l2cap_chan_list +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xb896fa4a l2cap_chan_set_defaults +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xc20701b9 l2cap_chan_connect +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xecca62ef l2cap_chan_del +EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0xbe87ca3f hidp_hid_driver +EXPORT_SYMBOL_GPL net/bridge/bridge 0x0035462f br_get_ageing_time +EXPORT_SYMBOL_GPL net/bridge/bridge 0x04033896 br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0x0a0dc3b5 br_mst_get_state +EXPORT_SYMBOL_GPL net/bridge/bridge 0x0a2e83a6 br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x0b0d48f8 br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0x152a4329 br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x23a8c0da br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0x26dbf102 br_port_get_stp_state +EXPORT_SYMBOL_GPL net/bridge/bridge 0x29843d26 br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x458de92a br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/bridge/bridge 0x45aab716 br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0x5dd3ef4b br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x70766079 br_multicast_has_router_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x790a4868 br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7a8fd2d5 br_mst_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x93767a9c br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x9a887725 br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0xbfbc5771 br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/bridge/bridge 0xbfca3126 br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0xc8abd58a br_mst_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0xd2e3b0ea br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0xdc3083dd br_vlan_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0xece0c126 nf_br_ops +EXPORT_SYMBOL_GPL net/bridge/bridge 0xeecb483b br_vlan_get_info_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0xeffaf468 br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/core/failover 0x0f46710c failover_slave_unregister +EXPORT_SYMBOL_GPL net/core/failover 0x813da47d failover_register +EXPORT_SYMBOL_GPL net/core/failover 0x8a33268c failover_unregister +EXPORT_SYMBOL_GPL net/dccp/dccp 0x002959e7 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x014a1f33 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x02962f77 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x03844768 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0e4fac9e dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x196b33a3 dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x19cc4b0a dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x24dfbe44 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2decbb3d dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x30df03a5 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x32e40ed2 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4002b7f9 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x41b5b989 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4e1088f2 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4e6bbef1 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x58854832 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5fec3792 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6c078c50 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x80993155 dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x87d78046 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8bd21280 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa4995fe9 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xacd84cae dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbd051e45 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc92e59ea dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc94ad2bf dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xca65896f dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd75b7072 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdc6dd376 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe086b7d1 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe4480338 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0xeb1b71bf dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf712134a dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf7884089 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfdb724b9 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x1f0b52d4 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x2a75a0cf dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x2b7ce636 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x5b4eae4e dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x5db7c9cd dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x6dc6c4e4 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0afdae08 dsa_devlink_params_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0c5b7a9f dsa_slave_dev_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0c6039ac dsa_flush_workqueue +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x10ef7ee6 dsa_8021q_xmit +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x183d1c61 dsa_mdb_present_in_other_db +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x1fdb48fd dsa_tag_8021q_bridge_leave +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x278c0488 dsa_switch_suspend +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x325138c3 dsa_tag_8021q_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x40395b5b dsa_fdb_present_in_other_db +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x417d1fed dsa_8021q_rx_switch_id +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x45ca5090 dsa_tag_8021q_bridge_vid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x519da42d dsa_switch_shutdown +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x54660265 dsa_devlink_resource_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5604130b dsa_devlink_resources_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5885be41 dsa_switch_find +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x58ff9085 dsa_devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x620004f1 dsa_devlink_port_region_create +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x634989c6 dsa_tag_8021q_find_port_by_vbid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7a5c8626 dsa_switch_resume +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7b33f70c dsa_8021q_rcv +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7e211ad6 dsa_tag_drivers_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fb2dead dsa_unregister_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x8809c3ba dsa_tag_8021q_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x8b767b24 dsa_devlink_region_create +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x8cc3fb9a dsa_enqueue_skb +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x9e59271d dsa_8021q_rx_source_port +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x9e86d2fa dsa_tag_8021q_bridge_join +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa56022cc dsa_devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa5f27e5c dsa_tag_8021q_standalone_vid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc23e8d5f dsa_devlink_region_destroy +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xcbc74465 dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd077e855 dsa_devlink_param_get +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd942c401 dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xdea6cb45 dsa_port_from_netdev +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xe0b822cf dsa_tag_drivers_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xee307e36 dsa_port_phylink_mac_change +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xee5ec0ea dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf13e1803 vid_is_dsa_8021q +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xfd3e2b67 dsa_devlink_param_set +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x19444545 ieee802154_hdr_peek +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x5eb8d475 ieee802154_hdr_pull +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x87e2553b ieee802154_max_payload +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0xe519d179 ieee802154_hdr_push +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0xfd0642ba ieee802154_hdr_peek_addrs +EXPORT_SYMBOL_GPL net/ife/ife 0x096d0e57 ife_encode +EXPORT_SYMBOL_GPL net/ife/ife 0x6210e871 ife_tlv_meta_next +EXPORT_SYMBOL_GPL net/ife/ife 0x67db2029 ife_tlv_meta_decode +EXPORT_SYMBOL_GPL net/ife/ife 0xc79ff6d2 ife_decode +EXPORT_SYMBOL_GPL net/ife/ife 0xe7888e98 ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x15037d7f esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x72f80fd0 esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x8cd1d9a4 esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/gre 0x1ad33ebb gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0x7f829a40 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x14a71fa1 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x196ddcf6 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x3f20ec32 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x4ed0860a inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x5b48c771 inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x7375550f inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xc632085a inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xdbf4f425 inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xf7e46a51 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0x5ac9da85 gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x169efbca ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x36947267 ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x50a06db6 ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x649c39f9 __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x6c946d89 ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x858afafd ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x8e9d739f ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xa7c8a50d ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xac98046d ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xb42e2b36 ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xb7a873ad ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xbb149782 ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xe06d3104 ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xe3298022 ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xf868d9c1 ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xfcfd3dc4 ip_tunnel_siocdevprivate +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xff48c3fe ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x66f64399 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x77a6a558 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0x1455afc7 nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x12e6f27f nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x3dddb73d nf_reject_skb_v4_tcp_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x4a6fc673 nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x511c17d9 nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x9920b0e6 nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xd4d32a3c nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xd9c3ed61 nf_reject_skb_v4_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0xcfd30015 nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x523029a6 nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x803a2c6e nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0xbb0e3c96 nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x712618bb nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x9093c76f nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x2a81415e tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x4f9e8813 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x8820bcef tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xbe325b5a tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xeec22565 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x059d6932 udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x1047416e udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x46d760bd udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x6779ba95 udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x6adea969 udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x7707b7c0 udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x7a5530ce udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xe8ac848a setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x7e59127a esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x917917ca esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x9e7fab0b esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x1b942105 ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xa8e1305b ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xf6e3ba18 ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x2ace36b0 udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x45aeb66c udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0xd4c8eeeb ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0xcfd0c5ad nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x3485e349 nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x4a9f55a5 nf_reject_skb_v6_tcp_reset +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x94f0be35 nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x96b4bf58 nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xc2e92bf9 nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xde59b58c nf_reject_skb_v6_unreach +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xefd8fd92 nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0x48b4a17c nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x69f5b1c8 nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x741b4f34 nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x832072a7 nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x4b99c1e3 nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x888bd8dc nft_fib6_eval +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x1ee42d3c l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x207f6891 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x255e5b9f l2tp_recv_common +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x2ab02de9 l2tp_tunnel_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x30510a88 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x363e745d l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x36c8f38f l2tp_session_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x40fd61c2 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x52438c28 l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x54dc9c89 l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x608ed0ff l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x6647f2ad l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x6f94a8cd l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x75e72973 l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa2556f21 l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa2748f0a l2tp_tunnel_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb04507cc l2tp_sk_to_tunnel +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb2ac61d9 l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xc3c06047 l2tp_session_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xccc8ea1e l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe6c7037a l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_ip 0xbe6bc4dd l2tp_ioctl +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x1f538e7b l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x13545d49 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x185a82db ieee80211_iterate_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x1a7a8de8 wdev_to_ieee80211_vif +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x1ac55d01 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x20f04a79 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x2277386a ieee80211_update_mu_groups +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x349cf75a ieee80211_iter_chan_contexts_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x36d30e9f ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x48e80cb9 ieee80211_hw_restart_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x4fa246ff ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5250cf98 ieee80211_tkip_add_iv +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x59c13bed ieee80211_key_mic_failure +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x65f0f2e8 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x70818dc1 ieee80211_calc_rx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x72849237 ieee80211_color_change_finish +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7d606d24 ieeee80211_obss_color_collision_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x83523ff8 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x84424719 ieee80211_iterate_stations_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa1247034 ieee80211_remove_key +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa4b2b77e ieee80211_key_replay +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xb378f21b ieee80211_iterate_active_interfaces_mtx +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xbec4d9bd ieee80211_calc_tx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xceeb746c ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xceefe9ba ieee80211_iterate_stations +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd8e09da4 ieee80211_set_key_rx_seq +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe2ab1691 ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe4db878f ieee80211_gtk_rekey_add +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x1c2afe32 nla_put_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x614a3e37 mpls_dev_mtu +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x67f62f3a mpls_output_possible +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x7670b536 nla_get_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x9505cb79 mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xdd7c61e5 mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x0953d21e ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1b155d85 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22d966c6 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x25620356 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x29930b80 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x37433ad1 ip_set_match_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x47b344e2 ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x581c8325 ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7a5c5146 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x8105ae98 ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x87ecc889 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x905e3a23 ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9e98722b ip_set_get_ipaddr6 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa293f8a6 ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa447bb8b ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc166156e ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xcc2c4226 ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xd271da04 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xe2a3e597 ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf28a64a6 ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf3b4d4ae ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf4fd2eb8 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf660fd93 ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x717a02d2 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xa849ce9e unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xe5420db5 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xfa383466 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x29526a3e nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x5eb6a352 nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x6322f011 nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x9cf20d02 nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xa2739d0d nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xded40268 nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xf2a1dbb9 nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x3ef1775a nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x9152f7d8 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0xe0c10867 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x025121a2 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x15af96f3 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x2b32f0d5 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x57bb0317 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x629b3908 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6f8a0dd3 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x73d14644 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb9b934cd set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xe334c9b0 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xe3ef05ab nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0xe4a657e3 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x008403ed nf_nat_pptp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x2f261253 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x69e189dd ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x720ac676 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x74650762 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8647db4b ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9d638b01 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xbfc391ff nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x0119f8e9 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0xd6cf479c nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x6bb61a90 nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x85ebe537 nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xf07f4dd7 nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x00e69e5e nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x0fa60a09 nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x24e05242 nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x2625efa1 flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x38928dfb nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x3ebb66ae flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x52e42641 flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x570641a5 flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x826de04f nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x97a1f6c6 flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xb5a60fc1 nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xcdfc69b2 flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xd1cd5a72 nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xd36e43e4 nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xe146dacc flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xe58bcc4e nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xf3187bf9 nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x03cf4bda nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x066b5c41 nf_nat_icmpv6_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x39afecc1 nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3bc17c49 nf_nat_masquerade_inet_register_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x4c3c0eb5 nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x6a9ee263 nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7780a613 nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x8d36cf95 nf_nat_ipv6_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x93347b61 nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xa20ea26a nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xa303def3 nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xa5e88c2a nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xa89150c8 nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xc629b1b0 nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd9c25654 nf_nat_masquerade_inet_unregister_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xdcb359db nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xe0d60e2f nf_nat_ipv4_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xe218f2a8 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x151ddb36 ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1f099794 synproxy_init_timestamp_cookie +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x5898d491 nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x5dcaed3a nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x9004b809 synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x99e81e17 synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xb5f50a5b ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xb6e88130 synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xc730d817 synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xca9fc082 synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xcc944f2a synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xe22449cf nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xe7767064 nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x06639121 nft_register_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x06c6ca47 nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x09b803df nft_reg_track_update +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1375b6a6 nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x19e1f959 nft_expr_reduce_bitwise +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1bbe273f nft_set_catchall_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x273b9df9 nf_tables_activate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x29d1e13d nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2a008a38 nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2c49df06 nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3251d762 nf_tables_trans_destroy_flush_work +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x41b71e65 nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x428f3032 nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x452dcc0d nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4749c729 nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4a97f85b nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x570f0175 nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5d0f4059 nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5fb53a4c nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x72fa7c29 nft_set_do_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x736e0485 nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x773bf986 nft_meta_get_reduce +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7b4a758d nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7b73dc5e nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7d7b9d5b nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x81d12b29 nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x86251987 nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8e6885ba nft_request_module +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8ee0d746 nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8f41e313 __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x936da631 nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x945c4fcd nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x95d7c767 nft_parse_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9a6e1d12 __nft_reg_track_cancel +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9e0e1744 nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa6f99fab nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xae47eb8d nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xae48af77 nft_set_catchall_gc +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb1c6ce7c nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xbf2b3179 nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xc2ff1511 nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd1cd4281 nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd9a42983 nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdddebcd7 nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde57b5f5 nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdea02e0e nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe2b8cc13 nft_parse_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf7711afb nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xfde8c443 nft_reg_track_cancel +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xfe85a8f4 nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xa7109d23 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xc70ccefe nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xf65ce257 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x35eff5e0 nf_osf_fingers +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0xe7f87f91 nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0xf2d3069a nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x1192c8a5 nft_fib_reduce +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x260bbf33 nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x9b3cfa21 nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xc3497341 nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xfdfc6815 nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x2795f833 nft_reject_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x6081751d nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x84485b78 nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xe2c84666 nft_reject_icmp_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xef583d70 nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x00970f1f xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x04e27719 xt_compat_flush_offsets +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x05bed60b xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x06f09c84 xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x098c7024 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1b27e9f0 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1c40758a xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x20137902 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x419e4d16 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4493d208 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x44e8367c xt_unregister_template +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x593a2257 xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6e2df9b1 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x73784244 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7bce4603 xt_data_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x823edea5 xt_compat_add_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x92761e3b xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9c995c69 xt_percpu_counter_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa7c94f1d xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb1555f1d xt_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb41a59c4 xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbd35e2a8 xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbf2ca5d3 xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfacb837 xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc7fae024 xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc86d9f42 xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd1e246a2 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd3fcc511 xt_tee_enabled +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd9bb821b xt_copy_counters +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xdddd4c18 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddf68fc6 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf1035f06 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf2160bcb xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfa54e53f xt_register_template +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x7ac9e17e xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x7b43daa8 xt_rateest_put +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x151f7246 nci_spi_read +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x6eea82ca nci_spi_send +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0xf4d280da nci_spi_allocate_spi +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x30156e83 nci_uart_unregister +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xbfd8debc nci_uart_register +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xfd660fa2 nci_uart_set_config +EXPORT_SYMBOL_GPL net/nsh/nsh 0x48e193eb nsh_push +EXPORT_SYMBOL_GPL net/nsh/nsh 0xae50a637 nsh_pop +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x05eba8b2 ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x1ddea357 ovs_vport_free +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x2f4b11e9 ovs_vport_alloc +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x64c808e1 ovs_netdev_link +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xeeeed04d __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xf78335e8 ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/psample/psample 0x11f56c74 psample_group_take +EXPORT_SYMBOL_GPL net/psample/psample 0x29f66feb psample_group_get +EXPORT_SYMBOL_GPL net/psample/psample 0x3f7880f3 psample_sample_packet +EXPORT_SYMBOL_GPL net/psample/psample 0x880f498d psample_group_put +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x27991ede qrtr_endpoint_unregister +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x27c34ef8 qrtr_endpoint_register +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x8d25501f qrtr_ns_remove +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xa47e91ba qrtr_ns_init +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xb938953d qrtr_endpoint_post +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x114c9fd7 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x19fe2b80 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x1d664cdc rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0x20269023 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x2b0d543c rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x36087aa4 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x43db8a71 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x45a4781e rds_addr_cmp +EXPORT_SYMBOL_GPL net/rds/rds 0x4689fa19 rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x47f764fa rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x4d8b0a1b rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0x5575c2dd rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0x582fe5cf rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x585f567b rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x64c59303 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x685afad0 rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x6b8d6d06 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x7b399e66 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x82dccae4 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x836f79b3 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x85e4e520 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x92936f35 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x95cc1e94 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xa796e51b rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0xaab404bd rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xb8d07078 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xcbe698ec rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xcd8c48a2 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xcde5d8b1 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0xcf72df15 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xcfa5b8b5 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0xd207ad27 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0xdd28b956 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xf29adcca rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0xf3cc95cd rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xfd22dd56 rds_cong_map_updated +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x06656f28 pie_drop_early +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xe9516095 pie_process_dequeue +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0x5fc3c6ed taprio_offload_free +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0xa7f08102 taprio_offload_get +EXPORT_SYMBOL_GPL net/sctp/sctp 0xb21fff38 sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/sctp/sctp 0xbae16d28 sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0xc25b271d sctp_transport_traverse_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0xc37c839c sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/smc/smc 0x2a271fda smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0x4cceb62c smcd_alloc_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x822463ed smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0x8af76986 smc_hash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x93d86647 smc_proto6 +EXPORT_SYMBOL_GPL net/smc/smc 0x99b4f20a smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0xdc01b276 smc_unhash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0xe7832f3c smcd_register_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xe9de49b4 smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xea19ee82 smcd_unregister_dev +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x1ea6f2ad gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x38d3dce5 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x482ac5a4 g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x965e7ebe gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xc62f699d svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xce11aef8 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd7673035 g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00b13e94 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0249c789 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x024df1cc rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0454ae50 rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05d1cc90 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x06b99b7b rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0c15f4af xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d4166dc svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d85f004 svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0eb4f719 rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x10360b54 sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11433255 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x130bb1e0 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x13a08c10 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14155bf4 xdr_page_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14314691 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x143c158c xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14a3ff07 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x159aac78 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1871aecc rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x18dc6310 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1ab7e277 rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1d9e8856 xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e119a79 rpcauth_get_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e512ffd rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e8c484e svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f2a9970 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f857b0d rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2058899c svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20e36dba svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2270c708 svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x230fb734 rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x232cea6f cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x23fcc23d rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24302d2b xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x246158f2 xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24b0cb67 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25824c1d rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25f86825 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x268a5888 write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2704e075 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x28a917d7 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c8cbd8c cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ec43390 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f739ace xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2fd1d18c xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x303d7eed svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30d7abe4 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3186cad8 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31c07f38 rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x324535ec bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33141650 rpc_switch_client_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x348f2fef gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34d184de rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x359d31c8 rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3856b655 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ba34625 svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c5b1934 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e84bcaf rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4148f59a xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42f8be47 xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4370cfc5 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x43e78c6a read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x46420499 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x476af140 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4828e9b0 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48c440f3 rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a274d21 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b9a2a8c cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c3e6403 sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c5d150f rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c60b210 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ccf7e51 xprt_unlock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4cd78945 xprt_lock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d5968e0 rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dac77f0 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e4cf379 rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e8f6ca7 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f121018 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4fe50807 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x513d4fa7 svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x52c80712 rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53836ff4 xdr_buf_trim +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x544c94d6 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54baab96 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54e6e29d xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x554bdab8 xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5604b240 rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x565f2cab rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5804469a xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x582da87c rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x59a9fd9d xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b2b9b29 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b75e29b rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c63b0f3 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f0dcfae svc_xprt_destroy_all +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5fc56d5d cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x600075ef rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6069445f rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x60cf36e0 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x630a44a0 xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64108780 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6524edc3 xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x654b2247 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x658267ef xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x665189d3 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66d7c7c0 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66ed2439 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x68a6b0e9 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x69aa48c4 rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a8df889 sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a90c5a0 xprt_wake_up_backlog +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6db9a535 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6dd04e28 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70590297 rpc_prepare_reply_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x715435fd rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71bc40e3 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7338eed3 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x761ee8f3 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x76a84a3a __xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b6f492e rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cf6dbe2 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d81d536 rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d8f3cbb xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e442a17 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f905d0b xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8073314c xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x812dcde0 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81420400 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x815d31c0 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81bfebf6 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81efce96 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x825ecee4 svc_xprt_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x830edd77 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x87d9a5f4 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c0673c9 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8f1a5e7a svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8f1e15f3 svc_encode_result_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8fd65c14 rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9460be23 rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94cfaf0c auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95277096 rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9658d832 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9670b5a1 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x967bce29 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x97cf9051 rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x987e6319 rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99aee353 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99e691e1 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9cb7e323 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d5f6502 xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9dee43cf xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9fb18a51 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa0142d0f rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa09ace34 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa1e32203 svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa30c9b25 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa3f0d2f9 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa439080b xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa79560dd svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa7b1119b rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaacdf4f5 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xad0cb280 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xad85e6da rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xae5f632a rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaed8a86c rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb1dc7860 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2dab3d6 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51a3724 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb5d4da65 xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb692d10d sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb6b99cf0 xdr_align_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb892d08a xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbaa81047 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbac7f89f rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb1c1c88 xprt_add_backlog +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd17791c rpc_sleep_on_priority_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc0908dd0 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc57df882 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc58d2dce rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5f80f76 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc73f5343 rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc75fdc62 rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7f89f37 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc92a0741 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9b3a137 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca3b845b rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb3d9e30 cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb6b4d67 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb7551a7 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce678a59 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcebfbb02 rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd0e182d6 xdr_expand_hole +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd10d1d5b rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd1b3ac50 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd4358a36 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd5cee9ec svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd95ca0a6 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9647723 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9f40c9f svc_xprt_deferred_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xda4b32b2 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdacb2592 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb0c719d xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdcc88a12 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdce0d794 xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd691402 xprt_find_transport_ident +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe04686e7 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe0d8fd96 rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1064152 svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe2874c04 svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe2feb58c xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3b6f343 svc_rqst_replace_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3ef9d35 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4c4ca21 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6d4319b xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe98975fa rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec6b7a71 svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee405e88 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0b7775d rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0f0ff40 rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1345d17 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1d271b3 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf1e58a12 xdr_reserve_space_vec +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2108d6a svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf215b821 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf28930a6 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf3f35741 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf45bfcb2 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf52227df cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf54b0da8 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf5da375f rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6c1fc61 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7389ebc svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf80f283a svc_xprt_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa48ab97 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfae71ee9 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb027ebb auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb931650 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfbd3fc99 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfd9b751f xdr_stream_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfde8b9fc xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe4e8f5f svc_find_xprt +EXPORT_SYMBOL_GPL net/tls/tls 0x18848506 tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/tls/tls 0x609a0346 tls_validate_xmit_skb +EXPORT_SYMBOL_GPL net/tls/tls 0xdc4ff073 tls_encrypt_skb +EXPORT_SYMBOL_GPL net/tls/tls 0xf9e69f4c tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x01ca5424 virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x03a81e69 virtio_transport_stream_allow +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0e0bd743 virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0f4c2449 virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1992d1f5 virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2084ca53 virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x278d9755 virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2d80b3ee virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2daac66b virtio_transport_notify_poll_out +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2dbab6e7 virtio_transport_stream_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2f1289b2 virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x310ba97e virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x3804b04c virtio_transport_connect +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x3be4d4ae virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x54ef12f7 virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x67f2b516 virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7aeb3d33 virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7ebca876 virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x87490600 virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x876f593c virtio_transport_seqpacket_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x99eaf846 virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa2ec7372 virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa70ef968 virtio_transport_seqpacket_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa9858999 virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xaa576f0e virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xaad429a5 virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xad9a5622 virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb636039a virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xbabd30f5 virtio_transport_dgram_allow +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd39ed223 virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd477172d virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xdb85daf8 virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe9030a34 virtio_transport_seqpacket_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf1411225 virtio_transport_do_socket_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf22e90ef virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf881c8df virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x02b01fd3 vsock_assign_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0e9bc9b6 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x141b08c7 vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x1b757ffb vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x25b60340 vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x25f1f998 vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2fd6bc28 vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x31877385 vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3a8953eb vsock_remove_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3d4b0fca vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4b99648c vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x5fbaad70 vsock_core_unregister +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x617d4d06 vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x77c14317 vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x80ec794d vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x90aa8549 vsock_find_cid +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x965ba23d vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x96cef1c8 vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9bb6fd09 vsock_connected_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xaaec978d vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xaf2674b5 vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc92f7f50 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd0fef3ff vsock_add_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd5ab88fb vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xea69ad37 vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xec96eadf vsock_addr_validate +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xf0ec6a1d vsock_remove_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xf21f60cd vsock_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xfac78e7b vsock_add_tap +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x18852064 cfg80211_pmsr_complete +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2566fe6a cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2f9caf40 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3e56bbaa cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4b8e767d cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4bfa0df3 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4ec80f19 cfg80211_pmsr_report +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x58863dee cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x68c042b6 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6c7f3627 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x912ca688 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x97857478 cfg80211_vendor_cmd_reply +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x99f3b9c1 cfg80211_vendor_cmd_get_sender +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc9ac03b5 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd0104932 cfg80211_shutdown_all_interfaces +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xda6c9d4c cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0049ca83 xfrm_aead_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00c80741 xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0a575945 xfrm_count_pfkey_auth_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x37a02412 xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x5c699441 xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x72395dc1 xfrm_calg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x7a8ca627 xfrm_count_pfkey_enc_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xaab23340 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xb73be794 xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xc6b1fdbe xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xd6f50cf7 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x248d7e14 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x5b5b8f35 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xf741eeb4 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xfb892490 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0x4a0c7516 xfrm_msg_min +EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0xe2521b1c xfrma_policy +EXPORT_SYMBOL_GPL sound/ac97_bus 0x677819bd snd_ac97_reset +EXPORT_SYMBOL_GPL sound/core/seq/snd-seq 0xadb51cff snd_seq_client_ioctl_unlock +EXPORT_SYMBOL_GPL sound/core/seq/snd-seq 0xe50413d7 snd_seq_client_ioctl_lock +EXPORT_SYMBOL_GPL sound/core/snd 0x02c9122b snd_devm_card_new +EXPORT_SYMBOL_GPL sound/core/snd 0x075bf311 snd_fasync_helper +EXPORT_SYMBOL_GPL sound/core/snd 0x1c75746f snd_ctl_apply_vmaster_followers +EXPORT_SYMBOL_GPL sound/core/snd 0x26029215 snd_devm_request_dma +EXPORT_SYMBOL_GPL sound/core/snd 0x29f45bc7 snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0x3aba77d7 snd_ctl_get_preferred_subdevice +EXPORT_SYMBOL_GPL sound/core/snd 0x4130a2b7 snd_card_rw_proc_new +EXPORT_SYMBOL_GPL sound/core/snd 0x4a4a44ba snd_ctl_disconnect_layer +EXPORT_SYMBOL_GPL sound/core/snd 0x4a4aaab2 snd_card_disconnect_sync +EXPORT_SYMBOL_GPL sound/core/snd 0x522e58cf snd_device_disconnect +EXPORT_SYMBOL_GPL sound/core/snd 0x5af762f1 snd_fasync_free +EXPORT_SYMBOL_GPL sound/core/snd 0x6b204913 snd_card_add_dev_attr +EXPORT_SYMBOL_GPL sound/core/snd 0x711c2375 snd_card_ref +EXPORT_SYMBOL_GPL sound/core/snd 0x78cbba89 snd_card_free_on_error +EXPORT_SYMBOL_GPL sound/core/snd 0xa4a153f7 snd_device_get_state +EXPORT_SYMBOL_GPL sound/core/snd 0xc5de9dea snd_ctl_register_layer +EXPORT_SYMBOL_GPL sound/core/snd 0xc94deda7 snd_device_initialize +EXPORT_SYMBOL_GPL sound/core/snd 0xe460de8a snd_ctl_sync_vmaster +EXPORT_SYMBOL_GPL sound/core/snd 0xeffbc934 snd_power_ref_and_wait +EXPORT_SYMBOL_GPL sound/core/snd 0xf8a50593 snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0xf8f2a4eb snd_kill_fasync +EXPORT_SYMBOL_GPL sound/core/snd 0xfaf598c6 snd_ctl_request_layer +EXPORT_SYMBOL_GPL sound/core/snd-compress 0x1ff4484e snd_compr_stop_error +EXPORT_SYMBOL_GPL sound/core/snd-compress 0x2ecc5b8d snd_compress_new +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x04e1b99f snd_pcm_std_chmaps +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x09e913c1 snd_pcm_alt_chmaps +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x1cc9141e _snd_pcm_stream_lock_irqsave +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x23adc129 snd_pcm_stream_unlock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x24db7b68 snd_pcm_stop_xrun +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x2d632462 snd_pcm_stream_unlock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x5c407196 snd_pcm_fill_iec958_consumer_hw_params +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x649892e8 snd_pcm_create_iec958_consumer_default +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x65ac168b snd_pcm_hw_constraint_eld +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x71f8dde6 snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x7caf5c81 snd_pcm_stream_unlock_irqrestore +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x8d864069 snd_pcm_rate_range_to_bits +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xab8bc1a2 snd_pcm_rate_mask_intersect +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xd58aeb9c snd_pcm_stream_lock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xde334b22 _snd_pcm_stream_lock_irqsave_nested +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xe33d434b snd_pcm_stream_lock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xefaf89ba snd_pcm_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xf6afa0d2 snd_devm_alloc_dir_pages +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xf9727a6d snd_pcm_fill_iec958_consumer +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xfe0e3dc7 snd_dma_buffer_sync +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x053f8626 snd_dmaengine_pcm_open +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x15c53559 snd_dmaengine_pcm_open_request_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x202b183f snd_hwparams_to_dma_slave_config +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x36a44469 snd_dmaengine_pcm_get_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x5f546fc6 snd_dmaengine_pcm_pointer +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x6372a7dd snd_dmaengine_pcm_request_channel +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x6be0949e snd_dmaengine_pcm_trigger +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x8aa49852 snd_dmaengine_pcm_set_config_from_dai_data +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x9d2cca46 snd_dmaengine_pcm_refine_runtime_hwparams +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xb40b0c17 snd_dmaengine_pcm_pointer_no_residue +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xbbbee430 snd_dmaengine_pcm_close_release_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xcb55afa7 snd_dmaengine_pcm_close +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x1c94e53e snd_seq_driver_unregister +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x967e43e7 __snd_seq_driver_register +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x0f59d9c8 amdtp_domain_stream_pcm_pointer +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x160669a2 amdtp_am824_set_pcm_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x3a609b2e amdtp_am824_set_parameters +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x533f2eb5 amdtp_domain_add_stream +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x55e4c3fa amdtp_am824_midi_trigger +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x64e25c5f amdtp_am824_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x72c36257 amdtp_am824_add_pcm_hw_constraints +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x8ef7c7c1 amdtp_domain_destroy +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x954bc06e amdtp_domain_stream_pcm_ack +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xb3aa5119 amdtp_domain_start +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xbcd6b7ae amdtp_domain_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xd1ec3fd4 amdtp_domain_stop +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xe8f8e5bc amdtp_am824_set_midi_position +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x0b6c00f6 snd_hdac_ext_link_clear_stream_id +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x0d546b92 snd_hdac_link_free_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x0d5bd8dd snd_hdac_ext_bus_device_exit +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x0efe7f9a snd_hdac_ext_link_stream_setup +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x1196e3f6 snd_hdac_ext_bus_link_power +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x190fc904 snd_hdac_ext_stream_set_lpib +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x1e74e4bb snd_hdac_ext_link_stream_reset +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x20ba17c9 snd_hdac_stream_free_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x2213fd9b snd_hdac_ext_bus_exit +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x24c9ed4a snd_hdac_ext_bus_device_remove +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x24ee38c7 snd_hdac_ext_stream_get_spbmaxfifo +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x2ab79df6 snd_hda_ext_driver_register +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x31e66bac snd_hdac_ext_stream_set_dpibr +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x3e1c462b snd_hdac_ext_stream_drsm_enable +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x405df939 snd_hdac_ext_bus_ppcap_int_enable +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x576f053d snd_hdac_ext_bus_ppcap_enable +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x5de73d76 snd_hdac_ext_stream_release +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x6247032c snd_hdac_ext_bus_link_get +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x6d0f6e32 snd_hdac_ext_link_stream_clear +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x73e167c9 snd_hdac_ext_bus_link_power_down +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x8030486b snd_hdac_ext_stream_init_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x9089d282 snd_hdac_ext_stream_spbcap_enable +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x91e3abef snd_hdac_ext_stream_decouple_locked +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x962a8299 snd_hdac_ext_link_stream_start +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x9d8c5b1e snd_hdac_ext_bus_link_power_up_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xa723a57e snd_hda_ext_driver_unregister +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xb2d0497f snd_hdac_ext_bus_get_link +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xba6f7d33 snd_hdac_ext_bus_init +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xc4d5e573 snd_hdac_ext_stream_init +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xd58e55fb snd_hdac_ext_bus_link_at +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xe2667e4b snd_hdac_ext_link_set_stream_id +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xe3269a2a snd_hdac_ext_bus_link_power_down_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xe74a11fb snd_hdac_ext_stream_assign +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xebd05d7f snd_hdac_ext_stream_decouple +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xf36f7578 snd_hdac_ext_stream_set_spib +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xf6df4580 snd_hdac_ext_bus_get_ml_capabilities +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xf87b173f snd_hdac_ext_bus_link_put +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xfaf91ff7 snd_hdac_ext_bus_link_power_up +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xfe8d9c20 snd_hdac_ext_bus_device_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x003cce67 snd_hdac_stream_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x005af87d snd_hdac_get_stream_stripe_ctl +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x06051cec snd_hdac_bus_free_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0bc331a3 snd_hdac_codec_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x106c15c7 snd_hdac_device_unregister +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x110a0e50 snd_hdac_override_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1435ecc3 snd_hdac_device_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1a5ab2e3 snd_hdac_regmap_add_vendor_verb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1acae8a2 snd_hdac_bus_reset_link +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1e32eaf7 snd_hdac_stream_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x259fde44 snd_hdac_stream_release +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x26789e34 snd_hdac_bus_stop_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x26991807 snd_hdac_regmap_update_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2cc26fd1 snd_hdac_regmap_update_raw_once +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2fe374dd snd_hdac_stream_clear +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3187b04e snd_hdac_stream_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x359ccb69 snd_hdac_device_register +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x380729fc snd_hdac_is_supported_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x390c3346 snd_hdac_bus_send_cmd +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3a852ed5 snd_hdac_acomp_get_eld +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3bd544c2 snd_hdac_get_active_channels +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3c9e0c9f snd_hdac_bus_init_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3f071ea3 snd_hdac_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x40f16197 snd_hdac_dsp_prepare +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4a38e306 snd_hdac_bus_get_response +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4b77a4eb snd_hdac_bus_update_rirb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4c7ec4b6 snd_hdac_get_ch_alloc_from_ca +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4e1444a2 snd_hdac_stop_streams +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4ec15709 snd_hdac_register_chmap_ops +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x56f4754c snd_hdac_stream_setup_periods +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5af3ecef snd_hdac_bus_exit_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5bfa4116 snd_hdac_stream_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c07cb49 snd_hdac_calc_stream_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5d7ee780 snd_hdac_i915_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5f961f65 snd_hdac_bus_stop_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6250ab0c snd_hdac_stream_sync_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x656e8848 snd_hdac_bus_enter_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6614315b snd_hdac_sync_audio_rate +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67bfe791 snd_hdac_spk_to_chmap +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6981a987 snd_hdac_codec_modalias +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x717fdef8 snd_hdac_power_up_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x729f896b _snd_hdac_read_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x73a1efa3 snd_hdac_power_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x73f54c86 snd_hdac_display_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x74f0748e snd_hdac_bus_exec_verb_unlocked +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x756cee6e snd_hdac_bus_parse_capabilities +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77c754a8 snd_hdac_chmap_to_spk_mask +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x794a77d2 snd_hdac_power_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x795ecded snd_hdac_codec_link_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7a681eab snd_hda_bus_type +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7c052f77 snd_hdac_stream_set_params +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7f02582d snd_hdac_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7f987436 snd_hdac_device_set_chip_name +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x83763f85 snd_hdac_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x83ec2874 snd_hdac_dsp_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8731e9de snd_hdac_get_connections +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8abd8a00 snd_hdac_regmap_read_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8b286b0e snd_hdac_refresh_widgets +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8e34330f snd_hdac_acomp_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x91b871fe snd_hdac_i915_set_bclk +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x96f8b6f2 hdac_get_device_id +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9775af6e snd_hdac_bus_handle_stream_irq +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9ab8bf6c snd_hdac_stream_start +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9fab2639 snd_hdac_get_sub_nodes +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa54818c7 snd_hdac_bus_alloc_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa6e958f3 snd_hdac_acomp_register_notifier +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa74c9d24 snd_hdac_regmap_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xaa0ce777 snd_hdac_power_down_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xaa7656ed snd_hdac_stream_stop +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xabdfab50 snd_hdac_stream_setup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb4d69313 snd_hdac_regmap_write_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb60eee5d snd_hdac_stop_streams_and_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb756ddb5 snd_hdac_bus_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb924ff72 snd_hdac_read_parm_uncached +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb9b52afd snd_hdac_codec_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbb3cd7e4 snd_hdac_device_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbd0df155 snd_hdac_get_stream +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc3f03588 snd_hdac_setup_channel_mapping +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc52469a9 snd_hdac_set_codec_wakeup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc5ca91e8 snd_hdac_query_supported_pcm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc87cf9a9 snd_hdac_check_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc8c60bd0 snd_hdac_stream_timecounter_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xcc000fdd snd_hdac_stream_assign +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xcd994d55 snd_hdac_acomp_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd178f328 snd_hdac_sync_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd636d9a5 snd_hdac_bus_init_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe4e07754 snd_hdac_print_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe675ae1a snd_hdac_dsp_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xea08b71f snd_hdac_bus_link_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf7737621 snd_hdac_codec_link_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfa39f9bc snd_hdac_regmap_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfb9c7413 snd_hdac_bus_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xffbc121a snd_hdac_regmap_sync +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x4c9693ae snd_intel_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x4e859456 intel_nhlt_free +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x5b8ee364 snd_intel_acpi_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0xb8bb6814 intel_nhlt_get_dmic_geo +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0xf8107223 intel_nhlt_init +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x0fa596c5 snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x24a2096f snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x4204d7c3 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x516359ae snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x55f19c32 snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xbf004f5a snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0676f5ac snd_hda_get_input_pin_attr +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x08256c05 snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x088e0fcf snd_hda_enum_helper_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x08f14545 snd_hda_jack_set_gating_jack +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x09726cce snd_hda_set_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0aa2a09c snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0b363c7a snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0df0c075 snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0fbd26aa azx_get_pos_posbuf +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0fe57d1e snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1126592d snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x112a2b24 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1348991a snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1a927ac1 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1cfd3033 snd_hda_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1d952d50 snd_hda_jack_detect_enable_callback_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1dd1cccb snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x24dfdefc snd_hda_codec_parse_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x25e37ad2 snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2b65e5af __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x302b37ff snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x31134605 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x36f6657a snd_hda_codec_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38ce402b azx_interrupt +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3d57233e snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x416beed1 snd_hda_codec_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x487150c3 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4c63e0ea __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4dbe0f8e snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4ebf3569 snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4efb3122 snd_hda_jack_add_kctl_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x50fdf75b azx_get_pos_lpib +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x52c75df8 snd_hda_codec_set_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x54dcad93 snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x550d2758 snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5737ca28 is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5b02a7a3 snd_hda_codec_cleanup_for_unbind +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5b0ddd2d snd_hda_codec_get_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5d542f7c _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5e1a2c4a azx_stop_all_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5fac0cce snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x60b4049c azx_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x60c70fbd snd_hda_codec_set_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x62fa11a4 snd_hda_jack_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x66c9a387 snd_hda_get_int_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x67b66e05 snd_hda_get_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6b565eb6 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6d7724f2 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6dcb8496 snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6ddd4139 snd_hda_jack_bind_keymap +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6f542fb3 snd_hda_check_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x71e8aef8 snd_hda_correct_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x720fae15 snd_hda_mixer_amp_switch_get_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x72b459c3 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7435ee98 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7701d4f5 snd_hda_codec_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x78e8e636 __snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x791b8d1c snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7ae379fc snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7aee3be8 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7b8387c5 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7d771f15 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f1d44ee snd_hda_jack_detect_state_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f7d3e53 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x80f7a6d5 azx_probe_codecs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x83687ec0 snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x856e2534 snd_hda_codec_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8669a2ac azx_get_position +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x86fdd497 snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x89a65b0b snd_hda_jack_set_button_state +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8a0e10c2 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8bbbfbcd snd_hda_codec_load_dsp_trigger +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x90ec0869 snd_hda_codec_load_dsp_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9621946f snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x97c93596 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x99e79c40 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9ac2fa0b snd_hda_codec_update_widgets +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9da7d7ad snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa06933df snd_hda_get_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa3efd319 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa5ac1930 azx_init_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa5d117d2 snd_hda_codec_eapd_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa778e831 snd_hda_codec_device_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xae396c2d snd_hda_create_dig_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb0a66a56 hda_codec_driver_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb0be9dfb snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb0f2e093 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb30f77d5 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb4deb277 snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb5375801 snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb60bbd42 azx_stop_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb684e123 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb90951ea snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xba244105 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xba732eae snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbc9789e0 snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbdfa9798 snd_hda_jack_tbl_get_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe119a9a snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbf0dd1f2 __hda_codec_driver_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc0074aeb snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc573b8ea snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc5ba372b snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc6438fa9 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc8097a60 azx_free_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcb313db7 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcd041605 snd_hda_jack_poll_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xce011586 snd_hda_codec_amp_init_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcf8b4d18 snd_hda_codec_device_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcfc63ef2 snd_hda_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd29e086b snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd2c7d7ef snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd3382a71 snd_hda_codec_load_dsp_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd3aba9cc snd_hda_codec_pcm_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd414544e snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd61a04c6 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdb837540 snd_hda_jack_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xddc973d5 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdfccb987 snd_hda_pick_pin_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe118de5d snd_pcm_2_1_chmaps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe5ba9396 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe71bc410 azx_init_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe8967c93 snd_hda_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeb1690da snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xebdf8e2f query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeedf7108 azx_bus_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf2cc5645 snd_hda_codec_pcm_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf39aa394 snd_hda_codec_amp_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf4d4ad11 snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf7aa0979 snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf8dc35ac snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfa184174 snd_hda_get_num_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfab09545 snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfb0dab99 snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x09d5c7dc snd_hda_get_path_from_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x0e1cb346 snd_hda_gen_add_mute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x0f3cf586 snd_hda_gen_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x0f9c83b8 snd_hda_activate_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x0f9c9a0d snd_hda_gen_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x10601227 snd_hda_gen_hp_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x223d4660 snd_hda_gen_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x26d81b74 snd_hda_gen_mic_autoswitch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x3656247c snd_hda_gen_line_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x3f606ca8 snd_hda_get_path_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x57e0bd3d snd_hda_gen_add_micmute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x5bf50aa6 snd_hda_gen_check_power_status +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x6a1764f8 snd_hda_gen_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7141b14c snd_hda_gen_parse_auto_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x76dc6871 hda_main_out_badness +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x81d39f30 snd_hda_gen_fix_pin_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x871a6e44 hda_extra_out_badness +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xa5876707 snd_hda_gen_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xcb498542 snd_hda_gen_update_outputs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xd4b0156d snd_hda_gen_stream_pm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xdbd6165b snd_hda_add_new_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xdf213d08 snd_hda_gen_path_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xf542370f snd_hda_gen_spec_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau-utils 0xae620be9 adau_calc_pll_cfg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1372 0x3861e8e3 adau1372_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x2628984c adau1761_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0xa128d6f4 adau1761_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x13b7643d adau17x1_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x588cd35c adau17x1_precious_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x8ff61534 adau17x1_add_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x90c8f136 adau17x1_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x93b233b1 adau17x1_set_micbias_voltage +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xa1f72ecf adau17x1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xb79a0985 adau17x1_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xbd770d06 adau17x1_add_widgets +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xd5828e0f adau17x1_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xed52f4fb adau17x1_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau7118 0xc9fee1b3 adau7118_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x02c8517e arizona_asrc_rate1 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x06282f4e arizona_set_fll_refclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x073fcb1e arizona_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x08e43424 arizona_simple_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x196ad010 arizona_lhpf_coeff_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x1addbf05 arizona_lhpf3_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x202d5ee9 arizona_init_spk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x25d107ff arizona_anc_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x26d4a0eb arizona_set_output_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x31140c7c arizona_in_dmic_osr +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x3a5d4519 arizona_isrc_fsh +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x3bb9d5d2 arizona_ng_hold +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x46277216 arizona_rate_val +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x48a8f2d7 arizona_init_vol_limit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x4ccae353 arizona_adsp2_rate_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x58de9705 arizona_jack_codec_dev_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x599e4ed7 arizona_in_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x59d38aa1 arizona_clk_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x5af0c201 arizona_dvfs_sysclk_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x6112fca4 arizona_in_hpf_cut_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x6390b2b2 arizona_init_spk_irqs +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x69102a20 arizona_sample_rate_text +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x729a5ef3 arizona_mixer_values +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x76c8e004 arizona_out_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x777ba645 arizona_set_fll +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x7a1b9f5d arizona_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x7aec6d20 arizona_free_spk_irqs +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x7f26f273 arizona_mixer_texts +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x7fcb929a arizona_sample_rate_val_to_name +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x86300121 arizona_of_get_audio_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x8d42ae2c arizona_lhpf1_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x92dcffd2 arizona_voice_trigger_switch +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x99345fd0 arizona_out_vd_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x9b1e629b arizona_in_vd_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x9da7e095 arizona_dvfs_down +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xa1cc070f arizona_isrc_fsl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xa6e9cdbc arizona_jack_codec_dev_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xab4d845c arizona_rate_text +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xad229907 arizona_init_mono +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xb0cfe62c arizona_init_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xba208b52 arizona_init_dvfs +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xbcaab4b1 arizona_lhpf2_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc1eca0c3 arizona_anc_ng_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc9c29637 arizona_mixer_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xcb386c0d arizona_init_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xd332878a arizona_hp_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xd719df28 arizona_jack_set_jack +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xd7782a4c arizona_eq_coeff_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xd9e52d4b arizona_anc_input_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xdf7a818b arizona_lhpf4_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xdfe804b8 arizona_sample_rate_val +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xe5be806d arizona_output_anc_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xe6b0986a arizona_input_analog +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xe6ea73bc arizona_init_fll +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xeb3904eb arizona_init_common +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xf3fd176d arizona_dvfs_up +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xf8e33e10 arizona_out_vi_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xfac9035b arizona_in_vi_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0x3a06d174 cs35l41_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0x811a0d6c cs35l41_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0xefcd92f1 cs35l41_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x022ee1fa cs35l41_regmap_spi +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x024057d2 cs35l41_global_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x084947bb cs35l41_set_cspl_mbox_cmd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x1d161079 cs35l41_register_errata_patch +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x1daa4a05 cs35l41_set_channels +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x31b684fb cs35l41_test_key_lock +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x43741be9 cs35l41_safe_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7358bd1d cs35l41_otp_unpack +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x76971a46 cs35l41_configure_cs_dsp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x962b7fae cs35l41_gpio_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x9f000fc6 cs35l41_exit_hibernate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xa4fe64fc cs35l41_test_key_unlock +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xb0c8e0c8 cs35l41_enter_hibernate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xb47be725 cs35l41_regmap_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xc5d78af3 cs35l41_init_boost +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xe097d8e1 cs35l41_write_fs_errata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x6b0ae405 cs4271_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0xd4e1434a cs4271_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x375ad98c cs42l51_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x4d248487 cs42l51_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xb3b59c62 cs42l51_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xd9dcbe93 cs42l51_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xf55b3b14 cs42l51_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xf94fdae4 cs42l51_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x0245c4f2 cs42xx8_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x08928d1a cs42xx8_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x1774939f cs42xx8_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7cac7292 cs42888_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xaa565956 cs42xx8_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcd3794c9 cs42448_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x00c1e5eb da7219_aad_jack_det +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x2b89e254 da7219_aad_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x8ecd4dda da7219_aad_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0xceab8d23 da7219_aad_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x0cd711a8 es8328_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x37dd6917 es8328_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdac-hda 0xa6665489 snd_soc_hdac_hda_get_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdac-hdmi 0x934e5548 hdac_hdmi_jack_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdac-hdmi 0xf16c3e17 hdac_hdmi_jack_port_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-lpass-macro-common 0x13319cf2 lpass_macro_pds_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-lpass-macro-common 0x9ca257f9 lpass_macro_pds_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98090 0x3325e69f max98090_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x139c725f soc_codec_dev_max98373_sdw +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x6d73e5cf max98373_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x7736d048 max98373_slot_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0xb07b9de0 soc_codec_dev_max98373 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0xa522b722 mt6358_set_mtkaif_protocol +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0xa8231bc5 mt6358_set_mtkaif_calibration_phase +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0xc8e9b3f6 mt6358_mtkaif_calibration_disable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0xfb77ae12 mt6358_mtkaif_calibration_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8821 0x13a4f477 nau8821_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0x5a5b5885 nau8824_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0xbf55f96a nau8824_components +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8825 0xfb122c20 nau8825_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x050ef199 pcm1789_common_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x92775259 pcm1789_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xc7c5b39e pcm1789_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0x491c9014 pcm179x_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0x95c7fe71 pcm179x_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x62025c2e pcm186x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0xa96db674 pcm186x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x0bc1fba9 pcm3168a_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x136b0163 pcm3168a_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xb3b669bf pcm3168a_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xf6760522 pcm3168a_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x13a2f9ae pcm512x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x36c276d7 pcm512x_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x65a565bc pcm512x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x71872539 pcm512x_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x5dc92cdf rl6231_pll_calc +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x70617a04 rl6231_get_clk_info +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x8d7fa148 rl6231_get_pre_div +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0xdba4502f rl6231_calc_dmic_clk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6347a 0xa7aa810f rl6347a_hw_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6347a 0xade4bf4c rl6347a_hw_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt286 0x76724726 rt286_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt298 0x5fe14d82 rt298_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5514-spi 0x61ff58e3 rt5514_spi_burst_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5514-spi 0xff87892f rt5514_spi_burst_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x0e8027ba rt5640_enable_micbias1_for_ovcd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x4bd66e66 rt5640_disable_micbias1_for_ovcd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x760cfc71 rt5640_dmic_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x7c9be622 rt5640_detect_headset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x9deeb792 rt5640_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xbd14e9d6 rt5640_set_ovcd_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0xb506f239 rt5645_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0xd8c57465 rt5645_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5659 0x0ecc51e6 rt5659_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5663 0x050e5918 rt5663_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0x2b94c0ac rt5670_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0x2f5ee4db rt5670_components +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0x52b98251 rt5670_jack_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0x6ede1b25 rt5670_jack_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0xb1db9008 rt5670_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677 0xd88187af rt5677_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x5fc320ad rt5677_spi_write_firmware +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x67956035 rt5677_spi_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0xc6695825 rt5677_spi_hotword_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0xe8ece129 rt5677_spi_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x0d983e65 rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x1b9a10b0 rt5682_register_dai_clks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x28730696 rt5682_supply_names +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x2eab0b01 rt5682_aif1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x59d3d967 rt5682_jack_detect_handler +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x6a90832b rt5682_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x79aa71cb rt5682_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x86c63cd7 rt5682_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x8f5efd99 rt5682_parse_dt +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xaaa350be rt5682_soc_component_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xaaf23089 rt5682_apply_patch_list +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb897de56 rt5682_reg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xc59cb002 rt5682_aif2_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xe32e8201 rt5682_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682s 0xc57acd8e rt5682s_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x082b3779 sigmadsp_setup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x4c2125d2 devm_sigmadsp_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x718c290d sigmadsp_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xa0a3f15f sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xd46624ba sigmadsp_restrict_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-i2c 0xc3894f1d devm_sigmadsp_init_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-regmap 0xe27bca62 devm_sigmadsp_init_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x1024b99e ssm2602_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x25444ac1 ssm2602_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic32x4 0xadca3b9b aic32x4_register_clocks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x3d8f5a20 aic3x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0xd7d767c7 ts3a227e_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd-mbhc 0x936c1623 wcd_mbhc_event_notify +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x2a44b7d6 wcd938x_sdw_device_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x636b0802 wcd938x_sdw_set_sdw_stream +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x90624d58 wcd938x_swr_get_current_bank +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0xddf777a5 wcd938x_sdw_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0xde919760 wcd938x_sdw_hw_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x15d4809f wm_adsp_compr_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x185b613a wm_adsp_fw_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x29635745 wm_adsp2_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x38a10732 wm_adsp_write_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x44804a4e wm_adsp_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x4b5d336b wm_adsp_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x4d4577e4 wm_adsp_early_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x524df38c wm_adsp_compr_open +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x52c16479 wm_halo_wdt_expire +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x5464ad6d wm_adsp_compr_handle_irq +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x6298f049 wm_adsp_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x672ab0e2 wm_adsp2_preloader_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x707cf7b5 wm_adsp1_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7be5277e wm_adsp_fw_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7ecfd8d1 wm_adsp2_component_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x83fbab8f wm_adsp1_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x9ad81d8b wm_adsp2_preloader_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x9e257951 wm_halo_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x9f714c3b wm_adsp2_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xa27fd12c wm_adsp_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xaaf3bdad wm_adsp2_component_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xbf1bd696 wm_adsp_compr_copy +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xdd3c79ef wm_adsp2_bus_error +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xdec701a1 wm_adsp_read_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xe0d7d376 wm_adsp2_set_dspclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xe5a9cc53 wm_adsp_fw_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xea38ee07 wm_halo_bus_error +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xfdbd2b2e wm_adsp_compr_get_caps +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0xcba74db9 wm8731_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0xf8336fff wm8731_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x4bda7a35 wm8804_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x8b18c885 wm8804_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xd400d21a wm8804_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xf60e2907 wm8804_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0xee289ba4 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0xc80a91d5 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0x47695f93 fsl_asrc_component +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-imx-audmux 0x30693bb7 imx_audmux_v1_configure_port +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-imx-audmux 0x58631dab imx_audmux_v2_configure_port +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x05fbc3fe asoc_simple_canonicalize_platform +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x1241c030 asoc_simple_parse_clk +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x1a574821 asoc_simple_parse_convert +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x204f92f8 asoc_simple_parse_widgets +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x341b050e asoc_graph_is_ports0 +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x34a06895 asoc_simple_remove +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x3acac7f0 asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x5d0f6115 asoc_simple_hw_params +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x662d20cb asoc_simple_init_priv +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x8925d298 asoc_simple_parse_routing +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x8d687e87 asoc_simple_be_hw_params_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x8f1bf716 asoc_simple_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x9448fd40 asoc_simple_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xa0f931a6 asoc_simple_shutdown +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xa78b7f37 asoc_simple_set_dailink_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xab27e4b4 asoc_simple_startup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xb5a70a27 asoc_graph_card_probe +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xc397f258 asoc_simple_canonicalize_cpu +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xc5840272 asoc_simple_init_jack +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xcfb51cd3 asoc_simple_parse_tdm_width_map +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xd158140a asoc_simple_clean_reference +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xf3bafb75 asoc_simple_convert_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xf76196b3 asoc_simple_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/intel/atom/snd-soc-sst-atom-hifi2-platform 0x9b45133e sst_register_dsp +EXPORT_SYMBOL_GPL sound/soc/intel/atom/snd-soc-sst-atom-hifi2-platform 0xe95abacf sst_unregister_dsp +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0x02ad1d17 sst_context_cleanup +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0x030ee5ce sst_context_init +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0x3e518e10 intel_sst_pm +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0x709cd25f relocate_imr_addr_mrfld +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0xaa85d482 sst_configure_runtime_pm +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0xfa9afea6 sst_alloc_drv_context +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x13430765 snd_soc_acpi_intel_adl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x1a04997c snd_soc_acpi_intel_cml_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x2c9fc497 snd_soc_acpi_intel_hda_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x333bbde2 snd_soc_acpi_intel_tgl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x34a14f4e snd_soc_acpi_intel_broadwell_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x378d81c8 snd_soc_acpi_intel_icl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x3e10d45b snd_soc_acpi_intel_cherrytrail_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x40dfb2c1 snd_soc_acpi_intel_cfl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x40ea8f6e snd_soc_acpi_intel_cnl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x462d8968 snd_soc_acpi_intel_cml_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x5a5565e1 snd_soc_acpi_intel_adl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x5c652038 snd_soc_acpi_intel_glk_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x607c51aa snd_soc_acpi_intel_mtl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x650dc641 snd_soc_acpi_intel_ehl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x659eb785 snd_soc_acpi_intel_rpl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x745f1210 snd_soc_acpi_intel_cfl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x7e9d4e97 snd_soc_acpi_intel_baytrail_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x88dd0c65 snd_soc_acpi_intel_haswell_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x8a37e27f snd_soc_acpi_intel_bxt_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x8d98c309 snd_soc_acpi_intel_mtl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x91a818ad snd_soc_acpi_intel_cnl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xaace85ad snd_soc_acpi_intel_icl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xbd17d594 snd_soc_acpi_intel_jsl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xc484b592 snd_soc_acpi_intel_rpl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xd09a84fb snd_soc_acpi_intel_kbl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xd974c666 snd_soc_acpi_intel_tgl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xfca05cc6 snd_soc_acpi_intel_skl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x0e6e5867 sst_dsp_outbox_read +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x16e86983 sst_shim32_read +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x2635e941 sst_dsp_shim_write +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x390880f5 sst_dsp_shim_read +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x3971effe sst_dsp_mailbox_init +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x4d84ff5c sst_dsp_shim_write_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x700d3877 sst_dsp_inbox_read +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x751c8fc1 sst_dsp_shim_update_bits_forced +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x87cdf7d2 sst_shim32_write64 +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x8a305e06 sst_dsp_outbox_write +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x97f92d02 sst_dsp_inbox_write +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xa8316bc3 sst_dsp_register_poll +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xbd3dbb4b sst_dsp_shim_update_bits_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xc6dab31b sst_dsp_shim_read_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xd6c01cbd sst_dsp_shim_update_bits +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xd72a34c2 sst_shim32_read64 +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xe9c6de99 sst_shim32_write +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xf94e32e9 sst_dsp_shim_update_bits_forced_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x39d04df0 sst_ipc_tx_msg_reply_complete +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x7100ee04 sst_ipc_tx_message_nowait +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x871e6056 sst_ipc_tx_message_nopm +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0xb08c29b1 sst_ipc_init +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0xba85a771 sst_ipc_tx_message_wait +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0xbaf3e701 sst_ipc_fini +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0xf358152f sst_ipc_reply_find_msg +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x0365fa27 skl_ipc_unload_modules +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x15742d65 skl_sst_ipc_load_library +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x1915ab56 skl_ipc_set_pipeline_state +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x2851459b skl_sst_dsp_init +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x2ee548c9 skl_clear_module_cnt +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x2f09e033 skl_sst_dsp_cleanup +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x3098dba0 cnl_dsp_free +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x3ada2684 skl_ipc_set_dx +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x4e83d309 skl_ipc_init_instance +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x4fa7661f skl_put_pvt_id +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x50a5e8d5 skl_dsp_wake +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x52db6f96 bxt_sst_init_fw +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x5cd31de8 skl_ipc_set_d0ix +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x5dff5cbb skl_get_pvt_id +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x6d15fb3b skl_sst_init_fw +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x74a0d8e7 skl_ipc_set_large_config +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x7888d4cc skl_ipc_get_large_config +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x7c2e3b82 is_skl_dsp_running +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x7f6ebc8d cnl_sst_dsp_init +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x86340d5e skl_ipc_save_pipeline +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x890de63a bxt_sst_dsp_cleanup +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x93728c99 cnl_sst_init_fw +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x9a0e9965 skl_dsp_get_core +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xa1d2f36d skl_dsp_free +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xb2811e0b skl_ipc_bind_unbind +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xd361b819 bxt_sst_dsp_init +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xdb51d8b0 skl_dsp_sleep +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xdc5371a1 skl_ipc_restore_pipeline +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xdd7f6ae6 skl_dsp_put_core +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xdede01b8 skl_ipc_create_pipeline +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xe4c1c28b skl_dsp_set_dma_control +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xe5cd8f1f skl_ipc_delete_pipeline +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xe96c6d13 cnl_sst_dsp_cleanup +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xf5dba9e5 skl_ipc_load_modules +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xfc45eb82 skl_get_pvt_instance_id_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x3dd9f961 snd_soc_acpi_find_machine +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x5c512782 snd_soc_acpi_find_package_from_hid +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x9b1aadfd snd_soc_acpi_codec_list +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00963ff9 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0106d6ca snd_soc_of_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x011a89ee snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x02b843de snd_soc_dai_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x02dc58e3 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x04351ee1 dapm_pinctrl_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x050d1899 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x051e9d93 snd_soc_dapm_del_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x05954598 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x08911352 snd_soc_component_write_field +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ac3046f snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c426933 snd_soc_get_dai_id +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0cfe44d8 snd_soc_component_async_complete +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0eec2452 snd_soc_dapm_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0f9fa2d5 dapm_mark_endpoints_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1227f0a0 snd_soc_component_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x12502868 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x128aad04 snd_soc_tplg_component_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x13673e07 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x138f8bb3 snd_soc_daifmt_parse_format +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1666be58 snd_soc_component_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1b40810e snd_soc_of_parse_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1bf2637e snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1d0ea18a snd_soc_component_initialize +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x20d5ea04 snd_soc_component_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x216cdb01 snd_soc_daifmt_parse_clock_provider_raw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x21dcd217 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x22fa8b90 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x255b7c1f snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2560b51a snd_soc_unregister_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x25be9df1 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x270fd77a snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2720206a snd_soc_component_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x28176615 snd_soc_component_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2a7bab77 snd_soc_close_delayed_work +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2babe0c7 snd_soc_dai_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2d29436d snd_soc_component_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2d2a51f3 snd_soc_dai_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2d72c1ca snd_soc_component_update_bits_async +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x314f42f4 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3269860b snd_soc_dai_active +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x34074f07 snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x343f3f40 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3a235695 snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3a7280a4 snd_soc_dapm_dai_free_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3a9b7a71 snd_soc_card_add_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3abe113c snd_soc_dapm_free_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3c41a811 snd_soc_dai_set_bclk_ratio +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3ccc4998 soc_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3e7c7a37 snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3efe3fd2 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3fe74716 snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x41988949 snd_soc_dapm_update_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x42d90714 snd_soc_dapm_sync_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x440ae204 snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x446e1a25 snd_soc_of_get_slot_mask +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x44ab7149 snd_soc_component_read_field +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x44b89534 snd_soc_component_exit_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x46aac2d0 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x489331ed snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4ac5ad09 snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4c73f359 snd_soc_add_component_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4fa1782d snd_soc_tdm_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x50d0f1fd snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5417c0ee snd_soc_find_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x558264f9 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5b35f289 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5b8e18cc snd_soc_tplg_component_load +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5c489397 snd_soc_component_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5d6c1d7f snd_soc_set_ac97_ops_of_reset +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x627d0990 snd_soc_dai_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6286c08d snd_soc_dai_link_set_capabilities +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x63b7bbf6 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x63e32b0e snd_soc_put_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6ca62ea5 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6efc887a snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x70b3aab9 snd_soc_add_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x70f3a3bf snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x71f7e623 snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x75030cf8 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x78a29ecc snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7bc08af3 snd_soc_of_put_dai_link_cpus +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7df0180e snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7f43b0d9 snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7f7ed1ac snd_soc_component_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x803e9404 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x808b90dc snd_soc_lookup_component_nolocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x81b5da5b snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x82fe5588 snd_soc_component_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83c5dbab snd_dmaengine_pcm_prepare_slave_config +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x870410df snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x885cd970 snd_soc_dai_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x89949579 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8a0e4124 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8b05ed26 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8b141183 dpcm_end_walk_at_be +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8b35e8b6 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8bae1e49 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8d0893d6 snd_soc_of_get_dai_link_cpus +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8d230abc snd_soc_new_compress +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8d489550 snd_soc_of_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ddcfa3e snd_soc_component_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e0b1739 snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e14992f snd_soc_free_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8fe28015 snd_soc_dai_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9027e4bf snd_soc_dapm_kcontrol_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9084ea36 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x91fbd80c snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x921f20d7 snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x95382b0a snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9569d0a8 snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x957d5d55 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x95d9fd83 snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x97d5fd08 snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9832b294 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9845199d snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9941f83e snd_soc_lookup_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x99442325 snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9b5dd377 snd_soc_component_compr_copy +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9c72eb69 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9ca5cb65 snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9d5594a7 snd_soc_component_compr_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9f08d6ed snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa03c818e snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa04c48a5 snd_soc_dapm_force_bias_level +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa05f542a snd_soc_dapm_dai_get_connected_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa198464d snd_soc_tplg_widget_bind_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa2564e3c snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa29a1cba snd_soc_of_parse_node_prefix +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa66ce94b snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa67fb9fc snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa71a864e snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaafa0e00 snd_soc_runtime_set_dai_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xab9d76bb snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xabefb2a3 devm_snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xac1e2bd2 snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xac7c0c9d snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xac7cd592 snd_soc_dai_get_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xadf5943a snd_soc_of_parse_aux_devs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xae962c7d snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaf2f9314 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xafa1cd28 snd_soc_dapm_new_dai_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb0456f04 snd_soc_dai_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb19edcb0 snd_dmaengine_pcm_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb425cf77 snd_soc_rtdcom_lookup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb474903f snd_soc_card_remove_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb6f8ec7f snd_soc_component_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb8b9000b snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba8bc2ef snd_soc_get_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbb6fc9e9 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbba3a541 snd_soc_component_compr_open +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbccf7745 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbe4329e2 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbe4a757b snd_soc_link_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbe836224 snd_soc_component_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbf5f1250 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc317a15e snd_soc_daifmt_clock_provider_flipped +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc4448fb1 snd_soc_bytes_info_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc66e47e7 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc6e75159 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc78089bb snd_soc_component_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc7fa94d0 snd_soc_set_dmi_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcba543c9 snd_soc_dapm_init +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcde2e7ba snd_soc_unregister_component_by_driver +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcf4cdba8 snd_soc_remove_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd03e8003 snd_soc_card_jack_new_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd1424812 devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd1554660 snd_soc_dpcm_runtime_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd22caae6 snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd2c77497 snd_soc_set_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd2ce709e snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd3ccaeb1 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd67c0beb snd_soc_component_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd6af46f6 snd_soc_component_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd75b3b96 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xda04ba15 snd_soc_component_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xda1f6786 devm_snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdb5c6963 snd_soc_component_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xde3babcb snd_soc_link_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdf7efdd0 devm_snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe0739bd2 snd_soc_card_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe1802b5e snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe2632530 snd_soc_component_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe46e6012 snd_soc_runtime_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe50f0fff snd_soc_new_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe55a250d snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe7896b3e snd_soc_of_put_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe8930fdd snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe8ab7e1e dapm_clock_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeacb61d1 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb4ca0b5 snd_soc_dai_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb6c53cc snd_soc_dapm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xebda5222 null_dailink_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xed644f79 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xed8023f1 snd_soc_component_set_jack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xedf817cb snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf0068247 snd_soc_component_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf07b5fee snd_soc_component_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf1b43376 snd_soc_component_compr_get_caps +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf22d8ec1 snd_soc_card_get_kcontrol +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf4d5feb0 snd_soc_component_compr_get_codec_caps +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf50b3191 dapm_kcontrol_get_value +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf810076e snd_soc_bytes_tlv_callback +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9622dd1 snd_soc_daifmt_clock_provider_from_bitmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9ae3618 snd_soc_component_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfacdd857 snd_soc_info_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfad2f2dc snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfadfea1b snd_soc_of_parse_audio_simple_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfb0492ce snd_soc_dai_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfc5f1ee7 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfd60e59f snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfe2ddcf9 snd_soc_info_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfe5d1240 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfefbf059 snd_soc_link_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xff7b7582 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xffc5b387 snd_soc_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x3544a3ae snd_sof_dbg_memory_info_init +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x39513ac0 snd_sof_free_debug +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x7ad6e520 snd_sof_dbg_init +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x8a64c4a8 snd_sof_debugfs_add_region_item_iomem +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xb561a55d snd_sof_debugfs_buf_item +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x0284ec1f line6_resume +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x06950706 line6_disconnect +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x1dad7e37 line6_init_midi +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x202a1b1b line6_midi_id +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x24f817c3 line6_probe +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x308147ec line6_init_pcm +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x318ec696 line6_suspend +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x46e45c9f line6_pcm_release +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x4f0d687b line6_send_raw_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x64080fcf line6_version_request_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x6a7bca56 line6_alloc_sysex_buffer +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x88474a75 line6_pcm_acquire +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x97bfa531 line6_send_raw_message_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xd37b8e57 line6_send_sysex_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xe0f5f88c line6_write_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xe9ffed18 line6_read_serial_number +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xf6de450e line6_read_data +EXPORT_SYMBOL_GPL vmlinux 0x0003ab4e devm_regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x001b074f mce_is_correctable +EXPORT_SYMBOL_GPL vmlinux 0x001b879f crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x0022b3b8 blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0x00237fb1 sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0x002ff9de usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x0034f3b6 xen_has_pv_nic_devices +EXPORT_SYMBOL_GPL vmlinux 0x004ac23d iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x00565f18 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x005f06c8 crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0x005f18a6 add_wait_queue_priority +EXPORT_SYMBOL_GPL vmlinux 0x0062e55e irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0x00691676 ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0x0081c8a8 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x008539f0 klp_shadow_alloc +EXPORT_SYMBOL_GPL vmlinux 0x00876088 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x008d9b6a inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x009bd97e fpu_alloc_guest_fpstate +EXPORT_SYMBOL_GPL vmlinux 0x00a3d228 vfs_inode_has_locks +EXPORT_SYMBOL_GPL vmlinux 0x00a65e6c pinctrl_utils_reserve_map +EXPORT_SYMBOL_GPL vmlinux 0x00b1277d devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x00b27bce ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x00bc60fa dev_pm_domain_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x00bff38c pm_clk_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x00d4c500 usb_decode_interval +EXPORT_SYMBOL_GPL vmlinux 0x00deb32e sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0x00df9837 ioasid_register_allocator +EXPORT_SYMBOL_GPL vmlinux 0x00ee0527 dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0x00f34f94 blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x00f97073 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x0109d329 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x01235248 fscrypt_parse_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x012e730e apei_exec_noop +EXPORT_SYMBOL_GPL vmlinux 0x013ae908 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x013bdb8d devm_nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x014971d8 usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x0153856a rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x01755db7 irq_get_default_host +EXPORT_SYMBOL_GPL vmlinux 0x0179ee90 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x01848a8e local_apic_timer_c2_ok +EXPORT_SYMBOL_GPL vmlinux 0x01866a57 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x018c6410 evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x01a0cb78 property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0x01a1c556 bpfilter_umh_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x01a51808 sata_lpm_ignore_phy_events +EXPORT_SYMBOL_GPL vmlinux 0x01b5257e irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0x01c070d6 debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x01c12c32 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x01dafaf4 sock_map_destroy +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01e31f90 md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x01e33af5 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x01ee5532 smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x01f67563 cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0x01f683a9 regulator_get_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x01fcfe59 nf_ct_untimeout +EXPORT_SYMBOL_GPL vmlinux 0x0207a6c6 reset_control_bulk_acquire +EXPORT_SYMBOL_GPL vmlinux 0x021a0df1 dm_hold +EXPORT_SYMBOL_GPL vmlinux 0x021b03f1 nvme_cancel_admin_tagset +EXPORT_SYMBOL_GPL vmlinux 0x022759ea usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x0229f2fc ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x02495b8f gnttab_alloc_grant_reference_seq +EXPORT_SYMBOL_GPL vmlinux 0x024d13dd request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0x024ed031 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x026d09c9 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x026f50ba ftrace_free_filter +EXPORT_SYMBOL_GPL vmlinux 0x0274c3fb bdev_discard_alignment +EXPORT_SYMBOL_GPL vmlinux 0x0282126b regulator_get_error_flags +EXPORT_SYMBOL_GPL vmlinux 0x02878d7f iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0x028cba04 fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0x02931db2 device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x02a3e72f unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x02ab85d8 gen10g_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x02bc15d5 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x02c5c501 power_supply_find_ocv2cap_table +EXPORT_SYMBOL_GPL vmlinux 0x02c93299 tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0x02f8e750 __SCK__tp_func_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x0302a104 mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0x0307c2cc mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0312b3b0 reset_controller_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0336c988 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x033832c7 usb_amd_hang_symptom_quirk +EXPORT_SYMBOL_GPL vmlinux 0x033fa1e5 fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0x03426386 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x036a6e31 event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0x036de383 perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x03753b65 __hwspin_unlock +EXPORT_SYMBOL_GPL vmlinux 0x037ee5f7 gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x039c7fe6 cpufreq_driver_resolve_freq +EXPORT_SYMBOL_GPL vmlinux 0x03a9fa75 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL vmlinux 0x03add7cb debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0x03bfedfd regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x03c12dfe cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x03c1c035 acrn_remove_intr_handler +EXPORT_SYMBOL_GPL vmlinux 0x03ce7234 sched_smt_present +EXPORT_SYMBOL_GPL vmlinux 0x03d20f20 extcon_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x03e2de87 pci_vpd_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0402cbbf preempt_notifier_inc +EXPORT_SYMBOL_GPL vmlinux 0x040d11a4 devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0x0424517b device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x045ccaeb regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0465a073 regmap_reg_in_ranges +EXPORT_SYMBOL_GPL vmlinux 0x04713e47 clk_register_composite +EXPORT_SYMBOL_GPL vmlinux 0x0478a338 power_supply_get_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x047b4104 lwtunnel_get_encap_size +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x048d446e devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0x049883c0 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x049e5156 gnttab_try_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x04a190c8 crypto_stats_rng_seed +EXPORT_SYMBOL_GPL vmlinux 0x04b53383 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x04bbfce0 fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0x04bf0092 io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x04c41c60 devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04c8aebf console_verbose +EXPORT_SYMBOL_GPL vmlinux 0x04da2f20 i2c_acpi_new_device_by_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x04fba3b6 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x050eecbe handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0x051a0bc1 stack_depot_fetch +EXPORT_SYMBOL_GPL vmlinux 0x052b4013 register_vmcore_cb +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x053339c9 led_blink_set +EXPORT_SYMBOL_GPL vmlinux 0x05493988 dev_pm_opp_put_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x0549e238 dev_pm_opp_find_level_ceil +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x0557dcf2 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x05617260 gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0x05691349 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x057fc3e0 user_update +EXPORT_SYMBOL_GPL vmlinux 0x05806b1b rio_add_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x05883efb __traceiter_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x058dd63c ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x058f9366 apei_exec_collect_resources +EXPORT_SYMBOL_GPL vmlinux 0x0599a750 mctrl_gpio_init +EXPORT_SYMBOL_GPL vmlinux 0x05aeea71 dev_pm_opp_find_level_exact +EXPORT_SYMBOL_GPL vmlinux 0x05af5c8a l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0x05e1bd4d ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x05e9f847 gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0x05f0135f dax_iomap_rw +EXPORT_SYMBOL_GPL vmlinux 0x05f13aa9 pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0x0600d79c serial8250_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x061336ae blocking_notifier_chain_register_unique_prio +EXPORT_SYMBOL_GPL vmlinux 0x0619218e rio_mport_chk_dev_access +EXPORT_SYMBOL_GPL vmlinux 0x061a252f tcf_dev_queue_xmit +EXPORT_SYMBOL_GPL vmlinux 0x06207950 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL vmlinux 0x0626abc7 crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0x0626da5f od_unregister_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x0651f859 pinconf_generic_dump_config +EXPORT_SYMBOL_GPL vmlinux 0x06839fc1 nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL vmlinux 0x068481ab skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x06ad2fb7 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x06b1f83c blk_mark_disk_dead +EXPORT_SYMBOL_GPL vmlinux 0x06b717e0 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x06bcb5fc nvme_stop_admin_queue +EXPORT_SYMBOL_GPL vmlinux 0x06bd1c64 devm_acpi_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0x06c62d6e dev_xdp_prog_count +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06d43f44 devm_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x06e63750 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x06f5d8a9 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x071de0ed balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x07202a01 devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x072c2ab5 devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x074005cd nf_ct_l4proto_find +EXPORT_SYMBOL_GPL vmlinux 0x07432d41 usb_acpi_port_lpm_incapable +EXPORT_SYMBOL_GPL vmlinux 0x07483e13 cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0x074f98db synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x0756a31c register_platform_power_off +EXPORT_SYMBOL_GPL vmlinux 0x076356e7 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x0765d8c0 pm_wakeup_ws_event +EXPORT_SYMBOL_GPL vmlinux 0x0772303e regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x07860ff8 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x078752da acpi_spi_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07b64d81 hyperv_stop_tsc_emulation +EXPORT_SYMBOL_GPL vmlinux 0x07be6905 net_inc_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x07c7242c xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0x07d15d28 nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL vmlinux 0x07d4c4d7 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x07d77ac1 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x07df8f1a sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x07dfcd4b devfreq_event_get_edev_count +EXPORT_SYMBOL_GPL vmlinux 0x07e896f2 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x07f19550 regulator_set_suspend_voltage +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x08139249 mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0x081b2e25 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x0826bc5b blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x082778bd phy_set_mode_ext +EXPORT_SYMBOL_GPL vmlinux 0x082b82f9 poll_state_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x083ff0dc __clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x084ad954 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x084ef3b0 mptcp_token_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x086745d0 ima_inode_hash +EXPORT_SYMBOL_GPL vmlinux 0x086e792e pm_clk_destroy +EXPORT_SYMBOL_GPL vmlinux 0x087f5dc5 wm831x_of_match +EXPORT_SYMBOL_GPL vmlinux 0x0883df2f crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x08c78cf7 offline_and_remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x08c9a1a6 ata_platform_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x08d6b514 __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x08d84e2a ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0x0907d14d blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x09108742 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x092481eb platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0x0925493f clear_page_orig +EXPORT_SYMBOL_GPL vmlinux 0x09337cd0 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x093786cf synth_event_add_field_str +EXPORT_SYMBOL_GPL vmlinux 0x0940a6ae netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0x094ee0dc sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x095bd188 __dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x096a7e6f x86_spec_ctrl_base +EXPORT_SYMBOL_GPL vmlinux 0x09714841 __SCK__tp_func_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x097a11ea __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x09812d9a power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x0984734c nvme_delete_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x0986d078 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x0993dced cpufreq_driver_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x09a52399 __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x09af16e9 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09c01a9d debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x09c21dc6 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x09c8ab8d dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0x09cdb517 kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0x09d831dc pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0x09da22bc ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0x09ea0a69 i2c_dw_adjust_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x09f2a5d8 kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0x09faaaf3 pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x0a0c7977 irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0x0a1f4af2 vfio_pci_core_finish_enable +EXPORT_SYMBOL_GPL vmlinux 0x0a24428b dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0x0a288d7c fw_devlink_purge_absent_suppliers +EXPORT_SYMBOL_GPL vmlinux 0x0a47553f tdx_kvm_hypercall +EXPORT_SYMBOL_GPL vmlinux 0x0a502c98 dmar_platform_optin +EXPORT_SYMBOL_GPL vmlinux 0x0a52c511 hv_query_ext_cap +EXPORT_SYMBOL_GPL vmlinux 0x0a5fceca gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x0a6b9bf6 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a6f5745 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x0a7665ce platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0x0a76b097 edac_pci_handle_npe +EXPORT_SYMBOL_GPL vmlinux 0x0a7a7bf8 nf_ct_kill_acct +EXPORT_SYMBOL_GPL vmlinux 0x0a8d5ba1 fixup_user_fault +EXPORT_SYMBOL_GPL vmlinux 0x0a95beb9 gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x0a9bf72f mmc_send_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0x0aa49f14 report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0x0ab49c52 pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x0abdc439 cc_platform_has +EXPORT_SYMBOL_GPL vmlinux 0x0ac19079 kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x0ac671dd usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x0acd7af9 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x0ad137d3 lpit_read_residency_count_address +EXPORT_SYMBOL_GPL vmlinux 0x0ae0bfe2 adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x0af12232 vp_modern_map_vq_notify +EXPORT_SYMBOL_GPL vmlinux 0x0af40724 iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b15ba7b __SCK__tp_func_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x0b24b814 devm_bitmap_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0b2db2d5 remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x0b39de12 ptp_parse_header +EXPORT_SYMBOL_GPL vmlinux 0x0b40df76 __mmc_poll_for_busy +EXPORT_SYMBOL_GPL vmlinux 0x0b52e502 apei_resources_add +EXPORT_SYMBOL_GPL vmlinux 0x0b5a64c6 finish_rcuwait +EXPORT_SYMBOL_GPL vmlinux 0x0b5ec7dd clk_hw_register_composite +EXPORT_SYMBOL_GPL vmlinux 0x0b6a8c28 genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL vmlinux 0x0b81f973 fwnode_graph_get_remote_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x0b832677 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0b86850e sched_setattr_nocheck +EXPORT_SYMBOL_GPL vmlinux 0x0b915027 icc_link_create +EXPORT_SYMBOL_GPL vmlinux 0x0ba75e3b md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x0bb0570f blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0x0bb5fd01 nfs_ssc_client_tbl +EXPORT_SYMBOL_GPL vmlinux 0x0bba5a1b regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x0bbdc9b2 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x0bbeaeba uv_bios_enum_ports +EXPORT_SYMBOL_GPL vmlinux 0x0bbf69b3 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x0bc00f80 nf_nat_helper_try_module_get +EXPORT_SYMBOL_GPL vmlinux 0x0bc54128 regulator_desc_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x0bcde82c pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0x0be481d1 mptcp_diag_fill_info +EXPORT_SYMBOL_GPL vmlinux 0x0bea7c12 housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c066340 dm_audit_log_bio +EXPORT_SYMBOL_GPL vmlinux 0x0c06a4db dev_pm_opp_remove_all_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x0c107120 kill_device +EXPORT_SYMBOL_GPL vmlinux 0x0c137d3b crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0x0c2c5145 mbox_send_message +EXPORT_SYMBOL_GPL vmlinux 0x0c2c5802 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x0c403b4e regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x0c4672f7 pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x0c580bca udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0x0c73bf2b platform_get_mem_or_io +EXPORT_SYMBOL_GPL vmlinux 0x0c7d7267 nfs_ssc_register +EXPORT_SYMBOL_GPL vmlinux 0x0c805ea3 pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0x0c805f93 clflush_cache_range +EXPORT_SYMBOL_GPL vmlinux 0x0c88c1c3 pci_vpd_find_id_string +EXPORT_SYMBOL_GPL vmlinux 0x0c8de91e pm_genpd_init +EXPORT_SYMBOL_GPL vmlinux 0x0cb7836f cpufreq_dbs_governor_exit +EXPORT_SYMBOL_GPL vmlinux 0x0cbe3ee2 software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0cc78e97 devm_fwnode_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x0cc9d36c iommu_group_claim_dma_owner +EXPORT_SYMBOL_GPL vmlinux 0x0cdf33c8 skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0x0ce0dbbd addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0x0ce3d2ab crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x0cfe59cb hyperv_fill_flush_guest_mapping_list +EXPORT_SYMBOL_GPL vmlinux 0x0d0e9b58 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x0d186981 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x0d22788a fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x0d2c3ba7 gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0x0d3a89db bind_interdomain_evtchn_to_irqhandler_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x0d3d816f __SCK__tp_func_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x0d459213 work_on_cpu_safe +EXPORT_SYMBOL_GPL vmlinux 0x0d4961de nf_log_buf_open +EXPORT_SYMBOL_GPL vmlinux 0x0d4e3f8c iopf_queue_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0d5cecc6 ima_measure_critical_data +EXPORT_SYMBOL_GPL vmlinux 0x0d602997 l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0d69ae4b iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0x0d89f576 devm_hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0d8d722d devm_regulator_irq_helper +EXPORT_SYMBOL_GPL vmlinux 0x0d924bb3 __traceiter_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x0d96bbe2 __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x0d9a115d pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0dac8d2d ohci_restart +EXPORT_SYMBOL_GPL vmlinux 0x0dbe85b4 efivar_entry_set_get_size +EXPORT_SYMBOL_GPL vmlinux 0x0dc80e21 gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x0dcb3ee8 divider_recalc_rate +EXPORT_SYMBOL_GPL vmlinux 0x0dcd3be1 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x0ddadea2 __SCT__tp_func_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0df2b839 pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0x0e007edf xen_evtchn_nr_channels +EXPORT_SYMBOL_GPL vmlinux 0x0e0785a5 serial8250_get_port +EXPORT_SYMBOL_GPL vmlinux 0x0e0c6a7d crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0x0e1194d5 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x0e13cb4d apei_resources_release +EXPORT_SYMBOL_GPL vmlinux 0x0e14bd07 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x0e1fc8ef __SCT__tp_func_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x0e267523 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x0e2d2b65 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x0e3ffdba gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0x0e4100ba dev_pm_genpd_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x0e4ef0bd __traceiter_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0e5cc9d7 xdp_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x0e65f5e1 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x0e6b79af static_key_disable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x0e6dc5f2 fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0x0e7fe20b sdio_signal_irq +EXPORT_SYMBOL_GPL vmlinux 0x0e872a1e crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x0ea5cbce xen_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x0ebb03a4 devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0ec096b0 hv_read_reference_counter +EXPORT_SYMBOL_GPL vmlinux 0x0ece6910 register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x0ed2f227 i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL vmlinux 0x0eeae3e8 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x0efc1720 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x0f062d0c _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x0f06c5ae ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x0f0b21fe pm_trace_rtc_abused +EXPORT_SYMBOL_GPL vmlinux 0x0f153b8f ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f2cb823 add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0x0f2d7d87 mce_unregister_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0x0f355dc6 gpiod_enable_hw_timestamp_ns +EXPORT_SYMBOL_GPL vmlinux 0x0f3ab77e genphy_c45_read_link +EXPORT_SYMBOL_GPL vmlinux 0x0f41bc13 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x0f4b6dbd tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x0f5e9ddd fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x0f668245 vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0x0f71e5c5 rio_request_mport_dma +EXPORT_SYMBOL_GPL vmlinux 0x0f72ada1 acpi_dev_resource_io +EXPORT_SYMBOL_GPL vmlinux 0x0f7ca236 dmi_memdev_name +EXPORT_SYMBOL_GPL vmlinux 0x0f81f412 extcon_get_property_capability +EXPORT_SYMBOL_GPL vmlinux 0x0f8a515c ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0x0f9fc04e uv_get_archtype +EXPORT_SYMBOL_GPL vmlinux 0x0fa257fc trace_remove_event_call +EXPORT_SYMBOL_GPL vmlinux 0x0fbb7344 memremap_compat_align +EXPORT_SYMBOL_GPL vmlinux 0x0fbc0c0e xas_pause +EXPORT_SYMBOL_GPL vmlinux 0x0fc37562 amd_smn_read +EXPORT_SYMBOL_GPL vmlinux 0x0fcc1969 copy_from_user_nmi +EXPORT_SYMBOL_GPL vmlinux 0x0fd4610e kmem_dump_obj +EXPORT_SYMBOL_GPL vmlinux 0x0ff95371 device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0x0ff99486 __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x0ffdfd58 dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x101120c4 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x10131cf9 regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x1013f65b fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x101e4e0b rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x101fc011 gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x102cba81 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x10343fd0 lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0x1038b96f adxl_get_component_names +EXPORT_SYMBOL_GPL vmlinux 0x10540356 devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0x105cfb6b dev_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0x1088ea76 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0x108a0acd bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x10938092 debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0x109728d8 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x109aa8d8 __SCK__tp_func_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x109dc7df __SCK__tp_func_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x10ad7ece usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x10aef2b6 rt_mutex_lock_killable +EXPORT_SYMBOL_GPL vmlinux 0x10bf14d8 tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0x10d9f317 stack_depot_init +EXPORT_SYMBOL_GPL vmlinux 0x10ddd0cb __SCT__perf_lopwr_cb +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x10ecd454 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x10f5f60b phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x110106c1 cper_severity_to_aer +EXPORT_SYMBOL_GPL vmlinux 0x111de90e regmap_noinc_write +EXPORT_SYMBOL_GPL vmlinux 0x1135b3ec srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x1140593f usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x115faf91 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x116180b5 hv_current_partition_id +EXPORT_SYMBOL_GPL vmlinux 0x11673dd8 regulator_set_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x1167a0e8 clk_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x1170292d component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0x1171f6f8 gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x1180c77d clk_register_divider_table +EXPORT_SYMBOL_GPL vmlinux 0x118e52bd synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0x1190a7c1 gov_update_cpu_data +EXPORT_SYMBOL_GPL vmlinux 0x1195fd7d __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x11a5665a phy_start_machine +EXPORT_SYMBOL_GPL vmlinux 0x11cf963b crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0x11d7de2d usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x11da31fb x86_vector_domain +EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x11e06ee9 badrange_init +EXPORT_SYMBOL_GPL vmlinux 0x11e08f96 trace_seq_putmem_hex +EXPORT_SYMBOL_GPL vmlinux 0x11f43d0f __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x11f92364 spi_slave_abort +EXPORT_SYMBOL_GPL vmlinux 0x120139bc serial8250_do_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x12050068 dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1206efc6 __SCK__tp_func_block_split +EXPORT_SYMBOL_GPL vmlinux 0x1211e362 vfio_pci_register_dev_region +EXPORT_SYMBOL_GPL vmlinux 0x12189359 __SCT__tp_func_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x121a3eef badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0x121c56f9 dma_get_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x121d958a unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1234e483 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x1234ffa1 cper_estatus_check_header +EXPORT_SYMBOL_GPL vmlinux 0x12362c67 thermal_zone_get_zone_by_name +EXPORT_SYMBOL_GPL vmlinux 0x124b0d46 fscrypt_mergeable_bio_bh +EXPORT_SYMBOL_GPL vmlinux 0x124d7ab1 __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x1255a677 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x125b52ff phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x125c1eea da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x1270917e usb_hcd_setup_local_mem +EXPORT_SYMBOL_GPL vmlinux 0x127a96bd led_classdev_notify_brightness_hw_changed +EXPORT_SYMBOL_GPL vmlinux 0x127c109b __SCT__tp_func_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x1283ede5 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x129200de devm_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x129334ae sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0x12b48c8e devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x12c43bc0 iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0x12d8c987 create_signature +EXPORT_SYMBOL_GPL vmlinux 0x12db3a8b kvm_clock +EXPORT_SYMBOL_GPL vmlinux 0x12dbb02b register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x12e285ec is_uv_system +EXPORT_SYMBOL_GPL vmlinux 0x12ee1173 memory_group_unregister +EXPORT_SYMBOL_GPL vmlinux 0x12f17d9f regulator_list_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x12f498c6 __traceiter_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x12f5e536 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x13090724 add_vmfork_randomness +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x1343f459 synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0x136209db power_supply_reg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13735e97 mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0x138aff76 gnttab_init +EXPORT_SYMBOL_GPL vmlinux 0x138b97f9 vfio_pci_core_uninit_device +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x13911e03 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x13ad017c fpu_swap_kvm_fpstate +EXPORT_SYMBOL_GPL vmlinux 0x13ae8546 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x13b165f2 gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x13b6b4f0 regmap_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x13c03d35 thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x13ce87e8 asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0x13eb2c50 pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x13ebf204 __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x13f6b7d2 icc_node_add +EXPORT_SYMBOL_GPL vmlinux 0x13f7b1e3 pci_msi_prepare +EXPORT_SYMBOL_GPL vmlinux 0x13fab921 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x14011538 usb_phy_roothub_resume +EXPORT_SYMBOL_GPL vmlinux 0x14034a33 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x1403ad09 cpufreq_add_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x1404907f pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0x14094cf0 __tracepoint_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x141595da pfn_to_online_page +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x1429bbc4 power_supply_property_is_writeable +EXPORT_SYMBOL_GPL vmlinux 0x143513d3 pci_find_dvsec_capability +EXPORT_SYMBOL_GPL vmlinux 0x1441bc7b devm_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0x144dd558 __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x1467c0ef dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x146cc88f bpf_master_redirect_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x1475d603 xstate_get_guest_group_perm +EXPORT_SYMBOL_GPL vmlinux 0x147ca769 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x1487cbc7 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x14947266 __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0x14985146 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x149b584e usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x14aece8b relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x14ba6708 __static_call_update +EXPORT_SYMBOL_GPL vmlinux 0x14cc92ef hwmon_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x14ec4fdb evtchn_put +EXPORT_SYMBOL_GPL vmlinux 0x1501d5f5 regmap_get_device +EXPORT_SYMBOL_GPL vmlinux 0x15021b4a xa_delete_node +EXPORT_SYMBOL_GPL vmlinux 0x1505d3ac inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0x150a92e0 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x150da96f noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0x151ac44b __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0x152e35a5 input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x154ceba2 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x1553a0bf spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0x1557119e __traceiter_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x155b2117 iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x156758cb dw_pcie_ep_raise_legacy_irq +EXPORT_SYMBOL_GPL vmlinux 0x156e8afe __SCT__tp_func_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x15886f48 hte_disable_ts +EXPORT_SYMBOL_GPL vmlinux 0x1589dba3 nvmem_cell_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x15985444 bio_trim +EXPORT_SYMBOL_GPL vmlinux 0x159d5a81 devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0x15a71dad dma_resv_iter_first +EXPORT_SYMBOL_GPL vmlinux 0x15ade1cc filter_irq_stacks +EXPORT_SYMBOL_GPL vmlinux 0x15bae888 lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x15ea2648 hwpoison_filter_flags_mask +EXPORT_SYMBOL_GPL vmlinux 0x16053975 dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x16164119 input_class +EXPORT_SYMBOL_GPL vmlinux 0x161aed40 devlink_port_attrs_set +EXPORT_SYMBOL_GPL vmlinux 0x161ce65c __traceiter_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x16230c1b pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x162b2b85 irq_gc_mask_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x163189e1 of_pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0x16422a6e xdp_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x16516798 osc_pc_lpi_support_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x165adc53 irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x166db1b5 sched_clock_idle_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x167928e0 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x167d430d devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x167d7113 acpi_bus_register_early_device +EXPORT_SYMBOL_GPL vmlinux 0x16829f1b skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x1685da91 xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x1687ec20 tty_get_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x168e5d66 ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0x1690b503 usb_role_switch_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x1693b953 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x1693ca5a tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x16a1e3f8 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x16b9eb4a iommu_setup_dma_ops +EXPORT_SYMBOL_GPL vmlinux 0x16c31a4d wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x16c81a9a devm_led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x16d7e39d __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16dfbf36 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x16eadffc usb_device_match_id +EXPORT_SYMBOL_GPL vmlinux 0x16f15139 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x16f82bc4 dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0x170c27e3 pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x17225744 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x17232fef gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x1741ddee trace_seq_puts +EXPORT_SYMBOL_GPL vmlinux 0x174b1e2a iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0x174c3d01 __SCK__tp_func_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x174c6274 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x1750fd30 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x175f460b nf_nat_helper_put +EXPORT_SYMBOL_GPL vmlinux 0x176031a7 devlink_fmsg_string_put +EXPORT_SYMBOL_GPL vmlinux 0x17614bf3 apei_resources_sub +EXPORT_SYMBOL_GPL vmlinux 0x1765b9c1 split_page +EXPORT_SYMBOL_GPL vmlinux 0x176adf76 xenmem_reservation_decrease +EXPORT_SYMBOL_GPL vmlinux 0x17752ea4 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x177e7ce3 sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x177ecf58 pci_iomap_wc +EXPORT_SYMBOL_GPL vmlinux 0x17829f86 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1785222a crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0x178b970e ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x1790d6e8 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x179522c0 devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0x179aa22e skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x179bf9de pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x17a77bd3 devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0x17a7eb72 __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x17add64b gdt_page +EXPORT_SYMBOL_GPL vmlinux 0x17beab32 pm_clk_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x17c46735 acpi_dev_get_first_consumer_dev +EXPORT_SYMBOL_GPL vmlinux 0x17cc29b5 cpufreq_cpu_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x17e01f11 erst_clear +EXPORT_SYMBOL_GPL vmlinux 0x17fc1edf dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x1817e655 __SCK__tp_func_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x182656cc platform_has +EXPORT_SYMBOL_GPL vmlinux 0x1829294d gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0x183762c0 __xdp_build_skb_from_frame +EXPORT_SYMBOL_GPL vmlinux 0x1838b455 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x18428692 __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x1843d7d4 vp_legacy_config_vector +EXPORT_SYMBOL_GPL vmlinux 0x1845961c scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x1856d933 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x18578b93 gnttab_page_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x18582826 amd_pmu_disable_virt +EXPORT_SYMBOL_GPL vmlinux 0x18615d35 efivar_supports_writes +EXPORT_SYMBOL_GPL vmlinux 0x186fcbc0 ehci_handshake +EXPORT_SYMBOL_GPL vmlinux 0x188ef8c2 phy_10gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x18964127 sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0x18a216c6 ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0x18b2790f uv_bios_obj_count +EXPORT_SYMBOL_GPL vmlinux 0x18c1f1af md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0x18d7a6a0 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x18e9392d folio_wait_writeback +EXPORT_SYMBOL_GPL vmlinux 0x18f313c1 thermal_zone_device_disable +EXPORT_SYMBOL_GPL vmlinux 0x18f42634 devm_clk_get_enabled +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x190919d0 perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0x1916085f crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x19170a99 blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x192018d4 switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x1934527a crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x193dfdf6 klp_get_prev_state +EXPORT_SYMBOL_GPL vmlinux 0x194332ab xfrm_unregister_translator +EXPORT_SYMBOL_GPL vmlinux 0x1944e39b raw_v6_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x196614ce hw_breakpoint_restore +EXPORT_SYMBOL_GPL vmlinux 0x196a79c2 __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x197e5bab __devm_clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x1987be54 ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x1996f881 dev_pm_qos_expose_flags +EXPORT_SYMBOL_GPL vmlinux 0x199c4833 __irq_apply_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19b206eb fwnode_connection_find_matches +EXPORT_SYMBOL_GPL vmlinux 0x19b3651d wwan_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x19c52c94 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x19c5b90e iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x19ce6db3 kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0x19e0ae50 __SCT__tp_func_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x19e81304 btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19edd064 blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a146ec3 usb_ep_type_string +EXPORT_SYMBOL_GPL vmlinux 0x1a1fa6de wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0x1a2e2e7c regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x1a36acd5 pstore_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1a51b676 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x1a51bc67 pinctrl_select_state +EXPORT_SYMBOL_GPL vmlinux 0x1a535ef2 __traceiter_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x1a5bcab3 devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x1a5e7200 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a7b95d8 nvdimm_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x1a82a0f4 irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0x1a9576e8 page_cache_sync_ra +EXPORT_SYMBOL_GPL vmlinux 0x1a982355 dev_pm_opp_get_level +EXPORT_SYMBOL_GPL vmlinux 0x1ab8f0fe pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x1ac493d5 thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x1ac8deab pinctrl_pm_select_sleep_state +EXPORT_SYMBOL_GPL vmlinux 0x1acd18c8 cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x1ad32185 follow_pte +EXPORT_SYMBOL_GPL vmlinux 0x1ad64646 fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x1ad7db8d nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0x1ada297a __traceiter_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1af76c62 xenbus_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x1aff3d55 mce_register_injector_chain +EXPORT_SYMBOL_GPL vmlinux 0x1b04f600 dev_pm_opp_set_opp +EXPORT_SYMBOL_GPL vmlinux 0x1b081a0b transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x1b15e546 __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x1b1d9842 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x1b23c262 filemap_range_has_writeback +EXPORT_SYMBOL_GPL vmlinux 0x1b297b1e sbitmap_queue_recalculate_wake_batch +EXPORT_SYMBOL_GPL vmlinux 0x1b3ecbb2 dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x1b3ff8fa devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0x1b48f56a eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x1b4e5ddb perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0x1b50047c mmc_regulator_set_ocr +EXPORT_SYMBOL_GPL vmlinux 0x1b5059ce ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x1b5292ab ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x1b54cf3b rio_mport_class +EXPORT_SYMBOL_GPL vmlinux 0x1b5f4377 trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0x1b601253 irq_gc_unmask_enable_reg +EXPORT_SYMBOL_GPL vmlinux 0x1b609bc5 vfio_assign_device_set +EXPORT_SYMBOL_GPL vmlinux 0x1b6fee42 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x1b794dc7 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x1b8822d8 pinctrl_gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x1b92e41d inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x1ba237b0 default_cpu_present_to_apicid +EXPORT_SYMBOL_GPL vmlinux 0x1bac7d94 regulator_bulk_set_supply_names +EXPORT_SYMBOL_GPL vmlinux 0x1bae3a11 dev_pm_genpd_set_next_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x1bc5eebe pinctrl_gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x1bc64087 xas_split +EXPORT_SYMBOL_GPL vmlinux 0x1bc655be serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1bced93f pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x1bcfcf2f ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1bd2d003 virtio_check_mem_acc_cb +EXPORT_SYMBOL_GPL vmlinux 0x1be1892e nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0x1bee4974 sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x1bee63e4 skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x1bfbf6f3 __SCK__tp_func_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x1c03cca1 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x1c03d026 platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0x1c10abe4 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x1c26a78a usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x1c35aa2d spi_mem_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1c49c1f7 get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0x1c5541bd cpufreq_boost_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c5ff742 clk_get_phase +EXPORT_SYMBOL_GPL vmlinux 0x1c65a2d3 class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x1c6ddc38 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x1c762a5b firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0x1c764526 __SCT__tp_func_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1c78ac3b devl_assert_locked +EXPORT_SYMBOL_GPL vmlinux 0x1c7caf87 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x1c7ec7a3 tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c816272 devm_of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c9358df of_hte_req_count +EXPORT_SYMBOL_GPL vmlinux 0x1c9f6af3 devm_intel_scu_ipc_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x1ca1042b blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0x1ca249f4 ext_pi_type1_crc64 +EXPORT_SYMBOL_GPL vmlinux 0x1ca3aa97 alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0x1cac367a ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x1cb288b2 crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x1cb7c983 apei_exec_read_register_value +EXPORT_SYMBOL_GPL vmlinux 0x1cb9a1c8 xenbus_gather +EXPORT_SYMBOL_GPL vmlinux 0x1cbd92b0 cpu_mitigations_off +EXPORT_SYMBOL_GPL vmlinux 0x1cc19fda crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0x1ccc0447 debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x1cd6914a edac_pci_del_device +EXPORT_SYMBOL_GPL vmlinux 0x1cd9e0cc usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x1cdf76e9 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x1cecacbe fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x1cfa44f6 rdev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x1cfe4101 clkdev_hw_create +EXPORT_SYMBOL_GPL vmlinux 0x1cff8eab sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0x1d1ed1ac dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d2fe020 usb_hub_release_port +EXPORT_SYMBOL_GPL vmlinux 0x1d32cea1 acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0x1d357142 __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0x1d382b1a rio_map_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1d82b5a4 regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x1d8f6397 __traceiter_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0x1d94a218 dmi_memdev_handle +EXPORT_SYMBOL_GPL vmlinux 0x1da70844 clk_hw_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x1da7a241 __traceiter_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x1da95acb fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0x1daf4d2f proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0x1db7fcbf usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x1dc69255 devm_pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1dd08517 usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x1ddabd3a fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x1de94162 tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x1df00d4b iopf_queue_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x1df84bad devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x1dfa5dbd mpi_invm +EXPORT_SYMBOL_GPL vmlinux 0x1e0670c6 reset_control_release +EXPORT_SYMBOL_GPL vmlinux 0x1e0cc3d9 edac_mc_del_mc +EXPORT_SYMBOL_GPL vmlinux 0x1e1fea4b user_describe +EXPORT_SYMBOL_GPL vmlinux 0x1e2a309c aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0x1e333e47 devm_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x1e3bc77c xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0x1e424d61 user_preparse +EXPORT_SYMBOL_GPL vmlinux 0x1e4e98c0 acpi_dev_filter_resource_type +EXPORT_SYMBOL_GPL vmlinux 0x1e53f827 stack_depot_print +EXPORT_SYMBOL_GPL vmlinux 0x1e5a5f22 sn_partition_id +EXPORT_SYMBOL_GPL vmlinux 0x1e6515ed iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x1e6aa92f dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e868cca ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x1e8fac8e wireless_nlevent_flush +EXPORT_SYMBOL_GPL vmlinux 0x1e91008e efivar_entry_set +EXPORT_SYMBOL_GPL vmlinux 0x1e912415 uv_bios_get_heapsize +EXPORT_SYMBOL_GPL vmlinux 0x1e96ec76 extcon_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1e9bc719 freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x1e9c590a usb_find_common_endpoints_reverse +EXPORT_SYMBOL_GPL vmlinux 0x1eaa68f5 fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x1eb0ba2d gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebee292 xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ec717b2 fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0x1ed4d2eb percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x1ee726a4 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x1eec750b dev_err_probe +EXPORT_SYMBOL_GPL vmlinux 0x1ef20793 stop_core_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x1ef4a65d ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x1eff19c6 dev_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0x1f0a2e64 rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x1f0fd458 thermal_zone_get_slope +EXPORT_SYMBOL_GPL vmlinux 0x1f1ade5b extcon_get_extcon_dev +EXPORT_SYMBOL_GPL vmlinux 0x1f1ba487 crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0x1f24ec9b ata_std_sched_eh +EXPORT_SYMBOL_GPL vmlinux 0x1f275694 dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0x1f356b49 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x1f38a4f6 mpi_set_highbit +EXPORT_SYMBOL_GPL vmlinux 0x1f3bfece input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x1f449588 mctrl_gpio_disable_ms +EXPORT_SYMBOL_GPL vmlinux 0x1f4ca837 serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f5700cf regulator_is_equal +EXPORT_SYMBOL_GPL vmlinux 0x1f5e1acf clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x1f5ece97 cond_wakeup_cpu0 +EXPORT_SYMBOL_GPL vmlinux 0x1f67aee5 dmaengine_desc_attach_metadata +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f88eddd class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x1f8e0994 of_devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x1f8e6e3e tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1f8ee412 iommu_sva_find +EXPORT_SYMBOL_GPL vmlinux 0x1f90ae00 fuse_conn_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1f911925 ata_sas_port_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x1faf356e fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0x1fb8d3bf acpi_storage_d3 +EXPORT_SYMBOL_GPL vmlinux 0x1fb9a1e0 dax_writeback_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x1fe7100b rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x1fe7f34e ohci_hub_status_data +EXPORT_SYMBOL_GPL vmlinux 0x1ff955cb pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0x2009e400 devlink_info_board_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x200b37d2 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x20111a06 irq_domain_create_simple +EXPORT_SYMBOL_GPL vmlinux 0x201221b2 nvdimm_bus_register +EXPORT_SYMBOL_GPL vmlinux 0x20139fee nf_conntrack_free +EXPORT_SYMBOL_GPL vmlinux 0x202d4ed6 nvmem_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x2036a416 kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x204a73db usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x204f2c5c gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x204ff14d tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x20619b9b devlink_param_register +EXPORT_SYMBOL_GPL vmlinux 0x207ad5e4 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x207f1b65 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x208321c2 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x20899467 hv_stimer0_isr +EXPORT_SYMBOL_GPL vmlinux 0x20978fb9 idr_find +EXPORT_SYMBOL_GPL vmlinux 0x20982a6f pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x20af7abf sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0x20be26fb gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x20c22061 spi_mem_driver_register_with_owner +EXPORT_SYMBOL_GPL vmlinux 0x20f3f913 vfio_pci_core_read +EXPORT_SYMBOL_GPL vmlinux 0x20fc44ac serdev_acpi_get_uart_resource +EXPORT_SYMBOL_GPL vmlinux 0x2104422a devm_clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x2107572e ping_close +EXPORT_SYMBOL_GPL vmlinux 0x21125bc4 ehci_reset +EXPORT_SYMBOL_GPL vmlinux 0x2118fb42 rio_free_net +EXPORT_SYMBOL_GPL vmlinux 0x2125a429 set_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x2125b64b fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x2126da02 sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0x21386dc8 dev_pm_clear_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x215244dd tty_kopen_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x21526483 nvmem_del_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x2157d6be dev_pm_genpd_suspend +EXPORT_SYMBOL_GPL vmlinux 0x21599843 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x21609fcd usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x2162a247 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x2167a48e of_pwm_single_xlate +EXPORT_SYMBOL_GPL vmlinux 0x216ac3ff __percpu_init_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x216b5d0a uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x216bf830 sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x2176e42a hwpoison_filter_memcg +EXPORT_SYMBOL_GPL vmlinux 0x21820b98 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0x219caa11 swapcache_mapping +EXPORT_SYMBOL_GPL vmlinux 0x219caae9 i2c_acpi_waive_d0_probe +EXPORT_SYMBOL_GPL vmlinux 0x21a17652 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x21a563da clk_get_accuracy +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21b0e40f gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0x21b1d3da wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x21be8a3a nvme_disable_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21d0c27c ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x21e8a1e3 aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0x21fa342a io_uring_cmd_done +EXPORT_SYMBOL_GPL vmlinux 0x21fd7aa8 __SCK__tp_func_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x220c34bd irq_domain_create_legacy +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x221c3c82 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x221eab6d scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x222a04b1 fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0x223048ea acpi_subsys_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x2239b6db regmap_test_bits +EXPORT_SYMBOL_GPL vmlinux 0x2246865e rio_unmap_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x224772a3 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x2261d846 nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL vmlinux 0x226379de pm_clk_remove +EXPORT_SYMBOL_GPL vmlinux 0x226a9fd6 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x226b5e0f gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x226f9f75 clk_register_mux_table +EXPORT_SYMBOL_GPL vmlinux 0x2283da5b hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x2285cfb1 scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x228ee2f9 power_supply_put_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x2293fad7 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x22ab7517 devl_unlock +EXPORT_SYMBOL_GPL vmlinux 0x22ac4b58 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x22c04dff clk_register +EXPORT_SYMBOL_GPL vmlinux 0x22cb1900 acpi_subsys_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x22d152d8 gnttab_unmap_refs +EXPORT_SYMBOL_GPL vmlinux 0x22d60537 tcf_frag_xmit_count +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22ec5205 cpu_latency_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x22f31abb add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0x22f940bb vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x22fd08ba cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x2302ce99 clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x2311f393 da9052_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x2312786a posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x2319c061 xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0x23350a1a edac_pci_add_device +EXPORT_SYMBOL_GPL vmlinux 0x23412816 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x236ed8b3 icc_set_tag +EXPORT_SYMBOL_GPL vmlinux 0x2372f822 acpi_device_update_power +EXPORT_SYMBOL_GPL vmlinux 0x2376191d pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x2386c0ea __SCT__tp_func_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0x2396c7f0 clk_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x23b4e0d7 clear_page_rep +EXPORT_SYMBOL_GPL vmlinux 0x23c009f0 devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0x23e7ce03 pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0x23f15e88 dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x23f7ce10 regmap_get_reg_stride +EXPORT_SYMBOL_GPL vmlinux 0x23f90384 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x240afc0b dev_pm_opp_set_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x2410bca3 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL vmlinux 0x2410c338 x86_virt_spec_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x24191bf7 bind_interdomain_evtchn_to_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x241f5e04 dev_pm_disable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x2421097b mpi_const +EXPORT_SYMBOL_GPL vmlinux 0x242c51e6 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x243f1029 access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0x24413343 erst_read_record +EXPORT_SYMBOL_GPL vmlinux 0x244e84cf trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0x24545799 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x2464da17 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x24709b2f trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0x2470ea2c rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x2484e789 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x248bc867 raw_notifier_call_chain_robust +EXPORT_SYMBOL_GPL vmlinux 0x248e1473 kfree_strarray +EXPORT_SYMBOL_GPL vmlinux 0x24942353 pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0x249a6d95 phy_save_page +EXPORT_SYMBOL_GPL vmlinux 0x24a015e8 skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0x24a6649c rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x24a735c6 acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x24ad11db wakeup_sources_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24da988e nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24f39c39 reset_control_reset +EXPORT_SYMBOL_GPL vmlinux 0x24f63dcf ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x24fc50f4 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2506f563 pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0x250e85f1 xenbus_match +EXPORT_SYMBOL_GPL vmlinux 0x251134bb sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x251f23bf fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x25244ea2 nf_ct_netns_get +EXPORT_SYMBOL_GPL vmlinux 0x25301bc6 arch_wb_cache_pmem +EXPORT_SYMBOL_GPL vmlinux 0x25379e73 clk_set_min_rate +EXPORT_SYMBOL_GPL vmlinux 0x25631ce3 auxiliary_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2563262c perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x25796859 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x258198d6 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x2593e460 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x259955f0 is_swiotlb_active +EXPORT_SYMBOL_GPL vmlinux 0x25a41e56 dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0x25a9d633 of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x25bbfa9a security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x25c83f21 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x25d33bba pinctrl_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0x25d3747b bpf_offload_dev_netdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x25e2b43d fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0x25f02c87 xen_p2m_addr +EXPORT_SYMBOL_GPL vmlinux 0x25f6aec7 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x25f74b34 fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0x260df0be platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2616b7b9 ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0x26198aca device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x262a7063 xen_start_info +EXPORT_SYMBOL_GPL vmlinux 0x263a7333 __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x2645ec2a __traceiter_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x2647c005 bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0x264ac65d dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x265b6e29 hyperv_flush_guest_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x265bbef9 kexec_crash_loaded +EXPORT_SYMBOL_GPL vmlinux 0x266a4b08 tasklet_unlock +EXPORT_SYMBOL_GPL vmlinux 0x26779ebe devl_port_register +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x267f668c tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x2683ef22 serial8250_read_char +EXPORT_SYMBOL_GPL vmlinux 0x26a93eb2 verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0x26a95cc5 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26cda94f e820__mapped_raw_any +EXPORT_SYMBOL_GPL vmlinux 0x26d80137 tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0x26e7fce6 phy_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x26ed5a07 da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x26ed7ca7 i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL vmlinux 0x26f09560 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x26ff31e1 usb_phy_get_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x27164ddd tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2733ad4c clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x2733cf66 nf_ct_bridge_register +EXPORT_SYMBOL_GPL vmlinux 0x273aab74 xen_have_vector_callback +EXPORT_SYMBOL_GPL vmlinux 0x273aff5c __SCT__tp_func_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x273e1002 fpu_sync_guest_vmexit_xfd_state +EXPORT_SYMBOL_GPL vmlinux 0x27424648 __phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x274dd1a3 sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x2760ff52 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x2773c485 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x2794bf7e nvme_start_queues +EXPORT_SYMBOL_GPL vmlinux 0x27abc1a1 crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0x27bbd565 devm_phy_create +EXPORT_SYMBOL_GPL vmlinux 0x27e6a562 nvme_complete_rq +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x27fb93cf mmc_poll_for_busy +EXPORT_SYMBOL_GPL vmlinux 0x2817f7fd cppc_get_desired_perf +EXPORT_SYMBOL_GPL vmlinux 0x282cdabc usb_led_activity +EXPORT_SYMBOL_GPL vmlinux 0x282e370a do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0x28310bcd kasprintf_strarray +EXPORT_SYMBOL_GPL vmlinux 0x28327f5f perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x284b9e08 __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x284f58eb mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x2856ac4b get_dev_pagemap +EXPORT_SYMBOL_GPL vmlinux 0x2857beeb tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0x2857d93e tcp_sendmsg_locked +EXPORT_SYMBOL_GPL vmlinux 0x28642be0 power_supply_external_power_changed +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x286d9591 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x286dbc7e cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x287600d3 usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x2882d40e usb_role_switch_unregister +EXPORT_SYMBOL_GPL vmlinux 0x289232c2 nd_cmd_in_size +EXPORT_SYMBOL_GPL vmlinux 0x28975c86 clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL vmlinux 0x28a2a507 pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0x28aa6a67 call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x28ab4fb9 pinctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x28afbb08 cpu_latency_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x28b81014 skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0x28be0cef misc_cg_res_total_usage +EXPORT_SYMBOL_GPL vmlinux 0x28cdb0fd tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x28d86355 __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x28e64c64 xen_has_pv_and_legacy_disk_devices +EXPORT_SYMBOL_GPL vmlinux 0x28eff409 nf_conntrack_hash +EXPORT_SYMBOL_GPL vmlinux 0x28f6b784 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x2906f790 __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x290977a6 device_property_present +EXPORT_SYMBOL_GPL vmlinux 0x290cb72c fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x291876f3 mpi_ec_get_affine +EXPORT_SYMBOL_GPL vmlinux 0x291a21e6 __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x29220c7f vfio_pci_core_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x2928149b sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x292e25b3 dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x2931662e sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x29322409 uprobe_register_refctr +EXPORT_SYMBOL_GPL vmlinux 0x29366b61 register_ftrace_direct +EXPORT_SYMBOL_GPL vmlinux 0x2936e254 __devm_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x293a8b15 __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x293c877f regulator_set_pull_down_regmap +EXPORT_SYMBOL_GPL vmlinux 0x2949c4f8 fwnode_get_phy_node +EXPORT_SYMBOL_GPL vmlinux 0x2951a872 trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x2969ff59 crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0x296ed0eb ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x2975b7d8 blk_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0x2977b5d4 devm_led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x298ca7e7 pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0x29945707 component_del +EXPORT_SYMBOL_GPL vmlinux 0x2997921c lp8788_read_byte +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x2a0f1436 __phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x2a1216d3 genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x2a15602e devm_rtc_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x2a15dd0e gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0x2a2a063a iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x2a2aea17 clk_fixed_rate_ops +EXPORT_SYMBOL_GPL vmlinux 0x2a3585d7 genphy_c45_loopback +EXPORT_SYMBOL_GPL vmlinux 0x2a4cfda4 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x2a4e4531 __SCK__tp_func_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x2a5c1777 ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x2a5ea9ef rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2a5ece13 irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a631a21 perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x2a76ade0 regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x2a7b867c sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0x2a882697 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x2a8ee579 devm_register_restart_handler +EXPORT_SYMBOL_GPL vmlinux 0x2a976d1c dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x2a997ecb irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x2aab7e32 virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0x2aadad1a efi_capsule_update +EXPORT_SYMBOL_GPL vmlinux 0x2ab8344b devm_namespace_disable +EXPORT_SYMBOL_GPL vmlinux 0x2ac2ad7e __traceiter_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x2ac42214 nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2adb3d59 gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x2ae2307b usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x2ae326cc page_cache_ra_unbounded +EXPORT_SYMBOL_GPL vmlinux 0x2aff68f9 perf_guest_get_msrs +EXPORT_SYMBOL_GPL vmlinux 0x2b02297f fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x2b0a1f48 device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0x2b0fe000 gnttab_cancel_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x2b114796 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0x2b2b6be2 ata_scsi_dma_need_drain +EXPORT_SYMBOL_GPL vmlinux 0x2b3acc3b __SCT__tp_func_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x2b3b1fcb bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0x2b4509dd devlink_health_reporter_state_update +EXPORT_SYMBOL_GPL vmlinux 0x2b50ec3f fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0x2b5b5ef8 alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0x2b601747 nvdimm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x2b6150fb power_supply_temp2resist_simple +EXPORT_SYMBOL_GPL vmlinux 0x2b64cc9f ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x2b67b6b7 mds_idle_clear +EXPORT_SYMBOL_GPL vmlinux 0x2b697ae4 xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0x2b6d960d synth_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x2b7398bd pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0x2b76646e pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x2b8c03f3 virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0x2b952517 clk_has_parent +EXPORT_SYMBOL_GPL vmlinux 0x2b9997fb atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x2b9eb558 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x2ba08769 fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0x2bb5b7cc gnttab_dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x2bc1a02f dw_pcie_own_conf_map_bus +EXPORT_SYMBOL_GPL vmlinux 0x2bc7e295 vp_modern_get_features +EXPORT_SYMBOL_GPL vmlinux 0x2bdf5ab0 pm_wakeup_pending +EXPORT_SYMBOL_GPL vmlinux 0x2c098fc6 tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2c1a5258 blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x2c1dad77 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c2f5a09 x86_family +EXPORT_SYMBOL_GPL vmlinux 0x2c3003d8 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c39d3e9 mptcp_pm_get_subflows_max +EXPORT_SYMBOL_GPL vmlinux 0x2c3a9ac0 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x2c3df3f1 crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0x2c556863 devm_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x2c5b1442 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x2c5bd9ac ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x2c61bb09 uv_bios_get_pci_topology +EXPORT_SYMBOL_GPL vmlinux 0x2c635527 arch_invalidate_pmem +EXPORT_SYMBOL_GPL vmlinux 0x2c66ac85 devlink_info_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c8337dc ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x2c8dd6b8 edac_mem_types +EXPORT_SYMBOL_GPL vmlinux 0x2ca89fe7 snp_issue_guest_request +EXPORT_SYMBOL_GPL vmlinux 0x2cae33d7 umd_cleanup_helper +EXPORT_SYMBOL_GPL vmlinux 0x2cae894b gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0x2cc9d064 sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x2cd5d660 __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0x2cdd6883 perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0x2cdfade3 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2ce548c9 fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0x2cf13e76 register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x2cf1e3eb ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x2cfbb2b5 __SCT__tp_func_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x2cff5cdc wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x2cffde68 simple_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0x2d0684a9 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current +EXPORT_SYMBOL_GPL vmlinux 0x2d36a0dd usb_get_dr_mode +EXPORT_SYMBOL_GPL vmlinux 0x2d393f48 intel_soc_pmic_exec_mipi_pmic_seq_element +EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts +EXPORT_SYMBOL_GPL vmlinux 0x2d44be3b __SCT__tp_func_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x2d574895 fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0x2d5f69b3 rcu_read_unlock_strict +EXPORT_SYMBOL_GPL vmlinux 0x2d609547 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x2d6aa0f0 arch_apei_enable_cmcff +EXPORT_SYMBOL_GPL vmlinux 0x2d7565d6 __traceiter_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x2d7d7bdd bio_blkcg_css +EXPORT_SYMBOL_GPL vmlinux 0x2d864cd0 rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0x2d89b1ad __SCT__tp_func_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x2d97bdd5 nvme_start_admin_queue +EXPORT_SYMBOL_GPL vmlinux 0x2d997e45 devm_pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x2d99b90f bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0x2dc30431 reset_control_get_count +EXPORT_SYMBOL_GPL vmlinux 0x2dc9a421 irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0x2dd0f151 public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0x2dd1fb34 gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x2dd92c60 rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0x2ddc4ff4 ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0x2ddd5b55 devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0x2dde9b88 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x2de14c7b dma_get_slave_caps +EXPORT_SYMBOL_GPL vmlinux 0x2df34364 __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x2e028ae6 rcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x2e08226d badrange_add +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e2d2784 __trace_trigger_soft_disabled +EXPORT_SYMBOL_GPL vmlinux 0x2e2da740 evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0x2e2df7f4 irq_remapping_cap +EXPORT_SYMBOL_GPL vmlinux 0x2e33d27c list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0x2e3b3ad2 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x2e3f8fd3 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x2e4071d2 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x2e503422 dax_finish_sync_fault +EXPORT_SYMBOL_GPL vmlinux 0x2e7a17d4 vmap_pfn +EXPORT_SYMBOL_GPL vmlinux 0x2e834b6a sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x2e86545d sk_psock_init +EXPORT_SYMBOL_GPL vmlinux 0x2e9a9b07 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x2e9ec24d free_iova +EXPORT_SYMBOL_GPL vmlinux 0x2ea5e794 dma_resv_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x2eac0de7 add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0x2ebb0f58 devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x2ebb19fd execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2eda4807 is_uv_hubbed +EXPORT_SYMBOL_GPL vmlinux 0x2ee7c52b btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x2eea0e45 phy_remove_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2ef00d5c dma_async_device_channel_register +EXPORT_SYMBOL_GPL vmlinux 0x2f0d9053 usb_otg_state_string +EXPORT_SYMBOL_GPL vmlinux 0x2f182c1e regulator_set_ramp_delay_regmap +EXPORT_SYMBOL_GPL vmlinux 0x2f18fbcc __devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0x2f1ac7db do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x2f1fcd9c smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x2f2c95c4 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2f363be1 iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0x2f424c64 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x2f4880df static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x2f64415f unregister_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2f662dfd gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x2f7b3e13 kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x2f7b493d crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x2f7f2e16 task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0x2f7f576b ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x2f88abb9 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x2f8d5172 blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0x2f96972a tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0x2fa31171 crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0x2fae0729 gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x2fc1e0fe kmem_valid_obj +EXPORT_SYMBOL_GPL vmlinux 0x2ff4bf15 umd_load_blob +EXPORT_SYMBOL_GPL vmlinux 0x300765a3 tcp_bpf_update_proto +EXPORT_SYMBOL_GPL vmlinux 0x301042a8 disk_update_readahead +EXPORT_SYMBOL_GPL vmlinux 0x301b105f fuse_init_fs_context_submount +EXPORT_SYMBOL_GPL vmlinux 0x301c3b5a __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x3020de8b sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x30221073 switchdev_bridge_port_offload +EXPORT_SYMBOL_GPL vmlinux 0x3057dbf1 edac_device_handle_ce_count +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x306c671c __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x30747f06 rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x3076ee5e dev_pm_opp_find_bw_ceil +EXPORT_SYMBOL_GPL vmlinux 0x30832f94 ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x30a5c79e fsverity_ioctl_enable +EXPORT_SYMBOL_GPL vmlinux 0x30bad5cb serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x30bb7050 acpi_get_first_physical_node +EXPORT_SYMBOL_GPL vmlinux 0x30cf804f slow_virt_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x30db2f6e dev_pm_opp_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x30e1ec25 apei_map_generic_address +EXPORT_SYMBOL_GPL vmlinux 0x30e80a17 nf_ct_helper_init +EXPORT_SYMBOL_GPL vmlinux 0x30f0ab58 dev_pm_opp_get_suspend_opp_freq +EXPORT_SYMBOL_GPL vmlinux 0x30f0c40d __tracepoint_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x31019477 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x31040d2f component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0x31128b8e hv_remove_kexec_handler +EXPORT_SYMBOL_GPL vmlinux 0x311c6da4 put_iova_domain +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x312c020c md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x3130e115 __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0x3135e9fa fpu_copy_guest_fpstate_to_uabi +EXPORT_SYMBOL_GPL vmlinux 0x313ea443 sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0x31417ed3 dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0x31529693 spi_mem_poll_status +EXPORT_SYMBOL_GPL vmlinux 0x3152fc75 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x3154aec2 trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0x315d36e9 regmap_check_range_table +EXPORT_SYMBOL_GPL vmlinux 0x315e16f3 irq_chip_retrigger_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x3165daa3 arbitrary_virt_to_machine +EXPORT_SYMBOL_GPL vmlinux 0x316bbea2 bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x31706316 __SCT__tp_func_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x317bcb4d dmi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x317e50a3 clk_hw_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x31839ad3 software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x3192d768 cpufreq_remove_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x3198bd55 __SCT__tp_func_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31ba6109 wwan_put_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x31baed6d irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x31bba1f3 da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x31c11d63 to_nvdimm_bus +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31d34278 xas_load +EXPORT_SYMBOL_GPL vmlinux 0x31d45e5d tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x31dae6ff md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0x31dca4d8 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x31dce02c bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x31e41c88 genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x31fb0b35 usb_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x31fe41a4 virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0x320b135a virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0x321268d7 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x32165671 efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x3224b2a9 mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0x32252a81 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x3239636a raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x32495275 pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0x324bb331 usb_hcd_end_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x324d5bbb serial8250_init_port +EXPORT_SYMBOL_GPL vmlinux 0x325bd17e pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0x326cefe5 hwpoison_filter_dev_minor +EXPORT_SYMBOL_GPL vmlinux 0x326d4c75 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x327a2687 bind_evtchn_to_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x328098e0 fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0x3280a1ca __of_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x3281531c usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x32836981 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x3288b93b __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0x328b1d7b sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x328bea06 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x328e3354 __memcpy_flushcache +EXPORT_SYMBOL_GPL vmlinux 0x329723b0 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x329a1218 of_icc_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x32a6f8a9 relay_open +EXPORT_SYMBOL_GPL vmlinux 0x32a9beaa __clk_get_hw +EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x32bc0fcf preempt_notifier_dec +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32cb5fb9 nf_ct_netns_put +EXPORT_SYMBOL_GPL vmlinux 0x32df33e7 x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x32e0f53f wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x32e3b076 mxcsr_feature_mask +EXPORT_SYMBOL_GPL vmlinux 0x32e3f2a5 gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0x32e4d1e0 sgx_virt_ecreate +EXPORT_SYMBOL_GPL vmlinux 0x32ecf243 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x32ee8371 crypto_register_scomps +EXPORT_SYMBOL_GPL vmlinux 0x32f76572 tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0x32fa074e __SCK__tp_func_extlog_mem_event +EXPORT_SYMBOL_GPL vmlinux 0x330010b6 cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x330e3dba battery_hook_unregister +EXPORT_SYMBOL_GPL vmlinux 0x330f6116 set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x3310c36b __traceiter_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x33114105 fscrypt_symlink_getattr +EXPORT_SYMBOL_GPL vmlinux 0x331dbfcc perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0x331e0502 devm_clk_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x3328e952 __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x332a5be4 bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0x332dec78 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x33374c55 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x3338b2eb get_governor_parent_kobj +EXPORT_SYMBOL_GPL vmlinux 0x333c6f46 tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0x33445b14 ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0x335aca18 xen_register_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x335d003a spi_mem_exec_op +EXPORT_SYMBOL_GPL vmlinux 0x3362b03c xen_p2m_size +EXPORT_SYMBOL_GPL vmlinux 0x33824513 iopf_queue_flush_dev +EXPORT_SYMBOL_GPL vmlinux 0x33a76de0 serial8250_em485_config +EXPORT_SYMBOL_GPL vmlinux 0x33b1fcbd device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x33b894d5 free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0x33bf4443 acpi_quirk_skip_acpi_ac_and_battery +EXPORT_SYMBOL_GPL vmlinux 0x33d0fede usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x33d98583 vfio_virqfd_disable +EXPORT_SYMBOL_GPL vmlinux 0x33dc8a11 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x33de5d29 inet6_compat_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x33e8e85a __SCK__tp_func_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x33ea32b1 pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x33f60c40 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x33fa9a4b __xenmem_reservation_va_mapping_update +EXPORT_SYMBOL_GPL vmlinux 0x33ff7e39 mmc_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0x3412cb05 pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x34138fc7 em_dev_register_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x3420d6b1 switchdev_handle_fdb_event_to_device +EXPORT_SYMBOL_GPL vmlinux 0x3423377c nvme_start_freeze +EXPORT_SYMBOL_GPL vmlinux 0x342c8746 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x34331f04 acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0x3437d61e dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x344361a1 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0x344a2c84 iomap_dio_complete +EXPORT_SYMBOL_GPL vmlinux 0x344dc502 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0x3450ad94 mpi_set_ui +EXPORT_SYMBOL_GPL vmlinux 0x345a4719 __SCK__tp_func_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x34617fe1 uart_xchar_out +EXPORT_SYMBOL_GPL vmlinux 0x3466ce63 x86_msi_msg_get_destid +EXPORT_SYMBOL_GPL vmlinux 0x3476ac5b list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0x348e809a bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x34b35c9b devm_of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x34d5eb09 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x34eab46d bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x34ee5770 mptcp_pm_get_add_addr_accept_max +EXPORT_SYMBOL_GPL vmlinux 0x34fba853 ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x350f6ce5 tasklet_unlock_wait +EXPORT_SYMBOL_GPL vmlinux 0x350ffce1 spi_controller_resume +EXPORT_SYMBOL_GPL vmlinux 0x352b3813 maxim_charger_calc_reg_current +EXPORT_SYMBOL_GPL vmlinux 0x352ccf94 pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x352f2517 xfrm_get_translator +EXPORT_SYMBOL_GPL vmlinux 0x355bc89a klist_next +EXPORT_SYMBOL_GPL vmlinux 0x355d7055 unregister_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x3565a929 utf8_data_table +EXPORT_SYMBOL_GPL vmlinux 0x356d09a1 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x3575b3b7 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x3582dfba devm_phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x358a6b71 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x358ff60f twl_get_hfclk_rate +EXPORT_SYMBOL_GPL vmlinux 0x35ac3886 securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x35be9b34 dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0x35d3dc46 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x35d853a0 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x35dba951 devm_of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x36063eff power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3606ffd5 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x36173c1d phys_to_target_node +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x3624eea2 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x3632f20d iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x3635f229 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x3641175b mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x364740b3 __spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x364a46ff kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x364b3f4d pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x36585ccc tpm_tis_core_init +EXPORT_SYMBOL_GPL vmlinux 0x365e7f33 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x36644b09 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x3671d21a sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x3673dcac cpufreq_enable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x3685ec6a dev_pm_opp_get_max_volt_latency +EXPORT_SYMBOL_GPL vmlinux 0x3688d085 addrconf_add_linklocal +EXPORT_SYMBOL_GPL vmlinux 0x36898d6f gpiod_remove_hogs +EXPORT_SYMBOL_GPL vmlinux 0x368ef52d ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3696c098 scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x36ac17ab alloc_iova_fast +EXPORT_SYMBOL_GPL vmlinux 0x36ad575a class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x36b5497e intel_iommu_enabled +EXPORT_SYMBOL_GPL vmlinux 0x36b6e30a device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x36c2e8b4 inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x36c97bef ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x36d4b506 switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x36d614a5 crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x36d6d653 rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x36d843bd sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x36e28087 irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x36e6b4c4 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x36ec0542 kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x36fa4541 dev_attr_ncq_prio_enable +EXPORT_SYMBOL_GPL vmlinux 0x36fa91bb nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x36fe6f5d devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x37100612 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x37153443 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x37169f79 cpu_latency_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x371ffb81 devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3727bd07 of_pwm_xlate_with_flags +EXPORT_SYMBOL_GPL vmlinux 0x372f58a0 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x373d8996 crypto_grab_kpp +EXPORT_SYMBOL_GPL vmlinux 0x3750d770 erst_read +EXPORT_SYMBOL_GPL vmlinux 0x3753dd7c __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x376010b3 fwnode_graph_get_endpoint_count +EXPORT_SYMBOL_GPL vmlinux 0x37645e1f pwm_lpss_probe +EXPORT_SYMBOL_GPL vmlinux 0x377bbcbc pm_suspend_target_state +EXPORT_SYMBOL_GPL vmlinux 0x3780055f icc_nodes_remove +EXPORT_SYMBOL_GPL vmlinux 0x37897711 ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x378b605f __SCK__tp_func_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x37914025 xenbus_write +EXPORT_SYMBOL_GPL vmlinux 0x37add9a7 gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0x37bf7be3 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x37c7db4c __SCK__tp_func_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x37c81414 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL vmlinux 0x37d80afa smp_ops +EXPORT_SYMBOL_GPL vmlinux 0x37da3d62 strp_done +EXPORT_SYMBOL_GPL vmlinux 0x37da5e87 strp_stop +EXPORT_SYMBOL_GPL vmlinux 0x37e2d2ec crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x37e3abd4 tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0x37eb6c0b devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x37fc3c32 bpf_trace_run12 +EXPORT_SYMBOL_GPL vmlinux 0x3801776b __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x3807d7ee dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0x380dde36 power_supply_batinfo_ocv2cap +EXPORT_SYMBOL_GPL vmlinux 0x381f1b7e ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x38268b62 icc_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x382b1c75 iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x383df7ab irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x3843e8a6 cros_ec_check_features +EXPORT_SYMBOL_GPL vmlinux 0x3866e217 nvmem_device_write +EXPORT_SYMBOL_GPL vmlinux 0x386f53f9 lp8788_read_multi_bytes +EXPORT_SYMBOL_GPL vmlinux 0x38708e25 inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0x38722f80 kernel_fpu_end +EXPORT_SYMBOL_GPL vmlinux 0x387bf1e5 of_pm_clk_add_clks +EXPORT_SYMBOL_GPL vmlinux 0x388cf951 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x388d90a9 wwan_unregister_ops +EXPORT_SYMBOL_GPL vmlinux 0x3893f8d8 bpf_trace_run7 +EXPORT_SYMBOL_GPL vmlinux 0x389b64a2 static_key_count +EXPORT_SYMBOL_GPL vmlinux 0x38a181d0 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38b6a890 __SCT__tp_func_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x38c3ff30 freq_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x38c78755 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x38e1fde7 mpi_set +EXPORT_SYMBOL_GPL vmlinux 0x38e5bc5a clk_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x38e707e2 skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0x38ea9765 intel_pt_validate_hw_cap +EXPORT_SYMBOL_GPL vmlinux 0x38f50c9b xhci_check_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0x38ffc505 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x390ef5fb irq_get_domain_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x3911421b bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x392ae57c handle_fasteoi_irq +EXPORT_SYMBOL_GPL vmlinux 0x39393064 devlink_port_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x393983dd acpi_dev_remove_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x394b14d4 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x394fa96c __virtio_unbreak_device +EXPORT_SYMBOL_GPL vmlinux 0x394ff119 nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0x3953822d __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x396f5c2d fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x39733607 fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0x39777bc7 devm_regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x397fa553 kthread_data +EXPORT_SYMBOL_GPL vmlinux 0x39970895 nf_nat_helper_register +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39aa4888 usb_role_string +EXPORT_SYMBOL_GPL vmlinux 0x39ad3484 serdev_device_get_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x39c9d88c xas_find +EXPORT_SYMBOL_GPL vmlinux 0x39ded098 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x39ded14f __SCT__tp_func_unmap +EXPORT_SYMBOL_GPL vmlinux 0x39e7cce3 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x3a0337c6 vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0x3a03927c blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3a106958 dm_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x3a1ff8d3 clk_mux_val_to_index +EXPORT_SYMBOL_GPL vmlinux 0x3a24fb2f percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a3643f8 platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a54c8e7 spi_async +EXPORT_SYMBOL_GPL vmlinux 0x3a55981a static_key_enable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x3a5f5304 pci_user_read_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x3a76777d scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x3a7aa365 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x3a7cbef1 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x3a7d80f9 xen_max_p2m_pfn +EXPORT_SYMBOL_GPL vmlinux 0x3a8bbb8e trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3a9c8b40 anon_inode_getfd_secure +EXPORT_SYMBOL_GPL vmlinux 0x3ab0d986 bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0x3ab2a347 xen_pci_frontend +EXPORT_SYMBOL_GPL vmlinux 0x3ab348e1 extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x3ac3feba rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0x3ac7737b __class_register +EXPORT_SYMBOL_GPL vmlinux 0x3ac92265 acpi_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3ad294f5 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x3ada95db clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x3af578f5 hyperv_report_panic +EXPORT_SYMBOL_GPL vmlinux 0x3afaccef devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x3afbb01d ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x3afc4a8f sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x3b0827fd vp_modern_config_vector +EXPORT_SYMBOL_GPL vmlinux 0x3b3be0be sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x3b4c240a display_timings_release +EXPORT_SYMBOL_GPL vmlinux 0x3b5fd553 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x3b5ff86d pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x3b637665 fs_dax_get_by_bdev +EXPORT_SYMBOL_GPL vmlinux 0x3b7a034f pci_hp_del +EXPORT_SYMBOL_GPL vmlinux 0x3b7a7163 __static_call_return0 +EXPORT_SYMBOL_GPL vmlinux 0x3b7c68c6 regulator_list_voltage_table +EXPORT_SYMBOL_GPL vmlinux 0x3b8a3a4b sis_info133_for_sata +EXPORT_SYMBOL_GPL vmlinux 0x3b91db5b intel_pt_handle_vmx +EXPORT_SYMBOL_GPL vmlinux 0x3b922f13 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x3b95f543 klp_shadow_free +EXPORT_SYMBOL_GPL vmlinux 0x3b98646b driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x3ba01b47 get_compat_sigset +EXPORT_SYMBOL_GPL vmlinux 0x3bb549bb sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3bede2c3 rio_route_add_entry +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3bf2393a __SCT__tp_func_nvme_sq +EXPORT_SYMBOL_GPL vmlinux 0x3bf2afda led_set_brightness_nopm +EXPORT_SYMBOL_GPL vmlinux 0x3bffa0c7 vfio_pci_core_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x3c036cab iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x3c08091a pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x3c08918c devm_hwmon_sanitize_name +EXPORT_SYMBOL_GPL vmlinux 0x3c0bb639 pm_clk_resume +EXPORT_SYMBOL_GPL vmlinux 0x3c0e8050 hyperv_pcpu_input_arg +EXPORT_SYMBOL_GPL vmlinux 0x3c15ccab iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0x3c168db7 xhci_update_hub_device +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c1e2417 devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x3c2d9840 nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL vmlinux 0x3c43e72d rio_route_get_entry +EXPORT_SYMBOL_GPL vmlinux 0x3c4e8aa4 nvme_reset_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x3c5d543a hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x3c5d7144 iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0x3c5e2d6a regulator_set_load +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c6f4243 proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0x3c783c3b synth_event_create +EXPORT_SYMBOL_GPL vmlinux 0x3c7e70aa __SCK__tp_func_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x3c8c949e sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x3c8ec01e serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x3ca28404 __hwspin_lock_timeout +EXPORT_SYMBOL_GPL vmlinux 0x3ca9ca0d devlink_rate_nodes_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3cb95a81 led_set_brightness +EXPORT_SYMBOL_GPL vmlinux 0x3cbee801 pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x3cbf48f2 switchdev_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x3cc07be9 pv_info +EXPORT_SYMBOL_GPL vmlinux 0x3cc4b494 key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0x3cce6d0e css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cd1b510 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x3ceea004 __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x3cef8ccb i2c_adapter_depth +EXPORT_SYMBOL_GPL vmlinux 0x3d12d340 fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x3d15af5c regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x3d2815bb nf_ct_remove_expectations +EXPORT_SYMBOL_GPL vmlinux 0x3d30b784 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3d33da22 power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x3d34609a debugfs_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d527042 bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0x3d68c2b9 __SCK__tp_func_unmap +EXPORT_SYMBOL_GPL vmlinux 0x3d87c9c1 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x3d8baf3b zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x3d9a2d62 vp_legacy_queue_vector +EXPORT_SYMBOL_GPL vmlinux 0x3d9bbf75 wwan_port_txon +EXPORT_SYMBOL_GPL vmlinux 0x3d9f19d1 __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x3da00da9 rio_enable_rx_tx_port +EXPORT_SYMBOL_GPL vmlinux 0x3da6ad77 page_endio +EXPORT_SYMBOL_GPL vmlinux 0x3daa2540 nf_hooks_lwtunnel_enabled +EXPORT_SYMBOL_GPL vmlinux 0x3dac507f hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3dbe4531 xfrm_put_translator +EXPORT_SYMBOL_GPL vmlinux 0x3dd4660d subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x3de0e695 ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3df05d5e __devm_regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x3df82d00 mce_log +EXPORT_SYMBOL_GPL vmlinux 0x3dfd172a fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x3e093287 perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0x3e195c30 mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x3e1c0929 __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x3e1d49b1 xen_find_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0x3e392da6 nvdimm_pmem_region_create +EXPORT_SYMBOL_GPL vmlinux 0x3e565505 hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e768a4b perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0x3e7db311 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x3ea5196d apei_osc_setup +EXPORT_SYMBOL_GPL vmlinux 0x3eaf752c tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x3ebe0e26 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x3ebee8fb devm_regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x3ec92a70 dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x3ec93255 hv_get_isolation_type +EXPORT_SYMBOL_GPL vmlinux 0x3ed5c4ad __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x3ee10de9 blk_mq_sched_mark_restart_hctx +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3f00fc07 icmp_build_probe +EXPORT_SYMBOL_GPL vmlinux 0x3f06b956 raw_v4_match +EXPORT_SYMBOL_GPL vmlinux 0x3f08ffb8 dev_pm_qos_hide_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x3f15c67d ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x3f35bc14 fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x3f3639fa crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x3f414733 xhci_gen_setup +EXPORT_SYMBOL_GPL vmlinux 0x3f491f49 reset_control_bulk_reset +EXPORT_SYMBOL_GPL vmlinux 0x3f691865 __traceiter_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3fae6ab0 hv_vp_index +EXPORT_SYMBOL_GPL vmlinux 0x3fafc639 __SCK__tp_func_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x3fe35aea irq_bypass_unregister_consumer +EXPORT_SYMBOL_GPL vmlinux 0x3fe3b715 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x3fe48873 blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0x3fe6c346 devlink_fmsg_binary_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x3ff2e349 hte_request_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x3ff468a8 pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x400a024b acpi_scan_lock_release +EXPORT_SYMBOL_GPL vmlinux 0x401d95cc rio_unlock_device +EXPORT_SYMBOL_GPL vmlinux 0x402071fa find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x4020d591 devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0x40267068 usb_anchor_resume_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x40295047 switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x40393b93 pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0x403eac60 sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x4043757f init_iova_domain +EXPORT_SYMBOL_GPL vmlinux 0x4044f2fd pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0x406215cb fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x4065d168 pm_print_active_wakeup_sources +EXPORT_SYMBOL_GPL vmlinux 0x406c4cb1 hrtimer_resolution +EXPORT_SYMBOL_GPL vmlinux 0x4071b517 out_of_line_wait_on_bit_timeout +EXPORT_SYMBOL_GPL vmlinux 0x40748396 __tracepoint_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x407af304 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x40815986 dm_copy_name_and_uuid +EXPORT_SYMBOL_GPL vmlinux 0x4099f919 tun_ptr_free +EXPORT_SYMBOL_GPL vmlinux 0x409f137c platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x409f3ced __SCK__tp_func_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x40a0aafc __flush_tlb_all +EXPORT_SYMBOL_GPL vmlinux 0x40a23395 register_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x40a8ca9e proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0x40bf89b1 crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0x40d93cae rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x40df32b5 register_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x40e067ab __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x40f0683e reset_control_put +EXPORT_SYMBOL_GPL vmlinux 0x40f5feb0 dev_pm_opp_get_max_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0x40f8664a kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x40f8b94e ring_buffer_iter_dropped +EXPORT_SYMBOL_GPL vmlinux 0x40f8bd4e klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4100a662 clk_get_scaled_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x410213ac pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x41039777 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x41229000 acpi_subsys_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x41285a5a raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x4129f5ee kernel_fpu_begin_mask +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x412c2989 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x413a9800 vp_modern_probe +EXPORT_SYMBOL_GPL vmlinux 0x413dff7c devm_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x414d119a videomode_from_timings +EXPORT_SYMBOL_GPL vmlinux 0x415ba42a __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x415ffaa1 vp_legacy_remove +EXPORT_SYMBOL_GPL vmlinux 0x4167d2e4 fscrypt_set_bio_crypt_ctx_bh +EXPORT_SYMBOL_GPL vmlinux 0x4173a34a regmap_async_complete_cb +EXPORT_SYMBOL_GPL vmlinux 0x41785854 l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x4182fe6a da9052_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x41876b33 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x418873cc irq_bypass_register_producer +EXPORT_SYMBOL_GPL vmlinux 0x41890132 unmap_mapping_pages +EXPORT_SYMBOL_GPL vmlinux 0x418bfccf wwan_create_port +EXPORT_SYMBOL_GPL vmlinux 0x418f7db7 edac_mc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x419a277d max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x41a440de mbox_chan_txdone +EXPORT_SYMBOL_GPL vmlinux 0x41a913f8 acpi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x41aed297 dev_pm_set_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x41b9a6e6 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x41ba3d5b serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0x41bce49a ghes_register_vendor_record_notifier +EXPORT_SYMBOL_GPL vmlinux 0x41d07fc4 sbitmap_queue_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x41d77f8d phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x42041512 i2c_get_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x420ac6f7 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x420f3d01 nvmem_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x42136f8d genphy_c45_pma_resume +EXPORT_SYMBOL_GPL vmlinux 0x421d50fb ehci_resume +EXPORT_SYMBOL_GPL vmlinux 0x421fcb4b device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x4221bc0f fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x422823a7 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x422e578a __SCT__tp_func_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x422fb769 get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x423fef90 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL vmlinux 0x424ab969 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x425d5a5a blk_crypto_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0x4262c3a2 is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0x42635d55 pm_suspend_global_flags +EXPORT_SYMBOL_GPL vmlinux 0x426452a3 acpi_evaluation_failure_warn +EXPORT_SYMBOL_GPL vmlinux 0x4265188c device_move +EXPORT_SYMBOL_GPL vmlinux 0x426598fa inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x426e2999 pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x4278d904 raw_abort +EXPORT_SYMBOL_GPL vmlinux 0x42808738 cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x428dc8f0 devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0x429c3f9c reboot_mode +EXPORT_SYMBOL_GPL vmlinux 0x42a2d3ec regulator_get_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x42bf8fe1 list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0x42c6bb18 iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0x42c79dff crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x42cbfeab sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x42d8d3a8 intel_pinctrl_get_soc_data +EXPORT_SYMBOL_GPL vmlinux 0x42e5dbf4 acpi_dma_request_slave_chan_by_name +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x42f728aa mctrl_gpio_get_outputs +EXPORT_SYMBOL_GPL vmlinux 0x430d88ec __traceiter_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x430dc186 dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0x431a20a7 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4337ac9a vfio_pci_core_mmap +EXPORT_SYMBOL_GPL vmlinux 0x4357074b fpstate_clear_xstate_component +EXPORT_SYMBOL_GPL vmlinux 0x4357aef8 acct_bioset_exit +EXPORT_SYMBOL_GPL vmlinux 0x435b327d tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x43619c41 nf_queue +EXPORT_SYMBOL_GPL vmlinux 0x43654e8f __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x436d817f mpi_clear_bit +EXPORT_SYMBOL_GPL vmlinux 0x437dcb0a regmap_async_complete +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x43811305 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x438d8df2 iova_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x439569b5 phy_pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x43a234f0 dma_free_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x43a5fb91 badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0x43a8d400 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43af0b32 call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x43b1c816 devm_platform_get_irqs_affinity +EXPORT_SYMBOL_GPL vmlinux 0x43f6f5cd devm_spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x43f81957 clk_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x43f92edd wait_for_initramfs +EXPORT_SYMBOL_GPL vmlinux 0x4401e6c2 mpi_cmpabs +EXPORT_SYMBOL_GPL vmlinux 0x440f4508 strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0x44144d96 regulator_map_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x441c1aa9 crypto_shash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x44237e83 io_uring_cmd_complete_in_task +EXPORT_SYMBOL_GPL vmlinux 0x442deaa9 poll_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x442f450b clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x4449000f scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x44491845 pci_get_dsn +EXPORT_SYMBOL_GPL vmlinux 0x444cd640 pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0x4464eb6a inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x44737746 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x44737cc0 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x447edeec usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x447ffbfd input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x449ebed1 sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0x44b0f74e rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44deb22a zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x44e1e9aa balloon_stats +EXPORT_SYMBOL_GPL vmlinux 0x44e5a6b3 ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x44ecba4b skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0x450110e8 perf_assign_events +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x4517116e pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x45218f49 fuse_dev_fiq_ops +EXPORT_SYMBOL_GPL vmlinux 0x4531624f usb_decode_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x4531ab62 copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x4541fe0d mtrr_state +EXPORT_SYMBOL_GPL vmlinux 0x454a5d04 fscrypt_d_revalidate +EXPORT_SYMBOL_GPL vmlinux 0x45526741 pinctrl_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x45558f56 clk_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x456328cf usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x4578ccfa ip_route_output_key_hash +EXPORT_SYMBOL_GPL vmlinux 0x4592edc6 devm_irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x459e6151 mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x45a15b29 register_fprobe +EXPORT_SYMBOL_GPL vmlinux 0x45a25ee5 locks_owner_has_blockers +EXPORT_SYMBOL_GPL vmlinux 0x45bc7033 pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x45c24510 efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0x45d14bdf hypercall_page +EXPORT_SYMBOL_GPL vmlinux 0x45e10be1 blk_mq_alloc_sq_tag_set +EXPORT_SYMBOL_GPL vmlinux 0x45f73d1f tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x46030074 __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x46047827 __SCT__tp_func_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x460f8701 genphy_c45_aneg_done +EXPORT_SYMBOL_GPL vmlinux 0x463715fe fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0x46393298 ehci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x463c9007 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x46453317 nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0x465d95e7 bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x468629cb blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x468c3ad4 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x46972999 devm_usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x46988ee2 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL vmlinux 0x46991fea vchan_dma_desc_free_list +EXPORT_SYMBOL_GPL vmlinux 0x46a4b118 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x46a5b8e2 fuse_request_end +EXPORT_SYMBOL_GPL vmlinux 0x46a6c9ef hv_get_tsc_page +EXPORT_SYMBOL_GPL vmlinux 0x46a946e8 cookie_tcp_reqsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x46c5be22 clk_multiplier_ops +EXPORT_SYMBOL_GPL vmlinux 0x46e49567 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x46eb2db1 spi_controller_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4700c973 usb_hcd_amd_remote_wakeup_quirk +EXPORT_SYMBOL_GPL vmlinux 0x470c8776 dmaengine_desc_get_metadata_ptr +EXPORT_SYMBOL_GPL vmlinux 0x4719475c uart_console_device +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4727d929 ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x4739ec1d sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0x473c5678 iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x47412fa7 __SCK__tp_func_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x4748fed2 led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x474da08c md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x47639d95 device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x477a9552 badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0x47808556 hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x47843db7 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x478e81f8 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x478f7c5e ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x4791cb91 apei_mce_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0x479f7d4b clk_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x47a3d600 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x47aad3b9 have_governor_per_policy +EXPORT_SYMBOL_GPL vmlinux 0x47ac9351 pinctrl_dev_get_devname +EXPORT_SYMBOL_GPL vmlinux 0x47bee7bc fixed_phy_register +EXPORT_SYMBOL_GPL vmlinux 0x47bff256 device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x47d0eea2 acpi_lpat_temp_to_raw +EXPORT_SYMBOL_GPL vmlinux 0x47d8b89e crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0x47de0dc7 clk_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x47e18a0f serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0x47f0216d vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x47f2047f regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x47fa5f27 __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x480305ca kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x48087606 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x48136a91 gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0x481f9b7d mpi_mulm +EXPORT_SYMBOL_GPL vmlinux 0x48203853 em_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x4828e77b acpi_scan_lock_acquire +EXPORT_SYMBOL_GPL vmlinux 0x4833fdbc dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x4834a0f6 gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0x486980b8 pci_epf_type_add_cfs +EXPORT_SYMBOL_GPL vmlinux 0x486dedc3 ghes_unregister_vendor_record_notifier +EXPORT_SYMBOL_GPL vmlinux 0x488476b4 ehci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x48852d66 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x4887ae3b __devm_intel_scu_ipc_register +EXPORT_SYMBOL_GPL vmlinux 0x48952d64 nvme_cancel_tagset +EXPORT_SYMBOL_GPL vmlinux 0x48a3d20b mctrl_gpio_get +EXPORT_SYMBOL_GPL vmlinux 0x48c3a76c __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0x48d8c71c __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x48dac7a2 crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x48e830d9 xenbus_dev_cancel +EXPORT_SYMBOL_GPL vmlinux 0x48f1c2da devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0x48f70ffd __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x490fdec0 devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x491946f6 nvme_change_ctrl_state +EXPORT_SYMBOL_GPL vmlinux 0x4919946d mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL vmlinux 0x49242bc7 freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4934bdd0 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x4939ebcd numa_map_to_online_node +EXPORT_SYMBOL_GPL vmlinux 0x4953371d sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0x4955e1f1 pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x49585136 irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x495a4221 __SCT__tp_func_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x495a429f dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0x495d00a1 __spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x49608959 migrate_disable +EXPORT_SYMBOL_GPL vmlinux 0x4982a59e __SCK__tp_func_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x498f095f ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0x498fb611 put_device +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49a3c276 regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x49afa87e led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x49b353cd virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x49cd25ed alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x49cdd863 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x49cf9e4f i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL vmlinux 0x49d56a18 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49e99cd3 regmap_field_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x49ea01df fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x4a086fca blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x4a0d29f7 fpu_free_guest_fpstate +EXPORT_SYMBOL_GPL vmlinux 0x4a16475e dev_pm_domain_attach +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a420d09 acpi_bus_detach_private_data +EXPORT_SYMBOL_GPL vmlinux 0x4a4e2056 blk_crypto_update_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x4a520ac9 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x4a56680c tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x4a71f647 __SCK__tp_func_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x4a77e0fb regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x4a9706f9 pci_find_host_bridge +EXPORT_SYMBOL_GPL vmlinux 0x4ab94851 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x4add500e xfrm_register_translator +EXPORT_SYMBOL_GPL vmlinux 0x4ae0a077 rio_unregister_mport +EXPORT_SYMBOL_GPL vmlinux 0x4af8424c tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0x4afe8427 wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0x4b0309cd crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x4b056a03 pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x4b1728fb nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4b176aef netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4b1a51fb irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0x4b3373af fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0x4b3f9360 irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x4b4a5d41 devm_phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x4b51f74c ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x4b56ce05 xenmem_reservation_increase +EXPORT_SYMBOL_GPL vmlinux 0x4b5acf74 rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0x4b6460f6 irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0x4b677502 mctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x4b679793 ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x4b6d66a6 serial8250_do_startup +EXPORT_SYMBOL_GPL vmlinux 0x4b762828 start_thread +EXPORT_SYMBOL_GPL vmlinux 0x4b85745a irq_gc_ack_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x4b931968 xen_features +EXPORT_SYMBOL_GPL vmlinux 0x4b9a955f pinctrl_pm_select_idle_state +EXPORT_SYMBOL_GPL vmlinux 0x4ba88d6b cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0x4bc1014d blkcg_get_fc_appid +EXPORT_SYMBOL_GPL vmlinux 0x4bc8727f xen_balloon_init +EXPORT_SYMBOL_GPL vmlinux 0x4bd0fb28 phy_led_trigger_change_speed +EXPORT_SYMBOL_GPL vmlinux 0x4bd6f08b misc_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4bdb8dcc housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4bfd398d hwrng_msleep +EXPORT_SYMBOL_GPL vmlinux 0x4c2c0ea7 evtchn_make_refcounted +EXPORT_SYMBOL_GPL vmlinux 0x4c3fb8ad nvme_set_features +EXPORT_SYMBOL_GPL vmlinux 0x4c49f1de hv_clock_per_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4c549b36 __traceiter_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x4c762b5c x86_stepping +EXPORT_SYMBOL_GPL vmlinux 0x4c8adfe1 hv_root_partition +EXPORT_SYMBOL_GPL vmlinux 0x4ca41ca6 device_attach +EXPORT_SYMBOL_GPL vmlinux 0x4cb27100 ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x4cbee1bc msi_first_desc +EXPORT_SYMBOL_GPL vmlinux 0x4cbf19cb crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x4cc292c6 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x4cc54c73 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x4cd7766c security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x4ce458fb trace_array_printk +EXPORT_SYMBOL_GPL vmlinux 0x4cea2fa2 iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0x4ceb894b devm_pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0x4cedc449 __traceiter_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x4cf699b8 vfio_pci_core_set_params +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d13db94 dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x4d177e19 icc_put +EXPORT_SYMBOL_GPL vmlinux 0x4d1eea06 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x4d267da5 spi_mem_dirmap_write +EXPORT_SYMBOL_GPL vmlinux 0x4d338d2b gpiochip_irq_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0x4d434d8b nf_l4proto_log_invalid +EXPORT_SYMBOL_GPL vmlinux 0x4d45578a usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d4fdde8 pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x4d5d45aa auxiliary_device_init +EXPORT_SYMBOL_GPL vmlinux 0x4d5ef7a0 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d70a8e8 device_del +EXPORT_SYMBOL_GPL vmlinux 0x4d7272e4 migrate_enable +EXPORT_SYMBOL_GPL vmlinux 0x4d74cc88 wp_shared_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x4d9031dd intel_cpu_collect_info +EXPORT_SYMBOL_GPL vmlinux 0x4d98d31e vfio_pci_core_match +EXPORT_SYMBOL_GPL vmlinux 0x4da91808 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x4da9a83b __SCK__tp_func_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x4daa7f0b blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0x4dabf76d io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4db7988b devm_hte_register_chip +EXPORT_SYMBOL_GPL vmlinux 0x4dbb8415 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4dbb8acd gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x4dd4e0a3 __regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4de17ab3 usb_state_string +EXPORT_SYMBOL_GPL vmlinux 0x4de2f6d8 __SCK__tp_func_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x4de31bf8 acpi_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x4dfc0acd bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0x4dfdf5f8 vfio_file_set_kvm +EXPORT_SYMBOL_GPL vmlinux 0x4dff61e5 wwan_port_txoff +EXPORT_SYMBOL_GPL vmlinux 0x4e144a54 __SCT__tp_func_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x4e17c613 ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x4e1b0b55 iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4e1f6998 iomap_invalidate_folio +EXPORT_SYMBOL_GPL vmlinux 0x4e4c37e2 freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4e4e2c67 crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x4e513a22 spi_mem_get_name +EXPORT_SYMBOL_GPL vmlinux 0x4e53e4c4 devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x4e6d696a ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x4e7490cf nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL vmlinux 0x4e8ffb76 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x4e9157e8 nf_conntrack_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4e934870 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x4e977b10 device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0x4e9c4e1d PageHeadHuge +EXPORT_SYMBOL_GPL vmlinux 0x4e9ce292 device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x4ea6199c spi_mem_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4eb9c3b5 bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4ece3615 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4ece9630 bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0x4ed63ce1 sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0x4ef09db3 fscrypt_prepare_new_inode +EXPORT_SYMBOL_GPL vmlinux 0x4ef5094f pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4ef765a5 vchan_init +EXPORT_SYMBOL_GPL vmlinux 0x4efcf021 mpi_normalize +EXPORT_SYMBOL_GPL vmlinux 0x4efeddd4 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x4f14eecb fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0x4f2593f0 btree_update +EXPORT_SYMBOL_GPL vmlinux 0x4f2c996d kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x4f30009b usb_get_maximum_speed +EXPORT_SYMBOL_GPL vmlinux 0x4f3c4aaa __traceiter_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4f3f5caf regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x4f599d8c pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4f72a987 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0x4f7552b5 wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0x4f8546af cpuidle_poll_state_init +EXPORT_SYMBOL_GPL vmlinux 0x4fbaea2a subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0x4fbcacfe fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0x4fc09d75 devm_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x4fcd0df9 tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0x4fd4b070 irqd_cfg +EXPORT_SYMBOL_GPL vmlinux 0x4fd9d454 sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4fe94c3d blk_crypto_register +EXPORT_SYMBOL_GPL vmlinux 0x4fe97f1f device_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x4ffb54ff static_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x50012a75 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x50070d9c crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0x5007adc0 pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x500c768c apei_exec_read_register +EXPORT_SYMBOL_GPL vmlinux 0x501d0e86 iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0x5020000c fscrypt_add_test_dummy_key +EXPORT_SYMBOL_GPL vmlinux 0x5026585c xen_irq_from_gsi +EXPORT_SYMBOL_GPL vmlinux 0x503744c5 preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5037490e __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0x50616e69 devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0x50660e6c __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x507aaa7b devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x507b66bf fwnode_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x508a0d15 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x50930ba9 bpf_trace_run4 +EXPORT_SYMBOL_GPL vmlinux 0x5099cf74 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x509ae57d strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0x509d5f55 clk_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x50a39813 pinctrl_enable +EXPORT_SYMBOL_GPL vmlinux 0x50b03f5d l1tf_vmx_mitigation +EXPORT_SYMBOL_GPL vmlinux 0x50b2768d irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x50b42ba1 entry_ibpb +EXPORT_SYMBOL_GPL vmlinux 0x50b9e603 register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x50bc44eb __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0x50bcc3f9 scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0x50c83042 ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x50d1f870 pgprot_writecombine +EXPORT_SYMBOL_GPL vmlinux 0x50d3c7ad fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0x50df94f5 btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x50df9f57 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50e727b7 nf_ct_expect_put +EXPORT_SYMBOL_GPL vmlinux 0x50f55ee4 int_active_memcg +EXPORT_SYMBOL_GPL vmlinux 0x50f73b3b sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x511d6326 gnttab_map_refs +EXPORT_SYMBOL_GPL vmlinux 0x51296450 hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0x5136f591 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x5152bd85 devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x518c2fc6 hpet_rtc_dropped_irq +EXPORT_SYMBOL_GPL vmlinux 0x5196cc68 bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x519b5035 __tracepoint_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x51a348cc usb_role_switch_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x51aac40b nvme_kill_queues +EXPORT_SYMBOL_GPL vmlinux 0x51d00c46 devm_power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x51d13875 nf_hooks_lwtunnel_sysctl_handler +EXPORT_SYMBOL_GPL vmlinux 0x51d3d926 device_add_software_node +EXPORT_SYMBOL_GPL vmlinux 0x51d6b354 __devm_reset_control_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x51dfe4c0 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x51e6aa28 acpi_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0x51ec9024 pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x520bd5d0 bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0x521a5731 bio_poll +EXPORT_SYMBOL_GPL vmlinux 0x52252316 clk_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x522a09de ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x52303202 rio_register_scan +EXPORT_SYMBOL_GPL vmlinux 0x5231a4a1 xhci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x5234f83e crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x5234fbff fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0x52431348 xenbus_transaction_start +EXPORT_SYMBOL_GPL vmlinux 0x525d0aa3 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x5261249f __SCK__tp_func_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x526bcf2a wwan_port_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x526e879d pci_iov_virtfn_devfn +EXPORT_SYMBOL_GPL vmlinux 0x52701755 platform_clear +EXPORT_SYMBOL_GPL vmlinux 0x5275a3b7 bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0x52824d48 fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0x528ad33d spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x528c4dbe register_btf_id_dtor_kfuncs +EXPORT_SYMBOL_GPL vmlinux 0x529d0782 __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0x52af3bdd devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52bb8806 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x52e69244 irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0x52f64f2b pm_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x52f68bbe efivar_entry_size +EXPORT_SYMBOL_GPL vmlinux 0x530db21b __mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x53121a96 pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0x532b90b5 kprobe_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x533363f9 __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x53468c19 regulator_set_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x53566cec __SCK__tp_func_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x535f50ea devm_extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x536822e3 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x5373b08e phy_pm_runtime_get_sync +EXPORT_SYMBOL_GPL vmlinux 0x5377cdb4 devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL vmlinux 0x539f157b pci_xen_swiotlb_init_late +EXPORT_SYMBOL_GPL vmlinux 0x53a3eb40 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x53ab674d i2c_new_scanned_device +EXPORT_SYMBOL_GPL vmlinux 0x53b1b203 fscrypt_set_bio_crypt_ctx +EXPORT_SYMBOL_GPL vmlinux 0x53c089f5 property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x53d6075b spi_finalize_current_transfer +EXPORT_SYMBOL_GPL vmlinux 0x53d7c01e __traceiter_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x53de14cd nf_ct_acct_add +EXPORT_SYMBOL_GPL vmlinux 0x53f5975b disk_set_independent_access_ranges +EXPORT_SYMBOL_GPL vmlinux 0x53f61989 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL vmlinux 0x5412ae42 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x541e2446 nvdimm_delete +EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x542ecadc usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x5435454c divider_ro_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x54373ace vfio_uninit_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x54651f9b rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x5470357b rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0x5478fb03 vp_modern_get_status +EXPORT_SYMBOL_GPL vmlinux 0x54827ff5 __SCK__tp_func_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x5488031a crypto_alloc_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x5488c567 tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0x54890400 usb_phy_set_event +EXPORT_SYMBOL_GPL vmlinux 0x548fd45d mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54a355fc crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x54a6be4d pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x54af836a elv_register +EXPORT_SYMBOL_GPL vmlinux 0x54b5fea4 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x55002aed irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x5503b208 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x550ce709 pat_enabled +EXPORT_SYMBOL_GPL vmlinux 0x550f3e05 i2c_freq_mode_string +EXPORT_SYMBOL_GPL vmlinux 0x55143ef0 ip6_input +EXPORT_SYMBOL_GPL vmlinux 0x551cbf3b cpufreq_dbs_governor_start +EXPORT_SYMBOL_GPL vmlinux 0x55339365 flush_delayed_fput +EXPORT_SYMBOL_GPL vmlinux 0x553b49a4 cpufreq_get_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x55417264 unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x55462474 fpu_copy_uabi_to_guest_fpstate +EXPORT_SYMBOL_GPL vmlinux 0x555a5c39 fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0x555c247f to_nd_region +EXPORT_SYMBOL_GPL vmlinux 0x555db4ac securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x5563d264 nvdimm_security_setup_events +EXPORT_SYMBOL_GPL vmlinux 0x556e4390 clk_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x557d0d07 acpi_pm_set_device_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x55884398 fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x5590ee2a usb_phy_set_charger_state +EXPORT_SYMBOL_GPL vmlinux 0x55a9d07d rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0x55b52d30 lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0x55c76a23 ksys_sync_helper +EXPORT_SYMBOL_GPL vmlinux 0x55cc18e2 blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0x55cd97bd regmap_noinc_read +EXPORT_SYMBOL_GPL vmlinux 0x55d530d0 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x55eb10f9 thermal_zone_device_register +EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x55f3fff4 uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL vmlinux 0x55f7929d pci_epc_put +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x5608fced pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0x56129554 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x5614caa6 sock_map_unhash +EXPORT_SYMBOL_GPL vmlinux 0x56173654 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x56256e8a orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x56398615 mark_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x564dc157 dev_pm_opp_enable +EXPORT_SYMBOL_GPL vmlinux 0x56587ed5 scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0x568f3ce0 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x56909ffe pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0x56948896 spec_ctrl_current +EXPORT_SYMBOL_GPL vmlinux 0x56a39b75 devm_spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x56af0bbb usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x56b2ad7e devm_namespace_enable +EXPORT_SYMBOL_GPL vmlinux 0x56bb909f i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x56bfcffd __SCK__tp_func_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x56ca25b6 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x56cb9737 __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0x56d8196f ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x56ecf1c1 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x56fbb130 no_hash_pointers +EXPORT_SYMBOL_GPL vmlinux 0x5705e5f6 usb_phy_roothub_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5745e25e __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0x574609c5 apei_exec_write_register_value +EXPORT_SYMBOL_GPL vmlinux 0x5760a545 reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x576d6189 strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x57719632 gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x578dd3a3 of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x578eeb4d hugetlb_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x5790e7a0 pci_unlock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0x5796c781 ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x579eeb77 spi_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x579f37c0 devm_regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x57d4050a xhci_get_endpoint_index +EXPORT_SYMBOL_GPL vmlinux 0x57d5925f rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x57f576b9 mpi_ec_curve_point +EXPORT_SYMBOL_GPL vmlinux 0x57fd4f80 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x58015748 regmap_raw_write_async +EXPORT_SYMBOL_GPL vmlinux 0x58082a0b rio_mport_get_physefb +EXPORT_SYMBOL_GPL vmlinux 0x580a405d watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0x581db1c6 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x58229ae7 pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x58276f93 cper_next_record_id +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x58349841 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL vmlinux 0x5849fbad blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0x5854f1e5 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x586360d0 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x586b7765 xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0x586bfc8a alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0x587873fc check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x5882f8a8 phy_power_off +EXPORT_SYMBOL_GPL vmlinux 0x5885eb49 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x58883eb8 xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0x589285f9 phy_create_lookup +EXPORT_SYMBOL_GPL vmlinux 0x589f00d4 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x58aee714 devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x58d49440 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x58d6311d trace_clock +EXPORT_SYMBOL_GPL vmlinux 0x58db1176 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x58e3ddc3 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x58f5c145 dax_layout_busy_page_range +EXPORT_SYMBOL_GPL vmlinux 0x5902d54b netif_carrier_event +EXPORT_SYMBOL_GPL vmlinux 0x59221e06 devm_spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x592a3833 extcon_set_state +EXPORT_SYMBOL_GPL vmlinux 0x592bd702 nvme_set_queue_count +EXPORT_SYMBOL_GPL vmlinux 0x593c4847 regulator_set_voltage_time_sel +EXPORT_SYMBOL_GPL vmlinux 0x594a2438 fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0x59504cf6 virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0x597d346c clk_hw_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x597d51d6 balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x597e3559 pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x5986d190 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0x59b0d638 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59b3ee4d xdp_build_skb_from_frame +EXPORT_SYMBOL_GPL vmlinux 0x59b54526 power_supply_set_property +EXPORT_SYMBOL_GPL vmlinux 0x59b9f038 trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0x59c43dc9 __traceiter_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x59cd90e0 cpuidle_register +EXPORT_SYMBOL_GPL vmlinux 0x59d755d3 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x59ee21e5 spi_controller_dma_map_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x59f10822 switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x59f32720 mpi_subm +EXPORT_SYMBOL_GPL vmlinux 0x59f8b7c6 ms_hyperv +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a3cbdd5 pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x5a42c937 sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0x5a44ce6c udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a4f9715 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0x5a5a4455 blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5aa2956f nf_ct_expect_related_report +EXPORT_SYMBOL_GPL vmlinux 0x5aa70984 acpi_reduced_hardware +EXPORT_SYMBOL_GPL vmlinux 0x5ab09745 edac_get_owner +EXPORT_SYMBOL_GPL vmlinux 0x5ab09bfe blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x5ab47efb ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x5ab65f40 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x5af253db rio_del_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x5af8deb3 devlink_rate_leaf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5b0a4f6d iptunnel_metadata_reply +EXPORT_SYMBOL_GPL vmlinux 0x5b167aaf fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b24dfac rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x5b46f703 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x5b59f328 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x5b6868fe __traceiter_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x5b692883 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x5b6b0329 swiotlb_max_segment +EXPORT_SYMBOL_GPL vmlinux 0x5b81502a nvme_try_sched_reset +EXPORT_SYMBOL_GPL vmlinux 0x5b8b28f3 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x5b90580b cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x5b91ba31 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x5b9a43b6 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x5ba9c87f blk_crypto_keyslot_index +EXPORT_SYMBOL_GPL vmlinux 0x5bbdfa26 scatterwalk_ffwd +EXPORT_SYMBOL_GPL vmlinux 0x5bc950fe regulator_irq_helper_cancel +EXPORT_SYMBOL_GPL vmlinux 0x5bcc0df7 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5bce6bd5 tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0x5bd0748f crypto_del_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x5bd53354 generic_online_page +EXPORT_SYMBOL_GPL vmlinux 0x5bd6667a watchdog_set_last_hw_keepalive +EXPORT_SYMBOL_GPL vmlinux 0x5bdae35b usb_phy_roothub_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x5bdbac4e rcu_unexpedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x5bdfca58 __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x5bfd72a5 umd_unload_blob +EXPORT_SYMBOL_GPL vmlinux 0x5c070f62 cper_mem_err_status_str +EXPORT_SYMBOL_GPL vmlinux 0x5c0c165e __SCT__tp_func_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x5c0eaf31 acpi_dev_resource_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x5c29e38d iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0x5c2f1546 devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0x5c309e65 hibernate_quiet_exec +EXPORT_SYMBOL_GPL vmlinux 0x5c30dfae gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0x5c3b027a shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x5c4394bc sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0x5c577626 md_submit_discard_bio +EXPORT_SYMBOL_GPL vmlinux 0x5c5a1b16 tick_broadcast_control +EXPORT_SYMBOL_GPL vmlinux 0x5c5da8ae devm_clk_hw_get_clk +EXPORT_SYMBOL_GPL vmlinux 0x5c6d9dbc __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x5c7c5547 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5c81149b vmf_insert_pfn_pud_prot +EXPORT_SYMBOL_GPL vmlinux 0x5c97c642 serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0x5c9df8a2 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x5ca63462 devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x5ca6e814 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x5cab2e88 skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x5cab9945 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x5cad8fc3 power_supply_ocv2cap_simple +EXPORT_SYMBOL_GPL vmlinux 0x5cbbb21d inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x5cc0e816 dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0x5cc87f98 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x5cd9e903 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x5cdc3dfa rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x5cdcdbe4 thp_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x5cdebd2a dev_fill_forward_path +EXPORT_SYMBOL_GPL vmlinux 0x5ce25a15 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL vmlinux 0x5ce86d09 od_register_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x5cea43a4 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x5ceda5b3 led_trigger_rename_static +EXPORT_SYMBOL_GPL vmlinux 0x5cede0a7 xdp_flush_frame_bulk +EXPORT_SYMBOL_GPL vmlinux 0x5cf05f79 dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0x5cf1804b ohci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x5d044629 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x5d0835ec invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x5d0ad491 is_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x5d17148b apei_write +EXPORT_SYMBOL_GPL vmlinux 0x5d245f6c pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x5d25211c nf_ct_tcp_seqadj_set +EXPORT_SYMBOL_GPL vmlinux 0x5d2aa5fb rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0x5d2bc42a reset_control_rearm +EXPORT_SYMBOL_GPL vmlinux 0x5d3508f1 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x5d3642e2 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x5d3e3ff6 devm_hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x5d468f39 l3mdev_table_lookup_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d589b19 vp_modern_generation +EXPORT_SYMBOL_GPL vmlinux 0x5d5c445a netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x5d66981e nl_table +EXPORT_SYMBOL_GPL vmlinux 0x5d6b86c5 regmap_field_bulk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d6f039a wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d9317d7 uv_teardown_irq +EXPORT_SYMBOL_GPL vmlinux 0x5da2d0e2 __traceiter_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5da6ed6e nvme_setup_cmd +EXPORT_SYMBOL_GPL vmlinux 0x5db0a0eb pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x5db5b7a6 __SCK__tp_func_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x5db5ba29 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x5dbcfa4f boot_cpu_physical_apicid +EXPORT_SYMBOL_GPL vmlinux 0x5dc17882 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5dcbe850 fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x5dd00766 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x5dd8b3ad __traceiter_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x5dde6c79 fscrypt_limit_io_blocks +EXPORT_SYMBOL_GPL vmlinux 0x5de399db platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x5e0855fb bpf_trace_run9 +EXPORT_SYMBOL_GPL vmlinux 0x5e173309 cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x5e3524d4 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e51dddc __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x5e5fca8c devm_mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5e6fd293 dax_inode +EXPORT_SYMBOL_GPL vmlinux 0x5e710f50 ethnl_cable_test_step +EXPORT_SYMBOL_GPL vmlinux 0x5e798ffb divider_get_val +EXPORT_SYMBOL_GPL vmlinux 0x5e7fed11 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5e874e89 ext_pi_type3_crc64 +EXPORT_SYMBOL_GPL vmlinux 0x5e926027 xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0x5e96a516 devm_reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x5e98cead xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0x5e9d1dce rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x5ea7643c bpf_trace_run2 +EXPORT_SYMBOL_GPL vmlinux 0x5ead3013 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x5eae5408 clk_is_enabled_when_prepared +EXPORT_SYMBOL_GPL vmlinux 0x5eb28ca1 thermal_zone_device_enable +EXPORT_SYMBOL_GPL vmlinux 0x5ed57660 pci_iov_vf_id +EXPORT_SYMBOL_GPL vmlinux 0x5edac205 tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x5ee2aa12 list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0x5f00cd6f ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x5f0474b3 trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x5f0bc1b5 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x5f23e3fa insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x5f256937 pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x5f28003b thermal_zone_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5f28b2db usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x5f2da8c4 check_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5f2fcc83 ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0x5f390dae rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x5f5c2a54 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f7bc80a pci_find_vsec_capability +EXPORT_SYMBOL_GPL vmlinux 0x5f884ef1 pci_iov_get_pf_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x5f8d3f24 devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x5f8f4e8a sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0x5f99ecf6 __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x5fa625ed mpi_ec_mul_point +EXPORT_SYMBOL_GPL vmlinux 0x5facdcbb bpf_trace_run11 +EXPORT_SYMBOL_GPL vmlinux 0x5fbd8e45 __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5fcd15df __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x5fce5a93 nvmem_device_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x5fd6ad5f dev_pm_set_dedicated_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x5fd891be relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x5fda26d2 ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5fdc0470 __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x5fdf7b32 smca_get_bank_type +EXPORT_SYMBOL_GPL vmlinux 0x5fdfa2c1 amd_pmu_enable_virt +EXPORT_SYMBOL_GPL vmlinux 0x5ff1f6b1 ata_ncq_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0x5ff7bd83 crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0x60091316 clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x60265a60 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x602f319b crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x6034e331 devm_regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x603d0d51 acpi_os_map_iomem +EXPORT_SYMBOL_GPL vmlinux 0x604722fd devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x604df957 led_trigger_read +EXPORT_SYMBOL_GPL vmlinux 0x6053fbc1 __SCK__tp_func_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x6057ebfe device_link_del +EXPORT_SYMBOL_GPL vmlinux 0x60581f76 pm_clk_add +EXPORT_SYMBOL_GPL vmlinux 0x6060cfcc irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x606b4aba devlink_linecard_provision_set +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x608d25d6 __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x60978d37 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a634c4 vfio_info_cap_add +EXPORT_SYMBOL_GPL vmlinux 0x60a7f728 __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0x60ae0922 power_supply_vbat2ri +EXPORT_SYMBOL_GPL vmlinux 0x60b0825d seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0x60b2378c nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL vmlinux 0x60b8527d scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x60c55bd4 pwm_adjust_config +EXPORT_SYMBOL_GPL vmlinux 0x60c876d5 __SCK__tp_func_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x60eb8260 devm_regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x60ee0082 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x60f99e1b cppc_set_perf +EXPORT_SYMBOL_GPL vmlinux 0x6116561e platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x611cfa85 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x612ac533 __irq_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x61339fdb ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x6137afd4 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x614198b9 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x615d3447 kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x615e5471 pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0x616bfd83 __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x616c5842 __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0x6171c64d em_pd_get +EXPORT_SYMBOL_GPL vmlinux 0x6181e79f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0x6198dfea __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6199ad5d crypto_has_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x619d2eca acpi_gpio_get_irq_resource +EXPORT_SYMBOL_GPL vmlinux 0x61afde25 devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0x61b443f8 x86_spec_ctrl_current +EXPORT_SYMBOL_GPL vmlinux 0x61b5278e nvmem_cell_read_u8 +EXPORT_SYMBOL_GPL vmlinux 0x61b679fa devm_pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x61d65b36 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x61dc8f22 pm_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0x61e1f583 crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x61f0a568 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x6204e64e xenbus_read_otherend_details +EXPORT_SYMBOL_GPL vmlinux 0x620902a3 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6210554b pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x6215b225 bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0x6229e591 raw_v6_match +EXPORT_SYMBOL_GPL vmlinux 0x622c7922 register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x62352c5e crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x62377a7b blk_io_schedule +EXPORT_SYMBOL_GPL vmlinux 0x6246a629 synchronize_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x6257dda7 clk_rate_exclusive_get +EXPORT_SYMBOL_GPL vmlinux 0x6259d291 clk_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x625e30e9 usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x62a9b53c hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x62afafb4 alloc_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x62b04698 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x62ba2c32 filemap_add_folio +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62df7221 gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0x63026490 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x6305890a rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x63150e06 clk_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x63197685 s2idle_wake +EXPORT_SYMBOL_GPL vmlinux 0x631c8327 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x631e1ab3 unwind_get_return_address +EXPORT_SYMBOL_GPL vmlinux 0x632994a7 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x632b75e4 nf_confirm +EXPORT_SYMBOL_GPL vmlinux 0x6340434e x86_model +EXPORT_SYMBOL_GPL vmlinux 0x636d93ec devres_release +EXPORT_SYMBOL_GPL vmlinux 0x63710396 devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0x638a9653 memory_add_physaddr_to_nid +EXPORT_SYMBOL_GPL vmlinux 0x638aff11 proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x639e71c9 acpi_device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x63c07197 vfio_file_has_dev +EXPORT_SYMBOL_GPL vmlinux 0x63c08029 clk_bulk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x63c2d015 scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0x63c9487d nvmem_cell_read_u16 +EXPORT_SYMBOL_GPL vmlinux 0x63e543ca phy_10gbit_fec_features +EXPORT_SYMBOL_GPL vmlinux 0x63ea80b3 cper_mem_err_type_str +EXPORT_SYMBOL_GPL vmlinux 0x63f22b1a rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x63ff744b regmap_mmio_attach_clk +EXPORT_SYMBOL_GPL vmlinux 0x6406b7b0 genphy_c45_pma_baset1_setup_master_slave +EXPORT_SYMBOL_GPL vmlinux 0x6420033a rio_route_clr_table +EXPORT_SYMBOL_GPL vmlinux 0x6421ccf5 pcie_port_find_device +EXPORT_SYMBOL_GPL vmlinux 0x642d31c5 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0x64431095 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x64481c62 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x644d926c security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x645355e0 __SCK__tp_func_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x645e497f vp_modern_get_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x646be7e7 of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x646ff0ae vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x647cbbf7 led_stop_software_blink +EXPORT_SYMBOL_GPL vmlinux 0x648cdebf akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x648dfc82 list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0x6491f73d vfio_pci_core_disable +EXPORT_SYMBOL_GPL vmlinux 0x64a31445 mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0x64a62e11 acpi_processor_ffh_cstate_enter +EXPORT_SYMBOL_GPL vmlinux 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL vmlinux 0x64c22839 skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0x64c26b92 acpi_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0x64c9a349 account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x64e657fa inode_dax +EXPORT_SYMBOL_GPL vmlinux 0x64f36620 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x64fa5afc pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0x6502d9c2 xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x65074ee9 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x651d10e5 ktime_get_tai_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6524b9c7 serial8250_rpm_put_tx +EXPORT_SYMBOL_GPL vmlinux 0x6527a231 dbgp_external_startup +EXPORT_SYMBOL_GPL vmlinux 0x6531a37f mpi_add +EXPORT_SYMBOL_GPL vmlinux 0x653d9ce0 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x6541cb1e dev_coredumpm +EXPORT_SYMBOL_GPL vmlinux 0x654968de ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x6553d1a8 __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x655e2023 irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0x65704d22 hv_stimer_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x6576cbbb xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x657f0cf7 crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x6580026a kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0x65a3b41f crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0x65acf90c sbitmap_weight +EXPORT_SYMBOL_GPL vmlinux 0x65af967d device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x65b36728 __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d5e184 led_sysfs_disable +EXPORT_SYMBOL_GPL vmlinux 0x65dc2490 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x65e7f447 of_icc_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x65ead72c crypto_comp_compress +EXPORT_SYMBOL_GPL vmlinux 0x6605cb89 firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0x66070d56 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x660eb6bd devlink_free +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x663f90a3 acpi_dev_get_resources +EXPORT_SYMBOL_GPL vmlinux 0x6643ab5c lwtunnel_output +EXPORT_SYMBOL_GPL vmlinux 0x664985e7 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x664d40d4 extcon_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x66537ea1 sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0x665e92a0 clk_set_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x666fcd8b devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x66775bc1 dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0x66794b55 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x66832911 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6683817a sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x6683b25c extcon_set_state_sync +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x668a2954 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x66960d31 iomap_release_folio +EXPORT_SYMBOL_GPL vmlinux 0x66a1f586 get_net_ns_by_id +EXPORT_SYMBOL_GPL vmlinux 0x66b26b2b clk_hw_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66c41113 fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66d9f9bc blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0x66e1280f nf_ct_get_id +EXPORT_SYMBOL_GPL vmlinux 0x66e38f89 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x67132e56 devm_regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x6739a503 balloon_set_new_target +EXPORT_SYMBOL_GPL vmlinux 0x673ef8e1 ipv4_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x6759bd00 __SCT__tp_func_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x6760991d rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x67675624 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x676e1e02 dev_pm_opp_xlate_required_opp +EXPORT_SYMBOL_GPL vmlinux 0x677e2d7e crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x677ff88c xas_store +EXPORT_SYMBOL_GPL vmlinux 0x678d471a edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x6790ebd3 mce_is_memory_error +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x6798d89f sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x67a5dc86 balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0x67cd8557 pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0x67d6362f lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0x67d8cad4 tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x67dcd76b uv_setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x67dfbd52 dev_pm_opp_sync_regulators +EXPORT_SYMBOL_GPL vmlinux 0x67eb1ce9 get_device +EXPORT_SYMBOL_GPL vmlinux 0x681a9cc3 trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6822de1a firmware_upload_unregister +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x68335174 vp_modern_set_features +EXPORT_SYMBOL_GPL vmlinux 0x68460527 blkcg_set_fc_appid +EXPORT_SYMBOL_GPL vmlinux 0x6860847f device_phy_find_device +EXPORT_SYMBOL_GPL vmlinux 0x6860e985 xenbus_dev_groups +EXPORT_SYMBOL_GPL vmlinux 0x686b2f20 debugfs_lookup_and_remove +EXPORT_SYMBOL_GPL vmlinux 0x687bc4f6 dma_resv_get_singleton +EXPORT_SYMBOL_GPL vmlinux 0x688546cd bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0x688f2f2a __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x689ed652 led_set_brightness_sync +EXPORT_SYMBOL_GPL vmlinux 0x68a5791b skb_copy_ubufs +EXPORT_SYMBOL_GPL vmlinux 0x68a6c824 blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0x68c5143b clk_hw_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x68f4ccdb pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x68f6d04a nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL vmlinux 0x68faad63 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x6902b633 platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL vmlinux 0x6919997e cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x692b89ac skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x692eccd2 devfreq_event_set_event +EXPORT_SYMBOL_GPL vmlinux 0x692fb240 kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0x693aa6b2 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x693b12a5 devlink_port_type_eth_set +EXPORT_SYMBOL_GPL vmlinux 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL vmlinux 0x696340a5 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x69637b2c __traceiter_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x696d7e0b l1tf_mitigation +EXPORT_SYMBOL_GPL vmlinux 0x6974b8df nf_ct_delete +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6996a7d4 trace_array_init_printk +EXPORT_SYMBOL_GPL vmlinux 0x69be2ff6 acpi_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0x69c7f53a sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69d7aee4 acpi_get_and_request_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x69d8ed67 dev_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x69e08092 crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x69e83605 mc146818_get_time +EXPORT_SYMBOL_GPL vmlinux 0x69ee2220 linear_range_get_selector_high +EXPORT_SYMBOL_GPL vmlinux 0x69f7c16c posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6a05b65b fb_videomode_from_videomode +EXPORT_SYMBOL_GPL vmlinux 0x6a0b324b nvdimm_has_cache +EXPORT_SYMBOL_GPL vmlinux 0x6a14d3af unregister_random_vmfork_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6a14df20 bpf_trace_run6 +EXPORT_SYMBOL_GPL vmlinux 0x6a2c45a2 set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x6a343699 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x6a36ff74 __traceiter_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x6a39f0da xhci_add_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x6a421062 memory_failure_queue +EXPORT_SYMBOL_GPL vmlinux 0x6a427ef8 regmap_irq_get_domain +EXPORT_SYMBOL_GPL vmlinux 0x6a428049 pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0x6a460dc5 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0x6a4f623b mmu_notifier_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x6a5143c3 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x6a6828ca vfio_pci_core_close_device +EXPORT_SYMBOL_GPL vmlinux 0x6a7341b7 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x6a7402bc yield_to +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6aa2a877 xenbus_printf +EXPORT_SYMBOL_GPL vmlinux 0x6aa43438 dpm_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x6aad9152 xen_set_callback_via +EXPORT_SYMBOL_GPL vmlinux 0x6ab166d5 devl_rate_leaf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6abb03a7 gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x6acf86e4 is_software_node +EXPORT_SYMBOL_GPL vmlinux 0x6ae8cbdf efivars_kobject +EXPORT_SYMBOL_GPL vmlinux 0x6af84e48 phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL vmlinux 0x6afcb0ca pci_pr3_present +EXPORT_SYMBOL_GPL vmlinux 0x6b0dc565 xen_set_irq_priority +EXPORT_SYMBOL_GPL vmlinux 0x6b0eaa18 hv_ghcb_msr_read +EXPORT_SYMBOL_GPL vmlinux 0x6b198c77 led_colors +EXPORT_SYMBOL_GPL vmlinux 0x6b2400d3 gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0x6b2b69f7 static_key_enable +EXPORT_SYMBOL_GPL vmlinux 0x6b2e04b4 irq_gc_noop +EXPORT_SYMBOL_GPL vmlinux 0x6b30282c iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0x6b353a65 regulator_set_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x6b35a16b intel_scu_ipc_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x6b36e07d devlink_linecard_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6b3ae022 acpi_os_unmap_iomem +EXPORT_SYMBOL_GPL vmlinux 0x6b413c9b sfp_link_down +EXPORT_SYMBOL_GPL vmlinux 0x6b6164ee tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0x6b6648ad cpufreq_disable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x6b7a4335 hyperv_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x6b7f741f gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x6b809c46 unwind_next_frame +EXPORT_SYMBOL_GPL vmlinux 0x6b81c38b power_supply_unreg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6b84f255 fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0x6b87acd4 dev_pm_opp_is_turbo +EXPORT_SYMBOL_GPL vmlinux 0x6b88d961 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0x6b8d2149 dma_async_device_channel_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6ba36c6a hwpoison_filter_flags_value +EXPORT_SYMBOL_GPL vmlinux 0x6baa828e devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x6bbd8324 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x6bc6b66f firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x6bcd3426 dax_layout_busy_page +EXPORT_SYMBOL_GPL vmlinux 0x6bcdedc0 mpi_point_init +EXPORT_SYMBOL_GPL vmlinux 0x6bd04688 bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6bd2afc7 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x6bd3f38d usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x6bd91a49 crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0x6bdef35c acpi_ec_mark_gpe_for_wake +EXPORT_SYMBOL_GPL vmlinux 0x6be3a96b hv_remove_vmbus_handler +EXPORT_SYMBOL_GPL vmlinux 0x6bee7cd3 __irq_resolve_mapping +EXPORT_SYMBOL_GPL vmlinux 0x6bf28e30 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x6c0c8f02 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x6c13a149 syscon_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x6c205008 mpi_print +EXPORT_SYMBOL_GPL vmlinux 0x6c330784 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL_GPL vmlinux 0x6c3aa149 __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6c45c248 crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0x6c4b6684 reset_control_assert +EXPORT_SYMBOL_GPL vmlinux 0x6c5ad0cd kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x6c655913 register_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6c659e05 xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0x6c71600e balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0x6c7b435f mc146818_does_rtc_work +EXPORT_SYMBOL_GPL vmlinux 0x6c8a493a virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6caa7b98 tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0x6cb85010 acpi_set_modalias +EXPORT_SYMBOL_GPL vmlinux 0x6cbb8e15 hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x6cd4405e i2c_dw_probe_master +EXPORT_SYMBOL_GPL vmlinux 0x6cd55be0 dev_pm_opp_put_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x6cf071f2 kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0x6cf3505e devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x6cfabcdc sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0x6d04891d inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x6d09843f copy_bpf_fprog_from_user +EXPORT_SYMBOL_GPL vmlinux 0x6d0ae550 pinctrl_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6d2e899d mce_usable_address +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d3df974 adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0x6d402ef9 irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x6d554a64 fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x6d5795f2 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x6d5a30cd simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x6d5e593a crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x6d6d74f2 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d7832b7 __stack_depot_save +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d8106fa __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6d9127d3 vp_modern_get_driver_features +EXPORT_SYMBOL_GPL vmlinux 0x6d982b9e crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x6d9d70ee crypto_unregister_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x6da520e6 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6dbbb347 pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x6dc3dacb __traceiter_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x6dc43ef2 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x6dd5680d sprint_symbol_build_id +EXPORT_SYMBOL_GPL vmlinux 0x6df12d1c dev_pm_opp_detach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x6e00fcfb modify_ftrace_direct +EXPORT_SYMBOL_GPL vmlinux 0x6e01dfbb gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0x6e0e5a64 cpufreq_generic_init +EXPORT_SYMBOL_GPL vmlinux 0x6e310fa5 gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0x6e3347ec devlink_priv +EXPORT_SYMBOL_GPL vmlinux 0x6e353c26 mpi_rshift +EXPORT_SYMBOL_GPL vmlinux 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6e79f607 icc_sync_state +EXPORT_SYMBOL_GPL vmlinux 0x6e85b00b local_touch_nmi +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6eb04f46 register_random_vmfork_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ed72ac7 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x6ed8ccca thermal_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x6ee1dd84 usb_phy_set_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6ef366b6 l3mdev_table_lookup_register +EXPORT_SYMBOL_GPL vmlinux 0x6ef63931 devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ef77502 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x6f053e4d __traceiter_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0x6f0ec990 nf_ct_frag6_gather +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f130bb8 regcache_drop_region +EXPORT_SYMBOL_GPL vmlinux 0x6f206fdc device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6f280bde iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0x6f36af7a clk_hw_get_num_parents +EXPORT_SYMBOL_GPL vmlinux 0x6f4c842b __traceiter_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x6f5c6814 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x6f6b52e9 __ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x6f7e6040 irq_has_action +EXPORT_SYMBOL_GPL vmlinux 0x6f935e35 ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0x6f95ccf4 gnttab_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6f9f892e nvmem_add_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x6fa4f3bf __tracepoint_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x6fa9c3ae nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL vmlinux 0x6fb7eca9 __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x6fcdee6d gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6fd88d46 iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x6fdf5197 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6fdfc091 __blk_trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6ffce680 x86_cpu_has_min_microcode_rev +EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions +EXPORT_SYMBOL_GPL vmlinux 0x7013c1fe debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x701f350e ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x70408cb6 sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x7056476e pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0x70576fee acpi_processor_ffh_cstate_probe +EXPORT_SYMBOL_GPL vmlinux 0x7062d20d disk_uevent +EXPORT_SYMBOL_GPL vmlinux 0x707076ae spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x7070b9b4 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7077a445 to_software_node +EXPORT_SYMBOL_GPL vmlinux 0x708ab7a5 __SCK__tp_func_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x709564f7 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x70a6dc0f __alloc_pages_bulk +EXPORT_SYMBOL_GPL vmlinux 0x70bdc999 devm_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x70c2c7ea pids_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x70c52dc5 nf_skb_duplicated +EXPORT_SYMBOL_GPL vmlinux 0x70c6d827 mc146818_set_time +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70f31a10 apei_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x70f8ff02 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x70fbae4d cppc_allow_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7118db2c irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x7129a6f4 osc_sb_native_usb4_support_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x712d4c0e fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0x712f30e7 blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x713bb643 device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0x7147bb26 scsi_build_sense +EXPORT_SYMBOL_GPL vmlinux 0x714f5555 devm_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x715a3f28 call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x715a43ce priv_to_devlink +EXPORT_SYMBOL_GPL vmlinux 0x7161fe7f sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71724493 mctrl_gpio_enable_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x717bcdac pinctrl_find_gpio_range_from_pin_nolock +EXPORT_SYMBOL_GPL vmlinux 0x718191a6 crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x7181db30 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71854603 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x7195940a mctrl_gpio_disable_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x719bac6f __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x719e17ff clk_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71a4189f sync_blockdev_nowait +EXPORT_SYMBOL_GPL vmlinux 0x71b15008 lwtunnel_valid_encap_type +EXPORT_SYMBOL_GPL vmlinux 0x71b6cf94 dst_cache_reset_now +EXPORT_SYMBOL_GPL vmlinux 0x71bd7352 xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0x71c059d8 __traceiter_map +EXPORT_SYMBOL_GPL vmlinux 0x71c47b19 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x71cfe56e crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0x71d14606 device_iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0x71ea0626 __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0x71f6bac2 regulator_desc_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x71fd4cd1 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x7202117d spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x72045017 phy_led_triggers_register +EXPORT_SYMBOL_GPL vmlinux 0x72090bbf simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x7220f2bb hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x7237e950 pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x7246ca5d mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x72485387 vfio_pci_core_ioctl_feature +EXPORT_SYMBOL_GPL vmlinux 0x7262702b sfp_get_module_eeprom_by_page +EXPORT_SYMBOL_GPL vmlinux 0x7265f2b0 pci_vpd_check_csum +EXPORT_SYMBOL_GPL vmlinux 0x727291a5 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x72749bf9 nvme_host_path_error +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x7283161b percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x72913784 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x7298ba68 devlink_to_dev +EXPORT_SYMBOL_GPL vmlinux 0x72a18318 gnttab_unmap_refs_async +EXPORT_SYMBOL_GPL vmlinux 0x72aafe14 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x72af5822 acpi_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0x72b1949e syscon_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x72b3b31f da9052_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x72b986e8 acpi_bind_one +EXPORT_SYMBOL_GPL vmlinux 0x72d267dc nvmem_del_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x72d39b72 devm_thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x72d6c7a8 scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x72d8fed5 ata_sas_tport_delete +EXPORT_SYMBOL_GPL vmlinux 0x72e845ea iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x72eb39cb to_nd_desc +EXPORT_SYMBOL_GPL vmlinux 0x72f0e8e8 pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x7307323a fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0x730d5f04 gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x73162c02 devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x7316b9a3 gpiochip_add_pingroup_range +EXPORT_SYMBOL_GPL vmlinux 0x7319f3cd vp_legacy_get_features +EXPORT_SYMBOL_GPL vmlinux 0x731dba7a xen_domain_type +EXPORT_SYMBOL_GPL vmlinux 0x732852fe xenbus_transaction_end +EXPORT_SYMBOL_GPL vmlinux 0x732cf8f4 dev_pm_opp_put_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x7331e1fb find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x73326922 devm_register_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x733ec33e __SCT__tp_func_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x7344c4c1 devm_regmap_add_irq_chip_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x73515950 _copy_mc_to_iter +EXPORT_SYMBOL_GPL vmlinux 0x7351fcb1 devlink_remote_reload_actions_performed +EXPORT_SYMBOL_GPL vmlinux 0x7381287f trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0x738346ec da9052_request_irq +EXPORT_SYMBOL_GPL vmlinux 0x738e72b9 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x738fe32b amd_get_nodes_per_socket +EXPORT_SYMBOL_GPL vmlinux 0x7395cb97 i2c_match_id +EXPORT_SYMBOL_GPL vmlinux 0x73a0600e ptdump_walk_pgd_level_debugfs +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73c2554f __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x73c99fcc em_dev_unregister_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73ccf4dd pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x73e9ecca edac_mc_add_mc_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x73ec22be sdio_retune_crc_enable +EXPORT_SYMBOL_GPL vmlinux 0x73fdcf57 fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0x74040e18 devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x74252660 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0x743a0b40 regulator_suspend_disable +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x74415427 uprobe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7441bb03 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x7444e1a3 gnttab_batch_copy +EXPORT_SYMBOL_GPL vmlinux 0x74457e56 apei_resources_fini +EXPORT_SYMBOL_GPL vmlinux 0x744d6f16 devfreq_event_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x7452adff user_return_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x745ee124 nf_ct_seq_adjust +EXPORT_SYMBOL_GPL vmlinux 0x747b41ee xhci_get_ep_ctx +EXPORT_SYMBOL_GPL vmlinux 0x747c8b0f bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0x747d0136 __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x748c9028 xenbus_probe_devices +EXPORT_SYMBOL_GPL vmlinux 0x74a4f633 splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0x74b5ea68 lcm_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74c7bffa stack_trace_snprint +EXPORT_SYMBOL_GPL vmlinux 0x74d36933 srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x74e14694 acpi_bus_get_acpi_device +EXPORT_SYMBOL_GPL vmlinux 0x74e6c8a4 pinctrl_utils_free_map +EXPORT_SYMBOL_GPL vmlinux 0x74e73871 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x74ef6cb6 devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x74f3b212 set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0x74f9bfe1 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x75082c45 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x75133f6e visitor128 +EXPORT_SYMBOL_GPL vmlinux 0x7514a963 tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x751ab68f kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x7521afb6 leave_mm +EXPORT_SYMBOL_GPL vmlinux 0x7522669b find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x7557cdcc tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0x7560b171 dax_recovery_write +EXPORT_SYMBOL_GPL vmlinux 0x75682f91 iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0x756d9f72 cgroup_get_from_id +EXPORT_SYMBOL_GPL vmlinux 0x757c1bbb housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0x757f2b01 usb_phy_roothub_suspend +EXPORT_SYMBOL_GPL vmlinux 0x75827524 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x7591bd90 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x759bfe36 btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0x75af505f sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x75c34e74 regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x75c96a16 pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0x75d585ab xdp_return_buff +EXPORT_SYMBOL_GPL vmlinux 0x75d7bf8e usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x75d94e3f inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x75dd35fb edac_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x75f59a48 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x760615a1 gov_attr_set_init +EXPORT_SYMBOL_GPL vmlinux 0x7611a4d6 serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0x761384d2 pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0x76258df8 bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0x762640ab __SCT__tp_func_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x7643e6a1 vfio_pci_core_aer_err_detected +EXPORT_SYMBOL_GPL vmlinux 0x7647c063 extcon_find_edev_by_node +EXPORT_SYMBOL_GPL vmlinux 0x7649a331 net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0x764fd2fe vp_legacy_set_features +EXPORT_SYMBOL_GPL vmlinux 0x764ffefa page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0x76500802 cpufreq_freq_transition_begin +EXPORT_SYMBOL_GPL vmlinux 0x76501450 dev_pm_genpd_resume +EXPORT_SYMBOL_GPL vmlinux 0x765f8830 __SCT__tp_func_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x7662e079 ndo_dflt_bridge_getlink +EXPORT_SYMBOL_GPL vmlinux 0x7665a95b idr_remove +EXPORT_SYMBOL_GPL vmlinux 0x7681946c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x769cefb5 percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0x76a815c6 hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x76d2e865 __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x76d680f6 acpi_dev_resource_memory +EXPORT_SYMBOL_GPL vmlinux 0x76d9b876 clk_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x76da63e8 wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x76dab779 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x76dc031e asm_exc_nmi_noist +EXPORT_SYMBOL_GPL vmlinux 0x76e2855c nvme_init_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x76e85b92 gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x76f54d6c __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0x77039b05 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x7707c584 __traceiter_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x772068a5 irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x772154f8 irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x77222306 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7725f717 palmas_ext_control_req_config +EXPORT_SYMBOL_GPL vmlinux 0x772749c4 led_compose_name +EXPORT_SYMBOL_GPL vmlinux 0x772b0f64 __wake_up_pollfree +EXPORT_SYMBOL_GPL vmlinux 0x772fbb3e usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x77363f39 xhci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x773f2713 clk_hw_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x774d1e37 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x77522cf6 sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x7756b836 acpi_create_platform_device +EXPORT_SYMBOL_GPL vmlinux 0x7757b51a clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7769712f phy_get +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x779bc477 cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0x779e4938 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL vmlinux 0x77ae495d usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x77be0dd7 regmap_fields_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x77d07e1b __SCK__tp_func_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x77d35756 l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0x77e35bc3 acct_bioset_init +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x77ecf68d memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0x77f24400 perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x77f73a66 vp_legacy_probe +EXPORT_SYMBOL_GPL vmlinux 0x78041b8f byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x780d0531 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0x78176ba1 devlink_param_unregister +EXPORT_SYMBOL_GPL vmlinux 0x781936ae __nvdimm_create +EXPORT_SYMBOL_GPL vmlinux 0x7824eeff perf_msr_probe +EXPORT_SYMBOL_GPL vmlinux 0x782adb74 hpet_rtc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x7834c019 phy_10gbit_full_features +EXPORT_SYMBOL_GPL vmlinux 0x783be3f1 wakeup_sources_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x7846afcd netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x7867ed66 usb_pipe_type_check +EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x788d3765 regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x78a5b759 i2c_recover_bus +EXPORT_SYMBOL_GPL vmlinux 0x78a908a0 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x78ac2e4b pinctrl_utils_add_map_configs +EXPORT_SYMBOL_GPL vmlinux 0x78bab66b irq_force_affinity +EXPORT_SYMBOL_GPL vmlinux 0x78c131a1 blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0x78c47e0a ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0x78d0897a dma_mmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x78ddb76b dmi_match +EXPORT_SYMBOL_GPL vmlinux 0x78e187c7 phy_driver_is_genphy +EXPORT_SYMBOL_GPL vmlinux 0x78eb180e ethnl_cable_test_fault_length +EXPORT_SYMBOL_GPL vmlinux 0x78ee6f12 usb_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x78f2705f serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0x78fcac69 __SCK__tp_func_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x790089fb tty_get_icount +EXPORT_SYMBOL_GPL vmlinux 0x790aba5a __devm_spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x790be0b9 usb_bus_idr +EXPORT_SYMBOL_GPL vmlinux 0x7915cee5 do_machine_check +EXPORT_SYMBOL_GPL vmlinux 0x791748c8 adxl_decode +EXPORT_SYMBOL_GPL vmlinux 0x7918d817 memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x79209858 __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x7922758e serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x7928d9ac scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x793b1f7f dev_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x79470a2c TSS_authhmac +EXPORT_SYMBOL_GPL vmlinux 0x794a0246 __traceiter_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x794b7271 orderly_reboot +EXPORT_SYMBOL_GPL vmlinux 0x794b7b71 devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x7966359a inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x797c1016 filemap_read +EXPORT_SYMBOL_GPL vmlinux 0x7989ed3b dev_pm_opp_get_power +EXPORT_SYMBOL_GPL vmlinux 0x798b7161 devm_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x798b7682 klist_prev +EXPORT_SYMBOL_GPL vmlinux 0x7991fd8d crash_vmclear_loaded_vmcss +EXPORT_SYMBOL_GPL vmlinux 0x799c5405 md_run +EXPORT_SYMBOL_GPL vmlinux 0x79a192b7 of_icc_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x79bc842c usb_anchor_suspend_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x79c18ac4 gnttab_unmap_refs_sync +EXPORT_SYMBOL_GPL vmlinux 0x79ce3f23 regmap_parse_val +EXPORT_SYMBOL_GPL vmlinux 0x79d3beeb kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x79daf4de __SCT__tp_func_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x79dce4ff spi_mem_adjust_op_size +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79e69460 intel_iommu_gfx_mapped +EXPORT_SYMBOL_GPL vmlinux 0x79ea7ab3 param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x79eb72a4 of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x79f1aa44 find_iova +EXPORT_SYMBOL_GPL vmlinux 0x79f697e4 lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x79f6bb67 dev_pm_opp_put +EXPORT_SYMBOL_GPL vmlinux 0x79f8890c acpiphp_unregister_attention +EXPORT_SYMBOL_GPL vmlinux 0x7a0acfa9 find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0x7a1c45a1 __irq_alloc_domain_generic_chips +EXPORT_SYMBOL_GPL vmlinux 0x7a2273aa param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x7a237985 acpi_data_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x7a300a5b ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x7a32e8e4 rio_mport_initialize +EXPORT_SYMBOL_GPL vmlinux 0x7a4106c8 regmap_add_irq_chip_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x7a5646c9 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x7a655f68 acpi_processor_claim_cst_control +EXPORT_SYMBOL_GPL vmlinux 0x7a7160ad usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x7a73e605 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7a8bad2f skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7a98f4b4 copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x7a9e4c23 software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x7ac2ed2c phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7ac82fcb sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x7ac86b86 of_css +EXPORT_SYMBOL_GPL vmlinux 0x7ad02a41 asn1_encode_tag +EXPORT_SYMBOL_GPL vmlinux 0x7ad1ded1 pinctrl_register_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7ad610a8 crypto_alloc_acomp_node +EXPORT_SYMBOL_GPL vmlinux 0x7adc5a00 iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0x7adcb7ff spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x7ae5387e __traceiter_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x7ae729ed ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x7af894da shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0x7afcb7db __kprobe_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x7afd65f6 fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0x7b050dc5 handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0x7b178afe unlock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7b18a9a2 ata_common_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0x7b3857fe led_trigger_write +EXPORT_SYMBOL_GPL vmlinux 0x7b3f204d iommu_map +EXPORT_SYMBOL_GPL vmlinux 0x7b478a9c folio_wait_writeback_killable +EXPORT_SYMBOL_GPL vmlinux 0x7b5345ea skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0x7b5452b8 acpi_unregister_gsi +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b62d8ee sdio_retune_crc_disable +EXPORT_SYMBOL_GPL vmlinux 0x7b634a77 xenbus_dev_remove +EXPORT_SYMBOL_GPL vmlinux 0x7b642a29 thermal_remove_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x7b663d14 acpi_cppc_processor_exit +EXPORT_SYMBOL_GPL vmlinux 0x7b6a615a usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x7b6a6311 devlink_rate_leaf_create +EXPORT_SYMBOL_GPL vmlinux 0x7b6f9536 acpi_register_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0x7b7031b9 ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0x7b72f58d vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL vmlinux 0x7b74a2d8 __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x7b7908d1 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x7b8910f4 kfence_sample_interval +EXPORT_SYMBOL_GPL vmlinux 0x7b90d1a9 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x7b9418b1 fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7b983f26 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x7ba4679f tpm_tis_resume +EXPORT_SYMBOL_GPL vmlinux 0x7ba7b381 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x7bb024ed usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x7bb045a7 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x7bb73e41 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x7bbb4f2c kpp_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x7bc8f1a0 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x7bcb4176 ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0x7be04fd6 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL vmlinux 0x7be1b9ab nfnetlink_broadcast +EXPORT_SYMBOL_GPL vmlinux 0x7be71a6b regulator_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x7be77fb8 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7bf1f087 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x7c127f69 devlink_alloc_ns +EXPORT_SYMBOL_GPL vmlinux 0x7c20b6a0 load_direct_gdt +EXPORT_SYMBOL_GPL vmlinux 0x7c291e86 show_rcu_tasks_trace_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0x7c3d8a4b icc_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0x7c3db74d tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x7c5f3711 ioasid_unregister_allocator +EXPORT_SYMBOL_GPL vmlinux 0x7c64372d pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x7c6af7d4 ehci_adjust_port_wakeup_flags +EXPORT_SYMBOL_GPL vmlinux 0x7c983a5d dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x7c9a7371 clk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7c9cae5d nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL vmlinux 0x7ca4caeb xenbus_setup_ring +EXPORT_SYMBOL_GPL vmlinux 0x7ca64a0b __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x7cab996a init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x7cb02f3f __traceiter_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL_GPL vmlinux 0x7cb803de btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x7cceaf92 zs_pool_stats +EXPORT_SYMBOL_GPL vmlinux 0x7cd6f042 cpufreq_get_current_driver +EXPORT_SYMBOL_GPL vmlinux 0x7ce2e6ab alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7cf34b86 syscon_regmap_lookup_by_phandle_args +EXPORT_SYMBOL_GPL vmlinux 0x7d00c65b nd_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x7d06f0f3 cpufreq_dbs_governor_limits +EXPORT_SYMBOL_GPL vmlinux 0x7d0db92d nvmem_cell_read_variable_le_u64 +EXPORT_SYMBOL_GPL vmlinux 0x7d0dd48c dev_pm_opp_put_clkname +EXPORT_SYMBOL_GPL vmlinux 0x7d0e1d95 hv_setup_crash_handler +EXPORT_SYMBOL_GPL vmlinux 0x7d139d1d phy_pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x7d1bb1d4 tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0x7d2f2ee4 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x7d324400 extcon_sync +EXPORT_SYMBOL_GPL vmlinux 0x7d349ddf nvme_get_features +EXPORT_SYMBOL_GPL vmlinux 0x7d50ac49 spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7d5174b9 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x7d56d5a9 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x7d56f512 device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d6e3b75 usb_control_msg_recv +EXPORT_SYMBOL_GPL vmlinux 0x7d79dbd5 preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x7d81510c tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0x7d86bb13 dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0x7d87f980 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0x7d9a33a9 gov_attr_set_put +EXPORT_SYMBOL_GPL vmlinux 0x7d9ac880 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x7d9b7be2 crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0x7da520ba __put_net +EXPORT_SYMBOL_GPL vmlinux 0x7db72065 rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7ddb21e3 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x7ddc82d9 watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x7de0e3ba serial8250_rpm_get +EXPORT_SYMBOL_GPL vmlinux 0x7de39e07 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7de5af0e netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7de65a03 acpi_lpat_free_conversion_table +EXPORT_SYMBOL_GPL vmlinux 0x7de6cc23 io_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7defc870 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0x7e06ef09 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x7e20c67c put_io_context +EXPORT_SYMBOL_GPL vmlinux 0x7e22f2f4 watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0x7e369007 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x7e3bdecd __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x7e41bc74 msi_next_desc +EXPORT_SYMBOL_GPL vmlinux 0x7e46e117 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x7e5db80b pstore_name_to_type +EXPORT_SYMBOL_GPL vmlinux 0x7e6336a5 i2c_acpi_client_count +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e7a47c9 pci_acpi_clear_companion_lookup_hook +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e7f41b3 crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0x7e87f0ff nf_ct_ecache_ext_add +EXPORT_SYMBOL_GPL vmlinux 0x7e8d8619 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x7e943b45 devlink_port_attrs_pci_sf_set +EXPORT_SYMBOL_GPL vmlinux 0x7ea75c24 __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0x7eb718ba vp_legacy_get_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7ec4133c serial8250_rpm_get_tx +EXPORT_SYMBOL_GPL vmlinux 0x7ecaa778 fscrypt_dio_supported +EXPORT_SYMBOL_GPL vmlinux 0x7ed229a9 dev_attr_ncq_prio_supported +EXPORT_SYMBOL_GPL vmlinux 0x7ee69965 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x7eea6b8b pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0x7eef9711 phy_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x7ef18485 devm_regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x7f00bdac devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0x7f040bed led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x7f2125af vfio_file_iommu_group +EXPORT_SYMBOL_GPL vmlinux 0x7f2ca99e vp_modern_remove +EXPORT_SYMBOL_GPL vmlinux 0x7f3527ee pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0x7f57fe45 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x7f66ca6f uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x7f6cee89 rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7f73ee35 regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f83b4d4 dev_pm_qos_expose_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x7f84f35d rcu_gp_slow_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7f9612dd acpi_is_pnp_device +EXPORT_SYMBOL_GPL vmlinux 0x7f9b1879 osc_cpc_flexible_adr_space_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x7fa96509 erst_get_record_id_next +EXPORT_SYMBOL_GPL vmlinux 0x7fafdec9 clk_fixed_factor_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fb278ab ping_err +EXPORT_SYMBOL_GPL vmlinux 0x7fc9f389 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0x7fca31da intel_pmic_install_opregion_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fcbe060 regmap_multi_reg_write_bypassed +EXPORT_SYMBOL_GPL vmlinux 0x7fe0b69d generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fe89884 __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x7fff1996 aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x800c00f6 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x801bca74 nf_ct_seqadj_init +EXPORT_SYMBOL_GPL vmlinux 0x80286e87 of_hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x802c90f5 pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0x803377a1 __tracepoint_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0x803916c2 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x806894c8 blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0x8068f569 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x807766ea usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x807fdcc4 call_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x8080bd2c usb_enable_intel_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x808a8088 handle_guest_split_lock +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80941ecf i2c_dw_acpi_configure +EXPORT_SYMBOL_GPL vmlinux 0x809f0ea5 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x80a23b64 fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0x80aed884 component_add +EXPORT_SYMBOL_GPL vmlinux 0x80b01c5a acpi_subsys_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x80b89536 md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x80c4b63f gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x80c68137 nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x80cbbc37 fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x80cc4534 get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80db00b8 mbox_client_peek_data +EXPORT_SYMBOL_GPL vmlinux 0x80e6e4e2 blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0x80f678e4 xen_unmap_domain_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0x8103ad1f dw_pcie_link_up +EXPORT_SYMBOL_GPL vmlinux 0x81092971 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x81127692 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x811551bc pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x811dc334 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0x8120e0cc edac_device_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x81221cad amd_nb_num +EXPORT_SYMBOL_GPL vmlinux 0x8133f294 devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0x813bd86f virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0x813cf212 nvme_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x814828b5 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x815588a6 clk_enable +EXPORT_SYMBOL_GPL vmlinux 0x815a8306 component_release_of +EXPORT_SYMBOL_GPL vmlinux 0x815fda83 sed_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x816a41ca cpufreq_update_limits +EXPORT_SYMBOL_GPL vmlinux 0x81725a50 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x8175e533 acpi_unbind_one +EXPORT_SYMBOL_GPL vmlinux 0x817e003f ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x8180cede asn1_encode_sequence +EXPORT_SYMBOL_GPL vmlinux 0x81906695 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x8195102f acpi_dev_add_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x819a4331 badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0x819d72cb klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x81a7f541 percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0x81b03377 efivar_entry_set_safe +EXPORT_SYMBOL_GPL vmlinux 0x81b7d386 mbox_chan_received_data +EXPORT_SYMBOL_GPL vmlinux 0x81cb5635 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x81d10485 ioasid_free +EXPORT_SYMBOL_GPL vmlinux 0x81dd892f nvdimm_bus_check_dimm_count +EXPORT_SYMBOL_GPL vmlinux 0x81e2bdf4 generic_handle_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x81f372a2 unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x82092899 badrange_forget +EXPORT_SYMBOL_GPL vmlinux 0x821ec7f1 clk_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x82226c53 pinctrl_unregister_mappings +EXPORT_SYMBOL_GPL vmlinux 0x8225f6ee transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x823eae06 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x82451661 dev_pm_domain_attach_by_name +EXPORT_SYMBOL_GPL vmlinux 0x82532032 __SCK__tp_func_map +EXPORT_SYMBOL_GPL vmlinux 0x826c59f0 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x826f7424 led_put +EXPORT_SYMBOL_GPL vmlinux 0x827e61f8 acpi_has_watchdog +EXPORT_SYMBOL_GPL vmlinux 0x828e22f4 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x8291e2f8 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x82988431 __tracepoint_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x82bd909e __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0x82c4edef handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0x82c5238f exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0x82d11995 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x82d2ab09 smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82f166ad crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x82ff4b95 clk_hw_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x831f549f xdp_do_redirect_frame +EXPORT_SYMBOL_GPL vmlinux 0x8328673f uv_bios_get_master_nasid +EXPORT_SYMBOL_GPL vmlinux 0x832b24e2 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL vmlinux 0x8335ca43 __SCT__tp_func_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x833623ff devm_usb_get_phy_by_node +EXPORT_SYMBOL_GPL vmlinux 0x8339df73 klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x834653ae component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0x8349a895 nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x8353dfff acpi_os_get_iomem +EXPORT_SYMBOL_GPL vmlinux 0x8357be3e regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x8368f7a0 regulator_get_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x836aed73 acpi_quirk_skip_serdev_enumeration +EXPORT_SYMBOL_GPL vmlinux 0x837800f8 register_nvdimm_pmu +EXPORT_SYMBOL_GPL vmlinux 0x837a6d25 wwan_register_ops +EXPORT_SYMBOL_GPL vmlinux 0x838bdd8e mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0x839066fa __folio_lock_killable +EXPORT_SYMBOL_GPL vmlinux 0x83936adf firmware_upload_register +EXPORT_SYMBOL_GPL vmlinux 0x839e0b87 nf_ct_timeout_hook +EXPORT_SYMBOL_GPL vmlinux 0x83b77f7a sdio_retune_release +EXPORT_SYMBOL_GPL vmlinux 0x83d349cb pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x83eae52b md_start +EXPORT_SYMBOL_GPL vmlinux 0x83f2ba39 regulator_map_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x83f642da xen_xenbus_fops +EXPORT_SYMBOL_GPL vmlinux 0x8401475a perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8404b328 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x840aea37 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x84106f36 devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x8418b11f __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x84240085 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x8425b9c3 xas_split_alloc +EXPORT_SYMBOL_GPL vmlinux 0x84264ced fs_umode_to_ftype +EXPORT_SYMBOL_GPL vmlinux 0x842f046d usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x843b9857 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x84446b61 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x84502a47 blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x84529c03 iommu_sva_alloc_pasid +EXPORT_SYMBOL_GPL vmlinux 0x845dbf3b scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x8462cb62 atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0x8465a623 usb_get_role_switch_default_mode +EXPORT_SYMBOL_GPL vmlinux 0x847154dd tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0x847e2aa9 vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x847faf15 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x8486b9c4 exportfs_decode_fh_raw +EXPORT_SYMBOL_GPL vmlinux 0x84972cae scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0x84a5a8fc nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL vmlinux 0x84b027d0 nvmem_device_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x84b268cf sn_coherency_id +EXPORT_SYMBOL_GPL vmlinux 0x84d24ae8 blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x84e2d1d5 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0x84e5cdcf nvme_complete_batch_req +EXPORT_SYMBOL_GPL vmlinux 0x84ef27f5 synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x8506baa8 clk_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x850bb6db devlink_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8514cca0 ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0x851e6003 usb_phy_roothub_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x852072b6 fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0x85234298 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x852c9d88 intel_pinctrl_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x852caf97 dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0x853006e7 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x85344c20 dev_get_tstats64 +EXPORT_SYMBOL_GPL vmlinux 0x85433073 debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0x85540ebc nvmem_cell_put +EXPORT_SYMBOL_GPL vmlinux 0x85565979 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x855fa0ed fpu_update_guest_xfd +EXPORT_SYMBOL_GPL vmlinux 0x85662e83 blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0x856f58e3 fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x85766a7d pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x857d8228 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x85862277 ioasid_find +EXPORT_SYMBOL_GPL vmlinux 0x85871995 crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0x85935a61 acpi_dev_irq_flags +EXPORT_SYMBOL_GPL vmlinux 0x85983e56 __irq_domain_alloc_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x85b15444 arch_set_max_freq_ratio +EXPORT_SYMBOL_GPL vmlinux 0x85b5dff6 pci_epf_add_vepf +EXPORT_SYMBOL_GPL vmlinux 0x85b5faf8 proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0x85be9701 i2c_dw_validate_speed +EXPORT_SYMBOL_GPL vmlinux 0x85bfc5f9 __SCT__tp_func_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x85c54b61 efivar_validate +EXPORT_SYMBOL_GPL vmlinux 0x85cb2c45 xen_has_pv_devices +EXPORT_SYMBOL_GPL vmlinux 0x85d7edfd hpet_set_periodic_freq +EXPORT_SYMBOL_GPL vmlinux 0x85dccc8d pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x85eed1be iopf_queue_discard_partial +EXPORT_SYMBOL_GPL vmlinux 0x86046685 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x86169f3e amd_smn_write +EXPORT_SYMBOL_GPL vmlinux 0x861a7a70 fscrypt_dummy_policies_equal +EXPORT_SYMBOL_GPL vmlinux 0x861f6427 gpiochip_generic_request +EXPORT_SYMBOL_GPL vmlinux 0x86210950 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x862258db timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x862910cc tps65912_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x862bb17b linear_range_values_in_range_array +EXPORT_SYMBOL_GPL vmlinux 0x863c640f gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0x86585a33 devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x865b76ab gov_attr_set_get +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x86700220 acpi_get_cpuid +EXPORT_SYMBOL_GPL vmlinux 0x8677245d unregister_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8677f369 pvclock_get_pvti_cpu0_va +EXPORT_SYMBOL_GPL vmlinux 0x86828bce dma_map_sgtable +EXPORT_SYMBOL_GPL vmlinux 0x8684b15b strp_process +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x868888a7 nd_region_dev +EXPORT_SYMBOL_GPL vmlinux 0x8691f4a5 phy_power_on +EXPORT_SYMBOL_GPL vmlinux 0x86938892 dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x86a24519 set_capacity_and_notify +EXPORT_SYMBOL_GPL vmlinux 0x86a2ffc8 tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x86a7c81b devres_get +EXPORT_SYMBOL_GPL vmlinux 0x86aaf603 __traceiter_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x86b13d2a usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x86b427ce clkdev_create +EXPORT_SYMBOL_GPL vmlinux 0x86b7113f xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0x86c43a8c cper_estatus_check +EXPORT_SYMBOL_GPL vmlinux 0x86dda6ef rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0x86eea93d nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f85114 net_dec_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x870e16b7 xen_test_irq_shared +EXPORT_SYMBOL_GPL vmlinux 0x87279946 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x872d4f7c __SCT__tp_func_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x8735ed3d irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8737aa29 iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x873a714d usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x873b10f7 iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0x875bd873 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x876694f2 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x876fda72 genphy_c45_baset1_read_status +EXPORT_SYMBOL_GPL vmlinux 0x87908767 xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0x879c8520 register_fprobe_ips +EXPORT_SYMBOL_GPL vmlinux 0x879cbc00 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x87bf846a power_supply_get_property +EXPORT_SYMBOL_GPL vmlinux 0x87c4158c amd_iommu_is_attach_deferred +EXPORT_SYMBOL_GPL vmlinux 0x87e64181 amd_nb_has_feature +EXPORT_SYMBOL_GPL vmlinux 0x87e6ce9c sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x87f236f0 spi_split_transfers_maxsize +EXPORT_SYMBOL_GPL vmlinux 0x87f34e99 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x87f3e394 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x8800ea2e debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x880bf869 xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0x8810816a icc_link_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8818806f devm_hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x8821d0da tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0x882b49bb skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x8836ec1e __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0x883ba2f3 nfnetlink_set_err +EXPORT_SYMBOL_GPL vmlinux 0x88476f9f devl_lock +EXPORT_SYMBOL_GPL vmlinux 0x8849c2d5 driver_deferred_probe_check_state +EXPORT_SYMBOL_GPL vmlinux 0x885528a6 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x8881f81e unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x888747b4 udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0x888c2bab param_set_uint_minmax +EXPORT_SYMBOL_GPL vmlinux 0x888c5be5 irq_bypass_register_consumer +EXPORT_SYMBOL_GPL vmlinux 0x88a0cfa0 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x88a1ee19 devfreq_event_reset_event +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b4ae92 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x88b974e4 bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0x88c4d113 __SCK__tp_func_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0x88cce6a0 xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0x88d4986e driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x88d5c7f8 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x88da1e50 platform_set +EXPORT_SYMBOL_GPL vmlinux 0x88ddf080 i2c_dw_configure_master +EXPORT_SYMBOL_GPL vmlinux 0x88e09422 badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0x88faa934 dax_zero_range +EXPORT_SYMBOL_GPL vmlinux 0x8903ed39 nvmem_device_find +EXPORT_SYMBOL_GPL vmlinux 0x890f4f97 __kprobe_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x890f6b3d acpi_fetch_acpi_dev +EXPORT_SYMBOL_GPL vmlinux 0x890fa0fa btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0x891563fe __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x891a5a7f gnttab_max_grant_frames +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x892f9f04 __SCT__tp_func_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x892fb17c ioc_find_get_icq +EXPORT_SYMBOL_GPL vmlinux 0x8937b56b ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x893abbdd devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x89485687 iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x8966402e scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x89667b8c skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x898834a3 trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0x898bdc99 of_phy_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x89a7c241 virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0x89ae7aa0 rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x89bbafc6 usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x89c1bf2b ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0x89c2a024 pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x89d50cee vp_legacy_get_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x89e340cf acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x89f05441 i2c_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x89f32d4c dm_audit_log_ti +EXPORT_SYMBOL_GPL vmlinux 0x89f74c24 clk_hw_rate_is_protected +EXPORT_SYMBOL_GPL vmlinux 0x8a0f68c9 crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0x8a1dde3f scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x8a257730 component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0x8a3f84ba linear_range_get_selector_low +EXPORT_SYMBOL_GPL vmlinux 0x8a40efde debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0x8a45a555 acpi_unregister_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0x8a46cb6c mc146818_avoid_UIP +EXPORT_SYMBOL_GPL vmlinux 0x8a60bbb6 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x8a62b81b sfp_upstream_stop +EXPORT_SYMBOL_GPL vmlinux 0x8a7cb9c4 platform_thermal_package_rate_control +EXPORT_SYMBOL_GPL vmlinux 0x8a80ccc4 dma_resv_describe +EXPORT_SYMBOL_GPL vmlinux 0x8a838ef6 intel_scu_ipc_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x8a83fb45 mpi_point_free_parts +EXPORT_SYMBOL_GPL vmlinux 0x8a88d6bf page_cache_async_ra +EXPORT_SYMBOL_GPL vmlinux 0x8a9c70ed nvme_sec_submit +EXPORT_SYMBOL_GPL vmlinux 0x8ab50640 pci_hp_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8ab76e9d rio_unmap_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ac04870 acpi_dev_gpio_irq_get_by +EXPORT_SYMBOL_GPL vmlinux 0x8ac5d2eb spi_take_timestamp_post +EXPORT_SYMBOL_GPL vmlinux 0x8acb1973 __traceiter_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x8ad5ceb1 __uv_hub_info_list +EXPORT_SYMBOL_GPL vmlinux 0x8ae5d40c srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x8ae7aabe mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x8ae89d7a usb_urb_ep_type_check +EXPORT_SYMBOL_GPL vmlinux 0x8aec345f __SCK__tp_func_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x8af25a57 serial8250_do_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x8b025897 do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x8b149c36 clk_is_match +EXPORT_SYMBOL_GPL vmlinux 0x8b1c60e5 devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x8b3d8af5 gnttab_foreach_grant_in_range +EXPORT_SYMBOL_GPL vmlinux 0x8b43833f usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x8b47ea1d __SCT__tp_func_extlog_mem_event +EXPORT_SYMBOL_GPL vmlinux 0x8b520c04 wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0x8b5c969b __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x8b65afa8 gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0x8b69c783 pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x8b89f01c hv_ghcb_hypercall +EXPORT_SYMBOL_GPL vmlinux 0x8b8cc689 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x8b9200fd lookup_address +EXPORT_SYMBOL_GPL vmlinux 0x8b94ab66 fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x8b95e6a2 __SCT__tp_func_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x8ba69adc receive_fd +EXPORT_SYMBOL_GPL vmlinux 0x8bb26a0d rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x8bc7c552 cpufreq_table_index_unsorted +EXPORT_SYMBOL_GPL vmlinux 0x8bd977f7 dw_pcie_ep_raise_msi_irq +EXPORT_SYMBOL_GPL vmlinux 0x8be4dcb9 bd_prepare_to_claim +EXPORT_SYMBOL_GPL vmlinux 0x8c0215f2 pm_system_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c047a33 devlink_port_region_create +EXPORT_SYMBOL_GPL vmlinux 0x8c0ed103 rcu_check_boost_fail +EXPORT_SYMBOL_GPL vmlinux 0x8c1655db led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x8c28019c usb_hub_find_child +EXPORT_SYMBOL_GPL vmlinux 0x8c341c48 current_save_fsgs +EXPORT_SYMBOL_GPL vmlinux 0x8c484409 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x8c4fded2 sgx_virt_einit +EXPORT_SYMBOL_GPL vmlinux 0x8c52820a __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x8c63618b nvme_fail_nonready_command +EXPORT_SYMBOL_GPL vmlinux 0x8c743fb6 reset_control_status +EXPORT_SYMBOL_GPL vmlinux 0x8c89e3b8 usb_phy_roothub_power_off +EXPORT_SYMBOL_GPL vmlinux 0x8c98d248 unregister_vmcore_cb +EXPORT_SYMBOL_GPL vmlinux 0x8cb2f041 metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x8cc9c9cf irq_gc_set_wake +EXPORT_SYMBOL_GPL vmlinux 0x8d0b83af sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x8d18490b rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x8d1aefdd irq_domain_disconnect_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x8d22bb58 iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d3330b6 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x8d432719 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x8d4fc122 nfnetlink_send +EXPORT_SYMBOL_GPL vmlinux 0x8d79395d __tracepoint_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x8d7e3373 hwpoison_filter_dev_major +EXPORT_SYMBOL_GPL vmlinux 0x8d867c37 pm_genpd_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x8d871495 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x8d8b582d bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x8d8fd59c irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0x8d908ebf power_supply_get_maintenance_charging_setting +EXPORT_SYMBOL_GPL vmlinux 0x8da0c15e pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0x8da4192e __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL vmlinux 0x8da48d64 dev_pm_opp_adjust_voltage +EXPORT_SYMBOL_GPL vmlinux 0x8dafdded lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0x8db3608e genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL vmlinux 0x8dbf246c dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x8dc17362 kthread_park +EXPORT_SYMBOL_GPL vmlinux 0x8dc5e15e acpi_initialize_hp_context +EXPORT_SYMBOL_GPL vmlinux 0x8dc8f80d tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x8dd218b0 icc_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x8de6817a acpi_dev_resource_address_space +EXPORT_SYMBOL_GPL vmlinux 0x8deb23c2 phy_restore_page +EXPORT_SYMBOL_GPL vmlinux 0x8df6d688 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x8dfc7f73 spi_controller_dma_unmap_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x8dfeb960 scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0x8e24d3e4 vfio_register_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x8e3bb946 iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0x8e3d911b arch_phys_wc_index +EXPORT_SYMBOL_GPL vmlinux 0x8e44823a sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x8e4eb451 bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x8e4f64b7 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x8e5a63ed ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x8e6b1a9e net_selftest_get_count +EXPORT_SYMBOL_GPL vmlinux 0x8e6ceb96 disk_force_media_change +EXPORT_SYMBOL_GPL vmlinux 0x8e6fa8b5 apei_exec_pre_map_gars +EXPORT_SYMBOL_GPL vmlinux 0x8e7729af ping_hash +EXPORT_SYMBOL_GPL vmlinux 0x8e82d0ad srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0x8e844426 posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0x8e8d71db inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x8e92f7c4 static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x8eac320f virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0x8ead800c user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0x8eb5b7e0 fsverity_ioctl_read_metadata +EXPORT_SYMBOL_GPL vmlinux 0x8edd7808 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8eee3399 dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8effd1f7 put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x8f0748af rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x8f0b781d iova_domain_init_rcaches +EXPORT_SYMBOL_GPL vmlinux 0x8f11ed95 dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x8f2839e0 pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0x8f2eb429 kvm_arch_para_hints +EXPORT_SYMBOL_GPL vmlinux 0x8f2f8b61 gnttab_page_cache_put +EXPORT_SYMBOL_GPL vmlinux 0x8f58aaee __devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x8f58aeb8 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x8f64fb89 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x8f672ea3 gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f786bee fs_umode_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x8f7bd0a6 btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0x8f902acd devm_regmap_field_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x8f9a34b3 nvme_unfreeze +EXPORT_SYMBOL_GPL vmlinux 0x8fa2f345 perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0x8fa9d9e8 __SCT__tp_func_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x8faa800d acpi_cpc_valid +EXPORT_SYMBOL_GPL vmlinux 0x8fbd1736 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x8fc12788 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x8fe04a59 __xenbus_register_backend +EXPORT_SYMBOL_GPL vmlinux 0x8ff4a682 dev_fetch_sw_netstats +EXPORT_SYMBOL_GPL vmlinux 0x8ff60436 mpi_ec_add_points +EXPORT_SYMBOL_GPL vmlinux 0x8ff7ea2f devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0x8ffb1df7 acpi_get_psd_map +EXPORT_SYMBOL_GPL vmlinux 0x8ffc15b1 acpi_dev_ready_for_enumeration +EXPORT_SYMBOL_GPL vmlinux 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL vmlinux 0x90059cf9 trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0x9024f443 mds_user_clear +EXPORT_SYMBOL_GPL vmlinux 0x903a3850 gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x903b627c list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x904cc20c mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0x90679cef devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0x90688bcd devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x90715aa5 pci_acpi_set_companion_lookup_hook +EXPORT_SYMBOL_GPL vmlinux 0x907282d4 blk_mq_end_request_batch +EXPORT_SYMBOL_GPL vmlinux 0x9084b044 clear_page_erms +EXPORT_SYMBOL_GPL vmlinux 0x9087c75f acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0x908cff6e blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0x909d2a1c pinctrl_force_default +EXPORT_SYMBOL_GPL vmlinux 0x909f1ca1 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x90a02de8 nvme_cleanup_cmd +EXPORT_SYMBOL_GPL vmlinux 0x90a9d8cc hv_is_hyperv_initialized +EXPORT_SYMBOL_GPL vmlinux 0x90ad66b1 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0x90c58805 power_supply_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x90c8498c apei_exec_write_register +EXPORT_SYMBOL_GPL vmlinux 0x90d0c6d2 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x90dc71d6 xdp_return_frame_bulk +EXPORT_SYMBOL_GPL vmlinux 0x90de0452 platform_thermal_package_notify +EXPORT_SYMBOL_GPL vmlinux 0x90de72a9 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x90f818f7 i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x90f8bd5a ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x90fa084f clk_gate_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x90fb4ed4 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x91032881 xenbus_register_driver_common +EXPORT_SYMBOL_GPL vmlinux 0x9107d224 __SCT__tp_func_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x910ad4fa skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x910bdf6b trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x912e75ae fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x913b2ebd vp_modern_set_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x913ebd32 stack_depot_save +EXPORT_SYMBOL_GPL vmlinux 0x915433a4 tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0x9162faf0 da9055_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x9165ed3b device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0x917bbeb2 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x917d953b __SCT__tp_func_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x9194e18f xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x91955a9f start_poll_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x91a4f66b tps6586x_get_version +EXPORT_SYMBOL_GPL vmlinux 0x91a7637c __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x91a9e94e usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x91aa0966 i2c_new_client_device +EXPORT_SYMBOL_GPL vmlinux 0x91ac2ad4 nf_connlabels_put +EXPORT_SYMBOL_GPL vmlinux 0x91b1f411 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x91b774a1 mpi_scanval +EXPORT_SYMBOL_GPL vmlinux 0x91b9a4ba e820__mapped_any +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91c9313c acpi_gpio_get_io_resource +EXPORT_SYMBOL_GPL vmlinux 0x91cb3830 do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0x91e51348 xhci_resume +EXPORT_SYMBOL_GPL vmlinux 0x91ea8726 asn1_encode_boolean +EXPORT_SYMBOL_GPL vmlinux 0x91ed7aa3 udp_bpf_update_proto +EXPORT_SYMBOL_GPL vmlinux 0x91f150c4 fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x91fe4b63 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x920cc389 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x92141343 kvm_async_pf_task_wake +EXPORT_SYMBOL_GPL vmlinux 0x921adb94 blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x9226f0cf mptcp_token_get_sock +EXPORT_SYMBOL_GPL vmlinux 0x92274fe6 acpi_unregister_lps0_dev +EXPORT_SYMBOL_GPL vmlinux 0x9227e726 ata_sas_tport_add +EXPORT_SYMBOL_GPL vmlinux 0x9229380d of_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x923dbe7b iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0x923e42aa sysfb_disable +EXPORT_SYMBOL_GPL vmlinux 0x92415cfb hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x9241b358 __static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x924c46f8 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x925d0938 sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x927e35ec nvdimm_has_flush +EXPORT_SYMBOL_GPL vmlinux 0x9282ddca fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0x9283cd3b dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x92b2b836 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x92b7312c irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0x92b8c78b hyperv_pcpu_output_arg +EXPORT_SYMBOL_GPL vmlinux 0x92c8daee crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0x92cfd226 pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d51907 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x92db8f68 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x92e8e9ab fsverity_enqueue_verify_work +EXPORT_SYMBOL_GPL vmlinux 0x92eb38fe devm_of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x92fd7d9f class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x93073c00 dev_pm_set_dedicated_wake_irq_reverse +EXPORT_SYMBOL_GPL vmlinux 0x9316e318 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x931c877f debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0x93254f01 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x93255b2b ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x932c8d7a linear_range_get_value_array +EXPORT_SYMBOL_GPL vmlinux 0x93394af9 folio_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x933f75e0 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x9342c104 dbs_update +EXPORT_SYMBOL_GPL vmlinux 0x9354fe2a perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0x93555e6f fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x935572d5 tracepoint_probe_register_prio_may_exist +EXPORT_SYMBOL_GPL vmlinux 0x93745ccb nvme_stop_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x9387585c ata_port_classify +EXPORT_SYMBOL_GPL vmlinux 0x939ffebc tps6586x_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x93aad29f rio_set_port_lockout +EXPORT_SYMBOL_GPL vmlinux 0x93c7edeb usb_find_common_endpoints +EXPORT_SYMBOL_GPL vmlinux 0x93d1d424 gnttab_free_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x93dc2586 pgprot_writethrough +EXPORT_SYMBOL_GPL vmlinux 0x93edef07 devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x93f42d18 cros_ec_get_sensor_count +EXPORT_SYMBOL_GPL vmlinux 0x93f7dcd5 metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0x941a3d4f clk_hw_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x9424058f arch_haltpoll_disable +EXPORT_SYMBOL_GPL vmlinux 0x9425bb34 nvmem_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x942819d0 fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0x9430b198 trace_dump_stack +EXPORT_SYMBOL_GPL vmlinux 0x9436e405 memory_group_register_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x943fc708 xen_setup_shutdown_event +EXPORT_SYMBOL_GPL vmlinux 0x94493d0a fb_deferred_io_mmap +EXPORT_SYMBOL_GPL vmlinux 0x9449ba2a adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x94505c82 iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x945193eb mmc_regulator_set_vqmmc +EXPORT_SYMBOL_GPL vmlinux 0x945fd572 acpi_subsys_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x9468ea70 schedule_hrtimeout_range_clock +EXPORT_SYMBOL_GPL vmlinux 0x946c0028 devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0x946dd559 sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x9474b9f7 fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0x947b40c6 cpu_smt_possible +EXPORT_SYMBOL_GPL vmlinux 0x94941353 pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x949b5176 devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x94a20915 usb_control_msg_send +EXPORT_SYMBOL_GPL vmlinux 0x94a60dfe cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x94a65184 vchan_tx_desc_free +EXPORT_SYMBOL_GPL vmlinux 0x94c378e3 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x94c95a35 acpi_subsys_suspend +EXPORT_SYMBOL_GPL vmlinux 0x94d7fa9a __traceiter_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x94f95873 blk_clear_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x94ffdc52 register_ftrace_direct_multi +EXPORT_SYMBOL_GPL vmlinux 0x950149f8 crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0x9504df26 irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x951a2773 crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x952e30cc memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x953e1b9e ktime_get_real_seconds +EXPORT_SYMBOL_GPL vmlinux 0x954c0b2c __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x9560061c phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9564c392 icc_std_aggregate +EXPORT_SYMBOL_GPL vmlinux 0x956ac400 ring_buffer_dropped_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x9583a2c4 acpi_quirk_skip_i2c_client_enumeration +EXPORT_SYMBOL_GPL vmlinux 0x95843030 mpi_ec_init +EXPORT_SYMBOL_GPL vmlinux 0x9585ed69 __SCK__tp_func_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x95894771 driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x958cefc0 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x958df3ac zs_free +EXPORT_SYMBOL_GPL vmlinux 0x9591b7d3 iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x9593ef31 register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x95a2a3bd mptcp_pm_get_add_addr_signal_max +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95be88b8 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x95c113b3 crypto_wait_for_test +EXPORT_SYMBOL_GPL vmlinux 0x95e1295a sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x95ec826d __SCK__tp_func_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x95ef1ccc dmi_memdev_size +EXPORT_SYMBOL_GPL vmlinux 0x961286e0 ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x9615b005 hv_map_ioapic_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x9621d738 alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0x962c8ae1 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x96340659 perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0x9635de95 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x96458fb5 vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0x9648b3cd devm_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x964f25c4 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0x96554810 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9682a66a blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0x968d9812 phy_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x968f9a23 efivar_entry_iter_begin +EXPORT_SYMBOL_GPL vmlinux 0x96933a49 crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0x96a55fda list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0x96afaf9e dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0x96b65f4d security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x96d61cdd blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0x96dfd502 pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0x96e53944 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9714e0bb ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x97273581 devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0x97469f19 pm_clk_suspend +EXPORT_SYMBOL_GPL vmlinux 0x974a140c __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x97511f04 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x9754cf58 devm_rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x975519c1 asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x9768334b fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0x977be5c7 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x977e8092 gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0x9781ca73 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x9781e867 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x9798f8c2 nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x97bd9b2e pinctrl_find_and_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x97c6299d nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL vmlinux 0x97de2b83 debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x97df78a6 bdev_alignment_offset +EXPORT_SYMBOL_GPL vmlinux 0x97ed700c dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0x97f44256 icc_node_create +EXPORT_SYMBOL_GPL vmlinux 0x9804eecf pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x980c62e0 pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0x9830dcaf pcie_reset_flr +EXPORT_SYMBOL_GPL vmlinux 0x9833b725 serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x98378a1d cc_mkdec +EXPORT_SYMBOL_GPL vmlinux 0x9843f501 __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0x98465a95 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9853f8b7 iopf_queue_add_device +EXPORT_SYMBOL_GPL vmlinux 0x985453e1 lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x98565ef1 __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x9879932b crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x988a1a00 sn_region_size +EXPORT_SYMBOL_GPL vmlinux 0x988d1a6c linear_hugepage_index +EXPORT_SYMBOL_GPL vmlinux 0x989074ff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x98941df5 vchan_find_desc +EXPORT_SYMBOL_GPL vmlinux 0x98b142fa blk_fill_rwbs +EXPORT_SYMBOL_GPL vmlinux 0x98b96dba irq_domain_set_hwirq_and_chip +EXPORT_SYMBOL_GPL vmlinux 0x98bbabee devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0x98c21e71 __SCK__tp_func_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x98c32e48 dev_pm_opp_get_required_pstate +EXPORT_SYMBOL_GPL vmlinux 0x98c48bc6 xhci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x98c6e63e edac_mc_free +EXPORT_SYMBOL_GPL vmlinux 0x98c90c0b acpi_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x98c90fea __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0x98d1159f gnttab_page_cache_init +EXPORT_SYMBOL_GPL vmlinux 0x98dc1a02 kthread_func +EXPORT_SYMBOL_GPL vmlinux 0x98ee62b2 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x98f3db01 dev_pm_opp_get_freq +EXPORT_SYMBOL_GPL vmlinux 0x98f4d306 hyperv_flush_guest_mapping +EXPORT_SYMBOL_GPL vmlinux 0x98fa1e20 dm_get_reserved_rq_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x990188c7 __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x99125a31 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x9930f8a3 uv_bios_change_memprotect +EXPORT_SYMBOL_GPL vmlinux 0x99430ba2 acpi_get_phys_id +EXPORT_SYMBOL_GPL vmlinux 0x994a3222 __devm_of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x994f9835 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x994fe858 nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x99537547 xfer_to_guest_mode_handle_work +EXPORT_SYMBOL_GPL vmlinux 0x995bb3f0 blk_queue_zone_write_granularity +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x995fe037 device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x9968aacb __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x9985ff3d balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x998d79d6 x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0x99925ee7 __regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x99a5998a rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x99abe4b1 scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0x99b27ffd usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x99b7e25b cgroup_get_e_css +EXPORT_SYMBOL_GPL vmlinux 0x99b83e27 vfio_pci_core_sriov_configure +EXPORT_SYMBOL_GPL vmlinux 0x99bda7ee clk_hw_get_parent_by_index +EXPORT_SYMBOL_GPL vmlinux 0x99c0570d ftrace_set_filter_ips +EXPORT_SYMBOL_GPL vmlinux 0x99c9006c __traceiter_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x99d3cba2 rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x99d5d38a usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0x99dc7674 dev_pm_opp_get_opp_count +EXPORT_SYMBOL_GPL vmlinux 0x99dd730c page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0x99f018c4 nvmem_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x99f2d00a sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x9a04cb42 vfio_unregister_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a129c99 regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9a12b53d tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x9a23ea6b alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0x9a2851ef __SCT__tp_func_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x9a3b86ba nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x9a4104dd irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0x9a416d17 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x9a52d334 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x9a57ede9 irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x9a58dd2d trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0x9a5dce5c rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0x9a67ae13 skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0x9a67bf2f clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x9a68a474 lp8788_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x9a6f44a8 xenbus_probe_node +EXPORT_SYMBOL_GPL vmlinux 0x9a732cd6 verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x9a7533bf nvme_init_ctrl_finish +EXPORT_SYMBOL_GPL vmlinux 0x9a82b218 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x9a82bf28 fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0x9a8c9595 sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0x9a930c8c dev_pm_domain_set +EXPORT_SYMBOL_GPL vmlinux 0x9a9796ba xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x9aa20b38 ethtool_set_ethtool_phy_ops +EXPORT_SYMBOL_GPL vmlinux 0x9aa71c2a efi_query_variable_store +EXPORT_SYMBOL_GPL vmlinux 0x9aaac699 dev_pm_opp_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x9aaf739f pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x9ab28e54 device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x9ab370fc __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9accd01c power_supply_put +EXPORT_SYMBOL_GPL vmlinux 0x9ad79148 __regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x9adb7399 nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9af49514 icc_bulk_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x9af53f13 dev_pm_opp_unregister_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x9af88019 virtqueue_add_inbuf +EXPORT_SYMBOL_GPL vmlinux 0x9b51428e sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x9b555c8c pm_suspend_default_s2idle +EXPORT_SYMBOL_GPL vmlinux 0x9b651e51 xenbus_teardown_ring +EXPORT_SYMBOL_GPL vmlinux 0x9b65d3d7 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x9b673645 __auxiliary_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x9b698c42 ioasid_set_data +EXPORT_SYMBOL_GPL vmlinux 0x9b6e11a6 rio_get_comptag +EXPORT_SYMBOL_GPL vmlinux 0x9b6ec967 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x9b795c2b device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0x9b829354 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x9b9071cb get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x9b92d16e pinctrl_gpio_set_config +EXPORT_SYMBOL_GPL vmlinux 0x9b9d3d7d net_selftest +EXPORT_SYMBOL_GPL vmlinux 0x9b9f3648 pcibios_scan_specific_bus +EXPORT_SYMBOL_GPL vmlinux 0x9ba2bb2b gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x9bac9670 blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0x9bad141d hv_hypercall_pg +EXPORT_SYMBOL_GPL vmlinux 0x9bbc6a2a dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x9bd0f7a0 pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x9be30d27 mhp_get_pluggable_range +EXPORT_SYMBOL_GPL vmlinux 0x9bebfcd0 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x9bece81b mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x9bf33436 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x9bfd5bba nvdimm_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x9c09dc8e rio_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x9c18e2c2 blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0x9c1a57c0 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x9c311926 sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0x9c3bb4d4 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9c49d545 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x9c4decac dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0x9c6febfc add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x9c70dc51 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x9c79dd8c synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0x9c803020 usb_phy_roothub_power_on +EXPORT_SYMBOL_GPL vmlinux 0x9c85bf92 devm_request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0x9ca480cc clk_gate_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x9caceb2c pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0x9cc4f70a register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9cc94a97 __fscrypt_prepare_readdir +EXPORT_SYMBOL_GPL vmlinux 0x9ccbf1a0 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x9cd291bf extcon_get_state +EXPORT_SYMBOL_GPL vmlinux 0x9cd7551a rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0x9cdd6a66 sysctl_long_vals +EXPORT_SYMBOL_GPL vmlinux 0x9ce6571f seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0x9ce65c25 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL vmlinux 0x9cf37c44 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x9d09bc57 lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0x9d09e8ae ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9d14205c cr4_read_shadow +EXPORT_SYMBOL_GPL vmlinux 0x9d209687 dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0x9d2d301c regulator_get_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9d487ce5 __hwspin_trylock +EXPORT_SYMBOL_GPL vmlinux 0x9d4894c8 x2apic_mode +EXPORT_SYMBOL_GPL vmlinux 0x9d489d98 pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x9d51ded2 __clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x9d539d2d mptcp_subflow_init_cookie_req +EXPORT_SYMBOL_GPL vmlinux 0x9d572950 dma_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x9d64a828 devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0x9d654fd9 device_set_node +EXPORT_SYMBOL_GPL vmlinux 0x9d85d30c __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9d8bb00e set_dax_nocache +EXPORT_SYMBOL_GPL vmlinux 0x9d938951 devm_hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9d9910a1 atomic_notifier_chain_register_unique_prio +EXPORT_SYMBOL_GPL vmlinux 0x9d9ffd3f sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0x9db2cac1 fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0x9dbb8908 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x9de31b2a phy_gbit_fibre_features +EXPORT_SYMBOL_GPL vmlinux 0x9de7e874 da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x9ded95b7 rio_dma_prep_xfer +EXPORT_SYMBOL_GPL vmlinux 0x9e005e6f cppc_get_perf_caps +EXPORT_SYMBOL_GPL vmlinux 0x9e0ad883 __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x9e19e5ca tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0x9e233c36 pm_runtime_get_if_active +EXPORT_SYMBOL_GPL vmlinux 0x9e285aaa ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x9e295f57 mctrl_gpio_init_noauto +EXPORT_SYMBOL_GPL vmlinux 0x9e3e8d3b vfio_register_emulated_iommu_dev +EXPORT_SYMBOL_GPL vmlinux 0x9e3eabfb watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x9e472f5f snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x9e4baab8 __acpi_node_get_property_reference +EXPORT_SYMBOL_GPL vmlinux 0x9e5808b7 __SCK__tp_func_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x9e773be1 component_compare_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x9e7fbe9e skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x9e843d23 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0x9e925d30 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x9e9ba6ba fat_time_fat2unix +EXPORT_SYMBOL_GPL vmlinux 0x9e9c4f24 set_dax_nomc +EXPORT_SYMBOL_GPL vmlinux 0x9ea02cd0 powercap_unregister_control_type +EXPORT_SYMBOL_GPL vmlinux 0x9eb1a93a pinctrl_pm_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0x9eb40c09 iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0x9eb78906 metadata_dst_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x9ebaf055 pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x9ec188e5 vp_legacy_set_queue_address +EXPORT_SYMBOL_GPL vmlinux 0x9ec329b8 lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0x9ec49f80 nvme_wait_reset +EXPORT_SYMBOL_GPL vmlinux 0x9ed554b3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ed728dc ping_bind +EXPORT_SYMBOL_GPL vmlinux 0x9edb1cfc iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0x9ee34048 syscon_regmap_lookup_by_phandle_optional +EXPORT_SYMBOL_GPL vmlinux 0x9ee834fe __clk_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x9eebdde7 mpi_point_new +EXPORT_SYMBOL_GPL vmlinux 0x9f00d985 class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x9f0d2a17 __traceiter_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x9f35a949 __clk_mux_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x9f37720c kobject_move +EXPORT_SYMBOL_GPL vmlinux 0x9f4c4aa0 spi_delay_to_ns +EXPORT_SYMBOL_GPL vmlinux 0x9f5c6dc2 __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0x9f77f19f crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x9f7b51e5 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x9f807466 kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0x9f897f78 synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0x9f986ff8 mbox_request_channel_byname +EXPORT_SYMBOL_GPL vmlinux 0x9f98f025 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x9f9c7781 phy_basic_t1_features +EXPORT_SYMBOL_GPL vmlinux 0x9f9e033a switchdev_bridge_port_unoffload +EXPORT_SYMBOL_GPL vmlinux 0x9fb1e9c8 gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x9fbd94e0 device_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9fbfebab erst_write +EXPORT_SYMBOL_GPL vmlinux 0x9fc1c3b3 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x9fcbee7e bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0x9fce019b register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fe131f1 xen_store_interface +EXPORT_SYMBOL_GPL vmlinux 0x9fe33a33 xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0x9fe50bee dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0x9fe899b7 get_cpu_idle_time +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9fe9ad0a wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x9fec33cc free_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x9fefc3e6 __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0x9ff0ace2 ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x9ff391a8 fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0xa01a8d9b nd_cmd_bus_desc +EXPORT_SYMBOL_GPL vmlinux 0xa01d30ec ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xa023bac2 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa0322158 fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0xa04790af ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa04f945a cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xa06b021b efivars_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa07d1b4b generic_access_phys +EXPORT_SYMBOL_GPL vmlinux 0xa07d4463 vp_legacy_get_driver_features +EXPORT_SYMBOL_GPL vmlinux 0xa080c5e5 smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0xa080ef0e platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0xa0994ca1 nfs42_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa09b178d vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xa0a3d4a2 __SCK__tp_func_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0xa0b058a4 mmc_cmdq_enable +EXPORT_SYMBOL_GPL vmlinux 0xa0b79d82 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0xa0c0f1d7 __SCT__tp_func_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xa0c7c630 dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0xa0d1d05b ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0xa0d3456d nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0xa0d81b76 __SCT__tp_func_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0xa0e671d8 __SCT__tp_func_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0xa0f77f7c phy_pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0xa0fc9d43 crypto_boot_test_finished +EXPORT_SYMBOL_GPL vmlinux 0xa0fcb40b pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0xa11216be xen_store_domain_type +EXPORT_SYMBOL_GPL vmlinux 0xa12c7889 __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa1387974 regmap_write_async +EXPORT_SYMBOL_GPL vmlinux 0xa1488b3a pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0xa151a184 thermal_zone_get_temp +EXPORT_SYMBOL_GPL vmlinux 0xa156a1f2 erst_get_record_id_end +EXPORT_SYMBOL_GPL vmlinux 0xa15d5aa6 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xa16373f4 devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa18b485c devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0xa18da9f9 acpi_spi_count_resources +EXPORT_SYMBOL_GPL vmlinux 0xa1998f49 xen_xlate_remap_gfn_array +EXPORT_SYMBOL_GPL vmlinux 0xa1a28053 __SCK__tp_func_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0xa1aa9d0e serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0xa1ad6e14 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0xa1ba3cb4 serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0xa1bd21b3 nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0xa1c3f8a8 __SCT__tp_func_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xa1d8004a videomode_from_timing +EXPORT_SYMBOL_GPL vmlinux 0xa1df023a usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0xa1df2d04 __SCK__tp_func_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0xa1e74525 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0xa1eda76f device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0xa2027ad2 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xa2033b09 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0xa2087ff8 devm_phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0xa20d01ba __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xa20f1bc8 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL vmlinux 0xa21f2ce7 clk_mux_index_to_val +EXPORT_SYMBOL_GPL vmlinux 0xa2229735 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0xa22756e4 debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0xa228db26 nvmem_cell_read_u32 +EXPORT_SYMBOL_GPL vmlinux 0xa2610933 component_compare_dev +EXPORT_SYMBOL_GPL vmlinux 0xa264334d fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0xa26705a1 device_match_any +EXPORT_SYMBOL_GPL vmlinux 0xa26b28fd __nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL vmlinux 0xa26d9b4f workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xa2712a71 __SCK__tp_func_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0xa275d586 power_supply_get_property_from_supplier +EXPORT_SYMBOL_GPL vmlinux 0xa28590d2 ehci_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa2af54b3 irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xa2b99209 alarm_start +EXPORT_SYMBOL_GPL vmlinux 0xa2c4b335 bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0xa2c53c9a shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0xa2d0b59d mmio_stale_data_clear +EXPORT_SYMBOL_GPL vmlinux 0xa2d62101 trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0xa2de6724 modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xa2dee882 tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0xa2df962e skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0xa2e1b3ef trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0xa2f7487f hv_is_hibernation_supported +EXPORT_SYMBOL_GPL vmlinux 0xa2fe604d device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0xa33fd46f hv_map_memory +EXPORT_SYMBOL_GPL vmlinux 0xa34d1b99 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0xa3560a72 rio_pw_enable +EXPORT_SYMBOL_GPL vmlinux 0xa35bd85b dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0xa36950bd class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xa36f50fb is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xa3739b19 __SCK__tp_func_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0xa37ba70b crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa38a9f71 get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xa397923f sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0xa39c36aa irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3a93d8b pinctrl_lookup_state +EXPORT_SYMBOL_GPL vmlinux 0xa3ae6c78 regulator_allow_bypass +EXPORT_SYMBOL_GPL vmlinux 0xa3b1e388 nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0xa3b958ce reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0xa3c33201 pm_runtime_force_resume +EXPORT_SYMBOL_GPL vmlinux 0xa3c48def key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xa3e2ea3d skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0xa3ece414 freezer_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xa3f12f69 __crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0xa3f7aeaf dev_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0xa4031b7f sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0xa410a295 devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa41cbe5e trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0xa42883ac ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0xa4454d66 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xa44a1307 interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xa44ce670 devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0xa452c297 hpet_mask_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa452f2a4 xen_pirq_from_irq +EXPORT_SYMBOL_GPL vmlinux 0xa45c7b90 stack_trace_print +EXPORT_SYMBOL_GPL vmlinux 0xa462d5a6 __SCT__tp_func_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xa467e862 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0xa4698817 sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0xa4703a3e raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0xa478447c md_stop +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa48e9a30 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0xa495fd36 sock_map_close +EXPORT_SYMBOL_GPL vmlinux 0xa4a6bb1c __xenmem_reservation_va_mapping_reset +EXPORT_SYMBOL_GPL vmlinux 0xa4ab0cd3 dev_pm_domain_start +EXPORT_SYMBOL_GPL vmlinux 0xa4ab57af nvme_cancel_request +EXPORT_SYMBOL_GPL vmlinux 0xa4ab7c1c ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xa4ae6617 __ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0xa4b07fe7 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xa4c00324 asn1_encode_octet_string +EXPORT_SYMBOL_GPL vmlinux 0xa4c085f8 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0xa4c8b9af irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xa4ca34f4 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xa4d1446f fixed_phy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa4d1beff rio_del_device +EXPORT_SYMBOL_GPL vmlinux 0xa4d6db90 gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0xa4e22108 devl_rate_leaf_create +EXPORT_SYMBOL_GPL vmlinux 0xa4e419c1 regulator_list_hardware_vsel +EXPORT_SYMBOL_GPL vmlinux 0xa4ea7526 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0xa4ec076c bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0xa4f3a689 relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0xa5144706 screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0xa5176e37 iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0xa5186f9f spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0xa531471e clk_save_context +EXPORT_SYMBOL_GPL vmlinux 0xa53397b6 efivar_entry_remove +EXPORT_SYMBOL_GPL vmlinux 0xa5358027 fwnode_usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0xa53f3f84 device_create +EXPORT_SYMBOL_GPL vmlinux 0xa5430de9 devm_clk_register +EXPORT_SYMBOL_GPL vmlinux 0xa544e914 dma_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xa54a2cba devlink_linecard_provision_clear +EXPORT_SYMBOL_GPL vmlinux 0xa5524ac0 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xa58fef5b regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xa596bf9e pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0xa5a1793e unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0xa5a9be0e rio_unregister_scan +EXPORT_SYMBOL_GPL vmlinux 0xa5ba35e3 dm_submit_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0xa5bda8a1 efi_capsule_supported +EXPORT_SYMBOL_GPL vmlinux 0xa5c714dc nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0xa5d1f4b8 stack_depot_snprint +EXPORT_SYMBOL_GPL vmlinux 0xa5d7c388 pstore_type_to_name +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5efda15 xen_remap_vma_range +EXPORT_SYMBOL_GPL vmlinux 0xa5f3fa2e bpf_trace_run1 +EXPORT_SYMBOL_GPL vmlinux 0xa6072d3a xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0xa6099e96 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0xa60cb034 __traceiter_nvme_sq +EXPORT_SYMBOL_GPL vmlinux 0xa61ed3b7 pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0xa6221c3a nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0xa62d176e clk_hw_round_rate +EXPORT_SYMBOL_GPL vmlinux 0xa6307dcf unregister_ftrace_direct_multi +EXPORT_SYMBOL_GPL vmlinux 0xa6490b32 usb_alloc_dev +EXPORT_SYMBOL_GPL vmlinux 0xa6758332 serial8250_em485_stop_tx +EXPORT_SYMBOL_GPL vmlinux 0xa6837c16 trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xa6868303 crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0xa6919234 gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xa6a088b7 fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0xa6a3dd73 blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0xa6b06f65 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6c27743 sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xa6c69d7f vp_modern_get_queue_size +EXPORT_SYMBOL_GPL vmlinux 0xa6c9baee tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0xa6cd03f3 iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa7031023 __traceiter_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0xa709c835 fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa7127da7 mce_unregister_injector_chain +EXPORT_SYMBOL_GPL vmlinux 0xa71723e7 usb_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xa7218eba irq_set_affinity +EXPORT_SYMBOL_GPL vmlinux 0xa731b485 wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0xa731f387 nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xa741b4ca phy_put +EXPORT_SYMBOL_GPL vmlinux 0xa74afc8f pinctrl_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0xa7717478 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa78a206d usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0xa79274f1 vfio_pci_core_err_handlers +EXPORT_SYMBOL_GPL vmlinux 0xa79b0970 to_nvdimm +EXPORT_SYMBOL_GPL vmlinux 0xa7c245fe virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0xa7e6872a phy_reset +EXPORT_SYMBOL_GPL vmlinux 0xa7eb11ab dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0xa7fdbe16 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0xa810b544 component_master_del +EXPORT_SYMBOL_GPL vmlinux 0xa81a6ba3 wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0xa8257e7a unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0xa828a120 pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0xa829f179 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0xa8383823 pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0xa83b65a5 fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0xa851973a raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa855dd72 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xa85774d7 is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xa8618ad0 tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0xa86a4804 dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0xa870fce4 pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0xa875f3d3 regulator_irq_helper +EXPORT_SYMBOL_GPL vmlinux 0xa88bcc87 switchdev_handle_port_obj_add_foreign +EXPORT_SYMBOL_GPL vmlinux 0xa8975fd2 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0xa89926dc crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0xa89d7375 blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0xa8a39096 genphy_c45_pma_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa8a6364c xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0xa8a7ccd0 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0xa8ae8e37 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xa8bd68f7 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0xa8be3ba8 apic +EXPORT_SYMBOL_GPL vmlinux 0xa8cf6067 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0xa8d63a8f fscrypt_set_context +EXPORT_SYMBOL_GPL vmlinux 0xa8ec2df0 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0xa901a592 __nvme_check_ready +EXPORT_SYMBOL_GPL vmlinux 0xa90a4e8c gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0xa9126bff hpet_set_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa91573ee pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0xa917f3bd clk_hw_is_prepared +EXPORT_SYMBOL_GPL vmlinux 0xa9320d27 ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0xa942ddbd regulator_suspend_enable +EXPORT_SYMBOL_GPL vmlinux 0xa94f01e7 mmc_cmdq_disable +EXPORT_SYMBOL_GPL vmlinux 0xa95b5c77 hwmon_sanitize_name +EXPORT_SYMBOL_GPL vmlinux 0xa95fb3ae devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xa962c19d wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0xa96e8b4e hv_setup_vmbus_handler +EXPORT_SYMBOL_GPL vmlinux 0xa97795c5 __SCK__tp_func_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa9815ab9 crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0xa9867a92 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0xa986cb86 dev_pm_opp_find_freq_floor +EXPORT_SYMBOL_GPL vmlinux 0xa98a8d0c clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xa9928214 device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0xa99593ec tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0xa99ef899 devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xa9a0e4d5 dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0xa9af0737 devm_irq_domain_create_sim +EXPORT_SYMBOL_GPL vmlinux 0xa9b83825 fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0xa9b95e6b device_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0xa9b98385 fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0xa9bd3e9e nvdimm_bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9bfdade serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0xa9e1c536 lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0xa9e54b16 xen_remap_pfn +EXPORT_SYMBOL_GPL vmlinux 0xa9e8d53f fat_scan +EXPORT_SYMBOL_GPL vmlinux 0xaa1cd74e skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0xaa359dba wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0xaa35ec05 usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0xaa3aebba virtio_device_restore +EXPORT_SYMBOL_GPL vmlinux 0xaa3b6f40 of_phandle_args_to_fwspec +EXPORT_SYMBOL_GPL vmlinux 0xaa4c9e3b xhci_run +EXPORT_SYMBOL_GPL vmlinux 0xaa4fe141 powercap_register_zone +EXPORT_SYMBOL_GPL vmlinux 0xaa5aee1c uv_bios_mq_watchlist_alloc +EXPORT_SYMBOL_GPL vmlinux 0xaa6a50f9 __static_key_deferred_flush +EXPORT_SYMBOL_GPL vmlinux 0xaa6fe374 validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0xaa74d983 xenbus_dev_is_online +EXPORT_SYMBOL_GPL vmlinux 0xaa7f764b pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0xaa853608 simple_rename_exchange +EXPORT_SYMBOL_GPL vmlinux 0xaa86cfb5 uv_possible_blades +EXPORT_SYMBOL_GPL vmlinux 0xaa89098d driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xaa8aebda vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0xaa971d3a phy_gbit_features +EXPORT_SYMBOL_GPL vmlinux 0xaa9f9c45 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaad4c4c0 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0xaadd88a6 folio_wait_stable +EXPORT_SYMBOL_GPL vmlinux 0xaade1670 irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0xaae14993 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xaae33e54 devm_mipi_dsi_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0xaaea95b1 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0xaaff3b0c vfio_pci_core_register_device +EXPORT_SYMBOL_GPL vmlinux 0xab06b802 iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0xab119743 phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0xab1e0e93 hv_setup_kexec_handler +EXPORT_SYMBOL_GPL vmlinux 0xab2642d8 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xab562713 dma_resv_get_fences +EXPORT_SYMBOL_GPL vmlinux 0xab5a1d1d crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xab8f12cc icc_node_del +EXPORT_SYMBOL_GPL vmlinux 0xaba2fcf2 rio_alloc_net +EXPORT_SYMBOL_GPL vmlinux 0xaba94776 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0xabb7c7c2 get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xabc298d0 intel_scu_ipc_unregister +EXPORT_SYMBOL_GPL vmlinux 0xabc640f3 list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0xabdf4314 device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xabf03fc3 __SCT__tp_func_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0xabf35afd __xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0xac0d1cbe hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xac11a4c4 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0xac12e2dc bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0xac454c0d ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0xac531c2c devm_clk_get_optional_prepared +EXPORT_SYMBOL_GPL vmlinux 0xac62d627 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL vmlinux 0xac700447 __tracepoint_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0xac86e756 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0xac892d4e xhci_drop_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xaca48afd i2c_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xacb4d88c clk_rate_exclusive_put +EXPORT_SYMBOL_GPL vmlinux 0xacbc9eb8 unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0xacc977ac alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0xaceee8c3 devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xacf269ba gnttab_pages_set_private +EXPORT_SYMBOL_GPL vmlinux 0xacf7ed39 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0xacfb5238 __SCK__tp_func_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0xad0196c2 device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0xad13d0cc ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0xad158650 xhci_ext_cap_init +EXPORT_SYMBOL_GPL vmlinux 0xad236c79 cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0xad259b53 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xad38b634 clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xad395dd9 mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0xad4e6259 remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad4f9352 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0xad5737fc efivar_init +EXPORT_SYMBOL_GPL vmlinux 0xad5f0017 perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0xad60207b klp_get_state +EXPORT_SYMBOL_GPL vmlinux 0xad63832f nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL vmlinux 0xad645234 register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xad72225b sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0xad79ba67 regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xad83ce29 xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0xad918a6c dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0xad943ab3 phy_init +EXPORT_SYMBOL_GPL vmlinux 0xad99c026 clk_hw_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0xada38766 dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0xadbecf76 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0xadc40f2f udp_abort +EXPORT_SYMBOL_GPL vmlinux 0xadcb35f2 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0xadcbb325 xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0xadd3c506 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0xade151a6 espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0xade5339b hte_get_clk_src_info +EXPORT_SYMBOL_GPL vmlinux 0xadff1359 pci_iomap_wc_range +EXPORT_SYMBOL_GPL vmlinux 0xae06c056 virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0xae0ecf40 usb_bus_idr_lock +EXPORT_SYMBOL_GPL vmlinux 0xae0f7e35 device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0xae1051b0 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xae1aafe1 nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0xae2577b2 led_init_core +EXPORT_SYMBOL_GPL vmlinux 0xae2ae43c vp_modern_queue_address +EXPORT_SYMBOL_GPL vmlinux 0xae32cd8a thermal_zone_bind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0xae39f80e dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xae3cfc30 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xae581fa8 unix_table_locks +EXPORT_SYMBOL_GPL vmlinux 0xae5d6a69 tty_kopen_shared +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae7478bc device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xae74e026 debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0xae7c231d mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0xae7cfec0 fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xae8353ed xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0xae95d975 regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xae9852a0 housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0xae99597e fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0xaea59e86 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0xaea7f1ef devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaeb03f11 acpi_dma_configure_id +EXPORT_SYMBOL_GPL vmlinux 0xaeb300c2 fuse_dax_cancel_work +EXPORT_SYMBOL_GPL vmlinux 0xaee3b36d ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0xaef33cb3 devm_clk_hw_register_fixed_factor_index +EXPORT_SYMBOL_GPL vmlinux 0xaf049bbe tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xaf076aec nd_fletcher64 +EXPORT_SYMBOL_GPL vmlinux 0xaf0847f0 nf_conntrack_locks +EXPORT_SYMBOL_GPL vmlinux 0xaf0b6ba7 blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0xaf13adab regulator_map_voltage_ascend +EXPORT_SYMBOL_GPL vmlinux 0xaf15f088 i2c_parse_fw_timings +EXPORT_SYMBOL_GPL vmlinux 0xaf2e3b32 genphy_c45_read_status +EXPORT_SYMBOL_GPL vmlinux 0xaf3e7334 nf_ct_remove_expect +EXPORT_SYMBOL_GPL vmlinux 0xaf4014ff usb_amd_quirk_pll_check +EXPORT_SYMBOL_GPL vmlinux 0xaf4f6120 bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0xaf590652 dev_coredumpv +EXPORT_SYMBOL_GPL vmlinux 0xaf760a98 pci_epc_map_msi_irq +EXPORT_SYMBOL_GPL vmlinux 0xaf793668 __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0xaf7e0fdc l3mdev_ifindex_lookup_by_table_id +EXPORT_SYMBOL_GPL vmlinux 0xaf7e8185 usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0xaf852873 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0xaf897b4f thermal_zone_unbind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0xaf8a3a83 lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0xafa553b5 __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0xafbd6cf5 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL vmlinux 0xafca9cab sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xafdb98a6 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0xafddd545 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xafe956e0 devm_regmap_field_bulk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xaff27a72 ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0xaffbee1d blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb00ee061 gnttab_page_cache_shrink +EXPORT_SYMBOL_GPL vmlinux 0xb0140303 dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xb015118b pwm_request_from_chip +EXPORT_SYMBOL_GPL vmlinux 0xb02ac411 register_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb03135a4 register_btf_kfunc_id_set +EXPORT_SYMBOL_GPL vmlinux 0xb0482326 policy_has_boost_freq +EXPORT_SYMBOL_GPL vmlinux 0xb055524c fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0xb05b261a fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0xb0747ed2 rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0xb077e70a clk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0xb07a387d gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0xb07d78a5 regulator_get_linear_step +EXPORT_SYMBOL_GPL vmlinux 0xb08c5a02 trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0xb0b314d8 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0d1656c gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0xb0e1e7b4 device_driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xb0e6f4de tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0xb0e8e671 xenbus_otherend_changed +EXPORT_SYMBOL_GPL vmlinux 0xb0eab097 desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0xb0fbb722 clk_fractional_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xb106466f bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0xb10d964d devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xb1174866 nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0xb11cc43b __SCT__tp_func_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0xb11d9000 tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0xb135d40a rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0xb138b7d2 pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0xb141de9b kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0xb15a1a41 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xb1647fc2 devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0xb16e8119 ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0xb16ebc73 sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xb1796aba gpiochip_remove_pin_ranges +EXPORT_SYMBOL_GPL vmlinux 0xb17d161b spi_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb1a1bd88 gpiochip_add_pin_range +EXPORT_SYMBOL_GPL vmlinux 0xb1a91df9 cpufreq_dbs_governor_stop +EXPORT_SYMBOL_GPL vmlinux 0xb1a97f03 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0xb1a9dea5 kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0xb1baa71a devlink_linecard_provision_fail +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1e25684 __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0xb1e3b844 rio_add_device +EXPORT_SYMBOL_GPL vmlinux 0xb1e6c7bc sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xb1fc1782 pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xb1ffaf15 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xb202f0d7 rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0xb209a713 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0xb20a110c led_init_default_state_get +EXPORT_SYMBOL_GPL vmlinux 0xb20a8adc edac_device_handle_ue_count +EXPORT_SYMBOL_GPL vmlinux 0xb21716d6 xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0xb21d00c6 hte_ts_put +EXPORT_SYMBOL_GPL vmlinux 0xb2210d64 reset_control_deassert +EXPORT_SYMBOL_GPL vmlinux 0xb229774a dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0xb23ef1ed lp8788_write_byte +EXPORT_SYMBOL_GPL vmlinux 0xb2405efc secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0xb26066fe ibft_phys_addr +EXPORT_SYMBOL_GPL vmlinux 0xb264e475 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0xb2697daa sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0xb26a1add elfcorehdr_addr +EXPORT_SYMBOL_GPL vmlinux 0xb2725333 pinctrl_dev_get_name +EXPORT_SYMBOL_GPL vmlinux 0xb27bd73d handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xb285b8f8 xen_in_preemptible_hcall +EXPORT_SYMBOL_GPL vmlinux 0xb29533ee zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xb29c08dc msg_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0xb29d26e6 devfreq_get_devfreq_by_node +EXPORT_SYMBOL_GPL vmlinux 0xb2a8866b __traceiter_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0xb2c1732e rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0xb2c17c9c blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0xb2d541d3 debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0xb2de4cf2 clk_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0xb2e67b9f dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2e7e3b3 crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xb307c909 devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xb30af38b regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xb318c7e1 pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0xb3253ed9 hpet_rtc_timer_init +EXPORT_SYMBOL_GPL vmlinux 0xb32d2009 iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0xb32eec61 regmap_field_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0xb352e959 __SCK__tp_func_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xb353e88e __devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xb3558779 decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0xb367fd13 msi_unlock_descs +EXPORT_SYMBOL_GPL vmlinux 0xb3a63648 tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xb3b3cdad blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0xb3b45cdd __efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0xb3be0e9f xen_xlate_unmap_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0xb3d3b552 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xb3d67539 devm_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0xb3d70fa7 ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xb40e2979 nf_conntrack_in +EXPORT_SYMBOL_GPL vmlinux 0xb429109a __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0xb42ce0d6 efivar_entry_find +EXPORT_SYMBOL_GPL vmlinux 0xb42d71ea bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb43c7129 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0xb43f9365 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xb4429b64 acpi_dev_resource_ext_address_space +EXPORT_SYMBOL_GPL vmlinux 0xb445ea82 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0xb447f43e cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0xb4483ca9 devm_irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xb44c7b3a nvdimm_name +EXPORT_SYMBOL_GPL vmlinux 0xb44e18ea audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb45b6cb9 gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0xb4707c92 fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0xb4818004 extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb48f0638 software_node_register +EXPORT_SYMBOL_GPL vmlinux 0xb49703ff blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0xb4a924a9 pinctrl_dev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xb4a9b02f pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0xb4ab316e ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0xb4aca425 pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0xb4b947b9 devfreq_cooling_em_register +EXPORT_SYMBOL_GPL vmlinux 0xb4b97c90 pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4c14e10 mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0xb4db2bf5 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4eda0da ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0xb501b2df nd_cmd_dimm_desc +EXPORT_SYMBOL_GPL vmlinux 0xb5044f5f memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0xb507016a crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0xb50cc996 devm_of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0xb5172d54 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb520eb79 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0xb52db756 gnttab_pages_clear_private +EXPORT_SYMBOL_GPL vmlinux 0xb536ddef device_rename +EXPORT_SYMBOL_GPL vmlinux 0xb53a5c54 watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0xb54368fc dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0xb5546593 extcon_set_property_sync +EXPORT_SYMBOL_GPL vmlinux 0xb55f117e bus_register +EXPORT_SYMBOL_GPL vmlinux 0xb569c4e4 serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xb570170d devm_power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0xb574fa8a kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xb583b2a3 pci_dev_unlock +EXPORT_SYMBOL_GPL vmlinux 0xb5851bbf ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0xb5992972 acpi_gpiochip_request_interrupts +EXPORT_SYMBOL_GPL vmlinux 0xb5a83e35 gnttab_setup_auto_xlat_frames +EXPORT_SYMBOL_GPL vmlinux 0xb5a8c226 acpi_gsi_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xb5cee5fe crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0xb5d5f1c6 acpi_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0xb5d8688d gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0xb5e07ddc device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xb5f7dbf3 xenbus_dev_probe +EXPORT_SYMBOL_GPL vmlinux 0xb610b5d9 ethtool_params_from_link_mode +EXPORT_SYMBOL_GPL vmlinux 0xb6129b34 rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xb61e107c regmap_can_raw_write +EXPORT_SYMBOL_GPL vmlinux 0xb6261484 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb62fad75 percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0xb62fc7fc pinctrl_remove_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xb6357e53 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0xb6407d0c rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xb6410433 mpi_addm +EXPORT_SYMBOL_GPL vmlinux 0xb64257a9 blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0xb64a065a dev_pm_opp_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xb655f91b pci_epc_get_next_free_bar +EXPORT_SYMBOL_GPL vmlinux 0xb65b65c7 for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0xb6787346 sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0xb6888188 klp_shadow_get_or_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb688ae4b regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0xb69a64a9 dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0xb69afbb0 devlink_linecard_deactivate +EXPORT_SYMBOL_GPL vmlinux 0xb69f8e05 phy_exit +EXPORT_SYMBOL_GPL vmlinux 0xb6a8dcac devm_bitmap_zalloc +EXPORT_SYMBOL_GPL vmlinux 0xb6af4819 __clk_mux_determine_rate_closest +EXPORT_SYMBOL_GPL vmlinux 0xb6bd41b3 dax_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0xb6c5e614 acpi_processor_evaluate_cst +EXPORT_SYMBOL_GPL vmlinux 0xb6da2020 dev_pm_opp_find_freq_exact +EXPORT_SYMBOL_GPL vmlinux 0xb6dcc522 pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0xb6e6d99d clk_disable +EXPORT_SYMBOL_GPL vmlinux 0xb6e8a91d ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0xb6eabe37 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xb6f360ff input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0xb714f05f events_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0xb722eb16 devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0xb72463b4 __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0xb72eefdf dev_pm_domain_detach +EXPORT_SYMBOL_GPL vmlinux 0xb7329c06 clk_set_phase +EXPORT_SYMBOL_GPL vmlinux 0xb73713d7 nvmem_add_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0xb7378c23 dma_resv_test_signaled +EXPORT_SYMBOL_GPL vmlinux 0xb73e37e3 devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb74a2f93 dma_vmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0xb74c31cd wwan_remove_port +EXPORT_SYMBOL_GPL vmlinux 0xb75041d1 hv_stimer_legacy_init +EXPORT_SYMBOL_GPL vmlinux 0xb7857b51 max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xb78f239a ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0xb793799c crypto_alloc_tfm_node +EXPORT_SYMBOL_GPL vmlinux 0xb79a4ca4 nd_cmd_out_size +EXPORT_SYMBOL_GPL vmlinux 0xb79fdf0e vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xb7a387fc synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0xb7aa2415 tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0xb7b0fc96 pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0xb7b7dedf crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xb7c69a63 unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7d1d19b __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xb7d7c12e hpet_set_alarm_time +EXPORT_SYMBOL_GPL vmlinux 0xb7e7de80 __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xb7f8cf89 device_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xb7f990e9 rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xb80bed27 sb800_prefetch +EXPORT_SYMBOL_GPL vmlinux 0xb8273d0b __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xb8492dd0 crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xb85042e5 gnttab_free_grant_reference_seq +EXPORT_SYMBOL_GPL vmlinux 0xb851bc79 blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0xb8558b84 virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0xb85db3eb ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xb86dba47 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xb86ed5dc gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0xb872f748 auxiliary_find_device +EXPORT_SYMBOL_GPL vmlinux 0xb8755f37 intel_pinctrl_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0xb87870bc scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0xb878c187 dma_alloc_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0xb879978e sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xb87ae6a4 hv_ghcb_msr_write +EXPORT_SYMBOL_GPL vmlinux 0xb87f40fe cppc_set_enable +EXPORT_SYMBOL_GPL vmlinux 0xb884e051 mctp_unregister_netdev +EXPORT_SYMBOL_GPL vmlinux 0xb8889ace kick_process +EXPORT_SYMBOL_GPL vmlinux 0xb88bc47e arch_apei_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0xb88dbfce irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0xb89e69b1 jump_label_update_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb89fa899 devm_hte_request_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0xb8a406f0 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xb8a4b23e usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0xb8b2b1f7 mce_register_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0xb8b9e428 virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0xb8c09fe3 genphy_c45_pma_baset1_read_master_slave +EXPORT_SYMBOL_GPL vmlinux 0xb8cd3a7f nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0xb8cd5937 iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0xb8e2ab15 of_devfreq_cooling_register_power +EXPORT_SYMBOL_GPL vmlinux 0xb8f00ef1 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0xb8f11603 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb8f30ac6 ohci_resume +EXPORT_SYMBOL_GPL vmlinux 0xb90a78ea fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0xb911eeb4 usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0xb912560d static_key_disable +EXPORT_SYMBOL_GPL vmlinux 0xb9175787 devlink_linecard_create +EXPORT_SYMBOL_GPL vmlinux 0xb93b10d0 sk_msg_is_readable +EXPORT_SYMBOL_GPL vmlinux 0xb940d90d hte_enable_ts +EXPORT_SYMBOL_GPL vmlinux 0xb94fdf61 mdiobus_modify +EXPORT_SYMBOL_GPL vmlinux 0xb95a7a87 cpuidle_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb9681621 xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0xb97997f3 edac_device_add_device +EXPORT_SYMBOL_GPL vmlinux 0xb981601b PageHuge +EXPORT_SYMBOL_GPL vmlinux 0xb9852d11 __traceiter_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xb9859231 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0xb98fe099 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xb9a0671c devm_led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xb9a6ade0 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xb9a6f12e pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0xb9a80a55 mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9c16f51 hv_max_vp_index +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9c75d31 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xb9cc41ce ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9d79e22 shake_page +EXPORT_SYMBOL_GPL vmlinux 0xb9dd0f75 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0xb9dd6741 powercap_unregister_zone +EXPORT_SYMBOL_GPL vmlinux 0xb9e0f4f0 dw8250_do_set_termios +EXPORT_SYMBOL_GPL vmlinux 0xba01ec83 hv_stimer_global_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xba055e60 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0xba057786 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0xba1b3059 led_get_default_pattern +EXPORT_SYMBOL_GPL vmlinux 0xba220db7 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xba2b7f64 cpufreq_generic_get +EXPORT_SYMBOL_GPL vmlinux 0xba46cf92 bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0xba6374a2 devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0xba667681 __device_reset +EXPORT_SYMBOL_GPL vmlinux 0xba6ac40d irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0xba7b7723 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xba7d2841 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xba82f246 uv_bios_install_heap +EXPORT_SYMBOL_GPL vmlinux 0xba9b9acc __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0xba9ea9c3 sdio_retune_hold_now +EXPORT_SYMBOL_GPL vmlinux 0xbab9a9f0 maxim_charger_currents +EXPORT_SYMBOL_GPL vmlinux 0xbac84c30 __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0xbacaf194 nvme_stop_keep_alive +EXPORT_SYMBOL_GPL vmlinux 0xbacd2ff6 __tracepoint_extlog_mem_event +EXPORT_SYMBOL_GPL vmlinux 0xbaf22757 kvfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0xbaf6850c fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0xbaf9051e devm_clk_bulk_get_all +EXPORT_SYMBOL_GPL vmlinux 0xbaf9d785 __tss_limit_invalid +EXPORT_SYMBOL_GPL vmlinux 0xbafb690b gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0xbb02520b folio_invalidate +EXPORT_SYMBOL_GPL vmlinux 0xbb028ad3 rcu_gp_slow_register +EXPORT_SYMBOL_GPL vmlinux 0xbb02b4db __reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0xbb04fe7e xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0xbb093c8a ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb0b25d2 register_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0xbb18e741 acpi_dev_get_dma_resources +EXPORT_SYMBOL_GPL vmlinux 0xbb191944 switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0xbb1a5b3c i2c_acpi_find_adapter_by_handle +EXPORT_SYMBOL_GPL vmlinux 0xbb2588f5 __bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0xbb2d8168 device_match_name +EXPORT_SYMBOL_GPL vmlinux 0xbb3334a1 irq_chip_release_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0xbb5598ce get_llc_id +EXPORT_SYMBOL_GPL vmlinux 0xbb5de548 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0xbb608bf3 nf_connlabels_get +EXPORT_SYMBOL_GPL vmlinux 0xbb64da96 serial8250_em485_destroy +EXPORT_SYMBOL_GPL vmlinux 0xbb6508da random_get_entropy_fallback +EXPORT_SYMBOL_GPL vmlinux 0xbb6a3cbd devlink_fmsg_arr_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xbb6d531b devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xbb6ebeb5 dev_pm_opp_find_freq_ceil +EXPORT_SYMBOL_GPL vmlinux 0xbb6f025a asymmetric_key_generate_id +EXPORT_SYMBOL_GPL vmlinux 0xbb711636 led_trigger_blink_oneshot +EXPORT_SYMBOL_GPL vmlinux 0xbb7195a5 xdp_warn +EXPORT_SYMBOL_GPL vmlinux 0xbb83d7e2 power_supply_charge_behaviour_show +EXPORT_SYMBOL_GPL vmlinux 0xbb93eec5 ioasid_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbb95e2a5 iocb_bio_iopoll +EXPORT_SYMBOL_GPL vmlinux 0xbbb89ae8 dmaengine_unmap_put +EXPORT_SYMBOL_GPL vmlinux 0xbbb98859 edid_info +EXPORT_SYMBOL_GPL vmlinux 0xbbc59202 blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0xbbc5ebd7 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xbbd88158 virtio_device_freeze +EXPORT_SYMBOL_GPL vmlinux 0xbbe50d04 xhci_reset_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0xbbe5611b crc64_rocksoft_update +EXPORT_SYMBOL_GPL vmlinux 0xbbe56404 sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0xbc07b04e ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xbc0eca2d __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xbc12cfef hte_push_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0xbc1d5bde gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0xbc2b9d01 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xbc34074e acpi_device_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xbc3f18d6 debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0xbc3f2cb0 timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xbc4c64e6 phy_modify +EXPORT_SYMBOL_GPL vmlinux 0xbc4e24bb copy_mc_to_kernel +EXPORT_SYMBOL_GPL vmlinux 0xbc52f9ff tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xbc60dc37 cpufreq_show_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbc6a8dfe __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xbc6bec66 free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xbc6c0729 devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xbc757cbb alarmtimer_get_rtcdev +EXPORT_SYMBOL_GPL vmlinux 0xbc7c3fd6 dev_pm_opp_get_max_clock_latency +EXPORT_SYMBOL_GPL vmlinux 0xbc8c18b0 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0xbc92596d intel_pt_validate_cap +EXPORT_SYMBOL_GPL vmlinux 0xbc9b8588 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xbc9bea24 irq_domain_update_bus_token +EXPORT_SYMBOL_GPL vmlinux 0xbca6803f badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0xbcb838a1 amd_flush_garts +EXPORT_SYMBOL_GPL vmlinux 0xbcbe3339 devlink_set_features +EXPORT_SYMBOL_GPL vmlinux 0xbcbeb27c pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0xbcc15e75 ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xbcc5b587 __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0xbcd5104f irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xbcd8292b serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0xbcdd5b99 iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0xbceb2456 skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0xbcf1f0e6 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xbcf3440d serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0xbd06f3a9 ata_get_cmd_name +EXPORT_SYMBOL_GPL vmlinux 0xbd119346 task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0xbd2019a4 l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0xbd258ede nfnetlink_unicast +EXPORT_SYMBOL_GPL vmlinux 0xbd2a50d9 scsi_alloc_request +EXPORT_SYMBOL_GPL vmlinux 0xbd31e674 perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0xbd3a41e0 regulator_irq_map_event_simple +EXPORT_SYMBOL_GPL vmlinux 0xbd3f7d66 extcon_set_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xbd3fe1e3 disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0xbd406eea icc_provider_del +EXPORT_SYMBOL_GPL vmlinux 0xbd4702d2 sysfs_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xbd4c39d6 xdp_master_redirect +EXPORT_SYMBOL_GPL vmlinux 0xbd63599f spi_mem_dirmap_read +EXPORT_SYMBOL_GPL vmlinux 0xbd685f3e proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0xbd6f28bf __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0xbd71e79f bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0xbd7aaaee add_memory +EXPORT_SYMBOL_GPL vmlinux 0xbd7f9638 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xbd867367 sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0xbd9227fd pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0xbd983671 tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0xbd98f9e7 fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xbd99e873 __SCT__tp_func_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0xbdb2217d hv_is_isolation_supported +EXPORT_SYMBOL_GPL vmlinux 0xbdb2dfd5 uv_bios_reserved_page_pa +EXPORT_SYMBOL_GPL vmlinux 0xbdb86576 bio_start_io_acct +EXPORT_SYMBOL_GPL vmlinux 0xbdba8684 vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0xbdbc439e unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xbdc025a5 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0xbdda1b5f vmalloc_huge +EXPORT_SYMBOL_GPL vmlinux 0xbe247aa2 pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0xbe28543c usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0xbe3de300 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xbe409389 devlink_port_linecard_set +EXPORT_SYMBOL_GPL vmlinux 0xbe47af60 governor_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0xbe51c45b blk_next_bio +EXPORT_SYMBOL_GPL vmlinux 0xbe5c888b crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xbe5f5480 __traceiter_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xbe65e182 max_cswd_read_retries +EXPORT_SYMBOL_GPL vmlinux 0xbe687e88 wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbe744257 efi_get_embedded_fw +EXPORT_SYMBOL_GPL vmlinux 0xbe9a83d5 dw_pcie_write +EXPORT_SYMBOL_GPL vmlinux 0xbe9cbd5d regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbea5ff1e static_key_initialized +EXPORT_SYMBOL_GPL vmlinux 0xbeb2434a regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xbeb3f32d ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0xbec51b4a __nf_ct_expect_find +EXPORT_SYMBOL_GPL vmlinux 0xbec5bbab nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL vmlinux 0xbec66c3a __apei_exec_run +EXPORT_SYMBOL_GPL vmlinux 0xbecf44ee device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xbedcaefb serial8250_rpm_put +EXPORT_SYMBOL_GPL vmlinux 0xbee770b7 disk_alloc_independent_access_ranges +EXPORT_SYMBOL_GPL vmlinux 0xbef658ad regulator_get_hardware_vsel_register +EXPORT_SYMBOL_GPL vmlinux 0xbf041102 register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbf05085c sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0xbf0588a3 acpi_dev_get_property +EXPORT_SYMBOL_GPL vmlinux 0xbf0aa95c ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0xbf165dec __SCT__tp_func_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0xbf1bb0d9 usb_role_switch_register +EXPORT_SYMBOL_GPL vmlinux 0xbf2bb9d0 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xbf2e2e71 housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0xbf34ed92 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbf447c0d percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0xbf4513c3 devlink_linecard_activate +EXPORT_SYMBOL_GPL vmlinux 0xbf4807b7 pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xbf50f9b6 crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xbf557a35 pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xbf830450 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xbf874df2 skb_gso_validate_network_len +EXPORT_SYMBOL_GPL vmlinux 0xbf88bfa9 efivars_register +EXPORT_SYMBOL_GPL vmlinux 0xbf89fc78 pci_dev_trylock +EXPORT_SYMBOL_GPL vmlinux 0xbf998945 bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbfc12511 usb_add_phy_dev +EXPORT_SYMBOL_GPL vmlinux 0xbfc5b033 nvme_init_request +EXPORT_SYMBOL_GPL vmlinux 0xbfd52df5 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0xbfe5616d tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0xbfe8f9c4 rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xbfed2cd9 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0xc00fe58b spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0xc0107f38 __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0xc01891f4 virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0xc01e2fc4 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xc0336c25 __SCK__tp_func_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0xc0423b71 kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0xc05c1b64 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xc06350a4 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0xc0640e6d ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc080d46d posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0xc08571bd crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xc08bbce6 irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0xc090c376 net_selftest_get_strings +EXPORT_SYMBOL_GPL vmlinux 0xc093e22b i2c_client_type +EXPORT_SYMBOL_GPL vmlinux 0xc0a84cf0 dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0xc0a96e14 rcu_gp_is_expedited +EXPORT_SYMBOL_GPL vmlinux 0xc0a980b7 crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0xc0b2664d devlink_dpipe_header_ipv4 +EXPORT_SYMBOL_GPL vmlinux 0xc0bcf06d pm_wakeup_dev_event +EXPORT_SYMBOL_GPL vmlinux 0xc0c4b8de devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0xc0cc5bef fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0xc0d92860 tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL vmlinux 0xc0f0458a ip_tunnel_unneed_metadata +EXPORT_SYMBOL_GPL vmlinux 0xc10048fb devm_hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0xc102db9e ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0xc1086e0c sysrq_toggle_support +EXPORT_SYMBOL_GPL vmlinux 0xc10d9202 __traceiter_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xc10fddb8 name_to_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xc1240f5b ip_icmp_error_rfc4884 +EXPORT_SYMBOL_GPL vmlinux 0xc133cf48 pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0xc13bb4e3 serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0xc147dc14 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0xc15585bb sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0xc1743430 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc179eb50 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xc17e9946 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xc188bb44 ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL vmlinux 0xc1aadab7 __of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0xc1ac8c2f tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0xc1ad61e7 crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0xc1b27044 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xc1b4adaf ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xc1b73d8b icc_get +EXPORT_SYMBOL_GPL vmlinux 0xc1bcb17d crypto_create_tfm_node +EXPORT_SYMBOL_GPL vmlinux 0xc1d60d5f fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0xc1d9ce8e usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0xc1e04334 devm_rtc_allocate_device +EXPORT_SYMBOL_GPL vmlinux 0xc1e42dd8 acpi_pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0xc1e78707 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xc1fb3c5b debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0xc1fc631c icc_set_bw +EXPORT_SYMBOL_GPL vmlinux 0xc2033d9f amd_get_highest_perf +EXPORT_SYMBOL_GPL vmlinux 0xc208f918 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xc20bf655 blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0xc2187378 blk_stat_disable_accounting +EXPORT_SYMBOL_GPL vmlinux 0xc21b52f8 synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0xc2272c69 __traceiter_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc23601c1 __SCT__tp_func_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xc23dba61 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0xc25b8971 hv_remove_crash_handler +EXPORT_SYMBOL_GPL vmlinux 0xc25dd5fe hte_ts_get +EXPORT_SYMBOL_GPL vmlinux 0xc25e1262 __SCK__tp_func_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0xc2603da4 fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0xc2692173 wakeup_sources_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc26c7c48 mmput +EXPORT_SYMBOL_GPL vmlinux 0xc280f01d klp_enable_patch +EXPORT_SYMBOL_GPL vmlinux 0xc287d96a kvm_set_posted_intr_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0xc289e46d cpufreq_generic_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xc2963a76 __traceiter_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0xc2a3e570 errata +EXPORT_SYMBOL_GPL vmlinux 0xc2a814db tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xc2ae61b2 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xc2ba51e7 __devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xc2c1c427 perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc2de27ca hest_disable +EXPORT_SYMBOL_GPL vmlinux 0xc2e017be devm_memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0xc2ea6b1b pm_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0xc2edd6b7 __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0xc2fb483f __SCT__tp_func_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0xc320ffff pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0xc32435e4 __class_create +EXPORT_SYMBOL_GPL vmlinux 0xc341ae6d zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0xc34515e2 __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc34af3f5 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc3516b15 pm_runtime_suspended_time +EXPORT_SYMBOL_GPL vmlinux 0xc36ae6ce metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0xc3708747 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc377f826 virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0xc3805cd1 fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0xc3876c1a hv_isolation_type_snp +EXPORT_SYMBOL_GPL vmlinux 0xc392fb76 nvme_enable_ctrl +EXPORT_SYMBOL_GPL vmlinux 0xc39870eb __traceiter_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0xc3a05cae crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0xc3b152b9 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xc3bc2fd9 genphy_c45_read_pma +EXPORT_SYMBOL_GPL vmlinux 0xc3c4c6cc hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0xc3cc4300 smca_get_long_name +EXPORT_SYMBOL_GPL vmlinux 0xc3cc6fde cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0xc3ddfc62 regulator_set_active_discharge_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc3de65ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc3e1021c __SCT__tp_func_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xc3ea5305 iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0xc40f284c nf_ct_helper_hsize +EXPORT_SYMBOL_GPL vmlinux 0xc41de516 fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0xc42008bf usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0xc426c51f klp_shadow_free_all +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc43e92b9 trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0xc4480cad rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xc44992ee devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0xc44d0a4f virtio_require_restricted_mem_acc +EXPORT_SYMBOL_GPL vmlinux 0xc44d96a5 acpi_bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc45baed5 cpufreq_policy_transition_delay_us +EXPORT_SYMBOL_GPL vmlinux 0xc45d0d13 injectm +EXPORT_SYMBOL_GPL vmlinux 0xc46324f6 dynevent_create +EXPORT_SYMBOL_GPL vmlinux 0xc46e719a platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc47a90b9 bpf_fentry_test1 +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc498bdc9 devlink_register +EXPORT_SYMBOL_GPL vmlinux 0xc4a31146 rdma_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc4a60564 regmap_mmio_detach_clk +EXPORT_SYMBOL_GPL vmlinux 0xc4a72936 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xc4ab5c62 nvme_uninit_ctrl +EXPORT_SYMBOL_GPL vmlinux 0xc4b25c5e rio_local_set_device_id +EXPORT_SYMBOL_GPL vmlinux 0xc4d022cb __SCT__tp_func_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xc4d17856 crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0xc4d96229 __tracepoint_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0xc4e56e1e usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xc4e673f5 user_read +EXPORT_SYMBOL_GPL vmlinux 0xc4eb4d56 __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0xc4efb6a8 crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0xc4f0da12 ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xc4fa18ee wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xc4ffaa2f blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0xc501e3cc pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xc509b432 nf_ct_expect_init +EXPORT_SYMBOL_GPL vmlinux 0xc50dca33 __SCT__tp_func_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0xc5114b01 blk_mq_wait_quiesce_done +EXPORT_SYMBOL_GPL vmlinux 0xc512626a __supported_pte_mask +EXPORT_SYMBOL_GPL vmlinux 0xc52b97a1 __traceiter_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0xc53a6677 battery_hook_register +EXPORT_SYMBOL_GPL vmlinux 0xc53abfb5 vchan_tx_submit +EXPORT_SYMBOL_GPL vmlinux 0xc53c144e acpi_subsys_prepare +EXPORT_SYMBOL_GPL vmlinux 0xc5444ea8 __SCK__tp_func_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0xc547a9c7 pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0xc553f4ff mmc_get_ext_csd +EXPORT_SYMBOL_GPL vmlinux 0xc5604800 clk_set_rate_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xc569679f virtio_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xc569d8ce __clk_get_name +EXPORT_SYMBOL_GPL vmlinux 0xc570f59a crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xc575c737 debug_locks_off +EXPORT_SYMBOL_GPL vmlinux 0xc5777fca linear_range_get_selector_low_array +EXPORT_SYMBOL_GPL vmlinux 0xc57d482b regmap_get_raw_read_max +EXPORT_SYMBOL_GPL vmlinux 0xc58a3ee6 icc_node_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc5a5c678 uart_parse_earlycon +EXPORT_SYMBOL_GPL vmlinux 0xc5c8880b pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0xc5ce2b64 devm_extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc5eb3f7d devm_nvdimm_memremap +EXPORT_SYMBOL_GPL vmlinux 0xc5fb5e9c platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0xc5fbb40f skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xc5ffbc9f fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0xc604ab28 __SCT__tp_func_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0xc617f82c unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc61ec615 nvdimm_badblocks_populate +EXPORT_SYMBOL_GPL vmlinux 0xc6253cd9 __tracepoint_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0xc62c83f4 scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0xc641e9c7 devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0xc64d975e of_phy_put +EXPORT_SYMBOL_GPL vmlinux 0xc6572a90 xenbus_read_unsigned +EXPORT_SYMBOL_GPL vmlinux 0xc66019cc xen_resume_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc66196de wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xc6660c82 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xc66b77b1 iommu_group_set_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xc6779093 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xc683da81 set_memory_decrypted +EXPORT_SYMBOL_GPL vmlinux 0xc6974695 __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0xc697b0f7 nvmem_device_read +EXPORT_SYMBOL_GPL vmlinux 0xc69b7ee5 zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0xc6a21131 dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0xc6a4a872 __clk_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc6af2f36 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0xc6be094e pcc_mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0xc6be17f7 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xc6bfb604 phy_speed_up +EXPORT_SYMBOL_GPL vmlinux 0xc6def34b gnttab_empty_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xc6e18e29 cpufreq_frequency_table_get_index +EXPORT_SYMBOL_GPL vmlinux 0xc6e5800c thermal_cooling_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc6e5bcf3 linear_range_get_selector_within +EXPORT_SYMBOL_GPL vmlinux 0xc6e9f2c8 thermal_zone_device_update +EXPORT_SYMBOL_GPL vmlinux 0xc6eec8f5 clk_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xc6f60293 dax_remove_host +EXPORT_SYMBOL_GPL vmlinux 0xc7061ef3 iova_cache_put +EXPORT_SYMBOL_GPL vmlinux 0xc71770d2 iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0xc71d7694 acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc7234e6b gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0xc72d8d08 of_icc_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0xc7300604 __reset_control_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xc7331aa1 device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0xc746ef20 devfreq_event_enable_edev +EXPORT_SYMBOL_GPL vmlinux 0xc74aca54 nd_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0xc75aadb3 ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0xc75d7381 phy_check_downshift +EXPORT_SYMBOL_GPL vmlinux 0xc774683c __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0xc7761c22 icc_provider_add +EXPORT_SYMBOL_GPL vmlinux 0xc78365bb fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0xc7856e74 __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xc7915bf2 kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0xc79ee6fb acpi_subsys_complete +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7a7e770 clk_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xc7bb8520 isa_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xc7c23ff0 xenbus_exists +EXPORT_SYMBOL_GPL vmlinux 0xc7c25da1 rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0xc7e64fc2 asn1_encode_integer +EXPORT_SYMBOL_GPL vmlinux 0xc7f21186 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0xc7f7bd72 phy_led_triggers_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc7fa4aa9 kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0xc7fb4730 device_link_add +EXPORT_SYMBOL_GPL vmlinux 0xc80f8e4a devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc8126340 clear_mce_nospec +EXPORT_SYMBOL_GPL vmlinux 0xc8148a12 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL vmlinux 0xc82c721f klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xc82ddd2e serial8250_update_uartclk +EXPORT_SYMBOL_GPL vmlinux 0xc839c1ce trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0xc8437051 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0xc852471b blk_crypto_intersect_capabilities +EXPORT_SYMBOL_GPL vmlinux 0xc8594d3d reset_control_acquire +EXPORT_SYMBOL_GPL vmlinux 0xc85c3076 cpufreq_freq_transition_end +EXPORT_SYMBOL_GPL vmlinux 0xc874d710 hv_unmap_ioapic_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xc87e487a sched_clock_idle_sleep_event +EXPORT_SYMBOL_GPL vmlinux 0xc8841097 __traceiter_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0xc8999bc7 genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0xc8a294f8 nf_nat_helper_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc8a321a0 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xc8aeeaf3 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xc8c04620 usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0xc8ddd5b5 kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0xc8eb60cc ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0xc8f29536 sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0xc90cb453 crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0xc90fb652 __xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0xc912fb4d pm_clk_remove_clk +EXPORT_SYMBOL_GPL vmlinux 0xc91eadfc br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0xc91ee1b5 __SCT__tp_func_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xc91fdf58 percpu_ref_is_zero +EXPORT_SYMBOL_GPL vmlinux 0xc93224aa inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xc9345c0f digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0xc93ee1e7 usb_phy_roothub_init +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9641b48 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0xc9661a52 cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0xc97a2bb3 extcon_unregister_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0xc9827693 __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0xc991be12 fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0xc993f465 gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xc99f66b5 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc9a4b416 copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0xc9b698d3 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xc9c3f176 hpet_register_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xc9c7693e fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0xc9ccd8b2 crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0xc9dcb485 phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9ecff50 devl_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc9ef3b5a pinctrl_add_gpio_ranges +EXPORT_SYMBOL_GPL vmlinux 0xc9f3e155 devm_regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xc9fcf5f7 posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0xc9fd634a usb_role_switch_put +EXPORT_SYMBOL_GPL vmlinux 0xca129ccc pinctrl_find_gpio_range_from_pin +EXPORT_SYMBOL_GPL vmlinux 0xca1ca648 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0xca25a94e kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0xca3d5299 ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0xca454a34 vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0xca467318 hibernation_set_ops +EXPORT_SYMBOL_GPL vmlinux 0xca617155 sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0xca6be4c5 of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0xca78120d __SCK__tp_func_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca89f0a5 nvme_sync_queues +EXPORT_SYMBOL_GPL vmlinux 0xca9026e1 __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0xca9a1d5e ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xca9a2cb2 nvme_sync_io_queues +EXPORT_SYMBOL_GPL vmlinux 0xca9b7b8e cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0xcaa68533 cpu_has_xfeatures +EXPORT_SYMBOL_GPL vmlinux 0xcaa7ac16 clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0xcaa7e7ba ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0xcaacb9a8 nvmem_cell_read_variable_le_u32 +EXPORT_SYMBOL_GPL vmlinux 0xcab5112e tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcad2ff37 input_device_enabled +EXPORT_SYMBOL_GPL vmlinux 0xcae716b6 devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0xcaf1d958 evtchn_get +EXPORT_SYMBOL_GPL vmlinux 0xcaf6c9f4 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xcb176978 regulator_set_soft_start_regmap +EXPORT_SYMBOL_GPL vmlinux 0xcb186931 pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0xcb279a59 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xcb281392 devm_clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xcb287288 md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0xcb287eaa bpf_trace_run10 +EXPORT_SYMBOL_GPL vmlinux 0xcb2bfe2b nvmem_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcb323e4e fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0xcb3ab7b3 sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0xcb561441 mem_dump_obj +EXPORT_SYMBOL_GPL vmlinux 0xcb59f6e8 virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0xcb69c64a genphy_c45_fast_retrain +EXPORT_SYMBOL_GPL vmlinux 0xcb70d119 thermal_zone_get_offset +EXPORT_SYMBOL_GPL vmlinux 0xcb8a461c hv_stimer_legacy_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xcb9062d4 bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0xcb964f1f fbcon_modechange_possible +EXPORT_SYMBOL_GPL vmlinux 0xcb970751 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xcb9ecec1 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0xcb9f736f tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xcba69ef1 crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0xcbb46ca0 misc_cg_set_capacity +EXPORT_SYMBOL_GPL vmlinux 0xcbdb5842 icc_get_name +EXPORT_SYMBOL_GPL vmlinux 0xcbe56bc2 zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0xcbf418a5 pci_hp_add +EXPORT_SYMBOL_GPL vmlinux 0xcbf9bc72 vp_modern_get_num_queues +EXPORT_SYMBOL_GPL vmlinux 0xcbfadc5f edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xcbfb686e ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0xcc032478 edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0xcc18a261 print_tuple +EXPORT_SYMBOL_GPL vmlinux 0xcc24f1f1 __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0xcc2af044 irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0xcc2dbfd8 irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0xcc312197 clk_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0xcc37f257 fork_usermode_driver +EXPORT_SYMBOL_GPL vmlinux 0xcc39c03e nvmem_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc44e767 __traceiter_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xcc525b04 pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0xcc5db77b usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xcc7065d1 cros_ec_command +EXPORT_SYMBOL_GPL vmlinux 0xcc795932 devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0xcc8a5169 xhci_dbg_trace +EXPORT_SYMBOL_GPL vmlinux 0xcc9268fc hwpoison_filter_enable +EXPORT_SYMBOL_GPL vmlinux 0xcc935375 walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0xccabde6f crc64_rocksoft_generic +EXPORT_SYMBOL_GPL vmlinux 0xccada1d6 irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0xccb59b53 perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0xccbea6cc xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0xccc35d41 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xccc72993 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0xccca1b6e debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0xccccafe4 synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd01597 usb_role_switch_find_by_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xccd568be iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0xccd7fc7d acpi_dev_get_memory_resources +EXPORT_SYMBOL_GPL vmlinux 0xccd86806 ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0xccd8c2b4 ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0xcce22e48 fscrypt_mergeable_bio +EXPORT_SYMBOL_GPL vmlinux 0xccea4e34 perf_get_x86_pmu_capability +EXPORT_SYMBOL_GPL vmlinux 0xccf396a3 x86_perf_get_lbr +EXPORT_SYMBOL_GPL vmlinux 0xccf52bc9 sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0xcd185542 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0xcd1ca98c device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0xcd216707 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0xcd24e146 hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0xcd290924 tps65912_device_exit +EXPORT_SYMBOL_GPL vmlinux 0xcd40ad76 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0xcd520622 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xcd54721a acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xcd5ec89a pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0xcd6f2dc9 nf_log_buf_add +EXPORT_SYMBOL_GPL vmlinux 0xcd81a945 switch_fpu_return +EXPORT_SYMBOL_GPL vmlinux 0xcd81bc6b regulator_set_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0xcd8e8f82 uv_bios_enum_objs +EXPORT_SYMBOL_GPL vmlinux 0xcd91b127 system_highpri_wq +EXPORT_SYMBOL_GPL vmlinux 0xcd974f00 rcu_all_qs +EXPORT_SYMBOL_GPL vmlinux 0xcd9cd2ff wakeme_after_rcu +EXPORT_SYMBOL_GPL vmlinux 0xcd9d03c7 query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0xcda4c6bb blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0xcdab2cfe dev_pm_opp_put_regulators +EXPORT_SYMBOL_GPL vmlinux 0xcdab45e1 fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0xcdb6adcc ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0xcdc00933 pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdcba858 pm_genpd_remove +EXPORT_SYMBOL_GPL vmlinux 0xcdcbffdd ata_dev_set_feature +EXPORT_SYMBOL_GPL vmlinux 0xcddef4d8 usb_hcd_start_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xcde26600 cppc_get_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0xcde7cfe6 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0xcde873ee mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0xcdee7bc8 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0xce0a4020 xenbus_directory +EXPORT_SYMBOL_GPL vmlinux 0xce1e53eb dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0xce2c3065 devm_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0xce3dc4b8 rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xce6db656 rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0xce7f6ed6 switchdev_handle_port_obj_del_foreign +EXPORT_SYMBOL_GPL vmlinux 0xce86ec58 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0xce945996 inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0xce946516 event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0xcea0da6b wakeup_sources_walk_start +EXPORT_SYMBOL_GPL vmlinux 0xceb1f126 mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0xceb66bec sched_clock_cpu +EXPORT_SYMBOL_GPL vmlinux 0xcebc1401 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xcebeb96b pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0xcebf6b67 tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0xcedc214a dev_pm_opp_free_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0xcee1641c kgdb_unregister_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xcf02ab71 __SCT__tp_func_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0xcf03717d find_mci_by_dev +EXPORT_SYMBOL_GPL vmlinux 0xcf0383ce nvdimm_in_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xcf0e12fd regmap_get_raw_write_max +EXPORT_SYMBOL_GPL vmlinux 0xcf1b3fbf devm_clk_get_optional_enabled +EXPORT_SYMBOL_GPL vmlinux 0xcf2b93c8 __SCT__tp_func_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0xcf384447 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0xcf3f3fc7 __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xcf540422 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0xcf58b0b4 dummy_con +EXPORT_SYMBOL_GPL vmlinux 0xcf5aca93 gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xcf656f0e crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0xcf65f424 nf_ct_helper_log +EXPORT_SYMBOL_GPL vmlinux 0xcf83f4dd acpi_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0xcf88daea ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0xcfb3f8a6 devm_blk_crypto_profile_init +EXPORT_SYMBOL_GPL vmlinux 0xcfbe70d5 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0xcfc5108a devlink_fmsg_u8_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xcfc7b4e4 rcu_barrier_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0xcfc83093 pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0xcfce07a6 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xcfd2f72a irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0xcfd30d71 acpi_os_map_memory +EXPORT_SYMBOL_GPL vmlinux 0xcfd3f002 usb_acpi_set_power_state +EXPORT_SYMBOL_GPL vmlinux 0xcfd98058 sk_msg_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0xcffeedb3 dax_add_host +EXPORT_SYMBOL_GPL vmlinux 0xd01047d5 __SCK__tp_func_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0xd0177a65 acrn_setup_intr_handler +EXPORT_SYMBOL_GPL vmlinux 0xd01e34d4 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL vmlinux 0xd03046bd genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL vmlinux 0xd03d3006 icc_enable +EXPORT_SYMBOL_GPL vmlinux 0xd03eaf4c schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0xd0458ccb xenbus_strstate +EXPORT_SYMBOL_GPL vmlinux 0xd04a2de1 unregister_fprobe +EXPORT_SYMBOL_GPL vmlinux 0xd04ff37c __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0xd055cbee nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL vmlinux 0xd05bb84c pwm_request +EXPORT_SYMBOL_GPL vmlinux 0xd063921d class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd06524ba raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd067d3c5 system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0xd073837b devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd0764c1f ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0xd08bc25e __devm_rtc_register_device +EXPORT_SYMBOL_GPL vmlinux 0xd09911a6 acpi_dev_get_irq_type +EXPORT_SYMBOL_GPL vmlinux 0xd09a9ca5 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0xd0a1ead4 vp_legacy_set_status +EXPORT_SYMBOL_GPL vmlinux 0xd0a40410 rio_mport_get_efb +EXPORT_SYMBOL_GPL vmlinux 0xd0b44f7a device_add +EXPORT_SYMBOL_GPL vmlinux 0xd0b644b4 hv_setup_dma_ops +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0d156e9 __rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xd0d1c06b hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0xd0d3f0a4 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0xd0db0f12 run_dax +EXPORT_SYMBOL_GPL vmlinux 0xd0df12ba __SCT__tp_func_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xd0e5e0a8 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0xd0e74569 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0xd0efa7f5 nvdimm_region_notify +EXPORT_SYMBOL_GPL vmlinux 0xd0f0bef6 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0xd0fc36d1 ata_host_put +EXPORT_SYMBOL_GPL vmlinux 0xd0fd7085 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd108a5d9 find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0xd122a86b strp_init +EXPORT_SYMBOL_GPL vmlinux 0xd1325e06 alloc_dax +EXPORT_SYMBOL_GPL vmlinux 0xd138c08a free_iova_fast +EXPORT_SYMBOL_GPL vmlinux 0xd13a94d1 __SCT__tp_func_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0xd13aab68 nvdimm_setup_pfn +EXPORT_SYMBOL_GPL vmlinux 0xd1481de7 mpi_clear +EXPORT_SYMBOL_GPL vmlinux 0xd1530ac3 __intel_scu_ipc_register +EXPORT_SYMBOL_GPL vmlinux 0xd159586c net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xd15d7631 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0xd18acddd pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xd1957959 nvme_remove_namespaces +EXPORT_SYMBOL_GPL vmlinux 0xd1a833ac devm_clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xd1b8a911 tty_port_register_device_serdev +EXPORT_SYMBOL_GPL vmlinux 0xd1b9bae4 dw_pcie_ep_reset_bar +EXPORT_SYMBOL_GPL vmlinux 0xd1cac7bf unregister_ftrace_direct +EXPORT_SYMBOL_GPL vmlinux 0xd1cbc23c add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd1d024f2 __fscrypt_inode_uses_inline_crypto +EXPORT_SYMBOL_GPL vmlinux 0xd1df2ed4 espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0xd1e34ddf simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xd1e9b2ad __SCT__tp_func_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0xd1f2df4e tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0xd1f2eee2 nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0xd1ff89b7 kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xd200ba56 scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0xd20ab4b1 devm_mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xd20ac556 nf_ct_set_auto_assign_helper_warned +EXPORT_SYMBOL_GPL vmlinux 0xd20c66ab __SCT__tp_func_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd21b61bd async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0xd22b9bd3 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xd24173fc device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xd241ceeb debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xd2423f76 i2c_acpi_get_i2c_resource +EXPORT_SYMBOL_GPL vmlinux 0xd2493762 pinctrl_utils_add_map_mux +EXPORT_SYMBOL_GPL vmlinux 0xd24e9e8c klist_init +EXPORT_SYMBOL_GPL vmlinux 0xd259ba12 acpi_processor_get_performance_info +EXPORT_SYMBOL_GPL vmlinux 0xd260af0d ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xd2652ce3 fb_deferred_io_release +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd277b48c extcon_get_property +EXPORT_SYMBOL_GPL vmlinux 0xd27eeb4b alloc_iova +EXPORT_SYMBOL_GPL vmlinux 0xd27f215d gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xd29c1f10 __traceiter_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0xd2af8385 request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0xd2b10a05 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0xd2d7e59b unregister_platform_power_off +EXPORT_SYMBOL_GPL vmlinux 0xd2e010e4 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0xd2e66a2e put_pid +EXPORT_SYMBOL_GPL vmlinux 0xd30872cb i2c_acpi_find_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0xd3105980 tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0xd3138166 ehci_setup +EXPORT_SYMBOL_GPL vmlinux 0xd313bc7b xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0xd314fee0 bio_end_io_acct_remapped +EXPORT_SYMBOL_GPL vmlinux 0xd31a2ac5 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0xd31a9b08 devm_pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0xd31cac40 pwm_get_chip_data +EXPORT_SYMBOL_GPL vmlinux 0xd31f2a15 dma_resv_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0xd320ebaf pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0xd322d2f9 nvdimm_bus_add_badrange +EXPORT_SYMBOL_GPL vmlinux 0xd32b7fe3 __traceiter_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xd33255b1 gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0xd345233e pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0xd362d250 fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0xd36760ef __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xd3748f56 trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0xd374b252 fat_attach +EXPORT_SYMBOL_GPL vmlinux 0xd3752c27 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xd38e5e48 __tracepoint_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0xd3956224 balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0xd39e88a7 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd39e9848 put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xd3b36e99 sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xd3ba2b7c irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xd3c16ae7 __tracepoint_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xd3cba8e8 __SCK__tp_func_nvme_sq +EXPORT_SYMBOL_GPL vmlinux 0xd3de9d19 serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0xd3dfdcd4 __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0xd3eaf1ed devlink_dpipe_entry_clear +EXPORT_SYMBOL_GPL vmlinux 0xd3ec851c __traceiter_unmap +EXPORT_SYMBOL_GPL vmlinux 0xd3f92d70 __traceiter_block_split +EXPORT_SYMBOL_GPL vmlinux 0xd4006fcd cpufreq_generic_attr +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4073a43 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd40d7cd5 gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0xd426dbc4 erst_get_record_count +EXPORT_SYMBOL_GPL vmlinux 0xd42f1d4e show_rcu_tasks_rude_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0xd43561b7 bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0xd438fc65 dev_pm_qos_flags +EXPORT_SYMBOL_GPL vmlinux 0xd4404350 __SCT__tp_func_block_split +EXPORT_SYMBOL_GPL vmlinux 0xd44a5eac kgdb_register_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xd45434ee admin_timeout +EXPORT_SYMBOL_GPL vmlinux 0xd46af5ef cppc_get_perf_ctrs +EXPORT_SYMBOL_GPL vmlinux 0xd46ef5b1 sch_frag_xmit_hook +EXPORT_SYMBOL_GPL vmlinux 0xd4868538 sched_set_fifo +EXPORT_SYMBOL_GPL vmlinux 0xd4888e4a vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0xd492bd2c sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0xd4943913 regmap_get_val_endian +EXPORT_SYMBOL_GPL vmlinux 0xd499de92 tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0xd4b6157e devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0xd4b8ef1e __iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0xd4b9a616 reset_control_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4d58ea6 blk_mq_complete_request_remote +EXPORT_SYMBOL_GPL vmlinux 0xd4e6d7e0 linear_range_get_value +EXPORT_SYMBOL_GPL vmlinux 0xd4f5bfa5 iommu_queue_iopf +EXPORT_SYMBOL_GPL vmlinux 0xd505369b clk_mux_determine_rate_flags +EXPORT_SYMBOL_GPL vmlinux 0xd505c3e0 nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL vmlinux 0xd5068512 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0xd50f23ad inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0xd51ce69d genphy_c45_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xd51f6587 mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0xd5236e9b register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0xd5301b2c linear_range_get_max_value +EXPORT_SYMBOL_GPL vmlinux 0xd53c67b3 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xd53dccf8 to_nvdimm_bus_dev +EXPORT_SYMBOL_GPL vmlinux 0xd5474690 usb_role_switch_set_role +EXPORT_SYMBOL_GPL vmlinux 0xd54c0185 set_secondary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xd55ad93b iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xd55dbbc1 devm_usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0xd56b39c2 mmc_crypto_prepare_req +EXPORT_SYMBOL_GPL vmlinux 0xd5787987 devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0xd58bbbcb nvme_delete_wq +EXPORT_SYMBOL_GPL vmlinux 0xd5976ade cpufreq_dbs_governor_init +EXPORT_SYMBOL_GPL vmlinux 0xd59a1587 linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0xd59d8abb rio_add_net +EXPORT_SYMBOL_GPL vmlinux 0xd5a3e9f5 extcon_get_edev_name +EXPORT_SYMBOL_GPL vmlinux 0xd5b3f70f blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0xd5b9e3bb blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0xd5eb0d4e acpi_register_lps0_dev +EXPORT_SYMBOL_GPL vmlinux 0xd5f3bb7b set_memory_encrypted +EXPORT_SYMBOL_GPL vmlinux 0xd5f5cd12 devm_regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd600aae3 devm_clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd60205b2 pcc_mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xd605d00e irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xd6164db5 powercap_register_control_type +EXPORT_SYMBOL_GPL vmlinux 0xd6335938 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xd63861de pci_epf_remove_vepf +EXPORT_SYMBOL_GPL vmlinux 0xd64b7946 irq_chip_set_vcpu_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0xd64cb0c2 reset_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd64ed259 __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0xd6574b97 dev_pm_opp_find_freq_ceil_by_volt +EXPORT_SYMBOL_GPL vmlinux 0xd658149f __traceiter_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0xd663cdf7 bpf_trace_run8 +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd69056e1 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0xd6909e2a dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0xd692e25b crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0xd69c1eea dev_pm_opp_init_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0xd6aafb42 crc64_rocksoft +EXPORT_SYMBOL_GPL vmlinux 0xd6b27e8a xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0xd6c516b3 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0xd6c7817f inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0xd6d537fb agp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0xd6df5a88 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xd6eea99d devm_clk_get_prepared +EXPORT_SYMBOL_GPL vmlinux 0xd6f00f33 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0xd6f3e556 fsverity_verify_page +EXPORT_SYMBOL_GPL vmlinux 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL vmlinux 0xd7057684 dma_get_any_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0xd7086719 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0xd7140499 netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0xd71fb330 devm_devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0xd7269c64 osc_sb_native_usb4_control +EXPORT_SYMBOL_GPL vmlinux 0xd7293ffc percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0xd72abfdc vfio_pci_core_request +EXPORT_SYMBOL_GPL vmlinux 0xd72feba2 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xd7399d2a efivar_entry_iter_end +EXPORT_SYMBOL_GPL vmlinux 0xd73f1375 cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0xd75527a0 devm_pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0xd75b20aa rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd774957d mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0xd7755319 pinctrl_utils_add_config +EXPORT_SYMBOL_GPL vmlinux 0xd77a5497 register_fprobe_syms +EXPORT_SYMBOL_GPL vmlinux 0xd77f98c9 misc_cg_try_charge +EXPORT_SYMBOL_GPL vmlinux 0xd789d12f acpi_match_device +EXPORT_SYMBOL_GPL vmlinux 0xd78ba35d handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0xd7934605 iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0xd79f6fa5 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd7a3790f clk_hw_get_parent +EXPORT_SYMBOL_GPL vmlinux 0xd7aa9356 key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0xd7be3f99 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xd7c4dc92 _copy_from_iter_flushcache +EXPORT_SYMBOL_GPL vmlinux 0xd7cea889 edac_mod_work +EXPORT_SYMBOL_GPL vmlinux 0xd7d7f2a7 devlink_port_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd7eaf4fc bpf_preload_ops +EXPORT_SYMBOL_GPL vmlinux 0xd7ed796c pm_runtime_force_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd7edf177 devm_kasprintf_strarray +EXPORT_SYMBOL_GPL vmlinux 0xd7f0daf6 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xd7f4ec2a regmap_read +EXPORT_SYMBOL_GPL vmlinux 0xd8062b73 serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0xd8199c0a nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL vmlinux 0xd821122c devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0xd82bf4fe md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xd82ca196 mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0xd836c22d rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xd83a36a1 vp_modern_set_status +EXPORT_SYMBOL_GPL vmlinux 0xd84d35bd dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xd873f691 clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xd875134e usb_asmedia_modifyflowcontrol +EXPORT_SYMBOL_GPL vmlinux 0xd87b6d1e tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0xd87fc0a0 usb_amd_prefetch_quirk +EXPORT_SYMBOL_GPL vmlinux 0xd8873c88 mmc_sanitize +EXPORT_SYMBOL_GPL vmlinux 0xd889e20f blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xd8a49c19 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0xd8ac85c3 fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0xd8b0178d nvme_stop_queues +EXPORT_SYMBOL_GPL vmlinux 0xd8b7c608 gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xd8d065dd hv_stimer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd8d68ab1 dmi_memdev_type +EXPORT_SYMBOL_GPL vmlinux 0xd8f8032b iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0xd8f84a67 acpi_dev_state_d0 +EXPORT_SYMBOL_GPL vmlinux 0xd8fbb14d net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xd902cdca __devm_clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0xd9076fc4 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0xd9106401 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xd912f233 dev_pm_opp_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xd917ae38 vfio_virqfd_enable +EXPORT_SYMBOL_GPL vmlinux 0xd91dbd1f xdp_alloc_skb_bulk +EXPORT_SYMBOL_GPL vmlinux 0xd92212a6 crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0xd92824ae devm_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0xd92ef192 security_kernel_post_load_data +EXPORT_SYMBOL_GPL vmlinux 0xd92f0791 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xd935deab ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xd93a5cb1 efivar_variable_is_removable +EXPORT_SYMBOL_GPL vmlinux 0xd93bda50 pm_runtime_set_memalloc_noio +EXPORT_SYMBOL_GPL vmlinux 0xd95aa66c phy_select_page +EXPORT_SYMBOL_GPL vmlinux 0xd96894ef regmap_fields_read +EXPORT_SYMBOL_GPL vmlinux 0xd96babb4 interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd97e6a86 iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0xd98a34c6 ata_sas_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xd9916c3a idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0xd9992eb4 uv_bios_get_geoinfo +EXPORT_SYMBOL_GPL vmlinux 0xd99b0153 devm_mipi_dsi_attach +EXPORT_SYMBOL_GPL vmlinux 0xd9ad07c6 cpufreq_freq_attr_scaling_boost_freqs +EXPORT_SYMBOL_GPL vmlinux 0xd9b3c584 virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0xd9b3d960 devfreq_event_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xd9b6c605 nf_ct_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xd9d0a2af devlink_flash_update_timeout_notify +EXPORT_SYMBOL_GPL vmlinux 0xd9d61922 icc_disable +EXPORT_SYMBOL_GPL vmlinux 0xd9e02092 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xd9e24457 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0xd9e69f8b netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0xd9e86c88 of_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xd9f2eb1d do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0xd9f7f435 regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd9fa9cf2 nvme_complete_async_event +EXPORT_SYMBOL_GPL vmlinux 0xd9fc3267 nf_ct_seq_offset +EXPORT_SYMBOL_GPL vmlinux 0xd9fc4e2f __tracepoint_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xd9ff2172 ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xda07e573 fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0xda0947de kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xda1f78ee clear_hv_tscchange_cb +EXPORT_SYMBOL_GPL vmlinux 0xda1fa1d4 blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0xda226eea dmaengine_desc_set_metadata_len +EXPORT_SYMBOL_GPL vmlinux 0xda2b0cd1 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xda320d31 sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0xda347b10 devm_clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0xda3ca40b usb_amd_pt_check_port +EXPORT_SYMBOL_GPL vmlinux 0xda3d8578 kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0xda4ed92a pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xda73ce1b rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0xda7723c9 irq_generic_chip_ops +EXPORT_SYMBOL_GPL vmlinux 0xda7912d4 freq_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xda8369a7 __traceiter_extlog_mem_event +EXPORT_SYMBOL_GPL vmlinux 0xda8e1302 software_node_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0xda8fb8cd acpi_device_fix_up_power +EXPORT_SYMBOL_GPL vmlinux 0xdaa06dc1 acpi_lpat_raw_to_temp +EXPORT_SYMBOL_GPL vmlinux 0xdaaf9a02 irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0xdab22344 pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0xdab57d9d vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0xdab5a1eb interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0xdac12b75 ohci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0xdac7c28f wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0xdad0afb3 bio_start_io_acct_time +EXPORT_SYMBOL_GPL vmlinux 0xdadfb23b blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0xdae36439 irq_domain_remove_sim +EXPORT_SYMBOL_GPL vmlinux 0xdae45dfc tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdaf90fb1 vfio_pci_core_enable +EXPORT_SYMBOL_GPL vmlinux 0xdb00f72c msi_lock_descs +EXPORT_SYMBOL_GPL vmlinux 0xdb01c7a4 __traceiter_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0xdb065657 nfnl_unlock +EXPORT_SYMBOL_GPL vmlinux 0xdb081cd5 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xdb135ac4 scsi_device_from_queue +EXPORT_SYMBOL_GPL vmlinux 0xdb1aaf9b arch_is_platform_page +EXPORT_SYMBOL_GPL vmlinux 0xdb216598 tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0xdb27e447 dma_vunmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0xdb299108 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0xdb2d86d6 wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xdb38ca17 iommu_enable_nesting +EXPORT_SYMBOL_GPL vmlinux 0xdb62dc67 __SCT__tp_func_map +EXPORT_SYMBOL_GPL vmlinux 0xdb63a944 acpi_lpat_get_conversion_table +EXPORT_SYMBOL_GPL vmlinux 0xdb658513 __traceiter_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0xdb663f0f gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0xdb80e919 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdb833855 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb92de94 devm_hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0xdba0e344 machine_check_poll +EXPORT_SYMBOL_GPL vmlinux 0xdba7326b nf_conntrack_lock +EXPORT_SYMBOL_GPL vmlinux 0xdbac1ea0 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0xdbac6553 __auxiliary_device_add +EXPORT_SYMBOL_GPL vmlinux 0xdbd7c505 phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0xdbdb0e8b request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xdbe40eca bpf_trace_run5 +EXPORT_SYMBOL_GPL vmlinux 0xdbe8fa31 unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdbfa8ef0 __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0xdc02eb39 dmi_available +EXPORT_SYMBOL_GPL vmlinux 0xdc14a211 xen_hvm_evtchn_do_upcall +EXPORT_SYMBOL_GPL vmlinux 0xdc181434 is_nvdimm_sync +EXPORT_SYMBOL_GPL vmlinux 0xdc2378d7 skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0xdc30b834 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xdc438050 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0xdc43bdc6 pci_vpd_find_ro_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0xdc443c5f __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xdc45a5db edac_stop_work +EXPORT_SYMBOL_GPL vmlinux 0xdc57f7f0 __regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0xdc5f04ea usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0xdc6491f3 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xdc6596fa irq_set_parent +EXPORT_SYMBOL_GPL vmlinux 0xdc6699cb acpi_dev_free_resource_list +EXPORT_SYMBOL_GPL vmlinux 0xdc719bcd ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0xdc733fb1 skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xdc7df67f apei_exec_ctx_init +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc841b74 misc_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdc9650c9 serial8250_request_dma +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc9fa232 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xdca69bf8 dma_request_chan_by_mask +EXPORT_SYMBOL_GPL vmlinux 0xdcbb43e5 serial8250_do_set_mctrl +EXPORT_SYMBOL_GPL vmlinux 0xdcdff818 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xdceceecd phy_validate +EXPORT_SYMBOL_GPL vmlinux 0xdcf5d50c ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xdd0122df usb_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xdd0762df set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0xdd1d2168 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xdd326c53 mctp_register_netdev +EXPORT_SYMBOL_GPL vmlinux 0xdd378589 acpi_cppc_processor_probe +EXPORT_SYMBOL_GPL vmlinux 0xdd450ef1 x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0xdd54eb2e unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xdd626ee3 fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0xdd64c681 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0xdd68091c __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xdd68a17d acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0xdd74b721 usb_get_maximum_ssp_rate +EXPORT_SYMBOL_GPL vmlinux 0xdd90b43c pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0xdd915bac kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0xdd9d65a2 pci_aer_clear_nonfatal_status +EXPORT_SYMBOL_GPL vmlinux 0xdd9da765 device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xdd9dd80d xen_pvh +EXPORT_SYMBOL_GPL vmlinux 0xddbeeecc pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0xddbf5748 open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0xddcc40e5 bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0xdddaab3a get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0xdde686b4 irq_domain_create_sim +EXPORT_SYMBOL_GPL vmlinux 0xdde6e73d ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0xdde96d60 spi_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0xde0efa14 bpf_trace_run3 +EXPORT_SYMBOL_GPL vmlinux 0xde133266 devm_i2c_add_adapter +EXPORT_SYMBOL_GPL vmlinux 0xde28c7e8 iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0xde2ee72c lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0xde31bf7e unregister_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0xde34c5c2 __SCK__tp_func_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0xde52df8a irq_gc_mask_clr_bit +EXPORT_SYMBOL_GPL vmlinux 0xde562bf6 xenbus_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xde5b8d30 bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0xde6f1851 TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0xde8a621b gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0xde918ef1 gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0xde9ab8c7 xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xdea68754 pwm_capture +EXPORT_SYMBOL_GPL vmlinux 0xdea887b9 extcon_register_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0xdead2e78 reserve_iova +EXPORT_SYMBOL_GPL vmlinux 0xdeb7ca1e nvdimm_flush +EXPORT_SYMBOL_GPL vmlinux 0xdebbfe01 ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0xdec79179 __traceiter_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0xdeccb0a7 blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0xdecd1ddc __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0xdeddec8d sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0xdee0c84f vp_legacy_get_status +EXPORT_SYMBOL_GPL vmlinux 0xdee3de79 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0xdeffa0a7 edac_raw_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0xdf0aed48 nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL vmlinux 0xdf0c757f ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0xdf0ca3f4 cpu_latency_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf16c27a pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0xdf1706d3 pm_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0xdf1882af dbgp_reset_prep +EXPORT_SYMBOL_GPL vmlinux 0xdf1be5e1 __free_iova +EXPORT_SYMBOL_GPL vmlinux 0xdf2738bb cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdf3c1300 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xdf43c01b skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0xdf448d1c fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0xdf49c7e0 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xdf727393 ata_pci_shutdown_one +EXPORT_SYMBOL_GPL vmlinux 0xdf81924d uv_bios_mq_watchlist_free +EXPORT_SYMBOL_GPL vmlinux 0xdf861903 phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL vmlinux 0xdf86cea4 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xdf9c6f3e sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xdfa2d49c devm_extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0xdfa9046c of_hwspin_lock_get_id_byname +EXPORT_SYMBOL_GPL vmlinux 0xdfad8bb2 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0xdfb51ea3 crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0xdfc4beaa tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xdfcb6c90 mctrl_gpio_set +EXPORT_SYMBOL_GPL vmlinux 0xdfe7e906 mmc_regulator_get_supply +EXPORT_SYMBOL_GPL vmlinux 0xe002ac2e tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0xe01ca42e register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0xe0313d71 rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0xe04c78db __SCT__tp_func_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0xe05e2f85 nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe070fe37 mbox_client_txdone +EXPORT_SYMBOL_GPL vmlinux 0xe078e658 msg_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0xe07a5e43 relay_close +EXPORT_SYMBOL_GPL vmlinux 0xe07db49b sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL vmlinux 0xe08f92c8 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0xe0a2f079 nexthop_select_path +EXPORT_SYMBOL_GPL vmlinux 0xe0a5b1e3 dev_pm_opp_disable +EXPORT_SYMBOL_GPL vmlinux 0xe0b1c103 clk_set_max_rate +EXPORT_SYMBOL_GPL vmlinux 0xe0c14e49 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0xe0c4e14d hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xe0c77bb5 mce_notify_irq +EXPORT_SYMBOL_GPL vmlinux 0xe0cd3f83 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0xe0d39f1c sgx_set_attribute +EXPORT_SYMBOL_GPL vmlinux 0xe0d5c691 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xe0fd4312 xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xe10cd6ad erst_get_record_id_begin +EXPORT_SYMBOL_GPL vmlinux 0xe131c2d5 xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xe13e40a6 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0xe15c3406 devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0xe164244d kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0xe1775ee7 dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0xe180fe5b vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0xe1856549 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xe1a03526 vfio_pci_core_init_device +EXPORT_SYMBOL_GPL vmlinux 0xe1a8d7c9 net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xe1aa2d62 set_hv_tscchange_cb +EXPORT_SYMBOL_GPL vmlinux 0xe1ba3632 pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0xe1bd6c99 rio_init_mports +EXPORT_SYMBOL_GPL vmlinux 0xe1c87a2f kernel_can_power_off +EXPORT_SYMBOL_GPL vmlinux 0xe1d1ecfe devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0xe1e2698b devlink_net +EXPORT_SYMBOL_GPL vmlinux 0xe2000be1 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xe20af4f2 elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0xe233762a input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0xe2386762 dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0xe24168fe ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0xe24b7265 clk_hw_get_name +EXPORT_SYMBOL_GPL vmlinux 0xe24d53a6 devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0xe25d23f3 blocking_notifier_call_chain_robust +EXPORT_SYMBOL_GPL vmlinux 0xe271f20c __SCT__tp_func_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0xe274b841 synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0xe286a433 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0xe29149c9 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xe295c0ff is_hpet_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe295ef21 pm_clk_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe29af884 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0xe2a1488d pwm_free +EXPORT_SYMBOL_GPL vmlinux 0xe2b3207a unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe2cd797c tpm_tis_remove +EXPORT_SYMBOL_GPL vmlinux 0xe2ce2b4d evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0xe2e3596e __clk_hw_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0xe2ef17a2 fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0xe2f514b1 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0xe2f8c0ce devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0xe2fe4a10 handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0xe30a609b dev_pm_enable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xe31315a4 spi_delay_exec +EXPORT_SYMBOL_GPL vmlinux 0xe334433a task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0xe3377004 skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0xe33a85b6 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xe347b32c driver_set_override +EXPORT_SYMBOL_GPL vmlinux 0xe35bab06 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0xe364e3fa restore_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0xe36da4f4 misc_cg_uncharge +EXPORT_SYMBOL_GPL vmlinux 0xe382ec74 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xe3840e18 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xe388b29f serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0xe38f6897 dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0xe3973655 usb_intf_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0xe397caf5 seq_buf_printf +EXPORT_SYMBOL_GPL vmlinux 0xe39d0794 usb_phy_roothub_exit +EXPORT_SYMBOL_GPL vmlinux 0xe3a3e71f wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0xe3aaa8e8 ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xe3b09712 kprobe_event_delete +EXPORT_SYMBOL_GPL vmlinux 0xe3b35e4b dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0xe3b36bc2 __devm_clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0xe3b6c346 __usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xe3bc7fd4 hpet_unregister_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xe3c41031 software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xe3c6a49e rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xe3c7b590 dw8250_setup_port +EXPORT_SYMBOL_GPL vmlinux 0xe3cd5fae klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe3d11a94 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0xe3d450a0 irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0xe3e42103 nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe3e423ac iommu_group_release_dma_owner +EXPORT_SYMBOL_GPL vmlinux 0xe3e88acb __get_current_cr3_fast +EXPORT_SYMBOL_GPL vmlinux 0xe3e9ebbe crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0xe3f07a66 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL vmlinux 0xe3f8cf16 sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0xe4090f37 acpi_driver_match_device +EXPORT_SYMBOL_GPL vmlinux 0xe4097672 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0xe40bb23e devlink_health_reporter_priv +EXPORT_SYMBOL_GPL vmlinux 0xe41ea3f9 __unwind_start +EXPORT_SYMBOL_GPL vmlinux 0xe4248980 cper_estatus_print +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe4322fcf dma_mmap_pages +EXPORT_SYMBOL_GPL vmlinux 0xe43d92b8 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe43df242 rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xe441c687 crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xe45239fc xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xe45accdf phy_create +EXPORT_SYMBOL_GPL vmlinux 0xe46cdd5d badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0xe47d9886 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0xe48611ac trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0xe495f50a devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe4971ade tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xe49a0237 mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0xe4b064f9 pcie_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xe4b818c3 phy_speed_to_str +EXPORT_SYMBOL_GPL vmlinux 0xe4c2c66c rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0xe4c56fec pci_intx +EXPORT_SYMBOL_GPL vmlinux 0xe4cbdfa1 start_poll_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xe4cfac41 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0xe4d529f7 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xe4e48b12 swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0xe4f1c9ae regmap_get_max_register +EXPORT_SYMBOL_GPL vmlinux 0xe50b67e7 pci_pri_supported +EXPORT_SYMBOL_GPL vmlinux 0xe50bfd84 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xe51b9dc1 compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0xe526850a netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0xe5292c69 intel_pinctrl_probe_by_uid +EXPORT_SYMBOL_GPL vmlinux 0xe529f5ff dev_pm_qos_hide_flags +EXPORT_SYMBOL_GPL vmlinux 0xe56122d4 __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0xe566d99d devfreq_get_devfreq_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xe577d28a sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe58b07d7 blk_crypto_has_capabilities +EXPORT_SYMBOL_GPL vmlinux 0xe59b783e usb_choose_configuration +EXPORT_SYMBOL_GPL vmlinux 0xe5ad1771 nvme_start_ctrl +EXPORT_SYMBOL_GPL vmlinux 0xe5c02b64 freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xe5ce1a56 rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0xe5db019a da9052_disable_irq_nosync +EXPORT_SYMBOL_GPL vmlinux 0xe60632a9 edac_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe60a5e8d pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xe617e8e5 edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0xe625069a nf_ct_seqadj_set +EXPORT_SYMBOL_GPL vmlinux 0xe628bb9f phy_fibre_port_array +EXPORT_SYMBOL_GPL vmlinux 0xe636d718 irq_gc_mask_disable_reg +EXPORT_SYMBOL_GPL vmlinux 0xe63c8464 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0xe63f87c7 acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0xe64ad8ea unregister_nmi_handler +EXPORT_SYMBOL_GPL vmlinux 0xe657737c usb_string +EXPORT_SYMBOL_GPL vmlinux 0xe668c377 validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0xe67f0674 iomap_read_folio +EXPORT_SYMBOL_GPL vmlinux 0xe68252d7 blk_crypto_profile_init +EXPORT_SYMBOL_GPL vmlinux 0xe68765c7 get_state_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xe68a49d1 spi_mem_default_supports_op +EXPORT_SYMBOL_GPL vmlinux 0xe69623dd fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0xe6999314 pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0xe699f7b4 blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0xe69a274b fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0xe69cd288 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0xe69cdf99 virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0xe6a257f1 divider_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0xe6a94062 dev_pm_genpd_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe6b02df1 l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe6befb21 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0xe6c4ab85 tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xe6d6623e sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0xe6d6906e mmc_crypto_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0xe6d8dbba tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0xe6e1ffac vp_modern_queue_vector +EXPORT_SYMBOL_GPL vmlinux 0xe6e40502 rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0xe6e6b684 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xe6f52443 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0xe6f83837 acpi_bus_attach_private_data +EXPORT_SYMBOL_GPL vmlinux 0xe6fbca96 regmap_attach_dev +EXPORT_SYMBOL_GPL vmlinux 0xe700d767 reset_control_bulk_deassert +EXPORT_SYMBOL_GPL vmlinux 0xe705a5b9 samsung_sdi_battery_get_info +EXPORT_SYMBOL_GPL vmlinux 0xe70ab931 __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0xe712f3c5 dev_pm_opp_set_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0xe718d9c3 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xe7232e0f user_return_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe727d1dd virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0xe740b58a hv_vp_assist_page +EXPORT_SYMBOL_GPL vmlinux 0xe753b68d devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xe7642b65 dev_pm_qos_update_user_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe783e261 sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0xe791e205 irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0xe798d568 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xe79bf0c4 klp_shadow_get +EXPORT_SYMBOL_GPL vmlinux 0xe7b96be0 tdx_mcall_get_report0 +EXPORT_SYMBOL_GPL vmlinux 0xe7c1d8ea led_set_brightness_nosleep +EXPORT_SYMBOL_GPL vmlinux 0xe7c41c45 __fscrypt_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0xe7c5f511 iomap_dio_bio_end_io +EXPORT_SYMBOL_GPL vmlinux 0xe7ce82f6 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0xe7d6d2d4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xe7ea0031 nf_conntrack_find_get +EXPORT_SYMBOL_GPL vmlinux 0xe7ee0b96 iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0xe7f48ca6 nf_defrag_ipv6_disable +EXPORT_SYMBOL_GPL vmlinux 0xe7f48f3c nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0xe7f7005e ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0xe7fdb84d ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0xe8044a11 shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe8199fef sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xe82da2d8 wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0xe83a6de0 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0xe83eba32 itlb_multihit_kvm_mitigation +EXPORT_SYMBOL_GPL vmlinux 0xe8454994 devres_add +EXPORT_SYMBOL_GPL vmlinux 0xe84bc623 nf_conntrack_helper_put +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe84fa7b3 devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe8711a70 apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0xe88d59f2 gnttab_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xe88dd163 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0xe8b18076 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xe8c0065d memory_group_register_static +EXPORT_SYMBOL_GPL vmlinux 0xe8c4c2c7 pcie_aspm_capable +EXPORT_SYMBOL_GPL vmlinux 0xe8e235c8 arch_static_call_transform +EXPORT_SYMBOL_GPL vmlinux 0xe907e479 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xe90bcf0d crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0xe911df29 eventfd_ctx_do_read +EXPORT_SYMBOL_GPL vmlinux 0xe9165d21 hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0xe92bd5c5 extcon_set_property +EXPORT_SYMBOL_GPL vmlinux 0xe931326b relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xe9317308 pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0xe936c7aa unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe94f4aa1 regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xe958e8f7 iommu_set_pgtable_quirks +EXPORT_SYMBOL_GPL vmlinux 0xe9615316 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xe9685e88 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0xe97557d0 skcipher_alloc_instance_simple +EXPORT_SYMBOL_GPL vmlinux 0xe982f29b phy_configure +EXPORT_SYMBOL_GPL vmlinux 0xe987c9bf pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0xe9929d0a alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0xe99654e4 __SCK__tp_func_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0xe9ab7451 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0xe9c317ea ima_file_check +EXPORT_SYMBOL_GPL vmlinux 0xe9c403b9 __mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0xe9ce931a kvm_para_available +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9dfedfb acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0xe9eb8426 nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe9ec8542 gpiod_disable_hw_timestamp_ns +EXPORT_SYMBOL_GPL vmlinux 0xe9f210d1 make_device_exclusive_range +EXPORT_SYMBOL_GPL vmlinux 0xe9f5116f rcu_exp_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0xe9fadf16 __SCT__tp_func_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xea018bbb mpi_test_bit +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea13298b msg_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0xea13d421 devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xea2bf9d7 driver_register +EXPORT_SYMBOL_GPL vmlinux 0xea30cd00 sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0xea38036f ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xea3a23f3 public_key_free +EXPORT_SYMBOL_GPL vmlinux 0xea503035 dev_pm_opp_remove +EXPORT_SYMBOL_GPL vmlinux 0xea57f005 task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0xea5b38b3 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xea5f70ff wwan_port_rx +EXPORT_SYMBOL_GPL vmlinux 0xea5fb904 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xea8a4f08 net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0xeaab657d sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xeab0430f wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xeab358fe msi_get_virq +EXPORT_SYMBOL_GPL vmlinux 0xeabcd187 dax_iomap_fault +EXPORT_SYMBOL_GPL vmlinux 0xead3e41b __traceiter_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xead54924 mctrl_gpio_to_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xead5c8e5 clk_bulk_prepare +EXPORT_SYMBOL_GPL vmlinux 0xeae0f496 clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0xeaf0a57c look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0xeaf195d6 ata_qc_get_active +EXPORT_SYMBOL_GPL vmlinux 0xeaf3cb23 crc64_be +EXPORT_SYMBOL_GPL vmlinux 0xeafe2fe6 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xeb45655f component_compare_of +EXPORT_SYMBOL_GPL vmlinux 0xeb53de43 __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0xeb563071 gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0xeb5b1b14 fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0xeb67e171 dev_coredumpsg +EXPORT_SYMBOL_GPL vmlinux 0xeb833c22 xen_has_pv_disk_devices +EXPORT_SYMBOL_GPL vmlinux 0xeb92ab33 extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xeb9db986 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0xeba3c0e3 __SCK__tp_func_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0xebaacbce usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0xebc9a09f lock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0xebca4d2f tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0xebd4cc11 mctrl_gpio_enable_ms +EXPORT_SYMBOL_GPL vmlinux 0xebda0475 dev_pm_genpd_set_performance_state +EXPORT_SYMBOL_GPL vmlinux 0xebdea78b gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0xebea4db3 rio_map_outb_region +EXPORT_SYMBOL_GPL vmlinux 0xebed401c i2c_dw_prepare_clk +EXPORT_SYMBOL_GPL vmlinux 0xebfd9fde intel_pinctrl_probe_by_hid +EXPORT_SYMBOL_GPL vmlinux 0xec0043a1 vp_modern_set_queue_size +EXPORT_SYMBOL_GPL vmlinux 0xec048410 __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0xec1f3a27 wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xec1f8ac9 devm_register_power_off_handler +EXPORT_SYMBOL_GPL vmlinux 0xec3970d1 gnttab_dma_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xec474342 ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xec520ca2 peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0xec5668f6 dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0xec5ad73b trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0xec65917a sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xec693064 __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0xec6be627 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL vmlinux 0xec774acb cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xec77ba51 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xec788566 acpi_target_system_state +EXPORT_SYMBOL_GPL vmlinux 0xec8beba6 nf_ct_expect_hash +EXPORT_SYMBOL_GPL vmlinux 0xec919a1e devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xec945efd iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0xecaa7b4e clocksource_verify_percpu +EXPORT_SYMBOL_GPL vmlinux 0xecb75dc6 device_register +EXPORT_SYMBOL_GPL vmlinux 0xecba68e3 gnttab_batch_map +EXPORT_SYMBOL_GPL vmlinux 0xecc45735 __traceiter_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0xecc9da08 phy_speed_down +EXPORT_SYMBOL_GPL vmlinux 0xeccbd414 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xecd1cdac tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0xecd22e2a device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0xecd8f23d xenbus_read +EXPORT_SYMBOL_GPL vmlinux 0xece336a6 devfreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0xecfb9058 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xed1c4308 serial8250_do_get_mctrl +EXPORT_SYMBOL_GPL vmlinux 0xed2c5bcf power_supply_charge_behaviour_parse +EXPORT_SYMBOL_GPL vmlinux 0xed364f96 clean_record_shared_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0xed39b7b8 parse_OID +EXPORT_SYMBOL_GPL vmlinux 0xed41c1ba __SCK__tp_func_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0xed6a8835 nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0xed724de1 sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0xed79e435 tps65912_device_init +EXPORT_SYMBOL_GPL vmlinux 0xed897c68 gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0xed8c384b netdev_xmit_skip_txqueue +EXPORT_SYMBOL_GPL vmlinux 0xed8e1799 __clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0xed918dde hte_init_line_attr +EXPORT_SYMBOL_GPL vmlinux 0xedc6fca0 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xedd092d5 power_supply_notifier +EXPORT_SYMBOL_GPL vmlinux 0xede26f54 iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0xede9a09a btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0xee11f7a2 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0xee13e697 set_personality_ia32 +EXPORT_SYMBOL_GPL vmlinux 0xee15c24c __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0xee1b7edc dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xee38ef57 register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee453e0d nvdimm_volatile_region_create +EXPORT_SYMBOL_GPL vmlinux 0xee518148 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0xee52941d gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0xee6b71c4 syscon_regmap_lookup_by_compatible +EXPORT_SYMBOL_GPL vmlinux 0xee6c633a devices_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xee706985 nf_defrag_ipv4_disable +EXPORT_SYMBOL_GPL vmlinux 0xee85966d ptp_msg_is_sync +EXPORT_SYMBOL_GPL vmlinux 0xee9bf226 dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0xeea7d00a efivar_entry_add +EXPORT_SYMBOL_GPL vmlinux 0xeead3f4d led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0xeeaf300d pci_dev_lock +EXPORT_SYMBOL_GPL vmlinux 0xeeb2e9c0 devm_extcon_dev_allocate +EXPORT_SYMBOL_GPL vmlinux 0xeeb39c8d hwpoison_filter +EXPORT_SYMBOL_GPL vmlinux 0xeeb58014 nf_connlabels_replace +EXPORT_SYMBOL_GPL vmlinux 0xeec4d934 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xeed0cea4 kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xeed32aec devm_usb_get_phy_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xeed7f58f list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0xeed98292 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0xeedd987e phy_10gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0xeee5b935 power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0xeee667d3 fpregs_assert_state_consistent +EXPORT_SYMBOL_GPL vmlinux 0xeef0f10d devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0xeef3796b vmf_insert_pfn_pmd_prot +EXPORT_SYMBOL_GPL vmlinux 0xeef52aa2 crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0xef04796b percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xef1374d9 modify_ftrace_direct_multi +EXPORT_SYMBOL_GPL vmlinux 0xef1f6e23 apei_resources_request +EXPORT_SYMBOL_GPL vmlinux 0xef29fcdd clk_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xef2f6171 iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0xef34bf3e hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0xef3ad869 phy_set_media +EXPORT_SYMBOL_GPL vmlinux 0xef3b9cc3 sampling_rate_store +EXPORT_SYMBOL_GPL vmlinux 0xef3d4942 nvme_wait_freeze +EXPORT_SYMBOL_GPL vmlinux 0xef45debf crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0xef464c28 getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0xef5cb607 __efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0xef5db66d regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xef6a4a46 trace_array_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef70eb7e ring_buffer_iter_advance +EXPORT_SYMBOL_GPL vmlinux 0xef7b2a10 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0xef7f461d wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xef85dd65 bio_add_zone_append_page +EXPORT_SYMBOL_GPL vmlinux 0xef88ca5b pin_get_name +EXPORT_SYMBOL_GPL vmlinux 0xef8fc95f kvm_async_pf_task_wait_schedule +EXPORT_SYMBOL_GPL vmlinux 0xef9007be gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0xef92ef33 btree_last +EXPORT_SYMBOL_GPL vmlinux 0xefa2c27d register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefafad4d uprobe_register +EXPORT_SYMBOL_GPL vmlinux 0xefb2c3d7 generic_handle_domain_irq +EXPORT_SYMBOL_GPL vmlinux 0xefb6f5d8 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xefbf769b __traceiter_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0xefce0248 vfio_mig_get_next_state +EXPORT_SYMBOL_GPL vmlinux 0xefcfdb50 ohci_setup +EXPORT_SYMBOL_GPL vmlinux 0xefd40137 md_account_bio +EXPORT_SYMBOL_GPL vmlinux 0xefe20d51 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0xefeafcf1 edac_has_mcs +EXPORT_SYMBOL_GPL vmlinux 0xeff6f968 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0xeff98c3f __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0xf0086e0e crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0xf00cbbe0 serial8250_em485_start_tx +EXPORT_SYMBOL_GPL vmlinux 0xf014b1c0 netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0xf0392f28 devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0xf04429b4 acpi_bus_get_status_handle +EXPORT_SYMBOL_GPL vmlinux 0xf05a52fe asn1_encode_oid +EXPORT_SYMBOL_GPL vmlinux 0xf05fbf09 pci_pio_to_address +EXPORT_SYMBOL_GPL vmlinux 0xf06240e9 dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf07f2645 acpi_subsys_freeze +EXPORT_SYMBOL_GPL vmlinux 0xf0910075 sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0xf0a13c41 clk_hw_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xf0b6829a dev_pm_opp_add +EXPORT_SYMBOL_GPL vmlinux 0xf0bc7500 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0xf0c02908 cpuidle_get_cpu_driver +EXPORT_SYMBOL_GPL vmlinux 0xf0d6cc54 phy_set_speed +EXPORT_SYMBOL_GPL vmlinux 0xf0e47610 bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0xf0e7f521 folio_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xf1035b2e gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0xf14317ef devl_rate_nodes_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf146b260 devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xf14c5186 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL vmlinux 0xf1612676 serial8250_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0xf16276e3 generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0xf166616d mbox_flush +EXPORT_SYMBOL_GPL vmlinux 0xf17a0680 ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf1884e7b rdev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf188a662 rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0xf1bdeacb device_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf1c477d3 __traceiter_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xf1cd8929 kvm_read_and_reset_apf_flags +EXPORT_SYMBOL_GPL vmlinux 0xf1e4bb97 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xf204d39c get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0xf205218d pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0xf20a0aa5 devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0xf20dca6e gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0xf21e1f9b disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xf2505adc nf_ct_tmpl_free +EXPORT_SYMBOL_GPL vmlinux 0xf255ffd0 virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0xf25c285b devm_acpi_dev_add_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0xf2677202 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xf27d0a7b gnttab_grant_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xf28365ef usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0xf28404cf devlink_dpipe_header_ipv6 +EXPORT_SYMBOL_GPL vmlinux 0xf2872c5a devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xf28bfdb7 ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0xf2967796 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0xf2b33cb7 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xf2b64581 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0xf2bf448f device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xf2c22898 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0xf2c53d53 pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xf2d102ae gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0xf2dd71b2 xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0xf2dd955a spi_take_timestamp_pre +EXPORT_SYMBOL_GPL vmlinux 0xf2dfdb75 devm_regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf2e3cde5 iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0xf2f72f5c sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0xf2fb61bd vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0xf2fd279c pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0xf302f84e __pci_hp_initialize +EXPORT_SYMBOL_GPL vmlinux 0xf30758ed regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xf30a5502 cpufreq_enable_boost_support +EXPORT_SYMBOL_GPL vmlinux 0xf311e156 key_being_used_for +EXPORT_SYMBOL_GPL vmlinux 0xf3154bf2 vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0xf3156bef regmap_field_read +EXPORT_SYMBOL_GPL vmlinux 0xf31632e0 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0xf3189f7e __uv_cpu_info +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf32bdc5d unregister_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf3377cd5 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xf3397918 xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf3413641 security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0xf34b0e70 tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0xf352023f memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xf35672bc ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0xf35b19f4 pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xf36313f4 bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0xf363d64b sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0xf363fdd9 dev_pm_opp_find_bw_floor +EXPORT_SYMBOL_GPL vmlinux 0xf3646162 fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0xf36d420f vfio_pci_core_write +EXPORT_SYMBOL_GPL vmlinux 0xf3770cd0 acpi_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0xf3797506 mpi_ec_deinit +EXPORT_SYMBOL_GPL vmlinux 0xf3808cb1 get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL vmlinux 0xf39a1677 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3b95d79 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0xf3e3a5cd ohci_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf3f06ff9 __sock_recv_cmsgs +EXPORT_SYMBOL_GPL vmlinux 0xf3f53982 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0xf3feb7f8 skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0xf40b1a8b inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0xf4349004 devm_devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0xf456a45b crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xf457f046 usb_wakeup_enabled_descendants +EXPORT_SYMBOL_GPL vmlinux 0xf4689d50 linkmode_set_pause +EXPORT_SYMBOL_GPL vmlinux 0xf46a469d tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0xf46b8681 unregister_nvdimm_pmu +EXPORT_SYMBOL_GPL vmlinux 0xf4707cf4 inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf47654df irq_check_status_bit +EXPORT_SYMBOL_GPL vmlinux 0xf49cec08 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0xf4af35c2 rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0xf4b2918f clk_hw_get_parent_index +EXPORT_SYMBOL_GPL vmlinux 0xf4cba167 ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xf4cd9f8f reset_control_bulk_release +EXPORT_SYMBOL_GPL vmlinux 0xf4d93eeb wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0xf4dd89bf uv_get_hubless_system +EXPORT_SYMBOL_GPL vmlinux 0xf4ed6a1a usb_acpi_power_manageable +EXPORT_SYMBOL_GPL vmlinux 0xf4f69d1f clk_hw_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0xf4f927af __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0xf509e3bf rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xf50a733c power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0xf50db964 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0xf515821d phy_basic_features +EXPORT_SYMBOL_GPL vmlinux 0xf519e1cd ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0xf51f3eba encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0xf548e081 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf54db99c __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0xf550983e node_to_amd_nb +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf55bb98e acpi_dev_clear_dependencies +EXPORT_SYMBOL_GPL vmlinux 0xf56751e4 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0xf56c799f nfs_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf578d98a led_blink_set_oneshot +EXPORT_SYMBOL_GPL vmlinux 0xf58d3a04 rio_lock_device +EXPORT_SYMBOL_GPL vmlinux 0xf59368c0 md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf59b8d67 rio_register_mport +EXPORT_SYMBOL_GPL vmlinux 0xf5a067bf iommu_group_dma_owner_claimed +EXPORT_SYMBOL_GPL vmlinux 0xf5a3ba99 linear_range_values_in_range +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5a9f383 serial8250_do_set_divisor +EXPORT_SYMBOL_GPL vmlinux 0xf5ac1be1 __SCK__tp_func_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xf5b53ccd pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xf5ba7627 crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0xf5c8462b nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL vmlinux 0xf5cf63de nf_route +EXPORT_SYMBOL_GPL vmlinux 0xf5e407ae pwm_set_chip_data +EXPORT_SYMBOL_GPL vmlinux 0xf5f370e0 async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0xf5f77240 usb_hub_claim_port +EXPORT_SYMBOL_GPL vmlinux 0xf5fbb18f edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0xf6000e31 irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0xf629b6f7 paste_selection +EXPORT_SYMBOL_GPL vmlinux 0xf62b0a88 mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf62e0c25 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xf63b4287 ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0xf63c0d23 fpu_enable_guest_xfd_features +EXPORT_SYMBOL_GPL vmlinux 0xf64165d9 pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0xf645387d screen_pos +EXPORT_SYMBOL_GPL vmlinux 0xf64aaa25 alarm_init +EXPORT_SYMBOL_GPL vmlinux 0xf663ee2f pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0xf667d914 udp_tunnel_nic_ops +EXPORT_SYMBOL_GPL vmlinux 0xf6706627 vfio_init_group_dev +EXPORT_SYMBOL_GPL vmlinux 0xf6739473 pwmchip_remove +EXPORT_SYMBOL_GPL vmlinux 0xf6785ebb device_create_managed_software_node +EXPORT_SYMBOL_GPL vmlinux 0xf67cdd51 rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xf6892404 uart_get_rs485_mode +EXPORT_SYMBOL_GPL vmlinux 0xf68c137e __SCK__tp_func_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xf69de9da devm_acpi_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xf6a28554 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0xf6a51a8e led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0xf6a8a8f1 devm_memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0xf6b89d7b xen_unregister_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xf6bab766 events_hybrid_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0xf6c71a25 cper_severity_str +EXPORT_SYMBOL_GPL vmlinux 0xf6c8dc62 cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0xf6d80790 mptcp_pm_get_local_addr_max +EXPORT_SYMBOL_GPL vmlinux 0xf6da47f7 xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0xf6dfe3b8 genphy_c45_read_lpa +EXPORT_SYMBOL_GPL vmlinux 0xf6e65905 md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0xf6e772c3 irq_bypass_unregister_producer +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6ef0180 __efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0xf6efb851 devm_hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0xf6fe9860 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xf707a3fd x86_platform +EXPORT_SYMBOL_GPL vmlinux 0xf708dc8b acpi_register_gsi +EXPORT_SYMBOL_GPL vmlinux 0xf72a65ea tty_get_char_size +EXPORT_SYMBOL_GPL vmlinux 0xf744298f hv_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0xf7455c16 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xf749debc md5_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0xf74bb274 mod_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xf74e7c93 jump_label_rate_limit +EXPORT_SYMBOL_GPL vmlinux 0xf75b352e __tracepoint_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xf760663a bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xf760bdec ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0xf767ca35 fixed_percpu_data +EXPORT_SYMBOL_GPL vmlinux 0xf7722f35 pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0xf7772bde xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0xf77820e5 vfio_register_iommu_driver +EXPORT_SYMBOL_GPL vmlinux 0xf77a929c fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0xf77f3a19 nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0xf782fb07 percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0xf7866b4f bind_evtchn_to_irqhandler_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0xf7afb369 btree_init +EXPORT_SYMBOL_GPL vmlinux 0xf7bc95b0 devlink_fmsg_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xf7c3f273 xen_resume_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xf7d961d8 clk_hw_unregister_composite +EXPORT_SYMBOL_GPL vmlinux 0xf7e579e1 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0xf80646f9 perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0xf806973d regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xf807e442 efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0xf80d9f9b platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0xf810414a sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0xf81918ee __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0xf81a9159 iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0xf81dce70 thermal_genl_cpu_capability_event +EXPORT_SYMBOL_GPL vmlinux 0xf821b061 pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0xf825d317 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0xf82f3657 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf834f20b wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0xf843095f sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0xf84f03aa bgpio_init +EXPORT_SYMBOL_GPL vmlinux 0xf8540d8c sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0xf866aec9 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0xf86c4891 devm_krealloc +EXPORT_SYMBOL_GPL vmlinux 0xf875d9cb devm_thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0xf8783b43 sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0xf881cecd load_fixmap_gdt +EXPORT_SYMBOL_GPL vmlinux 0xf883bf93 crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0xf8909277 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xf890b181 nf_conntrack_count +EXPORT_SYMBOL_GPL vmlinux 0xf895a5ad anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0xf89cb1b1 tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0xf8a18b03 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0xf8ae5291 regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0xf8af39f1 regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xf8ca934b proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0xf8e55502 isa_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xf8f0fd93 devfreq_event_disable_edev +EXPORT_SYMBOL_GPL vmlinux 0xf8f20208 devm_hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8fe3986 pat_pfn_immune_to_uc_mtrr +EXPORT_SYMBOL_GPL vmlinux 0xf9051598 xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0xf910c29e fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0xf91c52c1 serial8250_rx_dma_flush +EXPORT_SYMBOL_GPL vmlinux 0xf92dff49 devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0xf940f47d devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0xf951ff6a led_update_brightness +EXPORT_SYMBOL_GPL vmlinux 0xf95322f4 kthread_parkme +EXPORT_SYMBOL_GPL vmlinux 0xf955e9c5 bprintf +EXPORT_SYMBOL_GPL vmlinux 0xf96284a6 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf96f4423 udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0xf977a6f6 trace_add_event_call +EXPORT_SYMBOL_GPL vmlinux 0xf9857250 devm_pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0xf9936aed regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9b34a0b iopf_queue_free +EXPORT_SYMBOL_GPL vmlinux 0xf9cb6665 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0xf9df793a dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0xf9e62de0 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0xf9f1b124 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0xf9f321e2 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0xfa028ba5 acpi_subsys_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0xfa04abbe netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0xfa04ebfa devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0xfa05d050 get_net_ns_by_fd +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa28b165 sched_set_normal +EXPORT_SYMBOL_GPL vmlinux 0xfa2f421b __SCK__tp_func_arm_event +EXPORT_SYMBOL_GPL vmlinux 0xfa349688 aer_recover_queue +EXPORT_SYMBOL_GPL vmlinux 0xfa35044a alternatives_patched +EXPORT_SYMBOL_GPL vmlinux 0xfa35308b wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0xfa3748f2 mptcp_get_reset_option +EXPORT_SYMBOL_GPL vmlinux 0xfa3bfaf1 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xfa3c36ae __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xfa43cefc is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xfa567819 blk_mq_hctx_set_fq_lock_class +EXPORT_SYMBOL_GPL vmlinux 0xfa666974 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0xfa746c8e virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0xfa8cca11 fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0xfaa5547c led_sysfs_enable +EXPORT_SYMBOL_GPL vmlinux 0xfaaf8621 power_supply_battery_bti_in_range +EXPORT_SYMBOL_GPL vmlinux 0xfab30dc0 mdio_bus_exit +EXPORT_SYMBOL_GPL vmlinux 0xfab53ed9 pinctrl_gpio_can_use_line +EXPORT_SYMBOL_GPL vmlinux 0xfad5bcd8 hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0xfad9c827 kill_dax +EXPORT_SYMBOL_GPL vmlinux 0xfae1a3d4 inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0xfaf9fdac fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0xfb07c431 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0xfb11256a usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xfb189044 sched_set_fifo_low +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb45c9bb ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb741011 fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0xfb823ef6 rio_mport_get_feature +EXPORT_SYMBOL_GPL vmlinux 0xfb8c6c8f devfreq_event_get_event +EXPORT_SYMBOL_GPL vmlinux 0xfb94b089 __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0xfb94de0e scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0xfba62aae wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xfba8f5da elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0xfbaf77f9 tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xfbba8f47 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfbbd41ca no_action +EXPORT_SYMBOL_GPL vmlinux 0xfbc2db00 dev_pm_opp_get_opp_table +EXPORT_SYMBOL_GPL vmlinux 0xfbcccd9b ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xfbd715f1 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xfbe1c0ea ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0xfbefbfc5 nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0xfbff6f82 __traceiter_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0xfbffd601 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xfc03a4ca proc_dou8vec_minmax +EXPORT_SYMBOL_GPL vmlinux 0xfc03d97a page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xfc048d06 phy_pm_runtime_put_sync +EXPORT_SYMBOL_GPL vmlinux 0xfc05a5ca xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0xfc12e254 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xfc14bb2e dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xfc201b66 sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0xfc254d15 gnttab_free_auto_xlat_frames +EXPORT_SYMBOL_GPL vmlinux 0xfc34862a skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xfc3b4246 acpi_bus_update_power +EXPORT_SYMBOL_GPL vmlinux 0xfc3c2de7 crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0xfc464ebd netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0xfc53060b wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0xfc5ef78f pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xfc648dc2 pinctrl_force_sleep +EXPORT_SYMBOL_GPL vmlinux 0xfc7b1d28 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xfc7e7366 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0xfc8a2736 nvdimm_cmd_mask +EXPORT_SYMBOL_GPL vmlinux 0xfc92c5eb pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0xfca340a1 rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xfca3d3cf tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0xfca7f934 devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0xfcb85fb4 nfs42_ssc_register +EXPORT_SYMBOL_GPL vmlinux 0xfcbe26a2 __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0xfcbfec70 add_memory_driver_managed +EXPORT_SYMBOL_GPL vmlinux 0xfcc1edd3 memory_block_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0xfcca5424 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xfcd8624c __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0xfcddb4cf pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0xfcdfce03 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0xfcebf4de agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0xfcf8965f ethnl_cable_test_result +EXPORT_SYMBOL_GPL vmlinux 0xfcf9aaf2 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xfcf9ef73 hw_protection_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xfd0c44b4 blk_crypto_evict_key +EXPORT_SYMBOL_GPL vmlinux 0xfd10c1d5 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0xfd15bc30 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0xfd2c62ad devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0xfd35c363 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfd4e05b3 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0xfd594262 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0xfd5b1c72 devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0xfd63100b ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0xfd6df304 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0xfd7243c7 erst_disable +EXPORT_SYMBOL_GPL vmlinux 0xfd9d0cb6 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xfda0050f sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0xfdb26333 bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0xfdb8136b phy_pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xfdb86fdb get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xfdbd7a17 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xfdd0c059 crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0xfdd620a5 acpi_gpiochip_free_interrupts +EXPORT_SYMBOL_GPL vmlinux 0xfdd91f32 serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0xfde12b6c tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0xfde4f9f3 blk_crypto_profile_destroy +EXPORT_SYMBOL_GPL vmlinux 0xfde8208d ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0xfdea2d04 alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0xfdf223f4 virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0xfe0e7cd3 apei_exec_post_unmap_gars +EXPORT_SYMBOL_GPL vmlinux 0xfe19dc28 vivaldi_function_row_physmap_show +EXPORT_SYMBOL_GPL vmlinux 0xfe1a7a7b mpi_point_release +EXPORT_SYMBOL_GPL vmlinux 0xfe1cd2fe platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xfe3a6de3 alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xfe3ed3cd nvdimm_clear_poison +EXPORT_SYMBOL_GPL vmlinux 0xfe4051d3 fuse_mount_remove +EXPORT_SYMBOL_GPL vmlinux 0xfe476039 ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe4f7b85 pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0xfe50e4e0 pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xfe5aad0c divider_ro_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xfe5d8404 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xfe6503a0 pwm_apply_state +EXPORT_SYMBOL_GPL vmlinux 0xfe67bd21 dev_pm_opp_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0xfe727411 get_phys_to_machine +EXPORT_SYMBOL_GPL vmlinux 0xfe731af8 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL vmlinux 0xfe8cdb84 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfe9f3cf8 ip4_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0xfeab529d ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfed561ff divider_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xfed72f93 acpiphp_register_attention +EXPORT_SYMBOL_GPL vmlinux 0xfeeecd05 apei_read +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff102a27 edac_pci_handle_pe +EXPORT_SYMBOL_GPL vmlinux 0xff1666f3 reset_control_bulk_assert +EXPORT_SYMBOL_GPL vmlinux 0xff1e67b9 setup_APIC_eilvt +EXPORT_SYMBOL_GPL vmlinux 0xff291ecf clk_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0xff42c374 usb_role_switch_get_role +EXPORT_SYMBOL_GPL vmlinux 0xff57ab57 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0xff5ab085 devm_of_phy_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0xff617d11 clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0xff67ce30 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0xff6841ad acpi_dma_request_slave_chan_by_index +EXPORT_SYMBOL_GPL vmlinux 0xff69ace7 device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0xff6ed986 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xff7e33bf mpi_sub_ui +EXPORT_SYMBOL_GPL vmlinux 0xff81487d gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0xff8e74e2 arch_haltpoll_enable +EXPORT_SYMBOL_GPL vmlinux 0xff9d1e33 clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0xff9e23d1 hugetlb_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xffa19486 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0xffae8e8b nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xffbf8ea3 genphy_c45_read_mdix +EXPORT_SYMBOL_GPL vmlinux 0xffc76ab4 sbitmap_queue_show +EXPORT_SYMBOL_GPL vmlinux 0xffc86f14 __xas_next +EXPORT_SYMBOL_GPL vmlinux 0xffd23ec6 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xffd7ab68 vfio_file_enforced_coherent +EXPORT_SYMBOL_GPL vmlinux 0xffe40c38 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0xffe7abfd dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0xffefa4c2 ata_pci_sff_init_one +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0x07342898 unregister_firmware_config_sysctl vmlinux +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xae43feea register_firmware_config_sysctl vmlinux +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xd3ae7756 fw_fallback_config vmlinux +HWMON_THERMAL EXPORT_SYMBOL_GPL 0xdbfc14e2 hwmon_device_register_for_thermal vmlinux +I915_GVT EXPORT_SYMBOL_GPL 0x01e76760 i915_request_add drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x03549eb2 intel_uncore_forcewake_put drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x08ce31d0 intel_uncore_forcewake_get drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x1969608b intel_uncore_forcewake_for_reg drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x1a35e488 i915_ppgtt_create drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x1a420fe1 i915_gem_object_ggtt_pin_ww drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x1b3a0812 intel_runtime_pm_put_unchecked drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x1d76111c i915_fence_ops drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x2153e730 __px_dma drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x24d00910 intel_gvt_set_ops drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x28f29b57 i915_gem_object_init drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x28fccad6 intel_gvt_clear_ops drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x2e5c9698 i915_gem_object_pin_map drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x31dc6bed intel_ring_begin drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x3f6342f1 i915_unreserve_fence drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x4676fe53 i915_reserve_fence drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x47c209dc i915_gem_prime_export drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x4a95b868 _i915_vma_move_to_active drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x595604e0 i915_request_create drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x6500a0ed shmem_pin_map drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x66623730 i915_gem_object_set_to_cpu_domain drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x69c2730a i915_gem_gtt_insert drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x6cc8f14a i915_gem_ww_ctx_fini drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x6fc9864e i915_gem_ww_ctx_init drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x70075ddb i915_gem_object_create_shmem drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x7ab3d981 __i915_gem_object_set_pages drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x7bd96c2b __intel_context_do_pin drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x890fc889 i915_vm_release drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x970d94b0 __intel_context_do_unpin drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x9c286246 i915_gem_object_alloc drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xa3597b53 intel_gvt_iterate_mmio_table drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xabbb1356 __i915_gem_object_flush_map drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xc3dc6fd0 i915_request_wait drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xcb786c4e intel_runtime_pm_get drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xda4a1f76 shmem_unpin_map drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xe8195c68 intel_context_create drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xef3dcfae i915_gem_ww_ctx_backoff drivers/gpu/drm/i915/i915 +IDXD EXPORT_SYMBOL_GPL 0x007d8dbf __idxd_driver_register drivers/dma/idxd/idxd_bus +IDXD EXPORT_SYMBOL_GPL 0x010589cb idxd_drv drivers/dma/idxd/idxd +IDXD EXPORT_SYMBOL_GPL 0x6a05110d idxd_driver_unregister drivers/dma/idxd/idxd_bus +IDXD EXPORT_SYMBOL_GPL 0xbbc5dce0 idxd_user_drv drivers/dma/idxd/idxd +IDXD EXPORT_SYMBOL_GPL 0xc2008686 dsa_bus_type drivers/dma/idxd/idxd_bus +IDXD EXPORT_SYMBOL_GPL 0xef78b597 idxd_dmaengine_drv drivers/dma/idxd/idxd +IIO_AD5592R EXPORT_SYMBOL_GPL 0x1c50bb9b ad5592r_remove drivers/iio/dac/ad5592r-base +IIO_AD5592R EXPORT_SYMBOL_GPL 0x38e3d758 ad5592r_probe drivers/iio/dac/ad5592r-base +IIO_AD5686 EXPORT_SYMBOL_GPL 0x37311218 ad5686_remove drivers/iio/dac/ad5686 +IIO_AD5686 EXPORT_SYMBOL_GPL 0xcd898210 ad5686_probe drivers/iio/dac/ad5686 +IIO_AD7091R EXPORT_SYMBOL_GPL 0x2741ac20 ad7091r_probe drivers/iio/adc/ad7091r-base +IIO_AD7091R EXPORT_SYMBOL_GPL 0x760c94bd ad7091r_regmap_config drivers/iio/adc/ad7091r-base +IIO_AD7606 EXPORT_SYMBOL_GPL 0x4a1cbabf ad7606_pm_ops drivers/iio/adc/ad7606 +IIO_AD7606 EXPORT_SYMBOL_GPL 0xc997b5a6 ad7606_probe drivers/iio/adc/ad7606 +IIO_ADISLIB EXPORT_SYMBOL 0x856a54c3 __adis_enable_irq drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL 0xe3fcb222 adis_debugfs_reg_access drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x0477acab __adis_update_bits_base drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x1262aac3 __adis_check_status drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x2a7ce4e9 __adis_write_reg drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x37a37089 devm_adis_setup_buffer_and_trigger drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x6990fdeb __adis_read_reg drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x74dfc7f0 adis_update_scan_mode drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x781694d3 adis_init drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xa5b5d0c0 adis_single_conversion drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xb08ff784 __adis_initial_startup drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xf3d781a2 devm_adis_probe_trigger drivers/iio/imu/adis_lib +IIO_ADIS_LIB EXPORT_SYMBOL_GPL 0xe05da83c __adis_reset drivers/iio/imu/adis_lib +IIO_ADXL313 EXPORT_SYMBOL_GPL 0x4fcd1692 adxl313_core_probe drivers/iio/accel/adxl313_core +IIO_ADXL313 EXPORT_SYMBOL_GPL 0x8401eedc adxl313_readable_regs_table drivers/iio/accel/adxl313_core +IIO_ADXL313 EXPORT_SYMBOL_GPL 0xf6f7b9f3 adxl313_writable_regs_table drivers/iio/accel/adxl313_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0x6ff5403b adxl355_readable_regs_tbl drivers/iio/accel/adxl355_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0x7ee213b9 adxl355_core_probe drivers/iio/accel/adxl355_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0xb446fa86 adxl355_writeable_regs_tbl drivers/iio/accel/adxl355_core +IIO_ADXL367 EXPORT_SYMBOL_GPL 0x3206803e adxl367_probe drivers/iio/accel/adxl367 +IIO_ADXL372 EXPORT_SYMBOL_GPL 0x2e6ef173 adxl372_probe drivers/iio/accel/adxl372 +IIO_ADXL372 EXPORT_SYMBOL_GPL 0x48391c88 adxl372_readable_noinc_reg drivers/iio/accel/adxl372 +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x2691e79c ad_sd_set_comm drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x32cd0300 ad_sd_calibrate drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x6217ac79 ad_sigma_delta_single_conversion drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x76c31216 ad_sd_write_reg drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x7daca4f7 devm_ad_sd_setup_buffer_and_trigger drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x7e1df723 ad_sd_init drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xa81fd89e ad_sd_reset drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xac1b1280 ad_sd_read_reg drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xb7e80bfb ad_sd_calibrate_all drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xe9688d28 ad_sd_validate_trigger drivers/iio/adc/ad_sigma_delta +IIO_BMA400 EXPORT_SYMBOL 0x8e2b7866 bma400_regmap_config drivers/iio/accel/bma400_core +IIO_BMA400 EXPORT_SYMBOL 0xf22d26ae bma400_probe drivers/iio/accel/bma400_core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x2206a511 bmc150_accel_pm_ops drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x2c0e76af bmc150_regmap_conf drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x2c61620f bmc150_accel_core_remove drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0xd262bbbc bmc150_accel_core_probe drivers/iio/accel/bmc150-accel-core +IIO_BMC150_MAGN EXPORT_SYMBOL 0x06adc205 bmc150_magn_regmap_config drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0xa425a5c4 bmc150_magn_remove drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0xb501ba7e bmc150_magn_pm_ops drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0xc136ab6c bmc150_magn_probe drivers/iio/magnetometer/bmc150_magn +IIO_BME680 EXPORT_SYMBOL 0x6244258c bme680_regmap_config drivers/iio/chemical/bme680_core +IIO_BME680 EXPORT_SYMBOL_GPL 0x8f441f08 bme680_core_probe drivers/iio/chemical/bme680_core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x2802611d bmi088_accel_core_probe drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x6260da11 bmi088_regmap_conf drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x86254903 bmi088_accel_pm_ops drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0xb5c7e153 bmi088_accel_core_remove drivers/iio/accel/bmi088-accel-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x08bba738 fxls8962af_i2c_regmap_conf drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x08eb7447 fxls8962af_core_probe drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x89538e45 fxls8962af_pm_ops drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0xaa6533fd fxls8962af_spi_regmap_conf drivers/iio/accel/fxls8962af-core +IIO_HID EXPORT_SYMBOL 0x12afd19e hid_sensor_convert_timestamp drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x2bc3f3c2 hid_sensor_read_raw_hyst_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x53988341 hid_sensor_pm_ops drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x7f7621ec hid_sensor_format_scale drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x80719529 hid_sensor_power_state drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x833ea385 hid_sensor_write_samp_freq_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x8384c64b hid_sensor_write_raw_hyst_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x99b93c26 hid_sensor_read_samp_freq_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x9aaf1bdc hid_sensor_setup_trigger drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0xc87bd0de hid_sensor_parse_common_attributes drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0xc8e729b1 hid_sensor_read_raw_hyst_rel_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0xccb3a7cb hid_sensor_remove_trigger drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0xe78176fa hid_sensor_write_raw_hyst_rel_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x3ea323eb hid_sensor_read_poll_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x4abd96d2 hid_sensor_get_report_latency drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x4eca6f04 hid_sensor_set_report_latency drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x828df708 hid_sensor_batch_mode_supported drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HMC5843 EXPORT_SYMBOL 0x032511bc hmc5843_common_remove drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0x47c44d29 hmc5843_common_probe drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0x746d9b0c hmc5843_common_resume drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0x80d79f13 hmc5843_common_suspend drivers/iio/magnetometer/hmc5843_core +IIO_KXSD9 EXPORT_SYMBOL 0x9a814aa1 kxsd9_dev_pm_ops drivers/iio/accel/kxsd9 +IIO_KXSD9 EXPORT_SYMBOL 0xc410ef64 kxsd9_common_remove drivers/iio/accel/kxsd9 +IIO_KXSD9 EXPORT_SYMBOL 0xc60a883f kxsd9_common_probe drivers/iio/accel/kxsd9 +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x045688dd ms_sensors_read_prom_word drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x060d4d40 ms_sensors_ht_read_humidity drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x22bfed6d ms_sensors_write_heater drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x2b5ba6b2 ms_sensors_write_resolution drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x2d2f5cd5 ms_sensors_reset drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x42b6a050 ms_sensors_convert_and_read drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x7ac588db ms_sensors_tp_read_prom drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x81d1d4d7 ms_sensors_show_heater drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xa5d8c228 ms_sensors_read_serial drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xb2810385 ms_sensors_ht_read_temperature drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xd0659900 ms_sensors_show_battery_low drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xe21c07ec ms_sensors_read_temp_and_pressure drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x216d4038 mma7455_core_remove drivers/iio/accel/mma7455_core +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x2295597f mma7455_core_regmap drivers/iio/accel/mma7455_core +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x798a0e49 mma7455_core_probe drivers/iio/accel/mma7455_core +IIO_MMA9551 EXPORT_SYMBOL 0x0851fb9a mma9551_update_config_bits drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x28c5bb14 mma9551_read_status_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x329b837d mma9551_write_config_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x3e0eadbc mma9551_write_config_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x41ef446c mma9551_read_accel_scale drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x4805438b mma9551_read_status_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x6d6beee5 mma9551_app_reset drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x730208fb mma9551_set_power_state drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x92d0117e mma9551_write_config_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x99f6c80c mma9551_read_config_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x9fe91e16 mma9551_read_version drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xad9a1965 mma9551_set_device_state drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xb5195466 mma9551_read_accel_chan drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xb741584c mma9551_read_config_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xb856bcaa mma9551_read_config_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xbcd7fe96 mma9551_sleep drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xf3270b73 mma9551_read_status_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xf54e3064 mma9551_gpio_config drivers/iio/accel/mma9551_core +IIO_MPL115 EXPORT_SYMBOL_GPL 0xcc1cbffc mpl115_probe drivers/iio/pressure/mpl115 +IIO_MS5611 EXPORT_SYMBOL 0x7f82b03c ms5611_probe drivers/iio/pressure/ms5611_core +IIO_MS5611 EXPORT_SYMBOL 0xb006181c ms5611_remove drivers/iio/pressure/ms5611_core +IIO_RM3100 EXPORT_SYMBOL_GPL 0x0a1424e0 rm3100_volatile_table drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0xaa911f08 rm3100_readable_table drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0xad649552 rm3100_common_probe drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0xcc7209be rm3100_writable_table drivers/iio/magnetometer/rm3100-core +IIO_SCD30 EXPORT_SYMBOL 0xc4daf012 scd30_probe drivers/iio/chemical/scd30_core +IIO_SCD30 EXPORT_SYMBOL 0xc725433a scd30_pm_ops drivers/iio/chemical/scd30_core +IIO_SSP_SENSORS EXPORT_SYMBOL 0x033a1ed3 ssp_change_delay drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x07344fbf ssp_register_consumer drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x79ada1a3 ssp_common_process_data drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0x92525617 ssp_disable_sensor drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x96be6d0c ssp_common_buffer_postdisable drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0xabddd8db ssp_get_sensor_delay drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0xdbec9a19 ssp_common_buffer_postenable drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0xed2cf4a5 ssp_enable_sensor drivers/iio/common/ssp_sensors/sensorhub +IIO_ST_SENSORS EXPORT_SYMBOL 0x074d7047 st_sensors_trigger_handler drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x0ac682d9 st_sensors_read_info_raw drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x2205631b st_accel_get_settings drivers/iio/accel/st_accel +IIO_ST_SENSORS EXPORT_SYMBOL 0x22e6a1b0 st_sensors_set_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x24614955 st_press_get_settings drivers/iio/pressure/st_pressure +IIO_ST_SENSORS EXPORT_SYMBOL 0x2852876a st_sensors_allocate_trigger drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x2ea80c64 st_sensors_validate_device drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x2f7c6c6e st_sensors_i2c_configure drivers/iio/common/st_sensors/st_sensors_i2c +IIO_ST_SENSORS EXPORT_SYMBOL 0x4132151c st_sensors_set_dataready_irq drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x5354ebb9 st_magn_get_settings drivers/iio/magnetometer/st_magn +IIO_ST_SENSORS EXPORT_SYMBOL 0x5f82bedd st_sensors_sysfs_scale_avail drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x63e77bd9 st_sensors_set_odr drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x6ce74e08 st_sensors_get_settings_index drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x77bab8b6 st_accel_common_probe drivers/iio/accel/st_accel +IIO_ST_SENSORS EXPORT_SYMBOL 0x784ccacd st_press_common_probe drivers/iio/pressure/st_pressure +IIO_ST_SENSORS EXPORT_SYMBOL 0x7e0de3b1 st_gyro_common_probe drivers/iio/gyro/st_gyro +IIO_ST_SENSORS EXPORT_SYMBOL 0x8262913c st_sensors_init_sensor drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xa0fad268 st_sensors_verify_id drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xacfb567b st_sensors_sysfs_sampling_frequency_avail drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xbaa2b5a2 st_sensors_dev_name_probe drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xbe5c2e55 st_sensors_set_axis_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xc2a02018 st_gyro_get_settings drivers/iio/gyro/st_gyro +IIO_ST_SENSORS EXPORT_SYMBOL 0xedf8f964 st_sensors_power_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xf19d5989 st_magn_common_probe drivers/iio/magnetometer/st_magn +IIO_ST_SENSORS EXPORT_SYMBOL 0xf414f8f3 st_sensors_set_fullscale_by_gain drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xf471be93 st_sensors_debugfs_reg_access drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xfd73456d st_sensors_spi_configure drivers/iio/common/st_sensors/st_sensors_spi +IIO_ST_SENSORS EXPORT_SYMBOL_GPL 0x21be9c56 st_lsm9ds0_probe drivers/iio/imu/st_lsm9ds0/st_lsm9ds0 +IIO_UVIS25 EXPORT_SYMBOL 0x2b0f813b st_uvis25_probe drivers/iio/light/st_uvis25_core +IIO_UVIS25 EXPORT_SYMBOL 0xffd6bd1d st_uvis25_pm_ops drivers/iio/light/st_uvis25_core +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x5a3690d2 zpa2326_isreg_readable drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0xa075b8be zpa2326_isreg_writeable drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0xa22f8010 zpa2326_remove drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0xc8b6b1a0 zpa2326_pm_ops drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0xe27ab4ec zpa2326_isreg_precious drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0xeea5f630 zpa2326_probe drivers/iio/pressure/zpa2326 +INT340X_THERMAL EXPORT_SYMBOL_GPL 0x70082d91 processor_thermal_send_mbox_write_cmd drivers/thermal/intel/int340x_thermal/processor_thermal_mbox +INT340X_THERMAL EXPORT_SYMBOL_GPL 0xa9818c96 processor_thermal_send_mbox_read_cmd drivers/thermal/intel/int340x_thermal/processor_thermal_mbox +INTEL_UNCORE_FREQUENCY EXPORT_SYMBOL_GPL 0x2f67e23c uncore_freq_remove_die_entry drivers/platform/x86/intel/uncore-frequency/intel-uncore-frequency-common +INTEL_UNCORE_FREQUENCY EXPORT_SYMBOL_GPL 0x673744c5 uncore_freq_common_init drivers/platform/x86/intel/uncore-frequency/intel-uncore-frequency-common +INTEL_UNCORE_FREQUENCY EXPORT_SYMBOL_GPL 0xaea633b1 uncore_freq_add_entry drivers/platform/x86/intel/uncore-frequency/intel-uncore-frequency-common +INTEL_UNCORE_FREQUENCY EXPORT_SYMBOL_GPL 0xbf3d935d uncore_freq_common_exit drivers/platform/x86/intel/uncore-frequency/intel-uncore-frequency-common +IWLWIFI EXPORT_SYMBOL_GPL 0x0150efe1 __iwl_info drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x02c4c6df iwl_get_shared_mem_conf drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x047d5a99 iwl_sar_geo_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x0fdc7e49 iwl_cmd_groups_verify_sorted drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x105ff5a4 iwl_poll_direct_bit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1332e4de iwl_abort_notification_waits drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x15d34967 iwl_parse_nvm_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1a596d7e iwl_acpi_get_tas drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1bbf7a89 iwl_acpi_get_ppag_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2045a6db iwl_fw_dbg_collect_desc drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2147bc0f iwl_finish_nic_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x21de2943 iwl_fw_dbg_collect_trig drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x258cdd30 iwl_configure_rxq drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x25eeebeb iwl_get_cmd_string drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2710c362 iwl_dump_desc_assert drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x27348165 iwl_set_bits_mask_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x27c17d0a iwl_phy_db_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x28547321 iwl_fw_dbg_read_d3_debug_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2c8da280 iwl_poll_bit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x318f353d iwl_pnvm_load drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x32ffbf76 __iwl_crit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x33c85dd6 iwl_fw_runtime_suspend drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x35033c81 iwl_phy_db_free drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x36b4d89c iwl_acpi_get_dsm_u32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x37956b72 rs_pretty_print_rate drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3ba68410 iwl_write8 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x42d30537 iwl_force_nmi drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x4418e468 iwl_sar_get_wgds_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x44c4c219 iwl_acpi_get_object drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x476394dc iwl_parse_eeprom_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x49799e81 iwl_acpi_get_wifi_pkg_range drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x49e0135d iwl_new_rate_from_v1 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x4b75c8f9 iwl_acpi_get_lari_config_bitmap drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x54991851 iwl_set_bits_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x57442f46 iwl_acpi_get_dsm_u8 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x57e8861d iwl_write_prph_delay drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x582185b6 iwl_acpi_get_pwr_limit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5988395c iwl_notification_wait_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5c52e109 iwl_opmode_deregister drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x67500f71 iwl_acpi_get_eckv drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6cc3a32f iwl_uefi_get_sgom_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x70b7c213 iwl_trans_send_cmd drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x729b557d _iwl_dbg_tlv_time_point drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x764fecb1 iwl_read_eeprom drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x776221bf iwl_send_phy_db_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x788cc870 iwl_read_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x78971d7e iwl_he_is_sgi drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x828c6838 iwlwifi_mod_params drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x84bb50e1 iwl_rs_pretty_ant drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x84dc77ba iwl_fwrt_dump_error_logs drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x86b65236 iwl_free_fw_paging drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x874c77de iwl_fw_rate_idx_to_plcp drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x89371016 iwl_sar_select_profile drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9038811a iwl_rfi_guid drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x91798ffe iwl_sar_geo_support drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x96fbce7f iwl_parse_mei_nvm_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xa7633140 iwl_write_prph64_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb06f5c38 iwl_fw_start_dbg_conf drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb266da61 iwl_fw_dbg_collect drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb26ffd4e __iwl_dbg drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb37b318c iwl_rs_pretty_bw drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb7d5ffb1 iwl_rate_mcs drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb9740725 iwl_read32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xbab2e10c iwl_get_nvm drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xbafc8994 iwl_wait_notification drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xbc1d259b iwl_fw_runtime_resume drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xbcbbc6a6 __iwl_err drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xbfaed41d iwl_init_paging drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xc3c3a876 iwl_dbg_tlv_del_timers drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xc5942e4e iwl_read_ppag_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xc9ce2fa0 iwl_sar_get_wrds_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xcab63ad9 iwl_read_external_nvm drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xce0c6460 iwl_phy_db_set_section drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xcf6c633b iwl_parse_nvm_mcc_info drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xcf8520b0 iwl_write_direct32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xda0435f2 iwl_write32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xdfc2ed48 iwl_sar_get_ewrd_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe0eb5838 iwl_init_notification_wait drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe0ec98ca iwl_write64 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe42595ff iwl_fw_dbg_error_collect drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe75b7e77 iwl_notification_wait drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xea1b26fc iwl_nvm_fixups drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xeb954bb2 iwl_fw_runtime_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xebe1a869 __iwl_warn drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xebe9c887 iwl_acpi_get_mcc drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xedf5bf96 iwl_write_prph_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf56d8d88 iwl_write_direct64 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf5f9962b iwl_opmode_register drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf6600377 iwl_fw_dbg_stop_restart_recording drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf80119cc iwl_acpi_is_ppag_approved drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf8436375 iwl_fw_dbg_stop_sync drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf88964e4 iwl_remove_notification drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf8fea02a iwl_set_soc_latency drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xfc099186 iwl_read_prph_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xfc1e6f41 iwl_guid drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xfd6f57d7 iwl_clear_bits_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xfe338e41 iwl_read_direct32 drivers/net/wireless/intel/iwlwifi/iwlwifi +LTC2497 EXPORT_SYMBOL 0x652f6705 ltc2497core_remove drivers/iio/adc/ltc2497-core +LTC2497 EXPORT_SYMBOL 0xbb87bb15 ltc2497core_probe drivers/iio/adc/ltc2497-core +MCB EXPORT_SYMBOL_GPL 0x25c12b25 mcb_bus_put drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x3a60ff1d mcb_unregister_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x6521bc51 mcb_get_irq drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x6d9690d4 mcb_bus_add_devices drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x6f38f609 mcb_device_register drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x75538b20 __mcb_register_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x782d50f6 chameleon_parse_cells drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x923fe75a mcb_request_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x991e8f4c mcb_get_resource drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xa17dfca1 mcb_alloc_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xbeacb304 mcb_free_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xc35c2529 mcb_release_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xc47c2553 mcb_alloc_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xd4fb3cdb mcb_bus_get drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xeb2c8905 mcb_release_mem drivers/mcb/mcb +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x4958156f nvme_command_effects vmlinux +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x4b6ffe62 nvme_ctrl_from_file vmlinux +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x88f38fd6 nvme_passthru_end vmlinux +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x8bd6ae1a nvme_put_ns vmlinux +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0xb71359ad nvme_execute_passthru_rq vmlinux +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0xf3b5cd96 nvme_find_get_ns vmlinux +PECI EXPORT_SYMBOL_GPL 0x0d8f3ff3 peci_request_free drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x13d7be46 peci_xfer_pkg_cfg_readq drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x155de91f peci_request_dib_read drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x22b79238 peci_xfer_ep_pci_cfg_local_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x2464f9e3 devm_peci_controller_add drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x2777e407 peci_xfer_get_dib drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x2ee1fdb6 peci_xfer_ep_pci_cfg_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x41f41d09 __peci_driver_register drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x61adf05b peci_xfer_pci_cfg_local_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x61b6d165 peci_xfer_ep_pci_cfg_local_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x6b565f07 peci_request_data_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x6d0a8d24 peci_driver_unregister drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x6de0beeb peci_xfer_ep_pci_cfg_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x704d15af peci_xfer_get_temp drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7c7d64dc peci_xfer_pci_cfg_local_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x8613022b peci_request_data_readq drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x8807be88 peci_xfer_pkg_cfg_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x8f3296c3 peci_request_data_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xa2ae420a peci_request_status drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xbee6cbfc peci_xfer_ep_mmio64_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xc26b861b peci_request_temp_read drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xc46a39bd peci_xfer_ep_mmio32_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xc7276eb5 peci_xfer_pci_cfg_local_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xc73cb714 peci_xfer_pkg_cfg_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xdbf8c592 peci_request_alloc drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xdea50daf peci_request_data_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xeb8d4d4c peci_xfer_pkg_cfg_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xf06597a6 peci_xfer_ep_pci_cfg_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xfc33f828 peci_xfer_ep_pci_cfg_local_readb drivers/peci/peci +PECI_CPU EXPORT_SYMBOL_GPL 0x6063a41f peci_pcs_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x7d99ce98 peci_mmio_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0xb74fcbf0 peci_temp_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0xdd9eb1a5 peci_ep_pci_local_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0xe8663731 peci_pci_local_read drivers/peci/peci-cpu +PMBUS EXPORT_SYMBOL_GPL 0x0a36fee1 pmbus_clear_cache drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x14109d39 pmbus_regulator_ops drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x20147a3b pmbus_clear_faults drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x3a93438a pmbus_set_update drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x47ebbde6 pmbus_get_debugfs_dir drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x48b3d669 pmbus_read_word_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x4ee98e70 pmbus_get_driver_info drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x57d7ab6b pmbus_check_byte_register drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x614ae02e pmbus_write_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x64afe59e pmbus_update_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x731588c7 pmbus_write_byte drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7f83e1dd pmbus_write_word_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x870d7b93 pmbus_check_word_register drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x8eac8b95 pmbus_get_fan_rate_cached drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x92e62786 pmbus_read_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xb17e2869 pmbus_get_fan_rate_device drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xb52c0654 pmbus_do_probe drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xe1fae583 pmbus_set_page drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xfa8d0ec6 pmbus_update_fan drivers/hwmon/pmbus/pmbus_core +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x0b7fea8f sx_common_read_proximity drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x13c1b743 sx_common_write_event_config drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x2acaf69c sx_common_read_event_config drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x338af437 sx_common_probe drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0xd07d0025 sx_common_events drivers/iio/proximity/sx_common +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0x2b707546 hda_cs_dsp_fw_ids sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0x3180c1bf hda_cs_dsp_control_remove sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0x3f3829a4 hda_cs_dsp_control_add sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0x6c2c00ab hda_cs_dsp_write_ctl sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0xa0be6881 hda_cs_dsp_read_ctl sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_SCODEC_CS35L41 EXPORT_SYMBOL_GPL 0x38f727c2 cs35l41_hda_probe sound/pci/hda/snd-hda-scodec-cs35l41 +SND_HDA_SCODEC_CS35L41 EXPORT_SYMBOL_GPL 0x8dde73ce cs35l41_hda_remove sound/pci/hda/snd-hda-scodec-cs35l41 +SND_HDA_SCODEC_CS35L41 EXPORT_SYMBOL_GPL 0x9cbd78c4 cs35l41_hda_pm_ops sound/pci/hda/snd-hda-scodec-cs35l41 +SND_INTEL_SOUNDWIRE_ACPI EXPORT_SYMBOL 0xbb4f9d1f sdw_intel_acpi_scan sound/hda/snd-intel-sdw-acpi +SND_SOC_ACP_COMMON EXPORT_SYMBOL_GPL 0x2bdb7fb4 acp_platform_register sound/soc/amd/acp/snd-acp-pcm +SND_SOC_ACP_COMMON EXPORT_SYMBOL_GPL 0x5d30423b acp_platform_unregister sound/soc/amd/acp/snd-acp-pcm +SND_SOC_ACP_COMMON EXPORT_SYMBOL_GPL 0x64d229c2 asoc_acp_i2s_probe sound/soc/amd/acp/snd-acp-i2s +SND_SOC_ACP_COMMON EXPORT_SYMBOL_GPL 0x72b04aca acp_dmic_dai_ops sound/soc/amd/acp/snd-acp-pdm +SND_SOC_ACP_COMMON EXPORT_SYMBOL_GPL 0xdce378b5 acp_machine_select sound/soc/amd/acp/snd-acp-pcm +SND_SOC_ACP_COMMON EXPORT_SYMBOL_GPL 0xfd403f22 asoc_acp_cpu_dai_ops sound/soc/amd/acp/snd-acp-i2s +SND_SOC_AMD_MACH EXPORT_SYMBOL_GPL 0x41974112 acp_sofdsp_dai_links_create sound/soc/amd/acp/snd-acp-mach +SND_SOC_AMD_MACH EXPORT_SYMBOL_GPL 0x4f3de095 acp_legacy_dai_links_create sound/soc/amd/acp/snd-acp-mach +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0x100b4336 cs35l45_probe sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0x67ea8078 cs35l45_pm_ops sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0x748ce026 cs35l45_remove sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x1c2ed3e1 cs35l45_spi_regmap sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x3431c8ad cs35l45_get_clk_freq_id sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x5f1612ad cs35l45_i2c_regmap sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0xf9e957a7 cs35l45_apply_patch sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_INTEL_HDA_DSP_COMMON EXPORT_SYMBOL 0x86bbfceb hda_dsp_hdmi_build_controls sound/soc/intel/boards/snd-soc-intel-hda-dsp-common +SND_SOC_INTEL_SOF_CIRRUS_COMMON EXPORT_SYMBOL 0x434f34b6 cs35l41_set_dai_link sound/soc/intel/boards/snd-soc-intel-sof-cirrus-common +SND_SOC_INTEL_SOF_CIRRUS_COMMON EXPORT_SYMBOL 0x43dd0d65 cs35l41_set_codec_conf sound/soc/intel/boards/snd-soc-intel-sof-cirrus-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x1013c6e2 max_98360a_dai_link sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x224144b4 max_98390_spk_codec_init sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x3ce56c80 max_98373_components sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x5e65067f max_98357a_dai_link sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x647ee424 max_98390_ops sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x864ba14e max_98390_components sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x90be5bd4 max_98390_set_codec_conf sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x9cc87bf0 max_98373_dapm_routes sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0xa7bb2203 max_98373_ops sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0xbdb22a84 max_98373_spk_codec_init sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0xe5498122 max_98373_set_codec_conf sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0xe8f184c0 max_98390_4spk_components sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0xfd1f8fb7 max_98373_trigger sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_REALTEK_COMMON EXPORT_SYMBOL 0x04a7f36e sof_rt1019_dai_link sound/soc/intel/boards/snd-soc-intel-sof-realtek-common +SND_SOC_INTEL_SOF_REALTEK_COMMON EXPORT_SYMBOL 0x1d6cf5e2 sof_rt1015p_codec_conf sound/soc/intel/boards/snd-soc-intel-sof-realtek-common +SND_SOC_INTEL_SOF_REALTEK_COMMON EXPORT_SYMBOL 0x247e18c2 sof_rt1015p_dai_link sound/soc/intel/boards/snd-soc-intel-sof-realtek-common +SND_SOC_INTEL_SOF_REALTEK_COMMON EXPORT_SYMBOL 0x34e912c8 sof_rt1011_codec_conf sound/soc/intel/boards/snd-soc-intel-sof-realtek-common +SND_SOC_INTEL_SOF_REALTEK_COMMON EXPORT_SYMBOL 0x6e4cb6fd sof_rt1308_dai_link sound/soc/intel/boards/snd-soc-intel-sof-realtek-common +SND_SOC_INTEL_SOF_REALTEK_COMMON EXPORT_SYMBOL 0x757b8ab4 sof_rt1011_dai_link sound/soc/intel/boards/snd-soc-intel-sof-realtek-common +SND_SOC_INTEL_SOF_REALTEK_COMMON EXPORT_SYMBOL 0xc98a4662 sof_rt1015_codec_conf sound/soc/intel/boards/snd-soc-intel-sof-realtek-common +SND_SOC_INTEL_SOF_REALTEK_COMMON EXPORT_SYMBOL 0xfdcf3fb3 sof_rt1015_dai_link sound/soc/intel/boards/snd-soc-intel-sof-realtek-common +SND_SOC_SOF_ACPI_DEV EXPORT_SYMBOL 0x6457258c sof_acpi_pm sound/soc/sof/snd-sof-acpi +SND_SOC_SOF_ACPI_DEV EXPORT_SYMBOL 0x8e129656 sof_acpi_probe sound/soc/sof/snd-sof-acpi +SND_SOC_SOF_ACPI_DEV EXPORT_SYMBOL 0xa5c78157 sof_acpi_remove sound/soc/sof/snd-sof-acpi +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x03e0b44e acp_pcm_open sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x177e3ae5 acp_mailbox_read sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x255e46d8 acp_dsp_block_write sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x32b73837 acp_pcm_hw_params sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x35fb27dd acp_sof_ipc_irq_thread sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x3bf6a040 acp_sof_ipc_msg_data sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x4871ba9d amd_sof_acp_probe sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x4eb63fe3 acp_dsp_stream_init sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x51d4c245 acp_sof_trace_init sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x5a2f2438 acp_sof_trace_release sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x71ff75a0 acp_dsp_stream_get sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x7efcf899 acp_get_bar_index sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x8d0ebdd6 acp_mailbox_write sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x99cc3218 amd_sof_acp_remove sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0xa61eb361 acp_dsp_pre_fw_run sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0xb8b2ee36 acp_sof_dsp_run sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0xc9976a9f acp_sof_ipc_send_msg sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0xcd34b327 acp_pcm_close sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0xeb46962e acp_sof_ipc_get_mailbox_offset sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0xec190dd9 acp_dsp_stream_put sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0xfe2d43ac acp_dsp_block_read sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x04a84707 sof_client_get_ipc_max_payload_size sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x2f20ec85 sof_client_get_fw_version sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x3466ef27 sof_client_register_ipc_rx_handler sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x4359f846 sof_client_dev_unregister sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x45b75a1f sof_client_get_dma_dev sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x4e197d91 sof_client_get_fw_state sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x4f7917a8 sof_client_dev_register sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x5236ea22 sof_client_unregister_ipc_rx_handler sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x5870cbab sof_client_get_debugfs_root sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x7431da6f sof_client_core_module_get sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x81cb7f9d sof_client_core_module_put sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x89218a53 sof_client_unregister_fw_state_handler sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x8b4a8cab sof_client_register_fw_state_handler sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x95f053b9 sof_suspend_clients sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0xb9df33ca sof_client_get_ipc_type sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0xe3aea008 sof_client_ipc_tx_message sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0xf5369552 sof_resume_clients sound/soc/sof/snd-sof +SND_SOC_SOF_HDA_AUDIO_CODEC EXPORT_SYMBOL 0x06df29f1 hda_codec_probe_bus sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC EXPORT_SYMBOL 0x9957332d hda_codec_jack_wake_enable sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC EXPORT_SYMBOL 0xe00f4d29 hda_codec_jack_check sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC_I915 EXPORT_SYMBOL 0x838cd2aa hda_codec_i915_init sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC_I915 EXPORT_SYMBOL 0x94337cfa hda_codec_i915_display_power sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC_I915 EXPORT_SYMBOL 0xe32c8587 hda_codec_i915_exit sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x1be384b8 atom_send_msg sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x3503e0b1 atom_irq_thread sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x36e5ca74 atom_dai sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x410a46ec atom_run sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x579cd796 atom_dump sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x603655ec atom_reset sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x6581aa4f atom_machine_select sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x7571d0e2 atom_get_window_offset sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x82327273 atom_get_mailbox_offset sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0xe301cd87 atom_set_mach_params sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0xefa4a41a atom_irq_handler sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x248e32ad sof_tgl_ops sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x2f514de0 adls_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x377f3244 sof_icl_ops sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x417f4320 icl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x42fadd2b sof_cnl_ops_init sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x4e7f42b1 hda_pci_intel_probe sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x4f8c6b02 sof_tgl_ops_init sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x508e6581 tgl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x595f000d tglh_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x6662e5e0 sof_mtl_ops sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x7513e68e mtl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x7beb9702 apl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x83c5c4f5 sof_mtl_ops_init sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x8919c021 jsl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x8b1aa8c2 sof_icl_ops_init sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x8c436dae ehl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xb2acafa2 sof_apl_ops sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xc7684f4c sof_cnl_ops sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xd1b0208a sof_apl_ops_init sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xd464f9c5 cnl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_PCI_DEV EXPORT_SYMBOL 0x2b3c0c01 sof_pci_shutdown sound/soc/sof/snd-sof-pci +SND_SOC_SOF_PCI_DEV EXPORT_SYMBOL 0x84db4a88 sof_pci_probe sound/soc/sof/snd-sof-pci +SND_SOC_SOF_PCI_DEV EXPORT_SYMBOL 0x8eeea907 sof_pci_pm sound/soc/sof/snd-sof-pci +SND_SOC_SOF_PCI_DEV EXPORT_SYMBOL 0xb29bfc0d sof_pci_remove sound/soc/sof/snd-sof-pci +SND_SOC_SOF_XTENSA EXPORT_SYMBOL 0xb2fc5293 sof_xtensa_arch_ops sound/soc/sof/xtensa/snd-sof-xtensa-dsp +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x05510af1 sdw_intel_startup drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x06a73695 sdw_intel_probe drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x5af438eb sdw_intel_enable_irq drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x6ec44148 sdw_intel_exit drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0xaa52eba1 sdw_intel_thread drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0xc786defd sdw_intel_process_wakeen_event drivers/soundwire/soundwire-intel +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x0402de68 dw_spi_dma_setup_generic drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x31366713 dw_spi_set_cs drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x31b6b33b dw_spi_check_status drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x615a412c dw_spi_dma_setup_mfld drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x686b5d5d dw_spi_suspend_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x7723e69a dw_spi_resume_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x87cf3cf8 dw_spi_add_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0xa30e0a54 dw_spi_update_config drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0xb82f77aa dw_spi_remove_host drivers/spi/spi-dw +TEST_FIRMWARE EXPORT_SYMBOL_GPL 0x3dce036c firmware_request_builtin vmlinux +TEST_FIRMWARE EXPORT_SYMBOL_GPL 0x9d8a8803 efi_embedded_fw_list vmlinux +TEST_FIRMWARE EXPORT_SYMBOL_GPL 0x9dd8d0e2 efi_embedded_fw_checked vmlinux +USB_STORAGE EXPORT_SYMBOL_GPL 0x03acf6fe usb_stor_Bulk_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x05480d05 usb_stor_suspend drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x1bc3edc2 usb_stor_sense_invalidCDB drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x1e780d45 usb_stor_probe2 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x27f523b6 usb_stor_bulk_transfer_sg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x355ec048 usb_stor_bulk_transfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x38f7152f usb_stor_bulk_srb drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x45cd411f usb_stor_pre_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x48b969a9 usb_stor_set_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x4c7bdbfb fill_inquiry_response drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x4d0f3102 usb_stor_post_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x53506f43 usb_stor_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x56cbd490 usb_stor_disconnect drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x59ec19c3 usb_stor_CB_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x66fb320d usb_stor_ctrl_transfer drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x8a22d36c usb_stor_transparent_scsi_command drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x95314b39 usb_stor_host_template_init drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xa531782a usb_stor_control_msg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xa9477cba usb_stor_CB_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xc6fca643 usb_stor_reset_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xd79303d8 usb_stor_adjust_quirks drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xe537e111 usb_stor_probe1 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xe9ee669f usb_stor_clear_halt drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xeb0cf785 usb_stor_Bulk_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xf74e4685 usb_stor_access_xfer_buf drivers/usb/storage/usb-storage --- linux-gcp-5.19.0.orig/debian.gcp/abi/amd64/gcp.compiler +++ linux-gcp-5.19.0/debian.gcp/abi/amd64/gcp.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 12.2.0-3ubuntu1) 12.2.0 --- linux-gcp-5.19.0.orig/debian.gcp/abi/amd64/gcp.modules +++ linux-gcp-5.19.0/debian.gcp/abi/amd64/gcp.modules @@ -0,0 +1,6148 @@ +104-quad-8 +3c509 +3c574_cs +3c589_cs +3c59x +3w-9xxx +3w-sas +3w-xxxx +53c700 +6lowpan +6pack +8021q +8139cp +8139too +8250_dw +8250_exar +8250_lpss +8250_men_mcb +8250_mid +8250_pericom +8255 +8255_pci +8390 +842 +842_compress +842_decompress +88pg86x +88pm800 +88pm800-regulator +88pm805 +88pm80x +88pm80x_onkey +88pm8607 +88pm860x-ts +88pm860x_battery +88pm860x_bl +88pm860x_charger +88pm860x_onkey +9p +9pnet +9pnet_fd +9pnet_rdma +9pnet_virtio +9pnet_xen +BusLogic +a100u2w +a3d +a8293 +aacraid +aat2870-regulator +aat2870_bl +abituguru +abituguru3 +abp060mg +ac97_bus +acard-ahci +acecad +acenic +acer-wireless +acer-wmi +acerhdf +acp_audio_dma +acpi-als +acpi_configfs +acpi_extlog +acpi_ipmi +acpi_pad +acpi_power_meter +acpi_tad +acpi_thermal_rel +acpiphp_ibm +acquirewdt +acrn +act8865-regulator +act_bpf +act_connmark +act_csum +act_ct +act_ctinfo +act_gact +act_gate +act_ipt +act_mirred +act_mpls +act_nat +act_pedit +act_police +act_sample +act_simple +act_skbedit +act_skbmod +act_tunnel_key +act_vlan +ad2s1200 +ad2s1210 +ad2s90 +ad3552r +ad5064 +ad5110 +ad525x_dpot +ad525x_dpot-i2c +ad525x_dpot-spi +ad5272 +ad5360 +ad5380 +ad5398 +ad5421 +ad5446 +ad5449 +ad5504 +ad5592r +ad5592r-base +ad5593r +ad5624r_spi +ad5686 +ad5686-spi +ad5696-i2c +ad5755 +ad5758 +ad5761 +ad5764 +ad5766 +ad5770r +ad5791 +ad5820 +ad5933 +ad7091r-base +ad7091r5 +ad7124 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7192 +ad7266 +ad7280a +ad7291 +ad7292 +ad7293 +ad7298 +ad7303 +ad7314 +ad7414 +ad7418 +ad74413r +ad7476 +ad7606 +ad7606_par +ad7606_spi +ad7746 +ad7766 +ad7768-1 +ad7780 +ad7791 +ad7793 +ad7816 +ad7877 +ad7879 +ad7879-i2c +ad7879-spi +ad7887 +ad7923 +ad7949 +ad799x +ad8366 +ad8801 +ad9389b +ad9523 +ad9832 +ad9834 +ad_sigma_delta +ada4250 +adc-joystick +adc-keys +adc128d818 +adcxx +addi_apci_1032 +addi_apci_1500 +addi_apci_1516 +addi_apci_1564 +addi_apci_16xx +addi_apci_2032 +addi_apci_2200 +addi_apci_3120 +addi_apci_3501 +addi_apci_3xxx +addi_watchdog +ade7854 +ade7854-i2c +ade7854-spi +adf4350 +adf4371 +adf7242 +adfs +adi +adiantum +adin +adin1100 +adis16080 +adis16130 +adis16136 +adis16201 +adis16203 +adis16209 +adis16240 +adis16260 +adis16400 +adis16460 +adis16475 +adis16480 +adis_lib +adjd_s311 +adl_pci6208 +adl_pci7x3x +adl_pci8164 +adl_pci9111 +adl_pci9118 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm1177 +adm1266 +adm1275 +adm8211 +adm9240 +admv1013 +admv1014 +admv4420 +admv8818 +adp1653 +adp5061 +adp5520-keys +adp5520_bl +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +adq12b +adrf6780 +ads7828 +ads7846 +ads7871 +adt7310 +adt7316 +adt7316-i2c +adt7316-spi +adt7410 +adt7411 +adt7462 +adt7470 +adt7475 +adt7x10 +adummy +adutux +adux1020 +adv7170 +adv7175 +adv7180 +adv7183 +adv7343 +adv7393 +adv7511-v4l2 +adv7604 +adv7842 +adv_pci1710 +adv_pci1720 +adv_pci1723 +adv_pci1724 +adv_pci1760 +adv_pci_dio +adv_swbutton +advansys +advantechwdt +adxl313_core +adxl313_i2c +adxl313_spi +adxl34x +adxl34x-i2c +adxl34x-spi +adxl355_core +adxl355_i2c +adxl355_spi +adxl367 +adxl367_i2c +adxl367_spi +adxl372 +adxl372_i2c +adxl372_spi +adxrs290 +adxrs450 +aegis128 +aegis128-aesni +aes_ti +aesni-intel +af9013 +af9033 +af_alg +af_key +af_packet_diag +afe4403 +afe4404 +affs +ah4 +ah6 +aha152x_cs +aha1740 +ahci +ahci_platform +aht10 +aic79xx +aic7xxx +aic94xx +aio_aio12_8 +aio_iiro_16 +aiptek +aircable +airo +airo_cs +airspy +ak7375 +ak881x +ak8974 +ak8975 +al3010 +al3320a +alcor +alcor_pci +algif_aead +algif_hash +algif_rng +algif_skcipher +alienware-wmi +alim1535_wdt +alim7101_wdt +altera-ci +altera-cvp +altera-freeze-bridge +altera-msgdma +altera-pr-ip-core +altera-ps-spi +altera-stapl +altera_jtaguart +altera_ps2 +altera_tse +altera_uart +alx +am2315 +am53c974 +amc6821 +amd +amd-pmc +amd-rng +amd-uncore +amd-xgbe +amd5536udc_pci +amd64_edac +amd76xrom +amd8111e +amd_freq_sensitivity +amd_hsmp +amd_sfh +amdgpu +amdtee +amilo-rfkill +amlogic-gxl-crypto +amplc_dio200 +amplc_dio200_common +amplc_dio200_pci +amplc_pc236 +amplc_pc236_common +amplc_pc263 +amplc_pci224 +amplc_pci230 +amplc_pci236 +amplc_pci263 +ams-iaq-core +ams369fg06 +amt +analog +analogix-anx78xx +analogix_dp +ansi_cprng +aoe +apanel +apds9300 +apds9802als +apds990x +apds9960 +apple-gmux +apple-mfi-fastcharge +apple_bl +appledisplay +applesmc +applespi +appletalk +appletouch +applicom +aptina-pll +aqc111 +aquacomputer_d5next +aquantia +ar5523 +ar7part +ar9331 +arasan-nand-controller +arc-rawmode +arc-rimi +arc_ps2 +arc_uart +arcfb +arcmsr +arcnet +arcxcnn_bl +arizona +arizona-haptics +arizona-i2c +arizona-ldo1 +arizona-micsupp +arizona-spi +ark3116 +arkfb +arp_tables +arpt_mangle +arptable_filter +as102_fe +as370-hwmon +as3711-regulator +as3711_bl +as3935 +as5011 +as73211 +asb100 +asc7621 +ascot2e +asix +aspeed-pwm-tacho +aspeed-video +ast +asus-ec-sensors +asus-laptop +asus-nb-wmi +asus-tf103c-dock +asus-wireless +asus-wmi +asus_atk0110 +asus_wmi_sensors +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +at803x +at86rf230 +atbm8830 +atc260x-core +atc260x-i2c +atc260x-onkey +atc260x-poweroff +atc260x-regulator +aten +ath +ath10k_core +ath10k_pci +ath10k_sdio +ath10k_usb +ath11k +ath11k_ahb +ath11k_pci +ath3k +ath5k +ath6kl_core +ath6kl_sdio +ath6kl_usb +ath9k +ath9k_common +ath9k_htc +ath9k_hw +ath9k_pci_owl_loader +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atlantic +atlas-ezo-sensor +atlas-sensor +atlas_btns +atm +atmel +atmel-ecc +atmel-i2c +atmel-sha204a +atmel_cs +atmel_mxt_ts +atmel_pci +atmtcp +atomisp +atomisp-gc0310 +atomisp-gc2235 +atomisp-libmsrlisthelper +atomisp-lm3554 +atomisp-mt9m114 +atomisp-ov2680 +atomisp-ov2722 +atomisp-ov5693 +atomisp_gmin_platform +atp +atp870u +atusb +atxp1 +aty128fb +atyfb +au0828 +au8522_common +au8522_decoder +au8522_dig +auo-pixcir-ts +auth_rpcgss +authenc +authencesn +autofs4 +avmfritz +ax25 +ax88179_178a +ax88796b +ax88796c +axi-fan-control +axnet_cs +axp20x +axp20x-i2c +axp20x-pek +axp20x-regulator +axp20x_ac_power +axp20x_adc +axp20x_battery +axp20x_usb_power +axp288_adc +axp288_charger +axp288_fuel_gauge +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b43 +b43legacy +b44 +b53_common +b53_mdio +b53_mmap +b53_serdes +b53_spi +b53_srab +ba431-rng +barco-p50-gpio +bareudp +batman-adv +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcache +bch +bcm-phy-lib +bcm-sf2 +bcm203x +bcm3510 +bcm54140 +bcm590xx +bcm590xx-regulator +bcm5974 +bcm7xxx +bcm87xx +bcm_vk +bcma +bcma-hcd +bcmsysport +bd6107 +bd9571mwv +bd9571mwv-regulator +bd99954-charger +bdc +be2iscsi +be2net +befs +bel-pfe +belkin_sa +bfa +bfq +bfs +bfusb +bh1750 +bh1770glc +bh1780 +binder_linux +binfmt_misc +blake2b_generic +block2mtd +blocklayoutdriver +blowfish-x86_64 +blowfish_common +blowfish_generic +bluecard_cs +bluetooth +bluetooth_6lowpan +bma150 +bma220_spi +bma400_core +bma400_i2c +bma400_spi +bmc150-accel-core +bmc150-accel-i2c +bmc150-accel-spi +bmc150_magn +bmc150_magn_i2c +bmc150_magn_spi +bme680_core +bme680_i2c +bme680_spi +bmg160_core +bmg160_i2c +bmg160_spi +bmi088-accel-core +bmi088-accel-spi +bmi160_core +bmi160_i2c +bmi160_spi +bmp280 +bmp280-i2c +bmp280-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bnxt_en +bnxt_re +bochs +bonding +bpa-rs600 +bpa10x +bpck +bpfilter +bpqether +bq2415x_charger +bq24190_charger +bq24257_charger +bq24735-charger +bq2515x_charger +bq256xx_charger +bq25890_charger +bq25980_charger +bq27xxx_battery +bq27xxx_battery_hdq +bq27xxx_battery_i2c +br2684 +br_netfilter +brcmfmac +brcmsmac +brcmutil +brd +bridge +broadcom +bsd_comp +bt3c_cs +bt819 +bt856 +bt866 +bt878 +btbcm +btcoexist +btintel +btmrvl +btmrvl_sdio +btmtk +btmtksdio +btmtkuart +btqca +btrfs +btrsi +btrtl +btsdio +bttv +btusb +bu21013_ts +bu21029_ts +budget +budget-av +budget-ci +budget-core +budget-patch +c2port-duramar2150 +c67x00 +c6xdigio +c_can +c_can_pci +c_can_platform +ca8210 +cachefiles +cadence_wdt +cafe_ccic +cafe_nand +caif +caif_serial +caif_socket +caif_usb +caif_virtio +camellia-aesni-avx-x86_64 +camellia-aesni-avx2 +camellia-x86_64 +camellia_generic +can +can-bcm +can-dev +can-gw +can-isotp +can-j1939 +can-raw +capmode +capsule-loader +carl9170 +carminefb +cassini +cast5-avx-x86_64 +cast5_generic +cast6-avx-x86_64 +cast6_generic +cast_common +catc +cavium_ptp +cb710 +cb710-mmc +cb_das16_cs +cb_pcidas +cb_pcidas64 +cb_pcidda +cb_pcimdas +cb_pcimdda +cc10001_adc +cc2520 +cc770 +cc770_isa +cc770_platform +ccm +ccp +ccp-crypto +ccs +ccs-pll +ccs811 +cdc-acm +cdc-phonet +cdc-wdm +cdc_eem +cdc_ether +cdc_mbim +cdc_ncm +cdc_subset +cdns-csi2rx +cdns-csi2tx +cdns-pltfrm +cdns-usb-common +cdns3 +cdns3-pci-wrap +cdnsp-udc-pci +cec +ceph +cfag12864b +cfag12864bfb +cfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch +ch341 +ch7006 +ch7322 +ch9200 +ch_ipsec +ch_ktls +chacha-x86_64 +chacha20poly1305 +chacha_generic +chaoskey +charlcd +chcr +chipone_icn8505 +chipreg +chnl_net +chromeos_acpi +chromeos_laptop +chromeos_privacy_screen +chromeos_pstore +chromeos_tbmc +ci_hdrc +ci_hdrc_msm +ci_hdrc_pci +ci_hdrc_usb2 +cicada +cifs +cifs_arc4 +cifs_md4 +cio-dac +cirrus +cirrusfb +ck804xrom +classmate-laptop +clip +clk-cdce706 +clk-cs2000-cp +clk-lmk04832 +clk-max9485 +clk-palmas +clk-pwm +clk-si5341 +clk-si5351 +clk-si544 +clk-tps68470 +clk-twl6040 +clk-wm831x +cls_basic +cls_bpf +cls_cgroup +cls_flow +cls_flower +cls_fw +cls_matchall +cls_route +cls_rsvp +cls_rsvp6 +cls_u32 +cm109 +cm32181 +cm3232 +cm3323 +cm3605 +cm36651 +cm4000_cs +cm4040_cs +cma3000_d0x +cma3000_d0x_i2c +cmac +cmdlinepart +cmtp +cnic +cobalt +cobra +coda +com20020 +com20020-pci +com20020_cs +com90io +com90xx +comedi +comedi_8254 +comedi_8255 +comedi_bond +comedi_isadma +comedi_parport +comedi_pci +comedi_pcmcia +comedi_test +comedi_usb +comm +compal-laptop +contec_pci_dio +cordic +core +coretemp +corsair-cpro +corsair-psu +cortina +counter +cp210x +cpcihp_generic +cpcihp_zt5550 +cpia2 +cpu5wdt +cpuid +cpuidle-haltpoll +cqhci +cr_bllcd +cramfs +crc-itu-t +crc32-pclmul +crc32_generic +crc4 +crc7 +crc8 +crct10dif-pclmul +cros-ec-cec +cros-ec-sensorhub +cros_ec +cros_ec_accel_legacy +cros_ec_baro +cros_ec_chardev +cros_ec_debugfs +cros_ec_dev +cros_ec_i2c +cros_ec_ishtp +cros_ec_keyb +cros_ec_lid_angle +cros_ec_light_prox +cros_ec_lightbar +cros_ec_lpcs +cros_ec_mkbp_proximity +cros_ec_sensors +cros_ec_sensors_core +cros_ec_spi +cros_ec_sysfs +cros_ec_typec +cros_kbd_led_backlight +cros_peripheral_charger +cros_usbpd-charger +cros_usbpd_logger +cros_usbpd_notify +crvml +cryptd +crypto_engine +crypto_safexcel +crypto_simd +crypto_user +cs3308 +cs5345 +cs53l32a +cs_dsp +csiostor +ct82c710 +ctucanfd +ctucanfd_pci +curve25519-generic +curve25519-x86_64 +cuse +cw1200_core +cw1200_wlan_sdio +cw1200_wlan_spi +cw2015_battery +cx18 +cx18-alsa +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24117 +cx24120 +cx24123 +cx25821 +cx25821-alsa +cx25840 +cx82310_eth +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx8800 +cx8802 +cx88xx +cxacru +cxd2099 +cxd2820r +cxd2841er +cxd2880 +cxd2880-spi +cxgb +cxgb3 +cxgb3i +cxgb4 +cxgb4i +cxgb4vf +cxgbit +cxl_acpi +cxl_core +cxl_mem +cxl_pci +cxl_pmem +cxl_port +cy8ctma140 +cy8ctmg110_ts +cyapatp +cyber2000fb +cyberjack +cypress-sf +cypress_cy7c63 +cypress_firmware +cypress_m8 +cytherm +cyttsp4_core +cyttsp4_i2c +cyttsp4_spi +cyttsp_core +cyttsp_i2c +cyttsp_i2c_common +cyttsp_spi +da280 +da311 +da7280 +da9030_battery +da9034-ts +da903x-regulator +da903x_bl +da9052-battery +da9052-hwmon +da9052-regulator +da9052_bl +da9052_onkey +da9052_tsi +da9052_wdt +da9055-hwmon +da9055-regulator +da9055_onkey +da9055_wdt +da9062-core +da9062-regulator +da9062_wdt +da9063_onkey +da9063_wdt +da9150-charger +da9150-core +da9150-fg +da9150-gpadc +da9210-regulator +da9211-regulator +dac02 +daqboard2000 +das08 +das08_cs +das08_isa +das08_pci +das16 +das16m1 +das1800 +das6402 +das800 +davicom +dax_hmem +dax_pmem +db9 +dc395x +dca +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dcdbas +ddbridge +ddbridge-dummy-fe +de2104x +decnet +defxx +dell-laptop +dell-rbtn +dell-smbios +dell-smm-hwmon +dell-smo8800 +dell-uart-backlight +dell-wmi +dell-wmi-aio +dell-wmi-descriptor +dell-wmi-led +dell-wmi-sysman +dell_rbu +delta-ahe50dc-fan +denali +denali_pci +des3_ede-x86_64 +des_generic +designware_i2s +device_dax +dfl +dfl-afu +dfl-emif +dfl-fme +dfl-fme-br +dfl-fme-mgr +dfl-fme-region +dfl-n3000-nios +dfl-pci +dht11 +diag +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +diskonchip +dl2k +dlhl60d +dlink-dir685-touchkeys +dlm +dln2 +dln2-adc +dm-bio-prison +dm-bufio +dm-cache +dm-cache-smq +dm-clone +dm-crypt +dm-delay +dm-ebs +dm-era +dm-flakey +dm-historical-service-time +dm-integrity +dm-io-affinity +dm-log +dm-log-userspace +dm-log-writes +dm-mirror +dm-multipath +dm-persistent-data +dm-queue-length +dm-raid +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dm-switch +dm-thin-pool +dm-unstripe +dm-verity +dm-writecache +dm-zero +dm-zoned +dm1105 +dm9601 +dmard06 +dmard09 +dmard10 +dme1737 +dmfe +dmi-sysfs +dmm32at +dmx3191d +dn_rtmsg +dnet +dp83640 +dp83822 +dp83848 +dp83867 +dp83869 +dp83tc811 +dp83td510 +dpot-dac +dps310 +dps920ab +dpt_i2o +dptf_pch_fivr +dptf_power +drbd +drivetemp +drm +drm_buddy +drm_cma_helper +drm_display_helper +drm_kms_helper +drm_mipi_dbi +drm_shmem_helper +drm_ttm_helper +drm_vram_helper +drm_xen_front +drv260x +drv2665 +drv2667 +drx39xyj +drxd +drxk +ds1621 +ds1682 +ds1803 +ds1wm +ds2482 +ds2490 +ds2760_battery +ds2780_battery +ds2781_battery +ds2782_battery +ds3000 +ds4424 +ds620 +dsa_core +dsbr100 +dst +dst_ca +dstr +dt2801 +dt2811 +dt2814 +dt2815 +dt2817 +dt282x +dt3000 +dt3155 +dt9812 +dtl1_cs +dummy +dummy-irq +dummy_stm +dvb-as102 +dvb-bt8xx +dvb-core +dvb-pll +dvb-ttpci +dvb-ttusb-budget +dvb-usb +dvb-usb-a800 +dvb-usb-af9005 +dvb-usb-af9005-remote +dvb-usb-af9015 +dvb-usb-af9035 +dvb-usb-anysee +dvb-usb-au6610 +dvb-usb-az6007 +dvb-usb-az6027 +dvb-usb-ce6230 +dvb-usb-cinergyT2 +dvb-usb-cxusb +dvb-usb-dib0700 +dvb-usb-dibusb-common +dvb-usb-dibusb-mb +dvb-usb-dibusb-mc +dvb-usb-dibusb-mc-common +dvb-usb-digitv +dvb-usb-dtt200u +dvb-usb-dtv5100 +dvb-usb-dvbsky +dvb-usb-dw2102 +dvb-usb-ec168 +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-lmedm04 +dvb-usb-m920x +dvb-usb-mxl111sf +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-pctv452e +dvb-usb-rtl28xxu +dvb-usb-technisat-usb2 +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +dvb_dummy_fe +dvb_usb_v2 +dw-edma +dw-edma-pcie +dw-i3c-master +dw-xdata-pcie +dw9714 +dw9768 +dw9807-vcm +dw_dmac +dw_dmac_core +dw_dmac_pci +dw_wdt +dwc-xlgmac +dwc2_pci +dwc3 +dwc3-haps +dwc3-pci +dwmac-generic +dwmac-intel +dwmac-loongson +dyna_pci10xx +dynapro +e100 +e1000 +e1000e +e3x0-button +e4000 +e752x_edac +earth-pt1 +earth-pt3 +ebc-c384_wdt +ebt_802_3 +ebt_among +ebt_arp +ebt_arpreply +ebt_dnat +ebt_ip +ebt_ip6 +ebt_limit +ebt_log +ebt_mark +ebt_mark_m +ebt_nflog +ebt_pkttype +ebt_redirect +ebt_snat +ebt_stp +ebt_vlan +ebtable_broute +ebtable_filter +ebtable_nat +ebtables +ec100 +ec_bhf +ec_sys +ecc +ecdh_generic +ecdsa_generic +echainiv +echo +ecrdsa_generic +edac_mce_amd +edt-ft5x06 +ee1004 +eeepc-laptop +eeepc-wmi +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efa +efct +efi-pstore +efi_secret +efi_test +efibc +efs +egalax_ts_serial +ehci-fsl +ehset +einj +ektf2127 +elan_i2c +elo +em28xx +em28xx-alsa +em28xx-dvb +em28xx-rc +em28xx-v4l +em_canid +em_cmp +em_ipset +em_ipt +em_meta +em_nbyte +em_text +em_u32 +emc1403 +emc2103 +emc6w201 +emi26 +emi62 +empeg +ems_pci +ems_pcmcia +ems_usb +emu10k1-gp +ena +enc28j60 +enclosure +encx24j600 +encx24j600-regmap +ene_ir +eni +eni_vdpa +enic +epat +epia +epic100 +eql +erofs +esas2r +esb2rom +esd_usb2 +esp4 +esp4_offload +esp6 +esp6_offload +esp_scsi +essiv +et1011c +et131x +et8ek8 +etas_es58x +ethoc +eurotechwdt +evbug +exc3000 +exfat +extcon-adc-jack +extcon-axp288 +extcon-fsa9480 +extcon-gpio +extcon-intel-cht-wc +extcon-intel-int3496 +extcon-intel-mrfld +extcon-max14577 +extcon-max3355 +extcon-max77693 +extcon-max77843 +extcon-max8997 +extcon-palmas +extcon-ptn5150 +extcon-rt8973a +extcon-sm5502 +extcon-usb-gpio +extcon-usbc-cros-ec +extcon-usbc-tusb320 +ezusb +f2fs +f71805f +f71808e_wdt +f71882fg +f75375s +f81232 +f81534 +f81601 +failover +fakelb +fam15h_power +fan53555 +farsync +faulty +fb_agm1264k-fl +fb_bd663474 +fb_ddc +fb_hx8340bn +fb_hx8347d +fb_hx8353d +fb_hx8357d +fb_ili9163 +fb_ili9320 +fb_ili9325 +fb_ili9340 +fb_ili9341 +fb_ili9481 +fb_ili9486 +fb_pcd8544 +fb_ra8875 +fb_s6d02a1 +fb_s6d1121 +fb_seps525 +fb_sh1106 +fb_ssd1289 +fb_ssd1305 +fb_ssd1306 +fb_ssd1325 +fb_ssd1331 +fb_ssd1351 +fb_st7735r +fb_st7789v +fb_sys_fops +fb_tinylcd +fb_tls8204 +fb_uc1611 +fb_uc1701 +fb_upd161704 +fbtft +fc0011 +fc0012 +fc0013 +fc2580 +fcoe +fcrypt +fdomain +fdomain_cs +fdomain_pci +fdp +fdp_i2c +fealnx +ff-memless +fieldbus_dev +fintek-cir +firedtv +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +firewire-serial +firmware_attributes_class +fit2 +fit3 +fixed +fjes +fl512 +fm10k +fm801-gp +fm_drv +fmvj18x_cs +fnic +forcedeth +fore_200e +fotg210-hcd +fotg210-udc +fou +fou6 +fpga-bridge +fpga-mgr +fpga-region +freevxfs +friq +frpw +fsa4480 +fscache +fschmd +fsia6b +fsl-mph-dr-of +fsl_linflexuart +fsl_lpuart +fsp-3y +ftdi-elan +ftdi_sio +ftl +ftrace-direct +ftrace-direct-modify +ftrace-direct-too +ftsteutates +fujitsu-laptop +fujitsu-tablet +fujitsu_ts +funcore +funeth +fusb302 +fxas21002c_core +fxas21002c_i2c +fxas21002c_spi +fxls8962af-core +fxls8962af-i2c +fxls8962af-spi +fxos8700_core +fxos8700_i2c +fxos8700_spi +g450_pll +g760a +g762 +g_acm_ms +g_audio +g_cdc +g_dbgp +g_ether +g_ffs +g_hid +g_mass_storage +g_midi +g_ncm +g_nokia +g_printer +g_serial +g_webcam +g_zero +gadgetfs +gamecon +gameport +garmin_gps +garp +gb-audio-apbridgea +gb-audio-codec +gb-audio-gb +gb-audio-manager +gb-audio-module +gb-bootrom +gb-es2 +gb-firmware +gb-gbphy +gb-gpio +gb-hid +gb-i2c +gb-light +gb-log +gb-loopback +gb-power-supply +gb-pwm +gb-raw +gb-sdio +gb-spi +gb-spilib +gb-uart +gb-usb +gb-vibrator +gdmtty +gdmulte +gen_probe +generic +generic-adc-battery +genet +geneve +genwqe_card +gf2k +gfs2 +ghash-clmulni-intel +gigabyte-wmi +gl518sm +gl520sm +gl620a +gluebi +gm12u320 +gma500_gfx +gnss +gnss-mtk +gnss-serial +gnss-sirf +gnss-ubx +gnss-usb +go7007 +go7007-loader +go7007-usb +goku_udc +goldfish_battery +goodix_ts +gp2ap002 +gp2ap020a00f +gp8psk-fe +gpd-pocket-fan +gpio +gpio-104-dio-48e +gpio-104-idi-48 +gpio-104-idio-16 +gpio-adp5520 +gpio-adp5588 +gpio-aggregator +gpio-amd-fch +gpio-amd8111 +gpio-amdpt +gpio-arizona +gpio-bd9571mwv +gpio-beeper +gpio-charger +gpio-da9052 +gpio-da9055 +gpio-dln2 +gpio-dwapb +gpio-exar +gpio-f7188x +gpio-gpio-mm +gpio-ich +gpio-it87 +gpio-janz-ttl +gpio-kempld +gpio-lp3943 +gpio-lp873x +gpio-madera +gpio-max3191x +gpio-max7300 +gpio-max7301 +gpio-max730x +gpio-max732x +gpio-mb86s7x +gpio-mc33880 +gpio-menz127 +gpio-ml-ioh +gpio-pca953x +gpio-pca9570 +gpio-pcf857x +gpio-pci-idio-16 +gpio-pcie-idio-24 +gpio-pisosr +gpio-rdc321x +gpio-regulator +gpio-sch +gpio-sch311x +gpio-sim +gpio-siox +gpio-tpic2810 +gpio-tps65086 +gpio-tps65912 +gpio-tps68470 +gpio-tqmx86 +gpio-twl4030 +gpio-twl6040 +gpio-ucb1400 +gpio-vibra +gpio-viperboard +gpio-virtio +gpio-vx855 +gpio-wcove +gpio-winbond +gpio-wm831x +gpio-wm8350 +gpio-wm8994 +gpio-ws16c48 +gpio-xra1403 +gpio_backlight +gpio_decoder +gpio_keys +gpio_keys_polled +gpio_mouse +gpu-sched +gr_udc +grace +gre +greybus +grip +grip_mp +gru +gs1662 +gs_usb +gsc_hpdi +gspca_benq +gspca_conex +gspca_cpia1 +gspca_dtcs033 +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_jl2005bcd +gspca_kinect +gspca_konica +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_nw80x +gspca_ov519 +gspca_ov534 +gspca_ov534_9 +gspca_pac207 +gspca_pac7302 +gspca_pac7311 +gspca_se401 +gspca_sn9c2028 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca1528 +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_sq930x +gspca_stk014 +gspca_stk1135 +gspca_stv0680 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_topro +gspca_touptek +gspca_tv8532 +gspca_vc032x +gspca_vicam +gspca_xirlink_cit +gspca_zc3xx +gtp +gud +guillemot +gunze +gve +habanalabs +hackrf +hamachi +hampshire +hangcheck-timer +hanwang +hci +hci_nokia +hci_uart +hci_vhci +hd3ss3220 +hd44780 +hd44780_common +hdaps +hdc100x +hdc2010 +hdlc +hdlc_cisco +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdlcdrv +hdma +hdma_mgmt +hdpvr +he +hecubafb +helene +hellcreek_sw +hexium_gemini +hexium_orion +hfcmulti +hfcpci +hfcsusb +hfi1 +hfs +hfsplus +hgafb +hi311x +hi556 +hi6210-i2s +hi8435 +hi846 +hi847 +hid +hid-a4tech +hid-accutouch +hid-alps +hid-apple +hid-appleir +hid-asus +hid-aureal +hid-axff +hid-belkin +hid-betopff +hid-bigbenff +hid-cherry +hid-chicony +hid-cmedia +hid-corsair +hid-cougar +hid-cp2112 +hid-creative-sb0540 +hid-cypress +hid-dr +hid-elan +hid-elecom +hid-elo +hid-emsff +hid-ezkey +hid-ft260 +hid-gaff +hid-gembird +hid-generic +hid-gfrm +hid-glorious +hid-google-hammer +hid-gt683r +hid-gyration +hid-holtek-kbd +hid-holtek-mouse +hid-holtekff +hid-hyperv +hid-icade +hid-ite +hid-jabra +hid-kensington +hid-keytouch +hid-kye +hid-lcpower +hid-led +hid-lenovo +hid-letsketch +hid-lg-g15 +hid-logitech +hid-logitech-dj +hid-logitech-hidpp +hid-macally +hid-magicmouse +hid-maltron +hid-mcp2221 +hid-megaworld +hid-mf +hid-microsoft +hid-monterey +hid-multitouch +hid-nti +hid-ntrig +hid-ortek +hid-penmount +hid-petalynx +hid-picolcd +hid-pl +hid-plantronics +hid-playstation +hid-primax +hid-prodikeys +hid-redragon +hid-retrode +hid-rmi +hid-roccat +hid-roccat-arvo +hid-roccat-common +hid-roccat-isku +hid-roccat-kone +hid-roccat-koneplus +hid-roccat-konepure +hid-roccat-kovaplus +hid-roccat-lua +hid-roccat-pyra +hid-roccat-ryos +hid-roccat-savu +hid-saitek +hid-samsung +hid-semitek +hid-sensor-accel-3d +hid-sensor-als +hid-sensor-custom +hid-sensor-custom-intel-hinge +hid-sensor-gyro-3d +hid-sensor-hub +hid-sensor-humidity +hid-sensor-iio-common +hid-sensor-incl-3d +hid-sensor-magn-3d +hid-sensor-press +hid-sensor-prox +hid-sensor-rotation +hid-sensor-temperature +hid-sensor-trigger +hid-sigmamicro +hid-sjoy +hid-sony +hid-speedlink +hid-steam +hid-steelseries +hid-sunplus +hid-thrustmaster +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-u2fzero +hid-uclogic +hid-udraw-ps3 +hid-viewsonic +hid-vivaldi +hid-vivaldi-common +hid-waltop +hid-wiimote +hid-xiaomi +hid-xinmo +hid-zpff +hid-zydacron +hideep +hidp +hih6130 +hinic +hisi-spmi-controller +hmc425a +hmc5843_core +hmc5843_i2c +hmc5843_spi +hmc6352 +hopper +horus3a +hostap +hostap_cs +hostap_pci +hostap_plx +hp-wmi +hp03 +hp206c +hp_accel +hpfs +hpilo +hpsa +hptiop +hpwdt +hsi +hsi_char +hso +hsr +hsu_dma +ht16k33 +htc-pasic3 +hts221 +hts221_i2c +hts221_spi +htu21 +huawei-wmi +huawei_cdc_ncm +hv_balloon +hv_netvsc +hv_sock +hv_storvsc +hv_utils +hv_vmbus +hwmon-vid +hwpoison-inject +hx711 +hx8357 +hx8357d +hycon-hy46xx +hyperbus-core +hyperv-keyboard +hyperv_drm +hyperv_fb +i10nm_edac +i2c-algo-bit +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd-mp2-pci +i2c-amd-mp2-plat +i2c-amd756 +i2c-amd756-s4882 +i2c-amd8111 +i2c-cbus-gpio +i2c-ccgx-ucsi +i2c-cht-wc +i2c-cp2615 +i2c-cros-ec-tunnel +i2c-designware-pci +i2c-diolan-u2c +i2c-dln2 +i2c-gpio +i2c-hid +i2c-hid-acpi +i2c-i801 +i2c-isch +i2c-ismt +i2c-kempld +i2c-matroxfb +i2c-mlxcpld +i2c-mux +i2c-mux-gpio +i2c-mux-ltc4306 +i2c-mux-mlxcpld +i2c-mux-pca9541 +i2c-mux-pca954x +i2c-mux-reg +i2c-nforce2 +i2c-nforce2-s4985 +i2c-nvidia-gpu +i2c-ocores +i2c-parport +i2c-pca-platform +i2c-piix4 +i2c-robotfuzz-osif +i2c-scmi +i2c-simtec +i2c-sis5595 +i2c-sis630 +i2c-sis96x +i2c-smbus +i2c-stub +i2c-taos-evm +i2c-tiny-usb +i2c-via +i2c-viapro +i2c-viperboard +i2c-virtio +i2c-xiic +i3000_edac +i3200_edac +i3c +i3c-master-cdns +i40e +i5000_edac +i5100_edac +i5400_edac +i5500_temp +i5k_amb +i6300esb +i7300_edac +i740fb +i7core_edac +i82092 +i82975x_edac +i915 +iTCO_vendor_support +iTCO_wdt +iavf +ib700wdt +ib_cm +ib_core +ib_ipoib +ib_iser +ib_isert +ib_mthca +ib_qib +ib_srp +ib_srpt +ib_umad +ib_uverbs +ibm-cffps +ibm_rtl +ibmaem +ibmasm +ibmasr +ibmpex +ice +ichxrom +icp +icp10100 +icp_multi +icplus +ics932s401 +ideapad-laptop +ideapad_slidebar +idma64 +idmouse +idt77252 +idt_89hpesx +idt_gen2 +idt_gen3 +idtcps +idxd +idxd_bus +ie31200_edac +ie6xx_wdt +ieee802154 +ieee802154_6lowpan +ieee802154_socket +ifb +ifcvf +ife +ifi_canfd +iforce +iforce-serio +iforce-usb +igb +igbvf +igc +igen6_edac +igorplugusb +iguanair +ii_pci20kc +iio-mux +iio-rescale +iio-trig-hrtimer +iio-trig-interrupt +iio-trig-loop +iio-trig-sysfs +iio_dummy +iio_hwmon +ila +ili210x +ili9163 +ili9225 +ili922x +ili9320 +ili9341 +ili9486 +ilitek_ts_i2c +imagis +img-ascii-lcd +img-i2s-in +img-i2s-out +img-parallel-out +img-spdif-in +img-spdif-out +imm +imon +imon_raw +ims-pcu +imx208 +imx214 +imx219 +imx258 +imx274 +imx290 +imx319 +imx355 +ina209 +ina238 +ina2xx +ina2xx-adc +ina3221 +industrialio +industrialio-buffer-cb +industrialio-buffer-dma +industrialio-buffer-dmaengine +industrialio-configfs +industrialio-hw-consumer +industrialio-sw-device +industrialio-sw-trigger +industrialio-triggered-buffer +industrialio-triggered-event +inet_diag +inexio +inftl +initio +input-leds +inspur-ipsps +int3400_thermal +int3401_thermal +int3402_thermal +int3403_thermal +int3406_thermal +int340x_thermal_zone +int51x1 +intel-cstate +intel-hid +intel-ish-ipc +intel-ishtp +intel-ishtp-hid +intel-ishtp-loader +intel-lpss +intel-lpss-acpi +intel-lpss-pci +intel-m10-bmc +intel-m10-bmc-hwmon +intel-qep +intel-rng +intel-rst +intel-smartconnect +intel-uncore-frequency +intel-uncore-frequency-common +intel-vbtn +intel-wmi-sbl-fw-update +intel-wmi-thunderbolt +intel-xhci-usb-role-switch +intel-xway +intel_atomisp2_led +intel_bxt_pmic_thermal +intel_bxtwc_tmu +intel_chtdc_ti_pwrbtn +intel_chtwc_int33fe +intel_crystal_cove_charger +intel_int0002_vgpio +intel_ips +intel_menlow +intel_mrfld_adc +intel_mrfld_pwrbtn +intel_oaktrail +intel_pch_thermal +intel_pmc_bxt +intel_pmc_mux +intel_powerclamp +intel_punit_ipc +intel_qat +intel_quark_i2c_gpio +intel_rapl_common +intel_rapl_msr +intel_sar +intel_scu_ipcutil +intel_scu_pltdrv +intel_sdsi +intel_skl_int3472_discrete +intel_skl_int3472_tps68470 +intel_soc_dts_iosf +intel_soc_dts_thermal +intel_soc_pmic_bxtwc +intel_soc_pmic_chtdc_ti +intel_soc_pmic_mrfld +intel_tcc_cooling +intel_telemetry_core +intel_telemetry_debugfs +intel_telemetry_pltdrv +intel_th +intel_th_acpi +intel_th_gth +intel_th_msu +intel_th_msu_sink +intel_th_pci +intel_th_pti +intel_th_sth +intel_vr_nor +intel_vsec +intelfb +interact +interrupt-cnt +inv-icm42600 +inv-icm42600-i2c +inv-icm42600-spi +inv-mpu6050 +inv-mpu6050-i2c +inv-mpu6050-spi +io_edgeport +io_ti +ioatdma +iommu_v2 +ionic +iosm +iowarrior +ip5xxx_power +ip6_gre +ip6_tables +ip6_tunnel +ip6_udp_tunnel +ip6_vti +ip6t_NPT +ip6t_REJECT +ip6t_SYNPROXY +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_mh +ip6t_rpfilter +ip6t_rt +ip6t_srh +ip6table_filter +ip6table_mangle +ip6table_nat +ip6table_raw +ip6table_security +ip_gre +ip_set +ip_set_bitmap_ip +ip_set_bitmap_ipmac +ip_set_bitmap_port +ip_set_hash_ip +ip_set_hash_ipmac +ip_set_hash_ipmark +ip_set_hash_ipport +ip_set_hash_ipportip +ip_set_hash_ipportnet +ip_set_hash_mac +ip_set_hash_net +ip_set_hash_netiface +ip_set_hash_netnet +ip_set_hash_netport +ip_set_hash_netportnet +ip_set_list_set +ip_tables +ip_tunnel +ip_vs +ip_vs_dh +ip_vs_fo +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_mh +ip_vs_nq +ip_vs_ovf +ip_vs_pe_sip +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_twos +ip_vs_wlc +ip_vs_wrr +ip_vti +ipack +ipaq +ipcomp +ipcomp6 +iphase +ipheth +ipip +ipmi_devintf +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_ssif +ipmi_watchdog +ipoctal +ipr +ips +ipt_CLUSTERIP +ipt_ECN +ipt_REJECT +ipt_SYNPROXY +ipt_ah +ipt_rpfilter +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +iptable_security +ipu3-cio2 +ipu3-imgu +ipvlan +ipvtap +ipw +ipw2100 +ipw2200 +ipwireless +iqs269a +iqs5xx +iqs620at-temp +iqs621-als +iqs624-pos +iqs626a +iqs62x +iqs62x-keys +iqs7222 +ir-imon-decoder +ir-jvc-decoder +ir-kbd-i2c +ir-mce_kbd-decoder +ir-nec-decoder +ir-rc5-decoder +ir-rc6-decoder +ir-rcmm-decoder +ir-sanyo-decoder +ir-sharp-decoder +ir-sony-decoder +ir-usb +ir-xmp-decoder +ir35221 +ir36021 +ir38064 +ir_toy +irdma +irps5401 +irq-madera +isci +iscsi_boot_sysfs +iscsi_ibft +iscsi_target_mod +iscsi_tcp +isdnhdlc +ishtp_eclite +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl29125 +isl29501 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isl68137 +isl9305 +isofs +isp116x-hcd +isp1704_charger +isp1760 +isst_if_common +isst_if_mbox_msr +isst_if_mbox_pci +isst_if_mmio +it87 +it8712f_wdt +it87_wdt +it913x +itd1000 +ite-cir +itg3200 +iuu_phoenix +ivtv +ivtv-alsa +ivtvfb +iw_cm +iw_cxgb4 +iwl3945 +iwl4965 +iwldvm +iwlegacy +iwlmvm +iwlwifi +ix2505v +ixgb +ixgbe +ixgbevf +janz-cmodio +janz-ican3 +jc42 +jedec_probe +jffs2 +jfs +jmb38x_ms +jme +joydev +joydump +jr3_pci +jsa1212 +jsm +k10temp +k8temp +kafs +kalmia +kaweth +kb3886_bl +kbic +kbtab +kcm +kcomedilib +ke_counter +kempld-core +kempld_wdt +kernelcapi +keyspan +keyspan_pda +keyspan_remote +keywrap +kfifo_buf +kheaders +kl5kusb105 +kmem +kmx61 +kobil_sct +ks0108 +ks0127 +ks7010 +ks8842 +ks8851_common +ks8851_par +ks8851_spi +ksmbd +ksz8795 +ksz8795_spi +ksz884x +ksz8863_smi +ksz9477 +ksz9477_i2c +ksz9477_spi +ksz_common +ktd253-backlight +ktti +kvaser_pci +kvaser_pciefd +kvaser_usb +kvm +kvm-amd +kvm-intel +kvmgt +kxcjk-1013 +kxsd9 +kxsd9-i2c +kxsd9-spi +kxtj9 +kyber-iosched +kyrofb +l1oip +l2tp_core +l2tp_debugfs +l2tp_eth +l2tp_ip +l2tp_ip6 +l2tp_netlink +l2tp_ppp +l440gx +l4f00242t03 +l64781 +lan743x +lan78xx +lan9303-core +lan9303_i2c +lan9303_mdio +lanai +lantiq +lantiq_gswip +lapb +lapbether +lattice-ecp3-config +lcd +lcd2s +ldusb +lec +led-class-flash +led-class-multicolor +leds-88pm860x +leds-adp5520 +leds-apu +leds-as3645a +leds-bd2802 +leds-blinkm +leds-clevo-mail +leds-da903x +leds-da9052 +leds-dac124s085 +leds-gpio +leds-lm3530 +leds-lm3532 +leds-lm3533 +leds-lm355x +leds-lm3601x +leds-lm36274 +leds-lm3642 +leds-lp3944 +leds-lp3952 +leds-lp50xx +leds-lp8788 +leds-lt3593 +leds-max8997 +leds-mc13783 +leds-menf21bmc +leds-mlxcpld +leds-mlxreg +leds-mt6323 +leds-nic78bx +leds-pca9532 +leds-pca955x +leds-pca963x +leds-pwm +leds-pwm-multicolor +leds-regulator +leds-rt8515 +leds-sgm3140 +leds-ss4200 +leds-tca6507 +leds-ti-lmu-common +leds-tlc591xx +leds-tps6105x +leds-wm831x-status +leds-wm8350 +ledtrig-activity +ledtrig-audio +ledtrig-backlight +ledtrig-camera +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-netdev +ledtrig-oneshot +ledtrig-pattern +ledtrig-timer +ledtrig-transient +ledtrig-tty +ledtrig-usbport +legousbtower +lenovo-yogabook-wmi +lg-laptop +lg-vl600 +lg2160 +lgdt3305 +lgdt3306a +lgdt330x +lgs8gl5 +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libahci +libahci_platform +libarc4 +libceph +libchacha +libchacha20poly1305 +libcomposite +libcurve25519 +libcurve25519-generic +libcxgb +libcxgbi +libdes +libertas +libertas_cs +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libpoly1305 +libsas +lightning +line-display +lineage-pem +linear +liquidio +liquidio_vf +lis3lv02d +lis3lv02d_i2c +lkkbd +ll_temac +llc +llc2 +lm25066 +lm3533-als +lm3533-core +lm3533-ctrlbank +lm3533_bl +lm3560 +lm3630a_bl +lm3639_bl +lm363x-regulator +lm3646 +lm63 +lm70 +lm73 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm8333 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95234 +lm95241 +lm95245 +lmp91000 +lms283gf05 +lms501kf03 +lnbh25 +lnbh29 +lnbp21 +lnbp22 +lockd +lp +lp3943 +lp3971 +lp3972 +lp855x_bl +lp8727_charger +lp872x +lp873x +lp8755 +lp8788-buck +lp8788-charger +lp8788-ldo +lp8788_adc +lp8788_bl +lpc_ich +lpc_sch +lpddr_cmds +lpfc +lru_cache +lrw +lt3651-charger +ltc1660 +ltc2471 +ltc2485 +ltc2496 +ltc2497 +ltc2497-core +ltc2632 +ltc2688 +ltc2941-battery-gauge +ltc2945 +ltc2947-core +ltc2947-i2c +ltc2947-spi +ltc2978 +ltc2983 +ltc2990 +ltc2992 +ltc3589 +ltc3676 +ltc3815 +ltc4151 +ltc4162-l-charger +ltc4215 +ltc4222 +ltc4245 +ltc4260 +ltc4261 +ltr501 +ltv350qv +lv0104cs +lv5207lp +lvstest +lxt +lz4 +lz4_compress +lz4hc +lz4hc_compress +m2m-deinterlace +m52790 +m5mols +m62332 +m88ds3103 +m88rs2000 +m88rs6000t +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +m_can +m_can_pci +m_can_platform +mac-celtic +mac-centeuro +mac-croatian +mac-cyrillic +mac-gaelic +mac-greek +mac-iceland +mac-inuit +mac-roman +mac-romanian +mac-turkish +mac80211 +mac80211_hwsim +mac802154 +mac802154_hwsim +mac_hid +macb +macb_pci +machxo2-spi +machzwd +macmodes +macsec +macvlan +macvtap +madera +madera-i2c +madera-spi +mag3110 +magellan +mailbox-altera +mana +mantis +mantis_core +map_absent +map_funcs +map_ram +map_rom +marvell +marvell-88x2222 +marvell10g +matrix-keymap +matrix_keypad +matrox_w1 +matroxfb_DAC1064 +matroxfb_Ti3026 +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +max1027 +max11100 +max1111 +max1118 +max11801_ts +max1241 +max127 +max1363 +max14577-regulator +max14577_charger +max15301 +max1586 +max16064 +max16065 +max1619 +max16601 +max1668 +max17040_battery +max17042_battery +max1721x_battery +max197 +max20086-regulator +max20730 +max20751 +max2165 +max2175 +max30100 +max30102 +max3100 +max31722 +max31730 +max31785 +max31790 +max31856 +max31865 +max3420_udc +max3421-hcd +max34440 +max44000 +max44009 +max517 +max5432 +max5481 +max5487 +max5821 +max63xx_wdt +max6620 +max6621 +max6639 +max6642 +max6650 +max6697 +max6875 +max7359_keypad +max77693-haptic +max77693-regulator +max77693_charger +max77826-regulator +max77976_charger +max8649 +max8660 +max8688 +max8893 +max8903_charger +max8907 +max8907-regulator +max8925-regulator +max8925_bl +max8925_onkey +max8925_power +max8952 +max8997-regulator +max8997_charger +max8997_haptic +max8998 +max8998_charger +max9271 +max9611 +maxim_thermocouple +mb1232 +mb862xxfb +mb86a16 +mb86a20s +mc +mc13783-adc +mc13783-pwrbutton +mc13783-regulator +mc13783_ts +mc13892-regulator +mc13xxx-core +mc13xxx-i2c +mc13xxx-regulator-core +mc13xxx-spi +mc3230 +mc44s803 +mcam-core +mcb +mcb-lpc +mcb-pci +mcba_usb +mce-inject +mceusb +mchp23k256 +mchp48l640 +mcp251x +mcp251xfd +mcp3021 +mcp320x +mcp3422 +mcp3911 +mcp4018 +mcp41010 +mcp4131 +mcp4531 +mcp4725 +mcp4922 +mcr20a +mcs5000_ts +mcs7830 +mcs_touchkey +mct_u232 +mctp-serial +md-cluster +md4 +mdc800 +mdev +mdio +mdio-bcm-unimac +mdio-bitbang +mdio-cavium +mdio-gpio +mdio-i2c +mdio-mscc-miim +mdio-mvusb +mdio-thunder +me4000 +me_daq +mediatek-ge +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +mei +mei-gsc +mei-me +mei-txe +mei_hdcp +mei_phy +mei_pxp +mei_wdt +melfas_mip4 +memory-notifier-error-inject +memstick +men_z135_uart +men_z188_adc +mena21_wdt +menf21bmc +menf21bmc_hwmon +menf21bmc_wdt +menz69_wdt +meraki-mx100 +metro-usb +metronomefb +meye +mf6x4 +mgag200 +mhi +mhi_ep +mhi_net +mhi_pci_generic +mhi_wwan_ctrl +mhi_wwan_mbim +mi0283qt +michael_mic +micrel +microchip +microchip_t1 +microread +microread_i2c +microread_mei +microtek +mii +minix +mip6 +mipi-i3c-hci +mite +mk712 +mkiss +ml86v7667 +mlx-platform +mlx4_core +mlx4_en +mlx4_ib +mlx5-vfio-pci +mlx5_core +mlx5_ib +mlx5_vdpa +mlx90614 +mlx90632 +mlx_wdt +mlxfw +mlxreg-fan +mlxreg-hotplug +mlxreg-io +mlxreg-lc +mlxsw_core +mlxsw_i2c +mlxsw_minimal +mlxsw_pci +mlxsw_spectrum +mma7455_core +mma7455_i2c +mma7455_spi +mma7660 +mma8450 +mma8452 +mma9551 +mma9551_core +mma9553 +mmc35240 +mmc_block +mmc_spi +mms114 +mn88443x +mn88472 +mn88473 +mos7720 +mos7840 +most_cdev +most_core +most_i2c +most_net +most_snd +most_usb +most_video +motorcomm +moxa +mp2629 +mp2629_adc +mp2629_charger +mp2888 +mp2975 +mp5023 +mp8859 +mpc624 +mpi3mr +mpl115 +mpl115_i2c +mpl115_spi +mpl3115 +mpls_gso +mpls_iptunnel +mpls_router +mpoa +mpr121_touchkey +mpt3sas +mptbase +mptcp_diag +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mr75203 +mrf24j40 +mrp +ms5611_core +ms5611_i2c +ms5611_spi +ms5637 +ms_block +ms_sensors_i2c +mscc +mscc_ocelot_switch_lib +mscc_seville +msdos +mse102x +msg2638 +msi-laptop +msi-wmi +msi001 +msi2500 +msp3400 +mspro_block +msr +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt6311-regulator +mt6315-regulator +mt6323-regulator +mt6358-regulator +mt6359-regulator +mt6360-adc +mt6360-core +mt6360-regulator +mt6360_charger +mt6397 +mt6397-regulator +mt7530 +mt76 +mt76-connac-lib +mt76-sdio +mt76-usb +mt7601u +mt7603e +mt7615-common +mt7615e +mt7663-usb-sdio-common +mt7663s +mt7663u +mt76x0-common +mt76x02-lib +mt76x02-usb +mt76x0e +mt76x0u +mt76x2-common +mt76x2e +mt76x2u +mt7915e +mt7921-common +mt7921e +mt7921s +mt7921u +mt9m001 +mt9m032 +mt9m111 +mt9p031 +mt9t001 +mt9t112 +mt9v011 +mt9v032 +mt9v111 +mtd +mtd_blkdevs +mtd_dataflash +mtdblock +mtdblock_ro +mtdoops +mtdpstore +mtdram +mtdswap +mtip32xx +mtk-pmic-keys +mtk-sd +mtk_t7xx +mtouch +multipath +multiq3 +musb_hdrc +mux-adg792a +mux-adgs1408 +mux-core +mux-gpio +mv88e6060 +mv88e6xxx +mv_u3d_core +mv_udc +mvmdio +mvsas +mvumi +mwave +mwifiex +mwifiex_pcie +mwifiex_sdio +mwifiex_usb +mwl8k +mxb +mxc4005 +mxc6255 +mxic_nand +mxl-gpy +mxl111sf-demod +mxl111sf-tuner +mxl301rf +mxl5005s +mxl5007t +mxl5xx +mxl692 +mxm-wmi +mxser +mxuport +myrb +myri10ge +myrs +n411 +n5pf +n_gsm +n_hdlc +nand +nandcore +nandsim +national +natsemi +nau7802 +navman +nbd +nci +nci_spi +nci_uart +nct6683 +nct6775 +nct6775-core +nct6775-i2c +nct7802 +nct7904 +nd_btt +nd_pmem +nd_virtio +ne2k-pci +neofb +net1080 +net2272 +net2280 +net_failover +netconsole +netdevsim +netfs +netjet +netlink_diag +netrom +nettel +netup-unidvb +netxen_nic +newtonkbd +nf_conncount +nf_conntrack_amanda +nf_conntrack_bridge +nf_conntrack_broadcast +nf_conntrack_ftp +nf_conntrack_h323 +nf_conntrack_irc +nf_conntrack_netbios_ns +nf_conntrack_pptp +nf_conntrack_sane +nf_conntrack_sip +nf_conntrack_snmp +nf_conntrack_tftp +nf_dup_ipv4 +nf_dup_ipv6 +nf_dup_netdev +nf_flow_table +nf_flow_table_inet +nf_log_syslog +nf_nat +nf_nat_amanda +nf_nat_ftp +nf_nat_h323 +nf_nat_irc +nf_nat_pptp +nf_nat_sip +nf_nat_snmp_basic +nf_nat_tftp +nf_reject_ipv4 +nf_reject_ipv6 +nf_socket_ipv4 +nf_socket_ipv6 +nf_synproxy_core +nf_tables +nf_tproxy_ipv4 +nf_tproxy_ipv6 +nfc +nfc_digital +nfcmrvl +nfcmrvl_i2c +nfcmrvl_spi +nfcmrvl_uart +nfcmrvl_usb +nfcsim +nfit +nfnetlink_acct +nfnetlink_cthelper +nfnetlink_cttimeout +nfnetlink_hook +nfnetlink_osf +nfp +nfs +nfs_acl +nfs_layout_flexfiles +nfs_layout_nfsv41_files +nfsd +nfsv2 +nfsv3 +nfsv4 +nft_chain_nat +nft_compat +nft_connlimit +nft_ct +nft_dup_ipv4 +nft_dup_ipv6 +nft_dup_netdev +nft_fib +nft_fib_inet +nft_fib_ipv4 +nft_fib_ipv6 +nft_fib_netdev +nft_flow_offload +nft_fwd_netdev +nft_hash +nft_limit +nft_log +nft_masq +nft_meta_bridge +nft_nat +nft_numgen +nft_objref +nft_osf +nft_queue +nft_quota +nft_redir +nft_reject +nft_reject_bridge +nft_reject_inet +nft_reject_ipv4 +nft_reject_ipv6 +nft_reject_netdev +nft_socket +nft_synproxy +nft_tproxy +nft_tunnel +nft_xfrm +nftl +ngene +nhc_dest +nhc_fragment +nhc_hop +nhc_ipv6 +nhc_mobility +nhc_routing +nhc_udp +nhpoly1305 +nhpoly1305-avx2 +nhpoly1305-sse2 +ni903x_wdt +ni_6527 +ni_65xx +ni_660x +ni_670x +ni_at_a2150 +ni_at_ao +ni_atmio +ni_atmio16d +ni_daq_700 +ni_daq_dio24 +ni_labpc +ni_labpc_common +ni_labpc_cs +ni_labpc_isadma +ni_labpc_pci +ni_mio_cs +ni_pcidio +ni_pcimio +ni_routing +ni_tio +ni_tiocmd +ni_usb6501 +nic7018_wdt +nicpf +nicstar +nicvf +nilfs2 +nitro_enclaves +niu +nixge +nlmon +nls_ascii +nls_cp1250 +nls_cp1251 +nls_cp1255 +nls_cp737 +nls_cp775 +nls_cp850 +nls_cp852 +nls_cp855 +nls_cp857 +nls_cp860 +nls_cp861 +nls_cp862 +nls_cp863 +nls_cp864 +nls_cp865 +nls_cp866 +nls_cp869 +nls_cp874 +nls_cp932 +nls_cp936 +nls_cp949 +nls_cp950 +nls_euc-jp +nls_iso8859-1 +nls_iso8859-13 +nls_iso8859-14 +nls_iso8859-15 +nls_iso8859-2 +nls_iso8859-3 +nls_iso8859-4 +nls_iso8859-5 +nls_iso8859-6 +nls_iso8859-7 +nls_iso8859-9 +nls_koi8-r +nls_koi8-ru +nls_koi8-u +nls_utf8 +nmclan_cs +noa1305 +noon010pc30 +nosy +notifier-error-inject +nouveau +nozomi +npcm750-pwm-fan +ns558 +ns83820 +nsh +ntb +ntb_hw_epf +ntb_hw_idt +ntb_hw_intel +ntb_hw_switchtec +ntb_netdev +ntb_perf +ntb_pingpong +ntb_tool +ntb_transport +ntc_thermistor +ntfs +ntfs3 +null_blk +nuvoton-cir +nv_tco +nvidia-wmi-ec-backlight +nvidiafb +nvme-fabrics +nvme-fc +nvme-loop +nvme-rdma +nvme-tcp +nvmem-rave-sp-eeprom +nvmem-rmem +nvmem_qcom-spmi-sdam +nvmet +nvmet-fc +nvmet-rdma +nvmet-tcp +nvram +nvsw-sn2201 +nxp-c45-tja11xx +nxp-nci +nxp-nci_i2c +nxp-tja11xx +nxt200x +nxt6000 +nzxt-kraken2 +nzxt-smart2 +objagg +ocfb +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stack_o2cb +ocfs2_stack_user +ocfs2_stackglue +ocrdma +octeon_ep +of_mmc_spi +of_xilinx_wdt +ofb +og01a1b +omfs +omninet +on20 +on26 +onenand +opa_vnic +opencores-kbd +openvswitch +opt3001 +opticon +option +or51132 +or51211 +orangefs +orinoco +orinoco_cs +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +oti6858 +otm3225a +ov02a10 +ov08d10 +ov13858 +ov13b10 +ov2640 +ov2659 +ov2680 +ov2685 +ov2740 +ov5647 +ov5648 +ov5670 +ov5675 +ov5693 +ov5695 +ov6650 +ov7251 +ov7640 +ov7670 +ov772x +ov7740 +ov8856 +ov8865 +ov9640 +ov9650 +ov9734 +overlay +oxu210hp-hcd +p4-clockmod +p54common +p54pci +p54spi +p54usb +p8022 +pa12203001 +padlock-aes +padlock-sha +palmas-pwrbutton +palmas-regulator +palmas_gpadc +panasonic-laptop +pandora_bl +panel +panel-mipi-dbi +panel-raspberrypi-touchscreen +panel-widechips-ws2401 +paride +parkbd +parman +parport +parport_ax88796 +parport_cs +parport_pc +parport_serial +pata_acpi +pata_ali +pata_amd +pata_artop +pata_atiixp +pata_atp867x +pata_cmd640 +pata_cmd64x +pata_cypress +pata_efar +pata_hpt366 +pata_hpt37x +pata_hpt3x2n +pata_hpt3x3 +pata_it8213 +pata_it821x +pata_jmicron +pata_legacy +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_ns87410 +pata_ns87415 +pata_oldpiix +pata_opti +pata_optidma +pata_pcmcia +pata_pdc2027x +pata_pdc202xx_old +pata_piccolo +pata_platform +pata_radisys +pata_rdc +pata_rz1000 +pata_sch +pata_serverworks +pata_sil680 +pata_sl82c105 +pata_triflex +pata_via +pc300too +pc87360 +pc87413_wdt +pc87427 +pca9450-regulator +pcap-regulator +pcap_keys +pcap_ts +pcbc +pcd +pcengines-apuv2 +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pch_udc +pci +pci-epf-ntb +pci-hyperv +pci-hyperv-intf +pci-pf-stub +pci-stub +pci200syn +pcips2 +pcl711 +pcl724 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcmad +pcmcia +pcmcia_core +pcmcia_rsrc +pcmciamtd +pcmda12 +pcmmio +pcmuio +pcnet32 +pcnet_cs +pcrypt +pcs-lynx +pcs_xpcs +pcspkr +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pdc_adma +peak_pci +peak_pciefd +peak_pcmcia +peak_usb +peaq-wmi +peci +peci-cpu +peci-cputemp +peci-dimmtemp +pegasus +pegasus_notetaker +penmount +pf +pfr_telemetry +pfr_update +pg +phantom +phonet +phram +phy-bcm-kona-usb2 +phy-can-transceiver +phy-cpcap-usb +phy-exynos-usb2 +phy-generic +phy-gpio-vbus-usb +phy-intel-lgm-emmc +phy-isp1301 +phy-lgm-usb +phy-pxa-28nm-hsic +phy-pxa-28nm-usb2 +phy-qcom-usb-hs +phy-qcom-usb-hsic +phy-tahvo +phy-tusb1210 +phylink +physmap +pi3usb30532 +pi433 +pim4328 +pinctrl-alderlake +pinctrl-broxton +pinctrl-cannonlake +pinctrl-cedarfork +pinctrl-da9062 +pinctrl-denverton +pinctrl-elkhartlake +pinctrl-emmitsburg +pinctrl-geminilake +pinctrl-icelake +pinctrl-jasperlake +pinctrl-lakefield +pinctrl-lewisburg +pinctrl-lynxpoint +pinctrl-madera +pinctrl-mcp23s08 +pinctrl-mcp23s08_i2c +pinctrl-mcp23s08_spi +pinctrl-sunrisepoint +pinctrl-tigerlake +ping +pistachio-internal-dac +pixcir_i2c_ts +pkcs7_test_key +pkcs8_key_parser +pktcdvd +pktgen +pl2303 +plat-ram +plat_nand +platform_lcd +platform_profile +plfxlc +pli1209bc +plip +plusb +pluto2 +plx_dma +plx_pci +pm-notifier-error-inject +pm2fb +pm3fb +pm6764tr +pm80xx +pmbus +pmbus_core +pmc551 +pmcraid +pms7003 +pmt_class +pmt_crashlog +pmt_telemetry +pn532_uart +pn533 +pn533_i2c +pn533_usb +pn544 +pn544_i2c +pn544_mei +pn_pep +pnd2_edac +poly1305-x86_64 +poly1305_generic +port100 +powermate +powr1220 +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +ppp_synctty +pppoatm +pppoe +pppox +pps-gpio +pps-ldisc +pps_parport +pptp +prestera +prestera_pci +pretimeout_panic +prism2_usb +processor_thermal_device +processor_thermal_device_pci +processor_thermal_device_pci_legacy +processor_thermal_mbox +processor_thermal_rapl +processor_thermal_rfim +ps2-gpio +ps2mult +psample +psmouse +psnap +pstore_blk +pstore_zone +psxpad-spi +pt +ptdma +ptp_clockmatrix +ptp_idt82p33 +ptp_ines +ptp_kvm +ptp_ocp +ptp_vmw +pulse8-cec +pulsedlight-lidar-lite-v2 +punit_atom_debug +pv88060-regulator +pv88080-regulator +pv88090-regulator +pvcalls-front +pvpanic +pvpanic-mmio +pvpanic-pci +pvrusb2 +pwc +pwm-beeper +pwm-cros-ec +pwm-dwc +pwm-iqs620a +pwm-lp3943 +pwm-pca9685 +pwm-regulator +pwm-twl +pwm-twl-led +pwm-vibra +pwm_bl +pxa27x_udc +pxe1610 +pxrc +q54sj108a2 +qat_4xxx +qat_c3xxx +qat_c3xxxvf +qat_c62x +qat_c62xvf +qat_dh895xcc +qat_dh895xccvf +qca8k +qcaux +qcom-emac +qcom-labibb-regulator +qcom-spmi-adc5 +qcom-spmi-iadc +qcom-spmi-vadc +qcom-vadc-common +qcom-wled +qcom_glink +qcom_glink_rpm +qcom_spmi-regulator +qcom_usb_vbus-regulator +qcserial +qed +qede +qedf +qedi +qedr +qemu_fw_cfg +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qlogic_cs +qlogicfas408 +qm1d1b0004 +qm1d1c0042 +qmi_helpers +qmi_wwan +qnx4 +qnx6 +qrtr +qrtr-mhi +qrtr-smd +qrtr-tun +qsemi +qt1010 +qt1050 +qt1070 +qt2160 +qtnfmac +qtnfmac_pcie +quatech2 +quatech_daqp_cs +quota_tree +quota_v1 +quota_v2 +qwiic-joystick +qxl +r592 +r6040 +r8152 +r8153_ecm +r8169 +r8188eu +r8192e_pci +r8192u_usb +r820t +r852 +r8712u +r8723bs +r8a66597-hcd +r8a66597-udc +radeon +radeonfb +radio-keene +radio-ma901 +radio-maxiradio +radio-mr800 +radio-platform-si4713 +radio-raremono +radio-shark +radio-si470x-common +radio-si470x-i2c +radio-si470x-usb +radio-si476x +radio-tea5764 +radio-usb-si4713 +radio-wl1273 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid_class +rainshadow-cec +ramoops +rapl +rave-sp +rave-sp-backlight +rave-sp-pwrbutton +rave-sp-wdt +raw_diag +raw_gadget +ray_cs +raydium_i2c_ts +rbd +rc-adstech-dvb-t-pci +rc-alink-dtu-m +rc-anysee +rc-apac-viewcomp +rc-astrometa-t2hybrid +rc-asus-pc39 +rc-asus-ps3-100 +rc-ati-tv-wonder-hd-600 +rc-ati-x10 +rc-avermedia +rc-avermedia-a16d +rc-avermedia-cardbus +rc-avermedia-dvbt +rc-avermedia-m135a +rc-avermedia-m733a-rm-k6 +rc-avermedia-rm-ks +rc-avertv-303 +rc-azurewave-ad-tu700 +rc-beelink-gs1 +rc-behold +rc-behold-columbus +rc-budget-ci-old +rc-cinergy +rc-cinergy-1400 +rc-core +rc-ct-90405 +rc-d680-dmb +rc-delock-61959 +rc-dib0700-nec +rc-dib0700-rc5 +rc-digitalnow-tinytwin +rc-digittrade +rc-dm1105-nec +rc-dntv-live-dvb-t +rc-dntv-live-dvbt-pro +rc-dtt200u +rc-dvbsky +rc-dvico-mce +rc-dvico-portable +rc-em-terratec +rc-encore-enltv +rc-encore-enltv-fm53 +rc-encore-enltv2 +rc-evga-indtube +rc-eztv +rc-flydvb +rc-flyvideo +rc-fusionhdtv-mce +rc-gadmei-rm008z +rc-geekbox +rc-genius-tvgo-a11mce +rc-gotview7135 +rc-hauppauge +rc-hisi-poplar +rc-hisi-tv-demo +rc-imon-mce +rc-imon-pad +rc-imon-rsc +rc-iodata-bctv7e +rc-it913x-v1 +rc-it913x-v2 +rc-kaiomy +rc-khadas +rc-khamsin +rc-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lme2510 +rc-loopback +rc-manli +rc-mecool-kii-pro +rc-mecool-kiii-pro +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +rc-minix-neo +rc-msi-digivox-ii +rc-msi-digivox-iii +rc-msi-tvanywhere +rc-msi-tvanywhere-plus +rc-nebula +rc-nec-terratec-cinergy-xs +rc-norwood +rc-npgtech +rc-odroid +rc-pctv-sedna +rc-pine64 +rc-pinnacle-color +rc-pinnacle-grey +rc-pinnacle-pctv-hd +rc-pixelview +rc-pixelview-002t +rc-pixelview-mk12 +rc-pixelview-new +rc-powercolor-real-angel +rc-proteus-2309 +rc-purpletv +rc-pv951 +rc-rc6-mce +rc-real-audio-220-32-keys +rc-reddo +rc-snapstream-firefly +rc-streamzap +rc-su3000 +rc-tanix-tx3mini +rc-tanix-tx5max +rc-tbs-nec +rc-technisat-ts35 +rc-technisat-usb2 +rc-terratec-cinergy-c-pci +rc-terratec-cinergy-s2-hd +rc-terratec-cinergy-xs +rc-terratec-slim +rc-terratec-slim-2 +rc-tevii-nec +rc-tivo +rc-total-media-in-hand +rc-total-media-in-hand-02 +rc-trekstor +rc-tt-1500 +rc-twinhan-dtv-cab-ci +rc-twinhan1027 +rc-vega-s9x +rc-videomate-m1f +rc-videomate-s350 +rc-videomate-tv-pvr +rc-videostrong-kii-pro +rc-wetek-hub +rc-wetek-play2 +rc-winfast +rc-winfast-usbii-deluxe +rc-x96max +rc-xbox-360 +rc-xbox-dvd +rc-zx-irdec +rc5t583-regulator +rdacm20 +rdacm21 +rdc321x-southbridge +rdma_cm +rdma_rxe +rdma_ucm +rdmavt +rds +rds_rdma +rds_tcp +realtek +redboot +redrat3 +reed_solomon +regmap-i3c +regmap-sccb +regmap-sdw +regmap-sdw-mbq +regmap-slimbus +regmap-spi-avmm +regmap-spmi +regmap-w1 +regulator-haptic +reiserfs +repaper +reset-ti-syscon +resistive-adc-touch +retu-mfd +retu-pwrbutton +retu_wdt +rfc1051 +rfc1201 +rfcomm +rfd77402 +rfd_ftl +rfkill-gpio +rio-scan +rio_cm +rio_mport_cdev +rionet +rivafb +rj54n1cb0c +rm3100-core +rm3100-i2c +rm3100-spi +rmd160 +rmi_core +rmi_i2c +rmi_smbus +rmi_spi +rmnet +rnbd-client +rnbd-server +rndis_host +rndis_wlan +rockchip +rocker +rohm_bu21023 +romfs +rose +rotary_encoder +rp2 +rpcrdma +rpcsec_gss_krb5 +rpmsg_char +rpmsg_core +rpmsg_ctrl +rpmsg_ns +rpmsg_tty +rpmsg_wwan_ctrl +rpr0521 +rsi_91x +rsi_sdio +rsi_usb +rt1719 +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800mmio +rt2800pci +rt2800usb +rt2x00lib +rt2x00mmio +rt2x00pci +rt2x00usb +rt4801-regulator +rt4831 +rt4831-backlight +rt4831-regulator +rt5033 +rt5033-regulator +rt5033_battery +rt5190a-regulator +rt5759-regulator +rt6160-regulator +rt61pci +rt6245-regulator +rt73usb +rt9455_charger +rtc-88pm80x +rtc-88pm860x +rtc-ab-b5ze-s3 +rtc-ab-eoz9 +rtc-abx80x +rtc-bq32k +rtc-bq4802 +rtc-cros-ec +rtc-da9052 +rtc-da9055 +rtc-da9063 +rtc-ds1286 +rtc-ds1302 +rtc-ds1305 +rtc-ds1307 +rtc-ds1343 +rtc-ds1347 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1685 +rtc-ds1742 +rtc-ds2404 +rtc-ds3232 +rtc-em3027 +rtc-fm3130 +rtc-ftrtc010 +rtc-goldfish +rtc-hid-sensor-time +rtc-isl12022 +rtc-isl1208 +rtc-lp8788 +rtc-m41t80 +rtc-m41t93 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-max6916 +rtc-max8907 +rtc-max8925 +rtc-max8997 +rtc-max8998 +rtc-mc13xxx +rtc-mcp795 +rtc-msm6242 +rtc-mt6397 +rtc-palmas +rtc-pcap +rtc-pcf2123 +rtc-pcf2127 +rtc-pcf50633 +rtc-pcf85063 +rtc-pcf8523 +rtc-pcf85363 +rtc-pcf8563 +rtc-pcf8583 +rtc-r9701 +rtc-rc5t583 +rtc-rp5c01 +rtc-rs5c348 +rtc-rs5c372 +rtc-rv3028 +rtc-rv3029c2 +rtc-rv3032 +rtc-rv8803 +rtc-rx4581 +rtc-rx6110 +rtc-rx8010 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-sd3078 +rtc-stk17ta8 +rtc-tps6586x +rtc-tps65910 +rtc-v3020 +rtc-wilco-ec +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtd520 +rti800 +rti802 +rtl2830 +rtl2832 +rtl2832_sdr +rtl8150 +rtl8187 +rtl8188ee +rtl818x_pci +rtl8192c-common +rtl8192ce +rtl8192cu +rtl8192de +rtl8192ee +rtl8192se +rtl8365mb +rtl8366 +rtl8723-common +rtl8723ae +rtl8723be +rtl8821ae +rtl8xxxu +rtl_pci +rtl_usb +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +rtmv20-regulator +rtq2134-regulator +rtq6752-regulator +rtrs-client +rtrs-core +rtrs-server +rts5208 +rtsx_pci +rtsx_pci_ms +rtsx_pci_sdmmc +rtsx_usb +rtsx_usb_ms +rtsx_usb_sdmmc +rtw88_8723d +rtw88_8723de +rtw88_8821c +rtw88_8821ce +rtw88_8822b +rtw88_8822be +rtw88_8822c +rtw88_8822ce +rtw88_core +rtw88_pci +rtw89_8852a +rtw89_8852ae +rtw89_8852c +rtw89_8852ce +rtw89_core +rtw89_pci +rx51_battery +rxrpc +s1d13xxxfb +s2250 +s2255drv +s2io +s3fb +s3fwrn5 +s3fwrn5_i2c +s3fwrn82_uart +s526 +s5c73m3 +s5h1409 +s5h1411 +s5h1420 +s5h1432 +s5k4ecgx +s5k5baf +s5k6a3 +s5k6aa +s626 +s6sy761 +s921 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7134-go7007 +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +saa7706h +safe_serial +sample-trace-array +samsung-keypad +samsung-laptop +samsung-q10 +samsung-sxgbe +sata_dwc_460ex +sata_inic162x +sata_mv +sata_nv +sata_promise +sata_qstor +sata_sil +sata_sil24 +sata_sis +sata_svw +sata_sx4 +sata_uli +sata_via +sata_vsc +savagefb +sb1000 +sb_edac +sbc60xxwdt +sbc_epx_c3 +sbc_fitpc2_wdt +sbc_gxx +sbp_target +sbrmi +sbs +sbs-battery +sbs-charger +sbs-manager +sbshc +sbtsi_temp +sc1200wdt +sc16is7xx +sc92031 +sca3000 +sca3300 +scb2_flash +scd30_core +scd30_i2c +scd30_serial +scd4x +sch311x_wdt +sch5627 +sch5636 +sch56xx-common +sch_atm +sch_cake +sch_cbq +sch_cbs +sch_choke +sch_codel +sch_drr +sch_dsmark +sch_etf +sch_ets +sch_fq +sch_fq_codel +sch_fq_pie +sch_gred +sch_hfsc +sch_hhf +sch_htb +sch_ingress +sch_mqprio +sch_multiq +sch_netem +sch_pie +sch_plug +sch_prio +sch_qfq +sch_red +sch_sfb +sch_sfq +sch_skbprio +sch_taprio +sch_tbf +sch_teql +scr24x_cs +scsi_debug +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_spi +scsi_transport_srp +sctp +sctp_diag +sdhci +sdhci-acpi +sdhci-pci +sdhci-pltfm +sdhci-xenon-driver +sdhci_f_sdh30 +sdio_uart +sdricoh_cs +seco-cec +sensehat-joystick +sensorhub +serial-multi-instantiate +serial_cs +serial_ir +serio_raw +sermouse +serpent-avx-x86_64 +serpent-avx2 +serpent-sse2-x86_64 +serpent_generic +serport +ses +sf-pdma +sfc +sfc-falcon +sfc-siena +sfp +sgi_w1 +sgp30 +sgp40 +sha1-ssse3 +sha256-ssse3 +sha3_generic +sha512-ssse3 +shark2 +shiftfs +sht15 +sht21 +sht3x +sht4x +shtc1 +si1133 +si1145 +si2157 +si2165 +si2168 +si21xx +si4713 +si476x-core +si7005 +si7020 +sidewinder +sierra +sierra_net +sil164 +silead +sim710 +simatic-ipc +simatic-ipc-leds +simatic-ipc-wdt +simple-mfd-i2c +simpledrm +simplefb +siox-bus-gpio +siox-core +sis-agp +sis190 +sis5595 +sis900 +sis_i2c +sisfb +sisusbvga +sit +siw +sja1000 +sja1000_isa +sja1000_platform +sja1105 +skfp +skge +skx_edac +sky2 +sky81452 +sky81452-backlight +sky81452-regulator +sl811-hcd +sl811_cs +slcan +slg51000-regulator +slicoss +slim-qcom-ctrl +slimbus +slip +slram +sm2_generic +sm3 +sm3-avx-x86_64 +sm3_generic +sm4 +sm4-aesni-avx-x86_64 +sm4-aesni-avx2-x86_64 +sm4_generic +sm501 +sm501fb +sm712fb +sm750fb +sm_common +sm_ftl +smartpqi +smb347-charger +smc +smc91c92_cs +smc_diag +smipcie +smm665 +smsc +smsc37b787_wdt +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc911x +smsc9420 +smsc95xx +smscufx +smsdvb +smsmdtv +smssdio +smsusb +snd +snd-ac97-codec +snd-acp-config +snd-acp-i2s +snd-acp-legacy-mach +snd-acp-mach +snd-acp-pci +snd-acp-pcm +snd-acp-pdm +snd-acp-renoir +snd-acp-sof-mach +snd-acp3x-i2s +snd-acp3x-pcm-dma +snd-acp3x-pdm-dma +snd-acp3x-rn +snd-acp5x-i2s +snd-acp5x-pcm-dma +snd-acp6x-pdm-dma +snd-ad1889 +snd-ak4113 +snd-ak4114 +snd-ak4117 +snd-ak4xxx-adda +snd-ali5451 +snd-aloop +snd-als300 +snd-als4000 +snd-asihpi +snd-atiixp +snd-atiixp-modem +snd-au8810 +snd-au8820 +snd-au8830 +snd-aw2 +snd-azt3328 +snd-bcd2000 +snd-bebob +snd-bt87x +snd-ca0106 +snd-cmipci +snd-compress +snd-cs4281 +snd-cs46xx +snd-cs8427 +snd-ctl-led +snd-ctxfi +snd-darla20 +snd-darla24 +snd-dice +snd-dummy +snd-echo3g +snd-emu10k1 +snd-emu10k1-synth +snd-emu10k1x +snd-emux-synth +snd-ens1370 +snd-ens1371 +snd-es1938 +snd-es1968 +snd-fireface +snd-firewire-digi00x +snd-firewire-lib +snd-firewire-motu +snd-firewire-tascam +snd-fireworks +snd-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-ca0110 +snd-hda-codec-ca0132 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-cs8409 +snd-hda-codec-generic +snd-hda-codec-hdmi +snd-hda-codec-idt +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-core +snd-hda-cs-dsp-ctls +snd-hda-ext-core +snd-hda-intel +snd-hda-scodec-cs35l41 +snd-hda-scodec-cs35l41-i2c +snd-hda-scodec-cs35l41-spi +snd-hdmi-lpe-audio +snd-hdsp +snd-hdspm +snd-hrtimer +snd-hwdep +snd-i2c +snd-ice1712 +snd-ice1724 +snd-ice17xx-ak4xxx +snd-indigo +snd-indigodj +snd-indigodjx +snd-indigoio +snd-indigoiox +snd-intel-dspcfg +snd-intel-sdw-acpi +snd-intel-sst-acpi +snd-intel-sst-core +snd-intel-sst-pci +snd-intel8x0 +snd-intel8x0m +snd-isight +snd-korg1212 +snd-layla20 +snd-layla24 +snd-lola +snd-lx6464es +snd-maestro3 +snd-mia +snd-mixart +snd-mixer-oss +snd-mona +snd-mpu401 +snd-mpu401-uart +snd-mtpav +snd-mts64 +snd-nm256 +snd-opl3-lib +snd-opl3-synth +snd-oxfw +snd-oxygen +snd-oxygen-lib +snd-pci-acp3x +snd-pci-acp5x +snd-pci-acp6x +snd-pcm +snd-pcm-dmaengine +snd-pcsp +snd-pcxhr +snd-pdaudiocf +snd-portman2x4 +snd-pt2258 +snd-rawmidi +snd-riptide +snd-rme32 +snd-rme96 +snd-rme9652 +snd-rn-pci-acp3x +snd-sb-common +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-midi +snd-seq-midi-emul +snd-seq-midi-event +snd-seq-virmidi +snd-serial-u16550 +snd-skl_nau88l25_max98357a +snd-soc-63xx +snd-soc-ac97 +snd-soc-acp-da7219mx98357-mach +snd-soc-acp-rt5645-mach +snd-soc-acp-rt5682-mach +snd-soc-acp5x-mach +snd-soc-acp6x-mach +snd-soc-acpi +snd-soc-acpi-intel-match +snd-soc-adau-utils +snd-soc-adau1372 +snd-soc-adau1372-i2c +snd-soc-adau1372-spi +snd-soc-adau1701 +snd-soc-adau1761 +snd-soc-adau1761-i2c +snd-soc-adau1761-spi +snd-soc-adau17x1 +snd-soc-adau7002 +snd-soc-adau7118 +snd-soc-adau7118-hw +snd-soc-adau7118-i2c +snd-soc-adi-axi-i2s +snd-soc-adi-axi-spdif +snd-soc-ak4104 +snd-soc-ak4118 +snd-soc-ak4375 +snd-soc-ak4458 +snd-soc-ak4554 +snd-soc-ak4613 +snd-soc-ak4642 +snd-soc-ak5386 +snd-soc-ak5558 +snd-soc-alc5623 +snd-soc-arizona +snd-soc-avs +snd-soc-aw8738 +snd-soc-bd28623 +snd-soc-bt-sco +snd-soc-catpt +snd-soc-cml_rt1011_rt5682 +snd-soc-core +snd-soc-cros-ec-codec +snd-soc-cs35l32 +snd-soc-cs35l33 +snd-soc-cs35l34 +snd-soc-cs35l35 +snd-soc-cs35l36 +snd-soc-cs35l41 +snd-soc-cs35l41-i2c +snd-soc-cs35l41-lib +snd-soc-cs35l41-spi +snd-soc-cs35l45 +snd-soc-cs35l45-i2c +snd-soc-cs35l45-spi +snd-soc-cs35l45-tables +snd-soc-cs4234 +snd-soc-cs4265 +snd-soc-cs4270 +snd-soc-cs4271 +snd-soc-cs4271-i2c +snd-soc-cs4271-spi +snd-soc-cs42l42 +snd-soc-cs42l51 +snd-soc-cs42l51-i2c +snd-soc-cs42l52 +snd-soc-cs42l56 +snd-soc-cs42l73 +snd-soc-cs42xx8 +snd-soc-cs42xx8-i2c +snd-soc-cs43130 +snd-soc-cs4341 +snd-soc-cs4349 +snd-soc-cs53l30 +snd-soc-cx2072x +snd-soc-da7213 +snd-soc-da7219 +snd-soc-dmic +snd-soc-ehl-rt5660 +snd-soc-es7134 +snd-soc-es7241 +snd-soc-es8316 +snd-soc-es8328 +snd-soc-es8328-i2c +snd-soc-es8328-spi +snd-soc-fsl-asrc +snd-soc-fsl-audmix +snd-soc-fsl-easrc +snd-soc-fsl-esai +snd-soc-fsl-micfil +snd-soc-fsl-mqs +snd-soc-fsl-rpmsg +snd-soc-fsl-sai +snd-soc-fsl-spdif +snd-soc-fsl-ssi +snd-soc-fsl-xcvr +snd-soc-gtm601 +snd-soc-hdac-hda +snd-soc-hdac-hdmi +snd-soc-hdmi-codec +snd-soc-ics43432 +snd-soc-imx-audmux +snd-soc-inno-rk3036 +snd-soc-intel-hda-dsp-common +snd-soc-intel-sof-cirrus-common +snd-soc-intel-sof-maxim-common +snd-soc-intel-sof-realtek-common +snd-soc-kbl_da7219_max98357a +snd-soc-kbl_da7219_max98927 +snd-soc-kbl_rt5660 +snd-soc-kbl_rt5663_max98927 +snd-soc-kbl_rt5663_rt5514_max98927 +snd-soc-lpass-macro-common +snd-soc-lpass-rx-macro +snd-soc-lpass-tx-macro +snd-soc-lpass-va-macro +snd-soc-lpass-wsa-macro +snd-soc-max9759 +snd-soc-max98088 +snd-soc-max98090 +snd-soc-max98357a +snd-soc-max98373 +snd-soc-max98373-i2c +snd-soc-max98373-sdw +snd-soc-max98390 +snd-soc-max98396 +snd-soc-max98504 +snd-soc-max98520 +snd-soc-max9860 +snd-soc-max9867 +snd-soc-max98927 +snd-soc-msm8916-analog +snd-soc-msm8916-digital +snd-soc-mt6351 +snd-soc-mt6358 +snd-soc-mt6660 +snd-soc-nau8315 +snd-soc-nau8540 +snd-soc-nau8810 +snd-soc-nau8821 +snd-soc-nau8822 +snd-soc-nau8824 +snd-soc-nau8825 +snd-soc-pcm1681 +snd-soc-pcm1789-codec +snd-soc-pcm1789-i2c +snd-soc-pcm179x-codec +snd-soc-pcm179x-i2c +snd-soc-pcm179x-spi +snd-soc-pcm186x +snd-soc-pcm186x-i2c +snd-soc-pcm186x-spi +snd-soc-pcm3060 +snd-soc-pcm3060-i2c +snd-soc-pcm3060-spi +snd-soc-pcm3168a +snd-soc-pcm3168a-i2c +snd-soc-pcm3168a-spi +snd-soc-pcm5102a +snd-soc-pcm512x +snd-soc-pcm512x-i2c +snd-soc-pcm512x-spi +snd-soc-rk3328 +snd-soc-rl6231 +snd-soc-rl6347a +snd-soc-rt1011 +snd-soc-rt1015 +snd-soc-rt1015p +snd-soc-rt1019 +snd-soc-rt1308 +snd-soc-rt1308-sdw +snd-soc-rt1316-sdw +snd-soc-rt286 +snd-soc-rt298 +snd-soc-rt5514 +snd-soc-rt5514-spi +snd-soc-rt5616 +snd-soc-rt5631 +snd-soc-rt5640 +snd-soc-rt5645 +snd-soc-rt5651 +snd-soc-rt5659 +snd-soc-rt5660 +snd-soc-rt5663 +snd-soc-rt5670 +snd-soc-rt5677 +snd-soc-rt5677-spi +snd-soc-rt5682 +snd-soc-rt5682-i2c +snd-soc-rt5682-sdw +snd-soc-rt5682s +snd-soc-rt700 +snd-soc-rt711 +snd-soc-rt711-sdca +snd-soc-rt715 +snd-soc-rt715-sdca +snd-soc-rt9120 +snd-soc-sdw-mockup +snd-soc-sgtl5000 +snd-soc-si476x +snd-soc-sigmadsp +snd-soc-sigmadsp-i2c +snd-soc-sigmadsp-regmap +snd-soc-simple-amplifier +snd-soc-simple-card +snd-soc-simple-card-utils +snd-soc-simple-mux +snd-soc-skl +snd-soc-skl-ssp-clk +snd-soc-skl_hda_dsp +snd-soc-skl_nau88l25_ssm4567 +snd-soc-skl_rt286 +snd-soc-sof-sdw +snd-soc-sof-ssp-amp +snd-soc-sof_cs42l42 +snd-soc-sof_da7219_max98373 +snd-soc-sof_es8336 +snd-soc-sof_nau8825 +snd-soc-sof_rt5682 +snd-soc-spdif-rx +snd-soc-spdif-tx +snd-soc-ssm2305 +snd-soc-ssm2518 +snd-soc-ssm2602 +snd-soc-ssm2602-i2c +snd-soc-ssm2602-spi +snd-soc-ssm4567 +snd-soc-sst-atom-hifi2-platform +snd-soc-sst-bdw-rt5650-mach +snd-soc-sst-bdw-rt5677-mach +snd-soc-sst-broadwell +snd-soc-sst-bxt-da7219_max98357a +snd-soc-sst-bxt-rt298 +snd-soc-sst-byt-cht-cx2072x +snd-soc-sst-byt-cht-da7213 +snd-soc-sst-byt-cht-es8316 +snd-soc-sst-bytcr-rt5640 +snd-soc-sst-bytcr-rt5651 +snd-soc-sst-bytcr-wm5102 +snd-soc-sst-cht-bsw-max98090_ti +snd-soc-sst-cht-bsw-nau8824 +snd-soc-sst-cht-bsw-rt5645 +snd-soc-sst-cht-bsw-rt5672 +snd-soc-sst-dsp +snd-soc-sst-glk-rt5682_max98357a +snd-soc-sst-haswell +snd-soc-sst-ipc +snd-soc-sst-sof-pcm512x +snd-soc-sst-sof-wm8804 +snd-soc-sta32x +snd-soc-sta350 +snd-soc-sti-sas +snd-soc-tas2552 +snd-soc-tas2562 +snd-soc-tas2764 +snd-soc-tas2770 +snd-soc-tas5086 +snd-soc-tas571x +snd-soc-tas5720 +snd-soc-tas5805m +snd-soc-tas6424 +snd-soc-tda7419 +snd-soc-tfa9879 +snd-soc-tfa989x +snd-soc-tlv320adc3xxx +snd-soc-tlv320adcx140 +snd-soc-tlv320aic23 +snd-soc-tlv320aic23-i2c +snd-soc-tlv320aic23-spi +snd-soc-tlv320aic31xx +snd-soc-tlv320aic32x4 +snd-soc-tlv320aic32x4-i2c +snd-soc-tlv320aic32x4-spi +snd-soc-tlv320aic3x +snd-soc-tlv320aic3x-i2c +snd-soc-tlv320aic3x-spi +snd-soc-tpa6130a2 +snd-soc-ts3a227e +snd-soc-tscs42xx +snd-soc-tscs454 +snd-soc-uda1334 +snd-soc-wcd-mbhc +snd-soc-wcd9335 +snd-soc-wcd934x +snd-soc-wcd938x +snd-soc-wcd938x-sdw +snd-soc-wm-adsp +snd-soc-wm5102 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8524 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8731-i2c +snd-soc-wm8731-spi +snd-soc-wm8737 +snd-soc-wm8741 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8770 +snd-soc-wm8776 +snd-soc-wm8782 +snd-soc-wm8804 +snd-soc-wm8804-i2c +snd-soc-wm8804-spi +snd-soc-wm8903 +snd-soc-wm8904 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8962 +snd-soc-wm8974 +snd-soc-wm8978 +snd-soc-wm8985 +snd-soc-wsa881x +snd-soc-xlnx-formatter-pcm +snd-soc-xlnx-i2s +snd-soc-xlnx-spdif +snd-soc-xtfpga-i2s +snd-soc-zl38060 +snd-sof +snd-sof-acpi +snd-sof-acpi-intel-bdw +snd-sof-acpi-intel-byt +snd-sof-amd-acp +snd-sof-amd-renoir +snd-sof-intel-atom +snd-sof-intel-hda +snd-sof-intel-hda-common +snd-sof-pci +snd-sof-pci-intel-apl +snd-sof-pci-intel-cnl +snd-sof-pci-intel-icl +snd-sof-pci-intel-mtl +snd-sof-pci-intel-tgl +snd-sof-pci-intel-tng +snd-sof-probes +snd-sof-utils +snd-sof-xtensa-dsp +snd-sonicvibes +snd-timer +snd-trident +snd-ua101 +snd-usb-6fire +snd-usb-audio +snd-usb-caiaq +snd-usb-hiface +snd-usb-line6 +snd-usb-pod +snd-usb-podhd +snd-usb-toneport +snd-usb-us122l +snd-usb-usx2y +snd-usb-variax +snd-usbmidi-lib +snd-util-mem +snd-via82xx +snd-via82xx-modem +snd-virmidi +snd-virtuoso +snd-vx-lib +snd-vx222 +snd-vxpocket +snd-ymfpci +snd_xen_front +snic +snps_udc_core +soc_button_array +softdog +softing +softing_cs +solo6x10 +solos-pci +sony-btf-mpx +sony-laptop +soundcore +soundwire-bus +soundwire-cadence +soundwire-generic-allocation +soundwire-intel +soundwire-qcom +sp2 +sp5100_tco +sp8870 +sp887x +spaceball +spaceorb +sparse-keymap +spcp8x5 +spectrum_cs +speedfax +speedstep-lib +speedtch +spi-altera-core +spi-altera-dfl +spi-altera-platform +spi-amd +spi-axi-spi-engine +spi-bitbang +spi-butterfly +spi-cadence +spi-dln2 +spi-dw +spi-dw-mmio +spi-dw-pci +spi-gpio +spi-lantiq-ssc +spi-lm70llp +spi-loopback-test +spi-mux +spi-mxic +spi-nor +spi-nxp-fspi +spi-oc-tiny +spi-pxa2xx-pci +spi-pxa2xx-platform +spi-rockchip +spi-sc18is602 +spi-sifive +spi-slave-system-control +spi-slave-time +spi-tle62x0 +spi-xcomm +spi-zynqmp-gqspi +spi_ks8995 +spidev +spinand +spl +spmi +sprd_serial +sps30 +sps30_i2c +sps30_serial +sr030pc30 +sr9700 +sr9800 +srf04 +srf08 +ssb +ssb-hcd +ssd1307fb +ssd130x +ssd130x-i2c +ssd130x-spi +ssfdc +ssp_accel_sensor +ssp_gyro_sensor +ssp_iio +sst25l +sstfb +ssu100 +st +st-mipid02 +st-nci +st-nci_i2c +st-nci_spi +st1232 +st21nfca_hci +st21nfca_i2c +st7586 +st7735r +st95hf +st_accel +st_accel_i2c +st_accel_spi +st_drv +st_gyro +st_gyro_i2c +st_gyro_spi +st_lsm6dsx +st_lsm6dsx_i2c +st_lsm6dsx_i3c +st_lsm6dsx_spi +st_lsm9ds0 +st_lsm9ds0_i2c +st_lsm9ds0_spi +st_magn +st_magn_i2c +st_magn_spi +st_pressure +st_pressure_i2c +st_pressure_spi +st_sensors +st_sensors_i2c +st_sensors_spi +st_uvis25_core +st_uvis25_i2c +st_uvis25_spi +starfire +stb0899 +stb6000 +stb6100 +ste10Xp +stex +stinger +stk1160 +stk3310 +stk8312 +stk8ba50 +stkwebcam +stm_console +stm_core +stm_ftrace +stm_heartbeat +stm_p_basic +stm_p_sys-t +stmfts +stmmac +stmmac-pci +stmmac-platform +stowaway +stp +stpddc60 +streamzap +streebog_generic +stts751 +stusb160x +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv0910 +stv6110 +stv6110x +stv6111 +stx104 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrise_co2 +sunrpc +sur40 +surface3-wmi +surface3_power +surface3_spi +surface_acpi_notify +surface_aggregator +surface_aggregator_cdev +surface_aggregator_registry +surface_battery +surface_charger +surface_dtx +surface_gpe +surface_hid +surface_hid_core +surface_hotplug +surface_kbd +surface_platform_profile +surfacepro3_button +svc-i3c-master +svgalib +switchtec +sx8 +sx8654 +sx9310 +sx9324 +sx9360 +sx9500 +sx_common +sy7636a-hwmon +sy7636a-regulator +sym53c500_cs +sym53c8xx +symbolserial +synaptics_i2c +synaptics_usb +synclink_cs +synclink_gt +syscopyarea +sysfillrect +sysimgblt +system76_acpi +sysv +t5403 +tag_ar9331 +tag_brcm +tag_dsa +tag_gswip +tag_hellcreek +tag_ksz +tag_lan9303 +tag_mtk +tag_ocelot +tag_ocelot_8021q +tag_qca +tag_rtl4_a +tag_rtl8_4 +tag_sja1105 +tag_trailer +tag_xrs700x +tap +target_core_file +target_core_iblock +target_core_mod +target_core_pscsi +target_core_user +tc-dwc-g210 +tc-dwc-g210-pci +tc-dwc-g210-pltfrm +tc358743 +tc654 +tc74 +tc90522 +tca6416-keypad +tca8418_keypad +tcan4x5x +tcm_fc +tcm_loop +tcm_qla2xxx +tcm_usb_gadget +tcp_bbr +tcp_bic +tcp_cdg +tcp_dctcp +tcp_diag +tcp_highspeed +tcp_htcp +tcp_hybla +tcp_illinois +tcp_lp +tcp_nv +tcp_scalable +tcp_vegas +tcp_veno +tcp_westwood +tcp_yeah +tcpci +tcpci_maxim +tcpci_mt6360 +tcpci_rt1711h +tcpm +tcrypt +tcs3414 +tcs3472 +tda10021 +tda10023 +tda10048 +tda1004x +tda10071 +tda10086 +tda18212 +tda18218 +tda18250 +tda18271 +tda18271c2dd +tda1997x +tda665x +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tda9950 +tda998x +tdfxfb +tdo24m +tdx-guest +tea575x +tea5761 +tea5767 +tea6415c +tea6420 +team +team_mode_activebackup +team_mode_broadcast +team_mode_loadbalance +team_mode_random +team_mode_roundrobin +tee +tef6862 +tehuti +teranetics +test_blackhole_dev +test_bpf +test_power +tg3 +thermal-generic-adc +think-lmi +thinkpad_acpi +thmc50 +ths7303 +ths8200 +thunder_bgx +thunder_xcv +thunderbolt +thunderbolt-net +ti-adc081c +ti-adc0832 +ti-adc084s021 +ti-adc108s102 +ti-adc12138 +ti-adc128s052 +ti-adc161s626 +ti-ads1015 +ti-ads124s08 +ti-ads131e08 +ti-ads7950 +ti-ads8344 +ti-ads8688 +ti-dac082s085 +ti-dac5571 +ti-dac7311 +ti-dac7612 +ti-lmu +ti-tlc4541 +ti-tsc2046 +ti_am335x_adc +ti_am335x_tsc +ti_am335x_tscadc +ti_usb_3410_5052 +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +timeriomem-rng +tipc +tlan +tlclk +tls +tlv320aic23b +tm2-touchkey +tm6000 +tm6000-alsa +tm6000-dvb +tmdc +tmp006 +tmp007 +tmp102 +tmp103 +tmp108 +tmp117 +tmp401 +tmp421 +tmp464 +tmp513 +topstar-laptop +toshiba_acpi +toshiba_bluetooth +toshiba_haps +toshsd +touchit213 +touchright +touchwin +tpci200 +tpl0102 +tpm_atmel +tpm_i2c_atmel +tpm_i2c_infineon +tpm_i2c_nuvoton +tpm_infineon +tpm_nsc +tpm_st33zp24 +tpm_st33zp24_i2c +tpm_st33zp24_spi +tpm_tis_i2c_cr50 +tpm_tis_spi +tpm_vtpm_proxy +tps23861 +tps40422 +tps51632-regulator +tps53679 +tps6105x +tps6105x-regulator +tps62360-regulator +tps65010 +tps65023-regulator +tps6507x +tps6507x-regulator +tps6507x-ts +tps65086 +tps65086-regulator +tps65090-charger +tps65090-regulator +tps65132-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +tps6598x +tps68470-regulator +tqmx86 +tqmx86_wdt +trace-printk +trancevibrator +trf7970a +tridentfb +ts2020 +ts_bm +ts_fsm +ts_kmp +tsc2004 +tsc2005 +tsc2007 +tsc200x-core +tsc40 +tsi721_mport +tsl2550 +tsl2563 +tsl2583 +tsl2591 +tsl2772 +tsl4531 +tsnep +tsys01 +tsys02d +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +ttusbir +ttynull +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tunnel4 +tunnel6 +turbografx +tvaudio +tveeprom +tvp514x +tvp5150 +tvp7002 +tw2804 +tw5864 +tw68 +tw686x +tw9903 +tw9906 +tw9910 +twidjoy +twl-regulator +twl4030-madc +twl4030-pwrbutton +twl4030-vibra +twl4030_charger +twl4030_keypad +twl4030_madc_battery +twl4030_wdt +twl6030-gpadc +twl6030-regulator +twl6040-vibra +twofish-avx-x86_64 +twofish-x86_64 +twofish-x86_64-3way +twofish_common +twofish_generic +typec +typec_displayport +typec_nvidia +typec_ucsi +typhoon +u132-hcd +uPD60620 +u_audio +u_ether +u_serial +uacce +uartlite +uas +ubi +ubifs +ubuntu-host +ucan +ucb1400_core +ucb1400_ts +ucd9000 +ucd9200 +ucsi_acpi +ucsi_ccg +uda1342 +udc-core +udf +udl +udlfb +udp_diag +udp_tunnel +ueagle-atm +ufs +ufshcd-core +ufshcd-dwc +ufshcd-pci +ufshcd-pltfrm +ug3105_battery +uhid +uio +uio_aec +uio_cif +uio_dfl +uio_dmem_genirq +uio_hv_generic +uio_mf624 +uio_netx +uio_pci_generic +uio_pdrv_genirq +uio_pruss +uio_sercos3 +uleds +uli526x +ulpi +ums-alauda +ums-cypress +ums-datafab +ums-eneub6250 +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-realtek +ums-sddr09 +ums-sddr55 +ums-usbat +unix_diag +upd64031a +upd64083 +upd78f0730 +us5182d +usb-conn-gpio +usb-serial-simple +usb-storage +usb251xb +usb3503 +usb4604 +usb8xxx +usb_8dev +usb_debug +usb_f_acm +usb_f_ecm +usb_f_ecm_subset +usb_f_eem +usb_f_fs +usb_f_hid +usb_f_mass_storage +usb_f_midi +usb_f_ncm +usb_f_obex +usb_f_phonet +usb_f_printer +usb_f_rndis +usb_f_serial +usb_f_ss_lb +usb_f_tcm +usb_f_uac1 +usb_f_uac1_legacy +usb_f_uac2 +usb_f_uvc +usb_wwan +usbatm +usbdux +usbduxfast +usbduxsigma +usbhid +usbip-core +usbip-host +usbip-vudc +usbkbd +usblcd +usblp +usbmon +usbmouse +usbnet +usbserial +usbsevseg +usbtest +usbtmc +usbtouchscreen +usbtv +usdhi6rol0 +userio +userspace-consumer +ushc +usnic_verbs +uss720 +uv_mmtimer +uv_sysfs +uvcvideo +uvesafb +v4l2-async +v4l2-dv-timings +v4l2-flash-led-class +v4l2-fwnode +v4l2-mem2mem +v4l2-tpg +v4l2loopback +vboxguest +vboxsf +vboxvideo +vcan +vcnl3020 +vcnl4000 +vcnl4035 +vdpa +vdpa_sim +vdpa_sim_blk +vdpa_sim_net +vduse +veml6030 +veml6070 +ves1820 +ves1x93 +veth +vf610_dac +vga16fb +vgastate +vgem +vgg2432a4 +vhci-hcd +vhost +vhost_iotlb +vhost_net +vhost_scsi +vhost_vdpa +vhost_vsock +via-camera +via-cputemp +via-rhine +via-rng +via-sdmmc +via-velocity +via686a +via_wdt +viafb +vicodec +video +video-i2c +videobuf-core +videobuf-dma-sg +videobuf-vmalloc +videobuf2-common +videobuf2-dma-contig +videobuf2-dma-sg +videobuf2-dvb +videobuf2-memops +videobuf2-v4l2 +videobuf2-vmalloc +videodev +vim2m +vimc +viperboard +viperboard_adc +virt_wifi +virtio-gpu +virtio-rng +virtio_blk +virtio_bt +virtio_crypto +virtio_dma_buf +virtio_input +virtio_mem +virtio_net +virtio_pmem +virtio_rpmsg_bus +virtio_snd +virtio_vdpa +virtiofs +virtual +virtual_ncidev +visor +vitesse +vitesse-vsc73xx-core +vitesse-vsc73xx-platform +vitesse-vsc73xx-spi +vivid +vkms +vl53l0x-i2c +vl6180 +vmac +vmd +vme_ca91cx42 +vme_fake +vme_tsi148 +vme_user +vme_vmivme7805 +vmgenid +vmk80xx +vmlfb +vmw_balloon +vmw_pvrdma +vmw_pvscsi +vmw_vmci +vmw_vsock_virtio_transport +vmw_vsock_virtio_transport_common +vmw_vsock_vmci_transport +vmwgfx +vmxnet3 +vp27smpx +vp_vdpa +vport-geneve +vport-gre +vport-vxlan +vpx3220 +vrf +vringh +vs6624 +vsock +vsock_diag +vsock_loopback +vsockmon +vsxxxaa +vt1211 +vt6655_stage +vt6656_stage +vt8231 +vt8623fb +vub300 +vx855 +vxcan +vxge +vxlan +vz89x +w1-gpio +w1_ds2405 +w1_ds2406 +w1_ds2408 +w1_ds2413 +w1_ds2423 +w1_ds2430 +w1_ds2431 +w1_ds2433 +w1_ds2438 +w1_ds250x +w1_ds2780 +w1_ds2781 +w1_ds2805 +w1_ds28e04 +w1_ds28e17 +w1_smem +w1_therm +w5100 +w5100-spi +w5300 +w6692 +w83627ehf +w83627hf +w83627hf_wdt +w83773g +w83781d +w83791d +w83792d +w83793 +w83795 +w83877f_wdt +w83977f_wdt +w83l785ts +w83l786ng +wacom +wacom_i2c +wacom_serial4 +wacom_w8001 +wafer5823wdt +walkera0701 +wanxl +warrior +wbsd +wcd934x +wcn36xx +wd719x +wdat_wdt +wdt87xx_i2c +wdt_pci +wfx +whiteheat +wil6210 +wilc1000 +wilc1000-sdio +wilc1000-spi +wilco-charger +wilco_ec +wilco_ec_debugfs +wilco_ec_events +wilco_ec_telem +winbond-840 +winbond-cir +winmate-fm07-keys +wire +wireguard +wireless-hotkey +wishbone-serial +wl1251 +wl1251_sdio +wl1251_spi +wl1273-core +wl12xx +wl18xx +wl3501_cs +wlcore +wlcore_sdio +wm831x-dcdc +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x-ts +wm831x_backup +wm831x_bl +wm831x_power +wm831x_wdt +wm8350-hwmon +wm8350-regulator +wm8350_power +wm8350_wdt +wm8400-regulator +wm8739 +wm8775 +wm8994 +wm8994-regulator +wm97xx-ts +wmi +wmi-bmof +wp512 +wusb3801 +wwan_hwsim +x25 +x38_edac +x86-android-tablets +x86_pkg_temp_thermal +x_tables +xbox_remote +xc2028 +xc4000 +xc5000 +xcbc +xdpe12284 +xdpe152c4 +xen-blkback +xen-evtchn +xen-fbfront +xen-front-pgdir-shbuf +xen-gntalloc +xen-gntdev +xen-hcd +xen-kbdfront +xen-netback +xen-pciback +xen-pcifront +xen-privcmd +xen-scsiback +xen-scsifront +xen-tpmfront +xen_wdt +xenfs +xfrm4_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_compat +xfrm_interface +xfrm_ipcomp +xfrm_user +xfs +xgene-hwmon +xhci-pci +xhci-pci-renesas +xhci-plat-hcd +xiaomi-wmi +xilinx-pr-decoupler +xilinx-spi +xilinx-xadc +xilinx_emac +xilinx_emaclite +xilinx_gmii2rgmii +xilinx_sdfec +xillybus_class +xillybus_core +xillybus_pcie +xillyusb +xiphera-trng +xirc2ps_cs +xircom_cb +xlnx_vcu +xor +xp +xpad +xpc +xpnet +xr_serial +xrs700x +xrs700x_i2c +xrs700x_mdio +xsens_mt +xsk_diag +xt_AUDIT +xt_CHECKSUM +xt_CLASSIFY +xt_CONNSECMARK +xt_CT +xt_DSCP +xt_HL +xt_HMARK +xt_IDLETIMER +xt_LED +xt_LOG +xt_MASQUERADE +xt_NETMAP +xt_NFLOG +xt_NFQUEUE +xt_RATEEST +xt_REDIRECT +xt_SECMARK +xt_TCPMSS +xt_TCPOPTSTRIP +xt_TEE +xt_TPROXY +xt_TRACE +xt_addrtype +xt_bpf +xt_cgroup +xt_cluster +xt_comment +xt_connbytes +xt_connlabel +xt_connlimit +xt_connmark +xt_conntrack +xt_cpu +xt_dccp +xt_devgroup +xt_dscp +xt_ecn +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_ipcomp +xt_iprange +xt_ipvs +xt_l2tp +xt_length +xt_limit +xt_mac +xt_mark +xt_multiport +xt_nat +xt_nfacct +xt_osf +xt_owner +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_rateest +xt_realm +xt_recent +xt_sctp +xt_set +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_tcpudp +xt_time +xt_u32 +xtkbd +xusbatm +xxhash_generic +xz_dec_test +yam +yamaha-yas530 +yealink +yellowfin +yenta_socket +yurex +z3fold +zaurus +zavl +zcommon +zd1201 +zd1211rw +zd1301 +zd1301_demod +zet6223 +zforce_ts +zfs +zhenhua +ziirave_wdt +zinitix +zl10036 +zl10039 +zl10353 +zl6100 +zlua +znvpair +zonefs +zopt2201 +zpa2326 +zpa2326_i2c +zpa2326_spi +zr36067 +zr364xx +zram +zstd +zunicode +zzstd --- linux-gcp-5.19.0.orig/debian.gcp/abi/amd64/gcp.retpoline +++ linux-gcp-5.19.0/debian.gcp/abi/amd64/gcp.retpoline @@ -0,0 +1 @@ +# retpoline v1.0 --- linux-gcp-5.19.0.orig/debian.gcp/abi/arm64/gcp +++ linux-gcp-5.19.0/debian.gcp/abi/arm64/gcp @@ -0,0 +1,27357 @@ +ACPI EXPORT_SYMBOL_GPL 0xc331c3c7 acpi_table_parse_cedt vmlinux +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x173644a8 otx2_cpt_read_af_reg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x1a6d9271 otx2_cpt_send_ready_msg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x259e0b8d otx2_cptlf_unregister_interrupts drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x3593d7a4 otx2_cptlf_free_irqs_affinity drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x3799127d otx2_cptlf_set_irqs_affinity drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x39cd8468 otx2_cpt_msix_offset_msg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x627c7210 otx2_cptlf_init drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x7c11f4a9 otx2_cptlf_register_interrupts drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x9320ad3a otx2_cpt_send_mbox_msg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xa4dbe71c otx2_cpt_sync_mbox_msg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xb1c234b9 otx2_cptlf_shutdown drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xbfe437ce cn10k_cptpf_lmtst_init drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xc0974593 otx2_cpt_add_write_af_reg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xc4cb7887 otx2_cpt_send_af_reg_requests drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xc79a8073 cn10k_cptvf_lmtst_init drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xd3ddbc41 otx2_cpt_write_af_reg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xdfb450e0 otx2_cpt_detach_rsrcs_msg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0x70fb81c6 crypto_cipher_encrypt_one vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0x725696a7 crypto_cipher_decrypt_one vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0xd4bbbdb6 crypto_cipher_setkey vmlinux +CXL EXPORT_SYMBOL_GPL 0x055c6ee3 cxl_mem_active_inc vmlinux +CXL EXPORT_SYMBOL_GPL 0x09167c98 to_cxl_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x0f578131 cxl_decoder_autoremove drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x155b34f3 cxl_dev_state_identify drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x1f6c0388 cxl_find_dport_by_dev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x2747210c find_cxl_root drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x2e7b53d3 cxl_switch_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x31fc64d2 cxl_bus_rescan drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x33e2aa93 cxl_mem_active_dec vmlinux +CXL EXPORT_SYMBOL_GPL 0x365ea19f to_cxl_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x4008d384 cxl_find_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x4258fea1 devm_cxl_add_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x49d8a2e9 cxl_bus_type drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x4bb36b2d cxl_mem_create_range_info drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x4bbc0430 devm_cxl_add_memdev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x4d8645b4 is_cxl_memdev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x4df8cff5 cxl_map_component_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x50949c3f cxl_await_media_ready drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x52de002b devm_cxl_enumerate_decoders drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x5611dba0 cxl_dev_state_create drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x5eef7945 cxl_port_to_pci_bus drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x65f7ddc5 devm_cxl_add_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x68fe12e3 cxl_mbox_send_cmd drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x6cd4eade clear_exclusive_cxl_commands drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x760e8f96 cxl_decoder_add drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7658ab80 devm_cxl_add_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7a1e3e6e is_cxl_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7dbeae8b devm_cxl_add_dport drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7f5faf67 devm_cxl_add_passthrough_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x84126bf8 is_root_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x9e4a5498 cxl_mem_find_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xa3802179 cxl_root_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xa71891e8 to_cxl_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xa9ff2ad5 devm_cxl_port_enumerate_dports drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xb231d098 devm_cxl_enumerate_ports drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xb6b18806 set_exclusive_cxl_commands drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xc595dc11 is_cxl_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xc757ffc4 devm_cxl_setup_hdm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xc7626e68 devm_cxl_register_pci_bus drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xcfe2dc62 schedule_cxl_memdev_detach drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xdea5ea88 cxl_decoder_add_locked drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xdf2ff7a7 cxl_endpoint_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xdf599765 is_cxl_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xdf5b0a15 cxl_probe_component_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xe4e429fd __cxl_driver_register drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xe7eedbdc is_cxl_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xf0b55eb8 cxl_driver_unregister drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xf25533bf cxl_endpoint_autoremove drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xf2a08520 cxl_hdm_decode_init drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xf2c65e14 cxl_find_regblock drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xf926b77f cxl_enumerate_cmds drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xfa4e2acb to_cxl_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xfb1b58a8 cxl_probe_device_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xffdc367a cxl_map_device_regs drivers/cxl/core/cxl_core +DMA_BUF EXPORT_SYMBOL_GPL 0x076b1b4d dma_buf_attach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x2084d427 dma_buf_export vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x28957459 dma_buf_begin_cpu_access vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x3a7d6b1f dma_buf_unpin vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x5352e9ef dma_buf_detach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x5894aa97 dma_buf_unmap_attachment vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x5e684b23 dma_buf_vunmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x61aed878 dma_buf_vmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7bb07e07 dma_buf_dynamic_attach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x84e7fc27 dma_buf_map_attachment vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x8798e365 dma_buf_mmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x8e5a81da dma_buf_pin vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x994a7813 dma_buf_fd vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xaae0b160 dma_buf_get vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xcd9a35b4 dma_buf_move_notify vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xf0af7820 dma_buf_end_cpu_access vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xf3e657d8 dma_buf_put vmlinux +DRM_SSD130X EXPORT_SYMBOL_GPL 0x33cf1f58 ssd130x_variants drivers/gpu/drm/solomon/ssd130x +EXPORT_SYMBOL arch/arm64/crypto/aes-ce-cipher 0x68f275ad ce_aes_expandkey +EXPORT_SYMBOL arch/arm64/crypto/aes-ce-cipher 0xce9ee045 ce_aes_setkey +EXPORT_SYMBOL arch/arm64/crypto/aes-neon-blk 0x52d67a4e neon_aes_cbc_encrypt +EXPORT_SYMBOL arch/arm64/crypto/aes-neon-blk 0xb8c706a6 neon_aes_ctr_encrypt +EXPORT_SYMBOL arch/arm64/crypto/aes-neon-blk 0xd5f41819 neon_aes_ecb_encrypt +EXPORT_SYMBOL arch/arm64/crypto/aes-neon-blk 0xea11590c neon_aes_xts_encrypt +EXPORT_SYMBOL arch/arm64/crypto/aes-neon-blk 0xefc32a9b neon_aes_xts_decrypt +EXPORT_SYMBOL arch/arm64/crypto/chacha-neon 0x220b49ab chacha_crypt_arch +EXPORT_SYMBOL arch/arm64/crypto/chacha-neon 0xdc94f829 chacha_init_arch +EXPORT_SYMBOL arch/arm64/crypto/chacha-neon 0xdd8ec6bd hchacha_block_arch +EXPORT_SYMBOL arch/arm64/crypto/poly1305-neon 0x1c3e6e5b poly1305_init_arch +EXPORT_SYMBOL arch/arm64/crypto/poly1305-neon 0x6ddf27bc poly1305_update_arch +EXPORT_SYMBOL arch/arm64/crypto/poly1305-neon 0xf39f5240 poly1305_final_arch +EXPORT_SYMBOL arch/arm64/crypto/sha256-arm64 0xb455924d sha256_block_data_order +EXPORT_SYMBOL arch/arm64/crypto/sha512-arm64 0x6402c8df sha512_block_data_order +EXPORT_SYMBOL arch/arm64/lib/xor-neon 0xdb786e41 xor_block_inner_neon +EXPORT_SYMBOL crypto/blake2b_generic 0x32e24c8a blake2b_compress_generic +EXPORT_SYMBOL crypto/ecc 0x16e410ff vli_from_be64 +EXPORT_SYMBOL crypto/ecc 0x188a1647 ecc_is_pubkey_valid_full +EXPORT_SYMBOL crypto/ecc 0x1a5faa3a vli_mod_inv +EXPORT_SYMBOL crypto/ecc 0x4c281912 vli_is_zero +EXPORT_SYMBOL crypto/ecc 0x671f7aa5 ecc_is_key_valid +EXPORT_SYMBOL crypto/ecc 0x7c0fbb00 vli_mod_mult_slow +EXPORT_SYMBOL crypto/ecc 0x8261eccb ecc_get_curve25519 +EXPORT_SYMBOL crypto/ecc 0x8e688192 ecc_alloc_point +EXPORT_SYMBOL crypto/ecc 0x90cdc197 ecc_free_point +EXPORT_SYMBOL crypto/ecc 0x9263b417 ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x92668805 vli_cmp +EXPORT_SYMBOL crypto/ecc 0x932b6ff7 vli_num_bits +EXPORT_SYMBOL crypto/ecc 0x9f6efabd vli_sub +EXPORT_SYMBOL crypto/ecc 0xa76b31a2 crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0xb10fc19e ecc_get_curve +EXPORT_SYMBOL crypto/ecc 0xd6315f31 ecc_gen_privkey +EXPORT_SYMBOL crypto/ecc 0xd94c8eb5 ecc_point_is_zero +EXPORT_SYMBOL crypto/ecc 0xde867c29 ecc_is_pubkey_valid_partial +EXPORT_SYMBOL crypto/ecc 0xeac9b99a vli_from_le64 +EXPORT_SYMBOL crypto/ecc 0xed4ae15e ecc_make_pub_key +EXPORT_SYMBOL crypto/nhpoly1305 0x6ae18a1b crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0x6bb536d9 crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/nhpoly1305 0x8715a05f crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/nhpoly1305 0x9c522940 crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/nhpoly1305 0xb504d9dc crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/nhpoly1305 0xd7f3028a crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/sha3_generic 0x4cc65017 crypto_sha3_final +EXPORT_SYMBOL crypto/sha3_generic 0x5c862df6 crypto_sha3_update +EXPORT_SYMBOL crypto/sha3_generic 0xbedc881b crypto_sha3_init +EXPORT_SYMBOL crypto/sm2_generic 0x03c992e3 sm2_compute_z_digest +EXPORT_SYMBOL crypto/sm4 0x2b098da5 crypto_sm4_ck +EXPORT_SYMBOL crypto/sm4 0x7931a202 crypto_sm4_fk +EXPORT_SYMBOL crypto/sm4 0xf4fd3bd2 crypto_sm4_sbox +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/acpi/nfit/nfit 0x06848c60 to_nfit_uuid +EXPORT_SYMBOL drivers/atm/suni 0xbd2c6f0e suni_init +EXPORT_SYMBOL drivers/bcma/bcma 0x32923e7c bcma_core_irq +EXPORT_SYMBOL drivers/bcma/bcma 0x70010ace bcma_core_dma_translation +EXPORT_SYMBOL drivers/block/drbd/drbd 0x127a5901 drbd_set_st_err_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x35131b36 drbd_role_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x7730f22d drbd_conn_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0xaf27bebf drbd_disk_str +EXPORT_SYMBOL drivers/block/paride/paride 0x0b868e41 pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x12b76d34 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x176b7de4 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x4267110a pi_register_driver +EXPORT_SYMBOL drivers/block/paride/paride 0x5014f6b8 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x583ed311 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x5b1fa7e3 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0xb21ba07d pi_unregister_driver +EXPORT_SYMBOL drivers/block/paride/paride 0xb3b4fb75 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xb3f01a73 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0xb575d778 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0xca5e7464 paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0xdffcdc69 pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xe5200a28 pi_release +EXPORT_SYMBOL drivers/bluetooth/btbcm 0x055ba1d7 btbcm_patchram +EXPORT_SYMBOL drivers/bluetooth/btrsi 0x50737469 rsi_bt_ops +EXPORT_SYMBOL drivers/bus/mhi/host/mhi 0xfcc2b715 mhi_sync_power_up +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x03bc993e ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0705dd14 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x12dd1e77 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1ea099e6 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1f65170f ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x230094ac ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4c2054d7 ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x50f65edf ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x67369b42 ipmi_addr_src_to_str +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x74778a80 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x779959e7 ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x80aa4656 ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x89a5279a ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x96a6e5e8 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa6ad16ee ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xaca90ebd ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xae71627d ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd12a2d2b ipmi_add_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd54a5050 ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4330a39 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe98c507d ipmb_checksum +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xec1c2a90 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf388b18b ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf5531bea ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfaaa4831 ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfe0f2369 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x6ac2ffb8 st33zp24_pm_resume +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x7e7e85f6 st33zp24_pm_suspend +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x8a615d1f st33zp24_probe +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xa7db71ed st33zp24_remove +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0x4905148c xillybus_find_inode +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0x6cb47d38 xillybus_init_chrdev +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0x73107a94 xillybus_cleanup_chrdev +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x0d345124 xillybus_endpoint_discovery +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x127256d4 xillybus_init_endpoint +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x25978d50 xillybus_isr +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x93e9262c xillybus_endpoint_remove +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0x25c98843 clk_alpha_pll_zonda_ops +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0xa03f8920 clk_alpha_pll_postdiv_lucid_5lpe_ops +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0xd89a02cf clk_alpha_pll_fixed_lucid_5lpe_ops +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0xed46e5cc clk_alpha_pll_lucid_5lpe_ops +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x652915b8 atmel_i2c_enqueue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x80a11b1d atmel_i2c_init_read_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xacf41c57 atmel_i2c_probe +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc71ed50c atmel_i2c_init_genkey_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc80f14e8 atmel_i2c_flush_queue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xd91d4256 atmel_i2c_send_receive +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xf283e995 atmel_i2c_init_random_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xfaab573f atmel_i2c_init_ecdh_cmd +EXPORT_SYMBOL drivers/crypto/caam/caam 0x153488d4 caam_drv_ctx_update +EXPORT_SYMBOL drivers/crypto/caam/caam 0x17572340 caam_congested +EXPORT_SYMBOL drivers/crypto/caam/caam 0x37734e06 caam_dpaa2 +EXPORT_SYMBOL drivers/crypto/caam/caam 0x44ae4bc4 qi_cache_free +EXPORT_SYMBOL drivers/crypto/caam/caam 0x68aec9f7 caam_drv_ctx_rel +EXPORT_SYMBOL drivers/crypto/caam/caam 0x77bd2c10 caam_drv_ctx_init +EXPORT_SYMBOL drivers/crypto/caam/caam 0xc0eaa792 qi_cache_alloc +EXPORT_SYMBOL drivers/crypto/caam/caam 0xd84bf2ad caam_qi_enqueue +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x0388639b caam_jr_alloc +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x1768f050 caam_jr_free +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x90664dda gen_split_key +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0xa22d8938 caam_jr_enqueue +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0xc1bf3339 split_key_done +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x2e152bb7 cnstr_shdsc_xts_skcipher_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x3b54a9ad cnstr_shdsc_aead_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x76a68e3e cnstr_shdsc_chachapoly +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7b0c587f cnstr_shdsc_rfc4543_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7b7bcab8 cnstr_shdsc_rfc4543_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x86bcdec7 cnstr_shdsc_xts_skcipher_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x88430d4c cnstr_shdsc_aead_null_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x91ac0969 cnstr_shdsc_aead_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xa3115081 cnstr_shdsc_skcipher_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xa340e264 cnstr_shdsc_aead_givencap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xa99d7fa6 cnstr_shdsc_aead_null_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xebcdd349 cnstr_shdsc_skcipher_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xf92c5da5 cnstr_shdsc_gcm_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xf95bcf62 cnstr_shdsc_gcm_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xfd807e48 cnstr_shdsc_rfc4106_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xfdf7ec8f cnstr_shdsc_rfc4106_encap +EXPORT_SYMBOL drivers/crypto/caam/caamhash_desc 0x30a1e372 cnstr_shdsc_sk_hash +EXPORT_SYMBOL drivers/crypto/caam/caamhash_desc 0xb5571dbf cnstr_shdsc_ahash +EXPORT_SYMBOL drivers/crypto/caam/dpaa2_caam 0xdaf5a162 dpaa2_caam_enqueue +EXPORT_SYMBOL drivers/crypto/caam/error 0x53d0fc97 caam_ptr_sz +EXPORT_SYMBOL drivers/crypto/caam/error 0x5dab4143 caam_strstatus +EXPORT_SYMBOL drivers/crypto/caam/error 0xa51f16c7 caam_little_end +EXPORT_SYMBOL drivers/crypto/caam/error 0xbd67c092 caam_imx +EXPORT_SYMBOL drivers/crypto/caam/error 0xd25da602 caam_dump_sg +EXPORT_SYMBOL drivers/dma/xilinx/xilinx_dma 0x6d4ab88f xilinx_vdma_channel_set_config +EXPORT_SYMBOL drivers/firewire/firewire-core 0x06e82d96 fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x07e105ab fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0bc6094c fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0f7217dd fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x16f93fb2 fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x170bf966 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x19e1e840 fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x22e3e47a fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x25e20257 fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3a771e39 fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3ba5ee7e fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5d752c4c fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x67402721 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6d4e57e1 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6dc50487 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x735f1cc8 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7395a661 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x746d6e62 fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0x823e67b5 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8cf56b22 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaa8843d4 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaedf84ce fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb3a7d4ad fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb6993df4 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xcfe041ca fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd0a794b7 fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd2285626 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe3fde125 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe42c36b4 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe80e5087 fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe93f87e6 fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf0d1fac6 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firmware/broadcom/tee_bnxt_fw 0x57b73b33 tee_bnxt_fw_load +EXPORT_SYMBOL drivers/firmware/broadcom/tee_bnxt_fw 0xdfaff93c tee_bnxt_copy_coredump +EXPORT_SYMBOL drivers/firmware/imx/imx-dsp 0x23d8f71b imx_dsp_ring_doorbell +EXPORT_SYMBOL drivers/firmware/imx/imx-dsp 0x93f4da81 imx_dsp_request_channel +EXPORT_SYMBOL drivers/firmware/imx/imx-dsp 0xaabf5347 imx_dsp_free_channel +EXPORT_SYMBOL drivers/fpga/dfl 0x544d9846 dfl_driver_unregister +EXPORT_SYMBOL drivers/fpga/dfl 0xcc6dc119 __dfl_driver_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x019d48ce drm_edp_backlight_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x01c4bba9 drm_dp_lttpr_max_link_rate +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x06c49551 drm_dp_dsc_sink_line_buf_depth +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0981a8a4 drm_dp_pcon_reset_frl_config +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0cfd805b drm_dp_update_payload_part1 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0d025854 drm_dp_dpcd_read_link_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x118688d6 drm_dp_dual_mode_detect +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x14f1ee28 drm_dp_mst_deallocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1605d0ed drm_dp_lttpr_max_lane_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1707bd42 drm_dp_cec_unset_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1709ddcf drm_dp_lttpr_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1a5bf3ca drm_dsc_dp_rc_buffer_size +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1b0a1fdc drm_dp_lttpr_voltage_swing_level_3_supported +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1b92a9d6 drm_dp_mst_topology_mgr_destroy +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1d7f27ec drm_dp_lttpr_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1e723822 drm_scdc_get_scrambling_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x23961837 drm_dp_downstream_max_bpc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x23da5052 drm_dp_pcon_frl_prepare +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x25193a75 drm_dp_mst_put_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x26815dbc drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x29de40e1 drm_dp_pcon_frl_configure_1 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2a3108a1 drm_dp_remote_aux_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2c55f7c9 drm_dp_mst_topology_mgr_set_mst +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2c7ca446 drm_scdc_set_high_tmds_clock_ratio +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2df728cc drm_dp_pcon_hdmi_link_active +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2e6b29b9 drm_dp_pcon_hdmi_link_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2fa94ef2 drm_dp_downstream_444_to_420_conversion +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x30056a95 drm_edp_backlight_disable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3052cb8c drm_dp_dpcd_read_phy_link_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x32d1d7d4 drm_dp_read_lttpr_common_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x32f4d96b drm_dp_start_crc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x392a838b drm_dp_downstream_max_dotclock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3a1e2ef1 drm_dp_dpcd_probe +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3a8063f3 drm_dp_dsc_sink_supported_input_bpcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3b1fca4d drm_dp_dual_mode_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3c07b802 drm_panel_dp_aux_backlight +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3e24f1db drm_dp_send_query_stream_enc_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x40388390 drm_dp_pcon_pps_override_buf +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x411a06cf drm_hdmi_avi_infoframe_bars +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4603c416 drm_dp_pcon_dsc_bpp_incr +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4646e4cc drm_dp_mst_reset_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4667eb06 drm_dp_mst_get_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4c1f264d drm_dp_mst_connector_late_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4c4688b5 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4f4aac90 drm_dp_read_downstream_info +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x50549203 drm_dp_mst_get_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5359fb75 drm_dp_dpcd_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5407ae9e drm_dp_get_dual_mode_type_name +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x58201e77 drm_dp_update_payload_part2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x582f248e drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x58d8fcaa drm_dsc_pps_payload_pack +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x594d870b drm_edp_backlight_enable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x59f27ed7 drm_dp_pcon_enc_is_dsc_1_2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5ed74131 drm_dp_aux_unregister +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x61845fef drm_dp_set_subconnector_property +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6389bd69 drm_dp_read_sink_count_cap +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x63a477fb drm_dp_downstream_min_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x648d953b drm_dsc_dp_pps_header_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x658e9484 drm_scdc_set_scrambling +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6615069e drm_dp_dsc_sink_max_slice_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x68716044 drm_dp_vsc_sdp_log +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x68d8dce7 drm_dp_downstream_is_tmds +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6912a846 drm_dp_mst_update_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6a4df8c5 drm_dp_128b132b_eq_interlane_align_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6aacee47 drm_dp_128b132b_link_training_failed +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6b22aaa6 drm_dp_send_real_edid_checksum +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6b53e216 drm_dp_downstream_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6c30ac06 drm_dp_cec_set_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6f8fedcb drm_hdmi_avi_infoframe_content_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7053fa72 drm_dp_get_pcon_max_frl_bw +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x717a080f drm_hdcp_update_content_protection +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x72922ed2 drm_dp_mst_topology_state_funcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x73011db0 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x743e6d54 drm_dp_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x745bb1b4 drm_dp_mst_dump_topology +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x76af27c6 drm_lspcon_get_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x76ff6644 drm_dp_lttpr_pre_emphasis_level_3_supported +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7864d316 drm_dp_dual_mode_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x79d35689 drm_dp_read_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7c95768e drm_dp_dpcd_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x80f97f08 drm_dp_pcon_frl_configure_2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x81aaf107 drm_dp_pcon_convert_rgb_to_ycbcr +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x82c86eb6 drm_dp_get_vc_payload_bw +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8692631a drm_dp_mst_detect_port +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x86b47c8c drm_scdc_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8ca2d9e4 drm_dp_calc_pbn_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8d0af6e7 drm_dp_mst_atomic_check +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8d701329 drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8f642c55 drm_dp_pcon_frl_enable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x92b9835e drm_dp_128b132b_cds_interlane_align_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x93f68b69 drm_dp_atomic_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x965b28ff drm_hdmi_infoframe_set_hdr_metadata +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x96a310ef drm_dp_pcon_hdmi_frl_link_error_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9c339c1f drm_dp_downstream_id +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9c41ef64 drm_edp_backlight_set_level +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9d00ac65 drm_dp_send_power_updown_phy +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9f4cad8f drm_dp_read_mst_cap +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9ffd1240 drm_dp_128b132b_read_aux_rd_interval +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa149f2d5 drm_dp_pcon_is_frl_ready +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa1fefe6a drm_dp_psr_setup_time +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa282f1e4 drm_lspcon_set_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa2f4d063 drm_atomic_get_mst_topology_state +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa3b88f53 drm_dp_set_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa69c9403 drm_dp_mst_allocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa6df39da drm_dp_read_lttpr_phy_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa76d32de drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xabc1b675 drm_dp_dual_mode_set_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xacb978f2 drm_dp_aux_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xad6b864d drm_dp_downstream_debug +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xaf267620 drm_dp_lttpr_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb014222d drm_dp_mst_atomic_enable_dsc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb03582c9 drm_hdmi_avi_infoframe_colorimetry +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb08ccf7e drm_dp_pcon_pps_default +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb87a57d0 drm_dp_mst_get_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb94fe404 drm_dp_downstream_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xbdabd77f drm_dp_mst_topology_mgr_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc020c0c1 drm_dp_pcon_dsc_max_slice_width +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc5c99a79 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc74e0038 drm_dp_cec_register_connector +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc79ecffb drm_dp_downstream_is_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc8b44b61 drm_dp_mst_add_affected_dsc_crtcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc8b6a8ae drm_dp_128b132b_lane_channel_eq_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc92544ab drm_dp_mst_hpd_irq +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xccf54d5e drm_dp_get_adjust_tx_ffe_preset +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd02c9840 drm_dp_mst_topology_mgr_suspend +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd3cb053e drm_dp_mst_connector_early_unregister +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd550a8ba drm_dp_read_desc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd5a95eae drm_dp_128b132b_lane_symbol_locked +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd6ad00e1 drm_dp_dual_mode_get_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd825f6f1 drm_dp_mst_dsc_aux_for_port +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xdac658df drm_dp_stop_crc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xdc4785e8 drm_dp_read_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xdeb6d0d3 drm_dp_aux_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe3f00e7d drm_scdc_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe5360b84 drm_dp_pcon_dsc_max_slices +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe6e74773 drm_dp_check_act_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe7634049 drm_dp_cec_irq +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe7f32181 drm_dp_atomic_release_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe92e4e7e drm_dp_read_sink_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xedca4404 drm_dp_dual_mode_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xedcf81ce drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xee838f47 drm_connector_attach_content_protection_property +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xeefa67fd drm_dp_read_dpcd_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xef199086 drm_dp_pcon_pps_override_param +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf3cf6d3e drm_dp_mst_topology_mgr_resume +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf68741fb drm_dp_subconnector_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf689ad25 drm_dp_downstream_420_passthrough +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf959d9ff drm_dp_cec_unregister_connector +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfb1a7a5a drm_dp_downstream_rgb_to_ycbcr_conversion +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfe12bcb9 drm_dsc_compute_rc_parameters +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfe2f81a1 drm_dp_get_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/drm 0x035f87aa drm_of_component_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0369f449 drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03c63897 __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04364e38 drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x055e3c4f drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0709a263 drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07fb449a drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08db2849 drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x093e4e95 drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a3243ed drm_object_property_get_default_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a653e09 drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c0b991b drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d9b4753 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e24455e drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e247e22 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e550509 drm_vblank_work_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e7eccb4 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0eb7f5eb drm_privacy_screen_lookup_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f7acb66 drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fd60df2 drm_get_connector_status_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x107742a9 drm_get_subpixel_order_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10d4eeb1 drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x111cc2e6 __drmm_crtc_alloc_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11fe3ccc drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12a230cc drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13a339da drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14b58de3 __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14e7bc69 drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14ed1328 drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15195022 drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15dcb7ee drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x162df9c5 drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1698c11a drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x17ab2d7d drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x17dd5695 drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1835e1d0 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19f5bbe8 drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f206cbc drm_sysfs_connector_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1fc361e2 drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x202bc5cd drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20a179ad __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21b3ec85 drm_mode_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x222146ae drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23a0c332 drm_gem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23e581b7 drm_display_mode_from_cea_vic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24031200 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24993e50 drm_edid_are_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24cf437a drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24d124ac drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2521d6e8 drm_framebuffer_unregister_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25d10e8c drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x266c7e02 drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x271bc243 drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x27a1a082 drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28779e52 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2880d5c7 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28a86992 drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28efa04d drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28f41ac1 drm_connector_attach_privacy_screen_provider +EXPORT_SYMBOL drivers/gpu/drm/drm 0x293955eb drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29a9ddfa drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29f078d1 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a6bf5da drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a87a655 drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a962499 drm_mm_scan_init_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b92b7f9 drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d11fec8 drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2db3bd9a drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2df29c1b drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e822bda drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ed3c600 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f476172 drm_privacy_screen_lookup_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3053850d drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30aa1ff1 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30c4873a drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30f9fc8a drm_connector_attach_hdr_output_metadata_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32a0cc37 drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0x338626ed drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x34153850 drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35b91386 drm_connector_atomic_hdr_metadata_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3849aa06 drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38690d99 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x395ead45 drm_plane_create_scaling_filter_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ab71f40 drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ab87110 drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b0e5e9c __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b7f5dc8 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c22a4d8 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c5bb741 drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cdc37e9 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ce81a82 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3db8c322 drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3dd0b786 __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ec35df1 drm_client_modeset_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f293975 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f2c6d77 drm_connector_create_privacy_screen_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f405489 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x403e7796 drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40b06b2f drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41a3ec21 __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41f5d87a drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x42253942 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43eab1ef drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4403a9c3 drm_mode_get_hv_timing +EXPORT_SYMBOL drivers/gpu/drm/drm 0x441041c5 drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44844c10 drm_connector_attach_dp_subconnector_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44a2cadb drm_prime_sg_to_dma_addr_array +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44f84d42 drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4575a0ca drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x46c69302 of_drm_find_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm 0x46d80889 drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x479c9d5d drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4831da6e drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4974e4e1 drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a35d30d drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b130637 drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b3f7725 drm_vblank_work_cancel_sync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4bd233cb drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4be4ea4b drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d12ece8 drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d2d6e00 drm_color_lut_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e30d886 drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e580fd7 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ecb2374 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f4005e8 drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f69be61 drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ff3f394 drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x507b13a6 drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50f3ef77 drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51006339 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x513072fe __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51733ce0 drm_privacy_screen_register_notifier +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5216c2fe drm_privacy_screen_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x521ad6d0 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0x52371514 drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5275f62c drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53a5b0d6 drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53ef45ed drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5462fb2e drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54b3a8c0 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54fdee14 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55e0677b drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x568c1524 drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56cfce2e drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5701e5e0 drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57698a50 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57b6efe3 drm_ioctl_flags +EXPORT_SYMBOL drivers/gpu/drm/drm 0x58254f04 drm_gem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x588ba2bf drm_vblank_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x590a0afd drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59b55bfe drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5afb4cfc drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b025a54 drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b1750b4 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b2075aa drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c71e1c9 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d7b0b7c drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e1ba9ff drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e4e48d1 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60020853 drm_aperture_remove_conflicting_pci_framebuffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x609469b8 drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6165a37c drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62725acf drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x639be3ba drm_connector_oob_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x63f3d36c drm_atomic_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x641558f7 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6472af96 drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64ea655d drm_of_crtc_port_mask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65702bd6 drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x670b0cff drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x67f0a894 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x689caa22 of_drm_get_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68b58ff4 drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69940d10 drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ac01ea8 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c1bf281 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c81e436 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d817d38 drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e6168db drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e896ce5 drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ef2f78e drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f5de0cb drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7084f384 drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71212212 drm_file_get_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71300672 drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x719bc2ff drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71bada62 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7258c4e7 drm_edid_get_panel_id +EXPORT_SYMBOL drivers/gpu/drm/drm 0x732b7ace drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73550a8d drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73d595c7 drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7418e2af of_drm_find_panel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74b800e5 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74baf119 drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x756b5f65 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x75d55bfb drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x763c864a drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x767acf80 drm_privacy_screen_unregister_notifier +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7751bb0b drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x788f7b3c drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79cb40d3 drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a9ef76b drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b2e2166 drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b694072 drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c545285 drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c8a1702 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ca01ebd drm_connector_update_privacy_screen +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ca397ca drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7df4ddb3 drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e2053de drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e65b3f2 drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ea0f162 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ea26f96 drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edf470b drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f95b21c drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x815f913d drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81e33366 drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8227a86a __drmm_encoder_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x823cc1fa drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82b062d5 drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x84458b81 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8582e8b3 drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85d196ff drm_crtc_create_scaling_filter_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87378c9b drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87c591a7 drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87eb2b96 drm_connector_attach_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8945ef04 drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8aa26402 drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b50d1eb drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b83be8a drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c25ef63 drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d72789e drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e1b723d drm_mode_plane_set_obj_prop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8eff378a drm_client_framebuffer_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f8c505e drm_plane_get_damage_clips_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9083c954 drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9179f40a drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91d37a29 drm_crtc_commit_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0x92db0ed4 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x932ff41a drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93b2a47d drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x93fe160a drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94146323 drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95633b7c drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95844dc5 drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95af506a drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97495e62 drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x976727af drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98f43c07 drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9935662d drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x993bcd7e drm_connector_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99501dfa drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9a160087 drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9a224dc3 drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9aadc2ae drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b285573 drm_match_cea_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b5badb5 drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b95c885 drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b9de1c1 drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9bc00f1f drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c67697c drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ce050be drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9cebd431 drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d0aaa9f drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d2a95eb drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9df5a559 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e1b29e4 drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e7b3982 drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0afd2de drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1264165 drm_prime_sg_to_page_array +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa19a4d3c drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1aacf48 drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa248afde drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2ce0a7e drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa32720ec drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa38c4c94 drm_memcpy_from_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa45efaf8 drm_vblank_work_schedule +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4e93d09 drm_atomic_print_new_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa53b31c0 drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5f31c0d drm_of_find_possible_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8b654f7 drm_privacy_screen_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8d3569f drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9a785bf drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad42108e drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad4e902b drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad7e0df1 drm_modeset_acquire_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad960385 drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae277372 __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaead9052 drm_privacy_screen_set_sw_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf2aa005 drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf70691a drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb066ebaf drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0b05ff5 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb11ac7a7 __drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1721721 drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb22dfd68 drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb239e2bd drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3587944 drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb379992a drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3897c95 drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4032484 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb47ac798 drmm_mutex_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4a165da drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb570b03e drm_bridge_chain_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6127243 drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8f4e582 devm_aperture_acquire_from_firmware +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9cad492 __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba714530 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbafbca32 drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc35edd0 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbcbbf806 drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbce19acd drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd06c712 drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd70bd90 drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbdd5b709 drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe61abca drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf5391f6 drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0b75723 drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc13c7a5f drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc37530dd drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3a4c75d drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3cf02bf __drmm_universal_plane_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc45ee6cb drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc48c2001 drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5cc3048 drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5e65994 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc68f1478 drm_release_noglobal +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6a02b7a drm_aperture_remove_conflicting_framebuffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6eb578d drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7643452 drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7910e38 drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7d04fc5 drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc82982eb drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc895b7db drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8a5bb41 drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc9314b7e drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc9a3388b drm_panel_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca190085 drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcac2685d drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcace7279 drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcaea61c4 __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb14bda0 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb363de0 drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb45a029 drm_plane_get_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcbe0a7b8 drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0xccc59759 drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd6eae00 drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdb99cc9 drm_mode_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xce65c06d drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf35fc17 drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf785ecf drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcffb5c46 drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd01e0cab drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd05fda43 drm_prime_get_contiguous_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd06a5191 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd12c25e5 drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13f9985 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd179b562 drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1e6eb5b drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2e18461 drm_plane_create_alpha_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3eb6837 drm_connector_attach_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4e35d86 drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd51328c0 drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd527836e drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd58e25ad drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd664c10a drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd680a377 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd6e1ccf5 drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd6f41bd5 drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7a9cf42 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7ddf767 drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7fa5146 drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd86b9895 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd91ecf5b drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd990e7ab drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda473641 drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdba4aa67 drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdcc220b3 drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdcc848ef drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdcdaf5fd drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdcfeafa5 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd97ed68 drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xddba4ed0 drm_panel_of_backlight +EXPORT_SYMBOL drivers/gpu/drm/drm 0xddc56739 drm_privacy_screen_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf3f760d drm_mm_scan_color_evict +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf51e2ca drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf666902 drm_rotation_simplify +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf9ee11c drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdfdf8a79 drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdfeb08d9 drm_privacy_screen_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1724523 drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe317082a __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe31f43f2 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe463cb16 drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe4f9022b drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe74a4d92 drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7816378 drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7cf55d6 drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe87d20da drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a034df drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a0e334 drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8d45ebe drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea00fe81 __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea2cd36e drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea64f7b0 drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea9a55de drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb24df83 drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb4c4b14 drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec12af74 __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec48905d drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec9d6249 drm_writeback_connector_init_with_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xecdfc56c drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef6581d4 drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf03318a4 drm_connector_set_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0517d7a drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0e76b69 drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1b5340a drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2b1a4f8 drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2eb5fc6 drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf393a3d8 drm_privacy_screen_get_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf406e46a drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf54b319d drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5abef3e drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf68c1ce2 drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf69da47a drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7060d06 drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7562ced drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf824c7db __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf88dd7c9 drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9acbabd drm_send_event_timestamp_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9bc7530 drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9d0677b drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9e91f81 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa244e81 drm_connector_attach_privacy_screen_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb07eb88 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb8cbd84 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfcfa6d48 drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdda2a55 drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe1f5937 drm_privacy_screen_call_notifier_chain +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfeb953b1 __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff8bc9e6 drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffbb10c6 drm_property_replace_blob +EXPORT_SYMBOL drivers/gpu/drm/drm_cma_helper 0x43bd4ec4 drm_gem_cma_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_cma_helper 0xba978cc3 drm_gem_cma_prime_import_sg_table_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0470f0a9 drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x053558c8 drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06dbc57b drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0801968a drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x08909726 drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0b2ca854 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x11bcd8fc drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x122b917c drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x127a8c6b drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x12b8700b drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x137410d2 __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x14200a6c drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x18324488 devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x18e7ceae drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x19e5ca13 drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1e071921 __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x201fe020 __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x21d541eb drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x241cf70f drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2497145c drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2615fae4 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x28972b61 __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2914b904 drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2acaad1a drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2b905024 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c5f6d08 __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2dcbddbe drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3160ccc7 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x31a92465 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x36ebb7a2 drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x37837783 drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x38b12efe drm_gem_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3903a10f drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x393589da drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3ae60194 drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3c8890d3 drm_gem_simple_kms_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3d9ca444 drm_gem_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3df10fdd drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3f628dec drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4195ce8d drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x41b7126b drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x44b7cad8 drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4573c9c6 drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x46eb0351 drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4c82905a drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4c8f8331 drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4e741e09 __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4e92fd36 drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4fdb9f3d drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5016f101 __drm_gem_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5021b565 drm_gem_simple_kms_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x504d4139 __drm_gem_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x50d2b3be drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5218ba06 drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x54079a45 drm_gem_simple_kms_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5542443b drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x57ce2843 __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58799a36 drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5acbdbe9 drm_fb_swab +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5aea11bc drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5baf2748 drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5cc3def8 drm_fb_xrgb8888_to_rgb565_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5ea8feda drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5ee430aa drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5ff994da drm_fb_xrgb8888_to_rgb332 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6049ab87 drm_gem_simple_kms_cleanup_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6387ce4b drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x63d6c684 __drm_gem_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x64f7ace2 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x65202f74 drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x67dd5a4a drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6851c838 drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6894704b drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x68b59e6c devm_drm_of_get_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6927004c drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6996da22 drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b357434 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6ced5994 drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7078a781 drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x71dfa166 devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x72774b95 drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x766058b3 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7a26db9c drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8191b859 drm_fb_xrgb8888_to_rgb888 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8245d716 drm_kms_helper_connector_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x824bb2bf drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x829e6f84 drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x83248919 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x842dd90c drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x84938212 drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x86e27d19 drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x871ab41a drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x87ca3d52 drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x88539681 drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x88b037b1 drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x88be712f drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x892167a4 __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8981e034 drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8dcc6483 drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8f70aec8 drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x91b64bd7 drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x91fec1cc drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92aeff2e drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x94541846 drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x969d2362 drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x97d9fbe8 drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x99fd20aa drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9a46319f drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9c7ec511 drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d911192 drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9dc710de drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9eb2ff47 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9f26cbf5 drm_fb_memcpy_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9f61fe3f drm_fb_xrgb8888_to_xrgb2101010_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9f6301d2 drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa18719f0 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa1b14d5f drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa1e4abad drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2059f49 drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa30f221e drm_gem_cleanup_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa3d7b9e5 drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa76290a5 drm_gem_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaa8c2bb7 drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xabbd0fa4 __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xabd78ca2 drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xad21fdd1 drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xae4bad14 __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb01e3808 drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb053adda drm_rect_rotate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb1c74b34 drm_connector_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb23594ec __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb4251bc9 drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb746cc60 __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb94e8f88 drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb9bcf519 drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb9d4f1f1 drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc00771ea drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc1f35f74 drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc2924c80 drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc438aacb drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc465c47a drm_gem_simple_kms_prepare_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc4a8c89d drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc4e5c9a6 drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc52a671a drm_fb_blit_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc5b9314b drm_fb_xrgb8888_to_rgb888_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc6323239 drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc6cf65f1 drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc7023bd8 drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc8283f6a drm_gem_prepare_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc95666d9 drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc9819ae6 drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcaf51e04 drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcb2340b8 drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcc7cc768 drm_gem_fb_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xccc79e80 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcf11a549 drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcfd8a0ee drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd174c457 drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd363e732 drm_gem_fb_begin_cpu_access +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd4a8a293 drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd68da4d8 drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd7275527 drm_gem_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd7c44b23 drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd8256e94 drm_gem_fb_end_cpu_access +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd8c7faf6 drm_gem_fb_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdb1931ec __drmm_simple_encoder_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdbca84d1 drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdc7f8378 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xde910cd3 drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdf71f3df drm_atomic_helper_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdf9a2c48 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe04320c4 drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe2224d3b drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe2d359ab drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe59a514a drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe6845218 drm_fb_xrgb8888_to_mono +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe6eb48a2 drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe80447ce drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe901d00e __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe9b3f9da drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeaec597b __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xed0363d1 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xed24193e drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xedd20ce5 drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeec65461 __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2566c64 drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2aaa983 drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf30db916 drm_fb_clip_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf36541a9 drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf510200c drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf8432e98 drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf9036a27 drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf92b7c0d drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf9b14419 drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfdc0fced drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe9bb62b drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x0f0d7040 mipi_dbi_enable_flush +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x13d66b5f mipi_dbi_display_is_on +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x223e44a8 mipi_dbi_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x5075d851 mipi_dbi_poweron_conditional_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x608eb01e mipi_dbi_spi_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x60f712d6 mipi_dbi_spi_cmd_max_speed +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x6f8f6271 mipi_dbi_dev_init_with_formats +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7be09567 mipi_dbi_pipe_update +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7fba4aad mipi_dbi_command_buf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x96c6fa85 mipi_dbi_spi_transfer +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xa0f91b43 mipi_dbi_command_stackbuf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xbc098f3f mipi_dbi_hw_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xe61252ea mipi_dbi_buf_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xec9cd125 mipi_dbi_pipe_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xee001c41 mipi_dbi_command_read +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xf28d7034 mipi_dbi_poweron_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xf6002ba7 mipi_dbi_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x1ece4419 drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x37c2742c drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x37f7cdde drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x5285fa68 drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x767bd00f drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x85c1e5d9 drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x948636f0 drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xc0ce3541 drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xdfe81e1b drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xe4cba690 drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x289f0f2a drm_gem_ttm_dumb_map_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x3488f0b7 drm_gem_ttm_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x89939c8d drm_gem_ttm_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x98bd7739 drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xa8446dcb drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x021e6336 drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x251d760e drmm_vram_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x258b0148 drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x3c4f26a5 drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x4daa8c35 drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x5786d198 drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x66b8d1dc drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x807c648f drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x8359f09a drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xa0ae1b98 drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xb53bbf70 drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xb631e0fe drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xbb9767d3 drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xd6ab549d drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xe4127c9e drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xfb447c3c drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/rockchip/rockchipdrm 0xe33a3c67 rockchip_drm_wait_vact_end +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x0722d655 drm_sched_dependency_optimized +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x0e2a92e4 drm_sched_increase_karma_ext +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x1cadacca drm_sched_suspend_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x1d1ccf47 to_drm_sched_fence +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x231719b5 drm_sched_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x2aa70112 drm_sched_entity_flush +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x2e65d02b drm_sched_job_cleanup +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x305cbc12 drm_sched_stop +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x3dfad0c7 drm_sched_fault +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x4b400d06 drm_sched_resubmit_jobs +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x640c3dd2 drm_sched_start +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x6a2d97da drm_sched_increase_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7ea9e1e5 drm_sched_resubmit_jobs_ext +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x83a01e62 drm_sched_job_arm +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x86741a50 drm_sched_entity_set_priority +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x8e95b588 drm_sched_pick_best +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x9e6f66b4 drm_sched_entity_destroy +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xa546424d drm_sched_resume_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xa5cc94aa drm_sched_reset_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xae530fc0 drm_sched_entity_modify_sched +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xc0100d68 drm_sched_job_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xc3319973 drm_sched_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd06bc3a9 drm_sched_entity_push_job +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xdd59eff1 drm_sched_job_add_dependency +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xe11a870e drm_sched_entity_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xf39d1430 drm_sched_job_add_implicit_dependencies +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xfad2624c drm_sched_entity_fini +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x1102188f sun4i_frontend_update_formats +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x35277d65 sun4i_frontend_update_buffer +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x3c08229a sun4i_frontend_exit +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x96413fdb sunxi_bt601_yuv2rgb_coef +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xa631b179 sun4i_frontend_format_is_supported +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xad20ff8e sun4i_frontend_init +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xc2de7918 sun4i_frontend_update_coord +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xd81c984f sun4i_frontend_enable +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xe13164ef sun4i_frontend_of_table +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x6c10c7a7 sun4i_tcon_of_table +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x90b4016e sun4i_tcon_mode_set +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x9eb5dbf2 sun4i_tcon_enable_vblank +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0xa666c492 sun4i_dclk_free +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0xae11b35d sun4i_rgb_init +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0xb340bb0b sun4i_dclk_create +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0xc0d9b731 sun4i_lvds_init +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun8i_tcon_top 0x350e5dcd sun8i_tcon_top_of_table +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun8i_tcon_top 0x498fa63d sun8i_tcon_top_set_hdmi_src +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun8i_tcon_top 0x52f2c593 sun8i_tcon_top_de_config +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x02a21258 ttm_range_man_init_nocheck +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0a0f5d64 ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x11a0d93c ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x136f68be ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1a71d30c ttm_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1d57f21a ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2327f654 ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x262b077e ttm_resource_manager_debug +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x26b41520 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2fc098ad ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2fec601e ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x348a2c2c ttm_resource_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x38f8b899 ttm_bo_move_sync_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3a220a12 ttm_resource_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3c510c63 ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3e2f982d ttm_resource_manager_usage +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4b2fe66a ttm_bo_set_bulk_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4b75fa91 ttm_device_clear_dma_mappings +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4c12381a ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4d6aabc9 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x50dec75c ttm_resource_manager_evict_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x59429380 ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x59d1e4fe ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5cee9685 ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5e54f2a4 ttm_device_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x62ec60eb ttm_kmap_iter_iomap_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6c8d40c6 ttm_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7273088b ttm_bo_vmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7754bc79 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x77f17845 ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7a5ad831 ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7ec33c21 ttm_device_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x814e4d89 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x83af9198 ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x93338937 ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9453f201 ttm_bo_vunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9bb8938e ttm_bo_unpin +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9fc78d8d ttm_global_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa0372969 ttm_pool_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa466a6d2 ttm_pool_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa4cab215 ttm_resource_manager_create_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa58c15b3 ttm_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xac87ef93 ttm_lru_bulk_move_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb5142643 ttm_resource_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb6fcb369 ttm_resource_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb7ac02a1 ttm_lru_bulk_move_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbbe809ed ttm_bo_pin +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbc98527f ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbcd28799 ttm_pool_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc36bd779 ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc6799dff ttm_bo_vm_dummy_page +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc90a8a06 ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd6c817fd ttm_resource_manager_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd7d1d473 ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd9739c54 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe94e9d80 ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xea57c9b8 ttm_kmap_iter_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xef25791e ttm_bo_vm_access +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf8754112 ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfc50359e ttm_range_man_fini_nocheck +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfd7d1622 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfe2329ad ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/vmwgfx/vmwgfx 0x1984f833 ttm_base_object_noref_lookup +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x021139d0 host1x_client_exit +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x14809d17 host1x_syncpt_wait +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x1781353f host1x_syncpt_get_base +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x26ee5eeb host1x_driver_register_full +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x293884b8 host1x_job_add_wait +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x2a90146f host1x_device_exit +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x2d3e55f9 host1x_bo_pin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x3f041495 host1x_job_get +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x424f2c1f host1x_syncpt_get +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x4e15f556 host1x_client_unregister +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x4fd3948d host1x_fence_create +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x51de13ce host1x_syncpt_base_id +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x545b5dcb host1x_client_suspend +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x622d560a host1x_channel_request +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x63610059 host1x_syncpt_release_vblank_reservation +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x64c22326 host1x_syncpt_read_min +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7234eb53 host1x_syncpt_alloc +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x72e78e54 tegra_mipi_start_calibration +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7862aa0f host1x_job_pin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7ac8de17 host1x_channel_stop +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x855da448 host1x_job_unpin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x8ab7b336 host1x_syncpt_put +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x90a3fcc2 __host1x_client_register +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x92bd8523 host1x_driver_unregister +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x9451a33e tegra_mipi_free +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x94a6622a host1x_device_init +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xa40667e2 __host1x_client_init +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xa61ce316 host1x_syncpt_id +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xa733ff60 tegra_mipi_disable +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xa9dc908f host1x_syncpt_incr +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xb15e1810 host1x_bo_unpin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xb20f6985 host1x_job_alloc +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xb960d145 host1x_syncpt_incr_max +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xb98bb9ad host1x_syncpt_get_by_id_noref +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xbbaf3599 host1x_get_dma_mask +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xbc616e6c host1x_client_resume +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xbcbe65a0 tegra_mipi_finish_calibration +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xc55ab338 host1x_syncpt_read_max +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xd5275a70 host1x_channel_put +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xd6b5bc70 host1x_channel_get +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xdb22f5ed host1x_job_submit +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xe99885b6 host1x_job_add_gather +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xec825f76 host1x_syncpt_request +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xf2c6dff0 host1x_job_put +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xf80816c0 host1x_syncpt_get_by_id +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xf8a79b19 tegra_mipi_enable +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xfb9bcbc1 host1x_syncpt_read +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xfe0c2d61 tegra_mipi_request +EXPORT_SYMBOL drivers/hid/hid 0xaea010d0 hid_bus_type +EXPORT_SYMBOL drivers/hv/hv_vmbus 0x5dbeeec5 vmbus_recvpacket +EXPORT_SYMBOL drivers/hv/hv_vmbus 0x6d3c5d9f vmbus_sendpacket_getid +EXPORT_SYMBOL drivers/hv/hv_vmbus 0xa7fcf5bb vmbus_sendpacket +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x2f9e7f8e vid_which_vrm +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x446615bd vid_from_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x01568393 sch56xx_read_virtual_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x2518e668 sch56xx_watchdog_register +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x96ec3b26 sch56xx_read_virtual_reg12 +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xaa17a737 sch56xx_write_virtual_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xb37b9b81 sch56xx_read_virtual_reg16 +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x0249fa91 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x0fe250d9 i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x5ff89517 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x33e72f90 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xce8a9e1b i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0xc603b443 amd756_smbus +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x10a4c688 qcom_adc5_hw_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x1fcd0103 qcom_adc_tm5_gen2_temp_res_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x39885d6b qcom_adc_tm5_temp_volt_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x401dc869 qcom_vadc_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x47f699dd qcom_adc5_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x4e64cdb9 qcom_adc5_hw_settle_time_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x53546ecd qcom_adc5_avg_samples_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x70e6eca1 qcom_vadc_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xc61e7a34 qcom_adc5_prescaling_from_dt +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x0c8f597c iio_triggered_buffer_cleanup +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x71f6d76e iio_triggered_buffer_setup_ext +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x108b67da iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xbe0567ef iio_kfifo_free +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x2e79867d mpu3050_common_remove +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x7687e42f mpu3050_dev_pm_ops +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0xea68fa2a mpu3050_common_probe +EXPORT_SYMBOL drivers/iio/humidity/hts221 0xa10ac511 hts221_pm_ops +EXPORT_SYMBOL drivers/iio/humidity/hts221 0xc754743f hts221_probe +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0x2abdec21 bmi160_regmap_config +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xca19cfae bmi160_enable_irq +EXPORT_SYMBOL drivers/iio/imu/fxos8700_core 0x1b212330 fxos8700_regmap_config +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0xd25b5445 st_lsm6dsx_probe +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0xf1c65ea1 st_lsm6dsx_pm_ops +EXPORT_SYMBOL drivers/iio/industrialio 0x246c749b iio_device_set_clock +EXPORT_SYMBOL drivers/iio/industrialio 0x2a607ba0 iio_read_mount_matrix +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x3a8f30dc iio_get_time_ns +EXPORT_SYMBOL drivers/iio/industrialio 0x3e8dec41 iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x534d11ad iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x5aae3eb4 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0x5cf63aae iio_trigger_set_immutable +EXPORT_SYMBOL drivers/iio/industrialio 0x6be7a977 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x751e185c iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x7995046a iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x7db42eae __iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x8894c006 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0x8e38cfab iio_get_time_res +EXPORT_SYMBOL drivers/iio/industrialio 0x94af61d7 __iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0xc255bd87 iio_trigger_using_own +EXPORT_SYMBOL drivers/iio/industrialio 0xc71bf0e0 iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0xc96d3400 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xca574af5 iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0xd2801c62 iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0xdc715b21 iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xf0cfaa27 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xf48127b9 iio_trigger_validate_own_device +EXPORT_SYMBOL drivers/iio/industrialio 0xfbe4070e iio_device_get_clock +EXPORT_SYMBOL drivers/iio/industrialio-configfs 0x7d3e3db0 iio_configfs_subsys +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x266d2e2b iio_unregister_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x366acd6b iio_sw_device_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x450b1285 iio_sw_device_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x692366ff iio_register_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x0df3fc04 iio_unregister_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x7718ea63 iio_register_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x7ca2c3d1 iio_sw_trigger_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x87b0d439 iio_sw_trigger_destroy +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x100165cc iio_triggered_event_cleanup +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0xe5e9ad93 iio_triggered_event_setup +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x67c3438f bmp280_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x8d459eed bmp180_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xab41ae4f bmp280_dev_pm_ops +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xd3deeecc bmp280_common_probe +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1037e702 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x15a1a2c6 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x21750a68 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2e1819ea ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x384da9a8 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x5f1f6d60 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x6a9b125f ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb49b43a0 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb60e41ac ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb63257ba ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbbcd408f ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xde7742de ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe22419cc ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xefc790a5 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf8d8caf5 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00cd25ea ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x022559a4 rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x028411a3 __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x03977589 rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x048b47a5 rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x04d49814 rdma_query_gid_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x055be5c4 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06ed2233 rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07b97d47 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x09339fee ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a837188 ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c86f5cb ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0d1a2e4a ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0d3354a6 rdma_alloc_hw_stats_struct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0d469996 rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0dc28f6d ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0e45a128 ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0f085a11 ib_port_sysfs_get_ibdev_kobj +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0fcc1da6 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1036d98b ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1408cdb1 rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x142db2af ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x154aadde ib_dma_virt_map_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x15bf86fc ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x17981322 rdma_move_grh_sgid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b037462 __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1cf8ac6a ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1d9ff175 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1db6bae6 ib_create_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x20398595 ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2048d655 ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x20aa4f12 rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x21fa56fe ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x23932534 rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x244c8c86 ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x248c49d8 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x24dd98cf rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x25de16f2 ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x269b2493 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x26bc21c7 rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x26ffb33a ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ad8ea83 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2de4a37d rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ee292cc rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x33785f01 ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x33d41788 ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x35ca4d06 rdma_restrack_parent_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x35f9c759 ib_qp_usecnt_inc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x39c54702 ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3ab2c0e8 rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c69c6c3 ib_dealloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x42d369d5 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x434c5d10 zgid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x439ce33c ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x453786c1 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x46984a9d rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x46b34827 rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x46e41a13 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4b27723e rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4bb58e2b ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4d07b873 ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e155af0 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e90435c ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4ea61f21 ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4f30c849 ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x503b44e4 ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50935b65 ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50fa55a2 ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x53e3981d ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55bb02f3 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58170cff ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58df5b94 ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58f55192 rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5b971664 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5be9ae39 rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5c426357 rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5d8dc22b ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5e448eeb ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5e6ff99b ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5f50b2a8 ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5fb5174e rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6055a7f4 roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61285e28 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x613b1e2e ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6154ad4c ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6198aee5 rdma_restrack_new +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61d24c52 ib_rate_to_mbps +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x629e05f5 ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x62ed659a ib_alloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x63a7f2d8 ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6460165e ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6481fd37 ib_qp_usecnt_dec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x68932217 ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d19c96b ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d1e63d2 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x70437f16 rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x71d81b36 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x73baf9a2 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7451f350 rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x756a2ce9 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x76829c62 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77b307ed ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x79c06a2a ib_create_qp_kernel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7a38024b ib_cq_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7c2bc208 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7d68315e rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7d818cf3 ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7f1896d8 ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x800aeef1 rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x82a07962 rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x82bbfef5 rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x83465e38 rdma_link_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x848f315a _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x84f5e4c2 ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86473da3 rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x866eed1f ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86cef180 rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8b3d69e7 ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e7528da __rdma_block_iter_next +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8f50fd29 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8facbaaa ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x907bc9f3 ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90e807c7 ib_cache_gid_parse_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9191dcc3 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9275d408 rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x92fb3b56 rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x93224645 ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x93423c9a rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x96c1b5dc ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x978b5aa4 ib_port_unregister_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x98d48b9b rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9f9b88d2 rdma_restrack_set_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0a01080 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0f9e152 ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa16d76ed rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa18b5901 __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa1d4f5a6 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa4b6ae66 ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa6b7d5a3 rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa7bf54f4 rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae89ffc3 ib_destroy_wq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae956dce ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaffabeea ib_port_register_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb36e4148 ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb48e0dd9 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb5cf4d40 ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb5e8e961 rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb6f686f1 rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7852a05 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xba2134ad rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xba979fd6 ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbb27b43c ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbbb32b46 rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbc5366df ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbe2a9384 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbf826965 rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc04fdf35 rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc12e7d4e ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc3430c7c ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8d38664 rdma_free_hw_stats_struct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xca138c67 ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcd6f5763 __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcdb6c309 ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xce3c4ebf rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xce6f7414 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcebd67d5 ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcfbc053b ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd4be6752 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd4dcab14 rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd5494f2c rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd598ef3e ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd60e3d9c rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6636ca6 rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6781230 ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd68e1aaf ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd79644f1 rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd84970a8 ib_alloc_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd8b48362 rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd9f49a1b ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdbd99f46 ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdbdf415b ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde0b44ed rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdeee1782 ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe10af130 ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe2c50af5 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe32502fb __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5840ec6 ib_wc_status_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5a78c1e ib_sa_unpack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe76a9c74 rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7b52e5f mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe8e8a2b4 ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9e799fc ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeb6ba62c ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xecf5cdcd ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed026db7 rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xee01627d ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf005629d rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf1ff0122 rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf291ad2b ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf2c31ab1 rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf46e1a90 rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5dedb30 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6ed3334 ib_event_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6ee5623 ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf8fde4e4 ib_port_immutable_read +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfaf86518 rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfb9a979d rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfbaceb30 rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfd52b9ec rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfd56d390 ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfd95f93c rdma_restrack_add +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xff4b11cc ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xff5bb3e2 rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xffa08e54 ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x149083b2 ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x2c9daf75 _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3423c86e uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3d8362d3 ib_umem_activate_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3d9aae90 uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3f5846c9 _uverbs_get_const_signed +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x423be950 ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5acd6bb1 uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5ee96225 ib_umem_dmabuf_unmap_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x640bcab0 uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x78bd1dad ib_umem_dmabuf_get_pinned +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7bbb33f7 ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7dba44c0 ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7f49af7c uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7f8fb511 ib_umem_odp_map_dma_and_lock +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x847a5a00 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x88814f9d uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x9581a9ca ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x97d1770c uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x98a1d909 ib_umem_dmabuf_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa480dc1f flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa6de2b66 ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb0358691 uverbs_copy_to_struct_or_zero +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbde5c050 ib_unregister_peer_memory_client +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc553d0f2 ib_umem_get_peer +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xca570c80 flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xdeaf3cea ib_register_peer_memory_client +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe07dc7ab ib_umem_stop_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe27d3667 ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe9700fbb _uverbs_get_const_unsigned +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xea6e68f1 uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf4c65f03 ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf5d13cbc ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf73690d0 ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf9a1a538 uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xfd4d7214 ib_umem_dmabuf_map_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xfdd1e0fe ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xfee598f6 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x0381e30a iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x4f2db222 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x561607d1 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x6bb00da7 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xaa30d33a iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xb676843f iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xb84b4d49 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xd0bb6061 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3df871f iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x07a3189f rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x088cef67 __rdma_create_kernel_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0b0a4b31 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1678b7b0 rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x17969886 rdma_create_user_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2edb93b0 rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3e96b3b9 rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3ff60733 rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x41488054 rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x42d56118 rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x492b157a rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4970b369 rdma_lock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4f958afc rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5cbdc1a0 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x61f8ed96 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7e094f26 rdma_connect_locked +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x84c76592 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x86a990e9 rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8ad485e3 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x907df803 rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x93f204bc rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x943a2cfa rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9ad0ea10 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa8cbc985 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xaa35e6df rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb72db416 rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcaaa6997 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcbdc030f rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd3a3670b rdma_unlock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd78c2465 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe5b00587 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe6da54d6 rdma_set_min_rnr_timer +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xeb5d3e9d rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xee06a457 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xef2bbd5f rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x027bc717 rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x1cb33bf6 rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x8b51fcd4 rtrs_clt_rdma_cq_direct +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xc579b853 rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xd304b3c8 rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xe08ec015 rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xf4086cc1 rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x242a8646 rtrs_addr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x3561ef9f rtrs_rdma_dev_pd_deinit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x5b01e41d sockaddr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x6de1ff60 rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x887302f3 rtrs_addr_to_sockaddr +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x8a2e9d18 rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xa83a32ce rtrs_ib_dev_find_or_add +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x4645b330 rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x5c0cbf4b rtrs_srv_get_path_name +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x761a6cda rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x8551590d rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x8abf7318 rtrs_srv_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xbc14263a rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/input/gameport/gameport 0x06b0af5a gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x1dc692b6 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x22ab2a22 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x28baccc5 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x479d9101 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x57acb513 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x88150288 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xbd87721b __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xfa683004 gameport_close +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x029adc69 iforce_init_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x8830a1b7 iforce_process_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0xdd60e2aa iforce_send_packet +EXPORT_SYMBOL drivers/input/matrix-keymap 0x90b1d329 matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x1e3c1f6e ad714x_probe +EXPORT_SYMBOL drivers/input/misc/ad714x 0xac8b80ad ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xe43bf8f6 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x892d76b2 cma3000_resume +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x89d9444e cma3000_exit +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x9c20e815 cma3000_init +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xca3f100a cma3000_suspend +EXPORT_SYMBOL drivers/input/rmi4/rmi_core 0x360d6965 rmi_unregister_transport_device +EXPORT_SYMBOL drivers/input/sparse-keymap 0x188920cc sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x5a141f8c sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0x6237f053 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0xf26f4088 sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xfa62097c sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x11e02236 ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x17b3682e ad7879_pm_ops +EXPORT_SYMBOL drivers/interconnect/qcom/icc-smd-rpm 0x13b61c87 qnoc_remove +EXPORT_SYMBOL drivers/interconnect/qcom/icc-smd-rpm 0x8fb001eb qnoc_probe +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x51236250 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x72056758 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xc93edabd capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xd89ee81f capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xf03b0824 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x27c58fd5 isdnhdlc_decode +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x4644eea5 isdnhdlc_out_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x5b835a58 isdnhdlc_rcv_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0xef4ee223 isdnhdlc_encode +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x067772d0 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x223498bb mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x9608583e mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x9d02c467 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xcef6a98d mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xde338d1c mISDNisar_init +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03a68066 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x13617df6 mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x14eebc69 bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1d1d7df1 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x251a4e7b mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x26236de8 mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2b829966 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x30d25b0d mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x313b1fde mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x416574a7 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x43a32209 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4ee5eaba dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5cfd9fc0 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6047df40 mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x608abd26 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6b977c03 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6bd8fe56 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x730b7dce recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x74a7b083 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x84f38272 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x85e7279c recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8e0bc574 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x911049e2 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x92453eb1 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9c928457 mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9da67f50 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb7cff7ff recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xebde7fc8 mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfb47cf6a mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x01087af0 mISDN_dsp_element_unregister +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x93df9e4b dsp_audio_law_to_s32 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb07a21b8 dsp_audio_s16_to_law +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb98308d8 mISDN_dsp_element_register +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x3be0f429 ti_lmu_common_get_brt_res +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x54a12ec4 ti_lmu_common_set_ramp +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xca22f9b4 ti_lmu_common_get_ramp_params +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xced72aae ti_lmu_common_set_brightness +EXPORT_SYMBOL drivers/mailbox/mtk-cmdq-mailbox 0xa4737ccf cmdq_get_shift_pa +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x4d4a1adf omap_mbox_disable_irq +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x693420fb omap_mbox_enable_irq +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x82f0fa29 omap_mbox_request_channel +EXPORT_SYMBOL drivers/md/dm-log 0x2bc50bc6 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x2e3eca4f dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0x4470b241 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x6cd995c8 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x2b8f1613 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0x3421db5d dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x5d85d0c0 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x7efefc6a dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x887c1750 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0xed578e1b dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/raid456 0x85cb4fe4 r5c_journal_mode_set +EXPORT_SYMBOL drivers/md/raid456 0xdc52442d raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x00b9fe57 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x17dee2ef flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x394d9980 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x66a2aefc flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x794ee5b5 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7bf541ac flexcop_device_initialize +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x816a9e6f flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x91dea4fa flexcop_device_kfree +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xb4eaa0e0 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xc0d911b9 flexcop_device_exit +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xc9da62cb flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xf294ae72 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xf6c07cfd flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/common/cx2341x 0x15ac1bd0 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/common/cx2341x 0x28240e61 cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/common/cx2341x 0x2dc6e61a cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/common/cx2341x 0x31bafb7d cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/common/cx2341x 0x538d65fe cx2341x_handler_init +EXPORT_SYMBOL drivers/media/common/cx2341x 0x55aa7c5f cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x6a657b05 cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x7b4dd2cb cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/common/cx2341x 0x88dd0d60 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/common/cx2341x 0xdbc5583a cx2341x_update +EXPORT_SYMBOL drivers/media/common/cx2341x 0xe1fe1432 cx2341x_log_status +EXPORT_SYMBOL drivers/media/common/cypress_firmware 0x21cfa2cc cypress_load_firmware +EXPORT_SYMBOL drivers/media/common/ttpci-eeprom 0x693e74ba ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/common/ttpci-eeprom 0xf908c48a ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/common/tveeprom 0x0dbf0296 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/common/tveeprom 0x1a04233a tveeprom_read +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x065246b8 frame_vector_create +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1b700d37 put_vaddr_frames +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1d5f9555 frame_vector_destroy +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xa7684c97 vb2_verify_memory_type +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xc2d9e090 get_vaddr_frames +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xc3bd5a27 vb2_buffer_in_use +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xc5e5573a frame_vector_to_pages +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xdffb744b frame_vector_to_pfns +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x1f4afda7 vb2_dvb_get_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x44b912af vb2_dvb_register_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x56730eaa vb2_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x7e85bd62 vb2_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x833f00e4 vb2_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xe24aa31c vb2_dvb_find_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-memops 0xa21fa765 vb2_create_framevec +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-memops 0xccd197c7 vb2_destroy_framevec +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-v4l2 0x2047e263 vb2_querybuf +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08733236 intlog10 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08a9fea3 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x18acd31f dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1efa5a9a dvb_remove_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x236ea841 dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2519bca3 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2e5082ab dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2f5cdf80 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x336162f0 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3b93d71a dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3da167d6 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x47de7d60 dvb_device_get +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x4e12631a dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x54abe4ff dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x570b410c dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5f2b1d95 intlog2 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6181aec0 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6a38b1b5 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6a9f708a dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6fbbd76c dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x786e23c5 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7c349726 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8c54b0f8 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x91a6794b dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9263a063 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9666ece0 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x998202b6 dvb_frontend_resume +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9a800350 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9dcd7a09 dvb_frontend_suspend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa4235824 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xaefe361e dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb3352dd2 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc3f679f9 dvb_ringbuffer_write_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xcc5c3d2e dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe138ce6b dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xebbc2d9b dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xec40834f dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf081edba dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf347b058 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf514ba8b dvb_register_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfb09f39a dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfb9a826f dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfc6380e5 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb-frontends/ascot2e 0x5e30f99f ascot2e_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/atbm8830 0x77ecfdef atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x14d5640b au8522_sleep +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x2ec2cbaf au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x3afba71a au8522_init +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x531debc6 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x634e7f02 au8522_get_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x68798991 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x8a31a029 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xae21f0a5 au8522_analog_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xfb3cfcde au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_dig 0xf48875ff au8522_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/bcm3510 0x29de7627 bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22700 0xc9affe8e cx22700_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22702 0x07c0a72a cx22702_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24110 0xd2bfb4e1 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x1e7a6e78 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x2cf23720 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24116 0x5e7764a0 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24120 0x6916c952 cx24120_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x76d227e4 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0xbaa93893 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2820r 0x0647519f cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x324ffd08 cxd2841er_attach_t_c +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0xdd1813b8 cxd2841er_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2880/cxd2880 0xa6a8335d cxd2880_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x1e72b6b0 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x2e93da31 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xa9aa6f76 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xc58f4936 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xf8f4faf3 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x0a6fe2ad dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x0ed4e683 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x2e6927f8 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x38c96a57 dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x3d8dd88e dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x432bd39c dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x4fc04e09 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7bc09a4a dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xb1888b65 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xd1320a52 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xd400eaa7 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xd722d312 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xdc8ba2fe dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xe3c63e21 dib0090_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xe48134a7 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mb 0xfb70dc76 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x0dcf804c dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x16998fe9 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x2c981e6f dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x5ffc17f0 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x690db497 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x8a9247ce dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x2a399624 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x30a0f4c6 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x4f213195 dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x908fa6f4 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000p 0x27d0437a dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib8000 0x92dbdf20 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x26097e1c dib9000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x2b27b12e dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x38826020 dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x476851cf dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x4c63cb47 dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x5693b7cc dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x58b8fdce dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7b9c448f dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7c579a9c dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x89af3846 dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x9219f3a1 dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xd976f129 dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xe06b6f6d dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x07c88100 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x1126caba dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x58662e44 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x89a6cdbe dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xf6f66921 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/drx39xyj/drx39xyj 0xf22d50fc drx39xxj_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxd 0xf88651b0 drxd_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxk 0xf7dc2fdd drxk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ds3000 0x344cdd37 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb-pll 0x83c0c296 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x122534dd dvb_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x3d9f680e dvb_dummy_fe_qpsk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x96514c66 dvb_dummy_fe_ofdm_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ec100 0x18f8a805 ec100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x2002fe77 helene_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x6c327942 helene_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/horus3a 0xe1a29394 horus3a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6405 0x86626103 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6421 0x326a3220 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6423 0xdf3aeef6 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/itd1000 0xe4d3a5e5 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ix2505v 0xf2dbc839 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/l64781 0x62aba9c2 l64781_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lg2160 0x1b3dbf43 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3305 0x3f3f29f4 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3306a 0xbb4337ac lgdt3306a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt330x 0xf1d662d2 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gl5 0x9057e202 lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gxx 0x52386584 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh25 0xb8a0d7d5 lnbh25_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh29 0xc8bdc85f lnbh29_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x2abdc9ad lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x6f8bc26f lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp22 0x4d033fa8 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x2a6a3988 m88ds3103_get_agc_pwm +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0xcd0e174e m88ds3103_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88rs2000 0x76c204ae m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a16 0x735abcf2 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a20s 0x741057c5 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt312 0x0c053c19 mt312_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt352 0x2ea69e5d mt352_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt200x 0x15f79613 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt6000 0x17f3e23e nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51132 0xf744e6cf or51132_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51211 0xbd70296f or51211_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1409 0xb223e9e8 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1411 0x4b8c1d24 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x003ae607 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x0e5675bd s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1432 0x453d30f8 s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s921 0x6a732cfb s921_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/si21xx 0x092b6ba0 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp887x 0x1563d346 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb0899 0x4badc8bc stb0899_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6000 0x68e659b2 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6100 0x6d9db2a1 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0288 0xf8c405d6 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0297 0xe68e5f58 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0299 0xf4abe7d7 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x5734948e stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0xd6066ee3 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0xe6f670d9 stv0367ddb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0900 0x69abc523 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv090x 0x93fcf315 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110 0x10e27f4a stv6110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110x 0x2f6c5913 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10021 0x8d8beeb5 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10023 0xe60eb0c4 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10048 0x8c04378d tda10048_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x0b735f6b tda10046_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x30fe401f tda10045_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10086 0x0f82fe08 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda665x 0xc8a6619f tda665x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8083 0xa6ae0ac8 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8261 0xe5ac1faf tda8261_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda826x 0xf8b164e7 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ts2020 0x7547ae4f ts2020_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tua6100 0xfa2a6956 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1820 0x70f148e6 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1x93 0x61af6c82 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x984a236e zd1301_demod_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0xcc78c384 zd1301_demod_get_dvb_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10036 0x6078c3ea zl10036_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10039 0x493f6ec9 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10353 0x44c35167 zl10353_attach +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x36c8d7ae flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x3ca1688c flexcop_dma_free +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x9163159c flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xa850a50e flexcop_dma_config +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xb1fea336 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xcd6d028d flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xfddd9771 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x3866084d bt878 +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x3b6433d0 bt878_stop +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x7b478a2b bt878_device_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xf9a583e5 bt878_start +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x244663c8 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x3527c44d bttv_sub_register +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x5810fe88 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x43a983fd dst_check_sum +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x43c6e71d dst_pio_disable +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x6298ec19 dst_attach +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x715750d9 dst_error_bailout +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7532a0e1 write_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x78de6c46 dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7d3ad0f0 read_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x9bdf3b9d dst_comm_init +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xa9bd7a9b rdc_reset_state +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xb97cc184 dst_error_recovery +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst_ca 0xcc36539c dst_ca_attach +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x381e7db2 cx18_claim_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x6cbcc3b4 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x71e4d40a cx18_release_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xa46762b1 cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xcffc2a9d cx18_ext_init +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x1ab311dc altera_ci_init +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x6ff7510d altera_ci_tuner_reset +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0xdb3faf38 altera_ci_release +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0xe66b9812 altera_ci_irq +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x1df84ceb cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x33a04711 cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x43660cbc cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x44b517f5 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x5a6442c0 cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x7e6f82f5 cx25821_riscmem_alloc +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x9b7494df cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe9050411 cx25821_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe990b864 cx25821_dev_get +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x8b4b476d vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0xf0d6d5f2 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x38c9d043 cx88_querycap +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x5fb61aa0 cx88_enum_input +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xadf6cd50 cx88_set_freq +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xed915ffa cx88_video_mux +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x1073798a cx8802_start_dma +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x289e25dd cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x2adc188a cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x82cf59b3 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x919f56f1 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xc63247cf cx8802_get_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xeda7eb76 cx8802_register_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x195b6b93 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x2ce463ea cx88_set_scale +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x542929d3 cx88_core_irq +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x547dd14a cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x5ce58523 cx88_ir_start +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x5edb7ae5 cx88_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x70b600cc cx88_vdev_init +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7d24f693 cx88_wakeup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x856cef1b cx88_core_get +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x8d88137a cx88_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x938d4451 cx88_shutdown +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x968a9388 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x9d77e1fe cx88_get_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xaad91df9 cx88_set_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xad49dc09 cx88_newstation +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xadb7a4f1 cx88_reset +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xbf900fbb cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xd07b4b62 cx88_core_put +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xd28ab133 cx88_ir_stop +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xdc359291 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xed7c0121 cx88_risc_buffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xf3336bbd cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/pci/ddbridge/ddbridge-dummy-fe 0x5f82a0a3 ddbridge_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x043157ea ivtv_vapi_result +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x0682b053 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x22282492 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x2291720c ivtv_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x28ea2de2 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x2d0da6d4 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x4760d5cc ivtv_vapi +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x483bfdda ivtv_firmware_check +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x55b74e34 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x65c4af63 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x86c88208 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x9080cbf4 ivtv_api +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xcb87d4f9 ivtv_claim_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xe954b060 ivtv_release_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xee617b4f ivtv_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xf9f7696e ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xfa18b3b2 ivtv_ext_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x04ca9d9e saa7134_set_gpio +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x0b1b7111 saa7134_ts_register +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x1211df5d saa7134_devlist +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x23e616d8 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x4a77f266 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x730c4be3 saa7134_boards +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x80b5fe4b saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x8f1ad46b saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xab52c3bd saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xb160cffb saa_dsp_writel +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xb1f1c34f saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xc6550de7 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xd3e55267 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xdaaa3edd saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/platform/allegro-dvt/allegro 0x2c79d0f2 msg_type_name +EXPORT_SYMBOL drivers/media/radio/tea575x 0x4f0ba3ad snd_tea575x_s_hw_freq_seek +EXPORT_SYMBOL drivers/media/radio/tea575x 0x57e987a1 snd_tea575x_g_tuner +EXPORT_SYMBOL drivers/media/radio/tea575x 0x8f5b1ff4 snd_tea575x_hw_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0x91c9a282 snd_tea575x_enum_freq_bands +EXPORT_SYMBOL drivers/media/radio/tea575x 0xcf356d2e snd_tea575x_exit +EXPORT_SYMBOL drivers/media/radio/tea575x 0xd867311a snd_tea575x_set_freq +EXPORT_SYMBOL drivers/media/radio/tea575x 0xf00bb5f9 snd_tea575x_init +EXPORT_SYMBOL drivers/media/rc/rc-core 0x01098f88 ir_raw_encode_scancode +EXPORT_SYMBOL drivers/media/rc/rc-core 0x17b6cd36 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2fe55cf5 ir_raw_gen_pd +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7a02ee87 ir_raw_gen_pl +EXPORT_SYMBOL drivers/media/rc/rc-core 0xb5516017 ir_raw_encode_carrier +EXPORT_SYMBOL drivers/media/rc/rc-core 0xc649144f ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0xce3696f3 ir_raw_gen_manchester +EXPORT_SYMBOL drivers/media/tuners/fc0011 0x21b3f325 fc0011_attach +EXPORT_SYMBOL drivers/media/tuners/fc0012 0x89323fba fc0012_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x2bf181d0 fc0013_rc_cal_add +EXPORT_SYMBOL drivers/media/tuners/fc0013 0xa5efc68c fc0013_rc_cal_reset +EXPORT_SYMBOL drivers/media/tuners/fc0013 0xda8d0fe5 fc0013_attach +EXPORT_SYMBOL drivers/media/tuners/max2165 0xe5a8ea87 max2165_attach +EXPORT_SYMBOL drivers/media/tuners/mc44s803 0x10ea7f4d mc44s803_attach +EXPORT_SYMBOL drivers/media/tuners/mt2060 0x0d27f3c5 mt2060_attach +EXPORT_SYMBOL drivers/media/tuners/mt2131 0x10bb61cd mt2131_attach +EXPORT_SYMBOL drivers/media/tuners/mt2266 0x1f5b4d2d mt2266_attach +EXPORT_SYMBOL drivers/media/tuners/mxl5005s 0xc9ebd69c mxl5005s_attach +EXPORT_SYMBOL drivers/media/tuners/qt1010 0xb24d1e29 qt1010_attach +EXPORT_SYMBOL drivers/media/tuners/tda18218 0x55c9b038 tda18218_attach +EXPORT_SYMBOL drivers/media/tuners/tuner-types 0x4c48939e tuners +EXPORT_SYMBOL drivers/media/tuners/tuner-types 0xc2821775 tuner_count +EXPORT_SYMBOL drivers/media/tuners/xc2028 0x348ddbeb xc2028_attach +EXPORT_SYMBOL drivers/media/tuners/xc4000 0xc1aaa4cf xc4000_attach +EXPORT_SYMBOL drivers/media/tuners/xc5000 0x5564c3c0 xc5000_attach +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x25e3477f cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0xa7960863 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x03c6c55b dvb_usbv2_probe +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x38ce4fba dvb_usbv2_suspend +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x3adf3ce5 dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x3eb37d0f dvb_usbv2_generic_rw_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x69c2d41e dvb_usbv2_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xbf7d43ea dvb_usbv2_generic_write_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xfc0e5db4 dvb_usbv2_reset_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xfe6c6278 dvb_usbv2_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xffb44bd7 dvb_usbv2_disconnect +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x4e17a9c4 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x4f21b00c dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x7276d695 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x8b6f5395 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x9bb236f1 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xb8ad8f63 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xd90f2713 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x341530cb rc_map_af9005_table +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0xa56df78e af9005_rc_decode +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0xd4e288db rc_map_af9005_table_size +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x13042777 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x3c4cfc92 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x7a05baea dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x7bfcb429 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x7d96e7f4 dibusb_rc_query +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x93822ecb rc_map_dibusb_table +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x9b49c195 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xabcc53f4 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xb654cc2a dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xbdb1d554 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x8c6c1c74 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0xd05355ac dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x31b304eb em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x861340c3 em28xx_register_extension +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x0dfc0e0b go7007_update_board +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x4524e348 go7007_alloc +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x485d29ba go7007_parse_video_stream +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x7b37c105 go7007_read_addr +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x7c007239 go7007_snd_remove +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xaf532e08 go7007_read_interrupt +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xb4ed2f76 go7007_snd_init +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xb7be710f go7007_boot_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xe4288000 go7007_register_encoder +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x00d5f00c gspca_dev_probe +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x08f768d0 gspca_resume +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x33affa93 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x5f605083 gspca_frame_add +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x6461ec32 gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xa8043dc9 gspca_disconnect +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xc15ba646 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xee96737f gspca_suspend +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x154ff315 tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x691db08a tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x85d6a331 tm6000_register_extension +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0xc1c371fc ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0xea047036 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x0e9f7b9e v4l2_async_register_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x4e9aa01f v4l2_async_nf_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x6c828556 v4l2_async_unregister_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x96f1ece0 v4l2_async_subdev_nf_register +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0xe11032b7 v4l2_async_nf_init +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0xedded9b4 v4l2_async_nf_register +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x2718f25e v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x5352d022 v4l2_m2m_resume +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xb8ceeb96 v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xdbb87ded v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xf626dd03 v4l2_m2m_suspend +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xfbf75ab0 v4l2_m2m_buf_done_and_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x00d581ad v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x05ff63f9 v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x082737e8 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x08889576 __v4l2_ctrl_s_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0c40ee01 __v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x12f7f0a4 v4l2_ctrl_request_complete +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x13b3cf36 v4l2_querymenu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x15873198 v4l2_ctrl_new_std_menu_items +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x23cc799b v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x283e3fa3 v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x28b12cc9 v4l2_format_info +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2a6187b4 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2b2a6ac2 __v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2b434baa __v4l2_ctrl_s_ctrl_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2c62cc29 v4l2_subdev_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2ca344c7 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x305d784b v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x315de2cf v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x32d43420 v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3b0d32cf v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3bdd0f94 v4l2_prio_change +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3efe386d v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3f4d96d5 v4l2_subdev_call_wrappers +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x57b5690e v4l2_ctrl_new_std_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5a7a3c68 v4l2_ctrl_subdev_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6315f525 v4l2_query_ext_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6554eb62 video_devdata +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x675f1630 video_ioctl2 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x68bf1258 __video_register_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x702ff5f6 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7a055606 video_device_release_empty +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7dce5451 v4l2_ctrl_radio_filter +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8283869c v4l2_ctrl_handler_init_class +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x88998fd3 v4l2_ctrl_g_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x89e3897d v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9032b36c v4l2_ctrl_subdev_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9a9d3678 v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa0291110 v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa6caaa88 v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xaad1f77b video_unregister_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xada41cc8 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb3bdc147 v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb54a1426 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbc5671dc v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc069474c v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc2968283 v4l2_ctrl_notify +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc7f1529b v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc89b569a v4l2_ctrl_request_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xca8ac760 __v4l2_ctrl_modify_range +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcc627498 v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd16d9c01 v4l2_ctrl_get_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd1b2a3f0 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd48f48de v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd5b2ba9d v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd70df0a4 __v4l2_ctrl_s_ctrl_string +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd88b5470 v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xdb4dfee5 video_device_release +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xdd9e7ea5 video_device_alloc +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf50fecbc v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf8816ee7 v4l2_ctrl_new_fwnode_properties +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xfcaf2668 v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/memory/omap-gpmc 0x389acf0c gpmc_configure +EXPORT_SYMBOL drivers/memory/omap-gpmc 0x4f89c9de gpmc_cs_free +EXPORT_SYMBOL drivers/memory/omap-gpmc 0xa964dd13 gpmc_cs_request +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0x56ee0e43 rpcif_sw_init +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0xb7df250c rpcif_manual_xfer +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0xc27edbc6 rpcif_hw_init +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0xc6305c7c rpcif_prepare +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0xcec76419 rpcif_dirmap_read +EXPORT_SYMBOL drivers/memstick/core/memstick 0x11b51112 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x1aa8e484 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x1b439c20 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x28ac45ae memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3c44a249 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x43f63853 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4a4e5778 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x61d7ac8c memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x65f9d3ff memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x962ed81b memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xade7c583 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xae50437c memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe5e45c44 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe86f3c94 memstick_next_req +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0bc9e213 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x120f0a4f mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x17a6a1b4 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x19b930cb mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1fc29901 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x27652651 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x29a1f63b mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x348b950e mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x391672a3 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x47680465 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4c9893b2 mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4d568c0f mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4fbc0a14 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x56074118 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5d77233c mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x610b257e mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x74a0134a mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x946afcea mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x953db3fa mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x981efe92 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9d7e84ae mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9d8f3b95 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa1e56363 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xaafca89c mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb2621cf7 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb53632c4 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc6a3805e mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcf4ae0ec mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xde75ac81 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe21724b3 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe6c1e126 mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfb115157 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfe6ebecd mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x01292986 mptscsih_host_attr_groups +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x038fab21 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0768475a mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1b9a4877 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x30fbc46e mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x31c8966a mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3a1d6820 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3ee366a5 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x50d6b3d9 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x54ce6d40 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6173829c mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6677d8d9 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x705936f8 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x72df7181 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7778b1e1 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7d218fdd mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x844530a4 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x84c831e1 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8c19c1b2 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8dd3081f mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa213fdd1 mptscsih_show_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc2c186fe mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc37fb67b mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd1f718d0 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd4cf3430 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe912965b mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfc269d19 mptscsih_host_reset +EXPORT_SYMBOL drivers/mfd/axp20x 0x756bfabd axp20x_match_device +EXPORT_SYMBOL drivers/mfd/axp20x 0x9400c154 axp20x_device_remove +EXPORT_SYMBOL drivers/mfd/axp20x 0xd7608fa2 axp20x_device_probe +EXPORT_SYMBOL drivers/mfd/dln2 0x64ff6072 dln2_register_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0x8350bb24 dln2_unregister_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0xc9ce91f7 dln2_transfer +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x6666fc4b pasic3_write_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xc5f70f59 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x1256f3cd mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x13bf5692 mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x314dc70c mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xae3c8fa0 mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xbedb026b mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xcfbe71ca mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xd597ae85 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xe9757fa2 mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xed48061d mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xefd99498 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xf9f2ae64 mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/qcom_rpm 0xd520f912 qcom_rpm_write +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0x0c6ad2cf tps65010_config_vdcdc2 +EXPORT_SYMBOL drivers/mfd/tps65010 0x28485130 tps65010_config_vregs1 +EXPORT_SYMBOL drivers/mfd/tps65010 0x33739de7 tps65010_set_vib +EXPORT_SYMBOL drivers/mfd/tps65010 0x9fd44c69 tps65010_set_led +EXPORT_SYMBOL drivers/mfd/tps65010 0xb14080cc tps65010_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0xd5bb106d tps65010_set_vbus_draw +EXPORT_SYMBOL drivers/mfd/tps65010 0xe99b3f36 tps65010_set_gpio_out_value +EXPORT_SYMBOL drivers/mfd/wm8994 0x52a75cf3 wm8958_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x609de76a wm8994_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x6ec1f2e9 wm8994_base_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xcdc55ede wm1811_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xe51ebfb7 wm8994_irq_exit +EXPORT_SYMBOL drivers/mfd/wm8994 0xef6b38fa wm8994_irq_init +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0xc5801fd1 ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0xfa8ead91 ad_dpot_probe +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x5bafa76e altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x0cd68bb9 c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0x10a5653a c2port_device_unregister +EXPORT_SYMBOL drivers/misc/tifm_core 0x0ffb277f tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x3c996541 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x4ab8b9b9 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x4abdb3f2 tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x64f18d17 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x67cda255 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x6e82615f tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x7b344913 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xaad6e92a tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xacdcd015 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xb28e6254 tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xb3bdadf7 tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xbfddcd83 tifm_alloc_adapter +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x1e1bde10 cqhci_resume +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x44e6c25d cqhci_pltfm_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x49fcdf5b cqhci_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xac747dc6 cqhci_deactivate +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xc1de069c cqhci_irq +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x5f1389ad dw_mci_remove +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x8ca33257 dw_mci_probe +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0xc959a119 dw_mci_runtime_resume +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0xcf9c06bb dw_mci_runtime_suspend +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x39e5df28 mmc_spi_put_pdata +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0xb06bb546 mmc_spi_get_pdata +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x324e142a cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x4a9ecf45 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x7fd86264 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x9cd70244 cfi_merge_status +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xb0b06409 cfi_build_cmd_addr +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xb1102f8e cfi_build_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xb7699e2a cfi_send_gen_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xff9fa623 cfi_udelay +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xc18a8974 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xd32be763 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xd3afdc5f register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xfe007ce2 map_destroy +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x5a6457d7 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0xfdc0e056 lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0x83fb71b9 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x1ed62acd mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/mtd 0xb325b61a mtd_concat_create +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x102603bc mtk_ecc_get_parity_bits +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x5437e775 mtk_ecc_disable +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x5de55d81 mtk_ecc_get_stats +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x6df58afb mtk_ecc_release +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x76e53683 mtk_ecc_wait_done +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x8dcc87d2 mtk_ecc_enable +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0xc1dbdf05 of_mtk_ecc_get +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0xda64ef4a mtk_ecc_adjust_strength +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0xec8b9207 mtk_ecc_encode +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x04cb9462 nand_ecc_sw_hamming_correct +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x0b345f65 nand_ecc_unregister_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x0c38f933 nand_ecc_sw_hamming_get_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x1bfbab09 nand_ecc_sw_bch_calculate +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x2555f4ac nand_ecc_sw_hamming_cleanup_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x372d8695 nand_ecc_put_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x3f3bbb73 nand_ecc_get_sw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x4381d173 nand_ecc_cleanup_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x4999c936 nand_ecc_finish_io_req +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x5c4e6a77 nand_ecc_sw_bch_init_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x5dc29ce4 nand_ecc_get_on_die_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x6e85ca41 nand_ecc_get_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x72ffff48 nand_ecc_is_strong_enough +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x8f764cfc nand_ecc_sw_bch_correct +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x99bd83d6 nand_ecc_sw_bch_cleanup_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xb8c89471 nand_ecc_sw_bch_get_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xcecaa5c0 of_get_nand_ecc_user_config +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xde5472a3 nand_ecc_register_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xe6db989b ecc_sw_hamming_correct +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xf0e29263 nand_ecc_sw_hamming_init_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xf586361c nand_ecc_prepare_io_req +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xf68d02d8 nand_ecc_init_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xf9fac00f nand_ecc_sw_hamming_calculate +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xff4351b0 ecc_sw_hamming_calculate +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0x9635565f flexonenand_region +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xd9534428 onenand_addr +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x01b6959b denali_init +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x04c9da6b denali_remove +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x30db096f denali_calc_ecc_bytes +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x50c43d54 nand_read_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x55b417ed rawnand_sw_hamming_correct +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x5edbdb5c rawnand_sw_bch_correct +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x7a3a469c nand_scan_with_ids +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x7cbd2757 rawnand_sw_bch_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8ecbb3b8 nand_check_erased_ecc_chunk +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x95be3495 nand_write_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xa9fb2197 nand_monolithic_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xb323d713 nand_get_set_features_notsupp +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xb5e33a06 rawnand_dt_parse_gpio_cs +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xc953864e rawnand_sw_hamming_cleanup +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xcf80ed4e rawnand_sw_hamming_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xd180c8ad nand_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xd2227665 nand_monolithic_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xd6e97abe rawnand_sw_hamming_calculate +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xeb37f43c nand_create_bbt +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xf0014e13 rawnand_sw_bch_cleanup +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xfe5e50f6 nand_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/omap_elm 0x90462ac9 elm_config +EXPORT_SYMBOL drivers/mtd/nand/raw/omap_elm 0xef42b500 elm_decode_bch_error_page +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x0186ea0f arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x50452032 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x60059e41 free_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6bb82d68 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x939fea66 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xc4c80cb7 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xdb11a6d3 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe6a3ecbe arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe6e22df3 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xf098ad8b arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xf17c12b1 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x5d3679be com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x9b238a91 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xa23417ea com20020_found +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0x1bbfe7de ctucan_probe_common +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0x4a652350 ctucan_resume +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0xe9542488 ctucan_suspend +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x17c048ec b53_fdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x195aebd0 b53_vlan_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x1cba8363 b53_br_set_stp_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x23067883 b53_fdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2d0aa578 b53_br_flags_pre +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2ef23281 b53_phylink_mac_link_down +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3179b82a b53_get_ethtool_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x370824ad b53_br_fast_age +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3bcf2564 b53_mdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4d5b2892 b53_configure_vlan +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x51bf50cf b53_br_leave +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5c04d51b b53_get_sset_count +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x61ecca1d b53_setup_devlink_resources +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6342790e b53_switch_detect +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6c61d666 b53_enable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7efa60a8 b53_br_join +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8174087f b53_get_tag_protocol +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x839067c3 b53_phylink_mac_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x935010a9 b53_fdb_dump +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x979b9f48 b53_br_flags +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x9cada0c2 b53_get_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa163ecb3 b53_port_event +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa466a7fd b53_imp_vlan_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa5df58ef b53_vlan_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb2f2dc8b b53_brcm_hdr_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb651b5bf b53_eee_enable_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb873316c b53_get_strings +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb94db4ba b53_mirror_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xbbe8b7f4 b53_get_ethtool_phy_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc1c2af82 b53_switch_register +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd39e16ac b53_disable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd5f775ba b53_mdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd621363c b53_eee_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd809eff5 b53_vlan_filtering +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe0bb7df2 b53_phylink_mac_link_up +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf176be97 b53_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf4f30317 b53_set_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xfb43fb1d b53_mirror_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x07e86c1a b53_serdes_phylink_get_caps +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x199d7087 b53_serdes_link_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x52e7a9fb b53_serdes_phylink_mac_select_pcs +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x98e64127 b53_serdes_init +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x50fd4223 lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x57438994 lan9303_shutdown +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xada83f40 lan9303_register_set +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xddb912c0 lan9303_remove +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0x6243b234 ksz8_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0xdd898647 ksz9477_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x2a24bcc1 ksz_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x78546bc6 ksz_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0xfb3447bf ksz_switch_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x7e875a41 vsc73xx_shutdown +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x96be1e35 vsc73xx_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x99d242fe vsc73xx_is_addr_valid +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0xd91f644a vsc73xx_probe +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x151f1c86 xrs700x_switch_remove +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x3b05d825 xrs700x_switch_register +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x83b7b667 xrs7003f_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x8887ad08 xrs700x_switch_shutdown +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x8972bf7e xrs7004f_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xa716bfb6 xrs700x_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xb25facfa xrs7003e_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xb89aa5e3 xrs7004e_info +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x107b5bf6 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x27b41582 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x4f229b87 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x61efcdb5 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x78f34d33 ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x847a2a48 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x88854265 ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xb6781d04 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xbc4deef4 ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xfbc77136 ei_close +EXPORT_SYMBOL drivers/net/ethernet/aquantia/atlantic/atlantic 0x9b089d76 aq_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnxt/bnxt_en 0x658f7769 bnxt_ulp_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x8b421ad4 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0xce2d88b8 cavium_ptp_get +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0xed4d6188 cavium_ptp_put +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x0d8be5fd bgx_lmac_rx_tx_enable +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x34eeb48a bgx_set_dmac_cam_filter +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x42264715 bgx_get_lmac_count +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x46cdf933 bgx_config_timestamping +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x539ca253 bgx_get_lmac_mac +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x60cd1f2f bgx_lmac_get_pfc +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x6ca2152d bgx_lmac_set_pfc +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x716fd7f0 bgx_reset_xcast_mode +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x72b238e4 bgx_get_rx_stats +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xbe654297 bgx_get_tx_stats +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xc397f585 bgx_lmac_internal_loopback +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xc82be691 bgx_get_map +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xd8ed0bcc bgx_set_lmac_mac +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xf101d1b2 bgx_get_lmac_link_state +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xff987a02 bgx_set_xcast_mode +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_xcv 0x13912e4b xcv_init_hw +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_xcv 0x4f739dc0 xcv_setup_link +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x146e5526 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x3ed80979 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x3f304fe7 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x45dbf2e3 t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x494f0658 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x610071ce cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x68e4ac23 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x75281aa8 cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7ba28424 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xa1ea4a48 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xbb6fa236 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xdcb1def5 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xe2e69471 cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xe328d5bb t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xe429e1dc cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xfef8c8eb cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x010d66dd cxgb4_reclaim_completed_tx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x030f73ad cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x04c2044e cxgb4_smt_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0f1a5528 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x132e1941 cxgb4_l2t_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1488147e cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1953f248 cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1a6fd959 cxgb4_clip_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x20111a4d cxgb4_write_partial_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3164704e cxgb4_alloc_sftid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3dc0373b cxgb4_check_l2t_valid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4722de79 cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4951507e cxgb4_clip_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4c098dda cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4cdae8ba cxgb4_remove_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50ee5c07 cxgb4_best_aligned_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x551812c1 cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x58045e58 cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5e2a45eb cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6145c069 cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6577beed t4_cleanup_clip_tbl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x70730b22 cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x82ed4355 cxgb4_immdata_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x883981c4 cxgb4_write_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x89afb3a0 cxgb4_create_server6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8e1a0e66 cxgb4_remove_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9de91289 cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9e7cf8b1 cxgb4_map_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa1d20ba1 cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa3ae1f58 cxgb4_inline_tx_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa8db193f cxgb4_smt_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbd9d8fcb cxgb4_read_tpte +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc0231b73 cxgb4_read_sge_timestamp +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc44ae818 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc638274b cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc897eb08 cxgb4_port_e2cchan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc8f8d3e2 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xcc4e29c3 cxgb4_create_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd928c0c6 cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xdbeb842e cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xddd70ec1 cxgb4_get_srq_entry +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xdfecc9db cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe0345d12 cxgb4_update_root_dev_clip +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe2a8519f cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe70f5474 cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe8bbe147 cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf84f4442 cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf91e01d2 cxgb4_ring_tx_db +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfaba16dc cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x0555aa07 cxgbi_ppm_make_ppod_hdr +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x1bdaafe1 cxgbi_tagmask_set +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x255ab30f cxgb_get_4tuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x5bc2e0b4 cxgb_find_route +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x865ef910 cxgbi_ppm_ppod_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x884332ca cxgbi_ppm_ppods_reserve +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xb51e25c3 cxgbi_ppm_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xd94739e9 cxgbi_ppm_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xfd53df95 cxgb_find_route6 +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x5e1670fb vnic_dev_get_res_count +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x7c744276 vnic_dev_get_pdev +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x97157bd3 vnic_dev_register +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xa9ab7c52 vnic_dev_unregister +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xcc651939 enic_api_devcmd_proxy_by_index +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xd9e19e8a vnic_dev_get_res +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x4e2e10d2 be_roce_mcc_cmd +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x92e7ed29 be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0xf5651e44 be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/freescale/dpaa2/fsl-dpaa2-eth 0x4412391e dpaa2_phc_index +EXPORT_SYMBOL drivers/net/ethernet/freescale/dpaa2/fsl-dpaa2-eth 0x51986ae1 dpaa2_ptp +EXPORT_SYMBOL drivers/net/ethernet/freescale/enetc/fsl-enetc-ierb 0x31e0c909 enetc_ierb_register_pf +EXPORT_SYMBOL drivers/net/ethernet/freescale/enetc/fsl-enetc-ptp 0x5431a304 enetc_phc_index +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x1a66333e fun_release_irqs +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x38021f16 fun_reserve_irqs +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x8df00b12 fun_dev_disable +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0xd53b7e1c fun_dev_enable +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x0f4c678c hnae_ae_register +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x23d8d60b hnae_put_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x5f4b8bfd hnae_reinit_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x799a496e hnae_ae_unregister +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xb1266858 hnae_register_notifier +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xd430eb4a hnae_get_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xdf24adef hnae_unregister_notifier +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hns_dsaf 0x5a382e60 hns_dsaf_roce_reset +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x3e0a13cb hnae3_unregister_ae_algo_prepare +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x4b004c5b hnae3_register_ae_algo +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x57e08871 hnae3_register_client +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x59161632 hnae3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x9610bbea hnae3_unregister_ae_dev +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x98e625a9 hnae3_register_ae_dev +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x9e06232d hnae3_unregister_ae_algo +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0xb3a0598c hnae3_set_client_init_flag +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x51e19fa2 iavf_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0xcd5a84a3 iavf_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/ice/ice 0x965ff908 ice_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/intel/ixgbe/ixgbe 0xbaa35511 ixgbe_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x06d5e8e4 otx2_mbox_destroy +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x0ef44cc2 __traceiter_otx2_msg_interrupt +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x19f152b2 __traceiter_otx2_msg_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x2a61a894 otx2_mbox_alloc_msg_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x364e8761 __SCK__tp_func_otx2_msg_interrupt +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x40931114 otx2_mbox_regions_init +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x49286d3c __tracepoint_otx2_msg_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x4bcb451e otx2_mbox_nonempty +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x4d90631b __tracepoint_otx2_msg_interrupt +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x4ff517a9 otx2_mbox_busy_poll_for_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x523457e2 otx2_mbox_wait_for_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x585d601e otx2_mbox_reset +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x6365a74f __SCK__tp_func_otx2_msg_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x643c9c4d otx2_mbox_init +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x8f772a3f otx2_mbox_id2name +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xa5c1a88a otx2_mbox_get_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xa766b56e __traceiter_otx2_msg_process +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xad8235fe otx2_mbox_msg_send +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xae1d311e __otx2_mbox_reset +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xb150b38c __tracepoint_otx2_msg_process +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xc54d3096 otx2_mbox_check_rsp_msgs +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xcef3985a __SCK__tp_func_otx2_msg_process +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xfdc2d51b otx2_reply_invalid_msg +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x02722b8a mbox_handler_nix_txsch_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x177b7ce7 cn10k_lmtst_init +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x18d7e207 otx2_setup_tc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x1ab90061 otx2_sq_append_skb +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x1adb14c9 otx2_handle_ntuple_tc_features +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x29375458 otx2_tc_alloc_ent_bitmap +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x29c4863b otx2_shutdown_tc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x31c97672 otx2_stop +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x31fd4c0c otx2vf_mcam_flow_init +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x33103089 otx2_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x3d2daf3a otx2_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x472b355a otx2_open +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x4990e837 mbox_handler_npa_lf_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x57d5aafb otx2_get_stats64 +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x72d8a8e7 otx2_mbox_up_handler_cgx_link_event +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x8f98e2cb otx2_set_real_num_queues +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x9aba2b53 otx2_nix_config_bp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x9d146b0d mbox_handler_nix_lf_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xa345f710 otx2_init_tc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xada61fbf mbox_handler_nix_bp_enable +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xae60baed otx2_ioctl +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xb26e07bf otx2vf_set_ethtool_ops +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xb703142b otx2_alloc_mcam_entries +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xb94d1578 otx2_config_pause_frm +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xbfc91086 otx2_attach_npa_nix +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xc032a063 otx2_detach_resources +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xc9744e96 otx2_get_mac_from_af +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xccd364f1 otx2_mcam_flow_del +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xcd419e29 otx2_set_mac_address +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xe74a6d5a otx2_config_hwtstamp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xea1d69fe mbox_handler_msix_offset +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xeffd130b otx2_get_maxflows +EXPORT_SYMBOL drivers/net/ethernet/marvell/prestera/prestera 0x1024ef3c prestera_device_register +EXPORT_SYMBOL drivers/net/ethernet/marvell/prestera/prestera 0xbb5b1324 prestera_device_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0bc8001a mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0c4007dc mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0e1a73b6 mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1075e0f2 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x10a3674d mlx4_test_async +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1696d498 mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1ff2f64d mlx4_get_eqs_per_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x24b77e9f mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2679f09f mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x282f297d get_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2f6c9c98 mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x39e74a87 mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3e9cfc7d mlx4_get_parav_qkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x43c19994 mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x43fc5425 mlx4_sync_pkey_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5378dd35 mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x57165114 set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5cea70b7 mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x71d990f4 mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fdde0b4 mlx4_handle_eth_header_mcast_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x81cabf80 mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x82a9e5d7 mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x837e2de2 mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x84300e70 mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8a09e672 mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9075da88 mlx4_query_diag_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x98a78033 mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9d4a78e0 mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa0e44715 mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb9881544 mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb990b234 mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc30bc921 mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc6046bbb mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc621d540 mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc9d0cf0c mlx4_SET_PORT_user_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcc70e091 mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd0bc29ec mlx4_SET_PORT_user_mtu +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd4783eb8 mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe17cb43a mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe271b302 mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe690a5fc set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xee39dc1d mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xefc57abe mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf21ef1de mlx4_gen_port_state_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf6bf46d8 mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x007fbce7 mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x01b09e37 mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x04e4d921 mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0550ad23 mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x062157e8 mlx5_cmd_out_err +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0648f5b2 mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x073c2c9a mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x088893d7 mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x096650be mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x09cad7a9 mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0a1f56f1 mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0a21b020 __traceiter_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0a2f2188 mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0acd08db mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0d937c1e mlx5_eswitch_get_vport_metadata_for_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x15c2b46a __traceiter_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x17dee4e6 mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x17f0aded mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1957a611 mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x198ca804 mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1c57c524 __traceiter_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e38486c __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1f13a081 mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x22236e35 mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x22bce683 __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x247c472b mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x249f4e4a mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x254267c0 mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x260bae3f mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2969c6a2 mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2d2ae014 mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2e95ec4c mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2faa3102 __traceiter_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x313394de mlx5_create_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x32e1f122 mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x32fc77d1 __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3475821f __SCK__tp_func_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x353c3a97 mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x368e7ebc mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3956791e __traceiter_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3a8f4094 mlx5_debugfs_get_dev_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3aa57cbf mlx5_core_alloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3c6972ea mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e0f1d05 mlx5_is_roce_on +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e7eef4d mlx5_rsc_dump_cmd_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3fd39f3e mlx5_mpfs_del_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x40ffef42 mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4296f492 mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x44ddf54b mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x48235e69 mlx5_cmd_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4842980a mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4d5f5c07 __SCK__tp_func_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4dd531cc mlx5_mpfs_add_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4ff60855 mlx5_lag_is_master +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x50854ff3 mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x54fa100c mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x559ac38d __SCK__tp_func_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x56128ed6 mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5b6994df mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5c6e2b0d mlx5_create_flow_group +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5d7220e0 mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5fee5880 __traceiter_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x61492bb7 mlx5_rl_are_equal +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x624305bb mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x62981045 mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x63aea955 mlx5_eswitch_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x64481c14 mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6815418f mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x68181b3d mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6847e4f4 mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x685b987b mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x686f9bdb mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6ba0288a mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6ccc0e70 mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6dc56925 mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6e0f8734 mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x70c213ec mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7261330b __SCK__tp_func_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x740e80ac mlx5_vf_put_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7b359a09 __SCK__tp_func_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7bb8866f mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fd709fe __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7feccf85 mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x80b06a45 mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x80b9c9f6 mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x820db5b1 mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x85cf34a9 mlx5_vf_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x872e7c67 __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x889defb3 mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x88ea840c mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8b247c80 mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x91cb0070 mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x91fbf1a7 mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9354cb17 mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x965ec8b1 mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96eb2c99 mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9a102377 mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9ce606eb mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d6135dc __SCK__tp_func_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9e495a8f mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9f37ea67 mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9f7ca62d mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9fd68858 mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa03d4492 mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa07235ea mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa0742252 mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa376089e mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa5aaebe6 mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa8d292b7 mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa9cb0b9e mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa9f03647 mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaa3e6d47 mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xab521f6e __traceiter_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xad6815cd mlx5_rsc_dump_cmd_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xae96d1f4 mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaf1be901 mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb08b41a5 mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb28dbbe8 mlx5_destroy_flow_group +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb491ae15 mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb71957b3 mlx5_lag_get_num_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb72cffaf __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb85d0872 mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba5c2f4f __traceiter_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbb475e47 __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbbba1272 mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbbce85df mlx5_query_ib_port_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbe262955 mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc47b5d09 mlx5_sriov_blocking_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc56290f0 mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc5b9bcbb mlx5_rsc_dump_next +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc851bf64 mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc002b85 mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcd797664 mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcdd87421 mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcfe3e365 mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd020dd1f __traceiter_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd6c3be3d __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd86c0249 mlx5_lag_get_peer_mdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xda5acd06 mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdb251eaf mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdc98608b mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xde85255f mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe06f3447 mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe1cd75e9 mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe4e09c2b __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe5ad0cad mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe5b6e0c3 mlx5_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe62c7afa mlx5_lag_is_shared_fdb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe82c2a13 mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xea461d37 mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeb6f50c3 mlx5_cmd_do +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeb9a8bcf __SCK__tp_func_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf385de22 mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf41bf7a0 mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf56e10d8 mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf846b8d7 mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf88d57b1 __SCK__tp_func_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfc8e744e __SCK__tp_func_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfcb26a2a mlx5_sriov_blocking_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0xaf1a42d8 mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0137f952 mlxsw_afk_values_add_buf +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02815b77 mlxsw_env_module_port_up +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02dfd3d0 mlxsw_afk_key_info_block_encoding_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x07abcc0c mlxsw_afa_block_append_trap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x087c0c78 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0ca34ccf mlxsw_core_max_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e8f822f mlxsw_env_get_module_eeprom +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x10d3c264 mlxsw_core_port_is_xm +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x14e17bb4 mlxsw_linecards_event_ops_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x15801382 mlxsw_afk_key_info_put +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x162eb283 mlxsw_core_trap_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x189133d5 mlxsw_env_reset_module +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x18b0ad00 mlxsw_afa_block_append_police +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x19fa5852 mlxsw_core_flush_owq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1c6605f6 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1cb8f858 mlxsw_reg_trans_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x202693f0 mlxsw_afa_block_cur_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x21daf3af mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2a4ddd44 mlxsw_env_get_module_power_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x322e04f4 mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x38185d87 mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4036254f mlxsw_linecards_event_ops_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x406b4614 mlxsw_afa_block_append_counter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x41c69612 mlxsw_core_bus_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x436cb381 mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x43a9b87e mlxsw_afa_block_terminate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x47041e4e mlxsw_afk_key_info_blocks_count_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x484489a4 mlxsw_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4b0bae55 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4e6be521 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x508923e3 mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x51b5769d mlxsw_env_module_overheat_counter_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x55a65610 mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5a099407 mlxsw_afa_block_append_qos_dscp +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5a939205 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5cf3dd79 mlxsw_core_bus_device_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5ff17b5c mlxsw_afa_block_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x618a30ab mlxsw_afa_block_commit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x63874d4c mlxsw_core_port_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x641847ba mlxsw_afa_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x65e16da4 mlxsw_afk_key_info_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6929f2b4 mlxsw_env_module_port_map +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6fb0d6a8 mlxsw_core_skb_transmit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7085c7c7 mlxsw_core_rx_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73489011 mlxsw_afa_block_append_ip +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7398c08c mlxsw_core_trap_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x75339042 mlxsw_core_lag_mapping_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77d83398 mlxsw_core_read_frc_l +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7b0bfeec mlxsw_core_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7ca5b4d4 mlxsw_afa_block_append_sampler +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7e08c6e0 mlxsw_core_event_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7f659d4c mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x827a2f1f mlxsw_afa_block_jump +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x829e8851 mlxsw_afa_block_first_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x83fb69af mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x858c30d0 mlxsw_afa_block_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8854d198 mlxsw_reg_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x902c3533 mlxsw_core_schedule_dw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x93650b58 mlxsw_afa_block_append_mirror +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x963cfb6a mlxsw_core_resources_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x97035a9c mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x97e62e6e mlxsw_env_get_module_eeprom_by_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x98bfa19b mlxsw_env_set_module_power_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x98d00b85 mlxsw_core_rx_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x996c5d6d mlxsw_reg_trans_bulk_wait +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x9cbf026d mlxsw_afa_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x9d8af539 mlxsw_core_traps_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x9e41f494 mlxsw_afk_encode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7765e88 mlxsw_reg_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa8cccf0b mlxsw_core_port_devlink_port_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xabfe1459 mlxsw_core_trap_state_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xac1074a5 mlxsw_core_skb_transmit_busy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb1d1cfe8 mlxsw_core_ptp_transmitted +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb6517b2e mlxsw_afa_block_append_trap_and_forward +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb68e9fa8 mlxsw_env_module_port_unmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb6b40684 mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xba05b3b0 mlxsw_core_emad_string_tlv_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbbaf3a64 mlxsw_core_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbc222a8d mlxsw_afk_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfb7df3c mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xcbab836f mlxsw_core_fw_rev_minor_subminor_validate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xce7e194c mlxsw_core_port_eth_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd28256cf mlxsw_afa_block_append_allocated_counter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd71566b9 mlxsw_core_schedule_work +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd7a93413 mlxsw_core_event_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd84eb6b0 mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd9b66364 mlxsw_core_traps_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd9f711ae mlxsw_afa_block_append_mcrouter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdc31781e mlxsw_reg_trans_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdc415cf1 mlxsw_afa_block_continue +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xde4e211f mlxsw_afa_block_append_l4port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeab0691 mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeb1dc2e mlxsw_afa_block_first_kvdl_index +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeb49d96 mlxsw_core_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe16986dd mlxsw_afa_block_activity_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe5540be5 mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xecab212a mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xed2801d4 mlxsw_env_module_port_down +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xeda7a5d0 mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf82bdc70 mlxsw_core_lag_mapping_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xff007c25 mlxsw_core_cpu_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x3061635f mlxsw_i2c_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x89bc5267 mlxsw_i2c_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x0faa1865 mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x12bed2cd mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x045a529e ocelot_port_lag_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0eaedf8f ocelot_get_txtstamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x12f4e7d0 ocelot_init_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x157df82d ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x18542690 ocelot_deinit_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1941914e ocelot_get_ethtool_stats +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x19453204 vsc7514_vcap_is1_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1d6c2fc4 ocelot_ptp_verify +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1e11a9c8 ocelot_vlan_prepare +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1e845044 ocelot_ptp_adjtime +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x21145775 ocelot_vcap_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2193c1c7 ocelot_sb_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x24cfcaca ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x25c0127e ocelot_ptp_gettime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2678cda7 ocelot_sb_occ_max_clear +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x274a0e05 ocelot_port_fdb_do_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x28be2943 ocelot_set_ageing_time +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2ee2eeab ocelot_vcap_block_find_filter_by_id +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x31819b81 ocelot_port_vlan_filtering +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x31d2fc24 ocelot_can_inject +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3aef44ec ocelot_sb_port_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3f9a90fc ocelot_mrp_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x41782149 ocelot_ptp_settime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x41e1f80b ocelot_port_lag_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4271543f vsc7514_vcap_es0_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4792815d ocelot_port_bridge_flags +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4a13c63b ocelot_fdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4a34ddec ocelot_sb_occ_snapshot +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4cea1fc8 ocelot_port_bridge_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4e5d909a ocelot_ptp_rx_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4f01a938 ocelot_vlan_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5085f91b ocelot_mact_lookup +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x51e10c79 ocelot_vcap_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x538592be ocelot_hwstamp_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x53f3a7f5 ocelot_port_txtstamp_request +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x58d7d1ae ocelot_sb_occ_tc_port_bind_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x597fa334 ocelot_bridge_stp_state_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6334d7f8 ocelot_devlink_sb_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x64db9e76 ocelot_deinit +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6877d457 ocelot_mact_learn_streamdata +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6e4199f2 ocelot_hwstamp_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x736c4213 ocelot_sb_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x78b83fa0 ocelot_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x792038ba ocelot_deinit_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x80a75405 vsc7514_vcap_is2_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x88dee25e ocelot_devlink_sb_register +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x90bd1f97 ocelot_port_mdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x90cbb220 vsc7514_vcap_is2_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9381969d vsc7514_ana_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x93ce451d ocelot_mrp_add_ring_role +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x967a6127 ocelot_sb_port_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x97f72794 ocelot_init_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9d442141 vsc7514_rew_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa7ebcece ocelot_vcap_filter_replace +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa8413d7e vsc7514_sys_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa8ced25b ocelot_sb_tc_pool_bind_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb049b345 ocelot_vcap_filter_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb09c1f42 ocelot_mrp_del_ring_role +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb30c4b92 vsc7514_ptp_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb45308ae ocelot_policer_validate +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb9320c9b ocelot_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbba17367 vsc7514_qsys_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbe8e7caf ocelot_port_lag_change +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbf48ddc1 vsc7514_qs_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc2f87d8c ocelot_port_set_maxlen +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc3432b59 ocelot_sb_tc_pool_bind_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc89b918d ocelot_mact_learn +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc9d2542d ocelot_port_inject_frame +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xceed5e7e vsc7514_dev_gmii_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xcf34d44c ocelot_fdb_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd0ebefd9 ocelot_ifh_port_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd5972d0e ocelot_get_sset_count +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd687a545 vsc7514_vcap_es0_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xdb272c07 ocelot_port_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe8c22a93 ocelot_fdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xea1b5ac9 vsc7514_vcap_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xea3765d0 ocelot_mact_forget +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xec12378c ocelot_mrp_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xecaa97fb vsc7514_vcap_is1_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xecb39388 ocelot_port_mdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xee527ed7 ocelot_get_strings +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xef0e6781 ocelot_drain_cpu_queue +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf0b7b8d7 ocelot_vcap_filter_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf696747e ocelot_xtr_poll_frame +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf8781058 ocelot_vlan_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xfb1806d2 ocelot_sb_occ_port_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xfbb8bbe6 ocelot_ptp_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xfcabb16d ocelot_port_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xfcd0019d ocelot_get_ts_info +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xfd27c979 ocelot_port_pre_bridge_flags +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x0ca370b1 qed_get_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x4f264472 qed_put_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x925afed7 qed_get_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x992e03d0 qed_put_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x9eeeef48 qed_put_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0xae40b628 qed_get_rdma_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0xce234644 qed_get_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0x7e178e5b qede_rdma_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0xe4d5b666 qede_rdma_register_driver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x2f8aa1b1 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x49a082d4 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x7d23a9b0 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x82b343eb hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xeb42b790 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/mdio 0x3e17f466 mdio_set_flag +EXPORT_SYMBOL drivers/net/mdio 0x60443957 mdio45_probe +EXPORT_SYMBOL drivers/net/mdio 0x63e0fee5 mdio45_links_ok +EXPORT_SYMBOL drivers/net/mdio 0xaadfd1af mdio45_ethtool_ksettings_get_npage +EXPORT_SYMBOL drivers/net/mdio 0xb79a54ee mdio45_nway_restart +EXPORT_SYMBOL drivers/net/mdio 0xcdbdeca7 mdio45_ethtool_gset_npage +EXPORT_SYMBOL drivers/net/mdio 0xdaceb7a6 mdio_mii_ioctl +EXPORT_SYMBOL drivers/net/mdio/mdio-cavium 0x08e71e2d cavium_mdiobus_read +EXPORT_SYMBOL drivers/net/mdio/mdio-cavium 0x75e69085 cavium_mdiobus_write +EXPORT_SYMBOL drivers/net/mdio/mdio-mscc-miim 0x0fa6c0a3 mscc_miim_setup +EXPORT_SYMBOL drivers/net/mdio/mdio-xgene 0x06b90327 xgene_mdio_wr_mac +EXPORT_SYMBOL drivers/net/mdio/mdio-xgene 0x761ae619 xgene_enet_phy_register +EXPORT_SYMBOL drivers/net/mdio/mdio-xgene 0x8433e0bc xgene_mdio_rgmii_write +EXPORT_SYMBOL drivers/net/mdio/mdio-xgene 0x8b7b47c0 xgene_mdio_rd_mac +EXPORT_SYMBOL drivers/net/mdio/mdio-xgene 0xf1ace927 xgene_mdio_rgmii_read +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0x228dd2a6 lynx_pcs_create +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0x7cc26175 lynx_get_mdio_device +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0xa6bf0e9e lynx_pcs_destroy +EXPORT_SYMBOL drivers/net/phy/bcm-phy-lib 0x55935c5b bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/ppp/pppox 0x22fd00ba pppox_compat_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0x2b8b446d pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0x852f3da4 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xf2ce7ded register_pppox_proto +EXPORT_SYMBOL drivers/net/sungem_phy 0x91ab6dc3 sungem_phy_probe +EXPORT_SYMBOL drivers/net/team/team 0x0f682c4d team_options_register +EXPORT_SYMBOL drivers/net/team/team 0x2c77f829 team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0x528175e0 team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/team/team 0xb2300ecc team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0xba999c88 team_modeop_port_enter +EXPORT_SYMBOL drivers/net/team/team 0xc85dad99 team_options_change_check +EXPORT_SYMBOL drivers/net/team/team 0xcafe3f3a team_option_inst_set_change +EXPORT_SYMBOL drivers/net/team/team 0xd4fb65c7 team_options_unregister +EXPORT_SYMBOL drivers/net/usb/usbnet 0x156364fc usbnet_link_change +EXPORT_SYMBOL drivers/net/usb/usbnet 0xb57ca694 usbnet_manage_power +EXPORT_SYMBOL drivers/net/usb/usbnet 0xf9e8f341 usbnet_device_suggests_idle +EXPORT_SYMBOL drivers/net/wan/hdlc 0x412d3caa hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x84cda526 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x93508a3d detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xaed16244 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc60b08a4 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd0ed02b5 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd2282db3 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xe28375ce alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0xe9e07eee unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0xf20f8c78 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x066fabde ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0b1ab353 ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0f9db14d dfs_pattern_detector_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x108b188f ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x14570cf9 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x14b3418e ath_hw_keysetmac +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x1f904aa5 ath_is_mybeacon +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x25163fb6 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x35d31d68 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4571aea8 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4e8e4b79 ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x80b27132 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x886612a7 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x95264787 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa18f224e ath_regd_find_country_by_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb6588ba6 ath_bus_type_strings +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xc8367d3d ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xe22e0ba9 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x015e5db2 ath10k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x01bf7e9a ath10k_core_fetch_board_file +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x028f8800 ath10k_ce_init_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x081fb569 ath10k_ce_completed_send_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0dfc5072 ath10k_ce_send_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x116acbd3 ath10k_core_napi_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x11f4c15c ath10k_bmi_read_memory +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1301d703 ath10k_core_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1bf79679 ath10k_ce_alloc_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x20a0c125 ath10k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2b3b41c3 ath10k_ce_completed_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2bf2d726 ath10k_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2c7c874a ath10k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2c82b438 ath10k_ce_cancel_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2e52cc16 ath10k_core_register +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2f62ff3d ath10k_htt_hif_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3115c404 ath10k_ce_alloc_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x31cda6f8 ath10k_htc_notify_tx_completion +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x436da566 ath10k_core_napi_sync_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x43721b7a __ath10k_ce_rx_num_free_bufs +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4684d0b4 ath10k_ce_free_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4afaf8f6 ath10k_core_start_recovery +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4cb36e9c ath10k_ce_rx_update_write_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x510ed746 ath10k_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5239a2fe ath10k_ce_per_engine_service_any +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x525a11ca ath10k_coredump_new +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5aa254f9 ath10k_ce_enable_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5abd650f ath10k_coredump_get_mem_layout +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5c182005 ath10k_print_driver_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5db83f54 ath10k_htc_tx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5ffbe33c ath10k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7509d82e ath10k_htt_rx_hl_indication +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x93db4056 ath10k_ce_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x99e192d8 ath10k_htc_rx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa1dac21b ath10k_ce_dump_registers +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa1e4849a __tracepoint_ath10k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb31a295c ath10k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb4d9ad89 ath10k_ce_revoke_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xbe8103bd ath10k_mac_tx_push_pending +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc2fd34c8 ath10k_ce_completed_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc32eb2b8 ath10k_core_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc3aedb45 ath10k_ce_deinit_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc6f41bde ath10k_htt_rx_pktlog_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcb44d5a7 ath10k_core_unregister +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd1d72bb3 ath10k_htt_txrx_compl_task +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xda6e901b ath10k_ce_num_free_src_entries +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xdbbd1d11 ath10k_htc_process_trailer +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe363ff7c ath10k_core_free_board_files +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe6e88039 ath10k_core_check_dt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe9cc6ca7 ath10k_bmi_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xea3d6701 ath10k_htt_t2h_msg_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xead33f7d __ath10k_ce_send_revert +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf11b9af2 ath10k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf5252035 ath10k_ce_completed_recv_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf62c1649 ath10k_ce_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfbf5fe36 ath10k_ce_send +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfd7593f5 ath10k_ce_free_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfe75fe63 ath10k_ce_disable_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x029e44ab ath11k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x02e7b8a7 ath11k_pcic_ce_irqs_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x0717a06b ath11k_core_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x151d5248 ath11k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x1b34620b ath11k_pcic_ce_irq_disable_sync +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x1d52c870 ath11k_pcic_config_irq +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x22034f63 ath11k_pcic_get_ce_msi_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x25793294 ath11k_hal_srng_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x3472ee59 ath11k_core_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x34aba5c2 ath11k_pcic_ext_irq_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x365c581f ath11k_pcic_read32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x379c0df4 ath11k_pcic_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x3adf05b7 ath11k_core_pre_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x3cb903d2 ath11k_pcic_map_service_to_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x3f4b3e99 ath11k_dp_service_srng +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x510a34d8 ath11k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x51d1dcfc ath11k_ce_get_shadow_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x606a5b5a __tracepoint_ath11k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x619473d5 ath11k_ce_alloc_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x6242a928 ath11k_pcic_ext_irq_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x649efa41 ath11k_ce_free_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x64f9a70d ath11k_debugfs_soc_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x769980e2 ath11k_core_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x85d188c4 ath11k_pcic_free_irq +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x8fec02d7 ath11k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x955c0539 ath11k_pcic_get_user_msi_assignment +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x9c51bcc4 ath11k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xacc48271 ath11k_pcic_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xb656ec97 ath11k_pcic_write32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xb89e388e ath11k_pcic_get_msi_address +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xbc553a15 ath11k_ce_cleanup_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xc74d7c62 ath11k_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xd22ebb2b ath11k_qmi_deinit_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xd44cebbf ath11k_core_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xda1c797f ath11k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xdd6c727c ath11k_pcic_register_pci_ops +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xe14fcfb5 ath11k_pcic_init_msi_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf0197188 ath11k_cold_boot_cal +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf28a93a1 ath11k_ce_get_attr_flags +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf6fc0616 ath11k_core_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf7b42ad0 ath11k_hal_srng_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1354043d ath6kl_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1ddb52c7 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x2b5f86b8 ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3502feef ath6kl_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4f2287b0 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x5db4a8e7 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x615ad5b2 ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x6325d7e5 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x93664db5 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xa95c364a ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb881b1a9 ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb9a689dd ath6kl_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xd80118be ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xf6728588 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xfb7433a2 ath6kl_read_tgt_stats +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x10f23431 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2676486e ath_cmn_process_fft +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2ebfb376 ath9k_cmn_rx_accept +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x41aae67b ath9k_cmn_debug_stat_rx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x492c841d ath9k_cmn_process_rate +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x58c3c2fe ath9k_cmn_debug_base_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x6105b048 ath9k_cmn_init_channels_rates +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x6309a852 ath9k_cmn_reload_chainmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x65f97335 ath9k_cmn_spectral_init_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7785cd3a ath9k_cmn_beacon_config_ap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7c34db30 ath9k_cmn_beacon_config_sta +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7ee4a1ed ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x8ef17ad5 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x92441f2c ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xa78e5d73 ath9k_cmn_debug_modal_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xabf1943a ath9k_cmn_beacon_config_adhoc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb66dd03f ath9k_cmn_rx_skb_postprocess +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb7fedc85 ath9k_cmn_debug_recv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xbc587862 ath9k_cmn_setup_ht_cap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xbd941b7b ath9k_cmn_spectral_deinit_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xcc7dbe98 ath9k_cmn_process_rssi +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xee52057c ath9k_cmn_spectral_scan_trigger +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xfb7e2a3c ath9k_cmn_get_channel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xfc272a7e ath9k_cmn_spectral_scan_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0238a422 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x052e6553 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x053cff4f ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x05655884 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x06b9f40a ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x08156500 ath9k_hw_wow_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x09df087e ath9k_hw_wow_apply_pattern +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0a22fb8b ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0a5a0bc6 ath9k_hw_wow_wakeup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0c50b2fe ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0d0e85fe ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f77dafc ath9k_hw_get_tsf_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x10621157 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x10b98d50 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x150457b2 ar9003_mci_set_bt_version +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x170654fc ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1b1eeb12 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1d944a42 ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2058861b ath9k_hw_gpio_request_in +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2423ce36 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x250c7614 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x28fefb5e ar9003_mci_send_wlan_channels +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2a86e228 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2e07d869 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x301cefd1 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x31014d04 ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x33a1b079 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3466b68e ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x34c69190 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3951d8ac ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3978545e ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3e95633b ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3ebe4e83 ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x49a49f3b ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4b9398d9 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4d288749 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4f805939 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x54309a34 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x553a2aec ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5608e00d ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x575fd44b ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x590a62be ath9k_hw_loadnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x59dafb8c ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5b7a5e28 ath9k_hw_check_nav +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5c593838 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5d226a89 ar9003_hw_bb_watchdog_check +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5d8fa066 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6151678a ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x61e923e8 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6517327e ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x659c433c ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x663255bf ath9k_hw_kill_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x66a64c24 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x69ca94b0 ar9003_mci_get_next_gpm_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6db363c4 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x70c43c50 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x70d53598 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x741cee3f ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x74cba8e4 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x78000698 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x79034d11 ath9k_hw_gpio_request_out +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fefbc7a ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8887d625 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8b790b6c ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8b7a59d6 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x904c6436 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x918e797b ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x949f3939 ath9k_hw_gpio_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x957d260a ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9b2b563c ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9bd2a398 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9d368f2e ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9eb4f5fa ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9f1fed69 ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9f57c725 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa05fd7bb ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa159fe8d ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xab14a91b ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb0838e2b ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb1f05a40 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb366d763 ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb65a0eea ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb6a49d55 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbaed7913 ath9k_hw_resume_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc026cba1 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc05e0694 ath9k_hw_btcoex_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc0777a46 ath9k_hw_btcoex_set_concur_txprio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc6b8ea8d ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc7e950de ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcb99f431 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd352dc42 ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd60e1b80 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe0230e48 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe2435956 ar9003_is_paprd_enabled +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe5158470 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe5673b19 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe69fc6c1 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe7ff961a ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe80c48a0 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe8e28170 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xeca46ba0 ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf106690e ath9k_hw_set_tx_filter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf1d920f0 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf26468cd ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf79ebdb5 ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf8ce76b7 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfa3f1451 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfd6c49d6 ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x93539d2e init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x95371a15 atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xdaf14ce9 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1906648e brcmu_boardrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1b1f4d25 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x2185d710 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x3078b2a1 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x3d2d1a03 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x4eee92e3 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x5550c2e7 brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x59fd5a74 brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x6d4129f5 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7bfd009a brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xa17c0ccf brcmu_dotrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xab0145d2 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xb8a4542d brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd6217d91 brcmu_d11_attach +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd7bce9cb brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xda79ddb6 brcmu_pktq_pdeq_match +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1cd34396 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1f395fdd libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x27ea36a6 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x3c6026c0 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x42499ddc alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x74bf2325 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7d59b3e6 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7fdeaf5b libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x8678a4cc libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xac806a15 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xad269d3e libipw_rx +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xbc4fa5e8 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xbdb226ac libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xc067ca81 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xc09e4470 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xec3c9ad4 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xee8cf837 free_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xef4bbc4f libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xf85ea5c7 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xfc88270e libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x00afa276 il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x059a6a23 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x077dad8e il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0e3e3864 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1306d904 il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1902a386 il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1f361e39 il_init_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1f597189 il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1f9b9c6e il_set_rate +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1fab5755 il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x206ba857 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x209af51b il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x21a04f0b il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x21dda353 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x225f6360 il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x23816be2 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x243b0c31 il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2543e7ae il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x258beced il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2b1eec97 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2b257739 il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2bf7eea6 il_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2c29b097 il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x30df9b3d il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x32088ed7 il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x35386f99 il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x368957fe il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x37b8517d _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3f89d7b8 il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x408b50cc il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416bd26a il_debug_level +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x421bbcb4 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x44135c46 il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x44318791 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x451ae864 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4a3aeaea il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4dec8c7a il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4ef1c765 il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4f7b5753 il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x519d2e14 il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x52c2315d il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x556330b2 il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x56195daf il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x56a02d86 il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5d25687c il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5dc8d6e2 il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5ebe7ffd il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5f36d7c1 il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5f6a3c7c il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x63163699 il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x682c5553 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6dac5ae3 il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x709af349 il_update_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x71182a5a il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7237560c il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7298d950 il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x72f12ab7 il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x741dbb2b il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x746c5e48 il_mac_flush +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x76e3df65 il_mac_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7933221a il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7b40408e il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7b482370 il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7cf83397 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7d2855ab il_force_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7d5d8c4b il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x81d7e8f3 il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8d566111 il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9aeeb5f4 il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9cc714af il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9dae7e88 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9ed4dfb4 il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa4ecc28d il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa63a2cb0 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xac884e9d il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xad60a64e il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xae9a3837 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb0842a11 il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb0d0c51d il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb1def2d7 il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb454d456 il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb4591a4d il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb65510a3 il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb7bd33ff il_isr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb8642fbc il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xba723816 il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbb6e58ca il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbd585366 il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbdf4ac02 il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc7299b1d il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc98f4cc2 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xce0388cc il_free_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xceda5e35 il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd730f81b il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdf7c5282 il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xea17ec41 il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf4d15329 _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf61dde37 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf651931a il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf70a693b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf822c3ff il_leds_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf834771c il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfa7eeb4a il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfc7599a3 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x2cd621b8 __traceiter_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x36a862e9 __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3d23c104 __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x466ae44d __SCK__tp_func_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x91c9d477 __traceiter_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x970bf4ef __SCK__tp_func_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xaaafbd3e __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd1e69877 __SCK__tp_func_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xfecf8727 __traceiter_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x0c006f00 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x1123ce43 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x49517eb6 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x4c43596f hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x5f202cd9 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x63dc550f hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x67ea3a25 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x6854ae4e hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x72262314 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x75934c58 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7c833a52 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fb75891 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x931088fa hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9a9bdd94 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9d76a739 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb985737e hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xbb54568d hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc184119b hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc252a8da hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xdec80896 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xe0ec814b hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xea456df8 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xebce13a7 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xec0c7cfe hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xf338ae28 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xf91c03e2 hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xfe0353f2 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xffb35af3 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x1160de39 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x1498990b orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x14bdfb52 orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x17b16ab0 __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x1ebb4572 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x350e74e9 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x3a78c630 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x670dc395 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x70212076 orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x811220b3 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x86ba3eb0 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x9dad6c1d orinoco_open +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xa74c2dc5 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xaf71b6ea __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xd338fc4d orinoco_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xe5e3aae2 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0x78faba3b mt76_wcid_key_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0x8d8ce048 rtl_btc_get_ops_pointer +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x053903d3 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x123908b5 _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x14bcf851 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x191f786f _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1943c6d7 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2327d91c _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x25761fd7 rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x294eb659 _rtl92c_store_pwrindex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x34cb8034 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x39ddb7de rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3a01b045 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3cade9d5 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3e6b2929 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x411535a2 rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x45246163 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4c768bd5 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6dc42536 _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7171de71 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x730c28d9 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7564f8d0 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7a6a7187 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7c8af716 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x8b94b93a rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x965d41f8 rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa04e7cd9 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa10b4d0e _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa180b2be rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb123e502 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb325a372 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb3b6e026 rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb517e36c rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb861a8a6 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbf72d971 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc4eea3af _rtl92c_phy_dbm_to_txpwr_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc88a03d1 rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xcf2437bc rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xdd5a2fd0 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe5b79424 _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe5dd5a98 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xecf056d4 rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf3f5515f _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xfca5e1cd rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x218f0dcc rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x3d91ddbf rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x6672e339 rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xebe96fa6 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x058a96a8 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x722c998e rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xe31c77c6 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xe5dd7d3b rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0b038e24 channel5g_80m +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0ef3cff6 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x103f3a6a rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1254d733 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1a4ef018 efuse_one_byte_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1b945315 rtl_addr_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2a50f3c6 rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30a956d7 rtl_query_rxpwrpercentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x34b48aaf rtl_process_phyinfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3bbd238b rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x407297cb rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x44dde88f rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4fd5327d efuse_shadow_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54824f58 channel5g +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x562e8a7d rtl_rfreg_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x59c39386 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5b6be445 rtl_signal_scale_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6f959287 rtl_collect_scan_list +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x71ae2d0f efuse_power_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8e0feec7 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8ea60059 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9c20ed22 rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9dbabe75 rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xaa5835b3 rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xaf57d37e rtl_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbab13d33 rtl_hal_pwrseqcmdparsing +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc55bf02e rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xcbddd2d2 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd0deb1e1 rtl_rx_ampdu_apply +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd374b1e9 rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd82b26c8 rtl_mrate_idx_to_arfr_id +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xdbdfeb5d rtl_cmd_send_packet +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe3640dd5 rtl_c2hcmd_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe9e2f690 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xebedfe5f rtl_wowlan_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xed7c8cf2 rtl_evm_db_to_percentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf0c87399 rtl_bb_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8723d 0x8e75e3dd rtw8723d_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8821c 0x13b59450 rtw8821c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0x6595996f rtw8822b_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0x8a57f251 rtw8822c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0b46e405 rtw_phy_write_rf_reg_mix +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1e422016 rtw_phy_cfg_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1e71d9d8 rtw_fw_do_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2657227d rtw_phy_pwrtrack_need_lck +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x28bf1d6d rtw_rx_fill_rx_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x30b002c8 rtw_phy_config_swing_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x327ae869 rtw_phy_cfg_bb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x33b3f3c0 rtw_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x34fcb462 rtw_phy_set_tx_power_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x356663dd rtw_phy_write_rf_reg_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x36c5bfca rtw_disable_lps_deep_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x374430ce rtw_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x38f197a1 rtw_dump_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3c646ee9 rtw_phy_pwrtrack_get_delta +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3ec6cf33 rtw_set_rx_freq_band +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3eec4005 rtw_phy_pwrtrack_get_pwridx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x440b7589 rtw_phy_rf_power_2_rssi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x44cd46b4 rtw_power_mode_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x46ac33c3 rtw_parse_tbl_txpwr_lmt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4c28759f rtw_phy_pwrtrack_thermal_changed +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x519c8ba9 rtw_rate_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x54d2620c rtw_coex_read_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x58210e60 rtw_rate_section +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5b5a1411 rtw_register_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x66c423b0 rtw_phy_set_edcca_th +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6dc7df23 rtw_bf_enable_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7b66909f rtw_phy_load_tables +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8ce58cf5 rtw_tx_report_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8d308ab6 rtw_tx_write_data_rsvd_page_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x938e8989 check_hw_ready +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9643bb5a rtw_phy_read_rf_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x99f67c2e rtw_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9d236cd5 rtw_phy_pwrtrack_avg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa324f9d5 rtw_rx_stats +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xac2b6e1f rtw_set_channel_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xacb6de0f rtw_phy_get_tx_power_index +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xaf692202 rtw_tx_write_data_h2c_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb33c79c9 rtw_parse_tbl_bb_pg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb3721572 rtw_dump_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb59c78fe rtw_unregister_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb783152c rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb7b46817 rtw_fw_c2h_cmd_isr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbba933fa rtw_regd_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbe620689 rtw_phy_cfg_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbefbc6ec __rtw_dbg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc54d4c2d rtw_fw_inform_rfk_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc5f0f804 rtw_restore_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xca3f834f rtw_tx_fill_tx_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xcbdacbee rtw_bf_enable_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd159ccd0 rtw_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd61231ba rtw_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd867a9ec rtw_phy_parsing_cfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd8c867f1 rtw_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe03498f1 rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe1f5981a rtw_phy_cfg_agc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe545a832 rtw_bf_remove_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe9101d40 rtw_bf_set_gid_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xea25d48c rtw_coex_write_scbd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xea47b490 rtw_phy_pwrtrack_need_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xed0ed736 rtw_parse_tbl_phy_cond +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xed5bcbe7 rtw_bf_cfg_csi_rate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xee140967 rtw_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf28abd6c rtw_read8_physical_efuse +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf77c46ac rtw_fw_c2h_cmd_rx_irqsafe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xff8fbecd rtw_bf_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x016a4cc2 rtw_pci_shutdown +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x2880fabd rtw_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x3fe497e0 rtw_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xa2d6ff2c rtw_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_8852a 0xb5ccfb45 rtw8852a_chip_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_8852c 0x59f765da rtw8852c_chip_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x00a793d6 rtw89_rfk_parser +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x01b2debd rtw89_mac_get_txpwr_cr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x054a1be2 rtw89_mac_enable_bb_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x08901fca rtw89_core_napi_start +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x10430ce2 rtw89_core_napi_stop +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x1276e203 rtw89_phy_write_reg3_tbl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x147e9afc rtw89_rs_nss_max +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x1a86bb9d rtw89_mac_set_err_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x1c3ffc1b rtw89_mac_coex_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x1fec7706 rtw89_phy_get_txsc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x26189958 rtw89_core_fill_txdesc_fwcmd_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x2bc264cd __rtw89_debug +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x2c0f692b rtw89_core_query_rxdesc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x30af5a2e rtw89_mac_stop_sch_tx_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x3833d86a rtw89_btc_ntfy_wl_rfk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x3ab5b5ed rtw89_mac_disable_bb_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x3e6f9dce rtw89_phy_load_txpwr_byrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x45288738 rtw89_core_unregister +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x453c6473 rtw89_core_napi_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x4811aa4b rtw89_phy_tssi_ctrl_set_bandedge_cfg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x5489c4ba rtw89_core_napi_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6289c84a rtw89_phy_fill_txpwr_limit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x639577cd rtw89_mac_cfg_ctrl_path_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x64b31b1f rtw89_phy_fill_txpwr_limit_ru +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x65deabdb rtw89_mac_cfg_gnt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6e8f5a63 rtw89_mac_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x70547523 rtw89_phy_config_rf_reg_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x78d770fc rtw89_core_register +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7a39f2c9 rtw89_phy_read_txpwr_limit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fb82a5e rtw89_phy_read_rf_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x81105257 rtw89_mac_resume_sch_tx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x82e2d8b6 rtw89_phy_write_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x84616b2f rtw89_mac_stop_sch_tx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x86925f04 rtw89_mac_cfg_ctrl_path +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x8c5e55a3 rtw89_core_fill_txdesc_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x90756fdb rtw89_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x917fdf5c rtw89_fw_h2c_rf_ntfy_mcc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x947b4398 rtw89_mac_coex_init_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x950d5e7c rtw89_mac_get_err_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xa549e912 rtw89_mac_write_xtal_si +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xa753f6dd rtw89_ser_notify +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xac3fdaf7 rtw89_core_rx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xba9f9ef7 rtw89_core_fill_txdesc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xbb6ae2ad rtw89_phy_write32_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xbcf72451 rtw89_mac_resume_sch_tx_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xc95534b0 rtw89_rs_idx_max +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xcb1a3a51 rtw89_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xd8fcbf51 rtw89_mac_cfg_gnt_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xdaa60e03 rtw89_mac_cfg_ppdu_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe3f57b04 rtw89_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe7817909 rtw89_phy_write_rf_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xef91b563 rtw89_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xf3477543 rtw89_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xf3f50287 rtw89_fw_h2c_dctl_sec_cam_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xfdc409f1 rtw89_phy_read_txpwr_byrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xffaec2d4 rtw89_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x037966f3 rtw89_pci_fill_txaddr_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x49a0370b rtw89_pci_ltr_set +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x4f3baa9f rtw89_pci_disable_intr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x6f432b23 rtw89_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x884150f5 rtw89_pci_enable_intr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x898dba84 rtw89_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x93646639 rtw89_pci_recognize_intrs +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x9ce0961b rtw89_pci_ch_dma_addr_set +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x9e47dd06 rtw89_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xb7e682ef rtw89_pci_config_intr_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xb900b5aa rtw89_pci_ltr_set_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xcaa40eda rtw89_pci_disable_intr_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xd167d1fe rtw89_pci_enable_intr_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xe18b74ce rtw89_pci_recognize_intrs_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xe22b8274 rtw89_pci_fill_txaddr_info_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xe409819e rtw89_pci_config_intr_mask_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xf630d9a9 rtw89_pci_ch_dma_addr_set_v1 +EXPORT_SYMBOL drivers/net/wireless/rsi/rsi_91x 0xac00258e rsi_config_wowlan +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x220c7d2d wl1271_free_tx_id +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x282f9fbe wlcore_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x61d3e1af wl12xx_is_dummy_packet +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x8db3fe87 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x1872d451 fdp_nci_remove +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0xe1920c6f fdp_nci_probe +EXPORT_SYMBOL drivers/nfc/microread/microread 0xc3d76687 microread_remove +EXPORT_SYMBOL drivers/nfc/microread/microread 0xdd96e0b8 microread_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x12d1adfe nxp_nci_remove +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x5a71cfb6 nxp_nci_fw_recv_frame +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x952a188c nxp_nci_probe +EXPORT_SYMBOL drivers/nfc/pn533/pn533 0xa816a03b pn533_recv_frame +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x47bcaaa2 pn544_hci_probe +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0xcc6306de pn544_hci_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x1ff17aa3 s3fwrn5_recv_frame +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x6bb33de3 s3fwrn5_phy_power_ctrl +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x774203fc s3fwrn5_phy_set_wake +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x9d548ee3 s3fwrn5_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xc927edd6 s3fwrn5_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xedb12f10 s3fwrn5_phy_set_mode +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xf2ab60da s3fwrn5_phy_get_mode +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x04dad9c1 st_nci_se_deinit +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x4cff18b0 ndlc_send +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x4dbd7874 st_nci_se_io +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x51cafe9d st_nci_se_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x6a35d506 ndlc_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x77cb1ff4 ndlc_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x9de23659 ndlc_recv +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xb9b8bb27 st_nci_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xca998978 ndlc_close +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xfcfbd4f6 ndlc_open +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x0f680497 st21nfca_hci_remove +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x1c348366 st21nfca_dep_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x2441eaf7 st21nfca_im_send_dep_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x37c46a8f st21nfca_se_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x38435832 st21nfca_se_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x43b83872 st21nfca_dep_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x4a39545b st21nfca_dep_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x6b472ec2 st21nfca_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x8d382769 st21nfca_hci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x9814b24b st21nfca_tm_send_dep_res +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xaae6ae1d st21nfca_hci_discover_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xca730298 st21nfca_hci_enable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xd9f6d221 st21nfca_hci_probe +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xe266786f st21nfca_im_send_atr_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xf55f58cf st21nfca_hci_disable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xf5773af9 st21nfca_apdu_reader_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xf72aec89 st21nfca_hci_loopback_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xfc142504 st21nfca_connectivity_event_received +EXPORT_SYMBOL drivers/ntb/ntb 0x079d10f9 ntb_msi_clear_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x0960ac98 ntb_default_peer_port_idx +EXPORT_SYMBOL drivers/ntb/ntb 0x12eee103 ntb_unregister_device +EXPORT_SYMBOL drivers/ntb/ntb 0x18de0951 ntbm_msi_request_threaded_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x311861bc ntbm_msi_free_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x3448e518 ntb_msg_event +EXPORT_SYMBOL drivers/ntb/ntb 0x4bd9cfae ntb_clear_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x5fa7c1f5 ntb_link_event +EXPORT_SYMBOL drivers/ntb/ntb 0x64124fe4 ntb_default_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0x71513647 ntb_msi_peer_addr +EXPORT_SYMBOL drivers/ntb/ntb 0x7989aef6 ntb_register_device +EXPORT_SYMBOL drivers/ntb/ntb 0x7c9562c0 ntb_set_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x8cb013f4 ntb_default_peer_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0x90b6911d ntb_msi_init +EXPORT_SYMBOL drivers/ntb/ntb 0xaa5fc932 ntb_unregister_client +EXPORT_SYMBOL drivers/ntb/ntb 0xcebf3efa ntb_default_peer_port_count +EXPORT_SYMBOL drivers/ntb/ntb 0xe11f7b7f ntb_msi_peer_trigger +EXPORT_SYMBOL drivers/ntb/ntb 0xe1be3f39 __ntb_register_client +EXPORT_SYMBOL drivers/ntb/ntb 0xec9714dd ntb_msi_setup_mws +EXPORT_SYMBOL drivers/ntb/ntb 0xef200aee ntb_db_event +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x38428bd0 nvdimm_namespace_attach_btt +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0xbeff4b56 nvdimm_namespace_detach_btt +EXPORT_SYMBOL drivers/parport/parport 0x044b4f48 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x1834dfde parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x23014c41 parport_del_port +EXPORT_SYMBOL drivers/parport/parport 0x2ade72e5 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x3127f42a parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x35bb42f8 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x36d512e1 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x383379aa parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x386b223c parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x46bfebe5 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x4f485798 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x52501c9d parport_register_dev_model +EXPORT_SYMBOL drivers/parport/parport 0x52b8d114 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x54f61e58 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x632d3ae3 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x662cf4dc parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x73e5b3f6 parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x7a24ecfa parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x7bce831c parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x8d492cee parport_write +EXPORT_SYMBOL drivers/parport/parport 0x93a6b8cb parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x96715748 __parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x9b5a7d6f parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0xac323f9e parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0xb3410b1b parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0xd4ebb3c2 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0xd63acc35 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xe37bf4b0 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xf37209c7 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0xf58994f3 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0xfa4c6ff2 parport_claim +EXPORT_SYMBOL drivers/parport/parport_pc 0x655ab9e1 parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xdf7da80f parport_pc_unregister_port +EXPORT_SYMBOL drivers/pci/controller/pcie-iproc 0x0215a57b iproc_pcie_setup +EXPORT_SYMBOL drivers/pci/controller/pcie-iproc 0x1b11b5a4 iproc_pcie_remove +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x37d78427 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x3961d183 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x4696d683 pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x48fbc474 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x53d4d7a7 pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x6883b2a2 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xaf741e85 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb5244544 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb6a55b3d pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xc4cb6a66 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf942709b pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0xde0b4cee pccard_static_ops +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x0c54ab5d cros_ec_suspend +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x22506344 cros_ec_resume +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x65c189cd cros_ec_register +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xa416371e cros_ec_unregister +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xf25aacf5 cros_ec_irq_thread +EXPORT_SYMBOL drivers/regulator/rohm-regulator 0xe2b09bad rohm_regulator_set_dvs_levels +EXPORT_SYMBOL drivers/rpmsg/qcom_smd 0x3330a1c8 qcom_smd_unregister_edge +EXPORT_SYMBOL drivers/rpmsg/qcom_smd 0x63c81ceb qcom_smd_register_edge +EXPORT_SYMBOL drivers/rpmsg/rpmsg_char 0x2c0e41c1 rpmsg_chrdev_eptdev_create +EXPORT_SYMBOL drivers/rpmsg/rpmsg_char 0x3638c2dd rpmsg_chrdev_eptdev_destroy +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x07087647 rpmsg_trysendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x0e970a0e rpmsg_register_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x1e5f4322 rpmsg_create_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x26b860f9 rpmsg_find_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x424d6641 rpmsg_poll +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x4e359ec4 rpmsg_release_channel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x6999e010 rpmsg_get_mtu +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x70e4b763 rpmsg_send_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7340a849 rpmsg_unregister_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x740bbb36 rpmsg_send +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xa8aca47d rpmsg_trysend +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xaa75f7d5 rpmsg_sendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xafbf6b1c __register_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xb3f66ba8 rpmsg_register_device_override +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xbcdc531d rpmsg_create_channel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xc5e88cca unregister_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xd269f9b4 rpmsg_destroy_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xd77ace9e rpmsg_trysend_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xdbe155f0 rpmsg_class +EXPORT_SYMBOL drivers/rpmsg/rpmsg_ns 0xebecf768 rpmsg_ns_register_device +EXPORT_SYMBOL drivers/rtc/rtc-ds1685 0xb1edae38 ds1685_rtc_poweroff +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x341546d3 scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x4a29ab38 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x65ef744b scsi_esp_template +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x930e6162 scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xe090e88e scsi_esp_register +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x112d21dd fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x1ec99c37 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x28b45582 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x3058284c fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x327a97b7 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x5c868b5b fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x70848b8c fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x85f9baa1 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x8cec051f fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xa07c8781 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xacb74ec4 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0d32c352 fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x147a30a7 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1d8ff819 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1e0bcb2c fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1e7cb0a7 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1f7cffb4 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2081522c fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x20d85bc8 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22ecbb3c fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x237f7073 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x285f78e3 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x32265de4 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x33ac6c27 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e2ee62 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x385fa1ee fc_exch_update_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3d16eb79 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4728c224 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4a0b1dcd fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4dab584a fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4f362557 libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x596ba994 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6000abd6 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x629f99cf fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6361a89f fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6be06019 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6cc0bd7e fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x723b04fa fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7833f505 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7f3407a7 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x811811e0 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x86bfda50 fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8ad11f94 fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8bd79056 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x932b3867 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x96cb8331 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x96f8f3cf fc_disc_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9be6296a fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9d50ed7e fc_rport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa12b10b0 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa1bcd198 fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0ddd5a1 fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb26e520b fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb38d7036 fc_seq_assign +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbaccaf46 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbb63bf0e fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbb7337bd fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbc974856 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbeeaa868 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc01f94c4 fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc2cd24a6 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc6425419 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd69c3a3d fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd87e4aea fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdc7cc50e fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdd81a1b5 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe298d7ac fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe4d5bad8 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe5cf06b5 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe61e58bd fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe94f5a2f fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xeabdde65 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf1cbed82 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf45bc10b fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf54bd231 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfa4667d1 fc_seq_release +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x31092dbe sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x739a31e4 sas_suspend_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x9e9e083a sas_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xe0ab85f0 sas_resume_ha_no_sync +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x470120b1 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0xa21fafb9 mraid_mm_adapter_app_handle +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0xb2cf7c01 mraid_mm_unregister_adp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x28b0b311 qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x2fb30701 qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x35bab23c qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x43ce86ec qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x4e9f9c74 qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x5ee7a9b3 qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xb70c4b39 qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xb80a4575 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xd9025ced qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xddd33270 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xe9f5add4 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xf8068c58 qlt_abort_cmd +EXPORT_SYMBOL drivers/scsi/raid_class 0x16932c8e raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x8ba59d1d raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0x8e2f2950 raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2159c3be fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x377902d4 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3cf59e24 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6058895a fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x67081158 fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x70246e7a fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x71cb31f7 fc_find_rport_by_wwpn +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x84127d8d fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8493a768 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8fe7ebd1 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa586e776 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa9b18330 fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xbd5c486e fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc8a01cde scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xcddd6ca3 fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xda10a92b fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xdb0a0d55 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1020c807 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1be4df3d sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x26d3fb18 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x29fc30bb sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2a79bc53 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2f3c20e6 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x304eda26 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3c4c9338 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x43edae2f sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x503e94a4 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x581be834 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6101636b sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x635df2ff sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x709cfd39 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x73f04835 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7456064e scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x86cc6295 sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8c2ad70e scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8dd1c193 sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xaac10f87 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xacbcc68b sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb381a832 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc1b49ef5 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd019bfc0 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdc6618d9 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf031ae98 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf161f101 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf8bd133d sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfffd4305 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x2400084b spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x5f0daf0f spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x98171089 spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xeb26b5e4 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xf0b39508 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x1292461e srp_rport_put +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x3ba44e37 srp_reconnect_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x4e831976 srp_start_tl_fail_timers +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xc1596543 srp_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xf21b8bd6 srp_rport_get +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x030f2d6c dpaa2_io_service_enqueue_fq +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x21e76a68 dpaa2_io_get_adaptive_coalescing +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x2bc276ca dpaa2_io_update_net_dim +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x35210a1c dpaa2_io_set_irq_coalescing +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x3d01f417 dpaa2_io_service_pull_fq +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0xb629a241 dpaa2_io_get_irq_coalescing +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0xc4ccef03 dpaa2_io_get_cpu +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0xdb008703 dpaa2_io_service_enqueue_multiple_fq +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0xe0f67b93 dpaa2_io_service_enqueue_multiple_desc_fq +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0xfa0aedff dpaa2_io_set_adaptive_coalescing +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x0f4b7285 cmdq_pkt_destroy +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x1c91b6c6 cmdq_pkt_poll +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x1eb577f5 cmdq_pkt_write_s_value +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x27f7a778 cmdq_pkt_set_event +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x3bc70297 cmdq_pkt_write_s_mask_value +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x3d3c435f cmdq_pkt_jump +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x461737cb cmdq_pkt_read_s +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x4dd68ea8 cmdq_pkt_wfe +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x5c02583d cmdq_pkt_create +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x62622035 cmdq_pkt_write_s +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x6482132a cmdq_pkt_poll_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x81232e95 cmdq_pkt_assign +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x91e6f300 cmdq_pkt_clear_event +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x96a831a4 cmdq_mbox_destroy +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x9eadbb26 cmdq_mbox_create +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xa644a9a6 cmdq_pkt_write +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xab2ec244 cmdq_pkt_flush_async +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xb0c422af cmdq_dev_get_client_reg +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xf79754da cmdq_pkt_write_s_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xf80937c2 cmdq_pkt_finalize +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xfb55916e cmdq_pkt_write_mask +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0xb50a06b3 of_get_ocmem +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0xc53d76b1 ocmem_allocate +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0xf9b05967 ocmem_free +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0x1c76ea4d pdr_restart_pd +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0x432975e6 pdr_add_lookup +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0x47b2ed49 pdr_handle_alloc +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0xf618ca5b pdr_handle_release +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x18596578 geni_se_resources_off +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x2efa6009 geni_icc_set_bw +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x42f8ab76 geni_icc_set_tag +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x430a7315 geni_se_init +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x64e17f29 geni_se_rx_dma_unprep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x88e0cb24 geni_se_rx_dma_prep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x9e5e5f27 geni_icc_get +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xacaf7d95 geni_se_tx_dma_prep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xaed6ce35 geni_se_clk_tbl_get +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xb6ac0f88 geni_se_select_mode +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xbaa078a6 geni_se_get_qup_hw_version +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xbb57a1bc geni_se_config_packing +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xc7e539ab geni_se_resources_on +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xd7474c3f geni_icc_enable +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xeba88c03 geni_icc_disable +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xfdffbcb8 geni_se_tx_dma_unprep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xfe33cc02 geni_se_clk_freq_match +EXPORT_SYMBOL drivers/soc/qcom/qcom_aoss 0x2333aed6 qmp_put +EXPORT_SYMBOL drivers/soc/qcom/qcom_aoss 0x4154b178 qmp_get +EXPORT_SYMBOL drivers/soc/qcom/qcom_aoss 0x9e2aa1df qmp_send +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x0ef12cc9 qmi_encode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x1573201b qmi_send_response +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x21ce5888 qmi_response_type_v01_ei +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x68772745 qmi_decode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x7286b683 qmi_send_request +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x7e8f9f7d qmi_handle_release +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x8ad35b78 qmi_txn_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x986b2f62 qmi_handle_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x9e2d9873 qmi_txn_cancel +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xbd875a91 qmi_txn_wait +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xd997c80a qmi_add_server +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xeac2f326 qmi_add_lookup +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xfd9038d2 qmi_send_indication +EXPORT_SYMBOL drivers/soc/qcom/smd-rpm 0x3abef80b qcom_rpm_smd_write +EXPORT_SYMBOL drivers/soc/qcom/smem 0x34b57571 qcom_smem_alloc +EXPORT_SYMBOL drivers/soc/qcom/smem 0x5a710273 qcom_smem_get_free_space +EXPORT_SYMBOL drivers/soc/qcom/smem 0x9979b76e qcom_smem_virt_to_phys +EXPORT_SYMBOL drivers/soc/qcom/smem 0xeeffa750 qcom_smem_get +EXPORT_SYMBOL drivers/soc/qcom/wcnss_ctrl 0xe93869ba qcom_wcnss_open_channel +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x0656ddc3 sdw_write_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x11ef0d41 sdw_compare_devid +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x16d1706b sdw_prepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1deee061 sdw_find_row_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x21dedc17 sdw_bwrite_no_pm_unlocked +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x2da8d50c sdw_write +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x32cf759c sdw_clear_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x370a5fe2 sdw_read_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x370e4150 sdw_update_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x3b0a8582 sdw_startup_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x3b91ec5d sdw_read +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x3fa092b3 sdw_stream_add_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4afb69c1 sdw_stream_remove_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4cde88bf sdw_disable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x58d7e3b4 sdw_nread +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x5bdfdc44 sdw_bus_exit_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x5c86acc6 sdw_stream_add_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x60e31fbb sdw_find_col_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x62a1ded3 sdw_master_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6f95b16b sdw_shutdown_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x71891d59 sdw_deprepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7bb724bb sdw_bus_master_delete +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x878ff220 sdw_slave_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x8d72920d sdw_handle_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9e122d79 sdw_alloc_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb66524ca sdw_stream_remove_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xba54b904 sdw_cols +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xbbec2c2e sdw_enable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xc5b68a2a sdw_bus_master_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xc88e2c43 sdw_nwrite +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xd1845df8 sdw_bus_prep_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xd54697ce sdw_slave_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xda5bce09 sdw_release_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xe11b2475 sdw_bread_no_pm_unlocked +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xefc1f8bd sdw_update +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf36554b4 sdw_bus_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf53ba0b8 sdw_rows +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf5ea40a1 sdw_extract_slave_id +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x0c5a21a7 cdns_set_sdw_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x326e7987 sdw_cdns_exit_reset +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x34712074 sdw_cdns_irq +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x36f79e85 sdw_cdns_is_clock_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x3a4a6997 sdw_cdns_probe +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x3b50bbd1 cdns_xfer_msg_defer +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x550c87c5 sdw_cdns_init +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x5c4a4405 cdns_bus_conf +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x8255aaa7 sdw_cdns_alloc_pdi +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x929557e5 sdw_cdns_pdi_init +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x9b870ae1 sdw_cdns_clock_restart +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xbb4c131f sdw_cdns_check_self_clearing_bits +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xc1c1fc26 cdns_xfer_msg +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xc25a5a75 sdw_cdns_enable_interrupt +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xd3c6f570 cdns_reset_page_addr +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xed71eb08 sdw_cdns_config_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xfcd7f2a4 sdw_cdns_clock_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-generic-allocation 0x756fcef3 sdw_compute_params +EXPORT_SYMBOL drivers/ssb/ssb 0x01f94cfd ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x1453e123 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x36fe0e0e ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x590fe09a ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x5caf4384 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x695f5ecc ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x6bd804f7 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x7007605d ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x7ac8ff01 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x7b5ad464 ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x8e1e413a ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x92656038 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xac56336e ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xb10c5064 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0xb2e5d31f ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0xc1fd93b5 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0xc2ffdb0a ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xcb17f1cb ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xd878d778 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xdfc7c6ef ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe4c2f235 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0xe87ce2bf ssb_clockspeed +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x04045c06 fbtft_write_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x0d36ef78 fbtft_write_reg8_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x21a71b32 fbtft_write_gpio16_wr_latched +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x2b2544a3 fbtft_remove_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x320331c9 fbtft_unregister_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x36ec72fb fbtft_dbg_hex +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x43d86013 fbtft_unregister_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x489bfbf2 fbtft_write_gpio8_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x6755ee09 fbtft_init_display +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x6fd50580 fbtft_write_vmem16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7126d97e fbtft_register_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x98fe8a61 fbtft_write_reg8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x9eeb11ff fbtft_write_gpio16_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xb06a2bc7 fbtft_register_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xd068a36d fbtft_probe_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xd3173368 fbtft_write_vmem16_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xd38c7992 fbtft_write_reg16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xd395a600 fbtft_read_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xd7c2af90 fbtft_framebuffer_release +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xe2d9169d fbtft_write_reg16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xe7106f3f fbtft_write_vmem8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xebb1aa54 fbtft_write_spi_emulate_9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xecb19e27 fbtft_write_buf_dc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xee3d24f4 fbtft_write_vmem16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xf1a9d457 fbtft_framebuffer_alloc +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x4e3efdb9 gbaudio_unregister_module +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0xc7d4e81c gbaudio_module_update +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0xda59d09e gbaudio_register_module +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0xccd2329f adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0xf83b49c9 ade7854_probe +EXPORT_SYMBOL drivers/staging/media/av7110/sp8870 0xcd58d885 sp8870_attach +EXPORT_SYMBOL drivers/staging/nvec/nvec 0x4453f3e3 nvec_write_async +EXPORT_SYMBOL drivers/staging/nvec/nvec 0xa404e2f3 nvec_write_sync +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x00137bff rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x00c0fdd6 rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x05af6fd6 rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x061c0d8c rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x09c370c2 rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0c7f53aa rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x162ae1c4 rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x17b56165 rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1832beab rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22166084 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2b843368 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x34529f65 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x360bc8cc notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x37c8e17c dot11d_channel_map +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3b041081 rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x46e03a89 rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x491a8367 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4c41a9f7 rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4d2301d6 rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5545438c HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x596675de rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6ae01d2b alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6f90a9da rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x78d3cb44 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7b3237f3 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x832455fc rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x85b7d1e2 rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8dd9eb2c rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x932be6b3 rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa300a71b rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa3279fcb rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xaff630b7 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb125b351 rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb1984ebf rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc328cd41 rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc6f440f7 rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc9492a25 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xcf735656 rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd457d30b rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd5e8e35b dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd62b465e rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd6472197 rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd812c099 rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xda7bb73f rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf859b78 rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe1a5c153 rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xeee9d58c rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf15cd74f rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf1710d5c rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf4550afd rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x07b129c1 ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x097b4006 ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0a00845f ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0a19bb8a ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0d163be4 ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0e644a9a ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0efa0221 ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x13f953a9 ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1be48646 dot11d_reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1d66a0ff ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2458ac99 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x24f1a6fc ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2952aaf6 ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x29745767 ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2bb9b7d9 ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x303e0af9 dot11d_scan_complete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x338bedd7 is_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x36f71af7 ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3b57ee40 ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x41b1c26a ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x42e83b87 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x43878280 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x48694f08 to_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4996f96e notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4c88aa87 ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5f721076 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x669a9408 dot11d_update_country_ie +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6a7c59f9 ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6bdbe0de ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6c06a82f ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6d1a9915 dot11d_get_max_tx_pwr_in_dbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x86f16bac ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x92be7300 ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9b439d00 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9e01e8bc ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa050d998 ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa1f0e990 HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa8c2998d ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa91cbbbf SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xaadc8a12 ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xaf626a72 rtl8192u_dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb339c89e ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbc8a1d17 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbe4dd45e ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd03ed161 ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd54d653e ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd595fd0b ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe217d13c ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe23caa45 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe4bedf07 ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecc5fb1b ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf7571df3 ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf8b606b3 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfa5d1b9c ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfc7c9b77 ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x02f8c431 vchiq_queue_kernel_message +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x1c60d406 vchiq_get_service_userdata +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x35853b04 vchiq_release_message +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x582ed8ca vchiq_bulk_receive +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x5c054645 vchiq_msg_hold +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x61e5e6ed vchiq_shutdown +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x70fbdac9 vchiq_msg_queue_push +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x8ff6c2b1 vchiq_get_peer_version +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x92b2feb4 vchiq_bulk_transmit +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x9c62da2b vchiq_initialise +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x9d6478fe vchiq_use_service +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xb05b02ae vchiq_release_service +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xbca0c1c0 vchiq_add_connected_callback +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xcca674e3 vchiq_open_service +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xce26417d vchiq_connect +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xe95e0941 vchiq_close_service +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0152064a iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x04607e0f iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0f90db68 iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x2719e75c iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x378fecba iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3c79152b iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x47669ad9 iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4c12523d iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4f972df7 iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x60adfef2 iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6284921d iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6b8fd41d iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x78f0b44e iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x84b1f3d8 iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8966fe56 iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8a9f9ca0 iscsit_thread_check_cpumask +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x91d5c33d iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9cd8e191 iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9d25f6a1 iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9d542144 iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9d7a7306 iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa129c00b iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa3659f99 iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa393f7e5 iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa4f2bc26 iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xaa5a46fb iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xaca6243d iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb59484e2 iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xba74d5e7 iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xbc7b66f8 iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xbe2a03d2 iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc271c3d1 iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc98a81fb iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd358fcd3 iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd5b950d3 iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xdd6519ee iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xdf526d19 iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe0b1ade2 iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe0ceeca2 iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xed2407c1 iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xef0d3a2d iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf34332f0 iscsi_find_param_from_key +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf35d744d iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf394ec4e iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf835214f __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xffc5737c iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x01a4d562 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x08b60153 target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x08f2b01f transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x16226650 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x186637b4 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x1a686d5e transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x1bf8e6c1 sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0x1e3e0ff7 target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0x23112e99 passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x23363809 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x33b4620b __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x33bfb68f target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x390f5254 target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3afae396 target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x3dc0e57f core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0x4163bd28 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x488e01f7 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x4b17b90f target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x508c8713 sbc_dif_verify +EXPORT_SYMBOL drivers/target/target_core_mod 0x5258d8c8 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x5570af8c transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x572d42d3 target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x5c6b1e64 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x5dc2a34d spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0x624fa01b target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x638bffb7 target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x657f7528 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x6702a786 passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x6763a312 transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x6a4046da target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a15ffb4 target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a1d0d3c target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7d3b99aa transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7e5381a4 target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x7f1e7bf3 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0x81c3f243 target_tpg_has_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x8aa564da target_stop_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x8c183e33 target_complete_cmd_with_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x8f1cf9b0 transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x8f46bf45 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x943d6b58 transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0x9afbeb49 target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x9c171f67 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x9c664ad6 sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x9debb22a core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0xa22574c9 transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xa2588fac core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0xa47c5285 spc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xa711ab08 target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0xa86fec5c sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0xad1c4ea0 target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0xb1ea14ca passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xb2023734 core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xb48141ed target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0xb4cbd4a5 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xb4e9a86f sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0xb64800e6 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xb8d6ab60 spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0xbc35b0b7 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xc16b1b76 transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xc4d86d87 target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0xc5876492 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xd04020c7 target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0xd9f3da8e core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xdb21fdae target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xdcfbd15a target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0xe5247f04 spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0xe8c2e4c4 target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xeac1846b sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0xecfcd33e target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0xf36de7fc __target_init_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3c2dfe0 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf4d24f68 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xfa2feaa6 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0xfede89b2 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xff810c3a transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x15cf124b ufshcd_system_suspend +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x20ad5f6c ufshcd_shutdown +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x274aeef2 ufshcd_system_resume +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x27b9ce52 ufshcd_runtime_resume +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x3c720903 ufshcd_get_local_unipro_ver +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x9a986ca2 ufshcd_map_desc_id_to_length +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0xa63f8488 ufshcd_alloc_host +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0xc3194283 ufshcd_runtime_suspend +EXPORT_SYMBOL drivers/ufs/host/tc-dwc-g210 0x32294ffd tc_dwc_g210_config_20_bit +EXPORT_SYMBOL drivers/ufs/host/tc-dwc-g210 0x668b40e1 tc_dwc_g210_config_40_bit +EXPORT_SYMBOL drivers/ufs/host/ufshcd-dwc 0x188bd699 ufshcd_dwc_dme_set_attrs +EXPORT_SYMBOL drivers/ufs/host/ufshcd-dwc 0x729116ff ufshcd_dwc_link_startup_notify +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0xc652ad1b usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/gadget/libcomposite 0x7eed72ca usb_os_desc_prepare_interf_dir +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0xb8505386 sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x2d8181fd usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x31577c7e usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3f869cce usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x5226c1e1 usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x6b8edcbd usb_wwan_port_remove +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7ef72588 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x89ebba54 usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x8b3aa405 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xa89d5e65 usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xe7bbb043 usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xe8919b87 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x6d0738ac usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xf7809091 usb_serial_suspend +EXPORT_SYMBOL drivers/vdpa/vdpa 0x85f18be9 vdpa_set_status +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x13899ea9 mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x1a8a757e mtype_get_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x2e43668d mdev_unregister_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x56647299 mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x69862f23 mdev_unregister_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x8356e794 mdev_register_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xa23bcdca mtype_get_type_group_id +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xe35076e0 mdev_get_type_group_id +EXPORT_SYMBOL drivers/vfio/vfio 0x19567d06 vfio_info_cap_shift +EXPORT_SYMBOL drivers/vfio/vfio 0x4ece0817 vfio_unregister_notifier +EXPORT_SYMBOL drivers/vfio/vfio 0x5d4cab0d vfio_unpin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x6c28be5a vfio_info_add_capability +EXPORT_SYMBOL drivers/vfio/vfio 0x733f6971 vfio_pin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0xadc044b7 vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL drivers/vfio/vfio 0xe32acdd1 vfio_register_notifier +EXPORT_SYMBOL drivers/vfio/vfio 0xe51b84ea vfio_dma_rw +EXPORT_SYMBOL drivers/vhost/vhost 0xafbee6a2 vhost_chr_poll +EXPORT_SYMBOL drivers/vhost/vhost 0xd73d8b30 vhost_chr_write_iter +EXPORT_SYMBOL drivers/vhost/vringh 0x0c46f5fb vringh_iov_pull_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x18f3ddc2 vringh_iov_push_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x19c24590 vringh_notify_disable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x1fe50c1a vringh_abandon_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x2890c460 vringh_getdesc_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x2d2babc9 vringh_complete_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x3684d8af vringh_complete_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x3b304ebb vringh_iov_push_user +EXPORT_SYMBOL drivers/vhost/vringh 0x3ee1955e vringh_init_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x4311cd91 vringh_iov_pull_user +EXPORT_SYMBOL drivers/vhost/vringh 0x4504adc9 vringh_abandon_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x5bd469c0 vringh_getdesc_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5f586ca2 vringh_init_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x61e3831b vringh_getdesc_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x660779c8 vringh_kiov_advance +EXPORT_SYMBOL drivers/vhost/vringh 0x6a693a25 vringh_need_notify_user +EXPORT_SYMBOL drivers/vhost/vringh 0x90e93e3c vringh_complete_multi_user +EXPORT_SYMBOL drivers/vhost/vringh 0x97fa07e9 vringh_iov_push_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x9b30452e vringh_complete_user +EXPORT_SYMBOL drivers/vhost/vringh 0xa7ce8bd6 vringh_notify_disable_user +EXPORT_SYMBOL drivers/vhost/vringh 0xa8efaeb9 vringh_set_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xc0bb1581 vringh_need_notify_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xc87491c8 vringh_notify_enable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xd465f463 vringh_need_notify_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xde804bb9 vringh_iov_pull_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xe4c21196 vringh_notify_disable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xeb2ec139 vringh_notify_enable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xf1e32cc0 vringh_init_user +EXPORT_SYMBOL drivers/vhost/vringh 0xf8605294 vringh_notify_enable_user +EXPORT_SYMBOL drivers/vhost/vringh 0xf9d0dd07 vringh_abandon_user +EXPORT_SYMBOL drivers/video/backlight/lcd 0x7f2fb577 lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xa6a8669d devm_lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xb46e201b devm_lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xf1bb687a lcd_device_unregister +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x132b3172 svga_get_caps +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x14486a02 svga_get_tilemax +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x16db951e svga_tilefill +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x17f3f471 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x1be6dc30 svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x643ee45f svga_settile +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x83a41489 svga_set_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x84c337c2 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x84c97d2a svga_match_format +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x9ce73eb5 svga_tileblit +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xb0ab2b2e svga_check_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xbce39db1 svga_tilecopy +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xd22ca511 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xd6ec2c44 svga_compute_pll +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xdcc5a013 svga_wseq_multi +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xe28d2a49 svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xe7ff7171 svga_tilecursor +EXPORT_SYMBOL drivers/video/fbdev/core/syscopyarea 0x00ee3e65 sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0xf828e8cb sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0xb94801a0 sys_imageblit +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x163242a1 cyber2000fb_attach +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x534b6f18 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0xb39f68d1 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0x15bbe517 mac_find_mode +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x3ddf173b g450_mnp2f +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xb6085d2d matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xedf51ee0 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x0541dddc DAC1064_global_restore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x31ff0945 matrox_G100 +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xb1139177 DAC1064_global_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xbb96af7f matrox_mystique +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_Ti3026 0xbd124e97 matrox_millennium +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_accel 0x5475c32c matrox_cfbX_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x21030693 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x2de4ea4b matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x5804bf4e matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xf38744cc matroxfb_register_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x9659afb4 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0xc8be45aa matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x0866791c matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x68760a07 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xa4ec3ac8 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xcdb26023 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xdb2f6d2b matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/fbdev/sis/sisfb 0x3037658e sis_malloc +EXPORT_SYMBOL drivers/video/fbdev/sis/sisfb 0xfe963115 sis_free +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x1206922b virtio_dma_buf_export +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x208a3e00 virtio_dma_buf_attach +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0xdefb3c33 virtio_dma_buf_get_uuid +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0xe6fb7f21 is_virtio_dma_buf +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x67ea54a1 w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x8f1d1289 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x5947de27 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x827d47ee w1_ds2781_io +EXPORT_SYMBOL drivers/w1/wire 0x675a2888 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xa36b14a4 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0xce9eaae2 w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0xf9ef56ef w1_unregister_family +EXPORT_SYMBOL fs/fscache/fscache 0x07d78c98 __fscache_unuse_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x0af45733 fscache_resume_after_invalidation +EXPORT_SYMBOL fs/fscache/fscache 0x109d2c36 __fscache_begin_read_operation +EXPORT_SYMBOL fs/fscache/fscache 0x15ed870e __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x1a0d09e7 fscache_n_write +EXPORT_SYMBOL fs/fscache/fscache 0x1a25cfa0 __tracepoint_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x1c57e4d4 __fscache_clear_page_bits +EXPORT_SYMBOL fs/fscache/fscache 0x234a140d __traceiter_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x306805d3 __SCK__tp_func_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x31e98142 fscache_end_cookie_access +EXPORT_SYMBOL fs/fscache/fscache 0x39674879 __tracepoint_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x3b155d09 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x4404d2aa fscache_n_no_create_space +EXPORT_SYMBOL fs/fscache/fscache 0x46c7d19e __fscache_begin_write_operation +EXPORT_SYMBOL fs/fscache/fscache 0x4996bd29 fscache_n_updates +EXPORT_SYMBOL fs/fscache/fscache 0x4b975f62 fscache_put_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x4bd084ba __SCK__tp_func_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x5327fee3 __fscache_relinquish_volume +EXPORT_SYMBOL fs/fscache/fscache 0x557a775f fscache_addremove_sem +EXPORT_SYMBOL fs/fscache/fscache 0x6c5e41e7 __tracepoint_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x6e416521 __SCK__tp_func_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x85d2be49 fscache_wait_for_operation +EXPORT_SYMBOL fs/fscache/fscache 0x85d702b8 fscache_acquire_cache +EXPORT_SYMBOL fs/fscache/fscache 0x8a96889e __fscache_write_to_cache +EXPORT_SYMBOL fs/fscache/fscache 0x8c2d6da7 fscache_clearance_waiters +EXPORT_SYMBOL fs/fscache/fscache 0x90d447f3 fscache_n_culled +EXPORT_SYMBOL fs/fscache/fscache 0x92fa3cb5 fscache_get_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x954007a4 __fscache_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x96ff22b1 fscache_withdraw_volume +EXPORT_SYMBOL fs/fscache/fscache 0x9ffefcb2 fscache_n_read +EXPORT_SYMBOL fs/fscache/fscache 0xae6040a5 __traceiter_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0xbca46908 fscache_wq +EXPORT_SYMBOL fs/fscache/fscache 0xc798eaed fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xc88782da __fscache_use_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xc9f778cb fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0xcce11a60 fscache_n_no_write_space +EXPORT_SYMBOL fs/fscache/fscache 0xd097c616 fscache_withdraw_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xd7b4b6a6 fscache_caching_failed +EXPORT_SYMBOL fs/fscache/fscache 0xdbca7c6f __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xdcb87498 __traceiter_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0xdcbb4b16 __fscache_acquire_volume +EXPORT_SYMBOL fs/fscache/fscache 0xe3dc9f0a fscache_cookie_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0xe866c714 __fscache_resize_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xebc70367 fscache_dirty_folio +EXPORT_SYMBOL fs/fscache/fscache 0xec6feb37 fscache_end_volume_access +EXPORT_SYMBOL fs/fscache/fscache 0xf470f44a fscache_relinquish_cache +EXPORT_SYMBOL fs/netfs/netfs 0x2e1380d8 netfs_stats_show +EXPORT_SYMBOL fs/netfs/netfs 0x2e48397a netfs_write_begin +EXPORT_SYMBOL fs/netfs/netfs 0x3b0d3d18 netfs_readahead +EXPORT_SYMBOL fs/netfs/netfs 0x49e94bf5 netfs_subreq_terminated +EXPORT_SYMBOL fs/netfs/netfs 0xc6b873bf netfs_read_folio +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x05084e05 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x53b2c663 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x5424db9b qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x5f12e6c9 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x88a5a30f qtree_get_next_id +EXPORT_SYMBOL fs/quota/quota_tree 0xb737e3c9 qtree_delete_dquot +EXPORT_SYMBOL lib/crc-itu-t 0x09a34a2b crc_itu_t +EXPORT_SYMBOL lib/crc-itu-t 0xd819a524 crc_itu_t_table +EXPORT_SYMBOL lib/crc7 0x65aaf037 crc7_be_syndrome_table +EXPORT_SYMBOL lib/crc7 0xba55d23e crc7_be +EXPORT_SYMBOL lib/crypto/libarc4 0x2bb32ad1 arc4_setkey +EXPORT_SYMBOL lib/crypto/libarc4 0xcd47fcc4 arc4_crypt +EXPORT_SYMBOL lib/crypto/libchacha 0xcec122d7 chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x147c3f2e chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x37b34b92 chacha20poly1305_encrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x521c7102 xchacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x5b19e187 chacha20poly1305_decrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xc20134e7 chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xce15a526 xchacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x12627f15 curve25519_generic +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x4a5a8811 curve25519_null_point +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x7e6fdbfc curve25519_base_point +EXPORT_SYMBOL lib/crypto/libpoly1305 0x021f3700 poly1305_core_blocks +EXPORT_SYMBOL lib/crypto/libpoly1305 0xbcb90cb3 poly1305_core_emit +EXPORT_SYMBOL lib/crypto/libpoly1305 0xd45b9cf4 poly1305_core_setkey +EXPORT_SYMBOL lib/lru_cache 0x0641307b lc_destroy +EXPORT_SYMBOL lib/lru_cache 0x098d2ed9 lc_try_get +EXPORT_SYMBOL lib/lru_cache 0x2d47ac83 lc_committed +EXPORT_SYMBOL lib/lru_cache 0x2f3dcecb lc_index_of +EXPORT_SYMBOL lib/lru_cache 0x4522d82a lc_reset +EXPORT_SYMBOL lib/lru_cache 0x4cf5f5a8 lc_is_used +EXPORT_SYMBOL lib/lru_cache 0x5752f31b lc_del +EXPORT_SYMBOL lib/lru_cache 0x7257beee lc_element_by_index +EXPORT_SYMBOL lib/lru_cache 0x9134feb7 lc_get +EXPORT_SYMBOL lib/lru_cache 0xa0869b3d lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0xa7c79e12 lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0xb672aa97 lc_create +EXPORT_SYMBOL lib/lru_cache 0xbfbe53d5 lc_get_cumulative +EXPORT_SYMBOL lib/lru_cache 0xc3a98c1d lc_try_lock +EXPORT_SYMBOL lib/lru_cache 0xcc979a91 lc_set +EXPORT_SYMBOL lib/lru_cache 0xefec290a lc_find +EXPORT_SYMBOL lib/lru_cache 0xfd525ec7 lc_put +EXPORT_SYMBOL lib/lz4/lz4_compress 0x4f4d78c5 LZ4_compress_default +EXPORT_SYMBOL lib/lz4/lz4_compress 0x5bc92e85 LZ4_compress_destSize +EXPORT_SYMBOL lib/lz4/lz4_compress 0x6004858d LZ4_compress_fast +EXPORT_SYMBOL lib/lz4/lz4_compress 0x635ff76d LZ4_saveDict +EXPORT_SYMBOL lib/lz4/lz4_compress 0x749849d8 LZ4_loadDict +EXPORT_SYMBOL lib/lz4/lz4_compress 0xf9eced44 LZ4_compress_fast_continue +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x38f7b6e0 LZ4_compress_HC_continue +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x93ff008c LZ4_loadDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x9cef495b LZ4_saveDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0xddf86133 LZ4_compress_HC +EXPORT_SYMBOL lib/math/cordic 0x7e431c15 cordic_calc_iq +EXPORT_SYMBOL lib/objagg 0x0363233d objagg_obj_raw +EXPORT_SYMBOL lib/objagg 0x23865923 objagg_destroy +EXPORT_SYMBOL lib/objagg 0x24ca5ca9 objagg_obj_root_priv +EXPORT_SYMBOL lib/objagg 0x342aefe2 objagg_obj_delta_priv +EXPORT_SYMBOL lib/objagg 0x352633f4 objagg_hints_stats_get +EXPORT_SYMBOL lib/objagg 0x3c58e78f objagg_hints_put +EXPORT_SYMBOL lib/objagg 0x6691f29d objagg_obj_put +EXPORT_SYMBOL lib/objagg 0x679e8cc2 objagg_create +EXPORT_SYMBOL lib/objagg 0xb17ab162 objagg_obj_get +EXPORT_SYMBOL lib/objagg 0xdaa3ee68 objagg_stats_get +EXPORT_SYMBOL lib/objagg 0xf5511527 objagg_stats_put +EXPORT_SYMBOL lib/objagg 0xfaa9d1a8 objagg_hints_get +EXPORT_SYMBOL lib/parman 0x0f518717 parman_prio_init +EXPORT_SYMBOL lib/parman 0x7b03d378 parman_item_add +EXPORT_SYMBOL lib/parman 0x8b7e26f5 parman_item_remove +EXPORT_SYMBOL lib/parman 0xc3e2d892 parman_create +EXPORT_SYMBOL lib/parman 0xc6a3d260 parman_prio_fini +EXPORT_SYMBOL lib/parman 0xca39ae6a parman_destroy +EXPORT_SYMBOL lib/raid6/raid6_pq 0x0b2c64a3 raid6_vgfmul +EXPORT_SYMBOL lib/raid6/raid6_pq 0x17f54263 raid6_gfexp +EXPORT_SYMBOL lib/raid6/raid6_pq 0x59a2712d raid6_gfinv +EXPORT_SYMBOL lib/raid6/raid6_pq 0xb0d904b7 raid6_empty_zero_page +EXPORT_SYMBOL lib/raid6/raid6_pq 0xc8e3332b raid6_gflog +EXPORT_SYMBOL lib/raid6/raid6_pq 0xcc4ee841 raid6_gfexi +EXPORT_SYMBOL lib/raid6/raid6_pq 0xd91319d6 raid6_gfmul +EXPORT_SYMBOL net/6lowpan/6lowpan 0x1687f15e lowpan_register_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0x7716bb8b lowpan_unregister_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0xa547a26f lowpan_register_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0xaa4a5643 lowpan_nhc_del +EXPORT_SYMBOL net/6lowpan/6lowpan 0xc01a3f7c lowpan_nhc_add +EXPORT_SYMBOL net/6lowpan/6lowpan 0xe6eb0e37 lowpan_unregister_netdev +EXPORT_SYMBOL net/802/p8022 0x6075d845 register_8022_client +EXPORT_SYMBOL net/802/p8022 0xf08e6633 unregister_8022_client +EXPORT_SYMBOL net/802/psnap 0xd87b7639 unregister_snap_client +EXPORT_SYMBOL net/802/psnap 0xf9f2377d register_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x04081c85 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x051381e1 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x0b95199d p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x0ff4ba55 p9_client_read_once +EXPORT_SYMBOL net/9p/9pnet 0x20d7cefc p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x27690f53 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x3a3c972f v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x41ce9823 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x433f44f4 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x447e1597 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x4f639179 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x51eb6422 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x541b761c v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x57adaf99 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0x5a036a98 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x61779fde v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x69c3dcff p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x6f16611f p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0x6fb235aa p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x7ef75483 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x7f2e2d1b p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x8a397ac9 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x8a97ed27 p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0x91ca946e p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x95bd8f96 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x984c5e73 p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0x9bc54539 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x9ec7a8f5 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0xa14d3235 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0xa220b6cb p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0xa2c3e050 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0xa9772367 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xab1be9ef p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0xad183781 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0xb79f25fd p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0xc8182ab0 p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0xc9f7aa9a p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0xccb31c59 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0xcd963e11 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0xcec236a4 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0xd143f7ac p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0xd384c683 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xd4220484 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xd6131f40 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xd63d3388 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xee7b0d04 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xf23466e4 p9_client_renameat +EXPORT_SYMBOL net/appletalk/appletalk 0x1848ecdb atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0x67d67067 alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0xb485114e atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xdbcd1359 aarp_send_ddp +EXPORT_SYMBOL net/atm/atm 0x0c37cefa vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x12bb135e atm_charge +EXPORT_SYMBOL net/atm/atm 0x1f527502 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x4443d399 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x44c6e633 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x4b85e8b2 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x5736d9d8 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x580176bd atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x5929669e atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x7f55a005 vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0x8391ce8b atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xa5c8b3cb atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xb93d14ee vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0xe6ea90a8 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xffc4ad26 atm_dev_deregister +EXPORT_SYMBOL net/ax25/ax25 0x0da64279 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x14cecd59 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x199d9012 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x1a70c186 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x1be2520d ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x427bb5ae ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0x985dbea4 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0xb1a410c9 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xb87671e5 ax25_ip_xmit +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xee02e420 ax25_findbyuid +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0605b3b6 hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x06db89b9 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0718b8b7 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x07b32752 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x160a04dc bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x173802a8 hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x18f03cbd __hci_cmd_sync_status_sk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x19c7b61e bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1bb4bd33 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x214e4265 bt_warn +EXPORT_SYMBOL net/bluetooth/bluetooth 0x24936e88 hci_set_hw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x27f39167 l2cap_conn_put +EXPORT_SYMBOL net/bluetooth/bluetooth 0x296ca05f bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2e7805d2 hci_set_fw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2ff740c9 l2cap_register_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3be85e56 __hci_cmd_send +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3ee324ee l2cap_unregister_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4a27f245 hci_alloc_dev_priv +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4fe19dac hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5574d783 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x56749515 hci_recv_diag +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5eb27792 bt_procfs_cleanup +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6354d744 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x68290c98 bt_procfs_init +EXPORT_SYMBOL net/bluetooth/bluetooth 0x69d76487 hci_cmd_sync_cancel +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6dc7fd3d l2cap_conn_get +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6ff9c933 __hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x70cc303a hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x71e1045d hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x73f69213 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7a4867cc hci_release_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7aad008b bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b5ce5c3 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b8c32f1 bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7c23e1b6 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8b612b4a hci_cmd_sync_queue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8c632b20 bt_sock_wait_ready +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8fea24bd bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x90398074 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9f311780 __hci_cmd_sync_sk +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa16a283a bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa664d156 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa715a291 hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0xab68c31b hci_mgmt_chan_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xadcc4dd5 hci_reset_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb0c482cb hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb32a041a bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb4d30580 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb5558b1f hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc6460b48 l2cap_chan_close +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcca83d69 __hci_cmd_sync_status +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd6b5f62e hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7613212 bt_err_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xddacccf6 bt_warn_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe2ba4e59 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xedbf1302 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf523b5b9 l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfd5d0eb6 __hci_cmd_sync_ev +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x01232919 ebt_register_template +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x34e5f0ba ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xc4f7a30f ebt_unregister_template +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xd41d9760 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xf75d8469 ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xfae8e565 ebt_do_table +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x2a09f713 cfpkt_fromnative +EXPORT_SYMBOL net/caif/caif 0x329dbd06 cfpkt_info +EXPORT_SYMBOL net/caif/caif 0x38701a7c cfcnfg_del_phy_layer +EXPORT_SYMBOL net/caif/caif 0x3bf4833e cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0x3fa84493 cfpkt_add_head +EXPORT_SYMBOL net/caif/caif 0x40babbe0 cfpkt_extr_head +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x70ecba85 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x73c36b48 caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0x839ddb7b cfcnfg_set_phy_state +EXPORT_SYMBOL net/caif/caif 0x9e3e305d cfpkt_set_prio +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xcfefca87 get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0xf910049f caif_enroll_dev +EXPORT_SYMBOL net/can/can 0x31a80288 can_proto_register +EXPORT_SYMBOL net/can/can 0x5d67fdfa can_sock_destruct +EXPORT_SYMBOL net/can/can 0x9c2b9be4 can_send +EXPORT_SYMBOL net/can/can 0xa96c1454 can_rx_unregister +EXPORT_SYMBOL net/can/can 0xb7ac4167 can_rx_register +EXPORT_SYMBOL net/can/can 0xc54c0fe0 can_proto_unregister +EXPORT_SYMBOL net/ceph/libceph 0x04cad6f0 ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x0717d01b ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x08852acf ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x0996ebc6 ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0x0faf0182 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x10379348 ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0x11d8e56f ceph_osdc_list_watchers +EXPORT_SYMBOL net/ceph/libceph 0x12779a33 ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/ceph/libceph 0x1378aba3 ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0x142d10f4 ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x1596f279 ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x160671b4 osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0x165b1948 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x17c17611 ceph_pg_to_acting_primary +EXPORT_SYMBOL net/ceph/libceph 0x1ada832a ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0x1e1d618c ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x1ee90596 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0x1fcacb07 ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x22c12ed4 ceph_osdc_call +EXPORT_SYMBOL net/ceph/libceph 0x24db64a2 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x28735555 osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x2a983d26 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x2baf9ad9 osd_req_op_copy_from_init +EXPORT_SYMBOL net/ceph/libceph 0x2d8eac10 ceph_cls_unlock +EXPORT_SYMBOL net/ceph/libceph 0x2da9d825 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x2f233fc5 osd_req_op_extent_init +EXPORT_SYMBOL net/ceph/libceph 0x330cb41f ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0x344b0348 ceph_osdc_put_request +EXPORT_SYMBOL net/ceph/libceph 0x36008734 ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0x364fce98 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x38f2d94e ceph_file_to_extents +EXPORT_SYMBOL net/ceph/libceph 0x39192671 ceph_monc_blocklist_add +EXPORT_SYMBOL net/ceph/libceph 0x3bbefcd3 ceph_auth_get_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x3bee0e18 ceph_auth_handle_svc_reply_more +EXPORT_SYMBOL net/ceph/libceph 0x3c8d7111 ceph_get_num_objects +EXPORT_SYMBOL net/ceph/libceph 0x40382d27 ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0x4176b89a ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0x417a9131 ceph_oloc_destroy +EXPORT_SYMBOL net/ceph/libceph 0x43360884 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x465e5911 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x4affd6c2 ceph_parse_fsid +EXPORT_SYMBOL net/ceph/libceph 0x4b8b8f31 ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0x4daded40 ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0x50603ce3 ceph_decode_entity_addrvec +EXPORT_SYMBOL net/ceph/libceph 0x52d235e7 ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0x5524b15b ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0x56e1c859 ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x57f1826b ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x5d2bef9f ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0x5f8e74dc ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x612a6339 ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x65be0894 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x66187feb ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x66e44b34 ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x6b74485d osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x6d498a52 osd_req_op_extent_dup_last +EXPORT_SYMBOL net/ceph/libceph 0x6d6a2aee ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x6f146ff3 ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x7571fe9e osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x785e2225 ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0x79bb2e95 ceph_msg_put +EXPORT_SYMBOL net/ceph/libceph 0x7c506471 ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x7ceea682 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x82be4f8c ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0x86fca7e4 ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x893cdcab ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x8ad356ed ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x8edec5e5 ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0x92b7b4ce ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0x932546c5 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0x93924392 ceph_cls_lock_info +EXPORT_SYMBOL net/ceph/libceph 0x93ea7771 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x9557f9eb osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x976485ce ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x987d3968 ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x98b0d84f osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x9bc6b539 ceph_find_or_create_string +EXPORT_SYMBOL net/ceph/libceph 0x9ca95932 ceph_create_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x9fbba67f ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x9fefa3cb ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0xa21cc1ec ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0xa3ad5345 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0xa4130a8f osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0xa422fd34 osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0xa698f998 ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0xaa7289f2 ceph_auth_handle_bad_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xad6fb025 ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0xad703657 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xae2659ac ceph_auth_handle_svc_reply_done +EXPORT_SYMBOL net/ceph/libceph 0xae60e347 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0xaebea5b2 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0xaec53437 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0xafb4acb7 osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xafc1d372 ceph_client_gid +EXPORT_SYMBOL net/ceph/libceph 0xafda76a5 osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb6d08b58 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xb72c162e ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xbb31beb5 ceph_osdc_watch +EXPORT_SYMBOL net/ceph/libceph 0xbd2f79ae ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0xbdfaef4f ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xbe3879aa ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0xbf009be8 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xc0530ef4 osd_req_op_xattr_init +EXPORT_SYMBOL net/ceph/libceph 0xc21dfd61 ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0xc366bfa1 ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xc470c676 ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0xc4fb808c osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0xc72b320a ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xc9eba7b7 osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xca80437b ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0xccf1a89b ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0xcd3796d1 osd_req_op_init +EXPORT_SYMBOL net/ceph/libceph 0xd0f21d1c ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0xd3a5b5d3 __ceph_auth_get_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xd4d736db ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0xd4eb7735 ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0xd518fac5 ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0xda0fe286 ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0xde7ba39e ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0xdf6ef4a1 ceph_oid_printf +EXPORT_SYMBOL net/ceph/libceph 0xdfc091f9 ceph_entity_type_name +EXPORT_SYMBOL net/ceph/libceph 0xe34a59f2 ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0xe76e7226 ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0xe77287fc ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0xee120c03 ceph_release_string +EXPORT_SYMBOL net/ceph/libceph 0xeecc2ff6 ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0xeef6cfa3 ceph_iterate_extents +EXPORT_SYMBOL net/ceph/libceph 0xef1bb7b2 ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0xefce3c3b ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0xefce991c ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0xf03fe862 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0xf4f48bcf ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0xf5de6a39 osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0xfb51224b osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0xfdb69e0d ceph_msg_new +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x2dccda4c dccp_syn_ack_timeout +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xdc1d5abb dccp_req_err +EXPORT_SYMBOL net/hsr/hsr 0x9ccbad31 is_hsr_master +EXPORT_SYMBOL net/hsr/hsr 0xaa3dd637 hsr_get_version +EXPORT_SYMBOL net/ieee802154/ieee802154 0x17e06cd0 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0x79bec238 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x9fb4ca00 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0xb7eecc21 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0xce2dc3ba wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0xe8690479 wpan_phy_new +EXPORT_SYMBOL net/ipv4/fou 0x1757d1a4 fou_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0xc3a71e38 __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0xd53af43e __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0xf13914b3 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0x164cb675 gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x0065cf6b ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x1b83cf92 ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x9d85fb70 ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xd071cbab ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x01494f70 arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x19288146 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xb0f82ee4 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xbb8af2ad arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x2fbfec8a ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x6adb791e ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xabf6556f ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xcb9d26b2 ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/tunnel4 0xd4ceb89e xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xf994fdc6 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/udp_tunnel 0xf4d6db51 udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x37977116 ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x73f1ab97 ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x88b7075a ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x9310ac7a ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x9d3e596f ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xb1c93b1b ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xb2557a0b ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xc529bbd1 ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xd09b94be ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x2a57890a ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x3a48420a ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x4c20b7bb ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x925fe4dc ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/tunnel6 0x4416adb3 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0xeaef985f xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x0a08c54a xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x76c80cba xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/lapb/lapb 0x20a8e368 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x2cf15015 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x6a5eb274 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x6c1ec974 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x6d2c9311 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x9a4b152a lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0xc89d534e lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0xffc6daa6 lapb_data_request +EXPORT_SYMBOL net/llc/llc 0x0f09cde1 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x14584573 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x5ab900c2 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x5b2adbc3 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x8c9bc05c llc_sap_close +EXPORT_SYMBOL net/llc/llc 0xa4fb0a86 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0xd372f8ab llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/mac80211/mac80211 0x009f3b09 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0x0581dba9 ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x063f5308 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x067cb803 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x06833e6b ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x07b4ae84 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x08eb1b14 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x121bea9a ieee80211_sta_register_airtime +EXPORT_SYMBOL net/mac80211/mac80211 0x183dcd3b ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0x1976a9d7 ieee80211_txq_schedule_start +EXPORT_SYMBOL net/mac80211/mac80211 0x19f37f0d ieee80211_update_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x1a66fc17 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0x1c7b9a75 ieee80211_next_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x1cbec2ce ieee80211_sta_uapsd_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x22c132ce ieee80211_txq_may_transmit +EXPORT_SYMBOL net/mac80211/mac80211 0x236bc731 ieee80211_csa_finish +EXPORT_SYMBOL net/mac80211/mac80211 0x2451fdd5 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x2491120d ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x2688fc61 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x2724bb34 ieee80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x2a3f6f93 ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x2a676938 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x2af97ef6 ieee80211_get_unsol_bcast_probe_resp_tmpl +EXPORT_SYMBOL net/mac80211/mac80211 0x2b850a80 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x2c1095d7 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x2fef987b ieee80211_beacon_set_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0x307bb6bc ieee80211_txq_get_depth +EXPORT_SYMBOL net/mac80211/mac80211 0x356d7e21 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x3700c86c ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x37a1c5f4 ieee80211_beacon_update_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0x3cb5685d ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x3e264d3a ieee80211_unreserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x3e4dfbb4 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x41da92c0 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0x424bcc78 ieee80211_beacon_cntdwn_is_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x4352b47e ieee80211_disconnect +EXPORT_SYMBOL net/mac80211/mac80211 0x484c0dc2 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x4afc4876 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x4eb709d7 ieee80211_manage_rx_ba_offl +EXPORT_SYMBOL net/mac80211/mac80211 0x532ba469 ieee80211_rx_ba_timer_expired +EXPORT_SYMBOL net/mac80211/mac80211 0x54bc5f4f ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x5537f833 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x5871d1a4 ieee80211_tx_dequeue +EXPORT_SYMBOL net/mac80211/mac80211 0x58d2c506 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x59af98f2 ieee80211_radar_detected +EXPORT_SYMBOL net/mac80211/mac80211 0x5c88fc5b ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0x5e183b74 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x66d44bcd ieee80211_nan_func_match +EXPORT_SYMBOL net/mac80211/mac80211 0x6762b70d ieee80211_get_tx_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x67ae6b3c ieee80211_tx_status_ext +EXPORT_SYMBOL net/mac80211/mac80211 0x69d23336 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x6c4bb4ee ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x70cca38b ieee80211_sta_pspoll +EXPORT_SYMBOL net/mac80211/mac80211 0x728b8979 ieee80211_tdls_oper_request +EXPORT_SYMBOL net/mac80211/mac80211 0x735d3dcf ieee80211_send_eosp_nullfunc +EXPORT_SYMBOL net/mac80211/mac80211 0x774d6c37 ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0x7bdd4574 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x7c7512da ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x80239dc8 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x85b5eea9 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x86051631 ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x8884149a ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x88d5e064 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x8f0a0529 ieee80211_sta_eosp +EXPORT_SYMBOL net/mac80211/mac80211 0x9221f433 ieee80211_tx_prepare_skb +EXPORT_SYMBOL net/mac80211/mac80211 0x93a20ee3 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x94a31773 ieee80211_mark_rx_ba_filtered_frames +EXPORT_SYMBOL net/mac80211/mac80211 0x97027810 ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0x98a61246 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x991a0ca0 ieee80211_parse_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x9985ec61 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x9ea68376 ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0xa3c30338 ieee80211_alloc_hw_nm +EXPORT_SYMBOL net/mac80211/mac80211 0xa486bfca ieee80211_schedule_txq +EXPORT_SYMBOL net/mac80211/mac80211 0xa61d1104 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xa6b93cec ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0xaaec4bcc ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xb17b57e2 ieee80211_report_wowlan_wakeup +EXPORT_SYMBOL net/mac80211/mac80211 0xb53826e1 ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0xb5553961 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0xbba0aaa4 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xbcecb804 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xc05d2c82 ieee80211_reserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0xc0abb4ea ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xc1b00d20 ieee80211_channel_switch_disconnect +EXPORT_SYMBOL net/mac80211/mac80211 0xc60879c9 ieee80211_iter_keys_rcu +EXPORT_SYMBOL net/mac80211/mac80211 0xcb9358da ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0xd547c3d8 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0xd6cfa6d2 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xdae7a9a3 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0xde1f2a40 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xe220cc75 ieee80211_get_fils_discovery_tmpl +EXPORT_SYMBOL net/mac80211/mac80211 0xe5752af3 ieee80211_get_bssid +EXPORT_SYMBOL net/mac80211/mac80211 0xe5ab3618 ieee80211_rx_napi +EXPORT_SYMBOL net/mac80211/mac80211 0xe65dab07 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xe78e7860 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xe84ba56f ieee80211_rx_list +EXPORT_SYMBOL net/mac80211/mac80211 0xe869fade ieee80211_txq_airtime_check +EXPORT_SYMBOL net/mac80211/mac80211 0xeb4ea571 ieee80211_tx_rate_update +EXPORT_SYMBOL net/mac80211/mac80211 0xeca4ff3d rate_control_set_rates +EXPORT_SYMBOL net/mac80211/mac80211 0xee2fb562 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xf114a6b5 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xf56df6b5 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xfbdb6b3f __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xfdc24d32 ieee80211_return_txq +EXPORT_SYMBOL net/mac80211/mac80211 0xfe91114d ieee80211_nan_func_terminated +EXPORT_SYMBOL net/mac802154/mac802154 0x1153a996 ieee802154_rx_irqsafe +EXPORT_SYMBOL net/mac802154/mac802154 0x151bb451 ieee802154_configure_durations +EXPORT_SYMBOL net/mac802154/mac802154 0x19bf6e85 ieee802154_xmit_hw_error +EXPORT_SYMBOL net/mac802154/mac802154 0x4a72b7af ieee802154_xmit_complete +EXPORT_SYMBOL net/mac802154/mac802154 0x64135086 ieee802154_alloc_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x69393f45 ieee802154_unregister_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xaa4959bc ieee802154_free_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xc86b6e81 ieee802154_stop_queue +EXPORT_SYMBOL net/mac802154/mac802154 0xdadf6258 ieee802154_wake_queue +EXPORT_SYMBOL net/mac802154/mac802154 0xe6e1196c ieee802154_register_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xfdd3b411 ieee802154_xmit_error +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0db4e485 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1585727e ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1f203aa9 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x22d023f4 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2bb8033c register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2f8b547a ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x54b92667 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x60e0f76b ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x6abe3143 ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x75f1d3dc ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x80160649 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x96164e28 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa0cd3747 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc019c37d register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd1a605d8 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0xf2a36612 pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x6e72265a nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0x75b19eab nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nf_nat 0x7b235fd5 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0xe9577511 nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nft_fib 0xb3c36947 nft_fib_policy +EXPORT_SYMBOL net/netfilter/x_tables 0x05570df7 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x0d7f5fcd xt_alloc_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x13cade14 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x3bf9d084 xt_check_table_hooks +EXPORT_SYMBOL net/netfilter/x_tables 0x48012e28 xt_check_proc_name +EXPORT_SYMBOL net/netfilter/x_tables 0x50873741 xt_compat_init_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x71d15e2d xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x85dcc37a xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x977fd4bf xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xa25fc115 xt_compat_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0xb7512099 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0xc301426e xt_find_table +EXPORT_SYMBOL net/netfilter/x_tables 0xc87861cb xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xcb3e91cc xt_counters_alloc +EXPORT_SYMBOL net/netfilter/x_tables 0xd17f9071 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xd87ae60d xt_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0xe204e042 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xeb3f448c xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xf9504fba xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xfef779fa xt_find_jump_offset +EXPORT_SYMBOL net/nfc/hci/hci 0x0605b8b6 nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x14457f4e nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x4892ee2d nfc_llc_start +EXPORT_SYMBOL net/nfc/hci/hci 0x49342558 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x49e5d3b1 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x594ef18b nfc_hci_reset_pipes +EXPORT_SYMBOL net/nfc/hci/hci 0x611421d8 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0x718fd861 nfc_hci_reset_pipes_per_host +EXPORT_SYMBOL net/nfc/hci/hci 0x74fe3670 nfc_hci_result_to_errno +EXPORT_SYMBOL net/nfc/hci/hci 0x77906d81 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x8989cf4c nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x8ec72857 nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x914090ee nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0xa4b2a74c nfc_hci_driver_failure +EXPORT_SYMBOL net/nfc/hci/hci 0xa5c8af38 nfc_hci_send_cmd_async +EXPORT_SYMBOL net/nfc/hci/hci 0xb4943c46 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0xcae292a1 nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xcb28b523 nfc_llc_stop +EXPORT_SYMBOL net/nfc/hci/hci 0xce88794a nfc_hci_target_discovered +EXPORT_SYMBOL net/nfc/hci/hci 0xdc4431e6 nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0xdd231c55 nfc_hci_sak_to_protocol +EXPORT_SYMBOL net/nfc/hci/hci 0xfce7609f nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0xfd1030a8 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0x048ff582 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0x06dafaec nci_get_conn_info_by_dest_type_params +EXPORT_SYMBOL net/nfc/nci/nci 0x0db98fbd nci_send_data +EXPORT_SYMBOL net/nfc/nci/nci 0x2101acbf nci_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0x2c7543a5 nci_core_conn_close +EXPORT_SYMBOL net/nfc/nci/nci 0x3023d510 nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0x3541ae26 nci_nfcee_discover +EXPORT_SYMBOL net/nfc/nci/nci 0x37faad3c nci_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0x3ce1985a nci_core_conn_create +EXPORT_SYMBOL net/nfc/nci/nci 0x48ca5054 nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0x4d090d40 nci_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0x553bf437 nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x5e80ce3c nci_nfcee_mode_set +EXPORT_SYMBOL net/nfc/nci/nci 0x5f01e625 nci_hci_open_pipe +EXPORT_SYMBOL net/nfc/nci/nci 0x6139b0e0 nci_send_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x6920c52b nci_core_reset +EXPORT_SYMBOL net/nfc/nci/nci 0x6fc53d63 nci_set_config +EXPORT_SYMBOL net/nfc/nci/nci 0x7f648247 nci_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0x81b74e93 nci_prop_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x945bd12b nci_hci_clear_all_pipes +EXPORT_SYMBOL net/nfc/nci/nci 0x9ace5ca8 nci_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x9e9f2d88 nci_core_init +EXPORT_SYMBOL net/nfc/nci/nci 0xa996225c nci_hci_dev_session_init +EXPORT_SYMBOL net/nfc/nci/nci 0xac32aec7 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xd19d1d33 nci_conn_max_data_pkt_payload_size +EXPORT_SYMBOL net/nfc/nci/nci 0xd39b4902 nci_core_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xd954bb26 nci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xe20e9f37 nci_req_complete +EXPORT_SYMBOL net/nfc/nci/nci 0xfa9bc226 nci_recv_frame +EXPORT_SYMBOL net/nfc/nfc 0x0129eeb5 nfc_driver_failure +EXPORT_SYMBOL net/nfc/nfc 0x0ed614da nfc_se_connectivity +EXPORT_SYMBOL net/nfc/nfc 0x1da2a875 nfc_add_se +EXPORT_SYMBOL net/nfc/nfc 0x4fd484d8 nfc_se_transaction +EXPORT_SYMBOL net/nfc/nfc 0x5069618e nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0x5726a39b nfc_remove_se +EXPORT_SYMBOL net/nfc/nfc 0x631d9dc8 nfc_fw_download_done +EXPORT_SYMBOL net/nfc/nfc 0x65e21618 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x7069a502 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x7f5e62d9 nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x834433b3 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x83878d27 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x85d0001e nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x8d1b7751 __nfc_alloc_vendor_cmd_reply_skb +EXPORT_SYMBOL net/nfc/nfc 0xaecaf4e2 nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0xc68efef9 nfc_vendor_cmd_reply +EXPORT_SYMBOL net/nfc/nfc 0xc9aa55fd nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0xd0e6988e nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0xd4d2f350 nfc_tm_deactivated +EXPORT_SYMBOL net/nfc/nfc 0xd5dda669 nfc_send_to_raw_sock +EXPORT_SYMBOL net/nfc/nfc 0xd83c9702 nfc_find_se +EXPORT_SYMBOL net/nfc/nfc 0xdad53fab nfc_tm_activated +EXPORT_SYMBOL net/nfc/nfc 0xdc14bc1e nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0xf1a49b5f nfc_get_local_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0xfeb64987 nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nfc_digital 0x0dc27f81 nfc_digital_unregister_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x24cc15fd nfc_digital_free_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x7a6336aa nfc_digital_register_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xd6e6c090 nfc_digital_allocate_device +EXPORT_SYMBOL net/phonet/phonet 0x3635eb7f phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x483e6aa3 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x5a341a36 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0xa14cfcc7 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0xc85d5116 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0xe09f70b8 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0xf18300cf phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0xfac91ae3 pn_skb_send +EXPORT_SYMBOL net/rxrpc/rxrpc 0x01884681 rxrpc_kernel_check_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x2c387ab6 rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x339b309c rxrpc_kernel_recv_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x340fa17d rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/rxrpc/rxrpc 0x5737a0aa rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0x65e97fa4 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x70aad01f rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x86b18ab5 rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0x895f1444 rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0x8cf92246 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x8e68ac7a rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x9048ef0c key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0xa108210a rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0xab7407d8 rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/rxrpc/rxrpc 0xb018bb4e rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0xbdf10b52 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd53996cd rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xfb9cf2fd rxrpc_kernel_send_data +EXPORT_SYMBOL net/sctp/sctp 0x8249f994 sctp_do_peeloff +EXPORT_SYMBOL net/smc/smc 0x02904f09 __traceiter_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0x1b1e06e1 __tracepoint_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x2f8356c3 __traceiter_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x3153cc92 __SCK__tp_func_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x8989d6ae __tracepoint_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x99bf1b00 __tracepoint_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0xb3f2d173 __SCK__tp_func_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0xcd9701fe __tracepoint_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0xd440374c __traceiter_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0xe7dacb8d __SCK__tp_func_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0xfb8cae0f __SCK__tp_func_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0xfbd5ad31 __traceiter_smc_tx_sendmsg +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x90f6fa55 gss_mech_put +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xc3c0bc82 gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xcbe05e23 gss_mech_get +EXPORT_SYMBOL net/sunrpc/sunrpc 0x387cf9af svc_pool_stats_open +EXPORT_SYMBOL net/sunrpc/sunrpc 0x625ced79 xdr_truncate_encode +EXPORT_SYMBOL net/sunrpc/sunrpc 0x7b675fd1 xdr_restrict_buflen +EXPORT_SYMBOL net/tipc/tipc 0x33abcf4d tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tipc/tipc 0x4a359746 tipc_nl_sk_walk +EXPORT_SYMBOL net/tipc/tipc 0x4e6170e6 tipc_dump_done +EXPORT_SYMBOL net/tipc/tipc 0x5ed768d5 tipc_dump_start +EXPORT_SYMBOL net/tls/tls 0x835ad82f tls_get_record +EXPORT_SYMBOL net/wireless/cfg80211 0x00a9ccd7 wiphy_new_nm +EXPORT_SYMBOL net/wireless/cfg80211 0x0284e5b4 cfg80211_check_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x032a6d79 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x033c7ba6 cfg80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x06ca71fd cfg80211_chandef_create +EXPORT_SYMBOL net/wireless/cfg80211 0x091a7077 cfg80211_rx_assoc_resp +EXPORT_SYMBOL net/wireless/cfg80211 0x095cafa9 __cfg80211_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x0cc95bc2 ieee80211_s1g_channel_width +EXPORT_SYMBOL net/wireless/cfg80211 0x11695a1d cfg80211_chandef_usable +EXPORT_SYMBOL net/wireless/cfg80211 0x11744feb wiphy_read_of_freq_limits +EXPORT_SYMBOL net/wireless/cfg80211 0x117aca91 cfg80211_merge_profile +EXPORT_SYMBOL net/wireless/cfg80211 0x11c49c75 cfg80211_report_wowlan_wakeup +EXPORT_SYMBOL net/wireless/cfg80211 0x1380bd78 cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0x15f754bc ieee80211_get_channel_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x16d62d3b wdev_chandef +EXPORT_SYMBOL net/wireless/cfg80211 0x17a5982c cfg80211_check_station_change +EXPORT_SYMBOL net/wireless/cfg80211 0x17d14c36 ieee80211_data_to_8023_exthdr +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x19c176c4 cfg80211_send_layer2_update +EXPORT_SYMBOL net/wireless/cfg80211 0x19dde147 cfg80211_conn_failed +EXPORT_SYMBOL net/wireless/cfg80211 0x1b5a3a7e cfg80211_sinfo_alloc_tid_stats +EXPORT_SYMBOL net/wireless/cfg80211 0x1ce2497f reg_query_regdb_wmm +EXPORT_SYMBOL net/wireless/cfg80211 0x20de09e8 cfg80211_reg_can_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x23311f99 cfg80211_inform_bss_data +EXPORT_SYMBOL net/wireless/cfg80211 0x255f5ab7 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x275269b3 ieee80211_ie_split_ric +EXPORT_SYMBOL net/wireless/cfg80211 0x275c97f0 cfg80211_get_ies_channel_number +EXPORT_SYMBOL net/wireless/cfg80211 0x2873e169 cfg80211_nan_func_terminated +EXPORT_SYMBOL net/wireless/cfg80211 0x32786fed cfg80211_assoc_comeback +EXPORT_SYMBOL net/wireless/cfg80211 0x3643b80f ieee80211_chandef_to_operating_class +EXPORT_SYMBOL net/wireless/cfg80211 0x3c2d3406 cfg80211_tdls_oper_request +EXPORT_SYMBOL net/wireless/cfg80211 0x41074490 cfg80211_rx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x415add58 cfg80211_bss_flush +EXPORT_SYMBOL net/wireless/cfg80211 0x42279693 cfg80211_bss_color_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x429c0c31 ieee80211_bss_get_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x43afadee ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x44c02060 cfg80211_external_auth_request +EXPORT_SYMBOL net/wireless/cfg80211 0x45e0ab07 cfg80211_sched_scan_stopped_locked +EXPORT_SYMBOL net/wireless/cfg80211 0x46ff300c ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x48dfc7b4 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x4bf885d1 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x4d888bc1 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x4e79b403 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x4f6a7107 cfg80211_inform_bss_frame_data +EXPORT_SYMBOL net/wireless/cfg80211 0x4f737d95 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x4f9de6ce cfg80211_rx_mgmt_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x5584448a ieee80211_channel_to_freq_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x595e11a0 regulatory_pre_cac_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x59c548ad cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x5c1f0f63 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x5e973840 cfg80211_update_owe_info_event +EXPORT_SYMBOL net/wireless/cfg80211 0x66765aa7 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x66ebdbef cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6bedf402 ieee80211_freq_khz_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x70075e15 cfg80211_iftype_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x72fe13e1 __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x79b82a71 cfg80211_find_vendor_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x7acb86ed ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3ac925 ieee80211_get_vht_max_nss +EXPORT_SYMBOL net/wireless/cfg80211 0x7e3acfcd cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x7e45d0c8 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x821c5f54 cfg80211_reg_can_beacon_relax +EXPORT_SYMBOL net/wireless/cfg80211 0x8333eb5b cfg80211_register_netdevice +EXPORT_SYMBOL net/wireless/cfg80211 0x8623b3dc cfg80211_cac_event +EXPORT_SYMBOL net/wireless/cfg80211 0x8acbbfb1 cfg80211_background_cac_abort +EXPORT_SYMBOL net/wireless/cfg80211 0x8e859707 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x8e8eaa60 cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x8fa02936 cfg80211_free_nan_func +EXPORT_SYMBOL net/wireless/cfg80211 0x8fcb38ae __cfg80211_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x91e0bc62 cfg80211_unregister_wdev +EXPORT_SYMBOL net/wireless/cfg80211 0x9621d0ee ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x96df3dda wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x97b516c7 ieee80211_mandatory_rates +EXPORT_SYMBOL net/wireless/cfg80211 0x9a10ba8a regulatory_set_wiphy_regd_sync +EXPORT_SYMBOL net/wireless/cfg80211 0x9b2b5b34 cfg80211_any_usable_channels +EXPORT_SYMBOL net/wireless/cfg80211 0x9d6cba30 cfg80211_find_elem_match +EXPORT_SYMBOL net/wireless/cfg80211 0x9f47da49 cfg80211_cqm_txe_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xa068e4f6 cfg80211_rx_unprot_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xa0fbccce cfg80211_ch_switch_started_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xa1262e63 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xa2a067cc cfg80211_tx_mgmt_expired +EXPORT_SYMBOL net/wireless/cfg80211 0xa6cd567b cfg80211_rx_control_port +EXPORT_SYMBOL net/wireless/cfg80211 0xaa30397a cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0xadca1b1d cfg80211_sta_opmode_change_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xaf50f00e cfg80211_iter_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0xafa2ad99 cfg80211_abandon_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0xb23b2b8a cfg80211_chandef_dfs_required +EXPORT_SYMBOL net/wireless/cfg80211 0xb5073471 cfg80211_report_obss_beacon_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xb5c50291 cfg80211_nan_match +EXPORT_SYMBOL net/wireless/cfg80211 0xb6060945 cfg80211_port_authorized +EXPORT_SYMBOL net/wireless/cfg80211 0xb95e1e3c cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xbb427fa1 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xbdba38e9 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xc4b4fc27 cfg80211_chandef_valid +EXPORT_SYMBOL net/wireless/cfg80211 0xc6aa54e1 get_wiphy_regdom +EXPORT_SYMBOL net/wireless/cfg80211 0xcc1a7c48 cfg80211_is_element_inherited +EXPORT_SYMBOL net/wireless/cfg80211 0xcc42f9ec cfg80211_tx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xcfe62993 cfg80211_connect_done +EXPORT_SYMBOL net/wireless/cfg80211 0xd2e3dd85 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xd2eb59af cfg80211_bss_iter +EXPORT_SYMBOL net/wireless/cfg80211 0xd45ef800 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0xd56d55f3 ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xd65c3ec8 wiphy_rfkill_set_hw_state_reason +EXPORT_SYMBOL net/wireless/cfg80211 0xd84bd724 __cfg80211_radar_event +EXPORT_SYMBOL net/wireless/cfg80211 0xd8b16892 cfg80211_get_drvinfo +EXPORT_SYMBOL net/wireless/cfg80211 0xd8dd1d5c wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0xd94e2ff3 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0xd97eaad4 cfg80211_chandef_compatible +EXPORT_SYMBOL net/wireless/cfg80211 0xd98ce516 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0xdba126c1 reg_initiator_name +EXPORT_SYMBOL net/wireless/cfg80211 0xe080dde6 cfg80211_crit_proto_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xe35028f5 ieee80211_get_num_supported_channels +EXPORT_SYMBOL net/wireless/cfg80211 0xe958d770 cfg80211_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xec5be232 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0xed1a7ec5 cfg80211_get_station +EXPORT_SYMBOL net/wireless/cfg80211 0xed2fdc61 cfg80211_stop_iface +EXPORT_SYMBOL net/wireless/cfg80211 0xf0043bd1 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xf054cf6b cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xf162b48f wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0xf19a545a cfg80211_control_port_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xf1eb371f cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xf40bc2f5 ieee80211_operating_class_to_band +EXPORT_SYMBOL net/wireless/cfg80211 0xf5596d89 cfg80211_get_p2p_attr +EXPORT_SYMBOL net/wireless/cfg80211 0xf6c0b08a cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xf852e272 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xf9b0a857 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xfa74fa6f cfg80211_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0xfd15e1db regulatory_set_wiphy_regd +EXPORT_SYMBOL net/wireless/cfg80211 0xfd8447e1 cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/lib80211 0x1315081a lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x1732d0e7 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x2050ffe1 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x3a73e7dd lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xc5e91066 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0xf3696740 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL sound/ac97_bus 0x668883a2 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0xaf391c2a snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1a724fcc snd_seq_kernel_client_ctl +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3061c52d snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x68cff474 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6bb71038 snd_seq_delete_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7ac2f329 snd_seq_expand_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7b8699eb snd_seq_event_port_detach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xcbbd1e81 snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xce751828 snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xd6be1f28 snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x6ea09972 snd_midi_channel_alloc_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x833a3e07 snd_midi_channel_set_clear +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xb9948d2c snd_midi_channel_free_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xf912f0c8 snd_midi_process_event +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x734e4fba snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x7a3e0db5 snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x8150b379 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xb8620ad8 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xdd70dbf6 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xdd935c83 snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe9e6c50c snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x1e6990d2 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x03579334 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x065c2504 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x0a3d29cc snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0x11085cfa snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x1afe87ac snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x1d3e1511 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x23a5cd80 snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x2ff09cfc snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x3332f42c snd_ctl_notify_one +EXPORT_SYMBOL sound/core/snd 0x342a2354 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3b6eabc4 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x3e5d7829 snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0x4436375b snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x513280ce snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x53273212 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x5387dc4b snd_card_register +EXPORT_SYMBOL sound/core/snd 0x5456722b snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x56eda549 _snd_ctl_add_follower +EXPORT_SYMBOL sound/core/snd 0x59a92c31 snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x5bb58fde snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x5c1d3345 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x62131531 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x649aff0d snd_component_add +EXPORT_SYMBOL sound/core/snd 0x6a49843a snd_jack_add_new_kctl +EXPORT_SYMBOL sound/core/snd 0x706a0b37 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x724f5449 snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x73076315 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0x77d8301d snd_device_free +EXPORT_SYMBOL sound/core/snd 0x782cbcec snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x7840d792 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x84c75e6e snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0x8a5e0b57 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x8cf3902e snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x8f702d02 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x99f8a253 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x9cca4b12 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xacb498de snd_device_new +EXPORT_SYMBOL sound/core/snd 0xb0c42c32 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb4a026ce snd_register_device +EXPORT_SYMBOL sound/core/snd 0xbbd1f8fe snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0xc5a6d10b release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0xc9401baf snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0xcb331557 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0xcc6a729f snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0xd964d650 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0xda27de25 snd_card_new +EXPORT_SYMBOL sound/core/snd 0xe191d552 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0xe8b86176 snd_card_free +EXPORT_SYMBOL sound/core/snd 0xede9d74b snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0xf0580049 snd_device_register +EXPORT_SYMBOL sound/core/snd 0xf48abcc3 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0xfee9706d snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0xfffd89db copy_from_user_toio +EXPORT_SYMBOL sound/core/snd-compress 0x0333a427 snd_compr_free_pages +EXPORT_SYMBOL sound/core/snd-compress 0xeafaba46 snd_compr_malloc_pages +EXPORT_SYMBOL sound/core/snd-hwdep 0xfee8ec29 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-pcm 0x01842f5c snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x0511e583 __snd_pcm_lib_xfer +EXPORT_SYMBOL sound/core/snd-pcm 0x0c3723a3 snd_pcm_create_iec958_consumer +EXPORT_SYMBOL sound/core/snd-pcm 0x0f820032 snd_sgbuf_get_addr +EXPORT_SYMBOL sound/core/snd-pcm 0x0f8d4ab6 snd_pcm_set_managed_buffer_all +EXPORT_SYMBOL sound/core/snd-pcm 0x11eba48e snd_pcm_create_iec958_consumer_hw_params +EXPORT_SYMBOL sound/core/snd-pcm 0x12fc8f23 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x32342fe9 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x3e09a816 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x40bc4dfd snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x4114b75c snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x503bd137 snd_interval_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x53cfd60a snd_pcm_hw_constraint_mask64 +EXPORT_SYMBOL sound/core/snd-pcm 0x5619a55c snd_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0x57b52c52 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x5b5dc01e snd_sgbuf_get_page +EXPORT_SYMBOL sound/core/snd-pcm 0x5c4e2826 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x5c925ad6 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x5ff19f2f snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x649b7f5a snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x69255f54 snd_pcm_hw_limit_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x6d0ce4bd snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x6f521da8 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0x71f348f2 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x72d041c5 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x7933ae43 snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0x7b73a157 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x834dc955 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x8e5f77e6 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x8f3237d6 snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x8fbf89ca snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x92ba05ff snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0xa3e198da snd_dma_buffer_mmap +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa73e0d83 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0xabb77a4d snd_pcm_period_elapsed_under_stream_lock +EXPORT_SYMBOL sound/core/snd-pcm 0xac437f7b snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xb04306c9 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0xb05995fd snd_dma_alloc_dir_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xb1be8011 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0xb8c6e219 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbe0418ff snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xc10842b7 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xc55e2190 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xc740b653 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0xcea470ef snd_pcm_hw_constraint_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0xd095f683 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xd7a8313f snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0xd8fad532 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0xda1adc06 snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-pcm 0xdf91a731 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0xe38682f3 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xf08ad44c snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xf51d0d9e snd_pcm_set_managed_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xff6104d0 snd_pcm_rate_bit_to_rate +EXPORT_SYMBOL sound/core/snd-rawmidi 0x02a12a6f snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x17c4a931 snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x25995304 __snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3fed63f0 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3feebc33 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5572cc19 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5f90d12f snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x674c09ce snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6c737d21 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x71fb0e67 snd_rawmidi_proceed +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa342aa43 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc17523ff snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc767a8d5 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xcc6cef72 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xcd6a0000 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd5d3e424 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd7e047de snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xef874193 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf5431ca4 __snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf739d4f6 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-seq-device 0x0498f771 snd_seq_device_new +EXPORT_SYMBOL sound/core/snd-seq-device 0x091def1c snd_seq_autoload_exit +EXPORT_SYMBOL sound/core/snd-seq-device 0x370a0736 snd_seq_autoload_init +EXPORT_SYMBOL sound/core/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/snd-timer 0x05223055 snd_timer_instance_new +EXPORT_SYMBOL sound/core/snd-timer 0x270adaf4 snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0x2911f857 snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x2e84146e snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x3c9faf30 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x3f54669e snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0x72b39c17 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x99998647 snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0xafb8d639 snd_timer_instance_free +EXPORT_SYMBOL sound/core/snd-timer 0xb34ce244 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0xb46775d1 snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0xbf16c9ba snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0xd234ddfc snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0xd444f135 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0xdc352640 snd_timer_global_register +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x190b7a3b snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc0fec227 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x15ed9c43 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x1ceece85 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x2c45bbde snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x35b9218a snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x48ec8edd snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x603fd8ae snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x9414a0bc snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xa9bbd817 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf6ea761f snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x0c0a236f snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x176bee6e snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x226138b0 snd_vx_threaded_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x56684422 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x57256da5 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x6f3c4a06 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xae25c118 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xb54a8eca snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xe5171058 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xee981e66 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x09db3bf0 cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1aaed8f3 fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1d005827 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x20254e45 amdtp_syt_intervals +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x25e35eab avc_general_set_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x292723ca cmp_connection_check_used +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2cc15a8a amdtp_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3b1823cd iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x49ced12a cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4a785625 snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4e16c641 fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x50371b80 amdtp_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x53ca18e8 amdtp_rate_table +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5a47e7c8 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x73c6398d avc_general_get_plug_info +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7c0d9a0d amdtp_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8529b6cd amdtp_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x863cfadd amdtp_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x970dea0b fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa7207c61 fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb58489f6 iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xcb8db1c2 fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd282266a cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd7739d64 cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe30887b0 amdtp_stream_add_pcm_hw_constraints +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe81b1095 cmp_connection_release +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xec91436d cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf24d329d amdtp_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf3238af1 amdtp_stream_set_parameters +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf9d1c3ac cmp_connection_reserve +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf9d50449 avc_general_get_sig_fmt +EXPORT_SYMBOL sound/hda/snd-intel-dspcfg 0x41a05c36 intel_nhlt_has_endpoint_type +EXPORT_SYMBOL sound/hda/snd-intel-dspcfg 0x66fd6169 intel_nhlt_ssp_endpoint_mask +EXPORT_SYMBOL sound/hda/snd-intel-dspcfg 0x8bc251ba intel_nhlt_get_endpoint_blob +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x7358c1fd snd_ak4113_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0xc6883951 snd_ak4113_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x1ee3d3ee snd_ak4114_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x1fe1d139 snd_ak4114_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x53414707 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x81146506 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x829a12c9 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xc9d35789 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xe4735eaa snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xed1c94f1 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x20b57a8c snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x886a235d snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x9196a8c3 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xa8b397dd snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x710a387a snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xd9a2ed2f snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x10eefc53 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x180ab01b snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x37900f0b snd_cs8427_init +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xa6333aff snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xd4e39411 snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xef30835e snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-i2c 0x1c32a64f snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x339c0254 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0x5e9d16af snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x96a33d96 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xa8d40972 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xd93edd4c snd_i2c_probeaddr +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x06bcaa14 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1f5446d4 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x27cdce5a snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4365d325 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x47038514 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4892605f snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x51e1ba3c snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5e899476 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6f85ccb7 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7a599be3 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7adb4882 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7c9a6212 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7d8f47c0 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x87cb199b snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa420a95a snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc9049744 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xeebdf5c1 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x45d848fb snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x75dadecc snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x862dac43 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x87b1c473 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa559f4d3 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xc3edc219 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xccc62175 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xe141813d snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xf8c0cc3a snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x7682379a snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xa928a3ec snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xc5d6cfec snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x0c94db17 oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2e5a8b3a oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x44928052 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4fef3eaa oxygen_update_dac_routing +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5ab1a409 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x709bbf99 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7f6389fc oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x856128f4 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x882b238b oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x969130e8 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9ccd353d oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9e78f5c0 oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb3358058 oxygen_pci_pm +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb96847c7 oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc485930f oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xce3e3973 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd066fef4 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xdf969c90 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe34ce4b7 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf02a0bd0 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x3eb3b2e0 snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x4b72a330 snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x54b375d0 snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x7c5013a5 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xbd721682 snd_trident_alloc_voice +EXPORT_SYMBOL sound/soc/amd/acp_audio_dma 0xf2cc2cce acp_bt_uart_enable +EXPORT_SYMBOL sound/soc/amd/snd-acp-config 0x55c8339f snd_soc_acpi_amd_sof_machines +EXPORT_SYMBOL sound/soc/amd/snd-acp-config 0x60064634 snd_amd_acp_find_config +EXPORT_SYMBOL sound/soc/codecs/snd-soc-adau1372 0xde82daa6 adau1372_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-lpass-wsa-macro 0xce6fff71 wsa_macro_set_spkr_mode +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x776b8cbd pcm3060_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x8b207a71 pcm3060_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-rt715 0xed2acb24 hda_to_sdw +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x0b8bda03 tlv320aic23_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0xde7d22de tlv320aic23_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x1e0613fd aic32x4_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x3a4c9dde aic32x4_regmap_config +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0xb661d59f aic32x4_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic3x 0x512724e5 aic3x_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic3x 0x9aa1fc3c aic3x_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x1aba3d5b wcd_mbhc_start +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x3a195ca9 wcd_mbhc_get_impedance +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x6163be7c wcd_mbhc_init +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x789ebe56 wcd_mbhc_set_hph_type +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x99729688 wcd_dt_parse_mbhc_data +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xa5758a49 wcd_mbhc_get_hph_type +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xd094df47 wcd_mbhc_deinit +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xe2beca26 wcd_mbhc_stop +EXPORT_SYMBOL sound/soc/mediatek/mt8192/snd-soc-mt8192-afe 0x10bd0d1d mt8192_afe_gpio_request +EXPORT_SYMBOL sound/soc/mediatek/mt8192/snd-soc-mt8192-afe 0x80f6a967 mt8192_afe_gpio_init +EXPORT_SYMBOL sound/soc/qcom/qdsp6/q6afe 0x17ec0c15 q6afe_unvote_lpass_core_hw +EXPORT_SYMBOL sound/soc/qcom/qdsp6/q6afe 0xba87188a q6afe_vote_lpass_core_hw +EXPORT_SYMBOL sound/soc/qcom/snd-soc-qcom-common 0x215ab217 qcom_snd_parse_of +EXPORT_SYMBOL sound/soc/snd-soc-core 0x640e0604 snd_soc_alloc_ac97_component +EXPORT_SYMBOL sound/soc/sof/imx/imx-common 0x4ded5376 imx8_dump +EXPORT_SYMBOL sound/soc/sof/imx/imx-common 0x807401c4 imx8_parse_clocks +EXPORT_SYMBOL sound/soc/sof/imx/imx-common 0x947050f6 imx8_disable_clocks +EXPORT_SYMBOL sound/soc/sof/imx/imx-common 0xc32fa450 imx8_enable_clocks +EXPORT_SYMBOL sound/soc/sof/mediatek/mtk-adsp-common 0xac8d1911 mtk_adsp_dump +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0084e757 sof_compressed_ops +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0278d982 snd_sof_prepare +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x04e256bb snd_sof_dsp_only_d0i3_compatible_stream_active +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0625938f snd_sof_dsp_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x07818eea sof_ipc_tx_message +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x07f3d71d snd_sof_runtime_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x083f9a53 snd_sof_device_remove +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0ae9b90f sof_machine_register +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x113baac9 sof_widget_setup +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1d4be583 sof_io_read64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2112de83 sof_widget_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2717f879 snd_sof_ipc_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x29288bdd sof_block_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x31a3a953 sof_dai_get_mclk +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x368c6727 sof_debug_check_flag +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3ecc1e34 snd_sof_load_firmware_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4316adff snd_sof_runtime_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x483c2b96 sof_io_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x48c6606a snd_sof_dsp_update_bits64_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4bed6fd2 sof_dai_get_bclk +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x51615c2d snd_sof_device_probe_completed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x55554cbc sof_set_stream_data_offset +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5a749dcc sof_machine_check +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5a768ed5 sof_io_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x625f7417 sof_set_fw_state +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x62799c13 sof_mailbox_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x68dbb164 sof_stream_pcm_open +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6bbb20cc snd_sof_load_firmware_raw +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6c2290b2 snd_sof_load_topology +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6f34e2c4 snd_sof_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7c129d0f sof_pcm_dai_link_fixup +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x85580704 snd_sof_device_probe +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8669d2f2 snd_sof_fw_unload +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x86f6a478 sof_ipc_msg_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x886b9f94 snd_sof_dsp_dbg_dump +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8b295364 snd_sof_dsp_update_bits_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8cd2ab8b sof_block_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x91623830 snd_sof_ipc_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x92a10a70 snd_sof_dsp_update_bits_forced +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x95ebec28 snd_sof_ipc_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa95c3a73 snd_sof_handle_fw_exception +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa991ea2d snd_sof_complete +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa9d55ae6 snd_sof_run_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb08905c7 snd_sof_dsp_update_bits64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb29883dd sof_machine_unregister +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xbfd93fb9 snd_sof_ipc_get_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc1299360 snd_sof_dsp_panic +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc1bb8fb5 sof_stream_pcm_close +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc313f62b sof_ipc_tx_message_no_pm +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcc7a42c6 snd_sof_pci_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd7a5eb85 sof_io_write64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xdee4731c snd_sof_device_shutdown +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xdfedd85a sof_print_oops_and_stack +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe20992d9 snd_sof_runtime_idle +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe904bd63 snd_sof_pcm_period_elapsed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf8d4c442 sof_mailbox_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xfc2267a3 snd_sof_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof-of 0x4bc0d66a sof_of_probe +EXPORT_SYMBOL sound/soc/sof/snd-sof-of 0x8be7f803 sof_of_pm +EXPORT_SYMBOL sound/soc/sof/snd-sof-of 0xa57089fa sof_of_remove +EXPORT_SYMBOL sound/soc/sof/snd-sof-of 0xb2850ec6 sof_of_shutdown +EXPORT_SYMBOL sound/soc/sof/snd-sof-utils 0xcef5fec4 snd_sof_create_page_table +EXPORT_SYMBOL sound/soundcore 0x17f9f3ff sound_class +EXPORT_SYMBOL sound/soundcore 0x1ffe6950 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x8d390c24 register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0x91deee41 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xcd5cd410 register_sound_special +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x4ad944ce snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x5b2305c5 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x79499844 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xb40ebf5c snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xd3fb5cf2 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xd8cf23ba snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/snd-util-mem 0x0eda33fa snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x2a48197f snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x6517719f __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x914f3491 snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9223e14b snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9adc8c44 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xc59655e4 snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0xd28dc0da __snd_util_mem_alloc +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x06aa9dfe __snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xb2af19e1 snd_usbmidi_resume +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xbed43a41 snd_usbmidi_suspend +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL vmlinux 0x000041f9 clk_bulk_get_all +EXPORT_SYMBOL vmlinux 0x000d470c find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x00148653 vsnprintf +EXPORT_SYMBOL vmlinux 0x002dd17e fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0x004a5320 simple_dir_operations +EXPORT_SYMBOL vmlinux 0x0056b360 unregister_key_type +EXPORT_SYMBOL vmlinux 0x00a65a74 jbd2_submit_inode_data +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00c5c257 blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0x00cb57fc __i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x00d7e722 vme_lm_count +EXPORT_SYMBOL vmlinux 0x00f0aabe tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0x00f50b83 dquot_get_next_id +EXPORT_SYMBOL vmlinux 0x00f823cd filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x00f92c05 phy_ethtool_get_sset_count +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01156ae4 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x011a08ad mr_fill_mroute +EXPORT_SYMBOL vmlinux 0x011bab86 prepare_creds +EXPORT_SYMBOL vmlinux 0x0129c4f8 par_io_data_set +EXPORT_SYMBOL vmlinux 0x012de2ea xudma_rchanrt_read +EXPORT_SYMBOL vmlinux 0x013475f3 fqdir_exit +EXPORT_SYMBOL vmlinux 0x013f26ae dma_fence_get_stub +EXPORT_SYMBOL vmlinux 0x014128ca iov_iter_init +EXPORT_SYMBOL vmlinux 0x0147812c kblockd_mod_delayed_work_on +EXPORT_SYMBOL vmlinux 0x01505d85 imx_scu_call_rpc +EXPORT_SYMBOL vmlinux 0x0155a722 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x015df13f sk_common_release +EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device +EXPORT_SYMBOL vmlinux 0x0177113e xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x017de3d5 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0x01812656 inet_frags_init +EXPORT_SYMBOL vmlinux 0x018574a1 mb_cache_entry_delete +EXPORT_SYMBOL vmlinux 0x0188cd88 vme_alloc_consistent +EXPORT_SYMBOL vmlinux 0x01a45aba get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0x01a9a247 devfreq_update_target +EXPORT_SYMBOL vmlinux 0x01ae8160 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x01b6865c xa_get_mark +EXPORT_SYMBOL vmlinux 0x01bc8b10 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x01bf55fc paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x01c734e6 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x01ca28b1 netlink_capable +EXPORT_SYMBOL vmlinux 0x01d06174 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x01f890f7 cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0x0205a6a3 udplite_prot +EXPORT_SYMBOL vmlinux 0x0209f3a7 secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x020ed527 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x02171539 rproc_free +EXPORT_SYMBOL vmlinux 0x02249938 rproc_da_to_va +EXPORT_SYMBOL vmlinux 0x02293ac3 dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0x0229dee0 blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x022b0ff0 fddi_type_trans +EXPORT_SYMBOL vmlinux 0x02319292 param_set_byte +EXPORT_SYMBOL vmlinux 0x0232646d of_find_device_by_node +EXPORT_SYMBOL vmlinux 0x0237e563 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x023919b3 __ip_options_compile +EXPORT_SYMBOL vmlinux 0x023bc904 __blk_alloc_disk +EXPORT_SYMBOL vmlinux 0x02407438 free_mdio_bitbang +EXPORT_SYMBOL vmlinux 0x0248efd3 kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0x025badcf __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x0262b997 devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x02683ff2 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x026ac2b2 proc_symlink +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x027bdcc0 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x02a12957 napi_enable +EXPORT_SYMBOL vmlinux 0x02b8a347 vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0x02b8ab42 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x02b9a7a5 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0x02c065f8 ucc_set_qe_mux_mii_mng +EXPORT_SYMBOL vmlinux 0x02c410df path_get +EXPORT_SYMBOL vmlinux 0x02c84a0c blk_get_queue +EXPORT_SYMBOL vmlinux 0x02ca346c security_path_mkdir +EXPORT_SYMBOL vmlinux 0x02ec8440 tcp_close +EXPORT_SYMBOL vmlinux 0x02ed01cd tcf_exts_change +EXPORT_SYMBOL vmlinux 0x02fea6d2 amba_driver_unregister +EXPORT_SYMBOL vmlinux 0x031bdb94 security_path_rename +EXPORT_SYMBOL vmlinux 0x03210f44 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x032f1853 of_device_unregister +EXPORT_SYMBOL vmlinux 0x032f90ac blk_queue_max_secure_erase_sectors +EXPORT_SYMBOL vmlinux 0x0334795d icst307_s2div +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x0348138e submit_bh +EXPORT_SYMBOL vmlinux 0x0360d67f make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x03638b90 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x03711bd3 blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03815f35 ledtrig_disk_activity +EXPORT_SYMBOL vmlinux 0x038d1634 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x03a4fdc5 block_dirty_folio +EXPORT_SYMBOL vmlinux 0x03b0477d phy_read_mmd +EXPORT_SYMBOL vmlinux 0x03b2e766 dev_set_threaded +EXPORT_SYMBOL vmlinux 0x03bf0e5a acpi_walk_resource_buffer +EXPORT_SYMBOL vmlinux 0x03cdfefa ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x03d37eef page_get_link +EXPORT_SYMBOL vmlinux 0x03de07c5 get_user_pages +EXPORT_SYMBOL vmlinux 0x03e0a29f param_get_short +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x0400587a validate_slab_cache +EXPORT_SYMBOL vmlinux 0x0401c14d pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0x041089f5 iommu_dma_get_resv_regions +EXPORT_SYMBOL vmlinux 0x042e9b45 param_ops_uint +EXPORT_SYMBOL vmlinux 0x043b0876 ipv4_specific +EXPORT_SYMBOL vmlinux 0x044154c6 tc_skb_ext_tc +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x045db2d5 __nd_driver_register +EXPORT_SYMBOL vmlinux 0x04673adb qman_ip_rev +EXPORT_SYMBOL vmlinux 0x04709a52 __ps2_command +EXPORT_SYMBOL vmlinux 0x0474edef kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x0479aac1 seq_list_next_rcu +EXPORT_SYMBOL vmlinux 0x0484c6c4 acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x04863e28 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x04a60d82 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x04b5349f pcim_iounmap +EXPORT_SYMBOL vmlinux 0x04d189f9 vm_map_ram +EXPORT_SYMBOL vmlinux 0x04ea5d10 ksize +EXPORT_SYMBOL vmlinux 0x050877b9 dmi_first_match +EXPORT_SYMBOL vmlinux 0x0509c526 __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0x051d58e8 dma_fence_wait_any_timeout +EXPORT_SYMBOL vmlinux 0x05232456 remove_proc_subtree +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x05395a78 pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0x053a4b01 phy_attached_info +EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x054e2bdb tcf_qevent_dump +EXPORT_SYMBOL vmlinux 0x05537524 mpage_readahead +EXPORT_SYMBOL vmlinux 0x055e77e8 jiffies_64 +EXPORT_SYMBOL vmlinux 0x057956ce devm_clk_put +EXPORT_SYMBOL vmlinux 0x05892375 kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x05954ddc tcf_qevent_destroy +EXPORT_SYMBOL vmlinux 0x059e1482 __traceiter_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x05b080e0 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x05d10734 fman_port_bind +EXPORT_SYMBOL vmlinux 0x05fd49c4 unlock_rename +EXPORT_SYMBOL vmlinux 0x0603fb15 module_put +EXPORT_SYMBOL vmlinux 0x060a8998 devm_memunmap +EXPORT_SYMBOL vmlinux 0x060ba97c gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x064c4c54 component_match_add_typed +EXPORT_SYMBOL vmlinux 0x0651cce6 netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0x06522163 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x065a6321 kobject_del +EXPORT_SYMBOL vmlinux 0x065e3d0a ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x0668b595 _kstrtoul +EXPORT_SYMBOL vmlinux 0x067759a3 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x069181d4 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x069bde74 device_get_mac_address +EXPORT_SYMBOL vmlinux 0x06bd88b5 ucs2_strnlen +EXPORT_SYMBOL vmlinux 0x06d11488 __bitmap_equal +EXPORT_SYMBOL vmlinux 0x07065e7a of_phy_register_fixed_link +EXPORT_SYMBOL vmlinux 0x07098248 xz_dec_microlzma_alloc +EXPORT_SYMBOL vmlinux 0x0711edc8 xudma_dev_get_tisci_rm +EXPORT_SYMBOL vmlinux 0x07248350 skb_checksum_setup +EXPORT_SYMBOL vmlinux 0x072f901c vme_master_rmw +EXPORT_SYMBOL vmlinux 0x0745a981 xa_erase +EXPORT_SYMBOL vmlinux 0x0781ec97 logic_insl +EXPORT_SYMBOL vmlinux 0x07897185 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x0792c9d6 misc_deregister +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07adf05c alloc_fcdev +EXPORT_SYMBOL vmlinux 0x07c2913b xfrm4_protocol_register +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07ceeac9 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x07d1c1a8 crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0x07db17be qman_create_fq +EXPORT_SYMBOL vmlinux 0x07db854c vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0x07dd8624 netdev_core_stats_alloc +EXPORT_SYMBOL vmlinux 0x07e10732 xp_alloc +EXPORT_SYMBOL vmlinux 0x07e23dec neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x07f57478 pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0x0800473f __cond_resched +EXPORT_SYMBOL vmlinux 0x08016e11 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x08162c74 free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x081eeb8c mount_bdev +EXPORT_SYMBOL vmlinux 0x08249512 iwe_stream_add_point +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x082f0f4b phy_set_max_speed +EXPORT_SYMBOL vmlinux 0x08356f32 fman_sp_set_buf_pools_in_asc_order_of_buf_sizes +EXPORT_SYMBOL vmlinux 0x083adfdd seq_open_private +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x0854d5ec key_invalidate +EXPORT_SYMBOL vmlinux 0x08552fd6 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x0869e854 cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0x086a13ac inet_del_offload +EXPORT_SYMBOL vmlinux 0x086f9d33 netpoll_setup +EXPORT_SYMBOL vmlinux 0x087348fe nf_log_trace +EXPORT_SYMBOL vmlinux 0x08743422 rt_mutex_base_init +EXPORT_SYMBOL vmlinux 0x08797175 tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x0882b469 gpiochip_irq_relres +EXPORT_SYMBOL vmlinux 0x0885fe9e phy_register_fixup +EXPORT_SYMBOL vmlinux 0x08c72402 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x08e39398 cmd_db_read_addr +EXPORT_SYMBOL vmlinux 0x08fc98c7 tegra_ivc_write_get_next_frame +EXPORT_SYMBOL vmlinux 0x0904f6e8 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x090ea325 tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0x0910f086 twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x091447a1 eth_get_headlen +EXPORT_SYMBOL vmlinux 0x0918ec92 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x091d62eb xen_alloc_unpopulated_pages +EXPORT_SYMBOL vmlinux 0x091dc8ff __sock_create +EXPORT_SYMBOL vmlinux 0x092e26bf acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0x092e4a86 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x093712e5 acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x0950421a tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x096a870e _dev_emerg +EXPORT_SYMBOL vmlinux 0x097114b4 vfs_get_super +EXPORT_SYMBOL vmlinux 0x097537c9 pm_vt_switch_unregister +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x097af021 neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x098a8463 dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0x098adcb0 mmc_retune_pause +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x0998cc3c hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0x09b41fda skb_free_datagram +EXPORT_SYMBOL vmlinux 0x09b979ea netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09d9f597 simple_unlink +EXPORT_SYMBOL vmlinux 0x09da0ba4 xa_set_mark +EXPORT_SYMBOL vmlinux 0x09e01c90 pnp_device_detach +EXPORT_SYMBOL vmlinux 0x09f9b261 xudma_rchan_put +EXPORT_SYMBOL vmlinux 0x09fd3fb3 nexthop_set_hw_flags +EXPORT_SYMBOL vmlinux 0x09ff26ae pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x0a012f73 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0a0ad17d genphy_config_eee_advert +EXPORT_SYMBOL vmlinux 0x0a0ebc08 __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0x0a1e8769 utf8_casefold_hash +EXPORT_SYMBOL vmlinux 0x0a5dade0 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x0a608f60 nlmsg_notify +EXPORT_SYMBOL vmlinux 0x0a6d23e9 dquot_disable +EXPORT_SYMBOL vmlinux 0x0a73347a inet_getname +EXPORT_SYMBOL vmlinux 0x0a770832 register_memory_notifier +EXPORT_SYMBOL vmlinux 0x0a7a0ea3 of_graph_get_endpoint_by_regs +EXPORT_SYMBOL vmlinux 0x0a84b15d zstd_init_cctx +EXPORT_SYMBOL vmlinux 0x0a92b9b9 vm_insert_page +EXPORT_SYMBOL vmlinux 0x0a9c639c blk_stack_limits +EXPORT_SYMBOL vmlinux 0x0a9ddeb4 devm_devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0aa8de32 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x0abb434f phy_device_free +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ad18f2f __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0x0ad72aec secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0x0ae7122d dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0x0aedd49c nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x0af01006 __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b1cdc6c dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x0b26a937 __bread_gfp +EXPORT_SYMBOL vmlinux 0x0b26b8c8 acpi_run_osc +EXPORT_SYMBOL vmlinux 0x0b290ada dma_fence_chain_walk +EXPORT_SYMBOL vmlinux 0x0b44ae44 unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0x0b72d51b tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b805690 tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0x0b81d257 inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0x0b83b626 skb_store_bits +EXPORT_SYMBOL vmlinux 0x0ba0b938 vm_brk +EXPORT_SYMBOL vmlinux 0x0ba7ba80 refresh_frequency_limits +EXPORT_SYMBOL vmlinux 0x0bbfa78c set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bef172c clk_get +EXPORT_SYMBOL vmlinux 0x0bf0e4a2 __SCK__tp_func_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x0bfc1d1a check_zeroed_user +EXPORT_SYMBOL vmlinux 0x0c00b006 fman_unregister_intr +EXPORT_SYMBOL vmlinux 0x0c016456 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x0c216ee4 of_device_alloc +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c3b821d udp_gro_complete +EXPORT_SYMBOL vmlinux 0x0c575719 __cond_resched_rwlock_write +EXPORT_SYMBOL vmlinux 0x0c5b64bc inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x0c5baf3b inode_nohighmem +EXPORT_SYMBOL vmlinux 0x0c6bdc3f vme_master_read +EXPORT_SYMBOL vmlinux 0x0c6d368e security_sock_graft +EXPORT_SYMBOL vmlinux 0x0c6f7c2c pci_scan_slot +EXPORT_SYMBOL vmlinux 0x0c82daee netif_set_tso_max_segs +EXPORT_SYMBOL vmlinux 0x0c99e40e is_nd_btt +EXPORT_SYMBOL vmlinux 0x0ca3f0c0 lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0x0ca7fac8 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x0cb11bc7 __SCK__tp_func_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x0cc4b4b6 crc_ccitt_false +EXPORT_SYMBOL vmlinux 0x0cd5835b ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x0cd67457 vme_register_error_handler +EXPORT_SYMBOL vmlinux 0x0cdce87c rfkill_set_hw_state_reason +EXPORT_SYMBOL vmlinux 0x0cf0b1a1 cpu_hwcap_keys +EXPORT_SYMBOL vmlinux 0x0cf1e51a insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x0d038c4f page_pool_get_stats +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d09de34 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x0d1394cf rw_verify_area +EXPORT_SYMBOL vmlinux 0x0d283b70 pci_enable_msi +EXPORT_SYMBOL vmlinux 0x0d2ca20f ucc_fast_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0x0d333b64 zstd_end_stream +EXPORT_SYMBOL vmlinux 0x0d393d3a tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0x0d3f5c1a fman_get_max_frm +EXPORT_SYMBOL vmlinux 0x0d424b93 ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d894509 security_binder_transfer_file +EXPORT_SYMBOL vmlinux 0x0d8dd0b4 pci_pme_capable +EXPORT_SYMBOL vmlinux 0x0d90422e security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0x0d90767e security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0x0da4cea7 _dev_alert +EXPORT_SYMBOL vmlinux 0x0dada0f8 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x0db5ba06 submit_bio_noacct +EXPORT_SYMBOL vmlinux 0x0dca1097 skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0x0de7cc0b bio_copy_data +EXPORT_SYMBOL vmlinux 0x0df19919 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x0df373ef pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x0df48940 input_set_timestamp +EXPORT_SYMBOL vmlinux 0x0dfb67bd inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0x0e000e26 of_find_mipi_dsi_device_by_node +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e2db366 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x0e316e6f elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x0e3252d7 uart_register_driver +EXPORT_SYMBOL vmlinux 0x0e39b4e1 tty_kref_put +EXPORT_SYMBOL vmlinux 0x0e3a3b9a jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x0e3fb369 devm_register_netdev +EXPORT_SYMBOL vmlinux 0x0e4262c6 __siphash_unaligned +EXPORT_SYMBOL vmlinux 0x0e44c17b xp_free +EXPORT_SYMBOL vmlinux 0x0e47991e xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0x0e68836a d_set_d_op +EXPORT_SYMBOL vmlinux 0x0e946c40 rproc_report_crash +EXPORT_SYMBOL vmlinux 0x0e9534b2 pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0x0e9dd939 napi_disable +EXPORT_SYMBOL vmlinux 0x0ea1a69a __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x0ea3c74e tasklet_kill +EXPORT_SYMBOL vmlinux 0x0ea593f6 hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0x0ea6f4a2 seq_open +EXPORT_SYMBOL vmlinux 0x0eab521d tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x0eb6eb87 add_taint +EXPORT_SYMBOL vmlinux 0x0ec5babe vme_dma_free +EXPORT_SYMBOL vmlinux 0x0ed2f25c folio_end_writeback +EXPORT_SYMBOL vmlinux 0x0ed83634 inet_csk_accept +EXPORT_SYMBOL vmlinux 0x0ee9373f pnp_start_dev +EXPORT_SYMBOL vmlinux 0x0ef43b23 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f1ad8e2 seq_list_start_rcu +EXPORT_SYMBOL vmlinux 0x0f1c850e tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x0f22ed87 udp_prot +EXPORT_SYMBOL vmlinux 0x0f37ca89 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0x0f630261 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x0f6d0bdc pci_request_irq +EXPORT_SYMBOL vmlinux 0x0f85e77e fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0f9faf56 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x0fab1ab0 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fbd5218 __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x0fd4997f unpin_user_page +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0fdf43e7 netif_set_real_num_queues +EXPORT_SYMBOL vmlinux 0x0ff64085 audit_log_start +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x10008f8b __of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0x100e5b66 dns_query +EXPORT_SYMBOL vmlinux 0x1012e3eb netdev_offload_xstats_disable +EXPORT_SYMBOL vmlinux 0x1025009a cpm_muram_alloc_fixed +EXPORT_SYMBOL vmlinux 0x1026275a ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0x102936ec qe_clock_source +EXPORT_SYMBOL vmlinux 0x1035c7c2 __release_region +EXPORT_SYMBOL vmlinux 0x103b64fb scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x104edf4e kmem_cache_alloc_node_trace +EXPORT_SYMBOL vmlinux 0x1057a279 bsearch +EXPORT_SYMBOL vmlinux 0x105f9ae4 vme_irq_handler +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x1079f3db ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x107be0b0 percpu_counter_sync +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x109e5fe2 scsi_add_device +EXPORT_SYMBOL vmlinux 0x10aa774c key_reject_and_link +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x10e09405 ptp_cancel_worker_sync +EXPORT_SYMBOL vmlinux 0x10e6f74a free_contig_range +EXPORT_SYMBOL vmlinux 0x10e90772 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x10ee6cb2 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x110855ab devm_rproc_alloc +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x11543cb2 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x115aa258 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x115c6ad3 devm_extcon_register_notifier +EXPORT_SYMBOL vmlinux 0x116146ee pnp_request_card_device +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x117a86b1 pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0x1197a9ec pci_resize_resource +EXPORT_SYMBOL vmlinux 0x11bb77d4 sock_create_kern +EXPORT_SYMBOL vmlinux 0x11bc04a8 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x11c22877 netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0x11c95079 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x11d189b1 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x11d3b881 devfreq_monitor_start +EXPORT_SYMBOL vmlinux 0x11dacdba pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x11dcebb5 fwnode_iomap +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11ea976d jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x11f1eb07 fget +EXPORT_SYMBOL vmlinux 0x11fd1cc9 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x11ffdfee ucc_slow_stop_tx +EXPORT_SYMBOL vmlinux 0x1201fe19 filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x120ff8e1 xudma_get_rflow_ring_offset +EXPORT_SYMBOL vmlinux 0x121d6082 dev_mc_del +EXPORT_SYMBOL vmlinux 0x124bad4d kstrtobool +EXPORT_SYMBOL vmlinux 0x1258b0be mipi_dsi_host_register +EXPORT_SYMBOL vmlinux 0x126135d5 nd_device_unregister +EXPORT_SYMBOL vmlinux 0x126a4c36 of_count_phandle_with_args +EXPORT_SYMBOL vmlinux 0x12942a6a genphy_resume +EXPORT_SYMBOL vmlinux 0x12a4e128 __arch_copy_from_user +EXPORT_SYMBOL vmlinux 0x12baae95 __skb_ext_del +EXPORT_SYMBOL vmlinux 0x12bda24f scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x12c23c4a jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +EXPORT_SYMBOL vmlinux 0x12d8d7b1 reuseport_select_sock +EXPORT_SYMBOL vmlinux 0x12e4d21f ip_route_input_noref +EXPORT_SYMBOL vmlinux 0x12f2ec4a sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x12fd8a6f kill_fasync +EXPORT_SYMBOL vmlinux 0x130afd75 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x130b8139 generic_file_read_iter +EXPORT_SYMBOL vmlinux 0x13110126 request_resource +EXPORT_SYMBOL vmlinux 0x131a6146 xa_clear_mark +EXPORT_SYMBOL vmlinux 0x13243d4b wl1251_get_platform_data +EXPORT_SYMBOL vmlinux 0x1326801a proc_create_data +EXPORT_SYMBOL vmlinux 0x132a4062 vme_bus_type +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x134dd9a7 param_get_uint +EXPORT_SYMBOL vmlinux 0x1364da93 tty_port_hangup +EXPORT_SYMBOL vmlinux 0x136964cf folio_migrate_copy +EXPORT_SYMBOL vmlinux 0x136ae4a7 vm_map_pages +EXPORT_SYMBOL vmlinux 0x1377c81b devfreq_update_status +EXPORT_SYMBOL vmlinux 0x137b2a3d devm_alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x137eb408 param_get_ulong +EXPORT_SYMBOL vmlinux 0x13840266 phy_disconnect +EXPORT_SYMBOL vmlinux 0x138bdd96 cpumask_next +EXPORT_SYMBOL vmlinux 0x1393426f rtc_add_group +EXPORT_SYMBOL vmlinux 0x139f2189 __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x139f3318 flow_block_cb_free +EXPORT_SYMBOL vmlinux 0x13a8a489 md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0x13c83ff7 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0x13cead77 __SCK__tp_func_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13d928f5 __SCK__tp_func_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x13e55c62 nf_register_net_hook +EXPORT_SYMBOL vmlinux 0x13eba83e pci_find_capability +EXPORT_SYMBOL vmlinux 0x13fdb4ed dma_sync_wait +EXPORT_SYMBOL vmlinux 0x141271bf acpi_dev_found +EXPORT_SYMBOL vmlinux 0x1421cb47 rproc_coredump_using_sections +EXPORT_SYMBOL vmlinux 0x14239551 follow_down_one +EXPORT_SYMBOL vmlinux 0x1435c5ce __SCK__tp_func_kmalloc_node +EXPORT_SYMBOL vmlinux 0x144c8d91 put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0x144d446c generic_fadvise +EXPORT_SYMBOL vmlinux 0x144f2407 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x145b7a29 tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x1463582a pci_map_rom +EXPORT_SYMBOL vmlinux 0x146877df xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x1486ded2 dma_fence_allocate_private_stub +EXPORT_SYMBOL vmlinux 0x14a6260f blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0x14b89635 arm64_const_caps_ready +EXPORT_SYMBOL vmlinux 0x14c67e3e tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0x14d24699 seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0x14f34b62 md_unregister_thread +EXPORT_SYMBOL vmlinux 0x14f45fcc bman_free_pool +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x151fdf87 vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x15373543 pps_unregister_source +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x154de007 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x1554e097 sock_set_priority +EXPORT_SYMBOL vmlinux 0x1558a603 xsk_tx_release +EXPORT_SYMBOL vmlinux 0x15602aa4 tegra_ivc_write_advance +EXPORT_SYMBOL vmlinux 0x156c3f65 input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0x157559e6 tegra_dfll_resume +EXPORT_SYMBOL vmlinux 0x15777760 param_set_ullong +EXPORT_SYMBOL vmlinux 0x15a49ba7 readahead_expand +EXPORT_SYMBOL vmlinux 0x15a69f3f tcp_mtu_to_mss +EXPORT_SYMBOL vmlinux 0x15abf3ca scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x15b56e71 tcf_action_exec +EXPORT_SYMBOL vmlinux 0x15ba50a6 jiffies +EXPORT_SYMBOL vmlinux 0x15bafe29 unregister_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial +EXPORT_SYMBOL vmlinux 0x15c85de3 mempool_init +EXPORT_SYMBOL vmlinux 0x15c98eb0 __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0x15de421c begin_new_exec +EXPORT_SYMBOL vmlinux 0x15e07fe7 mdiobus_free +EXPORT_SYMBOL vmlinux 0x15f38b0f iget_locked +EXPORT_SYMBOL vmlinux 0x15f90688 slhc_init +EXPORT_SYMBOL vmlinux 0x15fcad21 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x15fcb56d cros_ec_cmd_xfer +EXPORT_SYMBOL vmlinux 0x16135908 dev_uc_add +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x1628e1f3 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x1632bc21 kvasprintf_const +EXPORT_SYMBOL vmlinux 0x16348b16 tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0x163c35dd tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x163d2417 tegra_io_rail_power_off +EXPORT_SYMBOL vmlinux 0x1647dd95 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x164f56f9 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x16672c32 dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0x1670a3f4 netif_device_detach +EXPORT_SYMBOL vmlinux 0x16796467 phy_attached_print +EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump +EXPORT_SYMBOL vmlinux 0x168e5d16 vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0x169938c1 __sysfs_match_string +EXPORT_SYMBOL vmlinux 0x169d21f0 blk_mq_start_request +EXPORT_SYMBOL vmlinux 0x16aa9719 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x16bd43c8 qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0x16cdc340 acpi_get_table +EXPORT_SYMBOL vmlinux 0x16cdce5f reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0x16dee44d dma_fence_init +EXPORT_SYMBOL vmlinux 0x16e156e7 key_revoke +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x16e7e2cb cpu_all_bits +EXPORT_SYMBOL vmlinux 0x16e98c30 rt6_lookup +EXPORT_SYMBOL vmlinux 0x16fae1bd phy_find_first +EXPORT_SYMBOL vmlinux 0x170ddf79 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0x171ab2b3 phy_advertise_supported +EXPORT_SYMBOL vmlinux 0x172588dd acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0x172f3bee __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x1739fa4c xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0x17460673 del_gendisk +EXPORT_SYMBOL vmlinux 0x1755d987 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x17768840 configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0x1781646e mmc_wait_for_req_done +EXPORT_SYMBOL vmlinux 0x17825d3f xudma_rchan_get +EXPORT_SYMBOL vmlinux 0x178c4894 qe_upload_firmware +EXPORT_SYMBOL vmlinux 0x178d69f5 vfs_create +EXPORT_SYMBOL vmlinux 0x179136ff __skb_pad +EXPORT_SYMBOL vmlinux 0x17ab9dee folio_unlock +EXPORT_SYMBOL vmlinux 0x17b8d828 security_socket_socketpair +EXPORT_SYMBOL vmlinux 0x17c4be23 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x17c7e7e4 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x17f1bfd0 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x17f64e60 __vfs_getxattr +EXPORT_SYMBOL vmlinux 0x17fe1bd8 mmc_sw_reset +EXPORT_SYMBOL vmlinux 0x182ce0e2 devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x183c074a acpi_dev_get_next_match_dev +EXPORT_SYMBOL vmlinux 0x1841812b dump_page +EXPORT_SYMBOL vmlinux 0x1844e281 get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0x184c43b3 twl6040_reg_read +EXPORT_SYMBOL vmlinux 0x185fc170 mipi_dsi_dcs_set_tear_scanline +EXPORT_SYMBOL vmlinux 0x187189bd vlan_for_each +EXPORT_SYMBOL vmlinux 0x1876a51f inet_stream_ops +EXPORT_SYMBOL vmlinux 0x1877b841 call_fib_notifiers +EXPORT_SYMBOL vmlinux 0x187884a8 cpm_muram_free +EXPORT_SYMBOL vmlinux 0x18880eb5 pci_read_vpd +EXPORT_SYMBOL vmlinux 0x18888d00 downgrade_write +EXPORT_SYMBOL vmlinux 0x18889eb7 padata_set_cpumask +EXPORT_SYMBOL vmlinux 0x1889b03d dev_pm_opp_unregister_notifier +EXPORT_SYMBOL vmlinux 0x188a5089 migrate_page_copy +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x18986c8f __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0x18a922ef inet_stream_connect +EXPORT_SYMBOL vmlinux 0x18aa2b68 iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0x18b48e28 __memset_io +EXPORT_SYMBOL vmlinux 0x18bf1d86 mmc_cqe_recovery +EXPORT_SYMBOL vmlinux 0x18c97f7e __dquot_transfer +EXPORT_SYMBOL vmlinux 0x18cdcd40 generic_setlease +EXPORT_SYMBOL vmlinux 0x18dab714 from_kgid +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x19204c00 page_cache_next_miss +EXPORT_SYMBOL vmlinux 0x1923bfc3 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x19344a91 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x1937f03b __f_setown +EXPORT_SYMBOL vmlinux 0x194ff4fd reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0x1953c958 mempool_create +EXPORT_SYMBOL vmlinux 0x195a1e9b reuseport_migrate_sock +EXPORT_SYMBOL vmlinux 0x197156f4 sg_alloc_append_table_from_pages +EXPORT_SYMBOL vmlinux 0x19736a6b mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0x197d60d5 pcie_print_link_status +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x199a92ca dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19b3aaa1 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19c48f75 dev_lstats_read +EXPORT_SYMBOL vmlinux 0x19c4a580 dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0x19cd932a md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x19ed8563 mpage_writepage +EXPORT_SYMBOL vmlinux 0x19f41ab0 xsk_get_pool_from_qid +EXPORT_SYMBOL vmlinux 0x19f77ec1 kobject_set_name +EXPORT_SYMBOL vmlinux 0x19fe7d1c param_set_bint +EXPORT_SYMBOL vmlinux 0x1a275a36 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x1a307329 compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a4fd01e netif_skb_features +EXPORT_SYMBOL vmlinux 0x1a5cacfc da903x_query_status +EXPORT_SYMBOL vmlinux 0x1a74e417 msm_pinctrl_dev_pm_ops +EXPORT_SYMBOL vmlinux 0x1a852390 block_write_full_page +EXPORT_SYMBOL vmlinux 0x1a854154 blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1abb2f34 file_open_root +EXPORT_SYMBOL vmlinux 0x1ac10a1a mq_change_real_num_tx +EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn +EXPORT_SYMBOL vmlinux 0x1ae3e960 dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0x1afcdbcd filemap_map_pages +EXPORT_SYMBOL vmlinux 0x1afdd5f3 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b0987d3 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x1b1d4aa8 md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x1b274b81 param_ops_string +EXPORT_SYMBOL vmlinux 0x1b33520d simple_get_link +EXPORT_SYMBOL vmlinux 0x1b5196fc xudma_tchan_put +EXPORT_SYMBOL vmlinux 0x1b597b7a swake_up_all +EXPORT_SYMBOL vmlinux 0x1b5cc9d8 dma_fence_array_first +EXPORT_SYMBOL vmlinux 0x1b60bbde rproc_mem_entry_init +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1b8dd152 peernet2id +EXPORT_SYMBOL vmlinux 0x1b98f234 d_add +EXPORT_SYMBOL vmlinux 0x1b9a7e5a mmc_cqe_post_req +EXPORT_SYMBOL vmlinux 0x1ba59527 __kmalloc_node +EXPORT_SYMBOL vmlinux 0x1baabc4b nd_btt_arena_is_valid +EXPORT_SYMBOL vmlinux 0x1bb51249 tcp_have_smc +EXPORT_SYMBOL vmlinux 0x1bb67920 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x1bb86b9a xen_start_info +EXPORT_SYMBOL vmlinux 0x1bc0f562 param_set_ushort +EXPORT_SYMBOL vmlinux 0x1bc310d0 __sk_receive_skb +EXPORT_SYMBOL vmlinux 0x1bc48468 zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x1bd28253 tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0x1bd59dbe vme_free_consistent +EXPORT_SYMBOL vmlinux 0x1bdee3ef mipi_dsi_dcs_set_display_brightness +EXPORT_SYMBOL vmlinux 0x1be297a4 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x1c057450 nd_region_to_nstype +EXPORT_SYMBOL vmlinux 0x1c0e36a6 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x1c247314 devm_release_resource +EXPORT_SYMBOL vmlinux 0x1c2723ff blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x1c29442e flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0x1c3c6455 of_device_register +EXPORT_SYMBOL vmlinux 0x1c459113 phy_set_sym_pause +EXPORT_SYMBOL vmlinux 0x1c499826 of_chosen +EXPORT_SYMBOL vmlinux 0x1c4f7762 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x1c58427f acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x1c5bb53e remove_watch_from_object +EXPORT_SYMBOL vmlinux 0x1c5e3878 icst525_idx2s +EXPORT_SYMBOL vmlinux 0x1c675295 netdev_crit +EXPORT_SYMBOL vmlinux 0x1c81c922 locks_delete_block +EXPORT_SYMBOL vmlinux 0x1c855e9e tcp_parse_options +EXPORT_SYMBOL vmlinux 0x1ca16439 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x1cb11044 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x1cbf691a md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x1cc11154 __SCK__tp_func_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x1cc4aa4a nd_device_notify +EXPORT_SYMBOL vmlinux 0x1ccefca5 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x1cd8438b pxm_to_node +EXPORT_SYMBOL vmlinux 0x1cdd39ba logic_outsl +EXPORT_SYMBOL vmlinux 0x1cea68c1 padata_alloc_shell +EXPORT_SYMBOL vmlinux 0x1cf5efa6 xudma_rflow_get_id +EXPORT_SYMBOL vmlinux 0x1cfa9e40 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x1d023b57 phy_ethtool_get_strings +EXPORT_SYMBOL vmlinux 0x1d07e365 memdup_user_nul +EXPORT_SYMBOL vmlinux 0x1d094d45 acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0x1d111e2c file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x1d170d1a dm_put_device +EXPORT_SYMBOL vmlinux 0x1d1abdf0 acpi_get_physical_device_location +EXPORT_SYMBOL vmlinux 0x1d1d6ca6 netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0x1d24c881 ___ratelimit +EXPORT_SYMBOL vmlinux 0x1d35d001 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x1d3f1064 file_fdatawait_range +EXPORT_SYMBOL vmlinux 0x1d40b6f3 idr_for_each +EXPORT_SYMBOL vmlinux 0x1d4c631b __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0x1d59b5fe may_setattr +EXPORT_SYMBOL vmlinux 0x1d5cedae __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x1d6e2172 phy_print_status +EXPORT_SYMBOL vmlinux 0x1d777a95 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x1d8826c7 netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0x1d91d3ea do_clone_file_range +EXPORT_SYMBOL vmlinux 0x1d9672bd fault_in_subpage_writeable +EXPORT_SYMBOL vmlinux 0x1dab4333 clkdev_add +EXPORT_SYMBOL vmlinux 0x1db00a3e nf_register_net_hooks +EXPORT_SYMBOL vmlinux 0x1db9077d config_group_init +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dc871c3 tty_port_put +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1dd9132e nf_log_set +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1de59c22 qcom_scm_ice_invalidate_key +EXPORT_SYMBOL vmlinux 0x1de67f9b qcom_scm_io_writel +EXPORT_SYMBOL vmlinux 0x1dfaa4dd efi +EXPORT_SYMBOL vmlinux 0x1e0373fc imx_scu_irq_group_enable +EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x1e0cd7fe acpi_detach_data +EXPORT_SYMBOL vmlinux 0x1e1a857a param_ops_ushort +EXPORT_SYMBOL vmlinux 0x1e1ddf06 bdi_register +EXPORT_SYMBOL vmlinux 0x1e1e140e ns_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1e4e592d xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0x1e59621d pci_remove_bus +EXPORT_SYMBOL vmlinux 0x1e5a3af8 tc_cleanup_offload_action +EXPORT_SYMBOL vmlinux 0x1e6a3e7c jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x1e6adaa0 bitmap_print_bitmask_to_buf +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e726e4e block_truncate_page +EXPORT_SYMBOL vmlinux 0x1e98eec9 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ea6f0a7 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x1ebf01aa __do_once_done +EXPORT_SYMBOL vmlinux 0x1ec3c38b dec_node_page_state +EXPORT_SYMBOL vmlinux 0x1ec932ae sock_i_ino +EXPORT_SYMBOL vmlinux 0x1ed7eb60 __sg_free_table +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1ee24b78 nd_btt_probe +EXPORT_SYMBOL vmlinux 0x1ee9d121 udp6_set_csum +EXPORT_SYMBOL vmlinux 0x1ef41b7e qcom_scm_iommu_set_pt_format +EXPORT_SYMBOL vmlinux 0x1f47c6b5 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x1f557414 gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0x1f74ab76 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fc8d765 mmc_can_gpio_cd +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x200b2041 in6addr_any +EXPORT_SYMBOL vmlinux 0x202de1eb nf_ct_ext_add +EXPORT_SYMBOL vmlinux 0x2038ede4 gpiochip_irq_reqres +EXPORT_SYMBOL vmlinux 0x20400155 bdev_start_io_acct +EXPORT_SYMBOL vmlinux 0x2044ad0a pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0x20451e33 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x20463df4 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x2048b9c2 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x2056a86e sock_setsockopt +EXPORT_SYMBOL vmlinux 0x207981b7 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x20826418 con_is_bound +EXPORT_SYMBOL vmlinux 0x208b5b02 request_firmware +EXPORT_SYMBOL vmlinux 0x20a34e1f mod_node_page_state +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20c92319 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x20cbb30a __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x20d1c5d4 pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x20db8275 dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0x20eadeb6 ip_compute_csum +EXPORT_SYMBOL vmlinux 0x21197096 rtnl_notify +EXPORT_SYMBOL vmlinux 0x2138fe42 sg_miter_next +EXPORT_SYMBOL vmlinux 0x2139dc43 vfs_fileattr_set +EXPORT_SYMBOL vmlinux 0x213a738d memregion_alloc +EXPORT_SYMBOL vmlinux 0x213e4965 ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x2146380c mipi_dsi_device_unregister +EXPORT_SYMBOL vmlinux 0x21658bd6 inet_sendmsg +EXPORT_SYMBOL vmlinux 0x21796dcd pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x21827613 dev_get_iflink +EXPORT_SYMBOL vmlinux 0x218ca3a4 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x218e600b pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0x219d535e scm_fp_dup +EXPORT_SYMBOL vmlinux 0x21b69c96 d_alloc_name +EXPORT_SYMBOL vmlinux 0x21b84e4a neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x21bdb523 errseq_check_and_advance +EXPORT_SYMBOL vmlinux 0x21be37e1 hdmi_avi_infoframe_check +EXPORT_SYMBOL vmlinux 0x21be4ac2 __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x21c0c3c2 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x21d4e72f security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0x21dae021 devfreq_recommended_opp +EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x21ef374c try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x21fea059 __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0x220029c0 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x220c7021 tegra_io_pad_power_disable +EXPORT_SYMBOL vmlinux 0x2218e011 register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x222f1d53 mdio_device_free +EXPORT_SYMBOL vmlinux 0x2234ca51 acpi_match_platform_list +EXPORT_SYMBOL vmlinux 0x2241f98e configfs_unregister_group +EXPORT_SYMBOL vmlinux 0x22421781 devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0x224ce651 xudma_free_gp_rflow_range +EXPORT_SYMBOL vmlinux 0x2256981a fman_register_intr +EXPORT_SYMBOL vmlinux 0x226846dc xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x226bb634 bdi_unregister +EXPORT_SYMBOL vmlinux 0x226fa66a xsk_set_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x22a9b193 of_get_next_available_child +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22d1976e bdi_put +EXPORT_SYMBOL vmlinux 0x22d442bf tegra_ivc_cleanup +EXPORT_SYMBOL vmlinux 0x22f618eb generic_writepages +EXPORT_SYMBOL vmlinux 0x22fbf1a2 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x231b38b6 __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0x23267e11 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x23289201 wireless_spy_update +EXPORT_SYMBOL vmlinux 0x2335092a rpmh_write +EXPORT_SYMBOL vmlinux 0x2338b3c7 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x23470111 nf_log_register +EXPORT_SYMBOL vmlinux 0x23559c51 qman_oos_fq +EXPORT_SYMBOL vmlinux 0x235a6199 user_path_create +EXPORT_SYMBOL vmlinux 0x2364c85a tasklet_init +EXPORT_SYMBOL vmlinux 0x2369307f netif_carrier_off +EXPORT_SYMBOL vmlinux 0x237a0b5c __traceiter_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x2386ca7c sock_set_mark +EXPORT_SYMBOL vmlinux 0x238b099f mipi_dsi_packet_format_is_short +EXPORT_SYMBOL vmlinux 0x2391f725 irq_stat +EXPORT_SYMBOL vmlinux 0x23a26ced generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0x23a4a3b4 nvdimm_bus_unlock +EXPORT_SYMBOL vmlinux 0x23af1789 configfs_undepend_item +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c19953 rproc_remove_subdev +EXPORT_SYMBOL vmlinux 0x23c2844a vfs_symlink +EXPORT_SYMBOL vmlinux 0x23cabbb1 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x23daa989 mipi_dsi_create_packet +EXPORT_SYMBOL vmlinux 0x23dd7778 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x23ef1f95 cdev_init +EXPORT_SYMBOL vmlinux 0x23f1d7a6 page_pool_ethtool_stats_get_count +EXPORT_SYMBOL vmlinux 0x23f892de ethtool_get_phc_vclocks +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x23ff6047 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x2424716f dma_map_resource +EXPORT_SYMBOL vmlinux 0x24364d14 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x243c1294 bioset_init +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x246739ef devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0x247368e7 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x2478e2c5 poll_freewait +EXPORT_SYMBOL vmlinux 0x247c7ca8 backlight_force_update +EXPORT_SYMBOL vmlinux 0x247d24f3 rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x249e2817 current_time +EXPORT_SYMBOL vmlinux 0x24b27aac pci_free_irq +EXPORT_SYMBOL vmlinux 0x24c71a69 security_path_mknod +EXPORT_SYMBOL vmlinux 0x24ca0f50 netdev_err +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x24d27f29 netdev_emerg +EXPORT_SYMBOL vmlinux 0x24ebd315 unregister_nls +EXPORT_SYMBOL vmlinux 0x24f454f9 build_skb +EXPORT_SYMBOL vmlinux 0x24f4cb25 __scm_destroy +EXPORT_SYMBOL vmlinux 0x2505bf18 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x2518ee1c folio_mapped +EXPORT_SYMBOL vmlinux 0x251d4522 vmap +EXPORT_SYMBOL vmlinux 0x25211124 backlight_device_register +EXPORT_SYMBOL vmlinux 0x252332f1 __SCK__tp_func_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x25315730 __mod_lruvec_page_state +EXPORT_SYMBOL vmlinux 0x253477a8 input_match_device_id +EXPORT_SYMBOL vmlinux 0x253abe1e devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x256ef04d get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258a2c02 _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x25974000 wait_for_completion +EXPORT_SYMBOL vmlinux 0x25e02d7d rtnl_offload_xstats_notify +EXPORT_SYMBOL vmlinux 0x25e58a09 hdmi_avi_infoframe_init +EXPORT_SYMBOL vmlinux 0x25e9d4bd resource_list_free +EXPORT_SYMBOL vmlinux 0x260a095a __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x2635c8ba register_netdev +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x263c3152 bcmp +EXPORT_SYMBOL vmlinux 0x263f0d1f qman_portal_set_iperiod +EXPORT_SYMBOL vmlinux 0x2643033a generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x2667822f mmput_async +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x26897b52 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x26acfee2 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x26bc0801 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x26cdfefa phy_write_mmd +EXPORT_SYMBOL vmlinux 0x26e27435 pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0x26e298e0 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x26f52e57 pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0x26f8cdff of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0x26fc3a7f cdrom_open +EXPORT_SYMBOL vmlinux 0x270cf88f dump_stack_lvl +EXPORT_SYMBOL vmlinux 0x2713ce1e pnp_get_resource +EXPORT_SYMBOL vmlinux 0x271673b7 debugfs_create_automount +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x272101d4 neigh_connected_output +EXPORT_SYMBOL vmlinux 0x272a8933 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x272aa15f inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0x272ce3b5 mdiobus_write_nested +EXPORT_SYMBOL vmlinux 0x2733eaf7 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0x27400315 pci_choose_state +EXPORT_SYMBOL vmlinux 0x27479d14 param_free_charp +EXPORT_SYMBOL vmlinux 0x275dfee4 ucc_slow_free +EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check +EXPORT_SYMBOL vmlinux 0x27615b48 vma_set_file +EXPORT_SYMBOL vmlinux 0x276d879b tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x27756bc8 scsi_sanitize_inquiry_string +EXPORT_SYMBOL vmlinux 0x27795240 tcf_idr_release +EXPORT_SYMBOL vmlinux 0x27810361 acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0x2782b393 xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x279acd0b filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x27ae1a40 __folio_cancel_dirty +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c13193 proto_register +EXPORT_SYMBOL vmlinux 0x27c3c728 qman_release_fqid +EXPORT_SYMBOL vmlinux 0x27cdca93 pci_add_resource +EXPORT_SYMBOL vmlinux 0x27d79e98 mdiobb_write +EXPORT_SYMBOL vmlinux 0x27e0dd0a qcom_scm_pas_init_image +EXPORT_SYMBOL vmlinux 0x27fa5fbc sk_stream_error +EXPORT_SYMBOL vmlinux 0x28147e55 sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x28289c45 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x282a6d93 ptp_clock_event +EXPORT_SYMBOL vmlinux 0x282e9e43 page_readlink +EXPORT_SYMBOL vmlinux 0x2860db57 tegra_dfll_register +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x287eaabd dquot_file_open +EXPORT_SYMBOL vmlinux 0x28a4944e pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0x28b518ed iov_iter_zero +EXPORT_SYMBOL vmlinux 0x28c0c612 mipi_dsi_set_maximum_return_packet_size +EXPORT_SYMBOL vmlinux 0x28c5ba36 devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0x28d07a70 vfs_setpos +EXPORT_SYMBOL vmlinux 0x28d6f30c bioset_exit +EXPORT_SYMBOL vmlinux 0x28f65f1b sock_no_accept +EXPORT_SYMBOL vmlinux 0x28f94604 __ubsan_handle_builtin_unreachable +EXPORT_SYMBOL vmlinux 0x28ff19c9 __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0x290fd354 bio_put +EXPORT_SYMBOL vmlinux 0x29113576 sock_pfree +EXPORT_SYMBOL vmlinux 0x291b2c98 mmc_can_erase +EXPORT_SYMBOL vmlinux 0x2922b754 __d_lookup_done +EXPORT_SYMBOL vmlinux 0x292e7bae pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0x29306a6a fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0x293d1c63 skb_eth_push +EXPORT_SYMBOL vmlinux 0x294ca167 twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x295b0fe1 misc_register +EXPORT_SYMBOL vmlinux 0x29604158 napi_busy_loop +EXPORT_SYMBOL vmlinux 0x298e17a8 seg6_push_hmac +EXPORT_SYMBOL vmlinux 0x29931291 par_io_of_config +EXPORT_SYMBOL vmlinux 0x299614a8 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x299b1fa0 seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0x29aa950f blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0x29e1e204 hdmi_audio_infoframe_pack +EXPORT_SYMBOL vmlinux 0x29e30d39 textsearch_register +EXPORT_SYMBOL vmlinux 0x29ec8f19 ndisc_ns_create +EXPORT_SYMBOL vmlinux 0x29ee1fd5 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x29f254f4 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x29f5b29a nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x2a2fff09 noop_fsync +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a364d54 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x2a55812f vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x2a5b473b configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0x2a66e4a2 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x2a6d0d0e of_device_get_match_data +EXPORT_SYMBOL vmlinux 0x2a8f5584 gro_cells_receive +EXPORT_SYMBOL vmlinux 0x2a928918 slhc_free +EXPORT_SYMBOL vmlinux 0x2a957219 mdiobus_write +EXPORT_SYMBOL vmlinux 0x2a9a3905 vme_master_get +EXPORT_SYMBOL vmlinux 0x2a9b5024 no_llseek +EXPORT_SYMBOL vmlinux 0x2aa0843e mempool_resize +EXPORT_SYMBOL vmlinux 0x2aa6c5ee thaw_super +EXPORT_SYMBOL vmlinux 0x2aabaf9d xudma_tchan_get +EXPORT_SYMBOL vmlinux 0x2aabcdc8 vmalloc_array +EXPORT_SYMBOL vmlinux 0x2aac672a inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x2ab2ee91 brcmstb_get_product_id +EXPORT_SYMBOL vmlinux 0x2ad35c3e set_create_files_as +EXPORT_SYMBOL vmlinux 0x2adb13ab vfs_get_fsid +EXPORT_SYMBOL vmlinux 0x2ae0c7f3 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x2b1abce3 fman_has_errata_a050385 +EXPORT_SYMBOL vmlinux 0x2b4202a4 I_BDEV +EXPORT_SYMBOL vmlinux 0x2b593aa8 gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b763beb end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x2b975ca6 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2bb6099e dq_data_lock +EXPORT_SYMBOL vmlinux 0x2bd60ab9 acpi_reset +EXPORT_SYMBOL vmlinux 0x2beafc37 mmc_retune_release +EXPORT_SYMBOL vmlinux 0x2bf9950e tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0x2bfbab10 __memmove +EXPORT_SYMBOL vmlinux 0x2c016b3b phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0x2c08b697 kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x2c0a0f65 alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0x2c14c635 __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0x2c213bc4 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x2c2148bd __scm_send +EXPORT_SYMBOL vmlinux 0x2c245b23 clk_add_alias +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c329e54 tegra_powergate_sequence_power_up +EXPORT_SYMBOL vmlinux 0x2c3a2cd0 skb_clone_sk +EXPORT_SYMBOL vmlinux 0x2c3ce77a unix_attach_fds +EXPORT_SYMBOL vmlinux 0x2c541e7b radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0x2c6690c0 ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0x2c71fbfb proc_dobool +EXPORT_SYMBOL vmlinux 0x2c82c36a security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x2c872d9f inode_set_bytes +EXPORT_SYMBOL vmlinux 0x2c8a2450 dma_unmap_resource +EXPORT_SYMBOL vmlinux 0x2c91e17c vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x2cbecac3 skb_queue_purge +EXPORT_SYMBOL vmlinux 0x2cc45c3e security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0x2ccd059a dim_on_top +EXPORT_SYMBOL vmlinux 0x2cdf87a1 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x2ce35b5b inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0x2ce91157 xfrm_init_state +EXPORT_SYMBOL vmlinux 0x2cecc558 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x2cfc85ce qdisc_put +EXPORT_SYMBOL vmlinux 0x2cfe8101 brioctl_set +EXPORT_SYMBOL vmlinux 0x2d04b9af __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x2d13a3c3 flush_dcache_folio +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d192c70 sg_zero_buffer +EXPORT_SYMBOL vmlinux 0x2d226321 page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0x2d30596c from_kqid_munged +EXPORT_SYMBOL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL vmlinux 0x2d39b0a7 kstrdup +EXPORT_SYMBOL vmlinux 0x2d4b9eb7 iget_failed +EXPORT_SYMBOL vmlinux 0x2d4c773a hdmi_spd_infoframe_init +EXPORT_SYMBOL vmlinux 0x2d4daef5 find_font +EXPORT_SYMBOL vmlinux 0x2d566b89 unregister_md_personality +EXPORT_SYMBOL vmlinux 0x2d5a70f8 param_ops_long +EXPORT_SYMBOL vmlinux 0x2d65852b handle_edge_irq +EXPORT_SYMBOL vmlinux 0x2d6db445 dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0x2d826812 flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0x2d894172 __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x2d912bca dmi_get_bios_year +EXPORT_SYMBOL vmlinux 0x2d929920 fs_param_is_blob +EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2d9c55b1 ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0x2d9ed839 d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0x2dadcfbf nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0x2db1043f inet_shutdown +EXPORT_SYMBOL vmlinux 0x2db22216 dqget +EXPORT_SYMBOL vmlinux 0x2db3eca1 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x2dc1048d dev_deactivate +EXPORT_SYMBOL vmlinux 0x2dce2f1c __irq_regs +EXPORT_SYMBOL vmlinux 0x2dd9462b tty_port_open +EXPORT_SYMBOL vmlinux 0x2de125c0 page_frag_alloc_align +EXPORT_SYMBOL vmlinux 0x2df734f6 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x2dfeaa74 fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0x2e0b1deb dma_fence_get_status +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e2b40d2 strncat +EXPORT_SYMBOL vmlinux 0x2e2c4ddc logic_inw +EXPORT_SYMBOL vmlinux 0x2e3bcce2 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x2e439142 drm_get_panel_orientation_quirk +EXPORT_SYMBOL vmlinux 0x2e5187c0 elevator_alloc +EXPORT_SYMBOL vmlinux 0x2e5655ab put_fs_context +EXPORT_SYMBOL vmlinux 0x2e5b27da xudma_alloc_gp_rflow_range +EXPORT_SYMBOL vmlinux 0x2e5e8d27 udp_seq_ops +EXPORT_SYMBOL vmlinux 0x2e64955b netdev_offload_xstats_enable +EXPORT_SYMBOL vmlinux 0x2e6d3989 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x2e995d80 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x2ea23d21 devm_arch_phys_wc_add +EXPORT_SYMBOL vmlinux 0x2eaff588 vc_resize +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2ecdcf1e __mdiobus_read +EXPORT_SYMBOL vmlinux 0x2ed6a2b1 tcp_child_process +EXPORT_SYMBOL vmlinux 0x2ed6ef56 set_page_dirty +EXPORT_SYMBOL vmlinux 0x2ee4c2b1 hdmi_avi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f1254d1 ucc_tdm_init +EXPORT_SYMBOL vmlinux 0x2f14f991 security_d_instantiate +EXPORT_SYMBOL vmlinux 0x2f206c4a ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x2f269e70 folio_migrate_mapping +EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f333aab imx_scu_get_handle +EXPORT_SYMBOL vmlinux 0x2f384db3 acpi_is_video_device +EXPORT_SYMBOL vmlinux 0x2f403f44 free_buffer_head +EXPORT_SYMBOL vmlinux 0x2f442104 fs_param_is_path +EXPORT_SYMBOL vmlinux 0x2f51a1bc __fs_parse +EXPORT_SYMBOL vmlinux 0x2f5d3f45 unlock_buffer +EXPORT_SYMBOL vmlinux 0x2f6072c0 sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x2f6bbf3d submit_bio_wait +EXPORT_SYMBOL vmlinux 0x2f70dbf8 prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0x2f7754a8 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2f7e883a eth_validate_addr +EXPORT_SYMBOL vmlinux 0x2f9c3c8b genl_notify +EXPORT_SYMBOL vmlinux 0x2fc505ec vm_node_stat +EXPORT_SYMBOL vmlinux 0x2fc918a2 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x2fd799e2 _dev_warn +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x2fe5b535 qcom_scm_assign_mem +EXPORT_SYMBOL vmlinux 0x2feaec6c __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0x301580a9 of_pci_range_to_resource +EXPORT_SYMBOL vmlinux 0x303fc94d __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x30581cb4 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x3060f216 kernel_param_lock +EXPORT_SYMBOL vmlinux 0x307cb3c5 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x307ececf generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x309ad501 locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30ab8bf9 cdrom_release +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30d0f6c7 truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0x30d9b71f of_device_is_available +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30f5c7ed filemap_fdatawrite_wbc +EXPORT_SYMBOL vmlinux 0x310b43b0 param_ops_ulong +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x3129c388 dump_emit +EXPORT_SYMBOL vmlinux 0x312ab6bd import_iovec +EXPORT_SYMBOL vmlinux 0x313338e0 of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0x3135355e ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0x314b9503 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x3154f8b6 dst_dev_put +EXPORT_SYMBOL vmlinux 0x31616939 crypto_kdf108_setkey +EXPORT_SYMBOL vmlinux 0x3165ad88 set_capacity +EXPORT_SYMBOL vmlinux 0x31737b9f km_policy_expired +EXPORT_SYMBOL vmlinux 0x318aec5c pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0x3197b5ff register_framebuffer +EXPORT_SYMBOL vmlinux 0x319c32d0 unregister_console +EXPORT_SYMBOL vmlinux 0x319d493d proc_dostring +EXPORT_SYMBOL vmlinux 0x31a4767f qcom_scm_hdcp_available +EXPORT_SYMBOL vmlinux 0x31a62b89 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x31c47a9c dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0x31c64229 sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0x31ef78f0 is_nvdimm_bus_locked +EXPORT_SYMBOL vmlinux 0x320002ad devm_get_clk_from_child +EXPORT_SYMBOL vmlinux 0x3213f038 mutex_unlock +EXPORT_SYMBOL vmlinux 0x321eb815 cdev_device_del +EXPORT_SYMBOL vmlinux 0x32215150 hmm_range_fault +EXPORT_SYMBOL vmlinux 0x3221df67 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x32394d4b qe_issue_cmd +EXPORT_SYMBOL vmlinux 0x323d2fb8 buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0x326cb9c6 seq_path +EXPORT_SYMBOL vmlinux 0x32787823 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x3279b9a0 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x327c84bf vme_lm_attach +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x32843bae vfs_rename +EXPORT_SYMBOL vmlinux 0x329e0dc1 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x32a1b655 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x32ac07df mmc_gpio_set_cd_isr +EXPORT_SYMBOL vmlinux 0x32b306e0 module_layout +EXPORT_SYMBOL vmlinux 0x32bb1f0f __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x32c2d07b scsi_partsize +EXPORT_SYMBOL vmlinux 0x32c732f0 dm_io +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32d0e83a devm_of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x32e6f1a0 acpi_video_backlight_string +EXPORT_SYMBOL vmlinux 0x32e73b5a skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0x33037fd8 logic_outl +EXPORT_SYMBOL vmlinux 0x3316ef3e __scsi_execute +EXPORT_SYMBOL vmlinux 0x33289d27 submit_bio +EXPORT_SYMBOL vmlinux 0x332e9d23 vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0x333a16fe padata_do_serial +EXPORT_SYMBOL vmlinux 0x333a4904 flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0x334c53f4 block_write_begin +EXPORT_SYMBOL vmlinux 0x33592a33 security_inode_copy_up +EXPORT_SYMBOL vmlinux 0x33619ef8 dput +EXPORT_SYMBOL vmlinux 0x33658957 simple_getattr +EXPORT_SYMBOL vmlinux 0x33736a1d __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0x33791d22 pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0x3392a7c5 ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0x33a14d8b ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0x33bc3774 vme_unregister_driver +EXPORT_SYMBOL vmlinux 0x33c495d6 devm_of_iomap +EXPORT_SYMBOL vmlinux 0x33d25a23 cdrom_check_events +EXPORT_SYMBOL vmlinux 0x33ebdcf8 tegra_dfll_unregister +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33fc2a31 get_user_ifreq +EXPORT_SYMBOL vmlinux 0x33fcf44a __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x34028c2b d_move +EXPORT_SYMBOL vmlinux 0x3402b4f9 xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0x3402dc8b __write_overflow_field +EXPORT_SYMBOL vmlinux 0x340578ad scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x340d667d lease_modify +EXPORT_SYMBOL vmlinux 0x3424daf8 __traceiter_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x34341baa pnp_register_driver +EXPORT_SYMBOL vmlinux 0x3445a7b3 kernel_read +EXPORT_SYMBOL vmlinux 0x344c7639 mmc_get_card +EXPORT_SYMBOL vmlinux 0x3452b18f mipi_dsi_dcs_exit_sleep_mode +EXPORT_SYMBOL vmlinux 0x34700c2f twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x3486b229 dquot_quota_off +EXPORT_SYMBOL vmlinux 0x348f3d16 d_alloc_anon +EXPORT_SYMBOL vmlinux 0x349358ae elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a1f7e3 acpi_processor_get_psd +EXPORT_SYMBOL vmlinux 0x34a6ce85 tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0x34b16334 __next_node_in +EXPORT_SYMBOL vmlinux 0x34c254b0 phy_modify_paged_changed +EXPORT_SYMBOL vmlinux 0x34c7cdbc lookup_bdev +EXPORT_SYMBOL vmlinux 0x34d04bf9 fb_set_var +EXPORT_SYMBOL vmlinux 0x34da969e follow_down +EXPORT_SYMBOL vmlinux 0x34dd4252 blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue +EXPORT_SYMBOL vmlinux 0x34fdd1dc jbd2_fc_end_commit +EXPORT_SYMBOL vmlinux 0x3505c377 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x3508a74c scsi_host_busy +EXPORT_SYMBOL vmlinux 0x3509db9c i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x350d61a2 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x350ea558 dma_fence_default_wait +EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x3528fdeb tty_vhangup +EXPORT_SYMBOL vmlinux 0x352a7295 netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0x3539f11b match_strlcpy +EXPORT_SYMBOL vmlinux 0x35449f52 gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0x354fd00d md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x3551fcca hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x355b4c75 vfs_create_mount +EXPORT_SYMBOL vmlinux 0x355c53e6 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x356461c8 rtc_time64_to_tm +EXPORT_SYMBOL vmlinux 0x35658474 phy_driver_register +EXPORT_SYMBOL vmlinux 0x356860c3 flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0x35918823 imx_scu_enable_general_irq_channel +EXPORT_SYMBOL vmlinux 0x359aa32a inet_listen +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35c8db54 proc_remove +EXPORT_SYMBOL vmlinux 0x35cfa83f amba_device_register +EXPORT_SYMBOL vmlinux 0x35ea6009 seq_puts +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x36237933 dma_unmap_page_attrs +EXPORT_SYMBOL vmlinux 0x36395ec3 generic_block_bmap +EXPORT_SYMBOL vmlinux 0x36455ff0 iov_iter_npages +EXPORT_SYMBOL vmlinux 0x364850b1 down_write_killable +EXPORT_SYMBOL vmlinux 0x364c23ad mutex_is_locked +EXPORT_SYMBOL vmlinux 0x36546b54 ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0x365a7351 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x3696c71a mmc_of_parse_voltage +EXPORT_SYMBOL vmlinux 0x369a2ecd jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x36a8987f file_modified +EXPORT_SYMBOL vmlinux 0x36b6ebbf down_killable +EXPORT_SYMBOL vmlinux 0x36c89e1c sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0x36cb6f13 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x36d20cc2 __dev_set_mtu +EXPORT_SYMBOL vmlinux 0x36f72817 follow_up +EXPORT_SYMBOL vmlinux 0x36fb36a4 __mod_node_page_state +EXPORT_SYMBOL vmlinux 0x36fe1cf1 input_flush_device +EXPORT_SYMBOL vmlinux 0x37045622 mmc_detect_change +EXPORT_SYMBOL vmlinux 0x3708a9e1 sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0x370b7cbc of_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x370dd152 vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0x37110088 remove_wait_queue +EXPORT_SYMBOL vmlinux 0x371e1953 __printk_cpu_sync_wait +EXPORT_SYMBOL vmlinux 0x371fb61a devm_nvmem_cell_put +EXPORT_SYMBOL vmlinux 0x372b115a flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x37461d57 netdev_pick_tx +EXPORT_SYMBOL vmlinux 0x374c2729 acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0x374f3209 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x37758557 rfkill_alloc +EXPORT_SYMBOL vmlinux 0x377d8004 acpi_error +EXPORT_SYMBOL vmlinux 0x379b218c pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0x37a28b39 acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0x37acfd3b of_node_name_prefix +EXPORT_SYMBOL vmlinux 0x37b744cc __napi_schedule +EXPORT_SYMBOL vmlinux 0x37b8b39e screen_info +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37e1fa99 flush_dcache_page +EXPORT_SYMBOL vmlinux 0x37f2c502 xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x3817aaca scsi_print_result +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x383ac7ed key_type_keyring +EXPORT_SYMBOL vmlinux 0x384ab898 sock_alloc +EXPORT_SYMBOL vmlinux 0x384f7b43 generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0x3854774b kstrtoll +EXPORT_SYMBOL vmlinux 0x386504e2 tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0x386c7bd1 md_handle_request +EXPORT_SYMBOL vmlinux 0x386eb163 param_get_hexint +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x3887e801 open_with_fake_path +EXPORT_SYMBOL vmlinux 0x388aa3c9 neigh_proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x3890cdad inet_register_protosw +EXPORT_SYMBOL vmlinux 0x3891ffc8 ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0x389617b0 LZ4_decompress_fast_continue +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38a9f7c5 in6addr_loopback +EXPORT_SYMBOL vmlinux 0x38cdf3c6 dentry_create +EXPORT_SYMBOL vmlinux 0x38dea231 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x38e46431 mempool_exit +EXPORT_SYMBOL vmlinux 0x38eb845f xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x38f2a100 phy_reset_after_clk_enable +EXPORT_SYMBOL vmlinux 0x38f48af7 put_user_ifreq +EXPORT_SYMBOL vmlinux 0x3908c62a dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x391a04be skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x391df80a netstamp_needed_key +EXPORT_SYMBOL vmlinux 0x3928efe9 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x392b1fea wait_for_completion_io +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x39425271 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL vmlinux 0x3953102c dquot_scan_active +EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x3969509d of_find_node_by_type +EXPORT_SYMBOL vmlinux 0x39769478 vfs_mkobj +EXPORT_SYMBOL vmlinux 0x39796bbd prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x397cb114 param_ops_int +EXPORT_SYMBOL vmlinux 0x397d3bc9 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x397e5f38 __devm_release_region +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x39b08e35 send_sig_info +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39b8d49c cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x39be4b8e qman_volatile_dequeue +EXPORT_SYMBOL vmlinux 0x39c9a537 skb_vlan_untag +EXPORT_SYMBOL vmlinux 0x39d95ca4 zstd_reset_cstream +EXPORT_SYMBOL vmlinux 0x39f005ab mipi_dsi_dcs_write_buffer +EXPORT_SYMBOL vmlinux 0x3a0d98e0 input_set_capability +EXPORT_SYMBOL vmlinux 0x3a13067a netif_set_tso_max_size +EXPORT_SYMBOL vmlinux 0x3a13f54a sgl_alloc +EXPORT_SYMBOL vmlinux 0x3a29cd53 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x3a2f6702 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x3a3340cb mipi_dsi_dcs_set_display_off +EXPORT_SYMBOL vmlinux 0x3a33c1ef phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x3a430d28 rproc_del +EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized +EXPORT_SYMBOL vmlinux 0x3a53d4e7 mmc_register_driver +EXPORT_SYMBOL vmlinux 0x3a59320b nvdimm_namespace_common_probe +EXPORT_SYMBOL vmlinux 0x3a7210e9 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x3a8f0217 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x3a972929 ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0x3aa2e3fe kill_block_super +EXPORT_SYMBOL vmlinux 0x3aa3e85d inode_needs_sync +EXPORT_SYMBOL vmlinux 0x3aa83358 fwnode_get_phy_id +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3ac83ca3 __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0x3ad5cda3 lockref_get_not_zero +EXPORT_SYMBOL vmlinux 0x3ad7a5d5 acpi_evaluate_reference +EXPORT_SYMBOL vmlinux 0x3ada9e06 acpi_check_region +EXPORT_SYMBOL vmlinux 0x3adeb5d0 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x3ae34aeb zstd_init_dctx +EXPORT_SYMBOL vmlinux 0x3aea60d9 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x3aeee15a devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x3af6e059 inet_recvmsg +EXPORT_SYMBOL vmlinux 0x3aff3200 acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0x3b04d031 security_sb_mnt_opts_compat +EXPORT_SYMBOL vmlinux 0x3b08a8f0 nf_ct_destroy +EXPORT_SYMBOL vmlinux 0x3b0963f4 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x3b0dca21 pipe_unlock +EXPORT_SYMBOL vmlinux 0x3b0f23d2 xudma_is_pktdma +EXPORT_SYMBOL vmlinux 0x3b0fc4d5 bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0x3b1deb57 pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0x3b20fb95 dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0x3b2343cd phy_aneg_done +EXPORT_SYMBOL vmlinux 0x3b321462 LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0x3b555111 __netif_rx +EXPORT_SYMBOL vmlinux 0x3b5a25b4 d_drop +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b6c41ea kstrtouint +EXPORT_SYMBOL vmlinux 0x3b707ad5 imx_sc_rm_get_resource_owner +EXPORT_SYMBOL vmlinux 0x3b7df999 skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x3b9144c9 acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0x3b92180c pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x3b9d98e2 phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0x3ba0fca0 seq_lseek +EXPORT_SYMBOL vmlinux 0x3bd54472 kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0x3be30ec6 netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3bec0f92 input_set_poll_interval +EXPORT_SYMBOL vmlinux 0x3c00cf96 dma_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0x3c022dc1 blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0x3c0e1620 qcom_scm_pas_metadata_release +EXPORT_SYMBOL vmlinux 0x3c0f2d2c tegra_ahb_enable_smmu +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c1b0514 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x3c2336da security_sb_remount +EXPORT_SYMBOL vmlinux 0x3c2b774a bdevname +EXPORT_SYMBOL vmlinux 0x3c3215c4 qe_immr +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c406065 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x3c5dfca0 pci_get_slot +EXPORT_SYMBOL vmlinux 0x3c630eed component_match_add_release +EXPORT_SYMBOL vmlinux 0x3c85357e __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x3c9c32bc xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x3ca80706 pci_scan_bus +EXPORT_SYMBOL vmlinux 0x3ca871f5 unregister_quota_format +EXPORT_SYMBOL vmlinux 0x3cbb940b zstd_init_dstream +EXPORT_SYMBOL vmlinux 0x3cbc3343 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x3cd4c755 ip6_output +EXPORT_SYMBOL vmlinux 0x3cd9ed83 logic_insw +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cf2cf3c find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0x3d02cd70 dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0x3d210724 gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0x3d351e2f inode_insert5 +EXPORT_SYMBOL vmlinux 0x3d3730ef blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x3d3cfb0e pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x3d608889 security_path_unlink +EXPORT_SYMBOL vmlinux 0x3d72c9fe flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0x3d7491f5 nf_getsockopt +EXPORT_SYMBOL vmlinux 0x3d93c7c2 __arm_smccc_sve_check +EXPORT_SYMBOL vmlinux 0x3d9ee9f0 clear_page +EXPORT_SYMBOL vmlinux 0x3da711ed phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x3dabf271 memcg_sockets_enabled_key +EXPORT_SYMBOL vmlinux 0x3dac779a bpf_sk_lookup_enabled +EXPORT_SYMBOL vmlinux 0x3dad9978 cancel_delayed_work +EXPORT_SYMBOL vmlinux 0x3db579e9 dma_pool_create +EXPORT_SYMBOL vmlinux 0x3dc619d3 swake_up_locked +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dd3f054 xudma_rchan_get_id +EXPORT_SYMBOL vmlinux 0x3dd9b230 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x3df4190c netlink_ack +EXPORT_SYMBOL vmlinux 0x3df69b9f touch_buffer +EXPORT_SYMBOL vmlinux 0x3df7cfc0 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x3dfb86b9 resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e0b4c5b done_path_create +EXPORT_SYMBOL vmlinux 0x3e249184 do_splice_direct +EXPORT_SYMBOL vmlinux 0x3e329e80 amba_device_unregister +EXPORT_SYMBOL vmlinux 0x3e35c649 dquot_initialize +EXPORT_SYMBOL vmlinux 0x3e3bad0a __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x3e60630b pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x3e6f7f88 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x3e73db52 __dec_node_page_state +EXPORT_SYMBOL vmlinux 0x3e740d85 xfrm4_protocol_deregister +EXPORT_SYMBOL vmlinux 0x3e79fb00 arm_smccc_1_2_smc +EXPORT_SYMBOL vmlinux 0x3e883e87 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x3e99f22f filemap_dirty_folio +EXPORT_SYMBOL vmlinux 0x3e9bdb21 path_has_submounts +EXPORT_SYMBOL vmlinux 0x3ed352bd set_page_writeback +EXPORT_SYMBOL vmlinux 0x3eeb2322 __wake_up +EXPORT_SYMBOL vmlinux 0x3ef5a95d mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3f041635 from_kuid +EXPORT_SYMBOL vmlinux 0x3f0c99a4 of_phy_deregister_fixed_link +EXPORT_SYMBOL vmlinux 0x3f0eabd2 xxh64_update +EXPORT_SYMBOL vmlinux 0x3f13de1a skb_pull +EXPORT_SYMBOL vmlinux 0x3f1e51b2 vfs_readlink +EXPORT_SYMBOL vmlinux 0x3f1e661b dmam_pool_create +EXPORT_SYMBOL vmlinux 0x3f2a323b tcp_peek_len +EXPORT_SYMBOL vmlinux 0x3f34644d zstd_dstream_workspace_bound +EXPORT_SYMBOL vmlinux 0x3f3649b2 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x3f3b5d75 ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f485104 param_get_invbool +EXPORT_SYMBOL vmlinux 0x3f48f3d0 from_kgid_munged +EXPORT_SYMBOL vmlinux 0x3f4bd846 gen_pool_first_fit_order_align +EXPORT_SYMBOL vmlinux 0x3f545cad cpumask_any_and_distribute +EXPORT_SYMBOL vmlinux 0x3f5d66c9 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x3f73df3f watchdog_register_governor +EXPORT_SYMBOL vmlinux 0x3f80f5fc dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0x3f8112e7 param_set_ulong +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3f98bd00 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x3f9c0146 ipmr_rule_default +EXPORT_SYMBOL vmlinux 0x3f9fa3e4 inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0x3fa73612 update_region +EXPORT_SYMBOL vmlinux 0x3fa8b7ee pcim_iomap +EXPORT_SYMBOL vmlinux 0x3fbf3c89 vme_slave_set +EXPORT_SYMBOL vmlinux 0x3fc18d7c simple_rmdir +EXPORT_SYMBOL vmlinux 0x3fc6d742 of_xudma_dev_get +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3fd7bb24 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x3fe2ccbe memweight +EXPORT_SYMBOL vmlinux 0x3fe55029 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x4005faef iov_iter_advance +EXPORT_SYMBOL vmlinux 0x40147de2 netdev_update_features +EXPORT_SYMBOL vmlinux 0x401a03e5 skb_ensure_writable +EXPORT_SYMBOL vmlinux 0x401f418b tcp_conn_request +EXPORT_SYMBOL vmlinux 0x4029bd92 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x4038554b phy_attached_info_irq +EXPORT_SYMBOL vmlinux 0x404c3f33 vga_remove_vgacon +EXPORT_SYMBOL vmlinux 0x40661a72 blk_set_runtime_active +EXPORT_SYMBOL vmlinux 0x406fce15 load_nls +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x4099435d mipi_dsi_device_register_full +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d59096 unregister_restart_handler +EXPORT_SYMBOL vmlinux 0x40db35ea fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x40e3c7dd __scsi_add_device +EXPORT_SYMBOL vmlinux 0x40e98b6c inet_bind +EXPORT_SYMBOL vmlinux 0x40e9ab0d netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0x40f59aea pci_get_device +EXPORT_SYMBOL vmlinux 0x40f76a86 __vcalloc +EXPORT_SYMBOL vmlinux 0x40f91772 generic_perform_write +EXPORT_SYMBOL vmlinux 0x41027459 flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x412b9c93 dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0x412f893c page_offline_begin +EXPORT_SYMBOL vmlinux 0x413d0375 input_grab_device +EXPORT_SYMBOL vmlinux 0x414267b8 consume_skb +EXPORT_SYMBOL vmlinux 0x41440910 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x414749da get_phy_device +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x414da5e5 qman_enqueue +EXPORT_SYMBOL vmlinux 0x416d85e3 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x417fab5d genphy_read_status_fixed +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41a0212b __lock_sock_fast +EXPORT_SYMBOL vmlinux 0x41a03d41 amba_release_regions +EXPORT_SYMBOL vmlinux 0x41a6a2b0 serio_reconnect +EXPORT_SYMBOL vmlinux 0x41a71b53 nd_pfn_validate +EXPORT_SYMBOL vmlinux 0x41c8ee70 kern_sys_bpf +EXPORT_SYMBOL vmlinux 0x41d933e8 sk_stop_timer +EXPORT_SYMBOL vmlinux 0x41e6dedd skb_copy_bits +EXPORT_SYMBOL vmlinux 0x41ed3709 get_random_bytes +EXPORT_SYMBOL vmlinux 0x41efdeaf radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x41fbae4d mntget +EXPORT_SYMBOL vmlinux 0x420964e3 __nla_parse +EXPORT_SYMBOL vmlinux 0x422269d9 bio_chain +EXPORT_SYMBOL vmlinux 0x4230a8d7 sg_nents_for_len +EXPORT_SYMBOL vmlinux 0x42329224 ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0x423fe426 give_up_console +EXPORT_SYMBOL vmlinux 0x424535fa page_mapped +EXPORT_SYMBOL vmlinux 0x4246ba71 vme_register_bridge +EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running +EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x42578e80 acpi_get_type +EXPORT_SYMBOL vmlinux 0x425c736b to_ndd +EXPORT_SYMBOL vmlinux 0x42790982 mmc_card_is_blockaddr +EXPORT_SYMBOL vmlinux 0x42822f9b kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0x4287fc0c __netif_schedule +EXPORT_SYMBOL vmlinux 0x429043f3 acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0x42bed8d4 unix_gc_lock +EXPORT_SYMBOL vmlinux 0x42e39426 free_cgroup_ns +EXPORT_SYMBOL vmlinux 0x42ea7890 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x42f6d3c1 mmc_gpio_get_ro +EXPORT_SYMBOL vmlinux 0x42f7155d pci_get_subsys +EXPORT_SYMBOL vmlinux 0x42fad074 pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x430e6312 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x4315aa5c release_pages +EXPORT_SYMBOL vmlinux 0x431c04ac tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x431ec3a9 __nla_validate +EXPORT_SYMBOL vmlinux 0x4336fcca ucs2_as_utf8 +EXPORT_SYMBOL vmlinux 0x433937fd bpf_link_get_from_fd +EXPORT_SYMBOL vmlinux 0x433cabfb acpi_decode_pld_buffer +EXPORT_SYMBOL vmlinux 0x434a9c4b kmem_cache_create +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x43764461 seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x4384ad8a genphy_setup_forced +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x4399ec14 devfreq_add_device +EXPORT_SYMBOL vmlinux 0x43a525c2 arp_send +EXPORT_SYMBOL vmlinux 0x43b63fec vma_alloc_folio +EXPORT_SYMBOL vmlinux 0x43bd58c7 tegra_dfll_runtime_suspend +EXPORT_SYMBOL vmlinux 0x43c094fa vlan_vid_add +EXPORT_SYMBOL vmlinux 0x43cae40e seq_file_path +EXPORT_SYMBOL vmlinux 0x43cc6b7c alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x43d1cf9b ucc_of_parse_tdm +EXPORT_SYMBOL vmlinux 0x43d1e934 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x43d22fb9 groups_alloc +EXPORT_SYMBOL vmlinux 0x43f9ebc8 slhc_remember +EXPORT_SYMBOL vmlinux 0x4403bbd0 imx_sc_misc_set_control +EXPORT_SYMBOL vmlinux 0x440a5ce9 fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0x4431ae6e pm_vt_switch_required +EXPORT_SYMBOL vmlinux 0x4440e79d d_instantiate_anon +EXPORT_SYMBOL vmlinux 0x444156ed of_find_backlight_by_node +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x44548ee8 skb_flow_dissect_hash +EXPORT_SYMBOL vmlinux 0x4462d35e cpufreq_get_hw_max_freq +EXPORT_SYMBOL vmlinux 0x448d0a7f sock_gettstamp +EXPORT_SYMBOL vmlinux 0x449ad0a7 memcmp +EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x44bbcc15 __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x44cd2389 mmc_can_discard +EXPORT_SYMBOL vmlinux 0x44e7da1e netdev_sk_get_lowest_dev +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44ec1c2a nf_ct_attach +EXPORT_SYMBOL vmlinux 0x44ec22d4 napi_complete_done +EXPORT_SYMBOL vmlinux 0x45006cee default_red +EXPORT_SYMBOL vmlinux 0x45081703 ec_get_handle +EXPORT_SYMBOL vmlinux 0x450d9a35 cmd_db_read_slave_id +EXPORT_SYMBOL vmlinux 0x45163dab genphy_read_lpa +EXPORT_SYMBOL vmlinux 0x45222014 pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x452413a1 qman_alloc_pool_range +EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x45484e8c iov_iter_alignment +EXPORT_SYMBOL vmlinux 0x45535485 xxh32_update +EXPORT_SYMBOL vmlinux 0x455b9d00 of_mdiobus_child_is_phy +EXPORT_SYMBOL vmlinux 0x4569848b wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x4581999a sk_reset_timer +EXPORT_SYMBOL vmlinux 0x4583815c dev_addr_mod +EXPORT_SYMBOL vmlinux 0x45b0b258 vfs_mkdir +EXPORT_SYMBOL vmlinux 0x45c8e12c acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0x45ceee98 proc_set_size +EXPORT_SYMBOL vmlinux 0x45d8344f tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0x45dc72c0 __seq_open_private +EXPORT_SYMBOL vmlinux 0x45eea6c0 pci_release_resource +EXPORT_SYMBOL vmlinux 0x45f81926 folio_mapping +EXPORT_SYMBOL vmlinux 0x46011ec3 rproc_get_by_phandle +EXPORT_SYMBOL vmlinux 0x460c8e80 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x460cb3bb md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x460df0ee mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x460f4a34 flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x461273c6 sk_dst_check +EXPORT_SYMBOL vmlinux 0x461d16ca sg_nents +EXPORT_SYMBOL vmlinux 0x46295b34 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x462d0add phy_ethtool_get_stats +EXPORT_SYMBOL vmlinux 0x463ae60e simple_transaction_read +EXPORT_SYMBOL vmlinux 0x46451cee zstd_get_frame_header +EXPORT_SYMBOL vmlinux 0x465003e5 sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x465e24ff ucs2_utf8size +EXPORT_SYMBOL vmlinux 0x46616934 dquot_resume +EXPORT_SYMBOL vmlinux 0x4664f36c napi_consume_skb +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x467df16d netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0x468b60f5 kfree_skb_list_reason +EXPORT_SYMBOL vmlinux 0x4698fe8a bman_release +EXPORT_SYMBOL vmlinux 0x469a6ec7 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x46ac10ea blk_cleanup_disk +EXPORT_SYMBOL vmlinux 0x46c1dec0 mipi_dsi_detach +EXPORT_SYMBOL vmlinux 0x46c47fb6 __node_distance +EXPORT_SYMBOL vmlinux 0x46c92281 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x46dec94c dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0x46ff7d12 qcom_scm_iommu_secure_ptbl_size +EXPORT_SYMBOL vmlinux 0x470612dc fman_port_get_qman_channel_id +EXPORT_SYMBOL vmlinux 0x47065c73 cpm_muram_offset +EXPORT_SYMBOL vmlinux 0x470a24db iterate_fd +EXPORT_SYMBOL vmlinux 0x470d0759 pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0x471352d8 proc_create_seq_private +EXPORT_SYMBOL vmlinux 0x4715a909 acpi_load_table +EXPORT_SYMBOL vmlinux 0x471f0002 secpath_set +EXPORT_SYMBOL vmlinux 0x474758f7 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x47498c8f __quota_error +EXPORT_SYMBOL vmlinux 0x475a7322 __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0x475d7427 fman_get_rx_extra_headroom +EXPORT_SYMBOL vmlinux 0x476be84e get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x47843df9 xp_raw_get_data +EXPORT_SYMBOL vmlinux 0x479137ca imx_scu_irq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x47960bc4 proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x47b409c0 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x47b97476 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x47c20f8a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47cfd825 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0x47d8d301 __cond_resched_rwlock_read +EXPORT_SYMBOL vmlinux 0x47dac536 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x47e18acc __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x47f686b2 mipi_dsi_driver_unregister +EXPORT_SYMBOL vmlinux 0x48042c10 mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0x480e40ca flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0x481814c4 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x4829a47e memcpy +EXPORT_SYMBOL vmlinux 0x4829cf6b fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0x4835731d request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x4837bb10 logic_outsb +EXPORT_SYMBOL vmlinux 0x4841bdee strnchr +EXPORT_SYMBOL vmlinux 0x4848cfb1 phy_mipi_dphy_get_default_config +EXPORT_SYMBOL vmlinux 0x484f6edf ktime_get_coarse_real_ts64 +EXPORT_SYMBOL vmlinux 0x4857549d tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486075c8 gen_pool_dma_alloc +EXPORT_SYMBOL vmlinux 0x489166e7 tegra_ivc_init +EXPORT_SYMBOL vmlinux 0x489c1297 __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0x489eda10 memset32 +EXPORT_SYMBOL vmlinux 0x489f6e0b rdma_dim +EXPORT_SYMBOL vmlinux 0x48a77d64 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48b3880c textsearch_unregister +EXPORT_SYMBOL vmlinux 0x48b99a13 vme_lm_free +EXPORT_SYMBOL vmlinux 0x48bedf65 first_ec +EXPORT_SYMBOL vmlinux 0x48c093fb _atomic_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x48c95896 uart_resume_port +EXPORT_SYMBOL vmlinux 0x48c9c3f0 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x48d27375 __bitmap_intersects +EXPORT_SYMBOL vmlinux 0x48d47df3 dcache_readdir +EXPORT_SYMBOL vmlinux 0x48fc6102 fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x4901d028 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x491a2ea6 inode_update_time +EXPORT_SYMBOL vmlinux 0x495169ab pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0x495231ea mul_u64_u64_div_u64 +EXPORT_SYMBOL vmlinux 0x49662617 ip_output +EXPORT_SYMBOL vmlinux 0x4967e79f radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0x499241c3 pci_reenable_device +EXPORT_SYMBOL vmlinux 0x499612f8 crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0x499933a1 keyring_alloc +EXPORT_SYMBOL vmlinux 0x499f0ecf nd_sb_checksum +EXPORT_SYMBOL vmlinux 0x49a3103e cfb_fillrect +EXPORT_SYMBOL vmlinux 0x49ae9ba8 ip_local_deliver +EXPORT_SYMBOL vmlinux 0x49b163b8 acpi_bus_scan +EXPORT_SYMBOL vmlinux 0x49beb0ad unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x49d810ee skb_copy +EXPORT_SYMBOL vmlinux 0x49ea25a8 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x49f31bc4 pci_set_master +EXPORT_SYMBOL vmlinux 0x4a11f1f4 input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0x4a1df78d ilookup +EXPORT_SYMBOL vmlinux 0x4a32998b fman_set_mac_max_frame +EXPORT_SYMBOL vmlinux 0x4a3ad70e wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x4a502d48 netdev_offload_xstats_get +EXPORT_SYMBOL vmlinux 0x4a515581 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x4a5563e2 pldmfw_flash_image +EXPORT_SYMBOL vmlinux 0x4a5cc0e0 mmc_free_host +EXPORT_SYMBOL vmlinux 0x4a5ed451 mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0x4a71a18a rproc_elf_find_loaded_rsc_table +EXPORT_SYMBOL vmlinux 0x4a93576a ucc_fast_free +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4ac31019 skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0x4ad800be pci_enable_ptm +EXPORT_SYMBOL vmlinux 0x4aea0ba8 param_set_invbool +EXPORT_SYMBOL vmlinux 0x4aea463f crc32_le_shift +EXPORT_SYMBOL vmlinux 0x4af6ddf0 kstrtou16 +EXPORT_SYMBOL vmlinux 0x4afb2238 add_wait_queue +EXPORT_SYMBOL vmlinux 0x4b0a3f52 gic_nonsecure_priorities +EXPORT_SYMBOL vmlinux 0x4b1446b4 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x4b1e75ba flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0x4b20671f rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x4b3c957a kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b65ac58 filemap_invalidate_unlock_two +EXPORT_SYMBOL vmlinux 0x4b6df007 acpi_evaluate_reg +EXPORT_SYMBOL vmlinux 0x4b6f6b32 __do_once_slow_done +EXPORT_SYMBOL vmlinux 0x4b6fcc80 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x4b932001 vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0x4bcc2662 mempool_init_node +EXPORT_SYMBOL vmlinux 0x4bdd5680 netif_inherit_tso_max +EXPORT_SYMBOL vmlinux 0x4bde9605 vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0x4be1fdd7 tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0x4bef1c67 empty_name +EXPORT_SYMBOL vmlinux 0x4bf3ce6f qman_release_cgrid +EXPORT_SYMBOL vmlinux 0x4bf55a40 param_get_ushort +EXPORT_SYMBOL vmlinux 0x4c07a7e0 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0x4c098043 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x4c0c06a7 should_remove_suid +EXPORT_SYMBOL vmlinux 0x4c18b45d kernel_listen +EXPORT_SYMBOL vmlinux 0x4c3401a3 kthread_stop +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c5437e5 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x4c56838f __netdev_notify_peers +EXPORT_SYMBOL vmlinux 0x4c916588 genl_register_family +EXPORT_SYMBOL vmlinux 0x4ca0d5b3 dev_activate +EXPORT_SYMBOL vmlinux 0x4ca2b46d blk_mq_start_stopped_hw_queues +EXPORT_SYMBOL vmlinux 0x4cba441d iwe_stream_add_event +EXPORT_SYMBOL vmlinux 0x4cbf3952 rproc_of_resm_mem_entry_init +EXPORT_SYMBOL vmlinux 0x4cd2a44d netpoll_send_skb +EXPORT_SYMBOL vmlinux 0x4cd3f4e0 skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0x4ce4eb46 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x4ce8383e unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x4ce8696f lookup_one_len +EXPORT_SYMBOL vmlinux 0x4cf33c84 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x4d06f9e2 folio_write_one +EXPORT_SYMBOL vmlinux 0x4d0d163d copy_page +EXPORT_SYMBOL vmlinux 0x4d193724 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x4d2c7133 acpi_info +EXPORT_SYMBOL vmlinux 0x4d3188fc folio_wait_private_2_killable +EXPORT_SYMBOL vmlinux 0x4d65cbd5 csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x4d744c83 __udp_disconnect +EXPORT_SYMBOL vmlinux 0x4d85b09e tcp_sendpage +EXPORT_SYMBOL vmlinux 0x4d88deb8 iproc_msi_init +EXPORT_SYMBOL vmlinux 0x4d924f20 memremap +EXPORT_SYMBOL vmlinux 0x4d95586d skb_find_text +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4da596e6 qman_retire_fq +EXPORT_SYMBOL vmlinux 0x4dc59d24 udp_set_csum +EXPORT_SYMBOL vmlinux 0x4dca08ee sync_file_get_fence +EXPORT_SYMBOL vmlinux 0x4dd33f90 mmc_release_host +EXPORT_SYMBOL vmlinux 0x4dd671c5 of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x4de995ec gen_pool_dma_alloc_algo +EXPORT_SYMBOL vmlinux 0x4df02057 crc32_be +EXPORT_SYMBOL vmlinux 0x4df2ea84 gen_estimator_read +EXPORT_SYMBOL vmlinux 0x4dfa8d4b mutex_lock +EXPORT_SYMBOL vmlinux 0x4e206802 netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0x4e20bcf8 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x4e2e74c1 qcom_scm_io_readl +EXPORT_SYMBOL vmlinux 0x4e30da9a init_special_inode +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e36cdc4 __ubsan_handle_divrem_overflow +EXPORT_SYMBOL vmlinux 0x4e43df66 dm_kobject_release +EXPORT_SYMBOL vmlinux 0x4e4f0f16 dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x4e5217c5 md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x4e547048 __kmalloc_node_track_caller +EXPORT_SYMBOL vmlinux 0x4e5ebbf3 vfs_llseek +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6e4b41 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e773fae skb_split +EXPORT_SYMBOL vmlinux 0x4e98d9b9 dcb_getapp +EXPORT_SYMBOL vmlinux 0x4e9cd9e1 dev_trans_start +EXPORT_SYMBOL vmlinux 0x4ea25709 dql_reset +EXPORT_SYMBOL vmlinux 0x4eada8f7 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x4ec54e78 bitmap_to_arr32 +EXPORT_SYMBOL vmlinux 0x4eccec4c dm_table_get_md +EXPORT_SYMBOL vmlinux 0x4ecf08bf dst_release_immediate +EXPORT_SYMBOL vmlinux 0x4ee25f84 eth_header_cache +EXPORT_SYMBOL vmlinux 0x4ee94c9f cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x4ef71624 may_umount_tree +EXPORT_SYMBOL vmlinux 0x4ef8d314 vfs_tmpfile +EXPORT_SYMBOL vmlinux 0x4f1287d0 flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0x4f1c223e genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f20d80b zstd_min_clevel +EXPORT_SYMBOL vmlinux 0x4f2250ba rtc_tm_to_time64 +EXPORT_SYMBOL vmlinux 0x4f417c2e alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x4f448a29 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x4f4c5c44 pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0x4f55166f acpi_set_current_resources +EXPORT_SYMBOL vmlinux 0x4f690417 dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0x4f709989 security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0x4f820182 dma_fence_array_create +EXPORT_SYMBOL vmlinux 0x4f88911e processors +EXPORT_SYMBOL vmlinux 0x4f93dc61 fwnode_phy_find_device +EXPORT_SYMBOL vmlinux 0x4febb200 zap_page_range +EXPORT_SYMBOL vmlinux 0x4ff25ff0 is_bad_inode +EXPORT_SYMBOL vmlinux 0x4ffb59bf __SCK__tp_func_kfree +EXPORT_SYMBOL vmlinux 0x5000e781 inode_init_once +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x500c9015 xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x50156da7 find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0x5019b87c ptp_clock_register +EXPORT_SYMBOL vmlinux 0x50209db0 request_key_tag +EXPORT_SYMBOL vmlinux 0x5027bde2 acpi_acquire_mutex +EXPORT_SYMBOL vmlinux 0x5034500d pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x505c2b49 inode_to_bdi +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +EXPORT_SYMBOL vmlinux 0x508388af register_shrinker +EXPORT_SYMBOL vmlinux 0x5089f45f ip_send_check +EXPORT_SYMBOL vmlinux 0x508a5eb5 __break_lease +EXPORT_SYMBOL vmlinux 0x508c9bde simple_setattr +EXPORT_SYMBOL vmlinux 0x5092e84e __read_overflow2_field +EXPORT_SYMBOL vmlinux 0x50944630 seq_list_start_head_rcu +EXPORT_SYMBOL vmlinux 0x50983ec2 init_net +EXPORT_SYMBOL vmlinux 0x509b64ea acpi_has_method +EXPORT_SYMBOL vmlinux 0x50a4698c fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0x50ad7f4a regset_get +EXPORT_SYMBOL vmlinux 0x50ae1a89 register_mii_timestamper +EXPORT_SYMBOL vmlinux 0x50b73ce2 rfkill_find_type +EXPORT_SYMBOL vmlinux 0x50b80992 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50cf7585 hex2bin +EXPORT_SYMBOL vmlinux 0x50d035c2 vsscanf +EXPORT_SYMBOL vmlinux 0x50ded7e3 posix_test_lock +EXPORT_SYMBOL vmlinux 0x50e0ffbb proc_set_user +EXPORT_SYMBOL vmlinux 0x50f85302 __arm_smccc_hvc +EXPORT_SYMBOL vmlinux 0x50f91491 __genradix_ptr +EXPORT_SYMBOL vmlinux 0x5102a30b do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0x51038a38 folio_end_private_2 +EXPORT_SYMBOL vmlinux 0x512c5e2b xudma_get_device +EXPORT_SYMBOL vmlinux 0x513421cf phy_detach +EXPORT_SYMBOL vmlinux 0x513471ba devfreq_get_freq_range +EXPORT_SYMBOL vmlinux 0x513803c2 tty_name +EXPORT_SYMBOL vmlinux 0x513e0718 km_state_notify +EXPORT_SYMBOL vmlinux 0x51480561 sock_wfree +EXPORT_SYMBOL vmlinux 0x515083bf acpi_release_mutex +EXPORT_SYMBOL vmlinux 0x515f520b qman_portal_get_iperiod +EXPORT_SYMBOL vmlinux 0x51606cb9 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x51641162 opal_unlock_from_suspend +EXPORT_SYMBOL vmlinux 0x516a4bdf kmem_cache_size +EXPORT_SYMBOL vmlinux 0x516aa0cc param_set_charp +EXPORT_SYMBOL vmlinux 0x51711689 path_is_under +EXPORT_SYMBOL vmlinux 0x517b2fa5 flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x519aabbb to_nd_dax +EXPORT_SYMBOL vmlinux 0x51c60791 tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51d4a4fc sock_queue_rcv_skb_reason +EXPORT_SYMBOL vmlinux 0x51f41678 of_graph_is_present +EXPORT_SYMBOL vmlinux 0x51f7e1c6 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x5200ca96 ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0x5203d176 cmd_db_ready +EXPORT_SYMBOL vmlinux 0x5208c21a pci_write_config_dword +EXPORT_SYMBOL vmlinux 0x520fbd8a vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x5218c47e scsi_device_get +EXPORT_SYMBOL vmlinux 0x52493a09 phy_suspend +EXPORT_SYMBOL vmlinux 0x524e79cd scsi_done_direct +EXPORT_SYMBOL vmlinux 0x52613e20 folio_wait_bit_killable +EXPORT_SYMBOL vmlinux 0x526317ee page_pool_destroy +EXPORT_SYMBOL vmlinux 0x526eef2c hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0x527ac716 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x527edc46 of_graph_get_port_parent +EXPORT_SYMBOL vmlinux 0x5284fd2a dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x52983a4f vme_master_write +EXPORT_SYMBOL vmlinux 0x52a2aedf __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x52b080ab nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x52d38951 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52d7ff53 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x52dcb85b __traceiter_kmalloc +EXPORT_SYMBOL vmlinux 0x52ecbc75 crc_ccitt +EXPORT_SYMBOL vmlinux 0x52f2850a imx_sc_pm_cpu_start +EXPORT_SYMBOL vmlinux 0x52f6a908 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x53126ecc __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x5317eb12 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x531da853 ip6tun_encaps +EXPORT_SYMBOL vmlinux 0x5333c4ab skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0x5334894d deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x5338184f ethtool_sprintf +EXPORT_SYMBOL vmlinux 0x533a88a9 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x5348e368 ata_std_end_eh +EXPORT_SYMBOL vmlinux 0x535553fb neigh_parms_release +EXPORT_SYMBOL vmlinux 0x535cd835 devm_mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x53633d4b rproc_elf_load_segments +EXPORT_SYMBOL vmlinux 0x5365d1dd devm_devfreq_add_governor +EXPORT_SYMBOL vmlinux 0x53966181 devm_clk_get_optional +EXPORT_SYMBOL vmlinux 0x539bb129 napi_build_skb +EXPORT_SYMBOL vmlinux 0x53a41ede genphy_handle_interrupt_no_ack +EXPORT_SYMBOL vmlinux 0x53b3a059 mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0x53b954a2 up_read +EXPORT_SYMBOL vmlinux 0x53eed79f __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x53eff192 tegra_ivc_align +EXPORT_SYMBOL vmlinux 0x53f8ced7 page_pool_ethtool_stats_get_strings +EXPORT_SYMBOL vmlinux 0x54019144 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x5402da9f xudma_navss_psil_pair +EXPORT_SYMBOL vmlinux 0x540979d8 devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0x5415ed56 devm_backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x542d9172 fwnode_irq_get_byname +EXPORT_SYMBOL vmlinux 0x5431da90 locks_init_lock +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x5462d625 tcp_req_err +EXPORT_SYMBOL vmlinux 0x546e632e __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x5486e545 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x54978ad5 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x54a344e0 devm_iounmap +EXPORT_SYMBOL vmlinux 0x54b1fac6 __ubsan_handle_load_invalid_value +EXPORT_SYMBOL vmlinux 0x54b5c2d9 config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0x54b8477a tcf_action_update_hw_stats +EXPORT_SYMBOL vmlinux 0x54b8a1f4 sock_init_data_uid +EXPORT_SYMBOL vmlinux 0x54b8f83e jbd2_fc_release_bufs +EXPORT_SYMBOL vmlinux 0x54d388a2 xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0x54d91848 sock_kzfree_s +EXPORT_SYMBOL vmlinux 0x54dadbac __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54ea6dfe xen_start_flags +EXPORT_SYMBOL vmlinux 0x54f2f440 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x54f5e5b2 pnp_release_card_device +EXPORT_SYMBOL vmlinux 0x54f7dd75 put_ipc_ns +EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit +EXPORT_SYMBOL vmlinux 0x5508f28d bman_acquire +EXPORT_SYMBOL vmlinux 0x5511bb79 d_prune_aliases +EXPORT_SYMBOL vmlinux 0x551ab041 page_mapping +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x552db3aa qman_query_cgr_congested +EXPORT_SYMBOL vmlinux 0x55443608 vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0x55463754 configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +EXPORT_SYMBOL vmlinux 0x556b5d62 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x557cb374 security_sctp_assoc_established +EXPORT_SYMBOL vmlinux 0x557df6a5 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x55867db0 elv_rb_add +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x558f2d6a sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0x5590d0d6 of_graph_get_remote_port_parent +EXPORT_SYMBOL vmlinux 0x5596435f vfs_get_tree +EXPORT_SYMBOL vmlinux 0x55a63eea blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0x55bed9c2 md_done_sync +EXPORT_SYMBOL vmlinux 0x55ca68c0 __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0x55d7d9c1 dquot_quota_on +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x55e717fd netlink_set_err +EXPORT_SYMBOL vmlinux 0x55edc1cf tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x55ef1809 unix_destruct_scm +EXPORT_SYMBOL vmlinux 0x55f60516 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x55fc94c7 blk_finish_plug +EXPORT_SYMBOL vmlinux 0x5614de21 default_qdisc_ops +EXPORT_SYMBOL vmlinux 0x5614f48a qman_dqrr_get_ithresh +EXPORT_SYMBOL vmlinux 0x561abbae scsi_device_resume +EXPORT_SYMBOL vmlinux 0x561ac81a pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x561c670f scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x56470118 __warn_printk +EXPORT_SYMBOL vmlinux 0x564f7608 acpi_reconfig_notifier_register +EXPORT_SYMBOL vmlinux 0x5661489c tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x566f2cef stop_tty +EXPORT_SYMBOL vmlinux 0x567fac51 ip_frag_init +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x568c639e acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0x56926f9d forget_cached_acl +EXPORT_SYMBOL vmlinux 0x56b9aa28 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x56c3db64 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56d29a96 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x56fe8290 of_get_cpu_node +EXPORT_SYMBOL vmlinux 0x57058ef3 fs_param_is_string +EXPORT_SYMBOL vmlinux 0x572f8784 read_cache_folio +EXPORT_SYMBOL vmlinux 0x573cf592 dma_free_attrs +EXPORT_SYMBOL vmlinux 0x57405f82 phy_resume +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x577d6d16 inet6_add_offload +EXPORT_SYMBOL vmlinux 0x57867d36 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x57900416 gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0x5792f848 strlcpy +EXPORT_SYMBOL vmlinux 0x57988d3d ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x57bc19d2 down_write +EXPORT_SYMBOL vmlinux 0x57d0bd2a iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x57d5737d dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0x57d6e06d inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x57db8fd6 utf8_normalize +EXPORT_SYMBOL vmlinux 0x57e4e31c icmp_ndo_send +EXPORT_SYMBOL vmlinux 0x57f38cdc qe_get_firmware_info +EXPORT_SYMBOL vmlinux 0x5818fe3c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x581b066e fput +EXPORT_SYMBOL vmlinux 0x581f98da zlib_inflate +EXPORT_SYMBOL vmlinux 0x582375ae devfreq_update_interval +EXPORT_SYMBOL vmlinux 0x582606eb xudma_rflow_put +EXPORT_SYMBOL vmlinux 0x582b6275 xfrm_if_unregister_cb +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x58414ed9 msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0x585ae877 nmi_panic +EXPORT_SYMBOL vmlinux 0x5871b419 security_unix_may_send +EXPORT_SYMBOL vmlinux 0x587b0954 kvasprintf +EXPORT_SYMBOL vmlinux 0x587b892e qe_get_num_of_risc +EXPORT_SYMBOL vmlinux 0x587f22d7 devmap_managed_key +EXPORT_SYMBOL vmlinux 0x58936969 sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0x589a60a5 wake_up_process +EXPORT_SYMBOL vmlinux 0x58a5ea5c ilookup5 +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b60e5b scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58cae862 cad_pid +EXPORT_SYMBOL vmlinux 0x58d5cecc add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x58f7da61 devm_rproc_add +EXPORT_SYMBOL vmlinux 0x58f93602 scsi_device_put +EXPORT_SYMBOL vmlinux 0x58fc4d71 pci_read_config_dword +EXPORT_SYMBOL vmlinux 0x58fe1737 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0x590d4787 pci_release_region +EXPORT_SYMBOL vmlinux 0x590d593b rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0x5912d31f netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x5924d621 unload_nls +EXPORT_SYMBOL vmlinux 0x592cb256 __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x5934b5a9 qman_destroy_fq +EXPORT_SYMBOL vmlinux 0x593a4309 netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0x59424e31 vfs_fsync +EXPORT_SYMBOL vmlinux 0x59454925 fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0x595d8002 hdmi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x5960c04e pci_iomap +EXPORT_SYMBOL vmlinux 0x5992945b devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x599b4888 qe_setbrg +EXPORT_SYMBOL vmlinux 0x599fb41c kvmalloc_node +EXPORT_SYMBOL vmlinux 0x59a2f0ee packing +EXPORT_SYMBOL vmlinux 0x59b4ac3e tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x59b987f0 reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0x59ca6aca dev_get_flags +EXPORT_SYMBOL vmlinux 0x59e333a9 kernel_write +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a290250 hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x5a31b82e simple_dentry_operations +EXPORT_SYMBOL vmlinux 0x5a422ba1 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x5a44f8cb __crypto_memneq +EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle +EXPORT_SYMBOL vmlinux 0x5a5b8e3b neigh_app_ns +EXPORT_SYMBOL vmlinux 0x5a60b950 qm_channel_pool1 +EXPORT_SYMBOL vmlinux 0x5a61c8fd sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x5a6342f0 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x5a64d0e9 memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0x5a6a0250 get_unmapped_area +EXPORT_SYMBOL vmlinux 0x5a72a4f2 tcp_prot +EXPORT_SYMBOL vmlinux 0x5a8cd32c filp_close +EXPORT_SYMBOL vmlinux 0x5a921311 strncmp +EXPORT_SYMBOL vmlinux 0x5a96f557 devfreq_remove_governor +EXPORT_SYMBOL vmlinux 0x5a99a0d7 flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0x5a9b0ad6 skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0x5a9f1d63 memmove +EXPORT_SYMBOL vmlinux 0x5aa74ea3 key_unlink +EXPORT_SYMBOL vmlinux 0x5ad46f57 ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0x5adfc832 cros_ec_get_next_event +EXPORT_SYMBOL vmlinux 0x5ae1154b __traceiter_kfree +EXPORT_SYMBOL vmlinux 0x5aeeba4b blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0x5b0a3bc5 napi_schedule_prep +EXPORT_SYMBOL vmlinux 0x5b25c22a vfs_unlink +EXPORT_SYMBOL vmlinux 0x5b265d22 crypto_sha512_update +EXPORT_SYMBOL vmlinux 0x5b2f27fb do_wait_intr +EXPORT_SYMBOL vmlinux 0x5b392a1e dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0x5b3e282f xa_store +EXPORT_SYMBOL vmlinux 0x5b3ff008 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x5b423ccc pci_request_regions +EXPORT_SYMBOL vmlinux 0x5b54903b qcom_scm_pas_mem_setup +EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap +EXPORT_SYMBOL vmlinux 0x5b673b70 mipi_dsi_dcs_nop +EXPORT_SYMBOL vmlinux 0x5b74ddfa netif_carrier_on +EXPORT_SYMBOL vmlinux 0x5b86e5fa padata_free_shell +EXPORT_SYMBOL vmlinux 0x5b90ae8f pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x5b9ed1a1 generic_file_fsync +EXPORT_SYMBOL vmlinux 0x5bb48a33 tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x5bb9ba80 flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5bdb7603 sock_copy_user_timeval +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5bfaa052 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x5c0ba654 iommu_get_msi_cookie +EXPORT_SYMBOL vmlinux 0x5c15a113 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x5c183f8e phy_do_ioctl +EXPORT_SYMBOL vmlinux 0x5c1c15dd dev_get_by_name +EXPORT_SYMBOL vmlinux 0x5c26a53b wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0x5c384616 mpage_writepages +EXPORT_SYMBOL vmlinux 0x5c3c7387 kstrtoull +EXPORT_SYMBOL vmlinux 0x5c437ce1 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x5c44ed67 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x5c46f507 simple_nosetlease +EXPORT_SYMBOL vmlinux 0x5c57d244 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x5c57e4f3 audit_log +EXPORT_SYMBOL vmlinux 0x5c7e09ca phy_mac_interrupt +EXPORT_SYMBOL vmlinux 0x5c89f30b tso_count_descs +EXPORT_SYMBOL vmlinux 0x5ca4bf87 rpmh_write_batch +EXPORT_SYMBOL vmlinux 0x5ca6ee4c ndisc_send_skb +EXPORT_SYMBOL vmlinux 0x5ca9636e pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x5cb049a5 blk_mq_destroy_queue +EXPORT_SYMBOL vmlinux 0x5cb3e00e sock_alloc_file +EXPORT_SYMBOL vmlinux 0x5cc92864 of_device_is_big_endian +EXPORT_SYMBOL vmlinux 0x5cd18f3b bdi_alloc +EXPORT_SYMBOL vmlinux 0x5cea7bfd bio_init_clone +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5cf9f8d3 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x5cfb26a0 acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0x5d040e6a __skb_checksum +EXPORT_SYMBOL vmlinux 0x5d112304 __memcpy_fromio +EXPORT_SYMBOL vmlinux 0x5d2a9fba thread_group_exited +EXPORT_SYMBOL vmlinux 0x5d3ecb52 __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d8059dc ww_mutex_lock +EXPORT_SYMBOL vmlinux 0x5d8a74bf kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x5d8d6c36 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x5d908cd4 mipi_dsi_dcs_set_page_address +EXPORT_SYMBOL vmlinux 0x5d95b725 set_anon_super_fc +EXPORT_SYMBOL vmlinux 0x5dac4cd6 qman_dqrr_set_ithresh +EXPORT_SYMBOL vmlinux 0x5db383dd pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x5db73478 __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x5dc92661 make_kgid +EXPORT_SYMBOL vmlinux 0x5dcc9fcd sock_create_lite +EXPORT_SYMBOL vmlinux 0x5e06bc5c refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e0da1f4 finish_swait +EXPORT_SYMBOL vmlinux 0x5e122a3d dqput +EXPORT_SYMBOL vmlinux 0x5e1ab07d __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x5e3240a0 __cpu_online_mask +EXPORT_SYMBOL vmlinux 0x5e332b52 __var_waitqueue +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e54722d truncate_setsize +EXPORT_SYMBOL vmlinux 0x5e6f91f9 tegra_powergate_remove_clamping +EXPORT_SYMBOL vmlinux 0x5e794d94 napi_get_frags +EXPORT_SYMBOL vmlinux 0x5e804aec __invalidate_device +EXPORT_SYMBOL vmlinux 0x5e855e56 gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0x5e93f084 mount_single +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e9a01ce gen_new_estimator +EXPORT_SYMBOL vmlinux 0x5e9c3367 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x5ea6e750 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5eb6922b tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed0c277 qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5ee2822c of_graph_get_next_endpoint +EXPORT_SYMBOL vmlinux 0x5ef6a672 gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0x5efdd68b __tracepoint_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x5efde8e6 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x5f01c8df eth_type_trans +EXPORT_SYMBOL vmlinux 0x5f098b2a in6addr_interfacelocal_allrouters +EXPORT_SYMBOL vmlinux 0x5f2ac211 configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0x5f2ba55e security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x5f34923a flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0x5f4bb641 get_tz_trend +EXPORT_SYMBOL vmlinux 0x5f5441c8 __ubsan_handle_alignment_assumption +EXPORT_SYMBOL vmlinux 0x5f6b889c rproc_va_to_pa +EXPORT_SYMBOL vmlinux 0x5f93525c acpi_extract_package +EXPORT_SYMBOL vmlinux 0x5f9b0f7e inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x5fbd2086 devm_clk_get +EXPORT_SYMBOL vmlinux 0x5fc72f0e alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x5fccb1e7 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x5fed178c meson_sm_call +EXPORT_SYMBOL vmlinux 0x5ff9eb0e lockref_mark_dead +EXPORT_SYMBOL vmlinux 0x5ffe600f kthread_create_on_cpu +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x60062e47 mipi_dsi_shutdown_peripheral +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x6008689f kthread_complete_and_exit +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x602263a7 fqdir_init +EXPORT_SYMBOL vmlinux 0x602dd076 filemap_flush +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x60622a24 security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0x60694afd fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0x606d70c5 iterate_dir +EXPORT_SYMBOL vmlinux 0x607781e6 generic_write_checks +EXPORT_SYMBOL vmlinux 0x60787c10 mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0x608741b5 __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x608d0267 zstd_get_error_code +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x60927022 param_set_uint +EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton +EXPORT_SYMBOL vmlinux 0x609bfc0b bmap +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60aaeb4b qman_p_irqsource_add +EXPORT_SYMBOL vmlinux 0x60b3071f neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0x60d8ab30 vme_lm_get +EXPORT_SYMBOL vmlinux 0x60e700d6 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x60f32a1a netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0x60f9efef __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x61073e4a acpi_os_map_generic_address +EXPORT_SYMBOL vmlinux 0x61270bd7 xfrm_lookup +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x61347034 mb_cache_entry_delete_or_get +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +EXPORT_SYMBOL vmlinux 0x616260ac bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x61653eb6 get_watch_queue +EXPORT_SYMBOL vmlinux 0x616c3eb9 mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x617c452b queued_read_lock_slowpath +EXPORT_SYMBOL vmlinux 0x617d9db3 __put_page +EXPORT_SYMBOL vmlinux 0x6185b747 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0x61860089 __blk_mq_alloc_disk +EXPORT_SYMBOL vmlinux 0x618911fc numa_node +EXPORT_SYMBOL vmlinux 0x619cb7dd simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x61aa9856 dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0x61aba491 of_io_request_and_map +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61d2bfb5 generic_update_time +EXPORT_SYMBOL vmlinux 0x61d7da24 skb_ext_add +EXPORT_SYMBOL vmlinux 0x61da68ed vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0x61de45fc param_set_long +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61e8b711 skb_put +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x61eb4847 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x620bf0b8 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x6214aef2 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x6223d422 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x6229cb11 xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0x6264582d sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x6267f19b sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x627566fa vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x628525df devm_ioremap_np +EXPORT_SYMBOL vmlinux 0x629079b3 dma_fence_signal_timestamp +EXPORT_SYMBOL vmlinux 0x62949074 acpi_buffer_to_resource +EXPORT_SYMBOL vmlinux 0x62a764f8 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x62a9b586 fwnode_mdiobus_register_phy +EXPORT_SYMBOL vmlinux 0x62afbdd0 kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0x62ce4fb7 flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0x62cf69f3 tcf_exts_validate_ex +EXPORT_SYMBOL vmlinux 0x62d96443 qman_dma_portal +EXPORT_SYMBOL vmlinux 0x62e345e0 d_lookup +EXPORT_SYMBOL vmlinux 0x62e58956 setattr_prepare +EXPORT_SYMBOL vmlinux 0x62f6fa4c security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x62f7e207 down_read_killable +EXPORT_SYMBOL vmlinux 0x62faaaec datagram_poll +EXPORT_SYMBOL vmlinux 0x62fcdcff mipi_dsi_attach +EXPORT_SYMBOL vmlinux 0x63002964 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x630bfe24 twl6040_power +EXPORT_SYMBOL vmlinux 0x630df0b6 get_vm_area +EXPORT_SYMBOL vmlinux 0x6315c42c zstd_get_params +EXPORT_SYMBOL vmlinux 0x63184ed3 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x631a731b phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x631d569a ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x631ecbf9 scsi_scan_target +EXPORT_SYMBOL vmlinux 0x632375cd __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x63426da1 __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0x63465f19 mptcp_subflow_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x634de26e dma_resv_replace_fences +EXPORT_SYMBOL vmlinux 0x6362d95a finalize_exec +EXPORT_SYMBOL vmlinux 0x6370c1a1 dev_mc_init +EXPORT_SYMBOL vmlinux 0x63896e21 sock_no_bind +EXPORT_SYMBOL vmlinux 0x638ac9ad scsi_remove_host +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63c361d4 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63e52e96 max8925_reg_write +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x6417afc0 __pci_register_driver +EXPORT_SYMBOL vmlinux 0x641d49e7 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x642eb5c6 xen_poll_irq_timeout +EXPORT_SYMBOL vmlinux 0x643f3068 __tracepoint_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x644bdb28 phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0x644be12c qman_affine_cpus +EXPORT_SYMBOL vmlinux 0x644c2ba0 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x64518e05 phy_init_eee +EXPORT_SYMBOL vmlinux 0x6471730d pps_event +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x6487ed79 dev_driver_string +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x648fafe4 lookup_positive_unlocked +EXPORT_SYMBOL vmlinux 0x64a517b4 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64b23f4d phy_get_internal_delay +EXPORT_SYMBOL vmlinux 0x64bbc288 string_unescape +EXPORT_SYMBOL vmlinux 0x64c9420f mipi_dsi_generic_read +EXPORT_SYMBOL vmlinux 0x64da3b5d __dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x64ecde82 get_tree_single +EXPORT_SYMBOL vmlinux 0x6502c3d3 pci_enable_wake +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x6514c1e6 flow_get_u32_src +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp +EXPORT_SYMBOL vmlinux 0x6539a230 of_match_device +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x6540c6ae devm_clk_release_clkdev +EXPORT_SYMBOL vmlinux 0x654449c3 memset16 +EXPORT_SYMBOL vmlinux 0x656c1a0e string_escape_mem +EXPORT_SYMBOL vmlinux 0x656e4a6e snprintf +EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset +EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc +EXPORT_SYMBOL vmlinux 0x65a27c36 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x65a72676 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x65d1bab2 acpi_bios_warning +EXPORT_SYMBOL vmlinux 0x65d9e877 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e0d6d7 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x65ef787d of_clk_get +EXPORT_SYMBOL vmlinux 0x65efa155 folio_wait_bit +EXPORT_SYMBOL vmlinux 0x66011deb param_ops_short +EXPORT_SYMBOL vmlinux 0x6626afca down +EXPORT_SYMBOL vmlinux 0x662e41d4 free_task +EXPORT_SYMBOL vmlinux 0x6645d079 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x664b1e29 qman_delete_cgr +EXPORT_SYMBOL vmlinux 0x665e2513 zstd_max_clevel +EXPORT_SYMBOL vmlinux 0x66628bf3 ip_tunnel_metadata_cnt +EXPORT_SYMBOL vmlinux 0x666863dc par_io_config_pin +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x66795c6d netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0x6679ad3b __folio_start_writeback +EXPORT_SYMBOL vmlinux 0x66826f5a xudma_get_ringacc +EXPORT_SYMBOL vmlinux 0x668b19a1 down_read +EXPORT_SYMBOL vmlinux 0x66a29717 udp_read_sock +EXPORT_SYMBOL vmlinux 0x66a7f69e vme_irq_request +EXPORT_SYMBOL vmlinux 0x66af1fd1 lockref_put_or_lock +EXPORT_SYMBOL vmlinux 0x66b00a06 is_subdir +EXPORT_SYMBOL vmlinux 0x66b4cc41 kmemdup +EXPORT_SYMBOL vmlinux 0x66b6aaeb mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x66c852ea vme_irq_generate +EXPORT_SYMBOL vmlinux 0x66cf4c6e genphy_soft_reset +EXPORT_SYMBOL vmlinux 0x66e4e532 dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0x66fc842d d_rehash +EXPORT_SYMBOL vmlinux 0x67148985 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x6721fc7c security_cred_getsecid +EXPORT_SYMBOL vmlinux 0x674120e1 tcp_mmap +EXPORT_SYMBOL vmlinux 0x67412d2f ucc_slow_enable +EXPORT_SYMBOL vmlinux 0x6745d364 elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0x674699f4 kern_path +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x675f499d dma_async_device_register +EXPORT_SYMBOL vmlinux 0x676fa939 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0x677b944a crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0x677ffafd pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x6789b955 input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0x678a15d4 input_register_device +EXPORT_SYMBOL vmlinux 0x678b96ec dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x678dbae9 fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0x679db8c3 inet_del_protocol +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67c13ea0 acpi_read +EXPORT_SYMBOL vmlinux 0x67ced3c5 block_commit_write +EXPORT_SYMBOL vmlinux 0x67fa170a genphy_read_status +EXPORT_SYMBOL vmlinux 0x67fe3977 input_register_handle +EXPORT_SYMBOL vmlinux 0x6804a58b d_find_alias +EXPORT_SYMBOL vmlinux 0x681a300c csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0x682ac8c3 xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0x684cbe99 inet_protos +EXPORT_SYMBOL vmlinux 0x684e32a2 fiemap_prep +EXPORT_SYMBOL vmlinux 0x684f5883 security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0x685e9b04 pci_find_bus +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x688de799 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x68af6825 rproc_elf_load_rsc_table +EXPORT_SYMBOL vmlinux 0x68b9756e vfs_ioctl +EXPORT_SYMBOL vmlinux 0x68cb5b52 kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0x68d0a33a empty_aops +EXPORT_SYMBOL vmlinux 0x68d620cd dev_open +EXPORT_SYMBOL vmlinux 0x68fb581a icst307_idx2s +EXPORT_SYMBOL vmlinux 0x68fe3046 of_get_next_cpu_node +EXPORT_SYMBOL vmlinux 0x69049cd2 radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0x6917a77e __traceiter_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x692ed9d9 rproc_of_parse_firmware +EXPORT_SYMBOL vmlinux 0x69585523 __ksize +EXPORT_SYMBOL vmlinux 0x695ac533 km_state_expired +EXPORT_SYMBOL vmlinux 0x696678cf seq_write +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x69676490 jbd2_fc_wait_bufs +EXPORT_SYMBOL vmlinux 0x6970a214 blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x69727604 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x69785e8a xen_free_ballooned_pages +EXPORT_SYMBOL vmlinux 0x697ed5f0 memcpy_and_pad +EXPORT_SYMBOL vmlinux 0x6980610f neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x69832c0b d_delete +EXPORT_SYMBOL vmlinux 0x698cbaaf blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x6997638f mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x69d53cbc posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x69dc5eee devfreq_add_governor +EXPORT_SYMBOL vmlinux 0x69dd3b5b crc32_le +EXPORT_SYMBOL vmlinux 0x69de8757 vme_check_window +EXPORT_SYMBOL vmlinux 0x69f71341 __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x6a03751f sgl_free_order +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a120b16 mdio_device_register +EXPORT_SYMBOL vmlinux 0x6a1d5f91 __devm_mdiobus_register +EXPORT_SYMBOL vmlinux 0x6a28bbab __check_sticky +EXPORT_SYMBOL vmlinux 0x6a2e058e uart_get_divisor +EXPORT_SYMBOL vmlinux 0x6a3766b2 qman_delete_cgr_safe +EXPORT_SYMBOL vmlinux 0x6a449c4f register_sysctl_table +EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages +EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a6e05bf kstrtou8 +EXPORT_SYMBOL vmlinux 0x6a79a0cf freeze_bdev +EXPORT_SYMBOL vmlinux 0x6a813094 unregister_cdrom +EXPORT_SYMBOL vmlinux 0x6a8a32fd ps2_command +EXPORT_SYMBOL vmlinux 0x6a90663a qman_schedule_fq +EXPORT_SYMBOL vmlinux 0x6a9f8e0f tcf_qevent_validate_change +EXPORT_SYMBOL vmlinux 0x6aa11aa6 sgl_free_n_order +EXPORT_SYMBOL vmlinux 0x6ac46a70 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x6ac5c54f nd_device_register +EXPORT_SYMBOL vmlinux 0x6acc480c kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6adf1a68 flush_signals +EXPORT_SYMBOL vmlinux 0x6aedfdf3 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x6aeead94 iov_iter_xarray +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6b01776a inet6_offloads +EXPORT_SYMBOL vmlinux 0x6b01aee0 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x6b27729b radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b4b2933 __ioremap +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b6ae6c6 has_capability_noaudit +EXPORT_SYMBOL vmlinux 0x6b6e5217 fixed_size_llseek +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6b9ac070 of_find_net_device_by_node +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bd0e573 down_interruptible +EXPORT_SYMBOL vmlinux 0x6be1c1f8 acpi_install_method +EXPORT_SYMBOL vmlinux 0x6bf181c1 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x6bfc7ae3 fman_get_revision +EXPORT_SYMBOL vmlinux 0x6c1775a9 poll_initwait +EXPORT_SYMBOL vmlinux 0x6c224cda gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x6c257ac0 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x6c419540 seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0x6c5dae23 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c78e10c generic_key_instantiate +EXPORT_SYMBOL vmlinux 0x6c7a0323 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x6c940186 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0x6c97bdd0 phy_connect_direct +EXPORT_SYMBOL vmlinux 0x6c9cd113 __bio_advance +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6cbbfc54 __arch_copy_to_user +EXPORT_SYMBOL vmlinux 0x6cbf084c eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0x6ccd7b07 phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0x6cd0930e __generic_file_fsync +EXPORT_SYMBOL vmlinux 0x6ce09a8a pci_write_vpd_any +EXPORT_SYMBOL vmlinux 0x6cf0d67d qe_get_num_of_snums +EXPORT_SYMBOL vmlinux 0x6cfb3ff6 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x6d10e169 blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0x6d16c104 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d4ec36b inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x6d5f5b91 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x6d6e8c1b dquot_destroy +EXPORT_SYMBOL vmlinux 0x6d73c95f logic_outw +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6d858594 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x6d8ec2cc posix_acl_chmod +EXPORT_SYMBOL vmlinux 0x6da16a37 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x6da467cb pfn_is_map_memory +EXPORT_SYMBOL vmlinux 0x6dba9051 xz_dec_microlzma_end +EXPORT_SYMBOL vmlinux 0x6dbafbca nvdimm_namespace_capacity +EXPORT_SYMBOL vmlinux 0x6dc35b25 radix_tree_iter_delete +EXPORT_SYMBOL vmlinux 0x6dc98872 param_ops_ullong +EXPORT_SYMBOL vmlinux 0x6dcf857f uuid_null +EXPORT_SYMBOL vmlinux 0x6dd17e7b acpi_get_table_header +EXPORT_SYMBOL vmlinux 0x6dd53e0f fsync_bdev +EXPORT_SYMBOL vmlinux 0x6ddcb548 d_set_fallthru +EXPORT_SYMBOL vmlinux 0x6ddd47bd pm860x_set_bits +EXPORT_SYMBOL vmlinux 0x6de0c82d generic_delete_inode +EXPORT_SYMBOL vmlinux 0x6ded5930 pci_match_id +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6dff010f vme_slave_request +EXPORT_SYMBOL vmlinux 0x6e080485 PageMovable +EXPORT_SYMBOL vmlinux 0x6e1d6095 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x6e2439bb set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x6e4b329d nvdimm_namespace_locked +EXPORT_SYMBOL vmlinux 0x6e5b8651 xz_dec_run +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6eb606fa netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0x6eb8c069 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x6ec25022 vfs_iter_write +EXPORT_SYMBOL vmlinux 0x6ece73c8 ipv6_select_ident +EXPORT_SYMBOL vmlinux 0x6ed3102a pskb_extract +EXPORT_SYMBOL vmlinux 0x6ed8247a bpf_link_put +EXPORT_SYMBOL vmlinux 0x6edab521 iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0x6ee80acb ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x6ef2cc0c mmc_gpio_set_cd_wake +EXPORT_SYMBOL vmlinux 0x6ef69e2f xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x6efb16e7 tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0x6f0093e2 proc_mkdir +EXPORT_SYMBOL vmlinux 0x6f05f8b8 skb_unlink +EXPORT_SYMBOL vmlinux 0x6f0e9c16 fb_prepare_logo +EXPORT_SYMBOL vmlinux 0x6f1be07a jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x6f216312 xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0x6f21989e __post_watch_notification +EXPORT_SYMBOL vmlinux 0x6f2c7950 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x6f41a428 acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x6f4a59e4 sort_r +EXPORT_SYMBOL vmlinux 0x6f501488 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x6f5ab52f acpi_get_local_address +EXPORT_SYMBOL vmlinux 0x6f8a922d blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6f915a45 dqstats +EXPORT_SYMBOL vmlinux 0x6fac3539 phy_device_remove +EXPORT_SYMBOL vmlinux 0x6fb49676 queue_rcu_work +EXPORT_SYMBOL vmlinux 0x6fbc6a00 radix_tree_insert +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fcc0fe7 xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x6fe94079 find_vma +EXPORT_SYMBOL vmlinux 0x6ff5b0d4 key_alloc +EXPORT_SYMBOL vmlinux 0x6ffbe763 fd_install +EXPORT_SYMBOL vmlinux 0x6fff261f __arch_clear_user +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x70033fb9 dma_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x700e130f generic_listxattr +EXPORT_SYMBOL vmlinux 0x70149dd6 fs_context_for_submount +EXPORT_SYMBOL vmlinux 0x701c313e __alloc_pages +EXPORT_SYMBOL vmlinux 0x7023bea8 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x702946da ucs2_strlen +EXPORT_SYMBOL vmlinux 0x703650fb xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0x703adc2f dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x705c7d65 param_ops_bool +EXPORT_SYMBOL vmlinux 0x7068f08d mark_page_accessed +EXPORT_SYMBOL vmlinux 0x7075131a dentry_open +EXPORT_SYMBOL vmlinux 0x7080b052 msm_pinctrl_remove +EXPORT_SYMBOL vmlinux 0x70827bb3 dma_resv_init +EXPORT_SYMBOL vmlinux 0x708412b3 devm_devfreq_add_device +EXPORT_SYMBOL vmlinux 0x7090dd9f inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0x7097b92b phy_get_eee_err +EXPORT_SYMBOL vmlinux 0x70ad75fb radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x70d1a18e qman_release_pool +EXPORT_SYMBOL vmlinux 0x71081395 simple_write_begin +EXPORT_SYMBOL vmlinux 0x71141430 noop_dirty_folio +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x7140390a dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x7141b88a logic_insb +EXPORT_SYMBOL vmlinux 0x715a5ed0 vprintk +EXPORT_SYMBOL vmlinux 0x7168d310 bprm_change_interp +EXPORT_SYMBOL vmlinux 0x716c857e cdc_parse_cdc_header +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71b6adf1 flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0x71bffa31 nexthop_res_grp_activity_update +EXPORT_SYMBOL vmlinux 0x71ccd9a7 neigh_event_ns +EXPORT_SYMBOL vmlinux 0x71dfc095 acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x71fb5072 __nla_reserve +EXPORT_SYMBOL vmlinux 0x71febe18 vme_unregister_bridge +EXPORT_SYMBOL vmlinux 0x72005c1f folio_mark_accessed +EXPORT_SYMBOL vmlinux 0x720a27a7 __register_blkdev +EXPORT_SYMBOL vmlinux 0x720eb4f5 ps2_init +EXPORT_SYMBOL vmlinux 0x72154c6c of_find_all_nodes +EXPORT_SYMBOL vmlinux 0x7223214c netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0x72242db3 xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0x72285084 input_get_poll_interval +EXPORT_SYMBOL vmlinux 0x722a066a phy_sfp_probe +EXPORT_SYMBOL vmlinux 0x72415921 __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0x72588569 devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x726bc3c7 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x7282c5e5 mipi_dsi_dcs_set_pixel_format +EXPORT_SYMBOL vmlinux 0x7286790d fc_mount +EXPORT_SYMBOL vmlinux 0x7299f60c pci_dev_get +EXPORT_SYMBOL vmlinux 0x72a4ae79 dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0x72a50966 ucc_fast_disable +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72bc39a8 nla_put_64bit +EXPORT_SYMBOL vmlinux 0x72e4bf9e fget_raw +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72f14ff7 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0x72faf9e9 sync_file_create +EXPORT_SYMBOL vmlinux 0x72fb228b pci_clear_master +EXPORT_SYMBOL vmlinux 0x73062bf7 of_graph_get_endpoint_count +EXPORT_SYMBOL vmlinux 0x7307f84e __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x7316ffe2 dquot_get_state +EXPORT_SYMBOL vmlinux 0x731c4a9c dma_fence_signal +EXPORT_SYMBOL vmlinux 0x731dba7a xen_domain_type +EXPORT_SYMBOL vmlinux 0x732dd326 groups_free +EXPORT_SYMBOL vmlinux 0x733f9ab8 sync_blockdev +EXPORT_SYMBOL vmlinux 0x7354f645 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x7355ff95 iov_iter_bvec +EXPORT_SYMBOL vmlinux 0x735e4645 flow_rule_alloc +EXPORT_SYMBOL vmlinux 0x735e6a81 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x736695e9 of_platform_device_create +EXPORT_SYMBOL vmlinux 0x736cae8a icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x738a0178 sunxi_sram_release +EXPORT_SYMBOL vmlinux 0x73959fda __register_chrdev +EXPORT_SYMBOL vmlinux 0x73998efa cpm_muram_free_addr +EXPORT_SYMBOL vmlinux 0x739fd00f __SCK__tp_func_module_get +EXPORT_SYMBOL vmlinux 0x73a3db59 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73abe2a4 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x73bc1935 from_kprojid_munged +EXPORT_SYMBOL vmlinux 0x73d9fcd0 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x73e33fab dma_resv_add_fence +EXPORT_SYMBOL vmlinux 0x73ec82ee neigh_update +EXPORT_SYMBOL vmlinux 0x74063f67 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x740a997a pci_get_class +EXPORT_SYMBOL vmlinux 0x7410aba2 strreplace +EXPORT_SYMBOL vmlinux 0x7412ed5b kvfree_sensitive +EXPORT_SYMBOL vmlinux 0x741974db task_work_add +EXPORT_SYMBOL vmlinux 0x741b32d1 devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x742578a5 wait_for_random_bytes +EXPORT_SYMBOL vmlinux 0x7429e20c kstrtos8 +EXPORT_SYMBOL vmlinux 0x742d8210 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x743c543f fman_get_bmi_max_fifo_size +EXPORT_SYMBOL vmlinux 0x743f4126 keygen_port_hashing_init +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x7453d750 netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0x7466a434 pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0x7467dae7 backlight_device_set_brightness +EXPORT_SYMBOL vmlinux 0x74754435 acpi_bus_generate_netlink_event +EXPORT_SYMBOL vmlinux 0x747ec9cf dma_find_channel +EXPORT_SYMBOL vmlinux 0x7483dc59 pci_dev_present +EXPORT_SYMBOL vmlinux 0x749b0a29 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x749d4102 phy_ethtool_get_eee +EXPORT_SYMBOL vmlinux 0x74b8e674 slhc_toss +EXPORT_SYMBOL vmlinux 0x74bda1f9 reuseport_has_conns_set +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74c4e2ac inet_accept +EXPORT_SYMBOL vmlinux 0x74daca83 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74e6d744 dma_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x74e779de pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0x74edd761 has_capability +EXPORT_SYMBOL vmlinux 0x74f2526b of_mdio_find_device +EXPORT_SYMBOL vmlinux 0x74f3dff6 netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0x74ff4208 ethtool_notify +EXPORT_SYMBOL vmlinux 0x7518b3cf of_get_parent +EXPORT_SYMBOL vmlinux 0x754adcdb jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x754d7d01 ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0x7557f88f sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x755b78c6 meson_sm_call_write +EXPORT_SYMBOL vmlinux 0x755f38da pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x755f4ba3 blake2s_compress_generic +EXPORT_SYMBOL vmlinux 0x7560cd13 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x756eb940 udp_seq_start +EXPORT_SYMBOL vmlinux 0x757ce3b4 tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0x757f596d vlan_vid_del +EXPORT_SYMBOL vmlinux 0x75837b42 unpin_user_pages +EXPORT_SYMBOL vmlinux 0x75871f5e acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x75878abf xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75d0deb9 nsecs_to_jiffies64 +EXPORT_SYMBOL vmlinux 0x75d499dd vmcore_add_device_dump +EXPORT_SYMBOL vmlinux 0x75ef8eb5 genphy_read_abilities +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760d2d8f tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0x760f201a ptp_schedule_worker +EXPORT_SYMBOL vmlinux 0x7618af39 hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0x761fd0db __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x7624249e dim_park_tired +EXPORT_SYMBOL vmlinux 0x762ba568 current_in_userns +EXPORT_SYMBOL vmlinux 0x76330d67 wireless_send_event +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x764c8f49 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x76556c22 fsl_ifc_ctrl_dev +EXPORT_SYMBOL vmlinux 0x765ff474 crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x76679640 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x7677da77 scsi_print_command +EXPORT_SYMBOL vmlinux 0x7680d61d xp_dma_unmap +EXPORT_SYMBOL vmlinux 0x7682ba4e __copy_overflow +EXPORT_SYMBOL vmlinux 0x768e731d tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x76a0492b dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x76ab116c blk_post_runtime_suspend +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d88149 ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0x76efeabd phy_modify_paged +EXPORT_SYMBOL vmlinux 0x770d8f5b bio_endio +EXPORT_SYMBOL vmlinux 0x77281bd7 phy_ethtool_set_wol +EXPORT_SYMBOL vmlinux 0x7732159c free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x77358855 iomem_resource +EXPORT_SYMBOL vmlinux 0x7735ec83 __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x773fa409 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x77456e0a acpi_root_dir +EXPORT_SYMBOL vmlinux 0x77599b89 xfrm_register_km +EXPORT_SYMBOL vmlinux 0x77672da5 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x7778cf5d cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x777a47ff override_creds +EXPORT_SYMBOL vmlinux 0x7791193f icst525_s2div +EXPORT_SYMBOL vmlinux 0x77b827ea xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77bc9f89 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x77d1274b max8925_set_bits +EXPORT_SYMBOL vmlinux 0x77e86d2b rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x77ee28db _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x7810bb9d tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0x7812ec66 rpmh_write_async +EXPORT_SYMBOL vmlinux 0x782d28cd pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0x7830f693 xfrm_unregister_type_offload +EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x78561c91 take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0x785cf79c flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0x785f2ec4 sk_alloc +EXPORT_SYMBOL vmlinux 0x78739c43 netdev_reset_tc +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x7886f830 _dev_err +EXPORT_SYMBOL vmlinux 0x789d910b __block_write_begin +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78b44b2c dma_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x78b887ed vsprintf +EXPORT_SYMBOL vmlinux 0x78cfd925 clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x79015c9a phy_get_c45_ids +EXPORT_SYMBOL vmlinux 0x7904b41b eth_gro_complete +EXPORT_SYMBOL vmlinux 0x7904b8ce fman_reset_mac +EXPORT_SYMBOL vmlinux 0x7904d2a9 sk_net_capable +EXPORT_SYMBOL vmlinux 0x790fca3f free_netdev +EXPORT_SYMBOL vmlinux 0x7913ed3c flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x79266126 phy_start_cable_test +EXPORT_SYMBOL vmlinux 0x792f5c2c rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x7933c734 dma_fence_describe +EXPORT_SYMBOL vmlinux 0x7945d3fd mipi_dsi_dcs_set_tear_on +EXPORT_SYMBOL vmlinux 0x7959368d udp_seq_next +EXPORT_SYMBOL vmlinux 0x795a1763 fs_lookup_param +EXPORT_SYMBOL vmlinux 0x795d5da1 dev_set_mtu +EXPORT_SYMBOL vmlinux 0x795ee950 __mdiobus_write +EXPORT_SYMBOL vmlinux 0x795f85cf iter_file_splice_write +EXPORT_SYMBOL vmlinux 0x7984eefc key_update +EXPORT_SYMBOL vmlinux 0x798ba652 pnp_device_attach +EXPORT_SYMBOL vmlinux 0x799732ee simple_statfs +EXPORT_SYMBOL vmlinux 0x7999d844 is_acpi_data_node +EXPORT_SYMBOL vmlinux 0x79a33f85 vme_get_size +EXPORT_SYMBOL vmlinux 0x79b436a2 __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x79c7b433 dev_addr_add +EXPORT_SYMBOL vmlinux 0x79d48fce keyring_search +EXPORT_SYMBOL vmlinux 0x79ee5bef invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x79f71d57 xfrm_state_free +EXPORT_SYMBOL vmlinux 0x79f998e0 key_link +EXPORT_SYMBOL vmlinux 0x7a00dd7d blk_sync_queue +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a0aed00 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x7a1aaa4c touchscreen_report_pos +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a1d1f1c security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x7a24bccd tcp_check_req +EXPORT_SYMBOL vmlinux 0x7a2af7b4 cpu_number +EXPORT_SYMBOL vmlinux 0x7a2ff57e security_current_getsecid_subj +EXPORT_SYMBOL vmlinux 0x7a53a06d flow_indr_dev_exists +EXPORT_SYMBOL vmlinux 0x7a5f3263 d_obtain_alias +EXPORT_SYMBOL vmlinux 0x7a787147 _dev_crit +EXPORT_SYMBOL vmlinux 0x7a8816d1 tty_devnum +EXPORT_SYMBOL vmlinux 0x7a94bf01 __lock_buffer +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7a968137 ucc_slow_restart_tx +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7abace3c tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x7abc843e unix_detach_fds +EXPORT_SYMBOL vmlinux 0x7ac88863 uart_add_one_port +EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt +EXPORT_SYMBOL vmlinux 0x7ad516e0 of_root +EXPORT_SYMBOL vmlinux 0x7ad7950f put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0x7ad9a014 copy_string_kernel +EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7ae5d317 qe_get_snum +EXPORT_SYMBOL vmlinux 0x7b097168 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x7b0bbf50 bio_alloc_clone +EXPORT_SYMBOL vmlinux 0x7b28cf81 tegra_dfll_runtime_resume +EXPORT_SYMBOL vmlinux 0x7b2c93ba filemap_release_folio +EXPORT_SYMBOL vmlinux 0x7b317cb4 mpage_read_folio +EXPORT_SYMBOL vmlinux 0x7b37d4a7 _find_first_zero_bit +EXPORT_SYMBOL vmlinux 0x7b449189 configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0x7b4da6ff __init_rwsem +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b7609a2 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x7b81572c __traceiter_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0x7b82b9a1 idr_replace +EXPORT_SYMBOL vmlinux 0x7b94a617 input_unregister_device +EXPORT_SYMBOL vmlinux 0x7b9c7ecc i2c_clients_command +EXPORT_SYMBOL vmlinux 0x7ba5a3b4 tegra_powergate_power_off +EXPORT_SYMBOL vmlinux 0x7bab74f9 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x7bb50b88 acpi_write +EXPORT_SYMBOL vmlinux 0x7bb546a3 of_phy_connect +EXPORT_SYMBOL vmlinux 0x7bb884cc tcp_add_backlog +EXPORT_SYMBOL vmlinux 0x7bbccd05 nr_node_ids +EXPORT_SYMBOL vmlinux 0x7bc0961c vme_new_dma_list +EXPORT_SYMBOL vmlinux 0x7bd501a5 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x7bde4b14 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x7bf4908a freeze_super +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c1d464d pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0x7c232208 vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0x7c2c680f __fput_sync +EXPORT_SYMBOL vmlinux 0x7c310e9b irq_domain_set_info +EXPORT_SYMBOL vmlinux 0x7c34af4b xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x7c3d8e68 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x7c43619a netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0x7c459513 nla_append +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c654280 pci_pme_active +EXPORT_SYMBOL vmlinux 0x7c7725b6 cdev_set_parent +EXPORT_SYMBOL vmlinux 0x7c7b50ae padata_alloc +EXPORT_SYMBOL vmlinux 0x7c9789f5 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x7c9bd028 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x7c9ca58f __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x7cafee24 flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0x7cb54edf vfs_iocb_iter_write +EXPORT_SYMBOL vmlinux 0x7cc1a1ca mdiobus_register_device +EXPORT_SYMBOL vmlinux 0x7cc6c552 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x7ccd7e5d ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +EXPORT_SYMBOL vmlinux 0x7ce58981 kvrealloc +EXPORT_SYMBOL vmlinux 0x7cf35220 vme_master_free +EXPORT_SYMBOL vmlinux 0x7cf56a72 km_new_mapping +EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation +EXPORT_SYMBOL vmlinux 0x7d0ba682 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d12d76d acpi_get_parent +EXPORT_SYMBOL vmlinux 0x7d2018ed is_acpi_device_node +EXPORT_SYMBOL vmlinux 0x7d30ecd3 __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d4d9031 __mmap_lock_do_trace_released +EXPORT_SYMBOL vmlinux 0x7d513bca ptp_clock_unregister +EXPORT_SYMBOL vmlinux 0x7d5e1008 __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x7d6851b9 dma_map_sg_attrs +EXPORT_SYMBOL vmlinux 0x7d68bd85 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x7d7059d2 folio_redirty_for_writepage +EXPORT_SYMBOL vmlinux 0x7d74d522 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x7d909c89 inode_dio_wait +EXPORT_SYMBOL vmlinux 0x7d98dcef truncate_pagecache +EXPORT_SYMBOL vmlinux 0x7d9a78c6 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x7dad6a57 dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7db82898 rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0x7dc5ffa7 tc_skb_ext_tc_disable +EXPORT_SYMBOL vmlinux 0x7dc906e8 trace_event_printf +EXPORT_SYMBOL vmlinux 0x7dcf4135 __xa_insert +EXPORT_SYMBOL vmlinux 0x7ddca5d9 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7e099979 dquot_operations +EXPORT_SYMBOL vmlinux 0x7e1ae441 page_symlink +EXPORT_SYMBOL vmlinux 0x7e2480c7 dcache_dir_close +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e75da50 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x7e90f923 scsi_done +EXPORT_SYMBOL vmlinux 0x7e947366 kernel_getpeername +EXPORT_SYMBOL vmlinux 0x7e9dbe7a mmc_gpiod_request_cd_irq +EXPORT_SYMBOL vmlinux 0x7eabc4a2 netlink_unicast +EXPORT_SYMBOL vmlinux 0x7eb2a5e9 dst_release +EXPORT_SYMBOL vmlinux 0x7ec832e0 cdev_add +EXPORT_SYMBOL vmlinux 0x7edafd47 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f03d7f0 km_policy_notify +EXPORT_SYMBOL vmlinux 0x7f0e6ce5 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f38d8c2 platform_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x7f3f5c53 skb_orphan_partial +EXPORT_SYMBOL vmlinux 0x7f468711 tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0x7f52071a net_dim +EXPORT_SYMBOL vmlinux 0x7f5aac67 seq_escape_mem +EXPORT_SYMBOL vmlinux 0x7f5b4fe4 sg_free_table +EXPORT_SYMBOL vmlinux 0x7f740aa8 nla_reserve +EXPORT_SYMBOL vmlinux 0x7f76f00f __register_nls +EXPORT_SYMBOL vmlinux 0x7f775920 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7f885204 __destroy_inode +EXPORT_SYMBOL vmlinux 0x7fa278fd fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0x7fb90ddb alloc_mdio_bitbang +EXPORT_SYMBOL vmlinux 0x7fc98840 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x7fcbaace cros_ec_check_result +EXPORT_SYMBOL vmlinux 0x7fce778e tegra_ivc_total_queue_size +EXPORT_SYMBOL vmlinux 0x7fe105d7 bman_ip_rev +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x7ffbbe44 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x8001d41c blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0x800d438f md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x80185f48 devfreq_monitor_suspend +EXPORT_SYMBOL vmlinux 0x801c873c tcp_release_cb +EXPORT_SYMBOL vmlinux 0x8023fced sk_mc_loop +EXPORT_SYMBOL vmlinux 0x80309dc2 devm_memremap +EXPORT_SYMBOL vmlinux 0x8032c1f7 mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0x803806c1 dst_init +EXPORT_SYMBOL vmlinux 0x803ddbb6 __posix_acl_create +EXPORT_SYMBOL vmlinux 0x8047699a pci_save_state +EXPORT_SYMBOL vmlinux 0x80590b4a device_add_disk +EXPORT_SYMBOL vmlinux 0x806f431a uart_update_timeout +EXPORT_SYMBOL vmlinux 0x806f499e md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x807a940a netdev_alert +EXPORT_SYMBOL vmlinux 0x807f9b01 sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x80818c09 genphy_aneg_done +EXPORT_SYMBOL vmlinux 0x808e2886 kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0x809712ff hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x80a717a8 __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x80aa26a6 tcf_register_action +EXPORT_SYMBOL vmlinux 0x80b71716 eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0x80c95721 of_node_get +EXPORT_SYMBOL vmlinux 0x80ca5026 _bin2bcd +EXPORT_SYMBOL vmlinux 0x80d68d3e fb_register_client +EXPORT_SYMBOL vmlinux 0x80e5f86f fscrypt_fname_alloc_buffer +EXPORT_SYMBOL vmlinux 0x80e82aff vme_dma_request +EXPORT_SYMBOL vmlinux 0x80ec0d50 qman_init_fq +EXPORT_SYMBOL vmlinux 0x810bef7e sg_free_append_table +EXPORT_SYMBOL vmlinux 0x8112b3d2 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x81188c30 match_string +EXPORT_SYMBOL vmlinux 0x81199e5b tcf_qevent_init +EXPORT_SYMBOL vmlinux 0x8127d416 acpi_device_set_power +EXPORT_SYMBOL vmlinux 0x812c8a31 arp_xmit +EXPORT_SYMBOL vmlinux 0x813231b2 dev_mc_add +EXPORT_SYMBOL vmlinux 0x81363e98 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x8138c7b0 phy_init_hw +EXPORT_SYMBOL vmlinux 0x8140f335 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x8141a646 is_free_buddy_page +EXPORT_SYMBOL vmlinux 0x81463a70 param_get_ullong +EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x817ec9f3 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x818416e1 scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x818edf97 cpm_muram_alloc +EXPORT_SYMBOL vmlinux 0x819d83d6 flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0x81a1eb59 utf8_unload +EXPORT_SYMBOL vmlinux 0x81ac5e33 trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0x81af94ed inode_init_owner +EXPORT_SYMBOL vmlinux 0x81b20e8b ucc_fast_transmit_on_demand +EXPORT_SYMBOL vmlinux 0x81b77486 prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0x81cad1b1 mii_check_link +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x81f21ca2 single_open +EXPORT_SYMBOL vmlinux 0x8203b5aa generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0x823d3505 cmxgcr_lock +EXPORT_SYMBOL vmlinux 0x8244a36d pci_dev_driver +EXPORT_SYMBOL vmlinux 0x8263a6d9 proc_douintvec +EXPORT_SYMBOL vmlinux 0x8288c896 km_report +EXPORT_SYMBOL vmlinux 0x8295b216 drop_super +EXPORT_SYMBOL vmlinux 0x82aa1da3 amba_request_regions +EXPORT_SYMBOL vmlinux 0x82bc57df skb_pull_data +EXPORT_SYMBOL vmlinux 0x82c555d6 skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0x82c87ad5 nr_online_nodes +EXPORT_SYMBOL vmlinux 0x82de935b __traceiter_module_get +EXPORT_SYMBOL vmlinux 0x82e91bb2 qman_start_using_portal +EXPORT_SYMBOL vmlinux 0x82ed043c iov_iter_kvec +EXPORT_SYMBOL vmlinux 0x8330a84f tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x8342c2b6 tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0x834d2e34 netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x835a302e md_check_recovery +EXPORT_SYMBOL vmlinux 0x836f3007 folio_mark_dirty +EXPORT_SYMBOL vmlinux 0x837b7b09 __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0x838d2bc8 siphash_3u32 +EXPORT_SYMBOL vmlinux 0x838de657 flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0x83a4729b super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0x83b27c3a phy_drivers_register +EXPORT_SYMBOL vmlinux 0x83bcd4e5 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x83bf1e73 mroute6_is_socket +EXPORT_SYMBOL vmlinux 0x83c64eb5 xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0x83c94201 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x83d37c54 __skb_get_hash +EXPORT_SYMBOL vmlinux 0x83e038c6 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x83e9fbbd filp_open +EXPORT_SYMBOL vmlinux 0x83ed6f41 inet_frag_find +EXPORT_SYMBOL vmlinux 0x83f8764f from_kuid_munged +EXPORT_SYMBOL vmlinux 0x840342c6 sgl_free +EXPORT_SYMBOL vmlinux 0x840bbfa8 dm_table_event +EXPORT_SYMBOL vmlinux 0x84236c4b reuseport_alloc +EXPORT_SYMBOL vmlinux 0x8429ac4d of_get_mac_address +EXPORT_SYMBOL vmlinux 0x842edaab devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0x843860bc ps2_end_command +EXPORT_SYMBOL vmlinux 0x84424ca5 ip6_frag_next +EXPORT_SYMBOL vmlinux 0x8455e3a7 dma_fence_signal_timestamp_locked +EXPORT_SYMBOL vmlinux 0x84818f57 tegra_powergate_power_on +EXPORT_SYMBOL vmlinux 0x84823cf3 nla_strscpy +EXPORT_SYMBOL vmlinux 0x8496ec65 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x849e9958 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x84a0ca4d bitmap_zalloc_node +EXPORT_SYMBOL vmlinux 0x84a41016 serio_close +EXPORT_SYMBOL vmlinux 0x84c02059 tso_build_data +EXPORT_SYMBOL vmlinux 0x84c03e9a rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0x84c1c552 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x84c4040c security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0x850866f0 tty_register_device +EXPORT_SYMBOL vmlinux 0x85133254 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x8514dd83 acpi_dev_get_first_match_dev +EXPORT_SYMBOL vmlinux 0x851b9121 xudma_dev_get_psil_base +EXPORT_SYMBOL vmlinux 0x851cc32d md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0x851ddb20 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x853c0838 dev_uc_del +EXPORT_SYMBOL vmlinux 0x853e18ae get_tree_nodev +EXPORT_SYMBOL vmlinux 0x854fec83 tegra_sku_info +EXPORT_SYMBOL vmlinux 0x8552e1d5 __find_get_block +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x8569618f filemap_check_errors +EXPORT_SYMBOL vmlinux 0x857903ae netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0x858e86de netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0x8591d7d5 ledtrig_mtd_activity +EXPORT_SYMBOL vmlinux 0x85af8061 netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85bd1608 __request_region +EXPORT_SYMBOL vmlinux 0x85c01e44 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x85c835b1 inet6_protos +EXPORT_SYMBOL vmlinux 0x85d3fd87 blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0x85d7fa22 sock_rfree +EXPORT_SYMBOL vmlinux 0x85dd69c6 netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e052d7 fs_param_is_fd +EXPORT_SYMBOL vmlinux 0x85e29d9c max8925_reg_read +EXPORT_SYMBOL vmlinux 0x85efc7e0 zero_pfn +EXPORT_SYMBOL vmlinux 0x85f72fed dquot_acquire +EXPORT_SYMBOL vmlinux 0x86153da5 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x861d9756 pci_disable_device +EXPORT_SYMBOL vmlinux 0x862c8035 bitmap_alloc_node +EXPORT_SYMBOL vmlinux 0x86363c36 xsk_tx_peek_release_desc_batch +EXPORT_SYMBOL vmlinux 0x86378af8 skb_eth_pop +EXPORT_SYMBOL vmlinux 0x863a276a color_table +EXPORT_SYMBOL vmlinux 0x8651cbce blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x866a62b2 gnet_stats_basic_sync_init +EXPORT_SYMBOL vmlinux 0x86772d12 of_graph_get_remote_node +EXPORT_SYMBOL vmlinux 0x86855013 tty_port_init +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86a076e5 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x86c943b3 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x86ca4ca7 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x86d52ba5 lookup_constant +EXPORT_SYMBOL vmlinux 0x86d7f9f7 udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x86dd708d tc_skb_ext_tc_enable +EXPORT_SYMBOL vmlinux 0x86eebcd6 xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0x86f2c9dc mmc_add_host +EXPORT_SYMBOL vmlinux 0x86f45604 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x86fab808 uart_match_port +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x8711d6c7 register_key_type +EXPORT_SYMBOL vmlinux 0x871778ba __d_drop +EXPORT_SYMBOL vmlinux 0x871bf65f nonseekable_open +EXPORT_SYMBOL vmlinux 0x871f7eea proto_unregister +EXPORT_SYMBOL vmlinux 0x87270444 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x87312fd7 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x8752a1af pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x8761c87b rps_needed +EXPORT_SYMBOL vmlinux 0x87761528 __traceiter_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x879e4014 phy_device_register +EXPORT_SYMBOL vmlinux 0x879e872b fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0x87a21cb3 __ubsan_handle_out_of_bounds +EXPORT_SYMBOL vmlinux 0x87b8798d sg_next +EXPORT_SYMBOL vmlinux 0x87be2d33 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x87c19b59 alloc_pages +EXPORT_SYMBOL vmlinux 0x87ce35d8 iput +EXPORT_SYMBOL vmlinux 0x87d1f206 netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0x87d30bf0 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x87ef26d2 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x87f760d4 mmc_of_parse +EXPORT_SYMBOL vmlinux 0x87fd867a security_inet_conn_established +EXPORT_SYMBOL vmlinux 0x8810754a _find_first_bit +EXPORT_SYMBOL vmlinux 0x8813fc08 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x881bad5e phy_mipi_dphy_config_validate +EXPORT_SYMBOL vmlinux 0x881c4413 gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0x881c73b6 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x881c8864 __traceiter_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x881f0c79 input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0x88245074 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x8859b3d0 udp6_seq_ops +EXPORT_SYMBOL vmlinux 0x88618801 input_setup_polling +EXPORT_SYMBOL vmlinux 0x886b232b phy_read_paged +EXPORT_SYMBOL vmlinux 0x8874ccbf max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x88822d38 unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x8888f1fe xxh32 +EXPORT_SYMBOL vmlinux 0x88908457 __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x889b1370 _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x88db9f48 __check_object_size +EXPORT_SYMBOL vmlinux 0x88e1d0f0 page_frag_free +EXPORT_SYMBOL vmlinux 0x88f41a3a pnp_possible_config +EXPORT_SYMBOL vmlinux 0x88f55dbd cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x8903c689 mdiobus_get_phy +EXPORT_SYMBOL vmlinux 0x890c61cc ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x892dfd76 backlight_device_get_by_type +EXPORT_SYMBOL vmlinux 0x893fdcc4 dev_remove_offload +EXPORT_SYMBOL vmlinux 0x8940d4fd pci_disable_msix +EXPORT_SYMBOL vmlinux 0x89434b4b radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x8946ea72 fpsimd_context_busy +EXPORT_SYMBOL vmlinux 0x897032bf pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x89768a58 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x89789d46 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x89940875 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x89a0cd52 crc32c_impl +EXPORT_SYMBOL vmlinux 0x89afeeb6 __traceiter_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x89b85116 skb_set_owner_w +EXPORT_SYMBOL vmlinux 0x89be6944 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x89c0cdec mmc_request_done +EXPORT_SYMBOL vmlinux 0x89d019d8 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x89d99ee1 __nf_ct_ext_find +EXPORT_SYMBOL vmlinux 0x8a03bdd5 tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0x8a210af3 tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0x8a25a828 xsk_tx_peek_desc +EXPORT_SYMBOL vmlinux 0x8a378c03 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x8a47043d LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0x8a47d717 blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a4fa9eb mdiobus_read_nested +EXPORT_SYMBOL vmlinux 0x8a61ab4d xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x8a64013c generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x8a651089 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x8a69723e __of_get_address +EXPORT_SYMBOL vmlinux 0x8a7094ba vm_brk_flags +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a8489c9 inode_add_bytes +EXPORT_SYMBOL vmlinux 0x8a973008 page_pool_return_skb_page +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aa3540c folio_clear_dirty_for_io +EXPORT_SYMBOL vmlinux 0x8aab2600 iterate_supers_type +EXPORT_SYMBOL vmlinux 0x8ac136ae imx_sc_misc_get_control +EXPORT_SYMBOL vmlinux 0x8ac3334b net_dim_get_def_rx_moderation +EXPORT_SYMBOL vmlinux 0x8ac68056 fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0x8ac743de sg_copy_buffer +EXPORT_SYMBOL vmlinux 0x8ad5210c mdio_driver_register +EXPORT_SYMBOL vmlinux 0x8b0088d1 LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x8b15c56b sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0x8b184510 migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0x8b2ffd83 __cpu_present_mask +EXPORT_SYMBOL vmlinux 0x8b3622b0 mmc_cqe_start_req +EXPORT_SYMBOL vmlinux 0x8b3acdd9 serio_open +EXPORT_SYMBOL vmlinux 0x8b420cf7 phy_connect +EXPORT_SYMBOL vmlinux 0x8b46aa7a folio_add_lru +EXPORT_SYMBOL vmlinux 0x8b5b46e3 pcibus_to_node +EXPORT_SYMBOL vmlinux 0x8b5eac5c fb_find_mode +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b68f943 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x8b8059bd in_group_p +EXPORT_SYMBOL vmlinux 0x8b910be2 errseq_sample +EXPORT_SYMBOL vmlinux 0x8b9200a2 mdio_device_remove +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8ba4dbdb acpi_device_hid +EXPORT_SYMBOL vmlinux 0x8bb3c46c udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x8bbd3aa7 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x8bd3187b fscrypt_ioctl_get_policy +EXPORT_SYMBOL vmlinux 0x8bdfc47c __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x8be11ca7 inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0x8be189ab ucc_slow_disable +EXPORT_SYMBOL vmlinux 0x8bed3ed6 jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x8bf75b1f tcp_seq_stop +EXPORT_SYMBOL vmlinux 0x8c0adceb udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x8c0fda7f dev_uc_init +EXPORT_SYMBOL vmlinux 0x8c1a78c3 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x8c26d495 prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x8c30bf67 zstd_dctx_workspace_bound +EXPORT_SYMBOL vmlinux 0x8c340aed kern_unmount +EXPORT_SYMBOL vmlinux 0x8c57f394 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x8c683fcd posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x8c697f4b pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0x8c6f55c9 input_free_device +EXPORT_SYMBOL vmlinux 0x8c7a3257 gro_cells_init +EXPORT_SYMBOL vmlinux 0x8c7dd148 ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0x8c849f7f single_release +EXPORT_SYMBOL vmlinux 0x8c8569cb kstrtoint +EXPORT_SYMBOL vmlinux 0x8c9e338f acpi_bios_error +EXPORT_SYMBOL vmlinux 0x8ca4518a security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0x8ca4636e vga_get +EXPORT_SYMBOL vmlinux 0x8caf9305 uuid_is_valid +EXPORT_SYMBOL vmlinux 0x8cb883ad md_write_start +EXPORT_SYMBOL vmlinux 0x8cc1392e tcp_filter +EXPORT_SYMBOL vmlinux 0x8cc53d20 __par_io_config_pin +EXPORT_SYMBOL vmlinux 0x8cda8029 xen_clear_irq_pending +EXPORT_SYMBOL vmlinux 0x8cf1555a inet6_getname +EXPORT_SYMBOL vmlinux 0x8d0041ef __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x8d310d95 of_clk_get_by_name +EXPORT_SYMBOL vmlinux 0x8d4112df qcom_scm_mem_protect_video_var +EXPORT_SYMBOL vmlinux 0x8d46c978 dev_get_mac_address +EXPORT_SYMBOL vmlinux 0x8d55bb8a qid_eq +EXPORT_SYMBOL vmlinux 0x8d5e59e0 inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x8d731142 tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0x8d73278e hex_asc_upper +EXPORT_SYMBOL vmlinux 0x8d7b4d5d vme_bus_error_handler +EXPORT_SYMBOL vmlinux 0x8d8f6b11 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x8d9ca0e6 dma_fence_enable_sw_signaling +EXPORT_SYMBOL vmlinux 0x8da2c82f crypto_sha256_update +EXPORT_SYMBOL vmlinux 0x8da6585d __stack_chk_fail +EXPORT_SYMBOL vmlinux 0x8da73ff9 dquot_commit +EXPORT_SYMBOL vmlinux 0x8daedb79 cpumask_any_but +EXPORT_SYMBOL vmlinux 0x8dbb3a8e tcp_splice_read +EXPORT_SYMBOL vmlinux 0x8ddd8aad schedule_timeout +EXPORT_SYMBOL vmlinux 0x8dddf201 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x8deaed27 dev_addr_del +EXPORT_SYMBOL vmlinux 0x8df4afd9 qe_put_snum +EXPORT_SYMBOL vmlinux 0x8df92f66 memchr_inv +EXPORT_SYMBOL vmlinux 0x8df9dd10 guid_null +EXPORT_SYMBOL vmlinux 0x8dfe8243 try_to_release_page +EXPORT_SYMBOL vmlinux 0x8e075ddd of_translate_address +EXPORT_SYMBOL vmlinux 0x8e121920 make_kprojid +EXPORT_SYMBOL vmlinux 0x8e17b3ae idr_destroy +EXPORT_SYMBOL vmlinux 0x8e2007de __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0x8e21c9a1 dma_fence_add_callback +EXPORT_SYMBOL vmlinux 0x8e2b1773 inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0x8e3e0f7d fault_in_readable +EXPORT_SYMBOL vmlinux 0x8e45354a ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0x8e4c60a3 cpm_muram_dma +EXPORT_SYMBOL vmlinux 0x8e4f1eae __filemap_get_folio +EXPORT_SYMBOL vmlinux 0x8e507aff security_task_getsecid_obj +EXPORT_SYMBOL vmlinux 0x8e6e8b87 security_sk_clone +EXPORT_SYMBOL vmlinux 0x8e74e54e kthread_create_worker +EXPORT_SYMBOL vmlinux 0x8e751292 simple_fill_super +EXPORT_SYMBOL vmlinux 0x8e775266 of_graph_get_remote_port +EXPORT_SYMBOL vmlinux 0x8e7b3012 fb_validate_mode +EXPORT_SYMBOL vmlinux 0x8e93bd24 security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x8e9b59f9 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x8ea9f44f rproc_elf_get_boot_addr +EXPORT_SYMBOL vmlinux 0x8eb48d7d vme_register_driver +EXPORT_SYMBOL vmlinux 0x8ebf8e86 pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0x8ec3e90a sg_miter_skip +EXPORT_SYMBOL vmlinux 0x8ee8a7af filemap_range_has_page +EXPORT_SYMBOL vmlinux 0x8ef08d42 generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x8ef2d0ef blk_integrity_register +EXPORT_SYMBOL vmlinux 0x8f01afd6 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x8f042ee2 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x8f39f6ea of_phy_find_device +EXPORT_SYMBOL vmlinux 0x8f3daea4 md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0x8f44031b of_get_next_child +EXPORT_SYMBOL vmlinux 0x8f5ec379 nd_dax_probe +EXPORT_SYMBOL vmlinux 0x8f7a0aef neigh_destroy +EXPORT_SYMBOL vmlinux 0x8f7ff777 __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x8f91f293 tty_register_driver +EXPORT_SYMBOL vmlinux 0x8f996a30 ethtool_convert_legacy_u32_to_link_mode +EXPORT_SYMBOL vmlinux 0x8fa25c24 xa_find +EXPORT_SYMBOL vmlinux 0x8fa26d3a follow_pfn +EXPORT_SYMBOL vmlinux 0x8fa49dee config_group_init_type_name +EXPORT_SYMBOL vmlinux 0x8fb413a7 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x8fbec4a4 tegra_ivc_read_get_next_frame +EXPORT_SYMBOL vmlinux 0x8fc9ea11 fman_port_cfg_buf_prefix_content +EXPORT_SYMBOL vmlinux 0x8fd180e7 kernel_neon_begin +EXPORT_SYMBOL vmlinux 0x8fdb0752 abort_creds +EXPORT_SYMBOL vmlinux 0x8fdb9be8 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x8fecd2e1 dev_printk_emit +EXPORT_SYMBOL vmlinux 0x8ff89ed0 seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x8ffd9bc1 rproc_alloc +EXPORT_SYMBOL vmlinux 0x90006be6 dm_kcopyd_client_flush +EXPORT_SYMBOL vmlinux 0x9000e2f6 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x9002e7e0 mmc_run_bkops +EXPORT_SYMBOL vmlinux 0x9005f1aa tegra_dfll_suspend +EXPORT_SYMBOL vmlinux 0x901412c4 copy_highpage +EXPORT_SYMBOL vmlinux 0x902d8722 vme_slave_get +EXPORT_SYMBOL vmlinux 0x902f5199 cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0x9034a696 mempool_destroy +EXPORT_SYMBOL vmlinux 0x9044907f input_get_timestamp +EXPORT_SYMBOL vmlinux 0x90493652 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x905695ab sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x90576ec4 vmemdup_user +EXPORT_SYMBOL vmlinux 0x907b4c53 posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0x907ea00e set_security_override +EXPORT_SYMBOL vmlinux 0x90adbdc5 mii_check_media +EXPORT_SYMBOL vmlinux 0x90de1172 put_watch_queue +EXPORT_SYMBOL vmlinux 0x90e273e2 cred_fscmp +EXPORT_SYMBOL vmlinux 0x90e43b22 input_get_keycode +EXPORT_SYMBOL vmlinux 0x90ed8632 mipi_dsi_dcs_write +EXPORT_SYMBOL vmlinux 0x90f9551e seq_pad +EXPORT_SYMBOL vmlinux 0x90fa80d8 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x9114b616 __xa_alloc +EXPORT_SYMBOL vmlinux 0x91276152 lock_rename +EXPORT_SYMBOL vmlinux 0x913f8cbe kset_register +EXPORT_SYMBOL vmlinux 0x914fbef5 qman_get_qm_portal_config +EXPORT_SYMBOL vmlinux 0x9166fada strncpy +EXPORT_SYMBOL vmlinux 0x9166fc03 __flush_workqueue +EXPORT_SYMBOL vmlinux 0x916edbf7 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x91836b99 mdio_device_create +EXPORT_SYMBOL vmlinux 0x919c58f3 __clzsi2 +EXPORT_SYMBOL vmlinux 0x91a02b64 adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0x91a488ac __netdev_alloc_frag_align +EXPORT_SYMBOL vmlinux 0x91a7b1da qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x91ac8f28 netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0x91c0980e icst_hz +EXPORT_SYMBOL vmlinux 0x91e93af5 blk_post_runtime_resume +EXPORT_SYMBOL vmlinux 0x91f44510 idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x91f4d6a1 security_locked_down +EXPORT_SYMBOL vmlinux 0x91f68ea1 __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x91fb63d9 param_set_short +EXPORT_SYMBOL vmlinux 0x920a7ca7 blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0x9212f107 dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x92227075 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x922f1565 mipi_dsi_turn_on_peripheral +EXPORT_SYMBOL vmlinux 0x922f45a6 __bitmap_clear +EXPORT_SYMBOL vmlinux 0x9232891e genphy_c37_config_aneg +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x924e3885 posix_lock_file +EXPORT_SYMBOL vmlinux 0x92540fbf finish_wait +EXPORT_SYMBOL vmlinux 0x9258c776 hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x926afe58 mmc_can_trim +EXPORT_SYMBOL vmlinux 0x92774cf8 __kfence_pool +EXPORT_SYMBOL vmlinux 0x927be95b __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x92866302 fman_get_pause_cfg +EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user +EXPORT_SYMBOL vmlinux 0x92997ed8 _printk +EXPORT_SYMBOL vmlinux 0x929b6f7f __ClearPageMovable +EXPORT_SYMBOL vmlinux 0x92b96cdb jbd2_fc_begin_commit +EXPORT_SYMBOL vmlinux 0x92b99a33 acpi_put_table +EXPORT_SYMBOL vmlinux 0x92b9b180 slash_name +EXPORT_SYMBOL vmlinux 0x92c0417e textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x92c711fb setup_new_exec +EXPORT_SYMBOL vmlinux 0x92c9a5bc pci_dev_put +EXPORT_SYMBOL vmlinux 0x92cde70b netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0x92d2eb6f get_tree_keyed +EXPORT_SYMBOL vmlinux 0x92d5838e request_threaded_irq +EXPORT_SYMBOL vmlinux 0x92dc18cc inc_node_page_state +EXPORT_SYMBOL vmlinux 0x92e683f5 down_timeout +EXPORT_SYMBOL vmlinux 0x92ec510d jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL vmlinux 0x93022ba6 __scsi_format_command +EXPORT_SYMBOL vmlinux 0x9305870e serio_interrupt +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x930e1f75 input_reset_device +EXPORT_SYMBOL vmlinux 0x931b154d thermal_cdev_update +EXPORT_SYMBOL vmlinux 0x935da89e ppp_channel_index +EXPORT_SYMBOL vmlinux 0x935eb202 skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0x93601521 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x9363d94a alloc_anon_inode +EXPORT_SYMBOL vmlinux 0x9375d9e8 generic_write_checks_count +EXPORT_SYMBOL vmlinux 0x937733e3 qid_valid +EXPORT_SYMBOL vmlinux 0x937d16d6 dev_change_flags +EXPORT_SYMBOL vmlinux 0x938734fe cdev_del +EXPORT_SYMBOL vmlinux 0x938b3189 set_posix_acl +EXPORT_SYMBOL vmlinux 0x938fc215 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x938fe39c __mmap_lock_do_trace_acquire_returned +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93b3fc74 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x93b4a580 mipi_dsi_generic_write +EXPORT_SYMBOL vmlinux 0x93bf3778 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x93d6dd8c complete_all +EXPORT_SYMBOL vmlinux 0x93e746d7 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x940f47df i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x9427d0ad of_graph_get_port_by_id +EXPORT_SYMBOL vmlinux 0x9428f816 dim_turn +EXPORT_SYMBOL vmlinux 0x944266e5 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x944375db _totalram_pages +EXPORT_SYMBOL vmlinux 0x944a3822 unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0x944a564d is_console_locked +EXPORT_SYMBOL vmlinux 0x946e6685 filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0x946f475c __folio_lock +EXPORT_SYMBOL vmlinux 0x94758ce5 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x9487d3e1 ns_capable +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x949c70ee mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0x94aa16df sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0x94aa673c input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x94bb7ec3 gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0x94bf03ca utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x94c67f14 registered_fb +EXPORT_SYMBOL vmlinux 0x94e0de52 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x94e50ad4 call_fib_notifier +EXPORT_SYMBOL vmlinux 0x94fc8d93 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x950272b6 register_md_personality +EXPORT_SYMBOL vmlinux 0x9507c90f copy_fsxattr_to_user +EXPORT_SYMBOL vmlinux 0x95087097 migrate_vma_pages +EXPORT_SYMBOL vmlinux 0x953d2426 utf8_strncmp +EXPORT_SYMBOL vmlinux 0x953f5569 blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0x954cef6f init_on_alloc +EXPORT_SYMBOL vmlinux 0x954f099c idr_preload +EXPORT_SYMBOL vmlinux 0x9598e4d3 ppp_unit_number +EXPORT_SYMBOL vmlinux 0x95a59ede __block_write_full_page +EXPORT_SYMBOL vmlinux 0x95a67b07 udp_table +EXPORT_SYMBOL vmlinux 0x95b0a6fe fb_blank +EXPORT_SYMBOL vmlinux 0x95b32912 to_nd_pfn +EXPORT_SYMBOL vmlinux 0x95b4b6e7 try_module_get +EXPORT_SYMBOL vmlinux 0x95bd31c7 con_copy_unimap +EXPORT_SYMBOL vmlinux 0x95d011b7 logfc +EXPORT_SYMBOL vmlinux 0x95d4ddc2 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x95e8fd0e ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0x95fa07ee sync_blockdev_range +EXPORT_SYMBOL vmlinux 0x95ffe598 mmc_gpiod_request_cd +EXPORT_SYMBOL vmlinux 0x9606eff9 simple_lookup +EXPORT_SYMBOL vmlinux 0x9630156d vfs_link +EXPORT_SYMBOL vmlinux 0x96784f09 nd_integrity_init +EXPORT_SYMBOL vmlinux 0x96848186 scnprintf +EXPORT_SYMBOL vmlinux 0x9688de8b memstart_addr +EXPORT_SYMBOL vmlinux 0x969b93f1 vme_dma_list_add +EXPORT_SYMBOL vmlinux 0x96b0e8d3 kobject_get +EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96be497e dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0x96c17136 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x96cc6196 devm_devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96d65871 mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0x96e5d30f gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0x96fab350 dim_park_on_top +EXPORT_SYMBOL vmlinux 0x97006e94 kobject_put +EXPORT_SYMBOL vmlinux 0x971364ac sock_sendmsg +EXPORT_SYMBOL vmlinux 0x9721eb1c __sk_dst_check +EXPORT_SYMBOL vmlinux 0x9721f32f flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0x973fa82e register_acpi_notifier +EXPORT_SYMBOL vmlinux 0x97438d0d dma_set_mask +EXPORT_SYMBOL vmlinux 0x97485b2c kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x97689a18 fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x97934ecf del_timer_sync +EXPORT_SYMBOL vmlinux 0x979dcf6f km_query +EXPORT_SYMBOL vmlinux 0x97a1459b genphy_c37_read_status +EXPORT_SYMBOL vmlinux 0x97a57333 crc_t10dif_update +EXPORT_SYMBOL vmlinux 0x97adb487 utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x97bdfa60 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x97c88c6d __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x97cd2ac7 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x97e11753 __ip_dev_find +EXPORT_SYMBOL vmlinux 0x97e2789a commit_creds +EXPORT_SYMBOL vmlinux 0x97e5a211 sock_edemux +EXPORT_SYMBOL vmlinux 0x97ed2212 __tracepoint_spi_transfer_start +EXPORT_SYMBOL vmlinux 0x97f3b38f devfreq_suspend_device +EXPORT_SYMBOL vmlinux 0x98106f9a vfs_statfs +EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x982bcde4 __cpu_dying_mask +EXPORT_SYMBOL vmlinux 0x984f8f0b icmp6_send +EXPORT_SYMBOL vmlinux 0x9879a2e8 vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0x988e8655 tcp_time_wait +EXPORT_SYMBOL vmlinux 0x98973f9f dev_uc_flush +EXPORT_SYMBOL vmlinux 0x98b1513d proc_create_mount_point +EXPORT_SYMBOL vmlinux 0x98c039dc dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0x98c5f421 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x98c89ade security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x98ce7a7f blk_pm_runtime_init +EXPORT_SYMBOL vmlinux 0x98cf60b3 strlen +EXPORT_SYMBOL vmlinux 0x98cf9dcf set_nlink +EXPORT_SYMBOL vmlinux 0x98d0aeec xen_free_unpopulated_pages +EXPORT_SYMBOL vmlinux 0x98da0915 dump_skip +EXPORT_SYMBOL vmlinux 0x98e28b22 ip_frag_next +EXPORT_SYMBOL vmlinux 0x98e508ef ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x99078b39 trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x99094fb2 qcom_scm_is_available +EXPORT_SYMBOL vmlinux 0x9915ed50 __kfree_skb +EXPORT_SYMBOL vmlinux 0x991b3c15 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x9921e8f0 register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x9924ebdc seq_read_iter +EXPORT_SYMBOL vmlinux 0x9931f8c9 qcom_scm_lmh_dcvsh_available +EXPORT_SYMBOL vmlinux 0x9939eba0 backlight_unregister_notifier +EXPORT_SYMBOL vmlinux 0x993fae4b inet_release +EXPORT_SYMBOL vmlinux 0x9948572e vm_insert_pages +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x995d5208 inode_init_always +EXPORT_SYMBOL vmlinux 0x9975dc22 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x99809c92 eth_header_parse +EXPORT_SYMBOL vmlinux 0x99810203 dst_destroy +EXPORT_SYMBOL vmlinux 0x998548ba __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x99956567 devm_extcon_unregister_notifier_all +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99ae2112 tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0x99af06d9 pnp_activate_dev +EXPORT_SYMBOL vmlinux 0x99d2df3d unregister_filesystem +EXPORT_SYMBOL vmlinux 0x99d472b1 net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x99daa9bf try_offline_node +EXPORT_SYMBOL vmlinux 0x99ddc0b3 fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0x99f7371c refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x99f9638f __napi_alloc_frag_align +EXPORT_SYMBOL vmlinux 0x9a0c3a18 vme_unregister_error_handler +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a22391e radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x9a2cc823 xfrm_input +EXPORT_SYMBOL vmlinux 0x9a3bd56f inet_put_port +EXPORT_SYMBOL vmlinux 0x9a4d0a52 scsi_host_get +EXPORT_SYMBOL vmlinux 0x9a583306 netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x9a628c21 blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0x9a68e987 pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x9a77d101 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x9aa824c7 insert_inode_locked +EXPORT_SYMBOL vmlinux 0x9aaeefce sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x9ab53cd2 pnp_stop_dev +EXPORT_SYMBOL vmlinux 0x9ac57de6 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x9ac73a32 softnet_data +EXPORT_SYMBOL vmlinux 0x9acc17e1 mdiobus_is_registered_device +EXPORT_SYMBOL vmlinux 0x9ad753d6 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x9ae47436 _find_last_bit +EXPORT_SYMBOL vmlinux 0x9af6d47f netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0x9b128a66 qcom_scm_set_remote_state +EXPORT_SYMBOL vmlinux 0x9b173598 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL vmlinux 0x9b33e0d7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x9b3d6956 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x9b411ada dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x9b496b21 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x9b4c518b ptp_find_pin_unlocked +EXPORT_SYMBOL vmlinux 0x9b53ec29 tcp_inbound_md5_hash +EXPORT_SYMBOL vmlinux 0x9b5d1ad9 netlink_net_capable +EXPORT_SYMBOL vmlinux 0x9b60e142 blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x9b6c724e xudma_pktdma_tflow_get_irq +EXPORT_SYMBOL vmlinux 0x9b72478f acpi_unload_parent_table +EXPORT_SYMBOL vmlinux 0x9b7345fc bio_split +EXPORT_SYMBOL vmlinux 0x9ba41001 sync_filesystem +EXPORT_SYMBOL vmlinux 0x9bd9b3bc dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0x9befa352 sock_efree +EXPORT_SYMBOL vmlinux 0x9c001afb ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0x9c122bcf mempool_create_node +EXPORT_SYMBOL vmlinux 0x9c1a6a74 ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0x9c1b757d ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x9c1da251 get_fs_type +EXPORT_SYMBOL vmlinux 0x9c1e5bf5 queued_spin_lock_slowpath +EXPORT_SYMBOL vmlinux 0x9c425304 __bforget +EXPORT_SYMBOL vmlinux 0x9c56dfd4 skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0x9c5a2ada ucc_fast_dump_regs +EXPORT_SYMBOL vmlinux 0x9c5d5b94 crc8 +EXPORT_SYMBOL vmlinux 0x9c656fc9 netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0x9c7150a0 of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x9c73c573 qdisc_hash_add +EXPORT_SYMBOL vmlinux 0x9c86b9ab fileattr_fill_flags +EXPORT_SYMBOL vmlinux 0x9c879f2e dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0x9c96bd5f iunique +EXPORT_SYMBOL vmlinux 0x9c97de16 param_array_ops +EXPORT_SYMBOL vmlinux 0x9ca24a7b pci_alloc_dev +EXPORT_SYMBOL vmlinux 0x9cab34a6 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x9cbea089 vme_lm_request +EXPORT_SYMBOL vmlinux 0x9ccecc86 __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0x9ccf7171 vme_dma_pci_attribute +EXPORT_SYMBOL vmlinux 0x9cd91791 register_sysctl +EXPORT_SYMBOL vmlinux 0x9cdfb3f7 sysctl_fb_tunnels_only_for_init_net +EXPORT_SYMBOL vmlinux 0x9ce145e0 mii_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x9ce5487d generic_fill_statx_attr +EXPORT_SYMBOL vmlinux 0x9d010180 rproc_shutdown +EXPORT_SYMBOL vmlinux 0x9d013b6c tty_write_room +EXPORT_SYMBOL vmlinux 0x9d0d6206 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x9d1a5e3a __memcpy +EXPORT_SYMBOL vmlinux 0x9d20080f __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x9d26675e zstd_cstream_workspace_bound +EXPORT_SYMBOL vmlinux 0x9d2ab8ac __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x9d2b0bb8 param_ops_hexint +EXPORT_SYMBOL vmlinux 0x9d2e7707 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9d31e4a0 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x9d3f0347 get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x9d405b91 skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0x9d61e994 ucs2_strncmp +EXPORT_SYMBOL vmlinux 0x9d6837c9 dst_alloc +EXPORT_SYMBOL vmlinux 0x9d69bea3 i2c_transfer_buffer_flags +EXPORT_SYMBOL vmlinux 0x9d7ad0c8 __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x9d85ae3b copy_page_from_iter +EXPORT_SYMBOL vmlinux 0x9d92f3ad __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x9da46753 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x9dae5b33 of_parse_phandle_with_args_map +EXPORT_SYMBOL vmlinux 0x9dae8192 fault_in_iov_iter_readable +EXPORT_SYMBOL vmlinux 0x9dc3a3ee migrate_vma_finalize +EXPORT_SYMBOL vmlinux 0x9dd2e948 hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0x9de0e34a ip_options_compile +EXPORT_SYMBOL vmlinux 0x9de341bf register_console +EXPORT_SYMBOL vmlinux 0x9dea91ac devm_kvasprintf +EXPORT_SYMBOL vmlinux 0x9deae566 udp_disconnect +EXPORT_SYMBOL vmlinux 0x9df21d0e qman_affine_channel +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0fa5ae hsiphash_3u32 +EXPORT_SYMBOL vmlinux 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL vmlinux 0x9e1f5b40 tty_port_close +EXPORT_SYMBOL vmlinux 0x9e2737f0 acpi_install_interface_handler +EXPORT_SYMBOL vmlinux 0x9e38558c skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0x9e3d6bac neigh_table_init +EXPORT_SYMBOL vmlinux 0x9e45abf6 md_write_inc +EXPORT_SYMBOL vmlinux 0x9e4ecec7 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e5e750d node_to_cpumask_map +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e71aa68 __inet_stream_connect +EXPORT_SYMBOL vmlinux 0x9e7656e8 xp_alloc_batch +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e7f3b06 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x9e8b7fe6 __register_binfmt +EXPORT_SYMBOL vmlinux 0x9e98f49c __nlmsg_put +EXPORT_SYMBOL vmlinux 0x9e9eab95 devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x9e9fdd9d memunmap +EXPORT_SYMBOL vmlinux 0x9eacf8a5 kstrndup +EXPORT_SYMBOL vmlinux 0x9eb187fa xudma_pktdma_rflow_get_irq +EXPORT_SYMBOL vmlinux 0x9ec0e639 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0x9ec6ca96 ktime_get_real_ts64 +EXPORT_SYMBOL vmlinux 0x9ed7c847 brcmstb_get_family_id +EXPORT_SYMBOL vmlinux 0x9ed8cd5d dev_close +EXPORT_SYMBOL vmlinux 0x9ed978de vme_lm_set +EXPORT_SYMBOL vmlinux 0x9ef3e900 pci_read_config_word +EXPORT_SYMBOL vmlinux 0x9f2483ec phy_support_sym_pause +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f4f2aa3 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0x9f50b770 keyring_restrict +EXPORT_SYMBOL vmlinux 0x9f54ead7 gro_cells_destroy +EXPORT_SYMBOL vmlinux 0x9f6e322a msm_pinctrl_probe +EXPORT_SYMBOL vmlinux 0x9f79fad4 jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0x9f7d7dbb logic_outsw +EXPORT_SYMBOL vmlinux 0x9f800c22 pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0x9f8991ac tcp_shutdown +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa28f76 dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0x9fa4c2d9 input_register_handler +EXPORT_SYMBOL vmlinux 0x9fa7184a cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x9fb41842 netdev_offload_xstats_report_delta +EXPORT_SYMBOL vmlinux 0x9fb82094 migrate_page +EXPORT_SYMBOL vmlinux 0x9fb8a220 irq_set_chip +EXPORT_SYMBOL vmlinux 0x9fcba14f jbd2_wait_inode_data +EXPORT_SYMBOL vmlinux 0x9fdaee90 of_get_child_by_name +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9feed7ce timer_reduce +EXPORT_SYMBOL vmlinux 0x9fefaf44 notify_change +EXPORT_SYMBOL vmlinux 0x9ffa3a75 netdev_max_backlog +EXPORT_SYMBOL vmlinux 0xa00aca2a dql_completed +EXPORT_SYMBOL vmlinux 0xa01d3df6 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0xa01e4f3b ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0xa022c739 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0xa02aa74a __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xa033d747 next_arg +EXPORT_SYMBOL vmlinux 0xa0351ff9 netif_napi_add_weight +EXPORT_SYMBOL vmlinux 0xa03da70f nd_dev_to_uuid +EXPORT_SYMBOL vmlinux 0xa0436e98 in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0xa04854ed fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0xa04e33da qcom_scm_lmh_dcvsh +EXPORT_SYMBOL vmlinux 0xa04f1276 generic_copy_file_range +EXPORT_SYMBOL vmlinux 0xa057df8f twl_set_regcache_bypass +EXPORT_SYMBOL vmlinux 0xa05b6be2 psched_ppscfg_precompute +EXPORT_SYMBOL vmlinux 0xa063fc2c iget5_locked +EXPORT_SYMBOL vmlinux 0xa06509d6 scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr +EXPORT_SYMBOL vmlinux 0xa07d1b3c tasklet_setup +EXPORT_SYMBOL vmlinux 0xa084749a __bitmap_or +EXPORT_SYMBOL vmlinux 0xa095e02e generic_check_addressable +EXPORT_SYMBOL vmlinux 0xa0aa027a vme_master_mmap +EXPORT_SYMBOL vmlinux 0xa0ae1e73 siphash_3u64 +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0d87339 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xa0dad88e netdev_adjacent_get_private +EXPORT_SYMBOL vmlinux 0xa0eae826 smp_call_function +EXPORT_SYMBOL vmlinux 0xa0ebd14c sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xa0ebd437 hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa1083ee9 gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa10ed2df tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xa113edeb dentry_path_raw +EXPORT_SYMBOL vmlinux 0xa126a9f3 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xa1347997 vga_put +EXPORT_SYMBOL vmlinux 0xa14aa9f0 seq_printf +EXPORT_SYMBOL vmlinux 0xa15d70d2 nvdimm_check_and_set_ro +EXPORT_SYMBOL vmlinux 0xa1662c87 pci_write_config_word +EXPORT_SYMBOL vmlinux 0xa1807f98 bdev_check_media_change +EXPORT_SYMBOL vmlinux 0xa1a41b40 fs_param_is_bool +EXPORT_SYMBOL vmlinux 0xa1b43741 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0xa1c4bd2b flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0xa1c7267e rproc_add_subdev +EXPORT_SYMBOL vmlinux 0xa1d505eb skb_queue_tail +EXPORT_SYMBOL vmlinux 0xa1e6b3c8 kobject_add +EXPORT_SYMBOL vmlinux 0xa1f47fec nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0xa2060911 inet_current_timestamp +EXPORT_SYMBOL vmlinux 0xa20cac2a xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0xa216700f vme_dma_list_exec +EXPORT_SYMBOL vmlinux 0xa21c10a4 eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0xa2326c49 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0xa235764c dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0xa23ffc04 groups_sort +EXPORT_SYMBOL vmlinux 0xa24f23d8 __request_module +EXPORT_SYMBOL vmlinux 0xa263892b fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0xa2660e90 __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xa268b987 __brelse +EXPORT_SYMBOL vmlinux 0xa283f47f ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0xa28cfcc0 gen_estimator_active +EXPORT_SYMBOL vmlinux 0xa2af85eb md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0xa2ce4477 __netif_napi_del +EXPORT_SYMBOL vmlinux 0xa2cf3649 qman_fq_fqid +EXPORT_SYMBOL vmlinux 0xa2d4b75e qcom_scm_iommu_set_cp_pool_size +EXPORT_SYMBOL vmlinux 0xa2d7ec8d __SCK__tp_func_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xa2f5d8f7 fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0xa3224d88 blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0xa339e6e5 on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0xa3406a9d input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0xa3518cbc set_user_nice +EXPORT_SYMBOL vmlinux 0xa3522df5 qman_query_fq_np +EXPORT_SYMBOL vmlinux 0xa3543580 of_node_put +EXPORT_SYMBOL vmlinux 0xa356763c jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xa3661f3d __traceiter_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0xa37795a7 jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0xa37f769e nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0xa38c9219 dma_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0xa392b7d2 fs_param_is_enum +EXPORT_SYMBOL vmlinux 0xa3a3f229 cpumask_next_and +EXPORT_SYMBOL vmlinux 0xa3aec557 scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0xa3b1d58a netdev_notify_peers +EXPORT_SYMBOL vmlinux 0xa3be8342 __ubsan_handle_type_mismatch +EXPORT_SYMBOL vmlinux 0xa3c8dc81 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0xa3cefaa0 blake2s_update +EXPORT_SYMBOL vmlinux 0xa3e1f389 scsi_remove_device +EXPORT_SYMBOL vmlinux 0xa3f53167 console_start +EXPORT_SYMBOL vmlinux 0xa3fea172 sha224_final +EXPORT_SYMBOL vmlinux 0xa40067da pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0xa40ea1e4 device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0xa40ff01b acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xa448c653 qcom_scm_ice_set_key +EXPORT_SYMBOL vmlinux 0xa44e31e3 __inode_add_bytes +EXPORT_SYMBOL vmlinux 0xa4619440 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0xa46305fc kernel_getsockname +EXPORT_SYMBOL vmlinux 0xa4685b07 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0xa47088c3 pci_iomap_range +EXPORT_SYMBOL vmlinux 0xa47a31c8 security_binder_transaction +EXPORT_SYMBOL vmlinux 0xa48b93b3 ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0xa498dfa8 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0xa4a54e1a tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0xa4af44f2 jbd2_journal_submit_inode_data_buffers +EXPORT_SYMBOL vmlinux 0xa4c0b342 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xa4f8d8c4 page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0xa4fca045 qcom_scm_ocmem_lock +EXPORT_SYMBOL vmlinux 0xa4fe7e19 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0xa50a3da7 _find_next_bit +EXPORT_SYMBOL vmlinux 0xa517acc8 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0xa522c4ce phy_device_create +EXPORT_SYMBOL vmlinux 0xa52bedf6 xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0xa52cf31d noop_qdisc +EXPORT_SYMBOL vmlinux 0xa5449c3c ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0xa5526619 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa5569d97 xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0xa556e571 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xa5596ae5 mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0xa55be57a pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xa57e8d8b input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0xa58a02db dm_register_target +EXPORT_SYMBOL vmlinux 0xa58a2be1 scsi_target_resume +EXPORT_SYMBOL vmlinux 0xa5976e4f dev_base_lock +EXPORT_SYMBOL vmlinux 0xa59d7bdc __phy_resume +EXPORT_SYMBOL vmlinux 0xa5a7e9a5 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0xa5b2491d phy_validate_pause +EXPORT_SYMBOL vmlinux 0xa5bce91f filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xa5c162c3 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0xa5c4659c pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0xa5d6fad0 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xa5db9ee5 __module_get +EXPORT_SYMBOL vmlinux 0xa5e435f4 udp_poll +EXPORT_SYMBOL vmlinux 0xa5ed9a09 mipi_dsi_dcs_get_display_brightness +EXPORT_SYMBOL vmlinux 0xa5f7cf37 __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xa5fe5316 trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0xa61311f2 finish_no_open +EXPORT_SYMBOL vmlinux 0xa61ced89 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0xa61f4013 remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0xa6257a2f complete +EXPORT_SYMBOL vmlinux 0xa62b73ab get_user_pages_remote +EXPORT_SYMBOL vmlinux 0xa62cfa25 mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xa632c84a pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0xa63a3a65 netif_rx +EXPORT_SYMBOL vmlinux 0xa648e561 __ubsan_handle_shift_out_of_bounds +EXPORT_SYMBOL vmlinux 0xa64c7249 __printk_cpu_sync_try_get +EXPORT_SYMBOL vmlinux 0xa671ae76 skb_trim +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa697757a __devm_request_region +EXPORT_SYMBOL vmlinux 0xa69a7445 inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0xa69e5cc5 add_watch_to_object +EXPORT_SYMBOL vmlinux 0xa6ba051b max8925_bulk_write +EXPORT_SYMBOL vmlinux 0xa6d22805 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0xa6d9f2b6 netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0xa6db8de1 sock_set_reuseport +EXPORT_SYMBOL vmlinux 0xa6e1c6b1 pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0xa6e97fe7 sget_fc +EXPORT_SYMBOL vmlinux 0xa70bc96d qcom_scm_restore_sec_cfg_available +EXPORT_SYMBOL vmlinux 0xa71a1611 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xa71acc92 fman_port_config +EXPORT_SYMBOL vmlinux 0xa71f0b8d inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xa72035f9 xa_get_order +EXPORT_SYMBOL vmlinux 0xa720c9f9 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0xa74c2f23 __getblk_gfp +EXPORT_SYMBOL vmlinux 0xa74c9877 refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0xa77448be xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0xa775246b _dev_notice +EXPORT_SYMBOL vmlinux 0xa77bfd29 register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0xa79142d9 skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0xa79a94b9 address_space_init_once +EXPORT_SYMBOL vmlinux 0xa7abf68c register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0xa7b54874 __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0xa7d5f92e ida_destroy +EXPORT_SYMBOL vmlinux 0xa7dd536e udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0xa7e5f1b5 tty_lock +EXPORT_SYMBOL vmlinux 0xa7e9f6c4 tegra_ivc_notified +EXPORT_SYMBOL vmlinux 0xa7eedcc4 call_usermodehelper +EXPORT_SYMBOL vmlinux 0xa8181adf proc_dointvec +EXPORT_SYMBOL vmlinux 0xa843805a get_unused_fd_flags +EXPORT_SYMBOL vmlinux 0xa84ce9e0 crypto_aes_inv_sbox +EXPORT_SYMBOL vmlinux 0xa84f65b4 may_umount +EXPORT_SYMBOL vmlinux 0xa853396b xa_extract +EXPORT_SYMBOL vmlinux 0xa85a3e6d xa_load +EXPORT_SYMBOL vmlinux 0xa85c17b8 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xa8694ecd kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xa88ae106 t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0xa88de3d7 generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0xa897e3e7 mempool_free +EXPORT_SYMBOL vmlinux 0xa89a1cf1 ipmi_dmi_get_slave_addr +EXPORT_SYMBOL vmlinux 0xa89bddf7 flow_rule_match_meta +EXPORT_SYMBOL vmlinux 0xa8a1478a __netlink_dump_start +EXPORT_SYMBOL vmlinux 0xa8a8110c kernel_neon_end +EXPORT_SYMBOL vmlinux 0xa8add110 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0xa8b10348 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0xa8b5caf5 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xa8bfc6ba request_key_rcu +EXPORT_SYMBOL vmlinux 0xa8caa845 clk_bulk_put_all +EXPORT_SYMBOL vmlinux 0xa8d8bcf8 devfreq_monitor_resume +EXPORT_SYMBOL vmlinux 0xa8d9e011 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0xa8e6933a qdf2400_e44_present +EXPORT_SYMBOL vmlinux 0xa8eb6b0d _copy_from_iter +EXPORT_SYMBOL vmlinux 0xa8f07d9b phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0xa8f6c843 ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0xa8fbcc23 tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0xa906c177 __nla_put_64bit +EXPORT_SYMBOL vmlinux 0xa90ca0de flush_rcu_work +EXPORT_SYMBOL vmlinux 0xa90f3130 vfs_iter_read +EXPORT_SYMBOL vmlinux 0xa916b694 strnlen +EXPORT_SYMBOL vmlinux 0xa924b4aa __traceiter_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0xa9307e9b tcp_read_sock +EXPORT_SYMBOL vmlinux 0xa9383ea9 __phy_read_mmd +EXPORT_SYMBOL vmlinux 0xa93d038f inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0xa941f5cf unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0xa94840a6 bio_uninit +EXPORT_SYMBOL vmlinux 0xa94a09bb mem_section +EXPORT_SYMBOL vmlinux 0xa959f528 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0xa9647c4b netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0xa965ca81 reciprocal_value +EXPORT_SYMBOL vmlinux 0xa972cc51 start_tty +EXPORT_SYMBOL vmlinux 0xa976957d bitmap_remap +EXPORT_SYMBOL vmlinux 0xa99a638f netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0xa9a2e43e pci_iounmap +EXPORT_SYMBOL vmlinux 0xa9dbf9da jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0xa9e83f5b io_uring_get_socket +EXPORT_SYMBOL vmlinux 0xa9ed62d2 tegra_fuse_readl +EXPORT_SYMBOL vmlinux 0xa9f1d2bc scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0xa9f756a4 shmem_aops +EXPORT_SYMBOL vmlinux 0xa9f9aebe user_path_at_empty +EXPORT_SYMBOL vmlinux 0xaa00fdc0 ec_transaction +EXPORT_SYMBOL vmlinux 0xaa0c318b vscnprintf +EXPORT_SYMBOL vmlinux 0xaa19e4aa _kstrtol +EXPORT_SYMBOL vmlinux 0xaa1c1194 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xaa1c55bf md_error +EXPORT_SYMBOL vmlinux 0xaa2c29ee page_pool_update_nid +EXPORT_SYMBOL vmlinux 0xaa341905 acpi_bios_exception +EXPORT_SYMBOL vmlinux 0xaa4dacce folio_wait_private_2 +EXPORT_SYMBOL vmlinux 0xaa542172 __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xaa6f23ad rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0xaa8106bc crc8_populate_msb +EXPORT_SYMBOL vmlinux 0xaa8b406a set_binfmt +EXPORT_SYMBOL vmlinux 0xaa977338 __mdiobus_register +EXPORT_SYMBOL vmlinux 0xaaa2edde mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0xaaa4b9bc hchacha_block_generic +EXPORT_SYMBOL vmlinux 0xaaa50fb2 qcom_scm_lmh_profile_change +EXPORT_SYMBOL vmlinux 0xaaaa50a9 __inet_hash +EXPORT_SYMBOL vmlinux 0xaabe7781 simple_rename +EXPORT_SYMBOL vmlinux 0xaad0ae78 __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaad8c7d6 default_wake_function +EXPORT_SYMBOL vmlinux 0xaae1ec82 no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0xaae6ceaa tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaaf2f4e7 ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0xaaf4a334 qcom_scm_set_cold_boot_addr +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab3697e4 irq_poll_init +EXPORT_SYMBOL vmlinux 0xab3b75ea vme_dma_pattern_attribute +EXPORT_SYMBOL vmlinux 0xab4285cf in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xab5ab3ac pin_user_pages +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab6006fa __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xab63baa5 unregister_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xab67a0ac dql_init +EXPORT_SYMBOL vmlinux 0xab6d5b3b hex_to_bin +EXPORT_SYMBOL vmlinux 0xab700f3d scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0xab781570 fb_get_options +EXPORT_SYMBOL vmlinux 0xab836f2d devm_devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0xabe9932b phy_loopback +EXPORT_SYMBOL vmlinux 0xabf32f29 utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0xac073367 block_write_end +EXPORT_SYMBOL vmlinux 0xac134b54 fman_get_qman_channel_id +EXPORT_SYMBOL vmlinux 0xac1834c9 tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0xac1a55be unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0xac1aed69 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xac1bd8b1 mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0xac3201b0 udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0xac537ac2 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0xac5fcec0 in4_pton +EXPORT_SYMBOL vmlinux 0xac665c0e skb_dump +EXPORT_SYMBOL vmlinux 0xac6e7c98 ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0xac8c2f6c elv_rb_find +EXPORT_SYMBOL vmlinux 0xaca1d8eb i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xacaa4c72 dma_fence_match_context +EXPORT_SYMBOL vmlinux 0xacab29b7 seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0xacab9e1f twl6040_set_pll +EXPORT_SYMBOL vmlinux 0xacd81eb3 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xacddd806 ptp_get_vclocks_index +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf649bf audit_log_task_info +EXPORT_SYMBOL vmlinux 0xacff7c8c tegra_ivc_read_advance +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad128dc1 __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0xad2779b8 dev_disable_lro +EXPORT_SYMBOL vmlinux 0xad357133 __traceiter_kmalloc_node +EXPORT_SYMBOL vmlinux 0xad3ea04c qman_p_irqsource_remove +EXPORT_SYMBOL vmlinux 0xad50a2b1 dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0xad61b304 tcf_classify +EXPORT_SYMBOL vmlinux 0xad648ca5 bd_abort_claiming +EXPORT_SYMBOL vmlinux 0xad682b8f xudma_rchanrt_write +EXPORT_SYMBOL vmlinux 0xad6ba40e radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0xad6e4fdd devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0xad73041f autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xad743b36 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xad7ad0b5 dquot_release +EXPORT_SYMBOL vmlinux 0xad7dc15d load_nls_default +EXPORT_SYMBOL vmlinux 0xad9901ae bit_waitqueue +EXPORT_SYMBOL vmlinux 0xad9d7076 zero_fill_bio +EXPORT_SYMBOL vmlinux 0xada16e9a __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0xada31e57 gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0xadae6df8 blake2s_final +EXPORT_SYMBOL vmlinux 0xadbeed61 mipi_dsi_packet_format_is_long +EXPORT_SYMBOL vmlinux 0xadbef496 tcp_ioctl +EXPORT_SYMBOL vmlinux 0xadd139d4 rfs_needed +EXPORT_SYMBOL vmlinux 0xade5f1ab genphy_check_and_restart_aneg +EXPORT_SYMBOL vmlinux 0xadf60166 serio_rescan +EXPORT_SYMBOL vmlinux 0xadfdfcef __bitmap_andnot +EXPORT_SYMBOL vmlinux 0xae04012c __vmalloc +EXPORT_SYMBOL vmlinux 0xae087081 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0xae20502f rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0xae316c11 icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0xae33c403 xudma_navss_psil_unpair +EXPORT_SYMBOL vmlinux 0xae4f1004 set_bh_page +EXPORT_SYMBOL vmlinux 0xae530b04 key_move +EXPORT_SYMBOL vmlinux 0xae5a04bb acpi_evaluate_dsm +EXPORT_SYMBOL vmlinux 0xae6f9587 vga_client_register +EXPORT_SYMBOL vmlinux 0xae92d6c3 filemap_fault +EXPORT_SYMBOL vmlinux 0xae98d752 blackhole_netdev +EXPORT_SYMBOL vmlinux 0xaea5b26b __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xaeac049a generate_random_guid +EXPORT_SYMBOL vmlinux 0xaebd12f0 acpi_get_name +EXPORT_SYMBOL vmlinux 0xaebf90b3 configfs_register_group +EXPORT_SYMBOL vmlinux 0xaeca8967 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xaece4fa4 inet_sk_set_state +EXPORT_SYMBOL vmlinux 0xaed01785 dev_remove_pack +EXPORT_SYMBOL vmlinux 0xaede7622 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0xaee005cf ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0xaeeefa22 seq_read +EXPORT_SYMBOL vmlinux 0xaef36bdb phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0xaf082c8f mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0xaf185ba7 netif_tx_lock +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf56600a arm64_use_ng_mappings +EXPORT_SYMBOL vmlinux 0xaf86a592 param_get_charp +EXPORT_SYMBOL vmlinux 0xafb631ae dev_alloc_name +EXPORT_SYMBOL vmlinux 0xafb864c1 refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0xafc08054 dotdot_name +EXPORT_SYMBOL vmlinux 0xafc6c68e zstd_is_error +EXPORT_SYMBOL vmlinux 0xafd42f00 iov_iter_pipe +EXPORT_SYMBOL vmlinux 0xaff71ce5 ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0xb015a8a5 mmc_erase +EXPORT_SYMBOL vmlinux 0xb0162009 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0xb01b5ecf pcie_ptm_enabled +EXPORT_SYMBOL vmlinux 0xb01bebf9 xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xb03cf39d is_nd_pfn +EXPORT_SYMBOL vmlinux 0xb04824cd of_find_node_opts_by_path +EXPORT_SYMBOL vmlinux 0xb04a43ad __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0xb0502057 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb07a8ada arp_tbl +EXPORT_SYMBOL vmlinux 0xb0925ef1 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xb097deb9 vfs_mknod +EXPORT_SYMBOL vmlinux 0xb0a0da0c rational_best_approximation +EXPORT_SYMBOL vmlinux 0xb0a6f298 devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0xb0c5e247 lockref_put_return +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0e73c1e nf_reinject +EXPORT_SYMBOL vmlinux 0xb0fbc3cf tso_start +EXPORT_SYMBOL vmlinux 0xb10460fb mmc_cqe_request_done +EXPORT_SYMBOL vmlinux 0xb109f59a zpool_register_driver +EXPORT_SYMBOL vmlinux 0xb10e7df4 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0xb115a3a2 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb125e48a config_item_set_name +EXPORT_SYMBOL vmlinux 0xb12cbacb fb_unregister_client +EXPORT_SYMBOL vmlinux 0xb14a9dfb close_fd_get_file +EXPORT_SYMBOL vmlinux 0xb14ab1ef hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0xb14fc46a find_next_clump8 +EXPORT_SYMBOL vmlinux 0xb15b4109 crc32c +EXPORT_SYMBOL vmlinux 0xb163ba0c tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0xb165c690 cfb_copyarea +EXPORT_SYMBOL vmlinux 0xb166292c mii_nway_restart +EXPORT_SYMBOL vmlinux 0xb17461bb pci_rebar_get_possible_sizes +EXPORT_SYMBOL vmlinux 0xb17f72cc rproc_vq_interrupt +EXPORT_SYMBOL vmlinux 0xb18e30f0 phy_support_asym_pause +EXPORT_SYMBOL vmlinux 0xb1988604 d_invalidate +EXPORT_SYMBOL vmlinux 0xb19cd5aa pci_set_mwi +EXPORT_SYMBOL vmlinux 0xb19f555f default_llseek +EXPORT_SYMBOL vmlinux 0xb19fb53a serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0xb1aeb5e0 blk_start_plug +EXPORT_SYMBOL vmlinux 0xb1b340ab csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1db9a69 fsl_ifc_find +EXPORT_SYMBOL vmlinux 0xb1ddf995 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xb1e5a22d sock_no_listen +EXPORT_SYMBOL vmlinux 0xb1efe032 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0xb1f39a41 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0xb1feda10 dm_table_get_size +EXPORT_SYMBOL vmlinux 0xb22e16d5 radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0xb23027c1 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xb24b8edd skb_push +EXPORT_SYMBOL vmlinux 0xb25496fa blk_pre_runtime_suspend +EXPORT_SYMBOL vmlinux 0xb26bf5ef rproc_detach +EXPORT_SYMBOL vmlinux 0xb26c0015 __inc_node_page_state +EXPORT_SYMBOL vmlinux 0xb27700b6 nf_log_packet +EXPORT_SYMBOL vmlinux 0xb286d80d rproc_add_carveout +EXPORT_SYMBOL vmlinux 0xb2b344e1 ip6_frag_init +EXPORT_SYMBOL vmlinux 0xb2bcb088 acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0xb2bf897f bpf_map_get +EXPORT_SYMBOL vmlinux 0xb2ead97c kimage_vaddr +EXPORT_SYMBOL vmlinux 0xb2f35c6a xxh64 +EXPORT_SYMBOL vmlinux 0xb2fcb56d queue_delayed_work_on +EXPORT_SYMBOL vmlinux 0xb308c97d wait_woken +EXPORT_SYMBOL vmlinux 0xb30b9822 vme_master_set +EXPORT_SYMBOL vmlinux 0xb320cc0e sg_init_one +EXPORT_SYMBOL vmlinux 0xb3258f79 __ubsan_handle_type_mismatch_v1 +EXPORT_SYMBOL vmlinux 0xb32728bb qcom_scm_iommu_secure_ptbl_init +EXPORT_SYMBOL vmlinux 0xb32dbdc1 dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0xb34c2436 register_quota_format +EXPORT_SYMBOL vmlinux 0xb34dca1c kryo_l2_get_indirect_reg +EXPORT_SYMBOL vmlinux 0xb34ecaf8 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0xb3526451 qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0xb3687850 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xb36caecc eth_header +EXPORT_SYMBOL vmlinux 0xb36d1cd9 ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0xb390f470 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0xb3a0ffe7 __dquot_free_space +EXPORT_SYMBOL vmlinux 0xb3a82019 profile_pc +EXPORT_SYMBOL vmlinux 0xb3ad282e pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0xb3be0b56 mount_subtree +EXPORT_SYMBOL vmlinux 0xb3d2c76d scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0xb3de3104 of_get_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0xb3f0de55 xz_dec_microlzma_run +EXPORT_SYMBOL vmlinux 0xb3f49446 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xb3f548ad kmemdup_nul +EXPORT_SYMBOL vmlinux 0xb3f7646e kthread_should_stop +EXPORT_SYMBOL vmlinux 0xb40072c3 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0xb400a3a9 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xb4043948 acpi_execute_simple_method +EXPORT_SYMBOL vmlinux 0xb40ad125 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0xb41aeb27 seq_vprintf +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb4313408 console_stop +EXPORT_SYMBOL vmlinux 0xb438f71b pm860x_reg_read +EXPORT_SYMBOL vmlinux 0xb44b316c xsk_tx_completed +EXPORT_SYMBOL vmlinux 0xb44cdc70 path_is_mountpoint +EXPORT_SYMBOL vmlinux 0xb4577003 acpi_dev_present +EXPORT_SYMBOL vmlinux 0xb45b01cf tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xb4626f7e vlan_uses_dev +EXPORT_SYMBOL vmlinux 0xb4863724 skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0xb48d4d22 security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0xb493526f xattr_supported_namespace +EXPORT_SYMBOL vmlinux 0xb493beed nla_put +EXPORT_SYMBOL vmlinux 0xb49542dc fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0xb4b020af param_get_long +EXPORT_SYMBOL vmlinux 0xb4d301d6 pcim_enable_device +EXPORT_SYMBOL vmlinux 0xb4d3903b blk_mq_free_tag_set +EXPORT_SYMBOL vmlinux 0xb4f13d2a abort +EXPORT_SYMBOL vmlinux 0xb50914ba file_ns_capable +EXPORT_SYMBOL vmlinux 0xb51ceb64 _copy_to_iter +EXPORT_SYMBOL vmlinux 0xb521ba2d tty_port_destroy +EXPORT_SYMBOL vmlinux 0xb52c5ef4 sock_kmalloc +EXPORT_SYMBOL vmlinux 0xb53f2810 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0xb544193a md_bitmap_free +EXPORT_SYMBOL vmlinux 0xb551240e netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0xb566007c of_get_next_parent +EXPORT_SYMBOL vmlinux 0xb5729e62 skb_append +EXPORT_SYMBOL vmlinux 0xb576d871 generic_file_write_iter +EXPORT_SYMBOL vmlinux 0xb577241e sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0xb57bd282 migrate_vma_setup +EXPORT_SYMBOL vmlinux 0xb57e2132 ppp_dev_name +EXPORT_SYMBOL vmlinux 0xb57f1e27 fman_port_disable +EXPORT_SYMBOL vmlinux 0xb58aeaab kernel_cpustat +EXPORT_SYMBOL vmlinux 0xb58d375d mipi_dsi_dcs_set_tear_off +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5b63711 fileattr_fill_xflags +EXPORT_SYMBOL vmlinux 0xb5b90657 register_qdisc +EXPORT_SYMBOL vmlinux 0xb5bb4c90 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0xb5bf0a52 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0xb5e73116 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xb5f85bfc dev_load +EXPORT_SYMBOL vmlinux 0xb60c34c8 nvdimm_namespace_disk_name +EXPORT_SYMBOL vmlinux 0xb61d6fc2 down_read_interruptible +EXPORT_SYMBOL vmlinux 0xb62dbbd3 seq_release_private +EXPORT_SYMBOL vmlinux 0xb631d264 seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0xb6326fbb kill_pgrp +EXPORT_SYMBOL vmlinux 0xb633f115 irq_poll_enable +EXPORT_SYMBOL vmlinux 0xb63ee713 tty_check_change +EXPORT_SYMBOL vmlinux 0xb654ef65 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0xb655e12c of_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0xb668cac3 vfs_fileattr_get +EXPORT_SYMBOL vmlinux 0xb66bf5e8 dev_add_pack +EXPORT_SYMBOL vmlinux 0xb66e96d8 netlbl_audit_start +EXPORT_SYMBOL vmlinux 0xb6740640 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb6793f86 page_pool_put_defragged_page +EXPORT_SYMBOL vmlinux 0xb67fec0e uuid_parse +EXPORT_SYMBOL vmlinux 0xb6936ffe _bcd2bin +EXPORT_SYMBOL vmlinux 0xb696df04 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0xb6a2bfb6 mdiobb_read +EXPORT_SYMBOL vmlinux 0xb6acaa13 phy_sfp_detach +EXPORT_SYMBOL vmlinux 0xb6b063b1 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0xb6c23e1b tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xb6c92bd0 fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0xb6ca20f7 neigh_ifdown +EXPORT_SYMBOL vmlinux 0xb6cad220 mmc_card_alternative_gpt_sector +EXPORT_SYMBOL vmlinux 0xb6cb556a _find_first_and_bit +EXPORT_SYMBOL vmlinux 0xb6cc462a pnpacpi_protocol +EXPORT_SYMBOL vmlinux 0xb6e36ce2 psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0xb6e82da9 netlink_broadcast +EXPORT_SYMBOL vmlinux 0xb6e8406d __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0xb6fde909 close_fd +EXPORT_SYMBOL vmlinux 0xb71589f0 skip_spaces +EXPORT_SYMBOL vmlinux 0xb71ed69f __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0xb72d3fbb balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0xb72f78d2 param_set_bool +EXPORT_SYMBOL vmlinux 0xb737b185 gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0xb74d87c1 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xb7688155 ucc_slow_init +EXPORT_SYMBOL vmlinux 0xb77d954d devm_clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0xb77ec1c0 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0xb7817b5f write_cache_pages +EXPORT_SYMBOL vmlinux 0xb788fb30 gic_pmr_sync +EXPORT_SYMBOL vmlinux 0xb78debe3 LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0xb790a304 __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0xb79f4df6 netdev_features_change +EXPORT_SYMBOL vmlinux 0xb7a8897f device_match_acpi_handle +EXPORT_SYMBOL vmlinux 0xb7b7fa6e node_states +EXPORT_SYMBOL vmlinux 0xb7bbe05d bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0xb7c0f443 sort +EXPORT_SYMBOL vmlinux 0xb7c6db70 sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0xb7cac85d t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0xb7d78bc5 scm_detach_fds +EXPORT_SYMBOL vmlinux 0xb7e0a245 fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0xb80b4a18 zstd_compress_bound +EXPORT_SYMBOL vmlinux 0xb82002af __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0xb82b8bf7 dmaengine_get_unmap_data +EXPORT_SYMBOL vmlinux 0xb842716c qcom_scm_ocmem_lock_available +EXPORT_SYMBOL vmlinux 0xb8605d9c qman_p_static_dequeue_add +EXPORT_SYMBOL vmlinux 0xb8637fa0 unregister_binfmt +EXPORT_SYMBOL vmlinux 0xb868ac5c register_sysrq_key +EXPORT_SYMBOL vmlinux 0xb87b8a74 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0xb881f72b rio_query_mport +EXPORT_SYMBOL vmlinux 0xb88a4237 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0xb88fd035 set_groups +EXPORT_SYMBOL vmlinux 0xb892a184 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xb89301c7 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0xb89b6e6b guid_parse +EXPORT_SYMBOL vmlinux 0xb89f281f blk_execute_rq +EXPORT_SYMBOL vmlinux 0xb8b043f2 kfree_link +EXPORT_SYMBOL vmlinux 0xb8b275dc sock_no_connect +EXPORT_SYMBOL vmlinux 0xb8b9f817 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0xb8bb050d security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xb8be37c7 netdev_offload_xstats_enabled +EXPORT_SYMBOL vmlinux 0xb8cd597b ata_print_version +EXPORT_SYMBOL vmlinux 0xb8d5d41f make_kuid +EXPORT_SYMBOL vmlinux 0xb8de6c40 pneigh_lookup +EXPORT_SYMBOL vmlinux 0xb8ef7c1d sk_wait_data +EXPORT_SYMBOL vmlinux 0xb9056bb6 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xb907513f unpoison_memory +EXPORT_SYMBOL vmlinux 0xb911bb58 minmax_running_max +EXPORT_SYMBOL vmlinux 0xb91d07c4 devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0xb920db49 acpi_tb_install_and_load_table +EXPORT_SYMBOL vmlinux 0xb94339c4 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0xb947012b pci_read_config_byte +EXPORT_SYMBOL vmlinux 0xb9478d90 hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0xb96c4f9e audit_log_subject_context +EXPORT_SYMBOL vmlinux 0xb97220ff bitmap_parse +EXPORT_SYMBOL vmlinux 0xb9785df6 mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0xb98f62fc iproc_msi_exit +EXPORT_SYMBOL vmlinux 0xb9a387a4 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xb9af1d0d __xa_clear_mark +EXPORT_SYMBOL vmlinux 0xb9b25a4f dump_skip_to +EXPORT_SYMBOL vmlinux 0xb9d92666 sock_bind_add +EXPORT_SYMBOL vmlinux 0xb9e51d81 ip_defrag +EXPORT_SYMBOL vmlinux 0xb9e8e2cc in6addr_sitelocal_allrouters +EXPORT_SYMBOL vmlinux 0xb9fc381a qcom_scm_hdcp_req +EXPORT_SYMBOL vmlinux 0xb9fec888 nd_pfn_probe +EXPORT_SYMBOL vmlinux 0xb9ff554e disk_stack_limits +EXPORT_SYMBOL vmlinux 0xba007898 skb_seq_read +EXPORT_SYMBOL vmlinux 0xba039807 inet6_del_offload +EXPORT_SYMBOL vmlinux 0xba065164 of_find_node_by_name +EXPORT_SYMBOL vmlinux 0xba0676e2 vm_zone_stat +EXPORT_SYMBOL vmlinux 0xba070a80 folio_account_redirty +EXPORT_SYMBOL vmlinux 0xba1008c8 __crc32c_le +EXPORT_SYMBOL vmlinux 0xba33aa07 of_match_node +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba53adab nla_policy_len +EXPORT_SYMBOL vmlinux 0xba682315 vfs_get_link +EXPORT_SYMBOL vmlinux 0xba6bb918 inet_offloads +EXPORT_SYMBOL vmlinux 0xba707a78 qe_get_brg_clk +EXPORT_SYMBOL vmlinux 0xba8d6ae6 dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0xba8db3a0 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0xbaa13aed iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0xbad4b744 d_exact_alias +EXPORT_SYMBOL vmlinux 0xbadd4eb5 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0xbadd6f14 ll_rw_block +EXPORT_SYMBOL vmlinux 0xbadf42d9 dquot_drop +EXPORT_SYMBOL vmlinux 0xbaff1f43 param_get_int +EXPORT_SYMBOL vmlinux 0xbb0540aa zlib_inflateReset +EXPORT_SYMBOL vmlinux 0xbb1b3c10 devm_devfreq_remove_device +EXPORT_SYMBOL vmlinux 0xbb21260e convert_ifc_address +EXPORT_SYMBOL vmlinux 0xbb24f607 init_cdrom_command +EXPORT_SYMBOL vmlinux 0xbb3a421e page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0xbb3b3bd5 iptun_encaps +EXPORT_SYMBOL vmlinux 0xbb3fd041 dma_resv_iter_first_unlocked +EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xbb591cd9 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0xbb687724 bman_new_pool +EXPORT_SYMBOL vmlinux 0xbb86d398 __mmap_lock_do_trace_start_locking +EXPORT_SYMBOL vmlinux 0xbb883c0b tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0xbb9ed3bf mutex_trylock +EXPORT_SYMBOL vmlinux 0xbba17049 iov_iter_revert +EXPORT_SYMBOL vmlinux 0xbbbfe91c mr_table_dump +EXPORT_SYMBOL vmlinux 0xbbc10c46 bio_add_page +EXPORT_SYMBOL vmlinux 0xbbe80fdb kmalloc_order +EXPORT_SYMBOL vmlinux 0xbbf5f5af __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xbc07571a sock_no_mmap +EXPORT_SYMBOL vmlinux 0xbc0805ee kobject_init +EXPORT_SYMBOL vmlinux 0xbc2031de acpi_processor_get_bios_limit +EXPORT_SYMBOL vmlinux 0xbc2ac29a elv_rb_del +EXPORT_SYMBOL vmlinux 0xbc30a64a i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0xbc586f2a xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0xbc6a1b3f read_cache_page +EXPORT_SYMBOL vmlinux 0xbc782fa1 key_task_permission +EXPORT_SYMBOL vmlinux 0xbc8ac8c4 sg_miter_start +EXPORT_SYMBOL vmlinux 0xbc8eda4c param_get_string +EXPORT_SYMBOL vmlinux 0xbcab6ee6 sscanf +EXPORT_SYMBOL vmlinux 0xbcb74aa7 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0xbcf5fe6c xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0xbd0b3c5b fasync_helper +EXPORT_SYMBOL vmlinux 0xbd37ef73 _dev_printk +EXPORT_SYMBOL vmlinux 0xbd431e12 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init +EXPORT_SYMBOL vmlinux 0xbd56e447 pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0xbd628752 __tracepoint_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0xbd6841d4 crc16 +EXPORT_SYMBOL vmlinux 0xbd6e006d mount_nodev +EXPORT_SYMBOL vmlinux 0xbd731c48 sock_bindtoindex +EXPORT_SYMBOL vmlinux 0xbd7a166a __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xbd7ad1b2 __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0xbd874d71 ppp_input_error +EXPORT_SYMBOL vmlinux 0xbd92f3de phy_start +EXPORT_SYMBOL vmlinux 0xbda80a25 input_allocate_device +EXPORT_SYMBOL vmlinux 0xbdc8f0c8 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0xbdcb5ee2 make_bad_inode +EXPORT_SYMBOL vmlinux 0xbdeff510 flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0xbdf1e0b8 pci_select_bars +EXPORT_SYMBOL vmlinux 0xbdf4493b filemap_invalidate_lock_two +EXPORT_SYMBOL vmlinux 0xbe00bd15 pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0xbe118c52 __tracepoint_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0xbe242475 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xbe415dbb devm_arch_io_reserve_memtype_wc +EXPORT_SYMBOL vmlinux 0xbe49252c acpi_os_write_port +EXPORT_SYMBOL vmlinux 0xbe4afc4b simple_empty +EXPORT_SYMBOL vmlinux 0xbe4eb6ed secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xbe5a24e9 xxh32_copy_state +EXPORT_SYMBOL vmlinux 0xbe6a866f __wait_on_bit +EXPORT_SYMBOL vmlinux 0xbe6a8c96 zstd_cctx_workspace_bound +EXPORT_SYMBOL vmlinux 0xbe8baf35 devm_extcon_register_notifier_all +EXPORT_SYMBOL vmlinux 0xbe91f1bd of_n_size_cells +EXPORT_SYMBOL vmlinux 0xbe930cde dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0xbea3bdb2 fifo_set_limit +EXPORT_SYMBOL vmlinux 0xbec7c1e8 config_item_get +EXPORT_SYMBOL vmlinux 0xbed33db1 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0xbed6fc94 tegra_ivc_reset +EXPORT_SYMBOL vmlinux 0xbee44fec xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0xbef2fa77 phy_stop +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbefa51a3 gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0xbefd6ce5 devm_request_resource +EXPORT_SYMBOL vmlinux 0xbf05cd24 deactivate_super +EXPORT_SYMBOL vmlinux 0xbf0b1a29 security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0xbf216ccc __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xbf2ab56d devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0xbf59c419 posix_acl_init +EXPORT_SYMBOL vmlinux 0xbf666e5c super_setup_bdi +EXPORT_SYMBOL vmlinux 0xbf6ca85e dma_resv_reserve_fences +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfae9e07 utf8_validate +EXPORT_SYMBOL vmlinux 0xbfb5e73f reuseport_stop_listen_sock +EXPORT_SYMBOL vmlinux 0xbfb9f61b dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0xbfc0d310 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xbfcbc0d2 stmp_reset_block +EXPORT_SYMBOL vmlinux 0xbfd93fa1 tty_port_close_end +EXPORT_SYMBOL vmlinux 0xbfff9aed pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xc002ded8 regset_get_alloc +EXPORT_SYMBOL vmlinux 0xc0354871 __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0xc0364007 fault_in_writeable +EXPORT_SYMBOL vmlinux 0xc0437f1e fman_get_mem_region +EXPORT_SYMBOL vmlinux 0xc058992f flow_rule_match_control +EXPORT_SYMBOL vmlinux 0xc05af10f get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0xc060c3f4 page_pool_ethtool_stats_get +EXPORT_SYMBOL vmlinux 0xc06200a9 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0xc0727044 netdev_bonding_info_change +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc078d22c zstd_init_cstream +EXPORT_SYMBOL vmlinux 0xc07b0863 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0xc0ad677b netdev_offload_xstats_push_delta +EXPORT_SYMBOL vmlinux 0xc0afb5d7 cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0xc0bf6996 jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xc0c031f5 generic_file_open +EXPORT_SYMBOL vmlinux 0xc0cb2593 clk_hw_get_clk +EXPORT_SYMBOL vmlinux 0xc0df4395 inet_sendpage +EXPORT_SYMBOL vmlinux 0xc0e2f2f1 xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0xc0fe9137 __printk_cpu_sync_put +EXPORT_SYMBOL vmlinux 0xc0ff12fb nla_strdup +EXPORT_SYMBOL vmlinux 0xc0ff21c1 input_get_new_minor +EXPORT_SYMBOL vmlinux 0xc105ddb6 mmc_gpio_get_cd +EXPORT_SYMBOL vmlinux 0xc1198662 __warn_flushing_systemwide_wq +EXPORT_SYMBOL vmlinux 0xc129b47c mii_link_ok +EXPORT_SYMBOL vmlinux 0xc12dbcc8 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xc14dc168 acpi_get_data +EXPORT_SYMBOL vmlinux 0xc1514a3b free_irq +EXPORT_SYMBOL vmlinux 0xc1579516 fman_port_enable +EXPORT_SYMBOL vmlinux 0xc15d358a from_kprojid +EXPORT_SYMBOL vmlinux 0xc1607c47 jbd2_journal_invalidate_folio +EXPORT_SYMBOL vmlinux 0xc164a51c keygen_init +EXPORT_SYMBOL vmlinux 0xc1665d6e skb_dequeue +EXPORT_SYMBOL vmlinux 0xc16be39d iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xc18b3664 __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0xc1946859 kmem_cache_alloc_lru +EXPORT_SYMBOL vmlinux 0xc1c7bfd0 phy_get_pause +EXPORT_SYMBOL vmlinux 0xc1d5d504 scsi_cmd_allowed +EXPORT_SYMBOL vmlinux 0xc1d8cfaf __fdget +EXPORT_SYMBOL vmlinux 0xc1e0bc32 blk_mq_alloc_disk_for_queue +EXPORT_SYMBOL vmlinux 0xc1e2c742 tegra_io_rail_power_on +EXPORT_SYMBOL vmlinux 0xc1f428f3 rt_dst_clone +EXPORT_SYMBOL vmlinux 0xc2050974 fman_port_get_tstamp +EXPORT_SYMBOL vmlinux 0xc207add4 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0xc210621b tcp_init_sock +EXPORT_SYMBOL vmlinux 0xc21a89ad add_to_pipe +EXPORT_SYMBOL vmlinux 0xc2277564 kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0xc22c0371 skb_checksum +EXPORT_SYMBOL vmlinux 0xc2310cdc logic_inl +EXPORT_SYMBOL vmlinux 0xc235e975 vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0xc2380b1c mfd_cell_enable +EXPORT_SYMBOL vmlinux 0xc265e75f clear_inode +EXPORT_SYMBOL vmlinux 0xc27db203 rt_dst_alloc +EXPORT_SYMBOL vmlinux 0xc2878b82 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0xc29bf967 strspn +EXPORT_SYMBOL vmlinux 0xc2aa0516 __i2c_transfer +EXPORT_SYMBOL vmlinux 0xc2ad8ca5 blk_put_queue +EXPORT_SYMBOL vmlinux 0xc2b2056c key_put +EXPORT_SYMBOL vmlinux 0xc2e057e4 flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0xc2e168ab caches_clean_inval_pou +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2eebac7 configfs_depend_item +EXPORT_SYMBOL vmlinux 0xc2f11eac meson_sm_call_read +EXPORT_SYMBOL vmlinux 0xc2f2add4 netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0xc2f52274 __lshrti3 +EXPORT_SYMBOL vmlinux 0xc3055d20 usleep_range_state +EXPORT_SYMBOL vmlinux 0xc30e2226 pipe_lock +EXPORT_SYMBOL vmlinux 0xc310b981 strnstr +EXPORT_SYMBOL vmlinux 0xc31db0ce is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0xc32c71af register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xc33646a2 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xc33aa966 backlight_device_get_by_name +EXPORT_SYMBOL vmlinux 0xc33d8432 md_integrity_register +EXPORT_SYMBOL vmlinux 0xc35cfb7d acpi_pm_device_sleep_state +EXPORT_SYMBOL vmlinux 0xc36a3bd4 __acpi_handle_debug +EXPORT_SYMBOL vmlinux 0xc37034a8 locks_copy_lock +EXPORT_SYMBOL vmlinux 0xc3762aec mempool_alloc +EXPORT_SYMBOL vmlinux 0xc37f9c6e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0xc38b517f phy_attach_direct +EXPORT_SYMBOL vmlinux 0xc38c83b8 mod_timer +EXPORT_SYMBOL vmlinux 0xc3a254cd textsearch_destroy +EXPORT_SYMBOL vmlinux 0xc3ba14dc device_get_ethdev_address +EXPORT_SYMBOL vmlinux 0xc3bc72ad trace_print_array_seq +EXPORT_SYMBOL vmlinux 0xc3c85d75 dma_resv_fini +EXPORT_SYMBOL vmlinux 0xc3cd034d crc8_populate_lsb +EXPORT_SYMBOL vmlinux 0xc3ff38c2 down_read_trylock +EXPORT_SYMBOL vmlinux 0xc406924b sock_no_socketpair +EXPORT_SYMBOL vmlinux 0xc409c597 blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0xc4134edf uart_write_wakeup +EXPORT_SYMBOL vmlinux 0xc41bc980 iwe_stream_add_value +EXPORT_SYMBOL vmlinux 0xc4212ab9 qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xc42dcb99 acpi_evaluate_ost +EXPORT_SYMBOL vmlinux 0xc42e1cf6 of_find_matching_node_and_match +EXPORT_SYMBOL vmlinux 0xc42f6b31 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xc452212c utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0xc452ae91 remove_arg_zero +EXPORT_SYMBOL vmlinux 0xc455a507 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0xc46b08e9 show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0xc4708199 cpm_muram_addr +EXPORT_SYMBOL vmlinux 0xc475a4b5 cros_ec_cmd_xfer_status +EXPORT_SYMBOL vmlinux 0xc4777aa9 __ctzsi2 +EXPORT_SYMBOL vmlinux 0xc49f82fe param_ops_byte +EXPORT_SYMBOL vmlinux 0xc4a641de edac_mc_find +EXPORT_SYMBOL vmlinux 0xc4a923ee vme_bus_num +EXPORT_SYMBOL vmlinux 0xc4ae70fe of_find_property +EXPORT_SYMBOL vmlinux 0xc4b21d2f qman_get_affine_portal +EXPORT_SYMBOL vmlinux 0xc4b87c55 generic_read_dir +EXPORT_SYMBOL vmlinux 0xc4bfad99 scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0xc4c2bca0 always_delete_dentry +EXPORT_SYMBOL vmlinux 0xc4c9b667 input_event +EXPORT_SYMBOL vmlinux 0xc4cc1ef5 path_put +EXPORT_SYMBOL vmlinux 0xc4ce7951 page_pool_alloc_frag +EXPORT_SYMBOL vmlinux 0xc4d9703e xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0xc4e19ffe lookup_one +EXPORT_SYMBOL vmlinux 0xc5073c06 xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0xc50dd9ef of_cpu_node_to_id +EXPORT_SYMBOL vmlinux 0xc528a49a queued_write_lock_slowpath +EXPORT_SYMBOL vmlinux 0xc53c766b of_find_node_with_property +EXPORT_SYMBOL vmlinux 0xc53cc81b tso_build_hdr +EXPORT_SYMBOL vmlinux 0xc547f38a write_inode_now +EXPORT_SYMBOL vmlinux 0xc54970b5 unregister_netdev +EXPORT_SYMBOL vmlinux 0xc5621f83 tcp_set_rcvlowat +EXPORT_SYMBOL vmlinux 0xc569d894 jbd2_journal_finish_inode_data_buffers +EXPORT_SYMBOL vmlinux 0xc56a41e6 vabits_actual +EXPORT_SYMBOL vmlinux 0xc56c3609 xz_dec_microlzma_reset +EXPORT_SYMBOL vmlinux 0xc575e68d sk_capable +EXPORT_SYMBOL vmlinux 0xc57b8369 qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0xc57c48a3 idr_get_next +EXPORT_SYMBOL vmlinux 0xc5846af4 phy_write_paged +EXPORT_SYMBOL vmlinux 0xc58d5a90 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0xc599a772 security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc5a3367a __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xc5b6f236 queue_work_on +EXPORT_SYMBOL vmlinux 0xc5b969ad ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xc5be6c71 mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0xc5d5e488 request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0xc5e74216 release_resource +EXPORT_SYMBOL vmlinux 0xc5f7e801 sg_last +EXPORT_SYMBOL vmlinux 0xc60d0620 __num_online_cpus +EXPORT_SYMBOL vmlinux 0xc622556f prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xc625b61f __neigh_create +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc633d82d phy_unregister_fixup +EXPORT_SYMBOL vmlinux 0xc6340e35 __put_user_ns +EXPORT_SYMBOL vmlinux 0xc64fea6f filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0xc65e4e97 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif +EXPORT_SYMBOL vmlinux 0xc6696c3f xen_alloc_ballooned_pages +EXPORT_SYMBOL vmlinux 0xc66a8304 cpu_rmap_add +EXPORT_SYMBOL vmlinux 0xc66ccf8e __SetPageMovable +EXPORT_SYMBOL vmlinux 0xc66f458d to_nd_btt +EXPORT_SYMBOL vmlinux 0xc67625e5 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0xc6927241 can_nice +EXPORT_SYMBOL vmlinux 0xc69fce52 qcom_scm_qsmmu500_wait_safe_toggle +EXPORT_SYMBOL vmlinux 0xc6b86a20 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6d09aa9 release_firmware +EXPORT_SYMBOL vmlinux 0xc6dab0c5 mipi_dsi_dcs_set_column_address +EXPORT_SYMBOL vmlinux 0xc6df15eb tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0xc6f3b3fc refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0xc6f46339 init_timer_key +EXPORT_SYMBOL vmlinux 0xc707f463 find_inode_nowait +EXPORT_SYMBOL vmlinux 0xc708f1fe ec_write +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc725fe8b framebuffer_release +EXPORT_SYMBOL vmlinux 0xc734f39f netdev_printk +EXPORT_SYMBOL vmlinux 0xc735261e pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0xc752b98e skb_copy_header +EXPORT_SYMBOL vmlinux 0xc7652325 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0xc7712b5d pps_register_source +EXPORT_SYMBOL vmlinux 0xc77818d6 is_nd_dax +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7856a3d inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc78786c4 tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7a86958 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0xc7a97396 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xc7aeb8f1 pci_fixup_device +EXPORT_SYMBOL vmlinux 0xc7c1107a LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0xc7cb2856 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xc7d094b5 dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xc7df0d98 skb_expand_head +EXPORT_SYMBOL vmlinux 0xc7fc0dee flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0xc80ab559 swake_up_one +EXPORT_SYMBOL vmlinux 0xc836e7ca flow_keys_dissector +EXPORT_SYMBOL vmlinux 0xc838c3f5 __ashrti3 +EXPORT_SYMBOL vmlinux 0xc8446cfd forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc8511840 qdisc_reset +EXPORT_SYMBOL vmlinux 0xc86cef9f jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0xc8717419 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0xc872fd85 in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0xc8827b75 sysctl_vals +EXPORT_SYMBOL vmlinux 0xc88445fd blkdev_issue_secure_erase +EXPORT_SYMBOL vmlinux 0xc8880ff2 tcf_em_register +EXPORT_SYMBOL vmlinux 0xc890c008 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xc89846c4 xudma_tchanrt_read +EXPORT_SYMBOL vmlinux 0xc8a1d425 tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0xc8a91f5b cpumask_local_spread +EXPORT_SYMBOL vmlinux 0xc8d6ab89 __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0xc8dcc62a krealloc +EXPORT_SYMBOL vmlinux 0xc8dda641 pci_write_vpd +EXPORT_SYMBOL vmlinux 0xc8fc0a36 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0xc900c7bb inet_dgram_connect +EXPORT_SYMBOL vmlinux 0xc905372b scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xc916dd46 __SCK__tp_func_kmalloc +EXPORT_SYMBOL vmlinux 0xc92d7185 flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0xc930ae8c set_anon_super +EXPORT_SYMBOL vmlinux 0xc93e167b security_dentry_init_security +EXPORT_SYMBOL vmlinux 0xc93e3f8b d_alloc +EXPORT_SYMBOL vmlinux 0xc93e8461 acpi_get_event_resources +EXPORT_SYMBOL vmlinux 0xc9553232 vc_cons +EXPORT_SYMBOL vmlinux 0xc9634df9 in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0xc972449f mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0xc97e3b87 discard_new_inode +EXPORT_SYMBOL vmlinux 0xc980d46d bio_reset +EXPORT_SYMBOL vmlinux 0xc9822234 clk_register_clkdev +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9a262f2 devm_extcon_unregister_notifier +EXPORT_SYMBOL vmlinux 0xc9df055a xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xc9ed0401 imx_sc_rm_is_resource_owned +EXPORT_SYMBOL vmlinux 0xc9ed5990 cros_ec_query_all +EXPORT_SYMBOL vmlinux 0xca0e990d arp_create +EXPORT_SYMBOL vmlinux 0xca1648d4 zstd_decompress_dctx +EXPORT_SYMBOL vmlinux 0xca1ab11f page_pool_create +EXPORT_SYMBOL vmlinux 0xca21ebd3 bitmap_free +EXPORT_SYMBOL vmlinux 0xca2eb17f generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xca431c05 wake_bit_function +EXPORT_SYMBOL vmlinux 0xca5342d6 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xca62afaf xudma_rflow_is_gp +EXPORT_SYMBOL vmlinux 0xca642b7f mr_dump +EXPORT_SYMBOL vmlinux 0xca6f038f jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xca709005 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xca79dd65 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xca864a47 config_group_find_item +EXPORT_SYMBOL vmlinux 0xca9360b5 rb_next +EXPORT_SYMBOL vmlinux 0xca9beaa4 __xa_store +EXPORT_SYMBOL vmlinux 0xcad1aca8 acpi_exception +EXPORT_SYMBOL vmlinux 0xcadbfc45 block_invalidate_folio +EXPORT_SYMBOL vmlinux 0xcae8f70e skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0xcaf21dd0 proc_create +EXPORT_SYMBOL vmlinux 0xcaf2543f blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0xcaf6a1de acpi_dev_hid_uid_match +EXPORT_SYMBOL vmlinux 0xcafefa4f get_task_cred +EXPORT_SYMBOL vmlinux 0xcb0288ea ledtrig_cpu +EXPORT_SYMBOL vmlinux 0xcb1f16b8 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0xcb3ae215 call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcbbf0a6f audit_log_task_context +EXPORT_SYMBOL vmlinux 0xcbc61871 vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0xcbd14002 skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0xcbd1934c sock_i_uid +EXPORT_SYMBOL vmlinux 0xcbd4898c fortify_panic +EXPORT_SYMBOL vmlinux 0xcbfb33e4 init_opal_dev +EXPORT_SYMBOL vmlinux 0xcbfd390a end_page_writeback +EXPORT_SYMBOL vmlinux 0xcbfe0797 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0xcc00f2a7 key_validate +EXPORT_SYMBOL vmlinux 0xcc17e293 kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0xcc1b882a idr_get_next_ul +EXPORT_SYMBOL vmlinux 0xcc23002a hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc26b2b1 rproc_put +EXPORT_SYMBOL vmlinux 0xcc328a5c reservation_ww_class +EXPORT_SYMBOL vmlinux 0xcc411ed1 ptp_convert_timestamp +EXPORT_SYMBOL vmlinux 0xcc445ceb __sg_page_iter_dma_next +EXPORT_SYMBOL vmlinux 0xcc4bcb7a skb_tx_error +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5c2df4 trace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0xcc5d22d9 can_do_mlock +EXPORT_SYMBOL vmlinux 0xcc66eb36 of_device_is_compatible +EXPORT_SYMBOL vmlinux 0xcc7876a7 max8998_update_reg +EXPORT_SYMBOL vmlinux 0xcc877993 xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0xcc8e736b __skb_recv_udp +EXPORT_SYMBOL vmlinux 0xcc8fa798 kill_litter_super +EXPORT_SYMBOL vmlinux 0xcc91820a netdev_txq_to_tc +EXPORT_SYMBOL vmlinux 0xcc929c9a file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0xcc954ebf inet6_ioctl +EXPORT_SYMBOL vmlinux 0xcca5839d xen_vcpu_id +EXPORT_SYMBOL vmlinux 0xccb37150 block_read_full_folio +EXPORT_SYMBOL vmlinux 0xccbb34e0 max8998_write_reg +EXPORT_SYMBOL vmlinux 0xccca84d6 inet_addr_type +EXPORT_SYMBOL vmlinux 0xccd4c999 __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0xcce9ce10 d_genocide +EXPORT_SYMBOL vmlinux 0xccedd6e7 pci_find_resource +EXPORT_SYMBOL vmlinux 0xccfb9e07 dst_default_metrics +EXPORT_SYMBOL vmlinux 0xccfd2ebc scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0xcd004728 of_iomap +EXPORT_SYMBOL vmlinux 0xcd01b8e6 acpi_attach_data +EXPORT_SYMBOL vmlinux 0xcd16f3c3 register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0xcd21c012 mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0xcd256667 tcp_md5_needed +EXPORT_SYMBOL vmlinux 0xcd26b402 generic_write_end +EXPORT_SYMBOL vmlinux 0xcd26cc2d copy_page_to_iter +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd3610b1 fib6_info_hw_flags_set +EXPORT_SYMBOL vmlinux 0xcd3618df twl6040_reg_write +EXPORT_SYMBOL vmlinux 0xcd43a8be bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0xcd43b928 max8998_read_reg +EXPORT_SYMBOL vmlinux 0xcd4a18a2 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0xcd6925c8 mmc_retune_timer_stop +EXPORT_SYMBOL vmlinux 0xcd6bc361 netif_device_attach +EXPORT_SYMBOL vmlinux 0xcd88e843 mipi_dsi_dcs_soft_reset +EXPORT_SYMBOL vmlinux 0xcd8ce890 acpi_format_exception +EXPORT_SYMBOL vmlinux 0xcd980eff pci_disable_ptm +EXPORT_SYMBOL vmlinux 0xcd9b49e8 tcp_stream_memory_free +EXPORT_SYMBOL vmlinux 0xcdb5e6dd set_cached_acl +EXPORT_SYMBOL vmlinux 0xcdc1a438 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0xcdc39c9e security_ismaclabel +EXPORT_SYMBOL vmlinux 0xcdda4e4c find_inode_rcu +EXPORT_SYMBOL vmlinux 0xcde77bcc free_opal_dev +EXPORT_SYMBOL vmlinux 0xcdf801f9 inode_get_bytes +EXPORT_SYMBOL vmlinux 0xcdfa16d7 rproc_add +EXPORT_SYMBOL vmlinux 0xcdfef135 cfb_imageblit +EXPORT_SYMBOL vmlinux 0xce036f24 sg_split +EXPORT_SYMBOL vmlinux 0xce071179 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0xce11736b try_lookup_one_len +EXPORT_SYMBOL vmlinux 0xce196281 input_unregister_handler +EXPORT_SYMBOL vmlinux 0xce1e202d tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce376d63 release_sock +EXPORT_SYMBOL vmlinux 0xce4a9247 cdev_device_add +EXPORT_SYMBOL vmlinux 0xce4cdb8e fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xce4e47b6 __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce728baa seq_release +EXPORT_SYMBOL vmlinux 0xce731b34 ucc_slow_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0xce76c257 acpi_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xce78fa99 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0xce807a25 up_write +EXPORT_SYMBOL vmlinux 0xce8c962b input_copy_abs +EXPORT_SYMBOL vmlinux 0xce8ccab8 unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0xce91a235 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0xceab0311 strchrnul +EXPORT_SYMBOL vmlinux 0xceae93a5 genphy_loopback +EXPORT_SYMBOL vmlinux 0xced0f4d4 gen_pool_create +EXPORT_SYMBOL vmlinux 0xcedbbbf3 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0xcedf82db netdev_state_change +EXPORT_SYMBOL vmlinux 0xcef70467 fault_in_iov_iter_writeable +EXPORT_SYMBOL vmlinux 0xcefa9140 netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0xcefb0c9f __mutex_init +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf2a6966 up +EXPORT_SYMBOL vmlinux 0xcf3b69b3 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xcf3d7226 mmc_retune_unpause +EXPORT_SYMBOL vmlinux 0xcf4fdd4d _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0xcf50786d __dev_get_by_name +EXPORT_SYMBOL vmlinux 0xcf5855c8 skb_vlan_push +EXPORT_SYMBOL vmlinux 0xcf5b53bf of_find_mipi_dsi_host_by_node +EXPORT_SYMBOL vmlinux 0xcf6d014f vm_mmap +EXPORT_SYMBOL vmlinux 0xcf7c1ae8 dm_get_device +EXPORT_SYMBOL vmlinux 0xcf9b558d touchscreen_set_mt_pos +EXPORT_SYMBOL vmlinux 0xcfa1f674 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0xcfa7e913 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xcfad63fe vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0xcfc81dd1 ppp_input +EXPORT_SYMBOL vmlinux 0xcfc9deaf atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xcfcf58a5 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0xcfd884a8 __hsiphash_unaligned +EXPORT_SYMBOL vmlinux 0xcfe7eafa rproc_elf_sanity_check +EXPORT_SYMBOL vmlinux 0xcfeb98a8 acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0xcfec4b11 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0xd007faf7 cpufreq_generic_suspend +EXPORT_SYMBOL vmlinux 0xd00c66d1 netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0xd0108f11 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xd01dcf02 ptp_find_pin +EXPORT_SYMBOL vmlinux 0xd0237063 mipi_dsi_dcs_set_display_on +EXPORT_SYMBOL vmlinux 0xd03699cf pmem_sector_size +EXPORT_SYMBOL vmlinux 0xd0379994 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0xd04c1a64 sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0xd0572997 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xd0654aba woken_wake_function +EXPORT_SYMBOL vmlinux 0xd06550d1 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xd0679ddc xfrm_state_insert +EXPORT_SYMBOL vmlinux 0xd0699f42 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0xd0760fc0 kfree_sensitive +EXPORT_SYMBOL vmlinux 0xd07771cb tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0xd07c3c97 get_thermal_instance +EXPORT_SYMBOL vmlinux 0xd08adb2b trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0xd0a147b0 fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0xd0a78836 nd_region_release_lane +EXPORT_SYMBOL vmlinux 0xd0acf077 rproc_boot +EXPORT_SYMBOL vmlinux 0xd0b74705 acpi_install_interface +EXPORT_SYMBOL vmlinux 0xd0ca845f mipi_dsi_dcs_set_display_brightness_large +EXPORT_SYMBOL vmlinux 0xd0d36f40 mark_info_dirty +EXPORT_SYMBOL vmlinux 0xd0dd85f7 unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0xd0e1666f simple_transaction_release +EXPORT_SYMBOL vmlinux 0xd0f4b9c4 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0xd0fe8d51 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0xd10e2935 register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0xd114d261 nobh_write_end +EXPORT_SYMBOL vmlinux 0xd1337edd ps2_drain +EXPORT_SYMBOL vmlinux 0xd135af5a vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0xd1363cc1 ucs2_strsize +EXPORT_SYMBOL vmlinux 0xd1390df1 nf_hook_slow +EXPORT_SYMBOL vmlinux 0xd14ac3a9 dev_uc_sync +EXPORT_SYMBOL vmlinux 0xd14c4363 netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0xd158be33 neigh_lookup +EXPORT_SYMBOL vmlinux 0xd15cabe6 qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0xd16a4a46 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xd1790ed4 clear_nlink +EXPORT_SYMBOL vmlinux 0xd189d94b migrate_page_states +EXPORT_SYMBOL vmlinux 0xd18ef9c4 drop_nlink +EXPORT_SYMBOL vmlinux 0xd194ddf9 acpi_gpe_count +EXPORT_SYMBOL vmlinux 0xd1b20dda input_close_device +EXPORT_SYMBOL vmlinux 0xd1c7b9bd phy_config_aneg +EXPORT_SYMBOL vmlinux 0xd1d87e92 scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0xd2051916 qcom_scm_cpu_power_down +EXPORT_SYMBOL vmlinux 0xd2079f56 blk_pre_runtime_resume +EXPORT_SYMBOL vmlinux 0xd20f3290 uart_suspend_port +EXPORT_SYMBOL vmlinux 0xd2237016 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0xd23df597 mipi_dsi_dcs_enter_sleep_mode +EXPORT_SYMBOL vmlinux 0xd24108d4 rfkill_soft_blocked +EXPORT_SYMBOL vmlinux 0xd24ab266 t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0xd250547b phy_ethtool_nway_reset +EXPORT_SYMBOL vmlinux 0xd2582f8f __SCK__tp_func_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0xd25a45d2 zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0xd25bc5d4 csum_tcpudp_nofold +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd2741013 thermal_zone_device_critical +EXPORT_SYMBOL vmlinux 0xd27b25dd blk_check_plugged +EXPORT_SYMBOL vmlinux 0xd2800691 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd294cd09 acpi_mdiobus_register +EXPORT_SYMBOL vmlinux 0xd2b426aa scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xd2c22ce3 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xd2c99738 __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0xd2ca7867 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0xd2d88506 netdev_offload_xstats_report_used +EXPORT_SYMBOL vmlinux 0xd2da1048 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xd2e2a9d0 hdmi_spd_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd2ea49b8 acpi_leave_sleep_state_prep +EXPORT_SYMBOL vmlinux 0xd2fd3903 sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0xd303f569 jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0xd314acd8 fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd333c245 rproc_coredump_set_elf_info +EXPORT_SYMBOL vmlinux 0xd3543063 memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0xd3559ef4 __memset +EXPORT_SYMBOL vmlinux 0xd357ceaf dquot_alloc +EXPORT_SYMBOL vmlinux 0xd358785e kernel_accept +EXPORT_SYMBOL vmlinux 0xd35a6d31 mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xd35e9e71 ip_fraglist_init +EXPORT_SYMBOL vmlinux 0xd3679688 pci_claim_resource +EXPORT_SYMBOL vmlinux 0xd36dc10c get_random_u32 +EXPORT_SYMBOL vmlinux 0xd36e3d59 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0xd376d2b4 new_inode +EXPORT_SYMBOL vmlinux 0xd37cbe97 __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0xd37fce67 clk_bulk_get +EXPORT_SYMBOL vmlinux 0xd383bb63 sock_create +EXPORT_SYMBOL vmlinux 0xd3a3ef80 generic_fillattr +EXPORT_SYMBOL vmlinux 0xd3adb874 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0xd3c0653e setup_arg_pages +EXPORT_SYMBOL vmlinux 0xd3dce1f6 ram_aops +EXPORT_SYMBOL vmlinux 0xd3ddf2d1 kern_unmount_array +EXPORT_SYMBOL vmlinux 0xd3e2c413 touch_atime +EXPORT_SYMBOL vmlinux 0xd3f481de scsi_report_opcode +EXPORT_SYMBOL vmlinux 0xd3f62249 neigh_direct_output +EXPORT_SYMBOL vmlinux 0xd3f7517c blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0xd3f80212 kfree_skb_reason +EXPORT_SYMBOL vmlinux 0xd3fb4f4d inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0xd3fe221d blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xd406d266 fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xd4184540 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xd41ebe68 mdio_bus_type +EXPORT_SYMBOL vmlinux 0xd4247b88 mipi_dsi_dcs_get_pixel_format +EXPORT_SYMBOL vmlinux 0xd4317be6 generic_permission +EXPORT_SYMBOL vmlinux 0xd45cc6ca bin2hex +EXPORT_SYMBOL vmlinux 0xd4663e99 mmc_is_req_done +EXPORT_SYMBOL vmlinux 0xd4835ef8 dmi_check_system +EXPORT_SYMBOL vmlinux 0xd49af81b kthread_bind +EXPORT_SYMBOL vmlinux 0xd4a35b9f fwnode_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0xd4a69d20 qm_channel_caam +EXPORT_SYMBOL vmlinux 0xd4b01e94 kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xd4b41a18 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xd4bb4a82 inet6addr_validator_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd4c89133 starget_for_each_device +EXPORT_SYMBOL vmlinux 0xd4d1983c udplite_table +EXPORT_SYMBOL vmlinux 0xd4df2841 mmc_hw_reset +EXPORT_SYMBOL vmlinux 0xd4fa5a87 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0xd52398a9 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd530f23d netif_tx_unlock +EXPORT_SYMBOL vmlinux 0xd5346bfc acpi_get_possible_resources +EXPORT_SYMBOL vmlinux 0xd5409203 flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0xd5433d61 pagecache_get_page +EXPORT_SYMBOL vmlinux 0xd5580a87 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0xd56b60f1 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0xd571324e xfrm_state_add +EXPORT_SYMBOL vmlinux 0xd58d8b7d netdev_change_features +EXPORT_SYMBOL vmlinux 0xd59bea22 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0xd5a15aff __skb_gso_segment +EXPORT_SYMBOL vmlinux 0xd5b3d0d5 xxh64_copy_state +EXPORT_SYMBOL vmlinux 0xd5bc2d9c bio_init +EXPORT_SYMBOL vmlinux 0xd5bf5f7f xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xd5cab678 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xd5fd90f1 prepare_to_wait +EXPORT_SYMBOL vmlinux 0xd5fef548 md_register_thread +EXPORT_SYMBOL vmlinux 0xd603b010 d_instantiate_new +EXPORT_SYMBOL vmlinux 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0xd625d455 watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0xd6296d58 d_instantiate +EXPORT_SYMBOL vmlinux 0xd62ecd49 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xd643239a acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xd65ee93c xp_dma_map +EXPORT_SYMBOL vmlinux 0xd66c8184 add_device_randomness +EXPORT_SYMBOL vmlinux 0xd6742a28 vm_event_states +EXPORT_SYMBOL vmlinux 0xd674a5bf sk_ns_capable +EXPORT_SYMBOL vmlinux 0xd688716b dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xd68c5a1f adjust_resource +EXPORT_SYMBOL vmlinux 0xd691c6a9 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0xd6a91f54 twl_i2c_read +EXPORT_SYMBOL vmlinux 0xd6aca793 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0xd6b88d7c input_release_device +EXPORT_SYMBOL vmlinux 0xd6c3dc43 mmc_of_parse_clk_phase +EXPORT_SYMBOL vmlinux 0xd6e834d3 ip6_xmit +EXPORT_SYMBOL vmlinux 0xd6eaaea1 full_name_hash +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6eed0d7 param_ops_bint +EXPORT_SYMBOL vmlinux 0xd6f53145 configfs_register_default_group +EXPORT_SYMBOL vmlinux 0xd6fde043 is_module_sig_enforced +EXPORT_SYMBOL vmlinux 0xd70586d8 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0xd70d35a1 gf128mul_4k_bbe +EXPORT_SYMBOL vmlinux 0xd70f62b6 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xd7115a61 gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0xd72c1a93 unix_get_socket +EXPORT_SYMBOL vmlinux 0xd738ca1b phy_unregister_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd73c8c2b synchronize_shrinkers +EXPORT_SYMBOL vmlinux 0xd73e1434 inc_nlink +EXPORT_SYMBOL vmlinux 0xd740e61d phy_attach +EXPORT_SYMBOL vmlinux 0xd7482f05 vcalloc +EXPORT_SYMBOL vmlinux 0xd748f821 skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0xd74ebcbd cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0xd757ad1b build_skb_around +EXPORT_SYMBOL vmlinux 0xd75cf480 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0xd761157c of_phy_get_and_connect +EXPORT_SYMBOL vmlinux 0xd78a1a57 sock_wmalloc +EXPORT_SYMBOL vmlinux 0xd78c0009 mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0xd7987177 utf8_load +EXPORT_SYMBOL vmlinux 0xd7a13858 mdio_find_bus +EXPORT_SYMBOL vmlinux 0xd7a37aba locks_copy_conflock +EXPORT_SYMBOL vmlinux 0xd7ac98fd bio_kmalloc +EXPORT_SYMBOL vmlinux 0xd7ce1ebe xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0xd7d280ad irq_poll_complete +EXPORT_SYMBOL vmlinux 0xd7d58d43 noop_llseek +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7ea7094 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xd7ff1b8a __ashlti3 +EXPORT_SYMBOL vmlinux 0xd8131274 qman_alloc_cgrid_range +EXPORT_SYMBOL vmlinux 0xd8180d06 unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0xd818345c __breadahead_gfp +EXPORT_SYMBOL vmlinux 0xd81d9125 register_filesystem +EXPORT_SYMBOL vmlinux 0xd8258ce0 page_pool_put_page_bulk +EXPORT_SYMBOL vmlinux 0xd828f063 xudma_tchanrt_write +EXPORT_SYMBOL vmlinux 0xd8465a1a tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0xd854c592 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0xd86e119f uart_unregister_driver +EXPORT_SYMBOL vmlinux 0xd87eb971 dev_pm_opp_register_notifier +EXPORT_SYMBOL vmlinux 0xd8930034 of_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a994eb scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0xd8b61304 get_default_font +EXPORT_SYMBOL vmlinux 0xd8cd1c24 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0xd8df08ac acpi_handle_printk +EXPORT_SYMBOL vmlinux 0xd8e3b176 ip_setsockopt +EXPORT_SYMBOL vmlinux 0xd8f29716 nd_region_acquire_lane +EXPORT_SYMBOL vmlinux 0xd8fe3054 d_path +EXPORT_SYMBOL vmlinux 0xd9008eb4 i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL vmlinux 0xd9080986 nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0xd91b5410 kmalloc_caches +EXPORT_SYMBOL vmlinux 0xd91f6ab6 strnlen_user +EXPORT_SYMBOL vmlinux 0xd92deb6b acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0xd937a261 __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0xd9491c14 xa_destroy +EXPORT_SYMBOL vmlinux 0xd949281d scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0xd94c763a cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0xd97219fd tcp_seq_start +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd99d902b of_find_compatible_node +EXPORT_SYMBOL vmlinux 0xd9a5ea54 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xd9ac39af mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xd9b85ef6 lockref_get +EXPORT_SYMBOL vmlinux 0xd9b8eaea __SCK__tp_func_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xd9c419bb mipi_dsi_driver_register_full +EXPORT_SYMBOL vmlinux 0xd9c69b7b pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0xd9d574cf scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0xd9d8fd16 register_restart_handler +EXPORT_SYMBOL vmlinux 0xd9d952d1 crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0xda04204b nobh_write_begin +EXPORT_SYMBOL vmlinux 0xda10443c xudma_tchan_get_id +EXPORT_SYMBOL vmlinux 0xda12b3b2 textsearch_prepare +EXPORT_SYMBOL vmlinux 0xda16d09b rtc_add_groups +EXPORT_SYMBOL vmlinux 0xda3220f7 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0xda382652 jbd2_journal_put_journal_head +EXPORT_SYMBOL vmlinux 0xda3d10a8 security_tun_dev_open +EXPORT_SYMBOL vmlinux 0xda571f32 _dev_info +EXPORT_SYMBOL vmlinux 0xda644435 single_open_size +EXPORT_SYMBOL vmlinux 0xda831a35 max8998_bulk_write +EXPORT_SYMBOL vmlinux 0xdaa8c182 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xdac3a45e nobh_writepage +EXPORT_SYMBOL vmlinux 0xdac4913a bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0xdad1fc3f zstd_flush_stream +EXPORT_SYMBOL vmlinux 0xdaebdaa8 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0xdaec288d pr_flush +EXPORT_SYMBOL vmlinux 0xdaf0f20f simple_open +EXPORT_SYMBOL vmlinux 0xdaf4c52c netif_receive_skb +EXPORT_SYMBOL vmlinux 0xdb18ad76 unpin_user_page_range_dirty_lock +EXPORT_SYMBOL vmlinux 0xdb1ef211 sock_no_getname +EXPORT_SYMBOL vmlinux 0xdb2abde4 __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0xdb3ecd56 skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0xdb455e19 udp_pre_connect +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb715f7f pcie_set_mps +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb78e0a1 get_tree_bdev +EXPORT_SYMBOL vmlinux 0xdb9106b6 send_sig_mceerr +EXPORT_SYMBOL vmlinux 0xdbbef80e skb_eth_gso_segment +EXPORT_SYMBOL vmlinux 0xdbc49acd dget_parent +EXPORT_SYMBOL vmlinux 0xdbcf041a acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0xdbdf6c92 ioport_resource +EXPORT_SYMBOL vmlinux 0xdbef2647 alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0xdbf92630 jbd2_fc_get_buf +EXPORT_SYMBOL vmlinux 0xdbf9d664 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xdc123785 proc_create_single_data +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc21df00 phy_error +EXPORT_SYMBOL vmlinux 0xdc243f8b vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0xdc34158f fman_port_init +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc49c198 reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0xdc4bd035 vme_slot_num +EXPORT_SYMBOL vmlinux 0xdc512134 backlight_register_notifier +EXPORT_SYMBOL vmlinux 0xdc6538f1 input_set_keycode +EXPORT_SYMBOL vmlinux 0xdc862e81 inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0xdca1a81d devm_backlight_device_register +EXPORT_SYMBOL vmlinux 0xdca8c3d4 logic_outb +EXPORT_SYMBOL vmlinux 0xdcb764ad memset +EXPORT_SYMBOL vmlinux 0xdcc29d72 mmc_put_card +EXPORT_SYMBOL vmlinux 0xdcd58919 padata_do_parallel +EXPORT_SYMBOL vmlinux 0xdcdc0040 slhc_compress +EXPORT_SYMBOL vmlinux 0xdce25338 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0xdce69a13 devm_devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdcfcf6c8 amba_driver_register +EXPORT_SYMBOL vmlinux 0xdd00447a acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0xdd18a993 acpi_check_dsm +EXPORT_SYMBOL vmlinux 0xdd2c169b mb_cache_create +EXPORT_SYMBOL vmlinux 0xdd334b58 devm_mfd_add_devices +EXPORT_SYMBOL vmlinux 0xdd37e59f mii_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0xdd462752 sock_wake_async +EXPORT_SYMBOL vmlinux 0xdd553b62 flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0xdd5b074e pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xdd64e639 strscpy +EXPORT_SYMBOL vmlinux 0xdd71e7b6 setattr_copy +EXPORT_SYMBOL vmlinux 0xdd7e3192 qcom_scm_pas_auth_and_reset +EXPORT_SYMBOL vmlinux 0xdd8166a1 dma_fence_free +EXPORT_SYMBOL vmlinux 0xdd849d51 scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0xdd95c8f5 scsi_remove_target +EXPORT_SYMBOL vmlinux 0xdd9cc325 lru_cache_add +EXPORT_SYMBOL vmlinux 0xddad7952 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xddae23b2 mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0xddb3b317 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0xddbb9118 pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0xddf42118 sock_from_file +EXPORT_SYMBOL vmlinux 0xddf6ad7a completion_done +EXPORT_SYMBOL vmlinux 0xde16466e file_update_time +EXPORT_SYMBOL vmlinux 0xde293f9e add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xde4d4ace dim_calc_stats +EXPORT_SYMBOL vmlinux 0xde4e70bc fuse_mount_destroy +EXPORT_SYMBOL vmlinux 0xde788110 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xde7ad49b of_graph_get_remote_endpoint +EXPORT_SYMBOL vmlinux 0xde7fde27 dcb_setapp +EXPORT_SYMBOL vmlinux 0xde809660 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xde8860f6 tty_do_resize +EXPORT_SYMBOL vmlinux 0xde8bc8a1 ip_check_defrag +EXPORT_SYMBOL vmlinux 0xde8eac94 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0xde9a9799 skb_queue_head +EXPORT_SYMBOL vmlinux 0xded39a6b gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xdedaa06f invalidate_bdev +EXPORT_SYMBOL vmlinux 0xdeea06e3 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0xdeed7e97 pnp_is_active +EXPORT_SYMBOL vmlinux 0xdef7c893 fb_match_mode +EXPORT_SYMBOL vmlinux 0xdf1f956b jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0xdf256037 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0xdf2c2742 rb_last +EXPORT_SYMBOL vmlinux 0xdf302f4c padata_free +EXPORT_SYMBOL vmlinux 0xdf36914b xa_find_after +EXPORT_SYMBOL vmlinux 0xdf39bb92 jbd2_fc_end_commit_fallback +EXPORT_SYMBOL vmlinux 0xdf4e765c fwnode_mdio_find_device +EXPORT_SYMBOL vmlinux 0xdf54a8f7 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdf6a8ab6 dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0xdf6b082f proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xdf7051cf pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0xdf7113a8 skb_tunnel_check_pmtu +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf93b9d8 timespec64_to_jiffies +EXPORT_SYMBOL vmlinux 0xdf9b13d1 __vfs_setxattr +EXPORT_SYMBOL vmlinux 0xdf9d242b devm_of_find_backlight +EXPORT_SYMBOL vmlinux 0xdfab364c phy_do_ioctl_running +EXPORT_SYMBOL vmlinux 0xdfac56e9 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0xdfc12ef1 zstd_decompress_stream +EXPORT_SYMBOL vmlinux 0xdfc18218 con_is_visible +EXPORT_SYMBOL vmlinux 0xdfc33c11 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xdfcc992c current_work +EXPORT_SYMBOL vmlinux 0xdfdcb941 stream_open +EXPORT_SYMBOL vmlinux 0xdfe57fe7 redraw_screen +EXPORT_SYMBOL vmlinux 0xdff905e5 vme_slave_free +EXPORT_SYMBOL vmlinux 0xdffc80fc vesa_modes +EXPORT_SYMBOL vmlinux 0xe017e4d6 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xe01f6517 netif_schedule_queue +EXPORT_SYMBOL vmlinux 0xe027207e passthru_features_check +EXPORT_SYMBOL vmlinux 0xe02ba436 trace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xe02c9c92 __xa_erase +EXPORT_SYMBOL vmlinux 0xe03a689d dma_fence_array_ops +EXPORT_SYMBOL vmlinux 0xe0419ac4 kstrtos16 +EXPORT_SYMBOL vmlinux 0xe05562b6 serio_bus +EXPORT_SYMBOL vmlinux 0xe06074a2 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0xe06ce4f2 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0xe070019a __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0xe0775da2 blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0xe07e5f44 acpi_reconfig_notifier_unregister +EXPORT_SYMBOL vmlinux 0xe080e8f0 set_current_groups +EXPORT_SYMBOL vmlinux 0xe082a40d tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0xe082e88d acpi_check_address_range +EXPORT_SYMBOL vmlinux 0xe0908149 phy_ethtool_ksettings_get +EXPORT_SYMBOL vmlinux 0xe090e50a blkdev_put +EXPORT_SYMBOL vmlinux 0xe091c977 list_sort +EXPORT_SYMBOL vmlinux 0xe0a10600 inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0xe0a323f6 __do_once_slow_start +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bef318 icst_hz_to_vco +EXPORT_SYMBOL vmlinux 0xe0d702b9 try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe123f3d9 dma_fence_release +EXPORT_SYMBOL vmlinux 0xe126b287 seq_dentry +EXPORT_SYMBOL vmlinux 0xe12a7213 param_set_copystring +EXPORT_SYMBOL vmlinux 0xe12bda79 vme_dma_free_attribute +EXPORT_SYMBOL vmlinux 0xe138fb8c percpu_counter_add_batch +EXPORT_SYMBOL vmlinux 0xe13ba859 sock_release +EXPORT_SYMBOL vmlinux 0xe13c655a param_set_int +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe14c0486 kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0xe1590a18 genlmsg_put +EXPORT_SYMBOL vmlinux 0xe1622bdd fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0xe164ad47 param_ops_charp +EXPORT_SYMBOL vmlinux 0xe16726cf config_item_init_type_name +EXPORT_SYMBOL vmlinux 0xe169a9c9 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xe16e7472 simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xe1771279 md_update_sb +EXPORT_SYMBOL vmlinux 0xe186beb0 touchscreen_parse_properties +EXPORT_SYMBOL vmlinux 0xe188eccb fb_pan_display +EXPORT_SYMBOL vmlinux 0xe18f0b6d tty_register_ldisc +EXPORT_SYMBOL vmlinux 0xe1972437 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xe197cb53 init_pseudo +EXPORT_SYMBOL vmlinux 0xe19e6e4f dev_set_alias +EXPORT_SYMBOL vmlinux 0xe1dcf64a audit_log_format +EXPORT_SYMBOL vmlinux 0xe1eff580 mmc_start_request +EXPORT_SYMBOL vmlinux 0xe1f466ce pcim_set_mwi +EXPORT_SYMBOL vmlinux 0xe1f5346a genphy_read_master_slave +EXPORT_SYMBOL vmlinux 0xe1fc4eae vfs_parse_fs_param_source +EXPORT_SYMBOL vmlinux 0xe2172e02 cpu_hwcaps +EXPORT_SYMBOL vmlinux 0xe21f18ac __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0xe21f4759 cont_write_begin +EXPORT_SYMBOL vmlinux 0xe22441c0 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0xe22664a8 __icmp_send +EXPORT_SYMBOL vmlinux 0xe23b4579 pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0xe2442e3f sk_error_report +EXPORT_SYMBOL vmlinux 0xe2492f99 scsi_host_put +EXPORT_SYMBOL vmlinux 0xe25e272c user_revoke +EXPORT_SYMBOL vmlinux 0xe260492b folio_alloc +EXPORT_SYMBOL vmlinux 0xe26ed74f neigh_seq_next +EXPORT_SYMBOL vmlinux 0xe271128b cpumask_any_distribute +EXPORT_SYMBOL vmlinux 0xe273d75d alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0xe2a67ae6 update_devfreq +EXPORT_SYMBOL vmlinux 0xe2b1d7b7 nvdimm_bus_lock +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2f18433 eth_gro_receive +EXPORT_SYMBOL vmlinux 0xe2ffcf02 pci_enable_device +EXPORT_SYMBOL vmlinux 0xe31625a6 vfs_getattr +EXPORT_SYMBOL vmlinux 0xe32ab4d8 xxh64_digest +EXPORT_SYMBOL vmlinux 0xe366b339 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0xe36a1eb5 vif_device_init +EXPORT_SYMBOL vmlinux 0xe375eb41 phy_ethtool_get_wol +EXPORT_SYMBOL vmlinux 0xe3851bcf i2c_transfer +EXPORT_SYMBOL vmlinux 0xe3860ef0 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xe39b2ea5 sha256 +EXPORT_SYMBOL vmlinux 0xe39ba270 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0xe3cb607d no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0xe3d11a2f xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xe3ec2f2b alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0xe3feba56 tasklet_unlock_spin_wait +EXPORT_SYMBOL vmlinux 0xe3ff2c41 get_random_u64 +EXPORT_SYMBOL vmlinux 0xe403170b locks_free_lock +EXPORT_SYMBOL vmlinux 0xe4048234 node_data +EXPORT_SYMBOL vmlinux 0xe406ec19 pci_request_region +EXPORT_SYMBOL vmlinux 0xe40976c0 pnp_range_reserved +EXPORT_SYMBOL vmlinux 0xe40c37ea down_write_trylock +EXPORT_SYMBOL vmlinux 0xe4329092 __ctzdi2 +EXPORT_SYMBOL vmlinux 0xe449a6c7 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0xe45b4e28 simple_link +EXPORT_SYMBOL vmlinux 0xe474f940 nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0xe47a697e of_get_property +EXPORT_SYMBOL vmlinux 0xe47f4d68 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0xe4a03ff3 register_cdrom +EXPORT_SYMBOL vmlinux 0xe4b72eaa filemap_alloc_folio +EXPORT_SYMBOL vmlinux 0xe4bbc1dd kimage_voffset +EXPORT_SYMBOL vmlinux 0xe4bc2c2f hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0xe4bd2327 unregister_shrinker +EXPORT_SYMBOL vmlinux 0xe4d347b0 generic_file_mmap +EXPORT_SYMBOL vmlinux 0xe4f30c46 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xe4fb9dfd pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0xe514e6bd inet_add_offload +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe52be527 mr_table_alloc +EXPORT_SYMBOL vmlinux 0xe533854e sock_no_linger +EXPORT_SYMBOL vmlinux 0xe53caaf0 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0xe5418399 clocksource_unregister +EXPORT_SYMBOL vmlinux 0xe54715e6 mdiobus_scan +EXPORT_SYMBOL vmlinux 0xe55247f3 iov_iter_discard +EXPORT_SYMBOL vmlinux 0xe5673305 mmc_can_gpio_ro +EXPORT_SYMBOL vmlinux 0xe56a52f8 devfreq_monitor_stop +EXPORT_SYMBOL vmlinux 0xe577870b pci_set_power_state +EXPORT_SYMBOL vmlinux 0xe57feefb qcom_scm_ocmem_unlock +EXPORT_SYMBOL vmlinux 0xe58090ca security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0xe5838756 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0xe585d1be inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0xe590dea3 sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0xe59deb00 d_obtain_root +EXPORT_SYMBOL vmlinux 0xe5ba83aa mmc_command_done +EXPORT_SYMBOL vmlinux 0xe5c38410 rproc_resource_cleanup +EXPORT_SYMBOL vmlinux 0xe5c60bd2 percpu_counter_set +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5cff003 netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0xe5dbba5c __pagevec_release +EXPORT_SYMBOL vmlinux 0xe5e1210b vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0xe5e9139e pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0xe60e31d8 d_tmpfile +EXPORT_SYMBOL vmlinux 0xe613a798 inet_addr_is_any +EXPORT_SYMBOL vmlinux 0xe6246d5a kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0xe6267fd6 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0xe62b91ba pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0xe62c90a5 ipmi_platform_add +EXPORT_SYMBOL vmlinux 0xe64470b9 dm_unregister_target +EXPORT_SYMBOL vmlinux 0xe6550092 utf8_casefold +EXPORT_SYMBOL vmlinux 0xe6793b29 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0xe67ed126 sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0xe681dab8 blk_queue_split +EXPORT_SYMBOL vmlinux 0xe6833b73 get_acl +EXPORT_SYMBOL vmlinux 0xe685a7fd rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0xe6abe622 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0xe6ce1f64 md_cluster_ops +EXPORT_SYMBOL vmlinux 0xe6d19729 would_dump +EXPORT_SYMBOL vmlinux 0xe6d2458e do_trace_netlink_extack +EXPORT_SYMBOL vmlinux 0xe6dcf4dd kernel_connect +EXPORT_SYMBOL vmlinux 0xe6fa06a2 rename_lock +EXPORT_SYMBOL vmlinux 0xe7102177 tty_hangup +EXPORT_SYMBOL vmlinux 0xe7257ab8 xa_store_range +EXPORT_SYMBOL vmlinux 0xe748c3ec d_make_root +EXPORT_SYMBOL vmlinux 0xe758d417 ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0xe7698027 ioremap_cache +EXPORT_SYMBOL vmlinux 0xe76bfc00 bpf_empty_prog_array +EXPORT_SYMBOL vmlinux 0xe7a02573 ida_alloc_range +EXPORT_SYMBOL vmlinux 0xe7b0353b __cpu_active_mask +EXPORT_SYMBOL vmlinux 0xe7b2d85c inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0xe7cc75b4 param_get_bool +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7dd790c send_sig +EXPORT_SYMBOL vmlinux 0xe7e2240c d_add_ci +EXPORT_SYMBOL vmlinux 0xe7e89942 inet_ioctl +EXPORT_SYMBOL vmlinux 0xe7f3772c blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0xe7f720ea sock_register +EXPORT_SYMBOL vmlinux 0xe7fa116c dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xe7fd019f put_cmsg +EXPORT_SYMBOL vmlinux 0xe80bbcb9 phy_trigger_machine +EXPORT_SYMBOL vmlinux 0xe8309cb8 fb_show_logo +EXPORT_SYMBOL vmlinux 0xe8330a5a call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0xe84b4c9d ip_do_fragment +EXPORT_SYMBOL vmlinux 0xe85f2123 acpi_tb_unload_table +EXPORT_SYMBOL vmlinux 0xe85fa9a2 cros_ec_get_host_event +EXPORT_SYMBOL vmlinux 0xe8605529 mipi_dsi_compression_mode +EXPORT_SYMBOL vmlinux 0xe863f4f2 generic_file_llseek +EXPORT_SYMBOL vmlinux 0xe896a251 tcp_seq_next +EXPORT_SYMBOL vmlinux 0xe8b5c3c3 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xe8bcf6d6 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0xe8cd84fb get_cached_acl +EXPORT_SYMBOL vmlinux 0xe8d34efe netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0xe8d51d9a pmem_should_map_pages +EXPORT_SYMBOL vmlinux 0xe8fbf4fa __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0xe90253f0 xudma_rflow_get +EXPORT_SYMBOL vmlinux 0xe903d7a7 __alloc_skb +EXPORT_SYMBOL vmlinux 0xe904ec2b ipv6_dev_find +EXPORT_SYMBOL vmlinux 0xe909997a bitmap_print_list_to_buf +EXPORT_SYMBOL vmlinux 0xe90bb932 devfreq_resume_device +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe91de0a1 kill_pid +EXPORT_SYMBOL vmlinux 0xe934918d input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe97a4eca bh_submit_read +EXPORT_SYMBOL vmlinux 0xe9802af3 ps2_sliced_command +EXPORT_SYMBOL vmlinux 0xe98640e2 neigh_carrier_down +EXPORT_SYMBOL vmlinux 0xe99e1055 dst_discard_out +EXPORT_SYMBOL vmlinux 0xe9af7397 __xa_set_mark +EXPORT_SYMBOL vmlinux 0xe9d46183 dma_supported +EXPORT_SYMBOL vmlinux 0xe9d691c6 tcf_block_put +EXPORT_SYMBOL vmlinux 0xe9dc12a4 zstd_get_error_name +EXPORT_SYMBOL vmlinux 0xe9df4cd1 mdiobus_read +EXPORT_SYMBOL vmlinux 0xe9e8faeb efi_tpm_final_log_size +EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0xe9f87fd8 generic_set_encrypted_ci_d_ops +EXPORT_SYMBOL vmlinux 0xe9ffc063 down_trylock +EXPORT_SYMBOL vmlinux 0xea1c3e3a arm_smccc_1_2_hvc +EXPORT_SYMBOL vmlinux 0xea25ba38 __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0xea362db6 mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0xea3c8e4e scsilun_to_int +EXPORT_SYMBOL vmlinux 0xea452a48 of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0xea6f9a36 zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0xea778fab sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0xea824003 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0xea8296d5 simple_recursive_removal +EXPORT_SYMBOL vmlinux 0xeab6f4c4 acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xeac35385 capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0xeac8d1af mipi_dsi_host_unregister +EXPORT_SYMBOL vmlinux 0xeaceb7f6 pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0xead8c400 bman_get_bpid +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeae974b0 tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0xeafc141f __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeb233a45 __kmalloc +EXPORT_SYMBOL vmlinux 0xeb2d489a vme_dma_list_free +EXPORT_SYMBOL vmlinux 0xeb35982c jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact +EXPORT_SYMBOL vmlinux 0xeb7329a2 qcom_scm_set_warm_boot_addr +EXPORT_SYMBOL vmlinux 0xeb7a82c7 qdisc_hash_del +EXPORT_SYMBOL vmlinux 0xeb7f6046 acpi_get_devices +EXPORT_SYMBOL vmlinux 0xeb9e913d sgl_alloc_order +EXPORT_SYMBOL vmlinux 0xeb9eef52 match_uint +EXPORT_SYMBOL vmlinux 0xeba6519f udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xebaa60dd dup_iter +EXPORT_SYMBOL vmlinux 0xebb30d4c pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0xebb4b2eb mipi_dsi_dcs_read +EXPORT_SYMBOL vmlinux 0xebde168c seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0xebe8b479 register_sysctl_mount_point +EXPORT_SYMBOL vmlinux 0xebebee3c flow_block_cb_setup_simple +EXPORT_SYMBOL vmlinux 0xebf6cd7f pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0xec029da4 __put_devmap_managed_page_refs +EXPORT_SYMBOL vmlinux 0xec0dbfeb sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xec1970db set_disk_ro +EXPORT_SYMBOL vmlinux 0xec1ddff4 skb_clone +EXPORT_SYMBOL vmlinux 0xec2b8a42 acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0xec2e1c8f proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0xec33c668 __SCK__tp_func_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xec3f9fbb do_SAK +EXPORT_SYMBOL vmlinux 0xec41716a qman_alloc_fqid_range +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec4fe13d bdev_end_io_acct +EXPORT_SYMBOL vmlinux 0xec5bf6de of_get_compatible_child +EXPORT_SYMBOL vmlinux 0xec71744b pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0xeca0fd75 add_to_page_cache_lru +EXPORT_SYMBOL vmlinux 0xecb08e5e module_refcount +EXPORT_SYMBOL vmlinux 0xecd108f9 pcie_get_mps +EXPORT_SYMBOL vmlinux 0xece784c2 rb_first +EXPORT_SYMBOL vmlinux 0xecf6ffab kernel_bind +EXPORT_SYMBOL vmlinux 0xecfc1059 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xecfd68ef acpi_get_node +EXPORT_SYMBOL vmlinux 0xed00c4fb acpi_os_printf +EXPORT_SYMBOL vmlinux 0xed238617 __put_cred +EXPORT_SYMBOL vmlinux 0xed55f929 acpi_os_unmap_generic_address +EXPORT_SYMBOL vmlinux 0xed60eac4 fs_bio_set +EXPORT_SYMBOL vmlinux 0xed656e30 udp_encap_disable +EXPORT_SYMBOL vmlinux 0xed757ec2 __genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xed8a2d95 memset64 +EXPORT_SYMBOL vmlinux 0xed90bdee __nla_put +EXPORT_SYMBOL vmlinux 0xed941d61 __serio_register_port +EXPORT_SYMBOL vmlinux 0xed9820ad genl_unregister_family +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedbbb918 xp_can_alloc +EXPORT_SYMBOL vmlinux 0xedc00cad set_blocksize +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedd17b31 sock_get_timeout +EXPORT_SYMBOL vmlinux 0xede8cf33 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xee13c07f jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee3803e6 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xee4fc3d9 vme_init_bridge +EXPORT_SYMBOL vmlinux 0xee567914 tcf_idr_search +EXPORT_SYMBOL vmlinux 0xee58e970 fb_add_videomode +EXPORT_SYMBOL vmlinux 0xee6a6ee2 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0xee7056d5 simple_transaction_get +EXPORT_SYMBOL vmlinux 0xee7d7deb gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xee883b06 __vmalloc_array +EXPORT_SYMBOL vmlinux 0xee8c02e9 vprintk_emit +EXPORT_SYMBOL vmlinux 0xee8d74d6 jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0xee91879b rb_first_postorder +EXPORT_SYMBOL vmlinux 0xee9edd5b ww_mutex_trylock +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeeaa9254 sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0xeeb17ef7 config_item_put +EXPORT_SYMBOL vmlinux 0xeec7cc46 seq_putc +EXPORT_SYMBOL vmlinux 0xeece1e93 ip_getsockopt +EXPORT_SYMBOL vmlinux 0xeed36514 clkdev_drop +EXPORT_SYMBOL vmlinux 0xeed8f7b2 vme_irq_free +EXPORT_SYMBOL vmlinux 0xeee5f119 open_exec +EXPORT_SYMBOL vmlinux 0xeee75d91 ucc_fast_init +EXPORT_SYMBOL vmlinux 0xeeeadd98 serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0xeeeb931a timestamp_truncate +EXPORT_SYMBOL vmlinux 0xeef5f068 pci_irq_vector +EXPORT_SYMBOL vmlinux 0xef27e40e __vfs_removexattr +EXPORT_SYMBOL vmlinux 0xef285191 genphy_update_link +EXPORT_SYMBOL vmlinux 0xef29adfc bio_free_pages +EXPORT_SYMBOL vmlinux 0xef395367 netdev_notice +EXPORT_SYMBOL vmlinux 0xef3b83c9 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xef3e80b5 inet_add_protocol +EXPORT_SYMBOL vmlinux 0xef45afe4 flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0xef482b03 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0xef4d3967 __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xef62543f dev_add_offload +EXPORT_SYMBOL vmlinux 0xef628b28 dquot_transfer +EXPORT_SYMBOL vmlinux 0xef675c1d inet6_release +EXPORT_SYMBOL vmlinux 0xef679769 inet_addr_type_table +EXPORT_SYMBOL vmlinux 0xef7c08be jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xef86aac6 rproc_coredump_add_custom_segment +EXPORT_SYMBOL vmlinux 0xef8ac53d qcom_scm_restore_sec_cfg +EXPORT_SYMBOL vmlinux 0xef9127aa kern_path_create +EXPORT_SYMBOL vmlinux 0xefaf2e4f tcf_queue_work +EXPORT_SYMBOL vmlinux 0xefc3cb0f f_setown +EXPORT_SYMBOL vmlinux 0xefc5c56f sunxi_sram_claim +EXPORT_SYMBOL vmlinux 0xefc5e09e sget +EXPORT_SYMBOL vmlinux 0xefcea2e7 acpi_warning +EXPORT_SYMBOL vmlinux 0xefee932c acpi_get_data_full +EXPORT_SYMBOL vmlinux 0xefeefc09 __SCK__tp_func_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xeff6c3a7 freezing_slow_path +EXPORT_SYMBOL vmlinux 0xeff8a1c1 __breadahead +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf007decf lookup_one_positive_unlocked +EXPORT_SYMBOL vmlinux 0xf00d17ec iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0xf017ddce pci_restore_state +EXPORT_SYMBOL vmlinux 0xf0181178 dev_get_stats +EXPORT_SYMBOL vmlinux 0xf01bef62 dump_align +EXPORT_SYMBOL vmlinux 0xf01c1200 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xf02aa937 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xf034f4e7 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0xf0455aa9 pci_release_regions +EXPORT_SYMBOL vmlinux 0xf04b2d6e neigh_changeaddr +EXPORT_SYMBOL vmlinux 0xf0511432 pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0xf063b32d blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0xf06a5b5d jbd2_journal_grab_journal_head +EXPORT_SYMBOL vmlinux 0xf08a69e6 unlock_new_inode +EXPORT_SYMBOL vmlinux 0xf09602d2 drop_super_exclusive +EXPORT_SYMBOL vmlinux 0xf09b5d9a get_zeroed_page +EXPORT_SYMBOL vmlinux 0xf0a71b1b revert_creds +EXPORT_SYMBOL vmlinux 0xf0b2419f cmd_db_read_aux_data +EXPORT_SYMBOL vmlinux 0xf0b95c61 d_mark_dontcache +EXPORT_SYMBOL vmlinux 0xf0e47e02 pid_task +EXPORT_SYMBOL vmlinux 0xf1015510 phy_set_asym_pause +EXPORT_SYMBOL vmlinux 0xf11dd46e _page_poisoning_enabled_early +EXPORT_SYMBOL vmlinux 0xf135a3ed sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xf1396b6f xsk_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0xf13ec0fb tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0xf148b7a1 __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0xf16547d5 igrab +EXPORT_SYMBOL vmlinux 0xf1734a1c sock_set_keepalive +EXPORT_SYMBOL vmlinux 0xf17d499b inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0xf17f1f0c scmd_printk +EXPORT_SYMBOL vmlinux 0xf17f5595 dma_resv_iter_next_unlocked +EXPORT_SYMBOL vmlinux 0xf18300ad logic_inb +EXPORT_SYMBOL vmlinux 0xf18c4889 reuseport_add_sock +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1969a8e __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xf1a1de3b devm_ioremap +EXPORT_SYMBOL vmlinux 0xf1a65f7b zstd_reset_dstream +EXPORT_SYMBOL vmlinux 0xf1c74611 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1dee1e9 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0xf1e046cc panic +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1eb8c18 serio_unregister_port +EXPORT_SYMBOL vmlinux 0xf1f969bf i2c_register_driver +EXPORT_SYMBOL vmlinux 0xf202adeb udp_ioctl +EXPORT_SYMBOL vmlinux 0xf227de65 mipi_dsi_picture_parameter_set +EXPORT_SYMBOL vmlinux 0xf2286bd2 fwnode_irq_get +EXPORT_SYMBOL vmlinux 0xf22c3b33 fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0xf22dba11 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0xf237ef14 blk_rq_init +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf24f5e33 tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0xf2532ee7 inode_permission +EXPORT_SYMBOL vmlinux 0xf2628676 zstd_compress_cctx +EXPORT_SYMBOL vmlinux 0xf264bd9a fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0xf2669a2c imx_scu_irq_register_notifier +EXPORT_SYMBOL vmlinux 0xf27aec9c pci_bus_type +EXPORT_SYMBOL vmlinux 0xf2850530 ihold +EXPORT_SYMBOL vmlinux 0xf28cf0ae __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf28effe8 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xf29403e5 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xf29f8515 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0xf2a2041b bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0xf2bfc737 mfd_remove_devices_late +EXPORT_SYMBOL vmlinux 0xf2c43f3f zlib_deflate +EXPORT_SYMBOL vmlinux 0xf2e5bd87 security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0xf2f53617 memregion_free +EXPORT_SYMBOL vmlinux 0xf2fd66f8 mdio_device_reset +EXPORT_SYMBOL vmlinux 0xf3058efd nd_btt_version +EXPORT_SYMBOL vmlinux 0xf3107926 sha224_update +EXPORT_SYMBOL vmlinux 0xf3328fac mdio_driver_unregister +EXPORT_SYMBOL vmlinux 0xf334e669 file_path +EXPORT_SYMBOL vmlinux 0xf338b39c phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0xf33b7a22 mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0xf341ee35 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf34804f7 xattr_full_name +EXPORT_SYMBOL vmlinux 0xf3495cab __module_put_and_kthread_exit +EXPORT_SYMBOL vmlinux 0xf353a698 register_module_notifier +EXPORT_SYMBOL vmlinux 0xf35f93fa neigh_for_each +EXPORT_SYMBOL vmlinux 0xf3646626 seq_hex_dump +EXPORT_SYMBOL vmlinux 0xf367585a d_splice_alias +EXPORT_SYMBOL vmlinux 0xf36f42a9 slhc_uncompress +EXPORT_SYMBOL vmlinux 0xf37f8de6 fman_bind +EXPORT_SYMBOL vmlinux 0xf38112c6 netdev_name_in_use +EXPORT_SYMBOL vmlinux 0xf38a51ac rproc_coredump_add_segment +EXPORT_SYMBOL vmlinux 0xf38f71ee unregister_framebuffer +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf3932313 mb_cache_entry_wait_unused +EXPORT_SYMBOL vmlinux 0xf39793c0 dquot_commit_info +EXPORT_SYMBOL vmlinux 0xf3a57892 release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xf3dbdb87 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xf3ddf247 __free_pages +EXPORT_SYMBOL vmlinux 0xf3e0e1df allocate_resource +EXPORT_SYMBOL vmlinux 0xf3ee6c63 fs_context_for_mount +EXPORT_SYMBOL vmlinux 0xf3f4a074 genphy_write_mmd_unsupported +EXPORT_SYMBOL vmlinux 0xf3fc8a70 ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0xf4071423 ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0xf416eb6b fb_class +EXPORT_SYMBOL vmlinux 0xf43d2caa acpi_remove_interface +EXPORT_SYMBOL vmlinux 0xf43fe9e3 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0xf44a904a net_ns_barrier +EXPORT_SYMBOL vmlinux 0xf4546999 dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0xf4588f51 sk_stop_timer_sync +EXPORT_SYMBOL vmlinux 0xf46da41e udp_skb_destructor +EXPORT_SYMBOL vmlinux 0xf474c21c bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0xf474fdcb kfree_const +EXPORT_SYMBOL vmlinux 0xf4854af0 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0xf4ad10a0 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0xf4b6540a framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xf4b754fd acpi_resources_are_enforced +EXPORT_SYMBOL vmlinux 0xf4db35bc stpcpy +EXPORT_SYMBOL vmlinux 0xf4e336b4 rproc_get_by_child +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f856ea fman_port_get_device +EXPORT_SYMBOL vmlinux 0xf514274e tcp_poll +EXPORT_SYMBOL vmlinux 0xf5280b26 md_bitmap_update_sb +EXPORT_SYMBOL vmlinux 0xf52a6108 inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf55de031 finish_open +EXPORT_SYMBOL vmlinux 0xf55f6c60 folio_migrate_flags +EXPORT_SYMBOL vmlinux 0xf57412b9 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0xf57c19c3 tcf_idr_create +EXPORT_SYMBOL vmlinux 0xf591753d nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xf5928f49 inet6_bind +EXPORT_SYMBOL vmlinux 0xf5a1017a qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0xf5a20ed2 __genradix_prealloc +EXPORT_SYMBOL vmlinux 0xf5add0ae ns_capable_setid +EXPORT_SYMBOL vmlinux 0xf5b40e25 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xf5bb8367 input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0xf5bcb8fc ether_setup +EXPORT_SYMBOL vmlinux 0xf5e7ea40 ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0xf602fe13 clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0xf6103def unregister_qdisc +EXPORT_SYMBOL vmlinux 0xf616f49a __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0xf62c39fe ucc_slow_graceful_stop_tx +EXPORT_SYMBOL vmlinux 0xf62c8797 __phy_write_mmd +EXPORT_SYMBOL vmlinux 0xf63e9c61 sockfd_lookup +EXPORT_SYMBOL vmlinux 0xf643d104 hsiphash_4u32 +EXPORT_SYMBOL vmlinux 0xf6618c68 genphy_read_mmd_unsupported +EXPORT_SYMBOL vmlinux 0xf6652b4d tcp_connect +EXPORT_SYMBOL vmlinux 0xf665f74f sock_load_diag_module +EXPORT_SYMBOL vmlinux 0xf66e44b2 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0xf67c941b alloc_fddidev +EXPORT_SYMBOL vmlinux 0xf67f344b __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0xf68285c0 register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xf6890a65 init_task +EXPORT_SYMBOL vmlinux 0xf68db1e2 file_remove_privs +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6f9d58d init_on_free +EXPORT_SYMBOL vmlinux 0xf6fc8791 __bitmap_xor +EXPORT_SYMBOL vmlinux 0xf7057e46 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xf70b6dea sock_init_data +EXPORT_SYMBOL vmlinux 0xf70e9296 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0xf72a0394 sg_alloc_table_from_pages_segment +EXPORT_SYMBOL vmlinux 0xf72c52c2 ptp_clock_index +EXPORT_SYMBOL vmlinux 0xf7370f56 system_state +EXPORT_SYMBOL vmlinux 0xf738d1be register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xf759a004 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0xf75a0eab simple_release_fs +EXPORT_SYMBOL vmlinux 0xf7654eeb udp6_csum_init +EXPORT_SYMBOL vmlinux 0xf767cad4 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xf76843b5 qcom_scm_pas_supported +EXPORT_SYMBOL vmlinux 0xf7719a57 kill_anon_super +EXPORT_SYMBOL vmlinux 0xf77337a1 hdmi_audio_infoframe_check +EXPORT_SYMBOL vmlinux 0xf77555cd __memcpy_toio +EXPORT_SYMBOL vmlinux 0xf7987057 __ip_select_ident +EXPORT_SYMBOL vmlinux 0xf7b056ff of_node_name_eq +EXPORT_SYMBOL vmlinux 0xf7b7ad1c udp_seq_stop +EXPORT_SYMBOL vmlinux 0xf7c48778 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0xf7d31de9 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0xf7d3781c neigh_table_clear +EXPORT_SYMBOL vmlinux 0xf7d75941 phy_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0xf7da6e6f acpi_unload_table +EXPORT_SYMBOL vmlinux 0xf7ea6311 qman_p_poll_dqrr +EXPORT_SYMBOL vmlinux 0xf7ebbbfd devm_free_irq +EXPORT_SYMBOL vmlinux 0xf7f05c17 fman_port_use_kg_hash +EXPORT_SYMBOL vmlinux 0xf7f11e92 kset_unregister +EXPORT_SYMBOL vmlinux 0xf7fcb827 remap_pfn_range +EXPORT_SYMBOL vmlinux 0xf810a548 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0xf811d070 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf812cff6 memscan +EXPORT_SYMBOL vmlinux 0xf8237bcc mfd_add_devices +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82ec573 rb_prev +EXPORT_SYMBOL vmlinux 0xf83bbdbc mipi_dsi_dcs_get_power_mode +EXPORT_SYMBOL vmlinux 0xf846d9a0 pldmfw_op_pci_match_record +EXPORT_SYMBOL vmlinux 0xf84bd6ee bpf_stats_enabled_key +EXPORT_SYMBOL vmlinux 0xf866b00c tegra_io_pad_power_enable +EXPORT_SYMBOL vmlinux 0xf879415c cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0xf888ca21 sg_init_table +EXPORT_SYMBOL vmlinux 0xf8a53c5a tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0xf8c5bc1b inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xf8d07858 bitmap_from_arr32 +EXPORT_SYMBOL vmlinux 0xf8d2bc2c zstd_find_frame_compressed_size +EXPORT_SYMBOL vmlinux 0xf8e4d607 nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0xf8ec9d33 fb_get_mode +EXPORT_SYMBOL vmlinux 0xf8ece241 eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0xf8edfaac cros_ec_prepare_tx +EXPORT_SYMBOL vmlinux 0xf8f19e6e complete_request_key +EXPORT_SYMBOL vmlinux 0xf8f61ebc wake_up_var +EXPORT_SYMBOL vmlinux 0xf90ac498 param_set_hexint +EXPORT_SYMBOL vmlinux 0xf913bf57 dev_mc_flush +EXPORT_SYMBOL vmlinux 0xf91b89ab fman_sp_build_buffer_struct +EXPORT_SYMBOL vmlinux 0xf93aae46 __arm_smccc_smc +EXPORT_SYMBOL vmlinux 0xf93fd09c fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xf95c619b acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0xf969e188 dma_fence_array_next +EXPORT_SYMBOL vmlinux 0xf96b6ffb vfs_fadvise +EXPORT_SYMBOL vmlinux 0xf971ea8a xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0xf9722676 twl_i2c_write +EXPORT_SYMBOL vmlinux 0xf97682c6 dmaenginem_async_device_register +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9accd7f tcf_block_get +EXPORT_SYMBOL vmlinux 0xf9af449a qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0xf9bab0f8 put_disk +EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat +EXPORT_SYMBOL vmlinux 0xf9ca2eb4 kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0xf9d0bb1a pci_write_config_byte +EXPORT_SYMBOL vmlinux 0xf9db9aff ping_prot +EXPORT_SYMBOL vmlinux 0xf9de5d56 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0xfa026956 t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0xfa042227 gnet_stats_add_basic +EXPORT_SYMBOL vmlinux 0xfa08c34a page_offline_end +EXPORT_SYMBOL vmlinux 0xfa297415 acpi_map_pxm_to_node +EXPORT_SYMBOL vmlinux 0xfa2e5f32 i2c_smbus_pec +EXPORT_SYMBOL vmlinux 0xfa342926 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0xfa3e8e5c tc_setup_offload_action +EXPORT_SYMBOL vmlinux 0xfa4583a0 of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0xfa599bb2 netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xfa7546c8 fman_set_mac_active_pause +EXPORT_SYMBOL vmlinux 0xfa81eec8 dma_map_page_attrs +EXPORT_SYMBOL vmlinux 0xfaa29b3f scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0xfaaa12d0 _page_poisoning_enabled +EXPORT_SYMBOL vmlinux 0xfaacf447 __traceiter_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfacb8ab7 __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0xfaf11950 sk_free +EXPORT_SYMBOL vmlinux 0xfb041007 inet_select_addr +EXPORT_SYMBOL vmlinux 0xfb221f46 d_alloc_parallel +EXPORT_SYMBOL vmlinux 0xfb348fea fault_in_safe_writeable +EXPORT_SYMBOL vmlinux 0xfb352c58 __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0xfb384d37 kasprintf +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb7b611b phy_free_interrupt +EXPORT_SYMBOL vmlinux 0xfb900a3b phy_start_aneg +EXPORT_SYMBOL vmlinux 0xfb93326e udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xfb942936 param_get_byte +EXPORT_SYMBOL vmlinux 0xfba71818 __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0xfba7ddd2 match_u64 +EXPORT_SYMBOL vmlinux 0xfbaa71ef mmc_gpiod_request_ro +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbad3cf0 scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0xfbb8a761 strscpy_pad +EXPORT_SYMBOL vmlinux 0xfbc4f89e io_schedule_timeout +EXPORT_SYMBOL vmlinux 0xfbd2708f input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0xfbe48dbc twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0xfbe4b175 qman_create_cgr +EXPORT_SYMBOL vmlinux 0xfbe8ee28 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0xfbfa5061 sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0xfc336d2e __wake_up_bit +EXPORT_SYMBOL vmlinux 0xfc4152fc ec_read +EXPORT_SYMBOL vmlinux 0xfc421e79 gnet_stats_add_queue +EXPORT_SYMBOL vmlinux 0xfc425d8d rpmh_invalidate +EXPORT_SYMBOL vmlinux 0xfc44464e phy_drivers_unregister +EXPORT_SYMBOL vmlinux 0xfc457171 lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0xfc4e52ab nf_log_unset +EXPORT_SYMBOL vmlinux 0xfc4f3ffa ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0xfc52abc7 qcom_scm_pas_shutdown +EXPORT_SYMBOL vmlinux 0xfc630086 copy_page_from_iter_atomic +EXPORT_SYMBOL vmlinux 0xfc6a3bb0 __folio_alloc +EXPORT_SYMBOL vmlinux 0xfc7ccd2b netdev_info +EXPORT_SYMBOL vmlinux 0xfc81e3f6 devm_of_clk_del_provider +EXPORT_SYMBOL vmlinux 0xfc881b89 fman_port_get_hash_result_offset +EXPORT_SYMBOL vmlinux 0xfc9315f3 pps_lookup_dev +EXPORT_SYMBOL vmlinux 0xfc9ed8c3 qcom_scm_ice_available +EXPORT_SYMBOL vmlinux 0xfca3fc34 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0xfcac4879 scsi_ioctl +EXPORT_SYMBOL vmlinux 0xfcae4596 netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0xfcb45c6b page_pool_release_page +EXPORT_SYMBOL vmlinux 0xfcbd459c mntput +EXPORT_SYMBOL vmlinux 0xfcbfdd5f tcp_gro_complete +EXPORT_SYMBOL vmlinux 0xfcce2f7d ucc_fast_enable +EXPORT_SYMBOL vmlinux 0xfcd1819a hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0xfcdd8436 genphy_suspend +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcf9605a lookup_one_unlocked +EXPORT_SYMBOL vmlinux 0xfd08aef4 request_partial_firmware_into_buf +EXPORT_SYMBOL vmlinux 0xfd37e34f blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0xfd425da8 vme_master_request +EXPORT_SYMBOL vmlinux 0xfd4269ee mipi_dsi_dcs_get_display_brightness_large +EXPORT_SYMBOL vmlinux 0xfd4337d1 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0xfd6837e9 thaw_bdev +EXPORT_SYMBOL vmlinux 0xfd7493fa of_get_cpu_state_node +EXPORT_SYMBOL vmlinux 0xfd755b17 of_phy_is_fixed_link +EXPORT_SYMBOL vmlinux 0xfd93d29b cdev_alloc +EXPORT_SYMBOL vmlinux 0xfd9a7cd0 md_write_end +EXPORT_SYMBOL vmlinux 0xfdb8960d remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0xfdc82401 simple_pin_fs +EXPORT_SYMBOL vmlinux 0xfdcb4ed3 acpi_os_get_line +EXPORT_SYMBOL vmlinux 0xfdcc8a0e fb_find_best_display +EXPORT_SYMBOL vmlinux 0xfdd79d43 flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0xfdd8dea6 md_flush_request +EXPORT_SYMBOL vmlinux 0xfde49e64 phy_request_interrupt +EXPORT_SYMBOL vmlinux 0xfdec40cd rproc_set_firmware +EXPORT_SYMBOL vmlinux 0xfe029963 unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xfe1d2e94 key_create_or_update +EXPORT_SYMBOL vmlinux 0xfe277ca2 tty_unlock +EXPORT_SYMBOL vmlinux 0xfe43d7d9 crypto_kdf108_ctr_generate +EXPORT_SYMBOL vmlinux 0xfe487975 init_wait_entry +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe61ca50 keyring_clear +EXPORT_SYMBOL vmlinux 0xfe6925fb serial8250_do_pm +EXPORT_SYMBOL vmlinux 0xfe916dc6 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0xfe98e083 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0xfe9ebbbb acpi_osi_is_win8 +EXPORT_SYMBOL vmlinux 0xfea69a3a input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0xfeb5d0aa verify_spi_info +EXPORT_SYMBOL vmlinux 0xfec3fa3d input_open_device +EXPORT_SYMBOL vmlinux 0xfec4da3d neigh_xmit +EXPORT_SYMBOL vmlinux 0xfed0cb8b netdev_warn +EXPORT_SYMBOL vmlinux 0xfed65081 udp_gro_receive +EXPORT_SYMBOL vmlinux 0xfedcdb60 seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfef51fba fman_set_port_params +EXPORT_SYMBOL vmlinux 0xfefcb98e vme_dma_vme_attribute +EXPORT_SYMBOL vmlinux 0xfeff6ae0 import_single_range +EXPORT_SYMBOL vmlinux 0xff146569 jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff282521 rfkill_register +EXPORT_SYMBOL vmlinux 0xff2aa71e generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0xff31c6b5 tcf_qevent_handle +EXPORT_SYMBOL vmlinux 0xff3ae864 input_inject_event +EXPORT_SYMBOL vmlinux 0xff51b2fb xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xff60e6f4 invalidate_disk +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff6bde3a jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xff787d3d sock_kfree_s +EXPORT_SYMBOL vmlinux 0xff7e7f8d kryo_l2_set_indirect_reg +EXPORT_SYMBOL vmlinux 0xff87cd18 lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0xff90f443 register_netdevice +EXPORT_SYMBOL vmlinux 0xff933605 md_reload_sb +EXPORT_SYMBOL vmlinux 0xff94413a blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xff97c213 unlock_page +EXPORT_SYMBOL vmlinux 0xffa1289c register_fib_notifier +EXPORT_SYMBOL vmlinux 0xffac44ed seq_bprintf +EXPORT_SYMBOL vmlinux 0xffb7c514 ida_free +EXPORT_SYMBOL vmlinux 0xffbfb077 inode_set_flags +EXPORT_SYMBOL vmlinux 0xffc4f200 zstd_compress_stream +EXPORT_SYMBOL vmlinux 0xffc65164 pci_read_vpd_any +EXPORT_SYMBOL vmlinux 0xffcc4ec7 tcp_bpf_bypass_getsockopt +EXPORT_SYMBOL vmlinux 0xffd34edf blkdev_compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0xffd4be00 inode_io_list_del +EXPORT_SYMBOL vmlinux 0xffeedf6a delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0xfff858fd nexthop_bucket_set_hw_flags +EXPORT_SYMBOL vmlinux 0xfffa4690 drm_firmware_drivers_only +EXPORT_SYMBOL_GPL crypto/af_alg 0x007431fd af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0x127d2f94 af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0x1742a021 af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0x22af8aac af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x28f6c5ad af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0x654adc61 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x65647109 af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0x675a4a0d af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0x75148bb9 af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x85b53bfe af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/af_alg 0x89907575 af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0x8dcc6f7e af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x8e97858b af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x92b320c9 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xb75a48ab af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0xbbdb0eb8 af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xcf962ab8 af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xd3c0a1ce af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x678c819a async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x7a33fb92 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x991c635d async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x04132c95 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xe1874e37 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x0a9d3f4c async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x1d4d6eae async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x49056138 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x7c64c624 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x56804144 async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xabf7ec39 async_xor_offs +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xb3370167 async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xba9f21f6 async_xor_val_offs +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x747edc09 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x596e8272 cast5_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xef81a4af __cast5_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x3dbae082 __cast6_decrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0xcfce512f __cast6_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0xd76a5716 __cast6_setkey +EXPORT_SYMBOL_GPL crypto/cast6_generic 0xffe53f41 cast6_setkey +EXPORT_SYMBOL_GPL crypto/cast_common 0x5609ce41 cast_s2 +EXPORT_SYMBOL_GPL crypto/cast_common 0x5b17be06 cast_s4 +EXPORT_SYMBOL_GPL crypto/cast_common 0xb9cba57f cast_s3 +EXPORT_SYMBOL_GPL crypto/cast_common 0xbd3e7542 cast_s1 +EXPORT_SYMBOL_GPL crypto/cryptd 0x016b22e5 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x1a1204a4 cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x23a591bb cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x3161ea41 cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x39b846f6 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x400b358b cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x6d51ad83 cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x8bb57cc3 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x9010f33a cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x9c0771b0 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xd1017c43 cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0xe5462d9b cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xe859b5d5 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x0f6a2be4 crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x1d44989d crypto_finalize_kpp_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x1fefe570 crypto_finalize_hash_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x32da8a09 crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x3b5822bf crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x718ce48b crypto_transfer_kpp_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7a396371 crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7e679210 crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xa44bd01c crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xac84f0ec crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xc0b47d61 crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xd7813787 crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xe0e4ba4c crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xe40577ec crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xf4cff527 crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x33b866ce crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7475be8e crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0xb230d2ec crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x4eb4c55e __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x91e8a284 serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xbcc074f3 __serpent_decrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xd4c9681a __serpent_setkey +EXPORT_SYMBOL_GPL crypto/sm3 0xa98edad1 sm3_update +EXPORT_SYMBOL_GPL crypto/sm3 0xf04338f9 sm3_final +EXPORT_SYMBOL_GPL crypto/sm3_generic 0x0bddca87 sm3_zero_message_hash +EXPORT_SYMBOL_GPL crypto/sm4 0x24e254e8 sm4_expandkey +EXPORT_SYMBOL_GPL crypto/sm4 0xfa81970e sm4_crypt_block +EXPORT_SYMBOL_GPL crypto/twofish_common 0x4fff120d twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe22b7787 __twofish_setkey +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x3944ce69 acpi_nfit_ctl +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x4639bcda acpi_nfit_shutdown +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x499bbf57 nfit_get_smbios_id +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x770f0b6d __acpi_nfit_notify +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0xd23b65dd acpi_nfit_init +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0xe79a6010 acpi_nfit_desc_init +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0xfd37b749 __acpi_nvdimm_notify +EXPORT_SYMBOL_GPL drivers/acpi/platform_profile 0x67927a0d platform_profile_notify +EXPORT_SYMBOL_GPL drivers/acpi/platform_profile 0xbfe36436 platform_profile_remove +EXPORT_SYMBOL_GPL drivers/acpi/platform_profile 0xcac33cd4 platform_profile_register +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xf978348e __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0xca39eb9b sis_info133_for_sata +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x09917359 charlcd_poke +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x6fd9cc4a charlcd_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x8b45326c charlcd_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xd3e29970 charlcd_backlight +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xf3304696 charlcd_free +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xf883c540 charlcd_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x07b26ecc hd44780_common_gotoxy +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x1aa688fd hd44780_common_lines +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x23159a5b hd44780_common_clear_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x30e85287 hd44780_common_shift_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x36dc00a2 hd44780_common_print +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x3c4c183f hd44780_common_home +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x489c89e8 hd44780_common_redefine_char +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x64415593 hd44780_common_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x79e8e259 hd44780_common_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x8585e5fd hd44780_common_blink +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x8d4f3fa4 hd44780_common_init_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0xa22afdaa hd44780_common_cursor +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0xc369090d hd44780_common_shift_cursor +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0xf360d788 hd44780_common_fontsize +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x14102f23 ks0108_displaystate +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x48a70518 ks0108_writedata +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x4f506333 ks0108_startline +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x6edae968 ks0108_isinited +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xbf4774db ks0108_writecontrol +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xedde6df2 ks0108_page +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xfee8ef7b ks0108_address +EXPORT_SYMBOL_GPL drivers/auxdisplay/line-display 0x3deb3fe7 linedisp_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/line-display 0xba641cfa linedisp_register +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-ac97 0x3da6de0c __regmap_init_ac97 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-ac97 0xa66e0d82 __devm_regmap_init_ac97 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-ac97 0xaafba071 regmap_ac97_default_volatile +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-i3c 0xf435483b __devm_regmap_init_i3c +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0xd6c84cb6 __regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0xe7c48036 __devm_regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0xaab1a660 __regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0xae0a0240 __devm_regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw-mbq 0x99d22e4f __regmap_init_sdw_mbq +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw-mbq 0xe7cdc7a7 __devm_regmap_init_sdw_mbq +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x390768b4 __devm_regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x946b9e0b __regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spi-avmm 0x9d166442 __regmap_init_spi_avmm +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spi-avmm 0xdba59479 __devm_regmap_init_spi_avmm +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x08c78f6e __regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x93527ea5 __devm_regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xf78e053c __regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xfba38bf5 __devm_regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x9bca3895 __devm_regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0xc9224aad __regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x01d06cd8 bcma_host_pci_down +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x037697d6 bcma_host_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x0d1c9033 bcma_pmu_get_bus_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1177729e bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1621cda3 bcma_chipco_get_alp_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1e00037f bcma_host_pci_up +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x2b9ffa89 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x31779a0e bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x35017bcd bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3efb0618 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x415d9477 bcma_find_core_unit +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x5478d878 bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x54fda337 bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x69f2a8d4 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc5fd24d2 bcma_chipco_gpio_out +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc6fffabb bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xca3959b5 bcma_chipco_pll_read +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xcd967656 bcma_chipco_b_mii_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xd8b6641f bcma_chipco_gpio_outen +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xde9aeca5 bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf6abec36 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf90a440c bcma_core_pci_power_save +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xfa73b49d bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xfbb33e51 bcma_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x1bd6ff33 btbcm_read_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x356f9dd5 btbcm_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x5669e5e9 btbcm_write_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x7e870ae1 btbcm_setup_patchram +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x8b0f4db6 btbcm_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x8e1aed33 btbcm_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xa0f95385 btbcm_setup_apple +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xfeee4ff1 btbcm_finalize +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x0747a7c3 btintel_enter_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x26387264 btintel_version_info +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x2b7a4d32 btintel_set_quality_report +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x3dc61db3 btintel_bootup +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x41e716f9 btintel_read_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x5af078a8 btintel_configure_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x5d339827 btintel_exit_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x60cf8a25 btintel_set_diag +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7e1e3e3d btintel_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7e2a5894 btintel_set_event_mask_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x8222703d btintel_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xa2a42d92 btintel_read_boot_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xa48c2bdc btintel_load_ddc_config +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xa56478e6 btintel_send_intel_reset +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xaf3439f9 btintel_secure_send_result +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xb9dc7c82 btintel_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xc155842e btintel_regmap_init +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x011aafaf btmrvl_pscan_window_reporting +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x219b07d4 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x2415f286 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x2e665f3e btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x3e732288 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x70192312 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x75355aa0 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x93ff542c btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd60d139d btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xdd1dc36b btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xf5761512 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x04cae3c5 btmtk_setup_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x3766c54d btmtk_setup_firmware_79xx +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0xcc4e2b37 btmtk_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x850e5b59 qca_uart_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x8ddfcf61 qca_read_soc_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x91ecdc1f qca_set_bdaddr_rome +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x95a34003 qca_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xcd8ba2ff qca_send_pre_shutdown_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x08a095b0 btrtl_setup_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x2c6fb791 btrtl_shutdown_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x5119ec44 btrtl_set_quirks +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x7a4611fc btrtl_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xabd0bd54 btrtl_get_uart_settings +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xaf78f260 btrtl_free +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xfee9f272 btrtl_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x3cf7435a hci_uart_tx_wakeup +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xc1b1fcc4 hci_uart_unregister_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xc4e7a684 hci_uart_register_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xe7d65d32 h4_recv_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x0c0343fc __mhi_ep_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x2da45ea2 mhi_ep_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x34e28f83 mhi_ep_queue_is_empty +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x461d3868 mhi_ep_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x7834244d mhi_ep_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xa5998f96 mhi_ep_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xcc85fda9 mhi_ep_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xdaf798f3 mhi_ep_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x0a949529 mhi_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x0b10df0d mhi_pm_suspend +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x0d6ab41a mhi_queue_is_full +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x25764f0a mhi_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x3861a833 mhi_unprepare_after_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x3f0c1655 mhi_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x43ea4a25 mhi_free_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x44fd0c6d mhi_device_get_sync +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x4963c4aa mhi_alloc_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x5694370d mhi_device_get +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x56e043d6 mhi_prepare_for_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x59d93e1d mhi_queue_dma +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x647ab251 mhi_prepare_for_transfer_autoqueue +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x6cfcf58a mhi_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x6fe1ddf2 mhi_async_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x70214a5c mhi_force_rddm_mode +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7bcaad4c mhi_get_free_desc_count +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7e81ca3d mhi_poll +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x938faee7 mhi_get_exec_env +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x983ffa78 mhi_pm_resume_force +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x9bb9beb9 __mhi_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xc409dc88 mhi_queue_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xccf54807 mhi_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xce17e615 mhi_unprepare_from_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xcfe74833 mhi_device_put +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xdd52a645 mhi_download_rddm_image +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xe5d69ab1 mhi_prepare_for_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xe9ee2753 mhi_get_mhi_state +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xee00e5d5 mhi_notify +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xeea631a6 mhi_pm_resume +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xfb699d81 mhi_soc_reset +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x62b55aa2 moxtet_device_read +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x6625797a __moxtet_register_driver +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x741cf570 moxtet_device_write +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0xa7bed94d moxtet_device_written +EXPORT_SYMBOL_GPL drivers/bus/sunxi-rsb 0x6798050d __devm_regmap_init_sunxi_rsb +EXPORT_SYMBOL_GPL drivers/bus/sunxi-rsb 0x79d60614 sunxi_rsb_driver_register +EXPORT_SYMBOL_GPL drivers/clk/meson/clk-phase 0x5b66062d meson_clk_phase_ops +EXPORT_SYMBOL_GPL drivers/clk/meson/clk-phase 0x749b7115 meson_clk_triphase_ops +EXPORT_SYMBOL_GPL drivers/clk/meson/clk-phase 0xfffbae9a meson_sclk_ws_inv_ops +EXPORT_SYMBOL_GPL drivers/clk/meson/sclk-div 0x8538267c meson_sclk_div_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0000139e clk_alpha_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x04c25256 clk_enable_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x05ecbb69 qcom_find_cfg_index +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0acb167e qcom_find_src_index +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0d678ab9 qcom_reset_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0e5f8a53 clk_pll_sr2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0e98da3d clk_pll_vote_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x1715ef2d clk_disable_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x17d44071 clk_alpha_pll_hwfsm_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x183be5e6 clk_alpha_pll_agera_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x1a142e7c clk_alpha_pll_fixed_trion_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x1cbd386f clk_rcg_floor_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x20796d46 clk_trion_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x24a7abf5 clk_zonda_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x272f3204 clk_alpha_pll_fixed_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x29c40ae0 clk_alpha_pll_fixed_lucid_evo_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x2a9c7452 clk_rcg_lcc_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x2b0d957d clk_pixel_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x2cae96b3 clk_regmap_div_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x30bbf987 clk_rcg2_shared_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x310b6341 clk_regmap_mux_closest_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x3747af55 clk_rcg_bypass2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x395868a1 qcom_find_freq_floor +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x3dfc2dc5 clk_branch_simple_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x405d394a clk_alpha_pll_postdiv_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x418e9cfd clk_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x4b0ed6da clk_ops_hfpll +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x5111f2ad clk_rcg2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x520df3b7 clk_rcg_esc_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x5648e428 qcom_cc_map +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x57172323 clk_byte_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x5a6ae327 clk_alpha_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x5e6abb22 mux_div_set_src_div +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x615dbb77 clk_branch2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x618644ff qcom_cc_register_rcg_dfs +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x631939a9 clk_branch2_aon_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x63ee9aa4 clk_alpha_pll_fixed_fabia_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x66922845 clk_branch_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x6af41b8b qcom_pll_set_fsm_mode +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7019378d clk_pll_configure_sr_hpm_lp +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x766e9f87 clk_regmap_div_ro_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x787e8234 qcom_find_freq +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x78b81ea0 clk_rcg2_floor_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7a7d500f clk_fabia_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7e66fd9e clk_regmap_mux_div_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x815208e5 qcom_cc_register_sleep_clk +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x83bba3e8 qcom_cc_probe +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x8b55eac4 clk_dyn_rcg_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x8b8647a8 clk_alpha_pll_postdiv_lucid_evo_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x91c41c9f clk_edp_pixel_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x966a6564 qcom_cc_probe_by_index +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x97488818 clk_rcg_pixel_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9c8854a1 clk_alpha_pll_lucid_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9d909edd clk_gfx3d_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9f1bf2e0 clk_alpha_pll_trion_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9f241baa clk_rcg_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9f7e8f6f clk_is_enabled_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xaa403ee8 clk_alpha_pll_huayra_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xac2e73bf clk_alpha_pll_regs +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xadc2751b clk_alpha_pll_postdiv_fabia_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xb06e70bc qcom_cc_register_board_clk +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xb44b6143 devm_clk_register_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xba961aa7 clk_dp_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xc150d434 clk_alpha_pll_postdiv_ro_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xc5bdfa11 clk_byte2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xc82bd181 clk_agera_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xcf422970 clk_rcg_bypass_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xd438c1c3 clk_alpha_pll_postdiv_trion_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xd7ab6782 clk_alpha_pll_postdiv_lucid_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xd8088a7d qcom_cc_really_probe +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xe6e14638 clk_alpha_pll_fabia_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xe816a036 clk_pll_configure_sr +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xe98e8adc gdsc_gx_do_nothing_enable +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x04ce0e79 sprd_div_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x0c4a3ff2 sprd_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x0d211e35 sprd_div_helper_set_rate +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x222c95c0 sprd_gate_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x22d03ac8 sprd_div_helper_recalc_rate +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x3f935c2e sprd_clk_probe +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x48389852 sprd_mux_helper_get_parent +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x4eafd811 sprd_div_helper_round_rate +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x81f58298 sprd_mux_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x947710bf sprd_sc_gate_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0xae500868 sprd_clk_regmap_init +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0xcb179ccb sprd_comp_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0xd23445df sprd_pll_sc_gate_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0xdbfae6c8 sprd_mux_helper_set_parent +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x21102f87 range_0_32mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x296bd9c0 comedi_buf_read_alloc +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2b8ab0e1 comedi_alloc_subdevices +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x3456168a comedi_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x36d5a920 comedi_buf_write_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x3b2e7b37 comedi_alloc_devpriv +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x3f525938 comedi_bytes_per_scan +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4236eaaf range_4_20mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x49517a5d comedi_alloc_subdev_readback +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x50ddf4b5 comedi_nsamples_left +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x539396ae comedi_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x55e075e7 comedi_dio_insn_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x5a91583e comedi_buf_read_n_available +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x5af73372 comedi_alloc_spriv +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x63fcd455 comedi_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x641af48c comedi_legacy_detach +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x75e393f7 comedi_is_subdevice_running +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7767e348 comedi_buf_write_alloc +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x786a3e97 comedi_nscans_left +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7adc1fe2 comedi_set_spriv_auto_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7c647de8 comedi_dev_get_from_minor +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x81347f20 comedi_dev_put +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x841e4144 comedi_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x8ef0aefe comedi_event +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xaa11faf3 comedi_check_chanlist +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xb679cebc range_0_20mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xbba47cbc comedi_handle_events +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xbc04e09b comedi_inc_scan_progress +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xbccefcf4 comedi_request_region +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xbdbe75c6 range_unipolar2_5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xd152cc16 comedi_timeout +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xd379819f comedi_dio_update_state +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xd5fc3fb9 comedi_buf_write_samples +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xe4162f58 comedi_buf_read_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xe5a8332a comedi_load_firmware +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xeaf951d5 comedi_readback_insn_read +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xebb5ccb9 comedi_buf_read_samples +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xeca8853e comedi_bytes_per_scan_cmd +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xf2ab3e27 comedi_set_hw_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xfd197e9a __comedi_request_region +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x02b332e2 comedi_pci_enable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x1b1e78aa comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x2b17531f comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x563a5d53 comedi_pci_detach +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x66115064 comedi_pci_disable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x8c06b10f comedi_to_pci_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0xc5d629b7 comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0xd04a3ae0 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x232b0613 comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x55d7f822 comedi_to_usb_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x580a3dda comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x5fd11eab comedi_to_usb_interface +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x5fe52d95 comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0xe1b87df8 comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/drivers/addi_watchdog 0x40510081 addi_watchdog_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/addi_watchdog 0x79f4a6cf addi_watchdog_reset +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_dio200_common 0x31c88286 amplc_dio200_set_enhance +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_dio200_common 0xa5b91e55 amplc_dio200_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_pc236_common 0x30788943 amplc_pc236_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x02a41847 comedi_8254_load +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x07d4c887 comedi_8254_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x163237ec comedi_8254_update_divisors +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x1c65077e comedi_8254_status +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x1cb153e5 comedi_8254_subdevice_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x20839aae comedi_8254_cascade_ns_to_timer +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x2c4a2c1a comedi_8254_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x33cfadb5 comedi_8254_ns_to_timer +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x4307768d comedi_8254_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x50ba9b07 comedi_8254_set_busy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x5b03c5f0 comedi_8254_set_mode +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xc95c5dd4 comedi_8254_mm_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xcdef45fe comedi_8254_pacer_enable +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0x5fc99f16 subdev_8255_regbase +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0xcea2638f subdev_8255_mm_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0xd0d96146 subdev_8255_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/das08 0x6e300f13 das08_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x0f744f26 mite_release_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x22a4d29a mite_init_ring_descriptors +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x286287e0 mite_dma_arm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x30f7f564 mite_buf_change +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x30fbcc7e mite_request_channel_in_range +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x3acea6b7 mite_ack_linkc +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x43222558 mite_alloc_ring +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x46012f00 mite_sync_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x5b1e5d2a mite_dma_disarm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x624ded92 mite_prep_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x6b6ce2c9 mite_detach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x76443989 mite_request_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x7c9e847c mite_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x80e91330 mite_free_ring +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xcb781f8a mite_done +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xd1fcf8fe mite_bytes_in_transit +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_common 0xaee74c73 labpc_common_detach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_common 0xe9e83b08 labpc_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x076bc308 ni_find_route_source +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x0921123e ni_lookup_route_register +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x1facf7f8 ni_is_cmd_dest +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x64443d67 ni_get_valid_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x6c18c54e ni_count_valid_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x85e75c94 ni_assign_device_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x863a306d ni_sort_device_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x8ab47ba4 ni_route_set_has_source +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x8f0f0901 ni_find_route_set +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0xb3e302a3 ni_route_to_register +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x1b5ddcb9 ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x2004b99b ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x24af1971 ni_tio_arm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x24f95440 ni_tio_set_gate_src_raw +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x40669479 ni_tio_insn_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x4d03906b ni_tio_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x58ca461c ni_tio_unset_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x5dcdfb31 ni_tio_set_bits +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x79d1dee4 ni_tio_insn_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x90a519c3 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x93dd89bb ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xdded522e ni_tio_get_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xe16e8ce5 ni_tio_set_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xf51a20ee ni_tio_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xf5608700 ni_tio_get_soft_copy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xf9ac3239 ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x17b7c0d0 ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0xa4e5d897 ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0xc69ea6df ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0xcc48e455 ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0xd70b2c60 ni_tio_acknowledge +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0xdf4615b7 ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x070aa869 comedi_find_subdevice_by_type +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x0b51f4c6 comedi_dio_config +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x2b2903ce comedi_close +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x561bf530 comedi_dio_bitfield2 +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x8b101d78 comedi_open +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0xb3104379 comedi_get_n_channels +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0xda0bfdc8 comedi_dio_get_config +EXPORT_SYMBOL_GPL drivers/counter/counter 0x10e894ec counter_put +EXPORT_SYMBOL_GPL drivers/counter/counter 0x403ca02b counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0x632fc797 devm_counter_add +EXPORT_SYMBOL_GPL drivers/counter/counter 0x6ce997f9 counter_alloc +EXPORT_SYMBOL_GPL drivers/counter/counter 0x6ea6b60b counter_priv +EXPORT_SYMBOL_GPL drivers/counter/counter 0x9bf00c3e counter_push_event +EXPORT_SYMBOL_GPL drivers/counter/counter 0xa403d71c counter_add +EXPORT_SYMBOL_GPL drivers/counter/counter 0xa46c267c devm_counter_alloc +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x04773b60 ccp_present +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x3a1a3979 ccp_version +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x86d2bd3a ccp_enqueue_cmd +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x19afaba8 hisi_acc_sg_buf_map_to_hw_sgl +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x1c783dc9 hisi_qm_free_qps +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x1d9b2d2f hisi_qm_uninit +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x2656dfd0 hisi_qm_mb +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x286d32d2 hisi_qm_sriov_enable +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x290d20ad hisi_acc_sg_buf_unmap +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x353b8207 hisi_qm_pm_uninit +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x38ec0340 hisi_qm_reset_prepare +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x3b6b212e hisi_qm_alloc_qps_node +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x460ae936 hisi_qm_sriov_disable +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x4bcb68ea hisi_qm_wait_mb_ready +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x4d5abdf3 hisi_qm_dev_shutdown +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x667dfd1a hisi_qm_put_dfx_access +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x6be9ba8e hisi_qm_dev_err_uninit +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x71f04f78 hisi_qm_dev_err_detected +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x776ee21c hisi_qm_diff_regs_uninit +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x7a2e0389 hisi_qm_stop_qp +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x7f5a11e1 hisi_qm_stop +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x8aeca92c hisi_qm_get_dfx_access +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x8e2e6df1 hisi_qm_dev_err_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x908bbc74 hisi_qm_resume +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xa3171fc2 hisi_acc_free_sgl_pool +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xa56406ed hisi_qm_alg_register +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xaa02226b hisi_qm_start_qp +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xaf2c9282 hisi_qm_regs_dump +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xb10c4b49 hisi_qp_send +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xc0be1f93 hisi_acc_create_sgl_pool +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xcbb63447 hisi_qm_start +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xcceb1d80 hisi_qm_sriov_configure +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xdbd7cad3 hisi_qm_suspend +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xdf730097 hisi_qm_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xe18c7b39 hisi_qm_debug_regs_clear +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xe338aecb hisi_qm_acc_diff_regs_dump +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xe7c210b0 hisi_qm_diff_regs_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xeb45a33a hisi_qm_dev_slot_reset +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xf2dc5893 hisi_qm_alg_unregister +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xf77f9377 hisi_qm_wait_task_finish +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xf9b22d3a hisi_qm_pm_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xfc58bdea hisi_qm_reset_done +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xfe3d12be hisi_qm_debug_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hpre/hisi_hpre 0x199e8e73 hisi_hpre_get_pf_driver +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/sec2/hisi_sec2 0x3ed89c55 hisi_sec_get_pf_driver +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/zip/hisi_zip 0x2831c992 hisi_zip_get_pf_driver +EXPORT_SYMBOL_GPL drivers/crypto/marvell/octeontx/octeontx-cpt 0x22c35707 otx_cpt_eng_grp_has_eng_type +EXPORT_SYMBOL_GPL drivers/crypto/marvell/octeontx/octeontx-cpt 0x32e43048 otx_cpt_uc_supports_eng_type +EXPORT_SYMBOL_GPL drivers/dax/device_dax 0x171d20a8 dev_dax_probe +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x68151399 dw_edma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x9e54e68d dw_edma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x2f35102e idma32_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x50ae2077 do_dw_dma_disable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x62ec1dbd dw_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x6fa52056 dw_dma_acpi_controller_free +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x7b61cdb7 idma32_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x82fe411e do_dw_dma_enable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xa8ddbfb9 dw_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xea1295b2 dw_dma_acpi_controller_register +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xef6b8cce dw_dma_filter +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x16683f8f dpdmai_get_rx_queue +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x401ecc58 dpdmai_get_attributes +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x4b9f6e3f dpdmai_reset +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x694b615f dpdmai_disable +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x6a51ac52 dpdmai_enable +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x6cb06e86 dpdmai_open +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xbb494c26 dpdmai_close +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xbfea81b1 dpdmai_set_rx_queue +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xcb8a1d31 dpdmai_destroy +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xef7924bd dpdmai_get_tx_queue +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x2732c4d1 fsl_edma_cleanup_vchan +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x2bd73b7e fsl_edma_xfer_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x39c57237 fsl_edma_slave_config +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x3e7469f9 fsl_edma_tx_status +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x5944761d fsl_edma_disable_request +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x60f2869e fsl_edma_chan_mux +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x61a6ad8a fsl_edma_alloc_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7049a5fd fsl_edma_free_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x80da7089 fsl_edma_prep_dma_cyclic +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x81cb8719 fsl_edma_pause +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xaa7ead5c fsl_edma_setup_regs +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xc6b901f8 fsl_edma_issue_pending +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xcd53c138 fsl_edma_free_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xe14ff737 fsl_edma_resume +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xe491bbf4 fsl_edma_prep_slave_sg +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xf93fe0ce fsl_edma_prep_memcpy +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xf9cfa095 fsl_edma_terminate_all +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x29199879 hidma_mgmt_setup +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0xcc666363 hidma_mgmt_init_sys +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0x314b92d2 fw_card_read_cycle_time +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xabb5547d fw_request_get_timestamp +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xe86fb5c7 fw_card_release +EXPORT_SYMBOL_GPL drivers/firmware/arm_ffa/ffa-module 0x283c1661 ffa_bus_type +EXPORT_SYMBOL_GPL drivers/firmware/arm_ffa/ffa-module 0x35250cc3 ffa_dev_ops_get +EXPORT_SYMBOL_GPL drivers/firmware/arm_ffa/ffa-module 0x3662463b ffa_driver_register +EXPORT_SYMBOL_GPL drivers/firmware/arm_ffa/ffa-module 0x6904acaa ffa_device_unregister +EXPORT_SYMBOL_GPL drivers/firmware/arm_ffa/ffa-module 0x70d464b9 ffa_driver_unregister +EXPORT_SYMBOL_GPL drivers/firmware/arm_ffa/ffa-module 0xe0770474 ffa_device_register +EXPORT_SYMBOL_GPL drivers/firmware/arm_scpi 0xa80d6924 get_scpi_ops +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x136947a6 cs_dsp_cleanup_debugfs +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x144d6986 cs_dsp_mem_region_name +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x15726961 cs_dsp_power_up +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x212508fc cs_dsp_write_data_word +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x245465d8 cs_dsp_adsp1_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x2b73f23f cs_dsp_init_debugfs +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x331406d0 cs_dsp_coeff_write_acked_control +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x355e5565 cs_dsp_adsp2_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x4e5562f8 cs_dsp_remove_padding +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x5d28a9ad cs_dsp_halo_bus_error +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x5e969af0 cs_dsp_run +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x77fe6e3a cs_dsp_adsp2_bus_error +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x83b5cd02 cs_dsp_halo_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x897a4a21 cs_dsp_adsp1_power_down +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x9283439f cs_dsp_halo_wdt_expire +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xab543074 cs_dsp_adsp1_power_up +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xb01bdf6d cs_dsp_read_data_word +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xbfd7d3d9 cs_dsp_get_ctl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xd267ee86 cs_dsp_set_dspclk +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xd45effe1 cs_dsp_read_raw_data_block +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xd6d6d1a4 cs_dsp_remove +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xe59e1edf cs_dsp_stop +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xe623f053 cs_dsp_find_alg_region +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xeb40091e cs_dsp_coeff_read_ctrl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xf43af088 cs_dsp_coeff_write_ctrl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xf6ed727f cs_dsp_power_down +EXPORT_SYMBOL_GPL drivers/firmware/mtk-adsp-ipc 0xad5b7f39 mtk_adsp_ipc_send +EXPORT_SYMBOL_GPL drivers/firmware/stratix10-svc 0x0c87e5b6 stratix10_svc_request_channel_byname +EXPORT_SYMBOL_GPL drivers/firmware/stratix10-svc 0x0e7b7015 stratix10_svc_done +EXPORT_SYMBOL_GPL drivers/firmware/stratix10-svc 0x41d5ad1c stratix10_svc_allocate_memory +EXPORT_SYMBOL_GPL drivers/firmware/stratix10-svc 0x50f5368a stratix10_svc_free_channel +EXPORT_SYMBOL_GPL drivers/firmware/stratix10-svc 0x595b630e stratix10_svc_free_memory +EXPORT_SYMBOL_GPL drivers/firmware/stratix10-svc 0xd3df684d stratix10_svc_send +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0x9164cb2d alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x05f28ff2 dfl_fpga_dev_feature_init +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x1663a815 dfl_fpga_port_ops_del +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x1d4779d4 dfl_fpga_cdev_assign_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x254bce7a dfl_fpga_enum_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x3d584d0a dfl_fpga_dev_ops_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x759b3dab dfl_fpga_enum_info_add_dfl +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x9421ad34 dfl_fpga_feature_devs_enumerate +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xa4c97c5e dfl_fpga_port_ops_put +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xaebc9993 dfl_fpga_set_irq_triggers +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xb7c7786e dfl_fpga_enum_info_add_irq +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xc84cd8ea dfl_feature_ioctl_get_num_irqs +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xcc7bb31b dfl_fpga_check_port_id +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xd005ff9f dfl_fpga_dev_ops_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xd1201e7d dfl_fpga_feature_devs_remove +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xd12fdc9c dfl_fpga_cdev_config_ports_pf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xddaa4bb7 dfl_fpga_cdev_release_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xdf3c0fad dfl_fpga_cdev_config_ports_vf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xdfa9f37f dfl_fpga_dev_feature_uinit +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xe29df41a dfl_feature_ioctl_set_irq +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xe7c12ee3 dfl_fpga_port_ops_add +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xe8c69905 dfl_fpga_port_ops_get +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xe9293974 dfl_fpga_enum_info_free +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xf2d0f782 __dfl_fpga_cdev_find_port +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0633c4b9 fpga_bridges_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x08fde25e fpga_bridge_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0b2b884c fpga_bridges_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2c8167cf fpga_bridges_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x316edb20 of_fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x3b0f2f52 fpga_bridge_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x5ca03e00 fpga_bridge_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x77fc5def fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x7bdbbb21 fpga_bridge_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xc78ee14a fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xe8c2519f of_fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xf947ee02 fpga_bridge_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x065a0f65 fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x42fb959c fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x4535bd19 fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x5ebcb332 devm_fpga_mgr_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x5f7527a8 fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x8ddc56ca fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x9e41cbba fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xabc62bf2 of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xcc626356 devm_fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xd33c8263 fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xda9414de fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xeedf6da7 fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xfaf696a4 fpga_mgr_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x07b29ca8 fpga_region_program_fpga +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x21680a6c fpga_region_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x65541c0f fpga_region_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x71ac246b fpga_region_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xb7bd949a fpga_region_class_find +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x09778ef6 fsi_master_rescan +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x0d46e785 fsi_master_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x174bdb66 fsi_bus_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x2f7f2a33 fsi_get_new_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x348fe5ad fsi_device_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x3a93847e fsi_slave_claim_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x5a57d574 fsi_free_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x78060f23 fsi_slave_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x9556d9f0 fsi_driver_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xa248cbd0 fsi_master_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xa32e4503 fsi_device_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xce22aee2 fsi_slave_release_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xd942f235 fsi_slave_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xee04f768 fsi_cdev_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xfba0c96c fsi_driver_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-occ 0x64b39f2f fsi_occ_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0xaf43dca0 sbefifo_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0xf7b1f72e sbefifo_parse_status +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x23d43bf3 gnss_register_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x299ce841 gnss_insert_raw +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x9a7321d6 gnss_allocate_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xe1b07bf7 gnss_deregister_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xe377df0f gnss_put_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x00d52486 gnss_serial_pm_ops +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x1ad2b40a gnss_serial_free +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x7cf0b88c gnss_serial_allocate +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xa05aecae gnss_serial_register +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xd9c98c3c gnss_serial_deregister +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x594c03b4 __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xf6c3ea46 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpio/gpio-regmap 0x496ce291 gpio_regmap_get_drvdata +EXPORT_SYMBOL_GPL drivers/gpio/gpio-regmap 0x8415c7a8 devm_gpio_regmap_register +EXPORT_SYMBOL_GPL drivers/gpio/gpio-regmap 0xb7066570 gpio_regmap_unregister +EXPORT_SYMBOL_GPL drivers/gpio/gpio-regmap 0xe28fde6e gpio_regmap_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x33aece10 analogix_dp_stop_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x3c99c666 analogix_dp_start_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x3ee0dd60 anx_dp_aux_transfer +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x8ff5fb6c analogix_dp_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x939308bf analogix_dp_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xc926cedc analogix_dp_suspend +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xcc2cbfb5 analogix_dp_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xd26a943f analogix_dp_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xe8aa9189 analogix_dp_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x09340e05 dw_hdmi_set_channel_count +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x094f6fc5 dw_hdmi_phy_i2c_set_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x1461e227 dw_hdmi_set_channel_status +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x26d629cd dw_hdmi_phy_gen2_reset +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x2d1c0e80 dw_hdmi_setup_rx_sense +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x2f5b5f3f dw_hdmi_set_plugged_cb +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x2fac9436 dw_hdmi_set_channel_allocation +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x316212a8 dw_hdmi_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x42926f4a dw_hdmi_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x4a9b174f dw_hdmi_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x5665b64f dw_hdmi_set_high_tmds_clock_ratio +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x56f72e25 dw_hdmi_set_sample_non_pcm +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x6712b5a7 dw_hdmi_phy_gen2_txpwron +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7d8a3aee dw_hdmi_phy_i2c_write +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x8dcd6f43 dw_hdmi_set_sample_rate +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x96f3e250 dw_hdmi_set_sample_width +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x9b44a60b dw_hdmi_phy_gen2_pddq +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xb6943872 dw_hdmi_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xc59f9e6f dw_hdmi_phy_gen1_reset +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xce27012a dw_hdmi_audio_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xd6968220 dw_hdmi_phy_setup_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xd8fe547b dw_hdmi_audio_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xdafa1790 dw_hdmi_phy_read_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xf5922009 dw_hdmi_phy_update_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xfce69cea dw_hdmi_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x0d667204 dw_mipi_dsi_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x41361ae4 dw_mipi_dsi_set_slave +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x42ac3b2e dw_mipi_dsi_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0xc7f27282 dw_mipi_dsi_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0xcf464d99 dw_mipi_dsi_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_display_helper 0x56749fef drm_hdcp_check_ksvs_revoked +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x6682eb38 devm_of_dp_aux_populate_ep_devices +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0xb5f3a2af of_dp_aux_depopulate_ep_devices +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0xb8bff723 dp_aux_dp_driver_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0xeb0ca732 __dp_aux_dp_driver_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0xf1ba84b1 of_dp_aux_populate_ep_devices +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x09353918 drm_of_lvds_get_dual_link_pixel_order +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x0f6039bc of_get_drm_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x181e6a3c drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2747e726 drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x284402db drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x3927d7fe drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x44fb97bd drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4653d382 drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x499d9ba2 drm_of_find_panel_or_bridge +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x538688f5 of_get_drm_panel_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5f5bd3ba drm_of_lvds_get_data_mapping +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x66cf2f64 drm_display_mode_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x76ee616a drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x864c49db drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x87c55645 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x8c85394f drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x90e4e2b7 drm_of_component_match_add +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x99a8bb65 drm_of_encoder_active_endpoint +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xad885165 drm_bus_flags_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xc58813b9 drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xcdc845cb drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf5961bff drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xfe9f72f3 drm_display_mode_to_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x41365075 drm_gem_cma_free +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x4eafe755 drm_gem_cma_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x53562e2f drm_gem_cma_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x53e466a4 drm_fb_cma_get_gem_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x6aa72f40 drm_gem_cma_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x786e2f7c drm_gem_cma_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x8116593c drm_gem_cma_dumb_create_internal +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x8f992a53 drm_fb_cma_sync_non_coherent +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xced6923d drm_gem_cma_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xe066491d drm_fb_cma_get_gem_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xfd0dde3b drm_gem_cma_vmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xfdbe17d6 drm_gem_cma_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x52b64846 drm_gem_plane_helper_prepare_fb +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x6482556a drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x9c568b8a drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xb4756e42 drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xd5579b7f drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xdc271885 drm_bridge_connector_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xdd2c73b5 drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xdf445c0e drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xeb3ac7f5 drm_gem_fb_create_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xfa5d9abf drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x03b623f8 drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x0552f119 drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x223f24bd drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x48833688 drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x4ba134f2 drm_gem_shmem_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x8693111d drm_gem_shmem_free +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xc86cf2b0 drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xe9da507a drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x2c73cfcf meson_venc_hdmi_venc_repeat +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x56631866 meson_vclk_setup +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x92588e1f meson_venc_hdmi_mode_set +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x94a785f8 meson_venc_hdmi_supported_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x95e8464e meson_vclk_vic_supported_freq +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xa07b8ce5 meson_vclk_dmt_supported_freq +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xab5bee2f meson_venc_hdmi_supported_vic +EXPORT_SYMBOL_GPL drivers/gpu/drm/panel/panel-samsung-s6e63m0 0xbad68c64 s6e63m0_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/panel/panel-samsung-s6e63m0 0xc6313aea s6e63m0_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/pl111/pl111_drm 0x868e2e42 pl111_versatile_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0xbaa502f1 rcar_cmm_setup +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0xcef18770 rcar_cmm_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0xf8c049c4 rcar_cmm_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0xf9677e1f rcar_cmm_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x006bed88 rcar_lvds_is_connected +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x3195d39c rcar_lvds_clk_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x3efc100d rcar_lvds_clk_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x6c67e4b5 rcar_lvds_dual_link +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x072d5df4 vop_component_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x4f72b81b rockchip_rgb_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0xab417bce vop2_component_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0xfead7585 rockchip_rgb_fini +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0xc584bf3b ssd130x_shutdown +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0xd15cd018 ssd130x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0xe032b00d ssd130x_remove +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x00337a76 gb_connection_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x02f46d26 __tracepoint_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x08a6ea19 gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0c6d3313 greybus_deregister_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0f1b6b2f gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x10aca6f8 gb_connection_create_offloaded +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x118a1004 gb_operation_response_alloc +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x14028e17 __SCK__tp_func_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x15d1942f greybus_disabled +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x177baf4c greybus_register_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1d288333 gb_operation_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2051373b gb_operation_unidirectional_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x228a34f1 gb_hd_cport_release_reserved +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x258d7a20 gb_connection_destroy +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x26f79d85 gb_svc_intf_set_power_mode +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3851e4b2 greybus_message_sent +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x42972009 __traceiter_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x4c980f89 gb_hd_shutdown +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x4d72d0da gb_connection_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x59595ddc gb_hd_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5ad3f2d7 __tracepoint_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5bfba4c3 gb_operation_request_send_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5c0a8043 __tracepoint_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5d900ea1 gb_operation_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6213634d __tracepoint_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x697a8f4b gb_connection_latency_tag_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6b79518f gb_hd_output +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6d3bb9ec __SCK__tp_func_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x731a6ae8 __traceiter_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7ad8dc63 gb_operation_cancel +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7e4cc745 gb_interface_request_mode_switch +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x81e221fb __SCK__tp_func_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x8806d55c __traceiter_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x89f514a1 __SCK__tp_func_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x914e77e2 __traceiter_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x9f80ddb1 gb_connection_enable_tx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa3781a4f __traceiter_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa416e2da __tracepoint_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb54aa7d3 gb_operation_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb707ec83 gb_operation_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb7f458d9 gb_hd_cport_reserve +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xcb8d2110 gb_connection_disable_rx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xcc62e61c gb_operation_request_send +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd267bce2 gb_operation_get_payload_size_max +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd3e646d9 __tracepoint_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xdab440a7 greybus_data_rcvd +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xde1ef1b2 gb_debugfs_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe17103a7 gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe321c719 gb_operation_result +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe7251008 gb_connection_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe87e3041 gb_connection_disable_forced +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xeac79e1a __SCK__tp_func_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf107a122 __SCK__tp_func_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf1c935ba __traceiter_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf7e8a45d gb_connection_latency_tag_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xfcfeb9de gb_connection_create_flags +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x073757ff hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0fefa4e5 hid_match_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x106e8312 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19d52f1f hid_quirks_exit +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1a4aa2cc hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1bd042bd hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2238a84d hid_hw_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x26219b96 hid_setup_resolution_multiplier +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3ae8b724 hid_driver_reset_resume +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3c3bbb47 hid_field_extract +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3e746fa1 hid_hw_stop +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4f61b1aa hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x563d00a1 hid_driver_resume +EXPORT_SYMBOL_GPL drivers/hid/hid 0x63a9b0d6 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x654f5c3d hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x67fb75bc hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6a966a6c hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6b77c628 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6b89c239 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x82bfae0d hidinput_calc_abs_res +EXPORT_SYMBOL_GPL drivers/hid/hid 0x85298b2c hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x85d1cd62 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8b13a8b8 hid_snto32 +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8bf2f3bb hid_validate_values +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8e058049 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8e6f47ab hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x95c7e39c hid_hw_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x96e5a90b hid_dump_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x970c2d37 hid_hw_open +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9927d98f hid_ignore +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9a09e09b hid_compare_device_paths +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9d95413c hid_driver_suspend +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa58aadcd hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa620fe58 hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0xae71dd0e hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb43a1cf3 hid_alloc_report_buf +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbe5d9221 __hid_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc1431572 hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc5715b92 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc5bf4b24 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcb10a1c7 hid_hw_start +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd37ecfaa hid_hw_raw_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd58b03de hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd84b431d __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd9dfbb67 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdb3f79f7 hid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe09333ac hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf095e71e hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf0ca8ea1 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa355613 hid_quirks_init +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfc010d4f hid_hw_close +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfd38875d hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x3e4427c8 roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0xbff5fa36 roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x2a0d50ae roccat_common2_device_init_struct +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x41c722c7 roccat_common2_send_with_status +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xc9ffee0a roccat_common2_sysfs_write +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xd94864fe roccat_common2_sysfs_read +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xe26f8243 roccat_common2_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xfe2fd6a7 roccat_common2_send +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x17b1e941 sensor_hub_get_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x273dcb40 sensor_hub_register_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x3b0b3159 sensor_hub_device_open +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x46aef9fd sensor_hub_set_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x6894ee3c sensor_hub_input_attr_get_raw_value +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x7f57d2df sensor_hub_input_get_attribute_info +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xcd403c74 hid_sensor_get_usage_index +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xd8b0efd5 sensor_hub_remove_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xfcdfdd15 sensor_hub_device_close +EXPORT_SYMBOL_GPL drivers/hid/hid-vivaldi-common 0x09002a21 vivaldi_feature_mapping +EXPORT_SYMBOL_GPL drivers/hid/hid-vivaldi-common 0xf73413ad vivaldi_input_configured +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x300fdfaf i2c_hid_core_remove +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x5594ff95 i2c_hid_core_shutdown +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x81d75fae i2c_hid_core_pm +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0xc0e79489 i2c_hid_core_probe +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0xc63a8be7 i2c_hid_ll_driver +EXPORT_SYMBOL_GPL drivers/hid/surface-hid/surface_hid_core 0x3eaf3b60 surface_hid_device_destroy +EXPORT_SYMBOL_GPL drivers/hid/surface-hid/surface_hid_core 0x9cc695ff surface_hid_device_add +EXPORT_SYMBOL_GPL drivers/hid/surface-hid/surface_hid_core 0xebf4161c surface_hid_pm_ops +EXPORT_SYMBOL_GPL drivers/hid/uhid 0xfa8d4a20 uhid_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x78fc13e3 usb_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x8a0dc487 hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x00216f14 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x1bd580a1 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x20734858 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x477e2235 hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x48421287 hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5b24aa1d hsi_new_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x60cc9d2f hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6297a4e9 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x63365070 hsi_get_channel_id_by_name +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6b83af6a hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x734ea4e9 hsi_add_clients_from_dt +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x73bb771e hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x96acda63 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xc9b36803 hsi_remove_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xdd42e147 hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe83da436 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xf4a9baec hsi_port_unregister_clients +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xff679638 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x0a090ac4 vmbus_open +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x0bd64137 vmbus_establish_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x0cca157b __hv_pkt_iter_next +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x12f48e79 vmbus_driver_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x1d0270b2 vmbus_set_event +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x2eb0b8fe vmbus_send_modifychannel +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x3000f51f vmbus_allocate_mmio +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x31e2e77f vmbus_free_mmio +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x321055cb vmbus_prep_negotiate_resp +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x3d5fe9c7 __vmbus_driver_register +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x46a417ca vmbus_proto_version +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x472ff6b6 vmbus_sendpacket_pagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x4b2210b8 vmbus_send_tl_connect_request +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x51aad6c0 hv_pkt_iter_first +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x528e2361 vmbus_teardown_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x54a0d957 hv_ringbuffer_spinlock_busy +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x560b8de0 __vmbus_request_addr_match +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x5cbe01ed vmbus_sendpacket_mpb_desc +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x674e657e hv_ringbuffer_get_debuginfo +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x77cf4cd5 vmbus_request_addr_match +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x7cbac06d vmbus_setevent +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x8437a1de vmbus_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x89e9e617 vmbus_connection +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x8cfe68a7 vmbus_alloc_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x92c66813 vmbus_set_chn_rescind_callback +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x95579740 vmbus_free_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x9ee9888f hv_pkt_iter_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xbdc200fa vmbus_recvpacket_raw +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xd6efc71a vmbus_request_addr +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xe67b158a vmbus_hvsock_device_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xe8da7a8f vmbus_next_request_id +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xec219203 vmbus_connect_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xeda3a420 vmbus_disconnect_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xfbf298ba vmbus_set_sc_create_callback +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x02451c1f adt7x10_probe +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0xc463d0a1 adt7x10_dev_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x5cbb5274 ltc2947_core_probe +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0xbc54f93e ltc2947_of_match +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0xdad3b6b8 ltc2947_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x0a78ba14 nct6775_update_device +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x1cd1f10f nct6775_show_alarm +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x459764a1 nct6775_reg_is_word_sized +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xc55f90af nct6775_store_beep +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xf1895e44 nct6775_probe +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xfa932b10 nct6775_show_beep +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x0ba92d1d intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x1d76ddaa intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7c7cb270 intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xa12c4134 intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xa9715edb intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xb1e41d50 intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xb3888969 intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xe515ea7e intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xebfc1064 intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x162ade54 intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x29001be7 intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x8af51b40 intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x2380f55f stm_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x2cb0c1c7 stm_source_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x2dc91400 stm_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x345b6516 stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x3bcbfb71 to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x3e17ff49 stm_data_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xd5ab0dd7 stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xf95b54a8 stm_source_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xfbeacfc1 stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-ccgx-ucsi 0x65ce8fe9 i2c_new_ccgx_ucsi +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x19a5ba11 i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xe9f52879 i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xf43c6898 i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xfe037a08 i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x55589dd1 i2c_new_slave_host_notify_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x84c93f37 i2c_free_slave_host_notify_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0xcdb22597 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0xede55206 i2c_register_spd +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x011b8102 i3c_driver_register_with_owner +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x0d72b0ca i3c_master_disec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x273d09a5 i3c_device_match_id +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x3c66d5f9 i3c_master_do_daa +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x3d8c8ba8 i3c_generic_ibi_alloc_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x45816e57 i3c_master_entdaa_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x50f55226 i3c_device_disable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x5abf18ec i3cdev_to_dev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x694b975b i3c_device_request_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x76fe3e05 i3c_generic_ibi_free_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7e99afcf i3c_master_add_i3c_dev_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x81d7204d i3c_device_get_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x84b6d2eb i3c_master_enec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x97e92c1c i3c_master_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xacd05c09 i3c_master_defslvs_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xbcce7e4e i3c_master_get_free_addr +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xc100f9db i3c_driver_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xd161b2e3 i3c_master_register +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xd16f0f01 i3c_generic_ibi_get_free_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xd5cd8943 dev_to_i3cdev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xd81acc7c i3c_device_free_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xdeef5b01 i3c_generic_ibi_recycle_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe53bd048 i3c_master_queue_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xee54e944 i3c_device_enable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xefcc426e i3c_device_do_priv_xfers +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xf6b61b76 i3c_master_set_info +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x767ae386 adi_axi_adc_conv_priv +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0xdfbb3c2d devm_adi_axi_adc_conv_register +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x104561ca iio_channel_get_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x1d2f99a3 iio_channel_cb_get_iio_dev +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x267c0508 iio_channel_release_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x2a1fab3c iio_channel_stop_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7a711aef iio_channel_start_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x9acf62ab iio_channel_cb_set_buffer_watermark +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0xbdc72e9c iio_channel_cb_get_channels +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x1cbab848 iio_dma_buffer_read +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x27b9febe iio_dma_buffer_release +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x5b66fe7f iio_dma_buffer_set_length +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x6f4acd30 iio_dma_buffer_block_list_abort +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7d588e23 iio_dma_buffer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x9d98169c iio_dma_buffer_init +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xc6b5e096 iio_dma_buffer_set_bytes_per_datum +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xd34731bf iio_dma_buffer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xe03ab94e iio_dma_buffer_data_available +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xf24a5ad2 iio_dma_buffer_exit +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xf43af216 iio_dma_buffer_request_update +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xf44fb889 iio_dma_buffer_block_done +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0x15df04c2 devm_iio_dmaengine_buffer_setup +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x3391543d iio_hw_consumer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x9671bc15 iio_hw_consumer_free +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0xb1d47650 iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0xbd78a332 devm_iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0xbf358fa9 iio_hw_consumer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-triggered-buffer 0xd9f660cd devm_iio_triggered_buffer_setup_ext +EXPORT_SYMBOL_GPL drivers/iio/buffer/kfifo_buf 0x1db22a59 devm_iio_kfifo_buffer_setup_ext +EXPORT_SYMBOL_GPL drivers/iio/chemical/sps30 0xc77e628c sps30_probe +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x11360b83 cros_ec_motion_send_host_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x25bb226a cros_ec_sensors_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x3f971f21 cros_ec_sensors_ext_info +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x495e8388 cros_ec_sensors_core_write +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x4e806f9b cros_ec_sensors_core_register +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x5882fb74 cros_ec_sensors_core_read_avail +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x69b15795 cros_ec_sensors_core_init +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x88fa9d4c cros_ec_sensors_read_lpc +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x9971dac4 cros_ec_sensors_capture +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xd7964157 cros_ec_sensors_core_read +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xd8776043 cros_ec_sensors_read_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xffd55b3a cros_ec_sensors_push_data +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x932f6a17 bmg160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xa3b57d84 bmg160_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xb2a36cb9 bmg160_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x58c6c7ec fxas21002c_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x6593f736 fxas21002c_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xe77a6c26 fxas21002c_core_remove +EXPORT_SYMBOL_GPL drivers/iio/imu/bmi160/bmi160_core 0x6fa4b015 bmi160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/fxos8700_core 0x3e81e28f fxos8700_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0x9a2c6f52 inv_icm42600_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0xedf2bd7d inv_icm42600_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0xf6ac74fe inv_icm42600_regmap_config +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x6ed485fa inv_mpu_pmops +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x926ec7d2 inv_mpu_core_probe +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x00c49c38 __devm_iio_trigger_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0456b773 iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x065694f7 iio_show_mount_matrix +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26f6b499 iio_str_to_fixpoint +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x27f33912 iio_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2dcb2429 iio_read_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3a2d7a65 iio_read_max_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4058344c iio_push_to_buffers_with_ts_unaligned +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x41588bd7 iio_update_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x423239f1 iio_read_avail_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4446b2be iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x47c19770 iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4cfe2b4e devm_iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4d7f9f0d devm_of_iio_channel_get_by_name +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4dce7dd4 iio_format_value +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4f953f4c iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5faa3e26 iio_read_avail_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6124a793 iio_device_id +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x62bfec53 iio_write_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x62df13c4 iio_device_claim_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x68c3b5d2 iio_enum_write +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6cc90c1c iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6cfb9fc0 iio_buffer_put +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6d5f3e50 __devm_iio_device_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7438f6a9 iio_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x835753bf iio_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x84a38bd2 devm_iio_device_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8a6efa8e iio_validate_scan_mask_onehot +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x929b894e devm_iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x951b61bd iio_convert_raw_to_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x988a51af iio_enum_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9a1d2175 iio_buffer_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9e551606 iio_read_channel_offset +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9f2e9dc2 iio_device_get_current_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa412c1cc iio_device_release_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa6879006 iio_pop_from_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xac1e1639 iio_buffer_enabled +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb42204a7 devm_iio_trigger_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbbaa40c1 iio_push_to_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc8c2fa6f iio_read_channel_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xcaddb062 devm_iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xcc66b1f2 iio_device_attach_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd0af91b6 iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd0e6fe2a iio_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd352c8fa iio_write_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd3566507 iio_read_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd772eaa7 of_iio_channel_get_by_name +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe04ba2fd iio_read_channel_processed_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xeaede168 iio_get_channel_ext_info_count +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf4781c9a iio_get_debugfs_dentry +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf4ec6b88 iio_enum_available_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf7498eb5 iio_write_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf8505deb iio_read_channel_average_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xfb023fe6 iio_read_channel_raw +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x0acbb48c rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x0defda12 rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x2b5e2a41 rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x30b58181 rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x40dc5cdf rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x47594908 rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x8d004ac5 rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x8fc25282 rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xab274659 rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xd32cc2b9 rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xe69d5c75 rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xedd2fca6 rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x2d3623e4 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/matrix-keymap 0x8db2c9c3 matrix_keypad_parse_properties +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x66535a18 adxl34x_suspend +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x8dac3762 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xec511022 adxl34x_remove +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x0bb4a442 rmi_of_property_read_u32 +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x0f393d3b rmi_set_attn_data +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x1b997bae rmi_2d_sensor_of_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x31e1bb75 rmi_register_transport_device +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x3386053d __rmi_register_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x712d0d8f rmi_2d_sensor_rel_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7d61715b rmi_2d_sensor_abs_process +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x82c864fc rmi_unregister_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xb429c151 rmi_driver_suspend +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xc1966c68 rmi_2d_sensor_configure_input +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xc65e1d69 rmi_driver_resume +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xc6e8841b rmi_2d_sensor_abs_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xf88a4bdb rmi_dbg +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x683032bc cyttsp4_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xe34e100d cyttsp4_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xf623b6fd cyttsp4_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x19a882cc cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x2dda337b cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x263ae8bd cyttsp_i2c_read_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x28986022 cyttsp_i2c_write_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x5409ba31 tsc200x_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x77ef6630 tsc200x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xc8e6dca0 tsc200x_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xec0f79ce tsc200x_regmap_config +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x25f20c50 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x42266c2f wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x670d089c wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x73994962 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7cc7f2ec wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x86477143 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x88174bed wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x8f146ab0 wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xadd3ef28 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb06df272 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb6564669 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xd7ec077e wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/interconnect/imx/imx-interconnect 0x1f0868d5 imx_icc_register +EXPORT_SYMBOL_GPL drivers/interconnect/imx/imx-interconnect 0xdf152da6 imx_icc_unregister +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x0253e279 qcom_icc_bcm_voter_add +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x0b39b783 qcom_icc_bcm_voter_commit +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x90635896 of_bcm_voter_get +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x05f24b75 qcom_icc_rpmh_probe +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x3758309b qcom_icc_bcm_init +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x53b2f2b8 qcom_icc_pre_aggregate +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x5748d14c qcom_icc_aggregate +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x64a13a83 qcom_icc_set +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0xa60ae4ef qcom_icc_rpmh_remove +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0xf5fa9b60 qcom_icc_xlate_extended +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-smd-rpm 0x81e513ad qcom_icc_rpm_smd_available +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-smd-rpm 0xe8dbdc6c qcom_icc_rpm_smd_send +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x0a52378d ipack_get_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x54464f52 ipack_device_add +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x6d0a3fa5 ipack_device_init +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xa2a0baee ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xaa44e40c ipack_device_del +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xb42e5fa6 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xb96a9506 ipack_put_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xc2ba5dbb ipack_driver_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xca2dfa6c ipack_bus_register +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x1bc7bc72 led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x2a38b42b led_set_flash_timeout +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x71c22805 devm_led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x8cc88796 led_set_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xa2fccc66 led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xb1c49dd9 led_get_flash_fault +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xfb7bc6a7 led_update_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xfeb54ad5 devm_led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x09e236fe led_classdev_multicolor_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x16524f82 devm_led_classdev_multicolor_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x32f4267b led_mc_calc_color_components +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0xb6f41715 led_classdev_multicolor_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0xdc868a60 devm_led_classdev_multicolor_register_ext +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x2f027a09 lp55xx_unregister_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x83bed5ec lp55xx_deinit_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x8a1ff0b2 lp55xx_read +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x902f27a5 lp55xx_is_extclk_used +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x9a10a641 lp55xx_register_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xb3c4f150 lp55xx_update_bits +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xca66ff86 lp55xx_init_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xcd270029 lp55xx_of_populate_pdata +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xe8a7a7e5 lp55xx_register_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xf93dd0c1 lp55xx_write +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-audio 0x3bd45b0d ledtrig_audio_set +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-audio 0xce593c22 ledtrig_audio_get +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-camera 0x749e05f2 ledtrig_flash_ctrl +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-camera 0x7903e46e ledtrig_torch_ctrl +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x051b2215 __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0637d0ad __traceiter_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x06bceaa1 __SCK__tp_func_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0826e917 __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0bc0be45 __SCK__tp_func_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0e56d82e __traceiter_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0f288b5c __traceiter_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x15f3de09 __SCK__tp_func_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x16ea7222 __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x17a83e40 __traceiter_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x181a1930 __SCK__tp_func_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x191717af __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1934a9a9 __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1a655f45 __traceiter_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1b083369 __SCK__tp_func_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c599ebe __traceiter_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c71a406 __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c83d5b7 __SCK__tp_func_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x22ae6324 __SCK__tp_func_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2766fb04 __traceiter_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x284a6bff __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2909bc5d __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2a0e014e __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2af60833 __SCK__tp_func_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3257d343 __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x366d5e6e __traceiter_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x41052416 __traceiter_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x45ca2580 __traceiter_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x46bfabee __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x46c66897 __SCK__tp_func_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4a2d1241 __SCK__tp_func_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x51d0e534 __SCK__tp_func_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x53b5e5e3 __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5cc8cb86 __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5d9c8fc8 __SCK__tp_func_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5fd7c423 __SCK__tp_func_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6026e276 __SCK__tp_func_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x64e39418 __traceiter_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6697827f __SCK__tp_func_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x66dabcf8 __traceiter_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x690dd415 __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6e74dca7 __SCK__tp_func_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x728f9179 __traceiter_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x79eeb380 __SCK__tp_func_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7a3c0ac3 __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x80e3881d __SCK__tp_func_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x830df522 __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x862dfa21 __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x8847d360 __traceiter_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x88af3876 __traceiter_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x8ad20d61 __SCK__tp_func_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x8ce9d699 __traceiter_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x8e7bb694 __traceiter_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x902cb523 __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9865dbc4 __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9a6f4d9f __SCK__tp_func_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9ce21c84 __SCK__tp_func_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9d8c1f3a __traceiter_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9e2b549b __traceiter_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa14fdbcf __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa187023e __SCK__tp_func_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa64134e4 __SCK__tp_func_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa842a5c8 __SCK__tp_func_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xac1d09ac __traceiter_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xad6440b4 __traceiter_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb07781db __traceiter_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb5a62a8c __traceiter_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb912ae0b __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xba843c3f __SCK__tp_func_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbc268695 __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbca4b44d __traceiter_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc1857470 __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc5a2ada4 __traceiter_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc78d7102 __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc8ae4213 __SCK__tp_func_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xce48d6f4 __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xcf20b266 __traceiter_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd2b4a72a __traceiter_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xda06fe86 __SCK__tp_func_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe16536d7 __traceiter_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe16c06b3 __SCK__tp_func_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe1876b48 __traceiter_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe202b8e6 __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xec29e22a __traceiter_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xec92a163 __SCK__tp_func_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xed37c90e __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xee55d047 __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xef7eec02 __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf6249e5f __SCK__tp_func_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf865c1a2 __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfb3d6c67 __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfc13830c __traceiter_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfd6b5d80 __SCK__tp_func_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x03623ce0 dm_cell_put_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x17dd39d6 dm_deferred_set_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2eb01e04 dm_deferred_set_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x3a7f6c91 dm_bio_prison_free_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x42b66ad6 dm_bio_prison_free_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x4bcd1c92 dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x4bf86e6b dm_cell_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x5f890472 dm_cell_release_no_holder +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x63225844 dm_cell_lock_promote_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6791a44e dm_deferred_entry_dec +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x69fb7ccc dm_cell_promote_or_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6e8e6a5b dm_cell_error +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x753e20b2 dm_bio_prison_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7b7b39d5 dm_bio_prison_alloc_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x881115d1 dm_cell_lock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xa43eda83 dm_cell_get_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xace9b57b dm_bio_prison_destroy_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb6d5c65d dm_deferred_set_add_work +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb6e7b669 dm_get_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb70b342a dm_bio_prison_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xca2e3a88 dm_deferred_entry_inc +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xcd970497 dm_cell_quiesce_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xceef9d1a dm_cell_unlock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xd99e003d dm_bio_prison_create_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xf3152580 dm_bio_prison_alloc_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xfa699fca dm_bio_detain +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x0ad0dc4f dm_bufio_mark_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x111ab12a dm_bufio_mark_partial_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x24772bfe dm_bufio_get +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x2e0774dc dm_bufio_get_block_number +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6aebce95 dm_bufio_issue_discard +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6d3f57bd dm_bufio_get_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x72f07bf4 dm_bufio_set_minimum_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x74dcd98c dm_bufio_get_aux_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7c381a76 dm_bufio_get_block_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x867e87eb dm_bufio_get_dm_io_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x95db3090 dm_bufio_client_create +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xa82b2066 dm_bufio_write_dirty_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xb04f56ab dm_bufio_read +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xb2438d54 dm_bufio_release_move +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc0d7df85 dm_bufio_new +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc90df7e5 dm_bufio_prefetch +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc9a3422d dm_bufio_write_dirty_buffers_async +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xcd2ba798 dm_bufio_forget +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd4bddf5c dm_bufio_issue_flush +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd991e3b9 dm_bufio_get_device_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xe6024e59 dm_bufio_release +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xebcc64a4 dm_bufio_get_block_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xeca7949e dm_bufio_client_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xed3283a4 dm_bufio_set_sector_offset +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xf241a6eb dm_bufio_forget_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x0efbca4c btracker_promotion_already_present +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5adc2807 btracker_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5de611a9 btracker_nr_writebacks_queued +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7890d535 dm_cache_policy_get_name +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x87bee547 btracker_queue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x890723f7 dm_cache_policy_get_version +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xa2365f44 btracker_issue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xa7eadcb5 btracker_complete +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xadbefda4 dm_cache_policy_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xbf1a2968 btracker_create +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xccfe6409 btracker_nr_demotions_queued +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xcf8c2590 dm_cache_policy_get_hint_size +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xd0578bbf dm_cache_policy_unregister +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xe1bdae47 dm_cache_policy_create +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xf72d65b0 dm_cache_policy_register +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x671307ab dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xdda593fa dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x01d2f9ac dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x0b445b24 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x163e0fa7 dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x19b95a7a dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38972f23 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38efaf5a dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3a18389a dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x57e16c3e dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5f4a6e61 dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x6c0dcd7e dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7774620f dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d053fc5 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d5e1815 dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x986b21e2 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa53387c7 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa83588eb dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xbe38a431 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xc64d38d4 dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd8aa4284 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf92b8a3d dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfd93482e dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0054f69d dm_tm_pre_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x11fbbe02 dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x15085586 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1816383d dm_btree_find_highest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1ae16d40 dm_tm_dec_range +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1ba7cc87 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x243ce1ad dm_array_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x24507fbf dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2bc1a8d9 dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2c5a02df dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2d38ecd9 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2f40da68 dm_bm_set_read_write +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x30a26537 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x30c37cc0 dm_bm_write_lock_zero +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3646e38f dm_tm_issue_prefetches +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x382a0134 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ae50a4a dm_tm_inc_range +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3d6961ed dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x46768dbf dm_btree_remove_leaves +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4f477261 dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5375ca71 dm_bm_write_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5475ba9e dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5736c9c5 dm_bitset_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x586705e1 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x688d422d dm_bm_block_size +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6b2357b6 dm_bitset_test_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6c218062 dm_bitset_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6c2c7ef4 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7062014c dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x72289260 dm_block_manager_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x73420d49 dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x75606d09 dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x79bdc649 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7ade1071 dm_tm_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b047bd9 dm_tm_create_non_blocking_clone +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b6b3af5 dm_bm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7bc7621f dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7e29c59d dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x87c934be dm_tm_inc +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88295b96 dm_tm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88998224 dm_disk_bitset_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88a5c035 dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8db6f8f0 dm_tm_with_runs +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8f5eefee dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x925f421d dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9290e07a dm_tm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x932a6ffc dm_tm_shadow_block +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9341b376 dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x95a52abd dm_bm_is_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9718cffa dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9955fef4 dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9ced228c dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9e798e22 dm_bm_set_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa29d4c0c dm_bitset_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2a74861 dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa9cf611b dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb3d7482b dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb6879c01 dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb720ee73 dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc0d7c2d1 dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc0fadb13 dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc36559ad dm_btree_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd237b9fb dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd39c0246 dm_btree_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xdf3a4e7d dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe781f874 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe8438eb5 dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf1ef5f90 dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf82dba90 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xfce51d79 dm_array_empty +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x1e6dfa84 cec_transmit_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x28124ddc cec_notifier_cec_adap_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x440986f5 cec_queue_pin_5v_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x4fd4a0bb cec_transmit_msg +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x6425dfc8 cec_notifier_parse_hdmi_phandle +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x6eaa584f cec_queue_pin_cec_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x715b167f cec_queue_pin_hpd_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7f47e200 cec_pin_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x845cdfdb cec_pin_changed +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x8c6ca439 cec_notifier_cec_adap_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x90896db4 cec_unregister_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x90e4ef79 cec_notifier_conn_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa01fbb6b cec_notifier_set_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa05dfa4f cec_register_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa539014a cec_s_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xab45e08e cec_s_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xaee236c6 cec_notifier_conn_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbe4de675 cec_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xc16f2887 cec_notifier_set_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xc54bc92a cec_s_log_addrs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xc6d7a216 cec_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xc888c893 cec_s_conn_info +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xd66fe228 cec_fill_conn_info_from_drm +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xdb5bcbd7 cec_transmit_attempt_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe4382868 cec_delete_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe9eeb0d9 cec_received_msg_ts +EXPORT_SYMBOL_GPL drivers/media/common/b2c2/b2c2-flexcop 0x66c0289a b2c2_flexcop_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x04cd6f4e saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x15ff98b7 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x17112892 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x2d1be2b3 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x4c6f00c3 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xa6bd062a saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xc5833bf5 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xd0812b93 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe22cbf02 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xf1248ca2 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x0bc6e5b4 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x0ed834a3 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x15583c61 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x49845bb7 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x58e2bcb8 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xdbb76c12 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xeb244fb4 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x125adf7f smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x24be864f smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x2bc1c8c8 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x324d23ff smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x34bf0e61 smscore_translate_msg +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x3ab3bfe1 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x555297b0 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x844539ae sms_get_board +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x885de530 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x8954b898 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x90509f1e sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x99a81ab3 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xa9bfcafd sms_board_event +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xac82ea64 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbe0c5546 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xc6e0890f smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xca933608 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xd91e5ef7 sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xf2833174 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xfae3882c sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x03005a48 tpg_alloc +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x040dc7cd tpg_aspect_strings +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x4d1d285c tpg_init +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x517e7ccd tpg_fill_plane_buffer +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x6026aaf0 tpg_log_status +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x6960e899 tpg_s_crop_compose +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x756516e7 tpg_s_fourcc +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7a5d8c0b tpg_update_mv_step +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x86b4ddf7 tpg_reset_source +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x975a1e29 tpg_g_interleaved_plane +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xaa5503d9 tpg_set_font +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xb40fae23 tpg_g_color_order +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xc6110b6e tpg_free +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xc6808be7 tpg_calc_text_basep +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xce8159bb tpg_pattern_strings +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xf4aef3a4 tpg_gen_text +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xf65c5e46 tpg_fillbuffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x013900ad vb2_core_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x07729fd4 __SCK__tp_func_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x12bc45d8 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x163e6173 vb2_core_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x24451812 __tracepoint_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2545ab1c vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2593782f __tracepoint_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x344218e6 vb2_core_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x364658de vb2_core_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x398a7071 vb2_core_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x3a7778bc vb2_core_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x43e6b3a4 vb2_request_object_is_buffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x487bc0d8 vb2_core_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x48d92445 vb2_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4a62f2fb vb2_core_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x630b24d3 __tracepoint_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x67acaefd __traceiter_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7f516dba vb2_discard_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x89df3717 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8f0edcac vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8f91f2be vb2_core_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xa0c94c6b vb2_core_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xa97c4561 vb2_core_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb4da5015 __traceiter_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb6cfbef8 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb6f4b031 __SCK__tp_func_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb9d2df39 __SCK__tp_func_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xbcd95257 vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xbff31b80 __traceiter_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc7b45aa4 __SCK__tp_func_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd18ac080 vb2_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xe74bd41b vb2_thread_stop +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xe8ac0f13 __traceiter_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xecf3df85 vb2_request_buffer_cnt +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xedaa70a9 vb2_core_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf703a3f9 __tracepoint_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xfea9fe8d vb2_thread_start +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x81ecbac1 vb2_dma_contig_set_max_seg_size +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0xe7d6c9f9 vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-sg 0x504795ca vb2_dma_sg_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-memops 0x5b12189b vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x0f3e5210 vb2_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x18999a34 vb2_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x1cf06aeb vb2_video_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x21cd78a0 vb2_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x284bfa2e vb2_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x477a2ae9 vb2_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4ffaa932 vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5bc3ce82 vb2_ops_wait_finish +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x6acd773d vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x6fb58786 vb2_fop_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x707568af vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x743f85e1 vb2_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x8b6cdc62 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x910f5501 vb2_queue_init_name +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x91ecb0c6 vb2_request_validate +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa626f75b vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa87195f3 vb2_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xae6a9da2 vb2_fop_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xb03ab7b4 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xb4955cae vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xbb1ac51a vb2_fop_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc415e562 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc6270c6f _vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc767b1ed vb2_find_timestamp +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc92365e0 vb2_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xcdac398e vb2_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xcf505032 vb2_request_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd0c69fc0 vb2_ops_wait_prepare +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xded6eb8e vb2_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe164ce4e vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe193ec93 vb2_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe6a434ba vb2_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xedd6070f vb2_queue_change_type +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xf6eaa3e1 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-vmalloc 0x023c1606 vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x14a46c6b dvb_module_probe +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x786b8e5f dvb_module_release +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xa72354e4 dvb_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/as102_fe 0x43084ed7 as102_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/cx24117 0x1c9dd4b8 cx24117_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/gp8psk-fe 0xbe7e939f gp8psk_fe_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/mxl5xx 0xaf9ecae6 mxl5xx_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv0910 0x8f00b5b0 stv0910_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv6111 0x8ff6c57f stv6111_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/tda18271c2dd 0x30e0c664 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/i2c/aptina-pll 0x294d0ca9 aptina_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/ccs-pll 0x1275a815 ccs_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x4527120a max9271_enable_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x72fc64e7 max9271_configure_gmsl_link +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7aba7aa8 max9271_configure_i2c +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7ff9a20c max9271_set_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x89e9000f max9271_set_translation +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x8cfa6d4c max9271_disable_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x9587031a max9271_set_high_threshold +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xa5b6e373 max9271_verify_id +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xbe4ea12c max9271_set_deserializer_address +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xc1fbb456 max9271_wake_up +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xc481854b max9271_clear_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xda0a8937 max9271_set_address +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xeaa77a3d max9271_set_serial_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x03287511 media_request_object_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0f867256 media_entity_find_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x14894d23 media_graph_walk_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x19276bfd media_devnode_remove +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1be11022 media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x20d57642 media_request_object_complete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x271ad777 media_device_usb_allocate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x28b73c9c media_request_object_bind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2ae04661 media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2d9c5105 __media_device_usb_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2daab157 media_graph_walk_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2db80a0d media_device_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3a63d64f media_get_pad_index +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3bc38844 media_device_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x438710f9 media_device_delete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x46660453 __media_device_register +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x48765546 __media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x502e75ff media_create_pad_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x53c1b36f __media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x563e9609 media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5d26e8a1 __media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6090edd0 media_entity_pads_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x66b38a74 media_device_unregister_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6a216b34 media_device_unregister +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6b6a66e6 media_device_pci_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x73b0c505 media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x76aacb65 media_device_register_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x82bd353e media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x838a7649 media_request_object_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x87732b56 media_create_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x887cc4df media_devnode_create +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8bab564c media_graph_walk_next +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x94411f22 media_entity_get_fwnode_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9a1ee124 __media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9bbaac79 media_device_unregister_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xa9a2f3e4 media_request_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xab125fa0 media_request_object_find +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xaebbe9c1 media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xbc48a03b media_graph_walk_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe35ac284 media_entity_remote_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe5042089 media_create_ancillary_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe5ceecd6 media_entity_enum_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe8d72b85 media_create_pad_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf83aa689 __media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xfa8932d4 media_device_register_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xfc781c47 __media_entity_enum_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xfd10f0a3 media_request_object_unbind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xfd9c04e0 __media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xfdd568a4 media_request_get_by_fd +EXPORT_SYMBOL_GPL drivers/media/pci/cx88/cx88xx 0x28d3bfce cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x03f40c14 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x076ed564 mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x0f3e9bc1 mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x30f04e6a mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x471e115e mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x649c12d0 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x88833000 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x8a3931dc mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x8e133613 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x90ff98eb mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x96b77ccd mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x9d591128 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xa6fd83ca mantis_input_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xa8505354 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xb7b21869 mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xc219bb43 mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xeb91dc8b mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xfdd76ee8 mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xffd13031 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x159eb24a saa7134_g_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x1904ab78 saa7134_ts_buffer_prepare +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x2e698c0e saa7134_g_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x392ded20 saa7134_g_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x584713f9 saa7134_g_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x62db66a5 saa7134_ts_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x64c0cf8c saa7134_s_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x73f36ce2 saa7134_s_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x8a23de84 saa7134_vb2_buffer_queue +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa2e253df saa7134_querycap +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa2e915e1 saa7134_ts_start_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xae31ab9b saa7134_ts_queue_setup +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xb09fef0e saa7134_querystd +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xc90ce834 saa7134_enum_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xcb196309 saa7134_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xd215723a saa7134_s_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xd3691938 saa7134_ts_buffer_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xe08b4b92 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xf3bd91ef saa7134_s_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x2a659c63 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x64e545ca ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xcf9b22ef ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xdc02fe72 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xebdf6cd0 ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xec64f812 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xf026daf2 ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x10f37383 nal_hevc_read_pps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x1c56812a nal_h264_write_filler +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x4060568e nal_h264_read_sps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x46f82c44 nal_hevc_read_filler +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x5439507a nal_hevc_read_sps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x618c206c nal_h264_write_pps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x945e88a4 nal_hevc_read_vps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x9ca9e7f7 nal_h264_write_sps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0xa8229a8f nal_hevc_write_sps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0xb2becde7 nal_hevc_write_vps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0xc8db260b nal_h264_read_pps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0xc9b14b1f nal_h264_read_filler +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0xe0604031 nal_hevc_write_filler +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0xede398a2 nal_hevc_write_pps +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x33f24e71 mccic_suspend +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x3fc53802 mccic_shutdown +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x513620c6 mccic_register +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x722a59c5 mccic_resume +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0xe16e88c6 mccic_irq +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x0875e256 vpu_get_plat_device +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x2368a0f6 vpu_wdt_reg_handler +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x357d056d vpu_mapping_dm_addr +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x4266e026 vpu_get_venc_hw_capa +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x754c8df1 vpu_ipi_register +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x756dc596 vpu_load_firmware +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0xbb42f405 vpu_ipi_send +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0xfdc00a78 vpu_get_vdec_hw_capa +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x010e6eb6 venus_helper_vb2_start_streaming +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x05a8bacc hfi_session_unload_res +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x1178f83c hfi_session_init +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x14684024 venus_helper_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x1d78e8b6 venus_helper_buffers_done +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x1ee394c8 venus_helper_alloc_dpb_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x23c72864 venus_helper_find_buf +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x27b12c5f venus_helper_m2m_device_run +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x27e5a6eb hfi_session_continue +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x2896d334 hfi_session_abort +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x29915959 venus_helper_check_codec +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x2d693ecb venus_helper_m2m_job_abort +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x334d6364 venus_helper_set_dyn_bufmode +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x33931b11 venus_helper_set_raw_format +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x38517f7f hfi_session_deinit +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x393caa01 venus_helper_set_output_resolution +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x39ffdf70 venus_helper_intbufs_realloc +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x43eba4d4 venus_helper_set_num_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x4f704b12 venus_helper_set_profile_level +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x502e4d29 venus_helper_vb2_buf_prepare +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x58137a50 venus_helper_queue_dpb_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x583dcc42 venus_helper_unregister_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x59fd7216 venus_helper_set_format_constraints +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x67c8d8fd hfi_session_create +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x7832660c venus_helper_vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x7e2c570c hfi_session_destroy +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x84efc138 hfi_session_flush +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x872b1b18 venus_helper_init_instance +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x88d88e44 venus_helper_set_color_format +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x8d12f73d venus_helper_set_multistream +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x96b3409f venus_helper_get_opb_size +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xa3acc092 venus_helper_intbufs_alloc +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xa95b08e4 hfi_session_set_property +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xaa493a4f venus_helper_get_out_fmts +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xac3fe0e8 venus_helper_set_input_resolution +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xb20e22d0 hfi_session_stop +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xb3f025e2 venus_helper_vb2_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xb4f82368 venus_helper_get_ts_metadata +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xb4fb8962 hfi_session_process_buf +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xb5da1da9 venus_helper_get_framesz_raw +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xbfd75451 venus_helper_check_format +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xc19ce35e venus_helper_set_bufsize +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xc2aff875 venus_helper_session_init +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xc316a35f venus_helper_get_profile_level +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xc729a1b8 venus_helper_process_initial_cap_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xcede59b3 venus_helper_acquire_buf_ref +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xd21da2e4 venus_helper_get_framesz +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xd7dc13e2 hfi_session_get_property +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xdd31b57b venus_helper_set_stride +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xde45067d venus_helper_process_initial_out_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xe1cb4a53 venus_helper_change_dpb_owner +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xe8b74a97 venus_helper_vb2_buf_init +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xeb18d1d4 venus_helper_set_work_mode +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xf058e58e venus_helper_release_buf_ref +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xfb7328af hfi_session_start +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xfbe8b886 venus_helper_get_bufreq +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xfc70288e venus_helper_intbufs_free +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xfdd6c791 venus_helper_free_dpb_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x3d858696 rcar_fcp_put +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x4ad5d888 rcar_fcp_enable +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x5fe6f6e8 rcar_fcp_disable +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x9877c29f rcar_fcp_get +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0xbbd35e17 rcar_fcp_get_device +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x070f0732 vsp1_du_map_sg +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x1f75a3b8 vsp1_du_atomic_begin +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x39ea06f1 vsp1_du_atomic_flush +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x748b3200 vsp1_du_atomic_update +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0xafe50f32 vsp1_du_setup_lif +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0xb2d7deb6 vsp1_du_unmap_sg +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0xb4bbeaa6 vsp1_du_init +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x19deceb3 xvip_clr_and_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x40007ad6 xvip_clr_or_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x43738fab xvip_set_format_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x451f9cbb xvip_init_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x473191f1 xvip_cleanup_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x6c3fb1d1 xvip_enum_mbus_code +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xa871256a xvip_enum_frame_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xb67940fb xvip_get_format_by_fourcc +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xe08e6063 xvip_get_format_by_code +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xebecac83 xvip_of_get_format +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x3c16a6b1 xvtc_generator_stop +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x47d7900b xvtc_generator_start +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0xa8a0f912 xvtc_put +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0xf9705dc5 xvtc_of_get +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x7dcf22a1 radio_tea5777_exit +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0xc6f767d6 radio_tea5777_init +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x05418fac si470x_stop +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x063eb791 si470x_viddev_template +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x1ab09bf5 si470x_start +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x33861437 si470x_set_freq +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xf546b44c si470x_ctrl_ops +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x001ebb53 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x059e221b devm_rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1d185d27 rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x2ed90ced rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x47de2dd2 ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x58f510ac rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x60ea86d8 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x71235fb5 devm_rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x78d9c9d9 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x79cad267 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7f7d46fb ir_raw_event_store_with_timeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb960f15c rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xc312e9cf ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xcca5d095 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xd31c670e rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe3b7915c rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xee8721c7 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf3b1729a lirc_scancode_event +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf5f22eac rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfa9218ea rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfc5d3079 rc_map_get +EXPORT_SYMBOL_GPL drivers/media/tuners/mt2063 0x4e24a97c mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mt20xx 0x45ae627b microtune_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mxl5007t 0x710ce6c8 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/r820t 0xc79e9601 r820t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda18271 0x21c0ab67 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda827x 0xe8ec72b5 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0xa86991f2 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0xc3c3b9c1 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda9887 0x5d645b98 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0xdf2b1da8 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0xf4394b05 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x4da270af tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x81535e23 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tuner-simple 0x21e1844d simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x116e5c8b cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x15f3357d cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x17dcd288 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x2984e4ea cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x3e27b95a cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x3fbdd4a3 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x490eb4f8 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x4e3a88dc cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x6acf8ba9 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x77a46cac cx231xx_get_i2c_adap +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x8be54840 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x98d1ec0a is_fw_load +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xaddda85b cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xaec1b00f cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xc59e3fc6 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xcf50a0cd cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xe056c22a cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xea0867e3 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xf8cc8c29 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xfaad54fa cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0x4a3991b2 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0x8cab30e3 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x07170d2b em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x0ae2aff3 em28xx_init_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x3435a689 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x3fb627b2 em28xx_find_led +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x5463f6aa em28xx_alloc_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x5ad12f56 em28xx_init_camera +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x71d9c93f em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x721f7cc7 em28xx_free_device +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7dece4f7 em28xx_toggle_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x85555bed em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x8ce4abd0 em28xx_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x921d7c65 em28xx_boards +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x953ba66d em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xbd91b350 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xc59c83f4 em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xca02b597 em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xd1519db2 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xd3ba3b76 em28xx_uninit_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xdd27948d em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xe23a8c47 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xa259d963 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xc1f9d4a8 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xd9e24a49 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xf1ac779f tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x6a2bda24 __v4l2_async_nf_add_i2c +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0xb6df249f __v4l2_async_nf_add_fwnode_remote +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0xbe7f58bf __v4l2_async_nf_add_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0xc1e60b01 __v4l2_async_nf_add_fwnode +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0xf09db8db v4l2_async_nf_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x01612c0b v4l2_detect_gtf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x08402862 v4l2_print_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x0958448b v4l2_set_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x0af3d134 v4l2_valid_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x2bf67def v4l2_calc_aspect_ratio +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x370cfe6e v4l2_dv_timings_presets +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x3aa68d7a v4l2_find_dv_timings_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x4839762f v4l2_calc_timeperframe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7b6ac78f v4l2_phys_addr_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x8f8d4341 v4l2_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x922ecd29 v4l2_enum_dv_timings_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xa97e00eb v4l2_detect_cvt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xae575c8f v4l2_phys_addr_for_input +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xd034392d v4l2_match_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xef15cc44 v4l2_hdmi_rx_colorimetry +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xf56238f4 v4l2_find_dv_timings_cea861_vic +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xff585440 v4l2_dv_timings_aspect_ratio +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x0bed2326 v4l2_flash_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0xc15648d3 v4l2_flash_indicator_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0xd5916b12 v4l2_flash_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x02b3a1b0 v4l2_async_register_subdev_sensor +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x13b78bbf v4l2_fwnode_endpoint_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x145c55b5 v4l2_fwnode_endpoint_alloc_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x1da4cae1 v4l2_fwnode_parse_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x45485159 v4l2_fwnode_connector_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x612ddce5 v4l2_fwnode_connector_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x97bba487 v4l2_fwnode_connector_add_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xab53e561 v4l2_async_nf_parse_fwnode_endpoints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xb2c1a7d9 v4l2_fwnode_device_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xc380d1ea v4l2_fwnode_put_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xed91ee17 v4l2_fwnode_endpoint_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0x639ecc68 v4l2_h264_init_reflist_builder +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0x6a1429ff v4l2_h264_build_p_ref_list +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0xf568bf81 v4l2_h264_build_b_ref_lists +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0x30b5ebc6 v4l2_jpeg_parse_scan_header +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0xcbfdf5cb v4l2_jpeg_parse_frame_header +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0xe8956e3f v4l2_jpeg_parse_huffman_tables +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0xe8f40f9e v4l2_jpeg_parse_header +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0xf8ffd565 v4l2_jpeg_parse_quantization_tables +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x07443044 v4l2_m2m_last_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x0b0a4f12 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x0c5f2c11 v4l2_m2m_ioctl_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x16e94b61 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x26d2dfc1 v4l2_m2m_ioctl_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x287896ca v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2c0d46b3 v4l2_m2m_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3012d883 v4l2_m2m_request_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3efa4854 v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x466d7f3b v4l2_m2m_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x47bfa2b2 v4l2_m2m_ioctl_stateless_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x4a15cc4d v4l2_m2m_ioctl_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x4c33532f v4l2_m2m_last_buffer_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x4cd0d248 v4l2_m2m_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6dd8b6d2 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x730f2eae v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x77802929 v4l2_m2m_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x798854e9 v4l2_m2m_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x80309bfc v4l2_m2m_ioctl_try_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x872661e5 v4l2_m2m_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x8fbefa4f v4l2_m2m_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x901baa07 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa1b7ba2a v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa986d13e v4l2_m2m_fop_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xab737907 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xadcdc853 v4l2_m2m_register_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xbd53730d v4l2_m2m_update_stop_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xbfd402bd v4l2_m2m_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xcc9d7bb5 v4l2_m2m_buf_copy_metadata +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xcdc754cc v4l2_m2m_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd7850ea7 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe01a4bfd v4l2_m2m_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe0cc61b3 v4l2_m2m_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe183c193 v4l2_m2m_try_schedule +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe3870b87 v4l2_m2m_ioctl_stateless_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xead1101c v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xee6da19d v4l2_m2m_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf01da9d5 v4l2_m2m_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf13ff84d v4l2_m2m_unregister_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf59b615c v4l2_m2m_update_start_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf62ae195 v4l2_m2m_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf65cca37 v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf83eaa87 v4l2_m2m_buf_remove_by_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf85f1f86 v4l2_m2m_buf_remove_by_idx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xfc2de118 v4l2_m2m_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xff454121 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x4137d90c v4l2_vp9_adapt_coef_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x8ef1a3dd v4l2_vp9_reset_frame_ctx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x8ef25d5d v4l2_vp9_seg_feat_enabled +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x9dec35a2 v4l2_vp9_fw_update_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0xb3cf2529 v4l2_vp9_adapt_noncoef_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0xcf15018a v4l2_vp9_kf_partition_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0xdf6586d2 v4l2_vp9_kf_uv_mode_prob +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0xf5c55c43 v4l2_vp9_default_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0xfbf87a5e v4l2_vp9_kf_y_mode_prob +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x02cbc352 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x1432f57c videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x1ae3139a __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x1b22b1c7 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x1d9de30d videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x2c8dc031 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x38ab17b7 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x3a4fbb3a videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x3ef38a48 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x632a871c videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7708f3dd videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x9824ebcd videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xa09461a6 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xa244d6fd videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xa8d3bb7f videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xacaf11f9 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xb309b005 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xb57f728d videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xc210d64f videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xcf4534d8 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xdabf3d1b videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xdc33afc3 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xdeeae719 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xe57f59bd videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x1dfbfc08 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x50a9b69f videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x553a86d0 videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xcbcfc156 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xea1976d1 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x4c773728 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0xd7de9528 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0xfd7dec44 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0286caba v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x08b06e1a v4l2_pipeline_pm_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x11f3044c __SCK__tp_func_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x13209ea7 __v4l2_subdev_state_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x14801769 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1885c1f6 __v4l2_subdev_state_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x19725d38 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x199c709e v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1fda83ce v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x21959bf4 v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x21f4494c v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x23277d2c v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x23ecf963 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x296b8f26 v4l2_event_wake_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2ae0877b __SCK__tp_func_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2b740c84 v4l2_ctrl_request_hdl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x352ef7d0 v4l2_get_link_freq +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x376bde0e v4l2_create_fwnode_links_to_pad +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x37a28438 __traceiter_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x38357292 __traceiter_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3ffc215b __traceiter_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x452f53b1 __tracepoint_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4531a82a v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x46ac032f __tracepoint_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x475f0cd0 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x484cba73 v4l2_g_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x49bc37ec v4l2_subdev_get_fmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4bfea2a7 v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4d61a401 v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5c4ff2cd __traceiter_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5d6a3a72 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x64420d41 v4l2_pipeline_pm_get +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x68128a61 v4l2_event_subdev_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x69251ded v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6a2de036 __tracepoint_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6ce1c95c __SCK__tp_func_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e9acc41 v4l2_fill_pixfmt_mp +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7555ac60 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x75992e22 v4l2_subdev_link_validate_default +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7ff15812 v4l_vb2q_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8084e684 __v4l2_subdev_init_finalize +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8637c931 v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8ae39ece v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8e7bd113 v4l2_subdev_link_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x93f2edca v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x99762f30 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x99c1cd2b v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x99f1d0cf v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9fef35ac v4l2_apply_frmsize_constraints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa2bdab43 v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa57bc3c4 v4l2_mc_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa8eb757a v4l2_i2c_subdev_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xaf758d88 v4l2_src_change_event_subdev_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb33a89b5 __v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb604afa2 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc0d44cad v4l2_subdev_get_fwnode_pad_1_to_1 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc742d6e8 __tracepoint_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcc501597 v4l2_fill_pixfmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcc682254 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd2e52b1b v4l2_src_change_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xdb5c095a v4l2_pipeline_link_notify +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe01cebd1 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe2822320 __v4l2_find_nearest_size +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe4974ff2 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe5a33113 __SCK__tp_func_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xee475a0e v4l_disable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf2a353ac v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf2cfa38b v4l2_ctrl_request_hdl_ctrl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf30c9a39 v4l2_create_fwnode_links +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf381a78a v4l2_subdev_notify_event +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf3d48779 v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf50125f7 __v4l2_ctrl_handler_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf5ef842e v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfb521138 v4l2_s_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfdda301c v4l_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xff62d79d v4l2_subdev_cleanup +EXPORT_SYMBOL_GPL drivers/memory/omap-gpmc 0x108b7091 gpmc_omap_onenand_set_timings +EXPORT_SYMBOL_GPL drivers/memory/omap-gpmc 0x1bc40a8d gpmc_omap_get_nand_ops +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x8f4d342d pm80x_init +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xaa11471c pm80x_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xd99fd720 pm80x_deinit +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xe0f66067 pm80x_regmap_config +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x144642cd arizona_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x2023dee8 cs47l24_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x246c5157 wm5110_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x372b366e wm5110_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4048fbbc wm8997_aod +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x48c27e65 arizona_set_irq_wake +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4c087981 wm5110_aod +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x57a52e37 cs47l24_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x62c4d009 arizona_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x6754901b wm5110_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x88645d51 arizona_clk32k_enable +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x8d678832 arizona_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x965d1051 arizona_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x9a07c426 wm5102_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xa6b70564 wm8997_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xa727bd3b cs47l24_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xaaf78759 wm5110_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xc81b43ab wm5110_revd_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xc8cdd39e wm8998_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xd93f056a wm5102_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xe6d6043f wm8997_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xefbd06ab wm8997_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xfafe0c62 arizona_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xfdbfbfc9 arizona_clk32k_disable +EXPORT_SYMBOL_GPL drivers/mfd/atc260x-core 0x6bc30276 atc260x_match_device +EXPORT_SYMBOL_GPL drivers/mfd/atc260x-core 0x7c9c3e5c atc260x_device_probe +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x2c6ef089 da9150_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x3e02c70d da9150_bulk_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x6bfebc39 da9150_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x9d15885f da9150_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xa18e2b1c da9150_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xa3e327e4 da9150_write_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xaf9d5c7c da9150_read_qif +EXPORT_SYMBOL_GPL drivers/mfd/gateworks-gsc 0xa142a524 gsc_read +EXPORT_SYMBOL_GPL drivers/mfd/gateworks-gsc 0xb7abd1c4 gsc_write +EXPORT_SYMBOL_GPL drivers/mfd/iqs62x 0xa436f4de iqs62x_events +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x0ac3b2fc kempld_read8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x0e4da6be kempld_read16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x1b712959 kempld_release_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x44ba4cfd kempld_write16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x516f2211 kempld_get_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x65adb853 kempld_write32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xad8f4679 kempld_write8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xeba1f004 kempld_read32 +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x4c968ed8 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x5c0b666a lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xf9b50aa5 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x141c13e3 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x2378fb1b lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x2677ba4e lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x2a33f166 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x3698044e lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x44403e36 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xfa255877 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x959e296f lp3943_update_bits +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0xa5fa1fa1 lp3943_read_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0xeb344689 lp3943_write_byte +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0a87ecf1 cs47l92_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0a8a30b1 cs47l92_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0b2e6900 madera_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f379262 madera_of_match +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x17a11bc4 cs47l35_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x17acc784 cs47l35_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x25d380bc cs47l85_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x25de5cfc cs47l85_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x356ad123 cs47l35_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x3d06f70c cs47l90_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x3d0b2b4c cs47l90_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x49b2f1fd cs47l92_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x49bf2dbd cs47l92_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x4d3b09f6 cs47l15_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x549406c8 cs47l35_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x5499da88 cs47l35_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x66e69db0 cs47l85_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x66eb41f0 cs47l85_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7e33ea00 cs47l90_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7e3e3640 cs47l90_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x8cdff733 madera_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x9e57ac04 cs47l15_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x9e5a7044 cs47l15_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa6364e9f cs47l92_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa69d03a9 cs47l85_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc47a2695 madera_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xdd62b108 cs47l15_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xdd6f6d48 cs47l15_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebe384cb madera_name_from_type +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xf02739d7 cs47l90_patch +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x209fdd4c mc13xxx_common_exit +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x2ad2a2a9 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xb6a18cd4 mc13xxx_variant_mc13892 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xbc5f8337 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xe414329c mc13xxx_variant_mc34708 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xf61bc7f4 mc13xxx_variant_mc13783 +EXPORT_SYMBOL_GPL drivers/mfd/motorola-cpcap 0xa226dbe8 cpcap_sense_virq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x4d69e4e2 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x50f3a53e pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x5dedac7f pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x83aabe9f pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x8b7b7de9 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xaf423611 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xc16bbf5e pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xc444692d pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xcba80768 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xefc54a4a pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xfce568cd pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x6161fc35 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x6b28f159 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x4ad9e114 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x4c0aaadd pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x5050bd0d pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x6b0da428 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x815df029 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x43e53ef9 rave_sp_exec +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x4650bb8e devm_rave_sp_register_event_notifier +EXPORT_SYMBOL_GPL drivers/mfd/retu-mfd 0x56d1a8c5 retu_read +EXPORT_SYMBOL_GPL drivers/mfd/retu-mfd 0xa074c8b6 retu_write +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x087356ae si476x_core_set_power_state +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x2120fa85 si476x_core_cmd_fm_rds_blockcount +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x2eb57e81 si476x_core_cmd_fm_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x327ace32 si476x_core_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x3562e075 si476x_core_is_a_primary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x369b8302 si476x_core_cmd_am_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x38114a66 si476x_core_cmd_fm_phase_div_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x385557b7 si476x_core_cmd_fm_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x400bd5ff si476x_core_cmd_power_down +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x51693b75 si476x_core_cmd_func_info +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x60d5e8e5 si476x_core_is_a_secondary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x741ca39e si476x_core_cmd_fm_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fd98c9b si476x_core_i2c_xfer +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x80990ee7 si476x_core_cmd_power_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x80ad09bf si476x_core_cmd_am_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x91814c41 si476x_core_cmd_set_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9288e3b8 si476x_core_cmd_fm_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9a7b66be si476x_core_is_powered_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9cb795be devm_regmap_init_si476x +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9d09ce73 si476x_core_has_am +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9f3c05c8 si476x_core_cmd_zif_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xa0d6a2af si476x_core_cmd_am_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xb8eb50bc si476x_core_cmd_get_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xbc2da8fa si476x_core_is_in_am_receiver_mode +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xbd2367f1 si476x_core_cmd_ana_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xbf2aa835 si476x_core_stop +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xcaa82ef1 si476x_core_cmd_ic_link_gpo_ctl_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xda7ef852 si476x_core_has_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xde3e9c54 si476x_core_cmd_fm_phase_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe01b68a4 si476x_core_cmd_am_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe770e981 si476x_core_cmd_dig_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe7cab438 si476x_core_cmd_intb_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf6e3f32d si476x_core_cmd_agc_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf72aff9f si476x_core_cmd_fm_rds_status +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x0481fee8 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x6d5e72bf sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x7d48c535 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xc35e38be sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xe8787f65 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sprd-sc27xx-spi 0xdb89bd2b sprd_pmic_detect_charger_type +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0x22e6a959 stmfx_function_disable +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0x2462047f stmfx_function_enable +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x09c81529 am335x_tsc_se_clr +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x4aade3a0 am335x_tsc_se_set_cache +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x4f766339 am335x_tsc_se_adc_done +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x911565e2 am335x_tsc_se_set_once +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x19833fcf tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x49aab3a4 tps65217_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xce3e90f7 tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xde41ae19 tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x1cb5f27d tps65218_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x8c972e3a tps65218_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0xaf149a4e tps65218_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xca4e2ebc ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x088b8393 alcor_read32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x567fc302 alcor_write32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x8deac183 alcor_read8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x956c816e alcor_write32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xd3309ca3 alcor_write16 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xe355d8ce alcor_read32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xfb3ec64d alcor_write8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x03262cfd rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x0b9b4302 rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x0f9a2218 rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x15840c3c rtsx_pci_dma_map_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x159c20a5 rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x189ff948 rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x39551841 rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x3c1c25a3 rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x4bfb1851 rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x523da2e0 rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x6aedd169 rtsx_pci_dma_unmap_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x6b1b9953 rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x6fb11f3e rtsx_pci_dma_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x8c6faa55 rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x8e14f21d rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa6397cb7 rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xba720117 rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xbbd91acb rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xbe701fb6 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd826e009 rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd91461a3 rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe2a5ac44 rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe4816e4c rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xf41461e7 rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x01882fdf rtsx_usb_get_card_status +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x1ea1991c rtsx_usb_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x26a2b4d4 rtsx_usb_ep0_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x2cd54833 rtsx_usb_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x3c6f7c33 rtsx_usb_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x46249e86 rtsx_usb_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7f56ba0b rtsx_usb_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x83178edb rtsx_usb_get_rsp +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x86d80557 rtsx_usb_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x9de07e8c rtsx_usb_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xa251f03a rtsx_usb_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xac96b034 rtsx_usb_ep0_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xaf0bb469 rtsx_usb_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x4da84e5f cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x668832cb cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x6dd9870e cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x7688a8b0 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x0b008db0 oslec_hpf_tx +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x296a8983 oslec_update +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x3115970d oslec_create +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x4b711f77 oslec_adaption_mode +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x5909e701 oslec_snapshot +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x780d3f01 oslec_flush +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x84eba96d oslec_free +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x3cb83d5b eeprom_93cx6_multireadb +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d2ff63 eeprom_93cx6_wren +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x870b53e9 eeprom_93cx6_write +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x884deb9d eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0xc9c6bb25 eeprom_93cx6_readb +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0xff7a0fdf eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x0bece311 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x2bf952c4 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x8e94dca9 enclosure_component_alloc +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xa66c9ab2 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xbe3ee55e enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xd13c6ca9 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xde4e67ed enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xe7f785c7 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x220691a5 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x358d4062 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x3a0ae5e2 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x4c7e61e2 lis3lv02d_init_dt +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x63667bd5 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x705243a3 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xbd8d0c8a lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xed38f88b lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/pvpanic/pvpanic 0x0469ee07 devm_pvpanic_probe +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x8c795269 st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xde697c01 st_unregister +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x006b7908 uacce_alloc +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x048ce067 uacce_remove +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0xb66ff494 uacce_register +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x024d14bc vmci_qpair_produce_free_space +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x046dd187 vmci_datagram_create_handle +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x056837fb vmci_get_context_id +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x077b9871 vmci_qpair_enquev +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x1fd4782d vmci_qpair_get_produce_indexes +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x2449459d vmci_event_subscribe +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x3a22fa8a vmci_datagram_destroy_handle +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x4ba5c46b vmci_qpair_peek +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x5591b58e vmci_context_get_priv_flags +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x5e949e0a vmci_doorbell_destroy +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x612df9ae vmci_qpair_detach +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x676bd843 vmci_qpair_consume_free_space +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x75fe065a vmci_send_datagram +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x787f0fe8 vmci_register_vsock_callback +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x7c74d7a6 vmci_qpair_consume_buf_ready +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x81d61eef vmci_qpair_dequeue +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x9e9017f1 vmci_qpair_dequev +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xb572e830 vmci_doorbell_create +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xbcb85f62 vmci_doorbell_notify +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xc04c7e84 vmci_qpair_get_consume_indexes +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xc403cafe vmci_is_context_owner +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xde3abc2e vmci_datagram_create_handle_priv +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xe0cc9c92 vmci_qpair_alloc +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xe11895c1 vmci_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xe67343c1 vmci_qpair_enqueue +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xea143610 vmci_datagram_send +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xea61eefe vmci_qpair_produce_buf_ready +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xf8ebad3e vmci_qpair_peekv +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x14a5d089 dw_mci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x80ac32c2 dw_mci_pltfm_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x8f342cea dw_mci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x1457ddb6 mmc_hsq_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x2c637c6c mmc_hsq_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x7453b551 mmc_hsq_init +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x9c71b9a8 mmc_hsq_finalize_request +EXPORT_SYMBOL_GPL drivers/mmc/host/renesas_sdhi_core 0x6b583844 renesas_sdhi_probe +EXPORT_SYMBOL_GPL drivers/mmc/host/renesas_sdhi_core 0xfc7b72ab renesas_sdhi_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x04291b08 sdhci_set_power +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x04dabd85 sdhci_set_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0827646f sdhci_cleanup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0d769eb0 sdhci_set_ios +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x10685e62 sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x113aca8c sdhci_end_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1b2b5720 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x20dfa2c0 sdhci_enable_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x316383a4 sdhci_start_signal_voltage_switch +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x40e69d58 sdhci_enable_v4_mode +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x4751a5ee sdhci_request +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x52521170 sdhci_execute_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x58581a2a sdhci_setup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5fc1e59b __sdhci_set_timeout +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x606734bc __sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6288a5cf sdhci_enable_sdio_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x636e555d sdhci_set_power_and_bus_voltage +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6667c3fa sdhci_set_power_noreg +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x66b2c0a1 sdhci_cqe_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x78db240e sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7d5734c2 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x83b77762 sdhci_set_uhs_signaling +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x92364463 sdhci_reset_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x93eb9dd1 sdhci_start_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x96d050c9 sdhci_dumpregs +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x993793ae sdhci_send_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa125db31 sdhci_cqe_enable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa5b037b9 sdhci_calc_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa8b2c4ff sdhci_cqe_disable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xafaa4bd9 sdhci_request_atomic +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb9942101 sdhci_switch_external_dma +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xbf068c76 sdhci_reset +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc26a0e06 sdhci_set_data_timeout_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xced43d68 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd5b97772 sdhci_set_bus_width +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd88a8d76 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe8a7b273 sdhci_abort_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xee405765 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf4448cc6 __sdhci_read_caps +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf6a0e195 sdhci_adma_write_desc +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xfc0604dc sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xff046926 sdhci_get_cd_nogpio +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x1bc338ca sdhci_pltfm_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x41610659 sdhci_get_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x4d3890f1 sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x5181360d sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x8472f6da sdhci_pltfm_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x8f0ef817 sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x92a247f2 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xbab507c5 sdhci_pltfm_clk_get_max_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xef2603c1 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x16107683 tmio_mmc_host_runtime_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x36fdc426 tmio_mmc_do_data_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x378f2335 tmio_mmc_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x66d5503b tmio_mmc_enable_mmc_irqs +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x70e3ddda tmio_mmc_host_alloc +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x94d37489 tmio_mmc_host_runtime_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xa0527e41 tmio_mmc_host_free +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xcfe778a7 tmio_mmc_disable_mmc_irqs +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xecf66ca7 tmio_mmc_host_probe +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xf62a2876 tmio_mmc_host_remove +EXPORT_SYMBOL_GPL drivers/most/most_core 0x013a9cba most_submit_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x14e30b04 most_register_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x15180788 most_get_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x2c22f4ed most_stop_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x747c112f most_stop_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7f502b4b most_deregister_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0x8c584e51 most_put_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xc8643caf most_start_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0xd27e62a1 most_deregister_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0xd7d95571 most_deregister_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0xeaa1e32d most_register_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0xf1bcfe6b most_register_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0xf83176ae most_resume_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0xf9f07590 channel_has_mbo +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x4b1e4b2d cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x74376ec5 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xb6006ebb cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x2ad89209 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x548ad9d9 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xa773165f cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xc54dbf5e cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x71203650 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xa0269e56 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xa5b660c5 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x45f94064 hyperbus_unregister_device +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x6306fb6f hyperbus_register_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x046c1d9f mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x07b2c898 __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x095be500 mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0b893e29 mtd_ooblayout_set_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0bd7d87d mtd_write_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x17379866 mtd_ooblayout_count_freebytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x19072d3c mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x19c20325 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x229ea532 __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2b4e2911 get_tree_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3c02a3b0 mtd_ooblayout_find_eccregion +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3ea2f89e mtd_ooblayout_get_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x42008bda __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x45c891b0 mtd_wunit_to_pairing_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x463571c9 mtd_pairing_groups +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x50dabc2f mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x532b567d mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x56f0deaf mtd_pairing_info_to_wunit +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5c947ae5 mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6165cbf3 mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x63fb5cea __register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x640e9d5f mtd_ooblayout_get_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x66e83775 mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6af2da41 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x713bc07a mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x73e1471a put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x760da2ae deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7767575d mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7e9d86fb mtd_ooblayout_count_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8e3789d2 mtd_erase_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x90004ded mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x910dfd1b mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x937dd6c5 mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x941b9472 mtd_get_device_size +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x95d75b9f mtd_block_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x98605086 mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9ce8321e get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa57ef719 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa8f23217 mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xabaad502 mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xaec1d8b2 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xaeceed87 mtd_ooblayout_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb0dc4d0c mtd_read_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb7075882 mtd_check_expert_analysis_mode +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb7bd15d5 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xba3ffa47 mtd_ooblayout_set_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xbf6922fe register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc462f49f mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc983908d mtd_ooblayout_free +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc9e23341 mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcaef7ff0 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcb8917c2 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdeca3153 mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf78843b5 mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfdd3b13c mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x3a7114fd deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x3bd2880a del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x7fc39219 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x92c61d13 register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xfaa34aac add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x09af10b1 nand_get_small_page_ooblayout +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x0adb5fda nanddev_bbt_set_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x248fc20b nanddev_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x397d920b nand_get_large_page_hamming_ooblayout +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x56ed2c92 nanddev_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x5a12b27d nand_ecc_init_req_tweaking +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x601bb59a nand_ecc_tweak_req +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x6d765c24 nanddev_bbt_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x7b575633 nand_ecc_cleanup_req_tweaking +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x8aea659b nanddev_mtd_max_bad_blocks +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x8faebe4a nanddev_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xa5bed14d nanddev_bbt_get_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xab1366aa nanddev_bbt_update +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xb1e71921 mxic_ecc_get_pipelined_engine +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xb650dcdb mxic_ecc_get_pipelined_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xb9e30643 nanddev_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xbd5382cc nanddev_mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xd7069a6c nand_get_large_page_ooblayout +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xdc32f2ca nanddev_ecc_engine_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xe6c4895d nanddev_markbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xeb952834 nanddev_isbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xec0a3f81 mxic_ecc_put_pipelined_engine +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xf23ec323 nand_ecc_restore_req +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xf2b6778e nanddev_ecc_engine_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xf30b19a8 nanddev_bbt_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xf3c0234d mxic_ecc_process_data_pipelined +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x2af5f1df onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0xeedb9536 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x132ceba5 brcmnand_probe +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x4f5f5c7b brcmnand_remove +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0xfc19dfb4 brcmnand_pm_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/denali 0xb7b84439 denali_chip_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x0643bbb6 nand_deselect_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x11091291 nand_extract_bits +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x230cd1c0 nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2d368c4c nand_subop_get_addr_start_off +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2ee72e87 nand_erase_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x398fad16 nand_read_oob_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5632e63d nand_subop_get_num_addr_cyc +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x58166fda nand_gpio_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x64e658c1 nand_soft_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x6af00d68 nand_prog_page_begin_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x7492b5d7 nand_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x7795e78e nand_prog_page_end_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x80519182 nand_reset_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x95717b0b nand_op_parser_exec_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xa10dbbc1 nand_ecc_choose_conf +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xa131252b nand_read_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xa3fdd302 nand_decode_ext_id +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xaf75f9c1 nand_read_page_hwecc_oob_first +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xb9ad2e24 nand_status_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xbc68453e nand_readid_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xbe8bff67 nand_change_write_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xc802b8d3 nand_reset +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xc90ec331 nand_select_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd3c672b8 nand_subop_get_data_len +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd41ff2ac nand_subop_get_data_start_off +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xdcde878e nand_read_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xeaf695e6 nand_prog_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xed6e4ebc nand_write_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xf815ed0a nand_change_read_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/sm_common 0xb67835fc sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x74320b4c spi_nor_scan +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0xf4e27f99 spi_nor_restore +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x0b6c539c ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x153fd226 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x44876714 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x563c9157 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6246e3e8 ubi_leb_read_sg +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x66011ab6 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6af08263 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7a2aba3a ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7ba648c6 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x8259ee6f ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x85a8ee76 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x9776b943 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa2809746 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd06b02fe ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe74dfc19 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf5c732f3 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf5ee9ba8 ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x0a65c89f mux_state_try_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x12199d5e mux_control_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x25460a90 devm_mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x256f0152 mux_chip_unregister +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x263f630c mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x2c0ea4f2 devm_mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x2de65aae mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x474f99ff mux_control_states +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x694c1c99 mux_control_put +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7cf08396 mux_state_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7e103a9d mux_control_try_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7faf2f7a mux_chip_free +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x93f93689 devm_mux_state_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xa4000d5a mux_control_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xc6821945 mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xe08e2b4f devm_mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xfa76e911 mux_state_select_delay +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x43be4061 arcnet_led_event +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0xec8327fd devm_arcnet_led_init +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x09a85d0f unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x0d297eed c_can_power_up +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x7578bc60 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xa548e00d alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xb063bde8 c_can_power_down +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xb87b025b free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x057b7a40 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xd1c3d2b5 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xdcd31570 alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xddcd0a7b unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x03184484 can_rx_offload_queue_tail +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x05768703 can_rx_offload_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x0b65827b can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x10383c89 can_rx_offload_del +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x10d892eb can_get_state_str +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x12c60311 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x16297472 can_change_state +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x18f1b059 can_rx_offload_queue_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1a7fe0a4 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1d4c67a7 can_rx_offload_irq_offload_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x219861e3 safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x304239b7 can_rx_offload_irq_finish +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x475f3c4a free_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x501d1f51 can_skb_get_frame_len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6047ede6 can_fd_len2dlc +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x65e0a715 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x68dca6a2 can_rx_offload_irq_offload_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6b860d54 can_rx_offload_threaded_irq_finish +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x78eb97ef can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x81f32da6 alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x86584da7 can_change_mtu +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x9c97bd6c can_rx_offload_add_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xaeb68c48 alloc_canfd_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xafcea8ac open_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb501772c register_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb623aa32 alloc_candev_mqs +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb7d084c2 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xbc8bca58 of_can_transceiver +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xe8bcb056 can_rx_offload_add_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf12d9387 can_fd_dlc2len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf327af3b alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf3583748 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xfc242298 can_rx_offload_add_manual +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x1443238a m_can_class_resume +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x1df4257d m_can_class_suspend +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x42e98ed1 m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x722ab55b m_can_class_unregister +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x748d196f m_can_class_free_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x74c6be5d m_can_init_ram +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xb7994856 m_can_class_get_clocks +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xd1ed2efe m_can_class_register +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x1eec68ca free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x725b2e78 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x73ecb104 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xaf2a8250 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0x5ec6231b lan9303_indirect_phy_ops +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x049081a5 ksz_phy_write16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x1a81afd1 ksz_port_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x1d1d2766 ksz_port_bridge_join +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x2c710d63 ksz_port_vlan_filtering +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x36f5ec1b ksz_init_mib_timer +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x3a9ee2a7 ksz_port_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x4e02b35c ksz_port_fast_age +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x5b0e5264 ksz_r_mib_stats64 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x6541add1 ksz_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x66af2a0a ksz_port_bridge_leave +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x785c250d ksz_phy_read16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x83f3dbcf ksz_port_stp_state_set +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x901ee436 ksz_phylink_get_caps +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x98cbbe10 ksz_port_mirror_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xa434194c ksz_enable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xae87f631 ksz_port_fdb_dump +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xb151c468 ksz_get_tag_protocol +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xb3bf23c5 ksz_port_mdb_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xbdb9ec39 ksz_switch_chips +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xc1a35ec1 ksz_update_port_member +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xce6497b8 ksz_mac_link_down +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xd2bb3aaf ksz_get_stats64 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xdb859f28 ksz_port_mdb_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xdeed55e4 ksz_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xe123da5f ksz_port_mirror_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xeabafbf0 ksz_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8365mb 0xfece6a13 rtl8365mb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x27a735c0 rtl8366_enable_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x4ab3b645 rtl8366_set_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x4ac654c4 rtl8366_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x5c33d750 rtl8366_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x8c03a5eb rtl8366_mc_is_used +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x8dd27728 rtl8366_reset_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x9b73b813 rtl8366_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x9fea0df2 rtl8366_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xa706d3ff rtl8366_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xb45e88ee rtl8366rb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xbd396496 rtl8366_enable_vlan4k +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xd5f0deeb rtl8366_set_pvid +EXPORT_SYMBOL_GPL drivers/net/ethernet/arc/arc_emac 0x2bb7e418 arc_emac_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/arc/arc_emac 0x45b87cfd arc_emac_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x7c9b5892 enetc_hw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x88c05c7d enetc_mdio_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0xd9d61d6f enetc_mdio_lock +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0xe8a4ba2e enetc_mdio_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x0a6cc1ff fun_serv_sched +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x159cb9b4 fun_free_ring_mem +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x1e0624c5 fun_sq_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x4a698023 fun_serv_restart +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x893ff180 fun_res_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x896ff1e1 fun_bind +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x8a932e7e fun_alloc_ring_mem +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x94e2f125 fun_cq_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xc9ef36c3 fun_serv_stop +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xd28400a1 fun_submit_admin_sync_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xf307b4c9 fun_get_res_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0x68f7c654 i40e_client_device_unregister +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0xc648c9c2 i40e_client_device_register +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x35a4ad06 ice_rdma_request_reset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x892f4bfc ice_del_rdma_qset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x9be379e6 ice_rdma_update_vsi_filter +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0xc4cf559b ice_get_qos_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0xdff98e29 ice_add_rdma_qset +EXPORT_SYMBOL_GPL drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp 0x15867a19 otx2_ptp_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp 0x313a5366 otx2_ptp_tstamp2time +EXPORT_SYMBOL_GPL drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp 0xaba9fc4c otx2_ptp_clock_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp 0xd2b137ff otx2_ptp_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x00089da8 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0016e16a mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x04436230 mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x04f62589 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x06e96730 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x075128f1 mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0974ba26 mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x09ed96ae mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0cdf570a mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0d3f47d5 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0e068f58 mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x12f8367c mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x13204f21 mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x154718e6 mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x184a938b mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1a477600 mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1f07b562 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x205f3757 mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x23e5baac mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x24339ec8 mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2512e1de mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2542bd05 mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2582e9a2 mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x26b699a8 mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x29b3a83b mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2c95d34c mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x30d65347 mlx4_get_base_gid_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x31489113 mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x33406e82 mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x335acfeb mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x385aae01 mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3ad65a1a mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3cbe0647 mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3cf76454 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3e2b6fe5 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3f7cb4fb __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x45e5f047 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x46a6f463 mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x471d3fc2 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4e664271 mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4f4aa975 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5350bc14 mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5367ae4f mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x54bc8d10 mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5b0b7aa8 mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5b684b63 mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x63b05c63 mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x66e3d2ef mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6fb35fac mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x738ce9d4 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x75753d98 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x76bfee77 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x76f52677 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7956166b mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7aaccd7d mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7c551de4 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7cfb75e6 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7ff3783a mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x81e93c70 mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x838dd16f mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x84d43f96 __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x86602e81 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8829fbea mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x88851a4a mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x88bc2000 mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x89ecb19e mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8c7a2d63 mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8ce039b9 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8d35cc59 mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8d4fddc9 mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8de77e06 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8fb90962 mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9070cfe7 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x91cf06b5 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x98bdcddb mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9aeb4967 mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9caa44b7 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9e9d933a mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa06ebed6 mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa1ef8710 mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa26034c6 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa294f21e __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa8be30e2 mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa920a3a6 mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xab8499f4 mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaeb4b4af mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaf0fc858 mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaf151e84 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaf71fcdc mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb00a41a8 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb0a8e3f4 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb259c47b mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb55ffbdd mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb81f3afc mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb84ee9e8 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbb7d5d3a mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbc35f7a1 mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbcc7c78e mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc5fab08c mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc8bb37ec mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc9c2e091 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc9e7568e mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd0d765e6 mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd1c2803c mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd444eab4 mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xda677095 mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xda9369da mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdadd2e1e mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdd9a4595 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdf3da496 mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe3976555 mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe4609619 mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe508041d mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe8f2b2c6 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xedd6e3ab mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf1d97b0c mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf3ee503f mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf6bfcd67 mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf74aa770 mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf9f195d5 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfcce2f22 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x02c9b4d5 mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x02d7487f mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x06311d7a mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x072460c4 mlx5_fill_page_frag_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x08c386db mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x10ec9837 mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x17d89e69 mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1becdc08 mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1c218d9f mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e2e116c mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x220c4751 mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x23c2382b mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x23e55d8d mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x24123cc3 mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2b5f54e3 mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e1c8cfe mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3f8b537d mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3fdc44d4 mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x426a9cdd mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x44cb53f6 mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x45a0c9bb mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x558054b4 mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x576f32df mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5df52222 mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x62ca9b31 mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x63636f94 mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x687c9b1d mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6b91de2d mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6fbe94dc mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x71036255 mlx5_query_module_eeprom_by_page +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x733d0086 mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x747ff1ef mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x788dcca1 mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7a5c0578 mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7c2d5f15 mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8075c0e9 mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81aadc6a mlx5_fill_page_frag_array_perm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x833fb1d4 mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x85aab958 mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8aefaa23 mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x925112ca mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x95a57fb5 mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96d9de02 mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x98bcda80 mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9c087d9d mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa1c9d2a5 mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa59c9561 mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa7cbd5d5 mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb2bf2826 mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb2fb6e7a mlx5_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb645726b mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb8c7c492 mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbbf8e4dd mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbcb4afb3 mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbecf8efa mlx5_query_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc2b2a38a mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc460c291 mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc3c9fc3 mlx5_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc457e6d mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd085081d mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd1a9b2fa mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdad5feb0 mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdbd21839 mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe124513e mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe1c6454a mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe31f9e93 mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe9c2ad96 mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeab12324 mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf12abf7d mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x5597ca37 ks8851_remove_common +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x9e9da133 ks8851_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0xd07eacba ks8851_probe_common +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0xfa5f4ba9 ks8851_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xcc4fa41a regmap_encx24j600_spi_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xd258b4ad devm_regmap_init_encx24j600 +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xe8c8c6c2 regmap_encx24j600_spi_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x05643bd6 ocelot_port_get_default_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0c5d65e1 ocelot_lag_fdb_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x32277239 ocelot_get_bridge_fwd_mask +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3469c168 ocelot_port_add_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x35d6b4e2 ocelot_phylink_mac_link_down +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x37ff6e3b ocelot_lag_fdb_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3f33dc2c ocelot_port_del_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x40cf6997 __ocelot_read_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x427445e0 ocelot_port_assign_dsa_8021q_cpu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x51c78e32 ocelot_regfields_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x66d4b3f6 __ocelot_write_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x88b22fc2 ocelot_cls_flower_replace +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x88b72591 ocelot_migrate_mdbs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x903966e7 ocelot_regmap_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9641abaa ocelot_phylink_mac_link_up +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9fc576e2 ocelot_port_get_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa8d044f8 ocelot_port_mirror_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xacd8a703 ocelot_port_mirror_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb6583c9f ocelot_port_writel +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbbb335d8 ocelot_port_set_default_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xcbb72cda ocelot_mact_flush +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xcca1ba29 ocelot_cls_flower_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd09e8795 ocelot_port_assigned_dsa_8021q_cpu_mask +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd221b4b1 ocelot_port_rmwl +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd7e8d9fd ocelot_port_unassign_dsa_8021q_cpu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd826b58f ocelot_bridge_num_find +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xda6ba876 ocelot_port_readl +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xdc65ceba __ocelot_rmw_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xeebf8de5 __ocelot_bulk_read_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xefb2a2b7 ocelot_cls_flower_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/qualcomm/qca_7k_common 0x0b28a9ad qcafrm_create_footer +EXPORT_SYMBOL_GPL drivers/net/ethernet/qualcomm/qca_7k_common 0x2b6ddf3f qcafrm_fsm_decode +EXPORT_SYMBOL_GPL drivers/net/ethernet/qualcomm/qca_7k_common 0x41da0375 qcafrm_create_header +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x545572d4 stmmac_set_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x5cd57d03 stmmac_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x80ccb5ec stmmac_dvr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x92d778bb stmmac_get_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xa67db305 stmmac_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xb90f2343 stmmac_bus_clks_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xe5692c9f stmmac_init_tstamp_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xef87c572 stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x4cd6bf7c stmmac_get_platform_resources +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x5cf23f1b stmmac_probe_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x92952324 stmmac_remove_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xa61bf96b stmmac_pltfr_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xde678f66 stmmac_pltfr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0x405b51c2 am65_cpts_ns_gettime +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0x653432db am65_cpts_tx_timestamp +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0x91fd3558 am65_cpts_rx_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0xb60b988a am65_cpts_estf_disable +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0xbb1662ad am65_cpts_prep_tx_timestamp +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0xbfc83e4d am65_cpts_estf_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0xfa25fd09 am65_cpts_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0xfca9b9d9 am65_cpts_phc_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x0b4b7919 w5100_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x85e4ab41 w5100_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x9499c840 w5100_ops_priv +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x98fbe706 w5100_pm_ops +EXPORT_SYMBOL_GPL drivers/net/geneve 0xfd0830c5 geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x54aa3b8b ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x63e91cea ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x787916cd ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x80f6988a ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xa05548bf ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macsec 0x454eddfd macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x10a0edba macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x2e217c09 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x4723150b macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xbe8d7602 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/mdio/mdio-i2c 0xae9c92c2 mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x4440dc61 net_failover_create +EXPORT_SYMBOL_GPL drivers/net/net_failover 0xe061db21 net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x7b284557 xpcs_do_config +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x8947189e xpcs_link_up +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x96a7b409 xpcs_create +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0xbe7cf58b xpcs_destroy +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0xcda9dd46 xpcs_config_eee +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0xdbc501f9 xpcs_get_an_mode +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0xfdc110d6 xpcs_get_interfaces +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x00763f17 bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x10063390 bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2c8e9352 bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2cb2e59b __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x31ca64b7 bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x37d89376 bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x39677216 bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x51c9dc86 bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x51ed4134 bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5c49c543 __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x63559673 bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x64620a64 bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x6f064980 __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7932254d bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7d859264 __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x85196407 bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x87c74682 bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x889e3564 bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x8ed9fa0d bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x94266b34 bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa8cccd55 bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb0345ee9 __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb93cbea7 __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xbb5d9024 bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc3cec24a bcm_phy_handle_interrupt +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc44787ba bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd4666e02 bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd5b34d37 bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xda4f8ad8 bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xdb4e4177 bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xdf44287e bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe7ca588e bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xfad0516f bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xfd28b55a bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x12135396 phylink_mac_change +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x138ede82 phylink_create +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x15c4e3e2 phylink_ethtool_set_pauseparam +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x16ca1a8a phylink_suspend +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x182541a9 phylink_ethtool_ksettings_get +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x4386cacd phylink_get_linkmodes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x57727285 phylink_ethtool_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x59e0695d phylink_speed_down +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5c7434ad phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5d0c4dcc phylink_speed_up +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x62104126 phylink_ethtool_set_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x6fa426d2 phylink_ethtool_nway_reset +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7322f08a phylink_connect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x825c7340 phylink_get_eee_err +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x8df9a48e phylink_mii_c22_pcs_decode_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x911fcd6c phylink_start +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x983276da phylink_disconnect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xab100dfc phylink_mii_c45_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xb384c13e phylink_ethtool_ksettings_set +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc0a8f4be phylink_resume +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc1d15a4c phylink_set_port_modes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc85b7c9f phylink_mii_c22_pcs_encode_advertisement +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xcff1abd9 phylink_decode_usxgmii_word +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xd69a2377 phylink_mii_c22_pcs_an_restart +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xdcb0a2c0 phylink_stop +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xdde120e6 phylink_generic_validate +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xde66f4a7 phylink_mii_ioctl +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xdf58d4b5 phylink_fwnode_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xec02ebe0 phylink_init_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf3083a1d phylink_destroy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf6dd1cc0 phylink_mii_c22_pcs_config +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf8fe5642 phylink_ethtool_get_pauseparam +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xfb6f81a2 phylink_mii_c22_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/tap 0x0db18d1e tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/tap 0x155d8c65 tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x86ad09a0 tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x91c1a9f7 tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0x9ad22ad8 tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0xc5584e28 tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/tap 0xc7509189 tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0xd3c132f9 tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/tap 0xd452de94 tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x41973faf usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x4a391bf7 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x543bbb81 usbnet_cdc_zte_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x64e940be usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x6d2e22e6 usbnet_cdc_update_filter +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xbe97a087 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xbf42bec8 usbnet_ether_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x1ba92eb9 cdc_ncm_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x2e1db311 cdc_ncm_rx_verify_nth32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x41d997a2 cdc_ncm_bind_common +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x67ec6d00 cdc_ncm_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7efd5f60 cdc_ncm_fill_tx_frame +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x8b1a630c cdc_ncm_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x9c19bcbf cdc_ncm_select_altsetting +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xbb2274a2 cdc_ncm_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xcac7dead cdc_ncm_rx_verify_ndp16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xdb5025d6 cdc_ncm_rx_verify_ndp32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xe2103876 cdc_ncm_rx_verify_nth16 +EXPORT_SYMBOL_GPL drivers/net/usb/r8152 0x2e1f233a rtl8152_get_version +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x90934792 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x98daafbe generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xbc336f14 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xca62b0e9 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xcdfc4aac rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xeda0dc15 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x043fdbcd usbnet_write_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x075baa33 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x13fd01e6 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x157f80a1 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x19366e19 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2de04d2d usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x306fb195 usbnet_get_link_ksettings_internal +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x33152360 usbnet_status_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x352a5040 usbnet_get_link_ksettings_mii +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3cc46adc usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3e0aae68 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x46a48584 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4c31f9e3 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x58fc4d19 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5b693d3f usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5ead8487 usbnet_status_start +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x616baa6b usbnet_write_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x645b1a70 usbnet_read_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6b816285 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7a5e4d01 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x83a158fa usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x84ef8dbc usbnet_read_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8678f36a usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8c23871f usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8d84277f usbnet_set_rx_mode +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xaaa36268 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xac3b0dea usbnet_set_link_ksettings_mii +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb75118f1 usbnet_write_cmd_async +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbe8d1a4a usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdc44e35f usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdf3e9c6b usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe7352155 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe8344109 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xedcf4551 usbnet_update_max_qlen +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x10508951 vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x3ad9c41e vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x4259f5bc vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x5118a667 vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0x7c26b5f2 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x093715de il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2764facc il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x288e5a7e il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3ee2ed76 _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc7a80122 il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5987fe45 iwl_fw_lookup_assert_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x71118edc iwl_fw_lookup_cmd_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x74778a2f iwl_fw_lookup_notif_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x15a11d7c p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x1b6a0447 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x217c2021 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x4b0cdb49 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x5d22411a p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x5d9f4c73 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x9cea6e61 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xa4d8ff55 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xcd35bc87 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x195d5de5 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x20f40e83 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x273640bb lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x33e6b139 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x3d500308 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x4d4c49c2 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x6e20a1be lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7fdbb99a lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xbae8d866 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xbf918383 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xc0807eae lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xc2804233 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xd0a05d46 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xdbec4945 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xfa99489c lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xff6bf657 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x086d02c5 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x23946dbd lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x6fd36bff lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x823588e3 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x8fc241a1 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x98f764b2 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xe20acaab lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xef56debc lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x0bc4eddf mwifiex_upload_device_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x1d1d06f8 mwifiex_multi_chan_resync +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x1df690e0 mwifiex_dnld_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x419d5d4f mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x448e71b3 _mwifiex_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x4accae35 mwifiex_shutdown_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x4b0b0324 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5402eff4 mwifiex_queue_main_work +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5e579a7a mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x70715616 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x760650e4 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7f124e9a mwifiex_drv_info_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x805cc97c mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x80967ef7 mwifiex_deauthenticate_all +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xa8418d39 mwifiex_main_process +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xaf45347c mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xba4b1b04 mwifiex_reinit_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xbe159b66 mwifiex_fw_dump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xbe93eddb mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xc9fb0fc5 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd4dad9f3 mwifiex_alloc_dma_align_buf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xda086068 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xdaa4de79 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xeb792082 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xfee3bb9d mwifiex_prepare_fw_dump_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x02a7eb81 mt76_token_release +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x02b1ffa4 mt76_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x040ec300 mt76_tx_status_skb_done +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x047ef49a mt76_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0a69590d mt76_rx_aggr_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0d34fa90 mt76_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0e69cd5c mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1348307d __mt76_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x15f74ad4 mt76_get_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x17f568e9 mt76_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x19f2b471 mt76_sw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1bd7c52a mt76_txq_schedule +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1c813aa2 mt76_get_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1ec57b4f __mt76_worker_fn +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1f8ac718 __tracepoint_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x247a9a9f mt76_rx_aggr_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2587f5a0 mt76_get_sar_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2916c753 __mt76_poll_msec +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2b8a26e6 __mt76_mcu_msg_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x33859572 mt76_sta_pre_rcu_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3d6b08b0 mt76_tx_status_skb_get +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3ece5d66 mt76_wake_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x42c789be mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x431113c9 __traceiter_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4498a3dc mt76_calculate_default_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4594dccd mt76_ethtool_worker +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x47d43414 mt76_seq_puts_array +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4cac61fd __mt76_mcu_send_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x554944a1 mt76_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x58459f60 mt76_has_tx_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5d1b4e42 __tracepoint_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6778a0a9 mt76_set_stream_caps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x687e2ccf mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x68d93c65 mt76_get_min_avg_rssi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6b779c6f mt76_register_debugfs_fops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x750a0835 mt76_update_survey_active_time +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x757bd8d4 mt76_init_sar_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7a9f304f mt76_tx_status_skb_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7c2f6bb1 mt76_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7de5dbd8 mt76_tx_status_unlock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7e7bb458 mt76_mcu_skb_send_and_get_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7ea97409 mt76_register_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7f16f8f3 mt76_tx_worker_run +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x805fc13a __SCK__tp_func_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8075c915 mt76_queue_tx_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x81399cc0 mt76_eeprom_override +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x821add90 mt76_mcu_send_and_get_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x821d312e mt76_alloc_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x82f9dd14 mt76_pci_disable_aspm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x87613565 mt76_unregister_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x87c04a17 mt76_get_of_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x87d29e20 __traceiter_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8b22a1cc __mt76_set_tx_blocked +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8cd36add mt76_dma_rx_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8de40bc7 mt76_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x98048260 mt76_csa_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9ab47c2b mt76_init_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa507105a mt76_sta_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa628e2be mt76_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xab4f1eb2 mt76_free_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xaf6f2eaf mt76_tx_status_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xba246f69 mt76_set_irq_mask +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbb533fe7 mt76_mcu_get_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbdfdecfd mt76_skb_adjust_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbfd01b2d mt76_alloc_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbfff5f61 mt76_insert_ccmp_hdr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc345d014 mt76_phy_dfs_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6315d8e __SCK__tp_func_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc653e80d mt76_put_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6634315 mt76_ac_to_hwq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xce3c702b mt76_token_consume +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xcfd6d53a mt76_tx_status_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd2e17fa5 mt76_update_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd3587a55 mt76_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd6a510b8 mt76_csa_finish +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdc27cad9 mt76_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xddd36df0 mt76_stop_tx_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe40b66ef mt76_wcid_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe443186a mt76_release_buffered_frames +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe4c1638d mt76_txq_schedule_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe9283dd0 __mt76_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xeb97f9e0 mt76_unregister_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xec52a979 __mt76_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xee9753e7 mt76_tx_check_agg_ssn +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xefe742d6 mt76_mcu_rx_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf5aad411 mt76_get_rate_power_limits +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xfb4d2e10 mt76_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xfe99e573 mt76_dma_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x04fca7c4 mt76_connac_mcu_set_pm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x087eb636 mt76_connac_mcu_reg_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x0d19d861 mt76_connac_pm_dequeue_skbs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x0d5f8902 mt76_connac_mcu_update_arp_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x1674b544 mt76_connac_mcu_set_channel_domain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x1c4765b6 mt76_connac_mcu_set_hif_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x279a4afe mt76_connac_mcu_sta_update_hdr_trans +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x32d8a059 mt76_connac_get_phy_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x3659b729 mt76_connac_mcu_wtbl_ba_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x3e80d8ae mt76_connac_mcu_init_download +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x41270b83 mt76_connac_mcu_sta_basic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x43aa6d1e mt76_connac_mcu_set_mac_enable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x47d736c1 mt76_connac_mcu_bss_basic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x509bf819 mt76_connac_mcu_add_nested_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x59319014 mt76_connac_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x595b1754 mt76_connac_mcu_uni_add_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5ac2f4b7 mt76_connac_mcu_sta_uapsd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5ccef235 mt76_connac_mcu_start_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5cd1e74b mt76_connac_mcu_wtbl_smps_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5d131a1e mt76_connac_mcu_set_vif_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5f6917ee mt76_connac_mcu_coredump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5fba984e mt76_connac_mcu_set_rts_thresh +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5fe0a578 __mt76_connac_mcu_alloc_sta_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x62032796 mt76_connac_mcu_update_gtk_rekey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x634e87eb mt76_connac_mcu_cancel_hw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6a5d8755 mt76_connac_mcu_sched_scan_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6c5502a5 mt76_connac_sta_state_dp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x71735d22 mt76_connac_mcu_hw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x74a61ca7 mt76_connac_mcu_reg_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x82bac6c8 mt76_connac_free_pending_tx_skbs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x82ef6945 mt76_connac_mcu_sched_scan_enable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x87276c3f mt76_connac_mcu_bss_ext_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x885f3474 mt76_connac_mcu_wtbl_hdr_trans_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x8e85100c mt76_connac_mcu_set_p2p_oppps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x908ca40c mt76_connac_wowlan_support +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x91147b65 mt76_connac_mcu_wtbl_generic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x9690d9cb mt76_connac_mcu_beacon_loss_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa12902c4 mt76_connac_mcu_add_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa5e0dec1 mt76_connac_pm_wake +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa848d013 mt76_connac_mcu_rdd_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xadd30d92 mt76_connac_mcu_sta_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xadd45715 mt76_connac_power_save_sched +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xb2d9a1f0 mt76_connac_mcu_bss_omac_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xba957bcb mt76_connac_mcu_wtbl_update_hdr_trans +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xbeea9eae mt76_connac_mcu_set_deep_sleep +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xc4842f63 mt76_connac_mcu_sta_ba +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xc4c95e94 mt76_connac_mcu_set_rate_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xca24b6a7 mt76_connac_mcu_chip_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xd2ed1a1f mt76_connac_mcu_start_patch +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xd4a5800b mt76_connac_get_he_phy_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xdaa6940a mt76_connac_mcu_patch_sem_ctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xe1f00164 mt76_connac_mcu_sta_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xe2d76726 mt76_connac_pm_queue_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xe30bfd69 mt76_connac_mcu_uni_add_bss +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xe68cf339 mt76_connac_mcu_sta_ba_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xe8f8524f mt76_connac_mcu_get_nic_capability +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xee7445cd mt76_connac_mcu_alloc_wtbl_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf6b0e0d1 mt76_connac2_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xfd337c8a mt76_connac_mcu_wtbl_ht_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xfe5f370f mt76_connac_mcu_set_suspend_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x0d61e413 mt76s_sdio_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x10b671c8 mt76s_wr_rp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x3d69156e mt76s_read_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x40d0ed6f mt76s_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x43889d81 mt76s_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x55e8b72b mt76s_txqs_empty +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x63e53e90 mt76s_alloc_rx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x7bd1ff38 mt76s_hw_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xa5663f8e mt76s_read_pcr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xb0c8a82e mt76s_rd_rp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xb62167d9 mt76s_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xbab9fe73 mt76s_write_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xc5a1f017 mt76s_txrx_worker +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xce23594c mt76s_rmw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xdeb6f8ac mt76s_alloc_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xf510f95f mt76s_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x02bda7e2 mt76u_stop_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x155ad52e mt76u_single_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x4500bfa1 mt76u_alloc_mcu_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x62f40a28 mt76u_queues_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x63497140 mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x718730d2 mt76u_stop_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x71dad85d mt76u_read_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xa611bf19 mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xabfb893b mt76u_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xc3126c74 __mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xd30d7fb0 mt76u_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xd7c91228 ___mt76u_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xdb8dd24e ___mt76u_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xf0879952 __mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x0dd057f0 mt7615_thermal_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1e639f69 mt7615_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3f3d9db4 mt7615_mac_set_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4b4fe993 mt7615_unregister_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x52be96ee mt7615_init_work +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x5311c187 mt7615_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x59f2b8f8 mt7615_register_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x5d058140 mt7615_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x6a84d3bc mt7622_trigger_hif_int +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x6ca04cc5 mt7615_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x77e2926d mt7615_tx_token_put +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7c27c68f mt7615_rx_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8e69b338 mt7615_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9927cabc mt7615_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa0cc7d6a mt7615_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa17da160 mt7615_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa3381cc8 mt7615_mcu_fill_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa440058b mt7615_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xbb0ca5bf mt7615_txp_skb_unmap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xceb8af91 mt7615_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd608795b __mt7663_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd92c8787 mt7615_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe20cec25 mt7615_wait_for_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe3d94205 mt7615_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xefcd58b3 mt7615_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf602a8d8 mt7615_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xfa165187 mt7615_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xfef4f02b mt7615_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615e 0xf16fae74 mt7615_dma_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x0361cf3f mt7663_usb_sdio_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x1506ffca mt7663_usb_sdio_reg_map +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x3142cca1 mt7663_usb_sdio_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x77dc356d mt7663_usb_sdio_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x79698014 mt7663_usb_sdio_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x42cf2735 mt76x0_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x5f15ab87 mt76x0_set_sar_specs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x86e0371e mt76x0_phy_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xd1d97c2c mt76x0_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xecbce663 mt76x0_chip_onoff +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xfd563daa mt76x0_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xffb81cd3 mt76x0_init_hardware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x000917a8 mt76x02_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0462ce68 mt76x02_add_rate_power_offset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x048299b5 mt76x02_mcu_function_select +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x05000fc8 mt76x02_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x08a7a88b mt76x02_dma_disable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0a727df7 mt76x02_set_ethtool_fwver +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0d4023ec mt76x02_get_max_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0db7a69a mt76x02_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x119cfcf4 mt76x02_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x13e90dca mt76x02_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x24f2d1be mt76x02_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2b03d04a mt76x02_mac_reset_counters +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2f2637f8 mt76x02_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x308f81a0 mt76x02_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x35d2834d mt76x02_limit_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x396cc8da mt76x02_get_efuse_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3c5d3439 mt76x02e_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x404595d2 mt76x02_phy_adjust_vga_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x405b9e18 mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x41c13e06 mt76x02_mac_set_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x42e830e9 mt76x02_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4b049fa6 mt76x02_edcca_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4fbef26c mt76x02_mac_wcid_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5bd84fd5 mt76x02_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5c1b3e66 mt76x02_tx_set_txpwr_auto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5da19bc5 mt76x02_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6401b455 mt76x02_mcu_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6ea4049e mt76x02_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x72d61667 mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x740d310e mt76x02_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7729735f mt76x02_phy_dfs_adjust_agc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x88b16762 mt76x02_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8c12f02b mt76x02_mac_cc_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8c1e42bf mt76x02_set_tx_ackto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x91d5b9ee mt76x02_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x92abffc3 mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x94d559b3 mt76x02_sta_rate_tbl_update +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x98223f96 mt76x02_init_agc_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9ab05f86 mt76x02_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9d05e065 mt76x02_enqueue_buffered_bc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9ef81b38 mt76x02_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xadfc58e3 mt76x02_mcu_set_radio_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb1d20bd1 mt76x02_eeprom_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb3948a49 mt76x02_phy_set_bw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb71f28c3 mt76x02_set_coverage_class +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb90f6401 mt76x02_update_beacon_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc0726c72 mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc47d94a1 mt76x02_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc4a76590 mt76x02_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc6deaa00 mt76x02_ext_pa_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd0914784 mt76x02_mcu_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd3d53d23 mt76x02_mac_setaddr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd5322abc mt76x02_dma_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd54bf661 mt76x02_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd5dd2b94 mt76x02_eeprom_parse_hw_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd8025971 mt76x02_resync_beacon_timer +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdabc7dba mt76x02_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdae837fd mt76x02_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe08103a8 mt76x02_get_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe1a9fb2c mt76x02_phy_set_band +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe1f57f23 mt76x02_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe3f858bd mt76x02_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe5aaee2d mt76x02_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xeaff7328 mt76x02_phy_set_txdac +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xef0a148d mt76x02_remove_hdr_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf0fa7caa mt76x02_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf17a8df9 mt76x02_get_lna_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf4da3411 mt76x02_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf500b097 mt76x02_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf91dd49a mt76x02_dfs_init_params +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfb4b038e mt76x02_mac_shared_key_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x14135ef3 mt76x02u_mcu_fw_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x299c6520 mt76x02u_init_mcu +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x2ab75f8e mt76x02u_exit_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x4835d68c mt76x02u_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x6217492f mt76x02u_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x76dd1abc mt76x02u_mcu_fw_send_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x7e21c26f mt76x02u_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xf8cb12cd mt76x02u_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x002a4747 mt76x2_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x14e06dba mt76x2_reset_wlan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x1cd4b02f mt76x2_mcu_load_cr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x2ad84b92 mt76x2_mcu_init_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x2c19c074 mt76x2_phy_set_txpower_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x336e19a9 mt76x2_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x41b664f2 mt76x2_get_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x493e3407 mt76x2_configure_tx_delay +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x50d992f6 mt76_write_mac_initvals +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x52990fea mt76x2_get_power_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x6653fee4 mt76x2_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x8bf17b74 mt76x2_read_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x8d1a6d27 mt76x2_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x90657b12 mt76x2_phy_tssi_compensate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa7951c09 mt76x2_phy_update_channel_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xaffff3f6 mt76x2_get_temp_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xba73b4c8 mt76x2_set_sar_specs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xd433e4bf mt76x2_mcu_tssi_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xe2a7b768 mt76x2_apply_gain_adj +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xf4e85dcc mt76x2_mcu_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x01ab45e1 mt7921_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x0f431177 mt7921_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x102bb996 mt7921_usb_sdio_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x165fddf0 mt7921_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x2298414b mt7921_mcu_fill_message +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x244c045a mt7921_mac_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x36cdc97e __mt7921_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x40e59913 mt7921_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x5b28bd6a mt7921_mac_sta_assoc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x62aedbcd mt7921_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x649a4544 mt7921_usb_sdio_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x70d8cbe3 mt7921_tx_check_aggr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x755a0375 mt7921_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7794544c mt7921_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x8c4a20b1 mt7921_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x9cd518f3 mt7921_usb_sdio_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xaa9eb3a9 mt7921_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xac74b4ab mt7921_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xbc7e404f mt7921_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xcba0b026 mt7921_mcu_fw_pmctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xe6e27e55 mt7921_mcu_set_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xea98870b mt7921_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xead4e68a mt7921_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xfad939a2 mt7921_mac_add_txs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xfb039010 mt7921_mcu_drv_pmctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x30208279 host_sleep_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x51e6e8d2 wilc_cfg80211_init +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x63b4ef81 wilc_netdev_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xa8254cf6 chip_allow_sleep +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xc106fb5c chip_wakeup +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xc52f21ce wilc_handle_isr +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xefe020ba host_wakeup_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x25e9b149 qtnf_classify_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x31fab83c qtnf_chipid_to_string +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x33781821 qtnf_core_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x804965f2 qtnf_trans_handle_rx_ctl_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x975ab2b9 qtnf_core_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x9bde22a2 qtnf_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xfea3a729 qtnf_wake_all_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0c63ddbb rt2800_pre_reset_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x15023a89 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x17f12aca rt2800_get_txwi_rxwi_size +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1a47be04 rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1ae2b4fd rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1c75919a rt2800_txstatus_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x201999d6 rt2800_get_key_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x20bf187b rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2307cc3f rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3134d7a7 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x389836ff rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x48404d58 rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x49877e09 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4e0b1a7f rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4e719630 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x50061188 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x539e17bb rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x53af257b rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5e1689b3 rt2800_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x61de58dd rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x63278623 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x67c5d98d rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6d3c7934 rt2800_txstatus_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7f26b275 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x878bc98a rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8feaac52 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x97ada8ee rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa32b551a rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa3849f66 rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa5b6177f rt2800_txdone_nostatus +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa93c8bf4 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xab33174d rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xac98e078 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb061e33b rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb1c30372 rt2800_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb84a7fcd rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xba5f2205 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xbdfd938e rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc4579aa5 rt2800_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xde78e244 rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe8b20a97 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf3887c5a rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf3ca8607 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf7f57c3a rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x27225db4 rt2800mmio_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x32ac3645 rt2800mmio_rxdone_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x37bb0b96 rt2800mmio_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x3d741c87 rt2800mmio_pretbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5028bbb2 rt2800mmio_tbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x57f97295 rt2800mmio_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5d9fdd7d rt2800mmio_write_tx_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fa4db64 rt2800mmio_interrupt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x835d6093 rt2800mmio_toggle_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x93189c62 rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x97e3c029 rt2800mmio_autowake_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9ee10c11 rt2800mmio_init_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9f3c8921 rt2800mmio_txstatus_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xa70b67eb rt2800mmio_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xa883416b rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xb0e033ab rt2800mmio_get_dma_done +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xb457c1a4 rt2800mmio_init_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xb5a7d02a rt2800mmio_fill_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xbb9c32ea rt2800mmio_get_entry_state +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xbcff67ae rt2800mmio_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xd3d5f78e rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe45ebc60 rt2800mmio_queue_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x05412499 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1808bc75 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1e4d073b rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1f4bac51 rt2x00lib_set_mac_address +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x27291ee0 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2e517ddf rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2fe660b6 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x30029c0b rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3344d1a9 rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3c541ec2 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x47ef916e rt2x00lib_txdone_nomatch +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4accd5a5 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4fd8614e rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x59dbdce2 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x61ce3ced rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x65a528d6 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x674fdff1 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6be02824 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x765f105a rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x84d0d8f0 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x888d0855 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8a7cc6af rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8ab5cfe7 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8c8c92f5 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x913c131b rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9d397dbe rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9faf7518 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa3eb137b rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa90a8d89 rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xacfe3141 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xbd16a371 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc5377093 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc9fe57c0 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd1712044 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd7f353e4 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd88ac50f rt2x00mac_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd89f5f51 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe23f4e15 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe6daa809 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe787b26f rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe9f0d960 rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xea4b528c rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xebe5753b rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf3609f3e rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfbc1c77c rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfd48b308 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xff35aa1b rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x82be7762 rt2x00mmio_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x93659203 rt2x00mmio_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x93754835 rt2x00mmio_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xac4e973c rt2x00mmio_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xbcb03f67 rt2x00mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x5d5b1d83 rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x78d0d839 rt2x00pci_pm_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x83ca554c rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x0afb110c rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x0be6de53 rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x30af6c5a rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x396aa5b4 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x602e4c0c rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x6836aee8 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x6fcb344f rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x762e1c0e rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x837adfbf rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x9ce146b7 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xa728cad3 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xae9f5ba5 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xdbc1c161 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xe0ccc4c2 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xe877a38a rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xf8254187 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4507af2d dm_savepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6ccdc20e dm_writepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7a2d75a6 dm_restorepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xeea059f2 rtl92c_set_p2p_ps_offload_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x0077bb8a rtl8723_phy_rf_serial_read +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x01825d62 rtl8723_dm_init_edca_turbo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x0dc7d572 rtl8723_phy_path_adda_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x15ca631a rtl8723_cmd_send_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x23244eb7 rtl8723_dm_init_dynamic_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x3f5bf9c0 rtl8723_phy_calculate_bit_shift +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x41c89cf5 rtl8723_save_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x43dc2e93 rtl8723_phy_mac_setting_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x473d62d5 rtl8723_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x47f2bfae rtl8723_phy_pi_mode_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x5b761dc4 rtl8723_phy_init_bb_rf_reg_def +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6b982446 rtl8723_enable_fw_download +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x77aa09e9 rtl8723_phy_save_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7e6aa636 rtl8723_phy_query_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x83a8925f rtl8723_phy_rf_serial_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x89b867f8 rtl8723_dm_init_dynamic_bb_powersaving +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x8baf8913 rtl8723_phy_set_sw_chnl_cmdarray +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x9aace824 rtl8723_write_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x9d2f0b5e rtl8723ae_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa4712d0a rtl8723be_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xb8168dbf rtl8723_fw_free_to_go +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xc7714fd5 rtl8723_phy_path_a_fill_iqk_matrix +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xdc4ef192 rtl8723_phy_reload_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xe17425cf rtl8723_phy_reload_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xe29fac63 rtl8723_phy_set_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xe720e9b5 rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xf015b2b8 rtl8723_phy_path_a_standby +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0a96561c rtl_tx_report_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1036821c rtl_fw_page_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1f9c4187 rtl_tx_mgmt_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x23be7688 rtl_action_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x278c017d rtl_init_rx_config +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2921a4d4 rtl_btc_status_false +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2d32cdfc rtl_lps_change_work_callback +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2e5382f9 rtl_fill_dummy +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2e8acd42 rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2ee1a32f rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4e94cd48 rtl_global_var +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6338442d read_efuse_byte +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6db3ba37 rtl_update_beacon_work_callback +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x83d6ab21 rtl_swlps_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x86457855 rtl_get_hal_edca_param +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8758f465 rtl_p2p_info +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8898d0ca rtl_recognize_peer +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x89d477d2 rtl_deinit_deferred_work +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x97e05663 rtl_tid_to_ac +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9ef87192 rtl_deinit_rfkill +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa53e729d rtl_deinit_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xaea8f5d9 rtl_init_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb0fd45a1 rtl_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc66d6d38 rtl_ips_nic_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd5396425 rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd6fe1a6b rtl_fw_block_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe0abfe2f rtl_set_tx_report +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe663db51 rtl_efuse_ops_init +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe761612a rtl_lps_enter +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xfd26ef4c rtl_get_hwinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xff7a4a14 rtl_tx_ackqueue +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0f5c3ce9 rsi_zone_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x561b6f96 rsi_91x_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x667ffb7f rsi_mac80211_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x9caecbc0 rsi_91x_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xa06c02d7 rsi_hal_device_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xcd173710 rsi_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xe66010d7 rsi_read_pkt +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x73a45dc8 cw1200_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x92337fb7 cw1200_core_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xa5a3bffb cw1200_core_release +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xe76cd760 cw1200_can_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x9895afd9 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xa1a379f9 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xea9bfea8 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x03f8d55a wlcore_event_inactive_sta +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x059ba943 wl1271_acx_set_ht_capabilities +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x06d3b27e wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0e0e9dba wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0f0b93a3 wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x110a3eb3 wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x17bf8788 wlcore_event_rssi_trigger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20351125 wlcore_get_native_channel_type +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x336fecde wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3625cfba wlcore_scan_sched_scan_ssid_list +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3661d331 wl1271_acx_sleep_auth +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3743815e wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3ee48c71 wl1271_debugfs_update_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x446cf13e wl1271_tx_min_rate_get +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x475e5a91 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x54736195 wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5845ac96 wlcore_set_scan_chan_params +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5fff91b6 wlcore_cmd_wait_for_event_or_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6a088c60 wl12xx_cmd_build_probe_req +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x75b5ef81 wlcore_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x75e122c6 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x77481a16 wl1271_cmd_data_path +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x79ba3c32 wlcore_event_soft_gemini_sense +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7b82c618 wlcore_event_sched_scan_completed +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fe1546e wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x85498cd1 wl1271_format_buffer +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8ef05751 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x923449ae wlcore_cmd_generic_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x93407c14 wl1271_acx_init_mem_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9bd762c9 wl12xx_acx_mem_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa252c3e4 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa4d16732 wlcore_scan_sched_scan_results +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa5db6a3a wlcore_event_ba_rx_constraint +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb36f76d1 wlcore_event_roc_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb5d8b3d1 wlcore_disable_interrupts_nosync +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb9b9312e wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xbf101d64 wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc800be0f wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc8f33ba4 wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xca315d47 wlcore_event_channel_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd74e38ec wlcore_event_max_tx_failure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xda94c32a wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xdfb4fb6f wlcore_event_dummy_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe702a5ed wl1271_acx_pm_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xed894394 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf36bbbe2 wl1271_tx_flush +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x34d9a016 nfcmrvl_nci_register_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x6ca2e655 nfcmrvl_parse_dt +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x92023e2c nfcmrvl_nci_recv_frame +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xfe7b3466 nfcmrvl_nci_unregister_dev +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x020314e5 pn53x_common_clean +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x295b81d6 pn53x_common_init +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x44821b01 pn533_rx_frame_is_cmd_response +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xa3a1464e pn53x_unregister_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xad5c4c94 pn532_i2c_nfc_alloc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xb0c23ddf pn53x_register_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdecfd339 pn533_rx_frame_is_ack +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xf5320858 pn533_finalize_setup +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x2fce8230 st_nci_remove +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x4ef1ea5c st_nci_enable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x4f2941a5 st_nci_hci_cmd_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x741b7bc1 st_nci_probe +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x7d0b017c st_nci_discover_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x97013904 st_nci_hci_load_session +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xe46ab10a st_nci_disable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xfc111164 st_nci_hci_event_received +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x7c9fc1ae st95hf_spi_recv_echo_res +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xb3d9b27a st95hf_spi_recv_response +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xf51bee67 st95hf_spi_send +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x0862001f ntb_transport_tx_free_entry +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x30934216 ntb_transport_max_size +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x32537aca ntb_transport_link_query +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x3d54dbfc ntb_transport_tx_enqueue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x436098aa ntb_transport_link_down +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x82e6c13d ntb_transport_qp_num +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x9c992c8f ntb_transport_link_up +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xa9c9680b ntb_transport_unregister_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xc270dc24 ntb_transport_free_queue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xc37d9036 ntb_transport_rx_remove +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xc88b610f ntb_transport_register_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xd40e7a02 ntb_transport_rx_enqueue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xf55d6313 ntb_transport_register_client_dev +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xf9eb813f ntb_transport_unregister_client_dev +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xff7168aa ntb_transport_create_queue +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0x063c2d21 virtio_pmem_host_ack +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0x2e3eed0c async_pmem_flush +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x222264ec nvmf_ip_options_match +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x51c659eb nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x81040453 nvmf_reg_read64 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x90872d80 nvmf_connect_io_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x9934fd15 nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x9f2ceb98 nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xa609bc61 nvmf_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xb1386703 nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xd7a225ac nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xdb0bf471 nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xdcaa5b5f nvmf_connect_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x0d12e564 nvme_fc_register_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x3884f8b8 nvme_fc_unregister_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x3e33ac54 nvme_fc_rescan_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x45ce052c nvme_fc_register_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x58e312f7 nvme_fc_io_getuuid +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x8a9cf5a7 nvme_fc_set_remoteport_devloss +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xbb0e18a6 nvme_fc_rcv_ls_req +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xfca9dc99 nvme_fc_unregister_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x06a932ac nvmet_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x23ef72b4 nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3e0ef07a nvmet_wq +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x5262ed1c nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x59552f62 nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x5b4fc310 nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x78f13e09 nvmet_sq_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x8ae207de nvmet_req_complete +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xb0add2f9 nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xbda9f620 nvmet_check_transfer_len +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xcbfe04ea nvmet_ctrl_fatal_error +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xe6417070 nvmet_req_alloc_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x0b98123d nvmet_fc_rcv_ls_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x1048b92a nvmet_fc_rcv_fcp_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x4a013682 nvmet_fc_invalidate_host +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x7fa5302a nvmet_fc_rcv_fcp_abort +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x9ef76d99 nvmet_fc_unregister_targetport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0xe8d2e7a9 nvmet_fc_register_targetport +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0x1591b2c6 hyperv_read_cfg_blk +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0x221394ae hyperv_reg_block_invalidate +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0xe5f73406 hyperv_write_cfg_blk +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0xfb921e00 hvpci_block_ops +EXPORT_SYMBOL_GPL drivers/pci/controller/pcie-iproc 0x9675e68b iproc_pcie_shutdown +EXPORT_SYMBOL_GPL drivers/pci/switch/switchtec 0x044e36de switchtec_class +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x0432107c hisi_event_sysfs_show +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x16db47bb hisi_cpumask_sysfs_show +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x1c918f20 hisi_uncore_pmu_event_init +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x2046f1bc hisi_format_sysfs_show +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x207aa763 hisi_uncore_pmu_del +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x3ec4fc27 hisi_uncore_pmu_online_cpu +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x4a16bf49 hisi_uncore_pmu_enable +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x4ec180e4 hisi_uncore_pmu_add +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x4f837683 hisi_uncore_pmu_start +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x6987e5d4 hisi_uncore_pmu_init_irq +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x76a0fdd9 hisi_uncore_pmu_set_event_period +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x9b96d42b hisi_uncore_pmu_disable +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xbb533e12 hisi_uncore_pmu_read +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xbd18b3db hisi_uncore_pmu_get_event_idx +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xe49fa24d hisi_uncore_pmu_identifier_attr_show +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xfa9ec85c hisi_uncore_pmu_event_update +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xfb6373d1 hisi_uncore_pmu_offline_cpu +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xfe02e24a hisi_uncore_pmu_stop +EXPORT_SYMBOL_GPL drivers/phy/allwinner/phy-sun4i-usb 0x4a699e71 sun4i_usb_phy_set_squelch_detect +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x04ee6128 tegra_xusb_padctl_get_usb3_companion +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x17df70b1 tegra_xusb_padctl_enable_phy_sleepwalk +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x2a172dd5 tegra_xusb_padctl_put +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x3132ce32 tegra124_xusb_padctl_soc +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x3665d257 tegra210_xusb_padctl_soc +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x47b0fb55 tegra_xusb_padctl_remote_wake_detected +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x49f3bec5 tegra186_xusb_padctl_soc +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x79aa5961 tegra_xusb_padctl_enable_phy_wake +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x8a680d0a tegra_xusb_padctl_usb3_save_context +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x9b6db447 tegra_xusb_padctl_hsic_set_idle +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x9bc5551e tegra194_xusb_padctl_soc +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xa947da0d tegra_xusb_padctl_set_vbus_override +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xadb5cea1 tegra_xusb_padctl_usb3_set_lfps_detect +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xbced8f8a tegra_xusb_padctl_disable_phy_sleepwalk +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xbfb80ab1 tegra_xusb_padctl_disable_phy_wake +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xdec1d14a tegra_xusb_padctl_get +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xe74bc211 tegra_phy_xusb_utmi_port_reset +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-usb2 0x00d48f33 omap_usb2_set_comparator +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x3ffc3d0c mcp23s08_probe_one +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x948d4553 mcp23x08_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xa4f6e1bc mcp23x17_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/qcom/pinctrl-lpass-lpi 0x2208ed62 lpi_pinctrl_remove +EXPORT_SYMBOL_GPL drivers/pinctrl/qcom/pinctrl-lpass-lpi 0xc8f5bc50 lpi_pinctrl_probe +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x11f8880d cros_ec_sensorhub_register_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0xb97e58e4 cros_ec_sensorhub_unregister_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros_usbpd_notify 0x6b1be500 cros_usbpd_unregister_notify +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros_usbpd_notify 0x8bda2df3 cros_usbpd_register_notify +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x0124beb0 ssam_request_sync +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x09c713a9 ssam_controller_stateunlock +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x0a8cf923 ssam_device_add +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x14281d2d ssam_request_sync_init +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x1582f6c7 ssam_device_alloc +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x204384d1 ssh_packet_put +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x24cfa8a2 ssam_client_link +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x2c856f70 ssam_device_get_match +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x2d7c4e00 ssam_notifier_unregister +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x31d47515 __ssam_device_driver_register +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x370cf5bf ssam_device_remove +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x407f9c62 ssam_request_sync_alloc +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x50a54013 ssam_request_sync_with_buffer +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x5b3c4927 ssam_controller_get +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x5f45ded7 ssam_controller_statelock +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x6a3f4c75 ssam_request_sync_submit +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x8f8b9c87 ssam_request_sync_free +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x8ffecf03 ssam_request_write_data +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x976c61a1 ssam_device_driver_unregister +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x9c4b690a ssam_device_get_match_data +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xaaf3f5e9 ssam_controller_event_enable +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xb3ea1ade ssam_controller_device +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xbb7f336b ssam_client_bind +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xc2bd582d ssam_device_id_match +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xc4a8277b ssam_bus_type +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xc7706f23 ssam_remove_clients +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xc932bd10 ssam_get_controller +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xd6e7453a ssam_notifier_register +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xd9487e0a ssam_device_type +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xe53ed8f9 ssam_controller_event_disable +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xf0a0a86f ssam_controller_put +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xf4c5e022 ssh_packet_get +EXPORT_SYMBOL_GPL drivers/platform/surface/surface_acpi_notify 0x48cf4c48 san_dgpu_notifier_register +EXPORT_SYMBOL_GPL drivers/platform/surface/surface_acpi_notify 0xd60bd773 san_dgpu_notifier_unregister +EXPORT_SYMBOL_GPL drivers/platform/surface/surface_acpi_notify 0xd79d6fc0 san_client_link +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x5b8abe60 reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x94b6bbcd devm_reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x9da63a00 devm_reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0xca735576 reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x619324ee bq27xxx_battery_teardown +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xdbfcb67f bq27xxx_battery_setup +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xf4fb745a bq27xxx_battery_update +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x3f6e7254 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x96b4f512 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x9a16254c pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x2eae82b0 ptp_qoriq_isr +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x34ac3269 extts_clean_up +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x3e470ffb ptp_qoriq_enable +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x6c19ff07 ptp_qoriq_gettime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x7c81347e ptp_qoriq_init +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x81f3b8ca ptp_qoriq_free +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x9c645445 ptp_qoriq_adjfine +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xa73de362 ptp_qoriq_adjtime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xd1d40c40 ptp_qoriq_settime +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x40021f85 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x5373cf5d mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x8b8e799f mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xe45443f8 mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xec39248e mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/rohm-regulator 0x7b0a8211 rohm_regulator_set_voltage_sel_restricted +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x0d555b8b wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x558e1abf wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x75c52ae9 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x76391364 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xb337e2ac wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xeb659754 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x71407460 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x406aa39f scp_put +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x4e9566a3 scp_get +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x585343fd scp_get_rproc +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x76ccfe6c scp_get_device +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0xb2d533de scp_mapping_dm_addr +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0xca2f47a8 scp_get_vdec_hw_capa +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0xfc9a905f scp_get_venc_hw_capa +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x09313652 scp_memcpy_aligned +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x193b4fd3 scp_ipi_lock +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x2a7b53e4 scp_ipi_unlock +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x5095f9d3 scp_ipi_register +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0xce6831f5 scp_ipi_send +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0xdaddefc5 scp_ipi_unregister +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x0fa538df qcom_register_ssr_notifier +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x122af30e qcom_remove_ssr_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x62e7a998 qcom_remove_glink_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x7943ec7c qcom_minidump +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xb15b15e9 qcom_add_glink_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xd085ebca qcom_add_ssr_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xd6cc0cc0 qcom_unregister_ssr_notifier +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xdd4439ab qcom_remove_smd_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xe061e13c qcom_add_smd_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xe5529913 qcom_register_dump_segments +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_pil_info 0x30e58241 qcom_pil_info_store +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x0ca00567 qcom_q6v5_deinit +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x1002cbf1 qcom_q6v5_panic +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x3c47f19e qcom_q6v5_init +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x49bbc493 qcom_q6v5_prepare +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x7a2b9b96 qcom_q6v5_wait_for_start +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0xb4ef9885 qcom_q6v5_request_stop +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0xe1096348 qcom_q6v5_unprepare +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0x1482d168 qcom_sysmon_shutdown_acked +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0x967c2ae4 qcom_add_sysmon_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0xa881c6fc qcom_remove_sysmon_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/mtk_rpmsg 0x68822cca mtk_rpmsg_create_rproc_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/mtk_rpmsg 0x86903274 mtk_rpmsg_destroy_rproc_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x149236da qcom_glink_native_remove +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x52e008fe qcom_glink_native_probe +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xf14f5684 qcom_glink_ssr_notify +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xfd2d5a1d qcom_glink_native_unregister +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink_smem 0x45680e15 qcom_glink_smem_register +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink_smem 0x72dd75d9 qcom_glink_smem_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x022cf202 cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0239b053 cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x06ba0c24 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x077817d6 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x07efd778 cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x13c552b7 cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1a260cb6 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1bc52e8c cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1d8b0845 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1e621c31 cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x226557ff cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x23b82bfd cxgbi_ddp_ppm_setup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x254cbbfa cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3801b073 cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3b554d99 cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3cc19bef cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x407d688d cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4643b6e6 cxgbi_device_find_by_netdev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x470151d1 cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4957be71 cxgbi_device_find_by_netdev_rcu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4aee96c6 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6ac072ae cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7e61803d cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8530176e cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x86d1410b cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x88174848 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x95cd5428 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x97a3da21 cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x99f180a6 cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9d1ff490 cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9ff03c5f cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa571b79c cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa8686d3e cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb756229a cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb77c1b2b cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc011af75 cxgbi_ddp_set_one_ppod +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xce2b8cd2 cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd6180dd7 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe1ad20fc cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe1ef0e6e cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe42e9f1f cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xee2865ef cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xeeb5c145 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef7286c1 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf2c34b9f cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x085d84fb fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x172a5ec5 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x28651252 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2fdff3a8 fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x31bbee01 fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x6c1c5a0e fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x86e09c4e fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8a3b527a fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x93dec162 fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x9e2d871b fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xa082ce26 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xa1b47862 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb188daae fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbac58840 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc3f30cc0 fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xdbc23896 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xdd8e7e5f fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xeaef2662 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf167cb7a fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x693062cb fdomain_destroy +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x707af9f7 fdomain_create +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x07217860 hisi_sas_release_tasks +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x0a6a8f38 hisi_sas_controller_reset_done +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x363d670d hisi_sas_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x392f8ba9 hisi_sas_slot_task_free +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x39ed45bd hisi_sas_scan_start +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x3fab59eb hisi_sas_free +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x40ac648c hisi_sas_get_prog_phy_linkrate_mask +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x4846d92d hisi_sas_alloc +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x4a83a1f1 hisi_sas_sata_done +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x4fc22123 hisi_sas_stt +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x614ed1b7 hisi_sas_notify_phy_event +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x65379d95 to_hisi_sas_port +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x70db1afb hisi_sas_phy_oob_ready +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x7c38b93b hisi_sas_debugfs_dir +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x8023138c hisi_sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x818bc419 hisi_sas_remove +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xa27860ba hisi_sas_probe +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xaac27f7e hisi_sas_phy_down +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xb03aa9c5 hisi_sas_rst_work_handler +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xc3a41131 hisi_sas_debugfs_dump_count +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xcf5922de hisi_sas_host_reset +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xd4040a49 hisi_sas_get_fw_info +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xdb18a570 hisi_sas_controller_reset_prepare +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xe330cb74 hisi_sas_sync_rst_work_handler +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xe37c6207 hisi_sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xe480a371 hisi_sas_stop_phys +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xe987d9aa hisi_sas_debugfs_enable +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xebfae55c hisi_sas_get_ata_protocol +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xf804fc4e hisi_sas_init_mem +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xf8b5392b hisi_sas_sync_irqs +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xfae73825 hisi_sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x00b9e5ba iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x0f063be6 iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x641de82c iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x9e4f077f iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xd895c98a iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xe47ed280 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xf939f31e iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0x344f6528 fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x07793977 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x14688dd0 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x14c2af3e iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1d17d0a3 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x23a335e6 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2e8162ab iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2eccdaeb iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3661f1e6 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x46010732 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4726c115 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x487cbcf8 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x489b01e9 iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4e09b386 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4ee772a2 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4eeb8e5a iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5290a218 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5354c7a8 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x56ce611f iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x575fcae9 iscsi_conn_queue_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6a70d1ea iscsi_session_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7c72da47 iscsi_conn_queue_recv +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7f4c6ee3 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x880dc8d6 iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d303b1b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x927464c3 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9947c6d9 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x99fa3778 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa8b9e440 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xad650078 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xaf0d31ca iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xba5a5411 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xba7a2063 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcae5f622 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcbf5ed18 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd21268dc iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd31570d6 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd4e87d81 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd7f2fece iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xded1e74b __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe38f57a7 iscsi_conn_unbind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe4677951 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe5927254 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe8129dd5 iscsi_suspend_rx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe956c173 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xea2d94e7 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeab9cbd5 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xee6a0543 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf2a4326a iscsi_session_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf60ad5a0 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf683bd81 iscsi_host_get_max_scsi_cmds +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x12aec976 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x21ee3cdd iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x412ae1f4 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x50cc07ef iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x523a5b3d iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5cfecdc9 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7bafefe7 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9aa37170 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9aeb9649 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa57b8bc0 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa891990e iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xad69a3ac iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xdb14069d iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xdfebf259 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe915863e iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf9838e89 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfd959053 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x13d62e2c sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1a6a3a9a sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2f523c7d sas_query_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3705a087 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3ae3ee58 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4cfae323 sas_execute_internal_abort_single +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4fd20742 sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5533aaef sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5bd25911 sas_lu_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5de8e14a sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7a720d9e sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fc4730e sas_execute_internal_abort_dev +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x813f9044 sas_abort_task_set +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x81d12f45 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8b748095 sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8c5ffae0 sas_execute_ata_cmd +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8ec4ac39 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x91eb61da sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x99d65112 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9c1f285e dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9db9bf47 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa0a7cbeb sas_notify_port_event +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa879bb8f sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xaf5c38d9 sas_abort_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc1a295a4 sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xca274921 sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xcd39b786 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd2122d7a sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xdee7538f sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe1d83d29 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe31891a8 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe5bce30a sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe6a74d45 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xead23132 sas_clear_task_set +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf5e78e1d sas_ata_wait_after_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf76ac567 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfce0600d sas_notify_phy_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_fc 0xba33ade7 fc_eh_should_retry_cmd +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0736dd10 __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0a7820ad iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0bdab2d0 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1034751b iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x117d4c86 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x123a6532 __traceiter_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x14a46dab iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x156bdeea iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x264db01f iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2b37abb8 iscsi_add_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x31053b54 iscsi_force_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3355f9af iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x34cab449 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3785e561 __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3d836739 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3ecc2434 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3fe872d5 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x505148d9 iscsi_put_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x52166d79 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x584a31ab __SCK__tp_func_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5bfaa2c3 __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x63b2b7f3 iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x63c19e52 iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x716494d3 __traceiter_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x71b768b0 __SCK__tp_func_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7305e225 iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x77df794d iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x790b9df4 iscsi_alloc_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7ad8c4cc iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8249ecd1 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84a005f1 iscsi_get_router_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x862507c6 iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x86e3d1db iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x88768c48 __SCK__tp_func_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8d184110 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9031d9fb iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x90937709 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9165bdc8 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x92c02e1c iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9d80676f iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa295a8a9 iscsi_put_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa7a90688 __traceiter_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaa976bb3 __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xab4674c8 __SCK__tp_func_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc071179 iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbd547781 iscsi_remove_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc81488f4 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xca05bb80 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcca784c6 iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xccc64006 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd4e55f1e __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xda319abc iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe2a5de52 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe4c79fa6 __SCK__tp_func_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe74e798e __traceiter_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe76ce117 iscsi_get_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe804ad06 __traceiter_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf091a2b6 iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf0929a07 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfa167006 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x50dd2c4d sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x6156fc69 sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x615d2c88 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xab20e072 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xcffa2aff spi_populate_width_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xdc416499 spi_populate_tag_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1902178a srp_tmo_valid +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x2d3824ae srp_stop_rport_timers +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x37f96faa srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x3ef8c5af srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x60cd6bae srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x6520499e srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xc405f73f srp_remove_host +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x0c00e90a siox_device_connected +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x22d2dc02 siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x2d354464 siox_master_alloc +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x541c3a9b siox_master_unregister +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x7287a440 siox_master_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xdf41f145 __siox_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x021523d9 slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x0b970afc slim_msg_response +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x11c16903 slim_writeb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x1896eae0 slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x281cfd21 slimbus_bus +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x2b521b3f slim_register_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x3390c81a slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x39e3170e slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x3d9335ca slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x457d00d6 slim_do_transfer +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x53fd53dc slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x5433cedc slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7026c557 slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x81b70312 slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x8d49cefe of_slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x94159792 slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x9f88bfeb slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xa80d7625 slim_get_logical_addr +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xac9c0622 slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xc255c92c slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xca3837d2 slim_stream_disable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd15a64a4 slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd296b259 __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xde47dcff slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf0a48a88 slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf1416bb6 slim_device_report_present +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0x494128eb meson_canvas_alloc +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0x673c5a86 meson_canvas_config +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0xcdc7e71d meson_canvas_get +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0xfbd79150 meson_canvas_free +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x0261cd01 dpaa2_io_store_next +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x0ed04c60 dpaa2_io_service_deregister +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x13bced20 dpaa2_io_store_create +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x1b7c4023 dpaa2_io_service_rearm +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x2ea89927 dpaa2_io_service_pull_channel +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x2f10852c dpaa2_io_service_select +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x3f8992eb dpaa2_io_service_release +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x4994345c dpaa2_io_store_destroy +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x6560c60d dpaa2_io_service_acquire +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x66ab0e42 dpaa2_io_service_register +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x79cf65a1 dpaa2_io_service_enqueue_qd +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x8edafa55 dpaa2_io_query_bp_count +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0xb9e81961 dpaa2_io_query_fq_count +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x5c7865fe gpr_free_port +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x5c975939 __apr_driver_register +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0xbe11f6d4 gpr_send_port_pkt +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0xdd165a61 apr_driver_unregister +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0xdd5d0c54 gpr_alloc_port +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0xe252c732 apr_send_pkt +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0xf69cf5ec aprbus +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0xfeb5bc81 gpr_send_pkt +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x03c9a66d llcc_get_slice_size +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x0679b34d llcc_slice_getd +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x7e773088 llcc_get_slice_id +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0xad3516c4 llcc_slice_activate +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0xb534ec76 llcc_slice_deactivate +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0xb68b1300 llcc_slice_putd +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x4ed8d601 qcom_mdt_load_no_init +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0xb7fb77c9 qcom_mdt_pas_init +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0xbba41810 qcom_mdt_read_metadata +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0xde69d76e qcom_mdt_load +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0xe8a3861c qcom_mdt_get_size +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x891c3b30 __sdw_register_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x97376c3c sdw_unregister_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0xe305a60d sdw_bus_type +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-cadence 0x3d2fdd39 sdw_cdns_debugfs_init +EXPORT_SYMBOL_GPL drivers/spi/spi-altera-core 0x0b857e8a altera_spi_init_master +EXPORT_SYMBOL_GPL drivers/spi/spi-altera-core 0xb9edd149 altera_spi_irq +EXPORT_SYMBOL_GPL drivers/spi/spi-bcm-qspi 0xe7ff231d bcm_qspi_probe +EXPORT_SYMBOL_GPL drivers/spi/spi-bcm-qspi 0xed1c3129 bcm_qspi_pm_ops +EXPORT_SYMBOL_GPL drivers/spi/spi-bcm-qspi 0xeefb05e0 bcm_qspi_remove +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x55fe1a5c spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x705701be spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x9e91417d spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x9ef42e5b spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xd6646b90 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xfe2a0459 spi_bitbang_init +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x0f5c6acb spi_test_execute_msg +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x4bfd17da spi_test_run_test +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x885ac8fe spi_test_run_tests +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x07efbe27 spmi_controller_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x15208cc2 spmi_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x17eeff39 spmi_command_shutdown +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x31e441a0 spmi_controller_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x395eb519 spmi_command_reset +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x5d22d923 spmi_ext_register_readl +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x68cc1888 spmi_controller_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x6bd71b2a spmi_device_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x8edd80a0 spmi_ext_register_writel +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x95e00a9d spmi_device_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xade5732a spmi_command_wakeup +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xb24f6377 spmi_ext_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xd23df8d3 spmi_register_zero_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xdbc602cd spmi_ext_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xe393293c __spmi_driver_register +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xebb39d93 spmi_device_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xef46ca54 spmi_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xfc66271e spmi_command_sleep +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0xdfafcf99 ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x189dd8c3 anybuss_client_driver_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x45f5a276 anybuss_send_ext +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x46bc4292 anybuss_client_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x5bf4835d anybuss_finish_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x6ba6e75b anybuss_send_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xa86caabe anybuss_start_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xae88e267 devm_anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xbcf00d01 anybuss_write_input +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xc3ee29fb anybuss_read_fbctrl +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xc74945bf anybuss_read_output +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xd63d884e anybuss_recv_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xe3978a50 anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xf274ae75 anybuss_set_power +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xfce879ad anybuss_host_common_remove +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x10ea5b31 fieldbus_dev_online_changed +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x20259def fieldbus_dev_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x2254aee9 fieldbus_dev_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x6654d65e fieldbus_dev_area_updated +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x0ca61584 gb_audio_apbridgea_unregister_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x16fecab3 gb_audio_apbridgea_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x375b765e gb_audio_apbridgea_prepare_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x3ff4aa6b gb_audio_apbridgea_shutdown_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x53e859ce gb_audio_apbridgea_start_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x5a171f35 gb_audio_apbridgea_stop_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x6db22671 gb_audio_apbridgea_set_config +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x887fc2a6 gb_audio_apbridgea_register_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xadbf69f0 gb_audio_apbridgea_stop_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xc0f3009b gb_audio_apbridgea_prepare_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xc85cdcae gb_audio_apbridgea_shutdown_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xce696805 gb_audio_apbridgea_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xf3ef3c7b gb_audio_apbridgea_start_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x044e126b gb_audio_gb_get_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x280b3837 gb_audio_gb_get_topology +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x2e0469f7 gb_audio_gb_activate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x3036a5da gb_audio_gb_deactivate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x43c5e0a1 gb_audio_gb_set_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x44d5e7d2 gb_audio_gb_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x7d6e54d2 gb_audio_gb_disable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xab6cbb2b gb_audio_gb_deactivate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xad39c692 gb_audio_gb_enable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xb55e7706 gb_audio_gb_activate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xc6af82fc gb_audio_gb_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xcec869fc gb_audio_gb_get_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xee9f3b28 gb_audio_gb_set_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x19e9e6b1 gb_audio_manager_remove_all +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x32e6391e gb_audio_manager_remove +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x40b166a7 gb_audio_manager_get_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x5a108b0f gb_audio_manager_add +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x79eef2f8 gb_audio_manager_dump_all +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0xaeac8ca2 gb_audio_manager_dump_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0xd4f6ceb6 gb_audio_manager_put_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x2bfe6695 gb_gbphy_register_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x767c5d8f gb_gbphy_deregister_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x8665afce gb_spilib_master_init +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0xb16533dc gb_spilib_master_exit +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0x61f2539c adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x038d3c76 imx_media_pipeline_set_stream +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x14c2677b imx_media_capture_device_remove +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x169a57c3 imx_media_free_dma_buf +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x1c0950c1 imx_media_init_cfg +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x22189b3f imx_media_alloc_dma_buf +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x23616fc9 imx_media_capture_device_next_buf +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x336c8563 imx_media_capture_device_init +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x35c7ef40 imx_media_add_video_device +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x3afc4948 imx_media_find_pixel_format +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x42fb2548 imx_media_probe_complete +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x4962ede2 imx_media_add_of_subdevs +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x4b3aaacd imx_media_pipeline_video_device +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x4c6c97f7 imx_media_pipeline_csi2_channel +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x4e6e6380 imx_media_find_subdev_by_devname +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x534ba9e1 imx_media_find_mbus_format +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x59fff072 imx_media_capture_device_register +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x6e59de28 imx_media_of_add_csi +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x775c16e5 imx_media_capture_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x79c601c1 imx_media_dev_init +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x801af236 imx_media_capture_device_error +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x8f329066 imx_media_pipeline_subdev +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xa26174fc imx_media_find_subdev_by_fwnode +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xa631199b imx_media_grp_id_to_sd_name +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xa9e2459f imx_media_enum_mbus_formats +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xb65938cd imx_media_pipeline_pad +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xba1c7b7e imx_media_mbus_fmt_to_pix_fmt +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xbb5e8bb9 imx_media_get_pad_fwnode +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xc0e6162e imx_media_init_mbus_fmt +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xd4e45b7e imx_media_try_colorimetry +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xe142a608 imx_media_dev_notifier_register +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xe932b00b imx_media_enum_pixel_formats +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x0c485e8a amvdec_dst_buf_done_offset +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x115655e9 amvdec_am21c_body_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x18b7fbbb amvdec_remove_ts +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x1c50a4aa codec_hevc_free_mmu_headers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x1cb1e6d9 amvdec_am21c_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x22d5d533 amvdec_set_par_from_dar +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x2da06658 amvdec_read_parser +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x48a6f629 amvdec_get_output_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x513e950d amvdec_src_change +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x522148fe amvdec_set_canvases +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x5ff35ee8 amvdec_am21c_head_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x6ac4d77d codec_hevc_fill_mmu_map +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x78ac246c amvdec_dst_buf_done_idx +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7a6dc87f amvdec_write_parser +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7ea1b124 amvdec_add_ts +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x826f5622 amvdec_read_dos +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x8675b7e0 codec_hevc_setup_decode_head +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x87672a90 amvdec_dst_buf_done +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xa0d25c40 codec_hevc_free_fbc_buffers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xbb90af05 amvdec_clear_dos_bits +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xc6a86913 amvdec_write_dos +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xd1ddf4bb codec_hevc_setup_buffers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xd54fc17a amvdec_write_dos_bits +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xfe95b9fa amvdec_abort +EXPORT_SYMBOL_GPL drivers/staging/nvec/nvec 0x79eeabaa nvec_msg_free +EXPORT_SYMBOL_GPL drivers/staging/nvec/nvec 0x9f905647 nvec_unregister_notifier +EXPORT_SYMBOL_GPL drivers/staging/nvec/nvec 0xb7998462 nvec_register_notifier +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x02cfab56 vchiq_mmal_port_connect_tunnel +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x2114449a mmal_vchi_buffer_cleanup +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x5c9df7ac vchiq_mmal_submit_buffer +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x5f100255 vchiq_mmal_component_disable +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x6192e1a2 vchiq_mmal_version +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x73577d20 vchiq_mmal_finalise +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x89c36412 vchiq_mmal_port_parameter_get +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xaca4dd80 vchiq_mmal_init +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xc575b7a3 vchiq_mmal_component_finalise +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xc7f67004 vchiq_mmal_port_enable +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xcc549adb vchiq_mmal_port_set_format +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xd4a9fed2 mmal_vchi_buffer_init +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xe09b0c58 vchiq_mmal_port_parameter_set +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xe9499bb6 vchiq_mmal_component_init +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xf58ff8bd vchiq_mmal_component_enable +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xfa957174 vchiq_mmal_port_disable +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x0e437959 target_init_cmd +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x4350ed89 target_submit_prep +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0xc4bce269 target_submit +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0xd7def6d5 target_queue_submission +EXPORT_SYMBOL_GPL drivers/tee/tee 0x0ec7c4c2 tee_shm_get_pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0x364c81a8 tee_device_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0x4012a20a tee_shm_register_kernel_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0x4bac611d tee_client_open_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x4c3332b0 tee_device_unregister +EXPORT_SYMBOL_GPL drivers/tee/tee 0x54dd9c84 tee_shm_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0x5bde2b81 tee_client_close_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x71ea67f7 tee_shm_get_from_id +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7afba530 tee_shm_alloc_priv_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7bc5bf46 teedev_open +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7f31a26d tee_get_drvdata +EXPORT_SYMBOL_GPL drivers/tee/tee 0x85fd9922 tee_session_calc_client_uuid +EXPORT_SYMBOL_GPL drivers/tee/tee 0x92864c7c tee_client_invoke_func +EXPORT_SYMBOL_GPL drivers/tee/tee 0xba484995 tee_device_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0xbb02f583 tee_bus_type +EXPORT_SYMBOL_GPL drivers/tee/tee 0xc72a7dae tee_shm_pool_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/tee/tee 0xc7c5ccd5 teedev_close_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0xcb69f954 tee_client_get_version +EXPORT_SYMBOL_GPL drivers/tee/tee 0xd0222f78 tee_client_close_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0xd1022288 tee_client_open_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0xdd7eaedc tee_shm_alloc_kernel_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0xe6bc8266 tee_shm_get_va +EXPORT_SYMBOL_GPL drivers/tee/tee 0xf7f40079 tee_shm_put +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x01d23ee1 tb_property_create_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x1edaa51f tb_ring_free +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x24ba9c6e tb_ring_poll_complete +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x2a14b63e __tb_ring_enqueue +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x2e103086 tb_xdomain_response +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x35057192 tb_xdomain_request +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x393b4f2f tb_property_free_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x3f346152 tb_ring_alloc_rx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x44beeb51 tb_ring_start +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4b8dba96 tb_service_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4e5064a7 tb_property_find +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4e64bdfd tb_register_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x5260c34c tb_register_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x577f1475 tb_ring_alloc_tx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x5821fc97 tb_xdomain_alloc_out_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x603249ed tb_unregister_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x658e3d97 tb_property_add_immediate +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x6e3ed6b0 tb_xdomain_find_by_route +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x73ad2acb tb_property_get_next +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x743af9a5 tb_xdomain_enable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x785eb82c tb_property_remove +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x8b62f95e tb_property_add_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x92d5ecc0 tb_xdomain_release_in_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x9e723c22 tb_unregister_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x9fe795ac tb_ring_poll +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa3d2b403 tb_property_add_data +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa5d250a3 tb_xdomain_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa8d0f5bc tb_xdomain_lane_bonding_enable +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xafef7bbd tb_xdomain_disable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb7c7cdce tb_property_add_text +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xbf1af509 tb_ring_stop +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xca94c321 tb_xdomain_release_out_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xec6512c7 tb_xdomain_lane_bonding_disable +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xee7523f7 tb_xdomain_find_by_uuid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf1cfd1ff tb_register_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf564c10c tb_xdomain_alloc_in_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf76028c7 tb_unregister_protocol_handler +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x03a8d167 ufshcd_fixup_dev_quirks +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x142d8fdc ufshcd_link_recovery +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x14c63226 ufshcd_uic_hibern8_exit +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x16ec6365 ufshcd_dme_set_attr +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x176e3abb ufshcd_hold +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x178c03c5 ufshcd_dme_get_attr +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x1fd11b11 ufshcd_dealloc_host +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x41aa2ef1 ufshcd_hba_enable +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x425639a4 ufshcd_suspend_prepare +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x6380939b ufshcd_dump_regs +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x68d71469 ufshcd_make_hba_operational +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x6e653e0b ufshcd_dme_configure_adapt +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x6fee8c05 ufshcd_auto_hibern8_update +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x723b1abf ufshcd_delay_us +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x774ca6f5 ufshcd_remove +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7bc647be ufshcd_resume_complete +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7c51eaef ufshcd_clkgate_delay_set +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x8dc4ce68 ufshcd_release +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x9be76c21 ufshcd_init +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xaa6e4758 __ufshcd_suspend_prepare +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xe6b732cc ufshcd_config_pwr_mode +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xf2048d9b ufshcd_uic_hibern8_enter +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xf3607596 ufshcd_update_evt_hist +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xfbd87ef1 ufshcd_hba_stop +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x08e00460 ufshcd_pltfrm_shutdown +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x54c946de ufshcd_init_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x851f467b ufshcd_pltfrm_init +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0xff85cd6b ufshcd_get_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/uio/uio 0x71b05895 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0x722ac294 __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xc800c759 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xfbade5b3 __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x14247f20 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x6b1025a3 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x1f3a88e6 cdns_resume +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x20e17626 cdns_drd_gadget_off +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x3aa86903 cdns_drd_gadget_on +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x3cd63f85 cdns_clear_vbus +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x63c2011a cdns_init +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x7fa4b95b cdns_power_is_lost +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x84be2362 cdns_suspend +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0xa8d22517 cdns_set_vbus +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0xe141ea64 cdns_remove +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x1a2aa644 ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x58ebd977 hw_phymode_configure +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xa8932a7d ci_hdrc_query_available_role +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xb114ad4f ci_hdrc_remove_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x067c101f imx_usbmisc_hsic_set_clk +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x1c872e9e imx_usbmisc_init +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x3e8589a9 imx_usbmisc_charger_detection +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x51b234f6 imx_usbmisc_init_post +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x6c7efe5a imx_usbmisc_set_wakeup +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xe3bde101 imx_usbmisc_hsic_set_connect +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x15d3cf92 ulpi_register_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x31459543 ulpi_read +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x6c026115 __ulpi_register_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x8986077c ulpi_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xc8f29d2f ulpi_unregister_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xe01d3e12 ulpi_write +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x062aa634 u_audio_get_capture_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x1f07a84c u_audio_set_volume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x24be25a0 u_audio_stop_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x50f81c61 g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x547e3389 u_audio_set_capture_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x6bb8d807 u_audio_set_playback_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x787849ec g_audio_setup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xaf7681fe u_audio_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xbbe29ea2 u_audio_stop_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xbc6d2539 u_audio_get_playback_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xc5d3c5bf u_audio_set_mute +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xd1b9d727 u_audio_get_mute +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xe248a652 u_audio_start_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xe897fb11 u_audio_start_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xfae7a1d0 u_audio_get_volume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x0215e76f gether_setup_name_default +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x1387f21e gether_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x3261e412 gether_get_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x5ad19daa gether_setup_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x5bfe8af8 gether_get_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x80615b5d gether_set_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x8878cfa6 gether_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x9bab2fb8 gether_get_host_addr_u8 +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x9eccea02 gether_set_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xa143fffb gether_set_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xa791a0c2 gether_get_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xae31c6ef gether_set_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xba37b9ab gether_set_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xbc814d12 gether_get_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xc7f8385a gether_get_host_addr_cdc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xe5a9cf99 gether_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xe8148c44 gether_register_netdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x33bfdca2 gserial_alloc_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x4a3df9d0 gs_alloc_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x60db48f5 gserial_get_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x60ea48a0 gs_free_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x97f34e36 gserial_resume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xa9978c1a gserial_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xb12cf070 gserial_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xb6652875 gserial_free_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xbfd5e1b0 gserial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xc0a01527 gserial_set_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xe89dc424 gserial_alloc_line_no_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x675b07ee ffs_single_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x6c825859 ffs_lock +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0xeb1100f0 ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x054aa2fc fsg_show_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x10535fe4 fsg_store_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x141fce2a fsg_common_remove_luns +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1710b539 fsg_fs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1ccb58f7 fsg_common_set_num_buffers +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x2933ee1d fsg_ss_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x304d0d1c fsg_show_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x398778e1 fsg_ss_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x3c6a07d0 fsg_common_create_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x423845e4 fsg_ss_bulk_in_comp_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x556d6797 fsg_show_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x56344daf fsg_hs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x57fbfeae fsg_show_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x6acb4179 fsg_common_set_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x6b82671e fsg_common_remove_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x752204e0 fsg_lun_close +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x778924bc fsg_common_set_cdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7e26d4a5 fsg_common_set_sysfs +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7eea7467 fsg_store_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x857b6dc2 fsg_hs_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x95cffb3e fsg_hs_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x9954f1c8 fsg_store_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x9a0221c7 fsg_common_free_buffers +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa11ced94 fsg_store_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa2655b8a fsg_store_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa5cae92f fsg_ss_bulk_out_comp_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa5f20121 fsg_store_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa5f99b69 fsg_fs_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xab6c68ac fsg_config_from_params +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb000da39 fsg_show_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb3adf38d store_cdrom_address +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb52ba28a fsg_intf_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb54d0d95 fsg_fs_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb5f6b986 fsg_lun_open +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xd1a3e8e0 fsg_common_create_luns +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xf2e03f6c fsg_show_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xf4ea8799 fsg_lun_fsync_sub +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xf4efc0c8 fsg_ss_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x0776c1b0 rndis_deregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x258a8e18 rndis_uninit +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x25db0372 rndis_add_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x6bf874f5 rndis_free_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x6e9b9a53 rndis_get_next_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x87c0e3a1 rndis_set_host_mac +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xa72325e7 rndis_borrow_net +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xb603489b rndis_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xb83a01a8 rndis_set_param_vendor +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xc07c3519 rndis_signal_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xd23bd0cc rndis_set_param_medium +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xdbf3c627 rndis_set_param_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xf5ae2f4a rndis_msg_parser +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xf8da23dd rndis_signal_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xfd55a112 rndis_rm_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x02008aa2 usb_composite_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0c589aba usb_validate_langid +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0cb7e477 usb_ep_autoconfig_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x102b1b94 config_ep_by_speed +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x10390cc5 usb_get_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x126bba78 usb_ep_autoconfig +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x16ba97f4 usb_string_ids_tab +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x1cabef34 usb_interface_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x233a635f usb_put_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x29673807 usb_remove_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e09263f usb_copy_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x3c63c179 usb_ep_autoconfig_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4beb505d usb_gadget_get_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4fd46f5c usb_free_all_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5a35ef60 usb_otg_descriptor_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x642bdd97 usb_composite_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x73c806dc usb_add_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7805b3cd usb_put_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x895e2640 usb_add_config_only +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8aec6558 usb_get_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x90f29d1c usb_composite_overwrite_options +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x99ef4c29 usb_string_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x9f62dd1c usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa49e206d usb_function_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb1196a9a usb_add_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb139ac66 usb_assign_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb775db55 alloc_ep_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xba9265e3 usb_function_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xbcdf947b usb_otg_descriptor_alloc +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xbe8e694f unregister_gadget_item +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xc85cb8ca usb_string_ids_n +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd2ea2134 usb_descriptor_fillbuf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xe19a40bb usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xec6d43bf usb_gstrings_attach +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xeed0e60e usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf3964635 config_ep_by_speed_and_alt +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf474a207 usb_gadget_config_buf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf7f2dbda usb_function_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x04a91314 empty_req_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x12ee1162 udc_mask_unused_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x58c31c85 udc_remove +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x5d01d078 udc_irq +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x84b00d7a gadget_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x8b06b627 init_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x976cc92d free_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xbb8470a0 udc_enable_dev_setup_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xe0108652 udc_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xf898e190 udc_basic_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x01b12bfb usb_ep_free_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0844a09d usb_gadget_vbus_draw +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0a8c3b4b usb_ep_set_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0acfe2e7 usb_ep_set_wedge +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0d90d784 usb_ep_fifo_flush +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0f21a58f usb_gadget_vbus_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x18291666 usb_gadget_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x1ba70044 usb_gadget_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x1c50dfe3 usb_initialize_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x1f72717c usb_gadget_unmap_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x25549231 gadget_find_ep_by_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x4711c813 usb_del_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x49d9f030 usb_ep_fifo_status +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x49dcd3bf usb_gadget_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x4a539bde usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x506ab3a9 usb_ep_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x50b88f41 usb_get_gadget_udc_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x51117bf4 usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5fc294ef usb_ep_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x64ed0957 usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x6d09cbea usb_gadget_wakeup +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x6effac63 usb_gadget_frame_number +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x73af9cc3 usb_gadget_check_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7a41b9f2 usb_ep_set_maxpacket_limit +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7be89624 usb_gadget_giveback_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7ca79e35 usb_gadget_vbus_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x8379563e usb_gadget_set_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x882077d5 usb_ep_dequeue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x8dbe500e usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9eb52803 usb_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa7e0bf63 usb_udc_vbus_handler +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa9e74462 usb_ep_alloc_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xae04e0ca usb_gadget_map_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xaf201fa6 usb_ep_enable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xb0dc6297 usb_add_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xb34baa4d usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc2047a5d usb_gadget_register_driver_owner +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc96ea419 usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xcdb6b2b8 usb_gadget_udc_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xcf6cbed2 usb_gadget_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xd1ac51bc usb_add_gadget_udc_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xde4df75f usb_gadget_set_state +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xf2917cad usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0x7e33a7e3 renesas_xhci_check_request_fw +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x2b969fd6 ezusb_fx1_set_reset +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0xf5b10f23 ezusb_fx1_ihex_firmware_download +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x0d317fad usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x4ddb6890 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x5b9e61f3 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x63cf6f28 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x67e1dc3c usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x85bd0a19 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xa2aab5d6 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xa4e090c7 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xaa301943 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x07d19963 musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x09492220 musb_mailbox +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x0b4a8834 musb_writeb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x2734197f musb_readb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x32d4f7b0 musb_set_peripheral +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x5a43a651 musb_queue_resume_work +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x669594ad musb_clearw +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x6af8c6dc musb_writel +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x719a5e41 musb_readw +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x9551cb88 musb_set_host +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xa80979fb musb_root_disconnect +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xade3e56c musb_writew +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xda00d2a1 musb_get_mode +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xe59efb0e musb_clearb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xf0f95e51 musb_readl +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x0460862d usb_phy_generic_register +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x5bd8f55a usb_gen_phy_init +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xe86fada1 usb_phy_generic_unregister +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xf2c32394 usb_gen_phy_shutdown +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xf7024122 usb_phy_gen_create_phy +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-isp1301 0x6468aaf4 isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0x6c7bb3e2 tegra_usb_phy_postresume +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0x915824e0 tegra_usb_phy_preresume +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0xb4c34790 tegra_ehci_phy_restore_end +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0xcecc83d5 tegra_ehci_phy_restore_start +EXPORT_SYMBOL_GPL drivers/usb/serial/usb_wwan 0x8ce8219f usb_wwan_port_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0ce6a690 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x25e17b4d usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2fc567df usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x39f5964f usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5fccddfb usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x61eea9d3 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x68081b67 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6f9452d4 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa13217f2 usb_serial_claim_interface +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa2f4ce0d usb_serial_generic_wait_until_sent +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa54e5897 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa9e3703c usb_serial_generic_chars_in_buffer +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xace5e4cf usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xbe41f3d3 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd04f461a usb_serial_generic_get_icount +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe1eddda3 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe3cb546b usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xefab0c54 usb_serial_generic_write_start +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf0ceb389 usb_serial_generic_tiocmiwait +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf77b21d1 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x1a2185c1 dp_altmode_probe +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0xe54bcafd dp_altmode_remove +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x16013083 tcpci_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x6f497a3c tcpci_irq +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xbe111953 tcpci_get_tcpm_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xc529e32e tcpci_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x10ec6d2d tcpm_sink_frs +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x3b84657b tcpm_pd_transmit_complete +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x76eeda4b tcpm_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x9e0bd753 tcpm_pd_hard_reset +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xb655342c tcpm_pd_receive +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xbb139698 tcpm_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xc37b9769 tcpm_cc_change +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xceb50012 tcpm_vbus_change +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xea220941 tcpm_tcpc_reset +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xeb779665 tcpm_sourcing_vbus +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0737ee15 typec_altmode_enter +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1a571204 typec_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1c7a8785 typec_mux_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1cb3237a typec_register_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1e7643ea typec_altmode_update_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1e9be662 typec_cable_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2d1e301d typec_find_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3163d592 typec_switch_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x32ec2d88 typec_partner_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x336bb7a0 typec_altmode_get_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x34feeda7 typec_altmode_exit +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x35e8a53a typec_mux_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3679fdfd typec_altmode_put_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3728ff50 typec_partner_set_num_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x45e0193e typec_partner_set_svdm_version +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5b22556d typec_partner_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5f909037 typec_get_fw_cap +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5fe182c7 typec_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x627fe5be typec_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x65e2e26a typec_set_mode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6879d26a typec_register_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6b3d9465 typec_mux_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6d26f6dd typec_set_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x81e1da89 typec_altmode_notify +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x82e7a763 typec_set_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x84648078 typec_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x84966b6c typec_set_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x86521d45 typec_switch_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x88224eb2 typec_mux_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x899f7fc6 typec_partner_set_pd_revision +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8a34fb3d typec_plug_set_num_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9049491e typec_find_port_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x90f58ef3 typec_unregister_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x92d28658 typec_mux_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9d045165 typec_set_pwr_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9f07444a typec_altmode_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa1466320 typec_port_register_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa254de98 typec_find_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa4991453 __typec_altmode_register_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa5bd694c typec_cable_is_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa9a3dca9 typec_register_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb0909f0c typec_get_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb5a201df typec_unregister_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc9b07855 typec_altmode_vdm +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xca610fe6 fwnode_typec_switch_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xcdb318d8 typec_altmode_attention +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd071d704 typec_cable_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd2671d98 typec_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd2fa1286 typec_switch_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd7668f6d typec_match_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xdd1bac31 typec_get_negotiated_svdm_version +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xdeaad776 typec_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xdf0ff01b typec_plug_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xdff8d4c5 typec_altmode2port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xeafc1eb8 typec_find_port_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf1234a8b typec_find_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf149aa21 typec_altmode_get_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf27e74f2 typec_unregister_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf37af43b fwnode_typec_mux_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf39232c4 typec_port_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf5bfa9e8 typec_cable_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf695b62b typec_set_vconn_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf76be24d typec_unregister_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xfc8df340 typec_mux_put +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x143eadf4 ucsi_register +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x237e12d3 ucsi_resume +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x4cd2fd48 ucsi_connector_change +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x676a532c ucsi_destroy +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x6d83e061 ucsi_create +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x82f3dbfb ucsi_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xb25fe6c8 ucsi_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xdebeab9d ucsi_send_command +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xe0d5508a ucsi_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x0990d413 usbip_recv +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x1055ffdd usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x1486b83d usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x6a001d54 usbip_in_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7553e45c usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x801f0eaa usbip_event_happened +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x90c5b15f usbip_event_add +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x9c536277 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xca54c1a4 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xce60832b usbip_start_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd5026eed usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe14b1f4b usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe4508bfd usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x13425e5e vdpa_mgmtdev_unregister +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x1b7d127e vdpa_unregister_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x1ea13f40 __vdpa_alloc_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x41c4af97 vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x73cf440e vdpa_set_config +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x7afbfe6f vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x87ec652d __vdpa_register_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x99fdeeb4 vdpa_get_config +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xb431d1de _vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xde1ad85e vdpa_mgmtdev_register +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xfd5879ba _vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa_sim/vdpa_sim 0x8db96ab1 vdpasim_create +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0x224fe08e mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x0137dfcc vfio_pci_core_read +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x020c01ff vfio_pci_core_sriov_configure +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x0ecac07b vfio_pci_core_unregister_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x0f1b9055 vfio_pci_core_mmap +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x154e06fc vfio_pci_core_write +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x2722a220 vfio_pci_core_init_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x2af269d4 vfio_pci_core_disable +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x447773a1 vfio_pci_core_aer_err_detected +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x4cf699b8 vfio_pci_core_set_params +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x54a124b5 vfio_pci_core_ioctl +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x58cf991b vfio_pci_core_uninit_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x68ef7551 vfio_pci_core_register_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x82c1cd99 vfio_pci_core_err_handlers +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x9d7fcfd6 vfio_pci_core_match +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xa387a071 vfio_pci_core_enable +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xa7ef3e21 vfio_pci_core_finish_enable +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xa8366cdb vfio_pci_core_request +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xb9584c67 vfio_pci_register_dev_region +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xd6d495b1 vfio_pci_core_ioctl_feature +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xf9034f67 vfio_pci_core_close_device +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x064729af vfio_platform_unregister_reset +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x2688fea6 vfio_platform_remove_common +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x4a37c83d __vfio_platform_register_reset +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x60fa9dab vfio_platform_probe_common +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x0a297e3a vfio_mig_get_next_state +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x0e887167 vfio_assign_device_set +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x2938e498 vfio_unregister_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x31afa867 vfio_register_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x37721d56 vfio_file_has_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x56bfcd7d vfio_file_iommu_group +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x5ef06aa0 vfio_uninit_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x60a634c4 vfio_info_cap_add +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x70af8d5e vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x7437c078 vfio_register_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x883bac5a vfio_init_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x979f51bd vfio_register_emulated_iommu_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x9b7b2ecf vfio_file_enforced_coherent +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xd1f51497 vfio_file_set_kvm +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x5fbc56be vfio_virqfd_disable +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x8767e7f4 vfio_virqfd_enable +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x014bacf5 vhost_poll_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0f07bdf3 vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x143f522e vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x25b989a0 vhost_dev_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3219d613 vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3a1ef8e4 vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x43bdd65b vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4e47cc6e vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4fbeef19 vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x52e3e248 vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x564504d9 vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x587a7f4e vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5ba408ad vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5dcbd0fe vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x696cf4bd vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6e8e044e vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x743f56c5 vhost_set_backend_features +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7bbe5914 vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x896ece55 vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x9027dc7e vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x9b2bd880 vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x9d01a1b6 vhost_disable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa26f7310 vhost_clear_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa4da2dd1 vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa909cfc5 vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xad047b96 vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc199dcbc vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xcb063601 vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd267a389 vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd38a7632 vq_meta_prefetch +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd956413f vhost_poll_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd95a1b31 vhost_work_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xdd980e8c vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xdfae1aaa vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe02bbbc8 vhost_vring_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe301734d vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe469c641 vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xeec4e904 vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf7ee9af2 vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfd2b3e45 vhost_dev_reset_owner_prepare +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfdd2f0e7 vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfdf4aeca vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x38ff875f vhost_iotlb_add_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x69e872f9 vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x83be64b9 vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x885512a2 vhost_iotlb_add_range_ctx +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x8a7d8ee9 vhost_iotlb_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xa24517eb vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xc577832d vhost_iotlb_alloc +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xf9deb0db vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x19a0ff37 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x3ee1bc4e ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x4760c383 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x64cc5426 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x8fb31224 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xbe26382c ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xbe947670 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_ddc 0x3885921c fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x218c913d fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0xc2e2556c fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x125a631e sis_free_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0xcf241148 sis_malloc_new +EXPORT_SYMBOL_GPL drivers/w1/wire 0x0872b972 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x10036feb w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x1e2cee57 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x272208cf w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x2e6503f2 w1_touch_bit +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4f03e2ee w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x50341691 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63757e92 w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x67ff19a1 w1_triplet +EXPORT_SYMBOL_GPL drivers/w1/wire 0x8cf1cef8 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x8eb2e8b7 w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc0880817 w1_write_block +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x00044c49 xen_front_pgdir_shbuf_get_dir_start +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x02b00019 xen_front_pgdir_shbuf_unmap +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x067d3d98 xen_front_pgdir_shbuf_alloc +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x2249bd6b xen_front_pgdir_shbuf_map +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x94a4739e xen_front_pgdir_shbuf_free +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0x390602bf xen_privcmd_fops +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0xe4bad3cd xen_privcmdbuf_fops +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4b62826c dlm_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x647d6170 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x71d749ec dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x7d88303a dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x99f776ba dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcd224e1d dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x2665b2b4 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x82044786 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x8aa62b51 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xadd1ca73 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xb3d55674 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xc8d67b03 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xe6b5ef85 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03842550 nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x039407b1 nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03eacb8c nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x042280a2 nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x064358e2 nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0933b2e0 nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0bc7d7e3 nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0d36e483 nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1511e2be nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x17a2a553 nfs_wait_client_init_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x17f5f85f nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1860dfd7 nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x18b62e9c nfs_mkdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x19c2679b nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1c8e7e39 nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1ca50956 nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2124f42c nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x21f5a5e2 nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22d795a8 _nfs_display_fhandle_hash +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22f5c712 nfs_set_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x24139ae7 nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x24860f7f nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x25171b21 nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26884ff7 nfs_alloc_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2a2322f0 nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2be238b9 nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2d144ca2 nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2f179e9b nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2fa4c47c nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x30496988 __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3549ccb1 nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x373d1dda nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3dee1c59 nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3edbf336 nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3f2690f2 nfs_check_flags +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3fed07a4 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40739385 nfs_wait_bit_killable +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x41080be3 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f2c81f nfs4_client_id_uniquifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x43d08309 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x44349138 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x44cc3a41 __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x47d5c0c6 nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x48aa0f3c nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x48dca9b9 nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4b825a10 nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb9e001 recover_lost_locks +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x505d7771 nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51892d61 nfs_callback_set_tcpport +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x52e830f2 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5783dbe1 nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x57e0188f nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5931bdbc __traceiter_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x59923eb3 __tracepoint_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5a59500a nfs_alloc_fattr_with_label +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5a67992f nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5e241298 nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x60a2168e nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6363a01d nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x65185b3a nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x687acf1c nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6aa369dc nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6d3b28ca nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e81f032 __SCK__tp_func_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6fa95ae0 nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x70369ea4 nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x73dff4c0 __SCK__tp_func_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7514558c nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7564decb nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7708e037 nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c6fa20d nfs_write_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c9722ba nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7f34b15c nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x800b3972 nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x80857b40 nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8499de4f nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8585a162 nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x860d6ee9 nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x86657a07 nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x879b776a nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x88cf6c54 nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8a37e44f nfs_d_prune_case_insensitive_aliases +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8d15ac2f nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8eb509f0 nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90a5530f nfsiod_workqueue +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9107bc62 nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x91d1fe52 max_session_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x92a7c557 nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x95007f7e __SCK__tp_func_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x95778fb3 nfs_access_get_cached +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x95e5ef72 nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98b0ece8 nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9b34cdd6 nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9c7bb6bc nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa083f82e nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa2a6e3d7 nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa361abee nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa523cd7e nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa7d6af45 nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa85c089c nfs_probe_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8e9e1ae send_implementation_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa93090e9 nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaafd4acc max_session_cb_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xab99c3e6 nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xabb14fd1 nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xac6dab86 nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xace1382a nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaf91a7f3 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb12a65f4 put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb1934815 __traceiter_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb4c3f7eb nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb6321acc nfs_file_set_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb8bb6030 nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xba0d2f82 nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xba376650 nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xba4a67eb nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbb49429e nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbcac8ec1 nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbd5a2348 nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbd6dd559 nfs_flock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbe73709e nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbeef83fc nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbf47047d nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc0e669cd nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc258ab0e nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc2ec082b nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a2be67 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc48074d3 nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc524e75b nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc6c8b8f1 nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xca058f57 nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcd13f13b nfs_clear_verifier_delegated +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcf4f55d9 nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd1272db6 nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd13b7f1c __traceiter_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd6e9b3c1 __traceiter_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd975cc93 nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdae9b5d7 nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdc40779c nfs_check_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xde605e9d nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe0814ca7 nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe3389840 alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe34f22c3 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe457c389 nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe58f6d2c nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe66ca691 nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe70507df __tracepoint_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe729321c nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe9bcb416 nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed2dec4a unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xeec87f20 get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xefe4dc70 nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf2459bd6 nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf51a65e2 nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf52e2f9d nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf5dfb59a nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf96f04c4 __SCK__tp_func_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfaa14c92 register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfacc2586 nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfb534817 nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfbbe2b6a nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc619abd _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0xe55dfc1b nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0023854f pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x040268cf __traceiter_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x058d985e pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x07540e0f pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x08b2c467 __SCK__tp_func_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0a1578f4 __traceiter_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0aebca68 __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0c5dd939 pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0f01076e __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0ff289f3 __SCK__tp_func_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1091480d pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x129e5260 __traceiter_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1817265d __traceiter_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x19d8e123 nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1a5c286c pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1ae70de5 nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x21d4f26d pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x265c6261 nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x27ad47ea __SCK__tp_func_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x28d53083 __traceiter_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2a32aa21 nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2bf675ec nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2fe8f6a5 __traceiter_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x30a44ac3 __SCK__tp_func_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x32272688 nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x328c63a1 nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x32bb6e05 __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3485ba9e nfs4_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x397c447d pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3ae1d52b nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x429bdca0 nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4e3cd747 __traceiter_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4ed5a288 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4f9a6b2c __traceiter_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x533c198f __SCK__tp_func_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x53916c4b pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x579126b8 __SCK__tp_func_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5a4314e9 __SCK__tp_func_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5ce462a3 __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6085edbd nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6410136f pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6571b088 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x65b6f6b6 pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69000001 __traceiter_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6f0e1cc5 pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6f594b04 nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6f79a205 pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x729910ff pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x734f63d5 pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x74ee0830 nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x785c06ab __SCK__tp_func_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7a4e7f4e __SCK__tp_func_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7ab7bcc6 __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7ac44562 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7c189c1d pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7cd013a8 __SCK__tp_func_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8009841d pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x81156afe pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x81794405 pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x82409884 __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8334af85 pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x84658093 nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8550149f __traceiter_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x85537e14 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8be8999f nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x93a057c7 __traceiter_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x94569a57 nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x953b567b pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x974a1614 __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x99ee1250 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9a1a74c3 __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9b3ae50d pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa0033a7e pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa0427cd6 pnfs_error_mark_layout_for_return +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa4e1415d nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa6eaeb69 nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa90e3d5e __traceiter_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xaba3bc97 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xaeb1afae pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xba53a1ef __SCK__tp_func_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbc574c78 nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbdee011f pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbec02f4a nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc61d15c1 pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc7a9d954 __SCK__tp_func_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xca345c21 nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcd503dad nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcf29b95f __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcf9a0e8d pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd0ecfaad __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd39598fe pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd5bb72ae pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdcbfb083 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdf0a5689 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdf6991a4 __SCK__tp_func_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe0f73016 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe1827742 nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe19f5ee0 __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe23cee62 __traceiter_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe2c9ed57 pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xeae8522f __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xede41327 __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xef14b88a pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf4fde46d pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf7801360 nfs41_maxgetdevinfo_overhead +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf8118da3 pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf999267e pnfs_generic_commit_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xff78a6d9 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1192568f locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x7b4075ba locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0xc41d8499 opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x383e607d nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x76f116b8 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xac84baa1 nfs_stream_decode_acl +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xfcc13b1d nfs_stream_encode_acl +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0xcde3e70d nfsd4_ssc_init_umount_work +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x0b82b9d9 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x52ab2cd4 o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x58c88ff2 o2hb_get_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x5e95a4b2 o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6a0c3847 __mlog_printk +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7d4f4e98 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x8199712e o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb6ebf62a o2nm_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb7ea8113 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbd13ee5d o2hb_check_node_heartbeating_no_sem +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc4d99852 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd859ac8c o2net_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xdce9f89b o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1d07969 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf56c2017 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf982e6db o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xfe1298f3 o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x249b6fe1 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x3058cd5c dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7cdd0305 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x9dfdc86b dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xa4a368fe dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xbc15b97f dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0a726931 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0cfd3fc5 ocfs2_cluster_connect_agnostic +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x1475f64b ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x5b2d2c35 ocfs2_kset +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x6593f4d9 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x76f40744 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x9507547f ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xaf969565 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xc5196999 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xc9fae756 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xcafdd707 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xceccb324 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd344e4ee ocfs2_stack_glue_set_max_proto_version +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd806a273 ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xe1e63062 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x43cc3d4b pstore_blk_get_config +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xadc449d7 register_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xd055957e unregister_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x01751b05 register_pstore_zone +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x82d15bb8 unregister_pstore_zone +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_arc4 0xabd9af6d cifs_arc4_crypt +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_arc4 0xc4c73891 cifs_arc4_setkey +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0x798f3830 cifs_md4_init +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0xceecd9e4 cifs_md4_final +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0xdef1096d cifs_md4_update +EXPORT_SYMBOL_GPL lib/842/842_compress 0xcf048a91 sw842_compress +EXPORT_SYMBOL_GPL lib/842/842_decompress 0xa4adedf1 sw842_decompress +EXPORT_SYMBOL_GPL lib/bch 0x0c303f52 bch_encode +EXPORT_SYMBOL_GPL lib/bch 0x0d3e3481 bch_free +EXPORT_SYMBOL_GPL lib/bch 0x1a267fa8 bch_init +EXPORT_SYMBOL_GPL lib/bch 0x860a2eab bch_decode +EXPORT_SYMBOL_GPL lib/crc4 0x696b3a5a crc4 +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x0105b595 des_encrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x574eda34 des3_ede_decrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x856a5ef3 des3_ede_encrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa6aa9857 des_decrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa77b3b62 des3_ede_expand_key +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa8fb743d des_expand_key +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x39e8fa4b poly1305_update_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x4a833012 poly1305_final_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x8c874435 poly1305_init_generic +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x60172005 notifier_err_inject_init +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0xcfc0da3e notifier_err_inject_dir +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x1803a6ed raid6_2data_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x804a5b70 raid6_call +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0xe4b051cf raid6_datap_recov +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x1d29b9e1 decode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x561835eb init_rs_non_canonical +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x63adbf92 encode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xa32f3d9e decode_rs16 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xeb2f825c init_rs_gfp +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xfd581da1 free_rs +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x5e677e69 lowpan_header_decompress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x64abc8d4 lowpan_header_compress +EXPORT_SYMBOL_GPL net/802/garp 0x48593565 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x57fc6763 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x7d1b011f garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x7ee61906 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0xc562cbb7 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xdb7248f2 garp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0x19c1596d mrp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0x307723bb mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0x37bb4383 mrp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0x8774396b mrp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0x94f1e3fa mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0xd61ba9c9 mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/stp 0x2a59e606 stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0x2e4bb812 stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0x0db4bd9f p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0x16e74498 p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/atm/atm 0xb09faf79 register_atmdevice_notifier +EXPORT_SYMBOL_GPL net/atm/atm 0xcfb6a3da unregister_atmdevice_notifier +EXPORT_SYMBOL_GPL net/ax25/ax25 0x913c1c94 ax25_register_pid +EXPORT_SYMBOL_GPL net/ax25/ax25 0xac93ae05 ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x0941f0a8 l2cap_chan_del +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x10225403 l2cap_chan_send +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x2adf009d l2cap_chan_set_defaults +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x4e7f1dbb l2cap_chan_create +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x61a7d4cd l2cap_add_psm +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x79c7ea04 l2cap_chan_connect +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x87c2afcf bt_debugfs +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xed82be75 l2cap_chan_list +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xfff94ebd l2cap_chan_put +EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0xf9ac0275 hidp_hid_driver +EXPORT_SYMBOL_GPL net/bridge/bridge 0x1fccff3f br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x49aa8380 br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0x53196532 br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x58e09eda br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0x60fbcb4a br_get_ageing_time +EXPORT_SYMBOL_GPL net/bridge/bridge 0x67b69326 br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0x6a0a0a48 br_mst_get_state +EXPORT_SYMBOL_GPL net/bridge/bridge 0x6a8418e1 br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0x6bd279fa br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7259d979 br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x734ba7bb br_vlan_get_info_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7982fb6d br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7c580f98 br_mst_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x91d8a31b br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x9373d43a br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0x94012e98 br_mst_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0xad37308f br_multicast_has_router_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0xb1ffef22 br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0xbfbe1891 br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0xc3f29e8f br_port_get_stp_state +EXPORT_SYMBOL_GPL net/bridge/bridge 0xd2c78df2 br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0xd5bf8136 nf_br_ops +EXPORT_SYMBOL_GPL net/bridge/bridge 0xd6f3c3d0 br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/bridge/bridge 0xdb60098e br_vlan_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0xe00bad05 br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/core/failover 0x5f1a8c6a failover_register +EXPORT_SYMBOL_GPL net/core/failover 0x9f6269c1 failover_unregister +EXPORT_SYMBOL_GPL net/core/failover 0xf62375a5 failover_slave_unregister +EXPORT_SYMBOL_GPL net/dccp/dccp 0x014a1f33 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0e4fac9e dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x146ad8cc dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1f714121 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1f82528d dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2b21d821 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x33f22a06 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3dc7e8fc dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3e420724 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x49278600 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4d990d25 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x544efdfb dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x574b8125 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x57a60da6 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x71bc10c0 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x743db560 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7891944f dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x80993155 dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8adb476a dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8cbf21e2 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x93e605bb dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x98f1b8a6 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x99e78aec dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9ebb5205 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa175fbe8 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xaf893a53 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb862bdf6 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xca732798 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0xcaa07c94 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd360fa42 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd75b7072 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdb947e43 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe690181e dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0xefe181cb dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf2304d58 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x83f53a7b dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x930edc89 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xc11c9d85 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xd8a5b459 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xe161f65c dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xf90fc558 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0261d60f dsa_switch_find +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0c6039ac dsa_flush_workqueue +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0f8e5588 dsa_devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x1294cfff dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x20e943c1 dsa_switch_shutdown +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x271d332e dsa_devlink_region_create +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2980a8ff dsa_devlink_params_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2efceb5a dsa_8021q_xmit +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2f1cd11e dsa_tag_8021q_standalone_vid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x34c18865 dsa_tag_8021q_bridge_leave +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x38f27558 dsa_fdb_present_in_other_db +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x397388f4 dsa_tag_8021q_bridge_join +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x417d1fed dsa_8021q_rx_switch_id +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x45ca5090 dsa_tag_8021q_bridge_vid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x51349ec0 dsa_tag_drivers_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x61197ea9 dsa_port_phylink_mac_change +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x66c0a820 dsa_switch_resume +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x686c3cb7 dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x95b3b6b1 dsa_devlink_resource_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x975c753f dsa_port_from_netdev +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x9e59271d dsa_8021q_rx_source_port +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa2206880 dsa_devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xb531c75c dsa_slave_dev_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xb63ece16 dsa_tag_drivers_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xb94c0e71 dsa_mdb_present_in_other_db +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc1497e9f dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc23e8d5f dsa_devlink_region_destroy +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc844df1f dsa_tag_8021q_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xcaf01e51 dsa_unregister_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd077e855 dsa_devlink_param_get +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd0800fa4 dsa_tag_8021q_find_port_by_vbid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd0beb9d9 dsa_8021q_rcv +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd59e62da dsa_devlink_resources_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd99d2ee7 dsa_enqueue_skb +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xe7974fc5 dsa_tag_8021q_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf13e1803 vid_is_dsa_8021q +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf587ee3e dsa_devlink_port_region_create +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf99777f2 dsa_switch_suspend +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xfd3e2b67 dsa_devlink_param_set +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x2ee8221f ieee802154_hdr_pull +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x5062599e ieee802154_hdr_peek +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x6450e10c ieee802154_hdr_peek_addrs +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x87e2553b ieee802154_max_payload +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x9f004eb7 ieee802154_hdr_push +EXPORT_SYMBOL_GPL net/ife/ife 0x0630808b ife_decode +EXPORT_SYMBOL_GPL net/ife/ife 0x188ed2ec ife_encode +EXPORT_SYMBOL_GPL net/ife/ife 0x6210e871 ife_tlv_meta_next +EXPORT_SYMBOL_GPL net/ife/ife 0x67db2029 ife_tlv_meta_decode +EXPORT_SYMBOL_GPL net/ife/ife 0xe7888e98 ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x5c472839 esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xb1cddca6 esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xc9a691bb esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/gre 0x47168fdd gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0x63866039 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x1b2eb9d9 inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x5740b48f inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x6a7438fd inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x77856ff8 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xc40a7e9c inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xde0dbb1b inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xe91317e8 inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xf1e63b01 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xfc638d3d inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0x7b3027f4 gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x09f8cda9 ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x1c2979e4 ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x2e831e66 ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x42877e22 ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x4577cc25 ip_tunnel_siocdevprivate +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x581e8ec5 ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7dc5c3cc ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x80867c24 ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x8ed7201e ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x9985150a ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x9d7abcd2 __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xaa33b201 ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xd50c4da6 ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xe318c601 ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xee5a367d ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xeec9bd24 ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xf3442471 ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x248e7a04 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0xb22eeaad ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0xb91c9d2a nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x07a68436 nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x1c49c4c0 nf_reject_skb_v4_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x453c5a50 nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x5535a843 nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x64063b1d nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xbaaa39d9 nf_reject_skb_v4_tcp_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xdacb2a93 nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0x5b0ce0ef nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x1c511bc3 nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0xbb901b2a nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0xcf3e74da nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x9726a9d1 nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0xa63a2753 nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x5f09e90e tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x8b32cd37 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xd46359db tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xd829cb00 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xef9fc549 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x0d6e21c5 udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x38ad15ae udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x7ab75bef udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x9c105971 setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xbfa820d9 udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xc7cce317 udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xdcc41883 udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xf7e13179 udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x296ef8b0 esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x6d103ee0 esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x8736b0ad esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x4ec19b25 ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x971e3148 ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x9e02d92a ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x7d55e5c8 udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x89e00814 udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x70346649 ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0x34c0c30c nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x0f54a83c nf_reject_skb_v6_unreach +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x15ae32d9 nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x443dac3b nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x4a6708f4 nf_reject_skb_v6_tcp_reset +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x587d9528 nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xdd58a919 nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xf79a79c5 nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0xdc6b4186 nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x1ba312f4 nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x2df618b1 nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xd01ad682 nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x62ec9ef4 nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0xc195b1f9 nft_fib6_eval +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x041f8b9c l2tp_tunnel_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x0691ec1d l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x07075cac l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x143f08b6 l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x15c40df5 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x189b60c0 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x1b188b10 l2tp_recv_common +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x25c8aedd l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x275b4d83 l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x275db902 l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x3395b7ff l2tp_session_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x3c8a3e38 l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4b6d7022 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x5859bfb2 l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x5c4ba398 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x64735b13 l2tp_tunnel_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x8d18a3b6 l2tp_session_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x9f9296f9 l2tp_sk_to_tunnel +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xbd47d4fb l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf15513e4 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xfec5741f l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_ip 0x4f5c25b2 l2tp_ioctl +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0xb1965694 l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x05409d5f ieee80211_color_change_finish +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x17e39f6e ieeee80211_obss_color_collision_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x23292328 ieee80211_gtk_rekey_add +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x291cb38b ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x41e0cc1b ieee80211_calc_rx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5250cf98 ieee80211_tkip_add_iv +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x52752869 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x59c13bed ieee80211_key_mic_failure +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6a78a553 wdev_to_ieee80211_vif +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6f893f08 ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x717d7fb1 ieee80211_hw_restart_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x72197c69 ieee80211_update_mu_groups +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x74730e88 ieee80211_iter_chan_contexts_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x74e9f70f ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x75871299 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x854516c1 ieee80211_iterate_active_interfaces_mtx +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x86056a0b ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x99855d42 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa1247034 ieee80211_remove_key +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa4b2b77e ieee80211_key_replay +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xbc03646e ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd0d6b415 ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd8e09da4 ieee80211_set_key_rx_seq +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xdfe04df7 ieee80211_calc_tx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xeec13691 ieee80211_iterate_stations_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xf51fb639 ieee80211_iterate_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xf545ce1b ieee80211_iterate_stations +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x416d73b9 mpls_dev_mtu +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x70b031aa mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x7670b536 nla_get_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x7fddee87 mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xccec4fa4 mpls_output_possible +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xd780a1c8 nla_put_labels +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x0eb98781 ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22d966c6 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4314d306 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x49978ff3 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x59a00ac9 ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x62ba2937 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6cd062b7 ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x80a20392 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x8cd9d151 ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9afc8b6f ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9c5d7bc4 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9e98722b ip_set_get_ipaddr6 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa0100fe1 ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa293f8a6 ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xb935b9a6 ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xbe43e41a ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xce0507f7 ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xd02e0ad2 ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xdc2d0a59 ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xe259f1f3 ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf00fcfae ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf102a0ac ip_set_match_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf3b4d4ae ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x3ed4bd03 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x53a382db ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x8f1807b2 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xecec3422 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x4faa9219 nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x64ce6b04 nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x954d93e8 nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xc9bc94ed nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xded40268 nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xf2a1dbb9 nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xf48321aa nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0xb1f3079e nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0xbc2b0627 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0xfb93c3b8 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3c268b40 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6bd5fef9 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x9da6a0f4 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xad9b42f1 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb066d0ca nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb35f29d0 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xbda52a6a set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd4a42457 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xe2387a8d get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xed3dcd8b nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x7bd85392 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x9b74a92a nf_nat_pptp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x1cbabb38 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x1d6496e7 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x42632398 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x473f208c ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x80f15476 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xd82db26a nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xdee59698 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x457139ce nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x2c98eb6b nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x50080b7a nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x993b3e13 nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xc0ba29e2 nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x06b741e3 flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x16db130e nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x1db005ad flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x389fb1c3 nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x47428c4a flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x48aafa85 flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x6108f223 nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x665e547b flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x6ad7efa0 flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7e3c17ee nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xa30f0056 nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xbd955aff nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xbf70e953 nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xcc425a05 nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xd5a39f7f flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xd68f0591 nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xf3af5d7a nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x124eb2c8 nf_nat_ipv4_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x1499ea8c nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x359be125 nf_nat_icmpv6_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3bc17c49 nf_nat_masquerade_inet_register_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x5b45df7b nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x68378826 nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x717808e4 nf_nat_ipv6_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x75231dc4 nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x8070273f nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x8bb0300c nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x98972697 nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xaae08a6b nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd46e4a6c nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd9c25654 nf_nat_masquerade_inet_unregister_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xdf9ecdf6 nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xe4181a8d nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xf076d183 nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xf4ff3cd4 nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x04313a23 synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1f099794 synproxy_init_timestamp_cookie +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x57ec6809 synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x59779f72 synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7787a498 synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x823ccbe1 nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x8dc504c4 nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xa53bba8e synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xca9fc082 synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xcd9656cf ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xe4200031 nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xe8d41bad ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xebd9cf14 nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x04acecd8 nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x06c6ca47 nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0d5387b2 nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0ef95cf3 __nft_reg_track_cancel +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1caf34c5 nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3251d762 nf_tables_trans_destroy_flush_work +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x36f7bc13 __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x37223d74 nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3df786b1 nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x41b71e65 nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x48d46db1 nft_request_module +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4f3306c1 nft_set_catchall_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x522a087c nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5290280f nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x567e26c4 nft_register_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x56dc693b nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x581a811f nf_tables_activate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x58922522 nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5b082bff nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5d0f4059 nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5fb53a4c nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x620caab5 nft_reg_track_update +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6a60ef0b nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6af70afb nft_reg_track_cancel +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6d694f8f nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x705e1715 nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x73eb5717 nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x787db7e0 nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7cc6d682 nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7d8554db nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8af913e1 nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8d4315ae nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x92bf5140 nft_parse_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x93bb9dfc nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x97cdf5c2 nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa14064f6 nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa413e7d6 nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xae47eb8d nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb640a368 nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd2c19ff5 nft_set_catchall_gc +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd8c8570e nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdd03aaa6 nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde57b5f5 nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe2b8cc13 nft_parse_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe61795a8 nft_expr_reduce_bitwise +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xfb095ace nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xfb7863de nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xfc5065e8 nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xfff76326 nft_meta_get_reduce +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x0283c5a2 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x13b6dbee nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x88a6449a nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x0b5dde90 nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x35eff5e0 nf_osf_fingers +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x7aeb90f8 nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x46111f12 nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x51d3793f nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x843a8724 nft_fib_reduce +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x89cd3bdd nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x9175e6dd nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x6081751d nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x689d44bb nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x769457ea nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xaab1cc57 nft_reject_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xe2c84666 nft_reject_icmp_code +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x04e27719 xt_compat_flush_offsets +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x0b0beb75 xt_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1a8463e9 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x309c0530 xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x33b89c87 xt_unregister_template +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3e63e947 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x43a8dd97 xt_register_template +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4ed3a6a3 xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x563426d4 xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x60347b55 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6f113672 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7316eeef xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7abfec5e xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7bce4603 xt_data_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x823edea5 xt_compat_add_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x83f32491 xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x869676b1 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x92f91e47 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9c995c69 xt_percpu_counter_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa7c94f1d xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb7f77fbb xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbb524ee6 xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfacb837 xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc7fae024 xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd1e246a2 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd3fcc511 xt_tee_enabled +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd9bb821b xt_copy_counters +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddf68fc6 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe0eef87d xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe4927ba6 xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe687dd83 xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe7722ea7 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf52d02d6 xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfbc8039f xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x07cb1d36 xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xee0ee576 xt_rateest_put +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x3a88a32a nci_spi_read +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x813083b8 nci_spi_send +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0xdd0c42ac nci_spi_allocate_spi +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x60479e54 nci_uart_set_config +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xd8608774 nci_uart_unregister +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xfcbe9be6 nci_uart_register +EXPORT_SYMBOL_GPL net/nsh/nsh 0xa860e531 nsh_pop +EXPORT_SYMBOL_GPL net/nsh/nsh 0xc17ec7ae nsh_push +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x0d700296 ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x216e2628 __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x339d8414 ovs_vport_free +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x3b4f802a ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x5259ecb5 ovs_netdev_link +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xaef8b6d3 ovs_vport_alloc +EXPORT_SYMBOL_GPL net/psample/psample 0x0b4010eb psample_sample_packet +EXPORT_SYMBOL_GPL net/psample/psample 0x291f0fbd psample_group_put +EXPORT_SYMBOL_GPL net/psample/psample 0x805ecd20 psample_group_get +EXPORT_SYMBOL_GPL net/psample/psample 0x82b73d61 psample_group_take +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x34cf9a46 qrtr_endpoint_unregister +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x5baefea5 qrtr_endpoint_post +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x8d25501f qrtr_ns_remove +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xa47e91ba qrtr_ns_init +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xc1465429 qrtr_endpoint_register +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x09ddbdd1 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x12b89716 rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x2b0d543c rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x34918da5 rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x3585443b rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x35d8163d rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x36087aa4 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x3c5d622a rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x45a4781e rds_addr_cmp +EXPORT_SYMBOL_GPL net/rds/rds 0x4f2bc624 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x582fe5cf rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x585f567b rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x5d543c2b rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x5ea1c42a rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x5edbdd4e rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x60726ade rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0x75953090 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0x77df6b46 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x78578a33 rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0x7b399e66 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x7fa23988 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x85e4e520 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x88eb2ae5 rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x9f22fee3 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0xb3297f1f rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xb3c2ba80 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xb4690869 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xb4e36458 rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xb9fd4d9b rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xbe695c93 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xc7880f50 rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0xd0ee9941 rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0xddbd45d8 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0xe21e871a rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xf74be84b rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0xfd22dd56 rds_cong_map_updated +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x45399b98 pie_process_dequeue +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xbe0f592f pie_drop_early +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0x5fc3c6ed taprio_offload_free +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0xa7f08102 taprio_offload_get +EXPORT_SYMBOL_GPL net/sctp/sctp 0x3450d2fb sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/sctp/sctp 0x5140255c sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/sctp/sctp 0x9c753a27 sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0x9f00499c sctp_transport_traverse_process +EXPORT_SYMBOL_GPL net/smc/smc 0x27793cd3 smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0x2a5bf924 smc_hash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x437cf1f7 smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0x8de69b03 smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xa76f6eb6 smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0xa92d4da5 smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xaad9bd47 smcd_register_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xb7e8e906 smc_unhash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0xc23b05a0 smcd_alloc_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xd66e61dc smc_proto6 +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x38d3dce5 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x482ac5a4 g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x64086ed5 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x85948c8b svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8cb49d4d svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd70445f6 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd7673035 g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x000b396e xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0072ac8e svc_xprt_destroy_all +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0223c7d9 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x04176592 rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x04795fba rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0490b1bf rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05b91439 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x078309ff rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0931cb0c rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x099edc6c rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0b215a38 svc_rqst_replace_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0c680f30 cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0cc9bfdf write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0fd21d81 rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x119d3ce1 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11b58e03 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11dd995f put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1249c91b rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1382684f svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x13bdffe9 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x13e8b3ff sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14a4b507 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x153feb1d svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x168ef413 __xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1733c2b5 rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x17ac23a1 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1b0de807 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1ce617bb xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1d7c539c svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e0bf52a xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e119a79 rpcauth_get_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e202725 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f2a9970 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f649d0d rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1fa93704 xprt_lock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x212dbd89 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x23367c20 svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x244fcb2b svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26fd12aa svc_xprt_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x278c3d92 rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a497455 rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a7961c3 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c6f9f7f rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d472774 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e45031e rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x307b897a svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31de166a sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x335cc3a1 cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3407a31d rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34d184de rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x364f2e9f rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x374924a3 rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a8c7d39 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3bb0f122 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3beb14e4 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d188818 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d5fa797 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3df42db1 bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e0e4c94 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x40f20579 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x41a855ba svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4296a0f8 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x429c476d rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42c8337c xdr_buf_trim +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x431f52f0 xdr_expand_hole +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45311e54 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45a9793d svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45edd20b rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48c6223e rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4985f888 rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a1134c6 rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ab61441 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b0f98c6 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c76fffb svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c9f0458 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4cbe937c xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4cd04699 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d219a1c __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dac77f0 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e8f6ca7 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e997432 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ea47f3a rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x51d8339d xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x529b07ea rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5594f871 xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x55c1cc99 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x587a319d svc_encode_result_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58e38bf6 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a51634b rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a73f673 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b2205c3 rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d1d44c0 rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d1e9314 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f6fe751 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f8c1c04 rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x60d40505 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6183a229 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x62b221b7 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6352f0b1 rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x63a6f93f rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x63f5c4f2 svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x656fd6db rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6667ad88 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66e4f628 xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66ed2439 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x681f9823 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6847ab91 xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c9e25d0 xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6d5016f4 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e08db15 xdr_reserve_space_vec +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e63c45b rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6faa6803 xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70181303 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70fac5be rpc_sleep_on_priority_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7188c3c7 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71bc40e3 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7297b59c rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x746365e0 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74a49fbc svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74b4affe sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x753075a8 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x755c0910 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x75845f31 gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x75d3abf9 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x76ed6504 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x771c57bf rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x791312d7 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79a487f5 rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79fa2e51 xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a70ed19 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7afe4d21 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b0706fd svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b3b1af1 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f84a713 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fdc3e5f rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8098dde8 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80b9045a rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81d02ef9 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8398f39d rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x888851a1 sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89831f8e rpc_switch_client_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a82770b xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c1bb813 svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d7e4fea xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ed69a8f svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8f230222 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90206b76 svc_xprt_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x924b8374 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93d1d5cb xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x940d3931 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95144036 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95d48ce3 rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9670b5a1 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99aee353 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d4971c7 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ddb3b3c svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f07c0bc rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9fb9fdee unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9fe8c0d0 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa032f51f rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa153a751 rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa3ebe649 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa457cea7 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa710388f svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa889c1f5 xdr_stream_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa92d2b3a xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xae9c3813 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb0838017 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb20c49b0 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2dcce5b xdr_page_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3653d80 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb42d2cd0 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51a3724 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb5c79f97 xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb600c1a9 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb718132e xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb8f8eb7a xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb95fb258 rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb808aa4 svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbee790b8 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf83206a rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf8c17e2 svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc0908dd0 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1dfb485 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3e2b449 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3e90a8f read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc45ed2fd rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc51596d7 rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc59a5d4f xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5cbc482 rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc61a3c9a rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc74c24f8 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc98aadd9 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc9b6705f svc_xprt_deferred_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca6f5b7e svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc3afdc9 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc7e5708 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd468eae auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce678a59 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce729a1b cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd0e86e36 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd0eb2c3f xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd10d1d5b rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd1cd3871 rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd20d1389 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd45a5c5b rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd55795e8 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd741f1bb xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7a88c7e xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9c8f5aa xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xda3fdeb3 sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xda93f426 xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xda9b69ab xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb881de5 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdba5d7ed rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc149556 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd691402 xprt_find_transport_ident +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdf840ba1 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1978b28 rpc_prepare_reply_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1e48519 xdr_align_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe280f931 xprt_add_backlog +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe68d8c87 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe9ce0f29 xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea674a84 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeade8de5 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xebc40c9d xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec3d53e5 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec6f5366 rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec729664 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeed5cd5c svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeefdffbb rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0b7775d rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2d11236 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf3508dc6 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf3de0f0e xprt_wake_up_backlog +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf40b886d xprt_unlock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf5014a05 rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf5d7bd4f xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6fb1c8e rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf95fdd89 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfad6f10c xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc241eaf xdr_encode_array2 +EXPORT_SYMBOL_GPL net/tls/tls 0x0b22b9bf tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/tls/tls 0x2209bf30 tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/tls/tls 0x27a02081 tls_validate_xmit_skb +EXPORT_SYMBOL_GPL net/tls/tls 0x33536918 tls_encrypt_skb +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x03a81e69 virtio_transport_stream_allow +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x08f0cbbd virtio_transport_notify_poll_out +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0fdb89fc virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x12e464b3 virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1308ef4a virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x230c9dda virtio_transport_connect +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2bc3c452 virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x318640d7 virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x359e3bb4 virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x37bd2617 virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x3d4e5558 virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4575e86a virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4598557e virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x46257a41 virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x47c016e9 virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5abc455a virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x689d4d0e virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7cbcf12b virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7cc916b3 virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7f7acb3d virtio_transport_seqpacket_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x83311ec6 virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8d689ebb virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x996fda11 virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa250ba38 virtio_transport_seqpacket_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa4baf46d virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xaa9d0810 virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xad1f9740 virtio_transport_do_socket_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xafdcb506 virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xaffc6b4f virtio_transport_stream_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xbabd30f5 virtio_transport_dgram_allow +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xbd3cafec virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xc72f139f virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe42f0a53 virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf95d7903 virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xfb1eb757 virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xfb55ecda virtio_transport_seqpacket_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x01d68219 vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x04b7328c vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0e9bc9b6 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x24a460e6 vsock_add_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2c0b353e vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x352d6163 vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x36a5d4d1 vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3b66a3af vsock_remove_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3d4b0fca vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4b99648c vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x53f3f9cf vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x5c0db82b vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x6445c870 vsock_core_unregister +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x6eda05d5 vsock_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x6f1a49fa vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x77c14317 vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x8fc3f429 vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x90aa8549 vsock_find_cid +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9bb6fd09 vsock_connected_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xaf2674b5 vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xbcb3c72a vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc851df8a vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc8c8e6ff vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc92f7f50 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd683b3e1 vsock_remove_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xe608afe0 vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xec96eadf vsock_addr_validate +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xf2c0f568 vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xf623204c vsock_assign_transport +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x013ae979 cfg80211_vendor_cmd_reply +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1183e57d cfg80211_pmsr_complete +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1267b774 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x22642892 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2eba20f2 cfg80211_vendor_cmd_get_sender +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x32f29c9e cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4760973f cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x606dec95 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x69b46ba3 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x6ca36963 cfg80211_shutdown_all_interfaces +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x970e398d cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xae16f9d9 cfg80211_pmsr_report +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb1b9104d cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb647e730 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xba3d082d cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xd4ff5f1e cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0049ca83 xfrm_aead_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00c80741 xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0a575945 xfrm_count_pfkey_auth_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x37a02412 xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x5c699441 xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x72395dc1 xfrm_calg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x7a8ca627 xfrm_count_pfkey_enc_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xaab23340 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xb73be794 xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xc6b1fdbe xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xd6f50cf7 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x1c3d4975 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x4286d86f ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xa1e94b7b ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xc7efb245 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0x4a0c7516 xfrm_msg_min +EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0xe2521b1c xfrma_policy +EXPORT_SYMBOL_GPL sound/ac97_bus 0x994a9d35 snd_ac97_reset +EXPORT_SYMBOL_GPL sound/core/seq/snd-seq 0xadb51cff snd_seq_client_ioctl_unlock +EXPORT_SYMBOL_GPL sound/core/seq/snd-seq 0xe50413d7 snd_seq_client_ioctl_lock +EXPORT_SYMBOL_GPL sound/core/snd 0x00a2b2a4 snd_card_add_dev_attr +EXPORT_SYMBOL_GPL sound/core/snd 0x36101277 snd_ctl_register_layer +EXPORT_SYMBOL_GPL sound/core/snd 0x37b1829e snd_card_ref +EXPORT_SYMBOL_GPL sound/core/snd 0x428a3a7d snd_device_disconnect +EXPORT_SYMBOL_GPL sound/core/snd 0x52c31354 snd_ctl_apply_vmaster_followers +EXPORT_SYMBOL_GPL sound/core/snd 0x5af762f1 snd_fasync_free +EXPORT_SYMBOL_GPL sound/core/snd 0x6f400ea7 snd_device_initialize +EXPORT_SYMBOL_GPL sound/core/snd 0x792f63c5 snd_fasync_helper +EXPORT_SYMBOL_GPL sound/core/snd 0x8694224a snd_ctl_get_preferred_subdevice +EXPORT_SYMBOL_GPL sound/core/snd 0x8c394d83 snd_ctl_disconnect_layer +EXPORT_SYMBOL_GPL sound/core/snd 0x92cc89c3 snd_power_ref_and_wait +EXPORT_SYMBOL_GPL sound/core/snd 0x94b87226 snd_card_free_on_error +EXPORT_SYMBOL_GPL sound/core/snd 0x9b5c6c7c snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0xb8251092 snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0xc195827c snd_device_get_state +EXPORT_SYMBOL_GPL sound/core/snd 0xc1ce12d1 snd_card_rw_proc_new +EXPORT_SYMBOL_GPL sound/core/snd 0xd9a2fd1c snd_ctl_sync_vmaster +EXPORT_SYMBOL_GPL sound/core/snd 0xe5344aac snd_devm_card_new +EXPORT_SYMBOL_GPL sound/core/snd 0xe898b443 snd_card_disconnect_sync +EXPORT_SYMBOL_GPL sound/core/snd 0xf8f2a4eb snd_kill_fasync +EXPORT_SYMBOL_GPL sound/core/snd 0xfaf598c6 snd_ctl_request_layer +EXPORT_SYMBOL_GPL sound/core/snd-compress 0xac422447 snd_compr_stop_error +EXPORT_SYMBOL_GPL sound/core/snd-compress 0xf428a499 snd_compress_new +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x04e1b99f snd_pcm_std_chmaps +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x09e913c1 snd_pcm_alt_chmaps +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x11baa8dd snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x2cbfe499 _snd_pcm_stream_lock_irqsave +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x32dc3a7c _snd_pcm_stream_lock_irqsave_nested +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x38fff588 snd_pcm_stream_unlock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x3fca31c6 snd_pcm_stream_lock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x5117b3ca snd_pcm_stream_unlock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x5c407196 snd_pcm_fill_iec958_consumer_hw_params +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x649892e8 snd_pcm_create_iec958_consumer_default +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x8d864069 snd_pcm_rate_range_to_bits +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa359eb44 snd_pcm_stream_unlock_irqrestore +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa66fa839 snd_pcm_hw_constraint_eld +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xab8bc1a2 snd_pcm_rate_mask_intersect +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xb9812b4c snd_devm_alloc_dir_pages +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xcd6a2378 snd_pcm_fill_iec958_consumer +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xdca32497 snd_pcm_stop_xrun +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xe918f68a snd_pcm_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xf9891cce snd_dma_buffer_sync +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xfb0bd3f0 snd_pcm_stream_lock +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x2cd19e74 snd_dmaengine_pcm_open_request_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x2f846499 snd_dmaengine_pcm_request_channel +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x349416c0 snd_dmaengine_pcm_close_release_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x7b7ca2c8 snd_dmaengine_pcm_pointer_no_residue +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x872029dc snd_dmaengine_pcm_close +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x8adab979 snd_dmaengine_pcm_open +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x8d337e74 snd_dmaengine_pcm_get_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x95213ad4 snd_dmaengine_pcm_trigger +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x97ba2507 snd_dmaengine_pcm_set_config_from_dai_data +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xcc37955d snd_hwparams_to_dma_slave_config +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xda57daea snd_dmaengine_pcm_refine_runtime_hwparams +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xe512a4ca snd_dmaengine_pcm_pointer +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x37f73b88 __snd_seq_driver_register +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0xdb6dce0f snd_seq_driver_unregister +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x0fffa52d amdtp_domain_destroy +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x10a43600 amdtp_domain_stream_pcm_pointer +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x1df319ec amdtp_am824_set_parameters +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x407778d4 amdtp_am824_add_pcm_hw_constraints +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x4e8dc932 amdtp_am824_set_pcm_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x57d7d780 amdtp_am824_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x70e0b1d8 amdtp_domain_add_stream +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x75bfc609 amdtp_domain_start +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x8b5323c8 amdtp_am824_midi_trigger +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xa4e5d7d3 amdtp_domain_stop +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xb51397eb amdtp_domain_stream_pcm_ack +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xb65bbdd9 amdtp_domain_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xe0b201b8 amdtp_am824_set_midi_position +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x02992c2a snd_hdac_regmap_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x037296ce snd_hdac_query_supported_pcm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x03bc64b1 snd_hdac_stream_set_params +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x03c3618a snd_hdac_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x05636f93 snd_hdac_aligned_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x071a2b58 snd_hdac_read_parm_uncached +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x07a7d34c snd_hdac_bus_exec_verb_unlocked +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x07cfa86c snd_hdac_setup_channel_mapping +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x08bcf7dd snd_hdac_override_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0c54f2a8 hdac_get_device_id +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0dfb1b52 snd_hdac_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0e9d9f76 snd_hdac_sync_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x10824bd8 snd_hdac_stream_release +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1488641f snd_hdac_aligned_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1680a5e6 snd_hdac_stream_stop +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x19e1651b snd_hdac_bus_link_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1ff3f096 snd_hdac_bus_handle_stream_irq +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2355fb10 snd_hdac_stop_streams +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x242240e2 snd_hdac_acomp_register_notifier +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x25937aa8 snd_hdac_stop_streams_and_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x31f81fdf snd_hdac_bus_alloc_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x35d7a291 snd_hdac_stream_start +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3737847d snd_hdac_codec_modalias +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3bd544c2 snd_hdac_get_active_channels +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3bf0f945 snd_hdac_regmap_update_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3c827779 snd_hdac_acomp_get_eld +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3f582f8c snd_hdac_codec_link_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x40313018 snd_hdac_display_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4057654a snd_hdac_regmap_add_vendor_verb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4146dd20 snd_hdac_device_set_chip_name +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x41b4c9d2 snd_hdac_bus_reset_link +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x43a82dc2 snd_hdac_check_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4739c0f0 snd_hdac_power_up_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4bb5bea2 snd_hdac_bus_init_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4c7ec4b6 snd_hdac_get_ch_alloc_from_ca +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5381c119 snd_hdac_set_codec_wakeup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x546994da snd_hdac_stream_sync_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x55ded9b1 snd_hdac_codec_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x596d028a snd_hdac_bus_send_cmd +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5b1b5f3b snd_hdac_register_chmap_ops +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c07cb49 snd_hdac_calc_stream_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67b5f29d snd_hdac_dsp_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67bfe791 snd_hdac_spk_to_chmap +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6831c962 snd_hdac_acomp_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x68571998 snd_hdac_stream_clear +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6abad7e0 snd_hdac_power_down_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6b6bcabb snd_hdac_device_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6ea7a26c snd_hdac_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7304e3b8 snd_hdac_power_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7749acab _snd_hdac_read_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77723071 snd_hdac_dsp_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77c754a8 snd_hdac_chmap_to_spk_mask +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x79336bd8 snd_hdac_get_sub_nodes +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7b7a8d98 snd_hdac_bus_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7c9b7d2b snd_hdac_get_stream +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7da9e77f snd_hdac_refresh_widgets +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7f50fd8b snd_hdac_device_register +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x82aba455 snd_hdac_bus_update_rirb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x83dc1dbf snd_hdac_stream_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x86d0bad1 snd_hdac_regmap_read_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x88626f3d snd_hdac_stream_timecounter_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8a464c5d snd_hdac_acomp_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8a482700 snd_hdac_stream_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8c787156 snd_hda_bus_type +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8e3ab4f6 snd_hdac_stream_assign +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x91884e17 snd_hdac_power_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x95cae9fa snd_hdac_codec_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9cd8541d snd_hdac_codec_link_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9ed18849 snd_hdac_regmap_update_raw_once +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa2ce44ec snd_hdac_is_supported_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa6ccf245 snd_hdac_regmap_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xab00deda snd_hdac_bus_init_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb2a998bc snd_hdac_bus_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb301fd48 snd_hdac_stream_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb31aacf2 snd_hdac_bus_free_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb9d736b8 snd_hdac_bus_get_response +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb9fe29eb snd_hdac_stream_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc64e5561 snd_hdac_regmap_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc6c88b53 snd_hdac_get_stream_stripe_ctl +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc7ff1cf9 snd_hdac_regmap_write_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xcad2fa10 snd_hdac_sync_audio_rate +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xcd06c89d snd_hdac_stream_setup_periods +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xcd3f216e snd_hdac_bus_stop_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd0ed2057 snd_hdac_device_unregister +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd7279c5c snd_hdac_get_connections +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xdc9300d4 snd_hdac_bus_parse_capabilities +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe4e07754 snd_hdac_print_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe9d467f9 snd_hdac_device_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xed846812 snd_hdac_bus_exit_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf9a1e891 snd_hdac_bus_enter_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfb2c20a5 snd_hdac_dsp_prepare +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfbb3e9f1 snd_hdac_bus_stop_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfc39c03f snd_hdac_stream_setup +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x4e859456 intel_nhlt_free +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x795a643d intel_nhlt_get_dmic_geo +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x9a582936 snd_intel_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0xba0a3b03 intel_nhlt_init +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0xe7db4fdf snd_intel_acpi_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x04705e8e snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x1dd5139f snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x8e879a4c snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xb3a2016e snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xc26a4bd4 snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xcdfd65e7 snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x01d72533 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x039a763c azx_init_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x060de7a2 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0676f5ac snd_hda_get_input_pin_attr +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0876d665 azx_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x08b062fd is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0ac8bbb5 snd_hda_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0c4fb733 snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0d5420f3 snd_hda_codec_load_dsp_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0ff1163a snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x11525cf7 snd_hda_set_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x120eda18 snd_hda_mixer_amp_switch_get_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x12c38566 snd_hda_get_num_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1347c2d1 snd_hda_jack_bind_keymap +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x14c05703 azx_get_pos_posbuf +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x16b78ad2 snd_hda_codec_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1be50a30 azx_probe_codecs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1dd0db91 snd_hda_get_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1fb70a5b azx_free_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x234175df snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2746f0d3 snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x28a458c3 snd_hda_codec_device_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2e9e250d snd_hda_jack_set_gating_jack +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2ec592b1 __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2fa1813b snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x30ca8b39 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3215f158 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x34dfdb52 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x35cfb716 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38ce402b azx_interrupt +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3a78d7d1 snd_hda_get_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3cd25499 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3fedeb39 snd_hda_create_dig_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x42f07459 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x46ce690f snd_hda_jack_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x483c2bf5 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4842ff63 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x48deb0b3 snd_hda_pick_pin_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x49e0c578 snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4ac490df snd_hda_codec_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4c64fa78 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4d119543 snd_hda_get_int_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4d153d6c snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4d176d49 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4d951032 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5252e210 snd_hda_codec_device_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x533a5206 snd_hda_codec_pcm_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x54fb76fc snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5719c271 snd_hda_jack_tbl_get_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x590d0fcb snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5918862f azx_bus_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5b6b1bc7 snd_hda_codec_eapd_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ba55878 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5d706c46 snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ed02aef query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x651eb3ef snd_hda_codec_pcm_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x668f4c7e snd_hda_jack_poll_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6b443483 hda_codec_driver_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6b926d3b snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6daa82c2 snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6eaf8775 snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x713224ed snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x724330c4 snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x74eb9c09 snd_hda_codec_set_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x770e09c6 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x78328456 azx_stop_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7b0cd5ee snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f2568ba snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f2714e7 snd_hda_jack_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x81a9c8a3 snd_hda_jack_add_kctl_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x82483cb9 azx_stop_all_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x863eb50a snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x86d32512 snd_hda_codec_cleanup_for_unbind +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x86e89179 snd_hda_codec_load_dsp_trigger +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x871bd74b snd_hda_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8721d833 snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8eda4fa2 snd_hda_check_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x90aab56b snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x93d06bbd snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9556651c snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x957f4f82 snd_hda_codec_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x992a01e3 snd_hda_codec_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a7465eb __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9accbb79 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9b3f378b snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9b6b3fbb snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9ba38878 snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9c74f7c0 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9c88e51c snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9dabae46 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9e3d3c23 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa03f43aa snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa161163a azx_get_pos_lpib +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa36b40bd snd_hda_codec_amp_init_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa37e1190 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa78a9af2 snd_hda_codec_amp_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad9bc8ec snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xae475d7e snd_hda_jack_detect_state_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb21d7dbf snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb319096a snd_hda_jack_set_button_state +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb4d0311a snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb6cbcc3e snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb7a6070a azx_get_position +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb7ba3650 snd_hda_jack_detect_enable_callback_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb81de821 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbc60ed20 snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe36aeef snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbea70ef1 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc171e295 snd_hda_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc39ec8df snd_hda_codec_set_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc474d521 snd_hda_codec_get_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc55656a3 snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc998cdbe snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcbcd1734 __hda_codec_driver_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcf81a543 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd82ed264 snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd8f7c8a5 snd_hda_enum_helper_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdf0e32da _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdfef4905 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe095f82c snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe118de5d snd_pcm_2_1_chmaps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe46b31d8 snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe49c8590 snd_hda_codec_load_dsp_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe580af80 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe891bd8c snd_hda_correct_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeee308b0 __snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf2571e01 snd_hda_codec_parse_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf2acf774 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf6c2fdfc azx_init_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf723c654 snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf8dc35ac snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfcf319fc snd_hda_codec_update_widgets +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfe878c8e snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x03a1c48f snd_hda_gen_mic_autoswitch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x083a6b22 snd_hda_add_new_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x121aeba4 snd_hda_gen_path_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x1915facb snd_hda_get_path_from_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x2f233402 snd_hda_gen_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x3aeab336 snd_hda_gen_update_outputs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x3eaf5a41 snd_hda_gen_hp_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x42272045 snd_hda_gen_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x66265640 snd_hda_gen_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x6959e72d snd_hda_get_path_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x76dc6871 hda_main_out_badness +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x79a19831 snd_hda_gen_spec_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x871a6e44 hda_extra_out_badness +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x8f48d9df snd_hda_gen_check_power_status +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x93ce9d57 snd_hda_gen_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x99ad824b snd_hda_gen_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xa5e3f123 snd_hda_gen_fix_pin_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb4c2ad19 snd_hda_gen_parse_auto_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xc7d5db0c snd_hda_gen_add_micmute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xcb853eff snd_hda_activate_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xcce23868 snd_hda_gen_line_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xd86b6835 snd_hda_gen_stream_pm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xeb2b6255 snd_hda_gen_add_mute_led_cdev +EXPORT_SYMBOL_GPL sound/soc/codecs/mt6359-accdet 0x74e9fe86 mt6359_accdet_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau-utils 0xae620be9 adau_calc_pll_cfg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1372 0xf8b59739 adau1372_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x086e0e0f adau1761_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x50c86997 adau1761_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x088f2dd4 adau17x1_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x162c6460 adau17x1_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x1d2cf3d7 adau17x1_add_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x47b8e5a9 adau17x1_precious_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x649d8f6b adau17x1_add_widgets +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x9fc6e4e0 adau17x1_set_micbias_voltage +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xab42e368 adau17x1_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xad6fc67b adau17x1_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xb2d60bf2 adau17x1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xf07432d1 adau17x1_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau7118 0xd83016d3 adau7118_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0x209b568f cs35l41_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0xe6091177 cs35l41_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0xe71970bf cs35l41_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x024057d2 cs35l41_global_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x0e896ed6 cs35l41_configure_cs_dsp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x37603581 cs35l41_test_key_lock +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x43741be9 cs35l41_safe_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x6698a168 cs35l41_set_cspl_mbox_cmd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x67eb05fd cs35l41_exit_hibernate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x69042cdb cs35l41_enter_hibernate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x6ddf32a1 cs35l41_set_channels +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x6f51327a cs35l41_register_errata_patch +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x73005e0d cs35l41_regmap_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7d6249bf cs35l41_test_key_unlock +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x94d156b8 cs35l41_otp_unpack +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x962b7fae cs35l41_gpio_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xc55558d2 cs35l41_regmap_spi +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xe1a15421 cs35l41_init_boost +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xf3b83aae cs35l41_write_fs_errata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x0791b0bb cs4271_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x7d05786f cs4271_dt_ids +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0xb165f494 cs4271_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x375ad98c cs42l51_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x734d157a cs42l51_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xcfa5f32c cs42l51_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xd20e3a64 cs42l51_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xe182f885 cs42l51_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xeb401c8a cs42l51_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x0245c4f2 cs42xx8_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x18acfafa cs42xx8_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x6b5355e9 cs42xx8_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7cac7292 cs42888_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x9b863b29 cs42xx8_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcd3794c9 cs42448_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x6c193c1c da7219_aad_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0xf35ac12b da7219_aad_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0xf87bdf2d da7219_aad_jack_det +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0xfae85e9a da7219_aad_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x2d0354f6 es8328_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0xd8098375 es8328_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-lpass-macro-common 0xe2baf9f1 lpass_macro_pds_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-lpass-macro-common 0xe71de4e0 lpass_macro_pds_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98090 0x5df27c79 max98090_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x06bc78e6 soc_codec_dev_max98373_sdw +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x7aa406ae max98373_slot_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x8c6e3cd6 soc_codec_dev_max98373 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0xccab381e max98373_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x4297ceda mt6358_mtkaif_calibration_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0xc29934bf mt6358_set_mtkaif_protocol +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0xd9e62f85 mt6358_set_mtkaif_calibration_phase +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0xfbaba209 mt6358_mtkaif_calibration_disable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0x3042c506 mt6359_set_mtkaif_protocol +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0x49e472d0 mt6359_mtkaif_calibration_disable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0xb04c3f63 mt6359_mtkaif_calibration_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0xb6db56ad mt6359_set_mtkaif_calibration_phase +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8821 0x7530551b nau8821_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0xbf55f96a nau8824_components +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0xd75dfb79 nau8824_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x55692349 pcm1789_common_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x91993d9b pcm1789_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xfc642526 pcm1789_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0xcfab6fed pcm179x_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0xfbd4890e pcm179x_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x4943bcae pcm186x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0xa4c47486 pcm186x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x6471057a pcm3168a_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xa8425386 pcm3168a_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xbd9de7bd pcm3168a_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xe1aed29e pcm3168a_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x38e3192e pcm512x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x46504d99 pcm512x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0xd081d5fb pcm512x_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0xebddd71c pcm512x_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x5dc92cdf rl6231_pll_calc +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x70617a04 rl6231_get_clk_info +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x8d7fa148 rl6231_get_pre_div +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0xdba4502f rl6231_calc_dmic_clk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5514-spi 0x61ff58e3 rt5514_spi_burst_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5514-spi 0xff87892f rt5514_spi_burst_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x016317bf rt5640_detect_headset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x45a0cf69 rt5640_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x83883c69 rt5640_enable_micbias1_for_ovcd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xad049093 rt5640_disable_micbias1_for_ovcd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xb4b0f634 rt5640_set_ovcd_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xe1361d69 rt5640_dmic_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0x03c11b7e rt5645_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0x8b0e3000 rt5645_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5659 0x72c41461 rt5659_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5663 0xccf82aa7 rt5663_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677 0x631de21b rt5677_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x5fc320ad rt5677_spi_write_firmware +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x67956035 rt5677_spi_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0xc6695825 rt5677_spi_hotword_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0xe8ece129 rt5677_spi_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x02ff343c rt5682_register_dai_clks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x26232a66 rt5682_parse_dt +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x28730696 rt5682_supply_names +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x4cafdb0d rt5682_soc_component_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x4d89311a rt5682_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x59d3d967 rt5682_jack_detect_handler +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x6245bc96 rt5682_apply_patch_list +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x76112002 rt5682_aif2_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x85f93788 rt5682_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x9766edf5 rt5682_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x9d269b01 rt5682_aif1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb897de56 rt5682_reg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xc68b791d rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xf77f8efd rt5682_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682s 0x1cfe8241 rt5682s_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x89ad49f5 sigmadsp_restrict_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x9d60ccc7 sigmadsp_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xa1a9a1cb sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xcac81783 devm_sigmadsp_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xf5c0646b sigmadsp_setup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-i2c 0x89dba72d devm_sigmadsp_init_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-regmap 0x9e38f96b devm_sigmadsp_init_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x4414fcf7 ssm2602_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x7e37cee1 ssm2602_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic32x4 0xdbae6ab9 aic32x4_register_clocks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xc64919f4 aic3x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0x51db26f7 ts3a227e_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd-mbhc 0x936c1623 wcd_mbhc_event_notify +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x1e11e6ab wcd938x_sdw_set_sdw_stream +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x4969c8ea wcd938x_sdw_device_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x58c4d954 wcd938x_sdw_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x5d466f7e wcd938x_swr_get_current_bank +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x5da595f2 wcd938x_sdw_hw_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x04a9ae98 wm_adsp_write_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x0baaebd2 wm_adsp2_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x24894b97 wm_adsp_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x2aad4c3b wm_adsp_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x3017975e wm_adsp_read_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x355d0b2a wm_adsp_fw_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x41425362 wm_adsp_compr_get_caps +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x4fbfe5cb wm_adsp1_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x52c16479 wm_halo_wdt_expire +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x5a09dd6c wm_adsp_early_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x5c9ea0e3 wm_adsp_compr_copy +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x87b82923 wm_adsp_fw_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x97a476d3 wm_adsp2_preloader_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x9857fda7 wm_adsp_compr_handle_irq +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xbd0aeff7 wm_adsp_compr_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xd18df616 wm_halo_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xd2ee8c3f wm_adsp2_component_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xd2f70025 wm_adsp2_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xd50fd423 wm_adsp_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xdd3c79ef wm_adsp2_bus_error +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xe3c8af4b wm_adsp1_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xe5e6420b wm_adsp_compr_open +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xea38ee07 wm_halo_bus_error +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xefe9bb53 wm_adsp2_preloader_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xf1b278ac wm_adsp2_set_dspclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xf536fd0c wm_adsp2_component_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xf952b5f4 wm_adsp_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xfff5e4a3 wm_adsp_fw_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x2d0f8701 wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x365cd379 wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x556ef099 wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x5cd7eb9b wm_hubs_dcs_done +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x6cb29372 wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x719a5356 wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x757206d5 wm_hubs_spkmix_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xa47f0332 wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xbf126ba5 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xd6fa63cb wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x0d897d45 wm8731_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0xee8a70fe wm8731_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x32b83c03 wm8804_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x56670ba5 wm8804_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x921f3d39 wm8804_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xf5d49744 wm8804_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x2f18ef57 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0xb473ae09 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0xa51b773b wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0xbbc02e9f wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/fsl/imx-pcm-dma 0x53b387f7 imx_pcm_dma_init +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0x930c3b2c fsl_asrc_component +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-imx-audmux 0x30693bb7 imx_audmux_v1_configure_port +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-imx-audmux 0x58631dab imx_audmux_v2_configure_port +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card 0xb963952c audio_graph_parse_of +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0xae56eb93 audio_graph2_link_dpcm +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0xe4aa3678 audio_graph2_link_c2c +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0xe57b84d1 audio_graph2_parse_of +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0xf5cf65ea audio_graph2_link_normal +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x000bac8c asoc_simple_clean_reference +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x0449ebb4 asoc_simple_startup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x061c5a4a asoc_simple_init_priv +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x0804370d asoc_simple_remove +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x0d1f2736 asoc_graph_is_ports0 +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x0fad1d50 asoc_simple_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x1773520d asoc_simple_canonicalize_cpu +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x1cf69b56 asoc_simple_shutdown +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x1effd820 asoc_simple_parse_tdm_width_map +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x2453b8b1 asoc_simple_parse_routing +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x25cc4ef1 asoc_simple_hw_params +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x43662497 asoc_graph_card_probe +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x679851b5 asoc_simple_parse_convert +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x6c58cf1d asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7d8fad10 asoc_simple_be_hw_params_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x8cff2b03 asoc_simple_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xb732c64d asoc_simple_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xc75e8d36 asoc_simple_canonicalize_platform +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xce0be4d8 asoc_simple_set_dailink_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xcee5a950 asoc_simple_init_jack +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xdd03990a asoc_simple_parse_widgets +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xeeb012f3 asoc_simple_parse_clk +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xf3bafb75 asoc_simple_convert_fixup +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x039fe64b mtk_afe_suspend +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x03fafbcb mtk_afe_fe_shutdown +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x095a4f6a mtk_afe_resume +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x0f771505 mtk_memif_set_format +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x11a75aee mtk_afe_add_sub_dai_control +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x31629a92 mtk_afe_fe_hw_free +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x3ecd634f mtk_memif_set_channel +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x4f9549b9 mtk_afe_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x5345895a mtk_memif_set_addr +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x5effe46e mtk_afe_fe_startup +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7b4a4bad mtk_memif_set_pbuf_size +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7b612150 mtk_dynamic_irq_acquire +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x877c2f1e mtk_afe_fe_ops +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x8c9ed20c mtk_memif_set_disable +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x9889deda mtk_dynamic_irq_release +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x990e0722 mtk_afe_pcm_platform +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xb5596de7 mtk_afe_pcm_new +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xcc83b917 mtk_memif_set_rate_substream +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xcebb6f2c mtk_memif_set_enable +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xcf914876 mtk_afe_fe_hw_params +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xd58304ab mtk_memif_set_rate +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xd94537ab mtk_afe_fe_trigger +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xe2491809 mtk_afe_fe_prepare +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xf4754066 mtk_afe_combine_sub_dai +EXPORT_SYMBOL_GPL sound/soc/mediatek/mt8195/snd-soc-mt8195-afe 0x93646a77 mt8195_afe_enable_clk +EXPORT_SYMBOL_GPL sound/soc/mediatek/mt8195/snd-soc-mt8195-afe 0xfa663557 mt8195_afe_disable_clk +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x19b75876 axg_fifo_pcm_trigger +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x24e5830f axg_fifo_pcm_new +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x2a41dfa8 axg_fifo_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x66d345fa axg_fifo_pcm_close +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x6aa02c47 axg_fifo_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x7f3302ae axg_fifo_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x86c27f86 g12a_fifo_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xbbd27c34 axg_fifo_pcm_hw_free +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xe0f3ad9e axg_fifo_pcm_open +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x352f0549 axg_tdm_formatter_event +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x4988d1f8 axg_tdm_stream_alloc +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x539c48cc axg_tdm_stream_start +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x55316323 axg_tdm_formatter_set_channel_masks +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x64e0ca85 axg_tdm_stream_free +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0xe3c1988c axg_tdm_formatter_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0xef4a0d56 axg_tdm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-interface 0x477c3e09 axg_tdm_set_tdm_slots +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x473fc9fc meson_card_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x7add5290 meson_card_set_fe_link +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x90e1d771 meson_card_set_be_link +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xbbb1c429 meson_card_parse_dai +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xbef25159 meson_card_reallocate_links +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xc0fa3ca0 meson_card_remove +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xcbf5a703 meson_card_i2s_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xf6eb48f8 meson_card_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x2a08d7e1 meson_codec_glue_input_dai_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x430c3771 meson_codec_glue_input_get_data +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x7afd5bb6 meson_codec_glue_output_startup +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x867eb953 meson_codec_glue_input_set_fmt +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x88929732 meson_codec_glue_input_dai_remove +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0xa54b8ed7 meson_codec_glue_input_hw_params +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x28421460 q6adm_get_copp_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x91aba346 q6adm_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x9c31a042 q6adm_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0xde9d28e6 q6adm_matrix_map +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x07a54780 q6afe_cdc_dma_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x21bec003 q6afe_port_get_from_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x369b6eeb q6afe_port_put +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x3b16d6e7 q6afe_port_stop +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x498d993b q6afe_get_port_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x5332304f q6afe_slim_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x7df60063 q6afe_port_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0xae809786 q6afe_hdmi_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0xb99436cf q6afe_set_lpass_clock +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0xd4523c59 q6afe_i2s_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0xe45246a8 q6afe_port_start +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0xfaf22370 q6afe_tdm_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x13b7efd9 q6asm_cmd +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x1b6c77fc q6asm_stream_media_format_block_alac +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x25bfa476 q6asm_open_write +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x2b693eed q6asm_stream_media_format_block_wma_v9 +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x4afe6f73 q6asm_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x4fba2f0c q6asm_run_nowait +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x68db31e2 q6asm_unmap_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x6cec4b17 q6asm_stream_remove_trailing_silence +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x71d418ea q6asm_audio_client_alloc +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x856b4fdb q6asm_stream_media_format_block_wma_v10 +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x9d0cf85f q6asm_stream_media_format_block_flac +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xa7d3a3a6 q6asm_media_format_block_multi_ch_pcm +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xb37ed108 q6asm_enc_cfg_blk_pcm_format_support +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xc0dd8d67 q6asm_open_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xc1347db0 q6asm_write_async +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xc5a116a4 q6asm_get_session_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xcbee5e42 q6asm_stream_remove_initial_silence +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xcc4952e4 q6asm_audio_client_free +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xd2cf1a0f q6asm_run +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xd38aa312 q6asm_cmd_nowait +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xea75a5dd q6asm_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xf47f4b35 q6asm_stream_media_format_block_ape +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6core 0x7e52e977 q6core_is_adsp_ready +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6core 0x9b02ea0d q6core_get_svc_api_info +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6prm 0x617c919d q6prm_unvote_lpass_core_hw +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6prm 0x8fddb69d q6prm_set_lpass_clock +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6prm 0xb6a820ba q6prm_vote_lpass_core_hw +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6routing 0x5b75f756 q6routing_stream_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6routing 0xa7a64259 q6routing_stream_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x08faed18 q6apm_graph_media_format_pcm +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x0910010b audioreach_get_container_next_module +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x0b7071ad audioreach_graph_free_buf +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x12053313 q6apm_graph_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x145cf8f6 audioreach_alloc_apm_cmd_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x1a561326 audioreach_set_media_format +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x22284ea6 q6apm_write_async +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x2475bce9 q6apm_graph_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x249d0383 q6apm_graph_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x293cf0c0 audioreach_get_container_last_module +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x3982a261 audioreach_get_container_first_module +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x4016a150 audioreach_send_cmd_sync +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x4b2a750c q6apm_graph_flush +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x530b2371 q6apm_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x5543dd66 audioreach_alloc_apm_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x5f0edd90 audioreach_graph_send_cmd_sync +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x64dc5171 audioreach_alloc_cmd_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x773fe380 q6apm_graph_get_rx_shmem_module_iid +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7f4d39c8 audioreach_alloc_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x83d6ac12 audioreach_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xa6016b6f q6apm_graph_start +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xb7e63495 audioreach_tplg_init +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xb9cf3f39 q6apm_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xd04e8a04 q6apm_graph_media_format_shmem +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xdb1fc149 audioreach_shared_memory_send_eos +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xe0178490 audioreach_gain_set_vol_ctrl +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xeb3b8c09 audioreach_alloc_graph_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xec27452e q6apm_unmap_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xf07cd4b5 q6apm_graph_stop +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0x09b4aab2 q6dsp_clock_dev_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0x17142e58 q6dsp_map_channels +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0xa07ef678 q6dsp_audio_ports_set_config +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0xc04a9aa1 q6dsp_audio_ports_of_xlate_dai_name +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cdc-dma 0xf24ce603 asoc_qcom_lpass_cdc_dma_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x074d9250 asoc_qcom_lpass_cpu_dai_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x1dd53649 asoc_qcom_lpass_cpu_platform_remove +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x1e12d386 lpass_cpu_pcm_new +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x4e6e93b1 asoc_qcom_lpass_cpu_platform_shutdown +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0xd49d6897 asoc_qcom_lpass_cpu_platform_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0xda472105 asoc_qcom_lpass_cpu_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-hdmi 0x3f107707 asoc_qcom_lpass_hdmi_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-platform 0x301ef505 asoc_qcom_lpass_platform_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x3dd9f961 snd_soc_acpi_find_machine +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x5c512782 snd_soc_acpi_find_package_from_hid +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x9b1aadfd snd_soc_acpi_codec_list +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0106629a snd_soc_component_compr_copy +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x012f4914 snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x016fbffe snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x01dc82f0 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x02f9a0ea snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0335b935 snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x04f21a8f snd_soc_bytes_info_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x09c5dba4 snd_soc_of_put_dai_link_cpus +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0a93f316 snd_soc_set_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0aaf5e9d snd_soc_dai_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ab783aa snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c714658 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0d508771 snd_soc_component_write_field +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ee8d93f dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0ef0f541 snd_soc_component_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x12c5ba10 snd_soc_component_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x12d4f22d snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x13083241 snd_soc_daifmt_parse_clock_provider_raw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x134532b0 snd_soc_dapm_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x17563dab snd_soc_component_update_bits_async +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x18471752 dapm_clock_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x18dec35b snd_soc_unregister_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1911ac50 snd_soc_component_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a2e10e1 snd_soc_put_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a559214 snd_soc_component_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1bcbc1db devm_snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1da3c7fe snd_soc_set_dmi_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1da805e6 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1db4e7a8 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1fcff884 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2240f97c null_dailink_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x229e2daf snd_soc_component_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2346d765 snd_soc_dai_set_bclk_ratio +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x24637f5a snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x255bc371 snd_soc_component_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x26aac51b snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x26ac919f snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x282ef57a snd_soc_of_parse_audio_simple_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2a43337c snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b054c2a snd_soc_dapm_new_dai_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b777b28 snd_soc_dai_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2d132739 snd_soc_of_put_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2d96a94d snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2df4d26b devm_snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x33080eab snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x33d48f07 snd_soc_component_set_jack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x35450771 dapm_kcontrol_get_value +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3687650a snd_soc_add_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3cf480da snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3d5b684f snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3f931485 dapm_pinctrl_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3fb583a9 snd_soc_component_initialize +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4088ecf4 snd_soc_rtdcom_lookup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4138da30 snd_soc_dai_link_set_capabilities +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x43f42cec snd_soc_of_get_slot_mask +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x443dbfa4 snd_soc_component_exit_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x44e786a3 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x45540a49 snd_soc_lookup_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x499f8913 snd_soc_component_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4cb4372c snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4cff5cb3 dapm_mark_endpoints_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4e1a0e17 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4e2586d9 snd_soc_add_component_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4fa1782d snd_soc_tdm_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x50594a87 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x507fe69d snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x508606a9 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x524580cd snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x549064bb snd_soc_component_compr_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x55113aa1 snd_soc_get_dai_id +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5516a69e snd_soc_link_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x566375a8 snd_soc_runtime_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x56ac3dae devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5772ee01 snd_soc_find_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x578acf71 snd_soc_component_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5863fa42 snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5aa937f2 snd_soc_dai_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5ba58bd0 snd_soc_dai_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5e041250 snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5ff94d9b snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x610d0535 snd_soc_component_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x630ec148 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x641a081f snd_soc_component_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x64e76efa devm_snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6570f765 snd_soc_unregister_component_by_driver +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66791701 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66f742db snd_soc_dapm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x698a1968 snd_soc_dai_active +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6a09f03e snd_soc_runtime_set_dai_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6a639d45 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6c3ed380 snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6d441df1 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6d7ee91c snd_soc_dapm_init +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6f2974e0 snd_soc_bytes_tlv_callback +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x70905ab1 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x752c5170 snd_soc_tplg_component_load +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x75630684 snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x757f5ad0 snd_soc_dapm_free_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7c33e530 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e8ffde1 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x81e37c40 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83fbbd97 snd_dmaengine_pcm_prepare_slave_config +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x845b3f4e dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x849d2399 snd_soc_component_compr_get_codec_caps +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x879e1a63 snd_soc_component_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8869acde snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x88c3352d snd_soc_dapm_sync_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x891db9d6 snd_soc_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8b66d867 snd_soc_of_parse_node_prefix +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8bcc7bfe snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8c4d9b90 snd_soc_dpcm_runtime_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e48ec54 snd_soc_of_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e8f464a snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ef06c28 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8f789e09 snd_soc_new_compress +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8f8080b6 snd_soc_info_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x90d82f26 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x910858e5 snd_soc_link_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x916422e9 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x93222160 snd_soc_component_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x93a918e9 snd_soc_card_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x948d88ea snd_soc_component_async_complete +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9545595e snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x95f927cf snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9679fe92 snd_dmaengine_pcm_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x96c1940a snd_soc_dai_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x99d5b473 snd_soc_component_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9a519d57 snd_soc_dai_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9fa9bb17 snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9fc91871 snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa1154fb9 snd_soc_dai_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa1822eb7 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa28e00a4 snd_soc_info_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa3e21026 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa69c9649 snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa6ad6db7 snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa7676aa7 snd_soc_close_delayed_work +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa7cce1f9 snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa950d844 snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaa0a52df snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xab36a8a9 snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xabad14b7 snd_soc_component_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaf942464 snd_soc_dai_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xafd969e5 snd_soc_component_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb53e57f1 snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb56118f8 snd_soc_dai_get_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb62b29bf snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbaa801e2 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbc28d030 snd_soc_component_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbc56b091 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbdc34c51 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbe1f5451 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbe4523e6 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbf204bba snd_soc_card_add_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc0572071 dpcm_end_walk_at_be +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc2403967 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc317a15e snd_soc_daifmt_clock_provider_flipped +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc3751f8e snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc5c34371 snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc7e37223 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc82334fb snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8aedc13 snd_soc_dapm_force_bias_level +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc9a9b012 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xce26d7a3 snd_soc_dapm_dai_get_connected_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcf0804bf snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd04a23aa snd_soc_card_get_kcontrol +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd0c151b5 snd_soc_of_parse_aux_devs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd1acf6be snd_soc_component_read_field +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd4c3f6fd snd_soc_dapm_kcontrol_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd51cc5a4 snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd79a4519 snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd99b7277 snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xda3a7cac snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xda98e3b1 soc_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdb03417f snd_soc_component_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdb5f050c snd_soc_new_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdb6c959f snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdc528000 snd_soc_dapm_dai_free_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe090cc9c snd_soc_component_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe0a40611 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe0f1c1e5 snd_soc_set_ac97_ops_of_reset +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe1792ab0 snd_soc_tplg_widget_bind_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe3ad6b0a snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe44877d5 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe567be97 snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe8943c3a snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe8c3c811 snd_soc_tplg_component_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xea4f1175 snd_soc_component_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeaed328f snd_soc_dai_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xee20f14d snd_soc_dapm_del_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf010924d snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf0ab4dc5 snd_soc_daifmt_parse_format +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf189c017 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf2803f9a snd_soc_component_compr_open +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf2aa0672 snd_soc_of_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf2fccd6e snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf52a1c6a snd_soc_component_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf55f584f snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf56228f4 snd_soc_component_compr_get_caps +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf5b01989 snd_soc_card_jack_new_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf623f6b5 snd_soc_component_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf71eca72 snd_soc_link_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf762486d snd_soc_remove_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf7a39927 snd_soc_card_remove_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf87cb220 snd_soc_get_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf8c2ebae snd_soc_free_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf91d42ca snd_soc_lookup_component_nolocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9622dd1 snd_soc_daifmt_clock_provider_from_bitmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfad336ad snd_soc_of_get_dai_link_cpus +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfb87dd94 snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfb94de14 snd_soc_dapm_update_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfc0046bf snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfc2c6f69 snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfc8f824f snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfca3ab99 snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfe7aff75 snd_soc_of_parse_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x10e34ce1 snd_sof_debugfs_add_region_item_iomem +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x5ff5afbb snd_sof_dbg_init +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x81e3ff61 snd_sof_dbg_memory_info_init +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xb925ccc6 snd_sof_debugfs_buf_item +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xf3cf1901 snd_sof_free_debug +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0x2c64d423 sprd_mcdt_request_chan +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0x5061832c sprd_mcdt_chan_int_disable +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0x609193c3 sprd_mcdt_chan_write +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0x68b4b311 sprd_mcdt_chan_dma_enable +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0x6c283cec sprd_mcdt_chan_int_enable +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0xa5fdddd3 sprd_mcdt_chan_read +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0xb67dbf49 sprd_mcdt_chan_dma_disable +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0xdf547b54 sprd_mcdt_free_chan +EXPORT_SYMBOL_GPL sound/soc/sunxi/sun8i-adda-pr-regmap 0x37a3a5c2 sun8i_adda_pr_regmap_init +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-machine 0x0c765ded tegra_asoc_machine_probe +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-machine 0xd91f84aa tegra_asoc_machine_init +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x02eca53f tegra_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x0610cfe5 devm_tegra_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x31718d57 tegra_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x5d0ee6ad tegra_pcm_construct +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x87fe78f3 tegra_pcm_open +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x9ef5890d tegra_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0xa5ff3f70 tegra_pcm_platform_register_with_chan_names +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0xaefd6b45 tegra_pcm_close +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0xd3c8147a tegra_pcm_platform_unregister +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra20-das 0x0d54c9b9 tegra20_das_connect_dap_to_dac +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra20-das 0xb52cfca4 tegra20_das_connect_dac_to_dap +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra20-das 0xbced7431 tegra20_das_connect_dap_to_dap +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x0427e3da tegra30_ahub_allocate_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x55a40206 tegra30_ahub_disable_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x5d7237ff tegra30_ahub_set_cif +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x6fe20143 tegra30_ahub_set_rx_cif_source +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xb419329b tegra30_ahub_disable_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xb4a9367d tegra30_ahub_enable_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xb81bca9d tegra30_ahub_free_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xc78c7125 tegra30_ahub_free_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xccb67e55 tegra124_ahub_set_cif +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xccc98372 tegra30_ahub_enable_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xd01de23b tegra30_ahub_allocate_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xe549513a tegra30_ahub_unset_rx_cif_source +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-edma 0x4af568c8 edma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-sdma 0xc03c3b35 sdma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-udma 0xcfd97900 udma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x02c57c67 line6_disconnect +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x0c73f7d2 line6_send_raw_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x1b2dc1a9 line6_init_midi +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x1d5a9ca7 line6_version_request_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x202a1b1b line6_midi_id +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x239d809a line6_pcm_acquire +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x539f4a48 line6_write_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x5c03511f line6_send_raw_message_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x638ef6ce line6_send_sysex_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x67eef9f3 line6_probe +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x76137f8f line6_resume +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xa60ac60b line6_read_serial_number +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xab226f65 line6_suspend +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xb01d2562 line6_read_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xcf44f1b7 line6_init_pcm +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xe413e909 line6_alloc_sysex_buffer +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xeafe0a6e line6_pcm_release +EXPORT_SYMBOL_GPL vmlinux 0x00064f1b efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x00123b33 fwnode_connection_find_matches +EXPORT_SYMBOL_GPL vmlinux 0x0012ca08 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x001d4ecf compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0x0020531d get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0x002155f2 pwm_set_chip_data +EXPORT_SYMBOL_GPL vmlinux 0x00268f2a ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0x0027fb98 gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0x00388f68 irq_gc_mask_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x0044bc69 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x0046d558 pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0x00497087 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x00565f18 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x005f18a6 add_wait_queue_priority +EXPORT_SYMBOL_GPL vmlinux 0x0064f8c1 __nf_ct_expect_find +EXPORT_SYMBOL_GPL vmlinux 0x0086382a cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x00872c16 blk_queue_zone_write_granularity +EXPORT_SYMBOL_GPL vmlinux 0x00a5e2f1 device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x00a9b5f3 switchdev_bridge_port_unoffload +EXPORT_SYMBOL_GPL vmlinux 0x00bd603f k3_udma_glue_rx_flow_init +EXPORT_SYMBOL_GPL vmlinux 0x00bf768d __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x00c3585d nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL vmlinux 0x00d15964 vp_legacy_probe +EXPORT_SYMBOL_GPL vmlinux 0x00d4c500 usb_decode_interval +EXPORT_SYMBOL_GPL vmlinux 0x00d9f0b5 edac_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0x00df9837 ioasid_register_allocator +EXPORT_SYMBOL_GPL vmlinux 0x00e19375 usb_of_get_device_node +EXPORT_SYMBOL_GPL vmlinux 0x00ecfa14 dma_request_chan_by_mask +EXPORT_SYMBOL_GPL vmlinux 0x00f02f8b genphy_c45_baset1_read_status +EXPORT_SYMBOL_GPL vmlinux 0x00ffe1bf reset_control_get_count +EXPORT_SYMBOL_GPL vmlinux 0x01299dd0 gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x012e730e apei_exec_noop +EXPORT_SYMBOL_GPL vmlinux 0x014ba78c register_btf_id_dtor_kfuncs +EXPORT_SYMBOL_GPL vmlinux 0x014e8186 cpu_scale +EXPORT_SYMBOL_GPL vmlinux 0x014ea863 pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0x015263ba dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0x01529888 pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x01536ee4 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x015fcb15 smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x0179ccba topology_update_thermal_pressure +EXPORT_SYMBOL_GPL vmlinux 0x017e32a6 bpf_trace_run1 +EXPORT_SYMBOL_GPL vmlinux 0x01866a57 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x018d3095 phy_pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x0190a6b5 governor_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x0191b90d tegra210_clk_emc_attach +EXPORT_SYMBOL_GPL vmlinux 0x01964ff8 devm_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x0196e376 __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x019939b5 devm_regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x019e9325 add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0x01a0cb78 property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0x01abd3d9 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x01b3fe57 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x01ba55ac scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x01c6cb0c cpu_cluster_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x01ce23c9 mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0x01cfce63 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x01db42b7 syscon_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x01dd57b1 acpi_subsys_prepare +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01eefe88 virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0x01fb9790 fsl_mc_object_allocate +EXPORT_SYMBOL_GPL vmlinux 0x01fd2d65 mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x0207a6c6 reset_control_bulk_acquire +EXPORT_SYMBOL_GPL vmlinux 0x0214d6a9 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x021b05cd pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x0225dfa3 of_pci_range_parser_one +EXPORT_SYMBOL_GPL vmlinux 0x022c6012 apple_rtkit_reinit +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x023ba997 evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x0246e015 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x02495b8f gnttab_alloc_grant_reference_seq +EXPORT_SYMBOL_GPL vmlinux 0x024a29c8 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x024d13dd request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0x0250ac47 device_property_present +EXPORT_SYMBOL_GPL vmlinux 0x02582340 genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL vmlinux 0x0278bfe3 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x028d1254 pm_clk_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0296057c dpcon_get_attributes +EXPORT_SYMBOL_GPL vmlinux 0x0299ddf9 perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0x02b20a94 mptcp_pm_get_add_addr_signal_max +EXPORT_SYMBOL_GPL vmlinux 0x02b24d51 nvdimm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x02b73287 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x02c5c501 power_supply_find_ocv2cap_table +EXPORT_SYMBOL_GPL vmlinux 0x02c92462 serial8250_do_get_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x02d3e6f9 nfs42_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0x02d8a721 ahci_print_info +EXPORT_SYMBOL_GPL vmlinux 0x02da3775 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x02da3e61 usb_enable_intel_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x02da6d61 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x02e92616 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x02f0e636 xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0x02fe56ad nvme_sync_queues +EXPORT_SYMBOL_GPL vmlinux 0x03004468 trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0x0312b3b0 reset_controller_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x031d8dd2 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x0321cdbf of_alias_get_highest_id +EXPORT_SYMBOL_GPL vmlinux 0x0334fc61 bpf_trace_run4 +EXPORT_SYMBOL_GPL vmlinux 0x033832c7 usb_amd_hang_symptom_quirk +EXPORT_SYMBOL_GPL vmlinux 0x033b14ac serial8250_rpm_put_tx +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x0354dc6c ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x036de383 perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x03701a42 zynqmp_pm_pinctrl_set_function +EXPORT_SYMBOL_GPL vmlinux 0x0370eeef regulator_set_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x03c12dfe cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x03c5a4a6 ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x03cbf1c9 meson_clk_mpll_ops +EXPORT_SYMBOL_GPL vmlinux 0x03ce7234 sched_smt_present +EXPORT_SYMBOL_GPL vmlinux 0x03d3a173 kvm_destroy_vcpus +EXPORT_SYMBOL_GPL vmlinux 0x03d6597f powercap_register_zone +EXPORT_SYMBOL_GPL vmlinux 0x03dcdb6d icc_std_aggregate +EXPORT_SYMBOL_GPL vmlinux 0x03e89668 efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0x03e96e06 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x03f87116 dma_async_device_channel_unregister +EXPORT_SYMBOL_GPL vmlinux 0x03f98d0f extcon_sync +EXPORT_SYMBOL_GPL vmlinux 0x0402cbbf preempt_notifier_inc +EXPORT_SYMBOL_GPL vmlinux 0x0407a3a2 imx_pinctrl_sc_ipc_init +EXPORT_SYMBOL_GPL vmlinux 0x040ac351 fscrypt_d_revalidate +EXPORT_SYMBOL_GPL vmlinux 0x040d11a4 devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0x0412332f rcar_rst_set_rproc_boot_addr +EXPORT_SYMBOL_GPL vmlinux 0x04193335 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x041a64b3 ata_pci_shutdown_one +EXPORT_SYMBOL_GPL vmlinux 0x041f07ac led_put +EXPORT_SYMBOL_GPL vmlinux 0x0435aa86 __traceiter_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x044a9a0d of_clk_del_provider +EXPORT_SYMBOL_GPL vmlinux 0x045de33d usb_phy_roothub_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0465a073 regmap_reg_in_ranges +EXPORT_SYMBOL_GPL vmlinux 0x046d9be1 of_platform_device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x046f359e of_overlay_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x0472cf3b register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x047ef4ce fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x0483f5f5 pinctrl_utils_add_map_mux +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x048d3ed4 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x048d446e devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0x04972d0f blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x049e5156 gnttab_try_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x04ac7614 ata_sas_tport_delete +EXPORT_SYMBOL_GPL vmlinux 0x04bc20b8 __of_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x04be6926 pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0x04bf0092 io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x04c34965 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x04c41c60 devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04c76b2e edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0x04c88f51 pci_iomap_wc +EXPORT_SYMBOL_GPL vmlinux 0x04c8aebf console_verbose +EXPORT_SYMBOL_GPL vmlinux 0x04cb2f4e rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x04cd7960 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x04ceed95 devm_usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x04d80a83 pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x04e31efd balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x04e36fe2 kobject_move +EXPORT_SYMBOL_GPL vmlinux 0x04e7ee1e sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0x04e8ec2f xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0x04efdc15 platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0x05023099 dt_init_idle_driver +EXPORT_SYMBOL_GPL vmlinux 0x050410d3 devm_pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x05108681 bio_blkcg_css +EXPORT_SYMBOL_GPL vmlinux 0x051a0bc1 stack_depot_fetch +EXPORT_SYMBOL_GPL vmlinux 0x051b4ede clk_regmap_gate_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x052b4013 register_vmcore_cb +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x052e7a14 dax_remove_host +EXPORT_SYMBOL_GPL vmlinux 0x0538f021 pinctrl_force_default +EXPORT_SYMBOL_GPL vmlinux 0x053d738a __SCK__tp_func_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x053f53c5 irq_chip_release_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x054008de dma_vunmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x05456368 ahci_start_engine +EXPORT_SYMBOL_GPL vmlinux 0x054e4175 pm_genpd_opp_to_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05610897 of_changeset_destroy +EXPORT_SYMBOL_GPL vmlinux 0x05641313 imx_clk_hw_sscg_pll +EXPORT_SYMBOL_GPL vmlinux 0x0570d0b8 clk_register +EXPORT_SYMBOL_GPL vmlinux 0x0574eaee __folio_lock_killable +EXPORT_SYMBOL_GPL vmlinux 0x0584c545 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x05883efb __traceiter_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x058ba69b usb_hcd_setup_local_mem +EXPORT_SYMBOL_GPL vmlinux 0x058c6377 for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0x058f9366 apei_exec_collect_resources +EXPORT_SYMBOL_GPL vmlinux 0x0590de7a input_device_enabled +EXPORT_SYMBOL_GPL vmlinux 0x05958c9c sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0x05987ae1 crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0x059c9be8 platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0x059caac7 cpufreq_policy_transition_delay_us +EXPORT_SYMBOL_GPL vmlinux 0x05a98818 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x05ac6049 mtk_clk_register_plls +EXPORT_SYMBOL_GPL vmlinux 0x05b33a10 __traceiter_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x05c80ef9 extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x05d6ca8f dev_pm_opp_add +EXPORT_SYMBOL_GPL vmlinux 0x05f81037 of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x05fff448 devm_of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0600ab00 hisi_reset_init +EXPORT_SYMBOL_GPL vmlinux 0x06055a23 __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x061336ae blocking_notifier_chain_register_unique_prio +EXPORT_SYMBOL_GPL vmlinux 0x06196d10 bio_start_io_acct +EXPORT_SYMBOL_GPL vmlinux 0x062064bd usb_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL vmlinux 0x0626da5f od_unregister_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x062a7fca tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0x06306094 devm_hte_register_chip +EXPORT_SYMBOL_GPL vmlinux 0x063e9296 rpi_firmware_put +EXPORT_SYMBOL_GPL vmlinux 0x0642e133 ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x06499f92 rio_mport_get_physefb +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x065256de ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x0655ef0c sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x0664aa08 phy_pm_runtime_put_sync +EXPORT_SYMBOL_GPL vmlinux 0x06705043 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x06771efc kvm_write_guest_cached +EXPORT_SYMBOL_GPL vmlinux 0x067b3800 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x067b4e7a devm_power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x067d4bcc xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x067e84ff dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x0688ac2f platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x068912b5 regulator_set_active_discharge_regmap +EXPORT_SYMBOL_GPL vmlinux 0x069b2afd synth_event_create +EXPORT_SYMBOL_GPL vmlinux 0x06a969fd psil_set_new_ep_config +EXPORT_SYMBOL_GPL vmlinux 0x06b1d9e5 k3_udma_glue_request_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x06b970a5 zynqmp_pm_ospi_mux_select +EXPORT_SYMBOL_GPL vmlinux 0x06bcf14a sched_setattr_nocheck +EXPORT_SYMBOL_GPL vmlinux 0x06be79d3 phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL vmlinux 0x06c3107a __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x06cb2ad0 gnttab_dma_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06da466e efivars_kobject +EXPORT_SYMBOL_GPL vmlinux 0x06e21856 acpi_bus_get_acpi_device +EXPORT_SYMBOL_GPL vmlinux 0x06e4433e sunxi_ccu_set_mmc_timing_mode +EXPORT_SYMBOL_GPL vmlinux 0x06ecaf5d efivar_entry_size +EXPORT_SYMBOL_GPL vmlinux 0x06fb8a70 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x070e4bd8 lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x0724f8a7 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0729129a get_device +EXPORT_SYMBOL_GPL vmlinux 0x07386692 extcon_get_property +EXPORT_SYMBOL_GPL vmlinux 0x07400e94 ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x0747617a dev_attr_ncq_prio_supported +EXPORT_SYMBOL_GPL vmlinux 0x07483e13 cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0x074f98db synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x07562108 icc_node_create +EXPORT_SYMBOL_GPL vmlinux 0x0756a31c register_platform_power_off +EXPORT_SYMBOL_GPL vmlinux 0x07597098 devm_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0x075aaa5c crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x076356e7 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x076c987b dmaengine_unmap_put +EXPORT_SYMBOL_GPL vmlinux 0x0772767a clk_hw_is_prepared +EXPORT_SYMBOL_GPL vmlinux 0x077ff099 pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x07849533 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x07954ac5 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x079df9d3 pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x07aab2ea sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07b68558 __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0x07b7111a md_start +EXPORT_SYMBOL_GPL vmlinux 0x07b8b32e dmaengine_desc_get_metadata_ptr +EXPORT_SYMBOL_GPL vmlinux 0x07be6905 net_inc_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x07e2c44e bpf_trace_run3 +EXPORT_SYMBOL_GPL vmlinux 0x07e4f086 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x07e55b8d pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x07f32692 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0804b041 auxiliary_device_init +EXPORT_SYMBOL_GPL vmlinux 0x08115256 nf_ct_frag6_gather +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x081c83c9 __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x0826b7a4 blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0x083387d9 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x0839cc99 fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x08428931 pm_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x084404af pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x084b5228 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x0854fd7b pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x08576175 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x085d230e ahci_platform_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0870bef5 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x0877b2fa devm_i2c_add_adapter +EXPORT_SYMBOL_GPL vmlinux 0x087f5dc5 wm831x_of_match +EXPORT_SYMBOL_GPL vmlinux 0x088ee05a tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x0895de97 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x08a2b21e vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x08a88a9f __SCK__tp_func_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x08b40ea9 bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0x08b8510c devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0x08c46c69 tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x08c78cf7 offline_and_remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x08c9068d dma_vmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x08f574b7 posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0x09012089 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x0907d14d blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x0910d455 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x09337cd0 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x093786cf synth_event_add_field_str +EXPORT_SYMBOL_GPL vmlinux 0x093a2427 mctp_register_netdev +EXPORT_SYMBOL_GPL vmlinux 0x093f97ba desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0x094a672c regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x09580a2a pinctrl_dev_get_devname +EXPORT_SYMBOL_GPL vmlinux 0x09760484 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x0977528b vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09b93ccf __traceiter_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x09c9904d cpufreq_freq_transition_begin +EXPORT_SYMBOL_GPL vmlinux 0x09d3cb9c nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL vmlinux 0x09de4c14 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x09e3d08d stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0x0a2063ab tegra_bpmp_request_mrq +EXPORT_SYMBOL_GPL vmlinux 0x0a2a026c devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x0a2a3edd irq_domain_remove_sim +EXPORT_SYMBOL_GPL vmlinux 0x0a44c90a iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0x0a463293 __tracepoint_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x0a52c511 hv_query_ext_cap +EXPORT_SYMBOL_GPL vmlinux 0x0a63472c tegra_mc_get_emem_device_count +EXPORT_SYMBOL_GPL vmlinux 0x0a684b6c platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x0a6c069f tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a720b8f scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x0a7ceb30 __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x0a7e7042 irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x0a7ed488 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x0ab011a6 xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0x0ab06cef fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x0ab27b8e pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0x0ab40533 rockchip_pcie_enable_clocks +EXPORT_SYMBOL_GPL vmlinux 0x0abc6be6 k3_ringacc_ring_is_full +EXPORT_SYMBOL_GPL vmlinux 0x0acf18c0 dev_pm_genpd_set_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x0ad598d6 fsl_mc_resource_free +EXPORT_SYMBOL_GPL vmlinux 0x0adb8f0d usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x0adba539 devm_mipi_dsi_attach +EXPORT_SYMBOL_GPL vmlinux 0x0adf18e8 devm_pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0ae20d41 rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x0af30197 fsl_mc_bus_dpsw_type +EXPORT_SYMBOL_GPL vmlinux 0x0af3e3b9 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x0af40724 iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0x0af4b1a6 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x0afe33b3 nf_conntrack_helper_put +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b1436fe xen_dbgp_reset_prep +EXPORT_SYMBOL_GPL vmlinux 0x0b19c881 fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x0b2668ed __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x0b2db2d5 remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x0b33950e ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x0b39ad5b acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0x0b3a3ed7 zynqmp_pm_fpga_get_status +EXPORT_SYMBOL_GPL vmlinux 0x0b48bd4e tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0x0b4a5cfb usb_acpi_power_manageable +EXPORT_SYMBOL_GPL vmlinux 0x0b52e502 apei_resources_add +EXPORT_SYMBOL_GPL vmlinux 0x0b583f97 meson_a1_parse_dt_extra +EXPORT_SYMBOL_GPL vmlinux 0x0b5b7291 regmap_get_raw_write_max +EXPORT_SYMBOL_GPL vmlinux 0x0b690f04 k3_udma_glue_tx_get_txcq_id +EXPORT_SYMBOL_GPL vmlinux 0x0b70ebad sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x0b7e62c7 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x0b85bb34 mtk_hw_set_value +EXPORT_SYMBOL_GPL vmlinux 0x0b8a2d83 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x0b9e2c9c irq_gc_mask_clr_bit +EXPORT_SYMBOL_GPL vmlinux 0x0bad256e regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x0bb028d4 hisi_clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x0bbdc9b2 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x0bbe9ce6 of_pci_parse_bus_range +EXPORT_SYMBOL_GPL vmlinux 0x0bc00f80 nf_nat_helper_try_module_get +EXPORT_SYMBOL_GPL vmlinux 0x0bc60f5e ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0x0bf32478 __SCK__tp_func_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x0bf53a5f gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0x0bf99d5c __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x0bf9d54d l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0bfa9241 crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0x0c2118da xenbus_register_driver_common +EXPORT_SYMBOL_GPL vmlinux 0x0c27d591 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x0c2c5802 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x0c3d801d xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x0c3e6241 k3_udma_glue_disable_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x0c4b71db irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x0c6e9a1b bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0x0c768d1f phy_pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x0c7cab3d tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0c805ea3 pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0x0c88c1c3 pci_vpd_find_id_string +EXPORT_SYMBOL_GPL vmlinux 0x0c8be463 get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x0c8d3d2d trace_add_event_call +EXPORT_SYMBOL_GPL vmlinux 0x0ca60a0a raw_abort +EXPORT_SYMBOL_GPL vmlinux 0x0cabcfc1 tegra_xusb_padctl_legacy_remove +EXPORT_SYMBOL_GPL vmlinux 0x0cbe3ee2 software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0cbfabf4 class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x0cc160c9 device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x0cc9d36c iommu_group_claim_dma_owner +EXPORT_SYMBOL_GPL vmlinux 0x0ccf5275 zynqmp_pm_pinctrl_get_config +EXPORT_SYMBOL_GPL vmlinux 0x0cd61bdb xhci_resume +EXPORT_SYMBOL_GPL vmlinux 0x0ce3dd73 bman_is_probed +EXPORT_SYMBOL_GPL vmlinux 0x0d15dc5b badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0x0d196e84 of_cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x0d2cb676 phy_led_triggers_register +EXPORT_SYMBOL_GPL vmlinux 0x0d3473e7 of_irq_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x0d3998a1 cpufreq_dbs_governor_exit +EXPORT_SYMBOL_GPL vmlinux 0x0d459213 work_on_cpu_safe +EXPORT_SYMBOL_GPL vmlinux 0x0d4961de nf_log_buf_open +EXPORT_SYMBOL_GPL vmlinux 0x0d4aeda0 fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0x0d4e3f8c iopf_queue_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0d5cecc6 ima_measure_critical_data +EXPORT_SYMBOL_GPL vmlinux 0x0d5db199 xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x0d797200 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x0d7c45b0 mtk_pinconf_bias_get_combo +EXPORT_SYMBOL_GPL vmlinux 0x0d7d68d1 ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0x0d7f98b8 irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0x0d87b6aa tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0x0d934c1a nf_ct_helper_init +EXPORT_SYMBOL_GPL vmlinux 0x0d9e8449 acpi_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0x0db1fe49 fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0x0dd568bd tcp_bpf_update_proto +EXPORT_SYMBOL_GPL vmlinux 0x0dda7870 ftrace_free_filter +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0dfa1f12 devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0x0dfc91bc phy_pm_runtime_get_sync +EXPORT_SYMBOL_GPL vmlinux 0x0e007edf xen_evtchn_nr_channels +EXPORT_SYMBOL_GPL vmlinux 0x0e056b8f sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x0e0700a8 skb_copy_ubufs +EXPORT_SYMBOL_GPL vmlinux 0x0e0b94fb virtio_require_restricted_mem_acc +EXPORT_SYMBOL_GPL vmlinux 0x0e0c6a7d crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0x0e1194d5 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x0e12bee0 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x0e13cb4d apei_resources_release +EXPORT_SYMBOL_GPL vmlinux 0x0e202093 metadata_dst_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x0e2a4230 fsl_mc_bus_dprtc_type +EXPORT_SYMBOL_GPL vmlinux 0x0e2be427 ahci_check_ready +EXPORT_SYMBOL_GPL vmlinux 0x0e304fa4 kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0x0e42b7e4 edac_device_add_device +EXPORT_SYMBOL_GPL vmlinux 0x0e474fab mtk_is_virt_gpio +EXPORT_SYMBOL_GPL vmlinux 0x0e570b16 crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x0e59fddf pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0x0e5af9a0 regulator_set_ramp_delay_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0e5cc9d7 xdp_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x0e6b79af static_key_disable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x0e884be2 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x0e94b6cb icc_put +EXPORT_SYMBOL_GPL vmlinux 0x0e9e6637 irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x0ea5cbce xen_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x0ebb03a4 devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0ec096b0 hv_read_reference_counter +EXPORT_SYMBOL_GPL vmlinux 0x0ecf2e67 sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x0ed33e64 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x0edf8182 pci_ecam_map_bus +EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f373f4c debugfs_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0x0f3e76e1 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x0f463088 clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x0f67ecfc gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0x0f69c107 dev_pm_opp_of_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x0f72ada1 acpi_dev_resource_io +EXPORT_SYMBOL_GPL vmlinux 0x0f7ca236 dmi_memdev_name +EXPORT_SYMBOL_GPL vmlinux 0x0f7d99dc regmap_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x0f88313b bgmac_enet_resume +EXPORT_SYMBOL_GPL vmlinux 0x0fa10ec8 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x0faa2c9a __tracepoint_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x0fb1dca8 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x0fba28bb dpcon_open +EXPORT_SYMBOL_GPL vmlinux 0x0fbb4eee serial8250_do_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x0fbb7344 memremap_compat_align +EXPORT_SYMBOL_GPL vmlinux 0x0fbc0c0e xas_pause +EXPORT_SYMBOL_GPL vmlinux 0x0fbe3a24 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x0fd4610e kmem_dump_obj +EXPORT_SYMBOL_GPL vmlinux 0x0fef1942 dev_attr_ncq_prio_enable +EXPORT_SYMBOL_GPL vmlinux 0x0ff42db5 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x0ffc45c1 spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x1007b9e7 gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0x100d840f input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x1013ae88 usb_device_match_id +EXPORT_SYMBOL_GPL vmlinux 0x102b30ac fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0x1030ea69 clk_hw_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x10376ea1 nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x1047dbf6 tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0x1047df5c udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x104fb0a3 clk_regmap_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x1069f1ba tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0x10796ef8 meson_pinctrl_probe +EXPORT_SYMBOL_GPL vmlinux 0x1089e846 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x108a0acd bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x109e7005 tps65912_device_init +EXPORT_SYMBOL_GPL vmlinux 0x10acfa68 acpi_device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x10b6724f crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0x10c7f371 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x10d9f317 stack_depot_init +EXPORT_SYMBOL_GPL vmlinux 0x10e85470 dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x10e92315 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x10f3a060 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x10f3ea4b gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0x10f8b6ef pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x110106c1 cper_severity_to_aer +EXPORT_SYMBOL_GPL vmlinux 0x1122ebf3 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x1127f406 of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0x112a2f9c pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x112ac1b7 nvmem_cell_read_u32 +EXPORT_SYMBOL_GPL vmlinux 0x112b0adc fscrypt_set_context +EXPORT_SYMBOL_GPL vmlinux 0x112bc11c usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x11305e66 extcon_unregister_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x1132ca2b nvmem_device_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x113dbb95 io_uring_cmd_done +EXPORT_SYMBOL_GPL vmlinux 0x1140d28d nvmem_cell_read_variable_le_u32 +EXPORT_SYMBOL_GPL vmlinux 0x114bbd28 fsverity_verify_page +EXPORT_SYMBOL_GPL vmlinux 0x114c7fff fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x11553b7b led_sysfs_enable +EXPORT_SYMBOL_GPL vmlinux 0x11672019 devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x1185e489 pm_runtime_force_suspend +EXPORT_SYMBOL_GPL vmlinux 0x118a4529 wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x118dc514 dev_pm_set_dedicated_wake_irq_reverse +EXPORT_SYMBOL_GPL vmlinux 0x119854b8 hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x11987120 mptcp_token_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x11abc494 __SCK__tp_func_nvme_sq +EXPORT_SYMBOL_GPL vmlinux 0x11af6ad9 virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0x11b711ca of_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x11c264d6 iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0x11c77076 ahci_set_em_messages +EXPORT_SYMBOL_GPL vmlinux 0x11ca741d mctp_unregister_netdev +EXPORT_SYMBOL_GPL vmlinux 0x11cf219a rio_add_device +EXPORT_SYMBOL_GPL vmlinux 0x11d4d4ae pm_clk_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x11e06ee9 badrange_init +EXPORT_SYMBOL_GPL vmlinux 0x11e08f96 trace_seq_putmem_hex +EXPORT_SYMBOL_GPL vmlinux 0x11e3bc0e cpufreq_dbs_governor_stop +EXPORT_SYMBOL_GPL vmlinux 0x11e6d6a3 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x11e72d0c sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x120051b7 xen_unmap_domain_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0x120b0de7 power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x121c27c9 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x121d958a unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1234e483 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x1234ffa1 cper_estatus_check_header +EXPORT_SYMBOL_GPL vmlinux 0x12537dae __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x125f177b da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x127d5ba2 mtk_eint_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x127e0805 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x1285da1b dev_pm_qos_flags +EXPORT_SYMBOL_GPL vmlinux 0x129334ae sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0x129cd85e rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x129d2939 ohci_setup +EXPORT_SYMBOL_GPL vmlinux 0x129f91e2 debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0x12a7e974 skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0x12b18399 ip4_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x12b47752 crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x12b9c776 crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0x12c4012b irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0x12e51f4f xhci_gen_setup +EXPORT_SYMBOL_GPL vmlinux 0x12e77c39 pinconf_generic_dt_node_to_map +EXPORT_SYMBOL_GPL vmlinux 0x12ee1173 memory_group_unregister +EXPORT_SYMBOL_GPL vmlinux 0x13062b8a auxiliary_find_device +EXPORT_SYMBOL_GPL vmlinux 0x13083e5e of_clk_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0x13090724 add_vmfork_randomness +EXPORT_SYMBOL_GPL vmlinux 0x130b7ceb icc_set_tag +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131a70e8 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x131c79bd msi_lock_descs +EXPORT_SYMBOL_GPL vmlinux 0x131cc438 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x131d1afe serial8250_em485_stop_tx +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x1321b525 acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x133a2346 request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0x13401c31 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x134a6db0 gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0x13506060 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x135d42cc blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x136209db power_supply_reg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13640660 get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x136bfb57 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0x1373dd9a bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0x1380a943 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x138a4ac9 mtk_hw_get_value +EXPORT_SYMBOL_GPL vmlinux 0x138aff76 gnttab_init +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x139c93c7 ehci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x13aa8952 of_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x13b0ad5f ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x13b7aef4 acpi_unbind_one +EXPORT_SYMBOL_GPL vmlinux 0x13bd14cf fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x13c2d6bc __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x13ce87e8 asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0x13d154ff fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x13d2dcbe iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0x13d43662 of_icc_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0x13d8e001 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x13db1eb8 k3_udma_glue_rx_cppi5_to_dma_addr +EXPORT_SYMBOL_GPL vmlinux 0x13dbd5c2 nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL vmlinux 0x13dc24a8 mptcp_diag_fill_info +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x13eee32e fsl_mc_bus_dpdmai_type +EXPORT_SYMBOL_GPL vmlinux 0x13fab921 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x13fdf9aa device_create_managed_software_node +EXPORT_SYMBOL_GPL vmlinux 0x1403ad09 cpufreq_add_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x14208f93 of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x142b6745 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x142e19ae gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x1433388e acpi_processor_get_performance_info +EXPORT_SYMBOL_GPL vmlinux 0x1439e434 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0x144ca619 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x144fd492 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x1456762b k3_ringacc_ring_get_free +EXPORT_SYMBOL_GPL vmlinux 0x14636a40 regmap_noinc_read +EXPORT_SYMBOL_GPL vmlinux 0x146cc88f bpf_master_redirect_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x1488f902 edac_mc_add_mc_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x148fd794 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x14a50b37 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x14a91383 __traceiter_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x14ac67fd pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x14e13751 receive_fd +EXPORT_SYMBOL_GPL vmlinux 0x14ec4fdb evtchn_put +EXPORT_SYMBOL_GPL vmlinux 0x14ef77fe cpufreq_frequency_table_get_index +EXPORT_SYMBOL_GPL vmlinux 0x15021b4a xa_delete_node +EXPORT_SYMBOL_GPL vmlinux 0x1517335e kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x151d8cfd usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x1533c522 ahci_platform_init_host +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x153f6827 __traceiter_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x15426d7d md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x15595256 __mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x155af8bc fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0x1580ceed cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0x1586b65b vp_modern_set_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x15886f48 hte_disable_ts +EXPORT_SYMBOL_GPL vmlinux 0x159d5a81 devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0x15a5b1e1 devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0x15ade1cc filter_irq_stacks +EXPORT_SYMBOL_GPL vmlinux 0x15b29fa7 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0x15bac3ba umd_unload_blob +EXPORT_SYMBOL_GPL vmlinux 0x15c60a71 __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x15c7f3e3 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x15d414ff usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x15e47916 transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x15ea2648 hwpoison_filter_flags_mask +EXPORT_SYMBOL_GPL vmlinux 0x161aed40 devlink_port_attrs_set +EXPORT_SYMBOL_GPL vmlinux 0x161f74f6 of_pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0x162cfb20 xhci_drop_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x163ada94 extcon_set_state_sync +EXPORT_SYMBOL_GPL vmlinux 0x16422a6e xdp_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x16436066 put_io_context +EXPORT_SYMBOL_GPL vmlinux 0x1644f10e apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0x16516798 osc_pc_lpi_support_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x165c275e sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x1667c116 iommu_setup_dma_ops +EXPORT_SYMBOL_GPL vmlinux 0x167d430d devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x167d7113 acpi_bus_register_early_device +EXPORT_SYMBOL_GPL vmlinux 0x1687ec20 tty_get_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x1690b503 usb_role_switch_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x169174e9 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x16966c58 mbox_chan_txdone +EXPORT_SYMBOL_GPL vmlinux 0x16a2840e synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0x16b5e72f blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0x16cc8d59 kick_process +EXPORT_SYMBOL_GPL vmlinux 0x16d1b28a get_dev_pagemap +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16dfbf36 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x16ed09c8 acpi_gpiochip_free_interrupts +EXPORT_SYMBOL_GPL vmlinux 0x16f15139 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x1701fce2 hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0x17082546 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x1712e473 hisi_clk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1724e78e of_pwm_xlate_with_flags +EXPORT_SYMBOL_GPL vmlinux 0x1726a7bb __regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x172a27ea bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0x172cfdf6 blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0x173f7aa7 rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x17404fb2 gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0x1741ddee trace_seq_puts +EXPORT_SYMBOL_GPL vmlinux 0x174c6274 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x17591ecd zynqmp_pm_write_ggs +EXPORT_SYMBOL_GPL vmlinux 0x176031a7 devlink_fmsg_string_put +EXPORT_SYMBOL_GPL vmlinux 0x17614bf3 apei_resources_sub +EXPORT_SYMBOL_GPL vmlinux 0x17627dc3 devm_power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x1788a76d usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x17a33d29 dw8250_do_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x17a516e4 xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0x17c60eda usb_phy_set_event +EXPORT_SYMBOL_GPL vmlinux 0x17ce9a79 devm_phy_create +EXPORT_SYMBOL_GPL vmlinux 0x17dacc12 md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0x17df9264 __traceiter_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x17e01f11 erst_clear +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x181eb592 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x1824beb9 bind_interdomain_evtchn_to_irqhandler_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x182656cc platform_has +EXPORT_SYMBOL_GPL vmlinux 0x1833c9dc of_irq_get +EXPORT_SYMBOL_GPL vmlinux 0x18412326 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x18428692 __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x18615d35 efivar_supports_writes +EXPORT_SYMBOL_GPL vmlinux 0x1863c368 tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0x1869d57c em_pd_get +EXPORT_SYMBOL_GPL vmlinux 0x18715353 k3_udma_glue_push_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x1883a616 mbox_request_channel_byname +EXPORT_SYMBOL_GPL vmlinux 0x188c5efc xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x188ef8c2 phy_10gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x18ae918e dev_pm_opp_find_freq_floor +EXPORT_SYMBOL_GPL vmlinux 0x18b1551a imx_clk_fracn_gppll +EXPORT_SYMBOL_GPL vmlinux 0x18c05bee badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0x18c74d7f tegra_mc_probe_device +EXPORT_SYMBOL_GPL vmlinux 0x18cb619a __traceiter_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x18d1caff icc_nodes_remove +EXPORT_SYMBOL_GPL vmlinux 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x18e7b2a9 ping_err +EXPORT_SYMBOL_GPL vmlinux 0x18e8c440 arch_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x18f10f38 k3_udma_glue_enable_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x18f81b08 __fscrypt_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0x18f86230 component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x1901de6e iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x19153c12 meson_sm_get +EXPORT_SYMBOL_GPL vmlinux 0x1919e52f locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x191b6951 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x1926028c zynqmp_pm_reset_assert +EXPORT_SYMBOL_GPL vmlinux 0x192f6257 cpuidle_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1937044c ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x193a36ea fscrypt_parse_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x1940dce0 pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0x1944e39b raw_v6_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x19459f40 iommu_sva_alloc_pasid +EXPORT_SYMBOL_GPL vmlinux 0x194ad157 gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0x196d5416 ioc_find_get_icq +EXPORT_SYMBOL_GPL vmlinux 0x19755cfb skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x197bcbe4 cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0x197d9d6f pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x19821689 __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x19826ba3 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19a8f210 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x19ade07b pci_ecam_free +EXPORT_SYMBOL_GPL vmlinux 0x19b57d93 blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0x19c20269 soc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x19d3e4fd fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0x19e178a4 unregister_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x19e81304 btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19e904a1 iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0x19edd064 blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0x19f125cd msg_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0x19f9690d regulator_is_equal +EXPORT_SYMBOL_GPL vmlinux 0x19fa1748 blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0x19fcd154 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x1a00a8a2 vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0x1a038497 dev_pm_genpd_resume +EXPORT_SYMBOL_GPL vmlinux 0x1a08b222 of_msi_configure +EXPORT_SYMBOL_GPL vmlinux 0x1a0d2eed serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0x1a0fe084 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a146ec3 usb_ep_type_string +EXPORT_SYMBOL_GPL vmlinux 0x1a195bea rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x1a2419c0 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x1a2492ea regulator_map_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x1a29c79f msi_first_desc +EXPORT_SYMBOL_GPL vmlinux 0x1a34245b bgmac_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1a3ef391 fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x1a54d4d1 badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0x1a5f9f78 phy_led_trigger_change_speed +EXPORT_SYMBOL_GPL vmlinux 0x1a623699 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a776a3d subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x1a876574 __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x1a87a59a dev_pm_opp_detach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x1a993c92 dma_get_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x1aa097ea root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1ab111d3 devm_regmap_add_irq_chip_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x1ab2ed12 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x1ac9b5fe sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x1acd18c8 cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x1ae4d67c rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x1ae6ff37 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1af6d6aa uart_xchar_out +EXPORT_SYMBOL_GPL vmlinux 0x1afc7831 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x1b036eb9 __traceiter_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x1b09b49c wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x1b1a8115 fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0x1b297b1e sbitmap_queue_recalculate_wake_batch +EXPORT_SYMBOL_GPL vmlinux 0x1b5029d1 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x1b5059ce ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x1b5f4377 trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0x1b7b8d6c devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x1b7e630d iomap_read_folio +EXPORT_SYMBOL_GPL vmlinux 0x1b84f2e8 skb_gso_validate_network_len +EXPORT_SYMBOL_GPL vmlinux 0x1b8822d8 pinctrl_gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x1b918371 of_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0x1b92e41d inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x1b9b0ab9 bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0x1b9c2ace sk_msg_is_readable +EXPORT_SYMBOL_GPL vmlinux 0x1bc5eebe pinctrl_gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x1bc64087 xas_split +EXPORT_SYMBOL_GPL vmlinux 0x1bc85e1c irq_set_affinity +EXPORT_SYMBOL_GPL vmlinux 0x1bee4974 sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x1bf47fdd spi_mem_default_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x1c20fad7 of_pm_clk_add_clks +EXPORT_SYMBOL_GPL vmlinux 0x1c333ad2 bpf_preload_ops +EXPORT_SYMBOL_GPL vmlinux 0x1c394a45 rpi_firmware_get +EXPORT_SYMBOL_GPL vmlinux 0x1c46e671 acpi_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0x1c4819fb cpufreq_driver_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x1c5541bd cpufreq_boost_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c5ff742 clk_get_phase +EXPORT_SYMBOL_GPL vmlinux 0x1c6291e3 ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x1c66858e input_class +EXPORT_SYMBOL_GPL vmlinux 0x1c67e26a get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x1c78ac3b devl_assert_locked +EXPORT_SYMBOL_GPL vmlinux 0x1c79a073 serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c82510e rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c89fb22 zynqmp_pm_clock_setparent +EXPORT_SYMBOL_GPL vmlinux 0x1c8eefd0 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x1c8fa8bd usb_urb_ep_type_check +EXPORT_SYMBOL_GPL vmlinux 0x1c91f457 trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0x1ca3aa97 alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0x1ca4a930 smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x1cb7c983 apei_exec_read_register_value +EXPORT_SYMBOL_GPL vmlinux 0x1cb9a1c8 xenbus_gather +EXPORT_SYMBOL_GPL vmlinux 0x1cbd92b0 cpu_mitigations_off +EXPORT_SYMBOL_GPL vmlinux 0x1cc7df9c usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x1ce17d4d inet6_compat_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x1ce7e032 pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0x1ce82a83 dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1cff8eab sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0x1d04d449 __clk_hw_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x1d1a6865 crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x1d1c929f devm_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d2371a6 query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x1d2b0f88 nvme_init_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x1d3f82a2 iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0x1d4c34c2 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x1d534507 do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x1d6696b0 mtk_mutex_disable +EXPORT_SYMBOL_GPL vmlinux 0x1d702bd9 gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1d79df70 ptp_msg_is_sync +EXPORT_SYMBOL_GPL vmlinux 0x1d845653 nf_ct_expect_put +EXPORT_SYMBOL_GPL vmlinux 0x1d8b0e5e dev_pm_opp_free_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x1d8f254d of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x1d929b54 __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x1d94a218 dmi_memdev_handle +EXPORT_SYMBOL_GPL vmlinux 0x1dad863a da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x1db2d029 __regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x1dbad508 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x1dc9dd82 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x1dd22146 genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x1dd6c1d8 bpf_offload_dev_netdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1de887ff zynqmp_pm_bootmode_write +EXPORT_SYMBOL_GPL vmlinux 0x1dfa5dbd mpi_invm +EXPORT_SYMBOL_GPL vmlinux 0x1dfd6e13 pinctrl_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x1dffb54f finish_rcuwait +EXPORT_SYMBOL_GPL vmlinux 0x1e0670c6 reset_control_release +EXPORT_SYMBOL_GPL vmlinux 0x1e316f64 pci_find_dvsec_capability +EXPORT_SYMBOL_GPL vmlinux 0x1e3bc77c xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0x1e424d61 user_preparse +EXPORT_SYMBOL_GPL vmlinux 0x1e4e199c rockchip_clk_register_armclk +EXPORT_SYMBOL_GPL vmlinux 0x1e4e98c0 acpi_dev_filter_resource_type +EXPORT_SYMBOL_GPL vmlinux 0x1e53f827 stack_depot_print +EXPORT_SYMBOL_GPL vmlinux 0x1e60a3f4 pinctrl_generic_get_group_name +EXPORT_SYMBOL_GPL vmlinux 0x1e6c53cf iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e83fee6 HYPERVISOR_physdev_op +EXPORT_SYMBOL_GPL vmlinux 0x1e8a16e9 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1e8fac8e wireless_nlevent_flush +EXPORT_SYMBOL_GPL vmlinux 0x1e90656e dma_free_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x1e9bc719 freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x1e9c590a usb_find_common_endpoints_reverse +EXPORT_SYMBOL_GPL vmlinux 0x1ea0eb76 __spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x1ea605fe fsl_mc_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1eab21af virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x1eb8476d clk_fixed_rate_ops +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebc98ed vcpu_load +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ed4d2eb percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x1ed6e098 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x1edc1511 pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x1eee3b7d tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x1ef20793 stop_core_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x1ef6461c addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0x1efaa06f __tracepoint_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x1f01ec38 nvme_start_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x1f097054 devm_rpi_firmware_get +EXPORT_SYMBOL_GPL vmlinux 0x1f14d673 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x1f1b1b04 skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0x1f1cc011 zynqmp_pm_get_chipid +EXPORT_SYMBOL_GPL vmlinux 0x1f1ce8c0 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x1f38a4f6 mpi_set_highbit +EXPORT_SYMBOL_GPL vmlinux 0x1f449588 mctrl_gpio_disable_ms +EXPORT_SYMBOL_GPL vmlinux 0x1f4971d7 perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x1f4baa3f netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f755d17 gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0x1f782ab4 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f8c481f ahci_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x1f9a2b53 zynqmp_pm_clock_enable +EXPORT_SYMBOL_GPL vmlinux 0x1f9d1860 akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x1f9fbe06 vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x1fa4f1a5 ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0x1fb39a81 gnttab_pages_clear_private +EXPORT_SYMBOL_GPL vmlinux 0x1fb5ba94 firmware_upload_register +EXPORT_SYMBOL_GPL vmlinux 0x1fb6ae89 verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x1fc438d2 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x1fc5dd1c nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0x1fcd7e9f init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x1ff362d3 alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0x1ffd0000 clk_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x2002623d devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0x2009e400 devlink_info_board_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x200c7683 sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0x200d613b devm_of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x202d4ed6 nvmem_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x204d1123 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x204f2c5c gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x2061019b iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0x20619b9b devlink_param_register +EXPORT_SYMBOL_GPL vmlinux 0x206d0ae3 regulator_get_hardware_vsel_register +EXPORT_SYMBOL_GPL vmlinux 0x20799c73 regmap_field_read +EXPORT_SYMBOL_GPL vmlinux 0x20822755 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x2091d2a7 xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x20978fb9 idr_find +EXPORT_SYMBOL_GPL vmlinux 0x20a172bd input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x20b1002b usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x20b2243a tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0x20c1dfb2 acpi_register_gsi +EXPORT_SYMBOL_GPL vmlinux 0x20c8ec6e gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x20d89121 of_platform_default_populate +EXPORT_SYMBOL_GPL vmlinux 0x20da4083 handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0x20de7efb rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x20e2087b of_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x20ea9c90 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x20ec5f0b otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0x20fc44ac serdev_acpi_get_uart_resource +EXPORT_SYMBOL_GPL vmlinux 0x210972de kvm_init +EXPORT_SYMBOL_GPL vmlinux 0x21133473 __efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0x21269aeb device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x213829c3 nf_conntrack_alloc +EXPORT_SYMBOL_GPL vmlinux 0x214689fa bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0x2148b444 wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0x21524b24 mdio_mux_init +EXPORT_SYMBOL_GPL vmlinux 0x21526add __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x2166bd65 __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x216bf830 sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0x216dc187 tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x21749288 ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0x21769e50 nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2176e42a hwpoison_filter_memcg +EXPORT_SYMBOL_GPL vmlinux 0x2197c713 ahci_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x219c7594 devfreq_event_get_event +EXPORT_SYMBOL_GPL vmlinux 0x21a563da clk_get_accuracy +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21b87c1c efivar_entry_remove +EXPORT_SYMBOL_GPL vmlinux 0x21ca9ad5 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21df9326 xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x21dfad0a watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0x21fa07b5 pinctrl_count_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x2200061c __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x220ce70c kvm_arm_hyp_service_available +EXPORT_SYMBOL_GPL vmlinux 0x220d1727 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x221eab6d scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x22254141 ip_icmp_error_rfc4884 +EXPORT_SYMBOL_GPL vmlinux 0x222e938b pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0x223ec203 phy_pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x224aae5d serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x224c8709 devm_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x22679f91 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x22897bc5 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x22ab7517 devl_unlock +EXPORT_SYMBOL_GPL vmlinux 0x22b259ff dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0x22b96577 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x22be1d7f regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x22cd534d rio_unmap_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x22cdd704 devm_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x22d60537 tcf_frag_xmit_count +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22e597d6 cgroup_get_from_id +EXPORT_SYMBOL_GPL vmlinux 0x22ec5205 cpu_latency_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x22f31abb add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0x22f46078 k3_ringacc_dmarings_init +EXPORT_SYMBOL_GPL vmlinux 0x22fd08ba cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x230f4680 usb_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x231f274d devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x23260bf2 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x232b89a9 __devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x232cb0a8 usb_phy_roothub_suspend +EXPORT_SYMBOL_GPL vmlinux 0x23373d3b bgpio_init +EXPORT_SYMBOL_GPL vmlinux 0x23412816 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x234cb2a9 xenbus_dev_groups +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x236eb614 netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23908081 clk_hw_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x2392507a of_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x2396c7f0 clk_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x23a44a10 __traceiter_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x23c009f0 devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0x23c35d99 xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0x23c4eabc page_cache_sync_ra +EXPORT_SYMBOL_GPL vmlinux 0x23c9d72a bpf_trace_run7 +EXPORT_SYMBOL_GPL vmlinux 0x23d6417c pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x23f1bd3a imx_clk_hw_pfdv2 +EXPORT_SYMBOL_GPL vmlinux 0x23f273f4 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x23fbef80 led_trigger_read +EXPORT_SYMBOL_GPL vmlinux 0x23fcd4df fscrypt_limit_io_blocks +EXPORT_SYMBOL_GPL vmlinux 0x24012bbb dev_pm_opp_of_register_em +EXPORT_SYMBOL_GPL vmlinux 0x2421097b mpi_const +EXPORT_SYMBOL_GPL vmlinux 0x2435a12d ahci_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0x24413343 erst_read_record +EXPORT_SYMBOL_GPL vmlinux 0x244e2750 devres_release +EXPORT_SYMBOL_GPL vmlinux 0x245a7af1 clk_register_mux_table +EXPORT_SYMBOL_GPL vmlinux 0x245d296f ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x2464da17 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x24709b2f trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0x24718959 regulator_list_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x24734dc8 of_css +EXPORT_SYMBOL_GPL vmlinux 0x2484e789 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x248bc867 raw_notifier_call_chain_robust +EXPORT_SYMBOL_GPL vmlinux 0x248e1473 kfree_strarray +EXPORT_SYMBOL_GPL vmlinux 0x2495710e __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0x24993f9e put_device +EXPORT_SYMBOL_GPL vmlinux 0x24a57492 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x24a735c6 acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x24ad11db wakeup_sources_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x24b909bb vp_legacy_config_vector +EXPORT_SYMBOL_GPL vmlinux 0x24d0db74 device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0x24d862d2 nf_ct_l4proto_find +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24e290c4 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x24e545c1 sdio_retune_hold_now +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24ec9ef9 nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0x24f39c39 reset_control_reset +EXPORT_SYMBOL_GPL vmlinux 0x24f583fb regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x24f63dcf ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x24f68ec2 devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0x24f75ca9 pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0x24fc50f4 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x250382e1 fscrypt_mergeable_bio_bh +EXPORT_SYMBOL_GPL vmlinux 0x251e790a tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x25301bc6 arch_wb_cache_pmem +EXPORT_SYMBOL_GPL vmlinux 0x2534b336 dma_alloc_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x25379e73 clk_set_min_rate +EXPORT_SYMBOL_GPL vmlinux 0x2572f9b3 led_blink_set +EXPORT_SYMBOL_GPL vmlinux 0x2574da11 zynqmp_pm_write_pggs +EXPORT_SYMBOL_GPL vmlinux 0x257de46d usb_of_has_combined_node +EXPORT_SYMBOL_GPL vmlinux 0x259041e1 dev_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x25af9780 fb_deferred_io_mmap +EXPORT_SYMBOL_GPL vmlinux 0x25bbfa9a security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x25be349a pinctrl_generic_add_group +EXPORT_SYMBOL_GPL vmlinux 0x25d2fb1b serial8250_get_port +EXPORT_SYMBOL_GPL vmlinux 0x25df9b44 __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x25ea592f relay_open +EXPORT_SYMBOL_GPL vmlinux 0x25eb4435 timer_unstable_counter_workaround +EXPORT_SYMBOL_GPL vmlinux 0x260e7405 usb_of_get_interface_node +EXPORT_SYMBOL_GPL vmlinux 0x2613a279 kvm_io_bus_write +EXPORT_SYMBOL_GPL vmlinux 0x261f2d22 watchdog_set_last_hw_keepalive +EXPORT_SYMBOL_GPL vmlinux 0x262e62ee wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x26307112 __irq_resolve_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2637df03 pm_clk_add +EXPORT_SYMBOL_GPL vmlinux 0x26387704 sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x263d17eb tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x2658f3e6 dma_resv_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x265b89e3 phy_save_page +EXPORT_SYMBOL_GPL vmlinux 0x265bbef9 kexec_crash_loaded +EXPORT_SYMBOL_GPL vmlinux 0x266a4b08 tasklet_unlock +EXPORT_SYMBOL_GPL vmlinux 0x26779ebe devl_port_register +EXPORT_SYMBOL_GPL vmlinux 0x2679ef4f rio_unregister_mport +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x268eb037 skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x2690c7ea rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x26a01b7e gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x26a26148 crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0x26a4ef4c spi_mem_driver_register_with_owner +EXPORT_SYMBOL_GPL vmlinux 0x26a93eb2 verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26ac5b9e devm_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x26b013b6 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x26c44826 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26cf993d of_phandle_iterator_init +EXPORT_SYMBOL_GPL vmlinux 0x26e5a541 mtk_mutex_get +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x26f6e2db dev_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0x26face03 dev_pm_opp_find_level_ceil +EXPORT_SYMBOL_GPL vmlinux 0x2702903d acpi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL vmlinux 0x2711e5ec nvme_set_features +EXPORT_SYMBOL_GPL vmlinux 0x272e9d77 hisi_reset_exit +EXPORT_SYMBOL_GPL vmlinux 0x272f1761 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x274dd1a3 sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x275b9c6a nfs_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0x275e20ae of_clk_parent_fill +EXPORT_SYMBOL_GPL vmlinux 0x2772b1cc devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x2773c485 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x277fcafc devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x27b17851 pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x27b22a43 scmi_protocol_register +EXPORT_SYMBOL_GPL vmlinux 0x27b8a1ab regulator_get_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x27c0af94 switchdev_handle_fdb_event_to_device +EXPORT_SYMBOL_GPL vmlinux 0x27c1d328 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x27c4490b acpi_dev_get_first_consumer_dev +EXPORT_SYMBOL_GPL vmlinux 0x27cdc70a pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0x27dc9471 __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x27ddb519 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x27ed7866 iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x27f30d2e crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x27fa77d7 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x280160c9 umd_cleanup_helper +EXPORT_SYMBOL_GPL vmlinux 0x2809f781 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x280ca389 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x2817f7fd cppc_get_desired_perf +EXPORT_SYMBOL_GPL vmlinux 0x282cdabc usb_led_activity +EXPORT_SYMBOL_GPL vmlinux 0x28310bcd kasprintf_strarray +EXPORT_SYMBOL_GPL vmlinux 0x2831b58f bpf_trace_run11 +EXPORT_SYMBOL_GPL vmlinux 0x2846b74c gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x2864ad5b pm_runtime_set_memalloc_noio +EXPORT_SYMBOL_GPL vmlinux 0x286720f4 serial8250_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x287b9adb crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x2882d40e usb_role_switch_unregister +EXPORT_SYMBOL_GPL vmlinux 0x289882b8 tpm_tis_core_init +EXPORT_SYMBOL_GPL vmlinux 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL vmlinux 0x28a1f276 irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x28a80122 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x28aa6a67 call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x28ab4fb9 pinctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x28aeffd5 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x28afbb08 cpu_latency_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x28b030d2 of_overlay_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x28b84424 devm_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x28b8717b l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0x28c32e57 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x28c3ab19 __traceiter_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x28d45d8f security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x28d68b45 fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x28e28fac irq_gc_unmask_enable_reg +EXPORT_SYMBOL_GPL vmlinux 0x28e4f993 sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0x28edda77 devm_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x28efaf92 __traceiter_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x28eff409 nf_conntrack_hash +EXPORT_SYMBOL_GPL vmlinux 0x28fa2796 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x28fff96a devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x29014e2f dma_async_device_channel_register +EXPORT_SYMBOL_GPL vmlinux 0x290497e6 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL vmlinux 0x2912947c __devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0x291876f3 mpi_ec_get_affine +EXPORT_SYMBOL_GPL vmlinux 0x29301974 regulator_get_linear_step +EXPORT_SYMBOL_GPL vmlinux 0x2935c74c devfreq_event_enable_edev +EXPORT_SYMBOL_GPL vmlinux 0x29483e06 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x294a7f86 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x29526579 policy_has_boost_freq +EXPORT_SYMBOL_GPL vmlinux 0x2959d860 of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x295b982a hisi_clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x2960585e misc_cg_try_charge +EXPORT_SYMBOL_GPL vmlinux 0x296a2d7b iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0x29864303 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x2995144e gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0x299f8735 bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0x29a6eef7 ehci_adjust_port_wakeup_flags +EXPORT_SYMBOL_GPL vmlinux 0x29a97260 param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x29af56e9 extcon_set_property +EXPORT_SYMBOL_GPL vmlinux 0x29b6b976 tps65912_device_exit +EXPORT_SYMBOL_GPL vmlinux 0x29ba71f5 tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0x29ccb3af __xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0x29d76547 k3_udma_glue_tdown_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x29e4942f lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x2a10c8bb __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0x2a1cc2a1 imx_pinctrl_probe +EXPORT_SYMBOL_GPL vmlinux 0x2a2021c9 mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0x2a214a1c fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0x2a22c0c7 iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x2a37ea11 imx_clk_hw_frac_pll +EXPORT_SYMBOL_GPL vmlinux 0x2a5dcdce vchan_tx_submit +EXPORT_SYMBOL_GPL vmlinux 0x2a5ea9ef rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a637834 device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x2a7316da __SCK__tp_func_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x2a7e8c06 xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0x2a853b06 nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x2a976d1c dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x2a9cd8d0 espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0x2aa0bc25 device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2aa203fa acct_bioset_exit +EXPORT_SYMBOL_GPL vmlinux 0x2aa5800e nf_ct_set_auto_assign_helper_warned +EXPORT_SYMBOL_GPL vmlinux 0x2aadad1a efi_capsule_update +EXPORT_SYMBOL_GPL vmlinux 0x2ab28217 fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0x2ab64b85 fsl_mc_bus_dpdmux_type +EXPORT_SYMBOL_GPL vmlinux 0x2ab669ce nf_queue +EXPORT_SYMBOL_GPL vmlinux 0x2ac25f12 of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x2ad83cc7 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x2ae11602 clk_hw_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x2ae1689e zynqmp_pm_clock_getdivider +EXPORT_SYMBOL_GPL vmlinux 0x2aef7683 fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x2b0fe000 gnttab_cancel_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x2b173971 acpi_fetch_acpi_dev +EXPORT_SYMBOL_GPL vmlinux 0x2b185005 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x2b4509dd devlink_health_reporter_state_update +EXPORT_SYMBOL_GPL vmlinux 0x2b6150fb power_supply_temp2resist_simple +EXPORT_SYMBOL_GPL vmlinux 0x2b6d960d synth_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x2b76646e pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x2b86f0fd zynqmp_pm_bootmode_read +EXPORT_SYMBOL_GPL vmlinux 0x2b952517 clk_has_parent +EXPORT_SYMBOL_GPL vmlinux 0x2b960b66 qman_is_probed +EXPORT_SYMBOL_GPL vmlinux 0x2b9997fb atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x2b9c806c irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0x2ba07158 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x2baa81d2 devm_clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2bd3f027 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x2bdeb0da blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x2bdf5ab0 pm_wakeup_pending +EXPORT_SYMBOL_GPL vmlinux 0x2beeab68 fsl_mc_portal_reset +EXPORT_SYMBOL_GPL vmlinux 0x2bf9b2ec relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0x2c025521 nvme_host_path_error +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c33f768 pci_iov_vf_id +EXPORT_SYMBOL_GPL vmlinux 0x2c36cc85 __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0x2c440df6 rio_request_mport_dma +EXPORT_SYMBOL_GPL vmlinux 0x2c635527 arch_invalidate_pmem +EXPORT_SYMBOL_GPL vmlinux 0x2c66ac85 devlink_info_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x2c6caa50 gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0x2c790d4a __tracepoint_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c81a826 imx_1443x_pll +EXPORT_SYMBOL_GPL vmlinux 0x2c8474e9 irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0x2c8710ec of_hte_req_count +EXPORT_SYMBOL_GPL vmlinux 0x2c87f201 nvme_start_admin_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c8dd6b8 edac_mem_types +EXPORT_SYMBOL_GPL vmlinux 0x2c97f8a2 of_reconfig_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2ca115a4 __of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x2ca4bd1c anon_inode_getfd_secure +EXPORT_SYMBOL_GPL vmlinux 0x2cb5f093 nvme_wait_reset +EXPORT_SYMBOL_GPL vmlinux 0x2cb65f95 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2cbf66eb regmap_multi_reg_write_bypassed +EXPORT_SYMBOL_GPL vmlinux 0x2cc495c5 rpi_firmware_property_list +EXPORT_SYMBOL_GPL vmlinux 0x2cc4de11 gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0x2cc9d064 sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x2ccb843b gnttab_map_refs +EXPORT_SYMBOL_GPL vmlinux 0x2cd7301a fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0x2cd82063 dev_pm_opp_put_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x2cdb264f pm_wakeup_ws_event +EXPORT_SYMBOL_GPL vmlinux 0x2ce61f33 __SCK__tp_func_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x2cf007e7 pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0x2cfef2cd spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2d001c16 mtk_pinconf_drive_set +EXPORT_SYMBOL_GPL vmlinux 0x2d0684a9 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x2d15feef kvm_vcpu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x2d18a1f5 ahci_reset_controller +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d2a616b __phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x2d2c902f perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current +EXPORT_SYMBOL_GPL vmlinux 0x2d355906 regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts +EXPORT_SYMBOL_GPL vmlinux 0x2d4635ab rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x2d5b251e securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x2d5ec1b8 iomap_dio_bio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x2d5f69b3 rcu_read_unlock_strict +EXPORT_SYMBOL_GPL vmlinux 0x2d609547 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x2d6aa0f0 arch_apei_enable_cmcff +EXPORT_SYMBOL_GPL vmlinux 0x2d6c2e09 devm_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x2d7819e9 sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x2d9d77a4 mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0x2da7b214 phy_get +EXPORT_SYMBOL_GPL vmlinux 0x2daad391 of_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x2db67d4a owl_sps_set_pg +EXPORT_SYMBOL_GPL vmlinux 0x2dbe5c56 fb_deferred_io_release +EXPORT_SYMBOL_GPL vmlinux 0x2dd50faa blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0x2ddd5b55 devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0x2de3c8e4 devm_tegra_memory_controller_get +EXPORT_SYMBOL_GPL vmlinux 0x2de6a79e gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x2e028ae6 rcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x2e08226d badrange_add +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e3438f1 trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2e378aa0 rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x2e5f482f blk_crypto_update_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x2e6000e7 adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2e66298c __SCK__tp_func_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x2e6ada94 rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0x2e6b1496 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x2e7f2cd6 of_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x2e9741fe regulator_desc_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x2e9ec24d free_iova +EXPORT_SYMBOL_GPL vmlinux 0x2ea06609 bio_add_zone_append_page +EXPORT_SYMBOL_GPL vmlinux 0x2eaa5ed1 vp_modern_get_driver_features +EXPORT_SYMBOL_GPL vmlinux 0x2eb46638 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x2eb4cc63 device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0x2ebb19fd execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x2ebd17ca iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0x2ebd97ac free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2eca1896 ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0x2ed04f34 dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0x2ed489ec gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL vmlinux 0x2edafeaf mtk_eint_find_irq +EXPORT_SYMBOL_GPL vmlinux 0x2ee7c52b btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x2f0d9053 usb_otg_state_string +EXPORT_SYMBOL_GPL vmlinux 0x2f1ea064 __SCK__tp_func_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x2f1eabe1 efivar_entry_find +EXPORT_SYMBOL_GPL vmlinux 0x2f2c95c4 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2f2ea688 nfnetlink_broadcast +EXPORT_SYMBOL_GPL vmlinux 0x2f2f8c85 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x2f4880df static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x2f61dcda fsl_mc_bus_dpseci_type +EXPORT_SYMBOL_GPL vmlinux 0x2f629eda blk_crypto_register +EXPORT_SYMBOL_GPL vmlinux 0x2f64415f unregister_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2f711d89 tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x2f7e45ff disk_uevent +EXPORT_SYMBOL_GPL vmlinux 0x2f93b264 paste_selection +EXPORT_SYMBOL_GPL vmlinux 0x2fa05ef1 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x2fa802e8 nvme_uninit_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x2faa8bd1 nf_ct_helper_log +EXPORT_SYMBOL_GPL vmlinux 0x2fab49b6 gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x2fac3c71 k3_ringacc_request_rings_pair +EXPORT_SYMBOL_GPL vmlinux 0x2fac9b96 power_supply_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2fb28e25 xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0x2fb65f97 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x2fc1e0fe kmem_valid_obj +EXPORT_SYMBOL_GPL vmlinux 0x2fca9496 nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2fe2d550 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2fef2abe regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x30123671 mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x30182378 mtk_clk_register_composites +EXPORT_SYMBOL_GPL vmlinux 0x3025eee0 tegra210_clk_emc_dll_update_setting +EXPORT_SYMBOL_GPL vmlinux 0x302a7ccf of_map_id +EXPORT_SYMBOL_GPL vmlinux 0x30351294 k3_udma_glue_rx_flow_get_fdq_id +EXPORT_SYMBOL_GPL vmlinux 0x303a9e6e pci_epc_put +EXPORT_SYMBOL_GPL vmlinux 0x303e6f23 to_software_node +EXPORT_SYMBOL_GPL vmlinux 0x30516372 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x305ceedf devm_nvdimm_memremap +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x307064db dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0x3075af6a dax_finish_sync_fault +EXPORT_SYMBOL_GPL vmlinux 0x30797a0f dev_pm_opp_put_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x308a09d6 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x308b30f8 nvme_delete_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x309c36bb dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0x30a288fa fuse_init_fs_context_submount +EXPORT_SYMBOL_GPL vmlinux 0x30af4323 blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x30c561fa fsl_mc_cleanup_irq_pool +EXPORT_SYMBOL_GPL vmlinux 0x30cbf06c dma_resv_test_signaled +EXPORT_SYMBOL_GPL vmlinux 0x30d4a73d dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x30df2ac2 devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x30e00893 crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0x30e1ec25 apei_map_generic_address +EXPORT_SYMBOL_GPL vmlinux 0x30f8f508 fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0x31019477 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x31073fd5 devm_hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x31128b8e hv_remove_kexec_handler +EXPORT_SYMBOL_GPL vmlinux 0x311c6da4 put_iova_domain +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x312746b0 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x313405dd simple_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0x313649a9 of_genpd_add_provider_onecell +EXPORT_SYMBOL_GPL vmlinux 0x313d34a6 fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0x313ea5fd ipi_send_single +EXPORT_SYMBOL_GPL vmlinux 0x314210ce security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x31422415 pm_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x3148ed31 trace_array_printk +EXPORT_SYMBOL_GPL vmlinux 0x31501297 rockchip_pcie_get_phys +EXPORT_SYMBOL_GPL vmlinux 0x3150c39d fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0x3167a5d3 iommu_enable_nesting +EXPORT_SYMBOL_GPL vmlinux 0x316a7837 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL vmlinux 0x31810bd8 crypto_alloc_tfm_node +EXPORT_SYMBOL_GPL vmlinux 0x31839ad3 software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x3187490a __SCK__tp_func_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x3192d768 cpufreq_remove_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x31970cce devm_memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31b79d5d wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31d34278 xas_load +EXPORT_SYMBOL_GPL vmlinux 0x31dca4d8 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x31e37ddf ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x31e9e8d5 zynqmp_pm_set_suspend_mode +EXPORT_SYMBOL_GPL vmlinux 0x31f0c0fb rio_unlock_device +EXPORT_SYMBOL_GPL vmlinux 0x31f2dca5 pm_genpd_init +EXPORT_SYMBOL_GPL vmlinux 0x31f9cf96 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x32151f12 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x321da10a usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x3224b2a9 mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0x32254dad extcon_get_extcon_dev +EXPORT_SYMBOL_GPL vmlinux 0x323d8636 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x324fdfda ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x325888a3 __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x325bd42e __traceiter_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x326b5309 dpcon_close +EXPORT_SYMBOL_GPL vmlinux 0x326cefe5 hwpoison_filter_dev_minor +EXPORT_SYMBOL_GPL vmlinux 0x327a2687 bind_evtchn_to_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x327f5763 clk_hw_register_gate2 +EXPORT_SYMBOL_GPL vmlinux 0x32836981 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x3288b93b __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0x328b1d7b sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x32903306 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x32903ee0 cpuidle_register +EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x32b2955d mtk_pinconf_bias_disable_get +EXPORT_SYMBOL_GPL vmlinux 0x32bc0fcf preempt_notifier_dec +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32d67837 dpbp_close +EXPORT_SYMBOL_GPL vmlinux 0x32d88961 fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0x32df33e7 x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x32e5859b rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x32ea0353 __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x32efe1e1 uart_get_rs485_mode +EXPORT_SYMBOL_GPL vmlinux 0x32fde7cb wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x330010b6 cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x330f6116 set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x3313f294 ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x3319135e misc_cg_uncharge +EXPORT_SYMBOL_GPL vmlinux 0x3321a873 nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL vmlinux 0x3332c026 dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0x33442b25 kvm_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x33488d20 gnttab_page_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x334af94a devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0x334eb9b4 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x334fdf97 ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0x33563fe0 i2c_slave_unregister +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x336a433d n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x336c0ef0 kvm_write_guest +EXPORT_SYMBOL_GPL vmlinux 0x336f4c6e switchdev_handle_port_obj_add_foreign +EXPORT_SYMBOL_GPL vmlinux 0x3383fc01 pm_wakeup_dev_event +EXPORT_SYMBOL_GPL vmlinux 0x33c7682c debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0x33c93d3c crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0x33caa7e2 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x33da404b bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x33dc0c8c device_del +EXPORT_SYMBOL_GPL vmlinux 0x33e17853 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x33e84b54 fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0x33f278d1 xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0x33f2b44e of_property_read_variable_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x3417167e fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0x341ed1c2 phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x342540b3 pinctrl_generic_get_group_count +EXPORT_SYMBOL_GPL vmlinux 0x3426efab input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0x34316952 serial8250_do_startup +EXPORT_SYMBOL_GPL vmlinux 0x34331f04 acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x344361a1 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0x344a2c84 iomap_dio_complete +EXPORT_SYMBOL_GPL vmlinux 0x344c8acf __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x3450ad94 mpi_set_ui +EXPORT_SYMBOL_GPL vmlinux 0x345aa86f pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0x34668048 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x346e59ac nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL vmlinux 0x3476ac5b list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0x3484867c driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x34a3ec77 fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0x34a5dc23 of_phandle_iterator_next +EXPORT_SYMBOL_GPL vmlinux 0x34a7169e irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x34a7b142 __SCK__tp_func_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x34b20eef usb_hcd_start_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x34b7336d fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x34b8ec7f stmpe811_adc_common_init +EXPORT_SYMBOL_GPL vmlinux 0x34ceb15d skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0x34d6586b regmap_get_raw_read_max +EXPORT_SYMBOL_GPL vmlinux 0x34eab46d bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x34fc4ad3 __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x350f6ce5 tasklet_unlock_wait +EXPORT_SYMBOL_GPL vmlinux 0x35119f07 nfs_ssc_client_tbl +EXPORT_SYMBOL_GPL vmlinux 0x35177d0e device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0x35184358 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x352b3813 maxim_charger_calc_reg_current +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x352ecc2e nfnetlink_send +EXPORT_SYMBOL_GPL vmlinux 0x3537a9ed pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0x3542a6e1 device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x355005e1 fsl_mc_allocate_irqs +EXPORT_SYMBOL_GPL vmlinux 0x3552811f unmap_mapping_pages +EXPORT_SYMBOL_GPL vmlinux 0x355b2ef2 ti_sci_put_handle +EXPORT_SYMBOL_GPL vmlinux 0x355bc89a klist_next +EXPORT_SYMBOL_GPL vmlinux 0x3562f983 read_sanitised_ftr_reg +EXPORT_SYMBOL_GPL vmlinux 0x35637e09 crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x3565a929 utf8_data_table +EXPORT_SYMBOL_GPL vmlinux 0x356fcabe virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0x357457c3 psil_get_ep_config +EXPORT_SYMBOL_GPL vmlinux 0x357b37c1 rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x358ff60f twl_get_hfclk_rate +EXPORT_SYMBOL_GPL vmlinux 0x35931adb ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x35966406 usb_string +EXPORT_SYMBOL_GPL vmlinux 0x35a4f59d zynqmp_pm_clock_setdivider +EXPORT_SYMBOL_GPL vmlinux 0x35cbd796 blk_mq_end_request_batch +EXPORT_SYMBOL_GPL vmlinux 0x35d3dc46 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x35d66ff1 __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x35f92407 get_state_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x36040346 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x36118024 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x36199a5e rio_map_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x361cb96c srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x3629e8b6 ata_sas_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x3632cdc9 pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0x3645de8b uprobe_register +EXPORT_SYMBOL_GPL vmlinux 0x36494db0 vp_legacy_set_features +EXPORT_SYMBOL_GPL vmlinux 0x364aa85b pcie_port_find_device +EXPORT_SYMBOL_GPL vmlinux 0x36515915 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x365989e5 imx_1416x_pll +EXPORT_SYMBOL_GPL vmlinux 0x365b45d1 __tracepoint_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x3666a4c9 handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0x36696c72 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL vmlinux 0x36898d6f gpiod_remove_hogs +EXPORT_SYMBOL_GPL vmlinux 0x368c64c8 ti_sci_inta_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x36ac17ab alloc_iova_fast +EXPORT_SYMBOL_GPL vmlinux 0x36b42105 restore_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x36c026ea tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0x36d3c6eb ahci_kick_engine +EXPORT_SYMBOL_GPL vmlinux 0x36d7a08f pci_epc_map_msi_irq +EXPORT_SYMBOL_GPL vmlinux 0x36db870b zynqmp_pm_sha_hash +EXPORT_SYMBOL_GPL vmlinux 0x36e20ec8 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x37038fe8 devm_regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x37169f79 cpu_latency_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x371ffb81 devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0x372958fb pm_genpd_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x372a6adb fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0x373394be dev_pm_opp_get_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x374f0296 gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0x3750d770 erst_read +EXPORT_SYMBOL_GPL vmlinux 0x37534e3c xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0x375d5b79 i2c_client_type +EXPORT_SYMBOL_GPL vmlinux 0x375fec1a kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x376846fd usb_choose_configuration +EXPORT_SYMBOL_GPL vmlinux 0x37731508 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x3775c25b k3_udma_glue_tx_cppi5_to_dma_addr +EXPORT_SYMBOL_GPL vmlinux 0x377bbcbc pm_suspend_target_state +EXPORT_SYMBOL_GPL vmlinux 0x378ac0c6 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x378adfb7 zynqmp_pm_sd_dll_reset +EXPORT_SYMBOL_GPL vmlinux 0x37914025 xenbus_write +EXPORT_SYMBOL_GPL vmlinux 0x37a28c2b extcon_set_state +EXPORT_SYMBOL_GPL vmlinux 0x37b0eb71 iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0x37bf7be3 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x37bf8a41 filemap_read +EXPORT_SYMBOL_GPL vmlinux 0x37c76b93 tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0x37d77c37 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x37eb6c0b devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x37f312b2 bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0x3801776b __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x3801f28a divider_ro_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x380dde36 power_supply_batinfo_ocv2cap +EXPORT_SYMBOL_GPL vmlinux 0x381463fc __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x381c597e ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x38268b62 icc_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x382f9629 acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x38539249 dev_pm_opp_get_freq +EXPORT_SYMBOL_GPL vmlinux 0x3857412f iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x3866e217 nvmem_device_write +EXPORT_SYMBOL_GPL vmlinux 0x386c1a99 meson_clk_mpll_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x38708e25 inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0x38760415 usb_wakeup_enabled_descendants +EXPORT_SYMBOL_GPL vmlinux 0x388d0d4f usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x389b64a2 static_key_count +EXPORT_SYMBOL_GPL vmlinux 0x38a34afe debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38aabe7a fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x38c3ff30 freq_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x38d0c212 phy_create +EXPORT_SYMBOL_GPL vmlinux 0x38e1fde7 mpi_set +EXPORT_SYMBOL_GPL vmlinux 0x38e5bc5a clk_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x3903c4ac iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x39134158 hwmon_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x3914e776 tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0x392e866d efivar_entry_set_get_size +EXPORT_SYMBOL_GPL vmlinux 0x39393064 devlink_port_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x393c0656 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x393f3821 ata_sas_port_suspend +EXPORT_SYMBOL_GPL vmlinux 0x395885b1 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0x396323f8 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x396cd770 nd_cmd_in_size +EXPORT_SYMBOL_GPL vmlinux 0x397760c5 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x397e2142 __SCK__tp_func_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x3986dad6 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x3993b1ba devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x39a26594 pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39aa4888 usb_role_string +EXPORT_SYMBOL_GPL vmlinux 0x39aa76f7 nf_nat_helper_register +EXPORT_SYMBOL_GPL vmlinux 0x39b03fa6 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x39bacb85 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x39c0d22c tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x39c31511 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x39c32aca __SCK__tp_func_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x39c9d88c xas_find +EXPORT_SYMBOL_GPL vmlinux 0x39d80cab regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x39ded098 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x39fd83db halt_poll_ns_shrink +EXPORT_SYMBOL_GPL vmlinux 0x3a04144c ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x3a0ad553 iommu_set_pgtable_quirks +EXPORT_SYMBOL_GPL vmlinux 0x3a1e9df1 acpi_driver_match_device +EXPORT_SYMBOL_GPL vmlinux 0x3a24fb2f percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0x3a394b8a irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a55981a static_key_enable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x3a6d37e6 fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x3a702a61 nvme_init_request +EXPORT_SYMBOL_GPL vmlinux 0x3a70a15d ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0x3a74e484 __tracepoint_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x3a871727 devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0x3a930390 meson_eeclkc_probe +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3ab90822 ohci_hub_status_data +EXPORT_SYMBOL_GPL vmlinux 0x3ac25e76 virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x3ac3feba rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3ad6d308 xenbus_probe_node +EXPORT_SYMBOL_GPL vmlinux 0x3af6a37a crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x3afc4a8f sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x3b015876 powercap_unregister_zone +EXPORT_SYMBOL_GPL vmlinux 0x3b0e387b genphy_c45_read_link +EXPORT_SYMBOL_GPL vmlinux 0x3b0fafb6 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x3b15891c add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3b187360 __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0x3b1cc090 thermal_remove_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x3b2c7c1c ahci_platform_resume +EXPORT_SYMBOL_GPL vmlinux 0x3b3bbf68 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x3b4c240a display_timings_release +EXPORT_SYMBOL_GPL vmlinux 0x3b4e78b8 of_dma_xlate_by_chan_id +EXPORT_SYMBOL_GPL vmlinux 0x3b4e9803 sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x3b610584 __tracepoint_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x3b61bcfe devm_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0x3b78bf02 sunxi_ccu_get_mmc_timing_mode +EXPORT_SYMBOL_GPL vmlinux 0x3b7a29fb thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x3b80b88b regmap_fields_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x3b8d3ccb sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x3b9230b7 kvm_vcpu_write_guest_page +EXPORT_SYMBOL_GPL vmlinux 0x3b952125 tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0x3b968336 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x3b9ad363 irq_domain_create_legacy +EXPORT_SYMBOL_GPL vmlinux 0x3b9fa287 blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x3ba01b47 get_compat_sigset +EXPORT_SYMBOL_GPL vmlinux 0x3baae5da perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x3bb33045 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0x3bbeef9d fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3bdc0e0c __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x3be3dc08 pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0x3be5a37a mtk_pinconf_adv_drive_set_raw +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3c0aa52f virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0x3c0e8050 hyperv_pcpu_input_arg +EXPORT_SYMBOL_GPL vmlinux 0x3c11b9f5 tegra210_put_utmipll_in_iddq +EXPORT_SYMBOL_GPL vmlinux 0x3c12184d fsl_mc_obj_open +EXPORT_SYMBOL_GPL vmlinux 0x3c1bb1f2 pinctrl_utils_add_map_configs +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c26de7e reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x3c277978 synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0x3c2b68f7 of_changeset_apply +EXPORT_SYMBOL_GPL vmlinux 0x3c300418 nf_ct_expect_init +EXPORT_SYMBOL_GPL vmlinux 0x3c38f071 acpi_device_update_power +EXPORT_SYMBOL_GPL vmlinux 0x3c3c85d8 __SCK__tp_func_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x3c4781e8 sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x3c4c73a4 dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0x3c59fe8d devres_get +EXPORT_SYMBOL_GPL vmlinux 0x3c5d543a hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x3c65ea6b __fscrypt_inode_uses_inline_crypto +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c718fa7 nvdimm_flush +EXPORT_SYMBOL_GPL vmlinux 0x3c7364ae skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0x3c73fc59 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x3c7cceaf nf_l4proto_log_invalid +EXPORT_SYMBOL_GPL vmlinux 0x3c93d762 devlink_to_dev +EXPORT_SYMBOL_GPL vmlinux 0x3c9ab88c gnttab_page_cache_put +EXPORT_SYMBOL_GPL vmlinux 0x3ca9ca0d devlink_rate_nodes_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3cae18fd __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x3cb71eb2 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x3cb9962b dprc_get_obj_count +EXPORT_SYMBOL_GPL vmlinux 0x3ccd8b46 zynqmp_pm_clock_getparent +EXPORT_SYMBOL_GPL vmlinux 0x3ccdd408 mtk_pinconf_adv_drive_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cd1b510 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x3cd94d2e thermal_zone_device_disable +EXPORT_SYMBOL_GPL vmlinux 0x3cf2d0ee mtk_pinconf_bias_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x3cfbe793 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x3d2011d1 devfreq_event_get_edev_count +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d3f62a9 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x3d4eb501 regmap_get_reg_stride +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d6f37ed mmc_poll_for_busy +EXPORT_SYMBOL_GPL vmlinux 0x3d72650b nfnetlink_subsys_register +EXPORT_SYMBOL_GPL vmlinux 0x3d72b6fb vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0x3d7490d9 stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0x3d7d47ca devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x3d7f883b unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x3d838501 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x3d866e05 __SCK__tp_func_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x3d8baf3b zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x3d942db5 iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0x3d99d520 acpi_dev_remove_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x3d9bbf75 wwan_port_txon +EXPORT_SYMBOL_GPL vmlinux 0x3d9e4366 nvme_stop_queues +EXPORT_SYMBOL_GPL vmlinux 0x3da8b73c devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0x3da8f815 memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x3daa2540 nf_hooks_lwtunnel_enabled +EXPORT_SYMBOL_GPL vmlinux 0x3dadbff8 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x3db967c7 of_get_required_opp_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x3ddb27ac pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3df077ea k3_ringacc_ring_cfg +EXPORT_SYMBOL_GPL vmlinux 0x3df4f36a kvm_irq_has_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3df6f07c spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x3df70c99 trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0x3dfb1411 mtk_mmsys_ddp_connect +EXPORT_SYMBOL_GPL vmlinux 0x3dfda69d iptunnel_metadata_reply +EXPORT_SYMBOL_GPL vmlinux 0x3dfee9c7 acpi_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x3e05f8c5 xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0x3e0ecb60 crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0x3e1bb8ec device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x3e22e36f rio_set_port_lockout +EXPORT_SYMBOL_GPL vmlinux 0x3e329cda component_master_del +EXPORT_SYMBOL_GPL vmlinux 0x3e37f7c3 fscrypt_symlink_getattr +EXPORT_SYMBOL_GPL vmlinux 0x3e4800c6 sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e7d6e53 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x3e7f8bb1 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x3e8ace12 vp_modern_get_status +EXPORT_SYMBOL_GPL vmlinux 0x3e9fd5db irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0x3ea5196d apei_osc_setup +EXPORT_SYMBOL_GPL vmlinux 0x3ead18d9 apple_rtkit_send_message +EXPORT_SYMBOL_GPL vmlinux 0x3ecbb0b4 print_tuple +EXPORT_SYMBOL_GPL vmlinux 0x3ed2df67 tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x3ed41a4f dev_pm_domain_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x3ed8603b scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x3ee8d125 folio_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3f06612b fsl_mc_resource_allocate +EXPORT_SYMBOL_GPL vmlinux 0x3f0ac49c usb_get_maximum_speed +EXPORT_SYMBOL_GPL vmlinux 0x3f1e7e05 rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x3f1febb5 pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0x3f366cf7 acpi_irq_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x3f3add51 serial8250_rpm_get +EXPORT_SYMBOL_GPL vmlinux 0x3f478535 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x3f491f49 reset_control_bulk_reset +EXPORT_SYMBOL_GPL vmlinux 0x3f4ee416 ahci_save_initial_config +EXPORT_SYMBOL_GPL vmlinux 0x3f57e987 of_pwm_single_xlate +EXPORT_SYMBOL_GPL vmlinux 0x3f7d6fa0 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3fa8ffd1 acpi_dev_get_property +EXPORT_SYMBOL_GPL vmlinux 0x3fae6ab0 hv_vp_index +EXPORT_SYMBOL_GPL vmlinux 0x3fd1f003 edac_device_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x3fe35aea irq_bypass_unregister_consumer +EXPORT_SYMBOL_GPL vmlinux 0x3fe6c346 devlink_fmsg_binary_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x3fea029c hisi_clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x3fee2c90 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x3ff2e349 hte_request_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x3ff77cd4 ftrace_set_filter_ips +EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x3fffb8ca aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x400a024b acpi_scan_lock_release +EXPORT_SYMBOL_GPL vmlinux 0x40108e7d blk_mq_alloc_sq_tag_set +EXPORT_SYMBOL_GPL vmlinux 0x401a139f of_add_property +EXPORT_SYMBOL_GPL vmlinux 0x401b5920 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x4020d591 devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0x40267068 usb_anchor_resume_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x403eac60 sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x403fff47 virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0x4043757f init_iova_domain +EXPORT_SYMBOL_GPL vmlinux 0x4044f2fd pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0x4065d168 pm_print_active_wakeup_sources +EXPORT_SYMBOL_GPL vmlinux 0x406c4cb1 hrtimer_resolution +EXPORT_SYMBOL_GPL vmlinux 0x4071b517 out_of_line_wait_on_bit_timeout +EXPORT_SYMBOL_GPL vmlinux 0x407a59c3 perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0x407af304 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x4088f801 of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x4099f919 tun_ptr_free +EXPORT_SYMBOL_GPL vmlinux 0x40a23395 register_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x40a98598 serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0x40bbdfb2 ohci_resume +EXPORT_SYMBOL_GPL vmlinux 0x40e0ba52 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0x40f0683e reset_control_put +EXPORT_SYMBOL_GPL vmlinux 0x40f8b94e ring_buffer_iter_dropped +EXPORT_SYMBOL_GPL vmlinux 0x40f8bd4e klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4100a662 clk_get_scaled_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x41191af8 devm_of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x411d48bc dma_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x41220124 dev_pm_qos_hide_flags +EXPORT_SYMBOL_GPL vmlinux 0x41237f71 cpu_have_feature +EXPORT_SYMBOL_GPL vmlinux 0x41285a5a raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x412b787b extcon_get_edev_name +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4134238a scmi_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4144b0ea trace_remove_event_call +EXPORT_SYMBOL_GPL vmlinux 0x41491652 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x414ad040 fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x414d119a videomode_from_timings +EXPORT_SYMBOL_GPL vmlinux 0x416b16cc blk_crypto_profile_destroy +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x418873cc irq_bypass_register_producer +EXPORT_SYMBOL_GPL vmlinux 0x418991f8 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x41901af9 pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0x419d2e47 proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0x419d7c83 zynqmp_pm_pinctrl_set_config +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x41a49a59 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x41a4b9ec kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x41a58f0e device_register +EXPORT_SYMBOL_GPL vmlinux 0x41a9d72f fsl_mc_bus_dpci_type +EXPORT_SYMBOL_GPL vmlinux 0x41b7bda1 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x41b9a6e6 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x41ba8ece bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0x41bce49a ghes_register_vendor_record_notifier +EXPORT_SYMBOL_GPL vmlinux 0x41beb8f5 __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x41d07fc4 sbitmap_queue_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x41e32822 pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x41e5b8df of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x41e74059 xen_xlate_remap_gfn_array +EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x4203b24e usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x42041512 i2c_get_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x420f3d01 nvmem_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4218539a crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0x42224de7 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4225a61e xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0x42350825 blk_crypto_evict_key +EXPORT_SYMBOL_GPL vmlinux 0x424a6575 pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0x424dbd99 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x42512600 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x42565dd0 wwan_port_rx +EXPORT_SYMBOL_GPL vmlinux 0x42611574 strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0x42635d55 pm_suspend_global_flags +EXPORT_SYMBOL_GPL vmlinux 0x426452a3 acpi_evaluation_failure_warn +EXPORT_SYMBOL_GPL vmlinux 0x426bca76 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x426f0a28 ata_platform_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x427912ef blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x427a8bf1 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x427df879 efivar_entry_set +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x429c3f9c reboot_mode +EXPORT_SYMBOL_GPL vmlinux 0x42acadda register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x42b9bb9d validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0x42bf8fe1 list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0x42d04449 nf_ct_seq_adjust +EXPORT_SYMBOL_GPL vmlinux 0x42d535f1 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x42ebee26 genphy_c45_pma_baset1_read_master_slave +EXPORT_SYMBOL_GPL vmlinux 0x42ed3e7e sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x42f6bea3 devm_hte_request_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x42f728aa mctrl_gpio_get_outputs +EXPORT_SYMBOL_GPL vmlinux 0x42ff341a regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x430b5402 xhci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x430d88ec __traceiter_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x430ddffc mtk_pinconf_adv_drive_get +EXPORT_SYMBOL_GPL vmlinux 0x430ec346 devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x43260bba pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0x43283145 ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x4341dd35 serdev_device_get_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x43573748 crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0x435f9027 mtk_pinconf_bias_disable_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x436062bd inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0x436d817f mpi_clear_bit +EXPORT_SYMBOL_GPL vmlinux 0x4370a697 dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x437c3bca regmap_get_val_endian +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x438d8df2 iova_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x43903ae0 crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x439b4b86 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x439b6969 rio_del_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43b85e1c pin_get_name +EXPORT_SYMBOL_GPL vmlinux 0x43c1856f blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x43c217ed of_mm_gpiochip_add_data +EXPORT_SYMBOL_GPL vmlinux 0x43c82598 __traceiter_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x43c93c34 devm_clk_bulk_get_all +EXPORT_SYMBOL_GPL vmlinux 0x43d070d2 __traceiter_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x43e6fd71 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x43ef1590 pm_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x43f81957 clk_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x43f92edd wait_for_initramfs +EXPORT_SYMBOL_GPL vmlinux 0x43fbbe3c perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0x43fe642e nvdimm_bus_add_badrange +EXPORT_SYMBOL_GPL vmlinux 0x4401e6c2 mpi_cmpabs +EXPORT_SYMBOL_GPL vmlinux 0x4407cfdc gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0x4422b092 preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x442deaa9 poll_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x4439bcd2 __SCK__tp_func_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x4446a8e1 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x444f1735 cpu_pm_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x44549558 device_match_name +EXPORT_SYMBOL_GPL vmlinux 0x445effc3 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL vmlinux 0x446310e5 fscrypt_set_bio_crypt_ctx +EXPORT_SYMBOL_GPL vmlinux 0x447ae22f rdev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x448a288f driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x449ebed1 sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0x44a793ab HYPERVISOR_grant_table_op +EXPORT_SYMBOL_GPL vmlinux 0x44aa71b4 preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x44ac6e77 hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44bb4882 rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44d13d8a sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x44d9d5fd fsl_mc_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0x44e1e9aa balloon_stats +EXPORT_SYMBOL_GPL vmlinux 0x44eb71fe fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0x44f74e41 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL vmlinux 0x45025319 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x450e74fc addrconf_add_linklocal +EXPORT_SYMBOL_GPL vmlinux 0x450e7a1f devm_hwmon_sanitize_name +EXPORT_SYMBOL_GPL vmlinux 0x451239ee ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x452c31a7 iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x4531624f usb_decode_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x4531ab62 copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x453b2168 acct_bioset_init +EXPORT_SYMBOL_GPL vmlinux 0x453d20be acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0x454b887f perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x45558f56 clk_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x4561f990 qcom_smem_state_unregister +EXPORT_SYMBOL_GPL vmlinux 0x456637b1 mtk_pinconf_adv_pull_get +EXPORT_SYMBOL_GPL vmlinux 0x45674199 devm_rtc_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x45686f79 __traceiter_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x457b3dc8 of_irq_parse_one +EXPORT_SYMBOL_GPL vmlinux 0x457d7722 spi_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x457e181e inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x4589cc99 regulator_set_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x459e6151 mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x45a0bc2f dev_pm_qos_hide_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x45a25ee5 locks_owner_has_blockers +EXPORT_SYMBOL_GPL vmlinux 0x45ad4a8f regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x45b5313e __class_create +EXPORT_SYMBOL_GPL vmlinux 0x45ca9f98 tpm_tis_remove +EXPORT_SYMBOL_GPL vmlinux 0x45d2e653 tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0x45d7e276 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x45e19612 vp_modern_set_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x45e68fa5 xdp_return_frame_bulk +EXPORT_SYMBOL_GPL vmlinux 0x45f85dca tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x46030074 __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x460f00bb fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x46108038 perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0x462518b2 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4625cb4f nf_ct_tmpl_free +EXPORT_SYMBOL_GPL vmlinux 0x46269814 __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x462b3dd2 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x462d8bad mbox_send_message +EXPORT_SYMBOL_GPL vmlinux 0x46554fb0 spi_mem_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x465556c5 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4668a9d6 dma_resv_iter_first +EXPORT_SYMBOL_GPL vmlinux 0x46725c72 bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0x467a920b __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x467cf6fd devm_thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x4684e927 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4694868e pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0x4699971f pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x469ed2ac nf_ct_timeout_hook +EXPORT_SYMBOL_GPL vmlinux 0x46a4b118 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x46af6973 usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x46b652a1 usb_hcd_end_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x46c5be22 clk_multiplier_ops +EXPORT_SYMBOL_GPL vmlinux 0x46c68b0e fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x46cfb193 devm_regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x46d78642 of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x46e67a71 this_cpu_has_cap +EXPORT_SYMBOL_GPL vmlinux 0x46f27278 nvme_reset_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x47032774 serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x47220aa5 ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4730b466 wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0x47384550 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x4743c23c __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0x47445687 mtk_pinconf_drive_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x47470d9a pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x474c4aca fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4763eca7 irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0x476fbc8e fuse_mount_remove +EXPORT_SYMBOL_GPL vmlinux 0x47739699 ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0x4778760d device_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x47859e64 gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x478b2d8f spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x478cee18 clk_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x478e81f8 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x4795db69 meson8_pmx_ops +EXPORT_SYMBOL_GPL vmlinux 0x479f7d4b clk_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x47aad3b9 have_governor_per_policy +EXPORT_SYMBOL_GPL vmlinux 0x47ada6bd inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x47b35a81 to_nvdimm_bus +EXPORT_SYMBOL_GPL vmlinux 0x47d0eea2 acpi_lpat_temp_to_raw +EXPORT_SYMBOL_GPL vmlinux 0x47de0dc7 clk_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x47e1cdfb __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x47ef3c30 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x47fa7871 rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x480305ca kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x4805cbb5 pstore_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4806106e rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x480a9aaa trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x480f390f espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0x4815aa79 dev_pm_opp_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x481e4d07 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0x481f9b7d mpi_mulm +EXPORT_SYMBOL_GPL vmlinux 0x48203853 em_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x4822ea5e ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0x4827735e of_phandle_args_to_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x4828e77b acpi_scan_lock_acquire +EXPORT_SYMBOL_GPL vmlinux 0x4837308d devres_find +EXPORT_SYMBOL_GPL vmlinux 0x483e57a0 trace_array_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0x48426171 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x4843a748 qman_portals_probed +EXPORT_SYMBOL_GPL vmlinux 0x48480fbe devm_clk_hw_get_clk +EXPORT_SYMBOL_GPL vmlinux 0x4852510a inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL vmlinux 0x4867f47d acpi_dev_ready_for_enumeration +EXPORT_SYMBOL_GPL vmlinux 0x486dea10 scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0x486dedc3 ghes_unregister_vendor_record_notifier +EXPORT_SYMBOL_GPL vmlinux 0x48797c02 dpbp_disable +EXPORT_SYMBOL_GPL vmlinux 0x487b0805 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x487cf583 __mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x488270f2 blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0x48829a7d clk_hw_get_parent_by_index +EXPORT_SYMBOL_GPL vmlinux 0x48a38b97 debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0x48a3d20b mctrl_gpio_get +EXPORT_SYMBOL_GPL vmlinux 0x48aebd0a gpiod_enable_hw_timestamp_ns +EXPORT_SYMBOL_GPL vmlinux 0x48b43869 imx_obtain_fixed_clk_hw +EXPORT_SYMBOL_GPL vmlinux 0x48bdb44f rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x48c32847 __SCK__tp_func_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x48d05115 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x48d18786 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x48d1b423 of_dma_router_register +EXPORT_SYMBOL_GPL vmlinux 0x48d7fe62 tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0x48d840c9 gfn_to_pfn_prot +EXPORT_SYMBOL_GPL vmlinux 0x48e4c780 rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x49083001 i2c_detect_slave_mode +EXPORT_SYMBOL_GPL vmlinux 0x4908f0df fsl_mc_bus_dpmac_type +EXPORT_SYMBOL_GPL vmlinux 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL vmlinux 0x49242bc7 freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x49253cb4 irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0x492bf8d2 sock_map_close +EXPORT_SYMBOL_GPL vmlinux 0x492e0730 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4934bdd0 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x49369caf net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x4939a6ff clk_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x4939ebcd numa_map_to_online_node +EXPORT_SYMBOL_GPL vmlinux 0x493d1a79 mtk_clk_unregister_composites +EXPORT_SYMBOL_GPL vmlinux 0x493e4dde genphy_c45_fast_retrain +EXPORT_SYMBOL_GPL vmlinux 0x4941582d register_btf_kfunc_id_set +EXPORT_SYMBOL_GPL vmlinux 0x49439da7 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x49608959 migrate_disable +EXPORT_SYMBOL_GPL vmlinux 0x4962e7ee crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0x497cccc9 sec_irq_init +EXPORT_SYMBOL_GPL vmlinux 0x4982911d modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x498a0183 acpi_storage_d3 +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49a6c8b6 wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0x49b835ea rio_lock_device +EXPORT_SYMBOL_GPL vmlinux 0x49cd25ed alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x49d2243c __efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49ea931c __gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL vmlinux 0x49f0ddee bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x49f48215 watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0x49f9742c pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0x4a157e9d __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x4a165abe pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a289ee5 cpufreq_freq_transition_end +EXPORT_SYMBOL_GPL vmlinux 0x4a28d20e dm_submit_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x4a3a20cf devm_apple_sart_get +EXPORT_SYMBOL_GPL vmlinux 0x4a420d09 acpi_bus_detach_private_data +EXPORT_SYMBOL_GPL vmlinux 0x4a4c59bd dev_pm_opp_unregister_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x4a5cd02c crypto_grab_kpp +EXPORT_SYMBOL_GPL vmlinux 0x4a5db7bd acpi_match_device +EXPORT_SYMBOL_GPL vmlinux 0x4a666ca2 fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0x4a672499 devm_clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4a6ce068 kvm_vcpu_gfn_to_pfn +EXPORT_SYMBOL_GPL vmlinux 0x4a75a7a4 xhci_dbg_trace +EXPORT_SYMBOL_GPL vmlinux 0x4a76b88f sdio_retune_release +EXPORT_SYMBOL_GPL vmlinux 0x4a7a9186 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x4a8ede41 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x4aa31066 regmap_mmio_attach_clk +EXPORT_SYMBOL_GPL vmlinux 0x4ac252ab clk_hw_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x4aeefebf genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x4af0dc39 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0x4af353e8 rio_pw_enable +EXPORT_SYMBOL_GPL vmlinux 0x4b053762 nd_region_dev +EXPORT_SYMBOL_GPL vmlinux 0x4b408875 clk_mux_val_to_index +EXPORT_SYMBOL_GPL vmlinux 0x4b433ab3 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x4b51f74c ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x4b59aa01 of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x4b5acf74 rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0x4b72260c trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0x4b777feb ahci_platform_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x4b7aa4ef iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0x4b8541a9 dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x4b881f0c da9052_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x4b931968 xen_features +EXPORT_SYMBOL_GPL vmlinux 0x4b99cd73 acpi_get_and_request_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x4ba75f1c debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x4bb21b5c pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x4bb62dd3 soc_device_match +EXPORT_SYMBOL_GPL vmlinux 0x4bb85817 fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0x4bc2ff3f device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x4bc6fda1 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x4bc8727f xen_balloon_init +EXPORT_SYMBOL_GPL vmlinux 0x4bcb5fdf iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4bd6f08b misc_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4bd863f7 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x4bdb8dcc housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4bdbcbae tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x4bfd398d hwrng_msleep +EXPORT_SYMBOL_GPL vmlinux 0x4c01c4cd ip_route_output_key_hash +EXPORT_SYMBOL_GPL vmlinux 0x4c01d726 crypto_create_tfm_node +EXPORT_SYMBOL_GPL vmlinux 0x4c074727 seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0x4c0a2af6 get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0x4c21a8e1 wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x4c27b36d platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0x4c2c0ea7 evtchn_make_refcounted +EXPORT_SYMBOL_GPL vmlinux 0x4c410fee kthread_func +EXPORT_SYMBOL_GPL vmlinux 0x4c468e37 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x4c53ba46 ehci_resume +EXPORT_SYMBOL_GPL vmlinux 0x4c549b36 __traceiter_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x4c559d5f pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4c5df771 crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0x4c6a09a7 ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0x4c6d3f92 nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0x4c77f2f0 virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0x4c8adfe1 hv_root_partition +EXPORT_SYMBOL_GPL vmlinux 0x4c9dbc09 crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x4cb27100 ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x4cb81fda __SCK__tp_func_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x4cb8f967 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x4cd474bc ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x4cd8d368 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x4cdc2fc5 bgmac_enet_probe +EXPORT_SYMBOL_GPL vmlinux 0x4ce1f776 spi_take_timestamp_post +EXPORT_SYMBOL_GPL vmlinux 0x4ce92f7b ahci_init_controller +EXPORT_SYMBOL_GPL vmlinux 0x4cf392ff pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0x4cfb83e3 sdio_retune_crc_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d0fecc4 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4d1d0cab thermal_zone_device_update +EXPORT_SYMBOL_GPL vmlinux 0x4d2b8a66 posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x4d32d5fc wwan_unregister_ops +EXPORT_SYMBOL_GPL vmlinux 0x4d3826aa blk_mark_disk_dead +EXPORT_SYMBOL_GPL vmlinux 0x4d382f84 crypto_stats_rng_seed +EXPORT_SYMBOL_GPL vmlinux 0x4d3a0696 __SCK__tp_func_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x4d3c6814 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x4d3ec3b9 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d61cc8c power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x4d641163 xhci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d7272e4 migrate_enable +EXPORT_SYMBOL_GPL vmlinux 0x4d83c710 k3_udma_glue_tdown_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x4d919089 blk_crypto_has_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x4d95d6d1 memcpy_flushcache +EXPORT_SYMBOL_GPL vmlinux 0x4d9942d9 inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x4d9d25ad pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0x4da77670 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x4dabb643 vp_modern_remove +EXPORT_SYMBOL_GPL vmlinux 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4db7f17f device_match_any +EXPORT_SYMBOL_GPL vmlinux 0x4dbc00c1 devm_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x4dc33201 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x4dd96182 fsl_mc_get_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4de17ab3 usb_state_string +EXPORT_SYMBOL_GPL vmlinux 0x4de8bdd6 gnttab_foreach_grant_in_range +EXPORT_SYMBOL_GPL vmlinux 0x4dff61e5 wwan_port_txoff +EXPORT_SYMBOL_GPL vmlinux 0x4dfffc46 user_read +EXPORT_SYMBOL_GPL vmlinux 0x4e0523fe pinctrl_enable +EXPORT_SYMBOL_GPL vmlinux 0x4e09798d pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x4e17c613 ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x4e2032bc __hwspin_unlock +EXPORT_SYMBOL_GPL vmlinux 0x4e331e6d devm_regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4e3817f4 fbcon_modechange_possible +EXPORT_SYMBOL_GPL vmlinux 0x4e390164 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x4e399706 thermal_zone_get_slope +EXPORT_SYMBOL_GPL vmlinux 0x4e3fd1b4 kvm_release_pfn_clean +EXPORT_SYMBOL_GPL vmlinux 0x4e4c37e2 freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4e4efb55 hte_ts_get +EXPORT_SYMBOL_GPL vmlinux 0x4e4f6356 synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0x4e53e4c4 devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x4e74878e __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x4e9a2d5c __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x4e9b6958 acpi_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x4ea78b1a __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4eb39d4e __tracepoint_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0x4ec2f275 tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0x4ece3615 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4ee17435 skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4efb79cc devfreq_get_devfreq_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x4efcf021 mpi_normalize +EXPORT_SYMBOL_GPL vmlinux 0x4f19d318 bpf_trace_run2 +EXPORT_SYMBOL_GPL vmlinux 0x4f23b0b8 pinctrl_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0x4f2593f0 btree_update +EXPORT_SYMBOL_GPL vmlinux 0x4f25cafa __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x4f2c996d kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x4f37ddf6 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x4f3ce4ef sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x4f4a5c0c platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x4f4e9b09 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x4f586e72 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x4f5b9d4c serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4f72a987 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0x4f7a0ef4 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x4f7b5873 mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x4f8566d5 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x4f8d5db5 devm_apple_rtkit_init +EXPORT_SYMBOL_GPL vmlinux 0x4f98d766 cpu_pm_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4fa49b90 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4fa5403e attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x4fa67b6c ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x4fa8f4b0 dev_pm_opp_put_clkname +EXPORT_SYMBOL_GPL vmlinux 0x4fb58fa9 edac_pci_handle_pe +EXPORT_SYMBOL_GPL vmlinux 0x4fbc39a6 uart_console_device +EXPORT_SYMBOL_GPL vmlinux 0x4fbccdad pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x4fc0db78 kvm_vcpu_gfn_to_page +EXPORT_SYMBOL_GPL vmlinux 0x4fcce33b ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x4fd80e68 pcie_reset_flr +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4fe61dfd housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0x4fe7b249 fsl_mc_bus_dpaiop_type +EXPORT_SYMBOL_GPL vmlinux 0x4fe88305 crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0x4ff64212 is_software_node +EXPORT_SYMBOL_GPL vmlinux 0x50048a12 pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0x500c768c apei_exec_read_register +EXPORT_SYMBOL_GPL vmlinux 0x501583f3 serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x501747e5 device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0x5026585c xen_irq_from_gsi +EXPORT_SYMBOL_GPL vmlinux 0x503004af class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x503c0209 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x503cab85 handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x5049979f skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0x5050b2fb irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x505b74c3 crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0x505ebd8a pl08x_filter_id +EXPORT_SYMBOL_GPL vmlinux 0x50616e69 devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5068a167 regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x506987bb ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x506a360d xdp_do_redirect_frame +EXPORT_SYMBOL_GPL vmlinux 0x50799a30 mmc_crypto_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x507e88bc skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x508048a9 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x508dbb5e tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x509e0739 blk_crypto_intersect_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x50a40a69 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x50a706ee debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x50a7a16b fwnode_graph_get_endpoint_count +EXPORT_SYMBOL_GPL vmlinux 0x50bb2bd1 kvm_read_guest_cached +EXPORT_SYMBOL_GPL vmlinux 0x50c2ae54 rpi_firmware_property +EXPORT_SYMBOL_GPL vmlinux 0x50c5c0ee fsl_mc_device_add +EXPORT_SYMBOL_GPL vmlinux 0x50c81fdd __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x50d3803a hisi_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x50df94f5 btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x50e4c9db skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x51108d61 devlink_net +EXPORT_SYMBOL_GPL vmlinux 0x5120ed3b scmi_protocol_unregister +EXPORT_SYMBOL_GPL vmlinux 0x512d535a sbitmap_queue_show +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x5139fa45 pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x51512739 vp_modern_queue_address +EXPORT_SYMBOL_GPL vmlinux 0x5152bd85 devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0x515b390f __SCK__tp_func_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x5162a1db nvme_remove_namespaces +EXPORT_SYMBOL_GPL vmlinux 0x5167b89a gpiochip_add_pin_range +EXPORT_SYMBOL_GPL vmlinux 0x5169344d k3_udma_glue_pop_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x516ace95 blk_mq_hctx_set_fq_lock_class +EXPORT_SYMBOL_GPL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x51991b38 mtk_mutex_enable +EXPORT_SYMBOL_GPL vmlinux 0x51a348cc usb_role_switch_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x51ad07dd tegra210_plle_hw_sequence_start +EXPORT_SYMBOL_GPL vmlinux 0x51ad393d gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x51b1be59 create_signature +EXPORT_SYMBOL_GPL vmlinux 0x51b42054 event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0x51ba7b15 ping_close +EXPORT_SYMBOL_GPL vmlinux 0x51bf963b start_poll_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x51d13875 nf_hooks_lwtunnel_sysctl_handler +EXPORT_SYMBOL_GPL vmlinux 0x51de9222 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x51fc9a6d xenmem_reservation_decrease +EXPORT_SYMBOL_GPL vmlinux 0x52070716 acpi_spi_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5208433f regmap_test_bits +EXPORT_SYMBOL_GPL vmlinux 0x5208cc0f pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0x52104274 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x5214141f da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x52222f48 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x52228788 xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0x52252316 clk_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x52431348 xenbus_transaction_start +EXPORT_SYMBOL_GPL vmlinux 0x524bf033 genphy_c45_pma_baset1_setup_master_slave +EXPORT_SYMBOL_GPL vmlinux 0x524eb3f5 dm_audit_log_bio +EXPORT_SYMBOL_GPL vmlinux 0x52542ec4 fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0x525d0aa3 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x526bcf2a wwan_port_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x526c5725 cros_ec_get_sensor_count +EXPORT_SYMBOL_GPL vmlinux 0x52701755 platform_clear +EXPORT_SYMBOL_GPL vmlinux 0x5271574b fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5283a7ca irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0x5283a8bf ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x528b9dfd pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x5291c90b regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x52a5367d __alloc_pages_bulk +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52b9e8b8 mark_page_dirty_in_slot +EXPORT_SYMBOL_GPL vmlinux 0x52bd983c inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x52c23d72 regmap_async_complete +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52c4f3cc usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x52ce2057 hv_setup_crash_handler +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x52e3e7d5 debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0x53012944 __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x530a59f4 dax_zero_range +EXPORT_SYMBOL_GPL vmlinux 0x530fb6b1 kpp_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x531821e2 usb_control_msg_recv +EXPORT_SYMBOL_GPL vmlinux 0x5326f6f7 device_link_add +EXPORT_SYMBOL_GPL vmlinux 0x532b90b5 kprobe_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x533ebca4 __traceiter_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x535e114d fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x536822e3 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x5369392d of_clk_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x537252cf __SCK__tp_func_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x53769b61 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x538570cf cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL vmlinux 0x53a483dd devm_regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x53ac9a9f __devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x53bea3bb ohci_restart +EXPORT_SYMBOL_GPL vmlinux 0x53bf08f0 efivar_entry_add +EXPORT_SYMBOL_GPL vmlinux 0x53c089f5 property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x53c302e9 wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0x53d7c01e __traceiter_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x53db9185 devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x53e4c0c9 md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x53ec8cdd fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0x540c5075 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x541be082 dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x5424d010 device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x543261d4 crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0x5434a101 strp_stop +EXPORT_SYMBOL_GPL vmlinux 0x54369ba7 cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x543c15ef class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x54493411 virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0x544b6a62 devm_blk_crypto_profile_init +EXPORT_SYMBOL_GPL vmlinux 0x545d31a0 scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x54651f9b rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x546d6b55 __traceiter_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0x5474a56a ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x547cafa3 devfreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x54a0e3a2 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x54a25da2 qcom_smem_state_put +EXPORT_SYMBOL_GPL vmlinux 0x54adcc02 md_run +EXPORT_SYMBOL_GPL vmlinux 0x54cc7cbf do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0x54cee684 __tracepoint_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x54db2fc5 __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0x54e377eb blk_crypto_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0x54ebc82e gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x54fdebb5 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x550f3e05 i2c_freq_mode_string +EXPORT_SYMBOL_GPL vmlinux 0x551fb4ff free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x55279fc0 dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0x5528543b vmap_pfn +EXPORT_SYMBOL_GPL vmlinux 0x5528787e nvmem_del_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x5529c17b dpbp_reset +EXPORT_SYMBOL_GPL vmlinux 0x552b0b95 proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0x552da417 pinconf_generic_parse_dt_config +EXPORT_SYMBOL_GPL vmlinux 0x55339365 flush_delayed_fput +EXPORT_SYMBOL_GPL vmlinux 0x553b49a4 cpufreq_get_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x55417264 unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x555f7bf2 crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0x556033c6 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x556e4390 clk_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x5573938c gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x558f9f11 devm_acpi_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x5591f712 crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0x559487b2 __clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x5594ea45 dpcon_reset +EXPORT_SYMBOL_GPL vmlinux 0x5597bfac ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0x559ef50f __traceiter_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x55b47565 iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x55c2b862 unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x55c76a23 ksys_sync_helper +EXPORT_SYMBOL_GPL vmlinux 0x55c8b9d4 fsl_mc_bus_dprc_type +EXPORT_SYMBOL_GPL vmlinux 0x55c9880c zynqmp_pm_release_node +EXPORT_SYMBOL_GPL vmlinux 0x55e071bb rio_del_device +EXPORT_SYMBOL_GPL vmlinux 0x55eb43c1 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x5607bc64 __traceiter_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x561234c6 fs_dax_get_by_bdev +EXPORT_SYMBOL_GPL vmlinux 0x5615a9bb mmc_regulator_set_vqmmc +EXPORT_SYMBOL_GPL vmlinux 0x56173654 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x561f30fd l3mdev_ifindex_lookup_by_table_id +EXPORT_SYMBOL_GPL vmlinux 0x56256e8a orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x5630dda0 __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x56453f39 devm_regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x565afd69 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x565c8d31 device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x565e3663 serial8250_em485_destroy +EXPORT_SYMBOL_GPL vmlinux 0x56688964 of_property_read_variable_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x56760bf0 irq_domain_create_simple +EXPORT_SYMBOL_GPL vmlinux 0x567e7dc7 cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0x5697d088 devm_regmap_field_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x569ca074 bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0x569cfbd6 serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0x569ef4f3 spi_controller_suspend +EXPORT_SYMBOL_GPL vmlinux 0x56a4b301 scsi_alloc_request +EXPORT_SYMBOL_GPL vmlinux 0x56b36e14 of_property_count_elems_of_size +EXPORT_SYMBOL_GPL vmlinux 0x56bff713 dma_resv_get_singleton +EXPORT_SYMBOL_GPL vmlinux 0x56db3d19 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x56e9103b cpu_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x56eef147 pcc_mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x56f6eebe amba_bustype +EXPORT_SYMBOL_GPL vmlinux 0x56fbb130 no_hash_pointers +EXPORT_SYMBOL_GPL vmlinux 0x5712c584 pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0x5714f8f3 ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x573af85b apple_rtkit_wake +EXPORT_SYMBOL_GPL vmlinux 0x574609c5 apei_exec_write_register_value +EXPORT_SYMBOL_GPL vmlinux 0x5757cdd5 crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x575e7ca4 nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x57719632 gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x577a438a tegra210_clk_emc_detach +EXPORT_SYMBOL_GPL vmlinux 0x578cc3ef tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0x578eeb4d hugetlb_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x5790e7a0 pci_unlock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0x5795e228 devm_mipi_dsi_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57ace431 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x57d35782 mtk_clk_register_factors +EXPORT_SYMBOL_GPL vmlinux 0x57d4050a xhci_get_endpoint_index +EXPORT_SYMBOL_GPL vmlinux 0x57e8af36 fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0x57eae295 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL vmlinux 0x57f1813a meson_aoclkc_probe +EXPORT_SYMBOL_GPL vmlinux 0x57f576b9 mpi_ec_curve_point +EXPORT_SYMBOL_GPL vmlinux 0x581e3a40 kvm_vcpu_halt +EXPORT_SYMBOL_GPL vmlinux 0x5822f21f dev_pm_opp_disable +EXPORT_SYMBOL_GPL vmlinux 0x58276f93 cper_next_record_id +EXPORT_SYMBOL_GPL vmlinux 0x58315632 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x5833c356 generic_online_page +EXPORT_SYMBOL_GPL vmlinux 0x583517d2 gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x583a140e pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0x586bfc8a alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x587bb188 fsl_mc_populate_irq_pool +EXPORT_SYMBOL_GPL vmlinux 0x588a9392 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x58905457 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x58a5f10d gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x58b0943b udp_tunnel_nic_ops +EXPORT_SYMBOL_GPL vmlinux 0x58d55914 of_icc_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x58d5c883 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x58db1176 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x58e14f15 HYPERVISOR_event_channel_op +EXPORT_SYMBOL_GPL vmlinux 0x58e1ce06 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x58fb4ac7 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x58fbfe86 linear_hugepage_index +EXPORT_SYMBOL_GPL vmlinux 0x5907b261 nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0x59107d45 fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0x591b37f1 pinctrl_force_sleep +EXPORT_SYMBOL_GPL vmlinux 0x592feccf rockchip_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x594fc751 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x595ef292 pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0x597695f2 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x5982c7ff dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x5986d190 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0x599502eb mtk_pinconf_drive_get +EXPORT_SYMBOL_GPL vmlinux 0x5995faf1 kvm_read_guest_page +EXPORT_SYMBOL_GPL vmlinux 0x59a6f71c lp8788_write_byte +EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59c43dc9 __traceiter_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x59d6aa4e fwnode_graph_get_remote_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x59d75ba2 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x59e640c0 halt_poll_ns +EXPORT_SYMBOL_GPL vmlinux 0x59f32720 mpi_subm +EXPORT_SYMBOL_GPL vmlinux 0x59f8b7c6 ms_hyperv +EXPORT_SYMBOL_GPL vmlinux 0x5a05c0da crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x5a0a1f3b class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x5a11df78 __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x5a12e60c __SCK__tp_func_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a221421 pm_clk_resume +EXPORT_SYMBOL_GPL vmlinux 0x5a237dfe thermal_zone_bind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x5a299c90 blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0x5a32bbf7 kvm_get_kvm +EXPORT_SYMBOL_GPL vmlinux 0x5a374234 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x5a41dc21 nf_ct_ecache_ext_add +EXPORT_SYMBOL_GPL vmlinux 0x5a42c937 sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0x5a482575 pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a6203c6 ping_hash +EXPORT_SYMBOL_GPL vmlinux 0x5a63ae29 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a84cb13 acpi_cppc_processor_exit +EXPORT_SYMBOL_GPL vmlinux 0x5a952028 platform_irqchip_probe +EXPORT_SYMBOL_GPL vmlinux 0x5a9ae9cf tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5a9d9514 pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x5aa3bc41 msi_next_desc +EXPORT_SYMBOL_GPL vmlinux 0x5aa70984 acpi_reduced_hardware +EXPORT_SYMBOL_GPL vmlinux 0x5ab09745 edac_get_owner +EXPORT_SYMBOL_GPL vmlinux 0x5ab1e7bd rio_mport_chk_dev_access +EXPORT_SYMBOL_GPL vmlinux 0x5ab8ebb1 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x5ac93984 serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0x5ad90396 raw_v6_match +EXPORT_SYMBOL_GPL vmlinux 0x5aea7bb8 kvm_is_visible_gfn +EXPORT_SYMBOL_GPL vmlinux 0x5af5b0b4 dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0x5af8deb3 devlink_rate_leaf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5afb9693 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x5b111d0a subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b269426 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x5b279d22 file_is_kvm +EXPORT_SYMBOL_GPL vmlinux 0x5b354f65 devm_acpi_dev_add_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x5b3cedab sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x5b487a68 tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0x5b53e619 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x5b544c12 vp_modern_get_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x5b565d82 md_account_bio +EXPORT_SYMBOL_GPL vmlinux 0x5b6b0329 swiotlb_max_segment +EXPORT_SYMBOL_GPL vmlinux 0x5b73c914 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x5b77c141 clk_hw_get_name +EXPORT_SYMBOL_GPL vmlinux 0x5b7df133 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x5b803637 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x5b84a597 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x5b8dc6a7 of_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0x5b8ef647 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x5b9b5d94 device_set_node +EXPORT_SYMBOL_GPL vmlinux 0x5ba423e6 skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0x5ba81ea1 blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x5ba9c87f blk_crypto_keyslot_index +EXPORT_SYMBOL_GPL vmlinux 0x5bb9ef60 iocb_bio_iopoll +EXPORT_SYMBOL_GPL vmlinux 0x5bbdfa26 scatterwalk_ffwd +EXPORT_SYMBOL_GPL vmlinux 0x5bc950fe regulator_irq_helper_cancel +EXPORT_SYMBOL_GPL vmlinux 0x5bcc0df7 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5bd0748f crypto_del_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x5bd6d5cd gen10g_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x5bdae35b usb_phy_roothub_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x5bdbac4e rcu_unexpedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x5be6ab4b dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x5bf67dbe vchan_find_desc +EXPORT_SYMBOL_GPL vmlinux 0x5c070f62 cper_mem_err_status_str +EXPORT_SYMBOL_GPL vmlinux 0x5c0eaf31 acpi_dev_resource_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x5c0f77ce HYPERVISOR_platform_op_raw +EXPORT_SYMBOL_GPL vmlinux 0x5c2f1546 devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0x5c3bbd06 __SCK__tp_func_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x5c4992aa bpf_trace_run8 +EXPORT_SYMBOL_GPL vmlinux 0x5c4d11c8 do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0x5c5a1b16 tick_broadcast_control +EXPORT_SYMBOL_GPL vmlinux 0x5c6e6259 device_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x5c82016e __SCK__tp_func_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x5cab9945 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x5cad8fc3 power_supply_ocv2cap_simple +EXPORT_SYMBOL_GPL vmlinux 0x5cb9c105 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x5cbfb4b0 sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x5ccbf6c1 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x5cd80eee srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL vmlinux 0x5ceb17e8 devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x5cede0a7 xdp_flush_frame_bulk +EXPORT_SYMBOL_GPL vmlinux 0x5cf05682 crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0x5cf37365 i2c_dw_configure_master +EXPORT_SYMBOL_GPL vmlinux 0x5cfda19d cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0x5d0545eb pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x5d0d2d89 gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0x5d17148b apei_write +EXPORT_SYMBOL_GPL vmlinux 0x5d1b71f1 fsl_mc_bus_dpmcp_type +EXPORT_SYMBOL_GPL vmlinux 0x5d2aa5fb rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0x5d2bc42a reset_control_rearm +EXPORT_SYMBOL_GPL vmlinux 0x5d3508f1 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x5d37052e mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x5d398082 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x5d4d2f98 of_get_display_timing +EXPORT_SYMBOL_GPL vmlinux 0x5d6014d8 nvmem_cell_read_u8 +EXPORT_SYMBOL_GPL vmlinux 0x5d615c5d bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x5d6aa2b3 page_cache_async_ra +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d8a4205 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x5da2d0e2 __traceiter_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5db0545c key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0x5db275bd __acpi_node_get_property_reference +EXPORT_SYMBOL_GPL vmlinux 0x5dbe94ae fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x5dc3433a edac_pci_add_device +EXPORT_SYMBOL_GPL vmlinux 0x5dcff915 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5dd9c6c2 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x5dda7a12 dpcon_set_notification +EXPORT_SYMBOL_GPL vmlinux 0x5ddd6f02 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0x5ddf5e4b skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0x5de412cd k3_ringacc_ring_push +EXPORT_SYMBOL_GPL vmlinux 0x5de85c37 wwan_register_ops +EXPORT_SYMBOL_GPL vmlinux 0x5df2700f crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x5df7b2c8 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x5e030759 irq_domain_update_bus_token +EXPORT_SYMBOL_GPL vmlinux 0x5e12ed31 nvmem_device_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x5e142bc1 rio_mport_get_efb +EXPORT_SYMBOL_GPL vmlinux 0x5e173309 cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x5e1ce997 mtk_build_eint +EXPORT_SYMBOL_GPL vmlinux 0x5e1ec08c regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x5e2f4ae5 ata_qc_get_active +EXPORT_SYMBOL_GPL vmlinux 0x5e4fa9bc init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e524767 __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0x5e62333c nfs42_ssc_register +EXPORT_SYMBOL_GPL vmlinux 0x5e74c1fa apple_rtkit_quiesce +EXPORT_SYMBOL_GPL vmlinux 0x5e76bb57 k3_ringacc_ring_get_size +EXPORT_SYMBOL_GPL vmlinux 0x5e798ffb divider_get_val +EXPORT_SYMBOL_GPL vmlinux 0x5e7d9c1e virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5ea38721 posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x5eae5408 clk_is_enabled_when_prepared +EXPORT_SYMBOL_GPL vmlinux 0x5eb417e0 __SCK__tp_func_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x5eb7158a devm_extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x5ebd069d __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x5ebe34f7 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x5ebe7edb blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x5ec2319a mtk_mutex_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x5ecdcf90 ti_sci_get_free_resource +EXPORT_SYMBOL_GPL vmlinux 0x5ee2aa12 list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0x5ee589aa rio_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x5f0bd569 regmap_mmio_detach_clk +EXPORT_SYMBOL_GPL vmlinux 0x5f1151fe thermal_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x5f17ca27 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5f1c1d47 crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x5f23aef8 pci_user_read_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x5f23e3fa insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x5f24cd10 __traceiter_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5f3626c4 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5f3941ba unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x5f54e18a xenbus_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5f55586c ehci_setup +EXPORT_SYMBOL_GPL vmlinux 0x5f56bbea devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x5f663646 fsl_mc_bus_dpdcei_type +EXPORT_SYMBOL_GPL vmlinux 0x5f68e9fb bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f782193 regmap_raw_write_async +EXPORT_SYMBOL_GPL vmlinux 0x5f8d3f24 devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x5f970d54 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x5fa232b7 kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0x5fa625ed mpi_ec_mul_point +EXPORT_SYMBOL_GPL vmlinux 0x5faa2a5a devm_regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x5faa7541 copy_user_highpage +EXPORT_SYMBOL_GPL vmlinux 0x5fb8848b halt_poll_ns_grow_start +EXPORT_SYMBOL_GPL vmlinux 0x5fbd19ae ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0x5fdfcd57 __tracepoint_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x5fefa7a4 ahci_platform_disable_regulators +EXPORT_SYMBOL_GPL vmlinux 0x5ffede00 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x60085ab0 efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0x60091316 clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x600b18ef crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0x600f260e mbox_chan_received_data +EXPORT_SYMBOL_GPL vmlinux 0x6015ddaa sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x602137c2 tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0x602175aa ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x6021e212 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x603d0d51 acpi_os_map_iomem +EXPORT_SYMBOL_GPL vmlinux 0x60438b8b of_changeset_action +EXPORT_SYMBOL_GPL vmlinux 0x60442822 phys_to_mach +EXPORT_SYMBOL_GPL vmlinux 0x6044d1e1 rio_route_clr_table +EXPORT_SYMBOL_GPL vmlinux 0x604722fd devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x6048d06f nvdimm_bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x605d5bfa cache_line_size +EXPORT_SYMBOL_GPL vmlinux 0x6065d41d sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0x606b4aba devlink_linecard_provision_set +EXPORT_SYMBOL_GPL vmlinux 0x60734e04 i2c_parse_fw_timings +EXPORT_SYMBOL_GPL vmlinux 0x6074f5e6 of_icc_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x6077b803 pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x607cea6b of_usb_update_otg_caps +EXPORT_SYMBOL_GPL vmlinux 0x608d25d6 __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0x608d6a9b is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0x60904737 __traceiter_nvme_sq +EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x6096d6ed tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0x6099a5c4 clk_hw_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x609aefd6 crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL_GPL vmlinux 0x60ae0922 power_supply_vbat2ri +EXPORT_SYMBOL_GPL vmlinux 0x60b16d82 balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0x60b50d79 param_set_uint_minmax +EXPORT_SYMBOL_GPL vmlinux 0x60ca0969 sb800_prefetch +EXPORT_SYMBOL_GPL vmlinux 0x60e17273 virtio_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x60e2dad8 usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x60f48b7f dax_layout_busy_page +EXPORT_SYMBOL_GPL vmlinux 0x60f8cbff __traceiter_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x60f99e1b cppc_set_perf +EXPORT_SYMBOL_GPL vmlinux 0x61032a9e wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x610cf47d tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x610e42f6 __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0x610f4e79 fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0x6117f7af vp_modern_queue_vector +EXPORT_SYMBOL_GPL vmlinux 0x611cfa85 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x612f7d32 ipv4_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x61352b44 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x61434f60 phy_speed_down +EXPORT_SYMBOL_GPL vmlinux 0x61438ffc nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL vmlinux 0x614adcb7 of_overlay_remove_all +EXPORT_SYMBOL_GPL vmlinux 0x614e8c07 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x615d3447 kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x616d3ab6 disk_force_media_change +EXPORT_SYMBOL_GPL vmlinux 0x6181e79f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0x618d2e6f unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x6198dfea __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6199ad5d crypto_has_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x619b2062 __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0x619d2eca acpi_gpio_get_irq_resource +EXPORT_SYMBOL_GPL vmlinux 0x61a469e3 blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x61aac3db of_k3_ringacc_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x61b3d590 disk_update_readahead +EXPORT_SYMBOL_GPL vmlinux 0x61b592dc skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x61bf8962 led_set_brightness_nopm +EXPORT_SYMBOL_GPL vmlinux 0x61c1ca29 __SCK__tp_func_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x61c5c110 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x61c98f6d meson_clk_cpu_dyndiv_ops +EXPORT_SYMBOL_GPL vmlinux 0x61d27531 fsl_mc_portal_allocate +EXPORT_SYMBOL_GPL vmlinux 0x61d3abc9 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x61d53f22 of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x61d66d26 iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x61dfd100 dev_pm_clear_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x61ea9385 samsung_sdi_battery_get_info +EXPORT_SYMBOL_GPL vmlinux 0x61f293e8 phy_reset +EXPORT_SYMBOL_GPL vmlinux 0x61f593bc fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x62194940 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x621a6585 mtk_alloc_clk_data +EXPORT_SYMBOL_GPL vmlinux 0x62284815 regulator_set_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x622c7922 register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x62377a7b blk_io_schedule +EXPORT_SYMBOL_GPL vmlinux 0x6246a629 synchronize_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x624859fc device_attach +EXPORT_SYMBOL_GPL vmlinux 0x624a7c2a tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x624d9b71 l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6257dda7 clk_rate_exclusive_get +EXPORT_SYMBOL_GPL vmlinux 0x6259d291 clk_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x626225fb vmf_insert_pfn_pmd_prot +EXPORT_SYMBOL_GPL vmlinux 0x627c8874 regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x6296c0ba sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x62ae701a irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0x62b0e6d9 device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x62b59923 nvme_unfreeze +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62c343be pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0x62c63bba of_irq_find_parent +EXPORT_SYMBOL_GPL vmlinux 0x62cdb1d0 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x62da7676 pinctrl_pm_select_sleep_state +EXPORT_SYMBOL_GPL vmlinux 0x62f27f1b tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x62f56f7f mmc_pwrseq_register +EXPORT_SYMBOL_GPL vmlinux 0x62f7c940 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x62fe289c of_usb_host_tpl_support +EXPORT_SYMBOL_GPL vmlinux 0x63150e06 clk_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL vmlinux 0x63197685 s2idle_wake +EXPORT_SYMBOL_GPL vmlinux 0x632593fd alloc_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x633af701 cpufreq_dbs_governor_start +EXPORT_SYMBOL_GPL vmlinux 0x633f78e4 handle_fasteoi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x63463078 pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x634b2aac subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x634b9d42 __SCK__tp_func_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x6361c3aa ahci_platform_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x63710396 devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6375cf23 gnttab_unmap_refs_async +EXPORT_SYMBOL_GPL vmlinux 0x638aff11 proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x639960c0 devm_krealloc +EXPORT_SYMBOL_GPL vmlinux 0x63acaa13 rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x63bfe502 __dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x63c08029 clk_bulk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x63c7e4f1 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x63e543ca phy_10gbit_fec_features +EXPORT_SYMBOL_GPL vmlinux 0x63ea80b3 cper_mem_err_type_str +EXPORT_SYMBOL_GPL vmlinux 0x63ef3409 gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0x63f64141 perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0x640ff22f clk_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x6422e198 gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0x6427572b tegra210_clk_emc_dll_enable +EXPORT_SYMBOL_GPL vmlinux 0x642da67c pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x643b06b0 zynqmp_pm_clock_setrate +EXPORT_SYMBOL_GPL vmlinux 0x643c0ae0 genphy_c45_aneg_done +EXPORT_SYMBOL_GPL vmlinux 0x643d59f5 devm_pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x644f8206 sock_map_unhash +EXPORT_SYMBOL_GPL vmlinux 0x64609d25 __tracepoint_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x64660804 __irq_domain_alloc_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x646c23b6 tps6586x_get_version +EXPORT_SYMBOL_GPL vmlinux 0x647537f3 pl320_ipc_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x647f48a9 pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x648dfc82 list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0x64a31445 mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0x64b0fb6f mtk_clk_gate_ops_no_setclr +EXPORT_SYMBOL_GPL vmlinux 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL vmlinux 0x64b71d37 blk_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0x64cbded7 gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x64f36620 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x64f74abf __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x64ff44b3 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x65010a5c sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0x6502d9c2 xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x650e4b6b regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x651836de tegra_bpmp_mrq_is_supported +EXPORT_SYMBOL_GPL vmlinux 0x651d10e5 ktime_get_tai_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6521ed59 irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x6531a37f mpi_add +EXPORT_SYMBOL_GPL vmlinux 0x6545268e __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x654e6381 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x6555fceb debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x655969f2 crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0x655c86c7 device_add_software_node +EXPORT_SYMBOL_GPL vmlinux 0x65643a42 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x6566c802 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x65796a8c nf_nat_helper_put +EXPORT_SYMBOL_GPL vmlinux 0x65906dce find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0x659c40b0 mtk_pctrl_show_one_pin +EXPORT_SYMBOL_GPL vmlinux 0x65acf90c sbitmap_weight +EXPORT_SYMBOL_GPL vmlinux 0x65c0e9e6 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x65c117fc inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x65ca889d gov_attr_set_init +EXPORT_SYMBOL_GPL vmlinux 0x65cc63e0 imx_pinctrl_parse_pin_scu +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65cfbb12 of_dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x65d1d93f acpi_dev_clear_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x65da79dc regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x65db8c3a set_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x65e01af9 __sync_icache_dcache +EXPORT_SYMBOL_GPL vmlinux 0x65ecff20 xenbus_match +EXPORT_SYMBOL_GPL vmlinux 0x65f604b1 icc_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x660eb6bd devlink_free +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x661d2f6e meson_clk_pll_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x66309f6d i2c_match_id +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x664152a6 ahci_ops +EXPORT_SYMBOL_GPL vmlinux 0x664eb54a k3_ringacc_ring_reset_dma +EXPORT_SYMBOL_GPL vmlinux 0x665e92a0 clk_set_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x6674f497 rio_unmap_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6692bdaf ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0x66a27aab rockchip_clk_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x66a740c7 device_link_del +EXPORT_SYMBOL_GPL vmlinux 0x66b81f2a scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66bfae9e nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL vmlinux 0x66c6f30b ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x66d15f60 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66eb22c1 nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL vmlinux 0x66fb4125 device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0x66fc312e of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0x66fd332d pinctrl_remove_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x66fe45d2 i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL vmlinux 0x672708c4 pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6731c675 __usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x6739a503 balloon_set_new_target +EXPORT_SYMBOL_GPL vmlinux 0x67429c91 __SCK__tp_func_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x6767fa4b l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0x676c688f k3_ringacc_ring_free +EXPORT_SYMBOL_GPL vmlinux 0x677c852a da9052_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x677ff88c xas_store +EXPORT_SYMBOL_GPL vmlinux 0x67872201 acpi_spi_count_resources +EXPORT_SYMBOL_GPL vmlinux 0x67947503 dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x679891e4 bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0x67a80236 bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x67b352de dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x67c83ee8 dev_pm_opp_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x67e25367 devm_pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x6822de1a firmware_upload_unregister +EXPORT_SYMBOL_GPL vmlinux 0x682574e4 lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x68362512 security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x6838553e iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0x68460527 blkcg_set_fc_appid +EXPORT_SYMBOL_GPL vmlinux 0x6848dcac wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x684ca117 zynqmp_pm_get_pll_frac_mode +EXPORT_SYMBOL_GPL vmlinux 0x684ccdae ahci_platform_enable_regulators +EXPORT_SYMBOL_GPL vmlinux 0x684e3075 nvdimm_has_cache +EXPORT_SYMBOL_GPL vmlinux 0x6856fe62 meson_axg_pmx_ops +EXPORT_SYMBOL_GPL vmlinux 0x685d9fcb gov_attr_set_put +EXPORT_SYMBOL_GPL vmlinux 0x685f6b7b page_endio +EXPORT_SYMBOL_GPL vmlinux 0x68647884 mtk_clk_gate_ops_no_setclr_inv +EXPORT_SYMBOL_GPL vmlinux 0x68773dfe of_pci_dma_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0x687e1865 shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0x6890026a ip6_input +EXPORT_SYMBOL_GPL vmlinux 0x6892e3c3 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x6898a36f acpiphp_unregister_attention +EXPORT_SYMBOL_GPL vmlinux 0x689d8ede __traceiter_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x68abbbf6 call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x68b4f263 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x68beda73 ethnl_cable_test_result +EXPORT_SYMBOL_GPL vmlinux 0x68d702a8 bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0x68dc8f26 clk_fixed_factor_ops +EXPORT_SYMBOL_GPL vmlinux 0x68df91b5 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x68df9d3e __traceiter_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x68e97be7 irq_gc_set_wake +EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL vmlinux 0x690f98c2 pinctrl_dev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x6911bcae switchdev_bridge_port_offload +EXPORT_SYMBOL_GPL vmlinux 0x69198495 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x691de9c0 regulator_irq_helper +EXPORT_SYMBOL_GPL vmlinux 0x69299a23 dw_pcie_ep_raise_legacy_irq +EXPORT_SYMBOL_GPL vmlinux 0x69312dde pm_clk_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL vmlinux 0x694780bb sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x694935fd fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0x696340a5 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x69637b2c __traceiter_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x696f2b63 of_changeset_init +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x698fd5ef vp_modern_map_vq_notify +EXPORT_SYMBOL_GPL vmlinux 0x699b39b7 of_reserved_mem_device_init_by_idx +EXPORT_SYMBOL_GPL vmlinux 0x699ccf44 phy_set_mode_ext +EXPORT_SYMBOL_GPL vmlinux 0x69a476cc nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL vmlinux 0x69a91c5f edac_mc_del_mc +EXPORT_SYMBOL_GPL vmlinux 0x69b0f60d iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0x69b424d1 gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x69be2790 pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69e4441c gpiod_disable_hw_timestamp_ns +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x69e9e9e1 __devm_clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x69ee2220 linear_range_get_selector_high +EXPORT_SYMBOL_GPL vmlinux 0x69f440a8 acpi_subsys_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x6a05b65b fb_videomode_from_videomode +EXPORT_SYMBOL_GPL vmlinux 0x6a0ef6fb __traceiter_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x6a13b2ce kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0x6a14d3af unregister_random_vmfork_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6a17ad50 report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0x6a1e9d1d __devm_reset_control_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x6a260cac gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x6a27477f dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0x6a28164f dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0x6a36ff74 __traceiter_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x6a3a5cbe ehci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x6a3ae65f fsverity_ioctl_read_metadata +EXPORT_SYMBOL_GPL vmlinux 0x6a3b40fe blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0x6a3b644e wwan_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x6a421062 memory_failure_queue +EXPORT_SYMBOL_GPL vmlinux 0x6a460dc5 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0x6a4c388f dpm_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x6a4f623b mmu_notifier_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x6a5b8707 xhci_ext_cap_init +EXPORT_SYMBOL_GPL vmlinux 0x6a64c07a devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x6a652971 wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0x6a76c54a nvdimm_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x6a7e1e04 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a8644d8 dmaengine_desc_attach_metadata +EXPORT_SYMBOL_GPL vmlinux 0x6a89c07f fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0x6a8a2172 __kvm_set_memory_region +EXPORT_SYMBOL_GPL vmlinux 0x6a8e3464 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6a93c9b2 zynqmp_pm_pinctrl_get_function +EXPORT_SYMBOL_GPL vmlinux 0x6a9bcfbc spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x6aa2a877 xenbus_printf +EXPORT_SYMBOL_GPL vmlinux 0x6aa4a0e5 mmc_regulator_set_ocr +EXPORT_SYMBOL_GPL vmlinux 0x6aad9152 xen_set_callback_via +EXPORT_SYMBOL_GPL vmlinux 0x6ab166d5 devl_rate_leaf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6abf1692 usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x6ad089fc gfn_to_pfn +EXPORT_SYMBOL_GPL vmlinux 0x6aebccda dummy_con +EXPORT_SYMBOL_GPL vmlinux 0x6b0915db scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x6b0dc565 xen_set_irq_priority +EXPORT_SYMBOL_GPL vmlinux 0x6b185abd irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0x6b198c77 led_colors +EXPORT_SYMBOL_GPL vmlinux 0x6b2522b5 sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0x6b2b69f7 static_key_enable +EXPORT_SYMBOL_GPL vmlinux 0x6b2e4b2d crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0x6b36e07d devlink_linecard_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6b385fd5 devm_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0x6b3ae022 acpi_os_unmap_iomem +EXPORT_SYMBOL_GPL vmlinux 0x6b4045ee zynqmp_pm_get_api_version +EXPORT_SYMBOL_GPL vmlinux 0x6b413c9b sfp_link_down +EXPORT_SYMBOL_GPL vmlinux 0x6b432991 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x6b47f8a4 hisi_clk_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x6b58f50b __devm_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x6b68255d xdp_return_buff +EXPORT_SYMBOL_GPL vmlinux 0x6b78b215 spi_async +EXPORT_SYMBOL_GPL vmlinux 0x6b7a4335 hyperv_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x6b80313a software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x6b81c38b power_supply_unreg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6b834121 bman_portals_probed +EXPORT_SYMBOL_GPL vmlinux 0x6ba34a13 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x6ba36c6a hwpoison_filter_flags_value +EXPORT_SYMBOL_GPL vmlinux 0x6baa828e devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x6bbd8324 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x6bcdedc0 mpi_point_init +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6bde1888 pci_ecam_create +EXPORT_SYMBOL_GPL vmlinux 0x6bdef35c acpi_ec_mark_gpe_for_wake +EXPORT_SYMBOL_GPL vmlinux 0x6be3a96b hv_remove_vmbus_handler +EXPORT_SYMBOL_GPL vmlinux 0x6be51b8d power_supply_property_is_writeable +EXPORT_SYMBOL_GPL vmlinux 0x6c09d23a nvdimm_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x6c205008 mpi_print +EXPORT_SYMBOL_GPL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6c4b6684 reset_control_assert +EXPORT_SYMBOL_GPL vmlinux 0x6c53cd68 gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0x6c5ad0cd kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x6c655913 register_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6c7028a2 fixup_user_fault +EXPORT_SYMBOL_GPL vmlinux 0x6c7a5dce crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x6c956075 __SCK__tp_func_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x6c9aee44 __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6c9ff87f of_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6cb0ce87 irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0x6cc7dce1 rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x6cc9df4f kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL vmlinux 0x6cd27ba6 mtk_clk_unregister_plls +EXPORT_SYMBOL_GPL vmlinux 0x6cd5e247 dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0x6ce10eb0 trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x6cfabcdc sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0x6d04891d inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x6d09843f copy_bpf_fprog_from_user +EXPORT_SYMBOL_GPL vmlinux 0x6d0ae550 pinctrl_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6d0e3060 ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0x6d167c12 perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0x6d22de29 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x6d2a3ea9 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d467b08 arm_smccc_1_1_get_conduit +EXPORT_SYMBOL_GPL vmlinux 0x6d50eb06 mtk_mmsys_ddp_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x6d5ad45e crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x6d5b1220 iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0x6d61ac0b devm_tegra_core_dev_init_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x6d64a522 devfreq_cooling_em_register +EXPORT_SYMBOL_GPL vmlinux 0x6d6d74f2 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d7832b7 __stack_depot_save +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d810ffd nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0x6da917f2 thermal_zone_device_register +EXPORT_SYMBOL_GPL vmlinux 0x6db7118b pm_clk_remove_clk +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6dcddf37 apple_rtkit_is_running +EXPORT_SYMBOL_GPL vmlinux 0x6dd1fe76 imx_pinconf_set_scu +EXPORT_SYMBOL_GPL vmlinux 0x6dd2cde3 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x6dd5680d sprint_symbol_build_id +EXPORT_SYMBOL_GPL vmlinux 0x6deb15dc fsl8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x6decb8e7 device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0x6dfa177b dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x6e09d93d __SCK__tp_func_map +EXPORT_SYMBOL_GPL vmlinux 0x6e3347ec devlink_priv +EXPORT_SYMBOL_GPL vmlinux 0x6e345082 of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x6e353c26 mpi_rshift +EXPORT_SYMBOL_GPL vmlinux 0x6e3f8d26 od_register_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x6e41d72f devfreq_event_set_event +EXPORT_SYMBOL_GPL vmlinux 0x6e4aa78d k3_udma_glue_rx_flow_enable +EXPORT_SYMBOL_GPL vmlinux 0x6e524159 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x6e59f821 __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x6e5bdf5b __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x6e5f6f71 nvme_fail_nonready_command +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6e8b4a85 dev_pm_opp_init_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x6e8c6e27 fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0x6e95110b cpufreq_driver_resolve_freq +EXPORT_SYMBOL_GPL vmlinux 0x6e9c7db6 iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x6eace6f6 regmap_irq_get_domain +EXPORT_SYMBOL_GPL vmlinux 0x6eb04f46 register_random_vmfork_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6eb58689 icc_get_name +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ec5e543 rio_enable_rx_tx_port +EXPORT_SYMBOL_GPL vmlinux 0x6ede23b7 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x6ee0e774 vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6ef0855c ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f174dbe hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x6f2017de misc_cg_set_capacity +EXPORT_SYMBOL_GPL vmlinux 0x6f3bd1f0 blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0x6f3d60a8 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x6f48fc0c fscrypt_mergeable_bio +EXPORT_SYMBOL_GPL vmlinux 0x6f53c7c5 blk_mq_sched_mark_restart_hctx +EXPORT_SYMBOL_GPL vmlinux 0x6f56a61b pinctrl_generic_get_group +EXPORT_SYMBOL_GPL vmlinux 0x6f5db5ad dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0x6f676a6e irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x6f697442 lp8788_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x6f6b52e9 __ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x6f7e6040 irq_has_action +EXPORT_SYMBOL_GPL vmlinux 0x6f8f2f7d device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0x6f98248f sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6f9f9cb8 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x6facea57 rio_free_net +EXPORT_SYMBOL_GPL vmlinux 0x6faf2b3c scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0x6fb158f8 stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0x6fb48f39 dev_pm_opp_get_max_volt_latency +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6fd07286 dev_pm_set_dedicated_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x6fd0f9dd blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0x6fd939ee virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0x6fe469c0 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x6fe56e86 dev_pm_opp_find_level_exact +EXPORT_SYMBOL_GPL vmlinux 0x6feee30d usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x700357e8 devfreq_get_devfreq_by_node +EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions +EXPORT_SYMBOL_GPL vmlinux 0x70085027 crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x7047e4fe __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x70657940 pwm_apply_state +EXPORT_SYMBOL_GPL vmlinux 0x706781a0 xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0x706ca4a1 noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL vmlinux 0x708250bc mtk_eint_do_init +EXPORT_SYMBOL_GPL vmlinux 0x708f967e dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x70a2d165 xenbus_setup_ring +EXPORT_SYMBOL_GPL vmlinux 0x70c2c7ea pids_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x70c52dc5 nf_skb_duplicated +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70d77128 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x70e11189 sata_lpm_ignore_phy_events +EXPORT_SYMBOL_GPL vmlinux 0x70e1af26 xenbus_dev_cancel +EXPORT_SYMBOL_GPL vmlinux 0x70e79ae4 trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x70f382d5 rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x70fbae4d cppc_allow_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7110dfef spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x711e4001 ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x71232469 ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x71289499 clk_register_hisi_phase +EXPORT_SYMBOL_GPL vmlinux 0x7129a6f4 osc_sb_native_usb4_support_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x7131e8a9 imx_check_clk_hws +EXPORT_SYMBOL_GPL vmlinux 0x7135e213 __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x713d3b10 devm_bitmap_alloc +EXPORT_SYMBOL_GPL vmlinux 0x713d8e99 meson8_aobus_parse_dt_extra +EXPORT_SYMBOL_GPL vmlinux 0x71420507 bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7158c196 genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL vmlinux 0x715a43ce priv_to_devlink +EXPORT_SYMBOL_GPL vmlinux 0x715fa9fe irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71724493 mctrl_gpio_enable_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x7181db30 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71917459 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x71942388 dev_pm_opp_of_find_icc_paths +EXPORT_SYMBOL_GPL vmlinux 0x7195940a mctrl_gpio_disable_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x719cbcd9 dev_pm_opp_put_regulators +EXPORT_SYMBOL_GPL vmlinux 0x719e17ff clk_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71a20f4a __SCK__tp_func_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x71a9a3ab mtk_mutex_acquire +EXPORT_SYMBOL_GPL vmlinux 0x71b15008 lwtunnel_valid_encap_type +EXPORT_SYMBOL_GPL vmlinux 0x71b6cf94 dst_cache_reset_now +EXPORT_SYMBOL_GPL vmlinux 0x71c059d8 __traceiter_map +EXPORT_SYMBOL_GPL vmlinux 0x71d53bde pci_bridge_emul_conf_read +EXPORT_SYMBOL_GPL vmlinux 0x71dc5948 tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0x71ed105a tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x721b4771 rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x722051c6 pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x722c7bf2 irq_get_domain_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x723157f4 serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0x723437bf device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x7237e950 pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x7239a1ef crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0x7241564e fixed_phy_register +EXPORT_SYMBOL_GPL vmlinux 0x724b4783 nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x7251ba37 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x7262702b sfp_get_module_eeprom_by_page +EXPORT_SYMBOL_GPL vmlinux 0x7265f2b0 pci_vpd_check_csum +EXPORT_SYMBOL_GPL vmlinux 0x7275b67a sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x72765e4f wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x72820430 param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x7283161b percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x72b8b060 dev_pm_opp_remove +EXPORT_SYMBOL_GPL vmlinux 0x72bf4bae nvdimm_bus_check_dimm_count +EXPORT_SYMBOL_GPL vmlinux 0x72d1e3d7 handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0x72d267dc nvmem_del_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x72d89547 phy_power_on +EXPORT_SYMBOL_GPL vmlinux 0x72dacfe4 dpbp_open +EXPORT_SYMBOL_GPL vmlinux 0x72edf918 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x72fc7f66 phy_power_off +EXPORT_SYMBOL_GPL vmlinux 0x730317b3 crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0x73116d94 dev_pm_opp_find_bw_ceil +EXPORT_SYMBOL_GPL vmlinux 0x73243331 sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0x732852fe xenbus_transaction_end +EXPORT_SYMBOL_GPL vmlinux 0x7336dbf3 nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0x734447b0 adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0x734795e7 pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x734ccb0c devm_pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0x7351fcb1 devlink_remote_reload_actions_performed +EXPORT_SYMBOL_GPL vmlinux 0x735879c1 fixed_phy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x73645819 regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x737f3785 gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x7381287f trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0x7382a958 __traceiter_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x73836485 lp8788_read_multi_bytes +EXPORT_SYMBOL_GPL vmlinux 0x73852432 elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0x7392d739 pinmux_generic_get_function_count +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73b813b6 blk_mq_complete_request_remote +EXPORT_SYMBOL_GPL vmlinux 0x73c2554f __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x73c592c7 __traceiter_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x73c6d5b6 pci_dev_trylock +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73e67ba6 devm_pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0x74167620 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x7427aaff replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x742e2664 serial8250_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x742e2bee ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x743b99d8 xenmem_reservation_increase +EXPORT_SYMBOL_GPL vmlinux 0x743bf434 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x743d6fcd phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x74418d4e make_device_exclusive_range +EXPORT_SYMBOL_GPL vmlinux 0x74457e56 apei_resources_fini +EXPORT_SYMBOL_GPL vmlinux 0x744b7dc8 acpi_subsys_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x74552d80 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x74591c26 devlink_alloc_ns +EXPORT_SYMBOL_GPL vmlinux 0x745e5590 device_add +EXPORT_SYMBOL_GPL vmlinux 0x7460f68c vp_legacy_queue_vector +EXPORT_SYMBOL_GPL vmlinux 0x74686134 crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x748138c2 pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0x74866f97 of_thermal_is_trip_valid +EXPORT_SYMBOL_GPL vmlinux 0x748b51c4 pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0x748eabaa irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x74a22bb4 k3_udma_glue_push_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x74b2aa43 devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x74b3446f task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0x74b5ea68 lcm_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74bd0271 rio_map_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x74c7bffa stack_trace_snprint +EXPORT_SYMBOL_GPL vmlinux 0x74cc2b6c dev_pm_disable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x74cef26a meson_pmx_get_funcs_count +EXPORT_SYMBOL_GPL vmlinux 0x74d798c5 dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0x74e43558 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x74e73871 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x7500e92a mc_send_command +EXPORT_SYMBOL_GPL vmlinux 0x75023a75 pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x75037790 scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0x75050e52 dpcon_enable +EXPORT_SYMBOL_GPL vmlinux 0x75058f28 hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x7506f375 filemap_range_has_writeback +EXPORT_SYMBOL_GPL vmlinux 0x75133f6e visitor128 +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x752403f2 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x75240ddd virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0x752b8f78 tty_kopen_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x752ea994 mtk_clk_gate_ops_setclr +EXPORT_SYMBOL_GPL vmlinux 0x753a19ee crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x7548e719 folio_wait_writeback_killable +EXPORT_SYMBOL_GPL vmlinux 0x755a13db mpc8xxx_spi_rx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0x75698fdf gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0x757c1bbb housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0x757dbb63 amba_device_add +EXPORT_SYMBOL_GPL vmlinux 0x757e3005 irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x7581d363 extcon_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x7589e758 irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x758a43fe k3_ringacc_get_ring_irq_num +EXPORT_SYMBOL_GPL vmlinux 0x759139cb of_pci_check_probe_only +EXPORT_SYMBOL_GPL vmlinux 0x7591ad48 task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0x7599ab79 tegra_xusb_padctl_legacy_probe +EXPORT_SYMBOL_GPL vmlinux 0x759bfe36 btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0x75a69bf9 blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x75ac3e83 of_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x75ba3d9f ahci_handle_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x75d70e0b page_cache_ra_unbounded +EXPORT_SYMBOL_GPL vmlinux 0x75daa78a rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x75dd4ebe of_overlay_remove +EXPORT_SYMBOL_GPL vmlinux 0x75e51945 __SCK__tp_func_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x75f0dbce nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL vmlinux 0x75fb9062 arch_timer_read_counter +EXPORT_SYMBOL_GPL vmlinux 0x75fd8695 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x761639a9 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x762aabd8 kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL vmlinux 0x7630f8be component_release_of +EXPORT_SYMBOL_GPL vmlinux 0x7635f1c8 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x7639caa2 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x7642c6ce fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x7644e9ed irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x764587a4 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x764ffefa page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0x76638347 devfreq_event_disable_edev +EXPORT_SYMBOL_GPL vmlinux 0x76642cc7 shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0x7665a95b idr_remove +EXPORT_SYMBOL_GPL vmlinux 0x7667e0b5 crypto_alloc_acomp_node +EXPORT_SYMBOL_GPL vmlinux 0x7681946c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7685e310 badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0x76889334 devm_mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x7689d106 __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x768c53e3 iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x769581c6 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x769cefb5 percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0x76a10006 cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0x76a434f2 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x76aff003 edac_mc_free +EXPORT_SYMBOL_GPL vmlinux 0x76b8f2f8 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x76d0ce52 usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x76d680f6 acpi_dev_resource_memory +EXPORT_SYMBOL_GPL vmlinux 0x76d9b876 clk_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x76dd08d3 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0x76e044d8 tegra_bpmp_get +EXPORT_SYMBOL_GPL vmlinux 0x76e85b92 gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x76f05c22 clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x76f54d6c __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0x7703806b kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x77222306 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7727010a power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x772b0f64 __wake_up_pollfree +EXPORT_SYMBOL_GPL vmlinux 0x772f05a4 sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x7735b2c7 rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x774f16ef __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x77521c1d of_pci_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0x77522cf6 sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x775272fa rio_register_mport +EXPORT_SYMBOL_GPL vmlinux 0x775647ec ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0x7757b51a clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x776fd7bc regulator_suspend_enable +EXPORT_SYMBOL_GPL vmlinux 0x777577ad fork_usermode_driver +EXPORT_SYMBOL_GPL vmlinux 0x77906e63 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x7797003a mtk_pinconf_bias_set_combo +EXPORT_SYMBOL_GPL vmlinux 0x779dd0e2 devm_of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x779fb7ca devm_thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x77a14360 __devm_of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x77ae495d usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x77b56c1f simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x77be6f3a nf_ct_expect_alloc +EXPORT_SYMBOL_GPL vmlinux 0x77c51206 pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0x77cf392b iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0x77dfc3ea dax_writeback_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x77ecf68d memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0x77f24400 perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x77ffe0f2 crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x7807cc02 __traceiter_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0x78176ba1 devlink_param_unregister +EXPORT_SYMBOL_GPL vmlinux 0x78229efc i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x7828c53a usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x7834c019 phy_10gbit_full_features +EXPORT_SYMBOL_GPL vmlinux 0x78463ea3 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7848840a cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0x78536673 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x7860a929 gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0x78671753 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x786b69b9 dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x786ffb2d switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x78715904 mtk_mux_clr_set_upd_ops +EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x7887e534 thermal_cooling_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7888d562 skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x78938497 irq_generic_chip_ops +EXPORT_SYMBOL_GPL vmlinux 0x78980154 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x78ab833c wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0x78adac3f xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x78bc6c94 xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0x78c5db58 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x78db4904 sched_set_normal +EXPORT_SYMBOL_GPL vmlinux 0x78ddb76b dmi_match +EXPORT_SYMBOL_GPL vmlinux 0x790be0b9 usb_bus_idr +EXPORT_SYMBOL_GPL vmlinux 0x7917eab1 blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x7918b583 i2c_adapter_depth +EXPORT_SYMBOL_GPL vmlinux 0x7918d817 memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x79345cb9 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x793486d3 pci_epf_remove_vepf +EXPORT_SYMBOL_GPL vmlinux 0x7934aa08 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x793e004a acpi_dev_get_dma_resources +EXPORT_SYMBOL_GPL vmlinux 0x793f98bc __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x79413786 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x79470a2c TSS_authhmac +EXPORT_SYMBOL_GPL vmlinux 0x794a0461 rockchip_pcie_disable_clocks +EXPORT_SYMBOL_GPL vmlinux 0x794b7271 orderly_reboot +EXPORT_SYMBOL_GPL vmlinux 0x794be5b8 nvme_stop_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x79546648 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x7969aaff of_get_named_gpio_flags +EXPORT_SYMBOL_GPL vmlinux 0x796b1625 sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x796b8ec6 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x797e8d1b dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0x7981fba9 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x79821c3d divider_ro_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x798b7682 klist_prev +EXPORT_SYMBOL_GPL vmlinux 0x799a729a pwm_adjust_config +EXPORT_SYMBOL_GPL vmlinux 0x79afe22d usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x79b26391 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x79b79b7e inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x79bc842c usb_anchor_suspend_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x79c7dd51 fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0x79cef702 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x79dd4b21 rio_register_scan +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79e9c9ee ndo_dflt_bridge_getlink +EXPORT_SYMBOL_GPL vmlinux 0x79f1aa44 find_iova +EXPORT_SYMBOL_GPL vmlinux 0x79f697e4 lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x79fda6de vfs_inode_has_locks +EXPORT_SYMBOL_GPL vmlinux 0x7a2157c8 blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x7a4752ff pci_iov_virtfn_devfn +EXPORT_SYMBOL_GPL vmlinux 0x7a6426fe pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x7a705c61 ata_scsi_dma_need_drain +EXPORT_SYMBOL_GPL vmlinux 0x7a732c8d phy_pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x7a73e605 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7a7e4070 dprc_scan_container +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7a846a36 dprc_close +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7a98f4b4 copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x7a9e4c23 software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x7aa56434 clkdev_create +EXPORT_SYMBOL_GPL vmlinux 0x7ab644ed clk_hw_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0x7ab6fde8 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x7ac10ad8 icst_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7ad02a41 asn1_encode_tag +EXPORT_SYMBOL_GPL vmlinux 0x7ad1ded1 pinctrl_register_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7ad2c64c k3_udma_glue_release_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x7ad4a941 dprc_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x7ad83e53 kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0x7af55e0a msi_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x7afcb7db __kprobe_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x7afe324e halt_poll_ns_grow +EXPORT_SYMBOL_GPL vmlinux 0x7b044e30 xen_xenbus_fops +EXPORT_SYMBOL_GPL vmlinux 0x7b178afe unlock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7b19264f nf_ct_get_id +EXPORT_SYMBOL_GPL vmlinux 0x7b1eecf8 of_devfreq_cooling_register_power +EXPORT_SYMBOL_GPL vmlinux 0x7b36f747 devm_nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x7b445b6a k3_udma_glue_request_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x7b4529d9 component_compare_dev +EXPORT_SYMBOL_GPL vmlinux 0x7b5452b8 acpi_unregister_gsi +EXPORT_SYMBOL_GPL vmlinux 0x7b59ce98 bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b6a6311 devlink_rate_leaf_create +EXPORT_SYMBOL_GPL vmlinux 0x7b6f9536 acpi_register_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0x7b766510 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x7b7b7a9e sdio_signal_irq +EXPORT_SYMBOL_GPL vmlinux 0x7b844aba adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x7b8910f4 kfence_sample_interval +EXPORT_SYMBOL_GPL vmlinux 0x7b8bed97 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x7b90d1a9 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x7b925ac6 dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0x7b958803 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7b9e58be imx8ulp_clk_hw_composite +EXPORT_SYMBOL_GPL vmlinux 0x7bacbba9 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7bb045a7 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x7bbccf50 pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0x7bc104c9 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x7bc4ade5 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0x7bcf04f5 wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7bd46b71 acpi_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x7be51ae5 blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0x7bf9b69f iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0x7bffd259 __traceiter_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x7c100d82 bgmac_enet_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7c154a75 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x7c291e86 show_rcu_tasks_trace_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0x7c3910dd hte_push_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x7c3d8a4b icc_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0x7c3fc6c8 __traceiter_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x7c48b610 dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0x7c49ee93 thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7c4e7bf7 pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x7c5def83 clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x7c5f3711 ioasid_unregister_allocator +EXPORT_SYMBOL_GPL vmlinux 0x7c6542d0 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x7c8ebc70 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x7c94c99a kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL vmlinux 0x7c983a5d dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x7c9a7371 clk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7ca64a0b __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL_GPL vmlinux 0x7cb6d6a6 xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0x7cb803de btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x7cbf52c1 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x7cc62225 __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0x7cce0fd0 vp_legacy_set_status +EXPORT_SYMBOL_GPL vmlinux 0x7cceaf92 zs_pool_stats +EXPORT_SYMBOL_GPL vmlinux 0x7cd3ead6 of_clk_hw_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0x7cd6f042 cpufreq_get_current_driver +EXPORT_SYMBOL_GPL vmlinux 0x7cdda909 pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7d00c65b nd_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x7d016253 ahci_platform_ops +EXPORT_SYMBOL_GPL vmlinux 0x7d0baff9 devm_mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7d1bb1d4 tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0x7d290382 irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0x7d471321 zynqmp_pm_pinctrl_release +EXPORT_SYMBOL_GPL vmlinux 0x7d564d60 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d7512ec sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0x7d86fde7 gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x7d8e7680 nvdimm_volatile_region_create +EXPORT_SYMBOL_GPL vmlinux 0x7d8f6f65 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x7da544e6 led_init_core +EXPORT_SYMBOL_GPL vmlinux 0x7dba2fe7 dev_pm_opp_get_power +EXPORT_SYMBOL_GPL vmlinux 0x7dcdaa63 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x7dd1fc85 dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7de39e07 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7de514f4 crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x7de65a03 acpi_lpat_free_conversion_table +EXPORT_SYMBOL_GPL vmlinux 0x7de6cc23 io_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7defc870 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0x7e1780a0 __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0x7e245dc7 pinconf_generic_dt_free_map +EXPORT_SYMBOL_GPL vmlinux 0x7e33a26a acpi_dma_configure_id +EXPORT_SYMBOL_GPL vmlinux 0x7e3bdecd __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x7e42172a usb_acpi_port_lpm_incapable +EXPORT_SYMBOL_GPL vmlinux 0x7e5db80b pstore_name_to_type +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e6957e5 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x7e751308 ima_file_check +EXPORT_SYMBOL_GPL vmlinux 0x7e75bb7a __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x7e7a47c9 pci_acpi_clear_companion_lookup_hook +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e88d80a pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x7e8d8619 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x7e917894 __SCK__tp_func_unmap +EXPORT_SYMBOL_GPL vmlinux 0x7e943b45 devlink_port_attrs_pci_sf_set +EXPORT_SYMBOL_GPL vmlinux 0x7e96699d __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x7ea75c24 __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0x7eb1795e __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x7eb2b570 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7eb91477 sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0x7ed4e704 rockchip_clk_register_plls +EXPORT_SYMBOL_GPL vmlinux 0x7ed6a682 mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0x7ee06508 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x7eea6b8b pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0x7eeac999 device_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x7eec7793 cpufreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7eed81ea regulator_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x7ef356b0 tegra_bpmp_mrq_return +EXPORT_SYMBOL_GPL vmlinux 0x7f00bdac devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0x7f13ca69 dax_add_host +EXPORT_SYMBOL_GPL vmlinux 0x7f393c8d __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL vmlinux 0x7f450eac fsl_mc_bus_dpbp_type +EXPORT_SYMBOL_GPL vmlinux 0x7f56ad8a fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x7f6cee89 rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7f6f1568 pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0x7f7bba71 of_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f7cff10 virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0x7f8345a9 scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0x7f84f35d rcu_gp_slow_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7f874163 kvm_put_kvm +EXPORT_SYMBOL_GPL vmlinux 0x7f88b16f clk_hw_get_parent_index +EXPORT_SYMBOL_GPL vmlinux 0x7f9b1879 osc_cpc_flexible_adr_space_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x7fa1067c clk_hw_unregister_composite +EXPORT_SYMBOL_GPL vmlinux 0x7fa554c1 of_property_read_u64_index +EXPORT_SYMBOL_GPL vmlinux 0x7fa7e9f0 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x7fa96509 erst_get_record_id_next +EXPORT_SYMBOL_GPL vmlinux 0x7fc105c3 nvme_start_queues +EXPORT_SYMBOL_GPL vmlinux 0x7fc17a25 pm_clk_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fc8b27c metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fd0eabb gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fd4a797 dev_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x7fd83a64 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x7fe1e794 genpd_dev_pm_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x7ff19c40 zynqmp_pm_set_requirement +EXPORT_SYMBOL_GPL vmlinux 0x7ffa9239 blkcg_get_fc_appid +EXPORT_SYMBOL_GPL vmlinux 0x8002df86 pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x8006d3b0 devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x800bd2b6 serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x8011cd27 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x8011de26 scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0x8012881d tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x80135182 k3_ringacc_ring_pop_tail +EXPORT_SYMBOL_GPL vmlinux 0x801acd58 imx_clk_hw_pllv4 +EXPORT_SYMBOL_GPL vmlinux 0x801e1498 do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x8035bed7 rockchip_clk_protect_critical +EXPORT_SYMBOL_GPL vmlinux 0x8045e633 __sock_recv_cmsgs +EXPORT_SYMBOL_GPL vmlinux 0x8048a51d pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x804bb8a6 mbox_client_peek_data +EXPORT_SYMBOL_GPL vmlinux 0x80592d0e of_device_request_module +EXPORT_SYMBOL_GPL vmlinux 0x806327ea imx_clk_hw_cpu +EXPORT_SYMBOL_GPL vmlinux 0x80672c22 crypto_comp_compress +EXPORT_SYMBOL_GPL vmlinux 0x80692fdf fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0x8072bc86 phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0x807766ea usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x80794173 hv_setup_dma_ops +EXPORT_SYMBOL_GPL vmlinux 0x807fdcc4 call_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x808214f5 ahci_platform_enable_resources +EXPORT_SYMBOL_GPL vmlinux 0x8084f748 udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0x808cbd3a device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x8097a3dc gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0x80aa0d99 cpufreq_dbs_governor_limits +EXPORT_SYMBOL_GPL vmlinux 0x80b6aabe clk_hw_register_composite +EXPORT_SYMBOL_GPL vmlinux 0x80badff4 __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x80c68137 nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x80cef586 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x80d547a0 divider_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80e85d9d pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x80f129c0 regmap_get_max_register +EXPORT_SYMBOL_GPL vmlinux 0x80fba254 nvme_complete_batch_req +EXPORT_SYMBOL_GPL vmlinux 0x81193b43 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x811dc334 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0x811e1f8c __traceiter_block_split +EXPORT_SYMBOL_GPL vmlinux 0x8133f294 devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0x813cf212 nvme_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x81531e50 devm_kasprintf_strarray +EXPORT_SYMBOL_GPL vmlinux 0x815588a6 clk_enable +EXPORT_SYMBOL_GPL vmlinux 0x815fda83 sed_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x81613fa9 ahci_reset_em +EXPORT_SYMBOL_GPL vmlinux 0x81698cb0 em_dev_unregister_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x816a41ca cpufreq_update_limits +EXPORT_SYMBOL_GPL vmlinux 0x817a4159 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x8180cede asn1_encode_sequence +EXPORT_SYMBOL_GPL vmlinux 0x81810147 crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x818128d4 acpi_dma_request_slave_chan_by_index +EXPORT_SYMBOL_GPL vmlinux 0x8192d02b clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x81940076 devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x819d72cb klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x81a19e7e devm_bitmap_zalloc +EXPORT_SYMBOL_GPL vmlinux 0x81a3f0eb pci_dev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x81a5b97b kvm_vcpu_is_visible_gfn +EXPORT_SYMBOL_GPL vmlinux 0x81a7f541 percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0x81aa7019 pwm_request_from_chip +EXPORT_SYMBOL_GPL vmlinux 0x81aa78d8 zynqmp_pm_aes_engine +EXPORT_SYMBOL_GPL vmlinux 0x81ae7645 of_get_display_timings +EXPORT_SYMBOL_GPL vmlinux 0x81b03377 efivar_entry_set_safe +EXPORT_SYMBOL_GPL vmlinux 0x81b21bb3 __traceiter_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x81c31640 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x81c6f39a mmc_send_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0x81d0291f bgmac_adjust_link +EXPORT_SYMBOL_GPL vmlinux 0x81d10485 ioasid_free +EXPORT_SYMBOL_GPL vmlinux 0x81dbb6e9 of_property_read_u32_index +EXPORT_SYMBOL_GPL vmlinux 0x81dbea45 tegra_bpmp_put +EXPORT_SYMBOL_GPL vmlinux 0x81dfff79 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x81e06025 acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0x81e2bdf4 generic_handle_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x81e8ef3f rockchip_register_softrst +EXPORT_SYMBOL_GPL vmlinux 0x81f372a2 unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x82092899 badrange_forget +EXPORT_SYMBOL_GPL vmlinux 0x821a87c5 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x8220a38e k3_ringacc_get_ring_id +EXPORT_SYMBOL_GPL vmlinux 0x82226c53 pinctrl_unregister_mappings +EXPORT_SYMBOL_GPL vmlinux 0x8228fef1 crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x8230d876 relay_close +EXPORT_SYMBOL_GPL vmlinux 0x82315516 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x823c1dff fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x823eae06 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8245e3af power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x826d4dbd udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x827b6c2d gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x827e61f8 acpi_has_watchdog +EXPORT_SYMBOL_GPL vmlinux 0x827f54df kvm_put_kvm_no_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8282088d scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x82820bc8 blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0x8285c035 kill_device +EXPORT_SYMBOL_GPL vmlinux 0x82860280 serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0x828e22f4 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x8292e14d crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x829a4796 pwm_capture +EXPORT_SYMBOL_GPL vmlinux 0x829fd253 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x82a80545 __SCK__tp_func_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x82b26817 dev_pm_opp_get_max_clock_latency +EXPORT_SYMBOL_GPL vmlinux 0x82b7cba4 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x82bb9ab4 xenbus_dev_remove +EXPORT_SYMBOL_GPL vmlinux 0x82bbf30b __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0x82ccb1ef i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82eb5c01 virtio_device_freeze +EXPORT_SYMBOL_GPL vmlinux 0x82fcbdb8 msg_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0x83034031 vp_modern_get_num_queues +EXPORT_SYMBOL_GPL vmlinux 0x8327a897 regmap_attach_dev +EXPORT_SYMBOL_GPL vmlinux 0x832eb77b devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0x8339df73 klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x8349a895 nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x8353dfff acpi_os_get_iomem +EXPORT_SYMBOL_GPL vmlinux 0x83631c80 device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x8372b91a driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x8377572f crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0x83860bcf platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x83875f2c sprd_pinctrl_remove +EXPORT_SYMBOL_GPL vmlinux 0x8392fac8 is_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x83b28f48 cpufreq_generic_attr +EXPORT_SYMBOL_GPL vmlinux 0x83b34052 regcache_drop_region +EXPORT_SYMBOL_GPL vmlinux 0x83bcf4dd crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x83c0f01e fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x83f8dd97 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x8405f14f regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x84106f36 devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x841bbd3c dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0x8421cd48 nf_ct_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x8425b9c3 xas_split_alloc +EXPORT_SYMBOL_GPL vmlinux 0x84264ced fs_umode_to_ftype +EXPORT_SYMBOL_GPL vmlinux 0x842f046d usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x84435181 gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x84502a47 blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x8451b50f acpi_bind_one +EXPORT_SYMBOL_GPL vmlinux 0x845dbf3b scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x8462cb62 atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0x846508c7 tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0x84740378 swapcache_mapping +EXPORT_SYMBOL_GPL vmlinux 0x8493f95e debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x849ad6ec pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0x84a16b06 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x84a3a38a pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x84a8d0eb of_changeset_revert +EXPORT_SYMBOL_GPL vmlinux 0x84a93007 component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0x84ab38fb device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x84ac6ccb static_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x84b3a804 devm_of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x84b4012e __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0x84b8001a debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x84be2f9a nf_conntrack_find_get +EXPORT_SYMBOL_GPL vmlinux 0x84c5e924 devm_irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x84c8aec4 hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x84cf62aa dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0x84e129a5 ahci_platform_disable_clks +EXPORT_SYMBOL_GPL vmlinux 0x84e2f428 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x84ee4655 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x84ef27f5 synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x84f0f059 balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x84f681c3 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x84f72614 srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0x84fc6e08 sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0x8506baa8 clk_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x850768c8 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x8508c03e of_thermal_get_trip_points +EXPORT_SYMBOL_GPL vmlinux 0x850b81f1 divider_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x850bb6db devlink_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x850fd4d9 iopf_queue_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x851336c9 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x851e6003 usb_phy_roothub_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x851fe124 __SCK__tp_func_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8525ef01 crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0x85304b12 mmc_cmdq_enable +EXPORT_SYMBOL_GPL vmlinux 0x8530c72e ohci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x85540ebc nvmem_cell_put +EXPORT_SYMBOL_GPL vmlinux 0x855c1f7a crypto_shash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x8569c89a devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x85862277 ioasid_find +EXPORT_SYMBOL_GPL vmlinux 0x858961d5 nf_ct_seqadj_set +EXPORT_SYMBOL_GPL vmlinux 0x85935a61 acpi_dev_irq_flags +EXPORT_SYMBOL_GPL vmlinux 0x85ac6902 fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x85b6a537 mtk_clk_unregister_muxes +EXPORT_SYMBOL_GPL vmlinux 0x85c54b61 efivar_validate +EXPORT_SYMBOL_GPL vmlinux 0x85d521aa platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x85db9483 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x85eed1be iopf_queue_discard_partial +EXPORT_SYMBOL_GPL vmlinux 0x85f36916 regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x8610f30c sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0x861a7a70 fscrypt_dummy_policies_equal +EXPORT_SYMBOL_GPL vmlinux 0x862258db timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x862bb17b linear_range_values_in_range_array +EXPORT_SYMBOL_GPL vmlinux 0x8643c304 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x86472b24 __bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0x864f7650 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x86585a33 devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x86700220 acpi_get_cpuid +EXPORT_SYMBOL_GPL vmlinux 0x8673cde7 crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0x8677245d unregister_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x86803b5f handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0x86808f28 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86ab9db8 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x86b13d2a usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x86b1ceb3 tegra210_set_sata_pll_seq_sw +EXPORT_SYMBOL_GPL vmlinux 0x86b7b749 __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0x86c02001 ipi_send_mask +EXPORT_SYMBOL_GPL vmlinux 0x86c08bb9 dprc_open +EXPORT_SYMBOL_GPL vmlinux 0x86c38c36 __class_register +EXPORT_SYMBOL_GPL vmlinux 0x86c43a8c cper_estatus_check +EXPORT_SYMBOL_GPL vmlinux 0x86c99eb3 tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0x86dda6ef rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0x86f2cd01 dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f85114 net_dec_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x86fbbdb8 vp_modern_config_vector +EXPORT_SYMBOL_GPL vmlinux 0x870e16b7 xen_test_irq_shared +EXPORT_SYMBOL_GPL vmlinux 0x87172cdd invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x871aca38 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x871b31f1 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x872150aa class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x8736f3b8 serial8250_init_port +EXPORT_SYMBOL_GPL vmlinux 0x873d24e6 component_compare_of +EXPORT_SYMBOL_GPL vmlinux 0x87822adf xdp_master_redirect +EXPORT_SYMBOL_GPL vmlinux 0x8785550d of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x878f9fa7 ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x87908767 xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0x879f0ca2 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x87a341f8 nf_conntrack_in +EXPORT_SYMBOL_GPL vmlinux 0x87a9fe27 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x87ac7411 __tracepoint_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x87b3716e phy_driver_is_genphy +EXPORT_SYMBOL_GPL vmlinux 0x87bb1318 lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0x87bf3e42 debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0x87bf7730 mtk_pinconf_drive_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x87c5c1d1 of_thermal_get_ntrips +EXPORT_SYMBOL_GPL vmlinux 0x87cc33dc udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x87d1a8c0 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x87d8611d ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x87e1118f k3_udma_glue_rx_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0x87e225e6 clk_gate_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x87ef0aa4 __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x87f0128d clk_hw_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x87fc2eeb power_supply_put +EXPORT_SYMBOL_GPL vmlinux 0x87fe11c5 ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x8810070b pm_clk_destroy +EXPORT_SYMBOL_GPL vmlinux 0x88133485 uprobe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x88192269 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x881bda0b elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x882b08a5 devm_register_power_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x88315b47 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x88476f9f devl_lock +EXPORT_SYMBOL_GPL vmlinux 0x884be096 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x885319b1 devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0x885528a6 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x88607cba ethnl_cable_test_step +EXPORT_SYMBOL_GPL vmlinux 0x8865100a md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0x88705679 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x887f6ba1 sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x888c5be5 irq_bypass_register_consumer +EXPORT_SYMBOL_GPL vmlinux 0x8891b1f4 dev_pm_opp_find_bw_floor +EXPORT_SYMBOL_GPL vmlinux 0x8898ddc4 tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x8899ea4a dev_pm_opp_sync_regulators +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b4ae92 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x88c2513c irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x88c42c2a pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x88cce6a0 xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0x88cd7a9a k3_ringacc_ring_get_occ +EXPORT_SYMBOL_GPL vmlinux 0x88da1e50 platform_set +EXPORT_SYMBOL_GPL vmlinux 0x88e0d6d1 regulator_desc_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x88e7d3f3 i2c_new_client_device +EXPORT_SYMBOL_GPL vmlinux 0x88eb6c77 generic_handle_domain_irq +EXPORT_SYMBOL_GPL vmlinux 0x88ebd1f0 nvdimm_cmd_mask +EXPORT_SYMBOL_GPL vmlinux 0x88ee6a3a fscrypt_prepare_new_inode +EXPORT_SYMBOL_GPL vmlinux 0x88ef2b73 wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x89097f50 nf_ct_kill_acct +EXPORT_SYMBOL_GPL vmlinux 0x890f4f97 __kprobe_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x890fa0fa btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0x89176731 dev_pm_opp_find_freq_ceil_by_volt +EXPORT_SYMBOL_GPL vmlinux 0x891a5a7f gnttab_max_grant_frames +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x892693c1 arm64_mm_context_put +EXPORT_SYMBOL_GPL vmlinux 0x892cc1e3 hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x893522cc kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x893abbdd devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x894528ff clk_hw_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x89481fc6 blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0x89485687 iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x8954dc8e __SCK__tp_func_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x8954e7d6 dev_pm_opp_set_opp +EXPORT_SYMBOL_GPL vmlinux 0x8955db95 pm_runtime_force_resume +EXPORT_SYMBOL_GPL vmlinux 0x895a12a8 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x8964cd16 ping_bind +EXPORT_SYMBOL_GPL vmlinux 0x8967bd5c clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x897b9741 pci_pr3_present +EXPORT_SYMBOL_GPL vmlinux 0x8996a627 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x89a3f442 skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x89a4476d HYPERVISOR_multicall +EXPORT_SYMBOL_GPL vmlinux 0x89a6d2f4 dev_pm_domain_detach +EXPORT_SYMBOL_GPL vmlinux 0x89a6fc04 led_trigger_blink_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x89ae7aa0 rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x89bbafc6 usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x89bec8b0 gfn_to_pfn_memslot_atomic +EXPORT_SYMBOL_GPL vmlinux 0x89c3e4c9 __fscrypt_prepare_readdir +EXPORT_SYMBOL_GPL vmlinux 0x89c429e4 __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x89c7df99 dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x89cb981a ahci_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x89d7be4e raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x89d91529 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x89deface pwm_free +EXPORT_SYMBOL_GPL vmlinux 0x89e340cf acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x89e55b0a rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x89e95f4a io_uring_cmd_complete_in_task +EXPORT_SYMBOL_GPL vmlinux 0x89ed97e6 __mmc_poll_for_busy +EXPORT_SYMBOL_GPL vmlinux 0x89ee71f7 mtk_pinconf_adv_pull_set +EXPORT_SYMBOL_GPL vmlinux 0x8a13148a nvme_enable_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x8a15ccd9 tcf_dev_queue_xmit +EXPORT_SYMBOL_GPL vmlinux 0x8a1607ed crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x8a191bdd of_console_check +EXPORT_SYMBOL_GPL vmlinux 0x8a2859a7 mmc_cmdq_disable +EXPORT_SYMBOL_GPL vmlinux 0x8a2de27d __traceiter_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x8a2fee04 ahci_platform_enable_phys +EXPORT_SYMBOL_GPL vmlinux 0x8a3a897d fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x8a3f84ba linear_range_get_selector_low +EXPORT_SYMBOL_GPL vmlinux 0x8a45a555 acpi_unregister_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0x8a4742b1 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x8a554a36 mpc8xxx_spi_strmode +EXPORT_SYMBOL_GPL vmlinux 0x8a5d078b usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x8a62b81b sfp_upstream_stop +EXPORT_SYMBOL_GPL vmlinux 0x8a70615f rockchip_pcie_init_port +EXPORT_SYMBOL_GPL vmlinux 0x8a79926a fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0x8a802186 devm_clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x8a82e3c2 sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0x8a834b94 spi_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x8a83fb45 mpi_point_free_parts +EXPORT_SYMBOL_GPL vmlinux 0x8a86a638 rio_mport_get_feature +EXPORT_SYMBOL_GPL vmlinux 0x8a9c70ed nvme_sec_submit +EXPORT_SYMBOL_GPL vmlinux 0x8a9d8b83 acpi_subsys_complete +EXPORT_SYMBOL_GPL vmlinux 0x8aa18607 ehci_reset +EXPORT_SYMBOL_GPL vmlinux 0x8ab4bbd4 __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ac2fe3f ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x8ac70fc4 devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0x8ad18e9b of_clk_get_parent_name +EXPORT_SYMBOL_GPL vmlinux 0x8aea6125 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x8aebf241 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x8af09fa3 crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0x8af73a26 led_set_brightness_sync +EXPORT_SYMBOL_GPL vmlinux 0x8b09919f iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0x8b0d7ff9 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x8b128982 pci_get_dsn +EXPORT_SYMBOL_GPL vmlinux 0x8b149c36 clk_is_match +EXPORT_SYMBOL_GPL vmlinux 0x8b1bcd4d bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0x8b274670 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x8b3dc155 __xenbus_register_backend +EXPORT_SYMBOL_GPL vmlinux 0x8b43712f acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8b44284f ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x8b4c7c40 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x8b4d8ce0 regulator_get_error_flags +EXPORT_SYMBOL_GPL vmlinux 0x8b5b396a thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0x8b5cab24 dm_copy_name_and_uuid +EXPORT_SYMBOL_GPL vmlinux 0x8b650752 mtk_mutex_release +EXPORT_SYMBOL_GPL vmlinux 0x8b65eb40 pinconf_generic_dt_subnode_to_map +EXPORT_SYMBOL_GPL vmlinux 0x8b687ccd dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0x8b71691a sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0x8b7a698b __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x8b89f01c hv_ghcb_hypercall +EXPORT_SYMBOL_GPL vmlinux 0x8b8fcd7e dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x8b9a57bc anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x8ba0eb15 hv_set_vpreg +EXPORT_SYMBOL_GPL vmlinux 0x8ba5a9e6 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x8ba5afe9 HYPERVISOR_memory_op +EXPORT_SYMBOL_GPL vmlinux 0x8bb976fc aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0x8bbcfdb6 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x8bbd7656 mpc8xxx_spi_tx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0x8bcb70f6 virtio_check_mem_acc_cb +EXPORT_SYMBOL_GPL vmlinux 0x8bd0fbc6 splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0x8bdfca13 serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x8bf5f379 k3_udma_glue_release_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x8c00f6df vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x8c0215f2 pm_system_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c047a33 devlink_port_region_create +EXPORT_SYMBOL_GPL vmlinux 0x8c06e17e pinctrl_lookup_state +EXPORT_SYMBOL_GPL vmlinux 0x8c0ed103 rcu_check_boost_fail +EXPORT_SYMBOL_GPL vmlinux 0x8c12426b kvm_vcpu_read_guest +EXPORT_SYMBOL_GPL vmlinux 0x8c15b90a __traceiter_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x8c16a7b2 devm_ti_sci_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x8c1a3193 devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0x8c290a5f sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8c363dc2 component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0x8c39a6f6 fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0x8c447158 xen_unregister_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0x8c484409 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x8c4f6315 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x8c56670b mtk_clk_unregister_factors +EXPORT_SYMBOL_GPL vmlinux 0x8c6b5e88 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x8c709528 call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x8c743564 regulator_irq_map_event_simple +EXPORT_SYMBOL_GPL vmlinux 0x8c743fb6 reset_control_status +EXPORT_SYMBOL_GPL vmlinux 0x8c7d2a14 nvme_stop_keep_alive +EXPORT_SYMBOL_GPL vmlinux 0x8c89e3b8 usb_phy_roothub_power_off +EXPORT_SYMBOL_GPL vmlinux 0x8c8d58ba nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0x8c98d248 unregister_vmcore_cb +EXPORT_SYMBOL_GPL vmlinux 0x8c9b4dac l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0x8c9bfc26 pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0x8ca3e9d0 spi_controller_dma_map_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x8ca78717 skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0x8ca8cfdd kvm_io_bus_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x8cb5a38e k3_udma_glue_rx_flow_disable +EXPORT_SYMBOL_GPL vmlinux 0x8cb70c59 cookie_tcp_reqsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8cbc75af nf_conntrack_free +EXPORT_SYMBOL_GPL vmlinux 0x8cc7a517 nf_ct_netns_get +EXPORT_SYMBOL_GPL vmlinux 0x8cdac61a register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x8ce2d446 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x8d0abf3a __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x8d17e5bc virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0x8d1cb331 dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x8d22bb58 iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d280ab0 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x8d2d8004 _copy_from_iter_flushcache +EXPORT_SYMBOL_GPL vmlinux 0x8d31bc69 dev_pm_opp_is_turbo +EXPORT_SYMBOL_GPL vmlinux 0x8d3330b6 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x8d3cf3e5 fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0x8d51f053 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x8d54283e spi_mem_exec_op +EXPORT_SYMBOL_GPL vmlinux 0x8d796a13 __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x8d7e3373 hwpoison_filter_dev_major +EXPORT_SYMBOL_GPL vmlinux 0x8d908ebf power_supply_get_maintenance_charging_setting +EXPORT_SYMBOL_GPL vmlinux 0x8dae0cf6 pci_vpd_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8daf0544 usb_phy_roothub_resume +EXPORT_SYMBOL_GPL vmlinux 0x8dafdded lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0x8db5db41 devm_register_restart_handler +EXPORT_SYMBOL_GPL vmlinux 0x8dba480e proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0x8dbacfa2 crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x8dbf7aaa privcmd_call +EXPORT_SYMBOL_GPL vmlinux 0x8dbfe9fb __regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x8dc5a009 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x8dcbd064 fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0x8dcfec81 fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x8dd218b0 icc_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x8dd8a029 kvm_get_running_vcpu +EXPORT_SYMBOL_GPL vmlinux 0x8dd8b206 gnttab_dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x8de28722 device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x8de6817a acpi_dev_resource_address_space +EXPORT_SYMBOL_GPL vmlinux 0x8dedf69a nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8df2bd3e pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x8df5bc11 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x8e0152d6 cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x8e03a3f2 i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL vmlinux 0x8e0deee5 nfnetlink_set_err +EXPORT_SYMBOL_GPL vmlinux 0x8e0e2955 dma_mmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x8e16419b trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x8e4195cb crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x8e44823a sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x8e4b63a6 hisi_clk_register_gate_sep +EXPORT_SYMBOL_GPL vmlinux 0x8e4eb451 bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x8e4f64b7 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x8e525158 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x8e6b1a9e net_selftest_get_count +EXPORT_SYMBOL_GPL vmlinux 0x8e6fa8b5 apei_exec_pre_map_gars +EXPORT_SYMBOL_GPL vmlinux 0x8e728c5d skcipher_alloc_instance_simple +EXPORT_SYMBOL_GPL vmlinux 0x8e7b2e7d mbox_flush +EXPORT_SYMBOL_GPL vmlinux 0x8e7bf4f0 bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0x8e7ec2b6 __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL vmlinux 0x8e7f0a9c acpi_get_phys_id +EXPORT_SYMBOL_GPL vmlinux 0x8e84f244 elv_register +EXPORT_SYMBOL_GPL vmlinux 0x8e890cb7 nvme_get_features +EXPORT_SYMBOL_GPL vmlinux 0x8e92f7c4 static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x8e97be07 fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0x8e9b6d15 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x8ea21145 of_clk_src_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0x8ead800c user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0x8ebd13a7 sk_psock_init +EXPORT_SYMBOL_GPL vmlinux 0x8ed340e6 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x8edaadca bdev_discard_alignment +EXPORT_SYMBOL_GPL vmlinux 0x8ee16f98 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x8ee6b3ab clk_hw_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x8eea32df kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0x8eea33d0 power_supply_charge_behaviour_show +EXPORT_SYMBOL_GPL vmlinux 0x8eea4e2f gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x8eec1680 pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x8eec19bd __SCK__tp_func_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x8eec8965 of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x8eee3399 dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8ef66b2b skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x8efcd2ab blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0x8f0748af rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x8f0b781d iova_domain_init_rcaches +EXPORT_SYMBOL_GPL vmlinux 0x8f102dc8 fscrypt_set_bio_crypt_ctx_bh +EXPORT_SYMBOL_GPL vmlinux 0x8f1715c5 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x8f24e566 devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0x8f32f0c4 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x8f33c92f dev_pm_opp_of_cpumask_add_table +EXPORT_SYMBOL_GPL vmlinux 0x8f3969e1 zynqmp_pm_clock_getrate +EXPORT_SYMBOL_GPL vmlinux 0x8f497da3 cpufreq_cpu_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x8f588f5a rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x8f5df373 crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f6fdd18 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0x8f77817e ima_inode_hash +EXPORT_SYMBOL_GPL vmlinux 0x8f786bee fs_umode_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x8f796ad8 pinmux_generic_get_function +EXPORT_SYMBOL_GPL vmlinux 0x8f7bd0a6 btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0x8f7f5bf5 __devm_clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x8f8cd251 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x8f8e81e1 strp_process +EXPORT_SYMBOL_GPL vmlinux 0x8f90a10c nvme_stop_admin_queue +EXPORT_SYMBOL_GPL vmlinux 0x8f958f47 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x8fa100e2 devm_platform_get_irqs_affinity +EXPORT_SYMBOL_GPL vmlinux 0x8fa9ac22 iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0x8faa800d acpi_cpc_valid +EXPORT_SYMBOL_GPL vmlinux 0x8fad02c8 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x8fc12788 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x8fc21a13 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x8fcb1e68 usb_get_role_switch_default_mode +EXPORT_SYMBOL_GPL vmlinux 0x8fce39bd mtk_mux_gate_clr_set_upd_ops +EXPORT_SYMBOL_GPL vmlinux 0x8fcfffc5 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x8fd71743 evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0x8ff2bba2 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x8ff4a682 dev_fetch_sw_netstats +EXPORT_SYMBOL_GPL vmlinux 0x8ff60436 mpi_ec_add_points +EXPORT_SYMBOL_GPL vmlinux 0x8ff7ea2f devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0x8ffe792f tracepoint_probe_register_prio_may_exist +EXPORT_SYMBOL_GPL vmlinux 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL vmlinux 0x900962ee imx_unregister_hw_clocks +EXPORT_SYMBOL_GPL vmlinux 0x9013880f dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0x9039408d virtio_device_restore +EXPORT_SYMBOL_GPL vmlinux 0x903b627c list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x903ebae5 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9041f467 power_supply_get_property +EXPORT_SYMBOL_GPL vmlinux 0x905e6677 watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0x90688bcd devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x907d08bc nf_ct_delete +EXPORT_SYMBOL_GPL vmlinux 0x9086ed4e regulator_get_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9092134c perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0x90a9d8cc hv_is_hyperv_initialized +EXPORT_SYMBOL_GPL vmlinux 0x90ad66b1 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0x90b763f1 HYPERVISOR_console_io +EXPORT_SYMBOL_GPL vmlinux 0x90b7e554 __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0x90b892fe usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x90c2e4ab inode_dax +EXPORT_SYMBOL_GPL vmlinux 0x90c8498c apei_exec_write_register +EXPORT_SYMBOL_GPL vmlinux 0x90cb0627 ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0x90d0c0e4 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x90d937b4 __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x910bdf6b trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x9124544d of_irq_parse_raw +EXPORT_SYMBOL_GPL vmlinux 0x91306447 pm_clk_remove +EXPORT_SYMBOL_GPL vmlinux 0x913ebd32 stack_depot_save +EXPORT_SYMBOL_GPL vmlinux 0x914012d2 devm_clk_get_optional_prepared +EXPORT_SYMBOL_GPL vmlinux 0x91457b4c led_init_default_state_get +EXPORT_SYMBOL_GPL vmlinux 0x9149b775 ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x9168a7b0 serial8250_do_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x916b49af kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x91830d12 clk_gate_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x9183fcf5 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x9194e18f xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x91955a9f start_poll_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x919a6abb synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x91a541b6 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x91b774a1 mpi_scanval +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91c919c5 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x91c9313c acpi_gpio_get_io_resource +EXPORT_SYMBOL_GPL vmlinux 0x91cddf53 gfn_to_memslot +EXPORT_SYMBOL_GPL vmlinux 0x91d23970 is_swiotlb_active +EXPORT_SYMBOL_GPL vmlinux 0x91d26c95 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x91d2c4c7 synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0x91e30809 HYPERVISOR_vm_assist +EXPORT_SYMBOL_GPL vmlinux 0x91e60a17 __traceiter_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x91e9280b nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x91ea8726 asn1_encode_boolean +EXPORT_SYMBOL_GPL vmlinux 0x91f127b6 iopf_queue_add_device +EXPORT_SYMBOL_GPL vmlinux 0x91fd9c4d cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x920cc389 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x920e4c2a driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x920f71c5 sprd_pinctrl_core_probe +EXPORT_SYMBOL_GPL vmlinux 0x9212b228 genphy_c45_read_status +EXPORT_SYMBOL_GPL vmlinux 0x92193f87 i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL vmlinux 0x92363309 vp_legacy_set_queue_address +EXPORT_SYMBOL_GPL vmlinux 0x92365d0c crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x923e42aa sysfb_disable +EXPORT_SYMBOL_GPL vmlinux 0x9241b358 __static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x9247fac5 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x924c46f8 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x9264cae1 wwan_create_port +EXPORT_SYMBOL_GPL vmlinux 0x92668796 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x9267b028 css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0x927487ea zynqmp_pm_read_ggs +EXPORT_SYMBOL_GPL vmlinux 0x928432cf edac_mc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x928e110e spi_controller_dma_unmap_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x928ebcd4 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x92a7f25c ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x92a82d7d mptcp_subflow_init_cookie_req +EXPORT_SYMBOL_GPL vmlinux 0x92acd62b pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x92b8c78b hyperv_pcpu_output_arg +EXPORT_SYMBOL_GPL vmlinux 0x92d1b0da spi_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92db8f68 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x92e8e9ab fsverity_enqueue_verify_work +EXPORT_SYMBOL_GPL vmlinux 0x93086690 peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0x930ab533 k3_ringacc_request_ring +EXPORT_SYMBOL_GPL vmlinux 0x93172af8 spi_split_transfers_maxsize +EXPORT_SYMBOL_GPL vmlinux 0x93255b2b ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x932c8d7a linear_range_get_value_array +EXPORT_SYMBOL_GPL vmlinux 0x93375543 battery_hook_unregister +EXPORT_SYMBOL_GPL vmlinux 0x933f75e0 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x934111e5 rio_route_add_entry +EXPORT_SYMBOL_GPL vmlinux 0x9353803b of_reconfig_get_state_change +EXPORT_SYMBOL_GPL vmlinux 0x936539a0 devm_usb_get_phy_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x936cd010 strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0x93704b88 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x937f605f pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x938fd30c irq_gc_noop +EXPORT_SYMBOL_GPL vmlinux 0x9392d2e3 __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0x93978151 pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x93a3e744 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x93aac153 power_supply_set_property +EXPORT_SYMBOL_GPL vmlinux 0x93b49f8a devm_hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x93c43c31 of_property_read_string_helper +EXPORT_SYMBOL_GPL vmlinux 0x93c61aa0 memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0x93c6d9a4 perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0x93c7edeb usb_find_common_endpoints +EXPORT_SYMBOL_GPL vmlinux 0x93cbbab5 kvm_write_guest_page +EXPORT_SYMBOL_GPL vmlinux 0x93d1d424 gnttab_free_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x93db2919 blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x93ede19b bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x93edef07 devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x93f5a76f tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x9425bb34 nvmem_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x9426f87e dev_coredumpsg +EXPORT_SYMBOL_GPL vmlinux 0x9430b198 trace_dump_stack +EXPORT_SYMBOL_GPL vmlinux 0x9432ca88 rio_local_set_device_id +EXPORT_SYMBOL_GPL vmlinux 0x9436e405 memory_group_register_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x943ed2eb devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0x943fc708 xen_setup_shutdown_event +EXPORT_SYMBOL_GPL vmlinux 0x944f79ae kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0x94565ec9 badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0x9458aa0c lochnagar_update_config +EXPORT_SYMBOL_GPL vmlinux 0x945d9fa0 sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x9468ea70 schedule_hrtimeout_range_clock +EXPORT_SYMBOL_GPL vmlinux 0x946c0028 devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0x946dd559 sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x9474e750 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x948955ad ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x9492660a pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x949b5176 devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x949c4641 nexthop_select_path +EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x94a6bea2 fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x94b5fb36 blk_next_bio +EXPORT_SYMBOL_GPL vmlinux 0x94bae18a md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x94db95b2 nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL vmlinux 0x94e21c41 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x94e4b670 irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x94e62d2e __set_phys_to_machine_multi +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x94f0136c irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0x95009cb9 phy_speed_up +EXPORT_SYMBOL_GPL vmlinux 0x9504df26 irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x95053173 iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x950985ef kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0x951a2773 crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x952ed9c4 nf_nat_helper_unregister +EXPORT_SYMBOL_GPL vmlinux 0x953e1b9e ktime_get_real_seconds +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x95683c41 __traceiter_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x956ac400 ring_buffer_dropped_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x95843030 mpi_ec_init +EXPORT_SYMBOL_GPL vmlinux 0x958df3ac zs_free +EXPORT_SYMBOL_GPL vmlinux 0x958e319a regulator_set_pull_down_regmap +EXPORT_SYMBOL_GPL vmlinux 0x95919a03 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x9593ef31 register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x95a15479 xhci_reset_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95c8c62e altr_sysmgr_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x95cb3caa class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x95db1979 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x95e102ab tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x95e832f5 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x95ef1ccc dmi_memdev_size +EXPORT_SYMBOL_GPL vmlinux 0x9601d430 of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x96082a19 rockchip_pcie_cfg_configuration_accesses +EXPORT_SYMBOL_GPL vmlinux 0x961286e0 ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x9613c698 nvme_kill_queues +EXPORT_SYMBOL_GPL vmlinux 0x9621d738 alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0x962c8ae1 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x96416096 kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x96418a4e dma_resv_describe +EXPORT_SYMBOL_GPL vmlinux 0x964ff867 get_governor_parent_kobj +EXPORT_SYMBOL_GPL vmlinux 0x96554810 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x96588afe iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0x96718878 dev_get_tstats64 +EXPORT_SYMBOL_GPL vmlinux 0x9682c83a dev_pm_opp_get_max_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0x968be578 __traceiter_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x968da1f8 nvme_sync_io_queues +EXPORT_SYMBOL_GPL vmlinux 0x968f9a23 efivar_entry_iter_begin +EXPORT_SYMBOL_GPL vmlinux 0x96900eff __traceiter_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x969e8a39 ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0x969eb2a0 hwpoison_filter +EXPORT_SYMBOL_GPL vmlinux 0x96a55fda list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0x96b580dc serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0x96bf8f5e dw_pcie_ep_reset_bar +EXPORT_SYMBOL_GPL vmlinux 0x96c09a19 devm_memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x96c0bbac __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x96c137a0 apple_rtkit_send_message_wait +EXPORT_SYMBOL_GPL vmlinux 0x96c4e2df pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0x96cdb87c nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0x96cdeae1 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x96da14db tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0x96de99f2 dax_recovery_write +EXPORT_SYMBOL_GPL vmlinux 0x96ea6911 mpc8xxx_spi_tx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x96ec4015 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x96f0445c phy_restore_page +EXPORT_SYMBOL_GPL vmlinux 0x96f0d57f __ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x96f3cb17 dev_pm_qos_expose_flags +EXPORT_SYMBOL_GPL vmlinux 0x96f9a01b __SCK__tp_func_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x96fa38d6 nvdimm_security_setup_events +EXPORT_SYMBOL_GPL vmlinux 0x9714e0bb ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x97161fb8 thermal_zone_get_temp +EXPORT_SYMBOL_GPL vmlinux 0x9737ef9d ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x974b8998 dev_pm_opp_remove_all_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x975519c1 asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x976a0bf7 devm_hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x97791e06 devm_hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x97799f30 mtk_pinconf_drive_set_raw +EXPORT_SYMBOL_GPL vmlinux 0x977be5c7 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x97850c45 serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0x97b152ae devm_namespace_disable +EXPORT_SYMBOL_GPL vmlinux 0x97b3c463 spi_mem_adjust_op_size +EXPORT_SYMBOL_GPL vmlinux 0x97becc50 usb_phy_get_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x97c57ff3 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x97d07aa9 put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x97d9ea78 fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0x97dcab14 skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0x97de2b83 debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x97f4be1e kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0x97f71b5d transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x97f947fa bio_trim +EXPORT_SYMBOL_GPL vmlinux 0x97fb4d41 mtk_pinconf_bias_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x97fdf830 __nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL vmlinux 0x9806c215 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x980aa580 i2c_acpi_find_adapter_by_handle +EXPORT_SYMBOL_GPL vmlinux 0x98116263 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x9811fc15 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x9817e4f6 serial8250_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x9821b58c input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x98246465 hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x9843f501 __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0x984faeda led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x985453e1 lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9856a89e pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0x9861b293 devm_extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x986befc8 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x987347bc cros_ec_command +EXPORT_SYMBOL_GPL vmlinux 0x98735328 dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0x9879932b crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9883b649 devm_fwnode_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x9888dda7 mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x989074ff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x9897ceb3 serial8250_em485_start_tx +EXPORT_SYMBOL_GPL vmlinux 0x989b788b rockchip_pcie_deinit_phys +EXPORT_SYMBOL_GPL vmlinux 0x989c8afa usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x98ac9e14 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x98b142fa blk_fill_rwbs +EXPORT_SYMBOL_GPL vmlinux 0x98c59274 __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x98cbf765 nvme_setup_cmd +EXPORT_SYMBOL_GPL vmlinux 0x98d7048e spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0x98dd928e dev_pm_opp_find_freq_ceil +EXPORT_SYMBOL_GPL vmlinux 0x98ee62b2 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x98fa1e20 dm_get_reserved_rq_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x99173826 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x9917c445 irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x991e02f3 serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0x992be7ee ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x992e65ad regmap_parse_val +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x9968aacb __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x99715323 regmap_check_range_table +EXPORT_SYMBOL_GPL vmlinux 0x9976b671 kvm_vcpu_write_guest +EXPORT_SYMBOL_GPL vmlinux 0x998d79d6 x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0x998ffa5d subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x99942287 led_trigger_rename_static +EXPORT_SYMBOL_GPL vmlinux 0x99b97275 pinctrl_utils_free_map +EXPORT_SYMBOL_GPL vmlinux 0x99db4d07 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0x99dd730c page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0x99e5e831 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x99f018c4 nvmem_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x99f07829 syscon_regmap_lookup_by_phandle_optional +EXPORT_SYMBOL_GPL vmlinux 0x99f2d00a sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x99f7ab54 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x9a04f80c fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0x9a06f727 led_stop_software_blink +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a22bb96 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x9a23ea6b alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0x9a314170 pwm_get_chip_data +EXPORT_SYMBOL_GPL vmlinux 0x9a49c602 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x9a4df567 usb_hub_find_child +EXPORT_SYMBOL_GPL vmlinux 0x9a58dd2d trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0x9a5dce5c rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0x9a6bf241 pci_bridge_emul_conf_write +EXPORT_SYMBOL_GPL vmlinux 0x9a72c922 dev_xdp_prog_count +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9ad9053a to_nvdimm +EXPORT_SYMBOL_GPL vmlinux 0x9adb7399 nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL vmlinux 0x9ae12e17 __tracepoint_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9af2ba87 of_irq_to_resource_table +EXPORT_SYMBOL_GPL vmlinux 0x9af49514 icc_bulk_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x9b02111a spi_mem_dirmap_read +EXPORT_SYMBOL_GPL vmlinux 0x9b0388f9 of_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0x9b086a29 apple_rtkit_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x9b0eaa52 tegra210_xusb_pll_hw_sequence_start +EXPORT_SYMBOL_GPL vmlinux 0x9b0f79da pinctrl_dev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x9b10f95c pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0x9b1eb1e4 phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x9b1f98e7 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x9b2f2142 dev_pm_genpd_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9b4602e9 i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x9b4636e6 mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x9b47f743 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x9b4b08d7 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x9b555c8c pm_suspend_default_s2idle +EXPORT_SYMBOL_GPL vmlinux 0x9b6029a4 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0x9b651e51 xenbus_teardown_ring +EXPORT_SYMBOL_GPL vmlinux 0x9b6952d7 bdev_alignment_offset +EXPORT_SYMBOL_GPL vmlinux 0x9b698c42 ioasid_set_data +EXPORT_SYMBOL_GPL vmlinux 0x9b6e3945 devm_led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x9b6ec967 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x9b6fc063 regmap_fields_read +EXPORT_SYMBOL_GPL vmlinux 0x9b70c6ff tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0x9b7e5bf8 gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x9b9071cb get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x9b92d16e pinctrl_gpio_set_config +EXPORT_SYMBOL_GPL vmlinux 0x9b9836dc dev_pm_qos_expose_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x9ba26b3e device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0x9ba2bb2b gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x9bb489a8 meson_pmx_get_groups +EXPORT_SYMBOL_GPL vmlinux 0x9bbc4102 posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x9bc346c1 cros_ec_check_features +EXPORT_SYMBOL_GPL vmlinux 0x9bd7189f mmc_regulator_get_supply +EXPORT_SYMBOL_GPL vmlinux 0x9bd97e7f pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x9be30d27 mhp_get_pluggable_range +EXPORT_SYMBOL_GPL vmlinux 0x9be516f8 mtk_eint_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9bece81b mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x9bf9e5c3 pci_hp_del +EXPORT_SYMBOL_GPL vmlinux 0x9c0cf441 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x9c149893 ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x9c170109 pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0x9c182f47 pci_aer_clear_nonfatal_status +EXPORT_SYMBOL_GPL vmlinux 0x9c1aaa44 mtk_pinconf_adv_drive_set +EXPORT_SYMBOL_GPL vmlinux 0x9c2741de devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0x9c27f67d __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x9c2b389a uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x9c311926 sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0x9c396d34 kthread_data +EXPORT_SYMBOL_GPL vmlinux 0x9c448d8d tegra210_put_utmipll_out_iddq +EXPORT_SYMBOL_GPL vmlinux 0x9c51e743 usb_control_msg_send +EXPORT_SYMBOL_GPL vmlinux 0x9c6febfc add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x9c803020 usb_phy_roothub_power_on +EXPORT_SYMBOL_GPL vmlinux 0x9c91e526 l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0x9cb5af34 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x9cb6fce0 da9052_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x9cc08ae7 devm_devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x9cc4f70a register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9cd7551a rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0x9cdd6a66 sysctl_long_vals +EXPORT_SYMBOL_GPL vmlinux 0x9cdf0219 usb_hub_claim_port +EXPORT_SYMBOL_GPL vmlinux 0x9ce7a96b pci_iov_get_pf_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x9cf37c44 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x9cf545c5 tty_get_icount +EXPORT_SYMBOL_GPL vmlinux 0x9cf86a92 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL vmlinux 0x9d021ceb ahci_shost_groups +EXPORT_SYMBOL_GPL vmlinux 0x9d07b728 clk_regmap_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0x9d09e8ae ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9d2d3a35 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x9d2f49ef __SCK__tp_func_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x9d383f70 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x9d3ef020 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x9d47ad90 usb_of_get_companion_dev +EXPORT_SYMBOL_GPL vmlinux 0x9d53c07c dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x9d660301 genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL vmlinux 0x9d7359c0 icc_link_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9d7bc627 devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x9d7fb99c syscon_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9d82558d nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL vmlinux 0x9d825dfb sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0x9d8bb00e set_dax_nocache +EXPORT_SYMBOL_GPL vmlinux 0x9d94e13e mtk_free_clk_data +EXPORT_SYMBOL_GPL vmlinux 0x9d983953 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x9d9910a1 atomic_notifier_chain_register_unique_prio +EXPORT_SYMBOL_GPL vmlinux 0x9dab355f clk_register_divider_table +EXPORT_SYMBOL_GPL vmlinux 0x9dc8bd35 clean_record_shared_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x9de31b2a phy_gbit_fibre_features +EXPORT_SYMBOL_GPL vmlinux 0x9de88bc8 __SCK__tp_func_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x9dfef4c1 pci_generic_ecam_ops +EXPORT_SYMBOL_GPL vmlinux 0x9e005e6f cppc_get_perf_caps +EXPORT_SYMBOL_GPL vmlinux 0x9e0530bc regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x9e1a5fd2 __traceiter_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x9e2a079d skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x9e2b97fb __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9e410959 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x9e45506c user_update +EXPORT_SYMBOL_GPL vmlinux 0x9e472f5f snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x9e4a7597 dax_iomap_rw +EXPORT_SYMBOL_GPL vmlinux 0x9e54b0cb xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0x9e5a92c3 pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0x9e6499d0 phy_remove_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9e6ebdca usb_add_phy_dev +EXPORT_SYMBOL_GPL vmlinux 0x9e743870 tps65912_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x9e7d25fd dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x9e805efd dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0x9e854b45 soc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x9e8af467 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9e9b913d __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x9e9c4f24 set_dax_nomc +EXPORT_SYMBOL_GPL vmlinux 0x9ece9153 genphy_c45_read_mdix +EXPORT_SYMBOL_GPL vmlinux 0x9ed0b748 blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0x9ed3708c pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x9ed554b3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9eebdde7 mpi_point_new +EXPORT_SYMBOL_GPL vmlinux 0x9ef19073 devm_thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9effc8b9 regulator_set_soft_start_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9f01e15d ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0x9f0cb502 acpi_subsys_freeze +EXPORT_SYMBOL_GPL vmlinux 0x9f0f43e2 gov_update_cpu_data +EXPORT_SYMBOL_GPL vmlinux 0x9f4c4aa0 spi_delay_to_ns +EXPORT_SYMBOL_GPL vmlinux 0x9f517986 HYPERVISOR_hvm_op +EXPORT_SYMBOL_GPL vmlinux 0x9f56c4b9 __SCK__tp_func_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x9f5c6dc2 __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0x9f5f5fe8 bus_register +EXPORT_SYMBOL_GPL vmlinux 0x9f6b6574 fsl_mc_bus_dpdbg_type +EXPORT_SYMBOL_GPL vmlinux 0x9f84c3ee crypto_register_scomps +EXPORT_SYMBOL_GPL vmlinux 0x9f9c7781 phy_basic_t1_features +EXPORT_SYMBOL_GPL vmlinux 0x9fadacc7 pci_find_host_bridge +EXPORT_SYMBOL_GPL vmlinux 0x9faec509 find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x9fb5f3b7 i2c_acpi_waive_d0_probe +EXPORT_SYMBOL_GPL vmlinux 0x9fb6ed4b nf_ct_tcp_seqadj_set +EXPORT_SYMBOL_GPL vmlinux 0x9fbfebab erst_write +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fd234b6 xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0x9fd8ba9f nvdimm_pmem_region_create +EXPORT_SYMBOL_GPL vmlinux 0x9fdd9198 trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0x9fdda0d3 bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0x9fe131f1 xen_store_interface +EXPORT_SYMBOL_GPL vmlinux 0x9fe32af3 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x9fe899b7 get_cpu_idle_time +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9fec33cc free_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x9fefc3e6 __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0xa0025130 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xa00370ab inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xa01a8d9b nd_cmd_bus_desc +EXPORT_SYMBOL_GPL vmlinux 0xa040ba2d __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0xa04f945a cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xa06147e5 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0xa071c0cd tegra210_xusb_pll_hw_control_enable +EXPORT_SYMBOL_GPL vmlinux 0xa07735d9 fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0xa080c5e5 smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0xa085ff17 pm_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0xa098b65d usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xa0a78c6c usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xa0b8022b nvme_cancel_request +EXPORT_SYMBOL_GPL vmlinux 0xa0bea135 iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa0c1052e ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0xa0c2c21d eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xa0c384b1 of_i2c_get_board_info +EXPORT_SYMBOL_GPL vmlinux 0xa0c5039c fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0xa0d3456d nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0xa0ef1f8e virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0xa0fc9d43 crypto_boot_test_finished +EXPORT_SYMBOL_GPL vmlinux 0xa1104fe7 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xa1108395 debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0xa11216be xen_store_domain_type +EXPORT_SYMBOL_GPL vmlinux 0xa11da127 pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xa120b143 of_pci_get_devfn +EXPORT_SYMBOL_GPL vmlinux 0xa12dd086 bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0xa1313308 bpf_trace_run12 +EXPORT_SYMBOL_GPL vmlinux 0xa132f277 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0xa144ad5a shake_page +EXPORT_SYMBOL_GPL vmlinux 0xa14976a4 __traceiter_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0xa156a1f2 erst_get_record_id_end +EXPORT_SYMBOL_GPL vmlinux 0xa16281f6 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0xa16373f4 devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa16ab99d tpm_tis_resume +EXPORT_SYMBOL_GPL vmlinux 0xa18ab9a1 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xa18b485c devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0xa1917631 synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0xa198b4de icmp_build_probe +EXPORT_SYMBOL_GPL vmlinux 0xa1a4f338 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0xa1ba46b4 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa1c4231f kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL vmlinux 0xa1d0840d skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0xa1d8004a videomode_from_timing +EXPORT_SYMBOL_GPL vmlinux 0xa1da455b devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0xa1e3cfe5 regulator_allow_bypass +EXPORT_SYMBOL_GPL vmlinux 0xa1f1fbf9 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0xa1ffe17a virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0xa20d01ba __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xa21f2ce7 clk_mux_index_to_val +EXPORT_SYMBOL_GPL vmlinux 0xa220b16b __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0xa22975a1 vp_legacy_get_features +EXPORT_SYMBOL_GPL vmlinux 0xa2314315 pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xa2316aca clk_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0xa23e65c5 devm_namespace_enable +EXPORT_SYMBOL_GPL vmlinux 0xa24dea20 ahci_start_fis_rx +EXPORT_SYMBOL_GPL vmlinux 0xa2500ef6 __SCK__tp_func_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xa269be76 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xa26d9b4f workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xa286c1c6 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0xa286fe24 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0xa28f40bd __irq_apply_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0xa290831d mtk_clk_register_fixed_clks +EXPORT_SYMBOL_GPL vmlinux 0xa29280f9 __irq_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0xa293133f usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0xa29c57be crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xa2a4bb51 handle_fasteoi_ack_irq +EXPORT_SYMBOL_GPL vmlinux 0xa2af54b3 irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xa2af848b netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0xa2b0820d __SCK__tp_func_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0xa2b4f17b led_set_brightness +EXPORT_SYMBOL_GPL vmlinux 0xa2b99209 alarm_start +EXPORT_SYMBOL_GPL vmlinux 0xa2bdd52c crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa2de191a k3_udma_glue_tx_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0xa2e1b3ef trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0xa2e80b74 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0xa2f370f3 of_dma_configure_id +EXPORT_SYMBOL_GPL vmlinux 0xa2f7487f hv_is_hibernation_supported +EXPORT_SYMBOL_GPL vmlinux 0xa302a274 fwnode_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xa3051e38 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xa319130b dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0xa31f54b5 device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xa32fb148 devm_irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xa33fd46f hv_map_memory +EXPORT_SYMBOL_GPL vmlinux 0xa345faa7 iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xa3473ef9 ehci_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa359226b pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xa36f50fb is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xa37778cd kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0xa3802d0f proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa38a9f71 get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xa38c1436 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0xa396f954 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3a34c9e devm_of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0xa3b35ed8 devm_otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0xa3b4429f xhci_run +EXPORT_SYMBOL_GPL vmlinux 0xa3b958ce reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0xa3dcb681 zynqmp_pm_fpga_load +EXPORT_SYMBOL_GPL vmlinux 0xa3e3cac6 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xa3ec4e35 xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0xa3ece414 freezer_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xa3f12f69 __crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0xa3fca869 xen_register_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xa4001898 xenbus_dev_probe +EXPORT_SYMBOL_GPL vmlinux 0xa4031b7f sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0xa4099c4d pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0xa410a295 devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa4357ff2 ahci_platform_enable_clks +EXPORT_SYMBOL_GPL vmlinux 0xa435a8d3 efivars_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa4377955 nf_connlabels_replace +EXPORT_SYMBOL_GPL vmlinux 0xa43a8e0d devlink_port_type_eth_set +EXPORT_SYMBOL_GPL vmlinux 0xa4439dc7 devm_extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa44a1307 interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xa452f2a4 xen_pirq_from_irq +EXPORT_SYMBOL_GPL vmlinux 0xa456bd59 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0xa45c7b90 stack_trace_print +EXPORT_SYMBOL_GPL vmlinux 0xa45d44fc zynqmp_pm_get_pll_frac_data +EXPORT_SYMBOL_GPL vmlinux 0xa45e7ee8 pci_hp_add +EXPORT_SYMBOL_GPL vmlinux 0xa45fedee platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xa4668b5d dev_pm_opp_adjust_voltage +EXPORT_SYMBOL_GPL vmlinux 0xa46efec1 blk_mq_wait_quiesce_done +EXPORT_SYMBOL_GPL vmlinux 0xa478c75c gnttab_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa4899b1c ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa4934f85 scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0xa497f023 __traceiter_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0xa49c0db5 ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0xa49ef204 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xa4a22f0d driver_deferred_probe_check_state +EXPORT_SYMBOL_GPL vmlinux 0xa4ab7c1c ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xa4af1aec nf_defrag_ipv4_disable +EXPORT_SYMBOL_GPL vmlinux 0xa4b07fe7 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xa4b20a98 rio_route_get_entry +EXPORT_SYMBOL_GPL vmlinux 0xa4bdc688 clk_regmap_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xa4bfabf6 fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0xa4c00324 asn1_encode_octet_string +EXPORT_SYMBOL_GPL vmlinux 0xa4c085f8 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0xa4c3ef84 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xa4c98a12 handle_fasteoi_irq +EXPORT_SYMBOL_GPL vmlinux 0xa4e22108 devl_rate_leaf_create +EXPORT_SYMBOL_GPL vmlinux 0xa4f2a2ed acpi_irq_get +EXPORT_SYMBOL_GPL vmlinux 0xa5000ceb pwm_request +EXPORT_SYMBOL_GPL vmlinux 0xa5009e82 dpcon_disable +EXPORT_SYMBOL_GPL vmlinux 0xa500ee4a debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xa517f884 tegra210_plle_hw_sequence_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xa525076f of_icc_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0xa531471e clk_save_context +EXPORT_SYMBOL_GPL vmlinux 0xa53584bc rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0xa54a2cba devlink_linecard_provision_clear +EXPORT_SYMBOL_GPL vmlinux 0xa54fc2bc ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0xa55fd082 dpbp_get_attributes +EXPORT_SYMBOL_GPL vmlinux 0xa56664ef poll_state_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xa5778cf7 iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0xa5843a9b sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xa587b57f fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0xa588cfaf nvme_try_sched_reset +EXPORT_SYMBOL_GPL vmlinux 0xa598c9b4 regulator_get_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0xa5ac2fa4 scmi_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xa5ade7e5 dev_err_probe +EXPORT_SYMBOL_GPL vmlinux 0xa5bda8a1 efi_capsule_supported +EXPORT_SYMBOL_GPL vmlinux 0xa5cbf31a pinctrl_select_state +EXPORT_SYMBOL_GPL vmlinux 0xa5cdae6c fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0xa5d1f4b8 stack_depot_snprint +EXPORT_SYMBOL_GPL vmlinux 0xa5d7353b wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0xa5d7c388 pstore_type_to_name +EXPORT_SYMBOL_GPL vmlinux 0xa5dd2b23 kvm_vcpu_map +EXPORT_SYMBOL_GPL vmlinux 0xa5e030fa icc_enable +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5fae710 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xa5fd8c34 phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0xa60245f6 kvm_vcpu_read_guest_page +EXPORT_SYMBOL_GPL vmlinux 0xa61da16b clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0xa6240ab6 devm_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0xa62ecc9c mtk_pinconf_bias_disable_set +EXPORT_SYMBOL_GPL vmlinux 0xa6320351 netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0xa65f3c8c __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xa6657746 rockchip_clk_register_branches +EXPORT_SYMBOL_GPL vmlinux 0xa6661708 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xa6713e9d trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0xa67af67b devm_clk_register +EXPORT_SYMBOL_GPL vmlinux 0xa683f858 phy_led_triggers_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa6921ab0 regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xa6a088b7 fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0xa6a2687c led_set_brightness_nosleep +EXPORT_SYMBOL_GPL vmlinux 0xa6af1e35 __SCK__tp_func_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0xa6b06f65 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6b5ee5b __SCK__tp_func_block_split +EXPORT_SYMBOL_GPL vmlinux 0xa6c21832 tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0xa6c3a149 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0xa6dc0d97 tegra_read_ram_code +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa6ec83a7 percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0xa6ee15ca __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa6fab483 task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0xa709c835 fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa7220a35 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0xa72986ae regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0xa72df4cd dm_put +EXPORT_SYMBOL_GPL vmlinux 0xa731f387 nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xa733bd65 device_iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0xa73c3b08 mtk_mutex_remove_comp +EXPORT_SYMBOL_GPL vmlinux 0xa762695b usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xa76d9ea0 dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0xa7715616 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL vmlinux 0xa778a501 devm_clk_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xa788700b copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0xa7b75f5f crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xa7bfca35 nvme_complete_rq +EXPORT_SYMBOL_GPL vmlinux 0xa7c0111b __regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xa7d94b35 acpi_gpiochip_request_interrupts +EXPORT_SYMBOL_GPL vmlinux 0xa7ee46ec led_sysfs_disable +EXPORT_SYMBOL_GPL vmlinux 0xa7ef4f51 check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0xa8165cd8 crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xa821449a skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0xa82ccea9 acpi_get_first_physical_node +EXPORT_SYMBOL_GPL vmlinux 0xa83152ed bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0xa8438ad9 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xa84568f0 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xa84ed399 __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0xa851973a raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa8609a89 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xa88de057 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0xa89926dc crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0xa89f94df nvmem_add_cell_table +EXPORT_SYMBOL_GPL vmlinux 0xa8a3c46b devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xa8a6364c xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0xa8a745c5 dev_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0xa8b26031 devm_regulator_irq_helper +EXPORT_SYMBOL_GPL vmlinux 0xa8c01022 gpiochip_irq_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0xa8c259f6 devm_power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xa8cb8a26 vp_legacy_get_queue_size +EXPORT_SYMBOL_GPL vmlinux 0xa8cc2f41 devm_spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0xa8dfa9c7 thp_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0xa8f3ade6 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0xa9035460 phy_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0xa9146aa6 iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0xa923e6fe mtk_pinconf_drive_get_raw +EXPORT_SYMBOL_GPL vmlinux 0xa9297362 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xa92defff get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0xa9320d27 ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0xa936eb3b dev_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0xa942e1fe syscon_regmap_lookup_by_phandle_args +EXPORT_SYMBOL_GPL vmlinux 0xa948b1b3 serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0xa958a3f6 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa958cb24 sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0xa95b5c77 hwmon_sanitize_name +EXPORT_SYMBOL_GPL vmlinux 0xa95cce89 kvm_release_page_clean +EXPORT_SYMBOL_GPL vmlinux 0xa96463d0 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xa9698b45 edac_device_handle_ue_count +EXPORT_SYMBOL_GPL vmlinux 0xa96e8b4e hv_setup_vmbus_handler +EXPORT_SYMBOL_GPL vmlinux 0xa98013e5 kvm_read_guest +EXPORT_SYMBOL_GPL vmlinux 0xa981811b driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xa9831d4a usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0xa98bb86f __clk_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xa9924d86 irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0xa99b8e70 __SCK__tp_func_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0xa99ef899 devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xa9a18df8 __traceiter_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xa9b08bef ahci_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xa9be8860 devm_rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0xa9bee288 ata_sas_tport_add +EXPORT_SYMBOL_GPL vmlinux 0xa9d7407d dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0xa9d956ca ext_pi_type1_crc64 +EXPORT_SYMBOL_GPL vmlinux 0xa9dc9ddb gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0xa9e587b9 of_get_pci_domain_nr +EXPORT_SYMBOL_GPL vmlinux 0xa9f8ba8e of_genpd_add_provider_simple +EXPORT_SYMBOL_GPL vmlinux 0xaa1686cd is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0xaa1f1caa rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xaa2431a2 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xaa2ea1a0 ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0xaa319416 __spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0xaa41f6e1 fsverity_ioctl_enable +EXPORT_SYMBOL_GPL vmlinux 0xaa4f93cb crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0xaa516510 pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0xaa6509ca fsl_mc_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xaa6a50f9 __static_key_deferred_flush +EXPORT_SYMBOL_GPL vmlinux 0xaa6d2257 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xaa6e1075 devm_clk_get_prepared +EXPORT_SYMBOL_GPL vmlinux 0xaa721e65 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0xaa758aee sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0xaa78e8b5 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xaa971d3a phy_gbit_features +EXPORT_SYMBOL_GPL vmlinux 0xaa98e7f5 dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0xaaa2945a ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaab8d739 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0xaabfb7f7 devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0xaacbbda0 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0xaacc3353 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaad61b67 rio_mport_initialize +EXPORT_SYMBOL_GPL vmlinux 0xaafafbff rockchip_pmu_unblock +EXPORT_SYMBOL_GPL vmlinux 0xaafbb853 ahci_platform_disable_phys +EXPORT_SYMBOL_GPL vmlinux 0xab060841 zynqmp_pm_query_data +EXPORT_SYMBOL_GPL vmlinux 0xab0fcbcd nf_confirm +EXPORT_SYMBOL_GPL vmlinux 0xab1d20ca usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0xab1e0e93 hv_setup_kexec_handler +EXPORT_SYMBOL_GPL vmlinux 0xab27ead6 dev_pm_domain_attach_by_name +EXPORT_SYMBOL_GPL vmlinux 0xab356a26 led_get_default_pattern +EXPORT_SYMBOL_GPL vmlinux 0xab37d462 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xab4ff9ce of_detach_node +EXPORT_SYMBOL_GPL vmlinux 0xab51e209 of_get_videomode +EXPORT_SYMBOL_GPL vmlinux 0xab7f853d mtk_mutex_prepare +EXPORT_SYMBOL_GPL vmlinux 0xab9a0d69 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xab9e0116 fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0xabacd4fc register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xabb49b5f dev_pm_qos_update_user_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0xabc640f3 list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0xabcb59f9 blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0xabccdd0f acpi_subsys_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xabd18730 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0xabd45848 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xabdcaaf0 nvme_change_ctrl_state +EXPORT_SYMBOL_GPL vmlinux 0xabe3b55c synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0xabe3d375 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0xabf402f7 nvme_cancel_admin_tagset +EXPORT_SYMBOL_GPL vmlinux 0xabf592bd ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0xabfa87ca ata_common_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0xabfe6f6b ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0xac0a7ee4 exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0xac147723 fscrypt_dio_supported +EXPORT_SYMBOL_GPL vmlinux 0xac149c79 tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0xac1a7ea6 kvm_vcpu_gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL vmlinux 0xac519440 __phy_modify +EXPORT_SYMBOL_GPL vmlinux 0xac5d5235 decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0xac93d774 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xacafcf74 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0xacb1be17 debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0xacb4d88c clk_rate_exclusive_put +EXPORT_SYMBOL_GPL vmlinux 0xacb53301 blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0xacc977ac alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0xacda5e81 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xace10120 pinctrl_parse_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0xacef708a serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0xacfa391a uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xacfd01cf clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0xad12ef5b ata_host_put +EXPORT_SYMBOL_GPL vmlinux 0xad1aa50e regulator_suspend_disable +EXPORT_SYMBOL_GPL vmlinux 0xad1b50fe kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xad25602f __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xad28bda9 fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0xad36ca98 tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xad395dd9 mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0xad3b6a9c md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0xad3ffe33 netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xad42dff8 __SCK__tp_func_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0xad46676e devm_clk_get_enabled +EXPORT_SYMBOL_GPL vmlinux 0xad4e6259 remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad5062d4 edac_pci_handle_npe +EXPORT_SYMBOL_GPL vmlinux 0xad5737fc efivar_init +EXPORT_SYMBOL_GPL vmlinux 0xad5a7709 vcpu_put +EXPORT_SYMBOL_GPL vmlinux 0xad645234 register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xad76a3f0 __SCK__tp_func_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xad83ce29 xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0xad8bea2c scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0xada38766 dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0xada8f873 __auxiliary_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xadbb5b55 genpd_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0xadc33da2 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0xadc417fe securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xadc73616 PageHeadHuge +EXPORT_SYMBOL_GPL vmlinux 0xadcc349b platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xadcea3f3 cpufreq_disable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0xaddd5597 debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0xade5339b hte_get_clk_src_info +EXPORT_SYMBOL_GPL vmlinux 0xade8faef fsl_mc_obj_reset +EXPORT_SYMBOL_GPL vmlinux 0xadf1f90d dm_audit_log_ti +EXPORT_SYMBOL_GPL vmlinux 0xadf9c1b3 housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0xae0ecf40 usb_bus_idr_lock +EXPORT_SYMBOL_GPL vmlinux 0xae1051b0 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xae13e351 iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0xae277f60 pinmux_generic_get_function_groups +EXPORT_SYMBOL_GPL vmlinux 0xae39f80e dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xae494fca pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0xae4add59 edac_device_handle_ce_count +EXPORT_SYMBOL_GPL vmlinux 0xae5337bf pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xae562622 extcon_find_edev_by_node +EXPORT_SYMBOL_GPL vmlinux 0xae581fa8 unix_table_locks +EXPORT_SYMBOL_GPL vmlinux 0xae5a6af2 vp_modern_get_queue_size +EXPORT_SYMBOL_GPL vmlinux 0xae622fc1 irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xae64f1dd __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0xae66224d dev_pm_opp_of_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae7af389 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xae7c231d mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0xae86ff46 acpi_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0xae95f4fb usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0xae9921da l3mdev_table_lookup_register +EXPORT_SYMBOL_GPL vmlinux 0xae9abc87 scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0xae9eed7f tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0xaea7f1ef devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaeb9e8b6 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0xaec0d1fd meson_clk_pcie_pll_ops +EXPORT_SYMBOL_GPL vmlinux 0xaec39b33 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0xaed33795 devm_pm_opp_of_add_table_noclk +EXPORT_SYMBOL_GPL vmlinux 0xaedcaa6f get_net_ns_by_fd +EXPORT_SYMBOL_GPL vmlinux 0xaedf3738 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL vmlinux 0xaef9ba47 ata_ncq_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0xaefa53be pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0xaf076aec nd_fletcher64 +EXPORT_SYMBOL_GPL vmlinux 0xaf0847f0 nf_conntrack_locks +EXPORT_SYMBOL_GPL vmlinux 0xaf0b6ba7 blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0xaf103e4a __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0xaf1821da clk_fractional_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xaf188b9b devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xaf196894 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0xaf1e5cbe devm_ti_sci_get_of_resource +EXPORT_SYMBOL_GPL vmlinux 0xaf242833 vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0xaf2ad13e mark_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0xaf348da7 cpu_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xaf3a44e9 __SCK__tp_func_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xaf4014ff usb_amd_quirk_pll_check +EXPORT_SYMBOL_GPL vmlinux 0xaf6c8818 scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0xaf6f2c0a sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xaf793668 __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0xaf7aebb7 led_compose_name +EXPORT_SYMBOL_GPL vmlinux 0xaf852873 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0xaf88c47b tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xaf8c0f82 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0xaf9a8739 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaf9c4fb5 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xafb07262 __pfn_to_mfn +EXPORT_SYMBOL_GPL vmlinux 0xafb82248 qcom_smem_state_register +EXPORT_SYMBOL_GPL vmlinux 0xafba948f reset_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xafbd6cf5 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL vmlinux 0xafbff06d input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xafc5730a auxiliary_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xafddd545 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xafe1e3c5 wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0xafe41b11 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0xafe89ef6 bpf_trace_run9 +EXPORT_SYMBOL_GPL vmlinux 0xafeb58c1 __SCK__tp_func_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0xaff07f53 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0xaff42af5 vp_modern_get_features +EXPORT_SYMBOL_GPL vmlinux 0xb0082098 clk_hw_get_parent +EXPORT_SYMBOL_GPL vmlinux 0xb0099f79 topology_clear_scale_freq_source +EXPORT_SYMBOL_GPL vmlinux 0xb00a0543 __fsl_mc_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xb02ac411 register_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb03ca5a9 lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0xb0438476 fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0xb049a294 __SCK__tp_func_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0xb050792a fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xb05b26f6 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0xb05b68d5 zynqmp_pm_reset_get_status +EXPORT_SYMBOL_GPL vmlinux 0xb06645c4 regulator_set_load +EXPORT_SYMBOL_GPL vmlinux 0xb0747ed2 rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0xb077e70a clk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0xb07b4ab1 ata_std_sched_eh +EXPORT_SYMBOL_GPL vmlinux 0xb08a22a3 cpufreq_show_cpus +EXPORT_SYMBOL_GPL vmlinux 0xb08adc52 devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0xb09643bc crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0bbef45 pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0xb0c5571d sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xb0cd42e3 pinctrl_find_gpio_range_from_pin +EXPORT_SYMBOL_GPL vmlinux 0xb0cd80a6 bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0xb0d1656c gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0xb0e234cb mmc_get_ext_csd +EXPORT_SYMBOL_GPL vmlinux 0xb0e8e671 xenbus_otherend_changed +EXPORT_SYMBOL_GPL vmlinux 0xb0f617a2 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0xb10d964d devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xb1170ac5 of_phy_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0xb11cf7e5 ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0xb11d9000 tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0xb11e2ab8 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0xb123d98d icc_disable +EXPORT_SYMBOL_GPL vmlinux 0xb133c760 key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0xb13db252 perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0xb141aad1 __pci_hp_initialize +EXPORT_SYMBOL_GPL vmlinux 0xb142e189 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xb1647fc2 devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0xb1674f64 tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0xb167562d bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb1baa71a devlink_linecard_provision_fail +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1c6604f nvme_complete_async_event +EXPORT_SYMBOL_GPL vmlinux 0xb1cc8039 of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0xb1e25684 __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0xb1eb0562 bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0xb1f1c827 pci_host_common_remove +EXPORT_SYMBOL_GPL vmlinux 0xb1fc1782 pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xb202f0d7 rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0xb2047908 pci_bridge_emul_init +EXPORT_SYMBOL_GPL vmlinux 0xb2120858 regmap_add_irq_chip_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xb2162d87 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0xb21d00c6 hte_ts_put +EXPORT_SYMBOL_GPL vmlinux 0xb220f140 dma_get_any_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0xb2210d64 reset_control_deassert +EXPORT_SYMBOL_GPL vmlinux 0xb2311685 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0xb2345242 dev_pm_domain_start +EXPORT_SYMBOL_GPL vmlinux 0xb236aea3 of_genpd_del_provider +EXPORT_SYMBOL_GPL vmlinux 0xb2405efc secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0xb2606520 dev_pm_opp_enable +EXPORT_SYMBOL_GPL vmlinux 0xb26a1add elfcorehdr_addr +EXPORT_SYMBOL_GPL vmlinux 0xb26eb497 register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xb29533ee zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xb2a204b2 spi_mem_get_name +EXPORT_SYMBOL_GPL vmlinux 0xb2b83479 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb2c1732e rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0xb2cf1113 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xb2de2a6f bgmac_enet_remove +EXPORT_SYMBOL_GPL vmlinux 0xb2e31921 lwtunnel_get_encap_size +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb307c909 devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xb318346c mtk_pinconf_bias_get +EXPORT_SYMBOL_GPL vmlinux 0xb326a659 fsl_mc_portal_free +EXPORT_SYMBOL_GPL vmlinux 0xb3365807 device_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0xb34047be sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xb34346d1 blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0xb3779cb2 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0xb394448f scsi_device_from_queue +EXPORT_SYMBOL_GPL vmlinux 0xb3a43ef2 regmap_async_complete_cb +EXPORT_SYMBOL_GPL vmlinux 0xb3ae1516 nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0xb3b9fedd fsl_mc_bus_dpio_type +EXPORT_SYMBOL_GPL vmlinux 0xb3cc6f72 irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0xb3d1f05d ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xb3f03c2c rockchip_clk_of_add_provider +EXPORT_SYMBOL_GPL vmlinux 0xb3f29b51 fsl_mc_device_remove +EXPORT_SYMBOL_GPL vmlinux 0xb3f7fcf1 dev_pm_set_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xb3ff1fb3 power_supply_external_power_changed +EXPORT_SYMBOL_GPL vmlinux 0xb40cfb57 __auxiliary_device_add +EXPORT_SYMBOL_GPL vmlinux 0xb40d673e zynqmp_pm_pinctrl_request +EXPORT_SYMBOL_GPL vmlinux 0xb41afd8d ohci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0xb42fc542 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0xb4325351 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xb435184d bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0xb43f9365 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xb4429b64 acpi_dev_resource_ext_address_space +EXPORT_SYMBOL_GPL vmlinux 0xb44e18ea audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb451da54 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xb459d37b devm_usb_get_phy_by_node +EXPORT_SYMBOL_GPL vmlinux 0xb45bd3a6 pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0xb461fd2e dprc_get_obj_region +EXPORT_SYMBOL_GPL vmlinux 0xb464aed2 dpbp_enable +EXPORT_SYMBOL_GPL vmlinux 0xb46de537 mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0xb4742778 __virtio_unbreak_device +EXPORT_SYMBOL_GPL vmlinux 0xb47468c6 pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0xb476350f iopf_queue_flush_dev +EXPORT_SYMBOL_GPL vmlinux 0xb4795b8f led_update_brightness +EXPORT_SYMBOL_GPL vmlinux 0xb479b839 battery_hook_register +EXPORT_SYMBOL_GPL vmlinux 0xb47ac8f5 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0xb48f0638 software_node_register +EXPORT_SYMBOL_GPL vmlinux 0xb48f3499 xlnx_register_event +EXPORT_SYMBOL_GPL vmlinux 0xb4b97c90 pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4bb23b5 dev_coredumpv +EXPORT_SYMBOL_GPL vmlinux 0xb4e9928b phy_start_machine +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4eda0da ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0xb4efb18d crypto_unregister_skciphers +EXPORT_SYMBOL_GPL vmlinux 0xb4fb967a spi_slave_abort +EXPORT_SYMBOL_GPL vmlinux 0xb501b2df nd_cmd_dimm_desc +EXPORT_SYMBOL_GPL vmlinux 0xb50ed3ff extcon_get_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb520eb79 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0xb525f0c6 icc_provider_del +EXPORT_SYMBOL_GPL vmlinux 0xb535c990 usb_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0xb53a897c device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xb55de460 HYPERVISOR_dm_op +EXPORT_SYMBOL_GPL vmlinux 0xb56300a6 is_nvdimm_sync +EXPORT_SYMBOL_GPL vmlinux 0xb56667d0 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0xb58b5a1c icc_get +EXPORT_SYMBOL_GPL vmlinux 0xb5993ed6 dw_pcie_ep_raise_msi_irq +EXPORT_SYMBOL_GPL vmlinux 0xb5a83e35 gnttab_setup_auto_xlat_frames +EXPORT_SYMBOL_GPL vmlinux 0xb5a8c226 acpi_gsi_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xb5b6fb04 hv_get_vpreg +EXPORT_SYMBOL_GPL vmlinux 0xb5ce7892 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xb5e1735d uprobe_register_refctr +EXPORT_SYMBOL_GPL vmlinux 0xb5e93017 inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0xb5ea3b36 screen_pos +EXPORT_SYMBOL_GPL vmlinux 0xb5eb4318 devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xb60baff0 led_trigger_write +EXPORT_SYMBOL_GPL vmlinux 0xb610b5d9 ethtool_params_from_link_mode +EXPORT_SYMBOL_GPL vmlinux 0xb621ef0a led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0xb6261484 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb6299bd4 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0xb6326c47 pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0xb6357e53 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0xb6410433 mpi_addm +EXPORT_SYMBOL_GPL vmlinux 0xb64456ff devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb64740a6 acpiphp_register_attention +EXPORT_SYMBOL_GPL vmlinux 0xb65258a0 __traceiter_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0xb655f91b pci_epc_get_next_free_bar +EXPORT_SYMBOL_GPL vmlinux 0xb65c92d4 dev_pm_opp_xlate_required_opp +EXPORT_SYMBOL_GPL vmlinux 0xb663ef68 simple_rename_exchange +EXPORT_SYMBOL_GPL vmlinux 0xb666b0ae blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0xb669196b ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0xb66ed6e7 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0xb672c6f7 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xb6787346 sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0xb687754a kvm_read_guest_offset_cached +EXPORT_SYMBOL_GPL vmlinux 0xb6936645 md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xb698bcc8 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xb69afbb0 devlink_linecard_deactivate +EXPORT_SYMBOL_GPL vmlinux 0xb6ab368e pinconf_generic_dump_config +EXPORT_SYMBOL_GPL vmlinux 0xb6bf7d8c gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0xb6c2bde3 gnttab_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xb6c2c9b9 generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0xb6c57362 __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xb6c7b352 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0xb6d27de6 __tracepoint_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xb6de9d2f dw8250_setup_port +EXPORT_SYMBOL_GPL vmlinux 0xb6e0aaa0 of_hwspin_lock_get_id_byname +EXPORT_SYMBOL_GPL vmlinux 0xb6e6885a dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xb6e6d99d clk_disable +EXPORT_SYMBOL_GPL vmlinux 0xb6ed4848 __clk_mux_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xb6f15753 regulator_set_voltage_time_sel +EXPORT_SYMBOL_GPL vmlinux 0xb70b8682 xen_xlate_unmap_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0xb721938b dev_pm_opp_of_get_opp_desc_node +EXPORT_SYMBOL_GPL vmlinux 0xb7249694 tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xb7329c06 clk_set_phase +EXPORT_SYMBOL_GPL vmlinux 0xb73713d7 nvmem_add_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0xb7392650 usb_pipe_type_check +EXPORT_SYMBOL_GPL vmlinux 0xb73e37e3 devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb7435609 gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0xb74c31cd wwan_remove_port +EXPORT_SYMBOL_GPL vmlinux 0xb771d17f __clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0xb77ac3dd rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb77c2000 cpufreq_table_index_unsorted +EXPORT_SYMBOL_GPL vmlinux 0xb782c1a3 hv_get_vpreg_128 +EXPORT_SYMBOL_GPL vmlinux 0xb786bf75 pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xb79737f3 thermal_zone_of_get_sensor_id +EXPORT_SYMBOL_GPL vmlinux 0xb7a387fc synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0xb7a88650 vp_legacy_get_driver_features +EXPORT_SYMBOL_GPL vmlinux 0xb7aa5a10 acpi_device_fix_up_power +EXPORT_SYMBOL_GPL vmlinux 0xb7c69a63 unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7cc0cff __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0xb7cd878b pinctrl_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0xb7dd8070 mmc_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0xb7ea0407 nvme_init_ctrl_finish +EXPORT_SYMBOL_GPL vmlinux 0xb7f16e1a pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0xb7f990e9 rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xb7fdd7b1 dprc_setup +EXPORT_SYMBOL_GPL vmlinux 0xb80b3d3d class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xb81f88a2 nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb8273d0b __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xb8391861 kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0xb83e4e95 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0xb85042e5 gnttab_free_grant_reference_seq +EXPORT_SYMBOL_GPL vmlinux 0xb85dcdf8 ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xb860a484 apple_rtkit_boot +EXPORT_SYMBOL_GPL vmlinux 0xb86ea4d2 devm_of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0xb87a911d phy_put +EXPORT_SYMBOL_GPL vmlinux 0xb87d43bc crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0xb87f40fe cppc_set_enable +EXPORT_SYMBOL_GPL vmlinux 0xb88bc47e arch_apei_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0xb88dbfce irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0xb893c8ef dev_pm_opp_set_rate +EXPORT_SYMBOL_GPL vmlinux 0xb8993fac __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0xb89e69b1 jump_label_update_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb8b8c4f0 ti_sci_release_resource +EXPORT_SYMBOL_GPL vmlinux 0xb8bb23f1 phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL vmlinux 0xb8bb89ce edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0xb8cbd3b6 meson_clk_dualdiv_ops +EXPORT_SYMBOL_GPL vmlinux 0xb8cd3a7f nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0xb8e507e6 of_devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xb8f11603 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb8f406f2 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0xb90286fb ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xb912560d static_key_disable +EXPORT_SYMBOL_GPL vmlinux 0xb9175787 devlink_linecard_create +EXPORT_SYMBOL_GPL vmlinux 0xb917b6d7 return_address +EXPORT_SYMBOL_GPL vmlinux 0xb923cfa7 percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0xb92ce821 ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0xb92d22bf usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0xb93d68a6 tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0xb93ddb94 io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0xb940d90d hte_enable_ts +EXPORT_SYMBOL_GPL vmlinux 0xb94a2866 __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xb953038c console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xb958ea44 dev_pm_opp_get_of_node +EXPORT_SYMBOL_GPL vmlinux 0xb9681621 xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0xb96c09be of_irq_parse_and_map_pci +EXPORT_SYMBOL_GPL vmlinux 0xb97c844e iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0xb9828017 lwtunnel_output +EXPORT_SYMBOL_GPL vmlinux 0xb9852d11 __traceiter_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xb98d01e8 ahci_platform_get_resources +EXPORT_SYMBOL_GPL vmlinux 0xb98d58fc iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9bd1652 gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL vmlinux 0xb9be237b fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0xb9c16f51 hv_max_vp_index +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9c7134c bpf_trace_run6 +EXPORT_SYMBOL_GPL vmlinux 0xb9c86ad3 nvme_cancel_tagset +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9e65995 devm_phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb9ec3b6e platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0xb9eca22e anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xb9eded4b regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb9fb90af tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0xba057786 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0xba1b6b9f __traceiter_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xba220db7 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xba2216c8 balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0xba2b7f64 cpufreq_generic_get +EXPORT_SYMBOL_GPL vmlinux 0xba48bef6 fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0xba67f147 dev_pm_genpd_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xba6c564e dev_pm_opp_of_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xbaab0e9b serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbaad850d pskb_put +EXPORT_SYMBOL_GPL vmlinux 0xbab99bc7 pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0xbab9a9f0 maxim_charger_currents +EXPORT_SYMBOL_GPL vmlinux 0xbabdcf8e gnttab_unmap_refs_sync +EXPORT_SYMBOL_GPL vmlinux 0xbac0e296 gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0xbac661a1 tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0xbac9d0c1 strp_init +EXPORT_SYMBOL_GPL vmlinux 0xbade5a72 dmaengine_desc_set_metadata_len +EXPORT_SYMBOL_GPL vmlinux 0xbaec16a4 apple_sart_add_allowed_region +EXPORT_SYMBOL_GPL vmlinux 0xbaf22757 kvfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0xbaf6850c fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0xbb028ad3 rcu_gp_slow_register +EXPORT_SYMBOL_GPL vmlinux 0xbb05424a __trace_trigger_soft_disabled +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb0b25d2 register_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0xbb1147fb icc_node_add +EXPORT_SYMBOL_GPL vmlinux 0xbb24f372 __SCK__tp_func_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0xbb2ea7bf ehci_handshake +EXPORT_SYMBOL_GPL vmlinux 0xbb3c4c5e serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbb3c652d kvm_make_all_cpus_request +EXPORT_SYMBOL_GPL vmlinux 0xbb5008bc fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0xbb5cdfb1 ti_sci_get_handle +EXPORT_SYMBOL_GPL vmlinux 0xbb6193f2 mtk_pinconf_bias_disable_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xbb63ebad put_pid +EXPORT_SYMBOL_GPL vmlinux 0xbb64cfd6 blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0xbb6508da random_get_entropy_fallback +EXPORT_SYMBOL_GPL vmlinux 0xbb6a3cbd devlink_fmsg_arr_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xbb6b8d5e of_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0xbb6f025a asymmetric_key_generate_id +EXPORT_SYMBOL_GPL vmlinux 0xbb7195a5 xdp_warn +EXPORT_SYMBOL_GPL vmlinux 0xbb75b69e cpufreq_generic_init +EXPORT_SYMBOL_GPL vmlinux 0xbb7999aa vchan_tx_desc_free +EXPORT_SYMBOL_GPL vmlinux 0xbb7e4cc8 clk_hw_set_parent +EXPORT_SYMBOL_GPL vmlinux 0xbb7e9690 gfn_to_hva_memslot +EXPORT_SYMBOL_GPL vmlinux 0xbb90d545 regulator_bulk_set_supply_names +EXPORT_SYMBOL_GPL vmlinux 0xbb93eec5 ioasid_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbb9f62d4 pm_runtime_suspended_time +EXPORT_SYMBOL_GPL vmlinux 0xbbaa1a77 __device_reset +EXPORT_SYMBOL_GPL vmlinux 0xbbacb1a4 kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0xbbb4ab02 mtk_mutex_put +EXPORT_SYMBOL_GPL vmlinux 0xbbc0a999 edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0xbbc179c7 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0xbbc74360 virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0xbbcb6bfe badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0xbbe3490e clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0xbbe5611b crc64_rocksoft_update +EXPORT_SYMBOL_GPL vmlinux 0xbbe56404 sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0xbbfb098b spi_sync +EXPORT_SYMBOL_GPL vmlinux 0xbbfcb9d8 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xbbfe9c6d phy_check_downshift +EXPORT_SYMBOL_GPL vmlinux 0xbc0283d9 iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0xbc0be744 devm_extcon_dev_allocate +EXPORT_SYMBOL_GPL vmlinux 0xbc28f8f6 fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0xbc307fc8 pci_bridge_emul_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xbc3f2cb0 timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xbc6b76a4 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0xbc6bec66 free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xbc6d75ba wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0xbc833d53 pci_epf_add_vepf +EXPORT_SYMBOL_GPL vmlinux 0xbc98b82d crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0xbc9b8588 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xbc9d2bad pm_genpd_remove +EXPORT_SYMBOL_GPL vmlinux 0xbca0a0a0 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0xbca363a8 crypto_wait_for_test +EXPORT_SYMBOL_GPL vmlinux 0xbcad06ec edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xbcaf1bd7 switchdev_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0xbcbe3339 devlink_set_features +EXPORT_SYMBOL_GPL vmlinux 0xbcc15e75 ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xbccc432e ahci_stop_engine +EXPORT_SYMBOL_GPL vmlinux 0xbccd8df6 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xbcdd5b99 iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0xbceda0c7 nvmem_device_find +EXPORT_SYMBOL_GPL vmlinux 0xbcedfa09 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbcf1f0e6 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xbcfe33df usb_get_dr_mode +EXPORT_SYMBOL_GPL vmlinux 0xbd06f3a9 ata_get_cmd_name +EXPORT_SYMBOL_GPL vmlinux 0xbd089a2a vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xbd2ab69b of_usb_get_dr_mode_by_phy +EXPORT_SYMBOL_GPL vmlinux 0xbd2ff8c0 __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xbd3a63e9 rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xbd3fe1e3 disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0xbd49a376 nvme_wait_freeze +EXPORT_SYMBOL_GPL vmlinux 0xbd5704ec __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0xbd7aaaee add_memory +EXPORT_SYMBOL_GPL vmlinux 0xbd846567 devm_ti_sci_get_handle +EXPORT_SYMBOL_GPL vmlinux 0xbd9b310f irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0xbd9dbe6f apei_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0xbdb0634d ulpi_viewport_access_ops +EXPORT_SYMBOL_GPL vmlinux 0xbdb2217d hv_is_isolation_supported +EXPORT_SYMBOL_GPL vmlinux 0xbdb72342 __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0xbdc88fef component_add +EXPORT_SYMBOL_GPL vmlinux 0xbdda1b5f vmalloc_huge +EXPORT_SYMBOL_GPL vmlinux 0xbde08982 dm_report_zones +EXPORT_SYMBOL_GPL vmlinux 0xbde236ea xhci_get_ep_ctx +EXPORT_SYMBOL_GPL vmlinux 0xbde51158 device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0xbdfef8ba simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xbe02a6cc device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xbe0ee22f component_del +EXPORT_SYMBOL_GPL vmlinux 0xbe137c1e imx_fracn_gppll +EXPORT_SYMBOL_GPL vmlinux 0xbe1700ae regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xbe20e3f2 irq_chip_retrigger_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xbe301cf4 of_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0xbe33964c led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0xbe339b81 pinmux_generic_get_function_name +EXPORT_SYMBOL_GPL vmlinux 0xbe3a357b call_srcu +EXPORT_SYMBOL_GPL vmlinux 0xbe409389 devlink_port_linecard_set +EXPORT_SYMBOL_GPL vmlinux 0xbe454336 icc_sync_state +EXPORT_SYMBOL_GPL vmlinux 0xbe5829b0 xfer_to_guest_mode_handle_work +EXPORT_SYMBOL_GPL vmlinux 0xbe5c888b crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xbe5e3414 k3_udma_glue_reset_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0xbe5ff6d7 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0xbe655f40 extcon_get_state +EXPORT_SYMBOL_GPL vmlinux 0xbe687e88 wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbe699fea unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0xbe6ebea9 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xbe706833 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xbe76854a debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0xbe84772b phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL vmlinux 0xbe87fbee debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0xbe96dfd8 of_reconfig_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbe98538f devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0xbe998868 iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0xbe9a83d5 dw_pcie_write +EXPORT_SYMBOL_GPL vmlinux 0xbea5ff1e static_key_initialized +EXPORT_SYMBOL_GPL vmlinux 0xbeaa31ad __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xbec66c3a __apei_exec_run +EXPORT_SYMBOL_GPL vmlinux 0xbecc7b6d nvme_start_freeze +EXPORT_SYMBOL_GPL vmlinux 0xbed2bfc2 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0xbedb8d23 blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0xbef72c2c tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xbf041102 register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbf0517a8 mdiobus_modify +EXPORT_SYMBOL_GPL vmlinux 0xbf0e9b69 tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0xbf2e2e71 housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0xbf4168e2 fat_detach +EXPORT_SYMBOL_GPL vmlinux 0xbf444559 nvme_set_queue_count +EXPORT_SYMBOL_GPL vmlinux 0xbf4513c3 devlink_linecard_activate +EXPORT_SYMBOL_GPL vmlinux 0xbf4fd81b folio_wait_stable +EXPORT_SYMBOL_GPL vmlinux 0xbf5c1c5c balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0xbf6b9e78 __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0xbf6d6994 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0xbf753438 phy_set_speed +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbfcf0292 percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xbfd54fdf device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xbfde1dd9 xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0xbfe5616d tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0xbfed2cd9 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0xbfefbef3 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xbff1ecda nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL vmlinux 0xbff3083b dev_coredumpm +EXPORT_SYMBOL_GPL vmlinux 0xc0182d98 switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0xc01ee11a vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0xc0396d52 fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0xc03e081c nvmem_cell_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0xc03f5300 efivars_register +EXPORT_SYMBOL_GPL vmlinux 0xc0541b26 nvmem_cell_read_variable_le_u64 +EXPORT_SYMBOL_GPL vmlinux 0xc05cee80 ipi_get_hwirq +EXPORT_SYMBOL_GPL vmlinux 0xc06174f9 cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0xc06bcd98 acpi_subsys_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0xc073736f meson_clk_dualdiv_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xc080f89a trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0xc087f201 of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0xc08ce4ad clk_hw_rate_is_protected +EXPORT_SYMBOL_GPL vmlinux 0xc090c376 net_selftest_get_strings +EXPORT_SYMBOL_GPL vmlinux 0xc09a6446 mptcp_pm_get_local_addr_max +EXPORT_SYMBOL_GPL vmlinux 0xc09a81d8 PageHuge +EXPORT_SYMBOL_GPL vmlinux 0xc0a0b007 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0xc0a3d155 k3_udma_glue_rx_get_flow_id_base +EXPORT_SYMBOL_GPL vmlinux 0xc0a67195 usb_role_switch_register +EXPORT_SYMBOL_GPL vmlinux 0xc0a89867 alloc_dax +EXPORT_SYMBOL_GPL vmlinux 0xc0a96e14 rcu_gp_is_expedited +EXPORT_SYMBOL_GPL vmlinux 0xc0b2664d devlink_dpipe_header_ipv4 +EXPORT_SYMBOL_GPL vmlinux 0xc0d548ac scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0xc0dc346e ahci_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL vmlinux 0xc0dd9c55 of_reserved_mem_device_release +EXPORT_SYMBOL_GPL vmlinux 0xc0e238ba mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0xc0e55b52 kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0xc0f0458a ip_tunnel_unneed_metadata +EXPORT_SYMBOL_GPL vmlinux 0xc0f06bc4 virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0xc0f6d7e9 devm_spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0xc106c0ff cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xc1086e0c sysrq_toggle_support +EXPORT_SYMBOL_GPL vmlinux 0xc10afcf5 set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0xc10fddb8 name_to_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xc1191980 devm_spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc11d8d06 folio_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xc11df404 __devm_clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0xc1243778 regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0xc164d5c9 vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xc167d6eb pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0xc1743430 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc17c190c tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0xc17e9946 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xc17eab28 devm_rtc_allocate_device +EXPORT_SYMBOL_GPL vmlinux 0xc1813bc0 bio_poll +EXPORT_SYMBOL_GPL vmlinux 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL vmlinux 0xc1a43466 __traceiter_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0xc1a48a9a dprc_reset_container +EXPORT_SYMBOL_GPL vmlinux 0xc1be4020 serial8250_rpm_get_tx +EXPORT_SYMBOL_GPL vmlinux 0xc1d2fef3 lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0xc1d564a8 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xc1d645a3 of_remove_property +EXPORT_SYMBOL_GPL vmlinux 0xc1dce028 k3_udma_glue_reset_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0xc1dd4ab3 clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0xc1e0db14 pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0xc1e3dca2 usb_alloc_dev +EXPORT_SYMBOL_GPL vmlinux 0xc20573ed extcon_register_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0xc211c157 dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc2124f04 vp_legacy_get_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0xc21f29b8 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc236bf7b device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0xc2381eea fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xc2472388 tegra210_clk_emc_update_setting +EXPORT_SYMBOL_GPL vmlinux 0xc24def11 blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0xc24f3aac xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0xc25b8971 hv_remove_crash_handler +EXPORT_SYMBOL_GPL vmlinux 0xc2653774 tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0xc2692173 wakeup_sources_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc26b46df phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0xc26c7104 ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0xc26d4e51 screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0xc2721468 hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0xc27b30aa irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0xc289e46d cpufreq_generic_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xc2a3e570 errata +EXPORT_SYMBOL_GPL vmlinux 0xc2a814db tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xc2b9773a __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xc2c1c427 perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc2d3b10e fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0xc2de27ca hest_disable +EXPORT_SYMBOL_GPL vmlinux 0xc2e50746 dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0xc2f736c8 acpi_create_platform_device +EXPORT_SYMBOL_GPL vmlinux 0xc2fe9597 rio_mport_class +EXPORT_SYMBOL_GPL vmlinux 0xc2ff3992 clk_hw_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0xc30f59a8 nf_route +EXPORT_SYMBOL_GPL vmlinux 0xc3102a71 thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0xc31a4783 crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0xc324742a regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc328a30a lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0xc3301002 device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0xc340e246 zynqmp_pm_request_node +EXPORT_SYMBOL_GPL vmlinux 0xc341ae6d zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0xc3476e9c kvm_set_memory_region +EXPORT_SYMBOL_GPL vmlinux 0xc35095e7 tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0xc35c8ae8 apple_rtkit_start_ep +EXPORT_SYMBOL_GPL vmlinux 0xc361908e dax_inode +EXPORT_SYMBOL_GPL vmlinux 0xc36bf106 crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0xc3708747 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc3732dd3 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0xc3805a80 crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0xc3805cd1 fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0xc3876c1a hv_isolation_type_snp +EXPORT_SYMBOL_GPL vmlinux 0xc3879457 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xc39038b9 mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0xc399fe55 of_reserved_mem_device_init_by_name +EXPORT_SYMBOL_GPL vmlinux 0xc3a0563b clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xc3abfbec __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL vmlinux 0xc3b2379b regulator_map_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xc3c4c6cc hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0xc3d6b3cc devm_of_phy_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0xc3dc8787 irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0xc3de65ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc3ea5305 iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0xc3f5bc7b ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0xc40b25fc xen_remap_vma_range +EXPORT_SYMBOL_GPL vmlinux 0xc40f284c nf_ct_helper_hsize +EXPORT_SYMBOL_GPL vmlinux 0xc40fd961 gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0xc4156a27 gpiochip_remove_pin_ranges +EXPORT_SYMBOL_GPL vmlinux 0xc4198f24 imx_pinconf_get_scu +EXPORT_SYMBOL_GPL vmlinux 0xc42581c8 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc43e92b9 trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0xc44992ee devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0xc44afefd i2c_slave_register +EXPORT_SYMBOL_GPL vmlinux 0xc44bd84e usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc4609a0a usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0xc4616ca1 vchan_dma_desc_free_list +EXPORT_SYMBOL_GPL vmlinux 0xc46324f6 dynevent_create +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc47a90b9 bpf_fentry_test1 +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc498bdc9 devlink_register +EXPORT_SYMBOL_GPL vmlinux 0xc49c2a64 netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xc4a31146 rdma_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc4a634da device_driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xc4a72936 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xc4b42e92 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0xc4bfcadd devm_thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0xc4db8eeb class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc4f0da12 ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xc4fbc64a nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0xc50140be __iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0xc51450c6 imx_ccm_lock +EXPORT_SYMBOL_GPL vmlinux 0xc528dd75 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xc54f567d devm_phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0xc5604800 clk_set_rate_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xc56489c7 nvdimm_has_flush +EXPORT_SYMBOL_GPL vmlinux 0xc569d8ce __clk_get_name +EXPORT_SYMBOL_GPL vmlinux 0xc575c737 debug_locks_off +EXPORT_SYMBOL_GPL vmlinux 0xc5777fca linear_range_get_selector_low_array +EXPORT_SYMBOL_GPL vmlinux 0xc578d6e1 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xc57cdd86 regmap_noinc_write +EXPORT_SYMBOL_GPL vmlinux 0xc57eb321 of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0xc5827eb5 __devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xc586a397 bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0xc58a3ee6 icc_node_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc58e195a cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0xc5995f64 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0xc5a5c678 uart_parse_earlycon +EXPORT_SYMBOL_GPL vmlinux 0xc5b1f575 nvdimm_in_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xc5c131ce xen_find_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xc5d20b0a fwnode_get_phy_node +EXPORT_SYMBOL_GPL vmlinux 0xc5de826a aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0xc617f82c unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc642d42f devm_irq_domain_create_sim +EXPORT_SYMBOL_GPL vmlinux 0xc64e3f8a gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0xc64f8c87 ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0xc6572a90 xenbus_read_unsigned +EXPORT_SYMBOL_GPL vmlinux 0xc66019cc xen_resume_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc662ecda __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0xc66b77b1 iommu_group_set_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xc6779093 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xc68c41d6 __SCK__tp_func_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xc697b0f7 nvmem_device_read +EXPORT_SYMBOL_GPL vmlinux 0xc69b7ee5 zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0xc6a4a872 __clk_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc6a7d9ad tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0xc6aa336f iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xc6ab7e51 dma_map_sgtable +EXPORT_SYMBOL_GPL vmlinux 0xc6cd4bc5 regmap_field_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0xc6cea261 md_submit_discard_bio +EXPORT_SYMBOL_GPL vmlinux 0xc6def34b gnttab_empty_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xc6e5bcf3 linear_range_get_selector_within +EXPORT_SYMBOL_GPL vmlinux 0xc6f0e789 dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0xc7061ef3 iova_cache_put +EXPORT_SYMBOL_GPL vmlinux 0xc712ba59 kvm_vcpu_read_guest_atomic +EXPORT_SYMBOL_GPL vmlinux 0xc71b52a3 thermal_zone_get_zone_by_name +EXPORT_SYMBOL_GPL vmlinux 0xc7385ccc uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL vmlinux 0xc73b32aa blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0xc76bdba5 gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0xc7856e74 __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xc787d25c bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7a7e770 clk_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xc7a8ec2b dprc_get_obj +EXPORT_SYMBOL_GPL vmlinux 0xc7c23ff0 xenbus_exists +EXPORT_SYMBOL_GPL vmlinux 0xc7e64fc2 asn1_encode_integer +EXPORT_SYMBOL_GPL vmlinux 0xc7fa4aa9 kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0xc8035ddb sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0xc80361d3 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0xc803d811 gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0xc80f8e4a devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc82b3a88 __SCK__tp_func_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0xc82c721f klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xc82c8020 virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0xc82d1085 adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc832d86f regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0xc839c1ce trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0xc84c0830 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xc8594d3d reset_control_acquire +EXPORT_SYMBOL_GPL vmlinux 0xc859b6c0 unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0xc85ce826 vchan_init +EXPORT_SYMBOL_GPL vmlinux 0xc860790f devfreq_event_reset_event +EXPORT_SYMBOL_GPL vmlinux 0xc862d26d pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xc87dd725 k3_udma_glue_pop_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0xc886dc95 public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0xc8894353 dmi_kobj +EXPORT_SYMBOL_GPL vmlinux 0xc890a4b6 i2c_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0xc8970ce4 pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0xc8a54ffb mtk_clk_unregister_gates +EXPORT_SYMBOL_GPL vmlinux 0xc8b153df gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0xc8b5b777 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0xc8c11c37 scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0xc8c93417 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xc8cf17df serial8250_do_set_mctrl +EXPORT_SYMBOL_GPL vmlinux 0xc8ddd5b5 kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0xc8e35bf2 acpi_subsys_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc8e3c64b ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0xc8e41b76 clk_register_composite +EXPORT_SYMBOL_GPL vmlinux 0xc8f236a9 driver_register +EXPORT_SYMBOL_GPL vmlinux 0xc8f97663 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0xc8fb59bc folio_invalidate +EXPORT_SYMBOL_GPL vmlinux 0xc9163ce8 acpi_subsys_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0xc916a713 pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0xc91fdf58 percpu_ref_is_zero +EXPORT_SYMBOL_GPL vmlinux 0xc920c0fc acpi_dev_state_d0 +EXPORT_SYMBOL_GPL vmlinux 0xc92da389 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0xc9345c0f digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0xc9377098 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc93e4f2b sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0xc93ee1e7 usb_phy_roothub_init +EXPORT_SYMBOL_GPL vmlinux 0xc9400210 rio_add_net +EXPORT_SYMBOL_GPL vmlinux 0xc955ecf4 nd_cmd_out_size +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc95ea25a of_clk_src_simple_get +EXPORT_SYMBOL_GPL vmlinux 0xc9641b48 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0xc9715630 __SCK__tp_func_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xc9781f62 __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0xc98078c0 dev_pm_opp_of_add_table_noclk +EXPORT_SYMBOL_GPL vmlinux 0xc9827693 __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0xc984e473 blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0xc99bc4e5 ata_dev_set_feature +EXPORT_SYMBOL_GPL vmlinux 0xc9ad5b32 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xc9b32058 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xc9cce700 pinctrl_add_gpio_ranges +EXPORT_SYMBOL_GPL vmlinux 0xc9d84ebf perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0xc9dcd734 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0xc9e8f440 __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9ecff50 devl_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc9fb00f7 pl320_ipc_transmit +EXPORT_SYMBOL_GPL vmlinux 0xc9fd634a usb_role_switch_put +EXPORT_SYMBOL_GPL vmlinux 0xca017ed9 tty_port_register_device_serdev +EXPORT_SYMBOL_GPL vmlinux 0xca1743a3 fsl_mc_obj_close +EXPORT_SYMBOL_GPL vmlinux 0xca247b6a usb_amd_pt_check_port +EXPORT_SYMBOL_GPL vmlinux 0xca37117a crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0xca3b7c7f gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0xca454a34 vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0xca4c42a3 fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0xca5cc9f3 usb_phy_set_charger_current +EXPORT_SYMBOL_GPL vmlinux 0xca63ffbe ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0xca6bedde crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xca75acce bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca80e934 acpi_dev_gpio_irq_get_by +EXPORT_SYMBOL_GPL vmlinux 0xca8a8241 regulator_map_voltage_ascend +EXPORT_SYMBOL_GPL vmlinux 0xca9a1d5e ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xcaa05c34 virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0xcab138b8 ethtool_set_ethtool_phy_ops +EXPORT_SYMBOL_GPL vmlinux 0xcab34474 acpi_dev_get_memory_resources +EXPORT_SYMBOL_GPL vmlinux 0xcab6bb54 phy_set_media +EXPORT_SYMBOL_GPL vmlinux 0xcabc4f44 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcad290ca sock_map_destroy +EXPORT_SYMBOL_GPL vmlinux 0xcae7ce5d fsl_mc_get_version +EXPORT_SYMBOL_GPL vmlinux 0xcaf1d958 evtchn_get +EXPORT_SYMBOL_GPL vmlinux 0xcafb381d __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xcb01570e powercap_register_control_type +EXPORT_SYMBOL_GPL vmlinux 0xcb0b6344 nvdimm_region_notify +EXPORT_SYMBOL_GPL vmlinux 0xcb144c19 da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xcb186931 pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0xcb2a31fd pinctrl_find_and_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xcb2bfe2b nvmem_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcb391332 devm_led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xcb3fccd6 usb_intf_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0xcb4e0153 register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0xcb561441 mem_dump_obj +EXPORT_SYMBOL_GPL vmlinux 0xcb575a4e extcon_set_property_sync +EXPORT_SYMBOL_GPL vmlinux 0xcb65a853 skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xcb84d529 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0xcb85f6ee wwan_put_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0xcb912faa usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xcb95859e ahci_do_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xcba0e6f6 skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0xcbae69c8 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0xcbaebcf0 msi_unlock_descs +EXPORT_SYMBOL_GPL vmlinux 0xcbaff2b7 find_mci_by_dev +EXPORT_SYMBOL_GPL vmlinux 0xcbb1eadf inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xcbd836fd rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0xcbde98ec sk_msg_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0xcbe56bc2 zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0xcc0b187a skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0xcc0fd0a7 k3_ringacc_ring_push_head +EXPORT_SYMBOL_GPL vmlinux 0xcc0fe64f nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL vmlinux 0xcc15d22a nf_connlabels_put +EXPORT_SYMBOL_GPL vmlinux 0xcc2a5649 mmc_sanitize +EXPORT_SYMBOL_GPL vmlinux 0xcc2dbfd8 irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0xcc3359a7 blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0xcc39c03e nvmem_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc3b1583 spi_mem_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc403c49 kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xcc4ac2d6 nvmem_cell_read_u16 +EXPORT_SYMBOL_GPL vmlinux 0xcc4dd1d0 clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xcc5293e8 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xcc556b8c __clk_mux_determine_rate_closest +EXPORT_SYMBOL_GPL vmlinux 0xcc795932 devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0xcc7ceb56 netif_carrier_event +EXPORT_SYMBOL_GPL vmlinux 0xcc8973f3 driver_set_override +EXPORT_SYMBOL_GPL vmlinux 0xcc9268fc hwpoison_filter_enable +EXPORT_SYMBOL_GPL vmlinux 0xcc92d5b4 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0xcc935375 walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0xcc93743a i2c_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xcca5c928 bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0xcca64221 rio_unregister_scan +EXPORT_SYMBOL_GPL vmlinux 0xccabde6f crc64_rocksoft_generic +EXPORT_SYMBOL_GPL vmlinux 0xccb0fd54 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xccc73018 bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0xccc90a34 xdp_build_skb_from_frame +EXPORT_SYMBOL_GPL vmlinux 0xcccca50f of_clk_hw_simple_get +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd86806 ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0xccdaf736 reset_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcce639fa ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0xccead2f1 devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0xccf27708 spi_finalize_current_transfer +EXPORT_SYMBOL_GPL vmlinux 0xccf40fb2 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xccf52bc9 sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0xccf5aa83 __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0xcd0e9a4d usb_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xcd24e146 hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0xcd300fc6 perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0xcd36a49d of_clk_add_provider +EXPORT_SYMBOL_GPL vmlinux 0xcd4aeebe em_dev_register_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0xcd6f2dc9 nf_log_buf_add +EXPORT_SYMBOL_GPL vmlinux 0xcd73d4e7 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xcd759b82 k3_ringacc_ring_reset +EXPORT_SYMBOL_GPL vmlinux 0xcd75cc5b nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL vmlinux 0xcd76efad spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xcd775a89 gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0xcd7a8d1d pwmchip_remove +EXPORT_SYMBOL_GPL vmlinux 0xcd7b080e dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0xcd822c92 thermal_zone_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcd910be7 ti_sci_get_num_resources +EXPORT_SYMBOL_GPL vmlinux 0xcd91b127 system_highpri_wq +EXPORT_SYMBOL_GPL vmlinux 0xcd974f00 rcu_all_qs +EXPORT_SYMBOL_GPL vmlinux 0xcd9cd2ff wakeme_after_rcu +EXPORT_SYMBOL_GPL vmlinux 0xcda2aaba k3_udma_glue_tx_dma_to_cppi5_addr +EXPORT_SYMBOL_GPL vmlinux 0xcda8702e vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0xcdb6adcc ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0xcdc05102 fw_devlink_purge_absent_suppliers +EXPORT_SYMBOL_GPL vmlinux 0xcdc86b55 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdd2f798 mptcp_get_reset_option +EXPORT_SYMBOL_GPL vmlinux 0xcde26600 cppc_get_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0xcdedc4e7 crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xcdf37a99 br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0xce0a4020 xenbus_directory +EXPORT_SYMBOL_GPL vmlinux 0xce14041e pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0xce22b5fb regmap_write +EXPORT_SYMBOL_GPL vmlinux 0xce302fa5 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xce30b0ee proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0xce316d7e zynqmp_pm_set_sd_tapdelay +EXPORT_SYMBOL_GPL vmlinux 0xce3bb100 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xce43cf02 da9052_request_irq +EXPORT_SYMBOL_GPL vmlinux 0xce467b56 tegra_bpmp_free_mrq +EXPORT_SYMBOL_GPL vmlinux 0xce598ef2 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xce6db656 rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0xce711386 dprc_set_obj_irq +EXPORT_SYMBOL_GPL vmlinux 0xce73b6bc wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0xce88882e iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0xce89f3e7 dev_pm_opp_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0xce945996 inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0xce9d346f pinctrl_generic_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xcea4465c tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0xceac8674 zynqmp_pm_read_pggs +EXPORT_SYMBOL_GPL vmlinux 0xceb1f126 mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0xceb9143b crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xcecc0022 debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0xced2e394 dev_pm_opp_set_prop_name +EXPORT_SYMBOL_GPL vmlinux 0xced77548 mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0xcee1641c kgdb_unregister_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xcee88e7a of_overlay_fdt_apply +EXPORT_SYMBOL_GPL vmlinux 0xceed8c16 __set_phys_to_machine +EXPORT_SYMBOL_GPL vmlinux 0xcef0f0ee xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0xcef7f0e6 dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0xcf00c1a8 xen_dbgp_external_startup +EXPORT_SYMBOL_GPL vmlinux 0xcf036e49 usb_get_maximum_ssp_rate +EXPORT_SYMBOL_GPL vmlinux 0xcf471c21 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xcf71319c nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0xcf770b1e pinctrl_pm_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0xcf7f66f9 imx_dev_clk_hw_pll14xx +EXPORT_SYMBOL_GPL vmlinux 0xcf8dbaa5 __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0xcf947e89 pci_hp_destroy +EXPORT_SYMBOL_GPL vmlinux 0xcfa0a656 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0xcfa43133 tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xcfb3fe58 dev_pm_opp_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xcfc5108a devlink_fmsg_u8_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xcfc7b4e4 rcu_barrier_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0xcfd30d71 acpi_os_map_memory +EXPORT_SYMBOL_GPL vmlinux 0xcfe21907 of_reserved_mem_lookup +EXPORT_SYMBOL_GPL vmlinux 0xcff206f1 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0xcffd793e hyperv_report_panic +EXPORT_SYMBOL_GPL vmlinux 0xd010c169 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xd019d341 crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0xd01efbfe dbs_update +EXPORT_SYMBOL_GPL vmlinux 0xd026d518 HYPERVISOR_vcpu_op +EXPORT_SYMBOL_GPL vmlinux 0xd027fb33 regmap_field_bulk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd03eaf4c schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0xd04126d5 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL vmlinux 0xd0458ccb xenbus_strstate +EXPORT_SYMBOL_GPL vmlinux 0xd04aedfd __SCK__tp_func_arm_event +EXPORT_SYMBOL_GPL vmlinux 0xd04de74c scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0xd06524ba raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd067d3c5 system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0xd073046d inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0xd07442f9 phy_configure +EXPORT_SYMBOL_GPL vmlinux 0xd074fd40 ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0xd086eb36 tty_kopen_shared +EXPORT_SYMBOL_GPL vmlinux 0xd0952988 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0xd09911a6 acpi_dev_get_irq_type +EXPORT_SYMBOL_GPL vmlinux 0xd0b5b5fb kvm_vcpu_mark_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0c0f8dc i2c_dw_probe_master +EXPORT_SYMBOL_GPL vmlinux 0xd0c8044a srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0xd0d156e9 __rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xd0d3f0a4 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0xd0d4b3a4 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd0db0f12 run_dax +EXPORT_SYMBOL_GPL vmlinux 0xd0e7f860 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0xd0ea0379 sprd_pinctrl_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xd0fbd742 pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0xd0fd7085 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd0ffbcfe iomap_invalidate_folio +EXPORT_SYMBOL_GPL vmlinux 0xd1046cbf mptcp_token_get_sock +EXPORT_SYMBOL_GPL vmlinux 0xd1170bbf wakeup_sources_walk_start +EXPORT_SYMBOL_GPL vmlinux 0xd12cf119 __efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0xd12d6d3d platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0xd138c08a free_iova_fast +EXPORT_SYMBOL_GPL vmlinux 0xd1481de7 mpi_clear +EXPORT_SYMBOL_GPL vmlinux 0xd159586c net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xd162eb77 rockchip_pcie_parse_dt +EXPORT_SYMBOL_GPL vmlinux 0xd16a8cef __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0xd16f3f6e raw_v4_match +EXPORT_SYMBOL_GPL vmlinux 0xd17d8284 i2c_recover_bus +EXPORT_SYMBOL_GPL vmlinux 0xd18022b3 nvdimm_delete +EXPORT_SYMBOL_GPL vmlinux 0xd1814b5c iommu_map +EXPORT_SYMBOL_GPL vmlinux 0xd186ea67 gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0xd18881ae cpufreq_freq_attr_scaling_boost_freqs +EXPORT_SYMBOL_GPL vmlinux 0xd1959bda of_pci_get_slot_power_limit +EXPORT_SYMBOL_GPL vmlinux 0xd1a9ca15 __SCK__tp_func_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0xd1acb28a gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0xd1b9f59c extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xd1bc3b73 device_phy_find_device +EXPORT_SYMBOL_GPL vmlinux 0xd1cbc23c add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd1cd38fd devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xd1f2eee2 nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0xd1fd6124 pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0xd1fefb32 __reset_control_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xd2041f8d set_secondary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xd20fa07c apple_rtkit_is_crashed +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd21a026f debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0xd21b61bd async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0xd21f1d35 __SCK__tp_func_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0xd22bc0c3 usb_acpi_set_power_state +EXPORT_SYMBOL_GPL vmlinux 0xd2423f76 i2c_acpi_get_i2c_resource +EXPORT_SYMBOL_GPL vmlinux 0xd2437eb7 crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0xd248a519 rockchip_pmu_block +EXPORT_SYMBOL_GPL vmlinux 0xd24e9e8c klist_init +EXPORT_SYMBOL_GPL vmlinux 0xd24f625d cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0xd257b183 synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0xd25fad87 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0xd260af0d ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xd26dbc64 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd27eeb4b alloc_iova +EXPORT_SYMBOL_GPL vmlinux 0xd27f215d gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xd27f82e1 qcom_smem_state_get +EXPORT_SYMBOL_GPL vmlinux 0xd281d8fe devm_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0xd28ce23d max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xd2987379 filemap_add_folio +EXPORT_SYMBOL_GPL vmlinux 0xd29bd989 xenbus_read_otherend_details +EXPORT_SYMBOL_GPL vmlinux 0xd29c1f10 __traceiter_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0xd2b10a05 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0xd2b3fb98 nvdimm_bus_register +EXPORT_SYMBOL_GPL vmlinux 0xd2cfd59a fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0xd2d1f078 pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0xd2d7e59b unregister_platform_power_off +EXPORT_SYMBOL_GPL vmlinux 0xd2d86167 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xd2ea926e devres_remove +EXPORT_SYMBOL_GPL vmlinux 0xd308e1d5 udp_abort +EXPORT_SYMBOL_GPL vmlinux 0xd3098d80 __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0xd313bc7b xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0xd31a2ac5 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0xd31ee803 blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0xd320ebaf pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0xd32b8544 mpc8xxx_spi_tx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0xd33ada8b cci_probed +EXPORT_SYMBOL_GPL vmlinux 0xd33f393e ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0xd340a460 devm_usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0xd34848c5 led_blink_set_oneshot +EXPORT_SYMBOL_GPL vmlinux 0xd348b717 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0xd349949a mtk_clk_gate_ops_setclr_inv +EXPORT_SYMBOL_GPL vmlinux 0xd34fa485 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xd3551a76 zynqmp_pm_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd36760ef __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xd36d4000 firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0xd37487b8 kvm_write_guest_offset_cached +EXPORT_SYMBOL_GPL vmlinux 0xd3752c27 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xd37e106b regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0xd38acb90 fat_attach +EXPORT_SYMBOL_GPL vmlinux 0xd38edca4 unregister_nvdimm_pmu +EXPORT_SYMBOL_GPL vmlinux 0xd39e9848 put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xd3a429e4 da9055_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xd3a7d901 metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0xd3d56b1c devm_pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0xd3e7deb8 security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xd3eaf1ed devlink_dpipe_entry_clear +EXPORT_SYMBOL_GPL vmlinux 0xd3ec851c __traceiter_unmap +EXPORT_SYMBOL_GPL vmlinux 0xd3f0cd42 misc_cg_res_total_usage +EXPORT_SYMBOL_GPL vmlinux 0xd3f394d0 kvm_vcpu_gfn_to_hva +EXPORT_SYMBOL_GPL vmlinux 0xd3f63d4c md_stop +EXPORT_SYMBOL_GPL vmlinux 0xd4022a02 regulator_get_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd40bfd48 rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0xd426dbc4 erst_get_record_count +EXPORT_SYMBOL_GPL vmlinux 0xd42f1d4e show_rcu_tasks_rude_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0xd43370f1 badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0xd44a5eac kgdb_register_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xd44bea55 spi_mem_poll_status +EXPORT_SYMBOL_GPL vmlinux 0xd45434ee admin_timeout +EXPORT_SYMBOL_GPL vmlinux 0xd45b6e71 extcon_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd46a8e32 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xd46af5ef cppc_get_perf_ctrs +EXPORT_SYMBOL_GPL vmlinux 0xd4890375 fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0xd4935851 __SCK__tp_func_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0xd4a418b1 open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0xd4b2730e kvm_get_kvm_safe +EXPORT_SYMBOL_GPL vmlinux 0xd4b43ee9 power_supply_get_battery_info +EXPORT_SYMBOL_GPL vmlinux 0xd4b6157e devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0xd4b9047b securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xd4b9a616 reset_control_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4cbdbe3 __SCK__tp_func_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0xd4df2763 tegra_bpmp_transfer_atomic +EXPORT_SYMBOL_GPL vmlinux 0xd4e6d7e0 linear_range_get_value +EXPORT_SYMBOL_GPL vmlinux 0xd4f000b2 md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0xd4f2ace3 mctrl_gpio_init_noauto +EXPORT_SYMBOL_GPL vmlinux 0xd4f5bfa5 iommu_queue_iopf +EXPORT_SYMBOL_GPL vmlinux 0xd505c3e0 nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL vmlinux 0xd525291b fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0xd52b8361 bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0xd5301b2c linear_range_get_max_value +EXPORT_SYMBOL_GPL vmlinux 0xd53c67b3 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xd5459c36 regulator_set_suspend_voltage +EXPORT_SYMBOL_GPL vmlinux 0xd5474690 usb_role_switch_set_role +EXPORT_SYMBOL_GPL vmlinux 0xd554222b genphy_c45_read_pma +EXPORT_SYMBOL_GPL vmlinux 0xd559eef9 i2c_acpi_new_device_by_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xd55ad93b iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xd56516de fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xd56b6938 acpi_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xd56f9505 iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0xd5760055 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0xd5787987 devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0xd57e786b of_property_read_variable_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xd5807af3 k3_ringacc_ring_pop +EXPORT_SYMBOL_GPL vmlinux 0xd58bbbcb nvme_delete_wq +EXPORT_SYMBOL_GPL vmlinux 0xd5986e0f blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0xd59a1587 linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0xd5cc1a00 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xd5da41b1 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xd5e5ce88 tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0xd5eb04e6 tcp_sendmsg_locked +EXPORT_SYMBOL_GPL vmlinux 0xd5ed142c register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0xd5fd3614 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xd60301b1 phy_init +EXPORT_SYMBOL_GPL vmlinux 0xd60ca0a8 extcon_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd615d093 access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0xd6184887 disk_alloc_independent_access_ranges +EXPORT_SYMBOL_GPL vmlinux 0xd619a2c7 __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0xd629ade8 int_active_memcg +EXPORT_SYMBOL_GPL vmlinux 0xd62bdbc9 bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0xd637ed39 ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xd640eee5 devm_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xd641dc4f i2c_dw_adjust_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0xd64ed259 __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0xd65a365e crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0xd65daec9 debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0xd65dd49f devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xd66283d1 of_usb_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd6751b6e trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0xd694ada3 pinmux_generic_remove_function +EXPORT_SYMBOL_GPL vmlinux 0xd69829b4 device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xd6a94758 fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xd6aafb42 crc64_rocksoft +EXPORT_SYMBOL_GPL vmlinux 0xd6aeb59f crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0xd6b27e8a xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0xd6b4bafa mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0xd6d6edaf iomap_release_folio +EXPORT_SYMBOL_GPL vmlinux 0xd6d8f6b3 topology_set_scale_freq_source +EXPORT_SYMBOL_GPL vmlinux 0xd6df9927 fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0xd6e615aa imx93_clk_composite_flags +EXPORT_SYMBOL_GPL vmlinux 0xd711cca3 firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0xd71b6b01 nf_ct_seqadj_init +EXPORT_SYMBOL_GPL vmlinux 0xd71c074e acpi_pm_set_device_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xd7247c97 __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd7269c64 osc_sb_native_usb4_control +EXPORT_SYMBOL_GPL vmlinux 0xd728a100 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0xd7293ffc percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0xd729b167 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0xd72d9b59 mpc8xxx_spi_rx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0xd72feba2 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xd738c4d0 acpi_bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xd7399d2a efivar_entry_iter_end +EXPORT_SYMBOL_GPL vmlinux 0xd73a02f0 subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0xd74324dc sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0xd758ac91 sched_set_fifo_low +EXPORT_SYMBOL_GPL vmlinux 0xd75b20aa rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0xd7633d17 __hwspin_trylock +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd76d5e6a spi_take_timestamp_pre +EXPORT_SYMBOL_GPL vmlinux 0xd774957d mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0xd7805348 device_create +EXPORT_SYMBOL_GPL vmlinux 0xd78374a7 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0xd7859c0f __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0xd78e6908 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xd7a47f08 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0xd7a6ed31 dev_fill_forward_path +EXPORT_SYMBOL_GPL vmlinux 0xd7b7fba6 regmap_can_raw_write +EXPORT_SYMBOL_GPL vmlinux 0xd7b9f11e inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xd7c28104 crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0xd7c2b9ba of_mm_gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0xd7c91b63 tegra210_sata_pll_hw_control_enable +EXPORT_SYMBOL_GPL vmlinux 0xd7ccde91 dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0xd7cea889 edac_mod_work +EXPORT_SYMBOL_GPL vmlinux 0xd7d073d0 usb_asmedia_modifyflowcontrol +EXPORT_SYMBOL_GPL vmlinux 0xd7d7f2a7 devlink_port_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd7dccd23 __SCK__tp_func_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0xd8049df1 kvm_vcpu_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xd810c73c sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xd821122c devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0xd82580b5 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0xd832f2cf get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0xd83afc7f gov_attr_set_get +EXPORT_SYMBOL_GPL vmlinux 0xd84d35bd dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xd84fc5b2 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0xd84fdcb0 pinmux_generic_add_function +EXPORT_SYMBOL_GPL vmlinux 0xd8650176 serial8250_update_uartclk +EXPORT_SYMBOL_GPL vmlinux 0xd8669db1 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0xd86b81f5 __xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0xd873e326 rt_mutex_lock_killable +EXPORT_SYMBOL_GPL vmlinux 0xd87fc0a0 usb_amd_prefetch_quirk +EXPORT_SYMBOL_GPL vmlinux 0xd88647b1 phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0xd898b0c8 fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xd8a1d2f4 regulator_list_hardware_vsel +EXPORT_SYMBOL_GPL vmlinux 0xd8b10d8e fuse_conn_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd8b92fa4 sdio_retune_crc_enable +EXPORT_SYMBOL_GPL vmlinux 0xd8b9ca0e kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xd8d68ab1 dmi_memdev_type +EXPORT_SYMBOL_GPL vmlinux 0xd8f1227b ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0xd8f4db5e kvm_vcpu_kick +EXPORT_SYMBOL_GPL vmlinux 0xd8fbb14d net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xd8ffacbe ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0xd90a93a7 k3_udma_glue_rx_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xd91dbd1f xdp_alloc_skb_bulk +EXPORT_SYMBOL_GPL vmlinux 0xd92ef192 security_kernel_post_load_data +EXPORT_SYMBOL_GPL vmlinux 0xd92f0791 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xd93a5cb1 efivar_variable_is_removable +EXPORT_SYMBOL_GPL vmlinux 0xd9487825 regmap_write_async +EXPORT_SYMBOL_GPL vmlinux 0xd950fee9 wp_shared_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0xd951144b device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0xd9547ce2 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0xd96babb4 interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd9703704 cpu_topology +EXPORT_SYMBOL_GPL vmlinux 0xd97b9b89 acpi_cpu_get_madt_gicc +EXPORT_SYMBOL_GPL vmlinux 0xd97d4924 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0xd9916c3a idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0xd9929269 edac_pci_del_device +EXPORT_SYMBOL_GPL vmlinux 0xd9966f76 pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0xd9d0a2af devlink_flash_update_timeout_notify +EXPORT_SYMBOL_GPL vmlinux 0xd9e24457 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0xd9faa7a5 zynqmp_pm_set_pll_frac_mode +EXPORT_SYMBOL_GPL vmlinux 0xd9ff2172 ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xda0947de kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xda16af8a bio_start_io_acct_time +EXPORT_SYMBOL_GPL vmlinux 0xda2f017a serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0xda320d31 sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0xda3dbc3e usb_hcd_amd_remote_wakeup_quirk +EXPORT_SYMBOL_GPL vmlinux 0xda464916 divider_recalc_rate +EXPORT_SYMBOL_GPL vmlinux 0xda49bf53 dma_get_slave_caps +EXPORT_SYMBOL_GPL vmlinux 0xda53361c blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xda625a79 fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0xda6be22b unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0xda74c19b gnttab_unmap_refs +EXPORT_SYMBOL_GPL vmlinux 0xda7912d4 freq_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xda8e1302 software_node_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0xda8e7dd3 dma_resv_get_fences +EXPORT_SYMBOL_GPL vmlinux 0xdaa06dc1 acpi_lpat_raw_to_temp +EXPORT_SYMBOL_GPL vmlinux 0xdaa28a59 of_genpd_parse_idle_states +EXPORT_SYMBOL_GPL vmlinux 0xdaacc2fe fsl_mc_bus_dpni_type +EXPORT_SYMBOL_GPL vmlinux 0xdaae31e9 mptcp_pm_get_subflows_max +EXPORT_SYMBOL_GPL vmlinux 0xdab5a1eb interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0xdae43410 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0xdae7ddd4 iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0xdae8961a of_resolve_phandles +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdafd0856 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xdb065657 nfnl_unlock +EXPORT_SYMBOL_GPL vmlinux 0xdb20444a pci_host_common_probe +EXPORT_SYMBOL_GPL vmlinux 0xdb20f49d usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xdb2cfa28 fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0xdb2fc515 sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0xdb320d5d __percpu_init_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xdb47dccf gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0xdb4dda14 fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0xdb544b37 ahci_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xdb5617fe to_nd_desc +EXPORT_SYMBOL_GPL vmlinux 0xdb5903e7 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0xdb63a944 acpi_lpat_get_conversion_table +EXPORT_SYMBOL_GPL vmlinux 0xdb64fa2d acpi_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0xdb6bc312 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xdb6ddc6f crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xdb73ad83 mmc_crypto_prepare_req +EXPORT_SYMBOL_GPL vmlinux 0xdb76e95f fat_time_fat2unix +EXPORT_SYMBOL_GPL vmlinux 0xdb7a974e inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0xdb7bc034 wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0xdb7eda69 sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdba7326b nf_conntrack_lock +EXPORT_SYMBOL_GPL vmlinux 0xdbc17b44 vp_legacy_get_status +EXPORT_SYMBOL_GPL vmlinux 0xdbc67e0e usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0xdbc7c8dc devm_ti_sci_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xdbd0f64f devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xdbdb0e8b request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xdbe00062 scsi_build_sense +EXPORT_SYMBOL_GPL vmlinux 0xdbe4af8f kvm_arch_ptp_get_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0xdbe8d8a0 __SCK__tp_func_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xdbeaaf94 genphy_c45_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xdbedbde0 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0xdbeeece6 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdbef1637 iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdbfc5f5c cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0xdc02eb39 dmi_available +EXPORT_SYMBOL_GPL vmlinux 0xdc0ab5be ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0xdc139c13 k3_udma_glue_tx_get_hdesc_size +EXPORT_SYMBOL_GPL vmlinux 0xdc14a211 xen_hvm_evtchn_do_upcall +EXPORT_SYMBOL_GPL vmlinux 0xdc1626cf ti_sci_inta_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0xdc16898f genphy_c45_pma_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc19b03f devm_hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xdc22d1f0 netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0xdc2ff35d devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0xdc43bdc6 pci_vpd_find_ro_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0xdc45a5db edac_stop_work +EXPORT_SYMBOL_GPL vmlinux 0xdc49fef7 crypto_alloc_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xdc53dbb2 of_property_read_variable_u64_array +EXPORT_SYMBOL_GPL vmlinux 0xdc5bda62 dev_pm_opp_put +EXPORT_SYMBOL_GPL vmlinux 0xdc611d12 devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xdc64887f clk_mux_determine_rate_flags +EXPORT_SYMBOL_GPL vmlinux 0xdc6596fa irq_set_parent +EXPORT_SYMBOL_GPL vmlinux 0xdc668078 nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0xdc6699cb acpi_dev_free_resource_list +EXPORT_SYMBOL_GPL vmlinux 0xdc71e622 mbox_client_txdone +EXPORT_SYMBOL_GPL vmlinux 0xdc7df67f apei_exec_ctx_init +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc841b74 misc_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdc92346b sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc9a1e9e xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xdc9ec350 fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0xdc9fa232 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xdcafb774 gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0xdcb2259b ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL vmlinux 0xdcbb38d1 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0xdcea8bcf power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0xdcf075a5 account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0xdcf22f56 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0xdcfa339c nvdimm_name +EXPORT_SYMBOL_GPL vmlinux 0xdd0762df set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0xdd139f59 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xdd2bfc79 __traceiter_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0xdd3aaf9b irq_domain_disconnect_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xdd450ef1 x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0xdd5fcb8d sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xdd626ee3 fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0xdd67aa34 icc_link_create +EXPORT_SYMBOL_GPL vmlinux 0xdd67c819 powercap_unregister_control_type +EXPORT_SYMBOL_GPL vmlinux 0xdd68a17d acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0xdd7168a5 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL vmlinux 0xdd7d2d87 fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0xdd81d8f6 __SCK__tp_func_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xdd95f5e1 dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0xddbd8303 devm_regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xddbeeecc pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0xddcc74dd set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xddeef7ec to_nvdimm_bus_dev +EXPORT_SYMBOL_GPL vmlinux 0xddf32520 __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xddfd1ae2 mtk_eint_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xde0013ad acpi_pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0xde1afba0 regulator_list_voltage_table +EXPORT_SYMBOL_GPL vmlinux 0xde29cc64 genphy_c45_pma_resume +EXPORT_SYMBOL_GPL vmlinux 0xde31bf7e unregister_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0xde492b1e ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0xde5ec449 devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0xde68a09b pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0xde6e0725 thermal_zone_device_enable +EXPORT_SYMBOL_GPL vmlinux 0xde6f1851 TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0xde880e17 tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0xde889bc4 vp_modern_probe +EXPORT_SYMBOL_GPL vmlinux 0xde905d1d tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0xde9ab8c7 xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xdea63f1a ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0xdead2e78 reserve_iova +EXPORT_SYMBOL_GPL vmlinux 0xdeb12b9e pfn_to_online_page +EXPORT_SYMBOL_GPL vmlinux 0xdebbd04a yield_to +EXPORT_SYMBOL_GPL vmlinux 0xded09768 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL vmlinux 0xdedb0ee8 bpf_trace_run5 +EXPORT_SYMBOL_GPL vmlinux 0xdedd1f00 pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xdee5336a udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0xdee54860 tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0xdee91d7a dtpm_destroy_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xdeffa0a7 edac_raw_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0xdf0264b0 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0xdf02bd1f ethnl_cable_test_fault_length +EXPORT_SYMBOL_GPL vmlinux 0xdf0aed48 nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL vmlinux 0xdf0af702 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xdf0c45e1 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xdf0c757f ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0xdf0ca3f4 cpu_latency_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0xdf0e906f blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf13bb23 dax_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0xdf18dad3 pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0xdf1be5e1 __free_iova +EXPORT_SYMBOL_GPL vmlinux 0xdf24308b of_clk_get_parent_count +EXPORT_SYMBOL_GPL vmlinux 0xdf2738bb cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdf2ebcfe devm_reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xdf3c32eb acpi_device_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xdf448d1c fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0xdf47663e pci_pri_supported +EXPORT_SYMBOL_GPL vmlinux 0xdf5e5e05 vp_modern_set_features +EXPORT_SYMBOL_GPL vmlinux 0xdf738492 pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0xdf861903 phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL vmlinux 0xdf889efa serial8250_em485_config +EXPORT_SYMBOL_GPL vmlinux 0xdf9c6f3e sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xdfb0974c attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xdfcb6c90 mctrl_gpio_set +EXPORT_SYMBOL_GPL vmlinux 0xdfd8514d acpi_cppc_processor_probe +EXPORT_SYMBOL_GPL vmlinux 0xdfebe34f irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xdfec125a trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0xdfffe2b1 trace_array_init_printk +EXPORT_SYMBOL_GPL vmlinux 0xe00d0c65 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xe0175feb ohci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xe01f4cb0 irq_force_affinity +EXPORT_SYMBOL_GPL vmlinux 0xe01f54bf mctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xe02045b0 trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0xe0313d71 rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0xe03765ab msg_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0xe03e50ba dev_pm_genpd_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe05e2f85 nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe05ecbf9 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xe06d8b80 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xe073b151 gnttab_pages_set_private +EXPORT_SYMBOL_GPL vmlinux 0xe09efde3 i2c_slave_event +EXPORT_SYMBOL_GPL vmlinux 0xe0a67a95 gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0xe0b1c103 clk_set_max_rate +EXPORT_SYMBOL_GPL vmlinux 0xe0c4e14d hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xe0ca1921 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0xe0e01dc1 ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0xe0e3147c HYPERVISOR_sched_op +EXPORT_SYMBOL_GPL vmlinux 0xe0e4b71d nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0xe0e5f293 __irq_alloc_domain_generic_chips +EXPORT_SYMBOL_GPL vmlinux 0xe0f113cb ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0xe0f98fb6 exportfs_decode_fh_raw +EXPORT_SYMBOL_GPL vmlinux 0xe106b94c wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0xe10cd6ad erst_get_record_id_begin +EXPORT_SYMBOL_GPL vmlinux 0xe123a8b9 __xdp_build_skb_from_frame +EXPORT_SYMBOL_GPL vmlinux 0xe13815f5 of_mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0xe13892df sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0xe141264a ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xe14b62f7 validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0xe154f84f devm_hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0xe160f1b2 xhci_add_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xe1638a21 genphy_c45_read_lpa +EXPORT_SYMBOL_GPL vmlinux 0xe16c2ca0 fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0xe17350e7 nf_ct_untimeout +EXPORT_SYMBOL_GPL vmlinux 0xe174d792 rdev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0xe1775ee7 dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0xe19a8910 fscrypt_add_test_dummy_key +EXPORT_SYMBOL_GPL vmlinux 0xe1a5d5c2 firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0xe1a8d7c9 net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xe1bd6c99 rio_init_mports +EXPORT_SYMBOL_GPL vmlinux 0xe1c87a2f kernel_can_power_off +EXPORT_SYMBOL_GPL vmlinux 0xe1d11423 bgmac_phy_connect_direct +EXPORT_SYMBOL_GPL vmlinux 0xe1e11454 ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xe1e632ca crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0xe1e8bfda phy_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0xe1e9207c power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0xe1ee87bc gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0xe1f696a5 __traceiter_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0xe1f9b371 regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xe1fd633b imx_pinctrl_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0xe2011364 pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0xe20d207f usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0xe20fe937 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0xe233762a input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0xe2489347 irq_domain_set_hwirq_and_chip +EXPORT_SYMBOL_GPL vmlinux 0xe251d149 devm_request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0xe25d23f3 blocking_notifier_call_chain_robust +EXPORT_SYMBOL_GPL vmlinux 0xe29ffc1a da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0xe2a099c4 tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0xe2a1bf0e usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0xe2a3a3e9 bind_interdomain_evtchn_to_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0xe2b3207a unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe2b4c115 platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0xe2ce2b4d evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0xe2d96f5b zynqmp_pm_feature +EXPORT_SYMBOL_GPL vmlinux 0xe2db0959 shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0xe2dec1d5 i2c_new_scanned_device +EXPORT_SYMBOL_GPL vmlinux 0xe2e45491 blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0xe2e8a8e2 bpfilter_umh_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xe2e8fb5a of_dma_is_coherent +EXPORT_SYMBOL_GPL vmlinux 0xe31315a4 spi_delay_exec +EXPORT_SYMBOL_GPL vmlinux 0xe31b6f74 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xe31fe9f5 __traceiter_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xe33284e0 ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0xe3406c49 devm_hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0xe34da29d pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xe35bbc8b dw_pcie_link_up +EXPORT_SYMBOL_GPL vmlinux 0xe36af3f4 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0xe36bf359 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0xe37680ad irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0xe37cf67d iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0xe3840e18 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xe38e2587 crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xe397caf5 seq_buf_printf +EXPORT_SYMBOL_GPL vmlinux 0xe39d0794 usb_phy_roothub_exit +EXPORT_SYMBOL_GPL vmlinux 0xe3a69929 dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0xe3aed7b1 xhci_update_hub_device +EXPORT_SYMBOL_GPL vmlinux 0xe3b09712 kprobe_event_delete +EXPORT_SYMBOL_GPL vmlinux 0xe3b5fea6 dev_pm_opp_set_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0xe3b9580c mctrl_gpio_init +EXPORT_SYMBOL_GPL vmlinux 0xe3cbe77c i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xe3cd5fae klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe3dc8d2a dev_pm_domain_set +EXPORT_SYMBOL_GPL vmlinux 0xe3dfe3a9 clkdev_hw_create +EXPORT_SYMBOL_GPL vmlinux 0xe3e423ac iommu_group_release_dma_owner +EXPORT_SYMBOL_GPL vmlinux 0xe4047100 task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0xe40b9197 dw_pcie_own_conf_map_bus +EXPORT_SYMBOL_GPL vmlinux 0xe40bb23e devlink_health_reporter_priv +EXPORT_SYMBOL_GPL vmlinux 0xe40f062b irq_chip_set_vcpu_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0xe4208681 ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0xe4237120 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0xe4248980 cper_estatus_print +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe431ba8d tegra_bpmp_transfer +EXPORT_SYMBOL_GPL vmlinux 0xe4358729 spi_mem_dirmap_write +EXPORT_SYMBOL_GPL vmlinux 0xe4514dbb ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0xe452372a devm_regmap_field_bulk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe45293ab usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0xe4565c1d kthread_park +EXPORT_SYMBOL_GPL vmlinux 0xe45a506b regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0xe46bf9e3 devm_regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xe470bbb2 ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xe4732a53 lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0xe47d8def ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0xe491e700 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xe4930d09 hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xe4971ade tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xe4975ed8 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0xe49a0342 dprc_remove_devices +EXPORT_SYMBOL_GPL vmlinux 0xe49cd34f sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe4a3f754 perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0xe4a6f1cf usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0xe4af413f ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xe4b064f9 pcie_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xe4b08428 irq_domain_create_sim +EXPORT_SYMBOL_GPL vmlinux 0xe4b818c3 phy_speed_to_str +EXPORT_SYMBOL_GPL vmlinux 0xe4bdc945 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0xe4c02aa8 __clk_get_hw +EXPORT_SYMBOL_GPL vmlinux 0xe4c0d40e bd_prepare_to_claim +EXPORT_SYMBOL_GPL vmlinux 0xe4c2c66c rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0xe4d8d8ed mtk_clk_register_muxes +EXPORT_SYMBOL_GPL vmlinux 0xe4e2617d power_supply_get_property_from_supplier +EXPORT_SYMBOL_GPL vmlinux 0xe4e48b12 swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0xe4e74722 xenbus_probe_devices +EXPORT_SYMBOL_GPL vmlinux 0xe5210794 of_get_fb_videomode +EXPORT_SYMBOL_GPL vmlinux 0xe52b2a93 device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0xe5516728 k3_udma_glue_tx_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xe55b67ac ti_sci_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xe5642b20 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xe56a34f5 bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0xe5735586 __devm_spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0xe5869511 palmas_ext_control_req_config +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe58b3926 switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0xe592dc90 devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0xe5a06590 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xe5a925d3 zynqmp_pm_init_finalize +EXPORT_SYMBOL_GPL vmlinux 0xe5c02b64 freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xe5c607c2 clk_hw_get_rate +EXPORT_SYMBOL_GPL vmlinux 0xe5cb1943 hisi_clk_register_divider +EXPORT_SYMBOL_GPL vmlinux 0xe5ce1a56 rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0xe5d0164f acpi_get_psd_map +EXPORT_SYMBOL_GPL vmlinux 0xe5ea94d0 dev_pm_opp_get_required_pstate +EXPORT_SYMBOL_GPL vmlinux 0xe5eab03f fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0xe5ec7111 __traceiter_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0xe5f74fc6 dev_pm_opp_get_opp_count +EXPORT_SYMBOL_GPL vmlinux 0xe60632a9 edac_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe60a5e8d pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xe6278561 fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0xe628bb9f phy_fibre_port_array +EXPORT_SYMBOL_GPL vmlinux 0xe6346e54 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xe63e0a6e genphy_c45_loopback +EXPORT_SYMBOL_GPL vmlinux 0xe6416e6c of_phy_put +EXPORT_SYMBOL_GPL vmlinux 0xe6464aaf sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0xe648d432 mmc_pwrseq_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe6546f73 dev_pm_opp_get_level +EXPORT_SYMBOL_GPL vmlinux 0xe666b5b9 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe66e3885 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0xe683e88a pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xe684e767 _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xe6861b39 serial8250_read_char +EXPORT_SYMBOL_GPL vmlinux 0xe69fd776 rio_add_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0xe6aa4fcc genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0xe6abd035 elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0xe6b47185 metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0xe6c6fb53 blk_crypto_profile_init +EXPORT_SYMBOL_GPL vmlinux 0xe6e40502 rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0xe6e6b684 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xe6e988c5 k3_ringacc_get_tisci_dev_id +EXPORT_SYMBOL_GPL vmlinux 0xe6f52443 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0xe6f83837 acpi_bus_attach_private_data +EXPORT_SYMBOL_GPL vmlinux 0xe700d767 reset_control_bulk_deassert +EXPORT_SYMBOL_GPL vmlinux 0xe7145fed get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0xe7275119 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xe73331bb pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0xe746546a blk_clear_pm_only +EXPORT_SYMBOL_GPL vmlinux 0xe748f580 ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0xe753b68d devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe783e261 sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0xe7865e94 acpi_dma_request_slave_chan_by_name +EXPORT_SYMBOL_GPL vmlinux 0xe7927143 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0xe7936243 zynqmp_pm_clock_getstate +EXPORT_SYMBOL_GPL vmlinux 0xe799a98e devm_of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0xe79a2237 devm_regmap_init_vexpress_config +EXPORT_SYMBOL_GPL vmlinux 0xe7a910c6 gnttab_page_cache_shrink +EXPORT_SYMBOL_GPL vmlinux 0xe7b54497 net_selftest +EXPORT_SYMBOL_GPL vmlinux 0xe7bba0fc gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0xe7cf4a70 iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0xe7d6d2d4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xe7f0c501 nf_ct_seq_offset +EXPORT_SYMBOL_GPL vmlinux 0xe7f68703 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0xe8004674 gfn_to_page +EXPORT_SYMBOL_GPL vmlinux 0xe80fa28f nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe81a267a vp_legacy_remove +EXPORT_SYMBOL_GPL vmlinux 0xe81d2be1 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0xe82334ad pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0xe837e684 alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0xe8496bae kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0xe84ed34a unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe85a9fd3 cpu_cluster_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe86391b4 wakeup_sources_walk_next +EXPORT_SYMBOL_GPL vmlinux 0xe865a496 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xe8683951 pci_dev_lock +EXPORT_SYMBOL_GPL vmlinux 0xe8686ef4 rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xe8766429 mtk_paris_pinctrl_probe +EXPORT_SYMBOL_GPL vmlinux 0xe879ead5 of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0xe87ecc24 udp_bpf_update_proto +EXPORT_SYMBOL_GPL vmlinux 0xe8813ca6 devm_clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe8884973 pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0xe89a8fc3 i2c_acpi_find_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0xe8a5b1c2 skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xe8a62002 acpi_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0xe8acd6ad fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0xe8ada558 serial8250_do_set_divisor +EXPORT_SYMBOL_GPL vmlinux 0xe8ae74c3 pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xe8c0065d memory_group_register_static +EXPORT_SYMBOL_GPL vmlinux 0xe8de495e usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0xe8ec4838 acpi_dev_add_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0xe9079c98 smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0xe9089372 usb_role_switch_find_by_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xe909d301 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0xe90c7659 k3_udma_glue_rx_dma_to_cppi5_addr +EXPORT_SYMBOL_GPL vmlinux 0xe90ce993 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xe911df29 eventfd_ctx_do_read +EXPORT_SYMBOL_GPL vmlinux 0xe920477e md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xe92a8d8d da9052_disable_irq_nosync +EXPORT_SYMBOL_GPL vmlinux 0xe937dde8 debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9482bb7 mtk_mutex_add_comp +EXPORT_SYMBOL_GPL vmlinux 0xe9494880 devm_phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0xe95008d0 of_gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0xe951d479 clk_regmap_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0xe954e140 pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0xe956a75c pl320_ipc_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe96fb77a sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xe97fbc5c __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0xe9896eab max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xe98be3d4 crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0xe98f55f2 arm_smccc_get_version +EXPORT_SYMBOL_GPL vmlinux 0xe9996e86 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL vmlinux 0xe99a0c86 dev_pm_opp_find_freq_exact +EXPORT_SYMBOL_GPL vmlinux 0xe9a046ce devm_qcom_smem_state_get +EXPORT_SYMBOL_GPL vmlinux 0xe9aa3605 skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0xe9adee0c pinctrl_pm_select_idle_state +EXPORT_SYMBOL_GPL vmlinux 0xe9beb4c6 __traceiter_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9d63a0d k3_udma_glue_enable_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0xe9f1cb87 iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0xe9f365bc usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xe9f5116f rcu_exp_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0xea00d663 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0xea018bbb mpi_test_bit +EXPORT_SYMBOL_GPL vmlinux 0xea0713a0 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0xea0bf4ae tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea19d740 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xea252efc split_page +EXPORT_SYMBOL_GPL vmlinux 0xea38036f ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xea3a23f3 public_key_free +EXPORT_SYMBOL_GPL vmlinux 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL vmlinux 0xea58d945 pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0xea6e8b5a wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xea75d48c cpuidle_get_cpu_driver +EXPORT_SYMBOL_GPL vmlinux 0xea83bed2 xenbus_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0xeaabe239 rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0xeaafc446 ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0xeacdfa37 perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0xead035ee __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xead3e41b __traceiter_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xead54924 mctrl_gpio_to_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xead5c8e5 clk_bulk_prepare +EXPORT_SYMBOL_GPL vmlinux 0xead77f72 devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0xeae0f496 clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0xeae2bb6e dev_pm_enable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xeae41952 regmap_get_device +EXPORT_SYMBOL_GPL vmlinux 0xeae911a5 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0xeaeeb1e7 dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0xeaf0a57c look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0xeaf3cb23 crc64_be +EXPORT_SYMBOL_GPL vmlinux 0xeaf8469d hv_do_fast_hypercall8 +EXPORT_SYMBOL_GPL vmlinux 0xeaf8a00e of_hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0xeb035621 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xeb09a59f mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0xeb0d4a88 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xeb178c99 fuse_dax_cancel_work +EXPORT_SYMBOL_GPL vmlinux 0xeb4221e4 trace_clock +EXPORT_SYMBOL_GPL vmlinux 0xeb52914d crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0xeb635141 regmap_field_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0xeb6593ef pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0xeb78b1ed unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xeb851009 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0xeb855f31 devres_add +EXPORT_SYMBOL_GPL vmlinux 0xeb9aa4c4 clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0xebb845c0 devfreq_event_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xebc7187a tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0xebc9a09f lock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0xebd1df4b get_net_ns_by_id +EXPORT_SYMBOL_GPL vmlinux 0xebd4cc11 mctrl_gpio_enable_ms +EXPORT_SYMBOL_GPL vmlinux 0xebfc51b7 ext_pi_type3_crc64 +EXPORT_SYMBOL_GPL vmlinux 0xec07fcef bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0xec1664d5 meson_pmx_get_func_name +EXPORT_SYMBOL_GPL vmlinux 0xec1c00d6 of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0xec275ff9 devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0xec38b875 phy_exit +EXPORT_SYMBOL_GPL vmlinux 0xec39b667 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0xec5668f6 dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0xec5ad73b trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0xec5e9995 pci_iomap_wc_range +EXPORT_SYMBOL_GPL vmlinux 0xec6537ec irq_gc_ack_set_bit +EXPORT_SYMBOL_GPL vmlinux 0xec6dcff5 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0xec6fa32f i2c_dw_acpi_configure +EXPORT_SYMBOL_GPL vmlinux 0xec754b19 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0xec774acb cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xec8beba6 nf_ct_expect_hash +EXPORT_SYMBOL_GPL vmlinux 0xec8c8256 i2c_acpi_client_count +EXPORT_SYMBOL_GPL vmlinux 0xec8f467b devfreq_event_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xeca2a807 switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0xeca6f76b nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0xecaaa2dd srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xecb671fc tegra210_sata_pll_hw_sequence_start +EXPORT_SYMBOL_GPL vmlinux 0xecba68e3 gnttab_batch_map +EXPORT_SYMBOL_GPL vmlinux 0xecceee52 rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0xecd8f23d xenbus_read +EXPORT_SYMBOL_GPL vmlinux 0xece876e2 pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xeceb4d78 tps6586x_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0xecf46f92 register_nvdimm_pmu +EXPORT_SYMBOL_GPL vmlinux 0xed0004d0 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xed0c9f8c pm_runtime_get_if_active +EXPORT_SYMBOL_GPL vmlinux 0xed24ed0a register_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xed26eaf3 meson_clk_pll_ops +EXPORT_SYMBOL_GPL vmlinux 0xed2c5bcf power_supply_charge_behaviour_parse +EXPORT_SYMBOL_GPL vmlinux 0xed35b586 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0xed39b7b8 parse_OID +EXPORT_SYMBOL_GPL vmlinux 0xed3a42af platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0xed44a4d3 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0xed4f358e pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xed598edb usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xed6111d1 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xed64084e devm_clk_get_optional_enabled +EXPORT_SYMBOL_GPL vmlinux 0xed654e99 pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0xed898cb0 gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xed8c19bf acpi_dev_get_resources +EXPORT_SYMBOL_GPL vmlinux 0xed8c384b netdev_xmit_skip_txqueue +EXPORT_SYMBOL_GPL vmlinux 0xed918dde hte_init_line_attr +EXPORT_SYMBOL_GPL vmlinux 0xeda22a67 meson_vid_pll_div_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xedaab1c1 dev_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0xedabeb06 arm64_mm_context_get +EXPORT_SYMBOL_GPL vmlinux 0xedb2c8cc tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0xedb43cfa dma_resv_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0xedd092d5 power_supply_notifier +EXPORT_SYMBOL_GPL vmlinux 0xede9a09a btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0xedf0ef23 nd_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0xee0ec8f7 sched_set_fifo +EXPORT_SYMBOL_GPL vmlinux 0xee197e6f user_describe +EXPORT_SYMBOL_GPL vmlinux 0xee1f5126 __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xee37ddf2 thermal_zone_get_offset +EXPORT_SYMBOL_GPL vmlinux 0xee38ef57 register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee4bb82a ahci_do_softreset +EXPORT_SYMBOL_GPL vmlinux 0xee518148 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0xee53d2f7 devm_hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xee5c5f3a ata_port_classify +EXPORT_SYMBOL_GPL vmlinux 0xee6b71c4 syscon_regmap_lookup_by_compatible +EXPORT_SYMBOL_GPL vmlinux 0xee6c633a devices_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xee6c6f49 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL vmlinux 0xee954b94 blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0xee96367d nvme_disable_ctrl +EXPORT_SYMBOL_GPL vmlinux 0xeed0cea4 kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xeed8dbcc sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0xeeda372b usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0xeedd987e phy_10gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0xeedfa62a zynqmp_pm_is_function_supported +EXPORT_SYMBOL_GPL vmlinux 0xeedfc150 fsl_mc_object_free +EXPORT_SYMBOL_GPL vmlinux 0xeef0f10d devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0xef05aad3 iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0xef0f1f19 component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0xef11a26c clk_regmap_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xef18ce83 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0xef1f6e23 apei_resources_request +EXPORT_SYMBOL_GPL vmlinux 0xef20fbac find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0xef275cc0 dev_pm_genpd_set_next_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xef29fcdd clk_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xef32d1e2 virtqueue_add_inbuf +EXPORT_SYMBOL_GPL vmlinux 0xef32dee9 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0xef34bf3e hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0xef35e47e regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xef3d98ba bpf_trace_run10 +EXPORT_SYMBOL_GPL vmlinux 0xef400b19 ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0xef431a27 nf_connlabels_get +EXPORT_SYMBOL_GPL vmlinux 0xef464c28 getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0xef5bbe02 kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0xef5db66d regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef6f58f5 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xef70eb7e ring_buffer_iter_advance +EXPORT_SYMBOL_GPL vmlinux 0xef7c0bf9 debugfs_lookup_and_remove +EXPORT_SYMBOL_GPL vmlinux 0xef7c25af tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0xef7eace4 fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0xef7ee34a crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0xef7f1248 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xef8da7b3 crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0xef90c6fb inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0xef92ef33 btree_last +EXPORT_SYMBOL_GPL vmlinux 0xef99a2b6 follow_pte +EXPORT_SYMBOL_GPL vmlinux 0xefa2c27d register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefabcbac irq_get_default_host +EXPORT_SYMBOL_GPL vmlinux 0xefb93e16 sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xefc7f211 mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0xefd11977 skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0xefe0917b iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0xefe4fa7e fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0xefeafcf1 edac_has_mcs +EXPORT_SYMBOL_GPL vmlinux 0xf011b118 perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0xf012349d gnttab_batch_copy +EXPORT_SYMBOL_GPL vmlinux 0xf0175031 umd_load_blob +EXPORT_SYMBOL_GPL vmlinux 0xf0296148 __traceiter_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0xf031ff4b pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0xf0332324 cpufreq_enable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0xf03b0410 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0xf0432abc encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0xf04429b4 acpi_bus_get_status_handle +EXPORT_SYMBOL_GPL vmlinux 0xf049a916 l3mdev_table_lookup_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf05292ee vp_modern_set_status +EXPORT_SYMBOL_GPL vmlinux 0xf05556cd tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0xf05a52fe asn1_encode_oid +EXPORT_SYMBOL_GPL vmlinux 0xf05fbf09 pci_pio_to_address +EXPORT_SYMBOL_GPL vmlinux 0xf068ddda crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf0910075 sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0xf09676dd kvm_clear_guest +EXPORT_SYMBOL_GPL vmlinux 0xf0af4c2b lp8788_read_byte +EXPORT_SYMBOL_GPL vmlinux 0xf0c37ae8 irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0xf0c76243 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0xf0d32b2e skb_morph +EXPORT_SYMBOL_GPL vmlinux 0xf0db1b2c sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0xf0e99930 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xf0f35c9b event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0xf0f42337 crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0xf0fb1ce1 mcore_booted +EXPORT_SYMBOL_GPL vmlinux 0xf10316b5 nf_defrag_ipv6_disable +EXPORT_SYMBOL_GPL vmlinux 0xf10aafce acpi_set_modalias +EXPORT_SYMBOL_GPL vmlinux 0xf1165f60 dma_mmap_pages +EXPORT_SYMBOL_GPL vmlinux 0xf12180fd imx_1443x_dram_pll +EXPORT_SYMBOL_GPL vmlinux 0xf12ff050 strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0xf1336fc1 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0xf1399842 __devm_rtc_register_device +EXPORT_SYMBOL_GPL vmlinux 0xf14317ef devl_rate_nodes_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf1467e96 __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0xf152b7bf nf_ct_bridge_register +EXPORT_SYMBOL_GPL vmlinux 0xf1583970 xenbus_dev_is_online +EXPORT_SYMBOL_GPL vmlinux 0xf160e7a2 pinctrl_utils_add_config +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf188a662 rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0xf1a70a4c iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0xf1b793ca to_nd_region +EXPORT_SYMBOL_GPL vmlinux 0xf1c02770 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0xf1c5efb4 __blk_trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0xf1d9229c acpi_subsys_restore_early +EXPORT_SYMBOL_GPL vmlinux 0xf1dbd0f7 nf_ct_acct_add +EXPORT_SYMBOL_GPL vmlinux 0xf1e10108 virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0xf1e1ff79 perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0xf1f35b9e sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0xf203c324 sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0xf205d8a2 dev_pm_opp_get_suspend_opp_freq +EXPORT_SYMBOL_GPL vmlinux 0xf21e1f9b disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xf21f3309 __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0xf2253fbc apple_sart_remove_allowed_region +EXPORT_SYMBOL_GPL vmlinux 0xf240e5ef of_pci_get_max_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xf241f0c0 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0xf269a33c tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0xf276a4a9 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xf2795af2 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xf27d0a7b gnttab_grant_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xf28404cf devlink_dpipe_header_ipv6 +EXPORT_SYMBOL_GPL vmlinux 0xf2967796 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0xf2a05cbd xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xf2a221f4 fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0xf2b196c6 dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0xf2b33cb7 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xf2b9376c mtk_clk_unregister_fixed_clks +EXPORT_SYMBOL_GPL vmlinux 0xf2c32dc2 devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xf2caeddd usb_hub_release_port +EXPORT_SYMBOL_GPL vmlinux 0xf2ea4c2a bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xf2f72f5c sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0xf2fb61bd vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0xf3026e13 watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xf305d3cc mtk_pinconf_bias_set +EXPORT_SYMBOL_GPL vmlinux 0xf30a5502 cpufreq_enable_boost_support +EXPORT_SYMBOL_GPL vmlinux 0xf30ac65b regmap_read +EXPORT_SYMBOL_GPL vmlinux 0xf3115a2b __put_net +EXPORT_SYMBOL_GPL vmlinux 0xf311e156 key_being_used_for +EXPORT_SYMBOL_GPL vmlinux 0xf31632e0 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf31b59b4 __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0xf31f7ffd __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0xf32bdc5d unregister_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf3325930 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0xf34d538a devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0xf352023f memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xf363066f dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0xf3746ee9 __clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0xf3797506 mpi_ec_deinit +EXPORT_SYMBOL_GPL vmlinux 0xf37a601c pcie_aspm_capable +EXPORT_SYMBOL_GPL vmlinux 0xf37bedce acpi_is_pnp_device +EXPORT_SYMBOL_GPL vmlinux 0xf3808cb1 get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf38180bd acpi_initialize_hp_context +EXPORT_SYMBOL_GPL vmlinux 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL vmlinux 0xf38f1096 fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0xf3907295 bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf39ad1ca phy_validate +EXPORT_SYMBOL_GPL vmlinux 0xf3a91199 irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3b95d79 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0xf3bdb770 cpufreq_dbs_governor_init +EXPORT_SYMBOL_GPL vmlinux 0xf3e481ed devm_regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf3e9c6e2 crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xf3f6b863 netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0xf401db3e crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0xf41eb618 __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0xf4259f75 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0xf42a9863 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xf4342775 xhci_check_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0xf4353cef nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL vmlinux 0xf446137e led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xf45286bd host1x_context_device_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xf45be608 rio_get_comptag +EXPORT_SYMBOL_GPL vmlinux 0xf4689d50 linkmode_set_pause +EXPORT_SYMBOL_GPL vmlinux 0xf4707cf4 inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf4719260 amba_device_put +EXPORT_SYMBOL_GPL vmlinux 0xf47654df irq_check_status_bit +EXPORT_SYMBOL_GPL vmlinux 0xf4818792 pinctrl_utils_reserve_map +EXPORT_SYMBOL_GPL vmlinux 0xf48cc590 sync_blockdev_nowait +EXPORT_SYMBOL_GPL vmlinux 0xf4a00349 __tracepoint_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0xf4a36a51 alarmtimer_get_rtcdev +EXPORT_SYMBOL_GPL vmlinux 0xf4af35c2 rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0xf4af7e07 platform_get_mem_or_io +EXPORT_SYMBOL_GPL vmlinux 0xf4cd9f8f reset_control_bulk_release +EXPORT_SYMBOL_GPL vmlinux 0xf4e4b98f tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0xf4f627b9 mpc8xxx_spi_rx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0xf508127f gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0xf50a0bba devm_regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xf515821d phy_basic_features +EXPORT_SYMBOL_GPL vmlinux 0xf51aff7d bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0xf51c6358 net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0xf5207463 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xf52ecc12 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0xf5338b63 gpiochip_generic_request +EXPORT_SYMBOL_GPL vmlinux 0xf535b8a7 tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf5550409 xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0xf567fb80 kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xf568bf1f fuse_request_end +EXPORT_SYMBOL_GPL vmlinux 0xf5792942 usb_phy_set_charger_state +EXPORT_SYMBOL_GPL vmlinux 0xf57d5739 spi_controller_resume +EXPORT_SYMBOL_GPL vmlinux 0xf58a9b00 __reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0xf59758bf fsl_mc_bus_dpcon_type +EXPORT_SYMBOL_GPL vmlinux 0xf59b53db devm_led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf5a067bf iommu_group_dma_owner_claimed +EXPORT_SYMBOL_GPL vmlinux 0xf5a3ba99 linear_range_values_in_range +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5a778f1 pcc_mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0xf5b03cc9 pci_find_vsec_capability +EXPORT_SYMBOL_GPL vmlinux 0xf5b3d8f0 folio_wait_writeback +EXPORT_SYMBOL_GPL vmlinux 0xf5b4e7b9 hisi_clk_register_phase +EXPORT_SYMBOL_GPL vmlinux 0xf5bf0492 blk_stat_disable_accounting +EXPORT_SYMBOL_GPL vmlinux 0xf5c28114 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0xf5dc9c40 seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0xf5e1de49 proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0xf5f370e0 async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0xf5fc6972 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xf6067a51 nl_table +EXPORT_SYMBOL_GPL vmlinux 0xf60d6cf4 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xf60e5984 mptcp_pm_get_add_addr_accept_max +EXPORT_SYMBOL_GPL vmlinux 0xf6116f1c pinctrl_find_gpio_range_from_pin_nolock +EXPORT_SYMBOL_GPL vmlinux 0xf611c93a crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0xf61c6b74 hv_do_hypercall +EXPORT_SYMBOL_GPL vmlinux 0xf625426f icc_provider_add +EXPORT_SYMBOL_GPL vmlinux 0xf64aaa25 alarm_init +EXPORT_SYMBOL_GPL vmlinux 0xf6596f09 dev_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0xf65a6d46 dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xf663ee2f pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0xf66b8d0e sch_frag_xmit_hook +EXPORT_SYMBOL_GPL vmlinux 0xf66eba4f bio_end_io_acct_remapped +EXPORT_SYMBOL_GPL vmlinux 0xf67bd4b0 icc_node_del +EXPORT_SYMBOL_GPL vmlinux 0xf67e1d87 mtk_clk_register_gates +EXPORT_SYMBOL_GPL vmlinux 0xf69109c7 devm_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0xf697876f devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0xf6a28554 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0xf6beee37 __SCK__tp_func_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xf6c71a25 cper_severity_str +EXPORT_SYMBOL_GPL vmlinux 0xf6c8dc62 cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0xf6d5124e device_move +EXPORT_SYMBOL_GPL vmlinux 0xf6e772c3 irq_bypass_unregister_producer +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6f18e1d devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xf7087b4b ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0xf723643d ptp_parse_header +EXPORT_SYMBOL_GPL vmlinux 0xf72a65ea tty_get_char_size +EXPORT_SYMBOL_GPL vmlinux 0xf730fb4a qcom_smem_state_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xf730fd01 ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf73bd948 irq_gc_mask_disable_reg +EXPORT_SYMBOL_GPL vmlinux 0xf744298f hv_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0xf7455c16 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xf749debc md5_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0xf749f700 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0xf74ac7c1 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf74bb274 mod_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xf74e7c93 jump_label_rate_limit +EXPORT_SYMBOL_GPL vmlinux 0xf7594996 of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0xf75e72a8 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xf765020f regulator_set_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf7690058 balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0xf7772bde xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0xf782f216 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0xf782fb07 percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0xf7866b4f bind_evtchn_to_irqhandler_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0xf7888f04 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf788bf64 fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xf79f7520 tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0xf7afb369 btree_init +EXPORT_SYMBOL_GPL vmlinux 0xf7b49122 nvme_cleanup_cmd +EXPORT_SYMBOL_GPL vmlinux 0xf7b568d1 __hwspin_lock_timeout +EXPORT_SYMBOL_GPL vmlinux 0xf7bc95b0 devlink_fmsg_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xf7c3f273 xen_resume_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xf7cec77b dev_pm_domain_attach +EXPORT_SYMBOL_GPL vmlinux 0xf7d098d7 sampling_rate_store +EXPORT_SYMBOL_GPL vmlinux 0xf7df5a08 disk_set_independent_access_ranges +EXPORT_SYMBOL_GPL vmlinux 0xf7ecde70 strp_done +EXPORT_SYMBOL_GPL vmlinux 0xf7ee9c03 fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0xf7f2ea55 sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xf8047436 nvdimm_badblocks_populate +EXPORT_SYMBOL_GPL vmlinux 0xf8069365 gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0xf80f5fc7 __SCK__tp_func_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0xf81dce70 thermal_genl_cpu_capability_event +EXPORT_SYMBOL_GPL vmlinux 0xf81ffffd kvm_release_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0xf82d31bf rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0xf82f3657 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf83363fc i2c_dw_prepare_clk +EXPORT_SYMBOL_GPL vmlinux 0xf8372491 dax_iomap_fault +EXPORT_SYMBOL_GPL vmlinux 0xf83ecf3e irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xf842036d __imx8m_clk_hw_composite +EXPORT_SYMBOL_GPL vmlinux 0xf852d746 __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0xf8540d8c sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0xf85a0d27 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf85b5879 usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0xf861bd31 rockchip_clk_register_ddrclk +EXPORT_SYMBOL_GPL vmlinux 0xf8739165 component_compare_dev_name +EXPORT_SYMBOL_GPL vmlinux 0xf8783b43 sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0xf883bf93 crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0xf88fc478 rio_dma_prep_xfer +EXPORT_SYMBOL_GPL vmlinux 0xf8a7cc8a to_of_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xf8bc0dd6 extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf8be357e list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0xf8c02795 nf_ct_netns_put +EXPORT_SYMBOL_GPL vmlinux 0xf8d4c897 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xf8d7568d acpi_data_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xf8e1b511 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8f93381 hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0xf900c77d zynqmp_pm_clock_disable +EXPORT_SYMBOL_GPL vmlinux 0xf901290d usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0xf9014573 devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0xf9093f5b __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xf90d2045 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0xf9114794 pci_epf_type_add_cfs +EXPORT_SYMBOL_GPL vmlinux 0xf9133083 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0xf920d93f fwnode_usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0xf9249384 security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0xf925a38e ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0xf92d6e6e usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0xf9308620 __nvme_check_ready +EXPORT_SYMBOL_GPL vmlinux 0xf93823b5 __devm_regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0xf945bcb0 fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0xf953058c ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xf95322f4 kthread_parkme +EXPORT_SYMBOL_GPL vmlinux 0xf955e9c5 bprintf +EXPORT_SYMBOL_GPL vmlinux 0xf967422b HYPERVISOR_xen_version +EXPORT_SYMBOL_GPL vmlinux 0xf96cb468 nvdimm_setup_pfn +EXPORT_SYMBOL_GPL vmlinux 0xf96d430d clk_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0xf97f6909 debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xf996c2c1 fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9a3936a virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0xf9a3c5dc zynqmp_pm_load_pdi +EXPORT_SYMBOL_GPL vmlinux 0xf9a4958c nf_ct_remove_expect +EXPORT_SYMBOL_GPL vmlinux 0xf9aaafa0 phy_calibrate +EXPORT_SYMBOL_GPL vmlinux 0xf9b34a0b iopf_queue_free +EXPORT_SYMBOL_GPL vmlinux 0xf9c0c183 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0xf9c28b0a subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0xf9f05801 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0xf9f357af clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0xfa0b8b7a rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0xfa0f92eb regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa349688 aer_recover_queue +EXPORT_SYMBOL_GPL vmlinux 0xfa3ecfac serial8250_rpm_put +EXPORT_SYMBOL_GPL vmlinux 0xfa43cefc is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xfa4470f3 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0xfa457228 tegra_mc_write_emem_configuration +EXPORT_SYMBOL_GPL vmlinux 0xfa5bad6f rockchip_register_restart_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfa666974 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0xfa99a54f devm_clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xfaaa8141 devm_register_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0xfaaf8621 power_supply_battery_bti_in_range +EXPORT_SYMBOL_GPL vmlinux 0xfab30dc0 mdio_bus_exit +EXPORT_SYMBOL_GPL vmlinux 0xfab53ed9 pinctrl_gpio_can_use_line +EXPORT_SYMBOL_GPL vmlinux 0xfac1a18c gfn_to_hva +EXPORT_SYMBOL_GPL vmlinux 0xfad9c827 kill_dax +EXPORT_SYMBOL_GPL vmlinux 0xfadfc875 clk_hw_get_num_parents +EXPORT_SYMBOL_GPL vmlinux 0xfaee755d cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0xfafc3b2a i2c_of_match_device +EXPORT_SYMBOL_GPL vmlinux 0xfb069457 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xfb086bba inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb393c9a gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0xfb5f7b50 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xfb6abe8d hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb70d1dc sysfs_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xfb74efe5 nfs_ssc_register +EXPORT_SYMBOL_GPL vmlinux 0xfb81d7e2 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xfb844bbc irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0xfb8d3123 __nvdimm_create +EXPORT_SYMBOL_GPL vmlinux 0xfb92fa5d gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0xfb973434 __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0xfbac7505 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0xfbb0648c i2c_dw_validate_speed +EXPORT_SYMBOL_GPL vmlinux 0xfbb64e7d acpi_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0xfbbd41ca no_action +EXPORT_SYMBOL_GPL vmlinux 0xfbbfdda2 list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0xfbc1f43e nf_ct_remove_expectations +EXPORT_SYMBOL_GPL vmlinux 0xfbd07cff uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0xfbd3ee1e ahci_platform_disable_resources +EXPORT_SYMBOL_GPL vmlinux 0xfbea584c of_genpd_remove_last +EXPORT_SYMBOL_GPL vmlinux 0xfbf85cc7 dm_hold +EXPORT_SYMBOL_GPL vmlinux 0xfbffd601 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xfc03a4ca proc_dou8vec_minmax +EXPORT_SYMBOL_GPL vmlinux 0xfc03d97a page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xfc1298a2 power_supply_put_battery_info +EXPORT_SYMBOL_GPL vmlinux 0xfc14bb2e dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xfc1f9018 of_pci_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0xfc1fd09a led_classdev_notify_brightness_hw_changed +EXPORT_SYMBOL_GPL vmlinux 0xfc201b66 sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0xfc254d15 gnttab_free_auto_xlat_frames +EXPORT_SYMBOL_GPL vmlinux 0xfc25eeca do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0xfc388e61 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0xfc3a6b25 gpiochip_add_pingroup_range +EXPORT_SYMBOL_GPL vmlinux 0xfc3b4246 acpi_bus_update_power +EXPORT_SYMBOL_GPL vmlinux 0xfc464ebd netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0xfc51c108 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0xfc5810a7 serial8250_rx_dma_flush +EXPORT_SYMBOL_GPL vmlinux 0xfc697617 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xfc870504 xhci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xfc8bf743 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0xfc9477b5 zynqmp_pm_set_pll_frac_data +EXPORT_SYMBOL_GPL vmlinux 0xfca1be37 virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0xfca73096 devm_devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0xfca7f934 devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0xfcbfec70 add_memory_driver_managed +EXPORT_SYMBOL_GPL vmlinux 0xfcc0fcf6 gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0xfcc1edd3 memory_block_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0xfce408d6 nf_conntrack_count +EXPORT_SYMBOL_GPL vmlinux 0xfce4e2ab gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0xfce5222a cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xfcf9ef73 hw_protection_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xfcfd4c8c fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0xfd031c62 irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0xfd068326 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xfd195774 k3_udma_glue_disable_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0xfd23a211 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0xfd23fc15 fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0xfd2c62ad devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0xfd37f5e0 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0xfd55b398 securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xfd5a4879 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xfd5b1c72 devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0xfd6555fb xlnx_unregister_event +EXPORT_SYMBOL_GPL vmlinux 0xfd7243c7 erst_disable +EXPORT_SYMBOL_GPL vmlinux 0xfd85489c pci_acpi_set_companion_lookup_hook +EXPORT_SYMBOL_GPL vmlinux 0xfd866fbf dax_layout_busy_page_range +EXPORT_SYMBOL_GPL vmlinux 0xfd897ad9 blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0xfd8f9c33 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfdb8008e kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0xfdbd7a17 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xfdbfc898 blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0xfdc7c6ce devm_acpi_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0xfdea2d04 alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0xfdeba52d gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xfdefda03 gnttab_page_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xfdf5aa5b pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0xfdf5fd30 cgroup_get_e_css +EXPORT_SYMBOL_GPL vmlinux 0xfdfba5cf nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL vmlinux 0xfdff3b96 iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0xfe0e7cd3 apei_exec_post_unmap_gars +EXPORT_SYMBOL_GPL vmlinux 0xfe19dc28 vivaldi_function_row_physmap_show +EXPORT_SYMBOL_GPL vmlinux 0xfe1a7a7b mpi_point_release +EXPORT_SYMBOL_GPL vmlinux 0xfe27a5be vp_modern_generation +EXPORT_SYMBOL_GPL vmlinux 0xfe3a6de3 alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xfe466e46 dev_pm_opp_put_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0xfe476039 ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe549821 mmput +EXPORT_SYMBOL_GPL vmlinux 0xfe59a3c3 phy_select_page +EXPORT_SYMBOL_GPL vmlinux 0xfe5c56df iommu_sva_find +EXPORT_SYMBOL_GPL vmlinux 0xfe64b8a7 devm_clk_hw_register_fixed_factor_index +EXPORT_SYMBOL_GPL vmlinux 0xfe650a25 dma_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xfe65ecda inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0xfe731af8 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL vmlinux 0xfe83fcd6 pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0xfe8ba350 extcon_set_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xfe8cdb84 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xfe8f142e amba_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfe99dad0 dtpm_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xfea6c452 switchdev_handle_port_obj_del_foreign +EXPORT_SYMBOL_GPL vmlinux 0xfeafb0ad phy_create_lookup +EXPORT_SYMBOL_GPL vmlinux 0xfec3bf84 icst_clk_setup +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfede9222 __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0xfeeecd05 apei_read +EXPORT_SYMBOL_GPL vmlinux 0xfef7c4a1 skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff1666f3 reset_control_bulk_assert +EXPORT_SYMBOL_GPL vmlinux 0xff2346ba watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0xff291ecf clk_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0xff29699c rio_alloc_net +EXPORT_SYMBOL_GPL vmlinux 0xff362e41 nfnetlink_unicast +EXPORT_SYMBOL_GPL vmlinux 0xff39da03 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0xff42c374 usb_role_switch_get_role +EXPORT_SYMBOL_GPL vmlinux 0xff4f6c71 pinctrl_generic_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0xff5662b8 nvdimm_clear_poison +EXPORT_SYMBOL_GPL vmlinux 0xff58b199 __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0xff5bae25 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xff63282a crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0xff6def80 gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0xff7e33bf mpi_sub_ui +EXPORT_SYMBOL_GPL vmlinux 0xff81487d gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0xff9e23d1 hugetlb_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xffae8e8b nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xffb0f90b set_capacity_and_notify +EXPORT_SYMBOL_GPL vmlinux 0xffb278fd tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0xffc86f14 __xas_next +EXPORT_SYMBOL_GPL vmlinux 0xffcdd190 udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0xffe36a0c switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0xffeb5940 lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0xfffafeb8 fuse_dev_fiq_ops +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0x07342898 unregister_firmware_config_sysctl vmlinux +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xae43feea register_firmware_config_sysctl vmlinux +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xd3ae7756 fw_fallback_config vmlinux +HWMON_THERMAL EXPORT_SYMBOL_GPL 0x4787b4dd hwmon_device_register_for_thermal vmlinux +IIO_AD5592R EXPORT_SYMBOL_GPL 0x0d0d0c7c ad5592r_remove drivers/iio/dac/ad5592r-base +IIO_AD5592R EXPORT_SYMBOL_GPL 0xe2570b67 ad5592r_probe drivers/iio/dac/ad5592r-base +IIO_AD5686 EXPORT_SYMBOL_GPL 0x09f6fa52 ad5686_remove drivers/iio/dac/ad5686 +IIO_AD5686 EXPORT_SYMBOL_GPL 0xbed766ce ad5686_probe drivers/iio/dac/ad5686 +IIO_AD7091R EXPORT_SYMBOL_GPL 0x333d3197 ad7091r_regmap_config drivers/iio/adc/ad7091r-base +IIO_AD7091R EXPORT_SYMBOL_GPL 0x7dc13caa ad7091r_probe drivers/iio/adc/ad7091r-base +IIO_AD7606 EXPORT_SYMBOL_GPL 0x5873de72 ad7606_pm_ops drivers/iio/adc/ad7606 +IIO_AD7606 EXPORT_SYMBOL_GPL 0xfd72cc88 ad7606_probe drivers/iio/adc/ad7606 +IIO_ADISLIB EXPORT_SYMBOL 0xc5ce132b adis_debugfs_reg_access drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL 0xdc796239 __adis_enable_irq drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x089d42db __adis_check_status drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x1723bce7 adis_update_scan_mode drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x2e90c82b adis_single_conversion drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x3aa62d93 adis_init drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x646a0c92 devm_adis_probe_trigger drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xa246e439 __adis_initial_startup drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xb95795a3 devm_adis_setup_buffer_and_trigger drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xbb048091 __adis_update_bits_base drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xc607aa4e __adis_read_reg drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xfea1d5b4 __adis_write_reg drivers/iio/imu/adis_lib +IIO_ADIS_LIB EXPORT_SYMBOL_GPL 0x9beae9a4 __adis_reset drivers/iio/imu/adis_lib +IIO_ADXL313 EXPORT_SYMBOL_GPL 0x30426ec2 adxl313_core_probe drivers/iio/accel/adxl313_core +IIO_ADXL313 EXPORT_SYMBOL_GPL 0x8401eedc adxl313_readable_regs_table drivers/iio/accel/adxl313_core +IIO_ADXL313 EXPORT_SYMBOL_GPL 0xf6f7b9f3 adxl313_writable_regs_table drivers/iio/accel/adxl313_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0x22871d16 adxl355_core_probe drivers/iio/accel/adxl355_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0x6ff5403b adxl355_readable_regs_tbl drivers/iio/accel/adxl355_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0xb446fa86 adxl355_writeable_regs_tbl drivers/iio/accel/adxl355_core +IIO_ADXL367 EXPORT_SYMBOL_GPL 0xaffd4b1b adxl367_probe drivers/iio/accel/adxl367 +IIO_ADXL372 EXPORT_SYMBOL_GPL 0xc015c78d adxl372_readable_noinc_reg drivers/iio/accel/adxl372 +IIO_ADXL372 EXPORT_SYMBOL_GPL 0xd348c55c adxl372_probe drivers/iio/accel/adxl372 +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x0abe97c3 ad_sd_set_comm drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x3f8a5e5f ad_sd_write_reg drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x4bc46577 ad_sd_init drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x549cfe31 ad_sigma_delta_single_conversion drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x5c1c037d ad_sd_read_reg drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x5d748f6e ad_sd_validate_trigger drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x6357fb95 ad_sd_calibrate drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x89e263a8 devm_ad_sd_setup_buffer_and_trigger drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xc83535c6 ad_sd_reset drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xcbf264bf ad_sd_calibrate_all drivers/iio/adc/ad_sigma_delta +IIO_BMA400 EXPORT_SYMBOL 0x206ef48d bma400_probe drivers/iio/accel/bma400_core +IIO_BMA400 EXPORT_SYMBOL 0x60d2274b bma400_regmap_config drivers/iio/accel/bma400_core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x09aa05c7 bmc150_accel_core_probe drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x35d72689 bmc150_regmap_conf drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x69a3101f bmc150_accel_core_remove drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x92b8e688 bmc150_accel_pm_ops drivers/iio/accel/bmc150-accel-core +IIO_BMC150_MAGN EXPORT_SYMBOL 0x0878011d bmc150_magn_remove drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0x0fbac369 bmc150_magn_regmap_config drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0xd0d862f3 bmc150_magn_probe drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0xdbda0104 bmc150_magn_pm_ops drivers/iio/magnetometer/bmc150_magn +IIO_BME680 EXPORT_SYMBOL 0x2a6a2ce3 bme680_regmap_config drivers/iio/chemical/bme680_core +IIO_BME680 EXPORT_SYMBOL_GPL 0xd341d405 bme680_core_probe drivers/iio/chemical/bme680_core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x0b10a34c bmi088_accel_core_probe drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x6e2eb6f8 bmi088_regmap_conf drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x9bb629a0 bmi088_accel_core_remove drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0xda907d84 bmi088_accel_pm_ops drivers/iio/accel/bmi088-accel-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x39ee13d2 fxls8962af_pm_ops drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x4cb69d4a fxls8962af_i2c_regmap_conf drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0xc59c1e22 fxls8962af_core_probe drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0xee68098f fxls8962af_spi_regmap_conf drivers/iio/accel/fxls8962af-core +IIO_HID EXPORT_SYMBOL 0x1508d026 hid_sensor_parse_common_attributes drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x18d164a9 hid_sensor_remove_trigger drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x3c4925cb hid_sensor_write_raw_hyst_rel_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x6c0572d3 hid_sensor_write_raw_hyst_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x6c211fbb hid_sensor_read_samp_freq_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x7f7621ec hid_sensor_format_scale drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0xa74c965b hid_sensor_convert_timestamp drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0xb012fb04 hid_sensor_power_state drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0xcf18c0d4 hid_sensor_write_samp_freq_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0xdd9f9511 hid_sensor_read_raw_hyst_rel_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0xe2951d80 hid_sensor_setup_trigger drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0xe3b703a6 hid_sensor_pm_ops drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0xe50909a3 hid_sensor_read_raw_hyst_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x0336095a hid_sensor_get_report_latency drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0xea86d822 hid_sensor_read_poll_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0xf1d7584e hid_sensor_set_report_latency drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0xfc349739 hid_sensor_batch_mode_supported drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HMC5843 EXPORT_SYMBOL 0x415f68a8 hmc5843_common_resume drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0x5722283c hmc5843_common_probe drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0x8aff088a hmc5843_common_remove drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0xde491cd6 hmc5843_common_suspend drivers/iio/magnetometer/hmc5843_core +IIO_KXSD9 EXPORT_SYMBOL 0x2a81078d kxsd9_common_probe drivers/iio/accel/kxsd9 +IIO_KXSD9 EXPORT_SYMBOL 0x9d758345 kxsd9_common_remove drivers/iio/accel/kxsd9 +IIO_KXSD9 EXPORT_SYMBOL 0xdf6a9dca kxsd9_dev_pm_ops drivers/iio/accel/kxsd9 +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x045688dd ms_sensors_read_prom_word drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x1d57befe ms_sensors_ht_read_temperature drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x2d2f5cd5 ms_sensors_reset drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x35c5d656 ms_sensors_write_resolution drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x42b6a050 ms_sensors_convert_and_read drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x866de000 ms_sensors_show_heater drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xa4a881ae ms_sensors_write_heater drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xae1c9c98 ms_sensors_read_temp_and_pressure drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xb3af34fd ms_sensors_ht_read_humidity drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xb75e74af ms_sensors_show_battery_low drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xc9da4ecf ms_sensors_read_serial drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xd56d739d ms_sensors_tp_read_prom drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x28609278 mma7455_core_probe drivers/iio/accel/mma7455_core +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x5d2be70a mma7455_core_remove drivers/iio/accel/mma7455_core +IIO_MMA7455 EXPORT_SYMBOL_GPL 0xfb4f4dcf mma7455_core_regmap drivers/iio/accel/mma7455_core +IIO_MMA9551 EXPORT_SYMBOL 0x0730fa3f mma9551_write_config_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x1989ef35 mma9551_read_config_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x1b011371 mma9551_read_status_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x24ba354f mma9551_write_config_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x3d2528e9 mma9551_read_config_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x3fab1660 mma9551_read_accel_chan drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x41ef446c mma9551_read_accel_scale drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x4c606898 mma9551_update_config_bits drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x5371ecba mma9551_app_reset drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x5f2dee70 mma9551_write_config_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x784f7917 mma9551_set_device_state drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x83a6aa8d mma9551_read_status_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xb074c863 mma9551_gpio_config drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xb7f2b50f mma9551_read_config_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xbcd7fe96 mma9551_sleep drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xbfe8e2d7 mma9551_set_power_state drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xe0e388c4 mma9551_read_version drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xe482db05 mma9551_read_status_byte drivers/iio/accel/mma9551_core +IIO_MPL115 EXPORT_SYMBOL_GPL 0x744d26af mpl115_probe drivers/iio/pressure/mpl115 +IIO_MS5611 EXPORT_SYMBOL 0xeee6078a ms5611_probe drivers/iio/pressure/ms5611_core +IIO_MS5611 EXPORT_SYMBOL 0xfab85259 ms5611_remove drivers/iio/pressure/ms5611_core +IIO_RM3100 EXPORT_SYMBOL_GPL 0x0a1424e0 rm3100_volatile_table drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0xaa911f08 rm3100_readable_table drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0xcc7209be rm3100_writable_table drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0xf4cdde6a rm3100_common_probe drivers/iio/magnetometer/rm3100-core +IIO_SCD30 EXPORT_SYMBOL 0x1fa8de63 scd30_pm_ops drivers/iio/chemical/scd30_core +IIO_SCD30 EXPORT_SYMBOL 0x2981307a scd30_probe drivers/iio/chemical/scd30_core +IIO_SSP_SENSORS EXPORT_SYMBOL 0x643fb5c8 ssp_disable_sensor drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x6c26b12e ssp_get_sensor_delay drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x8a44cb9c ssp_common_buffer_postdisable drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0x9257fe89 ssp_enable_sensor drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0xa39ddfa8 ssp_common_buffer_postenable drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0xdb875e23 ssp_change_delay drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0xde34d5a0 ssp_common_process_data drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0xdec92d09 ssp_register_consumer drivers/iio/common/ssp_sensors/sensorhub +IIO_ST_SENSORS EXPORT_SYMBOL 0x074d7047 st_sensors_trigger_handler drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x0852ae7c st_sensors_init_sensor drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x0a434adc st_sensors_set_fullscale_by_gain drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x1ff0dcea st_sensors_power_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x2f20e815 st_gyro_get_settings drivers/iio/gyro/st_gyro +IIO_ST_SENSORS EXPORT_SYMBOL 0x37c12c5c st_sensors_get_settings_index drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x3fbfbac0 st_sensors_verify_id drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x43690b3f st_sensors_set_axis_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x50756b6b st_sensors_sysfs_scale_avail drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x5a3db520 st_press_get_settings drivers/iio/pressure/st_pressure +IIO_ST_SENSORS EXPORT_SYMBOL 0x5c599f6e st_accel_get_settings drivers/iio/accel/st_accel +IIO_ST_SENSORS EXPORT_SYMBOL 0x5dd60489 st_sensors_allocate_trigger drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x638d9be9 st_gyro_common_probe drivers/iio/gyro/st_gyro +IIO_ST_SENSORS EXPORT_SYMBOL 0x64f06861 st_sensors_debugfs_reg_access drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x6b55e3f1 st_sensors_sysfs_sampling_frequency_avail drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x70f4f449 st_sensors_i2c_configure drivers/iio/common/st_sensors/st_sensors_i2c +IIO_ST_SENSORS EXPORT_SYMBOL 0x78d199a0 st_sensors_set_dataready_irq drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x884eebe8 st_sensors_set_odr drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xb1882f76 st_sensors_dev_name_probe drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xb9448d4d st_sensors_read_info_raw drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xb968c178 st_sensors_spi_configure drivers/iio/common/st_sensors/st_sensors_spi +IIO_ST_SENSORS EXPORT_SYMBOL 0xbed423b4 st_magn_get_settings drivers/iio/magnetometer/st_magn +IIO_ST_SENSORS EXPORT_SYMBOL 0xc323133d st_sensors_set_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xe331556f st_accel_common_probe drivers/iio/accel/st_accel +IIO_ST_SENSORS EXPORT_SYMBOL 0xe7066e0e st_press_common_probe drivers/iio/pressure/st_pressure +IIO_ST_SENSORS EXPORT_SYMBOL 0xf2897059 st_magn_common_probe drivers/iio/magnetometer/st_magn +IIO_ST_SENSORS EXPORT_SYMBOL 0xf61e68de st_sensors_validate_device drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL_GPL 0x583f2e76 st_lsm9ds0_probe drivers/iio/imu/st_lsm9ds0/st_lsm9ds0 +IIO_UVIS25 EXPORT_SYMBOL 0x71a6cb5a st_uvis25_pm_ops drivers/iio/light/st_uvis25_core +IIO_UVIS25 EXPORT_SYMBOL 0xde553fc1 st_uvis25_probe drivers/iio/light/st_uvis25_core +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x2d7160c9 zpa2326_pm_ops drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x3a47f07f zpa2326_probe drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x51745f1d zpa2326_remove drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x5b51779f zpa2326_isreg_writeable drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0xa28b87b5 zpa2326_isreg_readable drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0xf847a3b6 zpa2326_isreg_precious drivers/iio/pressure/zpa2326 +IWLWIFI EXPORT_SYMBOL_GPL 0x029ea387 iwl_sar_get_wgds_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x06bada38 iwl_sar_select_profile drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x104b2490 iwl_write8 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x122d804c iwl_set_bits_mask_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1332e4de iwl_abort_notification_waits drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x167b4f78 iwl_write_prph_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x19756411 iwl_fw_dbg_collect drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1c4ab9e9 iwl_phy_db_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1c58dc7e iwl_acpi_get_eckv drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1d69f0cd iwl_uefi_get_sgom_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1e229b03 iwl_pnvm_load drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1e3379b8 iwl_fw_dbg_collect_trig drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1e7ae968 iwl_sar_geo_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2710c362 iwl_dump_desc_assert drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x27312ede iwl_acpi_is_ppag_approved drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2ab34dcc iwl_get_nvm drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2e98f4a8 iwl_acpi_get_dsm_u32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2ecd452a iwl_sar_get_wrds_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x35033c81 iwl_phy_db_free drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x368fbd26 iwl_parse_nvm_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x37956b72 rs_pretty_print_rate drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x392d669a __iwl_crit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x395af32c iwl_read_prph_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3f830b9d iwl_acpi_get_mcc drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x40a65a90 iwl_read_external_nvm drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x41e882df iwl_force_nmi drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x49e0135d iwl_new_rate_from_v1 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x4fc698a4 iwl_acpi_get_object drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x54f00b0c iwl_sar_get_ewrd_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5867333d iwl_read_ppag_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5988395c iwl_notification_wait_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5c52e109 iwl_opmode_deregister drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5e565017 iwl_read32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x611cba1e iwl_acpi_get_wifi_pkg_range drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6624ac5c iwl_get_shared_mem_conf drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x69977308 iwl_acpi_get_pwr_limit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6c44bb2b iwl_parse_mei_nvm_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6f240d92 iwl_fw_dbg_error_collect drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x72163742 iwl_set_soc_latency drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x750cf449 iwl_fwrt_dump_error_logs drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x776221bf iwl_send_phy_db_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x78971d7e iwl_he_is_sgi drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x78d97459 iwl_write_prph64_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7d0b6134 iwl_poll_direct_bit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x828c6838 iwlwifi_mod_params drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x84bb50e1 iwl_rs_pretty_ant drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x8528cedc iwl_init_paging drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x859b4b13 iwl_write_direct32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x86be5c2f iwl_fw_start_dbg_conf drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x86c533f1 iwl_read_direct32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x874c77de iwl_fw_rate_idx_to_plcp drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x8b8d496e iwl_set_bits_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x8bfda8b5 iwl_fw_dbg_collect_desc drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x8fc97a8c iwl_parse_eeprom_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x90255c18 iwl_fw_dbg_stop_sync drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9038811a iwl_rfi_guid drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x91becaca iwl_cmd_groups_verify_sorted drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9cd4c504 iwl_write32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9d5956c4 iwl_get_cmd_string drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9e9ca627 iwl_write_prph_delay drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xa5fec7e8 iwl_acpi_get_tas drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xa6170b28 __iwl_warn drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xa78c3252 iwl_acpi_get_dsm_u8 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xa970cd60 iwl_trans_send_cmd drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xac9d56cd __iwl_dbg drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb1492fce iwl_free_fw_paging drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb25ae804 iwl_sar_geo_support drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb37b318c iwl_rs_pretty_bw drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb49e131b iwl_fw_runtime_suspend drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb7d5ffb1 iwl_rate_mcs drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xba6f9622 iwl_fw_runtime_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xbafc8994 iwl_wait_notification drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xbcc89aa7 __iwl_info drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xc6430bdc iwl_read_eeprom drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xc6e82f65 __iwl_err drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xcce6102b iwl_fw_dbg_read_d3_debug_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xcd5495c9 iwl_parse_nvm_mcc_info drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xcd757a7c iwl_write64 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xce0c6460 iwl_phy_db_set_section drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xd252e904 iwl_configure_rxq drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xd43af46b iwl_write_direct64 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xd70e6269 iwl_clear_bits_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xd88edf1b iwl_poll_bit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xd9cee1ab iwl_dbg_tlv_del_timers drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xdac3ad1f iwl_fw_runtime_resume drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe0eb5838 iwl_init_notification_wait drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe382d854 iwl_opmode_register drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe75b7e77 iwl_notification_wait drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xea1b26fc iwl_nvm_fixups drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf521ebfc iwl_read_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf88964e4 iwl_remove_notification drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf9cb2285 _iwl_dbg_tlv_time_point drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xfb282e9f iwl_acpi_get_lari_config_bitmap drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xfc1e6f41 iwl_guid drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xfcb76b95 iwl_fw_dbg_stop_restart_recording drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xfcfa65e3 iwl_acpi_get_ppag_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xffb55102 iwl_finish_nic_init drivers/net/wireless/intel/iwlwifi/iwlwifi +LTC2497 EXPORT_SYMBOL 0x33e38025 ltc2497core_probe drivers/iio/adc/ltc2497-core +LTC2497 EXPORT_SYMBOL 0x433fdf24 ltc2497core_remove drivers/iio/adc/ltc2497-core +MCB EXPORT_SYMBOL_GPL 0x22c95f93 mcb_bus_put drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x365ccd8d __mcb_register_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x36fbf251 mcb_free_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x518d3528 mcb_alloc_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x5616de40 mcb_get_irq drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x5e787a88 mcb_device_register drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x8bd5a310 mcb_alloc_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xa28f2d78 mcb_bus_get drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xcab8163d mcb_request_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xd230dabf mcb_bus_add_devices drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xd56b32a6 mcb_get_resource drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xe5660a17 mcb_unregister_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xeb2c8905 mcb_release_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xf48c54df mcb_release_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xfb7b1a4a chameleon_parse_cells drivers/mcb/mcb +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x1b47fbe3 nvme_execute_passthru_rq vmlinux +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x1f56faf4 nvme_passthru_end vmlinux +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x6a92e98f nvme_put_ns vmlinux +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x73bbb976 nvme_find_get_ns vmlinux +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0xcc09c9bb nvme_ctrl_from_file vmlinux +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0xed1ab5ab nvme_command_effects vmlinux +PECI EXPORT_SYMBOL_GPL 0x07c0846d peci_request_data_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x16d96e8a peci_xfer_ep_pci_cfg_local_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x19734d05 peci_driver_unregister drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x1aae0ad0 peci_xfer_pkg_cfg_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x2a333d0d peci_xfer_ep_pci_cfg_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x37b2708b peci_request_data_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x46cbcd85 peci_xfer_pci_cfg_local_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x5595034c peci_xfer_pkg_cfg_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x55d82dd7 peci_xfer_ep_pci_cfg_local_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x56677abd peci_request_data_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x5b1b5902 peci_xfer_pci_cfg_local_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x5f2b27f7 peci_request_data_readq drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x66245a2d peci_request_dib_read drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x69327e50 peci_xfer_ep_pci_cfg_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x6db7db24 peci_request_status drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x77dd0288 devm_peci_controller_add drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7924f914 peci_xfer_pkg_cfg_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x79af0de7 peci_xfer_get_dib drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x817e0a1e peci_xfer_pkg_cfg_readq drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x8b5c47c7 peci_xfer_ep_pci_cfg_local_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x96a0c06f peci_xfer_ep_mmio32_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xb7b61440 peci_xfer_ep_pci_cfg_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xd0192f3e peci_xfer_get_temp drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xd210b164 peci_request_temp_read drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xd849425b peci_request_alloc drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xe041536b peci_xfer_pci_cfg_local_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xec2c322e peci_xfer_ep_mmio64_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xf2bef251 peci_request_free drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xfb16c3f5 __peci_driver_register drivers/peci/peci +PECI_CPU EXPORT_SYMBOL_GPL 0x1dd9177f peci_temp_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x40f62e00 peci_pci_local_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x590f39c4 peci_mmio_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x759ee70f peci_ep_pci_local_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x75bd22f7 peci_pcs_read drivers/peci/peci-cpu +PMBUS EXPORT_SYMBOL_GPL 0x122087c2 pmbus_clear_faults drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x16385094 pmbus_update_fan drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x1a9ea69d pmbus_regulator_ops drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x53aaa028 pmbus_write_byte drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x662a01f3 pmbus_read_word_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x735bb86f pmbus_get_fan_rate_device drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7ce9a42d pmbus_write_word_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x89d29726 pmbus_get_driver_info drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x8fbc85a5 pmbus_clear_cache drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x91dbe7e8 pmbus_read_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xa3a5779f pmbus_check_word_register drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xae6a3f51 pmbus_set_update drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xc1ff99b4 pmbus_set_page drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xc7e605fb pmbus_write_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xd1fb2f28 pmbus_update_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xd3dd8ccb pmbus_get_debugfs_dir drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xea4452ea pmbus_do_probe drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xf012b5ea pmbus_get_fan_rate_cached drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xfd390c01 pmbus_check_byte_register drivers/hwmon/pmbus/pmbus_core +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x175d0522 sx_common_read_event_config drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x2bb2eefe sx_common_write_event_config drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0xa01c101e sx_common_probe drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0xbf5950c6 sx_common_read_proximity drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0xd07d0025 sx_common_events drivers/iio/proximity/sx_common +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0x2b707546 hda_cs_dsp_fw_ids sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0x9b3b7240 hda_cs_dsp_write_ctl sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0xdec0297a hda_cs_dsp_control_remove sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0xf449248e hda_cs_dsp_control_add sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0xf5e51756 hda_cs_dsp_read_ctl sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_SCODEC_CS35L41 EXPORT_SYMBOL_GPL 0x4d302c53 cs35l41_hda_probe sound/pci/hda/snd-hda-scodec-cs35l41 +SND_HDA_SCODEC_CS35L41 EXPORT_SYMBOL_GPL 0xd5771f82 cs35l41_hda_pm_ops sound/pci/hda/snd-hda-scodec-cs35l41 +SND_HDA_SCODEC_CS35L41 EXPORT_SYMBOL_GPL 0xe626f11c cs35l41_hda_remove sound/pci/hda/snd-hda-scodec-cs35l41 +SND_INTEL_SOUNDWIRE_ACPI EXPORT_SYMBOL 0xbb4f9d1f sdw_intel_acpi_scan sound/hda/snd-intel-sdw-acpi +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0x4160a015 cs35l45_probe sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0x4c7537e7 cs35l45_remove sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0xbaf521b3 cs35l45_pm_ops sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x3431c8ad cs35l45_get_clk_freq_id sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x7cd21d02 cs35l45_apply_patch sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x9f6f07dd cs35l45_i2c_regmap sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0xdc57c691 cs35l45_spi_regmap sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_SOF_XTENSA EXPORT_SYMBOL 0x666af097 sof_xtensa_arch_ops sound/soc/sof/xtensa/snd-sof-xtensa-dsp +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x2259119f sdw_intel_process_wakeen_event drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x5af438eb sdw_intel_enable_irq drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x7aab0687 sdw_intel_exit drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x99e68a12 sdw_intel_probe drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0xaa52eba1 sdw_intel_thread drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0xdfc047fc sdw_intel_startup drivers/soundwire/soundwire-intel +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x0a047ba8 dw_spi_dma_setup_mfld drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x0aa6b487 dw_spi_add_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x677c2167 dw_spi_check_status drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x78b78b4c dw_spi_resume_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x909a2ddf dw_spi_dma_setup_generic drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0xb0c92f9b dw_spi_update_config drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0xb6b56e4d dw_spi_remove_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0xb824f937 dw_spi_set_cs drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0xfe403889 dw_spi_suspend_host drivers/spi/spi-dw +SUNXI_CCU EXPORT_SYMBOL_GPL 0x19212eb4 ccu_mux_helper_determine_rate vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x215acb3b ccu_frac_helper_disable vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x33527173 ccu_mux_helper_set_parent vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x34a796c2 ccu_nm_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x3670f898 devm_sunxi_ccu_probe vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x376eebe1 ccu_frac_helper_has_rate vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x3cca3c4e ccu_gate_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x5087807a ccu_frac_helper_read_rate vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x553cf6ba ccu_sdm_helper_read_rate vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x60e84cc1 ccu_sdm_helper_is_enabled vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x66ae640a ccu_mux_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x67b4f375 ccu_sdm_helper_enable vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x8119fb41 ccu_helper_wait_for_lock vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x83c753fd ccu_mux_helper_apply_prediv vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x87fcecc6 ccu_sdm_helper_disable vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x8cdb1752 ccu_nkm_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x8d7438cc ccu_gate_helper_is_enabled vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x98224ec7 ccu_reset_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x9a7239d2 ccu_frac_helper_is_enabled vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xa0f4dce8 ccu_nkmp_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xba079d1a ccu_mp_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xbb6e851f ccu_mp_mmc_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xbbefe55e ccu_pll_notifier_register vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xbedab8d5 ccu_phase_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xc2378215 ccu_frac_helper_set_rate vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xcdae8a96 ccu_mult_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xd35244af ccu_sdm_helper_has_rate vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xd7ee688c ccu_gate_helper_enable vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xdc3ef86e ccu_mux_helper_get_parent vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xde8a0571 ccu_mux_notifier_register vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xdee13cf4 ccu_frac_helper_enable vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xe2fe75df ccu_nk_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xe395e8eb ccu_div_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xeca4e8ed ccu_gate_helper_disable vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xf1d63af5 ccu_sdm_helper_get_factors vmlinux +TEST_FIRMWARE EXPORT_SYMBOL_GPL 0x3dce036c firmware_request_builtin vmlinux +USB_STORAGE EXPORT_SYMBOL_GPL 0x0ef0be62 usb_stor_CB_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x1254d660 usb_stor_probe1 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x13f0b839 fill_inquiry_response drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x1bc3edc2 usb_stor_sense_invalidCDB drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x2c90d594 usb_stor_CB_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x3171966c usb_stor_suspend drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x3f57ec19 usb_stor_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5627a10b usb_stor_Bulk_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x599ec35b usb_stor_ctrl_transfer drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x66a1468d usb_stor_pre_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7971263e usb_stor_adjust_quirks drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x79ab8b94 usb_stor_post_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7c4c9eac usb_stor_host_template_init drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x8e8ec0d7 usb_stor_Bulk_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x9101fb6d usb_stor_bulk_transfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x9d3043c1 usb_stor_bulk_srb drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x9f99cdf8 usb_stor_bulk_transfer_sg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xa8a73cb5 usb_stor_control_msg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xb7a2e161 usb_stor_transparent_scsi_command drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xbcf79cb4 usb_stor_set_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xcf39bc1a usb_stor_probe2 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xdb5b59f1 usb_stor_access_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xdd0bc119 usb_stor_clear_halt drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xeae69d46 usb_stor_reset_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xef6caa79 usb_stor_disconnect drivers/usb/storage/usb-storage --- linux-gcp-5.19.0.orig/debian.gcp/abi/arm64/gcp.compiler +++ linux-gcp-5.19.0/debian.gcp/abi/arm64/gcp.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 12.2.0-3ubuntu1) 12.2.0 --- linux-gcp-5.19.0.orig/debian.gcp/abi/arm64/gcp.modules +++ linux-gcp-5.19.0/debian.gcp/abi/arm64/gcp.modules @@ -0,0 +1,7164 @@ +3c59x +3w-9xxx +3w-sas +3w-xxxx +6lowpan +6pack +8021q +8139cp +8139too +8250_aspeed_vuart +8250_bcm7271 +8250_em +8250_exar +8250_men_mcb +8250_pericom +8255 +8255_pci +8390 +842 +842_compress +842_decompress +88pg86x +88pm800 +88pm800-regulator +88pm805 +88pm80x +88pm80x_onkey +88pm8607 +88pm860x-ts +88pm860x_battery +88pm860x_bl +88pm860x_charger +88pm860x_onkey +9p +9pnet +9pnet_fd +9pnet_rdma +9pnet_virtio +9pnet_xen +a100u2w +a3d +a53-pll +a7-pll +a8293 +aacraid +aat2870-regulator +aat2870_bl +abp060mg +ac97_bus +acard-ahci +acecad +acenic +acp_audio_dma +acpi-als +acpi_configfs +acpi_ipmi +acpi_power_meter +acpi_tad +acpiphp_ibm +act8865-regulator +act8945a +act8945a-regulator +act8945a_charger +act_bpf +act_connmark +act_csum +act_ct +act_ctinfo +act_gact +act_gate +act_ipt +act_mirred +act_mpls +act_nat +act_pedit +act_police +act_sample +act_simple +act_skbedit +act_skbmod +act_tunnel_key +act_vlan +ad2s1200 +ad2s1210 +ad2s90 +ad3552r +ad5064 +ad5110 +ad525x_dpot +ad525x_dpot-i2c +ad525x_dpot-spi +ad5272 +ad5360 +ad5380 +ad5398 +ad5421 +ad5446 +ad5449 +ad5504 +ad5592r +ad5592r-base +ad5593r +ad5624r_spi +ad5686 +ad5686-spi +ad5696-i2c +ad5755 +ad5758 +ad5761 +ad5764 +ad5766 +ad5770r +ad5791 +ad5820 +ad5933 +ad7091r-base +ad7091r5 +ad7124 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7192 +ad7266 +ad7280a +ad7291 +ad7292 +ad7293 +ad7298 +ad7303 +ad7314 +ad7414 +ad7418 +ad74413r +ad7476 +ad7606 +ad7606_par +ad7606_spi +ad7746 +ad7766 +ad7768-1 +ad7780 +ad7791 +ad7793 +ad7816 +ad7877 +ad7879 +ad7879-i2c +ad7879-spi +ad7887 +ad7923 +ad7949 +ad799x +ad8366 +ad8801 +ad9389b +ad9467 +ad9523 +ad9832 +ad9834 +ad_sigma_delta +ada4250 +adc-joystick +adc-keys +adc128d818 +adcxx +addi_apci_1032 +addi_apci_1500 +addi_apci_1516 +addi_apci_1564 +addi_apci_16xx +addi_apci_2032 +addi_apci_2200 +addi_apci_3120 +addi_apci_3501 +addi_apci_3xxx +addi_watchdog +ade7854 +ade7854-i2c +ade7854-spi +adf4350 +adf4371 +adf7242 +adfs +adi +adi-axi-adc +adiantum +adin +adin1100 +adis16080 +adis16130 +adis16136 +adis16201 +adis16203 +adis16209 +adis16240 +adis16260 +adis16400 +adis16460 +adis16475 +adis16480 +adis_lib +adjd_s311 +adl_pci6208 +adl_pci7x3x +adl_pci8164 +adl_pci9111 +adl_pci9118 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm1177 +adm1266 +adm1275 +adm8211 +adm9240 +admv1013 +admv1014 +admv4420 +admv8818 +adp1653 +adp5061 +adp5520-keys +adp5520_bl +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +adq12b +adrf6780 +ads7828 +ads7846 +ads7871 +adt7310 +adt7316 +adt7316-i2c +adt7316-spi +adt7410 +adt7411 +adt7462 +adt7470 +adt7475 +adt7x10 +adummy +adutux +adux1020 +adv7170 +adv7175 +adv7180 +adv7183 +adv7343 +adv7393 +adv748x +adv7511 +adv7604 +adv7842 +adv_pci1710 +adv_pci1720 +adv_pci1723 +adv_pci1724 +adv_pci1760 +adv_pci_dio +advansys +adxl313_core +adxl313_i2c +adxl313_spi +adxl34x +adxl34x-i2c +adxl34x-spi +adxl355_core +adxl355_i2c +adxl355_spi +adxl367 +adxl367_i2c +adxl367_spi +adxl372 +adxl372_i2c +adxl372_spi +adxrs290 +adxrs450 +aegis128 +aes-arm64 +aes-ce-blk +aes-ce-ccm +aes-ce-cipher +aes-neon-blk +aes-neon-bs +aes_ti +af9013 +af9033 +af_alg +af_key +af_packet_diag +afe4403 +afe4404 +affs +afs +ah4 +ah6 +ahci +ahci_brcm +ahci_ceva +ahci_mtk +ahci_mvebu +ahci_platform +ahci_qoriq +ahci_seattle +ahci_tegra +ahci_xgene +aht10 +aic79xx +aic7xxx +aic94xx +aio_aio12_8 +aio_iiro_16 +aiptek +aircable +airspy +ak7375 +ak881x +ak8974 +ak8975 +al3010 +al3320a +alcor +alcor_pci +algif_aead +algif_hash +algif_rng +algif_skcipher +alim7101_wdt +allegro +altera-ci +altera-cvp +altera-fpga2sdram +altera-freeze-bridge +altera-hps2fpga +altera-msgdma +altera-pr-ip-core +altera-pr-ip-core-plat +altera-ps-spi +altera-stapl +altera_jtaguart +altera_ps2 +altera_tse +altera_uart +alx +am2315 +am53c974 +am65-cpts +amba-clcd +amba-pl010 +ambakmi +amc6821 +amd +amd-xgbe +amd5536udc_pci +amd8111e +amdgpu +amlogic-gxl-crypto +amlogic_thermal +amphion-vpu +amplc_dio200 +amplc_dio200_common +amplc_dio200_pci +amplc_pc236 +amplc_pc236_common +amplc_pc263 +amplc_pci224 +amplc_pci230 +amplc_pci236 +amplc_pci263 +ams-iaq-core +ams369fg06 +amt +analog +analogix-anx6345 +analogix-anx78xx +analogix_dp +anatop-regulator +ansi_cprng +anx7625 +anybuss_core +ao-cec +ao-cec-g12a +aoe +apbps2 +apcs-msm8916 +apcs-sdx55 +apds9300 +apds9802als +apds990x +apds9960 +apple-dart +apple-mailbox +apple-mfi-fastcharge +apple_wdt +appledisplay +appletalk +appletouch +applicom +apr +apss-ipq-pll +apss-ipq6018 +aptina-pll +aqc111 +aquacomputer_d5next +aquantia +ar1021_i2c +ar5523 +ar7part +ar9331 +arasan-nand-controller +arc-rawmode +arc-rimi +arc_emac +arc_ps2 +arc_uart +arcmsr +arcnet +arcpgu +arcx-anybus +arcxcnn_bl +arizona +arizona-haptics +arizona-i2c +arizona-ldo1 +arizona-micsupp +arizona-spi +ark3116 +arkfb +arm-cmn +arm_dmc620_pmu +arm_dsu_pmu +arm_mhu +arm_mhu_db +arm_mhuv2 +arm_scpi +arm_smc_wdt +arm_smccc_trng +arm_smmuv3_pmu +arm_spe_pmu +armada-37xx-cpufreq +armada-37xx-rwtm-mailbox +armada-8k-cpufreq +armada_37xx_wdt +arp_tables +arpt_mangle +arptable_filter +as102_fe +as370-hwmon +as3711-regulator +as3711_bl +as3722-regulator +as3935 +as5011 +as73211 +asc7621 +ascot2e +asix +aspeed-pwm-tacho +aspeed-video +ast +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +at803x +at86rf230 +ata_generic +ata_piix +atbm8830 +atc260x-core +atc260x-i2c +atc260x-onkey +atc260x-poweroff +atc260x-regulator +aten +ath +ath10k_core +ath10k_pci +ath10k_sdio +ath10k_snoc +ath10k_usb +ath11k +ath11k_ahb +ath11k_pci +ath3k +ath5k +ath6kl_core +ath6kl_sdio +ath6kl_usb +ath9k +ath9k_common +ath9k_htc +ath9k_hw +ath9k_pci_owl_loader +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atlantic +atlas-ezo-sensor +atlas-sensor +atm +atmel +atmel-ecc +atmel-flexcom +atmel-hlcdc +atmel-i2c +atmel-sha204a +atmel_captouch +atmel_mxt_ts +atmel_pci +atmtcp +atp870u +atusb +atxp1 +aty128fb +atyfb +au0828 +au8522_common +au8522_decoder +au8522_dig +auo-pixcir-ts +auth_rpcgss +authenc +authencesn +autofs4 +avmfritz +ax25 +ax88179_178a +ax88796b +ax88796c +axg-audio +axi-fan-control +axis-fifo +axp20x +axp20x-i2c +axp20x-pek +axp20x-regulator +axp20x-rsb +axp20x_ac_power +axp20x_adc +axp20x_battery +axp20x_usb_power +axp288_adc +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b43 +b43legacy +b44 +b53_common +b53_mdio +b53_mmap +b53_serdes +b53_spi +b53_srab +ba431-rng +bam_dma +bareudp +batman-adv +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcache +bch +bcm-flexrm-mailbox +bcm-keypad +bcm-pdc-mailbox +bcm-phy-lib +bcm-sba-raid +bcm-sf2 +bcm203x +bcm2711_thermal +bcm2835 +bcm2835-mmal-vchiq +bcm2835-rng +bcm2835-v4l2 +bcm2835_thermal +bcm2835_wdt +bcm3510 +bcm4908_enet +bcm54140 +bcm590xx +bcm590xx-regulator +bcm5974 +bcm63138_nand +bcm6368_nand +bcm63xx_uart +bcm7038_wdt +bcm7xxx +bcm87xx +bcm_crypto_spu +bcm_iproc_adc +bcm_iproc_tsc +bcm_vk +bcma +bcma-hcd +bcmsysport +bd6107 +bd71815-regulator +bd71828-regulator +bd718x7-regulator +bd9571mwv +bd9571mwv-regulator +bd9576-regulator +bd9576_wdt +bd99954-charger +bdc +be2iscsi +be2net +befs +bel-pfe +belkin_sa +berlin2-adc +bfa +bfq +bfs +bfusb +bh1750 +bh1770glc +bh1780 +binder_linux +binfmt_misc +blake2b_generic +block2mtd +blocklayoutdriver +blowfish_common +blowfish_generic +bluefield_edac +bluetooth +bluetooth_6lowpan +bma150 +bma220_spi +bma400_core +bma400_i2c +bma400_spi +bman-test +bmc150-accel-core +bmc150-accel-i2c +bmc150-accel-spi +bmc150_magn +bmc150_magn_i2c +bmc150_magn_spi +bme680_core +bme680_i2c +bme680_spi +bmg160_core +bmg160_i2c +bmg160_spi +bmi088-accel-core +bmi088-accel-spi +bmi160_core +bmi160_i2c +bmi160_spi +bmp280 +bmp280-i2c +bmp280-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bnxt_en +bnxt_re +bochs +bonding +bpa-rs600 +bpa10x +bpck +bpfilter +bpqether +bq2415x_charger +bq24190_charger +bq24257_charger +bq24735-charger +bq2515x_charger +bq256xx_charger +bq25890_charger +bq25980_charger +bq27xxx_battery +bq27xxx_battery_hdq +bq27xxx_battery_i2c +br2684 +br_netfilter +brcmfmac +brcmnand +brcmsmac +brcmstb-avs-cpufreq +brcmstb-usb-pinmap +brcmstb_nand +brcmstb_thermal +brcmutil +brd +bridge +broadcom +bsd_comp +bt819 +bt856 +bt866 +bt878 +btbcm +btcoexist +btintel +btmrvl +btmrvl_sdio +btmtk +btmtksdio +btmtkuart +btqca +btqcomsmd +btrfs +btrsi +btrtl +btsdio +bttv +btusb +bu21013_ts +bu21029_ts +budget +budget-av +budget-ci +budget-core +budget-patch +c67x00 +c6xdigio +c_can +c_can_pci +c_can_platform +ca8210 +caam +caam_jr +caamalg_desc +caamhash_desc +cachefiles +cadence-nand-controller +cadence_wdt +cafe_ccic +cafe_nand +caif +caif_serial +caif_socket +caif_usb +caif_virtio +camcc-sc7180 +camcc-sc7280 +camcc-sdm845 +camcc-sm8250 +camellia_generic +can +can-bcm +can-dev +can-gw +can-isotp +can-j1939 +can-raw +cap11xx +capmode +capsule-loader +carl9170 +carminefb +cassini +cast5_generic +cast6_generic +cast_common +catc +cavium-rng +cavium-rng-vf +cavium_ptp +cb710 +cb710-mmc +cb_pcidas +cb_pcidas64 +cb_pcidda +cb_pcimdas +cb_pcimdda +cc10001_adc +cc2520 +cc770 +cc770_isa +cc770_platform +ccm +ccp +ccp-crypto +ccree +ccs +ccs-pll +ccs811 +cctrng +cdc-acm +cdc-phonet +cdc-wdm +cdc_eem +cdc_ether +cdc_mbim +cdc_ncm +cdc_subset +cdns-csi2rx +cdns-csi2tx +cdns-dphy +cdns-dphy-rx +cdns-dsi +cdns-mhdp8546 +cdns-pltfrm +cdns-usb-common +cdns3 +cdns3-imx +cdns3-pci-wrap +cdns3-ti +cdnsp-udc-pci +cec +ceph +cfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch +ch341 +ch7006 +ch7322 +ch9200 +ch_ipsec +ch_ktls +chacha-neon +chacha20poly1305 +chacha_generic +chaoskey +charlcd +chcr +chipone-icn6211 +chipone_icn8318 +chipone_icn8505 +chipreg +chnl_net +chromeos_acpi +chromeos_privacy_screen +chromeos_tbmc +chrontel-ch7033 +ci_hdrc +ci_hdrc_imx +ci_hdrc_msm +ci_hdrc_pci +ci_hdrc_tegra +ci_hdrc_usb2 +cicada +cifs +cifs_arc4 +cifs_md4 +cirrus +cirrusfb +clip +clk-apple-nco +clk-axi-clkgen +clk-bcm2711-dvp +clk-bd718x7 +clk-cdce706 +clk-cdce925 +clk-cpu-8996 +clk-cs2000-cp +clk-fsl-flexspi +clk-hi3519 +clk-hi655x +clk-imx8ulp +clk-imx93 +clk-lmk04832 +clk-lochnagar +clk-max77686 +clk-max9485 +clk-palmas +clk-phase +clk-plldig +clk-pwm +clk-qcom +clk-raspberrypi +clk-renesas-pcie +clk-rk808 +clk-rpm +clk-rpmh +clk-s2mps11 +clk-scmi +clk-scpi +clk-si514 +clk-si5341 +clk-si5351 +clk-si544 +clk-si570 +clk-smd-rpm +clk-spmi-pmic-div +clk-sprd +clk-twl6040 +clk-versaclock5 +clk-wm831x +clk-xlnx-clock-wizard +cls_basic +cls_bpf +cls_cgroup +cls_flow +cls_flower +cls_fw +cls_matchall +cls_route +cls_rsvp +cls_rsvp6 +cls_u32 +cm109 +cm32181 +cm3232 +cm3323 +cm3605 +cm36651 +cma3000_d0x +cma3000_d0x_i2c +cmac +cmdlinepart +cmtp +cn10k-rng +cnic +cobra +coda +coda-vpu +colibri-vf50-ts +com20020 +com20020-pci +com90io +com90xx +comedi +comedi_8254 +comedi_8255 +comedi_bond +comedi_example_test +comedi_parport +comedi_pci +comedi_test +comedi_usb +comm +contec_pci_dio +cordic +core +corsair-cpro +corsair-psu +cortina +counter +cp210x +cpcap-adc +cpcap-battery +cpcap-charger +cpcap-pwrbutton +cpcap-regulator +cpia2 +cppc_cpufreq +cpr +cptpf +cptvf +cqhci +cramfs +crc-itu-t +crc32_generic +crc4 +crc7 +crct10dif-ce +crg-hi3516cv300 +crg-hi3798cv200 +cros-ec-anx7688 +cros-ec-cec +cros-ec-regulator +cros-ec-sensorhub +cros_ec +cros_ec_accel_legacy +cros_ec_baro +cros_ec_chardev +cros_ec_debugfs +cros_ec_dev +cros_ec_i2c +cros_ec_keyb +cros_ec_lid_angle +cros_ec_light_prox +cros_ec_lightbar +cros_ec_mkbp_proximity +cros_ec_rpmsg +cros_ec_sensors +cros_ec_sensors_core +cros_ec_spi +cros_ec_sysfs +cros_ec_typec +cros_ec_vbc +cros_kbd_led_backlight +cros_peripheral_charger +cros_usbpd-charger +cros_usbpd_logger +cros_usbpd_notify +cryptd +crypto_engine +crypto_safexcel +crypto_user +cs3308 +cs5345 +cs53l32a +cs_dsp +csiostor +ctucanfd +ctucanfd_pci +ctucanfd_platform +curve25519-generic +cuse +cw1200_core +cw1200_wlan_sdio +cw1200_wlan_spi +cw2015_battery +cx18 +cx18-alsa +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24117 +cx24120 +cx24123 +cx25821 +cx25821-alsa +cx25840 +cx82310_eth +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx8800 +cx8802 +cx88xx +cxacru +cxd2099 +cxd2820r +cxd2841er +cxd2880 +cxd2880-spi +cxgb +cxgb3 +cxgb3i +cxgb4 +cxgb4i +cxgb4vf +cxgbit +cxl_acpi +cxl_core +cxl_mem +cxl_pci +cxl_pmem +cxl_port +cy8ctma140 +cy8ctmg110_ts +cyapatp +cyber2000fb +cyberjack +cypress-sf +cypress_cy7c63 +cypress_firmware +cypress_m8 +cytherm +cyttsp4_core +cyttsp4_i2c +cyttsp4_spi +cyttsp_core +cyttsp_i2c +cyttsp_i2c_common +cyttsp_spi +da280 +da311 +da7280 +da9030_battery +da9034-ts +da903x-regulator +da903x_bl +da9052-battery +da9052-hwmon +da9052-regulator +da9052_bl +da9052_onkey +da9052_tsi +da9052_wdt +da9055-hwmon +da9055-regulator +da9055_onkey +da9055_wdt +da9062-core +da9062-regulator +da9062-thermal +da9062_wdt +da9063-regulator +da9063_onkey +da9063_wdt +da9121-regulator +da9150-charger +da9150-core +da9150-fg +da9150-gpadc +da9210-regulator +da9211-regulator +dac02 +daqboard2000 +das08 +das08_isa +das08_pci +das16 +das16m1 +das1800 +das6402 +das800 +davicom +dax_hmem +dax_pmem +db9 +dc395x +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +ddbridge +ddbridge-dummy-fe +de2104x +decnet +defxx +delta-ahe50dc-fan +denali +denali_dt +denali_pci +des_generic +designware_i2s +device_dax +dfl +dfl-afu +dfl-emif +dfl-fme +dfl-fme-br +dfl-fme-mgr +dfl-fme-region +dfl-n3000-nios +dfl-pci +dht11 +diag +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +digicolor-usart +diskonchip +dispcc-qcm2290 +dispcc-sc7180 +dispcc-sc7280 +dispcc-sdm845 +dispcc-sm6125 +dispcc-sm6350 +dispcc-sm8250 +display-connector +dl2k +dlhl60d +dlink-dir685-touchkeys +dlm +dln2 +dln2-adc +dm-bio-prison +dm-bufio +dm-cache +dm-cache-smq +dm-clone +dm-crypt +dm-delay +dm-ebs +dm-era +dm-flakey +dm-historical-service-time +dm-integrity +dm-io-affinity +dm-log +dm-log-userspace +dm-log-writes +dm-mirror +dm-multipath +dm-persistent-data +dm-queue-length +dm-raid +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dm-switch +dm-thin-pool +dm-unstripe +dm-verity +dm-writecache +dm-zero +dm-zoned +dm1105 +dm9601 +dma-axi-dmac +dmard06 +dmard09 +dmard10 +dmc520_edac +dme1737 +dmfe +dmi-sysfs +dmm32at +dmx3191d +dn_rtmsg +dnet +dp83640 +dp83822 +dp83848 +dp83867 +dp83869 +dp83tc811 +dp83td510 +dpaa2-console +dpaa2-qdma +dpaa2_caam +dpdmai +dpot-dac +dps310 +dps920ab +drbd +drivetemp +drm +drm_cma_helper +drm_display_helper +drm_dp_aux_bus +drm_kms_helper +drm_mipi_dbi +drm_shmem_helper +drm_ttm_helper +drm_vram_helper +drm_xen_front +drv260x +drv2665 +drv2667 +drx39xyj +drxd +drxk +ds1621 +ds1682 +ds1803 +ds1wm +ds2482 +ds2490 +ds2760_battery +ds2780_battery +ds2781_battery +ds2782_battery +ds3000 +ds4424 +ds620 +dsa_core +dsbr100 +dst +dst_ca +dstr +dt2801 +dt2811 +dt2814 +dt2815 +dt2817 +dt282x +dt3000 +dt3155 +dt9812 +dtpm +dummy +dummy-irq +dummy_stm +dvb-as102 +dvb-bt8xx +dvb-core +dvb-pll +dvb-ttpci +dvb-ttusb-budget +dvb-usb +dvb-usb-a800 +dvb-usb-af9005 +dvb-usb-af9005-remote +dvb-usb-af9015 +dvb-usb-af9035 +dvb-usb-anysee +dvb-usb-au6610 +dvb-usb-az6007 +dvb-usb-az6027 +dvb-usb-ce6230 +dvb-usb-cinergyT2 +dvb-usb-cxusb +dvb-usb-dib0700 +dvb-usb-dibusb-common +dvb-usb-dibusb-mb +dvb-usb-dibusb-mc +dvb-usb-dibusb-mc-common +dvb-usb-digitv +dvb-usb-dtt200u +dvb-usb-dtv5100 +dvb-usb-dvbsky +dvb-usb-dw2102 +dvb-usb-ec168 +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-lmedm04 +dvb-usb-m920x +dvb-usb-mxl111sf +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-pctv452e +dvb-usb-rtl28xxu +dvb-usb-technisat-usb2 +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +dvb_dummy_fe +dvb_usb_v2 +dw-axi-dmac-platform +dw-edma +dw-edma-pcie +dw-hdmi +dw-hdmi-ahb-audio +dw-hdmi-cec +dw-hdmi-gp-audio +dw-hdmi-i2s-audio +dw-i3c-master +dw-mipi-dsi +dw-xdata-pcie +dw9714 +dw9768 +dw9807-vcm +dw_dmac +dw_dmac_core +dw_dmac_pci +dw_drm_dsi +dw_mmc +dw_mmc-bluefield +dw_mmc-exynos +dw_mmc-hi3798cv200 +dw_mmc-k3 +dw_mmc-pci +dw_mmc-pltfm +dw_mmc-rockchip +dw_wdt +dwc-xlgmac +dwc2_pci +dwc3 +dwc3-am62 +dwc3-haps +dwc3-imx8mp +dwc3-keystone +dwc3-meson-g12a +dwc3-of-simple +dwc3-pci +dwc3-qcom +dwc3-xilinx +dwmac-altr-socfpga +dwmac-dwc-qos-eth +dwmac-generic +dwmac-imx +dwmac-intel-plat +dwmac-ipq806x +dwmac-loongson +dwmac-mediatek +dwmac-meson +dwmac-meson8b +dwmac-qcom-ethqos +dwmac-rk +dwmac-sun8i +dwmac-visconti +dyna_pci10xx +dynapro +e100 +e1000 +e1000e +e3x0-button +e4000 +earth-pt1 +earth-pt3 +ebt_802_3 +ebt_among +ebt_arp +ebt_arpreply +ebt_dnat +ebt_ip +ebt_ip6 +ebt_limit +ebt_log +ebt_mark +ebt_mark_m +ebt_nflog +ebt_pkttype +ebt_redirect +ebt_snat +ebt_stp +ebt_vlan +ebtable_broute +ebtable_filter +ebtable_nat +ebtables +ec100 +ec_sys +ecc +ecc-mtk +ecdh_generic +ecdsa_generic +echainiv +echo +ecrdsa_generic +edt-ft5x06 +ee1004 +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efa +efct +efi-pstore +efi_test +efibc +efs +egalax_ts +egalax_ts_serial +ehci-brcm +ehci-fsl +ehci-platform +ehset +einj +ektf2127 +elan_i2c +elants_i2c +elo +em28xx +em28xx-alsa +em28xx-dvb +em28xx-rc +em28xx-v4l +em_canid +em_cmp +em_ipset +em_ipt +em_meta +em_nbyte +em_text +em_u32 +emac_rockchip +emc1403 +emc2103 +emc6w201 +emi26 +emi62 +empeg +ems_pci +ems_usb +emu10k1-gp +emxx_udc +ena +enc28j60 +enclosure +encx24j600 +encx24j600-regmap +ene_ir +eni +enic +envelope-detector +epat +epia +epic100 +eql +erofs +error +esas2r +esd_usb2 +esp4 +esp4_offload +esp6 +esp6_offload +esp_scsi +essiv +et1011c +et131x +et8ek8 +etas_es58x +ethoc +etnaviv +evbug +exc3000 +exfat +extcon-adc-jack +extcon-fsa9480 +extcon-gpio +extcon-max14577 +extcon-max3355 +extcon-max77693 +extcon-max77843 +extcon-max8997 +extcon-palmas +extcon-ptn5150 +extcon-qcom-spmi-misc +extcon-rt8973a +extcon-sm5502 +extcon-usb-gpio +extcon-usbc-cros-ec +extcon-usbc-tusb320 +ezusb +f2fs +f71805f +f71882fg +f75375s +f81232 +f81534 +f81601 +failover +fakelb +fan53555 +fan53880 +farsync +fastrpc +faulty +fb_agm1264k-fl +fb_bd663474 +fb_ddc +fb_hx8340bn +fb_hx8347d +fb_hx8353d +fb_hx8357d +fb_ili9163 +fb_ili9320 +fb_ili9325 +fb_ili9340 +fb_ili9341 +fb_ili9481 +fb_ili9486 +fb_pcd8544 +fb_ra8875 +fb_s6d02a1 +fb_s6d1121 +fb_seps525 +fb_sh1106 +fb_ssd1289 +fb_ssd1305 +fb_ssd1306 +fb_ssd1325 +fb_ssd1331 +fb_ssd1351 +fb_st7735r +fb_st7789v +fb_sys_fops +fb_tinylcd +fb_tls8204 +fb_uc1611 +fb_uc1701 +fb_upd161704 +fbtft +fc0011 +fc0012 +fc0013 +fc2580 +fcoe +fcrypt +fdomain +fdomain_pci +fdp +fdp_i2c +fealnx +ff-memless +ffa-module +fieldbus_dev +fintek-cir +firedtv +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +firewire-serial +fit2 +fit3 +fixed +fjes +fl512 +flexcan +fm10k +fm801-gp +fm_drv +forcedeth +fore_200e +fotg210-hcd +fotg210-udc +fou +fou6 +fpga-bridge +fpga-mgr +fpga-region +freevxfs +friq +frpw +fsa4480 +fscache +fsi-core +fsi-master-aspeed +fsi-master-gpio +fsi-master-hub +fsi-occ +fsi-sbefifo +fsi-scom +fsia6b +fsl-dpaa2-eth +fsl-dpaa2-ptp +fsl-dpaa2-switch +fsl-edma +fsl-edma-common +fsl-enetc +fsl-enetc-ierb +fsl-enetc-mdio +fsl-enetc-ptp +fsl-enetc-vf +fsl-ldb +fsl-mc-dpio +fsl-mph-dr-of +fsl-qdma +fsl_dpa +fsl_ifc_nand +fsl_imx8_ddr_perf +fsl_linflexuart +fsl_lpuart +fsl_pq_mdio +fsl_ucc_hdlc +fsp-3y +ftdi-elan +ftdi_sio +ftl +ftm-quaddec +ftsteutates +fujitsu_ts +funcore +funeth +fusb302 +fxas21002c_core +fxas21002c_i2c +fxas21002c_spi +fxls8962af-core +fxls8962af-i2c +fxls8962af-spi +fxos8700_core +fxos8700_i2c +fxos8700_spi +g450_pll +g760a +g762 +g_acm_ms +g_audio +g_cdc +g_dbgp +g_ether +g_ffs +g_hid +g_mass_storage +g_midi +g_ncm +g_nokia +g_printer +g_serial +g_webcam +g_zero +gadgetfs +gamecon +gameport +garmin_gps +garp +gateworks-gsc +gb-audio-apbridgea +gb-audio-codec +gb-audio-gb +gb-audio-manager +gb-audio-module +gb-bootrom +gb-es2 +gb-firmware +gb-gbphy +gb-gpio +gb-hid +gb-i2c +gb-light +gb-log +gb-loopback +gb-power-supply +gb-pwm +gb-raw +gb-sdio +gb-spi +gb-spilib +gb-uart +gb-usb +gb-vibrator +gcc-apq8084 +gcc-ipq4019 +gcc-ipq6018 +gcc-ipq806x +gcc-ipq8074 +gcc-mdm9607 +gcc-mdm9615 +gcc-msm8660 +gcc-msm8916 +gcc-msm8939 +gcc-msm8953 +gcc-msm8960 +gcc-msm8974 +gcc-msm8976 +gcc-msm8994 +gcc-msm8996 +gcc-msm8998 +gcc-qcm2290 +gcc-qcs404 +gcc-sc7180 +gcc-sc7280 +gcc-sc8180x +gcc-sc8280xp +gcc-sdm660 +gcc-sdm845 +gcc-sdx55 +gcc-sdx65 +gcc-sm6115 +gcc-sm6125 +gcc-sm6350 +gcc-sm8150 +gcc-sm8250 +gcc-sm8350 +gcc-sm8450 +gdmtty +gdmulte +ge2d +gemini +gen_probe +generic +generic-adc-battery +genet +geneve +genwqe_card +gf2k +gfs2 +ghash-ce +gianfar_driver +gl518sm +gl520sm +gl620a +gluebi +gm12u320 +gnss +gnss-mtk +gnss-serial +gnss-sirf +gnss-ubx +gnss-usb +go7007 +go7007-loader +go7007-usb +goku_udc +goldfish_battery +goodix_ts +gp2ap002 +gp2ap020a00f +gp8psk-fe +gpi +gpio +gpio-74x164 +gpio-74xx-mmio +gpio-adnp +gpio-adp5520 +gpio-adp5588 +gpio-aggregator +gpio-altera +gpio-altera-a10sr +gpio-amd-fch +gpio-amdpt +gpio-arizona +gpio-bd71815 +gpio-bd71828 +gpio-bd9571mwv +gpio-beeper +gpio-brcmstb +gpio-cadence +gpio-charger +gpio-da9052 +gpio-da9055 +gpio-dln2 +gpio-dwapb +gpio-eic-sprd +gpio-exar +gpio-fan +gpio-grgpio +gpio-gw-pld +gpio-hisi +gpio-hlwd +gpio-ir-recv +gpio-ir-tx +gpio-janz-ttl +gpio-kempld +gpio-logicvc +gpio-lp3943 +gpio-lp873x +gpio-lp87565 +gpio-madera +gpio-max3191x +gpio-max7300 +gpio-max7301 +gpio-max730x +gpio-max732x +gpio-max77620 +gpio-max77650 +gpio-mb86s7x +gpio-mc33880 +gpio-menz127 +gpio-mlxbf +gpio-mlxbf2 +gpio-moxtet +gpio-pca953x +gpio-pca9570 +gpio-pcf857x +gpio-pci-idio-16 +gpio-pcie-idio-24 +gpio-pisosr +gpio-pmic-eic-sprd +gpio-raspberrypi-exp +gpio-rcar +gpio-rdc321x +gpio-regmap +gpio-regulator +gpio-rockchip +gpio-sama5d2-piobu +gpio-sim +gpio-siox +gpio-sl28cpld +gpio-sprd +gpio-syscon +gpio-thunderx +gpio-tpic2810 +gpio-tps65086 +gpio-tps65218 +gpio-tps65912 +gpio-tqmx86 +gpio-twl4030 +gpio-twl6040 +gpio-ucb1400 +gpio-vibra +gpio-viperboard +gpio-virtio +gpio-visconti +gpio-wcd934x +gpio-wm831x +gpio-wm8350 +gpio-wm8994 +gpio-xgene-sb +gpio-xgs-iproc +gpio-xlp +gpio-xra1403 +gpio-zynq +gpio-zynqmp-modepin +gpio_backlight +gpio_decoder +gpio_keys +gpio_keys_polled +gpio_mouse +gpio_wdt +gpmi-nand +gpu-sched +gpucc-msm8998 +gpucc-sc7180 +gpucc-sc7280 +gpucc-sdm660 +gpucc-sdm845 +gpucc-sm6350 +gpucc-sm8150 +gpucc-sm8250 +gr_udc +grace +grcan +gre +greybus +grip +grip_mp +gs1662 +gs_usb +gsc-hwmon +gsc_hpdi +gspca_benq +gspca_conex +gspca_cpia1 +gspca_dtcs033 +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_jl2005bcd +gspca_kinect +gspca_konica +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_nw80x +gspca_ov519 +gspca_ov534 +gspca_ov534_9 +gspca_pac207 +gspca_pac7302 +gspca_pac7311 +gspca_se401 +gspca_sn9c2028 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca1528 +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_sq930x +gspca_stk014 +gspca_stk1135 +gspca_stv0680 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_topro +gspca_touptek +gspca_tv8532 +gspca_vc032x +gspca_vicam +gspca_xirlink_cit +gspca_zc3xx +gtp +gud +guillemot +gunze +gve +habanalabs +hackrf +hamachi +hampshire +hantro-vpu +hanwang +hbmc-am654 +hci +hci_nokia +hci_uart +hci_vhci +hclge +hclgevf +hd3ss3220 +hd44780 +hd44780_common +hdc100x +hdc2010 +hdlc +hdlc_cisco +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdlcd +hdlcdrv +hdma +hdma_mgmt +hdpvr +he +helene +hellcreek_sw +hexium_gemini +hexium_orion +hfcmulti +hfcpci +hfcsusb +hfpll +hfs +hfsplus +hi311x +hi3660-mailbox +hi556 +hi6210-i2s +hi6220-mailbox +hi6220_reset +hi6421-pmic-core +hi6421-regulator +hi6421-spmi-pmic +hi6421v530-regulator +hi6421v600-irq +hi6421v600-regulator +hi655x-pmic +hi655x-regulator +hi8435 +hi846 +hi847 +hibmc-drm +hid +hid-a4tech +hid-accutouch +hid-alps +hid-apple +hid-appleir +hid-asus +hid-aureal +hid-axff +hid-belkin +hid-betopff +hid-bigbenff +hid-cherry +hid-chicony +hid-cmedia +hid-corsair +hid-cougar +hid-cp2112 +hid-creative-sb0540 +hid-cypress +hid-dr +hid-elan +hid-elecom +hid-elo +hid-emsff +hid-ezkey +hid-ft260 +hid-gaff +hid-gembird +hid-generic +hid-gfrm +hid-glorious +hid-google-hammer +hid-gt683r +hid-gyration +hid-holtek-kbd +hid-holtek-mouse +hid-holtekff +hid-hyperv +hid-icade +hid-ite +hid-jabra +hid-kensington +hid-keytouch +hid-kye +hid-lcpower +hid-led +hid-lenovo +hid-letsketch +hid-lg-g15 +hid-logitech +hid-logitech-dj +hid-logitech-hidpp +hid-macally +hid-magicmouse +hid-maltron +hid-mcp2221 +hid-megaworld +hid-mf +hid-microsoft +hid-monterey +hid-multitouch +hid-nti +hid-ntrig +hid-ortek +hid-penmount +hid-petalynx +hid-picolcd +hid-pl +hid-plantronics +hid-playstation +hid-primax +hid-prodikeys +hid-razer +hid-redragon +hid-retrode +hid-rmi +hid-roccat +hid-roccat-arvo +hid-roccat-common +hid-roccat-isku +hid-roccat-kone +hid-roccat-koneplus +hid-roccat-konepure +hid-roccat-kovaplus +hid-roccat-lua +hid-roccat-pyra +hid-roccat-ryos +hid-roccat-savu +hid-saitek +hid-samsung +hid-semitek +hid-sensor-accel-3d +hid-sensor-als +hid-sensor-custom +hid-sensor-custom-intel-hinge +hid-sensor-gyro-3d +hid-sensor-hub +hid-sensor-humidity +hid-sensor-iio-common +hid-sensor-incl-3d +hid-sensor-magn-3d +hid-sensor-press +hid-sensor-prox +hid-sensor-rotation +hid-sensor-temperature +hid-sensor-trigger +hid-sigmamicro +hid-sjoy +hid-sony +hid-speedlink +hid-steam +hid-steelseries +hid-sunplus +hid-thrustmaster +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-u2fzero +hid-uclogic +hid-udraw-ps3 +hid-viewsonic +hid-vivaldi +hid-vivaldi-common +hid-waltop +hid-wiimote +hid-xiaomi +hid-xinmo +hid-zpff +hid-zydacron +hideep +hidp +hih6130 +hinic +hip04_eth +hisi-acc-vfio-pci +hisi-rng +hisi-sfc +hisi-spmi-controller +hisi-trng-v2 +hisi504_nand +hisi_femac +hisi_hikey_usb +hisi_hpre +hisi_pcie_pmu +hisi_powerkey +hisi_qm +hisi_sas_main +hisi_sas_v1_hw +hisi_sas_v2_hw +hisi_sas_v3_hw +hisi_sec +hisi_sec2 +hisi_thermal +hisi_uncore_cpa_pmu +hisi_uncore_ddrc_pmu +hisi_uncore_hha_pmu +hisi_uncore_l3c_pmu +hisi_uncore_pa_pmu +hisi_uncore_pmu +hisi_uncore_sllc_pmu +hisi_zip +hix5hd2_gmac +hmc425a +hmc5843_core +hmc5843_i2c +hmc5843_spi +hmc6352 +hms-profinet +hnae +hnae3 +hns-roce-hw-v2 +hns3 +hns_dsaf +hns_enet_drv +hns_mdio +hopper +horus3a +host1x +hostap +hostap_pci +hostap_plx +hp03 +hp206c +hpfs +hpilo +hpsa +hptiop +hpwdt +hsi +hsi_char +hso +hsr +ht16k33 +htc-pasic3 +hte-tegra194 +hte-tegra194-test +hts221 +hts221_i2c +hts221_spi +htu21 +huawei_cdc_ncm +hv_balloon +hv_netvsc +hv_sock +hv_storvsc +hv_utils +hv_vmbus +hwmon-vid +hwpoison-inject +hx711 +hx8357 +hx8357d +hycon-hy46xx +hyperbus-core +hyperv-keyboard +hyperv_drm +hyperv_fb +i2c-algo-bit +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-altera +i2c-amd756 +i2c-amd8111 +i2c-apple +i2c-arb-gpio-challenge +i2c-bcm-iproc +i2c-bcm2835 +i2c-brcmstb +i2c-cbus-gpio +i2c-ccgx-ucsi +i2c-cp2615 +i2c-cros-ec-tunnel +i2c-demux-pinctrl +i2c-designware-pci +i2c-diolan-u2c +i2c-dln2 +i2c-fsi +i2c-gpio +i2c-hid +i2c-hid-acpi +i2c-hid-of +i2c-hid-of-goodix +i2c-hisi +i2c-hix5hd2 +i2c-i801 +i2c-imx +i2c-imx-lpi2c +i2c-isch +i2c-kempld +i2c-matroxfb +i2c-meson +i2c-mlxbf +i2c-mt65xx +i2c-mux +i2c-mux-gpio +i2c-mux-gpmux +i2c-mux-ltc4306 +i2c-mux-mlxcpld +i2c-mux-pca9541 +i2c-mux-pca954x +i2c-mux-pinctrl +i2c-mux-reg +i2c-mv64xxx +i2c-nforce2 +i2c-nomadik +i2c-nvidia-gpu +i2c-ocores +i2c-owl +i2c-parport +i2c-pca-platform +i2c-piix4 +i2c-pxa +i2c-qcom-cci +i2c-qcom-geni +i2c-qup +i2c-rcar +i2c-riic +i2c-rk3x +i2c-robotfuzz-osif +i2c-scmi +i2c-sh_mobile +i2c-simtec +i2c-sis5595 +i2c-sis630 +i2c-sis96x +i2c-slave-eeprom +i2c-smbus +i2c-stub +i2c-synquacer +i2c-taos-evm +i2c-tegra +i2c-tegra-bpmp +i2c-thunderx +i2c-tiny-usb +i2c-versatile +i2c-via +i2c-viapro +i2c-viperboard +i2c-virtio +i2c-xgene-slimpro +i2c-xiic +i2c-xlp9xx +i3c +i3c-master-cdns +i40e +i5k_amb +i6300esb +i740fb +iavf +ib_cm +ib_core +ib_ipoib +ib_iser +ib_isert +ib_mthca +ib_srp +ib_srpt +ib_umad +ib_uverbs +ibm-cffps +ibmaem +ibmpex +icc-bcm-voter +icc-osm-l3 +icc-rpmh +icc-smd-rpm +ice +ice40-spi +icp +icp10100 +icp_multi +icplus +ics932s401 +idma64 +idmouse +idt77252 +idt_89hpesx +idt_gen2 +idt_gen3 +idtcps +ieee802154 +ieee802154_6lowpan +ieee802154_socket +ifb +ifcvf +ife +ifi_canfd +iforce +iforce-serio +iforce-usb +igb +igbvf +igc +igorplugusb +iguanair +ii_pci20kc +iio-mux +iio-rescale +iio-trig-hrtimer +iio-trig-interrupt +iio-trig-loop +iio-trig-sysfs +iio_dummy +iio_hwmon +ila +ili210x +ili9163 +ili9225 +ili922x +ili9320 +ili9341 +ili9486 +ilitek_ts_i2c +imagis +img-ascii-lcd +img-i2s-in +img-i2s-out +img-parallel-out +img-spdif-in +img-spdif-out +imm +imon +imon_raw +ims-pcu +imx-audio-rpmsg +imx-bus +imx-common +imx-cpufreq-dt +imx-dcss +imx-dma +imx-dsp +imx-interconnect +imx-mailbox +imx-media-common +imx-mipi-csis +imx-pcm-dma +imx-pcm-rpmsg +imx-pxp +imx-sdma +imx208 +imx214 +imx219 +imx258 +imx274 +imx290 +imx2_wdt +imx319 +imx334 +imx335 +imx355 +imx412 +imx6q-cpufreq +imx6ul_tsc +imx7-media-csi +imx7d_adc +imx7ulp_wdt +imx8m-ddrc +imx8mm-interconnect +imx8mm_thermal +imx8mn-interconnect +imx8mq-interconnect +imx8mq-mipi-csi2 +imx8qxp-adc +imx_dsp_rproc +imx_keypad +imx_rproc +imx_sc_key +imx_sc_thermal +imx_sc_wdt +imx_thermal +imxfb +ina209 +ina238 +ina2xx +ina2xx-adc +ina3221 +industrialio +industrialio-buffer-cb +industrialio-buffer-dma +industrialio-buffer-dmaengine +industrialio-configfs +industrialio-hw-consumer +industrialio-sw-device +industrialio-sw-trigger +industrialio-triggered-buffer +industrialio-triggered-event +inet_diag +inexio +inftl +initio +input-leds +inspur-ipsps +int51x1 +intel-m10-bmc +intel-m10-bmc-hwmon +intel-nand-controller +intel-qep +intel-xway +intel_th +intel_th_acpi +intel_th_gth +intel_th_msu +intel_th_msu_sink +intel_th_pci +intel_th_pti +intel_th_sth +intel_vr_nor +interact +interrupt-cnt +inv-icm42600 +inv-icm42600-i2c +inv-icm42600-spi +inv-mpu6050 +inv-mpu6050-i2c +inv-mpu6050-spi +io-domain +io_edgeport +io_ti +ionic +iosm +iowarrior +ip5xxx_power +ip6_gre +ip6_tables +ip6_tunnel +ip6_udp_tunnel +ip6_vti +ip6t_NPT +ip6t_REJECT +ip6t_SYNPROXY +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_mh +ip6t_rpfilter +ip6t_rt +ip6t_srh +ip6table_filter +ip6table_mangle +ip6table_nat +ip6table_raw +ip6table_security +ip_gre +ip_set +ip_set_bitmap_ip +ip_set_bitmap_ipmac +ip_set_bitmap_port +ip_set_hash_ip +ip_set_hash_ipmac +ip_set_hash_ipmark +ip_set_hash_ipport +ip_set_hash_ipportip +ip_set_hash_ipportnet +ip_set_hash_mac +ip_set_hash_net +ip_set_hash_netiface +ip_set_hash_netnet +ip_set_hash_netport +ip_set_hash_netportnet +ip_set_list_set +ip_tables +ip_tunnel +ip_vs +ip_vs_dh +ip_vs_fo +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_mh +ip_vs_nq +ip_vs_ovf +ip_vs_pe_sip +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_twos +ip_vs_wlc +ip_vs_wrr +ip_vti +ipa +ipack +ipaq +ipcomp +ipcomp6 +iphase +ipheth +ipip +ipmb_dev_int +ipmi_devintf +ipmi_ipmb +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_ssif +ipmi_watchdog +ipoctal +ipr +iproc-rng200 +iproc_nand +ips +ipt_CLUSTERIP +ipt_ECN +ipt_REJECT +ipt_SYNPROXY +ipt_ah +ipt_rpfilter +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +iptable_security +ipvlan +ipvtap +ipw +ipw2100 +ipw2200 +iqs269a +iqs5xx +iqs620at-temp +iqs621-als +iqs624-pos +iqs626a +iqs62x +iqs62x-keys +iqs7222 +ir-hix5hd2 +ir-imon-decoder +ir-jvc-decoder +ir-kbd-i2c +ir-mce_kbd-decoder +ir-nec-decoder +ir-rc5-decoder +ir-rc6-decoder +ir-rcmm-decoder +ir-sanyo-decoder +ir-sharp-decoder +ir-sony-decoder +ir-spi +ir-usb +ir-xmp-decoder +ir35221 +ir36021 +ir38064 +ir_toy +irdma +irps5401 +irq-bcm7120-l2 +irq-madera +irq-pruss-intc +irq-qcom-mpm +iscsi_boot_sysfs +iscsi_ibft +iscsi_target_mod +iscsi_tcp +isdnhdlc +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl29125 +isl29501 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isl68137 +isl7998x +isl9305 +isofs +isp116x-hcd +isp1704_charger +isp1760 +it87 +it913x +itd1000 +ite-cir +ite-it6505 +ite-it66121 +itg3200 +iuu_phoenix +ivtv +ivtv-alsa +ivtvfb +iw_cm +iw_cxgb4 +iwl3945 +iwl4965 +iwldvm +iwlegacy +iwlmvm +iwlwifi +ix2505v +ixgb +ixgbe +ixgbevf +janz-cmodio +janz-ican3 +jc42 +jedec_probe +jffs2 +jfs +jmb38x_ms +jme +joydev +joydump +jr3_pci +jsa1212 +jsm +k3_bandgap +k3_j72xx_bandgap +k3dma +kafs +kalmia +kaweth +kbic +kbtab +kcm +kcomedilib +ke_counter +keembay-ocs-aes +keembay-ocs-ecc +keembay-ocs-hcu +keembay_wdt +kempld-core +kempld_wdt +kernelcapi +keyspan +keyspan_pda +keyspan_remote +keywrap +kfifo_buf +khadas-mcu +khadas_mcu_fan +kheaders +kirin-drm +kl5kusb105 +kmb-drm +kmem +kmx61 +kobil_sct +komeda +kpss-xcc +ks0108 +ks0127 +ks7010 +ks8842 +ks8851_common +ks8851_par +ks8851_spi +ksmbd +ksz8795 +ksz8795_spi +ksz884x +ksz8863_smi +ksz9477 +ksz9477_i2c +ksz9477_spi +ksz_common +ktd253-backlight +ktti +kvaser_pci +kvaser_pciefd +kvaser_usb +kxcjk-1013 +kxsd9 +kxsd9-i2c +kxsd9-spi +kxtj9 +kyber-iosched +kyrofb +l1oip +l2tp_core +l2tp_debugfs +l2tp_eth +l2tp_ip +l2tp_ip6 +l2tp_netlink +l2tp_ppp +l4f00242t03 +l64781 +lan743x +lan78xx +lan9303-core +lan9303_i2c +lan9303_mdio +lan966x-switch +lan966x_serdes +lanai +lantiq_gswip +lapb +lapbether +lattice-ecp3-config +layerscape_edac_mod +lcc-ipq806x +lcc-mdm9615 +lcc-msm8960 +lcd +lcd2s +ldusb +lec +led-class-flash +led-class-multicolor +led_bl +leds-88pm860x +leds-aat1290 +leds-adp5520 +leds-an30259a +leds-as3645a +leds-aw2013 +leds-bcm6328 +leds-bcm6358 +leds-bd2802 +leds-blinkm +leds-cpcap +leds-cr0014114 +leds-da903x +leds-da9052 +leds-dac124s085 +leds-el15203000 +leds-gpio +leds-is31fl319x +leds-is31fl32xx +leds-ktd2692 +leds-lm3530 +leds-lm3532 +leds-lm3533 +leds-lm355x +leds-lm3601x +leds-lm36274 +leds-lm3642 +leds-lm3692x +leds-lm3697 +leds-lp3944 +leds-lp3952 +leds-lp50xx +leds-lp5521 +leds-lp5523 +leds-lp5562 +leds-lp55xx-common +leds-lp8501 +leds-lp8788 +leds-lp8860 +leds-lt3593 +leds-max77650 +leds-max77693 +leds-max8997 +leds-mc13783 +leds-menf21bmc +leds-mlxreg +leds-mt6323 +leds-mt6360 +leds-pca9532 +leds-pca955x +leds-pca963x +leds-pwm +leds-pwm-multicolor +leds-qcom-lpg +leds-regulator +leds-rt4505 +leds-rt8515 +leds-sc27xx-bltc +leds-sgm3140 +leds-spi-byte +leds-tca6507 +leds-ti-lmu-common +leds-tlc591xx +leds-tps6105x +leds-wm831x-status +leds-wm8350 +ledtrig-activity +ledtrig-audio +ledtrig-backlight +ledtrig-camera +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-netdev +ledtrig-oneshot +ledtrig-pattern +ledtrig-timer +ledtrig-transient +ledtrig-tty +ledtrig-usbport +legousbtower +lg-vl600 +lg2160 +lgdt3305 +lgdt3306a +lgdt330x +lgs8gl5 +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libarc4 +libceph +libchacha +libchacha20poly1305 +libcomposite +libcurve25519 +libcurve25519-generic +libcxgb +libcxgbi +libdes +libertas +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libpoly1305 +libsas +lightning +lima +line-display +lineage-pem +linear +linkstation-poweroff +liquidio +liquidio_vf +lis3lv02d +lis3lv02d_i2c +liteuart +litex_liteeth +litex_mmc +litex_soc_ctrl +lkkbd +ll_temac +llc +llc2 +llcc-qcom +lm25066 +lm3533-als +lm3533-core +lm3533-ctrlbank +lm3533_bl +lm3560 +lm3630a_bl +lm3639_bl +lm363x-regulator +lm3646 +lm63 +lm70 +lm73 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm8333 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95234 +lm95241 +lm95245 +lmh +lmp91000 +lms283gf05 +lms501kf03 +lnbh25 +lnbh29 +lnbp21 +lnbp22 +lochnagar-hwmon +lochnagar-regulator +lockd +lontium-lt8912b +lontium-lt9211 +lontium-lt9611 +lontium-lt9611uxc +lp +lp3943 +lp3971 +lp3972 +lp855x_bl +lp8727_charger +lp872x +lp873x +lp873x-regulator +lp8755 +lp87565 +lp87565-regulator +lp8788-buck +lp8788-charger +lp8788-ldo +lp8788_adc +lp8788_bl +lpass-gfm-sm8250 +lpassaudiocc-sc7280 +lpasscc-sc7280 +lpasscc-sdm845 +lpasscorecc-sc7180 +lpasscorecc-sc7280 +lpc_ich +lpc_sch +lpddr_cmds +lpfc +lru_cache +lrw +lt3651-charger +ltc1660 +ltc2471 +ltc2485 +ltc2496 +ltc2497 +ltc2497-core +ltc2632 +ltc2688 +ltc2941-battery-gauge +ltc2945 +ltc2947-core +ltc2947-i2c +ltc2947-spi +ltc2978 +ltc2983 +ltc2990 +ltc2992 +ltc3589 +ltc3676 +ltc3815 +ltc4151 +ltc4162-l-charger +ltc4215 +ltc4222 +ltc4245 +ltc4260 +ltc4261 +ltr501 +ltv350qv +lv0104cs +lv5207lp +lvds-codec +lvstest +lxt +lz4 +lz4_compress +lz4hc +lz4hc_compress +m2m-deinterlace +m52790 +m5mols +m62332 +m88ds3103 +m88rs2000 +m88rs6000t +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +m_can +m_can_pci +m_can_platform +mac-celtic +mac-centeuro +mac-croatian +mac-cyrillic +mac-gaelic +mac-greek +mac-iceland +mac-inuit +mac-roman +mac-romanian +mac-turkish +mac80211 +mac80211_hwsim +mac802154 +mac802154_hwsim +macb +macb_pci +machxo2-spi +macmodes +macsec +macvlan +macvtap +madera +madera-i2c +madera-spi +mag3110 +magellan +mailbox-altera +mailbox-test +mailbox-xgene-slimpro +mali-dp +mantis +mantis_core +map_absent +map_funcs +map_ram +map_rom +marvell +marvell-88x2222 +marvell-cesa +marvell10g +marvell_cn10k_ddr_pmu +marvell_cn10k_tad_pmu +marvell_nand +matrix-keymap +matrix_keypad +matrox_w1 +matroxfb_DAC1064 +matroxfb_Ti3026 +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +max1027 +max11100 +max1111 +max1118 +max11801_ts +max1241 +max127 +max1363 +max14577-regulator +max14577_charger +max14656_charger_detector +max15301 +max1586 +max16064 +max16065 +max1619 +max16601 +max1668 +max17040_battery +max17042_battery +max1721x_battery +max197 +max20086-regulator +max20730 +max20751 +max2165 +max2175 +max30100 +max30102 +max3100 +max31722 +max31730 +max31785 +max31790 +max31856 +max31865 +max3420_udc +max3421-hcd +max34440 +max44000 +max44009 +max517 +max5432 +max5481 +max5487 +max5821 +max63xx_wdt +max6620 +max6621 +max6639 +max6642 +max6650 +max6697 +max6875 +max7359_keypad +max77620-regulator +max77620_thermal +max77620_wdt +max77650 +max77650-charger +max77650-onkey +max77650-regulator +max77686-regulator +max77693-haptic +max77693-regulator +max77693_charger +max77714 +max77802-regulator +max77826-regulator +max77976_charger +max8649 +max8660 +max8688 +max8893 +max8903_charger +max8907 +max8907-regulator +max8925-regulator +max8925_bl +max8925_onkey +max8925_power +max8952 +max8973-regulator +max8997-regulator +max8997_charger +max8997_haptic +max8998 +max8998_charger +max9271 +max9286 +max9611 +max96712 +maxim_thermocouple +mb1232 +mb862xxfb +mb86a16 +mb86a20s +mc +mc13783-adc +mc13783-pwrbutton +mc13783-regulator +mc13783_ts +mc13892-regulator +mc13xxx-core +mc13xxx-i2c +mc13xxx-regulator-core +mc13xxx-spi +mc3230 +mc44s803 +mcam-core +mcb +mcb-lpc +mcb-pci +mcba_usb +mceusb +mchp23k256 +mchp48l640 +mcp16502 +mcp251x +mcp251xfd +mcp3021 +mcp320x +mcp3422 +mcp3911 +mcp4018 +mcp41010 +mcp4131 +mcp4531 +mcp4725 +mcp4922 +mcr20a +mcs5000_ts +mcs7830 +mcs_touchkey +mct_u232 +mctp-i2c +mctp-serial +md-cluster +md4 +mdc800 +mdev +mdio +mdio-bcm-unimac +mdio-cavium +mdio-gpio +mdio-hisi-femac +mdio-i2c +mdio-ipq4019 +mdio-ipq8064 +mdio-mscc-miim +mdio-mux-gpio +mdio-mux-meson-g12a +mdio-mux-mmioreg +mdio-mux-multiplexer +mdio-mvusb +mdio-octeon +mdio-thunder +mdio-xgene +mdt_loader +me4000 +me_daq +mediatek +mediatek-cpufreq +mediatek-cpufreq-hw +mediatek-drm +mediatek-drm-hdmi +mediatek-ge +megachips-stdpxxxx-ge-b850v3-fw +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +melfas_mip4 +memory-notifier-error-inject +memstick +men_z135_uart +men_z188_adc +mena21_wdt +menf21bmc +menf21bmc_hwmon +menf21bmc_wdt +menz69_wdt +meson-canvas +meson-drm +meson-gx-mmc +meson-gxl +meson-ir +meson-ir-tx +meson-mx-sdio +meson-rng +meson-vdec +meson_dw_hdmi +meson_gxbb_wdt +meson_nand +meson_saradc +meson_wdt +metro-usb +metronomefb +mf6x4 +mgag200 +mhi +mhi_ep +mhi_net +mhi_pci_generic +mhi_wwan_ctrl +mhi_wwan_mbim +mi0283qt +michael_mic +micrel +microchip +microchip-tcb-capture +microchip_t1 +microread +microread_i2c +microtek +minix +mip6 +mipi-i3c-hci +mite +mk712 +mkiss +ml86v7667 +mlx4_core +mlx4_en +mlx4_ib +mlx5-vfio-pci +mlx5_core +mlx5_ib +mlx5_vdpa +mlx90614 +mlx90632 +mlx_wdt +mlxbf-bootctl +mlxbf-pmc +mlxbf-tmfifo +mlxbf_gige +mlxfw +mlxreg-fan +mlxreg-hotplug +mlxreg-io +mlxreg-lc +mlxsw_core +mlxsw_i2c +mlxsw_minimal +mlxsw_pci +mlxsw_spectrum +mma7455_core +mma7455_i2c +mma7455_spi +mma7660 +mma8450 +mma8452 +mma9551 +mma9551_core +mma9553 +mmc35240 +mmc_hsq +mmc_spi +mmcc-apq8084 +mmcc-msm8960 +mmcc-msm8974 +mmcc-msm8994 +mmcc-msm8996 +mmcc-msm8998 +mmcc-sdm660 +mms114 +mn88443x +mn88472 +mn88473 +mos7720 +mos7840 +most_cdev +most_core +most_dim2 +most_i2c +most_net +most_snd +most_usb +most_video +motorcomm +motorola-cpcap +moxa +moxtet +mp2629 +mp2629_adc +mp2629_charger +mp2888 +mp2975 +mp5023 +mp5416 +mp8859 +mp886x +mpc624 +mpi3mr +mpl115 +mpl115_i2c +mpl115_spi +mpl3115 +mpls_gso +mpls_iptunnel +mpls_router +mpoa +mpq7920 +mpr121_touchkey +mpt3sas +mptbase +mptcp_diag +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mr75203 +mrf24j40 +mrp +ms5611_core +ms5611_i2c +ms5611_spi +ms5637 +ms_block +ms_sensors_i2c +mscc +mscc_felix +mscc_ocelot +mscc_ocelot_switch_lib +mscc_seville +msdos +mse102x +msg2638 +msi001 +msi2500 +msm +msp3400 +mspro_block +mss-sc7180 +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt6311-regulator +mt6315-regulator +mt6323-regulator +mt6358-regulator +mt6359-accdet +mt6359-regulator +mt6360-adc +mt6360-core +mt6360-regulator +mt6360_charger +mt6380-regulator +mt6397 +mt6397-regulator +mt6577_auxadc +mt6779-keypad +mt6797-mt6351 +mt7530 +mt76 +mt76-connac-lib +mt76-sdio +mt76-usb +mt7601u +mt7603e +mt7615-common +mt7615e +mt7663-usb-sdio-common +mt7663s +mt7663u +mt76x0-common +mt76x02-lib +mt76x02-usb +mt76x0e +mt76x0u +mt76x2-common +mt76x2e +mt76x2u +mt7915e +mt7921-common +mt7921e +mt7921s +mt7921u +mt8183-da7219-max98357 +mt8183-mt6358-ts3a227-max98357 +mt8192-mt6359-rt1015-rt5682 +mt8195-mt6359 +mt9m001 +mt9m032 +mt9m111 +mt9p031 +mt9t001 +mt9t112 +mt9v011 +mt9v032 +mt9v111 +mtd +mtd_blkdevs +mtd_dataflash +mtdblock +mtdblock_ro +mtdoops +mtdpstore +mtdram +mtdswap +mtip32xx +mtk-adsp-common +mtk-adsp-ipc +mtk-adsp-mailbox +mtk-btcvsd +mtk-cir +mtk-cmdq-helper +mtk-cmdq-mailbox +mtk-cqdma +mtk-devapc +mtk-hsdma +mtk-pmic-keys +mtk-pmic-wrap +mtk-rng +mtk-sd +mtk-smi +mtk-uart-apdma +mtk-vpu +mtk_nand +mtk_rpmsg +mtk_scp +mtk_scp_ipi +mtk_t7xx +mtk_thermal +mtk_wdt +mtouch +mtu3 +multipath +multiq3 +musb_hdrc +mux-adg792a +mux-adgs1408 +mux-core +mux-gpio +mux-mmio +mv88e6060 +mv88e6xxx +mv_u3d_core +mv_udc +mvmdio +mvneta +mvpp2 +mvsas +mvumi +mwifiex +mwifiex_pcie +mwifiex_sdio +mwifiex_usb +mwl8k +mxb +mxc-jpeg-encdec +mxc4005 +mxc6255 +mxc_nand +mxc_w1 +mxcmmc +mxic_nand +mxl-gpy +mxl111sf-demod +mxl111sf-tuner +mxl301rf +mxl5005s +mxl5007t +mxl5xx +mxl692 +mxser +mxsfb +mxuport +myrb +myri10ge +myrs +n5pf +n_gsm +n_hdlc +nand +nandcore +nandsim +national +natsemi +nau7802 +navman +nbd +nci +nci_spi +nci_uart +nct6683 +nct6775 +nct6775-core +nct6775-i2c +nct7802 +nct7904 +nd_btt +nd_pmem +nd_virtio +ne2k-pci +neofb +net1080 +net2272 +net2280 +net_failover +netconsole +netdevsim +netfs +netjet +netlink_diag +netrom +netsec +netup-unidvb +netxen_nic +newtonkbd +nf_conncount +nf_conntrack_amanda +nf_conntrack_bridge +nf_conntrack_broadcast +nf_conntrack_ftp +nf_conntrack_h323 +nf_conntrack_irc +nf_conntrack_netbios_ns +nf_conntrack_pptp +nf_conntrack_sane +nf_conntrack_sip +nf_conntrack_snmp +nf_conntrack_tftp +nf_dup_ipv4 +nf_dup_ipv6 +nf_dup_netdev +nf_flow_table +nf_flow_table_inet +nf_log_syslog +nf_nat +nf_nat_amanda +nf_nat_ftp +nf_nat_h323 +nf_nat_irc +nf_nat_pptp +nf_nat_sip +nf_nat_snmp_basic +nf_nat_tftp +nf_reject_ipv4 +nf_reject_ipv6 +nf_socket_ipv4 +nf_socket_ipv6 +nf_synproxy_core +nf_tables +nf_tproxy_ipv4 +nf_tproxy_ipv6 +nfc +nfc_digital +nfcmrvl +nfcmrvl_i2c +nfcmrvl_spi +nfcmrvl_uart +nfcmrvl_usb +nfcsim +nfit +nfnetlink_acct +nfnetlink_cthelper +nfnetlink_cttimeout +nfnetlink_hook +nfnetlink_osf +nfp +nfs +nfs_acl +nfs_layout_flexfiles +nfs_layout_nfsv41_files +nfsd +nfsv2 +nfsv3 +nfsv4 +nft_chain_nat +nft_compat +nft_connlimit +nft_ct +nft_dup_ipv4 +nft_dup_ipv6 +nft_dup_netdev +nft_fib +nft_fib_inet +nft_fib_ipv4 +nft_fib_ipv6 +nft_fib_netdev +nft_flow_offload +nft_fwd_netdev +nft_hash +nft_limit +nft_log +nft_masq +nft_meta_bridge +nft_nat +nft_numgen +nft_objref +nft_osf +nft_queue +nft_quota +nft_redir +nft_reject +nft_reject_bridge +nft_reject_inet +nft_reject_ipv4 +nft_reject_ipv6 +nft_reject_netdev +nft_socket +nft_synproxy +nft_tproxy +nft_tunnel +nft_xfrm +nftl +ngene +nhc_dest +nhc_fragment +nhc_hop +nhc_ipv6 +nhc_mobility +nhc_routing +nhc_udp +nhpoly1305 +nhpoly1305-neon +ni_6527 +ni_65xx +ni_660x +ni_670x +ni_at_a2150 +ni_at_ao +ni_atmio +ni_atmio16d +ni_labpc +ni_labpc_common +ni_labpc_pci +ni_pcidio +ni_pcimio +ni_routes_test +ni_routing +ni_tio +ni_tiocmd +ni_usb6501 +nicpf +nicstar +nicvf +nilfs2 +nitro_enclaves +niu +nixge +nlmon +nls_ascii +nls_cp1250 +nls_cp1251 +nls_cp1255 +nls_cp737 +nls_cp775 +nls_cp850 +nls_cp852 +nls_cp855 +nls_cp857 +nls_cp860 +nls_cp861 +nls_cp862 +nls_cp863 +nls_cp864 +nls_cp865 +nls_cp866 +nls_cp869 +nls_cp874 +nls_cp932 +nls_cp936 +nls_cp949 +nls_cp950 +nls_euc-jp +nls_iso8859-1 +nls_iso8859-13 +nls_iso8859-14 +nls_iso8859-15 +nls_iso8859-2 +nls_iso8859-3 +nls_iso8859-4 +nls_iso8859-5 +nls_iso8859-6 +nls_iso8859-7 +nls_iso8859-9 +nls_koi8-r +nls_koi8-ru +nls_koi8-u +nls_utf8 +noa1305 +noon010pc30 +nosy +notifier-error-inject +nouveau +nozomi +npcm750-pwm-fan +nps_enet +ns-thermal +ns558 +ns83820 +nsh +ntb +ntb_hw_epf +ntb_hw_idt +ntb_hw_switchtec +ntb_netdev +ntb_perf +ntb_pingpong +ntb_tool +ntb_transport +ntc_thermistor +ntfs +ntfs3 +ntxec +null_blk +nuvoton-cir +nvec +nvec_kbd +nvec_paz00 +nvec_power +nvec_ps2 +nvidiafb +nvme-apple +nvme-fabrics +nvme-fc +nvme-loop +nvme-rdma +nvme-tcp +nvmem-apple-efuses +nvmem-bcm-ocotp +nvmem-imx-iim +nvmem-imx-ocotp +nvmem-imx-ocotp-scu +nvmem-layerscape-sfp +nvmem-rave-sp-eeprom +nvmem-reboot-mode +nvmem-rmem +nvmem-rockchip-otp +nvmem-sc27xx-efuse +nvmem_meson_efuse +nvmem_meson_mx_efuse +nvmem_qcom-spmi-sdam +nvmem_qfprom +nvmem_rockchip_efuse +nvmem_snvs_lpgpr +nvmem_sprd_efuse +nvmem_sunxi_sid +nvmet +nvmet-fc +nvmet-rdma +nvmet-tcp +nvsw-sn2201 +nwl-dsi +nxp-c45-tja11xx +nxp-nci +nxp-nci_i2c +nxp-ptn3460 +nxp-tja11xx +nxt200x +nxt6000 +nzxt-kraken2 +nzxt-smart2 +objagg +ocfb +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stack_o2cb +ocfs2_stack_user +ocfs2_stackglue +ocmem +ocrdma +octeon_ep +octeontx-cpt +octeontx-cptvf +of-fpga-region +of_mmc_spi +of_pmem +of_xilinx_wdt +ofb +ofpart +og01a1b +ohci-platform +omap-gpmc +omap-mailbox +omap-rng +omap2_nand +omap4-keypad +omap_elm +omap_hwspinlock +omfs +omninet +on20 +on26 +onenand +open-dice +opencores-kbd +openvswitch +opt3001 +optee +optee-rng +opticon +option +or51132 +or51211 +orangefs +orinoco +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +oti6858 +otm3225a +otx2_ptp +ov02a10 +ov08d10 +ov13858 +ov13b10 +ov2640 +ov2659 +ov2680 +ov2685 +ov2740 +ov5640 +ov5645 +ov5647 +ov5648 +ov5670 +ov5675 +ov5693 +ov5695 +ov6650 +ov7251 +ov7640 +ov7670 +ov772x +ov7740 +ov8856 +ov8865 +ov9282 +ov9640 +ov9650 +ov9734 +overlay +owl-dma +owl-emac +owl-mmc +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8022 +pa12203001 +palmas-pwrbutton +palmas-regulator +palmas_gpadc +pandora_bl +panel +panel-abt-y030xx067a +panel-arm-versatile +panel-asus-z00t-tm5p5-n35596 +panel-boe-bf060y8m-aj0 +panel-boe-himax8279d +panel-boe-tv101wum-nl6 +panel-dsi-cm +panel-edp +panel-elida-kd35t133 +panel-feixin-k101-im2ba02 +panel-feiyang-fy07024di26a30d +panel-ilitek-ili9322 +panel-ilitek-ili9341 +panel-ilitek-ili9881c +panel-innolux-ej030na +panel-innolux-p079zca +panel-jdi-fhd-r63452 +panel-jdi-lt070me05000 +panel-khadas-ts050 +panel-kingdisplay-kd097d04 +panel-leadtek-ltk050h3146w +panel-leadtek-ltk500hd1829 +panel-lg-lb035q02 +panel-lg-lg4573 +panel-lvds +panel-mantix-mlaf057we51 +panel-mipi-dbi +panel-nec-nl8048hl11 +panel-newvision-nv3052c +panel-novatek-nt35510 +panel-novatek-nt35560 +panel-novatek-nt35950 +panel-novatek-nt36672a +panel-novatek-nt39016 +panel-olimex-lcd-olinuxino +panel-orisetech-otm8009a +panel-osd-osd101t2587-53ts +panel-panasonic-vvx10f034n00 +panel-raspberrypi-touchscreen +panel-raydium-rm67191 +panel-raydium-rm68200 +panel-ronbo-rb070d30 +panel-samsung-atna33xc20 +panel-samsung-db7430 +panel-samsung-ld9040 +panel-samsung-s6d16d0 +panel-samsung-s6d27a1 +panel-samsung-s6e3ha2 +panel-samsung-s6e63j0x03 +panel-samsung-s6e63m0 +panel-samsung-s6e63m0-dsi +panel-samsung-s6e63m0-spi +panel-samsung-s6e88a0-ams452ef01 +panel-samsung-s6e8aa0 +panel-samsung-sofef00 +panel-seiko-43wvf1g +panel-sharp-lq101r1sx01 +panel-sharp-ls037v7dw01 +panel-sharp-ls043t1le01 +panel-sharp-ls060t1sx01 +panel-simple +panel-sitronix-st7701 +panel-sitronix-st7703 +panel-sitronix-st7789v +panel-sony-acx565akm +panel-sony-tulip-truly-nt35521 +panel-tdo-tl070wsh30 +panel-tpo-td028ttec1 +panel-tpo-td043mtea1 +panel-tpo-tpg110 +panel-truly-nt35597 +panel-visionox-rm69299 +panel-widechips-ws2401 +panel-xinpeng-xpp055c272 +panfrost +parade-ps8622 +parade-ps8640 +paride +parkbd +parman +parport +parport_ax88796 +parport_pc +parport_serial +parser_trx +pata_acpi +pata_ali +pata_amd +pata_artop +pata_atiixp +pata_atp867x +pata_cmd640 +pata_cmd64x +pata_cypress +pata_efar +pata_hpt366 +pata_hpt37x +pata_hpt3x2n +pata_hpt3x3 +pata_imx +pata_it8213 +pata_it821x +pata_jmicron +pata_legacy +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_ns87410 +pata_ns87415 +pata_of_platform +pata_oldpiix +pata_opti +pata_optidma +pata_pdc2027x +pata_pdc202xx_old +pata_piccolo +pata_platform +pata_radisys +pata_rdc +pata_rz1000 +pata_sch +pata_serverworks +pata_sil680 +pata_sis +pata_sl82c105 +pata_triflex +pata_via +pc300too +pc87360 +pc87427 +pca9450-regulator +pcap-regulator +pcap_keys +pcap_ts +pcbc +pcd +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pch_udc +pci +pci-epf-ntb +pci-hyperv +pci-hyperv-intf +pci-meson +pci-pf-stub +pci-stub +pci200syn +pcie-apple +pcie-brcmstb +pcie-iproc +pcie-iproc-platform +pcie-mediatek-gen3 +pcie-qcom-ep +pcie-rockchip-host +pcie-tegra194 +pcips2 +pcl711 +pcl724 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcmad +pcmcia_core +pcmcia_rsrc +pcmda12 +pcmmio +pcmuio +pcnet32 +pcrypt +pcs-lynx +pcs_xpcs +pcwd_pci +pcwd_usb +pd +pda_power +pdc_adma +pdr_interface +peak_pci +peak_pciefd +peak_usb +peci +peci-cpu +peci-cputemp +peci-dimmtemp +pegasus +pegasus_notetaker +penmount +pf +pf8x00-regulator +pfr_telemetry +pfr_update +pfuze100-regulator +pg +phantom +phonet +phram +phy-am654-serdes +phy-armada38x-comphy +phy-bcm-kona-usb2 +phy-bcm-ns-usb2 +phy-bcm-ns-usb3 +phy-bcm-ns2-usbdrd +phy-bcm-sr-pcie +phy-bcm-sr-usb +phy-berlin-sata +phy-berlin-usb +phy-brcm-usb-dvr +phy-cadence-salvo +phy-cadence-sierra +phy-cadence-torrent +phy-can-transceiver +phy-cpcap-usb +phy-exynos-usb2 +phy-fsl-imx8-mipi-dphy +phy-fsl-imx8m-pcie +phy-fsl-imx8mq-usb +phy-fsl-lynx-28g +phy-generic +phy-gmii-sel +phy-gpio-vbus-usb +phy-hi3660-usb3 +phy-hi3670-pcie +phy-hi3670-usb3 +phy-hi6220-usb +phy-hisi-inno-usb2 +phy-histb-combphy +phy-intel-keembay-emmc +phy-intel-keembay-usb +phy-isp1301 +phy-j721e-wiz +phy-mapphone-mdm6600 +phy-meson-axg-mipi-dphy +phy-meson-g12a-usb2 +phy-meson-g12a-usb3-pcie +phy-meson-gxl-usb2 +phy-meson8b-usb2 +phy-mtk-hdmi-drv +phy-mtk-mipi-dsi-drv +phy-mtk-tphy +phy-mtk-ufs +phy-mtk-xsphy +phy-mvebu-a3700-comphy +phy-mvebu-a3700-utmi +phy-mvebu-cp110-comphy +phy-mvebu-cp110-utmi +phy-ocelot-serdes +phy-omap-usb2 +phy-pxa-28nm-hsic +phy-pxa-28nm-usb2 +phy-qcom-apq8064-sata +phy-qcom-edp +phy-qcom-ipq4019-usb +phy-qcom-ipq806x-sata +phy-qcom-ipq806x-usb +phy-qcom-pcie2 +phy-qcom-qmp +phy-qcom-qusb2 +phy-qcom-snps-femto-v2 +phy-qcom-usb-hs +phy-qcom-usb-hs-28nm +phy-qcom-usb-hsic +phy-qcom-usb-ss +phy-rcar-gen2 +phy-rcar-gen3-pcie +phy-rcar-gen3-usb2 +phy-rcar-gen3-usb3 +phy-rockchip-dp +phy-rockchip-dphy-rx0 +phy-rockchip-emmc +phy-rockchip-inno-csidphy +phy-rockchip-inno-dsidphy +phy-rockchip-inno-hdmi +phy-rockchip-inno-usb2 +phy-rockchip-naneng-combphy +phy-rockchip-pcie +phy-rockchip-typec +phy-rockchip-usb +phy-sun4i-usb +phy-sun50i-usb3 +phy-sun6i-mipi-dphy +phy-tahvo +phy-tegra-usb +phy-tegra-xusb +phy-tegra194-p2u +phy-tusb1210 +phy-zynqmp +phylink +physmap +pi3usb30532 +pi433 +pim4328 +pinctrl-apple-gpio +pinctrl-apq8064 +pinctrl-apq8084 +pinctrl-axp209 +pinctrl-bcm4908 +pinctrl-da9062 +pinctrl-imx8ulp +pinctrl-imx93 +pinctrl-ipq4019 +pinctrl-ipq6018 +pinctrl-ipq8064 +pinctrl-ipq8074 +pinctrl-keembay +pinctrl-lochnagar +pinctrl-lpass-lpi +pinctrl-madera +pinctrl-max77620 +pinctrl-mcp23s08 +pinctrl-mcp23s08_i2c +pinctrl-mcp23s08_spi +pinctrl-mdm9607 +pinctrl-mdm9615 +pinctrl-meson-s4 +pinctrl-msm8226 +pinctrl-msm8660 +pinctrl-msm8916 +pinctrl-msm8953 +pinctrl-msm8960 +pinctrl-msm8976 +pinctrl-msm8994 +pinctrl-msm8996 +pinctrl-msm8998 +pinctrl-msm8x74 +pinctrl-mt6779 +pinctrl-qcm2290 +pinctrl-qcs404 +pinctrl-qdf2xxx +pinctrl-rk805 +pinctrl-sc7180 +pinctrl-sc7280 +pinctrl-sc7280-lpass-lpi +pinctrl-sc8180x +pinctrl-sc8280xp +pinctrl-sdm660 +pinctrl-sdm845 +pinctrl-sdx55 +pinctrl-sdx65 +pinctrl-sm6115 +pinctrl-sm6125 +pinctrl-sm6350 +pinctrl-sm8150 +pinctrl-sm8250 +pinctrl-sm8250-lpass-lpi +pinctrl-sm8350 +pinctrl-sm8450 +pinctrl-spmi-gpio +pinctrl-spmi-mpp +pinctrl-ssbi-gpio +pinctrl-ssbi-mpp +pinctrl-stmfx +pinctrl-zynqmp +ping +pistachio-internal-dac +pixcir_i2c_ts +pkcs7_test_key +pkcs8_key_parser +pktcdvd +pktgen +pl111_drm +pl172 +pl2303 +pl330 +plat-ram +plat_nand +platform_lcd +platform_mhu +platform_profile +plfxlc +pli1209bc +plip +plusb +pluto2 +plx_dma +plx_pci +pm-notifier-error-inject +pm2fb +pm3fb +pm6764tr +pm80xx +pm8916_wdt +pm8941-pwrkey +pm8xxx-vibrator +pmbus +pmbus_core +pmc551 +pmcraid +pms7003 +pn532_uart +pn533 +pn533_i2c +pn533_usb +pn544 +pn544_i2c +pn_pep +poly1305-neon +poly1305_generic +port100 +powermate +powr1220 +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +ppp_synctty +pppoatm +pppoe +pppox +pps-gpio +pps-ldisc +pps_parport +pptp +prestera +prestera_pci +pretimeout_panic +prism2_usb +pru_rproc +pruss +ps2-gpio +ps2mult +psample +psmouse +psnap +pstore_blk +pstore_zone +psxpad-spi +pt +ptp-qoriq +ptp_clockmatrix +ptp_dte +ptp_idt82p33 +ptp_ines +ptp_kvm +ptp_ocp +pulse8-cec +pulsedlight-lidar-lite-v2 +pv88060-regulator +pv88080-regulator +pv88090-regulator +pvcalls-front +pvpanic +pvpanic-mmio +pvpanic-pci +pvrusb2 +pwc +pwm-atmel-hlcdc +pwm-atmel-tcb +pwm-bcm-iproc +pwm-bcm2835 +pwm-beeper +pwm-berlin +pwm-brcmstb +pwm-cros-ec +pwm-dwc +pwm-fan +pwm-fsl-ftm +pwm-hibvt +pwm-imx-tpm +pwm-imx1 +pwm-imx27 +pwm-iqs620a +pwm-ir-tx +pwm-keembay +pwm-lp3943 +pwm-mediatek +pwm-meson +pwm-mtk-disp +pwm-ntxec +pwm-pca9685 +pwm-raspberrypi-poe +pwm-rcar +pwm-regulator +pwm-renesas-tpu +pwm-rockchip +pwm-sl28cpld +pwm-sprd +pwm-sun4i +pwm-tegra +pwm-tiecap +pwm-tiehrpwm +pwm-twl +pwm-twl-led +pwm-vibra +pwm-visconti +pwm-xilinx +pwm_bl +pwrseq_emmc +pwrseq_sd8787 +pwrseq_simple +pxa168_eth +pxa27x_udc +pxe1610 +pxrc +q54sj108a2 +q6adm +q6afe +q6afe-clocks +q6afe-dai +q6apm-dai +q6apm-lpass-dais +q6asm +q6asm-dai +q6core +q6prm +q6prm-clocks +q6routing +q6sstop-qcs404 +qca8k +qca_7k_common +qcaspi +qcauart +qcaux +qcom-apcs-ipc-mailbox +qcom-camss +qcom-coincell +qcom-cpufreq-hw +qcom-cpufreq-nvmem +qcom-emac +qcom-geni-se +qcom-labibb-regulator +qcom-pm8008 +qcom-pmic-typec +qcom-pon +qcom-rng +qcom-rpmh-regulator +qcom-spmi-adc-tm5 +qcom-spmi-adc5 +qcom-spmi-iadc +qcom-spmi-pmic +qcom-spmi-temp-alarm +qcom-spmi-vadc +qcom-vadc-common +qcom-wdt +qcom-wled +qcom_aoss +qcom_bam_dmux +qcom_common +qcom_edac +qcom_eud +qcom_geni_serial +qcom_glink +qcom_glink_rpm +qcom_glink_smem +qcom_gsbi +qcom_hwspinlock +qcom_nandc +qcom_pil_info +qcom_q6v5 +qcom_q6v5_adsp +qcom_q6v5_mss +qcom_q6v5_pas +qcom_q6v5_wcss +qcom_rpm +qcom_rpm-regulator +qcom_smbb +qcom_smd +qcom_smd-regulator +qcom_spmi-regulator +qcom_stats +qcom_sysmon +qcom_tsens +qcom_usb_vbus-regulator +qcomsmempart +qcrypto +qcserial +qed +qede +qedf +qedi +qedr +qemu_fw_cfg +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qm1d1b0004 +qm1d1c0042 +qmi_helpers +qmi_wwan +qnoc-msm8916 +qnoc-msm8939 +qnoc-msm8974 +qnoc-msm8996 +qnoc-qcm2290 +qnoc-qcs404 +qnoc-sc7180 +qnoc-sc7280 +qnoc-sc8180x +qnoc-sc8280xp +qnoc-sdm660 +qnoc-sdm845 +qnoc-sdx55 +qnoc-sdx65 +qnoc-sm8150 +qnoc-sm8250 +qnoc-sm8350 +qnoc-sm8450 +qnx4 +qnx6 +qoriq-cpufreq +qoriq_thermal +qrtr +qrtr-mhi +qrtr-smd +qrtr-tun +qsemi +qt1010 +qt1050 +qt1070 +qt2160 +qtnfmac +qtnfmac_pcie +quatech2 +quota_tree +quota_v1 +quota_v2 +qwiic-joystick +qxl +r592 +r6040 +r8152 +r8153_ecm +r8169 +r8188eu +r8192e_pci +r8192u_usb +r820t +r852 +r8712u +r8723bs +r8a66597-hcd +r8a66597-udc +radeon +radeonfb +radio-keene +radio-ma901 +radio-maxiradio +radio-mr800 +radio-platform-si4713 +radio-raremono +radio-shark +radio-si470x-common +radio-si470x-i2c +radio-si470x-usb +radio-si476x +radio-tea5764 +radio-usb-si4713 +radio-wl1273 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid_class +rainshadow-cec +ramoops +raspberrypi-cpufreq +raspberrypi-hwmon +raspberrypi-ts +ravb +rave-sp +rave-sp-backlight +rave-sp-pwrbutton +rave-sp-wdt +raw_diag +raw_gadget +raydium_i2c_ts +rbd +rc-adstech-dvb-t-pci +rc-alink-dtu-m +rc-anysee +rc-apac-viewcomp +rc-astrometa-t2hybrid +rc-asus-pc39 +rc-asus-ps3-100 +rc-ati-tv-wonder-hd-600 +rc-ati-x10 +rc-avermedia +rc-avermedia-a16d +rc-avermedia-cardbus +rc-avermedia-dvbt +rc-avermedia-m135a +rc-avermedia-m733a-rm-k6 +rc-avermedia-rm-ks +rc-avertv-303 +rc-azurewave-ad-tu700 +rc-beelink-gs1 +rc-behold +rc-behold-columbus +rc-budget-ci-old +rc-cinergy +rc-cinergy-1400 +rc-core +rc-ct-90405 +rc-d680-dmb +rc-delock-61959 +rc-dib0700-nec +rc-dib0700-rc5 +rc-digitalnow-tinytwin +rc-digittrade +rc-dm1105-nec +rc-dntv-live-dvb-t +rc-dntv-live-dvbt-pro +rc-dtt200u +rc-dvbsky +rc-dvico-mce +rc-dvico-portable +rc-em-terratec +rc-encore-enltv +rc-encore-enltv-fm53 +rc-encore-enltv2 +rc-evga-indtube +rc-eztv +rc-flydvb +rc-flyvideo +rc-fusionhdtv-mce +rc-gadmei-rm008z +rc-geekbox +rc-genius-tvgo-a11mce +rc-gotview7135 +rc-hauppauge +rc-hisi-poplar +rc-hisi-tv-demo +rc-imon-mce +rc-imon-pad +rc-imon-rsc +rc-iodata-bctv7e +rc-it913x-v1 +rc-it913x-v2 +rc-kaiomy +rc-khadas +rc-khamsin +rc-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lme2510 +rc-loopback +rc-manli +rc-mecool-kii-pro +rc-mecool-kiii-pro +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +rc-minix-neo +rc-msi-digivox-ii +rc-msi-digivox-iii +rc-msi-tvanywhere +rc-msi-tvanywhere-plus +rc-nebula +rc-nec-terratec-cinergy-xs +rc-norwood +rc-npgtech +rc-odroid +rc-pctv-sedna +rc-pine64 +rc-pinnacle-color +rc-pinnacle-grey +rc-pinnacle-pctv-hd +rc-pixelview +rc-pixelview-002t +rc-pixelview-mk12 +rc-pixelview-new +rc-powercolor-real-angel +rc-proteus-2309 +rc-purpletv +rc-pv951 +rc-rc6-mce +rc-real-audio-220-32-keys +rc-reddo +rc-snapstream-firefly +rc-streamzap +rc-su3000 +rc-tanix-tx3mini +rc-tanix-tx5max +rc-tbs-nec +rc-technisat-ts35 +rc-technisat-usb2 +rc-terratec-cinergy-c-pci +rc-terratec-cinergy-s2-hd +rc-terratec-cinergy-xs +rc-terratec-slim +rc-terratec-slim-2 +rc-tevii-nec +rc-tivo +rc-total-media-in-hand +rc-total-media-in-hand-02 +rc-trekstor +rc-tt-1500 +rc-twinhan-dtv-cab-ci +rc-twinhan1027 +rc-vega-s9x +rc-videomate-m1f +rc-videomate-s350 +rc-videomate-tv-pvr +rc-videostrong-kii-pro +rc-wetek-hub +rc-wetek-play2 +rc-winfast +rc-winfast-usbii-deluxe +rc-x96max +rc-xbox-360 +rc-xbox-dvd +rc-zx-irdec +rc5t583-regulator +rcar-csi2 +rcar-dmac +rcar-du-drm +rcar-fcp +rcar-isp +rcar-vin +rcar_can +rcar_canfd +rcar_cmm +rcar_drif +rcar_dw_hdmi +rcar_fdp1 +rcar_gen3_thermal +rcar_jpu +rcar_lvds +rcar_mipi_dsi +rcar_rproc +rcar_thermal +rdacm20 +rdacm21 +rdc321x-southbridge +rdma_cm +rdma_rxe +rdma_ucm +rds +rds_rdma +rds_tcp +realtek +realtek-mdio +realtek-smi +reboot-mode +redboot +redrat3 +reed_solomon +regmap-ac97 +regmap-i3c +regmap-sccb +regmap-sdw +regmap-sdw-mbq +regmap-slimbus +regmap-spi-avmm +regmap-spmi +regmap-w1 +regulator-haptic +reiserfs +renesas-nand-controller +renesas-rpc-if +renesas_sdhi_core +renesas_sdhi_internal_dmac +renesas_sdhi_sys_dmac +renesas_usb3 +renesas_usbhs +renesas_wdt +repaper +reset-a10sr +reset-brcmstb +reset-hi3660 +reset-meson-audio-arb +reset-qcom-pdc +reset-raspberrypi +reset-rzg2l-usbphy-ctrl +reset-scmi +reset-ti-sci +reset-ti-syscon +resistive-adc-touch +retu-mfd +retu-pwrbutton +retu_wdt +rfc1051 +rfc1201 +rfcomm +rfd77402 +rfd_ftl +rfkill-gpio +rio-scan +rio_cm +rio_mport_cdev +rionet +rivafb +rj54n1cb0c +rk3399_dmc +rk805-pwrkey +rk808 +rk808-regulator +rk_crypto +rm3100-core +rm3100-i2c +rm3100-spi +rmd160 +rmi_core +rmi_i2c +rmi_smbus +rmi_spi +rmnet +rmtfs_mem +rn5t618 +rn5t618-adc +rn5t618-regulator +rn5t618_power +rn5t618_wdt +rnbd-client +rnbd-server +rndis_host +rndis_wlan +rockchip +rockchip-dfi +rockchip-isp1 +rockchip-nand-controller +rockchip-rga +rockchip-vdec +rockchip_saradc +rockchip_thermal +rockchipdrm +rocker +rohm-bd71828 +rohm-bd718x7 +rohm-bd9576 +rohm-regulator +rohm_bu21023 +romfs +rose +rotary_encoder +rp2 +rpcrdma +rpcsec_gss_krb5 +rpi-panel-attiny-regulator +rpmpd +rpmsg_char +rpmsg_core +rpmsg_ctrl +rpmsg_ns +rpmsg_tty +rpmsg_wwan_ctrl +rpr0521 +rsi_91x +rsi_sdio +rsi_usb +rsmu-i2c +rsmu-spi +rt1719 +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800mmio +rt2800pci +rt2800usb +rt2x00lib +rt2x00mmio +rt2x00pci +rt2x00usb +rt4801-regulator +rt4831 +rt4831-backlight +rt4831-regulator +rt5033 +rt5033-regulator +rt5033_battery +rt5190a-regulator +rt5759-regulator +rt6160-regulator +rt61pci +rt6245-regulator +rt73usb +rt9455_charger +rtc-88pm80x +rtc-88pm860x +rtc-ab-b5ze-s3 +rtc-ab-eoz9 +rtc-abx80x +rtc-armada38x +rtc-as3722 +rtc-bd70528 +rtc-bq32k +rtc-bq4802 +rtc-brcmstb-waketimer +rtc-cadence +rtc-cpcap +rtc-cros-ec +rtc-da9052 +rtc-da9055 +rtc-da9063 +rtc-ds1286 +rtc-ds1302 +rtc-ds1305 +rtc-ds1307 +rtc-ds1343 +rtc-ds1347 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1685 +rtc-ds1742 +rtc-ds2404 +rtc-ds3232 +rtc-em3027 +rtc-fm3130 +rtc-fsl-ftm-alarm +rtc-ftrtc010 +rtc-goldfish +rtc-hid-sensor-time +rtc-hym8563 +rtc-imx-sc +rtc-imxdi +rtc-isl12022 +rtc-isl12026 +rtc-isl1208 +rtc-lp8788 +rtc-m41t80 +rtc-m41t93 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-max6916 +rtc-max77686 +rtc-max8907 +rtc-max8925 +rtc-max8997 +rtc-max8998 +rtc-mc13xxx +rtc-mcp795 +rtc-meson-vrtc +rtc-msm6242 +rtc-mt2712 +rtc-mt6397 +rtc-mt7622 +rtc-mxc +rtc-mxc_v2 +rtc-ntxec +rtc-optee +rtc-palmas +rtc-pcap +rtc-pcf2123 +rtc-pcf2127 +rtc-pcf50633 +rtc-pcf85063 +rtc-pcf8523 +rtc-pcf85363 +rtc-pcf8563 +rtc-pcf8583 +rtc-pl030 +rtc-pl031 +rtc-pm8xxx +rtc-r7301 +rtc-r9701 +rtc-rc5t583 +rtc-rc5t619 +rtc-rk808 +rtc-rp5c01 +rtc-rs5c348 +rtc-rs5c372 +rtc-rv3028 +rtc-rv3029c2 +rtc-rv3032 +rtc-rv8803 +rtc-rx4581 +rtc-rx6110 +rtc-rx8010 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-s5m +rtc-sc27xx +rtc-sd3078 +rtc-sh +rtc-snvs +rtc-stk17ta8 +rtc-tegra +rtc-tps6586x +rtc-tps65910 +rtc-twl +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtc-zynqmp +rtd520 +rti800 +rti802 +rti_wdt +rtl2830 +rtl2832 +rtl2832_sdr +rtl8150 +rtl8187 +rtl8188ee +rtl818x_pci +rtl8192c-common +rtl8192ce +rtl8192cu +rtl8192de +rtl8192ee +rtl8192se +rtl8365mb +rtl8366 +rtl8723-common +rtl8723ae +rtl8723be +rtl8821ae +rtl8xxxu +rtl_pci +rtl_usb +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +rtmv20-regulator +rtq2134-regulator +rtq6752-regulator +rtrs-client +rtrs-core +rtrs-server +rts5208 +rtsx_pci +rtsx_pci_ms +rtsx_pci_sdmmc +rtsx_usb +rtsx_usb_ms +rtsx_usb_sdmmc +rtw88_8723d +rtw88_8723de +rtw88_8821c +rtw88_8821ce +rtw88_8822b +rtw88_8822be +rtw88_8822c +rtw88_8822ce +rtw88_core +rtw88_pci +rtw89_8852a +rtw89_8852ae +rtw89_8852c +rtw89_8852ce +rtw89_core +rtw89_pci +rvu_af +rvu_cptcommon +rvu_cptpf +rvu_cptvf +rvu_mbox +rvu_nicpf +rvu_nicvf +rx51_battery +rxrpc +rz-dmac +rza_wdt +rzg2l_adc +rzg2l_thermal +rzg2l_wdt +rzn1_wdt +s1d13xxxfb +s2250 +s2255drv +s2io +s2mpa01 +s2mps11 +s3fb +s3fwrn5 +s3fwrn5_i2c +s3fwrn82_uart +s526 +s5c73m3 +s5h1409 +s5h1411 +s5h1420 +s5h1432 +s5k4ecgx +s5k5baf +s5k6a3 +s5k6aa +s5m8767 +s626 +s6sy761 +s921 +sa2ul +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7134-go7007 +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +saa7706h +safe_serial +sahara +sample-trace-array +samsung-keypad +samsung-sxgbe +samsung_tty +sata_dwc_460ex +sata_inic162x +sata_mv +sata_nv +sata_promise +sata_qstor +sata_rcar +sata_sil +sata_sil24 +sata_sis +sata_svw +sata_sx4 +sata_uli +sata_via +sata_vsc +savagefb +sb1000 +sbp_target +sbrmi +sbs-battery +sbs-charger +sbs-manager +sbsa_gwdt +sbtsi_temp +sc16is7xx +sc2731-regulator +sc2731_charger +sc27xx-poweroff +sc27xx-vibra +sc27xx_adc +sc27xx_fuel_gauge +sc92031 +sc9860-clk +sc9863a-clk +sca3000 +sca3300 +scd30_core +scd30_i2c +scd30_serial +scd4x +sch5627 +sch5636 +sch56xx-common +sch_atm +sch_cake +sch_cbq +sch_cbs +sch_choke +sch_codel +sch_drr +sch_dsmark +sch_etf +sch_ets +sch_fq +sch_fq_codel +sch_fq_pie +sch_gred +sch_hfsc +sch_hhf +sch_htb +sch_ingress +sch_mqprio +sch_multiq +sch_netem +sch_pie +sch_plug +sch_prio +sch_qfq +sch_red +sch_sfb +sch_sfq +sch_skbprio +sch_taprio +sch_tbf +sch_teql +sci-clk +sclk-div +scmi-cpufreq +scmi-hwmon +scmi-regulator +scmi_iio +scmi_pm_domain +scpi-cpufreq +scpi-hwmon +scpi_pm_domain +scsi_debug +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_spi +scsi_transport_srp +sctp +sctp_diag +sd_adc_modulator +sdhci +sdhci-acpi +sdhci-brcmstb +sdhci-cadence +sdhci-esdhc-imx +sdhci-iproc +sdhci-milbeaut +sdhci-msm +sdhci-of-arasan +sdhci-of-aspeed +sdhci-of-at91 +sdhci-of-dwcmshc +sdhci-of-esdhc +sdhci-of-sparx5 +sdhci-omap +sdhci-pci +sdhci-pltfm +sdhci-pxav3 +sdhci-sprd +sdhci-tegra +sdhci-xenon-driver +sdhci_am654 +sdhci_f_sdh30 +sdio_uart +sensehat-joystick +sensorhub +serial-tegra +serial_ir +serio_raw +sermouse +serpent_generic +serport +ses +sf-pdma +sfc +sfc-falcon +sfc-siena +sfp +sgi_w1 +sgp30 +sgp40 +sh-sci +sh_eth +sh_mmcif +sh_mobile_lcdcfb +sha1-ce +sha2-ce +sha256-arm64 +sha3-ce +sha3_generic +sha512-arm64 +sha512-ce +shark2 +shiftfs +sht15 +sht21 +sht3x +sht4x +shtc1 +si1133 +si1145 +si2157 +si2165 +si2168 +si21xx +si4713 +si476x-core +si7005 +si7020 +sidewinder +sierra +sierra_net +sifive +sii902x +sii9234 +sil-sii8620 +sil164 +silead +simple-bridge +simple-mfd-i2c +simpledrm +simplefb +siox-bus-gpio +siox-core +sis190 +sis5595 +sis900 +sis_i2c +sisfb +sisusbvga +sit +siw +sja1000 +sja1000_isa +sja1000_platform +sja1105 +skfp +skge +sky2 +sky81452 +sky81452-backlight +sky81452-regulator +sl28cpld-hwmon +sl28cpld_wdt +sl811-hcd +slcan +slg51000-regulator +slic_ds26522 +slicoss +slim-qcom-ctrl +slim-qcom-ngd-ctrl +slimbus +slip +slram +sm2_generic +sm3 +sm3-ce +sm3_generic +sm4 +sm4-ce +sm4-ce-cipher +sm4-neon +sm4_generic +sm501 +sm501fb +sm712fb +sm750fb +sm_common +sm_ftl +smartpqi +smb347-charger +smc +smc_diag +smd-rpm +smem +smipcie +smm665 +smp2p +smsc +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc911x +smsc9420 +smsc95xx +smscufx +smsdvb +smsm +smsmdtv +smssdio +smsusb +snd +snd-ac97-codec +snd-acp-config +snd-ad1889 +snd-ak4113 +snd-ak4114 +snd-ak4xxx-adda +snd-ali5451 +snd-aloop +snd-als300 +snd-atiixp +snd-atiixp-modem +snd-au8810 +snd-au8820 +snd-au8830 +snd-aw2 +snd-azt3328 +snd-bcd2000 +snd-bcm2835 +snd-bebob +snd-bt87x +snd-ca0106 +snd-cmipci +snd-compress +snd-cs4281 +snd-cs46xx +snd-cs8427 +snd-ctl-led +snd-ctxfi +snd-darla20 +snd-darla24 +snd-dice +snd-dummy +snd-echo3g +snd-emu10k1 +snd-emu10k1-synth +snd-emu10k1x +snd-emux-synth +snd-ens1370 +snd-ens1371 +snd-es1938 +snd-es1968 +snd-fireface +snd-firewire-digi00x +snd-firewire-lib +snd-firewire-motu +snd-firewire-tascam +snd-fireworks +snd-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-ca0110 +snd-hda-codec-ca0132 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-cs8409 +snd-hda-codec-generic +snd-hda-codec-hdmi +snd-hda-codec-idt +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-core +snd-hda-cs-dsp-ctls +snd-hda-intel +snd-hda-scodec-cs35l41 +snd-hda-scodec-cs35l41-i2c +snd-hda-scodec-cs35l41-spi +snd-hda-tegra +snd-hdsp +snd-hdspm +snd-hrtimer +snd-hwdep +snd-i2c +snd-ice1712 +snd-ice1724 +snd-ice17xx-ak4xxx +snd-indigo +snd-indigodj +snd-indigodjx +snd-indigoio +snd-indigoiox +snd-intel-dspcfg +snd-intel-sdw-acpi +snd-intel8x0 +snd-intel8x0m +snd-isight +snd-korg1212 +snd-layla20 +snd-layla24 +snd-lola +snd-lx6464es +snd-maestro3 +snd-mia +snd-mixart +snd-mixer-oss +snd-mona +snd-mpu401 +snd-mpu401-uart +snd-mtpav +snd-mts64 +snd-nm256 +snd-opl3-lib +snd-opl3-synth +snd-oxfw +snd-oxygen +snd-oxygen-lib +snd-pcm +snd-pcm-dmaengine +snd-pcxhr +snd-portman2x4 +snd-pt2258 +snd-q6apm +snd-q6dsp-common +snd-rawmidi +snd-riptide +snd-rme32 +snd-rme96 +snd-rme9652 +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-midi +snd-seq-midi-emul +snd-seq-midi-event +snd-seq-virmidi +snd-serial-generic +snd-serial-u16550 +snd-soc-63xx +snd-soc-ac97 +snd-soc-acp-da7219mx98357-mach +snd-soc-acp-rt5645-mach +snd-soc-acpi +snd-soc-adau-utils +snd-soc-adau1372 +snd-soc-adau1372-i2c +snd-soc-adau1372-spi +snd-soc-adau1701 +snd-soc-adau1761 +snd-soc-adau1761-i2c +snd-soc-adau1761-spi +snd-soc-adau17x1 +snd-soc-adau7002 +snd-soc-adau7118 +snd-soc-adau7118-hw +snd-soc-adau7118-i2c +snd-soc-adi-axi-i2s +snd-soc-adi-axi-spdif +snd-soc-ak4104 +snd-soc-ak4118 +snd-soc-ak4375 +snd-soc-ak4458 +snd-soc-ak4554 +snd-soc-ak4613 +snd-soc-ak4642 +snd-soc-ak5386 +snd-soc-ak5558 +snd-soc-alc5623 +snd-soc-alc5632 +snd-soc-apq8016-sbc +snd-soc-apq8096 +snd-soc-armada-370-db +snd-soc-audio-graph-card +snd-soc-audio-graph-card2 +snd-soc-audio-graph-card2-custom-sample +snd-soc-aw8738 +snd-soc-bcm2835-i2s +snd-soc-bd28623 +snd-soc-bt-sco +snd-soc-core +snd-soc-cpcap +snd-soc-cros-ec-codec +snd-soc-cs35l32 +snd-soc-cs35l33 +snd-soc-cs35l34 +snd-soc-cs35l35 +snd-soc-cs35l36 +snd-soc-cs35l41 +snd-soc-cs35l41-i2c +snd-soc-cs35l41-lib +snd-soc-cs35l41-spi +snd-soc-cs35l45 +snd-soc-cs35l45-i2c +snd-soc-cs35l45-spi +snd-soc-cs35l45-tables +snd-soc-cs4234 +snd-soc-cs4265 +snd-soc-cs4270 +snd-soc-cs4271 +snd-soc-cs4271-i2c +snd-soc-cs4271-spi +snd-soc-cs42l42 +snd-soc-cs42l51 +snd-soc-cs42l51-i2c +snd-soc-cs42l52 +snd-soc-cs42l56 +snd-soc-cs42l73 +snd-soc-cs42xx8 +snd-soc-cs42xx8-i2c +snd-soc-cs43130 +snd-soc-cs4341 +snd-soc-cs4349 +snd-soc-cs53l30 +snd-soc-cx2072x +snd-soc-da7213 +snd-soc-da7219 +snd-soc-davinci-mcasp +snd-soc-dmic +snd-soc-es7134 +snd-soc-es7241 +snd-soc-es8316 +snd-soc-es8328 +snd-soc-es8328-i2c +snd-soc-es8328-spi +snd-soc-fsi +snd-soc-fsl-asoc-card +snd-soc-fsl-asrc +snd-soc-fsl-aud2htx +snd-soc-fsl-audmix +snd-soc-fsl-easrc +snd-soc-fsl-esai +snd-soc-fsl-micfil +snd-soc-fsl-mqs +snd-soc-fsl-rpmsg +snd-soc-fsl-sai +snd-soc-fsl-spdif +snd-soc-fsl-ssi +snd-soc-fsl-xcvr +snd-soc-gtm601 +snd-soc-hdmi-codec +snd-soc-ics43432 +snd-soc-imx-audmix +snd-soc-imx-audmux +snd-soc-imx-card +snd-soc-imx-es8328 +snd-soc-imx-hdmi +snd-soc-imx-rpmsg +snd-soc-imx-sgtl5000 +snd-soc-imx-spdif +snd-soc-inno-rk3036 +snd-soc-j721e-evm +snd-soc-kirkwood +snd-soc-kmb_platform +snd-soc-lochnagar-sc +snd-soc-lpass-apq8016 +snd-soc-lpass-cdc-dma +snd-soc-lpass-cpu +snd-soc-lpass-hdmi +snd-soc-lpass-ipq806x +snd-soc-lpass-macro-common +snd-soc-lpass-platform +snd-soc-lpass-rx-macro +snd-soc-lpass-sc7180 +snd-soc-lpass-sc7280 +snd-soc-lpass-tx-macro +snd-soc-lpass-va-macro +snd-soc-lpass-wsa-macro +snd-soc-max9759 +snd-soc-max98088 +snd-soc-max98090 +snd-soc-max98357a +snd-soc-max98373 +snd-soc-max98373-i2c +snd-soc-max98373-sdw +snd-soc-max98390 +snd-soc-max98396 +snd-soc-max98504 +snd-soc-max98520 +snd-soc-max9860 +snd-soc-max9867 +snd-soc-max98927 +snd-soc-meson-aiu +snd-soc-meson-axg-fifo +snd-soc-meson-axg-frddr +snd-soc-meson-axg-pdm +snd-soc-meson-axg-sound-card +snd-soc-meson-axg-spdifin +snd-soc-meson-axg-spdifout +snd-soc-meson-axg-tdm-formatter +snd-soc-meson-axg-tdm-interface +snd-soc-meson-axg-tdmin +snd-soc-meson-axg-tdmout +snd-soc-meson-axg-toddr +snd-soc-meson-card-utils +snd-soc-meson-codec-glue +snd-soc-meson-g12a-toacodec +snd-soc-meson-g12a-tohdmitx +snd-soc-meson-gx-sound-card +snd-soc-meson-t9015 +snd-soc-mikroe-proto +snd-soc-msm8916-analog +snd-soc-msm8916-digital +snd-soc-mt6351 +snd-soc-mt6358 +snd-soc-mt6359 +snd-soc-mt6660 +snd-soc-mt6797-afe +snd-soc-mt8183-afe +snd-soc-mt8192-afe +snd-soc-mt8195-afe +snd-soc-mtk-common +snd-soc-nau8315 +snd-soc-nau8540 +snd-soc-nau8810 +snd-soc-nau8821 +snd-soc-nau8822 +snd-soc-nau8824 +snd-soc-pcm1681 +snd-soc-pcm1789-codec +snd-soc-pcm1789-i2c +snd-soc-pcm179x-codec +snd-soc-pcm179x-i2c +snd-soc-pcm179x-spi +snd-soc-pcm186x +snd-soc-pcm186x-i2c +snd-soc-pcm186x-spi +snd-soc-pcm3060 +snd-soc-pcm3060-i2c +snd-soc-pcm3060-spi +snd-soc-pcm3168a +snd-soc-pcm3168a-i2c +snd-soc-pcm3168a-spi +snd-soc-pcm5102a +snd-soc-pcm512x +snd-soc-pcm512x-i2c +snd-soc-pcm512x-spi +snd-soc-qcom-common +snd-soc-rcar +snd-soc-rk3288-hdmi-analog +snd-soc-rk3328 +snd-soc-rk3399-gru-sound +snd-soc-rk817 +snd-soc-rl6231 +snd-soc-rockchip-i2s +snd-soc-rockchip-i2s-tdm +snd-soc-rockchip-max98090 +snd-soc-rockchip-pdm +snd-soc-rockchip-rt5645 +snd-soc-rockchip-spdif +snd-soc-rt1011 +snd-soc-rt1015 +snd-soc-rt1015p +snd-soc-rt1308-sdw +snd-soc-rt1316-sdw +snd-soc-rt5514 +snd-soc-rt5514-spi +snd-soc-rt5616 +snd-soc-rt5631 +snd-soc-rt5640 +snd-soc-rt5645 +snd-soc-rt5659 +snd-soc-rt5663 +snd-soc-rt5677 +snd-soc-rt5677-spi +snd-soc-rt5682 +snd-soc-rt5682-i2c +snd-soc-rt5682-sdw +snd-soc-rt5682s +snd-soc-rt700 +snd-soc-rt711 +snd-soc-rt711-sdca +snd-soc-rt715 +snd-soc-rt715-sdca +snd-soc-rt9120 +snd-soc-rz-ssi +snd-soc-sc7180 +snd-soc-sc7280 +snd-soc-sdm845 +snd-soc-sdw-mockup +snd-soc-sgtl5000 +snd-soc-si476x +snd-soc-sigmadsp +snd-soc-sigmadsp-i2c +snd-soc-sigmadsp-regmap +snd-soc-simple-amplifier +snd-soc-simple-card +snd-soc-simple-card-utils +snd-soc-simple-mux +snd-soc-sm8250 +snd-soc-spdif-rx +snd-soc-spdif-tx +snd-soc-sprd-platform +snd-soc-ssm2305 +snd-soc-ssm2518 +snd-soc-ssm2602 +snd-soc-ssm2602-i2c +snd-soc-ssm2602-spi +snd-soc-ssm4567 +snd-soc-sta32x +snd-soc-sta350 +snd-soc-sti-sas +snd-soc-storm +snd-soc-tas2552 +snd-soc-tas2562 +snd-soc-tas2764 +snd-soc-tas2770 +snd-soc-tas5086 +snd-soc-tas571x +snd-soc-tas5720 +snd-soc-tas5805m +snd-soc-tas6424 +snd-soc-tda7419 +snd-soc-tegra-audio-graph-card +snd-soc-tegra-machine +snd-soc-tegra-pcm +snd-soc-tegra-wm8903 +snd-soc-tegra186-asrc +snd-soc-tegra186-dspk +snd-soc-tegra20-ac97 +snd-soc-tegra20-das +snd-soc-tegra20-i2s +snd-soc-tegra20-spdif +snd-soc-tegra210-admaif +snd-soc-tegra210-adx +snd-soc-tegra210-ahub +snd-soc-tegra210-amx +snd-soc-tegra210-dmic +snd-soc-tegra210-i2s +snd-soc-tegra210-mixer +snd-soc-tegra210-mvc +snd-soc-tegra210-sfc +snd-soc-tegra30-ahub +snd-soc-tegra30-i2s +snd-soc-tfa9879 +snd-soc-tfa989x +snd-soc-ti-edma +snd-soc-ti-sdma +snd-soc-ti-udma +snd-soc-tlv320adc3xxx +snd-soc-tlv320adcx140 +snd-soc-tlv320aic23 +snd-soc-tlv320aic23-i2c +snd-soc-tlv320aic23-spi +snd-soc-tlv320aic31xx +snd-soc-tlv320aic32x4 +snd-soc-tlv320aic32x4-i2c +snd-soc-tlv320aic32x4-spi +snd-soc-tlv320aic3x +snd-soc-tlv320aic3x-i2c +snd-soc-tlv320aic3x-spi +snd-soc-tpa6130a2 +snd-soc-ts3a227e +snd-soc-tscs42xx +snd-soc-tscs454 +snd-soc-uda1334 +snd-soc-wcd-mbhc +snd-soc-wcd9335 +snd-soc-wcd934x +snd-soc-wcd938x +snd-soc-wcd938x-sdw +snd-soc-wm-adsp +snd-soc-wm-hubs +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8524 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8731-i2c +snd-soc-wm8731-spi +snd-soc-wm8737 +snd-soc-wm8741 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8770 +snd-soc-wm8776 +snd-soc-wm8782 +snd-soc-wm8804 +snd-soc-wm8804-i2c +snd-soc-wm8804-spi +snd-soc-wm8903 +snd-soc-wm8904 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8962 +snd-soc-wm8974 +snd-soc-wm8978 +snd-soc-wm8985 +snd-soc-wm8994 +snd-soc-wm9712 +snd-soc-wsa881x +snd-soc-xlnx-formatter-pcm +snd-soc-xlnx-i2s +snd-soc-xlnx-spdif +snd-soc-xtfpga-i2s +snd-soc-zl38060 +snd-sof +snd-sof-imx8 +snd-sof-imx8m +snd-sof-mt8186 +snd-sof-mt8195 +snd-sof-of +snd-sof-utils +snd-sof-xtensa-dsp +snd-sonicvibes +snd-timer +snd-trident +snd-ua101 +snd-usb-6fire +snd-usb-audio +snd-usb-caiaq +snd-usb-hiface +snd-usb-line6 +snd-usb-pod +snd-usb-podhd +snd-usb-toneport +snd-usb-variax +snd-usbmidi-lib +snd-util-mem +snd-via82xx +snd-via82xx-modem +snd-virmidi +snd-virtuoso +snd-vx-lib +snd-vx222 +snd-ymfpci +snd_xen_front +snic +snps_udc_core +snps_udc_plat +snvs_pwrkey +soc_button_array +socfpga +socfpga-a10 +socinfo +softdog +softing +solo6x10 +solos-pci +sony-btf-mpx +soundcore +soundwire-bus +soundwire-cadence +soundwire-generic-allocation +soundwire-intel +soundwire-qcom +sp2 +sp805_wdt +sp8870 +sp887x +spaceball +spaceorb +sparse-keymap +sparx5-switch +sparx5-temp +spcp8x5 +speedfax +speedtch +spi-altera-core +spi-altera-dfl +spi-altera-platform +spi-amd +spi-armada-3700 +spi-axi-spi-engine +spi-bcm-qspi +spi-bcm2835 +spi-bcm2835aux +spi-bitbang +spi-brcmstb-qspi +spi-butterfly +spi-cadence +spi-cadence-quadspi +spi-cadence-xspi +spi-dln2 +spi-dw +spi-dw-mmio +spi-dw-pci +spi-fsi +spi-fsl-dspi +spi-fsl-lpspi +spi-fsl-qspi +spi-geni-qcom +spi-gpio +spi-hisi-kunpeng +spi-hisi-sfc-v3xx +spi-imx +spi-iproc-qspi +spi-lm70llp +spi-loopback-test +spi-meson-spicc +spi-meson-spifc +spi-mt65xx +spi-mtk-nor +spi-mtk-snfi +spi-mux +spi-mxic +spi-nor +spi-nxp-fspi +spi-oc-tiny +spi-orion +spi-pl022 +spi-pxa2xx-pci +spi-pxa2xx-platform +spi-qcom-qspi +spi-qup +spi-rockchip +spi-rockchip-sfc +spi-rpc-if +spi-rspi +spi-sc18is602 +spi-sh-hspi +spi-sh-msiof +spi-sifive +spi-slave-mt27xx +spi-slave-system-control +spi-slave-time +spi-sprd +spi-sprd-adi +spi-sun6i +spi-synquacer +spi-tegra114 +spi-tegra20-sflash +spi-tegra20-slink +spi-tegra210-quad +spi-thunderx +spi-tle62x0 +spi-xcomm +spi-xlp +spi-zynqmp-gqspi +spi_ks8995 +spidev +spinand +spl +spm +spmi +spmi-mtk-pmif +spmi-pmic-arb +sprd-dma +sprd-drm +sprd-iommu +sprd-mailbox +sprd-mcdt +sprd-sc27xx-spi +sprd_hwspinlock +sprd_serial +sprd_thermal +sprd_wdt +sps30 +sps30_i2c +sps30_serial +sr-thermal +sr030pc30 +sr9700 +sr9800 +srf04 +srf08 +ssb +ssb-hcd +ssd1307fb +ssd130x +ssd130x-i2c +ssd130x-spi +ssfdc +ssp_accel_sensor +ssp_gyro_sensor +ssp_iio +sst25l +sstfb +ssu100 +st +st-mipid02 +st-nci +st-nci_i2c +st-nci_spi +st1232 +st21nfca_hci +st21nfca_i2c +st7586 +st7735r +st95hf +st_accel +st_accel_i2c +st_accel_spi +st_drv +st_gyro +st_gyro_i2c +st_gyro_spi +st_lsm6dsx +st_lsm6dsx_i2c +st_lsm6dsx_i3c +st_lsm6dsx_spi +st_lsm9ds0 +st_lsm9ds0_i2c +st_lsm9ds0_spi +st_magn +st_magn_i2c +st_magn_spi +st_pressure +st_pressure_i2c +st_pressure_spi +st_sensors +st_sensors_i2c +st_sensors_spi +st_uvis25_core +st_uvis25_i2c +st_uvis25_spi +starfire +stb0899 +stb6000 +stb6100 +ste10Xp +stex +stinger +stk1160 +stk3310 +stk8312 +stk8ba50 +stkwebcam +stm_console +stm_core +stm_ftrace +stm_heartbeat +stm_p_basic +stm_p_sys-t +stmfts +stmfx +stmmac +stmmac-pci +stmmac-platform +stmpe-adc +stmpe-keypad +stmpe-ts +stowaway +stp +stpddc60 +stpmic1 +stpmic1_onkey +stpmic1_regulator +stpmic1_wdt +stratix10-rsu +stratix10-soc +stratix10-svc +streamzap +streebog_generic +stts751 +stusb160x +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv0910 +stv6110 +stv6110x +stv6111 +sun4i-backend +sun4i-csi +sun4i-drm +sun4i-drm-hdmi +sun4i-frontend +sun4i-gpadc +sun4i-ss +sun4i-tcon +sun4i_tv +sun50i-codec-analog +sun50i-cpufreq-nvmem +sun6i-csi +sun6i-dma +sun6i-rtc-ccu +sun6i_drc +sun6i_hwspinlock +sun6i_mipi_dsi +sun8i-a33-mbus +sun8i-adda-pr-regmap +sun8i-ce +sun8i-codec +sun8i-codec-analog +sun8i-di +sun8i-drm-hdmi +sun8i-mixer +sun8i-rotate +sun8i-ss +sun8i_tcon_top +sun8i_thermal +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrise_co2 +sunrpc +sunxi +sunxi-cedrus +sunxi-cir +sunxi-mmc +sunxi-rsb +sunxi_wdt +sur40 +surface3_spi +surface_acpi_notify +surface_aggregator +surface_aggregator_cdev +surface_aggregator_registry +surface_battery +surface_charger +surface_dtx +surface_gpe +surface_hid +surface_hid_core +surface_hotplug +surface_kbd +surface_platform_profile +svc-i3c-master +svgalib +switchtec +sx8 +sx8654 +sx9310 +sx9324 +sx9360 +sx9500 +sx_common +sy7636a-hwmon +sy7636a-regulator +sy8106a-regulator +sy8824x +sy8827n +sym53c8xx +symbolserial +synaptics_i2c +synaptics_usb +synclink_gt +synopsys_edac +syscon-reboot-mode +syscopyarea +sysfillrect +sysimgblt +sysv +t5403 +tag_ar9331 +tag_brcm +tag_dsa +tag_gswip +tag_hellcreek +tag_ksz +tag_lan9303 +tag_mtk +tag_ocelot +tag_ocelot_8021q +tag_qca +tag_rtl4_a +tag_rtl8_4 +tag_sja1105 +tag_trailer +tag_xrs700x +tap +target_core_file +target_core_iblock +target_core_mod +target_core_pscsi +target_core_user +tc-dwc-g210 +tc-dwc-g210-pci +tc-dwc-g210-pltfrm +tc358743 +tc358762 +tc358764 +tc358767 +tc358768 +tc358775 +tc3589x-keypad +tc654 +tc74 +tc90522 +tca6416-keypad +tca8418_keypad +tcan4x5x +tcm_fc +tcm_loop +tcm_qla2xxx +tcm_usb_gadget +tcp_bbr +tcp_bic +tcp_cdg +tcp_dctcp +tcp_diag +tcp_highspeed +tcp_htcp +tcp_hybla +tcp_illinois +tcp_lp +tcp_nv +tcp_scalable +tcp_vegas +tcp_veno +tcp_westwood +tcp_yeah +tcpci +tcpci_maxim +tcpci_mt6360 +tcpci_rt1711h +tcpm +tcrypt +tcs3414 +tcs3472 +tda10021 +tda10023 +tda10048 +tda1004x +tda10071 +tda10086 +tda18212 +tda18218 +tda18250 +tda18271 +tda18271c2dd +tda1997x +tda665x +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tda9950 +tda998x +tdfxfb +tdo24m +tea575x +tea5761 +tea5767 +tea6415c +tea6420 +team +team_mode_activebackup +team_mode_broadcast +team_mode_loadbalance +team_mode_random +team_mode_roundrobin +tee +tee_bnxt_fw +tef6862 +tegra-aconnect +tegra-bpmp-thermal +tegra-drm +tegra-gmi +tegra-kbc +tegra-vde +tegra-video +tegra-xudc +tegra186-cpufreq +tegra186-gpc-dma +tegra194-cpufreq +tegra210-adma +tegra210-emc +tegra30-devfreq +tegra_cec +tegra_nand +tegra_wdt +tehuti +teranetics +test_blackhole_dev +test_bpf +test_div64 +test_power +tg3 +thc63lvd1024 +thermal-generic-adc +thermal_mmio +thmc50 +ths7303 +ths8200 +thunder_bgx +thunder_xcv +thunderbolt +thunderbolt-net +thunderx-mmc +thunderx2_pmu +thunderx_edac +thunderx_zip +ti-adc081c +ti-adc0832 +ti-adc084s021 +ti-adc108s102 +ti-adc12138 +ti-adc128s052 +ti-adc161s626 +ti-ads1015 +ti-ads124s08 +ti-ads131e08 +ti-ads7950 +ti-ads8344 +ti-ads8688 +ti-am65-cpsw-nuss +ti-cal +ti-dac082s085 +ti-dac5571 +ti-dac7311 +ti-dac7612 +ti-j721e-ufs +ti-lmu +ti-sn65dsi83 +ti-sn65dsi86 +ti-tfp410 +ti-tlc4541 +ti-tpd12s015 +ti-tsc2046 +ti_am335x_adc +ti_am335x_tsc +ti_am335x_tscadc +ti_k3_dsp_remoteproc +ti_k3_r5_remoteproc +ti_sci_pm_domains +ti_usb_3410_5052 +tidss +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +timeriomem-rng +tipc +tlan +tls +tlv320aic23b +tm2-touchkey +tm6000 +tm6000-alsa +tm6000-dvb +tmdc +tmio_mmc_core +tmp006 +tmp007 +tmp102 +tmp103 +tmp108 +tmp117 +tmp401 +tmp421 +tmp464 +tmp513 +toshsd +touchit213 +touchright +touchwin +tpci200 +tpl0102 +tpm_atmel +tpm_ftpm_tee +tpm_i2c_atmel +tpm_i2c_infineon +tpm_i2c_nuvoton +tpm_infineon +tpm_st33zp24 +tpm_st33zp24_i2c +tpm_st33zp24_spi +tpm_tis_i2c_cr50 +tpm_tis_spi +tpm_tis_synquacer +tpm_vtpm_proxy +tps23861 +tps40422 +tps51632-regulator +tps53679 +tps6105x +tps6105x-regulator +tps62360-regulator +tps6286x-regulator +tps65010 +tps65023-regulator +tps6507x +tps6507x-regulator +tps6507x-ts +tps65086 +tps65086-regulator +tps65090-charger +tps65090-regulator +tps65132-regulator +tps65217 +tps65217-regulator +tps65217_bl +tps65217_charger +tps65218 +tps65218-pwrbutton +tps65218-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +tps6598x +tqmx86 +trace-printk +trancevibrator +trf7970a +tridentfb +ts2020 +ts_bm +ts_fsm +ts_kmp +tsc2004 +tsc2005 +tsc2007 +tsc200x-core +tsc40 +tsi721_mport +tsl2550 +tsl2563 +tsl2583 +tsl2591 +tsl2772 +tsl4531 +tsnep +tsys01 +tsys02d +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +ttusbir +ttynull +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tunnel4 +tunnel6 +turbografx +turingcc-qcs404 +turris-mox-rwtm +tvaudio +tveeprom +tvp514x +tvp5150 +tvp7002 +tw2804 +tw5864 +tw68 +tw686x +tw9903 +tw9906 +tw9910 +twidjoy +twl-regulator +twl4030-madc +twl4030-pwrbutton +twl4030-vibra +twl4030_charger +twl4030_keypad +twl4030_madc_battery +twl4030_wdt +twl6030-gpadc +twl6030-regulator +twl6040-vibra +twofish_common +twofish_generic +typec +typec_displayport +typec_nvidia +typec_ucsi +typhoon +u132-hcd +uPD60620 +u_audio +u_ether +u_serial +uacce +uartlite +uas +ubi +ubifs +ubuntu-host +ucan +ucb1400_core +ucb1400_ts +ucc_uart +ucd9000 +ucd9200 +ucs1002_power +ucsi_acpi +ucsi_ccg +uda1342 +udc-core +udc-xilinx +udf +udl +udlfb +udp_diag +udp_tunnel +ueagle-atm +ufs +ufs-hisi +ufs-mediatek +ufs_qcom +ufshcd-core +ufshcd-dwc +ufshcd-pci +ufshcd-pltfrm +ug3105_battery +uhid +uio +uio_aec +uio_cif +uio_dfl +uio_dmem_genirq +uio_hv_generic +uio_mf624 +uio_netx +uio_pci_generic +uio_pdrv_genirq +uio_pruss +uio_sercos3 +uleds +uli526x +ulpi +ums-alauda +ums-cypress +ums-datafab +ums-eneub6250 +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-realtek +ums-sddr09 +ums-sddr55 +ums-usbat +unix_diag +upd64031a +upd64083 +upd78f0730 +us5182d +usb-conn-gpio +usb-dmac +usb-serial-simple +usb-storage +usb251xb +usb3503 +usb4604 +usb8xxx +usb_8dev +usb_debug +usb_f_acm +usb_f_ecm +usb_f_ecm_subset +usb_f_eem +usb_f_fs +usb_f_hid +usb_f_mass_storage +usb_f_midi +usb_f_ncm +usb_f_obex +usb_f_phonet +usb_f_printer +usb_f_rndis +usb_f_serial +usb_f_ss_lb +usb_f_tcm +usb_f_uac1 +usb_f_uac1_legacy +usb_f_uac2 +usb_f_uvc +usb_wwan +usbatm +usbdux +usbduxfast +usbduxsigma +usbhid +usbip-core +usbip-host +usbip-vudc +usbkbd +usblcd +usblp +usbmisc_imx +usbmon +usbmouse +usbnet +usbserial +usbsevseg +usbtest +usbtmc +usbtouchscreen +usbtv +usdhi6rol0 +userio +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +v3d +v4l2-async +v4l2-dv-timings +v4l2-flash-led-class +v4l2-fwnode +v4l2-h264 +v4l2-jpeg +v4l2-mem2mem +v4l2-tpg +v4l2-vp9 +vc4 +vcan +vchiq +vcnl3020 +vcnl4000 +vcnl4035 +vctrl-regulator +vdpa +vdpa_sim +vdpa_sim_blk +vdpa_sim_net +vduse +veml6030 +veml6070 +venus-core +venus-dec +venus-enc +versal-fpga +ves1820 +ves1x93 +veth +vexpress-hwmon +vexpress-regulator +vf610_adc +vf610_dac +vfio +vfio-amba +vfio-fsl-mc +vfio-pci +vfio-pci-core +vfio-platform +vfio-platform-amdxgbe +vfio-platform-base +vfio-platform-calxedaxgmac +vfio_iommu_type1 +vfio_platform_bcmflexrm +vfio_virqfd +vgastate +vgem +vgg2432a4 +vhci-hcd +vhost +vhost_iotlb +vhost_net +vhost_scsi +vhost_vdpa +vhost_vsock +via-rhine +via-sdmmc +via-velocity +via686a +vicodec +video-i2c +video-mux +videobuf-core +videobuf-dma-sg +videobuf-vmalloc +videobuf2-common +videobuf2-dma-contig +videobuf2-dma-sg +videobuf2-dvb +videobuf2-memops +videobuf2-v4l2 +videobuf2-vmalloc +videocc-sc7180 +videocc-sc7280 +videocc-sdm845 +videocc-sm8150 +videocc-sm8250 +videodev +vim2m +vimc +viperboard +viperboard_adc +virt_wifi +virtio-gpu +virtio-rng +virtio_blk +virtio_bt +virtio_crypto +virtio_dma_buf +virtio_input +virtio_mem +virtio_net +virtio_pmem +virtio_rpmsg_bus +virtio_snd +virtio_vdpa +virtiofs +virtual +virtual_ncidev +visconti_wdt +visor +vitesse +vitesse-vsc73xx-core +vitesse-vsc73xx-platform +vitesse-vsc73xx-spi +vivid +vkms +vl53l0x-i2c +vl6180 +vmac +vme_fake +vme_tsi148 +vme_user +vme_vmivme7805 +vmgenid +vmk80xx +vmw_pvrdma +vmw_vmci +vmw_vsock_virtio_transport +vmw_vsock_virtio_transport_common +vmw_vsock_vmci_transport +vmwgfx +vmxnet3 +vp27smpx +vp_vdpa +vport-geneve +vport-gre +vport-vxlan +vpx3220 +vqmmc-ipq4019-regulator +vrf +vringh +vs6624 +vsock +vsock_diag +vsock_loopback +vsockmon +vsp1 +vsxxxaa +vt1211 +vt6655_stage +vt6656_stage +vt8231 +vt8623fb +vub300 +vx855 +vxcan +vxge +vxlan +vz89x +w1-gpio +w1_ds2405 +w1_ds2406 +w1_ds2408 +w1_ds2413 +w1_ds2423 +w1_ds2430 +w1_ds2431 +w1_ds2433 +w1_ds2438 +w1_ds250x +w1_ds2780 +w1_ds2781 +w1_ds2805 +w1_ds28e04 +w1_ds28e17 +w1_smem +w1_therm +w5100 +w5100-spi +w5300 +w6692 +w83627ehf +w83627hf +w83773g +w83781d +w83791d +w83792d +w83793 +w83795 +w83l785ts +w83l786ng +wacom +wacom_i2c +wacom_serial4 +wacom_w8001 +walkera0701 +wanxl +warrior +wcd934x +wcn36xx +wcnss_ctrl +wd719x +wdat_wdt +wdt87xx_i2c +wdt_pci +wfx +whiteheat +wil6210 +wilc1000 +wilc1000-sdio +wilc1000-spi +winbond-840 +wire +wireguard +wishbone-serial +wl1251 +wl1251_sdio +wl1251_spi +wl1273-core +wl12xx +wl18xx +wlcore +wlcore_sdio +wlcore_spi +wm831x-dcdc +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x-ts +wm831x_backup +wm831x_bl +wm831x_power +wm831x_wdt +wm8350-hwmon +wm8350-regulator +wm8350_power +wm8350_wdt +wm8400-regulator +wm8739 +wm8775 +wm8994 +wm8994-regulator +wm97xx-ts +wp512 +wusb3801 +wwan_hwsim +x25 +x_tables +xbox_remote +xc2028 +xc4000 +xc5000 +xcbc +xdpe12284 +xdpe152c4 +xen-blkback +xen-evtchn +xen-fbfront +xen-front-pgdir-shbuf +xen-gntalloc +xen-gntdev +xen-hcd +xen-kbdfront +xen-netback +xen-pciback +xen-privcmd +xen-scsiback +xen-scsifront +xen-tpmfront +xen_wdt +xenfs +xfrm4_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_interface +xfrm_ipcomp +xfrm_user +xfs +xgene-dma +xgene-enet +xgene-enet-v2 +xgene-hwmon +xgene-rng +xgene_edac +xhci-histb +xhci-mtk-hcd +xhci-pci +xhci-pci-renesas +xhci-plat-hcd +xhci-tegra +xilinx-ams +xilinx-csi2rxss +xilinx-pr-decoupler +xilinx-spi +xilinx-tpg +xilinx-video +xilinx-vtc +xilinx-xadc +xilinx_can +xilinx_dma +xilinx_dpdma +xilinx_emac +xilinx_emaclite +xilinx_gmii2rgmii +xilinx_sdfec +xilinx_uartps +xilinxfb +xillybus_class +xillybus_core +xillybus_of +xillybus_pcie +xillyusb +xiphera-trng +xircom_cb +xlnx_vcu +xor +xor-neon +xpad +xr_serial +xrs700x +xrs700x_i2c +xrs700x_mdio +xsens_mt +xsk_diag +xt_AUDIT +xt_CHECKSUM +xt_CLASSIFY +xt_CONNSECMARK +xt_CT +xt_DSCP +xt_HL +xt_HMARK +xt_IDLETIMER +xt_LED +xt_LOG +xt_MASQUERADE +xt_NETMAP +xt_NFLOG +xt_NFQUEUE +xt_RATEEST +xt_REDIRECT +xt_SECMARK +xt_TCPMSS +xt_TCPOPTSTRIP +xt_TEE +xt_TPROXY +xt_TRACE +xt_addrtype +xt_bpf +xt_cgroup +xt_cluster +xt_comment +xt_connbytes +xt_connlabel +xt_connlimit +xt_connmark +xt_conntrack +xt_cpu +xt_dccp +xt_devgroup +xt_dscp +xt_ecn +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_ipcomp +xt_iprange +xt_ipvs +xt_l2tp +xt_length +xt_limit +xt_mac +xt_mark +xt_multiport +xt_nat +xt_nfacct +xt_osf +xt_owner +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_rateest +xt_realm +xt_recent +xt_sctp +xt_set +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_tcpudp +xt_time +xt_u32 +xtkbd +xusbatm +xxhash_generic +xz_dec_test +yam +yamaha-yas530 +yealink +yellowfin +yenta_socket +yurex +z3fold +zaurus +zavl +zcommon +zd1201 +zd1211rw +zd1301 +zd1301_demod +zet6223 +zforce_ts +zfs +zhenhua +ziirave_wdt +zinitix +zl10036 +zl10039 +zl10353 +zl6100 +zlua +znvpair +zonefs +zopt2201 +zpa2326 +zpa2326_i2c +zpa2326_spi +zr36067 +zr364xx +zram +zstd +zunicode +zynqmp-aes-gcm +zynqmp-dpsub +zynqmp-fpga +zynqmp-sha +zynqmp_dma +zzstd --- linux-gcp-5.19.0.orig/debian.gcp/abi/arm64/gcp.retpoline +++ linux-gcp-5.19.0/debian.gcp/abi/arm64/gcp.retpoline @@ -0,0 +1 @@ +# RETPOLINE NOT ENABLED --- linux-gcp-5.19.0.orig/debian.gcp/abi/fwinfo +++ linux-gcp-5.19.0/debian.gcp/abi/fwinfo @@ -0,0 +1,2046 @@ +firmware: 3826.arm +firmware: 3com/typhoon.bin +firmware: 6fire/dmx6fireap.ihx +firmware: 6fire/dmx6firecf.bin +firmware: 6fire/dmx6firel2.ihx +firmware: BCM2033-FW.bin +firmware: BCM2033-MD.hex +firmware: BT3CPCC.bin +firmware: RTL8192E/boot.img +firmware: RTL8192E/data.img +firmware: RTL8192E/main.img +firmware: RTL8192U/boot.img +firmware: RTL8192U/data.img +firmware: RTL8192U/main.img +firmware: acenic/tg1.bin +firmware: acenic/tg2.bin +firmware: adaptec/starfire_rx.bin +firmware: adaptec/starfire_tx.bin +firmware: advansys/3550.bin +firmware: advansys/38C0800.bin +firmware: advansys/38C1600.bin +firmware: advansys/mcode.bin +firmware: agere_ap_fw.bin +firmware: agere_sta_fw.bin +firmware: aic94xx-seq.fw +firmware: amd/amd_sev_fam17h_model0xh.sbin +firmware: amd/amd_sev_fam17h_model3xh.sbin +firmware: amd/amd_sev_fam19h_model0xh.sbin +firmware: amdgpu/aldebaran_cap.bin +firmware: amdgpu/aldebaran_mec.bin +firmware: amdgpu/aldebaran_mec2.bin +firmware: amdgpu/aldebaran_rlc.bin +firmware: amdgpu/aldebaran_sdma.bin +firmware: amdgpu/aldebaran_smc.bin +firmware: amdgpu/aldebaran_sos.bin +firmware: amdgpu/aldebaran_ta.bin +firmware: amdgpu/aldebaran_vcn.bin +firmware: amdgpu/arcturus_asd.bin +firmware: amdgpu/arcturus_gpu_info.bin +firmware: amdgpu/arcturus_mec.bin +firmware: amdgpu/arcturus_rlc.bin +firmware: amdgpu/arcturus_sdma.bin +firmware: amdgpu/arcturus_smc.bin +firmware: amdgpu/arcturus_sos.bin +firmware: amdgpu/arcturus_ta.bin +firmware: amdgpu/arcturus_vcn.bin +firmware: amdgpu/banks_k_2_smc.bin +firmware: amdgpu/beige_goby_ce.bin +firmware: amdgpu/beige_goby_dmcub.bin +firmware: amdgpu/beige_goby_me.bin +firmware: amdgpu/beige_goby_mec.bin +firmware: amdgpu/beige_goby_mec2.bin +firmware: amdgpu/beige_goby_pfp.bin +firmware: amdgpu/beige_goby_rlc.bin +firmware: amdgpu/beige_goby_sdma.bin +firmware: amdgpu/beige_goby_smc.bin +firmware: amdgpu/beige_goby_sos.bin +firmware: amdgpu/beige_goby_ta.bin +firmware: amdgpu/beige_goby_vcn.bin +firmware: amdgpu/bonaire_ce.bin +firmware: amdgpu/bonaire_k_smc.bin +firmware: amdgpu/bonaire_mc.bin +firmware: amdgpu/bonaire_me.bin +firmware: amdgpu/bonaire_mec.bin +firmware: amdgpu/bonaire_pfp.bin +firmware: amdgpu/bonaire_rlc.bin +firmware: amdgpu/bonaire_sdma.bin +firmware: amdgpu/bonaire_sdma1.bin +firmware: amdgpu/bonaire_smc.bin +firmware: amdgpu/bonaire_uvd.bin +firmware: amdgpu/bonaire_vce.bin +firmware: amdgpu/carrizo_ce.bin +firmware: amdgpu/carrizo_me.bin +firmware: amdgpu/carrizo_mec.bin +firmware: amdgpu/carrizo_mec2.bin +firmware: amdgpu/carrizo_pfp.bin +firmware: amdgpu/carrizo_rlc.bin +firmware: amdgpu/carrizo_sdma.bin +firmware: amdgpu/carrizo_sdma1.bin +firmware: amdgpu/carrizo_uvd.bin +firmware: amdgpu/carrizo_vce.bin +firmware: amdgpu/cyan_skillfish2_ce.bin +firmware: amdgpu/cyan_skillfish2_me.bin +firmware: amdgpu/cyan_skillfish2_mec.bin +firmware: amdgpu/cyan_skillfish2_mec2.bin +firmware: amdgpu/cyan_skillfish2_pfp.bin +firmware: amdgpu/cyan_skillfish2_rlc.bin +firmware: amdgpu/cyan_skillfish2_sdma.bin +firmware: amdgpu/cyan_skillfish2_sdma1.bin +firmware: amdgpu/dcn_3_1_5_dmcub.bin +firmware: amdgpu/dcn_3_1_6_dmcub.bin +firmware: amdgpu/dimgrey_cavefish_ce.bin +firmware: amdgpu/dimgrey_cavefish_dmcub.bin +firmware: amdgpu/dimgrey_cavefish_me.bin +firmware: amdgpu/dimgrey_cavefish_mec.bin +firmware: amdgpu/dimgrey_cavefish_mec2.bin +firmware: amdgpu/dimgrey_cavefish_pfp.bin +firmware: amdgpu/dimgrey_cavefish_rlc.bin +firmware: amdgpu/dimgrey_cavefish_sdma.bin +firmware: amdgpu/dimgrey_cavefish_smc.bin +firmware: amdgpu/dimgrey_cavefish_sos.bin +firmware: amdgpu/dimgrey_cavefish_ta.bin +firmware: amdgpu/dimgrey_cavefish_vcn.bin +firmware: amdgpu/fiji_ce.bin +firmware: amdgpu/fiji_me.bin +firmware: amdgpu/fiji_mec.bin +firmware: amdgpu/fiji_mec2.bin +firmware: amdgpu/fiji_pfp.bin +firmware: amdgpu/fiji_rlc.bin +firmware: amdgpu/fiji_sdma.bin +firmware: amdgpu/fiji_sdma1.bin +firmware: amdgpu/fiji_smc.bin +firmware: amdgpu/fiji_uvd.bin +firmware: amdgpu/fiji_vce.bin +firmware: amdgpu/gc_10_3_6_ce.bin +firmware: amdgpu/gc_10_3_6_me.bin +firmware: amdgpu/gc_10_3_6_mec.bin +firmware: amdgpu/gc_10_3_6_mec2.bin +firmware: amdgpu/gc_10_3_6_pfp.bin +firmware: amdgpu/gc_10_3_6_rlc.bin +firmware: amdgpu/gc_10_3_7_ce.bin +firmware: amdgpu/gc_10_3_7_me.bin +firmware: amdgpu/gc_10_3_7_mec.bin +firmware: amdgpu/gc_10_3_7_mec2.bin +firmware: amdgpu/gc_10_3_7_pfp.bin +firmware: amdgpu/gc_10_3_7_rlc.bin +firmware: amdgpu/gc_11_0_0_imu.bin +firmware: amdgpu/gc_11_0_0_me.bin +firmware: amdgpu/gc_11_0_0_mec.bin +firmware: amdgpu/gc_11_0_0_mes.bin +firmware: amdgpu/gc_11_0_0_mes1.bin +firmware: amdgpu/gc_11_0_0_pfp.bin +firmware: amdgpu/gc_11_0_0_rlc.bin +firmware: amdgpu/gc_11_0_0_toc.bin +firmware: amdgpu/gc_11_0_1_imu.bin +firmware: amdgpu/gc_11_0_1_me.bin +firmware: amdgpu/gc_11_0_1_mec.bin +firmware: amdgpu/gc_11_0_1_mes.bin +firmware: amdgpu/gc_11_0_1_mes1.bin +firmware: amdgpu/gc_11_0_1_pfp.bin +firmware: amdgpu/gc_11_0_1_rlc.bin +firmware: amdgpu/gc_11_0_2_imu.bin +firmware: amdgpu/gc_11_0_2_me.bin +firmware: amdgpu/gc_11_0_2_mec.bin +firmware: amdgpu/gc_11_0_2_mes.bin +firmware: amdgpu/gc_11_0_2_mes1.bin +firmware: amdgpu/gc_11_0_2_pfp.bin +firmware: amdgpu/gc_11_0_2_rlc.bin +firmware: amdgpu/green_sardine_asd.bin +firmware: amdgpu/green_sardine_ce.bin +firmware: amdgpu/green_sardine_dmcub.bin +firmware: amdgpu/green_sardine_me.bin +firmware: amdgpu/green_sardine_mec.bin +firmware: amdgpu/green_sardine_mec2.bin +firmware: amdgpu/green_sardine_pfp.bin +firmware: amdgpu/green_sardine_rlc.bin +firmware: amdgpu/green_sardine_sdma.bin +firmware: amdgpu/green_sardine_ta.bin +firmware: amdgpu/green_sardine_vcn.bin +firmware: amdgpu/hainan_ce.bin +firmware: amdgpu/hainan_k_smc.bin +firmware: amdgpu/hainan_mc.bin +firmware: amdgpu/hainan_me.bin +firmware: amdgpu/hainan_pfp.bin +firmware: amdgpu/hainan_rlc.bin +firmware: amdgpu/hainan_smc.bin +firmware: amdgpu/hawaii_ce.bin +firmware: amdgpu/hawaii_k_smc.bin +firmware: amdgpu/hawaii_mc.bin +firmware: amdgpu/hawaii_me.bin +firmware: amdgpu/hawaii_mec.bin +firmware: amdgpu/hawaii_pfp.bin +firmware: amdgpu/hawaii_rlc.bin +firmware: amdgpu/hawaii_sdma.bin +firmware: amdgpu/hawaii_sdma1.bin +firmware: amdgpu/hawaii_smc.bin +firmware: amdgpu/hawaii_uvd.bin +firmware: amdgpu/hawaii_vce.bin +firmware: amdgpu/ip_discovery.bin +firmware: amdgpu/kabini_ce.bin +firmware: amdgpu/kabini_me.bin +firmware: amdgpu/kabini_mec.bin +firmware: amdgpu/kabini_pfp.bin +firmware: amdgpu/kabini_rlc.bin +firmware: amdgpu/kabini_sdma.bin +firmware: amdgpu/kabini_sdma1.bin +firmware: amdgpu/kabini_uvd.bin +firmware: amdgpu/kabini_vce.bin +firmware: amdgpu/kaveri_ce.bin +firmware: amdgpu/kaveri_me.bin +firmware: amdgpu/kaveri_mec.bin +firmware: amdgpu/kaveri_mec2.bin +firmware: amdgpu/kaveri_pfp.bin +firmware: amdgpu/kaveri_rlc.bin +firmware: amdgpu/kaveri_sdma.bin +firmware: amdgpu/kaveri_sdma1.bin +firmware: amdgpu/kaveri_uvd.bin +firmware: amdgpu/kaveri_vce.bin +firmware: amdgpu/mullins_ce.bin +firmware: amdgpu/mullins_me.bin +firmware: amdgpu/mullins_mec.bin +firmware: amdgpu/mullins_pfp.bin +firmware: amdgpu/mullins_rlc.bin +firmware: amdgpu/mullins_sdma.bin +firmware: amdgpu/mullins_sdma1.bin +firmware: amdgpu/mullins_uvd.bin +firmware: amdgpu/mullins_vce.bin +firmware: amdgpu/navi10_asd.bin +firmware: amdgpu/navi10_ce.bin +firmware: amdgpu/navi10_me.bin +firmware: amdgpu/navi10_mec.bin +firmware: amdgpu/navi10_mec2.bin +firmware: amdgpu/navi10_mes.bin +firmware: amdgpu/navi10_pfp.bin +firmware: amdgpu/navi10_rlc.bin +firmware: amdgpu/navi10_sdma.bin +firmware: amdgpu/navi10_sdma1.bin +firmware: amdgpu/navi10_smc.bin +firmware: amdgpu/navi10_sos.bin +firmware: amdgpu/navi10_ta.bin +firmware: amdgpu/navi10_vcn.bin +firmware: amdgpu/navi12_asd.bin +firmware: amdgpu/navi12_cap.bin +firmware: amdgpu/navi12_ce.bin +firmware: amdgpu/navi12_dmcu.bin +firmware: amdgpu/navi12_gpu_info.bin +firmware: amdgpu/navi12_me.bin +firmware: amdgpu/navi12_mec.bin +firmware: amdgpu/navi12_mec2.bin +firmware: amdgpu/navi12_pfp.bin +firmware: amdgpu/navi12_rlc.bin +firmware: amdgpu/navi12_sdma.bin +firmware: amdgpu/navi12_sdma1.bin +firmware: amdgpu/navi12_smc.bin +firmware: amdgpu/navi12_sos.bin +firmware: amdgpu/navi12_ta.bin +firmware: amdgpu/navi12_vcn.bin +firmware: amdgpu/navi14_asd.bin +firmware: amdgpu/navi14_ce.bin +firmware: amdgpu/navi14_ce_wks.bin +firmware: amdgpu/navi14_me.bin +firmware: amdgpu/navi14_me_wks.bin +firmware: amdgpu/navi14_mec.bin +firmware: amdgpu/navi14_mec2.bin +firmware: amdgpu/navi14_mec2_wks.bin +firmware: amdgpu/navi14_mec_wks.bin +firmware: amdgpu/navi14_pfp.bin +firmware: amdgpu/navi14_pfp_wks.bin +firmware: amdgpu/navi14_rlc.bin +firmware: amdgpu/navi14_sdma.bin +firmware: amdgpu/navi14_sdma1.bin +firmware: amdgpu/navi14_smc.bin +firmware: amdgpu/navi14_sos.bin +firmware: amdgpu/navi14_ta.bin +firmware: amdgpu/navi14_vcn.bin +firmware: amdgpu/navy_flounder_ce.bin +firmware: amdgpu/navy_flounder_dmcub.bin +firmware: amdgpu/navy_flounder_me.bin +firmware: amdgpu/navy_flounder_mec.bin +firmware: amdgpu/navy_flounder_mec2.bin +firmware: amdgpu/navy_flounder_pfp.bin +firmware: amdgpu/navy_flounder_rlc.bin +firmware: amdgpu/navy_flounder_sdma.bin +firmware: amdgpu/navy_flounder_smc.bin +firmware: amdgpu/navy_flounder_sos.bin +firmware: amdgpu/navy_flounder_ta.bin +firmware: amdgpu/navy_flounder_vcn.bin +firmware: amdgpu/oland_ce.bin +firmware: amdgpu/oland_k_smc.bin +firmware: amdgpu/oland_mc.bin +firmware: amdgpu/oland_me.bin +firmware: amdgpu/oland_pfp.bin +firmware: amdgpu/oland_rlc.bin +firmware: amdgpu/oland_smc.bin +firmware: amdgpu/oland_uvd.bin +firmware: amdgpu/picasso_asd.bin +firmware: amdgpu/picasso_ce.bin +firmware: amdgpu/picasso_gpu_info.bin +firmware: amdgpu/picasso_me.bin +firmware: amdgpu/picasso_mec.bin +firmware: amdgpu/picasso_mec2.bin +firmware: amdgpu/picasso_pfp.bin +firmware: amdgpu/picasso_rlc.bin +firmware: amdgpu/picasso_rlc_am4.bin +firmware: amdgpu/picasso_sdma.bin +firmware: amdgpu/picasso_ta.bin +firmware: amdgpu/picasso_vcn.bin +firmware: amdgpu/pitcairn_ce.bin +firmware: amdgpu/pitcairn_k_smc.bin +firmware: amdgpu/pitcairn_mc.bin +firmware: amdgpu/pitcairn_me.bin +firmware: amdgpu/pitcairn_pfp.bin +firmware: amdgpu/pitcairn_rlc.bin +firmware: amdgpu/pitcairn_smc.bin +firmware: amdgpu/pitcairn_uvd.bin +firmware: amdgpu/polaris10_ce.bin +firmware: amdgpu/polaris10_ce_2.bin +firmware: amdgpu/polaris10_k2_smc.bin +firmware: amdgpu/polaris10_k_mc.bin +firmware: amdgpu/polaris10_k_smc.bin +firmware: amdgpu/polaris10_mc.bin +firmware: amdgpu/polaris10_me.bin +firmware: amdgpu/polaris10_me_2.bin +firmware: amdgpu/polaris10_mec.bin +firmware: amdgpu/polaris10_mec2.bin +firmware: amdgpu/polaris10_mec2_2.bin +firmware: amdgpu/polaris10_mec_2.bin +firmware: amdgpu/polaris10_pfp.bin +firmware: amdgpu/polaris10_pfp_2.bin +firmware: amdgpu/polaris10_rlc.bin +firmware: amdgpu/polaris10_sdma.bin +firmware: amdgpu/polaris10_sdma1.bin +firmware: amdgpu/polaris10_smc.bin +firmware: amdgpu/polaris10_smc_sk.bin +firmware: amdgpu/polaris10_uvd.bin +firmware: amdgpu/polaris10_vce.bin +firmware: amdgpu/polaris11_ce.bin +firmware: amdgpu/polaris11_ce_2.bin +firmware: amdgpu/polaris11_k2_smc.bin +firmware: amdgpu/polaris11_k_mc.bin +firmware: amdgpu/polaris11_k_smc.bin +firmware: amdgpu/polaris11_mc.bin +firmware: amdgpu/polaris11_me.bin +firmware: amdgpu/polaris11_me_2.bin +firmware: amdgpu/polaris11_mec.bin +firmware: amdgpu/polaris11_mec2.bin +firmware: amdgpu/polaris11_mec2_2.bin +firmware: amdgpu/polaris11_mec_2.bin +firmware: amdgpu/polaris11_pfp.bin +firmware: amdgpu/polaris11_pfp_2.bin +firmware: amdgpu/polaris11_rlc.bin +firmware: amdgpu/polaris11_sdma.bin +firmware: amdgpu/polaris11_sdma1.bin +firmware: amdgpu/polaris11_smc.bin +firmware: amdgpu/polaris11_smc_sk.bin +firmware: amdgpu/polaris11_uvd.bin +firmware: amdgpu/polaris11_vce.bin +firmware: amdgpu/polaris12_32_mc.bin +firmware: amdgpu/polaris12_ce.bin +firmware: amdgpu/polaris12_ce_2.bin +firmware: amdgpu/polaris12_k_mc.bin +firmware: amdgpu/polaris12_k_smc.bin +firmware: amdgpu/polaris12_mc.bin +firmware: amdgpu/polaris12_me.bin +firmware: amdgpu/polaris12_me_2.bin +firmware: amdgpu/polaris12_mec.bin +firmware: amdgpu/polaris12_mec2.bin +firmware: amdgpu/polaris12_mec2_2.bin +firmware: amdgpu/polaris12_mec_2.bin +firmware: amdgpu/polaris12_pfp.bin +firmware: amdgpu/polaris12_pfp_2.bin +firmware: amdgpu/polaris12_rlc.bin +firmware: amdgpu/polaris12_sdma.bin +firmware: amdgpu/polaris12_sdma1.bin +firmware: amdgpu/polaris12_smc.bin +firmware: amdgpu/polaris12_uvd.bin +firmware: amdgpu/polaris12_vce.bin +firmware: amdgpu/psp_13_0_0_sos.bin +firmware: amdgpu/psp_13_0_5_ta.bin +firmware: amdgpu/psp_13_0_5_toc.bin +firmware: amdgpu/psp_13_0_7_sos.bin +firmware: amdgpu/psp_13_0_8_ta.bin +firmware: amdgpu/psp_13_0_8_toc.bin +firmware: amdgpu/raven2_asd.bin +firmware: amdgpu/raven2_ce.bin +firmware: amdgpu/raven2_gpu_info.bin +firmware: amdgpu/raven2_me.bin +firmware: amdgpu/raven2_mec.bin +firmware: amdgpu/raven2_mec2.bin +firmware: amdgpu/raven2_pfp.bin +firmware: amdgpu/raven2_rlc.bin +firmware: amdgpu/raven2_sdma.bin +firmware: amdgpu/raven2_ta.bin +firmware: amdgpu/raven2_vcn.bin +firmware: amdgpu/raven_asd.bin +firmware: amdgpu/raven_ce.bin +firmware: amdgpu/raven_dmcu.bin +firmware: amdgpu/raven_gpu_info.bin +firmware: amdgpu/raven_kicker_rlc.bin +firmware: amdgpu/raven_me.bin +firmware: amdgpu/raven_mec.bin +firmware: amdgpu/raven_mec2.bin +firmware: amdgpu/raven_pfp.bin +firmware: amdgpu/raven_rlc.bin +firmware: amdgpu/raven_sdma.bin +firmware: amdgpu/raven_ta.bin +firmware: amdgpu/raven_vcn.bin +firmware: amdgpu/renoir_asd.bin +firmware: amdgpu/renoir_ce.bin +firmware: amdgpu/renoir_dmcub.bin +firmware: amdgpu/renoir_me.bin +firmware: amdgpu/renoir_mec.bin +firmware: amdgpu/renoir_pfp.bin +firmware: amdgpu/renoir_rlc.bin +firmware: amdgpu/renoir_sdma.bin +firmware: amdgpu/renoir_ta.bin +firmware: amdgpu/renoir_vcn.bin +firmware: amdgpu/sdma_5_2_6.bin +firmware: amdgpu/sdma_5_2_7.bin +firmware: amdgpu/sdma_6_0_0.bin +firmware: amdgpu/sdma_6_0_1.bin +firmware: amdgpu/sdma_6_0_2.bin +firmware: amdgpu/si58_mc.bin +firmware: amdgpu/sienna_cichlid_cap.bin +firmware: amdgpu/sienna_cichlid_ce.bin +firmware: amdgpu/sienna_cichlid_dmcub.bin +firmware: amdgpu/sienna_cichlid_me.bin +firmware: amdgpu/sienna_cichlid_mec.bin +firmware: amdgpu/sienna_cichlid_mec2.bin +firmware: amdgpu/sienna_cichlid_mes.bin +firmware: amdgpu/sienna_cichlid_mes1.bin +firmware: amdgpu/sienna_cichlid_pfp.bin +firmware: amdgpu/sienna_cichlid_rlc.bin +firmware: amdgpu/sienna_cichlid_sdma.bin +firmware: amdgpu/sienna_cichlid_smc.bin +firmware: amdgpu/sienna_cichlid_sos.bin +firmware: amdgpu/sienna_cichlid_ta.bin +firmware: amdgpu/sienna_cichlid_vcn.bin +firmware: amdgpu/smu_13_0_0.bin +firmware: amdgpu/smu_13_0_7.bin +firmware: amdgpu/stoney_ce.bin +firmware: amdgpu/stoney_me.bin +firmware: amdgpu/stoney_mec.bin +firmware: amdgpu/stoney_pfp.bin +firmware: amdgpu/stoney_rlc.bin +firmware: amdgpu/stoney_sdma.bin +firmware: amdgpu/stoney_uvd.bin +firmware: amdgpu/stoney_vce.bin +firmware: amdgpu/tahiti_ce.bin +firmware: amdgpu/tahiti_mc.bin +firmware: amdgpu/tahiti_me.bin +firmware: amdgpu/tahiti_pfp.bin +firmware: amdgpu/tahiti_rlc.bin +firmware: amdgpu/tahiti_smc.bin +firmware: amdgpu/tahiti_uvd.bin +firmware: amdgpu/tonga_ce.bin +firmware: amdgpu/tonga_k_smc.bin +firmware: amdgpu/tonga_mc.bin +firmware: amdgpu/tonga_me.bin +firmware: amdgpu/tonga_mec.bin +firmware: amdgpu/tonga_mec2.bin +firmware: amdgpu/tonga_pfp.bin +firmware: amdgpu/tonga_rlc.bin +firmware: amdgpu/tonga_sdma.bin +firmware: amdgpu/tonga_sdma1.bin +firmware: amdgpu/tonga_smc.bin +firmware: amdgpu/tonga_uvd.bin +firmware: amdgpu/tonga_vce.bin +firmware: amdgpu/topaz_ce.bin +firmware: amdgpu/topaz_k_smc.bin +firmware: amdgpu/topaz_mc.bin +firmware: amdgpu/topaz_me.bin +firmware: amdgpu/topaz_mec.bin +firmware: amdgpu/topaz_pfp.bin +firmware: amdgpu/topaz_rlc.bin +firmware: amdgpu/topaz_sdma.bin +firmware: amdgpu/topaz_sdma1.bin +firmware: amdgpu/topaz_smc.bin +firmware: amdgpu/vangogh_asd.bin +firmware: amdgpu/vangogh_ce.bin +firmware: amdgpu/vangogh_dmcub.bin +firmware: amdgpu/vangogh_me.bin +firmware: amdgpu/vangogh_mec.bin +firmware: amdgpu/vangogh_mec2.bin +firmware: amdgpu/vangogh_pfp.bin +firmware: amdgpu/vangogh_rlc.bin +firmware: amdgpu/vangogh_sdma.bin +firmware: amdgpu/vangogh_toc.bin +firmware: amdgpu/vangogh_vcn.bin +firmware: amdgpu/vcn_3_1_2.bin +firmware: amdgpu/vcn_4_0_0.bin +firmware: amdgpu/vcn_4_0_4.bin +firmware: amdgpu/vega10_acg_smc.bin +firmware: amdgpu/vega10_asd.bin +firmware: amdgpu/vega10_cap.bin +firmware: amdgpu/vega10_ce.bin +firmware: amdgpu/vega10_gpu_info.bin +firmware: amdgpu/vega10_me.bin +firmware: amdgpu/vega10_mec.bin +firmware: amdgpu/vega10_mec2.bin +firmware: amdgpu/vega10_pfp.bin +firmware: amdgpu/vega10_rlc.bin +firmware: amdgpu/vega10_sdma.bin +firmware: amdgpu/vega10_sdma1.bin +firmware: amdgpu/vega10_smc.bin +firmware: amdgpu/vega10_sos.bin +firmware: amdgpu/vega10_uvd.bin +firmware: amdgpu/vega10_vce.bin +firmware: amdgpu/vega12_asd.bin +firmware: amdgpu/vega12_ce.bin +firmware: amdgpu/vega12_gpu_info.bin +firmware: amdgpu/vega12_me.bin +firmware: amdgpu/vega12_mec.bin +firmware: amdgpu/vega12_mec2.bin +firmware: amdgpu/vega12_pfp.bin +firmware: amdgpu/vega12_rlc.bin +firmware: amdgpu/vega12_sdma.bin +firmware: amdgpu/vega12_sdma1.bin +firmware: amdgpu/vega12_smc.bin +firmware: amdgpu/vega12_sos.bin +firmware: amdgpu/vega12_uvd.bin +firmware: amdgpu/vega12_vce.bin +firmware: amdgpu/vega20_asd.bin +firmware: amdgpu/vega20_ce.bin +firmware: amdgpu/vega20_me.bin +firmware: amdgpu/vega20_mec.bin +firmware: amdgpu/vega20_mec2.bin +firmware: amdgpu/vega20_pfp.bin +firmware: amdgpu/vega20_rlc.bin +firmware: amdgpu/vega20_sdma.bin +firmware: amdgpu/vega20_sdma1.bin +firmware: amdgpu/vega20_smc.bin +firmware: amdgpu/vega20_sos.bin +firmware: amdgpu/vega20_ta.bin +firmware: amdgpu/vega20_uvd.bin +firmware: amdgpu/vega20_vce.bin +firmware: amdgpu/vegam_ce.bin +firmware: amdgpu/vegam_me.bin +firmware: amdgpu/vegam_mec.bin +firmware: amdgpu/vegam_mec2.bin +firmware: amdgpu/vegam_pfp.bin +firmware: amdgpu/vegam_rlc.bin +firmware: amdgpu/vegam_sdma.bin +firmware: amdgpu/vegam_sdma1.bin +firmware: amdgpu/vegam_smc.bin +firmware: amdgpu/vegam_uvd.bin +firmware: amdgpu/vegam_vce.bin +firmware: amdgpu/verde_ce.bin +firmware: amdgpu/verde_k_smc.bin +firmware: amdgpu/verde_mc.bin +firmware: amdgpu/verde_me.bin +firmware: amdgpu/verde_pfp.bin +firmware: amdgpu/verde_rlc.bin +firmware: amdgpu/verde_smc.bin +firmware: amdgpu/verde_uvd.bin +firmware: amdgpu/yellow_carp_ce.bin +firmware: amdgpu/yellow_carp_dmcub.bin +firmware: amdgpu/yellow_carp_me.bin +firmware: amdgpu/yellow_carp_mec.bin +firmware: amdgpu/yellow_carp_mec2.bin +firmware: amdgpu/yellow_carp_pfp.bin +firmware: amdgpu/yellow_carp_rlc.bin +firmware: amdgpu/yellow_carp_sdma.bin +firmware: amdgpu/yellow_carp_ta.bin +firmware: amdgpu/yellow_carp_toc.bin +firmware: amdgpu/yellow_carp_vcn.bin +firmware: ar5523.bin +firmware: asihpi/dsp5000.bin +firmware: asihpi/dsp6200.bin +firmware: asihpi/dsp6205.bin +firmware: asihpi/dsp6400.bin +firmware: asihpi/dsp6600.bin +firmware: asihpi/dsp8700.bin +firmware: asihpi/dsp8900.bin +firmware: ast_dp501_fw.bin +firmware: ath10k/QCA6174/hw2.1/board-2.bin +firmware: ath10k/QCA6174/hw2.1/board.bin +firmware: ath10k/QCA6174/hw2.1/firmware-4.bin +firmware: ath10k/QCA6174/hw2.1/firmware-5.bin +firmware: ath10k/QCA6174/hw3.0/board-2.bin +firmware: ath10k/QCA6174/hw3.0/board.bin +firmware: ath10k/QCA6174/hw3.0/firmware-4.bin +firmware: ath10k/QCA6174/hw3.0/firmware-5.bin +firmware: ath10k/QCA6174/hw3.0/firmware-6.bin +firmware: ath10k/QCA9377/hw1.0/board.bin +firmware: ath10k/QCA9377/hw1.0/firmware-5.bin +firmware: ath10k/QCA9377/hw1.0/firmware-6.bin +firmware: ath10k/QCA9887/hw1.0/board-2.bin +firmware: ath10k/QCA9887/hw1.0/board.bin +firmware: ath10k/QCA9887/hw1.0/firmware-5.bin +firmware: ath10k/QCA988X/hw2.0/board-2.bin +firmware: ath10k/QCA988X/hw2.0/board.bin +firmware: ath10k/QCA988X/hw2.0/firmware-2.bin +firmware: ath10k/QCA988X/hw2.0/firmware-3.bin +firmware: ath10k/QCA988X/hw2.0/firmware-4.bin +firmware: ath10k/QCA988X/hw2.0/firmware-5.bin +firmware: ath11k/QCA6390/hw2.0/amss.bin +firmware: ath11k/QCA6390/hw2.0/board-2.bin +firmware: ath11k/QCA6390/hw2.0/m3.bin +firmware: ath3k-1.fw +firmware: ath6k/AR6003/hw2.0/athwlan.bin.z77 +firmware: ath6k/AR6003/hw2.0/bdata.SD31.bin +firmware: ath6k/AR6003/hw2.0/bdata.bin +firmware: ath6k/AR6003/hw2.0/data.patch.bin +firmware: ath6k/AR6003/hw2.0/otp.bin.z77 +firmware: ath6k/AR6003/hw2.1.1/athwlan.bin +firmware: ath6k/AR6003/hw2.1.1/bdata.SD31.bin +firmware: ath6k/AR6003/hw2.1.1/bdata.bin +firmware: ath6k/AR6003/hw2.1.1/data.patch.bin +firmware: ath6k/AR6003/hw2.1.1/otp.bin +firmware: ath6k/AR6004/hw1.0/bdata.DB132.bin +firmware: ath6k/AR6004/hw1.0/bdata.bin +firmware: ath6k/AR6004/hw1.0/fw.ram.bin +firmware: ath6k/AR6004/hw1.1/bdata.DB132.bin +firmware: ath6k/AR6004/hw1.1/bdata.bin +firmware: ath6k/AR6004/hw1.1/fw.ram.bin +firmware: ath6k/AR6004/hw1.2/bdata.bin +firmware: ath6k/AR6004/hw1.2/fw.ram.bin +firmware: ath6k/AR6004/hw1.3/bdata.bin +firmware: ath6k/AR6004/hw1.3/fw.ram.bin +firmware: ath9k_htc/htc_7010-1.4.0.fw +firmware: ath9k_htc/htc_9271-1.4.0.fw +firmware: atmel/wilc1000_wifi_firmware-1.bin +firmware: atmel_at76c502-wpa.bin +firmware: atmel_at76c502.bin +firmware: atmel_at76c502_3com-wpa.bin +firmware: atmel_at76c502_3com.bin +firmware: atmel_at76c502d-wpa.bin +firmware: atmel_at76c502d.bin +firmware: atmel_at76c502e-wpa.bin +firmware: atmel_at76c502e.bin +firmware: atmel_at76c503-i3861.bin +firmware: atmel_at76c503-i3863.bin +firmware: atmel_at76c503-rfmd-acc.bin +firmware: atmel_at76c503-rfmd.bin +firmware: atmel_at76c504-wpa.bin +firmware: atmel_at76c504.bin +firmware: atmel_at76c504_2958-wpa.bin +firmware: atmel_at76c504_2958.bin +firmware: atmel_at76c504a_2958-wpa.bin +firmware: atmel_at76c504a_2958.bin +firmware: atmel_at76c505-rfmd.bin +firmware: atmel_at76c505-rfmd2958.bin +firmware: atmel_at76c505a-rfmd2958.bin +firmware: atmel_at76c505amx-rfmd.bin +firmware: atmel_at76c506-wpa.bin +firmware: atmel_at76c506.bin +firmware: atsc_denver.inp +firmware: av7110/bootcode.bin +firmware: b43/ucode11.fw +firmware: b43/ucode13.fw +firmware: b43/ucode14.fw +firmware: b43/ucode15.fw +firmware: b43/ucode16_lp.fw +firmware: b43/ucode16_mimo.fw +firmware: b43/ucode24_lcn.fw +firmware: b43/ucode25_lcn.fw +firmware: b43/ucode25_mimo.fw +firmware: b43/ucode26_mimo.fw +firmware: b43/ucode29_mimo.fw +firmware: b43/ucode30_mimo.fw +firmware: b43/ucode33_lcn40.fw +firmware: b43/ucode40.fw +firmware: b43/ucode42.fw +firmware: b43/ucode5.fw +firmware: b43/ucode9.fw +firmware: b43legacy/ucode2.fw +firmware: b43legacy/ucode4.fw +firmware: bfubase.frm +firmware: bnx2/bnx2-mips-06-6.2.3.fw +firmware: bnx2/bnx2-mips-09-6.2.1b.fw +firmware: bnx2/bnx2-rv2p-06-6.0.15.fw +firmware: bnx2/bnx2-rv2p-09-6.0.17.fw +firmware: bnx2/bnx2-rv2p-09ax-6.0.17.fw +firmware: bnx2x/bnx2x-e1-7.13.15.0.fw +firmware: bnx2x/bnx2x-e1-7.13.21.0.fw +firmware: bnx2x/bnx2x-e1h-7.13.15.0.fw +firmware: bnx2x/bnx2x-e1h-7.13.21.0.fw +firmware: bnx2x/bnx2x-e2-7.13.15.0.fw +firmware: bnx2x/bnx2x-e2-7.13.21.0.fw +firmware: brcm/bcm43xx-0.fw +firmware: brcm/bcm43xx_hdr-0.fw +firmware: brcm/brcmfmac*-pcie.*.bin +firmware: brcm/brcmfmac*-pcie.*.txt +firmware: brcm/brcmfmac*-pcie.txt +firmware: brcm/brcmfmac*-sdio.*.bin +firmware: brcm/brcmfmac*-sdio.*.txt +firmware: brcm/brcmfmac43012-sdio.bin +firmware: brcm/brcmfmac43012-sdio.clm_blob +firmware: brcm/brcmfmac43143-sdio.bin +firmware: brcm/brcmfmac43143.bin +firmware: brcm/brcmfmac43236b.bin +firmware: brcm/brcmfmac43241b0-sdio.bin +firmware: brcm/brcmfmac43241b4-sdio.bin +firmware: brcm/brcmfmac43241b5-sdio.bin +firmware: brcm/brcmfmac43242a.bin +firmware: brcm/brcmfmac4329-sdio.bin +firmware: brcm/brcmfmac4330-sdio.bin +firmware: brcm/brcmfmac4334-sdio.bin +firmware: brcm/brcmfmac43340-sdio.bin +firmware: brcm/brcmfmac4335-sdio.bin +firmware: brcm/brcmfmac43362-sdio.bin +firmware: brcm/brcmfmac4339-sdio.bin +firmware: brcm/brcmfmac43430-sdio.bin +firmware: brcm/brcmfmac43430-sdio.clm_blob +firmware: brcm/brcmfmac43430a0-sdio.bin +firmware: brcm/brcmfmac43430b0-sdio.bin +firmware: brcm/brcmfmac43455-sdio.bin +firmware: brcm/brcmfmac43455-sdio.clm_blob +firmware: brcm/brcmfmac43456-sdio.bin +firmware: brcm/brcmfmac4350-pcie.bin +firmware: brcm/brcmfmac4350c2-pcie.bin +firmware: brcm/brcmfmac4354-sdio.bin +firmware: brcm/brcmfmac4354-sdio.clm_blob +firmware: brcm/brcmfmac4356-pcie.bin +firmware: brcm/brcmfmac4356-pcie.clm_blob +firmware: brcm/brcmfmac4356-sdio.bin +firmware: brcm/brcmfmac4356-sdio.clm_blob +firmware: brcm/brcmfmac43569.bin +firmware: brcm/brcmfmac43570-pcie.bin +firmware: brcm/brcmfmac43570-pcie.clm_blob +firmware: brcm/brcmfmac4358-pcie.bin +firmware: brcm/brcmfmac4359-pcie.bin +firmware: brcm/brcmfmac4359-sdio.bin +firmware: brcm/brcmfmac43602-pcie.bin +firmware: brcm/brcmfmac4364-pcie.bin +firmware: brcm/brcmfmac4365b-pcie.bin +firmware: brcm/brcmfmac4365c-pcie.bin +firmware: brcm/brcmfmac4366b-pcie.bin +firmware: brcm/brcmfmac4366c-pcie.bin +firmware: brcm/brcmfmac4371-pcie.bin +firmware: brcm/brcmfmac4373-sdio.bin +firmware: brcm/brcmfmac4373-sdio.clm_blob +firmware: brcm/brcmfmac4373.bin +firmware: brcm/brcmfmac43752-sdio.bin +firmware: brcm/brcmfmac43752-sdio.clm_blob +firmware: c218tunx.cod +firmware: c320tunx.cod +firmware: cadence/mhdp8546.bin +firmware: carl9170-1.fw +firmware: cavium/cnn55xx_se.fw +firmware: cbfw-3.2.5.1.bin +firmware: cis/3CCFEM556.cis +firmware: cis/3CXEM556.cis +firmware: cis/COMpad2.cis +firmware: cis/COMpad4.cis +firmware: cis/DP83903.cis +firmware: cis/LA-PCM.cis +firmware: cis/MT5634ZLX.cis +firmware: cis/NE2K.cis +firmware: cis/PCMLM28.cis +firmware: cis/PE-200.cis +firmware: cis/PE520.cis +firmware: cis/RS-COM-2P.cis +firmware: cis/SW_555_SER.cis +firmware: cis/SW_7xx_SER.cis +firmware: cis/SW_8xx_SER.cis +firmware: cis/tamarack.cis +firmware: cmmb_ming_app.inp +firmware: cmmb_vega_12mhz.inp +firmware: cmmb_venice_12mhz.inp +firmware: comedi/jr3pci.idm +firmware: cp204unx.cod +firmware: cpia2/stv0672_vp4.bin +firmware: cs46xx/cwc4630 +firmware: cs46xx/cwcasync +firmware: cs46xx/cwcbinhack +firmware: cs46xx/cwcdma +firmware: cs46xx/cwcsnoop +firmware: ct2fw-3.2.5.1.bin +firmware: ctefx-desktop.bin +firmware: ctefx-r3di.bin +firmware: ctefx.bin +firmware: ctfw-3.2.5.1.bin +firmware: cxgb3/ael2005_opt_edc.bin +firmware: cxgb3/ael2005_twx_edc.bin +firmware: cxgb3/ael2020_twx_edc.bin +firmware: cxgb3/t3b_psram-1.1.0.bin +firmware: cxgb3/t3c_psram-1.1.0.bin +firmware: cxgb3/t3fw-7.12.0.bin +firmware: cxgb4/t4fw.bin +firmware: cxgb4/t5fw.bin +firmware: cxgb4/t6fw.bin +firmware: daqboard2000_firmware.bin +firmware: digiface_firmware.bin +firmware: digiface_firmware_rev11.bin +firmware: dvb-cx18-mpc718-mt352.fw +firmware: dvb-demod-m88ds3103.fw +firmware: dvb-demod-m88ds3103b.fw +firmware: dvb-demod-m88rs6000.fw +firmware: dvb-demod-mn88472-02.fw +firmware: dvb-demod-mn88473-01.fw +firmware: dvb-demod-mxl692.fw +firmware: dvb-demod-si2165.fw +firmware: dvb-demod-si2168-a20-01.fw +firmware: dvb-demod-si2168-a30-01.fw +firmware: dvb-demod-si2168-b40-01.fw +firmware: dvb-demod-si2168-d60-01.fw +firmware: dvb-fe-af9013.fw +firmware: dvb-fe-cx24117.fw +firmware: dvb-fe-drxj-mc-1.0.8.fw +firmware: dvb-fe-ds3000.fw +firmware: dvb-fe-tda10071.fw +firmware: dvb-fe-xc4000-1.4.1.fw +firmware: dvb-fe-xc4000-1.4.fw +firmware: dvb-fe-xc5000-1.6.114.fw +firmware: dvb-fe-xc5000c-4.1.30.7.fw +firmware: dvb-tuner-si2141-a10-01.fw +firmware: dvb-tuner-si2157-a30-01.fw +firmware: dvb-tuner-si2158-a20-01.fw +firmware: dvb-usb-af9015.fw +firmware: dvb-usb-af9035-02.fw +firmware: dvb-usb-dib0700-1.20.fw +firmware: dvb-usb-dw2101.fw +firmware: dvb-usb-dw2102.fw +firmware: dvb-usb-dw2104.fw +firmware: dvb-usb-dw3101.fw +firmware: dvb-usb-ec168.fw +firmware: dvb-usb-it9135-01.fw +firmware: dvb-usb-it9135-02.fw +firmware: dvb-usb-it9303-01.fw +firmware: dvb-usb-lme2510-lg.fw +firmware: dvb-usb-lme2510-s0194.fw +firmware: dvb-usb-lme2510c-lg.fw +firmware: dvb-usb-lme2510c-rs2000.fw +firmware: dvb-usb-lme2510c-s0194.fw +firmware: dvb-usb-lme2510c-s7395.fw +firmware: dvb-usb-p1100.fw +firmware: dvb-usb-p7500.fw +firmware: dvb-usb-s630.fw +firmware: dvb-usb-s660.fw +firmware: dvb-usb-terratec-h7-az6007.fw +firmware: dvb_driver_si2141_rom60.fw +firmware: dvb_driver_si2141_rom61.fw +firmware: dvb_driver_si2146_rom11.fw +firmware: dvb_driver_si2147_rom50.fw +firmware: dvb_driver_si2148_rom32.fw +firmware: dvb_driver_si2148_rom33.fw +firmware: dvb_driver_si2157_rom50.fw +firmware: dvb_driver_si2158_rom51.fw +firmware: dvb_driver_si2177_rom50.fw +firmware: dvb_driver_si2178_rom50.fw +firmware: dvb_nova_12mhz.inp +firmware: dvb_nova_12mhz_b0.inp +firmware: dvb_rio.inp +firmware: dvbh_rio.inp +firmware: e100/d101m_ucode.bin +firmware: e100/d101s_ucode.bin +firmware: e100/d102e_ucode.bin +firmware: ea/3g_asic.fw +firmware: ea/darla20_dsp.fw +firmware: ea/darla24_dsp.fw +firmware: ea/echo3g_dsp.fw +firmware: ea/gina20_dsp.fw +firmware: ea/gina24_301_asic.fw +firmware: ea/gina24_301_dsp.fw +firmware: ea/gina24_361_asic.fw +firmware: ea/gina24_361_dsp.fw +firmware: ea/indigo_dj_dsp.fw +firmware: ea/indigo_djx_dsp.fw +firmware: ea/indigo_dsp.fw +firmware: ea/indigo_io_dsp.fw +firmware: ea/indigo_iox_dsp.fw +firmware: ea/layla20_asic.fw +firmware: ea/layla20_dsp.fw +firmware: ea/layla24_1_asic.fw +firmware: ea/layla24_2A_asic.fw +firmware: ea/layla24_2S_asic.fw +firmware: ea/layla24_dsp.fw +firmware: ea/loader_dsp.fw +firmware: ea/mia_dsp.fw +firmware: ea/mona_2_asic.fw +firmware: ea/mona_301_1_asic_48.fw +firmware: ea/mona_301_1_asic_96.fw +firmware: ea/mona_301_dsp.fw +firmware: ea/mona_361_1_asic_48.fw +firmware: ea/mona_361_1_asic_96.fw +firmware: ea/mona_361_dsp.fw +firmware: edgeport/boot.fw +firmware: edgeport/boot2.fw +firmware: edgeport/down.fw +firmware: edgeport/down2.fw +firmware: edgeport/down3.bin +firmware: emi26/bitstream.fw +firmware: emi26/firmware.fw +firmware: emi26/loader.fw +firmware: emi62/bitstream.fw +firmware: emi62/loader.fw +firmware: emi62/spdif.fw +firmware: emu/audio_dock.fw +firmware: emu/emu0404.fw +firmware: emu/emu1010_notebook.fw +firmware: emu/emu1010b.fw +firmware: emu/hana.fw +firmware: emu/micro_dock.fw +firmware: ene-ub6250/ms_init.bin +firmware: ene-ub6250/ms_rdwr.bin +firmware: ene-ub6250/msp_rdwr.bin +firmware: ene-ub6250/sd_init1.bin +firmware: ene-ub6250/sd_init2.bin +firmware: ene-ub6250/sd_rdwr.bin +firmware: ess/maestro3_assp_kernel.fw +firmware: ess/maestro3_assp_minisrc.fw +firmware: f2255usb.bin +firmware: fm_radio.inp +firmware: fm_radio_rio.inp +firmware: fw.ram.bin +firmware: go7007/go7007fw.bin +firmware: go7007/go7007tv.bin +firmware: go7007/lr192.fw +firmware: go7007/px-m402u.fw +firmware: go7007/px-tv402u.fw +firmware: go7007/s2250-1.fw +firmware: go7007/s2250-2.fw +firmware: go7007/wis-startrek.fw +firmware: hfi1_dc8051.fw +firmware: hfi1_fabric.fw +firmware: hfi1_pcie.fw +firmware: hfi1_sbus.fw +firmware: i915/adlp_dmc_ver2_16.bin +firmware: i915/adlp_guc_69.0.3.bin +firmware: i915/adlp_guc_70.1.1.bin +firmware: i915/adls_dmc_ver2_01.bin +firmware: i915/bxt_dmc_ver1_07.bin +firmware: i915/bxt_guc_70.1.1.bin +firmware: i915/bxt_huc_2.0.0.bin +firmware: i915/cml_guc_70.1.1.bin +firmware: i915/cml_huc_4.0.0.bin +firmware: i915/dg1_dmc_ver2_02.bin +firmware: i915/dg1_guc_70.1.1.bin +firmware: i915/dg1_huc_7.9.3.bin +firmware: i915/dg2_guc_70.1.2.bin +firmware: i915/ehl_guc_70.1.1.bin +firmware: i915/ehl_huc_9.0.0.bin +firmware: i915/glk_dmc_ver1_04.bin +firmware: i915/glk_guc_70.1.1.bin +firmware: i915/glk_huc_4.0.0.bin +firmware: i915/icl_dmc_ver1_09.bin +firmware: i915/icl_guc_70.1.1.bin +firmware: i915/icl_huc_9.0.0.bin +firmware: i915/kbl_dmc_ver1_04.bin +firmware: i915/kbl_guc_70.1.1.bin +firmware: i915/kbl_huc_4.0.0.bin +firmware: i915/rkl_dmc_ver2_03.bin +firmware: i915/skl_dmc_ver1_27.bin +firmware: i915/skl_guc_70.1.1.bin +firmware: i915/skl_huc_2.0.0.bin +firmware: i915/tgl_dmc_ver2_12.bin +firmware: i915/tgl_guc_69.0.3.bin +firmware: i915/tgl_guc_70.1.1.bin +firmware: i915/tgl_huc_7.9.3.bin +firmware: idt82p33xxx.bin +firmware: ifpp.bin +firmware: imx/sdma/sdma-imx7d.bin +firmware: inside-secure/eip197_minifw/ifpp.bin +firmware: inside-secure/eip197_minifw/ipue.bin +firmware: inside-secure/eip197b/ifpp.bin +firmware: inside-secure/eip197b/ipue.bin +firmware: inside-secure/eip197d/ifpp.bin +firmware: inside-secure/eip197d/ipue.bin +firmware: intel/ibt-11-5.ddc +firmware: intel/ibt-11-5.sfi +firmware: intel/ibt-12-16.ddc +firmware: intel/ibt-12-16.sfi +firmware: intel/ice/ddp/ice.pkg +firmware: ipue.bin +firmware: ipw2100-1.3-i.fw +firmware: ipw2100-1.3-p.fw +firmware: ipw2100-1.3.fw +firmware: ipw2200-bss.fw +firmware: ipw2200-ibss.fw +firmware: ipw2200-sniffer.fw +firmware: isci/isci_firmware.bin +firmware: isdbt_nova_12mhz.inp +firmware: isdbt_nova_12mhz_b0.inp +firmware: isdbt_pele.inp +firmware: isdbt_rio.inp +firmware: isdn/ISAR.BIN +firmware: isight.fw +firmware: isl3886pci +firmware: isl3886usb +firmware: isl3887usb +firmware: iwlwifi-100-5.ucode +firmware: iwlwifi-1000-5.ucode +firmware: iwlwifi-105-6.ucode +firmware: iwlwifi-135-6.ucode +firmware: iwlwifi-2000-6.ucode +firmware: iwlwifi-2030-6.ucode +firmware: iwlwifi-3160-17.ucode +firmware: iwlwifi-3168-29.ucode +firmware: iwlwifi-3945-2.ucode +firmware: iwlwifi-4965-2.ucode +firmware: iwlwifi-5000-5.ucode +firmware: iwlwifi-5150-2.ucode +firmware: iwlwifi-6000-6.ucode +firmware: iwlwifi-6000g2a-6.ucode +firmware: iwlwifi-6000g2b-6.ucode +firmware: iwlwifi-6050-5.ucode +firmware: iwlwifi-7260-17.ucode +firmware: iwlwifi-7265-17.ucode +firmware: iwlwifi-7265D-29.ucode +firmware: iwlwifi-8000C-36.ucode +firmware: iwlwifi-8265-36.ucode +firmware: iwlwifi-9000-pu-b0-jf-b0-46.ucode +firmware: iwlwifi-9260-th-b0-jf-b0-46.ucode +firmware: iwlwifi-BzBnj-a0-fm-a0-72.ucode +firmware: iwlwifi-BzBnj-a0-fm4-a0-72.ucode +firmware: iwlwifi-BzBnj-a0-gf-a0-72.ucode +firmware: iwlwifi-BzBnj-a0-gf4-a0-72.ucode +firmware: iwlwifi-BzBnj-a0-hr-b0-72.ucode +firmware: iwlwifi-Qu-b0-hr-b0-72.ucode +firmware: iwlwifi-Qu-b0-jf-b0-72.ucode +firmware: iwlwifi-Qu-c0-hr-b0-72.ucode +firmware: iwlwifi-QuQnj-b0-hr-b0-72.ucode +firmware: iwlwifi-QuQnj-b0-jf-b0-72.ucode +firmware: iwlwifi-QuZ-a0-hr-b0-72.ucode +firmware: iwlwifi-QuZ-a0-jf-b0-72.ucode +firmware: iwlwifi-SoSnj-a0-gf-a0-72.ucode +firmware: iwlwifi-SoSnj-a0-gf4-a0-72.ucode +firmware: iwlwifi-SoSnj-a0-hr-b0-72.ucode +firmware: iwlwifi-SoSnj-a0-jf-b0-72.ucode +firmware: iwlwifi-SoSnj-a0-mr-a0-72.ucode +firmware: iwlwifi-bz-a0-fm-a0-72.ucode +firmware: iwlwifi-bz-a0-gf-a0-72.ucode +firmware: iwlwifi-bz-a0-gf4-a0-72.ucode +firmware: iwlwifi-bz-a0-hr-b0-72.ucode +firmware: iwlwifi-bz-a0-mr-a0-72.ucode +firmware: iwlwifi-cc-a0-72.ucode +firmware: iwlwifi-gl-a0-fm-a0-72.ucode +firmware: iwlwifi-ma-a0-fm-a0-72.ucode +firmware: iwlwifi-ma-a0-gf-a0-72.ucode +firmware: iwlwifi-ma-a0-gf4-a0-72.ucode +firmware: iwlwifi-ma-a0-hr-b0-72.ucode +firmware: iwlwifi-ma-a0-mr-a0-72.ucode +firmware: iwlwifi-so-a0-gf-a0-72.ucode +firmware: iwlwifi-so-a0-hr-b0-72.ucode +firmware: iwlwifi-so-a0-jf-b0-72.ucode +firmware: iwlwifi-ty-a0-gf-a0-72.ucode +firmware: kaweth/new_code.bin +firmware: kaweth/new_code_fix.bin +firmware: kaweth/trigger_code.bin +firmware: kaweth/trigger_code_fix.bin +firmware: keyspan/mpr.fw +firmware: keyspan/usa18x.fw +firmware: keyspan/usa19.fw +firmware: keyspan/usa19qi.fw +firmware: keyspan/usa19qw.fw +firmware: keyspan/usa19w.fw +firmware: keyspan/usa28.fw +firmware: keyspan/usa28x.fw +firmware: keyspan/usa28xa.fw +firmware: keyspan/usa28xb.fw +firmware: keyspan/usa49w.fw +firmware: keyspan/usa49wlc.fw +firmware: keyspan_pda/keyspan_pda.fw +firmware: keyspan_pda/xircom_pgs.fw +firmware: korg/k1212.dsp +firmware: ks7010sd.rom +firmware: lantiq/xrx200_phy11g_a14.bin +firmware: lantiq/xrx200_phy11g_a22.bin +firmware: lantiq/xrx200_phy22f_a14.bin +firmware: lantiq/xrx200_phy22f_a22.bin +firmware: lantiq/xrx300_phy11g_a21.bin +firmware: lantiq/xrx300_phy22f_a21.bin +firmware: lattice-ecp3.bit +firmware: lbtf_usb.bin +firmware: lgs8g75.fw +firmware: libertas/cf8305.bin +firmware: libertas/cf8381.bin +firmware: libertas/cf8381_helper.bin +firmware: libertas/cf8385.bin +firmware: libertas/cf8385_helper.bin +firmware: libertas/gspi8385.bin +firmware: libertas/gspi8385_helper.bin +firmware: libertas/gspi8385_hlp.bin +firmware: libertas/gspi8686.bin +firmware: libertas/gspi8686_hlp.bin +firmware: libertas/gspi8686_v9.bin +firmware: libertas/gspi8686_v9_helper.bin +firmware: libertas/gspi8688.bin +firmware: libertas/gspi8688_helper.bin +firmware: libertas/sd8385.bin +firmware: libertas/sd8385_helper.bin +firmware: libertas/sd8686_v8.bin +firmware: libertas/sd8686_v8_helper.bin +firmware: libertas/sd8686_v9.bin +firmware: libertas/sd8686_v9_helper.bin +firmware: libertas/sd8688.bin +firmware: libertas/sd8688_helper.bin +firmware: libertas/usb8388.bin +firmware: libertas/usb8388_v5.bin +firmware: libertas/usb8388_v9.bin +firmware: libertas/usb8682.bin +firmware: libertas_cs.fw +firmware: libertas_cs_helper.fw +firmware: liquidio/lio_210nv_nic.bin +firmware: liquidio/lio_210sv_nic.bin +firmware: liquidio/lio_23xx_nic.bin +firmware: liquidio/lio_410nv_nic.bin +firmware: me2600_firmware.bin +firmware: me4000_firmware.bin +firmware: mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin +firmware: mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin +firmware: mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin +firmware: mediatek/WIFI_RAM_CODE_MT7922_1.bin +firmware: mediatek/WIFI_RAM_CODE_MT7961_1.bin +firmware: mediatek/mt7610e.bin +firmware: mediatek/mt7610u.bin +firmware: mediatek/mt7615_cr4.bin +firmware: mediatek/mt7615_n9.bin +firmware: mediatek/mt7615_rom_patch.bin +firmware: mediatek/mt7622_n9.bin +firmware: mediatek/mt7622_rom_patch.bin +firmware: mediatek/mt7622pr2h.bin +firmware: mediatek/mt7650e.bin +firmware: mediatek/mt7663_n9_rebb.bin +firmware: mediatek/mt7663_n9_v3.bin +firmware: mediatek/mt7663pr2h.bin +firmware: mediatek/mt7663pr2h_rebb.bin +firmware: mediatek/mt7668pr2h.bin +firmware: mediatek/mt7915_rom_patch.bin +firmware: mediatek/mt7915_wa.bin +firmware: mediatek/mt7915_wm.bin +firmware: mediatek/mt7916_rom_patch.bin +firmware: mediatek/mt7916_wa.bin +firmware: mediatek/mt7916_wm.bin +firmware: mediatek/mt7986_rom_patch.bin +firmware: mediatek/mt7986_rom_patch_mt7975.bin +firmware: mediatek/mt7986_wa.bin +firmware: mediatek/mt7986_wm.bin +firmware: mediatek/mt7986_wm_mt7975.bin +firmware: mellanox/lc_ini_bundle_2010_1006.bin +firmware: mellanox/mlxsw_spectrum-13.2010.1006.mfa2 +firmware: mellanox/mlxsw_spectrum2-29.2010.1006.mfa2 +firmware: mellanox/mlxsw_spectrum3-30.2010.1006.mfa2 +firmware: microchip/mscc_vsc8574_revb_int8051_29e8.bin +firmware: microchip/mscc_vsc8584_revb_int8051_fb48.bin +firmware: mixart/miXart8.elf +firmware: mixart/miXart8.xlx +firmware: mixart/miXart8AES.xlx +firmware: moxa/moxa-1110.fw +firmware: moxa/moxa-1130.fw +firmware: moxa/moxa-1131.fw +firmware: moxa/moxa-1150.fw +firmware: moxa/moxa-1151.fw +firmware: mrvl/sd8688.bin +firmware: mrvl/sd8688_helper.bin +firmware: mrvl/sd8786_uapsta.bin +firmware: mrvl/sd8787_uapsta.bin +firmware: mrvl/sd8797_uapsta.bin +firmware: mrvl/sd8887_uapsta.bin +firmware: mrvl/sd8897_uapsta.bin +firmware: mrvl/sd8987_uapsta.bin +firmware: mrvl/sdiouart8997_combo_v4.bin +firmware: mrvl/sdsd8977_combo_v2.bin +firmware: mrvl/sdsd8997_combo_v4.bin +firmware: mrvl/usb8766_uapsta.bin +firmware: mrvl/usb8797_uapsta.bin +firmware: mrvl/usb8801_uapsta.bin +firmware: mrvl/usbusb8997_combo_v4.bin +firmware: mt7601u.bin +firmware: mt7603_e1.bin +firmware: mt7603_e2.bin +firmware: mt7628_e1.bin +firmware: mt7628_e2.bin +firmware: mt7662.bin +firmware: mt7662_rom_patch.bin +firmware: mts_cdma.fw +firmware: mts_edge.fw +firmware: mts_gsm.fw +firmware: mts_mt9234mu.fw +firmware: mts_mt9234zba.fw +firmware: multiface_firmware.bin +firmware: multiface_firmware_rev11.bin +firmware: mwl8k/fmimage_8363.fw +firmware: mwl8k/fmimage_8366.fw +firmware: mwl8k/fmimage_8366_ap-3.fw +firmware: mwl8k/fmimage_8687.fw +firmware: mwl8k/helper_8363.fw +firmware: mwl8k/helper_8366.fw +firmware: mwl8k/helper_8687.fw +firmware: myri10ge_eth_z8e.dat +firmware: myri10ge_ethp_z8e.dat +firmware: myri10ge_rss_eth_z8e.dat +firmware: myri10ge_rss_ethp_z8e.dat +firmware: netronome/nic_AMDA0058-0011_2x40.nffw +firmware: netronome/nic_AMDA0058-0012_2x40.nffw +firmware: netronome/nic_AMDA0081-0001_1x40.nffw +firmware: netronome/nic_AMDA0081-0001_4x10.nffw +firmware: netronome/nic_AMDA0096-0001_2x10.nffw +firmware: netronome/nic_AMDA0097-0001_2x40.nffw +firmware: netronome/nic_AMDA0097-0001_4x10_1x40.nffw +firmware: netronome/nic_AMDA0097-0001_8x10.nffw +firmware: netronome/nic_AMDA0099-0001_1x10_1x25.nffw +firmware: netronome/nic_AMDA0099-0001_2x10.nffw +firmware: netronome/nic_AMDA0099-0001_2x25.nffw +firmware: ni6534a.bin +firmware: niscrb01.bin +firmware: niscrb02.bin +firmware: nvidia/gk20a/fecs_data.bin +firmware: nvidia/gk20a/fecs_inst.bin +firmware: nvidia/gk20a/gpccs_data.bin +firmware: nvidia/gk20a/gpccs_inst.bin +firmware: nvidia/gk20a/sw_bundle_init.bin +firmware: nvidia/gk20a/sw_ctx.bin +firmware: nvidia/gk20a/sw_method_init.bin +firmware: nvidia/gk20a/sw_nonctx.bin +firmware: nvidia/gm200/acr/bl.bin +firmware: nvidia/gm200/acr/ucode_load.bin +firmware: nvidia/gm200/acr/ucode_unload.bin +firmware: nvidia/gm200/gr/fecs_bl.bin +firmware: nvidia/gm200/gr/fecs_data.bin +firmware: nvidia/gm200/gr/fecs_inst.bin +firmware: nvidia/gm200/gr/fecs_sig.bin +firmware: nvidia/gm200/gr/gpccs_bl.bin +firmware: nvidia/gm200/gr/gpccs_data.bin +firmware: nvidia/gm200/gr/gpccs_inst.bin +firmware: nvidia/gm200/gr/gpccs_sig.bin +firmware: nvidia/gm200/gr/sw_bundle_init.bin +firmware: nvidia/gm200/gr/sw_ctx.bin +firmware: nvidia/gm200/gr/sw_method_init.bin +firmware: nvidia/gm200/gr/sw_nonctx.bin +firmware: nvidia/gm204/acr/bl.bin +firmware: nvidia/gm204/acr/ucode_load.bin +firmware: nvidia/gm204/acr/ucode_unload.bin +firmware: nvidia/gm204/gr/fecs_bl.bin +firmware: nvidia/gm204/gr/fecs_data.bin +firmware: nvidia/gm204/gr/fecs_inst.bin +firmware: nvidia/gm204/gr/fecs_sig.bin +firmware: nvidia/gm204/gr/gpccs_bl.bin +firmware: nvidia/gm204/gr/gpccs_data.bin +firmware: nvidia/gm204/gr/gpccs_inst.bin +firmware: nvidia/gm204/gr/gpccs_sig.bin +firmware: nvidia/gm204/gr/sw_bundle_init.bin +firmware: nvidia/gm204/gr/sw_ctx.bin +firmware: nvidia/gm204/gr/sw_method_init.bin +firmware: nvidia/gm204/gr/sw_nonctx.bin +firmware: nvidia/gm206/acr/bl.bin +firmware: nvidia/gm206/acr/ucode_load.bin +firmware: nvidia/gm206/acr/ucode_unload.bin +firmware: nvidia/gm206/gr/fecs_bl.bin +firmware: nvidia/gm206/gr/fecs_data.bin +firmware: nvidia/gm206/gr/fecs_inst.bin +firmware: nvidia/gm206/gr/fecs_sig.bin +firmware: nvidia/gm206/gr/gpccs_bl.bin +firmware: nvidia/gm206/gr/gpccs_data.bin +firmware: nvidia/gm206/gr/gpccs_inst.bin +firmware: nvidia/gm206/gr/gpccs_sig.bin +firmware: nvidia/gm206/gr/sw_bundle_init.bin +firmware: nvidia/gm206/gr/sw_ctx.bin +firmware: nvidia/gm206/gr/sw_method_init.bin +firmware: nvidia/gm206/gr/sw_nonctx.bin +firmware: nvidia/gm20b/acr/bl.bin +firmware: nvidia/gm20b/acr/ucode_load.bin +firmware: nvidia/gm20b/gr/fecs_bl.bin +firmware: nvidia/gm20b/gr/fecs_data.bin +firmware: nvidia/gm20b/gr/fecs_inst.bin +firmware: nvidia/gm20b/gr/fecs_sig.bin +firmware: nvidia/gm20b/gr/gpccs_data.bin +firmware: nvidia/gm20b/gr/gpccs_inst.bin +firmware: nvidia/gm20b/gr/sw_bundle_init.bin +firmware: nvidia/gm20b/gr/sw_ctx.bin +firmware: nvidia/gm20b/gr/sw_method_init.bin +firmware: nvidia/gm20b/gr/sw_nonctx.bin +firmware: nvidia/gm20b/pmu/desc.bin +firmware: nvidia/gm20b/pmu/image.bin +firmware: nvidia/gm20b/pmu/sig.bin +firmware: nvidia/gp100/acr/bl.bin +firmware: nvidia/gp100/acr/ucode_load.bin +firmware: nvidia/gp100/acr/ucode_unload.bin +firmware: nvidia/gp100/gr/fecs_bl.bin +firmware: nvidia/gp100/gr/fecs_data.bin +firmware: nvidia/gp100/gr/fecs_inst.bin +firmware: nvidia/gp100/gr/fecs_sig.bin +firmware: nvidia/gp100/gr/gpccs_bl.bin +firmware: nvidia/gp100/gr/gpccs_data.bin +firmware: nvidia/gp100/gr/gpccs_inst.bin +firmware: nvidia/gp100/gr/gpccs_sig.bin +firmware: nvidia/gp100/gr/sw_bundle_init.bin +firmware: nvidia/gp100/gr/sw_ctx.bin +firmware: nvidia/gp100/gr/sw_method_init.bin +firmware: nvidia/gp100/gr/sw_nonctx.bin +firmware: nvidia/gp102/acr/bl.bin +firmware: nvidia/gp102/acr/ucode_load.bin +firmware: nvidia/gp102/acr/ucode_unload.bin +firmware: nvidia/gp102/acr/unload_bl.bin +firmware: nvidia/gp102/gr/fecs_bl.bin +firmware: nvidia/gp102/gr/fecs_data.bin +firmware: nvidia/gp102/gr/fecs_inst.bin +firmware: nvidia/gp102/gr/fecs_sig.bin +firmware: nvidia/gp102/gr/gpccs_bl.bin +firmware: nvidia/gp102/gr/gpccs_data.bin +firmware: nvidia/gp102/gr/gpccs_inst.bin +firmware: nvidia/gp102/gr/gpccs_sig.bin +firmware: nvidia/gp102/gr/sw_bundle_init.bin +firmware: nvidia/gp102/gr/sw_ctx.bin +firmware: nvidia/gp102/gr/sw_method_init.bin +firmware: nvidia/gp102/gr/sw_nonctx.bin +firmware: nvidia/gp102/nvdec/scrubber.bin +firmware: nvidia/gp102/sec2/desc-1.bin +firmware: nvidia/gp102/sec2/desc.bin +firmware: nvidia/gp102/sec2/image-1.bin +firmware: nvidia/gp102/sec2/image.bin +firmware: nvidia/gp102/sec2/sig-1.bin +firmware: nvidia/gp102/sec2/sig.bin +firmware: nvidia/gp104/acr/bl.bin +firmware: nvidia/gp104/acr/ucode_load.bin +firmware: nvidia/gp104/acr/ucode_unload.bin +firmware: nvidia/gp104/acr/unload_bl.bin +firmware: nvidia/gp104/gr/fecs_bl.bin +firmware: nvidia/gp104/gr/fecs_data.bin +firmware: nvidia/gp104/gr/fecs_inst.bin +firmware: nvidia/gp104/gr/fecs_sig.bin +firmware: nvidia/gp104/gr/gpccs_bl.bin +firmware: nvidia/gp104/gr/gpccs_data.bin +firmware: nvidia/gp104/gr/gpccs_inst.bin +firmware: nvidia/gp104/gr/gpccs_sig.bin +firmware: nvidia/gp104/gr/sw_bundle_init.bin +firmware: nvidia/gp104/gr/sw_ctx.bin +firmware: nvidia/gp104/gr/sw_method_init.bin +firmware: nvidia/gp104/gr/sw_nonctx.bin +firmware: nvidia/gp104/nvdec/scrubber.bin +firmware: nvidia/gp104/sec2/desc-1.bin +firmware: nvidia/gp104/sec2/desc.bin +firmware: nvidia/gp104/sec2/image-1.bin +firmware: nvidia/gp104/sec2/image.bin +firmware: nvidia/gp104/sec2/sig-1.bin +firmware: nvidia/gp104/sec2/sig.bin +firmware: nvidia/gp106/acr/bl.bin +firmware: nvidia/gp106/acr/ucode_load.bin +firmware: nvidia/gp106/acr/ucode_unload.bin +firmware: nvidia/gp106/acr/unload_bl.bin +firmware: nvidia/gp106/gr/fecs_bl.bin +firmware: nvidia/gp106/gr/fecs_data.bin +firmware: nvidia/gp106/gr/fecs_inst.bin +firmware: nvidia/gp106/gr/fecs_sig.bin +firmware: nvidia/gp106/gr/gpccs_bl.bin +firmware: nvidia/gp106/gr/gpccs_data.bin +firmware: nvidia/gp106/gr/gpccs_inst.bin +firmware: nvidia/gp106/gr/gpccs_sig.bin +firmware: nvidia/gp106/gr/sw_bundle_init.bin +firmware: nvidia/gp106/gr/sw_ctx.bin +firmware: nvidia/gp106/gr/sw_method_init.bin +firmware: nvidia/gp106/gr/sw_nonctx.bin +firmware: nvidia/gp106/nvdec/scrubber.bin +firmware: nvidia/gp106/sec2/desc-1.bin +firmware: nvidia/gp106/sec2/desc.bin +firmware: nvidia/gp106/sec2/image-1.bin +firmware: nvidia/gp106/sec2/image.bin +firmware: nvidia/gp106/sec2/sig-1.bin +firmware: nvidia/gp106/sec2/sig.bin +firmware: nvidia/gp107/acr/bl.bin +firmware: nvidia/gp107/acr/ucode_load.bin +firmware: nvidia/gp107/acr/ucode_unload.bin +firmware: nvidia/gp107/acr/unload_bl.bin +firmware: nvidia/gp107/gr/fecs_bl.bin +firmware: nvidia/gp107/gr/fecs_data.bin +firmware: nvidia/gp107/gr/fecs_inst.bin +firmware: nvidia/gp107/gr/fecs_sig.bin +firmware: nvidia/gp107/gr/gpccs_bl.bin +firmware: nvidia/gp107/gr/gpccs_data.bin +firmware: nvidia/gp107/gr/gpccs_inst.bin +firmware: nvidia/gp107/gr/gpccs_sig.bin +firmware: nvidia/gp107/gr/sw_bundle_init.bin +firmware: nvidia/gp107/gr/sw_ctx.bin +firmware: nvidia/gp107/gr/sw_method_init.bin +firmware: nvidia/gp107/gr/sw_nonctx.bin +firmware: nvidia/gp107/nvdec/scrubber.bin +firmware: nvidia/gp107/sec2/desc-1.bin +firmware: nvidia/gp107/sec2/desc.bin +firmware: nvidia/gp107/sec2/image-1.bin +firmware: nvidia/gp107/sec2/image.bin +firmware: nvidia/gp107/sec2/sig-1.bin +firmware: nvidia/gp107/sec2/sig.bin +firmware: nvidia/gp108/acr/bl.bin +firmware: nvidia/gp108/acr/ucode_load.bin +firmware: nvidia/gp108/acr/ucode_unload.bin +firmware: nvidia/gp108/acr/unload_bl.bin +firmware: nvidia/gp108/gr/fecs_bl.bin +firmware: nvidia/gp108/gr/fecs_data.bin +firmware: nvidia/gp108/gr/fecs_inst.bin +firmware: nvidia/gp108/gr/fecs_sig.bin +firmware: nvidia/gp108/gr/gpccs_bl.bin +firmware: nvidia/gp108/gr/gpccs_data.bin +firmware: nvidia/gp108/gr/gpccs_inst.bin +firmware: nvidia/gp108/gr/gpccs_sig.bin +firmware: nvidia/gp108/gr/sw_bundle_init.bin +firmware: nvidia/gp108/gr/sw_ctx.bin +firmware: nvidia/gp108/gr/sw_method_init.bin +firmware: nvidia/gp108/gr/sw_nonctx.bin +firmware: nvidia/gp108/nvdec/scrubber.bin +firmware: nvidia/gp108/sec2/desc.bin +firmware: nvidia/gp108/sec2/image.bin +firmware: nvidia/gp108/sec2/sig.bin +firmware: nvidia/gp10b/acr/bl.bin +firmware: nvidia/gp10b/acr/ucode_load.bin +firmware: nvidia/gp10b/gr/fecs_bl.bin +firmware: nvidia/gp10b/gr/fecs_data.bin +firmware: nvidia/gp10b/gr/fecs_inst.bin +firmware: nvidia/gp10b/gr/fecs_sig.bin +firmware: nvidia/gp10b/gr/gpccs_bl.bin +firmware: nvidia/gp10b/gr/gpccs_data.bin +firmware: nvidia/gp10b/gr/gpccs_inst.bin +firmware: nvidia/gp10b/gr/gpccs_sig.bin +firmware: nvidia/gp10b/gr/sw_bundle_init.bin +firmware: nvidia/gp10b/gr/sw_ctx.bin +firmware: nvidia/gp10b/gr/sw_method_init.bin +firmware: nvidia/gp10b/gr/sw_nonctx.bin +firmware: nvidia/gp10b/pmu/desc.bin +firmware: nvidia/gp10b/pmu/image.bin +firmware: nvidia/gp10b/pmu/sig.bin +firmware: nvidia/gv100/acr/bl.bin +firmware: nvidia/gv100/acr/ucode_load.bin +firmware: nvidia/gv100/acr/ucode_unload.bin +firmware: nvidia/gv100/acr/unload_bl.bin +firmware: nvidia/gv100/gr/fecs_bl.bin +firmware: nvidia/gv100/gr/fecs_data.bin +firmware: nvidia/gv100/gr/fecs_inst.bin +firmware: nvidia/gv100/gr/fecs_sig.bin +firmware: nvidia/gv100/gr/gpccs_bl.bin +firmware: nvidia/gv100/gr/gpccs_data.bin +firmware: nvidia/gv100/gr/gpccs_inst.bin +firmware: nvidia/gv100/gr/gpccs_sig.bin +firmware: nvidia/gv100/gr/sw_bundle_init.bin +firmware: nvidia/gv100/gr/sw_ctx.bin +firmware: nvidia/gv100/gr/sw_method_init.bin +firmware: nvidia/gv100/gr/sw_nonctx.bin +firmware: nvidia/gv100/nvdec/scrubber.bin +firmware: nvidia/gv100/sec2/desc.bin +firmware: nvidia/gv100/sec2/image.bin +firmware: nvidia/gv100/sec2/sig.bin +firmware: nvidia/tegra124/xusb.bin +firmware: nvidia/tegra186/nvdec.bin +firmware: nvidia/tegra186/vic04_ucode.bin +firmware: nvidia/tegra186/xusb.bin +firmware: nvidia/tegra194/nvdec.bin +firmware: nvidia/tegra194/vic.bin +firmware: nvidia/tegra194/xusb.bin +firmware: nvidia/tegra210/nvdec.bin +firmware: nvidia/tegra210/vic04_ucode.bin +firmware: nvidia/tegra210/xusb.bin +firmware: nvidia/tu102/acr/bl.bin +firmware: nvidia/tu102/acr/ucode_ahesasc.bin +firmware: nvidia/tu102/acr/ucode_asb.bin +firmware: nvidia/tu102/acr/ucode_unload.bin +firmware: nvidia/tu102/acr/unload_bl.bin +firmware: nvidia/tu102/gr/fecs_bl.bin +firmware: nvidia/tu102/gr/fecs_data.bin +firmware: nvidia/tu102/gr/fecs_inst.bin +firmware: nvidia/tu102/gr/fecs_sig.bin +firmware: nvidia/tu102/gr/gpccs_bl.bin +firmware: nvidia/tu102/gr/gpccs_data.bin +firmware: nvidia/tu102/gr/gpccs_inst.bin +firmware: nvidia/tu102/gr/gpccs_sig.bin +firmware: nvidia/tu102/gr/sw_bundle_init.bin +firmware: nvidia/tu102/gr/sw_ctx.bin +firmware: nvidia/tu102/gr/sw_method_init.bin +firmware: nvidia/tu102/gr/sw_nonctx.bin +firmware: nvidia/tu102/nvdec/scrubber.bin +firmware: nvidia/tu102/sec2/desc.bin +firmware: nvidia/tu102/sec2/image.bin +firmware: nvidia/tu102/sec2/sig.bin +firmware: nvidia/tu104/acr/bl.bin +firmware: nvidia/tu104/acr/ucode_ahesasc.bin +firmware: nvidia/tu104/acr/ucode_asb.bin +firmware: nvidia/tu104/acr/ucode_unload.bin +firmware: nvidia/tu104/acr/unload_bl.bin +firmware: nvidia/tu104/gr/fecs_bl.bin +firmware: nvidia/tu104/gr/fecs_data.bin +firmware: nvidia/tu104/gr/fecs_inst.bin +firmware: nvidia/tu104/gr/fecs_sig.bin +firmware: nvidia/tu104/gr/gpccs_bl.bin +firmware: nvidia/tu104/gr/gpccs_data.bin +firmware: nvidia/tu104/gr/gpccs_inst.bin +firmware: nvidia/tu104/gr/gpccs_sig.bin +firmware: nvidia/tu104/gr/sw_bundle_init.bin +firmware: nvidia/tu104/gr/sw_ctx.bin +firmware: nvidia/tu104/gr/sw_method_init.bin +firmware: nvidia/tu104/gr/sw_nonctx.bin +firmware: nvidia/tu104/nvdec/scrubber.bin +firmware: nvidia/tu104/sec2/desc.bin +firmware: nvidia/tu104/sec2/image.bin +firmware: nvidia/tu104/sec2/sig.bin +firmware: nvidia/tu106/acr/bl.bin +firmware: nvidia/tu106/acr/ucode_ahesasc.bin +firmware: nvidia/tu106/acr/ucode_asb.bin +firmware: nvidia/tu106/acr/ucode_unload.bin +firmware: nvidia/tu106/acr/unload_bl.bin +firmware: nvidia/tu106/gr/fecs_bl.bin +firmware: nvidia/tu106/gr/fecs_data.bin +firmware: nvidia/tu106/gr/fecs_inst.bin +firmware: nvidia/tu106/gr/fecs_sig.bin +firmware: nvidia/tu106/gr/gpccs_bl.bin +firmware: nvidia/tu106/gr/gpccs_data.bin +firmware: nvidia/tu106/gr/gpccs_inst.bin +firmware: nvidia/tu106/gr/gpccs_sig.bin +firmware: nvidia/tu106/gr/sw_bundle_init.bin +firmware: nvidia/tu106/gr/sw_ctx.bin +firmware: nvidia/tu106/gr/sw_method_init.bin +firmware: nvidia/tu106/gr/sw_nonctx.bin +firmware: nvidia/tu106/nvdec/scrubber.bin +firmware: nvidia/tu106/sec2/desc.bin +firmware: nvidia/tu106/sec2/image.bin +firmware: nvidia/tu106/sec2/sig.bin +firmware: nvidia/tu116/acr/bl.bin +firmware: nvidia/tu116/acr/ucode_ahesasc.bin +firmware: nvidia/tu116/acr/ucode_asb.bin +firmware: nvidia/tu116/acr/ucode_unload.bin +firmware: nvidia/tu116/acr/unload_bl.bin +firmware: nvidia/tu116/gr/fecs_bl.bin +firmware: nvidia/tu116/gr/fecs_data.bin +firmware: nvidia/tu116/gr/fecs_inst.bin +firmware: nvidia/tu116/gr/fecs_sig.bin +firmware: nvidia/tu116/gr/gpccs_bl.bin +firmware: nvidia/tu116/gr/gpccs_data.bin +firmware: nvidia/tu116/gr/gpccs_inst.bin +firmware: nvidia/tu116/gr/gpccs_sig.bin +firmware: nvidia/tu116/gr/sw_bundle_init.bin +firmware: nvidia/tu116/gr/sw_ctx.bin +firmware: nvidia/tu116/gr/sw_method_init.bin +firmware: nvidia/tu116/gr/sw_nonctx.bin +firmware: nvidia/tu116/nvdec/scrubber.bin +firmware: nvidia/tu116/sec2/desc.bin +firmware: nvidia/tu116/sec2/image.bin +firmware: nvidia/tu116/sec2/sig.bin +firmware: nvidia/tu117/acr/bl.bin +firmware: nvidia/tu117/acr/ucode_ahesasc.bin +firmware: nvidia/tu117/acr/ucode_asb.bin +firmware: nvidia/tu117/acr/ucode_unload.bin +firmware: nvidia/tu117/acr/unload_bl.bin +firmware: nvidia/tu117/gr/fecs_bl.bin +firmware: nvidia/tu117/gr/fecs_data.bin +firmware: nvidia/tu117/gr/fecs_inst.bin +firmware: nvidia/tu117/gr/fecs_sig.bin +firmware: nvidia/tu117/gr/gpccs_bl.bin +firmware: nvidia/tu117/gr/gpccs_data.bin +firmware: nvidia/tu117/gr/gpccs_inst.bin +firmware: nvidia/tu117/gr/gpccs_sig.bin +firmware: nvidia/tu117/gr/sw_bundle_init.bin +firmware: nvidia/tu117/gr/sw_ctx.bin +firmware: nvidia/tu117/gr/sw_method_init.bin +firmware: nvidia/tu117/gr/sw_nonctx.bin +firmware: nvidia/tu117/nvdec/scrubber.bin +firmware: nvidia/tu117/sec2/desc.bin +firmware: nvidia/tu117/sec2/image.bin +firmware: nvidia/tu117/sec2/sig.bin +firmware: orinoco_ezusb_fw +firmware: ositech/Xilinx7OD.bin +firmware: pca200e_ecd.bin2 +firmware: pcxhr/dspb1222e.b56 +firmware: pcxhr/dspb1222hr.b56 +firmware: pcxhr/dspb882e.b56 +firmware: pcxhr/dspb882hr.b56 +firmware: pcxhr/dspb924.b56 +firmware: pcxhr/dspd1222.d56 +firmware: pcxhr/dspd222.d56 +firmware: pcxhr/dspd882.d56 +firmware: pcxhr/dspe882.e56 +firmware: pcxhr/dspe924.e56 +firmware: pcxhr/xlxc1222e.dat +firmware: pcxhr/xlxc1222hr.dat +firmware: pcxhr/xlxc222.dat +firmware: pcxhr/xlxc882e.dat +firmware: pcxhr/xlxc882hr.dat +firmware: pcxhr/xlxc924.dat +firmware: pcxhr/xlxint.dat +firmware: phanfw.bin +firmware: plfxlc/lifi-x.bin +firmware: prism2_ru.fw +firmware: prism_ap_fw.bin +firmware: prism_sta_fw.bin +firmware: qat_4xxx.bin +firmware: qat_4xxx_mmp.bin +firmware: qat_895xcc.bin +firmware: qat_895xcc_mmp.bin +firmware: qat_c3xxx.bin +firmware: qat_c3xxx_mmp.bin +firmware: qat_c62x.bin +firmware: qat_c62x_mmp.bin +firmware: qcom/a300_pfp.fw +firmware: qcom/a300_pm4.fw +firmware: qcom/a330_pfp.fw +firmware: qcom/a330_pm4.fw +firmware: qcom/a420_pfp.fw +firmware: qcom/a420_pm4.fw +firmware: qcom/a530_pfp.fw +firmware: qcom/a530_pm4.fw +firmware: qcom/a530_zap.b00 +firmware: qcom/a530_zap.b01 +firmware: qcom/a530_zap.b02 +firmware: qcom/a530_zap.mdt +firmware: qcom/a530v3_gpmu.fw2 +firmware: qcom/a630_gmu.bin +firmware: qcom/a630_sqe.fw +firmware: qcom/a630_zap.mbn +firmware: qed/qed_init_values_zipped-8.59.1.0.bin +firmware: ql2100_fw.bin +firmware: ql2200_fw.bin +firmware: ql2300_fw.bin +firmware: ql2322_fw.bin +firmware: ql2400_fw.bin +firmware: ql2500_fw.bin +firmware: qlogic/1040.bin +firmware: qlogic/12160.bin +firmware: qlogic/1280.bin +firmware: qlogic/sd7220.fw +firmware: r8a779x_usb3_v1.dlmem +firmware: r8a779x_usb3_v2.dlmem +firmware: r8a779x_usb3_v3.dlmem +firmware: radeon/ARUBA_me.bin +firmware: radeon/ARUBA_pfp.bin +firmware: radeon/ARUBA_rlc.bin +firmware: radeon/BARTS_mc.bin +firmware: radeon/BARTS_me.bin +firmware: radeon/BARTS_pfp.bin +firmware: radeon/BARTS_smc.bin +firmware: radeon/BONAIRE_ce.bin +firmware: radeon/BONAIRE_mc.bin +firmware: radeon/BONAIRE_mc2.bin +firmware: radeon/BONAIRE_me.bin +firmware: radeon/BONAIRE_mec.bin +firmware: radeon/BONAIRE_pfp.bin +firmware: radeon/BONAIRE_rlc.bin +firmware: radeon/BONAIRE_sdma.bin +firmware: radeon/BONAIRE_smc.bin +firmware: radeon/BONAIRE_uvd.bin +firmware: radeon/BONAIRE_vce.bin +firmware: radeon/BTC_rlc.bin +firmware: radeon/CAICOS_mc.bin +firmware: radeon/CAICOS_me.bin +firmware: radeon/CAICOS_pfp.bin +firmware: radeon/CAICOS_smc.bin +firmware: radeon/CAYMAN_mc.bin +firmware: radeon/CAYMAN_me.bin +firmware: radeon/CAYMAN_pfp.bin +firmware: radeon/CAYMAN_rlc.bin +firmware: radeon/CAYMAN_smc.bin +firmware: radeon/CEDAR_me.bin +firmware: radeon/CEDAR_pfp.bin +firmware: radeon/CEDAR_rlc.bin +firmware: radeon/CEDAR_smc.bin +firmware: radeon/CYPRESS_me.bin +firmware: radeon/CYPRESS_pfp.bin +firmware: radeon/CYPRESS_rlc.bin +firmware: radeon/CYPRESS_smc.bin +firmware: radeon/CYPRESS_uvd.bin +firmware: radeon/HAINAN_ce.bin +firmware: radeon/HAINAN_mc.bin +firmware: radeon/HAINAN_mc2.bin +firmware: radeon/HAINAN_me.bin +firmware: radeon/HAINAN_pfp.bin +firmware: radeon/HAINAN_rlc.bin +firmware: radeon/HAINAN_smc.bin +firmware: radeon/HAWAII_ce.bin +firmware: radeon/HAWAII_mc.bin +firmware: radeon/HAWAII_mc2.bin +firmware: radeon/HAWAII_me.bin +firmware: radeon/HAWAII_mec.bin +firmware: radeon/HAWAII_pfp.bin +firmware: radeon/HAWAII_rlc.bin +firmware: radeon/HAWAII_sdma.bin +firmware: radeon/HAWAII_smc.bin +firmware: radeon/JUNIPER_me.bin +firmware: radeon/JUNIPER_pfp.bin +firmware: radeon/JUNIPER_rlc.bin +firmware: radeon/JUNIPER_smc.bin +firmware: radeon/KABINI_ce.bin +firmware: radeon/KABINI_me.bin +firmware: radeon/KABINI_mec.bin +firmware: radeon/KABINI_pfp.bin +firmware: radeon/KABINI_rlc.bin +firmware: radeon/KABINI_sdma.bin +firmware: radeon/KAVERI_ce.bin +firmware: radeon/KAVERI_me.bin +firmware: radeon/KAVERI_mec.bin +firmware: radeon/KAVERI_pfp.bin +firmware: radeon/KAVERI_rlc.bin +firmware: radeon/KAVERI_sdma.bin +firmware: radeon/MULLINS_ce.bin +firmware: radeon/MULLINS_me.bin +firmware: radeon/MULLINS_mec.bin +firmware: radeon/MULLINS_pfp.bin +firmware: radeon/MULLINS_rlc.bin +firmware: radeon/MULLINS_sdma.bin +firmware: radeon/OLAND_ce.bin +firmware: radeon/OLAND_mc.bin +firmware: radeon/OLAND_mc2.bin +firmware: radeon/OLAND_me.bin +firmware: radeon/OLAND_pfp.bin +firmware: radeon/OLAND_rlc.bin +firmware: radeon/OLAND_smc.bin +firmware: radeon/PALM_me.bin +firmware: radeon/PALM_pfp.bin +firmware: radeon/PITCAIRN_ce.bin +firmware: radeon/PITCAIRN_mc.bin +firmware: radeon/PITCAIRN_mc2.bin +firmware: radeon/PITCAIRN_me.bin +firmware: radeon/PITCAIRN_pfp.bin +firmware: radeon/PITCAIRN_rlc.bin +firmware: radeon/PITCAIRN_smc.bin +firmware: radeon/R100_cp.bin +firmware: radeon/R200_cp.bin +firmware: radeon/R300_cp.bin +firmware: radeon/R420_cp.bin +firmware: radeon/R520_cp.bin +firmware: radeon/R600_me.bin +firmware: radeon/R600_pfp.bin +firmware: radeon/R600_rlc.bin +firmware: radeon/R600_uvd.bin +firmware: radeon/R700_rlc.bin +firmware: radeon/REDWOOD_me.bin +firmware: radeon/REDWOOD_pfp.bin +firmware: radeon/REDWOOD_rlc.bin +firmware: radeon/REDWOOD_smc.bin +firmware: radeon/RS600_cp.bin +firmware: radeon/RS690_cp.bin +firmware: radeon/RS780_me.bin +firmware: radeon/RS780_pfp.bin +firmware: radeon/RS780_uvd.bin +firmware: radeon/RV610_me.bin +firmware: radeon/RV610_pfp.bin +firmware: radeon/RV620_me.bin +firmware: radeon/RV620_pfp.bin +firmware: radeon/RV630_me.bin +firmware: radeon/RV630_pfp.bin +firmware: radeon/RV635_me.bin +firmware: radeon/RV635_pfp.bin +firmware: radeon/RV670_me.bin +firmware: radeon/RV670_pfp.bin +firmware: radeon/RV710_me.bin +firmware: radeon/RV710_pfp.bin +firmware: radeon/RV710_smc.bin +firmware: radeon/RV710_uvd.bin +firmware: radeon/RV730_me.bin +firmware: radeon/RV730_pfp.bin +firmware: radeon/RV730_smc.bin +firmware: radeon/RV740_smc.bin +firmware: radeon/RV770_me.bin +firmware: radeon/RV770_pfp.bin +firmware: radeon/RV770_smc.bin +firmware: radeon/RV770_uvd.bin +firmware: radeon/SUMO2_me.bin +firmware: radeon/SUMO2_pfp.bin +firmware: radeon/SUMO_me.bin +firmware: radeon/SUMO_pfp.bin +firmware: radeon/SUMO_rlc.bin +firmware: radeon/SUMO_uvd.bin +firmware: radeon/TAHITI_ce.bin +firmware: radeon/TAHITI_mc.bin +firmware: radeon/TAHITI_mc2.bin +firmware: radeon/TAHITI_me.bin +firmware: radeon/TAHITI_pfp.bin +firmware: radeon/TAHITI_rlc.bin +firmware: radeon/TAHITI_smc.bin +firmware: radeon/TAHITI_uvd.bin +firmware: radeon/TAHITI_vce.bin +firmware: radeon/TURKS_mc.bin +firmware: radeon/TURKS_me.bin +firmware: radeon/TURKS_pfp.bin +firmware: radeon/TURKS_smc.bin +firmware: radeon/VERDE_ce.bin +firmware: radeon/VERDE_mc.bin +firmware: radeon/VERDE_mc2.bin +firmware: radeon/VERDE_me.bin +firmware: radeon/VERDE_pfp.bin +firmware: radeon/VERDE_rlc.bin +firmware: radeon/VERDE_smc.bin +firmware: radeon/banks_k_2_smc.bin +firmware: radeon/bonaire_ce.bin +firmware: radeon/bonaire_k_smc.bin +firmware: radeon/bonaire_mc.bin +firmware: radeon/bonaire_me.bin +firmware: radeon/bonaire_mec.bin +firmware: radeon/bonaire_pfp.bin +firmware: radeon/bonaire_rlc.bin +firmware: radeon/bonaire_sdma.bin +firmware: radeon/bonaire_smc.bin +firmware: radeon/bonaire_uvd.bin +firmware: radeon/hainan_ce.bin +firmware: radeon/hainan_k_smc.bin +firmware: radeon/hainan_mc.bin +firmware: radeon/hainan_me.bin +firmware: radeon/hainan_pfp.bin +firmware: radeon/hainan_rlc.bin +firmware: radeon/hainan_smc.bin +firmware: radeon/hawaii_ce.bin +firmware: radeon/hawaii_k_smc.bin +firmware: radeon/hawaii_mc.bin +firmware: radeon/hawaii_me.bin +firmware: radeon/hawaii_mec.bin +firmware: radeon/hawaii_pfp.bin +firmware: radeon/hawaii_rlc.bin +firmware: radeon/hawaii_sdma.bin +firmware: radeon/hawaii_smc.bin +firmware: radeon/kabini_ce.bin +firmware: radeon/kabini_me.bin +firmware: radeon/kabini_mec.bin +firmware: radeon/kabini_pfp.bin +firmware: radeon/kabini_rlc.bin +firmware: radeon/kabini_sdma.bin +firmware: radeon/kaveri_ce.bin +firmware: radeon/kaveri_me.bin +firmware: radeon/kaveri_mec.bin +firmware: radeon/kaveri_mec2.bin +firmware: radeon/kaveri_pfp.bin +firmware: radeon/kaveri_rlc.bin +firmware: radeon/kaveri_sdma.bin +firmware: radeon/mullins_ce.bin +firmware: radeon/mullins_me.bin +firmware: radeon/mullins_mec.bin +firmware: radeon/mullins_pfp.bin +firmware: radeon/mullins_rlc.bin +firmware: radeon/mullins_sdma.bin +firmware: radeon/oland_ce.bin +firmware: radeon/oland_k_smc.bin +firmware: radeon/oland_mc.bin +firmware: radeon/oland_me.bin +firmware: radeon/oland_pfp.bin +firmware: radeon/oland_rlc.bin +firmware: radeon/oland_smc.bin +firmware: radeon/pitcairn_ce.bin +firmware: radeon/pitcairn_k_smc.bin +firmware: radeon/pitcairn_mc.bin +firmware: radeon/pitcairn_me.bin +firmware: radeon/pitcairn_pfp.bin +firmware: radeon/pitcairn_rlc.bin +firmware: radeon/pitcairn_smc.bin +firmware: radeon/si58_mc.bin +firmware: radeon/tahiti_ce.bin +firmware: radeon/tahiti_mc.bin +firmware: radeon/tahiti_me.bin +firmware: radeon/tahiti_pfp.bin +firmware: radeon/tahiti_rlc.bin +firmware: radeon/tahiti_smc.bin +firmware: radeon/verde_ce.bin +firmware: radeon/verde_k_smc.bin +firmware: radeon/verde_mc.bin +firmware: radeon/verde_me.bin +firmware: radeon/verde_pfp.bin +firmware: radeon/verde_rlc.bin +firmware: radeon/verde_smc.bin +firmware: regulatory.db +firmware: regulatory.db.p7s +firmware: renesas_usb_fw.mem +firmware: riptide.hex +firmware: rockchip/dptx.bin +firmware: rp2.fw +firmware: rpm_firmware.bin +firmware: rs9113_wlan_qspi.rps +firmware: rt2561.bin +firmware: rt2561s.bin +firmware: rt2661.bin +firmware: rt2860.bin +firmware: rt2870.bin +firmware: rt73.bin +firmware: rtl_bt/rtl8723a_fw.bin +firmware: rtl_bt/rtl8723b_config.bin +firmware: rtl_bt/rtl8723b_fw.bin +firmware: rtl_bt/rtl8723bs_config.bin +firmware: rtl_bt/rtl8723bs_fw.bin +firmware: rtl_bt/rtl8723ds_config.bin +firmware: rtl_bt/rtl8723ds_fw.bin +firmware: rtl_bt/rtl8761a_config.bin +firmware: rtl_bt/rtl8761a_fw.bin +firmware: rtl_bt/rtl8821a_config.bin +firmware: rtl_bt/rtl8821a_fw.bin +firmware: rtl_bt/rtl8822b_config.bin +firmware: rtl_bt/rtl8822b_fw.bin +firmware: rtl_bt/rtl8852au_config.bin +firmware: rtl_bt/rtl8852au_fw.bin +firmware: rtl_bt/rtl8852bu_config.bin +firmware: rtl_bt/rtl8852bu_fw.bin +firmware: rtl_bt/rtl8852cu_config.bin +firmware: rtl_bt/rtl8852cu_fw.bin +firmware: rtl_nic/rtl8105e-1.fw +firmware: rtl_nic/rtl8106e-1.fw +firmware: rtl_nic/rtl8106e-2.fw +firmware: rtl_nic/rtl8107e-1.fw +firmware: rtl_nic/rtl8107e-2.fw +firmware: rtl_nic/rtl8125a-3.fw +firmware: rtl_nic/rtl8125b-2.fw +firmware: rtl_nic/rtl8153a-2.fw +firmware: rtl_nic/rtl8153a-3.fw +firmware: rtl_nic/rtl8153a-4.fw +firmware: rtl_nic/rtl8153b-2.fw +firmware: rtl_nic/rtl8153c-1.fw +firmware: rtl_nic/rtl8156a-2.fw +firmware: rtl_nic/rtl8156b-2.fw +firmware: rtl_nic/rtl8168d-1.fw +firmware: rtl_nic/rtl8168d-2.fw +firmware: rtl_nic/rtl8168e-1.fw +firmware: rtl_nic/rtl8168e-2.fw +firmware: rtl_nic/rtl8168e-3.fw +firmware: rtl_nic/rtl8168f-1.fw +firmware: rtl_nic/rtl8168f-2.fw +firmware: rtl_nic/rtl8168fp-3.fw +firmware: rtl_nic/rtl8168g-2.fw +firmware: rtl_nic/rtl8168g-3.fw +firmware: rtl_nic/rtl8168h-1.fw +firmware: rtl_nic/rtl8168h-2.fw +firmware: rtl_nic/rtl8402-1.fw +firmware: rtl_nic/rtl8411-1.fw +firmware: rtl_nic/rtl8411-2.fw +firmware: rtlwifi/rtl8188efw.bin +firmware: rtlwifi/rtl8188eufw.bin +firmware: rtlwifi/rtl8192cfw.bin +firmware: rtlwifi/rtl8192cfwU.bin +firmware: rtlwifi/rtl8192cfwU_B.bin +firmware: rtlwifi/rtl8192cufw.bin +firmware: rtlwifi/rtl8192cufw_A.bin +firmware: rtlwifi/rtl8192cufw_B.bin +firmware: rtlwifi/rtl8192cufw_TMSC.bin +firmware: rtlwifi/rtl8192defw.bin +firmware: rtlwifi/rtl8192eefw.bin +firmware: rtlwifi/rtl8192eu_nic.bin +firmware: rtlwifi/rtl8192sefw.bin +firmware: rtlwifi/rtl8712u.bin +firmware: rtlwifi/rtl8723aufw_A.bin +firmware: rtlwifi/rtl8723aufw_B.bin +firmware: rtlwifi/rtl8723aufw_B_NoBT.bin +firmware: rtlwifi/rtl8723befw.bin +firmware: rtlwifi/rtl8723befw_36.bin +firmware: rtlwifi/rtl8723bu_bt.bin +firmware: rtlwifi/rtl8723bu_nic.bin +firmware: rtlwifi/rtl8723efw.bin +firmware: rtlwifi/rtl8821aefw.bin +firmware: rtlwifi/rtl8821aefw_29.bin +firmware: rtw88/rtw8723d_fw.bin +firmware: rtw88/rtw8821c_fw.bin +firmware: rtw88/rtw8822b_fw.bin +firmware: rtw88/rtw8822c_fw.bin +firmware: rtw88/rtw8822c_wow_fw.bin +firmware: rtw89/rtw8852a_fw.bin +firmware: rtw89/rtw8852c_fw.bin +firmware: s5k4ecgx.bin +firmware: sd8385.bin +firmware: sd8385_helper.bin +firmware: sd8686.bin +firmware: sd8686_helper.bin +firmware: sd8688.bin +firmware: sd8688_helper.bin +firmware: slicoss/gbdownload.sys +firmware: slicoss/gbrcvucode.sys +firmware: slicoss/oasisdownload.sys +firmware: slicoss/oasisrcvucode.sys +firmware: sms1xxx-hcw-55xxx-dvbt-02.fw +firmware: sms1xxx-hcw-55xxx-isdbt-02.fw +firmware: sms1xxx-nova-a-dvbt-01.fw +firmware: sms1xxx-nova-b-dvbt-01.fw +firmware: sms1xxx-stellar-dvbt-01.fw +firmware: softing-4.6/bcard.bin +firmware: softing-4.6/bcard2.bin +firmware: softing-4.6/cancard.bin +firmware: softing-4.6/cancrd2.bin +firmware: softing-4.6/cansja.bin +firmware: softing-4.6/ldcard.bin +firmware: softing-4.6/ldcard2.bin +firmware: solos-FPGA.bin +firmware: solos-Firmware.bin +firmware: solos-db-FPGA.bin +firmware: sun/cassini.bin +firmware: symbol_sp24t_prim_fw +firmware: symbol_sp24t_sec_fw +firmware: tdmb_denver.inp +firmware: tdmb_nova_12mhz.inp +firmware: tdmb_nova_12mhz_b0.inp +firmware: tehuti/bdx.bin +firmware: ti-connectivity/wl1251-fw.bin +firmware: ti-connectivity/wl1251-nvs.bin +firmware: ti-connectivity/wl127x-fw-5-mr.bin +firmware: ti-connectivity/wl127x-fw-5-plt.bin +firmware: ti-connectivity/wl127x-fw-5-sr.bin +firmware: ti-connectivity/wl128x-fw-5-mr.bin +firmware: ti-connectivity/wl128x-fw-5-plt.bin +firmware: ti-connectivity/wl128x-fw-5-sr.bin +firmware: ti-connectivity/wl18xx-fw-4.bin +firmware: ti_3410.fw +firmware: ti_5052.fw +firmware: tigon/tg3.bin +firmware: tigon/tg3_tso.bin +firmware: tigon/tg3_tso5.bin +firmware: ttusb-budget/dspbootcode.bin +firmware: ueagle-atm/930-fpga.bin +firmware: ueagle-atm/CMV4i.bin +firmware: ueagle-atm/CMV4i.bin.v2 +firmware: ueagle-atm/CMV4p.bin +firmware: ueagle-atm/CMV4p.bin.v2 +firmware: ueagle-atm/CMV9i.bin +firmware: ueagle-atm/CMV9i.bin.v2 +firmware: ueagle-atm/CMV9p.bin +firmware: ueagle-atm/CMV9p.bin.v2 +firmware: ueagle-atm/CMVei.bin +firmware: ueagle-atm/CMVei.bin.v2 +firmware: ueagle-atm/CMVep.bin +firmware: ueagle-atm/CMVep.bin.v2 +firmware: ueagle-atm/DSP4i.bin +firmware: ueagle-atm/DSP4p.bin +firmware: ueagle-atm/DSP9i.bin +firmware: ueagle-atm/DSP9p.bin +firmware: ueagle-atm/DSPei.bin +firmware: ueagle-atm/DSPep.bin +firmware: ueagle-atm/adi930.fw +firmware: ueagle-atm/eagle.fw +firmware: ueagle-atm/eagleI.fw +firmware: ueagle-atm/eagleII.fw +firmware: ueagle-atm/eagleIII.fw +firmware: ueagle-atm/eagleIV.fw +firmware: usb8388.bin +firmware: usbdux_firmware.bin +firmware: usbduxfast_firmware.bin +firmware: usbduxsigma_firmware.bin +firmware: v4l-cx231xx-avcore-01.fw +firmware: v4l-cx23418-apu.fw +firmware: v4l-cx23418-cpu.fw +firmware: v4l-cx23418-dig.fw +firmware: v4l-cx2341x-dec.fw +firmware: v4l-cx2341x-enc.fw +firmware: v4l-cx2341x-init.mpg +firmware: v4l-cx23885-avcore-01.fw +firmware: v4l-cx23885-enc.fw +firmware: v4l-cx25840.fw +firmware: v4l-pvrusb2-24xxx-01.fw +firmware: v4l-pvrusb2-29xxx-01.fw +firmware: v4l-pvrusb2-73xxx-01.fw +firmware: vicam/firmware.fw +firmware: vntwusb.fw +firmware: vx/bd56002.boot +firmware: vx/bd563s3.boot +firmware: vx/bd563v2.boot +firmware: vx/bx_1_vp4.b56 +firmware: vx/bx_1_vxp.b56 +firmware: vx/l_1_v22.d56 +firmware: vx/l_1_vp4.d56 +firmware: vx/l_1_vx2.d56 +firmware: vx/l_1_vxp.d56 +firmware: vx/x1_1_vp4.xlx +firmware: vx/x1_1_vx2.xlx +firmware: vx/x1_1_vxp.xlx +firmware: vx/x1_2_v22.xlx +firmware: vxge/X3fw-pxe.ncf +firmware: vxge/X3fw.ncf +firmware: wd719x-risc.bin +firmware: wd719x-wcs.bin +firmware: whiteheat.fw +firmware: whiteheat_loader.fw +firmware: wil6210.brd +firmware: wil6210.fw +firmware: wil6210_sparrow_plus.fw +firmware: wil6436.brd +firmware: wil6436.fw +firmware: wlan/prima/WCNSS_qcom_wlan_nv.bin +firmware: xc3028-v27.fw +firmware: xc3028L-v36.fw +firmware: yam/1200.bin +firmware: yam/9600.bin +firmware: yamaha/ds1_ctrl.fw +firmware: yamaha/ds1_dsp.fw +firmware: yamaha/ds1e_ctrl.fw +firmware: zd1201-ap.fw +firmware: zd1201.fw +firmware: zd1211/zd1211_ub +firmware: zd1211/zd1211_uphr +firmware: zd1211/zd1211_ur +firmware: zd1211/zd1211b_ub +firmware: zd1211/zd1211b_uphr +firmware: zd1211/zd1211b_ur --- linux-gcp-5.19.0.orig/debian.gcp/abi/version +++ linux-gcp-5.19.0/debian.gcp/abi/version @@ -0,0 +1 @@ +5.19.0-1026.28 --- linux-gcp-5.19.0.orig/debian.gcp/changelog +++ linux-gcp-5.19.0/debian.gcp/changelog @@ -0,0 +1,30348 @@ +linux-gcp (5.19.0-1027.29) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1027.29 -proposed tracker (LP: #2024032) + + * Packaging resync (LP: #1786013) + - [Packaging] resync update-dkms-versions helper + + [ Ubuntu: 5.19.0-46.47 ] + + * kinetic/linux: 5.19.0-46.47 -proposed tracker (LP: #2024043) + * Packaging resync (LP: #1786013) + - [Packaging] resync git-ubuntu-log + - [Packaging] resync getabis + * CVE-2023-2430 + - io_uring/msg_ring: fix missing lock on overflow for IOPOLL + * cls_flower: off-by-one in fl_set_geneve_opt (LP: #2023577) + - net/sched: flower: fix possible OOB write in fl_set_geneve_opt() + * Some INVLPG implementations can leave Global translations unflushed when + PCIDs are enabled (LP: #2023220) + - x86/mm: Avoid incomplete Global INVLPG flushes + + [ Ubuntu: 5.19.0-45.46 ] + + * kinetic/linux: 5.19.0-45.46 -proposed tracker (LP: #2023057) + * Kinetic update: upstream stable patchset 2023-05-23 (LP: #2020599) + - wifi: cfg80211: Partial revert "wifi: cfg80211: Fix use after free for wext" + + -- Khalid Elmously Wed, 21 Jun 2023 01:27:15 -0400 + +linux-gcp (5.19.0-1026.28) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1026.28 -proposed tracker (LP: #2019816) + + * Packaging resync (LP: #1786013) + - [Packaging] resync git-ubuntu-log + - [Packaging] resync getabis + + * Kinetic update: upstream stable patchset 2023-05-08 (LP: #2018948) + - [Config] updateconfigs for SND_HDA_CTL_DEV_ID + + * GVE: Performance improvement for "jumbo" frames (LP: #2021830) + - gve: Reduce alloc and copy costs in the GQ rx path + - gve: Fix error return code in gve_prefill_rx_pages() + + * Miscellaneous Ubuntu changes + - [config] Update configs after rebase + + [ Ubuntu: 5.19.0-44.45 ] + + * kinetic/linux: 5.19.0-44.45 -proposed tracker (LP: #2019827) + * Linux 5.19 amdgpu: NULL pointer on GCN2 and invalid load on GCN1 + (LP: #2018470) + - drm/amdgpu: Fix for BO move issue + * CVE-2023-32233 + - netfilter: nf_tables: deactivate anonymous set from preparation phase + * CVE-2023-2612 + - SAUCE: shiftfs: prevent lock unbalance in shiftfs_create_object() + * CVE-2023-31436 + - net: sched: sch_qfq: prevent slab-out-of-bounds in qfq_activate_agg + * CVE-2023-1380 + - wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies() + * conntrack mark is not advertised via netlink (LP: #2016269) + - netfilter: ctnetlink: revert to dumping mark regardless of event type + * 5.19 not reporting cgroups v1 blkio.throttle.io_serviced (LP: #2016186) + - SAUCE: blk-throttle: Fix io statistics for cgroup v1 + * [SRU] Backport request for hpwdt from upstream 6.1 to Jammy (LP: #2008751) + - watchdog/hpwdt: Enable HP_WATCHDOG for ARM64 systems. + - watchdog/hpwdt: Include nmi.h only if CONFIG_HPWDT_NMI_DECODING + - [Config] Add arm64 option to CONFIG_HP_WATCHDOG + * vmwgfx fails to reserve graphics buffer on aarch64 leading to blank display + (LP: #2007001) + - SAUCE: Revert "video/aperture: Disable and unregister sysfb devices via + aperture helpers" + * Ubuntu 22.04 raise abnormal NIC MSI-X requests with larger CPU cores (256) + (LP: #2012335) + - ice: Allow operation with reduced device MSI-X + * Dell: Enable speaker mute hotkey LED indicator (LP: #2015972) + - platform/x86: dell-laptop: Register ctl-led for speaker-mute + * [SRU]With "Performance per Watt (DAPC)" enabled in the BIOS, Bootup time is + taking longer than expected (LP: #2008527) + - cpufreq: ACPI: Defer setting boost MSRs + * [SRU][Jammy] CONFIG_PCI_MESON is not enabled (LP: #2007745) + - [Config] arm64: Enable PCI_MESON module + * Kinetic update: upstream stable patchset 2023-05-08 (LP: #2018948) + - HID: asus: use spinlock to protect concurrent accesses + - HID: asus: use spinlock to safely schedule workers + - powerpc/mm: Rearrange if-else block to avoid clang warning + - ARM: OMAP2+: Fix memory leak in realtime_counter_init() + - arm64: dts: qcom: qcs404: use symbol names for PCIe resets + - arm64: dts: qcom: msm8996-tone: Fix USB taking 6 minutes to wake up + - arm64: dts: qcom: sm8150-kumano: Panel framebuffer is 2.5k instead of 4k + - arm64: dts: qcom: sm6125: Reorder HSUSB PHY clocks to match bindings + - arm64: dts: imx8m: Align SoC unique ID node unit address + - ARM: zynq: Fix refcount leak in zynq_early_slcr_init + - arm64: dts: mediatek: mt8183: Fix systimer 13 MHz clock description + - arm64: dts: qcom: sdm845-db845c: fix audio codec interrupt pin name + - arm64: dts: qcom: sc7180: correct SPMI bus address cells + - arm64: dts: qcom: sc7280: correct SPMI bus address cells + - arm64: dts: meson-gx: Fix Ethernet MAC address unit name + - arm64: dts: meson-g12a: Fix internal Ethernet PHY unit name + - arm64: dts: meson-gx: Fix the SCPI DVFS node name and unit address + - arm64: dts: msm8992-bullhead: add memory hole region + - arm64: dts: qcom: msm8992-bullhead: Fix cont_splash_mem size + - arm64: dts: qcom: msm8992-bullhead: Disable dfps_data_mem + - arm64: dts: qcom: ipq8074: correct USB3 QMP PHY-s clock output names + - arm64: dts: qcom: ipq8074: fix Gen3 PCIe QMP PHY + - arm64: dts: qcom: ipq8074: correct Gen2 PCIe ranges + - arm64: dts: qcom: ipq8074: fix Gen3 PCIe node + - arm64: dts: qcom: ipq8074: correct PCIe QMP PHY output clock names + - arm64: dts: meson: remove CPU opps below 1GHz for G12A boards + - ARM: OMAP1: call platform_device_put() in error case in + omap1_dm_timer_init() + - ARM: bcm2835_defconfig: Enable the framebuffer + - ARM: s3c: fix s3c64xx_set_timer_source prototype + - arm64: dts: ti: k3-j7200: Fix wakeup pinmux range + - ARM: dts: exynos: correct wr-active property in Exynos3250 Rinato + - ARM: imx: Call ida_simple_remove() for ida_simple_get + - arm64: dts: amlogic: meson-gx: fix SCPI clock dvfs node name + - arm64: dts: amlogic: meson-axg: fix SCPI clock dvfs node name + - arm64: dts: amlogic: meson-gx: add missing SCPI sensors compatible + - arm64: dts: amlogic: meson-gxl-s905d-sml5442tw: drop invalid clock-names + property + - arm64: dts: amlogic: meson-gx: add missing unit address to rng node name + - arm64: dts: amlogic: meson-gxl: add missing unit address to eth-phy-mux node + name + - arm64: dts: amlogic: meson-gx-libretech-pc: fix update button name + - arm64: dts: amlogic: meson-sm1-bananapi-m5: fix adc keys node names + - arm64: dts: amlogic: meson-gxl-s905d-phicomm-n1: fix led node name + - arm64: dts: amlogic: meson-gxbb-kii-pro: fix led node name + - arm64: dts: amlogic: meson-sm1-odroid-hc4: fix active fan thermal trip + - locking/rwsem: Disable preemption in all down_read*() and up_read() code + paths + - arm64: dts: renesas: beacon-renesom: Fix gpio expander reference + - arm64: dts: meson: bananapi-m5: switch VDDIO_C pin to OPEN_DRAIN + - ARM: dts: sun8i: nanopi-duo2: Fix regulator GPIO reference + - ARM: dts: imx7s: correct iomuxc gpr mux controller cells + - arm64: dts: mt8192: Fix CPU map for single-cluster SoC + - arm64: dts: mediatek: mt7622: Add missing pwm-cells to pwm node + - blk-mq: avoid sleep in blk_mq_alloc_request_hctx + - blk-mq: remove stale comment for blk_mq_sched_mark_restart_hctx + - blk-mq: correct stale comment of .get_budget + - arm64: dts: qcom: msm8992-lg-bullhead: Correct memory overlaps with the SMEM + and MPSS memory regions + - s390/dasd: Fix potential memleak in dasd_eckd_init() + - sched/rt: pick_next_rt_entity(): check list_entry + - x86/perf/zhaoxin: Add stepping check for ZXC + - KEYS: asymmetric: Fix ECDSA use via keyctl uapi + - arm64: dts: qcom: pmk8350: Specify PBS register for PON + - arm64: dts: qcom: pmk8350: Use the correct PON compatible + - block: bio-integrity: Copy flags when bio_integrity_payload is cloned + - wifi: rsi: Fix memory leak in rsi_coex_attach() + - wifi: rtlwifi: rtl8821ae: don't call kfree_skb() under spin_lock_irqsave() + - wifi: rtlwifi: rtl8188ee: don't call kfree_skb() under spin_lock_irqsave() + - wifi: rtlwifi: rtl8723be: don't call kfree_skb() under spin_lock_irqsave() + - wifi: iwlegacy: common: don't call dev_kfree_skb() under spin_lock_irqsave() + - wifi: libertas: fix memory leak in lbs_init_adapter() + - wifi: rtl8xxxu: don't call dev_kfree_skb() under spin_lock_irqsave() + - wifi: rtlwifi: Fix global-out-of-bounds bug in + _rtl8812ae_phy_set_txpower_limit() + - libbpf: Fix btf__align_of() by taking into account field offsets + - wifi: ipw2x00: don't call dev_kfree_skb() under spin_lock_irqsave() + - wifi: ipw2200: fix memory leak in ipw_wdev_init() + - wifi: wilc1000: fix potential memory leak in wilc_mac_xmit() + - wifi: brcmfmac: fix potential memory leak in brcmf_netdev_start_xmit() + - wifi: brcmfmac: unmap dma buffer in brcmf_msgbuf_alloc_pktid() + - wifi: libertas_tf: don't call kfree_skb() under spin_lock_irqsave() + - wifi: libertas: if_usb: don't call kfree_skb() under spin_lock_irqsave() + - wifi: libertas: main: don't call kfree_skb() under spin_lock_irqsave() + - wifi: libertas: cmdresp: don't call kfree_skb() under spin_lock_irqsave() + - wifi: wl3501_cs: don't call kfree_skb() under spin_lock_irqsave() + - crypto: x86/ghash - fix unaligned access in ghash_setkey() + - ACPICA: Drop port I/O validation for some regions + - genirq: Fix the return type of kstat_cpu_irqs_sum() + - rcu-tasks: Improve comments explaining tasks_rcu_exit_srcu purpose + - rcu-tasks: Remove preemption disablement around srcu_read_[un]lock() calls + - rcu-tasks: Fix synchronize_rcu_tasks() VS zap_pid_ns_processes() + - lib/mpi: Fix buffer overrun when SG is too long + - crypto: ccp - Avoid page allocation failure warning for SEV_GET_ID2 + - ACPICA: nsrepair: handle cases without a return value correctly + - thermal/drivers/tsens: Drop msm8976-specific defines + - thermal/drivers/tsens: Sort out msm8976 vs msm8956 data + - thermal/drivers/tsens: fix slope values for msm8939 + - thermal/drivers/tsens: limit num_sensors to 9 for msm8939 + - wifi: rtl8xxxu: Fix memory leaks with RTL8723BU, RTL8192EU + - wifi: orinoco: check return value of hermes_write_wordrec() + - wifi: ath9k: htc_hst: free skb in ath9k_htc_rx_msg() if there is no callback + function + - ath9k: htc: clean up statistics macros + - wifi: ath9k: hif_usb: clean up skbs if ath9k_hif_usb_rx_stream() fails + - wifi: ath9k: Fix potential stack-out-of-bounds write in + ath9k_wmi_rsp_callback() + - wifi: ath11k: Fix memory leak in ath11k_peer_rx_frag_setup + - wifi: cfg80211: Fix extended KCK key length check in + nl80211_set_rekey_data() + - ACPI: battery: Fix missing NUL-termination with large strings + - crypto: ccp - Failure on re-initialization due to duplicate sysfs filename + - crypto: essiv - Handle EBUSY correctly + - crypto: seqiv - Handle EBUSY correctly + - powercap: fix possible name leak in powercap_register_zone() + - x86/microcode: Print previous version of microcode after reload + - x86/microcode: Add a parameter to microcode_check() to store CPU + capabilities + - x86/microcode: Check CPU capabilities after late microcode update correctly + - x86/microcode: Adjust late loading result reporting message + - crypto: xts - Handle EBUSY correctly + - leds: led-class: Add missing put_device() to led_put() + - crypto: ccp - Flush the SEV-ES TMR memory before giving it to firmware + - bpftool: profile online CPUs instead of possible + - net/mlx5: Enhance debug print in page allocation failure + - irqchip: Fix refcount leak in platform_irqchip_probe + - irqchip/alpine-msi: Fix refcount leak in alpine_msix_init_domains + - irqchip/irq-mvebu-gicp: Fix refcount leak in mvebu_gicp_probe + - irqchip/ti-sci: Fix refcount leak in ti_sci_intr_irq_domain_probe + - s390/mem_detect: fix detect_memory() error handling + - s390/vmem: fix empty page tables cleanup under KASAN + - net: add sock_init_data_uid() + - tun: tun_chr_open(): correctly initialize socket uid + - tap: tap_open(): correctly initialize socket uid + - OPP: fix error checking in opp_migrate_dentry() + - Bluetooth: L2CAP: Fix potential user-after-free + - Bluetooth: hci_qca: get wakeup status from serdev device handle + - s390/ap: fix status returned by ap_aqic() + - s390/ap: fix status returned by ap_qact() + - libbpf: Fix alen calculation in libbpf_nla_dump_errormsg() + - rds: rds_rm_zerocopy_callback() correct order for list_add_tail() + - crypto: rsa-pkcs1pad - Use akcipher_request_complete + - m68k: /proc/hardware should depend on PROC_FS + - RISC-V: time: initialize hrtimer based broadcast clock event device + - wifi: iwl3945: Add missing check for create_singlethread_workqueue + - wifi: iwl4965: Add missing check for create_singlethread_workqueue() + - wifi: mwifiex: fix loop iterator in mwifiex_update_ampdu_txwinsize() + - selftests/bpf: Fix out-of-srctree build + - ACPI: resource: Add IRQ overrides for MAINGEAR Vector Pro 2 models + - ACPI: resource: Do IRQ override on all TongFang GMxRGxx + - crypto: crypto4xx - Call dma_unmap_page when done + - wifi: mac80211: make rate u32 in sta_set_rate_info_rx() + - thermal/drivers/hisi: Drop second sensor hi3660 + - can: esd_usb: Move mislocated storage of SJA1000_ECC_SEG bits in case of a + bus error + - bpf: Fix global subprog context argument resolution logic + - irqchip/irq-brcmstb-l2: Set IRQ_LEVEL for level triggered interrupts + - irqchip/irq-bcm7120-l2: Set IRQ_LEVEL for level triggered interrupts + - selftests/net: Interpret UDP_GRO cmsg data as an int value + - l2tp: Avoid possible recursive deadlock in l2tp_tunnel_register() + - net: bcmgenet: fix MoCA LED control + - sefltests: netdevsim: wait for devlink instance after netns removal + - drm: Fix potential null-ptr-deref due to drmm_mode_config_init() + - drm/fourcc: Add missing big-endian XRGB1555 and RGB565 formats + - drm/bridge: ti-sn65dsi83: Fix delay after reset deassert to match spec + - [Config] updateconfigs for DRM_MXSFB + - drm: mxsfb: DRM_MXSFB should depend on ARCH_MXS || ARCH_MXC + - drm/bridge: megachips: Fix error handling in i2c_register_driver() + - drm/vkms: Fix memory leak in vkms_init() + - drm/vkms: Fix null-ptr-deref in vkms_release() + - drm/vc4: dpi: Add option for inverting pixel clock and output enable + - drm/vc4: dpi: Fix format mapping for RGB565 + - drm: tidss: Fix pixel format definition + - gpu: ipu-v3: common: Add of_node_put() for reference returned by + of_graph_get_port_by_id() + - hwmon: (ftsteutates) Fix scaling of measurements + - drm/msm/hdmi: Add missing check for alloc_ordered_workqueue + - pinctrl: qcom: pinctrl-msm8976: Correct function names for wcss pins + - pinctrl: stm32: Fix refcount leak in stm32_pctrl_get_irq_domain + - pinctrl: rockchip: Fix refcount leak in rockchip_pinctrl_parse_groups + - drm/vc4: hvs: Set AXI panic modes + - drm/vc4: hvs: Fix colour order for xRGB1555 on HVS5 + - drm/vc4: hdmi: Correct interlaced timings again + - drm/msm: clean event_thread->worker in case of an error + - scsi: qla2xxx: edif: Fix I/O timeout due to over-subscription + - scsi: qla2xxx: Fix exchange oversubscription + - scsi: qla2xxx: Fix exchange oversubscription for management commands + - ASoC: fsl_sai: initialize is_dsp_mode flag + - drm/msm/adreno: Fix null ptr access in adreno_gpu_cleanup() + - ALSA: hda/ca0132: minor fix for allocation size + - drm/msm/gem: Add check for kmalloc + - drm/msm/dpu: Disallow unallocated resources to be returned + - drm/bridge: lt9611: fix sleep mode setup + - drm/bridge: lt9611: fix HPD reenablement + - drm/bridge: lt9611: fix polarity programming + - drm/bridge: lt9611: fix programming of video modes + - drm/bridge: lt9611: fix clock calculation + - drm/bridge: lt9611: pass a pointer to the of node + - drm/mipi-dsi: Fix byte order of 16-bit DCS set/get brightness + - drm: exynos: dsi: Fix MIPI_DSI*_NO_* mode flags + - drm/msm/dsi: Allow 2 CTRLs on v2.5.0 + - drm/msm: use strscpy instead of strncpy + - drm/msm/dpu: Add check for cstate + - drm/msm/dpu: Add check for pstates + - drm/msm/mdp5: Add check for kzalloc + - pinctrl: bcm2835: Remove of_node_put() in bcm2835_of_gpio_ranges_fallback() + - pinctrl: mediatek: Initialize variable pullen and pullup to zero + - pinctrl: mediatek: Initialize variable *buf to zero + - gpu: host1x: Don't skip assigning syncpoints to channels + - drm/tegra: firewall: Check for is_addr_reg existence in IMM check + - drm/msm/dpu: set pdpu->is_rt_pipe early in dpu_plane_sspp_atomic_update() + - drm/mediatek: dsi: Reduce the time of dsi from LP11 to sending cmd + - drm/mediatek: Use NULL instead of 0 for NULL pointer + - drm/mediatek: Drop unbalanced obj unref + - drm/mediatek: mtk_drm_crtc: Add checks for devm_kcalloc + - drm/mediatek: Clean dangling pointer on bind error path + - ASoC: soc-compress.c: fixup private_data on snd_soc_new_compress() + - gpio: vf610: connect GPIO label to dev name + - spi: dw_bt1: fix MUX_MMIO dependencies + - ASoC: mchp-spdifrx: fix controls which rely on rsr register + - ASoC: mchp-spdifrx: fix return value in case completion times out + - ASoC: mchp-spdifrx: fix controls that works with completion mechanism + - ASoC: mchp-spdifrx: disable all interrupts in mchp_spdifrx_dai_remove() + - ASoC: rsnd: fixup #endif position + - ASoC: mchp-spdifrx: Fix uninitialized use of mr in mchp_spdifrx_hw_params() + - ASoC: dt-bindings: meson: fix gx-card codec node regex + - hwmon: (ltc2945) Handle error case in ltc2945_value_store + - drm/amdgpu: fix enum odm_combine_mode mismatch + - scsi: mpt3sas: Fix a memory leak + - scsi: aic94xx: Add missing check for dma_map_single() + - HID: multitouch: Add quirks for flipped axes + - HID: retain initial quirks set up when creating HID devices + - ASoC: codecs: lpass: fix incorrect mclk rate + - spi: bcm63xx-hsspi: Fix multi-bit mode setting + - hwmon: (mlxreg-fan) Return zero speed for broken fan + - ASoC: tlv320adcx140: fix 'ti,gpio-config' DT property init + - dm: remove flush_scheduled_work() during local_exit() + - nfs4trace: fix state manager flag printing + - NFS: fix disabling of swap + - spi: synquacer: Fix timeout handling in synquacer_spi_transfer_one() + - ASoC: soc-dapm.h: fixup warning struct snd_pcm_substream not declared + - HID: bigben: use spinlock to protect concurrent accesses + - HID: bigben_worker() remove unneeded check on report_field + - HID: bigben: use spinlock to safely schedule workers + - hid: bigben_probe(): validate report count + - drm/shmem-helper: Fix locking for drm_gem_shmem_get_pages_sgt() + - nfsd: fix race to check ls_layouts + - cifs: Fix lost destroy smbd connection when MR allocate failed + - cifs: Fix warning and UAF when destroy the MR list + - gfs2: jdata writepage fix + - perf llvm: Fix inadvertent file creation + - leds: led-core: Fix refcount leak in of_led_get() + - perf inject: Use perf_data__read() for auxtrace + - perf intel-pt: Do not try to queue auxtrace data on pipe + - perf tools: Fix auto-complete on aarch64 + - sparc: allow PM configs for sparc32 COMPILE_TEST + - printf: fix errname.c list + - objtool: add UACCESS exceptions for __tsan_volatile_read/write + - mfd: cs5535: Don't build on UML + - mfd: pcf50633-adc: Fix potential memleak in pcf50633_adc_async_read() + - dmaengine: idxd: Set traffic class values in GRPCFG on DSA 2.0 + - [Config] updateconfigs for HISI_DMA + - dmaengine: HISI_DMA should depend on ARCH_HISI + - iio: light: tsl2563: Do not hardcode interrupt trigger type + - usb: gadget: fusb300_udc: free irq on the error path in fusb300_probe() + - i2c: designware: fix i2c_dw_clk_rate() return size to be u32 + - soundwire: cadence: Don't overflow the command FIFOs + - driver core: fix potential null-ptr-deref in device_add() + - kobject: modify kobject_get_path() to take a const * + - kobject: Fix slab-out-of-bounds in fill_kobj_path() + - alpha/boot/tools/objstrip: fix the check for ELF header + - media: uvcvideo: Check for INACTIVE in uvc_ctrl_is_accessible() + - coresight: etm4x: Fix accesses to TRCSEQRSTEVR and TRCSEQSTR + - coresight: cti: Prevent negative values of enable count + - coresight: cti: Add PM runtime call in enable_store + - ACPI: resource: Add helper function acpi_dev_get_memory_resources() + - usb: typec: intel_pmc_mux: Use the helper acpi_dev_get_memory_resources() + - usb: typec: intel_pmc_mux: Don't leak the ACPI device reference count + - PCI/IOV: Enlarge virtfn sysfs name buffer + - PCI: switchtec: Return -EFAULT for copy_to_user() errors + - tty: serial: fsl_lpuart: disable Rx/Tx DMA in lpuart32_shutdown() + - tty: serial: fsl_lpuart: clear LPUART Status Register in lpuart32_shutdown() + - serial: tegra: Add missing clk_disable_unprepare() in tegra_uart_hw_init() + - Revert "char: pcmcia: cm4000_cs: Replace mdelay with usleep_range in + set_protocol" + - eeprom: idt_89hpesx: Fix error handling in idt_init() + - applicom: Fix PCI device refcount leak in applicom_init() + - firmware: stratix10-svc: add missing gen_pool_destroy() in + stratix10_svc_drv_probe() + - VMCI: check context->notify_page after call to get_user_pages_fast() to + avoid GPF + - misc/mei/hdcp: Use correct macros to initialize uuid_le + - driver core: fix resource leak in device_add() + - drivers: base: transport_class: fix possible memory leak + - drivers: base: transport_class: fix resource leak when + transport_add_device() fails + - firmware: dmi-sysfs: Fix null-ptr-deref in dmi_sysfs_register_handle + - fotg210-udc: Add missing completion handler + - dmaengine: dw-edma: Fix missing src/dst address of interleaved xfers + - usb: early: xhci-dbc: Fix a potential out-of-bound memory access + - tty: serial: fsl_lpuart: Fix the wrong RXWATER setting for rx dma case + - RDMA/cxgb4: add null-ptr-check after ip_dev_find() + - usb: musb: mediatek: don't unregister something that wasn't registered + - usb: gadget: configfs: Restrict symlink creation is UDC already binded + - iommu/vt-d: Set No Execute Enable bit in PASID table entry + - power: supply: remove faulty cooling logic + - RDMA/cxgb4: Fix potential null-ptr-deref in pass_establish() + - usb: max-3421: Fix setting of I/O pins + - RDMA/irdma: Cap MSIX used to online CPUs + 1 + - serial: fsl_lpuart: fix RS485 RTS polariy inverse issue + - tty: serial: imx: Handle RS485 DE signal active high + - tty: serial: imx: disable Ageing Timer interrupt request irq + - dmaengine: dw-edma: Fix readq_ch() return value truncation + - phy: rockchip-typec: fix tcphy_get_mode error case + - iw_cxgb4: Fix potential NULL dereference in c4iw_fill_res_cm_id_entry() + - iommu: Fix error unwind in iommu_group_alloc() + - dmaengine: sf-pdma: pdma_desc memory leak fix + - dmaengine: dw-axi-dmac: Do not dereference NULL structure + - iommu/vt-d: Fix error handling in sva enable/disable paths + - iommu/vt-d: Allow to use flush-queue when first level is default + - IB/hfi1: Fix math bugs in hfi1_can_pin_pages() + - IB/hfi1: Fix sdma.h tx->num_descs off-by-one errors + - remoteproc: qcom_q6v5_mss: Use a carveout to authenticate modem headers + - media: ti: cal: fix possible memory leak in cal_ctx_create() + - media: platform: ti: Add missing check for devm_regulator_get + - powerpc: Remove linker flag from KBUILD_AFLAGS + - s390/vdso: Drop '-shared' from KBUILD_CFLAGS_64 + - builddeb: clean generated package content + - media: max9286: Fix memleak in max9286_v4l2_register() + - media: ov2740: Fix memleak in ov2740_init_controls() + - media: ov5675: Fix memleak in ov5675_init_controls() + - media: i2c: ov772x: Fix memleak in ov772x_probe() + - media: i2c: imx219: Split common registers from mode tables + - media: i2c: imx219: Fix binning for RAW8 capture + - media: v4l2-jpeg: correct the skip count in jpeg_parse_app14_data + - media: v4l2-jpeg: ignore the unknown APP14 marker + - media: imx-jpeg: Apply clk_bulk api instead of operating specific clk + - media: i2c: ov7670: 0 instead of -EINVAL was returned + - media: usb: siano: Fix use after free bugs caused by do_submit_urb + - media: saa7134: Use video_unregister_device for radio_dev + - rpmsg: glink: Avoid infinite loop on intent for missing channel + - udf: Define EFSCORRUPTED error code + - ARM: dts: exynos: Use Exynos5420 compatible for the MIPI video phy + - blk-iocost: fix divide by 0 error in calc_lcoefs() + - trace/blktrace: fix memory leak with using debugfs_lookup() + - wifi: ath9k: Fix use-after-free in ath9k_hif_usb_disconnect() + - wifi: brcmfmac: Fix potential stack-out-of-bounds in brcmf_c_preinit_dcmds() + - rcu: Make RCU_LOCKDEP_WARN() avoid early lockdep checks + - rcu: Suppress smp_processor_id() complaint in + synchronize_rcu_expedited_wait() + - rcu-tasks: Make rude RCU-Tasks work well with CPU hotplug + - wifi: ath11k: debugfs: fix to work with multiple PCI devices + - thermal: intel: Fix unsigned comparison with less than zero + - timers: Prevent union confusion from unexpected restart_syscall() + - x86/bugs: Reset speculation control settings on init + - wifi: brcmfmac: ensure CLM version is null-terminated to prevent stack-out- + of-bounds + - wifi: mt7601u: fix an integer underflow + - inet: fix fast path in __inet_hash_connect() + - ice: restrict PTP HW clock freq adjustments to 100, 000, 000 PPB + - ice: add missing checks for PF vsi type + - ACPI: Don't build ACPICA with '-Os' + - thermal: intel: intel_pch: Add support for Wellsburg PCH + - clocksource: Suspend the watchdog temporarily when high read latency + detected + - crypto: hisilicon: Wipe entire pool on error + - net: bcmgenet: Add a check for oversized packets + - m68k: Check syscall_trace_enter() return code + - netfilter: nf_tables: NULL pointer dereference in nf_tables_updobj() + - tools/power/x86/intel-speed-select: Add Emerald Rapid quirk + - wifi: mt76: dma: free rx_head in mt76_dma_rx_cleanup + - ACPI: video: Fix Lenovo Ideapad Z570 DMI match + - net/mlx5: fw_tracer: Fix debug print + - coda: Avoid partial allocation of sig_inputArgs + - uaccess: Add minimum bounds check on kernel buffer size + - s390/idle: mark arch_cpu_idle() noinstr + - time/debug: Fix memory leak with using debugfs_lookup() + - PM: domains: fix memory leak with using debugfs_lookup() + - PM: EM: fix memory leak with using debugfs_lookup() + - Bluetooth: btusb: Add VID:PID 13d3:3529 for Realtek RTL8821CE + - hv_netvsc: Check status in SEND_RNDIS_PKT completion message + - scm: add user copy checks to put_cmsg() + - drm/amd/display: Revert Reduce delay when sink device not able to ACK 00340h + write + - drm/amd/display: Fix potential null-deref in dm_resume + - drm/omap: dsi: Fix excessive stack usage + - HID: Add Mapping for System Microphone Mute + - drm/tiny: ili9486: Do not assume 8-bit only SPI controllers + - drm/radeon: free iio for atombios when driver shutdown + - scsi: lpfc: Fix use-after-free KFENCE violation during sysfs firmware write + - Revert "fbcon: don't lose the console font across generic->chip driver + switch" + - drm: amd: display: Fix memory leakage + - drm/msm/dsi: Add missing check for alloc_ordered_workqueue + - docs/scripts/gdb: add necessary make scripts_gdb step + - ASoC: soc-compress: Reposition and add pcm_mutex + - ASoC: kirkwood: Iterate over array indexes instead of using pointer math + - regulator: max77802: Bounds check regulator id against opmode + - regulator: s5m8767: Bounds check id indexing into arrays + - gfs2: Improve gfs2_make_fs_rw error handling + - hwmon: (coretemp) Simplify platform device handling + - pinctrl: at91: use devm_kasprintf() to avoid potential leaks + - scsi: snic: Fix memory leak with using debugfs_lookup() + - HID: logitech-hidpp: Don't restart communication if not necessary + - drm: panel-orientation-quirks: Add quirk for Lenovo IdeaPad Duet 3 10IGL5 + - dm thin: add cond_resched() to various workqueue loops + - dm cache: add cond_resched() to various workqueue loops + - nfsd: zero out pointers after putting nfsd_files on COPY setup error + - drm/shmem-helper: Revert accidental non-GPL export + - wifi: rtl8xxxu: fixing transmisison failure for rtl8192eu + - firmware: coreboot: framebuffer: Ignore reserved pixel color bits + - block: don't allow multiple bios for IOCB_NOWAIT issue + - rtc: pm8xxx: fix set-alarm race + - ipmi:ssif: resend_msg() cannot fail + - ipmi_ssif: Rename idle state and check + - s390/extmem: return correct segment type in __segment_load() + - s390: discard .interp section + - s390/kprobes: fix irq mask clobbering on kprobe reenter from post_handler + - s390/kprobes: fix current_kprobe never cleared after kprobes reenter + - cifs: Fix uninitialized memory read in smb3_qfs_tcon() + - btrfs: hold block group refcount during async discard + - locking/rwsem: Prevent non-first waiter from spinning in down_write() + slowpath + - ksmbd: fix wrong data area length for smb2 lock request + - ksmbd: do not allow the actual frame length to be smaller than the rfc1002 + length + - ARM: dts: exynos: correct HDMI phy compatible in Exynos4 + - hfs: fix missing hfs_bnode_get() in __hfs_bnode_create + - fs: hfsplus: fix UAF issue in hfsplus_put_super + - exfat: fix reporting fs error when reading dir beyond EOF + - exfat: fix unexpected EOF while reading dir + - exfat: redefine DIR_DELETED as the bad cluster number + - exfat: fix inode->i_blocks for non-512 byte sector size device + - fs: dlm: don't set stop rx flag after node reset + - fs: dlm: move sending fin message into state change handling + - fs: dlm: send FIN ack back in right cases + - f2fs: fix information leak in f2fs_move_inline_dirents() + - f2fs: fix cgroup writeback accounting with fs-layer encryption + - ocfs2: fix defrag path triggering jbd2 ASSERT + - ocfs2: fix non-auto defrag path not working issue + - selftests/landlock: Skip overlayfs tests when not supported + - selftests/landlock: Test ptrace as much as possible with Yama + - udf: Truncate added extents on failed expansion + - udf: Do not bother merging very long extents + - udf: Do not update file length for failed writes to inline files + - udf: Preserve link count of system files + - udf: Detect system inodes linked into directory hierarchy + - udf: Fix file corruption when appending just after end of preallocated + extent + - RDMA/siw: Fix user page pinning accounting + - KVM: Destroy target device if coalesced MMIO unregistration fails + - KVM: x86: Inject #GP if WRMSR sets reserved bits in APIC Self-IPI + - KVM: SVM: Fix potential overflow in SEV's send|receive_update_data() + - KVM: SVM: hyper-v: placate modpost section mismatch error + - KVM: s390: disable migration mode when dirty tracking is disabled + - x86/virt: Force GIF=1 prior to disabling SVM (for reboot flows) + - x86/crash: Disable virt in core NMI crash handler to avoid double shootdown + - x86/reboot: Disable virtualization in an emergency if SVM is supported + - x86/reboot: Disable SVM, not just VMX, when stopping CPUs + - x86/kprobes: Fix __recover_optprobed_insn check optimizing logic + - x86/kprobes: Fix arch_check_optimized_kprobe check within optimized_kprobe + range + - x86/microcode/amd: Remove load_microcode_amd()'s bsp parameter + - x86/microcode/AMD: Add a @cpu parameter to the reloading functions + - x86/microcode/AMD: Fix mixed steppings support + - x86/speculation: Allow enabling STIBP with legacy IBRS + - Documentation/hw-vuln: Document the interaction between IBRS and STIBP + - brd: return 0/-error from brd_insert_page() + - ima: Align ima_file_mmap() parameters with mmap_file LSM hook + - irqdomain: Fix association race + - irqdomain: Fix disassociation race + - irqdomain: Look for existing mapping only once + - irqdomain: Drop bogus fwspec-mapping error handling + - irqdomain: Fix domain registration race + - crypto: qat - fix out-of-bounds read + - io_uring: handle TIF_NOTIFY_RESUME when checking for task_work + - io_uring: mark task TASK_RUNNING before handling resume/task work + - io_uring: add a conditional reschedule to the IOPOLL cancelation loop + - io_uring/rsrc: disallow multi-source reg buffers + - io_uring: remove MSG_NOSIGNAL from recvmsg + - io_uring/poll: allow some retries for poll triggering spuriously + - ALSA: ice1712: Do not left ice->gpio_mutex locked in aureon_add_controls() + - ALSA: hda/realtek: Add quirk for HP EliteDesk 800 G6 Tower PC + - jbd2: fix data missing when reusing bh which is ready to be checkpointed + - ext4: optimize ea_inode block expansion + - ext4: refuse to create ea block when umounted + - mtd: spi-nor: sfdp: Fix index value for SCCR dwords + - mtd: spi-nor: spansion: Consider reserved bits in CFR5 register + - mtd: spi-nor: Fix shift-out-of-bounds in spi_nor_set_erase_type + - dm: send just one event on resize, not two + - dm: add cond_resched() to dm_wq_work() + - wifi: rtl8xxxu: Use a longer retry limit of 48 + - wifi: ath11k: allow system suspend to survive ath11k + - wifi: cfg80211: Fix use after free for wext + - qede: fix interrupt coalescing configuration + - thermal: intel: powerclamp: Fix cur_state for multi package system + - dm flakey: fix logic when corrupting a bio + - dm flakey: don't corrupt the zero page + - dm flakey: fix a bug with 32-bit highmem systems + - ARM: dts: qcom: sdx55: Add Qcom SMMU-500 as the fallback for IOMMU node + - ARM: dts: exynos: correct TMU phandle in Exynos4210 + - ARM: dts: exynos: correct TMU phandle in Exynos4 + - ARM: dts: exynos: correct TMU phandle in Odroid XU3 family + - ARM: dts: exynos: correct TMU phandle in Exynos5250 + - ARM: dts: exynos: correct TMU phandle in Odroid XU + - ARM: dts: exynos: correct TMU phandle in Odroid HC1 + - fuse: add inode/permission checks to fileattr_get/fileattr_set + - rbd: avoid use-after-free in do_rbd_add() when rbd_dev_create() fails + - ceph: update the time stamps and try to drop the suid/sgid + - alpha: fix FEN fault handling + - dax/kmem: Fix leak of memory-hotplug resources + - mips: fix syscall_get_nr + - media: ipu3-cio2: Fix PM runtime usage_count in driver unbind + - remoteproc/mtk_scp: Move clk ops outside send_lock + - docs: gdbmacros: print newest record + - mm: memcontrol: deprecate charge moving + - mm/thp: check and bail out if page in deferred queue already + - ktest.pl: Give back console on Ctrt^C on monitor + - ktest.pl: Fix missing "end_monitor" when machine check fails + - ktest.pl: Add RUN_TIMEOUT option with default unlimited + - ring-buffer: Handle race between rb_move_tail and rb_check_pages + - tools/bootconfig: fix single & used for logical condition + - scsi: qla2xxx: Fix link failure in NPIV environment + - scsi: qla2xxx: Check if port is online before sending ELS + - scsi: qla2xxx: Fix DMA-API call trace on NVMe LS requests + - scsi: qla2xxx: Remove unintended flag clearing + - scsi: qla2xxx: Fix erroneous link down + - scsi: qla2xxx: Remove increment of interface err cnt + - scsi: ses: Don't attach if enclosure has no components + - scsi: ses: Fix slab-out-of-bounds in ses_enclosure_data_process() + - scsi: ses: Fix possible addl_desc_ptr out-of-bounds accesses + - scsi: ses: Fix possible desc_ptr out-of-bounds accesses + - scsi: ses: Fix slab-out-of-bounds in ses_intf_remove() + - RISC-V: add a spin_shadow_stack declaration + - riscv: mm: fix regression due to update_mmu_cache change + - riscv: jump_label: Fixup unaligned arch_static_branch function + - riscv, mm: Perform BPF exhandler fixup on page fault + - riscv: ftrace: Remove wasted nops for !RISCV_ISA_C + - riscv: ftrace: Reduce the detour code size to half + - MIPS: DTS: CI20: fix otg power gpio + - PCI/PM: Observe reset delay irrespective of bridge_d3 + - PCI: hotplug: Allow marking devices as disconnected during bind/unbind + - PCI: Avoid FLR for AMD FCH AHCI adapters + - iommu/vt-d: Avoid superfluous IOTLB tracking in lazy mode + - vfio/type1: prevent underflow of locked_vm via exec() + - vfio/type1: track locked_vm per dma + - vfio/type1: restore locked_vm + - drm/i915/quirks: Add inverted backlight quirk for HP 14-r206nv + - drm/radeon: Fix eDP for single-display iMac11,2 + - drm/edid: fix AVI infoframe aspect ratio handling + - qede: avoid uninitialized entries in coal_entry array + - arm64: dts: qcom: ipq8074: fix Gen2 PCIe QMP PHY + - wifi: ath9k: use proper statements in conditionals + - kbuild: Port silent mode detection to future gnu make. + - arm64: dts: qcom: sm6350: Fix up the ramoops node + - arm64: dts: mediatek: mt8192: Fix systimer 13 MHz clock description + - arm64: dts: mediatek: mt8195: Fix systimer 13 MHz clock description + - x86/acpi/boot: Do not register processors that cannot be onlined for x2APIC + - arm64: dts: meson-gxl: jethub-j80: Fix WiFi MAC address node + - arm64: dts: meson-gxl: jethub-j80: Fix Bluetooth MAC node name + - arm64: tegra: Fix duplicate regulator on Jetson TX1 + - arm64: dts: mediatek: mt8192: Mark scp_adsp clock as broken + - arm64: dts: meson: radxa-zero: allow usb otg mode + - arm64: dts: mt8195: Fix CPU map for single-cluster SoC + - arm64: dts: mediatek: mt7986: Fix watchdog compatible + - ARM: dts: stm32: Update part number NVMEM description on stm32mp131 + - blk-mq: wait on correct sbitmap_queue in blk_mq_mark_tag_wait + - blk-mq: Fix potential io hung for shared sbitmap per tagset + - arm64: dts: qcom: sm8350: drop incorrect cells from serial + - arm64: dts: qcom: msm8953: correct TLMM gpio-ranges + - block: Fix io statistics for cgroup in throttle path + - wifi: mt76: mt7915: add missing of_node_put() + - wifi: mt76: mt7921s: fix slab-out-of-bounds access in sdio host + - wifi: mt76: mt7915: check return value before accessing free_block_num + - wifi: mt76: mt7915: drop always true condition of __mt7915_reg_addr() + - wifi: mt76: mt7915: fix unintended sign extension of mt7915_hw_queue_read() + - wifi: rtw89: 8852c: rfk: correct DACK setting + - wifi: rtw89: 8852c: rfk: correct DPK settings + - wifi: wilc1000: add missing unregister_netdev() in wilc_netdev_ifc_init() + - libbpf: Fix invalid return address register in s390 + - kselftest/arm64: Fix syscall-abi for systems without 128 bit SME + - workqueue: Protects wq_unbound_cpumask with wq_pool_attach_mutex + - s390/early: fix sclp_early_sccb variable lifetime + - s390/vfio-ap: fix an error handling path in vfio_ap_mdev_probe_queue() + - x86/signal: Fix the value returned by strict_sas_size() + - wifi: rtw89: fix potential leak in rtw89_append_probe_req_ie() + - wifi: rtw89: Add missing check for alloc_workqueue + - s390/bpf: Add expoline to tail calls + - wifi: iwlwifi: mei: fix compilation errors in rfkill() + - kselftest/arm64: Fix enumeration of systems without 128 bit SME + - can: rcar_canfd: Fix R-Car V3U GAFLCFG field accesses + - wifi: mt76: mt7915: call mt7915_mcu_set_thermal_throttling() only after + init_work + - wifi: mt76: mt7915: fix memory leak in mt7915_mcu_exit + - wifi: mt76: add memory barrier to SDIO queue kick + - cpufreq: davinci: Fix clk use after free + - net: ipa: generic command param fix + - crypto: octeontx2 - Fix objects shared between several modules + - tools/lib/thermal: Fix thermal_sampling_exit() + - selftests/bpf: Fix map_kptr test. + - net/smc: fix potential panic dues to unprotected smc_llc_srv_add_link() + - net: lan966x: Fix possible deadlock inside PTP + - net/mlx4_en: Introduce flexible array to silence overflow warning + - drm/msm/dpu: check for null return of devm_kzalloc() in dpu_writeback_init() + - drm/vc4: hvs: SCALER_DISPBKGND_AUTOHS is only valid on HVS4 + - scsi: qla2xxx: edif: Fix clang warning + - scsi: ufs: exynos: Fix DMA alignment for PAGE_SIZE != 4096 + - habanalabs: bugs fixes in timestamps buff alloc + - dt-bindings: display: mediatek: Fix the fallback for mediatek,mt8186-disp- + ccorr + - ASoC: topology: Properly access value coming from topology file + - regmap: apply reg_base and reg_downshift for single register ops + - hwmon: (asus-ec-sensors) add missing mutex path + - [Config] updateconfigs for SND_HDA_CTL_DEV_ID + - ALSA: hda: Fix the control element identification for multiple codecs + - ASoC: qcom: q6apm-lpass-dai: unprepare stream if its already prepared + - ASoC: qcom: q6apm-dai: fix race condition while updating the position + pointer + - ASoC: qcom: q6apm-dai: Add SNDRV_PCM_INFO_BATCH flag + - nfsd: fix courtesy client with deny mode handling in nfs4_upgrade_open + - NFSD: copy the whole verifier in nfsd_copy_write_verifier + - cifs: use tcon allocation functions even for dummy tcon + - tools/tracing/rtla: osnoise_hist: use total duration for average calculation + - perf test bpf: Skip test if kernel-debuginfo is not present + - perf record: Fix segfault with --overwrite and --max-size + - RDMA/hns: Fix refcount leak in hns_roce_mmap + - mei: pxp: Use correct macros to initialize uuid_le + - misc: fastrpc: Fix an error handling path in fastrpc_rpmsg_probe() + - driver core: location: Free struct acpi_pld_info *pld before return false + - PCI: mt7621: Delay phy ports initialization + - driver core: fw_devlink: Add DL_FLAG_CYCLE support to device links + - mtd: mtdpart: Don't create platform device that'll never probe + - usb: host: fsl-mph-dr-of: reuse device_set_of_node_from_dev + - PCI: Fix dropping valid root bus resources with .end = zero + - dmaengine: ptdma: check for null desc before calling pt_cmd_callback + - RDMA/rxe: Fix missing memory barriers in rxe_queue.h + - media: imx: imx7-media-csi: fix missing clk_disable_unprepare() in + imx7_csi_init() + - media: camss: csiphy-3ph: avoid undefined behavior + - media: drivers/media/v4l2-core/v4l2-h264 : add detection of null pointers + - rpmsg: glink: Release driver_override + - block: clear bio->bi_bdev when putting a bio back in the cache + - block: be a bit more careful in checking for NULL bdev while polling + - ipmi: ipmb: Fix the MODULE_PARM_DESC associated to 'retry_time_ms' + - io_uring: Replace 0-length array with flexible array + - io_uring: fix fget leak when fs don't support nowait buffered read + - scsi: mpi3mr: Fix missing mrioc->evtack_cmds initialization + - scsi: mpi3mr: Fix issues in mpi3mr_get_all_tgt_info() + - scsi: mpi3mr: Remove unnecessary memcpy() to alltgt_info->dmi + - ksmbd: fix possible memory leak in smb2_lock() + - f2fs: fix kernel crash due to null io->bio + - KVM: VMX: Fix crash due to uninitialized current_vmcs + - KVM: x86: Purge "highest ISR" cache when updating APICv state + - KVM: x86: Don't inhibit APICv/AVIC on xAPIC ID "change" if APIC is disabled + - KVM: x86: Don't inhibit APICv/AVIC if xAPIC ID mismatch is due to 32-bit ID + - KVM: SVM: Process ICR on AVIC IPI delivery failure due to invalid target + - virt/sev-guest: Return -EIO if certificate buffer is not large enough + - ima: fix error handling logic when file measurement failed + - irqdomain: Refactor __irq_domain_alloc_irqs() + - irqdomain: Fix mapping-creation race + - mm/damon/paddr: fix missing folio_put() + - cxl/pmem: Fix nvdimm registration races + - cpuidle: add ARCH_SUSPEND_POSSIBLE dependencies + - hwmon: (peci/cputemp) Fix off-by-one in coretemp_label allocation + - hwmon: (nct6775) Fix incorrect parenthesization in nct6775_write_fan_div() + - ARM: dts: qcom: sdx65: Add Qcom SMMU-500 as the fallback for IOMMU node + - [Config] updateconfigs for HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON + - arm64: mm: hugetlb: Disable HUGETLB_PAGE_OPTIMIZE_VMEMMAP + - panic: fix the panic_print NMI backtrace setting + - kprobes: Fix to handle forcibly unoptimized kprobes on freeing_list + - scsi: aacraid: Allocate cmd_priv with scsicmd + - riscv: Avoid enabling interrupts in die() + - PCI: Unify delay handling for reset and resume + - bus: mhi: ep: Only send -ENOTCONN status if client driver is available + - bus: mhi: ep: Move chan->lock to the start of processing queued ch ring + - bus: mhi: ep: Save channel state locally during suspend and resume + - iommu/vt-d: Fix PASID directory pointer coherency + - vfio/type1: exclude mdevs from VFIO_UPDATE_VADDR + - drm/i915: Don't use stolen memory for ring buffers with LLC + - drm/i915: Don't use BAR mappings for ring buffers with LLC + * CVE-2022-4269 + - act_mirred: use the backlog for nested calls to mirred ingress + - net/sched: act_mirred: better wording on protection against excessive stack + growth + * CVE-2023-30456 + - KVM: nVMX: add missing consistency checks for CR0 and CR4 + * CVE-2023-1859 + - 9p/xen : Fix use after free bug in xen_9pfs_front_remove due to race + condition + * CVE-2023-1670 + - xirc2ps_cs: Fix use after free bug in xirc2ps_detach + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + -- Khalid Elmously Mon, 05 Jun 2023 00:45:55 -0400 + +linux-gcp (5.19.0-1025.27) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1025.27 -proposed tracker (LP: #2019595) + + [ Ubuntu: 5.19.0-43.44 ] + + * kinetic/linux: 5.19.0-43.44 -proposed tracker (LP: #2019606) + * CVE-2023-32233 + - netfilter: nf_tables: deactivate anonymous set from preparation phase + * CVE-2023-2612 + - SAUCE: shiftfs: prevent lock unbalance in shiftfs_create_object() + * CVE-2023-31436 + - net: sched: sch_qfq: prevent slab-out-of-bounds in qfq_activate_agg + * CVE-2023-1380 + - wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies() + * CVE-2023-30456 + - KVM: nVMX: add missing consistency checks for CR0 and CR4 + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + -- Thadeu Lima de Souza Cascardo Tue, 23 May 2023 10:10:56 -0300 + +linux-gcp (5.19.0-1024.26) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1024.26 -proposed tracker (LP: #2016490) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * Fix (+follow-up) needed for SEV-SNP vulnerability (LP: #2013198) + - virt/coco/sev-guest: Add throttling awareness + + * Miscellaneous Ubuntu changes + - [config] Set SEV_GUEST back to =y + + [ Ubuntu: 5.19.0-42.43 ] + + * kinetic/linux: 5.19.0-42.43 -proposed tracker (LP: #2016503) + * selftest: fib_tests: Always cleanup before exit (LP: #2015956) + - selftest: fib_tests: Always cleanup before exit + * Debian autoreconstruct Fix restoration of execute permissions (LP: #2015498) + - [Debian] autoreconstruct - fix restoration of execute permissions + * Kinetic update: upstream stable patchset 2023-04-10 (LP: #2015812) + - drm/etnaviv: don't truncate physical page address + - wifi: rtl8xxxu: gen2: Turn on the rate control + - drm/edid: Fix minimum bpc supported with DSC1.2 for HDMI sink + - clk: mxl: Switch from direct readl/writel based IO to regmap based IO + - clk: mxl: Remove redundant spinlocks + - clk: mxl: Add option to override gate clks + - clk: mxl: Fix a clk entry by adding relevant flags + - powerpc: dts: t208x: Mark MAC1 and MAC2 as 10G + - clk: mxl: syscon_node_to_regmap() returns error pointers + - random: always mix cycle counter in add_latent_entropy() + - KVM: x86: Fail emulation during EMULTYPE_SKIP on any exception + - KVM: SVM: Skip WRMSR fastpath on VM-Exit if next RIP isn't valid + - can: kvaser_usb: hydra: help gcc-13 to figure out cmd_len + - powerpc: dts: t208x: Disable 10G on MAC1 and MAC2 + - powerpc/vmlinux.lds: Ensure STRICT_ALIGN_SIZE is at least page aligned + - powerpc/64s/radix: Fix RWX mapping with relocated kernel + - uaccess: Add speculation barrier to copy_from_user() + - wifi: mwifiex: Add missing compatible string for SD8787 + - audit: update the mailing list in MAINTAINERS + - ext4: Fix function prototype mismatch for ext4_feat_ktype + - Revert "net/sched: taprio: make qdisc_leaf() see the per-netdev-queue pfifo + child qdiscs" + - bpf: add missing header file include + - wifi: ath11k: fix warning in dma_free_coherent() of memory chunks while + recovery + - sched/psi: Stop relying on timer_pending() for poll_work rescheduling + - docs: perf: Fix PMU instance name of hisi-pcie-pmu + - randstruct: disable Clang 15 support + - ionic: refactor use of ionic_rx_fill() + - Fix XFRM-I support for nested ESP tunnels + - arm64: dts: rockchip: drop unused LED mode property from rk3328-roc-cc + - ARM: dts: rockchip: add power-domains property to dp node on rk3288 + - HID: elecom: add support for TrackBall 056E:011C + - ACPI: NFIT: fix a potential deadlock during NFIT teardown + - btrfs: send: limit number of clones and allocated memory size + - ASoC: rt715-sdca: fix clock stop prepare timeout issue + - IB/hfi1: Assign npages earlier + - neigh: make sure used and confirmed times are valid + - HID: core: Fix deadloop in hid_apply_multiplier. + - x86/cpu: Add Lunar Lake M + - bpf: bpf_fib_lookup should not return neigh in NUD_FAILED state + - net: Remove WARN_ON_ONCE(sk->sk_forward_alloc) from sk_stream_kill_queues(). + - vc_screen: don't clobber return value in vcs_read + - scripts/tags.sh: fix incompatibility with PCRE2 + - usb: dwc3: pci: add support for the Intel Meteor Lake-M + - USB: serial: option: add support for VW/Skoda "Carstick LTE" + - usb: gadget: u_serial: Add null pointer check in gserial_resume + - USB: core: Don't hold device lock while reading the "descriptors" sysfs file + * Kinetic update: upstream stable patchset 2023-04-06 (LP: #2015511) + - ARM: dts: imx: Fix pca9547 i2c-mux node name + - ARM: dts: vf610: Fix pca9548 i2c-mux node names + - arm64: dts: freescale: Fix pca954x i2c-mux node names + - arm64: dts: imx8mq-thor96: fix no-mmc property for SDHCI + - firmware: arm_scmi: Clear stale xfer->hdr.status + - bpf: Skip task with pid=1 in send_signal_common() + - erofs/zmap.c: Fix incorrect offset calculation + - blk-cgroup: fix missing pd_online_fn() while activating policy + - HID: playstation: sanity check DualSense calibration data. + - dmaengine: imx-sdma: Fix a possible memory leak in sdma_transfer_init + - cifs: fix return of uninitialized rc in dfs_cache_update_tgthint() + - extcon: usbc-tusb320: fix kernel-doc warning + - net: fix NULL pointer in skb_segment_list + - net: mctp: purge receive queues on sk destruction + - firewire: fix memory leak for payload of request subaction to IEC 61883-1 + FCP region + - bus: sunxi-rsb: Fix error handling in sunxi_rsb_init() + - ASoC: Intel: bytcht_es8316: Drop reference count of ACPI device after use + - ASoC: Intel: bytcr_rt5651: Drop reference count of ACPI device after use + - ASoC: Intel: bytcr_rt5640: Drop reference count of ACPI device after use + - ASoC: Intel: bytcr_wm5102: Drop reference count of ACPI device after use + - bpf: Fix a possible task gone issue with bpf_send_signal[_thread]() helpers + - ALSA: hda/via: Avoid potential array out-of-bound in add_secret_dac_path() + - bpf: Fix to preserve reg parent/live fields when copying range info + - bpf, sockmap: Check for any of tcp_bpf_prots when cloning a listener + - arm64: dts: imx8mm: Fix pad control for UART1_DTE_RX + - drm/vc4: hdmi: make CEC adapter name unique + - scsi: Revert "scsi: core: map PQ=1, PDT=other values to + SCSI_SCAN_TARGET_PRESENT" + - vhost/net: Clear the pending messages when the backend is removed + - WRITE is "data source", not destination... + - READ is "data destination", not source... + - fix iov_iter_bvec() "direction" argument + - fix "direction" argument of iov_iter_kvec() + - ice: Prevent set_channel from changing queues while RDMA active + - qede: execute xdp_do_flush() before napi_complete_done() + - virtio-net: execute xdp_do_flush() before napi_complete_done() + - dpaa_eth: execute xdp_do_flush() before napi_complete_done() + - dpaa2-eth: execute xdp_do_flush() before napi_complete_done() + - sfc: correctly advertise tunneled IPv6 segmentation + - net: phy: dp83822: Fix null pointer access on DP83825/DP83826 devices + - block, bfq: replace 0/1 with false/true in bic apis + - block, bfq: fix uaf for bfqq in bic_set_bfqq() + - netrom: Fix use-after-free caused by accept on already connected socket + - drm/i915/guc: Fix locking when searching for a hung request + - drm/i915/adlp: Fix typo for reference clock + - netfilter: br_netfilter: disable sabotage_in hook after first suppression + - squashfs: harden sanity check in squashfs_read_xattr_id_table + - net: phy: meson-gxl: Add generic dummy stubs for MMD register access + - ip/ip6_gre: Fix changing addr gen mode not generating IPv6 link local + address + - ip/ip6_gre: Fix non-point-to-point tunnel not generating IPv6 link local + address + - riscv: kprobe: Fixup kernel panic when probing an illegal position + - igc: return an error if the mac type is unknown in + igc_ptp_systim_to_hwtstamp() + - can: j1939: fix errant WARN_ON_ONCE in j1939_session_deactivate + - ata: libata: Fix sata_down_spd_limit() when no link speed is reported + - selftests: net: udpgso_bench_rx: Fix 'used uninitialized' compiler warning + - selftests: net: udpgso_bench_rx/tx: Stop when wrong CLI args are provided + - selftests: net: udpgso_bench_tx: Cater for pending datagrams zerocopy + benchmarking + - virtio-net: Keep stop() to follow mirror sequence of open() + - net: openvswitch: fix flow memory leak in ovs_flow_cmd_new + - efi: fix potential NULL deref in efi_mem_reserve_persistent + - i2c: designware-pci: Add new PCI IDs for AMD NAVI GPU + - i2c: mxs: suppress probe-deferral error message + - scsi: target: core: Fix warning on RT kernels + - perf/x86/intel: Add Emerald Rapids + - scsi: iscsi_tcp: Fix UAF during logout when accessing the shost ipaddress + - scsi: iscsi_tcp: Fix UAF during login when accessing the shost ipaddress + - i2c: rk3x: fix a bunch of kernel-doc warnings + - platform/x86: gigabyte-wmi: add support for B450M DS3H WIFI-CF + - net/x25: Fix to not accept on connected socket + - drm/amd/display: Fix timing not changning when freesync video is enabled + - iio: adc: stm32-dfsdm: fill module aliases + - usb: dwc3: qcom: enable vbus override when in OTG dr-mode + - usb: gadget: f_fs: Fix unbalanced spinlock in __ffs_ep0_queue_wait + - vc_screen: move load of struct vc_data pointer in vcs_read() to avoid UAF + - fbcon: Check font dimension limits + - net: qrtr: free memory on error path in radix_tree_insert() + - watchdog: diag288_wdt: do not use stack buffers for hardware data + - watchdog: diag288_wdt: fix __diag288() inline assembly + - ALSA: hda/realtek: Add Acer Predator PH315-54 + - efi: Accept version 2 of memory attributes table + - iio: hid: fix the retval in accel_3d_capture_sample + - iio: hid: fix the retval in gyro_3d_capture_sample + - iio: adc: berlin2-adc: Add missing of_node_put() in error path + - iio:adc:twl6030: Enable measurements of VUSB, VBAT and others + - iio: imu: fxos8700: fix ACCEL measurement range selection + - iio: imu: fxos8700: fix incomplete ACCEL and MAGN channels readback + - iio: imu: fxos8700: fix IMU data bits returned to user space + - iio: imu: fxos8700: fix map label of channel type to MAGN sensor + - iio: imu: fxos8700: fix swapped ACCEL and MAGN channels readback + - iio: imu: fxos8700: fix incorrect ODR mode readback + - iio: imu: fxos8700: fix failed initialization ODR mode assignment + - iio: imu: fxos8700: remove definition FXOS8700_CTRL_ODR_MIN + - iio: imu: fxos8700: fix MAGN sensor scale and unit + - nvmem: qcom-spmi-sdam: fix module autoloading + - parisc: Fix return code of pdc_iodc_print() + - parisc: Wire up PTRACE_GETREGS/PTRACE_SETREGS for compat case + - riscv: disable generation of unwind tables + - mm: hugetlb: proc: check for hugetlb shared PMD in /proc/PID/smaps + - usb: gadget: f_uac2: Fix incorrect increment of bNumEndpoints + - kernel/irq/irqdomain.c: fix memory leak with using debugfs_lookup() + - x86/debug: Fix stack recursion caused by wrongly ordered DR7 accesses + - fpga: stratix10-soc: Fix return value check in s10_ops_write_init() + - mm/swapfile: add cond_resched() in get_swap_pages() + - highmem: round down the address passed to kunmap_flush_on_unmap() + - Squashfs: fix handling and sanity checking of xattr_ids count + - drm/i915: Fix potential bit_17 double-free + - nvmem: core: initialise nvmem->id early + - nvmem: core: remove nvmem_config wp_gpio + - nvmem: core: fix cell removal on error + - serial: 8250_dma: Fix DMA Rx completion race + - serial: 8250_dma: Fix DMA Rx rearm race + - phy: qcom-qmp-combo: fix memleak on probe deferral + - phy: qcom-qmp-usb: fix memleak on probe deferral + - phy: qcom-qmp-combo: fix broken power on + - phy: qcom-qmp-combo: fix runtime suspend + - iio:adc:twl6030: Enable measurement of VAC + - powerpc/imc-pmu: Revert nest_init_lock to being a mutex + - fs/ntfs3: Validate attribute data and valid sizes + - ovl: Use "buf" flexible array for memcpy() destination + - fbdev: smscufx: fix error handling code in ufx_usb_probe + - f2fs: fix to do sanity check on i_extra_isize in is_alive() + - wifi: brcmfmac: Check the count value of channel spec to prevent out-of- + bounds reads + - gfs2: Cosmetic gfs2_dinode_{in,out} cleanup + - gfs2: Always check inode size of inline inodes + - bpf: Skip invalid kfunc call in backtrack_insn + - ASoC: Intel: sof_es8336: Drop reference count of ACPI device after use + - ASoC: Intel: avs: Implement PCI shutdown + - bpf: Add missing btf_put to register_btf_id_dtor_kfuncs + - arm64: dts: imx8mm-verdin: Do not power down eth-phy + - vhost-scsi: unbreak any layout for response + - skb: Do mix page pool and page referenced frags in GRO + - net: wwan: t7xx: Fix Runtime PM initialization + - fscache: Use wait_on_bit() to wait for the freeing of relinquished volume + - drm/i915: Fix request ref counting during error capture & debugfs dump + - drm/i915: Fix up locking around dumping requests lists + - ALSA: firewire-motu: fix unreleased lock warning in hwdep device + - sctp: do not check hb_timer.expires when resetting hb_timer + - can: mcp251xfd: mcp251xfd_ring_set_ringparam(): assign missing + tx_obj_num_coalesce_irq + - rtc: sunplus: fix format string for printing resource + - certs: Fix build error when PKCS#11 URI contains semicolon + - hv_netvsc: Fix missed pagebuf entries in netvsc_dma_map/unmap() + - ARM: dts: imx7d-smegw01: Fix USB host over-current polarity + - can: isotp: split tx timer into transmission and timeout + - can: isotp: handle wait_event_interruptible() return values + - iio: adc: xilinx-ams: fix devm_krealloc() return value check + - iio: imx8qxp-adc: fix irq flood when call imx8qxp_adc_read_raw() + - nvmem: brcm_nvram: Add check for kzalloc + - nvmem: sunxi_sid: Always use 32-bit MMIO reads + - Revert "mm: kmemleak: alloc gray object for reserved region with direct map" + - mm: memcg: fix NULL pointer in mem_cgroup_track_foreign_dirty_slowpath() + - usb: typec: ucsi: Don't attempt to resume the ports before they exist + - usb: gadget: udc: do not clear gadget driver.bus + - mm/uffd: fix pte marker when fork() without fork event + - migrate: hugetlb: check for hugetlb shared PMD in node migration + - drm/i915: Avoid potential vm use-after-free + - nvmem: core: fix device node refcounting + - powerpc/64s/radix: Fix crash with unaligned relocated kernel + - powerpc/64s: Fix local irq disable when PMIs are disabled + - btrfs: limit device extents to the device size + - btrfs: zlib: zero-initialize zlib workspace + - ALSA: hda/realtek: Add Positivo N14KP6-TG + - ALSA: emux: Avoid potential array out-of-bound in snd_emux_xg_control() + - ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book2 Pro 360 + - ALSA: hda/realtek: Enable mute/micmute LEDs on HP Elitebook, 645 G9 + - tracing: Fix poll() and select() do not work on per_cpu trace_pipe and + trace_pipe_raw + - of/address: Return an error when no valid dma-ranges are found + - can: j1939: do not wait 250 ms if the same addr was already claimed + - xfrm: compat: change expression for switch in xfrm_xlate64 + - IB/hfi1: Restore allocated resources on failed copyout + - xfrm/compat: prevent potential spectre v1 gadget in xfrm_xlate32_attr() + - IB/IPoIB: Fix legacy IPoIB due to wrong number of queues + - RDMA/irdma: Fix potential NULL-ptr-dereference + - RDMA/usnic: use iommu_map_atomic() under spin_lock() + - xfrm: fix bug with DSCP copy to v6 from v4 tunnel + - net: phylink: move phy_device_free() to correctly release phy device + - bonding: fix error checking in bond_debug_reregister() + - net: phy: meson-gxl: use MMD access dummy stubs for GXL, internal PHY + - ionic: clean interrupt before enabling queue to avoid credit race + - uapi: add missing ip/ipv6 header dependencies for linux/stddef.h + - ice: Do not use WQ_MEM_RECLAIM flag for workqueue + - net: dsa: mt7530: don't change PVC_EG_TAG when CPU port becomes VLAN-aware + - net: mscc: ocelot: fix VCAP filters not matching on MAC with "protocol + 802.1Q" + - net/mlx5e: Update rx ring hw mtu upon each rx-fcs flag change + - net/mlx5: Bridge, fix ageing of peer FDB entries + - net/mlx5e: IPoIB, Show unknown speed instead of error + - net/mlx5: fw_tracer, Clear load bit when freeing string DBs buffers + - net/mlx5: fw_tracer, Zero consumer index when reloading the tracer + - net/mlx5: Serialize module cleanup with reload and remove + - igc: Add ndo_tx_timeout support + - rds: rds_rm_zerocopy_callback() use list_first_entry() + - selftests: forwarding: lib: quote the sysctl values + - ALSA: pci: lx6464es: fix a debug loop + - riscv: stacktrace: Fix missing the first frame + - ASoC: topology: Return -ENOMEM on memory allocation failure + - pinctrl: mediatek: Fix the drive register definition of some Pins + - pinctrl: aspeed: Fix confusing types in return value + - pinctrl: single: fix potential NULL dereference + - spi: dw: Fix wrong FIFO level setting for long xfers + - pinctrl: intel: Restore the pins that used to be in Direct IRQ mode + - cifs: Fix use-after-free in rdata->read_into_pages() + - net: USB: Fix wrong-direction WARNING in plusb.c + - mptcp: be careful on subflow status propagation on errors + - btrfs: free device in btrfs_close_devices for a single device filesystem + - usb: core: add quirk for Alcor Link AK9563 smartcard reader + - usb: typec: altmodes/displayport: Fix probe pin assign check + - clk: ingenic: jz4760: Update M/N/OD calculation algorithm + - ceph: flush cap releases when the session is flushed + - riscv: Fixup race condition on PG_dcache_clean in flush_icache_pte + - powerpc/64s/interrupt: Fix interrupt exit race with security mitigation + switch + - rtmutex: Ensure that the top waiter is always woken up + - arm64: dts: meson-gx: Make mmc host controller interrupts level-sensitive + - arm64: dts: meson-g12-common: Make mmc host controller interrupts level- + sensitive + - arm64: dts: meson-axg: Make mmc host controller interrupts level-sensitive + - Fix page corruption caused by racy check in __free_pages + - drm/amdgpu/fence: Fix oops due to non-matching drm_sched init/fini + - drm/i915: Initialize the obj flags for shmem objects + - drm/i915: Fix VBT DSI DVO port handling + - x86/speculation: Identify processors vulnerable to SMT RSB predictions + - KVM: x86: Mitigate the cross-thread return address predictions bug + - Documentation/hw-vuln: Add documentation for Cross-Thread Return Predictions + - hv_netvsc: Allocate memory in netvsc_dma_map() with GFP_ATOMIC + - xfrm: annotate data-race around use_time + - of: Make OF framebuffer device names unique + - cpufreq: qcom-hw: Fix cpufreq_driver->get() for non-LMH systems + - net: microchip: sparx5: fix PTP init/deinit not checking all ports + - drm/virtio: exbuf->fence_fd unmodified on interrupted wait + - ice: Fix disabling Rx VLAN filtering with port VLAN enabled + - ice: switch: fix potential memleak in ice_add_adv_recipe() + - net/mlx5e: Fix crash unsetting rx-vlan-filter in switchdev mode + - txhash: fix sk->sk_txrehash default + - selftests: Fix failing VXLAN VNI filtering test + - arm64: dts: rockchip: fix input enable pinconf on rk3399 + - arm64: dts: rockchip: set sdmmc0 speed to sd-uhs-sdr50 on rock-3a + - ASoC: tas5805m: rework to avoid scheduling while atomic. + - ASoC: tas5805m: add missing page switch. + - ASoC: fsl_sai: fix getting version from VERID + - mptcp: do not wait for bare sockets' timeout + - selftests: mptcp: allow more slack for slow test-case + - selftests: mptcp: stop tests earlier + - riscv: kprobe: Fixup misaligned load text + - tracing: Fix TASK_COMM_LEN in trace event format file + - drm/i915: Move fd_install after last use of fence + - mptcp: fix locking for in-kernel listener creation + - ASoC: Intel: sof_rt5682: always set dpcm_capture for amplifiers + - ASoC: Intel: sof_cs42l42: always set dpcm_capture for amplifiers + - selftests/bpf: Verify copy_register_state() preserves parent/live fields + - ALSA: hda: Do not unset preset when cleaning up codec + - bpf, sockmap: Don't let sock_map_{close,destroy,unhash} call itself + - ASoC: cs42l56: fix DT probe + - tools/virtio: fix the vringh test for virtio ring changes + - net/rose: Fix to not accept on connected socket + - net: stmmac: do not stop RX_CLK in Rx LPI state for qcs404 SoC + - drm/nouveau/devinit/tu102-: wait for GFW_BOOT_PROGRESS == COMPLETED + - net: sched: sch: Bounds check priority + - s390/decompressor: specify __decompress() buf len to avoid overflow + - nvme-fc: fix a missing queue put in nvmet_fc_ls_create_association + - drm/amd/display: Properly handle additional cases where DCN is not supported + - platform/x86: touchscreen_dmi: Add Chuwi Vi8 (CWI501) DMI match + - nvmem: core: add error handling for dev_set_name + - nvmem: core: fix cleanup after dev_set_name() + - nvmem: core: fix registration vs use race + - nvmem: core: fix return value + - aio: fix mremap after fork null-deref + - drm/amd/display: Fail atomic_check early on normalize_zpos error + - tcp: Fix listen() regression in 5.15.88. + - mmc: jz4740: Work around bug on JZ4760(B) + - mmc: sdio: fix possible resource leaks in some error paths + - mmc: mmc_spi: fix error handling in mmc_spi_probe() + - ALSA: hda/conexant: add a new hda codec SN6180 + - ALSA: hda/realtek - fixed wrong gpio assigned + - sched/psi: Fix use-after-free in ep_remove_wait_queue() + - hugetlb: check for undefined shift on 32 bit architectures + - of: reserved_mem: Have kmemleak ignore dynamically allocated reserved mem + - net: Fix unwanted sign extension in netdev_stats_to_stats64() + - revert "squashfs: harden sanity check in squashfs_read_xattr_id_table" + - ixgbe: allow to increase MTU to 3K with XDP enabled + - i40e: add double of VLAN header when computing the max MTU + - net: bgmac: fix BCM5358 support by setting correct flags + - net: ethernet: ti: am65-cpsw: Add RX DMA Channel Teardown Quirk + - sctp: sctp_sock_filter(): avoid list_entry() on possibly empty list + - dccp/tcp: Avoid negative sk_forward_alloc by ipv6_pinfo.pktoptions. + - net/usb: kalmia: Don't pass act_len in usb_bulk_msg error path + - net: openvswitch: fix possible memory leak in ovs_meter_cmd_set() + - net: stmmac: fix order of dwmac5 FlexPPS parametrization sequence + - bnxt_en: Fix mqprio and XDP ring checking logic + - net: stmmac: Restrict warning on disabling DMA store and fwd mode + - ixgbe: add double of VLAN header when computing the max MTU + - ipv6: Fix datagram socket connection with DSCP. + - ipv6: Fix tcp socket connection with DSCP. + - nilfs2: fix underflow in second superblock position calculations + - mm/filemap: fix page end in filemap_get_read_batch + - drm/i915/gen11: Wa_1408615072/Wa_1407596294 should be on GT list + - net/sched: act_ctinfo: use percpu stats + - i40e: Add checking for null for nlmsg_find_attr() + - kvm: initialize all of the kvm_debugregs structure before sending it to + userspace + - alarmtimer: Prevent starvation by small intervals and SIG_IGN + - ASoC: SOF: Intel: hda-dai: fix possible stream_tag leak + - net: sched: sch: Fix off by one in htb_activate_prios() + - platform/x86/amd: pmc: add CONFIG_SERIO dependency + - kasan: fix Oops due to missing calls to kasan_arch_is_ready() + - fbdev: Fix invalid page access after closing deferred I/O devices + - drm/vmwgfx: Stop accessing buffer objects which failed init + - drm/vmwgfx: Do not drop the reference to the handle too soon + - gpio: sim: fix a memory leak + - coredump: Move dump_emit_page() to kill unused warning + - drm/vc4: crtc: Increase setup cost in core clock calculation to handle + extreme reduced blanking + - ice: fix lost multicast packets in promisc mode + - ice: xsk: Fix cleaning of XDP_TX frames + - tracing: Make trace_define_field_ext() static + - net: use a bounce buffer for copying skb->mark + - igb: conditionalize I2C bit banging on external thermal sensor support + - igb: Fix PPS input and output using 3rd and 4th SDP + * cm32181 module error blocking suspend (LP: #1988346) // Kinetic update: + upstream stable patchset 2023-04-06 (LP: #2015511) + - iio: light: cm32181: Fix PM support on system with 2 I2C resources + * kernel: fix __clear_user() inline assembly constraints (LP: #2013088) + - s390/uaccess: add missing earlyclobber annotations to __clear_user() + * expoline.o is packaged unconditionally for s390x (LP: #2013209) + - [Packaging] Copy expoline.o only when produced by the build + * Fix selftests/ftracetests/Meta-selftests (LP: #2006453) + - selftests/ftrace: Fix bash specific "==" operator + * No HDMI audio under 5.19.0-35 & -37 (regression from -32) (LP: #2009136) + - ALSA: memalloc: Try dma_alloc_noncontiguous() at first + - ALSA: memalloc: Drop special handling of GFP for CONTINUOUS allocation + - ALSA: vx: Drop superfluous GFP setup + - ALSA: pdaudiocf: Drop superfluous GFP setup + - ASoC: Intel: sst: Switch to standard device pages + - ALSA: memalloc: Workaround for Xen PV + * Intel E810 NICs driver in causing hangs when booting and bonds configured + (LP: #2004262) + - ice: avoid bonding causing auxiliary plug/unplug under RTNL lock + * Kinetic update: upstream stable patchset 2023-04-04 (LP: #2015288) + - memory: tegra: Remove clients SID override programming + - memory: atmel-sdramc: Fix missing clk_disable_unprepare in + atmel_ramc_probe() + - memory: mvebu-devbus: Fix missing clk_disable_unprepare in + mvebu_devbus_probe() + - dmaengine: ti: k3-udma: Do conditional decrement of + UDMA_CHAN_RT_PEER_BCNT_REG + - arm64: dts: imx8mp-phycore-som: Remove invalid PMIC property + - ARM: dts: imx6ul-pico-dwarf: Use 'clock-frequency' + - ARM: dts: imx7d-pico: Use 'clock-frequency' + - ARM: dts: imx6qdl-gw560x: Remove incorrect 'uart-has-rtscts' + - arm64: dts: imx8mm-beacon: Fix ecspi2 pinmux + - ARM: imx: add missing of_node_put() + - HID: intel_ish-hid: Add check for ishtp_dma_tx_map + - arm64: dts: imx8mm-venice-gw7901: fix USB2 controller OC polarity + - soc: imx8m: Fix incorrect check for of_clk_get_by_name() + - reset: uniphier-glue: Fix possible null-ptr-deref + - EDAC/highbank: Fix memory leak in highbank_mc_probe() + - firmware: arm_scmi: Harden shared memory access in fetch_response + - firmware: arm_scmi: Harden shared memory access in fetch_notification + - tomoyo: fix broken dependency on *.conf.default + - RDMA/core: Fix ib block iterator counter overflow + - IB/hfi1: Reject a zero-length user expected buffer + - IB/hfi1: Reserve user expected TIDs + - IB/hfi1: Fix expected receive setup error exit issues + - IB/hfi1: Immediately remove invalid memory from hardware + - IB/hfi1: Remove user expected buffer invalidate race + - affs: initialize fsdata in affs_truncate() + - PM: AVS: qcom-cpr: Fix an error handling path in cpr_probe() + - arm64: dts: qcom: msm8992: Don't use sfpb mutex + - arm64: dts: qcom: msm8992-libra: Fix the memory map + - phy: ti: fix Kconfig warning and operator precedence + - NFSD: fix use-after-free in nfsd4_ssc_setup_dul() + - ARM: dts: at91: sam9x60: fix the ddr clock for sam9x60 + - amd-xgbe: TX Flow Ctrl Registers are h/w ver dependent + - amd-xgbe: Delay AN timeout during KR training + - bpf: Fix pointer-leak due to insufficient speculative store bypass + mitigation + - phy: rockchip-inno-usb2: Fix missing clk_disable_unprepare() in + rockchip_usb2phy_power_on() + - net: nfc: Fix use-after-free in local_cleanup() + - net: wan: Add checks for NULL for utdm in undo_uhdlc_init and unmap_si_regs + - net: enetc: avoid deadlock in enetc_tx_onestep_tstamp() + - sch_htb: Avoid grafting on htb_destroy_class_offload when destroying htb + - gpio: mxc: Protect GPIO irqchip RMW with bgpio spinlock + - gpio: mxc: Always set GPIOs used as interrupt source to INPUT mode + - pinctrl: rockchip: fix reading pull type on rk3568 + - net: stmmac: Fix queue statistics reading + - net/sched: sch_taprio: fix possible use-after-free + - l2tp: Serialize access to sk_user_data with sk_callback_lock + - l2tp: Don't sleep and disable BH under writer-side sk_callback_lock + - l2tp: convert l2tp_tunnel_list to idr + - l2tp: close all race conditions in l2tp_tunnel_register() + - net: usb: sr9700: Handle negative len + - net: mdio: validate parameter addr in mdiobus_get_phy() + - HID: check empty report_list in hid_validate_values() + - HID: check empty report_list in bigben_probe() + - net: stmmac: fix invalid call to mdiobus_get_phy() + - pinctrl: rockchip: fix mux route data for rk3568 + - HID: revert CHERRY_MOUSE_000C quirk + - usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait + - usb: gadget: f_fs: Ensure ep0req is dequeued before free_request + - Bluetooth: Fix possible deadlock in rfcomm_sk_state_change + - net: ipa: disable ipa interrupt during suspend + - net/mlx5: E-switch, Fix setting of reserved fields on + MODIFY_SCHEDULING_ELEMENT + - net: mlx5: eliminate anonymous module_init & module_exit + - drm/panfrost: fix GENERIC_ATOMIC64 dependency + - dmaengine: Fix double increment of client_count in dma_chan_get() + - net: macb: fix PTP TX timestamp failure due to packet padding + - virtio-net: correctly enable callback during start_xmit + - l2tp: prevent lockdep issue in l2tp_tunnel_register() + - HID: betop: check shape of output reports + - cifs: fix potential deadlock in cache_refresh_path() + - dmaengine: xilinx_dma: call of_node_put() when breaking out of + for_each_child_of_node() + - phy: phy-can-transceiver: Skip warning if no "max-bitrate" + - drm/amd/display: fix issues with driver unload + - nvme-pci: fix timeout request state check + - tcp: avoid the lookup process failing to get sk in ehash table + - ptdma: pt_core_execute_cmd() should use spinlock + - device property: fix of node refcount leak in + fwnode_graph_get_next_endpoint() + - w1: fix deadloop in __w1_remove_master_device() + - w1: fix WARNING after calling w1_process() + - driver core: Fix test_async_probe_init saves device in wrong array + - selftests/net: toeplitz: fix race on tpacket_v3 block close + - net: dsa: microchip: ksz9477: port map correction in ALU table entry + register + - thermal/core: Remove duplicate information when an error occurs + - thermal/core: Rename 'trips' to 'num_trips' + - thermal: Validate new state in cur_state_store() + - thermal/core: fix error code in __thermal_cooling_device_register() + - thermal: core: call put_device() only after device_register() fails + - net: stmmac: enable all safety features by default + - tcp: fix rate_app_limited to default to 1 + - scsi: iscsi: Fix multiple iSCSI session unbind events sent to userspace + - cpufreq: Add Tegra234 to cpufreq-dt-platdev blocklist + - kcsan: test: don't put the expect array on the stack + - cpufreq: Add SM6375 to cpufreq-dt-platdev blocklist + - ASoC: fsl_micfil: Correct the number of steps on SX controls + - net: usb: cdc_ether: add support for Thales Cinterion PLS62-W modem + - drm: Add orientation quirk for Lenovo ideapad D330-10IGL + - s390/debug: add _ASM_S390_ prefix to header guard + - s390: expicitly align _edata and _end symbols on page boundary + - perf/x86/msr: Add Emerald Rapids + - perf/x86/intel/uncore: Add Emerald Rapids + - cpufreq: armada-37xx: stop using 0 as NULL pointer + - ASoC: fsl_ssi: Rename AC'97 streams to avoid collisions with AC'97 CODEC + - ASoC: fsl-asoc-card: Fix naming of AC'97 CODEC widgets + - spi: spidev: remove debug messages that access spidev->spi without locking + - KVM: s390: interrupt: use READ_ONCE() before cmpxchg() + - scsi: hisi_sas: Set a port invalid only if there are no devices attached + when refreshing port id + - r8152: add vendor/device ID pair for Microsoft Devkit + - platform/x86: touchscreen_dmi: Add info for the CSL Panther Tab HD + - platform/x86: asus-nb-wmi: Add alternate mapping for KEY_SCREENLOCK + - lockref: stop doing cpu_relax in the cmpxchg loop + - firmware: coreboot: Check size of table entry and use flex-array + - drm/i915: Remove unused variable + - x86: ACPI: cstate: Optimize C3 entry on AMD CPUs + - panic: Separate sysctl logic from CONFIG_SMP + - exit: Put an upper limit on how often we can oops + - exit: Expose "oops_count" to sysfs + - exit: Allow oops_limit to be disabled + - panic: Consolidate open-coded panic_on_warn checks + - panic: Introduce warn_limit + - panic: Expose "warn_count" to sysfs + - docs: Fix path paste-o for /sys/kernel/warn_count + - exit: Use READ_ONCE() for all oops/warn limit reads + - Bluetooth: hci_sync: cancel cmd_timer if hci_open failed + - drm/amdgpu: complete gfxoff allow signal during suspend without delay + - scsi: hpsa: Fix allocation size for scsi_host_alloc() + - module: Don't wait for GOING modules + - tracing: Make sure trace_printk() can output as soon as it can be used + - trace_events_hist: add check for return value of 'create_hist_field' + - ftrace/scripts: Update the instructions for ftrace-bisect.sh + - cifs: Fix oops due to uncleared server->smbd_conn in reconnect + - i2c: mv64xxx: Remove shutdown method from driver + - i2c: mv64xxx: Add atomic_xfer method to driver + - ksmbd: add max connections parameter + - ksmbd: do not sign response to session request for guest login + - ksmbd: downgrade ndr version error message to debug + - ksmbd: limit pdu length size according to connection status + - KVM: x86/vmx: Do not skip segment attributes if unusable bit is set + - KVM: arm64: GICv4.1: Fix race with doorbell on VPE activation/deactivation + - thermal: intel: int340x: Protect trip temperature from concurrent updates + - ipv6: fix reachability confirmation with proxy_ndp + - ARM: 9280/1: mm: fix warning on phys_addr_t to void pointer assignment + - EDAC/device: Respect any driver-supplied workqueue polling value + - EDAC/qcom: Do not pass llcc_driv_data as edac_device_ctl_info's pvt_info + - net: mana: Fix IRQ name - add PCI and queue number + - scsi: ufs: core: Fix devfreq deadlocks + - i2c: designware: use casting of u64 in clock multiplication to avoid + overflow + - netlink: prevent potential spectre v1 gadgets + - net: fix UaF in netns ops registration error path + - drm/i915/selftest: fix intel_selftest_modify_policy argument types + - netfilter: nft_set_rbtree: Switch to node list walk for overlap detection + - netfilter: nft_set_rbtree: skip elements in transaction from garbage + collection + - netlink: annotate data races around nlk->portid + - netlink: annotate data races around dst_portid and dst_group + - netlink: annotate data races around sk_state + - ipv4: prevent potential spectre v1 gadget in ip_metrics_convert() + - ipv4: prevent potential spectre v1 gadget in fib_metrics_match() + - netfilter: conntrack: fix vtag checks for ABORT/SHUTDOWN_COMPLETE + - netrom: Fix use-after-free of a listening socket. + - net/sched: sch_taprio: do not schedule in taprio_reset() + - sctp: fail if no bound addresses can be used for a given scope + - riscv/kprobe: Fix instruction simulation of JALR + - nvme: fix passthrough csi check + - gpio: mxc: Unlock on error path in mxc_flip_edge() + - net: ravb: Fix lack of register setting after system resumed for Gen3 + - net: ravb: Fix possible hang if RIS2_QFF1 happen + - net: mctp: mark socks as dead on unhash, prevent re-add + - thermal: intel: int340x: Add locking to int340x_thermal_get_trip_type() + - net/tg3: resolve deadlock in tg3_reset_task() during EEH + - net: mdio-mux-meson-g12a: force internal PHY off on mux switch + - treewide: fix up files incorrectly marked executable + - tools: gpio: fix -c option of gpio-event-mon + - Revert "Input: synaptics - switch touchpad on HP Laptop 15-da3001TU to RMI + mode" + - x86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL + - netfilter: conntrack: unify established states for SCTP paths + - perf/x86/amd: fix potential integer overflow on shift of a int + - dmaengine: qcom: gpi: Set link_rx bit on GO TRE for rx operation + - soc: imx: imx8mp-blk-ctrl: enable global pixclk with HDMI_TX_PHY PD + - arm64: dts: verdin-imx8mm: fix dahlia audio playback + - arm64: dts: verdin-imx8mm: fix dev board audio playback + - soc: imx: imx8mp-blk-ctrl: don't set power device name + - arm64: dts: imx8mp: Fix missing GPC Interrupt + - arm64: dts: imx8mp: Fix power-domain typo + - reset: ti-sci: honor TI_SCI_PROTOCOL setting when not COMPILE_TEST + - firmware: arm_scmi: Fix virtio channels cleanup on shutdown + - interconnect: qcom: msm8996: Provide UFS clocks to A2NoC + - interconnect: qcom: msm8996: Fix regmap max_register values + - RDMA/rxe: Fix inaccurate constants in rxe_type_info + - RDMA/rxe: Prevent faulty rkey generation + - drm/msm/gpu: Fix potential double-free + - bpf: hash map, avoid deadlock with suitable hash mask + - net: lan966x: add missing fwnode_handle_put() for ports node + - block/rnbd-clt: fix wrong max ID in ida_alloc_max + - usb: ucsi: Ensure connector delayed work items are flushed + - netfilter: conntrack: handle tcp challenge acks during connection reuse + - net/mlx5e: Avoid false lock dependency warning on tc_ht even more + - net/mlx5e: Set decap action based on attr for sample + - dmaengine: tegra: Fix memory leak in terminate_all() + - net: sched: gred: prevent races when adding offloads to stats + - usb: dwc3: fix extcon dependency + - bnxt: Do not read past the end of test names + - btrfs: zoned: enable metadata over-commit for non-ZNS setup + - vfio/type1: Respect IOMMU reserved regions in vfio_test_domain_fgsp() + - kvm/vfio: Fix potential deadlock on vfio group_lock + - ftrace: Export ftrace_free_filter() to modules + - riscv: fix -Wundef warning for CONFIG_RISCV_BOOT_SPINWAIT + - regulator: dt-bindings: samsung,s2mps14: add lost samsung,ext-control-gpios + - i2c: designware: Fix unbalanced suspended flag + - iavf: schedule watchdog immediately when changing primary MAC + - tracing/osnoise: Use built-in RCU list checking + - gpio: ep93xx: Fix port F hwirq numbers in handler + - net: mctp: add an explicit reference from a mctp_sk_key to sock + - net: mctp: move expiry timer delete to unhash + - net: mctp: hold key reference when looking up a general key + - riscv: Move call to init_cpu_topology() to later initialization stage + - Partially revert "perf/arm-cmn: Optimise DTC counter accesses" + - x86/sev: Add SEV-SNP guest feature negotiation support + - acpi: Fix suspend with Xen PV + * CVE-2023-1075 + - net/tls: tls_is_tx_ready() checked list_entry + * devlink_port_split from ubuntu_kernel_selftests.net fails on hirsute + (KeyError: 'flavour') (LP: #1937133) + - selftests: net: devlink_port_split.py: skip test if no suitable device + available + * Connection timeout due to conntrack limits (LP: #2011616) + - netfilter: conntrack: adopt safer max chain length + * Kinetic update: upstream stable patchset 2023-03-27 (LP: #2012977) + - btrfs: fix trace event name typo for FLUSH_DELAYED_REFS + - pNFS/filelayout: Fix coalescing test for single DS + - tools/virtio: initialize spinlocks in vring_test.c + - virtio_pci: modify ENOENT to EINVAL + - vduse: Validate vq_num in vduse_validate_config() + - net/ethtool/ioctl: return -EOPNOTSUPP if we have no phy stats + - r8169: move rtl_wol_enable_rx() and rtl_prepare_power_down() + - RDMA/srp: Move large values to a new enum for gcc13 + - btrfs: always report error in run_one_delayed_ref() + - x86/asm: Fix an assembler warning with current binutils + - f2fs: let's avoid panic if extent_tree is not created + - perf/x86/rapl: Treat Tigerlake like Icelake + - fbdev: omapfb: avoid stack overflow warning + - Bluetooth: hci_qca: Fix driver shutdown on closed serdev + - wifi: brcmfmac: fix regression for Broadcom PCIe wifi devices + - wifi: mac80211: sdata can be NULL during AMPDU start + - Add exception protection processing for vd in axi_chan_handle_err function + - zonefs: Detect append writes at invalid locations + - nilfs2: fix general protection fault in nilfs_btree_insert() + - efi: fix userspace infinite retry read efivars after EFI runtime services + page fault + - ALSA: hda/realtek: fix mute/micmute LEDs don't work for a HP platform + - hugetlb: unshare some PMDs when splitting VMAs + - io_uring: don't gate task_work run on TIF_NOTIFY_SIGNAL + - eventpoll: add EPOLL_URING_WAKE poll wakeup flag + - eventfd: provide a eventfd_signal_mask() helper + - xhci-pci: set the dma max_seg_size + - usb: xhci: Check endpoint is valid before dereferencing it + - xhci: Fix null pointer dereference when host dies + - xhci: Add update_hub_device override for PCI xHCI hosts + - xhci: Add a flag to disable USB3 lpm on a xhci root port level. + - usb: acpi: add helper to check port lpm capability using acpi _DSM + - xhci: Detect lpm incapable xHC USB3 roothub ports from ACPI tables + - prlimit: do_prlimit needs to have a speculation check + - USB: serial: option: add Quectel EM05-G (GR) modem + - USB: serial: option: add Quectel EM05-G (CS) modem + - USB: serial: option: add Quectel EM05-G (RS) modem + - USB: serial: option: add Quectel EC200U modem + - USB: serial: option: add Quectel EM05CN (SG) modem + - USB: serial: option: add Quectel EM05CN modem + - staging: vchiq_arm: fix enum vchiq_status return types + - USB: misc: iowarrior: fix up header size for USB_DEVICE_ID_CODEMERCS_IOW100 + - misc: fastrpc: Don't remove map on creater_process and device_release + - misc: fastrpc: Fix use-after-free race condition for maps + - usb: core: hub: disable autosuspend for TI TUSB8041 + - comedi: adv_pci1760: Fix PWM instruction handling + - ACPI: PRM: Check whether EFI runtime is available + - mmc: sunxi-mmc: Fix clock refcount imbalance during unbind + - mmc: sdhci-esdhc-imx: correct the tuning start tap and step setting + - btrfs: do not abort transaction on failure to write log tree when syncing + log + - btrfs: fix race between quota rescan and disable leading to NULL pointer + deref + - cifs: do not include page data when checking signature + - thunderbolt: Use correct function to calculate maximum USB3 link rate + - riscv: dts: sifive: fu740: fix size of pcie 32bit memory + - bpf: restore the ebpf program ID for BPF_AUDIT_UNLOAD and + PERF_BPF_EVENT_PROG_UNLOAD + - tty: serial: qcom-geni-serial: fix slab-out-of-bounds on RX FIFO buffer + - tty: fix possible null-ptr-defer in spk_ttyio_release + - USB: serial: cp210x: add SCALANCE LPE-9000 device id + - usb: cdns3: remove fetched trb from cache before dequeuing + - usb: host: ehci-fsl: Fix module alias + - usb: typec: tcpm: Fix altmode re-registration causes sysfs create fail + - usb: typec: altmodes/displayport: Add pin assignment helper + - usb: typec: altmodes/displayport: Fix pin assignment calculation + - usb: gadget: g_webcam: Send color matching descriptor per frame + - usb: gadget: f_ncm: fix potential NULL ptr deref in ncm_bitrate() + - usb-storage: apply IGNORE_UAS only for HIKSEMI MD202 on RTL9210 + - dt-bindings: phy: g12a-usb2-phy: fix compatible string documentation + - dt-bindings: phy: g12a-usb3-pcie-phy: fix compatible string documentation + - serial: pch_uart: Pass correct sg to dma_unmap_sg() + - dmaengine: lgm: Move DT parsing after initialization + - dmaengine: tegra210-adma: fix global intr clear + - dmaengine: idxd: Let probe fail when workqueue cannot be enabled + - serial: amba-pl011: fix high priority character transmission in rs486 mode + - serial: atmel: fix incorrect baudrate setup + - gsmi: fix null-deref in gsmi_get_variable + - mei: me: add meteor lake point M DID + - drm/i915: re-disable RC6p on Sandy Bridge + - drm/i915/display: Check source height is > 0 + - drm/amd/display: Fix set scaling doesn's work + - drm/amd/display: Calculate output_color_space after pixel encoding + adjustment + - drm/amd/display: Fix COLOR_SPACE_YCBCR2020_TYPE matrix + - fs/ntfs3: Fix attr_punch_hole() null pointer derenference + - arm64: efi: Execute runtime services from a dedicated stack + - efi: rt-wrapper: Add missing include + - x86/fpu: Use _Alignof to avoid undefined behavior in TYPE_ALIGN + - net/mlx5: fix missing mutex_unlock in mlx5_fw_fatal_reporter_err_work() + - block: mq-deadline: Rename deadline_is_seq_writes() + - Revert "wifi: mac80211: fix memory leak in ieee80211_if_add()" + - soc: qcom: apr: Make qcom,protection-domain optional again + - mm/khugepaged: fix collapse_pte_mapped_thp() to allow anon_vma + - serial: stm32: Merge hard IRQ and threaded IRQ handling into single IRQ + handler + - misc: fastrpc: Fix use-after-free and race in fastrpc_map_find + - btrfs: fix missing error handling when logging directory items + - thunderbolt: Disable XDomain lane 1 only in software connection manager + - thunderbolt: Do not report errors if on-board retimers are found + - thunderbolt: Do not call PM runtime functions in tb_retimer_scan() + - mptcp: explicitly specify sock family at subflow creation time + - mptcp: netlink: respect v4/v6-only sockets + - usb: musb: fix error return code in omap2430_probe() + - USB: gadget: Add ID numbers to configfs-gadget driver names + - arm64: dts: imx8mp: correct usb clocks + - dmaengine: idxd: Prevent use after free on completion memory + - dmaengine: idxd: Do not call DMX TX callbacks during workqueue disable + - mei: bus: fix unlink on bus in error path + - VMCI: Use threaded irqs instead of tasklets + - ARM: omap1: fix !ARCH_OMAP1_ANY link failures + - drm/amdgpu: Correct the power calcultion for Renior/Cezanne. + - drm/i915: Allow switching away via vga-switcheroo if uninitialized + - octeontx2-pf: Avoid use of GFP_KERNEL in atomic context + - octeontx2-pf: Fix the use of GFP_KERNEL in atomic context on rt + * Kinetic update: upstream stable patchset 2023-03-21 (LP: #2012438) + - ALSA: control-led: use strscpy in set_led_id() + - ALSA: hda/realtek - Turn on power early + - ALSA: hda/realtek: Enable mute/micmute LEDs on HP Spectre x360 13-aw0xxx + - KVM: arm64: Fix S1PTW handling on RO memslots + - KVM: arm64: nvhe: Fix build with profile optimization + - selftests: kvm: Fix a compile error in selftests/kvm/rseq_test.c + - efi: tpm: Avoid READ_ONCE() for accessing the event log + - docs: Fix the docs build with Sphinx 6.0 + - net: stmmac: add aux timestamps fifo clearance wait + - perf auxtrace: Fix address filter duplicate symbol selection + - s390/kexec: fix ipl report address for kdump + - ASoC: qcom: lpass-cpu: Fix fallback SD line index handling + - s390/cpum_sf: add READ_ONCE() semantics to compare and swap loops + - s390/percpu: add READ_ONCE() to arch_this_cpu_to_op_simple() + - drm/virtio: Fix GEM handle creation UAF + - drm/i915/gt: Reset twice + - cifs: Fix uninitialized memory read for smb311 posix symlink create + - platform/x86: dell-privacy: Only register SW_CAMERA_LENS_COVER if present + - platform/surface: aggregator: Ignore command messages not intended for us + - platform/x86: dell-privacy: Fix SW_CAMERA_LENS_COVER reporting + - dt-bindings: msm: dsi-controller-main: Fix operating-points-v2 constraint + - drm/msm/adreno: Make adreno quirks not overwrite each other + - dt-bindings: msm: dsi-controller-main: Fix power-domain constraint + - dt-bindings: msm: dsi-controller-main: Fix description of core clock + - dt-bindings: msm: dsi-phy-28nm: Add missing qcom, dsi-phy-regulator-ldo-mode + - platform/x86: ideapad-laptop: Add Legion 5 15ARH05 DMI id to + set_fn_lock_led_list[] + - drm/msm/dp: do not complete dp_aux_cmd_fifo_tx() if irq is not for aux + transfer + - dt-bindings: msm/dsi: Don't require vdds-supply on 10nm PHY + - dt-bindings: msm/dsi: Don't require vcca-supply on 14nm PHY + - platform/x86: sony-laptop: Don't turn off 0x153 keyboard backlight during + probe + - ixgbe: fix pci device refcount leak + - ipv6: raw: Deduct extension header length in rawv6_push_pending_frames + - usb: ulpi: defer ulpi_register on ulpi_read_id timeout + - iommu/iova: Fix alloc iova overflows issue + - iommu/mediatek-v1: Fix an error handling path in mtk_iommu_v1_probe() + - sched/core: Fix use-after-free bug in dup_user_cpus_ptr() + - netfilter: ipset: Fix overflow before widen in the bitmap_ip_create() + function. + - powerpc/imc-pmu: Fix use of mutex in IRQs disabled section + - x86/boot: Avoid using Intel mnemonics in AT&T syntax asm + - EDAC/device: Fix period calculation in edac_device_reset_delay_period() + - x86/resctrl: Fix task CLOSID/RMID update race + - regulator: da9211: Use irq handler when ready + - scsi: mpi3mr: Refer CONFIG_SCSI_MPI3MR in Makefile + - scsi: ufs: core: WLUN suspend SSU/enter hibern8 fail recovery + - ASoC: wm8904: fix wrong outputs volume after power reactivation + - ALSA: usb-audio: Make sure to stop endpoints before closing EPs + - ALSA: usb-audio: Relax hw constraints for implicit fb sync + - tipc: fix unexpected link reset due to discovery messages + - octeontx2-af: Fix LMAC config in cgx_lmac_rx_tx_enable + - hvc/xen: lock console list traversal + - nfc: pn533: Wait for out_urb's completion in pn533_usb_send_frame() + - af_unix: selftest: Fix the size of the parameter to connect() + - tools/nolibc: restore mips branch ordering in the _start block + - tools/nolibc: fix the O_* fcntl/open macro definitions for riscv + - net/sched: act_mpls: Fix warning during failed attribute validation + - net/mlx5: Fix ptp max frequency adjustment range + - net/mlx5e: Don't support encap rules with gbp option + - perf build: Properly guard libbpf includes + - igc: Fix PPS delta between two synchronized end-points + - platform/surface: aggregator: Add missing call to ssam_request_sync_free() + - KVM: x86: Do not return host topology information from + KVM_GET_SUPPORTED_CPUID + - arm64: atomics: remove LL/SC trampolines + - arm64: cmpxchg_double*: hazard against entire exchange variable + - efi: fix NULL-deref in init error path + - io_uring/io-wq: free worker if task_work creation is canceled + - io_uring/io-wq: only free worker if it was allocated for creation + - Revert "usb: ulpi: defer ulpi_register on ulpi_read_id timeout" + - pinctrl: amd: Add dynamic debugging for active GPIOs + - arm64: mte: Fix double-freeing of the temporary tag storage during coredump + - elfcore: Add a cprm parameter to elf_core_extra_{phdrs,data_size} + - cpufreq: amd-pstate: fix kernel hang issue while amd-pstate unregistering + - drm/i915: Reserve enough fence slot for i915_vma_unbind_async + - drm/i915: Fix potential context UAFs + - cifs: do not query ifaces on smb1 mounts + - ASoC: rt9120: Make dev PM runtime bind AsoC component PM + - platform/x86: int3472/discrete: Ensure the clk/power enable pins are in + output mode + - platform/x86: asus-wmi: Don't load fan curves without fan + - drm/msm: another fix for the headless Adreno GPU + - arm64/signal: Always allocate SVE signal frames on SME only systems + - arm64/signal: Always accept SVE signal frames on SME only systems + - arm64/mm: add pud_user_exec() check in pud_user_accessible_page() + - arm64: ptrace: Use ARM64_SME to guard the SME register enumerations + - arm64/mm: fix incorrect file_map_count for invalid pmd + - iavf/iavf_main: actually log ->src mask when talking about it + - x86/pat: Fix pat_x_mtrr_type() for MTRR disabled case + - scsi: storvsc: Fix swiotlb bounce buffer leak in confidential VM + - ASoC: Intel: fix sof-nau8825 link failure + - drm/msm/dpu: Fix some kernel-doc comments + - drm/msm/dpu: Fix memory leak in msm_mdss_parse_data_bus_icc_path + - mtd: cfi: allow building spi-intel standalone + - stmmac: dwmac-mediatek: remove the dwmac_fix_mac_speed + - sched/core: Fix arch_scale_freq_tick() on tickless systems + - net/mlx5: check attr pointer validity before dereferencing it + - net/mlx5e: TC, Keep mod hdr actions after mod hdr alloc + - net/mlx5: Fix command stats access after free + - net/mlx5e: Verify dev is present for fix features ndo + - net/mlx5e: IPoIB, Block queue count configuration when sub interfaces are + present + - net/mlx5e: IPoIB, Block PKEY interfaces with less rx queues than parent + - net/mlx5e: IPoIB, Fix child PKEY interface stats on rx path + - octeontx2-pf: Fix resource leakage in VF driver unbind + - net: lan966x: check for ptp to be enabled in lan966x_ptp_deinit() + - net: hns3: fix wrong use of rss size during VF rss config + - bnxt: make sure we return pages to the pool + - platform/x86/amd: Fix refcount leak in amd_pmc_probe + * Kinetic update: upstream stable patchset 2023-03-20 (LP: #2012307) + - parisc: Align parisc MADV_XXX constants with all other architectures + - x86/fpu: Take task_struct* in copy_sigframe_from_user_to_xstate() + - x86/fpu: Add a pkru argument to copy_uabi_from_kernel_to_xstate(). + - x86/fpu: Add a pkru argument to copy_uabi_to_xstate() + - x86/fpu: Allow PKRU to be (once again) written by ptrace. + - x86/fpu: Emulate XRSTOR's behavior if the xfeatures PKRU bit is not set + - selftests/vm/pkeys: Add a regression test for setting PKRU through ptrace + - serial: fixup backport of "serial: Deassert Transmit Enable on probe in + driver-specific way" + - ALSA: hda/hdmi: Add a HP device 0x8715 to force connect list + - ALSA: hda - Enable headset mic on another Dell laptop with ALC3254 + - Revert "SUNRPC: Use RMW bitops in single-threaded hot paths" + - ALSA: hda: cs35l41: Check runtime suspend capability at runtime_idle + * Kinetic update: upstream stable patchset 2023-03-06 (LP: #2009546) + - usb: dwc3: qcom: Fix memory leak in dwc3_qcom_interconnect_init + - cifs: fix oops during encryption + - nvme-pci: fix doorbell buffer value endianness + - nvme-pci: fix mempool alloc size + - nvme-pci: fix page size checks + - ACPI: resource: do IRQ override on LENOVO IdeaPad + - ACPI: resource: do IRQ override on XMG Core 15 + - ACPI: resource: do IRQ override on Lenovo 14ALC7 + - block, bfq: fix uaf for bfqq in bfq_exit_icq_bfqq + - ata: ahci: Fix PCS quirk application for suspend + - nvme: fix the NVME_CMD_EFFECTS_CSE_MASK definition + - nvmet: don't defer passthrough commands with trivial effects to the + workqueue + - fs/ntfs3: Validate BOOT record_size + - fs/ntfs3: Add overflow check for attribute size + - fs/ntfs3: Validate data run offset + - fs/ntfs3: Add null pointer check to attr_load_runs_vcn + - fs/ntfs3: Fix memory leak on ntfs_fill_super() error path + - fs/ntfs3: Add null pointer check for inode operations + - fs/ntfs3: Validate attribute name offset + - fs/ntfs3: Validate buffer length while parsing index + - fs/ntfs3: Validate resident attribute name + - fs/ntfs3: Fix slab-out-of-bounds read in run_unpack + - soundwire: dmi-quirks: add quirk variant for LAPBC710 NUC15 + - fs/ntfs3: Validate index root when initialize NTFS security + - fs/ntfs3: Use __GFP_NOWARN allocation at wnd_init() + - fs/ntfs3: Use __GFP_NOWARN allocation at ntfs_fill_super() + - fs/ntfs3: Delete duplicate condition in ntfs_read_mft() + - fs/ntfs3: Fix slab-out-of-bounds in r_page + - objtool: Fix SEGFAULT + - powerpc/rtas: avoid device tree lookups in rtas_os_term() + - powerpc/rtas: avoid scheduling in rtas_os_term() + - HID: multitouch: fix Asus ExpertBook P2 P2451FA trackpoint + - HID: plantronics: Additional PIDs for double volume key presses quirk + - pstore: Properly assign mem_type property + - pstore/zone: Use GFP_ATOMIC to allocate zone buffer + - hfsplus: fix bug causing custom uid and gid being unable to be assigned with + mount + - binfmt: Fix error return code in load_elf_fdpic_binary() + - ovl: Use ovl mounter's fsuid and fsgid in ovl_link() + - ALSA: line6: correct midi status byte when receiving data from podxt + - ALSA: line6: fix stack overflow in line6_midi_transmit + - pnode: terminate at peers of source + - mfd: mt6360: Add bounds checking in Regmap read/write call-backs + - md: fix a crash in mempool_free + - mm, compaction: fix fast_isolate_around() to stay within boundaries + - f2fs: should put a page when checking the summary info + - f2fs: allow to read node block after shutdown + - mmc: vub300: fix warning - do not call blocking ops when !TASK_RUNNING + - tpm: acpi: Call acpi_put_table() to fix memory leak + - tpm: tpm_crb: Add the missed acpi_put_table() to fix memory leak + - tpm: tpm_tis: Add the missed acpi_put_table() to fix memory leak + - SUNRPC: Don't leak netobj memory when gss_read_proxy_verf() fails + - kcsan: Instrument memcpy/memset/memmove with newer Clang + - media: stv0288: use explicitly signed char + - soc: qcom: Select REMAP_MMIO for LLCC driver + - kest.pl: Fix grub2 menu handling for rebooting + - ktest.pl minconfig: Unset configs instead of just removing them + - jbd2: use the correct print format + - perf/x86/intel/uncore: Disable I/O stacks to PMU mapping on ICX-D + - perf/x86/intel/uncore: Clear attr_update properly + - arm64: dts: qcom: sdm845-db845c: correct SPI2 pins drive strength + - mmc: sdhci-sprd: Disable CLK_AUTO when the clock is less than 400K + - btrfs: fix resolving backrefs for inline extent followed by prealloc + - ARM: ux500: do not directly dereference __iomem + - arm64: dts: qcom: sdm850-lenovo-yoga-c630: correct I2C12 pins drive strength + - selftests: Use optional USERCFLAGS and USERLDFLAGS + - PM/devfreq: governor: Add a private governor_data for governor + - cpufreq: Init completion before kobject_init_and_add() + - ALSA: patch_realtek: Fix Dell Inspiron Plus 16 + - ALSA: hda/realtek: Apply dual codec fixup for Dell Latitude laptops + - fs: dlm: fix sock release if listen fails + - fs: dlm: retry accept() until -EAGAIN or error returns + - mptcp: remove MPTCP 'ifdef' in TCP SYN cookies + - dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort + - dm thin: Fix ABBA deadlock between shrink_slab and dm_pool_abort_metadata + - dm thin: Use last transaction's pmd->root when commit failed + - dm thin: resume even if in FAIL mode + - dm thin: Fix UAF in run_timer_softirq() + - dm integrity: Fix UAF in dm_integrity_dtr() + - dm clone: Fix UAF in clone_dtr() + - dm cache: Fix UAF in destroy() + - dm cache: set needs_check flag after aborting metadata + - tracing/hist: Fix out-of-bound write on 'action_data.var_ref_idx' + - perf/core: Call LSM hook after copying perf_event_attr + - of/kexec: Fix reading 32-bit "linux,initrd-{start,end}" values + - KVM: VMX: Resume guest immediately when injecting #GP on ECREATE + - KVM: nVMX: Inject #GP, not #UD, if "generic" VMXON CR0/CR4 check fails + - KVM: nVMX: Properly expose ENABLE_USR_WAIT_PAUSE control to L1 + - x86/microcode/intel: Do not retry microcode reloading on the APs + - ftrace/x86: Add back ftrace_expected for ftrace bug reports + - x86/kprobes: Fix kprobes instruction boudary check with CONFIG_RETHUNK + - x86/kprobes: Fix optprobe optimization check with CONFIG_RETHUNK + - tracing: Fix race where eprobes can be called before the event + - tracing: Fix complicated dependency of CONFIG_TRACER_MAX_TRACE + - tracing/hist: Fix wrong return value in parse_action_params() + - tracing/probes: Handle system names with hyphens + - tracing: Fix infinite loop in tracing_read_pipe on overflowed + print_trace_line + - staging: media: tegra-video: fix chan->mipi value on error + - staging: media: tegra-video: fix device_node use after free + - ARM: 9256/1: NWFPE: avoid compiler-generated __aeabi_uldivmod + - media: dvb-core: Fix double free in dvb_register_device() + - cifs: fix confusing debug message + - cifs: fix missing display of three mount options + - rtc: ds1347: fix value written to century register + - block: mq-deadline: Do not break sequential write streams to zoned HDDs + - md/bitmap: Fix bitmap chunk size overflow issues + - efi: Add iMac Pro 2017 to uefi skip cert quirk + - wifi: wilc1000: sdio: fix module autoloading + - ASoC: jz4740-i2s: Handle independent FIFO flush bits + - ipu3-imgu: Fix NULL pointer dereference in imgu_subdev_set_selection() + - ipmi: fix long wait in unload when IPMI disconnect + - mtd: spi-nor: Check for zero erase size in spi_nor_find_best_erase_type() + - ima: Fix a potential NULL pointer access in ima_restore_measurement_list + - ipmi: fix use after free in _ipmi_destroy_user() + - PCI: Fix pci_device_is_present() for VFs by checking PF + - PCI/sysfs: Fix double free in error path + - riscv: stacktrace: Fixup ftrace_graph_ret_addr retp argument + - riscv: mm: notify remote harts about mmu cache updates + - crypto: n2 - add missing hash statesize + - driver core: Fix bus_type.match() error handling in __driver_attach() + - phy: qcom-qmp-combo: fix sc8180x reset + - iommu/amd: Fix ivrs_acpihid cmdline parsing code + - remoteproc: core: Do pm_relax when in RPROC_OFFLINE state + - parisc: led: Fix potential null-ptr-deref in start_task() + - device_cgroup: Roll back to original exceptions after copy failure + - drm/connector: send hotplug uevent on connector cleanup + - drm/i915/dsi: fix VBT send packet port selection for dual link DSI + - drm/ingenic: Fix missing platform_driver_unregister() call in + ingenic_drm_init() + - ext4: silence the warning when evicting inode with dioread_nolock + - ext4: add inode table check in __ext4_get_inode_loc to aovid possible + infinite loop + - ext4: remove trailing newline from ext4_msg() message + - fs: ext4: initialize fsdata in pagecache_write() + - ext4: fix use-after-free in ext4_orphan_cleanup + - ext4: fix undefined behavior in bit shift for ext4_check_flag_values + - ext4: add EXT4_IGET_BAD flag to prevent unexpected bad inode + - ext4: add helper to check quota inums + - ext4: fix bug_on in __es_tree_search caused by bad quota inode + - ext4: fix reserved cluster accounting in __es_remove_extent() + - ext4: check and assert if marking an no_delete evicting inode dirty + - ext4: fix bug_on in __es_tree_search caused by bad boot loader inode + - ext4: fix leaking uninitialized memory in fast-commit journal + - ext4: fix uninititialized value in 'ext4_evict_inode' + - ext4: init quota for 'old.inode' in 'ext4_rename' + - ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline + - ext4: fix error code return to user-space in ext4_get_branch() + - ext4: avoid BUG_ON when creating xattrs + - ext4: fix kernel BUG in 'ext4_write_inline_data_end()' + - ext4: fix inode leak in ext4_xattr_inode_create() on an error path + - ext4: initialize quota before expanding inode in setproject ioctl + - ext4: avoid unaccounted block allocation when expanding inode + - ext4: allocate extended attribute value in vmalloc area + - drm/amdgpu: handle polaris10/11 overlap asics (v2) + - block: mq-deadline: Fix dd_finish_request() for zoned devices + - tracing: Fix issue of missing one synthetic field + - ext4: use ext4_debug() instead of jbd_debug() + - ext4: introduce EXT4_FC_TAG_BASE_LEN helper + - ext4: factor out ext4_fc_get_tl() + - ext4: fix potential out of bound read in ext4_fc_replay_scan() + - ext4: disable fast-commit of encrypted dir operations + - ext4: don't set up encryption key during jbd2 transaction + - ext4: add missing validation of fast-commit record lengths + - ext4: fix unaligned memory access in ext4_fc_reserve_space() + - ext4: fix off-by-one errors in fast-commit block filling + - ARM: renumber bits related to _TIF_WORK_MASK + - phy: qcom-qmp-combo: fix out-of-bounds clock access + - btrfs: replace strncpy() with strscpy() + - btrfs: fix extent map use-after-free when handling missing device in + read_one_chunk + - x86/MCE/AMD: Clear DFR errors found in THR handler + - media: s5p-mfc: Fix to handle reference queue during finishing + - media: s5p-mfc: Clear workbit to handle error condition + - media: s5p-mfc: Fix in register read and write for H264 + - perf probe: Use dwarf_attr_integrate as generic DWARF attr accessor + - perf probe: Fix to get the DW_AT_decl_file and DW_AT_call_file as unsinged + data + - ravb: Fix "failed to switch device to config mode" message during unbind + - ext4: goto right label 'failed_mount3a' + - ext4: correct inconsistent error msg in nojournal mode + - mbcache: automatically delete entries from cache on freeing + - ext4: fix deadlock due to mbcache entry corruption + - SUNRPC: ensure the matching upcall is in-flight upon downcall + - btrfs: fix an error handling path in btrfs_defrag_leaves() + - bpf: pull before calling skb_postpull_rcsum() + - drm/panfrost: Fix GEM handle creation ref-counting + - netfilter: nf_tables: consolidate set description + - netfilter: nf_tables: add function to create set stateful expressions + - netfilter: nf_tables: perform type checking for existing sets + - vmxnet3: correctly report csum_level for encapsulated packet + - netfilter: nf_tables: honor set timeout and garbage collection updates + - veth: Fix race with AF_XDP exposing old or uninitialized descriptors + - nfsd: shut down the NFSv4 state objects before the filecache + - net: hns3: add interrupts re-initialization while doing VF FLR + - net: hns3: fix miss L3E checking for rx packet + - net: hns3: fix VF promisc mode not update when mac table full + - qlcnic: prevent ->dcb use-after-free on qlcnic_dcb_enable() failure + - net: dsa: mv88e6xxx: depend on PTP conditionally + - nfc: Fix potential resource leaks + - vdpa_sim: fix possible memory leak in vdpasim_net_init() and + vdpasim_blk_init() + - vhost/vsock: Fix error handling in vhost_vsock_init() + - vringh: fix range used in iotlb_translate() + - vhost: fix range used in translate_desc() + - vdpa_sim: fix vringh initialization in vdpasim_queue_ready() + - net/mlx5: E-Switch, properly handle ingress tagged packets on VST + - net/mlx5: Add forgotten cleanup calls into mlx5_init_once() error path + - net/mlx5: Avoid recovery in probe flows + - net/mlx5e: IPoIB, Don't allow CQE compression to be turned on by default + - net/mlx5e: Always clear dest encap in neigh-update-del + - net/mlx5e: Fix hw mtu initializing at XDP SQ allocation + - net: amd-xgbe: add missed tasklet_kill + - net: ena: Fix toeplitz initial hash value + - net: ena: Don't register memory info on XDP exchange + - net: ena: Account for the number of processed bytes in XDP + - net: ena: Use bitmask to indicate packet redirection + - net: ena: Fix rx_copybreak value update + - net: ena: Set default value for RX interrupt moderation + - net: ena: Update NUMA TPH hint register upon NUMA node update + - net: phy: xgmiitorgmii: Fix refcount leak in xgmiitorgmii_probe + - RDMA/mlx5: Fix mlx5_ib_get_hw_stats when used for device + - RDMA/mlx5: Fix validation of max_rd_atomic caps for DC + - drm/meson: Reduce the FIFO lines held when AFBC is not used + - filelock: new helper: vfs_inode_has_locks + - ceph: switch to vfs_inode_has_locks() to fix file lock bug + - gpio: sifive: Fix refcount leak in sifive_gpio_probe + - net: sched: atm: dont intepret cls results when asked to drop + - net: sched: cbq: dont intepret cls results when asked to drop + - net: sparx5: Fix reading of the MAC address + - netfilter: ipset: fix hash:net,port,net hang with /0 subnet + - netfilter: ipset: Rework long task execution when adding/deleting entries + - perf tools: Fix resources leak in perf_data__open_dir() + - drm/imx: ipuv3-plane: Fix overlay plane width + - fs/ntfs3: don't hold ni_lock when calling truncate_setsize() + - drivers/net/bonding/bond_3ad: return when there's no aggregator + - octeontx2-pf: Fix lmtst ID used in aura free + - usb: rndis_host: Secure rndis_query check against int overflow + - perf stat: Fix handling of --for-each-cgroup with --bpf-counters to match + non BPF mode + - drm/i915: unpin on error in intel_vgpu_shadow_mm_pin() + - caif: fix memory leak in cfctrl_linkup_request() + - udf: Fix extension of the last extent in the file + - ASoC: Intel: bytcr_rt5640: Add quirk for the Advantech MICA-071 tablet + - nvme: fix multipath crash caused by flush request when blktrace is enabled + - io_uring: check for valid register opcode earlier + - nvmet: use NVME_CMD_EFFECTS_CSUPP instead of open coding it + - nvme: also return I/O command effects from nvme_command_effects + - btrfs: check superblock to ensure the fs was not modified at thaw time + - x86/kexec: Fix double-free of elf header buffer + - nfsd: fix handling of readdir in v4root vs. mount upcall timeout + - fbdev: matroxfb: G200eW: Increase max memory from 1 MB to 16 MB + - block: don't allow splitting of a REQ_NOWAIT bio + - io_uring: fix CQ waiting timeout handling + - thermal: int340x: Add missing attribute for data rate base + - riscv: uaccess: fix type of 0 variable on error in get_user() + - riscv, kprobes: Stricter c.jr/c.jalr decoding + - drm/i915/gvt: fix gvt debugfs destroy + - drm/i915/gvt: fix vgpu debugfs clean in remove + - hfs/hfsplus: avoid WARN_ON() for sanity check, use proper error handling + - ksmbd: fix infinite loop in ksmbd_conn_handler_loop() + - ksmbd: check nt_len to be at least CIFS_ENCPWD_SIZE in + ksmbd_decode_ntlmssp_auth_blob + - Revert "ACPI: PM: Add support for upcoming AMD uPEP HID AMDI007" + - mptcp: dedicated request sock for subflow in v6 + - mptcp: use proper req destructor for IPv6 + - ext4: don't allow journal inode to have encrypt flag + - btrfs: make thaw time super block check to also verify checksum + - mbcache: Avoid nesting of cache->c_list_lock under bit locks + - efi: random: combine bootloader provided RNG seed with RNG protocol output + - drm/mgag200: Fix PLL setup for G200_SE_A rev >=4 + - futex: Fix futex_waitv() hrtimer debug object leak on kcalloc error + - rtmutex: Add acquire semantics for rtmutex lock acquisition slow path + - mm/mempolicy: fix memory leak in set_mempolicy_home_node system call + - block: Do not reread partition table on exclusively open device + - arm64: dts: qcom: sdm850-samsung-w737: correct I2C12 pins drive strength + - EDAC/mc_sysfs: Increase legacy channel support to 12 + - ext2: unbugger ext2_empty_dir() + - bpf: Resolve fext program type when checking map compatibility + - mptcp: netlink: fix some error return code + - ima: Fix hash dependency to correct algorithm + - KVM: x86: fix APICv/x2AVIC disabled when vm reboot by itself + - powerpc/ftrace: fix syscall tracing on PPC64_ELF_ABI_V1 + - arm64: dts: mediatek: mt8195-demo: fix the memory size of node secmon + - drm/amdgpu: fix mmhub register base coding error + - mtd: spi-nor: gigadevice: gd25q256: replace gd25q256_default_init with + gd25q256_post_bfpt + - ima: Fix memory leak in __ima_inode_hash() + - crypto: ccree,hisilicon - Fix dependencies to correct algorithm + - RISC-V: kexec: Fix memory leak of fdt buffer + - riscv: Fixup compile error with !MMU + - RISC-V: kexec: Fix memory leak of elf header buffer + - bus: mhi: host: Fix race between channel preparation and M0 event + - test_kprobes: Fix implicit declaration error of test_kprobes + - remoteproc: imx_dsp_rproc: Add mutex protection for workqueue + - remoteproc: imx_rproc: Correct i.MX93 DRAM mapping + - parisc: Add missing FORCE prerequisites in Makefile + - ext4: journal_path mount options should follow links + - drm/i915: improve the catch-all evict to handle lock contention + - drm/i915/migrate: Account for the reserved_space + - cifs: fix interface count calculation during refresh + - cifs: refcount only the selected iface during interface update + - usb: dwc3: gadget: Ignore End Transfer delay on teardown + - ice: xsk: do not use xdp_return_frame() on tx_buf->raw_buf + - net: vrf: determine the dst using the original ifindex for multicast + - mptcp: fix lockdep false positive + - net: lan966x: Fix configuration of the PCS + - bnxt_en: Simplify bnxt_xdp_buff_init() + - bnxt_en: Fix XDP RX path + - bnxt_en: Fix first buffer size calculations for XDP multi-buffer + - bnxt_en: Fix HDS and jumbo thresholds for RX packets + - vdpa/mlx5: Fix rule forwarding VLAN to TIR + - vdpa/mlx5: Fix wrong mac address deletion + - vhost-vdpa: fix an iotlb memory leak + - virtio-crypto: fix memory leak in virtio_crypto_alg_skcipher_close_session() + - vdpa/vp_vdpa: fix kfree a wrong pointer in vp_vdpa_remove + - vdpasim: fix memory leak when freeing IOTLBs + - net/mlx5: Fix io_eq_size and event_eq_size params validation + - net/mlx5: Fix RoCE setting at HCA level + - net/mlx5e: CT: Fix ct debugfs folder name + - net/mlx5e: Set geneve_tlv_option_0_exist when matching on geneve option + - net/mlx5: Lag, fix failure to cancel delayed bond work + - vxlan: Fix memory leaks in error path + - drm/i915/gvt: fix double free bug in split_2MB_gtt_entry + - qed: allow sleep in qed_mcp_trace_dump() + - usb: dwc3: xilinx: include linux/gpio/consumer.h + - net: dsa: tag_qca: fix wrong MGMT_DATA2 size + - vhost_vdpa: fix the crash in unmap a large memory + - of/fdt: run soc memory setup when early_init_dt_scan_memory fails + * CVE-2022-36280 + - drm/vmwgfx: Validate the box size for the snooped cursor + * CVE-2023-1118 + - media: rc: Fix use-after-free bugs caused by ene_tx_irqsim() + + -- Khalid Elmously Mon, 15 May 2023 01:30:35 -0400 + +linux-gcp (5.19.0-1022.24) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1022.24 -proposed tracker (LP: #2016638) + + * CVE-2023-1829 + - [Config]: Make sure CONFIG_NET_CLS_TCINDEX is not available + + [ Ubuntu: 5.19.0-41.42 ] + + * kinetic/linux: 5.19.0-41.42 -proposed tracker (LP: #2016651) + * CVE-2023-1829 + - net/sched: Retire tcindex classifier + - [Config]: Make sure CONFIG_NET_CLS_TCINDEX is not available + * CVE-2023-0386 + - ovl: fail on invalid uid/gid mapping at copy up + + -- Thadeu Lima de Souza Cascardo Fri, 21 Apr 2023 10:11:17 -0300 + +linux-gcp (5.19.0-1021.23) kinetic; urgency=medium + + * Miscellaneous Ubuntu changes + - [packaging] Add sev-guest to default module list + + -- Khalid Elmously Mon, 17 Apr 2023 02:15:42 -0400 + +linux-gcp (5.19.0-1020.22) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1020.22 -proposed tracker (LP: #2011863) + + * Miscellaneous Ubuntu changes + - [config] Enable CONFIG_TDX_GUEST_DRIVER=m + - [packaging] update annotations + + [ Ubuntu: 5.19.0-40.41 ] + + * kinetic/linux: 5.19.0-40.41 -proposed tracker (LP: #2012668) + * CVE-2023-0468 + - io_uring: fix tw losing poll events + - io_uring: make poll refs more robust + * Regression in ext4 during online resize (LP: #2003816) + - ext4: fix bad checksum after online resize + - ext4: fix corruption when online resizing a 1K bigalloc fs + - ext4: fix corrupt backup group descriptors after online resize + + [ Ubuntu: 5.19.0-39.40 ] + + * kinetic/linux: 5.19.0-39.40 -proposed tracker (LP: #2011876) + * CVE-2023-26545 + - net: mpls: fix stale pointer if allocation fails during device rename + * CVE-2023-1032 + - net: avoid double iput when sock_alloc_file fails + * CVE-2022-41218 // CVE-2022-41218 is assigned to those bugs above. + - media: dvb-core: Fix UAF due to refcount races at releasing + * CVE-2023-1281 + - net/sched: tcindex: update imperfect hash filters respecting rcu + * linux: CONFIG_SERIAL_8250_MID=y (LP: #2009283) + - [Config] enable CONFIG_SERIAL_8250_MID=y + * apply the latest TDX attestation driver from Intel (LP: #2009437) + - Revert "UBUNTU: SAUCE: selftests: tdx: Test GetReport TDX attestation + feature" + - Revert "UBUNTU: SAUCE: x86/tdx: Add TDX Guest attestation interface driver" + - x86/tdx: Add a wrapper to get TDREPORT0 from the TDX Module + - virt: Add TDX guest driver + - selftests/tdx: Test TDX attestation GetReport support + - [Config] enable TDX attestation driver as module by default + * cpufreq: intel_pstate: Update Balance performance EPP for Sapphire Rapids + (LP: #2008519) + - cpufreq: intel_pstate: Adjust balance_performance EPP for Sapphire Rapids + * Fail to output sound to external monitor which connects via docking station + (LP: #2009024) + - [Config] Enable CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM + * Fix mediatek wifi driver crash when loading wrong SAR table (LP: #2009118) + - wifi: mt76: mt7921: fix error code of return in mt7921_acpi_read + * CVE-2022-47929 + - net: sched: disallow noqueue for qdisc classes + * Intel graphic driver is not probing[8086:468b] (LP: #1990242) + - drm/i915: Add new ADL-S pci id + * Some QHD panels fail to refresh when PSR2 enabled (LP: #2009014) + - drm/i915/psr: Use full update In case of area calculation fails + - drm/i915: Ensure damage clip area is within pipe area + - SAUCE: drm/i915/psr: Use calculated io and fast wake lines + * overlayfs mounts as R/O over idmapped mount (LP: #2009065) + - SAUCE: overlayfs: handle idmapped mounts in ovl_do_(set|remove)xattr + * Kinetic update: upstream stable patchset 2023-02-28 (LP: #2008832) + - usb: musb: remove extra check in musb_gadget_vbus_draw + - arm64: dts: qcom: ipq6018-cp01-c1: use BLSPI1 pins + - arm64: dts: qcom: sm8250-sony-xperia-edo: fix touchscreen bias-disable + - arm64: dts: qcom: msm8996: Add MSM8996 Pro support + - arm64: dts: qcom: msm8996: fix supported-hw in cpufreq OPP tables + - arm64: dts: qcom: msm8996: fix GPU OPP table + - ARM: dts: qcom: apq8064: fix coresight compatible + - arm64: dts: qcom: sdm630: fix UART1 pin bias + - arm64: dts: qcom: sdm845-cheza: fix AP suspend pin bias + - arm64: dts: qcom: msm8916: Drop MSS fallback compatible + - objtool, kcsan: Add volatile read/write instrumentation to whitelist + - ARM: dts: stm32: Drop stm32mp15xc.dtsi from Avenger96 + - ARM: dts: stm32: Fix AV96 WLAN regulator gpio property + - drivers: soc: ti: knav_qmss_queue: Mark knav_acc_firmwares as static + - arm64: dts: qcom: pm660: Use unique ADC5_VCOIN address in node name + - arm64: dts: qcom: sm8250: correct LPASS pin pull down + - soc: qcom: llcc: make irq truly optional + - arm64: dts: qcom: sm8150: fix UFS PHY registers + - arm64: dts: qcom: sm8250: fix UFS PHY registers + - arm64: dts: qcom: sm8350: fix UFS PHY registers + - arm64: dts: qcom: sm8250: drop bogus DP PHY clock + - soc: qcom: apr: Add check for idr_alloc and of_property_read_string_index + - arm64: dts: qcom: sm6125: fix SDHCI CQE reg names + - arm: dts: spear600: Fix clcd interrupt + - soc: ti: knav_qmss_queue: Fix PM disable depth imbalance in knav_queue_probe + - soc: ti: smartreflex: Fix PM disable depth imbalance in omap_sr_probe + - arm64: mm: kfence: only handle translation faults + - perf: arm_dsu: Fix hotplug callback leak in dsu_pmu_init() + - perf/arm_dmc620: Fix hotplug callback leak in dmc620_pmu_init() + - perf/smmuv3: Fix hotplug callback leak in arm_smmu_pmu_init() + - arm64: dts: ti: k3-am65-main: Drop dma-coherent in crypto node + - arm64: dts: ti: k3-j721e-main: Drop dma-coherent in crypto node + - ARM: dts: nuvoton: Remove bogus unit addresses from fixed-partition nodes + - arm64: dts: mt6779: Fix devicetree build warnings + - arm64: dts: mt2712e: Fix unit_address_vs_reg warning for oscillators + - arm64: dts: mt2712e: Fix unit address for pinctrl node + - arm64: dts: mt2712-evb: Fix vproc fixed regulators unit names + - arm64: dts: mt2712-evb: Fix usb vbus regulators unit names + - arm64: dts: mediatek: pumpkin-common: Fix devicetree warnings + - arm64: dts: mediatek: mt6797: Fix 26M oscillator unit name + - ARM: dts: dove: Fix assigned-addresses for every PCIe Root Port + - ARM: dts: armada-370: Fix assigned-addresses for every PCIe Root Port + - ARM: dts: armada-xp: Fix assigned-addresses for every PCIe Root Port + - ARM: dts: armada-375: Fix assigned-addresses for every PCIe Root Port + - ARM: dts: armada-38x: Fix assigned-addresses for every PCIe Root Port + - ARM: dts: armada-39x: Fix assigned-addresses for every PCIe Root Port + - ARM: dts: turris-omnia: Add ethernet aliases + - ARM: dts: turris-omnia: Add switch port 6 node + - arm64: dts: armada-3720-turris-mox: Add missing interrupt for RTC + - seccomp: Move copy_seccomp() to no failure path. + - pstore/ram: Fix error return code in ramoops_probe() + - ARM: mmp: fix timer_read delay + - pstore: Avoid kcore oops by vmap()ing with VM_IOREMAP + - tpm/tpm_ftpm_tee: Fix error handling in ftpm_mod_init() + - tpm/tpm_crb: Fix error message in __crb_relinquish_locality() + - ovl: remove privs in ovl_copyfile() + - ovl: remove privs in ovl_fallocate() + - sched/uclamp: Fix relationship between uclamp and migration margin + - sched/uclamp: Make task_fits_capacity() use util_fits_cpu() + - sched/uclamp: Make select_idle_capacity() use util_fits_cpu() + - sched/core: Introduce sched_asym_cpucap_active() + - sched/uclamp: Make asym_fits_capacity() use util_fits_cpu() + - cpuidle: dt: Return the correct numbers of parsed idle states + - alpha: fix TIF_NOTIFY_SIGNAL handling + - alpha: fix syscall entry in !AUDUT_SYSCALL case + - x86/sgx: Reduce delay and interference of enclave release + - PM: hibernate: Fix mistake in kerneldoc comment + - fs: don't audit the capability check in simple_xattr_list() + - cpufreq: qcom-hw: Fix memory leak in qcom_cpufreq_hw_read_lut() + - selftests/ftrace: event_triggers: wait longer for test_event_enable + - perf: Fix possible memleak in pmu_dev_alloc() + - lib/debugobjects: fix stat count and optimize debug_objects_mem_init + - platform/x86: huawei-wmi: fix return value calculation + - timerqueue: Use rb_entry_safe() in timerqueue_getnext() + - proc: fixup uptime selftest + - lib/fonts: fix undefined behavior in bit shift for get_default_font + - ocfs2: fix memory leak in ocfs2_stack_glue_init() + - MIPS: vpe-mt: fix possible memory leak while module exiting + - MIPS: vpe-cmp: fix possible memory leak while module exiting + - selftests/efivarfs: Add checking of the test return value + - PNP: fix name memory leak in pnp_alloc_dev() + - perf/x86/intel/uncore: Fix reference count leak in sad_cfg_iio_topology() + - perf/x86/intel/uncore: Fix reference count leak in hswep_has_limit_sbox() + - perf/x86/intel/uncore: Fix reference count leak in snr_uncore_mmio_map() + - perf/x86/intel/uncore: Fix reference count leak in __uncore_imc_init_box() + - platform/chrome: cros_usbpd_notify: Fix error handling in + cros_usbpd_notify_init() + - thermal: core: fix some possible name leaks in error paths + - irqchip: gic-pm: Use pm_runtime_resume_and_get() in gic_probe() + - irqchip/wpcm450: Fix memory leak in wpcm450_aic_of_init() + - EDAC/i10nm: fix refcount leak in pci_get_dev_wrapper() + - NFSD: Finish converting the NFSv2 GETACL result encoder + - nfsd: don't call nfsd_file_put from client states seqfile display + - genirq/irqdesc: Don't try to remove non-existing sysfs files + - cpufreq: amd_freq_sensitivity: Add missing pci_dev_put() + - libfs: add DEFINE_SIMPLE_ATTRIBUTE_SIGNED for signed value + - lib/notifier-error-inject: fix error when writing -errno to debugfs file + - debugfs: fix error when writing negative value to atomic_t debugfs file + - rapidio: fix possible name leaks when rio_add_device() fails + - rapidio: rio: fix possible name leak in rio_register_mport() + - clocksource/drivers/sh_cmt: Access registers according to spec + - mips: ralink: mt7621: define MT7621_SYSC_BASE with __iomem + - mips: ralink: mt7621: soc queries and tests as functions + - mips: ralink: mt7621: do not use kzalloc too early + - futex: Resend potentially swallowed owner death notification + - cpu/hotplug: Make target_store() a nop when target == state + - cpu/hotplug: Do not bail-out in DYING/STARTING sections + - clocksource/drivers/timer-ti-dm: Fix missing clk_disable_unprepare in + dmtimer_systimer_init_clock() + - ACPICA: Fix use-after-free in acpi_ut_copy_ipackage_to_ipackage() + - uprobes/x86: Allow to probe a NOP instruction with 0x66 prefix + - x86/xen: Fix memory leak in xen_smp_intr_init{_pv}() + - x86/xen: Fix memory leak in xen_init_lock_cpu() + - xen/privcmd: Fix a possible warning in privcmd_ioctl_mmap_resource() + - PM: runtime: Do not call __rpm_callback() from rpm_idle() + - platform/chrome: cros_ec_typec: Cleanup switch handle return paths + - platform/chrome: cros_ec_typec: zero out stale pointers + - platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]() + - platform/x86: intel_scu_ipc: fix possible name leak in + __intel_scu_ipc_register() + - MIPS: BCM63xx: Add check for NULL for clk in clk_enable + - MIPS: OCTEON: warn only once if deprecated link status is being used + - lockd: set other missing fields when unlocking files + - fs: sysv: Fix sysv_nblocks() returns wrong value + - rapidio: fix possible UAF when kfifo_alloc() fails + - eventfd: change int to __u64 in eventfd_signal() ifndef CONFIG_EVENTFD + - relay: fix type mismatch when allocating memory in relay_create_buf() + - hfs: Fix OOB Write in hfs_asc2mac + - rapidio: devices: fix missing put_device in mport_cdev_open + - platform/mellanox: mlxbf-pmc: Fix event typo + - wifi: ath9k: hif_usb: fix memory leak of urbs in + ath9k_hif_usb_dealloc_tx_urbs() + - wifi: ath9k: hif_usb: Fix use-after-free in ath9k_hif_usb_reg_in_cb() + - wifi: rtl8xxxu: Fix reading the vendor of combo chips + - drm/bridge: adv7533: remove dynamic lane switching from adv7533 bridge + - libbpf: Fix use-after-free in btf_dump_name_dups + - libbpf: Fix null-pointer dereference in find_prog_by_sec_insn() + - ata: libata: fix NCQ autosense logic + - ipmi: kcs: Poll OBF briefly to reduce OBE latency + - drm/amdgpu/powerplay/psm: Fix memory leak in power state init + - media: v4l2-ctrls: Fix off-by-one error in integer menu control check + - media: coda: jpeg: Add check for kmalloc + - media: adv748x: afe: Select input port when initializing AFE + - media: i2c: ad5820: Fix error path + - venus: pm_helpers: Fix error check in vcodec_domains_get() + - soreuseport: Fix socket selection for SO_INCOMING_CPU. + - media: exynos4-is: don't rely on the v4l2_async_subdev internals + - libbpf: Btf dedup identical struct test needs check for nested + structs/arrays + - can: kvaser_usb: kvaser_usb_leaf: Get capabilities from device + - can: kvaser_usb: kvaser_usb_leaf: Rename {leaf,usbcan}_cmd_error_event to + {leaf,usbcan}_cmd_can_error_event + - can: kvaser_usb: kvaser_usb_leaf: Handle CMD_ERROR_EVENT + - can: kvaser_usb_leaf: Set Warning state even without bus errors + - can: kvaser_usb_leaf: Fix improved state not being reported + - can: kvaser_usb_leaf: Fix wrong CAN state after stopping + - can: kvaser_usb_leaf: Fix bogus restart events + - can: kvaser_usb: Add struct kvaser_usb_busparams + - can: kvaser_usb: Compare requested bittiming parameters with actual + parameters in do_set_{,data}_bittiming + - drm/rockchip: lvds: fix PM usage counter unbalance in poweron + - clk: renesas: r9a06g032: Repair grave increment error + - spi: Update reference to struct spi_controller + - drm/panel/panel-sitronix-st7701: Remove panel on DSI attach failure + - drm/msm/hdmi: drop unused GPIO support + - drm/msm/hdmi: use devres helper for runtime PM management + - bpf: Fix slot type check in check_stack_write_var_off + - media: vivid: fix compose size exceed boundary + - media: platform: exynos4-is: fix return value check in fimc_md_probe() + - bpf: propagate precision in ALU/ALU64 operations + - bpf: propagate precision across all frames, not just the last one + - clk: qcom: gcc-sm8250: Use retention mode for USB GDSCs + - mtd: Fix device name leak when register device failed in add_mtd_device() + - Input: joystick - fix Kconfig warning for JOYSTICK_ADC + - wifi: rsi: Fix handling of 802.3 EAPOL frames sent via control port + - media: camss: Clean up received buffers on failed start of streaming + - net, proc: Provide PROC_FS=n fallback for proc_create_net_single_write() + - rxrpc: Fix ack.bufferSize to be 0 when generating an ack + - bfq: fix waker_bfqq inconsistency crash + - drm/radeon: Add the missed acpi_put_table() to fix memory leak + - drm/mediatek: Modify dpi power on/off sequence. + - ASoC: pxa: fix null-pointer dereference in filter() + - nvmet: only allocate a single slab for bvecs + - regulator: core: fix unbalanced of node refcount in regulator_dev_lookup() + - amdgpu/pm: prevent array underflow in vega20_odn_edit_dpm_table() + - nvme: return err on nvme_init_non_mdts_limits fail + - regulator: qcom-rpmh: Fix PMR735a S3 regulator spec + - drm/fourcc: Fix vsub/hsub for Q410 and Q401 + - integrity: Fix memory leakage in keyring allocation error path + - ima: Fix misuse of dereference of pointer in template_desc_init_fields() + - block: clear ->slave_dir when dropping the main slave_dir reference + - wifi: ath10k: Fix return value in ath10k_pci_init() + - drm/msm/a6xx: Fix speed-bin detection vs probe-defer + - mtd: lpddr2_nvm: Fix possible null-ptr-deref + - Input: elants_i2c - properly handle the reset GPIO when power is off + - media: vidtv: Fix use-after-free in vidtv_bridge_dvb_init() + - media: solo6x10: fix possible memory leak in solo_sysfs_init() + - media: platform: exynos4-is: Fix error handling in fimc_md_init() + - media: videobuf-dma-contig: use dma_mmap_coherent + - mtd: spi-nor: hide jedec_id sysfs attribute if not present + - mtd: spi-nor: Fix the number of bytes for the dummy cycles + - bpf: Move skb->len == 0 checks into __bpf_redirect + - HID: hid-sensor-custom: set fixed size for custom attributes + - pinctrl: k210: call of_node_put() + - ALSA: pcm: fix undefined behavior in bit shift for SNDRV_PCM_RATE_KNOT + - ALSA: seq: fix undefined behavior in bit shift for + SNDRV_SEQ_FILTER_USE_EVENT + - regulator: core: use kfree_const() to free space conditionally + - clk: rockchip: Fix memory leak in rockchip_clk_register_pll() + - drm/amdgpu: fix pci device refcount leak + - bonding: fix link recovery in mode 2 when updelay is nonzero + - mtd: maps: pxa2xx-flash: fix memory leak in probe + - drbd: remove call to memset before free device/resource/connection + - drbd: destroy workqueue when drbd device was freed + - ASoC: qcom: Add checks for devm_kcalloc + - media: vimc: Fix wrong function called when vimc_init() fails + - media: imon: fix a race condition in send_packet() + - clk: imx8mn: rename vpu_pll to m7_alt_pll + - clk: imx: replace osc_hdmi with dummy + - clk: imx8mn: fix imx8mn_sai2_sels clocks list + - clk: imx8mn: fix imx8mn_enet_phy_sels clocks list + - pinctrl: pinconf-generic: add missing of_node_put() + - media: dvb-core: Fix ignored return value in dvb_register_frontend() + - media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer() + - media: s5p-mfc: Add variant data for MFC v7 hardware for Exynos 3250 SoC + - drm/tegra: Add missing clk_disable_unprepare() in tegra_dc_probe() + - ASoC: dt-bindings: wcd9335: fix reset line polarity in example + - ASoC: mediatek: mtk-btcvsd: Add checks for write and read of mtk_btcvsd_snd + - NFSv4.2: Clear FATTR4_WORD2_SECURITY_LABEL when done decoding + - NFSv4.2: Fix a memory stomp in decode_attr_security_label + - NFSv4.2: Fix initialisation of struct nfs4_label + - NFSv4: Fix a credential leak in _nfs4_discover_trunking() + - NFSv4: Fix a deadlock between nfs4_open_recover_helper() and delegreturn + - NFS: Fix an Oops in nfs_d_automount() + - ALSA: asihpi: fix missing pci_disable_device() + - wifi: iwlwifi: mvm: fix double free on tx path. + - ASoC: mediatek: mt8173: Enable IRQ when pdata is ready + - drm/amd/pm/smu11: BACO is supported when it's in BACO state + - drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios() + - drm/amdgpu: Fix PCI device refcount leak in amdgpu_atrm_get_bios() + - drm/amdkfd: Fix memory leakage + - ASoC: pcm512x: Fix PM disable depth imbalance in pcm512x_probe + - netfilter: conntrack: set icmpv6 redirects as RELATED + - Input: wistron_btns - disable on UML + - bpf, sockmap: Fix repeated calls to sock_put() when msg has more_data + - bpf, sockmap: Fix missing BPF_F_INGRESS flag when using apply_bytes + - bpf, sockmap: Fix data loss caused by using apply_bytes on ingress redirect + - bonding: uninitialized variable in bond_miimon_inspect() + - spi: spidev: mask SPI_CS_HIGH in SPI_IOC_RD_MODE + - wifi: cfg80211: Fix not unregister reg_pdev when load_builtin_regdb_keys() + fails + - wifi: mt76: mt7921: fix reporting of TX AGGR histogram + - wifi: mt76: fix coverity overrun-call in mt76_get_txpower() + - regulator: core: fix module refcount leak in set_supply() + - clk: qcom: lpass-sc7180: Fix pm_runtime usage + - clk: qcom: clk-krait: fix wrong div2 functions + - hsr: Add a rcu-read lock to hsr_forward_skb(). + - hsr: Avoid double remove of a node. + - hsr: Disable netpoll. + - hsr: Synchronize sending frames to have always incremented outgoing seq nr. + - hsr: Synchronize sequence number updates. + - configfs: fix possible memory leak in configfs_create_dir() + - regulator: core: fix resource leak in regulator_register() + - hwmon: (jc42) Convert register access and caching to regmap/regcache + - hwmon: (jc42) Restore the min/max/critical temperatures on resume + - bpf, sockmap: fix race in sock_map_free() + - ALSA: pcm: Set missing stop_operating flag at undoing trigger start + - media: saa7164: fix missing pci_disable_device() + - ALSA: mts64: fix possible null-ptr-defer in snd_mts64_interrupt + - xprtrdma: Fix regbuf data not freed in rpcrdma_req_create() + - SUNRPC: Fix missing release socket in rpc_sockname() + - NFSv4.x: Fail client initialisation if state manager thread can't run + - riscv, bpf: Emit fixed-length instructions for BPF_PSEUDO_FUNC + - mmc: alcor: fix return value check of mmc_add_host() + - mmc: moxart: fix return value check of mmc_add_host() + - mmc: mxcmmc: fix return value check of mmc_add_host() + - mmc: pxamci: fix return value check of mmc_add_host() + - mmc: rtsx_pci: fix return value check of mmc_add_host() + - mmc: rtsx_usb_sdmmc: fix return value check of mmc_add_host() + - mmc: toshsd: fix return value check of mmc_add_host() + - mmc: vub300: fix return value check of mmc_add_host() + - mmc: wmt-sdmmc: fix return value check of mmc_add_host() + - mmc: atmel-mci: fix return value check of mmc_add_host() + - mmc: omap_hsmmc: fix return value check of mmc_add_host() + - mmc: meson-gx: fix return value check of mmc_add_host() + - mmc: via-sdmmc: fix return value check of mmc_add_host() + - mmc: wbsd: fix return value check of mmc_add_host() + - mmc: mmci: fix return value check of mmc_add_host() + - mmc: renesas_sdhi: alway populate SCC pointer + - memstick/ms_block: Add check for alloc_ordered_workqueue + - mmc: core: Normalize the error handling branch in sd_read_ext_regs() + - regulator: qcom-labibb: Fix missing of_node_put() in + qcom_labibb_regulator_probe() + - media: c8sectpfe: Add of_node_put() when breaking out of loop + - media: coda: Add check for dcoda_iram_alloc + - media: coda: Add check for kmalloc + - clk: samsung: Fix memory leak in _samsung_clk_register_pll() + - spi: spi-gpio: Don't set MOSI as an input if not 3WIRE mode + - wifi: rtl8xxxu: Add __packed to struct rtl8723bu_c2h + - wifi: rtl8xxxu: Fix the channel width reporting + - wifi: brcmfmac: Fix error return code in brcmf_sdio_download_firmware() + - blktrace: Fix output non-blktrace event when blk_classic option enabled + - bpf: Do not zero-extend kfunc return values + - clk: socfpga: Fix memory leak in socfpga_gate_init() + - net: vmw_vsock: vmci: Check memcpy_from_msg() + - net: defxx: Fix missing err handling in dfx_init() + - net: stmmac: selftests: fix potential memleak in stmmac_test_arpoffload() + - net: stmmac: fix possible memory leak in stmmac_dvr_probe() + - drivers: net: qlcnic: Fix potential memory leak in qlcnic_sriov_init() + - of: overlay: fix null pointer dereferencing in find_dup_cset_node_entry() + and find_dup_cset_prop() + - ethernet: s2io: don't call dev_kfree_skb() under spin_lock_irqsave() + - net: farsync: Fix kmemleak when rmmods farsync + - net/tunnel: wait until all sk_user_data reader finish before releasing the + sock + - net: apple: mace: don't call dev_kfree_skb() under spin_lock_irqsave() + - net: apple: bmac: don't call dev_kfree_skb() under spin_lock_irqsave() + - net: emaclite: don't call dev_kfree_skb() under spin_lock_irqsave() + - net: ethernet: dnet: don't call dev_kfree_skb() under spin_lock_irqsave() + - hamradio: don't call dev_kfree_skb() under spin_lock_irqsave() + - net: amd: lance: don't call dev_kfree_skb() under spin_lock_irqsave() + - af_unix: call proto_unregister() in the error path in af_unix_init() + - net: amd-xgbe: Fix logic around active and passive cables + - net: amd-xgbe: Check only the minimum speed for active/passive cables + - can: tcan4x5x: Remove invalid write in clear_interrupts + - can: m_can: Call the RAM init directly from m_can_chip_config + - can: tcan4x5x: Fix use of register error status mask + - net: lan9303: Fix read error execution path + - ntb_netdev: Use dev_kfree_skb_any() in interrupt context + - sctp: sysctl: make extra pointers netns aware + - Bluetooth: MGMT: Fix error report for ADD_EXT_ADV_PARAMS + - Bluetooth: btintel: Fix missing free skb in btintel_setup_combined() + - Bluetooth: btusb: don't call kfree_skb() under spin_lock_irqsave() + - Bluetooth: hci_qca: don't call kfree_skb() under spin_lock_irqsave() + - Bluetooth: hci_ll: don't call kfree_skb() under spin_lock_irqsave() + - Bluetooth: hci_h5: don't call kfree_skb() under spin_lock_irqsave() + - Bluetooth: hci_bcsp: don't call kfree_skb() under spin_lock_irqsave() + - Bluetooth: hci_core: don't call kfree_skb() under spin_lock_irqsave() + - Bluetooth: RFCOMM: don't call kfree_skb() under spin_lock_irqsave() + - stmmac: fix potential division by 0 + - i40e: Fix the inability to attach XDP program on downed interface + - net: dsa: tag_8021q: avoid leaking ctx on dsa_tag_8021q_register() error + path + - crypto: hisilicon/qm - fix missing destroy qp_idr + - crypto: sun8i-ss - use dma_addr instead u32 + - crypto: nitrox - avoid double free on error path in nitrox_sriov_init() + - scsi: core: Fix a race between scsi_done() and scsi_timeout() + - apparmor: Use pointer to struct aa_label for lbs_cred + - PCI: dwc: Fix n_fts[] array overrun + - RDMA/core: Fix order of nldev_exit call + - PCI: pci-epf-test: Register notifier if only core_init_notifier is enabled + - f2fs: Fix the race condition of resize flag between resizefs + - crypto: rockchip - do not do custom power management + - crypto: rockchip - do not store mode globally + - crypto: rockchip - add fallback for cipher + - crypto: rockchip - add fallback for ahash + - crypto: rockchip - better handle cipher key + - crypto: rockchip - remove non-aligned handling + - crypto: rockchip - rework by using crypto_engine + - apparmor: Fix memleak in alloc_ns() + - f2fs: fix to invalidate dcc->f2fs_issue_discard in error path + - f2fs: fix normal discard process + - f2fs: fix to destroy sbi->post_read_wq in error path of f2fs_fill_super() + - RDMA/irdma: Report the correct link speed + - scsi: qla2xxx: Fix set-but-not-used variable warnings + - RDMA/siw: Fix immediate work request flush to completion queue + - IB/mad: Don't call to function that might sleep while in atomic context + - RDMA/restrack: Release MR restrack when delete + - RDMA/core: Make sure "ib_port" is valid when access sysfs node + - RDMA/nldev: Return "-EAGAIN" if the cm_id isn't from expected port + - RDMA/siw: Set defined status for work completion with undefined status + - scsi: scsi_debug: Fix a warning in resp_write_scat() + - crypto: ccree - Remove debugfs when platform_driver_register failed + - crypto: cryptd - Use request context instead of stack for sub-request + - crypto: hisilicon/qm - add missing pci_dev_put() in q_num_set() + - RDMA/hns: Repacing 'dseg_len' by macros in fill_ext_sge_inl_data() + - RDMA/hns: Fix ext_sge num error when post send + - PCI: Check for alloc failure in pci_request_irq() + - RDMA/hfi: Decrease PCI device reference count in error path + - crypto: ccree - Make cc_debugfs_global_fini() available for module init + function + - RDMA/hns: fix memory leak in hns_roce_alloc_mr() + - RDMA/rxe: Fix NULL-ptr-deref in rxe_qp_do_cleanup() when socket create + failed + - dt-bindings: imx6q-pcie: Fix clock names for imx6sx and imx8mq + - dt-bindings: visconti-pcie: Fix interrupts array max constraints + - scsi: hpsa: Fix possible memory leak in hpsa_init_one() + - crypto: tcrypt - Fix multibuffer skcipher speed test mem leak + - padata: Always leave BHs disabled when running ->parallel() + - padata: Fix list iterator in padata_do_serial() + - scsi: mpt3sas: Fix possible resource leaks in mpt3sas_transport_port_add() + - scsi: hpsa: Fix error handling in hpsa_add_sas_host() + - scsi: hpsa: Fix possible memory leak in hpsa_add_sas_device() + - scsi: efct: Fix possible memleak in efct_device_init() + - scsi: scsi_debug: Fix a warning in resp_verify() + - scsi: scsi_debug: Fix a warning in resp_report_zones() + - scsi: fcoe: Fix possible name leak when device_register() fails + - scsi: scsi_debug: Fix possible name leak in sdebug_add_host_helper() + - scsi: ipr: Fix WARNING in ipr_init() + - scsi: fcoe: Fix transport not deattached when fcoe_if_init() fails + - scsi: snic: Fix possible UAF in snic_tgt_create() + - RDMA/nldev: Add checks for nla_nest_start() in fill_stat_counter_qps() + - f2fs: avoid victim selection from previous victim section + - RDMA/nldev: Fix failure to send large messages + - crypto: amlogic - Remove kcalloc without check + - crypto: omap-sham - Use pm_runtime_resume_and_get() in omap_sham_probe() + - riscv/mm: add arch hook arch_clear_hugepage_flags + - RDMA/hfi1: Fix error return code in parse_platform_config() + - RDMA/srp: Fix error return code in srp_parse_options() + - orangefs: Fix sysfs not cleanup when dev init failed + - RDMA/hns: Fix AH attr queried by query_qp + - RDMA/hns: Fix PBL page MTR find + - RDMA/hns: Fix page size cap from firmware + - RDMA/hns: Fix error code of CMD + - crypto: img-hash - Fix variable dereferenced before check 'hdev->req' + - hwrng: amd - Fix PCI device refcount leak + - hwrng: geode - Fix PCI device refcount leak + - IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces + - RISC-V: Align the shadow stack + - drivers: dio: fix possible memory leak in dio_init() + - serial: tegra: Read DMA status before terminating + - serial: 8250_bcm7271: Fix error handling in brcmuart_init() + - class: fix possible memory leak in __class_register() + - vfio: platform: Do not pass return buffer to ACPI _RST method + - uio: uio_dmem_genirq: Fix missing unlock in irq configuration + - uio: uio_dmem_genirq: Fix deadlock between irq config and handling + - usb: fotg210-udc: Fix ages old endianness issues + - staging: vme_user: Fix possible UAF in tsi148_dma_list_add + - usb: typec: Check for ops->exit instead of ops->enter in altmode_exit + - usb: typec: tcpci: fix of node refcount leak in tcpci_register_port() + - usb: typec: tipd: Cleanup resources if devm_tps6598_psy_register fails + - usb: typec: tipd: Fix spurious fwnode_handle_put in error path + - extcon: usbc-tusb320: Factor out extcon into dedicated functions + - extcon: usbc-tusb320: Add USB TYPE-C support + - extcon: usbc-tusb320: Update state on probe even if no IRQ pending + - serial: amba-pl011: avoid SBSA UART accessing DMACR register + - serial: pl011: Do not clear RX FIFO & RX interrupt in unthrottle. + - serial: stm32: move dma_request_chan() before clk_prepare_enable() + - serial: pch: Fix PCI device refcount leak in pch_request_dma() + - tty: serial: clean up stop-tx part in altera_uart_tx_chars() + - tty: serial: altera_uart_{r,t}x_chars() need only uart_port + - serial: altera_uart: fix locking in polling mode + - serial: sunsab: Fix error handling in sunsab_init() + - test_firmware: fix memory leak in test_firmware_init() + - misc: ocxl: fix possible name leak in ocxl_file_register_afu() + - ocxl: fix pci device refcount leak when calling get_function_0() + - misc: tifm: fix possible memory leak in tifm_7xx1_switch_media() + - misc: sgi-gru: fix use-after-free error in gru_set_context_option, gru_fault + and gru_handle_user_call_os + - firmware: raspberrypi: fix possible memory leak in rpi_firmware_probe() + - cxl: fix possible null-ptr-deref in cxl_guest_init_afu|adapter() + - cxl: fix possible null-ptr-deref in cxl_pci_init_afu|adapter() + - iio: temperature: ltc2983: make bulk write buffer DMA-safe + - iio: adis: add '__adis_enable_irq()' implementation + - counter: stm32-lptimer-cnt: fix the check on arr and cmp registers update + - coresight: trbe: remove cpuhp instance node before remove cpuhp state + - usb: roles: fix of node refcount leak in usb_role_switch_is_parent() + - usb: gadget: f_hid: fix f_hidg lifetime vs cdev + - usb: gadget: f_hid: fix refcount leak on error path + - drivers: mcb: fix resource leak in mcb_probe() + - mcb: mcb-parse: fix error handing in chameleon_parse_gdd() + - chardev: fix error handling in cdev_device_add() + - i2c: pxa-pci: fix missing pci_disable_device() on error in ce4100_i2c_probe + - staging: rtl8192u: Fix use after free in ieee80211_rx() + - staging: rtl8192e: Fix potential use-after-free in rtllib_rx_Monitor() + - vme: Fix error not catched in fake_init() + - gpiolib: cdev: fix NULL-pointer dereferences + - gpiolib: protect the GPIO device against being dropped while in use by user- + space + - i2c: mux: reg: check return value after calling platform_get_resource() + - i2c: ismt: Fix an out-of-bounds bug in ismt_access() + - usb: storage: Add check for kcalloc + - tracing/hist: Fix issue of losting command info in error_log + - ksmbd: Fix resource leak in ksmbd_session_rpc_open() + - samples: vfio-mdev: Fix missing pci_disable_device() in mdpy_fb_probe() + - thermal/drivers/imx8mm_thermal: Validate temperature range + - thermal/drivers/qcom/temp-alarm: Fix inaccurate warning for gen2 + - thermal/drivers/qcom/lmh: Fix irq handler return value + - fbdev: ssd1307fb: Drop optional dependency + - fbdev: pm2fb: fix missing pci_disable_device() + - fbdev: via: Fix error in via_core_init() + - fbdev: vermilion: decrease reference count in error path + - fbdev: ep93xx-fb: Add missing clk_disable_unprepare in ep93xxfb_probe() + - fbdev: geode: don't build on UML + - fbdev: uvesafb: don't build on UML + - fbdev: uvesafb: Fixes an error handling path in uvesafb_probe() + - HSI: omap_ssi_core: fix unbalanced pm_runtime_disable() + - HSI: omap_ssi_core: fix possible memory leak in ssi_probe() + - power: supply: fix residue sysfs file in error handle route of + __power_supply_register() + - perf trace: Return error if a system call doesn't exist + - perf trace: Use macro RAW_SYSCALL_ARGS_NUM to replace number + - perf trace: Handle failure when trace point folder is missed + - perf symbol: correction while adjusting symbol + - power: supply: z2_battery: Fix possible memleak in z2_batt_probe() + - HSI: omap_ssi_core: Fix error handling in ssi_init() + - power: supply: ab8500: Fix error handling in ab8500_charger_init() + - power: supply: fix null pointer dereferencing in + power_supply_get_battery_info + - perf stat: Refactor __run_perf_stat() common code + - perf stat: Do not delay the workload with --delay + - RDMA/siw: Fix pointer cast warning + - fs/ntfs3: Avoid UBSAN error on true_sectors_per_clst() + - fs/ntfs3: Harden against integer overflows + - iommu/sun50i: Fix reset release + - iommu/sun50i: Consider all fault sources for reset + - iommu/sun50i: Fix R/W permission check + - iommu/sun50i: Fix flush size + - iommu/rockchip: fix permission bits in page table entries v2 + - phy: usb: s2 WoL wakeup_count not incremented for USB->Eth devices + - include/uapi/linux/swab: Fix potentially missing __always_inline + - pwm: tegra: Improve required rate calculation + - fs/ntfs3: Fix slab-out-of-bounds read in ntfs_trim_fs + - dmaengine: idxd: Fix crc_val field for completion record + - rtc: rtc-cmos: Do not check ACPI_FADT_LOW_POWER_S0 + - rtc: cmos: Fix event handler registration ordering issue + - rtc: cmos: Fix wake alarm breakage + - rtc: cmos: fix build on non-ACPI platforms + - rtc: cmos: Call cmos_wake_setup() from cmos_do_probe() + - rtc: cmos: Call rtc_wake_setup() from cmos_do_probe() + - rtc: cmos: Eliminate forward declarations of some functions + - rtc: cmos: Rename ACPI-related functions + - rtc: cmos: Disable ACPI RTC event on removal + - rtc: snvs: Allow a time difference on clock register read + - rtc: pcf85063: Fix reading alarm + - iommu/amd: Fix pci device refcount leak in ppr_notifier() + - iommu/fsl_pamu: Fix resource leak in fsl_pamu_probe() + - macintosh: fix possible memory leak in macio_add_one_device() + - macintosh/macio-adb: check the return value of ioremap() + - powerpc/52xx: Fix a resource leak in an error handling path + - cxl: Fix refcount leak in cxl_calc_capp_routing + - powerpc/xmon: Fix -Wswitch-unreachable warning in bpt_cmds + - powerpc/xive: add missing iounmap() in error path in + xive_spapr_populate_irq_data() + - powerpc/perf: callchain validate kernel stack pointer bounds + - powerpc/83xx/mpc832x_rdb: call platform_device_put() in error case in + of_fsl_spi_probe() + - powerpc/hv-gpci: Fix hv_gpci event list + - selftests/powerpc: Fix resource leaks + - iommu/sun50i: Remove IOMMU_DOMAIN_IDENTITY + - pwm: sifive: Call pwm_sifive_update_clock() while mutex is held + - pwm: mtk-disp: Fix the parameters calculated by the enabled flag of disp_pwm + - pwm: mediatek: always use bus clock for PWM on MT7622 + - remoteproc: sysmon: fix memory leak in qcom_add_sysmon_subdev() + - remoteproc: qcom: q6v5: Fix potential null-ptr-deref in + q6v5_wcss_init_mmio() + - remoteproc: qcom_q6v5_pas: disable wakeup on probe fail or remove + - remoteproc: qcom_q6v5_pas: detach power domains on remove + - remoteproc: qcom_q6v5_pas: Fix missing of_node_put() in + adsp_alloc_memory_region() + - remoteproc: qcom: q6v5: Fix missing clk_disable_unprepare() in + q6v5_wcss_qcs404_power_on() + - powerpc/pseries/eeh: use correct API for error log size + - mfd: bd957x: Fix Kconfig dependency on REGMAP_IRQ + - mfd: qcom_rpm: Fix an error handling path in qcom_rpm_probe() + - mfd: pm8008: Remove driver data structure pm8008_data + - mfd: pm8008: Fix return value check in pm8008_probe() + - netfilter: flowtable: really fix NAT IPv6 offload + - rtc: st-lpc: Add missing clk_disable_unprepare in st_rtc_probe() + - rtc: pic32: Move devm_rtc_allocate_device earlier in pic32_rtc_probe() + - rtc: pcf85063: fix pcf85063_clkout_control + - nfsd: under NFSv4.1, fix double svc_xprt_put on rpc_create failure + - net: macsec: fix net device access prior to holding a lock + - mISDN: hfcsusb: don't call dev_kfree_skb/kfree_skb() under + spin_lock_irqsave() + - mISDN: hfcpci: don't call dev_kfree_skb/kfree_skb() under + spin_lock_irqsave() + - mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under + spin_lock_irqsave() + - block, bfq: fix possible uaf for 'bfqq->bic' + - net: enetc: avoid buffer leaks on xdp_do_redirect() failure + - nfc: pn533: Clear nfc_target before being used + - unix: Fix race in SOCK_SEQPACKET's unix_dgram_sendmsg() + - r6040: Fix kmemleak in probe and remove + - igc: Enhance Qbv scheduling by using first flag bit + - igc: Use strict cycles for Qbv scheduling + - igc: Add checking for basetime less than zero + - igc: allow BaseTime 0 enrollment for Qbv + - igc: recalculate Qbv end_time by considering cycle time + - igc: Lift TAPRIO schedule restriction + - igc: Set Qbv start_time and end_time to end_time if not being configured in + GCL + - rtc: mxc_v2: Add missing clk_disable_unprepare() + - selftests: devlink: fix the fd redirect in dummy_reporter_test + - openvswitch: Fix flow lookup to use unmasked key + - soc: mediatek: pm-domains: Fix the power glitch issue + - arm64: dts: mt8183: Fix Mali GPU clock + - skbuff: Account for tail adjustment during pull operations + - mailbox: mpfs: read the system controller's status + - mailbox: arm_mhuv2: Fix return value check in mhuv2_probe() + - mailbox: zynq-ipi: fix error handling while device_register() fails + - net_sched: reject TCF_EM_SIMPLE case for complex ematch module + - rxrpc: Fix missing unlock in rxrpc_do_sendmsg() + - myri10ge: Fix an error handling path in myri10ge_probe() + - net: stream: purge sk_error_queue in sk_stream_kill_queues() + - HID: amd_sfh: Add missing check for dma_alloc_coherent + - rcu: Fix __this_cpu_read() lockdep warning in rcu_force_quiescent_state() + - arm64: make is_ttbrX_addr() noinstr-safe + - video: hyperv_fb: Avoid taking busy spinlock on panic path + - x86/hyperv: Remove unregister syscore call from Hyper-V cleanup + - binfmt_misc: fix shift-out-of-bounds in check_special_flags + - fs: jfs: fix shift-out-of-bounds in dbAllocAG + - udf: Avoid double brelse() in udf_rename() + - jfs: Fix fortify moan in symlink + - fs: jfs: fix shift-out-of-bounds in dbDiscardAG + - ACPICA: Fix error code path in acpi_ds_call_control_method() + - nilfs2: fix shift-out-of-bounds/overflow in nilfs_sb2_bad_offset() + - nilfs2: fix shift-out-of-bounds due to too large exponent of block size + - acct: fix potential integer overflow in encode_comp_t() + - hfs: fix OOB Read in __hfs_brec_find + - drm/etnaviv: add missing quirks for GC300 + - media: imx-jpeg: Disable useless interrupt to avoid kernel panic + - brcmfmac: return error when getting invalid max_flowrings from dongle + - wifi: ath9k: verify the expected usb_endpoints are present + - wifi: ar5523: Fix use-after-free on ar5523_cmd() timed out + - ASoC: codecs: rt298: Add quirk for KBL-R RVP platform + - ipmi: fix memleak when unload ipmi driver + - drm/amd/display: prevent memory leak + - Revert "drm/amd/display: Limit max DSC target bpp for specific monitors" + - qed (gcc13): use u16 for fid to be big enough + - bpf: make sure skb->len != 0 when redirecting to a tunneling device + - net: ethernet: ti: Fix return type of netcp_ndo_start_xmit() + - hamradio: baycom_epp: Fix return type of baycom_send_packet() + - wifi: brcmfmac: Fix potential shift-out-of-bounds in + brcmf_fw_alloc_request() + - igb: Do not free q_vector unless new one was allocated + - drm/amdgpu: Fix type of second parameter in trans_msg() callback + - drm/amdgpu: Fix type of second parameter in odn_edit_dpm_table() callback + - s390/ctcm: Fix return type of ctc{mp,}m_tx() + - s390/netiucv: Fix return type of netiucv_tx() + - s390/lcs: Fix return type of lcs_start_xmit() + - drm/msm: Use drm_mode_copy() + - drm/rockchip: Use drm_mode_copy() + - drm/sti: Use drm_mode_copy() + - drm/mediatek: Fix return type of mtk_hdmi_bridge_mode_valid() + - drivers/md/md-bitmap: check the return value of md_bitmap_get_counter() + - md/raid1: stop mdx_raid1 thread when raid1 array run failed + - drm/amd/display: fix array index out of bound error in bios parser + - net: add atomic_long_t to net_device_stats fields + - ipv6/sit: use DEV_STATS_INC() to avoid data-races + - mrp: introduce active flags to prevent UAF when applicant uninit + - ppp: associate skb with a device at tx + - bpf: Prevent decl_tag from being referenced in func_proto arg + - ethtool: avoiding integer overflow in ethtool_phys_id() + - media: dvb-frontends: fix leak of memory fw + - media: dvbdev: adopts refcnt to avoid UAF + - media: dvb-usb: fix memory leak in dvb_usb_adapter_init() + - blk-mq: fix possible memleak when register 'hctx' failed + - drm/amd/display: Use the largest vready_offset in pipe group + - libbpf: Avoid enum forward-declarations in public API in C++ mode + - regulator: core: fix use_count leakage when handling boot-on + - wifi: mt76: do not run mt76u_status_worker if the device is not running + - mmc: f-sdh30: Add quirks for broken timeout clock capability + - mmc: renesas_sdhi: better reset from HS400 mode + - media: si470x: Fix use-after-free in si470x_int_in_callback() + - clk: st: Fix memory leak in st_of_quadfs_setup() + - crypto: hisilicon/hpre - fix resource leak in remove process + - scsi: lpfc: Fix hard lockup when reading the rx_monitor from debugfs + - scsi: ufs: Reduce the START STOP UNIT timeout + - scsi: elx: libefc: Fix second parameter type in state callbacks + - hugetlbfs: fix null-ptr-deref in hugetlbfs_parse_param() + - drm/fsl-dcu: Fix return type of fsl_dcu_drm_connector_mode_valid() + - drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid() + - orangefs: Fix kmemleak in orangefs_prepare_debugfs_help_string() + - orangefs: Fix kmemleak in orangefs_{kernel,client}_debug_init() + - KVM: selftests: Fix build regression by using accessor function + - hwmon: (jc42) Fix missing unlock on error in jc42_write() + - ALSA: hda: add snd_hdac_stop_streams() helper + - ASoC: Intel: Skylake: Fix driver hang during shutdown + - ASoC: mediatek: mt8173-rt5650-rt5514: fix refcount leak in + mt8173_rt5650_rt5514_dev_probe() + - ASoC: audio-graph-card: fix refcount leak of cpu_ep in + __graph_for_each_link() + - ASoC: rockchip: pdm: Add missing clk_disable_unprepare() in + rockchip_pdm_runtime_resume() + - ASoC: mediatek: mt8183: fix refcount leak in + mt8183_mt6358_ts3a227_max98357_dev_probe() + - ASoC: wm8994: Fix potential deadlock + - ASoC: rockchip: spdif: Add missing clk_disable_unprepare() in + rk_spdif_runtime_resume() + - ASoC: rt5670: Remove unbalanced pm_runtime_put() + - drm/i915/display: Don't disable DDI/Transcoder when setting phy test pattern + - LoadPin: Ignore the "contents" argument of the LSM hooks + - pstore: Switch pmsg_lock to an rt_mutex to avoid priority inversion + - perf debug: Set debug_peo_args and redirect_to_stderr variable to correct + values in perf_quiet_option() + - afs: Fix lost servers_outstanding count + - pstore: Make sure CONFIG_PSTORE_PMSG selects CONFIG_RT_MUTEXES + - ALSA: usb-audio: add the quirk for KT0206 device + - ALSA: hda/realtek: Add quirk for Lenovo TianYi510Pro-14IOB + - ALSA: hda/hdmi: Add HP Device 0x8711 to force connect list + - usb: cdnsp: fix lack of ZLP for ep0 + - usb: xhci-mtk: fix leakage of shared hcd when fail to set wakeup irq + - arm64: dts: qcom: sm8250: fix USB-DP PHY registers + - usb: dwc3: Fix race between dwc3_set_mode and __dwc3_set_mode + - usb: dwc3: core: defer probe on ulpi_read_id timeout + - xhci: Prevent infinite loop in transaction errors recovery for streams + - HID: wacom: Ensure bootloader PID is usable in hidraw mode + - HID: mcp2221: don't connect hidraw + - loop: Fix the max_loop commandline argument treatment when it is set to 0 + - 9p: set req refcount to zero to avoid uninitialized usage + - security: Restrict CONFIG_ZERO_CALL_USED_REGS to gcc or clang > 15.0.6 + - reiserfs: Add missing calls to reiserfs_security_free() + - iio: fix memory leak in iio_device_register_eventset() + - iio: adc: ad_sigma_delta: do not use internal iio_dev lock + - iio: adc128s052: add proper .data members in adc128_of_match table + - regulator: core: fix deadlock on regulator enable + - floppy: Fix memory leak in do_floppy_init() + - gcov: add support for checksum field + - fbdev: fbcon: release buffer when fbcon_do_set_font() failed + - ovl: fix use inode directly in rcu-walk mode + - btrfs: do not BUG_ON() on ENOMEM when dropping extent items for a range + - scsi: qla2xxx: Fix crash when I/O abort times out + - net: stmmac: fix errno when create_singlethread_workqueue() fails + - media: dvbdev: fix build warning due to comments + - media: dvbdev: fix refcnt bug + - extcon: usbc-tusb320: Call the Type-C IRQ handler only if a port is + registered + - mfd: qcom_rpm: Use devm_of_platform_populate() to simplify code + - pwm: tegra: Fix 32 bit build + - staging: r8188eu: fix led register settings + - arm64: dts: renesas: r8a779g0: Fix HSCIF0 "brg_int" clock + - memory: renesas-rpc-if: Clear HS bit during hardware initialization + - firmware: ti_sci: Fix polled mode during system suspend + - arm64: dts: qcom: sc7180-trogdor-homestar: fully configure secondary I2S + pins + - arm64: dts: qcom: sm8450: fix UFS PHY registers + - arm64: dts: qcom: sm6350: drop bogus DP PHY clock + - arm64: dts: qcom: pm6350: Include header for KEY_POWER + - arm64: dts: renesas: r9a09g011: Fix unit address format error + - dt-bindings: pwm: fix microchip corePWM's pwm-cells + - arm64: dts: mt7986: fix trng node name + - drivers: perf: marvell_cn10k: Fix hotplug callback leak in tad_pmu_init() + - arm64: dts: ti: k3-j721s2: Fix the interrupt ranges property for main & wkup + gpio intr + - arm64: dts: mediatek: mt8195: Fix CPUs capacity-dmips-mhz + - arm64: dts: mt7896a: Fix unit_address_vs_reg warning for oscillator + - soc: apple: sart: Stop casting function pointer signatures + - soc: apple: rtkit: Stop casting function pointer signatures + - drivers/perf: hisi: Fix some event id for hisi-pcie-pmu + - arch: arm64: apple: t8103: Use standard "iommu" node name + - sched/uclamp: Fix fits_capacity() check in feec() + - sched/uclamp: Make cpu_overutilized() use util_fits_cpu() + - sched/uclamp: Cater for uclamp in find_energy_efficient_cpu()'s early exit + condition + - sched/psi: Fix possible missing or delayed pending event + - x86/split_lock: Add sysctl to control the misery mode + - selftests: cgroup: fix unsigned comparison with less than zero + - cpufreq: qcom-hw: Fix the frequency returned by cpufreq_driver->get() + - mailbox: pcc: Reset pcc_chan_count to zero in case of PCC probe failure + - ACPI: pfr_telemetry: use ACPI_FREE() to free acpi_object + - ACPI: pfr_update: use ACPI_FREE() to free acpi_object + - NFSD: Finish converting the NFSv3 GETACL result encoder + - ocfs2: fix memory leak in ocfs2_mount_volume() + - erofs: Fix pcluster memleak when its block address is zero + - erofs: fix missing unmap if z_erofs_get_extent_compressedlen() fails + - NFSD: pass range end to vfs_fsync_range() instead of count + - ipc: fix memory leak in init_mqueue_fs() + - wifi: ath11k: fix firmware assert during bandwidth change for peer sta + - libbpf: Fix memory leak in parse_usdt_arg() + - selftest/bpf: Fix memory leak in kprobe_multi_test + - selftests/bpf: Fix error failure of case test_xdp_adjust_tail_grow + - selftest/bpf: Fix error usage of ASSERT_OK in xdp_adjust_tail.c + - libbpf: Use elf_getshdrnum() instead of e_shnum + - libbpf: Deal with section with no data gracefully + - ASoC: Intel: avs: Fix potential RX buffer overflow + - drm/bridge: it6505: Initialize AUX channel in it6505_i2c_probe + - Input: iqs7222 - set all ULP entry masks by default + - Input: iqs7222 - drop unused device node references + - Input: iqs7222 - report malformed properties + - Input: iqs7222 - protect against undefined slider size + - media: amphion: reset instance if it's aborted before codec header parsed + - media: mediatek: vcodec: fix h264 cavlc bitstream fail + - drm/i915: Fix compute pre-emption w/a to apply to compute engines + - media: i2c: hi846: Fix memory leak in hi846_parse_dt() + - media: i2c: ov5648: Free V4L2 fwnode data on unbind + - clk: renesas: r8a779a0: Fix SD0H clock name + - ASoC: dt-bindings: rt5682: Set sound-dai-cells to 1 + - dw9768: Enable low-power probe on ACPI + - drm/ttm: fix undefined behavior in bit shift for TTM_TT_FLAG_PRIV_POPULATED + - drm/msm/mdp5: stop overriding drvdata + - bpf: Clobber stack slot when writing over spilled PTR_TO_BTF_ID + - drm/msm/dpu1: Account for DSC's bits_per_pixel having 4 fractional bits + - drm/msm/dsi: Remove useless math in DSC calculations + - drm/msm/dsi: Remove repeated calculation of slice_per_intf + - drm/msm/dsi: Use DIV_ROUND_UP instead of conditional increment on modulo + - drm/msm/dsi: Reuse earlier computed dsc->slice_chunk_size + - drm/msm/dsi: Appropriately set dsc->mux_word_size based on bpc + - media: rkvdec: Add required padding + - clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry + - clk: qcom: dispcc-sm6350: Add CLK_OPS_PARENT_ENABLE to pixel&byte src + - mtd: core: fix possible resource leak in init_mtd() + - clk: renesas: r8a779f0: Fix SCIF parent clocks + - virt/sev-guest: Add a MODULE_ALIAS + - wifi: rtw89: use u32_encode_bits() to fill MAC quota value + - drm: rcar-du: Drop leftovers dependencies from Kconfig + - drbd: use blk_queue_max_discard_sectors helper + - dt-bindings: pinctrl: update uart/mmc bindings for MT7986 SoC + - pinctrl: mediatek: fix the pinconf register offset of some pins + - wifi: iwlwifi: mei: make sure ownership confirmed message is sent + - wifi: iwlwifi: mei: don't send SAP commands if AMT is disabled + - wifi: iwlwifi: mei: fix tx DHCP packet for devices with new Tx API + - wifi: iwlwifi: mei: avoid blocking sap messages handling due to rtnl lock + - wifi: iwlwifi: mei: fix potential NULL-ptr deref after clone + - module: Fix NULL vs IS_ERR checking for module_get_next_page + - wifi: rtw89: Fix some error handling path in rtw89_core_sta_assoc() + - net: ethernet: mtk_eth_soc: do not overwrite mtu configuration running reset + routine + - media: amphion: add lock around vdec_g_fmt + - media: amphion: apply vb2_queue_error instead of setting manually + - media: amphion: Fix error handling in vpu_driver_init() + - net: ethernet: mtk_eth_soc: fix RSTCTRL_PPE{0,1} definitions + - clk: imx93: correct the flexspi1 clock setting + - HID: i2c: let RMI devices decide what constitutes wakeup event + - clk: imx93: unmap anatop base in error handling path + - clk: imx93: correct enet clock + - clk: imx: imxrt1050: fix IMXRT1050_CLK_LCDIF_APB offsets + - wifi: rtw89: fix physts IE page check + - ASoC: Intel: avs: Lock substream before snd_pcm_stop() + - drm/i915/guc: make default_lists const data + - mtd: core: Fix refcount error in del_mtd_device() + - media: imx: imx7-media-csi: Clear BIT_MIPI_DOUBLE_CMPNT for <16b formats + - x86/boot: Skip realmode init code when running as Xen PV guest + - media: amphion: try to wakeup vpu core to avoid failure + - media: amphion: cancel vpu before release instance + - media: amphion: lock and check m2m_ctx in event handler + - media: mediatek: vcodec: Fix getting NULL pointer for dst buffer + - media: mediatek: vcodec: Fix h264 set lat buffer error + - media: mediatek: vcodec: Setting lat buf to lat_list when lat decode error + - media: mediatek: vcodec: Core thread depends on core_list + - NFSv4.2: Always decode the security label + - wifi: plfxlc: fix potential memory leak in __lf_x_usb_enable_rx() + - wifi: rtl8xxxu: Fix use after rcu_read_unlock in rtl8xxxu_bss_info_changed + - clk: mediatek: fix dependency of MT7986 ADC clocks + - amdgpu/nv.c: Corrected typo in the video capabilities resolution + - drm/i915/bios: fix a memory leak in generate_lfp_data_ptrs + - clk: visconti: Fix memory leak in visconti_register_pll() + - wifi: mac80211: fix memory leak in ieee80211_if_add() + - wifi: mt76: mt7915: fix mt7915_mac_set_timing() + - wifi: mt76: mt7915: fix reporting of TX AGGR histogram + - mt76: mt7915: Fix PCI device refcount leak in mt7915_pci_init_hif2() + - dt-bindings: clock: Add resets for LPASS audio clock controller for SC7280 + - dt-bindings: clock: Add support for external MCLKs for LPASS on SC7280 + - clk: qcom: lpass: Add support for resets & external mclk for SC7280 + - pinctrl: thunderbay: fix possible memory leak in + thunderbay_build_functions() + - bpftool: Fix memory leak in do_build_table_cb + - mmc: litex_mmc: ensure `host->irq == 0` if polling + - ipvs: use u64_stats_t for the per-cpu counters + - net: setsockopt: fix IPV6_UNICAST_IF option for connected sockets + - net: ethernet: ti: am65-cpsw: Fix PM runtime leakage in + am65_cpsw_nuss_ndo_slave_open() + - crypto: hisilicon/qm - re-enable communicate interrupt before notifying PF + - fortify: Do not cast to "unsigned char" + - f2fs: allow to set compression for inlined file + - f2fs: fix the assign logic of iocb + - RDMA/irdma: Fix inline for multiple SGE's + - RDMA/irdma: Fix RQ completion opcode + - RDMA/irdma: Do not request 2-level PBLEs for CQ alloc + - RDMA/rxe: Fix mr->map double free + - RDMA/hns: Fix incorrect sge nums calculation + - RDMA/irdma: Initialize net_type before checking it + - scsi: ufs: core: Fix the polling implementation + - f2fs: set zstd compress level correctly + - f2fs: fix to enable compress for newly created file if extension matches + - crypto: qat - fix error return code in adf_probe + - RDMA: Disable IB HW for UML + - PCI: vmd: Fix secondary bus reset for Intel bridges + - RDMA/hns: Fix the gid problem caused by free mr + - RDMA/hns: Fix XRC caps on HIP08 + - RISC-V: Fix unannoted hardirqs-on in return to userspace slow-path + - RISC-V: Fix MEMREMAP_WB for systems with Svpbmt + - riscv: Fix crash during early errata patching + - f2fs: fix iostat parameter for discard + - riscv: Fix P4D_SHIFT definition for 3-level page table mode + - interconnect: qcom: sc7180: fix dropped const of qcom_icc_bcm + - usb: typec: tipd: Fix typec_unregister_port error paths + - usb: musb: omap2430: Fix probe regression for missing resources + - USB: gadget: Fix use-after-free during usb config switch + - tracing/user_events: Fix call print_fmt leak + - usb: typec: wusb3801: fix fwnode refcount leak in wusb3801_probe() + - thermal/drivers/k3_j72xx_bandgap: Fix the debug print message + - led: qcom-lpg: Fix sleeping in atomic + - watchdog: iTCO_wdt: Set NO_REBOOT if the watchdog is not already running + - power: supply: cw2015: Fix potential null-ptr-deref in cw_bat_probe() + - perf off_cpu: Fix a typo in BTF tracepoint name, it should be + 'btf_trace_sched_switch' + - ftrace: Allow WITH_ARGS flavour of graph tracer with shadow call stack + - phy: marvell: phy-mvebu-a3700-comphy: Reset COMPHY registers before USB 3.0 + power on + - iommu/s390: Fix duplicate domain attachments + - iommu/sun50i: Implement .iotlb_sync_map + - phy: usb: Use slow clock for wake enabled suspend + - phy: usb: Fix clock imbalance for suspend/resume + - pwm: tegra: Ensure the clock rate is not less than needed + - rtc: rzn1: Check return value in rzn1_rtc_probe + - rtc: class: Fix potential memleak in devm_rtc_allocate_device() + - iommu/mediatek: Check return value after calling platform_get_resource() + - kprobes: Fix check for probe enabled in kill_kprobe() + - iommu/mediatek: Add platform_device_put for recovering the device refcnt + - iommu/mediatek: Use component_match_add + - iommu/mediatek: Add error path for loop of mm_dts_parse + - iommu/mediatek: Validate number of phandles associated with "mediatek,larbs" + - mfd: axp20x: Do not sleep in the power off handler + - selftests/bpf: Select CONFIG_FUNCTION_ERROR_INJECTION + - mctp: serial: Fix starting value for frame check sequence + - mctp: Remove device type check at unregister + - ASoC: sof_es8336: fix possible use-after-free in sof_es8336_remove() + - ALSA: hda/hdmi: fix i915 silent stream programming flow + - ALSA: hda/hdmi: set default audio parameters for KAE silent-stream + - ALSA: hda/hdmi: fix stream-id config keep-alive for rt suspend + - lkdtm: cfi: Make PAC test work with GCC 7 and 8 + - drm/amd/pm: avoid large variable on kernel stack + - MIPS: ralink: mt7621: avoid to init common ralink reset controller + - perf test: Fix "all PMU test" to skip parametrized events + - Input: iqs7222 - avoid sending empty SYN_REPORT events + - dt-bindings: input: iqs7222: Reduce 'linux,code' to optional + - dt-bindings: input: iqs7222: Correct minimum slider size + - dt-bindings: input: iqs7222: Add support for IQS7222A v1.13+ + - Input: iqs7222 - trim force communication command + - Input: iqs7222 - add support for IQS7222A v1.13+ + - arm64: dts: qcom: sm6350: fix USB-DP PHY registers + - dt-bindings: clocks: imx8mp: Add ID for usb suspend clock + - clk: imx: imx8mp: add shared clk gate for usb suspend clk + - iio: addac: ad74413r: fix integer promotion bug in + ad74413_get_input_current_offset() + - mm/gup: disallow FOLL_FORCE|FOLL_WRITE on hugetlb mappings + + [ Ubuntu: 5.19.0-38.39 ] + + * kinetic/linux: 5.19.0-38.39 -proposed tracker (LP: #2012088) + * NFS deathlock with last Kernel 5.4.0-144.161 and 5.15.0-67.74 (LP: #2009325) + - NFS: Correct timing for assigning access cache timestamp + + -- Khalid Elmously Tue, 04 Apr 2023 01:14:45 -0400 + +linux-gcp (5.19.0-1019.21) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1019.21 -proposed tracker (LP: #2008293) + + [ Ubuntu: 5.19.0-37.38 ] + + * kinetic/linux: 5.19.0-37.38 -proposed tracker (LP: #2008305) + * XPS 9320 screen flicker on UHD panel 3840x2400 (LP: #2007516) + - SAUCE: drm/i915/display/psr: Disable PSR2 sel fetch on panel SHP 5457 + * Fix speaker mute hotkey doesn't work on Dell G16 series (LP: #2003161) + - platform/x86: dell-wmi: Add a keymap for KEY_MUTE in type 0x0010 table + * net:cmsg_ipv6.sh from ubuntu_kernel_selftests failed with K-5.19 + (LP: #2000709) + - selftest: net: Improve IPV6_TCLASS/IPV6_HOPLIMIT tests apparmor + compatibility + * rtcpie in timers from ubuntu_kernel_selftests randomly failing + (LP: #1814234) + - SAUCE: selftest: rtcpie: Force passing unreliable subtest + * CVE-2023-0469 + - io_uring/filetable: fix file reference underflow + * Improve arp_ndisc_evict_nocarrier.sh test result processing (LP: #2006546) + - selftests: net: return non-zero for failures reported in + arp_ndisc_evict_nocarrier + * Make cm32181 sensor work after system suspend (LP: #1981773) + - iio: light: cm32181: Add PM support + * Fix Thunderbolt device hotplug fail when connect via thunderbolt dock + (LP: #1991366) + - PCI: Fix used_buses calculation in pci_scan_child_bus_extend() + - PCI: Pass available buses even if the bridge is already configured + - PCI: Move pci_assign_unassigned_root_bus_resources() + - PCI: Fix whitespace and indentation + - PCI: Fix typo in pci_scan_child_bus_extend() + * arp_ndisc_evict_nocarrier.sh in net from ubuntu_kernel_selftests failed on + J-oem-5.17 / K (LP: #1968310) + - selftests: net: fix cleanup_v6() for arp_ndisc_evict_nocarrier + * Screen freeze after resuming from suspend (nvme0: I/O timeout) + (LP: #1996048) + - PCI: vmd: Disable MSI remapping after suspend + * RaptorLake: Fix the Screen is shaking by onboard HDMI port in mirror mode + (LP: #1993561) + - drm/i915/display: Drop check for doublescan mode in modevalid + - drm/i915/display: Prune Interlace modes for Display >=12 + * udpgro_frglist.sh in net from ubuntu_kernel_selftests failed with K-5.19 + (Missing nat6to4 helper) (LP: #2000708) + - selftests/net: mv bpf/nat6to4.c to net folder + * selftests/.../nat6to4 breaks the selftests build (LP: #1996536) + - selftests: net: Add cross-compilation support for BPF programs + - selftests: net: Fix O=dir builds + * CVE-2023-0266 // CVE-2023-0266 was assigned for this issue. + - ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF + * CVE-2022-4382 + - USB: gadgetfs: Fix race between mounting and unmounting + * CVE-2022-2196 + - KVM: VMX: Execute IBPB on emulated VM-exit when guest has IBRS + * ubuntu_kernel_selftests: net:udpgso_bench.sh failed (LP: #1951447) + - selftests: net: udpgso_bench: Fix racing bug between the rx/tx programs + * Kinetic update: upstream stable patchset 2023-02-02 (LP: #2004602) + - clk: generalize devm_clk_get() a bit + - clk: Provide new devm_clk helpers for prepared and enabled clocks + - mmc: mtk-sd: Fix missing clk_disable_unprepare in msdc_of_clock_parse() + - arm64: dts: rockchip: keep I2S1 disabled for GPIO function on ROCK Pi 4 + series + - arm: dts: rockchip: fix node name for hym8563 rtc + - arm: dts: rockchip: remove clock-frequency from rtc + - ARM: dts: rockchip: fix ir-receiver node names + - arm64: dts: rockchip: fix ir-receiver node names + - ARM: dts: rockchip: rk3188: fix lcdc1-rgb24 node name + - fs: use acquire ordering in __fget_light() + - ARM: 9251/1: perf: Fix stacktraces for tracepoint events in THUMB2 kernels + - ARM: 9266/1: mm: fix no-MMU ZERO_PAGE() implementation + - ASoC: wm8962: Wait for updated value of WM8962_CLOCKING1 register + - spi: mediatek: Fix DEVAPC Violation at KO Remove + - ARM: dts: rockchip: disable arm_global_timer on rk3066 and rk3188 + - ASoC: rt711-sdca: fix the latency time of clock stop prepare state machine + transitions + - 9p/fd: Use P9_HDRSZ for header size + - regulator: slg51000: Wait after asserting CS pin + - ALSA: seq: Fix function prototype mismatch in snd_seq_expand_var_event + - btrfs: send: avoid unaligned encoded writes when attempting to clone range + - ASoC: soc-pcm: Add NULL check in BE reparenting + - regulator: twl6030: fix get status of twl6032 regulators + - fbcon: Use kzalloc() in fbcon_prepare_logo() + - usb: dwc3: gadget: Disable GUSB2PHYCFG.SUSPHY for End Transfer + - 9p/xen: check logical size for buffer size + - net: usb: qmi_wwan: add u-blox 0x1342 composition + - mm/khugepaged: take the right locks for page table retraction + - mm/khugepaged: fix GUP-fast interaction by sending IPI + - mm/khugepaged: invoke MMU notifiers in shmem/file collapse paths + - cifs: fix use-after-free caused by invalid pointer `hostname` + - xen/netback: do some code cleanup + - xen/netback: don't call kfree_skb() with interrupts disabled + - media: videobuf2-core: take mmap_lock in vb2_get_unmapped_area() + - soundwire: intel: Initialize clock stop timeout + - media: v4l2-dv-timings.c: fix too strict blanking sanity checks + - memcg: fix possible use-after-free in memcg_write_event_control() + - mm/gup: fix gup_pud_range() for dax + - Bluetooth: btusb: Add debug message for CSR controllers + - Bluetooth: Fix crash when replugging CSR fake controllers + - net: mana: Fix race on per-CQ variable napi work_done + - KVM: s390: vsie: Fix the initialization of the epoch extension (epdx) field + - drm/vmwgfx: Don't use screen objects when SEV is active + - drm/amdgpu/sdma_v4_0: turn off SDMA ring buffer in the s2idle suspend + - drm/shmem-helper: Remove errant put in error path + - drm/shmem-helper: Avoid vm_open error paths + - net: dsa: sja1105: avoid out of bounds access in sja1105_init_l2_policing() + - HID: usbhid: Add ALWAYS_POLL quirk for some mice + - HID: hid-lg4ff: Add check for empty lbuf + - HID: core: fix shift-out-of-bounds in hid_report_raw_event + - HID: ite: Enable QUIRK_TOUCHPAD_ON_OFF_REPORT on Acer Aspire Switch V 10 + - can: af_can: fix NULL pointer dereference in can_rcv_filter + - clk: Fix pointer casting to prevent oops in devm_clk_release() + - gpiolib: fix memory leak in gpiochip_setup_dev() + - netfilter: nft_set_pipapo: Actually validate intervals in fields after the + first one + - drm/vmwgfx: Fix race issue calling pin_user_pages + - ieee802154: cc2520: Fix error return code in cc2520_hw_init() + - ca8210: Fix crash by zero initializing data + - netfilter: ctnetlink: fix compilation warning after data race fixes in ct + mark + - drm/bridge: ti-sn65dsi86: Fix output polarity setting bug + - gpio: amd8111: Fix PCI device reference count leak + - e1000e: Fix TX dispatch condition + - igb: Allocate MSI-X vector when testing + - net: broadcom: Add PTP_1588_CLOCK_OPTIONAL dependency for BCMGENET under + ARCH_BCM2835 + - drm: bridge: dw_hdmi: fix preference of RGB modes over YUV420 + - af_unix: Get user_ns from in_skb in unix_diag_get_exact(). + - vmxnet3: correctly report encapsulated LRO packet + - vmxnet3: use correct intrConf reference when using extended queues + - Bluetooth: 6LoWPAN: add missing hci_dev_put() in get_l2cap_conn() + - Bluetooth: Fix not cleanup led when bt_init fails + - net: dsa: ksz: Check return value + - net: dsa: hellcreek: Check return value + - net: dsa: sja1105: Check return value + - selftests: rtnetlink: correct xfrm policy rule in kci_test_ipsec_offload + - mac802154: fix missing INIT_LIST_HEAD in ieee802154_if_add() + - net: encx24j600: Add parentheses to fix precedence + - net: encx24j600: Fix invalid logic in reading of MISTAT register + - net: mdiobus: fwnode_mdiobus_register_phy() rework error handling + - net: mdiobus: fix double put fwnode in the error path + - octeontx2-pf: Fix potential memory leak in otx2_init_tc() + - xen-netfront: Fix NULL sring after live migration + - net: mvneta: Prevent out of bounds read in mvneta_config_rss() + - i40e: Fix not setting default xps_cpus after reset + - i40e: Fix for VF MAC address 0 + - i40e: Disallow ip4 and ip6 l4_4_bytes + - NFC: nci: Bounds check struct nfc_target arrays + - nvme initialize core quirks before calling nvme_init_subsystem + - gpio/rockchip: fix refcount leak in rockchip_gpiolib_register() + - net: stmmac: fix "snps,axi-config" node property parsing + - ip_gre: do not report erspan version on GRE interface + - net: microchip: sparx5: Fix missing destroy_workqueue of mact_queue + - net: thunderx: Fix missing destroy_workqueue of nicvf_rx_mode_wq + - net: hisilicon: Fix potential use-after-free in hisi_femac_rx() + - net: mdio: fix unbalanced fwnode reference count in mdio_device_release() + - net: hisilicon: Fix potential use-after-free in hix5hd2_rx() + - tipc: Fix potential OOB in tipc_link_proto_rcv() + - ipv4: Fix incorrect route flushing when source address is deleted + - ipv4: Fix incorrect route flushing when table ID 0 is used + - net: dsa: sja1105: fix memory leak in sja1105_setup_devlink_regions() + - tipc: call tipc_lxc_xmit without holding node_read_lock + - ethernet: aeroflex: fix potential skb leak in greth_init_rings() + - dpaa2-switch: Fix memory leak in dpaa2_switch_acl_entry_add() and + dpaa2_switch_acl_entry_remove() + - net: phy: mxl-gpy: fix version reporting + - net: plip: don't call kfree_skb/dev_kfree_skb() under spin_lock_irq() + - ipv6: avoid use-after-free in ip6_fragment() + - net: thunderbolt: fix memory leak in tbnet_open() + - net: mvneta: Fix an out of bounds check + - macsec: add missing attribute validation for offload + - s390/qeth: fix use-after-free in hsci + - can: esd_usb: Allow REC and TEC to return to zero + - io_uring: Fix a null-ptr-deref in io_tctx_exit_cb() + - madvise: use zap_page_range_single for madvise dontneed + - drm/i915: Remove non-existent pipes from bigjoiner pipe mask + - arm64: dts: rockchip: Fix gmac failure of rgmii-id from rk3566-roc-pc + - arm64: dts: rockchip: Fix i2c3 pinctrl on rk3566-roc-pc + - arm64: dts: rockchip: remove i2c5 from rk3566-roc-pc + - arm64: dts: rockchip: fix node name for hym8563 rtc + - ARM: dts: rockchip: fix adc-keys sub node names + - arm64: dts: rockchip: fix adc-keys sub node names + - LoongArch: Makefile: Use "grep -E" instead of "egrep" + - LoongArch: Combine acpi_boot_table_init() and acpi_boot_init() + - LoongArch: Set _PAGE_DIRTY only if _PAGE_MODIFIED is set in + {pmd,pte}_mkwrite() + - net/mlx5: Lag, avoid lockdep warnings + - hugetlb: don't delete vma_lock in hugetlb MADV_DONTNEED processing + - crypto: ccp - Add a quirk to firmware update + - soundwire: dmi-quirks: add remapping for HP Omen 16-k0005TX + - platform/x86: asus-wmi: Adjust tablet/lidflip handling to use enum + - platform/x86: asus-wmi: Add support for ROG X13 tablet mode + - fscache: Fix oops due to race with cookie_lru and use_cookie + - tmpfs: fix data loss from failed fallocate + - selftests/tls: Fix tls selftests dependency to correct algorithm + - drm/amd/display: fix array index out of bound error in DCN32 DML + - HID: uclogic: Add HID_QUIRK_HIDINPUT_FORCE quirk + - ARM: 9278/1: kfence: only handle translation faults + - netfilter: conntrack: fix using __this_cpu_add in preemptible + - net: ethernet: ti: am65-cpsw: Fix RGMII configuration at SPEED_10 + - inet: ping: use hlist_nulls rcu iterator during lookup + - Bluetooth: Remove codec id field in vendor codec definition + - Bluetooth: Fix support for Read Local Supported Codecs V2 + - nfp: correct desc type when header dma len is 4096 + - net: microchip: sparx5: correctly free skb in xmit + - net: wwan: iosm: fix memory leak in ipc_mux_init() + - ravb: Fix potential use-after-free in ravb_rx_gbeth() + - bonding: get correct NA dest address + - net: dsa: mv88e6xxx: accept phy-mode = "internal" for internal PHY ports + - drm/amdgpu/vcn: update vcn4 fw shared data structure + - x86/vdso: Conditionally export __vdso_sgx_enter_enclave() + - ASoC: fsl_micfil: explicitly clear software reset bit + - ASoC: fsl_micfil: explicitly clear CHnF flags + - ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx() + - libbpf: Use page size as max_entries when probing ring buffer map + - pinctrl: meditatek: Startup with the IRQs disabled + - can: sja1000: fix size of OCR_MODE_MASK define + - can: mcba_usb: Fix termination command argument + - net: fec: don't reset irq coalesce settings to defaults on "ip link up" + - ASoC: cs42l51: Correct PGA Volume minimum value + - perf: Fix perf_pending_task() UaF + - nvme-pci: clear the prp2 field when not used + - ASoC: ops: Correct bounds check for second channel on SX controls + - net: fec: properly guard irq coalesce setup + - libbpf: Fix uninitialized warning in btf_dump_dump_type_data + - udf: Discard preallocation before extending file with a hole + - udf: Fix preallocation discarding at indirect extent boundary + - udf: Do not bother looking for prealloc extents if i_lenExtents matches + i_size + - udf: Fix extending file within last block + - usb: gadget: uvc: Prevent buffer overflow in setup handler + - USB: serial: option: add Quectel EM05-G modem + - USB: serial: cp210x: add Kamstrup RF sniffer PIDs + - USB: serial: f81232: fix division by zero on line-speed change + - USB: serial: f81534: fix division by zero on line-speed change + - xhci: Apply XHCI_RESET_TO_DEFAULT quirk to ADL-N + - igb: Initialize mailbox message for VF reset + - usb: dwc3: pci: Update PCIe device ID for USB3 controller on CPU sub-system + for Raptor Lake + - selftests: net: Use "grep -E" instead of "egrep" + - net: loopback: use NET_NAME_PREDICTABLE for name_assign_type + - PCI: mt7621: Add sentinel to quirks table + - kallsyms: Make module_kallsyms_on_each_symbol generally available + - ftrace: Add support to resolve module symbols in ftrace_lookup_symbols + - bpf: Rename __bpf_kprobe_multi_cookie_cmp to bpf_kprobe_multi_addrs_cmp + - bpf: Take module reference on kprobe_multi link + - selftests/bpf: Add load_kallsyms_refresh function + - selftests/bpf: Add bpf_testmod_fentry_* functions + - selftests/bpf: Add kprobe_multi check to module attach test + - selftests/bpf: Add kprobe_multi kmod attach api tests + - usb: typec: ucsi: Resume in separate work + - KEYS: encrypted: fix key instantiation with user-provided data + * Kinetic update: upstream stable patchset 2023-02-02 (LP: #2004602) // + net:fcnal-test.sh 'nettest' command not found on F/K (LP: #2006391) + - selftests/net: Find nettest in current directory + * CVE-2023-23559 + - wifi: rndis_wlan: Prevent buffer overflow in rndis_query_oid + * CVE-2023-0045 + - x86/bugs: Flush IBP in ib_prctl_set() + + -- Khalid Elmously Wed, 08 Mar 2023 03:09:27 -0500 + +linux-gcp (5.19.0-1018.20) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1018.20 -proposed tracker (LP: #2004287) + + * Kinetic update: upstream stable patchset 2023-01-27 (LP: #2004051) + - [Config] Update configs after rebase + + [ Ubuntu: 5.19.0-35.36 ] + + * kinetic/linux: 5.19.0-35.36 -proposed tracker (LP: #2004652) + * CVE-2023-0461 + - SAUCE: Fix inet_csk_listen_start after CVE-2023-0461 + + [ Ubuntu: 5.19.0-34.35 ] + + * kinetic/linux: 5.19.0-34.35 -proposed tracker (LP: #2004299) + * LXD containers using shiftfs on ZFS or TMPFS broken on 5.15.0-48.54 + (LP: #1990849) + - [SAUCE] shiftfs: fix -EOVERFLOW inside the container + * Kinetic update: upstream stable patchset 2023-01-27 (LP: #2004051) + - ASoC: fsl_sai: use local device pointer + - serial: Add rs485_supported to uart_port + - serial: fsl_lpuart: Fill in rs485_supported + - x86/sgx: Create utility to validate user provided offset and length + - x86/sgx: Add overflow check in sgx_validate_offset_length() + - binder: validate alloc->mm in ->mmap() handler + - ceph: Use kcalloc for allocating multiple elements + - ceph: fix NULL pointer dereference for req->r_session + - wifi: mac80211: fix memory free error when registering wiphy fail + - wifi: mac80211_hwsim: fix debugfs attribute ps with rc table support + - riscv: dts: sifive unleashed: Add PWM controlled LEDs + - audit: fix undefined behavior in bit shift for AUDIT_BIT + - wifi: airo: do not assign -1 to unsigned char + - wifi: mac80211: Fix ack frame idr leak when mesh has no route + - wifi: ath11k: Fix QCN9074 firmware boot on x86 + - spi: stm32: fix stm32_spi_prepare_mbr() that halves spi clk for every run + - selftests/bpf: Add verifier test for release_reference() + - Revert "net: macsec: report real_dev features when HW offloading is enabled" + - platform/x86: ideapad-laptop: Disable touchpad_switch + - platform/x86: touchscreen_dmi: Add info for the RCA Cambio W101 v2 2-in-1 + - platform/x86/intel/pmt: Sapphire Rapids PMT errata fix + - scsi: ibmvfc: Avoid path failures during live migration + - scsi: scsi_debug: Make the READ CAPACITY response compliant with ZBC + - drm: panel-orientation-quirks: Add quirk for Acer Switch V 10 (SW5-017) + - block, bfq: fix null pointer dereference in bfq_bio_bfqg() + - arm64/syscall: Include asm/ptrace.h in syscall_wrapper header. + - nvmet: fix memory leak in nvmet_subsys_attr_model_store_locked + - Revert "drm/amdgpu: Revert "drm/amdgpu: getting fan speed pwm for vega10 + properly"" + - ALSA: usb-audio: add quirk to fix Hamedal C20 disconnect issue + - RISC-V: vdso: Do not add missing symbols to version section in linker script + - MIPS: pic32: treat port as signed integer + - xfrm: fix "disable_policy" on ipv4 early demux + - xfrm: replay: Fix ESN wrap around for GSO + - af_key: Fix send_acquire race with pfkey_register + - ARM: dts: am335x-pcm-953: Define fixed regulators in root node + - ASoC: hdac_hda: fix hda pcm buffer overflow issue + - ASoC: sgtl5000: Reset the CHIP_CLK_CTRL reg on remove + - ASoC: soc-pcm: Don't zero TDM masks in __soc_pcm_open() + - x86/hyperv: Restore VP assist page after cpu offlining/onlining + - scsi: storvsc: Fix handling of srb_status and capacity change events + - ASoC: max98373: Add checks for devm_kcalloc + - regulator: core: fix kobject release warning and memory leak in + regulator_register() + - spi: dw-dma: decrease reference count in dw_spi_dma_init_mfld() + - regulator: core: fix UAF in destroy_regulator() + - bus: sunxi-rsb: Remove the shutdown callback + - bus: sunxi-rsb: Support atomic transfers + - tee: optee: fix possible memory leak in optee_register_device() + - ARM: dts: at91: sam9g20ek: enable udc vbus gpio pinctrl + - selftests: mptcp: fix mibit vs mbit mix up + - net: liquidio: simplify if expression + - rxrpc: Fix race between conn bundle lookup and bundle removal [ZDI- + CAN-15975] + - net: dsa: sja1105: disallow C45 transactions on the BASE-TX MDIO bus + - nfc/nci: fix race with opening and closing + - net: pch_gbe: fix potential memleak in pch_gbe_tx_queue() + - 9p/fd: fix issue of list_del corruption in p9_fd_cancel() + - netfilter: conntrack: Fix data-races around ct mark + - netfilter: nf_tables: do not set up extensions for end interval + - iavf: Fix a crash during reset task + - iavf: Do not restart Tx queues after reset task failure + - iavf: Fix race condition between iavf_shutdown and iavf_remove + - ARM: mxs: fix memory leak in mxs_machine_init() + - ARM: dts: imx6q-prti6q: Fix ref/tcxo-clock-frequency properties + - net: ethernet: mtk_eth_soc: fix error handling in mtk_open() + - net/mlx4: Check retval of mlx4_bitmap_init + - net: mvpp2: fix possible invalid pointer dereference + - net/qla3xxx: fix potential memleak in ql3xxx_send() + - octeontx2-af: debugsfs: fix pci device refcount leak + - net: pch_gbe: fix pci device refcount leak while module exiting + - nfp: fill splittable of devlink_port_attrs correctly + - nfp: add port from netdev validation for EEPROM access + - macsec: Fix invalid error code set + - Drivers: hv: vmbus: fix double free in the error path of + vmbus_add_channel_work() + - Drivers: hv: vmbus: fix possible memory leak in vmbus_device_register() + - netfilter: ipset: regression in ip_set_hash_ip.c + - net/mlx5: Do not query pci info while pci disabled + - net/mlx5: Fix FW tracer timestamp calculation + - net/mlx5: Fix handling of entry refcount when command is not issued to FW + - tipc: set con sock in tipc_conn_alloc + - tipc: add an extra conn_get in tipc_conn_alloc + - tipc: check skb_linearize() return value in tipc_disc_rcv() + - xfrm: Fix oops in __xfrm_state_delete() + - xfrm: Fix ignored return value in xfrm6_init() + - net: wwan: iosm: use ACPI_FREE() but not kfree() in ipc_pcie_read_bios_cfg() + - sfc: fix potential memleak in __ef100_hard_start_xmit() + - net: sparx5: fix error handling in sparx5_port_open() + - net: sched: allow act_ct to be built without NF_NAT + - NFC: nci: fix memory leak in nci_rx_data_packet() + - regulator: twl6030: re-add TWL6032_SUBCLASS + - bnx2x: fix pci device refcount leak in bnx2x_vf_is_pcie_pending() + - dma-buf: fix racing conflict of dma_heap_add() + - netfilter: ipset: restore allowing 64 clashing elements in hash:net,iface + - netfilter: flowtable_offload: add missing locking + - fs: do not update freeing inode i_io_list + - dccp/tcp: Reset saddr on failure after inet6?_hash_connect(). + - ipv4: Fix error return code in fib_table_insert() + - arcnet: fix potential memory leak in com20020_probe() + - s390/dasd: fix no record found for raw_track_access + - nfc: st-nci: fix incorrect validating logic in EVT_TRANSACTION + - nfc: st-nci: fix memory leaks in EVT_TRANSACTION + - nfc: st-nci: fix incorrect sizing calculations in EVT_TRANSACTION + - net: enetc: cache accesses to &priv->si->hw + - net: enetc: preserve TX ring priority across reconfiguration + - octeontx2-pf: Add check for devm_kcalloc + - octeontx2-af: Fix reference count issue in rvu_sdp_init() + - net: thunderx: Fix the ACPI memory leak + - s390/crashdump: fix TOD programmable field size + - lib/vdso: use "grep -E" instead of "egrep" + - [Config] updateconfigs for CC_HAS_ASM_GOTO_TIED_OUTPUT + - init/Kconfig: fix CC_HAS_ASM_GOTO_TIED_OUTPUT test with dash + - nios2: add FORCE for vmlinuz.gz + - KVM: arm64: pkvm: Fixup boot mode to reflect that the kernel resumes from + EL1 + - usb: dwc3: exynos: Fix remove() function + - usb: cdnsp: Fix issue with Clear Feature Halt Endpoint + - usb: cdnsp: fix issue with ZLP - added TD_SIZE = 1 + - ext4: fix use-after-free in ext4_ext_shift_extents + - arm64: dts: rockchip: lower rk3399-puma-haikou SD controller clock frequency + - iio: light: apds9960: fix wrong register for gesture gain + - iio: core: Fix entry not deleted when iio_register_sw_trigger_type() fails + - bus: ixp4xx: Don't touch bit 7 on IXP42x + - usb: dwc3: gadget: conditionally remove requests + - usb: dwc3: gadget: Return -ESHUTDOWN on ep disable + - usb: dwc3: gadget: Clear ep descriptor last + - nilfs2: fix nilfs_sufile_mark_dirty() not set segment usage as dirty + - gcov: clang: fix the buffer overflow issue + - mm: vmscan: fix extreme overreclaim and swap floods + - KVM: x86: nSVM: leave nested mode on vCPU free + - KVM: x86: forcibly leave nested mode on vCPU reset + - KVM: x86: nSVM: harden svm_free_nested against freeing vmcb02 while still in + use + - KVM: x86: add kvm_leave_nested + - KVM: x86: remove exit_int_info warning in svm_handle_exit + - x86/tsx: Add a feature bit for TSX control MSR support + - x86/pm: Add enumeration check before spec MSRs save/restore setup + - x86/ioremap: Fix page aligned size calculation in __ioremap_caller() + - Input: synaptics - switch touchpad on HP Laptop 15-da3001TU to RMI mode + - ASoC: Intel: bytcht_es8316: Add quirk for the Nanote UMPC-01 + - tools: iio: iio_generic_buffer: Fix read size + - serial: 8250: 8250_omap: Avoid RS485 RTS glitch on ->set_termios() + - Input: goodix - try resetting the controller when no config is set + - Input: soc_button_array - add use_low_level_irq module parameter + - Input: soc_button_array - add Acer Switch V 10 to dmi_use_low_level_irq[] + - Input: i8042 - apply probe defer to more ASUS ZenBook models + - ASoC: stm32: dfsdm: manage cb buffers cleanup + - xen-pciback: Allow setting PCI_MSIX_FLAGS_MASKALL too + - xen/platform-pci: add missing free_irq() in error path + - platform/x86: asus-wmi: add missing pci_dev_put() in asus_wmi_set_xusb2pr() + - platform/x86: acer-wmi: Enable SW_TABLET_MODE on Switch V 10 (SW5-017) + - drm/amdgpu: disable BACO support on more cards + - zonefs: fix zone report size in __zonefs_io_error() + - platform/x86: hp-wmi: Ignore Smart Experience App event + - platform/x86: ideapad-laptop: Fix interrupt storm on fn-lock toggle on some + Yoga laptops + - [Config] updateconfigs for INET_TABLE_PERTURB_ORDER + - tcp: configurable source port perturb table size + - net: usb: qmi_wwan: add Telit 0x103a composition + - scsi: iscsi: Fix possible memory leak when device_register() failed + - gpu: host1x: Avoid trying to use GART on Tegra20 + - dm integrity: flush the journal on suspend + - dm integrity: clear the journal on suspend + - fuse: lock inode unconditionally in fuse_fallocate() + - wifi: wilc1000: validate length of IEEE80211_P2P_ATTR_OPER_CHANNEL attribute + - wifi: wilc1000: validate length of IEEE80211_P2P_ATTR_CHANNEL_LIST attribute + - wifi: wilc1000: validate number of channels + - btrfs: free btrfs_path before copying root refs to userspace + - btrfs: free btrfs_path before copying fspath to userspace + - btrfs: free btrfs_path before copying subvol info to userspace + - btrfs: zoned: fix missing endianness conversion in sb_write_pointer + - btrfs: use kvcalloc in btrfs_get_dev_zone_info + - btrfs: sysfs: normalize the error handling branch in btrfs_init_sysfs() + - drm/amd/dc/dce120: Fix audio register mapping, stop triggering KASAN + - drm/amdgpu: Enable Aldebaran devices to report CU Occupancy + - drm/amdgpu: always register an MMU notifier for userptr + - drm/i915: fix TLB invalidation for Gen12 video and compute engines + - wifi: cfg80211: Fix bitrates overflow issue + - spi: tegra210-quad: Don't initialise DMA if not supported + - s390/zcrypt: fix warning about field-spanning write + - selftests/net: give more time to udpgro bg processes to complete startup + - ACPI: video: Add backlight=native DMI quirk for Dell G15 5515 + - drm: panel-orientation-quirks: Add quirk for Nanote UMPC-01 + - s390: always build relocatable kernel + - nvme: quiet user passthrough command errors + - net: wwan: iosm: fix kernel test robot reported errors + - drm/amdgpu: Drop eviction lock when allocating PT BO + - arm64: dts: rockchip: fix quartz64-a bluetooth configuration + - power: supply: ip5xxx: Fix integer overflow in current_now calculation + - power: supply: ab8500: Defer thermal zone probe + - arm64: dts: rockchip: Fix Pine64 Quartz4-B PMIC interrupt + - regulator: rt5759: fix OOB in validate_desc() + - spi: tegra210-quad: Fix duplicate resource error + - selftests: mptcp: gives slow test-case more time + - selftests: mptcp: run mptcp_sockopt from a new netns + - bonding: fix ICMPv6 header handling when receiving IPv6 messages + - drm/i915: Fix warn in intel_display_power_*_domain() functions + - net/mlx5: SF: Fix probing active SFs during driver probe phase + - net/mlx5: cmdif, Print info on any firmware cmd failure to tracepoint + - net/mlx5: E-Switch, Set correctly vport destination + - net/mlx5e: Offload rule only when all encaps are valid + - net: phy: at803x: fix error return code in at803x_probe() + - zonefs: Fix race between modprobe and mount + - tsnep: Fix rotten packets + - blk-mq: fix queue reference leak on blk_mq_alloc_disk_for_queue failure + - test_kprobes: fix implicit declaration error of test_kprobes + - net: ethernet: mtk_eth_soc: fix resource leak in error path + - net: dm9051: Fix missing dev_kfree_skb() in dm9051_loop_rx() + - s390/ap: fix memory leak in ap_init_qci_info() + - fscache: fix OOB Read in __fscache_acquire_volume + - net: wwan: t7xx: Fix the ACPI memory leak + - virtio_net: Fix probe failed when modprobe virtio_net + - can: gs_usb: remove dma allocations + - cifs: fix missing unlock in cifs_file_copychunk_range() + - cifs: Use after free in debug code + - iio: adc: aspeed: Remove the trim valid dts property. + - dt-bindings: iio: adc: Remove the property "aspeed,trim-data-valid" + - mm/damon/sysfs-schemes: skip stats update if the scheme directory is removed + - virt/sev-guest: Prevent IV reuse in the SNP guest driver + - zonefs: Fix active zone accounting + - spi: spi-imx: Fix spi_bus_clk if requested clock is higher than input clock + - spi: spi-imx: spi_imx_transfer_one(): check for DMA transfer first + - mm/cgroup/reclaim: fix dirty pages throttling on cgroup v1 + - KVM: x86/mmu: Fix race condition in direct_page_fault + - KVM: x86/xen: Only do in-kernel acceleration of hypercalls for guest CPL0 + - KVM: x86/xen: Validate port number in SCHEDOP_poll + - drm/i915/gvt: Get reference to KVM iff attachment to VM is successful + - KVM: Update gfn_to_pfn_cache khva when it moves within the same page + - mm: fix unexpected changes to {failslab|fail_page_alloc}.attr + - mm: correctly charge compressed memory to its memcg + - LoongArch: Clear FPU/SIMD thread info flags for kernel thread + - LoongArch: Set _PAGE_DIRTY only if _PAGE_WRITE is set in {pmd,pte}_mkdirty() + - ASoC: amd: yc: Add Alienware m17 R5 AMD into DMI table + - ASoC: Intel: soc-acpi: add ES83x6 support to IceLake + - ASoC: hda: intel-dsp-config: add ES83x6 quirk for IceLake + - ASoC: SOF: ipc3-topology: use old pipeline teardown flow with SOF2.1 and + older + - Revert "tty: n_gsm: avoid call of sleeping functions from atomic context" + - Revert "tty: n_gsm: replace kicktimer with delayed_work" + - ASoC: sof_es8336: reduce pop noise on speaker + - pinctrl: qcom: sc8280xp: Rectify UFS reset pins + - platform/x86: thinkpad_acpi: Enable s2idle quirk for 21A1 machine type + - platform/x86: ideapad-laptop: Add module parameters to match DMI quirk + tables + - block: make blk_set_default_limits() private + - scsi: mpi3mr: Suppress command reply debug prints + - btrfs: free btrfs_path before copying inodes to userspace + - btrfs: do not modify log tree while holding a leaf from fs tree locked + - drm/i915/ttm: never purge busy objects + - drm/display/dp_mst: Fix drm_dp_mst_add_affected_dsc_crtcs() return code + - drm/amdgpu/psp: don't free PSP buffers on suspend + - drm/amd/amdgpu: reserve vm invalidation engine for firmware + - drm/amdgpu: Partially revert "drm/amdgpu: update drm_display_info correctly + when the edid is read" + - btrfs: sink iterator parameter to btrfs_ioctl_logical_to_ino + - btrfs: qgroup: fix sleep from invalid context bug in btrfs_qgroup_inherit() + - iio: health: afe4403: Fix oob read in afe4403_read_raw + - iio: health: afe4404: Fix oob read in afe4404_[read|write]_raw + - iio: light: rpr0521: add missing Kconfig dependencies + - bpf, perf: Use subprog name when reporting subprog ksymbol + - scripts/faddr2line: Fix regression in name resolution on ppc64le + - ARM: at91: rm9200: fix usb device clock id + - libbpf: Handle size overflow for ringbuf mmap + - hwmon: (ltc2947) fix temperature scaling + - hwmon: (ina3221) Fix shunt sum critical calculation + - hwmon: (i5500_temp) fix missing pci_disable_device() + - hwmon: (ibmpex) Fix possible UAF when ibmpex_register_bmc() fails + - bpf: Do not copy spin lock field from user in bpf_selem_alloc + - nvmem: rmem: Fix return value check in rmem_read() + - of: property: decrement node refcount in of_fwnode_get_reference_args() + - ixgbevf: Fix resource leak in ixgbevf_init_module() + - i40e: Fix error handling in i40e_init_module() + - fm10k: Fix error handling in fm10k_init_module() + - iavf: Fix error handling in iavf_init_module() + - e100: Fix possible use after free in e100_xmit_prepare + - net/mlx5: DR, Fix uninitialized var warning + - net/mlx5: Fix uninitialized variable bug in outlen_write() + - net/mlx5e: Fix use-after-free when reverting termination table + - can: sja1000_isa: sja1000_isa_probe(): add missing free_sja1000dev() + - can: cc770: cc770_isa_probe(): add missing free_cc770dev() + - can: etas_es58x: es58x_init_netdev(): free netdev when register_candev() + - can: m_can: pci: add missing m_can_class_free_dev() in probe/remove methods + - can: m_can: Add check for devm_clk_get + - qlcnic: fix sleep-in-atomic-context bugs caused by msleep + - aquantia: Do not purge addresses when setting the number of rings + - wifi: cfg80211: fix buffer overflow in elem comparison + - wifi: cfg80211: don't allow multi-BSSID in S1G + - wifi: mac8021: fix possible oob access in ieee80211_get_rate_duration + - net: phy: fix null-ptr-deref while probe() failed + - net: ethernet: ti: am65-cpsw: fix error handling in am65_cpsw_nuss_probe() + - net: net_netdev: Fix error handling in ntb_netdev_init_module() + - net/9p: Fix a potential socket leak in p9_socket_open + - net: ethernet: nixge: fix NULL dereference + - net: wwan: iosm: fix kernel test robot reported error + - net: wwan: iosm: fix dma_alloc_coherent incompatible pointer type + - dsa: lan9303: Correct stat name + - tipc: re-fetch skb cb after tipc_msg_validate + - net: hsr: Fix potential use-after-free + - net: mdiobus: fix unbalanced node reference count + - afs: Fix fileserver probe RTT handling + - net: tun: Fix use-after-free in tun_detach() + - packet: do not set TP_STATUS_CSUM_VALID on CHECKSUM_COMPLETE + - sctp: fix memory leak in sctp_stream_outq_migrate() + - net: ethernet: renesas: ravb: Fix promiscuous mode after system resumed + - hwmon: (coretemp) Check for null before removing sysfs attrs + - hwmon: (coretemp) fix pci device refcount leak in nv1a_ram_new() + - riscv: vdso: fix section overlapping under some conditions + - riscv: mm: Proper page permissions after initmem free + - ALSA: dice: fix regression for Lexicon I-ONIX FW810S + - error-injection: Add prompt for function error injection + - tools/vm/slabinfo-gnuplot: use "grep -E" instead of "egrep" + - nilfs2: fix NULL pointer dereference in nilfs_palloc_commit_free_entry() + - x86/bugs: Make sure MSR_SPEC_CTRL is updated properly upon resume from S3 + - pinctrl: intel: Save and restore pins in "direct IRQ" mode + - v4l2: don't fall back to follow_pfn() if pin_user_pages_fast() fails + - net: stmmac: Set MAC's flow control register to reflect current settings + - mmc: mmc_test: Fix removal of debugfs file + - mmc: core: Fix ambiguous TRIM and DISCARD arg + - mmc: sdhci-esdhc-imx: correct CQHCI exit halt state check + - mmc: sdhci-sprd: Fix no reset data and command after voltage switch + - mmc: sdhci: Fix voltage switch delay + - drm/amdgpu: temporarily disable broken Clang builds due to blown stack-frame + - drm/amdgpu: enable Vangogh VCN indirect sram mode + - drm/i915: Fix negative value passed as remaining time + - drm/i915: Never return 0 if not all requests retired + - tracing/osnoise: Fix duration type + - tracing: Fix race where histograms can be called before the event + - tracing: Free buffers when a used dynamic event is removed + - io_uring: cmpxchg for poll arm refs release + - io_uring/poll: fix poll_refs race with cancelation + - ASoC: ops: Fix bounds check for _sx controls + - pinctrl: single: Fix potential division by zero + - riscv: Sync efi page table's kernel mappings before switching + - riscv: fix race when vmap stack overflow + - riscv: kexec: Fixup irq controller broken in kexec crash path + - nvme: fix SRCU protection of nvme_ns_head list + - iommu/vt-d: Fix PCI device refcount leak in has_external_pci() + - iommu/vt-d: Fix PCI device refcount leak in dmar_dev_scope_init() + - mm: migrate: fix THP's mapcount on isolation + - Kconfig.debug: provide a little extra FRAME_WARN leeway when KASAN is + enabled + - ipv4: Handle attempt to delete multipath route when fib_info contains an nh + reference + - ipv4: Fix route deletion when nexthop info is not specified + - i2c: npcm7xx: Fix error handling in npcm_i2c_init() + - i2c: imx: Only DMA messages with I2C_M_DMA_SAFE flag set + - ACPI: HMAT: remove unnecessary variable initialization + - ACPI: HMAT: Fix initiator registration for single-initiator systems + - Revert "clocksource/drivers/riscv: Events are stopped during CPU suspend" + - char: tpm: Protect tpm_pm_suspend with locks + - Input: raydium_ts_i2c - fix memory leak in raydium_i2c_send() + - ipc/sem: Fix dangling sem_array access in semtimedop race + - clk: samsung: exynos7885: Correct "div4" clock parents + - libbpf: Use correct return pointer in attach_raw_tp + - clocksource/drivers/arm_arch_timer: Fix XGene-1 TVAL register math error + - clk: qcom: gcc-sc8280xp: add cxo as parent for three ufs ref clks + - vfs: fix copy_file_range() averts filesystem freeze protection + - net: wwan: iosm: fix crash in peek throughput test + - net: wwan: iosm: fix incorrect skb length + - mptcp: don't orphan ssk in mptcp_close() + - mptcp: fix sleep in atomic at close time + - hwmon: (asus-ec-sensors) Add checks for devm_kcalloc + - ASoC: tlv320adc3xxx: Fix build error for implicit function declaration + - mm/damon/sysfs: fix wrong empty schemes assumption under online tuning in + damon_sysfs_set_schemes() + - i2c: Restore initial power state if probe fails + - i2c: qcom-geni: fix error return code in geni_i2c_gpi_xfer + - powerpc/bpf/32: Fix Oops on tail call tests + * 5.15.0-58.64 breaks xen bridge networking (pvh domU) (LP: #2002889) + - xen/netback: fix build warning + * NFS: client permission error after adding user to permissible group + (LP: #2003053) + - NFS: Clear the file access cache upon login + - NFS: Judge the file access cache's timestamp in rcu path + - NFS: Fix up a sparse warning + * cmsg_so_mark.sh / cmsg_time.sh / cmsg_ipv6.sh in net from + ubuntu_kernel_selftests hang with non-amd64 (LP: #2000667) + - selftests: net: fix cmsg_so_mark.sh test hang + * Set explicit CC in the headers package (LP: #1999750) + - [Packaging] Set explicit CC in the headers package + * powerpc-build in ubuntu_kernel_selftests failed on P9 with K-5.19 + (LP: #2000772) + - selftests/powerpc: Avoid GCC 12 uninitialised variable warning + * [SRU] SoF for RPL platform support (LP: #1992714) + - ASoC: SOC: Intel: introduce cl_init callback + - ASoC: SOF: Intel: add MeteorLake machines + - ASoC: SOF: Intel: Add support for MeteorLake (MTL) + - ASoC: Intel: common: add ACPI matching tables for Raptor Lake + - ASoC: SOF: Intel: pci-tgl: use RPL specific firmware definitions + - [Config] Enable SND_SOC_SOF_METEORLAKE as module + * Rear Audio port sometimes has no audio output after reboot(Cirrus Logic) + (LP: #1998905) + - ALSA: hda/cirrus: Add extra 10 ms delay to allow PLL settle and lock. + * Fix SUT can't displayed after resume from WB/CB with dGFX + installed(FR:6/10)[RX6300][RX6500] (LP: #1999836) + - drm/amd/display: No display after resume from WB/CB + * commit cf58599cded35cf4affed1e659c0e2c742d3fda7 seems to be missing in + kinetic master to remove "hio" reference from Makefile (LP: #1999556) + - Ubuntu: remove leftover reference to ubuntu/hio driver + * Add additional Mediatek MT7922 BT device ID (LP: #1998885) + - Bluetooth: btusb: Add a new VID/PID 0489/e0f2 for MT7922 + * Mute/mic LEDs no function on a HP platfrom (LP: #1998882) + - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook + * CVE-2023-0461 + - net/ulp: prevent ULP without clone op from entering the LISTEN status + - net/ulp: use consistent error code when blocking ULP + * CVE-2023-0179 + - netfilter: nft_payload: incorrect arithmetics when fetching VLAN header bits + * CVE-2022-20369 + - NFSD: fix use-after-free in __nfs42_ssc_open() + * Kinetic update: upstream stable patchset 2023-01-23 (LP: #2003753) + - ASoC: wm5102: Revert "ASoC: wm5102: Fix PM disable depth imbalance in + wm5102_probe" + - ASoC: wm5110: Revert "ASoC: wm5110: Fix PM disable depth imbalance in + wm5110_probe" + - ASoC: wm8997: Revert "ASoC: wm8997: Fix PM disable depth imbalance in + wm8997_probe" + - ASoC: mt6660: Keep the pm_runtime enables before component stuff in + mt6660_i2c_probe + - ASoC: rt1019: Fix the TDM settings + - ASoC: wm8962: Add an event handler for TEMP_HP and TEMP_SPK + - spi: intel: Fix the offset to get the 64K erase opcode + - ASoC: codecs: jz4725b: add missed Line In power control bit + - ASoC: codecs: jz4725b: fix reported volume for Master ctl + - ASoC: codecs: jz4725b: use right control for Capture Volume + - ASoC: codecs: jz4725b: fix capture selector naming + - ASoC: Intel: sof_sdw: add quirk variant for LAPBC710 NUC15 + - selftests/futex: fix build for clang + - selftests/intel_pstate: fix build for ARCH=x86_64 + - ASoC: rt1308-sdw: add the default value of some registers + - drm/amd/display: Remove wrong pipe control lock + - ACPI: scan: Add LATT2021 to acpi_ignore_dep_ids[] + - RDMA/efa: Add EFA 0xefa2 PCI ID + - btrfs: raid56: properly handle the error when unable to find the missing + stripe + - NFSv4: Retry LOCK on OLD_STATEID during delegation return + - ACPI: x86: Add another system to quirk list for forcing StorageD3Enable + - firmware: arm_scmi: Cleanup the core driver removal callback + - i2c: tegra: Allocate DMA memory for DMA engine + - i2c: i801: add lis3lv02d's I2C address for Vostro 5568 + - drm/imx: imx-tve: Fix return type of imx_tve_connector_mode_valid + - btrfs: remove pointless and double ulist frees in error paths of qgroup + tests + - x86/cpu: Add several Intel server CPU model numbers + - ASoC: codecs: jz4725b: Fix spelling mistake "Sourc" -> "Source", "Routee" -> + "Route" + - KVM: x86/pmu: Do not speculatively query Intel GP PMCs that don't exist yet + - hugetlbfs: don't delete error page from pagecache + - arm64: dts: qcom: sa8155p-adp: Specify which LDO modes are allowed + - arm64: dts: qcom: sm8150-xperia-kumano: Specify which LDO modes are allowed + - arm64: dts: qcom: sm8250-xperia-edo: Specify which LDO modes are allowed + - arm64: dts: qcom: sm8350-hdk: Specify which LDO modes are allowed + - spi: stm32: Print summary 'callbacks suppressed' message + - ARM: dts: at91: sama7g5: fix signal name of pin PB2 + - ASoC: core: Fix use-after-free in snd_soc_exit() + - ASoC: tas2770: Fix set_tdm_slot in case of single slot + - ASoC: tas2764: Fix set_tdm_slot in case of single slot + - ARM: at91: pm: avoid soft resetting AC DLL + - serial: 8250: omap: Fix missing PM runtime calls for omap8250_set_mctrl() + - serial: 8250_omap: remove wait loop from Errata i202 workaround + - serial: 8250: omap: Fix unpaired pm_runtime_put_sync() in omap8250_remove() + - serial: 8250: omap: Flush PM QOS work on remove + - serial: imx: Add missing .thaw_noirq hook + - tty: n_gsm: fix sleep-in-atomic-context bug in gsm_control_send + - bpf, test_run: Fix alignment problem in bpf_prog_test_run_skb() + - ASoC: soc-utils: Remove __exit for snd_soc_util_exit() + - pinctrl: rockchip: list all pins in a possible mux route for PX30 + - scsi: scsi_transport_sas: Fix error handling in sas_phy_add() + - block: sed-opal: kmalloc the cmd/resp buffers + - bpf: Fix memory leaks in __check_func_call + - arm64: Fix bit-shifting UB in the MIDR_CPU_MODEL() macro + - siox: fix possible memory leak in siox_device_add() + - parport_pc: Avoid FIFO port location truncation + - pinctrl: devicetree: fix null pointer dereferencing in pinctrl_dt_to_map + - drm/vc4: kms: Fix IS_ERR() vs NULL check for vc4_kms + - drm/panel: simple: set bpc field for logic technologies displays + - drm/drv: Fix potential memory leak in drm_dev_init() + - drm: Fix potential null-ptr-deref in drm_vblank_destroy_worker() + - arm64: dts: imx8mm: Fix NAND controller size-cells + - arm64: dts: imx8mn: Fix NAND controller size-cells + - ata: libata-transport: fix double ata_host_put() in ata_tport_add() + - ata: libata-transport: fix error handling in ata_tport_add() + - ata: libata-transport: fix error handling in ata_tlink_add() + - ata: libata-transport: fix error handling in ata_tdev_add() + - nfp: change eeprom length to max length enumerators + - MIPS: fix duplicate definitions for exported symbols + - MIPS: Loongson64: Add WARN_ON on kexec related kmalloc failed + - bpf: Initialize same number of free nodes for each pcpu_freelist + - net: bgmac: Drop free_netdev() from bgmac_enet_remove() + - mISDN: fix possible memory leak in mISDN_dsp_element_register() + - net: hinic: Fix error handling in hinic_module_init() + - net: stmmac: ensure tx function is not running in stmmac_xdp_release() + - soc: imx8m: Enable OCOTP clock before reading the register + - net: liquidio: release resources when liquidio driver open failed + - mISDN: fix misuse of put_device() in mISDN_register_device() + - net: macvlan: Use built-in RCU list checking + - net: caif: fix double disconnect client in chnl_net_open() + - bnxt_en: Remove debugfs when pci_register_driver failed + - net: mhi: Fix memory leak in mhi_net_dellink() + - net: dsa: make dsa_master_ioctl() see through port_hwtstamp_get() shims + - xen/pcpu: fix possible memory leak in register_pcpu() + - net: ionic: Fix error handling in ionic_init_module() + - net: ena: Fix error handling in ena_init() + - net: hns3: fix setting incorrect phy link ksettings for firmware in + resetting process + - bridge: switchdev: Fix memory leaks when changing VLAN protocol + - drbd: use after free in drbd_create_device() + - platform/x86/intel: pmc: Don't unconditionally attach Intel PMC when + virtualized + - platform/surface: aggregator: Do not check for repeated unsequenced packets + - cifs: add check for returning value of SMB2_close_init + - net: ag71xx: call phylink_disconnect_phy if ag71xx_hw_enable() fail in + ag71xx_open() + - net/x25: Fix skb leak in x25_lapb_receive_frame() + - cifs: Fix wrong return value checking when GETFLAGS + - net: microchip: sparx5: Fix potential null-ptr-deref in sparx_stats_init() + and sparx5_start() + - net: thunderbolt: Fix error handling in tbnet_init() + - cifs: add check for returning value of SMB2_set_info_init + - ftrace: Fix the possible incorrect kernel message + - ftrace: Optimize the allocation for mcount entries + - ftrace: Fix null pointer dereference in ftrace_add_mod() + - ring_buffer: Do not deactivate non-existant pages + - tracing: Fix memory leak in tracing_read_pipe() + - tracing/ring-buffer: Have polling block on watermark + - tracing: Fix memory leak in test_gen_synth_cmd() and + test_empty_synth_event() + - tracing: Fix wild-memory-access in register_synth_event() + - tracing: Fix race where eprobes can be called before the event + - tracing: kprobe: Fix potential null-ptr-deref on trace_event_file in + kprobe_event_gen_test_exit() + - tracing: kprobe: Fix potential null-ptr-deref on trace_array in + kprobe_event_gen_test_exit() + - drm/amd/display: Add HUBP surface flip interrupt handler + - ALSA: usb-audio: Drop snd_BUG_ON() from snd_usbmidi_output_open() + - ALSA: hda/realtek: fix speakers for Samsung Galaxy Book Pro + - ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book Pro 360 + - Revert "usb: dwc3: disable USB core PHY management" + - slimbus: qcom-ngd: Fix build error when CONFIG_SLIM_QCOM_NGD_CTRL=y && + CONFIG_QCOM_RPROC_COMMON=m + - slimbus: stream: correct presence rate frequencies + - speakup: fix a segfault caused by switching consoles + - USB: bcma: Make GPIO explicitly optional + - USB: serial: option: add Sierra Wireless EM9191 + - USB: serial: option: remove old LARA-R6 PID + - USB: serial: option: add u-blox LARA-R6 00B modem + - USB: serial: option: add u-blox LARA-L6 modem + - USB: serial: option: add Fibocom FM160 0x0111 composition + - usb: add NO_LPM quirk for Realforce 87U Keyboard + - usb: chipidea: fix deadlock in ci_otg_del_timer + - usb: cdns3: host: fix endless superspeed hub port reset + - usb: typec: mux: Enter safe mode only when pins need to be reconfigured + - iio: adc: at91_adc: fix possible memory leak in at91_adc_allocate_trigger() + - iio: trigger: sysfs: fix possible memory leak in iio_sysfs_trig_init() + - iio: adc: mp2629: fix wrong comparison of channel + - iio: adc: mp2629: fix potential array out of bound access + - iio: pressure: ms5611: changed hardcoded SPI speed to value limited + - dm ioctl: fix misbehavior if list_versions races with module loading + - serial: 8250: Fall back to non-DMA Rx if IIR_RDI occurs + - serial: 8250: Flush DMA Rx on RLSI + - serial: 8250_lpss: Configure DMA also w/o DMA filter + - Input: iforce - invert valid length check when fetching device IDs + - maccess: Fix writing offset in case of fault in + strncpy_from_kernel_nofault() + - net: phy: marvell: add sleep time after enabling the loopback bit + - scsi: zfcp: Fix double free of FSF request when qdio send fails + - iommu/vt-d: Preset Access bit for IOVA in FL non-leaf paging entries + - iommu/vt-d: Set SRE bit only when hardware has SRS cap + - firmware: coreboot: Register bus in module init + - mmc: core: properly select voltage range without power cycle + - mmc: sdhci-pci-o2micro: fix card detect fail issue caused by CD# debounce + timeout + - mmc: sdhci-pci: Fix possible memory leak caused by missing pci_dev_put() + - docs: update mediator contact information in CoC doc + - misc/vmw_vmci: fix an infoleak in vmci_host_do_receive_datagram() + - perf/x86/intel/pt: Fix sampling using single range output + - nvme: restrict management ioctls to admin + - nvme: ensure subsystem reset is single threaded + - serial: 8250_lpss: Use 16B DMA burst with Elkhart Lake + - perf: Improve missing SIGTRAP checking + - ring-buffer: Include dropped pages in counting dirty patches + - tracing: Fix warning on variable 'struct trace_array' + - net: use struct_group to copy ip/ipv6 header addresses + - scsi: target: tcm_loop: Fix possible name leak in tcm_loop_setup_hba_bus() + - scsi: scsi_debug: Fix possible UAF in sdebug_add_host_helper() + - kprobes: Skip clearing aggrprobe's post_handler in kprobe-on-ftrace case + - Input: i8042 - fix leaking of platform device on module removal + - macvlan: enforce a consistent minimal mtu + - tcp: cdg: allow tcp_cdg_release() to be called multiple times + - kcm: avoid potential race in kcm_tx_work + - kcm: close race conditions on sk_receive_queue + - 9p: trans_fd/p9_conn_cancel: drop client lock earlier + - gfs2: Check sb_bsize_shift after reading superblock + - gfs2: Switch from strlcpy to strscpy + - 9p/trans_fd: always use O_NONBLOCK read/write + - wifi: wext: use flex array destination for memcpy() + - mm: fs: initialize fsdata passed to write_begin/write_end interface + - net/9p: use a dedicated spinlock for trans_fd + - ntfs: fix use-after-free in ntfs_attr_find() + - ntfs: fix out-of-bounds read in ntfs_attr_find() + - ntfs: check overflow when iterating ATTR_RECORDs + - drm/msm/gpu: Fix crash during system suspend after unbind + - spi: tegra210-quad: Fix combined sequence + - ASoC: rt5682s: Fix the TDM Tx settings + - selftests/kexec: fix build for ARCH=x86_64 + - ASoC: Intel: sof_rt5682: Add quirk for Rex board + - ASoC: amd: yc: Adding Lenovo ThinkBook 14 Gen 4+ ARA and Lenovo ThinkBook 16 + Gen 4+ ARA to the Quirks List + - ASoC: amd: yc: Add Lenovo Thinkbook 14+ 2022 21D0 to quirks table + - drm/amdgpu: Adjust MES polling timeout for sriov + - platform/x86: thinkpad_acpi: Fix reporting a non present second fan on some + models + - drm/scheduler: fix fence ref counting + - cxl/mbox: Add a check on input payload size + - SUNRPC: Fix crasher in gss_unwrap_resp_integ() + - drm/rockchip: vop2: fix null pointer in plane_atomic_disable + - drm/rockchip: vop2: disable planes when disabling the crtc + - ksefltests: pidfd: Fix wait_states: Test terminated by timeout + - powerpc/64e: Fix amdgpu build on Book3E w/o AltiVec + - block: blk_add_rq_to_plug(): clear stale 'last' after flush + - firmware: arm_scmi: Make tx_prepare time out eventually + - drm/amd/display: Ignore Cable ID Feature + - drm/amdgpu: set fb_modifiers_not_supported in vkms + - drm/amd: Fail the suspend if resources can't be evicted + - cxl/pmem: Use size_add() against integer overflow + - tools/testing/cxl: Fix some error exits + - arm64/mm: fold check for KFENCE into can_set_direct_map() + - arm64: fix rodata=full again + - KVM: SVM: remove dead field from struct svm_cpu_data + - KVM: SVM: do not allocate struct svm_cpu_data dynamically + - KVM: SVM: restore host save area from assembly + - KVM: SVM: move MSR_IA32_SPEC_CTRL save/restore to assembly + - arm64: dts: qcom: sc7280: Add the reset reg for lpass audiocc on SC7280 + - ASoC: fsl_asrc fsl_esai fsl_sai: allow CONFIG_PM=N + - arm64: dts: qcom: sm8250: Disable the not yet supported cluster idle state + - tty: serial: fsl_lpuart: don't break the on-going transfer when global reset + - bnxt_en: refactor bnxt_cancel_reservations() + - bnxt_en: fix the handling of PCIE-AER + - mtd: onenand: omap2: add dependency on GPMC + - sctp: remove the unnecessary sinfo_stream check in sctp_prsctp_prune_unsent + - sctp: clear out_curr if all frag chunks of current msg are pruned + - erofs: clean up .read_folio() and .readahead() in fscache mode + - io_uring: calculate CQEs from the user visible value + - pinctrl: mediatek: common-v2: Fix bias-disable for PULL_PU_PD_RSEL_TYPE + - selftests/bpf: Fix test_progs compilation failure in 32-bit arch + - arm64: dts: imx8mm-tqma8mqml-mba8mx: Fix USB DR + - cifs: Fix connections leak when tlink setup failed + - ata: libata-core: do not issue non-internal commands once EH is pending + - net: phy: dp83867: Fix SGMII FIFO depth for non OF devices + - mctp i2c: don't count unused / invalid keys for flow release + - octeon_ep: delete unnecessary napi rollback under set_queues_err in + octep_open() + - octeon_ep: ensure octep_get_link_status() successfully before + octep_link_up() + - octeon_ep: fix potential memory leak in octep_device_setup() + - octeon_ep: ensure get mac address successfully before eth_hw_addr_set() + - erofs: fix missing xas_retry() in fscache mode + - mlxsw: Avoid warnings when not offloaded FDB entry with IPv6 is removed + - net: hns3: fix incorrect hw rss hash type of rx packet + - net: hns3: fix return value check bug of rx copybreak + - netfs: Fix missing xas_retry() calls in xarray iteration + - netfs: Fix dodgy maths + - net: dsa: don't leak tagger-owned storage on switch driver unbind + - net: lan966x: Fix potential null-ptr-deref in lan966x_stats_init() + - s390: avoid using global register for current_stack_pointer + - netdevsim: Fix memory leak of nsim_dev->fa_cookie + - rethook: fix a potential memleak in rethook_alloc() + - drm/amd/pm: fix SMU13 runpm hang due to unintentional workaround + - drm/display: Don't assume dual mode adaptors support i2c sub-addressing + - drm/amd/display: Fix invalid DPIA AUX reply causing system hang + - drm/amd/display: Fix access timeout to DPIA AUX at boot time + - drm/amd/display: Support parsing VRAM info v3.0 from VBIOS + - usb: dwc3: Do not get extcon device when usb-role-switch is used + - nvme-pci: add NVME_QUIRK_BOGUS_NID for Micron Nitro + - nvme-pci: add NVME_QUIRK_BOGUS_NID for Netac NV7000 + - usb: typec: tipd: Prevent uninitialized event{1,2} in IRQ handler + - iio: accel: bma400: Ensure VDDIO is enable defore reading the chip ID. + - iio: pressure: ms5611: fixed value compensation bug + - ceph: avoid putting the realm twice when decoding snaps fails + - s390/dcssblk: fix deadlock when adding a DCSS + - blk-cgroup: properly pin the parent in blkcg_css_online + - x86/fpu: Drop fpregs lock before inheriting FPU permissions + - ASoC: SOF: topology: No need to assign core ID if token parsing failed + - perf/x86/amd: Fix crash due to race between amd_pmu_enable_all, perf NMI and + throttling + - net: usb: smsc95xx: fix external PHY reset + - tracing: Fix potential null-pointer-access of entry in list 'tr->err_log' + - arm64/mm: fix incorrect file_map_count for non-leaf pmd/pud + - KVM: x86/xen: Fix eventfd error handling in kvm_xen_eventfd_assign() + - netlink: Bounds-check struct nlmsgerr creation + - bpf: Prevent bpf program recursion for raw tracepoint probes + * Fix RPL-S support on powercap/intel_rapl (LP: #1990161) + - powercap: intel_rapl: Add support for RAPTORLAKE_P + - powercap: intel_rapl: Add support for RAPTORLAKE_S + * Kinetic update: upstream stable patchset 2023-01-04 (LP: #2001726) + - drm/amdkfd: handle CPU fault on COW mapping + - drm/amdkfd: Fix NULL pointer dereference in svm_migrate_to_ram() + - hwspinlock: qcom: correct MMIO max register for newer SoCs + - phy: stm32: fix an error code in probe + - wifi: cfg80211: silence a sparse RCU warning + - wifi: cfg80211: fix memory leak in query_regdb_file() + - soundwire: qcom: reinit broadcast completion + - soundwire: qcom: check for outanding writes before doing a read + - bpf, verifier: Fix memory leak in array reallocation for stack state + - bpf, sockmap: Fix the sk->sk_forward_alloc warning of sk_stream_kill_queues + - wifi: mac80211: Set TWT Information Frame Disabled bit as 1 + - bpftool: Fix NULL pointer dereference when pin {PROG, MAP, LINK} without + FILE + - HID: hyperv: fix possible memory leak in mousevsc_probe() + - bpf, sockmap: Fix sk->sk_forward_alloc warn_on in sk_stream_kill_queues + - bpf: Fix sockmap calling sleepable function in teardown path + - bpf, sock_map: Move cancel_work_sync() out of sock lock + - bpf: Add helper macro bpf_for_each_reg_in_vstate + - bpf: Fix wrong reg type conversion in release_reference() + - net: gso: fix panic on frag_list with mixed head alloc types + - macsec: delete new rxsc when offload fails + - macsec: fix secy->n_rx_sc accounting + - macsec: fix detection of RXSCs when toggling offloading + - macsec: clear encryption keys from the stack after setting up offload + - octeontx2-pf: NIX TX overwrites SQ_CTX_HW_S[SQ_INT] + - net: tun: Fix memory leaks of napi_get_frags + - bnxt_en: Fix possible crash in bnxt_hwrm_set_coal() + - bnxt_en: fix potentially incorrect return value for ndo_rx_flow_steer + - net: fman: Unregister ethernet device on removal + - capabilities: fix undefined behavior in bit shift for CAP_TO_MASK + - phy: ralink: mt7621-pci: add sentinel to quirks table + - KVM: s390: pv: don't allow userspace to set the clock under PV + - net: lapbether: fix issue of dev reference count leakage in + lapbeth_device_event() + - hamradio: fix issue of dev reference count leakage in bpq_device_event() + - net: wwan: iosm: fix memory leak in ipc_wwan_dellink + - net: wwan: mhi: fix memory leak in mhi_mbim_dellink + - drm/vc4: Fix missing platform_unregister_drivers() call in + vc4_drm_register() + - tcp: prohibit TCP_REPAIR_OPTIONS if data was already sent + - ipv6: addrlabel: fix infoleak when sending struct ifaddrlblmsg to network + - can: af_can: fix NULL pointer dereference in can_rx_register() + - net: stmmac: dwmac-meson8b: fix meson8b_devm_clk_prepare_enable() + - net: broadcom: Fix BCMGENET Kconfig + - tipc: fix the msg->req tlv len check in + tipc_nl_compat_name_table_dump_header + - dmaengine: pxa_dma: use platform_get_irq_optional + - dmaengine: mv_xor_v2: Fix a resource leak in mv_xor_v2_remove() + - dmaengine: ti: k3-udma-glue: fix memory leak when register device fail + - net: lapbether: fix issue of invalid opcode in lapbeth_open() + - drivers: net: xgene: disable napi when register irq failed in + xgene_enet_open() + - perf stat: Fix printing os->prefix in CSV metrics output + - perf tools: Add the include/perf/ directory to .gitignore + - netfilter: nfnetlink: fix potential dead lock in nfnetlink_rcv_msg() + - netfilter: Cleanup nft_net->module_list from nf_tables_exit_net() + - net: marvell: prestera: fix memory leak in prestera_rxtx_switch_init() + - net: nixge: disable napi when enable interrupts failed in nixge_open() + - net: wwan: iosm: fix memory leak in ipc_pcie_read_bios_cfg + - net/mlx5: Bridge, verify LAG state when adding bond to bridge + - net/mlx5: Allow async trigger completion execution on single CPU systems + - net/mlx5e: E-Switch, Fix comparing termination table instance + - net: cpsw: disable napi in cpsw_ndo_open() + - net: cxgb3_main: disable napi when bind qsets failed in cxgb_up() + - stmmac: intel: Update PCH PTP clock rate from 200MHz to 204.8MHz + - mctp: Fix an error handling path in mctp_init() + - cxgb4vf: shut down the adapter when t4vf_update_port_info() failed in + cxgb4vf_open() + - stmmac: dwmac-loongson: fix missing pci_disable_msi() while module exiting + - stmmac: dwmac-loongson: fix missing pci_disable_device() in + loongson_dwmac_probe() + - stmmac: dwmac-loongson: fix missing of_node_put() while module exiting + - net: phy: mscc: macsec: clear encryption keys when freeing a flow + - net: atlantic: macsec: clear encryption keys from the stack + - ethernet: s2io: disable napi when start nic failed in s2io_card_up() + - net: mv643xx_eth: disable napi when init rxq or txq failed in + mv643xx_eth_open() + - ethernet: tundra: free irq when alloc ring failed in tsi108_open() + - net: macvlan: fix memory leaks of macvlan_common_newlink + - riscv: process: fix kernel info leakage + - riscv: vdso: fix build with llvm + - riscv: fix reserved memory setup + - arm64: efi: Fix handling of misaligned runtime regions and drop warning + - MIPS: jump_label: Fix compat branch range check + - mmc: cqhci: Provide helper for resetting both SDHCI and CQHCI + - mmc: sdhci-of-arasan: Fix SDHCI_RESET_ALL for CQHCI + - mmc: sdhci_am654: Fix SDHCI_RESET_ALL for CQHCI + - mmc: sdhci-tegra: Fix SDHCI_RESET_ALL for CQHCI + - mmc: sdhci-esdhc-imx: use the correct host caps for MMC_CAP_8_BIT_DATA + - ALSA: hda/hdmi - enable runtime pm for more AMD display audio + - ALSA: hda/ca0132: add quirk for EVGA Z390 DARK + - ALSA: hda: fix potential memleak in 'add_widget_node' + - ALSA: hda/realtek: Add Positivo C6300 model quirk + - ALSA: usb-audio: Yet more regression for for the delayed card registration + - ALSA: usb-audio: Add quirk entry for M-Audio Micro + - ALSA: usb-audio: Add DSD support for Accuphase DAC-60 + - vmlinux.lds.h: Fix placement of '.data..decrypted' section + - ata: libata-scsi: fix SYNCHRONIZE CACHE (16) command failure + - nilfs2: fix deadlock in nilfs_count_free_blocks() + - nilfs2: fix use-after-free bug of ns_writer on remount + - drm/i915/dmabuf: fix sg_table handling in map_dma_buf + - drm/amdgpu: disable BACO on special BEIGE_GOBY card + - btrfs: fix match incorrectly in dev_args_match_device + - btrfs: selftests: fix wrong error check in btrfs_free_dummy_root() + - btrfs: zoned: initialize device's zone info for seeding + - mms: sdhci-esdhc-imx: Fix SDHCI_RESET_ALL for CQHCI + - udf: Fix a slab-out-of-bounds write bug in udf_find_entry() + - mm/damon/dbgfs: check if rm_contexts input is for a real context + - mm/memremap.c: map FS_DAX device memory as decrypted + - mm/shmem: use page_mapping() to detect page cache for uffd continue + - can: j1939: j1939_send_one(): fix missing CAN header initialization + - dmaengine: at_hdmac: Fix at_lli struct definition + - dmaengine: at_hdmac: Don't start transactions at tx_submit level + - dmaengine: at_hdmac: Start transfer for cyclic channels in issue_pending + - dmaengine: at_hdmac: Fix premature completion of desc in issue_pending + - dmaengine: at_hdmac: Do not call the complete callback on + device_terminate_all + - dmaengine: at_hdmac: Protect atchan->status with the channel lock + - dmaengine: at_hdmac: Fix concurrency problems by removing atc_complete_all() + - dmaengine: at_hdmac: Fix concurrency over descriptor + - dmaengine: at_hdmac: Free the memset buf without holding the chan lock + - dmaengine: at_hdmac: Fix concurrency over the active list + - dmaengine: at_hdmac: Fix descriptor handling when issuing it to hardware + - dmaengine: at_hdmac: Fix completion of unissued descriptor in case of errors + - dmaengine: at_hdmac: Don't allow CPU to reorder channel enable + - dmaengine: at_hdmac: Fix impossible condition + - dmaengine: at_hdmac: Check return code of dma_async_device_register + - drm/amdkfd: Migrate in CPU page fault use current mm + - net: tun: call napi_schedule_prep() to ensure we own a napi + - x86/cpu: Restore AMD's DE_CFG MSR after resume + - drm/i915/gvt: Add missing vfio_unregister_group_dev() call + - KVM: debugfs: Return retval of simple_attr_open() if it fails + - HID: wacom: Fix logic used for 3rd barrel switch emulation + - ALSA: arm: pxa: pxa2xx-ac97-lib: fix return value check of + platform_get_irq() + - spi: mediatek: Fix package division error + - drm/vc4: hdmi: Fix HSM clock too low on Pi4 + - PCI: hv: Fix the definition of vector in hv_compose_msi_msg() + - KVM: s390: pci: Fix allocation size of aift kzdev elements + - drm/i915/psr: Send update also on invalidate + - drm/i915: Do not set cache_dirty for DGFX + - dt-bindings: net: tsnep: Fix typo on generic nvmem property + - dmanegine: idxd: reformat opcap output to match bitmap_parse() input + - dmaengine: idxd: Fix max batch size for Intel IAA + - dmaengine: idxd: fix RO device state error after been disabled/reset + - dmaengine: stm32-dma: fix potential race between pause and resume + - net: ethernet: mtk-star-emac: disable napi when connect and start PHY failed + in mtk_star_enable() + - octeontx2-pf: Fix SQE threshold checking + - perf stat: Fix crash with --per-node --metric-only in CSV mode + - net: wwan: iosm: fix invalid mux header type + - net/mlx5e: Add missing sanity checks for max TX WQE size + - ice: Fix spurious interrupt during removal of trusted VF + - iavf: Fix VF driver counting VLAN 0 filters + - ALSA: memalloc: Don't fall back for SG-buffer with IOMMU + - eth: sp7021: drop free_netdev() from spl2sw_init_netdev() + - mmc: sdhci-brcmstb: Fix SDHCI_RESET_ALL for CQHCI + - ALSA: hda/realtek: Add quirk for ASUS Zenbook using CS35L41 + - drm/amdgpu: workaround for TLB seq race + - drm/amdkfd: Fix error handling in criu_checkpoint + - drm/amdkfd: Fix error handling in kfd_criu_restore_events + - btrfs: zoned: clone zoned device info when cloning a device + - net: ethernet: ti: am65-cpsw: Fix segmentation fault at module unload + - spi: intel: Use correct mask for flash and protected regions + - dmaengine: idxd: Do not enable user type Work Queue without Shared Virtual + Addressing + - can: isotp: fix tx state handling for echo tx processing + - can: rcar_canfd: Add missing ECC error checks for channels 2-7 + - KVM: x86: use a separate asm-offsets.c file + - KVM: SVM: replace regs argument of __svm_vcpu_run() with vcpu_svm + - KVM: SVM: adjust register allocation for __svm_vcpu_run() + - KVM: SVM: retrieve VMCB from assembly + - KVM: SVM: move guest vmsave/vmload back to assembly + * AMD Rembrandt: DP tunneling fails with Thunderbolt monitors + (LP: #1983143) // Kinetic update: upstream stable patchset 2023-01-04 + (LP: #2001726) + - thunderbolt: Add DP OUT resource when DP tunnel is discovered + * CVE-2022-47520 + - wifi: wilc1000: validate pairwise and authentication suite offsets + * CVE-2022-3545 + - nfp: fix use-after-free in area_cache_get() + + -- Khalid Elmously Sun, 12 Feb 2023 20:53:44 -0500 + +linux-gcp (5.19.0-1017.19) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1017.19 -proposed tracker (LP: #2003416) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/2023.01.02) + + [ Ubuntu: 5.19.0-31.32 ] + + * kinetic/linux: 5.19.0-31.32 -proposed tracker (LP: #2003423) + * amdgpu: framebuffer is destroyed and the screen freezes with unsupported IP + blocks (LP: #2003524) + - drm/amd: Delay removal of the firmware framebuffer + * Revoke & rotate to new signing key (LP: #2002812) + - [Packaging] Revoke and rotate to new signing key + + -- Stefan Bader Tue, 24 Jan 2023 16:01:30 +0100 + +linux-gcp (5.19.0-1016.17) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1016.17 -proposed tracker (LP: #2001746) + + * Kinetic update: upstream stable patchset 2022-11-14 (LP: #1996540) + - [Config] gcp: updateconfigs for HID_TOPRE + + [ Ubuntu: 5.19.0-30.31 ] + + * kinetic/linux: 5.19.0-30.31 -proposed tracker (LP: #2001756) + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - debian/dkms-versions -- update from kernel-versions (main/2023.01.02) + * Add some ACPI device IDs for Intel HID device (LP: #1995453) + - platform/x86/intel/hid: Add some ACPI device IDs + * Fix iosm: WWAN cannot build the connection (DW5823e) (LP: #1998115) + - net: wwan: iosm: fix driver not working with INTEL_IOMMU disabled + - [Config] CONFIG_IOSM update annotations on arm64 armhf ppc64el s390x riscv64 + * BPF_[AND|OR|XOR|FETCH|XCHG|CMPXCHG] in net:test_bpf.sh from + ubuntu_kernel_selftests failed on K-5.19 P9 (LP: #2001618) + - powerpc/bpf/64: add support for BPF_ATOMIC bitwise operations + - powerpc/bpf/64: add support for atomic fetch operations + - powerpc/bpf/64: Add instructions for atomic_[cmp]xchg + * [DEP-8] Run ADT regression suite for lowlatency kernels Jammy and later + (LP: #1999528) + - [DEP-8] Fix regression suite to run on lowlatency + * Kinetic update: upstream stable patchset 2022-12-15 (LP: #1999828) + - serial: ar933x: Deassert Transmit Enable on ->rs485_config() + - KVM: x86: Trace re-injected exceptions + - RDMA/cma: Use output interface for net_dev check + - IB/hfi1: Correctly move list in sc_disable() + - RDMA/hns: Disable local invalidate operation + - NFSv4: Fix a potential state reclaim deadlock + - NFSv4.1: Handle RECLAIM_COMPLETE trunking errors + - NFSv4.1: We must always send RECLAIM_COMPLETE after a reboot + - SUNRPC: Fix null-ptr-deref when xps sysfs alloc failed + - NFSv4.2: Fixup CLONE dest file size for zero-length count + - nfs4: Fix kmemleak when allocate slot failed + - net: dsa: Fix possible memory leaks in dsa_loop_init() + - RDMA/core: Fix null-ptr-deref in ib_core_cleanup() + - RDMA/qedr: clean up work queue on failure in qedr_alloc_resources() + - net: dsa: fall back to default tagger if we can't load the one from DT + - nfc: fdp: Fix potential memory leak in fdp_nci_send() + - nfc: nxp-nci: Fix potential memory leak in nxp_nci_send() + - nfc: s3fwrn5: Fix potential memory leak in s3fwrn5_nci_send() + - nfc: nfcmrvl: Fix potential memory leak in nfcmrvl_i2c_nci_send() + - net: fec: fix improper use of NETDEV_TX_BUSY + - ata: pata_legacy: fix pdc20230_set_piomode() + - net: sched: Fix use after free in red_enqueue() + - net: tun: fix bugs for oversize packet when napi frags enabled + - netfilter: nf_tables: netlink notifier might race to release objects + - netfilter: nf_tables: release flow rule object from commit path + - ipvs: use explicitly signed chars + - ipvs: fix WARNING in __ip_vs_cleanup_batch() + - ipvs: fix WARNING in ip_vs_app_net_cleanup() + - rose: Fix NULL pointer dereference in rose_send_frame() + - mISDN: fix possible memory leak in mISDN_register_device() + - isdn: mISDN: netjet: fix wrong check of device registration + - btrfs: fix inode list leak during backref walking at resolve_indirect_refs() + - btrfs: fix inode list leak during backref walking at find_parent_nodes() + - btrfs: fix ulist leaks in error paths of qgroup self tests + - netfilter: ipset: enforce documented limit to prevent allocating huge memory + - Bluetooth: virtio_bt: Use skb_put to set length + - Bluetooth: L2CAP: fix use-after-free in l2cap_conn_del() + - Bluetooth: L2CAP: Fix memory leak in vhci_write + - net: mdio: fix undefined behavior in bit shift for __mdiobus_register + - ibmvnic: Free rwi on reset success + - stmmac: dwmac-loongson: fix invalid mdio_node + - net/smc: Fix possible leaked pernet namespace in smc_init() + - net, neigh: Fix null-ptr-deref in neigh_table_clear() + - ipv6: fix WARNING in ip6_route_net_exit_late() + - vsock: fix possible infinite sleep in vsock_connectible_wait_data() + - media: rkisp1: Don't pass the quantization to rkisp1_csm_config() + - media: rkisp1: Initialize color space on resizer sink and source pads + - media: rkisp1: Use correct macro for gradient registers + - media: rkisp1: Zero v4l2_subdev_format fields in when validating links + - media: s5p_cec: limit msg.len to CEC_MAX_MSG_SIZE + - media: cros-ec-cec: limit msg.len to CEC_MAX_MSG_SIZE + - media: dvb-frontends/drxk: initialize err to 0 + - media: meson: vdec: fix possible refcount leak in vdec_probe() + - media: v4l: subdev: Fail graciously when getting try data for NULL state + - ACPI: APEI: Fix integer overflow in ghes_estatus_pool_init() + - scsi: core: Restrict legal sdev_state transitions via sysfs + - HID: saitek: add madcatz variant of MMO7 mouse device ID + - drm/amdgpu: set vm_update_mode=0 as default for Sienna Cichlid in SRIOV case + - i2c: xiic: Add platform module alias + - efi/tpm: Pass correct address to memblock_reserve + - clk: qcom: Update the force mem core bit for GPU clocks + - ARM: dts: imx6qdl-gw59{10,13}: fix user pushbutton GPIO offset + - arm64: dts: imx8: correct clock order + - arm64: dts: lx2160a: specify clock frequencies for the MDIO controllers + - arm64: dts: ls1088a: specify clock frequencies for the MDIO controllers + - arm64: dts: ls208xa: specify clock frequencies for the MDIO controllers + - block: Fix possible memory leak for rq_wb on add_disk failure + - firmware: arm_scmi: Suppress the driver's bind attributes + - firmware: arm_scmi: Make Rx chan_setup fail on memory errors + - firmware: arm_scmi: Fix devres allocation device in virtio transport + - arm64: dts: juno: Add thermal critical trip points + - i2c: piix4: Fix adapter not be removed in piix4_remove() + - Bluetooth: L2CAP: Fix attempting to access uninitialized memory + - fscrypt: stop using keyrings subsystem for fscrypt_master_key + - fscrypt: fix keyring memory leak on mount failure + - btrfs: fix lost file sync on direct IO write with nowait and dsync iocb + - btrfs: fix tree mod log mishandling of reallocated nodes + - btrfs: fix type of parameter generation in btrfs_get_dentry + - ftrace: Fix use-after-free for dynamic ftrace_ops + - tracing: kprobe: Fix memory leak in test_gen_kprobe/kretprobe_cmd() + - kprobe: reverse kp->flags when arm_kprobe failed + - ring-buffer: Check for NULL cpu_buffer in ring_buffer_wake_waiters() + - tools/nolibc/string: Fix memcmp() implementation + - tracing/histogram: Update document for KEYS_MAX size + - capabilities: fix potential memleak on error path from vfs_getxattr_alloc() + - fuse: add file_modified() to fallocate + - efi: random: reduce seed size to 32 bytes + - efi: random: Use 'ACPI reclaim' memory for random seed + - arm64: entry: avoid kprobe recursion + - perf/x86/intel: Fix pebs event constraints for ICL + - perf/x86/intel: Add Cooper Lake stepping to isolation_ucodes[] + - perf/x86/intel: Fix pebs event constraints for SPR + - parisc: Make 8250_gsc driver dependend on CONFIG_PARISC + - parisc: Export iosapic_serial_irq() symbol for serial port driver + - parisc: Avoid printing the hardware path twice + - ext4: fix warning in 'ext4_da_release_space' + - ext4: fix BUG_ON() when directory entry has invalid rec_len + - x86/syscall: Include asm/ptrace.h in syscall_wrapper header + - KVM: x86: Mask off reserved bits in CPUID.80000006H + - KVM: x86: Mask off reserved bits in CPUID.8000001AH + - KVM: x86: Mask off reserved bits in CPUID.80000008H + - KVM: x86: Mask off reserved bits in CPUID.80000001H + - KVM: x86: Mask off reserved bits in CPUID.8000001FH + - KVM: VMX: fully disable SGX if SECONDARY_EXEC_ENCLS_EXITING unavailable + - KVM: arm64: Fix bad dereference on MTE-enabled systems + - KVM: x86: emulator: em_sysexit should update ctxt->mode + - KVM: x86: emulator: introduce emulator_recalc_and_set_mode + - KVM: x86: emulator: update the emulation mode after rsm + - KVM: x86: emulator: update the emulation mode after CR0 write + - tee: Fix tee_shm_register() for kernel TEE drivers + - ext4,f2fs: fix readahead of verity data + - cifs: fix regression in very old smb1 mounts + - drm/rockchip: dsi: Clean up 'usage_mode' when failing to attach + - drm/rockchip: dsi: Force synchronous probe + - drm/i915/sdvo: Filter out invalid outputs more sensibly + - drm/i915/sdvo: Setup DDC fully before output init + - wifi: brcmfmac: Fix potential buffer overflow in brcmf_fweh_event_worker() + - usb: dwc3: gadget: Don't delay End Transfer on delayed_status + - RDMA/hns: Fix NULL pointer problem in free_mr_init() + - docs/process/howto: Replace C89 with C11 + - RDMA/rxe: Fix mr leak in RESPST_ERR_RNR + - tools/nolibc: Fix missing strlen() definition and infinite loop with gcc-12 + - ata: palmld: fix return value check in palmld_pata_probe() + - net: lan966x: Fix the MTU calculation + - net: lan966x: Adjust maximum frame size when vlan is enabled/disabled + - net: lan966x: Fix FDMA when MTU is changed + - net: lan966x: Fix unmapping of received frames using FDMA + - bridge: Fix flushing of dynamic FDB entries + - iio: adc: stm32-adc: fix channel sampling time init + - drm/vc4: hdmi: Check the HSM rate at runtime_resume + - hwrng: bcm2835 - use hwrng_msleep() instead of cpu_relax() + - drm/amdkfd: Fix type of reset_type parameter in hqd_destroy() callback + - drm/amdgpu: Program GC registers through RLCG interface in gfx_v11/gmc_v11 + - nvme-pci: disable write zeroes on various Kingston SSD + - bio: safeguard REQ_ALLOC_CACHE bio put + - clk: rs9: Fix I2C accessors + - arm64: dts: imx8mm: Enable CPLD_Dn pull down resistor on MX8Menlo + - clk: renesas: r8a779g0: Fix HSCIF parent clocks + - arm64: dts: verdin-imx8mp: fix ctrl_sleep_moci + - arm64: dts: imx8mm: remove otg1/2 power domain dependency on hsio + - arm64: dts: imx8mm: correct usb power domains + - arm64: dts: imx8mn: remove otg1 power domain dependency on hsio + - arm64: dts: imx8mn: Correct the usb power domain + - drm/rockchip: dw_hdmi: filter regulator -EPROBE_DEFER error messages + - drm/rockchip: fix fbdev on non-IOMMU devices + - drm/i915: stop abusing swiotlb_max_segment + - blk-mq: Fix kmemleak in blk_mq_init_allocated_queue + - firmware: arm_scmi: Fix deferred_tx_wq release on error paths + - clk: renesas: r8a779g0: Add SASYNCPER clocks + - btrfs: fix a memory allocation failure test in btrfs_submit_direct + - ACPI: NUMA: Add CXL CFMWS 'nodes' to the possible nodes set + - tracing/fprobe: Fix to check whether fprobe is registered correctly + - fprobe: Check rethook_alloc() return in rethook initialization + - fuse: fix readdir cache race + - net/ulp: remove SOCK_SUPPORT_ZC from tls sockets + - ARM: dts: imx6dl-yapp4: Do not allow PM to switch PU regulator off on Q/QP + - net: remove SOCK_SUPPORT_ZC from sockmap + - net: also flag accepted sockets supporting msghdr originated zerocopy + - ext4: update the backup superblock's at the end of the online resize + - x86/tdx: Prepare for using "INFO" call for a second purpose + - x86/tdx: Panic on bad configs that #VE on "private" memory access + - KVM: VMX: Fold vmx_supported_debugctl() into vcpu_supported_debugctl() + - KVM: VMX: Ignore guest CPUID for host userspace writes to DEBUGCTL + - KVM: Initialize gfn_to_pfn_cache locks in dedicated helper + - KVM: Reject attempts to consume or refresh inactive gfn_to_pfn_cache + - KVM: arm64: Fix SMPRI_EL1/TPIDR2_EL0 trapping on VHE + - drm/amdgpu: disable GFXOFF during compute for GFX11 + * Kinetic update: upstream stable patchset 2022-12-07 (LP: #1999079) + - can: j1939: transport: j1939_session_skb_drop_old(): + spin_unlock_irqrestore() before kfree_skb() + - can: kvaser_usb: Fix possible completions during init_completion + - ALSA: Use del_timer_sync() before freeing timer + - ALSA: usb-audio: Add quirks for M-Audio Fast Track C400/600 + - ALSA: au88x0: use explicitly signed char + - ALSA: rme9652: use explicitly signed char + - USB: add RESET_RESUME quirk for NVIDIA Jetson devices in RCM + - usb: gadget: uvc: fix sg handling in error case + - usb: gadget: uvc: fix sg handling during video encode + - usb: dwc3: gadget: Stop processing more requests on IMI + - usb: dwc3: gadget: Don't set IMI for no_interrupt + - usb: bdc: change state when port disconnected + - usb: xhci: add XHCI_SPURIOUS_SUCCESS to ASM1042 despite being a V0.96 + controller + - mtd: rawnand: marvell: Use correct logic for nand-keep-config + - xhci: Add quirk to reset host back to default state at shutdown + - xhci-pci: Set runtime PM as default policy on all xHC 1.2 or later devices + - xhci: Remove device endpoints from bandwidth list when freeing the device + - tools: iio: iio_utils: fix digit calculation + - iio: light: tsl2583: Fix module unloading + - iio: temperature: ltc2983: allocate iio channels once + - iio: adxl372: Fix unsafe buffer attributes + - fbdev: smscufx: Fix several use-after-free bugs + - cpufreq: intel_pstate: Read all MSRs on the target CPU + - cpufreq: intel_pstate: hybrid: Use known scaling factor for P-cores + - fs/binfmt_elf: Fix memory leak in load_elf_binary() + - exec: Copy oldsighand->action under spin-lock + - mac802154: Fix LQI recording + - scsi: qla2xxx: Use transport-defined speed mask for supported_speeds + - drm/amdgpu: disallow gfxoff until GC IP blocks complete s2idle resume + - drm/msm/dsi: fix memory corruption with too many bridges + - drm/msm/hdmi: fix memory corruption with too many bridges + - drm/msm/dp: fix IRQ lifetime + - coresight: cti: Fix hang in cti_disable_hw() + - mmc: sdhci_am654: 'select', not 'depends' REGMAP_MMIO + - mmc: core: Fix kernel panic when remove non-standard SDIO card + - mmc: sdhci-pci-core: Disable ES for ASUS BIOS on Jasper Lake + - mmc: sdhci-esdhc-imx: Propagate ESDHC_FLAG_HS400* only on 8bit bus + - counter: microchip-tcb-capture: Handle Signal1 read and Synapse + - kernfs: fix use-after-free in __kernfs_remove + - pinctrl: Ingenic: JZ4755 bug fixes + - ARC: mm: fix leakage of memory allocated for PTE + - perf auxtrace: Fix address filter symbol name match for modules + - s390/futex: add missing EX_TABLE entry to __futex_atomic_op() + - s390/pci: add missing EX_TABLE entries to + __pcistg_mio_inuser()/__pcilg_mio_inuser() + - mmc: block: Remove error check of hw_reset on reset + - ethtool: eeprom: fix null-deref on genl_info in dump + - net: ieee802154: fix error return code in dgram_bind() + - media: v4l2: Fix v4l2_i2c_subdev_set_name function documentation + - media: atomisp: prevent integer overflow in sh_css_set_black_frame() + - drm/msm: Fix return type of mdp4_lvds_connector_mode_valid + - KVM: selftests: Fix number of pages for memory slot in + memslot_modification_stress_test + - ASoC: qcom: lpass-cpu: mark HDMI TX registers as volatile + - perf: Fix missing SIGTRAPs + - sched/core: Fix comparison in sched_group_cookie_match() + - arc: iounmap() arg is volatile + - mtd: rawnand: intel: Add missing of_node_put() in ebu_nand_probe() + - ASoC: qcom: lpass-cpu: Mark HDMI TX parity register as volatile + - ALSA: ac97: fix possible memory leak in snd_ac97_dev_register() + - perf/x86/intel/lbr: Use setup_clear_cpu_cap() instead of clear_cpu_cap() + - tipc: fix a null-ptr-deref in tipc_topsrv_accept + - net: netsec: fix error handling in netsec_register_mdio() + - net: hinic: fix incorrect assignment issue in hinic_set_interrupt_cfg() + - net: hinic: fix memory leak when reading function table + - net: hinic: fix the issue of CMDQ memory leaks + - net: hinic: fix the issue of double release MBOX callback of VF + - net: macb: Specify PHY PM management done by MAC + - nfc: virtual_ncidev: Fix memory leak in virtual_nci_send() + - x86/unwind/orc: Fix unreliable stack dump with gcov + - amd-xgbe: fix the SFP compliance codes check for DAC cables + - amd-xgbe: add the bit rate quirk for Molex cables + - drm/i915/dp: Reset frl trained flag before restarting FRL training + - atlantic: fix deadlock at aq_nic_stop + - kcm: annotate data-races around kcm->rx_psock + - kcm: annotate data-races around kcm->rx_wait + - net: fix UAF issue in nfqnl_nf_hook_drop() when ops_init() failed + - net: lantiq_etop: don't free skb when returning NETDEV_TX_BUSY + - tcp: fix a signed-integer-overflow bug in tcp_add_backlog() + - tcp: fix indefinite deferral of RTO with SACK reneging + - net-memcg: avoid stalls when under memory pressure + - drm/amdkfd: Fix memory leak in kfd_mem_dmamap_userptr() + - can: mscan: mpc5xxx: mpc5xxx_can_probe(): add missing put_clock() in error + path + - can: mcp251x: mcp251x_can_probe(): add missing unregister_candev() in error + path + - PM: hibernate: Allow hybrid sleep to work with s2idle + - media: vivid: s_fbuf: add more sanity checks + - media: vivid: dev->bitmap_cap wasn't freed in all cases + - media: v4l2-dv-timings: add sanity checks for blanking values + - media: videodev2.h: V4L2_DV_BT_BLANKING_HEIGHT should check 'interlaced' + - media: vivid: set num_in/outputs to 0 if not supported + - perf vendor events power10: Fix hv-24x7 metric events + - ipv6: ensure sane device mtu in tunnels + - i40e: Fix ethtool rx-flow-hash setting for X722 + - i40e: Fix VF hang when reset is triggered on another VF + - i40e: Fix flow-type by setting GL_HASH_INSET registers + - net: ksz884x: fix missing pci_disable_device() on error in pcidev_init() + - PM: domains: Fix handling of unavailable/disabled idle states + - perf vendor events arm64: Fix incorrect Hisi hip08 L3 metrics + - net: fec: limit register access on i.MX6UL + - net: ethernet: ave: Fix MAC to be in charge of PHY PM + - ALSA: aoa: i2sbus: fix possible memory leak in i2sbus_add_dev() + - ALSA: aoa: Fix I2S device accounting + - openvswitch: switch from WARN to pr_warn + - net: ehea: fix possible memory leak in ehea_register_port() + - net: bcmsysport: Indicate MAC is in charge of PHY PM + - nh: fix scope used to find saddr when adding non gw nh + - net: broadcom: bcm4908_enet: update TX stats after actual transmission + - netdevsim: remove dir in nsim_dev_debugfs_init() when creating ports dir + failed + - net/mlx5e: Do not increment ESN when updating IPsec ESN state + - net/mlx5e: Extend SKB room check to include PTP-SQ + - net/mlx5: Fix possible use-after-free in async command interface + - net/mlx5: Update fw fatal reporter state on PCI handlers successful recover + - net/mlx5: Fix crash during sync firmware reset + - net: do not sense pfmemalloc status in skb_append_pagefrags() + - kcm: do not sense pfmemalloc status in kcm_sendpage() + - net: enetc: survive memory pressure without crashing + - arm64: Add AMPERE1 to the Spectre-BHB affected list + - can: rcar_canfd: fix channel specific IRQ handling for RZ/G2L + - can: rcar_canfd: rcar_canfd_handle_global_receive(): fix IRQ storm on global + FIFO receive + - ALSA: hda/realtek: Add quirk for ASUS Zenbook using CS35L41 + - ALSA: hda/realtek: Add another HP ZBook G9 model quirks + - usb: gadget: uvc: limit isoc_sg to super speed gadgets + - usb: gadget: uvc: fix dropped frame after missed isoc + - usb: gadget: aspeed: Fix probe regression + - usb: dwc3: gadget: Force sending delayed status during soft disconnect + - usb: typec: ucsi: Check the connection on resume + - usb: typec: ucsi: acpi: Implement resume callback + - usb: dwc3: Don't switch OTG -> peripheral if extcon is present + - mtd: rawnand: tegra: Fix PM disable depth imbalance in probe + - mtd: parsers: bcm47xxpart: Fix halfblock reads + - iio: adxl367: Fix unsafe buffer attributes + - fbdev: stifb: Fall back to cfb_fillrect() on 32-bit HCRX cards + - drm/amdgpu: Fix VRAM BO swap issue + - drm/i915: Extend Wa_1607297627 to Alderlake-P + - drm/amdgpu: Remove ATC L2 access for MMHUB 2.1.x + - drm/amdgpu: fix pstate setting issue + - drm/amdkfd: update gfx1037 Lx cache setting + - drm/amdkfd: correct the cache info for gfx1036 + - drm/msm: fix use-after-free on probe deferral + - drm/msm/hdmi: fix IRQ lifetime + - drm/msm/dp: fix memory corruption with too many bridges + - drm/msm/dp: fix bridge lifetime + - mmc: queue: Cancel recovery work on cleanup + - mmc: core: Fix WRITE_ZEROES CQE handling + - counter: 104-quad-8: Fix race getting function mode and direction + - mm/uffd: fix vma check on userfault for wp + - mm: migrate: fix return value if all subpages of THPs are migrated + successfully + - mm,madvise,hugetlb: fix unexpected data loss with MADV_DONTNEED on hugetlbfs + - mm/huge_memory: do not clobber swp_entry_t during THP split + - s390/cio: fix out-of-bounds access on cio_ignore free + - s390/uaccess: add missing EX_TABLE entries to __clear_user() + - ACPI: PCC: Fix unintentional integer overflow + - powerpc/64s/interrupt: Fix clear of PACA_IRQS_HARD_DIS when returning to + soft-masked context + - media: amphion: release m2m ctx when releasing vpu instance + - media: ov8865: Fix an error handling path in ov8865_probe() + - media: sun6i-csi: Add a Kconfig dependency on RESET_CONTROLLER + - media: sun4i-csi: Add a Kconfig dependency on RESET_CONTROLLER + - media: sun8i-di: Add a Kconfig dependency on RESET_CONTROLLER + - media: sun8i-rotate: Add a Kconfig dependency on RESET_CONTROLLER + - media: cedrus: Add a Kconfig dependency on RESET_CONTROLLER + - drm/msm/a6xx: Replace kcalloc() with kvzalloc() + - drm/msm/dp: add atomic_check to bridge ops + - drm/msm/dp: cleared DP_DOWNSPREAD_CTRL register before start link training + - ASoC: codec: tlv320adc3xxx: add GPIOLIB dependency + - pinctrl: qcom: Avoid glitching lines when we first mux to output + - spi: qup: support using GPIO as chip select line + - x86/fpu: Configure init_fpstate attributes orderly + - x86/fpu: Fix the init_fpstate size check with the actual size + - x86/fpu: Exclude dynamic states from init_fpstate + - bpf: prevent decl_tag from being referenced in func_proto + - mtd: rawnand: intel: Remove unused nand_pa member from ebu_nand_cs + - mtd: rawnand: intel: Use devm_platform_ioremap_resource_byname() + - ASoC: codecs: tlv320adc3xxx: Wrap adc3xxx_i2c_remove() in __exit_p() + - spi: aspeed: Fix window offset of CE1 + - net: lan966x: Fix the rx drop counter + - x86/fpu: Fix copy_xstate_to_uabi() to copy init states correctly + - amd-xgbe: Yellow carp devices do not need rrc + - drm/i915/dgfx: Keep PCI autosuspend control 'on' by default on all dGPU + - net: lan966x: Stop replacing tx dcbs and dcbs_buf when changing MTU + - mptcp: set msk local address earlier + - netdevsim: fix memory leak in nsim_bus_dev_new() + - net/mlx5: Wait for firmware to enable CRS before pci_restore_state + - net/mlx5: DR, Fix matcher disconnect error flow + - net/mlx5e: Update restore chain id for slow path packets + - net/mlx5e: TC, Reject forwarding from internal port to internal port + - riscv: mm: add missing memcpy in kasan_init + * Virtual GPU driver packaging regression (LP: #1996112) + - [Packaging] Reintroduce VM DRM drivers into modules + * Fix AMD-PState driver for Genoa CPU (LP: #1998106) + - Documentation: amd-pstate: Add unit test introduction + - cpufreq: amd-pstate: cpufreq: amd-pstate: reset MSR_AMD_PERF_CTL register at + init + - cpufreq: amd-pstate: change amd-pstate driver to be built-in type + - cpufreq: amd-pstate: add amd-pstate driver parameter for mode selection + - Documentation: amd-pstate: add driver working mode introduction + - Documentation: add amd-pstate kernel command line options + * Kinetic update: upstream stable patchset 2022-11-30 (LP: #1998398) + - clk: tegra: Fix Tegra PWM parent clock + - Revert "btrfs: call __btrfs_remove_free_space_cache_locked on cache load + failure" + - ocfs2: clear dinode links count in case of error + - ocfs2: fix BUG when iput after ocfs2_mknod fails + - selinux: enable use of both GFP_KERNEL and GFP_ATOMIC in convert_context() + - cpufreq: qcom: fix writes in read-only memory region + - i2c: qcom-cci: Fix ordering of pm_runtime_xx and i2c_add_adapter + - x86/microcode/AMD: Apply the patch early on every logical thread + - hwmon/coretemp: Handle large core ID value + - ata: ahci-imx: Fix MODULE_ALIAS + - ata: ahci: Match EM_MAX_SLOTS with SATA_PMP_MAX_PORTS + - x86/resctrl: Fix min_cbm_bits for AMD + - cpufreq: qcom: fix memory leak in error path + - drm/amdgpu: fix sdma doorbell init ordering on APUs + - mm,hugetlb: take hugetlb_lock before decrementing h->resv_huge_pages + - kvm: Add support for arch compat vm ioctls + - KVM: arm64: vgic: Fix exit condition in scan_its_table() + - media: ipu3-imgu: Fix NULL pointer dereference in active selection access + - media: mceusb: set timeout to at least timeout provided + - media: venus: dec: Handle the case where find_format fails + - x86/topology: Fix multiple packages shown on a single-package system + - x86/topology: Fix duplicated core ID within a package + - btrfs: fix processing of delayed data refs during backref walking + - btrfs: fix processing of delayed tree block refs during backref walking + - drm/vc4: Add module dependency on hdmi-codec + - ACPI: extlog: Handle multiple records + - tipc: Fix recognition of trial period + - tipc: fix an information leak in tipc_topsrv_kern_subscr + - i40e: Fix DMA mappings leak + - HID: magicmouse: Do not set BTN_MOUSE on double report + - sfc: Change VF mac via PF as first preference if available. + - net/atm: fix proc_mpc_write incorrect return value + - net: phy: dp83867: Extend RX strap quirk for SGMII mode + - net: phylink: add mac_managed_pm in phylink_config structure + - scsi: lpfc: Fix memory leak in lpfc_create_port() + - udp: Update reuse->has_conns under reuseport_lock. + - cifs: Fix xid leak in cifs_create() + - cifs: Fix xid leak in cifs_copy_file_range() + - cifs: Fix xid leak in cifs_flock() + - cifs: Fix xid leak in cifs_ses_add_channel() + - dm: remove unnecessary assignment statement in alloc_dev() + - net: hsr: avoid possible NULL deref in skb_clone() + - ionic: catch NULL pointer issue on reconfig + - netfilter: nf_tables: relax NFTA_SET_ELEM_KEY_END set flags requirements + - nvme-hwmon: consistently ignore errors from nvme_hwmon_init + - nvme-hwmon: kmalloc the NVME SMART log buffer + - nvmet: fix workqueue MEM_RECLAIM flushing dependency + - net: sched: cake: fix null pointer access issue when cake_init() fails + - net: sched: delete duplicate cleanup of backlog and qlen + - net: sched: sfb: fix null pointer access issue when sfb_init() fails + - sfc: include vport_id in filter spec hash and equal() + - wwan_hwsim: fix possible memory leak in wwan_hwsim_dev_new() + - net: hns: fix possible memory leak in hnae_ae_register() + - net: sched: fix race condition in qdisc_graft() + - net: phy: dp83822: disable MDI crossover status change interrupt + - iommu/vt-d: Allow NVS regions in arch_rmrr_sanity_check() + - iommu/vt-d: Clean up si_domain in the init_dmars() error path + - ACPI: video: Force backlight native for more TongFang devices + - x86/Kconfig: Drop check for -mabi=ms for CONFIG_EFI_STUB + - mm: /proc/pid/smaps_rollup: fix no vma's null-deref + - smb3: interface count displayed incorrectly + - cpufreq: tegra194: Fix module loading + - KVM: x86: Copy filter arg outside kvm_vm_ioctl_set_msr_filter() + - KVM: x86: Add compat handler for KVM_X86_SET_MSR_FILTER + - media: venus: Fix NV12 decoder buffer discovery on HFI_VERSION_1XX + - drm/vc4: hdmi: Enforce the minimum rate at runtime_resume + - net/smc: Fix an error code in smc_lgr_create() + - net: stmmac: Enable mac_managed_pm phylink config + - blk-mq: fix null pointer dereference in blk_mq_clear_rq_mapping() + - net: ethernet: mtk_eth_soc: fix possible memory leak in mtk_probe() + - net: ethernet: mtk_eth_wed: add missing put_device() in mtk_wed_add_hw() + - net: ethernet: mtk_eth_wed: add missing of_node_put() + - ip6mr: fix UAF issue in ip6mr_sk_done() when addrconf_init_net() failed + - cifs: Fix memory leak when build ntlmssp negotiate blob failed + - netfilter: rpfilter/fib: Populate flowic_l3mdev field + - netfilter: rpfilter/fib: Set ->flowic_uid correctly for user namespaces. + - net: Fix return value of qdisc ingress handling on success + - drbd: only clone bio if we have a backing device + - wifi: mt76: mt7921e: fix random fw download fail + * Mediatek WLAN RZ616(MT7922) SAR table control (LP: #1997200) + - mt76: add 6 GHz band support in mt76_sar_freq_ranges + - mt76: mt7921: introduce ACPI SAR support + - mt76: mt7921: introduce ACPI SAR config in tx power + - wifi: mt76: mt7921: fix use after free in mt7921_acpi_read() + * Kinetic update: upstream stable patchset 2022-11-14 (LP: #1996540) + - scsi: qla2xxx: Fix response queue handler reading stale packets + - Upstream stable to v5.15.74, v6.0.2 + - rcu-tasks: Convert RCU_LOCKDEP_WARN() to WARN_ONCE() + - mmc: sdhci-msm: add compatible string check for sdm670 + - thermal: intel_powerclamp: Use first online CPU as control_cpu + - gcov: support GCC 12.1 and newer compilers + - io-wq: Fix memory leak in worker creation + - arm64: mte: Avoid setting PG_mte_tagged if no tags cleared or restored + - serial: Deassert Transmit Enable on probe in driver-specific way + - KVM: x86: Treat #DBs from the emulator as fault-like (code and DR7.GD=1) + - drm/amd/display: Enable dpia support for dcn314 + - drm/amdgpu: Enable F32_WPTR_POLL_ENABLE in mqd + - libbpf: Initialize err in probe_map_create + - libbpf: Fix crash if SEC("freplace") programs don't have attach_prog_fd set + - libbpf: Fix NULL pointer exception in API btf_dump__dump_type_data + - drm/vc4: drv: Call component_unbind_all() + - video/aperture: Disable and unregister sysfb devices via aperture helpers + - drm/bridge: anx7625: Fix refcount bug in anx7625_parse_dt() + - drm/i915/dg2: Bump up CDCLK for DG2 + - drm/panel: use 'select' for Ili9341 panel driver helpers + - drm: fix drm_mipi_dbi build errors + - ALSA: hda/hdmi: change type for the 'assigned' variable + - ALSA: hda/hdmi: Fix the converter allocation for the silent stream + - arm64: dts: qcom: sc7280: Cleanup the lpasscc node + - arm64: dts: qcom: sc7280: Update lpasscore node + - arm64: dts: qcom: pm8350c: Drop PWM reg declaration + - arm64: dts: qcom: sc7180-trogdor: Keep pm6150_adc enabled for TZ + - arm64: dts: qcom: sm8350-sagami: correct TS pin property + - soc/tegra: fuse: Add missing of_node_put() in tegra_init_fuse() + - arm64: dts: qcom: ipq8074: fix PCIe PHY serdes size + - arm64: dts: qcom: sm8450: fix UFS PHY serdes size + - arm64: dts: exynos: fix polarity of "enable" line of NFC chip in TM2 + - selftests/cpu-hotplug: Use return instead of exit + - selftests/cpu-hotplug: Delete fault injection related code + - selftests/cpu-hotplug: Reserve one cpu online at least + - usb: common: usb-conn-gpio: Simplify some error message + - HID: uclogic: Fix warning in uclogic_rdesc_template_apply + - tty: xilinx_uartps: Check clk_enable return value + - fpga: dfl-pci: Add IDs for Intel N6000, N6001 and C6100 cards + - iio: Use per-device lockdep class for mlock + - scsi: lpfc: Fix various issues reported by tools + - phy: qcom-qmp-usb: disable runtime PM on unbind + - block: Fix the enum blk_eh_timer_return documentation + - RDMA/rxe: Set pd early in mr alloc routines + - clk: imx8mp: tune the order of enet_qos_root_clk + - libbpf: Ensure functions with always_inline attribute are inline + - libbpf: Do not require executable permission for shared libraries + - micrel: ksz8851: fixes struct pointer issue + - net: ftmac100: fix endianness-related issues from 'sparse' + - net: sched: cls_u32: Avoid memcpy() false-positive warning + - libbpf: Fix overrun in netlink attribute iteration + - ALSA: usb-audio: Add quirk to enable Avid Mbox 3 support + - ASoC: sunxi: sun4i-codec: set debugfs_prefix for CPU DAI component + - ASoC: amd: yc: Add ASUS UM5302TA into DMI table + - ASoC: amd: yc: Add Lenovo Yoga Slim 7 Pro X to quirks table + - arm64: dts: qcom: sc7280-idp: correct ADC channel node name and unit address + - ARM: orion: fix include path + - hid: topre: Add driver fixing report descriptor + - [Config] updateconfigs for HID_TOPRE + - fsi: master-ast-cf: Fix missing of_node_put in fsi_master_acf_probe + - dmaengine: dw-edma: Remove runtime PM support + - HID: playstation: stop DualSense output work on remove. + - HID: playstation: add initial DualSense Edge controller support + - net: flag sockets supporting msghdr originated zerocopy + - drm/amd/pm: disable cstate feature for gpu reset scenario + - dm clone: Fix typo in block_device format specifier + + -- Khalid Elmously Sun, 15 Jan 2023 04:25:18 -0500 + +linux-gcp (5.19.0-1015.16) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1015.16 -proposed tracker (LP: #1999789) + + [ Ubuntu: 5.19.0-29.30 ] + + * kinetic/linux: 5.19.0-29.30 -proposed tracker (LP: #1999799) + * CVE-2022-3643 + - xen/netback: Ensure protocol headers don't fall in the non-linear area + * CVE-2022-45934 + - Bluetooth: L2CAP: Fix u8 overflow + * CVE-2022-4378 + - proc: proc_skip_spaces() shouldn't think it is working on C strings + - proc: avoid integer type confusion in get_proc_long + * CVE-2022-42896 + - Bluetooth: L2CAP: Fix accepting connection request for invalid SPSM + - Bluetooth: L2CAP: Fix l2cap_global_chan_by_psm + + -- Thadeu Lima de Souza Cascardo Mon, 09 Jan 2023 09:54:52 -0300 + +linux-gcp (5.19.0-1014.15) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1014.15 -proposed tracker (LP: #1999736) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - [Packaging] update Ubuntu.md + + * Kinetic update: v5.19.9 upstream stable release (LP: #1994068) // Kinetic + update: v5.19.15 upstream stable release (LP: #1994078) // Kinetic update: + v5.19.17 upstream stable release (LP: #1994179) + - [Configs] gcp: Updates after rebase + + * remove circular dep between linux-image and modules (LP: #1989334) + - [Packaging] remove circular dep between modules and image + + [ Ubuntu: 5.19.0-28.29 ] + + * kinetic/linux: 5.19.0-28.29 -proposed tracker (LP: #1999746) + * mm:vma05 in ubuntu_ltp fails with '[vdso] bug not patched' on kinetic/linux + 5.19.0-27.28 (LP: #1999094) + - fix coredump breakage + + [ Ubuntu: 5.19.0-27.28 ] + + * kinetic/linux: 5.19.0-27.28 -proposed tracker (LP: #1997794) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/2022.11.14) + * selftests/.../nat6to4 breaks the selftests build (LP: #1996536) + - [Config] Disable selftests/net/bpf/nat6to4 + * Expose built-in trusted and revoked certificates (LP: #1996892) + - [Packaging] Expose built-in trusted and revoked certificates + * support for same series backports versioning numbers (LP: #1993563) + - [Packaging] sameport -- add support for sameport versioning + * Add cs35l41 firmware loading support (LP: #1995957) + - ASoC: cs35l41: Move cs35l41 exit hibernate function into shared code + - ASoC: cs35l41: Add common cs35l41 enter hibernate function + - ASoC: cs35l41: Do not print error when waking from hibernation + - ALSA: hda: cs35l41: Don't dereference fwnode handle + - ALSA: hda: cs35l41: Allow compilation test on non-ACPI configurations + - ALSA: hda: cs35l41: Drop wrong use of ACPI_PTR() + - ALSA: hda: cs35l41: Consolidate selections under SND_HDA_SCODEC_CS35L41 + - ALSA: hda: hda_cs_dsp_ctl: Add Library to support CS_DSP ALSA controls + - ALSA: hda: hda_cs_dsp_ctl: Add apis to write the controls directly + - ALSA: hda: cs35l41: Save codec object inside component struct + - ALSA: hda: cs35l41: Add initial DSP support and firmware loading + - ALSA: hda: cs35l41: Save Subsystem ID inside CS35L41 Driver + - ALSA: hda: cs35l41: Support reading subsystem id from ACPI + - ALSA: hda: cs35l41: Support multiple load paths for firmware + - ALSA: hda: cs35l41: Support Speaker ID for laptops + - ALSA: hda: cs35l41: Support Hibernation during Suspend + - ALSA: hda: cs35l41: Read Speaker Calibration data from UEFI variables + - ALSA: hda: hda_cs_dsp_ctl: Add fw id strings + - ALSA: hda: cs35l41: Add defaulted values into dsp bypass config sequence + - ALSA: hda: cs35l41: Support Firmware switching and reloading + - ALSA: hda: cs35l41: Add module parameter to control firmware load + - Revert "ALSA: hda: cs35l41: Allow compilation test on non-ACPI + configurations" + - ALSA: hda/realtek: More robust component matching for CS35L41 + - [Config] updateconfigs for SND_HDA_CS_DSP_CONTROLS + * Fibocom WWAN FM350-GL suspend error (notebook not suspend) (LP: #1990700) + - net: wwan: t7xx: Add AP CLDMA + * Screen cannot turn on after screen off with Matrox G200eW3 [102b:0536] + (LP: #1995573) + - drm/mgag200: Optimize damage clips + - drm/mgag200: Add FB_DAMAGE_CLIPS support + - drm/mgag200: Enable atomic gamma lut update + * TEE Support for CCP driver (LP: #1991608) + - crypto: ccp: Add support for TEE for PCI ID 0x14CA + * AMD Cezanne takes 5 minutes to wake up from suspend (LP: #1993715) + - platform/x86/amd: pmc: Read SMU version during suspend on Cezanne systems + * Fix ath11k deadlock on WCN6855 (LP: #1995041) + - wifi: ath11k: avoid deadlock during regulatory update in + ath11k_regd_update() + * intel_pmc_core not load on Raptor Lake (LP: #1988461) + - x86/cpu: Add new Raptor Lake CPU model number + - platform/x86/intel: pmc/core: Add Raptor Lake support to pmc core driver + * [UBUNTU 20.04] boot: Add s390x secure boot trailer (LP: #1996071) + - s390/boot: add secure boot trailer + * Fix rfkill causing soft blocked wifi (LP: #1996198) + - platform/x86: hp_wmi: Fix rfkill causing soft blocked wifi + * Support Icicle Kit reference design v2022.10 (LP: #1993148) + - riscv: dts: microchip: icicle: re-jig fabric peripheral addresses + - riscv: dts: microchip: reduce the fic3 clock rate + - riscv: dts: microchip: update memory configuration for v2022.10 + - riscv: dts: microchip: fix fabric i2c reg size + - SAUCE: riscv: dts: microchip: Disable PCIe on the Icicle Kit + * Fix Turbostat is not working for fam: 6 model: 191: stepping: 2 CPU + (LP: #1991365) + - tools/power turbostat: Add support for RPL-S + * armhf kernel compiled with gcc-12 fails to boot on pi 3/2 (LP: #1993120) + - [Packaging] Support arch-specific compilers in updateconfigs + * Kinetic update: v5.19.17 upstream stable release (LP: #1994179) + - Revert "fs: check FMODE_LSEEK to control internal pipe splicing" + - ALSA: oss: Fix potential deadlock at unregistration + - ALSA: rawmidi: Drop register_mutex in snd_rawmidi_free() + - ALSA: usb-audio: Fix potential memory leaks + - ALSA: usb-audio: Fix NULL dererence at error path + - ALSA: hda/realtek: remove ALC289_FIXUP_DUAL_SPK for Dell 5530 + - ALSA: hda/realtek: Correct pin configs for ASUS G533Z + - ALSA: hda/realtek: Add quirk for ASUS GV601R laptop + - ALSA: hda/realtek: Add Intel Reference SSID to support headset keys + - mtd: rawnand: atmel: Unmap streaming DMA mappings + - io_uring/rw: fix unexpected link breakage + - io_uring/net: fix fast_iov assignment in io_setup_async_msg() + - io_uring/net: don't update msg_name if not provided + - io_uring: correct pinned_vm accounting + - hv_netvsc: Fix race between VF offering and VF association message from host + - cifs: destage dirty pages before re-reading them for cache=none + - cifs: Fix the error length of VALIDATE_NEGOTIATE_INFO message + - iio: dac: ad5593r: Fix i2c read protocol requirements + - iio: ltc2497: Fix reading conversion results + - iio: adc: ad7923: fix channel readings for some variants + - iio: pressure: dps310: Refactor startup procedure + - iio: pressure: dps310: Reset chip after timeout + - xhci: dbc: Fix memory leak in xhci_alloc_dbc() + - usb: gadget: uvc: Fix argument to sizeof() in uvc_register_video() + - usb: add quirks for Lenovo OneLink+ Dock + - mmc: core: Add SD card quirk for broken discard + - can: kvaser_usb: Fix use of uninitialized completion + - can: kvaser_usb_leaf: Fix overread with an invalid command + - can: kvaser_usb_leaf: Fix TX queue out of sync after restart + - can: kvaser_usb_leaf: Fix CAN state after restart + - mmc: renesas_sdhi: Fix rounding errors + - mmc: sdhci-tegra: Use actual clock rate for SW tuning correction + - mmc: sdhci-sprd: Fix minimum clock limit + - i2c: designware: Fix handling of real but unexpected device interrupts + - fs: dlm: fix race between test_bit() and queue_work() + - fs: dlm: handle -EBUSY first in lock arg validation + - fs: dlm: fix invalid derefence of sb_lvbptr + - btf: Export bpf_dynptr definition + - HID: multitouch: Add memory barriers + - quota: Check next/prev free block number after reading from quota file + - platform/chrome: cros_ec_proto: Update version on GET_NEXT_EVENT failure + - arm64: dts: qcom: sdm845-mtp: correct ADC settle time + - ASoC: wcd9335: fix order of Slimbus unprepare/disable + - ASoC: wcd934x: fix order of Slimbus unprepare/disable + - hwmon: (gsc-hwmon) Call of_node_get() before of_find_xxx API + - net: thunderbolt: Enable DMA paths only after rings are enabled + - regulator: qcom_rpm: Fix circular deferral regression + - arm64: topology: move store_cpu_topology() to shared code + - riscv: topology: fix default topology reporting + - RISC-V: Re-enable counter access from userspace + - RISC-V: Make port I/O string accessors actually work + - parisc: fbdev/stifb: Align graphics memory size to 4MB + - parisc: Fix userspace graphics card breakage due to pgtable special bit + - riscv: vdso: fix NULL deference in vdso_join_timens() when vfork + - riscv: Make VM_WRITE imply VM_READ + - riscv: always honor the CONFIG_CMDLINE_FORCE when parsing dtb + - riscv: Pass -mno-relax only on lld < 15.0.0 + - UM: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK + - nvmem: core: Fix memleak in nvmem_register() + - nvme-multipath: fix possible hang in live ns resize with ANA access + - dmaengine: mxs: use platform_driver_register + - dmaengine: qcom-adm: fix wrong sizeof config in slave_config + - dmaengine: qcom-adm: fix wrong calling convention for prep_slave_sg + - drm/virtio: Check whether transferred 2D BO is shmem + - drm/virtio: Unlock reservations on virtio_gpu_object_shmem_init() error + - drm/virtio: Unlock reservations on dma_resv_reserve_fences() error + - drm/virtio: Use appropriate atomic state in virtio_gpu_plane_cleanup_fb() + - drm/udl: Restore display mode on resume + - arm64: mte: move register initialization to C + - [Config] updateconfigs for ARM64_ERRATUM_2441007 + - arm64: errata: Add Cortex-A55 to the repeat tlbi list + - clocksource/drivers/arm_arch_timer: Fix CNTPCT_LO and CNTVCT_LO value + - mm/hugetlb: fix races when looking up a CONT-PTE/PMD size hugetlb page + - mm/damon: validate if the pmd entry is present before accessing + - mm/uffd: fix warning without PTE_MARKER_UFFD_WP compiled in + - mm/mmap: undo ->mmap() when arch_validate_flags() fails + - xen/gntdev: Prevent leaking grants + - xen/gntdev: Accommodate VMA splitting + - PCI: Sanitise firmware BAR assignments behind a PCI-PCI bridge + - serial: cpm_uart: Don't request IRQ too early for console port + - serial: stm32: Deassert Transmit Enable on ->rs485_config() + - serial: 8250: Let drivers request full 16550A feature probing + - serial: 8250: Request full 16550A feature probing for OxSemi PCIe devices + - cpufreq: qcom-cpufreq-hw: Fix uninitialized throttled_freq warning + - powercap: intel_rapl: Use standard Energy Unit for SPR Dram RAPL domain + - powerpc/Kconfig: Fix non existing CONFIG_PPC_FSL_BOOKE + - powerpc/boot: Explicitly disable usage of SPE instructions + - slimbus: qcom-ngd: use correct error in message of pdr_add_lookup() failure + - slimbus: qcom-ngd: cleanup in probe error path + - scsi: lpfc: Rework MIB Rx Monitor debug info logic + - scsi: qedf: Populate sysfs attributes for vport + - gpio: rockchip: request GPIO mux to pinctrl when setting direction + - pinctrl: rockchip: add pinmux_ops.gpio_set_direction callback + - fbdev: smscufx: Fix use-after-free in ufx_ops_open() + - hwrng: core - let sleep be interrupted when unregistering hwrng + - smb3: do not log confusing message when server returns no network interfaces + - ksmbd: fix incorrect handling of iterate_dir + - ksmbd: fix endless loop when encryption for response fails + - ksmbd: Fix wrong return value and message length check in smb2_ioctl() + - ksmbd: Fix user namespace mapping + - fs: record I_DIRTY_TIME even if inode already has I_DIRTY_INODE + - btrfs: fix alignment of VMA for memory mapped files on THP + - btrfs: enhance unsupported compat RO flags handling + - btrfs: fix race between quota enable and quota rescan ioctl + - btrfs: fix missed extent on fsync after dropping extent maps + - btrfs: set generation before calling btrfs_clean_tree_block in + btrfs_init_new_buffer + - f2fs: fix wrong continue condition in GC + - f2fs: complete checkpoints during remount + - f2fs: flush pending checkpoints when freezing super + - f2fs: increase the limit for reserve_root + - f2fs: fix to do sanity check on destination blkaddr during recovery + - f2fs: fix to do sanity check on summary info + - jbd2: wake up journal waiters in FIFO order, not LIFO + - jbd2: fix potential buffer head reference count leak + - jbd2: fix potential use-after-free in jbd2_fc_wait_bufs + - jbd2: add miss release buffer head in fc_do_one_pass() + - ext2: Add sanity checks for group and filesystem size + - ext4: avoid crash when inline data creation follows DIO write + - ext4: fix null-ptr-deref in ext4_write_info + - ext4: make ext4_lazyinit_thread freezable + - ext4: fix check for block being out of directory size + - ext4: don't increase iversion counter for ea_inodes + - ext4: unconditionally enable the i_version counter + - ext4: ext4_read_bh_lock() should submit IO if the buffer isn't uptodate + - ext4: place buffer head allocation before handle start + - ext4: fix i_version handling in ext4 + - ext4: fix dir corruption when ext4_dx_add_entry() fails + - ext4: fix miss release buffer head in ext4_fc_write_inode + - ext4: fix potential memory leak in ext4_fc_record_modified_inode() + - ext4: fix potential memory leak in ext4_fc_record_regions() + - ext4: update 'state->fc_regions_size' after successful memory allocation + - livepatch: fix race between fork and KLP transition + - ftrace: Properly unset FTRACE_HASH_FL_MOD + - ftrace: Still disable enabled records marked as disabled + - ring-buffer: Allow splice to read previous partially read pages + - ring-buffer: Have the shortest_full queue be the shortest not longest + - ring-buffer: Check pending waiters when doing wake ups as well + - ring-buffer: Add ring_buffer_wake_waiters() + - ring-buffer: Fix race between reset page and reading page + - tracing: Disable interrupt or preemption before acquiring arch_spinlock_t + - tracing: Wake up ring buffer waiters on closing of the file + - tracing: Wake up waiters when tracing is disabled + - tracing: Add ioctl() to force ring buffer waiters to wake up + - tracing: Do not free snapshot if tracer is on cmdline + - tracing: Move duplicate code of trace_kprobe/eprobe.c into header + - tracing: Add "(fault)" name injection to kernel probes + - tracing: Fix reading strings from synthetic events + - rpmsg: char: Avoid double destroy of default endpoint + - thunderbolt: Explicitly enable lane adapter hotplug events at startup + - efi: libstub: drop pointless get_memory_map() call + - media: cedrus: Set the platform driver data earlier + - media: cedrus: Fix endless loop in cedrus_h265_skip_bits() + - blk-throttle: fix that io throttle can only work for single bio + - blk-wbt: call rq_qos_add() after wb_normal is initialized + - KVM: x86/emulator: Fix handing of POP SS to correctly set interruptibility + - KVM: nVMX: Unconditionally purge queued/injected events on nested "exit" + - KVM: nVMX: Don't propagate vmcs12's PERF_GLOBAL_CTRL settings to vmcs02 + - KVM: VMX: Drop bits 31:16 when shoving exception error code into VMCS + - staging: greybus: audio_helper: remove unused and wrong debugfs usage + - drm/nouveau/kms/nv140-: Disable interlacing + - drm/nouveau: fix a use-after-free in nouveau_gem_prime_import_sg_table() + - drm/i915/gt: Use i915_vm_put on ppgtt_create error paths + - drm/i915: Fix watermark calculations for gen12+ RC CCS modifier + - drm/i915: Fix watermark calculations for gen12+ MC CCS modifier + - drm/i915: Fix watermark calculations for gen12+ CCS+CC modifier + - drm/i915: Fix watermark calculations for DG2 CCS modifiers + - drm/i915: Fix watermark calculations for DG2 CCS+CC modifier + - drm/amd/display: Fix vblank refcount in vrr transition + - drm/amd/display: explicitly disable psr_feature_enable appropriately + - smb3: must initialize two ACL struct fields to zero + - selinux: use "grep -E" instead of "egrep" + - ima: fix blocking of security.ima xattrs of unsupported algorithms + - userfaultfd: open userfaultfds with O_RDONLY + - ntfs3: rework xattr handlers and switch to POSIX ACL VFS helpers + - thermal: cpufreq_cooling: Check the policy first in + cpufreq_cooling_register() + - cpufreq: amd-pstate: Fix initial highest_perf value + - sh: machvec: Use char[] for section boundaries + - MIPS: SGI-IP30: Fix platform-device leak in bridge_platform_create() + - MIPS: SGI-IP27: Fix platform-device leak in bridge_platform_create() + - erofs: fix order >= MAX_ORDER warning due to crafted negative i_size + - erofs: use kill_anon_super() to kill super in fscache mode + - ARM: 9243/1: riscpc: Unbreak the build + - ARM: 9244/1: dump: Fix wrong pg_level in walk_pmd() + - ARM: 9247/1: mm: set readonly for MT_MEMORY_RO with ARM_LPAE + - ACPI: PCC: Release resources on address space setup failure path + - ACPI: PCC: replace wait_for_completion() + - ACPI: PCC: Fix Tx acknowledge in the PCC address space handler + - objtool: Preserve special st_shndx indexes in elf_update_symbol + - nfsd: Fix a memory leak in an error handling path + - NFSD: Fix handling of oversized NFSv4 COMPOUND requests + - x86/paravirt: add extra clobbers with ZERO_CALL_USED_REGS enabled + - wifi: rtlwifi: 8192de: correct checking of IQK reload + - wifi: ath10k: add peer map clean up for peer delete in ath10k_sta_state() + - bpf: Fix non-static bpf_func_proto struct definitions + - bpf: convert cgroup_bpf.progs to hlist + - bpf: Cleanup check_refcount_ok + - leds: lm3601x: Don't use mutex after it was destroyed + - tsnep: Fix TSNEP_INFO_TX_TIME register define + - bpf: Fix reference state management for synchronous callbacks + - wifi: cfg80211: get correct AP link chandef + - wifi: mac80211: allow bw change during channel switch in mesh + - bpftool: Fix a wrong type cast in btf_dumper_int + - audit: explicitly check audit_context->context enum value + - audit: free audit_proctitle only on task exit + - esp: choose the correct inner protocol for GSO on inter address family + tunnels + - spi: mt7621: Fix an error message in mt7621_spi_probe() + - x86/resctrl: Fix to restore to original value when re-enabling hardware + prefetch register + - xsk: Fix backpressure mechanism on Tx + - selftests/xsk: Add missing close() on netns fd + - bpf: Disable preemption when increasing per-cpu map_locked + - bpf: Propagate error from htab_lock_bucket() to userspace + - wifi: ath11k: Fix incorrect QMI message ID mappings + - bpf: Use this_cpu_{inc|dec|inc_return} for bpf_task_storage_busy + - bpf: Use this_cpu_{inc_return|dec} for prog->active + - Bluetooth: btusb: mediatek: fix WMT failure during runtime suspend + - wifi: rtw89: pci: fix interrupt stuck after leaving low power mode + - wifi: rtw89: pci: correct TX resource checking in low power mode + - wifi: rtl8xxxu: tighten bounds checking in rtl8xxxu_read_efuse() + - wifi: wfx: prevent underflow in wfx_send_pds() + - wifi: rtw88: add missing destroy_workqueue() on error path in + rtw_core_init() + - selftests/xsk: Avoid use-after-free on ctx + - spi: qup: add missing clk_disable_unprepare on error in spi_qup_resume() + - spi: qup: add missing clk_disable_unprepare on error in + spi_qup_pm_resume_runtime() + - wifi: rtl8xxxu: Fix skb misuse in TX queue selection + - spi: meson-spicc: do not rely on busy flag in pow2 clk ops + - bpf: btf: fix truncated last_member_type_id in btf_struct_resolve + - wifi: rtl8xxxu: gen2: Fix mistake in path B IQ calibration + - wifi: rtl8xxxu: Remove copy-paste leftover in gen2_update_rate_mask + - wifi: mt76: mt7921e: fix race issue between reset and suspend/resume + - wifi: mt76: mt7921s: fix race issue between reset and suspend/resume + - wifi: mt76: mt7921u: fix race issue between reset and suspend/resume + - wifi: mt76: sdio: fix the deadlock caused by sdio->stat_work + - wifi: mt76: sdio: poll sta stat when device transmits data + - wifi: mt76: sdio: fix transmitting packet hangs + - wifi: mt76: mt7615: add mt7615_mutex_acquire/release in + mt7615_sta_set_decap_offload + - wifi: mt76: mt7915: fix possible unaligned access in + mt7915_mac_add_twt_setup + - wifi: mt76: connac: fix possible unaligned access in + mt76_connac_mcu_add_nested_tlv + - wifi: mt76: mt7921: add mt7921_mutex_acquire at mt7921_[start, stop]_ap + - wifi: mt76: mt7921: add mt7921_mutex_acquire at mt7921_sta_set_decap_offload + - wifi: mt76: mt7915: fix mcs value in ht mode + - wifi: mt76: mt7915: do not check state before configuring implicit beamform + - wifi: mt76: mt7921e: fix rmmod crash in driver reload test + - Bluetooth: RFCOMM: Fix possible deadlock on socket shutdown/release + - net: fs_enet: Fix wrong check in do_pd_setup + - bpf: Ensure correct locking around vulnerable function find_vpid() + - wifi: ath11k: Include STA_KEEPALIVE_ARP_RESPONSE TLV header by default + - Bluetooth: hci_{ldisc,serdev}: check percpu_init_rwsem() failure + - netfilter: conntrack: fix the gc rescheduling delay + - netfilter: conntrack: revisit the gc initial rescheduling bias + - flow_dissector: Do not count vlan tags inside tunnel payload + - wifi: ath11k: fix failed to find the peer with peer_id 0 when disconnected + - wifi: ath11k: fix number of VHT beamformee spatial streams + - mips: dts: ralink: mt7621: fix external phy on GB-PC2 + - x86/microcode/AMD: Track patch allocation size explicitly + - wifi: ath11k: fix peer addition/deletion error on sta band migration + - x86/cpu: Include the header of init_ia32_feat_ctl()'s prototype + - spi: cadence-quadspi: Fix PM disable depth imbalance in cqspi_probe + - spi: dw: Fix PM disable depth imbalance in dw_spi_bt1_probe + - spi/omap100k:Fix PM disable depth imbalance in omap1_spi100k_probe + - skmsg: Schedule psock work if the cached skb exists on the psock + - cw1200: fix incorrect check to determine if no element is found in list + - i2c: mlxbf: support lock mechanism + - Bluetooth: hci_core: Fix not handling link timeouts propertly + - xfrm: Reinject transport-mode packets through workqueue + - netfilter: nft_fib: Fix for rpath check with VRF devices + - spi: s3c64xx: Fix large transfers with DMA + - wifi: rtl8xxxu: gen2: Enable 40 MHz channel width + - wifi: rtl8xxxu: Fix AIFS written to REG_EDCA_*_PARAM + - vhost/vsock: Use kvmalloc/kvfree for larger packets. + - eth: alx: take rtnl_lock on resume + - sctp: handle the error returned from sctp_auth_asoc_init_active_key + - tcp: fix tcp_cwnd_validate() to not forget is_cwnd_limited + - spi: Ensure that sg_table won't be used after being freed + - Bluetooth: hci_sync: Fix not indicating power state + - hwmon: (pmbus/mp2888) Fix sensors readouts for MPS Multi-phase mp2888 + controller + - net: rds: don't hold sock lock when cancelling work from + rds_tcp_reset_callbacks() + - af_unix: Fix memory leaks of the whole sk due to OOB skb. + - net: prestera: acl: Add check for kmemdup + - eth: lan743x: reject extts for non-pci11x1x devices + - bnx2x: fix potential memory leak in bnx2x_tpa_stop() + - eth: sp7021: fix use after free bug in spl2sw_nvmem_get_mac_address + - net: wwan: iosm: Call mutex_init before locking it + - net/ieee802154: reject zero-sized raw_sendmsg() + - once: add DO_ONCE_SLOW() for sleepable contexts + - net: mvpp2: fix mvpp2 debugfs leak + - drm: bridge: adv7511: fix CEC power down control register offset + - drm: bridge: adv7511: unregister cec i2c device after cec adapter + - drm/bridge: Avoid uninitialized variable warning + - drm/mipi-dsi: Detach devices when removing the host + - drm/bridge: it6505: Power on downstream device in .atomic_enable + - drm/virtio: Correct drm_gem_shmem_get_sg_table() error handling + - drm/bridge: tc358767: Add of_node_put() when breaking out of loop + - drm/bridge: parade-ps8640: Fix regulator supply order + - drm/dp_mst: fix drm_dp_dpcd_read return value checks + - drm:pl111: Add of_node_put() when breaking out of + for_each_available_child_of_node() + - ASoC: mt6359: fix tests for platform_get_irq() failure + - drm/msm: Make .remove and .shutdown HW shutdown consistent + - platform/chrome: fix double-free in chromeos_laptop_prepare() + - platform/chrome: fix memory corruption in ioctl + - drm/virtio: Fix same-context optimization + - ASoC: soc-pcm.c: call __soc_pcm_close() in soc_pcm_close() + - ASoC: tas2764: Allow mono streams + - ASoC: tas2764: Drop conflicting set_bias_level power setting + - ASoC: tas2764: Fix mute/unmute + - platform/x86: msi-laptop: Fix old-ec check for backlight registering + - platform/x86: msi-laptop: Fix resource cleanup + - platform/chrome: cros_ec_typec: Correct alt mode index + - drm/amdgpu: add missing pci_disable_device() in + amdgpu_pmops_runtime_resume() + - drm/bridge: megachips: Fix a null pointer dereference bug + - drm/bridge: it6505: Fix the order of DP_SET_POWER commands + - ASoC: rsnd: Add check for rsnd_mod_power_on + - ASoC: wm_adsp: Handle optional legacy support + - ALSA: hda: beep: Simplify keep-power-at-enable behavior + - drm/virtio: set fb_modifiers_not_supported + - drm/bochs: fix blanking + - ASoC: SOF: mediatek: mt8195: Import namespace SND_SOC_SOF_MTK_COMMON + - drm/omap: dss: Fix refcount leak bugs + - drm/amdgpu: Fix memory leak in hpd_rx_irq_create_workqueue() + - mmc: au1xmmc: Fix an error handling path in au1xmmc_probe() + - ASoC: eureka-tlv320: Hold reference returned from of_find_xxx API + - drm/msm: lookup the ICC paths in both mdp5/dpu and mdss devices + - drm/msm/dpu: index dpu_kms->hw_vbif using vbif_idx + - drm/msm/dp: correct 1.62G link rate at dp_catalog_ctrl_config_msa() + - ALSA: usb-audio: Properly refcounting clock rate + - drm/vmwgfx: Fix memory leak in vmw_mksstat_add_ioctl() + - virtio-gpu: fix shift wrapping bug in virtio_gpu_fence_event_create() + - ASoC: codecs: tx-macro: fix kcontrol put + - ASoC: da7219: Fix an error handling path in da7219_register_dai_clks() + - ALSA: dmaengine: increment buffer pointer atomically + - mmc: wmt-sdmmc: Fix an error handling path in wmt_mci_probe() + - ASoC: stm32: dfsdm: Fix PM disable depth imbalance in stm32_adfsdm_probe + - ASoC: stm32: spdifrx: Fix PM disable depth imbalance in stm32_spdifrx_probe + - ASoC: stm: Fix PM disable depth imbalance in stm32_i2s_probe + - ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe + - ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe + - ASoC: wm5102: Fix PM disable depth imbalance in wm5102_probe + - ASoC: mt6660: Fix PM disable depth imbalance in mt6660_i2c_probe + - ALSA: hda/hdmi: Don't skip notification handling during PM operation + - memory: pl353-smc: Fix refcount leak bug in pl353_smc_probe() + - memory: of: Fix refcount leak bug in of_get_ddr_timings() + - memory: of: Fix refcount leak bug in of_lpddr3_get_ddr_timings() + - locks: fix TOCTOU race when granting write lease + - soc: qcom: smsm: Fix refcount leak bugs in qcom_smsm_probe() + - soc: qcom: smem_state: Add refcounting for the 'state->of_node' + - ARM: dts: imx6qdl-kontron-samx6i: hook up DDC i2c bus + - arm64: dts: renesas: r9a07g044: Fix SCI{Rx,Tx} interrupt types + - arm64: dts: renesas: r9a07g054: Fix SCI{Rx,Tx} interrupt types + - arm64: dts: renesas: r9a07g043: Fix SCI{Rx,Tx} interrupt types + - dt-bindings: clock: exynosautov9: correct clock numbering of peric0/c1 + - ARM: dts: turris-omnia: Fix mpp26 pin name and comment + - ARM: dts: kirkwood: lsxl: fix serial line + - ARM: dts: kirkwood: lsxl: remove first ethernet port + - ia64: export memory_add_physaddr_to_nid to fix cxl build error + - soc/tegra: fuse: Drop Kconfig dependency on TEGRA20_APB_DMA + - arm64: dts: ti: k3-j7200: fix main pinmux range + - ARM: dts: exynos: correct s5k6a3 reset polarity on Midas family + - ARM: Drop CMDLINE_* dependency on ATAGS + - ext4: don't run ext4lazyinit for read-only filesystems + - arm64: ftrace: fix module PLTs with mcount + - ARM: dts: exynos: fix polarity of VBUS GPIO of Origen + - iomap: iomap: fix memory corruption when recording errors during writeback + - iio: adc: at91-sama5d2_adc: fix AT91_SAMA5D2_MR_TRACKTIM_MAX + - iio: adc: at91-sama5d2_adc: check return status for pressure and touch + - iio: adc: at91-sama5d2_adc: lock around oversampling and sample freq + - iio: adc: at91-sama5d2_adc: disable/prepare buffer on suspend/resume + - iio: inkern: only release the device node when done with it + - iio: inkern: fix return value in devm_of_iio_channel_get_by_name() + - iio: ABI: Fix wrong format of differential capacitance channel ABI. + - iio: magnetometer: yas530: Change data type of hard_offsets to signed + - RDMA/mlx5: Don't compare mkey tags in DEVX indirect mkey + - usb: common: debug: Check non-standard control requests + - clk: meson: Hold reference returned by of_get_parent() + - clk: st: Hold reference returned by of_get_parent() + - clk: oxnas: Hold reference returned by of_get_parent() + - clk: qoriq: Hold reference returned by of_get_parent() + - clk: berlin: Add of_node_put() for of_get_parent() + - clk: sprd: Hold reference returned by of_get_parent() + - clk: tegra: Fix refcount leak in tegra210_clock_init + - clk: tegra: Fix refcount leak in tegra114_clock_init + - clk: tegra20: Fix refcount leak in tegra20_clock_init + - clk: samsung: exynosautov9: correct register offsets of peric0/c1 + - HSI: omap_ssi: Fix refcount leak in ssi_probe + - HSI: omap_ssi_port: Fix dma_map_sg error check + - clk: qcom: gcc-sdm660: Use floor ops for SDCC1 clock + - media: exynos4-is: fimc-is: Add of_node_put() when breaking out of loop + - tty: xilinx_uartps: Fix the ignore_status + - media: amphion: insert picture startcode after seek for vc1g format + - media: amphion: adjust the encoder's value range of gop size + - media: amphion: don't change the colorspace reported by decoder. + - media: amphion: fix a bug that vpu core may not resume after suspend + - media: meson: vdec: add missing clk_disable_unprepare on error in + vdec_hevc_start() + - media: uvcvideo: Fix memory leak in uvc_gpio_parse + - media: uvcvideo: Use entity get_cur in uvc_ctrl_set + - media: xilinx: vipp: Fix refcount leak in xvip_graph_dma_init + - RDMA/rxe: Fix "kernel NULL pointer dereference" error + - RDMA/rxe: Fix the error caused by qp->sk + - clk: mediatek: clk-mt8195-vdo0: Set rate on vdo0_dp_intf0_dp_intf's parent + - clk: mediatek: clk-mt8195-vdo1: Reparent and set rate on vdo1_dpintf's + parent + - clk: mediatek: mt8195-infra_ao: Set pwrmcu clocks as critical + - misc: ocxl: fix possible refcount leak in afu_ioctl() + - fpga: prevent integer overflow in dfl_feature_ioctl_set_irq() + - phy: rockchip-inno-usb2: Return zero after otg sync + - dmaengine: idxd: avoid deadlock in process_misc_interrupts() + - dmaengine: hisilicon: Disable channels when unregister hisi_dma + - dmaengine: hisilicon: Fix CQ head update + - dmaengine: hisilicon: Add multi-thread support for a DMA channel + - usb: gadget: f_fs: stricter integer overflow checks + - dyndbg: fix static_branch manipulation + - dyndbg: fix module.dyndbg handling + - dyndbg: let query-modname override actual module name + - dyndbg: drop EXPORTed dynamic_debug_exec_queries + - clk: qcom: sm6115: Select QCOM_GDSC + - mtd: devices: docg3: check the return value of devm_ioremap() in the probe + - remoteproc: Harden rproc_handle_vdev() against integer overflow + - phy: amlogic: phy-meson-axg-mipi-pcie-analog: Hold reference returned by + of_get_parent() + - phy: phy-mtk-tphy: fix the phy type setting issue + - mtd: rawnand: intel: Read the chip-select line from the correct OF node + - mtd: rawnand: intel: Remove undocumented compatible string + - mtd: rawnand: fsl_elbc: Fix none ECC mode + - RDMA/irdma: Align AE id codes to correct flush code and event + - RDMA/irdma: Validate udata inlen and outlen + - RDMA/srp: Fix srp_abort() + - RDMA/siw: Always consume all skbuf data in sk_data_ready() upcall. + - RDMA/siw: Fix QP destroy to wait for all references dropped. + - ata: fix ata_id_sense_reporting_enabled() and ata_id_has_sense_reporting() + - ata: fix ata_id_has_devslp() + - ata: fix ata_id_has_ncq_autosense() + - ata: fix ata_id_has_dipm() + - mtd: rawnand: meson: fix bit map use in meson_nfc_ecc_correct() + - md/raid5: Ensure stripe_fill happens on non-read IO with journal + - md/raid5: Remove unnecessary bio_put() in raid5_read_one_chunk() + - RDMA/cm: Use SLID in the work completion as the DLID in responder side + - IB: Set IOVA/LENGTH on IB_MR in core/uverbs layers + - xhci: Don't show warning for reinit on known broken suspend + - usb: gadget: function: fix dangling pnp_string in f_printer.c + - usb: dwc3: core: fix some leaks in probe + - drivers: serial: jsm: fix some leaks in probe + - serial: 8250: Toggle IER bits on only after irq has been set up + - tty: serial: fsl_lpuart: disable dma rx/tx use flags in lpuart_dma_shutdown + - phy: qualcomm: call clk_disable_unprepare in the error handling + - staging: vt6655: fix some erroneous memory clean-up loops + - slimbus: qcom-ngd-ctrl: allow compile testing without QCOM_RPROC_COMMON + - slimbus: qcom-ngd: Add error handling in of_qcom_slim_ngd_register + - firmware: google: Test spinlock on panic path to avoid lockups + - serial: 8250: Fix restoring termios speed after suspend + - scsi: libsas: Fix use-after-free bug in smp_execute_task_sg() + - scsi: pm8001: Fix running_req for internal abort commands + - scsi: iscsi: Rename iscsi_conn_queue_work() + - scsi: iscsi: Add recv workqueue helpers + - scsi: iscsi: Run recv path from workqueue + - scsi: iscsi: iscsi_tcp: Fix null-ptr-deref while calling getpeername() + - clk: qcom: apss-ipq6018: mark apcs_alias0_core_clk as critical + - clk: qcom: gcc-sm6115: Override default Alpha PLL regs + - RDMA/rxe: Fix resize_finish() in rxe_queue.c + - fsi: core: Check error number after calling ida_simple_get + - mfd: intel_soc_pmic: Fix an error handling path in + intel_soc_pmic_i2c_probe() + - mfd: fsl-imx25: Fix an error handling path in mx25_tsadc_setup_irq() + - mfd: lp8788: Fix an error handling path in lp8788_probe() + - mfd: lp8788: Fix an error handling path in lp8788_irq_init() and + lp8788_irq_init() + - mfd: fsl-imx25: Fix check for platform_get_irq() errors + - mfd: sm501: Add check for platform_driver_register() + - mfd: da9061: Fix Failed to set Two-Wire Bus Mode. + - clk: mediatek: mt8183: mfgcfg: Propagate rate changes to parent + - clk: mediatek: clk-mt8195-mfg: Reparent mfg_bg3d and propagate rate changes + - clk: mediatek: fix unregister function in mtk_clk_register_dividers cleanup + - clk: mediatek: Migrate remaining clk_unregister_*() to clk_hw_unregister_*() + - dmaengine: ioat: stop mod_timer from resurrecting deleted timer in + __cleanup() + - usb: mtu3: fix failed runtime suspend in host only mode + - spmi: pmic-arb: correct duplicate APID to PPID mapping logic + - clk: vc5: Fix 5P49V6901 outputs disabling when enabling FOD + - clk: baikal-t1: Fix invalid xGMAC PTP clock divider + - clk: baikal-t1: Add shared xGMAC ref/ptp clocks internal parent + - clk: baikal-t1: Add SATA internal ref clock buffer + - clk: bcm2835: fix bcm2835_clock_rate_from_divisor declaration + - clk: imx: scu: fix memleak on platform_device_add() fails + - clk: ti: Balance of_node_get() calls for of_find_node_by_name() + - clk: ti: dra7-atl: Fix reference leak in of_dra7_atl_clk_probe + - clk: ast2600: BCLK comes from EPLL + - mailbox: mpfs: fix handling of the reg property + - mailbox: mpfs: account for mbox offsets while sending + - mailbox: bcm-ferxrm-mailbox: Fix error check for dma_map_sg + - ipc: mqueue: fix possible memory leak in init_mqueue_fs() + - powerpc/configs: Properly enable PAPR_SCM in pseries_defconfig + - powerpc/math_emu/efp: Include module.h + - powerpc/sysdev/fsl_msi: Add missing of_node_put() + - powerpc/pci_dn: Add missing of_node_put() + - powerpc/powernv: add missing of_node_put() in opal_export_attrs() + - cpuidle: riscv-sbi: Fix CPU_PM_CPU_IDLE_ENTER_xyz() macro usage + - powerpc: Fix fallocate and fadvise64_64 compat parameter combination + - x86/hyperv: Fix 'struct hv_enlightened_vmcs' definition + - powerpc/64s: Fix GENERIC_CPU build flags for PPC970 / G5 + - powerpc/64: mark irqs hard disabled in boot paca + - powerpc/64/interrupt: Fix return to masked context after hard-mask irq + becomes pending + - powerpc: Fix SPE Power ISA properties for e500v1 platforms + - powerpc/kprobes: Fix null pointer reference in arch_prepare_kprobe() + - powerpc/pseries/vas: Pass hw_cpu_id to node associativity HCALL + - crypto: sahara - don't sleep when in softirq + - crypto: hisilicon/zip - fix mismatch in get/set sgl_sge_nr + - hwrng: arm-smccc-trng - fix NO_ENTROPY handling + - crypto: ccp - Fail the PSP initialization when writing psp data file failed + - cgroup: Honor caller's cgroup NS when resolving path + - hwrng: imx-rngc - Moving IRQ handler registering after + imx_rngc_irq_mask_clear() + - crypto: qat - fix default value of WDT timer + - crypto: hisilicon/qm - fix missing put dfx access + - cgroup/cpuset: Enable update_tasks_cpumask() on top_cpuset + - iommu/omap: Fix buffer overflow in debugfs + - crypto: akcipher - default implementation for setting a private key + - crypto: ccp - Release dma channels before dmaengine unrgister + - crypto: inside-secure - Change swab to swab32 + - crypto: qat - fix DMA transfer direction + - clocksource/drivers/arm_arch_timer: Fix handling of ARM erratum 858921 + - clocksource/drivers/timer-gxp: Add missing error handling in gxp_timer_probe + - cifs: return correct error in ->calc_signature() + - iommu/iova: Fix module config properly + - tracing: kprobe: Fix kprobe event gen test module on exit + - tracing: kprobe: Make gen test module work in arm and riscv + - tracing/osnoise: Fix possible recursive locking in stop_per_cpu_kthreads + - kbuild: remove the target in signal traps when interrupted + - linux/export: use inline assembler to populate symbol CRCs + - kbuild: rpm-pkg: fix breakage when V=1 is used + - crypto: marvell/octeontx - prevent integer overflows + - crypto: cavium - prevent integer overflow loading firmware + - random: schedule jitter credit for next jiffy, not in two jiffies + - thermal/drivers/qcom/tsens-v0_1: Fix MSM8939 fourth sensor hw_id + - ACPI: APEI: do not add task_work to kernel thread to avoid memory leak + - f2fs: fix race condition on setting FI_NO_EXTENT flag + - f2fs: fix to account FS_CP_DATA_IO correctly + - selftest: tpm2: Add Client.__del__() to close /dev/tpm* handle + - module: tracking: Keep a record of tainted unloaded modules only + - fs: dlm: fix race in lowcomms + - rcu: Avoid triggering strict-GP irq-work when RCU is idle + - rcu: Back off upon fill_page_cache_func() allocation failure + - cpufreq: amd_pstate: fix wrong lowest perf fetch + - ACPI: video: Add Toshiba Satellite/Portege Z830 quirk + - fortify: Fix __compiletime_strlen() under UBSAN_BOUNDS_LOCAL + - ACPI: tables: FPDT: Don't call acpi_os_map_memory() on invalid phys address + - cpufreq: intel_pstate: Add Tigerlake support in no-HWP mode + - MIPS: BCM47XX: Cast memcmp() of function to (void *) + - powercap: intel_rapl: fix UBSAN shift-out-of-bounds issue + - thermal: intel_powerclamp: Use get_cpu() instead of smp_processor_id() to + avoid crash + - ARM: decompressor: Include .data.rel.ro.local + - ACPI: x86: Add a quirk for Dell Inspiron 14 2-in-1 for StorageD3Enable + - x86/entry: Work around Clang __bdos() bug + - NFSD: Return nfserr_serverfault if splice_ok but buf->pages have data + - NFSD: fix use-after-free on source server when doing inter-server copy + - wifi: ath10k: Set tx credit to one for WCN3990 snoc based devices + - wifi: brcmfmac: fix invalid address access when enabling SCAN log level + - bpftool: Clear errno after libcap's checks + - ice: set tx_tstamps when creating new Tx rings via ethtool + - net: ethernet: ti: davinci_mdio: Add workaround for errata i2329 + - openvswitch: Fix double reporting of drops in dropwatch + - openvswitch: Fix overreporting of drops in dropwatch + - tcp: annotate data-race around tcp_md5sig_pool_populated + - x86/mce: Retrieve poison range from hardware + - wifi: ath9k: avoid uninit memory read in ath9k_htc_rx_msg() + - thunderbolt: Add back Intel Falcon Ridge end-to-end flow control workaround + - x86/apic: Don't disable x2APIC if locked + - net: axienet: Switch to 64-bit RX/TX statistics + - net-next: Fix IP_UNICAST_IF option behavior for connected sockets + - xfrm: Update ipcomp_scratches with NULL when freed + - wifi: ath11k: Register shutdown handler for WCN6750 + - rtw89: ser: leave lps with mutex + - iavf: Fix race between iavf_close and iavf_reset_task + - wifi: brcmfmac: fix use-after-free bug in brcmf_netdev_start_xmit() + - Bluetooth: btintel: Mark Intel controller to support LE_STATES quirk + - regulator: core: Prevent integer underflow + - wifi: ath11k: mhi: fix potential memory leak in ath11k_mhi_register() + - wifi: mt76: mt7921: reset msta->airtime_ac while clearing up hw value + - wifi: rtw89: free unused skb to prevent memory leak + - wifi: rtw89: fix rx filter after scan + - Bluetooth: L2CAP: initialize delayed works at l2cap_chan_create() + - Bluetooth: hci_sysfs: Fix attempting to call device_add multiple times + - bnxt_en: replace reset with config timestamps + - selftests/bpf: Free the allocated resources after test case succeeds + - can: bcm: check the result of can_send() in bcm_can_tx() + - wifi: rt2x00: don't run Rt5592 IQ calibration on MT7620 + - wifi: rt2x00: set correct TX_SW_CFG1 MAC register for MT7620 + - wifi: rt2x00: set VGC gain for both chains of MT7620 + - wifi: rt2x00: set SoC wmac clock register + - wifi: rt2x00: correctly set BBP register 86 for MT7620 + - hwmon: (sht4x) do not overflow clamping operation on 32-bit platforms + - net: If sock is dead don't access sock's sk_wq in sk_stream_wait_memory + - bpf: Adjust kprobe_multi entry_ip for CONFIG_X86_KERNEL_IBT + - bpf: use bpf_prog_pack for bpf_dispatcher + - Bluetooth: L2CAP: Fix user-after-free + - i2c: designware-pci: Group AMD NAVI quirk parts together + - drm/nouveau/nouveau_bo: fix potential memory leak in nouveau_bo_alloc() + - drm: Use size_t type for len variable in drm_copy_field() + - drm: Prevent drm_copy_field() to attempt copying a NULL pointer + - drm/komeda: Fix handling of atomic commits in the atomic_commit_tail hook + - gpu: lontium-lt9611: Fix NULL pointer dereference in lt9611_connector_init() + - drm/amd/display: fix overflow on MIN_I64 definition + - udmabuf: Set ubuf->sg = NULL if the creation of sg table fails + - platform/x86: pmc_atom: Improve quirk message to be less cryptic + - drm: bridge: dw_hdmi: only trigger hotplug event on link change + - drm/amdgpu: Skip the program of MMMC_VM_AGP_* in SRIOV on MMHUB v3_0_0 + - drm/admgpu: Skip CG/PG on SOC21 under SRIOV VF + - ALSA: usb-audio: Register card at the last interface + - drm/vc4: vec: Fix timings for VEC modes + - drm: panel-orientation-quirks: Add quirk for Anbernic Win600 + - drm: panel-orientation-quirks: Add quirk for Aya Neo Air + - platform/chrome: cros_ec: Notify the PM of wake events during resume + - platform/x86: hp-wmi: Setting thermal profile fails with 0x06 + - platform/x86: msi-laptop: Change DMI match / alias strings to fix module + autoloading + - ALSA: intel-dspconfig: add ES8336 support for AlderLake-PS + - ASoC: SOF: pci: Change DMI match info to support all Chrome platforms + - ASoC: SOF: add quirk to override topology mclk_id + - drm/amdgpu: SDMA update use unlocked iterator + - drm/amd/display: correct hostvm flag + - drm/amdgpu: fix initial connector audio value + - drm/meson: reorder driver deinit sequence to fix use-after-free bug + - drm/meson: explicitly remove aggregate driver at module unload time + - drm/meson: remove drm bridges at aggregate driver unbind time + - drm/dp: Don't rewrite link config when setting phy test pattern + - drm/amd/display: Remove interface for periodic interrupt 1 + - drm/amd/display: polling vid stream status in hpo dp blank + - drm/amdkfd: Fix UBSAN shift-out-of-bounds warning + - ARM: dts: imx6: delete interrupts property if interrupts-extended is set + - ARM: dts: imx7d-sdb: config the max pressure for tsc2046 + - ARM: dts: imx6q: add missing properties for sram + - ARM: dts: imx6dl: add missing properties for sram + - ARM: dts: imx6qp: add missing properties for sram + - ARM: dts: imx6sl: add missing properties for sram + - ARM: dts: imx6sll: add missing properties for sram + - ARM: dts: imx6sx: add missing properties for sram + - ARM: dts: imx6sl: use tabs for code indent + - ARM: dts: imx6sx-udoo-neo: don't use multiple blank lines + - kselftest/arm64: Fix validatation termination record after EXTRA_CONTEXT + - arm64: dts: imx8mm-kontron: Use the VSELECT signal to switch SD card IO + voltage + - arm64: dts: imx8mq-librem5: Add bq25895 as max17055's power supply + - btrfs: dump extra info if one free space cache has more bitmaps than it + should + - btrfs: scrub: properly report super block errors in system log + - btrfs: scrub: try to fix super block errors + - btrfs: don't print information about space cache or tree every remount + - btrfs: call __btrfs_remove_free_space_cache_locked on cache load failure + - ARM: 9233/1: stacktrace: Skip frame pointer boundary check for + call_with_stack() + - ARM: 9234/1: stacktrace: Avoid duplicate saving of exception PC value + - ARM: 9242/1: kasan: Only map modules if CONFIG_KASAN_VMALLOC=n + - clk: zynqmp: Fix stack-out-of-bounds in strncpy` + - media: cx88: Fix a null-ptr-deref bug in buffer_prepare() + - media: platform: fix some double free in meson-ge2d and mtk-jpeg and s5p-mfc + - clk: zynqmp: pll: rectify rate rounding in zynqmp_pll_round_rate + - RDMA/rxe: Delete error messages triggered by incoming Read requests + - usb: host: xhci-plat: suspend and resume clocks + - usb: host: xhci-plat: suspend/resume clks for brcm + - scsi: lpfc: Fix null ndlp ptr dereference in abnormal exit path for GFT_ID + - dmaengine: ti: k3-udma: Reset UDMA_CHAN_RT byte counters to prevent overflow + - scsi: 3w-9xxx: Avoid disabling device if failing to enable it + - nbd: Fix hung when signal interrupts nbd_start_device_ioctl() + - iommu/arm-smmu-v3: Make default domain type of HiSilicon PTT device to + identity + - usb: gadget: uvc: increase worker prio to WQ_HIGHPRI + - power: supply: adp5061: fix out-of-bounds read in adp5061_get_chg_type() + - staging: vt6655: fix potential memory leak + - blk-throttle: prevent overflow while calculating wait time + - ata: libahci_platform: Sanity check the DT child nodes number + - bcache: fix set_at_max_writeback_rate() for multiple attached devices + - soundwire: cadence: Don't overwrite msg->buf during write commands + - soundwire: intel: fix error handling on dai registration issues + - HID: roccat: Fix use-after-free in roccat_read() + - HSI: ssi_protocol: fix potential resource leak in ssip_pn_open() + - HID: nintendo: check analog user calibration for plausibility + - eventfd: guard wake_up in eventfd fs calls as well + - md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d + - usb: host: xhci: Fix potential memory leak in xhci_alloc_stream_info() + - usb: musb: Fix musb_gadget.c rxstate overflow bug + - usb: dwc3: core: add gfladj_refclk_lpm_sel quirk + - arm64: dts: imx8mp: Add snps,gfladj-refclk-lpm-sel quirk to USB nodes + - usb: dwc3: core: Enable GUCTL1 bit 10 for fixing termination error after + resume bug + - Revert "usb: storage: Add quirk for Samsung Fit flash" + - staging: rtl8723bs: fix potential memory leak in rtw_init_drv_sw() + - staging: rtl8723bs: fix a potential memory leak in rtw_init_cmd_priv() + - scsi: tracing: Fix compile error in trace_array calls when TRACING is + disabled + - ext2: Use kvmalloc() for group descriptor array + - nvme: handle effects after freeing the request + - nvme: copy firmware_rev on each init + - nvmet-tcp: add bounds check on Transfer Tag + - usb: idmouse: fix an uninit-value in idmouse_open + - blk-mq: use quiesced elevator switch when reinitializing queues + - hwmon (occ): Retry for checksum failure + - fsi: occ: Prevent use after free + - usb: typec: ucsi: Don't warn on probe deferral + - clk: bcm2835: Make peripheral PLLC critical + - clk: bcm2835: Round UART input clock up + - perf: Skip and warn on unknown format 'configN' attrs + - perf intel-pt: Fix segfault in intel_pt_print_info() with uClibc + - perf intel-pt: Fix system_wide dummy event for hybrid + - mm: hugetlb: fix UAF in hugetlb_handle_userfault + - net: ieee802154: return -EINVAL for unknown addr type + - ALSA: usb-audio: Fix last interface check for registration + - blk-wbt: fix that 'rwb->wc' is always set to 1 in wbt_init() + - [Config] updateconfigs for MDIO_BITBANG + - net: ethernet: ti: davinci_mdio: fix build for mdio bitbang uses + - Revert "drm/amd/display: correct hostvm flag" + - Revert "net/ieee802154: reject zero-sized raw_sendmsg()" + - net/ieee802154: don't warn zero-sized raw_sendmsg() + - powerpc/64s/interrupt: Fix lost interrupts when returning to soft-masked + context + - drm/amd/display: Fix build breakage with CONFIG_DEBUG_FS=n + - kbuild: Add skip_encoding_btf_enum64 option to pahole + - Kconfig.debug: simplify the dependency of DEBUG_INFO_DWARF4/5 + - Kconfig.debug: add toolchain checks for DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT + - [Config] updateconfigs for AS_HAS_NON_CONST_LEB128 + - lib/Kconfig.debug: Add check for non-constant .{s,u}leb128 support to DWARF5 + - HID: uclogic: Add missing suffix for digitalizers + - ext4: continue to expand file system when the target size doesn't reach + - drm/i915: Rename block_size()/block_offset() + - drm/i915/bios: Validate fp_timing terminator presence + - drm/i915/bios: Use hardcoded fp_timing size for generating LFP data pointers + - Linux 5.19.17 + * Kinetic update: v5.19.16 upstream stable release (LP: #1994164) + - nilfs2: fix use-after-free bug of struct nilfs_root + - nilfs2: fix leak of nilfs_root in case of writer thread creation failure + - nilfs2: replace WARN_ONs by nilfs_error for checkpoint acquisition failure + - ceph: don't truncate file in atomic_open + - nvme-pci: set min_align_mask before calculating max_hw_sectors + - random: restore O_NONBLOCK support + - random: clamp credited irq bits to maximum mixed + - ALSA: hda: Fix position reporting on Poulsbo + - ALSA: hda/realtek: Add quirk for HP Zbook Firefly 14 G9 model + - efi: Correct Macmini DMI match in uefi cert quirk + - USB: serial: qcserial: add new usb-id for Dell branded EM7455 + - Revert "USB: fixup for merge issue with "usb: dwc3: Don't switch OTG -> + peripheral if extcon is present"" + - Revert "usb: dwc3: Don't switch OTG -> peripheral if extcon is present" + - Revert "powerpc/rtas: Implement reentrant rtas call" + - Revert "crypto: qat - reduce size of mapped region" + - random: avoid reading two cache lines on irq randomness + - random: use expired timer rather than wq for mixing fast pool + - mctp: prevent double key removal and unref + - Input: xpad - add supported devices as contributed on github + - Input: xpad - fix wireless 360 controller breaking after suspend + - misc: pci_endpoint_test: Aggregate params checking for xfer + - misc: pci_endpoint_test: Fix pci_endpoint_test_{copy,write,read}() panic + - Linux 5.19.16 + * Kinetic update: v5.19.15 upstream stable release (LP: #1994078) + - sparc: Unbreak the build + - Makefile.extrawarn: Move -Wcast-function-type-strict to W=1 + - [Config] updateconfigs for CC_HAS_AUTO_VAR_INIT_ZERO_ENABLER + - hardening: Remove Clang's enable flag for -ftrivial-auto-var-init=zero + - docs: update mediator information in CoC docs + - xsk: Inherit need_wakeup flag for shared sockets + - firmware: arm_scmi: Improve checks in the info_get operations + - firmware: arm_scmi: Harden accesses to the sensor domains + - firmware: arm_scmi: Add SCMI PM driver remove routine + - arm64: dts: rockchip: fix upper usb port on BPI-R2-Pro + - dmaengine: xilinx_dma: Fix devm_platform_ioremap_resource error handling + - dmaengine: xilinx_dma: cleanup for fetching xlnx,num-fstores property + - dmaengine: xilinx_dma: Report error in case of dma_set_mask_and_coherent API + failure + - wifi: iwlwifi: don't spam logs with NSS>2 messages + - ARM: dts: fix Moxa SDIO 'compatible', remove 'sdhci' misnomer + - drm/amdgpu/mes: zero the sdma_hqd_mask of 2nd SDMA engine for SDMA 6.0.1 + - scsi: qedf: Fix a UAF bug in __qedf_probe() + - net/ieee802154: fix uninit value bug in dgram_sendmsg + - net: marvell: prestera: add support for for Aldrin2 + - ALSA: hda/hdmi: Fix the converter reuse for the silent stream + - um: Cleanup syscall_handler_t cast in syscalls_32.h + - um: Cleanup compiler warning in arch/x86/um/tls_32.c + - gpio: ftgpio010: Make irqchip immutable + - arch: um: Mark the stack non-executable to fix a binutils warning + - net: atlantic: fix potential memory leak in aq_ndev_close() + - KVM: s390: Pass initialized arg even if unused + - drm/amd/display: Fix double cursor on non-video RGB MPO + - drm/amd/display: Assume an LTTPR is always present on fixed_vs links + - drm/amd/display: update gamut remap if plane has changed + - drm/amd/display: skip audio setup when audio stream is enabled + - drm/amd/display: Fix DP MST timeslot issue when fallback happened + - drm/amd/display: increase dcn315 pstate change latency + - perf/x86/intel: Fix unchecked MSR access error for Alder Lake N + - don't use __kernel_write() on kmap_local_page() + - i2c: davinci: fix PM disable depth imbalance in davinci_i2c_probe + - usb: mon: make mmapped memory read only + - USB: serial: ftdi_sio: fix 300 bps rate for SIO + - gpiolib: acpi: Add support to ignore programming an interrupt + - gpiolib: acpi: Add a quirk for Asus UM325UAZ + - mmc: core: Replace with already defined values for readability + - mmc: core: Terminate infinite loop in SD-UHS voltage switch + - rpmsg: qcom: glink: replace strncpy() with strscpy_pad() + - bpf: Gate dynptr API behind CAP_BPF + - net: ethernet: mtk_eth_soc: fix state in __mtk_foe_entry_clear + - bpf: Fix resetting logic for unreferenced kptrs + - Bluetooth: use hdev->workqueue when queuing hdev->{cmd,ncmd}_timer works + - Revert "clk: ti: Stop using legacy clkctrl names for omap4 and 5" + - Linux 5.19.15 + * Kinetic update: v5.19.14 upstream stable release (LP: #1994076) + - riscv: make t-head erratas depend on MMU + - tools/perf: Fix out of bound access to cpu mask array + - perf record: Fix cpu mask bit setting for mixed mmaps + - counter: 104-quad-8: Utilize iomap interface + - counter: 104-quad-8: Implement and utilize register structures + - counter: 104-quad-8: Fix skipped IRQ lines during events configuration + - uas: add no-uas quirk for Hiksemi usb_disk + - usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS + - uas: ignore UAS for Thinkplus chips + - usb: typec: ucsi: Remove incorrect warning + - thunderbolt: Explicitly reset plug events delay back to USB4 spec value + - net: usb: qmi_wwan: Add new usb-id for Dell branded EM7455 + - Input: snvs_pwrkey - fix SNVS_HPVIDR1 register address + - can: c_can: don't cache TX messages for C_CAN cores + - clk: ingenic-tcu: Properly enable registers before accessing timers + - wifi: mac80211: ensure vif queues are operational after start + - x86/sgx: Do not fail on incomplete sanitization on premature stop of ksgxd + - frontswap: don't call ->init if no ops are registered + - ARM: dts: integrator: Tag PCI host with device_type + - ntfs: fix BUG_ON in ntfs_lookup_inode_by_name() + - x86/uaccess: avoid check_object_size() in copy_from_user_nmi() + - mm/damon/dbgfs: fix memory leak when using debugfs_lookup() + - net: mt7531: only do PLL once after the reset + - Revert "firmware: arm_scmi: Add clock management to the SCMI power domain" + - powerpc/64s/radix: don't need to broadcast IPI for radix pmd collapse flush + - drm/i915/gt: Restrict forced preemption to the active context + - drm/amdgpu: Add amdgpu suspend-resume code path under SRIOV + - vduse: prevent uninitialized memory accesses + - libata: add ATA_HORKAGE_NOLPM for Pioneer BDR-207M and BDR-205 + - mm: fix BUG splat with kvmalloc + GFP_ATOMIC + - mptcp: factor out __mptcp_close() without socket lock + - mptcp: fix unreleased socket in accept queue + - mmc: moxart: fix 4-bit bus width and remove 8-bit bus width + - mmc: hsq: Fix data stomping during mmc recovery + - mm: gup: fix the fast GUP race against THP collapse + - mm/page_alloc: fix race condition between build_all_zonelists and page + allocation + - mm: prevent page_frag_alloc() from corrupting the memory + - mm/page_isolation: fix isolate_single_pageblock() isolation behavior + - mm: fix dereferencing possible ERR_PTR + - mm/migrate_device.c: flush TLB while holding PTL + - mm/migrate_device.c: add missing flush_cache_page() + - mm/migrate_device.c: copy pte dirty bit to page + - mm: fix madivse_pageout mishandling on non-LRU page + - mm: bring back update_mmu_cache() to finish_fault() + - mm/hugetlb: correct demote page offset logic + - mm,hwpoison: check mm when killing accessing process + - media: dvb_vb2: fix possible out of bound access + - media: rkvdec: Disable H.264 error detection + - media: mediatek: vcodec: Drop platform_get_resource(IORESOURCE_IRQ) + - media: v4l2-compat-ioctl32.c: zero buffer passed to + v4l2_compat_get_array_args() + - ARM: dts: am33xx: Fix MMCHS0 dma properties + - reset: imx7: Fix the iMX8MP PCIe PHY PERST support + - ARM: dts: am5748: keep usb4_tm disabled + - soc: sunxi: sram: Actually claim SRAM regions + - soc: sunxi: sram: Prevent the driver from being unbound + - soc: sunxi: sram: Fix probe function ordering issues + - soc: sunxi: sram: Fix debugfs info for A64 SRAM C + - ASoC: imx-card: Fix refcount issue with of_node_put + - clk: microchip: mpfs: fix clk_cfg array bounds violation + - clk: microchip: mpfs: make the rtc's ahb clock critical + - arm64: dts: qcom: sm8350: fix UFS PHY serdes size + - ASoC: tas2770: Reinit regcache on reset + - drm/bridge: lt8912b: add vsync hsync + - drm/bridge: lt8912b: set hdmi or dvi mode + - drm/bridge: lt8912b: fix corrupted image output + - net: macb: Fix ZynqMP SGMII non-wakeup source resume failure + - Revert "drm: bridge: analogix/dp: add panel prepare/unprepare in + suspend/resume time" + - Input: melfas_mip4 - fix return value check in mip4_probe() + - gpio: mvebu: Fix check for pwm support on non-A8K platforms + - perf parse-events: Break out tracepoint and printing + - perf print-events: Fix "perf list" can not display the PMU prefix for some + hybrid cache events + - perf parse-events: Remove "not supported" hybrid cache events + - usbnet: Fix memory leak in usbnet_disconnect() + - net: sched: act_ct: fix possible refcount leak in tcf_ct_init() + - cxgb4: fix missing unlock on ETHOFLD desc collect fail path + - net/mlxbf_gige: Fix an IS_ERR() vs NULL bug in mlxbf_gige_mdio_probe + - nvme: Fix IOC_PR_CLEAR and IOC_PR_RELEASE ioctls for nvme devices + - wifi: cfg80211: fix MCS divisor value + - wifi: mac80211: fix regression with non-QoS drivers + - wifi: mac80211: fix memory corruption in minstrel_ht_update_rates() + - net: stmmac: power up/down serdes in stmmac_open/release + - net: phy: Don't WARN for PHY_UP state in mdio_bus_phy_resume() + - selftests: Fix the if conditions of in test_extra_filter() + - ice: xsk: change batched Tx descriptor cleaning + - ice: xsk: drop power of 2 ring size restriction for AF_XDP + - vdpa/ifcvf: fix the calculation of queuepair + - virtio-blk: Fix WARN_ON_ONCE in virtio_queue_rq() + - vdpa/mlx5: Fix MQ to support non power of two num queues + - clk: imx: imx6sx: remove the SET_RATE_PARENT flag for QSPI clocks + - drm/i915/gt: Perf_limit_reasons are only available for Gen11+ + - clk: iproc: Do not rely on node name for correct PLL setup + - clk: imx93: drop of_match_ptr + - net: mscc: ocelot: fix tagged VLAN refusal while under a VLAN-unaware bridge + - net: ethernet: mtk_eth_soc: fix mask of RX_DMA_GET_SPORT{,_V2} + - perf test: Fix test case 87 ("perf record tests") for hybrid systems + - perf tests record: Fail the test if the 'errs' counter is not zero + - KVM: x86: Hide IA32_PLATFORM_DCA_CAP[31:0] from the guest + - x86/cacheinfo: Add a cpu_llc_shared_mask() UP variant + - x86/alternative: Fix race in try_get_desc() + - damon/sysfs: fix possible memleak on damon_sysfs_add_target + - Linux 5.19.14 + * Kinetic update: v5.19.13 upstream stable release (LP: #1994075) + - Linux 5.19.13 + * Kinetic update: v5.19.12 upstream stable release (LP: #1994074) + - smb3: Move the flush out of smb2_copychunk_range() into its callers + - smb3: fix temporary data corruption in collapse range + - smb3: fix temporary data corruption in insert range + - usb: add quirks for Lenovo OneLink+ Dock + - usb: gadget: udc-xilinx: replace memcpy with memcpy_toio + - smb3: use filemap_write_and_wait_range instead of filemap_write_and_wait + - Revert "usb: add quirks for Lenovo OneLink+ Dock" + - Revert "usb: gadget: udc-xilinx: replace memcpy with memcpy_toio" + - xfrm: fix XFRMA_LASTUSED comment + - block: remove QUEUE_FLAG_DEAD + - block: stop setting the nomerges flags in blk_cleanup_queue + - block: simplify disk shutdown + - scsi: core: Fix a use-after-free + - drivers/base: Fix unsigned comparison to -1 in CPUMAP_FILE_MAX_BYTES + - USB: core: Fix RST error in hub.c + - USB: serial: option: add Quectel BG95 0x0203 composition + - USB: serial: option: add Quectel RM520N + - ALSA: core: Fix double-free at snd_card_new() + - ALSA: hda/tegra: set depop delay for tegra + - ALSA: hda: Fix hang at HD-audio codec unbinding due to refcount saturation + - ALSA: hda: Fix Nvidia dp infoframe + - ALSA: hda: add Intel 5 Series / 3400 PCI DID + - ALSA: hda/realtek: Add quirk for Huawei WRT-WX9 + - ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5570 laptop + - ALSA: hda/realtek: Re-arrange quirk table entries + - ALSA: hda/realtek: Add pincfg for ASUS G513 HP jack + - ALSA: hda/realtek: Add pincfg for ASUS G533Z HP jack + - ALSA: hda/realtek: Add quirk for ASUS GA503R laptop + - ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5530 laptop + - ALSA: hda/realtek: Add a quirk for HP OMEN 16 (8902) mute LED + - iommu/vt-d: Check correct capability for sagaw determination + - exfat: fix overflow for large capacity partition + - btrfs: fix hang during unmount when stopping block group reclaim worker + - btrfs: fix hang during unmount when stopping a space reclaim worker + - btrfs: zoned: wait for extent buffer IOs before finishing a zone + - libperf evlist: Fix polling of system-wide events + - media: flexcop-usb: fix endpoint type check + - usb: dwc3: core: leave default DMA if the controller does not support 64-bit + DMA + - thunderbolt: Add support for Intel Maple Ridge single port controller + - efi: x86: Wipe setup_data on pure EFI boot + - efi: libstub: check Shim mode using MokSBStateRT + - wifi: mt76: fix reading current per-tid starting sequence number for + aggregation + - gpio: mockup: fix NULL pointer dereference when removing debugfs + - gpio: mockup: Fix potential resource leakage when register a chip + - gpiolib: cdev: Set lineevent_state::irq after IRQ register successfully + - riscv: fix a nasty sigreturn bug... + - riscv: fix RISCV_ISA_SVPBMT kconfig dependency warning + - drm/i915/gem: Flush contexts on driver release + - drm/i915/gem: Really move i915_gem_context.link under ref protection + - xen/xenbus: fix xenbus_setup_ring() + - kasan: call kasan_malloc() from __kmalloc_*track_caller() + - can: flexcan: flexcan_mailbox_read() fix return value for drop = true + - net: mana: Add rmb after checking owner bits + - mm/slub: fix to return errno if kmalloc() fails + - mm: slub: fix flush_cpu_slab()/__free_slab() invocations in task context. + - KVM: x86: Reinstate kvm_vcpu_arch.guest_supported_xcr0 + - KVM: x86: Always enable legacy FP/SSE in allowed user XFEATURES + - KVM: x86: Inject #UD on emulated XSETBV if XSAVES isn't enabled + - perf/arm-cmn: Add more bits to child node address offset field + - arm64: topology: fix possible overflow in amu_fie_setup() + - vmlinux.lds.h: CFI: Reduce alignment of jump-table to function alignment + - batman-adv: Fix hang up with small MTU hard-interface + - firmware: arm_scmi: Harden accesses to the reset domains + - firmware: arm_scmi: Fix the asynchronous reset requests + - arm64: dts: rockchip: Lower sd speed on quartz64-b + - arm64: dts: rockchip: Pull up wlan wake# on Gru-Bob + - arm64: dts: rockchip: Fix typo in lisense text for PX30.Core + - drm/mediatek: dsi: Add atomic {destroy,duplicate}_state, reset callbacks + - arm64: dts: imx8mm: Reverse CPLD_Dn GPIO label mapping on MX8Menlo + - arm64: dts: rockchip: Set RK3399-Gru PCLK_EDP to 24 MHz + - arm64: dts: imx8mn: remove GPU power domain reset + - arm64: dts: imx8ulp: add #reset-cells for pcc + - dmaengine: ti: k3-udma-private: Fix refcount leak bug in of_xudma_dev_get() + - arm64: dts: rockchip: fix property for usb2 phy supply on rock-3a + - arm64: dts: rockchip: fix property for usb2 phy supply on rk3568-evb1-v10 + - arm64: dts: rockchip: Remove 'enable-active-low' from rk3399-puma + - arm64: dts: rockchip: Remove 'enable-active-low' from rk3566-quartz64-a + - arm64: dts: imx8mm-verdin: extend pmic voltages + - netfilter: nf_conntrack_sip: fix ct_sip_walk_headers + - netfilter: nf_conntrack_irc: Tighten matching on DCC message + - netfilter: nfnetlink_osf: fix possible bogus match in nf_osf_find() + - ice: Don't double unplug aux on peer initiated reset + - ice: Fix crash by keep old cfg when update TCs more than queues + - iavf: Fix cached head and tail value for iavf_get_tx_pending + - ipvlan: Fix out-of-bound bugs caused by unset skb->mac_header + - net: core: fix flow symmetric hash + - wifi: iwlwifi: Mark IWLMEI as broken + - [Config] updateconfigs for IWLMEI + - arm64: dts: tqma8mqml: Include phy-imx8-pcie.h header + - drm/mediatek: Fix wrong dither settings + - arm64: dts: imx8mp-venice-gw74xx: fix CAN STBY polarity + - arm64: dts: imx8mp-venice-gw74xx: fix ksz9477 cpu port + - ARM: dts: lan966x: Fix the interrupt number for internal PHYs + - net: phy: aquantia: wait for the suspend/resume operations to finish + - arm64: dts: imx8mp-venice-gw74xx: fix port/phy validation + - scsi: qla2xxx: Fix memory leak in __qlt_24xx_handle_abts() + - scsi: mpt3sas: Fix return value check of dma_get_required_mask() + - net: bonding: Share lacpdu_mcast_addr definition + - net: bonding: Unsync device addresses on ndo_stop + - net: team: Unsync device addresses on ndo_stop + - drm/panel: simple: Fix innolux_g121i1_l01 bus_format + - mm/slab_common: fix possible double free of kmem_cache + - MIPS: lantiq: export clk_get_io() for lantiq_wdt.ko + - MIPS: Loongson32: Fix PHY-mode being left unspecified + - um: fix default console kernel parameter + - iavf: Fix bad page state + - mlxbf_gige: clear MDIO gateway lock after read + - i40e: Fix set max_tx_rate when it is lower than 1 Mbps + - netdevsim: Fix hwstats debugfs file permissions + - sfc: fix TX channel offset when using legacy interrupts + - sfc: fix null pointer dereference in efx_hard_start_xmit + - bnxt_en: fix flags to check for supported fw version + - gve: Fix GFP flags when allocing pages + - drm/hisilicon: Add depends on MMU + - of: mdio: Add of_node_put() when breaking out of for_each_xx + - net: ipa: properly limit modem routing table use + - sfc/siena: fix TX channel offset when using legacy interrupts + - sfc/siena: fix null pointer dereference in efx_hard_start_xmit + - wireguard: ratelimiter: disable timings test by default + - wireguard: netlink: avoid variable-sized memcpy on sockaddr + - net: enetc: move enetc_set_psfp() out of the common enetc_set_features() + - net: enetc: deny offload of tc-based TSN features on VF interfaces + - ipv6: Fix crash when IPv6 is administratively disabled + - net/sched: taprio: avoid disabling offload when it was never enabled + - net/sched: taprio: make qdisc_leaf() see the per-netdev-queue pfifo child + qdiscs + - ice: config netdev tc before setting queues number + - ice: Fix interface being down after reset with link-down-on-close flag on + - netfilter: nf_tables: fix nft_counters_enabled underflow at + nf_tables_addchain() + - netfilter: nf_tables: fix percpu memory leak at nf_tables_addchain() + - netfilter: ebtables: fix memory leak when blob is malformed + - netfilter: nf_ct_ftp: fix deadlock when nat rewrite is needed + - net: ravb: Fix PHY state warning splat during system resume + - net: sh_eth: Fix PHY state warning splat during system resume + - gpio: tqmx86: fix uninitialized variable girq + - can: gs_usb: gs_can_open(): fix race dev->can.state condition + - perf stat: Fix BPF program section name + - perf stat: Fix cpu map index in bperf cgroup code + - perf jit: Include program header in ELF files + - perf kcore_copy: Do not check /proc/modules is unchanged + - perf tools: Honor namespace when synthesizing build-ids + - drm/mediatek: dsi: Move mtk_dsi_stop() call back to mtk_dsi_poweroff() + - ice: Fix ice_xdp_xmit() when XDP TX queue number is not sufficient + - net/smc: Stop the CLC flow if no link to map buffers on + - net: phy: micrel: fix shared interrupt on LAN8814 + - bonding: fix NULL deref in bond_rr_gen_slave_id + - net: sunhme: Fix packet reception for len < RX_COPY_THRESHOLD + - net: sched: fix possible refcount leak in tc_new_tfilter() + - bnxt: prevent skb UAF after handing over to PTP worker + - selftests: forwarding: add shebang for sch_red.sh + - io_uring: ensure that cached task references are always put on exit + - serial: fsl_lpuart: Reset prior to registration + - serial: Create uart_xmit_advance() + - serial: tegra: Use uart_xmit_advance(), fixes icount.tx accounting + - serial: tegra-tcu: Use uart_xmit_advance(), fixes icount.tx accounting + - cgroup: cgroup_get_from_id() must check the looked-up kn is a directory + - phy: marvell: phy-mvebu-a3700-comphy: Remove broken reset support + - s390/dasd: fix Oops in dasd_alias_get_start_dev due to missing pavgroup + - blk-mq: fix error handling in __blk_mq_alloc_disk + - block: call blk_mq_exit_queue from disk_release for never added disks + - block: Do not call blk_put_queue() if gendisk allocation fails + - Drivers: hv: Never allocate anything besides framebuffer from framebuffer + memory region + - drm/gma500: Fix BUG: sleeping function called from invalid context errors + - drm/gma500: Fix WARN_ON(lock->magic != lock) error + - drm/gma500: Fix (vblank) IRQs not working after suspend/resume + - gpio: ixp4xx: Make irqchip immutable + - drm/amd/pm: disable BACO entry/exit completely on several sienna cichlid + cards + - drm/amdgpu: change the alignment size of TMR BO to 1M + - drm/amdgpu: add HDP remap functionality to nbio 7.7 + - drm/amdgpu: Skip reset error status for psp v13_0_0 + - drm/amd/display: Limit user regamma to a valid value + - drm/amd/display: Reduce number of arguments of dml31's + CalculateWatermarksAndDRAMSpeedChangeSupport() + - drm/amd/display: Reduce number of arguments of dml31's + CalculateFlipSchedule() + - drm/amd/display: Mark dml30's UseMinimumDCFCLK() as noinline for stack usage + - drm/rockchip: Fix return type of cdn_dp_connector_mode_valid + - gpio: mt7621: Make the irqchip immutable + - pmem: fix a name collision + - fsdax: Fix infinite loop in dax_iomap_rw() + - workqueue: don't skip lockdep work dependency in cancel_work_sync() + - i2c: imx: If pm_runtime_get_sync() returned 1 device access is possible + - i2c: mlxbf: incorrect base address passed during io write + - i2c: mlxbf: prevent stack overflow in mlxbf_i2c_smbus_start_transaction() + - i2c: mlxbf: Fix frequency calculation + - i2c: mux: harden i2c_mux_alloc() against integer overflows + - drm/amdgpu: don't register a dirty callback for non-atomic + - certs: make system keyring depend on built-in x509 parser + - Makefile.debug: set -g unconditional on CONFIG_DEBUG_INFO_SPLIT + - Makefile.debug: re-enable debug info for .S files + - devdax: Fix soft-reservation memory description + - ext4: fix bug in extents parsing when eh_entries == 0 and eh_depth > 0 + - ext4: limit the number of retries after discarding preallocations blocks + - ext4: make mballoc try target group first even with mb_optimize_scan + - ext4: avoid unnecessary spreading of allocations among groups + - ext4: use locality group preallocation for small closed files + - ext4: use buckets for cr 1 block scan instead of rbtree + - Revert "block: freeze the queue earlier in del_gendisk" + - ext4: fixup possible uninitialized variable access in + ext4_mb_choose_next_group_cr1() + - ext4: make directory inode spreading reflect flexbg size + - Linux 5.19.12 + * Kinetic update: v5.19.11 upstream stable release (LP: #1994070) + - of: fdt: fix off-by-one error in unflatten_dt_nodes() + - pinctrl: qcom: sc8180x: Fix gpio_wakeirq_map + - pinctrl: qcom: sc8180x: Fix wrong pin numbers + - pinctrl: rockchip: Enhance support for IRQ_TYPE_EDGE_BOTH + - pinctrl: sunxi: Fix name for A100 R_PIO + - SUNRPC: Fix call completion races with call_decode() + - NFSv4: Turn off open-by-filehandle and NFS re-export for NFSv4.0 + - gpio: mpc8xxx: Fix support for IRQ_TYPE_LEVEL_LOW flow_type in mpc85xx + - NFSv4.2: Update mode bits after ALLOCATE and DEALLOCATE + - Revert "SUNRPC: Remove unreachable error condition" + - drm/panel-edp: Fix delays for Innolux N116BCA-EA1 + - drm/meson: Correct OSD1 global alpha value + - drm/meson: Fix OSD1 RGB to YCbCr coefficient + - drm/rockchip: vop2: Fix eDP/HDMI sync polarities + - drm/i915/vdsc: Set VDSC PIC_HEIGHT before using for DP DSC + - drm/i915/guc: Don't update engine busyness stats too frequently + - drm/i915/guc: Cancel GuC engine busyness worker synchronously + - block: blk_queue_enter() / __bio_queue_enter() must return -EAGAIN for + nowait + - parisc: ccio-dma: Add missing iounmap in error path in ccio_probe() + - of/device: Fix up of_dma_configure_id() stub + - io_uring/msg_ring: check file type before putting + - cifs: revalidate mapping when doing direct writes + - cifs: don't send down the destination address to sendmsg for a SOCK_STREAM + - cifs: always initialize struct msghdr smb_msg completely + - blk-lib: fix blkdev_issue_secure_erase + - parisc: Allow CONFIG_64BIT with ARCH=parisc + - tools/include/uapi: Fix for parisc and xtensa + - drm/i915/gt: Fix perf limit reasons bit positions + - drm/i915: Set correct domains values at _i915_vma_move_to_active + - drm/amdgpu: make sure to init common IP before gmc + - drm/amdgpu: Don't enable LTR if not supported + - drm/amdgpu: move nbio ih_doorbell_range() into ih code for vega + - drm/amdgpu: move nbio sdma_doorbell_range() into sdma code for vega + - net: Find dst with sk's xfrm policy not ctl_sk + - dt-bindings: apple,aic: Fix required item "apple,fiq-index" in affinity + description + - cgroup: Add missing cpus_read_lock() to cgroup_attach_task_all() + - ALSA: hda/sigmatel: Keep power up while beep is enabled + - ALSA: hda/sigmatel: Fix unused variable warning for beep power change + - Linux 5.19.11 + * Kinetic update: v5.19.10 upstream stable release (LP: #1994069) + - iommu/vt-d: Fix kdump kernels boot failure with scalable mode + - net/mlx5: Introduce ifc bits for using software vhca id + - net/mlx5: Use software VHCA id when it's supported + - RDMA/mlx5: Rely on RoCE fw cap instead of devlink when setting profile + - RDMA/mlx5: Add a umr recovery flow + - RDMA/mlx5: Fix UMR cleanup on error flow of driver init + - ACPI: resource: skip IRQ override on AMD Zen platforms + - Input: goodix - add support for GT1158 + - platform/surface: aggregator_registry: Add support for Surface Laptop Go 2 + - drm/msm/rd: Fix FIFO-full deadlock + - peci: cpu: Fix use-after-free in adev_release() + - kvm: x86: mmu: Always flush TLBs when enabling dirty logging + - dt-bindings: iio: gyroscope: bosch,bmg160: correct number of pins + - HID: ishtp-hid-clientHID: ishtp-hid-client: Fix comment typo + - hid: intel-ish-hid: ishtp: Fix ishtp client sending disordered message + - Bluetooth: MGMT: Fix Get Device Flags + - tg3: Disable tg3 device on system reboot to avoid triggering AER + - r8152: add PID for the Lenovo OneLink+ Dock + - gpio: mockup: remove gpio debugfs when remove device + - ieee802154: cc2520: add rc code in cc2520_tx() + - Input: iforce - add support for Boeder Force Feedback Wheel + - drm/amdgpu: disable FRU access on special SIENNA CICHLID card + - drm/amd/pm: use vbios carried pptable for all SMU13.0.7 SKUs + - nvme-pci: add NVME_QUIRK_BOGUS_NID for Lexar NM610 + - nvmet-tcp: fix unhandled tcp states in nvmet_tcp_state_change() + - drm/amd/amdgpu: skip ucode loading if ucode_size == 0 + - net: dsa: hellcreek: Print warning only once + - perf/arm_pmu_platform: fix tests for platform_get_irq() failure + - platform/x86: acer-wmi: Acer Aspire One AOD270/Packard Bell Dot keymap fixes + - usb: storage: Add ASUS <0x0b05:0x1932> to IGNORE_UAS + - platform/x86: asus-wmi: Increase FAN_CURVE_BUF_LEN to 32 + - LoongArch: Fix section mismatch due to acpi_os_ioremap() + - LoongArch: Fix arch_remove_memory() undefined build error + - gpio: 104-dio-48e: Make irq_chip immutable + - gpio: 104-idio-16: Make irq_chip immutable + - RDMA/irdma: Use s/g array in post send only when its valid + - Input: goodix - add compatible string for GT1158 + - Linux 5.19.10 + * Kinetic update: v5.19.9 upstream stable release (LP: #1994068) + - efi: libstub: Disable struct randomization + - efi: capsule-loader: Fix use-after-free in efi_capsule_write + - wifi: mt76: mt7921e: fix crash in chip reset fail + - wifi: iwlegacy: 4965: corrected fix for potential off-by-one overflow in + il4965_rs_fill_link_cmd() + - fs: only do a memory barrier for the first set_buffer_uptodate() + - soc: fsl: select FSL_GUTS driver for DPIO + - Revert "mm: kmemleak: take a full lowmem check in kmemleak_*_phys()" + - scsi: qla2xxx: Disable ATIO interrupt coalesce for quad port ISP27XX + - scsi: core: Allow the ALUA transitioning state enough time + - scsi: megaraid_sas: Fix double kfree() + - drm/gem: Fix GEM handle release errors + - drm/amdgpu: Move psp_xgmi_terminate call from amdgpu_xgmi_remove_device to + psp_hw_fini + - drm/amdgpu: fix hive reference leak when adding xgmi device + - drm/amdgpu: Check num_gfx_rings for gfx v9_0 rb setup. + - drm/amdgpu: Remove the additional kfd pre reset call for sriov + - drm/radeon: add a force flush to delay work when radeon + - scsi: ufs: core: Reduce the power mode change timeout + - Revert "parisc: Show error if wrong 32/64-bit compiler is being used" + - parisc: ccio-dma: Handle kmalloc failure in ccio_init_resources() + - parisc: Add runtime check to prevent PA2.0 kernels on PA1.x machines + - [Config] updateconfigs for ARM64_ERRATUM_2457168 + - arm64: errata: add detection for AMEVCNTR01 incrementing incorrectly + - netfilter: conntrack: work around exceeded receive window + - thermal/int340x_thermal: handle data_vault when the value is ZERO_SIZE_PTR + - cpufreq: check only freq_table in __resolve_freq() + - net/core/skbuff: Check the return value of skb_copy_bits() + - md: Flush workqueue md_rdev_misc_wq in md_alloc() + - fbdev: omapfb: Fix tests for platform_get_irq() failure + - fbdev: fbcon: Destroy mutex on freeing struct fb_info + - fbdev: chipsfb: Add missing pci_disable_device() in chipsfb_pci_init() + - x86/sev: Mark snp_abort() noreturn + - drm/amdgpu: add sdma instance check for gfx11 CGCG + - drm/amdgpu: mmVM_L2_CNTL3 register not initialized correctly + - ALSA: pcm: oss: Fix race at SNDCTL_DSP_SYNC + - ALSA: emu10k1: Fix out of bounds access in snd_emu10k1_pcm_channel_alloc() + - ALSA: hda: Once again fix regression of page allocations with IOMMU + - ALSA: aloop: Fix random zeros in capture data when using jiffies timer + - ALSA: usb-audio: Clear fixed clock rate at closing EP + - ALSA: usb-audio: Fix an out-of-bounds bug in + __snd_usb_parse_audio_interface() + - tracefs: Only clobber mode/uid/gid on remount if asked + - tracing: hold caller_addr to hardirq_{enable,disable}_ip + - tracing: Fix to check event_mutex is held while accessing trigger list + - btrfs: zoned: set pseudo max append zone limit in zone emulation mode + - btrfs: zoned: fix API misuse of zone finish waiting + - vfio/type1: Unpin zero pages + - kprobes: Prohibit probes in gate area + - perf: RISC-V: fix access beyond allocated array + - debugfs: add debugfs_lookup_and_remove() + - sched/debug: fix dentry leak in update_sched_domain_debugfs + - drm/amd/display: fix memory leak when using debugfs_lookup() + - driver core: fix driver_set_override() issue with empty strings + - nvmet: fix a use-after-free + - drm/i915/bios: Copy the whole MIPI sequence block + - drm/i915/slpc: Let's fix the PCODE min freq table setup for SLPC + - scsi: mpt3sas: Fix use-after-free warning + - scsi: lpfc: Add missing destroy_workqueue() in error path + - cgroup: Elide write-locking threadgroup_rwsem when updating csses on an + empty subtree + - cgroup: Fix threadgroup_rwsem <-> cpus_read_lock() deadlock + - cifs: remove useless parameter 'is_fsctl' from SMB2_ioctl() + - smb3: missing inode locks in zero range + - spi: bitbang: Fix lsb-first Rx + - ASoC: cs42l42: Only report button state if there was a button interrupt + - Revert "soc: imx: imx8m-blk-ctrl: set power device name" + - arm64: dts: imx8mm-verdin: update CAN clock to 40MHz + - arm64: dts: imx8mm-verdin: use level interrupt for mcp251xfd + - ASoC: qcom: sm8250: add missing module owner + - regmap: spi: Reserve space for register address/padding + - arm64: dts: imx8mp-venice-gw74xx: fix sai2 pin settings + - arm64: dts: imx8mq-tqma8mq: Remove superfluous interrupt-names + - RDMA/rtrs-clt: Use the right sg_cnt after ib_dma_map_sg + - RDMA/rtrs-srv: Pass the correct number of entries for dma mapped SGL + - ARM: dts: imx6qdl-vicut1.dtsi: Fix node name backlight_led + - ARM: dts: imx6qdl-kontron-samx6i: remove duplicated node + - ARM: dts: imx6qdl-kontron-samx6i: fix spi-flash compatible + - arm64: dts: ls1028a-qds-65bb: don't use in-band autoneg for 2500base-x + - soc: imx: gpcv2: Assert reset before ungating clock + - arm64: dts: verdin-imx8mm: add otg2 pd to usbphy + - arm64: dts: imx8mm-venice-gw7901: fix port/phy validation + - arm64: dts: freescale: verdin-imx8mm: fix atmel_mxt_ts reset polarity + - arm64: dts: freescale: verdin-imx8mp: fix atmel_mxt_ts reset polarity + - regulator: core: Clean up on enable failure + - ASoC: SOF: Kconfig: Make IPC_FLOOD_TEST depend on SND_SOC_SOF + - ASoC: SOF: Kconfig: Make IPC_MESSAGE_INJECTOR depend on SND_SOC_SOF + - tee: fix compiler warning in tee_shm_register() + - RDMA/irdma: Fix drain SQ hang with no completion + - arm64: dts: renesas: r8a779g0: Fix HSCIF0 interrupt number + - RDMA/cma: Fix arguments order in net device validation + - soc: brcmstb: pm-arm: Fix refcount leak and __iomem leak bugs + - RDMA/hns: Fix supported page size + - RDMA/hns: Fix wrong fixed value of qp->rq.wqe_shift + - RDMA/hns: Remove the num_qpc_timer variable + - wifi: wilc1000: fix DMA on stack objects + - ARM: at91: pm: fix self-refresh for sama7g5 + - ARM: at91: pm: fix DDR recalibration when resuming from backup and self- + refresh + - ARM: dts: at91: sama5d27_wlsom1: specify proper regulator output ranges + - ARM: dts: at91: sama5d2_icp: specify proper regulator output ranges + - ARM: dts: at91: sama7g5ek: specify proper regulator output ranges + - ARM: dts: at91: sama5d27_wlsom1: don't keep ldo2 enabled all the time + - ARM: dts: at91: sama5d2_icp: don't keep vdd_other enabled all the time + - netfilter: br_netfilter: Drop dst references before setting. + - netfilter: nf_tables: clean up hook list when offload flags check fails + - riscv: dts: microchip: use an mpfs specific l2 compatible + - netfilter: nf_conntrack_irc: Fix forged IP logic + - RDMA/srp: Set scmnd->result only when scmnd is not NULL + - ALSA: usb-audio: Inform the delayed registration more properly + - ALSA: usb-audio: Register card again for iface over delayed_register option + - rxrpc: Fix ICMP/ICMP6 error handling + - rxrpc: Fix an insufficiently large sglist in rxkad_verify_packet_2() + - afs: Use the operation issue time instead of the reply time for callbacks + - kunit: fix assert_type for comparison macros + - Revert "net: phy: meson-gxl: improve link-up behavior" + - sch_sfb: Don't assume the skb is still around after enqueueing to child + - tipc: fix shift wrapping bug in map_get() + - net: introduce __skb_fill_page_desc_noacc + - tcp: TX zerocopy should not sense pfmemalloc status + - ice: Fix DMA mappings leak + - ice: use bitmap_free instead of devm_kfree + - i40e: Fix kernel crash during module removal + - iavf: Detach device during reset task + - xen-netback: only remove 'hotplug-status' when the vif is actually destroyed + - block: don't add partitions if GD_SUPPRESS_PART_SCAN is set + - RDMA/siw: Pass a pointer to virt_to_page() + - bonding: use unspecified address if no available link local address + - bonding: add all node mcast address when slave up + - ipv6: sr: fix out-of-bounds read when setting HMAC data. + - IB/core: Fix a nested dead lock as part of ODP flow + - RDMA/mlx5: Set local port to one when accessing counters + - btrfs: zoned: fix mounting with conventional zones + - erofs: fix error return code in erofs_fscache_{meta_,}read_folio + - erofs: fix pcluster use-after-free on UP platforms + - nvme-tcp: fix UAF when detecting digest errors + - nvme-tcp: fix regression that causes sporadic requests to time out + - tcp: fix early ETIMEDOUT after spurious non-SACK RTO + - btrfs: fix the max chunk size and stripe length calculation + - nvmet: fix mar and mor off-by-one errors + - RDMA/irdma: Report the correct max cqes from query device + - RDMA/irdma: Return error on MR deregister CQP failure + - RDMA/irdma: Return correct WC error for bind operation failure + - RDMA/irdma: Report RNR NAK generation in device caps + - net: dsa: felix: disable cut-through forwarding for frames oversized for tc- + taprio + - net: dsa: felix: access QSYS_TAG_CONFIG under tas_lock in + vsc9959_sched_speed_set + - net: ethernet: mtk_eth_soc: fix typo in __mtk_foe_entry_clear + - net: ethernet: mtk_eth_soc: check max allowed hash in mtk_ppe_check_skb + - net/smc: Fix possible access to freed memory in link clear + - io_uring: recycle kbuf recycle on tw requeue + - net: phy: lan87xx: change interrupt src of link_up to comm_ready + - sch_sfb: Also store skb len before calling child enqueue + - libperf evlist: Fix per-thread mmaps for multi-threaded targets + - perf dlfilter dlfilter-show-cycles: Fix types for print format + - perf script: Fix Cannot print 'iregs' field for hybrid systems + - perf record: Fix synthesis failure warnings + - hwmon: (tps23861) fix byte order in resistance register + - ASoC: mchp-spdiftx: remove references to mchp_i2s_caps + - ASoC: mchp-spdiftx: Fix clang -Wbitfield-constant-conversion + - MIPS: loongson32: ls1c: Fix hang during startup + - kbuild: disable header exports for UML in a straightforward way + - i40e: Refactor tc mqprio checks + - i40e: Fix ADQ rate limiting for PF + - net: bonding: replace dev_trans_start() with the jiffies of the last ARP/NS + - bonding: accept unsolicited NA message + - swiotlb: avoid potential left shift overflow + - iommu/amd: use full 64-bit value in build_completion_wait() + - s390/boot: fix absolute zero lowcore corruption on boot + - time64.h: consolidate uses of PSEC_PER_NSEC + - net: dsa: felix: tc-taprio intervals smaller than MTU should send at least + one packet + - hwmon: (mr75203) fix VM sensor allocation when "intel,vm-map" not defined + - hwmon: (mr75203) update pvt->v_num and vm_num to the actual number of used + sensors + - hwmon: (mr75203) fix voltage equation for negative source input + - hwmon: (mr75203) fix multi-channel voltage reading + - hwmon: (mr75203) enable polling for all VM channels + - perf evlist: Always use arch_evlist__add_default_attrs() + - perf stat: Fix L2 Topdown metrics disappear for raw events + - Revert "arm64: kasan: Revert "arm64: mte: reset the page tag in + page->flags"" + - hwmon: (asus-ec-sensors) add support for Strix Z690-a D4 + - hwmon: (asus-ec-sensors) add support for Maximus XI Hero + - hwmon: (asus-ec-sensors) add missing sensors for X570-I GAMING + - hwmon: (asus-ec-sensors) add definitions for ROG ZENITH II EXTREME + - hwmon: (asus-ec-sensors) autoload module via DMI data + - arm64/bti: Disable in kernel BTI when cross section thunks are broken + - [Config] updateconfigs for ARM64_BTI_KERNEL + - iommu/vt-d: Correctly calculate sagaw value of IOMMU + - iommu/virtio: Fix interaction with VFIO + - iommu: Fix false ownership failure on AMD systems with PASID activated + - drm/amd/display: Add SMU logging code + - drm/amd/display: Removing assert statements for Linux + - Linux 5.19.9 + * Kinetic update: v5.19.8 upstream stable release (LP: #1994061) + - drm/msm/dp: make eDP panel as the first connected connector + - drm/msm/dsi: fix the inconsistent indenting + - drm/msm/dpu: populate wb or intf before reset_intf_cfg + - drm/msm/dp: delete DP_RECOVERED_CLOCK_OUT_EN to fix tps4 + - drm/msm/dsi: Fix number of regulators for msm8996_dsi_cfg + - drm/msm/dsi: Fix number of regulators for SDM660 + - platform/x86: pmc_atom: Fix SLP_TYPx bitfield mask + - platform/x86: x86-android-tablets: Fix broken touchscreen on Chuwi Hi8 with + Windows BIOS + - xsk: Fix corrupted packets for XDP_SHARED_UMEM + - drm/msm/gpu: Drop qos request if devm_devfreq_add_device() fails + - peci: aspeed: fix error check return value of platform_get_irq() + - iio: adc: mcp3911: make use of the sign bit + - skmsg: Fix wrong last sg check in sk_msg_recvmsg() + - bpf: Restrict bpf_sys_bpf to CAP_PERFMON + - ip_tunnel: Respect tunnel key's "flow_flags" in IP tunnels + - bpf, cgroup: Fix kernel BUG in purge_effective_progs + - drm/i915/gvt: Fix Comet Lake + - ieee802154/adf7242: defer destroy_workqueue call + - bpf: Fix a data-race around bpf_jit_limit. + - drm/i915/ttm: fix CCS handling + - drm/i915/display: avoid warnings when registering dual panel backlight + - ALSA: hda: intel-nhlt: Correct the handling of fmt_config flexible array + - wifi: cfg80211: debugfs: fix return type in ht40allow_map_read() + - xhci: Fix null pointer dereference in remove if xHC has only one roothub + - Revert "xhci: turn off port power in shutdown" + - bpf: Allow helpers to accept pointers with a fixed size + - bpf: Tidy up verifier check_func_arg() + - bpf: Do mark_chain_precision for ARG_CONST_ALLOC_SIZE_OR_ZERO + - Bluetooth: hci_event: Fix vendor (unknown) opcode status handling + - Bluetooth: hci_sync: Fix suspend performance regression + - Bluetooth: hci_event: Fix checking conn for le_conn_complete_evt + - Bluetooth: hci_sync: hold hdev->lock when cleanup hci_conn + - net: sparx5: fix handling uneven length packets in manual extraction + - net: smsc911x: Stop and start PHY during suspend and resume + - openvswitch: fix memory leak at failed datapath creation + - nfp: flower: fix ingress police using matchall filter + - net: dsa: xrs700x: Use irqsave variant for u64 stats update + - net: sched: tbf: don't call qdisc_put() while holding tree lock + - net/sched: fix netdevice reference leaks in attach_default_qdiscs() + - net: phy: micrel: Make the GPIO to be non-exclusive + - net: lan966x: improve error handle in lan966x_fdma_rx_get_frame() + - ethernet: rocker: fix sleep in atomic context bug in neigh_timer_handler + - cachefiles: fix error return code in cachefiles_ondemand_copen() + - cachefiles: make on-demand request distribution fairer + - mlxbf_gige: compute MDIO period based on i1clk + - kcm: fix strp_init() order and cleanup + - sch_cake: Return __NET_XMIT_STOLEN when consuming enqueued skb + - tcp: annotate data-race around challenge_timestamp + - Revert "sch_cake: Return __NET_XMIT_STOLEN when consuming enqueued skb" + - net/smc: Remove redundant refcount increase + - soundwire: qcom: fix device status array range + - mm/slab_common: Deleting kobject in kmem_cache_destroy() without holding + slab_mutex/cpu_hotplug_lock + - platform/mellanox: mlxreg-lc: Fix coverity warning + - platform/mellanox: mlxreg-lc: Fix locking issue + - serial: fsl_lpuart: RS485 RTS polariy is inverse + - tty: serial: atmel: Preserve previous USART mode if RS485 disabled + - staging: rtl8712: fix use after free bugs + - staging: r8188eu: Add Rosewill USB-N150 Nano to device tables + - staging: r8188eu: add firmware dependency + - Revert "powerpc: Remove unused FW_FEATURE_NATIVE references" + - powerpc: align syscall table for ppc32 + - powerpc/rtas: Fix RTAS MSR[HV] handling for Cell + - vt: Clear selection before changing the font + - musb: fix USB_MUSB_TUSB6010 dependency + - tty: serial: lpuart: disable flow control while waiting for the transmit + engine to complete + - Input: iforce - wake up after clearing IFORCE_XMIT_RUNNING flag + - iio: light: cm3605: Fix an error handling path in cm3605_probe() + - iio: ad7292: Prevent regulator double disable + - iio: adc: mcp3911: correct "microchip,device-addr" property + - iio: adc: mcp3911: use correct formula for AD conversion + - misc: fastrpc: fix memory corruption on probe + - misc: fastrpc: fix memory corruption on open + - firmware_loader: Fix use-after-free during unregister + - firmware_loader: Fix memory leak in firmware upload + - USB: serial: ftdi_sio: add Omron CS1W-CIF31 device id + - landlock: Fix file reparenting without explicit LANDLOCK_ACCESS_FS_REFER + - mmc: core: Fix UHS-I SD 1.8V workaround branch + - mmc: core: Fix inconsistent sd3_bus_mode at UHS-I SD voltage switch failure + - binder: fix UAF of ref->proc caused by race condition + - binder: fix alloc->vma_vm_mm null-ptr dereference + - cifs: fix small mempool leak in SMB2_negotiate() + - KVM: VMX: Heed the 'msr' argument in msr_write_intercepted() + - riscv: kvm: move extern sbi_ext declarations to a header + - clk: ti: Fix missing of_node_get() ti_find_clock_provider() + - drm/i915/reg: Fix spelling mistake "Unsupport" -> "Unsupported" + - clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops + - Revert "clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops" + - clk: core: Fix runtime PM sequence in clk_core_unprepare() + - Input: rk805-pwrkey - fix module autoloading + - powerpc/papr_scm: Fix nvdimm event mappings + - clk: bcm: rpi: Fix error handling of raspberrypi_fw_get_rate + - clk: bcm: rpi: Prevent out-of-bounds access + - clk: bcm: rpi: Add missing newline + - hwmon: (gpio-fan) Fix array out of bounds access + - gpio: pca953x: Add mutex_lock for regcache sync in PM + - gpio: realtek-otto: switch to 32-bit I/O + - KVM: x86: Mask off unsupported and unknown bits of IA32_ARCH_CAPABILITIES + - powerpc/papr_scm: Ensure rc is always initialized in papr_scm_pmu_register() + - xen/grants: prevent integer overflow in gnttab_dma_alloc_pages() + - mm: pagewalk: Fix race between unmap and page walker + - xen-blkback: Advertise feature-persistent as user requested + - xen-blkfront: Advertise feature-persistent as user requested + - xen-blkfront: Cache feature_persistent value before advertisement + - thunderbolt: Use the actual buffer in tb_async_error() + - thunderbolt: Check router generation before connecting xHCI + - usb: dwc3: pci: Add support for Intel Raptor Lake + - media: mceusb: Use new usb_control_msg_*() routines + - xhci: Add grace period after xHC start to prevent premature runtime suspend. + - usb: dwc3: disable USB core PHY management + - usb: dwc3: gadget: Avoid duplicate requests to enable Run/Stop + - usb: dwc3: fix PHY disable sequence + - USB: serial: ch341: fix lost character on LCR updates + - USB: serial: ch341: fix disabled rx timer on older devices + - USB: serial: cp210x: add Decagon UCA device id + - USB: serial: option: add support for OPPO R11 diag port + - USB: serial: option: add Quectel EM060K modem + - USB: serial: option: add support for Cinterion MV32-WA/WB RmNet mode + - Revert "usb: typec: ucsi: add a common function + ucsi_unregister_connectors()" + - usb: typec: altmodes/displayport: correct pin assignment for UFP receptacles + - usb: typec: intel_pmc_mux: Add new ACPI ID for Meteor Lake IOM device + - usb: typec: tcpm: Return ENOTSUPP for power supply prop writes + - usb: dwc2: fix wrong order of phy_power_on and phy_init + - usb: cdns3: fix issue with rearming ISO OUT endpoint + - usb: cdns3: fix incorrect handling TRB_SMM flag for ISOC transfer + - USB: cdc-acm: Add Icom PMR F3400 support (0c26:0020) + - usb-storage: Add ignore-residue quirk for NXP PN7462AU + - s390/hugetlb: fix prepare_hugepage_range() check for 2 GB hugepages + - s390: fix nospec table alignments + - USB: core: Prevent nested device-reset calls + - usb: xhci-mtk: relax TT periodic bandwidth allocation + - usb: xhci-mtk: fix bandwidth release issue + - usb: gadget: f_uac2: fix superspeed transfer + - usb: gadget: mass_storage: Fix cdrom data transfers on MAC-OS + - USB: gadget: Fix obscure lockdep violation for udc_mutex + - dma-buf/dma-resv: check if the new fence is really later + - arm64/kexec: Fix missing extra range for crashkres_low. + - driver core: Don't probe devices after bus_type.match() probe deferral + - wifi: mac80211: Don't finalize CSA in IBSS mode if state is disconnected + - wifi: mac80211: Fix UAF in ieee80211_scan_rx() + - ip: fix triggering of 'icmp redirect' + - net: Use u64_stats_fetch_begin_irq() for stats fetch. + - net: mac802154: Fix a condition in the receive path + - ALSA: memalloc: Revive x86-specific WC page allocations again + - ALSA: hda/realtek: Add speaker AMP init for Samsung laptops with ALC298 + - ALSA: seq: oss: Fix data-race for max_midi_devs access + - ALSA: seq: Fix data-race at module auto-loading + - drm/i915/backlight: Disable pps power hook for aux based backlight + - drm/i915/guc: clear stalled request after a reset + - drm/i915/glk: ECS Liva Q2 needs GLK HDMI port timing quirk + - drm/i915: Skip wm/ddb readout for disabled pipes + - tty: n_gsm: add sanity check for gsm->receive in gsm_receive_buf() + - tty: n_gsm: initialize more members at gsm_alloc_mux() + - tty: n_gsm: replace kicktimer with delayed_work + - tty: n_gsm: avoid call of sleeping functions from atomic context + - Linux 5.19.8 + * md: Replace snprintf with scnprintf (LP: #1993315) + - md: Replace snprintf with scnprintf + * ACPI: processor idle: Practically limit "Dummy wait" workaround to old Intel + systems (LP: #1990985) + - ACPI: processor idle: Practically limit "Dummy wait" workaround to old Intel + systems + * iavf: SR-IOV VFs error with no traffic flow when MTU greater than 1500 + (LP: #1983656) + - iavf: Fix set max MTU size with port VLAN and jumbo frames + - i40e: Fix VF set max MTU size + * Fix resume on AMD platforms when TBT monitor is plugged (LP: #1990920) + - drm/amd/display: Detect dpcd_rev when hotplug mst monitor + - drm/amd/display: Release remote dc_sink under mst scenario + * [SRU][J/OEM-5.17][PATCH 0/1] Fix oled brightness set above frame-average + luminance (LP: #1978986) + - drm: New function to get luminance range based on static hdr metadata + - drm/amdgpu_dm: Rely on split out luminance calculation function + - drm/i915: Use luminance range calculated during edid parsing + * Update Broadcom Emulex FC HBA lpfc driver to 14.2.0.5 for Ubuntu 22.04 + (LP: #1988711) + - scsi: lpfc: Fix uninitialized cqe field in lpfc_nvme_cancel_iocb() + - scsi: lpfc: Set PU field when providing D_ID in XMIT_ELS_RSP64_CX iocb + - scsi: lpfc: Fix lost NVMe paths during LIF bounce stress test + - scsi: lpfc: Refactor lpfc_nvmet_prep_abort_wqe() into + lpfc_sli_prep_abort_xri() + - scsi: lpfc: Update lpfc version to 14.2.0.5 + - scsi: lpfc: Copyright updates for 14.2.0.5 patches + * input/keyboard: the keyboard on some Asus laptops can't work (LP: #1992266) + - ACPI: resource: Skip IRQ override on Asus Vivobook K3402ZA/K3502ZA + - ACPI: resource: Add ASUS model S5402ZA to quirks + * pcieport 0000:00:1b.0: PCIe Bus Error: severity=Uncorrected (Non-Fatal), + type=Transaction Layer, (Requester ID) (LP: #1988797) + - PCI/PTM: Cache PTM Capability offset + - PCI/PTM: Add pci_upstream_ptm() helper + - PCI/PTM: Separate configuration and enable + - PCI/PTM: Add pci_suspend_ptm() and pci_resume_ptm() + - PCI/PTM: Move pci_ptm_info() body into its only caller + - PCI/PTM: Preserve RsvdP bits in PTM Control register + - PCI/PTM: Reorder functions in logical order + - PCI/PTM: Consolidate PTM interface declarations + - PCI/PM: Always disable PTM for all devices during suspend + - PCI/PM: Simplify pci_pm_suspend_noirq() + + -- Khalid Elmously Wed, 04 Jan 2023 22:10:39 -0500 + +linux-gcp (5.19.0-1013.14) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1013.14 -proposed tracker (LP: #1997423) + + [ Ubuntu: 5.19.0-26.27 ] + + * kinetic/linux: 5.19.0-26.27 -proposed tracker (LP: #1997434) + * CVE-2022-3566 + - tcp: Fix data races around icsk->icsk_af_ops. + * CVE-2022-3567 + - ipv6: Fix data races around sk->sk_prot. + * CVE-2022-3621 + - nilfs2: fix NULL pointer dereference at nilfs_bmap_lookup_at_level() + * CVE-2022-3565 + - mISDN: fix use-after-free bugs in l1oip timer handlers + * CVE-2022-3594 + - r8152: Rate limit overflow messages + * CVE-2022-3564 + - Bluetooth: L2CAP: Fix use-after-free caused by l2cap_reassemble_sdu + * CVE-2022-3524 + - tcp/udp: Fix memory leak in ipv6_renew_options(). + * CVE-2022-43945 + - SUNRPC: Fix svcxdr_init_decode's end-of-buffer calculation + - SUNRPC: Fix svcxdr_init_encode's buflen calculation + - NFSD: Protect against send buffer overflow in NFSv2 READDIR + - NFSD: Protect against send buffer overflow in NFSv3 READDIR + - NFSD: Protect against send buffer overflow in NFSv2 READ + - NFSD: Protect against send buffer overflow in NFSv3 READ + - NFSD: Remove "inline" directives on op_rsize_bop helpers + - NFSD: Cap rsize_bop result based on send buffer size + + -- Thadeu Lima de Souza Cascardo Thu, 24 Nov 2022 06:18:12 -0300 + +linux-gcp (5.19.0-1010.11) kinetic; urgency=medium + + [ Ubuntu: 5.19.0-23.24 ] + + * CVE-2022-2602 + - SAUCE: io_uring/af_unix: defer registered files gc to io_uring release + - SAUCE: io_uring/af_unix: fix memleak during unix GC + * CVE-2022-41674 + - SAUCE: wifi: cfg80211: fix u8 overflow in + cfg80211_update_notlisted_nontrans() + - SAUCE: wifi: cfg80211/mac80211: reject bad MBSSID elements + - SAUCE: wifi: cfg80211: ensure length byte is present before access + - SAUCE: wifi: mac80211_hwsim: avoid mac80211 warning on bad rate + - SAUCE: wifi: cfg80211: update hidden BSSes to avoid WARN_ON + * CVE-2022-42722 + - SAUCE: wifi: mac80211: fix crash in beacon protection for P2P-device + * CVE-2022-42721 + - SAUCE: wifi: cfg80211: avoid nontransmitted BSS list corruption + * CVE-2022-42720 + - SAUCE: wifi: cfg80211: fix BSS refcounting bugs + * CVE-2022-42719 + - SAUCE: wifi: mac80211: fix MBSSID parsing use-after-free + + -- Thadeu Lima de Souza Cascardo Sat, 15 Oct 2022 08:43:32 -0300 + +linux-gcp (5.19.0-1008.8) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1008.8 -proposed tracker (LP: #1992745) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs following Ubuntu-5.19.0-21.21 rebase + + -- Paolo Pisati Thu, 13 Oct 2022 12:09:39 +0200 + +linux-gcp (5.19.0-1007.7) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1007.7 -proposed tracker (LP: #1991266) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs following Ubuntu-5.19.0-19.19 rebase + + -- Paolo Pisati Mon, 03 Oct 2022 10:41:13 +0200 + +linux-gcp (5.19.0-1006.6) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1006.6 -proposed tracker (LP: #1990498) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + - [Packaging] resync getabis + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs following Ubuntu-5.19.0-18.18 rebase + + -- Paolo Pisati Thu, 22 Sep 2022 19:19:29 +0200 + +linux-gcp (5.19.0-1005.5) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1005.5 -proposed tracker (LP: #1988718) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs following Ubuntu-5.19.0-16.16 rebase + + -- Paolo Pisati Tue, 06 Sep 2022 16:03:19 +0200 + +linux-gcp (5.19.0-1004.4) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1004.4 -proposed tracker (LP: #1983444) + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs following Ubuntu-5.19.0-15.15 rebase + + -- Paolo Pisati Wed, 03 Aug 2022 15:23:43 +0200 + +linux-gcp (5.19.0-1003.3) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1003.3 -proposed tracker (LP: #1983079) + + -- Paolo Pisati Fri, 29 Jul 2022 10:54:37 +0200 + +linux-gcp (5.19.0-1002.2) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1002.2 -proposed tracker (LP: #1982806) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs following Ubuntu-5.19.0-12.12 rebase + + [ Ubuntu: 5.19.0-12.12 ] + + * kinetic/linux: 5.19.0-12.12 -proposed tracker (LP: #1982741) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * Miscellaneous Ubuntu changes + - [Packaging]: always use fully qualified -gcc-VER toolchain + + [ Ubuntu: 5.19.0-11.11 ] + + * kinetic/linux: 5.19.0-11.11 -proposed tracker (LP: #1982726) + * Packaging resync (LP: #1786013) + - [Packaging] update variants + - debian/dkms-versions -- update from kernel-versions (main/master) + * GPIO character device v1 API not enabled in kernel (LP: #1953613) + - [Config] Enable CONFIG_GPIO_CDEV_V1 + * Use kernel-testing repo from launchpad for ADT tests (LP: #1968016) + - [Debian] Use kernel-testing repo from launchpad + * Support AMD P-State cpufreq control mechanism (LP: #1956509) + - [Config] enable X86_AMD_PSTATE as built-in on amd64 + * PCIE LnkCtl ASPM not enabled under VMD mode for Alder Lake platforms + (LP: #1942160) + - SAUCE: PCI/ASPM: Enable ASPM for links under VMD domain + - SAUCE: PCI/ASPM: Enable LTR for endpoints behind VMD + - SAUCE: vmd: fixup bridge ASPM by driver name instead + * Miscellaneous Ubuntu changes + - [Packaging] Double the speed of updateconfigs + - Remove ubuntu/hio driver + - [Config] update config after rebase to 5.19-rc8 + * Rebase to v5.19-rc8 + + [ Ubuntu: 5.19.0-10.10 ] + + * kinetic/linux: 5.19.0-10.10 -proposed tracker (LP: #1982013) + * enable config for fixing 5.17 kernel won't load mok (LP: #1972802) + - [Config] enable configs for fixing kernel won't load mok + * RISC-V kernel config is out of sync with other archs (LP: #1981437) + - [Config] Disable CONFIG_CXL_MEM_RAW_COMMANDS on riscv64 + - [Config] Disable CONFIG_EROFS_FS_ZIP_LZMA on riscv64 + - [Config] Disable CONFIG_FONT_6x8 on riscv64 + - [Config] Disable CONFIG_NTFS3_64BIT_CLUSTER on riscv64 + - [Config] Disable CONFIG_SCSI_IZIP_EPP16 on riscv64 + - [Config] Disable CONFIG_SCSI_UFS_HWMON on riscv64 + - [Config] Disable CONFIG_SPI_AX88796C_COMPRESSION on riscv64 + - [Config] Disable CONFIG_VIDEO_ZORAN on riscv64 + - [Config] Enable CONFIG_BPF_KPROBE_OVERRIDE on riscv64 + - [Config] Enable CONFIG_CACHEFILES_ERROR_INJECTION on riscv64 + - [Config] Enable CONFIG_DRM_AMD_DC_SI on riscv64 + - [Config] Enable CONFIG_NUMA_BALANCING on riscv64 + - [Config] Enable CONFIG_PROC_VMCORE_DEVICE_DUMP on riscv64 + - [Config] Enable CONFIG_WLAN_VENDOR_MICROCHIP on riscv64 + - [Config] Set CONFIG_MHI_WWAN_CTRL=m on riscv64 + - [Config] Set CONFIG_NFC_S3FWRN82_UART=m on riscv64 + - [Config] Enable CONFIG_EFIVAR_FS on riscv64 + - [Config] Enable CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES on riscv64 + - [Config] Enable CONFIG_STRICT_DEVMEM on riscv64 + - [Config] Enable CONFIG_VMAP_STACK on riscv64 + - [Config] Enable CONFIG_KEXEC_FILE on riscv64 + - [Config] Set CONFIG_MTD_PSTORE=m on riscv64 + - [Config] Set CONFIG_KFENCE_SAMPLE_INTERVAL=0 on riscv64 + - [Config] Enable CONFIG_KEXEC_FILE on s390x + * Ubuntu 22.04 and 20.04 DPC Fixes for Failure Cases of DownPort Containment + events (LP: #1965241) + - Enable config option CONFIG_PCIE_EDR + - Correct CONFIG_PCIE_EDR annotation on arm64 + * config CONFIG_HISI_PMU for kunpeng920 (LP: #1956086) + - [Config] CONFIG_HISI_PMU=m + * Skip setting ethernet LED on Dell EMC board (LP: #1971667) + - SAUCE: net: phy: marvell: Skip setting LED on Dell EMC board + * Miscellaneous Ubuntu changes + - [Packaging] ignore warnings from the output of ld.bfd + - [Packaging] Fix bashism in dkms-build script + - [Packaging] Always catch errors in dkms-build scripts + - [Packaging] Fix dkms builds with linker @module.mod files + - [Packaging] mark dkms-build-configure--zfs executable + - [Config] update configs and annotations after rebase to 5.19-rc7 + * Rebase to v5.19-rc7 + + [ Ubuntu: 5.19.0-9.9 ] + + * kinetic/linux: 5.19.0-9.9 -proposed tracker (LP: #1980622) + * Miscellaneous Ubuntu changes + - [Config] update config after rebase to 5.19-rc5 + * Rebase to v5.19-rc5 + + [ Ubuntu: 5.19.0-8.8 ] + + * kinetic/linux: 5.19.0-8.8 -proposed tracker (LP: #1980482) + * temporarily disable CONFIG_X86_KERNEL_IBT (LP: #1980484) + - [Config] temporarily disable CONFIG_X86_KERNEL_IBT + + [ Ubuntu: 5.19.0-7.7 ] + + * kinetic/linux: 5.19.0-7.7 -proposed tracker (LP: #1980056) + * Packaging resync (LP: #1786013) + - [Packaging] update variants + * RISC-V enables CONFIG_COMPAT in the unstable branch (LP: #1980061) + - [Config] Disable CONFIG_COMPAT on RISC-V + * No RISC-V configuration in the unstable tree (LP: #1979647) + - [Config] Merge riscv64 config and annotations + + [ Ubuntu: 5.19.0-6.6 ] + + * Empty entry + + [ Ubuntu: 5.19.0-6.6 ] + + * kinetic/linux-unstable: 5.19.0-6.6 -proposed tracker (LP: #1979948) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * Miscellaneous Ubuntu changes + - [Packaging] Remove 'family=ubuntu' concept + - [Packaging] final-checks: Remove useless sourcing of kernelconfig + - [Config] update config after rebase to 5.19-rc4 + * Rebase to v5.19-rc4 + + [ Ubuntu: 5.19.0-5.5 ] + + * kinetic/linux-unstable: 5.19.0-5.5 -proposed tracker (LP: #1979611) + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] temporarily disable signing for ppc64el and + s390x" + + [ Ubuntu: 5.19.0-4.4 ] + + * kinetic/linux-unstable: 5.19.0-4.4 -proposed tracker (LP: #1979177) + * Miscellaneous Ubuntu changes + - [Config] update configs after rebase to 5.19-rc3 + * Rebase to v5.19-rc3 + + [ Ubuntu: 5.19.0-3.3 ] + + * kinetic/linux-unstable: 5.19.0-3.3 -proposed tracker (LP: #1978439) + * Miscellaneous Ubuntu changes + - [Config] update annotations for 5.19 + * Rebase to v5.19-rc2 + + [ Ubuntu: 5.19.0-2.2 ] + + * kinetic/linux-unstable: 5.19.0-2.2 -proposed tracker (LP: #1978313) + + [ Ubuntu: 5.19.0-1.1 ] + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * linux: Staging modules should be unsigned (LP: #1642368) + - [Packaging] Move and update signature inclusion list + - [Packaging] Strip signatures from untrusted staging modules + - [Packaging] Add module-signature-check + * Miscellaneous Ubuntu changes + - [Config] update configs and annotations after rebase to 5.19-rc1 + - [Packaging] move to kernel 5.19 + - [Packaging] workaround missing python3-dev dependency + - SAUCE: Revert "perf tools: Use Python devtools for version autodetection + rather than runtime" + - SAUCE: watchdog: gxp: Add missing MODULE_LICENSE + - [Packaging] add python3-dev as build dependency + + [ Ubuntu: 5.19.0-0.0 ] + + * Empty entry + + [ Ubuntu: 5.18.0-6.6 ] + + * kinetic/linux: 5.18.0-6.6 -proposed tracker (LP: #1976327) + * Miscellaneous Ubuntu changes + - [Packaging] temporarily disable signing for ppc64el and s390x + - [Config] update toolchain versions + - [Config] enable CONFIG_X86_KERNEL_IBT + + [ Ubuntu: 5.18.0-5.5 ] + + * Empty entry + + [ Ubuntu: 5.18.0-5.5 ] + + * kinetic/linux-unstable: 5.18.0-5.5 -proposed tracker (LP: #1975458) + * enable CONFIG_DEVTMPFS_SAFE (LP: #1974442) + - [Config] enable CONFIG_DEVTMPFS_SAFE + * build backport-iwlwifi-dkms as linux-modules-iwlwifi-ABI (LP: #1969434) + - [Packaging] drop do_ arch specific configs + * prevent kernel panic with overlayfs + shiftfs (LP: #1973620) + - SAUCE: overlayfs: prevent dereferencing struct file in ovl_vm_prfile_set() + * linux-image-5.0.0-35-generic breaks checkpointing of container + (LP: #1857257) // re-apply missing overlayfs SAUCE patch (LP: #1967924) + - SAUCE: overlayfs: fix incorrect mnt_id of files opened from map_files + * Rebase to v5.18 + + [ Ubuntu: 5.18.0-4.4 ] + + * kinetic/linux-unstable: 5.18.0-4.4 -proposed tracker (LP: #1973587) + * build backport-iwlwifi-dkms as linux-modules-iwlwifi-ABI (LP: #1969434) + - [Packaging] support standalone dkms module builds + * Enable speakup kernel modules to allow the speakup screen reader to function + (LP: #1967702) + - [Config] CONFIG_SPEAKUP=m for all but s390x + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] temporarily disable v4l2loopback" + - Revert "UBUNTU: [Packaging] temporarily disable zfs" + * Rebase to v5.18-rc7 + + [ Ubuntu: 5.18.0-3.3 ] + + * kinetic/linux-unstable: 5.18.0-3.3 -proposed tracker (LP: #1972162) + * disable Intel DMA remapping by default (LP: #1971699) + - Revert "UBUNTU: [Config] enable Intel DMA remapping options by default" + * Rebase to v5.18-rc6 + + [ Ubuntu: 5.18.0-2.2 ] + + * kinetic/linux-unstable: 5.18.0-2.2 -proposed tracker (LP: #1971340) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * Miscellaneous Ubuntu changes + - [Config] update configs after rebase + * Rebase to v5.18-rc5 + + [ Ubuntu: 5.18.0-1.1 ] + + * Empty entry + + [ Ubuntu: 5.18.0-1.1 ] + + * kinetic/linux-unstable: 5.18.0-1.1 -proposed tracker (LP: #1969476) + * Miscellaneous Ubuntu changes + - [Config] update configs and annotations after rebase to 5.18 + - [Packaging] temporarily disable zfs + - [Packaging] temporarily disable v4l2loopback + * Rebase to v5.18-rc3 + + [ Ubuntu: 5.18.0-0.0 ] + + * Empty entry + + [ Ubuntu: 5.17.0-8.8 ] + + * jammy/linux-unstable: 5.17.0-8.8 -proposed tracker (LP: #1969016) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + [ Ubuntu: 5.17.0-7.7 ] + + * jammy/linux-unstable: 5.17.0-7.7 -proposed tracker (LP: #1968988) + * zfcpdump-kernel update to v5.15 (LP: #1965766) + - SAUCE: Audit: Fix incorrect static inline function declration. + * intel_iommu breaks Intel IPU6 camera: isys port open ready failed -16 + (LP: #1958004) + - SAUCE: iommu: intel-ipu: use IOMMU passthrough mode for Intel IPUs + * Jammy update: v5.17.3 upstream stable release (LP: #1968986) + - lib/logic_iomem: correct fallback config references + - um: fix and optimize xor select template for CONFIG64 and timetravel mode + - rtc: wm8350: Handle error for wm8350_register_irq + - net: dsa: felix: fix possible NULL pointer dereference + - mm: kfence: fix objcgs vector allocation + - KVM: x86/pmu: Use different raw event masks for AMD and Intel + - KVM: SVM: Fix kvm_cache_regs.h inclusions for is_guest_mode() + - KVM: x86/svm: Clear reserved bits written to PerfEvtSeln MSRs + - KVM: x86/pmu: Fix and isolate TSX-specific performance event logic + - KVM: x86/emulator: Emulate RDPID only if it is enabled in guest + - drm: Add orientation quirk for GPD Win Max + - Bluetooth: hci_sync: Fix compilation warning + - ath5k: fix OOB in ath5k_eeprom_read_pcal_info_5111 + - Bluetooth: fix null ptr deref on hci_sync_conn_complete_evt + - drm/amd/display: Add signal type check when verify stream backends same + - drm/amdkfd: enable heavy-weight TLB flush on Arcturus + - drm/edid: remove non_desktop quirk for HPN-3515 and LEN-B800. + - drm/edid: improve non-desktop quirk logging + - Bluetooth: hci_event: Ignore multiple conn complete events + - drm/amd/amdgpu/amdgpu_cs: fix refcount leak of a dma_fence obj + - drm/amd/display: Fix memory leak + - drm/amd/display: Use PSR version selected during set_psr_caps + - usb: gadget: tegra-xudc: Do not program SPARAM + - usb: gadget: tegra-xudc: Fix control endpoint's definitions + - usb: cdnsp: fix cdnsp_decode_trb function to properly handle ret value + - ptp: replace snprintf with sysfs_emit + - Bluetooth: hci_sync: Fix queuing commands when HCI_UNREGISTER is set + - selftests, xsk: Fix bpf_res cleanup test + - net/mlx5e: TC, Hold sample_attr on stack instead of pointer + - drm/amdkfd: Don't take process mutex for svm ioctls + - drm/amdkfd: Ensure mm remain valid in svm deferred_list work + - drm/amdkfd: svm range restore work deadlock when process exit + - drm/amdgpu: Fix an error message in rmmod + - mlxsw: spectrum: Guard against invalid local ports + - RDMA/rtrs-clt: Do stop and failover outside reconnect work. + - powerpc/xive: Export XIVE IPI information for online-only processors. + - powerpc: dts: t104xrdb: fix phy type for FMAN 4/5 + - ath11k: fix kernel panic during unload/load ath11k modules + - ath11k: pci: fix crash on suspend if board file is not found + - ath11k: mhi: use mhi_sync_power_up() + - net/smc: Send directly when TCP_CORK is cleared + - drm/bridge: Add missing pm_runtime_put_sync + - bpf: Make dst_port field in struct bpf_sock 16-bit wide + - scsi: mvsas: Replace snprintf() with sysfs_emit() + - scsi: bfa: Replace snprintf() with sysfs_emit() + - drm/v3d: fix missing unlock + - power: supply: axp20x_battery: properly report current when discharging + - mt76: mt7921: fix crash when startup fails. + - mt76: dma: initialize skip_unmap in mt76_dma_rx_fill + - i40e: Add sending commands in atomic context + - cfg80211: don't add non transmitted BSS to 6GHz scanned channels + - libbpf: Fix build issue with llvm-readelf + - ipv6: make mc_forwarding atomic + - ref_tracker: implement use-after-free detection + - net: initialize init_net earlier + - powerpc: Set crashkernel offset to mid of RMA region + - drm/amdgpu: Fix recursive locking warning + - scsi: smartpqi: Fix rmmod stack trace + - scsi: smartpqi: Fix kdump issue when controller is locked up + - PCI: aardvark: Fix support for MSI interrupts + - kvm: selftests: aarch64: fix assert in gicv3_access_reg + - kvm: selftests: aarch64: pass vgic_irq guest args as a pointer + - kvm: selftests: aarch64: fix the failure check in + kvm_set_gsi_routing_irqchip_check + - kvm: selftests: aarch64: fix some vgic related comments + - kvm: selftests: aarch64: use a tighter assert in vgic_poke_irq() + - iommu/arm-smmu-v3: fix event handling soft lockup + - usb: ehci: add pci device support for Aspeed platforms + - KVM: arm64: Do not change the PMU event filter after a VCPU has run + - libbpf: Fix accessing syscall arguments on powerpc + - libbpf: Fix accessing the first syscall argument on arm64 + - libbpf: Fix accessing the first syscall argument on s390 + - PCI: endpoint: Fix alignment fault error in copy tests + - tcp: Don't acquire inet_listen_hashbucket::lock with disabled BH. + - PCI: pciehp: Add Qualcomm quirk for Command Completed erratum + - scsi: mpi3mr: Fix deadlock while canceling the fw event + - scsi: mpi3mr: Fix reporting of actual data transfer size + - scsi: mpi3mr: Fix memory leaks + - powerpc/set_memory: Avoid spinlock recursion in change_page_attr() + - power: supply: axp288-charger: Set Vhold to 4.4V + - drm/sprd: fix potential NULL dereference + - drm/sprd: check the platform_get_resource() return value + - drm/amd/display: reset lane settings after each PHY repeater LT + - net/mlx5e: Disable TX queues before registering the netdev + - HID: apple: Report Magic Keyboard 2021 battery over USB + - HID: apple: Report Magic Keyboard 2021 with fingerprint reader battery over + USB + - usb: dwc3: pci: Set the swnode from inside dwc3_pci_quirks() + - iwlwifi: mvm: Correctly set fragmented EBS + - iwlwifi: fix small doc mistake for iwl_fw_ini_addr_val + - iwlwifi: mvm: move only to an enabled channel + - ipv6: annotate some data-races around sk->sk_prot + - drm/msm/dsi: Remove spurious IRQF_ONESHOT flag + - x86/mce: Work around an erratum on fast string copy instructions + - rtw89: fix RCU usage in rtw89_core_txq_push() + - ath11k: Fix frames flush failure caused by deadlock + - ipv4: Invalidate neighbour for broadcast address upon address addition + - rtw88: change rtw_info() to proper message level + - dm ioctl: prevent potential spectre v1 gadget + - dm: requeue IO if mapping table not yet available + - drm/amdkfd: make CRAT table missing message informational only + - vfio/pci: Stub vfio_pci_vga_rw when !CONFIG_VFIO_PCI_VGA + - scsi: pm8001: Fix pm80xx_pci_mem_copy() interface + - scsi: pm8001: Fix pm8001_mpi_task_abort_resp() + - scsi: pm8001: Fix tag values handling + - scsi: pm8001: Fix task leak in pm8001_send_abort_all() + - scsi: pm8001: Fix tag leaks on error + - scsi: pm8001: Fix memory leak in pm8001_chip_fw_flash_update_req() + - mt76: mt7915: fix injected MPDU transmission to not use HW A-MSDU + - mctp: make __mctp_dev_get() take a refcount hold + - powerpc/64s/hash: Make hash faults work in NMI context + - mt76: mt7615: Fix assigning negative values to unsigned variable + - power: supply: axp288_charger: Use acpi_quirk_skip_acpi_ac_and_battery() + - power: supply: axp288_fuel_gauge: Use acpi_quirk_skip_acpi_ac_and_battery() + - scsi: aha152x: Fix aha152x_setup() __setup handler return value + - scsi: hisi_sas: Free irq vectors in order for v3 HW + - scsi: hisi_sas: Limit users changing debugfs BIST count value + - net/smc: correct settings of RMB window update limit + - mips: ralink: fix a refcount leak in ill_acc_of_setup() + - iavf: stop leaking iavf_status as "errno" values + - macvtap: advertise link netns via netlink + - platform/x86: thinkpad_acpi: Add dual fan probe + - tuntap: add sanity checks about msg_controllen in sendmsg + - Bluetooth: mediatek: fix the conflict between mtk and msft vendor event + - Bluetooth: Fix not checking for valid hdev on bt_dev_{info,warn,err,dbg} + - Bluetooth: use memset avoid memory leaks + - bnxt_en: Eliminate unintended link toggle during FW reset + - PCI: endpoint: Fix misused goto label + - MIPS: fix fortify panic when copying asm exception handlers + - powerpc/code-patching: Pre-map patch area + - powerpc/64e: Tie PPC_BOOK3E_64 to PPC_FSL_BOOK3E + - powerpc/secvar: fix refcount leak in format_show() + - scsi: libfc: Fix use after free in fc_exch_abts_resp() + - platform/x86: x86-android-tablets: Depend on EFI and SPI + - can: isotp: set default value for N_As to 50 micro seconds + - can: etas_es58x: es58x_fd_rx_event_msg(): initialize rx_event_msg before + calling es58x_check_msg_len() + - riscv: Fixed misaligned memory access. Fixed pointer comparison. + - net: account alternate interface name memory + - net: limit altnames to 64k total + - net/mlx5e: Remove overzealous validations in netlink EEPROM query + - platform/x86: hp-wmi: Fix SW_TABLET_MODE detection method + - platform/x86: hp-wmi: Fix 0x05 error code reported by several WMI calls + - net: sfp: add 2500base-X quirk for Lantech SFP module + - usb: dwc3: omap: fix "unbalanced disables for smps10_out1" on omap5evm + - xen/usb: harden xen_hcd against malicious backends + - mt76: fix monitor mode crash with sdio driver + - xtensa: fix DTC warning unit_address_format + - iwlwifi: mei: fix building iwlmei + - MIPS: ingenic: correct unit node address + - Bluetooth: Fix use after free in hci_send_acl + - netfilter: conntrack: revisit gc autotuning + - netlabel: fix out-of-bounds memory accesses + - ceph: fix inode reference leakage in ceph_get_snapdir() + - ceph: fix memory leak in ceph_readdir when note_last_dentry returns error + - lib/Kconfig.debug: add ARCH dependency for FUNCTION_ALIGN option + - init/main.c: return 1 from handled __setup() functions + - minix: fix bug when opening a file with O_DIRECT + - clk: si5341: fix reported clk_rate when output divider is 2 + - clk: mediatek: Fix memory leaks on probe + - staging: vchiq_arm: Avoid NULL ptr deref in vchiq_dump_platform_instances + - staging: vchiq_core: handle NULL result of find_service_by_handle + - phy: amlogic: phy-meson-gxl-usb2: fix shared reset controller use + - phy: amlogic: meson8b-usb2: Use dev_err_probe() + - phy: amlogic: meson8b-usb2: fix shared reset control use + - clk: rockchip: drop CLK_SET_RATE_PARENT from dclk_vop* on rk3568 + - cpufreq: CPPC: Fix performance/frequency conversion + - opp: Expose of-node's name in debugfs + - staging: wfx: apply the necessary SDIO quirks for the Silabs WF200 + - staging: wfx: fix an error handling in wfx_init_common() + - w1: w1_therm: fixes w1_seq for ds28ea00 sensors + - NFSv4.2: fix reference count leaks in _nfs42_proc_copy_notify() + - NFSv4: Protect the state recovery thread against direct reclaim + - habanalabs: fix possible memory leak in MMU DR fini + - habanalabs: reject host map with mmu disabled + - habanalabs/gaudi: handle axi errors from NIC engines + - xen: delay xen_hvm_init_time_ops() if kdump is boot on vcpu>=32 + - clk: ti: Preserve node in ti_dt_clocks_register() + - clk: Enforce that disjoints limits are invalid + - SUNRPC/xprt: async tasks mustn't block waiting for memory + - SUNRPC: remove scheduling boost for "SWAPPER" tasks. + - NFS: swap IO handling is slightly different for O_DIRECT IO + - NFS: swap-out must always use STABLE writes. + - x86: Annotate call_on_stack() + - x86/Kconfig: Do not allow CONFIG_X86_X32_ABI=y with llvm-objcopy + - serial: samsung_tty: do not unlock port->lock for uart_write_wakeup() + - virtio_console: eliminate anonymous module_init & module_exit + - jfs: prevent NULL deref in diFree + - SUNRPC: Fix socket waits for write buffer space + - NFS: nfsiod should not block forever in mempool_alloc() + - NFS: Avoid writeback threads getting stuck in mempool_alloc() + - selftests: net: Add tls config dependency for tls selftests + - parisc: Fix CPU affinity for Lasi, WAX and Dino chips + - parisc: Fix patch code locking and flushing + - mm: fix race between MADV_FREE reclaim and blkdev direct IO read + - drm/amdgpu: fix off by one in amdgpu_gfx_kiq_acquire() + - Drivers: hv: vmbus: Fix initialization of device object in + vmbus_device_register() + - Drivers: hv: vmbus: Fix potential crash on module unload + - netfilter: bitwise: fix reduce comparisons + - Revert "NFSv4: Handle the special Linux file open access mode" + - NFSv4: fix open failure with O_ACCMODE flag + - scsi: core: scsi_logging: Fix a BUG + - scsi: sr: Fix typo in CDROM(CLOSETRAY|EJECT) handling + - scsi: core: Fix sbitmap depth in scsi_realloc_sdev_budget_map() + - scsi: zorro7xx: Fix a resource leak in zorro7xx_remove_one() + - vdpa: mlx5: prevent cvq work from hogging CPU + - net: sfc: add missing xdp queue reinitialization + - net/tls: fix slab-out-of-bounds bug in decrypt_internal + - vrf: fix packet sniffing for traffic originating from ip tunnels + - skbuff: fix coalescing for page_pool fragment recycling + - Revert "net: dsa: stop updating master MTU from master.c" + - ice: Clear default forwarding VSI during VSI release + - ice: Fix MAC address setting + - mctp: Fix check for dev_hard_header() result + - mctp: Use output netdev to allocate skb headroom + - net: ipv4: fix route with nexthop object delete warning + - net: stmmac: Fix unset max_speed difference between DT and non-DT platforms + - drm/imx: imx-ldb: Check for null pointer after calling kmemdup + - drm/imx: Fix memory leak in imx_pd_connector_get_modes + - drm/imx: dw_hdmi-imx: Fix bailout in error cases of probe + - regulator: rtq2134: Fix missing active_discharge_on setting + - spi: rpc-if: Fix RPM imbalance in probe error path + - regulator: atc260x: Fix missing active_discharge_on setting + - arch/arm64: Fix topology initialization for core scheduling + - bnxt_en: Synchronize tx when xdp redirects happen on same ring + - bnxt_en: reserve space inside receive page for skb_shared_info + - bnxt_en: Prevent XDP redirect from running when stopping TX queue + - sfc: Do not free an empty page_ring + - RDMA/mlx5: Don't remove cache MRs when a delay is needed + - RDMA/mlx5: Add a missing update of cache->last_add + - IB/cm: Cancel mad on the DREQ event when the state is MRA_REP_RCVD + - cifs: fix potential race with cifsd thread + - IB/rdmavt: add lock to call to rvt_error_qp to prevent a race condition + - sctp: count singleton chunks in assoc user stats + - dpaa2-ptp: Fix refcount leak in dpaa2_ptp_probe + - ice: Set txq_teid to ICE_INVAL_TEID on ring creation + - ice: Do not skip not enabled queues in ice_vc_dis_qs_msg + - ipv6: Fix stats accounting in ip6_pkt_drop + - ice: synchronize_rcu() when terminating rings + - ice: xsk: fix VSI state check in ice_xsk_wakeup() + - ice: clear cmd_type_offset_bsz for TX rings + - net: openvswitch: don't send internal clone attribute to the userspace. + - net: ethernet: mv643xx: Fix over zealous checking of_get_mac_address() + - net: openvswitch: fix leak of nested actions + - rxrpc: fix a race in rxrpc_exit_net() + - net: sfc: fix using uninitialized xdp tx_queue + - net: phy: mscc-miim: reject clause 45 register accesses + - qede: confirm skb is allocated before using + - spi: bcm-qspi: fix MSPI only access with bcm_qspi_exec_mem_op() + - drm/amd/display: Fix for dmub outbox notification enable + - drm/amd/display: Remove redundant dsc power gating from init_hw + - bpf: Support dual-stack sockets in bpf_tcp_check_syncookie + - drbd: Fix five use after free bugs in get_initial_state + - scsi: sd: sd_read_cpr() requires VPD pages + - scsi: ufs: ufshpb: Fix a NULL check on list iterator + - io_uring: nospec index for tags on files update + - io_uring: don't touch scm_fp_list after queueing skb + - SUNRPC: Handle ENOMEM in call_transmit_status() + - SUNRPC: Handle low memory situations in call_status() + - SUNRPC: svc_tcp_sendmsg() should handle errors from xdr_alloc_bvec() + - iommu/omap: Fix regression in probe for NULL pointer dereference + - perf unwind: Don't show unwind error messages when augmenting frame pointer + stack + - perf: arm-spe: Fix perf report --mem-mode + - perf tools: Fix perf's libperf_print callback + - perf session: Remap buf if there is no space for event + - arm64: Add part number for Arm Cortex-A78AE + - scsi: mpt3sas: Fix use after free in _scsih_expander_node_remove() + - scsi: ufs: ufs-pci: Add support for Intel MTL + - Revert "mmc: sdhci-xenon: fix annoying 1.8V regulator warning" + - mmc: block: Check for errors after write on SPI + - mmc: mmci: stm32: correctly check all elements of sg list + - mmc: renesas_sdhi: special 4tap settings only apply to HS400 + - mmc: renesas_sdhi: don't overwrite TAP settings when HS400 tuning is + complete + - mmc: core: Fixup support for writeback-cache for eMMC and SD + - lz4: fix LZ4_decompress_safe_partial read out of bound + - highmem: fix checks in __kmap_local_sched_{in,out} + - mmmremap.c: avoid pointless invalidate_range_start/end on mremap(old_size=0) + - mm/mempolicy: fix mpol_new leak in shared_policy_replace + - io_uring: don't check req->file in io_fsync_prep() + - io_uring: defer splice/tee file validity check until command issue + - io_uring: implement compat handling for IORING_REGISTER_IOWQ_AFF + - io_uring: fix race between timeout flush and removal + - x86/pm: Save the MSR validity status at context setup + - x86/speculation: Restore speculation related MSRs during S3 resume + - perf/x86/intel: Update the FRONTEND MSR mask on Sapphire Rapids + - btrfs: fix qgroup reserve overflow the qgroup limit + - btrfs: zoned: traverse devices under chunk_mutex in btrfs_can_activate_zone + - btrfs: remove device item and update super block in the same transaction + - btrfs: avoid defragging extents whose next extents are not targets + - btrfs: prevent subvol with swapfile from being deleted + - spi: core: add dma_map_dev for __spi_unmap_msg() + - cifs: force new session setup and tcon for dfs + - qed: fix ethtool register dump + - arm64: patch_text: Fixup last cpu should be master + - RDMA/hfi1: Fix use-after-free bug for mm struct + - drbd: fix an invalid memory access caused by incorrect use of list iterator + - gpio: Restrict usage of GPIO chip irq members before initialization + - x86/msi: Fix msi message data shadow struct + - x86/mm/tlb: Revert retpoline avoidance approach + - perf/x86/intel: Don't extend the pseudo-encoding to GP counters + - ata: sata_dwc_460ex: Fix crash due to OOB write + - perf: qcom_l2_pmu: fix an incorrect NULL check on list iterator + - perf/core: Inherit event_caps + - irqchip/gic-v3: Fix GICR_CTLR.RWP polling + - fbdev: Fix unregistering of framebuffers without device + - amd/display: set backlight only if required + - drm/panel: ili9341: fix optional regulator handling + - drm/amd/display: Fix by adding FPU protection for dcn30_internal_validate_bw + - drm/amdgpu/display: change pipe policy for DCN 2.1 + - drm/amdgpu/smu10: fix SoC/fclk units in auto mode + - drm/amdgpu/vcn: Fix the register setting for vcn1 + - drm/nouveau/pmu: Add missing callbacks for Tegra devices + - drm/amdkfd: Create file descriptor after client is added to smi_clients list + - drm/amdgpu: don't use BACO for reset in S3 + - SUNRPC: Ensure we flush any closed sockets before xs_xprt_free() + - Revert "ACPI: processor: idle: Only flush cache on entering C3" + - drm/amdkfd: Fix variable set but not used warning + - net/smc: send directly on setting TCP_NODELAY + - Revert "selftests: net: Add tls config dependency for tls selftests" + - bpf: Make remote_port field in struct bpf_sk_lookup 16-bit wide + - selftests/bpf: Fix u8 narrow load checks for bpf_sk_lookup remote_port + - bpf: Treat bpf_sk_lookup remote_port as a 2-byte field + - perf build: Don't use -ffat-lto-objects in the python feature test when + building with clang-13 + - perf python: Fix probing for some clang command line options + - tools build: Filter out options and warnings not supported by clang + - tools build: Use $(shell ) instead of `` to get embedded libperl's ccopts + - dmaengine: Revert "dmaengine: shdma: Fix runtime PM imbalance on error" + - KVM: avoid NULL pointer dereference in kvm_dirty_ring_push + - Drivers: hv: vmbus: Replace smp_store_mb() with virt_store_mb() + - powerpc: Fix virt_addr_valid() for 64-bit Book3E & 32-bit + - Revert "powerpc: Set max_mapnr correctly" + - x86/bug: Prevent shadowing in __WARN_FLAGS + - objtool: Fix SLS validation for kcov tail-call replacement + - sched/core: Fix forceidle balancing + - sched: Teach the forced-newidle balancer about CPU affinity limitation. + - x86,static_call: Fix __static_call_return0 for i386 + - x86/extable: Prefer local labels in .set directives + - irqchip/gic-v4: Wait for GICR_VPENDBASER.Dirty to clear before descheduling + - powerpc/64: Fix build failure with allyesconfig in book3s_64_entry.S + - irqchip/gic, gic-v3: Prevent GSI to SGI translations + - mm/sparsemem: fix 'mem_section' will never be NULL gcc 12 warning + - static_call: Don't make __static_call_return0 static + - io_uring: move read/write file prep state into actual opcode handler + - io_uring: propagate issue_flags state down to file assignment + - io_uring: defer file assignment + - io_uring: drop the old style inflight file tracking + - Linux 5.17.3 + * Jammy update: v5.17.2 upstream stable release Edit (LP: #1968984) + - Revert "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" + - USB: serial: pl2303: add IBM device IDs + - dt-bindings: usb: hcd: correct usb-device path + - USB: serial: pl2303: fix GS type detection + - USB: serial: simple: add Nokia phone driver + - mm: kfence: fix missing objcg housekeeping for SLAB + - locking/lockdep: Avoid potential access of invalid memory in lock_class + - drm/amdgpu: move PX checking into amdgpu_device_ip_early_init + - drm/amdgpu: only check for _PR3 on dGPUs + - iommu/iova: Improve 32-bit free space estimate + - block: flush plug based on hardware and software queue order + - block: ensure plug merging checks the correct queue at least once + - usb: typec: tipd: Forward plug orientation to typec subsystem + - USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c + - xhci: fix garbage USBSTS being logged in some cases + - xhci: fix runtime PM imbalance in USB2 resume + - xhci: make xhci_handshake timeout for xhci_reset() adjustable + - xhci: fix uninitialized string returned by xhci_decode_ctrl_ctx() + - mei: me: disable driver on the ign firmware + - mei: me: add Alder Lake N device id. + - mei: avoid iterator usage outside of list_for_each_entry + - bus: mhi: pci_generic: Add mru_default for Quectel EM1xx series + - bus: mhi: Fix pm_state conversion to string + - bus: mhi: Fix MHI DMA structure endianness + - docs: sphinx/requirements: Limit jinja2<3.1 + - coresight: Fix TRCCONFIGR.QE sysfs interface + - coresight: syscfg: Fix memleak on registration failure in + cscfg_create_device + - dt-bindings: iio: adc: zynqmp_ams: Add clock entry + - iio: adc: xilinx-ams: Fix single channel switching sequence + - iio: accel: mma8452: use the correct logic to get mma8452_data + - iio: adc: aspeed: Add divider flag to fix incorrect voltage reading. + - iio: imu: st_lsm6dsx: use dev_to_iio_dev() to get iio_dev struct + - iio: afe: rescale: use s64 for temporary scale calculations + - iio: adc: xilinx-ams: Fixed missing PS channels + - iio: adc: xilinx-ams: Fixed wrong sequencer register settings + - iio: inkern: apply consumer scale on IIO_VAL_INT cases + - iio: inkern: apply consumer scale when no channel scale is available + - iio: inkern: make a best effort on offset calculation + - greybus: svc: fix an error handling bug in gb_svc_hello() + - clk: rockchip: re-add rational best approximation algorithm to the + fractional divider + - clk: uniphier: Fix fixed-rate initialization + - ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE + - cifs: truncate the inode and mapping when we simulate fcollapse + - cifs: fix handlecache and multiuser + - cifs: we do not need a spinlock around the tree access during umount + - KEYS: fix length validation in keyctl_pkey_params_get_2() + - KEYS: asymmetric: enforce that sig algo matches key algo + - KEYS: asymmetric: properly validate hash_algo and encoding + - Documentation: add link to stable release candidate tree + - Documentation: update stable tree link + - firmware: stratix10-svc: add missing callback parameter on RSU + - firmware: sysfb: fix platform-device leak in error path + - HID: intel-ish-hid: Use dma_alloc_coherent for firmware update + - SUNRPC: avoid race between mod_timer() and del_timer_sync() + - SUNRPC: Do not dereference non-socket transports in sysfs + - NFS: NFSv2/v3 clients should never be setting NFS_CAP_XATTR + - NFSD: prevent underflow in nfssvc_decode_writeargs() + - NFSD: prevent integer overflow on 32 bit systems + - f2fs: fix to unlock page correctly in error path of is_alive() + - f2fs: quota: fix loop condition at f2fs_quota_sync() + - f2fs: fix to do sanity check on .cp_pack_total_block_count + - remoteproc: Fix count check in rproc_coredump_write() + - mm/mlock: fix two bugs in user_shm_lock() + - pinctrl: ingenic: Fix regmap on X series SoCs + - pinctrl: samsung: drop pin banks references on error paths + - net: bnxt_ptp: fix compilation error + - spi: mxic: Fix the transmit path + - mtd: spi-nor: Skip erase logic when SPI_NOR_NO_ERASE is set + - mtd: rawnand: protect access to rawnand devices while in suspend + - can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path + - can: m_can: m_can_tx_handler(): fix use after free of skb + - can: usb_8dev: usb_8dev_start_xmit(): fix double dev_kfree_skb() in error + path + - jffs2: fix use-after-free in jffs2_clear_xattr_subsystem + - jffs2: fix memory leak in jffs2_do_mount_fs + - jffs2: fix memory leak in jffs2_scan_medium + - mm: fs: fix lru_cache_disabled race in bh_lru + - mm: don't skip swap entry even if zap_details specified + - mm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node + - mm: invalidate hwpoison page cache page in fault path + - mempolicy: mbind_range() set_policy() after vma_merge() + - scsi: core: sd: Add silence_suspend flag to suppress some PM messages + - scsi: ufs: Fix runtime PM messages never-ending cycle + - scsi: scsi_transport_fc: Fix FPIN Link Integrity statistics counters + - scsi: libsas: Fix sas_ata_qc_issue() handling of NCQ NON DATA commands + - qed: display VF trust config + - qed: validate and restrict untrusted VFs vlan promisc mode + - riscv: dts: canaan: Fix SPI3 bus width + - riscv: Fix fill_callchain return value + - riscv: Increase stack size under KASAN + - RISC-V: Declare per cpu boot data as static + - Revert "Input: clear BTN_RIGHT/MIDDLE on buttonpads" + - cifs: do not skip link targets when an I/O fails + - cifs: fix incorrect use of list iterator after the loop + - cifs: prevent bad output lengths in smb2_ioctl_query_info() + - cifs: fix NULL ptr dereference in smb2_ioctl_query_info() + - ALSA: cs4236: fix an incorrect NULL check on list iterator + - ALSA: hda: Avoid unsol event during RPM suspending + - ALSA: pcm: Fix potential AB/BA lock with buffer_mutex and mmap_lock + - ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 2020 + - rtc: mc146818-lib: fix locking in mc146818_set_time + - rtc: pl031: fix rtc features null pointer dereference + - io_uring: ensure that fsnotify is always called + - ocfs2: fix crash when mount with quota enabled + - drm/simpledrm: Add "panel orientation" property on non-upright mounted LCD + panels + - mm: madvise: skip unmapped vma holes passed to process_madvise + - mm: madvise: return correct bytes advised with process_madvise + - Revert "mm: madvise: skip unmapped vma holes passed to process_madvise" + - mm,hwpoison: unmap poisoned page before invalidation + - mm: only re-generate demotion targets when a numa node changes its N_CPU + state + - mm/kmemleak: reset tag when compare object pointer + - dm stats: fix too short end duration_ns when using precise_timestamps + - dm: fix use-after-free in dm_cleanup_zoned_dev() + - dm: interlock pending dm_io and dm_wait_for_bios_completion + - dm: fix double accounting of flush with data + - dm integrity: set journal entry unused when shrinking device + - tracing: Have trace event string test handle zero length strings + - drbd: fix potential silent data corruption + - can: isotp: sanitize CAN ID checks in isotp_bind() + - PCI: fu740: Force 2.5GT/s for initial device probe + - arm64: signal: nofpsimd: Do not allocate fp/simd context when not available + - arm64: Do not defer reserve_crashkernel() for platforms with no DMA memory + zones + - arm64: dts: qcom: sm8250: Fix MSI IRQ for PCIe1 and PCIe2 + - arm64: dts: ti: k3-am65: Fix gic-v3 compatible regs + - arm64: dts: ti: k3-j721e: Fix gic-v3 compatible regs + - arm64: dts: ti: k3-j7200: Fix gic-v3 compatible regs + - arm64: dts: ti: k3-am64: Fix gic-v3 compatible regs + - arm64: dts: ti: k3-j721s2: Fix gic-v3 compatible regs + - ASoC: SOF: Intel: Fix NULL ptr dereference when ENOMEM + - mmc: core: use sysfs_emit() instead of sprintf() + - Revert "ACPI: Pass the same capabilities to the _OSC regardless of the query + flag" + - ACPI: properties: Consistently return -ENOENT if there are no more + references + - coredump: Also dump first pages of non-executable ELF libraries + - ext4: fix ext4_fc_stats trace point + - ext4: fix fs corruption when tring to remove a non-empty directory with IO + error + - ext4: make mb_optimize_scan option work with set/unset mount cmd + - ext4: make mb_optimize_scan performance mount option work with extents + - samples/landlock: Fix path_list memory leak + - landlock: Use square brackets around "landlock-ruleset" + - mailbox: tegra-hsp: Flush whole channel + - btrfs: zoned: put block group after final usage + - block: fix rq-qos breakage from skipping rq_qos_done_bio() + - block: limit request dispatch loop duration + - block: don't merge across cgroup boundaries if blkcg is enabled + - drm/edid: check basic audio support on CEA extension block + - fbdev: Hot-unplug firmware fb devices on forced removal + - video: fbdev: sm712fb: Fix crash in smtcfb_read() + - video: fbdev: atari: Atari 2 bpp (STe) palette bugfix + - rfkill: make new event layout opt-in + - ARM: dts: at91: sama7g5: Remove unused properties in i2c nodes + - ARM: dts: at91: sama5d2: Fix PMERRLOC resource size + - ARM: dts: exynos: fix UART3 pins configuration in Exynos5250 + - ARM: dts: exynos: add missing HDMI supplies on SMDK5250 + - ARM: dts: exynos: add missing HDMI supplies on SMDK5420 + - mgag200 fix memmapsl configuration in GCTL6 register + - carl9170: fix missing bit-wise or operator for tx_params + - pstore: Don't use semaphores in always-atomic-context code + - thermal: int340x: Increase bitmap size + - lib/raid6/test: fix multiple definition linking error + - exec: Force single empty string when argv is empty + - crypto: rsa-pkcs1pad - only allow with rsa + - crypto: rsa-pkcs1pad - correctly get hash from source scatterlist + - crypto: rsa-pkcs1pad - restore signature length check + - crypto: rsa-pkcs1pad - fix buffer overread in pkcs1pad_verify_complete() + - bcache: fixup multiple threads crash + - PM: domains: Fix sleep-in-atomic bug caused by genpd_debug_remove() + - DEC: Limit PMAX memory probing to R3k systems + - media: gpio-ir-tx: fix transmit with long spaces on Orange Pi PC + - media: omap3isp: Use struct_group() for memcpy() region + - media: venus: vdec: fixed possible memory leak issue + - media: venus: hfi_cmds: List HDR10 property as unsupported for v1 and v3 + - media: venus: venc: Fix h264 8x8 transform control + - media: davinci: vpif: fix unbalanced runtime PM get + - media: davinci: vpif: fix unbalanced runtime PM enable + - media: davinci: vpif: fix use-after-free on driver unbind + - mips: Always permit to build u-boot images + - btrfs: zoned: mark relocation as writing + - btrfs: extend locking to all space_info members accesses + - btrfs: verify the tranisd of the to-be-written dirty extent buffer + - xtensa: define update_mmu_tlb function + - xtensa: fix stop_machine_cpuslocked call in patch_text + - xtensa: fix xtensa_wsr always writing 0 + - KVM: s390x: fix SCK locking + - drm/syncobj: flatten dma_fence_chains on transfer + - drm/nouveau/backlight: Fix LVDS backlight detection on some laptops + - drm/nouveau/backlight: Just set all backlight types as RAW + - drm/fb-helper: Mark screen buffers in system memory with FBINFO_VIRTFB + - brcmfmac: firmware: Allocate space for default boardrev in nvram + - brcmfmac: pcie: Release firmwares in the brcmf_pcie_setup error path + - brcmfmac: pcie: Declare missing firmware files in pcie.c + - brcmfmac: pcie: Replace brcmf_pcie_copy_mem_todev with memcpy_toio + - brcmfmac: pcie: Fix crashes due to early IRQs + - drm/i915/opregion: check port number bounds for SWSCI display power state + - drm/i915/gem: add missing boundary check in vm_access + - PCI: imx6: Allow to probe when dw_pcie_wait_for_link() fails + - PCI: pciehp: Clear cmd_busy bit in polling mode + - PCI: xgene: Revert "PCI: xgene: Use inbound resources for setup" + - PCI: xgene: Revert "PCI: xgene: Fix IB window setup" + - regulator: qcom_smd: fix for_each_child.cocci warnings + - selinux: access superblock_security_struct in LSM blob way + - selinux: check return value of sel_make_avc_files + - crypto: ccp - Ensure psp_ret is always init'd in + __sev_platform_init_locked() + - crypto: qat - fix a signedness bug in get_service_enabled() + - hwrng: cavium - HW_RANDOM_CAVIUM should depend on ARCH_THUNDER + - crypto: sun8i-ss - really disable hash on A80 + - crypto: kdf - Select hmac in addition to sha256 + - crypto: qat - fix access to PFVF interrupt registers for GEN4 + - crypto: authenc - Fix sleep in atomic context in decrypt_tail + - crypto: octeontx2 - select CONFIG_NET_DEVLINK + - crypto: mxs-dcp - Fix scatterlist processing + - selinux: Fix selinux_sb_mnt_opts_compat() + - thermal: int340x: Check for NULL after calling kmemdup() + - crypto: octeontx2 - remove CONFIG_DM_CRYPT check + - spi: tegra114: Add missing IRQ check in tegra_spi_probe + - spi: tegra210-quad: Fix missin IRQ check in tegra_qspi_probe + - perf: MARVELL_CN10K_TAD_PMU should depend on ARCH_THUNDER + - selftests/sgx: Fix NULL-pointer-dereference upon early test failure + - selftests/sgx: Do not attempt enclave build without valid enclave + - selftests/sgx: Ensure enclave data available during debug print + - stack: Constrain and fix stack offset randomization with Clang builds + - arm64/mm: avoid fixmap race condition when create pud mapping + - security: add sctp_assoc_established hook + - blk-cgroup: set blkg iostat after percpu stat aggregation + - selftests/x86: Add validity check and allow field splitting + - selftests/sgx: Treat CC as one argument + - crypto: rockchip - ECB does not need IV + - block: update io_ticks when io hang + - audit: log AUDIT_TIME_* records only from rules + - EVM: fix the evm= __setup handler return value + - crypto: ccree - don't attempt 0 len DMA mappings + - crypto: hisilicon/sec - fix the aead software fallback for engine + - spi: pxa2xx-pci: Balance reference count for PCI DMA device + - hwmon: (pmbus) Add mutex to regulator ops + - hwmon: (sch56xx-common) Replace WDOG_ACTIVE with WDOG_HW_RUNNING + - nvme: cleanup __nvme_check_ids + - nvme: fix the check for duplicate unique identifiers + - block: don't delete queue kobject before its children + - PM: hibernate: fix __setup handler error handling + - PM: suspend: fix return value of __setup handler + - spi: spi-zynqmp-gqspi: Handle error for dma_set_mask + - hwrng: atmel - disable trng on failure path + - crypto: sun8i-ss - call finalize with bh disabled + - crypto: sun8i-ce - call finalize with bh disabled + - crypto: amlogic - call finalize with bh disabled + - crypto: gemini - call finalize with bh disabled + - crypto: vmx - add missing dependencies + - clocksource/drivers/timer-ti-dm: Fix regression from errata i940 fix + - clocksource/drivers/exynos_mct: Handle DTS with higher number of interrupts + - clocksource/drivers/timer-microchip-pit64b: Use notrace + - clocksource/drivers/timer-of: Check return value of of_iomap in + timer_of_base_init() + - arm64: prevent instrumentation of bp hardening callbacks + - perf/arm-cmn: Hide XP PUB events for CMN-600 + - perf/arm-cmn: Update watchpoint format + - KEYS: trusted: Fix trusted key backends when building as module + - KEYS: trusted: Avoid calling null function trusted_key_exit + - ACPI: APEI: fix return value of __setup handlers + - crypto: ccp - ccp_dmaengine_unregister release dma channels + - crypto: ccree - Fix use after free in cc_cipher_exit() + - crypto: qat - fix initialization of pfvf cap_msg structures + - crypto: qat - fix initialization of pfvf rts_map_msg structures + - hwrng: nomadik - Change clk_disable to clk_disable_unprepare + - hwmon: (pmbus) Add Vin unit off handling + - clocksource: acpi_pm: fix return value of __setup handler + - io_uring: don't check unrelated req->open.how in accept request + - io_uring: terminate manual loop iterator loop correctly for non-vecs + - watch_queue: Fix NULL dereference in error cleanup + - watch_queue: Actually free the watch + - f2fs: fix to enable ATGC correctly via gc_idle sysfs interface + - sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa + - sched/core: Export pelt_thermal_tp + - sched/sugov: Ignore 'busy' filter when rq is capped by uclamp_max + - sched/uclamp: Fix iowait boost escaping uclamp restriction + - rseq: Remove broken uapi field layout on 32-bit little endian + - perf/core: Fix address filter parser for multiple filters + - perf/x86/intel/pt: Fix address filter config for 32-bit kernel + - sched/fair: Improve consistency of allowed NUMA balance calculations + - f2fs: fix missing free nid in f2fs_handle_failed_inode + - ext4: fix remount with 'abort' option + - nfsd: more robust allocation failure handling in nfsd_file_cache_init + - sched/cpuacct: Fix charge percpu cpuusage + - sched/rt: Plug rt_mutex_setprio() vs push_rt_task() race + - f2fs: fix to avoid potential deadlock + - btrfs: fix unexpected error path when reflinking an inline extent + - iomap: Fix iomap_invalidatepage tracepoint + - fs: erofs: add sanity check for kobject in erofs_unregister_sysfs + - f2fs: fix compressed file start atomic write may cause data corruption + - cifs: use a different reconnect helper for non-cifsd threads + - selftests, x86: fix how check_cc.sh is being invoked + - drivers/base/memory: add memory block to memory group after registration + succeeded + - kunit: make kunit_test_timeout compatible with comment + - pinctrl: samsung: Remove EINT handler for Exynos850 ALIVE and CMGP gpios + - media: staging: media: zoran: fix usage of vb2_dma_contig_set_max_seg_size + - media: camss: csid-170: fix non-10bit formats + - media: camss: csid-170: don't enable unused irqs + - media: camss: csid-170: set the right HALT_CMD when disabled + - media: camss: vfe-170: fix "VFE halt timeout" error + - media: staging: media: imx: imx7-mipi-csis: Make subdev name unique + - media: v4l2-mem2mem: Apply DST_QUEUE_OFF_BASE on MMAP buffers across ioctls + - media: mtk-vcodec: potential dereference of null pointer + - media: imx: imx8mq-mipi-csi2: remove wrong irq config write operation + - media: imx: imx8mq-mipi_csi2: fix system resume + - media: bttv: fix WARNING regression on tunerless devices + - media: atmel: atmel-sama7g5-isc: fix ispck leftover + - ASoC: sh: rz-ssi: Drop calling rz_ssi_pio_recv() recursively + - ASoC: codecs: Check for error pointer after calling devm_regmap_init_mmio + - ASoC: xilinx: xlnx_formatter_pcm: Handle sysclk setting + - ASoC: simple-card-utils: Set sysclk on all components + - memory: tegra20-emc: Correct memory device mask + - media: coda: Fix missing put_device() call in coda_get_vdoa_data + - media: meson: vdec: potential dereference of null pointer + - media: hantro: Fix overfill bottom register field name + - media: ov6650: Fix set format try processing path + - media: v4l: Avoid unaligned access warnings when printing 4cc modifiers + - media: ov5648: Don't pack controls struct + - media: ov2740: identify module after subdev initialisation + - media: aspeed: Correct value for h-total-pixels + - video: fbdev: matroxfb: set maxvram of vbG200eW to the same as vbG200 to + avoid black screen + - video: fbdev: controlfb: Fix COMPILE_TEST build + - video: fbdev: smscufx: Fix null-ptr-deref in ufx_usb_probe() + - video: fbdev: atmel_lcdfb: fix an error code in atmel_lcdfb_probe() + - video: fbdev: fbcvt.c: fix printing in fb_cvt_print_name() + - ARM: dts: Fix OpenBMC flash layout label addresses + - ASoC: max98927: add missing header file + - arm64: dts: qcom: sc7280: Fix gmu unit address + - firmware: qcom: scm: Remove reassignment to desc following initializer + - ARM: dts: qcom: ipq4019: fix sleep clock + - soc: qcom: rpmpd: Check for null return of devm_kcalloc + - soc: qcom: ocmem: Fix missing put_device() call in of_get_ocmem + - soc: qcom: aoss: Fix missing put_device call in qmp_get + - soc: qcom: aoss: remove spurious IRQF_ONESHOT flags + - arm64: dts: qcom: sdm845: fix microphone bias properties and values + - arm64: dts: qcom: sm8250: fix PCIe bindings to follow schema + - arm64: dts: qcom: msm8916-j5: Fix typo + - arm64: dts: broadcom: bcm4908: use proper TWD binding + - arm64: dts: qcom: sm8150: Correct TCS configuration for apps rsc + - arm64: dts: qcom: sm8350: Correct TCS configuration for apps rsc + - arm64: dts: qcom: sm8450: Update cpuidle states parameters + - arm64: dts: qcom: msm8994: Provide missing "xo_board" and "sleep_clk" to GCC + - arm64: dts: qcom: ipq6018: fix usb reference period + - firmware: ti_sci: Fix compilation failure when CONFIG_TI_SCI_PROTOCOL is not + defined + - soc: ti: wkup_m3_ipc: Fix IRQ check in wkup_m3_ipc_probe + - cpuidle: qcom-spm: Check if any CPU is managed by SPM + - ARM: dts: sun8i: v3s: Move the csi1 block to follow address order + - ARM: dts: stm32: fix AV96 board SAI2 pin muxing on stm32mp15 + - vsprintf: Fix potential unaligned access + - ARM: dts: qcom: sdx55: Fix the address used for PCIe EP local addr space + - ARM: dts: imx: Add missing LVDS decoder on M53Menlo + - media: mexon-ge2d: fixup frames size in registers + - media: video/hdmi: handle short reads of hdmi info frame. + - media: ti-vpe: cal: Fix a NULL pointer dereference in + cal_ctx_v4l2_init_formats() + - media: em28xx: initialize refcount before kref_get + - media: uapi: Init VP9 stateless decode params + - media: usb: go7007: s2250-board: fix leak in probe() + - media: cedrus: H265: Fix neighbour info buffer size + - media: cedrus: h264: Fix neighbour info buffer size + - arm64: dts: ti: k3-j721s2-mcu-wakeup: Fix the interrupt-parent for + wkup_gpioX instances + - ASoC: codecs: rx-macro: fix accessing compander for aux + - ASoC: codecs: rx-macro: fix accessing array out of bounds for enum type + - ASoC: codecs: va-macro: fix accessing array out of bounds for enum type + - ASoC: codecs: wc938x: fix accessing array out of bounds for enum type + - ASoC: codecs: wcd938x: fix kcontrol max values + - ASoC: codecs: wcd934x: fix kcontrol max values + - ASoC: codecs: wcd934x: fix return value of wcd934x_rx_hph_mode_put + - media: v4l2-core: Initialize h264 scaling matrix + - media: hantro: sunxi: Fix VP9 steps + - media: ov5640: Fix set format, v4l2_mbus_pixelcode not updated + - selftests: vm: remove dependecy from internal kernel macros + - selftests/lkdtm: Add UBSAN config + - vsprintf: Fix %pK with kptr_restrict == 0 + - uaccess: fix nios2 and microblaze get_user_8() + - ASoC: rt5663: check the return value of devm_kzalloc() in rt5663_parse_dp() + - ASoC: acp: check the return value of devm_kzalloc() in + acp_legacy_dai_links_create() + - soc: mediatek: pm-domains: Add wakeup capacity support in power domain + - mmc: sdhci_am654: Fix the driver data of AM64 SoC + - ASoC: ti: davinci-i2s: Add check for clk_enable() + - ALSA: spi: Add check for clk_enable() + - arm64: dts: ns2: Fix spi-cpol and spi-cpha property + - arm64: dts: broadcom: Fix sata nodename + - printk: fix return value of printk.devkmsg __setup handler + - ASoC: mxs-saif: Handle errors for clk_enable + - ASoC: atmel_ssc_dai: Handle errors for clk_enable + - ASoC: dwc-i2s: Handle errors for clk_enable + - ASoC: soc-compress: prevent the potentially use of null pointer + - media: i2c: Fix pixel array positions in ov8865 + - memory: emif: Add check for setup_interrupts + - memory: emif: check the pointer temp in get_device_details() + - ALSA: firewire-lib: fix uninitialized flag for AV/C deferred transaction + - arm64: dts: rockchip: Fix SDIO regulator supply properties on rk3399-firefly + - m68k: coldfire/device.c: only build for MCF_EDMA when h/w macros are defined + - media: stk1160: If start stream fails, return buffers with + VB2_BUF_STATE_QUEUED + - media: vidtv: Check for null return of vzalloc + - ASoC: cs35l41: Fix GPIO2 configuration + - ASoC: cs35l41: Fix max number of TX channels + - ASoC: atmel: Add missing of_node_put() in at91sam9g20ek_audio_probe + - ASoC: wm8350: Handle error for wm8350_register_irq + - ASoC: fsi: Add check for clk_enable + - video: fbdev: omapfb: Add missing of_node_put() in dvic_probe_of + - media: saa7134: fix incorrect use to determine if list is empty + - ivtv: fix incorrect device_caps for ivtvfb + - ASoC: atmel: Fix error handling in snd_proto_probe + - ASoC: rockchip: i2s: Fix missing clk_disable_unprepare() in + rockchip_i2s_probe + - ASoC: SOF: Add missing of_node_put() in imx8m_probe + - ASoC: mediatek: mt8192-mt6359: Fix error handling in mt8192_mt6359_dev_probe + - ASoC: rk817: Fix missing clk_disable_unprepare() in rk817_platform_probe + - ASoC: dmaengine: do not use a NULL prepare_slave_config() callback + - ASoC: mxs: Fix error handling in mxs_sgtl5000_probe + - ASoC: fsl_spdif: Disable TX clock when stop + - ASoC: imx-es8328: Fix error return code in imx_es8328_probe() + - ASoC: SOF: Intel: enable DMI L1 for playback streams + - ASoC: msm8916-wcd-digital: Fix missing clk_disable_unprepare() in + msm8916_wcd_digital_probe + - mmc: davinci_mmc: Handle error for clk_enable + - rtla/osnoise: Fix osnoise hist stop tracing message + - ASoC: rockchip: Fix PM usage reference of rockchip_i2s_tdm_resume + - ASoC: atmel: Fix error handling in sam9x5_wm8731_driver_probe + - ASoC: msm8916-wcd-analog: Fix error handling in pm8916_wcd_analog_spmi_probe + - ASoC: mediatek: mt8195: Fix error handling in + mt8195_mt6359_rt1019_rt5682_dev_probe + - ASoC: codecs: wcd934x: Add missing of_node_put() in wcd934x_codec_parse_data + - ASoC: amd: Fix reference to PCM buffer address + - ARM: configs: multi_v5_defconfig: re-enable CONFIG_V4L_PLATFORM_DRIVERS + - ARM: configs: multi_v5_defconfig: re-enable DRM_PANEL and FB_xxx + - drm/bridge: sn65dsi83: Fix an error handling path in sn65dsi83_probe() + - drm/meson: osd_afbcd: Add an exit callback to struct meson_afbcd_ops + - drm/meson: Fix error handling when afbcd.ops->init fails + - drm/bridge: Fix free wrong object in sii8620_init_rcp_input_dev + - drm/bridge: Add missing pm_runtime_disable() in __dw_mipi_dsi_probe + - drm/bridge: nwl-dsi: Fix PM disable depth imbalance in nwl_dsi_probe + - drm: bridge: adv7511: Fix ADV7535 HPD enablement + - ath11k: add missing of_node_put() to avoid leak + - ath10k: fix memory overwrite of the WoWLAN wakeup packet pattern + - drm/v3d/v3d_drv: Check for error num after setting mask + - Bluetooth: hci_sync: unlock on error in hci_inquiry_result_with_rssi_evt() + - ath11k: free peer for station when disconnect from AP for QCA6390/WCN6855 + - drm/panfrost: Check for error num after setting mask + - bpftool: Fix error check when calling hashmap__new() + - libbpf: Fix possible NULL pointer dereference when destroying skeleton + - bpftool: Only set obj->skeleton on complete success + - ath11k: fix error code in ath11k_qmi_assign_target_mem_chunk() + - udmabuf: validate ubuf->pagecount + - bpf: Fix UAF due to race between btf_try_get_module and load_module + - drm/selftests/test-drm_dp_mst_helper: Fix memory leak in + sideband_msg_req_encode_decode + - drm/locking: fix drm_modeset_acquire_ctx kernel-doc + - selftests: bpf: Fix bind on used port + - Bluetooth: btintel: Fix WBS setting for Intel legacy ROM products + - Bluetooth: hci_serdev: call init_rwsem() before p->open() + - Bluetooth: mt7921s: fix firmware coredump retrieve + - Bluetooth: mt7921s: fix bus hang with wrong privilege + - Bluetooth: btmtksdio: refactor btmtksdio_runtime_[suspend|resume]() + - Bluetooth: mt7921s: fix btmtksdio_[drv|fw]_pmctrl() + - Bluetooth: btmtksdio: mask out interrupt status + - mtd: onenand: Check for error irq + - mtd: rawnand: gpmi: fix controller timings setting + - selftests, xsk: Fix rx_full stats test + - drm/edid: Don't clear formats if using deep color + - drm/edid: Split deep color modes between RGB and YUV444 + - ionic: fix type complaint in ionic_dev_cmd_clean() + - ionic: start watchdog after all is setup + - ionic: Don't send reset commands if FW isn't running + - ionic: fix up printing of timeout error + - ionic: Correctly print AQ errors if completions aren't received + - net: dsa: Move VLAN filtering syncing out of dsa_switch_bridge_leave + - net: dsa: Avoid cross-chip syncing of VLAN filtering + - Bluetooth: hci_event: Fix HCI_EV_VENDOR max_len + - drm/nouveau/acr: Fix undefined behavior in nvkm_acr_hsfw_load_bl() + - drm/amd/display: Call dc_stream_release for remove link enc assignment + - drm/amd/display: Fix a NULL pointer dereference in + amdgpu_dm_connector_add_common_modes() + - drm/amd/pm: return -ENOTSUPP if there is no get_dpm_ultimate_freq function + - net: phy: at803x: move page selection fix to config_init + - selftests/bpf/test_xdp_redirect_multi: use temp netns for testing + - ath9k_htc: fix uninit value bugs + - ath11k: set WMI_PEER_40MHZ while peer assoc for 6 GHz + - RDMA/core: Set MR type in ib_reg_user_mr + - KVM: PPC: Fix vmx/vsx mixup in mmio emulation + - selftests/net: timestamping: Fix bind_phc check + - rtw88: check for validity before using a pointer + - rtw88: fix idle mode flow for hw scan + - rtw88: fix memory overrun and memory leak during hw_scan + - drm/bridge: lt9611: Fix an error handling path in lt9611_probe() + - i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb + - i40e: respect metadata on XSK Rx to skb + - ice: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb + - ice: respect metadata on XSK Rx to skb + - igc: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb + - ixgbe: pass bi->xdp to ixgbe_construct_skb_zc() directly + - ixgbe: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb + - ixgbe: respect metadata on XSK Rx to skb + - power: reset: gemini-poweroff: Fix IRQ check in gemini_poweroff_probe + - ray_cs: Check ioremap return value + - powerpc: dts: t1040rdb: fix ports names for Seville Ethernet switch + - KVM: PPC: Book3S HV: Check return value of kvmppc_radix_init + - powerpc/perf: Don't use perf_hw_context for trace IMC PMU + - mt76: connac: fix sta_rec_wtbl tag len + - mt76: mt7915: use proper aid value in mt7915_mcu_wtbl_generic_tlv in sta + mode + - mt76: mt7915: use proper aid value in mt7915_mcu_sta_basic_tlv + - mt76: mt76_connac: fix MCU_CE_CMD_SET_ROC definition error + - mt76: mt7921: set EDCA parameters with the MCU CE command + - mt76: mt7921: do not always disable fw runtime-pm + - mt76: mt7921: fix a leftover race in runtime-pm + - mt76: mt7615: fix a leftover race in runtime-pm + - mt76: mt7915: fix ht mcs in mt7915_mac_add_txs_skb() + - mt76: mt7921: fix ht mcs in mt7921_mac_add_txs_skb() + - mt76: mt7921s: fix mt7921s_mcu_[fw|drv]_pmctrl + - mt76: mt7921e: fix possible probe failure after reboot + - mt76: mt7603: check sta_rates pointer in mt7603_sta_rate_tbl_update + - mt76: mt7615: check sta_rates pointer in mt7615_sta_rate_tbl_update + - mt76: mt7915: fix possible memory leak in mt7915_mcu_add_sta + - mt76: mt7921s: fix a possible memory leak in mt7921_load_patch + - mt76: mt7915: fix mcs_map in mt7915_mcu_set_sta_he_mcs() + - mt76: mt7915: fix the nss setting in bitrates + - ptp: unregister virtual clocks when unregistering physical clock. + - net: dsa: mv88e6xxx: Enable port policy support on 6097 + - bpf: Fix a btf decl_tag bug when tagging a function + - mac80211: limit bandwidth in HE capabilities + - scripts/dtc: Call pkg-config POSIXly correct + - livepatch: Fix build failure on 32 bits processors + - net: asix: add proper error handling of usb read errors + - i2c: bcm2835: Fix the error handling in 'bcm2835_i2c_probe()' + - mtd: mchp23k256: Add SPI ID table + - mtd: mchp48l640: Add SPI ID table + - selftests/bpf: Extract syscall wrapper + - selftests/bpf: Use "__se_" prefix on architectures without syscall wrapper + - igc: avoid kernel warning when changing RX ring parameters + - igb: refactor XDP registration + - drm/amdgpu: Don't offset by 2 in FRU EEPROM + - PCI: aardvark: Fix reading MSI interrupt number + - PCI: aardvark: Fix reading PCI_EXP_RTSTA_PME bit on emulated bridge + - RDMA/rxe: Check the last packet by RXE_END_MASK + - libbpf: Fix signedness bug in btf_dump_array_data() + - libbpf: Fix riscv register names + - cxl/core: Fix cxl_probe_component_regs() error message + - tools/testing/cxl: Fix root port to host bridge assignment + - cxl/regs: Fix size of CXL Capability Header Register + - Netvsc: Call hv_unmap_memory() in the netvsc_device_remove() + - net:enetc: allocate CBD ring data memory using DMA coherent methods + - libbpf: Fix compilation warning due to mismatched printf format + - rtw88: fix use after free in rtw_hw_scan_update_probe_req() + - drm/bridge: dw-hdmi: use safe format when first in bridge chain + - power: supply: ab8500: Swap max and overvoltage + - libbpf: Fix libbpf.map inheritance chain for LIBBPF_0.7.0 + - libbpf: Use dynamically allocated buffer when receiving netlink messages + - power: supply: ab8500: Fix memory leak in ab8500_fg_sysfs_init + - HID: i2c-hid: fix GET/SET_REPORT for unnumbered reports + - iommu/ipmmu-vmsa: Check for error num after setting mask + - drm/bridge: anx7625: Fix overflow issue on reading EDID + - ath11k: fix uninitialized rate_idx in ath11k_dp_tx_update_txcompl() + - i2c: pasemi: Drop I2C classes from platform driver variant + - bpftool: Fix the error when lookup in no-btf maps + - drm/amd/pm: enable pm sysfs write for one VF mode + - drm/amd/display: Add affected crtcs to atomic state for dsc mst unplug + - bpftool: Fix pretty print dump for maps without BTF loaded + - libbpf: Fix memleak in libbpf_netlink_recv() + - IB/cma: Allow XRC INI QPs to set their local ACK timeout + - cxl/core/port: Rename bus.c to port.c + - cxl/port: Hold port reference until decoder release + - dax: make sure inodes are flushed before destroy cache + - selftests: mptcp: add csum mib check for mptcp_connect + - iwlwifi: mvm: Don't call iwl_mvm_sta_from_mac80211() with NULL sta + - iwlwifi: mvm: don't iterate unadded vifs when handling FW SMPS req + - iwlwifi: mvm: align locking in D3 test debugfs + - iwlwifi: yoyo: remove DBGI_SRAM address reset writing + - iwlwifi: yoyo: Avoid using dram data if allocation failed + - iwlwifi: mvm: fix off by one in iwl_mvm_stat_iterator_all_macs() + - iwlwifi: Fix -EIO error code that is never returned + - iwlwifi: mvm: Fix an error code in iwl_mvm_up() + - mtd: rawnand: pl353: Set the nand chip node as the flash node + - drm/msm/dp: do not initialize phy until plugin interrupt received + - drm/msm/dp: populate connector of struct dp_panel + - drm/msm/dp: stop link training after link training 2 failed + - drm/msm/dp: always add fail-safe mode into connector mode list + - drm/msm/dsi: Use "ref" fw clock instead of global name for VCO parent + - drm/msm/dsi/phy: fix 7nm v4.0 settings for C-PHY mode + - drm/msm/dpu: add DSPP blocks teardown + - drm/msm/dpu: fix dp audio condition + - drm/msm/dpu: remove msm_dp cached in dpu_encoder_virt + - drm/msm/dp: fix panel bridge attachment + - i40e: remove dead stores on XSK hotpath + - ath11k: Invalidate cached reo ring entry before accessing it + - mips: Enable KCSAN + - dm crypt: fix get_key_size compiler warning if !CONFIG_KEYS + - vfio/pci: fix memory leak during D3hot to D0 transition + - vfio/pci: wake-up devices around reset functions + - scsi: fnic: Fix a tracing statement + - scsi: pm8001: Fix command initialization in pm80XX_send_read_log() + - scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req() + - scsi: pm8001: Fix payload initialization in pm80xx_set_thermal_config() + - scsi: pm8001: Fix le32 values handling in + pm80xx_set_sas_protocol_timer_config() + - scsi: pm8001: Fix payload initialization in pm80xx_encrypt_update() + - scsi: pm8001: Fix le32 values handling in pm80xx_chip_ssp_io_req() + - scsi: pm8001: Fix le32 values handling in pm80xx_chip_sata_req() + - scsi: pm8001: Fix NCQ NON DATA command task initialization + - scsi: pm8001: Fix NCQ NON DATA command completion handling + - scsi: pm8001: Fix abort all task initialization + - mt76: do not always copy ethhdr in reverse_frag0_hdr_trans + - mt76: fix endianness errors in reverse_frag0_hdr_trans + - mt76: mt7921s: fix missing fc type/sub-type for 802.11 pkts + - net: dsa: realtek-smi: fix kdoc warnings + - net: dsa: realtek-smi: move to subdirectory + - RDMA/mlx5: Fix the flow of a miss in the allocation of a cache ODP MR + - drm/amd/display: Remove vupdate_int_entry definition + - TOMOYO: fix __setup handlers return values + - power: supply: sbs-charger: Don't cancel work that is not initialized + - mt76: mt7915: enlarge wcid size to 544 + - mt76: mt7915: fix the muru tlv issue + - drm/dp: Fix OOB read when handling Post Cursor2 register + - ext2: correct max file size computing + - drm/tegra: Fix reference leak in tegra_dsi_ganged_probe + - power: supply: bq24190_charger: Fix bq24190_vbus_is_enabled() wrong false + return + - scsi: hisi_sas: Change permission of parameter prot_mask + - drm/bridge: cdns-dsi: Make sure to to create proper aliases for dt + - bpf, arm64: Call build_prologue() first in first JIT pass + - bpf, arm64: Feed byte-offset into bpf line info + - xsk: Fix race at socket teardown + - RDMA/irdma: Fix netdev notifications for vlan's + - RDMA/irdma: Fix Passthrough mode in VM + - RDMA/irdma: Remove incorrect masking of PD + - libbpf: Fix BPF_MAP_TYPE_PERF_EVENT_ARRAY auto-pinning + - gpu: host1x: Fix an error handling path in 'host1x_probe()' + - gpu: host1x: Fix a memory leak in 'host1x_remove()' + - libbpf: Skip forward declaration when counting duplicated type names + - powerpc/mm/numa: skip NUMA_NO_NODE onlining in parse_numa_properties() + - powerpc/Makefile: Don't pass -mcpu=powerpc64 when building 32-bit + - KVM: x86: Fix emulation in writing cr8 + - KVM: x86/emulator: Defer not-present segment check in + __load_segment_descriptor() + - KVM: SVM: Exit to userspace on ENOMEM/EFAULT GHCB errors + - hv_balloon: rate-limit "Unhandled message" warning + - KVM: arm64: Enable Cortex-A510 erratum 2077057 by default + - i2c: xiic: Make bus names unique + - net: phy: micrel: Fix concurrent register access + - Bluetooth: hci_sync: fix undefined return of hci_disconnect_all_sync() + - Bluetooth: Fix skb allocation in mgmt_remote_name() & + mgmt_device_connected() + - power: supply: wm8350-power: Handle error for wm8350_register_irq + - power: supply: wm8350-power: Add missing free in free_charger_irq + - IB/hfi1: Allow larger MTU without AIP + - RDMA/core: Fix ib_qp_usecnt_dec() called when error + - PCI: Reduce warnings on possible RW1C corruption + - net: axienet: fix RX ring refill allocation failure handling + - drm/msm/a6xx: Fix missing ARRAY_SIZE() check + - mips: DEC: honor CONFIG_MIPS_FP_SUPPORT=n + - MIPS: Sanitise Cavium switch cases in TLB handler synthesizers + - powerpc/sysdev: fix incorrect use to determine if list is empty + - powerpc/64s: Don't use DSISR for SLB faults + - mfd: mc13xxx: Add check for mc13xxx_irq_request + - libbpf: Unmap rings when umem deleted + - selftests/bpf: Make test_lwt_ip_encap more stable and faster + - platform/x86: huawei-wmi: check the return value of device_create_file() + - scsi: mpt3sas: Fix incorrect 4GB boundary check + - powerpc: 8xx: fix a return value error in mpc8xx_pic_init + - xtensa: add missing XCHAL_HAVE_WINDOWED check + - iwlwifi: pcie: fix SW error MSI-X mapping + - vxcan: enable local echo for sent CAN frames + - ath10k: Fix error handling in ath10k_setup_msa_resources + - mips: cdmm: Fix refcount leak in mips_cdmm_phys_base + - MIPS: RB532: fix return value of __setup handler + - MIPS: pgalloc: fix memory leak caused by pgd_free() + - mtd: rawnand: atmel: fix refcount issue in atmel_nand_controller_init + - power: ab8500_chargalg: Use CLOCK_MONOTONIC + - RDMA/irdma: Prevent some integer underflows + - Revert "RDMA/core: Fix ib_qp_usecnt_dec() called when error" + - RDMA/mlx5: Fix memory leak in error flow for subscribe event routine + - bpf, sockmap: Fix memleak in sk_psock_queue_msg + - bpf, sockmap: Fix memleak in tcp_bpf_sendmsg while sk msg is full + - bpf, sockmap: Fix more uncharged while msg has more_data + - bpf, sockmap: Fix double uncharge the mem of sk_msg + - samples/bpf, xdpsock: Fix race when running for fix duration of time + - USB: storage: ums-realtek: fix error code in rts51x_read_mem() + - drm/amd/display: Fix double free during GPU reset on DC streams + - RDMA/rxe: Change variable and function argument to proper type + - RDMA/rxe: Fix ref error in rxe_av.c + - powerpc/xive: fix return value of __setup handler + - powerpc/time: Fix KVM host re-arming a timer beyond decrementer range + - drm/i915/display: Fix HPD short pulse handling for eDP + - drm/i915/display: Do not re-enable PSR after it was marked as not reliable + - netfilter: flowtable: Fix QinQ and pppoe support for inet table + - mt76: mt7921: fix mt7921_queues_acq implementation + - can: isotp: return -EADDRNOTAVAIL when reading from unbound socket + - can: isotp: support MSG_TRUNC flag when reading from socket + - bareudp: use ipv6_mod_enabled to check if IPv6 enabled + - PCI: imx6: Invoke the PHY exit function after PHY power off + - PCI: imx6: Assert i.MX8MM CLKREQ# even if no device present + - ibmvnic: fix race between xmit and reset + - af_unix: Fix some data-races around unix_sk(sk)->oob_skb. + - selftests/bpf: Fix error reporting from sock_fields programs + - Bluetooth: hci_uart: add missing NULL check in h5_enqueue + - Bluetooth: call hci_le_conn_failed with hdev lock in hci_le_conn_failed + - Bluetooth: btmtksdio: Fix kernel oops in btmtksdio_interrupt + - RDMA/nldev: Prevent underflow in nldev_stat_set_counter_dynamic_doit() + - ipv4: Fix route lookups when handling ICMP redirects and PMTU updates + - mptcp: Fix crash due to tcp_tsorted_anchor was initialized before release + skb + - af_netlink: Fix shift out of bounds in group mask calculation + - i2c: meson: Fix wrong speed use from probe + - netfilter: conntrack: Add and use nf_ct_set_auto_assign_helper_warned() + - i2c: mux: demux-pinctrl: do not deactivate a master that is not active + - powerpc/pseries: Fix use after free in remove_phb_dynamic() + - ax25: Fix refcount leaks caused by ax25_cb_del() + - ax25: Fix NULL pointer dereferences in ax25 timers + - drm/i915: Fix renamed struct field + - selftests/bpf/test_lirc_mode2.sh: Exit with proper code + - bpftool: Fix print error when show bpf map + - PCI: Avoid broken MSI on SB600 USB devices + - net: bcmgenet: Use stronger register read/writes to assure ordering + - tcp: ensure PMTU updates are processed during fastopen + - openvswitch: always update flow key after nat + - net: dsa: fix panic on shutdown if multi-chip tree failed to probe + - net: wwan: qcom_bam_dmux: fix wrong pointer passed to IS_ERR() + - tipc: fix the timer expires after interval 100ms + - mfd: asic3: Add missing iounmap() on error asic3_mfd_probe + - ice: fix 'scheduling while atomic' on aux critical err interrupt + - ice: don't allow to run ice_send_event_to_aux() in atomic ctx + - drivers: ethernet: cpsw: fix panic when interrupt coaleceing is set via + ethtool + - kernel/resource: fix kfree() of bootmem memory again + - clk: renesas: r9a07g044: Update multiplier and divider values for PLL2/3 + - staging: r8188eu: release_firmware is not called if allocation fails + - mxser: fix xmit_buf leak in activate when LSR == 0xff + - fsi: scom: Fix error handling + - fsi: scom: Remove retries in indirect scoms + - pwm: lpc18xx-sct: Initialize driver data and hardware before pwmchip_add() + - pps: clients: gpio: Propagate return value from pps_gpio_probe + - fsi: Aspeed: Fix a potential double free + - misc: alcor_pci: Fix an error handling path + - cpufreq: qcom-cpufreq-nvmem: fix reading of PVS Valid fuse + - soundwire: intel: fix wrong register name in intel_shim_wake + - clk: qcom: ipq8074: fix PCI-E clock oops + - dmaengine: idxd: restore traffic class defaults after wq reset + - iio: mma8452: Fix probe failing when an i2c_device_id is used + - staging: qlge: add unregister_netdev in qlge_probe + - serial: 8250_aspeed_vuart: add PORT_ASPEED_VUART port type + - staging:iio:adc:ad7280a: Fix handing of device address bit reversing. + - clk: renesas: r8a779f0: Fix RSW2 clock divider + - pinctrl: renesas: r8a77470: Reduce size for narrow VIN1 channel + - pinctrl: renesas: checker: Fix miscalculation of number of states + - clk: qcom: ipq8074: Use floor ops for SDCC1 clock + - phy: dphy: Correct lpx parameter and its derivatives(ta_{get,go,sure}) + - phy: phy-brcm-usb: fixup BCM4908 support + - serial: 8250_mid: Balance reference count for PCI DMA device + - serial: 8250_lpss: Balance reference count for PCI DMA device + - NFS: Use of mapping_set_error() results in spurious errors + - serial: 8250: Fix race condition in RTS-after-send handling + - iio: adc: Add check for devm_request_threaded_irq + - habanalabs: Add check for pci_enable_device + - NFS: Return valid errors from nfs2/3_decode_dirent() + - staging: r8188eu: fix endless loop in recv_func + - dma-debug: fix return value of __setup handlers + - clk: imx7d: Remove audio_mclk_root_clk + - clk: imx: off by one in imx_lpcg_parse_clks_from_dt() + - clk: at91: sama7g5: fix parents of PDMCs' GCLK + - clk: qcom: clk-rcg2: Update logic to calculate D value for RCG + - clk: qcom: clk-rcg2: Update the frac table for pixel clock + - clk: starfive: jh7100: Don't round divisor up twice + - clk: starfive: jh7100: Handle audio_div clock properly + - dmaengine: hisi_dma: fix MSI allocate fail when reload hisi_dma + - remoteproc: qcom: Fix missing of_node_put in adsp_alloc_memory_region + - remoteproc: qcom_wcnss: Add missing of_node_put() in + wcnss_alloc_memory_region + - remoteproc: qcom_q6v5_mss: Fix some leaks in q6v5_alloc_memory_region + - nvdimm/region: Fix default alignment for small regions + - clk: actions: Terminate clk_div_table with sentinel element + - clk: loongson1: Terminate clk_div_table with sentinel element + - clk: hisilicon: Terminate clk_div_table with sentinel element + - clk: clps711x: Terminate clk_div_table with sentinel element + - clk: Fix clk_hw_get_clk() when dev is NULL + - clk: tegra: tegra124-emc: Fix missing put_device() call in + emc_ensure_emc_driver + - mailbox: imx: fix crash in resume on i.mx8ulp + - NFS: remove unneeded check in decode_devicenotify_args() + - staging: mt7621-dts: fix LEDs and pinctrl on GB-PC1 devicetree + - staging: mt7621-dts: fix formatting + - staging: mt7621-dts: fix pinctrl properties for ethernet + - staging: mt7621-dts: fix GB-PC2 devicetree + - pinctrl: ocelot: fix confops resource index + - pinctrl: ocelot: fix duplicate debugfs entry + - pinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_init + - pinctrl: mediatek: paris: Fix PIN_CONFIG_BIAS_* readback + - pinctrl: mediatek: paris: Fix "argument" argument type for mtk_pinconf_get() + - pinctrl: mediatek: paris: Fix pingroup pin config state readback + - pinctrl: mediatek: paris: Skip custom extra pin config dump for virtual + GPIOs + - pinctrl: ocelot: Fix interrupt parsing + - pinctrl: microchip-sgpio: lock RMW access + - pinctrl: nomadik: Add missing of_node_put() in nmk_pinctrl_probe + - pinctrl/rockchip: Add missing of_node_put() in rockchip_pinctrl_probe + - clk: visconti: prevent array overflow in visconti_clk_register_gates() + - tty: hvc: fix return value of __setup handler + - kgdboc: fix return value of __setup handler + - serial: 8250: fix XOFF/XON sending when DMA is used + - virt: acrn: obtain pa from VMA with PFNMAP flag + - virt: acrn: fix a memory leak in acrn_dev_ioctl() + - kgdbts: fix return value of __setup handler + - firmware: google: Properly state IOMEM dependency + - driver core: dd: fix return value of __setup handler + - perf test arm64: Test unwinding using fame-pointer (fp) mode + - jfs: fix divide error in dbNextAG + - SUNRPC/call_alloc: async tasks mustn't block waiting for memory + - SUNRPC: improve 'swap' handling: scheduling and PF_MEMALLOC + - SUNRPC: Don't call connect() more than once on a TCP socket + - perf parse-events: Move slots only with topdown + - netfilter: egress: Report interface as outgoing + - netfilter: nf_conntrack_tcp: preserve liberal flag in tcp options + - SUNRPC don't resend a task on an offlined transport + - NFSv4.1: don't retry BIND_CONN_TO_SESSION on session error + - kdb: Fix the putarea helper function + - perf stat: Fix forked applications enablement of counters + - net: stmmac: dwmac-qcom-ethqos: Enable RGMII functional clock on resume + - clk: qcom: gcc-msm8994: Fix gpll4 width + - vsock/virtio: initialize vdev->priv before using VQs + - vsock/virtio: read the negotiated features before using VQs + - vsock/virtio: enable VQs early on probe + - clk: Initialize orphan req_rate + - xen: fix is_xen_pmu() + - net: enetc: report software timestamping via SO_TIMESTAMPING + - net: hns3: fix bug when PF set the duplicate MAC address for VFs + - net: hns3: fix port base vlan add fail when concurrent with reset + - net: hns3: add vlan list lock to protect vlan list + - net: hns3: refine the process when PF set VF VLAN + - net: phy: broadcom: Fix brcm_fet_config_init() + - selftests: test_vxlan_under_vrf: Fix broken test case + - NFS: Don't loop forever in nfs_do_recoalesce() + - libperf tests: Fix typo in perf_evlist__open() failure error messages + - net: hns3: fix ethtool tx copybreak buf size indicating not aligned issue + - net: hns3: add max order judgement for tx spare buffer + - net: hns3: clean residual vf config after disable sriov + - net: hns3: add netdev reset check for hns3_set_tunable() + - net: hns3: add NULL pointer check for hns3_set/get_ringparam() + - net: hns3: fix phy can not link up when autoneg off and reset + - net: sparx5: depends on PTP_1588_CLOCK_OPTIONAL + - qlcnic: dcb: default to returning -EOPNOTSUPP + - net/x25: Fix null-ptr-deref caused by x25_disconnect + - net: sparx5: switchdev: fix possible NULL pointer dereference + - octeontx2-af: initialize action variable + - selftests: tls: skip cmsg_to_pipe tests with TLS=n + - net/sched: act_ct: fix ref leak when switching zones + - NFSv4/pNFS: Fix another issue with a list iterator pointing to the head + - net: dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator + - fs: fd tables have to be multiples of BITS_PER_LONG + - lib/test: use after free in register_test_dev_kmod() + - fs: fix fd table size alignment properly + - LSM: general protection fault in legacy_parse_param + - regulator: rpi-panel: Handle I2C errors/timing to the Atmel + - crypto: hisilicon/qm - cleanup warning in qm_vf_read_qos + - crypto: octeontx2 - CN10K CPT to RNM workaround + - gcc-plugins/stackleak: Exactly match strings instead of prefixes + - rcu: Kill rnp->ofl_seq and use only rcu_state.ofl_lock for exclusion + - pinctrl: npcm: Fix broken references to chip->parent_device + - rcu: Mark writes to the rcu_segcblist structure's ->flags field + - block: throttle split bio in case of iops limit + - memstick/mspro_block: fix handling of read-only devices + - block/bfq_wf2q: correct weight to ioprio + - crypto: xts - Add softdep on ecb + - crypto: hisilicon/sec - not need to enable sm4 extra mode at HW V3 + - block, bfq: don't move oom_bfqq + - selinux: use correct type for context length + - powercap/dtpm_cpu: Reset per_cpu variable in the release function + - arm64: module: remove (NOLOAD) from linker script + - selinux: allow FIOCLEX and FIONCLEX with policy capability + - loop: use sysfs_emit() in the sysfs xxx show() + - Fix incorrect type in assignment of ipv6 port for audit + - irqchip/qcom-pdc: Fix broken locking + - irqchip/nvic: Release nvic_base upon failure + - fs/binfmt_elf: Fix AT_PHDR for unusual ELF files + - hwrng: cavium - fix NULL but dereferenced coccicheck error + - bfq: fix use-after-free in bfq_dispatch_request + - ACPICA: Avoid walking the ACPI Namespace if it is not there + - ACPI / x86: Add skip i2c clients quirk for Nextbook Ares 8 + - ACPI / x86: Add skip i2c clients quirk for Lenovo Yoga Tablet 1050F/L + - lib/raid6/test/Makefile: Use $(pound) instead of \# for Make 4.3 + - Revert "Revert "block, bfq: honor already-setup queue merges"" + - ACPI/APEI: Limit printable size of BERT table data + - PM: core: keep irq flags in device_pm_check_callbacks() + - parisc: Fix non-access data TLB cache flush faults + - parisc: Fix handling off probe non-access faults + - nvme-tcp: lockdep: annotate in-kernel sockets + - spi: tegra20: Use of_device_get_match_data() + - spi: fsi: Implement a timeout for polling status + - atomics: Fix atomic64_{read_acquire,set_release} fallbacks + - locking/lockdep: Iterate lock_classes directly when reading lockdep files + - ext4: correct cluster len and clusters changed accounting in ext4_mb_mark_bb + - ext4: fix ext4_mb_mark_bb() with flex_bg with fast_commit + - sched/tracing: Report TASK_RTLOCK_WAIT tasks as TASK_UNINTERRUPTIBLE + - ext4: don't BUG if someone dirty pages without asking ext4 first + - f2fs: fix to do sanity check on curseg->alloc_type + - NFSD: Fix nfsd_breaker_owns_lease() return values + - f2fs: don't get FREEZE lock in f2fs_evict_inode in frozen fs + - btrfs: harden identification of a stale device + - btrfs: make search_csum_tree return 0 if we get -EFBIG + - btrfs: handle csum lookup errors properly on reads + - btrfs: do not double complete bio on errors during compressed reads + - btrfs: do not clean up repair bio if submit fails + - f2fs: use spin_lock to avoid hang + - f2fs: compress: fix to print raw data size in error path of lz4 + decompression + - Adjust cifssb maximum read size + - ntfs: add sanity check on allocation size + - media: staging: media: zoran: move videodev alloc + - media: staging: media: zoran: calculate the right buffer number for + zoran_reap_stat_com + - media: staging: media: zoran: fix various V4L2 compliance errors + - media: atmel: atmel-isc-base: report frame sizes as full supported range + - media: ir_toy: free before error exiting + - ASoC: sh: rz-ssi: Make the data structures available before registering the + handlers + - ASoC: cs42l42: Report full jack status when plug is detected + - ASoC: SOF: Intel: match sdw version on link_slaves_found + - media: imx-jpeg: Prevent decoding NV12M jpegs into single-planar buffers + - ASoC: SOF: Intel: hda: Remove link assignment limitation + - media: iommu/mediatek-v1: Free the existed fwspec if the master dev already + has + - media: iommu/mediatek: Return ENODEV if the device is NULL + - media: iommu/mediatek: Add device_link between the consumer and the larb + devices + - video: fbdev: nvidiafb: Use strscpy() to prevent buffer overflow + - video: fbdev: w100fb: Reset global state + - video: fbdev: cirrusfb: check pixclock to avoid divide by zero + - video: fbdev: omapfb: acx565akm: replace snprintf with sysfs_emit + - ARM: dts: qcom: fix gic_irq_domain_translate warnings for msm8960 + - ARM: dts: bcm2837: Add the missing L1/L2 cache information + - ASoC: madera: Add dependencies on MFD + - media: atomisp_gmin_platform: Add DMI quirk to not turn AXP ELDO2 regulator + off on some boards + - media: atomisp: fix dummy_ptr check to avoid duplicate active_bo + - ARM: ftrace: avoid redundant loads or clobbering IP + - ALSA: hda: Fix driver index handling at re-binding + - ARM: dts: imx7: Use audio_mclk_post_div instead audio_mclk_root_clk + - arm64: defconfig: build imx-sdma as a module + - video: fbdev: omapfb: panel-dsi-cm: Use sysfs_emit() instead of snprintf() + - video: fbdev: omapfb: panel-tpo-td043mtea1: Use sysfs_emit() instead of + snprintf() + - video: fbdev: udlfb: replace snprintf in show functions with sysfs_emit + - ARM: dts: bcm2711: Add the missing L1/L2 cache information + - ASoC: soc-core: skip zero num_dai component in searching dai name + - ASoC: Intel: sof_es8336: add quirk for Huawei D15 2021 + - media: imx-jpeg: fix a bug of accessing array out of bounds + - media: cx88-mpeg: clear interrupt status register before streaming video + - ASoC: rt5682s: Fix the wrong jack type detected + - ARM: tegra: transformer: Drop reg-shift for Tegra HS UART + - uaccess: fix type mismatch warnings from access_ok() + - lib/test_lockup: fix kernel pointer check for separate address spaces + - ARM: tegra: tamonten: Fix I2C3 pad setting + - ARM: mmp: Fix failure to remove sram device + - ASoC: amd: vg: fix for pm resume callback sequence + - ASoC: amd: vangogh: fix uninitialized symbol warning in machine driver + - video: fbdev: sm712fb: Fix crash in smtcfb_write() + - media: i2c: ov5648: Fix lockdep error + - media: Revert "media: em28xx: add missing em28xx_close_extension" + - media: hdpvr: initialize dev->worker at hdpvr_register_videodev + - ASoC: SOF: debug: clarify operator precedence + - ASoC: Intel: sof_sdw: fix quirks for 2022 HP Spectre x360 13" + - ASoC: SOF: Intel: hda: retrieve DMIC number for I2S boards + - ALSA: intel-nhlt: add helper to detect SSP link mask + - ALSA: intel-dsp-config: add more ACPI HIDs for ES83x6 devices + - ASoC: Intel: soc-acpi: add more ACPI HIDs for ES83x6 devices + - ALSA: intel-dspconfig: add ES8336 support for CNL + - ASoC: Intel: Revert "ASoC: Intel: sof_es8336: add quirk for Huawei D15 2021" + - ASoC: Intel: sof_es8336: log all quirks + - tracing: Have TRACE_DEFINE_ENUM affect trace event types as well + - mmc: host: Return an error when ->enable_sdio_irq() ops is missing + - ASoC: mediatek: Fix error handling in mt8183_da7219_max98357_dev_probe + - media: atomisp: fix bad usage at error handling logic + - ALSA: hda/realtek: Add alc256-samsung-headphone fixup + - KVM: SVM: Allow AVIC support on system w/ physical APIC ID > 255 + - KVM: x86: Reinitialize context if host userspace toggles EFER.LME + - KVM: x86/mmu: Use common TDP MMU zap helper for MMU notifier unmap hook + - KVM: x86/mmu: Move "invalid" check out of kvm_tdp_mmu_get_root() + - KVM: x86/mmu: Zap _all_ roots when unmapping gfn range in TDP MMU + - KVM: x86/mmu: Check for present SPTE when clearing dirty bit in TDP MMU + - KVM: x86: hyper-v: Drop redundant 'ex' parameter from kvm_hv_send_ipi() + - KVM: x86: hyper-v: Drop redundant 'ex' parameter from kvm_hv_flush_tlb() + - KVM: x86: hyper-v: Fix the maximum number of sparse banks for XMM fast TLB + flush hypercalls + - KVM: x86: hyper-v: HVCALL_SEND_IPI_EX is an XMM fast hypercall + - powerpc/kasan: Fix early region not updated correctly + - powerpc/tm: Fix more userspace r13 corruption + - powerpc/lib/sstep: Fix 'sthcx' instruction + - powerpc/lib/sstep: Fix build errors with newer binutils + - powerpc: Add set_memory_{p/np}() and remove set_memory_attr() + - powerpc: Fix build errors with newer binutils + - drm/dp: Fix off-by-one in register cache size + - drm/i915: Treat SAGV block time 0 as SAGV disabled + - drm/i915: Fix PSF GV point mask when SAGV is not possible + - drm/i915: Reject unsupported TMDS rates on ICL+ + - scsi: qla2xxx: Refactor asynchronous command initialization + - scsi: qla2xxx: Implement ref count for SRB + - scsi: qla2xxx: Fix stuck session in gpdb + - scsi: qla2xxx: Fix warning message due to adisc being flushed + - scsi: qla2xxx: Fix scheduling while atomic + - scsi: qla2xxx: Fix premature hw access after PCI error + - scsi: qla2xxx: Fix wrong FDMI data for 64G adapter + - scsi: qla2xxx: Fix warning for missing error code + - scsi: qla2xxx: Fix device reconnect in loop topology + - scsi: qla2xxx: edif: Fix clang warning + - scsi: qla2xxx: Fix T10 PI tag escape and IP guard options for 28XX adapters + - scsi: qla2xxx: Add devids and conditionals for 28xx + - scsi: qla2xxx: Check for firmware dump already collected + - scsi: qla2xxx: Suppress a kernel complaint in qla_create_qpair() + - scsi: qla2xxx: Fix disk failure to rediscover + - scsi: qla2xxx: Fix incorrect reporting of task management failure + - scsi: qla2xxx: Fix hang due to session stuck + - scsi: qla2xxx: Fix laggy FC remote port session recovery + - scsi: qla2xxx: Fix missed DMA unmap for NVMe ls requests + - scsi: qla2xxx: Fix crash during module load unload test + - scsi: qla2xxx: Fix N2N inconsistent PLOGI + - scsi: qla2xxx: Fix stuck session of PRLI reject + - scsi: qla2xxx: Reduce false trigger to login + - scsi: qla2xxx: Use correct feature type field during RFF_ID processing + - platform: chrome: Split trace include file + - MIPS: crypto: Fix CRC32 code + - KVM: x86: Check lapic_in_kernel() before attempting to set a SynIC irq + - KVM: x86: Avoid theoretical NULL pointer dereference in + kvm_irq_delivery_to_apic_fast() + - KVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activated + - KVM: x86/mmu: do compare-and-exchange of gPTE via the user address + - KVM: Prevent module exit until all VMs are freed + - KVM: x86: fix sending PV IPI + - KVM: SVM: fix panic on out-of-bounds guest IRQ + - KVM: avoid double put_page with gfn-to-pfn cache + - ubifs: rename_whiteout: Fix double free for whiteout_ui->data + - ubifs: Fix deadlock in concurrent rename whiteout and inode writeback + - ubifs: Add missing iput if do_tmpfile() failed in rename whiteout + - ubifs: Rename whiteout atomically + - ubifs: Fix 'ui->dirty' race between do_tmpfile() and writeback work + - ubifs: Rectify space amount budget for mkdir/tmpfile operations + - ubifs: setflags: Make dirtied_ino_d 8 bytes aligned + - ubifs: Fix read out-of-bounds in ubifs_wbuf_write_nolock() + - ubifs: Fix to add refcount once page is set private + - ubifs: rename_whiteout: correct old_dir size computing + - nvme: allow duplicate NSIDs for private namespaces + - nvme: fix the read-only state for zoned namespaces with unsupposed features + - wireguard: queueing: use CFI-safe ptr_ring cleanup function + - wireguard: socket: free skb in send6 when ipv6 is disabled + - wireguard: socket: ignore v6 endpoints when ipv6 is disabled + - XArray: Fix xas_create_range() when multi-order entry present + - can: mcba_usb: mcba_usb_start_xmit(): fix double dev_kfree_skb in error path + - can: mcba_usb: properly check endpoint type + - can: mcp251xfd: mcp251xfd_register_get_dev_id(): fix return of error value + - XArray: Include bitmap.h from xarray.h + - XArray: Update the LRU list in xas_split() + - modpost: restore the warning message for missing symbol versions + - rtc: gamecube: Fix refcount leak in gamecube_rtc_read_offset_from_sram + - rtc: check if __rtc_read_time was successful + - loop: fix ioctl calls using compat_loop_info + - gfs2: gfs2_setattr_size error path fix + - gfs2: Fix gfs2_file_buffered_write endless loop workaround + - gfs2: Make sure FITRIM minlen is rounded up to fs block size + - net: hns3: fix the concurrency between functions reading debugfs + - net: hns3: fix software vlan talbe of vlan 0 inconsistent with hardware + - rxrpc: fix some null-ptr-deref bugs in server_key.c + - rxrpc: Fix call timer start racing with call destruction + - mailbox: imx: fix wakeup failure from freeze mode + - crypto: x86/poly1305 - Fixup SLS + - crypto: arm/aes-neonbs-cbc - Select generic cbc and aes + - watch_queue: Free the page array when watch_queue is dismantled + - pinctrl: pinconf-generic: Print arguments for bias-pull-* + - watchdog: rti-wdt: Add missing pm_runtime_disable() in probe function + - net: sparx5: uses, depends on BRIDGE or !BRIDGE + - pinctrl: nuvoton: npcm7xx: Rename DS() macro to DSTR() + - pinctrl: nuvoton: npcm7xx: Use %zu printk format for ARRAY_SIZE() + - ASoC: rockchip: i2s_tdm: Fixup config for SND_SOC_DAIFMT_DSP_A/B + - ASoC: mediatek: mt6358: add missing EXPORT_SYMBOLs + - ubi: Fix race condition between ctrl_cdev_ioctl and ubi_cdev_ioctl + - ARM: iop32x: offset IRQ numbers by 1 + - block: Fix the maximum minor value is blk_alloc_ext_minor() + - block: restore the old set_task_ioprio() behaviour wrt PF_EXITING + - Revert "virtio-pci: harden INTX interrupts" + - Revert "virtio_pci: harden MSI-X interrupts" + - virtio: use virtio_device_ready() in virtio_device_restore() + - io_uring: remove poll entry from list when canceling all + - io_uring: bump poll refs to full 31-bits + - io_uring: fix memory leak of uid in files registration + - riscv module: remove (NOLOAD) + - ACPI: CPPC: Avoid out of bounds access when parsing _CPC data + - vhost: handle error while adding split ranges to iotlb + - spi: Fix Tegra QSPI example + - platform/chrome: cros_ec_typec: Check for EC device + - platform/x86: asus-wmi: Fix regression when probing for fan curve control + - can: isotp: restore accidentally removed MSG_PEEK feature + - proc: bootconfig: Add null pointer check + - x86/fpu/xstate: Fix the ARCH_REQ_XCOMP_PERM implementation + - x86/sev: Unroll string mmio with CC_ATTR_GUEST_UNROLL_STRING_IO + - drm/connector: Fix typo in documentation + - scsi: qla2xxx: Add qla2x00_async_done() for async routines + - staging: mt7621-dts: fix pinctrl-0 items to be size-1 items on ethernet + - docs: fix 'make htmldocs' warning in SCTP.rst + - arm64: mm: Drop 'const' from conditional arm64_dma_phys_limit definition + - ASoC: soc-compress: Change the check for codec_dai + - KVM: x86: SVM: fix avic spec based definitions again + - ax25: fix UAF bug in ax25_send_control() + - Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" + - tracing: Have type enum modifications copy the strings + - mips: Enable KCSAN - take 2 + - net: add skb_set_end_offset() helper + - mm/mmap: return 1 from stack_guard_gap __setup() handler + - ARM: 9187/1: JIVE: fix return value of __setup handler + - mm/memcontrol: return 1 from cgroup.memory __setup() handler + - mm/usercopy: return 1 from hardened_usercopy __setup() handler + - af_unix: Support POLLPRI for OOB. + - libbpf: Define BTF_KIND_* constants in btf.h to avoid compilation errors + - bpf: Adjust BPF stack helper functions to accommodate skip > 0 + - bpf: Fix comment for helper bpf_current_task_under_cgroup() + - nbd: fix possible overflow on 'first_minor' in nbd_dev_add() + - mmc: rtsx: Use pm_runtime_{get,put}() to handle runtime PM + - dt-bindings: mtd: nand-controller: Fix the reg property description + - dt-bindings: mtd: nand-controller: Fix a comment in the examples + - dt-bindings: spi: mxic: The interrupt property is not mandatory + - media: dt-binding: media: hynix,hi846: use $defs/port-base port description + - media: dt-bindings: media: hynix,hi846: add link-frequencies description + - dt-bindings: memory: mtk-smi: Rename clock to clocks + - dt-bindings: memory: mtk-smi: No need mediatek,larb-id for mt8167 + - dt-bindings: memory: mtk-smi: Correct minItems to 2 for the gals clocks + - dt-bindings: pinctrl: mt8195: fix bias-pull-{up,down} checks + - dt-bindings: pinctrl: pinctrl-microchip-sgpio: Fix example + - ubi: fastmap: Return error code if memory allocation fails in add_aeb() + - net: preserve skb_end_offset() in skb_unclone_keeptruesize() + - ASoC: SOF: Intel: Fix build error without SND_SOC_SOF_PCI_DEV + - ASoC: topology: Allow TLV control to be either read or write + - perf vendor events: Update metrics for SkyLake Server + - media: ov6650: Add try support to selection API operations + - media: ov6650: Fix crop rectangle affected by set format + - pinctrl: canonical rsel resistance selection property + - spi: mediatek: support tick_delay without enhance_timing + - ARM: dts: spear1340: Update serial node properties + - ARM: dts: spear13xx: Update SPI dma properties + - arm64: dts: ls1043a: Update i2c dma properties + - arm64: dts: ls1046a: Update i2c node dma properties + - um: Fix uml_mconsole stop/go + - docs: sysctl/kernel: add missing bit to panic_print + - xsk: Do not write NULL in SW ring at allocation failure + - ice: xsk: Fix indexing in ice_tx_xsk_pool() + - vdpa/mlx5: Avoid processing works if workqueue was destroyed + - openvswitch: Fixed nd target mask field in the flow dump. + - torture: Make torture.sh help message match reality + - n64cart: convert bi_disk to bi_bdev->bd_disk fix build + - Revert "nbd: fix possible overflow on 'first_minor' in nbd_dev_add()" + - mmc: rtsx: Let MMC core handle runtime PM + - mmc: rtsx: Fix build errors/warnings for unused variable + - coredump: Snapshot the vmas in do_coredump + - coredump: Remove the WARN_ON in dump_vma_snapshot + - coredump/elf: Pass coredump_params into fill_note_info + - coredump: Use the vma snapshot in fill_files_note + - Linux 5.17.2 + * Jammy update: v5.17.1 upstream stable release (LP: #1968982) + - tpm: Fix error handling in async work + - Bluetooth: btusb: Add another Realtek 8761BU + - llc: fix netdevice reference leaks in llc_ui_bind() + - ASoC: sti: Fix deadlock via snd_pcm_stop_xrun() call + - ALSA: oss: Fix PCM OSS buffer allocation overflow + - ALSA: usb-audio: add mapping for new Corsair Virtuoso SE + - ALSA: hda/realtek: Add quirk for Clevo NP70PNJ + - ALSA: hda/realtek: Add quirk for Clevo NP50PNJ + - ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671 + - ALSA: hda/realtek: Add quirk for ASUS GA402 + - ALSA: pcm: Fix races among concurrent hw_params and hw_free calls + - ALSA: pcm: Fix races among concurrent read/write and buffer changes + - ALSA: pcm: Fix races among concurrent prepare and hw_params/hw_free calls + - ALSA: pcm: Fix races among concurrent prealloc proc writes + - ALSA: pcm: Add stream lock during PCM reset ioctl operations + - ALSA: usb-audio: Add mute TLV for playback volumes on RODE NT-USB + - ALSA: cmipci: Restore aux vol on suspend/resume + - ALSA: pci: fix reading of swapped values from pcmreg in AC97 codec + - drivers: net: xgene: Fix regression in CRC stripping + - netfilter: nf_tables: initialize registers in nft_do_chain() + - netfilter: nf_tables: validate registers coming from userspace. + - ACPI / x86: Work around broken XSDT on Advantech DAC-BJ01 board + - ACPI: battery: Add device HID and quirk for Microsoft Surface Go 3 + - ACPI: video: Force backlight native for Clevo NL5xRU and NL5xNU + - crypto: qat - disable registration of algorithms + - Bluetooth: btusb: Add one more Bluetooth part for the Realtek RTL8852AE + - Bluetooth: hci_sync: Add a new quirk to skip HCI_FLT_CLEAR_ALL + - Bluetooth: btusb: Use quirk to skip HCI_FLT_CLEAR_ALL on fake CSR + controllers + - Revert "ath: add support for special 0x0 regulatory domain" + - drm/virtio: Ensure that objs is not NULL in virtio_gpu_array_put_free() + - jbd2: fix use-after-free of transaction_t race + - rcu: Don't deboost before reporting expedited quiescent state + - uaccess: fix integer overflow on access_ok() + - mac80211: fix potential double free on mesh join + - tpm: fix reference counting for struct tpm_chip + - tpm: use try_get_ops() in tpm-space.c + - wcn36xx: Differentiate wcn3660 from wcn3620 + - m68k: fix access_ok for coldfire + - nds32: fix access_ok() checks in get/put_user + - drm/msm/gpu: Fix crash on devices without devfreq support (v2) + - llc: only change llc->dev when bind() succeeds + - Linux 5.17.1 + * Miscellaneous Ubuntu changes + - SAUCE: shiftfs: always rely on init_user_ns + - [Config] update configs and annotations after stable updates + - SAUCE: sfc: The size of the RX recycle ring should be more flexible + - [Packaging] remove references to lowlatency flavor + + [ Ubuntu: 5.17.0-6.6 ] + + * jammy/linux-unstable: 5.17.0-6.6 -proposed tracker (LP: #1965731) + * dependency on crda obsolete according to Debian (LP: #1958918) + - [Packaging] switch dependency from crda to wireless-regdb + * Miscellaneous Ubuntu changes + - [Config] disable CONFIG_SYSFB_SIMPLEFB on amd64 + * Rebase to v5.17 + + [ Ubuntu: 5.17.0-5.5 ] + + * jammy/linux-unstable: 5.17.0-5.5 -proposed tracker (LP: #1964766) + * Packaging resync (LP: #1786013) + - [Packaging] resync dkms-build{,--nvidia-N} from LRMv5 + * Miscellaneous Ubuntu changes + - [Config] update configs and annotations after rebase to v5.17-rc8 + * Rebase to v5.17-rc8 + + [ Ubuntu: 5.17.0-4.4 ] + + * jammy/linux-unstable: 5.17.0-4.4 -proposed tracker (LP: #1963880) + * Rebase to v5.17-rc7 + + [ Ubuntu: 5.17.0-3.3 ] + + * jammy/linux-unstable: 5.17.0-3.3 -proposed tracker (LP: #1962450) + * 5.15 stuck at boot on c4.large (LP: #1956780) + - Revert "PCI/MSI: Mask MSI-X vectors only on success" + * [22.04 FEAT] KVM: Enable storage key checking for intercepted instruction + handled by userspace (LP: #1933179) + - s390/uaccess: Add copy_from/to_user_key functions + - KVM: s390: Honor storage keys when accessing guest memory + - KVM: s390: handle_tprot: Honor storage keys + - KVM: s390: Add optional storage key checking to MEMOP IOCTL + - KVM: s390: Add vm IOCTL for key checked guest absolute memory access + - KVM: s390: Rename existing vcpu memop functions + - KVM: s390: Update api documentation for memop ioctl + - KVM: s390: Clarify key argument for MEM_OP in api docs + - KVM: s390: Add missing vm MEM_OP size check + * Rebase to v5.17-rc6 + + [ Ubuntu: 5.17.0-2.2 ] + + * jammy/linux-unstable: 5.17.0-2.2 -proposed tracker (LP: #1962137) + * CVE-2022-25636 + - netfilter: nf_tables_offload: incorrect flow offload action array size + * Packaging resync (LP: #1786013) + - [Packaging] resync getabis + - [Packaging] update Ubuntu.md + - debian/dkms-versions -- update from kernel-versions (main/master) + * Jammy update: v5.15.22 upstream stable release (LP: #1960516) + - Revert "ASoC: mediatek: Check for error clk pointer" + - [Config] disable FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION + * Jammy update: v5.15.20 upstream stable release (LP: #1960509) + - Revert "UBUNTU: SAUCE: Revert "e1000e: Additional PHY power saving in S0ix"" + * Jammy update: v5.15.19 upstream stable release (LP: #1959879) + - drm/etnaviv: relax submit size limits + * Jammy update: v5.15.17 upstream stable release (LP: #1959376) + - net: dsa: hellcreek: Allow PTP P2P measurements on blocked ports + - rtw88: add quirk to disable pci caps on HP 250 G7 Notebook PC + - ASoC: mediatek: Check for error clk pointer + - regulator: da9121: Prevent current limit change when enabled + - ath9k: Fix out-of-bound memcpy in ath9k_hif_usb_rx_stream + - drm/etnaviv: limit submit sizes + - Bluetooth: hci_sync: Fix not setting adv set duration + - net: axienet: Wait for PhyRstCmplt after core reset + * rtw88_8821ce causes freeze (LP: #1927808) // Jammy update: v5.15.17 upstream + stable release (LP: #1959376) + - rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE + * Jammy update: v5.15.15 upstream stable release (LP: #1958418) + - Bluetooth: btusb: Add support for Foxconn MT7922A + - Bluetooth: btbcm: disable read tx power for MacBook Air 8,1 and 8,2 + - platform/x86/intel: hid: add quirk to support Surface Go 3 + * Support USB4 DP alt mode for AMD Yellow Carp graphics card (LP: #1953008) + - SAUCE: drm/amd/display: Fixup previous PSR policy commit + * alsa/sdw: add sdw audio machine driver for several ADL machines + (LP: #1951563) + - ASoC: Intel: sof_sdw: Add support for SKU 0B11 product + - ASoC: Intel: sof_sdw: Add support for SKU 0B13 product + - ASoC: Intel: sof_sdw: Add support for SKU 0B29 product + - ASoC: Intel: sof_sdw: Add support for SKU 0B12 product + * Improve performance and idle power consumption (LP: #1941893) + - x86: ACPI: cstate: Optimize C3 entry on AMD CPUs + * Fix spurious wakeup caused by Intel 7560 WWAN (LP: #1956443) + - net: wwan: iosm: Keep device at D0 for s2idle case + * Jammy update: v5.15.13 upstream stable release (LP: #1956926) + - scsi: lpfc: Terminate string in lpfc_debugfs_nvmeio_trc_write() + - net/mlx5: Fix tc max supported prio for nic mode + * Miscellaneous Ubuntu changes + - [Packaging] Update dependency of pahole / dwarves + - [packaging] unhook lowlatency flavours from the build + - [Packaging] use default zstd compression + - [Packaging] do not use compression for image packages + - [Packaging] use xz compression for ddebs + - SAUCE: Makefile: Remove inclusion of lbm header files + - SAUCE: Makefile: Fix compiler warnings + - [Config] drop unused lowlatency configs + - [Config] update configs and annotations after rebase to v5.17-rc5 + * Miscellaneous upstream changes + - Revert "rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE" + - MAINTAINERS: Add scripts/pahole-flags.sh to BPF section + - kbuild: Add CONFIG_PAHOLE_VERSION + - lib/Kconfig.debug: Use CONFIG_PAHOLE_VERSION + - lib/Kconfig.debug: Allow BTF + DWARF5 with pahole 1.21+ + - Revert "UBUNTU: [Packaging] temporarily disable zfs" + + [ Ubuntu: 5.17.0-1.1 ] + + * Rebase to 5.17-rc1 + + [ Ubuntu: 5.17.0-0.0 ] + + * Empty entry + + -- Paolo Pisati Wed, 27 Jul 2022 12:08:21 +0200 + +linux-gcp (5.19.0-1001.1) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1001.1 -proposed tracker (LP: #1980071) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - [Packaging] switch to kinetic 5.19.0 + - [Config] updateconfigs and annotations following 5.19.0-7.7 rebase + + -- Paolo Pisati Wed, 29 Jun 2022 12:18:32 +0200 + +linux-gcp (5.19.0-1000.0) kinetic; urgency=medium + + * Dummy entry + + -- Paolo Pisati Wed, 29 Jun 2022 12:08:07 +0200 + +linux-gcp (5.18.0-1001.1) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.18.0-1001.1 -proposed tracker (LP: #1975967) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/2022.05.30) + + * Miscellaneous Ubuntu changes + - [Packaging] switch to kinetic 5.18.0 + - [Config] updateconfigs and annotations following 5.18.0-6.6 rebase + + -- Paolo Pisati Thu, 09 Jun 2022 09:06:52 +0200 + +linux-gcp (5.18.0-1000.0) kinetic; urgency=medium + + * Dummy entry + + -- Paolo Pisati Wed, 08 Jun 2022 16:11:49 +0200 + +linux-gcp (5.15.0-1004.7) jammy; urgency=medium + + * jammy/linux-gcp: 5.15.0-1004.7 -proposed tracker (LP: #1969492) + + [ Ubuntu: 5.15.0-27.28 ] + + * jammy/linux: 5.15.0-27.28 -proposed tracker (LP: #1968954) + + [ Ubuntu: 5.15.0-26.27 ] + + * jammy/linux: 5.15.0-26.27 -proposed tracker (LP: #1968850) + * CVE-2022-1016 + - netfilter: nf_tables: initialize registers in nft_do_chain() + * CVE-2022-1015 + - netfilter: nf_tables: validate registers coming from userspace. + * CVE-2022-26490 + - nfc: st21nfca: Fix potential buffer overflows in EVT_TRANSACTION + * harden indirect calls against BHI attacks (LP: #1967579) + - objtool: Classify symbols + - objtool: Explicitly avoid self modifying code in .altinstr_replacement + - objtool: Shrink struct instruction + - objtool,x86: Replace alternatives with .retpoline_sites + - x86/retpoline: Remove unused replacement symbols + - x86/asm: Fix register order + - x86/asm: Fixup odd GEN-for-each-reg.h usage + - x86/retpoline: Move the retpoline thunk declarations to nospec-branch.h + - x86/retpoline: Create a retpoline thunk array + - x86/alternative: Implement .retpoline_sites support + - x86/alternative: Handle Jcc __x86_indirect_thunk_\reg + - x86/alternative: Try inline spectre_v2=retpoline,amd + - x86/alternative: Add debug prints to apply_retpolines() + - bpf,x86: Simplify computing label offsets + - bpf,x86: Respect X86_FEATURE_RETPOLINE* + + -- Paolo Pisati Wed, 20 Apr 2022 06:14:31 +0200 + +linux-gcp (5.15.0-1003.6) jammy; urgency=medium + + * jammy/linux-gcp: 5.15.0-1003.6 -proposed tracker (LP: #1966482) + + * dependency on crda obsolete according to Debian (LP: #1958918) + - [Packaging] switch dependency from crda to wireless-regdb + + * Miscellaneous Ubuntu changes + - [gcp] add arm64 to getabis + - [Config] updateconfigs + + [ Ubuntu: 5.15.0-25.25 ] + + * jammy/linux: 5.15.0-25.25 -proposed tracker (LP: #1967146) + * Miscellaneous Ubuntu changes + - SAUCE: Revert "scsi: core: Reallocate device's budget map on queue depth + change" + + [ Ubuntu: 5.15.0-24.24 ] + + * jammy/linux: 5.15.0-24.24 -proposed tracker (LP: #1966305) + * Update OS policy capability handshake (LP: #1966089) + - thermal: int340x: Update OS policy capability handshake + * Jammy update: v5.15.30 upstream stable release (LP: #1966057) + - Revert "xfrm: state and policy should fail if XFRMA_IF_ID 0" + - arm64: dts: rockchip: fix rk3399-puma-haikou USB OTG mode + - xfrm: Check if_id in xfrm_migrate + - xfrm: Fix xfrm migrate issues when address family changes + - arm64: dts: rockchip: fix rk3399-puma eMMC HS400 signal integrity + - arm64: dts: rockchip: align pl330 node name with dtschema + - arm64: dts: rockchip: reorder rk3399 hdmi clocks + - arm64: dts: agilex: use the compatible "intel,socfpga-agilex-hsotg" + - ARM: dts: rockchip: reorder rk322x hmdi clocks + - ARM: dts: rockchip: fix a typo on rk3288 crypto-controller + - mac80211: refuse aggregations sessions before authorized + - MIPS: smp: fill in sibling and core maps earlier + - ARM: 9178/1: fix unmet dependency on BITREVERSE for HAVE_ARCH_BITREVERSE + - Bluetooth: hci_core: Fix leaking sent_cmd skb + - can: rcar_canfd: rcar_canfd_channel_probe(): register the CAN device when + fully ready + - atm: firestream: check the return value of ioremap() in fs_init() + - iwlwifi: don't advertise TWT support + - drm/vrr: Set VRR capable prop only if it is attached to connector + - nl80211: Update bss channel on channel switch for P2P_CLIENT + - tcp: make tcp_read_sock() more robust + - sfc: extend the locking on mcdi->seqno + - bnx2: Fix an error message + - kselftest/vm: fix tests build with old libc + - x86/module: Fix the paravirt vs alternative order + - ice: Fix race condition during interface enslave + - Linux 5.15.30 + * Jammy update: v5.15.29 upstream stable release (LP: #1966056) + - arm64: dts: qcom: sm8350: Describe GCC dependency clocks + - arm64: dts: qcom: sm8350: Correct UFS symbol clocks + - HID: elo: Revert USB reference counting + - HID: hid-thrustmaster: fix OOB read in thrustmaster_interrupts + - ARM: boot: dts: bcm2711: Fix HVS register range + - clk: qcom: gdsc: Add support to update GDSC transition delay + - clk: qcom: dispcc: Update the transition delay for MDSS GDSC + - HID: vivaldi: fix sysfs attributes leak + - arm64: dts: armada-3720-turris-mox: Add missing ethernet0 alias + - tipc: fix kernel panic when enabling bearer + - vdpa/mlx5: add validation for VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET command + - vduse: Fix returning wrong type in vduse_domain_alloc_iova() + - net: phy: meson-gxl: fix interrupt handling in forced mode + - mISDN: Fix memory leak in dsp_pipeline_build() + - vhost: fix hung thread due to erroneous iotlb entries + - virtio-blk: Don't use MAX_DISCARD_SEGMENTS if max_discard_seg is zero + - vdpa: fix use-after-free on vp_vdpa_remove + - isdn: hfcpci: check the return value of dma_set_mask() in setup_hw() + - net: qlogic: check the return value of dma_alloc_coherent() in + qed_vf_hw_prepare() + - esp: Fix possible buffer overflow in ESP transformation + - esp: Fix BEET mode inter address family tunneling on GSO + - qed: return status of qed_iov_get_link + - smsc95xx: Ignore -ENODEV errors when device is unplugged + - gpiolib: acpi: Convert ACPI value of debounce to microseconds + - drm/sun4i: mixer: Fix P010 and P210 format numbers + - net: dsa: mt7530: fix incorrect test in mt753x_phylink_validate() + - ARM: dts: aspeed: Fix AST2600 quad spi group + - iavf: Fix handling of vlan strip virtual channel messages + - i40e: stop disabling VFs due to PF error responses + - ice: stop disabling VFs due to PF error responses + - ice: Fix error with handling of bonding MTU + - ice: Don't use GFP_KERNEL in atomic context + - ice: Fix curr_link_speed advertised speed + - ethernet: Fix error handling in xemaclite_of_probe + - tipc: fix incorrect order of state message data sanity check + - net: ethernet: ti: cpts: Handle error for clk_enable + - net: ethernet: lpc_eth: Handle error for clk_enable + - net: marvell: prestera: Add missing of_node_put() in + prestera_switch_set_base_mac_addr + - ax25: Fix NULL pointer dereference in ax25_kill_by_device + - net/mlx5: Fix size field in bufferx_reg struct + - net/mlx5: Fix a race on command flush flow + - net/mlx5e: Lag, Only handle events from highest priority multipath entry + - NFC: port100: fix use-after-free in port100_send_complete + - selftests: pmtu.sh: Kill tcpdump processes launched by subshell. + - selftests: pmtu.sh: Kill nettest processes launched in subshell. + - gpio: ts4900: Do not set DAT and OE together + - gianfar: ethtool: Fix refcount leak in gfar_get_ts_info + - net: phy: DP83822: clear MISR2 register to disable interrupts + - sctp: fix kernel-infoleak for SCTP sockets + - net: bcmgenet: Don't claim WOL when its not available + - net: phy: meson-gxl: improve link-up behavior + - selftests/bpf: Add test for bpf_timer overwriting crash + - swiotlb: fix info leak with DMA_FROM_DEVICE + - usb: dwc3: pci: add support for the Intel Raptor Lake-S + - pinctrl: tigerlake: Revert "Add Alder Lake-M ACPI ID" + - KVM: Fix lockdep false negative during host resume + - kvm: x86: Disable KVM_HC_CLOCK_PAIRING if tsc is in always catchup mode + - spi: rockchip: Fix error in getting num-cs property + - spi: rockchip: terminate dma transmission when slave abort + - drm/vc4: hdmi: Unregister codec device on unbind + - x86/kvm: Don't use pv tlb/ipi/sched_yield if on 1 vCPU + - net-sysfs: add check for netdevice being present to speed_show + - hwmon: (pmbus) Clear pmbus fault/warning bits after read + - PCI: Mark all AMD Navi10 and Navi14 GPU ATS as broken + - gpio: Return EPROBE_DEFER if gc->to_irq is NULL + - drm/amdgpu: bypass tiling flag check in virtual display case (v2) + - Revert "xen-netback: remove 'hotplug-status' once it has served its purpose" + - Revert "xen-netback: Check for hotplug-status existence before watching" + - ipv6: prevent a possible race condition with lifetimes + - tracing: Ensure trace buffer is at least 4096 bytes large + - tracing/osnoise: Make osnoise_main to sleep for microseconds + - selftest/vm: fix map_fixed_noreplace test failure + - selftests/memfd: clean up mapping in mfd_fail_write + - ARM: Spectre-BHB: provide empty stub for non-config + - fuse: fix fileattr op failure + - fuse: fix pipe buffer lifetime for direct_io + - staging: rtl8723bs: Fix access-point mode deadlock + - staging: gdm724x: fix use after free in gdm_lte_rx() + - net: macb: Fix lost RX packet wakeup race in NAPI receive + - riscv: alternative only works on !XIP_KERNEL + - mmc: meson: Fix usage of meson_mmc_post_req() + - riscv: Fix auipc+jalr relocation range checks + - tracing/osnoise: Force quiescent states while tracing + - arm64: dts: marvell: armada-37xx: Remap IO space to bus address 0x0 + - arm64: Ensure execute-only permissions are not allowed without EPAN + - arm64: kasan: fix include error in MTE functions + - swiotlb: rework "fix info leak with DMA_FROM_DEVICE" + - KVM: x86/mmu: kvm_faultin_pfn has to return false if pfh is returned + - virtio: unexport virtio_finalize_features + - virtio: acknowledge all features before access + - net/mlx5: Fix offloading with ESWITCH_IPV4_TTL_MODIFY_ENABLE + - ARM: fix Thumb2 regression with Spectre BHB + - watch_queue: Fix filter limit check + - watch_queue, pipe: Free watchqueue state after clearing pipe ring + - watch_queue: Fix to release page in ->release() + - watch_queue: Fix to always request a pow-of-2 pipe ring size + - watch_queue: Fix the alloc bitmap size to reflect notes allocated + - watch_queue: Free the alloc bitmap when the watch_queue is torn down + - watch_queue: Fix lack of barrier/sync/lock between post and read + - watch_queue: Make comment about setting ->defunct more accurate + - x86/boot: Fix memremap of setup_indirect structures + - x86/boot: Add setup_indirect support in early_memremap_is_setup_data() + - x86/sgx: Free backing memory after faulting the enclave page + - x86/traps: Mark do_int3() NOKPROBE_SYMBOL + - drm/panel: Select DRM_DP_HELPER for DRM_PANEL_EDP + - btrfs: make send work with concurrent block group relocation + - drm/i915: Workaround broken BIOS DBUF configuration on TGL/RKL + - riscv: dts: k210: fix broken IRQs on hart1 + - block: drop unused includes in + - Revert "net: dsa: mv88e6xxx: flush switchdev FDB workqueue before removing + VLAN" + - vhost: allow batching hint without size + - Linux 5.15.29 + * Jammy update: v5.15.28 upstream stable release (LP: #1966055) + - slip: fix macro redefine warning + - ARM: fix co-processor register typo + - ARM: Do not use NOCROSSREFS directive with ld.lld + - arm64: Do not include __READ_ONCE() block in assembly files + - ARM: fix build warning in proc-v7-bugs.c + - xen/xenbus: don't let xenbus_grant_ring() remove grants in error case + - xen/grant-table: add gnttab_try_end_foreign_access() + - xen/blkfront: don't use gnttab_query_foreign_access() for mapped status + - xen/netfront: don't use gnttab_query_foreign_access() for mapped status + - xen/scsifront: don't use gnttab_query_foreign_access() for mapped status + - xen/gntalloc: don't use gnttab_query_foreign_access() + - xen: remove gnttab_query_foreign_access() + - xen/9p: use alloc/free_pages_exact() + - xen/pvcalls: use alloc/free_pages_exact() + - xen/gnttab: fix gnttab_end_foreign_access() without page specified + - xen/netfront: react properly to failing gnttab_end_foreign_access_ref() + - Revert "ACPI: PM: s2idle: Cancel wakeup before dispatching EC GPE" + - Linux 5.15.28 + * zfcpdump-kernel update to v5.15 (LP: #1965766) + - SAUCE: Audit: Fix incorrect static inline function declration. + * [22.04 FEAT] SMC-R v2 Support (LP: #1929035) + - net/smc: save stack space and allocate smc_init_info + - net/smc: prepare for SMC-Rv2 connection + - net/smc: add SMC-Rv2 connection establishment + - net/smc: add listen processing for SMC-Rv2 + - net/smc: add v2 format of CLC decline message + - net/smc: retrieve v2 gid from IB device + - net/smc: add v2 support to the work request layer + - net/smc: extend LLC layer for SMC-Rv2 + - net/smc: add netlink support for SMC-Rv2 + - net/smc: stop links when their GID is removed + - net/smc: fix kernel panic caused by race of smc_sock + - net/smc: Fix hung_task when removing SMC-R devices + * [22.04 FEAT] Transparent PCI device recovery (LP: #1959532) + - s390/pci: tolerate inconsistent handle in recover + - s390/pci: add simpler s390dbf traces for events + - s390/pci: refresh function handle in iomap + - s390/pci: implement reset_slot for hotplug slot + - PCI: Export pci_dev_lock() + - s390/pci: implement minimal PCI error recovery + * Mute/mic LEDs no function on some HP platfroms (LP: #1965080) + - ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machines + * [22.04 FEAT] smc: Add User-defined EID (Enterprise ID) Support - kernel + (LP: #1929060) + - net/smc: add support for user defined EIDs + - net/smc: keep static copy of system EID + - net/smc: add generic netlink support for system EID + * Rotate to 2021v1 signing key (LP: #1964990) + - [Packaging] Rotate to 2021v1 signing key + * [22.04 FEAT] zcrypt DD: Exploitation Support of new IBM Z Crypto Hardware + (kernel part) (LP: #1959547) + - s390/zcrypt: rework of debug feature messages + - s390/ap/zcrypt: debug feature improvements + - s390/zcrypt: CEX8S exploitation support + - s390/zcrypt: handle checkstopped cards with new state + - s390/zcrypt: Support CPRB minor version T7 + - s390/zcrypt: change reply buffer size offering + - s390/zcrypt: Provide target domain for EP11 cprbs to scheduling function + - s390/airq: use DMA memory for summary indicators + * [22.04 FEAT] [VS2103] Set KVM_CAP_S390_MEM_OP_EXTENSION capability to 211 + (LP: #1963901) + - SAUCE: Set KVM_CAP_S390_MEM_OP_EXTENSION capability to 211 + * dependency on crda obsolete according to Debian (LP: #1958918) + - [Packaging] switch dependency from crda to wireless-regdb + * Cirrus audio support [1028:0BB5] & [1028:0BB6] (LP: #1964748) + - ALSA: hda/cs8409: Add new Warlock SKUs to patch_cs8409 + * Miscellaneous Ubuntu changes + - [Packaging] mark dkms-build-configure--zfs executable + - [Packaging] Fix bashism in dkms-build script + - [Packaging] Always catch errors in dkms-build scripts + - [Config] toolchain version update + * Miscellaneous upstream changes + - Ubuntu: remove leftover reference to ubuntu/hio driver + - Reverting commits 61005756c824 and cdb0f8e66513 due to a conflict with + LP#1929035. Re-pick them afterwards, which will establish the upstream + commit content and order again. + - Revert "UBUNTU: [Packaging] Rotate to 2021v1 signing key" + + [ Ubuntu: 5.15.0-23.23 ] + + * jammy/linux: 5.15.0-23.23 -proposed tracker (LP: #1964573) + * Packaging resync (LP: #1786013) + - [Packaging] resync dkms-build{,--nvidia-N} from LRMv5 + - debian/dkms-versions -- update from kernel-versions (main/master) + * [22.04 FEAT] KVM: Enable GISA support for Secure Execution guests + (LP: #1959977) + - KVM: s390: pv: make use of ultravisor AIV support + * intel_iommu breaks Intel IPU6 camera: isys port open ready failed -16 + (LP: #1958004) + - SAUCE: iommu: intel-ipu: use IOMMU passthrough mode for Intel IPUs + * CVE-2022-23960 + - ARM: report Spectre v2 status through sysfs + - ARM: early traps initialisation + - ARM: use LOADADDR() to get load address of sections + - ARM: Spectre-BHB workaround + - ARM: include unprivileged BPF status in Spectre V2 reporting + - arm64: Add Neoverse-N2, Cortex-A710 CPU part definition + - arm64: Add HWCAP for self-synchronising virtual counter + - arm64: Add Cortex-X2 CPU part definition + - arm64: add ID_AA64ISAR2_EL1 sys register + - arm64: cpufeature: add HWCAP for FEAT_AFP + - arm64: cpufeature: add HWCAP for FEAT_RPRES + - arm64: entry.S: Add ventry overflow sanity checks + - arm64: spectre: Rename spectre_v4_patch_fw_mitigation_conduit + - KVM: arm64: Allow indirect vectors to be used without SPECTRE_V3A + - arm64: entry: Make the trampoline cleanup optional + - arm64: entry: Free up another register on kpti's tramp_exit path + - arm64: entry: Move the trampoline data page before the text page + - arm64: entry: Allow tramp_alias to access symbols after the 4K boundary + - arm64: entry: Don't assume tramp_vectors is the start of the vectors + - arm64: entry: Move trampoline macros out of ifdef'd section + - arm64: entry: Make the kpti trampoline's kpti sequence optional + - arm64: entry: Allow the trampoline text to occupy multiple pages + - arm64: entry: Add non-kpti __bp_harden_el1_vectors for mitigations + - arm64: entry: Add vectors that have the bhb mitigation sequences + - arm64: entry: Add macro for reading symbol addresses from the trampoline + - arm64: Add percpu vectors for EL1 + - arm64: proton-pack: Report Spectre-BHB vulnerabilities as part of Spectre-v2 + - arm64: Mitigate spectre style branch history side channels + - KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated + - arm64: Use the clearbhb instruction in mitigations + - arm64: proton-pack: Include unprivileged eBPF status in Spectre v2 + mitigation reporting + - ARM: fix build error when BPF_SYSCALL is disabled + * CVE-2021-26401 + - x86/speculation: Use generic retpoline by default on AMD + - x86/speculation: Update link to AMD speculation whitepaper + - x86/speculation: Warn about Spectre v2 LFENCE mitigation + - x86/speculation: Warn about eIBRS + LFENCE + Unprivileged eBPF + SMT + * CVE-2022-0001 + - x86,bugs: Unconditionally allow spectre_v2=retpoline,amd + - x86/speculation: Rename RETPOLINE_AMD to RETPOLINE_LFENCE + - x86/speculation: Add eIBRS + Retpoline options + - Documentation/hw-vuln: Update spectre doc + - x86/speculation: Include unprivileged eBPF status in Spectre v2 mitigation + reporting + * Jammy update: v5.15.27 upstream stable release (LP: #1964361) + - mac80211_hwsim: report NOACK frames in tx_status + - mac80211_hwsim: initialize ieee80211_tx_info at hw_scan_work + - i2c: bcm2835: Avoid clock stretching timeouts + - ASoC: rt5668: do not block workqueue if card is unbound + - ASoC: rt5682: do not block workqueue if card is unbound + - regulator: core: fix false positive in regulator_late_cleanup() + - Input: clear BTN_RIGHT/MIDDLE on buttonpads + - btrfs: get rid of warning on transaction commit when using flushoncommit + - KVM: arm64: vgic: Read HW interrupt pending state from the HW + - block: loop:use kstatfs.f_bsize of backing file to set discard granularity + - tipc: fix a bit overflow in tipc_crypto_key_rcv() + - cifs: do not use uninitialized data in the owner/group sid + - cifs: fix double free race when mount fails in cifs_get_root() + - cifs: modefromsids must add an ACE for authenticated users + - selftests/seccomp: Fix seccomp failure by adding missing headers + - drm/amd/pm: correct UMD pstate clocks for Dimgrey Cavefish and Beige Goby + - dmaengine: shdma: Fix runtime PM imbalance on error + - i2c: cadence: allow COMPILE_TEST + - i2c: imx: allow COMPILE_TEST + - i2c: qup: allow COMPILE_TEST + - net: usb: cdc_mbim: avoid altsetting toggling for Telit FN990 + - block-map: add __GFP_ZERO flag for alloc_page in function bio_copy_kern + - usb: gadget: don't release an existing dev->buf + - usb: gadget: clear related members when goto fail + - exfat: reuse exfat_inode_info variable instead of calling EXFAT_I() + - exfat: fix i_blocks for files truncated over 4 GiB + - tracing: Add test for user space strings when filtering on string pointers + - arm64: Mark start_backtrace() notrace and NOKPROBE_SYMBOL + - serial: stm32: prevent TDR register overwrite when sending x_char + - ext4: drop ineligible txn start stop APIs + - ext4: simplify updating of fast commit stats + - ext4: fast commit may not fallback for ineligible commit + - ext4: fast commit may miss file actions + - sched/fair: Fix fault in reweight_entity + - ata: pata_hpt37x: fix PCI clock detection + - drm/amdgpu: check vm ready by amdgpu_vm->evicting flag + - tracing: Add ustring operation to filtering string pointers + - ipv6: fix skb drops in igmp6_event_query() and igmp6_event_report() + - NFSD: Have legacy NFSD WRITE decoders use xdr_stream_subsegment() + - NFSD: Fix zero-length NFSv3 WRITEs + - io_uring: fix no lock protection for ctx->cq_extra + - tools/resolve_btf_ids: Close ELF file on error + - mtd: spi-nor: Fix mtd size for s3an flashes + - MIPS: fix local_{add,sub}_return on MIPS64 + - signal: In get_signal test for signal_group_exit every time through the loop + - PCI: mediatek-gen3: Disable DVFSRC voltage request + - PCI: rcar: Check if device is runtime suspended instead of + __clk_is_enabled() + - PCI: dwc: Do not remap invalid res + - PCI: aardvark: Fix checking for MEM resource type + - KVM: VMX: Don't unblock vCPU w/ Posted IRQ if IRQs are disabled in guest + - KVM: s390: Ensure kvm_arch_no_poll() is read once when blocking vCPU + - KVM: VMX: Read Posted Interrupt "control" exactly once per loop iteration + - KVM: X86: Ensure that dirty PDPTRs are loaded + - KVM: x86: Handle 32-bit wrap of EIP for EMULTYPE_SKIP with flat code seg + - KVM: x86: Exit to userspace if emulation prepared a completion callback + - i3c: fix incorrect address slot lookup on 64-bit + - i3c/master/mipi-i3c-hci: Fix a potentially infinite loop in + 'hci_dat_v1_get_index()' + - tracing: Do not let synth_events block other dyn_event systems during create + - Input: ti_am335x_tsc - set ADCREFM for X configuration + - Input: ti_am335x_tsc - fix STEPCONFIG setup for Z2 + - PCI: mvebu: Check for errors from pci_bridge_emul_init() call + - PCI: mvebu: Do not modify PCI IO type bits in conf_write + - PCI: mvebu: Fix support for bus mastering and PCI_COMMAND on emulated bridge + - PCI: mvebu: Fix configuring secondary bus of PCIe Root Port via emulated + bridge + - PCI: mvebu: Setup PCIe controller to Root Complex mode + - PCI: mvebu: Fix support for PCI_BRIDGE_CTL_BUS_RESET on emulated bridge + - PCI: mvebu: Fix support for PCI_EXP_DEVCTL on emulated bridge + - PCI: mvebu: Fix support for PCI_EXP_RTSTA on emulated bridge + - PCI: mvebu: Fix support for DEVCAP2, DEVCTL2 and LNKCTL2 registers on + emulated bridge + - NFSD: Fix verifier returned in stable WRITEs + - Revert "nfsd: skip some unnecessary stats in the v4 case" + - nfsd: fix crash on COPY_NOTIFY with special stateid + - x86/hyperv: Properly deal with empty cpumasks in hyperv_flush_tlb_multi() + - drm/i915: don't call free_mmap_offset when purging + - SUNRPC: Fix sockaddr handling in the svc_xprt_create_error trace point + - SUNRPC: Fix sockaddr handling in svcsock_accept_class trace points + - drm/sun4i: dw-hdmi: Fix missing put_device() call in sun8i_hdmi_phy_get + - drm/atomic: Check new_crtc_state->active to determine if CRTC needs disable + in self refresh mode + - ntb_hw_switchtec: Fix pff ioread to read into mmio_part_cfg_all + - ntb_hw_switchtec: Fix bug with more than 32 partitions + - drm/amdkfd: Check for null pointer after calling kmemdup + - drm/amdgpu: use spin_lock_irqsave to avoid deadlock by local interrupt + - i3c: master: dw: check return of dw_i3c_master_get_free_pos() + - dma-buf: cma_heap: Fix mutex locking section + - tracing/uprobes: Check the return value of kstrdup() for tu->filename + - tracing/probes: check the return value of kstrndup() for pbuf + - mm: defer kmemleak object creation of module_alloc() + - kasan: fix quarantine conflicting with init_on_free + - selftests/vm: make charge_reserved_hugetlb.sh work with existing cgroup + setting + - hugetlbfs: fix off-by-one error in hugetlb_vmdelete_list() + - drm/amdgpu/display: Only set vblank_disable_immediate when PSR is not + enabled + - drm/amdgpu: filter out radeon PCI device IDs + - drm/amdgpu: filter out radeon secondary ids as well + - drm/amd/display: Use adjusted DCN301 watermarks + - drm/amd/display: move FPU associated DSC code to DML folder + - ethtool: Fix link extended state for big endian + - octeontx2-af: Optimize KPU1 processing for variable-length headers + - octeontx2-af: Reset PTP config in FLR handler + - octeontx2-af: cn10k: RPM hardware timestamp configuration + - octeontx2-af: cn10k: Use appropriate register for LMAC enable + - octeontx2-af: Adjust LA pointer for cpt parse header + - octeontx2-af: Add KPU changes to parse NGIO as separate layer + - net/mlx5e: IPsec: Refactor checksum code in tx data path + - net/mlx5e: IPsec: Fix crypto offload for non TCP/UDP encapsulated traffic + - bpf: Use u64_stats_t in struct bpf_prog_stats + - bpf: Fix possible race in inc_misses_counter + - drm/amd/display: Update watermark values for DCN301 + - drm: mxsfb: Set fallback bus format when the bridge doesn't provide one + - drm: mxsfb: Fix NULL pointer dereference + - riscv/mm: Add XIP_FIXUP for phys_ram_base + - drm/i915/display: split out dpt out of intel_display.c + - drm/i915/display: Move DRRS code its own file + - drm/i915: Disable DRRS on IVB/HSW port != A + - gve: Recording rx queue before sending to napi + - net: dsa: ocelot: seville: utilize of_mdiobus_register + - net: dsa: seville: register the mdiobus under devres + - ibmvnic: don't release napi in __ibmvnic_open() + - of: net: move of_net under net/ + - net: ethernet: litex: Add the dependency on HAS_IOMEM + - drm/mediatek: mtk_dsi: Reset the dsi0 hardware + - cifs: protect session channel fields with chan_lock + - cifs: fix confusing unneeded warning message on smb2.1 and earlier + - drm/amd/display: Fix stream->link_enc unassigned during stream removal + - bnxt_en: Fix occasional ethtool -t loopback test failures + - drm/amd/display: For vblank_disable_immediate, check PSR is really used + - PCI: mvebu: Fix device enumeration regression + - net: of: fix stub of_net helpers for CONFIG_NET=n + - ALSA: intel_hdmi: Fix reference to PCM buffer address + - ucounts: Fix systemd LimitNPROC with private users regression + - riscv/efi_stub: Fix get_boot_hartid_from_fdt() return value + - riscv: Fix config KASAN && SPARSEMEM && !SPARSE_VMEMMAP + - riscv: Fix config KASAN && DEBUG_VIRTUAL + - iwlwifi: mvm: check debugfs_dir ptr before use + - ASoC: ops: Shift tested values in snd_soc_put_volsw() by +min + - iommu/vt-d: Fix double list_add when enabling VMD in scalable mode + - iommu/amd: Recover from event log overflow + - drm/i915: s/JSP2/ICP2/ PCH + - drm/amd/display: Reduce dmesg error to a debug print + - xen/netfront: destroy queues before real_num_tx_queues is zeroed + - thermal: core: Fix TZ_GET_TRIP NULL pointer dereference + - mac80211: fix EAPoL rekey fail in 802.3 rx path + - blktrace: fix use after free for struct blk_trace + - ntb: intel: fix port config status offset for SPR + - mm: Consider __GFP_NOWARN flag for oversized kvmalloc() calls + - xfrm: fix MTU regression + - netfilter: fix use-after-free in __nf_register_net_hook() + - bpf, sockmap: Do not ignore orig_len parameter + - xfrm: fix the if_id check in changelink + - xfrm: enforce validity of offload input flags + - e1000e: Correct NVM checksum verification flow + - net: fix up skbs delta_truesize in UDP GRO frag_list + - netfilter: nf_queue: don't assume sk is full socket + - netfilter: nf_queue: fix possible use-after-free + - netfilter: nf_queue: handle socket prefetch + - batman-adv: Request iflink once in batadv-on-batadv check + - batman-adv: Request iflink once in batadv_get_real_netdevice + - batman-adv: Don't expect inter-netns unique iflink indices + - net: ipv6: ensure we call ipv6_mc_down() at most once + - net: dcb: flush lingering app table entries for unregistered devices + - net: ipa: add an interconnect dependency + - net/smc: fix connection leak + - net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error generated by client + - net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error cause by server + - btrfs: fix ENOSPC failure when attempting direct IO write into NOCOW range + - mac80211: fix forwarded mesh frames AC & queue selection + - net: stmmac: fix return value of __setup handler + - mac80211: treat some SAE auth steps as final + - iavf: Fix missing check for running netdev + - net: sxgbe: fix return value of __setup handler + - ibmvnic: register netdev after init of adapter + - net: arcnet: com20020: Fix null-ptr-deref in com20020pci_probe() + - ixgbe: xsk: change !netif_carrier_ok() handling in ixgbe_xmit_zc() + - iavf: Fix deadlock in iavf_reset_task + - efivars: Respect "block" flag in efivar_entry_set_safe() + - auxdisplay: lcd2s: Fix lcd2s_redefine_char() feature + - firmware: arm_scmi: Remove space in MODULE_ALIAS name + - ASoC: cs4265: Fix the duplicated control name + - auxdisplay: lcd2s: Fix memory leak in ->remove() + - auxdisplay: lcd2s: Use proper API to free the instance of charlcd object + - can: gs_usb: change active_channels's type from atomic_t to u8 + - iommu/tegra-smmu: Fix missing put_device() call in tegra_smmu_find + - arm64: dts: rockchip: Switch RK3399-Gru DP to SPDIF output + - igc: igc_read_phy_reg_gpy: drop premature return + - ARM: Fix kgdb breakpoint for Thumb2 + - mips: setup: fix setnocoherentio() boolean setting + - ARM: 9182/1: mmu: fix returns from early_param() and __setup() functions + - mptcp: Correctly set DATA_FIN timeout when number of retransmits is large + - selftests: mlxsw: tc_police_scale: Make test more robust + - pinctrl: sunxi: Use unique lockdep classes for IRQs + - igc: igc_write_phy_reg_gpy: drop premature return + - ibmvnic: free reset-work-item when flushing + - memfd: fix F_SEAL_WRITE after shmem huge page allocated + - s390/extable: fix exception table sorting + - sched: Fix yet more sched_fork() races + - arm64: dts: juno: Remove GICv2m dma-range + - iommu/amd: Fix I/O page table memory leak + - MIPS: ralink: mt7621: do memory detection on KSEG1 + - ARM: dts: switch timer config to common devkit8000 devicetree + - ARM: dts: Use 32KiHz oscillator on devkit8000 + - soc: fsl: guts: Revert commit 3c0d64e867ed + - soc: fsl: guts: Add a missing memory allocation failure check + - soc: fsl: qe: Check of ioremap return value + - netfilter: nf_tables: prefer kfree_rcu(ptr, rcu) variant + - ARM: tegra: Move panels to AUX bus + - can: etas_es58x: change opened_channel_cnt's type from atomic_t to u8 + - net: stmmac: enhance XDP ZC driver level switching performance + - net: stmmac: only enable DMA interrupts when ready + - ibmvnic: initialize rc before completing wait + - ibmvnic: define flush_reset_queue helper + - ibmvnic: complete init_done on transport events + - net: chelsio: cxgb3: check the return value of pci_find_capability() + - net: sparx5: Fix add vlan when invalid operation + - iavf: Refactor iavf state machine tracking + - iavf: Add __IAVF_INIT_FAILED state + - iavf: Combine init and watchdog state machines + - iavf: Add trace while removing device + - iavf: Rework mutexes for better synchronisation + - iavf: Add helper function to go from pci_dev to adapter + - iavf: Fix kernel BUG in free_msi_irqs + - iavf: Add waiting so the port is initialized in remove + - iavf: Fix init state closure on remove + - iavf: Fix locking for VIRTCHNL_OP_GET_OFFLOAD_VLAN_V2_CAPS + - iavf: Fix race in init state + - iavf: Fix __IAVF_RESETTING state usage + - drm/i915/guc/slpc: Correct the param count for unset param + - drm/bridge: ti-sn65dsi86: Properly undo autosuspend + - e1000e: Fix possible HW unit hang after an s0ix exit + - MIPS: ralink: mt7621: use bitwise NOT instead of logical + - nl80211: Handle nla_memdup failures in handle_nan_filter + - drm/amdgpu: fix suspend/resume hang regression + - net: dcb: disable softirqs in dcbnl_flush_dev() + - selftests: mlxsw: resource_scale: Fix return value + - net: stmmac: perserve TX and RX coalesce value during XDP setup + - iavf: do not override the adapter state in the watchdog task (again) + - iavf: missing unlocks in iavf_watchdog_task() + - MAINTAINERS: adjust file entry for of_net.c after movement + - Input: elan_i2c - move regulator_[en|dis]able() out of + elan_[en|dis]able_power() + - Input: elan_i2c - fix regulator enable count imbalance after suspend/resume + - Input: samsung-keypad - properly state IOMEM dependency + - HID: add mapping for KEY_DICTATE + - HID: add mapping for KEY_ALL_APPLICATIONS + - tracing/histogram: Fix sorting on old "cpu" value + - tracing: Fix return value of __setup handlers + - btrfs: fix lost prealloc extents beyond eof after full fsync + - btrfs: fix relocation crash due to premature return from + btrfs_commit_transaction() + - btrfs: do not WARN_ON() if we have PageError set + - btrfs: qgroup: fix deadlock between rescan worker and remove qgroup + - btrfs: add missing run of delayed items after unlink during log replay + - btrfs: do not start relocation until in progress drops are done + - Revert "xfrm: xfrm_state_mtu should return at least 1280 for ipv6" + - proc: fix documentation and description of pagemap + - KVM: x86/mmu: Passing up the error state of mmu_alloc_shadow_roots() + - hamradio: fix macro redefine warning + - Linux 5.15.27 + - [Config] updateconfigs + * devices on thunderbolt dock are not recognized on adl-p platform + (LP: #1955016) + - thunderbolt: Tear down existing tunnels when resuming from hibernate + - thunderbolt: Runtime resume USB4 port when retimers are scanned + - thunderbolt: Do not allow subtracting more NFC credits than configured + - thunderbolt: Do not program path HopIDs for USB4 routers + - thunderbolt: Add debug logging of DisplayPort resource allocation + * MT7921[14c3:7961] ASPM is disabled and it affects power consumption + (LP: #1955882) + - mt76: mt7921: enable aspm by default + * Add proper runtime PM support to Realtek PCIe cardreader (LP: #1963615) + - mmc: rtsx: Use pm_runtime_{get, put}() to handle runtime PM + - misc: rtsx: Rework runtime power management flow + - misc: rtsx: Cleanup power management ops + - misc: rtsx: Quiesce rts5249 on system suspend + - mmc: rtsx: Let MMC core handle runtime PM + - misc: rtsx: conditionally build rtsx_pm_power_saving() + - misc: rtsx: rts522a rts5228 rts5261 support Runtime PM + - mmc: rtsx: Fix build errors/warnings for unused variable + - mmc: rtsx: add 74 Clocks in power on flow + * [22.04 FEAT] In-kernel crypto: SIMD implementation of chacha20 + (LP: #1853152) + - s390/crypto: add SIMD implementation for ChaCha20 + - s390/crypto: fix compile error for ChaCha20 module + * Add ConnectX7 support and bug fixes to Jammy (LP: #1962185) + - IB/mlx5: Expose NDR speed through MAD + * INVALID or PRIVATE BUG (LP: #1959890) + - [Config] Deactivate CONFIG_QETH_OSX kernel config option + * Move virtual graphics drivers from linux-modules-extra to linux-modules + (LP: #1960633) + - [Packaging] Move VM DRM drivers into modules + * Not able to enter s2idle state on AMD platforms (LP: #1961121) + - HID: amd_sfh: Handle amd_sfh work buffer in PM ops + - HID: amd_sfh: Disable the interrupt for all command + - HID: amd_sfh: Add functionality to clear interrupts + - HID: amd_sfh: Add interrupt handler to process interrupts + * INVALID or PRIVATE BUG (LP: #1960580) + - s390/kexec_file: move kernel image size check + - s390: support command lines longer than 896 bytes + * [UBUNTU 20.04] kernel: Add support for CPU-MF counter second version 7 + (LP: #1960182) + - s390/cpumf: Support for CPU Measurement Facility CSVN 7 + - s390/cpumf: Support for CPU Measurement Sampling Facility LS bit + * [SRU]PCI: vmd: Do not disable MSI-X remapping if interrupt remapping is + enabled by IOMMU (LP: #1937295) + - PCI: vmd: Do not disable MSI-X remapping if interrupt remapping is enabled + by IOMMU + * Jammy update: v5.15.26 upstream stable release (LP: #1963891) + - mm/filemap: Fix handling of THPs in generic_file_buffered_read() + - cgroup/cpuset: Fix a race between cpuset_attach() and cpu hotplug + - cgroup-v1: Correct privileges check in release_agent writes + - x86/ptrace: Fix xfpregs_set()'s incorrect xmm clearing + - btrfs: tree-checker: check item_size for inode_item + - btrfs: tree-checker: check item_size for dev_item + - clk: jz4725b: fix mmc0 clock gating + - io_uring: don't convert to jiffies for waiting on timeouts + - io_uring: disallow modification of rsrc_data during quiesce + - selinux: fix misuse of mutex_is_locked() + - vhost/vsock: don't check owner in vhost_vsock_stop() while releasing + - parisc/unaligned: Fix fldd and fstd unaligned handlers on 32-bit kernel + - parisc/unaligned: Fix ldw() and stw() unalignment handlers + - KVM: x86/mmu: make apf token non-zero to fix bug + - drm/amd/display: Protect update_bw_bounding_box FPU code. + - drm/amd/pm: fix some OEM SKU specific stability issues + - drm/amd: Check if ASPM is enabled from PCIe subsystem + - drm/amdgpu: disable MMHUB PG for Picasso + - drm/amdgpu: do not enable asic reset for raven2 + - drm/i915: Widen the QGV point mask + - drm/i915: Correctly populate use_sagv_wm for all pipes + - drm/i915: Fix bw atomic check when switching between SAGV vs. no SAGV + - sr9700: sanity check for packet length + - USB: zaurus: support another broken Zaurus + - CDC-NCM: avoid overflow in sanity checking + - netfilter: xt_socket: fix a typo in socket_mt_destroy() + - netfilter: xt_socket: missing ifdef CONFIG_IP6_NF_IPTABLES dependency + - tee: export teedev_open() and teedev_close_context() + - optee: use driver internal tee_context for some rpc + - ping: remove pr_err from ping_lookup + - Revert "i40e: Fix reset bw limit when DCB enabled with 1 TC" + - gpu: host1x: Always return syncpoint value when waiting + - perf evlist: Fix failed to use cpu list for uncore events + - perf data: Fix double free in perf_session__delete() + - mptcp: fix race in incoming ADD_ADDR option processing + - mptcp: add mibs counter for ignored incoming options + - selftests: mptcp: fix diag instability + - selftests: mptcp: be more conservative with cookie MPJ limits + - bnx2x: fix driver load from initrd + - bnxt_en: Fix active FEC reporting to ethtool + - bnxt_en: Fix offline ethtool selftest with RDMA enabled + - bnxt_en: Fix incorrect multicast rx mask setting when not requested + - hwmon: Handle failure to register sensor with thermal zone correctly + - net/mlx5: Fix tc max supported prio for nic mode + - ice: check the return of ice_ptp_gettimex64 + - ice: initialize local variable 'tlv' + - net/mlx5: Update the list of the PCI supported devices + - bpf: Fix crash due to incorrect copy_map_value + - bpf: Do not try bpf_msg_push_data with len 0 + - selftests: bpf: Check bpf_msg_push_data return value + - bpf: Fix a bpf_timer initialization issue + - bpf: Add schedule points in batch ops + - io_uring: add a schedule point in io_add_buffers() + - net: __pskb_pull_tail() & pskb_carve_frag_list() drop_monitor friends + - nvme: also mark passthrough-only namespaces ready in nvme_update_ns_info + - tipc: Fix end of loop tests for list_for_each_entry() + - gso: do not skip outer ip header in case of ipip and net_failover + - net: mv643xx_eth: process retval from of_get_mac_address + - openvswitch: Fix setting ipv6 fields causing hw csum failure + - drm/edid: Always set RGB444 + - net/mlx5e: Fix wrong return value on ioctl EEPROM query failure + - drm/vc4: crtc: Fix runtime_pm reference counting + - drm/i915/dg2: Print PHY name properly on calibration error + - net/sched: act_ct: Fix flow table lookup after ct clear or switching zones + - net: ll_temac: check the return value of devm_kmalloc() + - net: Force inlining of checksum functions in net/checksum.h + - netfilter: nf_tables: unregister flowtable hooks on netns exit + - nfp: flower: Fix a potential leak in nfp_tunnel_add_shared_mac() + - net: mdio-ipq4019: add delay after clock enable + - netfilter: nf_tables: fix memory leak during stateful obj update + - net/smc: Use a mutex for locking "struct smc_pnettable" + - surface: surface3_power: Fix battery readings on batteries without a serial + number + - udp_tunnel: Fix end of loop test in udp_tunnel_nic_unregister() + - net/mlx5: DR, Cache STE shadow memory + - ibmvnic: schedule failover only if vioctl fails + - net/mlx5: DR, Don't allow match on IP w/o matching on full + ethertype/ip_version + - net/mlx5: Fix possible deadlock on rule deletion + - net/mlx5: Fix wrong limitation of metadata match on ecpf + - net/mlx5: DR, Fix the threshold that defines when pool sync is initiated + - net/mlx5e: MPLSoUDP decap, fix check for unsupported matches + - net/mlx5e: kTLS, Use CHECKSUM_UNNECESSARY for device-offloaded packets + - net/mlx5: Update log_max_qp value to be 17 at most + - spi: spi-zynq-qspi: Fix a NULL pointer dereference in + zynq_qspi_exec_mem_op() + - gpio: rockchip: Reset int_bothedge when changing trigger + - regmap-irq: Update interrupt clear register for proper reset + - net-timestamp: convert sk->sk_tskey to atomic_t + - RDMA/rtrs-clt: Fix possible double free in error case + - RDMA/rtrs-clt: Move free_permit from free_clt to rtrs_clt_close + - bnxt_en: Increase firmware message response DMA wait time + - configfs: fix a race in configfs_{,un}register_subsystem() + - RDMA/ib_srp: Fix a deadlock + - tracing: Dump stacktrace trigger to the corresponding instance + - tracing: Have traceon and traceoff trigger honor the instance + - iio:imu:adis16480: fix buffering for devices with no burst mode + - iio: adc: men_z188_adc: Fix a resource leak in an error handling path + - iio: adc: tsc2046: fix memory corruption by preventing array overflow + - iio: adc: ad7124: fix mask used for setting AIN_BUFP & AIN_BUFM bits + - iio: accel: fxls8962af: add padding to regmap for SPI + - iio: imu: st_lsm6dsx: wait for settling time in st_lsm6dsx_read_oneshot + - iio: Fix error handling for PM + - sc16is7xx: Fix for incorrect data being transmitted + - ata: pata_hpt37x: disable primary channel on HPT371 + - Revert "USB: serial: ch341: add new Product ID for CH341A" + - usb: gadget: rndis: add spinlock for rndis response list + - USB: gadget: validate endpoint index for xilinx udc + - tracefs: Set the group ownership in apply_options() not parse_options() + - USB: serial: option: add support for DW5829e + - USB: serial: option: add Telit LE910R1 compositions + - usb: dwc2: drd: fix soft connect when gadget is unconfigured + - usb: dwc3: pci: Add "snps,dis_u2_susphy_quirk" for Intel Bay Trail + - usb: dwc3: pci: Fix Bay Trail phy GPIO mappings + - usb: dwc3: gadget: Let the interrupt handler disable bottom halves. + - xhci: re-initialize the HC during resume if HCE was set + - xhci: Prevent futile URB re-submissions due to incorrect return value. + - nvmem: core: Fix a conflict between MTD and NVMEM on wp-gpios property + - mtd: core: Fix a conflict between MTD and NVMEM on wp-gpios property + - driver core: Free DMA range map when device is released + - btrfs: prevent copying too big compressed lzo segment + - RDMA/cma: Do not change route.addr.src_addr outside state checks + - thermal: int340x: fix memory leak in int3400_notify() + - staging: fbtft: fb_st7789v: reset display before initialization + - tps6598x: clear int mask on probe failure + - IB/qib: Fix duplicate sysfs directory name + - riscv: fix nommu_k210_sdcard_defconfig + - riscv: fix oops caused by irqsoff latency tracer + - tty: n_gsm: fix encoding of control signal octet bit DV + - tty: n_gsm: fix proper link termination after failed open + - tty: n_gsm: fix NULL pointer access due to DLCI release + - tty: n_gsm: fix wrong tty control line for flow control + - tty: n_gsm: fix wrong modem processing in convergence layer type 2 + - tty: n_gsm: fix deadlock in gsmtty_open() + - pinctrl: fix loop in k210_pinconf_get_drive() + - pinctrl: k210: Fix bias-pull-up + - gpio: tegra186: Fix chip_data type confusion + - memblock: use kfree() to release kmalloced memblock regions + - ice: Fix race conditions between virtchnl handling and VF ndo ops + - ice: fix concurrent reset and removal of VFs + - Linux 5.15.26 + * Jammy update: v5.15.25 upstream stable release (LP: #1963890) + - drm/nouveau/pmu/gm200-: use alternate falcon reset sequence + - fs/proc: task_mmu.c: don't read mapcount for migration entry + - btrfs: zoned: cache reported zone during mount + - HID:Add support for UGTABLET WP5540 + - Revert "svm: Add warning message for AVIC IPI invalid target" + - parisc: Show error if wrong 32/64-bit compiler is being used + - serial: parisc: GSC: fix build when IOSAPIC is not set + - parisc: Drop __init from map_pages declaration + - parisc: Fix data TLB miss in sba_unmap_sg + - parisc: Fix sglist access in ccio-dma.c + - mmc: block: fix read single on recovery logic + - mm: don't try to NUMA-migrate COW pages that have other uses + - HID: amd_sfh: Add illuminance mask to limit ALS max value + - HID: i2c-hid: goodix: Fix a lockdep splat + - HID: amd_sfh: Increase sensor command timeout + - HID: amd_sfh: Correct the structure field name + - PCI: hv: Fix NUMA node assignment when kernel boots with custom NUMA + topology + - parisc: Add ioread64_lo_hi() and iowrite64_lo_hi() + - btrfs: send: in case of IO error log it + - platform/x86: touchscreen_dmi: Add info for the RWC NANOTE P8 AY07J 2-in-1 + - platform/x86: ISST: Fix possible circular locking dependency detected + - kunit: tool: Import missing importlib.abc + - selftests: rtc: Increase test timeout so that all tests run + - kselftest: signal all child processes + - net: ieee802154: at86rf230: Stop leaking skb's + - selftests/zram: Skip max_comp_streams interface on newer kernel + - selftests/zram01.sh: Fix compression ratio calculation + - selftests/zram: Adapt the situation that /dev/zram0 is being used + - selftests: openat2: Print also errno in failure messages + - selftests: openat2: Add missing dependency in Makefile + - selftests: openat2: Skip testcases that fail with EOPNOTSUPP + - selftests: skip mincore.check_file_mmap when fs lacks needed support + - ax25: improve the incomplete fix to avoid UAF and NPD bugs + - pinctrl: bcm63xx: fix unmet dependency on REGMAP for GPIO_REGMAP + - vfs: make freeze_super abort when sync_filesystem returns error + - quota: make dquot_quota_sync return errors from ->sync_fs + - scsi: pm80xx: Fix double completion for SATA devices + - kselftest: Fix vdso_test_abi return status + - scsi: core: Reallocate device's budget map on queue depth change + - scsi: pm8001: Fix use-after-free for aborted TMF sas_task + - scsi: pm8001: Fix use-after-free for aborted SSP/STP sas_task + - drm/amd: Warn users about potential s0ix problems + - nvme: fix a possible use-after-free in controller reset during load + - nvme-tcp: fix possible use-after-free in transport error_recovery work + - nvme-rdma: fix possible use-after-free in transport error_recovery work + - net: sparx5: do not refer to skb after passing it on + - drm/amd: add support to check whether the system is set to s3 + - drm/amd: Only run s3 or s0ix if system is configured properly + - drm/amdgpu: fix logic inversion in check + - x86/Xen: streamline (and fix) PV CPU enumeration + - Revert "module, async: async_synchronize_full() on module init iff async is + used" + - gcc-plugins/stackleak: Use noinstr in favor of notrace + - random: wake up /dev/random writers after zap + - KVM: x86/xen: Fix runstate updates to be atomic when preempting vCPU + - KVM: x86: nSVM/nVMX: set nested_run_pending on VM entry which is a result of + RSM + - KVM: x86: SVM: don't passthrough SMAP/SMEP/PKE bits in !NPT && !gCR0.PG case + - KVM: x86: nSVM: fix potential NULL derefernce on nested migration + - KVM: x86: nSVM: mark vmcb01 as dirty when restoring SMM saved state + - iwlwifi: fix use-after-free + - drm/radeon: Fix backlight control on iMac 12,1 + - drm/atomic: Don't pollute crtc_state->mode_blob with error pointers + - drm/amd/pm: correct the sequence of sending gpu reset msg + - drm/amdgpu: skipping SDMA hw_init and hw_fini for S0ix. + - drm/i915/opregion: check port number bounds for SWSCI display power state + - drm/i915: Fix dbuf slice config lookup + - drm/i915: Fix mbus join config lookup + - vsock: remove vsock from connected table when connect is interrupted by a + signal + - drm/cma-helper: Set VM_DONTEXPAND for mmap + - drm/i915/gvt: Make DRM_I915_GVT depend on X86 + - drm/i915/ttm: tweak priority hint selection + - iwlwifi: pcie: fix locking when "HW not ready" + - iwlwifi: pcie: gen2: fix locking when "HW not ready" + - iwlwifi: mvm: don't send SAR GEO command for 3160 devices + - selftests: netfilter: fix exit value for nft_concat_range + - netfilter: nft_synproxy: unregister hooks on init error path + - selftests: netfilter: disable rp_filter on router + - ipv4: fix data races in fib_alias_hw_flags_set + - ipv6: fix data-race in fib6_info_hw_flags_set / fib6_purge_rt + - ipv6: mcast: use rcu-safe version of ipv6_get_lladdr() + - ipv6: per-netns exclusive flowlabel checks + - Revert "net: ethernet: bgmac: Use devm_platform_ioremap_resource_byname" + - mac80211: mlme: check for null after calling kmemdup + - brcmfmac: firmware: Fix crash in brcm_alt_fw_path + - cfg80211: fix race in netlink owner interface destruction + - net: dsa: lan9303: fix reset on probe + - net: dsa: mv88e6xxx: flush switchdev FDB workqueue before removing VLAN + - net: dsa: lantiq_gswip: fix use after free in gswip_remove() + - net: dsa: lan9303: handle hwaccel VLAN tags + - net: dsa: lan9303: add VLAN IDs to master device + - net: ieee802154: ca8210: Fix lifs/sifs periods + - ping: fix the dif and sdif check in ping_lookup + - bonding: force carrier update when releasing slave + - drop_monitor: fix data-race in dropmon_net_event / trace_napi_poll_hit + - net_sched: add __rcu annotation to netdev->qdisc + - bonding: fix data-races around agg_select_timer + - libsubcmd: Fix use-after-free for realloc(..., 0) + - net/smc: Avoid overwriting the copies of clcsock callback functions + - net: phy: mediatek: remove PHY mode check on MT7531 + - atl1c: fix tx timeout after link flap on Mikrotik 10/25G NIC + - tipc: fix wrong publisher node address in link publications + - dpaa2-switch: fix default return of dpaa2_switch_flower_parse_mirror_key + - dpaa2-eth: Initialize mutex used in one step timestamping path + - net: bridge: multicast: notify switchdev driver whenever MC processing gets + disabled + - perf bpf: Defer freeing string after possible strlen() on it + - selftests/exec: Add non-regular to TEST_GEN_PROGS + - arm64: Correct wrong label in macro __init_el2_gicv3 + - ALSA: usb-audio: revert to IMPLICIT_FB_FIXED_DEV for M-Audio FastTrack Ultra + - ALSA: hda/realtek: Add quirk for Legion Y9000X 2019 + - ALSA: hda/realtek: Fix deadlock by COEF mutex + - ALSA: hda: Fix regression on forced probe mask option + - ALSA: hda: Fix missing codec probe on Shenker Dock 15 + - ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw() + - ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw_range() + - ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw_sx() + - ASoC: ops: Fix stereo change notifications in snd_soc_put_xr_sx() + - cifs: fix set of group SID via NTSD xattrs + - powerpc/603: Fix boot failure with DEBUG_PAGEALLOC and KFENCE + - powerpc/lib/sstep: fix 'ptesync' build error + - mtd: rawnand: gpmi: don't leak PM reference in error path + - smb3: fix snapshot mount option + - tipc: fix wrong notification node addresses + - scsi: ufs: Remove dead code + - scsi: ufs: Fix a deadlock in the error handler + - ASoC: tas2770: Insert post reset delay + - ASoC: qcom: Actually clear DMA interrupt register for HDMI + - block/wbt: fix negative inflight counter when remove scsi device + - NFS: Remove an incorrect revalidation in nfs4_update_changeattr_locked() + - NFS: LOOKUP_DIRECTORY is also ok with symlinks + - NFS: Do not report writeback errors in nfs_getattr() + - tty: n_tty: do not look ahead for EOL character past the end of the buffer + - block: fix surprise removal for drivers calling blk_set_queue_dying + - mtd: rawnand: qcom: Fix clock sequencing in qcom_nandc_probe() + - mtd: parsers: qcom: Fix kernel panic on skipped partition + - mtd: parsers: qcom: Fix missing free for pparts in cleanup + - mtd: phram: Prevent divide by zero bug in phram_setup() + - mtd: rawnand: brcmnand: Fixed incorrect sub-page ECC status + - HID: elo: fix memory leak in elo_probe + - mtd: rawnand: ingenic: Fix missing put_device in ingenic_ecc_get + - Drivers: hv: vmbus: Fix memory leak in vmbus_add_channel_kobj + - KVM: x86/pmu: Refactoring find_arch_event() to pmc_perf_hw_id() + - KVM: x86/pmu: Don't truncate the PerfEvtSeln MSR when creating a perf event + - KVM: x86/pmu: Use AMD64_RAW_EVENT_MASK for PERF_TYPE_RAW + - ARM: OMAP2+: hwmod: Add of_node_put() before break + - ARM: OMAP2+: adjust the location of put_device() call in omapdss_init_of + - phy: usb: Leave some clocks running during suspend + - staging: vc04_services: Fix RCU dereference check + - phy: phy-mtk-tphy: Fix duplicated argument in phy-mtk-tphy + - irqchip/sifive-plic: Add missing thead,c900-plic match string + - x86/bug: Merge annotate_reachable() into _BUG_FLAGS() asm + - netfilter: conntrack: don't refresh sctp entries in closed state + - ksmbd: fix same UniqueId for dot and dotdot entries + - ksmbd: don't align last entry offset in smb2 query directory + - arm64: dts: meson-gx: add ATF BL32 reserved-memory region + - arm64: dts: meson-g12: add ATF BL32 reserved-memory region + - arm64: dts: meson-g12: drop BL32 region from SEI510/SEI610 + - pidfd: fix test failure due to stack overflow on some arches + - selftests: fixup build warnings in pidfd / clone3 tests + - mm: io_uring: allow oom-killer from io_uring_setup + - kconfig: let 'shell' return enough output for deep path names + - ata: libata-core: Disable TRIM on M88V29 + - soc: aspeed: lpc-ctrl: Block error printing on probe defer cases + - xprtrdma: fix pointer derefs in error cases of rpcrdma_ep_create + - drm/rockchip: dw_hdmi: Do not leave clock enabled in error case + - tracing: Fix tp_printk option related with tp_printk_stop_on_boot + - display/amd: decrease message verbosity about watermarks table failure + - drm/amd/display: Cap pflip irqs per max otg number + - drm/amd/display: fix yellow carp wm clamping + - net: usb: qmi_wwan: Add support for Dell DW5829e + - net: macb: Align the dma and coherent dma masks + - kconfig: fix failing to generate auto.conf + - scsi: lpfc: Fix pt2pt NVMe PRLI reject LOGO loop + - EDAC: Fix calculation of returned address and next offset in + edac_align_ptr() + - ucounts: Handle wrapping in is_ucounts_overlimit + - ucounts: In set_cred_ucounts assume new->ucounts is non-NULL + - ucounts: Base set_cred_ucounts changes on the real user + - ucounts: Enforce RLIMIT_NPROC not RLIMIT_NPROC+1 + - lib/iov_iter: initialize "flags" in new pipe_buffer + - rlimit: Fix RLIMIT_NPROC enforcement failure caused by capability calls in + set_user + - ucounts: Move RLIMIT_NPROC handling after set_user + - net: sched: limit TC_ACT_REPEAT loops + - dmaengine: sh: rcar-dmac: Check for error num after setting mask + - dmaengine: stm32-dmamux: Fix PM disable depth imbalance in + stm32_dmamux_probe + - dmaengine: sh: rcar-dmac: Check for error num after dma_set_max_seg_size + - tests: fix idmapped mount_setattr test + - i2c: qcom-cci: don't delete an unregistered adapter + - i2c: qcom-cci: don't put a device tree node before i2c_add_adapter() + - dmaengine: ptdma: Fix the error handling path in pt_core_init() + - copy_process(): Move fd_install() out of sighand->siglock critical section + - scsi: qedi: Fix ABBA deadlock in qedi_process_tmf_resp() and + qedi_process_cmd_cleanup_resp() + - ice: enable parsing IPSEC SPI headers for RSS + - i2c: brcmstb: fix support for DSL and CM variants + - lockdep: Correct lock_classes index mapping + - Linux 5.15.25 + * Jammy update: v5.15.24 upstream stable release (LP: #1963889) + - integrity: check the return value of audit_log_start() + - ima: fix reference leak in asymmetric_verify() + - ima: Remove ima_policy file before directory + - ima: Allow template selection with ima_template[_fmt]= after ima_hash= + - ima: Do not print policy rule with inactive LSM labels + - mmc: sdhci-of-esdhc: Check for error num after setting mask + - mmc: core: Wait for command setting 'Power Off Notification' bit to complete + - can: isotp: fix potential CAN frame reception race in isotp_rcv() + - can: isotp: fix error path in isotp_sendmsg() to unlock wait queue + - net: phy: marvell: Fix RGMII Tx/Rx delays setting in 88e1121-compatible PHYs + - net: phy: marvell: Fix MDI-x polarity setting in 88e1118-compatible PHYs + - NFS: Fix initialisation of nfs_client cl_flags field + - NFSD: Fix NFSv3 SETATTR/CREATE's handling of large file sizes + - NFSD: Fix ia_size underflow + - NFSD: Clamp WRITE offsets + - NFSD: Fix offset type in I/O trace points + - NFSD: Fix the behavior of READ near OFFSET_MAX + - thermal/drivers/int340x: Improve the tcc offset saving for suspend/resume + - thermal/drivers/int340x: processor_thermal: Suppot 64 bit RFIM responses + - thermal: int340x: Limit Kconfig to 64-bit + - thermal/drivers/int340x: Fix RFIM mailbox write commands + - tracing: Propagate is_signed to expression + - NFS: change nfs_access_get_cached to only report the mask + - NFSv4 only print the label when its queried + - nfs: nfs4clinet: check the return value of kstrdup() + - NFSv4.1: Fix uninitialised variable in devicenotify + - NFSv4 remove zero number of fs_locations entries error check + - NFSv4 store server support for fs_location attribute + - NFSv4.1 query for fs_location attr on a new file system + - NFSv4 expose nfs_parse_server_name function + - NFSv4 handle port presence in fs_location server string + - SUNRPC allow for unspecified transport time in rpc_clnt_add_xprt + - net/sunrpc: fix reference count leaks in rpc_sysfs_xprt_state_change + - sunrpc: Fix potential race conditions in rpc_sysfs_xprt_state_change() + - irqchip/realtek-rtl: Service all pending interrupts + - perf/x86/rapl: fix AMD event handling + - x86/perf: Avoid warning for Arch LBR without XSAVE + - sched: Avoid double preemption in __cond_resched_*lock*() + - drm/vc4: Fix deadlock on DSI device attach error + - drm: panel-orientation-quirks: Add quirk for the 1Netbook OneXPlayer + - net: sched: Clarify error message when qdisc kind is unknown + - powerpc/fixmap: Fix VM debug warning on unmap + - scsi: target: iscsi: Make sure the np under each tpg is unique + - scsi: ufs: ufshcd-pltfrm: Check the return value of devm_kstrdup() + - scsi: qedf: Add stag_work to all the vports + - scsi: qedf: Fix refcount issue when LOGO is received during TMF + - scsi: qedf: Change context reset messages to ratelimited + - scsi: pm8001: Fix bogus FW crash for maxcpus=1 + - scsi: ufs: Use generic error code in ufshcd_set_dev_pwr_mode() + - scsi: ufs: Treat link loss as fatal error + - scsi: myrs: Fix crash in error case + - net: stmmac: reduce unnecessary wakeups from eee sw timer + - PM: hibernate: Remove register_nosave_region_late() + - drm/amd/display: Correct MPC split policy for DCN301 + - usb: dwc2: gadget: don't try to disable ep0 in dwc2_hsotg_suspend + - perf: Always wake the parent event + - nvme-pci: add the IGNORE_DEV_SUBNQN quirk for Intel P4500/P4600 SSDs + - MIPS: Fix build error due to PTR used in more places + - net: stmmac: dwmac-sun8i: use return val of readl_poll_timeout() + - KVM: eventfd: Fix false positive RCU usage warning + - KVM: nVMX: eVMCS: Filter out VM_EXIT_SAVE_VMX_PREEMPTION_TIMER + - KVM: nVMX: Also filter MSR_IA32_VMX_TRUE_PINBASED_CTLS when eVMCS + - KVM: SVM: Don't kill SEV guest if SMAP erratum triggers in usermode + - KVM: VMX: Set vmcs.PENDING_DBG.BS on #DB in STI/MOVSS blocking shadow + - KVM: x86: Report deprecated x87 features in supported CPUID + - riscv: fix build with binutils 2.38 + - riscv: cpu-hotplug: clear cpu from numa map when teardown + - riscv: eliminate unreliable __builtin_frame_address(1) + - gfs2: Fix gfs2_release for non-writers regression + - ARM: dts: imx23-evk: Remove MX23_PAD_SSP1_DETECT from hog group + - ARM: dts: Fix boot regression on Skomer + - ARM: socfpga: fix missing RESET_CONTROLLER + - nvme-tcp: fix bogus request completion when failing to send AER + - ACPI/IORT: Check node revision for PMCG resources + - PM: s2idle: ACPI: Fix wakeup interrupts handling + - drm/amdgpu/display: change pipe policy for DCN 2.0 + - drm/rockchip: vop: Correct RK3399 VOP register fields + - drm/i915: Allow !join_mbus cases for adlp+ dbuf configuration + - drm/i915: Populate pipe dbuf slices more accurately during readout + - ARM: dts: Fix timer regression for beagleboard revision c + - ARM: dts: meson: Fix the UART compatible strings + - ARM: dts: meson8: Fix the UART device-tree schema validation + - ARM: dts: meson8b: Fix the UART device-tree schema validation + - phy: broadcom: Kconfig: Fix PHY_BRCM_USB config option + - staging: fbtft: Fix error path in fbtft_driver_module_init() + - ARM: dts: imx6qdl-udoo: Properly describe the SD card detect + - phy: xilinx: zynqmp: Fix bus width setting for SGMII + - phy: stm32: fix a refcount leak in stm32_usbphyc_pll_enable() + - ARM: dts: imx7ulp: Fix 'assigned-clocks-parents' typo + - arm64: dts: imx8mq: fix mipi_csi bidirectional port numbers + - usb: f_fs: Fix use-after-free for epfile + - phy: dphy: Correct clk_pre parameter + - gpio: aggregator: Fix calling into sleeping GPIO controllers + - NFS: Don't overfill uncached readdir pages + - NFS: Don't skip directory entries when doing uncached readdir + - drm/vc4: hdmi: Allow DBLCLK modes even if horz timing is odd. + - misc: fastrpc: avoid double fput() on failed usercopy + - net: sparx5: Fix get_stat64 crash in tcpdump + - netfilter: ctnetlink: disable helper autoassign + - arm64: dts: meson-g12b-odroid-n2: fix typo 'dio2133' + - arm64: dts: meson-sm1-odroid: use correct enable-gpio pin for tf-io + regulator + - arm64: dts: meson-sm1-bananapi-m5: fix wrong GPIO domain for GPIOE_2 + - arm64: dts: meson-sm1-odroid: fix boot loop after reboot + - ixgbevf: Require large buffers for build_skb on 82599VF + - drm/panel: simple: Assign data from panel_dpi_probe() correctly + - ACPI: PM: s2idle: Cancel wakeup before dispatching EC GPE + - gpiolib: Never return internal error codes to user space + - gpio: sifive: use the correct register to read output values + - fbcon: Avoid 'cap' set but not used warning + - bonding: pair enable_port with slave_arr_updates + - net: dsa: mv88e6xxx: don't use devres for mdiobus + - net: dsa: ar9331: register the mdiobus under devres + - net: dsa: bcm_sf2: don't use devres for mdiobus + - net: dsa: felix: don't use devres for mdiobus + - net: dsa: mt7530: fix kernel bug in mdiobus_free() when unbinding + - net: dsa: lantiq_gswip: don't use devres for mdiobus + - ipmr,ip6mr: acquire RTNL before calling ip[6]mr_free_table() on failure path + - nfp: flower: fix ida_idx not being released + - net: do not keep the dst cache when uncloning an skb dst and its metadata + - net: fix a memleak when uncloning an skb dst and its metadata + - veth: fix races around rq->rx_notify_masked + - net: mdio: aspeed: Add missing MODULE_DEVICE_TABLE + - tipc: rate limit warning for received illegal binding update + - net: amd-xgbe: disable interrupts during pci removal + - drm/amd/pm: fix hwmon node of power1_label create issue + - mptcp: netlink: process IPv6 addrs in creating listening sockets + - dpaa2-eth: unregister the netdev before disconnecting from the PHY + - ice: fix an error code in ice_cfg_phy_fec() + - ice: fix IPIP and SIT TSO offload + - ice: Fix KASAN error in LAG NETDEV_UNREGISTER handler + - ice: Avoid RTNL lock when re-creating auxiliary device + - net: mscc: ocelot: fix mutex lock error during ethtool stats read + - net: dsa: mv88e6xxx: fix use-after-free in mv88e6xxx_mdios_unregister + - vt_ioctl: fix array_index_nospec in vt_setactivate + - vt_ioctl: add array_index_nospec to VT_ACTIVATE + - n_tty: wake up poll(POLLRDNORM) on receiving data + - eeprom: ee1004: limit i2c reads to I2C_SMBUS_BLOCK_MAX + - usb: dwc2: drd: fix soft connect when gadget is unconfigured + - Revert "usb: dwc2: drd: fix soft connect when gadget is unconfigured" + - net: usb: ax88179_178a: Fix out-of-bounds accesses in RX fixup + - usb: ulpi: Move of_node_put to ulpi_dev_release + - usb: ulpi: Call of_node_put correctly + - usb: dwc3: gadget: Prevent core from processing stale TRBs + - usb: gadget: udc: renesas_usb3: Fix host to USB_ROLE_NONE transition + - USB: gadget: validate interface OS descriptor requests + - usb: gadget: rndis: check size of RNDIS_MSG_SET command + - usb: gadget: f_uac2: Define specific wTerminalType + - usb: raw-gadget: fix handling of dual-direction-capable endpoints + - USB: serial: ftdi_sio: add support for Brainboxes US-159/235/320 + - USB: serial: option: add ZTE MF286D modem + - USB: serial: ch341: add support for GW Instek USB2.0-Serial devices + - USB: serial: cp210x: add NCR Retail IO box id + - USB: serial: cp210x: add CPI Bulk Coin Recycler id + - speakup-dectlk: Restore pitch setting + - phy: ti: Fix missing sentinel for clk_div_table + - iio: buffer: Fix file related error handling in IIO_BUFFER_GET_FD_IOCTL + - mm: memcg: synchronize objcg lists with a dedicated spinlock + - seccomp: Invalidate seccomp mode to catch death failures + - signal: HANDLER_EXIT should clear SIGNAL_UNKILLABLE + - s390/cio: verify the driver availability for path_event call + - bus: mhi: pci_generic: Add mru_default for Foxconn SDX55 + - bus: mhi: pci_generic: Add mru_default for Cinterion MV31-W + - hwmon: (dell-smm) Speed up setting of fan speed + - x86/sgx: Silence softlockup detection when releasing large enclaves + - Makefile.extrawarn: Move -Wunaligned-access to W=1 + - scsi: lpfc: Remove NVMe support if kernel has NVME_FC disabled + - scsi: lpfc: Reduce log messages seen after firmware download + - MIPS: octeon: Fix missed PTR->PTR_WD conversion + - arm64: dts: imx8mq: fix lcdif port node + - perf: Fix list corruption in perf_cgroup_switch() + - iommu: Fix potential use-after-free during probe + - Linux 5.15.24 + * Jammy update: v5.15.23 upstream stable release (LP: #1963888) + - moxart: fix potential use-after-free on remove path + - arm64: Add Cortex-A510 CPU part definition + - ksmbd: fix SMB 3.11 posix extension mount failure + - crypto: api - Move cryptomgr soft dependency into algapi + - Linux 5.15.23 + * [22.04 FEAT] KVM: Enable storage key checking for intercepted instruction + handled by userspace (LP: #1933179) + - KVM: s390: gaccess: Refactor gpa and length calculation + - KVM: s390: gaccess: Refactor access address range check + - KVM: s390: gaccess: Cleanup access to guest pages + - s390/uaccess: introduce bit field for OAC specifier + - s390/uaccess: fix compile error + - s390/uaccess: Add copy_from/to_user_key functions + - KVM: s390: Honor storage keys when accessing guest memory + - KVM: s390: handle_tprot: Honor storage keys + - KVM: s390: selftests: Test TEST PROTECTION emulation + - KVM: s390: Add optional storage key checking to MEMOP IOCTL + - KVM: s390: Add vm IOCTL for key checked guest absolute memory access + - KVM: s390: Rename existing vcpu memop functions + - KVM: s390: Add capability for storage key extension of MEM_OP IOCTL + - KVM: s390: Update api documentation for memop ioctl + - KVM: s390: Clarify key argument for MEM_OP in api docs + - KVM: s390: Add missing vm MEM_OP size check + * CVE-2022-25636 + - netfilter: nf_tables_offload: incorrect flow offload action array size + * ubuntu_kernel_selftests / ftrace:ftracetest do_softirq failure on Jammy + realtime (LP: #1959610) + - selftests/ftrace: Do not trace do_softirq because of PREEMPT_RT + * CVE-2022-0435 + - tipc: improve size validations for received domain records + * CVE-2022-0516 + - KVM: s390: Return error on SIDA memop on normal guest + * EDAC update for AMD Genoa support in 22.04 (LP: #1960362) + - EDAC: Add RDDR5 and LRDDR5 memory types + - EDAC/amd64: Add support for AMD Family 19h Models 10h-1Fh and A0h-AFh + * hwmon: k10temp updates for AMD Genoa in 22.04 (LP: #1960361) + - x86/amd_nb: Add AMD Family 19h Models (10h-1Fh) and (A0h-AFh) PCI IDs + - hwmon: (k10temp) Remove unused definitions + - hwmon: (k10temp) Support up to 12 CCDs on AMD Family of processors + - hwmon: (k10temp) Add support for AMD Family 19h Models 10h-1Fh and A0h-AFh + * [SRU][I/J/OEM-5.13/OEM-5.14] Add basic support of MT7922 (LP: #1958151) + - mt76: mt7921: Add mt7922 support + - mt76: mt7921: add support for PCIe ID 0x0608/0x0616 + - mt76: mt7921: introduce 160 MHz channel bandwidth support + * Use EC GPE for s2idle wakeup on AMD platforms (LP: #1960771) + - ACPI: PM: Revert "Only mark EC GPE for wakeup on Intel systems" + * Update Broadcom Emulex FC HBA lpfc driver to 14.0.0.4 for Ubuntu 22.04 + (LP: #1956982) + - scsi: lpfc: Change return code on I/Os received during link bounce + - scsi: lpfc: Fix NPIV port deletion crash + - scsi: lpfc: Adjust CMF total bytes and rxmonitor + - scsi: lpfc: Cap CMF read bytes to MBPI + - scsi: lpfc: Add additional debugfs support for CMF + - scsi: lpfc: Update lpfc version to 14.0.0.4 + * Forward-port drm/i915 commits from oem-5.14 for Alder Lake S & P + (LP: #1960298) + - drm/i915/dmc: Update to DMC v2.12 + - drm/i915/adlp/tc: Fix PHY connected check for Thunderbolt mode + - drm/i915/tc: Remove waiting for PHY complete during releasing ownership + - drm/i915/tc: Check for DP-alt, legacy sinks before taking PHY ownership + - drm/i915/tc: Add/use helpers to retrieve TypeC port properties + - drm/i915/tc: Don't keep legacy TypeC ports in connected state w/o a sink + - drm/i915/tc: Add a mode for the TypeC PHY's disconnected state + - drm/i915/tc: Refactor TC-cold block/unblock helpers + - drm/i915/tc: Avoid using legacy AUX PW in TBT mode + - drm/i915/icl/tc: Remove the ICL special casing during TC-cold blocking + - drm/i915/tc: Fix TypeC PHY connect/disconnect logic on ADL-P + - drm/i915/tc: Drop extra TC cold blocking from intel_tc_port_connected() + - drm/i915/tc: Fix system hang on ADL-P during TypeC PHY disconnect + - drm/i915/display/adlp: Disable underrun recovery + - drm/i915/adl_s: Remove require_force_probe protection + - drm/i915/adlp: Remove require_force_probe protection + * INVALID or PRIVATE BUG (LP: #1959735) + - KVM: s390: Simplify SIGP Set Arch handling + - KVM: s390: Add a routine for setting userspace CPU state + * Include the QCA WCN 6856 v2.1 support (LP: #1954938) + - SAUCE: ath11k: shrink TCSR read mask for WCN6855 hw2.1 + * Jammy update: v5.15.22 upstream stable release (LP: #1960516) + - drm/i915: Disable DSB usage for now + - selinux: fix double free of cond_list on error paths + - audit: improve audit queue handling when "audit=1" on cmdline + - ipc/sem: do not sleep with a spin lock held + - spi: stm32-qspi: Update spi registering + - ASoC: hdmi-codec: Fix OOB memory accesses + - ASoC: ops: Reject out of bounds values in snd_soc_put_volsw() + - ASoC: ops: Reject out of bounds values in snd_soc_put_volsw_sx() + - ASoC: ops: Reject out of bounds values in snd_soc_put_xr_sx() + - ALSA: usb-audio: Correct quirk for VF0770 + - ALSA: hda: Fix UAF of leds class devs at unbinding + - ALSA: hda: realtek: Fix race at concurrent COEF updates + - ALSA: hda/realtek: Add quirk for ASUS GU603 + - ALSA: hda/realtek: Add missing fixup-model entry for Gigabyte X570 ALC1220 + quirks + - ALSA: hda/realtek: Fix silent output on Gigabyte X570S Aorus Master (newer + chipset) + - ALSA: hda/realtek: Fix silent output on Gigabyte X570 Aorus Xtreme after + reboot from Windows + - btrfs: don't start transaction for scrub if the fs is mounted read-only + - btrfs: fix deadlock between quota disable and qgroup rescan worker + - btrfs: fix use-after-free after failure to create a snapshot + - Revert "fs/9p: search open fids first" + - drm/nouveau: fix off by one in BIOS boundary checking + - drm/i915/adlp: Fix TypeC PHY-ready status readout + - drm/amd/pm: correct the MGpuFanBoost support for Beige Goby + - drm/amd/display: watermark latencies is not enough on DCN31 + - drm/amd/display: Force link_rate as LINK_RATE_RBR2 for 2018 15" Apple Retina + panels + - nvme-fabrics: fix state check in nvmf_ctlr_matches_baseopts() + - mm/debug_vm_pgtable: remove pte entry from the page table + - mm/pgtable: define pte_index so that preprocessor could recognize it + - mm/kmemleak: avoid scanning potential huge holes + - block: bio-integrity: Advance seed correctly for larger interval sizes + - dma-buf: heaps: Fix potential spectre v1 gadget + - IB/hfi1: Fix AIP early init panic + - Revert "fbcon: Disable accelerated scrolling" + - fbcon: Add option to enable legacy hardware acceleration + - mptcp: fix msk traversal in mptcp_nl_cmd_set_flags() + - Revert "ASoC: mediatek: Check for error clk pointer" + - KVM: arm64: Avoid consuming a stale esr value when SError occur + - KVM: arm64: Stop handle_exit() from handling HVC twice when an SError occurs + - RDMA/cma: Use correct address when leaving multicast group + - RDMA/ucma: Protect mc during concurrent multicast leaves + - RDMA/siw: Fix refcounting leak in siw_create_qp() + - IB/rdmavt: Validate remote_addr during loopback atomic tests + - RDMA/siw: Fix broken RDMA Read Fence/Resume logic. + - RDMA/mlx4: Don't continue event handler after memory allocation failure + - ALSA: usb-audio: initialize variables that could ignore errors + - ALSA: hda: Fix signedness of sscanf() arguments + - ALSA: hda: Skip codec shutdown in case the codec is not registered + - iommu/vt-d: Fix potential memory leak in intel_setup_irq_remapping() + - iommu/amd: Fix loop timeout issue in iommu_ga_log_enable() + - spi: bcm-qspi: check for valid cs before applying chip select + - spi: mediatek: Avoid NULL pointer crash in interrupt + - spi: meson-spicc: add IRQ check in meson_spicc_probe + - spi: uniphier: fix reference count leak in uniphier_spi_probe() + - IB/hfi1: Fix tstats alloc and dealloc + - IB/cm: Release previously acquired reference counter in the cm_id_priv + - net: ieee802154: hwsim: Ensure proper channel selection at probe time + - net: ieee802154: mcr20a: Fix lifs/sifs periods + - net: ieee802154: ca8210: Stop leaking skb's + - netfilter: nft_reject_bridge: Fix for missing reply from prerouting + - net: ieee802154: Return meaningful error codes from the netlink helpers + - net/smc: Forward wakeup to smc socket waitqueue after fallback + - net: stmmac: dwmac-visconti: No change to ETHER_CLOCK_SEL for unexpected + speed request. + - net: stmmac: properly handle with runtime pm in stmmac_dvr_remove() + - net: macsec: Fix offload support for NETDEV_UNREGISTER event + - net: macsec: Verify that send_sci is on when setting Tx sci explicitly + - net: stmmac: dump gmac4 DMA registers correctly + - net: stmmac: ensure PTP time register reads are consistent + - drm/kmb: Fix for build errors with Warray-bounds + - drm/i915/overlay: Prevent divide by zero bugs in scaling + - drm/amd: avoid suspend on dGPUs w/ s2idle support when runtime PM enabled + - ASoC: fsl: Add missing error handling in pcm030_fabric_probe + - ASoC: xilinx: xlnx_formatter_pcm: Make buffer bytes multiple of period bytes + - ASoC: simple-card: fix probe failure on platform component + - ASoC: cpcap: Check for NULL pointer after calling of_get_child_by_name + - ASoC: max9759: fix underflow in speaker_gain_control_put() + - ASoC: codecs: wcd938x: fix incorrect used of portid + - ASoC: codecs: lpass-rx-macro: fix sidetone register offsets + - ASoC: codecs: wcd938x: fix return value of mixer put function + - pinctrl: sunxi: Fix H616 I2S3 pin data + - pinctrl: intel: Fix a glitch when updating IRQ flags on a preconfigured line + - pinctrl: intel: fix unexpected interrupt + - pinctrl: bcm2835: Fix a few error paths + - scsi: bnx2fc: Make bnx2fc_recv_frame() mp safe + - nfsd: nfsd4_setclientid_confirm mistakenly expires confirmed client. + - gve: fix the wrong AdminQ buffer queue index check + - bpf: Use VM_MAP instead of VM_ALLOC for ringbuf + - selftests/exec: Remove pipe from TEST_GEN_FILES + - selftests: futex: Use variable MAKE instead of make + - tools/resolve_btfids: Do not print any commands when building silently + - e1000e: Separate ADP board type from TGP + - rtc: cmos: Evaluate century appropriate + - kvm: add guest_state_{enter,exit}_irqoff() + - kvm/arm64: rework guest entry logic + - perf: Copy perf_event_attr::sig_data on modification + - perf stat: Fix display of grouped aliased events + - perf/x86/intel/pt: Fix crash with stop filters in single-range mode + - x86/perf: Default set FREEZE_ON_SMI for all + - EDAC/altera: Fix deferred probing + - EDAC/xgene: Fix deferred probing + - ext4: prevent used blocks from being allocated during fast commit replay + - ext4: modify the logic of ext4_mb_new_blocks_simple + - ext4: fix error handling in ext4_restore_inline_data() + - ext4: fix error handling in ext4_fc_record_modified_inode() + - ext4: fix incorrect type issue during replay_del_range + - net: dsa: mt7530: make NET_DSA_MT7530 select MEDIATEK_GE_PHY + - cgroup/cpuset: Fix "suspicious RCU usage" lockdep warning + - tools include UAPI: Sync sound/asound.h copy with the kernel sources + - gpio: idt3243x: Fix an ignored error return from platform_get_irq() + - gpio: mpc8xxx: Fix an ignored error return from platform_get_irq() + - selftests: nft_concat_range: add test for reload with no element add/del + - selftests: netfilter: check stateless nat udp checksum fixup + - Linux 5.15.22 + - [Config] disable FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION + * Jammy update: v5.15.21 upstream stable release (LP: #1960515) + - Revert "drm/vc4: hdmi: Make sure the device is powered with CEC" + - Revert "drm/vc4: hdmi: Make sure the device is powered with CEC" again + - Linux 5.15.21 + * Jammy update: v5.15.20 upstream stable release (LP: #1960509) + - Revert "UBUNTU: SAUCE: Revert "e1000e: Add handshake with the CSME to + support S0ix"" + - Revert "UBUNTU: SAUCE: Revert "e1000e: Add polling mechanism to indicate + CSME DPG exit"" + - Revert "UBUNTU: SAUCE: Revert "e1000e: Additional PHY power saving in S0ix"" + - PCI: pciehp: Fix infinite loop in IRQ handler upon power fault + - selftests: mptcp: fix ipv6 routing setup + - net: ipa: use a bitmap for endpoint replenish_enabled + - net: ipa: prevent concurrent replenish + - drm/vc4: hdmi: Make sure the device is powered with CEC + - cgroup-v1: Require capabilities to set release_agent + - Revert "mm/gup: small refactoring: simplify try_grab_page()" + - ovl: don't fail copy up if no fileattr support on upper + - lockd: fix server crash on reboot of client holding lock + - lockd: fix failure to cleanup client locks + - net/mlx5e: IPsec: Fix tunnel mode crypto offload for non TCP/UDP traffic + - net/mlx5: Bridge, take rtnl lock in init error handler + - net/mlx5: Bridge, ensure dev_name is null-terminated + - net/mlx5e: Fix handling of wrong devices during bond netevent + - net/mlx5: Use del_timer_sync in fw reset flow of halting poll + - net/mlx5e: Fix module EEPROM query + - net/mlx5: Fix offloading with ESWITCH_IPV4_TTL_MODIFY_ENABLE + - net/mlx5e: Don't treat small ceil values as unlimited in HTB offload + - net/mlx5: Bridge, Fix devlink deadlock on net namespace deletion + - net/mlx5: E-Switch, Fix uninitialized variable modact + - ipheth: fix EOVERFLOW in ipheth_rcvbulk_callback + - i40e: Fix reset bw limit when DCB enabled with 1 TC + - i40e: Fix reset path while removing the driver + - net: amd-xgbe: ensure to reset the tx_timer_active flag + - net: amd-xgbe: Fix skb data length underflow + - fanotify: Fix stale file descriptor in copy_event_to_user() + - net: sched: fix use-after-free in tc_new_tfilter() + - rtnetlink: make sure to refresh master_dev/m_ops in __rtnl_newlink() + - cpuset: Fix the bug that subpart_cpus updated wrongly in update_cpumask() + - e1000e: Handshake with CSME starts from ADL platforms + - af_packet: fix data-race in packet_setsockopt / packet_setsockopt + - tcp: add missing tcp_skb_can_collapse() test in tcp_shift_skb_data() + - ovl: fix NULL pointer dereference in copy up warning + - Linux 5.15.20 + * Miscellaneous Ubuntu changes + - [Packaging] use default zstd compression + - [Packaging] do not use compression for image packages + - [Packaging] use xz compression for ddebs + - [Config] upgrade debug symbols from DWARF4 to DWARF5 + - SAUCE: Makefile: Remove inclusion of lbm header files + - SAUCE: Makefile: Fix compiler warnings + - SAUCE: AUFS + - SAUCE: aufs: switch to 64-bit ino_t for s390x + - [Config] set AUFS as disabled + - SAUCE: mt76: mt7921e: fix possible probe failure after reboot + - Remove ubuntu/hio driver + - SAUCE: ima_policy: fix test for empty rule set + - SAUCE: sfc: The size of the RX recycle ring should be more flexible + - [Config] MITIGATE_SPECTRE_BRANCH_HISTORY=y && HARDEN_BRANCH_HISTORY=y + * Miscellaneous upstream changes + - kbuild: Unify options for BTF generation for vmlinux and modules + - MAINTAINERS: Add scripts/pahole-flags.sh to BPF section + - kbuild: Add CONFIG_PAHOLE_VERSION + - scripts/pahole-flags.sh: Use pahole-version.sh + - lib/Kconfig.debug: Use CONFIG_PAHOLE_VERSION + - lib/Kconfig.debug: Allow BTF + DWARF5 with pahole 1.21+ + - x86/sched: Decrease further the priorities of SMT siblings + - sched/topology: Introduce sched_group::flags + - sched/fair: Optimize checking for group_asym_packing + - sched/fair: Provide update_sg_lb_stats() with sched domain statistics + - sched/fair: Carve out logic to mark a group for asymmetric packing + - sched/fair: Consider SMT in ASYM_PACKING load balance + - Revert "UBUNTU: [Config] x86-64: SYSFB_SIMPLEFB=y" + + -- Paolo Pisati Thu, 31 Mar 2022 17:47:52 +0200 + +linux-gcp (5.15.0-1002.5) jammy; urgency=medium + + * jammy/linux-gcp: 5.15.0-1002.5 -proposed tracker (LP: #1965077) + + * arm64 suport (LP: #1965075) + - [packaging] arm64 bringup + - [config] Import arm64 config from master and update-configs + - [packaging] update annotations for arm64 + + -- Khalid Elmously Tue, 15 Mar 2022 23:44:47 -0400 + +linux-gcp (5.15.0-1001.3) jammy; urgency=medium + + * jammy/linux-gcp: 5.15.0-1001.3 -proposed tracker (LP: #1960473) + + * Packaging resync (LP: #1786013) + - [Packaging] resync getabis + - [Packaging] update update.conf + + * Miscellaneous Ubuntu changes + - [oracle] jammy/gcp bring-up + - [packaging] Fix up annotations + - [config] gcp: Enable GCP-specific configs based on annotations + - [packaging] Override master annotations + + [ Ubuntu: 5.15.0-22.22 ] + + * jammy/linux: 5.15.0-22.22 -proposed tracker (LP: #1960290) + + [ Ubuntu: 5.15.0-21.21 ] + + * jammy/linux: 5.15.0-21.21 -proposed tracker (LP: #1960211) + * Miscellaneous Ubuntu changes + - [packaging] unhook lowlatency flavours from the build + + [ Ubuntu: 5.15.0-20.20 ] + + * jammy/linux: 5.15.0-20.20 -proposed tracker (LP: #1959881) + * Jammy update: v5.15.19 upstream stable release (LP: #1959879) + - can: m_can: m_can_fifo_{read,write}: don't read or write from/to FIFO if + length is 0 + - net: sfp: ignore disabled SFP node + - net: stmmac: configure PTP clock source prior to PTP initialization + - net: stmmac: skip only stmmac_ptp_register when resume from suspend + - ARM: 9179/1: uaccess: avoid alignment faults in + copy_[from|to]_kernel_nofault + - ARM: 9180/1: Thumb2: align ALT_UP() sections in modules sufficiently + - KVM: arm64: Use shadow SPSR_EL1 when injecting exceptions on !VHE + - s390/hypfs: include z/VM guests with access control group set + - s390/nmi: handle guarded storage validity failures for KVM guests + - s390/nmi: handle vector validity failures for KVM guests + - bpf: Guard against accessing NULL pt_regs in bpf_get_task_stack() + - powerpc32/bpf: Fix codegen for bpf-to-bpf calls + - powerpc/bpf: Update ldimm64 instructions during extra pass + - scsi: zfcp: Fix failed recovery on gone remote port with non-NPIV FCP + devices + - udf: Restore i_lenAlloc when inode expansion fails + - udf: Fix NULL ptr deref when converting from inline format + - efi: runtime: avoid EFIv2 runtime services on Apple x86 machines + - PM: wakeup: simplify the output logic of pm_show_wakelocks() + - tracing/histogram: Fix a potential memory leak for kstrdup() + - tracing: Don't inc err_log entry count if entry allocation fails + - ceph: properly put ceph_string reference after async create attempt + - ceph: set pool_ns in new inode layout for async creates + - fsnotify: fix fsnotify hooks in pseudo filesystems + - Revert "KVM: SVM: avoid infinite loop on NPF from bad address" + - psi: Fix uaf issue when psi trigger is destroyed while being polled + - powerpc/audit: Fix syscall_get_arch() + - perf/x86/intel/uncore: Fix CAS_COUNT_WRITE issue for ICX + - perf/x86/intel: Add a quirk for the calculation of the number of counters on + Alder Lake + - drm/etnaviv: relax submit size limits + - drm/atomic: Add the crtc to affected crtc only if uapi.enable = true + - drm/amd/display: Fix FP start/end for dcn30_internal_validate_bw. + - KVM: LAPIC: Also cancel preemption timer during SET_LAPIC + - KVM: SVM: Never reject emulation due to SMAP errata for !SEV guests + - KVM: SVM: Don't intercept #GP for SEV guests + - KVM: x86: nSVM: skip eax alignment check for non-SVM instructions + - KVM: x86: Forcibly leave nested virt when SMM state is toggled + - KVM: x86: Keep MSR_IA32_XSS unchanged for INIT + - KVM: x86: Update vCPU's runtime CPUID on write to MSR_IA32_XSS + - KVM: x86: Sync the states size with the XCR0/IA32_XSS at, any time + - KVM: PPC: Book3S HV Nested: Fix nested HFSCR being clobbered with multiple + vCPUs + - dm: revert partial fix for redundant bio-based IO accounting + - block: add bio_start_io_acct_time() to control start_time + - dm: properly fix redundant bio-based IO accounting + - serial: pl011: Fix incorrect rs485 RTS polarity on set_mctrl + - serial: 8250: of: Fix mapped region size when using reg-offset property + - serial: stm32: fix software flow control transfer + - tty: n_gsm: fix SW flow control encoding/handling + - tty: Partially revert the removal of the Cyclades public API + - tty: Add support for Brainboxes UC cards. + - kbuild: remove include/linux/cyclades.h from header file check + - usb-storage: Add unusual-devs entry for VL817 USB-SATA bridge + - usb: xhci-plat: fix crash when suspend if remote wake enable + - usb: common: ulpi: Fix crash in ulpi_match() + - usb: gadget: f_sourcesink: Fix isoc transfer for USB_SPEED_SUPER_PLUS + - usb: cdnsp: Fix segmentation fault in cdns_lost_power function + - usb: dwc3: xilinx: Skip resets and USB3 register settings for USB2.0 mode + - usb: dwc3: xilinx: Fix error handling when getting USB3 PHY + - USB: core: Fix hang in usb_kill_urb by adding memory barriers + - usb: typec: tcpci: don't touch CC line if it's Vconn source + - usb: typec: tcpm: Do not disconnect while receiving VBUS off + - usb: typec: tcpm: Do not disconnect when receiving VSAFE0V + - ucsi_ccg: Check DEV_INT bit only when starting CCG4 + - mm, kasan: use compare-exchange operation to set KASAN page tag + - jbd2: export jbd2_journal_[grab|put]_journal_head + - ocfs2: fix a deadlock when commit trans + - sched/membarrier: Fix membarrier-rseq fence command missing from query + bitmask + - PCI/sysfs: Find shadow ROM before static attribute initialization + - x86/MCE/AMD: Allow thresholding interface updates after init + - x86/cpu: Add Xeon Icelake-D to list of CPUs that support PPIN + - powerpc/32s: Allocate one 256k IBAT instead of two consecutives 128k IBATs + - powerpc/32s: Fix kasan_init_region() for KASAN + - powerpc/32: Fix boot failure with GCC latent entropy plugin + - i40e: Increase delay to 1 s after global EMP reset + - i40e: Fix issue when maximum queues is exceeded + - i40e: Fix queues reservation for XDP + - i40e: Fix for failed to init adminq while VF reset + - i40e: fix unsigned stat widths + - usb: roles: fix include/linux/usb/role.h compile issue + - rpmsg: char: Fix race between the release of rpmsg_ctrldev and cdev + - rpmsg: char: Fix race between the release of rpmsg_eptdev and cdev + - scsi: elx: efct: Don't use GFP_KERNEL under spin lock + - scsi: bnx2fc: Flush destroy_work queue before calling bnx2fc_interface_put() + - ipv6_tunnel: Rate limit warning messages + - ARM: 9170/1: fix panic when kasan and kprobe are enabled + - net: fix information leakage in /proc/net/ptype + - hwmon: (lm90) Mark alert as broken for MAX6646/6647/6649 + - hwmon: (lm90) Mark alert as broken for MAX6680 + - ping: fix the sk_bound_dev_if match in ping_lookup + - ipv4: avoid using shared IP generator for connected sockets + - hwmon: (lm90) Reduce maximum conversion rate for G781 + - NFSv4: Handle case where the lookup of a directory fails + - NFSv4: nfs_atomic_open() can race when looking up a non-regular file + - net-procfs: show net devices bound packet types + - drm/msm: Fix wrong size calculation + - drm/msm/dsi: Fix missing put_device() call in dsi_get_phy + - drm/msm/dsi: invalid parameter check in msm_dsi_phy_enable + - ipv6: annotate accesses to fn->fn_sernum + - NFS: Ensure the server has an up to date ctime before hardlinking + - NFS: Ensure the server has an up to date ctime before renaming + - KVM: arm64: pkvm: Use the mm_ops indirection for cache maintenance + - SUNRPC: Use BIT() macro in rpc_show_xprt_state() + - SUNRPC: Don't dereference xprt->snd_task if it's a cookie + - powerpc64/bpf: Limit 'ldbrx' to processors compliant with ISA v2.06 + - netfilter: conntrack: don't increment invalid counter on NF_REPEAT + - powerpc/64s: Mask SRR0 before checking against the masked NIP + - perf: Fix perf_event_read_local() time + - sched/pelt: Relax the sync of util_sum with util_avg + - net: phy: broadcom: hook up soft_reset for BCM54616S + - net: stmmac: dwmac-visconti: Fix bit definitions for ETHER_CLK_SEL + - net: stmmac: dwmac-visconti: Fix clock configuration for RMII mode + - phylib: fix potential use-after-free + - octeontx2-af: Do not fixup all VF action entries + - octeontx2-af: Fix LBK backpressure id count + - octeontx2-af: Retry until RVU block reset complete + - octeontx2-pf: cn10k: Ensure valid pointers are freed to aura + - octeontx2-af: verify CQ context updates + - octeontx2-af: Increase link credit restore polling timeout + - octeontx2-af: cn10k: Do not enable RPM loopback for LPC interfaces + - octeontx2-pf: Forward error codes to VF + - rxrpc: Adjust retransmission backoff + - efi/libstub: arm64: Fix image check alignment at entry + - io_uring: fix bug in slow unregistering of nodes + - Drivers: hv: balloon: account for vmbus packet header in max_pkt_size + - hwmon: (lm90) Re-enable interrupts after alert clears + - hwmon: (lm90) Mark alert as broken for MAX6654 + - hwmon: (lm90) Fix sysfs and udev notifications + - hwmon: (adt7470) Prevent divide by zero in adt7470_fan_write() + - powerpc/perf: Fix power_pmu_disable to call clear_pmi_irq_pending only if + PMI is pending + - ipv4: fix ip option filtering for locally generated fragments + - ibmvnic: Allow extra failures before disabling + - ibmvnic: init ->running_cap_crqs early + - ibmvnic: don't spin in tasklet + - net/smc: Transitional solution for clcsock race issue + - video: hyperv_fb: Fix validation of screen resolution + - can: tcan4x5x: regmap: fix max register value + - drm/msm/hdmi: Fix missing put_device() call in msm_hdmi_get_phy + - drm/msm/dpu: invalid parameter check in dpu_setup_dspp_pcc + - drm/msm/a6xx: Add missing suspend_count increment + - yam: fix a memory leak in yam_siocdevprivate() + - net: cpsw: Properly initialise struct page_pool_params + - net: hns3: handle empty unknown interrupt for VF + - sch_htb: Fail on unsupported parameters when offload is requested + - Revert "drm/ast: Support 1600x900 with 108MHz PCLK" + - KVM: selftests: Don't skip L2's VMCALL in SMM test for SVM guest + - ceph: put the requests/sessions when it fails to alloc memory + - gve: Fix GFP flags when allocing pages + - Revert "ipv6: Honor all IPv6 PIO Valid Lifetime values" + - net: bridge: vlan: fix single net device option dumping + - ipv4: raw: lock the socket in raw_bind() + - ipv4: tcp: send zero IPID in SYNACK messages + - ipv4: remove sparse error in ip_neigh_gw4() + - net: bridge: vlan: fix memory leak in __allowed_ingress + - Bluetooth: refactor malicious adv data check + - irqchip/realtek-rtl: Map control data to virq + - irqchip/realtek-rtl: Fix off-by-one in routing + - dt-bindings: can: tcan4x5x: fix mram-cfg RX FIFO config + - perf/core: Fix cgroup event list management + - psi: fix "no previous prototype" warnings when CONFIG_CGROUPS=n + - psi: fix "defined but not used" warnings when CONFIG_PROC_FS=n + - usb: dwc3: xilinx: fix uninitialized return value + - usr/include/Makefile: add linux/nfc.h to the compile-test coverage + - fsnotify: invalidate dcache before IN_DELETE event + - block: Fix wrong offset in bio_truncate() + - mtd: rawnand: mpc5121: Remove unused variable in ads5121_select_chip() + - Linux 5.15.19 + * Jammy update: v5.15.18 upstream stable release (LP: #1959878) + - drm/i915: Flush TLBs before releasing backing store + - drm/amd/display: reset dcn31 SMU mailbox on failures + - io_uring: fix not released cached task refs + - bnx2x: Utilize firmware 7.13.21.0 + - bnx2x: Invalidate fastpath HSI version for VFs + - memcg: flush stats only if updated + - memcg: unify memcg stat flushing + - memcg: better bounds on the memcg stats updates + - rcu: Tighten rcu_advance_cbs_nowake() checks + - select: Fix indefinitely sleeping task in poll_schedule_timeout() + - drm/amdgpu: Use correct VIEWPORT_DIMENSION for DCN2 + - arm64/bpf: Remove 128MB limit for BPF JIT programs + - Linux 5.15.18 + * CVE-2022-22942 + - SAUCE: drm/vmwgfx: Fix stale file descriptors on failed usercopy + * CVE-2022-24122 + - ucount: Make get_ucount a safe get_user replacement + * CVE-2022-23222 + - bpf, selftests: Add verifier test for mem_or_null register with offset. + * Miscellaneous Ubuntu changes + - [Config] toolchain version update + * Miscellaneous upstream changes + - s390/module: fix loading modules with a lot of relocations + + [ Ubuntu: 5.15.0-19.19 ] + + * jammy/linux: 5.15.0-19.19 -proposed tracker (LP: #1959418) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * Jammy update: v5.15.17 upstream stable release (LP: #1959376) + - KVM: x86/mmu: Fix write-protection of PTs mapped by the TDP MMU + - KVM: VMX: switch blocked_vcpu_on_cpu_lock to raw spinlock + - HID: Ignore battery for Elan touchscreen on HP Envy X360 15t-dr100 + - HID: uhid: Fix worker destroying device without any protection + - HID: wacom: Reset expected and received contact counts at the same time + - HID: wacom: Ignore the confidence flag when a touch is removed + - HID: wacom: Avoid using stale array indicies to read contact count + - ALSA: core: Fix SSID quirk lookup for subvendor=0 + - f2fs: fix to do sanity check on inode type during garbage collection + - f2fs: fix to do sanity check in is_alive() + - f2fs: avoid EINVAL by SBI_NEED_FSCK when pinning a file + - nfc: llcp: fix NULL error pointer dereference on sendmsg() after failed + bind() + - mtd: rawnand: gpmi: Add ERR007117 protection for nfc_apply_timings + - mtd: rawnand: gpmi: Remove explicit default gpmi clock setting for i.MX6 + - mtd: Fixed breaking list in __mtd_del_partition. + - mtd: rawnand: davinci: Don't calculate ECC when reading page + - mtd: rawnand: davinci: Avoid duplicated page read + - mtd: rawnand: davinci: Rewrite function description + - mtd: rawnand: Export nand_read_page_hwecc_oob_first() + - mtd: rawnand: ingenic: JZ4740 needs 'oob_first' read page function + - riscv: Get rid of MAXPHYSMEM configs + - RISC-V: Use common riscv_cpuid_to_hartid_mask() for both SMP=y and SMP=n + - riscv: try to allocate crashkern region from 32bit addressible memory + - riscv: Don't use va_pa_offset on kdump + - riscv: use hart id instead of cpu id on machine_kexec + - riscv: mm: fix wrong phys_ram_base value for RV64 + - x86/gpu: Reserve stolen memory for first integrated Intel GPU + - tools/nolibc: x86-64: Fix startup code bug + - crypto: x86/aesni - don't require alignment of data + - tools/nolibc: i386: fix initial stack alignment + - tools/nolibc: fix incorrect truncation of exit code + - rtc: cmos: take rtc_lock while reading from CMOS + - net: phy: marvell: add Marvell specific PHY loopback + - ksmbd: uninitialized variable in create_socket() + - ksmbd: fix guest connection failure with nautilus + - ksmbd: add support for smb2 max credit parameter + - ksmbd: move credit charge deduction under processing request + - ksmbd: limits exceeding the maximum allowable outstanding requests + - ksmbd: add reserved room in ipc request/response + - media: cec: fix a deadlock situation + - media: ov8865: Disable only enabled regulators on error path + - media: v4l2-ioctl.c: readbuffers depends on V4L2_CAP_READWRITE + - media: flexcop-usb: fix control-message timeouts + - media: mceusb: fix control-message timeouts + - media: em28xx: fix control-message timeouts + - media: cpia2: fix control-message timeouts + - media: s2255: fix control-message timeouts + - media: dib0700: fix undefined behavior in tuner shutdown + - media: redrat3: fix control-message timeouts + - media: pvrusb2: fix control-message timeouts + - media: stk1160: fix control-message timeouts + - media: cec-pin: fix interrupt en/disable handling + - can: softing_cs: softingcs_probe(): fix memleak on registration failure + - mei: hbm: fix client dma reply status + - iio: adc: ti-adc081c: Partial revert of removal of ACPI IDs + - iio: trigger: Fix a scheduling whilst atomic issue seen on tsc2046 + - lkdtm: Fix content of section containing lkdtm_rodata_do_nothing() + - bus: mhi: pci_generic: Graceful shutdown on freeze + - bus: mhi: core: Fix reading wake_capable channel configuration + - bus: mhi: core: Fix race while handling SYS_ERR at power up + - cxl/pmem: Fix reference counting for delayed work + - arm64: errata: Fix exec handling in erratum 1418040 workaround + - ARM: dts: at91: update alternate function of signal PD20 + - iommu/io-pgtable-arm-v7s: Add error handle for page table allocation failure + - gpu: host1x: Add back arm_iommu_detach_device() + - drm/tegra: Add back arm_iommu_detach_device() + - virtio/virtio_mem: handle a possible NULL as a memcpy parameter + - dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled() + - PCI: Add function 1 DMA alias quirk for Marvell 88SE9125 SATA controller + - mm_zone: add function to check if managed dma zone exists + - dma/pool: create dma atomic pool only if dma zone has managed pages + - mm/page_alloc.c: do not warn allocation failure on zone DMA if no managed + pages + - shmem: fix a race between shmem_unused_huge_shrink and shmem_evict_inode + - drm/ttm: Put BO in its memory manager's lru list + - Bluetooth: L2CAP: Fix not initializing sk_peer_pid + - drm/bridge: display-connector: fix an uninitialized pointer in probe() + - drm: fix null-ptr-deref in drm_dev_init_release() + - drm/panel: kingdisplay-kd097d04: Delete panel on attach() failure + - drm/panel: innolux-p079zca: Delete panel on attach() failure + - drm/rockchip: dsi: Fix unbalanced clock on probe error + - drm/rockchip: dsi: Hold pm-runtime across bind/unbind + - drm/rockchip: dsi: Disable PLL clock on bind error + - drm/rockchip: dsi: Reconfigure hardware on resume() + - Bluetooth: virtio_bt: fix memory leak in virtbt_rx_handle() + - Bluetooth: cmtp: fix possible panic when cmtp_init_sockets() fails + - clk: bcm-2835: Pick the closest clock rate + - clk: bcm-2835: Remove rounding up the dividers + - drm/vc4: hdmi: Set a default HSM rate + - drm/vc4: hdmi: Move the HSM clock enable to runtime_pm + - drm/vc4: hdmi: Make sure the controller is powered in detect + - drm/vc4: hdmi: Make sure the controller is powered up during bind + - drm/vc4: hdmi: Rework the pre_crtc_configure error handling + - drm/vc4: crtc: Make sure the HDMI controller is powered when disabling + - wcn36xx: ensure pairing of init_scan/finish_scan and start_scan/end_scan + - wcn36xx: Indicate beacon not connection loss on MISSED_BEACON_IND + - drm/vc4: hdmi: Enable the scrambler on reconnection + - libbpf: Free up resources used by inner map definition + - wcn36xx: Fix DMA channel enable/disable cycle + - wcn36xx: Release DMA channel descriptor allocations + - wcn36xx: Put DXE block into reset before freeing memory + - wcn36xx: populate band before determining rate on RX + - wcn36xx: fix RX BD rate mapping for 5GHz legacy rates + - ath11k: Send PPDU_STATS_CFG with proper pdev mask to firmware + - bpftool: Fix memory leak in prog_dump() + - mtd: hyperbus: rpc-if: Check return value of rpcif_sw_init() + - media: videobuf2: Fix the size printk format + - media: atomisp: add missing media_device_cleanup() in + atomisp_unregister_entities() + - media: atomisp: fix punit_ddr_dvfs_enable() argument for mrfld_power up case + - media: atomisp: fix inverted logic in buffers_needed() + - media: atomisp: do not use err var when checking port validity for ISP2400 + - media: atomisp: fix inverted error check for + ia_css_mipi_is_source_port_valid() + - media: atomisp: fix ifdefs in sh_css.c + - media: atomisp: add NULL check for asd obtained from atomisp_video_pipe + - media: atomisp: fix enum formats logic + - media: atomisp: fix uninitialized bug in gmin_get_pmic_id_and_addr() + - media: aspeed: fix mode-detect always time out at 2nd run + - media: em28xx: fix memory leak in em28xx_init_dev + - media: aspeed: Update signal status immediately to ensure sane hw state + - arm64: dts: amlogic: meson-g12: Fix GPU operating point table node name + - arm64: dts: amlogic: Fix SPI NOR flash node name for ODROID N2/N2+ + - arm64: dts: meson-gxbb-wetek: fix HDMI in early boot + - arm64: dts: meson-gxbb-wetek: fix missing GPIO binding + - fs: dlm: don't call kernel_getpeername() in error_report() + - memory: renesas-rpc-if: Return error in case devm_ioremap_resource() fails + - Bluetooth: stop proccessing malicious adv data + - ath11k: Fix ETSI regd with weather radar overlap + - ath11k: clear the keys properly via DISABLE_KEY + - ath11k: reset RSN/WPA present state for open BSS + - spi: hisi-kunpeng: Fix the debugfs directory name incorrect + - tee: fix put order in teedev_close_context() + - fs: dlm: fix build with CONFIG_IPV6 disabled + - drm/dp: Don't read back backlight mode in drm_edp_backlight_enable() + - drm/vboxvideo: fix a NULL vs IS_ERR() check + - arm64: dts: renesas: cat875: Add rx/tx delays + - media: dmxdev: fix UAF when dvb_register_device() fails + - crypto: atmel-aes - Reestablish the correct tfm context at dequeue + - crypto: qce - fix uaf on qce_aead_register_one + - crypto: qce - fix uaf on qce_ahash_register_one + - crypto: qce - fix uaf on qce_skcipher_register_one + - arm64: dts: qcom: sc7280: Fix incorrect clock name + - mtd: hyperbus: rpc-if: fix bug in rpcif_hb_remove + - cpufreq: qcom-cpufreq-hw: Update offline CPUs per-cpu thermal pressure + - cpufreq: qcom-hw: Fix probable nested interrupt handling + - ARM: dts: stm32: fix dtbs_check warning on ili9341 dts binding on stm32f429 + disco + - libbpf: Fix potential misaligned memory access in btf_ext__new() + - libbpf: Fix glob_syms memory leak in bpf_linker + - libbpf: Fix using invalidated memory in bpf_linker + - crypto: qat - remove unnecessary collision prevention step in PFVF + - crypto: qat - make pfvf send message direction agnostic + - crypto: qat - fix undetected PFVF timeout in ACK loop + - ath11k: Use host CE parameters for CE interrupts configuration + - arm64: dts: ti: k3-j721e: correct cache-sets info + - tty: serial: atmel: Check return code of dmaengine_submit() + - tty: serial: atmel: Call dma_async_issue_pending() + - mfd: atmel-flexcom: Remove #ifdef CONFIG_PM_SLEEP + - mfd: atmel-flexcom: Use .resume_noirq + - bfq: Do not let waker requests skip proper accounting + - libbpf: Silence uninitialized warning/error in btf_dump_dump_type_data + - media: i2c: imx274: fix s_frame_interval runtime resume not requested + - media: i2c: Re-order runtime pm initialisation + - media: i2c: ov8865: Fix lockdep error + - media: rcar-csi2: Correct the selection of hsfreqrange + - media: imx-pxp: Initialize the spinlock prior to using it + - media: si470x-i2c: fix possible memory leak in si470x_i2c_probe() + - media: mtk-vcodec: call v4l2_m2m_ctx_release first when file is released + - media: hantro: Hook up RK3399 JPEG encoder output + - media: coda: fix CODA960 JPEG encoder buffer overflow + - media: venus: correct low power frequency calculation for encoder + - media: venus: core: Fix a potential NULL pointer dereference in an error + handling path + - media: venus: core: Fix a resource leak in the error handling path of + 'venus_probe()' + - net: stmmac: Add platform level debug register dump feature + - thermal/drivers/imx: Implement runtime PM support + - igc: AF_XDP zero-copy metadata adjust breaks SKBs on XDP_PASS + - netfilter: bridge: add support for pppoe filtering + - powerpc: Avoid discarding flags in system_call_exception() + - arm64: dts: qcom: msm8916: fix MMC controller aliases + - drm/vmwgfx: Remove the deprecated lower mem limit + - drm/vmwgfx: Fail to initialize on broken configs + - cgroup: Trace event cgroup id fields should be u64 + - ACPI: EC: Rework flushing of EC work while suspended to idle + - thermal/drivers/imx8mm: Enable ADC when enabling monitor + - drm/amdgpu: Fix a NULL pointer dereference in + amdgpu_connector_lcd_native_mode() + - drm/radeon/radeon_kms: Fix a NULL pointer dereference in + radeon_driver_open_kms() + - libbpf: Clean gen_loader's attach kind. + - crypto: caam - save caam memory to support crypto engine retry mechanism. + - arm64: dts: ti: k3-am642: Fix the L2 cache sets + - arm64: dts: ti: k3-j7200: Fix the L2 cache sets + - arm64: dts: ti: k3-j721e: Fix the L2 cache sets + - arm64: dts: ti: k3-j7200: Correct the d-cache-sets info + - tty: serial: uartlite: allow 64 bit address + - serial: amba-pl011: do not request memory region twice + - mtd: core: provide unique name for nvmem device + - floppy: Fix hang in watchdog when disk is ejected + - staging: rtl8192e: return error code from rtllib_softmac_init() + - staging: rtl8192e: rtllib_module: fix error handle case in alloc_rtllib() + - Bluetooth: btmtksdio: fix resume failure + - bpf: Fix the test_task_vma selftest to support output shorter than 1 kB + - sched/fair: Fix detection of per-CPU kthreads waking a task + - sched/fair: Fix per-CPU kthread and wakee stacking for asym CPU capacity + - bpf: Adjust BTF log size limit. + - bpf: Disallow BPF_LOG_KERNEL log level for bpf(BPF_BTF_LOAD) + - bpf: Remove config check to enable bpf support for branch records + - arm64: clear_page() shouldn't use DC ZVA when DCZID_EL0.DZP == 1 + - arm64: mte: DC {GVA,GZVA} shouldn't be used when DCZID_EL0.DZP == 1 + - samples/bpf: Install libbpf headers when building + - samples/bpf: Clean up samples/bpf build failes + - samples: bpf: Fix xdp_sample_user.o linking with Clang + - samples: bpf: Fix 'unknown warning group' build warning on Clang + - media: dib8000: Fix a memleak in dib8000_init() + - media: saa7146: mxb: Fix a NULL pointer dereference in mxb_attach() + - media: si2157: Fix "warm" tuner state detection + - wireless: iwlwifi: Fix a double free in iwl_txq_dyn_alloc_dma + - sched/rt: Try to restart rt period timer when rt runtime exceeded + - ath10k: Fix the MTU size on QCA9377 SDIO + - Bluetooth: refactor set_exp_feature with a feature table + - Bluetooth: MGMT: Use hci_dev_test_and_{set,clear}_flag + - drm/amd/display: Fix bug in debugfs crc_win_update entry + - drm/msm/gpu: Don't allow zero fence_id + - drm/msm/dp: displayPort driver need algorithm rational + - rcu/exp: Mark current CPU as exp-QS in IPI loop second pass + - wcn36xx: Fix max channels retrieval + - drm/msm/dsi: fix initialization in the bonded DSI case + - mwifiex: Fix possible ABBA deadlock + - xfrm: fix a small bug in xfrm_sa_len() + - x86/uaccess: Move variable into switch case statement + - selftests: clone3: clone3: add case CLONE3_ARGS_NO_TEST + - selftests: harness: avoid false negatives if test has no ASSERTs + - crypto: stm32/cryp - fix CTR counter carry + - crypto: stm32/cryp - fix xts and race condition in crypto_engine requests + - crypto: stm32/cryp - check early input data + - crypto: stm32/cryp - fix double pm exit + - crypto: stm32/cryp - fix lrw chaining mode + - crypto: stm32/cryp - fix bugs and crash in tests + - crypto: stm32 - Revert broken pm_runtime_resume_and_get changes + - crypto: hisilicon/qm - fix incorrect return value of hisi_qm_resume() + - ath11k: Fix deleting uninitialized kernel timer during fragment cache flush + - spi: Fix incorrect cs_setup delay handling + - ARM: dts: gemini: NAS4220-B: fis-index-block with 128 KiB sectors + - perf/arm-cmn: Fix CPU hotplug unregistration + - media: dw2102: Fix use after free + - media: msi001: fix possible null-ptr-deref in msi001_probe() + - media: coda/imx-vdoa: Handle dma_set_coherent_mask error codes + - ath11k: Fix a NULL pointer dereference in ath11k_mac_op_hw_scan() + - net: dsa: hellcreek: Fix insertion of static FDB entries + - net: dsa: hellcreek: Add STP forwarding rule + - net: dsa: hellcreek: Allow PTP P2P measurements on blocked ports + - net: dsa: hellcreek: Add missing PTP via UDP rules + - arm64: dts: qcom: c630: Fix soundcard setup + - arm64: dts: qcom: ipq6018: Fix gpio-ranges property + - drm/msm/dpu: fix safe status debugfs file + - drm/bridge: ti-sn65dsi86: Set max register for regmap + - gpu: host1x: select CONFIG_DMA_SHARED_BUFFER + - drm/tegra: gr2d: Explicitly control module reset + - drm/tegra: vic: Fix DMA API misuse + - media: hantro: Fix probe func error path + - xfrm: interface with if_id 0 should return error + - xfrm: state and policy should fail if XFRMA_IF_ID 0 + - ARM: 9159/1: decompressor: Avoid UNPREDICTABLE NOP encoding + - usb: ftdi-elan: fix memory leak on device disconnect + - arm64: dts: marvell: cn9130: add GPIO and SPI aliases + - arm64: dts: marvell: cn9130: enable CP0 GPIO controllers + - ARM: dts: armada-38x: Add generic compatible to UART nodes + - mt76: mt7921: drop offload_flags overwritten + - wilc1000: fix double free error in probe() + - rtw88: add quirk to disable pci caps on HP 250 G7 Notebook PC + - iwlwifi: mvm: fix 32-bit build in FTM + - iwlwifi: mvm: test roc running status bits before removing the sta + - iwlwifi: mvm: perform 6GHz passive scan after suspend + - iwlwifi: mvm: set protected flag only for NDP ranging + - mmc: meson-mx-sdhc: add IRQ check + - mmc: meson-mx-sdio: add IRQ check + - block: fix error unwinding in device_add_disk + - selinux: fix potential memleak in selinux_add_opt() + - um: fix ndelay/udelay defines + - um: rename set_signals() to um_set_signals() + - um: virt-pci: Fix 32-bit compile + - lib/logic_iomem: Fix 32-bit build + - lib/logic_iomem: Fix operation on 32-bit + - um: virtio_uml: Fix time-travel external time propagation + - Bluetooth: L2CAP: Fix using wrong mode + - bpftool: Enable line buffering for stdout + - backlight: qcom-wled: Validate enabled string indices in DT + - backlight: qcom-wled: Pass number of elements to read to read_u32_array + - backlight: qcom-wled: Fix off-by-one maximum with default num_strings + - backlight: qcom-wled: Override default length with qcom,enabled-strings + - backlight: qcom-wled: Use cpu_to_le16 macro to perform conversion + - backlight: qcom-wled: Respect enabled-strings in set_brightness + - software node: fix wrong node passed to find nargs_prop + - Bluetooth: hci_qca: Stop IBS timer during BT OFF + - x86/boot/compressed: Move CLANG_FLAGS to beginning of KBUILD_CFLAGS + - crypto: octeontx2 - prevent underflow in get_cores_bmap() + - regulator: qcom-labibb: OCP interrupts are not a failure while disabled + - hwmon: (mr75203) fix wrong power-up delay value + - x86/mce/inject: Avoid out-of-bounds write when setting flags + - io_uring: remove double poll on poll update + - serial: 8250_bcm7271: Propagate error codes from brcmuart_probe() + - ACPI: scan: Create platform device for BCM4752 and LNV4752 ACPI nodes + - pcmcia: rsrc_nonstatic: Fix a NULL pointer dereference in + __nonstatic_find_io_region() + - pcmcia: rsrc_nonstatic: Fix a NULL pointer dereference in + nonstatic_find_mem_region() + - power: reset: mt6397: Check for null res pointer + - net/xfrm: IPsec tunnel mode fix inner_ipproto setting in sec_path + - net: ethernet: mtk_eth_soc: fix return values and refactor MDIO ops + - net: dsa: fix incorrect function pointer check for MRP ring roles + - netfilter: ipt_CLUSTERIP: fix refcount leak in clusterip_tg_check() + - bpf, sockmap: Fix return codes from tcp_bpf_recvmsg_parser() + - bpf, sockmap: Fix double bpf_prog_put on error case in map_link + - bpf: Don't promote bogus looking registers after null check. + - bpf: Fix verifier support for validation of async callbacks + - bpf: Fix SO_RCVBUF/SO_SNDBUF handling in _bpf_setsockopt(). + - netfilter: nft_payload: do not update layer 4 checksum when mangling + fragments + - netfilter: nft_set_pipapo: allocate pcpu scratch maps on clone + - net: fix SOF_TIMESTAMPING_BIND_PHC to work with multiple sockets + - ppp: ensure minimum packet size in ppp_write() + - rocker: fix a sleeping in atomic bug + - staging: greybus: audio: Check null pointer + - fsl/fman: Check for null pointer after calling devm_ioremap + - Bluetooth: hci_bcm: Check for error irq + - Bluetooth: hci_qca: Fix NULL vs IS_ERR_OR_NULL check in qca_serdev_probe + - net/smc: Reset conn->lgr when link group registration fails + - usb: dwc3: qcom: Fix NULL vs IS_ERR checking in dwc3_qcom_probe + - usb: dwc2: do not gate off the hardware if it does not support clock gating + - usb: dwc2: gadget: initialize max_speed from params + - usb: gadget: u_audio: Subdevice 0 for capture ctls + - HID: hid-uclogic-params: Invalid parameter check in uclogic_params_init + - HID: hid-uclogic-params: Invalid parameter check in + uclogic_params_get_str_desc + - HID: hid-uclogic-params: Invalid parameter check in + uclogic_params_huion_init + - HID: hid-uclogic-params: Invalid parameter check in + uclogic_params_frame_init_v1_buttonpad + - debugfs: lockdown: Allow reading debugfs files that are not world readable + - drivers/firmware: Add missing platform_device_put() in sysfb_create_simplefb + - serial: liteuart: fix MODULE_ALIAS + - serial: stm32: move tx dma terminate DMA to shutdown + - x86, sched: Fix undefined reference to init_freq_invariance_cppc() build + error + - net/mlx5e: Fix page DMA map/unmap attributes + - net/mlx5e: Fix wrong usage of fib_info_nh when routes with nexthop objects + are used + - net/mlx5e: Don't block routes with nexthop objects in SW + - Revert "net/mlx5e: Block offload of outer header csum for UDP tunnels" + - Revert "net/mlx5e: Block offload of outer header csum for GRE tunnel" + - net/mlx5e: Fix matching on modified inner ip_ecn bits + - net/mlx5: Fix access to sf_dev_table on allocation failure + - net/mlx5e: Sync VXLAN udp ports during uplink representor profile change + - net/mlx5: Set command entry semaphore up once got index free + - lib/mpi: Add the return value check of kcalloc() + - Bluetooth: L2CAP: uninitialized variables in l2cap_sock_setsockopt() + - mptcp: fix per socket endpoint accounting + - mptcp: fix opt size when sending DSS + MP_FAIL + - mptcp: fix a DSS option writing error + - spi: spi-meson-spifc: Add missing pm_runtime_disable() in meson_spifc_probe + - octeontx2-af: Increment ptp refcount before use + - ax25: uninitialized variable in ax25_setsockopt() + - netrom: fix api breakage in nr_setsockopt() + - regmap: Call regmap_debugfs_exit() prior to _init() + - net: mscc: ocelot: fix incorrect balancing with down LAG ports + - can: mcp251xfd: add missing newline to printed strings + - tpm: add request_locality before write TPM_INT_ENABLE + - tpm_tis: Fix an error handling path in 'tpm_tis_core_init()' + - can: softing: softing_startstop(): fix set but not used variable warning + - can: xilinx_can: xcan_probe(): check for error irq + - can: rcar_canfd: rcar_canfd_channel_probe(): make sure we free CAN network + device + - pcmcia: fix setting of kthread task states + - net/sched: flow_dissector: Fix matching on zone id for invalid conns + - net: openvswitch: Fix matching zone id for invalid conns arriving from tc + - net: openvswitch: Fix ct_state nat flags for conns arriving from tc + - iwlwifi: mvm: Use div_s64 instead of do_div in iwl_mvm_ftm_rtt_smoothing() + - bnxt_en: Refactor coredump functions + - bnxt_en: move coredump functions into dedicated file + - bnxt_en: use firmware provided max timeout for messages + - net: mcs7830: handle usb read errors properly + - ext4: avoid trim error on fs with small groups + - ASoC: Intel: sof_sdw: fix jack detection on HP Spectre x360 convertible + - ALSA: jack: Add missing rwsem around snd_ctl_remove() calls + - ALSA: PCM: Add missing rwsem around snd_ctl_remove() calls + - ALSA: hda: Add missing rwsem around snd_ctl_remove() calls + - ALSA: hda: Fix potential deadlock at codec unbinding + - RDMA/bnxt_re: Scan the whole bitmap when checking if "disabling RCFW with + pending cmd-bit" + - RDMA/hns: Validate the pkey index + - scsi: pm80xx: Update WARN_ON check in pm8001_mpi_build_cmd() + - clk: renesas: rzg2l: Check return value of pm_genpd_init() + - clk: renesas: rzg2l: propagate return value of_genpd_add_provider_simple() + - clk: imx8mn: Fix imx8mn_clko1_sels + - powerpc/prom_init: Fix improper check of prom_getprop() + - ASoC: uniphier: drop selecting non-existing SND_SOC_UNIPHIER_AIO_DMA + - ASoC: codecs: wcd938x: add SND_SOC_WCD938_SDW to codec list instead + - RDMA/rtrs-clt: Fix the initial value of min_latency + - ALSA: hda: Make proper use of timecounter + - dt-bindings: thermal: Fix definition of cooling-maps contribution property + - powerpc/perf: Fix PMU callbacks to clear pending PMI before resetting an + overflown PMC + - powerpc/modules: Don't WARN on first module allocation attempt + - powerpc/32s: Fix shift-out-of-bounds in KASAN init + - clocksource: Avoid accidental unstable marking of clocksources + - ALSA: oss: fix compile error when OSS_DEBUG is enabled + - ALSA: usb-audio: Drop superfluous '0' in Presonus Studio 1810c's ID + - misc: at25: Make driver OF independent again + - char/mwave: Adjust io port register size + - binder: fix handling of error during copy + - binder: avoid potential data leakage when copying txn + - openrisc: Add clone3 ABI wrapper + - iommu: Extend mutex lock scope in iommu_probe_device() + - iommu/io-pgtable-arm: Fix table descriptor paddr formatting + - scsi: core: Fix scsi_device_max_queue_depth() + - scsi: ufs: Fix race conditions related to driver data + - RDMA/qedr: Fix reporting max_{send/recv}_wr attrs + - PCI/MSI: Fix pci_irq_vector()/pci_irq_get_affinity() + - powerpc/powermac: Add additional missing lockdep_register_key() + - iommu/arm-smmu-qcom: Fix TTBR0 read + - RDMA/core: Let ib_find_gid() continue search even after empty entry + - RDMA/cma: Let cma_resolve_ib_dev() continue search even after empty entry + - ASoC: rt5663: Handle device_property_read_u32_array error codes + - of: unittest: fix warning on PowerPC frame size warning + - of: unittest: 64 bit dma address test requires arch support + - clk: stm32: Fix ltdc's clock turn off by clk_disable_unused() after system + enter shell + - mips: add SYS_HAS_CPU_MIPS64_R5 config for MIPS Release 5 support + - mips: fix Kconfig reference to PHYS_ADDR_T_64BIT + - dmaengine: pxa/mmp: stop referencing config->slave_id + - iommu/amd: Restore GA log/tail pointer on host resume + - iommu/amd: X2apic mode: re-enable after resume + - iommu/amd: X2apic mode: setup the INTX registers on mask/unmask + - iommu/amd: X2apic mode: mask/unmask interrupts on suspend/resume + - iommu/amd: Remove useless irq affinity notifier + - ASoC: Intel: catpt: Test dmaengine_submit() result before moving on + - iommu/iova: Fix race between FQ timeout and teardown + - ASoC: mediatek: mt8195: correct default value + - of: fdt: Aggregate the processing of "linux,usable-memory-range" + - efi: apply memblock cap after memblock_add() + - scsi: block: pm: Always set request queue runtime active in + blk_post_runtime_resume() + - phy: uniphier-usb3ss: fix unintended writing zeros to PHY register + - ASoC: mediatek: Check for error clk pointer + - powerpc/64s: Mask NIP before checking against SRR0 + - powerpc/64s: Use EMIT_WARN_ENTRY for SRR debug warnings + - phy: cadence: Sierra: Fix to get correct parent for mux clocks + - ASoC: samsung: idma: Check of ioremap return value + - misc: lattice-ecp3-config: Fix task hung when firmware load failed + - ASoC: mediatek: mt8195: correct pcmif BE dai control flow + - arm64: tegra: Remove non existent Tegra194 reset + - mips: lantiq: add support for clk_set_parent() + - mips: bcm63xx: add support for clk_set_parent() + - powerpc/xive: Add missing null check after calling kmalloc + - ASoC: fsl_mqs: fix MODULE_ALIAS + - ALSA: hda/cs8409: Increase delay during jack detection + - ALSA: hda/cs8409: Fix Jack detection after resume + - RDMA/cxgb4: Set queue pair state when being queried + - clk: qcom: gcc-sc7280: Mark gcc_cfg_noc_lpass_clk always enabled + - ASoC: imx-card: Need special setting for ak4497 on i.MX8MQ + - ASoC: imx-card: Fix mclk calculation issue for akcodec + - ASoC: imx-card: improve the sound quality for low rate + - ASoC: fsl_asrc: refine the check of available clock divider + - clk: bm1880: remove kfrees on static allocations + - of: base: Fix phandle argument length mismatch error message + - of/fdt: Don't worry about non-memory region overlap for no-map + - MIPS: boot/compressed/: add __ashldi3 to target for ZSTD compression + - MIPS: compressed: Fix build with ZSTD compression + - mailbox: fix gce_num of mt8192 driver data + - ARM: dts: omap3-n900: Fix lp5523 for multi color + - leds: lp55xx: initialise output direction from dts + - Bluetooth: Fix debugfs entry leak in hci_register_dev() + - Bluetooth: Fix memory leak of hci device + - drm/panel: Delete panel on mipi_dsi_attach() failure + - Bluetooth: Fix removing adv when processing cmd complete + - fs: dlm: filter user dlm messages for kernel locks + - drm/lima: fix warning when CONFIG_DEBUG_SG=y & CONFIG_DMA_API_DEBUG=y + - selftests/bpf: Fix memory leaks in btf_type_c_dump() helper + - selftests/bpf: Destroy XDP link correctly + - selftests/bpf: Fix bpf_object leak in skb_ctx selftest + - ar5523: Fix null-ptr-deref with unexpected WDCMSG_TARGET_START reply + - drm/bridge: dw-hdmi: handle ELD when DRM_BRIDGE_ATTACH_NO_CONNECTOR + - drm/nouveau/pmu/gm200-: avoid touching PMU outside of DEVINIT/PREOS/ACR + - media: atomisp: fix try_fmt logic + - media: atomisp: set per-device's default mode + - media: atomisp-ov2680: Fix ov2680_set_fmt() clobbering the exposure + - media: atomisp: check before deference asd variable + - ARM: shmobile: rcar-gen2: Add missing of_node_put() + - batman-adv: allow netlink usage in unprivileged containers + - media: atomisp: handle errors at sh_css_create_isp_params() + - ath11k: Fix crash caused by uninitialized TX ring + - usb: dwc3: meson-g12a: fix shared reset control use + - USB: ehci_brcm_hub_control: Improve port index sanitizing + - usb: gadget: f_fs: Use stream_open() for endpoint files + - psi: Fix PSI_MEM_FULL state when tasks are in memstall and doing reclaim + - drm: panel-orientation-quirks: Add quirk for the Lenovo Yoga Book X91F/L + - HID: magicmouse: Report battery level over USB + - HID: apple: Do not reset quirks when the Fn key is not found + - media: b2c2: Add missing check in flexcop_pci_isr: + - libbpf: Accommodate DWARF/compiler bug with duplicated structs + - ethernet: renesas: Use div64_ul instead of do_div + - EDAC/synopsys: Use the quirk for version instead of ddr version + - arm64: dts: qcom: sm8350: Shorten camera-thermal-bottom name + - soc: imx: gpcv2: Synchronously suspend MIX domains + - ARM: imx: rename DEBUG_IMX21_IMX27_UART to DEBUG_IMX27_UART + - drm/amd/display: check top_pipe_to_program pointer + - drm/amdgpu/display: set vblank_disable_immediate for DC + - soc: ti: pruss: fix referenced node in error message + - mlxsw: pci: Add shutdown method in PCI driver + - drm/amd/display: add else to avoid double destroy clk_mgr + - drm/bridge: megachips: Ensure both bridges are probed before registration + - mxser: keep only !tty test in ISR + - tty: serial: imx: disable UCR4_OREN in .stop_rx() instead of .shutdown() + - gpiolib: acpi: Do not set the IRQ type if the IRQ is already in use + - HSI: core: Fix return freed object in hsi_new_client + - crypto: jitter - consider 32 LSB for APT + - mwifiex: Fix skb_over_panic in mwifiex_usb_recv() + - rsi: Fix use-after-free in rsi_rx_done_handler() + - rsi: Fix out-of-bounds read in rsi_read_pkt() + - ath11k: Avoid NULL ptr access during mgmt tx cleanup + - media: venus: avoid calling core_clk_setrate() concurrently during + concurrent video sessions + - regulator: da9121: Prevent current limit change when enabled + - drm/vmwgfx: Release ttm memory if probe fails + - drm/vmwgfx: Introduce a new placement for MOB page tables + - ACPI / x86: Drop PWM2 device on Lenovo Yoga Book from always present table + - ACPI: Change acpi_device_always_present() into acpi_device_override_status() + - ACPI / x86: Allow specifying acpi_device_override_status() quirks by path + - ACPI / x86: Add not-present quirk for the PCI0.SDHB.BRC1 device on the GPD + win + - arm64: dts: ti: j7200-main: Fix 'dtbs_check' serdes_ln_ctrl node + - arm64: dts: ti: j721e-main: Fix 'dtbs_check' in serdes_ln_ctrl node + - usb: uhci: add aspeed ast2600 uhci support + - floppy: Add max size check for user space request + - x86/mm: Flush global TLB when switching to trampoline page-table + - drm: rcar-du: Fix CRTC timings when CMM is used + - media: uvcvideo: Increase UVC_CTRL_CONTROL_TIMEOUT to 5 seconds. + - media: rcar-vin: Update format alignment constraints + - media: saa7146: hexium_orion: Fix a NULL pointer dereference in + hexium_attach() + - media: atomisp: fix "variable dereferenced before check 'asd'" + - media: m920x: don't use stack on USB reads + - thunderbolt: Runtime PM activate both ends of the device link + - arm64: dts: renesas: Fix thermal bindings + - iwlwifi: mvm: synchronize with FW after multicast commands + - iwlwifi: mvm: avoid clearing a just saved session protection id + - rcutorture: Avoid soft lockup during cpu stall + - ath11k: avoid deadlock by change ieee80211_queue_work for regd_update_work + - ath10k: Fix tx hanging + - net-sysfs: update the queue counts in the unregistration path + - net: phy: prefer 1000baseT over 1000baseKX + - gpio: aspeed: Convert aspeed_gpio.lock to raw_spinlock + - gpio: aspeed-sgpio: Convert aspeed_sgpio.lock to raw_spinlock + - selftests/ftrace: make kprobe profile testcase description unique + - ath11k: Avoid false DEADLOCK warning reported by lockdep + - ARM: dts: qcom: sdx55: fix IPA interconnect definitions + - x86/mce: Allow instrumentation during task work queueing + - x86/mce: Mark mce_panic() noinstr + - x86/mce: Mark mce_end() noinstr + - x86/mce: Mark mce_read_aux() noinstr + - net: bonding: debug: avoid printing debug logs when bond is not notifying + peers + - kunit: Don't crash if no parameters are generated + - bpf: Do not WARN in bpf_warn_invalid_xdp_action() + - drm/amdkfd: Fix error handling in svm_range_add + - HID: quirks: Allow inverting the absolute X/Y values + - HID: i2c-hid-of: Expose the touchscreen-inverted properties + - media: igorplugusb: receiver overflow should be reported + - media: rockchip: rkisp1: use device name for debugfs subdir name + - media: saa7146: hexium_gemini: Fix a NULL pointer dereference in + hexium_attach() + - mmc: tmio: reinit card irqs in reset routine + - mmc: core: Fixup storing of OCR for MMC_QUIRK_NONSTD_SDIO + - drm/amd/amdgpu: fix psp tmr bo pin count leak in SRIOV + - drm/amd/amdgpu: fix gmc bo pin count leak in SRIOV + - audit: ensure userspace is penalized the same as the kernel when under + pressure + - arm64: dts: ls1028a-qds: move rtc node to the correct i2c bus + - arm64: tegra: Adjust length of CCPLEX cluster MMIO region + - crypto: ccp - Move SEV_INIT retry for corrupted data + - crypto: hisilicon/hpre - fix memory leak in hpre_curve25519_src_init() + - PM: runtime: Add safety net to supplier device release + - cpufreq: Fix initialization of min and max frequency QoS requests + - mt76: mt7615: fix possible deadlock while mt7615_register_ext_phy() + - mt76: do not pass the received frame with decryption error + - mt76: mt7615: improve wmm index allocation + - ath9k_htc: fix NULL pointer dereference at ath9k_htc_rxep() + - ath9k_htc: fix NULL pointer dereference at ath9k_htc_tx_get_packet() + - ath9k: Fix out-of-bound memcpy in ath9k_hif_usb_rx_stream + - rtw88: 8822c: update rx settings to prevent potential hw deadlock + - PM: AVS: qcom-cpr: Use div64_ul instead of do_div + - iwlwifi: fix leaks/bad data after failed firmware load + - iwlwifi: remove module loading failure message + - iwlwifi: mvm: Fix calculation of frame length + - iwlwifi: mvm: fix AUX ROC removal + - iwlwifi: pcie: make sure prph_info is set when treating wakeup IRQ + - mmc: sdhci-pci-gli: GL9755: Support for CD/WP inversion on OF platforms + - block: check minor range in device_add_disk() + - um: registers: Rename function names to avoid conflicts and build problems + - ath11k: Fix napi related hang + - Bluetooth: btintel: Add missing quirks and msft ext for legacy bootloader + - Bluetooth: vhci: Set HCI_QUIRK_VALID_LE_STATES + - xfrm: rate limit SA mapping change message to user space + - drm/etnaviv: consider completed fence seqno in hang check + - jffs2: GC deadlock reading a page that is used in jffs2_write_begin() + - ACPICA: actypes.h: Expand the ACPI_ACCESS_ definitions + - ACPICA: Utilities: Avoid deleting the same object twice in a row + - ACPICA: Executer: Fix the REFCLASS_REFOF case in acpi_ex_opcode_1A_0T_1R() + - ACPICA: Fix wrong interpretation of PCC address + - ACPICA: Hardware: Do not flush CPU cache when entering S4 and S5 + - mmc: mtk-sd: Use readl_poll_timeout instead of open-coded polling + - drm/amdgpu: fixup bad vram size on gmc v8 + - amdgpu/pm: Make sysfs pm attributes as read-only for VFs + - ACPI: battery: Add the ThinkPad "Not Charging" quirk + - ACPI: CPPC: Check present CPUs for determining _CPC is valid + - btrfs: remove BUG_ON() in find_parent_nodes() + - btrfs: remove BUG_ON(!eie) in find_parent_nodes + - net: mdio: Demote probed message to debug print + - mac80211: allow non-standard VHT MCS-10/11 + - dm btree: add a defensive bounds check to insert_at() + - dm space map common: add bounds check to sm_ll_lookup_bitmap() + - bpf/selftests: Fix namespace mount setup in tc_redirect + - mlxsw: pci: Avoid flow control for EMAD packets + - net: phy: marvell: configure RGMII delays for 88E1118 + - net: gemini: allow any RGMII interface mode + - regulator: qcom_smd: Align probe function with rpmh-regulator + - serial: pl010: Drop CR register reset on set_termios + - serial: pl011: Drop CR register reset on set_termios + - serial: core: Keep mctrl register state and cached copy in sync + - random: do not throw away excess input to crng_fast_load + - net/mlx5: Update log_max_qp value to FW max capability + - net/mlx5e: Unblock setting vid 0 for VF in case PF isn't eswitch manager + - parisc: Avoid calling faulthandler_disabled() twice + - can: flexcan: allow to change quirks at runtime + - can: flexcan: rename RX modes + - can: flexcan: add more quirks to describe RX path capabilities + - x86/kbuild: Enable CONFIG_KALLSYMS_ALL=y in the defconfigs + - powerpc/6xx: add missing of_node_put + - powerpc/powernv: add missing of_node_put + - powerpc/cell: add missing of_node_put + - powerpc/btext: add missing of_node_put + - powerpc/watchdog: Fix missed watchdog reset due to memory ordering race + - ASoC: imx-hdmi: add put_device() after of_find_device_by_node() + - i2c: i801: Don't silently correct invalid transfer size + - powerpc/smp: Move setup_profiling_timer() under CONFIG_PROFILING + - i2c: mpc: Correct I2C reset procedure + - clk: meson: gxbb: Fix the SDM_EN bit for MPLL0 on GXBB + - powerpc/powermac: Add missing lockdep_register_key() + - KVM: PPC: Book3S: Suppress warnings when allocating too big memory slots + - KVM: PPC: Book3S: Suppress failed alloc warning in H_COPY_TOFROM_GUEST + - w1: Misuse of get_user()/put_user() reported by sparse + - nvmem: core: set size for sysfs bin file + - dm: fix alloc_dax error handling in alloc_dev + - interconnect: qcom: rpm: Prevent integer overflow in rate + - scsi: ufs: Fix a kernel crash during shutdown + - scsi: lpfc: Fix leaked lpfc_dmabuf mbox allocations with NPIV + - scsi: lpfc: Trigger SLI4 firmware dump before doing driver cleanup + - ALSA: seq: Set upper limit of processed events + - MIPS: Loongson64: Use three arguments for slti + - powerpc/40x: Map 32Mbytes of memory at startup + - selftests/powerpc/spectre_v2: Return skip code when miss_percent is high + - powerpc: handle kdump appropriately with crash_kexec_post_notifiers option + - powerpc/fadump: Fix inaccurate CPU state info in vmcore generated with panic + - udf: Fix error handling in udf_new_inode() + - MIPS: OCTEON: add put_device() after of_find_device_by_node() + - irqchip/gic-v4: Disable redistributors' view of the VPE table at boot time + - i2c: designware-pci: Fix to change data types of hcnt and lcnt parameters + - selftests/powerpc: Add a test of sigreturning to the kernel + - MIPS: Octeon: Fix build errors using clang + - scsi: sr: Don't use GFP_DMA + - scsi: mpi3mr: Fixes around reply request queues + - ASoC: mediatek: mt8192-mt6359: fix device_node leak + - phy: phy-mtk-tphy: add support efuse setting + - ASoC: mediatek: mt8173: fix device_node leak + - ASoC: mediatek: mt8183: fix device_node leak + - habanalabs: skip read fw errors if dynamic descriptor invalid + - phy: mediatek: Fix missing check in mtk_mipi_tx_probe + - mailbox: change mailbox-mpfs compatible string + - seg6: export get_srh() for ICMP handling + - icmp: ICMPV6: Examine invoking packet for Segment Route Headers. + - udp6: Use Segment Routing Header for dest address if present + - rpmsg: core: Clean up resources on announce_create failure. + - ifcvf/vDPA: fix misuse virtio-net device config size for blk dev + - crypto: omap-aes - Fix broken pm_runtime_and_get() usage + - crypto: stm32/crc32 - Fix kernel BUG triggered in probe() + - crypto: caam - replace this_cpu_ptr with raw_cpu_ptr + - ubifs: Error path in ubifs_remount_rw() seems to wrongly free write buffers + - tpm: fix potential NULL pointer access in tpm_del_char_device + - tpm: fix NPE on probe for missing device + - mfd: tps65910: Set PWR_OFF bit during driver probe + - spi: uniphier: Fix a bug that doesn't point to private data correctly + - xen/gntdev: fix unmap notification order + - md: Move alloc/free acct bioset in to personality + - HID: magicmouse: Fix an error handling path in magicmouse_probe() + - fuse: Pass correct lend value to filemap_write_and_wait_range() + - serial: Fix incorrect rs485 polarity on uart open + - cputime, cpuacct: Include guest time in user time in cpuacct.stat + - sched/cpuacct: Fix user/system in shown cpuacct.usage* + - tracing/kprobes: 'nmissed' not showed correctly for kretprobe + - tracing: Have syscall trace events use trace_event_buffer_lock_reserve() + - remoteproc: imx_rproc: Fix a resource leak in the remove function + - iwlwifi: mvm: Increase the scan timeout guard to 30 seconds + - s390/mm: fix 2KB pgtable release race + - device property: Fix fwnode_graph_devcon_match() fwnode leak + - drm/tegra: submit: Add missing pm_runtime_mark_last_busy() + - drm/etnaviv: limit submit sizes + - drm/amd/display: Fix the uninitialized variable in enable_stream_features() + - drm/nouveau/kms/nv04: use vzalloc for nv04_display + - drm/bridge: analogix_dp: Make PSR-exit block less + - parisc: Fix lpa and lpa_user defines + - powerpc/64s/radix: Fix huge vmap false positive + - scsi: lpfc: Fix lpfc_force_rscn ndlp kref imbalance + - drm/amdgpu: don't do resets on APUs which don't support it + - drm/i915/display/ehl: Update voltage swing table + - PCI: xgene: Fix IB window setup + - PCI: pciehp: Use down_read/write_nested(reset_lock) to fix lockdep errors + - PCI: pci-bridge-emul: Make expansion ROM Base Address register read-only + - PCI: pci-bridge-emul: Properly mark reserved PCIe bits in PCI config space + - PCI: pci-bridge-emul: Fix definitions of reserved bits + - PCI: pci-bridge-emul: Correctly set PCIe capabilities + - PCI: pci-bridge-emul: Set PCI_STATUS_CAP_LIST for PCIe device + - xfrm: fix policy lookup for ipv6 gre packets + - xfrm: fix dflt policy check when there is no policy configured + - btrfs: fix deadlock between quota enable and other quota operations + - btrfs: check the root node for uptodate before returning it + - btrfs: respect the max size in the header when activating swap file + - ext4: make sure to reset inode lockdep class when quota enabling fails + - ext4: make sure quota gets properly shutdown on error + - ext4: fix a possible ABBA deadlock due to busy PA + - ext4: initialize err_blk before calling __ext4_get_inode_loc + - ext4: fix fast commit may miss tracking range for FALLOC_FL_ZERO_RANGE + - ext4: set csum seed in tmp inode while migrating to extents + - ext4: Fix BUG_ON in ext4_bread when write quota data + - ext4: use ext4_ext_remove_space() for fast commit replay delete range + - ext4: fast commit may miss tracking unwritten range during ftruncate + - ext4: destroy ext4_fc_dentry_cachep kmemcache on module removal + - ext4: fix null-ptr-deref in '__ext4_journal_ensure_credits' + - ext4: fix an use-after-free issue about data=journal writeback mode + - ext4: don't use the orphan list when migrating an inode + - tracing/osnoise: Properly unhook events if start_per_cpu_kthreads() fails + - ath11k: qmi: avoid error messages when dma allocation fails + - drm/radeon: fix error handling in radeon_driver_open_kms + - of: base: Improve argument length mismatch error + - firmware: Update Kconfig help text for Google firmware + - can: mcp251xfd: mcp251xfd_tef_obj_read(): fix typo in error message + - media: rcar-csi2: Optimize the selection PHTW register + - drm/vc4: hdmi: Make sure the device is powered with CEC + - media: correct MEDIA_TEST_SUPPORT help text + - Documentation: coresight: Fix documentation issue + - Documentation: dmaengine: Correctly describe dmatest with channel unset + - Documentation: ACPI: Fix data node reference documentation + - Documentation, arch: Remove leftovers from raw device + - Documentation, arch: Remove leftovers from CIFS_WEAK_PW_HASH + - Documentation: refer to config RANDOMIZE_BASE for kernel address-space + randomization + - Documentation: fix firewire.rst ABI file path error + - net: usb: Correct reset handling of smsc95xx + - Bluetooth: hci_sync: Fix not setting adv set duration + - scsi: core: Show SCMD_LAST in text form + - scsi: ufs: ufs-mediatek: Fix error checking in ufs_mtk_init_va09_pwr_ctrl() + - RDMA/cma: Remove open coding of overflow checking for private_data_len + - dmaengine: uniphier-xdmac: Fix type of address variables + - dmaengine: idxd: fix wq settings post wq disable + - RDMA/hns: Modify the mapping attribute of doorbell to device + - RDMA/rxe: Fix a typo in opcode name + - dmaengine: stm32-mdma: fix STM32_MDMA_CTBR_TSEL_MASK + - Revert "net/mlx5: Add retry mechanism to the command entry index allocation" + - powerpc/cell: Fix clang -Wimplicit-fallthrough warning + - powerpc/fsl/dts: Enable WA for erratum A-009885 on fman3l MDIO buses + - block: fix async_depth sysfs interface for mq-deadline + - block: Fix fsync always failed if once failed + - drm/vc4: crtc: Drop feed_txp from state + - drm/vc4: Fix non-blocking commit getting stuck forever + - drm/vc4: crtc: Copy assigned channel to the CRTC + - bpftool: Remove inclusion of utilities.mak from Makefiles + - bpftool: Fix indent in option lists in the documentation + - xdp: check prog type before updating BPF link + - bpf: Fix mount source show for bpffs + - bpf: Mark PTR_TO_FUNC register initially with zero offset + - perf evsel: Override attr->sample_period for non-libpfm4 events + - ipv4: update fib_info_cnt under spinlock protection + - ipv4: avoid quadratic behavior in netns dismantle + - mlx5: Don't accidentally set RTO_ONLINK before mlx5e_route_lookup_ipv4_get() + - net/fsl: xgmac_mdio: Add workaround for erratum A-009885 + - net/fsl: xgmac_mdio: Fix incorrect iounmap when removing module + - parisc: pdc_stable: Fix memory leak in pdcs_register_pathentries + - riscv: dts: microchip: mpfs: Drop empty chosen node + - drm/vmwgfx: Remove explicit transparent hugepages support + - drm/vmwgfx: Remove unused compile options + - f2fs: fix remove page failed in invalidate compress pages + - f2fs: fix to avoid panic in is_alive() if metadata is inconsistent + - f2fs: compress: fix potential deadlock of compress file + - f2fs: fix to reserve space for IO align feature + - f2fs: fix to check available space of CP area correctly in + update_ckpt_flags() + - crypto: octeontx2 - uninitialized variable in kvf_limits_store() + - af_unix: annote lockless accesses to unix_tot_inflight & gc_in_progress + - clk: Emit a stern warning with writable debugfs enabled + - clk: si5341: Fix clock HW provider cleanup + - pinctrl/rockchip: fix gpio device creation + - gpio: mpc8xxx: Fix IRQ check in mpc8xxx_probe + - gpio: idt3243x: Fix IRQ check in idt_gpio_probe + - net/smc: Fix hung_task when removing SMC-R devices + - net: axienet: increase reset timeout + - net: axienet: Wait for PhyRstCmplt after core reset + - net: axienet: reset core on initialization prior to MDIO access + - net: axienet: add missing memory barriers + - net: axienet: limit minimum TX ring size + - net: axienet: Fix TX ring slot available check + - net: axienet: fix number of TX ring slots for available check + - net: axienet: fix for TX busy handling + - net: axienet: increase default TX ring size to 128 + - bitops: protect find_first_{,zero}_bit properly + - um: gitignore: Add kernel/capflags.c + - HID: vivaldi: fix handling devices not using numbered reports + - rtc: pxa: fix null pointer dereference + - vdpa/mlx5: Fix wrong configuration of virtio_version_1_0 + - virtio_ring: mark ring unused on error + - taskstats: Cleanup the use of task->exit_code + - inet: frags: annotate races around fqdir->dead and fqdir->high_thresh + - netns: add schedule point in ops_exit_list() + - iwlwifi: fix Bz NMI behaviour + - xfrm: Don't accidentally set RTO_ONLINK in decode_session4() + - vdpa/mlx5: Restore cur_num_vqs in case of failure in change_num_qps() + - gre: Don't accidentally set RTO_ONLINK in gre_fill_metadata_dst() + - libcxgb: Don't accidentally set RTO_ONLINK in cxgb_find_route() + - perf script: Fix hex dump character output + - dmaengine: at_xdmac: Don't start transactions at tx_submit level + - dmaengine: at_xdmac: Start transfer for cyclic channels in issue_pending + - dmaengine: at_xdmac: Print debug message after realeasing the lock + - dmaengine: at_xdmac: Fix concurrency over xfers_list + - dmaengine: at_xdmac: Fix lld view setting + - dmaengine: at_xdmac: Fix at_xdmac_lld struct definition + - perf tools: Drop requirement for libstdc++.so for libopencsd check + - perf probe: Fix ppc64 'perf probe add events failed' case + - devlink: Remove misleading internal_flags from health reporter dump + - arm64: dts: qcom: msm8996: drop not documented adreno properties + - net: fix sock_timestamping_bind_phc() to release device + - net: bonding: fix bond_xmit_broadcast return value error bug + - net: ipa: fix atomic update in ipa_endpoint_replenish() + - net_sched: restore "mpu xxx" handling + - net: mscc: ocelot: don't let phylink re-enable TX PAUSE on the NPI port + - bcmgenet: add WOL IRQ check + - net: wwan: Fix MRU mismatch issue which may lead to data connection lost + - net: ethernet: mtk_eth_soc: fix error checking in mtk_mac_config() + - net: ocelot: Fix the call to switchdev_bridge_port_offload + - net: sfp: fix high power modules without diagnostic monitoring + - net: cpsw: avoid alignment faults by taking NET_IP_ALIGN into account + - net: phy: micrel: use kszphy_suspend()/kszphy_resume for irq aware devices + - net: mscc: ocelot: fix using match before it is set + - dt-bindings: display: meson-dw-hdmi: add missing sound-name-prefix property + - dt-bindings: display: meson-vpu: Add missing amlogic,canvas property + - dt-bindings: watchdog: Require samsung,syscon-phandle for Exynos7 + - sch_api: Don't skip qdisc attach on ingress + - scripts/dtc: dtx_diff: remove broken example from help text + - lib82596: Fix IRQ check in sni_82596_probe + - mm/hmm.c: allow VM_MIXEDMAP to work with hmm_range_fault + - bonding: Fix extraction of ports from the packet headers + - lib/test_meminit: destroy cache in kmem_cache_alloc_bulk() test + - scripts: sphinx-pre-install: add required ctex dependency + - scripts: sphinx-pre-install: Fix ctex support on Debian + - Linux 5.15.17 + * rtw88_8821ce causes freeze (LP: #1927808) // Jammy update: v5.15.17 upstream + stable release (LP: #1959376) + - rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE + * Jammy update: v5.15.16 upstream stable release (LP: #1958977) + - devtmpfs regression fix: reconfigure on each mount + - orangefs: Fix the size of a memory allocation in orangefs_bufmap_alloc() + - remoteproc: qcom: pil_info: Don't memcpy_toio more than is provided + - perf: Protect perf_guest_cbs with RCU + - KVM: x86: Register perf callbacks after calling vendor's hardware_setup() + - KVM: x86: Register Processor Trace interrupt hook iff PT enabled in guest + - KVM: x86: don't print when fail to read/write pv eoi memory + - KVM: s390: Clarify SIGP orders versus STOP/RESTART + - remoteproc: qcom: pas: Add missing power-domain "mxc" for CDSP + - 9p: only copy valid iattrs in 9P2000.L setattr implementation + - video: vga16fb: Only probe for EGA and VGA 16 color graphic cards + - media: uvcvideo: fix division by zero at stream start + - rtlwifi: rtl8192cu: Fix WARNING when calling local_irq_restore() with + interrupts enabled + - firmware: qemu_fw_cfg: fix sysfs information leak + - firmware: qemu_fw_cfg: fix NULL-pointer deref on duplicate entries + - firmware: qemu_fw_cfg: fix kobject leak in probe error path + - perf annotate: Avoid TUI crash when navigating in the annotation of + recursive functions + - KVM: x86: remove PMU FIXED_CTR3 from msrs_to_save_all + - ALSA: hda/realtek: Add speaker fixup for some Yoga 15ITL5 devices + - ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Master after + reboot from Windows + - ALSA: hda: ALC287: Add Lenovo IdeaPad Slim 9i 14ITL5 speaker quirk + - ALSA: hda/tegra: Fix Tegra194 HDA reset failure + - ALSA: hda/realtek: Add quirk for Legion Y9000X 2020 + - ALSA: hda/realtek: Re-order quirk entries for Lenovo + - mtd: fixup CFI on ixp4xx + - Linux 5.15.16 + * UBSAN: array-index-out-of-bounds in dcn31_resources on AMD yellow carp + platform (LP: #1958229) + - drm/amd/display: Fix out of bounds access on DNC31 stream encoder regs + * Jammy update: v5.15.15 upstream stable release (LP: #1958418) + - s390/kexec: handle R_390_PLT32DBL rela in arch_kexec_apply_relocations_add() + - workqueue: Fix unbind_workers() VS wq_worker_running() race + - staging: r8188eu: switch the led off during deinit + - bpf: Fix out of bounds access from invalid *_or_null type verification + - Bluetooth: btusb: Add protocol for MediaTek bluetooth devices(MT7922) + - Bluetooth: btusb: Add the new support ID for Realtek RTL8852A + - Bluetooth: btusb: Add support for IMC Networks Mediatek Chip(MT7921) + - Bbluetooth: btusb: Add another Bluetooth part for Realtek 8852AE + - Bluetooth: btusb: fix memory leak in btusb_mtk_submit_wmt_recv_urb() + - Bluetooth: btusb: enable Mediatek to support AOSP extension + - Bluetooth: btusb: Add one more Bluetooth part for the Realtek RTL8852AE + - fget: clarify and improve __fget_files() implementation + - Bluetooth: btusb: Add two more Bluetooth parts for WCN6855 + - Bluetooth: btusb: Add support for Foxconn MT7922A + - Bluetooth: btintel: Fix broken LED quirk for legacy ROM devices + - Bluetooth: btusb: Add support for Foxconn QCA 0xe0d0 + - Bluetooth: bfusb: fix division by zero in send path + - ARM: dts: exynos: Fix BCM4330 Bluetooth reset polarity in I9100 + - USB: core: Fix bug in resuming hub's handling of wakeup requests + - USB: Fix "slab-out-of-bounds Write" bug in usb_hcd_poll_rh_status + - ath11k: Fix buffer overflow when scanning with extraie + - mmc: sdhci-pci: Add PCI ID for Intel ADL + - Bluetooth: add quirk disabling LE Read Transmit Power + - Bluetooth: btbcm: disable read tx power for some Macs with the T2 Security + chip + - Bluetooth: btbcm: disable read tx power for MacBook Air 8,1 and 8,2 + - veth: Do not record rx queue hint in veth_xmit + - mfd: intel-lpss: Fix too early PM enablement in the ACPI ->probe() + - can: gs_usb: fix use of uninitialized variable, detach device on reception + of invalid USB data + - can: isotp: convert struct tpcon::{idx,len} to unsigned int + - can: gs_usb: gs_can_start_xmit(): zero-initialize hf->{flags,reserved} + - random: fix data race on crng_node_pool + - random: fix data race on crng init time + - random: fix crash on multiple early calls to add_bootloader_randomness() + - platform/x86/intel: hid: add quirk to support Surface Go 3 + - media: Revert "media: uvcvideo: Set unique vdev name based in type" + - staging: wlan-ng: Avoid bitwise vs logical OR warning in + hfa384x_usb_throttlefn() + - drm/i915: Avoid bitwise vs logical OR warning in snb_wm_latency_quirk() + - staging: greybus: fix stack size warning with UBSAN + - Linux 5.15.15 + * UBSAN warning on unplugging USB4 DP alt mode from AMD Yellow Carp graphics + card (LP: #1956497) + - drm/amd/display: explicitly set is_dsc_supported to false before use + * Support USB4 DP alt mode for AMD Yellow Carp graphics card (LP: #1953008) + - drm/amd/display: Enable PSR by default on newer DCN + - SAUCE: drm/amd/display: Fixup previous PSR policy commit + - drm/amd/display: Fix USB4 hot plug crash issue + - drm/amd/display: Creating a fw boot options bit for an upcoming feature + - drm/amd/display: Enable dpia in dmub only for DCN31 B0 + - drm/amd/display: MST support for DPIA + - drm/amd/display: Set phy_mux_sel bit in dmub scratch register + - drm/amd/display: Don't lock connection_mutex for DMUB HPD + - drm/amd/display: Add callbacks for DMUB HPD IRQ notifications + * Jammy update: v5.15.14 upstream stable release (LP: #1957882) + - fscache_cookie_enabled: check cookie is valid before accessing it + - selftests: x86: fix [-Wstringop-overread] warn in test_process_vm_readv() + - tracing: Fix check for trace_percpu_buffer validity in get_trace_buf() + - tracing: Tag trace_percpu_buffer as a percpu pointer + - Revert "RDMA/mlx5: Fix releasing unallocated memory in dereg MR flow" + - ieee802154: atusb: fix uninit value in atusb_set_extended_addr + - i40e: Fix to not show opcode msg on unsuccessful VF MAC change + - iavf: Fix limit of total number of queues to active queues of VF + - RDMA/core: Don't infoleak GRH fields + - Revert "net: usb: r8152: Add MAC passthrough support for more Lenovo Docks" + - netrom: fix copying in user data in nr_setsockopt + - RDMA/uverbs: Check for null return of kmalloc_array + - mac80211: initialize variable have_higher_than_11mbit + - mac80211: mesh: embedd mesh_paths and mpp_paths into ieee80211_if_mesh + - sfc: The RX page_ring is optional + - i40e: fix use-after-free in i40e_sync_filters_subtask() + - i40e: Fix for displaying message regarding NVM version + - i40e: Fix incorrect netdev's real number of RX/TX queues + - ftrace/samples: Add missing prototypes direct functions + - ipv4: Check attribute length for RTA_GATEWAY in multipath route + - ipv4: Check attribute length for RTA_FLOW in multipath route + - ipv6: Check attribute length for RTA_GATEWAY in multipath route + - ipv6: Check attribute length for RTA_GATEWAY when deleting multipath route + - lwtunnel: Validate RTA_ENCAP_TYPE attribute length + - selftests: net: udpgro_fwd.sh: explicitly checking the available ping + feature + - sctp: hold endpoint before calling cb in sctp_transport_lookup_process + - batman-adv: mcast: don't send link-local multicast to mcast routers + - sch_qfq: prevent shift-out-of-bounds in qfq_init_qdisc + - net: ena: Fix undefined state when tx request id is out of bounds + - net: ena: Fix wrong rx request id by resetting device + - net: ena: Fix error handling when calculating max IO queues number + - md/raid1: fix missing bitmap update w/o WriteMostly devices + - EDAC/i10nm: Release mdev/mbase when failing to detect HBM + - KVM: x86: Check for rmaps allocation + - cgroup: Use open-time credentials for process migraton perm checks + - cgroup: Allocate cgroup_file_ctx for kernfs_open_file->priv + - cgroup: Use open-time cgroup namespace for process migration perm checks + - Revert "i2c: core: support bus regulator controlling in adapter" + - i2c: mpc: Avoid out of bounds memory access + - power: supply: core: Break capacity loop + - power: reset: ltc2952: Fix use of floating point literals + - reset: renesas: Fix Runtime PM usage + - rndis_host: support Hytera digital radios + - gpio: gpio-aspeed-sgpio: Fix wrong hwirq base in irq handler + - net ticp:fix a kernel-infoleak in __tipc_sendmsg() + - phonet: refcount leak in pep_sock_accep + - fbdev: fbmem: add a helper to determine if an aperture is used by a fw fb + - drm/amdgpu: disable runpm if we are the primary adapter + - power: bq25890: Enable continuous conversion for ADC at charging + - ipv6: Continue processing multipath route even if gateway attribute is + invalid + - ipv6: Do cleanup if attribute validation fails in multipath route + - auxdisplay: charlcd: checking for pointer reference before dereferencing + - drm/amdgpu: fix dropped backing store handling in amdgpu_dma_buf_move_notify + - drm/amd/pm: Fix xgmi link control on aldebaran + - usb: mtu3: fix interval value for intr and isoc + - scsi: libiscsi: Fix UAF in iscsi_conn_get_param()/iscsi_conn_teardown() + - ip6_vti: initialize __ip6_tnl_parm struct in vti6_siocdevprivate + - net: udp: fix alignment problem in udp4_seq_show() + - atlantic: Fix buff_ring OOB in aq_ring_rx_clean + - drm/amd/pm: skip setting gfx cgpg in the s0ix suspend-resume + - mISDN: change function names to avoid conflicts + - drm/amd/display: fix B0 TMDS deepcolor no dislay issue + - drm/amd/display: Added power down for DCN10 + - ipv6: raw: check passed optlen before reading + - userfaultfd/selftests: fix hugetlb area allocations + - ARM: dts: gpio-ranges property is now required + - Input: zinitix - make sure the IRQ is allocated before it gets enabled + - Revert "drm/amdgpu: stop scheduler when calling hw_fini (v2)" + - drm/amd/pm: keep the BACO feature enabled for suspend + - Linux 5.15.14 + * alsa/sdw: add sdw audio machine driver for several ADL machines + (LP: #1951563) + - ASoC: Intel: sof_sdw: Add support for SKU 0AF3 product + - ASoC: Intel: soc-acpi: add SKU 0AF3 SoundWire configuration + - ASoC: Intel: sof_sdw: Add support for SKU 0B00 and 0B01 products + - ASoC: Intel: sof_sdw: Add support for SKU 0B11 product + - ASoC: Intel: sof_sdw: Add support for SKU 0B13 product + - ASoC: Intel: soc-acpi: add SKU 0B13 SoundWire configuration + - ASoC: Intel: sof_sdw: Add support for SKU 0B29 product + - ASoC: Intel: soc-acpi: add SKU 0B29 SoundWire configuration + - ASoC: Intel: sof_sdw: Add support for SKU 0B12 product + - ASoC: intel: sof_sdw: return the original error number + - ASoC: intel: sof_sdw: rename be_index/link_id to link_index + - ASoC: intel: sof_sdw: Use a fixed DAI link id for AMP + - ASoC: intel: sof_sdw: move DMIC link id overwrite to create_sdw_dailink + - ASoC: intel: sof_sdw: remove SOF_RT715_DAI_ID_FIX quirk + - ASoC: intel: sof_sdw: remove sof_sdw_mic_codec_mockup_init + - ASoC: intel: sof_sdw: remove get_next_be_id + - ASoC: intel: sof_sdw: add link adr order check + * Add basic Wifi support for Qualcomm WCN6856 (LP: #1955613) + - ath11k: change to use dynamic memory for channel list of scan + - ath11k: add string type to search board data in board-2.bin for WCN6855 + * Enable audio mute LED and mic mute LED on a new HP laptop (LP: #1956454) + - ALSA: hda/realtek: Use ALC285_FIXUP_HP_GPIO_LED on another HP laptop + * Add missing BT ID for Qualcomm WCN6856 (LP: #1956407) + - Bluetooth: btusb: Add one more Bluetooth part for WCN6855 + * Add Bluetooth support for Qualcomm WCN6856 (LP: #1955689) + - Bluetooth: btusb: Add support using different nvm for variant WCN6855 + controller + - Bluetooth: btusb: re-definition for board_id in struct qca_version + - Bluetooth: btusb: Add the new support IDs for WCN6855 + * Improve performance and idle power consumption (LP: #1941893) + - x86: ACPI: cstate: Optimize C3 entry on AMD CPUs + * [Yellow Carp] USB4 interdomain communication problems (LP: #1945361) + - thunderbolt: Enable retry logic for intra-domain control packets + * 1951111: + - scsi: lpfc: Fix mailbox command failure during driver initialization + * [Jammy] Update Broadcom Emulex FC HBA lpfc driver to 14.0.0.3 for Ubuntu + 22.04 (LP: #1951111) + - scsi: lpfc: Fix premature rpi release for unsolicited TPLS and LS_RJT + - scsi: lpfc: Fix hang on unload due to stuck fport node + - scsi: lpfc: Fix rediscovery of tape device after LIP + - scsi: lpfc: Don't remove ndlp on PRLI errors in P2P mode + - scsi: lpfc: Fix EEH support for NVMe I/O + - scsi: lpfc: Adjust bytes received vales during cmf timer interval + - scsi: lpfc: Fix I/O block after enabling managed congestion mode + - scsi: lpfc: Zero CGN stats only during initial driver load and stat reset + - scsi: lpfc: Improve PBDE checks during SGL processing + - scsi: lpfc: Update lpfc version to 14.0.0.2 + * smartpqi: Update 20.04.4 to latest kernel.org patch level (LP: #1953689) + - scsi: smartpqi: Update device removal management + - scsi: smartpqi: Capture controller reason codes + - scsi: smartpqi: Update LUN reset handler + - scsi: smartpqi: Add TEST UNIT READY check for SANITIZE operation + - scsi: smartpqi: Avoid failing I/Os for offline devices + - scsi: smartpqi: Add extended report physical LUNs + - scsi: smartpqi: Fix boot failure during LUN rebuild + - scsi: smartpqi: Fix duplicate device nodes for tape changers + - scsi: smartpqi: Add 3252-8i PCI id + - scsi: smartpqi: Update version to 2.1.12-055 + * Let VMD follow host bridge PCIe settings (LP: #1954611) + - PCI: vmd: Honor ACPI _OSC on PCIe features + * Fix spurious wakeup caused by Intel 7560 WWAN (LP: #1956443) + - net: wwan: iosm: Keep device at D0 for s2idle case + * [uacc-0623] hisi_sec2 fail to alloc uacce (LP: #1933301) + - crypto: hisilicon/qm - modify the uacce mode check + * Jammy update: v5.15.13 upstream stable release (LP: #1956926) + - Input: i8042 - add deferred probe support + - Input: i8042 - enable deferred probe quirk for ASUS UM325UA + - tomoyo: Check exceeded quota early in tomoyo_domain_quota_is_ok(). + - tomoyo: use hwight16() in tomoyo_domain_quota_is_ok() + - net/sched: Extend qdisc control block with tc control block + - parisc: Clear stale IIR value on instruction access rights trap + - platform/mellanox: mlxbf-pmc: Fix an IS_ERR() vs NULL bug in + mlxbf_pmc_map_counters + - platform/x86: apple-gmux: use resource_size() with res + - memblock: fix memblock_phys_alloc() section mismatch error + - recordmcount.pl: fix typo in s390 mcount regex + - powerpc/ptdump: Fix DEBUG_WX since generic ptdump conversion + - efi: Move efifb_setup_from_dmi() prototype from arch headers + - selinux: initialize proto variable in selinux_ip_postroute_compat() + - scsi: lpfc: Terminate string in lpfc_debugfs_nvmeio_trc_write() + - net/mlx5: DR, Fix NULL vs IS_ERR checking in dr_domain_init_resources + - net/mlx5: Fix error print in case of IRQ request failed + - net/mlx5: Fix SF health recovery flow + - net/mlx5: Fix tc max supported prio for nic mode + - net/mlx5e: Wrap the tx reporter dump callback to extract the sq + - net/mlx5e: Fix interoperability between XSK and ICOSQ recovery flow + - net/mlx5e: Fix ICOSQ recovery flow for XSK + - net/mlx5e: Use tc sample stubs instead of ifdefs in source file + - net/mlx5e: Delete forward rule for ct or sample action + - udp: using datalen to cap ipv6 udp max gso segments + - selftests: Calculate udpgso segment count without header adjustment + - sctp: use call_rcu to free endpoint + - net/smc: fix using of uninitialized completions + - net: usb: pegasus: Do not drop long Ethernet frames + - net: ag71xx: Fix a potential double free in error handling paths + - net: lantiq_xrx200: fix statistics of received bytes + - NFC: st21nfca: Fix memory leak in device probe and remove + - net/smc: don't send CDC/LLC message if link not ready + - net/smc: fix kernel panic caused by race of smc_sock + - igc: Do not enable crosstimestamping for i225-V models + - igc: Fix TX timestamp support for non-MSI-X platforms + - drm/amd/display: Send s0i2_rdy in stream_count == 0 optimization + - drm/amd/display: Set optimize_pwr_state for DCN31 + - ionic: Initialize the 'lif->dbid_inuse' bitmap + - net/mlx5e: Fix wrong features assignment in case of error + - net: bridge: mcast: add and enforce query interval minimum + - net: bridge: mcast: add and enforce startup query interval minimum + - selftests/net: udpgso_bench_tx: fix dst ip argument + - selftests: net: Fix a typo in udpgro_fwd.sh + - net: bridge: mcast: fix br_multicast_ctx_vlan_global_disabled helper + - net/ncsi: check for error return from call to nla_put_u32 + - selftests: net: using ping6 for IPv6 in udpgro_fwd.sh + - fsl/fman: Fix missing put_device() call in fman_port_probe + - i2c: validate user data in compat ioctl + - nfc: uapi: use kernel size_t to fix user-space builds + - uapi: fix linux/nfc.h userspace compilation errors + - drm/nouveau: wait for the exclusive fence after the shared ones v2 + - drm/amdgpu: When the VCN(1.0) block is suspended, powergating is explicitly + enabled + - drm/amdgpu: add support for IP discovery gc_info table v2 + - drm/amd/display: Changed pipe split policy to allow for multi-display pipe + split + - xhci: Fresco FL1100 controller should not have BROKEN_MSI quirk set. + - usb: gadget: f_fs: Clear ffs_eventfd in ffs_data_clear. + - usb: mtu3: add memory barrier before set GPD's HWO + - usb: mtu3: fix list_head check warning + - usb: mtu3: set interval of FS intr and isoc endpoint + - nitro_enclaves: Use get_user_pages_unlocked() call to handle mmap assert + - binder: fix async_free_space accounting for empty parcels + - scsi: vmw_pvscsi: Set residual data length conditionally + - Input: appletouch - initialize work before device registration + - Input: spaceball - fix parsing of movement data packets + - mm/damon/dbgfs: fix 'struct pid' leaks in 'dbgfs_target_ids_write()' + - net: fix use-after-free in tw_timer_handler + - fs/mount_setattr: always cleanup mount_kattr + - perf intel-pt: Fix parsing of VM time correlation arguments + - perf script: Fix CPU filtering of a script's switch events + - perf scripts python: intel-pt-events.py: Fix printing of switch events + - Linux 5.15.13 + * Miscellaneous Ubuntu changes + - [Packaging] getabis: Add fwinfo.builtin to the ABI + - [Packaging] Add list of built-in firmwares to the ABI + - [Config] x86-64: SYSFB_SIMPLEFB=y + - [packaging] arm64: introduce the lowlatency and lowlatency-64k flavours + - [packaging] arm64: updateconfigs + - [Config] annotations: remove duplicates when arm64-generic == + arm64-generic-64k option + - [Config] annotations: introduce arm64-lowlatency and arm64-lowlatency-64k + kconfig options checks + - [Packaging] Update dependency of pahole / dwarves + - [Config] toolchain version update + * Miscellaneous upstream changes + - scsi: lpfc: Revert LOG_TRACE_EVENT back to LOG_INIT prior to + driver_resource_setup() + - scsi: lpfc: Correct sysfs reporting of loop support after SFP status change + - scsi: lpfc: Allow PLOGI retry if previous PLOGI was aborted + - scsi: lpfc: Update lpfc version to 14.0.0.3 + - Revert "rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE" + + [ Ubuntu: 5.15.0-18.18 ] + + * jammy/linux: 5.15.0-18.18 -proposed tracker (LP: #1958638) + * CVE-2021-4155 + - xfs: map unwritten blocks in XFS_IOC_{ALLOC, FREE}SP just like fallocate + * CVE-2022-0185 + - SAUCE: vfs: test that one given mount param is not larger than PAGE_SIZE + * [UBUNTU 20.04] KVM hardware diagnose data improvements for guest kernel - + kernel part (LP: #1953334) + - KVM: s390: add debug statement for diag 318 CPNC data + * OOB write on BPF_RINGBUF (LP: #1956585) + - SAUCE: bpf: prevent helper argument PTR_TO_ALLOC_MEM to have offset other + than 0 + * Miscellaneous Ubuntu changes + - [Config] re-enable shiftfs + - [SAUCE] shiftfs: support kernel 5.15 + - [Config] update toolchain versions + * Miscellaneous upstream changes + - vfs: fs_context: fix up param length parsing in legacy_parse_param + + [ Ubuntu: 5.15.0-17.17 ] + + * jammy/linux: 5.15.0-17.17 -proposed tracker (LP: #1957809) + + [ Ubuntu: 5.15.0-16.16 ] + + * jammy/linux: 5.15.0-16.16 -proposed tracker (LP: #1956820) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * 5.15 stuck at boot on c4.large (LP: #1956780) + - Revert "PCI/MSI: Mask MSI-X vectors only on success" + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] temporarily disable signed v4l2loopback" + + [ Ubuntu: 5.15.0-15.15 ] + + * jammy/linux: 5.15.0-15.15 -proposed tracker (LP: #1956314) + * Packaging resync (LP: #1786013) + - update dkms package versions + - debian/dkms-versions -- update from kernel-versions (main/master) + * rtw88_8821ce causes freeze (LP: #1927808) + - rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE + * alsa/sdw: fix the audio sdw codec parsing logic in the acpi table + (LP: #1955686) + - ALSA: hda: intel-sdw-acpi: go through HDAS ACPI at max depth of 2 + - ALSA: hda: intel-sdw-acpi: harden detection of controller + * Got black screen when resume from s2idle with AMD dGPU (LP: #1955790) + - SAUCE: drm/amdgpu: put SMU into proper state on runpm suspending for BOCO + capable platform + - SAUCE: drm/amdgpu: always reset the asic in suspend (v2) + * Fix USB3 detection on HP dock (LP: #1955443) + - usb: hub: Add delay for SuperSpeed hub resume to let links transit to U0 + * support signed v4l2loopback dkms build (LP: #1938531) + - enable v4l2loopback builds on amd64 kernels + - support v4l2loopback dkms build + * Jammy update: v5.15.12 upstream stable release (LP: #1956305) + - arm64: vdso32: require CROSS_COMPILE_COMPAT for gcc+bfd + - net: usb: lan78xx: add Allied Telesis AT29M2-AF + - ext4: prevent partial update of the extent blocks + - ext4: check for out-of-order index extents in ext4_valid_extent_entries() + - ext4: check for inconsistent extents between index and leaf block + - selftests: KVM: Fix non-x86 compiling + - HID: holtek: fix mouse probing + - HID: potential dereference of null pointer + - NFSD: Fix READDIR buffer overflow + - PM: sleep: Fix error handling in dpm_prepare() + - arm64: dts: allwinner: orangepi-zero-plus: fix PHY mode + - bus: sunxi-rsb: Fix shutdown + - spi: change clk_disable_unprepare to clk_unprepare + - ucounts: Fix rlimit max values check + - drm/mediatek: hdmi: Perform NULL pointer check for mtk_hdmi_conf + - ASoC: meson: aiu: fifo: Add missing dma_coerce_mask_and_coherent() + - RDMA/hns: Fix RNR retransmission issue for HIP08 + - IB/qib: Fix memory leak in qib_user_sdma_queue_pkts() + - RDMA/hns: Replace kfree() with kvfree() + - netfilter: nf_tables: fix use-after-free in nft_set_catchall_destroy() + - netfilter: fix regression in looped (broad|multi)cast's MAC handling + - ARM: dts: imx6qdl-wandboard: Fix Ethernet support + - ice: Use xdp_buf instead of rx_buf for xsk zero-copy + - ice: xsk: return xsk buffers back to pool when cleaning the ring + - net: marvell: prestera: fix incorrect return of port_find + - net: marvell: prestera: fix incorrect structure access + - qlcnic: potential dereference null pointer of rx_queue->page_ring + - tcp: move inet->rx_dst_ifindex to sk->sk_rx_dst_ifindex + - ipv6: move inet6_sk(sk)->rx_dst_cookie to sk->sk_rx_dst_cookie + - inet: fully convert sk->sk_rx_dst to RCU rules + - net: accept UFOv6 packages in virtio_net_hdr_to_skb + - net: skip virtio_net_hdr_set_proto if protocol already set + - igb: fix deadlock caused by taking RTNL in RPM resume path + - ipmi: Fix UAF when uninstall ipmi_si and ipmi_msghandler module + - gpio: virtio: remove timeout + - bonding: fix ad_actor_system option setting to default + - fjes: Check for error irq + - drivers: net: smc911x: Check for error irq + - net: ks8851: Check for error irq + - sfc: Check null pointer of rx_queue->page_ring + - sfc: falcon: Check null pointer of rx_queue->page_ring + - asix: fix uninit-value in asix_mdio_read() + - asix: fix wrong return value in asix_check_host_enable() + - io_uring: zero iocb->ki_pos for stream file types + - veth: ensure skb entering GRO are not cloned. + - net: stmmac: ptp: fix potentially overflowing expression + - net: bridge: Use array_size() helper in copy_to_user() + - net: bridge: fix ioctl old_deviceless bridge argument + - r8152: fix the force speed doesn't work for RTL8156 + - net: stmmac: dwmac-visconti: Fix value of ETHER_CLK_SEL_FREQ_SEL_2P5M + - pinctrl: bcm2835: Change init order for gpio hogs + - hwmon: (lm90) Fix usage of CONFIG2 register in detect function + - hwmon: (lm90) Prevent integer overflow/underflow in hysteresis calculations + - hwmon: (lm90) Introduce flag indicating extended temperature support + - hwmon: (lm90) Add basic support for TI TMP461 + - hwmon: (lm90) Drop critical attribute support for MAX6654 + - ARM: 9160/1: NOMMU: Reload __secondary_data after PROCINFO_INITFUNC + - uapi: Fix undefined __always_inline on non-glibc systems + - compiler.h: Fix annotation macro misplacement with Clang + - platform/x86/intel: Remove X86_PLATFORM_DRIVERS_INTEL + - kernel/crash_core: suppress unknown crashkernel parameter warning + - Revert "x86/boot: Pull up cmdline preparation and early param parsing" + - x86/boot: Move EFI range reservation after cmdline parsing + - ALSA: jack: Check the return value of kstrdup() + - ALSA: drivers: opl3: Fix incorrect use of vp->state + - ALSA: rawmidi - fix the uninitalized user_pversion + - ALSA: hda/hdmi: Disable silent stream on GLK + - ALSA: hda/realtek: Amp init fixup for HP ZBook 15 G6 + - ALSA: hda/realtek: Add new alc285-hp-amp-init model + - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook + - ALSA: hda/realtek: Fix quirk for Clevo NJ51CU + - ASoC: meson: aiu: Move AIU_I2S_MISC hold setting to aiu-fifo-i2s + - ASoC: tegra: Add DAPM switches for headphones and mic jack + - ASoC: tegra: Restore headphones jack name on Nyan Big + - Input: atmel_mxt_ts - fix double free in mxt_read_info_block + - ipmi: bail out if init_srcu_struct fails + - ipmi: ssif: initialize ssif_info->client early + - ipmi: fix initialization when workqueue allocation fails + - parisc: Correct completer in lws start + - parisc: Fix mask used to select futex spinlock + - tee: handle lookup of shm with reference count 0 + - x86/pkey: Fix undefined behaviour with PKRU_WD_BIT + - platform/x86: amd-pmc: only use callbacks for suspend + - platform/x86: intel_pmc_core: fix memleak on registration failure + - KVM: x86: Always set kvm_run->if_flag + - KVM: x86/mmu: Don't advance iterator after restart due to yielding + - KVM: nVMX: Synthesize TRIPLE_FAULT for L2 if emulation is required + - KVM: VMX: Always clear vmx->fail on emulation_required + - KVM: VMX: Wake vCPU when delivering posted IRQ even if vCPU == this vCPU + - pinctrl: stm32: consider the GPIO offset to expose all the GPIO lines + - gpio: dln2: Fix interrupts when replugging the device + - mmc: sdhci-tegra: Fix switch to HS400ES mode + - mmc: meson-mx-sdhc: Set MANUAL_STOP for multi-block SDIO commands + - mmc: core: Disable card detect during shutdown + - mmc: mmci: stm32: clear DLYB_CR after sending tuning command + - ARM: 9169/1: entry: fix Thumb2 bug in iWMMXt exception handling + - ksmbd: fix error code in ndr_read_int32() + - ksmbd: fix uninitialized symbol 'pntsd_size' + - ksmbd: disable SMB2_GLOBAL_CAP_ENCRYPTION for SMB 3.1.1 + - mac80211: fix locking in ieee80211_start_ap error path + - mm: mempolicy: fix THP allocations escaping mempolicy restrictions + - mm, hwpoison: fix condition in free hugetlb page path + - mm/hwpoison: clear MF_COUNT_INCREASED before retrying get_any_page() + - mm/damon/dbgfs: protect targets destructions with kdamond_lock + - tee: optee: Fix incorrect page free bug + - f2fs: fix to do sanity check on last xattr entry in __f2fs_setxattr() + - netfs: fix parameter of cleanup() + - KVM: VMX: Fix stale docs for kvm-intel.emulate_invalid_guest_state + - arm64: dts: lx2160a: fix scl-gpios property name + - kfence: fix memory leak when cat kfence objects + - Input: iqs626a - prohibit inlining of channel parsing functions + - Input: elants_i2c - do not check Remark ID on eKTH3900/eKTH5312 + - Input: goodix - add id->model mapping for the "9111" model + - ASoC: tas2770: Fix setting of high sample rates + - ASoC: SOF: Intel: pci-tgl: add new ADL-P variant + - ASoC: SOF: Intel: pci-tgl: add ADL-N support + - ASoC: rt5682: fix the wrong jack type detected + - pinctrl: mediatek: fix global-out-of-bounds issue + - hwmom: (lm90) Fix citical alarm status for MAX6680/MAX6681 + - hwmon: (lm90) Do not report 'busy' status bit as alarm + - r8152: sync ocp base + - ax25: NPD bug when detaching AX25 device + - hamradio: defer ax25 kfree after unregister_netdev + - hamradio: improve the incomplete fix to avoid NPD + - tun: avoid double free in tun_free_netdev + - phonet/pep: refuse to enable an unbound pipe + - Linux 5.15.12 + * Thinkpad E14 Gen2: Kernel panic with trackpad and trackpoint enabled + (LP: #1945590) // Jammy update: v5.15.12 upstream stable release + (LP: #1956305) + - Input: elantech - fix stack out of bound access in + elantech_change_report_id() + * Jammy update: v5.15.11 upstream stable release (LP: #1956302) + - reset: tegra-bpmp: Revert Handle errors in BPMP response + - KVM: VMX: clear vmx_x86_ops.sync_pir_to_irr if APICv is disabled + - KVM: selftests: Make sure kvm_create_max_vcpus test won't hit RLIMIT_NOFILE + - KVM: downgrade two BUG_ONs to WARN_ON_ONCE + - x86/kvm: remove unused ack_notifier callbacks + - KVM: X86: Fix tlb flush for tdp in kvm_invalidate_pcid() + - mac80211: fix rate control for retransmitted frames + - mac80211: fix regression in SSN handling of addba tx + - mac80211: mark TX-during-stop for TX in in_reconfig + - mac80211: send ADDBA requests using the tid/queue of the aggregation session + - mac80211: validate extended element ID is present + - firmware: arm_scpi: Fix string overflow in SCPI genpd driver + - bpf: Fix kernel address leakage in atomic fetch + - bpf, selftests: Add test case for atomic fetch on spilled pointer + - bpf: Fix signed bounds propagation after mov32 + - bpf: Make 32->64 bounds propagation slightly more robust + - bpf, selftests: Add test case trying to taint map value pointer + - bpf: Fix kernel address leakage in atomic cmpxchg's r0 aux reg + - bpf, selftests: Update test case for atomic cmpxchg on r0 with pointer + - vduse: fix memory corruption in vduse_dev_ioctl() + - vduse: check that offset is within bounds in get_config() + - virtio_ring: Fix querying of maximum DMA mapping size for virtio device + - vdpa: check that offsets are within bounds + - s390/entry: fix duplicate tracking of irq nesting level + - recordmcount.pl: look for jgnop instruction as well as bcrl on s390 + - arm64: dts: ten64: remove redundant interrupt declaration for gpio-keys + - ceph: fix up non-directory creation in SGID directories + - dm btree remove: fix use after free in rebalance_children() + - audit: improve robustness of the audit queue handling + - btrfs: convert latest_bdev type to btrfs_device and rename + - btrfs: use latest_dev in btrfs_show_devname + - btrfs: update latest_dev when we create a sprout device + - btrfs: remove stale comment about the btrfs_show_devname + - scsi: ufs: core: Retry START_STOP on UNIT_ATTENTION + - arm64: dts: rockchip: remove mmc-hs400-enhanced-strobe from rk3399-khadas- + edge + - arm64: dts: rockchip: fix rk3308-roc-cc vcc-sd supply + - arm64: dts: rockchip: fix rk3399-leez-p710 vcc3v3-lan supply + - arm64: dts: rockchip: fix audio-supply for Rock Pi 4 + - arm64: dts: rockchip: fix poweroff on helios64 + - dmaengine: idxd: add halt interrupt support + - dmaengine: idxd: fix calling wq quiesce inside spinlock + - mac80211: track only QoS data frames for admission control + - tee: amdtee: fix an IS_ERR() vs NULL bug + - ceph: fix duplicate increment of opened_inodes metric + - ceph: initialize pathlen variable in reconnect_caps_cb + - ARM: socfpga: dts: fix qspi node compatible + - arm64: dts: imx8mq: remove interconnect property from lcdif + - clk: Don't parent clks until the parent is fully registered + - soc: imx: Register SoC device only on i.MX boards + - iwlwifi: mvm: don't crash on invalid rate w/o STA + - virtio: always enter drivers/virtio/ + - virtio/vsock: fix the transport to work with VMADDR_CID_ANY + - vdpa: Consider device id larger than 31 + - Revert "drm/fb-helper: improve DRM fbdev emulation device names" + - selftests: net: Correct ping6 expected rc from 2 to 1 + - s390/kexec_file: fix error handling when applying relocations + - sch_cake: do not call cake_destroy() from cake_init() + - inet_diag: fix kernel-infoleak for UDP sockets + - netdevsim: don't overwrite read only ethtool parms + - selftests: icmp_redirect: pass xfail=0 to log_test() + - net: hns3: fix use-after-free bug in hclgevf_send_mbx_msg + - net: hns3: fix race condition in debugfs + - selftests: Add duplicate config only for MD5 VRF tests + - selftests: Fix raw socket bind tests with VRF + - selftests: Fix IPv6 address bind tests + - dmaengine: idxd: fix missed completion on abort path + - dmaengine: st_fdma: fix MODULE_ALIAS + - drm: simpledrm: fix wrong unit with pixel clock + - net/sched: sch_ets: don't remove idle classes from the round-robin list + - selftests/net: toeplitz: fix udp option + - net: dsa: mv88e6xxx: Unforce speed & duplex in mac_link_down() + - selftest/net/forwarding: declare NETIFS p9 p10 + - mptcp: never allow the PM to close a listener subflow + - drm/ast: potential dereference of null pointer + - drm/i915/display: Fix an unsigned subtraction which can never be negative. + - mac80211: agg-tx: don't schedule_and_wake_txq() under sta->lock + - cfg80211: Acquire wiphy mutex on regulatory work + - mac80211: fix lookup when adding AddBA extension element + - net: stmmac: fix tc flower deletion for VLAN priority Rx steering + - flow_offload: return EOPNOTSUPP for the unsupported mpls action type + - rds: memory leak in __rds_conn_create() + - ice: Use div64_u64 instead of div_u64 in adjfine + - ice: Don't put stale timestamps in the skb + - drm/amd/display: Set exit_optimized_pwr_state for DCN31 + - drm/amd/pm: fix a potential gpu_metrics_table memory leak + - mptcp: remove tcp ulp setsockopt support + - mptcp: clear 'kern' flag from fallback sockets + - mptcp: fix deadlock in __mptcp_push_pending() + - soc/tegra: fuse: Fix bitwise vs. logical OR warning + - igb: Fix removal of unicast MAC filters of VFs + - igbvf: fix double free in `igbvf_probe` + - igc: Fix typo in i225 LTR functions + - ixgbe: Document how to enable NBASE-T support + - ixgbe: set X550 MDIO speed before talking to PHY + - netdevsim: Zero-initialize memory for new map's value in function + nsim_bpf_map_alloc + - net/packet: rx_owner_map depends on pg_vec + - net: stmmac: dwmac-rk: fix oob read in rk_gmac_setup + - sfc_ef100: potential dereference of null pointer + - dsa: mv88e6xxx: fix debug print for SPEED_UNFORCED + - net: Fix double 0x prefix print in SKB dump + - net/smc: Prevent smc_release() from long blocking + - net: systemport: Add global locking for descriptor lifecycle + - sit: do not call ipip6_dev_free() from sit_init_net() + - afs: Fix mmap + - arm64: kexec: Fix missing error code 'ret' warning in load_other_segments() + - bpf: Fix extable fixup offset. + - bpf, selftests: Fix racing issue in btf_skc_cls_ingress test + - powerpc/85xx: Fix oops when CONFIG_FSL_PMC=n + - USB: gadget: bRequestType is a bitfield, not a enum + - Revert "usb: early: convert to readl_poll_timeout_atomic()" + - KVM: x86: Drop guest CPUID check for host initiated writes to + MSR_IA32_PERF_CAPABILITIES + - tty: n_hdlc: make n_hdlc_tty_wakeup() asynchronous + - USB: NO_LPM quirk Lenovo USB-C to Ethernet Adapher(RTL8153-04) + - usb: dwc2: fix STM ID/VBUS detection startup delay in dwc2_driver_probe + - PCI/MSI: Clear PCI_MSIX_FLAGS_MASKALL on error + - PCI/MSI: Mask MSI-X vectors only on success + - usb: xhci-mtk: fix list_del warning when enable list debug + - usb: xhci: Extend support for runtime power management for AMD's Yellow + carp. + - usb: cdnsp: Fix incorrect status for control request + - usb: cdnsp: Fix incorrect calling of cdnsp_died function + - usb: cdnsp: Fix issue in cdnsp_log_ep trace event + - usb: cdnsp: Fix lack of spin_lock_irqsave/spin_lock_restore + - usb: typec: tcpm: fix tcpm unregister port but leave a pending timer + - usb: gadget: u_ether: fix race in setting MAC address in setup phase + - USB: serial: cp210x: fix CP2105 GPIO registration + - USB: serial: option: add Telit FN990 compositions + - selinux: fix sleeping function called from invalid context + - btrfs: fix memory leak in __add_inode_ref() + - btrfs: fix double free of anon_dev after failure to create subvolume + - btrfs: check WRITE_ERR when trying to read an extent buffer + - btrfs: fix missing blkdev_put() call in btrfs_scan_one_device() + - zonefs: add MODULE_ALIAS_FS + - iocost: Fix divide-by-zero on donation from low hweight cgroup + - serial: 8250_fintek: Fix garbled text for console + - timekeeping: Really make sure wall_to_monotonic isn't positive + - cifs: sanitize multiple delimiters in prepath + - locking/rtmutex: Fix incorrect condition in rtmutex_spin_on_owner() + - riscv: dts: unleashed: Add gpio card detect to mmc-spi-slot + - riscv: dts: unmatched: Add gpio card detect to mmc-spi-slot + - perf inject: Fix segfault due to close without open + - perf inject: Fix segfault due to perf_data__fd() without open + - libata: if T_LENGTH is zero, dma direction should be DMA_NONE + - powerpc/module_64: Fix livepatching for RO modules + - drm/amdgpu: correct register access for RLC_JUMP_TABLE_RESTORE + - drm/amdgpu: don't override default ECO_BITs setting + - drm/amd/pm: fix reading SMU FW version from amdgpu_firmware_info on YC + - Revert "can: m_can: remove support for custom bit timing" + - can: m_can: make custom bittiming fields const + - can: m_can: pci: use custom bit timings for Elkhart Lake + - ARM: dts: imx6ull-pinfunc: Fix CSI_DATA07__ESAI_TX0 pad name + - xsk: Do not sleep in poll() when need_wakeup set + - mptcp: add missing documented NL params + - bpf, x64: Factor out emission of REX byte in more cases + - bpf: Fix extable address check. + - USB: core: Make do_proc_control() and do_proc_bulk() killable + - media: mxl111sf: change mutex_init() location + - fuse: annotate lock in fuse_reverse_inval_entry() + - ovl: fix warning in ovl_create_real() + - scsi: scsi_debug: Don't call kcalloc() if size arg is zero + - scsi: scsi_debug: Fix type in min_t to avoid stack OOB + - scsi: scsi_debug: Sanity check block descriptor length in resp_mode_select() + - io-wq: remove spurious bit clear on task_work addition + - io-wq: check for wq exit after adding new worker task_work + - rcu: Mark accesses to rcu_state.n_force_qs + - io-wq: drop wqe lock before creating new worker + - bus: ti-sysc: Fix variable set but not used warning for reinit_modules + - selftests/damon: test debugfs file reads/writes with huge count + - Revert "xsk: Do not sleep in poll() when need_wakeup set" + - xen/blkfront: harden blkfront against event channel storms + - xen/netfront: harden netfront against event channel storms + - xen/console: harden hvc_xen against event channel storms + - xen/netback: fix rx queue stall detection + - xen/netback: don't queue unlimited number of packages + - Linux 5.15.11 + * Jammy update: v5.15.10 upstream stable release (LP: #1956301) + - nfc: fix segfault in nfc_genl_dump_devices_done + - hwmon: (corsair-psu) fix plain integer used as NULL pointer + - RDMA: Fix use-after-free in rxe_queue_cleanup + - RDMA/mlx5: Fix releasing unallocated memory in dereg MR flow + - mtd: rawnand: Fix nand_erase_op delay + - mtd: rawnand: Fix nand_choose_best_timings() on unsupported interface + - inet: use #ifdef CONFIG_SOCK_RX_QUEUE_MAPPING consistently + - dt-bindings: media: nxp,imx7-mipi-csi2: Drop bad if/then schema + - clk: qcom: sm6125-gcc: Swap ops of ice and apps on sdcc1 + - perf bpf_skel: Do not use typedef to avoid error on old clang + - netfs: Fix lockdep warning from taking sb_writers whilst holding mmap_lock + - RDMA/irdma: Fix a user-after-free in add_pble_prm + - RDMA/irdma: Fix a potential memory allocation issue in + 'irdma_prm_add_pble_mem()' + - RDMA/irdma: Report correct WC errors + - RDMA/irdma: Don't arm the CQ more than two times if no CE for this CQ + - ice: fix FDIR init missing when reset VF + - vmxnet3: fix minimum vectors alloc issue + - i2c: virtio: fix completion handling + - drm/msm: Fix null ptr access msm_ioctl_gem_submit() + - drm/msm/a6xx: Fix uinitialized use of gpu_scid + - drm/msm/dsi: set default num_data_lanes + - drm/msm/dp: Avoid unpowered AUX xfers that caused crashes + - KVM: arm64: Save PSTATE early on exit + - s390/test_unwind: use raw opcode instead of invalid instruction + - Revert "tty: serial: fsl_lpuart: drop earlycon entry for i.MX8QXP" + - net/mlx4_en: Update reported link modes for 1/10G + - loop: Use pr_warn_once() for loop_control_remove() warning + - ALSA: hda: Add Intel DG2 PCI ID and HDMI codec vid + - ALSA: hda/hdmi: fix HDA codec entry table order for ADL-P + - parisc/agp: Annotate parisc agp init functions with __init + - i2c: rk3x: Handle a spurious start completion interrupt flag + - net: netlink: af_netlink: Prevent empty skb by adding a check on len. + - drm/amdgpu: cancel the correct hrtimer on exit + - drm/amdgpu: check atomic flag to differeniate with legacy path + - drm/amd/display: Fix for the no Audio bug with Tiled Displays + - drm/amdkfd: fix double free mem structure + - drm/amd/display: add connector type check for CRC source set + - drm/amdkfd: process_info lock not needed for svm + - tracing: Fix a kmemleak false positive in tracing_map + - staging: most: dim2: use device release method + - fuse: make sure reclaim doesn't write the inode + - perf inject: Fix itrace space allowed for new attributes + - Linux 5.15.10 + * Jammy update: v5.15.9 upstream stable release (LP: #1955161) + - netfilter: selftest: conntrack_vrf.sh: fix file permission + - Linux 5.15.9 + * [SRU][I/J/OEM-5.13/OEM-5.14] Fix pci port lost when hotplug dock + (LP: #1954646) + - PCI: Re-enable Downstream Port LTR after reset or hotplug + * Add support for NVIDIA EC backlight (LP: #1953286) + - platform/x86: Add driver for ACPI WMAA EC-based backlight control + - platform/x86: Remove "WMAA" from identifier names in wmaa-backlight-wmi.c + - platform/x86: Rename wmaa-backlight-wmi to nvidia-wmi-ec-backlight + - [Config] NVIDIA_WMI_EC_BACKLIGHT=m + * Improve USB Type-C support (LP: #1950974) + - usb: typec: ucsi: Always cancel the command if PPM reports BUSY condition + - usb: typec: ucsi: Don't stop alt mode registration on busy condition + - usb: typec: ucsi: Add polling mechanism for partner tasks like alt mode + checking + - usb: typec: ucsi: acpi: Reduce the command completion timeout + - usb: typec: ucsi: Check the partner alt modes always if there is PD contract + - usb: typec: ucsi: Read the PDOs in separate work + - usb: typec: ucsi: Better fix for missing unplug events issue + * Fix power button wakeup with shared IRQs on AMD platforms (LP: #1953540) + - pinctrl: amd: Fix wakeups when IRQ is shared with SCI + * AMD: Suspend not working when some cores are disabled through cpufreq + (LP: #1954930) + - ACPI: processor idle: Allow playing dead in C3 state + * Jammy update: v5.15.8 upstream stable release (LP: #1954931) + - Revert "UBUNTU: SAUCE: selftests: fib_tests: assign address to dummy1 for + rp_filter tests" + - usb: gadget: uvc: fix multiple opens + - HID: quirks: Add quirk for the Microsoft Surface 3 type-cover + - HID: google: add eel USB id + - HID: intel-ish-hid: ipc: only enable IRQ wakeup when requested + - HID: add hid_is_usb() function to make it simpler for USB detection + - HID: add USB_HID dependancy to hid-prodikeys + - HID: add USB_HID dependancy to hid-chicony + - HID: add USB_HID dependancy on some USB HID drivers + - HID: bigbenff: prevent null pointer dereference + - HID: wacom: fix problems when device is not a valid USB device + - HID: check for valid USB device for many HID drivers + - mtd: dataflash: Add device-tree SPI IDs + - mmc: spi: Add device-tree SPI IDs + - HID: sony: fix error path in probe + - HID: Ignore battery for Elan touchscreen on Asus UX550VE + - platform/x86/intel: hid: add quirk to support Surface Go 3 + - nft_set_pipapo: Fix bucket load in AVX2 lookup routine for six 8-bit groups + - IB/hfi1: Insure use of smp_processor_id() is preempt disabled + - IB/hfi1: Fix early init panic + - IB/hfi1: Fix leak of rcvhdrtail_dummy_kvaddr + - can: kvaser_usb: get CAN clock frequency from device + - can: kvaser_pciefd: kvaser_pciefd_rx_error_frame(): increase correct + stats->{rx,tx}_errors counter + - can: sja1000: fix use after free in ems_pcmcia_add_card() + - can: pch_can: pch_can_rx_normal: fix use after free + - can: m_can: m_can_read_fifo: fix memory leak in error branch + - can: m_can: pci: fix incorrect reference clock rate + - can: m_can: pci: fix iomap_read_fifo() and iomap_write_fifo() + - can: m_can: Disable and ignore ELO interrupt + - net: dsa: mv88e6xxx: fix "don't use PHY_DETECT on internal PHY's" + - net: dsa: mv88e6xxx: allow use of PHYs on CPU and DSA ports + - x86/sme: Explicitly map new EFI memmap table as encrypted + - platform/x86: amd-pmc: Fix s2idle failures on certain AMD laptops + - nfc: fix potential NULL pointer deref in nfc_genl_dump_ses_done + - selftests: netfilter: add a vrf+conntrack testcase + - vrf: don't run conntrack on vrf with !dflt qdisc + - bpf, x86: Fix "no previous prototype" warning + - bpf, sockmap: Attach map progs to psock early for feature probes + - bpf: Make sure bpf_disable_instrumentation() is safe vs preemption. + - bpf: Fix the off-by-two error in range markings + - ice: ignore dropped packets during init + - ethtool: do not perform operations on net devices being unregistered + - bonding: make tx_rebalance_counter an atomic + - nfp: Fix memory leak in nfp_cpp_area_cache_add() + - udp: using datalen to cap max gso segments + - netfilter: nft_exthdr: break evaluation if setting TCP option fails + - netfilter: conntrack: annotate data-races around ct->timeout + - iavf: restore MSI state on reset + - iavf: Fix reporting when setting descriptor count + - IB/hfi1: Correct guard on eager buffer deallocation + - devlink: fix netns refcount leak in devlink_nl_cmd_reload() + - net: bcm4908: Handle dma_set_coherent_mask error codes + - net: dsa: mv88e6xxx: error handling for serdes_power functions + - net: dsa: felix: Fix memory leak in felix_setup_mmio_filtering + - net/sched: fq_pie: prevent dismantle issue + - net: mvpp2: fix XDP rx queues registering + - KVM: x86: Don't WARN if userspace mucks with RCX during string I/O exit + - KVM: x86: Ignore sparse banks size for an "all CPUs", non-sparse IPI req + - KVM: x86: Wait for IPIs to be delivered when handling Hyper-V TLB flush + hypercall + - timers: implement usleep_idle_range() + - mm/damon/core: fix fake load reports due to uninterruptible sleeps + - mm/slub: fix endianness bug for alloc/free_traces attributes + - mm: bdi: initialize bdi_min_ratio when bdi is unregistered + - ALSA: ctl: Fix copy of updated id with element read/write + - ALSA: hda/realtek - Add headset Mic support for Lenovo ALC897 platform + - ALSA: hda/realtek: Fix quirk for TongFang PHxTxX1 + - ALSA: pcm: oss: Fix negative period/buffer sizes + - ALSA: pcm: oss: Limit the period size to 16MB + - ALSA: pcm: oss: Handle missing errors in snd_pcm_oss_change_params*() + - cifs: Fix crash on unload of cifs_arc4.ko + - scsi: qla2xxx: Format log strings only if needed + - btrfs: clear extent buffer uptodate when we fail to write it + - btrfs: fix re-dirty process of tree-log nodes + - btrfs: replace the BUG_ON in btrfs_del_root_ref with proper error handling + - btrfs: free exchange changeset on failures + - perf intel-pt: Fix some PGE (packet generation enable/control flow packets) + usage + - perf intel-pt: Fix sync state when a PSB (synchronization) packet is found + - perf intel-pt: Fix intel_pt_fup_event() assumptions about setting state type + - perf intel-pt: Fix state setting when receiving overflow (OVF) packet + - perf intel-pt: Fix next 'err' value, walking trace + - perf intel-pt: Fix missing 'instruction' events with 'q' option + - perf intel-pt: Fix error timestamp setting on the decoder error path + - md: fix update super 1.0 on rdev size change + - nfsd: fix use-after-free due to delegation race + - nfsd: Fix nsfd startup race (again) + - tracefs: Have new files inherit the ownership of their parent + - selftests: KVM: avoid failures due to reserved HyperTransport region + - hwmon: (pwm-fan) Ensure the fan going on in .probe() + - mmc: renesas_sdhi: initialize variable properly when tuning + - clk: qcom: regmap-mux: fix parent clock lookup + - thermal: int340x: Fix VCoRefLow MMIO bit offset for TGL + - drm/syncobj: Deal with signalled fences in drm_syncobj_find_fence. + - libata: add horkage for ASMedia 1092 + - io_uring: ensure task_work gets run as part of cancelations + - wait: add wake_up_pollfree() + - binder: use wake_up_pollfree() + - signalfd: use wake_up_pollfree() + - aio: keep poll requests on waitqueue until completed + - aio: fix use-after-free due to missing POLLFREE handling + - tracefs: Set all files to the same group ownership as the mount option + - i2c: mpc: Use atomic read and fix break condition + - block: fix ioprio_get(IOPRIO_WHO_PGRP) vs setuid(2) + - scsi: pm80xx: Do not call scsi_remove_host() in pm8001_alloc() + - scsi: scsi_debug: Fix buffer size of REPORT ZONES command + - ALSA: usb-audio: Reorder snd_djm_devices[] entries + - qede: validate non LSO skb length + - PM: runtime: Fix pm_runtime_active() kerneldoc comment + - ASoC: rt5682: Fix crash due to out of scope stack vars + - ASoC: qdsp6: q6routing: Fix return value from msm_routing_put_audio_mixer + - ASoC: codecs: wsa881x: fix return values from kcontrol put + - ASoC: codecs: wcd934x: handle channel mappping list correctly + - ASoC: codecs: wcd934x: return correct value from mixer put + - RDMA/hns: Do not halt commands during reset until later + - RDMA/hns: Do not destroy QP resources in the hw resetting phase + - hwmon: (dell-smm) Fix warning on /proc/i8k creation error + - clk: imx: use module_platform_driver + - clk: qcom: clk-alpha-pll: Don't reconfigure running Trion + - i40e: Fix failed opcode appearing if handling messages from VF + - i40e: Fix pre-set max number of queues for VF + - mtd: rawnand: fsmc: Take instruction delay into account + - mtd: rawnand: fsmc: Fix timing computation + - bpf, sockmap: Re-evaluate proto ops when psock is removed from sockmap + - i40e: Fix NULL pointer dereference in i40e_dbg_dump_desc + - Revert "PCI: aardvark: Fix support for PCI_ROM_ADDRESS1 on emulated bridge" + - drm/amd/display: Fix DPIA outbox timeout after S3/S4/reset + - perf tools: Fix SMT detection fast read path + - Documentation/locking/locktypes: Update migrate_disable() bits. + - dt-bindings: net: Reintroduce PHY no lane swap binding + - tools build: Remove needless libpython-version feature check that breaks + test-all fast path + - net: cdc_ncm: Allow for dwNtbOutMaxSize to be unset or zero + - net: altera: set a couple error code in probe() + - net: fec: only clear interrupt of handling queue in fec_enet_rx_queue() + - net, neigh: clear whole pneigh_entry at alloc time + - net/qla3xxx: fix an error code in ql_adapter_up() + - selftests/fib_tests: Rework fib_rp_filter_test() + - USB: gadget: detect too-big endpoint 0 requests + - USB: gadget: zero allocate endpoint 0 buffers + - Revert "usb: dwc3: dwc3-qcom: Enable tx-fifo-resize property by default" + - usb: core: config: fix validation of wMaxPacketValue entries + - usb: core: config: using bit mask instead of individual bits + - xhci: avoid race between disable slot command and host runtime suspend + - iio: gyro: adxrs290: fix data signedness + - iio: trigger: Fix reference counting + - iio: trigger: stm32-timer: fix MODULE_ALIAS + - iio: stk3310: Don't return error code in interrupt handler + - iio: mma8452: Fix trigger reference couting + - iio: ltr501: Don't return error code in trigger handler + - iio: kxsd9: Don't return error code in trigger handler + - iio: itg3200: Call iio_trigger_notify_done() on error + - iio: dln2-adc: Fix lockdep complaint + - iio: dln2: Check return value of devm_iio_trigger_register() + - iio: at91-sama5d2: Fix incorrect sign extension + - iio: adc: stm32: fix a current leak by resetting pcsel before disabling vdda + - iio: adc: axp20x_adc: fix charging current reporting on AXP22x + - iio: ad7768-1: Call iio_trigger_notify_done() on error + - iio: accel: kxcjk-1013: Fix possible memory leak in probe and remove + - nvmem: eeprom: at25: fix FRAM byte_len + - bus: mhi: pci_generic: Fix device recovery failed issue + - bus: mhi: core: Add support for forced PM resume + - csky: fix typo of fpu config macro + - irqchip/aspeed-scu: Replace update_bits with write_bits. + - irqchip/armada-370-xp: Fix return value of armada_370_xp_msi_alloc() + - irqchip/armada-370-xp: Fix support for Multi-MSI interrupts + - aio: Fix incorrect usage of eventfd_signal_allowed() + - irqchip/irq-gic-v3-its.c: Force synchronisation when issuing INVALL + - irqchip: nvic: Fix offset for Interrupt Priority Offsets + - misc: fastrpc: fix improper packet size calculation + - clocksource/drivers/dw_apb_timer_of: Fix probe failure + - bpf: Add selftests to cover packet access corner cases + - Linux 5.15.8 + * Can't read/write SD card after running CPU offline test in 5.11.0 and 5.13.0 + (LP: #1951784) // Jammy update: v5.15.8 upstream stable release + (LP: #1954931) + - misc: rtsx: Avoid mangling IRQ during runtime PM + * Enable Landlock by default (LP: #1953192) + - [Config] Enable Landlock by default + * Add s0i3 RTC wake up for AMD systems (LP: #1950013) + - platform/x86: amd-pmc: Export Idlemask values based on the APU + - platform/x86: amd-pmc: adjust arguments for `amd_pmc_send_cmd` + - platform/x86: amd-pmc: Add special handling for timer based S0i3 wakeup + * Fix runtime power management on USB controller with XHCI_RESET_ON_RESUME + flag (LP: #1954369) + - SAUCE: xhci: Remove CONFIG_USB_DEFAULT_PERSIST to prevent xHCI from runtime + suspending + * Fix System hangs on black screen when reboot (LP: #1949321) + - drm/i915/hdmi: convert intel_hdmi_to_dev to intel_hdmi_to_i915 + - drm/i915: Don't request GMBUS to generate irqs when called while irqs are + off + - drm/i915/hdmi: Turn DP++ TMDS output buffers back on in encoder->shutdown() + * require CAP_NET_ADMIN to attach N_HCI ldisc (LP: #1949516) + - Bluetooth: hci_ldisc: require CAP_NET_ADMIN to attach N_HCI ldisc + * mt7921e: Failed to start WM firmware (LP: #1954300) + - SAUCE: Bluetooth: btusb: Handle download_firmware failure cases + - SAUCE: Bluetooth: btusb: Return error code when getting patch status failed + * Miscellaneous Ubuntu changes + - [Packaging] Add list of built-in modules to the ABI + - [Packaging] abi-check: Process modules.builtin + - SAUCE: allow to use __wake_up_pollfree() from GPL modules + - [Packaging] enforce xz compression for debs + - [Config] update config after v5.15.12 + - [Packaging] temporarily disable signed v4l2loopback + + [ Ubuntu: 5.15.0-14.14 ] + + * jammy/linux: 5.15.0-14.14 -proposed tracker (LP: #1954627) + * Jammy update: v5.15.7 upstream stable release (LP: #1953731) + - ALSA: usb-audio: Restrict rates for the shared clocks + - ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback + - ALSA: usb-audio: Disable low-latency playback for free-wheel mode + - ALSA: usb-audio: Disable low-latency mode for implicit feedback sync + - ALSA: usb-audio: Check available frames for the next packet size + - ALSA: usb-audio: Add spinlock to stop_urbs() + - ALSA: usb-audio: Improved lowlatency playback support + - ALSA: usb-audio: Avoid killing in-flight URBs during draining + - ALSA: usb-audio: Fix packet size calculation regression + - ALSA: usb-audio: Less restriction for low-latency playback mode + - ALSA: usb-audio: Switch back to non-latency mode at a later point + - ALSA: usb-audio: Don't start stream for capture at prepare + - gfs2: release iopen glock early in evict + - gfs2: Fix length of holes reported at end-of-file + - powerpc/pseries/ddw: Revert "Extend upper limit for huge DMA window for + persistent memory" + - powerpc/pseries/ddw: Do not try direct mapping with persistent memory and + one window + - drm/sun4i: fix unmet dependency on RESET_CONTROLLER for PHY_SUN6I_MIPI_DPHY + - mac80211: do not access the IV when it was stripped + - mac80211: fix throughput LED trigger + - x86/hyperv: Move required MSRs check to initial platform probing + - net/smc: Transfer remaining wait queue entries during fallback + - atlantic: Fix OOB read and write in hw_atl_utils_fw_rpc_wait + - net: return correct error code + - pinctrl: qcom: fix unmet dependencies on GPIOLIB for GPIOLIB_IRQCHIP + - platform/x86: dell-wmi-descriptor: disable by default + - platform/x86: thinkpad_acpi: Add support for dual fan control + - platform/x86: thinkpad_acpi: Fix WWAN device disabled issue after S3 deep + - s390/setup: avoid using memblock_enforce_memory_limit + - btrfs: silence lockdep when reading chunk tree during mount + - btrfs: check-integrity: fix a warning on write caching disabled disk + - thermal: core: Reset previous low and high trip during thermal zone init + - scsi: iscsi: Unblock session then wake up error handler + - drm/amd/pm: Remove artificial freq level on Navi1x + - drm/amd/amdkfd: Fix kernel panic when reset failed and been triggered again + - drm/amd/amdgpu: fix potential memleak + - ata: ahci: Add Green Sardine vendor ID as board_ahci_mobile + - ata: libahci: Adjust behavior when StorageD3Enable _DSD is set + - ethernet: hisilicon: hns: hns_dsaf_misc: fix a possible array overflow in + hns_dsaf_ge_srst_by_port() + - ipv6: check return value of ipv6_skip_exthdr + - net: tulip: de4x5: fix the problem that the array 'lp->phy[8]' may be out of + bound + - net: ethernet: dec: tulip: de4x5: fix possible array overflows in + type3_infoblock() + - perf sort: Fix the 'weight' sort key behavior + - perf sort: Fix the 'ins_lat' sort key behavior + - perf sort: Fix the 'p_stage_cyc' sort key behavior + - perf inject: Fix ARM SPE handling + - perf hist: Fix memory leak of a perf_hpp_fmt + - perf report: Fix memory leaks around perf_tip() + - tracing: Don't use out-of-sync va_list in event printing + - net/smc: Avoid warning of possible recursive locking + - ACPI: Add stubs for wakeup handler functions + - net/tls: Fix authentication failure in CCM mode + - vrf: Reset IPCB/IP6CB when processing outbound pkts in vrf dev xmit + - kprobes: Limit max data_size of the kretprobe instances + - ALSA: hda/cs8409: Set PMSG_ON earlier inside cs8409 driver + - rt2x00: do not mark device gone on EPROTO errors during start + - ipmi: Move remove_work to dedicated workqueue + - cpufreq: Fix get_cpu_device() failure in add_cpu_dev_symlink() + - iwlwifi: mvm: retry init flow if failed + - dma-buf: system_heap: Use 'for_each_sgtable_sg' in pages free flow + - s390/pci: move pseudo-MMIO to prevent MIO overlap + - fget: check that the fd still exists after getting a ref to it + - sata_fsl: fix UAF in sata_fsl_port_stop when rmmod sata_fsl + - sata_fsl: fix warning in remove_proc_entry when rmmod sata_fsl + - scsi: lpfc: Fix non-recovery of remote ports following an unsolicited LOGO + - scsi: ufs: ufs-pci: Add support for Intel ADL + - ipv6: fix memory leak in fib6_rule_suppress + - drm/amd/display: Allow DSC on supported MST branch devices + - drm/i915/dp: Perform 30ms delay after source OUI write + - KVM: fix avic_set_running for preemptable kernels + - KVM: Disallow user memslot with size that exceeds "unsigned long" + - KVM: x86/mmu: Fix TLB flush range when handling disconnected pt + - KVM: Ensure local memslot copies operate on up-to-date arch-specific data + - KVM: x86: ignore APICv if LAPIC is not enabled + - KVM: nVMX: Emulate guest TLB flush on nested VM-Enter with new vpid12 + - KVM: nVMX: Flush current VPID (L1 vs. L2) for KVM_REQ_TLB_FLUSH_GUEST + - KVM: nVMX: Abide to KVM_REQ_TLB_FLUSH_GUEST request on nested vmentry/vmexit + - KVM: VMX: prepare sync_pir_to_irr for running with APICv disabled + - KVM: x86: Use a stable condition around all VT-d PI paths + - KVM: MMU: shadow nested paging does not have PKU + - KVM: arm64: Avoid setting the upper 32 bits of TCR_EL2 and CPTR_EL2 to 1 + - KVM: X86: Use vcpu->arch.walk_mmu for kvm_mmu_invlpg() + - KVM: x86: check PIR even for vCPUs with disabled APICv + - tracing/histograms: String compares should not care about signed values + - net: dsa: mv88e6xxx: Fix application of erratum 4.8 for 88E6393X + - net: dsa: mv88e6xxx: Drop unnecessary check in + mv88e6393x_serdes_erratum_4_6() + - net: dsa: mv88e6xxx: Save power by disabling SerDes trasmitter and receiver + - net: dsa: mv88e6xxx: Add fix for erratum 5.2 of 88E6393X family + - net: dsa: mv88e6xxx: Fix inband AN for 2500base-x on 88E6393X family + - net: dsa: mv88e6xxx: Link in pcs_get_state() if AN is bypassed + - wireguard: selftests: increase default dmesg log size + - wireguard: allowedips: add missing __rcu annotation to satisfy sparse + - wireguard: selftests: actually test for routing loops + - wireguard: selftests: rename DEBUG_PI_LIST to DEBUG_PLIST + - wireguard: device: reset peer src endpoint when netns exits + - wireguard: receive: use ring buffer for incoming handshakes + - wireguard: receive: drop handshakes if queue lock is contended + - wireguard: ratelimiter: use kvcalloc() instead of kvzalloc() + - i2c: stm32f7: flush TX FIFO upon transfer errors + - i2c: stm32f7: recover the bus on access timeout + - i2c: stm32f7: stop dma transfer in case of NACK + - i2c: cbus-gpio: set atomic transfer callback + - natsemi: xtensa: fix section mismatch warnings + - tcp: fix page frag corruption on page fault + - net: qlogic: qlcnic: Fix a NULL pointer dereference in + qlcnic_83xx_add_rings() + - net: mpls: Fix notifications when deleting a device + - siphash: use _unaligned version by default + - arm64: ftrace: add missing BTIs + - iwlwifi: fix warnings produced by kernel debug options + - net/mlx5e: IPsec: Fix Software parser inner l3 type setting in case of + encapsulation + - net/mlx4_en: Fix an use-after-free bug in mlx4_en_try_alloc_resources() + - selftests: net: Correct case name + - net: dsa: b53: Add SPI ID table + - mt76: mt7915: fix NULL pointer dereference in mt7915_get_phy_mode + - ASoC: tegra: Fix wrong value type in ADMAIF + - ASoC: tegra: Fix wrong value type in I2S + - ASoC: tegra: Fix wrong value type in DMIC + - ASoC: tegra: Fix wrong value type in DSPK + - ASoC: tegra: Fix kcontrol put callback in ADMAIF + - ASoC: tegra: Fix kcontrol put callback in I2S + - ASoC: tegra: Fix kcontrol put callback in DMIC + - ASoC: tegra: Fix kcontrol put callback in DSPK + - ASoC: tegra: Fix kcontrol put callback in AHUB + - rxrpc: Fix rxrpc_peer leak in rxrpc_look_up_bundle() + - rxrpc: Fix rxrpc_local leak in rxrpc_lookup_peer() + - ALSA: intel-dsp-config: add quirk for CML devices based on ES8336 codec + - net: stmmac: Avoid DMA_CHAN_CONTROL write if no Split Header support + - net: usb: lan78xx: lan78xx_phy_init(): use PHY_POLL instead of "0" if no IRQ + is available + - net: marvell: mvpp2: Fix the computation of shared CPUs + - dpaa2-eth: destroy workqueue at the end of remove function + - octeontx2-af: Fix a memleak bug in rvu_mbox_init() + - net: annotate data-races on txq->xmit_lock_owner + - ipv4: convert fib_num_tclassid_users to atomic_t + - net/smc: fix wrong list_del in smc_lgr_cleanup_early + - net/rds: correct socket tunable error in rds_tcp_tune() + - net/smc: Keep smc_close_final rc during active close + - drm/msm/a6xx: Allocate enough space for GMU registers + - drm/msm: Do hw_init() before capturing GPU state + - drm/vc4: kms: Wait for the commit before increasing our clock rate + - drm/vc4: kms: Fix return code check + - drm/vc4: kms: Add missing drm_crtc_commit_put + - drm/vc4: kms: Clear the HVS FIFO commit pointer once done + - drm/vc4: kms: Don't duplicate pending commit + - drm/vc4: kms: Fix previous HVS commit wait + - atlantic: Increase delay for fw transactions + - atlatnic: enable Nbase-t speeds with base-t + - atlantic: Fix to display FW bundle version instead of FW mac version. + - atlantic: Add missing DIDs and fix 115c. + - Remove Half duplex mode speed capabilities. + - atlantic: Fix statistics logic for production hardware + - atlantic: Remove warn trace message. + - KVM: x86/mmu: Skip tlb flush if it has been done in zap_gfn_range() + - KVM: x86/mmu: Pass parameter flush as false in + kvm_tdp_mmu_zap_collapsible_sptes() + - drm/msm/devfreq: Fix OPP refcnt leak + - drm/msm: Fix mmap to include VM_IO and VM_DONTDUMP + - drm/msm: Fix wait_fence submitqueue leak + - drm/msm: Restore error return on invalid fence + - ASoC: rk817: Add module alias for rk817-codec + - iwlwifi: Fix memory leaks in error handling path + - KVM: X86: Fix when shadow_root_level=5 && guest root_level<4 + - KVM: SEV: initialize regions_list of a mirror VM + - net/mlx5e: Fix missing IPsec statistics on uplink representor + - net/mlx5: Move MODIFY_RQT command to ignore list in internal error state + - net/mlx5: E-switch, Respect BW share of the new group + - net/mlx5: E-Switch, fix single FDB creation on BlueField + - net/mlx5: E-Switch, Check group pointer before reading bw_share value + - KVM: x86/pmu: Fix reserved bits for AMD PerfEvtSeln register + - KVM: VMX: Set failure code in prepare_vmcs02() + - mctp: Don't let RTM_DELROUTE delete local routes + - Revert "drm/i915: Implement Wa_1508744258" + - io-wq: don't retry task_work creation failure on fatal conditions + - x86/sev: Fix SEV-ES INS/OUTS instructions for word, dword, and qword + - x86/entry: Add a fence for kernel entry SWAPGS in paranoid_entry() + - x86/entry: Use the correct fence macro after swapgs in kernel CR3 + - x86/xen: Add xenpv_restore_regs_and_return_to_usermode() + - preempt/dynamic: Fix setup_preempt_mode() return value + - sched/uclamp: Fix rq->uclamp_max not set on first enqueue + - KVM: SEV: Return appropriate error codes if SEV-ES scratch setup fails + - KVM: x86/mmu: Rename slot_handle_leaf to slot_handle_level_4k + - KVM: x86/mmu: Remove spurious TLB flushes in TDP MMU zap collapsible path + - net/mlx5e: Rename lro_timeout to packet_merge_timeout + - net/mlx5e: Rename TIR lro functions to TIR packet merge functions + - net/mlx5e: Sync TIR params updates against concurrent create/modify + - serial: 8250_bcm7271: UART errors after resuming from S2 + - parisc: Fix KBUILD_IMAGE for self-extracting kernel + - parisc: Fix "make install" on newer debian releases + - parisc: Mark cr16 CPU clocksource unstable on all SMP machines + - vgacon: Propagate console boot parameters before calling `vc_resize' + - xhci: Fix commad ring abort, write all 64 bits to CRCR register. + - USB: NO_LPM quirk Lenovo Powered USB-C Travel Hub + - usb: typec: tcpm: Wait in SNK_DEBOUNCED until disconnect + - usb: cdns3: gadget: fix new urb never complete if ep cancel previous + requests + - usb: cdnsp: Fix a NULL pointer dereference in cdnsp_endpoint_init() + - x86/tsc: Add a timer to make sure TSC_adjust is always checked + - x86/tsc: Disable clocksource watchdog for TSC on qualified platorms + - x86/64/mm: Map all kernel memory into trampoline_pgd + - tty: serial: msm_serial: Deactivate RX DMA for polling support + - serial: pl011: Add ACPI SBSA UART match id + - serial: tegra: Change lower tolerance baud rate limit for tegra20 and + tegra30 + - serial: core: fix transmit-buffer reset and memleak + - serial: 8250_pci: Fix ACCES entries in pci_serial_quirks array + - serial: 8250_pci: rewrite pericom_do_set_divisor() + - serial: 8250: Fix RTS modem control while in rs485 mode + - serial: liteuart: Fix NULL pointer dereference in ->remove() + - serial: liteuart: fix use-after-free and memleak on unbind + - serial: liteuart: fix minor-number leak on probe errors + - ipmi: msghandler: Make symbol 'remove_work_wq' static + - Linux 5.15.7 + * Updates to ib_peer_memory requested by Nvidia (LP: #1947206) + - SAUCE: RDMA/core: Updated ib_peer_memory + - SAUCE: RDMA/core: ib_peer_memory fix build errors + * Jammy update: v5.15.6 upstream stable release (LP: #1953370) + - scsi: sd: Fix sd_do_mode_sense() buffer length handling + - ACPI: Get acpi_device's parent from the parent field + - ACPI: CPPC: Add NULL pointer check to cppc_get_perf() + - USB: serial: pl2303: fix GC type detection + - USB: serial: option: add Telit LE910S1 0x9200 composition + - USB: serial: option: add Fibocom FM101-GL variants + - usb: dwc2: gadget: Fix ISOC flow for elapsed frames + - usb: dwc2: hcd_queue: Fix use of floating point literal + - usb: dwc3: leave default DMA for PCI devices + - usb: dwc3: core: Revise GHWPARAMS9 offset + - usb: dwc3: gadget: Ignore NoStream after End Transfer + - usb: dwc3: gadget: Check for L1/L2/U3 for Start Transfer + - usb: dwc3: gadget: Fix null pointer exception + - net: usb: Correct PHY handling of smsc95xx + - net: nexthop: fix null pointer dereference when IPv6 is not enabled + - usb: chipidea: ci_hdrc_imx: fix potential error pointer dereference in probe + - usb: typec: fusb302: Fix masking of comparator and bc_lvl interrupts + - usb: xhci: tegra: Check padctrl interrupt presence in device tree + - usb: hub: Fix usb enumeration issue due to address0 race + - usb: hub: Fix locking issues with address0_mutex + - binder: fix test regression due to sender_euid change + - ALSA: ctxfi: Fix out-of-range access + - ALSA: hda/realtek: Add quirk for ASRock NUC Box 1100 + - ALSA: hda/realtek: Fix LED on HP ProBook 435 G7 + - media: cec: copy sequence field for the reply + - Revert "parisc: Fix backtrace to always include init funtion names" + - HID: wacom: Use "Confidence" flag to prevent reporting invalid contacts + - staging/fbtft: Fix backlight + - staging: greybus: Add missing rwsem around snd_ctl_remove() calls + - staging: rtl8192e: Fix use after free in _rtl92e_pci_disconnect() + - staging: r8188eu: Use kzalloc() with GFP_ATOMIC in atomic context + - staging: r8188eu: Fix breakage introduced when 5G code was removed + - staging: r8188eu: use GFP_ATOMIC under spinlock + - staging: r8188eu: fix a memory leak in rtw_wx_read32() + - fuse: release pipe buf after last use + - xen: don't continue xenstore initialization in case of errors + - xen: detect uninitialized xenbus in xenbus_init + - io_uring: correct link-list traversal locking + - io_uring: fail cancellation for EXITING tasks + - io_uring: fix link traversal locking + - drm/amdgpu: IH process reset count when restart + - drm/amdgpu/pm: fix powerplay OD interface + - drm/nouveau: recognise GA106 + - ksmbd: downgrade addition info error msg to debug in smb2_get_info_sec() + - ksmbd: contain default data stream even if xattr is empty + - ksmbd: fix memleak in get_file_stream_info() + - KVM: PPC: Book3S HV: Prevent POWER7/8 TLB flush flushing SLB + - tracing/uprobe: Fix uprobe_perf_open probes iteration + - tracing: Fix pid filtering when triggers are attached + - mmc: sdhci-esdhc-imx: disable CMDQ support + - mmc: sdhci: Fix ADMA for PAGE_SIZE >= 64KiB + - mdio: aspeed: Fix "Link is Down" issue + - arm64: mm: Fix VM_BUG_ON(mm != &init_mm) for trans_pgd + - cpufreq: intel_pstate: Fix active mode offline/online EPP handling + - powerpc/32: Fix hardlockup on vmap stack overflow + - iomap: Fix inline extent handling in iomap_readpage + - NFSv42: Fix pagecache invalidation after COPY/CLONE + - PCI: aardvark: Deduplicate code in advk_pcie_rd_conf() + - PCI: aardvark: Implement re-issuing config requests on CRS response + - PCI: aardvark: Simplify initialization of rootcap on virtual bridge + - PCI: aardvark: Fix link training + - drm/amd/display: Fix OLED brightness control on eDP + - proc/vmcore: fix clearing user buffer by properly using clear_user() + - ASoC: SOF: Intel: hda: fix hotplug when only codec is suspended + - netfilter: ctnetlink: fix filtering with CTA_TUPLE_REPLY + - netfilter: ctnetlink: do not erase error code with EINVAL + - netfilter: ipvs: Fix reuse connection if RS weight is 0 + - netfilter: flowtable: fix IPv6 tunnel addr match + - media: v4l2-core: fix VIDIOC_DQEVENT handling on non-x86 + - firmware: arm_scmi: Fix null de-reference on error path + - ARM: dts: BCM5301X: Fix I2C controller interrupt + - ARM: dts: BCM5301X: Add interrupt properties to GPIO node + - ARM: dts: bcm2711: Fix PCIe interrupts + - ASoC: qdsp6: q6routing: Conditionally reset FrontEnd Mixer + - ASoC: qdsp6: q6asm: fix q6asm_dai_prepare error handling + - ASoC: topology: Add missing rwsem around snd_ctl_remove() calls + - ASoC: codecs: wcd938x: fix volatile register range + - ASoC: codecs: wcd934x: return error code correctly from hw_params + - ASoC: codecs: lpass-rx-macro: fix HPHR setting CLSH mask + - net: ieee802154: handle iftypes as u32 + - firmware: arm_scmi: Fix base agent discover response + - firmware: arm_scmi: pm: Propagate return value to caller + - ASoC: stm32: i2s: fix 32 bits channel length without mclk + - NFSv42: Don't fail clone() unless the OP_CLONE operation failed + - ARM: socfpga: Fix crash with CONFIG_FORTIRY_SOURCE + - drm/nouveau/acr: fix a couple NULL vs IS_ERR() checks + - scsi: qla2xxx: edif: Fix off by one bug in qla_edif_app_getfcinfo() + - scsi: mpt3sas: Fix kernel panic during drive powercycle test + - scsi: mpt3sas: Fix system going into read-only mode + - scsi: mpt3sas: Fix incorrect system timestamp + - drm/vc4: fix error code in vc4_create_object() + - drm/aspeed: Fix vga_pw sysfs output + - net: marvell: prestera: fix brige port operation + - net: marvell: prestera: fix double free issue on err path + - HID: input: Fix parsing of HID_CP_CONSUMER_CONTROL fields + - HID: input: set usage type to key on keycode remap + - HID: magicmouse: prevent division by 0 on scroll + - iavf: Prevent changing static ITR values if adaptive moderation is on + - iavf: Fix refreshing iavf adapter stats on ethtool request + - iavf: Fix VLAN feature flags after VFR + - x86/pvh: add prototype for xen_pvh_init() + - xen/pvh: add missing prototype to header + - ALSA: intel-dsp-config: add quirk for JSL devices based on ES8336 codec + - mptcp: fix delack timer + - mptcp: use delegate action to schedule 3rd ack retrans + - af_unix: fix regression in read after shutdown + - firmware: smccc: Fix check for ARCH_SOC_ID not implemented + - ipv6: fix typos in __ip6_finish_output() + - nfp: checking parameter process for rx-usecs/tx-usecs is invalid + - net: stmmac: retain PTP clock time during SIOCSHWTSTAMP ioctls + - net: ipv6: add fib6_nh_release_dsts stub + - net: nexthop: release IPv6 per-cpu dsts when replacing a nexthop group + - ice: fix vsi->txq_map sizing + - ice: avoid bpf_prog refcount underflow + - scsi: core: sysfs: Fix setting device state to SDEV_RUNNING + - scsi: scsi_debug: Zero clear zones at reset write pointer + - erofs: fix deadlock when shrink erofs slab + - i2c: virtio: disable timeout handling + - net/smc: Ensure the active closing peer first closes clcsock + - mlxsw: spectrum: Protect driver from buggy firmware + - net: ipa: directly disable ipa-setup-ready interrupt + - net: ipa: separate disabling setup from modem stop + - net: ipa: kill ipa_cmd_pipeline_clear() + - net: marvell: mvpp2: increase MTU limit when XDP enabled + - cpufreq: intel_pstate: Add Ice Lake server to out-of-band IDs + - nvmet-tcp: fix incomplete data digest send + - drm/hyperv: Fix device removal on Gen1 VMs + - arm64: uaccess: avoid blocking within critical sections + - net/ncsi : Add payload to be 32-bit aligned to fix dropped packets + - PM: hibernate: use correct mode for swsusp_close() + - drm/amd/display: Fix DPIA outbox timeout after GPU reset + - drm/amd/display: Set plane update flags for all planes in reset + - tcp_cubic: fix spurious Hystart ACK train detections for not-cwnd-limited + flows + - lan743x: fix deadlock in lan743x_phy_link_status_change() + - net: phylink: Force link down and retrigger resolve on interface change + - net: phylink: Force retrigger in case of latched link-fail indicator + - net/smc: Fix NULL pointer dereferencing in smc_vlan_by_tcpsk() + - net/smc: Fix loop in smc_listen + - nvmet: use IOCB_NOWAIT only if the filesystem supports it + - igb: fix netpoll exit with traffic + - MIPS: loongson64: fix FTLB configuration + - MIPS: use 3-level pgtable for 64KB page size on MIPS_VA_BITS_48 + - tls: splice_read: fix record type check + - tls: splice_read: fix accessing pre-processed records + - tls: fix replacing proto_ops + - net: stmmac: Disable Tx queues when reconfiguring the interface + - net/sched: sch_ets: don't peek at classes beyond 'nbands' + - ethtool: ioctl: fix potential NULL deref in ethtool_set_coalesce() + - net: vlan: fix underflow for the real_dev refcnt + - net/smc: Don't call clcsock shutdown twice when smc shutdown + - net: hns3: fix VF RSS failed problem after PF enable multi-TCs + - net: hns3: fix incorrect components info of ethtool --reset command + - net: mscc: ocelot: don't downgrade timestamping RX filters in SIOCSHWTSTAMP + - net: mscc: ocelot: correctly report the timestamping RX filters in ethtool + - locking/rwsem: Make handoff bit handling more consistent + - perf: Ignore sigtrap for tracepoints destined for other tasks + - sched/scs: Reset task stack state in bringup_cpu() + - iommu/rockchip: Fix PAGE_DESC_HI_MASKs for RK3568 + - iommu/vt-d: Fix unmap_pages support + - f2fs: quota: fix potential deadlock + - f2fs: set SBI_NEED_FSCK flag when inconsistent node block found + - riscv: dts: microchip: fix board compatible + - riscv: dts: microchip: drop duplicated MMC/SDHC node + - cifs: nosharesock should not share socket with future sessions + - ceph: properly handle statfs on multifs setups + - iommu/amd: Clarify AMD IOMMUv2 initialization messages + - vdpa_sim: avoid putting an uninitialized iova_domain + - vhost/vsock: fix incorrect used length reported to the guest + - ksmbd: Fix an error handling path in 'smb2_sess_setup()' + - tracing: Check pid filtering when creating events + - cifs: nosharesock should be set on new server + - io_uring: fix soft lockup when call __io_remove_buffers + - firmware: arm_scmi: Fix type error assignment in voltage protocol + - firmware: arm_scmi: Fix type error in sensor protocol + - docs: accounting: update delay-accounting.rst reference + - blk-mq: cancel blk-mq dispatch work in both blk_cleanup_queue and + disk_release() + - block: avoid to quiesce queue in elevator_init_mq + - drm/amdgpu/gfx10: add wraparound gpu counter check for APUs as well + - drm/amdgpu/gfx9: switch to golden tsc registers for renoir+ + - Linux 5.15.6 + * Fix bogus HDMI audio interface (LP: #1953208) + - ALSA: hda/hdmi: Consider ELD is invalid when no SAD is present + * Miscellaneous Ubuntu changes + - [Config] re-enabled UBSAN without TRAP + - SAUCE: ipv6: fix NULL pointer dereference in ip6_output() + - SAUCE: RDMA/core: Introduce peer memory interface + - [Config] toolchain version update + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] Temporarily disable signing for ppc64el and s390x" + - Revert "UBUNTU: SAUCE: vt -- maintain bootloader screen mode and content + until vt switch" + + [ Ubuntu: 5.15.0-13.13 ] + + * jammy/linux: 5.15.0-13.13 -proposed tracker (LP: #1952583) + * Packaging resync (LP: #1786013) + - [Packaging] resync update-dkms-versions helper + - debian/dkms-versions -- update from kernel-versions (main/master) + * Jammy update: v5.15.5 upstream stable release (LP: #1952579) + - arm64: zynqmp: Do not duplicate flash partition label property + - arm64: zynqmp: Fix serial compatible string + - clk: sunxi-ng: Unregister clocks/resets when unbinding + - ARM: dts: sunxi: Fix OPPs node name + - arm64: dts: allwinner: h5: Fix GPU thermal zone node name + - arm64: dts: allwinner: a100: Fix thermal zone node name + - staging: wfx: ensure IRQ is ready before enabling it + - ARM: dts: BCM5301X: Fix nodes names + - ARM: dts: BCM5301X: Fix MDIO mux binding + - ARM: dts: NSP: Fix mpcore, mmc node names + - arm64: dts: broadcom: bcm4908: Move reboot syscon out of bus + - scsi: pm80xx: Fix memory leak during rmmod + - scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq() + - ASoC: mediatek: mt8195: Add missing of_node_put() + - arm64: dts: rockchip: Disable CDN DP on Pinebook Pro + - arm64: dts: hisilicon: fix arm,sp805 compatible string + - RDMA/bnxt_re: Check if the vlan is valid before reporting + - bus: ti-sysc: Add quirk handling for reinit on context lost + - bus: ti-sysc: Use context lost quirk for otg + - usb: musb: tusb6010: check return value after calling + platform_get_resource() + - usb: typec: tipd: Remove WARN_ON in tps6598x_block_read + - ARM: dts: ux500: Skomer regulator fixes + - staging: rtl8723bs: remove possible deadlock when disconnect (v2) + - staging: rtl8723bs: remove a second possible deadlock + - staging: rtl8723bs: remove a third possible deadlock + - ARM: BCM53016: Specify switch ports for Meraki MR32 + - arm64: dts: qcom: msm8998: Fix CPU/L2 idle state latency and residency + - arm64: dts: qcom: ipq6018: Fix qcom,controlled-remotely property + - arm64: dts: qcom: ipq8074: Fix qcom,controlled-remotely property + - arm64: dts: qcom: sdm845: Fix qcom,controlled-remotely property + - arm64: dts: freescale: fix arm,sp805 compatible string + - arm64: dts: ls1012a: Add serial alias for ls1012a-rdb + - RDMA/rxe: Separate HW and SW l/rkeys + - ASoC: SOF: Intel: hda-dai: fix potential locking issue + - scsi: core: Fix scsi_mode_sense() buffer length handling + - ALSA: usb-audio: disable implicit feedback sync for Behringer UFX1204 and + UFX1604 + - clk: imx: imx6ul: Move csi_sel mux to correct base register + - ASoC: es8316: Use IRQF_NO_AUTOEN when requesting the IRQ + - ASoC: rt5651: Use IRQF_NO_AUTOEN when requesting the IRQ + - ASoC: nau8824: Add DMI quirk mechanism for active-high jack-detect + - scsi: advansys: Fix kernel pointer leak + - scsi: smartpqi: Add controller handshake during kdump + - arm64: dts: imx8mm-kontron: Fix reset delays for ethernet PHY + - ALSA: intel-dsp-config: add quirk for APL/GLK/TGL devices based on ES8336 + codec + - ASoC: Intel: soc-acpi: add missing quirk for TGL SDCA single amp + - ASoC: Intel: sof_sdw: add missing quirk for Dell SKU 0A45 + - firmware_loader: fix pre-allocated buf built-in firmware use + - HID: multitouch: disable sticky fingers for UPERFECT Y + - ALSA: usb-audio: Add support for the Pioneer DJM 750MK2 Mixer/Soundcard + - ARM: dts: omap: fix gpmc,mux-add-data type + - usb: host: ohci-tmio: check return value after calling + platform_get_resource() + - ASoC: rt5682: fix a little pop while playback + - ARM: dts: ls1021a: move thermal-zones node out of soc/ + - ARM: dts: ls1021a-tsn: use generic "jedec,spi-nor" compatible for flash + - ALSA: ISA: not for M68K + - iommu/vt-d: Do not falsely log intel_iommu is unsupported kernel option + - tty: tty_buffer: Fix the softlockup issue in flush_to_ldisc + - MIPS: sni: Fix the build + - scsi: scsi_debug: Fix out-of-bound read in resp_readcap16() + - scsi: scsi_debug: Fix out-of-bound read in resp_report_tgtpgs() + - scsi: target: Fix ordered tag handling + - scsi: target: Fix alua_tg_pt_gps_count tracking + - iio: imu: st_lsm6dsx: Avoid potential array overflow in st_lsm6dsx_set_odr() + - RDMA/core: Use kvzalloc when allocating the struct ib_port + - scsi: lpfc: Fix use-after-free in lpfc_unreg_rpi() routine + - scsi: lpfc: Fix link down processing to address NULL pointer dereference + - scsi: lpfc: Allow fabric node recovery if recovery is in progress before + devloss + - memory: tegra20-emc: Add runtime dependency on devfreq governor module + - powerpc/5200: dts: fix memory node unit name + - ARM: dts: qcom: fix memory and mdio nodes naming for RB3011 + - arm64: dts: qcom: Fix node name of rpm-msg-ram device nodes + - ALSA: gus: fix null pointer dereference on pointer block + - ALSA: usb-audio: fix null pointer dereference on pointer cs_desc + - clk: at91: sama7g5: remove prescaler part of master clock + - iommu/dart: Initialize DART_STREAMS_ENABLE + - powerpc/dcr: Use cmplwi instead of 3-argument cmpli + - powerpc/8xx: Fix Oops with STRICT_KERNEL_RWX without DEBUG_RODATA_TEST + - sh: check return code of request_irq + - maple: fix wrong return value of maple_bus_init(). + - f2fs: fix up f2fs_lookup tracepoints + - f2fs: fix to use WHINT_MODE + - f2fs: fix wrong condition to trigger background checkpoint correctly + - sh: fix kconfig unmet dependency warning for FRAME_POINTER + - sh: math-emu: drop unused functions + - sh: define __BIG_ENDIAN for math-emu + - f2fs: compress: disallow disabling compress on non-empty compressed file + - f2fs: fix incorrect return value in f2fs_sanity_check_ckpt() + - clk: ingenic: Fix bugs with divided dividers + - clk/ast2600: Fix soc revision for AHB + - clk: qcom: gcc-msm8996: Drop (again) gcc_aggre1_pnoc_ahb_clk + - KVM: arm64: Fix host stage-2 finalization + - mips: BCM63XX: ensure that CPU_SUPPORTS_32BIT_KERNEL is set + - MIPS: boot/compressed/: add __bswapdi2() to target for ZSTD decompression + - sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain() + - sched/fair: Prevent dead task groups from regaining cfs_rq's + - perf/x86/vlbr: Add c->flags to vlbr event constraints + - blkcg: Remove extra blkcg_bio_issue_init + - tracing/histogram: Do not copy the fixed-size char array field over the + field size + - perf bpf: Avoid memory leak from perf_env__insert_btf() + - perf bench futex: Fix memory leak of perf_cpu_map__new() + - perf tests: Remove bash construct from record+zstd_comp_decomp.sh + - drm/nouveau: hdmigv100.c: fix corrupted HDMI Vendor InfoFrame + - bpf: Fix inner map state pruning regression. + - samples/bpf: Fix summary per-sec stats in xdp_sample_user + - samples/bpf: Fix incorrect use of strlen in xdp_redirect_cpu + - selftests: net: switch to socat in the GSO GRE test + - net/ipa: ipa_resource: Fix wrong for loop range + - tcp: Fix uninitialized access in skb frags array for Rx 0cp. + - tracing: Add length protection to histogram string copies + - nl80211: fix radio statistics in survey dump + - mac80211: fix monitor_sdata RCU/locking assertions + - net: ipa: HOLB register sometimes must be written twice + - net: ipa: disable HOLB drop when updating timer + - selftests: gpio: fix gpio compiling error + - net: bnx2x: fix variable dereferenced before check + - bnxt_en: reject indirect blk offload when hw-tc-offload is off + - tipc: only accept encrypted MSG_CRYPTO msgs + - sock: fix /proc/net/sockstat underflow in sk_clone_lock() + - net/smc: Make sure the link_id is unique + - NFSD: Fix exposure in nfsd4_decode_bitmap() + - iavf: Fix return of set the new channel count + - iavf: check for null in iavf_fix_features + - iavf: free q_vectors before queues in iavf_disable_vf + - iavf: don't clear a lock we don't hold + - iavf: Fix failure to exit out from last all-multicast mode + - iavf: prevent accidental free of filter structure + - iavf: validate pointers + - iavf: Fix for the false positive ASQ/ARQ errors while issuing VF reset + - iavf: Fix for setting queues to 0 + - iavf: Restore VLAN filters after link down + - bpf: Fix toctou on read-only map's constant scalar tracking + - MIPS: generic/yamon-dt: fix uninitialized variable error + - mips: bcm63xx: add support for clk_get_parent() + - mips: lantiq: add support for clk_get_parent() + - gpio: rockchip: needs GENERIC_IRQ_CHIP to fix build errors + - platform/x86: hp_accel: Fix an error handling path in 'lis3lv02d_probe()' + - platform/x86: think-lmi: Abort probe on analyze failure + - udp: Validate checksum in udp_read_sock() + - btrfs: make 1-bit bit-fields of scrub_page unsigned int + - RDMA/core: Set send and receive CQ before forwarding to the driver + - net/mlx5e: kTLS, Fix crash in RX resync flow + - net/mlx5e: Wait for concurrent flow deletion during neigh/fib events + - net/mlx5: E-Switch, Fix resetting of encap mode when entering switchdev + - net/mlx5e: nullify cq->dbg pointer in mlx5_debug_cq_remove() + - net/mlx5: Update error handler for UCTX and UMEM + - net/mlx5: E-Switch, rebuild lag only when needed + - net/mlx5e: CT, Fix multiple allocations and memleak of mod acts + - net/mlx5: Lag, update tracker when state change event received + - net/mlx5: E-Switch, return error if encap isn't supported + - scsi: ufs: core: Improve SCSI abort handling + - scsi: core: sysfs: Fix hang when device state is set via sysfs + - scsi: ufs: core: Fix task management completion timeout race + - scsi: ufs: core: Fix another task management completion race + - net: mvmdio: fix compilation warning + - net: sched: act_mirred: drop dst for the direction from egress to ingress + - net: dpaa2-eth: fix use-after-free in dpaa2_eth_remove + - net: virtio_net_hdr_to_skb: count transport header in UFO + - i40e: Fix correct max_pkt_size on VF RX queue + - i40e: Fix NULL ptr dereference on VSI filter sync + - i40e: Fix changing previously set num_queue_pairs for PFs + - i40e: Fix ping is lost after configuring ADq on VF + - RDMA/mlx4: Do not fail the registration on port stats + - i40e: Fix warning message and call stack during rmmod i40e driver + - i40e: Fix creation of first queue by omitting it if is not power of two + - i40e: Fix display error code in dmesg + - NFC: reorganize the functions in nci_request + - NFC: reorder the logic in nfc_{un,}register_device + - NFC: add NCI_UNREG flag to eliminate the race + - e100: fix device suspend/resume + - ptp: ocp: Fix a couple NULL vs IS_ERR() checks + - tools build: Fix removal of feature-sync-compare-and-swap feature detection + - riscv: fix building external modules + - KVM: PPC: Book3S HV: Use GLOBAL_TOC for kvmppc_h_set_dabr/xdabr() + - powerpc: clean vdso32 and vdso64 directories + - powerpc/pseries: rename numa_dist_table to form2_distances + - powerpc/pseries: Fix numa FORM2 parsing fallback code + - pinctrl: qcom: sdm845: Enable dual edge errata + - pinctrl: qcom: sm8350: Correct UFS and SDC offsets + - perf/x86/intel/uncore: Fix filter_tid mask for CHA events on Skylake Server + - perf/x86/intel/uncore: Fix IIO event constraints for Skylake Server + - perf/x86/intel/uncore: Fix IIO event constraints for Snowridge + - s390/kexec: fix return code handling + - blk-cgroup: fix missing put device in error path from blkg_conf_pref() + - dmaengine: remove debugfs #ifdef + - tun: fix bonding active backup with arp monitoring + - Revert "mark pstore-blk as broken" + - pstore/blk: Use "%lu" to format unsigned long + - hexagon: export raw I/O routines for modules + - hexagon: clean up timer-regs.h + - tipc: check for null after calling kmemdup + - ipc: WARN if trying to remove ipc object which is absent + - shm: extend forced shm destroy to support objects from several IPC nses + - mm: kmemleak: slob: respect SLAB_NOLEAKTRACE flag + - hugetlb, userfaultfd: fix reservation restore on userfaultfd error + - kmap_local: don't assume kmap PTEs are linear arrays in memory + - mm/damon/dbgfs: use '__GFP_NOWARN' for user-specified size buffer allocation + - mm/damon/dbgfs: fix missed use of damon_dbgfs_lock + - x86/boot: Pull up cmdline preparation and early param parsing + - x86/sgx: Fix free page accounting + - x86/hyperv: Fix NULL deref in set_hv_tscchange_cb() if Hyper-V setup fails + - KVM: x86: Assume a 64-bit hypercall for guests with protected state + - KVM: x86: Fix uninitialized eoi_exit_bitmap usage in vcpu_load_eoi_exitmap() + - KVM: x86/mmu: include EFER.LMA in extended mmu role + - KVM: x86/xen: Fix get_attr of KVM_XEN_ATTR_TYPE_SHARED_INFO + - powerpc/signal32: Fix sigset_t copy + - powerpc/xive: Change IRQ domain to a tree domain + - powerpc/8xx: Fix pinned TLBs with CONFIG_STRICT_KERNEL_RWX + - Revert "drm/i915/tgl/dsi: Gate the ddi clocks after pll mapping" + - Revert "parisc: Reduce sigreturn trampoline to 3 instructions" + - ata: libata: improve ata_read_log_page() error message + - ata: libata: add missing ata_identify_page_supported() calls + - scsi: qla2xxx: Fix mailbox direction flags in qla2xxx_get_adapter_id() + - pinctrl: ralink: include 'ralink_regs.h' in 'pinctrl-mt7620.c' + - s390/setup: avoid reserving memory above identity mapping + - s390/boot: simplify and fix kernel memory layout setup + - s390/vdso: filter out -mstack-guard and -mstack-size + - s390/kexec: fix memory leak of ipl report buffer + - s390/dump: fix copying to user-space of swapped kdump oldmem + - block: Check ADMIN before NICE for IOPRIO_CLASS_RT + - fbdev: Prevent probing generic drivers if a FB is already registered + - KVM: SEV: Disallow COPY_ENC_CONTEXT_FROM if target has created vCPUs + - KVM: nVMX: don't use vcpu->arch.efer when checking host state on nested + state load + - drm/cma-helper: Release non-coherent memory with dma_free_noncoherent() + - printk: restore flushing of NMI buffers on remote CPUs after NMI backtraces + - udf: Fix crash after seekdir + - spi: fix use-after-free of the add_lock mutex + - net: stmmac: socfpga: add runtime suspend/resume callback for stratix10 + platform + - Drivers: hv: balloon: Use VMBUS_RING_SIZE() wrapper for dm_ring_size + - btrfs: fix memory ordering between normal and ordered work functions + - fs: handle circular mappings correctly + - net: stmmac: Fix signed/unsigned wreckage + - parisc/sticon: fix reverse colors + - cfg80211: call cfg80211_stop_ap when switch from P2P_GO type + - mac80211: fix radiotap header generation + - mac80211: drop check for DONT_REORDER in __ieee80211_select_queue + - drm/amd/display: Update swizzle mode enums + - drm/amd/display: Limit max DSC target bpp for specific monitors + - drm/i915/guc: Fix outstanding G2H accounting + - drm/i915/guc: Don't enable scheduling on a banned context, guc_id invalid, + not registered + - drm/i915/guc: Workaround reset G2H is received after schedule done G2H + - drm/i915/guc: Don't drop ce->guc_active.lock when unwinding context + - drm/i915/guc: Unwind context requests in reverse order + - drm/udl: fix control-message timeout + - drm/prime: Fix use after free in mmap with drm_gem_ttm_mmap + - drm/nouveau: Add a dedicated mutex for the clients list + - drm/nouveau: use drm_dev_unplug() during device removal + - drm/nouveau: clean up all clients on device removal + - drm/i915/dp: Ensure sink rate values are always valid + - drm/i915/dp: Ensure max link params are always valid + - drm/i915: Fix type1 DVI DP dual mode adapter heuristic for modern platforms + - drm/amdgpu: fix set scaling mode Full/Full aspect/Center not works on vga + and dvi connectors + - drm/amd/pm: avoid duplicate powergate/ungate setting + - signal: Implement force_fatal_sig + - exit/syscall_user_dispatch: Send ordinary signals on failure + - signal/powerpc: On swapcontext failure force SIGSEGV + - signal/s390: Use force_sigsegv in default_trap_handler + - signal/sparc32: Exit with a fatal signal when try_to_clear_window_buffer + fails + - signal/sparc32: In setup_rt_frame and setup_fram use force_fatal_sig + - signal/vm86_32: Properly send SIGSEGV when the vm86 state cannot be saved. + - signal/x86: In emulate_vsyscall force a signal instead of calling do_exit + - signal: Replace force_sigsegv(SIGSEGV) with force_fatal_sig(SIGSEGV) + - signal: Don't always set SA_IMMUTABLE for forced signals + - signal: Replace force_fatal_sig with force_exit_sig when in doubt + - hugetlbfs: flush TLBs correctly after huge_pmd_unshare + - RDMA/netlink: Add __maybe_unused to static inline in C file + - bpf: Forbid bpf_ktime_get_coarse_ns and bpf_timer_* in tracing progs + - selinux: fix NULL-pointer dereference when hashtab allocation fails + - ASoC: DAPM: Cover regression by kctl change notification fix + - ASoC: rsnd: fixup DMAEngine API + - usb: max-3421: Use driver data instead of maintaining a list of bound + devices + - ice: Fix VF true promiscuous mode + - ice: Delete always true check of PF pointer + - fs: export an inode_update_time helper + - btrfs: update device path inode time instead of bd_inode + - net: add and use skb_unclone_keeptruesize() helper + - x86/Kconfig: Fix an unused variable error in dell-smm-hwmon + - ALSA: hda: hdac_ext_stream: fix potential locking issues + - ALSA: hda: hdac_stream: fix potential locking issue in + snd_hdac_stream_assign() + - Linux 5.15.5 + * Fix non-working e1000e device after resume (LP: #1951861) + - SAUCE: Revert "e1000e: Additional PHY power saving in S0ix" + - SAUCE: Revert "e1000e: Add polling mechanism to indicate CSME DPG exit" + - SAUCE: Revert "e1000e: Add handshake with the CSME to support S0ix" + * [SRU][I/OEM-5.13/OEM-5.14] Add MAC passthrough support for more Lenovo docks + (LP: #1951767) + - net: usb: r8152: Add MAC passthrough support for more Lenovo Docks + * [amdgpu] USB4 support for DP tunneling (LP: #1951868) + - drm/amd/display: Support for DMUB HPD interrupt handling + - drm/amd/display: Update link encoder object creation. + - drm/amd/display: USB4 DPIA enumeration and AUX Tunneling + - drm/amd/display: Support for DMUB HPD and HPD RX interrupt handling + - drm/amd/display: Set DPIA link endpoint type + - drm/amd/display: Stub out DPIA link training call + - drm/amd/display: Add stub to get DPIA tunneling device data + - drm/amd/display: Skip DPCD read for DPTX-to-DPIA hop + - drm/amd/display: Train DPIA links with fallback + - drm/amd/display: Implement DPIA training loop + - drm/amd/display: Implement DPIA link configuration + - drm/amd/display: Implement DPIA clock recovery phase + - drm/amd/display: Implement DPIA equalisation phase + - drm/amd/display: Implement end of training for hop in DPIA display path + - drm/amd/display: Support for SET_CONFIG processing with DMUB + - drm/amd/display: isolate link training setting override to its own function + - drm/amd/display: Read USB4 DP tunneling data from DPCD. + - drm/amd/display: Add dpia debug options + - drm/amd/display: Support for SET_CONFIG processing with DMUB + - drm/amd/display: Add DPCD writes at key points + - drm/amd/display: Fix DIG_HPD_SELECT for USB4 display endpoints. + - drm/amd/display: Add helper for blanking all dp displays + - drm/amd/display: Fix link training fallback logic + - drm/amd/display: Add debug flags for USB4 DP link training. + - drm/amd/display: Fix dynamic link encoder access. + - drm/amd/display: Fix concurrent dynamic encoder assignment + - drm/amd/display: Fix dynamic encoder reassignment + - drm/amd/display: Fix for access for ddc pin and aux engine. + - drm/amd/display: Deadlock/HPD Status/Crash Bug Fix + - drm/amd/display: Fix USB4 Aux via DMUB terminate unexpectedly + * Miscellaneous Ubuntu changes + - [Packaging] Rewrite debian/scripts/module-check in Python + - [Config] update config and annotations after applying v5.15.5 + + [ Ubuntu: 5.15.0-12.12 ] + + * jammy/linux: 5.15.0-12.12 -proposed tracker (LP: #1951810) + * Jammy update: v5.15.4 upstream stable release (LP: #1951820) + - string: uninline memcpy_and_pad + - Revert "drm: fb_helper: improve CONFIG_FB dependency" + - Revert "drm: fb_helper: fix CONFIG_FB dependency" + - KVM: Fix steal time asm constraints + - btrfs: introduce btrfs_is_data_reloc_root + - btrfs: zoned: add a dedicated data relocation block group + - btrfs: zoned: only allow one process to add pages to a relocation inode + - btrfs: zoned: use regular writes for relocation + - btrfs: check for relocation inodes on zoned btrfs in should_nocow + - btrfs: zoned: allow preallocation for relocation inodes + - fortify: Explicitly disable Clang support + - block: Add a helper to validate the block size + - loop: Use blk_validate_block_size() to validate block size + - Bluetooth: btusb: Add support for TP-Link UB500 Adapter + - parisc/entry: fix trace test in syscall exit path + - PCI/MSI: Deal with devices lying about their MSI mask capability + - PCI: Add MSI masking quirk for Nvidia ION AHCI + - perf/core: Avoid put_page() when GUP fails + - thermal: Fix NULL pointer dereferences in of_thermal_ functions + - Revert "ACPI: scan: Release PM resources blocked by unused objects" + - Linux 5.15.4 + * Jammy update: v5.15.3 upstream stable release (LP: #1951822) + - xhci: Fix USB 3.1 enumeration issues by increasing roothub power-on-good + delay + - usb: xhci: Enable runtime-pm by default on AMD Yellow Carp platform + - Input: iforce - fix control-message timeout + - Input: elantench - fix misreporting trackpoint coordinates + - Input: i8042 - Add quirk for Fujitsu Lifebook T725 + - libata: fix read log timeout value + - ocfs2: fix data corruption on truncate + - scsi: scsi_ioctl: Validate command size + - scsi: core: Avoid leaving shost->last_reset with stale value if EH does not + run + - scsi: core: Remove command size deduction from scsi_setup_scsi_cmnd() + - scsi: lpfc: Don't release final kref on Fport node while ABTS outstanding + - scsi: lpfc: Fix FCP I/O flush functionality for TMF routines + - scsi: qla2xxx: Fix crash in NVMe abort path + - scsi: qla2xxx: Fix kernel crash when accessing port_speed sysfs file + - scsi: qla2xxx: Fix use after free in eh_abort path + - ce/gf100: fix incorrect CE0 address calculation on some GPUs + - char: xillybus: fix msg_ep UAF in xillyusb_probe() + - mmc: mtk-sd: Add wait dma stop done flow + - mmc: dw_mmc: Dont wait for DRTO on Write RSP error + - exfat: fix incorrect loading of i_blocks for large files + - io-wq: remove worker to owner tw dependency + - parisc: Fix set_fixmap() on PA1.x CPUs + - parisc: Fix ptrace check on syscall return + - tpm: Check for integer overflow in tpm2_map_response_body() + - firmware/psci: fix application of sizeof to pointer + - crypto: s5p-sss - Add error handling in s5p_aes_probe() + - media: rkvdec: Do not override sizeimage for output format + - media: ite-cir: IR receiver stop working after receive overflow + - media: rkvdec: Support dynamic resolution changes + - media: ir-kbd-i2c: improve responsiveness of hauppauge zilog receivers + - media: v4l2-ioctl: Fix check_ext_ctrls + - ALSA: hda/realtek: Fix mic mute LED for the HP Spectre x360 14 + - ALSA: hda/realtek: Add a quirk for HP OMEN 15 mute LED + - ALSA: hda/realtek: Add quirk for Clevo PC70HS + - ALSA: hda/realtek: Headset fixup for Clevo NH77HJQ + - ALSA: hda/realtek: Add a quirk for Acer Spin SP513-54N + - ALSA: hda/realtek: Add quirk for ASUS UX550VE + - ALSA: hda/realtek: Add quirk for HP EliteBook 840 G7 mute LED + - ALSA: ua101: fix division by zero at probe + - ALSA: 6fire: fix control and bulk message timeouts + - ALSA: line6: fix control and interrupt message timeouts + - ALSA: mixer: oss: Fix racy access to slots + - ALSA: mixer: fix deadlock in snd_mixer_oss_set_volume + - ALSA: usb-audio: Line6 HX-Stomp XL USB_ID for 48k-fixed quirk + - ALSA: usb-audio: Add registration quirk for JBL Quantum 400 + - ALSA: hda: Free card instance properly at probe errors + - ALSA: synth: missing check for possible NULL after the call to kstrdup + - ALSA: pci: rme: Fix unaligned buffer addresses + - ALSA: PCM: Fix NULL dereference at mmap checks + - ALSA: timer: Fix use-after-free problem + - ALSA: timer: Unconditionally unlink slave instances, too + - Revert "ext4: enforce buffer head state assertion in ext4_da_map_blocks" + - ext4: fix lazy initialization next schedule time computation in more + granular unit + - ext4: ensure enough credits in ext4_ext_shift_path_extents + - ext4: refresh the ext4_ext_path struct after dropping i_data_sem. + - fuse: fix page stealing + - x86/sme: Use #define USE_EARLY_PGTABLE_L5 in mem_encrypt_identity.c + - x86/cpu: Fix migration safety with X86_BUG_NULL_SEL + - x86/irq: Ensure PI wakeup handler is unregistered before module unload + - x86/iopl: Fake iopl(3) CLI/STI usage + - btrfs: clear MISSING device status bit in btrfs_close_one_device + - btrfs: fix lost error handling when replaying directory deletes + - btrfs: call btrfs_check_rw_degradable only if there is a missing device + - KVM: x86/mmu: Drop a redundant, broken remote TLB flush + - KVM: VMX: Unregister posted interrupt wakeup handler on hardware unsetup + - KVM: PPC: Tick accounting should defer vtime accounting 'til after IRQ + handling + - ia64: kprobes: Fix to pass correct trampoline address to the handler + - selinux: fix race condition when computing ocontext SIDs + - ipmi:watchdog: Set panic count to proper value on a panic + - md/raid1: only allocate write behind bio for WriteMostly device + - hwmon: (pmbus/lm25066) Add offset coefficients + - regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is + disabled + - regulator: dt-bindings: samsung,s5m8767: correct s5m8767,pmic-buck-default- + dvs-idx property + - EDAC/sb_edac: Fix top-of-high-memory value for Broadwell/Haswell + - mwifiex: fix division by zero in fw download path + - ath6kl: fix division by zero in send path + - ath6kl: fix control-message timeout + - ath10k: fix control-message timeout + - ath10k: fix division by zero in send path + - PCI: Mark Atheros QCA6174 to avoid bus reset + - rtl8187: fix control-message timeouts + - evm: mark evm_fixmode as __ro_after_init + - ifb: Depend on netfilter alternatively to tc + - platform/surface: aggregator_registry: Add support for Surface Laptop Studio + - mt76: mt7615: fix skb use-after-free on mac reset + - HID: surface-hid: Use correct event registry for managing HID events + - HID: surface-hid: Allow driver matching for target ID 1 devices + - wcn36xx: Fix HT40 capability for 2Ghz band + - wcn36xx: Fix tx_status mechanism + - wcn36xx: Fix (QoS) null data frame bitrate/modulation + - PM: sleep: Do not let "syscore" devices runtime-suspend during system + transitions + - mwifiex: Read a PCI register after writing the TX ring write pointer + - mwifiex: Try waking the firmware until we get an interrupt + - libata: fix checking of DMA state + - dma-buf: fix and rework dma_buf_poll v7 + - wcn36xx: handle connection loss indication + - rsi: fix occasional initialisation failure with BT coex + - rsi: fix key enabled check causing unwanted encryption for vap_id > 0 + - rsi: fix rate mask set leading to P2P failure + - rsi: Fix module dev_oper_mode parameter description + - perf/x86/intel/uncore: Support extra IMC channel on Ice Lake server + - perf/x86/intel/uncore: Fix invalid unit check + - perf/x86/intel/uncore: Fix Intel ICX IIO event constraints + - RDMA/qedr: Fix NULL deref for query_qp on the GSI QP + - ASoC: tegra: Set default card name for Trimslice + - ASoC: tegra: Restore AC97 support + - signal: Remove the bogus sigkill_pending in ptrace_stop + - memory: renesas-rpc-if: Correct QSPI data transfer in Manual mode + - signal/mips: Update (_save|_restore)_fp_context to fail with -EFAULT + - soc: samsung: exynos-pmu: Fix compilation when nothing selects + CONFIG_MFD_CORE + - soc: fsl: dpio: replace smp_processor_id with raw_smp_processor_id + - soc: fsl: dpio: use the combined functions to protect critical zone + - mtd: rawnand: socrates: Keep the driver compatible with on-die ECC engines + - mctp: handle the struct sockaddr_mctp padding fields + - power: supply: max17042_battery: Prevent int underflow in set_soc_threshold + - power: supply: max17042_battery: use VFSOC for capacity when no rsns + - iio: core: fix double free in iio_device_unregister_sysfs() + - iio: core: check return value when calling dev_set_name() + - KVM: arm64: Extract ESR_ELx.EC only + - KVM: x86: Fix recording of guest steal time / preempted status + - KVM: x86: Add helper to consolidate core logic of SET_CPUID{2} flows + - KVM: nVMX: Query current VMCS when determining if MSR bitmaps are in use + - KVM: nVMX: Handle dynamic MSR intercept toggling + - can: peak_usb: always ask for BERR reporting for PCAN-USB devices + - can: mcp251xfd: mcp251xfd_irq(): add missing + can_rx_offload_threaded_irq_finish() in case of bus off + - can: j1939: j1939_tp_cmd_recv(): ignore abort message in the BAM transport + - can: j1939: j1939_can_recv(): ignore messages with invalid source address + - can: j1939: j1939_tp_cmd_recv(): check the dst address of TP.CM_BAM + - iio: adc: tsc2046: fix scan interval warning + - powerpc/85xx: Fix oops when mpc85xx_smp_guts_ids node cannot be found + - io_uring: honour zeroes as io-wq worker limits + - ring-buffer: Protect ring_buffer_reset() from reentrancy + - serial: core: Fix initializing and restoring termios speed + - ifb: fix building without CONFIG_NET_CLS_ACT + - xen/balloon: add late_initcall_sync() for initial ballooning done + - ovl: fix use after free in struct ovl_aio_req + - ovl: fix filattr copy-up failure + - PCI: pci-bridge-emul: Fix emulation of W1C bits + - PCI: cadence: Add cdns_plat_pcie_probe() missing return + - cxl/pci: Fix NULL vs ERR_PTR confusion + - PCI: aardvark: Do not clear status bits of masked interrupts + - PCI: aardvark: Fix checking for link up via LTSSM state + - PCI: aardvark: Do not unmask unused interrupts + - PCI: aardvark: Fix reporting Data Link Layer Link Active + - PCI: aardvark: Fix configuring Reference clock + - PCI: aardvark: Fix return value of MSI domain .alloc() method + - PCI: aardvark: Read all 16-bits from PCIE_MSI_PAYLOAD_REG + - PCI: aardvark: Fix support for bus mastering and PCI_COMMAND on emulated + bridge + - PCI: aardvark: Fix support for PCI_BRIDGE_CTL_BUS_RESET on emulated bridge + - PCI: aardvark: Set PCI Bridge Class Code to PCI Bridge + - PCI: aardvark: Fix support for PCI_ROM_ADDRESS1 on emulated bridge + - quota: check block number when reading the block in quota file + - quota: correct error number in free_dqentry() + - cifs: To match file servers, make sure the server hostname matches + - cifs: set a minimum of 120s for next dns resolution + - mfd: simple-mfd-i2c: Select MFD_CORE to fix build error + - pinctrl: core: fix possible memory leak in pinctrl_enable() + - coresight: cti: Correct the parameter for pm_runtime_put + - coresight: trbe: Fix incorrect access of the sink specific data + - coresight: trbe: Defer the probe on offline CPUs + - iio: buffer: check return value of kstrdup_const() + - iio: buffer: Fix memory leak in iio_buffers_alloc_sysfs_and_mask() + - iio: buffer: Fix memory leak in __iio_buffer_alloc_sysfs_and_mask() + - iio: buffer: Fix memory leak in iio_buffer_register_legacy_sysfs_groups() + - drivers: iio: dac: ad5766: Fix dt property name + - iio: dac: ad5446: Fix ad5622_write() return value + - iio: ad5770r: make devicetree property reading consistent + - Documentation:devicetree:bindings:iio:dac: Fix val + - USB: serial: keyspan: fix memleak on probe errors + - serial: 8250: fix racy uartclk update + - ksmbd: set unique value to volume serial field in FS_VOLUME_INFORMATION + - io-wq: serialize hash clear with wakeup + - serial: 8250: Fix reporting real baudrate value in c_ospeed field + - Revert "serial: 8250: Fix reporting real baudrate value in c_ospeed field" + - most: fix control-message timeouts + - USB: iowarrior: fix control-message timeouts + - USB: chipidea: fix interrupt deadlock + - power: supply: max17042_battery: Clear status bits in interrupt handler + - component: do not leave master devres group open after bind + - dma-buf: WARN on dmabuf release with pending attachments + - drm: panel-orientation-quirks: Update the Lenovo Ideapad D330 quirk (v2) + - drm: panel-orientation-quirks: Add quirk for KD Kurio Smart C15200 2-in-1 + - drm: panel-orientation-quirks: Add quirk for the Samsung Galaxy Book 10.6 + - Bluetooth: sco: Fix lock_sock() blockage by memcpy_from_msg() + - Bluetooth: fix use-after-free error in lock_sock_nested() + - Bluetooth: call sock_hold earlier in sco_conn_del + - drm/panel-orientation-quirks: add Valve Steam Deck + - rcutorture: Avoid problematic critical section nesting on PREEMPT_RT + - platform/x86: wmi: do not fail if disabling fails + - drm/amdgpu: move iommu_resume before ip init/resume + - MIPS: lantiq: dma: add small delay after reset + - MIPS: lantiq: dma: reset correct number of channel + - locking/lockdep: Avoid RCU-induced noinstr fail + - net: sched: update default qdisc visibility after Tx queue cnt changes + - rcu-tasks: Move RTGS_WAIT_CBS to beginning of rcu_tasks_kthread() loop + - smackfs: Fix use-after-free in netlbl_catmap_walk() + - ath11k: Align bss_chan_info structure with firmware + - crypto: aesni - check walk.nbytes instead of err + - x86/mm/64: Improve stack overflow warnings + - x86: Increase exception stack sizes + - mwifiex: Run SET_BSS_MODE when changing from P2P to STATION vif-type + - mwifiex: Properly initialize private structure on interface type changes + - spi: Check we have a spi_device_id for each DT compatible + - fscrypt: allow 256-bit master keys with AES-256-XTS + - drm/amdgpu: Fix MMIO access page fault + - drm/amd/display: Fix null pointer dereference for encoders + - selftests: net: fib_nexthops: Wait before checking reported idle time + - ath11k: Avoid reg rules update during firmware recovery + - ath11k: add handler for scan event WMI_SCAN_EVENT_DEQUEUED + - ath11k: Change DMA_FROM_DEVICE to DMA_TO_DEVICE when map reinjected packets + - ath10k: high latency fixes for beacon buffer + - octeontx2-pf: Enable promisc/allmulti match MCAM entries. + - media: mt9p031: Fix corrupted frame after restarting stream + - media: netup_unidvb: handle interrupt properly according to the firmware + - media: atomisp: Fix error handling in probe + - media: stm32: Potential NULL pointer dereference in dcmi_irq_thread() + - media: uvcvideo: Set capability in s_param + - media: uvcvideo: Return -EIO for control errors + - media: uvcvideo: Set unique vdev name based in type + - media: vidtv: Fix memory leak in remove + - media: s5p-mfc: fix possible null-pointer dereference in s5p_mfc_probe() + - media: s5p-mfc: Add checking to s5p_mfc_probe(). + - media: videobuf2: rework vb2_mem_ops API + - media: imx: set a media_device bus_info string + - media: rcar-vin: Use user provided buffers when starting + - media: mceusb: return without resubmitting URB in case of -EPROTO error. + - ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK + - rtw88: fix RX clock gate setting while fifo dump + - brcmfmac: Add DMI nvram filename quirk for Cyberbook T116 tablet + - media: rcar-csi2: Add checking to rcsi2_start_receiver() + - ipmi: Disable some operations during a panic + - fs/proc/uptime.c: Fix idle time reporting in /proc/uptime + - kselftests/sched: cleanup the child processes + - ACPICA: Avoid evaluating methods too early during system resume + - cpufreq: Make policy min/max hard requirements + - ice: Move devlink port to PF/VF struct + - media: imx-jpeg: Fix possible null pointer dereference + - media: ipu3-imgu: imgu_fmt: Handle properly try + - media: ipu3-imgu: VIDIOC_QUERYCAP: Fix bus_info + - media: usb: dvd-usb: fix uninit-value bug in dibusb_read_eeprom_byte() + - net-sysfs: try not to restart the syscall if it will fail eventually + - drm/amdkfd: rm BO resv on validation to avoid deadlock + - tracefs: Have tracefs directories not set OTH permission bits by default + - tracing: Disable "other" permission bits in the tracefs files + - ath: dfs_pattern_detector: Fix possible null-pointer dereference in + channel_detector_create() + - KVM: arm64: Propagate errors from __pkvm_prot_finalize hypercall + - mmc: moxart: Fix reference count leaks in moxart_probe + - iov_iter: Fix iov_iter_get_pages{,_alloc} page fault return value + - ACPI: battery: Accept charges over the design capacity as full + - ACPI: scan: Release PM resources blocked by unused objects + - drm/amd/display: fix null pointer deref when plugging in display + - drm/amdkfd: fix resume error when iommu disabled in Picasso + - net: phy: micrel: make *-skew-ps check more lenient + - leaking_addresses: Always print a trailing newline + - thermal/core: Fix null pointer dereference in thermal_release() + - drm/msm: prevent NULL dereference in msm_gpu_crashstate_capture() + - thermal/drivers/tsens: Add timeout to get_temp_tsens_valid + - block: bump max plugged deferred size from 16 to 32 + - floppy: fix calling platform_device_unregister() on invalid drives + - md: update superblock after changing rdev flags in state_store + - memstick: r592: Fix a UAF bug when removing the driver + - locking/rwsem: Disable preemption for spinning region + - lib/xz: Avoid overlapping memcpy() with invalid input with in-place + decompression + - lib/xz: Validate the value before assigning it to an enum variable + - workqueue: make sysfs of unbound kworker cpumask more clever + - tracing/cfi: Fix cmp_entries_* functions signature mismatch + - mt76: mt7915: fix an off-by-one bound check + - mwl8k: Fix use-after-free in mwl8k_fw_state_machine() + - iwlwifi: change all JnP to NO-160 configuration + - block: remove inaccurate requeue check + - media: allegro: ignore interrupt if mailbox is not initialized + - drm/amdgpu/pm: properly handle sclk for profiling modes on vangogh + - nvmet: fix use-after-free when a port is removed + - nvmet-rdma: fix use-after-free when a port is removed + - nvmet-tcp: fix use-after-free when a port is removed + - nvme: drop scan_lock and always kick requeue list when removing namespaces + - samples/bpf: Fix application of sizeof to pointer + - arm64: vdso32: suppress error message for 'make mrproper' + - PM: hibernate: Get block device exclusively in swsusp_check() + - selftests: kvm: fix mismatched fclose() after popen() + - selftests/bpf: Fix perf_buffer test on system with offline cpus + - iwlwifi: mvm: disable RX-diversity in powersave + - smackfs: use __GFP_NOFAIL for smk_cipso_doi() + - ARM: clang: Do not rely on lr register for stacktrace + - gre/sit: Don't generate link-local addr if addr_gen_mode is + IN6_ADDR_GEN_MODE_NONE + - can: bittiming: can_fixup_bittiming(): change type of tseg1 and alltseg to + unsigned int + - gfs2: Cancel remote delete work asynchronously + - gfs2: Fix glock_hash_walk bugs + - ARM: 9136/1: ARMv7-M uses BE-8, not BE-32 + - tools/latency-collector: Use correct size when writing queue_full_warning + - vrf: run conntrack only in context of lower/physdev for locally generated + packets + - net: annotate data-race in neigh_output() + - ACPI: AC: Quirk GK45 to skip reading _PSR + - ACPI: resources: Add one more Medion model in IRQ override quirk + - btrfs: reflink: initialize return value to 0 in btrfs_extent_same() + - btrfs: do not take the uuid_mutex in btrfs_rm_device + - spi: bcm-qspi: Fix missing clk_disable_unprepare() on error in + bcm_qspi_probe() + - wcn36xx: Correct band/freq reporting on RX + - wcn36xx: Fix packet drop on resume + - Revert "wcn36xx: Enable firmware link monitoring" + - ftrace: do CPU checking after preemption disabled + - inet: remove races in inet{6}_getname() + - x86/hyperv: Protect set_hv_tscchange_cb() against getting preempted + - drm/amd/display: dcn20_resource_construct reduce scope of FPU enabled + - perf/x86/intel: Fix ICL/SPR INST_RETIRED.PREC_DIST encodings + - parisc: fix warning in flush_tlb_all + - task_stack: Fix end_of_stack() for architectures with upwards-growing stack + - erofs: don't trigger WARN() when decompression fails + - parisc/unwind: fix unwinder when CONFIG_64BIT is enabled + - parisc/kgdb: add kgdb_roundup() to make kgdb work with idle polling + - netfilter: conntrack: set on IPS_ASSURED if flows enters internal stream + state + - selftests/bpf: Fix strobemeta selftest regression + - fbdev/efifb: Release PCI device's runtime PM ref during FB destroy + - drm/bridge: anx7625: Propagate errors from sp_tx_rst_aux() + - perf/x86/intel/uncore: Fix Intel SPR CHA event constraints + - perf/x86/intel/uncore: Fix Intel SPR IIO event constraints + - perf/x86/intel/uncore: Fix Intel SPR M2PCIE event constraints + - perf/x86/intel/uncore: Fix Intel SPR M3UPI event constraints + - drm/bridge: it66121: Initialize {device,vendor}_ids + - drm/bridge: it66121: Wait for next bridge to be probed + - Bluetooth: fix init and cleanup of sco_conn.timeout_work + - libbpf: Don't crash on object files with no symbol tables + - Bluetooth: hci_uart: fix GPF in h5_recv + - rcu: Fix existing exp request check in sync_sched_exp_online_cleanup() + - MIPS: lantiq: dma: fix burst length for DEU + - x86/xen: Mark cpu_bringup_and_idle() as dead_end_function + - objtool: Handle __sanitize_cov*() tail calls + - net/mlx5: Publish and unpublish all devlink parameters at once + - drm/v3d: fix wait for TMU write combiner flush + - crypto: sm4 - Do not change section of ck and sbox + - virtio-gpu: fix possible memory allocation failure + - lockdep: Let lock_is_held_type() detect recursive read as read + - net: net_namespace: Fix undefined member in key_remove_domain() + - net: phylink: don't call netif_carrier_off() with NULL netdev + - drm: bridge: it66121: Fix return value it66121_probe + - spi: Fixed division by zero warning + - cgroup: Make rebind_subsystems() disable v2 controllers all at once + - wcn36xx: Fix Antenna Diversity Switching + - wilc1000: fix possible memory leak in cfg_scan_result() + - Bluetooth: btmtkuart: fix a memleak in mtk_hci_wmt_sync + - drm/amdgpu: Fix crash on device remove/driver unload + - drm/amd/display: Pass display_pipe_params_st as const in DML + - drm/amdgpu: move amdgpu_virt_release_full_gpu to fini_early stage + - crypto: caam - disable pkc for non-E SoCs + - crypto: qat - power up 4xxx device + - Bluetooth: hci_h5: Fix (runtime)suspend issues on RTL8723BS HCIs + - bnxt_en: Check devlink allocation and registration status + - qed: Don't ignore devlink allocation failures + - rxrpc: Fix _usecs_to_jiffies() by using usecs_to_jiffies() + - mptcp: do not shrink snd_nxt when recovering + - fortify: Fix dropped strcpy() compile-time write overflow check + - mac80211: twt: don't use potentially unaligned pointer + - cfg80211: always free wiphy specific regdomain + - net/mlx5: Accept devlink user input after driver initialization complete + - net: dsa: rtl8366rb: Fix off-by-one bug + - net: dsa: rtl8366: Fix a bug in deleting VLANs + - bpf/tests: Fix error in tail call limit tests + - ath11k: fix some sleeping in atomic bugs + - ath11k: Avoid race during regd updates + - ath11k: fix packet drops due to incorrect 6 GHz freq value in rx status + - ath11k: Fix memory leak in ath11k_qmi_driver_event_work + - gve: DQO: avoid unused variable warnings + - ath10k: Fix missing frame timestamp for beacon/probe-resp + - ath10k: sdio: Add missing BH locking around napi_schdule() + - drm/ttm: stop calling tt_swapin in vm_access + - arm64: mm: update max_pfn after memory hotplug + - drm/amdgpu: fix warning for overflow check + - libbpf: Fix skel_internal.h to set errno on loader retval < 0 + - media: em28xx: add missing em28xx_close_extension + - media: meson-ge2d: Fix rotation parameter changes detection in + 'ge2d_s_ctrl()' + - media: cxd2880-spi: Fix a null pointer dereference on error handling path + - media: ttusb-dec: avoid release of non-acquired mutex + - media: dvb-usb: fix ununit-value in az6027_rc_query + - media: imx258: Fix getting clock frequency + - media: v4l2-ioctl: S_CTRL output the right value + - media: mtk-vcodec: venc: fix return value when start_streaming fails + - media: TDA1997x: handle short reads of hdmi info frame. + - media: mtk-vpu: Fix a resource leak in the error handling path of + 'mtk_vpu_probe()' + - media: imx-jpeg: Fix the error handling path of 'mxc_jpeg_probe()' + - media: i2c: ths8200 needs V4L2_ASYNC + - media: sun6i-csi: Allow the video device to be open multiple times + - media: radio-wl1273: Avoid card name truncation + - media: si470x: Avoid card name truncation + - media: tm6000: Avoid card name truncation + - media: cx23885: Fix snd_card_free call on null card pointer + - media: atmel: fix the ispck initialization + - scs: Release kasan vmalloc poison in scs_free process + - kprobes: Do not use local variable when creating debugfs file + - crypto: ecc - fix CRYPTO_DEFAULT_RNG dependency + - drm: fb_helper: fix CONFIG_FB dependency + - cpuidle: Fix kobject memory leaks in error paths + - media: em28xx: Don't use ops->suspend if it is NULL + - ath10k: Don't always treat modem stop events as crashes + - ath9k: Fix potential interrupt storm on queue reset + - PM: EM: Fix inefficient states detection + - x86/insn: Use get_unaligned() instead of memcpy() + - EDAC/amd64: Handle three rank interleaving mode + - rcu: Always inline rcu_dynticks_task*_{enter,exit}() + - rcu: Fix rcu_dynticks_curr_cpu_in_eqs() vs noinstr + - netfilter: nft_dynset: relax superfluous check on set updates + - media: venus: fix vpp frequency calculation for decoder + - media: dvb-frontends: mn88443x: Handle errors of clk_prepare_enable() + - crypto: ccree - avoid out-of-range warnings from clang + - crypto: qat - detect PFVF collision after ACK + - crypto: qat - disregard spurious PFVF interrupts + - hwrng: mtk - Force runtime pm ops for sleep ops + - ima: fix deadlock when traversing "ima_default_rules". + - b43legacy: fix a lower bounds test + - b43: fix a lower bounds test + - gve: Recover from queue stall due to missed IRQ + - gve: Track RX buffer allocation failures + - mmc: sdhci-omap: Fix NULL pointer exception if regulator is not configured + - mmc: sdhci-omap: Fix context restore + - memstick: avoid out-of-range warning + - memstick: jmb38x_ms: use appropriate free function in jmb38x_ms_alloc_host() + - net, neigh: Fix NTF_EXT_LEARNED in combination with NTF_USE + - hwmon: Fix possible memleak in __hwmon_device_register() + - hwmon: (pmbus/lm25066) Let compiler determine outer dimension of + lm25066_coeff + - ath10k: fix max antenna gain unit + - kernel/sched: Fix sched_fork() access an invalid sched_task_group + - net: fealnx: fix build for UML + - net: intel: igc_ptp: fix build for UML + - net: tulip: winbond-840: fix build for UML + - tcp: switch orphan_count to bare per-cpu counters + - crypto: octeontx2 - set assoclen in aead_do_fallback() + - thermal/core: fix a UAF bug in __thermal_cooling_device_register() + - drm/msm/dsi: do not enable irq handler before powering up the host + - drm/msm: Fix potential Oops in a6xx_gmu_rpmh_init() + - drm/msm: potential error pointer dereference in init() + - drm/msm: unlock on error in get_sched_entity() + - drm/msm: fix potential NULL dereference in cleanup + - drm/msm: uninitialized variable in msm_gem_import() + - net: stream: don't purge sk_error_queue in sk_stream_kill_queues() + - thermal/drivers/qcom/lmh: make QCOM_LMH depends on QCOM_SCM + - mailbox: Remove WARN_ON for async_cb.cb in cmdq_exec_done + - media: ivtv: fix build for UML + - media: ir_toy: assignment to be16 should be of correct type + - mmc: mxs-mmc: disable regulator on error and in the remove function + - io-wq: Remove duplicate code in io_workqueue_create() + - block: ataflop: fix breakage introduced at blk-mq refactoring + - platform/x86: thinkpad_acpi: Fix bitwise vs. logical warning + - mailbox: mtk-cmdq: Validate alias_id on probe + - mailbox: mtk-cmdq: Fix local clock ID usage + - ACPI: PM: Turn off unused wakeup power resources + - ACPI: PM: Fix sharing of wakeup power resources + - drm/amdkfd: Fix an inappropriate error handling in allloc memory of gpu + - mt76: mt7921: fix endianness in mt7921_mcu_tx_done_event + - mt76: mt7915: fix endianness warning in mt7915_mac_add_txs_skb + - mt76: mt7921: fix endianness warning in mt7921_update_txs + - mt76: mt7615: fix endianness warning in mt7615_mac_write_txwi + - mt76: mt7915: fix info leak in mt7915_mcu_set_pre_cal() + - mt76: connac: fix mt76_connac_gtk_rekey_tlv usage + - mt76: fix build error implicit enumeration conversion + - mt76: mt7921: fix survey-dump reporting + - mt76: mt76x02: fix endianness warnings in mt76x02_mac.c + - mt76: mt7921: Fix out of order process by invalid event pkt + - mt76: mt7915: fix potential overflow of eeprom page index + - mt76: mt7915: fix bit fields for HT rate idx + - mt76: mt7921: fix dma hang in rmmod + - mt76: connac: fix GTK rekey offload failure on WPA mixed mode + - mt76: overwrite default reg_ops if necessary + - mt76: mt7921: report HE MU radiotap + - mt76: mt7921: fix firmware usage of RA info using legacy rates + - mt76: mt7921: fix kernel warning from cfg80211_calculate_bitrate + - mt76: mt7921: always wake device if necessary in debugfs + - mt76: mt7915: fix hwmon temp sensor mem use-after-free + - mt76: mt7615: fix hwmon temp sensor mem use-after-free + - mt76: mt7915: fix possible infinite loop release semaphore + - mt76: mt7921: fix retrying release semaphore without end + - mt76: mt7615: fix monitor mode tear down crash + - mt76: connac: fix possible NULL pointer dereference in + mt76_connac_get_phy_mode_v2 + - mt76: mt7915: fix sta_rec_wtbl tag len + - mt76: mt7915: fix muar_idx in mt7915_mcu_alloc_sta_req() + - rsi: stop thread firstly in rsi_91x_init() error handling + - mwifiex: Send DELBA requests according to spec + - iwlwifi: mvm: reset PM state on unsuccessful resume + - iwlwifi: pnvm: don't kmemdup() more than we have + - iwlwifi: pnvm: read EFI data only if long enough + - net: enetc: unmap DMA in enetc_send_cmd() + - phy: micrel: ksz8041nl: do not use power down mode + - nbd: Fix use-after-free in pid_show + - nvme-rdma: fix error code in nvme_rdma_setup_ctrl + - PM: hibernate: fix sparse warnings + - clocksource/drivers/timer-ti-dm: Select TIMER_OF + - x86/sev: Fix stack type check in vc_switch_off_ist() + - drm/msm: Fix potential NULL dereference in DPU SSPP + - drm/msm/dsi: fix wrong type in msm_dsi_host + - crypto: tcrypt - fix skcipher multi-buffer tests for 1420B blocks + - smackfs: use netlbl_cfg_cipsov4_del() for deleting cipso_v4_doi + - KVM: selftests: Fix nested SVM tests when built with clang + - libbpf: Fix memory leak in btf__dedup() + - bpftool: Avoid leaking the JSON writer prepared for program metadata + - libbpf: Fix overflow in BTF sanity checks + - libbpf: Fix BTF header parsing checks + - mt76: mt7615: mt7622: fix ibss and meshpoint + - s390/gmap: validate VMA in __gmap_zap() + - s390/gmap: don't unconditionally call pte_unmap_unlock() in __gmap_zap() + - s390/mm: validate VMA in PGSTE manipulation functions + - s390/mm: fix VMA and page table handling code in storage key handling + functions + - s390/uv: fully validate the VMA before calling follow_page() + - KVM: s390: pv: avoid double free of sida page + - KVM: s390: pv: avoid stalls for kvm_s390_pv_init_vm + - irq: mips: avoid nested irq_enter() + - net: dsa: avoid refcount warnings when ->port_{fdb,mdb}_del returns error + - ARM: 9142/1: kasan: work around LPAE build warning + - ath10k: fix module load regression with iram-recovery feature + - block: ataflop: more blk-mq refactoring fixes + - blk-cgroup: synchronize blkg creation against policy deactivation + - libbpf: Fix off-by-one bug in bpf_core_apply_relo() + - tpm: fix Atmel TPM crash caused by too frequent queries + - tpm_tis_spi: Add missing SPI ID + - libbpf: Fix endianness detection in BPF_CORE_READ_BITFIELD_PROBED() + - tcp: don't free a FIN sk_buff in tcp_remove_empty_skb() + - tracing: Fix missing trace_boot_init_histograms kstrdup NULL checks + - cpufreq: intel_pstate: Fix cpu->pstate.turbo_freq initialization + - spi: spi-rpc-if: Check return value of rpcif_sw_init() + - samples/kretprobes: Fix return value if register_kretprobe() failed + - KVM: s390: Fix handle_sske page fault handling + - libertas_tf: Fix possible memory leak in probe and disconnect + - libertas: Fix possible memory leak in probe and disconnect + - wcn36xx: add proper DMA memory barriers in rx path + - wcn36xx: Fix discarded frames due to wrong sequence number + - bpf: Avoid races in __bpf_prog_run() for 32bit arches + - bpf: Fixes possible race in update_prog_stats() for 32bit arches + - wcn36xx: Channel list update before hardware scan + - drm/amdgpu: fix a potential memory leak in amdgpu_device_fini_sw() + - drm/amdgpu/gmc6: fix DMA mask from 44 to 40 bits + - selftests/bpf: Fix fd cleanup in sk_lookup test + - selftests/bpf: Fix memory leak in test_ima + - sctp: allow IP fragmentation when PLPMTUD enters Error state + - sctp: reset probe_timer in sctp_transport_pl_update + - sctp: subtract sctphdr len in sctp_transport_pl_hlen + - sctp: return true only for pathmtu update in sctp_transport_pl_toobig + - net: amd-xgbe: Toggle PLL settings during rate change + - ipmi: kcs_bmc: Fix a memory leak in the error handling path of + 'kcs_bmc_serio_add_device()' + - nfp: fix NULL pointer access when scheduling dim work + - nfp: fix potential deadlock when canceling dim work + - net: phylink: avoid mvneta warning when setting pause parameters + - net: bridge: fix uninitialized variables when BRIDGE_CFM is disabled + - selftests: net: bridge: update IGMP/MLD membership interval value + - crypto: pcrypt - Delay write to padata->info + - selftests/bpf: Fix fclose/pclose mismatch in test_progs + - udp6: allow SO_MARK ctrl msg to affect routing + - ibmvnic: don't stop queue in xmit + - ibmvnic: Process crqs after enabling interrupts + - ibmvnic: delay complete() + - selftests: mptcp: fix proto type in link_failure tests + - skmsg: Lose offset info in sk_psock_skb_ingress + - cgroup: Fix rootcg cpu.stat guest double counting + - bpf: Fix propagation of bounds from 64-bit min/max into 32-bit and var_off. + - bpf: Fix propagation of signed bounds from 64-bit min/max into 32-bit. + - of: unittest: fix EXPECT text for gpio hog errors + - cpufreq: Fix parameter in parse_perf_domain() + - staging: r8188eu: fix memory leak in rtw_set_key + - arm64: dts: meson: sm1: add Ethernet PHY reset line for ODROID-C4/HC4 + - iio: st_sensors: disable regulators after device unregistration + - RDMA/rxe: Fix wrong port_cap_flags + - ARM: dts: BCM5301X: Fix memory nodes names + - arm64: dts: broadcom: bcm4908: Fix UART clock name + - clk: mvebu: ap-cpu-clk: Fix a memory leak in error handling paths + - scsi: pm80xx: Fix lockup in outbound queue management + - scsi: qla2xxx: edif: Use link event to wake up app + - scsi: lpfc: Fix NVMe I/O failover to non-optimized path + - ARM: s3c: irq-s3c24xx: Fix return value check for s3c24xx_init_intc() + - arm64: dts: rockchip: Fix GPU register width for RK3328 + - ARM: dts: qcom: msm8974: Add xo_board reference clock to DSI0 PHY + - RDMA/bnxt_re: Fix query SRQ failure + - arm64: dts: ti: k3-j721e-main: Fix "max-virtual-functions" in PCIe EP nodes + - arm64: dts: ti: k3-j721e-main: Fix "bus-range" upto 256 bus number for PCIe + - arm64: dts: ti: j7200-main: Fix "vendor-id"/"device-id" properties of pcie + node + - arm64: dts: ti: j7200-main: Fix "bus-range" upto 256 bus number for PCIe + - arm64: dts: meson-g12a: Fix the pwm regulator supply properties + - arm64: dts: meson-g12b: Fix the pwm regulator supply properties + - arm64: dts: meson-sm1: Fix the pwm regulator supply properties + - bus: ti-sysc: Fix timekeeping_suspended warning on resume + - ARM: dts: at91: tse850: the emac<->phy interface is rmii + - arm64: dts: qcom: sc7180: Base dynamic CPU power coefficients in reality + - soc: qcom: llcc: Disable MMUHWT retention + - arm64: dts: qcom: sc7280: fix display port phy reg property + - scsi: dc395: Fix error case unwinding + - MIPS: loongson64: make CPU_LOONGSON64 depends on MIPS_FP_SUPPORT + - JFS: fix memleak in jfs_mount + - pinctrl: renesas: rzg2l: Fix missing port register 21h + - ASoC: wcd9335: Use correct version to initialize Class H + - arm64: dts: qcom: msm8916: Fix Secondary MI2S bit clock + - arm64: dts: renesas: beacon: Fix Ethernet PHY mode + - iommu/mediatek: Fix out-of-range warning with clang + - arm64: dts: qcom: pm8916: Remove wrong reg-names for rtc@6000 + - iommu/dma: Fix sync_sg with swiotlb + - iommu/dma: Fix arch_sync_dma for map + - ALSA: hda: Reduce udelay() at SKL+ position reporting + - ALSA: hda: Use position buffer for SKL+ again + - ALSA: usb-audio: Fix possible race at sync of urb completions + - soundwire: debugfs: use controller id and link_id for debugfs + - power: reset: at91-reset: check properly the return value of devm_of_iomap + - scsi: ufs: core: Fix ufshcd_probe_hba() prototype to match the definition + - scsi: ufs: core: Stop clearing UNIT ATTENTIONS + - scsi: megaraid_sas: Fix concurrent access to ISR between IRQ polling and + real interrupt + - scsi: pm80xx: Fix misleading log statement in pm8001_mpi_get_nvmd_resp() + - driver core: Fix possible memory leak in device_link_add() + - arm: dts: omap3-gta04a4: accelerometer irq fix + - ASoC: SOF: topology: do not power down primary core during topology removal + - iio: st_pressure_spi: Add missing entries SPI to device ID table + - soc/tegra: Fix an error handling path in tegra_powergate_power_up() + - memory: fsl_ifc: fix leak of irq and nand_irq in fsl_ifc_ctrl_probe + - clk: at91: check pmc node status before registering syscore ops + - powerpc/mem: Fix arch/powerpc/mm/mem.c:53:12: error: no previous prototype + for 'create_section_mapping' + - video: fbdev: chipsfb: use memset_io() instead of memset() + - powerpc: fix unbalanced node refcount in check_kvm_guest() + - powerpc/paravirt: correct preempt debug splat in vcpu_is_preempted() + - serial: 8250_dw: Drop wrong use of ACPI_PTR() + - usb: gadget: hid: fix error code in do_config() + - power: supply: rt5033_battery: Change voltage values to µV + - power: supply: max17040: fix null-ptr-deref in max17040_probe() + - scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn() + - RDMA/mlx4: Return missed an error if device doesn't support steering + - usb: musb: select GENERIC_PHY instead of depending on it + - staging: most: dim2: do not double-register the same device + - staging: ks7010: select CRYPTO_HASH/CRYPTO_MICHAEL_MIC + - RDMA/core: Set sgtable nents when using ib_dma_virt_map_sg() + - dyndbg: make dyndbg a known cli param + - powerpc/perf: Fix cycles/instructions as PM_CYC/PM_INST_CMPL in power10 + - pinctrl: renesas: checker: Fix off-by-one bug in drive register check + - ARM: dts: stm32: Reduce DHCOR SPI NOR frequency to 50 MHz + - ARM: dts: stm32: fix STUSB1600 Type-C irq level on stm32mp15xx-dkx + - ARM: dts: stm32: fix SAI sub nodes register range + - ARM: dts: stm32: fix AV96 board SAI2 pin muxing on stm32mp15 + - ASoC: cs42l42: Always configure both ASP TX channels + - ASoC: cs42l42: Correct some register default values + - ASoC: cs42l42: Defer probe if request_threaded_irq() returns EPROBE_DEFER + - soc: qcom: rpmhpd: Make power_on actually enable the domain + - soc: qcom: socinfo: add two missing PMIC IDs + - iio: buffer: Fix double-free in iio_buffers_alloc_sysfs_and_mask() + - usb: typec: STUSB160X should select REGMAP_I2C + - iio: adis: do not disabe IRQs in 'adis_init()' + - soundwire: bus: stop dereferencing invalid slave pointer + - scsi: ufs: ufshcd-pltfrm: Fix memory leak due to probe defer + - scsi: lpfc: Wait for successful restart of SLI3 adapter during host sg_reset + - serial: imx: fix detach/attach of serial console + - usb: dwc2: drd: fix dwc2_force_mode call in dwc2_ovr_init + - usb: dwc2: drd: fix dwc2_drd_role_sw_set when clock could be disabled + - usb: dwc2: drd: reset current session before setting the new one + - powerpc/booke: Disable STRICT_KERNEL_RWX, DEBUG_PAGEALLOC and KFENCE + - usb: dwc3: gadget: Skip resizing EP's TX FIFO if already resized + - firmware: qcom_scm: Fix error retval in __qcom_scm_is_call_available() + - soc: qcom: rpmhpd: fix sm8350_mxc's peer domain + - soc: qcom: apr: Add of_node_put() before return + - arm64: dts: qcom: pmi8994: Fix "eternal"->"external" typo in WLED node + - arm64: dts: qcom: sdm845: Use RPMH_CE_CLK macro directly + - arm64: dts: qcom: sdm845: Fix Qualcomm crypto engine bus clock + - pinctrl: equilibrium: Fix function addition in multiple groups + - ASoC: topology: Fix stub for snd_soc_tplg_component_remove() + - phy: qcom-qusb2: Fix a memory leak on probe + - phy: ti: gmii-sel: check of_get_address() for failure + - phy: qcom-qmp: another fix for the sc8180x PCIe definition + - phy: qcom-snps: Correct the FSEL_MASK + - phy: Sparx5 Eth SerDes: Fix return value check in sparx5_serdes_probe() + - serial: xilinx_uartps: Fix race condition causing stuck TX + - clk: at91: sam9x60-pll: use DIV_ROUND_CLOSEST_ULL + - clk: at91: clk-master: check if div or pres is zero + - clk: at91: clk-master: fix prescaler logic + - HID: u2fzero: clarify error check and length calculations + - HID: u2fzero: properly handle timeouts in usb_submit_urb + - powerpc/nohash: Fix __ptep_set_access_flags() and ptep_set_wrprotect() + - powerpc/book3e: Fix set_memory_x() and set_memory_nx() + - powerpc/44x/fsp2: add missing of_node_put + - powerpc/xmon: fix task state output + - ALSA: oxfw: fix functional regression for Mackie Onyx 1640i in v5.14 or + later + - iommu/dma: Fix incorrect error return on iommu deferred attach + - powerpc: Don't provide __kernel_map_pages() without + ARCH_SUPPORTS_DEBUG_PAGEALLOC + - ASoC: cs42l42: Correct configuring of switch inversion from ts-inv + - RDMA/hns: Fix initial arm_st of CQ + - RDMA/hns: Modify the value of MAX_LP_MSG_LEN to meet hardware compatibility + - ASoC: rsnd: Fix an error handling path in 'rsnd_node_count()' + - serial: cpm_uart: Protect udbg definitions by CONFIG_SERIAL_CPM_CONSOLE + - virtio_ring: check desc == NULL when using indirect with packed + - vdpa/mlx5: Fix clearing of VIRTIO_NET_F_MAC feature bit + - mips: cm: Convert to bitfield API to fix out-of-bounds access + - power: supply: bq27xxx: Fix kernel crash on IRQ handler register error + - RDMA/core: Require the driver to set the IOVA correctly during rereg_mr + - apparmor: fix error check + - rpmsg: Fix rpmsg_create_ept return when RPMSG config is not defined + - mtd: rawnand: intel: Fix potential buffer overflow in probe + - nfsd: don't alloc under spinlock in rpc_parse_scope_id + - rtc: ds1302: Add SPI ID table + - rtc: ds1390: Add SPI ID table + - rtc: pcf2123: Add SPI ID table + - remoteproc: imx_rproc: Fix TCM io memory type + - i2c: i801: Use PCI bus rescan mutex to protect P2SB access + - dmaengine: idxd: move out percpu_ref_exit() to ensure it's outside + submission + - rtc: mcp795: Add SPI ID table + - Input: ariel-pwrbutton - add SPI device ID table + - i2c: mediatek: fixing the incorrect register offset + - NFS: Default change_attr_type to NFS4_CHANGE_TYPE_IS_UNDEFINED + - NFS: Don't set NFS_INO_DATA_INVAL_DEFER and NFS_INO_INVALID_DATA + - NFS: Ignore the directory size when marking for revalidation + - NFS: Fix dentry verifier races + - pnfs/flexfiles: Fix misplaced barrier in nfs4_ff_layout_prepare_ds + - drm/bridge/lontium-lt9611uxc: fix provided connector suport + - drm/plane-helper: fix uninitialized variable reference + - PCI: aardvark: Don't spam about PIO Response Status + - PCI: aardvark: Fix preserving PCI_EXP_RTCTL_CRSSVE flag on emulated bridge + - opp: Fix return in _opp_add_static_v2() + - NFS: Fix deadlocks in nfs_scan_commit_list() + - sparc: Add missing "FORCE" target when using if_changed + - fs: orangefs: fix error return code of orangefs_revalidate_lookup() + - Input: st1232 - increase "wait ready" timeout + - drm/bridge: nwl-dsi: Add atomic_get_input_bus_fmts + - mtd: spi-nor: hisi-sfc: Remove excessive clk_disable_unprepare() + - PCI: uniphier: Serialize INTx masking/unmasking and fix the bit operation + - mtd: rawnand: arasan: Prevent an unsupported configuration + - mtd: core: don't remove debugfs directory if device is in use + - remoteproc: Fix a memory leak in an error handling path in + 'rproc_handle_vdev()' + - rtc: rv3032: fix error handling in rv3032_clkout_set_rate() + - dmaengine: at_xdmac: call at_xdmac_axi_config() on resume path + - dmaengine: at_xdmac: fix AT_XDMAC_CC_PERID() macro + - dmaengine: stm32-dma: fix stm32_dma_get_max_width + - NFS: Fix up commit deadlocks + - NFS: Fix an Oops in pnfs_mark_request_commit() + - Fix user namespace leak + - auxdisplay: img-ascii-lcd: Fix lock-up when displaying empty string + - auxdisplay: ht16k33: Connect backlight to fbdev + - auxdisplay: ht16k33: Fix frame buffer device blanking + - soc: fsl: dpaa2-console: free buffer before returning from + dpaa2_console_read + - netfilter: nfnetlink_queue: fix OOB when mac header was cleared + - dmaengine: dmaengine_desc_callback_valid(): Check for `callback_result` + - dmaengine: tegra210-adma: fix pm runtime unbalance + - dmanegine: idxd: fix resource free ordering on driver removal + - dmaengine: idxd: reconfig device after device reset command + - signal/sh: Use force_sig(SIGKILL) instead of do_group_exit(SIGKILL) + - m68k: set a default value for MEMORY_RESERVE + - watchdog: f71808e_wdt: fix inaccurate report in WDIOC_GETTIMEOUT + - ar7: fix kernel builds for compiler test + - scsi: target: core: Remove from tmr_list during LUN unlink + - scsi: qla2xxx: Relogin during fabric disturbance + - scsi: qla2xxx: Fix gnl list corruption + - scsi: qla2xxx: Turn off target reset during issue_lip + - scsi: qla2xxx: edif: Fix app start fail + - scsi: qla2xxx: edif: Fix app start delay + - scsi: qla2xxx: edif: Flush stale events and msgs on session down + - scsi: qla2xxx: edif: Increase ELS payload + - scsi: qla2xxx: edif: Fix EDIF bsg + - NFSv4: Fix a regression in nfs_set_open_stateid_locked() + - dmaengine: idxd: fix resource leak on dmaengine driver disable + - i2c: xlr: Fix a resource leak in the error handling path of + 'xlr_i2c_probe()' + - gpio: realtek-otto: fix GPIO line IRQ offset + - xen-pciback: Fix return in pm_ctrl_init() + - nbd: fix max value for 'first_minor' + - nbd: fix possible overflow for 'first_minor' in nbd_dev_add() + - io-wq: fix max-workers not correctly set on multi-node system + - net: davinci_emac: Fix interrupt pacing disable + - kselftests/net: add missed icmp.sh test to Makefile + - kselftests/net: add missed setup_loopback.sh/setup_veth.sh to Makefile + - kselftests/net: add missed SRv6 tests + - kselftests/net: add missed vrf_strict_mode_test.sh test to Makefile + - kselftests/net: add missed toeplitz.sh/toeplitz_client.sh to Makefile + - ethtool: fix ethtool msg len calculation for pause stats + - openrisc: fix SMP tlb flush NULL pointer dereference + - net: vlan: fix a UAF in vlan_dev_real_dev() + - net: dsa: felix: fix broken VLAN-tagged PTP under VLAN-aware bridge + - ice: Fix replacing VF hardware MAC to existing MAC filter + - ice: Fix not stopping Tx queues for VFs + - kdb: Adopt scheduler's task classification + - ACPI: PMIC: Fix intel_pmic_regs_handler() read accesses + - PCI: j721e: Fix j721e_pcie_probe() error path + - nvdimm/btt: do not call del_gendisk() if not needed + - scsi: bsg: Fix errno when scsi_bsg_register_queue() fails + - scsi: ufs: ufshpb: Use proper power management API + - scsi: ufs: core: Fix NULL pointer dereference + - scsi: ufs: ufshpb: Properly handle max-single-cmd + - drm/nouveau/svm: Fix refcount leak bug and missing check against null bug + - nvdimm/pmem: cleanup the disk if pmem_release_disk() is yet assigned + - block/ataflop: use the blk_cleanup_disk() helper + - block/ataflop: add registration bool before calling del_gendisk() + - block/ataflop: provide a helper for cleanup up an atari disk + - ataflop: remove ataflop_probe_lock mutex + - PCI: Do not enable AtomicOps on VFs + - cpufreq: intel_pstate: Clear HWP desired on suspend/shutdown and offline + - net: phy: fix duplex out of sync problem while changing settings + - block: fix device_add_disk() kobject_create_and_add() error handling + - drm/ttm: remove ttm_bo_vm_insert_huge() + - bonding: Fix a use-after-free problem when bond_sysfs_slave_add() failed + - octeontx2-pf: select CONFIG_NET_DEVLINK + - ALSA: memalloc: Catch call with NULL snd_dma_buffer pointer + - mfd: core: Add missing of_node_put for loop iteration + - mfd: cpcap: Add SPI device ID table + - mfd: sprd: Add SPI device ID table + - mfd: altera-sysmgr: Fix a mistake caused by resource_size conversion + - ACPI: PM: Fix device wakeup power reference counting error + - libbpf: Fix lookup_and_delete_elem_flags error reporting + - selftests/bpf/xdp_redirect_multi: Put the logs to tmp folder + - selftests/bpf/xdp_redirect_multi: Use arping to accurate the arp number + - selftests/bpf/xdp_redirect_multi: Give tcpdump a chance to terminate cleanly + - selftests/bpf/xdp_redirect_multi: Limit the tests in netns + - drm: fb_helper: improve CONFIG_FB dependency + - Revert "drm/imx: Annotate dma-fence critical section in commit path" + - drm/amdgpu/powerplay: fix sysfs_emit/sysfs_emit_at handling + - can: etas_es58x: es58x_rx_err_msg(): fix memory leak in error path + - can: mcp251xfd: mcp251xfd_chip_start(): fix error handling for + mcp251xfd_chip_rx_int_enable() + - mm/zsmalloc.c: close race window between zs_pool_dec_isolated() and + zs_unregister_migration() + - zram: off by one in read_block_state() + - perf bpf: Add missing free to bpf_event__print_bpf_prog_info() + - llc: fix out-of-bound array index in llc_sk_dev_hash() + - nfc: pn533: Fix double free when pn533_fill_fragment_skbs() fails + - litex_liteeth: Fix a double free in the remove function + - arm64: arm64_ftr_reg->name may not be a human-readable string + - arm64: pgtable: make __pte_to_phys/__phys_to_pte_val inline functions + - bpf, sockmap: Remove unhash handler for BPF sockmap usage + - bpf, sockmap: Fix race in ingress receive verdict with redirect to self + - bpf: sockmap, strparser, and tls are reusing qdisc_skb_cb and colliding + - bpf, sockmap: sk_skb data_end access incorrect when src_reg = dst_reg + - dmaengine: stm32-dma: fix burst in case of unaligned memory address + - dmaengine: stm32-dma: avoid 64-bit division in stm32_dma_get_max_width + - gve: Fix off by one in gve_tx_timeout() + - drm/i915/fb: Fix rounding error in subsampled plane size calculation + - init: make unknown command line param message clearer + - seq_file: fix passing wrong private data + - drm/amdgpu: fix uvd crash on Polaris12 during driver unloading + - net: dsa: mv88e6xxx: Don't support >1G speeds on 6191X on ports other than + 10 + - net/sched: sch_taprio: fix undefined behavior in ktime_mono_to_any + - net: hns3: fix ROCE base interrupt vector initialization bug + - net: hns3: fix pfc packet number incorrect after querying pfc parameters + - net: hns3: fix kernel crash when unload VF while it is being reset + - net: hns3: allow configure ETS bandwidth of all TCs + - net: stmmac: allow a tc-taprio base-time of zero + - net: ethernet: ti: cpsw_ale: Fix access to un-initialized memory + - net: marvell: mvpp2: Fix wrong SerDes reconfiguration order + - vsock: prevent unnecessary refcnt inc for nonblocking connect + - net/smc: fix sk_refcnt underflow on linkdown and fallback + - cxgb4: fix eeprom len when diagnostics not implemented + - selftests/net: udpgso_bench_rx: fix port argument + - thermal: int340x: fix build on 32-bit targets + - smb3: do not error on fsync when readonly + - ARM: 9155/1: fix early early_iounmap() + - ARM: 9156/1: drop cc-option fallbacks for architecture selection + - parisc: Fix backtrace to always include init funtion names + - parisc: Flush kernel data mapping in set_pte_at() when installing pte for + user page + - MIPS: fix duplicated slashes for Platform file path + - MIPS: fix *-pkg builds for loongson2ef platform + - MIPS: Fix assembly error from MIPSr2 code used within MIPS_ISA_ARCH_LEVEL + - x86/mce: Add errata workaround for Skylake SKX37 + - PCI/MSI: Move non-mask check back into low level accessors + - PCI/MSI: Destroy sysfs before freeing entries + - KVM: x86: move guest_pv_has out of user_access section + - posix-cpu-timers: Clear task::posix_cputimers_work in copy_process() + - irqchip/sifive-plic: Fixup EOI failed when masked + - f2fs: should use GFP_NOFS for directory inodes + - f2fs: include non-compressed blocks in compr_written_block + - f2fs: fix UAF in f2fs_available_free_memory + - ceph: fix mdsmap decode when there are MDS's beyond max_mds + - erofs: fix unsafe pagevec reuse of hooked pclusters + - drm/i915/guc: Fix blocked context accounting + - block: Hold invalidate_lock in BLKDISCARD ioctl + - block: Hold invalidate_lock in BLKZEROOUT ioctl + - block: Hold invalidate_lock in BLKRESETZONE ioctl + - ksmbd: Fix buffer length check in fsctl_validate_negotiate_info() + - ksmbd: don't need 8byte alignment for request length in ksmbd_check_message + - dmaengine: ti: k3-udma: Set bchan to NULL if a channel request fail + - dmaengine: ti: k3-udma: Set r/tchan or rflow to NULL if request fail + - dmaengine: bestcomm: fix system boot lockups + - net, neigh: Enable state migration between NUD_PERMANENT and NTF_USE + - 9p/net: fix missing error check in p9_check_errors + - mm/filemap.c: remove bogus VM_BUG_ON + - memcg: prohibit unconditional exceeding the limit of dying tasks + - mm, oom: pagefault_out_of_memory: don't force global OOM for dying tasks + - mm, oom: do not trigger out_of_memory from the #PF + - mm, thp: lock filemap when truncating page cache + - mm, thp: fix incorrect unmap behavior for private pages + - mfd: dln2: Add cell for initializing DLN2 ADC + - video: backlight: Drop maximum brightness override for brightness zero + - bcache: fix use-after-free problem in bcache_device_free() + - bcache: Revert "bcache: use bvec_virt" + - PM: sleep: Avoid calling put_device() under dpm_list_mtx + - s390/cpumf: cpum_cf PMU displays invalid value after hotplug remove + - s390/cio: check the subchannel validity for dev_busid + - s390/tape: fix timer initialization in tape_std_assign() + - s390/ap: Fix hanging ioctl caused by orphaned replies + - s390/cio: make ccw_device_dma_* more robust + - remoteproc: elf_loader: Fix loading segment when is_iomem true + - remoteproc: Fix the wrong default value of is_iomem + - remoteproc: imx_rproc: Fix ignoring mapping vdev regions + - remoteproc: imx_rproc: Fix rsc-table name + - mtd: rawnand: fsmc: Fix use of SM ORDER + - mtd: rawnand: ams-delta: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: xway: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: mpc5121: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: gpio: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: pasemi: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: orion: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: plat_nand: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: au1550nd: Keep the driver compatible with on-die ECC engines + - powerpc/vas: Fix potential NULL pointer dereference + - powerpc/bpf: Fix write protecting JIT code + - powerpc/32e: Ignore ESR in instruction storage interrupt handler + - powerpc/powernv/prd: Unregister OPAL_MSG_PRD2 notifier during module unload + - powerpc/security: Use a mutex for interrupt exit code patching + - powerpc/64s/interrupt: Fix check_return_regs_valid() false positive + - powerpc/pseries/mobility: ignore ibm, platform-facilities updates + - powerpc/85xx: fix timebase sync issue when CONFIG_HOTPLUG_CPU=n + - drm/sun4i: Fix macros in sun8i_csc.h + - PCI: Add PCI_EXP_DEVCTL_PAYLOAD_* macros + - PCI: aardvark: Fix PCIe Max Payload Size setting + - SUNRPC: Partial revert of commit 6f9f17287e78 + - drm/amd/display: Look at firmware version to determine using dmub on dcn21 + - media: vidtv: move kfree(dvb) to vidtv_bridge_dev_release() + - cifs: fix memory leak of smb3_fs_context_dup::server_hostname + - ath10k: fix invalid dma_addr_t token assignment + - mmc: moxart: Fix null pointer dereference on pointer host + - selftests/x86/iopl: Adjust to the faked iopl CLI/STI usage + - selftests/bpf: Fix also no-alu32 strobemeta selftest + - arch/cc: Introduce a function to check for confidential computing features + - x86/sev: Add an x86 version of cc_platform_has() + - x86/sev: Make the #VC exception stacks part of the default stacks storage + - media: videobuf2: always set buffer vb2 pointer + - media: videobuf2-dma-sg: Fix buf->vb NULL pointer dereference + - Linux 5.15.3 + * kernel panic: NULL pointer dereference in wb_timer_f() (LP: #1947557) // + Jammy update: v5.15.3 upstream stable release (LP: #1951822) + - blk-wbt: prevent NULL pointer dereference in wb_timer_fn + * Medion Notebook Keyboard not working (LP: #1909814) // Jammy update: v5.15.3 + upstream stable release (LP: #1951822) + - ACPI: resources: Add DMI-based legacy IRQ override quirk + * Enable CONFIG_INTEL_IOMMU_DEFAULT_ON and + CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON on jammy 5.15 (LP: #1951440) + - [Config] enable Intel DMA remapping options by default + * Thinkpad E14 Gen2: Kernel panic with trackpad and trackpoint enabled + (LP: #1945590) + - SAUCE: Input: elantech - Fix stack out of bound access in + elantech_change_report_id() + * Miscellaneous Ubuntu changes + - SAUCE: LSM: Specify which LSM to display (using struct cred as input) + - SAUCE: selftests/seccomp: fix check of fds being assigned + - [Config] enable SUNRPC_DISABLE_INSECURE_ENCTYPES + - [Config] updateconfigs following v5.15.3, v5.15.4 import + * Miscellaneous upstream changes + - binder: use cred instead of task for selinux checks + - binder: use cred instead of task for getsecid + - Revert "UBUNTU: SAUCE: storvsc: use small sg_tablesize on x86" + + [ Ubuntu: 5.15.0-11.11 ] + + * jammy/linux: 5.15.0-11.11 -proposed tracker (LP: #1950948) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * OOPs on boot: invalid opcode: 0000 [#1] SMP NOPTI (LP: #1942215) + - SAUCE: ACPICA: prevent out-of-bound access with buggy DSDT + - [Config] disable UBSAN + - SAUCE: ACPICA: avoid accessing operands out-of-bounds + * Jammy update: v5.15.2 upstream stable release (LP: #1950949) + - KVM: x86: avoid warning with -Wbitwise-instead-of-logical + - Revert "x86/kvm: fix vcpu-id indexed array sizes" + - usb: ehci: handshake CMD_RUN instead of STS_HALT + - usb: gadget: Mark USB_FSL_QE broken on 64-bit + - usb: musb: Balance list entry in musb_gadget_queue + - usb-storage: Add compatibility quirk flags for iODD 2531/2541 + - Revert "proc/wchan: use printk format instead of lookup_symbol_name()" + - binder: use euid from cred instead of using task + - binder: don't detect sender/target during buffer cleanup + - kfence: always use static branches to guard kfence_alloc() + - kfence: default to dynamic branch instead of static keys mode + - btrfs: fix lzo_decompress_bio() kmap leakage + - staging: rtl8712: fix use-after-free in rtl8712_dl_fw + - isofs: Fix out of bound access for corrupted isofs image + - comedi: dt9812: fix DMA buffers on stack + - comedi: ni_usb6501: fix NULL-deref in command paths + - comedi: vmk80xx: fix transfer-buffer overflows + - comedi: vmk80xx: fix bulk-buffer overflow + - comedi: vmk80xx: fix bulk and interrupt message timeouts + - staging: r8712u: fix control-message timeout + - staging: rtl8192u: fix control-message timeouts + - staging: r8188eu: fix memleak in rtw_wx_set_enc_ext + - media: staging/intel-ipu3: css: Fix wrong size comparison imgu_css_fw_init + - rsi: fix control-message timeout + - Linux 5.15.2 + * reuseport_bpf_numa in net from ubuntu_kernel_selftests fails on ppc64le + (LP: #1867570) + - selftests/net: Fix reuseport_bpf_numa by skipping unavailable nodes + * Miscellaneous Ubuntu changes + - packaging: switch getabis to the linux package name + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: (no-up) rename the adv7511 drm driver to adv7511_drm" + - Revert "UBUNTU: SAUCE: drm/i915/dp: Use max params for older panels" + - Revert "UBUNTU: SAUCE: i915: Fix build error due to missing struct + definition" + - selftests/core: fix conflicting types compile error for close_range() + - selftests: net: test_vxlan_under_vrf: fix HV connectivity test + - Revert "UBUNTU: SAUCE: ACPICA: prevent out-of-bound access with buggy DSDT" + + [ Ubuntu: 5.15.0-10.10 ] + + * jammy/linux: 5.15.0-10.10 -proposed tracker (LP: #1950133) + * Jammy update: v5.15.1 upstream stable release (LP: #1950131) + - sfc: Fix reading non-legacy supported link modes + - media: firewire: firedtv-avc: fix a buffer overflow in avc_ca_pmt() + - Revert "xhci: Set HCD flag to defer primary roothub registration" + - Revert "usb: core: hcd: Add support for deferring roothub registration" + - drm/amdkfd: fix boot failure when iommu is disabled in Picasso. + - Revert "soc: imx: gpcv2: move reset assert after requesting domain power up" + - ARM: 9120/1: Revert "amba: make use of -1 IRQs warn" + - Revert "wcn36xx: Disable bmps when encryption is disabled" + - drm/amdgpu: revert "Add autodump debugfs node for gpu reset v8" + - drm/amd/display: Revert "Directly retrain link from debugfs" + - Revert "drm/i915/gt: Propagate change in error status to children on unhold" + - ALSA: usb-audio: Add quirk for Audient iD14 + - Linux 5.15.1 + * Miscellaneous Ubuntu changes + - packaging: fixup previous ABI/spin to -9.9 + - [Packaging] Drop unused d-i build-deps and packaging + - [Packaging] Drop now unsupported d-i/ input files + * Miscellaneous upstream changes + - selftests: net: properly support IPv6 in GSO GRE test + - signal: Add SA_IMMUTABLE to ensure forced siganls do not get changed + + [ Ubuntu: 5.15.0-9.9 ] + + * jammy/linux: 5.15.0-1.1 -proposed tracker (LP: #1949876) + * Packaging resync (LP: #1786013) + - [Packaging] update variants + - [Packaging] update Ubuntu.md + * Add F81966 watchdog support (LP: #1949063) + - SAUCE: ODM: watchdog: f71808e_wdt: Add F81966 support + * Miscellaneous Ubuntu changes + - [Packaging] Rewrite debian/scripts/misc/insert-changes.pl in Python + - [Packaging] change source package name to linux + + [ Ubuntu: 5.15.0-0.0 ] + + * Empty entry + + [ Ubuntu: 5.15.0-8.8 ] + + * jammy/linux-unstable: 5.15.0-8.8 -proposed tracker (LP: #1949436) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * Drop "UBUNTU: SAUCE: cachefiles: Page leaking in + cachefiles_read_backing_file while vmscan is active" (LP: #1947709) + - Revert "UBUNTU: SAUCE: cachefiles: Page leaking in + cachefiles_read_backing_file while vmscan is active" + * Add l2tp.sh in net from ubuntu_kernel_selftests back (LP: #1934293) + - Revert "UBUNTU: SAUCE: selftests/net -- disable l2tp.sh test" + * Check for changes relevant for security certifications (LP: #1945989) + - [Packaging] Add fips-checks as part of finalchecks + * Add final-checks to check certificates (LP: #1947174) + - [Packaging] Add system trusted and revocation keys final check + * Can only reach PC3 when ethernet is plugged r8169 (LP: #1946433) + - r8169: Enable chip-specific ASPM regardless of PCIe ASPM status + - PCI/ASPM: Introduce a new helper to report ASPM capability + - r8169: Implement dynamic ASPM mechanism + * rtw89 kernel module for Realtek 8852 wifi is missing (LP: #1945967) + - rtw89: add Realtek 802.11ax driver + - rtw89: Remove redundant check of ret after call to rtw89_mac_enable_bb_rf + - rtw89: fix return value check in rtw89_cam_send_sec_key_cmd() + - rtw89: remove unneeded semicolon + - [Config] RTW89=m + * Fix A yellow screen pops up in an instant (< 1 second) and then disappears + before loading the system (LP: #1945932) + - drm/i915: Stop force enabling pipe bottom color gammma/csc + * disable CONFIG_KFENCE_STATIC_KEYS in linux 5.15 (LP: #1948038) + - [Config] disable CONFIG_KFENCE_STATIC_KEYS + * Miscellaneous Ubuntu changes + - [Debian] Remove old and unused firmware helper scripts + - [Packaging] Replace Perl oneliner with Bash statements + - rebase to v5.15 + * Rebase to v5.15 + + [ Ubuntu: 5.15.0-7.7 ] + + * jammy/linux-unstable: 5.15.0-7.7 -proposed tracker (LP: #1948770) + * Miscellaneous Ubuntu changes + - [Config] Temporarily disable signing for ppc64el and s390x + - packaging: switch release to Jammy + - rebase to v5.15-rc7 + - [Config] GCC version update + * Rebase to v5.15-rc7 + + [ Ubuntu: 5.15.0-6.6 ] + + * impish/linux-unstable: 5.15.0-6.6 -proposed tracker (LP: #1947565) + * [impish] Remove the downstream xr-usb-uart driver (LP: #1945938) + - SAUCE: xr-usb-serial: remove driver + - [Config] update modules list + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc6 + - [Config] update config & annotations following v5.15-rc6 rebase + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: xr-usb-serial: switch to tty_alloc_driver() and + tty_driver_kref_put()" + - Revert "UBUNTU: SAUCE: xr-usb-serial: update return code for + xr_usb_serial_tty_write_room() and xr_usb_serial_tty_chars_in_buffer()" + - Revert "UBUNTU: [Packaging] FTBFS: disable zfs" + * Rebase to v5.15-rc6 + + [ Ubuntu: 5.15.0-5.5 ] + + * impish/linux-unstable: 5.15.0-5.5 -proposed tracker (LP: #1946338) + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc5 + - [Config] FB_SIMPLE=m + - [Config] update annotations + * Rebase to v5.15-rc5 + + [ Ubuntu: 5.15.0-4.4 ] + + * impish/linux-unstable: 5.15.0-4.4 -proposed tracker (LP: #1945953) + * Fix missing HDMI audio on Intel RKL (LP: #1945556) + - drm/i915/audio: Use BIOS provided value for RKL HDA link + * Miscellaneous Ubuntu changes + - SAUCE: media: atomisp: add missing return type (fix -Werror=return-type) + - SAUCE: xr-usb-serial: switch to tty_alloc_driver() and tty_driver_kref_put() + - rebase to v5.15-rc4 + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] FTBFS: disable INTEL_ATOMISP" + - Revert "UBUNTU: [Config] FTBFS: disable xr-usb-serial" + * Rebase to v5.15-rc4 + + [ Ubuntu: 5.15.0-3.3 ] + + * impish/linux-unstable: 5.15.0-3.3 -proposed tracker (LP: #1944944) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc3 + - [Config] updateconfigs following v5.15-rc3 rebase + - [Packaging] correctly evaluate release in update-dkms-versions + * Rebase to v5.15-rc3 + + [ Ubuntu: 5.15.0-2.2 ] + + * impish/linux-unstable: 5.15.0-2.2 -proposed tracker (LP: #1944423) + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc2 + - [Config] updateconfigs following v5.15-rc2 rebase + * Rebase to v5.15-rc2 + + [ Ubuntu: 5.15.0-1.1 ] + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * LRMv5: switch primary version handling to kernel-versions data set + (LP: #1928921) + - [Packaging] switch to kernel-versions + * Miscellaneous Ubuntu changes + - [Packaging] remove remaining references to ports + - [Packaging] drop x32 architecture configs + - [Config] mark CONFIG_BPF_UNPRIV_DEFAULT_OFF enforced + - [Packaging] bump kernel version to 5.15 + - rebase to v5.15-rc1 + - [Config] updateconfigs following v5.15-rc1 rebase + - [Config] FTBFS: disable INTEL_ATOMISP + - [Config] FTBFS: disable xr-usb-serial + - [Packaging] FTBFS: disable zfs + * Miscellaneous upstream changes + - Revert "r8169: avoid link-up interrupt issue on RTL8106e if user enables + ASPM" + - Revert "UBUNTU: SAUCE: RDMA/core: Introduce peer memory interface" + * Rebase to v5.15-rc1 + + [ Ubuntu: 5.15.0-0.0 ] + + * Empty entry + + [ Ubuntu: 5.14.0-9.9 ] + + * impish/linux-unstable: 5.14.0-9.9 -proposed tracker (LP: #1943022) + * Packaging resync (LP: #1786013) + - update dkms package versions + * Miscellaneous Ubuntu changes + - [Packaging] NVIDIA -- Add the NVIDIA 470 driver + - [Packaging] NVIDIA: transition -460 and -465 to -470, transition -460-server + to -470-server + * Miscellaneous upstream changes + - vt_kdsetmode: extend console locking + - Bluetooth: btusb: check conditions before enabling USB ALT 3 for WBS + - net: dsa: mt7530: fix VLAN traffic leaks again + - btrfs: fix NULL pointer dereference when deleting device by invalid id + - Revert "floppy: reintroduce O_NDELAY fix" + - fscrypt: add fscrypt_symlink_getattr() for computing st_size + - ext4: report correct st_size for encrypted symlinks + - f2fs: report correct st_size for encrypted symlinks + - ubifs: report correct st_size for encrypted symlinks + - net: don't unconditionally copy_from_user a struct ifreq for socket ioctls + - audit: move put_tree() to avoid trim_trees refcount underflow and UAF + - Linux 5.14.1 + + [ Ubuntu: 5.14.0-8.8 ] + + * impish/linux-unstable: 5.14.0-8.8 -proposed tracker (LP: #1941887) + * Fix Intel AC9560 BT function cannot turn on if BT turn off before S3 entry + (LP: #1941696) + - SAUCE: Bluetooth: btusb: add a reject table to disable msft + * Add USB4 support for AMD SoC (LP: #1941036) + - thunderbolt: Add vendor specific NHI quirk for auto-clearing interrupt + status + - thunderbolt: Handle ring interrupt by reading interrupt status register + - thunderbolt: Do not read control adapter config space + - thunderbolt: Fix port linking by checking all adapters + * Support builtin revoked certificates (LP: #1932029) + - [Config] Enforce SYSTEM_TRUSTED_KEYS and SYSTEM_REVOCATION_KEYS + * GPIO error logs in start and dmesg after update of kernel (LP: #1937897) + - ODM: mfd: Check AAEON BFPI version before adding device + * initramfs-tools & kernel: use zstd as the default compression method + (LP: #1931725) + - [Config] enforce ZSTD compression + * Miscellaneous Ubuntu changes + - rebase to v5.14 + - [Config] RESET_MCHP_SPARX5 depends on ARCH_SPARX5 + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] FTBFS: disable zfs" + * Rebase to v5.14 + + [ Ubuntu: 5.14.0-7.7 ] + + * Please enable CONFIG_UBSAN_BOUNDS (LP: #1914685) + - [Config] Enable CONFIG_UBSAN_BOUNDS + * CONFIG_HARDENED_USERCOPY_FALLBACK should be disabled (LP: #1855340) + - [Config] Disable CONFIG_HARDENED_USERCOPY_FALLBACK + * fs: removing mandatory locks (LP: #1940392) + - [Config] Disable CONFIG_MANDATORY_FILE_LOCKING + * Fix kernel panic caused by legacy devices on AMD platforms (LP: #1936682) + - SAUCE: iommu/amd: Keep swiotlb enabled to ensure devices with 32bit DMA + still work + * ALSA: hda/cs8409: Add support for dolphin (LP: #1939541) + - ALSA: hda/cirrus: Move CS8409 HDA bridge to separate module + - ALSA: hda/cs8409: Move arrays of configuration to a new file + - ALSA: hda/cs8409: Use enums for register names and coefficients + - ALSA: hda/cs8409: Mask all CS42L42 interrupts on initialization + - ALSA: hda/cs8409: Reduce HS pops/clicks for Cyborg + - ALSA: hda/cs8409: Disable unnecessary Ring Sense for Cyborg/Warlock/Bullseye + - ALSA: hda/cs8409: Disable unsolicited responses during suspend + - ALSA: hda/cs8409: Disable unsolicited response for the first boot + - ALSA: hda/cs8409: Mask CS42L42 wake events + - ALSA: hda/cs8409: Simplify CS42L42 jack detect. + - ALSA: hda/cs8409: Prevent I2C access during suspend time + - ALSA: hda/cs8409: Generalize volume controls + - ALSA: hda/cs8409: Dont disable I2C clock between consecutive accesses + - ALSA: hda/cs8409: Avoid setting the same I2C address for every access + - ALSA: hda/cs8409: Avoid re-setting the same page as the last access + - ALSA: hda/cs8409: Support i2c bulk read/write functions + - ALSA: hda/cs8409: Separate CS8409, CS42L42 and project functions + - ALSA: hda/cs8409: Move codec properties to its own struct + - ALSA: hda/cs8409: Support multiple sub_codecs for Suspend/Resume/Unsol + events + - ALSA: hda/cs8409: Add Support to disable jack type detection for CS42L42 + - ALSA: hda/cs8409: Add support for dolphin + - ALSA: hda/cs8409: Enable Full Scale Volume for Line Out Codec on Dolphin + - ALSA: hda/cs8409: Set fixed sample rate of 48kHz for CS42L42 + - ALSA: hda/cs8409: Use timeout rather than retries for I2C transaction waits + - ALSA: hda/cs8409: Remove unnecessary delays + - ALSA: hda/cs8409: Follow correct CS42L42 power down sequence for suspend + - ALSA: hda/cs8409: Unmute/Mute codec when stream starts/stops + - ALSA: hda/cs8409: Prevent pops and clicks during suspend + - SAUCE: ALSA: hda/cs8409: Prevent pops and clicks during reboot + - [Config] Enable Cirrus Logic HDA bridge support + * e1000e: add handshake with the Intel CSME to support S0ix (LP: #1937252) + - SAUCE: e1000e: Add handshake with the CSME to support S0ix + - SAUCE: e1000e: Add polling mechanism to indicate CSME DPG exit + - SAUCE: e1000e: Additional PHY power saving in S0ix + * AMDGPU: Fix System hang after resume from suspend (LP: #1940204) + - SAUCE: drm/amdgpu: disable BACO support for 699F:C7 polaris12 SKU + temporarily + * [Regression] Audio card [8086:9d71] not detected after upgrade from linux + 5.4 to 5.8 (LP: #1915117) + - [Config] set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y + * Miscellaneous Ubuntu changes + - rebase to v5.14-rc7 + - [Config] updateconfigs following 5.14-rc7 rebase + - [Config] Enable CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT + - [Config] annotations: set CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT to y + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] annotations: set + CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y" + - Revert "UBUNTU: [Config] set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to + y" + * Rebase to v5.14-rc7 + + [ Ubuntu: 5.14.0-6.6 ] + + * Miscellaneous Ubuntu changes + - no changes upload (to avoid picking up libc6 from -proposed) + * No changes upload (to avoid picking up libc6 from -proposed) + + [ Ubuntu: 5.14.0-5.5 ] + + * disable “CONFIG_HISI_DMA” config for ubuntu version (LP: #1936771) + - [Config] Disable CONFIG_HISI_DMA + * Dell XPS 17 (9710) PCI/internal sound card not detected (LP: #1935850) + - ASoC: Intel: sof_sdw: include rt711.h for RT711 JD mode + - ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 + * [regression] USB device is not detected during boot (LP: #1939638) + - SAUCE: Revert "usb: core: reduce power-on-good delay time of root hub" + * armhf build failure (LP: #1939308) + - SAUCE: arm: Fix instruction set selection for GCC 11 + * REGRESSION: shiftfs lets sendfile fail with EINVAL (LP: #1939301) + - SAUCE: shiftfs: fix sendfile() invocations + * Wobbly graphics on built-in display since linux-image-5.11.0-22-generic + (LP: #1936708) + - SAUCE: drm/i915/dp: Use max params for older panels + * [SRU][H/OEM-5.10/OEM-5.13/U] Fix system hang after unplug tbt dock + (LP: #1938689) + - SAUCE: igc: fix page fault when thunderbolt is unplugged + * e1000e blocks the boot process when it tried to write checksum to its NVM + (LP: #1936998) + - SAUCE: e1000e: Do not take care about recovery NVM checksum + * [Regression] Audio card [8086:9d71] not detected after upgrade from linux + 5.4 to 5.8 (LP: #1915117) + - [Config] set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y + - [Config] annotations: set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y + * Miscellaneous Ubuntu changes + - [Config] updateconfigs following 5.14-rc6 rebase + - rebase to v5.14-rc6 + * Rebase to v5.14-rc6 + + [ Ubuntu: 5.14.0-4.4 ] + + * impish/linux-unstable: 5.14.0-4.4 -proposed tracker (LP: #1938566) + * Packaging resync (LP: #1786013) + - update dkms package versions + * Miscellaneous upstream changes + - Revert "riscv: Get CPU manufacturer information" + + [ Ubuntu: 5.14.0-3.3 ] + + * Add additional Mediatek MT7921 WiFi/BT device IDs (LP: #1937004) + - SAUCE: Bluetooth: btusb: Add Mediatek MT7921 support for Foxconn + - SAUCE: Bluetooth: btusb: Add Mediatek MT7921 support for IMC Network + - SAUCE: Bluetooth: btusb: Add support for Foxconn Mediatek Chip + * Fix display output on HP hybrid GFX laptops (LP: #1936296) + - drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops + * Miscellaneous Ubuntu changes + - rebase to v5.14-rc3 + - [Config] updateconfigs following 5.14-rc3 rebase + * Rebase to v5.14-rc3 + + [ Ubuntu: 5.14.0-2.2 ] + + * Packaging resync (LP: #1786013) + - update dkms package versions + * Miscellaneous Ubuntu changes + - SAUCE: xr-usb-serial: update return code for xr_usb_serial_tty_write_room() + and xr_usb_serial_tty_chars_in_buffer() + - SAUCE: platform/x86: dell-uart-backlight: update return code for + uart_chars_in_buffer(() + - [Config] updateconfigs following 5.14-rc2 rebase + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] FTBFS: disable ubuntu/xr-usb-serial" + - Revert "UBUNTU: [Config] FTBFS: disable DELL_UART_BACKLIGHT" + * Rebase to v5.14-rc2 + + [ Ubuntu: 5.14.0-1.1 ] + + * Packaging resync (LP: #1786013) + - update dkms package versions + * Miscellaneous Ubuntu changes + - [Packaging] bump kernel version to 5.14 + - [Config] updateconfigs following 5.14-rc1 rebase + - [Config] update annotations + - [Packaging] FTBFS: disable zfs + - [Config] FTBFS: disable DELL_UART_BACKLIGHT + - [Config] FTBFS: disable ubuntu/xr-usb-serial + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] update variants" + * Rebase to v5.14-rc1 + + [ Ubuntu: 5.14.0-0.0 ] + + * Empty entry + + -- Khalid Elmously Thu, 10 Feb 2022 00:35:08 -0500 + +linux-gcp (5.15.0-1000.0) jammy; urgency=medium + + * jammy/linux-gcp: Initial bring-up of jammy-linux-gcp + + [ Ubuntu: 5.13.0-30.33 ] + + -- Khalid Elmously Tue, 09 Feb 2022 04:48:49 -0500 + +linux (5.15.0-22.22) jammy; urgency=medium + + * jammy/linux: 5.15.0-22.22 -proposed tracker (LP: #1960290) + + -- Paolo Pisati Tue, 08 Feb 2022 10:48:49 +0100 + +linux (5.15.0-21.21) jammy; urgency=medium + + * jammy/linux: 5.15.0-21.21 -proposed tracker (LP: #1960211) + + * Miscellaneous Ubuntu changes + - [packaging] unhook lowlatency flavours from the build + + -- Paolo Pisati Mon, 07 Feb 2022 11:30:18 +0100 + +linux (5.15.0-20.20) jammy; urgency=medium + + * jammy/linux: 5.15.0-20.20 -proposed tracker (LP: #1959881) + + * Jammy update: v5.15.19 upstream stable release (LP: #1959879) + - can: m_can: m_can_fifo_{read,write}: don't read or write from/to FIFO if + length is 0 + - net: sfp: ignore disabled SFP node + - net: stmmac: configure PTP clock source prior to PTP initialization + - net: stmmac: skip only stmmac_ptp_register when resume from suspend + - ARM: 9179/1: uaccess: avoid alignment faults in + copy_[from|to]_kernel_nofault + - ARM: 9180/1: Thumb2: align ALT_UP() sections in modules sufficiently + - KVM: arm64: Use shadow SPSR_EL1 when injecting exceptions on !VHE + - s390/hypfs: include z/VM guests with access control group set + - s390/nmi: handle guarded storage validity failures for KVM guests + - s390/nmi: handle vector validity failures for KVM guests + - bpf: Guard against accessing NULL pt_regs in bpf_get_task_stack() + - powerpc32/bpf: Fix codegen for bpf-to-bpf calls + - powerpc/bpf: Update ldimm64 instructions during extra pass + - scsi: zfcp: Fix failed recovery on gone remote port with non-NPIV FCP + devices + - udf: Restore i_lenAlloc when inode expansion fails + - udf: Fix NULL ptr deref when converting from inline format + - efi: runtime: avoid EFIv2 runtime services on Apple x86 machines + - PM: wakeup: simplify the output logic of pm_show_wakelocks() + - tracing/histogram: Fix a potential memory leak for kstrdup() + - tracing: Don't inc err_log entry count if entry allocation fails + - ceph: properly put ceph_string reference after async create attempt + - ceph: set pool_ns in new inode layout for async creates + - fsnotify: fix fsnotify hooks in pseudo filesystems + - Revert "KVM: SVM: avoid infinite loop on NPF from bad address" + - psi: Fix uaf issue when psi trigger is destroyed while being polled + - powerpc/audit: Fix syscall_get_arch() + - perf/x86/intel/uncore: Fix CAS_COUNT_WRITE issue for ICX + - perf/x86/intel: Add a quirk for the calculation of the number of counters on + Alder Lake + - drm/etnaviv: relax submit size limits + - drm/atomic: Add the crtc to affected crtc only if uapi.enable = true + - drm/amd/display: Fix FP start/end for dcn30_internal_validate_bw. + - KVM: LAPIC: Also cancel preemption timer during SET_LAPIC + - KVM: SVM: Never reject emulation due to SMAP errata for !SEV guests + - KVM: SVM: Don't intercept #GP for SEV guests + - KVM: x86: nSVM: skip eax alignment check for non-SVM instructions + - KVM: x86: Forcibly leave nested virt when SMM state is toggled + - KVM: x86: Keep MSR_IA32_XSS unchanged for INIT + - KVM: x86: Update vCPU's runtime CPUID on write to MSR_IA32_XSS + - KVM: x86: Sync the states size with the XCR0/IA32_XSS at, any time + - KVM: PPC: Book3S HV Nested: Fix nested HFSCR being clobbered with multiple + vCPUs + - dm: revert partial fix for redundant bio-based IO accounting + - block: add bio_start_io_acct_time() to control start_time + - dm: properly fix redundant bio-based IO accounting + - serial: pl011: Fix incorrect rs485 RTS polarity on set_mctrl + - serial: 8250: of: Fix mapped region size when using reg-offset property + - serial: stm32: fix software flow control transfer + - tty: n_gsm: fix SW flow control encoding/handling + - tty: Partially revert the removal of the Cyclades public API + - tty: Add support for Brainboxes UC cards. + - kbuild: remove include/linux/cyclades.h from header file check + - usb-storage: Add unusual-devs entry for VL817 USB-SATA bridge + - usb: xhci-plat: fix crash when suspend if remote wake enable + - usb: common: ulpi: Fix crash in ulpi_match() + - usb: gadget: f_sourcesink: Fix isoc transfer for USB_SPEED_SUPER_PLUS + - usb: cdnsp: Fix segmentation fault in cdns_lost_power function + - usb: dwc3: xilinx: Skip resets and USB3 register settings for USB2.0 mode + - usb: dwc3: xilinx: Fix error handling when getting USB3 PHY + - USB: core: Fix hang in usb_kill_urb by adding memory barriers + - usb: typec: tcpci: don't touch CC line if it's Vconn source + - usb: typec: tcpm: Do not disconnect while receiving VBUS off + - usb: typec: tcpm: Do not disconnect when receiving VSAFE0V + - ucsi_ccg: Check DEV_INT bit only when starting CCG4 + - mm, kasan: use compare-exchange operation to set KASAN page tag + - jbd2: export jbd2_journal_[grab|put]_journal_head + - ocfs2: fix a deadlock when commit trans + - sched/membarrier: Fix membarrier-rseq fence command missing from query + bitmask + - PCI/sysfs: Find shadow ROM before static attribute initialization + - x86/MCE/AMD: Allow thresholding interface updates after init + - x86/cpu: Add Xeon Icelake-D to list of CPUs that support PPIN + - powerpc/32s: Allocate one 256k IBAT instead of two consecutives 128k IBATs + - powerpc/32s: Fix kasan_init_region() for KASAN + - powerpc/32: Fix boot failure with GCC latent entropy plugin + - i40e: Increase delay to 1 s after global EMP reset + - i40e: Fix issue when maximum queues is exceeded + - i40e: Fix queues reservation for XDP + - i40e: Fix for failed to init adminq while VF reset + - i40e: fix unsigned stat widths + - usb: roles: fix include/linux/usb/role.h compile issue + - rpmsg: char: Fix race between the release of rpmsg_ctrldev and cdev + - rpmsg: char: Fix race between the release of rpmsg_eptdev and cdev + - scsi: elx: efct: Don't use GFP_KERNEL under spin lock + - scsi: bnx2fc: Flush destroy_work queue before calling bnx2fc_interface_put() + - ipv6_tunnel: Rate limit warning messages + - ARM: 9170/1: fix panic when kasan and kprobe are enabled + - net: fix information leakage in /proc/net/ptype + - hwmon: (lm90) Mark alert as broken for MAX6646/6647/6649 + - hwmon: (lm90) Mark alert as broken for MAX6680 + - ping: fix the sk_bound_dev_if match in ping_lookup + - ipv4: avoid using shared IP generator for connected sockets + - hwmon: (lm90) Reduce maximum conversion rate for G781 + - NFSv4: Handle case where the lookup of a directory fails + - NFSv4: nfs_atomic_open() can race when looking up a non-regular file + - net-procfs: show net devices bound packet types + - drm/msm: Fix wrong size calculation + - drm/msm/dsi: Fix missing put_device() call in dsi_get_phy + - drm/msm/dsi: invalid parameter check in msm_dsi_phy_enable + - ipv6: annotate accesses to fn->fn_sernum + - NFS: Ensure the server has an up to date ctime before hardlinking + - NFS: Ensure the server has an up to date ctime before renaming + - KVM: arm64: pkvm: Use the mm_ops indirection for cache maintenance + - SUNRPC: Use BIT() macro in rpc_show_xprt_state() + - SUNRPC: Don't dereference xprt->snd_task if it's a cookie + - powerpc64/bpf: Limit 'ldbrx' to processors compliant with ISA v2.06 + - netfilter: conntrack: don't increment invalid counter on NF_REPEAT + - powerpc/64s: Mask SRR0 before checking against the masked NIP + - perf: Fix perf_event_read_local() time + - sched/pelt: Relax the sync of util_sum with util_avg + - net: phy: broadcom: hook up soft_reset for BCM54616S + - net: stmmac: dwmac-visconti: Fix bit definitions for ETHER_CLK_SEL + - net: stmmac: dwmac-visconti: Fix clock configuration for RMII mode + - phylib: fix potential use-after-free + - octeontx2-af: Do not fixup all VF action entries + - octeontx2-af: Fix LBK backpressure id count + - octeontx2-af: Retry until RVU block reset complete + - octeontx2-pf: cn10k: Ensure valid pointers are freed to aura + - octeontx2-af: verify CQ context updates + - octeontx2-af: Increase link credit restore polling timeout + - octeontx2-af: cn10k: Do not enable RPM loopback for LPC interfaces + - octeontx2-pf: Forward error codes to VF + - rxrpc: Adjust retransmission backoff + - efi/libstub: arm64: Fix image check alignment at entry + - io_uring: fix bug in slow unregistering of nodes + - Drivers: hv: balloon: account for vmbus packet header in max_pkt_size + - hwmon: (lm90) Re-enable interrupts after alert clears + - hwmon: (lm90) Mark alert as broken for MAX6654 + - hwmon: (lm90) Fix sysfs and udev notifications + - hwmon: (adt7470) Prevent divide by zero in adt7470_fan_write() + - powerpc/perf: Fix power_pmu_disable to call clear_pmi_irq_pending only if + PMI is pending + - ipv4: fix ip option filtering for locally generated fragments + - ibmvnic: Allow extra failures before disabling + - ibmvnic: init ->running_cap_crqs early + - ibmvnic: don't spin in tasklet + - net/smc: Transitional solution for clcsock race issue + - video: hyperv_fb: Fix validation of screen resolution + - can: tcan4x5x: regmap: fix max register value + - drm/msm/hdmi: Fix missing put_device() call in msm_hdmi_get_phy + - drm/msm/dpu: invalid parameter check in dpu_setup_dspp_pcc + - drm/msm/a6xx: Add missing suspend_count increment + - yam: fix a memory leak in yam_siocdevprivate() + - net: cpsw: Properly initialise struct page_pool_params + - net: hns3: handle empty unknown interrupt for VF + - sch_htb: Fail on unsupported parameters when offload is requested + - Revert "drm/ast: Support 1600x900 with 108MHz PCLK" + - KVM: selftests: Don't skip L2's VMCALL in SMM test for SVM guest + - ceph: put the requests/sessions when it fails to alloc memory + - gve: Fix GFP flags when allocing pages + - Revert "ipv6: Honor all IPv6 PIO Valid Lifetime values" + - net: bridge: vlan: fix single net device option dumping + - ipv4: raw: lock the socket in raw_bind() + - ipv4: tcp: send zero IPID in SYNACK messages + - ipv4: remove sparse error in ip_neigh_gw4() + - net: bridge: vlan: fix memory leak in __allowed_ingress + - Bluetooth: refactor malicious adv data check + - irqchip/realtek-rtl: Map control data to virq + - irqchip/realtek-rtl: Fix off-by-one in routing + - dt-bindings: can: tcan4x5x: fix mram-cfg RX FIFO config + - perf/core: Fix cgroup event list management + - psi: fix "no previous prototype" warnings when CONFIG_CGROUPS=n + - psi: fix "defined but not used" warnings when CONFIG_PROC_FS=n + - usb: dwc3: xilinx: fix uninitialized return value + - usr/include/Makefile: add linux/nfc.h to the compile-test coverage + - fsnotify: invalidate dcache before IN_DELETE event + - block: Fix wrong offset in bio_truncate() + - mtd: rawnand: mpc5121: Remove unused variable in ads5121_select_chip() + - Linux 5.15.19 + + * Jammy update: v5.15.18 upstream stable release (LP: #1959878) + - drm/i915: Flush TLBs before releasing backing store + - drm/amd/display: reset dcn31 SMU mailbox on failures + - io_uring: fix not released cached task refs + - bnx2x: Utilize firmware 7.13.21.0 + - bnx2x: Invalidate fastpath HSI version for VFs + - memcg: flush stats only if updated + - memcg: unify memcg stat flushing + - memcg: better bounds on the memcg stats updates + - rcu: Tighten rcu_advance_cbs_nowake() checks + - select: Fix indefinitely sleeping task in poll_schedule_timeout() + - drm/amdgpu: Use correct VIEWPORT_DIMENSION for DCN2 + - arm64/bpf: Remove 128MB limit for BPF JIT programs + - Linux 5.15.18 + + * CVE-2022-22942 + - SAUCE: drm/vmwgfx: Fix stale file descriptors on failed usercopy + + * CVE-2022-24122 + - ucount: Make get_ucount a safe get_user replacement + + * CVE-2022-23222 + - bpf, selftests: Add verifier test for mem_or_null register with offset. + + * Miscellaneous Ubuntu changes + - [Config] toolchain version update + + * Miscellaneous upstream changes + - s390/module: fix loading modules with a lot of relocations + + -- Paolo Pisati Thu, 03 Feb 2022 12:09:37 +0100 + +linux (5.15.0-19.19) jammy; urgency=medium + + * jammy/linux: 5.15.0-19.19 -proposed tracker (LP: #1959418) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Jammy update: v5.15.17 upstream stable release (LP: #1959376) + - KVM: x86/mmu: Fix write-protection of PTs mapped by the TDP MMU + - KVM: VMX: switch blocked_vcpu_on_cpu_lock to raw spinlock + - HID: Ignore battery for Elan touchscreen on HP Envy X360 15t-dr100 + - HID: uhid: Fix worker destroying device without any protection + - HID: wacom: Reset expected and received contact counts at the same time + - HID: wacom: Ignore the confidence flag when a touch is removed + - HID: wacom: Avoid using stale array indicies to read contact count + - ALSA: core: Fix SSID quirk lookup for subvendor=0 + - f2fs: fix to do sanity check on inode type during garbage collection + - f2fs: fix to do sanity check in is_alive() + - f2fs: avoid EINVAL by SBI_NEED_FSCK when pinning a file + - nfc: llcp: fix NULL error pointer dereference on sendmsg() after failed + bind() + - mtd: rawnand: gpmi: Add ERR007117 protection for nfc_apply_timings + - mtd: rawnand: gpmi: Remove explicit default gpmi clock setting for i.MX6 + - mtd: Fixed breaking list in __mtd_del_partition. + - mtd: rawnand: davinci: Don't calculate ECC when reading page + - mtd: rawnand: davinci: Avoid duplicated page read + - mtd: rawnand: davinci: Rewrite function description + - mtd: rawnand: Export nand_read_page_hwecc_oob_first() + - mtd: rawnand: ingenic: JZ4740 needs 'oob_first' read page function + - riscv: Get rid of MAXPHYSMEM configs + - RISC-V: Use common riscv_cpuid_to_hartid_mask() for both SMP=y and SMP=n + - riscv: try to allocate crashkern region from 32bit addressible memory + - riscv: Don't use va_pa_offset on kdump + - riscv: use hart id instead of cpu id on machine_kexec + - riscv: mm: fix wrong phys_ram_base value for RV64 + - x86/gpu: Reserve stolen memory for first integrated Intel GPU + - tools/nolibc: x86-64: Fix startup code bug + - crypto: x86/aesni - don't require alignment of data + - tools/nolibc: i386: fix initial stack alignment + - tools/nolibc: fix incorrect truncation of exit code + - rtc: cmos: take rtc_lock while reading from CMOS + - net: phy: marvell: add Marvell specific PHY loopback + - ksmbd: uninitialized variable in create_socket() + - ksmbd: fix guest connection failure with nautilus + - ksmbd: add support for smb2 max credit parameter + - ksmbd: move credit charge deduction under processing request + - ksmbd: limits exceeding the maximum allowable outstanding requests + - ksmbd: add reserved room in ipc request/response + - media: cec: fix a deadlock situation + - media: ov8865: Disable only enabled regulators on error path + - media: v4l2-ioctl.c: readbuffers depends on V4L2_CAP_READWRITE + - media: flexcop-usb: fix control-message timeouts + - media: mceusb: fix control-message timeouts + - media: em28xx: fix control-message timeouts + - media: cpia2: fix control-message timeouts + - media: s2255: fix control-message timeouts + - media: dib0700: fix undefined behavior in tuner shutdown + - media: redrat3: fix control-message timeouts + - media: pvrusb2: fix control-message timeouts + - media: stk1160: fix control-message timeouts + - media: cec-pin: fix interrupt en/disable handling + - can: softing_cs: softingcs_probe(): fix memleak on registration failure + - mei: hbm: fix client dma reply status + - iio: adc: ti-adc081c: Partial revert of removal of ACPI IDs + - iio: trigger: Fix a scheduling whilst atomic issue seen on tsc2046 + - lkdtm: Fix content of section containing lkdtm_rodata_do_nothing() + - bus: mhi: pci_generic: Graceful shutdown on freeze + - bus: mhi: core: Fix reading wake_capable channel configuration + - bus: mhi: core: Fix race while handling SYS_ERR at power up + - cxl/pmem: Fix reference counting for delayed work + - arm64: errata: Fix exec handling in erratum 1418040 workaround + - ARM: dts: at91: update alternate function of signal PD20 + - iommu/io-pgtable-arm-v7s: Add error handle for page table allocation failure + - gpu: host1x: Add back arm_iommu_detach_device() + - drm/tegra: Add back arm_iommu_detach_device() + - virtio/virtio_mem: handle a possible NULL as a memcpy parameter + - dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled() + - PCI: Add function 1 DMA alias quirk for Marvell 88SE9125 SATA controller + - mm_zone: add function to check if managed dma zone exists + - dma/pool: create dma atomic pool only if dma zone has managed pages + - mm/page_alloc.c: do not warn allocation failure on zone DMA if no managed + pages + - shmem: fix a race between shmem_unused_huge_shrink and shmem_evict_inode + - drm/ttm: Put BO in its memory manager's lru list + - Bluetooth: L2CAP: Fix not initializing sk_peer_pid + - drm/bridge: display-connector: fix an uninitialized pointer in probe() + - drm: fix null-ptr-deref in drm_dev_init_release() + - drm/panel: kingdisplay-kd097d04: Delete panel on attach() failure + - drm/panel: innolux-p079zca: Delete panel on attach() failure + - drm/rockchip: dsi: Fix unbalanced clock on probe error + - drm/rockchip: dsi: Hold pm-runtime across bind/unbind + - drm/rockchip: dsi: Disable PLL clock on bind error + - drm/rockchip: dsi: Reconfigure hardware on resume() + - Bluetooth: virtio_bt: fix memory leak in virtbt_rx_handle() + - Bluetooth: cmtp: fix possible panic when cmtp_init_sockets() fails + - clk: bcm-2835: Pick the closest clock rate + - clk: bcm-2835: Remove rounding up the dividers + - drm/vc4: hdmi: Set a default HSM rate + - drm/vc4: hdmi: Move the HSM clock enable to runtime_pm + - drm/vc4: hdmi: Make sure the controller is powered in detect + - drm/vc4: hdmi: Make sure the controller is powered up during bind + - drm/vc4: hdmi: Rework the pre_crtc_configure error handling + - drm/vc4: crtc: Make sure the HDMI controller is powered when disabling + - wcn36xx: ensure pairing of init_scan/finish_scan and start_scan/end_scan + - wcn36xx: Indicate beacon not connection loss on MISSED_BEACON_IND + - drm/vc4: hdmi: Enable the scrambler on reconnection + - libbpf: Free up resources used by inner map definition + - wcn36xx: Fix DMA channel enable/disable cycle + - wcn36xx: Release DMA channel descriptor allocations + - wcn36xx: Put DXE block into reset before freeing memory + - wcn36xx: populate band before determining rate on RX + - wcn36xx: fix RX BD rate mapping for 5GHz legacy rates + - ath11k: Send PPDU_STATS_CFG with proper pdev mask to firmware + - bpftool: Fix memory leak in prog_dump() + - mtd: hyperbus: rpc-if: Check return value of rpcif_sw_init() + - media: videobuf2: Fix the size printk format + - media: atomisp: add missing media_device_cleanup() in + atomisp_unregister_entities() + - media: atomisp: fix punit_ddr_dvfs_enable() argument for mrfld_power up case + - media: atomisp: fix inverted logic in buffers_needed() + - media: atomisp: do not use err var when checking port validity for ISP2400 + - media: atomisp: fix inverted error check for + ia_css_mipi_is_source_port_valid() + - media: atomisp: fix ifdefs in sh_css.c + - media: atomisp: add NULL check for asd obtained from atomisp_video_pipe + - media: atomisp: fix enum formats logic + - media: atomisp: fix uninitialized bug in gmin_get_pmic_id_and_addr() + - media: aspeed: fix mode-detect always time out at 2nd run + - media: em28xx: fix memory leak in em28xx_init_dev + - media: aspeed: Update signal status immediately to ensure sane hw state + - arm64: dts: amlogic: meson-g12: Fix GPU operating point table node name + - arm64: dts: amlogic: Fix SPI NOR flash node name for ODROID N2/N2+ + - arm64: dts: meson-gxbb-wetek: fix HDMI in early boot + - arm64: dts: meson-gxbb-wetek: fix missing GPIO binding + - fs: dlm: don't call kernel_getpeername() in error_report() + - memory: renesas-rpc-if: Return error in case devm_ioremap_resource() fails + - Bluetooth: stop proccessing malicious adv data + - ath11k: Fix ETSI regd with weather radar overlap + - ath11k: clear the keys properly via DISABLE_KEY + - ath11k: reset RSN/WPA present state for open BSS + - spi: hisi-kunpeng: Fix the debugfs directory name incorrect + - tee: fix put order in teedev_close_context() + - fs: dlm: fix build with CONFIG_IPV6 disabled + - drm/dp: Don't read back backlight mode in drm_edp_backlight_enable() + - drm/vboxvideo: fix a NULL vs IS_ERR() check + - arm64: dts: renesas: cat875: Add rx/tx delays + - media: dmxdev: fix UAF when dvb_register_device() fails + - crypto: atmel-aes - Reestablish the correct tfm context at dequeue + - crypto: qce - fix uaf on qce_aead_register_one + - crypto: qce - fix uaf on qce_ahash_register_one + - crypto: qce - fix uaf on qce_skcipher_register_one + - arm64: dts: qcom: sc7280: Fix incorrect clock name + - mtd: hyperbus: rpc-if: fix bug in rpcif_hb_remove + - cpufreq: qcom-cpufreq-hw: Update offline CPUs per-cpu thermal pressure + - cpufreq: qcom-hw: Fix probable nested interrupt handling + - ARM: dts: stm32: fix dtbs_check warning on ili9341 dts binding on stm32f429 + disco + - libbpf: Fix potential misaligned memory access in btf_ext__new() + - libbpf: Fix glob_syms memory leak in bpf_linker + - libbpf: Fix using invalidated memory in bpf_linker + - crypto: qat - remove unnecessary collision prevention step in PFVF + - crypto: qat - make pfvf send message direction agnostic + - crypto: qat - fix undetected PFVF timeout in ACK loop + - ath11k: Use host CE parameters for CE interrupts configuration + - arm64: dts: ti: k3-j721e: correct cache-sets info + - tty: serial: atmel: Check return code of dmaengine_submit() + - tty: serial: atmel: Call dma_async_issue_pending() + - mfd: atmel-flexcom: Remove #ifdef CONFIG_PM_SLEEP + - mfd: atmel-flexcom: Use .resume_noirq + - bfq: Do not let waker requests skip proper accounting + - libbpf: Silence uninitialized warning/error in btf_dump_dump_type_data + - media: i2c: imx274: fix s_frame_interval runtime resume not requested + - media: i2c: Re-order runtime pm initialisation + - media: i2c: ov8865: Fix lockdep error + - media: rcar-csi2: Correct the selection of hsfreqrange + - media: imx-pxp: Initialize the spinlock prior to using it + - media: si470x-i2c: fix possible memory leak in si470x_i2c_probe() + - media: mtk-vcodec: call v4l2_m2m_ctx_release first when file is released + - media: hantro: Hook up RK3399 JPEG encoder output + - media: coda: fix CODA960 JPEG encoder buffer overflow + - media: venus: correct low power frequency calculation for encoder + - media: venus: core: Fix a potential NULL pointer dereference in an error + handling path + - media: venus: core: Fix a resource leak in the error handling path of + 'venus_probe()' + - net: stmmac: Add platform level debug register dump feature + - thermal/drivers/imx: Implement runtime PM support + - igc: AF_XDP zero-copy metadata adjust breaks SKBs on XDP_PASS + - netfilter: bridge: add support for pppoe filtering + - powerpc: Avoid discarding flags in system_call_exception() + - arm64: dts: qcom: msm8916: fix MMC controller aliases + - drm/vmwgfx: Remove the deprecated lower mem limit + - drm/vmwgfx: Fail to initialize on broken configs + - cgroup: Trace event cgroup id fields should be u64 + - ACPI: EC: Rework flushing of EC work while suspended to idle + - thermal/drivers/imx8mm: Enable ADC when enabling monitor + - drm/amdgpu: Fix a NULL pointer dereference in + amdgpu_connector_lcd_native_mode() + - drm/radeon/radeon_kms: Fix a NULL pointer dereference in + radeon_driver_open_kms() + - libbpf: Clean gen_loader's attach kind. + - crypto: caam - save caam memory to support crypto engine retry mechanism. + - arm64: dts: ti: k3-am642: Fix the L2 cache sets + - arm64: dts: ti: k3-j7200: Fix the L2 cache sets + - arm64: dts: ti: k3-j721e: Fix the L2 cache sets + - arm64: dts: ti: k3-j7200: Correct the d-cache-sets info + - tty: serial: uartlite: allow 64 bit address + - serial: amba-pl011: do not request memory region twice + - mtd: core: provide unique name for nvmem device + - floppy: Fix hang in watchdog when disk is ejected + - staging: rtl8192e: return error code from rtllib_softmac_init() + - staging: rtl8192e: rtllib_module: fix error handle case in alloc_rtllib() + - Bluetooth: btmtksdio: fix resume failure + - bpf: Fix the test_task_vma selftest to support output shorter than 1 kB + - sched/fair: Fix detection of per-CPU kthreads waking a task + - sched/fair: Fix per-CPU kthread and wakee stacking for asym CPU capacity + - bpf: Adjust BTF log size limit. + - bpf: Disallow BPF_LOG_KERNEL log level for bpf(BPF_BTF_LOAD) + - bpf: Remove config check to enable bpf support for branch records + - arm64: clear_page() shouldn't use DC ZVA when DCZID_EL0.DZP == 1 + - arm64: mte: DC {GVA,GZVA} shouldn't be used when DCZID_EL0.DZP == 1 + - samples/bpf: Install libbpf headers when building + - samples/bpf: Clean up samples/bpf build failes + - samples: bpf: Fix xdp_sample_user.o linking with Clang + - samples: bpf: Fix 'unknown warning group' build warning on Clang + - media: dib8000: Fix a memleak in dib8000_init() + - media: saa7146: mxb: Fix a NULL pointer dereference in mxb_attach() + - media: si2157: Fix "warm" tuner state detection + - wireless: iwlwifi: Fix a double free in iwl_txq_dyn_alloc_dma + - sched/rt: Try to restart rt period timer when rt runtime exceeded + - ath10k: Fix the MTU size on QCA9377 SDIO + - Bluetooth: refactor set_exp_feature with a feature table + - Bluetooth: MGMT: Use hci_dev_test_and_{set,clear}_flag + - drm/amd/display: Fix bug in debugfs crc_win_update entry + - drm/msm/gpu: Don't allow zero fence_id + - drm/msm/dp: displayPort driver need algorithm rational + - rcu/exp: Mark current CPU as exp-QS in IPI loop second pass + - wcn36xx: Fix max channels retrieval + - drm/msm/dsi: fix initialization in the bonded DSI case + - mwifiex: Fix possible ABBA deadlock + - xfrm: fix a small bug in xfrm_sa_len() + - x86/uaccess: Move variable into switch case statement + - selftests: clone3: clone3: add case CLONE3_ARGS_NO_TEST + - selftests: harness: avoid false negatives if test has no ASSERTs + - crypto: stm32/cryp - fix CTR counter carry + - crypto: stm32/cryp - fix xts and race condition in crypto_engine requests + - crypto: stm32/cryp - check early input data + - crypto: stm32/cryp - fix double pm exit + - crypto: stm32/cryp - fix lrw chaining mode + - crypto: stm32/cryp - fix bugs and crash in tests + - crypto: stm32 - Revert broken pm_runtime_resume_and_get changes + - crypto: hisilicon/qm - fix incorrect return value of hisi_qm_resume() + - ath11k: Fix deleting uninitialized kernel timer during fragment cache flush + - spi: Fix incorrect cs_setup delay handling + - ARM: dts: gemini: NAS4220-B: fis-index-block with 128 KiB sectors + - perf/arm-cmn: Fix CPU hotplug unregistration + - media: dw2102: Fix use after free + - media: msi001: fix possible null-ptr-deref in msi001_probe() + - media: coda/imx-vdoa: Handle dma_set_coherent_mask error codes + - ath11k: Fix a NULL pointer dereference in ath11k_mac_op_hw_scan() + - net: dsa: hellcreek: Fix insertion of static FDB entries + - net: dsa: hellcreek: Add STP forwarding rule + - net: dsa: hellcreek: Allow PTP P2P measurements on blocked ports + - net: dsa: hellcreek: Add missing PTP via UDP rules + - arm64: dts: qcom: c630: Fix soundcard setup + - arm64: dts: qcom: ipq6018: Fix gpio-ranges property + - drm/msm/dpu: fix safe status debugfs file + - drm/bridge: ti-sn65dsi86: Set max register for regmap + - gpu: host1x: select CONFIG_DMA_SHARED_BUFFER + - drm/tegra: gr2d: Explicitly control module reset + - drm/tegra: vic: Fix DMA API misuse + - media: hantro: Fix probe func error path + - xfrm: interface with if_id 0 should return error + - xfrm: state and policy should fail if XFRMA_IF_ID 0 + - ARM: 9159/1: decompressor: Avoid UNPREDICTABLE NOP encoding + - usb: ftdi-elan: fix memory leak on device disconnect + - arm64: dts: marvell: cn9130: add GPIO and SPI aliases + - arm64: dts: marvell: cn9130: enable CP0 GPIO controllers + - ARM: dts: armada-38x: Add generic compatible to UART nodes + - mt76: mt7921: drop offload_flags overwritten + - wilc1000: fix double free error in probe() + - rtw88: add quirk to disable pci caps on HP 250 G7 Notebook PC + - iwlwifi: mvm: fix 32-bit build in FTM + - iwlwifi: mvm: test roc running status bits before removing the sta + - iwlwifi: mvm: perform 6GHz passive scan after suspend + - iwlwifi: mvm: set protected flag only for NDP ranging + - mmc: meson-mx-sdhc: add IRQ check + - mmc: meson-mx-sdio: add IRQ check + - block: fix error unwinding in device_add_disk + - selinux: fix potential memleak in selinux_add_opt() + - um: fix ndelay/udelay defines + - um: rename set_signals() to um_set_signals() + - um: virt-pci: Fix 32-bit compile + - lib/logic_iomem: Fix 32-bit build + - lib/logic_iomem: Fix operation on 32-bit + - um: virtio_uml: Fix time-travel external time propagation + - Bluetooth: L2CAP: Fix using wrong mode + - bpftool: Enable line buffering for stdout + - backlight: qcom-wled: Validate enabled string indices in DT + - backlight: qcom-wled: Pass number of elements to read to read_u32_array + - backlight: qcom-wled: Fix off-by-one maximum with default num_strings + - backlight: qcom-wled: Override default length with qcom,enabled-strings + - backlight: qcom-wled: Use cpu_to_le16 macro to perform conversion + - backlight: qcom-wled: Respect enabled-strings in set_brightness + - software node: fix wrong node passed to find nargs_prop + - Bluetooth: hci_qca: Stop IBS timer during BT OFF + - x86/boot/compressed: Move CLANG_FLAGS to beginning of KBUILD_CFLAGS + - crypto: octeontx2 - prevent underflow in get_cores_bmap() + - regulator: qcom-labibb: OCP interrupts are not a failure while disabled + - hwmon: (mr75203) fix wrong power-up delay value + - x86/mce/inject: Avoid out-of-bounds write when setting flags + - io_uring: remove double poll on poll update + - serial: 8250_bcm7271: Propagate error codes from brcmuart_probe() + - ACPI: scan: Create platform device for BCM4752 and LNV4752 ACPI nodes + - pcmcia: rsrc_nonstatic: Fix a NULL pointer dereference in + __nonstatic_find_io_region() + - pcmcia: rsrc_nonstatic: Fix a NULL pointer dereference in + nonstatic_find_mem_region() + - power: reset: mt6397: Check for null res pointer + - net/xfrm: IPsec tunnel mode fix inner_ipproto setting in sec_path + - net: ethernet: mtk_eth_soc: fix return values and refactor MDIO ops + - net: dsa: fix incorrect function pointer check for MRP ring roles + - netfilter: ipt_CLUSTERIP: fix refcount leak in clusterip_tg_check() + - bpf, sockmap: Fix return codes from tcp_bpf_recvmsg_parser() + - bpf, sockmap: Fix double bpf_prog_put on error case in map_link + - bpf: Don't promote bogus looking registers after null check. + - bpf: Fix verifier support for validation of async callbacks + - bpf: Fix SO_RCVBUF/SO_SNDBUF handling in _bpf_setsockopt(). + - netfilter: nft_payload: do not update layer 4 checksum when mangling + fragments + - netfilter: nft_set_pipapo: allocate pcpu scratch maps on clone + - net: fix SOF_TIMESTAMPING_BIND_PHC to work with multiple sockets + - ppp: ensure minimum packet size in ppp_write() + - rocker: fix a sleeping in atomic bug + - staging: greybus: audio: Check null pointer + - fsl/fman: Check for null pointer after calling devm_ioremap + - Bluetooth: hci_bcm: Check for error irq + - Bluetooth: hci_qca: Fix NULL vs IS_ERR_OR_NULL check in qca_serdev_probe + - net/smc: Reset conn->lgr when link group registration fails + - usb: dwc3: qcom: Fix NULL vs IS_ERR checking in dwc3_qcom_probe + - usb: dwc2: do not gate off the hardware if it does not support clock gating + - usb: dwc2: gadget: initialize max_speed from params + - usb: gadget: u_audio: Subdevice 0 for capture ctls + - HID: hid-uclogic-params: Invalid parameter check in uclogic_params_init + - HID: hid-uclogic-params: Invalid parameter check in + uclogic_params_get_str_desc + - HID: hid-uclogic-params: Invalid parameter check in + uclogic_params_huion_init + - HID: hid-uclogic-params: Invalid parameter check in + uclogic_params_frame_init_v1_buttonpad + - debugfs: lockdown: Allow reading debugfs files that are not world readable + - drivers/firmware: Add missing platform_device_put() in sysfb_create_simplefb + - serial: liteuart: fix MODULE_ALIAS + - serial: stm32: move tx dma terminate DMA to shutdown + - x86, sched: Fix undefined reference to init_freq_invariance_cppc() build + error + - net/mlx5e: Fix page DMA map/unmap attributes + - net/mlx5e: Fix wrong usage of fib_info_nh when routes with nexthop objects + are used + - net/mlx5e: Don't block routes with nexthop objects in SW + - Revert "net/mlx5e: Block offload of outer header csum for UDP tunnels" + - Revert "net/mlx5e: Block offload of outer header csum for GRE tunnel" + - net/mlx5e: Fix matching on modified inner ip_ecn bits + - net/mlx5: Fix access to sf_dev_table on allocation failure + - net/mlx5e: Sync VXLAN udp ports during uplink representor profile change + - net/mlx5: Set command entry semaphore up once got index free + - lib/mpi: Add the return value check of kcalloc() + - Bluetooth: L2CAP: uninitialized variables in l2cap_sock_setsockopt() + - mptcp: fix per socket endpoint accounting + - mptcp: fix opt size when sending DSS + MP_FAIL + - mptcp: fix a DSS option writing error + - spi: spi-meson-spifc: Add missing pm_runtime_disable() in meson_spifc_probe + - octeontx2-af: Increment ptp refcount before use + - ax25: uninitialized variable in ax25_setsockopt() + - netrom: fix api breakage in nr_setsockopt() + - regmap: Call regmap_debugfs_exit() prior to _init() + - net: mscc: ocelot: fix incorrect balancing with down LAG ports + - can: mcp251xfd: add missing newline to printed strings + - tpm: add request_locality before write TPM_INT_ENABLE + - tpm_tis: Fix an error handling path in 'tpm_tis_core_init()' + - can: softing: softing_startstop(): fix set but not used variable warning + - can: xilinx_can: xcan_probe(): check for error irq + - can: rcar_canfd: rcar_canfd_channel_probe(): make sure we free CAN network + device + - pcmcia: fix setting of kthread task states + - net/sched: flow_dissector: Fix matching on zone id for invalid conns + - net: openvswitch: Fix matching zone id for invalid conns arriving from tc + - net: openvswitch: Fix ct_state nat flags for conns arriving from tc + - iwlwifi: mvm: Use div_s64 instead of do_div in iwl_mvm_ftm_rtt_smoothing() + - bnxt_en: Refactor coredump functions + - bnxt_en: move coredump functions into dedicated file + - bnxt_en: use firmware provided max timeout for messages + - net: mcs7830: handle usb read errors properly + - ext4: avoid trim error on fs with small groups + - ASoC: Intel: sof_sdw: fix jack detection on HP Spectre x360 convertible + - ALSA: jack: Add missing rwsem around snd_ctl_remove() calls + - ALSA: PCM: Add missing rwsem around snd_ctl_remove() calls + - ALSA: hda: Add missing rwsem around snd_ctl_remove() calls + - ALSA: hda: Fix potential deadlock at codec unbinding + - RDMA/bnxt_re: Scan the whole bitmap when checking if "disabling RCFW with + pending cmd-bit" + - RDMA/hns: Validate the pkey index + - scsi: pm80xx: Update WARN_ON check in pm8001_mpi_build_cmd() + - clk: renesas: rzg2l: Check return value of pm_genpd_init() + - clk: renesas: rzg2l: propagate return value of_genpd_add_provider_simple() + - clk: imx8mn: Fix imx8mn_clko1_sels + - powerpc/prom_init: Fix improper check of prom_getprop() + - ASoC: uniphier: drop selecting non-existing SND_SOC_UNIPHIER_AIO_DMA + - ASoC: codecs: wcd938x: add SND_SOC_WCD938_SDW to codec list instead + - RDMA/rtrs-clt: Fix the initial value of min_latency + - ALSA: hda: Make proper use of timecounter + - dt-bindings: thermal: Fix definition of cooling-maps contribution property + - powerpc/perf: Fix PMU callbacks to clear pending PMI before resetting an + overflown PMC + - powerpc/modules: Don't WARN on first module allocation attempt + - powerpc/32s: Fix shift-out-of-bounds in KASAN init + - clocksource: Avoid accidental unstable marking of clocksources + - ALSA: oss: fix compile error when OSS_DEBUG is enabled + - ALSA: usb-audio: Drop superfluous '0' in Presonus Studio 1810c's ID + - misc: at25: Make driver OF independent again + - char/mwave: Adjust io port register size + - binder: fix handling of error during copy + - binder: avoid potential data leakage when copying txn + - openrisc: Add clone3 ABI wrapper + - iommu: Extend mutex lock scope in iommu_probe_device() + - iommu/io-pgtable-arm: Fix table descriptor paddr formatting + - scsi: core: Fix scsi_device_max_queue_depth() + - scsi: ufs: Fix race conditions related to driver data + - RDMA/qedr: Fix reporting max_{send/recv}_wr attrs + - PCI/MSI: Fix pci_irq_vector()/pci_irq_get_affinity() + - powerpc/powermac: Add additional missing lockdep_register_key() + - iommu/arm-smmu-qcom: Fix TTBR0 read + - RDMA/core: Let ib_find_gid() continue search even after empty entry + - RDMA/cma: Let cma_resolve_ib_dev() continue search even after empty entry + - ASoC: rt5663: Handle device_property_read_u32_array error codes + - of: unittest: fix warning on PowerPC frame size warning + - of: unittest: 64 bit dma address test requires arch support + - clk: stm32: Fix ltdc's clock turn off by clk_disable_unused() after system + enter shell + - mips: add SYS_HAS_CPU_MIPS64_R5 config for MIPS Release 5 support + - mips: fix Kconfig reference to PHYS_ADDR_T_64BIT + - dmaengine: pxa/mmp: stop referencing config->slave_id + - iommu/amd: Restore GA log/tail pointer on host resume + - iommu/amd: X2apic mode: re-enable after resume + - iommu/amd: X2apic mode: setup the INTX registers on mask/unmask + - iommu/amd: X2apic mode: mask/unmask interrupts on suspend/resume + - iommu/amd: Remove useless irq affinity notifier + - ASoC: Intel: catpt: Test dmaengine_submit() result before moving on + - iommu/iova: Fix race between FQ timeout and teardown + - ASoC: mediatek: mt8195: correct default value + - of: fdt: Aggregate the processing of "linux,usable-memory-range" + - efi: apply memblock cap after memblock_add() + - scsi: block: pm: Always set request queue runtime active in + blk_post_runtime_resume() + - phy: uniphier-usb3ss: fix unintended writing zeros to PHY register + - ASoC: mediatek: Check for error clk pointer + - powerpc/64s: Mask NIP before checking against SRR0 + - powerpc/64s: Use EMIT_WARN_ENTRY for SRR debug warnings + - phy: cadence: Sierra: Fix to get correct parent for mux clocks + - ASoC: samsung: idma: Check of ioremap return value + - misc: lattice-ecp3-config: Fix task hung when firmware load failed + - ASoC: mediatek: mt8195: correct pcmif BE dai control flow + - arm64: tegra: Remove non existent Tegra194 reset + - mips: lantiq: add support for clk_set_parent() + - mips: bcm63xx: add support for clk_set_parent() + - powerpc/xive: Add missing null check after calling kmalloc + - ASoC: fsl_mqs: fix MODULE_ALIAS + - ALSA: hda/cs8409: Increase delay during jack detection + - ALSA: hda/cs8409: Fix Jack detection after resume + - RDMA/cxgb4: Set queue pair state when being queried + - clk: qcom: gcc-sc7280: Mark gcc_cfg_noc_lpass_clk always enabled + - ASoC: imx-card: Need special setting for ak4497 on i.MX8MQ + - ASoC: imx-card: Fix mclk calculation issue for akcodec + - ASoC: imx-card: improve the sound quality for low rate + - ASoC: fsl_asrc: refine the check of available clock divider + - clk: bm1880: remove kfrees on static allocations + - of: base: Fix phandle argument length mismatch error message + - of/fdt: Don't worry about non-memory region overlap for no-map + - MIPS: boot/compressed/: add __ashldi3 to target for ZSTD compression + - MIPS: compressed: Fix build with ZSTD compression + - mailbox: fix gce_num of mt8192 driver data + - ARM: dts: omap3-n900: Fix lp5523 for multi color + - leds: lp55xx: initialise output direction from dts + - Bluetooth: Fix debugfs entry leak in hci_register_dev() + - Bluetooth: Fix memory leak of hci device + - drm/panel: Delete panel on mipi_dsi_attach() failure + - Bluetooth: Fix removing adv when processing cmd complete + - fs: dlm: filter user dlm messages for kernel locks + - drm/lima: fix warning when CONFIG_DEBUG_SG=y & CONFIG_DMA_API_DEBUG=y + - selftests/bpf: Fix memory leaks in btf_type_c_dump() helper + - selftests/bpf: Destroy XDP link correctly + - selftests/bpf: Fix bpf_object leak in skb_ctx selftest + - ar5523: Fix null-ptr-deref with unexpected WDCMSG_TARGET_START reply + - drm/bridge: dw-hdmi: handle ELD when DRM_BRIDGE_ATTACH_NO_CONNECTOR + - drm/nouveau/pmu/gm200-: avoid touching PMU outside of DEVINIT/PREOS/ACR + - media: atomisp: fix try_fmt logic + - media: atomisp: set per-device's default mode + - media: atomisp-ov2680: Fix ov2680_set_fmt() clobbering the exposure + - media: atomisp: check before deference asd variable + - ARM: shmobile: rcar-gen2: Add missing of_node_put() + - batman-adv: allow netlink usage in unprivileged containers + - media: atomisp: handle errors at sh_css_create_isp_params() + - ath11k: Fix crash caused by uninitialized TX ring + - usb: dwc3: meson-g12a: fix shared reset control use + - USB: ehci_brcm_hub_control: Improve port index sanitizing + - usb: gadget: f_fs: Use stream_open() for endpoint files + - psi: Fix PSI_MEM_FULL state when tasks are in memstall and doing reclaim + - drm: panel-orientation-quirks: Add quirk for the Lenovo Yoga Book X91F/L + - HID: magicmouse: Report battery level over USB + - HID: apple: Do not reset quirks when the Fn key is not found + - media: b2c2: Add missing check in flexcop_pci_isr: + - libbpf: Accommodate DWARF/compiler bug with duplicated structs + - ethernet: renesas: Use div64_ul instead of do_div + - EDAC/synopsys: Use the quirk for version instead of ddr version + - arm64: dts: qcom: sm8350: Shorten camera-thermal-bottom name + - soc: imx: gpcv2: Synchronously suspend MIX domains + - ARM: imx: rename DEBUG_IMX21_IMX27_UART to DEBUG_IMX27_UART + - drm/amd/display: check top_pipe_to_program pointer + - drm/amdgpu/display: set vblank_disable_immediate for DC + - soc: ti: pruss: fix referenced node in error message + - mlxsw: pci: Add shutdown method in PCI driver + - drm/amd/display: add else to avoid double destroy clk_mgr + - drm/bridge: megachips: Ensure both bridges are probed before registration + - mxser: keep only !tty test in ISR + - tty: serial: imx: disable UCR4_OREN in .stop_rx() instead of .shutdown() + - gpiolib: acpi: Do not set the IRQ type if the IRQ is already in use + - HSI: core: Fix return freed object in hsi_new_client + - crypto: jitter - consider 32 LSB for APT + - mwifiex: Fix skb_over_panic in mwifiex_usb_recv() + - rsi: Fix use-after-free in rsi_rx_done_handler() + - rsi: Fix out-of-bounds read in rsi_read_pkt() + - ath11k: Avoid NULL ptr access during mgmt tx cleanup + - media: venus: avoid calling core_clk_setrate() concurrently during + concurrent video sessions + - regulator: da9121: Prevent current limit change when enabled + - drm/vmwgfx: Release ttm memory if probe fails + - drm/vmwgfx: Introduce a new placement for MOB page tables + - ACPI / x86: Drop PWM2 device on Lenovo Yoga Book from always present table + - ACPI: Change acpi_device_always_present() into acpi_device_override_status() + - ACPI / x86: Allow specifying acpi_device_override_status() quirks by path + - ACPI / x86: Add not-present quirk for the PCI0.SDHB.BRC1 device on the GPD + win + - arm64: dts: ti: j7200-main: Fix 'dtbs_check' serdes_ln_ctrl node + - arm64: dts: ti: j721e-main: Fix 'dtbs_check' in serdes_ln_ctrl node + - usb: uhci: add aspeed ast2600 uhci support + - floppy: Add max size check for user space request + - x86/mm: Flush global TLB when switching to trampoline page-table + - drm: rcar-du: Fix CRTC timings when CMM is used + - media: uvcvideo: Increase UVC_CTRL_CONTROL_TIMEOUT to 5 seconds. + - media: rcar-vin: Update format alignment constraints + - media: saa7146: hexium_orion: Fix a NULL pointer dereference in + hexium_attach() + - media: atomisp: fix "variable dereferenced before check 'asd'" + - media: m920x: don't use stack on USB reads + - thunderbolt: Runtime PM activate both ends of the device link + - arm64: dts: renesas: Fix thermal bindings + - iwlwifi: mvm: synchronize with FW after multicast commands + - iwlwifi: mvm: avoid clearing a just saved session protection id + - rcutorture: Avoid soft lockup during cpu stall + - ath11k: avoid deadlock by change ieee80211_queue_work for regd_update_work + - ath10k: Fix tx hanging + - net-sysfs: update the queue counts in the unregistration path + - net: phy: prefer 1000baseT over 1000baseKX + - gpio: aspeed: Convert aspeed_gpio.lock to raw_spinlock + - gpio: aspeed-sgpio: Convert aspeed_sgpio.lock to raw_spinlock + - selftests/ftrace: make kprobe profile testcase description unique + - ath11k: Avoid false DEADLOCK warning reported by lockdep + - ARM: dts: qcom: sdx55: fix IPA interconnect definitions + - x86/mce: Allow instrumentation during task work queueing + - x86/mce: Mark mce_panic() noinstr + - x86/mce: Mark mce_end() noinstr + - x86/mce: Mark mce_read_aux() noinstr + - net: bonding: debug: avoid printing debug logs when bond is not notifying + peers + - kunit: Don't crash if no parameters are generated + - bpf: Do not WARN in bpf_warn_invalid_xdp_action() + - drm/amdkfd: Fix error handling in svm_range_add + - HID: quirks: Allow inverting the absolute X/Y values + - HID: i2c-hid-of: Expose the touchscreen-inverted properties + - media: igorplugusb: receiver overflow should be reported + - media: rockchip: rkisp1: use device name for debugfs subdir name + - media: saa7146: hexium_gemini: Fix a NULL pointer dereference in + hexium_attach() + - mmc: tmio: reinit card irqs in reset routine + - mmc: core: Fixup storing of OCR for MMC_QUIRK_NONSTD_SDIO + - drm/amd/amdgpu: fix psp tmr bo pin count leak in SRIOV + - drm/amd/amdgpu: fix gmc bo pin count leak in SRIOV + - audit: ensure userspace is penalized the same as the kernel when under + pressure + - arm64: dts: ls1028a-qds: move rtc node to the correct i2c bus + - arm64: tegra: Adjust length of CCPLEX cluster MMIO region + - crypto: ccp - Move SEV_INIT retry for corrupted data + - crypto: hisilicon/hpre - fix memory leak in hpre_curve25519_src_init() + - PM: runtime: Add safety net to supplier device release + - cpufreq: Fix initialization of min and max frequency QoS requests + - mt76: mt7615: fix possible deadlock while mt7615_register_ext_phy() + - mt76: do not pass the received frame with decryption error + - mt76: mt7615: improve wmm index allocation + - ath9k_htc: fix NULL pointer dereference at ath9k_htc_rxep() + - ath9k_htc: fix NULL pointer dereference at ath9k_htc_tx_get_packet() + - ath9k: Fix out-of-bound memcpy in ath9k_hif_usb_rx_stream + - rtw88: 8822c: update rx settings to prevent potential hw deadlock + - PM: AVS: qcom-cpr: Use div64_ul instead of do_div + - iwlwifi: fix leaks/bad data after failed firmware load + - iwlwifi: remove module loading failure message + - iwlwifi: mvm: Fix calculation of frame length + - iwlwifi: mvm: fix AUX ROC removal + - iwlwifi: pcie: make sure prph_info is set when treating wakeup IRQ + - mmc: sdhci-pci-gli: GL9755: Support for CD/WP inversion on OF platforms + - block: check minor range in device_add_disk() + - um: registers: Rename function names to avoid conflicts and build problems + - ath11k: Fix napi related hang + - Bluetooth: btintel: Add missing quirks and msft ext for legacy bootloader + - Bluetooth: vhci: Set HCI_QUIRK_VALID_LE_STATES + - xfrm: rate limit SA mapping change message to user space + - drm/etnaviv: consider completed fence seqno in hang check + - jffs2: GC deadlock reading a page that is used in jffs2_write_begin() + - ACPICA: actypes.h: Expand the ACPI_ACCESS_ definitions + - ACPICA: Utilities: Avoid deleting the same object twice in a row + - ACPICA: Executer: Fix the REFCLASS_REFOF case in acpi_ex_opcode_1A_0T_1R() + - ACPICA: Fix wrong interpretation of PCC address + - ACPICA: Hardware: Do not flush CPU cache when entering S4 and S5 + - mmc: mtk-sd: Use readl_poll_timeout instead of open-coded polling + - drm/amdgpu: fixup bad vram size on gmc v8 + - amdgpu/pm: Make sysfs pm attributes as read-only for VFs + - ACPI: battery: Add the ThinkPad "Not Charging" quirk + - ACPI: CPPC: Check present CPUs for determining _CPC is valid + - btrfs: remove BUG_ON() in find_parent_nodes() + - btrfs: remove BUG_ON(!eie) in find_parent_nodes + - net: mdio: Demote probed message to debug print + - mac80211: allow non-standard VHT MCS-10/11 + - dm btree: add a defensive bounds check to insert_at() + - dm space map common: add bounds check to sm_ll_lookup_bitmap() + - bpf/selftests: Fix namespace mount setup in tc_redirect + - mlxsw: pci: Avoid flow control for EMAD packets + - net: phy: marvell: configure RGMII delays for 88E1118 + - net: gemini: allow any RGMII interface mode + - regulator: qcom_smd: Align probe function with rpmh-regulator + - serial: pl010: Drop CR register reset on set_termios + - serial: pl011: Drop CR register reset on set_termios + - serial: core: Keep mctrl register state and cached copy in sync + - random: do not throw away excess input to crng_fast_load + - net/mlx5: Update log_max_qp value to FW max capability + - net/mlx5e: Unblock setting vid 0 for VF in case PF isn't eswitch manager + - parisc: Avoid calling faulthandler_disabled() twice + - can: flexcan: allow to change quirks at runtime + - can: flexcan: rename RX modes + - can: flexcan: add more quirks to describe RX path capabilities + - x86/kbuild: Enable CONFIG_KALLSYMS_ALL=y in the defconfigs + - powerpc/6xx: add missing of_node_put + - powerpc/powernv: add missing of_node_put + - powerpc/cell: add missing of_node_put + - powerpc/btext: add missing of_node_put + - powerpc/watchdog: Fix missed watchdog reset due to memory ordering race + - ASoC: imx-hdmi: add put_device() after of_find_device_by_node() + - i2c: i801: Don't silently correct invalid transfer size + - powerpc/smp: Move setup_profiling_timer() under CONFIG_PROFILING + - i2c: mpc: Correct I2C reset procedure + - clk: meson: gxbb: Fix the SDM_EN bit for MPLL0 on GXBB + - powerpc/powermac: Add missing lockdep_register_key() + - KVM: PPC: Book3S: Suppress warnings when allocating too big memory slots + - KVM: PPC: Book3S: Suppress failed alloc warning in H_COPY_TOFROM_GUEST + - w1: Misuse of get_user()/put_user() reported by sparse + - nvmem: core: set size for sysfs bin file + - dm: fix alloc_dax error handling in alloc_dev + - interconnect: qcom: rpm: Prevent integer overflow in rate + - scsi: ufs: Fix a kernel crash during shutdown + - scsi: lpfc: Fix leaked lpfc_dmabuf mbox allocations with NPIV + - scsi: lpfc: Trigger SLI4 firmware dump before doing driver cleanup + - ALSA: seq: Set upper limit of processed events + - MIPS: Loongson64: Use three arguments for slti + - powerpc/40x: Map 32Mbytes of memory at startup + - selftests/powerpc/spectre_v2: Return skip code when miss_percent is high + - powerpc: handle kdump appropriately with crash_kexec_post_notifiers option + - powerpc/fadump: Fix inaccurate CPU state info in vmcore generated with panic + - udf: Fix error handling in udf_new_inode() + - MIPS: OCTEON: add put_device() after of_find_device_by_node() + - irqchip/gic-v4: Disable redistributors' view of the VPE table at boot time + - i2c: designware-pci: Fix to change data types of hcnt and lcnt parameters + - selftests/powerpc: Add a test of sigreturning to the kernel + - MIPS: Octeon: Fix build errors using clang + - scsi: sr: Don't use GFP_DMA + - scsi: mpi3mr: Fixes around reply request queues + - ASoC: mediatek: mt8192-mt6359: fix device_node leak + - phy: phy-mtk-tphy: add support efuse setting + - ASoC: mediatek: mt8173: fix device_node leak + - ASoC: mediatek: mt8183: fix device_node leak + - habanalabs: skip read fw errors if dynamic descriptor invalid + - phy: mediatek: Fix missing check in mtk_mipi_tx_probe + - mailbox: change mailbox-mpfs compatible string + - seg6: export get_srh() for ICMP handling + - icmp: ICMPV6: Examine invoking packet for Segment Route Headers. + - udp6: Use Segment Routing Header for dest address if present + - rpmsg: core: Clean up resources on announce_create failure. + - ifcvf/vDPA: fix misuse virtio-net device config size for blk dev + - crypto: omap-aes - Fix broken pm_runtime_and_get() usage + - crypto: stm32/crc32 - Fix kernel BUG triggered in probe() + - crypto: caam - replace this_cpu_ptr with raw_cpu_ptr + - ubifs: Error path in ubifs_remount_rw() seems to wrongly free write buffers + - tpm: fix potential NULL pointer access in tpm_del_char_device + - tpm: fix NPE on probe for missing device + - mfd: tps65910: Set PWR_OFF bit during driver probe + - spi: uniphier: Fix a bug that doesn't point to private data correctly + - xen/gntdev: fix unmap notification order + - md: Move alloc/free acct bioset in to personality + - HID: magicmouse: Fix an error handling path in magicmouse_probe() + - fuse: Pass correct lend value to filemap_write_and_wait_range() + - serial: Fix incorrect rs485 polarity on uart open + - cputime, cpuacct: Include guest time in user time in cpuacct.stat + - sched/cpuacct: Fix user/system in shown cpuacct.usage* + - tracing/kprobes: 'nmissed' not showed correctly for kretprobe + - tracing: Have syscall trace events use trace_event_buffer_lock_reserve() + - remoteproc: imx_rproc: Fix a resource leak in the remove function + - iwlwifi: mvm: Increase the scan timeout guard to 30 seconds + - s390/mm: fix 2KB pgtable release race + - device property: Fix fwnode_graph_devcon_match() fwnode leak + - drm/tegra: submit: Add missing pm_runtime_mark_last_busy() + - drm/etnaviv: limit submit sizes + - drm/amd/display: Fix the uninitialized variable in enable_stream_features() + - drm/nouveau/kms/nv04: use vzalloc for nv04_display + - drm/bridge: analogix_dp: Make PSR-exit block less + - parisc: Fix lpa and lpa_user defines + - powerpc/64s/radix: Fix huge vmap false positive + - scsi: lpfc: Fix lpfc_force_rscn ndlp kref imbalance + - drm/amdgpu: don't do resets on APUs which don't support it + - drm/i915/display/ehl: Update voltage swing table + - PCI: xgene: Fix IB window setup + - PCI: pciehp: Use down_read/write_nested(reset_lock) to fix lockdep errors + - PCI: pci-bridge-emul: Make expansion ROM Base Address register read-only + - PCI: pci-bridge-emul: Properly mark reserved PCIe bits in PCI config space + - PCI: pci-bridge-emul: Fix definitions of reserved bits + - PCI: pci-bridge-emul: Correctly set PCIe capabilities + - PCI: pci-bridge-emul: Set PCI_STATUS_CAP_LIST for PCIe device + - xfrm: fix policy lookup for ipv6 gre packets + - xfrm: fix dflt policy check when there is no policy configured + - btrfs: fix deadlock between quota enable and other quota operations + - btrfs: check the root node for uptodate before returning it + - btrfs: respect the max size in the header when activating swap file + - ext4: make sure to reset inode lockdep class when quota enabling fails + - ext4: make sure quota gets properly shutdown on error + - ext4: fix a possible ABBA deadlock due to busy PA + - ext4: initialize err_blk before calling __ext4_get_inode_loc + - ext4: fix fast commit may miss tracking range for FALLOC_FL_ZERO_RANGE + - ext4: set csum seed in tmp inode while migrating to extents + - ext4: Fix BUG_ON in ext4_bread when write quota data + - ext4: use ext4_ext_remove_space() for fast commit replay delete range + - ext4: fast commit may miss tracking unwritten range during ftruncate + - ext4: destroy ext4_fc_dentry_cachep kmemcache on module removal + - ext4: fix null-ptr-deref in '__ext4_journal_ensure_credits' + - ext4: fix an use-after-free issue about data=journal writeback mode + - ext4: don't use the orphan list when migrating an inode + - tracing/osnoise: Properly unhook events if start_per_cpu_kthreads() fails + - ath11k: qmi: avoid error messages when dma allocation fails + - drm/radeon: fix error handling in radeon_driver_open_kms + - of: base: Improve argument length mismatch error + - firmware: Update Kconfig help text for Google firmware + - can: mcp251xfd: mcp251xfd_tef_obj_read(): fix typo in error message + - media: rcar-csi2: Optimize the selection PHTW register + - drm/vc4: hdmi: Make sure the device is powered with CEC + - media: correct MEDIA_TEST_SUPPORT help text + - Documentation: coresight: Fix documentation issue + - Documentation: dmaengine: Correctly describe dmatest with channel unset + - Documentation: ACPI: Fix data node reference documentation + - Documentation, arch: Remove leftovers from raw device + - Documentation, arch: Remove leftovers from CIFS_WEAK_PW_HASH + - Documentation: refer to config RANDOMIZE_BASE for kernel address-space + randomization + - Documentation: fix firewire.rst ABI file path error + - net: usb: Correct reset handling of smsc95xx + - Bluetooth: hci_sync: Fix not setting adv set duration + - scsi: core: Show SCMD_LAST in text form + - scsi: ufs: ufs-mediatek: Fix error checking in ufs_mtk_init_va09_pwr_ctrl() + - RDMA/cma: Remove open coding of overflow checking for private_data_len + - dmaengine: uniphier-xdmac: Fix type of address variables + - dmaengine: idxd: fix wq settings post wq disable + - RDMA/hns: Modify the mapping attribute of doorbell to device + - RDMA/rxe: Fix a typo in opcode name + - dmaengine: stm32-mdma: fix STM32_MDMA_CTBR_TSEL_MASK + - Revert "net/mlx5: Add retry mechanism to the command entry index allocation" + - powerpc/cell: Fix clang -Wimplicit-fallthrough warning + - powerpc/fsl/dts: Enable WA for erratum A-009885 on fman3l MDIO buses + - block: fix async_depth sysfs interface for mq-deadline + - block: Fix fsync always failed if once failed + - drm/vc4: crtc: Drop feed_txp from state + - drm/vc4: Fix non-blocking commit getting stuck forever + - drm/vc4: crtc: Copy assigned channel to the CRTC + - bpftool: Remove inclusion of utilities.mak from Makefiles + - bpftool: Fix indent in option lists in the documentation + - xdp: check prog type before updating BPF link + - bpf: Fix mount source show for bpffs + - bpf: Mark PTR_TO_FUNC register initially with zero offset + - perf evsel: Override attr->sample_period for non-libpfm4 events + - ipv4: update fib_info_cnt under spinlock protection + - ipv4: avoid quadratic behavior in netns dismantle + - mlx5: Don't accidentally set RTO_ONLINK before mlx5e_route_lookup_ipv4_get() + - net/fsl: xgmac_mdio: Add workaround for erratum A-009885 + - net/fsl: xgmac_mdio: Fix incorrect iounmap when removing module + - parisc: pdc_stable: Fix memory leak in pdcs_register_pathentries + - riscv: dts: microchip: mpfs: Drop empty chosen node + - drm/vmwgfx: Remove explicit transparent hugepages support + - drm/vmwgfx: Remove unused compile options + - f2fs: fix remove page failed in invalidate compress pages + - f2fs: fix to avoid panic in is_alive() if metadata is inconsistent + - f2fs: compress: fix potential deadlock of compress file + - f2fs: fix to reserve space for IO align feature + - f2fs: fix to check available space of CP area correctly in + update_ckpt_flags() + - crypto: octeontx2 - uninitialized variable in kvf_limits_store() + - af_unix: annote lockless accesses to unix_tot_inflight & gc_in_progress + - clk: Emit a stern warning with writable debugfs enabled + - clk: si5341: Fix clock HW provider cleanup + - pinctrl/rockchip: fix gpio device creation + - gpio: mpc8xxx: Fix IRQ check in mpc8xxx_probe + - gpio: idt3243x: Fix IRQ check in idt_gpio_probe + - net/smc: Fix hung_task when removing SMC-R devices + - net: axienet: increase reset timeout + - net: axienet: Wait for PhyRstCmplt after core reset + - net: axienet: reset core on initialization prior to MDIO access + - net: axienet: add missing memory barriers + - net: axienet: limit minimum TX ring size + - net: axienet: Fix TX ring slot available check + - net: axienet: fix number of TX ring slots for available check + - net: axienet: fix for TX busy handling + - net: axienet: increase default TX ring size to 128 + - bitops: protect find_first_{,zero}_bit properly + - um: gitignore: Add kernel/capflags.c + - HID: vivaldi: fix handling devices not using numbered reports + - rtc: pxa: fix null pointer dereference + - vdpa/mlx5: Fix wrong configuration of virtio_version_1_0 + - virtio_ring: mark ring unused on error + - taskstats: Cleanup the use of task->exit_code + - inet: frags: annotate races around fqdir->dead and fqdir->high_thresh + - netns: add schedule point in ops_exit_list() + - iwlwifi: fix Bz NMI behaviour + - xfrm: Don't accidentally set RTO_ONLINK in decode_session4() + - vdpa/mlx5: Restore cur_num_vqs in case of failure in change_num_qps() + - gre: Don't accidentally set RTO_ONLINK in gre_fill_metadata_dst() + - libcxgb: Don't accidentally set RTO_ONLINK in cxgb_find_route() + - perf script: Fix hex dump character output + - dmaengine: at_xdmac: Don't start transactions at tx_submit level + - dmaengine: at_xdmac: Start transfer for cyclic channels in issue_pending + - dmaengine: at_xdmac: Print debug message after realeasing the lock + - dmaengine: at_xdmac: Fix concurrency over xfers_list + - dmaengine: at_xdmac: Fix lld view setting + - dmaengine: at_xdmac: Fix at_xdmac_lld struct definition + - perf tools: Drop requirement for libstdc++.so for libopencsd check + - perf probe: Fix ppc64 'perf probe add events failed' case + - devlink: Remove misleading internal_flags from health reporter dump + - arm64: dts: qcom: msm8996: drop not documented adreno properties + - net: fix sock_timestamping_bind_phc() to release device + - net: bonding: fix bond_xmit_broadcast return value error bug + - net: ipa: fix atomic update in ipa_endpoint_replenish() + - net_sched: restore "mpu xxx" handling + - net: mscc: ocelot: don't let phylink re-enable TX PAUSE on the NPI port + - bcmgenet: add WOL IRQ check + - net: wwan: Fix MRU mismatch issue which may lead to data connection lost + - net: ethernet: mtk_eth_soc: fix error checking in mtk_mac_config() + - net: ocelot: Fix the call to switchdev_bridge_port_offload + - net: sfp: fix high power modules without diagnostic monitoring + - net: cpsw: avoid alignment faults by taking NET_IP_ALIGN into account + - net: phy: micrel: use kszphy_suspend()/kszphy_resume for irq aware devices + - net: mscc: ocelot: fix using match before it is set + - dt-bindings: display: meson-dw-hdmi: add missing sound-name-prefix property + - dt-bindings: display: meson-vpu: Add missing amlogic,canvas property + - dt-bindings: watchdog: Require samsung,syscon-phandle for Exynos7 + - sch_api: Don't skip qdisc attach on ingress + - scripts/dtc: dtx_diff: remove broken example from help text + - lib82596: Fix IRQ check in sni_82596_probe + - mm/hmm.c: allow VM_MIXEDMAP to work with hmm_range_fault + - bonding: Fix extraction of ports from the packet headers + - lib/test_meminit: destroy cache in kmem_cache_alloc_bulk() test + - scripts: sphinx-pre-install: add required ctex dependency + - scripts: sphinx-pre-install: Fix ctex support on Debian + - Linux 5.15.17 + + * rtw88_8821ce causes freeze (LP: #1927808) // Jammy update: v5.15.17 upstream + stable release (LP: #1959376) + - rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE + + * Jammy update: v5.15.16 upstream stable release (LP: #1958977) + - devtmpfs regression fix: reconfigure on each mount + - orangefs: Fix the size of a memory allocation in orangefs_bufmap_alloc() + - remoteproc: qcom: pil_info: Don't memcpy_toio more than is provided + - perf: Protect perf_guest_cbs with RCU + - KVM: x86: Register perf callbacks after calling vendor's hardware_setup() + - KVM: x86: Register Processor Trace interrupt hook iff PT enabled in guest + - KVM: x86: don't print when fail to read/write pv eoi memory + - KVM: s390: Clarify SIGP orders versus STOP/RESTART + - remoteproc: qcom: pas: Add missing power-domain "mxc" for CDSP + - 9p: only copy valid iattrs in 9P2000.L setattr implementation + - video: vga16fb: Only probe for EGA and VGA 16 color graphic cards + - media: uvcvideo: fix division by zero at stream start + - rtlwifi: rtl8192cu: Fix WARNING when calling local_irq_restore() with + interrupts enabled + - firmware: qemu_fw_cfg: fix sysfs information leak + - firmware: qemu_fw_cfg: fix NULL-pointer deref on duplicate entries + - firmware: qemu_fw_cfg: fix kobject leak in probe error path + - perf annotate: Avoid TUI crash when navigating in the annotation of + recursive functions + - KVM: x86: remove PMU FIXED_CTR3 from msrs_to_save_all + - ALSA: hda/realtek: Add speaker fixup for some Yoga 15ITL5 devices + - ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Master after + reboot from Windows + - ALSA: hda: ALC287: Add Lenovo IdeaPad Slim 9i 14ITL5 speaker quirk + - ALSA: hda/tegra: Fix Tegra194 HDA reset failure + - ALSA: hda/realtek: Add quirk for Legion Y9000X 2020 + - ALSA: hda/realtek: Re-order quirk entries for Lenovo + - mtd: fixup CFI on ixp4xx + - Linux 5.15.16 + + * UBSAN: array-index-out-of-bounds in dcn31_resources on AMD yellow carp + platform (LP: #1958229) + - drm/amd/display: Fix out of bounds access on DNC31 stream encoder regs + + * Jammy update: v5.15.15 upstream stable release (LP: #1958418) + - s390/kexec: handle R_390_PLT32DBL rela in arch_kexec_apply_relocations_add() + - workqueue: Fix unbind_workers() VS wq_worker_running() race + - staging: r8188eu: switch the led off during deinit + - bpf: Fix out of bounds access from invalid *_or_null type verification + - Bluetooth: btusb: Add protocol for MediaTek bluetooth devices(MT7922) + - Bluetooth: btusb: Add the new support ID for Realtek RTL8852A + - Bluetooth: btusb: Add support for IMC Networks Mediatek Chip(MT7921) + - Bbluetooth: btusb: Add another Bluetooth part for Realtek 8852AE + - Bluetooth: btusb: fix memory leak in btusb_mtk_submit_wmt_recv_urb() + - Bluetooth: btusb: enable Mediatek to support AOSP extension + - Bluetooth: btusb: Add one more Bluetooth part for the Realtek RTL8852AE + - fget: clarify and improve __fget_files() implementation + - Bluetooth: btusb: Add two more Bluetooth parts for WCN6855 + - Bluetooth: btusb: Add support for Foxconn MT7922A + - Bluetooth: btintel: Fix broken LED quirk for legacy ROM devices + - Bluetooth: btusb: Add support for Foxconn QCA 0xe0d0 + - Bluetooth: bfusb: fix division by zero in send path + - ARM: dts: exynos: Fix BCM4330 Bluetooth reset polarity in I9100 + - USB: core: Fix bug in resuming hub's handling of wakeup requests + - USB: Fix "slab-out-of-bounds Write" bug in usb_hcd_poll_rh_status + - ath11k: Fix buffer overflow when scanning with extraie + - mmc: sdhci-pci: Add PCI ID for Intel ADL + - Bluetooth: add quirk disabling LE Read Transmit Power + - Bluetooth: btbcm: disable read tx power for some Macs with the T2 Security + chip + - Bluetooth: btbcm: disable read tx power for MacBook Air 8,1 and 8,2 + - veth: Do not record rx queue hint in veth_xmit + - mfd: intel-lpss: Fix too early PM enablement in the ACPI ->probe() + - can: gs_usb: fix use of uninitialized variable, detach device on reception + of invalid USB data + - can: isotp: convert struct tpcon::{idx,len} to unsigned int + - can: gs_usb: gs_can_start_xmit(): zero-initialize hf->{flags,reserved} + - random: fix data race on crng_node_pool + - random: fix data race on crng init time + - random: fix crash on multiple early calls to add_bootloader_randomness() + - platform/x86/intel: hid: add quirk to support Surface Go 3 + - media: Revert "media: uvcvideo: Set unique vdev name based in type" + - staging: wlan-ng: Avoid bitwise vs logical OR warning in + hfa384x_usb_throttlefn() + - drm/i915: Avoid bitwise vs logical OR warning in snb_wm_latency_quirk() + - staging: greybus: fix stack size warning with UBSAN + - Linux 5.15.15 + + * UBSAN warning on unplugging USB4 DP alt mode from AMD Yellow Carp graphics + card (LP: #1956497) + - drm/amd/display: explicitly set is_dsc_supported to false before use + + * Support USB4 DP alt mode for AMD Yellow Carp graphics card (LP: #1953008) + - drm/amd/display: Enable PSR by default on newer DCN + - SAUCE: drm/amd/display: Fixup previous PSR policy commit + - drm/amd/display: Fix USB4 hot plug crash issue + - drm/amd/display: Creating a fw boot options bit for an upcoming feature + - drm/amd/display: Enable dpia in dmub only for DCN31 B0 + - drm/amd/display: MST support for DPIA + - drm/amd/display: Set phy_mux_sel bit in dmub scratch register + - drm/amd/display: Don't lock connection_mutex for DMUB HPD + - drm/amd/display: Add callbacks for DMUB HPD IRQ notifications + + * Jammy update: v5.15.14 upstream stable release (LP: #1957882) + - fscache_cookie_enabled: check cookie is valid before accessing it + - selftests: x86: fix [-Wstringop-overread] warn in test_process_vm_readv() + - tracing: Fix check for trace_percpu_buffer validity in get_trace_buf() + - tracing: Tag trace_percpu_buffer as a percpu pointer + - Revert "RDMA/mlx5: Fix releasing unallocated memory in dereg MR flow" + - ieee802154: atusb: fix uninit value in atusb_set_extended_addr + - i40e: Fix to not show opcode msg on unsuccessful VF MAC change + - iavf: Fix limit of total number of queues to active queues of VF + - RDMA/core: Don't infoleak GRH fields + - Revert "net: usb: r8152: Add MAC passthrough support for more Lenovo Docks" + - netrom: fix copying in user data in nr_setsockopt + - RDMA/uverbs: Check for null return of kmalloc_array + - mac80211: initialize variable have_higher_than_11mbit + - mac80211: mesh: embedd mesh_paths and mpp_paths into ieee80211_if_mesh + - sfc: The RX page_ring is optional + - i40e: fix use-after-free in i40e_sync_filters_subtask() + - i40e: Fix for displaying message regarding NVM version + - i40e: Fix incorrect netdev's real number of RX/TX queues + - ftrace/samples: Add missing prototypes direct functions + - ipv4: Check attribute length for RTA_GATEWAY in multipath route + - ipv4: Check attribute length for RTA_FLOW in multipath route + - ipv6: Check attribute length for RTA_GATEWAY in multipath route + - ipv6: Check attribute length for RTA_GATEWAY when deleting multipath route + - lwtunnel: Validate RTA_ENCAP_TYPE attribute length + - selftests: net: udpgro_fwd.sh: explicitly checking the available ping + feature + - sctp: hold endpoint before calling cb in sctp_transport_lookup_process + - batman-adv: mcast: don't send link-local multicast to mcast routers + - sch_qfq: prevent shift-out-of-bounds in qfq_init_qdisc + - net: ena: Fix undefined state when tx request id is out of bounds + - net: ena: Fix wrong rx request id by resetting device + - net: ena: Fix error handling when calculating max IO queues number + - md/raid1: fix missing bitmap update w/o WriteMostly devices + - EDAC/i10nm: Release mdev/mbase when failing to detect HBM + - KVM: x86: Check for rmaps allocation + - cgroup: Use open-time credentials for process migraton perm checks + - cgroup: Allocate cgroup_file_ctx for kernfs_open_file->priv + - cgroup: Use open-time cgroup namespace for process migration perm checks + - Revert "i2c: core: support bus regulator controlling in adapter" + - i2c: mpc: Avoid out of bounds memory access + - power: supply: core: Break capacity loop + - power: reset: ltc2952: Fix use of floating point literals + - reset: renesas: Fix Runtime PM usage + - rndis_host: support Hytera digital radios + - gpio: gpio-aspeed-sgpio: Fix wrong hwirq base in irq handler + - net ticp:fix a kernel-infoleak in __tipc_sendmsg() + - phonet: refcount leak in pep_sock_accep + - fbdev: fbmem: add a helper to determine if an aperture is used by a fw fb + - drm/amdgpu: disable runpm if we are the primary adapter + - power: bq25890: Enable continuous conversion for ADC at charging + - ipv6: Continue processing multipath route even if gateway attribute is + invalid + - ipv6: Do cleanup if attribute validation fails in multipath route + - auxdisplay: charlcd: checking for pointer reference before dereferencing + - drm/amdgpu: fix dropped backing store handling in amdgpu_dma_buf_move_notify + - drm/amd/pm: Fix xgmi link control on aldebaran + - usb: mtu3: fix interval value for intr and isoc + - scsi: libiscsi: Fix UAF in iscsi_conn_get_param()/iscsi_conn_teardown() + - ip6_vti: initialize __ip6_tnl_parm struct in vti6_siocdevprivate + - net: udp: fix alignment problem in udp4_seq_show() + - atlantic: Fix buff_ring OOB in aq_ring_rx_clean + - drm/amd/pm: skip setting gfx cgpg in the s0ix suspend-resume + - mISDN: change function names to avoid conflicts + - drm/amd/display: fix B0 TMDS deepcolor no dislay issue + - drm/amd/display: Added power down for DCN10 + - ipv6: raw: check passed optlen before reading + - userfaultfd/selftests: fix hugetlb area allocations + - ARM: dts: gpio-ranges property is now required + - Input: zinitix - make sure the IRQ is allocated before it gets enabled + - Revert "drm/amdgpu: stop scheduler when calling hw_fini (v2)" + - drm/amd/pm: keep the BACO feature enabled for suspend + - Linux 5.15.14 + + * alsa/sdw: add sdw audio machine driver for several ADL machines + (LP: #1951563) + - ASoC: Intel: sof_sdw: Add support for SKU 0AF3 product + - ASoC: Intel: soc-acpi: add SKU 0AF3 SoundWire configuration + - ASoC: Intel: sof_sdw: Add support for SKU 0B00 and 0B01 products + - ASoC: Intel: sof_sdw: Add support for SKU 0B11 product + - ASoC: Intel: sof_sdw: Add support for SKU 0B13 product + - ASoC: Intel: soc-acpi: add SKU 0B13 SoundWire configuration + - ASoC: Intel: sof_sdw: Add support for SKU 0B29 product + - ASoC: Intel: soc-acpi: add SKU 0B29 SoundWire configuration + - ASoC: Intel: sof_sdw: Add support for SKU 0B12 product + - ASoC: intel: sof_sdw: return the original error number + - ASoC: intel: sof_sdw: rename be_index/link_id to link_index + - ASoC: intel: sof_sdw: Use a fixed DAI link id for AMP + - ASoC: intel: sof_sdw: move DMIC link id overwrite to create_sdw_dailink + - ASoC: intel: sof_sdw: remove SOF_RT715_DAI_ID_FIX quirk + - ASoC: intel: sof_sdw: remove sof_sdw_mic_codec_mockup_init + - ASoC: intel: sof_sdw: remove get_next_be_id + - ASoC: intel: sof_sdw: add link adr order check + + * Add basic Wifi support for Qualcomm WCN6856 (LP: #1955613) + - ath11k: change to use dynamic memory for channel list of scan + - ath11k: add string type to search board data in board-2.bin for WCN6855 + + * Enable audio mute LED and mic mute LED on a new HP laptop (LP: #1956454) + - ALSA: hda/realtek: Use ALC285_FIXUP_HP_GPIO_LED on another HP laptop + + * Add missing BT ID for Qualcomm WCN6856 (LP: #1956407) + - Bluetooth: btusb: Add one more Bluetooth part for WCN6855 + + * Add Bluetooth support for Qualcomm WCN6856 (LP: #1955689) + - Bluetooth: btusb: Add support using different nvm for variant WCN6855 + controller + - Bluetooth: btusb: re-definition for board_id in struct qca_version + - Bluetooth: btusb: Add the new support IDs for WCN6855 + + * Improve performance and idle power consumption (LP: #1941893) + - x86: ACPI: cstate: Optimize C3 entry on AMD CPUs + + * [Yellow Carp] USB4 interdomain communication problems (LP: #1945361) + - thunderbolt: Enable retry logic for intra-domain control packets + + * 1951111: + - scsi: lpfc: Fix mailbox command failure during driver initialization + + * [Jammy] Update Broadcom Emulex FC HBA lpfc driver to 14.0.0.3 for Ubuntu + 22.04 (LP: #1951111) + - scsi: lpfc: Fix premature rpi release for unsolicited TPLS and LS_RJT + - scsi: lpfc: Fix hang on unload due to stuck fport node + - scsi: lpfc: Fix rediscovery of tape device after LIP + - scsi: lpfc: Don't remove ndlp on PRLI errors in P2P mode + - scsi: lpfc: Fix EEH support for NVMe I/O + - scsi: lpfc: Adjust bytes received vales during cmf timer interval + - scsi: lpfc: Fix I/O block after enabling managed congestion mode + - scsi: lpfc: Zero CGN stats only during initial driver load and stat reset + - scsi: lpfc: Improve PBDE checks during SGL processing + - scsi: lpfc: Update lpfc version to 14.0.0.2 + + * smartpqi: Update 20.04.4 to latest kernel.org patch level (LP: #1953689) + - scsi: smartpqi: Update device removal management + - scsi: smartpqi: Capture controller reason codes + - scsi: smartpqi: Update LUN reset handler + - scsi: smartpqi: Add TEST UNIT READY check for SANITIZE operation + - scsi: smartpqi: Avoid failing I/Os for offline devices + - scsi: smartpqi: Add extended report physical LUNs + - scsi: smartpqi: Fix boot failure during LUN rebuild + - scsi: smartpqi: Fix duplicate device nodes for tape changers + - scsi: smartpqi: Add 3252-8i PCI id + - scsi: smartpqi: Update version to 2.1.12-055 + + * Let VMD follow host bridge PCIe settings (LP: #1954611) + - PCI: vmd: Honor ACPI _OSC on PCIe features + + * Fix spurious wakeup caused by Intel 7560 WWAN (LP: #1956443) + - net: wwan: iosm: Keep device at D0 for s2idle case + + * [uacc-0623] hisi_sec2 fail to alloc uacce (LP: #1933301) + - crypto: hisilicon/qm - modify the uacce mode check + + * Jammy update: v5.15.13 upstream stable release (LP: #1956926) + - Input: i8042 - add deferred probe support + - Input: i8042 - enable deferred probe quirk for ASUS UM325UA + - tomoyo: Check exceeded quota early in tomoyo_domain_quota_is_ok(). + - tomoyo: use hwight16() in tomoyo_domain_quota_is_ok() + - net/sched: Extend qdisc control block with tc control block + - parisc: Clear stale IIR value on instruction access rights trap + - platform/mellanox: mlxbf-pmc: Fix an IS_ERR() vs NULL bug in + mlxbf_pmc_map_counters + - platform/x86: apple-gmux: use resource_size() with res + - memblock: fix memblock_phys_alloc() section mismatch error + - recordmcount.pl: fix typo in s390 mcount regex + - powerpc/ptdump: Fix DEBUG_WX since generic ptdump conversion + - efi: Move efifb_setup_from_dmi() prototype from arch headers + - selinux: initialize proto variable in selinux_ip_postroute_compat() + - scsi: lpfc: Terminate string in lpfc_debugfs_nvmeio_trc_write() + - net/mlx5: DR, Fix NULL vs IS_ERR checking in dr_domain_init_resources + - net/mlx5: Fix error print in case of IRQ request failed + - net/mlx5: Fix SF health recovery flow + - net/mlx5: Fix tc max supported prio for nic mode + - net/mlx5e: Wrap the tx reporter dump callback to extract the sq + - net/mlx5e: Fix interoperability between XSK and ICOSQ recovery flow + - net/mlx5e: Fix ICOSQ recovery flow for XSK + - net/mlx5e: Use tc sample stubs instead of ifdefs in source file + - net/mlx5e: Delete forward rule for ct or sample action + - udp: using datalen to cap ipv6 udp max gso segments + - selftests: Calculate udpgso segment count without header adjustment + - sctp: use call_rcu to free endpoint + - net/smc: fix using of uninitialized completions + - net: usb: pegasus: Do not drop long Ethernet frames + - net: ag71xx: Fix a potential double free in error handling paths + - net: lantiq_xrx200: fix statistics of received bytes + - NFC: st21nfca: Fix memory leak in device probe and remove + - net/smc: don't send CDC/LLC message if link not ready + - net/smc: fix kernel panic caused by race of smc_sock + - igc: Do not enable crosstimestamping for i225-V models + - igc: Fix TX timestamp support for non-MSI-X platforms + - drm/amd/display: Send s0i2_rdy in stream_count == 0 optimization + - drm/amd/display: Set optimize_pwr_state for DCN31 + - ionic: Initialize the 'lif->dbid_inuse' bitmap + - net/mlx5e: Fix wrong features assignment in case of error + - net: bridge: mcast: add and enforce query interval minimum + - net: bridge: mcast: add and enforce startup query interval minimum + - selftests/net: udpgso_bench_tx: fix dst ip argument + - selftests: net: Fix a typo in udpgro_fwd.sh + - net: bridge: mcast: fix br_multicast_ctx_vlan_global_disabled helper + - net/ncsi: check for error return from call to nla_put_u32 + - selftests: net: using ping6 for IPv6 in udpgro_fwd.sh + - fsl/fman: Fix missing put_device() call in fman_port_probe + - i2c: validate user data in compat ioctl + - nfc: uapi: use kernel size_t to fix user-space builds + - uapi: fix linux/nfc.h userspace compilation errors + - drm/nouveau: wait for the exclusive fence after the shared ones v2 + - drm/amdgpu: When the VCN(1.0) block is suspended, powergating is explicitly + enabled + - drm/amdgpu: add support for IP discovery gc_info table v2 + - drm/amd/display: Changed pipe split policy to allow for multi-display pipe + split + - xhci: Fresco FL1100 controller should not have BROKEN_MSI quirk set. + - usb: gadget: f_fs: Clear ffs_eventfd in ffs_data_clear. + - usb: mtu3: add memory barrier before set GPD's HWO + - usb: mtu3: fix list_head check warning + - usb: mtu3: set interval of FS intr and isoc endpoint + - nitro_enclaves: Use get_user_pages_unlocked() call to handle mmap assert + - binder: fix async_free_space accounting for empty parcels + - scsi: vmw_pvscsi: Set residual data length conditionally + - Input: appletouch - initialize work before device registration + - Input: spaceball - fix parsing of movement data packets + - mm/damon/dbgfs: fix 'struct pid' leaks in 'dbgfs_target_ids_write()' + - net: fix use-after-free in tw_timer_handler + - fs/mount_setattr: always cleanup mount_kattr + - perf intel-pt: Fix parsing of VM time correlation arguments + - perf script: Fix CPU filtering of a script's switch events + - perf scripts python: intel-pt-events.py: Fix printing of switch events + - Linux 5.15.13 + + * Miscellaneous Ubuntu changes + - [Packaging] getabis: Add fwinfo.builtin to the ABI + - [Packaging] Add list of built-in firmwares to the ABI + - [Config] x86-64: SYSFB_SIMPLEFB=y + - [packaging] arm64: introduce the lowlatency and lowlatency-64k flavours + - [packaging] arm64: updateconfigs + - [Config] annotations: remove duplicates when arm64-generic == + arm64-generic-64k option + - [Config] annotations: introduce arm64-lowlatency and arm64-lowlatency-64k + kconfig options checks + - [Packaging] Update dependency of pahole / dwarves + - [Config] toolchain version update + + * Miscellaneous upstream changes + - scsi: lpfc: Revert LOG_TRACE_EVENT back to LOG_INIT prior to + driver_resource_setup() + - scsi: lpfc: Correct sysfs reporting of loop support after SFP status change + - scsi: lpfc: Allow PLOGI retry if previous PLOGI was aborted + - scsi: lpfc: Update lpfc version to 14.0.0.3 + - Revert "rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE" + + -- Paolo Pisati Fri, 28 Jan 2022 17:16:21 +0100 + +linux (5.15.0-18.18) jammy; urgency=medium + + * jammy/linux: 5.15.0-18.18 -proposed tracker (LP: #1958638) + + * CVE-2021-4155 + - xfs: map unwritten blocks in XFS_IOC_{ALLOC, FREE}SP just like fallocate + + * CVE-2022-0185 + - SAUCE: vfs: test that one given mount param is not larger than PAGE_SIZE + + * [UBUNTU 20.04] KVM hardware diagnose data improvements for guest kernel - + kernel part (LP: #1953334) + - KVM: s390: add debug statement for diag 318 CPNC data + + * OOB write on BPF_RINGBUF (LP: #1956585) + - SAUCE: bpf: prevent helper argument PTR_TO_ALLOC_MEM to have offset other + than 0 + + * Miscellaneous Ubuntu changes + - [Config] re-enable shiftfs + - [SAUCE] shiftfs: support kernel 5.15 + - [Config] update toolchain versions + + * Miscellaneous upstream changes + - vfs: fs_context: fix up param length parsing in legacy_parse_param + + -- Andrea Righi Fri, 21 Jan 2022 13:32:27 +0100 + +linux (5.15.0-17.17) jammy; urgency=medium + + * jammy/linux: 5.15.0-17.17 -proposed tracker (LP: #1957809) + + -- Andrea Righi Thu, 13 Jan 2022 17:11:21 +0100 + +linux (5.15.0-16.16) jammy; urgency=medium + + * jammy/linux: 5.15.0-16.16 -proposed tracker (LP: #1956820) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * 5.15 stuck at boot on c4.large (LP: #1956780) + - Revert "PCI/MSI: Mask MSI-X vectors only on success" + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] temporarily disable signed v4l2loopback" + + -- Andrea Righi Sat, 08 Jan 2022 10:57:58 +0100 + +linux (5.15.0-15.15) jammy; urgency=medium + + * jammy/linux: 5.15.0-15.15 -proposed tracker (LP: #1956314) + + * Packaging resync (LP: #1786013) + - update dkms package versions + - debian/dkms-versions -- update from kernel-versions (main/master) + + * rtw88_8821ce causes freeze (LP: #1927808) + - rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE + + * alsa/sdw: fix the audio sdw codec parsing logic in the acpi table + (LP: #1955686) + - ALSA: hda: intel-sdw-acpi: go through HDAS ACPI at max depth of 2 + - ALSA: hda: intel-sdw-acpi: harden detection of controller + + * Got black screen when resume from s2idle with AMD dGPU (LP: #1955790) + - SAUCE: drm/amdgpu: put SMU into proper state on runpm suspending for BOCO + capable platform + - SAUCE: drm/amdgpu: always reset the asic in suspend (v2) + + * Fix USB3 detection on HP dock (LP: #1955443) + - usb: hub: Add delay for SuperSpeed hub resume to let links transit to U0 + + * support signed v4l2loopback dkms build (LP: #1938531) + - enable v4l2loopback builds on amd64 kernels + - support v4l2loopback dkms build + + * Jammy update: v5.15.12 upstream stable release (LP: #1956305) + - arm64: vdso32: require CROSS_COMPILE_COMPAT for gcc+bfd + - net: usb: lan78xx: add Allied Telesis AT29M2-AF + - ext4: prevent partial update of the extent blocks + - ext4: check for out-of-order index extents in ext4_valid_extent_entries() + - ext4: check for inconsistent extents between index and leaf block + - selftests: KVM: Fix non-x86 compiling + - HID: holtek: fix mouse probing + - HID: potential dereference of null pointer + - NFSD: Fix READDIR buffer overflow + - PM: sleep: Fix error handling in dpm_prepare() + - arm64: dts: allwinner: orangepi-zero-plus: fix PHY mode + - bus: sunxi-rsb: Fix shutdown + - spi: change clk_disable_unprepare to clk_unprepare + - ucounts: Fix rlimit max values check + - drm/mediatek: hdmi: Perform NULL pointer check for mtk_hdmi_conf + - ASoC: meson: aiu: fifo: Add missing dma_coerce_mask_and_coherent() + - RDMA/hns: Fix RNR retransmission issue for HIP08 + - IB/qib: Fix memory leak in qib_user_sdma_queue_pkts() + - RDMA/hns: Replace kfree() with kvfree() + - netfilter: nf_tables: fix use-after-free in nft_set_catchall_destroy() + - netfilter: fix regression in looped (broad|multi)cast's MAC handling + - ARM: dts: imx6qdl-wandboard: Fix Ethernet support + - ice: Use xdp_buf instead of rx_buf for xsk zero-copy + - ice: xsk: return xsk buffers back to pool when cleaning the ring + - net: marvell: prestera: fix incorrect return of port_find + - net: marvell: prestera: fix incorrect structure access + - qlcnic: potential dereference null pointer of rx_queue->page_ring + - tcp: move inet->rx_dst_ifindex to sk->sk_rx_dst_ifindex + - ipv6: move inet6_sk(sk)->rx_dst_cookie to sk->sk_rx_dst_cookie + - inet: fully convert sk->sk_rx_dst to RCU rules + - net: accept UFOv6 packages in virtio_net_hdr_to_skb + - net: skip virtio_net_hdr_set_proto if protocol already set + - igb: fix deadlock caused by taking RTNL in RPM resume path + - ipmi: Fix UAF when uninstall ipmi_si and ipmi_msghandler module + - gpio: virtio: remove timeout + - bonding: fix ad_actor_system option setting to default + - fjes: Check for error irq + - drivers: net: smc911x: Check for error irq + - net: ks8851: Check for error irq + - sfc: Check null pointer of rx_queue->page_ring + - sfc: falcon: Check null pointer of rx_queue->page_ring + - asix: fix uninit-value in asix_mdio_read() + - asix: fix wrong return value in asix_check_host_enable() + - io_uring: zero iocb->ki_pos for stream file types + - veth: ensure skb entering GRO are not cloned. + - net: stmmac: ptp: fix potentially overflowing expression + - net: bridge: Use array_size() helper in copy_to_user() + - net: bridge: fix ioctl old_deviceless bridge argument + - r8152: fix the force speed doesn't work for RTL8156 + - net: stmmac: dwmac-visconti: Fix value of ETHER_CLK_SEL_FREQ_SEL_2P5M + - pinctrl: bcm2835: Change init order for gpio hogs + - hwmon: (lm90) Fix usage of CONFIG2 register in detect function + - hwmon: (lm90) Prevent integer overflow/underflow in hysteresis calculations + - hwmon: (lm90) Introduce flag indicating extended temperature support + - hwmon: (lm90) Add basic support for TI TMP461 + - hwmon: (lm90) Drop critical attribute support for MAX6654 + - ARM: 9160/1: NOMMU: Reload __secondary_data after PROCINFO_INITFUNC + - uapi: Fix undefined __always_inline on non-glibc systems + - compiler.h: Fix annotation macro misplacement with Clang + - platform/x86/intel: Remove X86_PLATFORM_DRIVERS_INTEL + - kernel/crash_core: suppress unknown crashkernel parameter warning + - Revert "x86/boot: Pull up cmdline preparation and early param parsing" + - x86/boot: Move EFI range reservation after cmdline parsing + - ALSA: jack: Check the return value of kstrdup() + - ALSA: drivers: opl3: Fix incorrect use of vp->state + - ALSA: rawmidi - fix the uninitalized user_pversion + - ALSA: hda/hdmi: Disable silent stream on GLK + - ALSA: hda/realtek: Amp init fixup for HP ZBook 15 G6 + - ALSA: hda/realtek: Add new alc285-hp-amp-init model + - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook + - ALSA: hda/realtek: Fix quirk for Clevo NJ51CU + - ASoC: meson: aiu: Move AIU_I2S_MISC hold setting to aiu-fifo-i2s + - ASoC: tegra: Add DAPM switches for headphones and mic jack + - ASoC: tegra: Restore headphones jack name on Nyan Big + - Input: atmel_mxt_ts - fix double free in mxt_read_info_block + - ipmi: bail out if init_srcu_struct fails + - ipmi: ssif: initialize ssif_info->client early + - ipmi: fix initialization when workqueue allocation fails + - parisc: Correct completer in lws start + - parisc: Fix mask used to select futex spinlock + - tee: handle lookup of shm with reference count 0 + - x86/pkey: Fix undefined behaviour with PKRU_WD_BIT + - platform/x86: amd-pmc: only use callbacks for suspend + - platform/x86: intel_pmc_core: fix memleak on registration failure + - KVM: x86: Always set kvm_run->if_flag + - KVM: x86/mmu: Don't advance iterator after restart due to yielding + - KVM: nVMX: Synthesize TRIPLE_FAULT for L2 if emulation is required + - KVM: VMX: Always clear vmx->fail on emulation_required + - KVM: VMX: Wake vCPU when delivering posted IRQ even if vCPU == this vCPU + - pinctrl: stm32: consider the GPIO offset to expose all the GPIO lines + - gpio: dln2: Fix interrupts when replugging the device + - mmc: sdhci-tegra: Fix switch to HS400ES mode + - mmc: meson-mx-sdhc: Set MANUAL_STOP for multi-block SDIO commands + - mmc: core: Disable card detect during shutdown + - mmc: mmci: stm32: clear DLYB_CR after sending tuning command + - ARM: 9169/1: entry: fix Thumb2 bug in iWMMXt exception handling + - ksmbd: fix error code in ndr_read_int32() + - ksmbd: fix uninitialized symbol 'pntsd_size' + - ksmbd: disable SMB2_GLOBAL_CAP_ENCRYPTION for SMB 3.1.1 + - mac80211: fix locking in ieee80211_start_ap error path + - mm: mempolicy: fix THP allocations escaping mempolicy restrictions + - mm, hwpoison: fix condition in free hugetlb page path + - mm/hwpoison: clear MF_COUNT_INCREASED before retrying get_any_page() + - mm/damon/dbgfs: protect targets destructions with kdamond_lock + - tee: optee: Fix incorrect page free bug + - f2fs: fix to do sanity check on last xattr entry in __f2fs_setxattr() + - netfs: fix parameter of cleanup() + - KVM: VMX: Fix stale docs for kvm-intel.emulate_invalid_guest_state + - arm64: dts: lx2160a: fix scl-gpios property name + - kfence: fix memory leak when cat kfence objects + - Input: iqs626a - prohibit inlining of channel parsing functions + - Input: elants_i2c - do not check Remark ID on eKTH3900/eKTH5312 + - Input: goodix - add id->model mapping for the "9111" model + - ASoC: tas2770: Fix setting of high sample rates + - ASoC: SOF: Intel: pci-tgl: add new ADL-P variant + - ASoC: SOF: Intel: pci-tgl: add ADL-N support + - ASoC: rt5682: fix the wrong jack type detected + - pinctrl: mediatek: fix global-out-of-bounds issue + - hwmom: (lm90) Fix citical alarm status for MAX6680/MAX6681 + - hwmon: (lm90) Do not report 'busy' status bit as alarm + - r8152: sync ocp base + - ax25: NPD bug when detaching AX25 device + - hamradio: defer ax25 kfree after unregister_netdev + - hamradio: improve the incomplete fix to avoid NPD + - tun: avoid double free in tun_free_netdev + - phonet/pep: refuse to enable an unbound pipe + - Linux 5.15.12 + + * Thinkpad E14 Gen2: Kernel panic with trackpad and trackpoint enabled + (LP: #1945590) // Jammy update: v5.15.12 upstream stable release + (LP: #1956305) + - Input: elantech - fix stack out of bound access in + elantech_change_report_id() + + * Jammy update: v5.15.11 upstream stable release (LP: #1956302) + - reset: tegra-bpmp: Revert Handle errors in BPMP response + - KVM: VMX: clear vmx_x86_ops.sync_pir_to_irr if APICv is disabled + - KVM: selftests: Make sure kvm_create_max_vcpus test won't hit RLIMIT_NOFILE + - KVM: downgrade two BUG_ONs to WARN_ON_ONCE + - x86/kvm: remove unused ack_notifier callbacks + - KVM: X86: Fix tlb flush for tdp in kvm_invalidate_pcid() + - mac80211: fix rate control for retransmitted frames + - mac80211: fix regression in SSN handling of addba tx + - mac80211: mark TX-during-stop for TX in in_reconfig + - mac80211: send ADDBA requests using the tid/queue of the aggregation session + - mac80211: validate extended element ID is present + - firmware: arm_scpi: Fix string overflow in SCPI genpd driver + - bpf: Fix kernel address leakage in atomic fetch + - bpf, selftests: Add test case for atomic fetch on spilled pointer + - bpf: Fix signed bounds propagation after mov32 + - bpf: Make 32->64 bounds propagation slightly more robust + - bpf, selftests: Add test case trying to taint map value pointer + - bpf: Fix kernel address leakage in atomic cmpxchg's r0 aux reg + - bpf, selftests: Update test case for atomic cmpxchg on r0 with pointer + - vduse: fix memory corruption in vduse_dev_ioctl() + - vduse: check that offset is within bounds in get_config() + - virtio_ring: Fix querying of maximum DMA mapping size for virtio device + - vdpa: check that offsets are within bounds + - s390/entry: fix duplicate tracking of irq nesting level + - recordmcount.pl: look for jgnop instruction as well as bcrl on s390 + - arm64: dts: ten64: remove redundant interrupt declaration for gpio-keys + - ceph: fix up non-directory creation in SGID directories + - dm btree remove: fix use after free in rebalance_children() + - audit: improve robustness of the audit queue handling + - btrfs: convert latest_bdev type to btrfs_device and rename + - btrfs: use latest_dev in btrfs_show_devname + - btrfs: update latest_dev when we create a sprout device + - btrfs: remove stale comment about the btrfs_show_devname + - scsi: ufs: core: Retry START_STOP on UNIT_ATTENTION + - arm64: dts: rockchip: remove mmc-hs400-enhanced-strobe from rk3399-khadas- + edge + - arm64: dts: rockchip: fix rk3308-roc-cc vcc-sd supply + - arm64: dts: rockchip: fix rk3399-leez-p710 vcc3v3-lan supply + - arm64: dts: rockchip: fix audio-supply for Rock Pi 4 + - arm64: dts: rockchip: fix poweroff on helios64 + - dmaengine: idxd: add halt interrupt support + - dmaengine: idxd: fix calling wq quiesce inside spinlock + - mac80211: track only QoS data frames for admission control + - tee: amdtee: fix an IS_ERR() vs NULL bug + - ceph: fix duplicate increment of opened_inodes metric + - ceph: initialize pathlen variable in reconnect_caps_cb + - ARM: socfpga: dts: fix qspi node compatible + - arm64: dts: imx8mq: remove interconnect property from lcdif + - clk: Don't parent clks until the parent is fully registered + - soc: imx: Register SoC device only on i.MX boards + - iwlwifi: mvm: don't crash on invalid rate w/o STA + - virtio: always enter drivers/virtio/ + - virtio/vsock: fix the transport to work with VMADDR_CID_ANY + - vdpa: Consider device id larger than 31 + - Revert "drm/fb-helper: improve DRM fbdev emulation device names" + - selftests: net: Correct ping6 expected rc from 2 to 1 + - s390/kexec_file: fix error handling when applying relocations + - sch_cake: do not call cake_destroy() from cake_init() + - inet_diag: fix kernel-infoleak for UDP sockets + - netdevsim: don't overwrite read only ethtool parms + - selftests: icmp_redirect: pass xfail=0 to log_test() + - net: hns3: fix use-after-free bug in hclgevf_send_mbx_msg + - net: hns3: fix race condition in debugfs + - selftests: Add duplicate config only for MD5 VRF tests + - selftests: Fix raw socket bind tests with VRF + - selftests: Fix IPv6 address bind tests + - dmaengine: idxd: fix missed completion on abort path + - dmaengine: st_fdma: fix MODULE_ALIAS + - drm: simpledrm: fix wrong unit with pixel clock + - net/sched: sch_ets: don't remove idle classes from the round-robin list + - selftests/net: toeplitz: fix udp option + - net: dsa: mv88e6xxx: Unforce speed & duplex in mac_link_down() + - selftest/net/forwarding: declare NETIFS p9 p10 + - mptcp: never allow the PM to close a listener subflow + - drm/ast: potential dereference of null pointer + - drm/i915/display: Fix an unsigned subtraction which can never be negative. + - mac80211: agg-tx: don't schedule_and_wake_txq() under sta->lock + - cfg80211: Acquire wiphy mutex on regulatory work + - mac80211: fix lookup when adding AddBA extension element + - net: stmmac: fix tc flower deletion for VLAN priority Rx steering + - flow_offload: return EOPNOTSUPP for the unsupported mpls action type + - rds: memory leak in __rds_conn_create() + - ice: Use div64_u64 instead of div_u64 in adjfine + - ice: Don't put stale timestamps in the skb + - drm/amd/display: Set exit_optimized_pwr_state for DCN31 + - drm/amd/pm: fix a potential gpu_metrics_table memory leak + - mptcp: remove tcp ulp setsockopt support + - mptcp: clear 'kern' flag from fallback sockets + - mptcp: fix deadlock in __mptcp_push_pending() + - soc/tegra: fuse: Fix bitwise vs. logical OR warning + - igb: Fix removal of unicast MAC filters of VFs + - igbvf: fix double free in `igbvf_probe` + - igc: Fix typo in i225 LTR functions + - ixgbe: Document how to enable NBASE-T support + - ixgbe: set X550 MDIO speed before talking to PHY + - netdevsim: Zero-initialize memory for new map's value in function + nsim_bpf_map_alloc + - net/packet: rx_owner_map depends on pg_vec + - net: stmmac: dwmac-rk: fix oob read in rk_gmac_setup + - sfc_ef100: potential dereference of null pointer + - dsa: mv88e6xxx: fix debug print for SPEED_UNFORCED + - net: Fix double 0x prefix print in SKB dump + - net/smc: Prevent smc_release() from long blocking + - net: systemport: Add global locking for descriptor lifecycle + - sit: do not call ipip6_dev_free() from sit_init_net() + - afs: Fix mmap + - arm64: kexec: Fix missing error code 'ret' warning in load_other_segments() + - bpf: Fix extable fixup offset. + - bpf, selftests: Fix racing issue in btf_skc_cls_ingress test + - powerpc/85xx: Fix oops when CONFIG_FSL_PMC=n + - USB: gadget: bRequestType is a bitfield, not a enum + - Revert "usb: early: convert to readl_poll_timeout_atomic()" + - KVM: x86: Drop guest CPUID check for host initiated writes to + MSR_IA32_PERF_CAPABILITIES + - tty: n_hdlc: make n_hdlc_tty_wakeup() asynchronous + - USB: NO_LPM quirk Lenovo USB-C to Ethernet Adapher(RTL8153-04) + - usb: dwc2: fix STM ID/VBUS detection startup delay in dwc2_driver_probe + - PCI/MSI: Clear PCI_MSIX_FLAGS_MASKALL on error + - PCI/MSI: Mask MSI-X vectors only on success + - usb: xhci-mtk: fix list_del warning when enable list debug + - usb: xhci: Extend support for runtime power management for AMD's Yellow + carp. + - usb: cdnsp: Fix incorrect status for control request + - usb: cdnsp: Fix incorrect calling of cdnsp_died function + - usb: cdnsp: Fix issue in cdnsp_log_ep trace event + - usb: cdnsp: Fix lack of spin_lock_irqsave/spin_lock_restore + - usb: typec: tcpm: fix tcpm unregister port but leave a pending timer + - usb: gadget: u_ether: fix race in setting MAC address in setup phase + - USB: serial: cp210x: fix CP2105 GPIO registration + - USB: serial: option: add Telit FN990 compositions + - selinux: fix sleeping function called from invalid context + - btrfs: fix memory leak in __add_inode_ref() + - btrfs: fix double free of anon_dev after failure to create subvolume + - btrfs: check WRITE_ERR when trying to read an extent buffer + - btrfs: fix missing blkdev_put() call in btrfs_scan_one_device() + - zonefs: add MODULE_ALIAS_FS + - iocost: Fix divide-by-zero on donation from low hweight cgroup + - serial: 8250_fintek: Fix garbled text for console + - timekeeping: Really make sure wall_to_monotonic isn't positive + - cifs: sanitize multiple delimiters in prepath + - locking/rtmutex: Fix incorrect condition in rtmutex_spin_on_owner() + - riscv: dts: unleashed: Add gpio card detect to mmc-spi-slot + - riscv: dts: unmatched: Add gpio card detect to mmc-spi-slot + - perf inject: Fix segfault due to close without open + - perf inject: Fix segfault due to perf_data__fd() without open + - libata: if T_LENGTH is zero, dma direction should be DMA_NONE + - powerpc/module_64: Fix livepatching for RO modules + - drm/amdgpu: correct register access for RLC_JUMP_TABLE_RESTORE + - drm/amdgpu: don't override default ECO_BITs setting + - drm/amd/pm: fix reading SMU FW version from amdgpu_firmware_info on YC + - Revert "can: m_can: remove support for custom bit timing" + - can: m_can: make custom bittiming fields const + - can: m_can: pci: use custom bit timings for Elkhart Lake + - ARM: dts: imx6ull-pinfunc: Fix CSI_DATA07__ESAI_TX0 pad name + - xsk: Do not sleep in poll() when need_wakeup set + - mptcp: add missing documented NL params + - bpf, x64: Factor out emission of REX byte in more cases + - bpf: Fix extable address check. + - USB: core: Make do_proc_control() and do_proc_bulk() killable + - media: mxl111sf: change mutex_init() location + - fuse: annotate lock in fuse_reverse_inval_entry() + - ovl: fix warning in ovl_create_real() + - scsi: scsi_debug: Don't call kcalloc() if size arg is zero + - scsi: scsi_debug: Fix type in min_t to avoid stack OOB + - scsi: scsi_debug: Sanity check block descriptor length in resp_mode_select() + - io-wq: remove spurious bit clear on task_work addition + - io-wq: check for wq exit after adding new worker task_work + - rcu: Mark accesses to rcu_state.n_force_qs + - io-wq: drop wqe lock before creating new worker + - bus: ti-sysc: Fix variable set but not used warning for reinit_modules + - selftests/damon: test debugfs file reads/writes with huge count + - Revert "xsk: Do not sleep in poll() when need_wakeup set" + - xen/blkfront: harden blkfront against event channel storms + - xen/netfront: harden netfront against event channel storms + - xen/console: harden hvc_xen against event channel storms + - xen/netback: fix rx queue stall detection + - xen/netback: don't queue unlimited number of packages + - Linux 5.15.11 + + * Jammy update: v5.15.10 upstream stable release (LP: #1956301) + - nfc: fix segfault in nfc_genl_dump_devices_done + - hwmon: (corsair-psu) fix plain integer used as NULL pointer + - RDMA: Fix use-after-free in rxe_queue_cleanup + - RDMA/mlx5: Fix releasing unallocated memory in dereg MR flow + - mtd: rawnand: Fix nand_erase_op delay + - mtd: rawnand: Fix nand_choose_best_timings() on unsupported interface + - inet: use #ifdef CONFIG_SOCK_RX_QUEUE_MAPPING consistently + - dt-bindings: media: nxp,imx7-mipi-csi2: Drop bad if/then schema + - clk: qcom: sm6125-gcc: Swap ops of ice and apps on sdcc1 + - perf bpf_skel: Do not use typedef to avoid error on old clang + - netfs: Fix lockdep warning from taking sb_writers whilst holding mmap_lock + - RDMA/irdma: Fix a user-after-free in add_pble_prm + - RDMA/irdma: Fix a potential memory allocation issue in + 'irdma_prm_add_pble_mem()' + - RDMA/irdma: Report correct WC errors + - RDMA/irdma: Don't arm the CQ more than two times if no CE for this CQ + - ice: fix FDIR init missing when reset VF + - vmxnet3: fix minimum vectors alloc issue + - i2c: virtio: fix completion handling + - drm/msm: Fix null ptr access msm_ioctl_gem_submit() + - drm/msm/a6xx: Fix uinitialized use of gpu_scid + - drm/msm/dsi: set default num_data_lanes + - drm/msm/dp: Avoid unpowered AUX xfers that caused crashes + - KVM: arm64: Save PSTATE early on exit + - s390/test_unwind: use raw opcode instead of invalid instruction + - Revert "tty: serial: fsl_lpuart: drop earlycon entry for i.MX8QXP" + - net/mlx4_en: Update reported link modes for 1/10G + - loop: Use pr_warn_once() for loop_control_remove() warning + - ALSA: hda: Add Intel DG2 PCI ID and HDMI codec vid + - ALSA: hda/hdmi: fix HDA codec entry table order for ADL-P + - parisc/agp: Annotate parisc agp init functions with __init + - i2c: rk3x: Handle a spurious start completion interrupt flag + - net: netlink: af_netlink: Prevent empty skb by adding a check on len. + - drm/amdgpu: cancel the correct hrtimer on exit + - drm/amdgpu: check atomic flag to differeniate with legacy path + - drm/amd/display: Fix for the no Audio bug with Tiled Displays + - drm/amdkfd: fix double free mem structure + - drm/amd/display: add connector type check for CRC source set + - drm/amdkfd: process_info lock not needed for svm + - tracing: Fix a kmemleak false positive in tracing_map + - staging: most: dim2: use device release method + - fuse: make sure reclaim doesn't write the inode + - perf inject: Fix itrace space allowed for new attributes + - Linux 5.15.10 + + * Jammy update: v5.15.9 upstream stable release (LP: #1955161) + - netfilter: selftest: conntrack_vrf.sh: fix file permission + - Linux 5.15.9 + + * [SRU][I/J/OEM-5.13/OEM-5.14] Fix pci port lost when hotplug dock + (LP: #1954646) + - PCI: Re-enable Downstream Port LTR after reset or hotplug + + * Add support for NVIDIA EC backlight (LP: #1953286) + - platform/x86: Add driver for ACPI WMAA EC-based backlight control + - platform/x86: Remove "WMAA" from identifier names in wmaa-backlight-wmi.c + - platform/x86: Rename wmaa-backlight-wmi to nvidia-wmi-ec-backlight + - [Config] NVIDIA_WMI_EC_BACKLIGHT=m + + * Improve USB Type-C support (LP: #1950974) + - usb: typec: ucsi: Always cancel the command if PPM reports BUSY condition + - usb: typec: ucsi: Don't stop alt mode registration on busy condition + - usb: typec: ucsi: Add polling mechanism for partner tasks like alt mode + checking + - usb: typec: ucsi: acpi: Reduce the command completion timeout + - usb: typec: ucsi: Check the partner alt modes always if there is PD contract + - usb: typec: ucsi: Read the PDOs in separate work + - usb: typec: ucsi: Better fix for missing unplug events issue + + * Fix power button wakeup with shared IRQs on AMD platforms (LP: #1953540) + - pinctrl: amd: Fix wakeups when IRQ is shared with SCI + + * AMD: Suspend not working when some cores are disabled through cpufreq + (LP: #1954930) + - ACPI: processor idle: Allow playing dead in C3 state + + * Jammy update: v5.15.8 upstream stable release (LP: #1954931) + - Revert "UBUNTU: SAUCE: selftests: fib_tests: assign address to dummy1 for + rp_filter tests" + - usb: gadget: uvc: fix multiple opens + - HID: quirks: Add quirk for the Microsoft Surface 3 type-cover + - HID: google: add eel USB id + - HID: intel-ish-hid: ipc: only enable IRQ wakeup when requested + - HID: add hid_is_usb() function to make it simpler for USB detection + - HID: add USB_HID dependancy to hid-prodikeys + - HID: add USB_HID dependancy to hid-chicony + - HID: add USB_HID dependancy on some USB HID drivers + - HID: bigbenff: prevent null pointer dereference + - HID: wacom: fix problems when device is not a valid USB device + - HID: check for valid USB device for many HID drivers + - mtd: dataflash: Add device-tree SPI IDs + - mmc: spi: Add device-tree SPI IDs + - HID: sony: fix error path in probe + - HID: Ignore battery for Elan touchscreen on Asus UX550VE + - platform/x86/intel: hid: add quirk to support Surface Go 3 + - nft_set_pipapo: Fix bucket load in AVX2 lookup routine for six 8-bit groups + - IB/hfi1: Insure use of smp_processor_id() is preempt disabled + - IB/hfi1: Fix early init panic + - IB/hfi1: Fix leak of rcvhdrtail_dummy_kvaddr + - can: kvaser_usb: get CAN clock frequency from device + - can: kvaser_pciefd: kvaser_pciefd_rx_error_frame(): increase correct + stats->{rx,tx}_errors counter + - can: sja1000: fix use after free in ems_pcmcia_add_card() + - can: pch_can: pch_can_rx_normal: fix use after free + - can: m_can: m_can_read_fifo: fix memory leak in error branch + - can: m_can: pci: fix incorrect reference clock rate + - can: m_can: pci: fix iomap_read_fifo() and iomap_write_fifo() + - can: m_can: Disable and ignore ELO interrupt + - net: dsa: mv88e6xxx: fix "don't use PHY_DETECT on internal PHY's" + - net: dsa: mv88e6xxx: allow use of PHYs on CPU and DSA ports + - x86/sme: Explicitly map new EFI memmap table as encrypted + - platform/x86: amd-pmc: Fix s2idle failures on certain AMD laptops + - nfc: fix potential NULL pointer deref in nfc_genl_dump_ses_done + - selftests: netfilter: add a vrf+conntrack testcase + - vrf: don't run conntrack on vrf with !dflt qdisc + - bpf, x86: Fix "no previous prototype" warning + - bpf, sockmap: Attach map progs to psock early for feature probes + - bpf: Make sure bpf_disable_instrumentation() is safe vs preemption. + - bpf: Fix the off-by-two error in range markings + - ice: ignore dropped packets during init + - ethtool: do not perform operations on net devices being unregistered + - bonding: make tx_rebalance_counter an atomic + - nfp: Fix memory leak in nfp_cpp_area_cache_add() + - udp: using datalen to cap max gso segments + - netfilter: nft_exthdr: break evaluation if setting TCP option fails + - netfilter: conntrack: annotate data-races around ct->timeout + - iavf: restore MSI state on reset + - iavf: Fix reporting when setting descriptor count + - IB/hfi1: Correct guard on eager buffer deallocation + - devlink: fix netns refcount leak in devlink_nl_cmd_reload() + - net: bcm4908: Handle dma_set_coherent_mask error codes + - net: dsa: mv88e6xxx: error handling for serdes_power functions + - net: dsa: felix: Fix memory leak in felix_setup_mmio_filtering + - net/sched: fq_pie: prevent dismantle issue + - net: mvpp2: fix XDP rx queues registering + - KVM: x86: Don't WARN if userspace mucks with RCX during string I/O exit + - KVM: x86: Ignore sparse banks size for an "all CPUs", non-sparse IPI req + - KVM: x86: Wait for IPIs to be delivered when handling Hyper-V TLB flush + hypercall + - timers: implement usleep_idle_range() + - mm/damon/core: fix fake load reports due to uninterruptible sleeps + - mm/slub: fix endianness bug for alloc/free_traces attributes + - mm: bdi: initialize bdi_min_ratio when bdi is unregistered + - ALSA: ctl: Fix copy of updated id with element read/write + - ALSA: hda/realtek - Add headset Mic support for Lenovo ALC897 platform + - ALSA: hda/realtek: Fix quirk for TongFang PHxTxX1 + - ALSA: pcm: oss: Fix negative period/buffer sizes + - ALSA: pcm: oss: Limit the period size to 16MB + - ALSA: pcm: oss: Handle missing errors in snd_pcm_oss_change_params*() + - cifs: Fix crash on unload of cifs_arc4.ko + - scsi: qla2xxx: Format log strings only if needed + - btrfs: clear extent buffer uptodate when we fail to write it + - btrfs: fix re-dirty process of tree-log nodes + - btrfs: replace the BUG_ON in btrfs_del_root_ref with proper error handling + - btrfs: free exchange changeset on failures + - perf intel-pt: Fix some PGE (packet generation enable/control flow packets) + usage + - perf intel-pt: Fix sync state when a PSB (synchronization) packet is found + - perf intel-pt: Fix intel_pt_fup_event() assumptions about setting state type + - perf intel-pt: Fix state setting when receiving overflow (OVF) packet + - perf intel-pt: Fix next 'err' value, walking trace + - perf intel-pt: Fix missing 'instruction' events with 'q' option + - perf intel-pt: Fix error timestamp setting on the decoder error path + - md: fix update super 1.0 on rdev size change + - nfsd: fix use-after-free due to delegation race + - nfsd: Fix nsfd startup race (again) + - tracefs: Have new files inherit the ownership of their parent + - selftests: KVM: avoid failures due to reserved HyperTransport region + - hwmon: (pwm-fan) Ensure the fan going on in .probe() + - mmc: renesas_sdhi: initialize variable properly when tuning + - clk: qcom: regmap-mux: fix parent clock lookup + - thermal: int340x: Fix VCoRefLow MMIO bit offset for TGL + - drm/syncobj: Deal with signalled fences in drm_syncobj_find_fence. + - libata: add horkage for ASMedia 1092 + - io_uring: ensure task_work gets run as part of cancelations + - wait: add wake_up_pollfree() + - binder: use wake_up_pollfree() + - signalfd: use wake_up_pollfree() + - aio: keep poll requests on waitqueue until completed + - aio: fix use-after-free due to missing POLLFREE handling + - tracefs: Set all files to the same group ownership as the mount option + - i2c: mpc: Use atomic read and fix break condition + - block: fix ioprio_get(IOPRIO_WHO_PGRP) vs setuid(2) + - scsi: pm80xx: Do not call scsi_remove_host() in pm8001_alloc() + - scsi: scsi_debug: Fix buffer size of REPORT ZONES command + - ALSA: usb-audio: Reorder snd_djm_devices[] entries + - qede: validate non LSO skb length + - PM: runtime: Fix pm_runtime_active() kerneldoc comment + - ASoC: rt5682: Fix crash due to out of scope stack vars + - ASoC: qdsp6: q6routing: Fix return value from msm_routing_put_audio_mixer + - ASoC: codecs: wsa881x: fix return values from kcontrol put + - ASoC: codecs: wcd934x: handle channel mappping list correctly + - ASoC: codecs: wcd934x: return correct value from mixer put + - RDMA/hns: Do not halt commands during reset until later + - RDMA/hns: Do not destroy QP resources in the hw resetting phase + - hwmon: (dell-smm) Fix warning on /proc/i8k creation error + - clk: imx: use module_platform_driver + - clk: qcom: clk-alpha-pll: Don't reconfigure running Trion + - i40e: Fix failed opcode appearing if handling messages from VF + - i40e: Fix pre-set max number of queues for VF + - mtd: rawnand: fsmc: Take instruction delay into account + - mtd: rawnand: fsmc: Fix timing computation + - bpf, sockmap: Re-evaluate proto ops when psock is removed from sockmap + - i40e: Fix NULL pointer dereference in i40e_dbg_dump_desc + - Revert "PCI: aardvark: Fix support for PCI_ROM_ADDRESS1 on emulated bridge" + - drm/amd/display: Fix DPIA outbox timeout after S3/S4/reset + - perf tools: Fix SMT detection fast read path + - Documentation/locking/locktypes: Update migrate_disable() bits. + - dt-bindings: net: Reintroduce PHY no lane swap binding + - tools build: Remove needless libpython-version feature check that breaks + test-all fast path + - net: cdc_ncm: Allow for dwNtbOutMaxSize to be unset or zero + - net: altera: set a couple error code in probe() + - net: fec: only clear interrupt of handling queue in fec_enet_rx_queue() + - net, neigh: clear whole pneigh_entry at alloc time + - net/qla3xxx: fix an error code in ql_adapter_up() + - selftests/fib_tests: Rework fib_rp_filter_test() + - USB: gadget: detect too-big endpoint 0 requests + - USB: gadget: zero allocate endpoint 0 buffers + - Revert "usb: dwc3: dwc3-qcom: Enable tx-fifo-resize property by default" + - usb: core: config: fix validation of wMaxPacketValue entries + - usb: core: config: using bit mask instead of individual bits + - xhci: avoid race between disable slot command and host runtime suspend + - iio: gyro: adxrs290: fix data signedness + - iio: trigger: Fix reference counting + - iio: trigger: stm32-timer: fix MODULE_ALIAS + - iio: stk3310: Don't return error code in interrupt handler + - iio: mma8452: Fix trigger reference couting + - iio: ltr501: Don't return error code in trigger handler + - iio: kxsd9: Don't return error code in trigger handler + - iio: itg3200: Call iio_trigger_notify_done() on error + - iio: dln2-adc: Fix lockdep complaint + - iio: dln2: Check return value of devm_iio_trigger_register() + - iio: at91-sama5d2: Fix incorrect sign extension + - iio: adc: stm32: fix a current leak by resetting pcsel before disabling vdda + - iio: adc: axp20x_adc: fix charging current reporting on AXP22x + - iio: ad7768-1: Call iio_trigger_notify_done() on error + - iio: accel: kxcjk-1013: Fix possible memory leak in probe and remove + - nvmem: eeprom: at25: fix FRAM byte_len + - bus: mhi: pci_generic: Fix device recovery failed issue + - bus: mhi: core: Add support for forced PM resume + - csky: fix typo of fpu config macro + - irqchip/aspeed-scu: Replace update_bits with write_bits. + - irqchip/armada-370-xp: Fix return value of armada_370_xp_msi_alloc() + - irqchip/armada-370-xp: Fix support for Multi-MSI interrupts + - aio: Fix incorrect usage of eventfd_signal_allowed() + - irqchip/irq-gic-v3-its.c: Force synchronisation when issuing INVALL + - irqchip: nvic: Fix offset for Interrupt Priority Offsets + - misc: fastrpc: fix improper packet size calculation + - clocksource/drivers/dw_apb_timer_of: Fix probe failure + - bpf: Add selftests to cover packet access corner cases + - Linux 5.15.8 + + * Can't read/write SD card after running CPU offline test in 5.11.0 and 5.13.0 + (LP: #1951784) // Jammy update: v5.15.8 upstream stable release + (LP: #1954931) + - misc: rtsx: Avoid mangling IRQ during runtime PM + + * Enable Landlock by default (LP: #1953192) + - [Config] Enable Landlock by default + + * Add s0i3 RTC wake up for AMD systems (LP: #1950013) + - platform/x86: amd-pmc: Export Idlemask values based on the APU + - platform/x86: amd-pmc: adjust arguments for `amd_pmc_send_cmd` + - platform/x86: amd-pmc: Add special handling for timer based S0i3 wakeup + + * Fix runtime power management on USB controller with XHCI_RESET_ON_RESUME + flag (LP: #1954369) + - SAUCE: xhci: Remove CONFIG_USB_DEFAULT_PERSIST to prevent xHCI from runtime + suspending + + * Fix System hangs on black screen when reboot (LP: #1949321) + - drm/i915/hdmi: convert intel_hdmi_to_dev to intel_hdmi_to_i915 + - drm/i915: Don't request GMBUS to generate irqs when called while irqs are + off + - drm/i915/hdmi: Turn DP++ TMDS output buffers back on in encoder->shutdown() + + * require CAP_NET_ADMIN to attach N_HCI ldisc (LP: #1949516) + - Bluetooth: hci_ldisc: require CAP_NET_ADMIN to attach N_HCI ldisc + + * mt7921e: Failed to start WM firmware (LP: #1954300) + - SAUCE: Bluetooth: btusb: Handle download_firmware failure cases + - SAUCE: Bluetooth: btusb: Return error code when getting patch status failed + + * Miscellaneous Ubuntu changes + - [Packaging] Add list of built-in modules to the ABI + - [Packaging] abi-check: Process modules.builtin + - SAUCE: allow to use __wake_up_pollfree() from GPL modules + - [Packaging] enforce xz compression for debs + - [Config] update config after v5.15.12 + - [Packaging] temporarily disable signed v4l2loopback + + -- Andrea Righi Tue, 04 Jan 2022 11:22:10 +0100 + +linux (5.15.0-14.14) jammy; urgency=medium + + * jammy/linux: 5.15.0-14.14 -proposed tracker (LP: #1954627) + + * Jammy update: v5.15.7 upstream stable release (LP: #1953731) + - ALSA: usb-audio: Restrict rates for the shared clocks + - ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback + - ALSA: usb-audio: Disable low-latency playback for free-wheel mode + - ALSA: usb-audio: Disable low-latency mode for implicit feedback sync + - ALSA: usb-audio: Check available frames for the next packet size + - ALSA: usb-audio: Add spinlock to stop_urbs() + - ALSA: usb-audio: Improved lowlatency playback support + - ALSA: usb-audio: Avoid killing in-flight URBs during draining + - ALSA: usb-audio: Fix packet size calculation regression + - ALSA: usb-audio: Less restriction for low-latency playback mode + - ALSA: usb-audio: Switch back to non-latency mode at a later point + - ALSA: usb-audio: Don't start stream for capture at prepare + - gfs2: release iopen glock early in evict + - gfs2: Fix length of holes reported at end-of-file + - powerpc/pseries/ddw: Revert "Extend upper limit for huge DMA window for + persistent memory" + - powerpc/pseries/ddw: Do not try direct mapping with persistent memory and + one window + - drm/sun4i: fix unmet dependency on RESET_CONTROLLER for PHY_SUN6I_MIPI_DPHY + - mac80211: do not access the IV when it was stripped + - mac80211: fix throughput LED trigger + - x86/hyperv: Move required MSRs check to initial platform probing + - net/smc: Transfer remaining wait queue entries during fallback + - atlantic: Fix OOB read and write in hw_atl_utils_fw_rpc_wait + - net: return correct error code + - pinctrl: qcom: fix unmet dependencies on GPIOLIB for GPIOLIB_IRQCHIP + - platform/x86: dell-wmi-descriptor: disable by default + - platform/x86: thinkpad_acpi: Add support for dual fan control + - platform/x86: thinkpad_acpi: Fix WWAN device disabled issue after S3 deep + - s390/setup: avoid using memblock_enforce_memory_limit + - btrfs: silence lockdep when reading chunk tree during mount + - btrfs: check-integrity: fix a warning on write caching disabled disk + - thermal: core: Reset previous low and high trip during thermal zone init + - scsi: iscsi: Unblock session then wake up error handler + - drm/amd/pm: Remove artificial freq level on Navi1x + - drm/amd/amdkfd: Fix kernel panic when reset failed and been triggered again + - drm/amd/amdgpu: fix potential memleak + - ata: ahci: Add Green Sardine vendor ID as board_ahci_mobile + - ata: libahci: Adjust behavior when StorageD3Enable _DSD is set + - ethernet: hisilicon: hns: hns_dsaf_misc: fix a possible array overflow in + hns_dsaf_ge_srst_by_port() + - ipv6: check return value of ipv6_skip_exthdr + - net: tulip: de4x5: fix the problem that the array 'lp->phy[8]' may be out of + bound + - net: ethernet: dec: tulip: de4x5: fix possible array overflows in + type3_infoblock() + - perf sort: Fix the 'weight' sort key behavior + - perf sort: Fix the 'ins_lat' sort key behavior + - perf sort: Fix the 'p_stage_cyc' sort key behavior + - perf inject: Fix ARM SPE handling + - perf hist: Fix memory leak of a perf_hpp_fmt + - perf report: Fix memory leaks around perf_tip() + - tracing: Don't use out-of-sync va_list in event printing + - net/smc: Avoid warning of possible recursive locking + - ACPI: Add stubs for wakeup handler functions + - net/tls: Fix authentication failure in CCM mode + - vrf: Reset IPCB/IP6CB when processing outbound pkts in vrf dev xmit + - kprobes: Limit max data_size of the kretprobe instances + - ALSA: hda/cs8409: Set PMSG_ON earlier inside cs8409 driver + - rt2x00: do not mark device gone on EPROTO errors during start + - ipmi: Move remove_work to dedicated workqueue + - cpufreq: Fix get_cpu_device() failure in add_cpu_dev_symlink() + - iwlwifi: mvm: retry init flow if failed + - dma-buf: system_heap: Use 'for_each_sgtable_sg' in pages free flow + - s390/pci: move pseudo-MMIO to prevent MIO overlap + - fget: check that the fd still exists after getting a ref to it + - sata_fsl: fix UAF in sata_fsl_port_stop when rmmod sata_fsl + - sata_fsl: fix warning in remove_proc_entry when rmmod sata_fsl + - scsi: lpfc: Fix non-recovery of remote ports following an unsolicited LOGO + - scsi: ufs: ufs-pci: Add support for Intel ADL + - ipv6: fix memory leak in fib6_rule_suppress + - drm/amd/display: Allow DSC on supported MST branch devices + - drm/i915/dp: Perform 30ms delay after source OUI write + - KVM: fix avic_set_running for preemptable kernels + - KVM: Disallow user memslot with size that exceeds "unsigned long" + - KVM: x86/mmu: Fix TLB flush range when handling disconnected pt + - KVM: Ensure local memslot copies operate on up-to-date arch-specific data + - KVM: x86: ignore APICv if LAPIC is not enabled + - KVM: nVMX: Emulate guest TLB flush on nested VM-Enter with new vpid12 + - KVM: nVMX: Flush current VPID (L1 vs. L2) for KVM_REQ_TLB_FLUSH_GUEST + - KVM: nVMX: Abide to KVM_REQ_TLB_FLUSH_GUEST request on nested vmentry/vmexit + - KVM: VMX: prepare sync_pir_to_irr for running with APICv disabled + - KVM: x86: Use a stable condition around all VT-d PI paths + - KVM: MMU: shadow nested paging does not have PKU + - KVM: arm64: Avoid setting the upper 32 bits of TCR_EL2 and CPTR_EL2 to 1 + - KVM: X86: Use vcpu->arch.walk_mmu for kvm_mmu_invlpg() + - KVM: x86: check PIR even for vCPUs with disabled APICv + - tracing/histograms: String compares should not care about signed values + - net: dsa: mv88e6xxx: Fix application of erratum 4.8 for 88E6393X + - net: dsa: mv88e6xxx: Drop unnecessary check in + mv88e6393x_serdes_erratum_4_6() + - net: dsa: mv88e6xxx: Save power by disabling SerDes trasmitter and receiver + - net: dsa: mv88e6xxx: Add fix for erratum 5.2 of 88E6393X family + - net: dsa: mv88e6xxx: Fix inband AN for 2500base-x on 88E6393X family + - net: dsa: mv88e6xxx: Link in pcs_get_state() if AN is bypassed + - wireguard: selftests: increase default dmesg log size + - wireguard: allowedips: add missing __rcu annotation to satisfy sparse + - wireguard: selftests: actually test for routing loops + - wireguard: selftests: rename DEBUG_PI_LIST to DEBUG_PLIST + - wireguard: device: reset peer src endpoint when netns exits + - wireguard: receive: use ring buffer for incoming handshakes + - wireguard: receive: drop handshakes if queue lock is contended + - wireguard: ratelimiter: use kvcalloc() instead of kvzalloc() + - i2c: stm32f7: flush TX FIFO upon transfer errors + - i2c: stm32f7: recover the bus on access timeout + - i2c: stm32f7: stop dma transfer in case of NACK + - i2c: cbus-gpio: set atomic transfer callback + - natsemi: xtensa: fix section mismatch warnings + - tcp: fix page frag corruption on page fault + - net: qlogic: qlcnic: Fix a NULL pointer dereference in + qlcnic_83xx_add_rings() + - net: mpls: Fix notifications when deleting a device + - siphash: use _unaligned version by default + - arm64: ftrace: add missing BTIs + - iwlwifi: fix warnings produced by kernel debug options + - net/mlx5e: IPsec: Fix Software parser inner l3 type setting in case of + encapsulation + - net/mlx4_en: Fix an use-after-free bug in mlx4_en_try_alloc_resources() + - selftests: net: Correct case name + - net: dsa: b53: Add SPI ID table + - mt76: mt7915: fix NULL pointer dereference in mt7915_get_phy_mode + - ASoC: tegra: Fix wrong value type in ADMAIF + - ASoC: tegra: Fix wrong value type in I2S + - ASoC: tegra: Fix wrong value type in DMIC + - ASoC: tegra: Fix wrong value type in DSPK + - ASoC: tegra: Fix kcontrol put callback in ADMAIF + - ASoC: tegra: Fix kcontrol put callback in I2S + - ASoC: tegra: Fix kcontrol put callback in DMIC + - ASoC: tegra: Fix kcontrol put callback in DSPK + - ASoC: tegra: Fix kcontrol put callback in AHUB + - rxrpc: Fix rxrpc_peer leak in rxrpc_look_up_bundle() + - rxrpc: Fix rxrpc_local leak in rxrpc_lookup_peer() + - ALSA: intel-dsp-config: add quirk for CML devices based on ES8336 codec + - net: stmmac: Avoid DMA_CHAN_CONTROL write if no Split Header support + - net: usb: lan78xx: lan78xx_phy_init(): use PHY_POLL instead of "0" if no IRQ + is available + - net: marvell: mvpp2: Fix the computation of shared CPUs + - dpaa2-eth: destroy workqueue at the end of remove function + - octeontx2-af: Fix a memleak bug in rvu_mbox_init() + - net: annotate data-races on txq->xmit_lock_owner + - ipv4: convert fib_num_tclassid_users to atomic_t + - net/smc: fix wrong list_del in smc_lgr_cleanup_early + - net/rds: correct socket tunable error in rds_tcp_tune() + - net/smc: Keep smc_close_final rc during active close + - drm/msm/a6xx: Allocate enough space for GMU registers + - drm/msm: Do hw_init() before capturing GPU state + - drm/vc4: kms: Wait for the commit before increasing our clock rate + - drm/vc4: kms: Fix return code check + - drm/vc4: kms: Add missing drm_crtc_commit_put + - drm/vc4: kms: Clear the HVS FIFO commit pointer once done + - drm/vc4: kms: Don't duplicate pending commit + - drm/vc4: kms: Fix previous HVS commit wait + - atlantic: Increase delay for fw transactions + - atlatnic: enable Nbase-t speeds with base-t + - atlantic: Fix to display FW bundle version instead of FW mac version. + - atlantic: Add missing DIDs and fix 115c. + - Remove Half duplex mode speed capabilities. + - atlantic: Fix statistics logic for production hardware + - atlantic: Remove warn trace message. + - KVM: x86/mmu: Skip tlb flush if it has been done in zap_gfn_range() + - KVM: x86/mmu: Pass parameter flush as false in + kvm_tdp_mmu_zap_collapsible_sptes() + - drm/msm/devfreq: Fix OPP refcnt leak + - drm/msm: Fix mmap to include VM_IO and VM_DONTDUMP + - drm/msm: Fix wait_fence submitqueue leak + - drm/msm: Restore error return on invalid fence + - ASoC: rk817: Add module alias for rk817-codec + - iwlwifi: Fix memory leaks in error handling path + - KVM: X86: Fix when shadow_root_level=5 && guest root_level<4 + - KVM: SEV: initialize regions_list of a mirror VM + - net/mlx5e: Fix missing IPsec statistics on uplink representor + - net/mlx5: Move MODIFY_RQT command to ignore list in internal error state + - net/mlx5: E-switch, Respect BW share of the new group + - net/mlx5: E-Switch, fix single FDB creation on BlueField + - net/mlx5: E-Switch, Check group pointer before reading bw_share value + - KVM: x86/pmu: Fix reserved bits for AMD PerfEvtSeln register + - KVM: VMX: Set failure code in prepare_vmcs02() + - mctp: Don't let RTM_DELROUTE delete local routes + - Revert "drm/i915: Implement Wa_1508744258" + - io-wq: don't retry task_work creation failure on fatal conditions + - x86/sev: Fix SEV-ES INS/OUTS instructions for word, dword, and qword + - x86/entry: Add a fence for kernel entry SWAPGS in paranoid_entry() + - x86/entry: Use the correct fence macro after swapgs in kernel CR3 + - x86/xen: Add xenpv_restore_regs_and_return_to_usermode() + - preempt/dynamic: Fix setup_preempt_mode() return value + - sched/uclamp: Fix rq->uclamp_max not set on first enqueue + - KVM: SEV: Return appropriate error codes if SEV-ES scratch setup fails + - KVM: x86/mmu: Rename slot_handle_leaf to slot_handle_level_4k + - KVM: x86/mmu: Remove spurious TLB flushes in TDP MMU zap collapsible path + - net/mlx5e: Rename lro_timeout to packet_merge_timeout + - net/mlx5e: Rename TIR lro functions to TIR packet merge functions + - net/mlx5e: Sync TIR params updates against concurrent create/modify + - serial: 8250_bcm7271: UART errors after resuming from S2 + - parisc: Fix KBUILD_IMAGE for self-extracting kernel + - parisc: Fix "make install" on newer debian releases + - parisc: Mark cr16 CPU clocksource unstable on all SMP machines + - vgacon: Propagate console boot parameters before calling `vc_resize' + - xhci: Fix commad ring abort, write all 64 bits to CRCR register. + - USB: NO_LPM quirk Lenovo Powered USB-C Travel Hub + - usb: typec: tcpm: Wait in SNK_DEBOUNCED until disconnect + - usb: cdns3: gadget: fix new urb never complete if ep cancel previous + requests + - usb: cdnsp: Fix a NULL pointer dereference in cdnsp_endpoint_init() + - x86/tsc: Add a timer to make sure TSC_adjust is always checked + - x86/tsc: Disable clocksource watchdog for TSC on qualified platorms + - x86/64/mm: Map all kernel memory into trampoline_pgd + - tty: serial: msm_serial: Deactivate RX DMA for polling support + - serial: pl011: Add ACPI SBSA UART match id + - serial: tegra: Change lower tolerance baud rate limit for tegra20 and + tegra30 + - serial: core: fix transmit-buffer reset and memleak + - serial: 8250_pci: Fix ACCES entries in pci_serial_quirks array + - serial: 8250_pci: rewrite pericom_do_set_divisor() + - serial: 8250: Fix RTS modem control while in rs485 mode + - serial: liteuart: Fix NULL pointer dereference in ->remove() + - serial: liteuart: fix use-after-free and memleak on unbind + - serial: liteuart: fix minor-number leak on probe errors + - ipmi: msghandler: Make symbol 'remove_work_wq' static + - Linux 5.15.7 + + * Updates to ib_peer_memory requested by Nvidia (LP: #1947206) + - SAUCE: RDMA/core: Updated ib_peer_memory + - SAUCE: RDMA/core: ib_peer_memory fix build errors + + * Jammy update: v5.15.6 upstream stable release (LP: #1953370) + - scsi: sd: Fix sd_do_mode_sense() buffer length handling + - ACPI: Get acpi_device's parent from the parent field + - ACPI: CPPC: Add NULL pointer check to cppc_get_perf() + - USB: serial: pl2303: fix GC type detection + - USB: serial: option: add Telit LE910S1 0x9200 composition + - USB: serial: option: add Fibocom FM101-GL variants + - usb: dwc2: gadget: Fix ISOC flow for elapsed frames + - usb: dwc2: hcd_queue: Fix use of floating point literal + - usb: dwc3: leave default DMA for PCI devices + - usb: dwc3: core: Revise GHWPARAMS9 offset + - usb: dwc3: gadget: Ignore NoStream after End Transfer + - usb: dwc3: gadget: Check for L1/L2/U3 for Start Transfer + - usb: dwc3: gadget: Fix null pointer exception + - net: usb: Correct PHY handling of smsc95xx + - net: nexthop: fix null pointer dereference when IPv6 is not enabled + - usb: chipidea: ci_hdrc_imx: fix potential error pointer dereference in probe + - usb: typec: fusb302: Fix masking of comparator and bc_lvl interrupts + - usb: xhci: tegra: Check padctrl interrupt presence in device tree + - usb: hub: Fix usb enumeration issue due to address0 race + - usb: hub: Fix locking issues with address0_mutex + - binder: fix test regression due to sender_euid change + - ALSA: ctxfi: Fix out-of-range access + - ALSA: hda/realtek: Add quirk for ASRock NUC Box 1100 + - ALSA: hda/realtek: Fix LED on HP ProBook 435 G7 + - media: cec: copy sequence field for the reply + - Revert "parisc: Fix backtrace to always include init funtion names" + - HID: wacom: Use "Confidence" flag to prevent reporting invalid contacts + - staging/fbtft: Fix backlight + - staging: greybus: Add missing rwsem around snd_ctl_remove() calls + - staging: rtl8192e: Fix use after free in _rtl92e_pci_disconnect() + - staging: r8188eu: Use kzalloc() with GFP_ATOMIC in atomic context + - staging: r8188eu: Fix breakage introduced when 5G code was removed + - staging: r8188eu: use GFP_ATOMIC under spinlock + - staging: r8188eu: fix a memory leak in rtw_wx_read32() + - fuse: release pipe buf after last use + - xen: don't continue xenstore initialization in case of errors + - xen: detect uninitialized xenbus in xenbus_init + - io_uring: correct link-list traversal locking + - io_uring: fail cancellation for EXITING tasks + - io_uring: fix link traversal locking + - drm/amdgpu: IH process reset count when restart + - drm/amdgpu/pm: fix powerplay OD interface + - drm/nouveau: recognise GA106 + - ksmbd: downgrade addition info error msg to debug in smb2_get_info_sec() + - ksmbd: contain default data stream even if xattr is empty + - ksmbd: fix memleak in get_file_stream_info() + - KVM: PPC: Book3S HV: Prevent POWER7/8 TLB flush flushing SLB + - tracing/uprobe: Fix uprobe_perf_open probes iteration + - tracing: Fix pid filtering when triggers are attached + - mmc: sdhci-esdhc-imx: disable CMDQ support + - mmc: sdhci: Fix ADMA for PAGE_SIZE >= 64KiB + - mdio: aspeed: Fix "Link is Down" issue + - arm64: mm: Fix VM_BUG_ON(mm != &init_mm) for trans_pgd + - cpufreq: intel_pstate: Fix active mode offline/online EPP handling + - powerpc/32: Fix hardlockup on vmap stack overflow + - iomap: Fix inline extent handling in iomap_readpage + - NFSv42: Fix pagecache invalidation after COPY/CLONE + - PCI: aardvark: Deduplicate code in advk_pcie_rd_conf() + - PCI: aardvark: Implement re-issuing config requests on CRS response + - PCI: aardvark: Simplify initialization of rootcap on virtual bridge + - PCI: aardvark: Fix link training + - drm/amd/display: Fix OLED brightness control on eDP + - proc/vmcore: fix clearing user buffer by properly using clear_user() + - ASoC: SOF: Intel: hda: fix hotplug when only codec is suspended + - netfilter: ctnetlink: fix filtering with CTA_TUPLE_REPLY + - netfilter: ctnetlink: do not erase error code with EINVAL + - netfilter: ipvs: Fix reuse connection if RS weight is 0 + - netfilter: flowtable: fix IPv6 tunnel addr match + - media: v4l2-core: fix VIDIOC_DQEVENT handling on non-x86 + - firmware: arm_scmi: Fix null de-reference on error path + - ARM: dts: BCM5301X: Fix I2C controller interrupt + - ARM: dts: BCM5301X: Add interrupt properties to GPIO node + - ARM: dts: bcm2711: Fix PCIe interrupts + - ASoC: qdsp6: q6routing: Conditionally reset FrontEnd Mixer + - ASoC: qdsp6: q6asm: fix q6asm_dai_prepare error handling + - ASoC: topology: Add missing rwsem around snd_ctl_remove() calls + - ASoC: codecs: wcd938x: fix volatile register range + - ASoC: codecs: wcd934x: return error code correctly from hw_params + - ASoC: codecs: lpass-rx-macro: fix HPHR setting CLSH mask + - net: ieee802154: handle iftypes as u32 + - firmware: arm_scmi: Fix base agent discover response + - firmware: arm_scmi: pm: Propagate return value to caller + - ASoC: stm32: i2s: fix 32 bits channel length without mclk + - NFSv42: Don't fail clone() unless the OP_CLONE operation failed + - ARM: socfpga: Fix crash with CONFIG_FORTIRY_SOURCE + - drm/nouveau/acr: fix a couple NULL vs IS_ERR() checks + - scsi: qla2xxx: edif: Fix off by one bug in qla_edif_app_getfcinfo() + - scsi: mpt3sas: Fix kernel panic during drive powercycle test + - scsi: mpt3sas: Fix system going into read-only mode + - scsi: mpt3sas: Fix incorrect system timestamp + - drm/vc4: fix error code in vc4_create_object() + - drm/aspeed: Fix vga_pw sysfs output + - net: marvell: prestera: fix brige port operation + - net: marvell: prestera: fix double free issue on err path + - HID: input: Fix parsing of HID_CP_CONSUMER_CONTROL fields + - HID: input: set usage type to key on keycode remap + - HID: magicmouse: prevent division by 0 on scroll + - iavf: Prevent changing static ITR values if adaptive moderation is on + - iavf: Fix refreshing iavf adapter stats on ethtool request + - iavf: Fix VLAN feature flags after VFR + - x86/pvh: add prototype for xen_pvh_init() + - xen/pvh: add missing prototype to header + - ALSA: intel-dsp-config: add quirk for JSL devices based on ES8336 codec + - mptcp: fix delack timer + - mptcp: use delegate action to schedule 3rd ack retrans + - af_unix: fix regression in read after shutdown + - firmware: smccc: Fix check for ARCH_SOC_ID not implemented + - ipv6: fix typos in __ip6_finish_output() + - nfp: checking parameter process for rx-usecs/tx-usecs is invalid + - net: stmmac: retain PTP clock time during SIOCSHWTSTAMP ioctls + - net: ipv6: add fib6_nh_release_dsts stub + - net: nexthop: release IPv6 per-cpu dsts when replacing a nexthop group + - ice: fix vsi->txq_map sizing + - ice: avoid bpf_prog refcount underflow + - scsi: core: sysfs: Fix setting device state to SDEV_RUNNING + - scsi: scsi_debug: Zero clear zones at reset write pointer + - erofs: fix deadlock when shrink erofs slab + - i2c: virtio: disable timeout handling + - net/smc: Ensure the active closing peer first closes clcsock + - mlxsw: spectrum: Protect driver from buggy firmware + - net: ipa: directly disable ipa-setup-ready interrupt + - net: ipa: separate disabling setup from modem stop + - net: ipa: kill ipa_cmd_pipeline_clear() + - net: marvell: mvpp2: increase MTU limit when XDP enabled + - cpufreq: intel_pstate: Add Ice Lake server to out-of-band IDs + - nvmet-tcp: fix incomplete data digest send + - drm/hyperv: Fix device removal on Gen1 VMs + - arm64: uaccess: avoid blocking within critical sections + - net/ncsi : Add payload to be 32-bit aligned to fix dropped packets + - PM: hibernate: use correct mode for swsusp_close() + - drm/amd/display: Fix DPIA outbox timeout after GPU reset + - drm/amd/display: Set plane update flags for all planes in reset + - tcp_cubic: fix spurious Hystart ACK train detections for not-cwnd-limited + flows + - lan743x: fix deadlock in lan743x_phy_link_status_change() + - net: phylink: Force link down and retrigger resolve on interface change + - net: phylink: Force retrigger in case of latched link-fail indicator + - net/smc: Fix NULL pointer dereferencing in smc_vlan_by_tcpsk() + - net/smc: Fix loop in smc_listen + - nvmet: use IOCB_NOWAIT only if the filesystem supports it + - igb: fix netpoll exit with traffic + - MIPS: loongson64: fix FTLB configuration + - MIPS: use 3-level pgtable for 64KB page size on MIPS_VA_BITS_48 + - tls: splice_read: fix record type check + - tls: splice_read: fix accessing pre-processed records + - tls: fix replacing proto_ops + - net: stmmac: Disable Tx queues when reconfiguring the interface + - net/sched: sch_ets: don't peek at classes beyond 'nbands' + - ethtool: ioctl: fix potential NULL deref in ethtool_set_coalesce() + - net: vlan: fix underflow for the real_dev refcnt + - net/smc: Don't call clcsock shutdown twice when smc shutdown + - net: hns3: fix VF RSS failed problem after PF enable multi-TCs + - net: hns3: fix incorrect components info of ethtool --reset command + - net: mscc: ocelot: don't downgrade timestamping RX filters in SIOCSHWTSTAMP + - net: mscc: ocelot: correctly report the timestamping RX filters in ethtool + - locking/rwsem: Make handoff bit handling more consistent + - perf: Ignore sigtrap for tracepoints destined for other tasks + - sched/scs: Reset task stack state in bringup_cpu() + - iommu/rockchip: Fix PAGE_DESC_HI_MASKs for RK3568 + - iommu/vt-d: Fix unmap_pages support + - f2fs: quota: fix potential deadlock + - f2fs: set SBI_NEED_FSCK flag when inconsistent node block found + - riscv: dts: microchip: fix board compatible + - riscv: dts: microchip: drop duplicated MMC/SDHC node + - cifs: nosharesock should not share socket with future sessions + - ceph: properly handle statfs on multifs setups + - iommu/amd: Clarify AMD IOMMUv2 initialization messages + - vdpa_sim: avoid putting an uninitialized iova_domain + - vhost/vsock: fix incorrect used length reported to the guest + - ksmbd: Fix an error handling path in 'smb2_sess_setup()' + - tracing: Check pid filtering when creating events + - cifs: nosharesock should be set on new server + - io_uring: fix soft lockup when call __io_remove_buffers + - firmware: arm_scmi: Fix type error assignment in voltage protocol + - firmware: arm_scmi: Fix type error in sensor protocol + - docs: accounting: update delay-accounting.rst reference + - blk-mq: cancel blk-mq dispatch work in both blk_cleanup_queue and + disk_release() + - block: avoid to quiesce queue in elevator_init_mq + - drm/amdgpu/gfx10: add wraparound gpu counter check for APUs as well + - drm/amdgpu/gfx9: switch to golden tsc registers for renoir+ + - Linux 5.15.6 + + * Fix bogus HDMI audio interface (LP: #1953208) + - ALSA: hda/hdmi: Consider ELD is invalid when no SAD is present + + * Miscellaneous Ubuntu changes + - [Config] re-enabled UBSAN without TRAP + - SAUCE: ipv6: fix NULL pointer dereference in ip6_output() + - SAUCE: RDMA/core: Introduce peer memory interface + - [Config] toolchain version update + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] Temporarily disable signing for ppc64el and s390x" + - Revert "UBUNTU: SAUCE: vt -- maintain bootloader screen mode and content + until vt switch" + + -- Paolo Pisati Mon, 13 Dec 2021 12:13:17 +0100 + +linux (5.15.0-13.13) jammy; urgency=medium + + * jammy/linux: 5.15.0-13.13 -proposed tracker (LP: #1952583) + + * Packaging resync (LP: #1786013) + - [Packaging] resync update-dkms-versions helper + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Jammy update: v5.15.5 upstream stable release (LP: #1952579) + - arm64: zynqmp: Do not duplicate flash partition label property + - arm64: zynqmp: Fix serial compatible string + - clk: sunxi-ng: Unregister clocks/resets when unbinding + - ARM: dts: sunxi: Fix OPPs node name + - arm64: dts: allwinner: h5: Fix GPU thermal zone node name + - arm64: dts: allwinner: a100: Fix thermal zone node name + - staging: wfx: ensure IRQ is ready before enabling it + - ARM: dts: BCM5301X: Fix nodes names + - ARM: dts: BCM5301X: Fix MDIO mux binding + - ARM: dts: NSP: Fix mpcore, mmc node names + - arm64: dts: broadcom: bcm4908: Move reboot syscon out of bus + - scsi: pm80xx: Fix memory leak during rmmod + - scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq() + - ASoC: mediatek: mt8195: Add missing of_node_put() + - arm64: dts: rockchip: Disable CDN DP on Pinebook Pro + - arm64: dts: hisilicon: fix arm,sp805 compatible string + - RDMA/bnxt_re: Check if the vlan is valid before reporting + - bus: ti-sysc: Add quirk handling for reinit on context lost + - bus: ti-sysc: Use context lost quirk for otg + - usb: musb: tusb6010: check return value after calling + platform_get_resource() + - usb: typec: tipd: Remove WARN_ON in tps6598x_block_read + - ARM: dts: ux500: Skomer regulator fixes + - staging: rtl8723bs: remove possible deadlock when disconnect (v2) + - staging: rtl8723bs: remove a second possible deadlock + - staging: rtl8723bs: remove a third possible deadlock + - ARM: BCM53016: Specify switch ports for Meraki MR32 + - arm64: dts: qcom: msm8998: Fix CPU/L2 idle state latency and residency + - arm64: dts: qcom: ipq6018: Fix qcom,controlled-remotely property + - arm64: dts: qcom: ipq8074: Fix qcom,controlled-remotely property + - arm64: dts: qcom: sdm845: Fix qcom,controlled-remotely property + - arm64: dts: freescale: fix arm,sp805 compatible string + - arm64: dts: ls1012a: Add serial alias for ls1012a-rdb + - RDMA/rxe: Separate HW and SW l/rkeys + - ASoC: SOF: Intel: hda-dai: fix potential locking issue + - scsi: core: Fix scsi_mode_sense() buffer length handling + - ALSA: usb-audio: disable implicit feedback sync for Behringer UFX1204 and + UFX1604 + - clk: imx: imx6ul: Move csi_sel mux to correct base register + - ASoC: es8316: Use IRQF_NO_AUTOEN when requesting the IRQ + - ASoC: rt5651: Use IRQF_NO_AUTOEN when requesting the IRQ + - ASoC: nau8824: Add DMI quirk mechanism for active-high jack-detect + - scsi: advansys: Fix kernel pointer leak + - scsi: smartpqi: Add controller handshake during kdump + - arm64: dts: imx8mm-kontron: Fix reset delays for ethernet PHY + - ALSA: intel-dsp-config: add quirk for APL/GLK/TGL devices based on ES8336 + codec + - ASoC: Intel: soc-acpi: add missing quirk for TGL SDCA single amp + - ASoC: Intel: sof_sdw: add missing quirk for Dell SKU 0A45 + - firmware_loader: fix pre-allocated buf built-in firmware use + - HID: multitouch: disable sticky fingers for UPERFECT Y + - ALSA: usb-audio: Add support for the Pioneer DJM 750MK2 Mixer/Soundcard + - ARM: dts: omap: fix gpmc,mux-add-data type + - usb: host: ohci-tmio: check return value after calling + platform_get_resource() + - ASoC: rt5682: fix a little pop while playback + - ARM: dts: ls1021a: move thermal-zones node out of soc/ + - ARM: dts: ls1021a-tsn: use generic "jedec,spi-nor" compatible for flash + - ALSA: ISA: not for M68K + - iommu/vt-d: Do not falsely log intel_iommu is unsupported kernel option + - tty: tty_buffer: Fix the softlockup issue in flush_to_ldisc + - MIPS: sni: Fix the build + - scsi: scsi_debug: Fix out-of-bound read in resp_readcap16() + - scsi: scsi_debug: Fix out-of-bound read in resp_report_tgtpgs() + - scsi: target: Fix ordered tag handling + - scsi: target: Fix alua_tg_pt_gps_count tracking + - iio: imu: st_lsm6dsx: Avoid potential array overflow in st_lsm6dsx_set_odr() + - RDMA/core: Use kvzalloc when allocating the struct ib_port + - scsi: lpfc: Fix use-after-free in lpfc_unreg_rpi() routine + - scsi: lpfc: Fix link down processing to address NULL pointer dereference + - scsi: lpfc: Allow fabric node recovery if recovery is in progress before + devloss + - memory: tegra20-emc: Add runtime dependency on devfreq governor module + - powerpc/5200: dts: fix memory node unit name + - ARM: dts: qcom: fix memory and mdio nodes naming for RB3011 + - arm64: dts: qcom: Fix node name of rpm-msg-ram device nodes + - ALSA: gus: fix null pointer dereference on pointer block + - ALSA: usb-audio: fix null pointer dereference on pointer cs_desc + - clk: at91: sama7g5: remove prescaler part of master clock + - iommu/dart: Initialize DART_STREAMS_ENABLE + - powerpc/dcr: Use cmplwi instead of 3-argument cmpli + - powerpc/8xx: Fix Oops with STRICT_KERNEL_RWX without DEBUG_RODATA_TEST + - sh: check return code of request_irq + - maple: fix wrong return value of maple_bus_init(). + - f2fs: fix up f2fs_lookup tracepoints + - f2fs: fix to use WHINT_MODE + - f2fs: fix wrong condition to trigger background checkpoint correctly + - sh: fix kconfig unmet dependency warning for FRAME_POINTER + - sh: math-emu: drop unused functions + - sh: define __BIG_ENDIAN for math-emu + - f2fs: compress: disallow disabling compress on non-empty compressed file + - f2fs: fix incorrect return value in f2fs_sanity_check_ckpt() + - clk: ingenic: Fix bugs with divided dividers + - clk/ast2600: Fix soc revision for AHB + - clk: qcom: gcc-msm8996: Drop (again) gcc_aggre1_pnoc_ahb_clk + - KVM: arm64: Fix host stage-2 finalization + - mips: BCM63XX: ensure that CPU_SUPPORTS_32BIT_KERNEL is set + - MIPS: boot/compressed/: add __bswapdi2() to target for ZSTD decompression + - sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain() + - sched/fair: Prevent dead task groups from regaining cfs_rq's + - perf/x86/vlbr: Add c->flags to vlbr event constraints + - blkcg: Remove extra blkcg_bio_issue_init + - tracing/histogram: Do not copy the fixed-size char array field over the + field size + - perf bpf: Avoid memory leak from perf_env__insert_btf() + - perf bench futex: Fix memory leak of perf_cpu_map__new() + - perf tests: Remove bash construct from record+zstd_comp_decomp.sh + - drm/nouveau: hdmigv100.c: fix corrupted HDMI Vendor InfoFrame + - bpf: Fix inner map state pruning regression. + - samples/bpf: Fix summary per-sec stats in xdp_sample_user + - samples/bpf: Fix incorrect use of strlen in xdp_redirect_cpu + - selftests: net: switch to socat in the GSO GRE test + - net/ipa: ipa_resource: Fix wrong for loop range + - tcp: Fix uninitialized access in skb frags array for Rx 0cp. + - tracing: Add length protection to histogram string copies + - nl80211: fix radio statistics in survey dump + - mac80211: fix monitor_sdata RCU/locking assertions + - net: ipa: HOLB register sometimes must be written twice + - net: ipa: disable HOLB drop when updating timer + - selftests: gpio: fix gpio compiling error + - net: bnx2x: fix variable dereferenced before check + - bnxt_en: reject indirect blk offload when hw-tc-offload is off + - tipc: only accept encrypted MSG_CRYPTO msgs + - sock: fix /proc/net/sockstat underflow in sk_clone_lock() + - net/smc: Make sure the link_id is unique + - NFSD: Fix exposure in nfsd4_decode_bitmap() + - iavf: Fix return of set the new channel count + - iavf: check for null in iavf_fix_features + - iavf: free q_vectors before queues in iavf_disable_vf + - iavf: don't clear a lock we don't hold + - iavf: Fix failure to exit out from last all-multicast mode + - iavf: prevent accidental free of filter structure + - iavf: validate pointers + - iavf: Fix for the false positive ASQ/ARQ errors while issuing VF reset + - iavf: Fix for setting queues to 0 + - iavf: Restore VLAN filters after link down + - bpf: Fix toctou on read-only map's constant scalar tracking + - MIPS: generic/yamon-dt: fix uninitialized variable error + - mips: bcm63xx: add support for clk_get_parent() + - mips: lantiq: add support for clk_get_parent() + - gpio: rockchip: needs GENERIC_IRQ_CHIP to fix build errors + - platform/x86: hp_accel: Fix an error handling path in 'lis3lv02d_probe()' + - platform/x86: think-lmi: Abort probe on analyze failure + - udp: Validate checksum in udp_read_sock() + - btrfs: make 1-bit bit-fields of scrub_page unsigned int + - RDMA/core: Set send and receive CQ before forwarding to the driver + - net/mlx5e: kTLS, Fix crash in RX resync flow + - net/mlx5e: Wait for concurrent flow deletion during neigh/fib events + - net/mlx5: E-Switch, Fix resetting of encap mode when entering switchdev + - net/mlx5e: nullify cq->dbg pointer in mlx5_debug_cq_remove() + - net/mlx5: Update error handler for UCTX and UMEM + - net/mlx5: E-Switch, rebuild lag only when needed + - net/mlx5e: CT, Fix multiple allocations and memleak of mod acts + - net/mlx5: Lag, update tracker when state change event received + - net/mlx5: E-Switch, return error if encap isn't supported + - scsi: ufs: core: Improve SCSI abort handling + - scsi: core: sysfs: Fix hang when device state is set via sysfs + - scsi: ufs: core: Fix task management completion timeout race + - scsi: ufs: core: Fix another task management completion race + - net: mvmdio: fix compilation warning + - net: sched: act_mirred: drop dst for the direction from egress to ingress + - net: dpaa2-eth: fix use-after-free in dpaa2_eth_remove + - net: virtio_net_hdr_to_skb: count transport header in UFO + - i40e: Fix correct max_pkt_size on VF RX queue + - i40e: Fix NULL ptr dereference on VSI filter sync + - i40e: Fix changing previously set num_queue_pairs for PFs + - i40e: Fix ping is lost after configuring ADq on VF + - RDMA/mlx4: Do not fail the registration on port stats + - i40e: Fix warning message and call stack during rmmod i40e driver + - i40e: Fix creation of first queue by omitting it if is not power of two + - i40e: Fix display error code in dmesg + - NFC: reorganize the functions in nci_request + - NFC: reorder the logic in nfc_{un,}register_device + - NFC: add NCI_UNREG flag to eliminate the race + - e100: fix device suspend/resume + - ptp: ocp: Fix a couple NULL vs IS_ERR() checks + - tools build: Fix removal of feature-sync-compare-and-swap feature detection + - riscv: fix building external modules + - KVM: PPC: Book3S HV: Use GLOBAL_TOC for kvmppc_h_set_dabr/xdabr() + - powerpc: clean vdso32 and vdso64 directories + - powerpc/pseries: rename numa_dist_table to form2_distances + - powerpc/pseries: Fix numa FORM2 parsing fallback code + - pinctrl: qcom: sdm845: Enable dual edge errata + - pinctrl: qcom: sm8350: Correct UFS and SDC offsets + - perf/x86/intel/uncore: Fix filter_tid mask for CHA events on Skylake Server + - perf/x86/intel/uncore: Fix IIO event constraints for Skylake Server + - perf/x86/intel/uncore: Fix IIO event constraints for Snowridge + - s390/kexec: fix return code handling + - blk-cgroup: fix missing put device in error path from blkg_conf_pref() + - dmaengine: remove debugfs #ifdef + - tun: fix bonding active backup with arp monitoring + - Revert "mark pstore-blk as broken" + - pstore/blk: Use "%lu" to format unsigned long + - hexagon: export raw I/O routines for modules + - hexagon: clean up timer-regs.h + - tipc: check for null after calling kmemdup + - ipc: WARN if trying to remove ipc object which is absent + - shm: extend forced shm destroy to support objects from several IPC nses + - mm: kmemleak: slob: respect SLAB_NOLEAKTRACE flag + - hugetlb, userfaultfd: fix reservation restore on userfaultfd error + - kmap_local: don't assume kmap PTEs are linear arrays in memory + - mm/damon/dbgfs: use '__GFP_NOWARN' for user-specified size buffer allocation + - mm/damon/dbgfs: fix missed use of damon_dbgfs_lock + - x86/boot: Pull up cmdline preparation and early param parsing + - x86/sgx: Fix free page accounting + - x86/hyperv: Fix NULL deref in set_hv_tscchange_cb() if Hyper-V setup fails + - KVM: x86: Assume a 64-bit hypercall for guests with protected state + - KVM: x86: Fix uninitialized eoi_exit_bitmap usage in vcpu_load_eoi_exitmap() + - KVM: x86/mmu: include EFER.LMA in extended mmu role + - KVM: x86/xen: Fix get_attr of KVM_XEN_ATTR_TYPE_SHARED_INFO + - powerpc/signal32: Fix sigset_t copy + - powerpc/xive: Change IRQ domain to a tree domain + - powerpc/8xx: Fix pinned TLBs with CONFIG_STRICT_KERNEL_RWX + - Revert "drm/i915/tgl/dsi: Gate the ddi clocks after pll mapping" + - Revert "parisc: Reduce sigreturn trampoline to 3 instructions" + - ata: libata: improve ata_read_log_page() error message + - ata: libata: add missing ata_identify_page_supported() calls + - scsi: qla2xxx: Fix mailbox direction flags in qla2xxx_get_adapter_id() + - pinctrl: ralink: include 'ralink_regs.h' in 'pinctrl-mt7620.c' + - s390/setup: avoid reserving memory above identity mapping + - s390/boot: simplify and fix kernel memory layout setup + - s390/vdso: filter out -mstack-guard and -mstack-size + - s390/kexec: fix memory leak of ipl report buffer + - s390/dump: fix copying to user-space of swapped kdump oldmem + - block: Check ADMIN before NICE for IOPRIO_CLASS_RT + - fbdev: Prevent probing generic drivers if a FB is already registered + - KVM: SEV: Disallow COPY_ENC_CONTEXT_FROM if target has created vCPUs + - KVM: nVMX: don't use vcpu->arch.efer when checking host state on nested + state load + - drm/cma-helper: Release non-coherent memory with dma_free_noncoherent() + - printk: restore flushing of NMI buffers on remote CPUs after NMI backtraces + - udf: Fix crash after seekdir + - spi: fix use-after-free of the add_lock mutex + - net: stmmac: socfpga: add runtime suspend/resume callback for stratix10 + platform + - Drivers: hv: balloon: Use VMBUS_RING_SIZE() wrapper for dm_ring_size + - btrfs: fix memory ordering between normal and ordered work functions + - fs: handle circular mappings correctly + - net: stmmac: Fix signed/unsigned wreckage + - parisc/sticon: fix reverse colors + - cfg80211: call cfg80211_stop_ap when switch from P2P_GO type + - mac80211: fix radiotap header generation + - mac80211: drop check for DONT_REORDER in __ieee80211_select_queue + - drm/amd/display: Update swizzle mode enums + - drm/amd/display: Limit max DSC target bpp for specific monitors + - drm/i915/guc: Fix outstanding G2H accounting + - drm/i915/guc: Don't enable scheduling on a banned context, guc_id invalid, + not registered + - drm/i915/guc: Workaround reset G2H is received after schedule done G2H + - drm/i915/guc: Don't drop ce->guc_active.lock when unwinding context + - drm/i915/guc: Unwind context requests in reverse order + - drm/udl: fix control-message timeout + - drm/prime: Fix use after free in mmap with drm_gem_ttm_mmap + - drm/nouveau: Add a dedicated mutex for the clients list + - drm/nouveau: use drm_dev_unplug() during device removal + - drm/nouveau: clean up all clients on device removal + - drm/i915/dp: Ensure sink rate values are always valid + - drm/i915/dp: Ensure max link params are always valid + - drm/i915: Fix type1 DVI DP dual mode adapter heuristic for modern platforms + - drm/amdgpu: fix set scaling mode Full/Full aspect/Center not works on vga + and dvi connectors + - drm/amd/pm: avoid duplicate powergate/ungate setting + - signal: Implement force_fatal_sig + - exit/syscall_user_dispatch: Send ordinary signals on failure + - signal/powerpc: On swapcontext failure force SIGSEGV + - signal/s390: Use force_sigsegv in default_trap_handler + - signal/sparc32: Exit with a fatal signal when try_to_clear_window_buffer + fails + - signal/sparc32: In setup_rt_frame and setup_fram use force_fatal_sig + - signal/vm86_32: Properly send SIGSEGV when the vm86 state cannot be saved. + - signal/x86: In emulate_vsyscall force a signal instead of calling do_exit + - signal: Replace force_sigsegv(SIGSEGV) with force_fatal_sig(SIGSEGV) + - signal: Don't always set SA_IMMUTABLE for forced signals + - signal: Replace force_fatal_sig with force_exit_sig when in doubt + - hugetlbfs: flush TLBs correctly after huge_pmd_unshare + - RDMA/netlink: Add __maybe_unused to static inline in C file + - bpf: Forbid bpf_ktime_get_coarse_ns and bpf_timer_* in tracing progs + - selinux: fix NULL-pointer dereference when hashtab allocation fails + - ASoC: DAPM: Cover regression by kctl change notification fix + - ASoC: rsnd: fixup DMAEngine API + - usb: max-3421: Use driver data instead of maintaining a list of bound + devices + - ice: Fix VF true promiscuous mode + - ice: Delete always true check of PF pointer + - fs: export an inode_update_time helper + - btrfs: update device path inode time instead of bd_inode + - net: add and use skb_unclone_keeptruesize() helper + - x86/Kconfig: Fix an unused variable error in dell-smm-hwmon + - ALSA: hda: hdac_ext_stream: fix potential locking issues + - ALSA: hda: hdac_stream: fix potential locking issue in + snd_hdac_stream_assign() + - Linux 5.15.5 + + * Fix non-working e1000e device after resume (LP: #1951861) + - SAUCE: Revert "e1000e: Additional PHY power saving in S0ix" + - SAUCE: Revert "e1000e: Add polling mechanism to indicate CSME DPG exit" + - SAUCE: Revert "e1000e: Add handshake with the CSME to support S0ix" + + * [SRU][I/OEM-5.13/OEM-5.14] Add MAC passthrough support for more Lenovo docks + (LP: #1951767) + - net: usb: r8152: Add MAC passthrough support for more Lenovo Docks + + * [amdgpu] USB4 support for DP tunneling (LP: #1951868) + - drm/amd/display: Support for DMUB HPD interrupt handling + - drm/amd/display: Update link encoder object creation. + - drm/amd/display: USB4 DPIA enumeration and AUX Tunneling + - drm/amd/display: Support for DMUB HPD and HPD RX interrupt handling + - drm/amd/display: Set DPIA link endpoint type + - drm/amd/display: Stub out DPIA link training call + - drm/amd/display: Add stub to get DPIA tunneling device data + - drm/amd/display: Skip DPCD read for DPTX-to-DPIA hop + - drm/amd/display: Train DPIA links with fallback + - drm/amd/display: Implement DPIA training loop + - drm/amd/display: Implement DPIA link configuration + - drm/amd/display: Implement DPIA clock recovery phase + - drm/amd/display: Implement DPIA equalisation phase + - drm/amd/display: Implement end of training for hop in DPIA display path + - drm/amd/display: Support for SET_CONFIG processing with DMUB + - drm/amd/display: isolate link training setting override to its own function + - drm/amd/display: Read USB4 DP tunneling data from DPCD. + - drm/amd/display: Add dpia debug options + - drm/amd/display: Support for SET_CONFIG processing with DMUB + - drm/amd/display: Add DPCD writes at key points + - drm/amd/display: Fix DIG_HPD_SELECT for USB4 display endpoints. + - drm/amd/display: Add helper for blanking all dp displays + - drm/amd/display: Fix link training fallback logic + - drm/amd/display: Add debug flags for USB4 DP link training. + - drm/amd/display: Fix dynamic link encoder access. + - drm/amd/display: Fix concurrent dynamic encoder assignment + - drm/amd/display: Fix dynamic encoder reassignment + - drm/amd/display: Fix for access for ddc pin and aux engine. + - drm/amd/display: Deadlock/HPD Status/Crash Bug Fix + - drm/amd/display: Fix USB4 Aux via DMUB terminate unexpectedly + + * Miscellaneous Ubuntu changes + - [Packaging] Rewrite debian/scripts/module-check in Python + - [Config] update config and annotations after applying v5.15.5 + + -- Andrea Righi Mon, 29 Nov 2021 09:25:37 +0100 + +linux (5.15.0-12.12) jammy; urgency=medium + + * jammy/linux: 5.15.0-12.12 -proposed tracker (LP: #1951810) + + * Jammy update: v5.15.4 upstream stable release (LP: #1951820) + - string: uninline memcpy_and_pad + - Revert "drm: fb_helper: improve CONFIG_FB dependency" + - Revert "drm: fb_helper: fix CONFIG_FB dependency" + - KVM: Fix steal time asm constraints + - btrfs: introduce btrfs_is_data_reloc_root + - btrfs: zoned: add a dedicated data relocation block group + - btrfs: zoned: only allow one process to add pages to a relocation inode + - btrfs: zoned: use regular writes for relocation + - btrfs: check for relocation inodes on zoned btrfs in should_nocow + - btrfs: zoned: allow preallocation for relocation inodes + - fortify: Explicitly disable Clang support + - block: Add a helper to validate the block size + - loop: Use blk_validate_block_size() to validate block size + - Bluetooth: btusb: Add support for TP-Link UB500 Adapter + - parisc/entry: fix trace test in syscall exit path + - PCI/MSI: Deal with devices lying about their MSI mask capability + - PCI: Add MSI masking quirk for Nvidia ION AHCI + - perf/core: Avoid put_page() when GUP fails + - thermal: Fix NULL pointer dereferences in of_thermal_ functions + - Revert "ACPI: scan: Release PM resources blocked by unused objects" + - Linux 5.15.4 + + * Jammy update: v5.15.3 upstream stable release (LP: #1951822) + - xhci: Fix USB 3.1 enumeration issues by increasing roothub power-on-good + delay + - usb: xhci: Enable runtime-pm by default on AMD Yellow Carp platform + - Input: iforce - fix control-message timeout + - Input: elantench - fix misreporting trackpoint coordinates + - Input: i8042 - Add quirk for Fujitsu Lifebook T725 + - libata: fix read log timeout value + - ocfs2: fix data corruption on truncate + - scsi: scsi_ioctl: Validate command size + - scsi: core: Avoid leaving shost->last_reset with stale value if EH does not + run + - scsi: core: Remove command size deduction from scsi_setup_scsi_cmnd() + - scsi: lpfc: Don't release final kref on Fport node while ABTS outstanding + - scsi: lpfc: Fix FCP I/O flush functionality for TMF routines + - scsi: qla2xxx: Fix crash in NVMe abort path + - scsi: qla2xxx: Fix kernel crash when accessing port_speed sysfs file + - scsi: qla2xxx: Fix use after free in eh_abort path + - ce/gf100: fix incorrect CE0 address calculation on some GPUs + - char: xillybus: fix msg_ep UAF in xillyusb_probe() + - mmc: mtk-sd: Add wait dma stop done flow + - mmc: dw_mmc: Dont wait for DRTO on Write RSP error + - exfat: fix incorrect loading of i_blocks for large files + - io-wq: remove worker to owner tw dependency + - parisc: Fix set_fixmap() on PA1.x CPUs + - parisc: Fix ptrace check on syscall return + - tpm: Check for integer overflow in tpm2_map_response_body() + - firmware/psci: fix application of sizeof to pointer + - crypto: s5p-sss - Add error handling in s5p_aes_probe() + - media: rkvdec: Do not override sizeimage for output format + - media: ite-cir: IR receiver stop working after receive overflow + - media: rkvdec: Support dynamic resolution changes + - media: ir-kbd-i2c: improve responsiveness of hauppauge zilog receivers + - media: v4l2-ioctl: Fix check_ext_ctrls + - ALSA: hda/realtek: Fix mic mute LED for the HP Spectre x360 14 + - ALSA: hda/realtek: Add a quirk for HP OMEN 15 mute LED + - ALSA: hda/realtek: Add quirk for Clevo PC70HS + - ALSA: hda/realtek: Headset fixup for Clevo NH77HJQ + - ALSA: hda/realtek: Add a quirk for Acer Spin SP513-54N + - ALSA: hda/realtek: Add quirk for ASUS UX550VE + - ALSA: hda/realtek: Add quirk for HP EliteBook 840 G7 mute LED + - ALSA: ua101: fix division by zero at probe + - ALSA: 6fire: fix control and bulk message timeouts + - ALSA: line6: fix control and interrupt message timeouts + - ALSA: mixer: oss: Fix racy access to slots + - ALSA: mixer: fix deadlock in snd_mixer_oss_set_volume + - ALSA: usb-audio: Line6 HX-Stomp XL USB_ID for 48k-fixed quirk + - ALSA: usb-audio: Add registration quirk for JBL Quantum 400 + - ALSA: hda: Free card instance properly at probe errors + - ALSA: synth: missing check for possible NULL after the call to kstrdup + - ALSA: pci: rme: Fix unaligned buffer addresses + - ALSA: PCM: Fix NULL dereference at mmap checks + - ALSA: timer: Fix use-after-free problem + - ALSA: timer: Unconditionally unlink slave instances, too + - Revert "ext4: enforce buffer head state assertion in ext4_da_map_blocks" + - ext4: fix lazy initialization next schedule time computation in more + granular unit + - ext4: ensure enough credits in ext4_ext_shift_path_extents + - ext4: refresh the ext4_ext_path struct after dropping i_data_sem. + - fuse: fix page stealing + - x86/sme: Use #define USE_EARLY_PGTABLE_L5 in mem_encrypt_identity.c + - x86/cpu: Fix migration safety with X86_BUG_NULL_SEL + - x86/irq: Ensure PI wakeup handler is unregistered before module unload + - x86/iopl: Fake iopl(3) CLI/STI usage + - btrfs: clear MISSING device status bit in btrfs_close_one_device + - btrfs: fix lost error handling when replaying directory deletes + - btrfs: call btrfs_check_rw_degradable only if there is a missing device + - KVM: x86/mmu: Drop a redundant, broken remote TLB flush + - KVM: VMX: Unregister posted interrupt wakeup handler on hardware unsetup + - KVM: PPC: Tick accounting should defer vtime accounting 'til after IRQ + handling + - ia64: kprobes: Fix to pass correct trampoline address to the handler + - selinux: fix race condition when computing ocontext SIDs + - ipmi:watchdog: Set panic count to proper value on a panic + - md/raid1: only allocate write behind bio for WriteMostly device + - hwmon: (pmbus/lm25066) Add offset coefficients + - regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is + disabled + - regulator: dt-bindings: samsung,s5m8767: correct s5m8767,pmic-buck-default- + dvs-idx property + - EDAC/sb_edac: Fix top-of-high-memory value for Broadwell/Haswell + - mwifiex: fix division by zero in fw download path + - ath6kl: fix division by zero in send path + - ath6kl: fix control-message timeout + - ath10k: fix control-message timeout + - ath10k: fix division by zero in send path + - PCI: Mark Atheros QCA6174 to avoid bus reset + - rtl8187: fix control-message timeouts + - evm: mark evm_fixmode as __ro_after_init + - ifb: Depend on netfilter alternatively to tc + - platform/surface: aggregator_registry: Add support for Surface Laptop Studio + - mt76: mt7615: fix skb use-after-free on mac reset + - HID: surface-hid: Use correct event registry for managing HID events + - HID: surface-hid: Allow driver matching for target ID 1 devices + - wcn36xx: Fix HT40 capability for 2Ghz band + - wcn36xx: Fix tx_status mechanism + - wcn36xx: Fix (QoS) null data frame bitrate/modulation + - PM: sleep: Do not let "syscore" devices runtime-suspend during system + transitions + - mwifiex: Read a PCI register after writing the TX ring write pointer + - mwifiex: Try waking the firmware until we get an interrupt + - libata: fix checking of DMA state + - dma-buf: fix and rework dma_buf_poll v7 + - wcn36xx: handle connection loss indication + - rsi: fix occasional initialisation failure with BT coex + - rsi: fix key enabled check causing unwanted encryption for vap_id > 0 + - rsi: fix rate mask set leading to P2P failure + - rsi: Fix module dev_oper_mode parameter description + - perf/x86/intel/uncore: Support extra IMC channel on Ice Lake server + - perf/x86/intel/uncore: Fix invalid unit check + - perf/x86/intel/uncore: Fix Intel ICX IIO event constraints + - RDMA/qedr: Fix NULL deref for query_qp on the GSI QP + - ASoC: tegra: Set default card name for Trimslice + - ASoC: tegra: Restore AC97 support + - signal: Remove the bogus sigkill_pending in ptrace_stop + - memory: renesas-rpc-if: Correct QSPI data transfer in Manual mode + - signal/mips: Update (_save|_restore)_fp_context to fail with -EFAULT + - soc: samsung: exynos-pmu: Fix compilation when nothing selects + CONFIG_MFD_CORE + - soc: fsl: dpio: replace smp_processor_id with raw_smp_processor_id + - soc: fsl: dpio: use the combined functions to protect critical zone + - mtd: rawnand: socrates: Keep the driver compatible with on-die ECC engines + - mctp: handle the struct sockaddr_mctp padding fields + - power: supply: max17042_battery: Prevent int underflow in set_soc_threshold + - power: supply: max17042_battery: use VFSOC for capacity when no rsns + - iio: core: fix double free in iio_device_unregister_sysfs() + - iio: core: check return value when calling dev_set_name() + - KVM: arm64: Extract ESR_ELx.EC only + - KVM: x86: Fix recording of guest steal time / preempted status + - KVM: x86: Add helper to consolidate core logic of SET_CPUID{2} flows + - KVM: nVMX: Query current VMCS when determining if MSR bitmaps are in use + - KVM: nVMX: Handle dynamic MSR intercept toggling + - can: peak_usb: always ask for BERR reporting for PCAN-USB devices + - can: mcp251xfd: mcp251xfd_irq(): add missing + can_rx_offload_threaded_irq_finish() in case of bus off + - can: j1939: j1939_tp_cmd_recv(): ignore abort message in the BAM transport + - can: j1939: j1939_can_recv(): ignore messages with invalid source address + - can: j1939: j1939_tp_cmd_recv(): check the dst address of TP.CM_BAM + - iio: adc: tsc2046: fix scan interval warning + - powerpc/85xx: Fix oops when mpc85xx_smp_guts_ids node cannot be found + - io_uring: honour zeroes as io-wq worker limits + - ring-buffer: Protect ring_buffer_reset() from reentrancy + - serial: core: Fix initializing and restoring termios speed + - ifb: fix building without CONFIG_NET_CLS_ACT + - xen/balloon: add late_initcall_sync() for initial ballooning done + - ovl: fix use after free in struct ovl_aio_req + - ovl: fix filattr copy-up failure + - PCI: pci-bridge-emul: Fix emulation of W1C bits + - PCI: cadence: Add cdns_plat_pcie_probe() missing return + - cxl/pci: Fix NULL vs ERR_PTR confusion + - PCI: aardvark: Do not clear status bits of masked interrupts + - PCI: aardvark: Fix checking for link up via LTSSM state + - PCI: aardvark: Do not unmask unused interrupts + - PCI: aardvark: Fix reporting Data Link Layer Link Active + - PCI: aardvark: Fix configuring Reference clock + - PCI: aardvark: Fix return value of MSI domain .alloc() method + - PCI: aardvark: Read all 16-bits from PCIE_MSI_PAYLOAD_REG + - PCI: aardvark: Fix support for bus mastering and PCI_COMMAND on emulated + bridge + - PCI: aardvark: Fix support for PCI_BRIDGE_CTL_BUS_RESET on emulated bridge + - PCI: aardvark: Set PCI Bridge Class Code to PCI Bridge + - PCI: aardvark: Fix support for PCI_ROM_ADDRESS1 on emulated bridge + - quota: check block number when reading the block in quota file + - quota: correct error number in free_dqentry() + - cifs: To match file servers, make sure the server hostname matches + - cifs: set a minimum of 120s for next dns resolution + - mfd: simple-mfd-i2c: Select MFD_CORE to fix build error + - pinctrl: core: fix possible memory leak in pinctrl_enable() + - coresight: cti: Correct the parameter for pm_runtime_put + - coresight: trbe: Fix incorrect access of the sink specific data + - coresight: trbe: Defer the probe on offline CPUs + - iio: buffer: check return value of kstrdup_const() + - iio: buffer: Fix memory leak in iio_buffers_alloc_sysfs_and_mask() + - iio: buffer: Fix memory leak in __iio_buffer_alloc_sysfs_and_mask() + - iio: buffer: Fix memory leak in iio_buffer_register_legacy_sysfs_groups() + - drivers: iio: dac: ad5766: Fix dt property name + - iio: dac: ad5446: Fix ad5622_write() return value + - iio: ad5770r: make devicetree property reading consistent + - Documentation:devicetree:bindings:iio:dac: Fix val + - USB: serial: keyspan: fix memleak on probe errors + - serial: 8250: fix racy uartclk update + - ksmbd: set unique value to volume serial field in FS_VOLUME_INFORMATION + - io-wq: serialize hash clear with wakeup + - serial: 8250: Fix reporting real baudrate value in c_ospeed field + - Revert "serial: 8250: Fix reporting real baudrate value in c_ospeed field" + - most: fix control-message timeouts + - USB: iowarrior: fix control-message timeouts + - USB: chipidea: fix interrupt deadlock + - power: supply: max17042_battery: Clear status bits in interrupt handler + - component: do not leave master devres group open after bind + - dma-buf: WARN on dmabuf release with pending attachments + - drm: panel-orientation-quirks: Update the Lenovo Ideapad D330 quirk (v2) + - drm: panel-orientation-quirks: Add quirk for KD Kurio Smart C15200 2-in-1 + - drm: panel-orientation-quirks: Add quirk for the Samsung Galaxy Book 10.6 + - Bluetooth: sco: Fix lock_sock() blockage by memcpy_from_msg() + - Bluetooth: fix use-after-free error in lock_sock_nested() + - Bluetooth: call sock_hold earlier in sco_conn_del + - drm/panel-orientation-quirks: add Valve Steam Deck + - rcutorture: Avoid problematic critical section nesting on PREEMPT_RT + - platform/x86: wmi: do not fail if disabling fails + - drm/amdgpu: move iommu_resume before ip init/resume + - MIPS: lantiq: dma: add small delay after reset + - MIPS: lantiq: dma: reset correct number of channel + - locking/lockdep: Avoid RCU-induced noinstr fail + - net: sched: update default qdisc visibility after Tx queue cnt changes + - rcu-tasks: Move RTGS_WAIT_CBS to beginning of rcu_tasks_kthread() loop + - smackfs: Fix use-after-free in netlbl_catmap_walk() + - ath11k: Align bss_chan_info structure with firmware + - crypto: aesni - check walk.nbytes instead of err + - x86/mm/64: Improve stack overflow warnings + - x86: Increase exception stack sizes + - mwifiex: Run SET_BSS_MODE when changing from P2P to STATION vif-type + - mwifiex: Properly initialize private structure on interface type changes + - spi: Check we have a spi_device_id for each DT compatible + - fscrypt: allow 256-bit master keys with AES-256-XTS + - drm/amdgpu: Fix MMIO access page fault + - drm/amd/display: Fix null pointer dereference for encoders + - selftests: net: fib_nexthops: Wait before checking reported idle time + - ath11k: Avoid reg rules update during firmware recovery + - ath11k: add handler for scan event WMI_SCAN_EVENT_DEQUEUED + - ath11k: Change DMA_FROM_DEVICE to DMA_TO_DEVICE when map reinjected packets + - ath10k: high latency fixes for beacon buffer + - octeontx2-pf: Enable promisc/allmulti match MCAM entries. + - media: mt9p031: Fix corrupted frame after restarting stream + - media: netup_unidvb: handle interrupt properly according to the firmware + - media: atomisp: Fix error handling in probe + - media: stm32: Potential NULL pointer dereference in dcmi_irq_thread() + - media: uvcvideo: Set capability in s_param + - media: uvcvideo: Return -EIO for control errors + - media: uvcvideo: Set unique vdev name based in type + - media: vidtv: Fix memory leak in remove + - media: s5p-mfc: fix possible null-pointer dereference in s5p_mfc_probe() + - media: s5p-mfc: Add checking to s5p_mfc_probe(). + - media: videobuf2: rework vb2_mem_ops API + - media: imx: set a media_device bus_info string + - media: rcar-vin: Use user provided buffers when starting + - media: mceusb: return without resubmitting URB in case of -EPROTO error. + - ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK + - rtw88: fix RX clock gate setting while fifo dump + - brcmfmac: Add DMI nvram filename quirk for Cyberbook T116 tablet + - media: rcar-csi2: Add checking to rcsi2_start_receiver() + - ipmi: Disable some operations during a panic + - fs/proc/uptime.c: Fix idle time reporting in /proc/uptime + - kselftests/sched: cleanup the child processes + - ACPICA: Avoid evaluating methods too early during system resume + - cpufreq: Make policy min/max hard requirements + - ice: Move devlink port to PF/VF struct + - media: imx-jpeg: Fix possible null pointer dereference + - media: ipu3-imgu: imgu_fmt: Handle properly try + - media: ipu3-imgu: VIDIOC_QUERYCAP: Fix bus_info + - media: usb: dvd-usb: fix uninit-value bug in dibusb_read_eeprom_byte() + - net-sysfs: try not to restart the syscall if it will fail eventually + - drm/amdkfd: rm BO resv on validation to avoid deadlock + - tracefs: Have tracefs directories not set OTH permission bits by default + - tracing: Disable "other" permission bits in the tracefs files + - ath: dfs_pattern_detector: Fix possible null-pointer dereference in + channel_detector_create() + - KVM: arm64: Propagate errors from __pkvm_prot_finalize hypercall + - mmc: moxart: Fix reference count leaks in moxart_probe + - iov_iter: Fix iov_iter_get_pages{,_alloc} page fault return value + - ACPI: battery: Accept charges over the design capacity as full + - ACPI: scan: Release PM resources blocked by unused objects + - drm/amd/display: fix null pointer deref when plugging in display + - drm/amdkfd: fix resume error when iommu disabled in Picasso + - net: phy: micrel: make *-skew-ps check more lenient + - leaking_addresses: Always print a trailing newline + - thermal/core: Fix null pointer dereference in thermal_release() + - drm/msm: prevent NULL dereference in msm_gpu_crashstate_capture() + - thermal/drivers/tsens: Add timeout to get_temp_tsens_valid + - block: bump max plugged deferred size from 16 to 32 + - floppy: fix calling platform_device_unregister() on invalid drives + - md: update superblock after changing rdev flags in state_store + - memstick: r592: Fix a UAF bug when removing the driver + - locking/rwsem: Disable preemption for spinning region + - lib/xz: Avoid overlapping memcpy() with invalid input with in-place + decompression + - lib/xz: Validate the value before assigning it to an enum variable + - workqueue: make sysfs of unbound kworker cpumask more clever + - tracing/cfi: Fix cmp_entries_* functions signature mismatch + - mt76: mt7915: fix an off-by-one bound check + - mwl8k: Fix use-after-free in mwl8k_fw_state_machine() + - iwlwifi: change all JnP to NO-160 configuration + - block: remove inaccurate requeue check + - media: allegro: ignore interrupt if mailbox is not initialized + - drm/amdgpu/pm: properly handle sclk for profiling modes on vangogh + - nvmet: fix use-after-free when a port is removed + - nvmet-rdma: fix use-after-free when a port is removed + - nvmet-tcp: fix use-after-free when a port is removed + - nvme: drop scan_lock and always kick requeue list when removing namespaces + - samples/bpf: Fix application of sizeof to pointer + - arm64: vdso32: suppress error message for 'make mrproper' + - PM: hibernate: Get block device exclusively in swsusp_check() + - selftests: kvm: fix mismatched fclose() after popen() + - selftests/bpf: Fix perf_buffer test on system with offline cpus + - iwlwifi: mvm: disable RX-diversity in powersave + - smackfs: use __GFP_NOFAIL for smk_cipso_doi() + - ARM: clang: Do not rely on lr register for stacktrace + - gre/sit: Don't generate link-local addr if addr_gen_mode is + IN6_ADDR_GEN_MODE_NONE + - can: bittiming: can_fixup_bittiming(): change type of tseg1 and alltseg to + unsigned int + - gfs2: Cancel remote delete work asynchronously + - gfs2: Fix glock_hash_walk bugs + - ARM: 9136/1: ARMv7-M uses BE-8, not BE-32 + - tools/latency-collector: Use correct size when writing queue_full_warning + - vrf: run conntrack only in context of lower/physdev for locally generated + packets + - net: annotate data-race in neigh_output() + - ACPI: AC: Quirk GK45 to skip reading _PSR + - ACPI: resources: Add one more Medion model in IRQ override quirk + - btrfs: reflink: initialize return value to 0 in btrfs_extent_same() + - btrfs: do not take the uuid_mutex in btrfs_rm_device + - spi: bcm-qspi: Fix missing clk_disable_unprepare() on error in + bcm_qspi_probe() + - wcn36xx: Correct band/freq reporting on RX + - wcn36xx: Fix packet drop on resume + - Revert "wcn36xx: Enable firmware link monitoring" + - ftrace: do CPU checking after preemption disabled + - inet: remove races in inet{6}_getname() + - x86/hyperv: Protect set_hv_tscchange_cb() against getting preempted + - drm/amd/display: dcn20_resource_construct reduce scope of FPU enabled + - perf/x86/intel: Fix ICL/SPR INST_RETIRED.PREC_DIST encodings + - parisc: fix warning in flush_tlb_all + - task_stack: Fix end_of_stack() for architectures with upwards-growing stack + - erofs: don't trigger WARN() when decompression fails + - parisc/unwind: fix unwinder when CONFIG_64BIT is enabled + - parisc/kgdb: add kgdb_roundup() to make kgdb work with idle polling + - netfilter: conntrack: set on IPS_ASSURED if flows enters internal stream + state + - selftests/bpf: Fix strobemeta selftest regression + - fbdev/efifb: Release PCI device's runtime PM ref during FB destroy + - drm/bridge: anx7625: Propagate errors from sp_tx_rst_aux() + - perf/x86/intel/uncore: Fix Intel SPR CHA event constraints + - perf/x86/intel/uncore: Fix Intel SPR IIO event constraints + - perf/x86/intel/uncore: Fix Intel SPR M2PCIE event constraints + - perf/x86/intel/uncore: Fix Intel SPR M3UPI event constraints + - drm/bridge: it66121: Initialize {device,vendor}_ids + - drm/bridge: it66121: Wait for next bridge to be probed + - Bluetooth: fix init and cleanup of sco_conn.timeout_work + - libbpf: Don't crash on object files with no symbol tables + - Bluetooth: hci_uart: fix GPF in h5_recv + - rcu: Fix existing exp request check in sync_sched_exp_online_cleanup() + - MIPS: lantiq: dma: fix burst length for DEU + - x86/xen: Mark cpu_bringup_and_idle() as dead_end_function + - objtool: Handle __sanitize_cov*() tail calls + - net/mlx5: Publish and unpublish all devlink parameters at once + - drm/v3d: fix wait for TMU write combiner flush + - crypto: sm4 - Do not change section of ck and sbox + - virtio-gpu: fix possible memory allocation failure + - lockdep: Let lock_is_held_type() detect recursive read as read + - net: net_namespace: Fix undefined member in key_remove_domain() + - net: phylink: don't call netif_carrier_off() with NULL netdev + - drm: bridge: it66121: Fix return value it66121_probe + - spi: Fixed division by zero warning + - cgroup: Make rebind_subsystems() disable v2 controllers all at once + - wcn36xx: Fix Antenna Diversity Switching + - wilc1000: fix possible memory leak in cfg_scan_result() + - Bluetooth: btmtkuart: fix a memleak in mtk_hci_wmt_sync + - drm/amdgpu: Fix crash on device remove/driver unload + - drm/amd/display: Pass display_pipe_params_st as const in DML + - drm/amdgpu: move amdgpu_virt_release_full_gpu to fini_early stage + - crypto: caam - disable pkc for non-E SoCs + - crypto: qat - power up 4xxx device + - Bluetooth: hci_h5: Fix (runtime)suspend issues on RTL8723BS HCIs + - bnxt_en: Check devlink allocation and registration status + - qed: Don't ignore devlink allocation failures + - rxrpc: Fix _usecs_to_jiffies() by using usecs_to_jiffies() + - mptcp: do not shrink snd_nxt when recovering + - fortify: Fix dropped strcpy() compile-time write overflow check + - mac80211: twt: don't use potentially unaligned pointer + - cfg80211: always free wiphy specific regdomain + - net/mlx5: Accept devlink user input after driver initialization complete + - net: dsa: rtl8366rb: Fix off-by-one bug + - net: dsa: rtl8366: Fix a bug in deleting VLANs + - bpf/tests: Fix error in tail call limit tests + - ath11k: fix some sleeping in atomic bugs + - ath11k: Avoid race during regd updates + - ath11k: fix packet drops due to incorrect 6 GHz freq value in rx status + - ath11k: Fix memory leak in ath11k_qmi_driver_event_work + - gve: DQO: avoid unused variable warnings + - ath10k: Fix missing frame timestamp for beacon/probe-resp + - ath10k: sdio: Add missing BH locking around napi_schdule() + - drm/ttm: stop calling tt_swapin in vm_access + - arm64: mm: update max_pfn after memory hotplug + - drm/amdgpu: fix warning for overflow check + - libbpf: Fix skel_internal.h to set errno on loader retval < 0 + - media: em28xx: add missing em28xx_close_extension + - media: meson-ge2d: Fix rotation parameter changes detection in + 'ge2d_s_ctrl()' + - media: cxd2880-spi: Fix a null pointer dereference on error handling path + - media: ttusb-dec: avoid release of non-acquired mutex + - media: dvb-usb: fix ununit-value in az6027_rc_query + - media: imx258: Fix getting clock frequency + - media: v4l2-ioctl: S_CTRL output the right value + - media: mtk-vcodec: venc: fix return value when start_streaming fails + - media: TDA1997x: handle short reads of hdmi info frame. + - media: mtk-vpu: Fix a resource leak in the error handling path of + 'mtk_vpu_probe()' + - media: imx-jpeg: Fix the error handling path of 'mxc_jpeg_probe()' + - media: i2c: ths8200 needs V4L2_ASYNC + - media: sun6i-csi: Allow the video device to be open multiple times + - media: radio-wl1273: Avoid card name truncation + - media: si470x: Avoid card name truncation + - media: tm6000: Avoid card name truncation + - media: cx23885: Fix snd_card_free call on null card pointer + - media: atmel: fix the ispck initialization + - scs: Release kasan vmalloc poison in scs_free process + - kprobes: Do not use local variable when creating debugfs file + - crypto: ecc - fix CRYPTO_DEFAULT_RNG dependency + - drm: fb_helper: fix CONFIG_FB dependency + - cpuidle: Fix kobject memory leaks in error paths + - media: em28xx: Don't use ops->suspend if it is NULL + - ath10k: Don't always treat modem stop events as crashes + - ath9k: Fix potential interrupt storm on queue reset + - PM: EM: Fix inefficient states detection + - x86/insn: Use get_unaligned() instead of memcpy() + - EDAC/amd64: Handle three rank interleaving mode + - rcu: Always inline rcu_dynticks_task*_{enter,exit}() + - rcu: Fix rcu_dynticks_curr_cpu_in_eqs() vs noinstr + - netfilter: nft_dynset: relax superfluous check on set updates + - media: venus: fix vpp frequency calculation for decoder + - media: dvb-frontends: mn88443x: Handle errors of clk_prepare_enable() + - crypto: ccree - avoid out-of-range warnings from clang + - crypto: qat - detect PFVF collision after ACK + - crypto: qat - disregard spurious PFVF interrupts + - hwrng: mtk - Force runtime pm ops for sleep ops + - ima: fix deadlock when traversing "ima_default_rules". + - b43legacy: fix a lower bounds test + - b43: fix a lower bounds test + - gve: Recover from queue stall due to missed IRQ + - gve: Track RX buffer allocation failures + - mmc: sdhci-omap: Fix NULL pointer exception if regulator is not configured + - mmc: sdhci-omap: Fix context restore + - memstick: avoid out-of-range warning + - memstick: jmb38x_ms: use appropriate free function in jmb38x_ms_alloc_host() + - net, neigh: Fix NTF_EXT_LEARNED in combination with NTF_USE + - hwmon: Fix possible memleak in __hwmon_device_register() + - hwmon: (pmbus/lm25066) Let compiler determine outer dimension of + lm25066_coeff + - ath10k: fix max antenna gain unit + - kernel/sched: Fix sched_fork() access an invalid sched_task_group + - net: fealnx: fix build for UML + - net: intel: igc_ptp: fix build for UML + - net: tulip: winbond-840: fix build for UML + - tcp: switch orphan_count to bare per-cpu counters + - crypto: octeontx2 - set assoclen in aead_do_fallback() + - thermal/core: fix a UAF bug in __thermal_cooling_device_register() + - drm/msm/dsi: do not enable irq handler before powering up the host + - drm/msm: Fix potential Oops in a6xx_gmu_rpmh_init() + - drm/msm: potential error pointer dereference in init() + - drm/msm: unlock on error in get_sched_entity() + - drm/msm: fix potential NULL dereference in cleanup + - drm/msm: uninitialized variable in msm_gem_import() + - net: stream: don't purge sk_error_queue in sk_stream_kill_queues() + - thermal/drivers/qcom/lmh: make QCOM_LMH depends on QCOM_SCM + - mailbox: Remove WARN_ON for async_cb.cb in cmdq_exec_done + - media: ivtv: fix build for UML + - media: ir_toy: assignment to be16 should be of correct type + - mmc: mxs-mmc: disable regulator on error and in the remove function + - io-wq: Remove duplicate code in io_workqueue_create() + - block: ataflop: fix breakage introduced at blk-mq refactoring + - platform/x86: thinkpad_acpi: Fix bitwise vs. logical warning + - mailbox: mtk-cmdq: Validate alias_id on probe + - mailbox: mtk-cmdq: Fix local clock ID usage + - ACPI: PM: Turn off unused wakeup power resources + - ACPI: PM: Fix sharing of wakeup power resources + - drm/amdkfd: Fix an inappropriate error handling in allloc memory of gpu + - mt76: mt7921: fix endianness in mt7921_mcu_tx_done_event + - mt76: mt7915: fix endianness warning in mt7915_mac_add_txs_skb + - mt76: mt7921: fix endianness warning in mt7921_update_txs + - mt76: mt7615: fix endianness warning in mt7615_mac_write_txwi + - mt76: mt7915: fix info leak in mt7915_mcu_set_pre_cal() + - mt76: connac: fix mt76_connac_gtk_rekey_tlv usage + - mt76: fix build error implicit enumeration conversion + - mt76: mt7921: fix survey-dump reporting + - mt76: mt76x02: fix endianness warnings in mt76x02_mac.c + - mt76: mt7921: Fix out of order process by invalid event pkt + - mt76: mt7915: fix potential overflow of eeprom page index + - mt76: mt7915: fix bit fields for HT rate idx + - mt76: mt7921: fix dma hang in rmmod + - mt76: connac: fix GTK rekey offload failure on WPA mixed mode + - mt76: overwrite default reg_ops if necessary + - mt76: mt7921: report HE MU radiotap + - mt76: mt7921: fix firmware usage of RA info using legacy rates + - mt76: mt7921: fix kernel warning from cfg80211_calculate_bitrate + - mt76: mt7921: always wake device if necessary in debugfs + - mt76: mt7915: fix hwmon temp sensor mem use-after-free + - mt76: mt7615: fix hwmon temp sensor mem use-after-free + - mt76: mt7915: fix possible infinite loop release semaphore + - mt76: mt7921: fix retrying release semaphore without end + - mt76: mt7615: fix monitor mode tear down crash + - mt76: connac: fix possible NULL pointer dereference in + mt76_connac_get_phy_mode_v2 + - mt76: mt7915: fix sta_rec_wtbl tag len + - mt76: mt7915: fix muar_idx in mt7915_mcu_alloc_sta_req() + - rsi: stop thread firstly in rsi_91x_init() error handling + - mwifiex: Send DELBA requests according to spec + - iwlwifi: mvm: reset PM state on unsuccessful resume + - iwlwifi: pnvm: don't kmemdup() more than we have + - iwlwifi: pnvm: read EFI data only if long enough + - net: enetc: unmap DMA in enetc_send_cmd() + - phy: micrel: ksz8041nl: do not use power down mode + - nbd: Fix use-after-free in pid_show + - nvme-rdma: fix error code in nvme_rdma_setup_ctrl + - PM: hibernate: fix sparse warnings + - clocksource/drivers/timer-ti-dm: Select TIMER_OF + - x86/sev: Fix stack type check in vc_switch_off_ist() + - drm/msm: Fix potential NULL dereference in DPU SSPP + - drm/msm/dsi: fix wrong type in msm_dsi_host + - crypto: tcrypt - fix skcipher multi-buffer tests for 1420B blocks + - smackfs: use netlbl_cfg_cipsov4_del() for deleting cipso_v4_doi + - KVM: selftests: Fix nested SVM tests when built with clang + - libbpf: Fix memory leak in btf__dedup() + - bpftool: Avoid leaking the JSON writer prepared for program metadata + - libbpf: Fix overflow in BTF sanity checks + - libbpf: Fix BTF header parsing checks + - mt76: mt7615: mt7622: fix ibss and meshpoint + - s390/gmap: validate VMA in __gmap_zap() + - s390/gmap: don't unconditionally call pte_unmap_unlock() in __gmap_zap() + - s390/mm: validate VMA in PGSTE manipulation functions + - s390/mm: fix VMA and page table handling code in storage key handling + functions + - s390/uv: fully validate the VMA before calling follow_page() + - KVM: s390: pv: avoid double free of sida page + - KVM: s390: pv: avoid stalls for kvm_s390_pv_init_vm + - irq: mips: avoid nested irq_enter() + - net: dsa: avoid refcount warnings when ->port_{fdb,mdb}_del returns error + - ARM: 9142/1: kasan: work around LPAE build warning + - ath10k: fix module load regression with iram-recovery feature + - block: ataflop: more blk-mq refactoring fixes + - blk-cgroup: synchronize blkg creation against policy deactivation + - libbpf: Fix off-by-one bug in bpf_core_apply_relo() + - tpm: fix Atmel TPM crash caused by too frequent queries + - tpm_tis_spi: Add missing SPI ID + - libbpf: Fix endianness detection in BPF_CORE_READ_BITFIELD_PROBED() + - tcp: don't free a FIN sk_buff in tcp_remove_empty_skb() + - tracing: Fix missing trace_boot_init_histograms kstrdup NULL checks + - cpufreq: intel_pstate: Fix cpu->pstate.turbo_freq initialization + - spi: spi-rpc-if: Check return value of rpcif_sw_init() + - samples/kretprobes: Fix return value if register_kretprobe() failed + - KVM: s390: Fix handle_sske page fault handling + - libertas_tf: Fix possible memory leak in probe and disconnect + - libertas: Fix possible memory leak in probe and disconnect + - wcn36xx: add proper DMA memory barriers in rx path + - wcn36xx: Fix discarded frames due to wrong sequence number + - bpf: Avoid races in __bpf_prog_run() for 32bit arches + - bpf: Fixes possible race in update_prog_stats() for 32bit arches + - wcn36xx: Channel list update before hardware scan + - drm/amdgpu: fix a potential memory leak in amdgpu_device_fini_sw() + - drm/amdgpu/gmc6: fix DMA mask from 44 to 40 bits + - selftests/bpf: Fix fd cleanup in sk_lookup test + - selftests/bpf: Fix memory leak in test_ima + - sctp: allow IP fragmentation when PLPMTUD enters Error state + - sctp: reset probe_timer in sctp_transport_pl_update + - sctp: subtract sctphdr len in sctp_transport_pl_hlen + - sctp: return true only for pathmtu update in sctp_transport_pl_toobig + - net: amd-xgbe: Toggle PLL settings during rate change + - ipmi: kcs_bmc: Fix a memory leak in the error handling path of + 'kcs_bmc_serio_add_device()' + - nfp: fix NULL pointer access when scheduling dim work + - nfp: fix potential deadlock when canceling dim work + - net: phylink: avoid mvneta warning when setting pause parameters + - net: bridge: fix uninitialized variables when BRIDGE_CFM is disabled + - selftests: net: bridge: update IGMP/MLD membership interval value + - crypto: pcrypt - Delay write to padata->info + - selftests/bpf: Fix fclose/pclose mismatch in test_progs + - udp6: allow SO_MARK ctrl msg to affect routing + - ibmvnic: don't stop queue in xmit + - ibmvnic: Process crqs after enabling interrupts + - ibmvnic: delay complete() + - selftests: mptcp: fix proto type in link_failure tests + - skmsg: Lose offset info in sk_psock_skb_ingress + - cgroup: Fix rootcg cpu.stat guest double counting + - bpf: Fix propagation of bounds from 64-bit min/max into 32-bit and var_off. + - bpf: Fix propagation of signed bounds from 64-bit min/max into 32-bit. + - of: unittest: fix EXPECT text for gpio hog errors + - cpufreq: Fix parameter in parse_perf_domain() + - staging: r8188eu: fix memory leak in rtw_set_key + - arm64: dts: meson: sm1: add Ethernet PHY reset line for ODROID-C4/HC4 + - iio: st_sensors: disable regulators after device unregistration + - RDMA/rxe: Fix wrong port_cap_flags + - ARM: dts: BCM5301X: Fix memory nodes names + - arm64: dts: broadcom: bcm4908: Fix UART clock name + - clk: mvebu: ap-cpu-clk: Fix a memory leak in error handling paths + - scsi: pm80xx: Fix lockup in outbound queue management + - scsi: qla2xxx: edif: Use link event to wake up app + - scsi: lpfc: Fix NVMe I/O failover to non-optimized path + - ARM: s3c: irq-s3c24xx: Fix return value check for s3c24xx_init_intc() + - arm64: dts: rockchip: Fix GPU register width for RK3328 + - ARM: dts: qcom: msm8974: Add xo_board reference clock to DSI0 PHY + - RDMA/bnxt_re: Fix query SRQ failure + - arm64: dts: ti: k3-j721e-main: Fix "max-virtual-functions" in PCIe EP nodes + - arm64: dts: ti: k3-j721e-main: Fix "bus-range" upto 256 bus number for PCIe + - arm64: dts: ti: j7200-main: Fix "vendor-id"/"device-id" properties of pcie + node + - arm64: dts: ti: j7200-main: Fix "bus-range" upto 256 bus number for PCIe + - arm64: dts: meson-g12a: Fix the pwm regulator supply properties + - arm64: dts: meson-g12b: Fix the pwm regulator supply properties + - arm64: dts: meson-sm1: Fix the pwm regulator supply properties + - bus: ti-sysc: Fix timekeeping_suspended warning on resume + - ARM: dts: at91: tse850: the emac<->phy interface is rmii + - arm64: dts: qcom: sc7180: Base dynamic CPU power coefficients in reality + - soc: qcom: llcc: Disable MMUHWT retention + - arm64: dts: qcom: sc7280: fix display port phy reg property + - scsi: dc395: Fix error case unwinding + - MIPS: loongson64: make CPU_LOONGSON64 depends on MIPS_FP_SUPPORT + - JFS: fix memleak in jfs_mount + - pinctrl: renesas: rzg2l: Fix missing port register 21h + - ASoC: wcd9335: Use correct version to initialize Class H + - arm64: dts: qcom: msm8916: Fix Secondary MI2S bit clock + - arm64: dts: renesas: beacon: Fix Ethernet PHY mode + - iommu/mediatek: Fix out-of-range warning with clang + - arm64: dts: qcom: pm8916: Remove wrong reg-names for rtc@6000 + - iommu/dma: Fix sync_sg with swiotlb + - iommu/dma: Fix arch_sync_dma for map + - ALSA: hda: Reduce udelay() at SKL+ position reporting + - ALSA: hda: Use position buffer for SKL+ again + - ALSA: usb-audio: Fix possible race at sync of urb completions + - soundwire: debugfs: use controller id and link_id for debugfs + - power: reset: at91-reset: check properly the return value of devm_of_iomap + - scsi: ufs: core: Fix ufshcd_probe_hba() prototype to match the definition + - scsi: ufs: core: Stop clearing UNIT ATTENTIONS + - scsi: megaraid_sas: Fix concurrent access to ISR between IRQ polling and + real interrupt + - scsi: pm80xx: Fix misleading log statement in pm8001_mpi_get_nvmd_resp() + - driver core: Fix possible memory leak in device_link_add() + - arm: dts: omap3-gta04a4: accelerometer irq fix + - ASoC: SOF: topology: do not power down primary core during topology removal + - iio: st_pressure_spi: Add missing entries SPI to device ID table + - soc/tegra: Fix an error handling path in tegra_powergate_power_up() + - memory: fsl_ifc: fix leak of irq and nand_irq in fsl_ifc_ctrl_probe + - clk: at91: check pmc node status before registering syscore ops + - powerpc/mem: Fix arch/powerpc/mm/mem.c:53:12: error: no previous prototype + for 'create_section_mapping' + - video: fbdev: chipsfb: use memset_io() instead of memset() + - powerpc: fix unbalanced node refcount in check_kvm_guest() + - powerpc/paravirt: correct preempt debug splat in vcpu_is_preempted() + - serial: 8250_dw: Drop wrong use of ACPI_PTR() + - usb: gadget: hid: fix error code in do_config() + - power: supply: rt5033_battery: Change voltage values to µV + - power: supply: max17040: fix null-ptr-deref in max17040_probe() + - scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn() + - RDMA/mlx4: Return missed an error if device doesn't support steering + - usb: musb: select GENERIC_PHY instead of depending on it + - staging: most: dim2: do not double-register the same device + - staging: ks7010: select CRYPTO_HASH/CRYPTO_MICHAEL_MIC + - RDMA/core: Set sgtable nents when using ib_dma_virt_map_sg() + - dyndbg: make dyndbg a known cli param + - powerpc/perf: Fix cycles/instructions as PM_CYC/PM_INST_CMPL in power10 + - pinctrl: renesas: checker: Fix off-by-one bug in drive register check + - ARM: dts: stm32: Reduce DHCOR SPI NOR frequency to 50 MHz + - ARM: dts: stm32: fix STUSB1600 Type-C irq level on stm32mp15xx-dkx + - ARM: dts: stm32: fix SAI sub nodes register range + - ARM: dts: stm32: fix AV96 board SAI2 pin muxing on stm32mp15 + - ASoC: cs42l42: Always configure both ASP TX channels + - ASoC: cs42l42: Correct some register default values + - ASoC: cs42l42: Defer probe if request_threaded_irq() returns EPROBE_DEFER + - soc: qcom: rpmhpd: Make power_on actually enable the domain + - soc: qcom: socinfo: add two missing PMIC IDs + - iio: buffer: Fix double-free in iio_buffers_alloc_sysfs_and_mask() + - usb: typec: STUSB160X should select REGMAP_I2C + - iio: adis: do not disabe IRQs in 'adis_init()' + - soundwire: bus: stop dereferencing invalid slave pointer + - scsi: ufs: ufshcd-pltfrm: Fix memory leak due to probe defer + - scsi: lpfc: Wait for successful restart of SLI3 adapter during host sg_reset + - serial: imx: fix detach/attach of serial console + - usb: dwc2: drd: fix dwc2_force_mode call in dwc2_ovr_init + - usb: dwc2: drd: fix dwc2_drd_role_sw_set when clock could be disabled + - usb: dwc2: drd: reset current session before setting the new one + - powerpc/booke: Disable STRICT_KERNEL_RWX, DEBUG_PAGEALLOC and KFENCE + - usb: dwc3: gadget: Skip resizing EP's TX FIFO if already resized + - firmware: qcom_scm: Fix error retval in __qcom_scm_is_call_available() + - soc: qcom: rpmhpd: fix sm8350_mxc's peer domain + - soc: qcom: apr: Add of_node_put() before return + - arm64: dts: qcom: pmi8994: Fix "eternal"->"external" typo in WLED node + - arm64: dts: qcom: sdm845: Use RPMH_CE_CLK macro directly + - arm64: dts: qcom: sdm845: Fix Qualcomm crypto engine bus clock + - pinctrl: equilibrium: Fix function addition in multiple groups + - ASoC: topology: Fix stub for snd_soc_tplg_component_remove() + - phy: qcom-qusb2: Fix a memory leak on probe + - phy: ti: gmii-sel: check of_get_address() for failure + - phy: qcom-qmp: another fix for the sc8180x PCIe definition + - phy: qcom-snps: Correct the FSEL_MASK + - phy: Sparx5 Eth SerDes: Fix return value check in sparx5_serdes_probe() + - serial: xilinx_uartps: Fix race condition causing stuck TX + - clk: at91: sam9x60-pll: use DIV_ROUND_CLOSEST_ULL + - clk: at91: clk-master: check if div or pres is zero + - clk: at91: clk-master: fix prescaler logic + - HID: u2fzero: clarify error check and length calculations + - HID: u2fzero: properly handle timeouts in usb_submit_urb + - powerpc/nohash: Fix __ptep_set_access_flags() and ptep_set_wrprotect() + - powerpc/book3e: Fix set_memory_x() and set_memory_nx() + - powerpc/44x/fsp2: add missing of_node_put + - powerpc/xmon: fix task state output + - ALSA: oxfw: fix functional regression for Mackie Onyx 1640i in v5.14 or + later + - iommu/dma: Fix incorrect error return on iommu deferred attach + - powerpc: Don't provide __kernel_map_pages() without + ARCH_SUPPORTS_DEBUG_PAGEALLOC + - ASoC: cs42l42: Correct configuring of switch inversion from ts-inv + - RDMA/hns: Fix initial arm_st of CQ + - RDMA/hns: Modify the value of MAX_LP_MSG_LEN to meet hardware compatibility + - ASoC: rsnd: Fix an error handling path in 'rsnd_node_count()' + - serial: cpm_uart: Protect udbg definitions by CONFIG_SERIAL_CPM_CONSOLE + - virtio_ring: check desc == NULL when using indirect with packed + - vdpa/mlx5: Fix clearing of VIRTIO_NET_F_MAC feature bit + - mips: cm: Convert to bitfield API to fix out-of-bounds access + - power: supply: bq27xxx: Fix kernel crash on IRQ handler register error + - RDMA/core: Require the driver to set the IOVA correctly during rereg_mr + - apparmor: fix error check + - rpmsg: Fix rpmsg_create_ept return when RPMSG config is not defined + - mtd: rawnand: intel: Fix potential buffer overflow in probe + - nfsd: don't alloc under spinlock in rpc_parse_scope_id + - rtc: ds1302: Add SPI ID table + - rtc: ds1390: Add SPI ID table + - rtc: pcf2123: Add SPI ID table + - remoteproc: imx_rproc: Fix TCM io memory type + - i2c: i801: Use PCI bus rescan mutex to protect P2SB access + - dmaengine: idxd: move out percpu_ref_exit() to ensure it's outside + submission + - rtc: mcp795: Add SPI ID table + - Input: ariel-pwrbutton - add SPI device ID table + - i2c: mediatek: fixing the incorrect register offset + - NFS: Default change_attr_type to NFS4_CHANGE_TYPE_IS_UNDEFINED + - NFS: Don't set NFS_INO_DATA_INVAL_DEFER and NFS_INO_INVALID_DATA + - NFS: Ignore the directory size when marking for revalidation + - NFS: Fix dentry verifier races + - pnfs/flexfiles: Fix misplaced barrier in nfs4_ff_layout_prepare_ds + - drm/bridge/lontium-lt9611uxc: fix provided connector suport + - drm/plane-helper: fix uninitialized variable reference + - PCI: aardvark: Don't spam about PIO Response Status + - PCI: aardvark: Fix preserving PCI_EXP_RTCTL_CRSSVE flag on emulated bridge + - opp: Fix return in _opp_add_static_v2() + - NFS: Fix deadlocks in nfs_scan_commit_list() + - sparc: Add missing "FORCE" target when using if_changed + - fs: orangefs: fix error return code of orangefs_revalidate_lookup() + - Input: st1232 - increase "wait ready" timeout + - drm/bridge: nwl-dsi: Add atomic_get_input_bus_fmts + - mtd: spi-nor: hisi-sfc: Remove excessive clk_disable_unprepare() + - PCI: uniphier: Serialize INTx masking/unmasking and fix the bit operation + - mtd: rawnand: arasan: Prevent an unsupported configuration + - mtd: core: don't remove debugfs directory if device is in use + - remoteproc: Fix a memory leak in an error handling path in + 'rproc_handle_vdev()' + - rtc: rv3032: fix error handling in rv3032_clkout_set_rate() + - dmaengine: at_xdmac: call at_xdmac_axi_config() on resume path + - dmaengine: at_xdmac: fix AT_XDMAC_CC_PERID() macro + - dmaengine: stm32-dma: fix stm32_dma_get_max_width + - NFS: Fix up commit deadlocks + - NFS: Fix an Oops in pnfs_mark_request_commit() + - Fix user namespace leak + - auxdisplay: img-ascii-lcd: Fix lock-up when displaying empty string + - auxdisplay: ht16k33: Connect backlight to fbdev + - auxdisplay: ht16k33: Fix frame buffer device blanking + - soc: fsl: dpaa2-console: free buffer before returning from + dpaa2_console_read + - netfilter: nfnetlink_queue: fix OOB when mac header was cleared + - dmaengine: dmaengine_desc_callback_valid(): Check for `callback_result` + - dmaengine: tegra210-adma: fix pm runtime unbalance + - dmanegine: idxd: fix resource free ordering on driver removal + - dmaengine: idxd: reconfig device after device reset command + - signal/sh: Use force_sig(SIGKILL) instead of do_group_exit(SIGKILL) + - m68k: set a default value for MEMORY_RESERVE + - watchdog: f71808e_wdt: fix inaccurate report in WDIOC_GETTIMEOUT + - ar7: fix kernel builds for compiler test + - scsi: target: core: Remove from tmr_list during LUN unlink + - scsi: qla2xxx: Relogin during fabric disturbance + - scsi: qla2xxx: Fix gnl list corruption + - scsi: qla2xxx: Turn off target reset during issue_lip + - scsi: qla2xxx: edif: Fix app start fail + - scsi: qla2xxx: edif: Fix app start delay + - scsi: qla2xxx: edif: Flush stale events and msgs on session down + - scsi: qla2xxx: edif: Increase ELS payload + - scsi: qla2xxx: edif: Fix EDIF bsg + - NFSv4: Fix a regression in nfs_set_open_stateid_locked() + - dmaengine: idxd: fix resource leak on dmaengine driver disable + - i2c: xlr: Fix a resource leak in the error handling path of + 'xlr_i2c_probe()' + - gpio: realtek-otto: fix GPIO line IRQ offset + - xen-pciback: Fix return in pm_ctrl_init() + - nbd: fix max value for 'first_minor' + - nbd: fix possible overflow for 'first_minor' in nbd_dev_add() + - io-wq: fix max-workers not correctly set on multi-node system + - net: davinci_emac: Fix interrupt pacing disable + - kselftests/net: add missed icmp.sh test to Makefile + - kselftests/net: add missed setup_loopback.sh/setup_veth.sh to Makefile + - kselftests/net: add missed SRv6 tests + - kselftests/net: add missed vrf_strict_mode_test.sh test to Makefile + - kselftests/net: add missed toeplitz.sh/toeplitz_client.sh to Makefile + - ethtool: fix ethtool msg len calculation for pause stats + - openrisc: fix SMP tlb flush NULL pointer dereference + - net: vlan: fix a UAF in vlan_dev_real_dev() + - net: dsa: felix: fix broken VLAN-tagged PTP under VLAN-aware bridge + - ice: Fix replacing VF hardware MAC to existing MAC filter + - ice: Fix not stopping Tx queues for VFs + - kdb: Adopt scheduler's task classification + - ACPI: PMIC: Fix intel_pmic_regs_handler() read accesses + - PCI: j721e: Fix j721e_pcie_probe() error path + - nvdimm/btt: do not call del_gendisk() if not needed + - scsi: bsg: Fix errno when scsi_bsg_register_queue() fails + - scsi: ufs: ufshpb: Use proper power management API + - scsi: ufs: core: Fix NULL pointer dereference + - scsi: ufs: ufshpb: Properly handle max-single-cmd + - drm/nouveau/svm: Fix refcount leak bug and missing check against null bug + - nvdimm/pmem: cleanup the disk if pmem_release_disk() is yet assigned + - block/ataflop: use the blk_cleanup_disk() helper + - block/ataflop: add registration bool before calling del_gendisk() + - block/ataflop: provide a helper for cleanup up an atari disk + - ataflop: remove ataflop_probe_lock mutex + - PCI: Do not enable AtomicOps on VFs + - cpufreq: intel_pstate: Clear HWP desired on suspend/shutdown and offline + - net: phy: fix duplex out of sync problem while changing settings + - block: fix device_add_disk() kobject_create_and_add() error handling + - drm/ttm: remove ttm_bo_vm_insert_huge() + - bonding: Fix a use-after-free problem when bond_sysfs_slave_add() failed + - octeontx2-pf: select CONFIG_NET_DEVLINK + - ALSA: memalloc: Catch call with NULL snd_dma_buffer pointer + - mfd: core: Add missing of_node_put for loop iteration + - mfd: cpcap: Add SPI device ID table + - mfd: sprd: Add SPI device ID table + - mfd: altera-sysmgr: Fix a mistake caused by resource_size conversion + - ACPI: PM: Fix device wakeup power reference counting error + - libbpf: Fix lookup_and_delete_elem_flags error reporting + - selftests/bpf/xdp_redirect_multi: Put the logs to tmp folder + - selftests/bpf/xdp_redirect_multi: Use arping to accurate the arp number + - selftests/bpf/xdp_redirect_multi: Give tcpdump a chance to terminate cleanly + - selftests/bpf/xdp_redirect_multi: Limit the tests in netns + - drm: fb_helper: improve CONFIG_FB dependency + - Revert "drm/imx: Annotate dma-fence critical section in commit path" + - drm/amdgpu/powerplay: fix sysfs_emit/sysfs_emit_at handling + - can: etas_es58x: es58x_rx_err_msg(): fix memory leak in error path + - can: mcp251xfd: mcp251xfd_chip_start(): fix error handling for + mcp251xfd_chip_rx_int_enable() + - mm/zsmalloc.c: close race window between zs_pool_dec_isolated() and + zs_unregister_migration() + - zram: off by one in read_block_state() + - perf bpf: Add missing free to bpf_event__print_bpf_prog_info() + - llc: fix out-of-bound array index in llc_sk_dev_hash() + - nfc: pn533: Fix double free when pn533_fill_fragment_skbs() fails + - litex_liteeth: Fix a double free in the remove function + - arm64: arm64_ftr_reg->name may not be a human-readable string + - arm64: pgtable: make __pte_to_phys/__phys_to_pte_val inline functions + - bpf, sockmap: Remove unhash handler for BPF sockmap usage + - bpf, sockmap: Fix race in ingress receive verdict with redirect to self + - bpf: sockmap, strparser, and tls are reusing qdisc_skb_cb and colliding + - bpf, sockmap: sk_skb data_end access incorrect when src_reg = dst_reg + - dmaengine: stm32-dma: fix burst in case of unaligned memory address + - dmaengine: stm32-dma: avoid 64-bit division in stm32_dma_get_max_width + - gve: Fix off by one in gve_tx_timeout() + - drm/i915/fb: Fix rounding error in subsampled plane size calculation + - init: make unknown command line param message clearer + - seq_file: fix passing wrong private data + - drm/amdgpu: fix uvd crash on Polaris12 during driver unloading + - net: dsa: mv88e6xxx: Don't support >1G speeds on 6191X on ports other than + 10 + - net/sched: sch_taprio: fix undefined behavior in ktime_mono_to_any + - net: hns3: fix ROCE base interrupt vector initialization bug + - net: hns3: fix pfc packet number incorrect after querying pfc parameters + - net: hns3: fix kernel crash when unload VF while it is being reset + - net: hns3: allow configure ETS bandwidth of all TCs + - net: stmmac: allow a tc-taprio base-time of zero + - net: ethernet: ti: cpsw_ale: Fix access to un-initialized memory + - net: marvell: mvpp2: Fix wrong SerDes reconfiguration order + - vsock: prevent unnecessary refcnt inc for nonblocking connect + - net/smc: fix sk_refcnt underflow on linkdown and fallback + - cxgb4: fix eeprom len when diagnostics not implemented + - selftests/net: udpgso_bench_rx: fix port argument + - thermal: int340x: fix build on 32-bit targets + - smb3: do not error on fsync when readonly + - ARM: 9155/1: fix early early_iounmap() + - ARM: 9156/1: drop cc-option fallbacks for architecture selection + - parisc: Fix backtrace to always include init funtion names + - parisc: Flush kernel data mapping in set_pte_at() when installing pte for + user page + - MIPS: fix duplicated slashes for Platform file path + - MIPS: fix *-pkg builds for loongson2ef platform + - MIPS: Fix assembly error from MIPSr2 code used within MIPS_ISA_ARCH_LEVEL + - x86/mce: Add errata workaround for Skylake SKX37 + - PCI/MSI: Move non-mask check back into low level accessors + - PCI/MSI: Destroy sysfs before freeing entries + - KVM: x86: move guest_pv_has out of user_access section + - posix-cpu-timers: Clear task::posix_cputimers_work in copy_process() + - irqchip/sifive-plic: Fixup EOI failed when masked + - f2fs: should use GFP_NOFS for directory inodes + - f2fs: include non-compressed blocks in compr_written_block + - f2fs: fix UAF in f2fs_available_free_memory + - ceph: fix mdsmap decode when there are MDS's beyond max_mds + - erofs: fix unsafe pagevec reuse of hooked pclusters + - drm/i915/guc: Fix blocked context accounting + - block: Hold invalidate_lock in BLKDISCARD ioctl + - block: Hold invalidate_lock in BLKZEROOUT ioctl + - block: Hold invalidate_lock in BLKRESETZONE ioctl + - ksmbd: Fix buffer length check in fsctl_validate_negotiate_info() + - ksmbd: don't need 8byte alignment for request length in ksmbd_check_message + - dmaengine: ti: k3-udma: Set bchan to NULL if a channel request fail + - dmaengine: ti: k3-udma: Set r/tchan or rflow to NULL if request fail + - dmaengine: bestcomm: fix system boot lockups + - net, neigh: Enable state migration between NUD_PERMANENT and NTF_USE + - 9p/net: fix missing error check in p9_check_errors + - mm/filemap.c: remove bogus VM_BUG_ON + - memcg: prohibit unconditional exceeding the limit of dying tasks + - mm, oom: pagefault_out_of_memory: don't force global OOM for dying tasks + - mm, oom: do not trigger out_of_memory from the #PF + - mm, thp: lock filemap when truncating page cache + - mm, thp: fix incorrect unmap behavior for private pages + - mfd: dln2: Add cell for initializing DLN2 ADC + - video: backlight: Drop maximum brightness override for brightness zero + - bcache: fix use-after-free problem in bcache_device_free() + - bcache: Revert "bcache: use bvec_virt" + - PM: sleep: Avoid calling put_device() under dpm_list_mtx + - s390/cpumf: cpum_cf PMU displays invalid value after hotplug remove + - s390/cio: check the subchannel validity for dev_busid + - s390/tape: fix timer initialization in tape_std_assign() + - s390/ap: Fix hanging ioctl caused by orphaned replies + - s390/cio: make ccw_device_dma_* more robust + - remoteproc: elf_loader: Fix loading segment when is_iomem true + - remoteproc: Fix the wrong default value of is_iomem + - remoteproc: imx_rproc: Fix ignoring mapping vdev regions + - remoteproc: imx_rproc: Fix rsc-table name + - mtd: rawnand: fsmc: Fix use of SM ORDER + - mtd: rawnand: ams-delta: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: xway: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: mpc5121: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: gpio: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: pasemi: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: orion: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: plat_nand: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: au1550nd: Keep the driver compatible with on-die ECC engines + - powerpc/vas: Fix potential NULL pointer dereference + - powerpc/bpf: Fix write protecting JIT code + - powerpc/32e: Ignore ESR in instruction storage interrupt handler + - powerpc/powernv/prd: Unregister OPAL_MSG_PRD2 notifier during module unload + - powerpc/security: Use a mutex for interrupt exit code patching + - powerpc/64s/interrupt: Fix check_return_regs_valid() false positive + - powerpc/pseries/mobility: ignore ibm, platform-facilities updates + - powerpc/85xx: fix timebase sync issue when CONFIG_HOTPLUG_CPU=n + - drm/sun4i: Fix macros in sun8i_csc.h + - PCI: Add PCI_EXP_DEVCTL_PAYLOAD_* macros + - PCI: aardvark: Fix PCIe Max Payload Size setting + - SUNRPC: Partial revert of commit 6f9f17287e78 + - drm/amd/display: Look at firmware version to determine using dmub on dcn21 + - media: vidtv: move kfree(dvb) to vidtv_bridge_dev_release() + - cifs: fix memory leak of smb3_fs_context_dup::server_hostname + - ath10k: fix invalid dma_addr_t token assignment + - mmc: moxart: Fix null pointer dereference on pointer host + - selftests/x86/iopl: Adjust to the faked iopl CLI/STI usage + - selftests/bpf: Fix also no-alu32 strobemeta selftest + - arch/cc: Introduce a function to check for confidential computing features + - x86/sev: Add an x86 version of cc_platform_has() + - x86/sev: Make the #VC exception stacks part of the default stacks storage + - media: videobuf2: always set buffer vb2 pointer + - media: videobuf2-dma-sg: Fix buf->vb NULL pointer dereference + - Linux 5.15.3 + + * kernel panic: NULL pointer dereference in wb_timer_f() (LP: #1947557) // + Jammy update: v5.15.3 upstream stable release (LP: #1951822) + - blk-wbt: prevent NULL pointer dereference in wb_timer_fn + + * Medion Notebook Keyboard not working (LP: #1909814) // Jammy update: v5.15.3 + upstream stable release (LP: #1951822) + - ACPI: resources: Add DMI-based legacy IRQ override quirk + + * Enable CONFIG_INTEL_IOMMU_DEFAULT_ON and + CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON on jammy 5.15 (LP: #1951440) + - [Config] enable Intel DMA remapping options by default + + * Thinkpad E14 Gen2: Kernel panic with trackpad and trackpoint enabled + (LP: #1945590) + - SAUCE: Input: elantech - Fix stack out of bound access in + elantech_change_report_id() + + * Miscellaneous Ubuntu changes + - SAUCE: LSM: Specify which LSM to display (using struct cred as input) + - SAUCE: selftests/seccomp: fix check of fds being assigned + - [Config] enable SUNRPC_DISABLE_INSECURE_ENCTYPES + - [Config] updateconfigs following v5.15.3, v5.15.4 import + + * Miscellaneous upstream changes + - binder: use cred instead of task for selinux checks + - binder: use cred instead of task for getsecid + - Revert "UBUNTU: SAUCE: storvsc: use small sg_tablesize on x86" + + -- Paolo Pisati Mon, 22 Nov 2021 13:14:15 +0100 + +linux (5.15.0-11.11) jammy; urgency=medium + + * jammy/linux: 5.15.0-11.11 -proposed tracker (LP: #1950948) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * OOPs on boot: invalid opcode: 0000 [#1] SMP NOPTI (LP: #1942215) + - SAUCE: ACPICA: prevent out-of-bound access with buggy DSDT + - [Config] disable UBSAN + - SAUCE: ACPICA: avoid accessing operands out-of-bounds + + * Jammy update: v5.15.2 upstream stable release (LP: #1950949) + - KVM: x86: avoid warning with -Wbitwise-instead-of-logical + - Revert "x86/kvm: fix vcpu-id indexed array sizes" + - usb: ehci: handshake CMD_RUN instead of STS_HALT + - usb: gadget: Mark USB_FSL_QE broken on 64-bit + - usb: musb: Balance list entry in musb_gadget_queue + - usb-storage: Add compatibility quirk flags for iODD 2531/2541 + - Revert "proc/wchan: use printk format instead of lookup_symbol_name()" + - binder: use euid from cred instead of using task + - binder: don't detect sender/target during buffer cleanup + - kfence: always use static branches to guard kfence_alloc() + - kfence: default to dynamic branch instead of static keys mode + - btrfs: fix lzo_decompress_bio() kmap leakage + - staging: rtl8712: fix use-after-free in rtl8712_dl_fw + - isofs: Fix out of bound access for corrupted isofs image + - comedi: dt9812: fix DMA buffers on stack + - comedi: ni_usb6501: fix NULL-deref in command paths + - comedi: vmk80xx: fix transfer-buffer overflows + - comedi: vmk80xx: fix bulk-buffer overflow + - comedi: vmk80xx: fix bulk and interrupt message timeouts + - staging: r8712u: fix control-message timeout + - staging: rtl8192u: fix control-message timeouts + - staging: r8188eu: fix memleak in rtw_wx_set_enc_ext + - media: staging/intel-ipu3: css: Fix wrong size comparison imgu_css_fw_init + - rsi: fix control-message timeout + - Linux 5.15.2 + + * reuseport_bpf_numa in net from ubuntu_kernel_selftests fails on ppc64le + (LP: #1867570) + - selftests/net: Fix reuseport_bpf_numa by skipping unavailable nodes + + * Miscellaneous Ubuntu changes + - packaging: switch getabis to the linux package name + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: (no-up) rename the adv7511 drm driver to adv7511_drm" + - Revert "UBUNTU: SAUCE: drm/i915/dp: Use max params for older panels" + - Revert "UBUNTU: SAUCE: i915: Fix build error due to missing struct + definition" + - selftests/core: fix conflicting types compile error for close_range() + - selftests: net: test_vxlan_under_vrf: fix HV connectivity test + - Revert "UBUNTU: SAUCE: ACPICA: prevent out-of-bound access with buggy DSDT" + + -- Paolo Pisati Mon, 15 Nov 2021 10:12:47 +0100 + +linux (5.15.0-10.10) jammy; urgency=medium + + * jammy/linux: 5.15.0-10.10 -proposed tracker (LP: #1950133) + + * Jammy update: v5.15.1 upstream stable release (LP: #1950131) + - sfc: Fix reading non-legacy supported link modes + - media: firewire: firedtv-avc: fix a buffer overflow in avc_ca_pmt() + - Revert "xhci: Set HCD flag to defer primary roothub registration" + - Revert "usb: core: hcd: Add support for deferring roothub registration" + - drm/amdkfd: fix boot failure when iommu is disabled in Picasso. + - Revert "soc: imx: gpcv2: move reset assert after requesting domain power up" + - ARM: 9120/1: Revert "amba: make use of -1 IRQs warn" + - Revert "wcn36xx: Disable bmps when encryption is disabled" + - drm/amdgpu: revert "Add autodump debugfs node for gpu reset v8" + - drm/amd/display: Revert "Directly retrain link from debugfs" + - Revert "drm/i915/gt: Propagate change in error status to children on unhold" + - ALSA: usb-audio: Add quirk for Audient iD14 + - Linux 5.15.1 + + * Miscellaneous Ubuntu changes + - packaging: fixup previous ABI/spin to -9.9 + - [Packaging] Drop unused d-i build-deps and packaging + - [Packaging] Drop now unsupported d-i/ input files + + * Miscellaneous upstream changes + - selftests: net: properly support IPv6 in GSO GRE test + - signal: Add SA_IMMUTABLE to ensure forced siganls do not get changed + + -- Paolo Pisati Mon, 08 Nov 2021 14:43:24 +0100 + +linux (5.15.0-9.9) jammy; urgency=medium + + * jammy/linux: 5.15.0-1.1 -proposed tracker (LP: #1949876) + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + - [Packaging] update Ubuntu.md + + * Add F81966 watchdog support (LP: #1949063) + - SAUCE: ODM: watchdog: f71808e_wdt: Add F81966 support + + * Miscellaneous Ubuntu changes + - [Packaging] Rewrite debian/scripts/misc/insert-changes.pl in Python + - [Packaging] change source package name to linux + + -- Andrea Righi Thu, 04 Nov 2021 18:47:19 +0100 + +linux (5.15.0-0.0) jammy; urgency=medium + + * Empty entry + + -- Andrea Righi Thu, 04 Nov 2021 16:47:16 +0100 + +linux-unstable (5.15.0-8.8) jammy; urgency=medium + + * jammy/linux-unstable: 5.15.0-8.8 -proposed tracker (LP: #1949436) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Drop "UBUNTU: SAUCE: cachefiles: Page leaking in + cachefiles_read_backing_file while vmscan is active" (LP: #1947709) + - Revert "UBUNTU: SAUCE: cachefiles: Page leaking in + cachefiles_read_backing_file while vmscan is active" + + * Add l2tp.sh in net from ubuntu_kernel_selftests back (LP: #1934293) + - Revert "UBUNTU: SAUCE: selftests/net -- disable l2tp.sh test" + + * Check for changes relevant for security certifications (LP: #1945989) + - [Packaging] Add fips-checks as part of finalchecks + + * Add final-checks to check certificates (LP: #1947174) + - [Packaging] Add system trusted and revocation keys final check + + * Can only reach PC3 when ethernet is plugged r8169 (LP: #1946433) + - r8169: Enable chip-specific ASPM regardless of PCIe ASPM status + - PCI/ASPM: Introduce a new helper to report ASPM capability + - r8169: Implement dynamic ASPM mechanism + + * rtw89 kernel module for Realtek 8852 wifi is missing (LP: #1945967) + - rtw89: add Realtek 802.11ax driver + - rtw89: Remove redundant check of ret after call to rtw89_mac_enable_bb_rf + - rtw89: fix return value check in rtw89_cam_send_sec_key_cmd() + - rtw89: remove unneeded semicolon + - [Config] RTW89=m + + * Fix A yellow screen pops up in an instant (< 1 second) and then disappears + before loading the system (LP: #1945932) + - drm/i915: Stop force enabling pipe bottom color gammma/csc + + * disable CONFIG_KFENCE_STATIC_KEYS in linux 5.15 (LP: #1948038) + - [Config] disable CONFIG_KFENCE_STATIC_KEYS + + * Miscellaneous Ubuntu changes + - [Debian] Remove old and unused firmware helper scripts + - [Packaging] Replace Perl oneliner with Bash statements + - rebase to v5.15 + + [ Upstream Kernel Changes ] + + * Rebase to v5.15 + + -- Paolo Pisati Tue, 02 Nov 2021 08:29:45 +0100 + +linux-unstable (5.15.0-7.7) jammy; urgency=medium + + * jammy/linux-unstable: 5.15.0-7.7 -proposed tracker (LP: #1948770) + + * Miscellaneous Ubuntu changes + - [Config] Temporarily disable signing for ppc64el and s390x + - packaging: switch release to Jammy + - rebase to v5.15-rc7 + - [Config] GCC version update + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc7 + + -- Paolo Pisati Tue, 26 Oct 2021 11:38:14 +0200 + +linux-unstable (5.15.0-6.6) jammy; urgency=medium + + * impish/linux-unstable: 5.15.0-6.6 -proposed tracker (LP: #1947565) + + * [impish] Remove the downstream xr-usb-uart driver (LP: #1945938) + - SAUCE: xr-usb-serial: remove driver + - [Config] update modules list + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc6 + - [Config] update config & annotations following v5.15-rc6 rebase + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: xr-usb-serial: switch to tty_alloc_driver() and + tty_driver_kref_put()" + - Revert "UBUNTU: SAUCE: xr-usb-serial: update return code for + xr_usb_serial_tty_write_room() and xr_usb_serial_tty_chars_in_buffer()" + - Revert "UBUNTU: [Packaging] FTBFS: disable zfs" + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc6 + + -- Paolo Pisati Mon, 18 Oct 2021 12:24:45 +0200 + +linux-unstable (5.15.0-5.5) impish; urgency=medium + + * impish/linux-unstable: 5.15.0-5.5 -proposed tracker (LP: #1946338) + + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc5 + - [Config] FB_SIMPLE=m + - [Config] update annotations + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc5 + + -- Paolo Pisati Mon, 11 Oct 2021 12:14:02 +0200 + +linux-unstable (5.15.0-4.4) impish; urgency=medium + + * impish/linux-unstable: 5.15.0-4.4 -proposed tracker (LP: #1945953) + + * Fix missing HDMI audio on Intel RKL (LP: #1945556) + - drm/i915/audio: Use BIOS provided value for RKL HDA link + + * Miscellaneous Ubuntu changes + - SAUCE: media: atomisp: add missing return type (fix -Werror=return-type) + - SAUCE: xr-usb-serial: switch to tty_alloc_driver() and tty_driver_kref_put() + - rebase to v5.15-rc4 + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] FTBFS: disable INTEL_ATOMISP" + - Revert "UBUNTU: [Config] FTBFS: disable xr-usb-serial" + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc4 + + -- Paolo Pisati Mon, 04 Oct 2021 10:52:41 +0200 + +linux-unstable (5.15.0-3.3) impish; urgency=medium + + * impish/linux-unstable: 5.15.0-3.3 -proposed tracker (LP: #1944944) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc3 + - [Config] updateconfigs following v5.15-rc3 rebase + - [Packaging] correctly evaluate release in update-dkms-versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc3 + + -- Paolo Pisati Mon, 27 Sep 2021 16:48:03 +0200 + +linux-unstable (5.15.0-2.2) impish; urgency=medium + + * impish/linux-unstable: 5.15.0-2.2 -proposed tracker (LP: #1944423) + + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc2 + - [Config] updateconfigs following v5.15-rc2 rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc2 + + -- Paolo Pisati Tue, 21 Sep 2021 11:46:59 +0200 + +linux-unstable (5.15.0-1.1) impish; urgency=medium + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * LRMv5: switch primary version handling to kernel-versions data set + (LP: #1928921) + - [Packaging] switch to kernel-versions + + * Miscellaneous Ubuntu changes + - [Packaging] remove remaining references to ports + - [Packaging] drop x32 architecture configs + - [Config] mark CONFIG_BPF_UNPRIV_DEFAULT_OFF enforced + - [Packaging] bump kernel version to 5.15 + - rebase to v5.15-rc1 + - [Config] updateconfigs following v5.15-rc1 rebase + - [Config] FTBFS: disable INTEL_ATOMISP + - [Config] FTBFS: disable xr-usb-serial + - [Packaging] FTBFS: disable zfs + + * Miscellaneous upstream changes + - Revert "r8169: avoid link-up interrupt issue on RTL8106e if user enables + ASPM" + - Revert "UBUNTU: SAUCE: RDMA/core: Introduce peer memory interface" + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc1 + + -- Paolo Pisati Fri, 17 Sep 2021 11:42:25 +0200 + +linux-unstable (5.15.0-0.0) impish; urgency=medium + + * Empty entry + + -- Paolo Pisati Wed, 15 Sep 2021 11:54:10 +0200 + +linux-unstable (5.14.0-9.9) impish; urgency=medium + + * impish/linux-unstable: 5.14.0-9.9 -proposed tracker (LP: #1943022) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Packaging] NVIDIA -- Add the NVIDIA 470 driver + - [Packaging] NVIDIA: transition -460 and -465 to -470, transition -460-server + to -470-server + + * Miscellaneous upstream changes + - vt_kdsetmode: extend console locking + - Bluetooth: btusb: check conditions before enabling USB ALT 3 for WBS + - net: dsa: mt7530: fix VLAN traffic leaks again + - btrfs: fix NULL pointer dereference when deleting device by invalid id + - Revert "floppy: reintroduce O_NDELAY fix" + - fscrypt: add fscrypt_symlink_getattr() for computing st_size + - ext4: report correct st_size for encrypted symlinks + - f2fs: report correct st_size for encrypted symlinks + - ubifs: report correct st_size for encrypted symlinks + - net: don't unconditionally copy_from_user a struct ifreq for socket ioctls + - audit: move put_tree() to avoid trim_trees refcount underflow and UAF + - Linux 5.14.1 + + -- Paolo Pisati Wed, 08 Sep 2021 12:20:18 +0200 + +linux-unstable (5.14.0-8.8) impish; urgency=medium + + * impish/linux-unstable: 5.14.0-8.8 -proposed tracker (LP: #1941887) + + * Fix Intel AC9560 BT function cannot turn on if BT turn off before S3 entry + (LP: #1941696) + - SAUCE: Bluetooth: btusb: add a reject table to disable msft + + * Add USB4 support for AMD SoC (LP: #1941036) + - thunderbolt: Add vendor specific NHI quirk for auto-clearing interrupt + status + - thunderbolt: Handle ring interrupt by reading interrupt status register + - thunderbolt: Do not read control adapter config space + - thunderbolt: Fix port linking by checking all adapters + + * Support builtin revoked certificates (LP: #1932029) + - [Config] Enforce SYSTEM_TRUSTED_KEYS and SYSTEM_REVOCATION_KEYS + + * GPIO error logs in start and dmesg after update of kernel (LP: #1937897) + - ODM: mfd: Check AAEON BFPI version before adding device + + * initramfs-tools & kernel: use zstd as the default compression method + (LP: #1931725) + - [Config] enforce ZSTD compression + + * Miscellaneous Ubuntu changes + - rebase to v5.14 + - [Config] RESET_MCHP_SPARX5 depends on ARCH_SPARX5 + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] FTBFS: disable zfs" + + [ Upstream Kernel Changes ] + + * Rebase to v5.14 + + -- Paolo Pisati Mon, 30 Aug 2021 12:57:19 +0200 + +linux-unstable (5.14.0-7.7) impish; urgency=medium + + * Please enable CONFIG_UBSAN_BOUNDS (LP: #1914685) + - [Config] Enable CONFIG_UBSAN_BOUNDS + + * CONFIG_HARDENED_USERCOPY_FALLBACK should be disabled (LP: #1855340) + - [Config] Disable CONFIG_HARDENED_USERCOPY_FALLBACK + + * fs: removing mandatory locks (LP: #1940392) + - [Config] Disable CONFIG_MANDATORY_FILE_LOCKING + + * Fix kernel panic caused by legacy devices on AMD platforms (LP: #1936682) + - SAUCE: iommu/amd: Keep swiotlb enabled to ensure devices with 32bit DMA + still work + + * ALSA: hda/cs8409: Add support for dolphin (LP: #1939541) + - ALSA: hda/cirrus: Move CS8409 HDA bridge to separate module + - ALSA: hda/cs8409: Move arrays of configuration to a new file + - ALSA: hda/cs8409: Use enums for register names and coefficients + - ALSA: hda/cs8409: Mask all CS42L42 interrupts on initialization + - ALSA: hda/cs8409: Reduce HS pops/clicks for Cyborg + - ALSA: hda/cs8409: Disable unnecessary Ring Sense for Cyborg/Warlock/Bullseye + - ALSA: hda/cs8409: Disable unsolicited responses during suspend + - ALSA: hda/cs8409: Disable unsolicited response for the first boot + - ALSA: hda/cs8409: Mask CS42L42 wake events + - ALSA: hda/cs8409: Simplify CS42L42 jack detect. + - ALSA: hda/cs8409: Prevent I2C access during suspend time + - ALSA: hda/cs8409: Generalize volume controls + - ALSA: hda/cs8409: Dont disable I2C clock between consecutive accesses + - ALSA: hda/cs8409: Avoid setting the same I2C address for every access + - ALSA: hda/cs8409: Avoid re-setting the same page as the last access + - ALSA: hda/cs8409: Support i2c bulk read/write functions + - ALSA: hda/cs8409: Separate CS8409, CS42L42 and project functions + - ALSA: hda/cs8409: Move codec properties to its own struct + - ALSA: hda/cs8409: Support multiple sub_codecs for Suspend/Resume/Unsol + events + - ALSA: hda/cs8409: Add Support to disable jack type detection for CS42L42 + - ALSA: hda/cs8409: Add support for dolphin + - ALSA: hda/cs8409: Enable Full Scale Volume for Line Out Codec on Dolphin + - ALSA: hda/cs8409: Set fixed sample rate of 48kHz for CS42L42 + - ALSA: hda/cs8409: Use timeout rather than retries for I2C transaction waits + - ALSA: hda/cs8409: Remove unnecessary delays + - ALSA: hda/cs8409: Follow correct CS42L42 power down sequence for suspend + - ALSA: hda/cs8409: Unmute/Mute codec when stream starts/stops + - ALSA: hda/cs8409: Prevent pops and clicks during suspend + - SAUCE: ALSA: hda/cs8409: Prevent pops and clicks during reboot + - [Config] Enable Cirrus Logic HDA bridge support + + * e1000e: add handshake with the Intel CSME to support S0ix (LP: #1937252) + - SAUCE: e1000e: Add handshake with the CSME to support S0ix + - SAUCE: e1000e: Add polling mechanism to indicate CSME DPG exit + - SAUCE: e1000e: Additional PHY power saving in S0ix + + * AMDGPU: Fix System hang after resume from suspend (LP: #1940204) + - SAUCE: drm/amdgpu: disable BACO support for 699F:C7 polaris12 SKU + temporarily + + * [Regression] Audio card [8086:9d71] not detected after upgrade from linux + 5.4 to 5.8 (LP: #1915117) + - [Config] set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y + + * Miscellaneous Ubuntu changes + - rebase to v5.14-rc7 + - [Config] updateconfigs following 5.14-rc7 rebase + - [Config] Enable CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT + - [Config] annotations: set CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT to y + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] annotations: set + CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y" + - Revert "UBUNTU: [Config] set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to + y" + + [ Upstream Kernel Changes ] + + * Rebase to v5.14-rc7 + + -- Paolo Pisati Tue, 24 Aug 2021 10:32:31 +0200 + +linux-unstable (5.14.0-6.6) impish; urgency=medium + + * Miscellaneous Ubuntu changes + - no changes upload (to avoid picking up libc6 from -proposed) + + * No changes upload (to avoid picking up libc6 from -proposed) + + -- Paolo Pisati Wed, 18 Aug 2021 13:41:16 +0200 + +linux-unstable (5.14.0-5.5) impish; urgency=medium + + * disable “CONFIG_HISI_DMA” config for ubuntu version (LP: #1936771) + - [Config] Disable CONFIG_HISI_DMA + + * Dell XPS 17 (9710) PCI/internal sound card not detected (LP: #1935850) + - ASoC: Intel: sof_sdw: include rt711.h for RT711 JD mode + - ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 + + * [regression] USB device is not detected during boot (LP: #1939638) + - SAUCE: Revert "usb: core: reduce power-on-good delay time of root hub" + + * armhf build failure (LP: #1939308) + - SAUCE: arm: Fix instruction set selection for GCC 11 + + * REGRESSION: shiftfs lets sendfile fail with EINVAL (LP: #1939301) + - SAUCE: shiftfs: fix sendfile() invocations + + * Wobbly graphics on built-in display since linux-image-5.11.0-22-generic + (LP: #1936708) + - SAUCE: drm/i915/dp: Use max params for older panels + + * [SRU][H/OEM-5.10/OEM-5.13/U] Fix system hang after unplug tbt dock + (LP: #1938689) + - SAUCE: igc: fix page fault when thunderbolt is unplugged + + * e1000e blocks the boot process when it tried to write checksum to its NVM + (LP: #1936998) + - SAUCE: e1000e: Do not take care about recovery NVM checksum + + * [Regression] Audio card [8086:9d71] not detected after upgrade from linux + 5.4 to 5.8 (LP: #1915117) + - [Config] set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y + - [Config] annotations: set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs following 5.14-rc6 rebase + - rebase to v5.14-rc6 + + [ Upstream Kernel Changes ] + + * Rebase to v5.14-rc6 + + -- Paolo Pisati Tue, 17 Aug 2021 17:49:15 +0200 + +linux-unstable (5.14.0-4.4) impish; urgency=medium + + * impish/linux-unstable: 5.14.0-4.4 -proposed tracker (LP: #1938566) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous upstream changes + - Revert "riscv: Get CPU manufacturer information" + + -- Paolo Pisati Tue, 03 Aug 2021 14:50:27 +0200 + +linux-unstable (5.14.0-3.3) impish; urgency=medium + + * Add additional Mediatek MT7921 WiFi/BT device IDs (LP: #1937004) + - SAUCE: Bluetooth: btusb: Add Mediatek MT7921 support for Foxconn + - SAUCE: Bluetooth: btusb: Add Mediatek MT7921 support for IMC Network + - SAUCE: Bluetooth: btusb: Add support for Foxconn Mediatek Chip + + * Fix display output on HP hybrid GFX laptops (LP: #1936296) + - drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops + + * Miscellaneous Ubuntu changes + - rebase to v5.14-rc3 + - [Config] updateconfigs following 5.14-rc3 rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.14-rc3 + + -- Paolo Pisati Mon, 26 Jul 2021 12:52:38 +0200 + +linux-unstable (5.14.0-2.2) impish; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - SAUCE: xr-usb-serial: update return code for xr_usb_serial_tty_write_room() + and xr_usb_serial_tty_chars_in_buffer() + - SAUCE: platform/x86: dell-uart-backlight: update return code for + uart_chars_in_buffer(() + - [Config] updateconfigs following 5.14-rc2 rebase + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] FTBFS: disable ubuntu/xr-usb-serial" + - Revert "UBUNTU: [Config] FTBFS: disable DELL_UART_BACKLIGHT" + + [ Upstream Kernel Changes ] + + * Rebase to v5.14-rc2 + + -- Paolo Pisati Thu, 22 Jul 2021 11:03:28 +0200 + +linux-unstable (5.14.0-1.1) impish; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Packaging] bump kernel version to 5.14 + - [Config] updateconfigs following 5.14-rc1 rebase + - [Config] update annotations + - [Packaging] FTBFS: disable zfs + - [Config] FTBFS: disable DELL_UART_BACKLIGHT + - [Config] FTBFS: disable ubuntu/xr-usb-serial + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] update variants" + + [ Upstream Kernel Changes ] + + * Rebase to v5.14-rc1 + + -- Paolo Pisati Fri, 16 Jul 2021 15:20:04 +0200 + +linux-unstable (5.14.0-0.0) impish; urgency=medium + + * Empty entry + + -- Paolo Pisati Tue, 13 Jul 2021 12:15:35 +0200 + +linux (5.13.0-11.11) impish; urgency=medium + + * impish/linux: 5.13.0-11.11 -proposed tracker (LP: #1933854) + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * Support builtin revoked certificates (LP: #1932029) + - [Packaging] build canonical-revoked-certs.pem from branch/arch certs + - [Packaging] Revoke 2012 UEFI signing certificate as built-in + - [Config] Configure CONFIG_SYSTEM_REVOCATION_KEYS with revoked keys + + * Miscellaneous Ubuntu changes + - [Packaging] Change source package name to linux + + * Miscellaneous upstream changes + - mm/page_alloc: Correct return value of populated elements if bulk array is + populated + + -- Andrea Righi Tue, 29 Jun 2021 07:50:25 +0200 + +linux (5.13.0-10.10) impish; urgency=medium + + * Empty entry + + -- Andrea Righi Mon, 28 Jun 2021 08:40:05 +0200 + +linux-unstable (5.13.0-10.10) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-10.10 -proposed tracker (LP: #1933795) + + * Pixel format change broken for Elgato Cam Link 4K (LP: #1932367) + - media: uvcvideo: Fix pixel format change for Elgato Cam Link 4K + + * initramfs-tools & kernel: use zstd as the default compression method + (LP: #1931725) + - s390/decompressor: correct BOOT_HEAP_SIZE condition + - s390/boot: add zstd support + - [Packaging] use ZSTD to compress s390 kernels + + * Miscellaneous Ubuntu changes + - SAUCE: selftests: tls: fix chacha+bidir tests + - SAUCE: selftests: icmp_redirect: support expected failures + - [Config] update configs and annotations after rebase to 5.13 + + * Miscellaneous upstream changes + - tls: prevent oversized sendfile() hangs by ignoring MSG_MORE + + [ Upstream Kernel Changes ] + + * Rebase to v5.13 + + -- Andrea Righi Mon, 28 Jun 2021 08:40:05 +0200 + +linux-unstable (5.13.0-9.9) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-9.9 -proposed tracker (LP: #1933070) + + * Add support for selective build of special drivers (LP: #1912789) + - [Packaging] Add support for ODM drivers + - [Packaging] Turn on ODM support for amd64 + - [Packaging] Fix ODM support in actual build + - [Packaging] Fix ODM DRIVERS Kconfig + + * Add support for IO functions of AAEON devices (LP: #1929504) + - ODM: [Config] update config for AAEON devices + - ODM: hwmon: add driver for AAEON devices + - ODM: leds: add driver for AAEON devices + - ODM: watchdog: add driver for AAEON devices + - ODM: gpio: add driver for AAEON devices + - ODM: mfd: Add support for IO functions of AAEON devices + + * Disable hv-kvp-daemon.service on certain instance types (LP: #1932081) + - [Packaging]: Add kernel command line condition to hv-kvp-daemon service + + * Fix non-working GPU on Some HP desktops (LP: #1931147) + - PCI: Coalesce host bridge contiguous apertures + + * Miscellaneous Ubuntu changes + - SAUCE: selftests: seccomp: bump up timeout to 5min + - SAUCE: Revert "net/tls(TLS_SW): Add selftest for 'chunked' sendfile test" + - [Config] update annotations after rebase to 5.13-rc7 + + [ Upstream Kernel Changes ] + + * Rebase to v5.13-rc7 + + -- Andrea Righi Mon, 21 Jun 2021 10:55:36 +0200 + +linux-unstable (5.13.0-8.8) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-8.8 -proposed tracker (LP: #1932018) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * initramfs-tools & kernel: use zstd as the default compression method + (LP: #1931725) + - [Config] use ZSTD to compress amd64 kernels + + * Miscellaneous Ubuntu changes + - [Config] enable signing for ppc64el + - SAUCE: powerpc: Fix initrd corruption with relative jump labels + + -- Andrea Righi Tue, 15 Jun 2021 15:07:34 +0200 + +linux-unstable (5.13.0-7.7) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-7.7 -proposed tracker (LP: #1931840) + + * Packaging resync (LP: #1786013) + - update dkms package versions + - [Packaging] resync getabis + - [Packaging] update helper scripts + - update dkms package versions + + * Intel ADL-S graphics feature enabling (LP: #1931240) + - SAUCE: drm/i915/adl_s: ADL-S platform Update PCI ids for Mobile BGA + + * Kernel package builds running out of space on builders (LP: #1930713) + - [Config] CONFIG_DEBUG_INFO_COMPRESSED=n + + * Miscellaneous Ubuntu changes + - [Debian] remove nvidia dkms build support + - [Config] remove now unsued do_dkms_nvidia* build variables + - [Config] enable signing for s390x + - [Config] update annotations after configs review + - [Config] update toolchain versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.13-rc6 + + -- Andrea Righi Mon, 14 Jun 2021 11:53:08 +0200 + +linux-unstable (5.13.0-6.6) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-6.6 -proposed tracker (LP: #1931071) + + * Kernel package builds running out of space on builders (LP: #1930713) + - [Debian] use stamps for flavour install targets + - [Debian] run install-$(flavour) targets during build phase + - [Debian] remove dh_testroot from install targets + - [Debian] dkms-build -- use fakeroot if not running as root + - [Debian] exclude $(DEBIAN)/__abi.current from linux-source + + * [UBUNTU 21.04] tools/kvm_stat: Add restart delay (LP: #1921870) + - [Debian] install kvm_stat systemd service + + * Debugging symbols (dbgsym) packages are missing GDB kernel scripts + (LP: #1928715) + - [Packaging] Build and include GDB Python scripts into debug packages + + * Can't detect intel wifi 6235 (LP: #1920180) + - SAUCE: iwlwifi: add new pci id for 6235 + + * Select correct boot VGA when BIOS doesn't do it properly (LP: #1929217) + - vgaarb: Use ACPI HID name to find integrated GPU + + * Fix kernel panic on Intel Bluetooth (LP: #1928838) + - Bluetooth: Shutdown controller after workqueues are flushed or cancelled + + * build module CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH=m for 5.11, 5.13-rc2 + and later (LP: #1921632) + - [Config] enable soundwire audio mach driver + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_SND_SOC_RT1308 can only be enabled on amd64 + + [ Upstream Kernel Changes ] + + * Rebase to v5.13-rc5 + + -- Andrea Righi Mon, 07 Jun 2021 10:45:13 +0200 + +linux-unstable (5.13.0-5.5) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-5.5 -proposed tracker (LP: #1930205) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Config] set CONFIG_BPF_UNPRIV_DEFAULT_OFF=y + + -- Andrea Righi Mon, 31 May 2021 12:32:38 +0200 + +linux-unstable (5.13.0-4.4) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-4.4 -proposed tracker (LP: #1929404) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Support importing mokx keys into revocation list from the mok table + (LP: #1928679) + - SAUCE: integrity: add informational messages when revoking certs + + * Support importing mokx keys into revocation list from the mok table + (LP: #1928679) // CVE-2020-26541 when certificates are revoked via + MokListXRT. + - SAUCE: integrity: Load mokx certs from the EFI MOK config table + + * Miscellaneous Ubuntu changes + - [Config] Temporarily disable signing for ppc64el and s390x + - SAUCE: Revert "UBUNTU: SAUCE: overlayfs: Be more careful about copying up + sxid files" + - SAUCE: Revert "UBUNTU: SAUCE: overlayfs: Propogate nosuid from lower and + upper mounts" + - SAUCE: Revert "UBUNTU: SAUCE: overlayfs: Enable user namespace mounts" + - SAUCE: Revert "UBUNTU: SAUCE: overlayfs: ensure mounter privileges when + reading directories" + - SAUCE: Revert "UBUNTU: SAUCE: fs: Move SB_I_NOSUID to the top of s_iflags" + + [ Upstream Kernel Changes ] + + * Rebase to v5.13-rc3 + + -- Andrea Righi Mon, 24 May 2021 13:06:17 +0200 + +linux-unstable (5.13.0-3.3) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-3.3 -proposed tracker (LP: #1928655) + + [ Upstream Kernel Changes ] + + * Rebase to v5.13-rc2 + + -- Andrea Righi Mon, 17 May 2021 11:55:02 +0200 + +linux-unstable (5.13.0-2.2) impish; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] enable CONFIG_DEBUG_INFO_COMPRESSED + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] temporarily disable BPF JIT" + + -- Andrea Righi Fri, 14 May 2021 09:19:02 +0200 + +linux-unstable (5.13.0-1.1) impish; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v5.13-rc1 + + -- Andrea Righi Wed, 12 May 2021 11:35:23 +0200 + +linux-unstable (5.13.0-0.0) impish; urgency=medium + + * Empty entry + + -- Andrea Righi Tue, 11 May 2021 08:40:09 +0200 + +linux-unstable (5.12.0-11.11) impish; urgency=medium + + * Impish update: v5.12.1 upstream stable release (LP: #1927094) + - net: hso: fix NULL-deref on disconnect regression + - USB: CDC-ACM: fix poison/unpoison imbalance + - iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_gen2_enqueue_hcmd() + - cfg80211: fix locking in netlink owner interface destruction + - mei: me: add Alder Lake P device id. + - Linux 5.12.1 + + * Packaging resync (LP: #1786013) // Impish update: v5.12.1 upstream stable + release (LP: #1927094) + - update dkms package versions + + * Gigabyte R120-T33 (ARM ThunderX SoC) fails to boot in ACPI mode + (LP: #1925075) // Impish update: v5.12.1 upstream stable release + (LP: #1927094) + - ACPI: GTDT: Don't corrupt interrupt mappings on watchdow probe failure + + * Fix kernel panic at boot on dual GFX systems (LP: #1926792) // Impish + update: v5.12.1 upstream stable release (LP: #1927094) + - drm/amdgpu: Register VGA clients after init can no longer fail + + * On TGL platforms screen shows garbage when browsing website by scrolling + mouse (LP: #1926579) // Impish update: v5.12.1 upstream stable release + (LP: #1927094) + - SAUCE: drm/i915/display: Disable PSR2 if TGL Display stepping is B1 from A0 + + * CirrusLogic: Cracking noises appears in built-in speaker when output volume + is set >80% (LP: #1924997) // Impish update: v5.12.1 upstream stable release + (LP: #1927094) + - SAUCE: ALSA: hda/cirrus: Use CS8409 Equalizer to fix abnormal sounds on + Bullseye + + * Enable mute/micmute LEDs and limit mic boost on EliteBook 845 G8 + (LP: #1925415) // Impish update: v5.12.1 upstream stable release + (LP: #1927094) + - ALSA: hda/realtek: Enable mute/micmute LEDs and limit mic boost on EliteBook + 845 G8 + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: PCI: Disable broken RTIT_BAR of Intel TH" + - Revert "UBUNTU: [Config] temporarily disable ZFS" + + -- Paolo Pisati Tue, 04 May 2021 18:35:54 +0200 + +linux-unstable (5.12.0-10.10) impish; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Packaging] Drop versioned ABI directory names + - [Packaging] getabis: Download ABIs into an unversioned directory + - [Packaging] final-checks: Handle unversioned ABI directories + - bump to impish + - [Config] GCC version update + + -- Paolo Pisati Thu, 29 Apr 2021 12:27:20 +0200 + +linux-unstable (5.12.0-9.9) impish; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc8 + + -- Seth Forshee Mon, 26 Apr 2021 11:14:16 -0500 + +linux-unstable (5.12.0-8.8) hirsute; urgency=medium + + * CVE-2021-3492 + - SAUCE: shiftfs: free allocated memory in shiftfs_btrfs_ioctl_fd_replace() + error paths + - SAUCE: shiftfs: handle copy_to_user() return values correctly + + * Fix no picture from HDMI when it's plugged after boot (LP: #1924238) + - drm/i915/display: Handle lane polarity for DDI port + + * hirsute beta desktop AMD64 ISO kernel panic on boot when booting using UEFI + (LP: #1922403) + - SAUCE: efifb: Check efifb_pci_dev before using it + + * Miscellaneous Ubuntu changes + - Rebase to v5.12-rc8 + - [Config] updateconfigs following 5.12-rc8 rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc8 + + -- Paolo Pisati Mon, 19 Apr 2021 11:37:27 +0200 + +linux-unstable (5.12.0-7.7) hirsute; urgency=medium + + * drm/i915: Drop force_probe requirement for Rocket Lake (LP: #1905466) + - drm/i915/rkl: Remove require_force_probe protection + + * HP m400 cartridges fail to find NIC when deploying hirsute (LP: #1918793) + - PCI: xgene: Fix cfg resource mapping + + * Update - Fix no screen show on display after S3 on CML-R (LP: #1922768) + - drm/i915/gen9bc: Handle TGP PCH during suspend/resume + + * Miscellaneous Ubuntu changes + - SAUCE: RDMA/core: Introduce peer memory interface + - Rebase to v5.12-rc7 + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc7 + + -- Paolo Pisati Mon, 12 Apr 2021 11:48:07 +0200 + +linux-unstable (5.12.0-6.6) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * i915 doesn't support some high pixel clock 4k * 60Hz monitors (LP: #1922372) + - drm/i915/vbt: update DP max link rate table + + * Tegra "mmc0: Timeout waiting for hardware interrupt" (LP: #1921140) + - SAUCE: mmc: host: Add required callbacks to set/clear CQE_EN bit + + * Enable ath11k debugfs/tracing (LP: #1922033) + - [Config] enable ath11k debugfs/tracing + + * Fix mic on P620 after S3 resume (LP: #1921757) + - ALSA: usb-audio: Carve out connector value checking into a helper + - ALSA: usb-audio: Check connector value on resume + + * Miscellaneous Ubuntu changes + - [Config] amd64,arm64: build KFENCE support but disable it by default + (KFENCE_SAMPLE_INTERVAL=0) + - Rebase to v5.12-rc6 + + * Miscellaneous upstream changes + - drm/dp: add MSO related DPCD registers + - drm/i915/edp: reject modes with dimensions other than fixed mode + - drm/i915/edp: always add fixed mode to probed modes in ->get_modes() + - drm/i915/edp: read sink MSO configuration for eDP 1.4+ + - drm/i915/reg: add stream splitter configuration definitions + - drm/i915/mso: add splitter state readout for platforms that support it + - drm/i915/mso: add splitter state check + - drm/i915/edp: modify fixed and downclock modes for MSO + - drm/i915/edp: enable eDP MSO during link training + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc6 + + -- Paolo Pisati Wed, 07 Apr 2021 11:42:55 +0200 + +linux-unstable (5.12.0-5.5) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * alsa/realtek: extend the delay time in the determine_headset_type for a + Dell AIO (LP: #1920747) + - SAUCE: ALSA: hda/realtek: fix a determine_headset_type issue for a Dell AIO + + * power off stress test will hang on the TGL machines (LP: #1919930) + - SAUCE: ASoC: SOF: Intel: TGL: set shutdown callback to hda_dsp_shutdown + - [Config] set SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 to n + + * lockdown on power (LP: #1855668) + - SAUCE: (lockdown) powerpc: lock down kernel in secure boot mode + + * Miscellaneous Ubuntu changes + - [Config] arm64 -- unify build_image and kernel_file values + - SAUCE: (lockdown) Add efi_status_to_str() and rework efi_status_to_err(). + - SAUCE: (lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (lockdown) security: lockdown: expose a hook to lock the kernel down + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot + mode + - SAUCE: (lockdown) efi: Lock down the kernel if booted in secure boot mode + - SAUCE: (lockdown) s390: Lock down the kernel when the IPL secure flag is set + - SAUCE: (lockdown) KEYS: Make use of platform keyring for module signature + verify + - SAUCE: (lockdown) arm64: Allow locking down the kernel under EFI secure boot + - SAUCE: (lockdown) security: lockdown: Make + CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic + - SAUCE: xr-usb-serial: clean up indentation + - SAUCE: xr-usb-serial: clean up build warnings + - SAUCE: apparmor: Fix build error, make sk parameter const + - Rebase to v5.12-rc5 + - [Config] updateconfigs following v5.12-rc5 rebase + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: (lockdown) s390: Lock down the kernel when the IPL + secure flag is set" + - Revert "UBUNTU: SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to + indicate secure boot mode" + - Revert "UBUNTU: SAUCE: (lockdown) powerpc: lock down kernel in secure boot + mode" + - Revert "UBUNTU: SAUCE: (lockdown) security: lockdown: Make + CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic" + - Revert "UBUNTU: SAUCE: (lockdown) arm64: Allow locking down the kernel under + EFI secure boot" + - Revert "UBUNTU: SAUCE: (lockdown) KEYS: Make use of platform keyring for + module signature verify" + - Revert "UBUNTU: SAUCE: (lockdown) efi: Lock down the kernel if booted in + secure boot mode" + - Revert "UBUNTU: SAUCE: (lockdown) security: lockdown: expose a hook to lock + the kernel down" + - Revert "UBUNTU: SAUCE: (lockdown) Make get_cert_list() use + efi_status_to_str() to print error messages." + - Revert "UBUNTU: SAUCE: (lockdown) Add efi_status_to_str() and rework + efi_status_to_err()." + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc5 + + -- Paolo Pisati Mon, 29 Mar 2021 12:59:38 +0200 + +linux-unstable (5.12.0-4.4) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Fix broken efifb on graphics device without driver (LP: #1914411) + - SAUCE: efifb: Ensure graphics device for efifb stays at PCI D0 + + * Fix system sleep on TGL systems with Intel ME (LP: #1919321) + - SAUCE: PCI: Serialize TGL e1000e PM ops + + * Miscellaneous Ubuntu changes + - Rebase to v5.12-rc4 + - [Config] updateconfigs following v5.12-rc4 rebase + + * Miscellaneous upstream changes + - riscv: dts: fu740: fix cache-controller interrupts + - riscv: sifive: fu740: cpu{1, 2, 3, 4} set compatible to sifive, u74-mc + - riscv: sifive: unmatched: update for 16GB rev3 + - riscv: Add 3 SBI wrapper functions to get cpu manufacturer information + - riscv: Get CPU manufacturer information + - riscv: Introduce alternative mechanism to apply errata solution + - riscv: sifive: apply errata "cip-453" patch + - clk: sifive: Add pcie_aux clock in prci driver for PCIe driver + - clk: sifive: Use reset-simple in prci driver for PCIe driver + - MAINTAINERS: Add maintainers for SiFive FU740 PCIe driver + - dt-bindings: PCI: Add SiFive FU740 PCIe host controller + - PCI: designware: Add SiFive FU740 PCIe host controller driver + - riscv: dts: Add PCIe support for the SiFive FU740-C000 SoC + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc4 + + -- Paolo Pisati Mon, 22 Mar 2021 12:43:14 +0100 + +linux-unstable (5.12.0-3.3) hirsute; urgency=medium + + * riscv: revert SiFive Unleashed CPUFreq (LP: #1917433) + - SAUCE: Revert "SiFive Unleashed CPUFreq" + + * Dell Precision 5550 takes up to 10 seconds to respond when coming out of + sleep (LP: #1919123) + - SAUCE: Input: i8042 - add dmi quirk + + * LRMv4: switch to signing nvidia modules via the Ubuntu Modules signing key + (LP: #1918134) + - [Packaging] sync dkms-build et al from LRMv4 + + * curtin: install flash-kernel in arm64 UEFI unexpected (LP: #1918427) + - [Packaging] Allow grub-efi-arm* to satisfy recommends on ARM + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Enable Tegra support in arm64 for NVIDIA Jetson (LP: #1918471) + - [Config] enable ARCH_TEGRA and all Tegra SOC's + - [Packaging] include modern Tegra modules + + * Cirrus Audio Codec CS8409/CS42L42: Input Device does not switch to headset + Mic when a headset is inserted (LP: #1918378) + - SAUCE: ALSA: hda/cirrus: Fix Headset Mic volume control name + + * Cirrus Audio Codec CS8409/CS42L42 support (LP: #1916554) + - ALSA: hda/cirrus: Increase AUTO_CFG_MAX_INS from 8 to 18 + - ALSA: hda/cirrus: Add support for CS8409 HDA bridge and CS42L42 companion + codec. + - ALSA: hda/cirrus: Add jack detect interrupt support from CS42L42 companion + codec. + - ALSA: hda/cirrus: Add Headphone and Headset MIC Volume Control + + * drm/i915: Drop force_probe requirement for JSL (LP: #1917843) + - SAUCE: drm/i915: Drop require_force_probe from JSL + + * Miscellaneous Ubuntu changes + - [Packaging] Skip d-i code if udebs are disabled + - [Packaging] Disable udebs if $DEBIAN/d-i doesn't exist + - [Packaging] remove dh-systemd build dependency + - [Config] fix several annotaions with enforcement typos + - [Config] refresh annotations + - [Config] updateconfigs following v5.12-rc3 rebase + - annotations: fixup after v5.12-rc3 rebase + - Rebase to v5.12-rc3 + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc3 + + -- Paolo Pisati Tue, 16 Mar 2021 18:43:03 +0100 + +linux-unstable (5.12.0-2.2) hirsute; urgency=medium + + * Miscellaneous Ubuntu changes + - Rebase to v5.12-rc2 + - [Config] updateconfigs following v5.12-rc2 rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc2 + + -- Paolo Pisati Mon, 08 Mar 2021 11:22:04 +0100 + +linux-unstable (5.12.0-1.1) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Support no udeb profile (LP: #1916095) + - [Packaging] replace custom filter script with dctrl-tools + - [Packaging] correctly implement noudeb build profiles. + + * Miscellaneous Ubuntu changes + - [Packaging] dkms-versions -- remove nvidia-graphics-drivers-440-server + - [Debian] run ubuntu-regression-suite for linux-unstable + - [Packaging] remove Provides: aufs-dkms + - [Config] update config and annotations following v5.12-rc1 rebase + - [Config] disable nvidia and nvidia_server builds + - [Config] temporarily disable ZFS + - temporarily disable modules check + - annotations: s390: temporarily remove CONFIG_KMSG_IDS + - [Config] amd64: FTBFS: disable HIO + - [Config] FTBFS: disable SHIFT_FS + - [Config] s390: temporarily remove CONFIG_KMSG_IDS + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] disable nvidia and nvidia_server builds" + - Revert "UBUNTU: SAUCE: s390: kernel message catalog" + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc1 + + -- Paolo Pisati Thu, 04 Mar 2021 18:26:12 +0100 + +linux-unstable (5.12.0-0.0) hirsute; urgency=medium + + * Empty entry + + -- Paolo Pisati Thu, 04 Mar 2021 18:17:32 +0100 + +linux-unstable (5.11.0-10.11) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * Support CML-S CPU + TGP PCH (LP: #1909457) + - drm/i915/rkl: new rkl ddc map for different PCH + - SAUCE: drm/i915/gen9_bc : Add TGP PCH support + + * Use DCPD to control HP DreamColor panel (LP: #1911001) + - SAUCE: drm/dp: Another HP DreamColor panel brigntness fix + + * Update nvidia dkms build for module linker script changes + - [Packaging] build-dkms--nvidia-N -- Update for preprocessed module linker + script + + * Please trust Canonical Livepatch Service kmod signing key (LP: #1898716) + - [Config] enable CONFIG_MODVERSIONS=y + - [Packaging] build canonical-certs.pem from branch/arch certs + - [Config] add Canonical Livepatch Service key to SYSTEM_TRUSTED_KEYS + - [Config] add ubuntu-drivers key to SYSTEM_TRUSTED_KEYS + + * Miscellaneous Ubuntu changes + - [Config] re-enable nvidia dkms + - SAUCE: selftests: memory-hotplug: bump timeout to 10min + - [Debian] update-aufs.sh -- Don't apply tmpfs-idr.patch + - [Config] Update configs + - [Config] disable nvidia and nvidia_server builds + - SAUCE: Import aufs driver + - [Config] CONFIG_AUFS_FS=n + - [Config] refresh annotations file + - [Config] set CONFIG_MIPI_I3C_HCI=m consistently + - [Config] set CONFIG_PINCTRL_MSM8953=m on armhf generic-lpae + - [Packaging] Change source package name to linux-unstable + - [Config] update LD_VERSION in config due to toolchain update + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: tmpfs: Don't use 64-bit inodes by defulat with 32-bit + ino_t" + + -- Andrea Righi Mon, 22 Feb 2021 07:18:07 +0100 + +linux-unstable (5.11.0-9.10) hirsute; urgency=medium + + * Empty entry + + -- Andrea Righi Mon, 22 Feb 2021 07:02:45 +0100 + +linux (5.11.0-9.10) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Config] update configs/annotations after rebase to 5.11 + - zfs-modules.ignore: add zzstd + + [ Upstream Kernel Changes ] + + * Rebase to v5.11 + + -- Andrea Righi Mon, 15 Feb 2021 16:29:36 +0100 + +linux (5.11.0-8.9) hirsute; urgency=medium + + * Missing device id for Intel TGL-H ISH [8086:43fc] in intel-ish-hid driver + (LP: #1914543) + - SAUCE: HID: intel-ish-hid: ipc: Add Tiger Lake H PCI device ID + + * Add support for new Realtek ethernet NIC (LP: #1914604) + - r8169: Add support for another RTL8168FP + + * Miscellaneous Ubuntu changes + - SAUCE: tmpfs: Don't use 64-bit inodes by defulat with 32-bit ino_t + - [Config] Set CONFIG_TMPFS_INODE64=n for s390x + - [Config] re-enable ZFS + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc7 + + -- Andrea Righi Mon, 08 Feb 2021 11:56:23 +0100 + +linux (5.11.0-7.8) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Boot fails: failed to validate module [nls_iso8859_1] BTF: -22 + (LP: #1911359) + - SAUCE: x86/entry: build thunk_$(BITS) only if CONFIG_PREEMPTION=y + + * Remove scary stack trace from Realtek WiFi driver (LP: #1913263) + - rtw88: reduce the log level for failure of tx report + + * Fix unexpected AER/DPC on PCH400 and PCH500 (LP: #1913691) + - Revert "UBUNTU: SAUCE: PCI: Enable ACS quirk on all CML root ports" + - Revert "UBUNTU: SAUCE: PCI: Enable ACS quirk on CML root port" + - SAUCE: PCI/AER: Disable AER interrupt during suspend + - SAUCE: PCI/DPC: Disable DPC interrupt during suspend + + * switch to an autogenerated nvidia series based core via dkms-versions + (LP: #1912803) + - [Packaging] nvidia -- use dkms-versions to define versions built + - [Packaging] update-version-dkms -- maintain flags fields + + * Introduce the new NVIDIA 460-server series and update the 460 series + (LP: #1913200) + - [Config] dkms-versions -- add the 460-server nvidia driver + + * Fix the video can't output through WD19TB connected with TGL platform during + cold-boot (LP: #1910211) + - SAUCE: drm/i915/dp: Prevent setting LTTPR mode if no LTTPR is detected + + * Stop using get_scalar_status command in Dell AIO uart backlight driver + (LP: #1865402) + - SAUCE: platform/x86: dell-uart-backlight: add get_display_mode command + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/seccomp: Accept any valid fd in user_notification_addfd + - [Packaging] Don't disable CONFIG_DEBUG_INFO in headers packages + - [Config] update configs/annotations after rebase to 5.11-rc6 + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc6 + + -- Andrea Righi Mon, 01 Feb 2021 10:27:52 +0100 + +linux (5.11.0-6.7) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Prevent thermal shutdown during boot process (LP: #1906168) + - thermal/drivers/acpi: Use hot and critical ops + - thermal/core: Remove notify ops + - thermal: int340x: Fix unexpected shutdown at critical temperature + - thermal: intel: pch: Fix unexpected shutdown at critical temperature + + * riscv: backport support for SiFive Unmatched (LP: #1910965) + - RISC-V: Update l2 cache DT documentation to add support for SiFive FU740 + - RISC-V: sifive_l2_cache: Update L2 cache driver to support SiFive FU740 + - dt-bindings: riscv: Update DT binding docs to support SiFive FU740 SoC + - riscv: dts: add initial support for the SiFive FU740-C000 SoC + - dt-bindings: riscv: Update YAML doc to support SiFive HiFive Unmatched board + - riscv: dts: add initial board data for the SiFive HiFive Unmatched + - PCI: microsemi: Add host driver for Microsemi PCIe controller + - Microsemi PCIe expansion board DT entry. + - SiFive Unleashed CPUFreq + - SiFive HiFive Unleashed: Add PWM LEDs (D1, D2, D3, D4) + + * initramfs unpacking failed (LP: #1835660) + - lib/decompress_unlz4.c: correctly handle zero-padding around initrds. + + * Miscellaneous Ubuntu changes + - [Config] update configs and annotations after rebase to 5.11-rc5 + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc5 + + -- Andrea Righi Mon, 25 Jan 2021 09:31:31 +0100 + +linux (5.11.0-5.6) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Config] update config and annotations after rebase to 5.11-rc4 + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc4 + + -- Andrea Righi Mon, 18 Jan 2021 10:46:10 +0100 + +linux (5.11.0-4.5) hirsute; urgency=medium + + * Boot fails: failed to validate module [nls_iso8859_1] BTF: -22 + (LP: #1911359) + - SAUCE: x86/entry: build thunk_$(BITS) only if CONFIG_PREEMPTION=y + + -- Andrea Righi Thu, 14 Jan 2021 12:53:26 +0100 + +linux (5.11.0-3.4) hirsute; urgency=medium + + * Boot fails: failed to validate module [nls_iso8859_1] BTF: -22 + (LP: #1911359) + - bpf: Allow empty module BTFs + - libbpf: Allow loading empty BTFs + + -- Andrea Righi Thu, 14 Jan 2021 07:43:45 +0100 + +linux (5.11.0-2.3) hirsute; urgency=medium + + * DMI entry syntax fix for Pegatron / ByteSpeed C15B (LP: #1910639) + - Input: i8042 - unbreak Pegatron C15B + + * SYNA30B4:00 06CB:CE09 Mouse on HP EliteBook 850 G7 not working at all + (LP: #1908992) + - HID: multitouch: Enable multi-input for Synaptics pointstick/touchpad device + + * debian/scripts/file-downloader does not handle positive failures correctly + (LP: #1878897) + - [Packaging] file-downloader not handling positive failures correctly + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * CVE-2021-1052 // CVE-2021-1053 + - [Packaging] NVIDIA -- Add the NVIDIA 460 driver + + * Miscellaneous Ubuntu changes + - [Packaging] Remove nvidia-455 dkms build + - SAUCE: ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP + machines + - [Config] update configs and annotations after rebase to 5.11-rc3 + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc3 + + -- Andrea Righi Mon, 11 Jan 2021 09:52:27 +0100 + +linux (5.11.0-1.2) hirsute; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc2 + + -- Andrea Righi Thu, 07 Jan 2021 16:57:01 +0100 + +linux (5.11.0-0.1) hirsute; urgency=medium + + * dep-8 ubuntu-regression-suite tests are not run for all linux-hwe-* kernels + (LP: #1908529) + - [dep-8] Allow all hwe kernels + + * Fix reading speed and duplex sysfs on igc device (LP: #1906851) + - igc: Report speed and duplex as unknown when device is runtime suspended + + * rtwpci driver blocks the system to enter PC10, stuck at PC3 (LP: #1907200) + - SAUCE: rtw88: 8723de: let cpu enter c10 + + * [21.04 FEAT] Deactivate CONFIG_QETH_OSN kernel config option (LP: #1906370) + - [Config] Deactivate CONFIG_QETH_OSN kernel config option + + * Add dpcd backlight control for 0x4c83 0x4f41 (LP: #1905663) + - SAUCE: drm/dp: Add dpcd backlight control for 0x4c83 0x4f41 + + * disable building bpf selftests (LP: #1908144) + - SAUCE: selftests/bpf: Clarify build error if no vmlinux + - SAUCE: selftests: Skip BPF selftests by default + - disable building bpf selftests (no VMLINUX_BTF) + + * Miscellaneous Ubuntu changes + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot + mode + - SAUCE: (lockdown) s390: Lock down the kernel when the IPL secure flag is set + - [Config] update configs and annotations after rebase to v5.11-rc1 + - hio: fix build error with kernel 5.11 + - SAUCE: shiftfs: fix build error with 5.11 + - [Config] temporarily disable ZFS + - check-aliases: do not error if modules.alias does not exist + - ppc64el: don't build stripped vdso + + * Miscellaneous upstream changes + - irq: export irq_check_status_bit + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc1 + + -- Andrea Righi Mon, 04 Jan 2021 09:17:48 +0100 + +linux (5.11.0-0.0) hirsute; urgency=medium + + * Empty entry + + -- Andrea Righi Wed, 30 Dec 2020 09:04:41 +0100 + +linux (5.10.0-9.10) hirsute; urgency=medium + + * Use INTx for Pericom USB controllers (LP: #1906839) + - PCI: Disable MSI for Pericom PCIe-USB adapter + + * disable building bpf selftests (LP: #1908144) + - SAUCE: selftests/bpf: clarify build error if no vmlinux + - SAUCE: selftests: Skip BPF seftests by default + - disable building bpf selftests (no VMLINUX_BTF) + + * Miscellaneous Ubuntu changes + - [Config] Enable CONFIG_BPF_LSM + + * Miscellaneous upstream changes + - Revert "md: change mddev 'chunk_sectors' from int to unsigned" + - Revert "dm raid: fix discard limits for raid1 and raid10" + + -- Andrea Righi Tue, 15 Dec 2020 10:16:14 +0100 + +linux (5.10.0-8.9) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * Fix bpf selftest compilation with clang 11 + - bpf: Fix selftest compilation on clang 11 + + * Miscellaneous Ubuntu changes + - [Config] update configs and annotations after rebase to v5.10 + + [ Upstream Kernel Changes ] + + * Rebase to v5.10 + + -- Andrea Righi Mon, 14 Dec 2020 08:57:57 +0100 + +linux (5.10.0-7.8) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Fix linux-libc-dev build for hirsute forward port kernels (LP: #1904067) + - [Debian] Build linux-libc-dev for debian.master* branches + + * Update kernel packaging to support forward porting kernels (LP: #1902957) + - [Debian] Update for leader included in BACKPORT_SUFFIX + + * Introduce the new NVIDIA 455 series (LP: #1897751) + - [Packaging] NVIDIA -- Add signed modules for the 455 driver + + * 5.10 kernel fails to boot with secure boot disabled (LP: #1904906) + - [Config] CONFIG_RCU_SCALE_TEST=n + + * Miscellaneous Ubuntu changes + - [Config] s390x: disable GPIO_CDEV + - [Config] ARM_CMN=m + - [Config] disable GPIO_CDEV_V1 + - [Config] Reorder annotations after 5.10-rc6 rebase + - [Packaging] Remove nvidia-435 dkms build + - [Packaging] Change source package name to linux + - [Config] Update configs and annotations after rebase to v5.10-rc7 + - SAUCE: Revert "mm/filemap: add static for function + __add_to_page_cache_locked" + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc7 + + -- Seth Forshee Mon, 07 Dec 2020 00:15:20 -0600 + +linux (5.10.0-6.7) hirsute; urgency=medium + + * Empty entry. + + -- Seth Forshee Sun, 06 Dec 2020 22:13:46 -0600 + +linux-5.10 (5.10.0-6.7) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Avoid double newline when running insertchanges (LP: #1903293) + - [Packaging] insertchanges: avoid double newline + + * Miscellaneous Ubuntu changes + - [Packaging]: linux-modules should depend on linux-image + - [Packaging]: linux-image should suggest linux-modules-extra + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc6 + + -- Andrea Righi Mon, 30 Nov 2020 07:47:34 +0100 + +linux-5.10 (5.10.0-5.6) hirsute; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] add CONFIG_INFINIBAND_VIRT_DMA + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc5 + + -- Andrea Righi Mon, 23 Nov 2020 13:17:44 +0100 + +linux-5.10 (5.10.0-4.5) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Packaging] reduce the size required to build packages + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc4 + + -- Andrea Righi Mon, 16 Nov 2020 08:33:54 +0100 + +linux-5.10 (5.10.0-3.4) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * e1000e: fix issues with S0ix (LP: #1902687) + - SAUCE: e1000e: fix S0ix flow to allow S0i3.2 subset entry + - SAUCE: e1000e: allow turning s0ix flows on for systems with ME + - SAUCE: e1000e: Add Dell's Comet Lake systems into s0ix heuristics + - SAUCE: e1000e: Add more Dell CML systems into s0ix heuristics + - [Config] Update CONFIG_E1000E for ppc64el in annotations + + * perf: Add support for Rocket Lake (LP: #1902004) + - SAUCE: perf/x86/intel: Add Rocket Lake CPU support + - SAUCE: perf/x86/cstate: Add Rocket Lake CPU support + - SAUCE: perf/x86/msr: Add Rocket Lake CPU support + - SAUCE: perf/x86/intel/uncore: Add Rocket Lake support + + * Miscellaneous Ubuntu changes + - [Config] Disable CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE + - [Config] update CONFIG_MST_IRQ after rebase to 5.10-rc3 + - [Config] drop obsolete SND_SST_IPC options + - [Config] re-enable ZFS + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc3 + + -- Andrea Righi Mon, 09 Nov 2020 09:37:08 +0100 + +linux-5.10 (5.10.0-2.3) hirsute; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] Switch arm64 default cpufreq governor to ondemand + - [Debian] Include scripts/module.lds from builddir in headers package + + -- Seth Forshee Tue, 03 Nov 2020 21:01:52 -0600 + +linux-5.10 (5.10.0-1.2) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Fix non-working Intel NVMe after S3 (LP: #1900847) + - SAUCE: PCI: Enable ACS quirk on all CML root ports + + * Miscellaneous Ubuntu changes + - [Packaging] move to hirsute + - [Config] Update configs and annotations after rebase to 5.10-rc2 + - [Config] Update numerous configs to conform with policy + - [Config] Switch default CPUFreq governer for arm64/armhf to schedultil + - [Config] Temporarily disable DEBUG_INFO_BTF for armhf + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc2 + + -- Seth Forshee Mon, 02 Nov 2020 13:18:27 -0600 + +linux-5.10 (5.10.0-0.1) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Config] Update configs and annotations for v5.10-rc1 + - SAUCE: platform/x86: dell-uart-backlight: rename kzfree() to + kfree_sensitive() + - SAUCE: apparmor: rename kzfree() to kfree_sensitive() + - SAUCE: LSM: change ima_read_file() to use lsmblob + - SAUCE: LSM: Use lsmblob in smk_netlbl_mls() + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] Change source package name to linux-5.10" + - s390: correct __bootdata / __bootdata_preserved macros + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc1 + + -- Paolo Pisati Tue, 27 Oct 2020 16:57:07 +0100 + +linux-5.10 (5.10.0-0.0) groovy; urgency=medium + + * Empty entry + + -- Paolo Pisati Mon, 26 Oct 2020 14:55:48 +0100 + +linux-5.9 (5.9.0-2.3) groovy; urgency=medium + + * Fix system reboot when disconnecting WiFi (LP: #1899726) + - iwlwifi: msix: limit max RX queues for 9000 family + + * booting linux-generic-lpae armhf kernel under qemu results in relocation out + of range, and thus no modules can be loaded (LP: #1899519) + - [Config] armhf: ARM_MODULE_PLTS=y + + * Fix broken MSI interrupt after HDA controller was suspended (LP: #1899586) + - ALSA: hda: fix jack detection with Realtek codecs when in D3 + + * CVE-2020-16119 + - SAUCE: dccp: avoid double free of ccid on child socket + + * python3-venv is gone (LP: #1896801) + - SAUCE: doc: remove python3-venv dependency + + * *-tools-common packages descriptions have typo "PGKVER" (LP: #1898903) + - [Packaging] Fix typo in -tools template s/PGKVER/PKGVER/ + + * Enable brightness control on HP DreamColor panel (LP: #1898865) + - SAUCE: drm/i915/dpcd_bl: Skip testing control capability with force DPCD + quirk + - SAUCE: drm/dp: HP DreamColor panel brigntness fix + + * HP Zbook Studio G7 boots into corrupted screen with PSR featured panel + (LP: #1897501) + - SAUCE: drm/i915/psr: allow overriding PSR disable param by quirk + - SAUCE: drm/dp: add DP_QUIRK_FORCE_PSR_CHIP_DEFAULT quirk to CMN prod-ID + 19-15 + + * Fix broken e1000e device after S3 (LP: #1897755) + - SAUCE: e1000e: Increase polling timeout on MDIC ready bit + + * Wakeup the system by touching the touchpad (LP: #1888331) + - HID: i2c-hid: Enable wakeup capability from Suspend-to-Idle + + * Enable LTR for endpoints behind VMD (LP: #1896598) + - SAUCE: PCI/ASPM: Enable LTR for endpoints behind VMD + + * [SRU] [Focal/OEM-5.6/Groovy]Fix AMD usb host controller lost after stress S3 + (LP: #1893914) + - SAUCE: xhci: workaround for S3 issue on AMD SNPS 3.0 xHC + + * debian/rules editconfigs does not work on s390x to change s390x only configs + (LP: #1863116) + - [Packaging] kernelconfig -- only update/edit configurations on architectures + we have compiler support + + * Fix non-working NVMe after S3 (LP: #1895718) + - SAUCE: PCI: Enable ACS quirk on CML root port + + * Miscellaneous Ubuntu changes + - SAUCE: bpf: Check CONFIG_BPF option for resolve_btfids + - SAUCE: tools resolve_btfids: Always force HOSTARCH + - packaging: arm64: add a 64KB mem pages flavour called 'generic-64k' + - packaging: arm64: generic-64k: skip ABI, modules and retpoline checks + - SAUCE: drm/i915/display: Fix null deref in intel_psr_atomic_check() + - [Config] Update toolchain versions + - [Config] Refresh annotations + - Add ubuntu-host module + - CONFIG_UBUNTU_HOST=m + - SAUCE: apparmor: drop prefixing abs root labels with '=' + - SAUCE: apparmor: disable showing the mode as part of a secid to secctx + - SAUCE: apparmor: rename aa_sock() to aa_unix_sk() + - SAUCE: apparmor: LSM stacking: switch from SK_CTX() to aa_sock() + - SAUCE: LSM: Infrastructure management of the sock security + - SAUCE: LSM: Create and manage the lsmblob data structure. + - SAUCE: LSM: Use lsmblob in security_audit_rule_match + - SAUCE: LSM: Use lsmblob in security_kernel_act_as + - SAUCE: net: Prepare UDS for security module stacking + - SAUCE: LSM: Use lsmblob in security_secctx_to_secid + - SAUCE: LSM: Use lsmblob in security_secid_to_secctx + - SAUCE: LSM: Use lsmblob in security_ipc_getsecid + - SAUCE: LSM: Use lsmblob in security_task_getsecid + - SAUCE: LSM: Use lsmblob in security_inode_getsecid + - SAUCE: LSM: Use lsmblob in security_cred_getsecid + - SAUCE: IMA: Change internal interfaces to use lsmblobs + - SAUCE: LSM: Specify which LSM to display + - SAUCE: LSM: Ensure the correct LSM context releaser + - SAUCE: LSM: Use lsmcontext in security_secid_to_secctx + - SAUCE: LSM: Use lsmcontext in security_inode_getsecctx + - SAUCE: LSM: security_secid_to_secctx in netlink netfilter + - SAUCE: NET: Store LSM netlabel data in a lsmblob + - SAUCE: LSM: Verify LSM display sanity in binder + - SAUCE: Audit: Add new record for multiple process LSM attributes + - SAUCE: Audit: Add a new record for multiple object LSM + - SAUCE: LSM: Add /proc attr entry for full LSM context + - SAUCE: AppArmor: Remove the exclusive flag + - SAUCE: Audit: Fix for missing NULL check + + * Miscellaneous upstream changes + - tty: hvcs: Don't NULL tty->driver_data until hvcs_cleanup() + + [ Upstream Kernel Changes ] + + * Rebase to v5.9 + + -- Seth Forshee Wed, 14 Oct 2020 13:31:18 -0500 + +linux-5.9 (5.9.0-1.2) groovy; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] Update configs after rebase to 5.9-rc6 + - SAUCE: dax: Fix compilation for CONFIG_DAX && !CONFIG_FS_DAX + - SAUCE: bpf: Use --no-fail option if CONFIG_BPF is not enabled + - SAUCE: tools resolve_btfids: Always force HOSTARCH + + [ Upstream Kernel Changes ] + + * Rebase to v5.9-rc6 + + -- Seth Forshee Mon, 21 Sep 2020 14:39:34 -0500 + +linux-5.9 (5.9.0-0.1) groovy; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] Update configs and annotations for v5.9-rc1 + - SAUCE: i915: Fix build error due to missing struct definition + - hio -- Update blk_queue_split() calls for changes in 5.9-rc1 + - hio -- Updates for move of make_request_fn to struct block_device_operations + - [Config] Disable zfs dkms build + - [Config] Disable nvidia dkms build + - [Config] Disable nvidia server dkms builds + - SAUCE: remoteproc: qcom: Use div_u64() for 64-bit division + - SAUCE: PCI/ASPM: Enable ASPM for links under VMD domain + - [Packaging] Bind hv_vss_daemon startup to hv_vss device + - [Packaging] bind hv_fcopy_daemon startup to hv_fcopy device + - [Config] Re-enable UEFI signing for arm64 + - SAUCE: Revert "UBUNTU: SAUCE: export __get_vm_area_caller() and map_kernel_range()" + - [Config] Set the default CPU governor to ONDEMAND + - [Packaging] update variants + - [Packaging] update helper scripts + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.9-rc5 + + -- Seth Forshee Thu, 17 Sep 2020 15:01:21 -0500 + +linux-5.9 (5.9.0-0.0) groovy; urgency=medium + + * Empty entry + + -- Seth Forshee Tue, 18 Aug 2020 16:48:03 -0500 + +linux (5.8.0-16.17) groovy; urgency=medium + + * groovy/linux: 5.8.0-16.17 -proposed tracker (LP: #1891233) + + * Miscellaneous Ubuntu changes + - hio -- Update to use bio_{start,end}_io_acct with 5.8+ + - Enable hio driver + - [Packaging] Temporarily disable building doc package contents + + -- Seth Forshee Tue, 11 Aug 2020 15:32:58 -0500 + +linux (5.8.0-15.16) groovy; urgency=medium + + * groovy/linux: 5.8.0-15.16 -proposed tracker (LP: #1891177) + + * Miscellaneous Ubuntu changes + - SAUCE: Documentation: import error c_funcptr_sig_re, c_sig_re (sphinx- + doc/sphinx@0f49e30c) + + -- Seth Forshee Tue, 11 Aug 2020 09:29:58 -0500 + +linux (5.8.0-14.15) groovy; urgency=medium + + * groovy/linux: 5.8.0-14.15 -proposed tracker (LP: #1891085) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * msg_zerocopy.sh in net from ubuntu_kernel_selftests failed (LP: #1812620) + - selftests/net: relax cpu affinity requirement in msg_zerocopy test + + * Fix missing HDMI/DP Audio on an HP Desktop (LP: #1890441) + - ALSA: hda/hdmi: Add quirk to force connectivity + + * Add initial audio support for Lenovo ThinkStation P620 (LP: #1890317) + - ALSA: usb-audio: Add support for Lenovo ThinkStation P620 + + * Fix IOMMU error on AMD Radeon Pro W5700 (LP: #1890306) + - PCI: Mark AMD Navi10 GPU rev 0x00 ATS as broken + + * Enlarge hisi_sec2 capability (LP: #1890222) + - crypto: hisilicon - update SEC driver module parameter + + * Miscellaneous Ubuntu changes + - [Config] Re-enable signing for ppc64el + + -- Seth Forshee Mon, 10 Aug 2020 15:26:46 -0500 + +linux (5.8.0-13.14) groovy; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] Remove i386 configs + - SAUCE: apply a workaround to re-enable CONFIG_CRYPTO_AEGIS128_SIMD + - SAUCE: export __get_vm_area_caller() and map_kernel_range() + - [Config] drop CONFIG_BINFMT_AOUT enforcement + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] disable CONFIG_CRYPTO_AEGIS128_SIMD" + + [ Upstream Kernel Changes ] + + * Rebase to v5.8 + + -- Andrea Righi Tue, 04 Aug 2020 09:51:50 +0200 + +linux (5.8.0-12.13) groovy; urgency=medium + + * groovy/linux: 5.8.0-12.13 -proposed tracker (LP: #1889481) + + * Fix right speaker of HP laptop (LP: #1889375) + - SAUCE: hda/realtek: Fix right speaker of HP laptop + + * blk_update_request error when mount nvme partition (LP: #1872383) + - SAUCE: nvme-pci: prevent SK hynix PC400 from using Write Zeroes command + + * Add support for Atlantic NIC firmware v4 (LP: #1886908) + - Revert "UBUNTU: SAUCE: net: atlantic: Add support for firmware v4" + - net: atlantic: align return value of ver_match function with function name + - net: atlantic: add support for FW 4.x + + * Miscellaneous Ubuntu changes + - [Debian] Fix debian/tests for linux-5.8 -> linux rename + - SAUCE: selftests/powerpc: return skip code for spectre_v2 + + -- Seth Forshee Wed, 29 Jul 2020 16:58:47 -0500 + +linux (5.8.0-11.12) groovy; urgency=medium + + * groovy/linux: 5.8.0-11.12 -proposed tracker (LP: #1889336) + + * Miscellaneous Ubuntu changes + - [Packaging] dwarves is not required for linux-libc-dev or stage1 + + -- Seth Forshee Tue, 28 Jul 2020 22:33:24 -0500 + +linux (5.8.0-10.11) groovy; urgency=medium + + * groovy/linux: 5.8.0-10.11 -proposed tracker (LP: #1889316) + + * Miscellaneous Ubuntu changes + - [Packaging] Add more packages to Build-Depends-Indep for docs + - [Debian] Specify python executable in kmake + - [Debian] Don't treat warnings as errors during perf builds + - [Config] Disable signing for ppc64el + + -- Seth Forshee Tue, 28 Jul 2020 17:09:52 -0500 + +linux (5.8.0-9.10) groovy; urgency=medium + + * groovy/linux: 5.8.0-9.10 -proposed tracker (LP: #1889140) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * Miscellaneous Ubuntu changes + - SAUCE: Fix s390x compile error on F32 utils/stat-display.c + - [Packaging] Add python3-venv to Build-Depends-Indep + + -- Seth Forshee Mon, 27 Jul 2020 21:01:46 -0500 + +linux (5.8.0-8.9) groovy; urgency=medium + + * groovy/linux: 5.8.0-8.9 -proposed tracker (LP: #1889104) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - update dkms package versions + - [Packaging] update variants + + * Introduce the new NVIDIA 450-server and the 450 UDA series (LP: #1887674) + - [Packaging] NVIDIA -- Add signed modules for 450 450-server + + * Introduce the new NVIDIA 418-server and 440-server series, and update the + current NVIDIA drivers (LP: #1881137) + - [packaging] add signed modules for the 418-server and the 440-server + flavours + + * Miscellaneous Ubuntu changes + - SAUCE: Revert "radix-tree: Use local_lock for protection" + - [Config] CONFIG_DEBUG_INFO_COMPRESSED=n + - [Config] disable CONFIG_CRYPTO_AEGIS128_SIMD + - [Config] Enable nvidia dkms build + + * Miscellaneous upstream changes + - usbip: tools: fix build error for multiple definition + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc7 + + -- Seth Forshee Mon, 27 Jul 2020 11:18:12 -0500 + +linux (5.8.0-7.8) groovy; urgency=medium + + * Empty entry + + -- Seth Forshee Mon, 27 Jul 2020 09:22:19 +0200 + +linux-5.8 (5.8.0-7.8) groovy; urgency=medium + + * soc/amd/renoir: detect dmic from acpi table (LP: #1887734) + - ASoC: amd: add logic to check dmic hardware runtime + - ASoC: amd: add ACPI dependency check + - ASoC: amd: fixed kernel warnings + + * linux 4.15.0-109-generic network DoS regression vs -108 (LP: #1886668) + - SAUCE: Revert "netprio_cgroup: Fix unlimited memory leak of v2 cgroups" + + * Add support for Atlantic NIC firmware v4 (LP: #1886908) + - SAUCE: net: atlantic: Add support for firmware v4 + + * MGA G200e doesn't work under GDM Wayland (LP: #1886140) + - drm/mgag200: Remove HW cursor + - drm/mgag200: Clean up mga_set_start_address() + - drm/mgag200: Clean up mga_crtc_do_set_base() + - drm/mgag200: Move mode-setting code into separate helper function + - drm/mgag200: Split MISC register update into PLL selection, SYNC and I/O + - drm/mgag200: Update mode registers after plane registers + - drm/mgag200: Set pitch in a separate helper function + - drm/mgag200: Set primary plane's format in separate helper function + - drm/mgag200: Move TAGFIFO reset into separate function + - drm/mgag200: Move hiprilvl setting into separate functions + - drm/mgag200: Move register initialization into separate function + - drm/mgag200: Remove out-commented suspend/resume helpers + - drm/mgag200: Use simple-display data structures + - drm/mgag200: Convert to simple KMS helper + - drm/mgag200: Replace VRAM helpers with SHMEM helpers + + * Miscellaneous Ubuntu changes + - SAUCE: s390/bpf: fix sign extension in branch_ku + - SAUCE: selftests: net: ip_defrag: modprobe missing nf_defrag_ipv6 support + - SAUCE: selftests: fib_nexthop_multiprefix: fix cleanup() netns deletion + - [packaging] debhelper-compat (= 10) (and retire debian/compat) + - [Config] Update configs after rebase to 5.8-rc6 + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc6 + + -- Andrea Righi Mon, 20 Jul 2020 09:55:47 +0200 + +linux-5.8 (5.8.0-6.7) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * perf build broken after updating to bintuils 2.34.90.20200706-1ubuntu1 + (LP: #1887397) + - SAUCE: libtraceevent: Strip symbol version from nm output + + -- Seth Forshee Mon, 13 Jul 2020 14:07:53 -0500 + +linux-5.8 (5.8.0-5.6) groovy; urgency=medium + + * linux-libc-dev broken for crossbuilding, Multi-Arch:same violation + (LP: #1886188) + - [Packaging] Produce linux-libc-deb package for riscv64 + - [Debian] Disallow building linux-libc-dev from linux-riscv + + * Miscellaneous Ubuntu changes + - SAUCE: Revert "UBUNTU: SAUCE: test_bpf: remove expected fail for Ctx heavy + transformations test on s390" + - SAUCE: Revert "test_bpf: flag tests that cannot be jited on s390" + - [Config] Update configs (gcc update) + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc5 + + -- Andrea Righi Mon, 13 Jul 2020 08:42:14 +0200 + +linux-5.8 (5.8.0-4.5) groovy; urgency=medium + + * Add generic LED class support for audio LED (LP: #1885896) + - ALSA: hda: generic: Always call led-trigger for mic mute LED + - ALSA: hda: generic: Add a helper for mic-mute LED with LED classdev + - ALSA: hda/realtek: Convert to cdev-variant of mic-mute LED controls + - ALSA: hda/conexant: Convert to cdev-variant of mic-mute LED controls + - ALSA: hda/sigmatel: Convert to cdev-variant of mic-mute LED controls + - ALSA: hda: generic: Drop unused snd_hda_gen_fixup_micmute_led() + - ALSA: hda: generic: Drop the old mic-mute LED hook + - ALSA: hda: generic: Add vmaster mute LED helper + - ALSA: hda/realtek: Use the new vmaster mute LED helper + - ALSA: hda/conexant: Use the new vmaster mute LED helper + - ALSA: hda/sigmatel: Use the new vmaster mute LED helper + - ALSA: hda/realtek: Unify LED helper code + - ALSA: hda: Let LED cdev handling suspend/resume + + * seccomp_bpf fails on powerpc (LP: #1885757) + - SAUCE: selftests/seccomp: fix ptrace tests on powerpc + + * CVE-2020-11935 + - SAUCE: aufs: do not call i_readcount_inc() + + * Miscellaneous Ubuntu changes + - SAUCE: Update aufs to 5.x-rcN 20200622 + - [Config] Update configs to set CONFIG_SND_HDA_GENERIC_LEDS value + - [Config] CONFIG_SECURITY_DMESG_RESTRICT=y + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc4 + + -- Seth Forshee Mon, 06 Jul 2020 08:14:28 -0500 + +linux-5.8 (5.8.0-3.4) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - update dkms package versions + + * lxc 1:4.0.2-0ubuntu1 ADT test failure with linux-5.8 5.8.0-1.2 + (LP: #1884635) + - SAUCE: overlayfs: fix faulty rebase + + * shiftfs: O_TMPFILE reports ESTALE (LP: #1872757) + - SAUCE: shiftfs: prevent ESTALE for LOOKUP_JUMP lookups + + * shiftfs: fix btrfs regression (LP: #1884767) + - SAUCE: Revert "UBUNTU: SAUCE: shiftfs: fix dentry revalidation" + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_DEBUG_INFO_COMPRESSED=y + - SAUCE: regulator: rename da903x to da903x-regulator + - [Config] Add da903x to modules.ignore + - [Config] Update configs for rebase to 5.8-rc3 + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc3 + + -- Seth Forshee Mon, 29 Jun 2020 08:48:25 -0500 + +linux-5.8 (5.8.0-2.3) groovy; urgency=medium + + * Support Audio Mute LED for two new HP laptops (LP: #1884251) + - ALSA: hda/realtek: Add mute LED and micmute LED support for HP systems + + * CVE-2019-16089 + - SAUCE: nbd_genl_status: null check for nla_nest_start + + * tpm: fix TIS locality timeout problems (LP: #1881710) + - SAUCE: tpm: fix TIS locality timeout problems + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - SAUCE: security,perf: Allow further restriction of perf_event_open + - [Config] CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y + - [Config] Update configs and annotations for 5.8-rc2 + - [Config] Enable zfs + - [Config] Enable CONFIG_DEBUG_INFO_BTF + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc2 + + -- Seth Forshee Mon, 22 Jun 2020 15:05:54 -0500 + +linux-5.8 (5.8.0-1.2) groovy; urgency=medium + + * Miscellaneous Ubuntu changes + - [Debian] Support linux-x.y in udeb package names + - [Packaging] Use SRCPKGNAME for udeb packages + + -- Seth Forshee Wed, 17 Jun 2020 19:34:32 -0500 + +linux-5.8 (5.8.0-0.1) groovy; urgency=medium + + * Docker registry doesn't stay up and keeps restarting (LP: #1879690) + - Revert "UBUNTU: SAUCE: overlayfs: use shiftfs hacks only with shiftfs as underlay" + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * Miscellaneous Ubuntu changes + - [Packaging] Update source package name to linux-5.8 + - SAUCE: (lockdown) Add efi_status_to_str() and rework efi_status_to_err(). + - SAUCE: (lockdown) Make get_cert_list() use efi_status_to_str() to print error messages. + - SAUCE: (lockdown) security: lockdown: expose a hook to lock the kernel down + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode + - SAUCE: (lockdown) efi: Lock down the kernel if booted in secure boot mode + - SAUCE: (lockdown) s390: Lock down the kernel when the IPL secure flag is set + - SAUCE: (lockdown) KEYS: Make use of platform keyring for module signature verify + - SAUCE: (lockdown) arm64: Allow locking down the kernel under EFI secure boot + - SAUCE: (lockdown) security: lockdown: Make CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic + - SAUCE: (lockdown) powerpc: lock down kernel in secure boot mode + - SAUCE: Import aufs driver + - [Config] Update configs for v5.8-rc1 + - [Config] Update annotations for v5.8-rc1 config changes + - SAUCE: shiftfs -- Fix build errors from missing fiemap definitions + - Disable hio driver + + * Miscellaneous upstream changes + - acpi: disallow loading configfs acpi tables when locked down + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc1 + + -- Seth Forshee Wed, 17 Jun 2020 11:54:24 -0500 + +linux-5.8 (5.8.0-0.0) groovy; urgency=medium + + * Empty entry + + -- Seth Forshee Sun, 14 Jun 2020 22:40:35 -0500 + +linux-5.7 (5.7.0-8.9) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Enforce all config annotations (LP: #1879327) + - [Config]: do not enforce CONFIG_VERSION_SIGNATURE + - [Config]: prepare to enforce all + - [Config]: enforce all config options + + * Miscellaneous Ubuntu changes + - [Config]: annotations review after 5.7 rebase + - [Config] annotations: IXP4XX* depends on ARCH_IXP4XX + - [Config] THERMAL_GOV_POWER_ALLOCATOR=y + - [Config] annotations: SOC_CAMERA is marked as BROKEN + - [Config] annotations: NFSD_V4_2_INTER_SSC depends on NFS_FS=y + - [Config] annotations: CRYPTO_DEV_CHELSIO_TLS depends on legacy (and largely + unmantained) TLS_TOE + - [Config] annotations: SERIO_OLPC_APSP depends on ARCH_MMP + - [Config] RTW88_DEBUG=y + - [Config] annotations: ISDN_CAPI is a bool, and BT_CMTP depends on it + - [Config] annotations SND_SOC_SOF_DEVELOPER_SUPPORT depends on + SND_SOC_SOF_DEVELOPER_SUPPORT + - [Config] annotations: SND_SOC_SOF_BAYTRAIL_SUPPORT is mutually exclusive + with SND_SST_ATOM_HIFI2_PLATFORM_ACPI + - [Config] annotations: DEBUG_IMX_UART_PORT is defined only any + DEBUG_IMX*_UART is enabled + - [Config] annotations: HW_RANDOM_IMX_RNGC depends on SOC_IMX25 + - [Config] annotations: armhf: VIRTUALIZATION support was removed for arm32 + - [Config] annotations: arm64: remove DEBUG_ALIGN_RODATA + - [Config] annotations: ppc64: DATA_SHIFT defaults to PPC_PAGE_SHIFT + - [Config] arm64: enforce ARM64_USE_LSE_ATOMICS + - [Config] s390x: MOST is not set + - [Config] s390x: BCM84881_PHY is not set + - [Config] s390x: XILINX_LL_TEMAC is not set + - [Config] s390x: PHY_INTEL_EMMC requires GENERIC_PHY (off by default on + s390x) + - [Config] s390x: CHECK_STACK conflicts with VMAP_STACK + - [Config] annotations: s390x: NODES_SHIFT=1 + - [Config] annotations: import new symbols + - [Config] annotations: remove unmatched menu and options + + -- Paolo Pisati Fri, 12 Jun 2020 12:03:01 +0200 + +linux-5.7 (5.7.0-7.8) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + - [Packaging] update helper scripts + + * [UBUNTU 20.04] s390x/pci: fix linking between PF and VF for multifunction + devices (LP: #1879704) + - PCI/IOV: Introduce pci_iov_sysfs_link() function + - s390/pci: create links between PFs and VFs + + * Miscellaneous Ubuntu changes + - [Config] Disable UEFI signing for arm64 + - Rebase to v5.7.1 + + [ Upstream Kernel Changes ] + + * Rebase to v5.7.1 + + -- Paolo Pisati Mon, 08 Jun 2020 11:16:58 +0200 + +linux-5.7 (5.7.0-6.7) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - update dkms package versions + + * shiftfs: fix btrfs snapshot deletion (LP: #1879688) + - SAUCE: shiftfs: let userns root destroy subvolumes from other users + + * seccomp_benchmark times out on eoan (LP: #1881576) + - SAUCE: selftests/seccomp: use 90s as timeout + + * Realtek 8723DE [10ec:d723] subsystem [10ec:d738] disconnects unsolicitedly + when Bluetooth is paired: Reason: 23=IEEE8021X_FAILED (LP: #1878147) + - SAUCE: Revert "UBUNTU: SAUCE: rtw88: Move driver IQK to set channel before + association for 11N chip" + - SAUCE: Revert "UBUNTU: SAUCE: rtw88: fix rate for a while after being + connected" + - SAUCE: Revert "UBUNTU: SAUCE: rtw88: No retry and report for auth and assoc" + - SAUCE: Revert "UBUNTU: SAUCE: rtw88: 8723d: Add coex support" + - rtw88: 8723d: Add coex support + - SAUCE: rtw88: coex: 8723d: set antanna control owner + - SAUCE: rtw88: coex: 8723d: handle BT inquiry cases + - SAUCE: rtw88: fix EAPOL 4-way failure by finish IQK earlier + + * ASoC/amd: add audio driver for amd renoir (LP: #1881046) + - ASoC: amd: add Renoir ACP3x IP register header + - ASoC: amd: add Renoir ACP PCI driver + - ASoC: amd: add acp init/de-init functions + - ASoC: amd: create acp3x pdm platform device + - ASoC: amd: add ACP3x PDM platform driver + - ASoC: amd: irq handler changes for ACP3x PDM dma driver + - ASoC: amd: add acp3x pdm driver dma ops + - ASoC: amd: add ACP PDM DMA driver dai ops + - ASoC: amd: add Renoir ACP PCI driver PM ops + - ASoC: amd: add ACP PDM DMA driver pm ops + - ASoC: amd: enable Renoir acp3x drivers build + - ASoC: amd: create platform devices for Renoir + - ASoC: amd: RN machine driver using dmic + - ASoC: amd: enable build for RN machine driver + - ASoC: amd: fix kernel warning + - ASoC: amd: refactoring dai_hw_params() callback + - ASoC: amd: return error when acp de-init fails + - [Config]: enable amd renoir ASoC audio + + * Slow send speed with Intel I219-V on Ubuntu 18.04.1 (LP: #1802691) + - e1000e: Disable TSO for buffer overrun workaround + + * Fix incorrect speed/duplex when I210 device is runtime suspended + (LP: #1880656) + - igb: Report speed and duplex as unknown when device is runtime suspended + + * Fix Pericom USB controller OHCI/EHCI PME# defect (LP: #1879321) + - serial: 8250_pci: Move Pericom IDs to pci_ids.h + - PCI: Avoid Pericom USB controller OHCI/EHCI PME# defect + + * [UBUNTU 20.04] s390x/pci: enumerate pci functions per physical adapter + (LP: #1874056) + - s390/pci: Expose new port attribute for PCIe functions + - s390/pci: adaptation of iommu to multifunction + - s390/pci: define kernel parameters for PCI multifunction + - s390/pci: define RID and RID available + - s390/pci: create zPCI bus + - s390/pci: adapt events for zbus + - s390/pci: Handling multifunctions + - s390/pci: Do not disable PF when VFs exist + - s390/pci: Documentation for zPCI + - s390/pci: removes wrong PCI multifunction assignment + + * add 16-bit width registers support for EEPROM at24 device (LP: #1876699) + - regmap-i2c: add 16-bit width registers support + + * Miscellaneous Ubuntu changes + - [Config] Enable virtualbox guest and shared-folder modules + + [ Upstream Kernel Changes ] + + * Rebase to v5.7 + + -- Seth Forshee Mon, 01 Jun 2020 16:11:24 -0500 + +linux-5.7 (5.7.0-5.6) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * [UBUNTU 20.04] PSI generates overhead on s390x (LP: #1876044) + - Ubuntu: [Config] CONFIG_PSI is enabled by default, but creates additional + overhead on s390x, hence should be disabled by default on s390x only. + + * Miscellaneous Ubuntu changes + - Rebase to v5.7-rc7 + - [Config] ppc64el: disable STRICT_KERNEL_RWX + + [ Upstream Kernel Changes ] + + * Rebase to v5.7-rc7 + + -- Paolo Pisati Mon, 25 May 2020 11:44:09 +0200 + +linux-5.7 (5.7.0-4.5) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * update-initramfs complains of missing amdgpu firmware files (LP: #1873325) + - SAUCE: drm/amdgpu: Remove unreleased arcturus and navi12 firmware from + modinfo + + * Support DMIC micmute LED on HP platforms (LP: #1876859) + - ALSA: hda/realtek - Introduce polarity for micmute LED GPIO + - ALSA: hda/realtek - Enable micmute LED on and HP system + - ALSA: hda/realtek - Add LED class support for micmute LED + - ALSA: hda/realtek - Fix unused variable warning w/o + CONFIG_LEDS_TRIGGER_AUDIO + - ASoC: SOF: Update correct LED status at the first time usage of + update_mute_led() + + * Killer(R) Wi-Fi 6 AX1650i 160MHz Wireless Network Adapter (201NGW), + REV=0x354 [8086:a0f0] subsystem id [1a56:1651] wireless adapter not found + due to firmware crash (LP: #1874685) + - SAUCE: iwlwifi: pcie: handle QuZ configs with killer NICs as well + + * rtkit-daemon[*]: Failed to make ourselves RT: Operation not permitted after + upgrade to 20.04 (LP: #1875665) + - [Config] Turn off CONFIG_RT_GROUP_SCHED everywhere + + * Unable to handle kernel pointer dereference in virtual kernel address space + on Eoan (LP: #1876645) + - SAUCE: overlayfs: fix shitfs special-casing + + * Miscellaneous Ubuntu changes + - SAUCE: skip building selftest 'runqslower' if kernel not built + - Rebase to v5.7-rc6 + - [Config] updateconfigs after 5.7-rc6 rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.7-rc6 + + -- Paolo Pisati Mon, 18 May 2020 11:27:25 +0200 + +linux-5.7 (5.7.0-3.4) groovy; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v5.7-rc5 + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * getitimer returns it_value=0 erroneously (LP: #1349028) + - [Config] CONTEXT_TRACKING_FORCE policy should be unset + + * lockdown on power (LP: #1855668) // Ubuntu Kernel Support for OpenPOWER NV + Secure & Trusted Boot (LP: #1866909) + - [Config] Enable configs for OpenPOWER NV Secure & Trusted Boot + + * Miscellaneous Ubuntu changes + - SAUCE: Import aufs driver + - [Config] Enable aufs + - [Config] annotations: remove SND_SOC_SOF_HDA_COMMON_HDMI_CODEC + - [Config] Remove CONFIG_SND_HDA_INTEL_DETECT_DMIC from annotations + - [Debian] final-checks -- Do not remove ~* from abi + - [Config] Enable 5-level page table support for x86 + - [Config] updateconfigs after 5.7-rc5 rebase + + -- Paolo Pisati Mon, 11 May 2020 10:25:42 +0200 + +linux-5.7 (5.7.0-2.3) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - update dkms package versions + - [Packaging] update helper scripts + + * ASUS T100HAN boots to a blank screen with a cursor [i965: Failed to submit + batchbuffer: Input/output error] (LP: #1860754) + - [Config] CONFIG_PMIC_OPREGION=y and CONFIG_GPIO_CRYSTAL_COVE=y for amd64 + + * ubuntu/focal64 fails to mount Vagrant shared folders (LP: #1873506) + - [Packaging] Move virtualbox modules to linux-modules + - [Packaging] Remove vbox and zfs modules from generic.inclusion-list + + * built-using constraints preventing uploads (LP: #1875601) + - temporarily drop Built-Using data + + * dkms artifacts may expire from the pool (LP: #1850958) + - [Packaging] autoreconstruct -- manage executable debian files + - [packaging] handle downloads from the librarian better + + * Add signed modules for the 435 NVIDIA driver (LP: #1875888) + - [Packaging] NVIDIA -- add signed modules for the 435 NVIDIA driver + + * [Selftests] Apply various fixes and improvements (LP: #1870543) + - SAUCE: selftests/seccomp -- Disable timeout for seccomp tests + + * [17.04 FEAT] Integrate kernel message catalogue for s390x into Ubuntu + distribution (LP: #1628889) + - SAUCE: s390: kernel message catalog + + * Overlayfs in user namespace leaks directory content of inaccessible + directories (LP: #1793458) // CVE-2018-6559 + - SAUCE: overlayfs: ensure mounter privileges when reading directories + + * suspend only works once on ThinkPad X1 Carbon gen 7 (LP: #1865570) + - SAUCE: e1000e: Disable s0ix flow for X1 Carbon 7th + + * [ICL] TC port in legacy/static mode can't be detected due TCCOLD + (LP: #1868936) + - drm/i915/display: Move out code to return the digital_port of the aux ch + - drm/i915/display: Add intel_legacy_aux_to_power_domain() + - drm/i915/display: Split hsw_power_well_enable() into two + - drm/i915/tc/icl: Implement TC cold sequences + - drm/i915/tc: Skip ref held check for TC legacy aux power wells + - drm/i915/tc/tgl: Implement TC cold sequences + - drm/i915/tc: Catch TC users accessing FIA registers without enable aux + - drm/i915/tc: Do not warn when aux power well of static TC ports timeout + + * Touchpad doesn't work on Dell Inspiron 7000 2-in-1 (LP: #1851901) + - Revert "UBUNTU: SAUCE: mfd: intel-lpss: add quirk for Dell XPS 13 7390 + 2-in-1" + + * 'Elan touchpad' not detected on 'Lenovo ThinkBook 15 IIL' (LP: #1861610) + - SAUCE: Input: elan_i2c - add more hardware ID for Lenovo laptop + + * linux-image-5.0.0-35-generic breaks checkpointing of container + (LP: #1857257) + - SAUCE: overlayfs: use shiftfs hacks only with shiftfs as underlay + + * alsa/sof: kernel oops on the machine without Intel hdmi audio codec (a + regression in the asoc machine driver) (LP: #1874359) + - ASoC: intel/skl/hda - fix oops on systems without i915 audio codec + + * Add debian/rules targets to compile/run kernel selftests (LP: #1874286) + - [Packaging] add support to compile/run selftests + + * 5.4.0-24.28 does not seem to apply rtprio, whereas -21 does. (LP: #1873315) + - [Config] lowlatency: turn off RT_GROUP_SCHED + + * alsa/sof: external mic can't be deteced on Lenovo and HP laptops + (LP: #1872569) + - SAUCE: ASoC: intel/skl/hda - set autosuspend timeout for hda codecs + + * shiftfs: O_TMPFILE reports ESTALE (LP: #1872757) + - SAUCE: shiftfs: fix dentry revalidation + + * shiftfs: broken shiftfs nesting (LP: #1872094) + - SAUCE: shiftfs: record correct creator credentials + + * lockdown on power (LP: #1855668) + - SAUCE: (lockdown) powerpc: lock down kernel in secure boot mode + + * Add support for Realtek 8723DE wireless adapter (LP: #1780590) + - SAUCE: rtw88: add adaptivity support for EU/JP regulatory + - SAUCE: rtw88: update tx descriptor of mgmt and rsvd page packets + - SAUCE: rtw88: sar: dump sar information via debugfs + - SAUCE: rtw88: 8723d: add IQ calibration + - SAUCE: rtw88: 8723d: Add power tracking + - SAUCE: rtw88: 8723d: implement flush queue + - SAUCE: rtw88: 8723d: set ltecoex register address in chip_info + - SAUCE: rtw88: 8723d: Add coex support + - SAUCE: rtw88: 8723d: Add shutdown callback to disable BT USB suspend + + * Fix authentication fail on Realtek WiFi 8723de (LP: #1871300) + - SAUCE: rtw88: No retry and report for auth and assoc + - SAUCE: rtw88: fix rate for a while after being connected + - SAUCE: rtw88: Move driver IQK to set channel before association for 11N chip + + * Miscellaneous Ubuntu changes + - SAUCE: rtw88: fix 'const' mismatch in power suequence hooks + - SAUCE: rtw88: fix 'const' mismatch in + __priority_queue_cfg_legacy()/__priority_queue_cfg() + - [Config] RTW88=m + - SAUCE: (lockdown) Revert carried-forward lockdown patches + - SAUCE: (lockdown) Add efi_status_to_str() and rework efi_status_to_err(). + - SAUCE: (lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (lockdown) security: lockdown: expose a hook to lock the kernel down + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot + mode + - SAUCE: (lockdown) efi: Lock down the kernel if booted in secure boot mode + - SAUCE: (lockdown) s390: Lock down the kernel when the IPL secure flag is set + - SAUCE: (lockdown) KEYS: Make use of platform keyring for module signature + verify + - SAUCE: (lockdown) arm64: Allow locking down the kernel under EFI secure boot + - SAUCE: (lockdown) security: lockdown: Make + CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic + - [Config] Add back CONFIG_LOCK_DOWN_IN_SECURE_BOOT annotation for ppc64el + - [Config] CONFIG_RT_GROUP_SCHED=y + - [Packaging] Include modules.builtin.modinfo in linux-modules + - SAUCE: LSM: Infrastructure management of the sock security + - SAUCE: Fix-up af_unix mediation for sock infrastructure management + - SAUCE: Revert "apparmor: Allow filtering based on secmark policy" + - SAUCE: Revert "apparmor: Parse secmark policy" + - SAUCE: Revert "apparmor: Add a wildcard secid" + - SAUCE: Revert "apparmor: fixup secid map conversion to using IDR" + - SAUCE: Revert "apparmor: Use an IDR to allocate apparmor secids" + - SAUCE: Revert "apparmor: add support for mapping secids and using secctxes" + - Update dropped.txt for restored apparmor patches + - Remove lockdown patches from dropped.txt + - SAUCE: powerpc/ima: require IMA module signatures only if MODULE_SIG is not + enabled + - SAUCE: selftests/ftrace: Use printf instead of echo in kprobe syntax error + tests + - SAUCE: selftests/net -- disable l2tp.sh test + - SAUCE: selftests/net -- disable timeout + - SAUCE: tools: hv: Update shebang to use python3 instead of python + - Remove dropped.txt + - [Packaging] move linux-doc and linux-libc-dev stubs to debian.master + - [Debian] Support generating configs for riscv64 + - [Config] CONFIG_KMSG_IDS=y for s390x + - [Packaging] add libcap-dev dependency + - [Config] CONFIG_AD5770R=m + - [Config] CONFIG_AL3010=m + - [Config] CONFIG_APPLE_MFI_FASTCHARGE=m + - [Config] CONFIG_BAREUDP=m + - [Config] CONFIG_CRYPTO_DEV_OCTEONTX_CPT=m + - [Config] CONFIG_CRYPTO_DEV_ZYNQMP_AES=m + - [Config] CONFIG_DRM_DISPLAY_CONNECTOR=m + - [Config] CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m + - [Config] CONFIG_DRM_PANEL_ELIDA_KD35T133=m + - [Config] CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m + - [Config] CONFIG_DRM_PANEL_NOVATEK_NT35510=m + - [Config] CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m + - [Config] CONFIG_DRM_PARADE_PS8640=m + - [Config] CONFIG_DRM_SIMPLE_BRIDGE=m + - [Config] CONFIG_DRM_TIDSS=m + - [Config] CONFIG_DRM_TI_TPD12S015=m + - [Config] CONFIG_DRM_TOSHIBA_TC358768=m + - [Config] CONFIG_EDAC_DMC520=m + - [Config] CONFIG_EXFAT_FS=m + - [Config] CONFIG_GP2AP002=m + - [Config] CONFIG_GPIO_MLXBF2=m + - [Config] CONFIG_HID_GLORIOUS=m + - [Config] CONFIG_HID_MCP2221=m + - [Config] CONFIG_HMC425=m + - [Config] CONFIG_ICP10100=m + - [Config] CONFIG_IMX8MM_THERMAL=m + - [Config] CONFIG_IMX_SC_THERMAL=m + - [Config] CONFIG_INTERCONNECT_QCOM_OSM_L3=m + - [Config] CONFIG_INTERCONNECT_QCOM_SC7180=m + - [Config] CONFIG_K3_RTI_WATCHDOG=m + - [Config] CONFIG_MDIO_IPQ8064=m + - [Config] CONFIG_MDIO_MVUSB=m + - [Config] CONFIG_MHI_BUS=m + - [Config] CONFIG_OCTEONTX2_VF=m + - [Config] CONFIG_PHY_CADENCE_TORRENT=m + - [Config] CONFIG_PHY_QCOM_USB_HS_28NM=m + - [Config] CONFIG_PHY_QCOM_USB_SS=m + - [Config] CONFIG_PINCTRL_DA9062=m + - [Config] CONFIG_PINCTRL_IPQ6018=m + - [Config] CONFIG_PTP_1588_CLOCK_IDT82P33=m + - [Config] CONFIG_PTP_1588_CLOCK_VMW=m + - [Config] CONFIG_QCOM_IPA=m + - [Config] CONFIG_REGULATOR_MP5416=m + - [Config] CONFIG_REGULATOR_MP886X=m + - [Config] CONFIG_RN5T618_ADC=m + - [Config] CONFIG_RTC_DRV_MT2712=m + - [Config] CONFIG_RTC_DRV_RC5T619=m + - [Config] CONFIG_SC_MSS_7180=m + - [Config] CONFIG_SENSORS_AXI_FAN_CONTROL=m + - [Config] CONFIG_SM_GCC_8250=m + - [Config] CONFIG_SND_BCM63XX_I2S_WHISTLER=m + - [Config] CONFIG_SND_MESON_AIU=m + - [Config] CONFIG_SND_MESON_G12A_TOACODEC=m + - [Config] CONFIG_SND_MESON_GX_SOUND_CARD=m + - [Config] CONFIG_SND_SOC_AMD_RV_RT5682_MACH=m + - [Config] CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m + - [Config] CONFIG_SND_SOC_MESON_T9015=m + - [Config] CONFIG_SND_SOC_RT5682_SDW=m + - [Config] CONFIG_SND_SOC_TLV320ADCX140=m + - [Config] CONFIG_SPI_FSI=m + - [Config] CONFIG_SPI_MTK_NOR=m + - [Config] CONFIG_SPI_MUX=m + - [Config] CONFIG_SPRD_THERMAL=m + - [Config] CONFIG_SURFACE_3_POWER_OPREGION=m + - [Config] CONFIG_TINYDRM_ILI9486=m + - [Config] CONFIG_TI_K3_AM65_CPSW_NUSS=m + - [Config] CONFIG_TYPEC_MUX_INTEL_PMC=m + - [Config] CONFIG_UACCE=m + - [Config] CONFIG_UNIPHIER_XDMAC=m + - [Config] CONFIG_USB_MAX3420_UDC=m + - [Config] CONFIG_USB_RAW_GADGET=m + - [Config] CONFIG_VHOST_VDPA=m + - [Config] CONFIG_VIDEO_IMX219=m + - [Config] CONFIG_VIDEO_SUN8I_ROTATE=m + - [Config] CONFIG_VIRTIO_VDPA=m + - [Config] CONFIG_MOST_COMPONENTS=m + - [Config] CONFIG_MFD_IQS62X=m + - packaging: getabis: switch to ckt-ppa:bootstrap/linux-5.7 + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: rtw88: add rtw_read8_mask and rtw_read16_mask" + - Revert "UBUNTU: SAUCE: drm/i915/fbc: disable framebuffer compression on + IceLake" + - Revert "UBUNTU: SAUCE: platform/x86: dell-uart-backlight: move retry block" + + -- Paolo Pisati Mon, 04 May 2020 10:48:48 +0200 + +linux-5.7 (5.7.0-1.2) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * Miscellaneous Ubuntu changes + - SAUCE: hio: pass make_request ptr directly to blk_alloc_queue() + - SAUCE: hio: locally define disk_map_sector_rcu() + - SAUCE: hio: Revert "block: unexport disk_map_sector_rcu" + - SAUCE: hio: include + - [Config] amd64: i386: HIO=m + - [Config] updateconfigs after 5.7-rc3 rebase + + -- Paolo Pisati Mon, 27 Apr 2020 11:31:38 +0200 + +linux-5.7 (5.7.0-0.1) groovy; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs after rebase to 5.7-rc1 + + [ Upstream Kernel Changes ] + + * Rebase to v5.7-rc1 + * Rebase to v5.7-rc2 + + -- Paolo Pisati Thu, 16 Apr 2020 11:53:58 +0200 + +linux-5.7 (5.7.0-0.0) focal; urgency=medium + + * Dummy entry + + -- Paolo Pisati Thu, 16 Apr 2020 11:53:58 +0200 + +linux-5.6 (5.6.0-7.7) focal; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Kernel Oops - general protection fault: 0000 [#1] SMP PTI after + disconnecting thunderbolt docking station (LP: #1864754) + - SAUCE: ptp: free ptp clock properly + + * swap storms kills interactive use (LP: #1861359) + - SAUCE: mm/page_alloc.c: disable memory reclaim watermark boosting by default + + * sysfs: incorrect network device permissions on network namespace change + (LP: #1865359) + - sysfs: add sysfs_file_change_owner() + - sysfs: add sysfs_link_change_owner() + - sysfs: add sysfs_group{s}_change_owner() + - sysfs: add sysfs_change_owner() + - device: add device_change_owner() + - drivers/base/power: add dpm_sysfs_change_owner() + - net-sysfs: add netdev_change_owner() + - net-sysfs: add queue_change_owner() + - net: fix sysfs permssions when device changes network namespace + - sysfs: fix static inline declaration of sysfs_groups_change_owner() + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs after rebase to 5.6 + + [ Upstream Kernel Changes ] + + * Rebase to v5.6 + + -- Andrea Righi Tue, 31 Mar 2020 10:45:09 +0200 + +linux-5.6 (5.6.0-6.6) focal; urgency=medium + + * suspend only works once on ThinkPad X1 Carbon gen 7 (LP: #1865570) + - SAUCE: e1000e: Disable s0ix flow for X1 Carbon 7th + + * Make Dell WD19 dock more reliable after suspend (LP: #1868217) + - xhci: Ensure link state is U3 after setting USB_SS_PORT_LS_U3 + - xhci: Wait until link state trainsits to U0 after setting USB_SS_PORT_LS_U0 + - xhci: Finetune host initiated USB3 rootport link suspend and resume + + * update-version-dkms doesn't add a BugLink (LP: #1867790) + - [Packaging] Add BugLink to update-version-dkms commit + + * Add support for Realtek 8723DE wireless adapter (LP: #1780590) + - SAUCE: rtw88: add regulatory process strategy for different chipset + - SAUCE: rtw88: support dynamic user regulatory setting + - SAUCE: rtw88: Use secondary channel offset enumeration + - SAUCE: rtw88: 8822c: modify rf protection setting + - SAUCE: rtw88: disable TX-AMSDU on 2.4G band + - SAUCE: Revert "rtw88: disable TX-AMSDU on 2.4G band" + - SAUCE: rtw88: disable TX-AMSDU on 2.4G band + - SAUCE: rtw88: remove unused parameter vif in rtw_lps_pg_info_get() + - SAUCE: rtw88: add rtw_read8_mask and rtw_read16_mask + - SAUCE: rtw88: pci: 8822c should set clock delay to zero + - SAUCE: rtw88: move rtw_enter_ips() to the last when config + - SAUCE: rtw88: avoid holding mutex for cancel_delayed_work_sync() + - SAUCE: rtw88: add ciphers to suppress error message + - SAUCE: rtw88: 8822c: update power sequence to v16 + - SAUCE: rtw88: Fix incorrect beamformee role setting + - SAUCE: rtw88: don't hold all IRQs disabled for PS operations + - SAUCE: rtw88: extract alloc rsvd_page and h2c skb routines + - SAUCE: rtw88: associate reserved pages with each vif + - SAUCE: rtw88: add adaptivity support for EU/JP regulatory + - SAUCE: rtw88: 8723d: Add basic chip capabilities + - SAUCE: rtw88: 8723d: add beamform wrapper functions + - SAUCE: rtw88: 8723d: Add power sequence + - SAUCE: rtw88: 8723d: Add RF read/write ops + - SAUCE: rtw88: 8723d: Add mac/bb/rf/agc/power_limit tables + - SAUCE: rtw88: 8723d: Add cfg_ldo25 to control LDO25 + - SAUCE: rtw88: 8723d: Add new chip op efuse_grant() to control efuse access + - SAUCE: rtw88: 8723d: Add read_efuse to recognize efuse info from map + - SAUCE: rtw88: add legacy firmware download for 8723D devices + - SAUCE: rtw88: no need to send additional information to legacy firmware + - SAUCE: rtw88: 8723d: Add mac power-on/-off function + - SAUCE: rtw88: decompose while(1) loop of power sequence polling command + - SAUCE: rtw88: 8723d: 11N chips don't support H2C queue + - SAUCE: rtw88: 8723d: implement set_tx_power_index ops + - SAUCE: rtw88: 8723d: Organize chip TX/RX FIFO + - SAUCE: rtw88: 8723d: initialize mac/bb/rf basic functions + - SAUCE: rtw88: 8723d: Add DIG parameter + - SAUCE: rtw88: 8723d: Add query_rx_desc + - SAUCE: rtw88: 8723d: Add set_channel + - SAUCE: rtw88: handle C2H_CCX_TX_RPT to know if packet TX'ed successfully + - SAUCE: rtw88: 8723d: 11N chips don't support LDPC + - SAUCE: rtw88: set default port to firmware + - SAUCE: rtw88: update tx descriptor of mgmt and rsvd page packets + - SAUCE: rtw88: sar: add SAR of TX power limit + - SAUCE: rtw88: sar: Load static SAR table from ACPI WRDS method + - SAUCE: rtw88: sar: Load dynamic SAR table from ACPI methods + - SAUCE: rtw88: sar: apply dynamic SAR table to tx power limit + - SAUCE: rtw88: sar: add sar_work to poll if dynamic SAR table is changed + - SAUCE: rtw88: sar: dump sar information via debugfs + - SAUCE: rtw88: 8723d: Add chip_ops::false_alarm_statistics + - SAUCE: rtw88: 8723d: Set IG register for CCK rate + - SAUCE: rtw88: 8723d: add interface configurations table + - SAUCE: rtw88: 8723d: Add LC calibration + - SAUCE: rtw88: 8723d: add IQ calibration + - SAUCE: rtw88: 8723d: Add power tracking + - SAUCE: rtw88: 8723d: Add shutdown callback to disable BT USB suspend + - SAUCE: rtw88: 8723d: implement flush queue + - SAUCE: rtw88: 8723d: set ltecoex register address in chip_info + - SAUCE: rtw88: 8723d: Add coex support + - SAUCE: rtw88: fill zeros to words 0x06 and 0x07 of security cam entry + - SAUCE: rtw88: 8723d: Add 8723DE to Kconfig and Makefile + - [Config] CONFIG_RTW88_8723DE=y + + * [Ubuntu 20.04] Unset HIBERNATION and PM kernel config options for focal + (LP: #1867753) + - [Config] CONFIG_HIBERNATION=n and CONFIG_PM=n for s390x + + * [20.04 FEAT] Base KVM setup for secure guests - kernel part (LP: #1835531) + - s390/protvirt: introduce host side setup + - s390/protvirt: add ultravisor initialization + - s390/mm: provide memory management functions for protected KVM guests + - s390/mm: add (non)secure page access exceptions handlers + - s390/protvirt: Add sysfs firmware interface for Ultravisor information + - KVM: s390/interrupt: do not pin adapter interrupt pages + - KVM: s390: protvirt: Add UV debug trace + - KVM: s390: add new variants of UV CALL + - KVM: s390: protvirt: Add initial vm and cpu lifecycle handling + - KVM: s390: protvirt: Secure memory is not mergeable + - KVM: s390/mm: Make pages accessible before destroying the guest + - KVM: s390: protvirt: Handle SE notification interceptions + - KVM: s390: protvirt: Instruction emulation + - KVM: s390: protvirt: Implement interrupt injection + - KVM: s390: protvirt: Add SCLP interrupt handling + - KVM: s390: protvirt: Handle spec exception loops + - KVM: s390: protvirt: Add new gprs location handling + - KVM: S390: protvirt: Introduce instruction data area bounce buffer + - KVM: s390: protvirt: handle secure guest prefix pages + - KVM: s390/mm: handle guest unpin events + - KVM: s390: protvirt: Write sthyi data to instruction data area + - KVM: s390: protvirt: STSI handling + - KVM: s390: protvirt: disallow one_reg + - KVM: s390: protvirt: Do only reset registers that are accessible + - KVM: s390: protvirt: Only sync fmt4 registers + - KVM: s390: protvirt: Add program exception injection + - KVM: s390: protvirt: UV calls in support of diag308 0, 1 + - KVM: s390: protvirt: Report CPU state to Ultravisor + - KVM: s390: protvirt: Support cmd 5 operation state + - KVM: s390: protvirt: Mask PSW interrupt bits for interception 104 and 112 + - KVM: s390: protvirt: do not inject interrupts after start + - KVM: s390: protvirt: Add UV cpu reset calls + - DOCUMENTATION: Protected virtual machine introduction and IPL + - KVM: s390: protvirt: introduce and enable KVM_CAP_S390_PROTECTED + - KVM: s390: protvirt: Add KVM api documentation + - mm/gup/writeback: add callbacks for inaccessible pages + + * All PS/2 ports on PS/2 Serial add-in bracket are not working after S3 + (LP: #1866734) + - SAUCE: Input: i8042 - fix the selftest retry logic + + * Sys oopsed with sysfs test in ubuntu_stress_smoke_test on X-hwe ARM64 + (LP: #1866772) + - ACPI: sysfs: copy ACPI data using io memory copying + + * Miscellaneous Ubuntu changes + - hio -- remove duplicated MODULE_DEVICE_TABLE declaration + - SAUCE: r8169: disable ASPM L1.1 + - [Config] update annotations from configs + - [Config] update configs after annotation file review + - SAUCE: Revert "tools/power turbostat: Fix 32-bit capabilities warning" + + * Miscellaneous upstream changes + - drm/i915: Fix eDP DPCD aux max backlight calculations + - drm/dp: Introduce EDID-based quirks + - drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED panel + - drm/i915: Force DPCD backlight mode for some Dell CML 2020 panels + + [ Upstream Kernel Changes ] + + * Rebase to v5.6-rc7 + + -- Andrea Righi Wed, 25 Mar 2020 18:09:13 +0100 + +linux-5.6 (5.6.0-5.5) focal; urgency=medium + + * please help enable CONFIG_EROFS_FS_ZIP (LP: #1867099) + - [Config] CONFIG_EROFS_FS_ZIP=y + - [Config] CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1 + + * Miscellaneous Ubuntu changes + - Config: Fix SND_HDA_PREALLOC_SIZE annotations + - Config: Fix DATA_SHIFT annotations + - Config: remove ANDROID_VSOC from annotations + - Config: remove arm arch from annotations + - Config: Update SOC_R8A7796X annotations + - Config: Update CLK_R8A7796X annotations + - update dkms package versions + - [Config] updateconfigs after rebase to 5.6-rc6 + + [ Upstream Kernel Changes ] + + * Rebase to v5.6-rc6 + + -- Andrea Righi Wed, 18 Mar 2020 17:25:30 +0100 + +linux-5.6 (5.6.0-4.4) focal; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] resync getabis + - [Packaging] update helper scripts + + * Add sysfs attribute to show remapped NVMe (LP: #1863621) + - SAUCE: ata: ahci: Add sysfs attribute to show remapped NVMe device count + + * [20.04 FEAT] Compression improvements in Linux kernel (LP: #1830208) + - [Config] Introducing s390x specific kernel config option CONFIG_ZLIB_DFLTCC + + * [UBUNTU 20.04] s390x/pci: increase CONFIG_PCI_NR_FUNCTIONS to 512 in kernel + config (LP: #1866056) + - [Config] Increase CONFIG_PCI_NR_FUNCTIONS from 64 to 512 starting with focal + on s390x + + * CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set (LP: #1865332) + - [Config] CONFIG_IP_MROUTE_MULTIPLE_TABLES=y + + * [UBUNTU 20.04] Enable CONFIG_NET_SWITCHDEV in kernel config for s390x + starting with focal (LP: #1865452) + - [Config] Enable CONFIG_NET_SWITCHDEV in kernel config for s390x starting + with focal + + * Miscellaneous Ubuntu changes + - SAUCE: Revert "UBUNTU: SAUCE: blk/core: Gracefully handle unset + make_request_fn" + - [Packaging] prevent duplicated entries in modules.ignore + - update dkms package versions + - [Config] updateconfigs after rebase to 5.6-rc5 + + [ Upstream Kernel Changes ] + + * Rebase to v5.6-rc5 + + -- Andrea Righi Mon, 09 Mar 2020 09:42:06 +0100 + +linux-5.6 (5.6.0-3.3) focal; urgency=medium + + * nsleep-lat / set-timer-lat / inconsistency-check / raw_skew from timer in + ubuntu_kernel_selftests timeout on 5.3 / 5.4 (LP: #1864626) + - selftests/timers: Turn off timeout setting + + * Update kernel options CONFIG_NR_CPUS and CONFIG_NUMA_EMU for focal + (LP: #1864198) + - Ubuntu: [Config] Update kernel options CONFIG_NR_CPUS and CONFIG_NUMA_EMU + + * alsa/hda/realtek: fix a mute led regression on Lenovo X1 Carbon + (LP: #1864576) + - SAUCE: ALSA: hda/realtek - Fix a regression for mute led on Lenovo Carbon X1 + + * r8152 init may take up to 40 seconds at initialization with Dell WD19/WD19DC + during hotplug (LP: #1864284) + - UBUNTU SAUCE: r8151: check disconnect status after long sleep + + * Another Dell AIO backlight issue (LP: #1863880) + - SAUCE: platform/x86: dell-uart-backlight: move retry block + + * Backport GetFB2 ioctl (LP: #1863874) + - SAUCE: drm: Add getfb2 ioctl + + * Focal Fossa (20.04) feature request - Enable CONFIG_X86_UV (LP: #1863810) + - [Config] CONFIG_X86_UV=y + + * Miscellaneous Ubuntu changes + - debian: remove snapdragon config, rules and flavour + - remove snapdragon abi files + - update dkms package versions + - [Config] updateconfigs after rebase to 5.6-rc4 + + * Miscellaneous upstream changes + - updateconfigs following snapdragon removal + + [ Upstream Kernel Changes ] + + * Rebase to v5.6-rc4 + + -- Andrea Righi Wed, 04 Mar 2020 08:21:10 +0100 + +linux-5.6 (5.6.0-2.2) focal; urgency=medium + + * Sometimes can't adjust brightness on Dell AIO (LP: #1862885) + - SAUCE: platform/x86: dell-uart-backlight: increase retry times + + * Dell XPS 13 (7390) Display Flickering - 19.10 (LP: #1849947) + - SAUCE: drm/i915: Disable PSR by default on all platforms + + * Miscellaneous Ubuntu changes + - [debian] ignore missing wireguard module + - SAUCE: (lockdown) Add efi_status_to_str() and rework efi_status_to_err(). + - SAUCE: (lockdown) security: lockdown: expose a hook to lock the kernel down + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot + mode + - SAUCE: (lockdown) efi: Lock down the kernel if booted in secure boot mode + - SAUCE: (lockdown) s390: Lock down the kernel when the IPL secure flag is set + - SAUCE: (lockdown) KEYS: Make use of platform keyring for module signature + verify + - SAUCE: (lockdown) arm64: Allow locking down the kernel under EFI secure boot + - SAUCE: (lockdown) security: lockdown: Make + CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic + - [Config] CONFIG_LOCK_DOWN_IN_SECURE_BOOT=y + - update dkms package versions + - [Config] updateconfigs after rebase to 5.6-rc3 + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: (lockdown) s390/ipl: lockdown kernel when booted + secure" + - Revert "UBUNTU: SAUCE: (lockdown) KEYS: Make use of platform keyring for + module signature verify" + - Revert "UBUNTU: SAUCE: (lockdown) Add a SysRq option to lift kernel + lockdown" + - Revert "UBUNTU: SAUCE: (lockdown) security: lockdown: expose a hook to lock + the kernel down" + - Revert "UBUNTU: SAUCE: (lockdown) Add efi_status_to_str() and rework + efi_status_to_err()." + + -- Andrea Righi Mon, 24 Feb 2020 18:57:22 +0100 + +linux-5.6 (5.6.0-1.1) focal; urgency=medium + + * Integrate Intel SGX driver into linux-azure (LP: #1844245) + - [Packaging] Add systemd service to load intel_sgx + + * QAT drivers for C3XXX and C62X not included as modules (LP: #1845959) + - [Config] CRYPTO_DEV_QAT_C3XXX=m, CRYPTO_DEV_QAT_C62X=m and + CRYPTO_DEV_QAT_DH895xCC=m + + * 5.4.0-11 crash on cryptsetup open (LP: #1860231) + - SAUCE: blk/core: Gracefully handle unset make_request_fn + + * multi-zone raid0 corruption (LP: #1850540) + - SAUCE: md/raid0: Use kernel specific layout + + * Miscellaneous Ubuntu changes + - update dkms package versions + - update dropped.txt after rebase to v5.6-rc1 + - [Config] updateconfigs after rebase to 5.6-rc1 + - hio -- proc_create() requires a "struct proc_ops" in 5.6 + - SAUCE: arm: fix build error in kvm tracepoint + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] Disable the uselib system call" + - Revert "UBUNTU: [Config] Disable legacy PTY naming" + - Revert "UBUNTU: [Config] Enforce filtered access to iomem" + - Revert "UBUNTU: [Config] Enable notifier call chain validations" + - Revert "UBUNTU: [Config] Enable scatterlist validation" + - Revert "UBUNTU: [Config] Enable cred sanity checks" + - Revert "UBUNTU: [Config] Enable linked list manipulation checks" + + [ Upstream Kernel Changes ] + + * Rebase to v5.6-rc1 + + -- Andrea Righi Thu, 13 Feb 2020 17:20:27 +0100 + +linux-5.6 (5.6.0-0.0) focal; urgency=medium + + * Dummy entry + + -- Andrea Righi Mon, 10 Feb 2020 11:06:18 +0100 + +linux-5.5 (5.5.0-7.8) focal; urgency=medium + + * CONFIG_USELIB should be disabled (LP: #1855341) + - [Config] Disable the uselib system call + + * CONFIG_LEGACY_PTYS should be disabled (LP: #1855339) + - [Config] Disable legacy PTY naming + + * CONFIG_IO_STRICT_DEVMEM should be enabled (LP: #1855338) + - [Config] Enforce filtered access to iomem + + * CONFIG_DEBUG_NOTIFIERS should be enabled (LP: #1855337) + - [Config] Enable notifier call chain validations + + * CONFIG_DEBUG_SG should be enabled (LP: #1855336) + - [Config] Enable scatterlist validation + + * CONFIG_DEBUG_CREDENTIALS should be enabled (LP: #1855335) + - [Config] Enable cred sanity checks + + * CONFIG_DEBUG_LIST should be enabled (LP: #1855334) + - [Config] Enable linked list manipulation checks + + * shiftfs: prevent lower dentries from going negative during unlink + (LP: #1860041) + - SAUCE: shiftfs: prevent lower dentries from going negative during unlink + + * [SRU][B/OEM-B/OEM-OSP1/D/E/Unstable] UBUNTU: SAUCE: Use native backlight on + Lenovo E41-25/45 (LP: #1859561) + - SAUCE: ACPI: video: Use native backlight on Lenovo E41-25/45 + + * USB key cannot be detected by hotplug on Sunix USB Type-A 3.1 Gen 2 card + [1b21:2142] (LP: #1858988) + - SAUCE: PCI: Avoid ASMedia XHCI USB PME# from D0 defect + + * Dell AIO can't adjust brightness (LP: #1858761) + - SAUCE: platform/x86: dell-uart-backlight: add retry for get scalar status + + * Miscellaneous Ubuntu changes + - [Config] Fix typo in annotations file + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.5 + + -- Andrea Righi Mon, 27 Jan 2020 11:39:38 +0100 + +linux-5.5 (5.5.0-6.7) focal; urgency=medium + + * Miscellaneous Ubuntu changes + - [Packaging] Update ubuntu-regression-suite dependency to python2 + - [Packaging] Fix ubuntu-regression-suite python dependency for hwe kernel + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.5-rc7 + + -- Andrea Righi Mon, 20 Jan 2020 10:16:01 +0100 + +linux-5.5 (5.5.0-5.6) focal; urgency=medium + + * Miscellaneous Ubuntu changes + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.5-rc6 + + -- Andrea Righi Mon, 13 Jan 2020 15:50:12 +0100 + +linux-5.5 (5.5.0-4.5) focal; urgency=medium + + * linux build and autopkg tests need to use python2 instead of python + (LP: #1858487) + - [Packaging] Remove python-dev build dependency + + -- Andrea Righi Wed, 08 Jan 2020 16:00:26 +0100 + +linux-5.5 (5.5.0-3.4) focal; urgency=medium + + * [SRU][B/OEM-B/OEM-OSP1/D/E/F] Add LG I2C touchscreen multitouch support + (LP: #1857541) + - SAUCE: HID: multitouch: Add LG MELF0410 I2C touchscreen support + + * Make vfio-pci built-in or xhci_hcd optional (LP: #1770845) + - [Config]: built-in VFIO_PCI for amd64 + + * multi-zone raid0 corruption (LP: #1850540) + - SAUCE: md/raid0: Link to wiki with guidance on multi-zone RAID0 layout + migration + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * Miscellaneous Ubuntu changes + - [Packaging] Change source package to linux-5.5 + - [Packaging] Don't use SRCPKGNAME for linux-libc-dev + - [Packaging] Remove linux-source-3 Provides: from linux-source + - [Packaging] Fix linux-doc in linux-image Suggests: + - [Debian] Read variants list into a variable + - [Packaging] Generate linux-libc-dev package only for primary variant + - [Packaging] Generate linux-doc for only the primary variant + - [Debian] Update linux source package name in debian/tests/* + - update dkms package versions + - [Config] updateconfigs after rebase to 5.5-rc3 + - [Config] disable PCI_MESON + - [Config] Add pinctrl-equilibrium to modules.ignore + + [ Upstream Kernel Changes ] + + * Rebase to v5.5-rc5 + + -- Andrea Righi Wed, 08 Jan 2020 11:28:43 +0100 + +linux-5.5 (5.5.0-2.3) focal; urgency=medium + + * Empty entry. + + -- Seth Forshee Tue, 17 Dec 2019 22:33:59 -0600 + +linux (5.5.0-2.3) focal; urgency=medium + + * Support DPCD aux brightness control (LP: #1856134) + - SAUCE: drm/i915: Fix eDP DPCD aux max backlight calculations + - SAUCE: drm/i915: Assume 100% brightness when not in DPCD control mode + - SAUCE: drm/i915: Fix DPCD register order in intel_dp_aux_enable_backlight() + - SAUCE: drm/i915: Auto detect DPCD backlight support by default + - SAUCE: drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED + panel + - USUNTU: SAUCE: drm/i915: Force DPCD backlight mode on Dell Precision 4K sku + + * change kconfig of the soundwire bus driver from y to m (LP: #1855685) + - [Config]: SOUNDWIRE=m + + * Fix unusable USB hub on Dell TB16 after S3 (LP: #1855312) + - SAUCE: USB: core: Make port power cycle a seperate helper function + - SAUCE: USB: core: Attempt power cycle port when it's in eSS.Disabled state + + * Miscellaneous Ubuntu changes + - [Debian] add python depends to ubuntu-regression-suite + - SAUCE: selftests: net: tls: remove recv_rcvbuf test + - update dkms package versions + + * Miscellaneous upstream changes + - [Config] updateconfigs after rebase to 5.5-rc2 + + -- Andrea Righi Tue, 17 Dec 2019 16:02:43 +0100 + +linux (5.5.0-1.2) focal; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] disable nvidia dkms build + - [Config] disable virtualbox dkms build + - [Config] disable zfs dkms build + - update dropped.txt after rebase to v5.5-rc1 + - SAUCE: (lockdown) Make get_cert_list() not complain about cert lists that + aren't present. + - SAUCE: (lockdown) Add efi_status_to_str() and rework efi_status_to_err(). + - SAUCE: (lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (lockdown) security: lockdown: expose a hook to lock the kernel down + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot + mode + - SAUCE: (lockdown) efi: Lock down the kernel if booted in secure boot mode + - SAUCE: (lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (lockdown) KEYS: Make use of platform keyring for module signature + verify + - SAUCE: (lockdown) arm64: Allow locking down the kernel under EFI secure boot + - SAUCE: (lockdown) security: lockdown: Make + CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic + - SAUCE: (lockdown) s390/ipl: lockdown kernel when booted secure + - [Config] Enable lockdown under secure boot + - update dkms package versions + + -- Andrea Righi Thu, 12 Dec 2019 16:54:41 +0100 + +linux (5.5.0-0.1) focal; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs after rebase to 5.5-rc1 + + [ Upstream Kernel Changes ] + + * Rebase to v5.5-rc1 + + -- Andrea Righi Mon, 09 Dec 2019 19:03:35 +0100 + +linux (5.5.0-0.0) focal; urgency=medium + + * Dummy entry. + + -- Andrea Righi Mon, 09 Dec 2019 15:14:37 +0100 + +linux (5.4.0-8.11) focal; urgency=medium + + * focal/linux: 5.4.0-8.9 -proposed tracker (LP: #1855448) + + * update ENA driver for DIMLIB dynamic interrupt moderation (LP: #1853180) + - SAUCE: net: ena: fix issues in setting interrupt moderation params in + ethtool + - SAUCE: net: ena: fix too long default tx interrupt moderation interval + + * Kernel build log filled with "/bin/bash: line 5: warning: command + substitution: ignored null byte in input" (LP: #1853843) + - [Debian] Fix warnings when checking for modules signatures + + * hwe-edge kernel 5.3.0-23.25 kernel does not boot on Precision 5720 AIO + (LP: #1852581) + - [Packaging] Fix module signing with older modinfo + + * Fix MST support on Ice Lake (LP: #1854432) + - drm/i915: fix port checks for MST support on gen >= 11 + + * headphone has noise as not mute on dell machines with alc236/256 + (LP: #1854401) + - SAUCE: ALSA: hda/realtek - Dell headphone has noise on unmute for ALC236 + + * [CML-S62] Need enable intel_pmc_core driver patch for Comet lake- S 6+2 + (LP: #1847450) + - SAUCE: platform/x86: intel_pmc_core: Add Comet Lake (CML) platform support + to intel_pmc_core driver + + * CVE-2019-14901 + - SAUCE: mwifiex: Fix heap overflow in mmwifiex_process_tdls_action_frame() + + * CVE-2019-14896 // CVE-2019-14897 + - SAUCE: libertas: Fix two buffer overflows at parsing bss descriptor + + * CVE-2019-14895 + - SAUCE: mwifiex: fix possible heap overflow in mwifiex_process_country_ie() + + * [CML-S62] Need enable intel_rapl patch support for Comet lake- S 6+2 + (LP: #1847454) + - powercap/intel_rapl: add support for CometLake Mobile + - powercap/intel_rapl: add support for Cometlake desktop + + * External microphone can't work on some dell machines with the codec alc256 + or alc236 (LP: #1853791) + - SAUCE: ALSA: hda/realtek - Move some alc256 pintbls to fallback table + - SAUCE: ALSA: hda/realtek - Move some alc236 pintbls to fallback table + + * remount of multilower moved pivoted-root overlayfs root, results in I/O + errors on some modified files (LP: #1824407) + - SAUCE: ovl: fix lookup failure on multi lower squashfs + + * [CML-S62] Need enable turbostat patch support for Comet lake- S 6+2 + (LP: #1847451) + - SAUCE: tools/power turbostat: Add Cometlake support + + * CONFIG_ARCH_ROCKCHIP is not set in ubuntu 18.04 aarch64,arm64 (LP: #1825222) + - [Config] Enable ROCKCHIP support for arm64 + + * [broadwell-rt286, playback] Since Linux 5.2rc2 audio playback no longer + works on Dell Venue 11 Pro 7140 (LP: #1846539) + - SAUCE: ASoC: SOF: Intel: Broadwell: clarify mutual exclusion with legacy + driver + + * i40e: general protection fault in i40e_config_vf_promiscuous_mode + (LP: #1852663) + - SAUCE: i40e Fix GPF when deleting VMs + + * libbpf check_abi fails on ppc64el (LP: #1854974) + - libbpf: Fix readelf output parsing on powerpc with recent binutils + + * CVE-2019-19050 + - crypto: user - fix memory leak in crypto_reportstat + + * Make hotplugging docking station to Thunderbolt port more reliable + (LP: #1853991) + - PCI/PM: Add pcie_wait_for_link_delay() + - PCI/PM: Add missing link delays required by the PCIe spec + + * i915: Display flickers (monitor loses signal briefly) during "flickerfree" + boot, while showing the BIOS logo on a black background (LP: #1836858) + - [Config] FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y + + * [CML] New device id's for CMP-H (LP: #1846335) + - i2c: i801: Add support for Intel Comet Lake PCH-H + - mtd: spi-nor: intel-spi: Add support for Intel Comet Lake-H SPI serial flash + - mfd: intel-lpss: Add Intel Comet Lake PCH-H PCI IDs + + * Focal update: v5.4.2 upstream stable release (LP: #1855326) + - io_uring: async workers should inherit the user creds + - net: separate out the msghdr copy from ___sys_{send,recv}msg() + - net: disallow ancillary data for __sys_{send,recv}msg_file() + - crypto: inside-secure - Fix stability issue with Macchiatobin + - driver core: platform: use the correct callback type for bus_find_device + - usb: dwc2: use a longer core rest timeout in dwc2_core_reset() + - staging: wilc1000: fix illegal memory access in wilc_parse_join_bss_param() + - staging: rtl8192e: fix potential use after free + - staging: rtl8723bs: Drop ACPI device ids + - staging: rtl8723bs: Add 024c:0525 to the list of SDIO device-ids + - USB: serial: ftdi_sio: add device IDs for U-Blox C099-F9P + - mei: bus: prefix device names on bus with the bus name + - mei: me: add comet point V device id + - thunderbolt: Power cycle the router if NVM authentication fails + - x86/fpu: Don't cache access to fpu_fpregs_owner_ctx + - gve: Fix the queue page list allocated pages count + - macvlan: schedule bc_work even if error + - mdio_bus: don't use managed reset-controller + - net: dsa: sja1105: fix sja1105_parse_rgmii_delays() + - net: macb: add missed tasklet_kill + - net: psample: fix skb_over_panic + - net: sched: fix `tc -s class show` no bstats on class with nolock subqueues + - openvswitch: fix flow command message size + - sctp: Fix memory leak in sctp_sf_do_5_2_4_dupcook + - slip: Fix use-after-free Read in slip_open + - sctp: cache netns in sctp_ep_common + - openvswitch: drop unneeded BUG_ON() in ovs_flow_cmd_build_info() + - openvswitch: remove another BUG_ON() + - net/tls: take into account that bpf_exec_tx_verdict() may free the record + - net/tls: free the record on encryption error + - net: skmsg: fix TLS 1.3 crash with full sk_msg + - selftests/tls: add a test for fragmented messages + - net/tls: remove the dead inplace_crypto code + - net/tls: use sg_next() to walk sg entries + - selftests: bpf: test_sockmap: handle file creation failures gracefully + - selftests: bpf: correct perror strings + - tipc: fix link name length check + - selftests: pmtu: use -oneline for ip route list cache + - r8169: fix jumbo configuration for RTL8168evl + - r8169: fix resume on cable plug-in + - ext4: add more paranoia checking in ext4_expand_extra_isize handling + - Revert "jffs2: Fix possible null-pointer dereferences in + jffs2_add_frag_to_fragtree()" + - crypto: talitos - Fix build error by selecting LIB_DES + - HID: core: check whether Usage Page item is after Usage ID items + - platform/x86: hp-wmi: Fix ACPI errors caused by too small buffer + - platform/x86: hp-wmi: Fix ACPI errors caused by passing 0 as input size + - Linux 5.4.2 + + * no HDMI video output since GDM greeter after linux-oem-osp1 version + 5.0.0-1026 (LP: #1852386) + - drm/i915: Add new CNL PCH ID seen on a CML platform + - SAUCE: drm/i915: Fix detection for a CMP-V PCH + + * Please add patch fixing RK818 ID detection (LP: #1853192) + - SAUCE: mfd: rk808: Fix RK818 ID template + + * Raydium Touchscreen on ThinkPad L390 does not work (LP: #1849721) + - HID: i2c-hid: fix no irq after reset on raydium 3118 + + * Touchpad doesn't work on Dell Inspiron 7000 2-in-1 (LP: #1851901) + - Revert "UBUNTU: SAUCE: mfd: intel-lpss: add quirk for Dell XPS 13 7390 + 2-in-1" + - lib: devres: add a helper function for ioremap_uc + - mfd: intel-lpss: Use devm_ioremap_uc for MMIO + + * Lenovo dock MAC Address pass through doesn't work in Ubuntu (LP: #1827961) + - r8152: Add macpassthru support for ThinkPad Thunderbolt 3 Dock Gen 2 + + * Disable unreliable HPET on CFL-H system (LP: #1852216) + - SAUCE: x86/intel: Disable HPET on Intel Coffe Lake H platforms + + * Miscellaneous Ubuntu changes + - update dkms package versions + - [Config] Enable virtualbox dkms build + - [Config] update annotations to match current configs + - SAUCE: Add exfat module to signature inclusion list + + * Miscellaneous upstream changes + - Bluetooth: Fix invalid-free in bcsp_close() + - ath9k_hw: fix uninitialized variable data + - ath10k: Fix a NULL-ptr-deref bug in ath10k_usb_alloc_urb_from_pipe + - ath10k: Fix HOST capability QMI incompatibility + - ath10k: restore QCA9880-AR1A (v1) detection + - Revert "Bluetooth: hci_ll: set operational frequency earlier" + - Revert "dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues" + - md/raid10: prevent access of uninitialized resync_pages offset + - x86/insn: Fix awk regexp warnings + - x86/speculation: Fix incorrect MDS/TAA mitigation status + - x86/speculation: Fix redundant MDS mitigation message + - nbd: prevent memory leak + - x86/stackframe/32: Repair 32-bit Xen PV + - x86/xen/32: Make xen_iret_crit_fixup() independent of frame layout + - x86/xen/32: Simplify ring check in xen_iret_crit_fixup() + - x86/doublefault/32: Fix stack canaries in the double fault handler + - x86/pti/32: Size initial_page_table correctly + - x86/cpu_entry_area: Add guard page for entry stack on 32bit + - x86/entry/32: Fix IRET exception + - x86/entry/32: Use %ss segment where required + - x86/entry/32: Move FIXUP_FRAME after pushing %fs in SAVE_ALL + - x86/entry/32: Unwind the ESPFIX stack earlier on exception entry + - x86/entry/32: Fix NMI vs ESPFIX + - selftests/x86/mov_ss_trap: Fix the SYSENTER test + - selftests/x86/sigreturn/32: Invalidate DS and ES when abusing the kernel + - x86/pti/32: Calculate the various PTI cpu_entry_area sizes correctly, make + the CPU_ENTRY_AREA_PAGES assert precise + - x86/entry/32: Fix FIXUP_ESPFIX_STACK with user CR3 + - futex: Prevent robust futex exit race + - ALSA: usb-audio: Fix NULL dereference at parsing BADD + - ALSA: usb-audio: Fix Scarlett 6i6 Gen 2 port data + - media: vivid: Set vid_cap_streaming and vid_out_streaming to true + - media: vivid: Fix wrong locking that causes race conditions on streaming + stop + - media: usbvision: Fix invalid accesses after device disconnect + - media: usbvision: Fix races among open, close, and disconnect + - cpufreq: Add NULL checks to show() and store() methods of cpufreq + - futex: Move futex exit handling into futex code + - futex: Replace PF_EXITPIDONE with a state + - exit/exec: Seperate mm_release() + - futex: Split futex_mm_release() for exit/exec + - futex: Set task::futex_state to DEAD right after handling futex exit + - futex: Mark the begin of futex exit explicitly + - futex: Sanitize exit state handling + - futex: Provide state handling for exec() as well + - futex: Add mutex around futex exit + - futex: Provide distinct return value when owner is exiting + - futex: Prevent exit livelock + - media: uvcvideo: Fix error path in control parsing failure + - media: b2c2-flexcop-usb: add sanity checking + - media: cxusb: detect cxusb_ctrl_msg error in query + - media: imon: invalid dereference in imon_touch_event + - media: mceusb: fix out of bounds read in MCE receiver buffer + - ALSA: hda - Disable audio component for legacy Nvidia HDMI codecs + - USBIP: add config dependency for SGL_ALLOC + - usbip: tools: fix fd leakage in the function of read_attr_usbip_status + - usbip: Fix uninitialized symbol 'nents' in stub_recv_cmd_submit() + - usb-serial: cp201x: support Mark-10 digital force gauge + - USB: chaoskey: fix error case of a timeout + - appledisplay: fix error handling in the scheduled work + - USB: serial: mos7840: add USB ID to support Moxa UPort 2210 + - USB: serial: mos7720: fix remote wakeup + - USB: serial: mos7840: fix remote wakeup + - USB: serial: option: add support for DW5821e with eSIM support + - USB: serial: option: add support for Foxconn T77W968 LTE modules + - staging: comedi: usbduxfast: usbduxfast_ai_cmdtest rounding error + - powerpc/book3s64: Fix link stack flush on context switch + - KVM: PPC: Book3S HV: Flush link stack on guest exit to host kernel + - Linux 5.4.1 + + -- Seth Forshee Fri, 06 Dec 2019 15:53:53 -0600 + +linux (5.4.0-7.8) focal; urgency=medium + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/bpf: Comment out BPF_CORE_READ's which cause clang to + segfault + - Update nvidia-430 to nvidia-440 + - [Config] Enable nvidia dkms build + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.4 + + -- Andrea Righi Mon, 25 Nov 2019 15:02:30 +0100 + +linux (5.4.0-6.7) focal; urgency=medium + + * Miscellaneous Ubuntu changes + - update dkms package versions + - [Config] updateconfigs after rebase to 5.4-rc8 + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc7 + + -- Andrea Righi Mon, 18 Nov 2019 12:08:01 +0100 + +linux (5.4.0-5.6) focal; urgency=medium + + * refcount underflow and type confusion in shiftfs (LP: #1850867) // + CVE-2019-15793 + - SAUCE: shiftfs: Correct id translation for lower fs operations + + * refcount underflow and type confusion in shiftfs (LP: #1850867) // + CVE-2019-15792 + - SAUCE: shiftfs: prevent type confusion + + * refcount underflow and type confusion in shiftfs (LP: #1850867) // + CVE-2019-15791 + - SAUCE: shiftfs: Fix refcount underflow in btrfs ioctl handling + + * Some EFI systems fail to boot in efi_init() when booted via maas + (LP: #1851810) + - SAUCE: efi: efi_get_memory_map -- increase map headroom + + * seccomp: fix SECCOMP_USER_NOTIF_FLAG_CONTINUE test (LP: #1849281) + - SAUCE: seccomp: rework define for SECCOMP_USER_NOTIF_FLAG_CONTINUE + - SAUCE: seccomp: avoid overflow in implicit constant conversion + + * dkms artifacts may expire from the pool (LP: #1850958) + - [Packaging] dkms -- try launchpad librarian for pool downloads + - [Packaging] dkms -- dkms-build quieten wget verbiage + + * tsc marked unstable after entered PC10 on Intel CoffeeLake (LP: #1840239) + - SAUCE: x86/intel: Disable HPET on Intel Coffe Lake platforms + - SAUCE: x86/intel: Disable HPET on Intel Ice Lake platforms + + * shiftfs: prevent exceeding project quotas (LP: #1849483) + - SAUCE: shiftfs: drop CAP_SYS_RESOURCE from effective capabilities + + * shiftfs: fix fallocate() (LP: #1849482) + - SAUCE: shiftfs: setup correct s_maxbytes limit + + * The alsa hda driver is not loaded due to the missing of PCIID for Comet + Lake-S [8086:a3f0] (LP: #1852070) + - SAUCE: ALSA: hda: Add Cometlake-S PCI ID + + * Can't adjust brightness on DELL UHD dGPU AIO (LP: #1813877) + - SAUCE: platform/x86: dell-uart-backlight: add missing status command + - SAUCE: platform/x86: dell-uart-backlight: load driver by scalar status + - SAUCE: platform/x86: dell-uart-backlight: add force parameter + - SAUCE: platform/x86: dell-uart-backlight: add quirk for old platforms + + * s_iflags overlap prevents unprivileged overlayfs mounts (LP: #1851677) + - SAUCE: fs: Move SB_I_NOSUID to the top of s_iflags + + * ubuntu-aufs-modified mmap_region() breaks refcounting in overlayfs/shiftfs + error path (LP: #1850994) // CVE-2019-15794 + - SAUCE: shiftfs: Restore vm_file value when lower fs mmap fails + - SAUCE: ovl: Restore vm_file value when lower fs mmap fails + + * Miscellaneous Ubuntu changes + - [Debian] Convert update-aufs.sh to use aufs5 + - SAUCE: import aufs driver + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc7 + + -- Seth Forshee Wed, 13 Nov 2019 11:56:35 -0800 + +linux (5.4.0-4.5) focal; urgency=medium + + * High power consumption using 5.0.0-25-generic (LP: #1840835) + - PCI: Add a helper to check Power Resource Requirements _PR3 existence + - ALSA: hda: Allow HDA to be runtime suspended when dGPU is not bound to a + driver + - PCI: Fix missing inline for pci_pr3_present() + + * Fix signing of staging modules in eoan (LP: #1850234) + - [Packaging] Leave unsigned modules unsigned after adding .gnu_debuglink + + * [20.04 FEAT] Set Architecture Level (ALS) to z13 (LP: #1837525) + - [Config] s390x bump march to z13, with tune to z15 + + * Miscellaneous Ubuntu changes + - [Debian]: do not skip tests for linux-hwe-edge + - update dkms package versions + - [Config] re-enable zfs + - [Config] rename module virtio_fs to virtiofs + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc6 + + -- Andrea Righi Mon, 04 Nov 2019 15:12:02 +0100 + +linux (5.4.0-3.4) focal; urgency=medium + + * seccomp: fix SECCOMP_USER_NOTIF_FLAG_CONTINUE test (LP: #1849281) + - SAUCE: seccomp: fix SECCOMP_USER_NOTIF_FLAG_CONTINUE test + + * cloudimg: no iavf/i40evf module so no network available with SR-IOV enabled + cloud (LP: #1848481) + - [Packaging] include iavf/i40evf in generic + + * CVE-2019-17666 + - SAUCE: rtlwifi: Fix potential overflow on P2P code + + * Change Config Option CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE for s390x from yes + to no (LP: #1848492) + - [Config] Change Config Option CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE for s390x + from yes to no + + * Add Intel Comet Lake ethernet support (LP: #1848555) + - SAUCE: e1000e: Add support for Comet Lake + + * seccomp: add SECCOMP_USER_NOTIF_FLAG_CONTINUE (LP: #1847744) + - SAUCE: seccomp: add SECCOMP_USER_NOTIF_FLAG_CONTINUE + - SAUCE: seccomp: test SECCOMP_USER_NOTIF_FLAG_CONTINUE + + * drm/i915: Fix the issue of "azx_get_response timeout" for hdmi audio on ICL + platforms (LP: #1847192) + - SAUCE: drm/i915: Fix audio power up sequence for gen10+ display + - SAUCE: drm/i915: extend audio CDCLK>=2*BCLK constraint to more platforms + + * PM / hibernate: fix potential memory corruption (LP: #1847118) + - SAUCE: PM / hibernate: memory_bm_find_bit -- tighten node optimisation + + * [regression] NoNewPrivileges incompatible with Apparmor (LP: #1844186) + - SAUCE: apparmor: fix nnp subset test for unconfined + + * overlayfs: allow with shiftfs as underlay (LP: #1846272) + - SAUCE: overlayfs: allow with shiftfs as underlay + + * eoan: alsa/sof: Enable SOF_HDA link and codec (LP: #1848490) + - [Config] Fix SOF Kconfig options + + * linux won't build when new virtualbox version is present on the archive + (LP: #1848788) + - [Packaging]: download virtualbox from sources + + * Miscellaneous Ubuntu changes + - [Config] update annotations from configs + - [Config] updateconfigs after rebase to 5.4-rc5 + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc5 + + -- Seth Forshee Tue, 29 Oct 2019 12:01:27 -0500 + +linux (5.4.0-2.3) eoan; urgency=medium + + * Add installer support for iwlmvm adapters (LP: #1848236) + - d-i: Add iwlmvm to nic-modules + + * shiftfs: rework how shiftfs opens files (LP: #1846265) + - SAUCE: shiftfs: rework how shiftfs opens files + + * Miscellaneous Ubuntu changes + - update dkms package versions + - [Config] updateconfigs after rebase to 5.4-rc4 + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc4 + + -- Andrea Righi Mon, 21 Oct 2019 17:31:26 +0200 + +linux (5.4.0-1.2) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - update dkms package versions + - [Config] updateconfigs after rebase to 5.4-rc3 + - [Config] add flexfb, fbtft_device and rio500 to modules.ignore + - [Config] amd64: ignore fbtft and all dependent modules + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc3 + + -- Andrea Righi Mon, 14 Oct 2019 19:48:52 +0200 + +linux (5.4.0-0.1) eoan; urgency=medium + + * Enable the Dragonboards out of Eoan/master arm64 kernel (LP: #1846704) + - [Packaging] arm64: snapdragon: introduce a snapdragon flavour + - [Packaging] arm64: snapdragon: switch kernel format to Image + - [Config] arm64: snapdragon: CONFIG_PINCTRL_MSM8916=y + - [Config] arm64: snapdragon: CONFIG_PINCTRL_MSM8994=y + - [Config] arm64: snapdragon: CONFIG_PINCTRL_MSM8996=y + - [Config] arm64: snapdragon: CONFIG_PINCTRL_MSM8998=y + - [Config] arm64: snapdragon: CONFIG_REGULATOR_QCOM_RPMH=y + - [Config] arm64: snapdragon: CONFIG_QCOM_BAM_DMA=y + - [Config] arm64: snapdragon: CONFIG_QCOM_HIDMA_MGMT=y + - [Config] arm64: snapdragon: CONFIG_QCOM_HIDMA=y + - [Config] arm64: snapdragon: CONFIG_COMMON_CLK_QCOM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_CLK_RPMH=y + - [Config] arm64: snapdragon: CONFIG_MSM_GCC_8916=y + - [Config] arm64: snapdragon: CONFIG_MSM_GCC_8994=y + - [Config] arm64: snapdragon: CONFIG_MSM_MMCC_8996=y + - [Config] arm64: snapdragon: CONFIG_MSM_GCC_8998=y + - [Config] arm64: snapdragon: CONFIG_HWSPINLOCK_QCOM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_APCS_IPC=y + - [Config] arm64: snapdragon: CONFIG_RPMSG_QCOM_GLINK_RPM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_GENI_SE=y + - [Config] arm64: snapdragon: CONFIG_QCOM_SMEM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_SMD_RPM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_SMP2P=y + - [Config] arm64: snapdragon: CONFIG_QCOM_SMSM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_QFPROM=y + - [Config] arm64: snapdragon: CONFIG_SERIAL_QCOM_GENI=y + - [Config] arm64: snapdragon: CONFIG_QCOM_TSENS=y + - [Config] arm64: snapdragon: CONFIG_REGULATOR_QCOM_SMD_RPM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_CLK_SMD_RPM=y + - [Config] arm64: snapdragon: CONFIG_RPMSG_QCOM_SMD=y + - [Config] arm64: snapdragon: CONFIG_MFD_QCOM_RPM=y + - [Config] arm64: snapdragon: CONFIG_SCSI_UFSHCD=y + - [Config] arm64: snapdragon: CONFIG_SCSI_UFSHCD_PLATFORM=y + - [Config] arm64: snapdragon: CONFIG_SCSI_UFS_HISI=y + - [Config] arm64: snapdragon: CONFIG_MMC_SDHCI=y + - [Config] arm64: snapdragon: CONFIG_MMC_SDHCI_PLTFM=y + - [Config] arm64: snapdragon: CONFIG_MMC_SDHCI_MSM=y + - [Config] arm64: snapdragon: CONFIG_REGULATOR_QCOM_SPMI=y + - [Config] arm64: snapdragon: CONFIG_PINCTRL_QCOM_SPMI_PMIC=y + - [Config] arm64: snapdragon: CONFIG_PHY_QCOM_USB_HS=y + - [Config] arm64: snapdragon: CONFIG_PHY_QCOM_QMP=y + - [Config] arm64: snapdragon: CONFIG_PHY_QCOM_UFS=y + - [Config] arm64: snapdragon: CONFIG_PHY_QCOM_USB_HSIC=y + - [Config] arm64: snapdragon: CONFIG_USB_CHIPIDEA_OF=y + - [Config] arm64: snapdragon: CONFIG_USB_EHCI_HCD_PLATFORM=y + - [Config] arm64: snapdragon: CONFIG_EXTCON_USB_GPIO=y + - [Config] arm64: snapdragon: CONFIG_REGULATOR_FIXED_VOLTAGE=y + - [Config] arm64: snapdragon: CONFIG_LEDS_GPIO=y + - [Config] arm64: snapdragon: CONFIG_USB_HSIC_USB3503=y + - [Config] arm64: snapdragon: CONFIG_USB_NET_DRIVERS=y + - [Config] arm64: snapdragon: CONFIG_USB_OTG=y + - [Config] arm64: snapdragon: CONFIG_USB_XHCI_PLATFORM=y + - [Config] arm64: snapdragon: CONFIG_USB_OHCI_HCD_PLATFORM=y + - [Config] arm64: snapdragon: CONFIG_USB_MUSB_HDRC=y + - [Config] arm64: snapdragon: CONFIG_USB_DWC3=y + - [Config] arm64: snapdragon: CONFIG_USB_DWC3_PCI=y + - [Config] arm64: snapdragon: CONFIG_USB_DWC3_OF_SIMPLE=y + - [Config] arm64: snapdragon: CONFIG_USB_DWC3_QCOM=y + - [Config] arm64: snapdragon: CONFIG_LEDS_PWM=y + - [Config] arm64: snapdragon: CONFIG_LEDS_TRIGGER_HEARTBEAT=y + - [Config] arm64: snapdragon: CONFIG_LEDS_TRIGGER_DEFAULT_ON=y + - [Config] arm64: snapdragon: CONFIG_QCOM_A53PLL=y + - [Config] arm64: snapdragon: CONFIG_QCOM_CLK_APCS_MSM8916=y + - [Config] arm64: snapdragon: CONFIG_NLS_ISO8859_1=y + - [Config] arm64: snapdragon: CONFIG_USB_USBNET=y + - [Config] arm64: snapdragon: CONFIG_CRYPTO_DEV_QCOM_RNG=y + - [Config] arm64: snapdragon: CONFIG_POWER_RESET_QCOM_PON=y + - [Config] arm64: snapdragon: CONFIG_INPUT_PM8941_PWRKEY=y + - [Config] arm64: snapdragon: CONFIG_KEYBOARD_GPIO=y + - [Config] arm64: snapdragon: CONFIG_RTC_DRV_PM8XXX=y + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs after rebase to 5.4-rc2 + - SAUCE: (lockdown) Make get_cert_list() not complain about cert lists that + aren't present. + - SAUCE: (lockdown) Add efi_status_to_str() and rework efi_status_to_err(). + - SAUCE: (lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (lockdown) security: lockdown: expose a hook to lock the kernel down + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot + mode + - SAUCE: (lockdown) efi: Lock down the kernel if booted in secure boot mode + - SAUCE: (lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (lockdown) KEYS: Make use of platform keyring for module signature + verify + - SAUCE: (lockdown) arm64: Allow locking down the kernel under EFI secure boot + - SAUCE: (lockdown) security: lockdown: Make + CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic + - SAUCE: (lockdown) s390/ipl: lockdown kernel when booted secure + - [Config] Enable lockdown under secure boot + - SAUCE: import aufs driver + - SAUCE: aufs: rwsem owner changed to atmoic_long_t in 5.3 + - SAUCE: aufs: add "WITH Linux-syscall-note" to SPDX tag of uapi headers + - [Config] enable aufs + - update dkms package versions + - [Config] disable zfs + - [Config] disable nvidia dkms build + - [Config] disable virtualbox dkms build + - [Debian] Generate stub reconstruct for -rc kernels + - Revert "UBUNTU: SAUCE: (namespace) block_dev: Forbid unprivileged mounting + when device is opened for writing" + - Revert "UBUNTU: SAUCE: (namespace) ext4: Add module parameter to enable user + namespace mounts" + - Revert "UBUNTU: SAUCE: (namespace) ext4: Add support for unprivileged mounts + from user namespaces" + - Revert "UBUNTU: SAUCE: (namespace) mtd: Check permissions towards mtd block + device inode when mounting" + - Revert "UBUNTU: SAUCE: (namespace) block_dev: Check permissions towards + block device inode when mounting" + - Revert "UBUNTU: SAUCE: (namespace) block_dev: Support checking inode + permissions in lookup_bdev()" + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc2 + + -- Seth Forshee Fri, 11 Oct 2019 16:42:41 -0500 + +linux (5.4.0-0.0) eoan; urgency=medium + + * Dummy entry. + + -- Seth Forshee Tue, 08 Oct 2019 09:59:00 -0500 + +linux (5.3.0-17.18) eoan; urgency=medium + + * eoan/linux: 5.3.0-17.18 -proposed tracker (LP: #1846641) + + * CVE-2019-17056 + - nfc: enforce CAP_NET_RAW for raw sockets + + * CVE-2019-17055 + - mISDN: enforce CAP_NET_RAW for raw sockets + + * CVE-2019-17054 + - appletalk: enforce CAP_NET_RAW for raw sockets + + * CVE-2019-17053 + - ieee802154: enforce CAP_NET_RAW for raw sockets + + * CVE-2019-17052 + - ax25: enforce CAP_NET_RAW for raw sockets + + * CVE-2019-15098 + - ath6kl: fix a NULL-ptr-deref bug in ath6kl_usb_alloc_urb_from_pipe() + + * xHCI on AMD Stoney Ridge cannot detect USB 2.0 or 1.1 devices. + (LP: #1846470) + - x86/PCI: Avoid AMD FCH XHCI USB PME# from D0 defect + + * Re-enable linux-libc-dev build on i386 (LP: #1846508) + - [Packaging] Build only linux-libc-dev for i386 + - [Debian] final-checks -- ignore archtictures with no binaries + + * arm64: loop on boot after installing linux-generic-hwe-18.04-edge/bionic- + proposed (LP: #1845820) + - [Config] Disable CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT + + * Revert ESE DASD discard support (LP: #1846219) + - SAUCE: Revert "s390/dasd: Add discard support for ESE volumes" + + * Miscellaneous Ubuntu changes + - update dkms package versions + + -- Seth Forshee Thu, 03 Oct 2019 16:57:05 -0500 + +linux (5.3.0-16.17) eoan; urgency=medium + + * eoan/linux: 5.3.0-16.17 -proposed tracker (LP: #1846204) + + * zfs fails to build on s390x with debug symbols enabled (LP: #1846143) + - SAUCE: s390: Mark atomic const ops always inline + + -- Seth Forshee Tue, 01 Oct 2019 07:46:43 -0500 + +linux (5.3.0-15.16) eoan; urgency=medium + + * eoan/linux: 5.3.0-15.16 -proposed tracker (LP: #1845987) + + * Drop i386 build for 19.10 (LP: #1845714) + - [Packaging] Remove x32 arch references from control files + - [Debian] final-checks -- Get arch list from debian/control + + * ZFS kernel modules lack debug symbols (LP: #1840704) + - [Debian] Fix conditional for setting zfs debug package path + + * Use pyhon3-sphinx instead of python-sphinx for building html docs + (LP: #1845808) + - [Packaging] Update sphinx build dependencies to python3 packages + + * Kernel panic with 19.10 beta image (LP: #1845454) + - efi/tpm: Don't access event->count when it isn't mapped. + - efi/tpm: don't traverse an event log with no events + - efi/tpm: only set efi_tpm_final_log_size after successful event log parsing + + -- Seth Forshee Mon, 30 Sep 2019 11:57:20 -0500 + +linux (5.3.0-14.15) eoan; urgency=medium + + * eoan/linux: 5.3.0-14.15 -proposed tracker (LP: #1845728) + + * Drop i386 build for 19.10 (LP: #1845714) + - [Debian] Remove support for producing i386 kernels + - [Debian] Don't use CROSS_COMPILE for i386 configs + + * udevadm trigger will fail when trying to add /sys/devices/vio/ + (LP: #1845572) + - SAUCE: powerpc/vio: drop bus_type from parent device + + * Trying to online dasd drive results in invalid input/output from the kernel + on z/VM (LP: #1845323) + - SAUCE: s390/dasd: Fix error handling during online processing + + * intel-lpss driver conflicts with write-combining MTRR region (LP: #1845584) + - SAUCE: mfd: intel-lpss: add quirk for Dell XPS 13 7390 2-in-1 + + * Support Hi1620 zip hw accelerator (LP: #1845355) + - [Config] Enable HiSilicon QM/ZIP as modules + - crypto: hisilicon - add queue management driver for HiSilicon QM module + - crypto: hisilicon - add hardware SGL support + - crypto: hisilicon - add HiSilicon ZIP accelerator support + - crypto: hisilicon - add SRIOV support for ZIP + - Documentation: Add debugfs doc for hisi_zip + - crypto: hisilicon - add debugfs for ZIP and QM + - MAINTAINERS: add maintainer for HiSilicon QM and ZIP controller driver + - crypto: hisilicon - fix kbuild warnings + - crypto: hisilicon - add dependency for CRYPTO_DEV_HISI_ZIP + - crypto: hisilicon - init curr_sgl_dma to fix compile warning + - crypto: hisilicon - add missing single_release + - crypto: hisilicon - fix error handle in hisi_zip_create_req_q + - crypto: hisilicon - Fix warning on printing %p with dma_addr_t + - crypto: hisilicon - Fix return value check in hisi_zip_acompress() + - crypto: hisilicon - avoid unused function warning + + * SafeSetID LSM should be built but disabled by default (LP: #1845391) + - LSM: SafeSetID: Stop releasing uninitialized ruleset + - [Config] Build SafeSetID LSM but don't enable it by default + + * CONFIG_LSM should not specify loadpin since it is not built (LP: #1845383) + - [Config] loadpin shouldn't be in CONFIG_LSM + + * Add new pci-id's for CML-S, ICL (LP: #1845317) + - drm/i915/icl: Add missing device ID + - drm/i915/cml: Add Missing PCI IDs + + * Thunderbolt support for ICL (LP: #1844680) + - thunderbolt: Correct path indices for PCIe tunnel + - thunderbolt: Move NVM upgrade support flag to struct icm + - thunderbolt: Use 32-bit writes when writing ring producer/consumer + - thunderbolt: Do not fail adding switch if some port is not implemented + - thunderbolt: Hide switch attributes that are not set + - thunderbolt: Expose active parts of NVM even if upgrade is not supported + - thunderbolt: Add support for Intel Ice Lake + - ACPI / property: Add two new Thunderbolt property GUIDs to the list + + * Ubuntu 19.10 - Additional PCI patch and fix (LP: #1844668) + - s390/pci: fix MSI message data + + * Enhanced Hardware Support - Finalize Naming (LP: #1842774) + - s390: add support for IBM z15 machines + - [Config] CONFIG_MARCH_Z15=n, CONFIG_TUNE_Z15=n + + * Eoan update: v5.3.1 upstream stable release (LP: #1845642) + - USB: usbcore: Fix slab-out-of-bounds bug during device reset + - media: tm6000: double free if usb disconnect while streaming + - phy: renesas: rcar-gen3-usb2: Disable clearing VBUS in over-current + - ip6_gre: fix a dst leak in ip6erspan_tunnel_xmit + - net/sched: fix race between deactivation and dequeue for NOLOCK qdisc + - net_sched: let qdisc_put() accept NULL pointer + - udp: correct reuseport selection with connected sockets + - xen-netfront: do not assume sk_buff_head list is empty in error handling + - net: dsa: Fix load order between DSA drivers and taggers + - net: stmmac: Hold rtnl lock in suspend/resume callbacks + - KVM: coalesced_mmio: add bounds checking + - Documentation: sphinx: Add missing comma to list of strings + - firmware: google: check if size is valid when decoding VPD data + - serial: sprd: correct the wrong sequence of arguments + - tty/serial: atmel: reschedule TX after RX was started + - nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds + - Revert "arm64: Remove unnecessary ISBs from set_{pte,pmd,pud}" + - ovl: fix regression caused by overlapping layers detection + - phy: qcom-qmp: Correct ready status, again + - floppy: fix usercopy direction + - media: technisat-usb2: break out of loop at end of buffer + - Linux 5.3.1 + + * ZFS kernel modules lack debug symbols (LP: #1840704) + - [Debian]: Remove hardcoded $(pkgdir) in debug symbols handling + - [Debian]: Handle debug symbols for modules in extras too + - [Debian]: Check/link modules with debug symbols after DKMS modules + - [Debian]: Warn about modules without debug symbols + - [Debian]: dkms-build: new parameter for debug package directory + - [Debian]: dkms-build: zfs: support for debug symbols + - [Debian]: dkms-build: Avoid executing post-processor scripts twice + - [Debian]: dkms-build: Move zfs special-casing into configure script + + * /proc/self/maps paths missing on live session (was vlc won't start; eoan + 19.10 & bionic 18.04 ubuntu/lubuntu/kubuntu/xubuntu/ubuntu-mate dailies) + (LP: #1842382) + - SAUCE: Revert "UBUNTU: SAUCE: shiftfs: enable overlayfs on shiftfs" + + -- Seth Forshee Fri, 27 Sep 2019 16:08:06 -0500 + +linux (5.3.0-13.14) eoan; urgency=medium + + * eoan/linux: 5.3.0-13.14 -proposed tracker (LP: #1845105) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * Miscellaneous Ubuntu changes + - [Debian] Remove binutils-dev build dependency + + -- Seth Forshee Mon, 23 Sep 2019 19:26:43 -0500 + +linux (5.3.0-12.13) eoan; urgency=medium + + * Change kernel compression method to improve boot speed (LP: #1840934) + - [Packaging] Add lz4 build dependency for s390x + + * Miscellaneous Ubuntu changes + - SAUCE: Remove spl and zfs source + + -- Seth Forshee Tue, 17 Sep 2019 13:36:26 +0200 + +linux (5.3.0-11.12) eoan; urgency=medium + + * eoan/linux: 5.3.0-11.12 -proposed tracker (LP: #1844144) + + * Suspend to RAM(S3) does not wake up for latest megaraid and mpt3sas + adapters(SAS3.5 onwards) (LP: #1838751) + - PCI: Restore Resizable BAR size bits correctly for 1MB BARs + + * s390/setup: Actually init kernel lock down (LP: #1843961) + - SAUCE: (lockdown) s390/setup: Actually init kernel lock down + + * cherrypick has_sipl fix (LP: #1843960) + - SAUCE: s390/sclp: Fix bit checked for has_sipl + + * Change kernel compression method to improve boot speed (LP: #1840934) + - [Config]: Switch kernel compression from LZO to LZ4 on s390x + + * Installation fails on eoan/PowerVM : missing /dev/nvram (LP: #1837726) + - [Config] CONFIG_NVRAM=y for ppc64el + + * Miscellaneous Ubuntu changes + - [Config]: remove nvram from ppc64el modules ABI + - [Config] Update annotations for recent config changes + - SAUCE: sched: Add __ASSEMBLY__ guards around struct clone_args + - SAUCE: i2c: qcom-geni: Disable DMA processing on the Lenovo Yoga C630 + - SAUCE: arm64: dts: qcom: Add Lenovo Yoga C630 + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.3 + + -- Paolo Pisati Mon, 16 Sep 2019 16:18:27 +0200 + +linux (5.3.0-10.11) eoan; urgency=medium + + * eoan/linux: 5.3.0-10.11 -proposed tracker (LP: #1843232) + + * No sound inputs from the external microphone and headset on a Dell machine + (LP: #1842265) + - SAUCE: ALSA: hda - Expand pin_match function to match upcoming new tbls + - SAUCE: ALSA: hda - Define a fallback_pin_fixup_tbl for alc269 family + + * Horizontal corrupted line at top of screen caused by framebuffer compression + (LP: #1840236) + - SAUCE: drm/i915/fbc: disable framebuffer compression on IceLake + + * Add bpftool to linux-tools-common (LP: #1774815) + - [Debian] package bpftool in linux-tools-common + + * Miscellaneous Ubuntu changes + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc8 + + -- Paolo Pisati Mon, 09 Sep 2019 10:00:41 +0200 + +linux (5.3.0-9.10) eoan; urgency=medium + + * eoan/linux: 5.3.0-9.10 -proposed tracker (LP: #1842393) + + * shiftfs: mark kmem_cache as reclaimable (LP: #1842059) + - SAUCE: shiftfs: mark slab objects SLAB_RECLAIM_ACCOUNT + + * shiftfs: drop entries from cache on unlink (LP: #1841977) + - SAUCE: shiftfs: fix buggy unlink logic + + * Fix touchpad IRQ storm after S3 (LP: #1841396) + - pinctrl: intel: remap the pin number to gpio offset for irq enabled pin + + * Please include DTBs for arm64 laptops (LP: #1842050) + - arm64: dts: qcom: Add Lenovo Miix 630 + - arm64: dts: qcom: Add HP Envy x2 + - arm64: dts: qcom: Add Asus NovaGo TP370QL + + * Miscellaneous Ubuntu changes + - SAUCE: import aufs driver + - [Packaging]: ignore vbox modules when vbox is disabled + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc7 + + -- Paolo Pisati Tue, 03 Sep 2019 10:27:33 +0200 + +linux (5.3.0-8.9) eoan; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] resync getabis + + * Change kernel compression method to improve boot speed (LP: #1840934) + - [Config] change kernel compression method to improve boot speed + - [Packaging] add build dependencies for compression algorithms + + * realtek r8822be kernel module fails after update to linux kernel-headers + 5.0.0-21 (LP: #1838133) + - rtw88: Fix misuse of GENMASK macro + - rtw88: pci: Rearrange the memory usage for skb in RX ISR + - rtw88: pci: Use DMA sync instead of remapping in RX ISR + - rtw88: debug: dump tx power indexes in use + - rtw88: use txpwr_lmt_cfg_pair struct, not arrays + - rtw88: pci: remove set but not used variable 'ip_sel' + - rtw88: allow c2h operation in irq context + - rtw88: enclose c2h cmd handle with mutex + - rtw88: add BT co-existence support + - SAUCE: rtw88: pci: enable MSI interrupt + + * VIMC module not available (CONFIG_VIDEO_VIMC not set) (LP: #1831482) + - [Config] Enable VIMC module + + * Goodix touchpad may drop first input event (LP: #1840075) + - Revert "UBUNTU: SAUCE: i2c: designware: add G3 3590 into i2c quirk" + - Revert "UBUNTU: SAUCE: i2c: designware: add Inpiron 7591 into i2c quirk" + - Revert "UBUNTU: SAUCE: i2c: designware: add Inpiron/Vostro 7590 into i2c + quirk" + - Revert "UBUNTU: SAUCE: i2c: designware: Add disable runtime pm quirk" + - mfd: intel-lpss: Remove D3cold delay + + * Include Sunix serial/parallel driver (LP: #1826716) + - serial: 8250_pci: Add support for Sunix serial boards + - parport: parport_serial: Add support for Sunix Multi I/O boards + + * enable lockdown on s390x when Secure IPL is performed (LP: #1839622) + - SAUCE: (lockdown) s390/ipl: lockdown kernel when booted secure + - Ubuntu: [Config] Enable CONFIG_LOCK_DOWN_KERNEL on s390x. + + * UBUNTU: SAUCE: shiftfs: pass correct point down (LP: #1837231) + - SAUCE: shiftfs: pass correct point down + + * shiftfs: add O_DIRECT support (LP: #1837223) + - SAUCE: shiftfs: add O_DIRECT support + + * Miscellaneous Ubuntu changes + - [Config] enable secureboot signing on s390x + - [Config] CONFIG_TEST_BLACKHOLE_DEV=m + - SAUCE: selftests: fib_tests: assign address to dummy1 for rp_filter tests + - [Debian] disable dkms builds for autopktest rebuilds + - update dkms package versions + - [Config] updateconfigs after v5.3-rc6 rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc5 + + -- Paolo Pisati Mon, 26 Aug 2019 10:09:42 +0200 + +linux (5.3.0-7.8) eoan; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] resync getabis + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs after v5.3-rc5 rebase + - remove missing module after updateconfigs + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc5 + + -- Paolo Pisati Mon, 19 Aug 2019 15:31:24 +0200 + +linux (5.3.0-6.7) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/bpf: prevent headers to be compiled as C code + + -- Seth Forshee Wed, 14 Aug 2019 13:25:01 -0500 + +linux (5.3.0-5.6) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - update dkms package versions + - [Config] enable zfs build + + -- Seth Forshee Tue, 13 Aug 2019 09:16:06 -0500 + +linux (5.3.0-4.5) eoan; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] resync getabis + - [Packaging] update helper scripts + + * bcache: bch_allocator_thread(): hung task timeout (LP: #1784665) // Tight + timeout for bcache removal causes spurious failures (LP: #1796292) + - SAUCE: bcache: fix deadlock in bcache_allocator + + * shiftfs: allow overlayfs (LP: #1838677) + - SAUCE: shiftfs: enable overlayfs on shiftfs + + * Miscellaneous Ubuntu changes + - SAUCE: Revert "kbuild: modpost: do not parse unnecessary rules for vmlinux + modpost" + - update dkms package versions + - enable nvidia dkms build + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc4 + + -- Seth Forshee Mon, 12 Aug 2019 10:41:27 -0500 + +linux (5.3.0-3.4) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - update dkms package versions + - SAUCE: aufs: add "WITH Linux-syscall-note" to SPDX tag of uapi headers + - [Config] add mux-* to modules.ignore + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc3 + + -- Paolo Pisati Mon, 05 Aug 2019 18:17:09 +0200 + +linux (5.3.0-2.3) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - [Packaging] add build dependincy on fontconfig + + -- Seth Forshee Mon, 29 Jul 2019 12:18:46 -0400 + +linux (5.3.0-1.2) eoan; urgency=medium + + * System does not auto detect disconnection of external monitor (LP: #1835001) + - SAUCE: drm/i915: Add support for retrying hotplug + - SAUCE: drm/i915: Enable hotplug retry + + * Please enable CONFIG_SCSI_UFS_QCOM as a module on arm64 (LP: #1837332) + - [Config] Enable CONFIG_SCSI_UFS_QCOM as a module on arm64. + + * Add arm64 CONFIG_ARCH_MESON=y and related configs Edit (LP: #1820530) + - [Config] enable ARCH_MESON + - remove missing module + - [Config] update annotations after enabling ARCH_MESON for arm64 + + * Miscellaneous Ubuntu changes + - SAUCE: KVM: PPC: comment implicit fallthrough + - update dkms package versions + - [Config] enable vbox dkms build + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc2 + + -- Seth Forshee Sun, 28 Jul 2019 23:10:16 -0400 + +linux (5.3.0-0.1) eoan; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] resync git-ubuntu-log + + * Miscellaneous Ubuntu changes + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the kernel is + locked down + - SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the kernel is locked + down + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and + KEXEC_SIG_FORCE + - SAUCE: (efi-lockdown) kexec_file: Restrict at runtime if the kernel is + locked down + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Lock down module params that specify hardware + parameters (eg. ioport) + - SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the testmmiotrace module + - SAUCE: (efi-lockdown) Lock down /proc/kcore + - SAUCE: (efi-lockdown) Lock down kprobes + - SAUCE: (efi-lockdown) bpf: Restrict kernel image access functions when the + kernel is locked down + - SAUCE: (efi-lockdown) Lock down perf + - SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the kernel is locked + down + - SAUCE: (efi-lockdown) lockdown: Print current->comm in restriction messages + - SAUCE: (efi-lockdown) kexec: Allow kexec_file() with appropriate IMA policy + when locked down + - SAUCE: (efi-lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (efi-lockdown) debugfs: avoid EPERM when no open file operation + defined + - SAUCE: (efi-lockdown) Make get_cert_list() not complain about cert lists + that aren't present. + - SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err(). + - SAUCE: (efi-lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) KEYS: Make use of platform keyring for module + signature verify + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) furter KEXEC_VERIFY_SIG -> KEXEC_SIG updates + - SAUCE: (efi-lockdown) arm64: add kernel config option to lock down when in + Secure Boot mode + - SAUCE: import aufs driver + - SAUCE: aufs: rwsem owner changed to atmoic_long_t in 5.3 + - [Config] disable zfs dkms build + - [Config] disable nvidia dkms build + - [Config] disable vbox dkms build + - SAUCE: perf diff: use llabs for s64 vaules + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc1 + + -- Seth Forshee Tue, 23 Jul 2019 21:45:44 -0500 + +linux (5.3.0-0.0) eoan; urgency=medium + + * Dummy entry. + + -- Seth Forshee Mon, 22 Jul 2019 10:19:04 -0500 + +linux (5.2.0-9.10) eoan; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * input/mouse: alps trackpoint-only device doesn't work (LP: #1836752) + - SAUCE: Input: alps - don't handle ALPS cs19 trackpoint-only device + - SAUCE: Input: alps - fix a mismatch between a condition check and its + comment + + * System does not auto detect disconnection of external monitor (LP: #1835001) + - SAUCE: drm/i915: Add support for retrying hotplug + - SAUCE: drm/i915: Enable hotplug retry + + * alsa/hdmi: add icelake hdmi audio support for a Dell machine (LP: #1836916) + - SAUCE: ALSA: hda/hdmi - Remove duplicated define + - SAUCE: ALSA: hda/hdmi - Fix i915 reverse port/pin mapping + + * First click on Goodix touchpad doesn't be recognized after runtime suspended + (LP: #1836836) + - SAUCE: i2c: designware: add G3 3590 into i2c quirk + + * ixgbe{vf} - Physical Function gets IRQ when VF checks link state + (LP: #1836760) + - ixgbevf: Use cached link state instead of re-reading the value for ethtool + + * Doing multiple squashfs (and other loop?) mounts in parallel breaks + (LP: #1836914) + - SAUCE: Revert "loop: Don't change loop device under exclusive opener" + + * hibmc-drm Causes Unreadable Display for Huawei amd64 Servers (LP: #1762940) + - SAUCE: Make CONFIG_DRM_HISI_HIBMC depend on ARM64 + - [Config] Set CONFIG_DRM_HISI_HIBMC to arm64 only + - [Config] add hibmc-drm to modules.ignore + + * hda/realtek: can't detect external mic on a Dell machine (LP: #1836755) + - ALSA: hda/realtek: apply ALC891 headset fixup to one Dell machine + + * Enable Armada SOCs and MVPP2 NIC driver for disco/generic arm64 + (LP: #1835054) + - [Config] Enable Armada SOCs and MVPP2 NIC driver for disco/generic arm64 + + * Unhide Nvidia HDA audio controller (LP: #1836308) + - PCI: Enable NVIDIA HDA controllers + + * Intel ethernet I219 may wrongly detect connection speed as 10Mbps + (LP: #1836177) + - e1000e: Make watchdog use delayed work + + * Sometimes touchpad(goodix) can't use tap function (LP: #1836020) + - SAUCE: i2c: designware: add Inpiron/Vostro 7590 into i2c quirk + - SAUCE: i2c: designware: add Inpiron 7591 into i2c quirk + + * Intel ethernet I219 has slow RX speed (LP: #1836152) + - e1000e: add workaround for possible stalled packet + - e1000e: disable force K1-off feature + + * bcache: risk of data loss on I/O errors in backing or caching devices + (LP: #1829563) + - Revert "bcache: set CACHE_SET_IO_DISABLE in bch_cached_dev_error()" + + * bnx2x driver causes 100% CPU load (LP: #1832082) + - bnx2x: Prevent ptp_task to be rescheduled indefinitely + + * fcf-protection=none patch with new version + - Revert "UBUNTU: SAUCE: kbuild: add -fcf-protection=none to retpoline flags" + - SAUCE: kbuild: add -fcf-protection=none when using retpoline flags + + * CVE-2019-12614 + - powerpc/pseries/dlpar: Fix a missing check in dlpar_parse_cc_property() + + * Eoan update: v5.2.1 upstream stable release (LP: #1836622) + - crypto: lrw - use correct alignmask + - crypto: talitos - rename alternative AEAD algos. + - fscrypt: don't set policy for a dead directory + - udf: Fix incorrect final NOT_ALLOCATED (hole) extent length + - media: stv0297: fix frequency range limit + - ALSA: usb-audio: Fix parse of UAC2 Extension Units + - ALSA: hda/realtek - Headphone Mic can't record after S3 + - tpm: Actually fail on TPM errors during "get random" + - tpm: Fix TPM 1.2 Shutdown sequence to prevent future TPM operations + - block: fix .bi_size overflow + - block, bfq: NULL out the bic when it's no longer valid + - perf intel-pt: Fix itrace defaults for perf script + - perf auxtrace: Fix itrace defaults for perf script + - perf intel-pt: Fix itrace defaults for perf script intel-pt documentation + - perf pmu: Fix uncore PMU alias list for ARM64 + - perf thread-stack: Fix thread stack return from kernel for kernel-only case + - perf header: Assign proper ff->ph in perf_event__synthesize_features() + - x86/ptrace: Fix possible spectre-v1 in ptrace_get_debugreg() + - x86/tls: Fix possible spectre-v1 in do_get_thread_area() + - Documentation: Add section about CPU vulnerabilities for Spectre + - Documentation/admin: Remove the vsyscall=native documentation + - mwifiex: Don't abort on small, spec-compliant vendor IEs + - USB: serial: ftdi_sio: add ID for isodebug v1 + - USB: serial: option: add support for GosunCn ME3630 RNDIS mode + - Revert "serial: 8250: Don't service RX FIFO if interrupts are disabled" + - p54usb: Fix race between disconnect and firmware loading + - usb: gadget: f_fs: data_len used before properly set + - usb: gadget: ether: Fix race between gether_disconnect and rx_submit + - usb: dwc2: use a longer AHB idle timeout in dwc2_core_reset() + - usb: renesas_usbhs: add a workaround for a race condition of workqueue + - drivers/usb/typec/tps6598x.c: fix portinfo width + - drivers/usb/typec/tps6598x.c: fix 4CC cmd write + - p54: fix crash during initialization + - staging: comedi: dt282x: fix a null pointer deref on interrupt + - staging: wilc1000: fix error path cleanup in wilc_wlan_initialize() + - staging: bcm2835-camera: Restore return behavior of ctrl_set_bitrate() + - staging: comedi: amplc_pci230: fix null pointer deref on interrupt + - staging: mt7621-pci: fix PCIE_FTS_NUM_LO macro + - HID: Add another Primax PIXART OEM mouse quirk + - lkdtm: support llvm-objcopy + - binder: fix memory leak in error path + - binder: return errors from buffer copy functions + - iio: adc: stm32-adc: add missing vdda-supply + - coresight: Potential uninitialized variable in probe() + - coresight: etb10: Do not call smp_processor_id from preemptible + - coresight: tmc-etr: Do not call smp_processor_id() from preemptible + - coresight: tmc-etr: alloc_perf_buf: Do not call smp_processor_id from + preemptible + - coresight: tmc-etf: Do not call smp_processor_id from preemptible + - carl9170: fix misuse of device driver API + - Revert "x86/build: Move _etext to actual end of .text" + - VMCI: Fix integer overflow in VMCI handle arrays + - staging: vchiq_2835_arm: revert "quit using custom down_interruptible()" + - staging: vchiq: make wait events interruptible + - staging: vchiq: revert "switch to wait_for_completion_killable" + - staging: fsl-dpaa2/ethsw: fix memory leak of switchdev_work + - staging: bcm2835-camera: Replace spinlock protecting context_map with mutex + - staging: bcm2835-camera: Ensure all buffers are returned on disable + - staging: bcm2835-camera: Remove check of the number of buffers supplied + - staging: bcm2835-camera: Handle empty EOS buffers whilst streaming + - staging: rtl8712: reduce stack usage, again + - Linux 5.2.1 + - [Config] updateconfigs after v5.2.1 stable update + + * fcf-protection=none patch with upstream version + - Revert "UBUNTU: SAUCE: add -fcf-protection=none to retpoline flags" + - SAUCE: kbuild: add -fcf-protection=none to retpoline flags + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/ftrace: avoid failure when trying to probe a notrace + function + - SAUCE: selftests/powerpc/ptrace: fix build failure + - update dkms package versions + - [Packaging] add zlua to zfs-modules.ignore + - update dkms package versions + + -- Seth Forshee Fri, 19 Jul 2019 15:04:45 -0500 + +linux (5.2.0-8.9) eoan; urgency=medium + + * linux: 5.2.0-8.9 -proposed tracker (LP: #1835700) + + * Miscellaneous Ubuntu changes + - [Packaging] replace zfs and spl build with zfs 0.8.1-1ubuntu1 + - SAUCE: test_bpf: remove expected fail for Ctx heavy transformations test on + s390 + - SAUCE: add -fcf-protection=none to retpoline flags + - SAUCE: usbip: ensure strings copied using strncpy are null-terminated + - SAUCE: usbip: add -Wno-address-of-packed-member to EXTRA_CFLAGS + - SAUCE: perf jvmti: ensure strncpy result is null-terminated + - update dkms package versions + - add removed zfs modules to modules.ignore + + [ Upstream Kernel Changes ] + + * Rebase to v5.2 + + -- Seth Forshee Mon, 08 Jul 2019 07:13:41 -0500 + +linux (5.2.0-7.8) eoan; urgency=medium + + * Kernel panic upon resetting ixgbe SR-IOV VFIO virtual function using 5.0 + kernel (LP: #1829652) + - SAUCE: ixgbe: Avoid NULL pointer dereference with VF on non-IPsec hw + + * Hi1620 driver updates from upstream 5.2 merge window (LP: #1830815) + - net: hns3: initialize CPU reverse mapping + - net: hns3: refine the flow director handle + - net: hns3: add aRFS support for PF + - net: hns3: fix for FEC configuration + - RDMA/hns: Remove unnecessary print message in aeq + - RDMA/hns: Update CQE specifications + - RDMA/hns: Move spin_lock_irqsave to the correct place + - RDMA/hns: Remove jiffies operation in disable interrupt context + - RDMA/hns: Replace magic numbers with #defines + - net: hns3: fix compile warning without CONFIG_RFS_ACCEL + - net: hns3: fix for HNS3_RXD_GRO_SIZE_M macro + - net: hns3: add support for dump firmware statistics by debugfs + - net: hns3: use HCLGE_STATE_NIC_REGISTERED to indicate PF NIC client has + registered + - net: hns3: use HCLGE_STATE_ROCE_REGISTERED to indicate PF ROCE client has + registered + - net: hns3: use HCLGEVF_STATE_NIC_REGISTERED to indicate VF NIC client has + registered + - net: hns3: modify hclge_init_client_instance() + - net: hns3: modify hclgevf_init_client_instance() + - net: hns3: add handshake with hardware while doing reset + - net: hns3: stop schedule reset service while unloading driver + - net: hns3: adjust hns3_uninit_phy()'s location in the hns3_client_uninit() + - net: hns3: fix a memory leak issue for hclge_map_unmap_ring_to_vf_vector + - RDMA/hns: Bugfix for posting multiple srq work request + - net: hns3: remove redundant core reset + - net: hns3: don't configure new VLAN ID into VF VLAN table when it's full + - net: hns3: fix VLAN filter restore issue after reset + - net: hns3: set the port shaper according to MAC speed + - net: hns3: add a check to pointer in error_detected and slot_reset + - net: hns3: set ops to null when unregister ad_dev + - net: hns3: add handling of two bits in MAC tunnel interrupts + - net: hns3: remove setting bit of reset_requests when handling mac tunnel + interrupts + - net: hns3: add opcode about query and clear RAS & MSI-X to special opcode + - net: hns3: delay and separate enabling of NIC and ROCE HW errors + - RDMA/hns: fix inverted logic of readl read and shift + - RDMA/hns: Bugfix for filling the sge of srq + - net: hns3: log detail error info of ROCEE ECC and AXI errors + - net: hns3: fix wrong size of mailbox responding data + - net: hns3: make HW GRO handling compliant with SW GRO + - net: hns3: replace numa_node_id with numa_mem_id for buffer reusing + - net: hns3: refactor hns3_get_new_int_gl function + - net: hns3: trigger VF reset if a VF has an over_8bd_nfe_err + - net: hns3: delete the redundant user NIC codes + - net: hns3: small changes for magic numbers + - net: hns3: use macros instead of magic numbers + - net: hns3: refactor PF/VF RSS hash key configuration + - net: hns3: some modifications to simplify and optimize code + - net: hns3: fix some coding style issues + - net: hns3: delay setting of reset level for hw errors until slot_reset is + called + - net: hns3: fix avoid unnecessary resetting for the H/W errors which do not + require reset + - net: hns3: process H/W errors occurred before HNS dev initialization + - net: hns3: add recovery for the H/W errors occurred before the HNS dev + initialization + - net: hns3: some changes of MSI-X bits in PPU(RCB) + - net: hns3: extract handling of mpf/pf msi-x errors into functions + - net: hns3: clear restting state when initializing HW device + - net: hns3: free irq when exit from abnormal branch + - net: hns3: fix for dereferencing before null checking + - net: hns3: fix for skb leak when doing selftest + - net: hns3: delay ring buffer clearing during reset + - net: hns3: some variable modification + - net: hns3: fix dereference of ae_dev before it is null checked + - scsi: hisi_sas: Delete PHY timers when rmmod or probe failed + - scsi: hisi_sas: Fix the issue of argument mismatch of printing ecc errors + - scsi: hisi_sas: Reduce HISI_SAS_SGE_PAGE_CNT in size + - scsi: hisi_sas: Change the type of some numbers to unsigned + - scsi: hisi_sas: Ignore the error code between phy down to phy up + - scsi: hisi_sas: Disable stash for v3 hw + - net: hns3: Add missing newline at end of file + - RDMa/hns: Don't stuck in endless timeout loop + + * Sometimes touchpad automatically trigger double click (LP: #1833484) + - SAUCE: i2c: designware: Add disable runtime pm quirk + + * Add pointstick support on HP ZBook 17 G5 (LP: #1833387) + - Revert "HID: multitouch: Support ALPS PTP stick with pid 0x120A" + + * depmod may prefer unsigned l-r-m nvidia modules to signed modules + (LP: #1834479) + - [Packaging] dkms-build--nvidia-N -- clean up unsigned ko files + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/powerpc: disable signal_fuzzer test + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc7 + + -- Seth Forshee Mon, 01 Jul 2019 07:22:18 -0500 + +linux (5.2.0-6.7) eoan; urgency=medium + + * hinic: fix oops due to race in set_rx_mode (LP: #1832048) + - hinic: fix a bug in set rx mode + + * Miscellaneous Ubuntu changes + - rebase to v5.2-rc6 + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc6 + + -- Seth Forshee Sun, 23 Jun 2019 23:36:11 -0500 + +linux (5.2.0-5.6) eoan; urgency=medium + + * QCA9377 isn't being recognized sometimes (LP: #1757218) + - SAUCE: USB: Disable USB2 LPM at shutdown + + * shiftfs: allow changing ro/rw for subvolumes (LP: #1832316) + - SAUCE: shiftfs: allow changing ro/rw for subvolumes + + * Miscellaneous Ubuntu changes + - update dkms package versions + - [Packaging] replace nvidia-418 dkms build with nvidia-430 + - SAUCE: import aufs driver + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc5 + + -- Seth Forshee Mon, 17 Jun 2019 15:04:12 -0500 + +linux (5.2.0-4.5) eoan; urgency=medium + + * arm64: cma_alloc errors at boot (LP: #1823753) + - [Config] Bump CMA_SIZE_MBYTES to 32 on arm64 + - dma-contiguous: add dma_{alloc,free}_contiguous() helpers + - dma-contiguous: use fallback alloc_pages for single pages + - dma-contiguous: fix !CONFIG_DMA_CMA version of dma_{alloc, + free}_contiguous() + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_MFD_TQMX86=n for s390x + - [Config] CONFIG_GPIO_AMD_FCH=n for s390x + - [Config] CONFIG_BACKLIGHT_CLASS_DEVICE=n on s390x + - [Config] CONFIG_LCD_CLASS_DEVICE=n for s390x + - [Config] CONFIG_DRM_ETNAVIV=m for armhf generic-lpae + - [Config] CONFIG_DRM_NOUVEAU_SVM=n + - [Config] CONFIG_HWMON=n for s390x + - [Config] CONFIG_NEW_LEDS=n for s390x + - [Config] CONFIG_MTD_NAND_OMAP2=y for armhf + - [Config] CONFIG_VOP_BUS=n for non-amd64 arches + - [Config] CONFIG_TI_CPSW_PHY_SEL=n + - [Config] CONFIG_INTERCONNECT=n for s390x + - [Config] CONFIG_SCSI_GDTH=n for s390x + - [Config] CONFIG_PACKING=n for s390x + - [Config] CONFIG_ARCH_MILBEAUT=y for armhf + - [Config] update annotations following config review + - update dkms package versions + - [Config] enable nvidia dkms build + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc4 + + -- Seth Forshee Mon, 10 Jun 2019 07:00:11 -0500 + +linux (5.2.0-3.4) eoan; urgency=medium + + * [18.04/18.10] File libperf-jvmti.so is missing in linux-tools-common deb on + Ubuntu (LP: #1761379) + - [Packaging] Support building libperf-jvmti.so + + * Miscellaneous Ubuntu changes + - SAUCE: Revert "bpf, selftest: test global data/bss/rodata sections" + - update dkms package versions + - [Config] enable zfs + - rebase to v5.2-rc3 + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc3 + + -- Seth Forshee Sun, 02 Jun 2019 21:48:50 -0500 + +linux (5.2.0-2.3) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - SAUCE: perf arm64: Fix mksyscalltbl when system kernel headers are ahead of + the kernel + + -- Seth Forshee Tue, 28 May 2019 07:12:39 -0500 + +linux (5.2.0-1.2) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_INTEGRITY_PLATFORM_KEYRING=y + - update dkms package versions + - [Config] enable vbox dkms build + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc2 + + -- Seth Forshee Mon, 27 May 2019 21:11:27 -0500 + +linux (5.2.0-0.1) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - SAUCE: import aufs driver + - [Packaging] disable ZFS + - [Packaging] disable nvidia + - [Packaging] dkms-build -- expand paths searched for make.log files + - add virtualbox-guest-dkms dkms package build + - enable vbox dkms build for amd64 and i386 + - update dkms package versions + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the kernel is + locked down + - SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the kernel is locked + down + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and + KEXEC_SIG_FORCE + - SAUCE: (efi-lockdown) kexec_file: Restrict at runtime if the kernel is + locked down + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Lock down module params that specify hardware + parameters (eg. ioport) + - SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the testmmiotrace module + - SAUCE: (efi-lockdown) Lock down /proc/kcore + - SAUCE: (efi-lockdown) Lock down kprobes + - SAUCE: (efi-lockdown) bpf: Restrict kernel image access functions when the + kernel is locked down + - SAUCE: (efi-lockdown) Lock down perf + - SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the kernel is locked + down + - SAUCE: (efi-lockdown) lockdown: Print current->comm in restriction messages + - SAUCE: (efi-lockdown) kexec: Allow kexec_file() with appropriate IMA policy + when locked down + - SAUCE: (efi-lockdown) Make get_cert_list() not complain about cert lists + that aren't present. + - SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err(). + - SAUCE: (efi-lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) KEYS: Make use of platform keyring for module + signature verify + - SAUCE: (efi-lockdown) debugfs: avoid EPERM when no open file operation + defined + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) furter KEXEC_VERIFY_SIG -> KEXEC_SIG updates + - SAUCE: (efi-lockdown) arm64: add kernel config option to lock down when in + Secure Boot mode + - update dkms package versions + - [Config] disable vbox build + - SAUCE: s390: mark __cpacf_check_opcode() and cpacf_query_func() as + __always_inline + - SAUCE: IB/mlx5: use size_t instead of u64 when dividing + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc1 + + -- Seth Forshee Tue, 21 May 2019 11:18:43 -0500 + +linux (5.2.0-0.0) eoan; urgency=medium + + * Dummy entry. + + -- Seth Forshee Tue, 21 May 2019 07:34:43 -0500 + +linux (5.1.0-2.2) eoan; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] resync git-ubuntu-log + + * Eoan update: v5.1.2 upstream stable release (LP: #1829050) + - x86/msr-index: Cleanup bit defines + - x86/speculation: Consolidate CPU whitelists + - x86/speculation/mds: Add basic bug infrastructure for MDS + - x86/speculation/mds: Add BUG_MSBDS_ONLY + - x86/kvm: Expose X86_FEATURE_MD_CLEAR to guests + - x86/speculation/mds: Add mds_clear_cpu_buffers() + - x86/speculation/mds: Clear CPU buffers on exit to user + - x86/kvm/vmx: Add MDS protection when L1D Flush is not active + - x86/speculation/mds: Conditionally clear CPU buffers on idle entry + - x86/speculation/mds: Add mitigation control for MDS + - x86/speculation/mds: Add sysfs reporting for MDS + - x86/speculation/mds: Add mitigation mode VMWERV + - Documentation: Move L1TF to separate directory + - Documentation: Add MDS vulnerability documentation + - x86/speculation/mds: Add mds=full,nosmt cmdline option + - x86/speculation: Move arch_smt_update() call to after mitigation decisions + - x86/speculation/mds: Add SMT warning message + - x86/speculation/mds: Fix comment + - x86/speculation/mds: Print SMT vulnerable on MSBDS with mitigations off + - cpu/speculation: Add 'mitigations=' cmdline option + - x86/speculation: Support 'mitigations=' cmdline option + - powerpc/speculation: Support 'mitigations=' cmdline option + - s390/speculation: Support 'mitigations=' cmdline option + - x86/speculation/mds: Add 'mitigations=' support for MDS + - x86/mds: Add MDSUM variant to the MDS documentation + - Documentation: Correct the possible MDS sysfs values + - x86/speculation/mds: Fix documentation typo + - Linux 5.1.2 + + * Eoan update: v5.1.1 upstream stable release (LP: #1829046) + - Drivers: hv: vmbus: Remove the undesired put_cpu_ptr() in hv_synic_cleanup() + - ubsan: Fix nasty -Wbuiltin-declaration-mismatch GCC-9 warnings + - staging: greybus: power_supply: fix prop-descriptor request size + - staging: wilc1000: Avoid GFP_KERNEL allocation from atomic context. + - staging: most: cdev: fix chrdev_region leak in mod_exit + - staging: most: sound: pass correct device when creating a sound card + - usb: dwc3: Allow building USB_DWC3_QCOM without EXTCON + - usb: dwc3: Fix default lpm_nyet_threshold value + - USB: serial: f81232: fix interrupt worker not stop + - USB: cdc-acm: fix unthrottle races + - usb-storage: Set virt_boundary_mask to avoid SG overflows + - genirq: Prevent use-after-free and work list corruption + - intel_th: pci: Add Comet Lake support + - iio: adc: qcom-spmi-adc5: Fix of-based module autoloading + - cpufreq: armada-37xx: fix frequency calculation for opp + - ACPI / LPSS: Use acpi_lpss_* instead of acpi_subsys_* functions for + hibernate + - soc: sunxi: Fix missing dependency on REGMAP_MMIO + - scsi: lpfc: change snprintf to scnprintf for possible overflow + - scsi: qla2xxx: Fix incorrect region-size setting in optrom SYSFS routines + - scsi: qla2xxx: Set remote port devloss timeout to 0 + - scsi: qla2xxx: Fix device staying in blocked state + - Bluetooth: hidp: fix buffer overflow + - Bluetooth: Align minimum encryption key size for LE and BR/EDR connections + - Bluetooth: Fix not initializing L2CAP tx_credits + - Bluetooth: hci_bcm: Fix empty regulator supplies for Intel Macs + - UAS: fix alignment of scatter/gather segments + - ASoC: Intel: avoid Oops if DMA setup fails + - i3c: Fix a shift wrap bug in i3c_bus_set_addr_slot_status() + - locking/futex: Allow low-level atomic operations to return -EAGAIN + - arm64: futex: Bound number of LDXR/STXR loops in FUTEX_WAKE_OP + - Linux 5.1.1 + + * shiftfs: lock security sensitive superblock flags (LP: #1827122) + - SAUCE: shiftfs: lock down certain superblock flags + + * Please package libbpf (which is done out of the kernel src) in Debian [for + 19.10] (LP: #1826410) + - SAUCE: tools -- fix add ability to disable libbfd + + * ratelimit cma_alloc messages (LP: #1828092) + - SAUCE: cma: ratelimit cma_alloc error messages + + * Headphone jack switch sense is inverted: plugging in headphones disables + headphone output (LP: #1824259) + - ASoC: rt5645: Headphone Jack sense inverts on the LattePanda board + + * There are 4 HDMI/Displayport audio output listed in sound setting without + attach any HDMI/DP monitor (LP: #1827967) + - ALSA: hda/hdmi - Read the pin sense from register when repolling + - ALSA: hda/hdmi - Consider eld_valid when reporting jack event + + * CONFIG_LOG_BUF_SHIFT set to 14 is too low on arm64 (LP: #1824864) + - [Config] CONFIG_LOG_BUF_SHIFT=18 on all 64bit arches + + * CTAUTO:DevOps:860.50:devops4fp1:Error occurred during LINUX Dmesg error + Checking for all LINUX clients for devops4p10 (LP: #1766201) + - SAUCE: integrity: downgrade error to warning + + * linux-buildinfo: pull out ABI information into its own package + (LP: #1806380) + - [Packaging] autoreconstruct -- base tag is always primary mainline version + + * [SRU] Please sync vbox modules from virtualbox 6.0.6 on next kernel update + (LP: #1825210) + - vbox-update: updates for renamed makefiles + - ubuntu: vbox -- update to 6.0.6-dfsg-1 + + * autofs kernel module missing (LP: #1824333) + - [Config] Update autofs4 path in inclusion list + + * The Realtek card reader does not enter PCIe 1.1/1.2 (LP: #1825487) + - SAUCE: misc: rtsx: Fixed rts5260 power saving parameter and sd glitch + + * CVE-2019-3874 + - sctp: implement memory accounting on tx path + - sctp: implement memory accounting on rx path + + * apparmor does not start in Disco LXD containers (LP: #1824812) + - SAUCE: shiftfs: use separate llseek method for directories + + * Miscellaneous Ubuntu changes + - [Packaging] autoreconstruct -- remove for -rc kernels + - SAUCE: (efi-lockdown) debugfs: avoid EPERM when no open file operation + defined + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) furter KEXEC_VERIFY_SIG -> KEXEC_SIG updates + - [Config] (efi-lockdown): update configs after efi lockdown patch refresh + - [Packaging] don't delete efi_parser.c + - vbox-update -- do not fix up KERN_DIR or KBUILD_EXTMOD + - ubuntu: vbox -- update to 6.0.6-dfsg-2 + - add nvidia-418 dkms build + - remove virtualbox guest drivers + - [Packaging] dkms-build -- expand paths searched for make.log files + - add virtualbox-guest-dkms dkms package build + - enable vbox dkms build for amd64 and i386 + - [Config] update configs for v5.1(-rc7)? rebase + - update dkms package versions + - Add the ability to lock down access to the running kernel image + - Enforce module signatures if the kernel is locked down + - Restrict /dev/{mem,kmem,port} when the kernel is locked down + - kexec_load: Disable at runtime if the kernel is locked down + - Copy secure_boot flag in boot params across kexec reboot + - kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and KEXEC_SIG_FORCE + - kexec_file: Restrict at runtime if the kernel is locked down + - hibernate: Disable when the kernel is locked down + - uswsusp: Disable when the kernel is locked down + - PCI: Lock down BAR access when the kernel is locked down + - x86: Lock down IO port access when the kernel is locked down + - x86/msr: Restrict MSR access when the kernel is locked down + - ACPI: Limit access to custom_method when the kernel is locked down + - acpi: Ignore acpi_rsdp kernel param when the kernel has been locked down + - acpi: Disable ACPI table override if the kernel is locked down + - acpi: Disable APEI error injection if the kernel is locked down + - Prohibit PCMCIA CIS storage when the kernel is locked down + - Lock down TIOCSSERIAL + - Lock down module params that specify hardware parameters (eg. ioport) + - x86/mmiotrace: Lock down the testmmiotrace module + - Lock down /proc/kcore + - Lock down kprobes + - bpf: Restrict kernel image access functions when the kernel is locked down + - Lock down perf + - debugfs: Restrict debugfs when the kernel is locked down + - lockdown: Print current->comm in restriction messages + - kexec: Allow kexec_file() with appropriate IMA policy when locked down + - Make get_cert_list() not complain about cert lists that aren't present. + - Add efi_status_to_str() and rework efi_status_to_err(). + - Make get_cert_list() use efi_status_to_str() to print error messages. + - efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode + - efi: Lock down the kernel if booted in secure boot mode + - KEYS: Make use of platform keyring for module signature verify + + * Miscellaneous upstream changes + - ALSA: hdea/realtek - Headset fixup for System76 Gazelle (gaze14) + + -- Seth Forshee Tue, 14 May 2019 12:32:56 -0500 + +linux (5.1.0-1.1) eoan; urgency=medium + + * bionic: fork out linux-snapdragon into its own topic kernel (LP: #1820868) + - [Packaging]: really drop snapdragon + + * Miscellaneous Ubuntu changes + - SAUCE: fix vbox use of MAP_SHARED + - SAUCE: fix vbox use of vm_fault_t + - [Packaging] disable ZFS + - [Packaging] disable nvidia + - SAUCE: perf annotate: Fix build on 32 bit for BPF annotation + - [Config]: updateconfig after rebase to v5.1-rc + - [Config]: build ETNAVIV only on arm platforms + - [Config]: Disable CMA on non-arm platforms + - [Config]: MMC_CQHCI is needed by some built-in drivers + - [Config]: a.out support has been deprecated + - [Config]: R3964 was marked as BROKEN + - [Config]: Add SENSIRION_SGP30 module + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: tools: lib/bpf -- add generated headers to search + path" + - Revert "UBUNTU: SAUCE: btqcomsmd: introduce BT_QCOMSMD_HACK" + + -- Thadeu Lima de Souza Cascardo Thu, 25 Apr 2019 10:03:25 -0300 + +linux (5.1.0-0.0) eoan; urgency=medium + + * Dummy entry. + + -- Thadeu Lima de Souza Cascardo Thu, 25 Apr 2019 09:49:47 -0300 + +linux (5.0.0-13.14) disco; urgency=medium + + * linux: 5.0.0-13.14 -proposed tracker (LP: #1824819) + + * Display only has 640x480 (LP: #1824677) + - Revert "UBUNTU: SAUCE: drm/nouveau: Disable nouveau driver by default" + + * shiftfs: use after free when checking mount options (LP: #1824735) + - SAUCE: shiftfs: prevent use-after-free when verifying mount options + + -- Seth Forshee Mon, 15 Apr 2019 09:11:23 -0500 + +linux (5.0.0-12.13) disco; urgency=medium + + * linux: 5.0.0-12.13 -proposed tracker (LP: #1824726) + + * Linux 5.0 black screen on boot, display flickers (i915 regression with + certain laptop panels) (LP: #1824216) + - drm/i915/dp: revert back to max link rate and lane count on eDP + + * kernel BUG at fs/attr.c:287 when using shiftfs (LP: #1824717) + - SAUCE: shiftfs: fix passing of attrs to underaly for setattr + + -- Seth Forshee Sun, 14 Apr 2019 13:38:05 -0500 + +linux (5.0.0-11.12) disco; urgency=medium + + * linux: 5.0.0-11.12 -proposed tracker (LP: #1824383) + + * hns3: PPU_PF_ABNORMAL_INT_ST over_8bd_no_fe found [error status=0x1] + (LP: #1824194) + - net: hns3: fix for not calculating tx bd num correctly + + * disco: unable to use iptables/enable ufw under -virtual kernel + (LP: #1823862) + - [Packaging] add bpfilter to linux-modules + + * Make shiftfs a module rather than built-in (LP: #1824354) + - [Config] CONFIG_SHIFT_FS=m + + * shiftfs: chown sets untranslated ids in lower fs (LP: #1824350) + - SAUCE: shiftfs: use translated ids when chaning lower fs attrs + + * [Hyper-V] KVP daemon fails to start on first boot of disco VM (LP: #1820063) + - [Packaging] bind hv_kvp_daemon startup to hv_kvp device + + -- Seth Forshee Thu, 11 Apr 2019 10:17:19 -0500 + +linux (5.0.0-10.11) disco; urgency=medium + + * linux: 5.0.0-10.11 -proposed tracker (LP: #1823936) + + * Apparmor enforcement failure in lxc selftests (LP: #1823379) + - SAUCE: apparmor: Restore Y/N in /sys for apparmor's "enabled" + + * systemd cause kernel trace "BUG: unable to handle kernel paging request at + 6db23a14" on Cosmic i386 (LP: #1813244) + - openvswitch: fix flow actions reallocation + + -- Seth Forshee Tue, 09 Apr 2019 08:30:38 -0500 + +linux (5.0.0-9.10) disco; urgency=medium + + * linux: 5.0.0-9.10 -proposed tracker (LP: #1823228) + + * Packaging resync (LP: #1786013) + - [Packaging] resync git-ubuntu-log + - [Packaging] update helper scripts + - [Packaging] resync retpoline extraction + + * Huawei Hi1822 NIC has poor performance (LP: #1820187) + - net-next/hinic: replace disable_irq_nosync/enable_irq + + * Add uid shifting overlay filesystem (shiftfs) (LP: #1823186) + - shiftfs: uid/gid shifting bind mount + - shiftfs: rework and extend + - shiftfs: support some btrfs ioctls + - [Config] enable shiftfs + + * Cannot boot or install - have to use nomodeset (LP: #1821820) + - Revert "drm/i915/fbdev: Actually configure untiled displays" + + * Disco update: v5.0.6 upstream stable release (LP: #1823060) + - netfilter: nf_tables: fix set double-free in abort path + - dccp: do not use ipv6 header for ipv4 flow + - genetlink: Fix a memory leak on error path + - gtp: change NET_UDP_TUNNEL dependency to select + - ipv6: make ip6_create_rt_rcu return ip6_null_entry instead of NULL + - mac8390: Fix mmio access size probe + - mISDN: hfcpci: Test both vendor & device ID for Digium HFC4S + - net: aquantia: fix rx checksum offload for UDP/TCP over IPv6 + - net: datagram: fix unbounded loop in __skb_try_recv_datagram() + - net/packet: Set __GFP_NOWARN upon allocation in alloc_pg_vec + - net: phy: meson-gxl: fix interrupt support + - net: rose: fix a possible stack overflow + - net: stmmac: fix memory corruption with large MTUs + - net-sysfs: call dev_hold if kobject_init_and_add success + - net: usb: aqc111: Extend HWID table by QNAP device + - packets: Always register packet sk in the same order + - rhashtable: Still do rehash when we get EEXIST + - sctp: get sctphdr by offset in sctp_compute_cksum + - sctp: use memdup_user instead of vmemdup_user + - tcp: do not use ipv6 header for ipv4 flow + - tipc: allow service ranges to be connect()'ed on RDM/DGRAM + - tipc: change to check tipc_own_id to return in tipc_net_stop + - tipc: fix cancellation of topology subscriptions + - tun: properly test for IFF_UP + - vrf: prevent adding upper devices + - vxlan: Don't call gro_cells_destroy() before device is unregistered + - thunderx: enable page recycling for non-XDP case + - thunderx: eliminate extra calls to put_page() for pages held for recycling + - net: dsa: mv88e6xxx: fix few issues in mv88e6390x_port_set_cmode + - net: mii: Fix PAUSE cap advertisement from linkmode_adv_to_lcl_adv_t() + helper + - net: phy: don't clear BMCR in genphy_soft_reset + - r8169: fix cable re-plugging issue + - ila: Fix rhashtable walker list corruption + - tun: add a missing rcu_read_unlock() in error path + - powerpc/fsl: Fix the flush of branch predictor. + - Btrfs: fix incorrect file size after shrinking truncate and fsync + - btrfs: remove WARN_ON in log_dir_items + - btrfs: don't report readahead errors and don't update statistics + - btrfs: Fix bound checking in qgroup_trace_new_subtree_blocks + - btrfs: Avoid possible qgroup_rsv_size overflow in + btrfs_calculate_inode_block_rsv_size + - Btrfs: fix assertion failure on fsync with NO_HOLES enabled + - locks: wake any locks blocked on request before deadlock check + - tracing: initialize variable in create_dyn_event() + - ARM: imx6q: cpuidle: fix bug that CPU might not wake up at expected time + - powerpc: bpf: Fix generation of load/store DW instructions + - vfio: ccw: only free cp on final interrupt + - NFS: Fix nfs4_lock_state refcounting in nfs4_alloc_{lock,unlock}data() + - NFS: fix mount/umount race in nlmclnt. + - NFSv4.1 don't free interrupted slot on open + - net: dsa: qca8k: remove leftover phy accessors + - ALSA: rawmidi: Fix potential Spectre v1 vulnerability + - ALSA: seq: oss: Fix Spectre v1 vulnerability + - ALSA: pcm: Fix possible OOB access in PCM oss plugins + - ALSA: pcm: Don't suspend stream in unrecoverable PCM state + - ALSA: hda/realtek - Fixed Headset Mic JD not stable + - ALSA: hda/realtek: merge alc_fixup_headset_jack to alc295_fixup_chromebook + - ALSA: hda/realtek - Add support headset mode for DELL WYSE AIO + - ALSA: hda/realtek - Add support headset mode for New DELL WYSE NB + - ALSA: hda/realtek: Enable headset MIC of Acer AIO with ALC286 + - ALSA: hda/realtek: Enable headset MIC of Acer Aspire Z24-890 with ALC286 + - ALSA: hda/realtek - Add support for Acer Aspire E5-523G/ES1-432 headset mic + - ALSA: hda/realtek: Enable ASUS X441MB and X705FD headset MIC with ALC256 + - ALSA: hda/realtek: Enable headset mic of ASUS P5440FF with ALC256 + - ALSA: hda/realtek: Enable headset MIC of ASUS X430UN and X512DK with ALC256 + - ALSA: hda/realtek - Fix speakers on Acer Predator Helios 500 Ryzen laptops + - kbuild: modversions: Fix relative CRC byte order interpretation + - fs/open.c: allow opening only regular files during execve() + - ocfs2: fix inode bh swapping mixup in ocfs2_reflink_inodes_lock + - scsi: sd: Fix a race between closing an sd device and sd I/O + - scsi: sd: Quiesce warning if device does not report optimal I/O size + - scsi: zfcp: fix rport unblock if deleted SCSI devices on Scsi_Host + - scsi: zfcp: fix scsi_eh host reset with port_forced ERP for non-NPIV FCP + devices + - drm/rockchip: vop: reset scale mode when win is disabled + - tty/serial: atmel: Add is_half_duplex helper + - tty/serial: atmel: RS485 HD w/DMA: enable RX after TX is stopped + - tty: mxs-auart: fix a potential NULL pointer dereference + - tty: atmel_serial: fix a potential NULL pointer dereference + - tty: serial: qcom_geni_serial: Initialize baud in qcom_geni_console_setup + - staging: comedi: ni_mio_common: Fix divide-by-zero for DIO cmdtest + - staging: olpc_dcon_xo_1: add missing 'const' qualifier + - staging: speakup_soft: Fix alternate speech with other synths + - staging: vt6655: Remove vif check from vnt_interrupt + - staging: vt6655: Fix interrupt race condition on device start up. + - staging: erofs: fix to handle error path of erofs_vmap() + - staging: erofs: fix error handling when failed to read compresssed data + - staging: erofs: keep corrupted fs from crashing kernel in erofs_readdir() + - serial: max310x: Fix to avoid potential NULL pointer dereference + - serial: mvebu-uart: Fix to avoid a potential NULL pointer dereference + - serial: sh-sci: Fix setting SCSCR_TIE while transferring data + - USB: serial: cp210x: add new device id + - USB: serial: ftdi_sio: add additional NovaTech products + - USB: serial: mos7720: fix mos_parport refcount imbalance on error path + - USB: serial: option: set driver_info for SIM5218 and compatibles + - USB: serial: option: add support for Quectel EM12 + - USB: serial: option: add Olicard 600 + - ACPI / CPPC: Fix guaranteed performance handling + - Disable kgdboc failed by echo space to /sys/module/kgdboc/parameters/kgdboc + - fs/proc/proc_sysctl.c: fix NULL pointer dereference in put_links + - drivers/block/zram/zram_drv.c: fix idle/writeback string compare + - blk-mq: fix sbitmap ws_active for shared tags + - cpufreq: intel_pstate: Also use CPPC nominal_perf for base_frequency + - cpufreq: scpi: Fix use after free + - drm/vgem: fix use-after-free when drm_gem_handle_create() fails + - drm/vkms: fix use-after-free when drm_gem_handle_create() fails + - drm/i915: Mark AML 0x87CA as ULX + - drm/i915/gvt: Fix MI_FLUSH_DW parsing with correct index check + - drm/i915/icl: Fix the TRANS_DDI_FUNC_CTL2 bitfield macro + - gpio: exar: add a check for the return value of ida_simple_get fails + - gpio: adnp: Fix testing wrong value in adnp_gpio_direction_input + - phy: sun4i-usb: Support set_mode to USB_HOST for non-OTG PHYs + - usb: mtu3: fix EXTCON dependency + - USB: gadget: f_hid: fix deadlock in f_hidg_write() + - usb: common: Consider only available nodes for dr_mode + - mm/memory.c: fix modifying of page protection by insert_pfn() + - usb: host: xhci-rcar: Add XHCI_TRUST_TX_LENGTH quirk + - xhci: Fix port resume done detection for SS ports with LPM enabled + - usb: xhci: dbc: Don't free all memory with spinlock held + - xhci: Don't let USB3 ports stuck in polling state prevent suspend + - usb: cdc-acm: fix race during wakeup blocking TX traffic + - usb: typec: tcpm: Try PD-2.0 if sink does not respond to 3.0 source-caps + - usb: typec: Fix unchecked return value + - mm/hotplug: fix offline undo_isolate_page_range() + - mm: add support for kmem caches in DMA32 zone + - iommu/io-pgtable-arm-v7s: request DMA32 memory, and improve debugging + - mm: mempolicy: make mbind() return -EIO when MPOL_MF_STRICT is specified + - mm/debug.c: fix __dump_page when mapping->host is not set + - mm/memory_hotplug.c: fix notification in offline error path + - mm/page_isolation.c: fix a wrong flag in set_migratetype_isolate() + - mm/migrate.c: add missing flush_dcache_page for non-mapped page migrate + - perf pmu: Fix parser error for uncore event alias + - perf intel-pt: Fix TSC slip + - objtool: Query pkg-config for libelf location + - powerpc/pseries/energy: Use OF accessor functions to read ibm,drc-indexes + - powerpc/64: Fix memcmp reading past the end of src/dest + - powerpc/pseries/mce: Fix misleading print for TLB mutlihit + - watchdog: Respect watchdog cpumask on CPU hotplug + - cpu/hotplug: Prevent crash when CPU bringup fails on CONFIG_HOTPLUG_CPU=n + - x86/smp: Enforce CONFIG_HOTPLUG_CPU when SMP=y + - KVM: Reject device ioctls from processes other than the VM's creator + - KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts + - KVM: x86: update %rip after emulating IO + - bpf: do not restore dst_reg when cur_state is freed + - mt76x02u: use usb_bulk_msg to upload firmware + - Linux 5.0.6 + + * RDMA/hns updates for disco (LP: #1822897) + - RDMA/hns: Fix the bug with updating rq head pointer when flush cqe + - RDMA/hns: Bugfix for the scene without receiver queue + - RDMA/hns: Add constraint on the setting of local ACK timeout + - RDMA/hns: Modify the pbl ba page size for hip08 + - RDMA/hns: RDMA/hns: Assign rq head pointer when enable rq record db + - RDMA/hns: Add the process of AEQ overflow for hip08 + - RDMA/hns: Add SCC context allocation support for hip08 + - RDMA/hns: Add SCC context clr support for hip08 + - RDMA/hns: Add timer allocation support for hip08 + - RDMA/hns: Remove set but not used variable 'rst' + - RDMA/hns: Make some function static + - RDMA/hns: Fix the Oops during rmmod or insmod ko when reset occurs + - RDMA/hns: Fix the chip hanging caused by sending mailbox&CMQ during reset + - RDMA/hns: Fix the chip hanging caused by sending doorbell during reset + - RDMA/hns: Limit minimum ROCE CQ depth to 64 + - RDMA/hns: Fix the state of rereg mr + - RDMA/hns: Set allocated memory to zero for wrid + - RDMA/hns: Delete useful prints for aeq subtype event + - RDMA/hns: Configure capacity of hns device + - RDMA/hns: Modify qp&cq&pd specification according to UM + - RDMA/hns: Bugfix for set hem of SCC + - RDMA/hns: Use GFP_ATOMIC in hns_roce_v2_modify_qp + + * autopkgtests run too often, too much and don't skip enough (LP: #1823056) + - Set +x on rebuild testcase. + - Skip rebuild test, for regression-suite deps. + - Make ubuntu-regression-suite skippable on unbootable kernels. + - make rebuild use skippable error codes when skipping. + - Only run regression-suite, if requested to. + + * touchpad not working on lenovo yoga 530 (LP: #1787775) + - Revert "UBUNTU: SAUCE: i2c:amd Depends on ACPI" + - Revert "UBUNTU: SAUCE: i2c:amd move out pointer in union i2c_event_base" + - i2c: add extra check to safe DMA buffer helper + - i2c: Add drivers for the AMD PCIe MP2 I2C controller + - [Config] Update config for AMD MP2 I2C driver + + * Detect SMP PHY control command errors (LP: #1822680) + - scsi: libsas: Check SMP PHY control function result + + * disable a.out support (LP: #1818552) + - [Config] Disable a.out support + - [Config] remove binfmt_aout from abi for i386 lowlatency + + * bionic: fork out linux-snapdragon into its own topic kernel (LP: #1820868) + - [Packaging] remove snapdragon flavour support + - Revert "UBUNTU: SAUCE: (snapdragon) drm/msm/adv7511: wrap hacks under + CONFIG_ADV7511_SNAPDRAGON_HACKS #ifdefs" + - Revert "UBUNTU: SAUCE: (snapdragon) media: ov5645: skip address change if dt + addr == default addr" + - Revert "UBUNTU: SAUCE: (snapdragon) DT: leds: Add Qualcomm Light Pulse + Generator binding" + - Revert "UBUNTU: SAUCE: (snapdragon) MAINTAINERS: Add Qualcomm Camera Control + Interface driver" + - Revert "UBUNTU: SAUCE: (snapdragon) dt-bindings: media: Binding document for + Qualcomm Camera Control Interface driver" + - Revert "UBUNTU: SAUCE: (snapdragon) leds: Add driver for Qualcomm LPG" + - Revert "UBUNTU: SAUCE: (snapdragon) HACK: drm/msm/adv7511: Don't rely on + interrupts for EDID parsing" + - Revert "UBUNTU: SAUCE: (snapdragon) drm/bridge/adv7511: Delay clearing of + HPD interrupt status" + - Revert "UBUNTU: SAUCE: (snapdragon) media: ov5645: Fix I2C address" + - Revert "UBUNTU: SAUCE: (snapdragon) i2c-qcom-cci: Fix I2C address bug" + - Revert "UBUNTU: SAUCE: (snapdragon) i2c-qcom-cci: Fix run queue completion + timeout" + - Revert "UBUNTU: SAUCE: (snapdragon) camss: Do not register if no cameras are + present" + - Revert "UBUNTU: SAUCE: (snapdragon) i2c: Add Qualcomm Camera Control + Interface driver" + - Revert "UBUNTU: SAUCE: (snapdragon) ov5645: I2C address change" + - Revert "UBUNTU: SAUCE: (snapdragon) regulator: smd: Allow + REGULATOR_QCOM_SMD_RPM=m" + - Revert "UBUNTU: SAUCE: (snapdragon) cpufreq: Add apq8016 to cpufreq-dt- + platdev blacklist" + - Revert "UBUNTU: SAUCE: (snapdragon) PM / OPP: Add a helper to get an opp + regulator for device" + - Revert "UBUNTU: SAUCE: (snapdragon) PM / OPP: HACK: Allow to set regulator + without opp_list" + - Revert "UBUNTU: SAUCE: (snapdragon) PM / OPP: Drop RCU usage in + dev_pm_opp_adjust_voltage()" + - Revert "UBUNTU: SAUCE: (snapdragon) PM / OPP: Support adjusting OPP voltages + at runtime" + - Revert "UBUNTU: SAUCE: (snapdragon) regulator: smd: Add floor and corner + operations" + - Revert "UBUNTU: SAUCE: (snapdragon) power: avs: cpr: Register with cpufreq- + dt" + - Revert "UBUNTU: SAUCE: (snapdragon) power: avs: cpr: fix with new + reg_sequence structures" + - Revert "UBUNTU: SAUCE: (snapdragon) power: avs: cpr: Use raw mem access for + qfprom" + - Revert "UBUNTU: SAUCE: (snapdragon) power: avs: Add support for CPR (Core + Power Reduction)" + - Revert "UBUNTU: SAUCE: (snapdragon) HACK: drm/msm/iommu: Remove runtime_put + calls in map/unmap" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable LEDS_QCOM_LPG" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable 'BBR' TCP + congestion algorithm" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable 'fq' and + 'fq_codel' qdiscs" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable + 'schedutil' CPUfreq governor" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs: set USB_CONFIG_F_FS in + distro.config" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable + CONFIG_USB_CONFIGFS_F_FS by default" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs: add freq stat to sysfs" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: configs: Enable camera drivers" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: disable ANALOG_TV and + DIGITAL_TV" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs: add more USB net + drivers" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: configs: enable BT_QCOMSMD" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable + CFG80211_DEFAULT_PS by default" + - Revert "UBUNTU: SAUCE: (snapdragon) Force the SMD regulator driver to be + compiled-in" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs: enable dm_mod and + dm_crypt" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: Enable a53/apcs and + avs" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: configs: enable QCOM Venus" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable debug + friendly USB network adpater" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: configs: enable WCN36xx" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs; add distro.config" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable QCOM audio + drivers for APQ8016 and DB410c" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable REMOTEPROC" + - [Config] fix abi for remove i2c-qcom-cci module + - [Config] update annotations + - [Config] update configs following snapdragon removal + + * Disco update: v5.0.5 upstream stable release (LP: #1822671) + - Revert "ALSA: hda - Enforces runtime_resume after S3 and S4 for each codec" + - ALSA: hda - add Lenovo IdeaCentre B550 to the power_save_blacklist + - ALSA: firewire-motu: use 'version' field of unit directory to identify model + - mmc: pxamci: fix enum type confusion + - mmc: alcor: fix DMA reads + - mmc: mxcmmc: "Revert mmc: mxcmmc: handle highmem pages" + - mmc: renesas_sdhi: limit block count to 16 bit for old revisions + - drm/amdgpu: fix invalid use of change_bit + - drm/vmwgfx: Don't double-free the mode stored in par->set_mode + - drm/vmwgfx: Return 0 when gmrid::get_node runs out of ID's + - iommu/amd: fix sg->dma_address for sg->offset bigger than PAGE_SIZE + - iommu/iova: Fix tracking of recently failed iova address + - libceph: wait for latest osdmap in ceph_monc_blacklist_add() + - udf: Fix crash on IO error during truncate + - mips: loongson64: lemote-2f: Add IRQF_NO_SUSPEND to "cascade" irqaction. + - MIPS: Ensure ELF appended dtb is relocated + - MIPS: Fix kernel crash for R6 in jump label branch function + - powerpc/vdso64: Fix CLOCK_MONOTONIC inconsistencies across Y2038 + - powerpc/security: Fix spectre_v2 reporting + - net/mlx5: Fix DCT creation bad flow + - scsi: core: Avoid that a kernel warning appears during system resume + - scsi: qla2xxx: Fix FC-AL connection target discovery + - scsi: ibmvscsi: Protect ibmvscsi_head from concurrent modificaiton + - scsi: ibmvscsi: Fix empty event pool access during host removal + - futex: Ensure that futex address is aligned in handle_futex_death() + - perf probe: Fix getting the kernel map + - objtool: Move objtool_file struct off the stack + - irqchip/gic-v3-its: Fix comparison logic in lpi_range_cmp + - clocksource/drivers/riscv: Fix clocksource mask + - ALSA: ac97: Fix of-node refcount unbalance + - ext4: fix NULL pointer dereference while journal is aborted + - ext4: fix data corruption caused by unaligned direct AIO + - ext4: brelse all indirect buffer in ext4_ind_remove_space() + - media: v4l2-ctrls.c/uvc: zero v4l2_event + - Bluetooth: hci_uart: Check if socket buffer is ERR_PTR in h4_recv_buf() + - Bluetooth: Fix decrementing reference count twice in releasing socket + - Bluetooth: hci_ldisc: Initialize hci_dev before open() + - Bluetooth: hci_ldisc: Postpone HCI_UART_PROTO_READY bit set in + hci_uart_set_proto() + - drm/vkms: Fix flush_work() without INIT_WORK(). + - RDMA/cma: Rollback source IP address if failing to acquire device + - f2fs: fix to avoid deadlock of atomic file operations + - aio: simplify - and fix - fget/fput for io_submit() + - netfilter: ebtables: remove BUGPRINT messages + - loop: access lo_backing_file only when the loop device is Lo_bound + - x86/unwind: Handle NULL pointer calls better in frame unwinder + - x86/unwind: Add hardcoded ORC entry for NULL + - locking/lockdep: Add debug_locks check in __lock_downgrade() + - ALSA: hda - Record the current power state before suspend/resume calls + - ALSA: hda - Enforces runtime_resume after S3 and S4 for each codec + - Linux 5.0.5 + + * hisi_sas updates for disco (LP: #1822385) + - scsi: hisi_sas: send primitive NOTIFY to SSP situation only + - scsi: hisi_sas: shutdown axi bus to avoid exception CQ returned + - scsi: hisi_sas: remove the check of sas_dev status in + hisi_sas_I_T_nexus_reset() + - scsi: hisi_sas: Remove unused parameter of function hisi_sas_alloc() + - scsi: hisi_sas: Reject setting programmed minimum linkrate > 1.5G + - scsi: hisi_sas: Fix losing directly attached disk when hot-plug + - scsi: hisi_sas: Correct memory allocation size for DQ debugfs + - scsi: hisi_sas: Some misc tidy-up + - scsi: hisi_sas: Fix to only call scsi_get_prot_op() for non-NULL scsi_cmnd + - scsi: hisi_sas: Add missing seq_printf() call in hisi_sas_show_row_32() + - scsi: hisi_sas: Add support for DIX feature for v3 hw + - scsi: hisi_sas: Add manual trigger for debugfs dump + - scsi: hisi_sas: change queue depth from 512 to 4096 + - scsi: hisi_sas: Issue internal abort on all relevant queues + - scsi: hisi_sas: Use pci_irq_get_affinity() for v3 hw as experimental + - scsi: hisi_sas: Do some more tidy-up + - scsi: hisi_sas: Change return variable type in phy_up_v3_hw() + - scsi: hisi_sas: Fix a timeout race of driver internal and SMP IO + - scsi: hisi_sas: print PHY RX errors count for later revision of v3 hw + - scsi: hisi_sas: Set PHY linkrate when disconnected + - scsi: hisi_sas: Send HARD RESET to clear the previous affiliation of STP + target port + - scsi: hisi_sas: Change SERDES_CFG init value to increase reliability of + HiLink + - scsi: hisi_sas: Add softreset in hisi_sas_I_T_nexus_reset() + + * [Patch][Raven 2] kernel 5.0.0 cannot boot because of psp response + (LP: #1822267) + - drm/amdgpu/psp: Fix can't detect psp INVOKE command failed + - drm/amdgpu/psp: ignore psp response status + + * 3b080b2564287be91605bfd1d5ee985696e61d3c in ubuntu_btrfs_kernel_fixes + triggers system hang on i386 (LP: #1812845) + - btrfs: raid56: properly unmap parity page in finish_parity_scrub() + + * enable CONFIG_DRM_BOCHS (LP: #1795857) + - [Config] Reenable DRM_BOCHS as module + + * [Dell Precision 7530/5530 with Nvidia Quadro P1000] Live USB freezes or + cannot complete install when nouveau driver is loaded (crashing in GP100 + code) (LP: #1822026) + - SAUCE: drm/nouveau: Disable nouveau driver by default + + * Need to add Intel CML related pci-id's (LP: #1821863) + - drm/i915/cml: Add CML PCI IDS + - drm/i915/cml: Introduce Comet Lake PCH + + * ARM: Add support for the SDEI interface (LP: #1822005) + - ACPI / APEI: Don't wait to serialise with oops messages when panic()ing + - ACPI / APEI: Remove silent flag from ghes_read_estatus() + - ACPI / APEI: Switch estatus pool to use vmalloc memory + - ACPI / APEI: Make hest.c manage the estatus memory pool + - ACPI / APEI: Make estatus pool allocation a static size + - ACPI / APEI: Don't store CPER records physical address in struct ghes + - ACPI / APEI: Remove spurious GHES_TO_CLEAR check + - ACPI / APEI: Don't update struct ghes' flags in read/clear estatus + - ACPI / APEI: Generalise the estatus queue's notify code + - ACPI / APEI: Don't allow ghes_ack_error() to mask earlier errors + - ACPI / APEI: Move NOTIFY_SEA between the estatus-queue and NOTIFY_NMI + - ACPI / APEI: Switch NOTIFY_SEA to use the estatus queue + - KVM: arm/arm64: Add kvm_ras.h to collect kvm specific RAS plumbing + - arm64: KVM/mm: Move SEA handling behind a single 'claim' interface + - ACPI / APEI: Move locking to the notification helper + - ACPI / APEI: Let the notification helper specify the fixmap slot + - ACPI / APEI: Pass ghes and estatus separately to avoid a later copy + - ACPI / APEI: Make GHES estatus header validation more user friendly + - ACPI / APEI: Split ghes_read_estatus() to allow a peek at the CPER length + - ACPI / APEI: Only use queued estatus entry during in_nmi_queue_one_entry() + - ACPI / APEI: Use separate fixmap pages for arm64 NMI-like notifications + - firmware: arm_sdei: Add ACPI GHES registration helper + - ACPI / APEI: Add support for the SDEI GHES Notification type + + * CVE-2019-9857 + - inotify: Fix fsnotify_mark refcount leak in inotify_update_existing_watch() + + * scsi: libsas: Support SATA PHY connection rate unmatch fixing during + discovery (LP: #1821408) + - scsi: libsas: Support SATA PHY connection rate unmatch fixing during + discovery + + * Qualcomm Atheros QCA9377 wireless does not work (LP: #1818204) + - platform/x86: ideapad-laptop: Add Ideapad 530S-14ARR to no_hw_rfkill list + + * Lenovo ideapad 330-15ICH Wifi rfkill hard blocked (LP: #1811815) + - platform/x86: ideapad: Add ideapad 330-15ICH to no_hw_rfkill + + * hid-sensor-hub spamming dmesg in 4.20 (LP: #1818547) + - HID: Increase maximum report size allowed by hid_field_extract() + + * [disco] [5.0.0-7.8] can't mount guest cifs share (LP: #1821053) + - cifs: allow guest mounts to work for smb3.11 + - SMB3: Fix SMB3.1.1 guest mounts to Samba + + * Add HiSilicon SoC quirk for cpufreq (LP: #1821620) + - ACPI / CPPC: Add a helper to get desired performance + - cpufreq / cppc: Work around for Hisilicon CPPC cpufreq + + * Disco update: v5.0.4 upstream stable release (LP: #1821607) + - 9p: use inode->i_lock to protect i_size_write() under 32-bit + - 9p/net: fix memory leak in p9_client_create + - ASoC: fsl_esai: fix register setting issue in RIGHT_J mode + - ASoC: codecs: pcm186x: fix wrong usage of DECLARE_TLV_DB_SCALE() + - ASoC: codecs: pcm186x: Fix energysense SLEEP bit + - iio: adc: exynos-adc: Fix NULL pointer exception on unbind + - iio: adc: exynos-adc: Use proper number of channels for Exynos4x12 + - mei: hbm: clean the feature flags on link reset + - mei: bus: move hw module get/put to probe/release + - stm class: Prevent division by zero + - stm class: Fix an endless loop in channel allocation + - crypto: caam - fix hash context DMA unmap size + - crypto: ccree - fix missing break in switch statement + - crypto: caam - fixed handling of sg list + - crypto: caam - fix DMA mapping of stack memory + - crypto: ccree - fix free of unallocated mlli buffer + - crypto: ccree - unmap buffer before copying IV + - crypto: ccree - don't copy zero size ciphertext + - crypto: cfb - add missing 'chunksize' property + - crypto: cfb - remove bogus memcpy() with src == dest + - crypto: ofb - fix handling partial blocks and make thread-safe + - crypto: ahash - fix another early termination in hash walk + - crypto: rockchip - fix scatterlist nents error + - crypto: rockchip - update new iv to device in multiple operations + - dax: Flush partial PMDs correctly + - nfit: Fix nfit_intel_shutdown_status() command submission + - nfit: acpi_nfit_ctl(): Check out_obj->type in the right place + - acpi/nfit: Fix bus command validation + - nfit/ars: Attempt a short-ARS whenever the ARS state is idle at boot + - nfit/ars: Attempt short-ARS even in the no_init_ars case + - libnvdimm/label: Clear 'updating' flag after label-set update + - libnvdimm, pfn: Fix over-trim in trim_pfn_device() + - libnvdimm/pmem: Honor force_raw for legacy pmem regions + - libnvdimm: Fix altmap reservation size calculation + - fix cgroup_do_mount() handling of failure exits + - crypto: aead - set CRYPTO_TFM_NEED_KEY if ->setkey() fails + - crypto: aegis - fix handling chunked inputs + - crypto: arm/crct10dif - revert to C code for short inputs + - crypto: arm64/aes-neonbs - fix returning final keystream block + - crypto: arm64/crct10dif - revert to C code for short inputs + - crypto: hash - set CRYPTO_TFM_NEED_KEY if ->setkey() fails + - crypto: morus - fix handling chunked inputs + - crypto: pcbc - remove bogus memcpy()s with src == dest + - crypto: skcipher - set CRYPTO_TFM_NEED_KEY if ->setkey() fails + - crypto: testmgr - skip crc32c context test for ahash algorithms + - crypto: x86/aegis - fix handling chunked inputs and MAY_SLEEP + - crypto: x86/aesni-gcm - fix crash on empty plaintext + - crypto: x86/morus - fix handling chunked inputs and MAY_SLEEP + - crypto: arm64/aes-ccm - fix logical bug in AAD MAC handling + - crypto: arm64/aes-ccm - fix bugs in non-NEON fallback routine + - CIFS: Fix leaking locked VFS cache pages in writeback retry + - CIFS: Do not reset lease state to NONE on lease break + - CIFS: Do not skip SMB2 message IDs on send failures + - CIFS: Fix read after write for files with read caching + - smb3: make default i/o size for smb3 mounts larger + - tracing: Use strncpy instead of memcpy for string keys in hist triggers + - tracing: Do not free iter->trace in fail path of tracing_open_pipe() + - tracing/perf: Use strndup_user() instead of buggy open-coded version + - vmw_balloon: release lock on error in vmballoon_reset() + - xen: fix dom0 boot on huge systems + - ACPI / device_sysfs: Avoid OF modalias creation for removed device + - mmc: sdhci-esdhc-imx: fix HS400 timing issue + - mmc: renesas_sdhi: Fix card initialization failure in high speed mode + - mmc:fix a bug when max_discard is 0 + - spi: ti-qspi: Fix mmap read when more than one CS in use + - spi: pxa2xx: Setup maximum supported DMA transfer length + - spi: omap2-mcspi: Fix DMA and FIFO event trigger size mismatch + - spi: spi-gpio: fix SPI_CS_HIGH capability + - regulator: s2mps11: Fix steps for buck7, buck8 and LDO35 + - regulator: max77620: Initialize values for DT properties + - regulator: s2mpa01: Fix step values for some LDOs + - mt76: fix corrupted software generated tx CCMP PN + - clocksource/drivers/exynos_mct: Move one-shot check from tick clear to ISR + - clocksource/drivers/exynos_mct: Clear timer interrupt when shutdown + - clocksource/drivers/arch_timer: Workaround for Allwinner A64 timer + instability + - s390: vfio_ap: link the vfio_ap devices to the vfio_ap bus subsystem + - s390/setup: fix early warning messages + - s390/virtio: handle find on invalid queue gracefully + - scsi: virtio_scsi: don't send sc payload with tmfs + - scsi: aacraid: Fix performance issue on logical drives + - scsi: sd: Optimal I/O size should be a multiple of physical block size + - scsi: target/iscsi: Avoid iscsit_release_commands_from_conn() deadlock + - scsi: qla2xxx: Fix LUN discovery if loop id is not assigned yet by firmware + - scsi: qla2xxx: Avoid PCI IRQ affinity mapping when multiqueue is not + supported + - scsi: qla2xxx: Use complete switch scan for RSCN events + - fs/devpts: always delete dcache dentry-s in dput() + - splice: don't merge into linked buffers + - ovl: During copy up, first copy up data and then xattrs + - ovl: Do not lose security.capability xattr over metadata file copy-up + - m68k: Add -ffreestanding to CFLAGS + - Btrfs: setup a nofs context for memory allocation at btrfs_create_tree() + - Btrfs: setup a nofs context for memory allocation at __btrfs_set_acl + - btrfs: scrub: fix circular locking dependency warning + - btrfs: drop the lock on error in btrfs_dev_replace_cancel + - btrfs: ensure that a DUP or RAID1 block group has exactly two stripes + - btrfs: init csum_list before possible free + - Btrfs: fix corruption reading shared and compressed extents after hole + punching + - Btrfs: fix deadlock between clone/dedupe and rename + - soc: qcom: rpmh: Avoid accessing freed memory from batch API + - libertas_tf: don't set URB_ZERO_PACKET on IN USB transfer + - irqchip/gic-v3-its: Avoid parsing _indirect_ twice for Device table + - irqchip/brcmstb-l2: Use _irqsave locking variants in non-interrupt code + - x86/kprobes: Prohibit probing on optprobe template code + - cpufreq: kryo: Release OPP tables on module removal + - cpufreq: tegra124: add missing of_node_put() + - cpufreq: pxa2xx: remove incorrect __init annotation + - ext4: fix check of inode in swap_inode_boot_loader + - ext4: cleanup pagecache before swap i_data + - mm: hwpoison: fix thp split handing in soft_offline_in_use_page() + - mm/vmalloc: fix size check for remap_vmalloc_range_partial() + - mm/memory.c: do_fault: avoid usage of stale vm_area_struct + - kernel/sysctl.c: add missing range check in do_proc_dointvec_minmax_conv + - nvmem: core: don't check the return value of notifier chain call + - device property: Fix the length used in PROPERTY_ENTRY_STRING() + - intel_th: Don't reference unassigned outputs + - parport_pc: fix find_superio io compare code, should use equal test. + - i2c: tegra: fix maximum transfer size + - i2c: tegra: update maximum transfer size + - media: i2c: ov5640: Fix post-reset delay + - gpio: pca953x: Fix dereference of irq data in shutdown + - ext4: update quota information while swapping boot loader inode + - ext4: add mask of ext4 flags to swap + - ext4: fix crash during online resizing + - dma: Introduce dma_max_mapping_size() + - swiotlb: Introduce swiotlb_max_mapping_size() + - swiotlb: Add is_swiotlb_active() function + - PCI/ASPM: Use LTR if already enabled by platform + - PCI/DPC: Fix print AER status in DPC event handling + - PCI: qcom: Don't deassert reset GPIO during probe + - PCI: dwc: skip MSI init if MSIs have been explicitly disabled + - PCI: pci-bridge-emul: Create per-bridge copy of register behavior + - PCI: pci-bridge-emul: Extend pci_bridge_emul_init() with flags + - IB/hfi1: Close race condition on user context disable and close + - IB/rdmavt: Fix loopback send with invalidate ordering + - IB/rdmavt: Fix concurrency panics in QP post_send and modify to error + - cxl: Wrap iterations over afu slices inside 'afu_list_lock' + - ext2: Fix underflow in ext2_max_size() + - clk: uniphier: Fix update register for CPU-gear + - clk: clk-twl6040: Fix imprecise external abort for pdmclk + - clk: samsung: exynos5: Fix possible NULL pointer exception on + platform_device_alloc() failure + - clk: samsung: exynos5: Fix kfree() of const memory on setting + driver_override + - clk: ingenic: Fix round_rate misbehaving with non-integer dividers + - clk: ingenic: Fix doc of ingenic_cgu_div_info + - usb: chipidea: tegra: Fix missed ci_hdrc_remove_device() + - usb: typec: tps6598x: handle block writes separately with plain-I2C adapters + - dmaengine: usb-dmac: Make DMAC system sleep callbacks explicit + - serial: uartps: Fix stuck ISR if RX disabled with non-empty FIFO + - serial: 8250_of: assume reg-shift of 2 for mrvl,mmp-uart + - serial: 8250_pci: Fix number of ports for ACCES serial cards + - serial: 8250_pci: Have ACCES cards that use the four port Pericom PI7C9X7954 + chip use the pci_pericom_setup() + - jbd2: clear dirty flag when revoking a buffer from an older transaction + - jbd2: fix compile warning when using JBUFFER_TRACE + - selinux: add the missing walk_size + len check in selinux_sctp_bind_connect + - security/selinux: fix SECURITY_LSM_NATIVE_LABELS on reused superblock + - powerpc/32: Clear on-stack exception marker upon exception return + - powerpc/wii: properly disable use of BATs when requested. + - powerpc/powernv: Make opal log only readable by root + - powerpc/83xx: Also save/restore SPRG4-7 during suspend + - powerpc/kvm: Save and restore host AMR/IAMR/UAMOR + - powerpc/powernv: Don't reprogram SLW image on every KVM guest entry/exit + - powerpc/64s/hash: Fix assert_slb_presence() use of the slbfee. instruction + - powerpc: Fix 32-bit KVM-PR lockup and host crash with MacOS guest + - powerpc/ptrace: Simplify vr_get/set() to avoid GCC warning + - powerpc/hugetlb: Don't do runtime allocation of 16G pages in LPAR + configuration + - powerpc/smp: Fix NMI IPI timeout + - powerpc/smp: Fix NMI IPI xmon timeout + - powerpc/traps: fix recoverability of machine check handling on book3s/32 + - powerpc/traps: Fix the message printed when stack overflows + - ARM: s3c24xx: Fix boolean expressions in osiris_dvs_notify + - arm64: Fix HCR.TGE status for NMI contexts + - arm64: debug: Don't propagate UNKNOWN FAR into si_code for debug signals + - arm64: debug: Ensure debug handlers check triggering exception level + - arm64: KVM: Fix architecturally invalid reset value for FPEXC32_EL2 + - Revert "KVM/MMU: Flush tlb directly in the kvm_zap_gfn_range()" + - ipmi_si: Fix crash when using hard-coded device + - ipmi_si: fix use-after-free of resource->name + - dm: fix to_sector() for 32bit + - dm integrity: limit the rate of error messages + - media: cx25840: mark pad sig_types to fix cx231xx init + - mfd: sm501: Fix potential NULL pointer dereference + - cpcap-charger: generate events for userspace + - cpuidle: governor: Add new governors to cpuidle_governors again + - NFS: Fix I/O request leakages + - NFS: Fix an I/O request leakage in nfs_do_recoalesce + - NFS: Don't recoalesce on error in nfs_pageio_complete_mirror() + - nfsd: fix performance-limiting session calculation + - nfsd: fix memory corruption caused by readdir + - nfsd: fix wrong check in write_v4_end_grace() + - NFSv4.1: Reinitialise sequence results before retransmitting a request + - svcrpc: fix UDP on servers with lots of threads + - PM / wakeup: Rework wakeup source timer cancellation + - PM / OPP: Update performance state when freq == old_freq + - bcache: treat stale && dirty keys as bad keys + - bcache: use (REQ_META|REQ_PRIO) to indicate bio for metadata + - stable-kernel-rules.rst: add link to networking patch queue + - vt: perform safe console erase in the right order + - x86/unwind/orc: Fix ORC unwind table alignment + - perf intel-pt: Fix CYC timestamp calculation after OVF + - perf tools: Fix split_kallsyms_for_kcore() for trampoline symbols + - perf auxtrace: Define auxtrace record alignment + - perf intel-pt: Fix overlap calculation for padding + - perf/x86/intel/uncore: Fix client IMC events return huge result + - perf intel-pt: Fix divide by zero when TSC is not available + - md: Fix failed allocation of md_register_thread + - x86/kvmclock: set offset for kvm unstable clock + - x86/ftrace: Fix warning and considate ftrace_jmp_replace() and + ftrace_call_replace() + - tpm/tpm_crb: Avoid unaligned reads in crb_recv() + - tpm: Unify the send callback behaviour + - rcu: Do RCU GP kthread self-wakeup from softirq and interrupt + - media: imx: prpencvf: Stop upstream before disabling IDMA channel + - media: lgdt330x: fix lock status reporting + - media: sun6i: Fix CSI regmap's max_register + - media: uvcvideo: Avoid NULL pointer dereference at the end of streaming + - media: vimc: Add vimc-streamer for stream control + - media: imx-csi: Input connections to CSI should be optional + - media: imx: csi: Disable CSI immediately after last EOF + - media: imx: csi: Stop upstream before disabling IDMA channel + - drm/fb-helper: generic: Fix drm_fbdev_client_restore() + - drm/radeon/evergreen_cs: fix missing break in switch statement + - drm/amd/powerplay: correct power reading on fiji + - drm/amd/display: don't call dm_pp_ function from an fpu block + - KVM: Call kvm_arch_memslots_updated() before updating memslots + - KVM: VMX: Compare only a single byte for VMCS' "launched" in vCPU-run + - KVM: VMX: Zero out *all* general purpose registers after VM-Exit + - KVM: x86/mmu: Detect MMIO generation wrap in any address space + - KVM: x86/mmu: Do not cache MMIO accesses while memslots are in flux + - KVM: nVMX: Sign extend displacements of VMX instr's mem operands + - KVM: nVMX: Apply addr size mask to effective address for VMX instructions + - KVM: nVMX: Ignore limit checks on VMX instructions using flat segments + - KVM: nVMX: Check a single byte for VMCS "launched" in nested early checks + - net: dsa: lantiq_gswip: fix use-after-free on failed probe + - net: dsa: lantiq_gswip: fix OF child-node lookups + - s390/setup: fix boot crash for machine without EDAT-1 + - SUNRPC: Prevent thundering herd when the socket is not connected + - SUNRPC: Fix up RPC back channel transmission + - SUNRPC: Respect RPC call timeouts when retrying transmission + - Linux 5.0.4 + - [Config] update configs for 5.0.4 stable update + + * New Intel Wireless-AC 9260 [8086:2526] card not correctly probed in Ubuntu + system (LP: #1821271) + - iwlwifi: add new card for 9260 series + + * [CONFIG] please enable highdpi font FONT_TER16x32 (LP: #1819881) + - [Config]: enable highdpi Terminus 16x32 font support + + * [SRU][B/B-OEM/C/D] Fix AMD IOMMU NULL dereference (LP: #1820990) + - iommu/amd: Fix NULL dereference bug in match_hid_uid + + * some codecs stop working after S3 (LP: #1820930) + - ALSA: hda - Enforces runtime_resume after S3 and S4 for each codec + - ALSA: hda - Don't trigger jackpoll_work in azx_resume + + * tcm_loop.ko: move from modules-extra into main modules package + (LP: #1817786) + - [Packaging] move tcm_loop.lo to main linux-modules package + + * C++ demangling support missing from perf (LP: #1396654) + - [Packaging] fix a mistype + + * r8169 doesn't get woken up by ethernet cable plugging, no PME generated + (LP: #1817676) + - PCI: pciehp: Disable Data Link Layer State Changed event on suspend + + * Disco update: v5.0.3 upstream stable release (LP: #1821074) + - connector: fix unsafe usage of ->real_parent + - fou, fou6: avoid uninit-value in gue_err() and gue6_err() + - gro_cells: make sure device is up in gro_cells_receive() + - ipv4/route: fail early when inet dev is missing + - l2tp: fix infoleak in l2tp_ip6_recvmsg() + - lan743x: Fix RX Kernel Panic + - lan743x: Fix TX Stall Issue + - net: hsr: fix memory leak in hsr_dev_finalize() + - net/hsr: fix possible crash in add_timer() + - net: sit: fix UBSAN Undefined behaviour in check_6rd + - net/x25: fix use-after-free in x25_device_event() + - net/x25: reset state in x25_connect() + - pptp: dst_release sk_dst_cache in pptp_sock_destruct + - ravb: Decrease TxFIFO depth of Q3 and Q2 to one + - route: set the deleted fnhe fnhe_daddr to 0 in ip_del_fnhe to fix a race + - rxrpc: Fix client call queueing, waiting for channel + - sctp: remove sched init from sctp_stream_init + - tcp: do not report TCP_CM_INQ of 0 for closed connections + - tcp: Don't access TCP_SKB_CB before initializing it + - tcp: handle inet_csk_reqsk_queue_add() failures + - vxlan: Fix GRO cells race condition between receive and link delete + - vxlan: test dev->flags & IFF_UP before calling gro_cells_receive() + - net/mlx4_core: Fix reset flow when in command polling mode + - net/mlx4_core: Fix locking in SRIOV mode when switching between events and + polling + - net/mlx4_core: Fix qp mtt size calculation + - net: dsa: mv88e6xxx: Set correct interface mode for CPU/DSA ports + - vsock/virtio: fix kernel panic from virtio_transport_reset_no_sock + - net: sched: flower: insert new filter to idr after setting its mask + - f2fs: wait on atomic writes to count F2FS_CP_WB_DATA + - perf/x86: Fixup typo in stub functions + - ALSA: bebob: use more identical mod_alias for Saffire Pro 10 I/O against + Liquid Saffire 56 + - ALSA: firewire-motu: fix construction of PCM frame for capture direction + - ALSA: hda: Extend i915 component bind timeout + - ALSA: hda - add more quirks for HP Z2 G4 and HP Z240 + - ALSA: hda/realtek: Enable audio jacks of ASUS UX362FA with ALC294 + - ALSA: hda/realtek - Reduce click noise on Dell Precision 5820 headphone + - ALSA: hda/realtek: Enable headset MIC of Acer TravelMate X514-51T with + ALC255 + - perf/x86/intel: Fix memory corruption + - perf/x86/intel: Make dev_attr_allow_tsx_force_abort static + - It's wrong to add len to sector_nr in raid10 reshape twice + - drm: Block fb changes for async plane updates + - Linux 5.0.3 + + * Disco update: v5.0.2 upstream stable release (LP: #1820318) + - media: uvcvideo: Fix 'type' check leading to overflow + - Input: wacom_serial4 - add support for Wacom ArtPad II tablet + - Input: elan_i2c - add id for touchpad found in Lenovo s21e-20 + - iscsi_ibft: Fix missing break in switch statement + - scsi: aacraid: Fix missing break in switch statement + - x86/PCI: Fixup RTIT_BAR of Intel Denverton Trace Hub + - arm64: dts: zcu100-revC: Give wifi some time after power-on + - arm64: dts: hikey: Give wifi some time after power-on + - arm64: dts: hikey: Revert "Enable HS200 mode on eMMC" + - ARM: dts: exynos: Fix pinctrl definition for eMMC RTSN line on Odroid X2/U3 + - ARM: dts: exynos: Add minimal clkout parameters to Exynos3250 PMU + - ARM: dts: exynos: Fix max voltage for buck8 regulator on Odroid XU3/XU4 + - drm: disable uncached DMA optimization for ARM and arm64 + - media: Revert "media: rc: some events are dropped by userspace" + - Revert "PCI/PME: Implement runtime PM callbacks" + - bpf: Stop the psock parser before canceling its work + - gfs2: Fix missed wakeups in find_insert_glock + - staging: erofs: keep corrupted fs from crashing kernel in erofs_namei() + - staging: erofs: compressed_pages should not be accessed again after freed + - scripts/gdb: replace flags (MS_xyz -> SB_xyz) + - ath9k: Avoid OF no-EEPROM quirks without qca,no-eeprom + - perf/x86/intel: Make cpuc allocations consistent + - perf/x86/intel: Generalize dynamic constraint creation + - x86: Add TSX Force Abort CPUID/MSR + - perf/x86/intel: Implement support for TSX Force Abort + - Linux 5.0.2 + + * Linux security module stacking support + - LSM: Introduce LSM_FLAG_LEGACY_MAJOR + - LSM: Provide separate ordered initialization + - LSM: Plumb visibility into optional "enabled" state + - LSM: Lift LSM selection out of individual LSMs + - LSM: Build ordered list of LSMs to initialize + - LSM: Introduce CONFIG_LSM + - LSM: Introduce "lsm=" for boottime LSM selection + - LSM: Tie enabling logic to presence in ordered list + - LSM: Prepare for reorganizing "security=" logic + - LSM: Refactor "security=" in terms of enable/disable + - LSM: Separate idea of "major" LSM from "exclusive" LSM + - apparmor: Remove SECURITY_APPARMOR_BOOTPARAM_VALUE + - selinux: Remove SECURITY_SELINUX_BOOTPARAM_VALUE + - LSM: Add all exclusive LSMs to ordered initialization + - LSM: Split LSM preparation from initialization + - LoadPin: Initialize as ordered LSM + - Yama: Initialize as ordered LSM + - LSM: Introduce enum lsm_order + - capability: Initialize as LSM_ORDER_FIRST + - procfs: add smack subdir to attrs + - Smack: Abstract use of cred security blob + - SELinux: Abstract use of cred security blob + - SELinux: Remove cred security blob poisoning + - SELinux: Remove unused selinux_is_enabled + - AppArmor: Abstract use of cred security blob + - TOMOYO: Abstract use of cred security blob + - Infrastructure management of the cred security blob + - SELinux: Abstract use of file security blob + - Smack: Abstract use of file security blob + - LSM: Infrastructure management of the file security + - SELinux: Abstract use of inode security blob + - Smack: Abstract use of inode security blob + - LSM: Infrastructure management of the inode security + - LSM: Infrastructure management of the task security + - SELinux: Abstract use of ipc security blobs + - Smack: Abstract use of ipc security blobs + - LSM: Infrastructure management of the ipc security blob + - TOMOYO: Update LSM flags to no longer be exclusive + - LSM: generalize flag passing to security_capable + - LSM: Make lsm_early_cred() and lsm_early_task() local functions. + - LSM: Make some functions static + - apparmor: Adjust offset when accessing task blob. + - LSM: Ignore "security=" when "lsm=" is specified + - LSM: Update list of SECURITYFS users in Kconfig + - apparmor: delete the dentry in aafs_remove() to avoid a leak + - apparmor: fix double free when unpack of secmark rules fails + - SAUCE: LSM: Infrastructure management of the sock security + - SAUCE: LSM: Limit calls to certain module hooks + - SAUCE: LSM: Special handling for secctx lsm hooks + - SAUCE: LSM: Specify which LSM to display with /proc/self/attr/display + - SAUCE: Fix-up af_unix mediation for sock infrastructure management + - SAUCE: Revert "apparmor: Fix warning about unused function + apparmor_ipv6_postroute" + - SAUCE: Revert "apparmor: fix checkpatch error in Parse secmark policy" + - SAUCE: Revert "apparmor: add #ifdef checks for secmark filtering" + - SAUCE: Revert "apparmor: Allow filtering based on secmark policy" + - SAUCE: Revert "apparmor: Parse secmark policy" + - SAUCE: Revert "apparmor: Add a wildcard secid" + - SAUCE: Revert "apparmor: fix bad debug check in apparmor_secid_to_secctx()" + - SAUCE: Revert "apparmor: fixup secid map conversion to using IDR" + - SAUCE: Revert "apparmor: Use an IDR to allocate apparmor secids" + - SAUCE: Revert "apparmor: Fix memory leak of rule on error exit path" + - SAUCE: Revert "apparmor: modify audit rule support to support profile + stacks" + - SAUCE: Revert "apparmor: Add support for audit rule filtering" + - SAUCE: Revert "apparmor: add the ability to get a task's secid" + - SAUCE: Revert "apparmor: add support for mapping secids and using secctxes" + - SAUCE: apparmor: add proc subdir to attrs + - SAUCE: apparmor: add an apparmorfs entry to access current attrs + - SAUCE: apparmor: update flags to no longer be exclusive + - SAUCE: update configs and annotations for LSM stacking + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_EARLY_PRINTK_USB_XDBC=y + - SAUCE: (efi-lockdown) bpf: Restrict kernel image access functions when the + kernel is locked down + - [Config] CONFIG_RANDOM_TRUST_CPU=y + - [Config] refresh annotations for recent config changes + - ubuntu: vbox -- update to 6.0.4-dfsg-7 + - Revert "UBUNTU: SAUCE: i2c:amd I2C Driver based on PCI Interface for + upcoming platform" + + -- Seth Forshee Thu, 04 Apr 2019 14:49:59 -0500 + +linux (5.0.0-8.9) disco; urgency=medium + + * linux: 5.0.0-8.9 -proposed tracker (LP: #1819759) + + * hisi_sas: add debugfs support (LP: #1819500) + - scsi: hisi_sas: Create root and device debugfs directories + - scsi: hisi_sas: Alloc debugfs snapshot buffer memory for all registers + - scsi: hisi_sas: Take debugfs snapshot for all regs + - scsi: hisi_sas: Debugfs global register create file and add file operations + - scsi: hisi_sas: Add debugfs for port registers + - scsi: hisi_sas: Add debugfs CQ file and add file operations + - scsi: hisi_sas: Add debugfs DQ file and add file operations + - scsi: hisi_sas: Add debugfs IOST file and add file operations + - scsi: hisi_sas: No need to check return value of debugfs_create functions + - scsi: hisi_sas: Fix type casting and missing static qualifier in debugfs + code + - scsi: hisi_sas: Add debugfs ITCT file and add file operations + + * [disco] hns driver updates from 5.1 merge window (LP: #1819535) + - net: hns: Use struct_size() in devm_kzalloc() + - net: hns3: modify enet reinitialization interface + - net: hns3: remove unused member in struct hns3_enet_ring + - net: hns3: remove unnecessary hns3_adjust_tqps_num + - net: hns3: reuse reinitialization interface in the hns3_set_channels + - net: hns3: add interface hclge_tm_bp_setup + - net: hns3: modify parameter checks in the hns3_set_channels + - net: hns3: remove redundant codes in hclge_knic_setup + - net: hns3: fix user configuration loss for ethtool -L + - net: hns3: adjust the use of alloc_tqps and num_tqps + - net: hns3: fix wrong combined count returned by ethtool -l + - net: hns3: do reinitialization while ETS configuration changed + - net: hns3: add HNAE3_RESTORE_CLIENT interface in enet module + - net: hns3: add calling roce callback function when link status change + - net: hns3: add rx multicast packets statistic + - net: hns3: refactor the statistics updating for netdev + - net: hns3: fix rss configuration lost problem when setting channel + - net: hns3: fix for shaper not setting when TC num changes + - net: hns3: fix bug of ethtool_ops.get_channels for VF + - net: hns3: clear param in ring when free ring + - net: hns3: Change fw error code NOT_EXEC to NOT_SUPPORTED + - net: hns3: do not return GE PFC setting err when initializing + - net: hns3: add ETS TC weight setting in SSU module + - net: hns3: add statistics for PFC frames and MAC control frames + - net: hns3: fix PFC not setting problem for DCB module + - net: hns3: don't update packet statistics for packets dropped by hardware + - net: hns3: clear pci private data when unload hns3 driver + - net: hns3: add error handling in hclge_ieee_setets + - net: hns3: fix return value handle issue for hclge_set_loopback() + - net: hns3: fix broadcast promisc issue for revision 0x20 + - net: hns3: After setting the loopback, add the status of getting MAC + - net: hns3: do reinitialization while mqprio configuration changed + - net: hns3: remove dcb_ops->map_update in hclge_dcb + - net: hns3: call hns3_nic_set_real_num_queue with netdev down + - net: hns3: add 8 BD limit for tx flow + - net: hns3: add initialization for nic state + - net: hns3: don't allow vf to enable promisc mode + - net: hns3: reuse the definition of l3 and l4 header info union + - net: hns3: fix VF dump register issue + - net: hns3: use the correct interface to stop|open port + - net: hns3: change hnae3_register_ae_dev() to int + - net: hns3: only support tc 0 for VF + - net: hns3: Fix NULL deref when unloading driver + - net: hns3: fix netif_napi_del() not do problem when unloading + - net: hns3: fix for rss result nonuniform + - net: hns3: fix improper error handling in the hclge_init_ae_dev() + - net: hns3: fix an issue for hclgevf_ae_get_hdev + - net: hns3: stop sending keep alive msg to PF when VF is resetting + - net: hns3: keep flow director state unchanged when reset + - net: hns3: Check for allocation failure + - net: hns3: fix a code style issue for hns3_update_new_int_gl() + - net: hns3: fix an issue for hns3_update_new_int_gl + - net: hns3: Modify parameter type from int to bool in set_gro_en + - net: hns3: code optimization for hclge_rx_buffer_calc + - net: hns3: add hclge_cmd_check_retval() to parse comman's return value + - net: hns3: move some set_bit statement into hclge_prepare_mac_addr + - net: hns3: fix a wrong checking in the hclge_tx_buffer_calc() + - net: hns3: fix the problem that the supported port is empty + - net: hns3: optimize the maximum TC macro + - net: hns3: don't allow user to change vlan filter state + - net: hns3: modify the upper limit judgment condition + - net: hns3: MAC table entry count function increases operation 0 value + protection measures + - net: hns3: make function hclge_set_all_vf_rst() static + - net: hns3: add pointer checking at the beginning of the exported functions. + - net: hns3: Check variable is valid before assigning it to another + - net: hns3: convert mac advertize and supported from u32 to link mode + - net: hns3: fix port info query issue for copper port + - net: hns3: modify print message of ssu common ecc errors + - net: hns3: some bugfix of ppu(rcb) ras errors + - net: hns3: enable 8~11th bit of mac common msi-x error + - net: hns3: fix 6th bit of ppp mpf abnormal errors + - net: hns3: Record VF unicast and multicast tables + - net: hns3: Record VF vlan tables + - net: hns3: uninitialize command queue while unloading PF driver + - net: hns3: clear command queue's registers when unloading VF driver + - net: hns3: add xps setting support for hns3 driver + - net: hns3: avoid mult + div op in critical data path + - net: hns3: limit some variable scope in critical data path + - net: hns3: remove some ops in struct hns3_nic_ops + - net: hns3: add unlikely for error handling in data path + - net: hns3: replace hnae3_set_bit and hnae3_set_field in data path + - net: hns3: remove hnae3_get_bit in data path + - net: hns3: add support to config depth for tx|rx ring separately + - net: hns3: enable VF VLAN filter for each VF when initializing + - net: hns3: fix get VF RSS issue + - net: hns3: fix setting of the hns reset_type for rdma hw errors + - net: hns3: fix improper error handling for hns3_client_start + - net: hns: use struct_size() in devm_kzalloc() + - net: hns3: Fix a logical vs bitwise typo + - net: hns3: add dma_rmb() for rx description + - net: hns3: fix to stop multiple HNS reset due to the AER changes + + * Build Nvidia drivers in conjunction with kernel (LP: #1764792) + - [Packaging] dkms-build -- support building against packages in PPAs + - [Packaging] dkms-build: do not redownload files on subsequent passes + - [Packaging] dkms-build -- elide partial Built-Using information + - [Packaging] dkms-build -- remove retpoline data from final binary packages + - [Packaging] dkms-build--nvidia* -- check gcc version against primary build + - [Packaging] dkms-build -- add support for unversioned overrides + - [Packaging] dkms-build--nvidia-* -- convert to generic -N form + - [Packaging] fix-filenames -- handle exact string removal + - [Packaging] dkms-build--nvidia-N -- remove GCC versions + + * Disco update: v5.0.1 upstream stable release (LP: #1819515) + - cpufreq: Use struct kobj_attribute instead of struct global_attr + - staging: erofs: fix mis-acted TAIL merging behavior + - binder: create node flag to request sender's security context + - USB: serial: option: add Telit ME910 ECM composition + - USB: serial: cp210x: add ID for Ingenico 3070 + - USB: serial: ftdi_sio: add ID for Hjelmslund Electronics USB485 + - driver core: Postpone DMA tear-down until after devres release + - staging: erofs: fix fast symlink w/o xattr when fs xattr is on + - staging: erofs: fix memleak of inode's shared xattr array + - staging: erofs: fix race of initializing xattrs of a inode at the same time + - staging: erofs: fix illegal address access under memory pressure + - staging: comedi: ni_660x: fix missing break in switch statement + - staging: wilc1000: fix to set correct value for 'vif_num' + - staging: android: ion: fix sys heap pool's gfp_flags + - staging: android: ashmem: Don't call fallocate() with ashmem_mutex held. + - staging: android: ashmem: Avoid range_alloc() allocation with ashmem_mutex + held. + - ip6mr: Do not call __IP6_INC_STATS() from preemptible context + - net: dsa: mv88e6xxx: add call to mv88e6xxx_ports_cmode_init to probe for new + DSA framework + - net: dsa: mv88e6xxx: handle unknown duplex modes gracefully in + mv88e6xxx_port_set_duplex + - net: dsa: mv8e6xxx: fix number of internal PHYs for 88E6x90 family + - net: mscc: Enable all ports in QSGMII + - net: sched: put back q.qlen into a single location + - net-sysfs: Fix mem leak in netdev_register_kobject + - qmi_wwan: Add support for Quectel EG12/EM12 + - sctp: call iov_iter_revert() after sending ABORT + - team: Free BPF filter when unregistering netdev + - tipc: fix RDM/DGRAM connect() regression + - x86/CPU/AMD: Set the CPB bit unconditionally on F17h + - x86/boot/compressed/64: Do not read legacy ROM on EFI system + - tracing: Fix event filters and triggers to handle negative numbers + - xhci: tegra: Prevent error pointer dereference + - usb: xhci: Fix for Enabling USB ROLE SWITCH QUIRK on + INTEL_SUNRISEPOINT_LP_XHCI + - applicom: Fix potential Spectre v1 vulnerabilities + - alpha: wire up io_pgetevents system call + - MIPS: irq: Allocate accurate order pages for irq stack + - aio: Fix locking in aio_poll() + - xtensa: fix get_wchan + - gnss: sirf: fix premature wakeup interrupt enable + - USB: serial: cp210x: fix GPIO in autosuspend + - Revert "selftests: firmware: add CONFIG_FW_LOADER_USER_HELPER_FALLBACK to + config" + - Revert "selftests: firmware: remove use of non-standard diff -Z option" + - selftests: firmware: fix verify_reqs() return value + - Bluetooth: btrtl: Restore old logic to assume firmware is already loaded + - Bluetooth: Fix locking in bt_accept_enqueue() for BH context + - Linux 5.0.1 + + * sky2 ethernet card doesn't work after returning from suspend + (LP: #1807259) // sky2 ethernet card link not up after suspend + (LP: #1809843) // Disco update: v5.0.1 upstream stable release + (LP: #1819515) + - sky2: Disable MSI on Dell Inspiron 1545 and Gateway P-79 + + * tls selftest failures/hangs on i386 (LP: #1813607) + - [Config] CONFIG_TLS=n for i386 + + * CVE-2019-8980 + - exec: Fix mem leak in kernel_read_file + + * Miscellaneous Ubuntu changes + - SAUCE: selftests: net: Use 'ipproto ipv6-icmp' to match ICMPv6 headers + - [Config] enable nvidia build + - [Config] update gcc version to 8.3 + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: selftests: pmtu: disable accept_dad for tests" + + -- Thadeu Lima de Souza Cascardo Tue, 12 Mar 2019 16:15:44 -0300 + +linux (5.0.0-7.8) disco; urgency=medium + + * linux: 5.0.0-7.8 -proposed tracker (LP: #1818519) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * unnecessary request_queue freeze (LP: #1815733) + - block: avoid setting nr_requests to current value + - block: avoid setting none scheduler if it's already none + + * Miscellaneous Ubuntu changes + - SAUCE: selftests: net: Don't fail test_vxlan_under_vrf on xfail + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.0 + + -- Seth Forshee Mon, 04 Mar 2019 08:46:10 -0600 + +linux (5.0.0-6.7) disco; urgency=medium + + * linux: 5.0.0-6.7 -proposed tracker (LP: #1817585) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - [Packaging] resync getabis + + * installer does not support iSCSI iBFT (LP: #1817321) + - d-i: add iscsi_ibft to scsi-modules + + * Silent "Unknown key" message when pressing keyboard backlight hotkey + (LP: #1817063) + - platform/x86: dell-wmi: Ignore new keyboard backlight change event + + * Fix I219 doesn't get woken up after plugging ethernet cable (LP: #1817058) + - e1000e: Disable runtime PM on CNP+ + + * efi/arm/arm64: Allow SetVirtualAddressMap() to be omitted (LP: #1814982) + - efi/arm/arm64: Allow SetVirtualAddressMap() to be omitted + + * CVE-2019-3460 + - Bluetooth: Check L2CAP option sizes returned from l2cap_get_conf_opt + + * CVE-2019-3459 + - Bluetooth: Verify that l2cap_get_conf_opt provides large enough buffer + + * kernel net tls selftest fails on 5.0 (LP: #1816716) + - SAUCE: Revert "selftests/tls: Add test for recv(PEEK) spanning across + multiple records" + + * Please enable CONFIG_DMA_CMA=y on arm64 (LP: #1803206) + - [Config] annotations -- enforce CONFIG_DMA_CMA and update notes + + * [19.04 FEAT] [LS1801] PCI Virtual function enablement (LP: #1814684) + - s390/pci: map IOV resources + - s390/pci: improve bar check + + * glibc 2.28-0ubuntu1 ADT test failure with linux 5.0.0-1.2 (LP: #1813060) + - SAUCE: prevent a glibc test failure when looking for obsolete types on + headers + + * Miscellaneous Ubuntu changes + - [Config] Enforce CONFIG_ZCRYPT_MULTIDEVNODES in annotations + - SAUCE: selftests: pmtu: disable accept_dad for tests + - SAUCE: arm64: add kernel config option to lock down when in Secure Boot mode + - SAUCE: selftests: net: Make test for VXLAN underlay in non-default VRF an + expected failure + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc8 + + -- Seth Forshee Mon, 25 Feb 2019 09:37:36 -0600 + +linux (5.0.0-5.6) disco; urgency=medium + + * [ALSA] [PATCH] System76 darp5 and oryp5 fixups (LP: #1815831) + - ALSA: hda/realtek - Headset microphone and internal speaker support for + System76 oryp5 + + * Miscellaneous Ubuntu changes + - [Config] Fix aufs menus in annotations file + - [Config] CONFIG_SAMPLE_TRACE_PRINTK=m + - [Config] Update annotations based on configs + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc7 + + -- Seth Forshee Mon, 18 Feb 2019 10:04:11 +0100 + +linux (5.0.0-4.5) disco; urgency=medium + + * linux-buildinfo: pull out ABI information into its own package + (LP: #1806380) + - [Packaging] autoreconstruct -- base tag is always primary mainline version + + * [Packaging] Allow overlay of config annotations (LP: #1752072) + - [Packaging] config-check: Add an include directive + + * Miscellaneous Ubuntu changes + - hio -- stub out BIOVEC_PHYS_MERGEABLE for 4.20+ + - hio -- replace use of do_gettimeofday() + - hio -- part_round_stats() removed in 5.0 + - hio -- device_add_disk() grew a 'groups' argument in 4.20 + - enable hio build + - Revert "UBUNTU: [Packaging] autoreconstruct -- base tag is always primary + mainline version" + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc6 + + -- Seth Forshee Tue, 12 Feb 2019 08:15:32 -0600 + +linux (5.0.0-3.4) disco; urgency=medium + + * CONFIG_TEST_BPF is disabled (LP: #1813955) + - [Config]: Reenable TEST_BPF + + * Ignore "incomplete report" from Elan touchpanels (LP: #1813733) + - HID: i2c-hid: Ignore input report if there's no data present on Elan + touchpanels + + * SecureBoot support for arm64 (LP: #1804481) + - Build signed kernels for arm64 + + * Miscellaneous Ubuntu changes + - SAUCE: selftests: net: fix "from" match test in fib_rule_tests.sh + - [Config] CONFIG_PCMCIA=n for arm64 and s390x + - [Config] CONFIG_SERIAL_SC16IS7XX=n for s390x + - [Config] disable I2C TPM drivers for s390x + - [Config] CONFIG_RAPIDIO=n for s390x + - [Config] CONFIG_DMADEVICES=n for s390x + - [Config] disable gpio drivers for s390x + - [Config] CONFIG_SENSORS_OCC_P8_I2C=m for ppc64el + - [Config] disable I2C hardware drivers for s390x + - [Config] CONFIG_I3C=n for s390x + - [Config] CONFIG_SERIO=n for s390x + - [Config] disable misc drivers for s390x + - [Config] disable EEPROM drivers for s390x + - [Config] disable MFD drivers for s390x + - [Config] CONFIG_NVMEM=n for s390x + - [Config] CONFIG_MLXSW_I2C=n for s390x + - [Config] CONFIG_NET_VENDOR_MICROCHIP=n for s390x + - [Config] CONFIG_PPP=n for s390x + - [Config] CONFIG_PCCARD=n for s390x + - [Config] CONFIG_PCI_MESON=y + - [Config] CONFIG_SCSI_MYRB=n for s390x + - [Config] CONFIG_REGULATOR=n for s390x + - [Config] CONFIG_ZIIRAVE_WATCHDOG=n for s390x + - [Config] CONFIG_NCSI_OEM_CMD_GET_MAC=y + - [Config] update annotations following config review + - [Packaging] remove handoff check for uefi signing + - [Packaging] decompress gzipped efi images in signing tarball + - vbox-update: allow leading whitespace when fixing up KERN_DIR + - ubuntu: vbox -- update to 6.0.4-dfsg-3 + - vbox: remove remount check in sf_read_super_aux() + - enable vbox build + - [Config] CONFIG_ANDROID_BINDER_DEVICES="" + - SAUCE: import aufs driver + - [Config]: Enable aufs + - [Config] relocate aufs annotations to menu + - [Config] remove unmatched configs from annotations + - [Config] fix up abi for removed modules + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) module: remove support for having IMA validate modules + - SAUCE: (efi-lockdown) Move EFI signature blob parser to shared location + - SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI Secure Boot + - SAUCE: (efi-lockdown) MODSIGN: Allow the "db" UEFI variable to be suppressed + - [Config] (efi-lockdown) enable importing of efi certificates for module sig + verification + + * Miscellaneous upstream changes + - binder: fix CONFIG_ANDROID_BINDER_DEVICES + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc5 + + -- Seth Forshee Tue, 05 Feb 2019 14:26:12 -0600 + +linux (5.0.0-2.3) disco; urgency=medium + + * kernel oops in bcache module (LP: #1793901) + - SAUCE: bcache: never writeback a discard operation + + * Enable sound card power saving by default (LP: #1804265) + - [Config] CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: SAUCE: selftests: disable some failing networking tests" + - SAUCE: ashmem: turn into module + - SAUCE: binder: turn into module + - SAUCE: binder: give binder_alloc its own debug mask file + - [Config] enable binder and ashmem as modules + - SAUCE: selftests: net: replace AF_MAX with INT_MAX in socket.c + - SAUCE: selftests/ftrace: Fix tab expansion in trace_marker snapshot trigger + test + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc4 + + -- Seth Forshee Tue, 29 Jan 2019 06:57:32 -0600 + +linux (5.0.0-1.2) disco; urgency=medium + + * Fix non-working QCA Rome Bluetooth after S3 (LP: #1812812) + - USB: Add new USB LPM helpers + - USB: Consolidate LPM checks to avoid enabling LPM twice + + * bluetooth controller not detected with 4.15 kernel (LP: #1810797) + - SAUCE: btqcomsmd: introduce BT_QCOMSMD_HACK + - [Config] arm64: snapdragon: BT_QCOMSMD_HACK=y + + * [19.04 FEAT| Enable virtio-gpu for s390x (LP: #1799467) + - [Config] enable virtio-gpu for s390x + + * Crash on "ip link add foo type ipip" (LP: #1811803) + - SAUCE: fan: Fix NULL pointer dereference + + * Fix not working Goodix touchpad (LP: #1811929) + - HID: i2c-hid: Disable runtime PM on Goodix touchpad + + * Miscellaneous Ubuntu changes + - update dkms package versions + - enable zfs build + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc3 + + -- Seth Forshee Tue, 22 Jan 2019 13:56:17 -0600 + +linux (5.0.0-0.1) disco; urgency=medium + + * Build Nvidia drivers in conjunction with kernel (LP: #1764792) + - [Packaging] dkms -- add per package post-process step + - [Packaging] dkms -- switch to a consistent build prefix length and strip + - [Packaging] nvidia -- build and sign nvidia packages and ship signatures + - [Packaging] nvidia -- make nvidia package version explicit + + * Add support for ALC3277 codec on new Dell edge gateways (LP: #1807334) + - [Config] CONFIG_SND_SOC_INTEL_KBL_RT5660_MACH=m + + * RTL8822BE WiFi Disabled in Kernel 4.18.0-12 (LP: #1806472) + - [Config] CONFIG_RTLWIFI_DEBUG_ST=n + + * Miscellaneous Ubuntu changes + - ubuntu -- disable vbox build + - ubuntu -- disable hio build + - Disable zfs build + - SAUCE: import aufs driver + - update dkms package versions + - [Config] disable aufs config options + - [Config] disable nvidia build + - update dropped.txt + - [Packaging] disable nvidia dkms builds for mainline + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the kernel is + locked down + - SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the kernel is locked + down + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Lock down module params that specify hardware + parameters (eg. ioport) + - SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the testmmiotrace module + - SAUCE: (efi-lockdown) Lock down /proc/kcore + - SAUCE: (efi-lockdown) Lock down kprobes + - SAUCE: (efi-lockdown) Lock down perf + - SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the kernel is locked + down + - SAUCE: (efi-lockdown) debugfs: avoid EPERM when no open file operation + defined + - SAUCE: (efi-lockdown) KEYS: Allow unrestricted boot-time addition of keys to + secondary keyring + - SAUCE: (efi-lockdown) Make get_cert_list() not complain about cert lists + that aren't present. + - SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err(). + - SAUCE: (efi-lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - [Config] set config options for efi lockdown + - Revert "UBUNTU: SAUCE: import aufs driver" + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc2 + + -- Seth Forshee Thu, 17 Jan 2019 12:31:29 -0600 + +linux (5.0.0-0.0) disco; urgency=medium + + * Dummy entry. + + -- Seth Forshee Wed, 16 Jan 2019 14:48:05 -0600 + +linux (4.20.0-2.3) disco; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v4.20 + + -- Seth Forshee Thu, 03 Jan 2019 12:11:43 -0600 + +linux (4.20.0-1.2) disco; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * Power leakage at S5 with Qualcomm Atheros QCA9377 802.11ac Wireless Network + Adapter (LP: #1805607) + - SAUCE: ath10k: provide reset function for QCA9377 chip + + * zfs/spl build in conjunction with the kernel from DKMS source (LP: #1807378) + - [Packaging] dkms -- dkms package build packaging support + - [Packaging] dkms -- save build objects artifacts for validation + - [Packaging] dkms -- add general Built-Using: support + - [Packaging] simplify Provides comma handling + - [Packaging] zfs/spl -- remove packaging support for incorporated source + - [Packaging] zfs/spl -- remove incorporated source + - [Packaging] zfs/spl -- build via dkms + - [Packaging] zfs/spl -- make zfs package version explicit + - [Packaging] update-version-dkms -- sync archive versions to package + + * Miscellaneous Ubuntu changes + - [Packaging] update-version-dkms -- fix getting distrbution from changelog + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v4.20-rc6 + + -- Seth Forshee Tue, 11 Dec 2018 11:33:08 -0600 + +linux (4.20.0-0.1) disco; urgency=medium + + * Overlayfs in user namespace leaks directory content of inaccessible + directories (LP: #1793458) // CVE-2018-6559 + - Revert "ovl: relax permission checking on underlying layers" + - SAUCE: overlayfs: ensure mounter privileges when reading directories + + * Miscellaneous Ubuntu changes + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the kernel is + locked down + - SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the kernel is locked + down + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Lock down module params that specify hardware + parameters (eg. ioport) + - SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the testmmiotrace module + - SAUCE: (efi-lockdown) Lock down /proc/kcore + - SAUCE: (efi-lockdown) Lock down kprobes + - SAUCE: (efi-lockdown) Lock down perf + - SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the kernel is locked + down + - SAUCE: (efi-lockdown) KEYS: Allow unrestricted boot-time addition of keys to + secondary keyring + - SAUCE: (efi-lockdown) efi: Add EFI signature data types + - SAUCE: (efi-lockdown) efi: Add an EFI signature blob parser + - SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI Secure Boot + - SAUCE: (efi-lockdown) MODSIGN: Allow the "db" UEFI variable to be suppressed + - SAUCE: (efi-lockdown) Make get_cert_list() not complain about cert lists + that aren't present. + - SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err(). + - SAUCE: (efi-lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) Fix for module sig verification + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: Import aufs driver + - ubuntu: vbox -- update to 5.2.22-dfsg-2 + - ubuntu -- disable vbox build + - ubuntu -- disable hio build + - Disable zfs build + + [ Upstream Kernel Changes ] + + * Rebase to v4.20-rc5 + + -- Seth Forshee Fri, 07 Dec 2018 07:13:42 -0600 + +linux (4.20.0-0.0) disco; urgency=medium + + * Dummy entry. + + -- Seth Forshee Thu, 06 Dec 2018 10:20:19 -0600 + +linux (4.19.0-8.9) disco; urgency=medium + + * linux: 4.19.0-8.9 -proposed tracker (LP: #1806952) + + * Workaround CSS timeout on AMD SNPS 3.0 xHC (LP: #1806838) + - xhci: workaround CSS timeout on AMD SNPS 3.0 xHC + + * Fix Intel I210 doesn't work when ethernet cable gets plugged (LP: #1806818) + - igb: Fix an issue that PME is not enabled during runtime suspend + + * The line-out on the Dell Dock station can't work (LP: #1806532) + - ALSA: usb-audio: Add vendor and product name for Dell WD19 Dock + + * CVE-2018-19407 + - KVM: X86: Fix scan ioapic use-before-initialization + + * PC SN720 NVMe WDC 256GB consumes more power in S2Idle than during long idle + (LP: #1805775) + - SAUCE: pci/nvme: prevent WDC PC SN720 NVMe from entering D3 and being + disabled + + * Disco update: 4.19.6 upstream stable release (LP: #1806909) + - HID: steam: remove input device when a hid client is running. + - efi/libstub: arm: support building with clang + - usb: core: Fix hub port connection events lost + - usb: dwc3: gadget: fix ISOC TRB type on unaligned transfers + - usb: dwc3: gadget: Properly check last unaligned/zero chain TRB + - usb: dwc3: core: Clean up ULPI device + - usb: dwc3: Fix NULL pointer exception in dwc3_pci_remove() + - xhci: Fix leaking USB3 shared_hcd at xhci removal + - xhci: handle port status events for removed USB3 hcd + - xhci: Add check for invalid byte size error when UAS devices are connected. + - usb: xhci: fix uninitialized completion when USB3 port got wrong status + - usb: xhci: fix timeout for transition from RExit to U0 + - xhci: Add quirk to workaround the errata seen on Cavium Thunder-X2 Soc + - usb: xhci: Prevent bus suspend if a port connect change or polling state is + detected + - ALSA: oss: Use kvzalloc() for local buffer allocations + - MAINTAINERS: Add Sasha as a stable branch maintainer + - Documentation/security-bugs: Clarify treatment of embargoed information + - Documentation/security-bugs: Postpone fix publication in exceptional cases + - mmc: sdhci-pci: Try "cd" for card-detect lookup before using NULL + - mmc: sdhci-pci: Workaround GLK firmware failing to restore the tuning value + - gpio: don't free unallocated ida on gpiochip_add_data_with_key() error path + - iwlwifi: fix wrong WGDS_WIFI_DATA_SIZE + - iwlwifi: mvm: support sta_statistics() even on older firmware + - iwlwifi: mvm: fix regulatory domain update when the firmware starts + - iwlwifi: mvm: don't use SAR Geo if basic SAR is not used + - brcmfmac: fix reporting support for 160 MHz channels + - opp: ti-opp-supply: Dynamically update u_volt_min + - opp: ti-opp-supply: Correct the supply in _get_optimal_vdd_voltage call + - tools/power/cpupower: fix compilation with STATIC=true + - v9fs_dir_readdir: fix double-free on p9stat_read error + - selinux: Add __GFP_NOWARN to allocation at str_read() + - Input: synaptics - avoid using uninitialized variable when probing + - bfs: add sanity check at bfs_fill_super() + - sctp: clear the transport of some out_chunk_list chunks in + sctp_assoc_rm_peer + - gfs2: Don't leave s_fs_info pointing to freed memory in init_sbd + - llc: do not use sk_eat_skb() + - mm: don't warn about large allocations for slab + - mm/memory.c: recheck page table entry with page table lock held + - tcp: do not release socket ownership in tcp_close() + - drm/fb-helper: Blacklist writeback when adding connectors to fbdev + - drm/amdgpu: Add missing firmware entry for HAINAN + - drm/vc4: Set ->legacy_cursor_update to false when doing non-async updates + - drm/amdgpu: Fix oops when pp_funcs->switch_power_profile is unset + - drm/i915: Disable LP3 watermarks on all SNB machines + - drm/ast: change resolution may cause screen blurred + - drm/ast: fixed cursor may disappear sometimes + - drm/ast: Remove existing framebuffers before loading driver + - can: flexcan: Unlock the MB unconditionally + - can: dev: can_get_echo_skb(): factor out non sending code to + __can_get_echo_skb() + - can: dev: __can_get_echo_skb(): replace struct can_frame by canfd_frame to + access frame length + - can: dev: __can_get_echo_skb(): Don't crash the kernel if can_priv::echo_skb + is accessed out of bounds + - can: dev: __can_get_echo_skb(): print error message, if trying to echo non + existing skb + - can: rx-offload: introduce can_rx_offload_get_echo_skb() and + can_rx_offload_queue_sorted() functions + - can: rx-offload: rename can_rx_offload_irq_queue_err_skb() to + can_rx_offload_queue_tail() + - can: flexcan: use can_rx_offload_queue_sorted() for flexcan_irq_bus_*() + - can: flexcan: handle tx-complete CAN frames via rx-offload infrastructure + - can: raw: check for CAN FD capable netdev in raw_sendmsg() + - can: hi311x: Use level-triggered interrupt + - can: flexcan: Always use last mailbox for TX + - can: flexcan: remove not needed struct flexcan_priv::tx_mb and struct + flexcan_priv::tx_mb_idx + - ACPICA: AML interpreter: add region addresses in global list during + initialization + - IB/hfi1: Eliminate races in the SDMA send error path + - fsnotify: generalize handling of extra event flags + - fanotify: fix handling of events on child sub-directory + - pinctrl: meson: fix pinconf bias disable + - pinctrl: meson: fix gxbb ao pull register bits + - pinctrl: meson: fix gxl ao pull register bits + - pinctrl: meson: fix meson8 ao pull register bits + - pinctrl: meson: fix meson8b ao pull register bits + - tools/testing/nvdimm: Fix the array size for dimm devices. + - scsi: lpfc: fix remoteport access + - scsi: hisi_sas: Remove set but not used variable 'dq_list' + - KVM: PPC: Move and undef TRACE_INCLUDE_PATH/FILE + - cpufreq: imx6q: add return value check for voltage scale + - rtc: cmos: Do not export alarm rtc_ops when we do not support alarms + - rtc: pcf2127: fix a kmemleak caused in pcf2127_i2c_gather_write + - crypto: simd - correctly take reqsize of wrapped skcipher into account + - floppy: fix race condition in __floppy_read_block_0() + - powerpc/io: Fix the IO workarounds code to work with Radix + - sched/fair: Fix cpu_util_wake() for 'execl' type workloads + - perf/x86/intel/uncore: Add more IMC PCI IDs for KabyLake and CoffeeLake CPUs + - block: copy ioprio in __bio_clone_fast() and bounce + - SUNRPC: Fix a bogus get/put in generic_key_to_expire() + - riscv: add missing vdso_install target + - RISC-V: Silence some module warnings on 32-bit + - drm/amdgpu: fix bug with IH ring setup + - kdb: Use strscpy with destination buffer size + - NFSv4: Fix an Oops during delegation callbacks + - powerpc/numa: Suppress "VPHN is not supported" messages + - efi/arm: Revert deferred unmap of early memmap mapping + - z3fold: fix possible reclaim races + - mm, memory_hotplug: check zone_movable in has_unmovable_pages + - tmpfs: make lseek(SEEK_DATA/SEK_HOLE) return ENXIO with a negative offset + - mm, page_alloc: check for max order in hot path + - dax: Avoid losing wakeup in dax_lock_mapping_entry + - include/linux/pfn_t.h: force '~' to be parsed as an unary operator + - tty: wipe buffer. + - tty: wipe buffer if not echoing data + - gfs2: Fix iomap buffer head reference counting bug + - rcu: Make need_resched() respond to urgent RCU-QS needs + - media: ov5640: Re-work MIPI startup sequence + - media: ov5640: Fix timings setup code + - media: ov5640: fix exposure regression + - media: ov5640: fix auto gain & exposure when changing mode + - media: ov5640: fix wrong binning value in exposure calculation + - media: ov5640: fix auto controls values when switching to manual mode + - Linux 4.19.6 + + * linux-buildinfo: pull out ABI information into its own package + (LP: #1806380) + - [Packaging] limit preparation to linux-libc-dev in headers + - [Packaging] commonise debhelper invocation + - [Packaging] ABI -- accumulate abi information at the end of the build + - [Packaging] buildinfo -- add basic build information + - [Packaging] buildinfo -- add firmware information to the flavour ABI + - [Packaging] buildinfo -- add compiler information to the flavour ABI + - [Packaging] buildinfo -- add buildinfo support to getabis + - [Packaging] getabis -- handle all known package combinations + - [Packaging] getabis -- support parsing a simple version + + * linux packages should own /usr/lib/linux/triggers (LP: #1770256) + - [Packaging] own /usr/lib/linux/triggers + + * Miscellaneous upstream changes + - blk-mq: fix corruption with direct issue + + -- Seth Forshee Wed, 05 Dec 2018 09:18:30 -0600 + +linux (4.19.0-7.8) disco; urgency=medium + + * linux: 4.19.0-7.8 -proposed tracker (LP: #1805465) + + * Fix and issue that LG I2C touchscreen stops working after reboot + (LP: #1805085) + - HID: i2c-hid: Disable runtime PM for LG touchscreen + + * click/pop noise in the headphone on several lenovo laptops (LP: #1805079) // + click/pop noise in the headphone on several lenovo laptops (LP: #1805079) + - ALSA: hda/realtek - fix the pop noise on headphone for lenovo laptops + + * Regression: hinic performance degrades over time (LP: #1805248) + - Revert "net-next/hinic: add checksum offload and TSO support" + + * Disco update: 4.19.5 upstream stable release (LP: #1805461) + - drm/i915: Replace some PAGE_SIZE with I915_GTT_PAGE_SIZE + - cifs: don't dereference smb_file_target before null check + - cifs: fix return value for cifs_listxattr + - arm64: kprobe: make page to RO mode when allocate it + - block: brd: associate with queue until adding disk + - net: hns3: bugfix for rtnl_lock's range in the hclgevf_reset() + - net: hns3: bugfix for rtnl_lock's range in the hclge_reset() + - net: hns3: bugfix for handling mailbox while the command queue reinitialized + - net: hns3: bugfix for the initialization of command queue's spin lock + - ixgbe: fix MAC anti-spoofing filter after VFLR + - reiserfs: propagate errors from fill_with_dentries() properly + - hfs: prevent btree data loss on root split + - hfsplus: prevent btree data loss on root split + - perf unwind: Take pgoff into account when reporting elf to libdwfl + - um: Give start_idle_thread() a return code + - drm/edid: Add 6 bpc quirk for BOE panel. + - afs: Handle EIO from delivery function + - platform/x86: intel_telemetry: report debugfs failure + - clk: fixed-rate: fix of_node_get-put imbalance + - perf symbols: Set PLT entry/header sizes properly on Sparc + - fs/exofs: fix potential memory leak in mount option parsing + - clk: samsung: exynos5420: Enable PERIS clocks for suspend + - apparmor: Fix uninitialized value in aa_split_fqname + - x86/earlyprintk: Add a force option for pciserial device + - platform/x86: acerhdf: Add BIOS entry for Gateway LT31 v1.3307 + - clk: meson-axg: pcie: drop the mpll3 clock parent + - arm64: percpu: Initialize ret in the default case + - clk: meson: clk-pll: drop CLK_GET_RATE_NOCACHE where unnecessary + - clk: renesas: r9a06g032: Fix UART34567 clock rate + - clk: ti: fix OF child-node lookup + - serial: sh-sci: Fix receive on SCIFA/SCIFB variants with DMA + - netfilter: ipv6: fix oops when defragmenting locally generated fragments + - netfilter: bridge: define INT_MIN & INT_MAX in userspace + - s390/decompressor: add missing FORCE to build targets + - s390/vdso: add missing FORCE to build targets + - HID: i2c-hid: Add a small delay after sleep command for Raydium touchpanel + - Revert "HID: add NOGET quirk for Eaton Ellipse MAX UPS" + - HID: alps: allow incoming reports when only the trackstick is opened + - Revert "netfilter: nft_numgen: add map lookups for numgen random operations" + - netfilter: ipset: list:set: Decrease refcount synchronously on deletion and + replace + - netfilter: ipset: actually allow allowable CIDR 0 in hash:net,port,net + - netfilter: ipset: fix ip_set_list allocation failure + - s390/mm: fix mis-accounting of pgtable_bytes + - s390/mm: Fix ERROR: "__node_distance" undefined! + - bpf: fix bpf_prog_get_info_by_fd to return 0 func_lens for unpriv + - netfilter: ipset: Correct rcu_dereference() call in ip_set_put_comment() + - netfilter: xt_IDLETIMER: add sysfs filename checking routine + - netfilter: ipset: Fix calling ip_set() macro at dumping + - netfilter: nft_compat: ebtables 'nat' table is normal chain type + - s390/qeth: fix HiperSockets sniffer + - s390/qeth: unregister netdevice only when registered + - net: hns3: Fix for out-of-bounds access when setting pfc back pressure + - hwmon: (ibmpowernv) Remove bogus __init annotations + - ARM: dts: imx6sll: fix typo for fsl,imx6sll-i2c node + - ARM: dts: fsl: Fix improperly quoted stdout-path values + - Revert "drm/exynos/decon5433: implement frame counter" + - arm64: dts: renesas: r8a7795: add missing dma-names on hscif2 + - arm64: dts: renesas: condor: switch from EtherAVB to GEther + - xen/grant-table: Fix incorrect gnttab_dma_free_pages() pr_debug message + - clk: fixed-factor: fix of_node_get-put imbalance + - mtd: nand: Fix nanddev_pos_next_page() kernel-doc header + - lib/raid6: Fix arm64 test build + - drm/amd/display: Stop leaking planes + - block: Clear kernel memory before copying to user + - drm/amd/display: Drop reusing drm connector for MST + - drm/amd/amdgpu/dm: Fix dm_dp_create_fake_mst_encoder() + - s390/perf: Change CPUM_CF return code in event init function + - ceph: quota: fix null pointer dereference in quota check + - of/device: Really only set bus DMA mask when appropriate + - nvme: make sure ns head inherits underlying device limits + - i2c: omap: Enable for ARCH_K3 + - i2c: qcom-geni: Fix runtime PM mismatch with child devices + - sched/core: Take the hotplug lock in sched_init_smp() + - perf tools: Fix undefined symbol scnprintf in libperf-jvmti.so + - perf tools: Do not zero sample_id_all for group members + - ice: Fix dead device link issue with flow control + - ice: Fix the bytecount sent to netdev_tx_sent_queue + - ice: Change req_speeds to be u16 + - i40e: restore NETIF_F_GSO_IPXIP[46] to netdev features + - qed: Fix memory/entry leak in qed_init_sp_request() + - qed: Fix blocking/unlimited SPQ entries leak + - qed: Fix SPQ entries not returned to pool in error flows + - qed: Fix potential memory corruption + - net: stmmac: Fix RX packet size > 8191 + - net: aquantia: fix potential IOMMU fault after driver unbind + - net: aquantia: fixed enable unicast on 32 macvlan + - net: aquantia: invalid checksumm offload implementation + - kbuild: deb-pkg: fix too low build version number + - Revert "scripts/setlocalversion: git: Make -dirty check more robust" + - SUNRPC: drop pointless static qualifier in xdr_get_next_encode_buffer() + - x86/mm: Move LDT remap out of KASLR region on 5-level paging + - x86/ldt: Unmap PTEs for the slot before freeing LDT pages + - x86/ldt: Remove unused variable in map_ldt_struct() + - media: v4l: event: Add subscription to list before calling "add" operation + - MIPS: OCTEON: cavium_octeon_defconfig: re-enable OCTEON USB driver + - RISC-V: Fix raw_copy_{to,from}_user() + - uio: Fix an Oops on load + - ALSA: hda/realtek - Add quirk entry for HP Pavilion 15 + - ALSA: hda/ca0132 - Call pci_iounmap() instead of iounmap() + - can: kvaser_usb: Fix accessing freed memory in kvaser_usb_start_xmit() + - can: kvaser_usb: Fix potential uninitialized variable use + - usb: cdc-acm: add entry for Hiro (Conexant) modem + - USB: Wait for extra delay time after USB_PORT_FEAT_RESET for quirky hub + - usb: quirks: Add delay-init quirk for Corsair K70 LUX RGB + - misc: atmel-ssc: Fix section annotation on atmel_ssc_get_driver_data + - USB: misc: appledisplay: add 20" Apple Cinema Display + - gnss: serial: fix synchronous write timeout + - gnss: sirf: fix synchronous write timeout + - mtd: rawnand: atmel: fix OF child-node lookup + - drivers/misc/sgi-gru: fix Spectre v1 vulnerability + - ACPI / platform: Add SMB0001 HID to forbidden_id_list + - HID: uhid: forbid UHID_CREATE under KERNEL_DS or elevated privileges + - HID: Add quirk for Primax PIXART OEM mice + - HID: Add quirk for Microsoft PIXART OEM mouse + - libceph: fall back to sendmsg for slab pages + - mt76x0: run vco calibration for each channel configuration + - Linux 4.19.5 + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: Build signed kernels for arm64" + + -- Seth Forshee Tue, 27 Nov 2018 10:38:34 -0600 + +linux (4.19.0-6.7) disco; urgency=medium + + * linux: 4.19.0-6.7 -proposed tracker (LP: #1805195) + + * SecureBoot support for arm64 (LP: #1804481) + - Build signed kernels for arm64 + + * Add pointstick support for Cirque Touchpad (LP: #1805081) + - HID: multitouch: Add pointstick support for Cirque Touchpad + + * Power consumption during s2idle is higher than long idle (Intel SSDPEKKF) + (LP: #1804588) + - SAUCE: pci: prevent Intel NVMe SSDPEKKF from entering D3 + - SAUCE: nvme: add quirk to not call disable function when suspending + + * Disco update: 4.19.4 upstream stable release (LP: #1805159) + - flow_dissector: do not dissect l4 ports for fragments + - ibmvnic: fix accelerated VLAN handling + - ip_tunnel: don't force DF when MTU is locked + - ipv6: fix a dst leak when removing its exception + - ipv6: Fix PMTU updates for UDP/raw sockets in presence of VRF + - net: bcmgenet: protect stop from timeout + - net-gro: reset skb->pkt_type in napi_reuse_skb() + - sctp: not allow to set asoc prsctp_enable by sockopt + - tcp: Fix SOF_TIMESTAMPING_RX_HARDWARE to use the latest timestamp during TCP + coalescing + - tg3: Add PHY reset for 5717/5719/5720 in change ring and flow control paths + - tipc: don't assume linear buffer when reading ancillary data + - tipc: fix lockdep warning when reinitilaizing sockets + - tuntap: fix multiqueue rx + - net: systemport: Protect stop from timeout + - net/sched: act_pedit: fix memory leak when IDR allocation fails + - net: sched: cls_flower: validate nested enc_opts_policy to avoid warning + - tipc: fix link re-establish failure + - net/mlx5e: Don't match on vlan non-existence if ethertype is wildcarded + - net/mlx5e: Claim TC hw offloads support only under a proper build config + - net/mlx5e: Adjust to max number of channles when re-attaching + - net/mlx5e: RX, verify received packet size in Linear Striding RQ + - Revert "sctp: remove sctp_transport_pmtu_check" + - net/mlx5e: Always use the match level enum when parsing TC rule match + - net/mlx5e: Fix selftest for small MTUs + - net/mlx5e: Removed unnecessary warnings in FEC caps query + - inet: frags: better deal with smp races + - l2tp: fix a sock refcnt leak in l2tp_tunnel_register + - net/mlx5: IPSec, Fix the SA context hash key + - net/mlx5e: IPoIB, Reset QP after channels are closed + - net: dsa: mv88e6xxx: Fix clearing of stats counters + - net: phy: realtek: fix RTL8201F sysfs name + - sctp: define SCTP_SS_DEFAULT for Stream schedulers + - net: qualcomm: rmnet: Fix incorrect assignment of real_dev + - net: dsa: microchip: initialize mutex before use + - sctp: fix strchange_flags name for Stream Change Event + - net: phy: mdio-gpio: Fix working over slow can_sleep GPIOs + - sctp: not increase stream's incnt before sending addstrm_in request + - mlxsw: spectrum: Fix IP2ME CPU policer configuration + - net: smsc95xx: Fix MTU range + - rxrpc: Fix lockup due to no error backoff after ack transmit error + - usbnet: smsc95xx: disable carrier check while suspending + - Revert "x86/speculation: Enable cross-hyperthread spectre v2 STIBP + mitigation" + - Linux 4.19.4 + + * Disco update: 4.19.3 upstream stable release (LP: #1805158) + - powerpc/traps: restore recoverability of machine_check interrupts + - powerpc/64/module: REL32 relocation range check + - powerpc/mm: Fix page table dump to work on Radix + - powerpc/mm: fix always true/false warning in slice.c + - drm/amd/display: fix bug of accessing invalid memory + - Input: wm97xx-ts - fix exit path + - powerpc/Makefile: Fix PPC_BOOK3S_64 ASFLAGS + - powerpc/eeh: Fix possible null deref in eeh_dump_dev_log() + - tty: check name length in tty_find_polling_driver() + - tracing/kprobes: Check the probe on unloaded module correctly + - drm/nouveau/secboot/acr: fix memory leak + - drm/amdgpu/powerplay: fix missing break in switch statements + - ARM: imx_v6_v7_defconfig: Select CONFIG_TMPFS_POSIX_ACL + - powerpc/nohash: fix undefined behaviour when testing page size support + - drm/msm/gpu: fix parameters in function msm_gpu_crashstate_capture + - drm/msm/disp/dpu: Use proper define for drm_encoder_init() 'encoder_type' + - drm/msm: dpu: Allow planes to extend past active display + - powerpc/mm: Don't report hugepage tables as memory leaks when using kmemleak + - drm/omap: fix memory barrier bug in DMM driver + - drm/amd/display: Raise dispclk value for dce120 by 15% + - drm/amd/display: fix gamma not being applied + - drm/hisilicon: hibmc: Do not carry error code in HiBMC framebuffer pointer + - media: pci: cx23885: handle adding to list failure + - media: coda: don't overwrite h.264 profile_idc on decoder instance + - MIPS: kexec: Mark CPU offline before disabling local IRQ + - powerpc/boot: Ensure _zimage_start is a weak symbol + - powerpc/memtrace: Remove memory in chunks + - MIPS/PCI: Call pcie_bus_configure_settings() to set MPS/MRRS + - staging: erofs: fix a missing endian conversion + - serial: 8250_of: Fix for lack of interrupt support + - sc16is7xx: Fix for multi-channel stall + - media: tvp5150: fix width alignment during set_selection() + - powerpc/selftests: Wait all threads to join + - staging:iio:ad7606: fix voltage scales + - drm: rcar-du: Update Gen3 output limitations + - drm/amdgpu: Fix SDMA TO after GPU reset v3 + - staging: most: video: fix registration of an empty comp core_component + - 9p locks: fix glock.client_id leak in do_lock + - udf: Prevent write-unsupported filesystem to be remounted read-write + - ARM: dts: imx6ull: keep IMX6UL_ prefix for signals on both i.MX6UL and + i.MX6ULL + - media: ov5640: fix mode change regression + - 9p: clear dangling pointers in p9stat_free + - drm/amdgpu: fix integer overflow test in amdgpu_bo_list_create() + - media: ov5640: fix restore of last mode set + - cdrom: fix improper type cast, which can leat to information leak. + - ovl: fix error handling in ovl_verify_set_fh() + - ovl: fix recursive oi->lock in ovl_link() + - ovl: check whiteout in ovl_create_over_whiteout() + - ovl: automatically enable redirect_dir on metacopy=on + - serial: sh-sci: Fix could not remove dev_attr_rx_fifo_timeout + - scsi: qla2xxx: Fix incorrect port speed being set for FC adapters + - scsi: qla2xxx: Fix process response queue for ISP26XX and above + - scsi: qla2xxx: Remove stale debug trace message from tcm_qla2xxx + - scsi: qla2xxx: Fix early srb free on abort + - scsi: qla2xxx: shutdown chip if reset fail + - scsi: qla2xxx: Reject bsg request if chip is down. + - scsi: qla2xxx: Fix re-using LoopID when handle is in use + - scsi: qla2xxx: Fix for double free of SRB structure + - scsi: qla2xxx: Fix NVMe session hang on unload + - scsi: qla2xxx: Fix NVMe Target discovery + - scsi: qla2xxx: Fix duplicate switch database entries + - scsi: qla2xxx: Fix driver hang when FC-NVMe LUNs are configured + - vfs: fix FIGETBSZ ioctl on an overlayfs file + - fuse: Fix use-after-free in fuse_dev_do_read() + - fuse: Fix use-after-free in fuse_dev_do_write() + - fuse: fix blocked_waitq wakeup + - fuse: set FR_SENT while locked + - drm/msm: fix OF child-node lookup + - arm64: dts: stratix10: Support Ethernet Jumbo frame + - arm64: dts: stratix10: fix multicast filtering + - clk: meson-gxbb: set fclk_div3 as CLK_IS_CRITICAL + - clk: meson: axg: mark fdiv2 and fdiv3 as critical + - zram: close udev startup race condition as default groups + - MIPS: Loongson-3: Fix CPU UART irq delivery problem + - MIPS: Loongson-3: Fix BRIDGE irq delivery problem + - xtensa: add NOTES section to the linker script + - xtensa: make sure bFLT stack is 16 byte aligned + - xtensa: fix boot parameters address translation + - um: Drop own definition of PTRACE_SYSEMU/_SINGLESTEP + - clk: s2mps11: Fix matching when built as module and DT node contains + compatible + - clk: at91: Fix division by zero in PLL recalc_rate() + - clk: sunxi-ng: h6: fix bus clocks' divider position + - clk: rockchip: fix wrong mmc sample phase shift for rk3328 + - clk: rockchip: Fix static checker warning in rockchip_ddrclk_get_parent call + - libceph: bump CEPH_MSG_MAX_DATA_LEN + - Revert "ceph: fix dentry leak in splice_dentry()" + - thermal: core: Fix use-after-free in thermal_cooling_device_destroy_sysfs + - mach64: fix display corruption on big endian machines + - mach64: fix image corruption due to reading accelerator registers + - acpi/nfit, x86/mce: Handle only uncorrectable machine checks + - acpi/nfit, x86/mce: Validate a MCE's address before using it + - acpi, nfit: Fix ARS overflow continuation + - reset: hisilicon: fix potential NULL pointer dereference + - crypto: hisilicon - Fix NULL dereference for same dst and src + - crypto: hisilicon - Fix reference after free of memories on error path + - vhost/scsi: truncate T10 PI iov_iter to prot_bytes + - scsi: qla2xxx: Initialize port speed to avoid setting lower speed + - SCSI: fix queue cleanup race before queue initialization is done + - Revert "powerpc/8xx: Use L1 entry APG to handle _PAGE_ACCESSED for + CONFIG_SWAP" + - soc: ti: QMSS: Fix usage of irq_set_affinity_hint + - ocfs2: fix a misuse a of brelse after failing ocfs2_check_dir_entry + - ocfs2: free up write context when direct IO failed + - mm: thp: relax __GFP_THISNODE for MADV_HUGEPAGE mappings + - memory_hotplug: cond_resched in __remove_pages + - netfilter: conntrack: fix calculation of next bucket number in early_drop + - ARM: 8809/1: proc-v7: fix Thumb annotation of cpu_v7_hvc_switch_mm + - bonding/802.3ad: fix link_failure_count tracking + - mtd: spi-nor: cadence-quadspi: Return error code in + cqspi_direct_read_execute() + - mtd: nand: Fix nanddev_neraseblocks() + - mtd: docg3: don't set conflicting BCH_CONST_PARAMS option + - hwmon: (core) Fix double-free in __hwmon_device_register() + - perf cs-etm: Correct CPU mode for samples + - perf stat: Handle different PMU names with common prefix + - perf callchain: Honour the ordering of PERF_CONTEXT_{USER,KERNEL,etc} + - perf intel-pt/bts: Calculate cpumode for synthesized samples + - perf intel-pt: Insert callchain context into synthesized callchains + - of, numa: Validate some distance map rules + - x86/cpu/vmware: Do not trace vmware_sched_clock() + - x86/hyper-v: Enable PIT shutdown quirk + - termios, tty/tty_baudrate.c: fix buffer overrun + - arch/alpha, termios: implement BOTHER, IBSHIFT and termios2 + - watchdog/core: Add missing prototypes for weak functions + - btrfs: fix pinned underflow after transaction aborted + - Btrfs: fix missing data checksums after a ranged fsync (msync) + - Btrfs: fix cur_offset in the error case for nocow + - Btrfs: fix infinite loop on inode eviction after deduplication of eof block + - Btrfs: fix data corruption due to cloning of eof block + - btrfs: tree-checker: Fix misleading group system information + - clockevents/drivers/i8253: Add support for PIT shutdown quirk + - ext4: add missing brelse() update_backups()'s error path + - ext4: add missing brelse() in set_flexbg_block_bitmap()'s error path + - ext4: add missing brelse() add_new_gdb_meta_bg()'s error path + - ext4: avoid potential extra brelse in setup_new_flex_group_blocks() + - ext4: missing !bh check in ext4_xattr_inode_write() + - ext4: fix possible inode leak in the retry loop of ext4_resize_fs() + - ext4: avoid buffer leak on shutdown in ext4_mark_iloc_dirty() + - ext4: avoid buffer leak in ext4_orphan_add() after prior errors + - ext4: fix missing cleanup if ext4_alloc_flex_bg_array() fails while resizing + - ext4: avoid possible double brelse() in add_new_gdb() on error path + - ext4: fix possible leak of sbi->s_group_desc_leak in error path + - ext4: fix possible leak of s_journal_flag_rwsem in error path + - ext4: fix buffer leak in ext4_xattr_get_block() on error path + - ext4: release bs.bh before re-using in ext4_xattr_block_find() + - ext4: fix buffer leak in ext4_xattr_move_to_block() on error path + - ext4: fix buffer leak in ext4_expand_extra_isize_ea() on error path + - ext4: fix buffer leak in __ext4_read_dirblock() on error path + - mount: Prevent MNT_DETACH from disconnecting locked mounts + - mnt: fix __detach_mounts infinite loop + - uapi: fix linux/kfd_ioctl.h userspace compilation errors + - ARM: cpuidle: Don't register the driver when back-end init returns -ENXIO + - kdb: use correct pointer when 'btc' calls 'btt' + - kdb: print real address of pointers instead of hashed addresses + - sunrpc: correct the computation for page_ptr when truncating + - NFSv4: Don't exit the state manager without clearing + NFS4CLNT_MANAGER_RUNNING + - nfsd: COPY and CLONE operations require the saved filehandle to be set + - rtc: hctosys: Add missing range error reporting + - fuse: fix use-after-free in fuse_direct_IO() + - fuse: fix leaked notify reply + - fuse: fix possibly missed wake-up after abort + - selinux: check length properly in SCTP bind hook + - gfs2: Put bitmap buffers in put_super + - gfs2: Fix metadata read-ahead during truncate (2) + - libata: blacklist SAMSUNG MZ7TD256HAFV-000L9 SSD + - crypto: user - fix leaking uninitialized memory to userspace + - lib/ubsan.c: don't mark __ubsan_handle_builtin_unreachable as noreturn + - hugetlbfs: fix kernel BUG at fs/hugetlbfs/inode.c:444! + - mm/swapfile.c: use kvzalloc for swap_info_struct allocation + - efi/arm/libstub: Pack FDT after populating it + - mm: don't reclaim inodes with many attached pages + - scripts/spdxcheck.py: make python3 compliant + - drm/rockchip: Allow driver to be shutdown on reboot/kexec + - drm/amdgpu: Fix typo in amdgpu_vmid_mgr_init + - drm/amdgpu: add missing CHIP_HAINAN in amdgpu_ucode_get_load_type + - drm/amdgpu: Suppress keypresses from ACPI_VIDEO events + - drm/nouveau: Check backlight IDs are >= 0, not > 0 + - drm/nouveau: Fix nv50_mstc->best_encoder() + - drm/amd/powerplay: Enable/Disable NBPSTATE on On/OFF of UVD + - drm/etnaviv: fix bogus fence complete check in timeout handler + - drm/dp_mst: Check if primary mstb is null + - drm: panel-orientation-quirks: Add quirk for Acer One 10 (S1003) + - drm/i915/dp: Link train Fallback on eDP only if fallback link BW can fit + panel's native mode + - drm/i915: Use the correct crtc when sanitizing plane mapping + - drm/i915: Restore vblank interrupts earlier + - drm/i915: Don't unset intel_connector->mst_port + - drm/i915: Skip vcpi allocation for MSTB ports that are gone + - drm/i915: Large page offsets for pread/pwrite + - drm/i915/dp: Fix link retraining comment in intel_dp_long_pulse() + - drm/i915/dp: Restrict link retrain workaround to external monitors + - drm/i915/icl: Fix the macros for DFLEXDPMLE register bits + - drm/i915/hdmi: Add HDMI 2.0 audio clock recovery N values + - drm/i915: Mark up GTT sizes as u64 + - drm/i915: Fix error handling for the NV12 fb dimensions check + - drm/i915: Fix ilk+ watermarks when disabling pipes + - drm/i915: Compare user's 64b GTT offset even on 32b + - drm/i915: Don't oops during modeset shutdown after lpe audio deinit + - drm/i915: Mark pin flags as u64 + - drm/i915/ringbuffer: Delay after EMIT_INVALIDATE for gen4/gen5 + - drm/i915/execlists: Force write serialisation into context image vs + execution + - drm/i915: Fix possible race in intel_dp_add_mst_connector() + - drm/i915: Fix NULL deref when re-enabling HPD IRQs on systems with MST + - drm/i915: Fix hpd handling for pins with two encoders + - CONFIG_XEN_PV breaks xen_create_contiguous_region on ARM + - Revert "ACPICA: AML interpreter: add region addresses in global list during + initialization" + - Linux 4.19.3 + + * glibc 2.28-0ubuntu1 ADT test failure with linux 4.19.0-5.6 (LP: #1805154) + - SAUCE: Revert "x86: vdso: Use $LD instead of $CC to link" + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.7.12-1ubuntu1, zfs to 0.7.12-1ubuntu1 + + -- Seth Forshee Mon, 26 Nov 2018 11:44:00 -0600 + +linux (4.19.0-5.6) disco; urgency=medium + + * crash in ENA driver on removing an interface (LP: #1802341) + - SAUCE: net: ena: fix crash during ena_remove() + + * Ubuntu 18.04.1 - [s390x] Kernel panic while stressing network bonding + (LP: #1797367) + - s390/qeth: sanitize strings in debug messages + + * Disco update: 4.19.2 upstream stable release (LP: #1803410) + - bpf: fix partial copy of map_ptr when dst is scalar + - MIPS: VDSO: Reduce VDSO_RANDOMIZE_SIZE to 64MB for 64bit + - gpio: mxs: Get rid of external API call + - mtd: rawnand: marvell: fix the IRQ handler complete() condition + - mtd: maps: gpio-addr-flash: Fix ioremapped size + - mtd: spi-nor: fsl-quadspi: fix read error for flash size larger than 16MB + - mtd: spi-nor: intel-spi: Add support for Intel Ice Lake SPI serial flash + - mtd: spi-nor: fsl-quadspi: Don't let -EINVAL on the bus + - spi: spi-mem: Adjust op len based on message/transfer size limitations + - spi: bcm-qspi: switch back to reading flash using smaller chunks + - spi: bcm-qspi: fix calculation of address length + - bcache: trace missed reading by cache_missed + - bcache: fix ioctl in flash device + - bcache: correct dirty data statistics + - bcache: fix miss key refill->end in writeback + - hwmon: (pmbus) Fix page count auto-detection. + - jffs2: free jffs2_sb_info through jffs2_kill_sb() + - block: setup bounce bio_sets properly + - block: make sure discard bio is aligned with logical block size + - block: make sure writesame bio is aligned with logical block size + - cpufreq: conservative: Take limits changes into account properly + - dma-mapping: fix panic caused by passing empty cma command line argument + - pcmcia: Implement CLKRUN protocol disabling for Ricoh bridges + - ACPI / OSL: Use 'jiffies' as the time bassis for acpi_os_get_timer() + - ACPICA: AML interpreter: add region addresses in global list during + initialization + - ACPICA: AML Parser: fix parse loop to correctly skip erroneous extended + opcodes + - acpi, nfit: Fix Address Range Scrub completion tracking + - kprobes/x86: Use preempt_enable() in optimized_callback() + - mailbox: PCC: handle parse error + - parisc: Fix address in HPMC IVA + - parisc: Fix map_pages() to not overwrite existing pte entries + - parisc: Fix exported address of os_hpmc handler + - ALSA: hda - Add quirk for ASUS G751 laptop + - ALSA: hda - Fix headphone pin config for ASUS G751 + - ALSA: hda - Add mic quirk for the Lenovo G50-30 (17aa:3905) + - ALSA: hda: Add 2 more models to the power_save blacklist + - ALSA: ca0106: Disable IZD on SB0570 DAC to fix audio pops + - ALSA: hda - Fix incorrect clearance of thinkpad_acpi hooks + - x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation + - x86/xen: Fix boot loader version reported for PVH guests + - x86/corruption-check: Fix panic in memory_corruption_check() when boot + option without value is provided + - x86/kvm/nVMX: allow bare VMXON state migration + - x86/mm/pat: Disable preemption around __flush_tlb_all() + - x86/numa_emulation: Fix uniform-split numa emulation + - ARM: dts: exynos: Disable pull control for MAX8997 interrupts on Origen + - net: socionext: Reset tx queue in ndo_stop + - net: loopback: clear skb->tstamp before netif_rx() + - locking/lockdep: Fix debug_locks off performance problem + - netfilter: xt_nat: fix DNAT target for shifted portmap ranges + - ataflop: fix error handling during setup + - swim: fix cleanup on setup error + - arm64: cpufeature: ctr: Fix cpu capability check for late CPUs + - hv_netvsc: fix vf serial matching with pci slot info + - nfp: devlink port split support for 1x100G CXP NIC + - tun: Consistently configure generic netdev params via rtnetlink + - s390/sthyi: Fix machine name validity indication + - hwmon: (pwm-fan) Set fan speed to 0 on suspend + - lightnvm: pblk: fix race on sysfs line state + - lightnvm: pblk: fix two sleep-in-atomic-context bugs + - lightnvm: pblk: fix race condition on metadata I/O + - spi: spi-ep93xx: Use dma_data_direction for ep93xx_spi_dma_{finish,prepare} + - perf tools: Free temporary 'sys' string in read_event_files() + - perf tools: Cleanup trace-event-info 'tdata' leak + - perf tools: Free 'printk' string in parse_ftrace_printk() + - perf strbuf: Match va_{add,copy} with va_end + - cpupower: Fix coredump on VMWare + - bcache: Populate writeback_rate_minimum attribute + - mmc: sdhci-pci-o2micro: Add quirk for O2 Micro dev 0x8620 rev 0x01 + - sdhci: acpi: add free_slot callback + - mtd: rawnand: denali: set SPARE_AREA_SKIP_BYTES register to 8 if unset + - iwlwifi: pcie: avoid empty free RB queue + - iwlwifi: mvm: clear HW_RESTART_REQUESTED when stopping the interface + - iwlwifi: mvm: check for n_profiles validity in EWRD ACPI + - x86/olpc: Indicate that legacy PC XO-1 platform should not register RTC + - wlcore: Fix BUG with clear completion on timeout + - ACPI/PPTT: Handle architecturally unknown cache types + - ACPI / PM: LPIT: Register sysfs attributes based on FADT + - ACPI / processor: Fix the return value of acpi_processor_ids_walk() + - cpufreq: dt: Try freeing static OPPs only if we have added them + - x86/intel_rdt: Show missing resctrl mount options + - mtd: rawnand: atmel: Fix potential NULL pointer dereference + - nvme: call nvme_complete_rq when nvmf_check_ready fails for mpath I/O + - ath10k: fix tx status flag setting for management frames + - signal: Introduce COMPAT_SIGMINSTKSZ for use in compat_sys_sigaltstack + - ice: fix changing of ring descriptor size (ethtool -G) + - ice: update fw version check logic + - net: hns3: Fix for packet buffer setting bug + - Bluetooth: btbcm: Add entry for BCM4335C0 UART bluetooth + - Bluetooth: hci_qca: Remove hdev dereference in qca_close(). + - x86: boot: Fix EFI stub alignment + - net: hns3: Add nic state check before calling netif_tx_wake_queue + - net: hns3: Fix ets validate issue + - pinctrl: sunxi: fix 'pctrl->functions' allocation in + sunxi_pinctrl_build_state + - pinctrl: qcom: spmi-mpp: Fix err handling of pmic_mpp_set_mux + - brcmfmac: fix for proper support of 160MHz bandwidth + - net: hns3: Check hdev state when getting link status + - net: hns3: Set STATE_DOWN bit of hdev state when stopping net + - net: phy: phylink: ensure the carrier is off when starting phylink + - block, bfq: correctly charge and reset entity service in all cases + - arm64: entry: Allow handling of undefined instructions from EL1 + - kprobes: Return error if we fail to reuse kprobe instead of BUG_ON() + - spi: gpio: No MISO does not imply no RX + - ACPI / LPSS: Add alternative ACPI HIDs for Cherry Trail DMA controllers + - pinctrl: qcom: spmi-mpp: Fix drive strength setting + - bpf/verifier: fix verifier instability + - failover: Add missing check to validate 'slave_dev' in + net_failover_slave_unregister + - perf tests: Fix record+probe_libc_inet_pton.sh without ping's debuginfo + - pinctrl: spmi-mpp: Fix pmic_mpp_config_get() to be compliant + - pinctrl: ssbi-gpio: Fix pm8xxx_pin_config_get() to be compliant + - net: hns3: Preserve vlan 0 in hardware table + - net: hns3: Fix ping exited problem when doing lp selftest + - net: hns3: Fix for vf vlan delete failed problem + - net: dsa: mv88e6xxx: Fix writing to a PHY page. + - mt76x2u: run device cleanup routine if resume fails + - rsi: fix memory alignment issue in ARM32 platforms + - libertas_tf: prevent underflow in process_cmdrequest() + - iwlwifi: mvm: fix BAR seq ctrl reporting + - gpio: brcmstb: allow 0 width GPIO banks + - ixgbe: disallow IPsec Tx offload when in SR-IOV mode + - ixgbevf: VF2VF TCP RSS + - wil6210: fix RX buffers release and unmap + - ath10k: schedule hardware restart if WMI command times out + - libata: Apply NOLPM quirk for SAMSUNG MZ7TD256HAFV-000L9 + - thermal: rcar_thermal: Prevent doing work after unbind + - thermal: da9062/61: Prevent hardware access during system suspend + - cifs: fix a credits leak for compund commands + - cgroup, netclassid: add a preemption point to write_classid + - net: stmmac: dwmac-sun8i: fix OF child-node lookup + - f2fs: fix to account IO correctly for cgroup writeback + - MD: Memory leak when flush bio size is zero + - md: fix memleak for mempool + - of: Add missing exports of node name compare functions + - scsi: esp_scsi: Track residual for PIO transfers + - scsi: ufs: Schedule clk gating work on correct queue + - UAPI: ndctl: Fix g++-unsupported initialisation in headers + - KVM: nVMX: Clear reserved bits of #DB exit qualification + - scsi: megaraid_sas: fix a missing-check bug + - RDMA/core: Do not expose unsupported counters + - RDMA/cm: Respect returned status of cm_init_av_by_path + - IB/ipoib: Clear IPCB before icmp_send + - RDMA/bnxt_re: Avoid accessing nq->bar_reg_iomem in failure case + - RDMA/bnxt_re: Fix recursive lock warning in debug kernel + - usb: host: ohci-at91: fix request of irq for optional gpio + - PCI: mediatek: Fix mtk_pcie_find_port() endpoint/port matching logic + - PCI: cadence: Use AXI region 0 to signal interrupts from EP + - usb: typec: tcpm: Report back negotiated PPS voltage and current + - tpm: suppress transmit cmd error logs when TPM 1.2 is disabled/deactivated + - f2fs: clear PageError on the read path + - Drivers: hv: vmbus: Use cpumask_var_t for on-stack cpu mask + - VMCI: Resource wildcard match fixed + - PCI / ACPI: Enable wake automatically for power managed bridges + - xprtrdma: Reset credit grant properly after a disconnect + - irqchip/pdc: Setup all edge interrupts as rising edge at GIC + - usb: dwc2: fix call to vbus supply exit routine, call it unlocked + - usb: dwc2: fix a race with external vbus supply + - usb: gadget: udc: atmel: handle at91sam9rl PMC + - ext4: fix argument checking in EXT4_IOC_MOVE_EXT + - MD: fix invalid stored role for a disk + - PCI: cadence: Correct probe behaviour when failing to get PHY + - nvmem: check the return value of nvmem_add_cells() + - xhci: Avoid USB autosuspend when resuming USB2 ports. + - scsi: qla2xxx: Fix recursive mailbox timeout + - f2fs: fix to recover inode's crtime during POR + - f2fs: fix to recover inode's i_flags during POR + - PCI/MSI: Warn and return error if driver enables MSI/MSI-X twice + - coresight: etb10: Fix handling of perf mode + - PCI: dwc: pci-dra7xx: Enable errata i870 for both EP and RC mode + - crypto: caam - fix implicit casts in endianness helpers + - usb: chipidea: Prevent unbalanced IRQ disable + - Smack: ptrace capability use fixes + - driver/dma/ioat: Call del_timer_sync() without holding prep_lock + - ASoC: AMD: Fix capture unstable in beginning for some runs + - firmware: coreboot: Unmap ioregion after device population + - IB/ipoib: Use dev_port to expose network interface port numbers + - IB/mlx5: Allow transition of DCI QP to reset + - uio: ensure class is registered before devices + - scsi: lpfc: Correct soft lockup when running mds diagnostics + - scsi: lpfc: Correct race with abort on completion path + - f2fs: avoid sleeping under spin_lock + - f2fs: report error if quota off error during umount + - signal: Always deliver the kernel's SIGKILL and SIGSTOP to a pid namespace + init + - f2fs: fix to flush all dirty inodes recovered in readonly fs + - mfd: menelaus: Fix possible race condition and leak + - dmaengine: dma-jz4780: Return error if not probed from DT + - IB/rxe: fix for duplicate request processing and ack psns + - ALSA: hda: Check the non-cached stream buffers more explicitly + - cpupower: Fix AMD Family 0x17 msr_pstate size + - Revert "f2fs: fix to clear PG_checked flag in set_page_dirty()" + - f2fs: fix missing up_read + - f2fs: fix to recover cold bit of inode block during POR + - f2fs: fix to account IO correctly + - OPP: Free OPP table properly on performance state irregularities + - ARM: dts: exynos: Convert exynos5250.dtsi to opp-v2 bindings + - ARM: dts: exynos: Mark 1 GHz CPU OPP as suspend OPP on Exynos5250 + - xen-swiotlb: use actually allocated size on check physical continuous + - tpm: Restore functionality to xen vtpm driver. + - xen/blkfront: avoid NULL blkfront_info dereference on device removal + - xen/balloon: Support xend-based toolstack + - xen: fix race in xen_qlock_wait() + - xen: make xen_qlock_wait() nestable + - xen/pvh: increase early stack size + - xen/pvh: don't try to unplug emulated devices + - libertas: don't set URB_ZERO_PACKET on IN USB transfer + - usbip:vudc: BUG kmalloc-2048 (Not tainted): Poison overwritten + - usb: typec: tcpm: Fix APDO PPS order checking to be based on voltage + - usb: gadget: udc: renesas_usb3: Fix b-device mode for "workaround" + - mt76: mt76x2: fix multi-interface beacon configuration + - iwlwifi: mvm: check return value of rs_rate_from_ucode_rate() + - net/ipv4: defensive cipso option parsing + - dmaengine: ppc4xx: fix off-by-one build failure + - scsi: sched/wait: Add wait_event_lock_irq_timeout for TASK_UNINTERRUPTIBLE + usage + - scsi: target: Fix target_wait_for_sess_cmds breakage with active signals + - libnvdimm: Hold reference on parent while scheduling async init + - libnvdimm, region: Fail badblocks listing for inactive regions + - libnvdimm, pmem: Fix badblocks population for 'raw' namespaces + - ASoC: intel: skylake: Add missing break in skl_tplg_get_token() + - ASoC: sta32x: set ->component pointer in private struct + - IB/mlx5: Fix MR cache initialization + - IB/rxe: Revise the ib_wr_opcode enum + - jbd2: fix use after free in jbd2_log_do_checkpoint() + - gfs2_meta: ->mount() can get NULL dev_name + - ext4: fix EXT4_IOC_SWAP_BOOT + - ext4: initialize retries variable in ext4_da_write_inline_data_begin() + - ext4: fix setattr project check in fssetxattr ioctl + - ext4: propagate error from dquot_initialize() in EXT4_IOC_FSSETXATTR + - ext4: fix use-after-free race in ext4_remount()'s error path + - selinux: fix mounting of cgroup2 under older policies + - HID: wacom: Work around HID descriptor bug in DTK-2451 and DTH-2452 + - HID: hiddev: fix potential Spectre v1 + - EDAC, amd64: Add Family 17h, models 10h-2fh support + - EDAC, {i7core,sb,skx}_edac: Fix uncorrected error counting + - EDAC, skx_edac: Fix logical channel intermediate decoding + - ARM: dts: dra7: Fix up unaligned access setting for PCIe EP + - PCI/ASPM: Fix link_state teardown on device removal + - PCI: Add Device IDs for Intel GPU "spurious interrupt" quirk + - signal/GenWQE: Fix sending of SIGKILL + - signal: Guard against negative signal numbers in copy_siginfo_from_user32 + - crypto: lrw - Fix out-of bounds access on counter overflow + - crypto: tcrypt - fix ghash-generic speed test + - crypto: aesni - don't use GFP_ATOMIC allocation if the request doesn't cross + a page in gcm + - crypto: morus/generic - fix for big endian systems + - crypto: aegis/generic - fix for big endian systems + - crypto: speck - remove Speck + - mm: /proc/pid/smaps_rollup: fix NULL pointer deref in smaps_pte_range() + - userfaultfd: disable irqs when taking the waitqueue lock + - ima: fix showing large 'violations' or 'runtime_measurements_count' + - ima: open a new file instance if no read permissions + - hugetlbfs: dirty pages as they are added to pagecache + - mm/rmap: map_pte() was not handling private ZONE_DEVICE page properly + - mm/hmm: fix race between hmm_mirror_unregister() and mmu_notifier callback + - KVM: arm/arm64: Ensure only THP is candidate for adjustment + - KVM: arm64: Fix caching of host MDCR_EL2 value + - kbuild: fix kernel/bounds.c 'W=1' warning + - iio: ad5064: Fix regulator handling + - iio: adc: imx25-gcq: Fix leak of device_node in mx25_gcq_setup_cfgs() + - iio: adc: at91: fix acking DRDY irq on simple conversions + - iio: adc: at91: fix wrong channel number in triggered buffer mode + - w1: omap-hdq: fix missing bus unregister at removal + - smb3: allow stats which track session and share reconnects to be reset + - smb3: do not attempt cifs operation in smb3 query info error path + - smb3: on kerberos mount if server doesn't specify auth type use krb5 + - printk: Fix panic caused by passing log_buf_len to command line + - genirq: Fix race on spurious interrupt detection + - tpm: fix response size validation in tpm_get_random() + - NFC: nfcmrvl_uart: fix OF child-node lookup + - NFSv4.1: Fix the r/wsize checking + - nfs: Fix a missed page unlock after pg_doio() + - nfsd: correctly decrement odstate refcount in error path + - nfsd: Fix an Oops in free_session() + - lockd: fix access beyond unterminated strings in prints + - dm ioctl: harden copy_params()'s copy_from_user() from malicious users + - dm zoned: fix metadata block ref counting + - dm zoned: fix various dmz_get_mblock() issues + - media: ov7670: make "xclk" clock optional + - fsnotify: Fix busy inodes during unmount + - powerpc64/module elfv1: Set opd addresses after module relocation + - powerpc/msi: Fix compile error on mpc83xx + - powerpc/tm: Fix HFSCR bit for no suspend case + - powerpc/64s/hash: Do not use PPC_INVALIDATE_ERAT on CPUs before POWER9 + - MIPS: OCTEON: fix out of bounds array access on CN68XX + - rtc: ds1307: fix ds1339 wakealarm support + - rtc: cmos: Fix non-ACPI undefined reference to `hpet_rtc_interrupt' + - rtc: cmos: Remove the `use_acpi_alarm' module parameter for !ACPI + - power: supply: twl4030-charger: fix OF sibling-node lookup + - ocxl: Fix access to the AFU Descriptor Data + - iommu/arm-smmu: Ensure that page-table updates are visible before TLBI + - TC: Set DMA masks for devices + - net: bcmgenet: fix OF child-node lookup + - media: v4l2-tpg: fix kernel oops when enabling HFLIP and OSD + - Revert "media: dvbsky: use just one mutex for serializing device R/W ops" + - kgdboc: Passing ekgdboc to command line causes panic + - remoteproc: qcom: q6v5: Propagate EPROBE_DEFER + - media: cec: make cec_get_edid_spa_location() an inline function + - media: cec: integrate cec_validate_phys_addr() in cec-api.c + - xen: fix xen_qlock_wait() + - xen: remove size limit of privcmd-buf mapping interface + - xen-blkfront: fix kernel panic with negotiate_mq error path + - media: cec: add new tx/rx status bits to detect aborts/timeouts + - media: cec: fix the Signal Free Time calculation + - media: cec: forgot to cancel delayed work + - media: em28xx: use a default format if TRY_FMT fails + - media: tvp5150: avoid going past array on v4l2_querymenu() + - media: em28xx: fix input name for Terratec AV 350 + - media: em28xx: make v4l2-compliance happier by starting sequence on zero + - media: em28xx: fix handler for vidioc_s_input() + - media: adv7604: when the EDID is cleared, unconfigure CEC as well + - media: adv7842: when the EDID is cleared, unconfigure CEC as well + - drm/mediatek: fix OF sibling-node lookup + - media: media colorspaces*.rst: rename AdobeRGB to opRGB + - media: replace ADOBERGB by OPRGB + - media: hdmi.h: rename ADOBE_RGB to OPRGB and ADOBE_YCC to OPYCC + - arm64: lse: remove -fcall-used-x0 flag + - rpmsg: smd: fix memory leak on channel create + - Cramfs: fix abad comparison when wrap-arounds occur + - ARM: dts: socfpga: Fix SDRAM node address for Arria10 + - arm64: dts: stratix10: Correct System Manager register size + - soc: qcom: rmtfs-mem: Validate that scm is available + - soc/tegra: pmc: Fix child-node lookup + - selftests/ftrace: Fix synthetic event test to delete event correctly + - selftests/powerpc: Fix ptrace tm failure + - tracing: Return -ENOENT if there is no target synthetic event + - btrfs: qgroup: Avoid calling qgroup functions if qgroup is not enabled + - btrfs: Handle owner mismatch gracefully when walking up tree + - btrfs: locking: Add extra check in btrfs_init_new_buffer() to avoid deadlock + - btrfs: fix error handling in free_log_tree + - btrfs: fix error handling in btrfs_dev_replace_start + - btrfs: Enhance btrfs_trim_fs function to handle error better + - btrfs: Ensure btrfs_trim_fs can trim the whole filesystem + - btrfs: iterate all devices during trim, instead of fs_devices::alloc_list + - btrfs: don't attempt to trim devices that don't support it + - btrfs: keep trim from interfering with transaction commits + - btrfs: wait on caching when putting the bg cache + - Btrfs: don't clean dirty pages during buffered writes + - btrfs: release metadata before running delayed refs + - btrfs: protect space cache inode alloc with GFP_NOFS + - btrfs: reset max_extent_size on clear in a bitmap + - btrfs: make sure we create all new block groups + - Btrfs: fix warning when replaying log after fsync of a tmpfile + - Btrfs: fix wrong dentries after fsync of file that got its parent replaced + - btrfs: qgroup: Dirty all qgroups before rescan + - Btrfs: fix null pointer dereference on compressed write path error + - Btrfs: fix assertion on fsync of regular file when using no-holes feature + - Btrfs: fix deadlock when writing out free space caches + - btrfs: reset max_extent_size properly + - btrfs: set max_extent_size properly + - btrfs: don't use ctl->free_space for max_extent_size + - btrfs: only free reserved extent if we didn't insert it + - btrfs: fix insert_reserved error handling + - btrfs: don't run delayed_iputs in commit + - btrfs: move the dio_sem higher up the callchain + - Btrfs: fix use-after-free during inode eviction + - Btrfs: fix use-after-free when dumping free space + - net: sched: Remove TCA_OPTIONS from policy + - vt: fix broken display when running aptitude + - bpf: wait for running BPF programs when updating map-in-map + - vga_switcheroo: Fix missing gpu_bound call at audio client registration + - MD: fix invalid stored role for a disk - try2 + - Linux 4.19.2 + + * [FEAT] Guest-dedicated Crypto Adapters (LP: #1787405) + - KVM: s390: vsie: simulate VCPU SIE entry/exit + - KVM: s390: introduce and use KVM_REQ_VSIE_RESTART + - KVM: s390: refactor crypto initialization + - s390: vfio-ap: base implementation of VFIO AP device driver + - s390: vfio-ap: register matrix device with VFIO mdev framework + - s390: vfio-ap: sysfs interfaces to configure adapters + - s390: vfio-ap: sysfs interfaces to configure domains + - s390: vfio-ap: sysfs interfaces to configure control domains + - s390: vfio-ap: sysfs interface to view matrix mdev matrix + - KVM: s390: interface to clear CRYCB masks + - s390: vfio-ap: implement mediated device open callback + - s390: vfio-ap: implement VFIO_DEVICE_GET_INFO ioctl + - s390: vfio-ap: zeroize the AP queues + - s390: vfio-ap: implement VFIO_DEVICE_RESET ioctl + - KVM: s390: Clear Crypto Control Block when using vSIE + - KVM: s390: vsie: Do the CRYCB validation first + - KVM: s390: vsie: Make use of CRYCB FORMAT2 clear + - KVM: s390: vsie: Allow CRYCB FORMAT-2 + - KVM: s390: vsie: allow CRYCB FORMAT-1 + - KVM: s390: vsie: allow CRYCB FORMAT-0 + - KVM: s390: vsie: allow guest FORMAT-0 CRYCB on host FORMAT-1 + - KVM: s390: vsie: allow guest FORMAT-1 CRYCB on host FORMAT-2 + - KVM: s390: vsie: allow guest FORMAT-0 CRYCB on host FORMAT-2 + - KVM: s390: device attrs to enable/disable AP interpretation + - KVM: s390: CPU model support for AP virtualization + - s390: doc: detailed specifications for AP virtualization + - KVM: s390: fix locking for crypto setting error path + - KVM: s390: Tracing APCB changes + - s390: vfio-ap: setup APCB mask using KVM dedicated function + - [Config:] Enable CONFIG_S390_AP_IOMMU and set CONFIG_VFIO_AP to module. + + * Bypass of mount visibility through userns + mount propagation (LP: #1789161) + - mount: Retest MNT_LOCKED in do_umount + - mount: Don't allow copying MNT_UNBINDABLE|MNT_LOCKED mounts + + * CVE-2018-18955: nested user namespaces with more than five extents + incorrectly grant privileges over inode (LP: #1801924) // CVE-2018-18955 + - userns: also map extents in the reverse map to kernel IDs + + * kdump fail due to an IRQ storm (LP: #1797990) + - SAUCE: x86/PCI: Export find_cap() to be used in early PCI code + - SAUCE: x86/quirks: Add parameter to clear MSIs early on boot + - SAUCE: x86/quirks: Scan all busses for early PCI quirks + + * Disable LPM for Raydium Touchscreens (LP: #1802248) + - USB: quirks: Add no-lpm quirk for Raydium touchscreens + + * Power consumption during s2idle is higher than long idle(sk hynix) + (LP: #1801875) + - SAUCE: pci: prevent sk hynix nvme from entering D3 + - SAUCE: nvme: add quirk to not call disable function when suspending + + * Disco update: v4.19.1 upstream stable release (LP: #1801739) + - bridge: do not add port to router list when receives query with source + 0.0.0.0 + - ipv6/ndisc: Preserve IPv6 control buffer if protocol error handlers are + called + - net/mlx5e: fix csum adjustments caused by RXFCS + - net: sched: gred: pass the right attribute to gred_change_table_def() + - net: stmmac: Fix stmmac_mdio_reset() when building stmmac as modules + - net: udp: fix handling of CHECKSUM_COMPLETE packets + - Revert "net: simplify sock_poll_wait" + - rtnetlink: Disallow FDB configuration for non-Ethernet device + - vhost: Fix Spectre V1 vulnerability + - bonding: fix length of actor system + - openvswitch: Fix push/pop ethernet validation + - net/ipv6: Allow onlink routes to have a device mismatch if it is the default + route + - net/smc: fix smc_buf_unuse to use the lgr pointer + - mlxsw: spectrum_switchdev: Don't ignore deletions of learned MACs + - mlxsw: core: Fix devlink unregister flow + - net: drop skb on failure in ip_check_defrag() + - net: Properly unlink GRO packets on overflow. + - r8169: fix broken Wake-on-LAN from S5 (poweroff) + - Revert "be2net: remove desc field from be_eq_obj" + - sctp: check policy more carefully when getting pr status + - sparc64: Export __node_distance. + - sparc64: Make corrupted user stacks more debuggable. + - sparc64: Wire up compat getpeername and getsockname. + - net: bridge: remove ipv6 zero address check in mcast queries + - Linux 4.19.1 + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.7.11-1ubuntu1, zfs to 0.7.11-3ubuntu1 + - [Config] updateconfigs after 4.19.2 stable update + - [Config] Disable unneded options for s390 + - [Config] Update annotations for 4.19 + + -- Seth Forshee Thu, 15 Nov 2018 09:55:37 -0800 + +linux (4.19.0-4.5) disco; urgency=medium + + * Add checksum offload and TSO support for HiNIC adapters (LP: #1800664) + - net-next/hinic: add checksum offload and TSO support + + * [Bionic][Cosmic] Fix to ipmi to support vendor specific messages greater + than 255 bytes (LP: #1799794) + - ipmi:ssif: Add support for multi-part transmit messages > 2 parts + + * Packaging resync (LP: #1786013) + - [Package] add support for specifying the primary makefile + + * Update ENA driver to version 2.0.1K (LP: #1798182) + - net: ena: minor performance improvement + - net: ena: complete host info to match latest ENA spec + - net: ena: introduce Low Latency Queues data structures according to ENA spec + - net: ena: add functions for handling Low Latency Queues in ena_com + - net: ena: add functions for handling Low Latency Queues in ena_netdev + - net: ena: use CSUM_CHECKED device indication to report skb's checksum status + - net: ena: explicit casting and initialization, and clearer error handling + - net: ena: limit refill Rx threshold to 256 to avoid latency issues + - net: ena: change rx copybreak default to reduce kernel memory pressure + - net: ena: remove redundant parameter in ena_com_admin_init() + - net: ena: update driver version to 2.0.1 + - net: ena: fix indentations in ena_defs for better readability + - net: ena: Fix Kconfig dependency on X86 + - net: ena: enable Low Latency Queues + - net: ena: fix compilation error in xtensa architecture + + * [Bionic][Cosmic] ipmi: Fix timer race with module unload (LP: #1799281) + - ipmi: Fix timer race with module unload + + * Overlayfs in user namespace leaks directory content of inaccessible + directories (LP: #1793458) // CVE-2018-6559 + - SAUCE: overlayfs: ensure mounter privileges when reading directories + + * not able to unwind the stack from within __kernel_clock_gettime in the Linux + vDSO (LP: #1797963) + - powerpc/vdso: Correct call frame information + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Don't print secure boot state + from the efi stub" + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Make get_cert_list() use + efi_status_to_str() to print error messages." + - Revert "UBUNTU: SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err()." + - Revert "UBUNTU: SAUCE: (efi-lockdown) Make get_cert_list() not complain + about cert lists that aren't present." + - Revert "UBUNTU: SAUCE: (efi-lockdown) MODSIGN: Allow the "db" UEFI variable + to be suppressed" + - Revert "UBUNTU: SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI + Secure Boot" + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Add an EFI signature blob parser" + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Add EFI signature data types" + - Revert "UBUNTU: SAUCE: (efi-lockdown) KEYS: Allow unrestricted boot-time + addition of keys to secondary keyring" + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in + secure boot mode" + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to + indicate secure boot mode" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Copy secure_boot flag in boot params + across kexec reboot" + - Revert "UBUNTU: SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Lock down perf" + - Revert "UBUNTU: SAUCE: (efi-lockdown) bpf: Restrict kernel image access + functions when the kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Lock down kprobes" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Lock down /proc/kcore" + - Revert "UBUNTU: SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the + testmmiotrace module" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Lock down module params that specify + hardware parameters (eg. ioport)" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Lock down TIOCSSERIAL" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) acpi: Disable APEI error injection if + the kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) acpi: Disable ACPI table override if + the kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param + when the kernel has been locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) ACPI: Limit access to custom_method + when the kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) x86: Lock down IO port access when the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) PCI: Lock down BAR access when the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is + locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) hibernate: Disable when the kernel is + locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Enforce module signatures if the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Add a SysRq option to lift kernel + lockdown" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Add the ability to lock down access to + the running kernel image" + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the kernel is + locked down + - SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the kernel is locked + down + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Lock down module params that specify hardware + parameters (eg. ioport) + - SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the testmmiotrace module + - SAUCE: (efi-lockdown) Lock down /proc/kcore + - SAUCE: (efi-lockdown) Lock down kprobes + - SAUCE: (efi-lockdown) Lock down perf + - SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the kernel is locked + down + - SAUCE: (efi-lockdown) KEYS: Allow unrestricted boot-time addition of keys to + secondary keyring + - SAUCE: (efi-lockdown) efi: Add EFI signature data types + - SAUCE: (efi-lockdown) efi: Add an EFI signature blob parser + - SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI Secure Boot + - SAUCE: (efi-lockdown) MODSIGN: Allow the "db" UEFI variable to be suppressed + - SAUCE: (efi-lockdown) Make get_cert_list() not complain about cert lists + that aren't present. + - SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err(). + - SAUCE: (efi-lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) efi/x86: Call efi_parse_options() from efi_main() + - SAUCE: (efi-lockdown) Fix for module sig verification + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) module: remove support for having IMA validate modules + - [Packaging] generate Vcs-Git url from changelog + - [Config] CONFIG_SCSI_MQ_DEFAULT=y + + -- Seth Forshee Fri, 02 Nov 2018 14:22:55 -0500 + +linux (4.19.0-3.4) cosmic; urgency=medium + + * Support Edge Gateway's Bluetooth LED (LP: #1798332) + - SAUCE: Bluetooth: Support for LED on Edge Gateways + + * Support Edge Gateway's WIFI LED (LP: #1798330) + - SAUCE: mwifiex: Switch WiFi LED state according to the device status + + [ Upstream Kernel Changes ] + + * Rebase to v4.19 + + -- Seth Forshee Mon, 22 Oct 2018 09:13:39 -0500 + +linux (4.19.0-2.3) cosmic; urgency=medium + + * fscache: bad refcounting in fscache_op_complete leads to OOPS (LP: #1797314) + - SAUCE: fscache: Fix race in decrementing refcount of op->npages + + * Provide mode where all vCPUs on a core must be the same VM (LP: #1792957) + - KVM: PPC: Book3S HV: Provide mode where all vCPUs on a core must be the same + VM + + * The front MIC can't work on the Lenovo M715 (LP: #1797292) + - ALSA: hda/realtek - Fix the problem of the front MIC on the Lenovo M715 + + * arm64: snapdragon: WARNING: CPU: 0 PID: 1 at drivers/irqchip/irq-gic.c:1016 + gic_irq_domain_translate (LP: #1797143) + - SAUCE: arm64: dts: msm8916: camms: fix gic_irq_domain_translate warnings + + * Dell new AIO requires a new uart backlight driver (LP: #1727235) + - SAUCE: platform/x86: dell-uart-backlight: new backlight driver for DELL AIO + - updateconfigs for Dell UART backlight driver + + * Please make CONFIG_PWM_LPSS_PCI and CONFIG_PWM_LPSS_PLATFORM built in to + make brightness adjustment working on various BayTrail/CherryTrail-based + devices (LP: #1783964) + - [Config]: Make PWM_LPSS_* built-in + + * check and fix zkey required kernel modules locations in debs, udebs, and + initramfs (LP: #1794346) + - [Config] add s390 crypto modules to crypt-modules udeb + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_VBOXGUEST=n + - ubuntu: vbox -- update to 5.2.18-dfsg-2 + - ubuntu: enable vbox build + + [ Upstream Kernel Changes ] + + * Rebase to v4.19-rc8 + + -- Seth Forshee Mon, 15 Oct 2018 10:52:04 -0500 + +linux (4.19.0-1.2) cosmic; urgency=medium + + * Page leaking in cachefiles_read_backing_file while vmscan is active + (LP: #1793430) + - SAUCE: cachefiles: Page leaking in cachefiles_read_backing_file while vmscan + is active + + * SRU: Enable middle button of touchpad on ThinkPad P72 (LP: #1793463) + - Input: elantech - enable middle button of touchpad on ThinkPad P72 + + * Improvements to the kernel source package preparation (LP: #1793461) + - [Packaging] startnewrelease: add support for backport kernels + + * Fix unusable NVIDIA GPU after S3 (LP: #1793338) + - SAUCE: PCI: Reprogram bridge prefetch registers on resume + + * Error reported when creating ZFS pool with "-t" option, despite successful + pool creation (LP: #1769937) + - SAUCE: (noup) Update zfs to 0.7.9-3ubuntu6 + + * device hotplug of vfio devices can lead to deadlock in vfio_pci_release + (LP: #1792099) + - SAUCE: vfio -- release device lock before userspace requests + + * Miscellaneous Ubuntu changes + - [Packaging] retpoline -- fix temporary filenaming + - CONFIG_BCH_CONST_PARAMS=n + - Packaging: final-checks: remove trailing backport suffix + - SAUCE: import aufs driver + + [ Upstream Kernel Changes ] + + * Rebase to v4.19-rc5 + + -- Seth Forshee Tue, 25 Sep 2018 16:32:24 -0500 + +linux (4.19.0-0.1) cosmic; urgency=medium + + * Miscellaneous Ubuntu changes + - ubuntu -- disable vbox build + - Disable zfs build + - SAUCE: Import aufs driver + - Update dropped.txt + + [ Upstream Kernel Changes ] + + * Rebase to v4.19-rc3 + + -- Seth Forshee Thu, 13 Sep 2018 07:54:47 -0500 + +linux (4.19.0-0.0) cosmic; urgency=medium + + * Dummy entry. + + -- Seth Forshee Thu, 13 Sep 2018 06:44:09 -0500 + +linux (4.18.0-8.9) cosmic; urgency=medium + + * linux: 4.18.0-8.9 -proposed tracker (LP: #1791663) + + * Cosmic update to v4.18.7 stable release (LP: #1791660) + - rcu: Make expedited GPs handle CPU 0 being offline + - net: 6lowpan: fix reserved space for single frames + - net: mac802154: tx: expand tailroom if necessary + - 9p/net: Fix zero-copy path in the 9p virtio transport + - spi: davinci: fix a NULL pointer dereference + - spi: pxa2xx: Add support for Intel Ice Lake + - spi: spi-fsl-dspi: Fix imprecise abort on VF500 during probe + - spi: cadence: Change usleep_range() to udelay(), for atomic context + - mmc: block: Fix unsupported parallel dispatch of requests + - mmc: renesas_sdhi_internal_dmac: mask DMAC interrupts + - mmc: renesas_sdhi_internal_dmac: fix #define RST_RESERVED_BITS + - readahead: stricter check for bdi io_pages + - block: fix infinite loop if the device loses discard capability + - block: blk_init_allocated_queue() set q->fq as NULL in the fail case + - block: really disable runtime-pm for blk-mq + - blkcg: Introduce blkg_root_lookup() + - block: Introduce blk_exit_queue() + - block: Ensure that a request queue is dissociated from the cgroup controller + - apparmor: fix bad debug check in apparmor_secid_to_secctx() + - dma-buf: Move BUG_ON from _add_shared_fence to _add_shared_inplace + - libertas: fix suspend and resume for SDIO connected cards + - media: Revert "[media] tvp5150: fix pad format frame height" + - mailbox: xgene-slimpro: Fix potential NULL pointer dereference + - Replace magic for trusting the secondary keyring with #define + - Fix kexec forbidding kernels signed with keys in the secondary keyring to + boot + - powerpc/fadump: handle crash memory ranges array index overflow + - powerpc/64s: Fix page table fragment refcount race vs speculative references + - powerpc/pseries: Fix endianness while restoring of r3 in MCE handler. + - powerpc/pkeys: Give all threads control of their key permissions + - powerpc/pkeys: Deny read/write/execute by default + - powerpc/pkeys: key allocation/deallocation must not change pkey registers + - powerpc/pkeys: Save the pkey registers before fork + - powerpc/pkeys: Fix calculation of total pkeys. + - powerpc/pkeys: Preallocate execute-only key + - powerpc/nohash: fix pte_access_permitted() + - powerpc64/ftrace: Include ftrace.h needed for enable/disable calls + - powerpc/powernv/pci: Work around races in PCI bridge enabling + - cxl: Fix wrong comparison in cxl_adapter_context_get() + - IB/mlx5: Honor cnt_set_id_valid flag instead of set_id + - IB/mlx5: Fix leaking stack memory to userspace + - IB/srpt: Fix srpt_cm_req_recv() error path (1/2) + - IB/srpt: Fix srpt_cm_req_recv() error path (2/2) + - IB/srpt: Support HCAs with more than two ports + - overflow.h: Add arithmetic shift helper + - RDMA/mlx5: Fix shift overflow in mlx5_ib_create_wq + - ib_srpt: Fix a use-after-free in srpt_close_ch() + - ib_srpt: Fix a use-after-free in __srpt_close_all_ch() + - RDMA/rxe: Set wqe->status correctly if an unexpected response is received + - 9p: fix multiple NULL-pointer-dereferences + - fs/9p/xattr.c: catch the error of p9_client_clunk when setting xattr failed + - 9p/virtio: fix off-by-one error in sg list bounds check + - net/9p/client.c: version pointer uninitialized + - net/9p/trans_fd.c: fix race-condition by flushing workqueue before the + kfree() + - dm integrity: change 'suspending' variable from bool to int + - dm thin: stop no_space_timeout worker when switching to write-mode + - dm cache metadata: save in-core policy_hint_size to on-disk superblock + - dm cache metadata: set dirty on all cache blocks after a crash + - dm crypt: don't decrease device limits + - dm writecache: fix a crash due to reading past end of dirty_bitmap + - uart: fix race between uart_put_char() and uart_shutdown() + - Drivers: hv: vmbus: Fix the offer_in_progress in vmbus_process_offer() + - Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind() + - iio: sca3000: Fix missing return in switch + - iio: ad9523: Fix displayed phase + - iio: ad9523: Fix return value for ad952x_store() + - extcon: Release locking when sending the notification of connector state + - eventpoll.h: wrap casts in () properly + - vmw_balloon: fix inflation of 64-bit GFNs + - vmw_balloon: do not use 2MB without batching + - vmw_balloon: VMCI_DOORBELL_SET does not check status + - vmw_balloon: fix VMCI use when balloon built into kernel + - rtc: omap: fix resource leak in registration error path + - rtc: omap: fix potential crash on power off + - tracing: Do not call start/stop() functions when tracing_on does not change + - tracing/blktrace: Fix to allow setting same value + - printk/tracing: Do not trace printk_nmi_enter() + - livepatch: Validate module/old func name length + - uprobes: Use synchronize_rcu() not synchronize_sched() + - mfd: hi655x: Fix regmap area declared size for hi655x + - ovl: fix wrong use of impure dir cache in ovl_iterate() + - ACPICA: AML Parser: skip opcodes that open a scope upon parse failure + - ACPICA: Clear status of all events when entering sleep states + - drivers/block/zram/zram_drv.c: fix bug storing backing_dev + - sched: idle: Avoid retaining the tick when it has been stopped + - cpuidle: menu: Handle stopped tick more aggressively + - cpufreq: governor: Avoid accessing invalid governor_data + - PM / sleep: wakeup: Fix build error caused by missing SRCU support + - ALSA: ac97: fix device initialization in the compat layer + - ALSA: ac97: fix check of pm_runtime_get_sync failure + - ALSA: ac97: fix unbalanced pm_runtime_enable + - i2c: designware: Re-init controllers with pm_disabled set on resume + - KVM: VMX: fixes for vmentry_l1d_flush module parameter + - KVM: PPC: Book3S: Fix guest DMA when guest partially backed by THP pages + - xtensa: limit offsets in __loop_cache_{all,page} + - xtensa: increase ranges in ___invalidate_{i,d}cache_all + - block, bfq: return nbytes and not zero from struct cftype .write() method + - pnfs/blocklayout: off by one in bl_map_stripe() + - nfsd: fix leaked file lock with nfs exported overlayfs + - NFSv4 client live hangs after live data migration recovery + - NFSv4: Fix locking in pnfs_generic_recover_commit_reqs + - NFSv4: Fix a sleep in atomic context in nfs4_callback_sequence() + - ARM: tegra: Fix Tegra30 Cardhu PCA954x reset + - ARM: dts: am57xx-idk: Enable dual role for USB2 port + - pwm: omap-dmtimer: Return -EPROBE_DEFER if no dmtimer platform data + - mm/tlb: Remove tlb_remove_table() non-concurrent condition + - iommu/ipmmu-vmsa: Don't register as BUS IOMMU if machine doesn't have IPMMU- + VMSA + - iommu/vt-d: Add definitions for PFSID + - iommu/vt-d: Fix dev iotlb pfsid use + - sys: don't hold uts_sem while accessing userspace memory + - userns: move user access out of the mutex + - ubifs: Fix memory leak in lprobs self-check + - Revert "UBIFS: Fix potential integer overflow in allocation" + - ubifs: Check data node size before truncate + - ubifs: xattr: Don't operate on deleted inodes + - ubifs: Fix directory size calculation for symlinks + - ubifs: Fix synced_i_size calculation for xattr inodes + - pwm: tiehrpwm: Don't use emulation mode bits to control PWM output + - pwm: tiehrpwm: Fix disabling of output of PWMs + - fb: fix lost console when the user unplugs a USB adapter + - udlfb: fix semaphore value leak + - udlfb: fix display corruption of the last line + - udlfb: don't switch if we are switching to the same videomode + - udlfb: set optimal write delay + - udlfb: make a local copy of fb_ops + - udlfb: handle allocation failure + - udlfb: set line_length in dlfb_ops_set_par + - getxattr: use correct xattr length + - libnvdimm: Use max contiguous area for namespace size + - libnvdimm: fix ars_status output length calculation + - bcache: release dc->writeback_lock properly in bch_writeback_thread() + - kconfig: fix "Can't open ..." in parallel build + - perf auxtrace: Fix queue resize + - crypto: vmx - Fix sleep-in-atomic bugs + - crypto: aesni - Use unaligned loads from gcm_context_data + - crypto: arm64/sm4-ce - check for the right CPU feature bit + - crypto: caam - fix DMA mapping direction for RSA forms 2 & 3 + - crypto: caam/jr - fix descriptor DMA unmapping + - crypto: caam/qi - fix error path in xts setkey + - fs/quota: Fix spectre gadget in do_quotactl + - udf: Fix mounting of Win7 created UDF filesystems + - cpuidle: menu: Retain tick when shallow state is selected + - arm64: mm: always enable CONFIG_HOLES_IN_ZONE + - Linux 4.18.7 + + * CVE-2017-5715 + - s390: detect etoken facility + - KVM: s390: add etoken support for guests + + * Missing Intel GPU pci-id's (LP: #1789924) + - drm/i915/whl: Introducing Whiskey Lake platform + - drm/i915/aml: Introducing Amber Lake platform + - drm/i915/cfl: Add a new CFL PCI ID. + + * [18.10 FEAT] Add kernel config options for SMC-R/D (LP: #1789934) + - s390/ism: add device driver for internal shared memory + - CONFIG_ISM=y for s390 + + * Cosmic update to v4.18.6 stable release (LP: #1791105) + - PATCH scripts/kernel-doc + - scripts/kernel-doc: Escape all literal braces in regexes + - scsi: libsas: dynamically allocate and free ata host + - xprtrdma: Fix disconnect regression + - mei: don't update offset in write + - cifs: add missing support for ACLs in SMB 3.11 + - CIFS: fix uninitialized ptr deref in smb2 signing + - cifs: add missing debug entries for kconfig options + - cifs: use a refcount to protect open/closing the cached file handle + - cifs: check kmalloc before use + - smb3: enumerating snapshots was leaving part of the data off end + - smb3: Do not send SMB3 SET_INFO if nothing changed + - smb3: don't request leases in symlink creation and query + - smb3: fill in statfs fsid and correct namelen + - btrfs: use correct compare function of dirty_metadata_bytes + - btrfs: don't leak ret from do_chunk_alloc + - Btrfs: fix mount failure after fsync due to hard link recreation + - Btrfs: fix btrfs_write_inode vs delayed iput deadlock + - Btrfs: fix send failure when root has deleted files still open + - Btrfs: send, fix incorrect file layout after hole punching beyond eof + - hwmon: (k10temp) 27C Offset needed for Threadripper2 + - bpf, arm32: fix stack var offset in jit + - regulator: arizona-ldo1: Use correct device to get enable GPIO + - iommu/arm-smmu: Error out only if not enough context interrupts + - printk: Split the code for storing a message into the log buffer + - printk: Create helper function to queue deferred console handling + - printk/nmi: Prevent deadlock when accessing the main log buffer in NMI + - kprobes/arm64: Fix %p uses in error messages + - arm64: Fix mismatched cache line size detection + - arm64: Handle mismatched cache type + - arm64: mm: check for upper PAGE_SHIFT bits in pfn_valid() + - arm64: dts: rockchip: corrected uart1 clock-names for rk3328 + - KVM: arm/arm64: Fix potential loss of ptimer interrupts + - KVM: arm/arm64: Fix lost IRQs from emulated physcial timer when blocked + - KVM: arm/arm64: Skip updating PMD entry if no change + - KVM: arm/arm64: Skip updating PTE entry if no change + - s390/kvm: fix deadlock when killed by oom + - perf kvm: Fix subcommands on s390 + - stop_machine: Reflow cpu_stop_queue_two_works() + - stop_machine: Atomically queue and wake stopper threads + - ext4: check for NUL characters in extended attribute's name + - ext4: use ext4_warning() for sb_getblk failure + - ext4: sysfs: print ext4_super_block fields as little-endian + - ext4: reset error code in ext4_find_entry in fallback + - ext4: fix race when setting the bitmap corrupted flag + - x86/gpu: reserve ICL's graphics stolen memory + - platform/x86: wmi: Do not mix pages and kmalloc + - platform/x86: ideapad-laptop: Apply no_hw_rfkill to Y20-15IKBM, too + - mm: move tlb_table_flush to tlb_flush_mmu_free + - mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE + - x86/speculation/l1tf: Fix overflow in l1tf_pfn_limit() on 32bit + - x86/speculation/l1tf: Fix off-by-one error when warning that system has too + much RAM + - x86/speculation/l1tf: Suggest what to do on systems with too much RAM + - x86/vdso: Fix vDSO build if a retpoline is emitted + - x86/process: Re-export start_thread() + - KVM: x86: ensure all MSRs can always be KVM_GET/SET_MSR'd + - KVM: x86: SVM: Call x86_spec_ctrl_set_guest/host() with interrupts disabled + - fuse: Don't access pipe->buffers without pipe_lock() + - fuse: fix initial parallel dirops + - fuse: fix double request_end() + - fuse: fix unlocked access to processing queue + - fuse: umount should wait for all requests + - fuse: Fix oops at process_init_reply() + - fuse: Add missed unlock_page() to fuse_readpages_fill() + - lib/vsprintf: Do not handle %pO[^F] as %px + - udl-kms: change down_interruptible to down + - udl-kms: handle allocation failure + - udl-kms: fix crash due to uninitialized memory + - udl-kms: avoid division + - b43legacy/leds: Ensure NUL-termination of LED name string + - b43/leds: Ensure NUL-termination of LED name string + - ASoC: dpcm: don't merge format from invalid codec dai + - ASoC: zte: Fix incorrect PCM format bit usages + - ASoC: sirf: Fix potential NULL pointer dereference + - ASoC: wm_adsp: Correct DSP pointer for preloader control + - soc: qcom: rmtfs-mem: fix memleak in probe error paths + - pinctrl: freescale: off by one in imx1_pinconf_group_dbg_show() + - scsi: qla2xxx: Fix stalled relogin + - x86/vdso: Fix lsl operand order + - x86/nmi: Fix NMI uaccess race against CR3 switching + - x86/irqflags: Mark native_restore_fl extern inline + - x86/spectre: Add missing family 6 check to microcode check + - x86/speculation/l1tf: Increase l1tf memory limit for Nehalem+ + - hwmon: (nct6775) Fix potential Spectre v1 + - x86/entry/64: Wipe KASAN stack shadow before rewind_stack_do_exit() + - x86: Allow generating user-space headers without a compiler + - s390/mm: fix addressing exception after suspend/resume + - s390/lib: use expoline for all bcr instructions + - s390: fix br_r1_trampoline for machines without exrl + - s390/qdio: reset old sbal_state flags + - s390/numa: move initial setup of node_to_cpumask_map + - s390/purgatory: Fix crash with expoline enabled + - s390/purgatory: Add missing FORCE to Makefile targets + - kprobes: Show blacklist addresses as same as kallsyms does + - kprobes: Replace %p with other pointer types + - kprobes/arm: Fix %p uses in error messages + - kprobes: Make list and blacklist root user read only + - MIPS: Correct the 64-bit DSP accumulator register size + - MIPS: memset.S: Fix byte_fixup for MIPSr6 + - MIPS: Always use -march=, not - shortcuts + - MIPS: Change definition of cpu_relax() for Loongson-3 + - MIPS: lib: Provide MIPS64r6 __multi3() for GCC < 7 + - tpm: Return the actual size when receiving an unsupported command + - tpm: separate cmd_ready/go_idle from runtime_pm + - scsi: mpt3sas: Fix calltrace observed while running IO & reset + - scsi: mpt3sas: Fix _transport_smp_handler() error path + - scsi: sysfs: Introduce sysfs_{un,}break_active_protection() + - scsi: core: Avoid that SCSI device removal through sysfs triggers a deadlock + - iscsi target: fix session creation failure handling + - mtd: rawnand: hynix: Use ->exec_op() in hynix_nand_reg_write_op() + - mtd: rawnand: fsmc: Stop using chip->read_buf() + - mtd: rawnand: marvell: add suspend and resume hooks + - mtd: rawnand: qcom: wait for desc completion in all BAM channels + - clk: rockchip: fix clk_i2sout parent selection bits on rk3399 + - clk: npcm7xx: fix memory allocation + - PM / clk: signedness bug in of_pm_clk_add_clks() + - power: generic-adc-battery: fix out-of-bounds write when copying channel + properties + - power: generic-adc-battery: check for duplicate properties copied from iio + channels + - watchdog: Mark watchdog touch functions as notrace + - cdrom: Fix info leak/OOB read in cdrom_ioctl_drive_status + - x86/dumpstack: Don't dump kernel memory based on usermode RIP + - Linux 4.18.6 + - updateconfigs after v4.18.6 stable update + + * random oopses on s390 systems using NVMe devices (LP: #1790480) + - s390/pci: fix out of bounds access during irq setup + + * [18.10 FEAT] zcrypt DD: introduce APQN tags to support deterministic driver + binding (LP: #1784331) + - s390/zcrypt: code beautify + - s390/zcrypt: AP bus support for alternate driver(s) + - s390/zcrypt: hex string mask improvements for apmask and aqmask. + + * performance drop with ATS enabled (LP: #1788097) + - powerpc/powernv: Fix concurrency issue with npu->mmio_atsd_usage + + * Fix MCE handling for user access of poisoned device-dax mapping + (LP: #1774366) + - device-dax: Convert to vmf_insert_mixed and vm_fault_t + - device-dax: Enable page_mapping() + - device-dax: Set page->index + - filesystem-dax: Set page->index + - mm, madvise_inject_error: Disable MADV_SOFT_OFFLINE for ZONE_DEVICE pages + - mm, dev_pagemap: Do not clear ->mapping on final put + - mm, madvise_inject_error: Let memory_failure() optionally take a page + reference + - mm, memory_failure: Collect mapping size in collect_procs() + - filesystem-dax: Introduce dax_lock_mapping_entry() + - mm, memory_failure: Teach memory_failure() about dev_pagemap pages + - x86/mm/pat: Prepare {reserve, free}_memtype() for "decoy" addresses + - x86/memory_failure: Introduce {set, clear}_mce_nospec() + - libnvdimm, pmem: Restore page attributes when clearing errors + + * Reconcile hns3 SAUCE patches with upstream (LP: #1787477) + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix comments for + hclge_get_ring_chain_from_mbx" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for using wrong mask and + shift in hclge_get_ring_chain_from_mbx" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for reset_level default + assignment probelm" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove unnecessary ring + configuration operation while resetting" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix return value error in + hns3_reset_notify_down_enet" + - Revert "UBUNTU: SAUCE: net: hns3: Fix for phy link issue when using marvell + phy driver" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: separate roce from nic when + resetting" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: correct reset event status + register" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: prevent to request reset + frequently" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: reset net device with rtnl_lock" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: modify the order of initializeing + command queue register" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: prevent sending command during + global or core reset" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: Use roce handle when calling roce + callback function" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove the warning when clear + reset cause" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix get_vector ops in + hclgevf_main module" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix warning bug when doing lp + selftest" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: Add configure for mac minimal + frame size" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for mailbox message truncated + problem" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for l4 checksum offload bug" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for waterline not setting + correctly" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for mac pause not disable in + pfc mode" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix tc setup when netdev is first + up" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: Add calling roce callback + function when link status change" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: optimize the process of notifying + roce client" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: Add pf reset for hip08 RoCE" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: Add SPDX tags to hns3 driver" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove unused struct member and + definition" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix mislead parameter name" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: modify inconsistent bit mask + macros" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: use decimal for bit offset + macros" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix unreasonable code comments" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove extra space and brackets" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: standardize the handle of return + value" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove some redundant + assignments" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: modify hnae_ to hnae3_" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: use dma_zalloc_coherent instead + of kzalloc/dma_map_single" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: give default option while + dependency HNS3 set" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove some unused members of + some structures" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove a redundant + hclge_cmd_csq_done" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: using modulo for cyclic counters + in hclge_cmd_send" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: simplify hclge_cmd_csq_clean" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove some redundant + assignments" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove useless code in + hclge_cmd_send" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove unused + hclge_ring_to_dma_dir" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: use lower_32_bits and + upper_32_bits" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove back in struct hclge_hw" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: add unlikely for error check" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove the Redundant put_vector + in hns3_client_uninit" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: print the ret value in error + information" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: extraction an interface for state + state init|uninit" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove unused head file in + hnae3.c" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: add l4_type check for both ipv4 + and ipv6" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: add vector status check before + free vector" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: rename the interface for + init_client_instance and uninit_client_instance" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove hclge_get_vector_index + from hclge_bind_ring_with_vector" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: RX BD information valid only in + last BD except VLD bit and buffer size" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: add support for serdes loopback + selftest" + - net: hns3: Updates RX packet info fetch in case of multi BD + - net: hns3: remove hclge_get_vector_index from hclge_bind_ring_with_vector + - net: hns3: rename the interface for init_client_instance and + uninit_client_instance + - net: hns3: add vector status check before free vector + - net: hns3: add l4_type check for both ipv4 and ipv6 + - net: hns3: add unlikely for error check + - net: hns3: remove unused head file in hnae3.c + - net: hns3: extraction an interface for state init|uninit + - net: hns3: print the ret value in error information + - net: hns3: remove the Redundant put_vector in hns3_client_uninit + - net: hns3: remove back in struct hclge_hw + - net: hns3: use lower_32_bits and upper_32_bits + - net: hns3: remove unused hclge_ring_to_dma_dir + - net: hns3: remove useless code in hclge_cmd_send + - net: hns3: remove some redundant assignments + - net: hns3: simplify hclge_cmd_csq_clean + - net: hns3: remove a redundant hclge_cmd_csq_done + - net: hns3: remove some unused members of some structures + - net: hns3: give default option while dependency HNS3 set + - net: hns3: use dma_zalloc_coherent instead of kzalloc/dma_map_single + - net: hns3: modify hnae_ to hnae3_ + - net: hns3: Fix tc setup when netdev is first up + - net: hns3: Fix for mac pause not disable in pfc mode + - net: hns3: Fix for waterline not setting correctly + - net: hns3: Fix for l4 checksum offload bug + - net: hns3: Fix for mailbox message truncated problem + - net: hns3: Add configure for mac minimal frame size + - net: hns3: Fix warning bug when doing lp selftest + - net: hns3: Fix get_vector ops in hclgevf_main module + - net: hns3: Remove the warning when clear reset cause + - net: hns3: Prevent sending command during global or core reset + - net: hns3: Modify the order of initializing command queue register + - net: hns3: Reset net device with rtnl_lock + - net: hns3: Prevent to request reset frequently + - net: hns3: Correct reset event status register + - net: hns3: Fix return value error in hns3_reset_notify_down_enet + - net: hns3: remove unnecessary ring configuration operation while resetting + - net: hns3: Fix for reset_level default assignment probelm + - net: hns3: Fix for using wrong mask and shift in + hclge_get_ring_chain_from_mbx + - net: hns3: Fix comments for hclge_get_ring_chain_from_mbx + - net: hns3: Remove some redundant assignments + - net: hns3: Standardize the handle of return value + - net: hns3: Remove extra space and brackets + - net: hns3: Correct unreasonable code comments + - net: hns3: Use decimal for bit offset macros + - net: hns3: Modify inconsistent bit mask macros + - net: hns3: Fix misleading parameter name + - net: hns3: Remove unused struct member and definition + - net: hns3: Add SPDX tags to HNS3 PF driver + - net: hns3: Add support for serdes loopback selftest + - net: hns3: Fix for phy link issue when using marvell phy driver + + * [Regression] kernel crashdump fails on arm64 (LP: #1786878) + - arm64: export memblock_reserve()d regions via /proc/iomem + - drivers: acpi: add dependency of EFI for arm64 + - efi/arm: preserve early mapping of UEFI memory map longer for BGRT + - efi/arm: map UEFI memory map even w/o runtime services enabled + - arm64: acpi: fix alignment fault in accessing ACPI + - [Config] CONFIG_ARCH_SUPPORTS_ACPI=y + - arm64: fix ACPI dependencies + - ACPI: fix menuconfig presentation of ACPI submenu + + * TB 16 issue on Dell Lattitude 7490 with large amount of data (LP: #1785780) + - r8152: disable RX aggregation on new Dell TB16 dock + + * Support Power Management for Thunderbolt Controller (LP: #1789358) + - thunderbolt: Use 64-bit DMA mask if supported by the platform + - thunderbolt: Do not unnecessarily call ICM get route + - thunderbolt: No need to take tb->lock in domain suspend/complete + - thunderbolt: Use correct ICM commands in system suspend + - thunderbolt: Add support for runtime PM + + * Enable AMD PCIe MP2 for AMDI0011 (LP: #1773940) + - SAUCE: i2c:amd I2C Driver based on PCI Interface for upcoming platform + - SAUCE: i2c:amd move out pointer in union i2c_event_base + - SAUCE: i2c:amd Depends on ACPI + - [Config] i2c: CONFIG_I2C_AMD_MP2=y on x86 + + * Microphone cannot be detected with front panel audio combo jack on HP Z8-G4 + machine (LP: #1789145) + - ALSA: hda/realtek - Fix HP Headset Mic can't record + + * Please enable CONFIG_PAGE_POISONING (LP: #1783651) + - [Config] Enable CONFIG_PAGE_POISONING configs + + * Tango platform uses __initcall without further checks (LP: #1787945) + - [Config] disable ARCH_TANGO + + * [18.10 FEAT] SMC-Direct (LP: #1786902) + - net/smc: determine port attributes independent from pnet table + - net/smc: add pnetid support + - net/smc: add base infrastructure for SMC-D and ISM + - net/smc: add pnetid support for SMC-D and ISM + - net/smc: add SMC-D support in CLC messages + - net/smc: add SMC-D support in data transfer + - net/smc: add SMC-D support in af_smc + - net/smc: add SMC-D diag support + - net/smc: provide smc mode in smc_diag.c + - net/smc: eliminate cursor read and write calls + - net/smc: add function to get link group from link + - net/smc: use DECLARE_BITMAP for rtokens_used_mask + - net/smc: remove local variable page in smc_rx_splice() + - net/smc: Remove a WARN_ON() statement + - net/smc: Simplify ib_post_(send|recv|srq_recv)() calls + - net/smc: fewer parameters for smc_llc_send_confirm_link() + - net/smc: use correct vlan gid of RoCE device + - net/smc: provide fallback reason code + - net/smc: improve delete link processing + - net: simplify sock_poll_wait + - net/smc: send response to test link signal + + * Miscellaneous Ubuntu changes + - [Config] update annotations for CONFIG_CRYPTO_SPECK_NEON + - [Config] fix up annotatios for CONFIG_CRYPTO_SPECK + + -- Seth Forshee Mon, 10 Sep 2018 07:08:38 -0500 + +linux (4.18.0-7.8) cosmic; urgency=medium + + * linux: 4.18.0-7.8 -proposed tracker (LP: #1789459) + + * pmtu.sh fails on 4.18 kernel (LP: #1789436) + - SAUCE: Revert "vti6: fix PMTU caching and reporting on xmit" + + -- Seth Forshee Tue, 28 Aug 2018 11:08:51 -0500 + +linux (4.18.0-6.7) cosmic; urgency=medium + + * linux: 4.18.0-6.7 -proposed tracker (LP: #1788881) + + * systemd 237-3ubuntu10 ADT test failure with linux 4.18.0-5.6 (LP: #1787440) + - Config: Disable BPF_JIT_ALWAYS_ON on i386 + + * execveat03 in ubuntu_ltp_syscalls failed on X/B (LP: #1786729) + - cap_inode_getsecurity: use d_find_any_alias() instead of d_find_alias() + + * Cosmic update to v4.18.5 stable release (LP: #1788874) + - EDAC: Add missing MEM_LRDDR4 entry in edac_mem_types[] + - pty: fix O_CLOEXEC for TIOCGPTPEER + - mm: Allow non-direct-map arguments to free_reserved_area() + - x86/mm/init: Pass unconverted symbol addresses to free_init_pages() + - x86/mm/init: Add helper for freeing kernel image pages + - x86/mm/init: Remove freed kernel image areas from alias mapping + - powerpc64s: Show ori31 availability in spectre_v1 sysfs file not v2 + - ext4: fix spectre gadget in ext4_mb_regular_allocator() + - drm/i915/kvmgt: Fix potential Spectre v1 + - drm/amdgpu/pm: Fix potential Spectre v1 + - parisc: Remove unnecessary barriers from spinlock.h + - parisc: Remove ordered stores from syscall.S + - PCI: Restore resized BAR state on resume + - PCI / ACPI / PM: Resume all bridges on suspend-to-RAM + - PCI: hotplug: Don't leak pci_slot on registration failure + - PCI: aardvark: Size bridges before resources allocation + - PCI: Skip MPS logic for Virtual Functions (VFs) + - PCI: pciehp: Fix use-after-free on unplug + - PCI: pciehp: Fix unprotected list iteration in IRQ handler + - i2c: core: ACPI: Properly set status byte to 0 for multi-byte writes + - i2c: imx: Fix race condition in dma read + - reiserfs: fix broken xattr handling (heap corruption, bad retval) + - Linux 4.18.5 + + * [18.10 FEAT] Add kernel config option "CONFIG_SCLP_OFB" (LP: #1787898) + - [Config] CONFIG_SCLP_OFB=y for s390x + + * errors when scanning partition table of corrupted AIX disk (LP: #1787281) + - partitions/aix: fix usage of uninitialized lv_info and lvname structures + - partitions/aix: append null character to print data from disk + + * Apply NVMe bugfix from Google that bjf asked for (LP: #1787635) + - nvme-pci: add a memory barrier to nvme_dbbuf_update_and_check_event + + * ThinkPad systems have no HDMI sound when using the nvidia GPU (LP: #1787058) + - ACPI / OSI: Add OEM _OSI string to enable NVidia HDMI audio + + * Cosmic update to v4.18.4 stable release (LP: #1788454) + - l2tp: use sk_dst_check() to avoid race on sk->sk_dst_cache + - net_sched: fix NULL pointer dereference when delete tcindex filter + - net_sched: Fix missing res info when create new tc_index filter + - r8169: don't use MSI-X on RTL8168g + - ALSA: hda - Sleep for 10ms after entering D3 on Conexant codecs + - ALSA: hda - Turn CX8200 into D3 as well upon reboot + - ALSA: vx222: Fix invalid endian conversions + - ALSA: virmidi: Fix too long output trigger loop + - ALSA: cs5535audio: Fix invalid endian conversion + - ALSA: dice: fix wrong copy to rx parameters for Alesis iO26 + - ALSA: hda: Correct Asrock B85M-ITX power_save blacklist entry + - ALSA: memalloc: Don't exceed over the requested size + - ALSA: vxpocket: Fix invalid endian conversions + - ALSA: seq: Fix poll() error return + - media: gl861: fix probe of dvb_usb_gl861 + - USB: serial: sierra: fix potential deadlock at close + - USB: serial: pl2303: add a new device id for ATEN + - USB: option: add support for DW5821e + - ACPI / PM: save NVS memory for ASUS 1025C laptop + - tty: serial: 8250: Revert NXP SC16C2552 workaround + - serial: 8250_exar: Read INT0 from slave device, too + - serial: 8250_dw: always set baud rate in dw8250_set_termios + - serial: 8250_dw: Add ACPI support for uart on Broadcom SoC + - uio: fix wrong return value from uio_mmap() + - misc: sram: fix resource leaks in probe error path + - Revert "uio: use request_threaded_irq instead" + - Bluetooth: avoid killing an already killed socket + - isdn: Disable IIOCDBGVAR + - net: sock_diag: Fix spectre v1 gadget in __sock_diag_cmd() + - hv/netvsc: Fix NULL dereference at single queue mode fallback + - r8169: don't use MSI-X on RTL8106e + - ip_vti: fix a null pointer deferrence when create vti fallback tunnel + - net: ethernet: mvneta: Fix napi structure mixup on armada 3700 + - net: mvneta: fix mvneta_config_rss on armada 3700 + - cls_matchall: fix tcf_unbind_filter missing + - Linux 4.18.4 + + * Cosmic update to v4.18.3 stable release (LP: #1788453) + - x86/speculation/l1tf: Exempt zeroed PTEs from inversion + - Linux 4.18.3 + + * Cosmic update to v4.18.2 stable release (LP: #1788452) + - x86/l1tf: Fix build error seen if CONFIG_KVM_INTEL is disabled + - x86: i8259: Add missing include file + - x86/hyper-v: Check for VP_INVAL in hyperv_flush_tlb_others() + - x86/platform/UV: Mark memblock related init code and data correctly + - x86/mm/pti: Clear Global bit more aggressively + - xen/pv: Call get_cpu_address_sizes to set x86_virt/phys_bits + - x86/mm: Disable ioremap free page handling on x86-PAE + - kbuild: verify that $DEPMOD is installed + - crypto: ccree - fix finup + - crypto: ccree - fix iv handling + - crypto: ccp - Check for NULL PSP pointer at module unload + - crypto: ccp - Fix command completion detection race + - crypto: x86/sha256-mb - fix digest copy in sha256_mb_mgr_get_comp_job_avx2() + - crypto: vmac - require a block cipher with 128-bit block size + - crypto: vmac - separate tfm and request context + - crypto: blkcipher - fix crash flushing dcache in error path + - crypto: ablkcipher - fix crash flushing dcache in error path + - crypto: skcipher - fix aligning block size in skcipher_copy_iv() + - crypto: skcipher - fix crash flushing dcache in error path + - ioremap: Update pgtable free interfaces with addr + - x86/mm: Add TLB purge to free pmd/pte page interfaces + - Linux 4.18.2 + + * Cosmic update to v4.18.2 stable release (LP: #1788452) // CVE-2018-9363 + - Bluetooth: hidp: buffer overflow in hidp_process_report + + * linux-cloud-tools-common: Ensure hv-kvp-daemon.service starts before + walinuxagent.service (LP: #1739107) + - [Debian] hyper-v -- Ensure that hv-kvp-daemon.service starts before + walinuxagent.service + + * Miscellaneous Ubuntu changes + - SAUCE: ipvs: remove nbsp characters from Kconfig + - [Config] CONFIG_MPROFILE_KERNEL=y for ppc64el + - [Config] CONFIG_DRM_RCAR_LVDS=m for snapdragon + - [Config] CONFIG_MDIO_MSCC_MIIM=n for s390x + - [Config] CONFIG_NET_VENDOR_MICROSEMI=n, CONFIG_NET_VENDOR_NI=n for s390x + - [Config] update annotations following config review + - [Debian] set CROSS_COMPILE when generating kernel configs + - [Config] Disable the Speck cipher + + -- Seth Forshee Fri, 24 Aug 2018 14:18:15 -0500 + +linux (4.18.0-5.6) cosmic; urgency=medium + + * Cosmic update to v4.18.1 stable release (LP: #1787264) + - x86/paravirt: Fix spectre-v2 mitigations for paravirt guests + - x86/speculation: Protect against userspace-userspace spectreRSB + - kprobes/x86: Fix %p uses in error messages + - x86/irqflags: Provide a declaration for native_save_fl + - x86/speculation/l1tf: Increase 32bit PAE __PHYSICAL_PAGE_SHIFT + - x86/speculation/l1tf: Change order of offset/type in swap entry + - x86/speculation/l1tf: Protect swap entries against L1TF + - x86/speculation/l1tf: Protect PROT_NONE PTEs against speculation + - x86/speculation/l1tf: Make sure the first page is always reserved + - x86/speculation/l1tf: Add sysfs reporting for l1tf + - x86/speculation/l1tf: Disallow non privileged high MMIO PROT_NONE mappings + - x86/speculation/l1tf: Limit swap file size to MAX_PA/2 + - x86/bugs: Move the l1tf function and define pr_fmt properly + - sched/smt: Update sched_smt_present at runtime + - x86/smp: Provide topology_is_primary_thread() + - x86/topology: Provide topology_smt_supported() + - cpu/hotplug: Make bringup/teardown of smp threads symmetric + - cpu/hotplug: Split do_cpu_down() + - cpu/hotplug: Provide knobs to control SMT + - x86/cpu: Remove the pointless CPU printout + - x86/cpu/AMD: Remove the pointless detect_ht() call + - x86/cpu/common: Provide detect_ht_early() + - x86/cpu/topology: Provide detect_extended_topology_early() + - x86/cpu/intel: Evaluate smp_num_siblings early + - x86/CPU/AMD: Do not check CPUID max ext level before parsing SMP info + - x86/cpu/AMD: Evaluate smp_num_siblings early + - x86/apic: Ignore secondary threads if nosmt=force + - x86/speculation/l1tf: Extend 64bit swap file size limit + - x86/cpufeatures: Add detection of L1D cache flush support. + - x86/CPU/AMD: Move TOPOEXT reenablement before reading smp_num_siblings + - x86/speculation/l1tf: Protect PAE swap entries against L1TF + - x86/speculation/l1tf: Fix up pte->pfn conversion for PAE + - Revert "x86/apic: Ignore secondary threads if nosmt=force" + - cpu/hotplug: Boot HT siblings at least once + - x86/KVM: Warn user if KVM is loaded SMT and L1TF CPU bug being present + - x86/KVM/VMX: Add module argument for L1TF mitigation + - x86/KVM/VMX: Add L1D flush algorithm + - x86/KVM/VMX: Add L1D MSR based flush + - x86/KVM/VMX: Add L1D flush logic + - x86/KVM/VMX: Split the VMX MSR LOAD structures to have an host/guest numbers + - x86/KVM/VMX: Add find_msr() helper function + - x86/KVM/VMX: Separate the VMX AUTOLOAD guest/host number accounting + - x86/KVM/VMX: Extend add_atomic_switch_msr() to allow VMENTER only MSRs + - x86/KVM/VMX: Use MSR save list for IA32_FLUSH_CMD if required + - cpu/hotplug: Online siblings when SMT control is turned on + - x86/litf: Introduce vmx status variable + - x86/kvm: Drop L1TF MSR list approach + - x86/l1tf: Handle EPT disabled state proper + - x86/kvm: Move l1tf setup function + - x86/kvm: Add static key for flush always + - x86/kvm: Serialize L1D flush parameter setter + - x86/kvm: Allow runtime control of L1D flush + - cpu/hotplug: Expose SMT control init function + - cpu/hotplug: Set CPU_SMT_NOT_SUPPORTED early + - x86/bugs, kvm: Introduce boot-time control of L1TF mitigations + - Documentation: Add section about CPU vulnerabilities + - x86/speculation/l1tf: Unbreak !__HAVE_ARCH_PFN_MODIFY_ALLOWED architectures + - x86/KVM/VMX: Initialize the vmx_l1d_flush_pages' content + - Documentation/l1tf: Fix typos + - cpu/hotplug: detect SMT disabled by BIOS + - x86/KVM/VMX: Don't set l1tf_flush_l1d to true from vmx_l1d_flush() + - x86/KVM/VMX: Replace 'vmx_l1d_flush_always' with 'vmx_l1d_flush_cond' + - x86/KVM/VMX: Move the l1tf_flush_l1d test to vmx_l1d_flush() + - x86/irq: Demote irq_cpustat_t::__softirq_pending to u16 + - x86/KVM/VMX: Introduce per-host-cpu analogue of l1tf_flush_l1d + - x86: Don't include linux/irq.h from asm/hardirq.h + - x86/irq: Let interrupt handlers set kvm_cpu_l1tf_flush_l1d + - x86/KVM/VMX: Don't set l1tf_flush_l1d from vmx_handle_external_intr() + - Documentation/l1tf: Remove Yonah processors from not vulnerable list + - x86/speculation: Simplify sysfs report of VMX L1TF vulnerability + - x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on vmentry + - KVM: VMX: Tell the nested hypervisor to skip L1D flush on vmentry + - cpu/hotplug: Fix SMT supported evaluation + - x86/speculation/l1tf: Invert all not present mappings + - x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert + - x86/mm/pat: Make set_memory_np() L1TF safe + - x86/mm/kmmio: Make the tracer robust against L1TF + - tools headers: Synchronise x86 cpufeatures.h for L1TF additions + - x86/microcode: Allow late microcode loading with SMT disabled + - x86/smp: fix non-SMP broken build due to redefinition of + apic_id_is_primary_thread + - cpu/hotplug: Non-SMP machines do not make use of booted_once + - x86/init: fix build with CONFIG_SWAP=n + - Linux 4.18.1 + - [Config] updateconfigs after v4.18.1 stable update + + * Consider enabling CONFIG_NETWORK_PHY_TIMESTAMPING (LP: #1785816) + - [Config] Enable timestamping in network PHY devices + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_SYSCTL_SYSCALL=n + + [ Upstream Kernel Changes ] + + * Rebase to v4.18 + + -- Seth Forshee Wed, 15 Aug 2018 14:20:59 -0500 + +linux (4.18.0-4.5) cosmic; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v4.18-rc8 + + -- Seth Forshee Mon, 06 Aug 2018 13:54:02 -0500 + +linux (4.18.0-3.4) cosmic; urgency=medium + + * Suspend fails in Ubuntu and Kubuntu 18.04 but works fine in Ubuntu and + Kubuntu 17.10 (and on Kubuntu 18.04 using kernel 4.14.47) (LP: #1774950) + - ACPI / LPSS: Avoid PM quirks on suspend and resume from hibernation + + * hinic interfaces aren't getting predictable names (LP: #1783138) + - hinic: Link the logical network device to the pci device in sysfs + + * libvirtd is unable to configure bridge devices inside of LXD containers + (LP: #1784501) + - kernfs: allow creating kernfs objects with arbitrary uid/gid + - sysfs, kobject: allow creating kobject belonging to arbitrary users + - kobject: kset_create_and_add() - fetch ownership info from parent + - driver core: set up ownership of class devices in sysfs + - net-sysfs: require net admin in the init ns for setting tx_maxrate + - net-sysfs: make sure objects belong to container's owner + - net: create reusable function for getting ownership info of sysfs inodes + - bridge: make sure objects belong to container's owner + - sysfs: Fix regression when adding a file to an existing group + + * locking sockets broken due to missing AppArmor socket mediation patches + (LP: #1780227) + - UBUNTU SAUCE: apparmor: fix apparmor mediating locking non-fs, unix sockets + + * Update2 for ocxl driver (LP: #1781436) + - ocxl: Fix page fault handler in case of fault on dying process + + * HDMI/DP audio can't work on the laptop of Dell Latitude 5495 (LP: #1782689) + - ALSA: hda: use PCI_BASE_CLASS_DISPLAY to replace PCI_CLASS_DISPLAY_VGA + - vga_switcheroo: set audio client id according to bound GPU id + + * Allow Raven Ridge's audio controller to be runtime suspended (LP: #1782540) + - ALSA: hda: Add AZX_DCAPS_PM_RUNTIME for AMD Raven Ridge + + * Invoking obsolete 'firmware_install' target breaks snap build (LP: #1782166) + - snapcraft.yaml: stop invoking the obsolete (and non-existing) + 'firmware_install' target + + * snapcraft.yaml: missing ubuntu-retpoline-extract-one script breaks the build + (LP: #1782116) + - snapcraft.yaml: copy retpoline-extract-one to scripts before build + + [ Upstream Kernel Changes ] + + * Rebase to v4.18-rc7 + + -- Seth Forshee Wed, 01 Aug 2018 08:49:40 -0500 + +linux (4.18.0-2.3) cosmic; urgency=medium + + * Kernel error "task zfs:pid blocked for more than 120 seconds" (LP: #1781364) + - SAUCE: (noup) zfs to 0.7.9-3ubuntu4 + + * [Regression] EXT4-fs error (device sda1): ext4_validate_inode_bitmap:99: + comm stress-ng: Corrupt inode bitmap (LP: #1780137) + - SAUCE: ext4: fix ext4_validate_inode_bitmap: comm stress-ng: Corrupt inode + bitmap + + * Cloud-init causes potentially huge boot delays with 4.15 kernels + (LP: #1780062) + - random: Make getrandom() ready earlier + + * hisi_sas_v3_hw: internal task abort: timeout and not done. (LP: #1777736) + - scsi: hisi_sas: Update a couple of register settings for v3 hw + + * hisi_sas: Add missing PHY spinlock init (LP: #1777734) + - scsi: hisi_sas: Add missing PHY spinlock init + + * hisi_sas: improve read performance by pre-allocating slot DMA buffers + (LP: #1777727) + - scsi: hisi_sas: Use dmam_alloc_coherent() + - scsi: hisi_sas: Pre-allocate slot DMA buffers + + * hisi_sas: Failures during host reset (LP: #1777696) + - scsi: hisi_sas: Only process broadcast change in phy_bcast_v3_hw() + - scsi: hisi_sas: Fix the conflict between dev gone and host reset + - scsi: hisi_sas: Adjust task reject period during host reset + - scsi: hisi_sas: Add a flag to filter PHY events during reset + - scsi: hisi_sas: Release all remaining resources in clear nexus ha + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.7.9-3ubuntu2, zfs to 0.7.9-3ubuntu3 + - SAUCE: mm: Fix exports that inadvertently make put_page() EXPORT_SYMBOL_GPL + - Enable zfs build + - SAUCE: Import aufs driver + - Revert "UBUNTU: [Config]: set CONFIG_EDAC_DEBUG=y for ARM64" + - [Config] retpoline -- review and accept retpoline changes + + [ Upstream Kernel Changes ] + + * Rebase to v4.18-rc5 + * Rebase to v4.18-rc6 + + -- Seth Forshee Tue, 24 Jul 2018 08:41:22 -0500 + +linux (4.18.0-1.2) cosmic; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v4.18-rc4 + + -- Seth Forshee Mon, 09 Jul 2018 07:36:31 -0500 + +linux (4.18.0-0.1) cosmic; urgency=medium + + * Miscellaneous Ubuntu changes + - ubuntu -- disable vbox build + - Disable zfs build + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (efi-lockdown) ima: require secure_boot rules in lockdown mode + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the kernel is + locked down + - SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the kernel is locked + down + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Lock down module params that specify hardware + parameters (eg. ioport) + - SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the testmmiotrace module + - SAUCE: (efi-lockdown) Lock down /proc/kcore + - SAUCE: (efi-lockdown) Lock down kprobes + - SAUCE: (efi-lockdown) bpf: Restrict kernel image access functions when the + kernel is locked down + - SAUCE: (efi-lockdown) Lock down perf + - SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the kernel is locked + down + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) KEYS: Allow unrestricted boot-time addition of keys to + secondary keyring + - SAUCE: (efi-lockdown) efi: Add EFI signature data types + - SAUCE: (efi-lockdown) efi: Add an EFI signature blob parser + - SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI Secure Boot + - SAUCE: (efi-lockdown) MODSIGN: Allow the "db" UEFI variable to be suppressed + - SAUCE: (efi-lockdown) Make get_cert_list() not complain about cert lists + that aren't present. + - SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err(). + - SAUCE: (efi-lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (efi-lockdown) lockdown: fix coordination of kernel module signature + verification + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) efi: Don't print secure boot state from the efi stub + - SAUCE: (namespace) block_dev: Support checking inode permissions in + lookup_bdev() + - SAUCE: (namespace) block_dev: Check permissions towards block device inode + when mounting + - SAUCE: (namespace) mtd: Check permissions towards mtd block device inode + when mounting + - SAUCE: (namespace) ext4: Add support for unprivileged mounts from user + namespaces + - SAUCE: (namespace) ext4: Add module parameter to enable user namespace + mounts + - SAUCE: (namespace) block_dev: Forbid unprivileged mounting when device is + opened for writing + - SAUCE: Import aufs driver + - Update dropped.txt + - [Config] updateconfigs after 4.18-rc3 rebase + - SAUCE: (no-up): ASoC: Intel: bytcr-rt5660: Remove snd_soc_codec use for 4.18 + + [ Upstream Kernel Changes ] + + * Rebase to v4.18-rc3 + + -- Seth Forshee Fri, 06 Jul 2018 10:46:37 -0500 + +linux (4.18.0-0.0) cosmic; urgency=medium + + * Dummy entry. + + -- Seth Forshee Tue, 03 Jul 2018 11:10:33 -0500 + +linux (4.17.0-4.5) cosmic; urgency=medium + + * linux: 4.17.0-4.5 -proposed tracker (LP: #1779399) + + * Update to ocxl driver for 18.04.1 (LP: #1775786) + - powerpc: Add TIDR CPU feature for POWER9 + - powerpc: Use TIDR CPU feature to control TIDR allocation + - powerpc: use task_pid_nr() for TID allocation + - ocxl: Rename pnv_ocxl_spa_remove_pe to clarify it's action + - ocxl: Expose the thread_id needed for wait on POWER9 + - ocxl: Add an IOCTL so userspace knows what OCXL features are available + - ocxl: Document new OCXL IOCTLs + - ocxl: Fix missing unlock on error in afu_ioctl_enable_p9_wait() + + * Please include ax88179_178a and r8152 modules in d-i udeb (LP: #1771823) + - [Config:] d-i: Add ax88179_178a and r8152 to nic-modules + + * glibc pkeys test fail on powerpc (LP: #1776967) + - [Config] Temporarily disable CONFIG_PPC_MEM_KEYS + + * After update to 4.13-43 Intel Graphics are Laggy (LP: #1773520) + - Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available." + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.7.9-3ubuntu1, zfs to 0.7.9-3ubuntu1 + + -- Seth Forshee Fri, 29 Jun 2018 13:37:52 -0500 + +linux (4.17.0-3.4) cosmic; urgency=medium + + * linux: 4.17.0-3.4 -proposed tracker (LP: #1779124) + + * Cosmic update to v4.17.3 stable release (LP: #1778997) + - net: aquantia: fix unsigned numvecs comparison with less than zero + - bonding: re-evaluate force_primary when the primary slave name changes + - cdc_ncm: avoid padding beyond end of skb + - ipv6: allow PMTU exceptions to local routes + - net: dsa: add error handling for pskb_trim_rcsum + - net: phy: dp83822: use BMCR_ANENABLE instead of BMSR_ANEGCAPABLE for DP83620 + - net/sched: act_simple: fix parsing of TCA_DEF_DATA + - tcp: verify the checksum of the first data segment in a new connection + - tls: fix use-after-free in tls_push_record + - tls: fix waitall behavior in tls_sw_recvmsg + - socket: close race condition between sock_close() and sockfs_setattr() + - udp: fix rx queue len reported by diag and proc interface + - net: in virtio_net_hdr only add VLAN_HLEN to csum_start if payload holds + vlan + - hv_netvsc: Fix a network regression after ifdown/ifup + - ACPICA: AML parser: attempt to continue loading table after error + - ext4: fix hole length detection in ext4_ind_map_blocks() + - ext4: update mtime in ext4_punch_hole even if no blocks are released + - ext4: do not allow external inodes for inline data + - ext4: bubble errors from ext4_find_inline_data_nolock() up to ext4_iget() + - ext4: correctly handle a zero-length xattr with a non-zero e_value_offs + - ext4: fix fencepost error in check for inode count overflow during resize + - driver core: Don't ignore class_dir_create_and_add() failure. + - Btrfs: allow empty subvol= again + - Btrfs: fix clone vs chattr NODATASUM race + - Btrfs: fix memory and mount leak in btrfs_ioctl_rm_dev_v2() + - btrfs: return error value if create_io_em failed in cow_file_range + - btrfs: scrub: Don't use inode pages for device replace + - ALSA: usb-audio: Disable the quirk for Nura headset + - ALSA: hda/conexant - Add fixup for HP Z2 G4 workstation + - ALSA: hda - Handle kzalloc() failure in snd_hda_attach_pcm_stream() + - ALSA: hda: add dock and led support for HP EliteBook 830 G5 + - ALSA: hda: add dock and led support for HP ProBook 640 G4 + - x86/MCE: Fix stack out-of-bounds write in mce-inject.c: Flags_read() + - smb3: fix various xid leaks + - smb3: on reconnect set PreviousSessionId field + - CIFS: 511c54a2f69195b28afb9dd119f03787b1625bb4 adds a check for session + expiry + - cifs: For SMB2 security informaion query, check for minimum sized security + descriptor instead of sizeof FileAllInformation class + - nbd: fix nbd device deletion + - nbd: update size when connected + - nbd: use bd_set_size when updating disk size + - blk-mq: reinit q->tag_set_list entry only after grace period + - bdi: Move cgroup bdi_writeback to a dedicated low concurrency workqueue + - cpufreq: Fix new policy initialization during limits updates via sysfs + - cpufreq: ti-cpufreq: Fix an incorrect error return value + - cpufreq: governors: Fix long idle detection logic in load calculation + - libata: zpodd: small read overflow in eject_tray() + - libata: Drop SanDisk SD7UB3Q*G1001 NOLPM quirk + - nvme/pci: Sync controller reset for AER slot_reset + - w1: mxc_w1: Enable clock before calling clk_get_rate() on it + - x86/vector: Fix the args of vector_alloc tracepoint + - x86/apic/vector: Prevent hlist corruption and leaks + - x86/apic: Provide apic_ack_irq() + - x86/ioapic: Use apic_ack_irq() + - x86/platform/uv: Use apic_ack_irq() + - irq_remapping: Use apic_ack_irq() + - genirq/generic_pending: Do not lose pending affinity update + - genirq/affinity: Defer affinity setting if irq chip is busy + - genirq/migration: Avoid out of line call if pending is not set + - x86/intel_rdt: Enable CMT and MBM on new Skylake stepping + - media: uvcvideo: Prevent setting unavailable flags + - media: rc: ensure input/lirc device can be opened after register + - iwlwifi: fw: harden page loading code + - orangefs: set i_size on new symlink + - orangefs: report attributes_mask and attributes for statx + - HID: intel_ish-hid: ipc: register more pm callbacks to support hibernation + - HID: wacom: Correct logical maximum Y for 2nd-gen Intuos Pro large + - vhost: fix info leak due to uninitialized memory + - mm, page_alloc: do not break __GFP_THISNODE by zonelist reset + - Linux 4.17.3 + + * Use-after-free in sk_peer_label (LP: #1778646) + - SAUCE: apparmor: fix use after free in sk_peer_label + + * kernel: Fix memory leak on CCA and EP11 CPRB processing. (LP: #1775390) + - s390/zcrypt: Fix CCA and EP11 CPRB processing failure memory leak. + + * Various fixes for CXL kernel module (LP: #1774471) + - cxl: Configure PSL to not use APC virtual machines + - cxl: Disable prefault_mode in Radix mode + + * Bluetooth not working (LP: #1764645) + - Bluetooth: btusb: Apply QCA Rome patches for some ATH3012 models + + * Fake SAS addresses for SATA disks on HiSilicon D05 are non-unique + (LP: #1776750) + - scsi: hisi_sas: make SAS address of SATA disks unique + + * linux-snapdragon: wcn36xx: mac address generation on boot (LP: #1776491) + - [Config] arm64: snapdragon: WCN36XX_SNAPDRAGON_HACKS=y + - SAUCE: wcn36xx: read MAC from file or randomly generate one + + * Lenovo V330 needs patch in ideapad_laptop module for rfkill (LP: #1774636) + - SAUCE: Add Lenovo V330 to the ideapad_laptop rfkill blacklist + + * register on binfmt_misc may overflow and crash the system (LP: #1775856) + - fs/binfmt_misc.c: do not allow offset overflow + + * Network installs fail on SocioNext board (LP: #1775884) + - net: socionext: reset hardware in ndo_stop + - net: netsec: enable tx-irq during open callback + + * Fix several bugs in RDMA/hns driver (LP: #1770974) + - RDMA/hns: Drop local zgid in favor of core defined variable + - RDMA/hns: Add 64KB page size support for hip08 + - RDMA/hns: Rename the idx field of db + - RDMA/hns: Modify uar allocation algorithm to avoid bitmap exhaust + - RDMA/hns: Increase checking CMQ status timeout value + - RDMA/hns: Add reset process for RoCE in hip08 + - RDMA/hns: Fix the illegal memory operation when cross page + - RDMA/hns: Implement the disassociate_ucontext API + + * powerpc/livepatch: Implement reliable stack tracing for the consistency + model (LP: #1771844) + - powerpc/livepatch: Implement reliable stack tracing for the consistency + model + + * Adding back alx WoL feature (LP: #1772610) + - SAUCE: Revert "alx: remove WoL support" + - SAUCE: alx: add enable_wol paramenter + + * Lancer A0 Asic HBA's won't boot with 18.04 (LP: #1768103) + - scsi: lpfc: Fix WQ/CQ creation for older asic's. + - scsi: lpfc: Fix 16gb hbas failing cq create. + + * [LTCTest][OPAL][OP920] cpupower idle-info is not listing stop4 and stop5 + idle states when all CORES are guarded (LP: #1771780) + - powerpc/powernv/cpuidle: Init all present cpus for deep states + + * Huawei 25G/100G Network Adapters Unsupported (LP: #1770970) + - net-next/hinic: add pci device ids for 25ge and 100ge card + + * Expose arm64 CPU topology to userspace (LP: #1770231) + - drivers: base: cacheinfo: move cache_setup_of_node() + - drivers: base: cacheinfo: setup DT cache properties early + - cacheinfo: rename of_node to fw_token + - arm64/acpi: Create arch specific cpu to acpi id helper + - ACPI/PPTT: Add Processor Properties Topology Table parsing + - [Config] CONFIG_ACPI_PPTT=y + - ACPI: Enable PPTT support on ARM64 + - drivers: base cacheinfo: Add support for ACPI based firmware tables + - arm64: Add support for ACPI based firmware tables + - arm64: topology: rename cluster_id + - arm64: topology: enable ACPI/PPTT based CPU topology + - ACPI: Add PPTT to injectable table list + - arm64: topology: divorce MC scheduling domain from core_siblings + + * Vcs-Git header on bionic linux source package points to zesty git tree + (LP: #1766055) + - [Packaging]: Update Vcs-Git + + * Request to revert SAUCE patches in the 18.04 SRU and update with upstream + version (LP: #1768431) + - scsi: cxlflash: Handle spurious interrupts + - scsi: cxlflash: Remove commmands from pending list on timeout + - scsi: cxlflash: Synchronize reset and remove ops + - SAUCE: (no-up) cxlflash: OCXL diff between v2 and v3 + + * hisi_sas robustness fixes (LP: #1774466) + - scsi: hisi_sas: delete timer when removing hisi_sas driver + - scsi: hisi_sas: print device id for errors + - scsi: hisi_sas: Add some checks to avoid free'ing a sas_task twice + - scsi: hisi_sas: check host frozen before calling "done" function + - scsi: hisi_sas: check sas_dev gone earlier in hisi_sas_abort_task() + - scsi: hisi_sas: stop controller timer for reset + - scsi: hisi_sas: update PHY linkrate after a controller reset + - scsi: hisi_sas: change slot index allocation mode + - scsi: hisi_sas: Change common allocation mode of device id + - scsi: hisi_sas: Reset disks when discovered + - scsi: hisi_sas: Create a scsi_host_template per HW module + - scsi: hisi_sas: Init disks after controller reset + - scsi: hisi_sas: Try wait commands before before controller reset + - scsi: hisi_sas: Include TMF elements in struct hisi_sas_slot + - scsi: hisi_sas: Add v2 hw force PHY function for internal ATA command + - scsi: hisi_sas: Terminate STP reject quickly for v2 hw + - scsi: hisi_sas: Fix return value when get_free_slot() failed + - scsi: hisi_sas: Mark PHY as in reset for nexus reset + + * hisi_sas: Support newer v3 hardware (LP: #1774467) + - scsi: hisi_sas: update RAS feature for later revision of v3 HW + - scsi: hisi_sas: check IPTT is valid before using it for v3 hw + - scsi: hisi_sas: fix PI memory size + - scsi: hisi_sas: config ATA de-reset as an constrained command for v3 hw + - scsi: hisi_sas: remove redundant handling to event95 for v3 + - scsi: hisi_sas: add readl poll timeout helper wrappers + - scsi: hisi_sas: workaround a v3 hw hilink bug + - scsi: hisi_sas: Add LED feature for v3 hw + + * hisi_sas: improve performance by optimizing DQ locking (LP: #1774472) + - scsi: hisi_sas: optimise the usage of DQ locking + - scsi: hisi_sas: relocate smp sg map + - scsi: hisi_sas: make return type of prep functions void + - scsi: hisi_sas: allocate slot buffer earlier + - scsi: hisi_sas: Don't lock DQ for complete task sending + - scsi: hisi_sas: Use device lock to protect slot alloc/free + - scsi: hisi_sas: add check of device in hisi_sas_task_exec() + - scsi: hisi_sas: fix a typo in hisi_sas_task_prep() + + * FS-Cache: Assertion failed: FS-Cache: 6 == 5 is false (LP: #1774336) + - SAUCE: CacheFiles: fix a read_waiter/read_copier race + + * enable mic-mute hotkey and led on Lenovo M820z and M920z (LP: #1774306) + - ALSA: hda/realtek - Enable mic-mute hotkey for several Lenovo AIOs + + * hns3 driver updates (LP: #1768670) + - net: hns3: Remove error log when getting pfc stats fails + - net: hns3: fix to correctly fetch l4 protocol outer header + - net: hns3: Fixes the out of bounds access in hclge_map_tqp + - net: hns3: Fixes the error legs in hclge_init_ae_dev function + - net: hns3: fix for phy_addr error in hclge_mac_mdio_config + - net: hns3: Fix to support autoneg only for port attached with phy + - net: hns3: fix a dead loop in hclge_cmd_csq_clean + - net: hns3: Fix for packet loss due wrong filter config in VLAN tbls + - net: hns3: Remove packet statistics in the range of 8192~12287 + - net: hns3: Add support of hardware rx-vlan-offload to HNS3 VF driver + - net: hns3: Fix for setting mac address when resetting + - net: hns3: remove add/del_tunnel_udp in hns3_enet module + - net: hns3: fix for cleaning ring problem + - net: hns3: refactor the loopback related function + - net: hns3: Fix for deadlock problem occurring when unregistering ae_algo + - net: hns3: Fix for the null pointer problem occurring when initializing + ae_dev failed + - net: hns3: Add a check for client instance init state + - net: hns3: Change return type of hnae3_register_ae_dev + - net: hns3: Change return type of hnae3_register_ae_algo + - net: hns3: Change return value in hnae3_register_client + - net: hns3: Fixes the back pressure setting when sriov is enabled + - net: hns3: Fix for fiber link up problem + - net: hns3: Add support of .sriov_configure in HNS3 driver + - net: hns3: Fixes the missing PCI iounmap for various legs + - net: hns3: Fixes error reported by Kbuild and internal review + - net: hns3: Fixes API to fetch ethernet header length with kernel default + - net: hns3: cleanup of return values in hclge_init_client_instance() + - net: hns3: Fix the missing client list node initialization + - net: hns3: Fix for hns3 module is loaded multiple times problem + - net: hns3: Use enums instead of magic number in hclge_is_special_opcode + - net: hns3: Fix for netdev not running problem after calling net_stop and + net_open + - net: hns3: Fixes kernel panic issue during rmmod hns3 driver + - net: hns3: Fix for CMDQ and Misc. interrupt init order problem + - net: hns3: Updates RX packet info fetch in case of multi BD + - net: hns3: Add support for tx_accept_tag2 and tx_accept_untag2 config + - net: hns3: Add STRP_TAGP field support for hardware revision 0x21 + - net: hns3: Add support to enable TX/RX promisc mode for H/W rev(0x21) + - net: hns3: Fix for PF mailbox receving unknown message + - net: hns3: Fixes the state to indicate client-type initialization + - net: hns3: Fixes the init of the VALID BD info in the descriptor + - net: hns3: Removes unnecessary check when clearing TX/RX rings + - net: hns3: Clear TX/RX rings when stopping port & un-initializing client + - net: hns3: Remove unused led control code + - net: hns3: Adds support for led locate command for copper port + - net: hns3: Fixes initalization of RoCE handle and makes it conditional + - net: hns3: Disable vf vlan filter when vf vlan table is full + - net: hns3: Add support for IFF_ALLMULTI flag + - net: hns3: Add repeat address checking for setting mac address + - net: hns3: Fix setting mac address error + - net: hns3: Fix for service_task not running problem after resetting + - net: hns3: Fix for hclge_reset running repeatly problem + - net: hns3: Fix for phy not link up problem after resetting + - net: hns3: Add missing break in misc_irq_handle + - net: hns3: Fix for vxlan tx checksum bug + - net: hns3: Optimize the PF's process of updating multicast MAC + - net: hns3: Optimize the VF's process of updating multicast MAC + - SAUCE: {topost} net: hns3: add support for serdes loopback selftest + - SAUCE: {topost} net: hns3: RX BD information valid only in last BD except + VLD bit and buffer size + - SAUCE: {topost} net: hns3: remove hclge_get_vector_index from + hclge_bind_ring_with_vector + - SAUCE: {topost} net: hns3: rename the interface for init_client_instance and + uninit_client_instance + - SAUCE: {topost} net: hns3: add vector status check before free vector + - SAUCE: {topost} net: hns3: add l4_type check for both ipv4 and ipv6 + - SAUCE: {topost} net: hns3: remove unused head file in hnae3.c + - SAUCE: {topost} net: hns3: extraction an interface for state state + init|uninit + - SAUCE: {topost} net: hns3: print the ret value in error information + - SAUCE: {topost} net: hns3: remove the Redundant put_vector in + hns3_client_uninit + - SAUCE: {topost} net: hns3: add unlikely for error check + - SAUCE: {topost} net: hns3: remove back in struct hclge_hw + - SAUCE: {topost} net: hns3: use lower_32_bits and upper_32_bits + - SAUCE: {topost} net: hns3: remove unused hclge_ring_to_dma_dir + - SAUCE: {topost} net: hns3: remove useless code in hclge_cmd_send + - SAUCE: {topost} net: hns3: remove some redundant assignments + - SAUCE: {topost} net: hns3: simplify hclge_cmd_csq_clean + - SAUCE: {topost} net: hns3: using modulo for cyclic counters in + hclge_cmd_send + - SAUCE: {topost} net: hns3: remove a redundant hclge_cmd_csq_done + - SAUCE: {topost} net: hns3: remove some unused members of some structures + - SAUCE: {topost} net: hns3: give default option while dependency HNS3 set + - SAUCE: {topost} net: hns3: use dma_zalloc_coherent instead of + kzalloc/dma_map_single + - SAUCE: {topost} net: hns3: modify hnae_ to hnae3_ + - SAUCE: {topost} net: hns3: fix unused function warning in VF driver + - SAUCE: {topost} net: hns3: remove some redundant assignments + - SAUCE: {topost} net: hns3: standardize the handle of return value + - SAUCE: {topost} net: hns3: remove extra space and brackets + - SAUCE: {topost} net: hns3: fix unreasonable code comments + - SAUCE: {topost} net: hns3: use decimal for bit offset macros + - SAUCE: {topost} net: hns3: modify inconsistent bit mask macros + - SAUCE: {topost} net: hns3: fix mislead parameter name + - SAUCE: {topost} net: hns3: remove unused struct member and definition + - SAUCE: {topost} net: hns3: Add SPDX tags to hns3 driver + - SAUCE: {topost} net: hns3: Add pf reset for hip08 RoCE + - SAUCE: {topost} net: hns3: optimize the process of notifying roce client + - SAUCE: {topost} net: hns3: Add calling roce callback function when link + status change + - SAUCE: {topost} net: hns3: fix tc setup when netdev is first up + - SAUCE: {topost} net: hns3: fix for mac pause not disable in pfc mode + - SAUCE: {topost} net: hns3: fix for waterline not setting correctly + - SAUCE: {topost} net: hns3: fix for l4 checksum offload bug + - SAUCE: {topost} net: hns3: fix for mailbox message truncated problem + - SAUCE: {topost} net: hns3: Add configure for mac minimal frame size + - SAUCE: {topost} net: hns3: fix warning bug when doing lp selftest + - SAUCE: {topost} net: hns3: fix get_vector ops in hclgevf_main module + - SAUCE: {topost} net: hns3: remove the warning when clear reset cause + - SAUCE: {topost} net: hns3: Use roce handle when calling roce callback + function + - SAUCE: {topost} net: hns3: prevent sending command during global or core + reset + - SAUCE: {topost} net: hns3: modify the order of initializeing command queue + register + - SAUCE: {topost} net: hns3: reset net device with rtnl_lock + - SAUCE: {topost} net: hns3: prevent to request reset frequently + - SAUCE: {topost} net: hns3: correct reset event status register + - SAUCE: {topost} net: hns3: separate roce from nic when resetting + - SAUCE: net: hns3: Fix for phy link issue when using marvell phy driver + - SAUCE: {topost} net: hns3: fix return value error in + hns3_reset_notify_down_enet + - SAUCE: {topost} net: hns3: remove unnecessary ring configuration operation + while resetting + - SAUCE: {topost} net: hns3: fix for reset_level default assignment probelm + - SAUCE: {topost} net: hns3: fix for using wrong mask and shift in + hclge_get_ring_chain_from_mbx + - SAUCE: {topost} net: hns3: fix comments for hclge_get_ring_chain_from_mbx + - SAUCE: net: hns3: Fix for VF mailbox cannot receiving PF response + - SAUCE: net: hns3: Fix for VF mailbox receiving unknown message + - SAUCE: net: hns3: Optimize PF CMDQ interrupt switching process + + * CVE-2018-7755 + - SAUCE: floppy: Do not copy a kernel pointer to user memory in FDGETPRM ioctl + + * Incorrect blacklist of bcm2835_wdt (LP: #1766052) + - [Packaging] Fix missing watchdog for Raspberry Pi + + * kernel: Fix arch random implementation (LP: #1775391) + - s390/archrandom: Rework arch random implementation. + + * [Ubuntu 1804][boston][ixgbe] EEH causes kernel BUG at /build/linux- + jWa1Fv/linux-4.15.0/drivers/pci/msi.c:352 (i2S) (LP: #1776389) + - ixgbe/ixgbevf: Free IRQ when PCI error recovery removes the device + + * Cosmic update to v4.17.2 stable release (LP: #1779117) + - crypto: chelsio - request to HW should wrap + - blkdev_report_zones_ioctl(): Use vmalloc() to allocate large buffers + - KVM: X86: Fix reserved bits check for MOV to CR3 + - KVM: x86: introduce linear_{read,write}_system + - kvm: fix typo in flag name + - kvm: nVMX: Enforce cpl=0 for VMX instructions + - KVM: x86: pass kvm_vcpu to kvm_read_guest_virt and + kvm_write_guest_virt_system + - kvm: x86: use correct privilege level for sgdt/sidt/fxsave/fxrstor access + - staging: android: ion: Switch to pr_warn_once in ion_buffer_destroy + - NFC: pn533: don't send USB data off of the stack + - usbip: vhci_sysfs: fix potential Spectre v1 + - usb-storage: Add support for FL_ALWAYS_SYNC flag in the UAS driver + - usb-storage: Add compatibility quirk flags for G-Technologies G-Drive + - Input: xpad - add GPD Win 2 Controller USB IDs + - phy: qcom-qusb2: Fix crash if nvmem cell not specified + - usb: core: message: remove extra endianness conversion in + usb_set_isoch_delay + - usb: typec: wcove: Remove dependency on HW FSM + - usb: gadget: function: printer: avoid wrong list handling in printer_write() + - usb: gadget: udc: renesas_usb3: fix double phy_put() + - usb: gadget: udc: renesas_usb3: should remove debugfs + - usb: gadget: udc: renesas_usb3: should call pm_runtime_enable() before add + udc + - usb: gadget: udc: renesas_usb3: should call devm_phy_get() before add udc + - usb: gadget: udc: renesas_usb3: should fail if devm_phy_get() returns error + - usb: gadget: udc: renesas_usb3: disable the controller's irqs for + reconnecting + - serial: sh-sci: Stop using printk format %pCr + - tty/serial: atmel: use port->name as name in request_irq() + - serial: samsung: fix maxburst parameter for DMA transactions + - serial: 8250: omap: Fix idling of clocks for unused uarts + - vmw_balloon: fixing double free when batching mode is off + - doc: fix sysfs ABI documentation + - arm64: defconfig: Enable CONFIG_PINCTRL_MT7622 by default + - tty: pl011: Avoid spuriously stuck-off interrupts + - crypto: ccree - correct host regs offset + - Input: goodix - add new ACPI id for GPD Win 2 touch screen + - Input: elan_i2c - add ELAN0612 (Lenovo v330 14IKB) ACPI ID + - crypto: caam - strip input zeros from RSA input buffer + - crypto: caam - fix DMA mapping dir for generated IV + - crypto: caam - fix IV DMA mapping and updating + - crypto: caam/qi - fix IV DMA mapping and updating + - crypto: caam - fix size of RSA prime factor q + - crypto: cavium - Fix fallout from CONFIG_VMAP_STACK + - crypto: cavium - Limit result reading attempts + - crypto: vmx - Remove overly verbose printk from AES init routines + - crypto: vmx - Remove overly verbose printk from AES XTS init + - crypto: omap-sham - fix memleak + - Linux 4.17.2 + + * Cosmic update to v4.17.1 stable release (LP: #1779116) + - netfilter: nf_flow_table: attach dst to skbs + - bnx2x: use the right constant + - ip6mr: only set ip6mr_table from setsockopt when ip6mr_new_table succeeds + - ipv6: omit traffic class when calculating flow hash + - l2tp: fix refcount leakage on PPPoL2TP sockets + - netdev-FAQ: clarify DaveM's position for stable backports + - net: metrics: add proper netlink validation + - net/packet: refine check for priv area size + - rtnetlink: validate attributes in do_setlink() + - sctp: not allow transport timeout value less than HZ/5 for hb_timer + - team: use netdev_features_t instead of u32 + - vrf: check the original netdevice for generating redirect + - net: dsa: b53: Fix for brcm tag issue in Cygnus SoC + - ipmr: fix error path when ipmr_new_table fails + - PCI: hv: Do not wait forever on a device that has disappeared + - Linux 4.17.1 + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: SAUCE: crypto: thunderx_zip: Fix fallout from + CONFIG_VMAP_STACK" + - Revert "UBUNTU: SAUCE: cred: Add clone_cred() interface" + - SAUCE: apparmor: userspace queries + - SAUCE: apparmor: patch to provide compatibility with v2.x net rules + - SAUCE: apparmor: af_unix mediation + + -- Seth Forshee Thu, 28 Jun 2018 08:03:32 -0500 + +linux (4.17.0-2.3) cosmic; urgency=medium + + * linux: 4.17.0-2.3 -proposed tracker (LP: #1776276) + + * Miscellaneous Ubuntu changes + - Config: remove IrDA from annotations + - Config: remove scsi drivers from annotations + - Config: remove BT_HCIBTUART from annotations + - Config: pstore zlib support was renamed + - Config: disable NVRAM for armhf on annotations + - Config: Disable VT on s390x + - Config: Update SSB and B43/B44 options + - Config: some options not supported on some arches anymore + - Config: renamed and removed options + - Config: TCG_CRB is required for IMA on ACPI systems + - Config: EXTCON_AXP288 depends on X86 + - Config: CONFIG_FSI depends on OF + - Config: DRM_RCAR_LVDS now depends on DRM + - CONFIG: Allow CONFIG_LEDS_MLXCPLD for i386 + - Config: Enable HINIC on arm64 + - Config: Set PPS and PTP_1588_CLOCK as y + - Config: Some NF_TABLES options are built-in now + - Config: GENERIC_CPU for ppc64el + - Config: KEXEC_FILE=n for s390x + - Config: CRYPTO_DEFLATE is needed by PSTORE_DEFLATE_COMPRESS + - Config: Disable STM32 support + - Config: Enable FORTIFY_SOURCE for armhf + - Config: use STRONG instead of AUTO for CC_STACKPROTECTOR + + [ Upstream Kernel Changes ] + + * Rebase to v4.17 + + -- Thadeu Lima de Souza Cascardo Mon, 11 Jun 2018 15:22:10 -0300 + +linux (4.17.0-1.2) cosmic; urgency=medium + + [ Seth Forshee ] + * [Config] enable EDAC_DEBUG on ARM64 (LP: #1772516) + - [Config]: set CONFIG_EDAC_DEBUG=y for ARM64 + + * Ubuntu 18.04 kernel crashed while in degraded mode (LP: #1770849) + - SAUCE: powerpc/perf: Fix memory allocation for core-imc based on + num_possible_cpus() + + * Integrated Webcam Realtek Integrated_Webcam_HD (0bda:58f4) not working in + DELL XPS 13 9370 with firmware 1.50 (LP: #1763748) + - SAUCE: media: uvcvideo: Support realtek's UVC 1.5 device + + * Switch Build-Depends: transfig to fig2dev (LP: #1770770) + - [Config] update Build-Depends: transfig to fig2dev + + * update-initramfs not adding i915 GuC firmware for Kaby Lake, firmware fails + to load (LP: #1728238) + - Revert "UBUNTU: SAUCE: (no-up) i915: Remove MODULE_FIRMWARE statements for + unreleased firmware" + + * No driver for Huawei network adapters on arm64 (LP: #1769899) + - net-next/hinic: add arm64 support + + * linux-snapdragon: reduce EPROBEDEFER noise during boot (LP: #1768761) + - [Config] snapdragon: DRM_I2C_ADV7511=y + + * Add d-i support for Huawei NICs (LP: #1767490) + - d-i: add hinic to nic-modules udeb + + * Acer Swift sf314-52 power button not managed (LP: #1766054) + - SAUCE: platform/x86: acer-wmi: add another KEY_POWER keycode + + * Include nfp driver in linux-modules (LP: #1768526) + - [Config] Add nfp.ko to generic inclusion list + + * Miscellaneous Ubuntu changes + - SAUCE: Import aufs driver + - [Config] Enable AUFS config options + - SAUCE: (efi-lockdown) Fix for module sig verification + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) efi: Don't print secure boot state from the efi stub + - [Config] CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT=y + - SAUCE: (efi-lockdown) really lock down kernel under EFI secure boot + - SAUCE: (noup) Update spl to 0.7.5-1ubuntu3, zfs to 0.7.5-1ubuntu17 + - enable zfs build + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: (efi-lockdown) ima: require secure_boot rules in + lockdown mode" + - Rebased to v4.17-rc6 + + -- Thadeu Lima de Souza Cascardo Tue, 22 May 2018 14:48:13 -0300 + +linux (4.17.0-0.1) bionic; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v4.17-rc4 + + -- Thadeu Lima de Souza Cascardo Tue, 08 May 2018 16:38:51 -0300 + +linux (4.17.0-0.0) bionic; urgency=medium + + * Dummy entry. + + -- Thadeu Lima de Souza Cascardo Fri, 27 Apr 2018 11:01:13 -0300 + +linux (4.16.0-4.5) bionic; urgency=medium + + * [18.04 FEAT] Add kvm_stat from kernel tree (LP: #1734130) + - tools/kvm_stat: Fix python3 syntax + - tools/kvm_stat: Don't use deprecated file() + - tools/kvm_stat: Remove unused function + - [Packaging] Add linux-tools-host package for VM host tools + - [Config] do_tools_host=true for amd64 + + * [Featire] CNL: Enable RAPL support (LP: #1685712) + - powercap: RAPL: Add support for Cannon Lake + + * Bionic update to v4.16.2 stable release (LP: #1763388) + - sparc64: Oracle DAX driver depends on SPARC64 + - arp: fix arp_filter on l3slave devices + - net: dsa: Discard frames from unused ports + - net/ipv6: Increment OUTxxx counters after netfilter hook + - net/sched: fix NULL dereference in the error path of tcf_bpf_init() + - pptp: remove a buggy dst release in pptp_connect() + - sctp: do not leak kernel memory to user space + - sctp: sctp_sockaddr_af must check minimal addr length for AF_INET6 + - vlan: also check phy_driver ts_info for vlan's real device + - net: fool proof dev_valid_name() + - ip_tunnel: better validate user provided tunnel names + - ipv6: sit: better validate user provided tunnel names + - ip6_gre: better validate user provided tunnel names + - ip6_tunnel: better validate user provided tunnel names + - vti6: better validate user provided tunnel names + - net_sched: fix a missing idr_remove() in u32_delete_key() + - nfp: use full 40 bits of the NSP buffer address + - Linux 4.16.2 + + * sky2 gigabit ethernet driver sometimes stops working after lid-open resume + from sleep (88E8055) (LP: #1758507) // Bionic update to v4.16.2 stable + release (LP: #1763388) + - sky2: Increase D3 delay to sky2 stops working after suspend + + * Merge the linux-snapdragon kernel into bionic master/snapdragon + (LP: #1763040) + - arm64: defconfig: enable REMOTEPROC + - arm64: defconfig: enable QCOM audio drivers for APQ8016 and DB410c + - kernel: configs; add distro.config + - arm64: configs: enable WCN36xx + - kernel: distro.config: enable debug friendly USB network adpater + - arm64: configs: enable QCOM Venus + - arm64: defconfig: Enable a53/apcs and avs + - arm64: defconfig: enable ondemand governor as default + - arm64: defconfig: enable QCOM_TSENS + - kernel: configs: enable dm_mod and dm_crypt + - Force the SMD regulator driver to be compiled-in + - arm64: defconfig: enable CFG80211_DEFAULT_PS by default + - arm64: configs: enable BT_QCOMSMD + - kernel: configs: add more USB net drivers + - arm64: defconfig: disable ANALOG_TV and DIGITAL_TV + - arm64: configs: Enable camera drivers + - kernel: configs: add freq stat to sysfs + - arm64: defconfig: enable CONFIG_USB_CONFIGFS_F_FS by default + - arm64: defconfig: Enable QRTR features + - kernel: configs: set USB_CONFIG_F_FS in distro.config + - kernel: distro.config: enable 'schedutil' CPUfreq governor + - kernel: distro.config: enable 'fq' and 'fq_codel' qdiscs + - kernel: distro.config: enable 'BBR' TCP congestion algorithm + - arm64: defconfig: enable LEDS_QCOM_LPG + - HACK: drm/msm/iommu: Remove runtime_put calls in map/unmap + - power: avs: Add support for CPR (Core Power Reduction) + - power: avs: cpr: Use raw mem access for qfprom + - power: avs: cpr: fix with new reg_sequence structures + - power: avs: cpr: Register with cpufreq-dt + - regulator: smd: Add floor and corner operations + - PM / OPP: Support adjusting OPP voltages at runtime + - PM / OPP: Drop RCU usage in dev_pm_opp_adjust_voltage() + - PM / OPP: HACK: Allow to set regulator without opp_list + - PM / OPP: Add a helper to get an opp regulator for device + - cpufreq: Add apq8016 to cpufreq-dt-platdev blacklist + - regulator: smd: Allow REGULATOR_QCOM_SMD_RPM=m + - ov5645: I2C address change + - i2c: Add Qualcomm Camera Control Interface driver + - camss: vfe: Skip first four frames from sensor + - camss: Do not register if no cameras are present + - i2c-qcom-cci: Fix run queue completion timeout + - i2c-qcom-cci: Fix I2C address bug + - media: ov5645: Fix I2C address + - drm/bridge/adv7511: Delay clearing of HPD interrupt status + - HACK: drm/msm/adv7511: Don't rely on interrupts for EDID parsing + - leds: Add driver for Qualcomm LPG + - wcn36xx: Fix warning due to duplicate scan_completed notification + - arm64: dts: Add CPR DT node for msm8916 + - arm64: dts: add spmi-regulator nodes + - arm64: dts: msm8916: Add cpufreq support + - arm64: dts: msm8916: Add a shared CPU opp table + - arm64: dts: msm8916: Add cpu cooling maps + - arm64: dts: pm8916: Mark the s2 regulator as always-on + - arm64: dts: qcom: msm8916: Add msm8916 A53 PLL DT node + - arm64: dts: qcom: msm8916: Use the new APCS mailbox driver + - arm64: dts: qcom: msm8916: Add clock properties to the APCS node + - dt-bindings: media: Binding document for Qualcomm Camera Control Interface + driver + - MAINTAINERS: Add Qualcomm Camera Control Interface driver + - DT: leds: Add Qualcomm Light Pulse Generator binding + - arm64: dts: qcom: msm8996: Add mpp and lpg blocks + - arm64: dts: qcom: Add pwm node for pm8916 + - arm64: dts: qcom: Add user LEDs on db820c + - arm64: dts: qcom: Add WiFI/BT LEDs on db820c + - ARM: dts: qcom: Add LPG node to pm8941 + - ARM: dts: qcom: honami: Add LPG node and RGB LED + - arm64: dts: qcom: Add Camera Control Interface support + - arm64: dts: qcom: Add apps_iommu vfe child node + - arm64: dts: qcom: Add camss device node + - arm64: dts: qcom: Add ov5645 device nodes + - arm64: dts: msm8916: Fix camera sensors I2C addresses + - arm: dts: qcom: db410c: Enable PWM signal on MPP4 + - packaging: arm64: add a uboot flavour - part1 + - packaging: arm64: add a uboot flavour - part2 + - packaging: arm64: add a uboot flavour - part3 + - packaging: arm64: add a uboot flavour - part4 + - packaging: arm64: add a uboot flavour - part5 + - packaging: arm64: rename uboot flavour to snapdragon + - [Config] updateconfigs after qcomlt import + - [Config] arm64: snapdragon: COMMON_CLK_QCOM=y + - [Config] arm64: snapdragon: MSM_GCC_8916=y + - [Config] arm64: snapdragon: REGULATOR_FIXED_VOLTAGE=y + - [Config] arm64: snapdragon: PINCTRL_MSM8916=y + - [Config] arm64: snapdragon: HWSPINLOCK_QCOM=y + - [Config] arm64: snapdragon: SPMI=y, SPMI_MSM_PMIC_ARB=y + - [Config] arm64: snapdragon: REGMAP_SPMI=y, PINCTRL_QCOM_SPMI_PMIC=y + - [Config] arm64: snapdragon: REGULATOR_QCOM_SPMI=y + - [Config] arm64: snapdragon: MFD_SPMI_PMIC=y + - [Config] arm64: snapdragon: QCOM_SMEM=y + - [Config] arm64: snapdragon: RPMSG=y, RPMSG_QCOM_SMD=y + - [Config] arm64: snapdragon: QCOM_SMD_RPM=y, REGULATOR_QCOM_SMD_RPM=y + - [Config] arm64: snapdragon: QCOM_CLK_SMD_RPM=y + - [Config] arm64: snapdragon: QCOM_BAM_DMA=y + - [Config] arm64: snapdragon: QCOM_HIDMA=y, QCOM_HIDMA_MGMT=y + - [Config] arm64: snapdragon: QCOM_CPR=y + - [Config] arm64: snapdragon: QCOM_QFPROM=y, QCOM_TSENS=y + - [Config] arm64: snapdragon: MMC_SDHCI=y, MMC_SDHCI_PLTFM=y, MMC_SDHCI_MSM=y + - [Config] turn off DRM_MSM_REGISTER_LOGGING + - [Config] arm64: snapdragon: I2C_QUP=y + - [Config] arm64: snapdragon: SPI_QUP=y + - [Config] arm64: snapdragon: USB_ULPI_BUS=y, PHY_QCOM_USB_HS=y + - [Config] arm64: snapdragon: QCOM_APCS_IPC=y + - [Config] arm64: snapdragon: QCOM_WCNSS_CTRL=y + - [Config] arm64: snapdragon: QCOM_SMSM=y + - [Config] arm64: snapdragon: QCOM_SMP2P=y + - [Config] arm64: snapdragon: DRM_MSM=y + - [Config] arm64: snapdragon: SND_SOC=y + - [Config] arm64: snapdragon: QCOM_WCNSS_PIL=m + - [Config] arm64: snapdragon: INPUT_PM8941_PWRKEY=y + - [Config] arm64: snapdragon: MEDIA_SUBDRV_AUTOSELECT=y, VIDEO_OV5645=m + - [Config] arm64: snapdragon: SND_SOC_APQ8016_SBC=y, SND_SOC_LPASS_APQ8016=y + - [Config] arm64: snapdragon: SND_SOC_MSM8916_WCD_ANALOG=y, + SND_SOC_MSM8916_WCD_DIGITAL=y + - SAUCE: media: ov5645: skip address change if dt addr == default addr + - SAUCE: drm/msm/adv7511: wrap hacks under CONFIG_ADV7511_SNAPDRAGON_HACKS + #ifdefs + - [Config] arm64: snapdragon: ADV7511_SNAPDRAGON_HACKS=y + - [Packaging] fix up snapdragon abi paths + + * LSM stacking patches for bionic (LP: #1763062) + - SAUCE: LSM stacking: procfs: add smack subdir to attrs + - SAUCE: LSM stacking: LSM: Manage credential security blobs + - SAUCE: LSM stacking: LSM: Manage file security blobs + - SAUCE: LSM stacking: LSM: Manage task security blobs + - SAUCE: LSM stacking: LSM: Manage remaining security blobs + - SAUCE: LSM stacking: LSM: General stacking + - SAUCE: LSM stacking: fixup initialize task->security + - SAUCE: LSM stacking: fixup: alloc_task_ctx is dead code + - SAUCE: LSM stacking: add support for stacking getpeersec_stream + - SAUCE: LSM stacking: add stacking support to apparmor network hooks + - SAUCE: LSM stacking: fixup apparmor stacking enablement + - SAUCE: LSM stacking: fixup stacking kconfig + - SAUCE: LSM stacking: allow selecting multiple LSMs using kernel boot params + - SAUCE: LSM stacking: provide prctl interface for setting context + - SAUCE: LSM stacking: inherit current display LSM + - SAUCE: LSM stacking: keep an index for each registered LSM + - SAUCE: LSM stacking: verify display LSM + - SAUCE: LSM stacking: provide a way to specify the default display lsm + - SAUCE: LSM stacking: make sure LSM blob align on 64 bit boundaries + - SAUCE: LSM stacking: add /proc//attr/display_lsm + - SAUCE: LSM stacking: add Kconfig to set default display LSM + - SAUCE: LSM stacking: add configs for LSM stacking + - SAUCE: LSM stacking: add apparmor and selinux proc dirs + - SAUCE: LSM stacking: remove procfs context interface + + * linux 4.13.0-13.14 ADT test failure with linux 4.13.0-13.14 + (LP: #1720779) // LSM stacking patches for bionic (LP: #1763062) + - SAUCE: LSM stacking: check for invalid zero sized writes + + * Support cq/rq record doorbell for RDMA on HSilicon hip08 systems + (LP: #1762755) + - RDMA/hns: Support rq record doorbell for the user space + - RDMA/hns: Support cq record doorbell for the user space + - RDMA/hns: Support rq record doorbell for kernel space + - RDMA/hns: Support cq record doorbell for kernel space + - RDMA/hns: Fix cqn type and init resp + - RDMA/hns: Fix init resp when alloc ucontext + - RDMA/hns: Fix cq record doorbell enable in kernel + + * Replace LPC patchset with upstream version (LP: #1762758) + - Revert "UBUNTU: SAUCE: MAINTAINERS: Add maintainer for HiSilicon LPC driver" + - Revert "UBUNTU: SAUCE: HISI LPC: Add ACPI support" + - Revert "UBUNTU: SAUCE: ACPI / scan: do not enumerate Indirect IO host + children" + - Revert "UBUNTU: SAUCE: HISI LPC: Support the LPC host on Hip06/Hip07 with DT + bindings" + - Revert "UBUNTU: SAUCE: OF: Add missing I/O range exception for indirect-IO + devices" + - Revert "UBUNTU: SAUCE: PCI: Apply the new generic I/O management on PCI IO + hosts" + - Revert "UBUNTU: SAUCE: PCI: Add fwnode handler as input param of + pci_register_io_range()" + - Revert "UBUNTU: SAUCE: PCI: Remove unused __weak attribute in + pci_register_io_range()" + - Revert "UBUNTU: SAUCE: LIB: Introduce a generic PIO mapping method" + - lib: Add generic PIO mapping method + - PCI: Remove __weak tag from pci_register_io_range() + - PCI: Add fwnode handler as input param of pci_register_io_range() + - PCI: Apply the new generic I/O management on PCI IO hosts + - of: Add missing I/O range exception for indirect-IO devices + - HISI LPC: Support the LPC host on Hip06/Hip07 with DT bindings + - ACPI / scan: Rename acpi_is_serial_bus_slave() for more general use + - ACPI / scan: Do not enumerate Indirect IO host children + - HISI LPC: Add ACPI support + - MAINTAINERS: Add John Garry as maintainer for HiSilicon LPC driver + + * Enable Tunneled Operations on POWER9 (LP: #1762448) + - powerpc/powernv: Enable tunneled operations + - cxl: read PHB indications from the device tree + + * PSL traces reset after PERST for debug AFU image (LP: #1762462) + - cxl: Enable NORST bit in PSL_DEBUG register for PSL9 + + * NFS + sec=krb5 is broken (LP: #1759791) + - sunrpc: remove incorrect HMAC request initialization + + * Raspberry Pi 3 microSD support missing from the installer (LP: #1729128) + - d-i: add bcm2835 to block-modules + + * Backport USB core quirks (LP: #1762695) + - usb: core: Add "quirks" parameter for usbcore + - usb: core: Copy parameter string correctly and remove superfluous null check + - usb: core: Add USB_QUIRK_DELAY_CTRL_MSG to usbcore quirks + + * [Ubuntu 18.04] cryptsetup: 'device-mapper: reload ioctl on failed' when + setting up a second end-to-end encrypted disk (LP: #1762353) + - SAUCE: s390/crypto: Adjust s390 aes and paes cipher + + * System Z {kernel} UBUNTU18.04 wrong kernel config (LP: #1762719) + - s390: move nobp parameter functions to nospec-branch.c + - s390: add automatic detection of the spectre defense + - s390: report spectre mitigation via syslog + - s390: add sysfs attributes for spectre + - [Config] CONFIG_EXPOLINE_AUTO=y, CONFIG_KERNEL_NOBP=n for s390 + - s390: correct nospec auto detection init order + + * Additional spectre and meltdown patches (LP: #1760099) // CVE-2017-5715 + - powerpc/64s: Wire up cpu_show_spectre_v2() + + * Additional spectre and meltdown patches (LP: #1760099) // CVE-2017-5753 + - powerpc/64s: Wire up cpu_show_spectre_v1() + + * Additional spectre and meltdown patches (LP: #1760099) // CVE-2017-5754 + - powerpc/rfi-flush: Move the logic to avoid a redo into the debugfs code + - powerpc/rfi-flush: Make it possible to call setup_rfi_flush() again + - powerpc/rfi-flush: Always enable fallback flush on pseries + - powerpc/rfi-flush: Differentiate enabled and patched flush types + - powerpc/rfi-flush: Call setup_rfi_flush() after LPM migration + - powerpc/64s: Move cpu_show_meltdown() + - powerpc/64s: Enhance the information in cpu_show_meltdown() + - powerpc/powernv: Use the security flags in pnv_setup_rfi_flush() + - powerpc/pseries: Use the security flags in pseries_setup_rfi_flush() + + * Additional spectre and meltdown patches (LP: #1760099) // CVE-2017-5715 // + CVE-2017-5753 // CVE-2017-5754 + - powerpc/pseries: Add new H_GET_CPU_CHARACTERISTICS flags + - powerpc: Add security feature flags for Spectre/Meltdown + - powerpc/pseries: Set or clear security feature flags + - powerpc/powernv: Set or clear security feature flags + + * Hisilicon network subsystem 3 support (LP: #1761610) + - net: hns3: export pci table of hclge and hclgevf to userspace + - d-i: Add hns3 drivers to nic-modules + + * "ip a" command on a guest VM shows UNKNOWN status (LP: #1761534) + - virtio-net: Fix operstate for virtio when no VIRTIO_NET_F_STATUS + + * perf vendor events arm64: Enable JSON events for ThunderX2 B0 (LP: #1760712) + - perf vendor events: Drop incomplete multiple mapfile support + - perf vendor events: Fix error code in json_events() + - perf vendor events: Drop support for unused topic directories + - perf vendor events: Add support for pmu events vendor subdirectory + - perf vendor events arm64: Relocate ThunderX2 JSON to cavium subdirectory + - perf vendor events arm64: Relocate Cortex A53 JSONs to arm subdirectory + - perf vendor events: Add support for arch standard events + - perf vendor events arm64: Add armv8-recommended.json + - perf vendor events arm64: Fixup ThunderX2 to use recommended events + - perf vendor events arm64: fixup A53 to use recommended events + - perf vendor events arm64: add HiSilicon hip08 JSON file + - perf vendor events arm64: Enable JSON events for ThunderX2 B0 + + * Warning "cache flush timed out!" seen when unloading the cxl driver + (LP: #1762367) + - cxl: Check if PSL data-cache is available before issue flush request + + * Bionic update to v4.16.1 stable release (LP: #1763170) + - bitmap: fix memset optimization on big-endian systems + - USB: serial: ftdi_sio: add RT Systems VX-8 cable + - USB: serial: ftdi_sio: add support for Harman FirmwareHubEmulator + - USB: serial: cp210x: add ELDAT Easywave RX09 id + - serial: 8250: Add Nuvoton NPCM UART + - mei: remove dev_err message on an unsupported ioctl + - /dev/mem: Avoid overwriting "err" in read_mem() + - media: usbtv: prevent double free in error case + - parport_pc: Add support for WCH CH382L PCI-E single parallel port card. + - crypto: lrw - Free rctx->ext with kzfree + - crypto: ccp - Fill the result buffer only on digest, finup, and final ops + - crypto: talitos - don't persistently map req_ctx->hw_context and + req_ctx->buf + - crypto: inside-secure - fix clock management + - crypto: testmgr - Fix incorrect values in PKCS#1 test vector + - crypto: talitos - fix IPsec cipher in length + - crypto: ahash - Fix early termination in hash walk + - crypto: caam - Fix null dereference at error path + - crypto: ccp - return an actual key size from RSA max_size callback + - crypto: arm,arm64 - Fix random regeneration of S_shipped + - crypto: x86/cast5-avx - fix ECB encryption when long sg follows short one + - Bluetooth: hci_bcm: Add 6 new ACPI HIDs + - Btrfs: fix unexpected cow in run_delalloc_nocow + - siox: fix possible buffer overflow in device_add_store + - staging: comedi: ni_mio_common: ack ai fifo error interrupts. + - Revert "base: arch_topology: fix section mismatch build warnings" + - Input: ALPS - fix TrackStick detection on Thinkpad L570 and Latitude 7370 + - Input: i8042 - add Lenovo ThinkPad L460 to i8042 reset list + - Input: i8042 - enable MUX on Sony VAIO VGN-CS series to fix touchpad + - vt: change SGR 21 to follow the standards + - Fix slab name "biovec-(1<<(21-12))" + - signal: Correct the offset of si_pkey and si_lower in struct siginfo on m68k + - Linux 4.16.1 + + * [18.04][config] regression: nvme and nvme_core couldn't be built as modules + starting 4.15-rc2 (LP: #1759893) + - SAUCE: Revert "lightnvm: include NVM Express driver if OCSSD is selected for + build" + - [Config] CONFIG_BLK_DEV_NMVE=m + + * FFe: Enable configuring resume offset via sysfs (LP: #1760106) + - PM / hibernate: Make passing hibernate offsets more friendly + + * Ubuntu18.04:POWER9:DD2.2 - Unable to start a KVM guest with default machine + type(pseries-bionic) complaining "KVM implementation does not support + Transactional Memory, try cap-htm=off" (kvm) (LP: #1752026) + - powerpc: Use feature bit for RTC presence rather than timebase presence + - powerpc: Book E: Remove unused CPU_FTR_L2CSR bit + - powerpc: Free up CPU feature bits on 64-bit machines + - powerpc: Add CPU feature bits for TM bug workarounds on POWER9 v2.2 + - powerpc/powernv: Provide a way to force a core into SMT4 mode + - KVM: PPC: Book3S HV: Work around transactional memory bugs in POWER9 + - KVM: PPC: Book3S HV: Work around XER[SO] bug in fake suspend mode + - KVM: PPC: Book3S HV: Work around TEXASR bug in fake suspend state + + * [Feature][CFL][ICL] [CNL]Thunderbolt support (Titan Ridge) (LP: #1730775) + - thunderbolt: Resume control channel after hibernation image is created + - thunderbolt: Serialize PCIe tunnel creation with PCI rescan + - thunderbolt: Handle connecting device in place of host properly + - thunderbolt: Do not overwrite error code when domain adding fails + - thunderbolt: Wait a bit longer for root switch config space + - thunderbolt: Wait a bit longer for ICM to authenticate the active NVM + - thunderbolt: Handle rejected Thunderbolt devices + - thunderbolt: Factor common ICM add and update operations out + - thunderbolt: Correct function name in kernel-doc comment + - thunderbolt: Add tb_switch_get() + - thunderbolt: Add tb_switch_find_by_route() + - thunderbolt: Add tb_xdomain_find_by_route() + - thunderbolt: Add constant for approval timeout + - thunderbolt: Move driver ready handling to struct icm + - thunderbolt: Add 'boot' attribute for devices + - thunderbolt: Add support for preboot ACL + - thunderbolt: Introduce USB only (SL4) security level + - thunderbolt: Add support for Intel Titan Ridge + + * QCA9377 requires more IRAM banks for its new firmware (LP: #1748345) + - ath10k: update the IRAM bank number for QCA9377 + + * Fix an issue that when system in S3, USB keyboard can't wake up the system. + (LP: #1759511) + - ACPI / PM: Allow deeper wakeup power states with no _SxD nor _SxW + + * cxl: Fix timebase synchronization status on POWER9 missing (CAPI) + (LP: #1757228) + - cxl: Fix timebase synchronization status on P9 + + * [Feature]Update Ubuntu 18.04 lpfc FC driver with 32/64GB HBA support and bug + fixes (LP: #1752182) + - scsi: lpfc: Fix frequency of Release WQE CQEs + - scsi: lpfc: Increase CQ and WQ sizes for SCSI + - scsi: lpfc: move placement of target destroy on driver detach + - scsi: lpfc: correct debug counters for abort + - scsi: lpfc: Add WQ Full Logic for NVME Target + - scsi: lpfc: Fix PRLI handling when topology type changes + - scsi: lpfc: Fix IO failure during hba reset testing with nvme io. + - scsi: lpfc: Fix RQ empty firmware trap + - scsi: lpfc: Allow set of maximum outstanding SCSI cmd limit for a target + - scsi: lpfc: Fix soft lockup in lpfc worker thread during LIP testing + - scsi: lpfc: Fix issue_lip if link is disabled + - scsi: lpfc: Indicate CONF support in NVMe PRLI + - scsi: lpfc: Fix SCSI io host reset causing kernel crash + - scsi: lpfc: Validate adapter support for SRIU option + - scsi: lpfc: Fix header inclusion in lpfc_nvmet + - scsi: lpfc: Treat SCSI Write operation Underruns as an error + - scsi: lpfc: Fix nonrecovery of NVME controller after cable swap. + - scsi: lpfc: update driver version to 11.4.0.7 + - scsi: lpfc: Update 11.4.0.7 modified files for 2018 Copyright + - scsi: lpfc: Rework lpfc to allow different sli4 cq and eq handlers + - scsi: lpfc: Rework sli4 doorbell infrastructure + - scsi: lpfc: Add SLI-4 if_type=6 support to the code base + - scsi: lpfc: Add push-to-adapter support to sli4 + - scsi: lpfc: Add PCI Ids for if_type=6 hardware + - scsi: lpfc: Add 64G link speed support + - scsi: lpfc: Add if_type=6 support for cycling valid bits + - scsi: lpfc: Enable fw download on if_type=6 devices + - scsi: lpfc: Add embedded data pointers for enhanced performance + - scsi: lpfc: Fix nvme embedded io length on new hardware + - scsi: lpfc: Work around NVME cmd iu SGL type + - scsi: lpfc: update driver version to 12.0.0.0 + - scsi: lpfc: Change Copyright of 12.0.0.0 modified files to 2018 + - scsi: lpfc: use __raw_writeX on DPP copies + - scsi: lpfc: Add missing unlock in WQ full logic + + * /dev/bcache/by-uuid links not created after reboot (LP: #1729145) + - SAUCE: (no-up) bcache: decouple emitting a cached_dev CHANGE uevent + + * DKMS driver builds fail with: Cannot use CONFIG_STACK_VALIDATION=y, please + install libelf-dev, libelf-devel or elfutils-libelf-devel (LP: #1760876) + - [Packaging] include the retpoline extractor in the headers + + * Use med_with_dipm SATA LPM to save more power for mobile platforms + (LP: #1759547) + - [Config] CONFIG_SATA_MOBILE_LPM_POLICY=3 + + * Miscellaneous Ubuntu changes + - [Packaging] Only install cloud init files when do_tools_common=true + - SAUCE: Import aufs driver + - [Config] Enable AUFS config options + + -- Seth Forshee Thu, 12 Apr 2018 09:30:56 -0500 + +linux (4.16.0-3.4) bionic; urgency=medium + + * Allow multiple mounts of zfs datasets (LP: #1759848) + - SAUCE: Allow mounting datasets more than once (LP: #1759848) + + * zfs system process hung on container stop/delete (LP: #1754584) + - SAUCE: Fix non-prefaulted page deadlock (LP: #1754584) + - Revert "UBUNTU: SAUCE: Fix non-prefaulted page deadlock (LP: #1754584)" + - SAUCE: Fix non-prefaulted page deadlock (LP: #1754584) + + * ubuntu_zram_smoke test will cause soft lockup on Artful ThunderX ARM64 + (LP: #1755073) + - SAUCE: crypto: thunderx_zip: Fix fallout from CONFIG_VMAP_STACK + + * CAPI Flash (cxlflash) update (LP: #1752672) + - SAUCE: cxlflash: Preserve number of interrupts for master contexts + - SAUCE: cxlflash: Avoid clobbering context control register value + - SAUCE: cxlflash: Add argument identifier names + - SAUCE: cxlflash: Introduce OCXL backend + - SAUCE: cxlflash: Hardware AFU for OCXL + - SAUCE: cxlflash: Read host function configuration + - SAUCE: cxlflash: Setup function acTag range + - SAUCE: cxlflash: Read host AFU configuration + - SAUCE: cxlflash: Setup AFU acTag range + - SAUCE: cxlflash: Setup AFU PASID + - SAUCE: cxlflash: Adapter context support for OCXL + - SAUCE: cxlflash: Use IDR to manage adapter contexts + - SAUCE: cxlflash: Support adapter file descriptors for OCXL + - SAUCE: cxlflash: Support adapter context discovery + - SAUCE: cxlflash: Support image reload policy modification + - SAUCE: cxlflash: MMIO map the AFU + - SAUCE: cxlflash: Support starting an adapter context + - SAUCE: cxlflash: Support process specific mappings + - SAUCE: cxlflash: Support AFU state toggling + - SAUCE: cxlflash: Support reading adapter VPD data + - SAUCE: cxlflash: Setup function OCXL link + - SAUCE: cxlflash: Setup OCXL transaction layer + - SAUCE: cxlflash: Support process element lifecycle + - SAUCE: cxlflash: Support AFU interrupt management + - SAUCE: cxlflash: Support AFU interrupt mapping and registration + - SAUCE: cxlflash: Support starting user contexts + - SAUCE: cxlflash: Support adapter context polling + - SAUCE: cxlflash: Support adapter context reading + - SAUCE: cxlflash: Support adapter context mmap and release + - SAUCE: cxlflash: Support file descriptor mapping + - SAUCE: cxlflash: Introduce object handle fop + - SAUCE: cxlflash: Setup LISNs for user contexts + - SAUCE: cxlflash: Setup LISNs for master contexts + - SAUCE: cxlflash: Update synchronous interrupt status bits + - SAUCE: cxlflash: Introduce OCXL context state machine + - SAUCE: cxlflash: Register for translation errors + - SAUCE: cxlflash: Support AFU reset + - SAUCE: cxlflash: Enable OCXL operations + + * [Artful][Wyse 3040] System hang when trying to enable an offlined CPU core + (LP: #1736393) + - SAUCE: drm/i915:Don't set chip specific data + - SAUCE: drm/i915: make previous commit affects Wyse 3040 only + + * zed process consuming 100% cpu (LP: #1751796) + - SAUCE: Fix ioctl loop-spin in zed (LP: #1751796) + + * Ubuntu18.04:PowerPC - Set Transparent Huge Pages (THP) by default to + "always" (LP: #1753708) + - Config: Set TRANSPARENT_HUGEPAGE_ALWAYS=y on ppc64el + + * retpoline hints: primary infrastructure and initial hints (LP: #1758856) + - [Packaging] retpoline -- add safe usage hint support + - [Packaging] retpoline-check -- only report additions + - [Packaging] retpoline -- widen indirect call/jmp detection + - [Packaging] retpoline -- elide %rip relative indirections + - [Packaging] retpoline -- clear hint information from packages + - SAUCE: apm -- annotate indirect calls within + firmware_restrict_branch_speculation_{start,end} + - SAUCE: EFI -- annotate indirect calls within + firmware_restrict_branch_speculation_{start,end} + - SAUCE: early/late -- annotate indirect calls in early/late initialisation + code + - SAUCE: vga_set_mode -- avoid jump tables + - [Config] retpoine -- switch to new format + + * Miscellaneous Ubuntu changes + - [Packaging] final-checks -- remove check for empty retpoline files + - [Packaging] skip cloud tools packaging when not building package + + [ Upstream Kernel Changes ] + + * Rebase to v4.16 + + -- Seth Forshee Mon, 02 Apr 2018 16:15:36 -0500 + +linux (4.16.0-2.3) bionic; urgency=medium + + * devpts: handle bind-mounts (LP: #1755857) + - SAUCE: devpts: hoist out check for DEVPTS_SUPER_MAGIC + - SAUCE: devpts: resolve devpts bind-mounts + - SAUCE: devpts: comment devpts_mntget() + - SAUCE: selftests: add devpts selftests + + * [bionic][arm64] d-i: add hisi_sas_v3_hw to scsi-modules (LP: #1756103) + - d-i: add hisi_sas_v3_hw to scsi-modules + + * [Bionic][ARM64] PCI and SAS driver patches for hip08 SoCs (LP: #1756094) + - SAUCE: scsi: hisi_sas: config for hip08 ES + - SAUCE: scsi: hisi_sas: export device table of v3 hw to userspace + + * s390/crypto: Fix kernel crash on aes_s390 module remove (LP: #1753424) + - SAUCE: s390/crypto: Fix kernel crash on aes_s390 module remove. + + * Fix ARC hit rate (LP: #1755158) + - SAUCE: Fix ARC hit rate (LP: #1755158) + + * ZFS setgid broken on 0.7 (LP: #1753288) + - SAUCE: Fix ZFS setgid + + * CONFIG_EFI=y on armhf (LP: #1726362) + - [Config] CONFIG_EFI=y on armhf, reconcile secureboot EFI settings + + * [Feature] Add xHCI debug device support in the driver (LP: #1730832) + - [Config] CONFIG_USB_XHCI_DBGCAP=y + + * retpoline: ignore %cs:0xNNN constant indirections (LP: #1752655) + - [Packaging] retpoline -- elide %cs:0xNNNN constants on i386 + - [Config] retpoline -- clean up i386 retpoline files + + * Miscellaneous Ubuntu changes + - [Packaging] retpoline-extract: flag *0xNNN(%reg) branches + - [Config] fix up retpoline abi files + - [Config] fix up retpoline abi files + - d-i: Add netsec to nic-modules + + [ Upstream Kernel Changes ] + + * Rebase to v4.16-rc6 + + -- Seth Forshee Mon, 19 Mar 2018 14:09:49 -0500 + +linux (4.16.0-1.2) bionic; urgency=medium + + * Driver not found in Ubuntu kernel does not detect interface (LP: #1745927) + - d-i: add cxgb4 to nic-modules + + * Support low-pin-count devices on Hisilicon SoCs (LP: #1677319) + - [Config] CONFIG_INDIRECT_PIO=y + - SAUCE: LIB: Introduce a generic PIO mapping method + - SAUCE: PCI: Remove unused __weak attribute in pci_register_io_range() + - SAUCE: PCI: Add fwnode handler as input param of pci_register_io_range() + - SAUCE: PCI: Apply the new generic I/O management on PCI IO hosts + - SAUCE: OF: Add missing I/O range exception for indirect-IO devices + - [Config] CONFIG_HISILICON_LPC=y + - SAUCE: HISI LPC: Support the LPC host on Hip06/Hip07 with DT bindings + - SAUCE: ACPI / scan: do not enumerate Indirect IO host children + - SAUCE: HISI LPC: Add ACPI support + - SAUCE: MAINTAINERS: Add maintainer for HiSilicon LPC driver + + * Miscellaneous Ubuntu changes + - SAUCE: tools: use CC for linking acpi tools + + [ Upstream Kernel Changes ] + + * Rebase to v4.16-rc3 + + -- Seth Forshee Wed, 28 Feb 2018 10:17:23 -0600 + +linux (4.16.0-0.1) bionic; urgency=medium + + * retpoline abi files are empty on i386 (LP: #1751021) + - [Packaging] retpoline-extract -- instantiate retpoline files for i386 + - [Packaging] final-checks -- sanity checking ABI contents + - [Packaging] final-checks -- check for empty retpoline files + + * Miscellaneous upstream changes + - disable vbox build + - Disable zfs build + + [ Upstream Kernel Changes ] + + * Rebase to v4.16-rc2 + + -- Seth Forshee Thu, 22 Feb 2018 08:58:57 -0600 + +linux (4.16.0-0.0) bionic; urgency=medium + + * Dummy entry + + -- Seth Forshee Wed, 21 Feb 2018 14:33:13 -0600 + +linux (4.15.0-10.11) bionic; urgency=medium + + * linux: 4.15.0-10.11 -proposed tracker (LP: #1749250) + + * "swiotlb: coherent allocation failed" dmesg spam with linux 4.15.0-9.10 + (LP: #1749202) + - swiotlb: suppress warning when __GFP_NOWARN is set + - drm/ttm: specify DMA_ATTR_NO_WARN for huge page pools + + * linux-tools: perf incorrectly linking libbfd (LP: #1748922) + - SAUCE: tools -- add ability to disable libbfd + - [Packaging] correct disablement of libbfd + + * [Artful] Realtek ALC225: 2 secs noise when a headset plugged in + (LP: #1744058) + - ALSA: hda/realtek - update ALC225 depop optimize + + * [Artful] Support headset mode for DELL WYSE (LP: #1723913) + - SAUCE: ALSA: hda/realtek - Add support headset mode for DELL WYSE + + * headset mic can't be detected on two Dell machines (LP: #1748807) + - ALSA: hda/realtek - Support headset mode for ALC215/ALC285/ALC289 + - ALSA: hda - Fix headset mic detection problem for two Dell machines + + * Bionic update to v4.15.3 stable release (LP: #1749191) + - ip6mr: fix stale iterator + - net: igmp: add a missing rcu locking section + - qlcnic: fix deadlock bug + - qmi_wwan: Add support for Quectel EP06 + - r8169: fix RTL8168EP take too long to complete driver initialization. + - tcp: release sk_frag.page in tcp_disconnect + - vhost_net: stop device during reset owner + - ipv6: addrconf: break critical section in addrconf_verify_rtnl() + - ipv6: change route cache aging logic + - Revert "defer call to mem_cgroup_sk_alloc()" + - net: ipv6: send unsolicited NA after DAD + - rocker: fix possible null pointer dereference in + rocker_router_fib_event_work + - tcp_bbr: fix pacing_gain to always be unity when using lt_bw + - cls_u32: add missing RCU annotation. + - ipv6: Fix SO_REUSEPORT UDP socket with implicit sk_ipv6only + - soreuseport: fix mem leak in reuseport_add_sock() + - net_sched: get rid of rcu_barrier() in tcf_block_put_ext() + - net: sched: fix use-after-free in tcf_block_put_ext + - media: mtk-vcodec: add missing MODULE_LICENSE/DESCRIPTION + - media: soc_camera: soc_scale_crop: add missing + MODULE_DESCRIPTION/AUTHOR/LICENSE + - media: tegra-cec: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - gpio: uniphier: fix mismatch between license text and MODULE_LICENSE + - crypto: tcrypt - fix S/G table for test_aead_speed() + - Linux 4.15.3 + + * bnx2x_attn_int_deasserted3:4323 MC assert! (LP: #1715519) // + CVE-2018-1000026 + - net: create skb_gso_validate_mac_len() + - bnx2x: disable GSO where gso_size is too big for hardware + + * ethtool -p fails to light NIC LED on HiSilicon D05 systems (LP: #1748567) + - net: hns: add ACPI mode support for ethtool -p + + * CVE-2017-5715 (Spectre v2 Intel) + - [Packaging] retpoline files must be sorted + - [Packaging] pull in retpoline files + + * [Feature] PXE boot with Intel Omni-Path (LP: #1712031) + - d-i: Add hfi1 to nic-modules + + * CVE-2017-5715 (Spectre v2 retpoline) + - [Packaging] retpoline -- add call site validation + - [Config] disable retpoline checks for first upload + + * Do not duplicate changelog entries assigned to more than one bug or CVE + (LP: #1743383) + - [Packaging] git-ubuntu-log -- handle multiple bugs/cves better + + -- Seth Forshee Tue, 13 Feb 2018 11:33:58 -0600 + +linux (4.15.0-9.10) bionic; urgency=medium + + * linux: 4.15.0-9.10 -proposed tracker (LP: #1748244) + + * Miscellaneous Ubuntu changes + - [Debian] tests -- remove gcc-multilib dependency for arm64 + + -- Seth Forshee Thu, 08 Feb 2018 11:25:04 -0600 + +linux (4.15.0-8.9) bionic; urgency=medium + + * linux: 4.15.0-8.9 -proposed tracker (LP: #1748075) + + * Bionic update to v4.15.2 stable release (LP: #1748072) + - KVM: x86: Make indirect calls in emulator speculation safe + - KVM: VMX: Make indirect call speculation safe + - module/retpoline: Warn about missing retpoline in module + - x86/cpufeatures: Add CPUID_7_EDX CPUID leaf + - x86/cpufeatures: Add Intel feature bits for Speculation Control + - x86/cpufeatures: Add AMD feature bits for Speculation Control + - x86/msr: Add definitions for new speculation control MSRs + - x86/pti: Do not enable PTI on CPUs which are not vulnerable to Meltdown + - x86/cpufeature: Blacklist SPEC_CTRL/PRED_CMD on early Spectre v2 microcodes + - x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier) support + - x86/alternative: Print unadorned pointers + - x86/nospec: Fix header guards names + - x86/bugs: Drop one "mitigation" from dmesg + - x86/cpu/bugs: Make retpoline module warning conditional + - x86/cpufeatures: Clean up Spectre v2 related CPUID flags + - x86/retpoline: Simplify vmexit_fill_RSB() + - x86/speculation: Simplify indirect_branch_prediction_barrier() + - auxdisplay: img-ascii-lcd: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - iio: adc/accel: Fix up module licenses + - pinctrl: pxa: pxa2xx: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - ASoC: pcm512x: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - KVM: nVMX: Eliminate vmcs02 pool + - KVM: VMX: introduce alloc_loaded_vmcs + - objtool: Improve retpoline alternative handling + - objtool: Add support for alternatives at the end of a section + - objtool: Warn on stripped section symbol + - x86/mm: Fix overlap of i386 CPU_ENTRY_AREA with FIX_BTMAP + - x86/spectre: Check CONFIG_RETPOLINE in command line parser + - x86/entry/64: Remove the SYSCALL64 fast path + - x86/entry/64: Push extra regs right away + - x86/asm: Move 'status' from thread_struct to thread_info + - Documentation: Document array_index_nospec + - array_index_nospec: Sanitize speculative array de-references + - x86: Implement array_index_mask_nospec + - x86: Introduce barrier_nospec + - x86: Introduce __uaccess_begin_nospec() and uaccess_try_nospec + - x86/usercopy: Replace open coded stac/clac with __uaccess_{begin, end} + - x86/uaccess: Use __uaccess_begin_nospec() and uaccess_try_nospec + - x86/get_user: Use pointer masking to limit speculation + - x86/syscall: Sanitize syscall table de-references under speculation + - vfs, fdtable: Prevent bounds-check bypass via speculative execution + - nl80211: Sanitize array index in parse_txq_params + - x86/spectre: Report get_user mitigation for spectre_v1 + - x86/spectre: Fix spelling mistake: "vunerable"-> "vulnerable" + - x86/cpuid: Fix up "virtual" IBRS/IBPB/STIBP feature bits on Intel + - x86/speculation: Use Indirect Branch Prediction Barrier in context switch + - x86/paravirt: Remove 'noreplace-paravirt' cmdline option + - KVM: VMX: make MSR bitmaps per-VCPU + - x86/kvm: Update spectre-v1 mitigation + - x86/retpoline: Avoid retpolines for built-in __init functions + - x86/spectre: Simplify spectre_v2 command line parsing + - x86/pti: Mark constant arrays as __initconst + - x86/speculation: Fix typo IBRS_ATT, which should be IBRS_ALL + - KVM/x86: Update the reverse_cpuid list to include CPUID_7_EDX + - KVM/x86: Add IBPB support + - KVM/VMX: Emulate MSR_IA32_ARCH_CAPABILITIES + - KVM/VMX: Allow direct access to MSR_IA32_SPEC_CTRL + - KVM/SVM: Allow direct access to MSR_IA32_SPEC_CTRL + - serial: core: mark port as initialized after successful IRQ change + - fpga: region: release of_parse_phandle nodes after use + - Linux 4.15.2 + + * Add support for the NIC on SynQuacer E-Series boards (LP: #1747792) + - net: phy: core: remove now uneeded disabling of interrupts + - [Config] CONFIG_NET_VENDOR_SOCIONEXT=y & CONFIG_SNI_NETSEC=m + - net: socionext: Add Synquacer NetSec driver + - net: socionext: include linux/io.h to fix build + - net: socionext: Fix error return code in netsec_netdev_open() + + * [Artful/Bionic] [Config] enable EDAC_GHES for ARM64 (LP: #1747746) + - [Config] CONFIG_EDAC_GHES=y + + * support thunderx2 vendor pmu events (LP: #1747523) + - perf pmu: Pass pmu as a parameter to get_cpuid_str() + - perf tools arm64: Add support for get_cpuid_str function. + - perf pmu: Add helper function is_pmu_core to detect PMU CORE devices + - perf vendor events arm64: Add ThunderX2 implementation defined pmu core + events + - perf pmu: Add check for valid cpuid in perf_pmu__find_map() + + * linux 4.14.0-7.9 ADT test failure with linux 4.14.0-7.9 (LP: #1732463) + - SAUCE: mm: disable vma based swap readahead by default + - SAUCE: mm: fix memory hotplug in ZONE_HIGHMEM + + * Miscellaneous Ubuntu changes + - [Config] Fix CONFIG_PROFILE_ALL_BRANCHES annotations + + -- Seth Forshee Wed, 07 Feb 2018 21:13:27 -0600 + +linux (4.15.0-7.8) bionic; urgency=medium + + * Bionic update to v4.15.1 stable release (LP: #1747169) + - Bluetooth: hci_serdev: Init hci_uart proto_lock to avoid oops + - tools/gpio: Fix build error with musl libc + - gpio: stmpe: i2c transfer are forbiden in atomic context + - gpio: Fix kernel stack leak to userspace + - ALSA: hda - Reduce the suspend time consumption for ALC256 + - crypto: ecdh - fix typo in KPP dependency of CRYPTO_ECDH + - crypto: aesni - handle zero length dst buffer + - crypto: aesni - fix typo in generic_gcmaes_decrypt + - crypto: aesni - add wrapper for generic gcm(aes) + - crypto: aesni - Fix out-of-bounds access of the data buffer in generic-gcm- + aesni + - crypto: aesni - Fix out-of-bounds access of the AAD buffer in generic-gcm- + aesni + - crypto: inside-secure - fix hash when length is a multiple of a block + - crypto: inside-secure - avoid unmapping DMA memory that was not mapped + - crypto: sha3-generic - fixes for alignment and big endian operation + - crypto: af_alg - whitelist mask and type + - HID: wacom: EKR: ensure devres groups at higher indexes are released + - HID: wacom: Fix reporting of touch toggle (WACOM_HID_WD_MUTE_DEVICE) events + - power: reset: zx-reboot: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - gpio: iop: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - gpio: ath79: add missing MODULE_DESCRIPTION/LICENSE + - mtd: nand: denali_pci: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - igb: Free IRQs when device is hotplugged + - ima/policy: fix parsing of fsuuid + - scsi: aacraid: Fix udev inquiry race condition + - scsi: aacraid: Fix hang in kdump + - scsi: storvsc: missing error code in storvsc_probe() + - staging: lustre: separate a connection destroy from free struct kib_conn + - staging: ccree: NULLify backup_info when unused + - staging: ccree: fix fips event irq handling build + - tty: fix data race between tty_init_dev and flush of buf + - usb: option: Add support for FS040U modem + - USB: serial: pl2303: new device id for Chilitag + - USB: cdc-acm: Do not log urb submission errors on disconnect + - CDC-ACM: apply quirk for card reader + - USB: serial: io_edgeport: fix possible sleep-in-atomic + - usbip: prevent bind loops on devices attached to vhci_hcd + - usbip: list: don't list devices attached to vhci_hcd + - USB: serial: simple: add Motorola Tetra driver + - usb: f_fs: Prevent gadget unbind if it is already unbound + - usb: uas: unconditionally bring back host after reset + - usb/gadget: Fix "high bandwidth" check in usb_gadget_ep_match_desc() + - ANDROID: binder: remove waitqueue when thread exits. + - android: binder: use VM_ALLOC to get vm area + - mei: me: allow runtime pm for platform with D0i3 + - serial: 8250_of: fix return code when probe function fails to get reset + - serial: 8250_uniphier: fix error return code in uniphier_uart_probe() + - serial: 8250_dw: Revert "Improve clock rate setting" + - serial: imx: Only wakeup via RTSDEN bit if the system has RTS/CTS + - spi: imx: do not access registers while clocks disabled + - iio: adc: stm32: fix scan of multiple channels with DMA + - iio: chemical: ccs811: Fix output of IIO_CONCENTRATION channels + - test_firmware: fix missing unlock on error in config_num_requests_store() + - Input: synaptics-rmi4 - unmask F03 interrupts when port is opened + - Input: synaptics-rmi4 - do not delete interrupt memory too early + - x86/efi: Clarify that reset attack mitigation needs appropriate userspace + - Linux 4.15.1 + + * Dell XPS 13 9360 bluetooth (Atheros) won't connect after resume + (LP: #1744712) + - Revert "Bluetooth: btusb: fix QCA Rome suspend/resume" + - Bluetooth: btusb: Restore QCA Rome suspend/resume fix with a "rewritten" + version + + * apparmor profile load in stacked policy container fails (LP: #1746463) + - SAUCE: apparmor: fix display of .ns_name for containers + + -- Seth Forshee Sun, 04 Feb 2018 11:56:32 +0100 + +linux (4.15.0-6.7) bionic; urgency=low + + * upload urgency should be medium by default (LP: #1745338) + - [Packaging] update urgency to medium by default + + * Shutdown hang on 16.04 with iscsi targets (LP: #1569925) + - scsi: libiscsi: Allow sd_shutdown on bad transport + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.7.5-1ubuntu1, zfs to 0.7.5-1ubuntu1 + - Revert "UBUNTU: SAUCE: mm: fix memory hotplug in ZONE_HIGHMEM" + - Revert "UBUNTU: SAUCE: mm: disable vma based swap readahead by default" + + [ Upstream Kernel Changes ] + + * Rebase to v4.15 + + -- Seth Forshee Mon, 29 Jan 2018 08:47:07 -0600 + +linux (4.15.0-5.6) bionic; urgency=low + + * $(LOCAL_ENV_CC) and $(LOCAL_ENV_DISTCC_HOSTS) should be properly quoted + (LP: #1744077) + - [Debian] pass LOCAL_ENV_CC and LOCAL_ENV_DISTCC_HOSTS properly + + * Missing install-time driver for QLogic QED 25/40/100Gb Ethernet NIC + (LP: #1743638) + - [d-i] Add qede to nic-modules udeb + + * boot failure on AMD Raven + WesternXT (LP: #1742759) + - SAUCE: drm/amdgpu: add atpx quirk handling (v2) + + * Unable to handle kernel NULL pointer dereference at isci_task_abort_task + (LP: #1726519) + - SAUCE: Revert "scsi: libsas: allow async aborts" + + * Update Ubuntu-4.15.0 config to support Intel Atom devices (LP: #1739939) + - [Config] CONFIG_SERIAL_DEV_BUS=y, CONFIG_SERIAL_DEV_CTRL_TTYPORT=y + + * Miscellaneous Ubuntu changes + - Rebase to v4.15-rc7 + - [Config] CONFIG_CPU_ISOLATION=y + - [Config] Update annotations following config review + - Revert "UBUNTU: SAUCE: Import aufs driver" + - SAUCE: Import aufs driver + - ubuntu: vbox -- update to 5.2.6-dfsg-1 + - ubuntu: vbox: build fixes for 4.15 + - ubuntu: vbox -- update to 5.2.6-dfsg-2 + - hio: updates for timer api changes in 4.15 + - enable hio build + - Rebase to v4.15-rc9 + + [ Upstream Kernel Changes ] + + * Rebase to v4.15-rc9 + + -- Seth Forshee Mon, 22 Jan 2018 10:16:05 -0600 + +linux (4.15.0-4.5) bionic; urgency=low + + * [0cf3:e010] QCA6174A XR failed to pair with bt 4.0 device (LP: #1741166) + - SAUCE: Bluetooth: btusb: Add support for 0cf3:e010 + + * External HDMI monitor failed to show screen on Lenovo X1 series + (LP: #1738523) + - SAUCE: drm/i915: Disable writing of TMDS_OE on Lenovo ThinkPad X1 series + + * Miscellaneous Ubuntu changes + - [Debian] autoreconstruct - add resoration of execute permissions + + [ Upstream Kernel Changes ] + + * Rebase to v4.15-rc4 + + -- Seth Forshee Wed, 10 Jan 2018 10:24:22 -0600 + +linux (4.15.0-3.4) bionic; urgency=low + + * ubuntu/xr-usb-serial didn't get built in zesty and artful (LP: #1733281) + - SAUCE: make sure ubuntu/xr-usb-serial builds for x86 + + [ Upstream Kernel Changes ] + + * Rebase to v4.15-rc6 + + -- Seth Forshee Wed, 03 Jan 2018 20:20:43 -0600 + +linux (4.15.0-2.3) bionic; urgency=low + + * nvidia-graphics-drivers-384 384.90-0ubuntu6 ADT test failure with linux + 4.15.0-1.2 (LP: #1737752) + - x86/mm: Unbreak modules that use the DMA API + + * Ubuntu 17.10 corrupting BIOS - many LENOVO laptops models (LP: #1734147) + - [Config] CONFIG_SPI_INTEL_SPI_*=n + + * power: commonise configs IBMVETH/IBMVSCSI and ensure both are in linux-image + and udebs (LP: #1521712) + - [Config] Include ibmvnic in nic-modules + + * Enable arm64 emulation of removed ARMv7 instructions (LP: #1545542) + - [Config] Enable support for emulation of deprecated ARMv8 instructions + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl with 4.15 compat fix (LP:#1737761) + - Enable zfs build + - [Debian] add icp to zfs-modules.ignore + + [ Upstream Kernel Changes ] + + * Rebase to v4.15-rc4 + + -- Seth Forshee Mon, 18 Dec 2017 09:27:13 -0600 + +linux (4.15.0-1.2) bionic; urgency=low + + * Disabling zfs does not always disable module checks for the zfs modules + (LP: #1737176) + - [Packaging] disable zfs module checks when zfs is disabled + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_UNWINDER_FRAME_POINTER=y for amd64 + + [ Upstream Kernel Changes ] + + * Rebase to v4.15-rc3 + + -- Seth Forshee Sun, 10 Dec 2017 22:07:19 -0600 + +linux (4.15.0-0.1) bionic; urgency=low + + * Miscellaneous Ubuntu changes + - ubuntu: vbox -- update to 5.2.2-dfsg-2 + - ubuntu: vbox: build fixes for 4.15 + - disable hio build + - [Config] Update kernel lockdown options to fix build errors + - Disable zfs build + - SAUCE: Import aufs driver + - [Config] Enable AUFS config options + + [ Upstream Kernel Changes ] + + * Rebase to v4.15-rc2 + + -- Seth Forshee Fri, 08 Dec 2017 13:55:42 -0600 + +linux (4.14.0-11.13) bionic; urgency=low + + * linux: 4.14.0-11.13 -proposed tracker (LP: #1736168) + + * CVE-2017-1000405 + - mm, thp: Do not make page table dirty unconditionally in touch_p[mu]d() + + * linux 4.14.0-7.9 ADT test failure with linux 4.14.0-7.9 (LP: #1732463) + - SAUCE: mm: disable vma based swap readahead by default + - SAUCE: mm: fix memory hotplug in ZONE_HIGHMEM + + * Bionic update to v4.14.3 stable release (LP: #1735843) + - s390: fix transactional execution control register handling + - s390/noexec: execute kexec datamover without DAT + - s390/runtime instrumention: fix possible memory corruption + - s390/guarded storage: fix possible memory corruption + - s390/disassembler: add missing end marker for e7 table + - s390/disassembler: increase show_code buffer size + - ACPI / PM: Fix acpi_pm_notifier_lock vs flush_workqueue() deadlock + - ACPI / EC: Fix regression related to triggering source of EC event handling + - cpufreq: schedutil: Reset cached_raw_freq when not in sync with next_freq + - serdev: fix registration of second slave + - sched: Make resched_cpu() unconditional + - lib/mpi: call cond_resched() from mpi_powm() loop + - x86/boot: Fix boot failure when SMP MP-table is based at 0 + - x86/decoder: Add new TEST instruction pattern + - x86/entry/64: Fix entry_SYSCALL_64_after_hwframe() IRQ tracing + - x86/entry/64: Add missing irqflags tracing to native_load_gs_index() + - perf/x86/intel: Hide TSX events when RTM is not supported + - arm64: Implement arch-specific pte_access_permitted() + - ARM: 8722/1: mm: make STRICT_KERNEL_RWX effective for LPAE + - ARM: 8721/1: mm: dump: check hardware RO bit for LPAE + - uapi: fix linux/tls.h userspace compilation error + - uapi: fix linux/rxrpc.h userspace compilation errors + - MIPS: cmpxchg64() and HAVE_VIRT_CPU_ACCOUNTING_GEN don't work for 32-bit SMP + - MIPS: ralink: Fix MT7628 pinmux + - MIPS: ralink: Fix typo in mt7628 pinmux function + - net: mvneta: fix handling of the Tx descriptor counter + - nbd: wait uninterruptible for the dead timeout + - nbd: don't start req until after the dead connection logic + - PM / OPP: Add missing of_node_put(np) + - PCI/ASPM: Account for downstream device's Port Common_Mode_Restore_Time + - PCI/ASPM: Use correct capability pointer to program LTR_L1.2_THRESHOLD + - PCI: hv: Use effective affinity mask + - PCI: Set Cavium ACS capability quirk flags to assert RR/CR/SV/UF + - PCI: Apply Cavium ThunderX ACS quirk to more Root Ports + - ALSA: hda: Add Raven PCI ID + - dm integrity: allow unaligned bv_offset + - dm cache: fix race condition in the writeback mode overwrite_bio + optimisation + - dm crypt: allow unaligned bv_offset + - dm zoned: ignore last smaller runt zone + - dm mpath: remove annoying message of 'blk_get_request() returned -11' + - dm bufio: fix integer overflow when limiting maximum cache size + - ovl: Put upperdentry if ovl_check_origin() fails + - dm: allocate struct mapped_device with kvzalloc + - sched/rt: Simplify the IPI based RT balancing logic + - MIPS: pci: Remove KERN_WARN instance inside the mt7620 driver + - dm: fix race between dm_get_from_kobject() and __dm_destroy() + - dm: discard support requires all targets in a table support discards + - MIPS: Fix odd fp register warnings with MIPS64r2 + - MIPS: Fix MIPS64 FP save/restore on 32-bit kernels + - MIPS: dts: remove bogus bcm96358nb4ser.dtb from dtb-y entry + - MIPS: Fix an n32 core file generation regset support regression + - MIPS: BCM47XX: Fix LED inversion for WRT54GSv1 + - MIPS: math-emu: Fix final emulation phase for certain instructions + - rt2x00usb: mark device removed when get ENOENT usb error + - mm/z3fold.c: use kref to prevent page free/compact race + - autofs: don't fail mount for transient error + - nilfs2: fix race condition that causes file system corruption + - fscrypt: lock mutex before checking for bounce page pool + - eCryptfs: use after free in ecryptfs_release_messaging() + - libceph: don't WARN() if user tries to add invalid key + - bcache: check ca->alloc_thread initialized before wake up it + - fs: guard_bio_eod() needs to consider partitions + - fanotify: fix fsnotify_prepare_user_wait() failure + - isofs: fix timestamps beyond 2027 + - btrfs: change how we decide to commit transactions during flushing + - f2fs: expose some sectors to user in inline data or dentry case + - NFS: Fix typo in nomigration mount option + - NFS: Revert "NFS: Move the flock open mode check into nfs_flock()" + - nfs: Fix ugly referral attributes + - NFS: Avoid RCU usage in tracepoints + - NFS: revalidate "." etc correctly on "open". + - nfsd: deal with revoked delegations appropriately + - rtlwifi: rtl8192ee: Fix memory leak when loading firmware + - rtlwifi: fix uninitialized rtlhal->last_suspend_sec time + - iwlwifi: fix firmware names for 9000 and A000 series hw + - md: fix deadlock error in recent patch. + - md: don't check MD_SB_CHANGE_CLEAN in md_allow_write + - Bluetooth: btqcomsmd: Add support for BD address setup + - md/bitmap: revert a patch + - fsnotify: clean up fsnotify_prepare/finish_user_wait() + - fsnotify: pin both inode and vfsmount mark + - fsnotify: fix pinning group in fsnotify_prepare_user_wait() + - ata: fixes kernel crash while tracing ata_eh_link_autopsy event + - ext4: fix interaction between i_size, fallocate, and delalloc after a crash + - ext4: prevent data corruption with inline data + DAX + - ext4: prevent data corruption with journaling + DAX + - ALSA: pcm: update tstamp only if audio_tstamp changed + - ALSA: usb-audio: Add sanity checks to FE parser + - ALSA: usb-audio: Fix potential out-of-bound access at parsing SU + - ALSA: usb-audio: Add sanity checks in v2 clock parsers + - ALSA: timer: Remove kernel warning at compat ioctl error paths + - ALSA: hda/realtek - Fix ALC275 no sound issue + - ALSA: hda: Fix too short HDMI/DP chmap reporting + - ALSA: hda - Fix yet remaining issue with vmaster 0dB initialization + - ALSA: hda/realtek - Fix ALC700 family no sound issue + - ASoC: sun8i-codec: Invert Master / Slave condition + - ASoC: sun8i-codec: Fix left and right channels inversion + - ASoC: sun8i-codec: Set the BCLK divider + - mfd: lpc_ich: Avoton/Rangeley uses SPI_BYT method + - fix a page leak in vhost_scsi_iov_to_sgl() error recovery + - 9p: Fix missing commas in mount options + - fs/9p: Compare qid.path in v9fs_test_inode + - net/9p: Switch to wait_event_killable() + - scsi: qla2xxx: Suppress a kernel complaint in qla_init_base_qpair() + - scsi: sd_zbc: Fix sd_zbc_read_zoned_characteristics() + - scsi: lpfc: fix pci hot plug crash in timer management routines + - scsi: lpfc: fix pci hot plug crash in list_add call + - scsi: lpfc: Fix crash receiving ELS while detaching driver + - scsi: lpfc: Fix FCP hba_wqidx assignment + - scsi: lpfc: Fix oops if nvmet_fc_register_targetport fails + - iscsi-target: Make TASK_REASSIGN use proper se_cmd->cmd_kref + - iscsi-target: Fix non-immediate TMR reference leak + - target: fix null pointer regression in core_tmr_drain_tmr_list + - target: fix buffer offset in core_scsi3_pri_read_full_status + - target: Fix QUEUE_FULL + SCSI task attribute handling + - target: Fix caw_sem leak in transport_generic_request_failure + - target: Fix quiese during transport_write_pending_qf endless loop + - target: Avoid early CMD_T_PRE_EXECUTE failures during ABORT_TASK + - mtd: Avoid probe failures when mtd->dbg.dfs_dir is invalid + - mtd: nand: Export nand_reset() symbol + - mtd: nand: atmel: Actually use the PM ops + - mtd: nand: omap2: Fix subpage write + - mtd: nand: Fix writing mtdoops to nand flash. + - mtd: nand: mtk: fix infinite ECC decode IRQ issue + - mailbox: bcm-flexrm-mailbox: Fix FlexRM ring flush sequence + - p54: don't unregister leds when they are not initialized + - block: Fix a race between blk_cleanup_queue() and timeout handling + - raid1: prevent freeze_array/wait_all_barriers deadlock + - genirq: Track whether the trigger type has been set + - irqchip/gic-v3: Fix ppi-partitions lookup + - lockd: double unregister of inetaddr notifiers + - KVM: PPC: Book3S HV: Don't call real-mode XICS hypercall handlers if not + enabled + - KVM: nVMX: set IDTR and GDTR limits when loading L1 host state + - KVM: SVM: obey guest PAT + - kvm: vmx: Reinstate support for CPUs without virtual NMI + - dax: fix PMD faults on zero-length files + - dax: fix general protection fault in dax_alloc_inode + - SUNRPC: Fix tracepoint storage issues with svc_recv and svc_rqst_status + - clk: ti: dra7-atl-clock: fix child-node lookups + - libnvdimm, dimm: clear 'locked' status on successful DIMM enable + - libnvdimm, pfn: make 'resource' attribute only readable by root + - libnvdimm, namespace: fix label initialization to use valid seq numbers + - libnvdimm, region : make 'resource' attribute only readable by root + - libnvdimm, namespace: make 'resource' attribute only readable by root + - svcrdma: Preserve CB send buffer across retransmits + - IB/srpt: Do not accept invalid initiator port names + - IB/cm: Fix memory corruption in handling CM request + - IB/hfi1: Fix incorrect available receive user context count + - IB/srp: Avoid that a cable pull can trigger a kernel crash + - IB/core: Avoid crash on pkey enforcement failed in received MADs + - IB/core: Only maintain real QPs in the security lists + - NFC: fix device-allocation error return + - spi-nor: intel-spi: Fix broken software sequencing codes + - i40e: Use smp_rmb rather than read_barrier_depends + - igb: Use smp_rmb rather than read_barrier_depends + - igbvf: Use smp_rmb rather than read_barrier_depends + - ixgbevf: Use smp_rmb rather than read_barrier_depends + - i40evf: Use smp_rmb rather than read_barrier_depends + - fm10k: Use smp_rmb rather than read_barrier_depends + - ixgbe: Fix skb list corruption on Power systems + - parisc: Fix validity check of pointer size argument in new CAS + implementation + - powerpc: Fix boot on BOOK3S_32 with CONFIG_STRICT_KERNEL_RWX + - powerpc/mm/radix: Fix crashes on Power9 DD1 with radix MMU and STRICT_RWX + - powerpc/perf/imc: Use cpu_to_node() not topology_physical_package_id() + - powerpc/signal: Properly handle return value from uprobe_deny_signal() + - powerpc/64s: Fix masking of SRR1 bits on instruction fault + - powerpc/64s/radix: Fix 128TB-512TB virtual address boundary case allocation + - powerpc/64s/hash: Fix 512T hint detection to use >= 128T + - powerpc/64s/hash: Fix 128TB-512TB virtual address boundary case allocation + - powerpc/64s/hash: Fix fork() with 512TB process address space + - powerpc/64s/hash: Allow MAP_FIXED allocations to cross 128TB boundary + - media: Don't do DMA on stack for firmware upload in the AS102 driver + - media: rc: check for integer overflow + - media: rc: nec decoder should not send both repeat and keycode + - cx231xx-cards: fix NULL-deref on missing association descriptor + - media: v4l2-ctrl: Fix flags field on Control events + - media: venus: fix wrong size on dma_free + - media: venus: venc: fix bytesused v4l2_plane field + - media: venus: reimplement decoder stop command + - ARM64: dts: meson-gxl: Add alternate ARM Trusted Firmware reserved memory + zone + - iwlwifi: fix wrong struct for a000 device + - iwlwifi: add a new a000 device + - iwlwifi: pcie: sort IDs for the 9000 series for easier comparisons + - iwlwifi: add new cards for a000 series + - iwlwifi: add new cards for 8265 series + - iwlwifi: add new cards for 8260 series + - iwlwifi: fix PCI IDs and configuration mapping for 9000 series + - iwlwifi: mvm: support version 7 of the SCAN_REQ_UMAC FW command + - e1000e: Fix error path in link detection + - e1000e: Fix return value test + - e1000e: Separate signaling for link check/link up + - e1000e: Avoid receiver overrun interrupt bursts + - e1000e: fix buffer overrun while the I219 is processing DMA transactions + - Linux 4.14.3 + + * Miscellaneous Ubuntu changes + - SAUCE: s390/topology: don't inline cpu_to_node + - SAUCE: (noup) Update spl to 0.7.3-1ubuntu1, zfs to 0.7.3-1ubuntu1 + + -- Seth Forshee Mon, 04 Dec 2017 09:08:07 -0600 + +linux (4.14.0-10.12) bionic; urgency=low + + * linux: 4.14.0-10.12 -proposed tracker (LP: #1734901) + + * Miscellaneous Ubuntu changes + - SAUCE: Enable the ACPI kernel debugger and acpidbg tool + - [Packaging] Include arch/arm64/kernel/ftrace-mod.o in headers package + + -- Seth Forshee Tue, 28 Nov 2017 08:46:49 -0600 + +linux (4.14.0-9.11) bionic; urgency=low + + * linux: 4.14.0-9.11 -proposed tracker (LP: #1734728) + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: SAUCE: (noup) Update spl to 0.7.3-1ubuntu1, zfs to + 0.7.3-1ubuntu1" + + -- Seth Forshee Mon, 27 Nov 2017 12:44:48 -0600 + +linux (4.14.0-8.10) bionic; urgency=low + + * linux: 4.14.0-8.10 -proposed tracker (LP: #1734695) + + * Bionic update to v4.14.2 stable release (LP: #1734694) + - bio: ensure __bio_clone_fast copies bi_partno + - af_netlink: ensure that NLMSG_DONE never fails in dumps + - vxlan: fix the issue that neigh proxy blocks all icmpv6 packets + - net: cdc_ncm: GetNtbFormat endian fix + - fealnx: Fix building error on MIPS + - net/sctp: Always set scope_id in sctp_inet6_skb_msgname + - ima: do not update security.ima if appraisal status is not INTEGRITY_PASS + - serial: omap: Fix EFR write on RTS deassertion + - serial: 8250_fintek: Fix finding base_port with activated SuperIO + - tpm-dev-common: Reject too short writes + - rcu: Fix up pending cbs check in rcu_prepare_for_idle + - mm/pagewalk.c: report holes in hugetlb ranges + - ocfs2: fix cluster hang after a node dies + - ocfs2: should wait dio before inode lock in ocfs2_setattr() + - ipmi: fix unsigned long underflow + - mm/page_alloc.c: broken deferred calculation + - mm/page_ext.c: check if page_ext is not prepared + - coda: fix 'kernel memory exposure attempt' in fsync + - ipmi: Prefer ACPI system interfaces over SMBIOS ones + - Linux 4.14.2 + + * Bionic update to v4.14.1 stable release (LP: #1734693) + - EDAC, sb_edac: Don't create a second memory controller if HA1 is not present + - dmaengine: dmatest: warn user when dma test times out + - media: imon: Fix null-ptr-deref in imon_probe + - media: dib0700: fix invalid dvb_detach argument + - crypto: dh - Fix double free of ctx->p + - crypto: dh - Don't permit 'p' to be 0 + - crypto: dh - Don't permit 'key' or 'g' size longer than 'p' + - crypto: brcm - Explicity ACK mailbox message + - USB: early: Use new USB product ID and strings for DbC device + - USB: usbfs: compute urb->actual_length for isochronous + - USB: Add delay-init quirk for Corsair K70 LUX keyboards + - usb: gadget: f_fs: Fix use-after-free in ffs_free_inst + - USB: serial: metro-usb: stop I/O after failed open + - USB: serial: Change DbC debug device binding ID + - USB: serial: qcserial: add pid/vid for Sierra Wireless EM7355 fw update + - USB: serial: garmin_gps: fix I/O after failed probe and remove + - USB: serial: garmin_gps: fix memory leak on probe errors + - selftests/x86/protection_keys: Fix syscall NR redefinition warnings + - x86/MCE/AMD: Always give panic severity for UC errors in kernel context + - platform/x86: peaq-wmi: Add DMI check before binding to the WMI interface + - platform/x86: peaq_wmi: Fix missing terminating entry for peaq_dmi_table + - HID: cp2112: add HIDRAW dependency + - HID: wacom: generic: Recognize WACOM_HID_WD_PEN as a type of pen collection + - rpmsg: glink: Add missing MODULE_LICENSE + - staging: wilc1000: Fix bssid buffer offset in Txq + - staging: sm750fb: Fix parameter mistake in poke32 + - staging: ccree: fix 64 bit scatter/gather DMA ops + - staging: greybus: spilib: fix use-after-free after deregistration + - staging: rtl8188eu: Revert 4 commits breaking ARP + - spi: fix use-after-free at controller deregistration + - sparc32: Add cmpxchg64(). + - sparc64: mmu_context: Add missing include files + - sparc64: Fix page table walk for PUD hugepages + - Linux 4.14.1 + + * Set PANIC_TIMEOUT=10 on Power Systems (LP: #1730660) + - [Config]: Set PANIC_TIMEOUT=10 on ppc64el + + * enable CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH easily confuse users + (LP: #1732627) + - [Config] CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=n + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.7.3-1ubuntu1, zfs to 0.7.3-1ubuntu1 + + -- Seth Forshee Mon, 27 Nov 2017 07:43:44 -0600 + +linux (4.14.0-7.9) bionic; urgency=low + + * Miscellaneous Ubuntu changes + - SAUCE: apparmor: add base infastructure for socket mediation + - SAUCE: apparmor: af_unix mediation + - SAUCE: LSM stacking: procfs: add smack subdir to attrs + - SAUCE: LSM stacking: LSM: manage credential security blobs + - SAUCE: LSM stacking: LSM: Manage file security blobs + - SAUCE: LSM stacking: LSM: manage task security blobs + - SAUCE: LSM stacking: LSM: Infrastructure management of the remaining blobs + - SAUCE: LSM stacking: LSM: general but not extreme module stacking + - SAUCE: LSM stacking: LSM: Complete task_alloc hook + - SAUCE: LSM stacking: fixup procsfs: add smack subdir to attrs + - SAUCE: LSM stacking: fixup initialize task->security + - SAUCE: LSM stacking: fixup: alloc_task_ctx is dead code + - SAUCE: LSM stacking: add support for stacking getpeersec_stream + - SAUCE: LSM stacking: add stacking support to apparmor network hooks + - SAUCE: LSM stacking: fixup apparmor stacking enablement + - SAUCE: LSM stacking: fixup stacking kconfig + - SAUCE: LSM stacking: allow selecting multiple LSMs using kernel boot params + - SAUCE: LSM stacking: provide prctl interface for setting context + - SAUCE: LSM stacking: inherit current display LSM + - SAUCE: LSM stacking: keep an index for each registered LSM + - SAUCE: LSM stacking: verify display LSM + - SAUCE: LSM stacking: provide a way to specify the default display lsm + - SAUCE: LSM stacking: make sure LSM blob align on 64 bit boundaries + - SAUCE: LSM stacking: add /proc//attr/display_lsm + - SAUCE: LSM stacking: add Kconfig to set default display LSM + - SAUCE: LSM stacking: add configs for LSM stacking + - SAUCE: LSM stacking: check for invalid zero sized writes + - [Config] Run updateconfigs after merging LSM stacking + - [Config] CONFIG_AMD_MEM_ENCRYPT=y + + [ Upstream Kernel Changes ] + + * Rebase to v4.14 + + -- Seth Forshee Mon, 13 Nov 2017 08:12:08 -0600 + +linux (4.14.0-6.8) bionic; urgency=low + + * Miscellaneous Ubuntu changes + - SAUCE: add workarounds to enable ZFS for 4.14 + + [ Upstream Kernel Changes ] + + * Rebase to v4.14-rc8 + + -- Seth Forshee Mon, 06 Nov 2017 11:39:00 -0600 + +linux (4.14.0-5.7) bionic; urgency=low + + * Miscellaneous Ubuntu changes + - [Debian] Fix invocation of dh_prep for dbgsym packages + + -- Seth Forshee Tue, 31 Oct 2017 07:07:23 -0500 + +linux (4.14.0-4.5) bionic; urgency=low + + * Miscellaneous Ubuntu changes + - [Packaging] virtualbox -- reduce in kernel module versions + - vbox-update: Fix up KERN_DIR definitions + - ubuntu: vbox -- update to 5.2.0-dfsg-2 + - [Config] CONFIG_AMD_MEM_ENCRYPT=n + + [ Upstream Kernel Changes ] + + * Rebase to v4.14-rc7 + + -- Seth Forshee Mon, 30 Oct 2017 13:29:20 -0500 + +linux (4.14.0-3.4) artful; urgency=low + + * Touchpad and TrackPoint Dose Not Work on Lenovo X1C6 and X280 (LP: #1723986) + - SAUCE: Input: synaptics-rmi4 - RMI4 can also use SMBUS version 3 + - SAUCE: Input: synaptics - Lenovo X1 Carbon 5 should use SMBUS/RMI + - SAUCE: Input: synaptics - add Intertouch support on X1 Carbon 6th and X280 + + * powerpc/64s: Add workaround for P9 vector CI load issuenext (LP: #1721070) + - powerpc/64s: Add workaround for P9 vector CI load issue + + * Miscellaneous Ubuntu changes + - SAUCE: staging: vboxvideo: Fix reporting invalid suggested-offset-properties + - [Config] CONFIG_DRM_VBOXVIDEO=m + - SAUCE: Import aufs driver + - [Config] Enable aufs + - [Config] Reorder annotations file after enabling aufs + - vbox-update: Disable imported vboxvideo module + - ubuntu: vbox -- update to 5.1.30-dfsg-1 + - Enable vbox + - hio: Use correct sizes when initializing ssd_index_bits* arrays + - hio: Update io stat accounting for 4.14 + - Enable hio + + [ Upstream Kernel Changes ] + + * Rebase to v4.14-rc5 + * Rebase to v4.14-rc6 + + -- Seth Forshee Mon, 23 Oct 2017 13:53:52 -0500 + +linux (4.14.0-2.3) artful; urgency=low + + * [Bug] USB controller failed to respond on Denverton after loading + intel_th_pci module (LP: #1715833) + - SAUCE: PCI: Disable broken RTIT_BAR of Intel TH + + * CONFIG_DEBUG_FS is not enabled by "make zfcpdump_defconfig" with Ubuntu + 17.10 (kernel 4.13) (LP: #1719290) + - SAUCE: s390: update zfcpdump_defconfig + + * Add installer support for Broadcom BCM573xx network drivers. (LP: #1720466) + - d-i: Add bnxt_en to nic-modules. + + * Miscellaneous Ubuntu changes + - [Config] Update annotations for 4.14-rc2 + + [ Upstream Kernel Changes ] + + * Rebase to v4.14-rc3 + * Rebase to v4.14-rc4 + + -- Seth Forshee Wed, 11 Oct 2017 16:04:27 -0500 + +linux (4.14.0-1.2) artful; urgency=low + + * [Bug] USB 3.1 Gen2 works as 5Gbps (LP: #1720045) + - xhci: set missing SuperSpeedPlus Link Protocol bit in roothub descriptor + + * Please make linux-libc-dev Provide: aufs-dev (LP: #1716091) + - [Packaging] Add aufs-dev to the Provides: for linux-libc-dev + + * Upgrade to 4.13.0-11.12 in artful amd64 VM breaks display on wayland + (LP: #1718679) + - [Config] CONFIG_DRM_VBOXVIDEO=n + + * ipmmu-vmsa driver breaks arm64 boots (LP: #1718734) + - [Config] Disable CONFIG_IPMMU_VMSA on arm64 + + * autopkgtest profile fails to build on armhf (LP: #1717920) + - [Packaging] autopkgtest -- disable d-i when dropping flavours + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_I2C_XLP9XX=m + - [Packaging] Use SRCPKGNAME rather than hard-coding the source package name + + [ Upstream Kernel Changes ] + + * Rebase to v4.14-rc2 + + -- Seth Forshee Fri, 29 Sep 2017 09:09:11 -0400 + +linux (4.14.0-0.1) artful; urgency=low + + * Miscellaneous Ubuntu changes + - Disable vbox build + - Disable hio build + - Disable zfs build + + [ Upstream Kernel Changes ] + + * Rebase to v4.14-rc1 + + -- Seth Forshee Tue, 19 Sep 2017 20:22:29 -0500 + +linux (4.13.0-11.12) artful; urgency=low + + * linux: 4.13.0-11.12 -proposed tracker (LP: #1716699) + + * kernel panic -not syncing: Fatal exception: panic_on_oops (LP: #1708399) + - s390/mm: fix local TLB flushing vs. detach of an mm address space + - s390/mm: fix race on mm->context.flush_mm + + * CVE-2017-1000251 + - Bluetooth: Properly check L2CAP config option output buffer length + + -- Seth Forshee Tue, 12 Sep 2017 10:18:38 -0500 + +linux (4.13.0-10.11) artful; urgency=low + + * linux: 4.13.0-10.11 -proposed tracker (LP: #1716287) + + * please add aufs-dkms to the Provides: for the kernel packages (LP: #1716093) + - [Packaging] Add aufs-dkms to the Provides: for kernel packages + + * Artful update to v4.13.1 stable release (LP: #1716284) + - usb: quirks: add delay init quirk for Corsair Strafe RGB keyboard + - USB: serial: option: add support for D-Link DWM-157 C1 + - usb: Add device quirk for Logitech HD Pro Webcam C920-C + - usb:xhci:Fix regression when ATI chipsets detected + - USB: musb: fix external abort on suspend + - ANDROID: binder: add padding to binder_fd_array_object. + - ANDROID: binder: add hwbinder,vndbinder to BINDER_DEVICES. + - USB: core: Avoid race of async_completed() w/ usbdev_release() + - staging/rts5208: fix incorrect shift to extract upper nybble + - staging: ccree: save ciphertext for CTS IV + - staging: fsl-dpaa2/eth: fix off-by-one FD ctrl bitmaks + - iio: adc: ti-ads1015: fix incorrect data rate setting update + - iio: adc: ti-ads1015: fix scale information for ADS1115 + - iio: adc: ti-ads1015: enable conversion when CONFIG_PM is not set + - iio: adc: ti-ads1015: avoid getting stale result after runtime resume + - iio: adc: ti-ads1015: don't return invalid value from buffer setup callbacks + - iio: adc: ti-ads1015: add adequate wait time to get correct conversion + - driver core: bus: Fix a potential double free + - HID: wacom: Do not completely map WACOM_HID_WD_TOUCHRINGSTATUS usage + - binder: free memory on error + - crypto: caam/qi - fix compilation with CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y + - crypto: caam/qi - fix compilation with DEBUG enabled + - thunderbolt: Fix reset response_type + - fpga: altera-hps2fpga: fix multiple init of l3_remap_lock + - intel_th: pci: Add Cannon Lake PCH-H support + - intel_th: pci: Add Cannon Lake PCH-LP support + - ath10k: fix memory leak in rx ring buffer allocation + - drm/vgem: Pin our pages for dmabuf exports + - drm/ttm: Fix accounting error when fail to get pages for pool + - drm/dp/mst: Handle errors from drm_atomic_get_private_obj_state() correctly + - rtlwifi: rtl_pci_probe: Fix fail path of _rtl_pci_find_adapter + - Bluetooth: Add support of 13d3:3494 RTL8723BE device + - iwlwifi: pci: add new PCI ID for 7265D + - dlm: avoid double-free on error path in dlm_device_{register,unregister} + - mwifiex: correct channel stat buffer overflows + - MCB: add support for SC31 to mcb-lpc + - s390/mm: avoid empty zero pages for KVM guests to avoid postcopy hangs + - drm/nouveau/pci/msi: disable MSI on big-endian platforms by default + - drm/nouveau: Fix error handling in nv50_disp_atomic_commit + - workqueue: Fix flag collision + - ahci: don't use MSI for devices with the silly Intel NVMe remapping scheme + - cs5536: add support for IDE controller variant + - scsi: sg: protect against races between mmap() and SG_SET_RESERVED_SIZE + - scsi: sg: recheck MMAP_IO request length with lock held + - of/device: Prevent buffer overflow in of_device_modalias() + - rtlwifi: Fix memory leak when firmware request fails + - rtlwifi: Fix fallback firmware loading + - Linux 4.13.1 + + * Kernel has trouble recognizing Corsair Strafe RGB keyboard (LP: #1678477) + - usb: quirks: add delay init quirk for Corsair Strafe RGB keyboard + + * SRIOV: warning if unload VFs (LP: #1715073) + - PCI: Disable VF decoding before pcibios_sriov_disable() updates resources + + * [Patch] network-i40e:NVM bug fixes (cherrypick from 4.14) (LP: #1715578) + - i40e: avoid NVM acquire deadlock during NVM update + - i40e: point wb_desc at the nvm_wb_desc during i40e_read_nvm_aq + + * [P9,POwer NV] Perf PMU event : pm_br_2path and pm_ld_miss_l1 is counted + twice when perf stat is done (perf:) (LP: #1714571) + - perf vendor events powerpc: Remove duplicate events + + * Unable to install Ubuntu on the NVMe disk under VMD PCI domain + (LP: #1703339) + - [Config] Include vmd in storage-core-modules udeb + + * 17.10 fails to boot on POWER9 DD2.0 with Deep stop states (LP: #1715064) + - powerpc/powernv: Save/Restore additional SPRs for stop4 cpuidle + - powerpc/powernv: Clear PECE1 in LPCR via stop-api only on Hotplug + - SAUCE: powerpc/powernv: Clear LPCR[PECE1] via stop-api only for deep state + offline + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/seccomp: Support glibc 2.26 siginfo_t.h + - Revert "UBUNTU: SAUCE: Import aufs driver" + - SAUCE: Import aufs driver + + -- Seth Forshee Sun, 10 Sep 2017 17:48:59 -0500 + +linux (4.13.0-9.10) artful; urgency=low + + * linux: 4.13.0-9.10 -proposed tracker (LP: #1715145) + + * EDAC sbridge: Failed to register device with error -22. (LP: #1714112) + - [Config] CONFIG_EDAC_GHES=n + + * Miscellaneous Ubuntu changes + - ubuntu: vbox -- update to 5.1.26-dfsg-2 + + [ Upstream Kernel Changes ] + + * Rebase to v4.13 + + -- Seth Forshee Tue, 05 Sep 2017 07:51:19 -0500 + +linux (4.13.0-8.9) artful; urgency=low + + * snapd 2.27.3+17.10 ADT test failure with linux 4.13.0-6.7 (LP: #1713103) + - SAUCE: apparmor: fix apparmorfs DAC access, permissions + + * enable ARCH_SUNXI (and friends) in arm64 kernel .config (LP: #1701137) + - [Config] Enable CONFIG_ARCH_SUNXI and related options for arm64 + + * [Bug] Harrisonville: pnd2_edac always fail to load on B1 stepping + Harrisonville SDP (LP: #1709257) + - EDAC, pnd2: Build in a minimal sideband driver for Apollo Lake + - EDAC, pnd2: Mask off the lower four bits of a BAR + - EDAC, pnd2: Conditionally unhide/hide the P2SB PCI device to read BAR + - EDAC, pnd2: Properly toggle hidden state for P2SB PCI device + - SAUCE: i2c: i801: Restore the presence state of P2SB PCI device after + reading BAR + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: SAUCE: Import aufs driver" + - SAUCE: Import aufs driver + - SAUCE: selftests/powerpc: Disable some ptrace selftests + - [Config] CONFIG_CRYPTO_DEV_NITROX_CNN55XX=n for s390x + - [Config] CONFIG_I2C_SLAVE=n for amd64, i386, ppc64el + - [Config] Disable CONFIG_MDIO_* options for s390x + - [Config] CONFIG_SCSI_MQ_DEFAULT=n for s390x + - [Config] Update annotations for 4.13 + + -- Seth Forshee Thu, 31 Aug 2017 14:27:09 -0500 + +linux (4.13.0-7.8) artful; urgency=low + + * linux 4.12.0-11.12 ADT test failure with linux 4.12.0-11.12 (LP: #1710904) + - SAUCE: selftests/powerpc: Use snprintf to construct DSCR sysfs interface + paths + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: SAUCE: seccomp: log actions even when audit is disabled" + + * Miscellaneous upstream changes + - seccomp: Provide matching filter for introspection + - seccomp: Sysctl to display available actions + - seccomp: Operation for checking if an action is available + - seccomp: Sysctl to configure actions that are allowed to be logged + - seccomp: Selftest for detection of filter flag support + - seccomp: Filter flag to log all actions except SECCOMP_RET_ALLOW + - seccomp: Action to log before allowing + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc7 + + -- Seth Forshee Mon, 28 Aug 2017 08:12:24 -0500 + +linux (4.13.0-6.7) artful; urgency=low + + * HID: multitouch: Support ALPS PTP Stick and Touchpad devices (LP: #1712481) + - SAUCE: HID: multitouch: Support ALPS PTP stick with pid 0x120A + + * sort ABI files with C.UTF-8 locale (LP: #1712345) + - [Packaging] sort ABI files with C.UTF-8 locale + + * igb: Support using Broadcom 54616 as PHY (LP: #1712024) + - SAUCE: igb: add support for using Broadcom 54616 as PHY + + * RPT related fixes missing in Ubuntu 16.04.3 (LP: #1709220) + - powerpc/mm/radix: Improve _tlbiel_pid to be usable for PWC flushes + - powerpc/mm/radix: Improve TLB/PWC flushes + - powerpc/mm/radix: Avoid flushing the PWC on every flush_tlb_range + + * Linux 4.12 refuses to load self-signed modules under Secure Boot with + properly enrolled keys (LP: #1712168) + - SAUCE: (efi-lockdown) MODSIGN: Fix module signature verification + + * [17.10 FEAT] Enable NVMe driver - kernel (LP: #1708432) + - [Config] CONFIG_BLK_DEV_NVME=m for s390 + + * Artful: 4.12.0-11.12: Boot panic in vlv2_plat_configure_clock+0x3b/0xa0 + (LP: #1711298) + - [Config] CONFIG_INTEL_ATOMISP=n + + * Miscellaneous Ubuntu changes + - SAUCE: apparmor: af_unix mediation + + * Miscellaneous upstream changes + - apparmor: Fix shadowed local variable in unpack_trans_table() + - apparmor: Fix logical error in verify_header() + - apparmor: Fix an error code in aafs_create() + - apparmor: Redundant condition: prev_ns. in [label.c:1498] + - apparmor: add the ability to mediate signals + - apparmor: add mount mediation + - apparmor: cleanup conditional check for label in label_print + - apparmor: add support for absolute root view based labels + - apparmor: make policy_unpack able to audit different info messages + - apparmor: add more debug asserts to apparmorfs + - apparmor: add base infastructure for socket mediation + - apparmor: move new_null_profile to after profile lookup fns() + - apparmor: fix race condition in null profile creation + - apparmor: ensure unconfined profiles have dfas initialized + - apparmor: fix incorrect type assignment when freeing proxies + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc6 + + -- Seth Forshee Wed, 23 Aug 2017 08:10:38 -0500 + +linux (4.13.0-5.6) artful; urgency=low + + * Ubuntu17.10 - perf: Update Power9 PMU event JSON files (LP: #1708630) + - perf pmu-events: Support additional POWER8+ PVR in mapfile + - perf vendor events: Add POWER9 PMU events + - perf vendor events: Add POWER9 PVRs to mapfile + - SAUCE: perf vendor events powerpc: remove suffix in mapfile + - SAUCE: perf vendor events powerpc: Update POWER9 events + + * Disable CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE (LP: #1709171) + - [Config] CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=n for ppc64el + + * Please only recommend or suggest initramfs-tools | linux-initramfs-tool for + kernels able to boot without initramfs (LP: #1700972) + - [Debian] Don't depend on initramfs-tools + + * Miscellaneous Ubuntu changes + - SAUCE: Import aufs driver + - SAUCE: aufs -- Add missing argument to loop_switch() call + - [Config] Enable aufs + - SAUCE: (noup) Update spl to 0.6.5.11-ubuntu1, zfs to 0.6.5.11-1ubuntu3 + - Enable zfs build + - SAUCE: powerpc: Always initialize input array when calling epapr_hypercall() + - [Packaging] switch up to debhelper 9 + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc5 + + -- Seth Forshee Tue, 15 Aug 2017 09:24:16 -0500 + +linux (4.13.0-4.5) artful; urgency=low + + * Lenovo Yoga 910 Sensors (LP: #1708120) + - SAUCE: (no-up) HID: Add quirk for Lenovo Yoga 910 with ITE Chips + + * Unable to install Ubuntu on the NVMe disk under VMD PCI domain + (LP: #1703339) + - [Config] Add vmd driver to generic inclusion list + + * Set CONFIG_SATA_HIGHBANK=y on armhf (LP: #1703430) + - [Config] CONFIG_SATA_HIGHBANK=y + + * Miscellaneous Ubuntu changes + - ubuntu: vbox -- update to 5.1.26-dfsg-1 + - SAUCE: hio: Build fixes for 4.13 + - Enable hio build + - SAUCE: (noup) Update spl to 0.6.5.11-1, zfs to 0.6.5.11-1ubuntu1 + - [debian] use all rather than amd64 dkms debs for sync + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc4 + + -- Seth Forshee Tue, 08 Aug 2017 11:31:48 -0500 + +linux (4.13.0-3.4) artful; urgency=low + + * Adt tests of src:linux time out often on armhf lxc containers (LP: #1705495) + - [Packaging] tests -- reduce rebuild test to one flavour + - [Packaging] tests -- reduce rebuild test to one flavour -- use filter + + * snapd 2.26.8+17.10 ADT test failure with linux 4.12.0-6.7 (LP: #1704158) + - SAUCE: virtio_net: Revert mergeable buffer handling rework + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc3 + + -- Seth Forshee Mon, 31 Jul 2017 10:08:16 -0500 + +linux (4.13.0-2.3) artful; urgency=low + + * Change CONFIG_IBMVETH to module (LP: #1704479) + - [Config] CONFIG_IBMVETH=m + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc2 + + -- Seth Forshee Mon, 24 Jul 2017 13:58:08 -0500 + +linux (4.13.0-1.2) artful; urgency=low + + * Miscellaneous Ubuntu changes + - [Debian] Support sphinx-based kernel documentation + + -- Seth Forshee Thu, 20 Jul 2017 09:18:33 -0500 + +linux (4.13.0-0.1) artful; urgency=low + + * Miscellaneous Ubuntu changes + - Disable hio + - Disable zfs build + - ubuntu: vbox -- update to 5.1.24-dfsg-1 + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc1 + + -- Seth Forshee Wed, 19 Jul 2017 15:09:31 -0500 + +linux (4.12.0-7.8) artful; urgency=low + + * ThunderX: soft lockup on 4.8+ kernels when running qemu-efi with vhost=on + (LP: #1673564) + - arm64: Add a facility to turn an ESR syndrome into a sysreg encoding + - KVM: arm/arm64: vgic-v3: Add accessors for the ICH_APxRn_EL2 registers + - KVM: arm64: Make kvm_condition_valid32() accessible from EL2 + - KVM: arm64: vgic-v3: Add hook to handle guest GICv3 sysreg accesses at EL2 + - KVM: arm64: vgic-v3: Add ICV_BPR1_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_IGRPEN1_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_IAR1_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_EOIR1_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_AP1Rn_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_HPPIR1_EL1 handler + - KVM: arm64: vgic-v3: Enable trapping of Group-1 system registers + - KVM: arm64: Enable GICv3 Group-1 sysreg trapping via command-line + - KVM: arm64: vgic-v3: Add ICV_BPR0_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_IGNREN0_EL1 handler + - KVM: arm64: vgic-v3: Add misc Group-0 handlers + - KVM: arm64: vgic-v3: Enable trapping of Group-0 system registers + - KVM: arm64: Enable GICv3 Group-0 sysreg trapping via command-line + - arm64: Add MIDR values for Cavium cn83XX SoCs + - arm64: Add workaround for Cavium Thunder erratum 30115 + - KVM: arm64: vgic-v3: Add ICV_DIR_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_RPR_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_CTLR_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_PMR_EL1 handler + - KVM: arm64: Enable GICv3 common sysreg trapping via command-line + - KVM: arm64: vgic-v3: Log which GICv3 system registers are trapped + - KVM: arm64: Log an error if trapping a read-from-write-only GICv3 access + - KVM: arm64: Log an error if trapping a write-to-read-only GICv3 access + + * hns: under heavy load, NIC may fail and require reboot (LP: #1704146) + - net: hns: Bugfix for Tx timeout handling in hns driver + + * New ACPI identifiers for ThunderX SMMU (LP: #1703437) + - iommu/arm-smmu: Plumb in new ACPI identifiers + + * Transparent hugepages should default to enabled=madvise (LP: #1703742) + - SAUCE: use CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y as default + + * Artful update to v4.12.1 stable release (LP: #1703858) + - driver core: platform: fix race condition with driver_override + - RDMA/uverbs: Check port number supplied by user verbs cmds + - usb: dwc3: replace %p with %pK + - USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick + - usb: usbip: set buffer pointers to NULL after free + - Add USB quirk for HVR-950q to avoid intermittent device resets + - usb: Fix typo in the definition of Endpoint[out]Request + - USB: core: fix device node leak + - USB: serial: option: add two Longcheer device ids + - USB: serial: qcserial: new Sierra Wireless EM7305 device ID + - xhci: Limit USB2 port wake support for AMD Promontory hosts + - gfs2: Fix glock rhashtable rcu bug + - Add "shutdown" to "struct class". + - tpm: Issue a TPM2_Shutdown for TPM2 devices. + - tpm: fix a kernel memory leak in tpm-sysfs.c + - powerpc/powernv: Fix CPU_HOTPLUG=n idle.c compile error + - x86/uaccess: Optimize copy_user_enhanced_fast_string() for short strings + - sched/fair, cpumask: Export for_each_cpu_wrap() + - sched/core: Implement new approach to scale select_idle_cpu() + - sched/numa: Use down_read_trylock() for the mmap_sem + - sched/numa: Override part of migrate_degrades_locality() when idle balancing + - sched/fair: Simplify wake_affine() for the single socket case + - sched/numa: Implement NUMA node level wake_affine() + - sched/fair: Remove effective_load() + - sched/numa: Hide numa_wake_affine() from UP build + - xen: avoid deadlock in xenbus driver + - crypto: drbg - Fixes panic in wait_for_completion call + - Linux 4.12.1 + + * cxlflash update request in the Xenial SRU stream (LP: #1702521) + - scsi: cxlflash: Combine the send queue locks + - scsi: cxlflash: Update cxlflash_afu_sync() to return errno + - scsi: cxlflash: Reset hardware queue context via specified register + - scsi: cxlflash: Schedule asynchronous reset of the host + - scsi: cxlflash: Handle AFU sync failures + - scsi: cxlflash: Track pending scsi commands in each hardware queue + - scsi: cxlflash: Flush pending commands in cleanup path + - scsi: cxlflash: Add scsi command abort handler + - scsi: cxlflash: Create character device to provide host management interface + - scsi: cxlflash: Separate AFU internal command handling from AFU sync + specifics + - scsi: cxlflash: Introduce host ioctl support + - scsi: cxlflash: Refactor AFU capability checking + - scsi: cxlflash: Support LUN provisioning + - scsi: cxlflash: Support AFU debug + - scsi: cxlflash: Support WS16 unmap + - scsi: cxlflash: Remove zeroing of private command data + - scsi: cxlflash: Update TMF command processing + - scsi: cxlflash: Avoid double free of character device + - scsi: cxlflash: Update send_tmf() parameters + - scsi: cxlflash: Update debug prints in reset handlers + + * make snap-pkg support (LP: #1700747) + - make snap-pkg support + + * Quirk for non-compliant PCI bridge on HiSilicon D05 board (LP: #1698706) + - SAUCE: PCI: Support hibmc VGA cards behind a misbehaving HiSilicon bridge + + * arm64: fix crash reading /proc/kcore (LP: #1702749) + - fs/proc: kcore: use kcore_list type to check for vmalloc/module address + - arm64: mm: select CONFIG_ARCH_PROC_KCORE_TEXT + + * Opal and POWER9 DD2 (LP: #1702159) + - SAUCE: powerpc/powernv: Tell OPAL about our MMU mode on POWER9 + + * Data corruption with hio driver (LP: #1701316) + - SAUCE: hio: Fix incorrect use of enum req_opf values + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.6.5.10-1, zfs to 0.6.5.10-1ubuntu2 + - snapcraft.yaml: Sync with xenial + - [Config] CONFIG_CAVIUM_ERRATUM_30115=y + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Add sysctls for secureboot and + MokSBState" + + -- Seth Forshee Fri, 14 Jul 2017 15:25:41 -0500 + +linux (4.12.0-6.7) artful; urgency=low + + * update ENA driver to 1.2.0k from net-next (LP: #1701575) + - net: ena: change return value for unsupported features unsupported return + value + - net: ena: add hardware hints capability to the driver + - net: ena: change sizeof() argument to be the type pointer + - net: ena: add reset reason for each device FLR + - net: ena: add support for out of order rx buffers refill + - net: ena: allow the driver to work with small number of msix vectors + - net: ena: use napi_schedule_irqoff when possible + - net: ena: separate skb allocation to dedicated function + - net: ena: use lower_32_bits()/upper_32_bits() to split dma address + - net: ena: update driver's rx drop statistics + - net: ena: update ena driver to version 1.2.0 + + * APST gets enabled against explicit kernel option (LP: #1699004) + - nvme: explicitly disable APST on quirked devices + + * Miscellaneous Ubuntu changes + - SAUCE: hio: Update to Huawei ES3000_V2 (2.1.0.40) + - SAUCE: hio updates for 4.12 + - SAUCE: Enable hio build + + -- Seth Forshee Wed, 05 Jul 2017 14:23:20 -0500 + +linux (4.12.0-5.6) artful; urgency=low + + * ERAT invalidate on context switch removal (LP: #1700819) + - powerpc: Only do ERAT invalidate on radix context switch on P9 DD1 + + * powerpc: Invalidate ERAT on powersave wakeup for POWER9 (LP: #1700521) + - SAUCE: powerpc: Invalidate ERAT on powersave wakeup for POWER9 + + * Miscellaneous Ubuntu changes + - d-i: Move qcom-emac from arm64 to shared nic-modules + + [ Upstream Kernel Changes ] + + * Rebase to v4.12 + + -- Seth Forshee Mon, 03 Jul 2017 07:52:02 -0500 + +linux (4.12.0-4.5) artful; urgency=low + + * aacraid driver may return uninitialized stack data to userspace + (LP: #1700077) + - SAUCE: scsi: aacraid: Don't copy uninitialized stack memory to userspace + + * KILLER1435-S[0489:e0a2] BT cannot search BT 4.0 device (LP: #1699651) + - Bluetooth: btusb: Add support for 0489:e0a2 QCA_ROME device + + * AACRAID for power9 platform (LP: #1689980) + - scsi: aacraid: Remove __GFP_DMA for raw srb memory + - scsi: aacraid: Fix DMAR issues with iommu=pt + - scsi: aacraid: Added 32 and 64 queue depth for arc natives + - scsi: aacraid: Set correct Queue Depth for HBA1000 RAW disks + - scsi: aacraid: Remove reset support from check_health + - scsi: aacraid: Change wait time for fib completion + - scsi: aacraid: Log count info of scsi cmds before reset + - scsi: aacraid: Print ctrl status before eh reset + - scsi: aacraid: Using single reset mask for IOP reset + - scsi: aacraid: Rework IOP reset + - scsi: aacraid: Add periodic checks to see IOP reset status + - scsi: aacraid: Rework SOFT reset code + - scsi: aacraid: Rework aac_src_restart + - scsi: aacraid: Use correct function to get ctrl health + - scsi: aacraid: Make sure ioctl returns on controller reset + - scsi: aacraid: Enable ctrl reset for both hba and arc + - scsi: aacraid: Add reset debugging statements + - scsi: aacraid: Remove reference to Series-9 + - scsi: aacraid: Update driver version to 50834 + + * hibmc driver does not include "pci:" prefix in bus ID (LP: #1698700) + - SAUCE: drm: hibmc: Use set_busid function from drm core + + * HiSilicon D05: installer doesn't appear on VGA (LP: #1698954) + - d-i: Add hibmc-drm to kernel-image udeb + + * Fix /proc/cpuinfo revision for POWER9 DD2 (LP: #1698844) + - SAUCE: powerpc: Fix /proc/cpuinfo revision for POWER9 DD2 + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_SATA_MV=n and CONFIG_GENERIC_PHY=n for s390x + - [Config] CONFIG_ATA=n for s390x + - [Config] Update annotations for 4.12 + + [ Upstream Kernel Changes ] + + * Rebase to v4.12-rc7 + + -- Seth Forshee Mon, 26 Jun 2017 11:27:29 -0500 + +linux (4.12.0-3.4) artful; urgency=low + + * Miscellaneous upstream changes + - ufs: fix the logics for tail relocation + + [ Upstream Kernel Changes ] + + * Rebase to v4.12-rc6 + + -- Seth Forshee Mon, 19 Jun 2017 14:50:39 -0500 + +linux (4.12.0-2.3) artful; urgency=low + + * CVE-2014-9900 + - SAUCE: (no-up) net: Zeroing the structure ethtool_wolinfo in + ethtool_get_wol() + + * System doesn't boot properly on Gigabyte AM4 motherboards (AMD Ryzen) + (LP: #1671360) + - pinctrl/amd: Use regular interrupt instead of chained + + * extend-diff-ignore should use exact matches (LP: #1693504) + - [Packaging] exact extend-diff-ignore matches + + * Miscellaneous Ubuntu changes + - SAUCE: efi: Don't print secure boot state from the efi stub + - ubuntu: vbox -- Update to 5.1.22-dfsg-1 + - SAUCE: vbox fixes for 4.12 + - Re-enable virtualbox build + - [Config] CONFIG_ORANGEFS_FS=m + - SAUCE: (noup) Update spl to 0.6.5.9-1ubuntu2, zfs to 0.6.5.9-5ubuntu7 + - Enable zfs build + + [ Upstream Kernel Changes ] + + * Rebase to v4.12-rc4 + * Rebase to v4.12-rc5 + + -- Seth Forshee Sun, 11 Jun 2017 22:25:13 -0500 + +linux (4.12.0-1.2) artful; urgency=low + + * Enable Matrox driver for Ubuntu 16.04.3 (LP: #1693337) + - [Config] Enable CONFIG_DRM_MGAG200 as module + + * Support low-pin-count devices on Hisilicon SoCs (LP: #1677319) + - [Config] CONFIG_LIBIO=y on arm64 only + - SAUCE: LIBIO: Introduce a generic PIO mapping method + - SAUCE: OF: Add missing I/O range exception for indirect-IO devices + - [Config] CONFIG_HISILICON_LPC=y + - SAUCE: LPC: Support the device-tree LPC host on Hip06/Hip07 + - SAUCE: LIBIO: Support the dynamically logical PIO registration of ACPI host + I/O + - SAUCE: LPC: Add the ACPI LPC support + - SAUCE: PCI: Apply the new generic I/O management on PCI IO hosts + - SAUCE: PCI: Restore codepath for !CONFIG_LIBIO + + * POWER9: Additional patches for TTY and CPU_IDLE (LP: #1674325) + - SAUCE: tty: Fix ldisc crash on reopened tty + + * Miscellaneous Ubuntu changes + - [Debian] Add build-dep on libnuma-dev to enable 'perf bench numa' + - Rebase to v4.12-rc3 + + [ Upstream Kernel Changes ] + + * Rebase to v4.12-rc3 + + -- Seth Forshee Mon, 29 May 2017 20:56:29 -0500 + +linux (4.12.0-0.1) artful; urgency=low + + * please enable CONFIG_ARM64_LSE_ATOMICS (LP: #1691614) + - [Config] CONFIG_ARM64_LSE_ATOMICS=y + + * [Regression] NUMA_BALANCING disabled on arm64 (LP: #1690914) + - [Config] CONFIG_NUMA_BALANCING{,_DEFAULT_ENABLED}=y on arm64 + + * exec'ing a setuid binary from a threaded program sometimes fails to setuid + (LP: #1672819) + - SAUCE: exec: ensure file system accounting in check_unsafe_exec is correct + + * Miscellaneous Ubuntu changes + - Update find-missing-sauce.sh to compare to artful + - Update dropped.txt + - SAUCE: (efi-lockdown) efi: Add EFI_SECURE_BOOT bit + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/mem and /dev/kmem when the kernel is + locked down + - SAUCE: (efi-lockdown) Add a sysrq option to exit secure boot mode + - SAUCE: (efi-lockdown) kexec: Disable at runtime if the kernel is locked down + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) kexec_file: Disable at runtime if securelevel has been + set + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) asus-wmi: Restrict debugfs interface when the kernel + is locked down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Enable cold boot attack mitigation + - SAUCE: (efi-lockdown) bpf: Restrict kernel image access functions when the + kernel is locked down + - SAUCE: (efi-lockdown) scsi: Lock down the eata driver + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) KEYS: Allow unrestricted boot-time addition of keys to + secondary keyring + - SAUCE: (efi-lockdown) efi: Add EFI signature data types + - SAUCE: (efi-lockdown) efi: Add an EFI signature blob parser + - SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI Secure Boot + - SAUCE: (efi-lockdown) MODSIGN: Allow the "db" UEFI variable to be suppressed + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) efi: Add secure_boot state and status bit for + MokSBState + - SAUCE: (efi-lockdown) efi: Add sysctls for secureboot and MokSBState + - [Config] Set values for UEFI secure boot lockdown options + - Disable virtualbox build + - Disable hio build + - SAUCE: securityfs: Replace CURRENT_TIME with current_time() + - Disable zfs build + - [Debian] Work out upstream tag for use with gen-auto-reconstruct + - SAUCE: Import aufs driver + - SAUCE: aufs -- Include linux/mm.h in fs/aufs/file.h + - [Config] Enable aufs + - SAUCE: perf callchain: Include errno.h on x86 unconditinally + + [ Upstream Kernel Changes ] + + * Rebase to v4.12-rc2 + + -- Seth Forshee Sun, 21 May 2017 23:44:44 -0500 + +linux (4.11.0-3.8) artful; urgency=low + + [ Seth Forshee ] + + * Release Tracking Bug + - LP: #1690999 + + * apparmor_parser hangs indefinitely when called by multiple threads + (LP: #1645037) + - SAUCE: apparmor: fix lock ordering for mkdir + + * apparmor leaking securityfs pin count (LP: #1660846) + - SAUCE: apparmor: fix leak on securityfs pin count + + * apparmor reference count leak when securityfs_setup_d_inode\ () fails + (LP: #1660845) + - SAUCE: apparmor: fix reference count leak when securityfs_setup_d_inode() + fails + + * apparmor not checking error if security_pin_fs() fails (LP: #1660842) + - SAUCE: apparmor: fix not handling error case when securityfs_pin_fs() fails + + * libvirt profile is blocking global setrlimit despite having no rlimit rule + (LP: #1679704) + - SAUCE: apparmor: fix complain mode failure for rlimit mediation + - apparmor: update auditing of rlimit check to provide capability information + + * apparmor: does not provide a way to detect policy updataes (LP: #1678032) + - SAUCE: apparmor: add policy revision file interface + + * apparmor does not make support of query data visible (LP: #1678023) + - SAUCE: apparmor: add label data availability to the feature set + + * apparmor query interface does not make supported query info available + (LP: #1678030) + - SAUCE: apparmor: add information about the query inteface to the feature set + + * change_profile incorrect when using namespaces with a compound stack + (LP: #1677959) + - SAUCE: apparmor: fix label parse for stacked labels + + * Regression in 4.4.0-65-generic causes very frequent system crashes + (LP: #1669611) + - apparmor: sync of apparmor 3.6+ (17.04) + + * Artful update to 4.11.1 stable release (LP: #1690814) + - dm ioctl: prevent stack leak in dm ioctl call + - drm/sti: fix GDP size to support up to UHD resolution + - power: supply: lp8788: prevent out of bounds array access + - brcmfmac: Ensure pointer correctly set if skb data location changes + - brcmfmac: Make skb header writable before use + - sparc64: fix fault handling in NGbzero.S and GENbzero.S + - refcount: change EXPORT_SYMBOL markings + - net: macb: fix phy interrupt parsing + - tcp: fix access to sk->sk_state in tcp_poll() + - geneve: fix incorrect setting of UDP checksum flag + - bpf: enhance verifier to understand stack pointer arithmetic + - bpf, arm64: fix jit branch offset related to ldimm64 + - tcp: fix wraparound issue in tcp_lp + - net: ipv6: Do not duplicate DAD on link up + - net: usb: qmi_wwan: add Telit ME910 support + - tcp: do not inherit fastopen_req from parent + - ipv4, ipv6: ensure raw socket message is big enough to hold an IP header + - rtnetlink: NUL-terminate IFLA_PHYS_PORT_NAME string + - ipv6: initialize route null entry in addrconf_init() + - ipv6: reorder ip6_route_dev_notifier after ipv6_dev_notf + - tcp: randomize timestamps on syncookies + - bnxt_en: allocate enough space for ->ntp_fltr_bmap + - bpf: don't let ldimm64 leak map addresses on unprivileged + - net: mdio-mux: bcm-iproc: call mdiobus_free() in error path + - f2fs: sanity check segment count + - xen/arm,arm64: fix xen_dma_ops after 815dd18 "Consolidate get_dma_ops..." + - xen: Revert commits da72ff5bfcb0 and 72a9b186292d + - block: get rid of blk_integrity_revalidate() + - Linux 4.11.1 + + * Module signing exclusion for staging drivers does not work properly + (LP: #1690908) + - SAUCE: Fix module signing exclusion in package builds + + * perf: qcom: Add L3 cache PMU driver (LP: #1689856) + - [Config] CONFIG_QCOM_L3_PMU=y + - perf: qcom: Add L3 cache PMU driver + + * No PMU support for ACPI-based arm64 systems (LP: #1689661) + - drivers/perf: arm_pmu: rework per-cpu allocation + - drivers/perf: arm_pmu: manage interrupts per-cpu + - drivers/perf: arm_pmu: split irq request from enable + - drivers/perf: arm_pmu: remove pointless PMU disabling + - drivers/perf: arm_pmu: define armpmu_init_fn + - drivers/perf: arm_pmu: fold init into alloc + - drivers/perf: arm_pmu: factor out pmu registration + - drivers/perf: arm_pmu: simplify cpu_pmu_request_irqs() + - drivers/perf: arm_pmu: handle no platform_device + - drivers/perf: arm_pmu: rename irq request/free functions + - drivers/perf: arm_pmu: split cpu-local irq request/free + - drivers/perf: arm_pmu: move irq request/free into probe + - drivers/perf: arm_pmu: split out platform device probe logic + - arm64: add function to get a cpu's MADT GICC table + - [Config] CONFIG_ARM_PMU_ACPI=y + - drivers/perf: arm_pmu: add ACPI framework + - arm64: pmuv3: handle !PMUv3 when probing + - arm64: pmuv3: use arm_pmu ACPI framework + + * Fix NVLINK2 TCE route (LP: #1690155) + - powerpc/powernv: Fix TCE kill on NVLink2 + + * CVE-2017-0605 + - tracing: Use strlcpy() instead of strcpy() in __trace_find_cmdline() + + * Miscellaneous Ubuntu changes + - [Config] Restore powerpc arch to annotations file + - [Config] Disable runtime testing modules + - [Config] Disable drivers not needed on s390x + - [Config] Update annotations for 4.11 + - [Config] updateconfigs after apparmor updates + + * Miscellaneous upstream changes + - apparmor: use SHASH_DESC_ON_STACK + - apparmor: fix invalid reference to index variable of iterator line 836 + - apparmor: fix parameters so that the permission test is bypassed at boot + - apparmor: Make path_max parameter readonly + - apparmorfs: Combine two function calls into one in aa_fs_seq_raw_abi_show() + - apparmorfs: Use seq_putc() in two functions + - apparmor: provide information about path buffer size at boot + - apparmor: add/use fns to print hash string hex value + + -- Seth Forshee Tue, 16 May 2017 00:39:13 -0500 + +linux (4.11.0-2.7) artful; urgency=low + + * kernel-wedge fails in artful due to leftover squashfs-modules d-i files + (LP: #1688259) + - Remove squashfs-modules files from d-i + - [Config] as squashfs-modules is builtin kernel-image must Provides: it + + * [Zesty] d-i: replace msm_emac with qcom_emac (LP: #1677297) + - Revert "UBUNTU: d-i: initrd needs msm_emac on amberwing platform." + - d-i: initrd needs qcom_emac on amberwing platform. + + * update for V3 kernel bits and improved multiple fan slice support + (LP: #1470091) + - SAUCE: fan: tunnel multiple mapping mode (v3) + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.6.5.9-1ubuntu1, zfs to 0.6.5.9-5ubuntu5 + - Enable zfs + - SAUCE: fan: add VXLAN implementation + - SAUCE: (efi-lockdown) efi: Add EFI_SECURE_BOOT bit + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/mem and /dev/kmem when the kernel is + locked down + - SAUCE: (efi-lockdown) Add a sysrq option to exit secure boot mode + - SAUCE: (efi-lockdown) kexec: Disable at runtime if the kernel is locked down + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) kexec_file: Disable at runtime if securelevel has been + set + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) asus-wmi: Restrict debugfs interface when the kernel + is locked down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Enable cold boot attack mitigation + - SAUCE: (efi-lockdown) bpf: Restrict kernel image access functions when the + kernel is locked down + - SAUCE: (efi-lockdown) scsi: Lock down the eata driver + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Add EFI signature data types + - SAUCE: (efi-lockdown) Add an EFI signature blob parser and key loader. + - SAUCE: (efi-lockdown) KEYS: Add a system blacklist keyring + - SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI Secure Boot + - SAUCE: (efi-lockdown) MODSIGN: Support not importing certs from db + - SAUCE: (efi-lockdown) MODSIGN: Don't try secure boot if EFI runtime is + disabled + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) efi: Add secure_boot state and status bit for + MokSBState + - SAUCE: (efi-lockdown) efi: Add sysctls for secureboot and MokSBState + - [Config] Set values for UEFI secure boot lockdown options + - Update dropped.txt + + [ Upstream Kernel Changes ] + + * rebase to v4.11 + + -- Seth Forshee Fri, 05 May 2017 07:43:14 -0500 + +linux (4.11.0-1.6) artful; urgency=low + + * Miscellaneous Ubuntu changes + - [Debian] Use default compression for all packages + - SAUCE: (namespace) block_dev: Support checking inode permissions in + lookup_bdev() + - SAUCE: (namespace) block_dev: Check permissions towards block device inode + when mounting + - SAUCE: (namespace) mtd: Check permissions towards mtd block device inode + when mounting + - SAUCE: (namespace) fs: Allow superblock owner to change ownership of inodes + - SAUCE: (namespace) fs: Don't remove suid for CAP_FSETID for userns root + - SAUCE: (namespace) fs: Allow superblock owner to access do_remount_sb() + - SAUCE: (namespace) capabilities: Allow privileged user in s_user_ns to set + security.* xattrs + - SAUCE: (namespace) fs: Allow CAP_SYS_ADMIN in s_user_ns to freeze and thaw + filesystems + - SAUCE: (namespace) fuse: Add support for pid namespaces + - SAUCE: (namespace) fuse: Support fuse filesystems outside of init_user_ns + - SAUCE: (namespace) fuse: Restrict allow_other to the superblock's namespace + or a descendant + - SAUCE: (namespace) fuse: Allow user namespace mounts + - SAUCE: (namespace) ext4: Add support for unprivileged mounts from user + namespaces + - SAUCE: (namespace) evm: Don't update hmacs in user ns mounts + - SAUCE: (namespace) ext4: Add module parameter to enable user namespace + mounts + - SAUCE: (namespace) block_dev: Forbid unprivileged mounting when device is + opened for writing + + -- Seth Forshee Wed, 26 Apr 2017 10:08:29 -0500 + +linux (4.11.0-0.5) artful; urgency=low + + * [Hyper-V][SAUCE] pci-hyperv: Use only 16 bit integer for PCI domain + (LP: #1684971) + - SAUCE: pci-hyperv: Use only 16 bit integer for PCI domain + + * [Hyper-V] Ubuntu 14.04.2 LTS Generation 2 SCSI Errors on VSS Based Backups + (LP: #1470250) + - SAUCE: Tools: hv: vss: Thaw the filesystem and continue after freeze fails + + * Enable virtual scsi server driver for Power (LP: #1615665) + - SAUCE: Return TCMU-generated sense data to fabric module + + * include/linux/security.h header syntax error with !CONFIG_SECURITYFS + (LP: #1630990) + - SAUCE: (no-up) include/linux/security.h -- fix syntax error with + CONFIG_SECURITYFS=n + + * Miscellaneous Ubuntu changes + - SAUCE: Import aufs driver + - [Config] Enable aufs + - [Debian] Add script to update virtualbox + - ubuntu: vbox -- Update to 5.1.20-dfsg-2 + - Enable vbox + - SAUCE: aufs -- Include linux/mm.h in fs/aufs/file.h + + [ Upstream Kernel Changes ] + + * rebase to v4.11-rc8 + + -- Seth Forshee Tue, 25 Apr 2017 13:42:54 -0500 + +linux (4.11.0-0.4) zesty; urgency=low + + * POWER9: Improve performance on memory management (LP: #1681429) + - SAUCE: powerpc/mm/radix: Don't do page walk cache flush when doing full mm + flush + - SAUCE: powerpc/mm/radix: Remove unnecessary ptesync + + * Miscellaneous Ubuntu changes + - find-missing-sauce.sh + + [ Upstream Kernel Changes ] + + * rebase to v4.11-rc7 + + -- Seth Forshee Tue, 18 Apr 2017 08:19:43 -0500 + +linux (4.11.0-0.3) zesty; urgency=low + + * Disable CONFIG_HVC_UDBG on ppc64el (LP: #1680888) + - [Config] Disable CONFIG_HVC_UDBG on ppc64el + + * smartpqi driver needed in initram disk and installer (LP: #1680156) + - [Config] Add smartpqi to d-i + + * Disable CONFIG_SECURITY_SELINUX_DISABLE (LP: #1680315) + - [Config] CONFIG_SECURITY_SELINUX_DISABLE=n + + * Miscellaneous Ubuntu changes + - [Config] flash-kernel should be a Breaks + - [Config] drop the info directory + - [Config] drop NOTES as obsolete + - [Config] drop changelog.historical as obsolete + - rebase to v4.11-rc6 + + [ Upstream Kernel Changes ] + + * rebase to v4.11-rc6 + + -- Tim Gardner Tue, 11 Apr 2017 07:16:52 -0600 + +linux (4.11.0-0.2) zesty; urgency=low + + [ Upstream Kernel Changes ] + + * rebase to v4.11-rc5 + + -- Tim Gardner Mon, 03 Apr 2017 08:26:07 +0100 + +linux (4.11.0-0.1) zesty; urgency=low + + [ Upstream Kernel Changes ] + + * rebase to v4.11-rc4 + - LP: #1591053 + + -- Tim Gardner Mon, 20 Mar 2017 05:15:32 -0600 + +linux (4.11.0-0.0) zesty; urgency=low + + * dummy entry + + -- Tim Gardner Mon, 20 Mar 2017 05:15:32 -0600 --- linux-gcp-5.19.0.orig/debian.gcp/config/amd64/config.common.amd64 +++ linux-gcp-5.19.0/debian.gcp/config/amd64/config.common.amd64 @@ -0,0 +1,60 @@ +# +# Config options for config.common.amd64 automatically generated by splitconfig.pl +# +CONFIG_ACPI_DEBUG=y +CONFIG_ACPI_DEBUGGER=y +# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set +CONFIG_ARCH_MMAP_RND_BITS=28 +CONFIG_ARCH_MMAP_RND_BITS_MAX=32 +CONFIG_ARCH_MMAP_RND_BITS_MIN=28 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8 +CONFIG_ARCH_NR_GPIO=1024 +CONFIG_ATA_GENERIC=y +CONFIG_ATA_PIIX=y +CONFIG_CC_VERSION_TEXT="x86_64-linux-gnu-gcc-12 (Ubuntu 12.2.0-3ubuntu1) 12.2.0" +# CONFIG_CMA is not set +# CONFIG_COMEDI_TESTS_EXAMPLE is not set +# CONFIG_COMEDI_TESTS_NI_ROUTES is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y +CONFIG_CRC8=m +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11 +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +# CONFIG_DRM_ETNAVIV is not set +CONFIG_HIBERNATION=y +# CONFIG_HID_RAZER is not set +CONFIG_I2C_AMD_MP2=m +# CONFIG_I2C_SLAVE is not set +CONFIG_IOMMU_DEFAULT_DMA_LAZY=y +# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set +CONFIG_KVM=m +CONFIG_MDIO_BITBANG=m +CONFIG_MII=m +CONFIG_MMC_BLOCK=m +# CONFIG_MMC_HSQ is not set +# CONFIG_NET_DSA_REALTEK_MDIO is not set +# CONFIG_NET_DSA_REALTEK_SMI is not set +CONFIG_NODES_SHIFT=10 +CONFIG_NR_CPUS=8192 +# CONFIG_OF is not set +# CONFIG_PAGE_POOL_STATS is not set +CONFIG_PATA_SIS=y +# CONFIG_PCI_MESON is not set +CONFIG_PCMCIA=m +CONFIG_PGTABLE_LEVELS=5 +CONFIG_PMIC_OPREGION=y +CONFIG_SERIAL_8250_DW=m +CONFIG_SFC_SIENA_SRIOV=y +CONFIG_SND_HDA_PREALLOC_SIZE=0 +# CONFIG_STANDALONE is not set +CONFIG_SURFACE_3_POWER_OPREGION=m +CONFIG_SURFACE_PRO3_BUTTON=m +# CONFIG_TEST_DIV64 is not set +CONFIG_TOUCHSCREEN_ELAN=y +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_OHCI_HCD_PLATFORM=y +CONFIG_VFIO=y +CONFIG_VFIO_IOMMU_TYPE1=y +CONFIG_VFIO_PCI=y +CONFIG_VFIO_PCI_CORE=y +CONFIG_VFIO_VIRQFD=y --- linux-gcp-5.19.0.orig/debian.gcp/config/amd64/config.flavour.gcp +++ linux-gcp-5.19.0/debian.gcp/config/amd64/config.flavour.gcp @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.gcp automatically generated by splitconfig.pl +# --- linux-gcp-5.19.0.orig/debian.gcp/config/annotations +++ linux-gcp-5.19.0/debian.gcp/config/annotations @@ -0,0 +1,133 @@ +# Menu: HEADER +# FORMAT: 3 +# ARCH: x86 + +include "../../debian.master/config/annotations" + + +################### +# Configs required for gcp spceifically go first +################### + + +######################### +# NOTE: The following modules should be included +# in the default included modules (linux-modules) not +# linux-modules-extra: +# +# drivers/target/loopback/tcm_loop.ko (CONFIG_LOOPBACK_TARGET) +# drivers/target/loopback/target_core*.ko (CONFIG_LOOPBACK_TARGET) + + + +CONFIG_LOOPBACK_TARGET policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_LOOPBACK_TARGET mark note + + + +# Menu: Device Drivers >> Block devices +CONFIG_BLK_DEV_FD policy<{'amd64': 'n'}> +CONFIG_BLK_DEV_FD mark note + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers +CONFIG_SCSI_VIRTIO policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_SCSI_VIRTIO mark note note + +# Menu: Kernel hacking +CONFIG_PANIC_ON_OOPS policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_PANIC_ON_OOPS mark note note + +# Menu: Kernel hacking >> Debug Lockups and Hangs +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC policy<{'amd64': 'y'}> +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC mark note +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC mark note + +# Menu: Library routines +CONFIG_RAID6_PQ_DEFAULT_ALG policy<{'amd64': '-'}> +CONFIG_RAID6_PQ_DEFAULT_ALG mark note +CONFIG_RAID6_PQ_DEFAULT_ALG_BOOL policy<{'amd64': '-'}> +CONFIG_RAID6_PQ_DEFAULT_ALG_BOOL mark note + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> Core Netfilter Configuration +CONFIG_NETFILTER_NETLINK_QUEUE policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_NETFILTER_NETLINK_LOG policy<{'amd64': 'y', 'arm64': 'y'}> +# +CONFIG_NETFILTER_NETLINK_QUEUE mark note +CONFIG_NETFILTER_NETLINK_LOG mark note + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> Core Netfilter Configuration >> Netfilter connection tracking support +CONFIG_NF_CONNTRACK policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_NF_CONNTRACK_PROCFS policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_NF_CT_NETLINK policy<{'amd64': 'y', 'arm64': 'y'}> +# +CONFIG_NF_CONNTRACK mark note +CONFIG_NF_CONNTRACK_PROCFS mark note +CONFIG_NF_CT_NETLINK mark note +CONFIG_NF_CONNTRACK_PROCFS flag + +CONFIG_BLK_DEV_NVME policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_BLK_DEV_NVME mark note + +CONFIG_ANDROID policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ANDROID mark note +CONFIG_ANDROID_BINDERFS policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_ANDROID_BINDERFS mark note +CONFIG_ANDROID_BINDER_DEVICES policy<{'amd64': '""', 'arm64': '""'}> +CONFIG_ANDROID_BINDER_DEVICES mark note +CONFIG_ANDROID_BINDER_IPC policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_ANDROID_BINDER_IPC mark note +CONFIG_ACCESSIBILITY policy<{'amd64': 'n', 'arm64': 'n'}> + + +CONFIG_SEV_GUEST policy<{'amd64': 'y'}> +CONFIG_SEV_GUEST mark note + + + + +############## +# Configs just to override master annotations go next +############## +CONFIG_HZ_250 policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_HZ_1000 policy<{'amd64': 'n', 'arm64': 'n'}> +CONFIG_SENSORS_AAEON policy<{'amd64': '-'}> +CONFIG_VIDEO_ADV7511_CEC policy<{'amd64': 'n'}> +CONFIG_AAEON_IWMI_WDT policy<{'amd64': '-'}> +CONFIG_LEDS_AAEON policy<{'amd64': '-'}> +CONFIG_COMEDI_TESTS_NI_ROUTES policy<{'amd64': 'n', 'arm64': 'm'}> +CONFIG_MFD_AAEON policy<{'amd64': '-'}> +CONFIG_PREEMPT_VOLUNTARY policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_GPIO_AAEON policy<{'amd64': '-'}> +CONFIG_TEST_DIV64 policy<{'amd64': 'n', 'arm64': 'm'}> +CONFIG_COMEDI_TESTS_EXAMPLE policy<{'amd64': 'n', 'arm64': 'm'}> +CONFIG_PREEMPT policy<{'amd64': 'n', 'arm64': 'n'}> +CONFIG_LATENCYTOP policy<{'amd64': 'n', 'arm64': 'n'}> + +CONFIG_MESON_EFUSE policy<{'arm64': 'm'}> +CONFIG_MESON_SECURE_PM_DOMAINS policy<{'arm64': 'y'}> +CONFIG_FORCE_MAX_ZONEORDER policy<{'arm64': '13'}> +CONFIG_INFINIBAND_VMWARE_PVRDMA policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_ARM64_VA_BITS_39 policy<{'arm64': 'n'}> +CONFIG_VMXNET3 policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_LIBCRC32C policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ARM64_4K_PAGES policy<{'arm64': 'y'}> +CONFIG_ARM64_64K_PAGES policy<{'arm64': 'n'}> +CONFIG_MESON_SM policy<{'arm64': 'y'}> + +CONFIG_SYSFB_SIMPLEFB policy<{'amd64': 'y', 'arm64': 'y'}> + +CONFIG_PREEMPT_TRACER policy<{'amd64': '-', 'arm64': '-'}> +CONFIG_DEBUG_PREEMPT policy<{'amd64': '-', 'arm64': '-'}> +CONFIG_CEC_PIN_ERROR_INJ policy<{'amd64': '-', 'arm64': 'n'}> +CONFIG_CEC_GPIO policy<{'amd64': '-', 'arm64': '-'}> +CONFIG_CEC_GPIO policy<{'amd64': '-', 'arm64': '-'}> +CONFIG_NTFS_RW policy<{'amd64': 'n', 'arm64': 'n'}> +CONFIG_GPIO_CDEV_V1 policy<{'amd64': 'n', 'arm64': 'n'}> + +CONFIG_SND_SOC_AMD_PS_MACH policy<{'amd64': '-'}> +CONFIG_SND_SOC_AMD_PS policy<{'amd64': 'n'}> + +CONFIG_HSU_DMA policy<{'amd64': 'm'}> +CONFIG_SERIAL_8250_MID policy<{'amd64': 'm'}> +CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM policy<{'amd64': 'n', 'arm64': 'n'}> --- linux-gcp-5.19.0.orig/debian.gcp/config/arm64/config.common.arm64 +++ linux-gcp-5.19.0/debian.gcp/config/arm64/config.common.arm64 @@ -0,0 +1,60 @@ +# +# Config options for config.common.arm64 automatically generated by splitconfig.pl +# +# CONFIG_ACPI_DEBUG is not set +# CONFIG_ACPI_DEBUGGER is not set +CONFIG_ACPI_REDUCED_HARDWARE_ONLY=y +CONFIG_ARCH_MMAP_RND_BITS=18 +CONFIG_ARCH_MMAP_RND_BITS_MAX=33 +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 +CONFIG_ARCH_NR_GPIO=2048 +CONFIG_ATA_GENERIC=m +CONFIG_ATA_PIIX=m +CONFIG_CC_VERSION_TEXT="aarch64-linux-gnu-gcc-12 (Ubuntu 12.2.0-3ubuntu1) 12.2.0" +CONFIG_CMA=y +CONFIG_COMEDI_TESTS_EXAMPLE=m +CONFIG_COMEDI_TESTS_NI_ROUTES=m +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set +CONFIG_CRC8=y +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9 +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +CONFIG_DRM_ETNAVIV=m +# CONFIG_HIBERNATION is not set +CONFIG_HID_RAZER=m +# CONFIG_I2C_AMD_MP2 is not set +CONFIG_I2C_SLAVE=y +# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set +CONFIG_IOMMU_DEFAULT_DMA_STRICT=y +CONFIG_KVM=y +CONFIG_MDIO_BITBANG=y +CONFIG_MII=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_HSQ=m +CONFIG_NET_DSA_REALTEK_MDIO=m +CONFIG_NET_DSA_REALTEK_SMI=m +CONFIG_NODES_SHIFT=6 +CONFIG_NR_CPUS=256 +CONFIG_OF=y +CONFIG_PAGE_POOL_STATS=y +CONFIG_PATA_SIS=m +CONFIG_PCI_MESON=m +# CONFIG_PCMCIA is not set +CONFIG_PGTABLE_LEVELS=4 +# CONFIG_PMIC_OPREGION is not set +CONFIG_SERIAL_8250_DW=y +# CONFIG_SFC_SIENA_SRIOV is not set +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_STANDALONE=y +# CONFIG_SURFACE_3_POWER_OPREGION is not set +# CONFIG_SURFACE_PRO3_BUTTON is not set +CONFIG_TEST_DIV64=m +CONFIG_TOUCHSCREEN_ELAN=m +CONFIG_USB_EHCI_HCD_PLATFORM=m +CONFIG_USB_OHCI_HCD_PLATFORM=m +CONFIG_VFIO=m +CONFIG_VFIO_IOMMU_TYPE1=m +CONFIG_VFIO_PCI=m +CONFIG_VFIO_PCI_CORE=m +CONFIG_VFIO_VIRQFD=m --- linux-gcp-5.19.0.orig/debian.gcp/config/arm64/config.flavour.gcp +++ linux-gcp-5.19.0/debian.gcp/config/arm64/config.flavour.gcp @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.gcp automatically generated by splitconfig.pl +# --- linux-gcp-5.19.0.orig/debian.gcp/config/config.common.ports +++ linux-gcp-5.19.0/debian.gcp/config/config.common.ports @@ -0,0 +1,3 @@ +# +# Common config options automatically generated by splitconfig.pl +# --- linux-gcp-5.19.0.orig/debian.gcp/config/config.common.ubuntu +++ linux-gcp-5.19.0/debian.gcp/config/config.common.ubuntu @@ -0,0 +1,12641 @@ +# +# Common config options automatically generated by splitconfig.pl +# +CONFIG_104_QUAD_8=m +CONFIG_60XX_WDT=m +CONFIG_64BIT=y +CONFIG_6LOWPAN=m +# CONFIG_6LOWPAN_DEBUGFS is not set +# CONFIG_6LOWPAN_GHC_EXT_HDR_DEST is not set +# CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG is not set +# CONFIG_6LOWPAN_GHC_EXT_HDR_HOP is not set +# CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE is not set +# CONFIG_6LOWPAN_GHC_ICMPV6 is not set +# CONFIG_6LOWPAN_GHC_UDP is not set +CONFIG_6LOWPAN_NHC=m +CONFIG_6LOWPAN_NHC_DEST=m +CONFIG_6LOWPAN_NHC_FRAGMENT=m +CONFIG_6LOWPAN_NHC_HOP=m +CONFIG_6LOWPAN_NHC_IPV6=m +CONFIG_6LOWPAN_NHC_MOBILITY=m +CONFIG_6LOWPAN_NHC_ROUTING=m +CONFIG_6LOWPAN_NHC_UDP=m +CONFIG_6PACK=m +CONFIG_8139CP=m +CONFIG_8139TOO=m +CONFIG_8139TOO_8129=y +CONFIG_8139TOO_PIO=y +# CONFIG_8139TOO_TUNE_TWISTER is not set +# CONFIG_8139_OLD_RX_RESET is not set +CONFIG_842_COMPRESS=m +CONFIG_842_DECOMPRESS=m +CONFIG_9P_FS=m +CONFIG_9P_FSCACHE=y +CONFIG_9P_FS_POSIX_ACL=y +CONFIG_9P_FS_SECURITY=y +CONFIG_ABP060MG=m +CONFIG_AC97_BUS=m +# CONFIG_ACCESSIBILITY is not set +CONFIG_ACENIC=m +# CONFIG_ACENIC_OMIT_TIGON_I is not set +CONFIG_ACERHDF=m +CONFIG_ACER_WIRELESS=m +CONFIG_ACER_WMI=m +# CONFIG_ACORN_PARTITION is not set +CONFIG_ACPI=y +CONFIG_ACPI_AC=y +CONFIG_ACPI_ADXL=y +CONFIG_ACPI_AGDI=y +CONFIG_ACPI_ALS=m +CONFIG_ACPI_APEI=y +CONFIG_ACPI_APEI_EINJ=m +# CONFIG_ACPI_APEI_ERST_DEBUG is not set +CONFIG_ACPI_APEI_GHES=y +CONFIG_ACPI_APEI_MEMORY_FAILURE=y +CONFIG_ACPI_APEI_PCIEAER=y +CONFIG_ACPI_APEI_SEA=y +CONFIG_ACPI_BATTERY=y +CONFIG_ACPI_BGRT=y +CONFIG_ACPI_BUTTON=y +CONFIG_ACPI_CCA_REQUIRED=y +CONFIG_ACPI_CMPC=m +CONFIG_ACPI_CONFIGFS=m +CONFIG_ACPI_CONTAINER=y +CONFIG_ACPI_CPPC_CPUFREQ=m +CONFIG_ACPI_CPPC_CPUFREQ_FIE=y +CONFIG_ACPI_CPPC_LIB=y +CONFIG_ACPI_CPU_FREQ_PSS=y +CONFIG_ACPI_CUSTOM_DSDT_FILE="" +# CONFIG_ACPI_CUSTOM_METHOD is not set +CONFIG_ACPI_DEBUGGER_USER=y +CONFIG_ACPI_DOCK=y +CONFIG_ACPI_DPTF=y +CONFIG_ACPI_EC_DEBUGFS=m +CONFIG_ACPI_EXTLOG=m +CONFIG_ACPI_FAN=y +CONFIG_ACPI_FPDT=y +CONFIG_ACPI_GENERIC_GSI=y +CONFIG_ACPI_GTDT=y +CONFIG_ACPI_HED=y +CONFIG_ACPI_HMAT=y +CONFIG_ACPI_HOTPLUG_CPU=y +CONFIG_ACPI_HOTPLUG_IOAPIC=y +CONFIG_ACPI_HOTPLUG_MEMORY=y +CONFIG_ACPI_I2C_OPREGION=y +CONFIG_ACPI_IORT=y +CONFIG_ACPI_IPMI=m +CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y +CONFIG_ACPI_LPIT=y +CONFIG_ACPI_MCFG=y +CONFIG_ACPI_MDIO=y +CONFIG_ACPI_NFIT=m +CONFIG_ACPI_NUMA=y +CONFIG_ACPI_PCC=y +CONFIG_ACPI_PCI_SLOT=y +CONFIG_ACPI_PFRUT=m +CONFIG_ACPI_PLATFORM_PROFILE=m +CONFIG_ACPI_PPTT=y +CONFIG_ACPI_PRMT=y +CONFIG_ACPI_PROCESSOR=y +CONFIG_ACPI_PROCESSOR_AGGREGATOR=m +CONFIG_ACPI_PROCESSOR_CSTATE=y +CONFIG_ACPI_PROCESSOR_IDLE=y +CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y +CONFIG_ACPI_SBS=m +CONFIG_ACPI_SLEEP=y +CONFIG_ACPI_SPCR_TABLE=y +CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y +CONFIG_ACPI_TABLE_LIB=y +CONFIG_ACPI_TABLE_UPGRADE=y +CONFIG_ACPI_TAD=m +CONFIG_ACPI_THERMAL=y +CONFIG_ACPI_THERMAL_REL=m +CONFIG_ACPI_TOSHIBA=m +CONFIG_ACPI_VIDEO=m +CONFIG_ACPI_VIOT=y +CONFIG_ACPI_WATCHDOG=y +CONFIG_ACPI_WMI=m +CONFIG_ACQUIRE_WDT=m +CONFIG_ACRN_GUEST=y +CONFIG_ACRN_HSM=m +CONFIG_AD2S1200=m +CONFIG_AD2S1210=m +CONFIG_AD2S90=m +CONFIG_AD3552R=m +CONFIG_AD5064=m +CONFIG_AD5110=m +CONFIG_AD525X_DPOT=m +CONFIG_AD525X_DPOT_I2C=m +CONFIG_AD525X_DPOT_SPI=m +CONFIG_AD5272=m +CONFIG_AD5360=m +CONFIG_AD5380=m +CONFIG_AD5421=m +CONFIG_AD5446=m +CONFIG_AD5449=m +CONFIG_AD5504=m +CONFIG_AD5592R=m +CONFIG_AD5592R_BASE=m +CONFIG_AD5593R=m +CONFIG_AD5624R_SPI=m +CONFIG_AD5686=m +CONFIG_AD5686_SPI=m +CONFIG_AD5696_I2C=m +CONFIG_AD5755=m +CONFIG_AD5758=m +CONFIG_AD5761=m +CONFIG_AD5764=m +CONFIG_AD5766=m +CONFIG_AD5770R=m +CONFIG_AD5791=m +CONFIG_AD5933=m +CONFIG_AD7091R5=m +CONFIG_AD7124=m +CONFIG_AD7150=m +CONFIG_AD7192=m +CONFIG_AD7266=m +CONFIG_AD7280=m +CONFIG_AD7291=m +CONFIG_AD7292=m +CONFIG_AD7293=m +CONFIG_AD7298=m +CONFIG_AD7303=m +CONFIG_AD74413R=m +CONFIG_AD7476=m +CONFIG_AD7606=m +CONFIG_AD7606_IFACE_PARALLEL=m +CONFIG_AD7606_IFACE_SPI=m +CONFIG_AD7746=m +CONFIG_AD7766=m +CONFIG_AD7768_1=m +CONFIG_AD7780=m +CONFIG_AD7791=m +CONFIG_AD7793=m +CONFIG_AD7816=m +CONFIG_AD7887=m +CONFIG_AD7923=m +CONFIG_AD7949=m +CONFIG_AD799X=m +CONFIG_AD8366=m +CONFIG_AD8801=m +CONFIG_AD9467=m +CONFIG_AD9523=m +CONFIG_AD9832=m +CONFIG_AD9834=m +CONFIG_ADA4250=m +CONFIG_ADAPTEC_STARFIRE=m +CONFIG_ADE7854=m +CONFIG_ADE7854_I2C=m +CONFIG_ADE7854_SPI=m +CONFIG_ADF4350=m +CONFIG_ADF4371=m +CONFIG_ADFS_FS=m +# CONFIG_ADFS_FS_RW is not set +CONFIG_ADIN1100_PHY=m +CONFIG_ADIN_PHY=m +CONFIG_ADIS16080=m +CONFIG_ADIS16130=m +CONFIG_ADIS16136=m +CONFIG_ADIS16201=m +CONFIG_ADIS16203=m +CONFIG_ADIS16209=m +CONFIG_ADIS16240=m +CONFIG_ADIS16260=m +CONFIG_ADIS16400=m +CONFIG_ADIS16460=m +CONFIG_ADIS16475=m +CONFIG_ADIS16480=m +CONFIG_ADI_AXI_ADC=m +CONFIG_ADJD_S311=m +CONFIG_ADM8211=m +CONFIG_ADMV1013=m +CONFIG_ADMV1014=m +CONFIG_ADMV4420=m +CONFIG_ADMV8818=m +CONFIG_ADRF6780=m +CONFIG_ADT7316=m +CONFIG_ADT7316_I2C=m +CONFIG_ADT7316_SPI=m +CONFIG_ADUX1020=m +CONFIG_ADVANTECH_WDT=m +CONFIG_ADVISE_SYSCALLS=y +CONFIG_ADV_SWBUTTON=m +CONFIG_ADXL313=m +CONFIG_ADXL313_I2C=m +CONFIG_ADXL313_SPI=m +CONFIG_ADXL355=m +CONFIG_ADXL355_I2C=m +CONFIG_ADXL355_SPI=m +CONFIG_ADXL367=m +CONFIG_ADXL367_I2C=m +CONFIG_ADXL367_SPI=m +CONFIG_ADXL372=m +CONFIG_ADXL372_I2C=m +CONFIG_ADXL372_SPI=m +CONFIG_ADXRS290=m +CONFIG_ADXRS450=m +CONFIG_AD_SIGMA_DELTA=m +CONFIG_AFE4403=m +CONFIG_AFE4404=m +CONFIG_AFFS_FS=m +# CONFIG_AFS_DEBUG is not set +# CONFIG_AFS_DEBUG_CURSOR is not set +CONFIG_AFS_FS=m +CONFIG_AFS_FSCACHE=y +CONFIG_AF_KCM=m +CONFIG_AF_RXRPC=m +# CONFIG_AF_RXRPC_DEBUG is not set +# CONFIG_AF_RXRPC_INJECT_LOSS is not set +CONFIG_AF_RXRPC_IPV6=y +CONFIG_AF_UNIX_OOB=y +CONFIG_AGP=y +CONFIG_AGP_AMD64=y +CONFIG_AGP_INTEL=y +CONFIG_AGP_SIS=m +CONFIG_AGP_VIA=y +CONFIG_AHCI_BRCM=m +CONFIG_AHCI_CEVA=m +CONFIG_AHCI_IMX=y +CONFIG_AHCI_MTK=m +CONFIG_AHCI_MVEBU=m +CONFIG_AHCI_QORIQ=m +# CONFIG_AHCI_SUNXI is not set +CONFIG_AHCI_TEGRA=m +CONFIG_AHCI_XGENE=m +CONFIG_AIC79XX_CMDS_PER_DEVICE=32 +# CONFIG_AIC79XX_DEBUG_ENABLE is not set +CONFIG_AIC79XX_DEBUG_MASK=0 +CONFIG_AIC79XX_REG_PRETTY_PRINT=y +CONFIG_AIC79XX_RESET_DELAY_MS=5000 +CONFIG_AIC7XXX_CMDS_PER_DEVICE=8 +# CONFIG_AIC7XXX_DEBUG_ENABLE is not set +CONFIG_AIC7XXX_DEBUG_MASK=0 +CONFIG_AIC7XXX_REG_PRETTY_PRINT=y +CONFIG_AIC7XXX_RESET_DELAY_MS=5000 +# CONFIG_AIC94XX_DEBUG is not set +CONFIG_AIO=y +CONFIG_AIRO=m +CONFIG_AIRO_CS=m +CONFIG_AIX_PARTITION=y +CONFIG_AK09911=m +CONFIG_AK8974=m +CONFIG_AK8975=m +CONFIG_AL3010=m +CONFIG_AL3320A=m +CONFIG_ALIBABA_ENI_VDPA=m +CONFIG_ALIENWARE_WMI=m +CONFIG_ALIM1535_WDT=m +CONFIG_ALIM7101_WDT=m +CONFIG_ALLOW_DEV_COREDUMP=y +CONFIG_ALTERA_FREEZE_BRIDGE=m +CONFIG_ALTERA_MBOX=m +CONFIG_ALTERA_MSGDMA=m +CONFIG_ALTERA_PR_IP_CORE=m +CONFIG_ALTERA_PR_IP_CORE_PLAT=m +CONFIG_ALTERA_STAPL=m +CONFIG_ALTERA_TSE=m +CONFIG_ALX=m +CONFIG_AL_FIC=y +CONFIG_AM2315=m +CONFIG_AMBA_PL08X=y +CONFIG_AMD8111_ETH=m +CONFIG_AMDTEE=m +CONFIG_AMD_HSMP=m +CONFIG_AMD_IOMMU=y +CONFIG_AMD_IOMMU_V2=m +CONFIG_AMD_MEM_ENCRYPT=y +# CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT is not set +CONFIG_AMD_NB=y +CONFIG_AMD_NUMA=y +CONFIG_AMD_PHY=m +CONFIG_AMD_PMC=m +CONFIG_AMD_PTDMA=m +CONFIG_AMD_SFH_HID=m +CONFIG_AMD_XGBE=m +CONFIG_AMD_XGBE_DCB=y +CONFIG_AMD_XGBE_HAVE_ECC=y +CONFIG_AMIGA_PARTITION=y +CONFIG_AMILO_RFKILL=m +CONFIG_AMLOGIC_THERMAL=m +CONFIG_AMT=m +CONFIG_ANDROID=y +CONFIG_ANDROID_BINDERFS=m +CONFIG_ANDROID_BINDER_DEVICES="" +CONFIG_ANDROID_BINDER_IPC=m +# CONFIG_ANDROID_BINDER_IPC_SELFTEST is not set +CONFIG_ANON_VMA_NAME=y +CONFIG_APDS9300=m +CONFIG_APDS9802ALS=m +CONFIG_APDS9960=m +CONFIG_APPLE_AIC=y +CONFIG_APPLE_DART=m +CONFIG_APPLE_GMUX=m +CONFIG_APPLE_M1_CPU_PMU=y +CONFIG_APPLE_MAILBOX=m +CONFIG_APPLE_MFI_FASTCHARGE=m +CONFIG_APPLE_PMGR_PWRSTATE=y +CONFIG_APPLE_PROPERTIES=y +CONFIG_APPLE_RTKIT=y +CONFIG_APPLE_SART=y +CONFIG_APPLE_WATCHDOG=m +CONFIG_APPLICOM=m +CONFIG_APQ_GCC_8084=m +CONFIG_APQ_MMCC_8084=m +CONFIG_AQTION=m +CONFIG_AQUANTIA_PHY=m +CONFIG_AR5523=m +CONFIG_ARCH_ACTIONS=y +# CONFIG_ARCH_ALPINE is not set +CONFIG_ARCH_APPLE=y +CONFIG_ARCH_BCM2835=y +CONFIG_ARCH_BCM4908=y +CONFIG_ARCH_BCM_IPROC=y +CONFIG_ARCH_BERLIN=y +CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS=y +CONFIG_ARCH_BINFMT_ELF_STATE=y +CONFIG_ARCH_BITMAIN=y +CONFIG_ARCH_BRCMSTB=y +CONFIG_ARCH_CLOCKSOURCE_INIT=y +CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y +CONFIG_ARCH_CPUIDLE_HALTPOLL=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y +CONFIG_ARCH_ENABLE_THP_MIGRATION=y +# CONFIG_ARCH_EXYNOS is not set +CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y +CONFIG_ARCH_HAS_ADD_PAGES=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_ARCH_HAS_CC_PLATFORM=y +CONFIG_ARCH_HAS_COPY_MC=y +CONFIG_ARCH_HAS_CPU_RELAX=y +CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y +CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y +CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y +CONFIG_ARCH_HAS_DEBUG_WX=y +CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y +CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y +CONFIG_ARCH_HAS_EARLY_DEBUG=y +CONFIG_ARCH_HAS_ELFCORE_COMPAT=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_ARCH_HAS_FAST_MULTIPLIER=y +CONFIG_ARCH_HAS_FORCE_DMA_UNENCRYPTED=y +CONFIG_ARCH_HAS_FORTIFY_SOURCE=y +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_ARCH_HAS_GIGANTIC_PAGE=y +CONFIG_ARCH_HAS_KCOV=y +CONFIG_ARCH_HAS_KEEPINITRD=y +CONFIG_ARCH_HAS_KEXEC_PURGATORY=y +CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y +CONFIG_ARCH_HAS_MEM_ENCRYPT=y +CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y +CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y +CONFIG_ARCH_HAS_PKEYS=y +CONFIG_ARCH_HAS_PMEM_API=y +CONFIG_ARCH_HAS_PTE_DEVMAP=y +CONFIG_ARCH_HAS_PTE_SPECIAL=y +CONFIG_ARCH_HAS_RELR=y +CONFIG_ARCH_HAS_RESET_CONTROLLER=y +CONFIG_ARCH_HAS_SETUP_DMA_OPS=y +CONFIG_ARCH_HAS_SET_DIRECT_MAP=y +CONFIG_ARCH_HAS_SET_MEMORY=y +CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y +CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y +CONFIG_ARCH_HAS_SUBPAGE_FAULTS=y +CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y +CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y +CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y +CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y +CONFIG_ARCH_HAS_VM_GET_PAGE_PROT=y +CONFIG_ARCH_HAS_ZONE_DMA_SET=y +CONFIG_ARCH_HAVE_ELF_PROT=y +CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y +CONFIG_ARCH_HIBERNATION_HEADER=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_HISI=y +CONFIG_ARCH_INLINE_READ_LOCK=y +CONFIG_ARCH_INLINE_READ_LOCK_BH=y +CONFIG_ARCH_INLINE_READ_LOCK_IRQ=y +CONFIG_ARCH_INLINE_READ_LOCK_IRQSAVE=y +CONFIG_ARCH_INLINE_READ_UNLOCK=y +CONFIG_ARCH_INLINE_READ_UNLOCK_BH=y +CONFIG_ARCH_INLINE_READ_UNLOCK_IRQ=y +CONFIG_ARCH_INLINE_READ_UNLOCK_IRQRESTORE=y +CONFIG_ARCH_INLINE_SPIN_LOCK=y +CONFIG_ARCH_INLINE_SPIN_LOCK_BH=y +CONFIG_ARCH_INLINE_SPIN_LOCK_IRQ=y +CONFIG_ARCH_INLINE_SPIN_LOCK_IRQSAVE=y +CONFIG_ARCH_INLINE_SPIN_TRYLOCK=y +CONFIG_ARCH_INLINE_SPIN_TRYLOCK_BH=y +CONFIG_ARCH_INLINE_SPIN_UNLOCK=y +CONFIG_ARCH_INLINE_SPIN_UNLOCK_BH=y +CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE=y +CONFIG_ARCH_INLINE_WRITE_LOCK=y +CONFIG_ARCH_INLINE_WRITE_LOCK_BH=y +CONFIG_ARCH_INLINE_WRITE_LOCK_IRQ=y +CONFIG_ARCH_INLINE_WRITE_LOCK_IRQSAVE=y +CONFIG_ARCH_INLINE_WRITE_UNLOCK=y +CONFIG_ARCH_INLINE_WRITE_UNLOCK_BH=y +CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE=y +CONFIG_ARCH_INTEL_SOCFPGA=y +CONFIG_ARCH_K3=y +CONFIG_ARCH_KEEMBAY=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +CONFIG_ARCH_LAYERSCAPE=y +CONFIG_ARCH_LG1K=y +CONFIG_ARCH_MAY_HAVE_PC_FDC=y +CONFIG_ARCH_MEDIATEK=y +CONFIG_ARCH_MEMORY_PROBE=y +CONFIG_ARCH_MESON=y +CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y +CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 +CONFIG_ARCH_MVEBU=y +CONFIG_ARCH_MXC=y +CONFIG_ARCH_PROC_KCORE_TEXT=y +CONFIG_ARCH_QCOM=y +CONFIG_ARCH_R8A774A1=y +CONFIG_ARCH_R8A774B1=y +CONFIG_ARCH_R8A774C0=y +CONFIG_ARCH_R8A774E1=y +CONFIG_ARCH_R8A77950=y +CONFIG_ARCH_R8A77951=y +CONFIG_ARCH_R8A77960=y +CONFIG_ARCH_R8A77961=y +CONFIG_ARCH_R8A77965=y +CONFIG_ARCH_R8A77970=y +CONFIG_ARCH_R8A77980=y +CONFIG_ARCH_R8A77990=y +CONFIG_ARCH_R8A77995=y +CONFIG_ARCH_R8A779A0=y +CONFIG_ARCH_R8A779F0=y +CONFIG_ARCH_R8A779G0=y +CONFIG_ARCH_R9A07G043=y +CONFIG_ARCH_R9A07G044=y +CONFIG_ARCH_R9A07G054=y +CONFIG_ARCH_R9A09G011=y +CONFIG_ARCH_RANDOM=y +CONFIG_ARCH_RCAR_GEN3=y +CONFIG_ARCH_REALTEK=y +CONFIG_ARCH_RENESAS=y +CONFIG_ARCH_ROCKCHIP=y +CONFIG_ARCH_RZG2L=y +CONFIG_ARCH_S32=y +CONFIG_ARCH_SEATTLE=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SPARX5=y +CONFIG_ARCH_SPRD=y +CONFIG_ARCH_STACKWALK=y +CONFIG_ARCH_SUNXI=y +CONFIG_ARCH_SUPPORTS_ACPI=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_ARCH_SUPPORTS_CFI_CLANG=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_SUPPORTS_HUGETLBFS=y +CONFIG_ARCH_SUPPORTS_INT128=y +CONFIG_ARCH_SUPPORTS_LTO_CLANG=y +CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y +CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y +CONFIG_ARCH_SUPPORTS_SHADOW_CALL_STACK=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_SYNQUACER=y +CONFIG_ARCH_TEGRA=y +CONFIG_ARCH_TEGRA_132_SOC=y +CONFIG_ARCH_TEGRA_186_SOC=y +CONFIG_ARCH_TEGRA_194_SOC=y +CONFIG_ARCH_TEGRA_210_SOC=y +CONFIG_ARCH_TEGRA_234_SOC=y +CONFIG_ARCH_THUNDER=y +CONFIG_ARCH_THUNDER2=y +# CONFIG_ARCH_UNIPHIER is not set +CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y +CONFIG_ARCH_USES_PG_UNCACHED=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_ARCH_USE_GNU_PROPERTY=y +CONFIG_ARCH_USE_MEMREMAP_PROT=y +CONFIG_ARCH_USE_MEMTEST=y +CONFIG_ARCH_USE_QUEUED_RWLOCKS=y +CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y +CONFIG_ARCH_USE_SYM_ANNOTATIONS=y +CONFIG_ARCH_VEXPRESS=y +CONFIG_ARCH_VISCONTI=y +CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y +CONFIG_ARCH_WANTS_NO_INSTR=y +CONFIG_ARCH_WANTS_THP_SWAP=y +CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y +CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y +CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y +CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y +CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y +CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y +CONFIG_ARCH_XGENE=y +CONFIG_ARCH_ZYNQMP=y +CONFIG_ARCNET=m +CONFIG_ARCNET_1051=m +CONFIG_ARCNET_1201=m +CONFIG_ARCNET_CAP=m +CONFIG_ARCNET_COM20020=m +CONFIG_ARCNET_COM20020_CS=m +CONFIG_ARCNET_COM20020_PCI=m +CONFIG_ARCNET_COM90xx=m +CONFIG_ARCNET_COM90xxIO=m +CONFIG_ARCNET_RAW=m +CONFIG_ARCNET_RIM_I=m +CONFIG_ARCX_ANYBUS_CONTROLLER=m +CONFIG_ARC_EMAC_CORE=m +CONFIG_ARM64=y +# CONFIG_ARM64_16K_PAGES is not set +CONFIG_ARM64_4K_PAGES=y +# CONFIG_ARM64_64K_PAGES is not set +CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y +CONFIG_ARM64_AMU_EXTN=y +CONFIG_ARM64_AS_HAS_MTE=y +CONFIG_ARM64_BTI=y +CONFIG_ARM64_CNP=y +CONFIG_ARM64_CONT_PMD_SHIFT=4 +CONFIG_ARM64_CONT_PTE_SHIFT=4 +CONFIG_ARM64_CRYPTO=y +# CONFIG_ARM64_DEBUG_PRIORITY_MASKING is not set +CONFIG_ARM64_E0PD=y +CONFIG_ARM64_EPAN=y +CONFIG_ARM64_ERRATUM_1024718=y +CONFIG_ARM64_ERRATUM_1165522=y +CONFIG_ARM64_ERRATUM_1286807=y +CONFIG_ARM64_ERRATUM_1319367=y +CONFIG_ARM64_ERRATUM_1418040=y +CONFIG_ARM64_ERRATUM_1463225=y +CONFIG_ARM64_ERRATUM_1508412=y +CONFIG_ARM64_ERRATUM_1530923=y +CONFIG_ARM64_ERRATUM_1542419=y +CONFIG_ARM64_ERRATUM_1742098=y +CONFIG_ARM64_ERRATUM_2051678=y +CONFIG_ARM64_ERRATUM_2054223=y +CONFIG_ARM64_ERRATUM_2067961=y +CONFIG_ARM64_ERRATUM_2077057=y +CONFIG_ARM64_ERRATUM_2441007=y +CONFIG_ARM64_ERRATUM_2441009=y +CONFIG_ARM64_ERRATUM_2457168=y +CONFIG_ARM64_ERRATUM_819472=y +CONFIG_ARM64_ERRATUM_824069=y +CONFIG_ARM64_ERRATUM_826319=y +CONFIG_ARM64_ERRATUM_827319=y +CONFIG_ARM64_ERRATUM_832075=y +CONFIG_ARM64_ERRATUM_834220=y +CONFIG_ARM64_ERRATUM_843419=y +CONFIG_ARM64_ERRATUM_845719=y +CONFIG_ARM64_ERRATUM_858921=y +CONFIG_ARM64_HW_AFDBM=y +CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y +CONFIG_ARM64_LSE_ATOMICS=y +CONFIG_ARM64_MODULE_PLTS=y +CONFIG_ARM64_MTE=y +CONFIG_ARM64_PAGE_SHIFT=12 +CONFIG_ARM64_PAN=y +CONFIG_ARM64_PA_BITS=48 +CONFIG_ARM64_PA_BITS_48=y +CONFIG_ARM64_PMEM=y +CONFIG_ARM64_PSEUDO_NMI=y +CONFIG_ARM64_PTR_AUTH=y +CONFIG_ARM64_PTR_AUTH_KERNEL=y +CONFIG_ARM64_RAS_EXTN=y +# CONFIG_ARM64_RELOC_TEST is not set +CONFIG_ARM64_SME=y +CONFIG_ARM64_SVE=y +CONFIG_ARM64_SW_TTBR0_PAN=y +CONFIG_ARM64_TAGGED_ADDR_ABI=y +CONFIG_ARM64_TLB_RANGE=y +CONFIG_ARM64_USE_LSE_ATOMICS=y +CONFIG_ARM64_VA_BITS=48 +# CONFIG_ARM64_VA_BITS_39 is not set +CONFIG_ARM64_VA_BITS_48=y +CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y +CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y +CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y +CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y +CONFIG_ARMADA_37XX_CLK=y +CONFIG_ARMADA_37XX_RWTM_MBOX=m +CONFIG_ARMADA_37XX_WATCHDOG=m +CONFIG_ARMADA_AP806_SYSCON=y +CONFIG_ARMADA_AP_CPU_CLK=y +CONFIG_ARMADA_AP_CP_HELPER=y +CONFIG_ARMADA_CP110_SYSCON=y +CONFIG_ARMADA_THERMAL=y +CONFIG_ARMV8_DEPRECATED=y +CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m +CONFIG_ARM_AMBA=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y +CONFIG_ARM_ARMADA_37XX_CPUFREQ=m +CONFIG_ARM_ARMADA_8K_CPUFREQ=m +CONFIG_ARM_BRCMSTB_AVS_CPUFREQ=m +CONFIG_ARM_CCI=y +CONFIG_ARM_CCI400_COMMON=y +CONFIG_ARM_CCI400_PMU=y +CONFIG_ARM_CCI5xx_PMU=y +CONFIG_ARM_CCI_PMU=y +CONFIG_ARM_CCN=y +CONFIG_ARM_CMN=m +CONFIG_ARM_CPUIDLE=y +CONFIG_ARM_DMC620_PMU=m +CONFIG_ARM_DSU_PMU=m +CONFIG_ARM_FFA_SMCCC=y +CONFIG_ARM_FFA_TRANSPORT=m +CONFIG_ARM_GIC=y +CONFIG_ARM_GIC_MAX_NR=1 +CONFIG_ARM_GIC_PM=y +CONFIG_ARM_GIC_V2M=y +CONFIG_ARM_GIC_V3=y +CONFIG_ARM_GIC_V3_ITS=y +CONFIG_ARM_GIC_V3_ITS_FSL_MC=y +CONFIG_ARM_GIC_V3_ITS_PCI=y +CONFIG_ARM_IMX6Q_CPUFREQ=m +CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m +CONFIG_ARM_IMX_BUS_DEVFREQ=m +CONFIG_ARM_IMX_CPUFREQ_DT=m +CONFIG_ARM_MEDIATEK_CPUFREQ=m +CONFIG_ARM_MEDIATEK_CPUFREQ_HW=m +CONFIG_ARM_MHU=m +CONFIG_ARM_MHU_V2=m +CONFIG_ARM_PL172_MPMC=m +CONFIG_ARM_PMU=y +CONFIG_ARM_PMU_ACPI=y +# CONFIG_ARM_PSCI_CHECKER is not set +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y +CONFIG_ARM_PSCI_FW=y +CONFIG_ARM_QCOM_CPUFREQ_HW=m +CONFIG_ARM_QCOM_CPUFREQ_NVMEM=m +CONFIG_ARM_RASPBERRYPI_CPUFREQ=m +CONFIG_ARM_RK3399_DMC_DEVFREQ=m +CONFIG_ARM_SBSA_WATCHDOG=m +CONFIG_ARM_SCMI_CPUFREQ=m +CONFIG_ARM_SCMI_HAVE_MSG=y +CONFIG_ARM_SCMI_HAVE_SHMEM=y +CONFIG_ARM_SCMI_HAVE_TRANSPORT=y +CONFIG_ARM_SCMI_POWER_DOMAIN=m +CONFIG_ARM_SCMI_PROTOCOL=y +CONFIG_ARM_SCMI_TRANSPORT_MAILBOX=y +CONFIG_ARM_SCMI_TRANSPORT_SMC=y +# CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE is not set +CONFIG_ARM_SCMI_TRANSPORT_VIRTIO=y +# CONFIG_ARM_SCMI_TRANSPORT_VIRTIO_ATOMIC_ENABLE is not set +CONFIG_ARM_SCMI_TRANSPORT_VIRTIO_VERSION1_COMPLIANCE=y +CONFIG_ARM_SCPI_CPUFREQ=m +CONFIG_ARM_SCPI_POWER_DOMAIN=m +CONFIG_ARM_SCPI_PROTOCOL=m +CONFIG_ARM_SDE_INTERFACE=y +CONFIG_ARM_SMCCC_SOC_ID=y +CONFIG_ARM_SMC_WATCHDOG=m +CONFIG_ARM_SMMU=y +# CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT is not set +# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set +CONFIG_ARM_SMMU_QCOM=y +CONFIG_ARM_SMMU_V3=y +CONFIG_ARM_SMMU_V3_PMU=m +CONFIG_ARM_SMMU_V3_SVA=y +CONFIG_ARM_SP805_WATCHDOG=m +CONFIG_ARM_SPE_PMU=m +CONFIG_ARM_SUN8I_A33_MBUS_DEVFREQ=m +CONFIG_ARM_TEGRA124_CPUFREQ=y +CONFIG_ARM_TEGRA186_CPUFREQ=m +CONFIG_ARM_TEGRA194_CPUFREQ=m +CONFIG_ARM_TEGRA20_CPUFREQ=y +CONFIG_ARM_TEGRA_DEVFREQ=m +CONFIG_ARM_TIMER_SP804=y +CONFIG_AS3935=m +CONFIG_AS73211=m +CONFIG_ASM_MODVERSIONS=y +CONFIG_ASN1=y +CONFIG_ASN1_ENCODER=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_ASUS_LAPTOP=m +CONFIG_ASUS_NB_WMI=m +CONFIG_ASUS_TF103C_DOCK=m +CONFIG_ASUS_WIRELESS=m +CONFIG_ASUS_WMI=m +CONFIG_ASYMMETRIC_KEY_TYPE=y +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y +CONFIG_ASYNC_CORE=m +CONFIG_ASYNC_MEMCPY=m +CONFIG_ASYNC_PQ=m +CONFIG_ASYNC_RAID6_RECOV=m +# CONFIG_ASYNC_RAID6_TEST is not set +CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y +CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y +CONFIG_ASYNC_TX_DMA=y +CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y +CONFIG_ASYNC_XOR=m +CONFIG_AS_AVX512=y +CONFIG_AS_HAS_ARMV8_2=y +CONFIG_AS_HAS_ARMV8_4=y +CONFIG_AS_HAS_ARMV8_5=y +CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y +CONFIG_AS_HAS_LDAPR=y +CONFIG_AS_HAS_LSE_ATOMICS=y +CONFIG_AS_HAS_NON_CONST_LEB128=y +CONFIG_AS_HAS_PAC=y +CONFIG_AS_HAS_SHA3=y +CONFIG_AS_IS_GNU=y +CONFIG_AS_SHA1_NI=y +CONFIG_AS_SHA256_NI=y +CONFIG_AS_TPAUSE=y +CONFIG_AS_VERSION=23900 +CONFIG_AT76C50X_USB=m +CONFIG_AT803X_PHY=m +CONFIG_ATA=y +CONFIG_ATALK=m +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_ACPI=y +CONFIG_ATA_BMDMA=y +CONFIG_ATA_FORCE=y +CONFIG_ATA_OVER_ETH=m +CONFIG_ATA_SFF=y +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_ATH10K=m +CONFIG_ATH10K_AHB=y +CONFIG_ATH10K_CE=y +# CONFIG_ATH10K_DEBUG is not set +CONFIG_ATH10K_DEBUGFS=y +CONFIG_ATH10K_PCI=m +CONFIG_ATH10K_SDIO=m +CONFIG_ATH10K_SNOC=m +CONFIG_ATH10K_SPECTRAL=y +CONFIG_ATH10K_TRACING=y +CONFIG_ATH10K_USB=m +CONFIG_ATH11K=m +CONFIG_ATH11K_AHB=m +# CONFIG_ATH11K_DEBUG is not set +CONFIG_ATH11K_DEBUGFS=y +CONFIG_ATH11K_PCI=m +CONFIG_ATH11K_SPECTRAL=y +CONFIG_ATH11K_TRACING=y +CONFIG_ATH5K=m +# CONFIG_ATH5K_DEBUG is not set +CONFIG_ATH5K_PCI=y +# CONFIG_ATH5K_TRACER is not set +CONFIG_ATH6KL=m +# CONFIG_ATH6KL_DEBUG is not set +CONFIG_ATH6KL_SDIO=m +# CONFIG_ATH6KL_TRACING is not set +CONFIG_ATH6KL_USB=m +CONFIG_ATH9K=m +CONFIG_ATH9K_AHB=y +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K_CHANNEL_CONTEXT=y +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_COMMON_DEBUG=y +CONFIG_ATH9K_COMMON_SPECTRAL=y +CONFIG_ATH9K_DEBUGFS=y +# CONFIG_ATH9K_DYNACK is not set +CONFIG_ATH9K_HTC=m +CONFIG_ATH9K_HTC_DEBUGFS=y +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_HWRNG=y +CONFIG_ATH9K_PCI=y +CONFIG_ATH9K_PCI_NO_EEPROM=m +CONFIG_ATH9K_PCOEM=y +CONFIG_ATH9K_RFKILL=y +CONFIG_ATH9K_STATION_STATISTICS=y +CONFIG_ATH9K_WOW=y +CONFIG_ATH_COMMON=m +# CONFIG_ATH_DEBUG is not set +CONFIG_ATL1=m +CONFIG_ATL1C=m +CONFIG_ATL1E=m +CONFIG_ATL2=m +CONFIG_ATLAS_EZO_SENSOR=m +CONFIG_ATLAS_PH_SENSOR=m +CONFIG_ATM=m +CONFIG_ATMEL=m +CONFIG_ATM_BR2684=m +# CONFIG_ATM_BR2684_IPFILTER is not set +CONFIG_ATM_CLIP=m +# CONFIG_ATM_CLIP_NO_ICMP is not set +CONFIG_ATM_DRIVERS=y +CONFIG_ATM_DUMMY=m +CONFIG_ATM_ENI=m +# CONFIG_ATM_ENI_DEBUG is not set +# CONFIG_ATM_ENI_TUNE_BURST is not set +CONFIG_ATM_FORE200E=m +CONFIG_ATM_FORE200E_DEBUG=0 +CONFIG_ATM_FORE200E_TX_RETRY=16 +# CONFIG_ATM_FORE200E_USE_TASKLET is not set +CONFIG_ATM_HE=m +CONFIG_ATM_HE_USE_SUNI=y +CONFIG_ATM_IA=m +# CONFIG_ATM_IA_DEBUG is not set +CONFIG_ATM_IDT77252=m +# CONFIG_ATM_IDT77252_DEBUG is not set +# CONFIG_ATM_IDT77252_RCV_ALL is not set +CONFIG_ATM_IDT77252_USE_SUNI=y +CONFIG_ATM_LANAI=m +CONFIG_ATM_LANE=m +CONFIG_ATM_MPOA=m +CONFIG_ATM_NICSTAR=m +# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set +# CONFIG_ATM_NICSTAR_USE_SUNI is not set +CONFIG_ATM_SOLOS=m +CONFIG_ATM_TCP=m +# CONFIG_ATOMIC64_SELFTEST is not set +CONFIG_ATP=m +CONFIG_AUDIT=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_ARCH=y +CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y +CONFIG_AUDIT_COMPAT_GENERIC=y +CONFIG_AUDIT_GENERIC=y +CONFIG_AUTOFS4_FS=m +CONFIG_AUTOFS_FS=m +CONFIG_AUXDISPLAY=y +CONFIG_AUXILIARY_BUS=y +CONFIG_AX25=m +CONFIG_AX25_DAMA_SLAVE=y +CONFIG_AX88796B_PHY=m +CONFIG_AXI_DMAC=m +CONFIG_AXP20X_ADC=m +CONFIG_AXP20X_POWER=m +CONFIG_AXP288_ADC=m +CONFIG_AXP288_CHARGER=m +CONFIG_AXP288_FUEL_GAUGE=m +CONFIG_B43=m +CONFIG_B43LEGACY=m +# CONFIG_B43LEGACY_DEBUG is not set +CONFIG_B43LEGACY_DMA=y +CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y +# CONFIG_B43LEGACY_DMA_MODE is not set +CONFIG_B43LEGACY_HWRNG=y +CONFIG_B43LEGACY_LEDS=y +CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y +CONFIG_B43LEGACY_PCI_AUTOSELECT=y +CONFIG_B43LEGACY_PIO=y +# CONFIG_B43LEGACY_PIO_MODE is not set +CONFIG_B43_BCMA=y +CONFIG_B43_BCMA_PIO=y +# CONFIG_B43_BUSES_BCMA is not set +CONFIG_B43_BUSES_BCMA_AND_SSB=y +# CONFIG_B43_BUSES_SSB is not set +# CONFIG_B43_DEBUG is not set +CONFIG_B43_HWRNG=y +CONFIG_B43_LEDS=y +CONFIG_B43_PCICORE_AUTOSELECT=y +CONFIG_B43_PCI_AUTOSELECT=y +CONFIG_B43_PHY_G=y +CONFIG_B43_PHY_HT=y +CONFIG_B43_PHY_LP=y +CONFIG_B43_PHY_N=y +CONFIG_B43_PIO=y +# CONFIG_B43_SDIO is not set +CONFIG_B43_SSB=y +CONFIG_B44=m +CONFIG_B44_PCI=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_B53=m +CONFIG_B53_MDIO_DRIVER=m +CONFIG_B53_MMAP_DRIVER=m +CONFIG_B53_SERDES=m +CONFIG_B53_SPI_DRIVER=m +CONFIG_B53_SRAB_DRIVER=m +CONFIG_BACKLIGHT_88PM860X=m +CONFIG_BACKLIGHT_AAT2870=m +CONFIG_BACKLIGHT_ADP5520=m +CONFIG_BACKLIGHT_ADP8860=m +CONFIG_BACKLIGHT_ADP8870=m +CONFIG_BACKLIGHT_APPLE=m +CONFIG_BACKLIGHT_ARCXCNN=m +CONFIG_BACKLIGHT_AS3711=m +CONFIG_BACKLIGHT_BD6107=m +CONFIG_BACKLIGHT_CARILLO_RANCH=m +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_DA903X=m +CONFIG_BACKLIGHT_DA9052=m +CONFIG_BACKLIGHT_GPIO=m +CONFIG_BACKLIGHT_KTD253=m +CONFIG_BACKLIGHT_LED=m +CONFIG_BACKLIGHT_LM3533=m +CONFIG_BACKLIGHT_LM3630A=m +CONFIG_BACKLIGHT_LM3639=m +CONFIG_BACKLIGHT_LP855X=m +CONFIG_BACKLIGHT_LP8788=m +CONFIG_BACKLIGHT_LV5207LP=m +CONFIG_BACKLIGHT_MAX8925=m +CONFIG_BACKLIGHT_PANDORA=m +CONFIG_BACKLIGHT_PCF50633=m +CONFIG_BACKLIGHT_PWM=m +CONFIG_BACKLIGHT_QCOM_WLED=m +CONFIG_BACKLIGHT_RAVE_SP=m +CONFIG_BACKLIGHT_RT4831=m +CONFIG_BACKLIGHT_SAHARA=m +CONFIG_BACKLIGHT_SKY81452=m +CONFIG_BACKLIGHT_TPS65217=m +CONFIG_BACKLIGHT_WM831X=m +# CONFIG_BACKTRACE_SELF_TEST is not set +CONFIG_BALLOON_COMPACTION=y +CONFIG_BARCO_P50_GPIO=m +CONFIG_BAREUDP=m +CONFIG_BASE_FULL=y +CONFIG_BASE_SMALL=0 +CONFIG_BATMAN_ADV=m +# CONFIG_BATMAN_ADV_BATMAN_V is not set +CONFIG_BATMAN_ADV_BLA=y +CONFIG_BATMAN_ADV_DAT=y +# CONFIG_BATMAN_ADV_DEBUG is not set +CONFIG_BATMAN_ADV_MCAST=y +CONFIG_BATMAN_ADV_NC=y +# CONFIG_BATMAN_ADV_TRACING is not set +CONFIG_BATTERY_88PM860X=m +CONFIG_BATTERY_ACT8945A=m +CONFIG_BATTERY_AXP20X=m +CONFIG_BATTERY_BQ27XXX=m +# CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM is not set +CONFIG_BATTERY_BQ27XXX_HDQ=m +CONFIG_BATTERY_BQ27XXX_I2C=m +CONFIG_BATTERY_CPCAP=m +CONFIG_BATTERY_CW2015=m +CONFIG_BATTERY_DA9030=m +CONFIG_BATTERY_DA9052=m +CONFIG_BATTERY_DA9150=m +CONFIG_BATTERY_DS2760=m +CONFIG_BATTERY_DS2780=m +CONFIG_BATTERY_DS2781=m +CONFIG_BATTERY_DS2782=m +CONFIG_BATTERY_GAUGE_LTC2941=m +CONFIG_BATTERY_GOLDFISH=m +CONFIG_BATTERY_MAX17040=m +CONFIG_BATTERY_MAX17042=m +CONFIG_BATTERY_MAX1721X=m +CONFIG_BATTERY_RT5033=m +CONFIG_BATTERY_RX51=m +CONFIG_BATTERY_SAMSUNG_SDI=y +CONFIG_BATTERY_SBS=m +CONFIG_BATTERY_SURFACE=m +CONFIG_BATTERY_TWL4030_MADC=m +CONFIG_BATTERY_UG3105=m +CONFIG_BAYCOM_PAR=m +CONFIG_BAYCOM_SER_FDX=m +CONFIG_BAYCOM_SER_HDX=m +CONFIG_BCACHE=m +CONFIG_BCACHE_ASYNC_REGISTRATION=y +# CONFIG_BCACHE_CLOSURES_DEBUG is not set +# CONFIG_BCACHE_DEBUG is not set +CONFIG_BCH=m +CONFIG_BCM2711_THERMAL=m +CONFIG_BCM2835_MBOX=y +CONFIG_BCM2835_POWER=y +CONFIG_BCM2835_THERMAL=m +CONFIG_BCM2835_VCHIQ=m +CONFIG_BCM2835_VCHIQ_MMAL=m +CONFIG_BCM2835_WDT=m +CONFIG_BCM4908_ENET=m +CONFIG_BCM54140_PHY=m +CONFIG_BCM7038_L1_IRQ=y +CONFIG_BCM7038_WDT=m +CONFIG_BCM7120_L2_IRQ=m +CONFIG_BCM7XXX_PHY=m +CONFIG_BCM84881_PHY=y +CONFIG_BCM87XX_PHY=m +CONFIG_BCMA=m +CONFIG_BCMA_BLOCKIO=y +# CONFIG_BCMA_DEBUG is not set +CONFIG_BCMA_DRIVER_GMAC_CMN=y +CONFIG_BCMA_DRIVER_GPIO=y +CONFIG_BCMA_DRIVER_PCI=y +CONFIG_BCMA_HOST_PCI=y +CONFIG_BCMA_HOST_PCI_POSSIBLE=y +CONFIG_BCMA_HOST_SOC=y +CONFIG_BCMA_POSSIBLE=y +CONFIG_BCMA_SFLASH=y +CONFIG_BCMGENET=m +CONFIG_BCM_FLEXRM_MBOX=m +CONFIG_BCM_IPROC_ADC=m +CONFIG_BCM_KONA_USB2_PHY=m +CONFIG_BCM_NET_PHYLIB=m +CONFIG_BCM_NS_THERMAL=m +CONFIG_BCM_PDC_MBOX=m +CONFIG_BCM_PMB=y +CONFIG_BCM_SBA_RAID=m +CONFIG_BCM_SR_THERMAL=m +CONFIG_BCM_VIDEOCORE=m +CONFIG_BCM_VK=m +CONFIG_BCM_VK_TTY=y +CONFIG_BD957XMUF_WATCHDOG=m +CONFIG_BE2ISCSI=m +CONFIG_BE2NET=m +CONFIG_BE2NET_BE2=y +CONFIG_BE2NET_BE3=y +CONFIG_BE2NET_HWMON=y +CONFIG_BE2NET_LANCER=y +CONFIG_BE2NET_SKYHAWK=y +# CONFIG_BEFS_DEBUG is not set +CONFIG_BEFS_FS=m +CONFIG_BERLIN2_ADC=m +# CONFIG_BFQ_CGROUP_DEBUG is not set +CONFIG_BFQ_GROUP_IOSCHED=y +CONFIG_BFS_FS=m +CONFIG_BGMAC=y +CONFIG_BGMAC_PLATFORM=y +CONFIG_BH1750=m +CONFIG_BH1780=m +CONFIG_BINARY_PRINTF=y +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_MISC=m +CONFIG_BINFMT_SCRIPT=y +CONFIG_BITREVERSE=y +CONFIG_BLK_CGROUP=y +CONFIG_BLK_CGROUP_FC_APPID=y +CONFIG_BLK_CGROUP_IOCOST=y +# CONFIG_BLK_CGROUP_IOLATENCY is not set +CONFIG_BLK_CGROUP_IOPRIO=y +CONFIG_BLK_CGROUP_RWSTAT=y +CONFIG_BLK_DEBUG_FS=y +CONFIG_BLK_DEBUG_FS_ZONED=y +CONFIG_BLK_DEV=y +CONFIG_BLK_DEV_3W_XXXX_RAID=m +CONFIG_BLK_DEV_BSG=y +CONFIG_BLK_DEV_BSGLIB=y +CONFIG_BLK_DEV_BSG_COMMON=y +CONFIG_BLK_DEV_DM=y +CONFIG_BLK_DEV_DM_BUILTIN=y +CONFIG_BLK_DEV_DRBD=m +# CONFIG_BLK_DEV_FD is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_BLK_DEV_INTEGRITY=y +CONFIG_BLK_DEV_INTEGRITY_T10=y +CONFIG_BLK_DEV_IO_TRACE=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_BLK_DEV_MD=y +CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_NULL_BLK=m +CONFIG_BLK_DEV_NVME=y +CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m +CONFIG_BLK_DEV_PMEM=m +CONFIG_BLK_DEV_RAM=m +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=65536 +CONFIG_BLK_DEV_RBD=m +CONFIG_BLK_DEV_RNBD=y +CONFIG_BLK_DEV_RNBD_CLIENT=m +CONFIG_BLK_DEV_RNBD_SERVER=m +CONFIG_BLK_DEV_SD=y +CONFIG_BLK_DEV_SR=y +CONFIG_BLK_DEV_SX8=m +CONFIG_BLK_DEV_THROTTLING=y +# CONFIG_BLK_DEV_THROTTLING_LOW is not set +CONFIG_BLK_DEV_ZONED=y +CONFIG_BLK_ICQ=y +CONFIG_BLK_INLINE_ENCRYPTION=y +CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y +CONFIG_BLK_MQ_PCI=y +CONFIG_BLK_MQ_RDMA=y +CONFIG_BLK_MQ_STACKING=y +CONFIG_BLK_MQ_VIRTIO=y +CONFIG_BLK_PM=y +CONFIG_BLK_RQ_ALLOC_TIME=y +CONFIG_BLK_SED_OPAL=y +CONFIG_BLK_WBT=y +CONFIG_BLK_WBT_MQ=y +CONFIG_BLOCK=y +CONFIG_BLOCK_COMPAT=y +CONFIG_BLOCK_HOLDER_DEPRECATED=y +CONFIG_BLOCK_LEGACY_AUTOLOAD=y +CONFIG_BMA220=m +CONFIG_BMA400=m +CONFIG_BMA400_I2C=m +CONFIG_BMA400_SPI=m +CONFIG_BMC150_ACCEL=m +CONFIG_BMC150_ACCEL_I2C=m +CONFIG_BMC150_ACCEL_SPI=m +CONFIG_BMC150_MAGN=m +CONFIG_BMC150_MAGN_I2C=m +CONFIG_BMC150_MAGN_SPI=m +CONFIG_BME680=m +CONFIG_BME680_I2C=m +CONFIG_BME680_SPI=m +CONFIG_BMG160=m +CONFIG_BMG160_I2C=m +CONFIG_BMG160_SPI=m +CONFIG_BMI088_ACCEL=m +CONFIG_BMI088_ACCEL_SPI=m +CONFIG_BMI160=m +CONFIG_BMI160_I2C=m +CONFIG_BMI160_SPI=m +CONFIG_BMP280=m +CONFIG_BMP280_I2C=m +CONFIG_BMP280_SPI=m +CONFIG_BNA=m +CONFIG_BNX2=m +CONFIG_BNX2X=m +CONFIG_BNX2X_SRIOV=y +CONFIG_BNXT=m +CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y +CONFIG_BNXT_HWMON=y +CONFIG_BNXT_SRIOV=y +CONFIG_BOARD_TPCI200=m +CONFIG_BONDING=m +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y +# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set +# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC=y +CONFIG_BOOTTIME_TRACING=y +CONFIG_BOOT_CONFIG=y +# CONFIG_BOOT_CONFIG_EMBED is not set +CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOOT_VESA_SUPPORT=y +CONFIG_BPF=y +CONFIG_BPFILTER=y +CONFIG_BPFILTER_UMH=m +CONFIG_BPF_EVENTS=y +CONFIG_BPF_JIT=y +CONFIG_BPF_JIT_ALWAYS_ON=y +CONFIG_BPF_JIT_DEFAULT_ON=y +CONFIG_BPF_KPROBE_OVERRIDE=y +CONFIG_BPF_LSM=y +# CONFIG_BPF_PRELOAD is not set +CONFIG_BPF_STREAM_PARSER=y +CONFIG_BPF_SYSCALL=y +CONFIG_BPF_UNPRIV_DEFAULT_OFF=y +CONFIG_BPQETHER=m +CONFIG_BQL=y +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_BRCMDBG is not set +CONFIG_BRCMFMAC=m +CONFIG_BRCMFMAC_PCIE=y +CONFIG_BRCMFMAC_PROTO_BCDC=y +CONFIG_BRCMFMAC_PROTO_MSGBUF=y +CONFIG_BRCMFMAC_SDIO=y +CONFIG_BRCMFMAC_USB=y +CONFIG_BRCMSMAC=m +CONFIG_BRCMSMAC_LEDS=y +CONFIG_BRCMSTB_DPFE=y +CONFIG_BRCMSTB_GISB_ARB=y +CONFIG_BRCMSTB_L2_IRQ=y +CONFIG_BRCMSTB_PM=y +CONFIG_BRCMSTB_THERMAL=m +CONFIG_BRCMUTIL=m +CONFIG_BRCM_TRACING=y +CONFIG_BRCM_USB_PINMAP=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_CFM=y +CONFIG_BRIDGE_EBT_802_3=m +CONFIG_BRIDGE_EBT_AMONG=m +CONFIG_BRIDGE_EBT_ARP=m +CONFIG_BRIDGE_EBT_ARPREPLY=m +CONFIG_BRIDGE_EBT_BROUTE=m +CONFIG_BRIDGE_EBT_DNAT=m +CONFIG_BRIDGE_EBT_IP=m +CONFIG_BRIDGE_EBT_IP6=m +CONFIG_BRIDGE_EBT_LIMIT=m +CONFIG_BRIDGE_EBT_LOG=m +CONFIG_BRIDGE_EBT_MARK=m +CONFIG_BRIDGE_EBT_MARK_T=m +CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_BRIDGE_EBT_PKTTYPE=m +CONFIG_BRIDGE_EBT_REDIRECT=m +CONFIG_BRIDGE_EBT_SNAT=m +CONFIG_BRIDGE_EBT_STP=m +CONFIG_BRIDGE_EBT_T_FILTER=m +CONFIG_BRIDGE_EBT_T_NAT=m +CONFIG_BRIDGE_EBT_VLAN=m +CONFIG_BRIDGE_IGMP_SNOOPING=y +CONFIG_BRIDGE_MRP=y +CONFIG_BRIDGE_NETFILTER=m +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BRIDGE_VLAN_FILTERING=y +CONFIG_BROADCOM_PHY=m +CONFIG_BSD_DISKLABEL=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_BT=m +CONFIG_BTREE=y +# CONFIG_BTRFS_ASSERT is not set +# CONFIG_BTRFS_DEBUG is not set +CONFIG_BTRFS_FS=m +# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set +CONFIG_BTRFS_FS_POSIX_ACL=y +# CONFIG_BTRFS_FS_REF_VERIFY is not set +# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set +CONFIG_BTT=y +CONFIG_BT_6LOWPAN=m +CONFIG_BT_AOSPEXT=y +CONFIG_BT_ATH3K=m +CONFIG_BT_BCM=m +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_BREDR=y +CONFIG_BT_CMTP=m +CONFIG_BT_DEBUGFS=y +CONFIG_BT_HCIBCM203X=m +CONFIG_BT_HCIBFUSB=m +CONFIG_BT_HCIBLUECARD=m +CONFIG_BT_HCIBPA10X=m +CONFIG_BT_HCIBT3C=m +CONFIG_BT_HCIBTSDIO=m +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y +CONFIG_BT_HCIBTUSB_BCM=y +CONFIG_BT_HCIBTUSB_MTK=y +CONFIG_BT_HCIBTUSB_RTL=y +CONFIG_BT_HCIDTL1=m +CONFIG_BT_HCIRSI=m +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_3WIRE=y +CONFIG_BT_HCIUART_AG6XX=y +CONFIG_BT_HCIUART_ATH3K=y +CONFIG_BT_HCIUART_BCM=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_INTEL=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIUART_MRVL=y +CONFIG_BT_HCIUART_NOKIA=m +CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_RTL=y +CONFIG_BT_HCIUART_SERDEV=y +CONFIG_BT_HCIVHCI=m +CONFIG_BT_HIDP=m +CONFIG_BT_HS=y +CONFIG_BT_INTEL=m +CONFIG_BT_LE=y +CONFIG_BT_LEDS=y +CONFIG_BT_MRVL=m +CONFIG_BT_MRVL_SDIO=m +CONFIG_BT_MSFTEXT=y +CONFIG_BT_MTK=m +CONFIG_BT_MTKSDIO=m +CONFIG_BT_MTKUART=m +CONFIG_BT_QCA=m +CONFIG_BT_QCOMSMD=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_RTL=m +# CONFIG_BT_SELFTEST is not set +CONFIG_BT_VIRTIO=m +CONFIG_BUG=y +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +CONFIG_BUILDTIME_MCOUNT_SORT=y +CONFIG_BUILDTIME_TABLE_SORT=y +CONFIG_BUILD_BIN2C=y +CONFIG_BUILD_SALT="" +CONFIG_BXT_WC_PMIC_OPREGION=y +CONFIG_BYTCRC_PMIC_OPREGION=y +CONFIG_C2PORT=m +CONFIG_C2PORT_DURAMAR_2150=m +CONFIG_CACHEFILES=m +# CONFIG_CACHEFILES_DEBUG is not set +# CONFIG_CACHEFILES_ERROR_INJECTION is not set +# CONFIG_CACHEFILES_ONDEMAND is not set +CONFIG_CADENCE_WATCHDOG=m +CONFIG_CAIF=m +# CONFIG_CAIF_DEBUG is not set +CONFIG_CAIF_DRIVERS=y +CONFIG_CAIF_NETDEV=m +CONFIG_CAIF_TTY=m +CONFIG_CAIF_USB=m +CONFIG_CAIF_VIRTIO=m +CONFIG_CAN=m +CONFIG_CAN_8DEV_USB=m +CONFIG_CAN_BCM=m +CONFIG_CAN_CALC_BITTIMING=y +CONFIG_CAN_CC770=m +CONFIG_CAN_CC770_ISA=m +CONFIG_CAN_CC770_PLATFORM=m +CONFIG_CAN_CTUCANFD=m +CONFIG_CAN_CTUCANFD_PCI=m +CONFIG_CAN_CTUCANFD_PLATFORM=m +CONFIG_CAN_C_CAN=m +CONFIG_CAN_C_CAN_PCI=m +CONFIG_CAN_C_CAN_PLATFORM=m +# CONFIG_CAN_DEBUG_DEVICES is not set +CONFIG_CAN_DEV=m +CONFIG_CAN_EMS_PCI=m +CONFIG_CAN_EMS_PCMCIA=m +CONFIG_CAN_EMS_USB=m +CONFIG_CAN_ESD_USB2=m +CONFIG_CAN_ETAS_ES58X=m +CONFIG_CAN_F81601=m +CONFIG_CAN_FLEXCAN=m +CONFIG_CAN_GRCAN=m +CONFIG_CAN_GS_USB=m +CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m +CONFIG_CAN_IFI_CANFD=m +CONFIG_CAN_ISOTP=m +CONFIG_CAN_J1939=m +CONFIG_CAN_JANZ_ICAN3=m +CONFIG_CAN_KVASER_PCI=m +CONFIG_CAN_KVASER_PCIEFD=m +CONFIG_CAN_KVASER_USB=m +CONFIG_CAN_MCBA_USB=m +CONFIG_CAN_MCP251X=m +CONFIG_CAN_MCP251XFD=m +# CONFIG_CAN_MCP251XFD_SANITY is not set +CONFIG_CAN_M_CAN=m +CONFIG_CAN_M_CAN_PCI=m +CONFIG_CAN_M_CAN_PLATFORM=m +CONFIG_CAN_M_CAN_TCAN4X5X=m +CONFIG_CAN_PEAK_PCI=m +CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m +CONFIG_CAN_PEAK_PCMCIA=m +CONFIG_CAN_PEAK_USB=m +CONFIG_CAN_PLX_PCI=m +CONFIG_CAN_RAW=m +CONFIG_CAN_RCAR=m +CONFIG_CAN_RCAR_CANFD=m +CONFIG_CAN_SJA1000=m +CONFIG_CAN_SJA1000_ISA=m +CONFIG_CAN_SJA1000_PLATFORM=m +CONFIG_CAN_SLCAN=m +CONFIG_CAN_SOFTING=m +CONFIG_CAN_SOFTING_CS=m +CONFIG_CAN_UCAN=m +CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m +CONFIG_CAN_XILINXCAN=m +CONFIG_CAPI_TRACE=y +CONFIG_CARDBUS=y +CONFIG_CARDMAN_4000=m +CONFIG_CARDMAN_4040=m +CONFIG_CARL9170=m +# CONFIG_CARL9170_DEBUGFS is not set +CONFIG_CARL9170_HWRNG=y +CONFIG_CARL9170_LEDS=y +CONFIG_CARL9170_WPC=y +# CONFIG_CARMINE_DRAM_CUSTOM is not set +CONFIG_CASSINI=m +CONFIG_CAVIUM_CPT=m +CONFIG_CAVIUM_ERRATUM_22375=y +CONFIG_CAVIUM_ERRATUM_23144=y +CONFIG_CAVIUM_ERRATUM_23154=y +CONFIG_CAVIUM_ERRATUM_27456=y +CONFIG_CAVIUM_ERRATUM_30115=y +CONFIG_CAVIUM_PTP=m +CONFIG_CAVIUM_TX2_ERRATUM_219=y +CONFIG_CB710_CORE=m +# CONFIG_CB710_DEBUG is not set +CONFIG_CB710_DEBUG_ASSUMPTIONS=y +CONFIG_CC10001_ADC=m +CONFIG_CCS811=m +CONFIG_CC_CAN_LINK=y +CONFIG_CC_CAN_LINK_STATIC=y +CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y +CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y +CONFIG_CC_HAS_ASM_INLINE=y +CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y +CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y +CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y +CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y +CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI=y +CONFIG_CC_HAS_IBT=y +CONFIG_CC_HAS_INT128=y +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_CC_HAS_KASAN_SW_TAGS=y +CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y +CONFIG_CC_HAS_RETURN_THUNK=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +CONFIG_CC_HAS_SANE_STACKPROTECTOR=y +CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y +CONFIG_CC_HAS_SLS=y +CONFIG_CC_HAS_UBSAN_BOUNDS=y +CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y +CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y +CONFIG_CC_HAVE_SHADOW_CALL_STACK=y +CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y +CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" +CONFIG_CC_IS_GCC=y +CONFIG_CC_NO_ARRAY_BOUNDS=y +CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_CDNS_I3C_MASTER=m +CONFIG_CDROM=y +CONFIG_CDROM_PKTCDVD=m +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_CH7322=m +CONFIG_CEC_CORE=m +CONFIG_CEC_CROS_EC=m +CONFIG_CEC_MESON_AO=m +CONFIG_CEC_MESON_G12A_AO=m +CONFIG_CEC_NOTIFIER=y +CONFIG_CEC_PIN=y +# CONFIG_CEC_PIN_ERROR_INJ is not set +CONFIG_CEC_SECO=m +CONFIG_CEC_SECO_RC=y +CONFIG_CEC_TEGRA=m +CONFIG_CEPH_FS=m +CONFIG_CEPH_FSCACHE=y +CONFIG_CEPH_FS_POSIX_ACL=y +CONFIG_CEPH_FS_SECURITY_LABEL=y +CONFIG_CEPH_LIB=m +# CONFIG_CEPH_LIB_PRETTYDEBUG is not set +CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y +CONFIG_CFAG12864B=m +CONFIG_CFAG12864B_RATE=20 +CONFIG_CFG80211=m +# CONFIG_CFG80211_CERTIFICATION_ONUS is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_DEBUGFS=y +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y +CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y +CONFIG_CFG80211_WEXT=y +CONFIG_CFG80211_WEXT_EXPORT=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_CGROUPS=y +CONFIG_CGROUP_BPF=y +CONFIG_CGROUP_CPUACCT=y +# CONFIG_CGROUP_DEBUG is not set +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_HUGETLB=y +CONFIG_CGROUP_MISC=y +CONFIG_CGROUP_NET_CLASSID=y +CONFIG_CGROUP_NET_PRIO=y +CONFIG_CGROUP_PERF=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_RDMA=y +CONFIG_CGROUP_SCHED=y +CONFIG_CGROUP_WRITEBACK=y +CONFIG_CHARGER_88PM860X=m +CONFIG_CHARGER_ADP5061=m +CONFIG_CHARGER_AXP20X=m +CONFIG_CHARGER_BD99954=m +CONFIG_CHARGER_BQ2415X=m +CONFIG_CHARGER_BQ24190=m +CONFIG_CHARGER_BQ24257=m +CONFIG_CHARGER_BQ24735=m +CONFIG_CHARGER_BQ2515X=m +CONFIG_CHARGER_BQ256XX=m +CONFIG_CHARGER_BQ25890=m +CONFIG_CHARGER_BQ25980=m +CONFIG_CHARGER_CPCAP=m +CONFIG_CHARGER_CROS_PCHG=m +CONFIG_CHARGER_CROS_USBPD=m +CONFIG_CHARGER_DA9150=m +CONFIG_CHARGER_DETECTOR_MAX14656=m +CONFIG_CHARGER_GPIO=m +CONFIG_CHARGER_ISP1704=m +CONFIG_CHARGER_LP8727=m +CONFIG_CHARGER_LP8788=m +CONFIG_CHARGER_LT3651=m +CONFIG_CHARGER_LTC4162L=m +CONFIG_CHARGER_MANAGER=y +CONFIG_CHARGER_MAX14577=m +CONFIG_CHARGER_MAX77650=m +CONFIG_CHARGER_MAX77693=m +CONFIG_CHARGER_MAX77976=m +CONFIG_CHARGER_MAX8903=m +CONFIG_CHARGER_MAX8997=m +CONFIG_CHARGER_MAX8998=m +CONFIG_CHARGER_MP2629=m +CONFIG_CHARGER_MT6360=m +CONFIG_CHARGER_PCF50633=m +CONFIG_CHARGER_QCOM_SMBB=m +CONFIG_CHARGER_RT9455=m +CONFIG_CHARGER_SBS=m +CONFIG_CHARGER_SC2731=m +CONFIG_CHARGER_SMB347=m +CONFIG_CHARGER_SURFACE=m +CONFIG_CHARGER_TPS65090=m +CONFIG_CHARGER_TPS65217=m +CONFIG_CHARGER_TWL4030=m +CONFIG_CHARGER_UCS1002=m +CONFIG_CHARGER_WILCO=m +CONFIG_CHARLCD=m +CONFIG_CHARLCD_BL_FLASH=y +# CONFIG_CHARLCD_BL_OFF is not set +# CONFIG_CHARLCD_BL_ON is not set +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_CHECK_SIGNATURE=y +CONFIG_CHELSIO_INLINE_CRYPTO=y +CONFIG_CHELSIO_IPSEC_INLINE=m +CONFIG_CHELSIO_LIB=m +CONFIG_CHELSIO_T1=m +CONFIG_CHELSIO_T1_1G=y +CONFIG_CHELSIO_T3=m +CONFIG_CHELSIO_T4=m +CONFIG_CHELSIO_T4VF=m +CONFIG_CHELSIO_T4_DCB=y +CONFIG_CHELSIO_T4_FCOE=y +CONFIG_CHELSIO_TLS_DEVICE=m +CONFIG_CHROMEOS_ACPI=m +CONFIG_CHROMEOS_LAPTOP=m +CONFIG_CHROMEOS_PRIVACY_SCREEN=m +CONFIG_CHROMEOS_PSTORE=m +CONFIG_CHROMEOS_TBMC=m +CONFIG_CHROME_PLATFORMS=y +CONFIG_CHR_DEV_SCH=m +CONFIG_CHR_DEV_SG=y +CONFIG_CHR_DEV_ST=m +CONFIG_CHTCRC_PMIC_OPREGION=y +CONFIG_CHT_DC_TI_PMIC_OPREGION=y +CONFIG_CHT_WC_PMIC_OPREGION=y +CONFIG_CICADA_PHY=m +CONFIG_CIFS=m +CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y +CONFIG_CIFS_DEBUG=y +# CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set +CONFIG_CIFS_DFS_UPCALL=y +CONFIG_CIFS_FSCACHE=y +CONFIG_CIFS_POSIX=y +# CONFIG_CIFS_SMB_DIRECT is not set +# CONFIG_CIFS_STATS2 is not set +CONFIG_CIFS_SWN_UPCALL=y +CONFIG_CIFS_UPCALL=y +CONFIG_CIFS_XATTR=y +CONFIG_CIO2_BRIDGE=y +CONFIG_CIO_DAC=m +CONFIG_CLANG_VERSION=0 +CONFIG_CLKBLD_I8253=y +CONFIG_CLKEVT_I8253=y +CONFIG_CLKSRC_MMIO=y +CONFIG_CLK_ACTIONS=y +CONFIG_CLK_BCM2711_DVP=m +CONFIG_CLK_BCM2835=y +CONFIG_CLK_BCM_NS2=y +CONFIG_CLK_BCM_SR=y +CONFIG_CLK_GFM_LPASS_SM8250=m +CONFIG_CLK_ICST=y +CONFIG_CLK_IMX8MM=y +CONFIG_CLK_IMX8MN=y +CONFIG_CLK_IMX8MP=y +CONFIG_CLK_IMX8MQ=y +CONFIG_CLK_IMX8QXP=y +CONFIG_CLK_IMX8ULP=m +CONFIG_CLK_IMX93=m +CONFIG_CLK_INTEL_SOCFPGA=y +CONFIG_CLK_INTEL_SOCFPGA64=y +CONFIG_CLK_LS1028A_PLLDIG=m +CONFIG_CLK_OWL_S500=y +CONFIG_CLK_OWL_S700=y +CONFIG_CLK_OWL_S900=y +CONFIG_CLK_PX30=y +CONFIG_CLK_QORIQ=y +CONFIG_CLK_R8A774A1=y +CONFIG_CLK_R8A774B1=y +CONFIG_CLK_R8A774C0=y +CONFIG_CLK_R8A774E1=y +CONFIG_CLK_R8A7795=y +CONFIG_CLK_R8A77960=y +CONFIG_CLK_R8A77961=y +CONFIG_CLK_R8A77965=y +CONFIG_CLK_R8A77970=y +CONFIG_CLK_R8A77980=y +CONFIG_CLK_R8A77990=y +CONFIG_CLK_R8A77995=y +CONFIG_CLK_R8A779A0=y +CONFIG_CLK_R8A779F0=y +CONFIG_CLK_R8A779G0=y +CONFIG_CLK_R9A07G043=y +CONFIG_CLK_R9A07G044=y +CONFIG_CLK_R9A07G054=y +CONFIG_CLK_R9A09G011=y +CONFIG_CLK_RASPBERRYPI=m +CONFIG_CLK_RCAR_CPG_LIB=y +CONFIG_CLK_RCAR_GEN3_CPG=y +CONFIG_CLK_RCAR_GEN4_CPG=y +CONFIG_CLK_RCAR_USB2_CLOCK_SEL=y +CONFIG_CLK_RENESAS=y +CONFIG_CLK_RENESAS_CPG_MSSR=y +CONFIG_CLK_RENESAS_DIV6=y +CONFIG_CLK_RK3308=y +CONFIG_CLK_RK3328=y +CONFIG_CLK_RK3368=y +CONFIG_CLK_RK3399=y +CONFIG_CLK_RK3568=y +CONFIG_CLK_RZG2L=y +CONFIG_CLK_SP810=y +CONFIG_CLK_SUNXI=y +CONFIG_CLK_SUNXI_CLOCKS=y +CONFIG_CLK_SUNXI_PRCM_SUN6I=y +CONFIG_CLK_SUNXI_PRCM_SUN8I=y +CONFIG_CLK_SUNXI_PRCM_SUN9I=y +CONFIG_CLK_TEGRA_BPMP=y +CONFIG_CLK_TWL6040=m +CONFIG_CLK_VEXPRESS_OSC=y +CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y +CONFIG_CLOCKSOURCE_WATCHDOG=y +CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US=100 +CONFIG_CLONE_BACKWARDS=y +CONFIG_CLS_U32_MARK=y +# CONFIG_CLS_U32_PERF is not set +CONFIG_CLZ_TAB=y +CONFIG_CM32181=m +CONFIG_CM3232=m +CONFIG_CM3323=m +CONFIG_CM3605=m +CONFIG_CM36651=m +CONFIG_CMA_ALIGNMENT=8 +CONFIG_CMA_AREAS=7 +# CONFIG_CMA_DEBUG is not set +# CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_SIZE_MBYTES=32 +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +CONFIG_CMA_SYSFS=y +CONFIG_CMDLINE="console=ttyAMA0" +# CONFIG_CMDLINE_BOOL is not set +# CONFIG_CMDLINE_FORCE is not set +CONFIG_CMDLINE_FROM_BOOTLOADER=y +CONFIG_CMDLINE_PARTITION=y +CONFIG_CNIC=m +CONFIG_CODA_FS=m +CONFIG_COMEDI=m +CONFIG_COMEDI_8254=m +CONFIG_COMEDI_8255=m +CONFIG_COMEDI_8255_PCI=m +CONFIG_COMEDI_8255_SA=m +CONFIG_COMEDI_ADDI_APCI_1032=m +CONFIG_COMEDI_ADDI_APCI_1500=m +CONFIG_COMEDI_ADDI_APCI_1516=m +CONFIG_COMEDI_ADDI_APCI_1564=m +CONFIG_COMEDI_ADDI_APCI_16XX=m +CONFIG_COMEDI_ADDI_APCI_2032=m +CONFIG_COMEDI_ADDI_APCI_2200=m +CONFIG_COMEDI_ADDI_APCI_3120=m +CONFIG_COMEDI_ADDI_APCI_3501=m +CONFIG_COMEDI_ADDI_APCI_3XXX=m +CONFIG_COMEDI_ADDI_WATCHDOG=m +CONFIG_COMEDI_ADL_PCI6208=m +CONFIG_COMEDI_ADL_PCI7X3X=m +CONFIG_COMEDI_ADL_PCI8164=m +CONFIG_COMEDI_ADL_PCI9111=m +CONFIG_COMEDI_ADL_PCI9118=m +CONFIG_COMEDI_ADQ12B=m +CONFIG_COMEDI_ADV_PCI1710=m +CONFIG_COMEDI_ADV_PCI1720=m +CONFIG_COMEDI_ADV_PCI1723=m +CONFIG_COMEDI_ADV_PCI1724=m +CONFIG_COMEDI_ADV_PCI1760=m +CONFIG_COMEDI_ADV_PCI_DIO=m +CONFIG_COMEDI_AIO_AIO12_8=m +CONFIG_COMEDI_AIO_IIRO_16=m +CONFIG_COMEDI_AMPLC_DIO200=m +CONFIG_COMEDI_AMPLC_DIO200_ISA=m +CONFIG_COMEDI_AMPLC_DIO200_PCI=m +CONFIG_COMEDI_AMPLC_PC236=m +CONFIG_COMEDI_AMPLC_PC236_ISA=m +CONFIG_COMEDI_AMPLC_PC236_PCI=m +CONFIG_COMEDI_AMPLC_PC263_ISA=m +CONFIG_COMEDI_AMPLC_PC263_PCI=m +CONFIG_COMEDI_AMPLC_PCI224=m +CONFIG_COMEDI_AMPLC_PCI230=m +CONFIG_COMEDI_BOND=m +CONFIG_COMEDI_C6XDIGIO=m +CONFIG_COMEDI_CB_DAS16_CS=m +CONFIG_COMEDI_CB_PCIDAS=m +CONFIG_COMEDI_CB_PCIDAS64=m +CONFIG_COMEDI_CB_PCIDDA=m +CONFIG_COMEDI_CB_PCIMDAS=m +CONFIG_COMEDI_CB_PCIMDDA=m +CONFIG_COMEDI_CONTEC_PCI_DIO=m +CONFIG_COMEDI_DAC02=m +CONFIG_COMEDI_DAQBOARD2000=m +CONFIG_COMEDI_DAS08=m +CONFIG_COMEDI_DAS08_CS=m +CONFIG_COMEDI_DAS08_ISA=m +CONFIG_COMEDI_DAS08_PCI=m +CONFIG_COMEDI_DAS16=m +CONFIG_COMEDI_DAS16M1=m +CONFIG_COMEDI_DAS1800=m +CONFIG_COMEDI_DAS6402=m +CONFIG_COMEDI_DAS800=m +# CONFIG_COMEDI_DEBUG is not set +CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480 +CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048 +CONFIG_COMEDI_DMM32AT=m +CONFIG_COMEDI_DT2801=m +CONFIG_COMEDI_DT2811=m +CONFIG_COMEDI_DT2814=m +CONFIG_COMEDI_DT2815=m +CONFIG_COMEDI_DT2817=m +CONFIG_COMEDI_DT282X=m +CONFIG_COMEDI_DT3000=m +CONFIG_COMEDI_DT9812=m +CONFIG_COMEDI_DYNA_PCI10XX=m +CONFIG_COMEDI_FL512=m +CONFIG_COMEDI_GSC_HPDI=m +CONFIG_COMEDI_ICP_MULTI=m +CONFIG_COMEDI_II_PCI20KC=m +CONFIG_COMEDI_ISADMA=m +CONFIG_COMEDI_ISA_DRIVERS=y +CONFIG_COMEDI_JR3_PCI=m +CONFIG_COMEDI_KCOMEDILIB=m +CONFIG_COMEDI_KE_COUNTER=m +CONFIG_COMEDI_ME4000=m +CONFIG_COMEDI_ME_DAQ=m +CONFIG_COMEDI_MF6X4=m +CONFIG_COMEDI_MISC_DRIVERS=y +CONFIG_COMEDI_MITE=m +CONFIG_COMEDI_MPC624=m +CONFIG_COMEDI_MULTIQ3=m +CONFIG_COMEDI_NI_6527=m +CONFIG_COMEDI_NI_65XX=m +CONFIG_COMEDI_NI_660X=m +CONFIG_COMEDI_NI_670X=m +CONFIG_COMEDI_NI_ATMIO=m +CONFIG_COMEDI_NI_ATMIO16D=m +CONFIG_COMEDI_NI_AT_A2150=m +CONFIG_COMEDI_NI_AT_AO=m +CONFIG_COMEDI_NI_DAQ_700_CS=m +CONFIG_COMEDI_NI_DAQ_DIO24_CS=m +CONFIG_COMEDI_NI_LABPC=m +CONFIG_COMEDI_NI_LABPC_CS=m +CONFIG_COMEDI_NI_LABPC_ISA=m +CONFIG_COMEDI_NI_LABPC_ISADMA=m +CONFIG_COMEDI_NI_LABPC_PCI=m +CONFIG_COMEDI_NI_MIO_CS=m +CONFIG_COMEDI_NI_PCIDIO=m +CONFIG_COMEDI_NI_PCIMIO=m +CONFIG_COMEDI_NI_ROUTING=m +CONFIG_COMEDI_NI_TIO=m +CONFIG_COMEDI_NI_TIOCMD=m +CONFIG_COMEDI_NI_USB6501=m +CONFIG_COMEDI_PARPORT=m +CONFIG_COMEDI_PCI_DRIVERS=m +CONFIG_COMEDI_PCL711=m +CONFIG_COMEDI_PCL724=m +CONFIG_COMEDI_PCL726=m +CONFIG_COMEDI_PCL730=m +CONFIG_COMEDI_PCL812=m +CONFIG_COMEDI_PCL816=m +CONFIG_COMEDI_PCL818=m +CONFIG_COMEDI_PCM3724=m +CONFIG_COMEDI_PCMAD=m +CONFIG_COMEDI_PCMCIA_DRIVERS=m +CONFIG_COMEDI_PCMDA12=m +CONFIG_COMEDI_PCMMIO=m +CONFIG_COMEDI_PCMUIO=m +CONFIG_COMEDI_QUATECH_DAQP_CS=m +CONFIG_COMEDI_RTD520=m +CONFIG_COMEDI_RTI800=m +CONFIG_COMEDI_RTI802=m +CONFIG_COMEDI_S526=m +CONFIG_COMEDI_S626=m +CONFIG_COMEDI_TEST=m +CONFIG_COMEDI_TESTS=m +CONFIG_COMEDI_USBDUX=m +CONFIG_COMEDI_USBDUXFAST=m +CONFIG_COMEDI_USBDUXSIGMA=m +CONFIG_COMEDI_USB_DRIVERS=m +CONFIG_COMEDI_VMK80XX=m +CONFIG_COMMON_CLK=y +CONFIG_COMMON_CLK_APPLE_NCO=m +CONFIG_COMMON_CLK_AXG=y +CONFIG_COMMON_CLK_AXG_AUDIO=m +CONFIG_COMMON_CLK_AXI_CLKGEN=m +CONFIG_COMMON_CLK_BD718XX=m +CONFIG_COMMON_CLK_BM1880=y +CONFIG_COMMON_CLK_CDCE706=m +CONFIG_COMMON_CLK_CDCE925=m +CONFIG_COMMON_CLK_CS2000_CP=m +CONFIG_COMMON_CLK_FIXED_MMIO=y +CONFIG_COMMON_CLK_FSL_FLEXSPI=m +CONFIG_COMMON_CLK_FSL_SAI=y +CONFIG_COMMON_CLK_G12A=y +CONFIG_COMMON_CLK_GXBB=y +CONFIG_COMMON_CLK_HI3516CV300=m +CONFIG_COMMON_CLK_HI3519=m +CONFIG_COMMON_CLK_HI3559A=y +CONFIG_COMMON_CLK_HI3660=y +CONFIG_COMMON_CLK_HI3670=y +CONFIG_COMMON_CLK_HI3798CV200=m +CONFIG_COMMON_CLK_HI6220=y +CONFIG_COMMON_CLK_HI655X=m +CONFIG_COMMON_CLK_IPROC=y +CONFIG_COMMON_CLK_LOCHNAGAR=m +CONFIG_COMMON_CLK_MAX77686=m +CONFIG_COMMON_CLK_MAX9485=m +CONFIG_COMMON_CLK_MEDIATEK=y +CONFIG_COMMON_CLK_MESON_AO_CLKC=y +CONFIG_COMMON_CLK_MESON_CPU_DYNDIV=y +CONFIG_COMMON_CLK_MESON_DUALDIV=y +CONFIG_COMMON_CLK_MESON_EE_CLKC=y +CONFIG_COMMON_CLK_MESON_MPLL=y +CONFIG_COMMON_CLK_MESON_PHASE=m +CONFIG_COMMON_CLK_MESON_PLL=y +CONFIG_COMMON_CLK_MESON_REGMAP=y +CONFIG_COMMON_CLK_MESON_SCLK_DIV=m +CONFIG_COMMON_CLK_MESON_VID_PLL_DIV=y +CONFIG_COMMON_CLK_MT2712=y +CONFIG_COMMON_CLK_MT2712_BDPSYS=y +CONFIG_COMMON_CLK_MT2712_IMGSYS=y +CONFIG_COMMON_CLK_MT2712_JPGDECSYS=y +CONFIG_COMMON_CLK_MT2712_MFGCFG=y +CONFIG_COMMON_CLK_MT2712_MMSYS=y +CONFIG_COMMON_CLK_MT2712_VDECSYS=y +CONFIG_COMMON_CLK_MT2712_VENCSYS=y +CONFIG_COMMON_CLK_MT6765=y +CONFIG_COMMON_CLK_MT6765_AUDIOSYS=y +CONFIG_COMMON_CLK_MT6765_CAMSYS=y +CONFIG_COMMON_CLK_MT6765_GCESYS=y +CONFIG_COMMON_CLK_MT6765_IMGSYS=y +CONFIG_COMMON_CLK_MT6765_MFGSYS=y +CONFIG_COMMON_CLK_MT6765_MIPI0ASYS=y +CONFIG_COMMON_CLK_MT6765_MIPI0BSYS=y +CONFIG_COMMON_CLK_MT6765_MIPI1ASYS=y +CONFIG_COMMON_CLK_MT6765_MIPI1BSYS=y +CONFIG_COMMON_CLK_MT6765_MIPI2ASYS=y +CONFIG_COMMON_CLK_MT6765_MIPI2BSYS=y +CONFIG_COMMON_CLK_MT6765_MMSYS=y +CONFIG_COMMON_CLK_MT6765_VCODECSYS=y +CONFIG_COMMON_CLK_MT6779=y +CONFIG_COMMON_CLK_MT6779_AUDSYS=y +CONFIG_COMMON_CLK_MT6779_CAMSYS=y +CONFIG_COMMON_CLK_MT6779_IMGSYS=y +CONFIG_COMMON_CLK_MT6779_IPESYS=y +CONFIG_COMMON_CLK_MT6779_MFGCFG=y +CONFIG_COMMON_CLK_MT6779_MMSYS=y +CONFIG_COMMON_CLK_MT6779_VDECSYS=y +CONFIG_COMMON_CLK_MT6779_VENCSYS=y +CONFIG_COMMON_CLK_MT6797=y +CONFIG_COMMON_CLK_MT6797_IMGSYS=y +CONFIG_COMMON_CLK_MT6797_MMSYS=y +CONFIG_COMMON_CLK_MT6797_VDECSYS=y +CONFIG_COMMON_CLK_MT6797_VENCSYS=y +CONFIG_COMMON_CLK_MT7622=y +CONFIG_COMMON_CLK_MT7622_AUDSYS=y +CONFIG_COMMON_CLK_MT7622_ETHSYS=y +CONFIG_COMMON_CLK_MT7622_HIFSYS=y +CONFIG_COMMON_CLK_MT7986=y +CONFIG_COMMON_CLK_MT7986_ETHSYS=y +CONFIG_COMMON_CLK_MT8167=y +CONFIG_COMMON_CLK_MT8167_AUDSYS=y +CONFIG_COMMON_CLK_MT8167_IMGSYS=y +CONFIG_COMMON_CLK_MT8167_MFGCFG=y +CONFIG_COMMON_CLK_MT8167_MMSYS=y +CONFIG_COMMON_CLK_MT8167_VDECSYS=y +CONFIG_COMMON_CLK_MT8173=y +CONFIG_COMMON_CLK_MT8173_MMSYS=y +CONFIG_COMMON_CLK_MT8183=y +CONFIG_COMMON_CLK_MT8183_AUDIOSYS=y +CONFIG_COMMON_CLK_MT8183_CAMSYS=y +CONFIG_COMMON_CLK_MT8183_IMGSYS=y +CONFIG_COMMON_CLK_MT8183_IPU_ADL=y +CONFIG_COMMON_CLK_MT8183_IPU_CONN=y +CONFIG_COMMON_CLK_MT8183_IPU_CORE0=y +CONFIG_COMMON_CLK_MT8183_IPU_CORE1=y +CONFIG_COMMON_CLK_MT8183_MFGCFG=y +CONFIG_COMMON_CLK_MT8183_MMSYS=y +CONFIG_COMMON_CLK_MT8183_VDECSYS=y +CONFIG_COMMON_CLK_MT8183_VENCSYS=y +CONFIG_COMMON_CLK_MT8186=y +CONFIG_COMMON_CLK_MT8192=y +CONFIG_COMMON_CLK_MT8192_AUDSYS=y +CONFIG_COMMON_CLK_MT8192_CAMSYS=y +CONFIG_COMMON_CLK_MT8192_IMGSYS=y +CONFIG_COMMON_CLK_MT8192_IMP_IIC_WRAP=y +CONFIG_COMMON_CLK_MT8192_IPESYS=y +CONFIG_COMMON_CLK_MT8192_MDPSYS=y +CONFIG_COMMON_CLK_MT8192_MFGCFG=y +CONFIG_COMMON_CLK_MT8192_MMSYS=y +CONFIG_COMMON_CLK_MT8192_MSDC=y +CONFIG_COMMON_CLK_MT8192_SCP_ADSP=y +CONFIG_COMMON_CLK_MT8192_VDECSYS=y +CONFIG_COMMON_CLK_MT8192_VENCSYS=y +CONFIG_COMMON_CLK_MT8195=y +CONFIG_COMMON_CLK_MT8516=y +CONFIG_COMMON_CLK_MT8516_AUDSYS=y +CONFIG_COMMON_CLK_PALMAS=m +CONFIG_COMMON_CLK_PWM=m +CONFIG_COMMON_CLK_QCOM=m +CONFIG_COMMON_CLK_RK808=m +CONFIG_COMMON_CLK_ROCKCHIP=y +CONFIG_COMMON_CLK_RS9_PCIE=m +CONFIG_COMMON_CLK_S2MPS11=m +CONFIG_COMMON_CLK_SCMI=m +CONFIG_COMMON_CLK_SCPI=m +CONFIG_COMMON_CLK_SI514=m +CONFIG_COMMON_CLK_SI5341=m +CONFIG_COMMON_CLK_SI5351=m +CONFIG_COMMON_CLK_SI544=m +CONFIG_COMMON_CLK_SI570=m +CONFIG_COMMON_CLK_TPS68470=m +CONFIG_COMMON_CLK_VC5=m +CONFIG_COMMON_CLK_VISCONTI=y +CONFIG_COMMON_CLK_WM831X=m +CONFIG_COMMON_CLK_XGENE=y +CONFIG_COMMON_CLK_XLNX_CLKWZRD=m +CONFIG_COMMON_CLK_ZYNQMP=y +CONFIG_COMMON_RESET_HI3660=m +CONFIG_COMMON_RESET_HI6220=m +CONFIG_COMPACTION=y +CONFIG_COMPAL_LAPTOP=m +CONFIG_COMPAT=y +CONFIG_COMPAT_32=y +CONFIG_COMPAT_32BIT_TIME=y +CONFIG_COMPAT_BINFMT_ELF=y +# CONFIG_COMPAT_BRK is not set +CONFIG_COMPAT_FOR_U64_ALIGNMENT=y +CONFIG_COMPAT_NETLINK_MESSAGES=y +CONFIG_COMPAT_OLD_SIGACTION=y +# CONFIG_COMPAT_VDSO is not set +# CONFIG_COMPILE_TEST is not set +CONFIG_CONFIGFS_FS=y +CONFIG_CONNECTOR=y +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 +CONFIG_CONSOLE_LOGLEVEL_QUIET=4 +CONFIG_CONSOLE_POLL=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_CONTIG_ALLOC=y +CONFIG_CORDIC=m +CONFIG_COREDUMP=y +# CONFIG_CORESIGHT is not set +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y +CONFIG_CORTINA_PHY=m +CONFIG_COUNTER=m +CONFIG_CP15_BARRIER_EMULATION=y +# CONFIG_CPA_DEBUG is not set +CONFIG_CPCAP_ADC=m +CONFIG_CPU5_WDT=m +CONFIG_CPUFREQ_DT=y +CONFIG_CPUFREQ_DT_PLATDEV=y +CONFIG_CPUMASK_OFFSTACK=y +CONFIG_CPUSETS=y +# CONFIG_CPU_BIG_ENDIAN is not set +CONFIG_CPU_FREQ=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +CONFIG_CPU_FREQ_GOV_ATTR_SET=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_THERMAL=y +# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +CONFIG_CPU_IBPB_ENTRY=y +CONFIG_CPU_IBRS_ENTRY=y +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_HALTPOLL=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_CPU_IDLE_GOV_TEO=y +CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y +CONFIG_CPU_IDLE_THERMAL=y +CONFIG_CPU_ISOLATION=y +CONFIG_CPU_LITTLE_ENDIAN=y +CONFIG_CPU_PM=y +CONFIG_CPU_RMAP=y +CONFIG_CPU_SUP_AMD=y +CONFIG_CPU_SUP_CENTAUR=y +CONFIG_CPU_SUP_HYGON=y +CONFIG_CPU_SUP_INTEL=y +CONFIG_CPU_SUP_ZHAOXIN=y +CONFIG_CPU_THERMAL=y +CONFIG_CPU_UNRET_ENTRY=y +CONFIG_CRAMFS=m +CONFIG_CRAMFS_BLOCKDEV=y +CONFIG_CRAMFS_MTD=y +CONFIG_CRASH_CORE=y +CONFIG_CRASH_DUMP=y +CONFIG_CRC16=y +CONFIG_CRC32=y +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_SELFTEST is not set +# CONFIG_CRC32_SLICEBY4 is not set +CONFIG_CRC32_SLICEBY8=y +CONFIG_CRC4=m +CONFIG_CRC64=y +CONFIG_CRC64_ROCKSOFT=y +CONFIG_CRC7=m +CONFIG_CRC_CCITT=y +CONFIG_CRC_ITU_T=m +CONFIG_CRC_T10DIF=y +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_CROS_EC=m +CONFIG_CROS_EC_CHARDEV=m +CONFIG_CROS_EC_DEBUGFS=m +CONFIG_CROS_EC_I2C=m +CONFIG_CROS_EC_ISHTP=m +CONFIG_CROS_EC_LIGHTBAR=m +CONFIG_CROS_EC_LPC=m +CONFIG_CROS_EC_MKBP_PROXIMITY=m +CONFIG_CROS_EC_PROTO=y +CONFIG_CROS_EC_RPMSG=m +CONFIG_CROS_EC_SENSORHUB=m +CONFIG_CROS_EC_SPI=m +CONFIG_CROS_EC_SYSFS=m +CONFIG_CROS_EC_TYPEC=m +CONFIG_CROS_EC_VBC=m +CONFIG_CROS_KBD_LED_BACKLIGHT=m +CONFIG_CROS_USBPD_LOGGER=m +CONFIG_CROS_USBPD_NOTIFY=m +CONFIG_CRYPTO=y +CONFIG_CRYPTO_842=m +CONFIG_CRYPTO_ACOMP2=y +CONFIG_CRYPTO_ADIANTUM=m +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_AEGIS128=m +CONFIG_CRYPTO_AEGIS128_AESNI_SSE2=m +CONFIG_CRYPTO_AEGIS128_SIMD=y +CONFIG_CRYPTO_AES=y +CONFIG_CRYPTO_AES_ARM64=m +CONFIG_CRYPTO_AES_ARM64_BS=m +CONFIG_CRYPTO_AES_ARM64_CE=m +CONFIG_CRYPTO_AES_ARM64_CE_BLK=m +CONFIG_CRYPTO_AES_ARM64_CE_CCM=m +CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m +CONFIG_CRYPTO_AES_NI_INTEL=m +CONFIG_CRYPTO_AES_TI=m +CONFIG_CRYPTO_AKCIPHER=y +CONFIG_CRYPTO_AKCIPHER2=y +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_ANSI_CPRNG=m +CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y +CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m +CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=m +CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m +CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_BLAKE2B=m +CONFIG_CRYPTO_BLAKE2S_X86=y +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_BLOWFISH_COMMON=m +CONFIG_CRYPTO_BLOWFISH_X86_64=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m +CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m +CONFIG_CRYPTO_CAMELLIA_X86_64=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST5_AVX_X86_64=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_CAST6_AVX_X86_64=m +CONFIG_CRYPTO_CAST_COMMON=m +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_CFB=m +CONFIG_CRYPTO_CHACHA20=m +CONFIG_CRYPTO_CHACHA20POLY1305=m +CONFIG_CRYPTO_CHACHA20_NEON=m +CONFIG_CRYPTO_CHACHA20_X86_64=m +CONFIG_CRYPTO_CMAC=m +CONFIG_CRYPTO_CRC32=m +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CRC32C_INTEL=y +CONFIG_CRYPTO_CRC32_PCLMUL=m +CONFIG_CRYPTO_CRC64_ROCKSOFT=y +CONFIG_CRYPTO_CRCT10DIF=y +CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m +CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m +CONFIG_CRYPTO_CRYPTD=m +CONFIG_CRYPTO_CTR=y +CONFIG_CRYPTO_CTS=y +CONFIG_CRYPTO_CURVE25519=m +CONFIG_CRYPTO_CURVE25519_X86=m +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_DES3_EDE_X86_64=m +CONFIG_CRYPTO_DEV_ALLWINNER=y +CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m +# CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG is not set +CONFIG_CRYPTO_DEV_ATMEL_ECC=m +CONFIG_CRYPTO_DEV_ATMEL_I2C=m +CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m +CONFIG_CRYPTO_DEV_BCM_SPU=m +CONFIG_CRYPTO_DEV_CAVIUM_ZIP=m +CONFIG_CRYPTO_DEV_CCP=y +CONFIG_CRYPTO_DEV_CCP_CRYPTO=m +CONFIG_CRYPTO_DEV_CCP_DD=m +# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set +CONFIG_CRYPTO_DEV_CCREE=m +CONFIG_CRYPTO_DEV_CHELSIO=m +CONFIG_CRYPTO_DEV_CPT=m +CONFIG_CRYPTO_DEV_FSL_CAAM=m +CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API=y +CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC=m +CONFIG_CRYPTO_DEV_FSL_CAAM_COMMON=m +CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=y +CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC=m +CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI=y +# CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG is not set +CONFIG_CRYPTO_DEV_FSL_CAAM_INTC=y +CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD=255 +CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD=2048 +CONFIG_CRYPTO_DEV_FSL_CAAM_JR=m +CONFIG_CRYPTO_DEV_FSL_CAAM_PKC_API=y +CONFIG_CRYPTO_DEV_FSL_CAAM_PRNG_API=y +CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=9 +CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y +CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m +CONFIG_CRYPTO_DEV_HISI_HPRE=m +CONFIG_CRYPTO_DEV_HISI_QM=m +CONFIG_CRYPTO_DEV_HISI_SEC=m +CONFIG_CRYPTO_DEV_HISI_SEC2=m +CONFIG_CRYPTO_DEV_HISI_TRNG=m +CONFIG_CRYPTO_DEV_HISI_ZIP=m +CONFIG_CRYPTO_DEV_KEEMBAY_OCS_AES_SM4=m +CONFIG_CRYPTO_DEV_KEEMBAY_OCS_AES_SM4_CTS=y +CONFIG_CRYPTO_DEV_KEEMBAY_OCS_AES_SM4_ECB=y +CONFIG_CRYPTO_DEV_KEEMBAY_OCS_ECC=m +CONFIG_CRYPTO_DEV_KEEMBAY_OCS_HCU=m +CONFIG_CRYPTO_DEV_KEEMBAY_OCS_HCU_HMAC_SHA224=y +CONFIG_CRYPTO_DEV_MARVELL=m +CONFIG_CRYPTO_DEV_MARVELL_CESA=m +# CONFIG_CRYPTO_DEV_MXS_DCP is not set +CONFIG_CRYPTO_DEV_NITROX=m +CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m +CONFIG_CRYPTO_DEV_OCTEONTX2_CPT=m +CONFIG_CRYPTO_DEV_OCTEONTX_CPT=m +CONFIG_CRYPTO_DEV_PADLOCK=y +CONFIG_CRYPTO_DEV_PADLOCK_AES=m +CONFIG_CRYPTO_DEV_PADLOCK_SHA=m +CONFIG_CRYPTO_DEV_QAT=m +CONFIG_CRYPTO_DEV_QAT_4XXX=m +CONFIG_CRYPTO_DEV_QAT_C3XXX=m +CONFIG_CRYPTO_DEV_QAT_C3XXXVF=m +CONFIG_CRYPTO_DEV_QAT_C62X=m +CONFIG_CRYPTO_DEV_QAT_C62XVF=m +CONFIG_CRYPTO_DEV_QAT_DH895xCC=m +CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m +CONFIG_CRYPTO_DEV_QCE=m +CONFIG_CRYPTO_DEV_QCE_AEAD=y +# CONFIG_CRYPTO_DEV_QCE_ENABLE_AEAD is not set +CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set +CONFIG_CRYPTO_DEV_QCE_SHA=y +CONFIG_CRYPTO_DEV_QCE_SKCIPHER=y +CONFIG_CRYPTO_DEV_QCE_SW_MAX_LEN=512 +CONFIG_CRYPTO_DEV_QCOM_RNG=m +CONFIG_CRYPTO_DEV_ROCKCHIP=m +CONFIG_CRYPTO_DEV_SA2UL=m +CONFIG_CRYPTO_DEV_SAFEXCEL=m +CONFIG_CRYPTO_DEV_SAHARA=m +CONFIG_CRYPTO_DEV_SP_CCP=y +CONFIG_CRYPTO_DEV_SP_PSP=y +CONFIG_CRYPTO_DEV_SUN4I_SS=m +# CONFIG_CRYPTO_DEV_SUN4I_SS_DEBUG is not set +CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y +CONFIG_CRYPTO_DEV_SUN8I_CE=m +# CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG is not set +CONFIG_CRYPTO_DEV_SUN8I_CE_HASH=y +CONFIG_CRYPTO_DEV_SUN8I_CE_PRNG=y +CONFIG_CRYPTO_DEV_SUN8I_CE_TRNG=y +CONFIG_CRYPTO_DEV_SUN8I_SS=m +# CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG is not set +CONFIG_CRYPTO_DEV_SUN8I_SS_HASH=y +CONFIG_CRYPTO_DEV_SUN8I_SS_PRNG=y +CONFIG_CRYPTO_DEV_VIRTIO=m +CONFIG_CRYPTO_DEV_ZYNQMP_AES=m +CONFIG_CRYPTO_DEV_ZYNQMP_SHA3=m +CONFIG_CRYPTO_DH=y +CONFIG_CRYPTO_DH_RFC7919_GROUPS=y +CONFIG_CRYPTO_DRBG=y +CONFIG_CRYPTO_DRBG_CTR=y +CONFIG_CRYPTO_DRBG_HASH=y +CONFIG_CRYPTO_DRBG_HMAC=y +CONFIG_CRYPTO_DRBG_MENU=y +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_ECC=m +CONFIG_CRYPTO_ECDH=m +CONFIG_CRYPTO_ECDSA=m +CONFIG_CRYPTO_ECHAINIV=m +CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_ENGINE=m +CONFIG_CRYPTO_ESSIV=m +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_GCM=y +CONFIG_CRYPTO_GF128MUL=y +CONFIG_CRYPTO_GHASH=y +CONFIG_CRYPTO_GHASH_ARM64_CE=m +CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_HASH_INFO=y +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_JITTERENTROPY=y +CONFIG_CRYPTO_KDF800108_CTR=y +CONFIG_CRYPTO_KEYWRAP=m +CONFIG_CRYPTO_KPP=y +CONFIG_CRYPTO_KPP2=y +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_LIB_ARC4=m +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y +CONFIG_CRYPTO_LIB_CHACHA=m +CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m +CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m +CONFIG_CRYPTO_LIB_CURVE25519=m +CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m +CONFIG_CRYPTO_LIB_DES=m +CONFIG_CRYPTO_LIB_POLY1305=m +CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m +CONFIG_CRYPTO_LIB_SHA256=y +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_LZ4=m +CONFIG_CRYPTO_LZ4HC=m +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_NHPOLY1305=m +CONFIG_CRYPTO_NHPOLY1305_AVX2=m +CONFIG_CRYPTO_NHPOLY1305_NEON=m +CONFIG_CRYPTO_NHPOLY1305_SSE2=m +CONFIG_CRYPTO_NULL=y +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_OFB=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_PCRYPT=m +CONFIG_CRYPTO_POLY1305=m +CONFIG_CRYPTO_POLY1305_NEON=m +CONFIG_CRYPTO_POLY1305_X86_64=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=y +CONFIG_CRYPTO_RSA=y +CONFIG_CRYPTO_SEQIV=y +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m +CONFIG_CRYPTO_SERPENT_AVX_X86_64=m +CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA1_ARM64_CE=m +CONFIG_CRYPTO_SHA1_SSSE3=m +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA256_ARM64=m +CONFIG_CRYPTO_SHA256_SSSE3=m +CONFIG_CRYPTO_SHA2_ARM64_CE=m +CONFIG_CRYPTO_SHA3=m +CONFIG_CRYPTO_SHA3_ARM64=m +CONFIG_CRYPTO_SHA512=y +CONFIG_CRYPTO_SHA512_ARM64=m +CONFIG_CRYPTO_SHA512_ARM64_CE=m +CONFIG_CRYPTO_SHA512_SSSE3=m +CONFIG_CRYPTO_SIMD=m +CONFIG_CRYPTO_SKCIPHER=y +CONFIG_CRYPTO_SKCIPHER2=y +CONFIG_CRYPTO_SM2=m +CONFIG_CRYPTO_SM3=m +CONFIG_CRYPTO_SM3_ARM64_CE=m +CONFIG_CRYPTO_SM3_AVX_X86_64=m +CONFIG_CRYPTO_SM3_GENERIC=m +CONFIG_CRYPTO_SM4=m +CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64=m +CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64=m +CONFIG_CRYPTO_SM4_ARM64_CE=m +CONFIG_CRYPTO_SM4_ARM64_CE_BLK=m +CONFIG_CRYPTO_SM4_ARM64_NEON_BLK=m +CONFIG_CRYPTO_SM4_GENERIC=m +CONFIG_CRYPTO_STATS=y +CONFIG_CRYPTO_STREEBOG=m +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_TWOFISH_X86_64=m +CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m +CONFIG_CRYPTO_USER=m +CONFIG_CRYPTO_USER_API=m +CONFIG_CRYPTO_USER_API_AEAD=m +# CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE is not set +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_RNG=m +# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set +CONFIG_CRYPTO_USER_API_SKCIPHER=m +CONFIG_CRYPTO_VMAC=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_XTS=y +CONFIG_CRYPTO_XXHASH=m +CONFIG_CRYPTO_ZSTD=m +# CONFIG_CSD_LOCK_WAIT_DEBUG is not set +CONFIG_CS_DSP=m +CONFIG_CUSE=m +CONFIG_CW1200=m +CONFIG_CW1200_WLAN_SDIO=m +CONFIG_CW1200_WLAN_SPI=m +CONFIG_CXD2880_SPI_DRV=m +CONFIG_CXL_ACPI=m +CONFIG_CXL_BUS=m +CONFIG_CXL_MEM=m +# CONFIG_CXL_MEM_RAW_COMMANDS is not set +CONFIG_CXL_PCI=m +CONFIG_CXL_PMEM=m +CONFIG_CXL_PORT=m +CONFIG_CXL_SUSPEND=y +CONFIG_CX_ECAT=m +CONFIG_CYPRESS_FIRMWARE=m +CONFIG_DA280=m +CONFIG_DA311=m +CONFIG_DA9052_WATCHDOG=m +CONFIG_DA9055_WATCHDOG=m +CONFIG_DA9062_THERMAL=m +CONFIG_DA9062_WATCHDOG=m +CONFIG_DA9063_WATCHDOG=m +CONFIG_DA9150_GPADC=m +# CONFIG_DAMON is not set +CONFIG_DAVICOM_PHY=m +CONFIG_DAX=y +CONFIG_DCA=m +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_DCB=y +CONFIG_DCDBAS=m +CONFIG_DE2104X=m +CONFIG_DE2104X_DSL=0 +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_BOOT_PARAMS is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_CREDENTIALS is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_EFI is not set +# CONFIG_DEBUG_ENTRY is not set +# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_DEBUG_FS=y +CONFIG_DEBUG_FS_ALLOW_ALL=y +# CONFIG_DEBUG_FS_ALLOW_NONE is not set +# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set +# CONFIG_DEBUG_GPIO is not set +# CONFIG_DEBUG_HOTPLUG_CPU0 is not set +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_BTF=y +CONFIG_DEBUG_INFO_BTF_MODULES=y +# CONFIG_DEBUG_INFO_COMPRESSED is not set +# CONFIG_DEBUG_INFO_DWARF4 is not set +CONFIG_DEBUG_INFO_DWARF5=y +# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set +# CONFIG_DEBUG_INFO_NONE is not set +# CONFIG_DEBUG_INFO_REDUCED is not set +# CONFIG_DEBUG_INFO_SPLIT is not set +# CONFIG_DEBUG_IRQFLAGS is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_KERNEL_DC is not set +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_DEBUG_MEMORY_INIT is not set +CONFIG_DEBUG_MISC=y +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_NET is not set +# CONFIG_DEBUG_NMI_SELFTEST is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_DEBUG_PAGE_REF is not set +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_DEBUG_PLIST is not set +# CONFIG_DEBUG_RODATA_TEST is not set +# CONFIG_DEBUG_RSEQ is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_RWSEMS is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_SHIRQ is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_DEBUG_TLBFLUSH is not set +# CONFIG_DEBUG_VIRTUAL is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_VM_PGTABLE is not set +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +CONFIG_DEBUG_WX=y +CONFIG_DECNET=m +CONFIG_DECNET_NF_GRABULATOR=m +# CONFIG_DECNET_ROUTER is not set +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_ZSTD=y +CONFIG_DEFAULT_CUBIC=y +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +CONFIG_DEFAULT_INIT="" +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_SECURITY_APPARMOR=y +# CONFIG_DEFAULT_SECURITY_DAC is not set +# CONFIG_DEFAULT_SECURITY_SELINUX is not set +# CONFIG_DEFAULT_SECURITY_SMACK is not set +# CONFIG_DEFAULT_SECURITY_TOMOYO is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set +CONFIG_DEFXX=m +CONFIG_DELL_LAPTOP=m +CONFIG_DELL_RBTN=m +CONFIG_DELL_RBU=m +CONFIG_DELL_SMBIOS=m +CONFIG_DELL_SMBIOS_SMM=y +CONFIG_DELL_SMBIOS_WMI=y +CONFIG_DELL_SMO8800=m +CONFIG_DELL_UART_BACKLIGHT=m +CONFIG_DELL_WMI=m +CONFIG_DELL_WMI_AIO=m +CONFIG_DELL_WMI_DESCRIPTOR=m +CONFIG_DELL_WMI_LED=m +CONFIG_DELL_WMI_PRIVACY=y +CONFIG_DELL_WMI_SYSMAN=m +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI=m +CONFIG_DEVFREQ_GOV_PASSIVE=y +CONFIG_DEVFREQ_GOV_PERFORMANCE=y +CONFIG_DEVFREQ_GOV_POWERSAVE=y +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +CONFIG_DEVFREQ_GOV_USERSPACE=y +CONFIG_DEVFREQ_THERMAL=y +CONFIG_DEVICE_MIGRATION=y +CONFIG_DEVICE_PRIVATE=y +CONFIG_DEVMEM=y +CONFIG_DEVPORT=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_DEVTMPFS_SAFE=y +CONFIG_DEV_APPLETALK=m +CONFIG_DEV_COREDUMP=y +CONFIG_DEV_DAX=m +CONFIG_DEV_DAX_HMEM=m +CONFIG_DEV_DAX_HMEM_DEVICES=y +CONFIG_DEV_DAX_KMEM=m +CONFIG_DEV_DAX_PMEM=m +CONFIG_DHT11=m +CONFIG_DIMLIB=y +CONFIG_DL2K=m +CONFIG_DLHL60D=m +CONFIG_DLM=m +# CONFIG_DLM_DEBUG is not set +CONFIG_DLN2_ADC=m +CONFIG_DM9051=m +CONFIG_DM9102=m +# CONFIG_DMABUF_DEBUG is not set +CONFIG_DMABUF_HEAPS=y +CONFIG_DMABUF_HEAPS_CMA=y +CONFIG_DMABUF_HEAPS_SYSTEM=y +# CONFIG_DMABUF_MOVE_NOTIFY is not set +# CONFIG_DMABUF_SELFTESTS is not set +# CONFIG_DMABUF_SYSFS_STATS is not set +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set +CONFIG_DMARD06=m +CONFIG_DMARD09=m +CONFIG_DMARD10=m +CONFIG_DMAR_TABLE=y +# CONFIG_DMATEST is not set +CONFIG_DMA_ACPI=y +# CONFIG_DMA_API_DEBUG is not set +CONFIG_DMA_BCM2835=y +CONFIG_DMA_CMA=y +CONFIG_DMA_COHERENT_POOL=y +CONFIG_DMA_DECLARE_COHERENT=y +CONFIG_DMA_DIRECT_REMAP=y +CONFIG_DMA_ENGINE=y +CONFIG_DMA_ENGINE_RAID=y +# CONFIG_DMA_FENCE_TRACE is not set +# CONFIG_DMA_MAP_BENCHMARK is not set +CONFIG_DMA_NONCOHERENT_MMAP=y +CONFIG_DMA_OF=y +CONFIG_DMA_OPS=y +CONFIG_DMA_PERNUMA_CMA=y +CONFIG_DMA_RESTRICTED_POOL=y +CONFIG_DMA_SHARED_BUFFER=y +CONFIG_DMA_SUN6I=m +CONFIG_DMA_VIRTUAL_CHANNELS=y +CONFIG_DMI=y +CONFIG_DMIID=y +CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y +CONFIG_DMI_SYSFS=m +CONFIG_DM_AUDIT=y +CONFIG_DM_BIO_PRISON=m +CONFIG_DM_BUFIO=m +CONFIG_DM_CACHE=m +CONFIG_DM_CACHE_SMQ=m +CONFIG_DM_CLONE=m +CONFIG_DM_CRYPT=m +# CONFIG_DM_DEBUG is not set +# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set +CONFIG_DM_DELAY=m +# CONFIG_DM_DUST is not set +CONFIG_DM_EBS=m +CONFIG_DM_ERA=m +CONFIG_DM_FLAKEY=m +CONFIG_DM_INIT=y +CONFIG_DM_INTEGRITY=m +CONFIG_DM_LOG_USERSPACE=m +CONFIG_DM_LOG_WRITES=m +CONFIG_DM_MIRROR=m +CONFIG_DM_MULTIPATH=m +CONFIG_DM_MULTIPATH_HST=m +CONFIG_DM_MULTIPATH_IOA=m +CONFIG_DM_MULTIPATH_QL=m +CONFIG_DM_MULTIPATH_ST=m +CONFIG_DM_PERSISTENT_DATA=m +CONFIG_DM_RAID=m +CONFIG_DM_SNAPSHOT=m +CONFIG_DM_SWITCH=m +CONFIG_DM_THIN_PROVISIONING=m +CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m +CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_FEC is not set +CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG=y +# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING is not set +CONFIG_DM_WRITECACHE=m +CONFIG_DM_ZERO=m +CONFIG_DM_ZONED=m +CONFIG_DNET=m +CONFIG_DNOTIFY=y +CONFIG_DNS_RESOLVER=y +CONFIG_DP83640_PHY=m +CONFIG_DP83822_PHY=m +CONFIG_DP83848_PHY=m +CONFIG_DP83867_PHY=m +CONFIG_DP83869_PHY=m +CONFIG_DP83TC811_PHY=m +CONFIG_DP83TD510_PHY=m +CONFIG_DPAA2_CONSOLE=m +CONFIG_DPAA_ERRATUM_A050385=y +# CONFIG_DPM_WATCHDOG is not set +CONFIG_DPOT_DAC=m +CONFIG_DPS310=m +CONFIG_DPTF_PCH_FIVR=m +CONFIG_DPTF_POWER=m +CONFIG_DQL=y +CONFIG_DRAGONRISE_FF=y +# CONFIG_DRBD_FAULT_INJECTION is not set +CONFIG_DRM=m +CONFIG_DRM_AMDGPU=m +CONFIG_DRM_AMDGPU_CIK=y +CONFIG_DRM_AMDGPU_SI=y +CONFIG_DRM_AMDGPU_USERPTR=y +CONFIG_DRM_AMD_ACP=y +CONFIG_DRM_AMD_DC=y +CONFIG_DRM_AMD_DC_DCN=y +CONFIG_DRM_AMD_DC_HDCP=y +CONFIG_DRM_AMD_DC_SI=y +CONFIG_DRM_AMD_SECURE_DISPLAY=y +CONFIG_DRM_ANALOGIX_ANX6345=m +CONFIG_DRM_ANALOGIX_ANX7625=m +CONFIG_DRM_ANALOGIX_ANX78XX=m +CONFIG_DRM_ANALOGIX_DP=m +CONFIG_DRM_ARCPGU=m +CONFIG_DRM_AST=m +CONFIG_DRM_BOCHS=m +CONFIG_DRM_BRIDGE=y +CONFIG_DRM_BUDDY=m +CONFIG_DRM_CDNS_DSI=m +CONFIG_DRM_CDNS_MHDP8546=m +CONFIG_DRM_CDNS_MHDP8546_J721E=y +CONFIG_DRM_CHIPONE_ICN6211=m +CONFIG_DRM_CHRONTEL_CH7033=m +CONFIG_DRM_CIRRUS_QEMU=m +CONFIG_DRM_CROS_EC_ANX7688=m +# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set +# CONFIG_DRM_DEBUG_MODESET_LOCK is not set +# CONFIG_DRM_DEBUG_SELFTEST is not set +CONFIG_DRM_DISPLAY_CONNECTOR=m +CONFIG_DRM_DISPLAY_DP_HELPER=y +CONFIG_DRM_DISPLAY_HDCP_HELPER=y +CONFIG_DRM_DISPLAY_HDMI_HELPER=y +CONFIG_DRM_DISPLAY_HELPER=m +CONFIG_DRM_DP_AUX_BUS=m +CONFIG_DRM_DP_AUX_CHARDEV=y +CONFIG_DRM_DP_CEC=y +CONFIG_DRM_DW_HDMI=m +CONFIG_DRM_DW_HDMI_AHB_AUDIO=m +CONFIG_DRM_DW_HDMI_CEC=m +CONFIG_DRM_DW_HDMI_GP_AUDIO=m +CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +CONFIG_DRM_DW_MIPI_DSI=m +CONFIG_DRM_ETNAVIV_THERMAL=y +CONFIG_DRM_FBDEV_EMULATION=y +# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set +CONFIG_DRM_FBDEV_OVERALLOC=100 +CONFIG_DRM_FSL_LDB=m +CONFIG_DRM_GEM_CMA_HELPER=m +CONFIG_DRM_GEM_SHMEM_HELPER=m +CONFIG_DRM_GM12U320=m +CONFIG_DRM_GMA500=m +CONFIG_DRM_GUD=m +CONFIG_DRM_HDLCD=m +# CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set +CONFIG_DRM_HISI_HIBMC=m +CONFIG_DRM_HISI_KIRIN=m +CONFIG_DRM_HYPERV=m +CONFIG_DRM_I2C_ADV7511=m +CONFIG_DRM_I2C_ADV7511_AUDIO=y +CONFIG_DRM_I2C_ADV7511_CEC=y +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_I2C_NXP_TDA9950=m +CONFIG_DRM_I2C_NXP_TDA998X=m +CONFIG_DRM_I2C_SIL164=m +CONFIG_DRM_I915=m +CONFIG_DRM_I915_CAPTURE_ERROR=y +CONFIG_DRM_I915_COMPRESS_ERROR=y +# CONFIG_DRM_I915_DEBUG is not set +# CONFIG_DRM_I915_DEBUG_GUC is not set +# CONFIG_DRM_I915_DEBUG_MMIO is not set +# CONFIG_DRM_I915_DEBUG_RUNTIME_PM is not set +# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set +CONFIG_DRM_I915_FENCE_TIMEOUT=10000 +CONFIG_DRM_I915_FORCE_PROBE="" +CONFIG_DRM_I915_GVT=y +CONFIG_DRM_I915_GVT_KVMGT=m +CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500 +# CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set +CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000 +CONFIG_DRM_I915_PREEMPT_TIMEOUT=640 +CONFIG_DRM_I915_PXP=y +CONFIG_DRM_I915_REQUEST_TIMEOUT=20000 +# CONFIG_DRM_I915_SELFTEST is not set +CONFIG_DRM_I915_STOP_TIMEOUT=100 +# CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set +# CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set +CONFIG_DRM_I915_TIMESLICE_DURATION=1 +CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250 +CONFIG_DRM_I915_USERPTR=y +# CONFIG_DRM_I915_WERROR is not set +CONFIG_DRM_IMX_DCSS=m +CONFIG_DRM_ITE_IT6505=m +CONFIG_DRM_ITE_IT66121=m +CONFIG_DRM_KMB_DISPLAY=m +CONFIG_DRM_KMS_HELPER=m +CONFIG_DRM_KOMEDA=m +# CONFIG_DRM_LEGACY is not set +CONFIG_DRM_LIMA=m +CONFIG_DRM_LOAD_EDID_FIRMWARE=y +CONFIG_DRM_LONTIUM_LT8912B=m +CONFIG_DRM_LONTIUM_LT9211=m +CONFIG_DRM_LONTIUM_LT9611=m +CONFIG_DRM_LONTIUM_LT9611UXC=m +CONFIG_DRM_LVDS_CODEC=m +CONFIG_DRM_MALI_DISPLAY=m +CONFIG_DRM_MEDIATEK=m +CONFIG_DRM_MEDIATEK_HDMI=m +CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW=m +CONFIG_DRM_MESON=m +CONFIG_DRM_MESON_DW_HDMI=m +CONFIG_DRM_MGAG200=m +CONFIG_DRM_MIPI_DBI=m +CONFIG_DRM_MIPI_DSI=y +CONFIG_DRM_MSM=m +CONFIG_DRM_MSM_DP=y +CONFIG_DRM_MSM_DPU=y +CONFIG_DRM_MSM_DSI=y +CONFIG_DRM_MSM_DSI_10NM_PHY=y +CONFIG_DRM_MSM_DSI_14NM_PHY=y +CONFIG_DRM_MSM_DSI_20NM_PHY=y +CONFIG_DRM_MSM_DSI_28NM_8960_PHY=y +CONFIG_DRM_MSM_DSI_28NM_PHY=y +CONFIG_DRM_MSM_DSI_7NM_PHY=y +CONFIG_DRM_MSM_GPU_STATE=y +# CONFIG_DRM_MSM_GPU_SUDO is not set +CONFIG_DRM_MSM_HDMI=y +CONFIG_DRM_MSM_HDMI_HDCP=y +CONFIG_DRM_MSM_MDP4=y +CONFIG_DRM_MSM_MDP5=y +CONFIG_DRM_MSM_MDSS=y +CONFIG_DRM_MXS=y +CONFIG_DRM_MXSFB=m +CONFIG_DRM_NOMODESET=y +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_NOUVEAU_BACKLIGHT=y +# CONFIG_DRM_NOUVEAU_SVM is not set +CONFIG_DRM_NWL_MIPI_DSI=m +CONFIG_DRM_NXP_PTN3460=m +CONFIG_DRM_PANEL=y +CONFIG_DRM_PANEL_ABT_Y030XX067A=m +CONFIG_DRM_PANEL_ARM_VERSATILE=m +CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596=m +CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0=m +CONFIG_DRM_PANEL_BOE_HIMAX8279D=m +CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m +CONFIG_DRM_PANEL_BRIDGE=y +CONFIG_DRM_PANEL_DSI_CM=m +CONFIG_DRM_PANEL_EDP=m +CONFIG_DRM_PANEL_ELIDA_KD35T133=m +CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m +CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m +CONFIG_DRM_PANEL_ILITEK_IL9322=m +CONFIG_DRM_PANEL_ILITEK_ILI9341=m +CONFIG_DRM_PANEL_ILITEK_ILI9881C=m +CONFIG_DRM_PANEL_INNOLUX_EJ030NA=m +CONFIG_DRM_PANEL_INNOLUX_P079ZCA=m +CONFIG_DRM_PANEL_JDI_LT070ME05000=m +CONFIG_DRM_PANEL_JDI_R63452=m +CONFIG_DRM_PANEL_KHADAS_TS050=m +CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m +CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W=m +CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829=m +CONFIG_DRM_PANEL_LG_LB035Q02=m +CONFIG_DRM_PANEL_LG_LG4573=m +CONFIG_DRM_PANEL_LVDS=m +CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=m +CONFIG_DRM_PANEL_MIPI_DBI=m +CONFIG_DRM_PANEL_NEC_NL8048HL11=m +CONFIG_DRM_PANEL_NEWVISION_NV3052C=m +CONFIG_DRM_PANEL_NOVATEK_NT35510=m +CONFIG_DRM_PANEL_NOVATEK_NT35560=m +CONFIG_DRM_PANEL_NOVATEK_NT35950=m +CONFIG_DRM_PANEL_NOVATEK_NT36672A=m +CONFIG_DRM_PANEL_NOVATEK_NT39016=m +CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m +CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y +CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m +CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS=m +CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m +CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m +CONFIG_DRM_PANEL_RAYDIUM_RM67191=m +CONFIG_DRM_PANEL_RAYDIUM_RM68200=m +CONFIG_DRM_PANEL_RONBO_RB070D30=m +CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20=m +CONFIG_DRM_PANEL_SAMSUNG_DB7430=m +CONFIG_DRM_PANEL_SAMSUNG_LD9040=m +CONFIG_DRM_PANEL_SAMSUNG_S6D16D0=m +CONFIG_DRM_PANEL_SAMSUNG_S6D27A1=m +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m +CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m +CONFIG_DRM_PANEL_SAMSUNG_S6E63M0=m +CONFIG_DRM_PANEL_SAMSUNG_S6E63M0_DSI=m +CONFIG_DRM_PANEL_SAMSUNG_S6E63M0_SPI=m +CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m +CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m +CONFIG_DRM_PANEL_SAMSUNG_SOFEF00=m +CONFIG_DRM_PANEL_SEIKO_43WVF1G=m +CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m +CONFIG_DRM_PANEL_SHARP_LS037V7DW01=m +CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m +CONFIG_DRM_PANEL_SHARP_LS060T1SX01=m +CONFIG_DRM_PANEL_SIMPLE=m +CONFIG_DRM_PANEL_SITRONIX_ST7701=m +CONFIG_DRM_PANEL_SITRONIX_ST7703=m +CONFIG_DRM_PANEL_SITRONIX_ST7789V=m +CONFIG_DRM_PANEL_SONY_ACX565AKM=m +CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521=m +CONFIG_DRM_PANEL_TDO_TL070WSH30=m +CONFIG_DRM_PANEL_TPO_TD028TTEC1=m +CONFIG_DRM_PANEL_TPO_TD043MTEA1=m +CONFIG_DRM_PANEL_TPO_TPG110=m +CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m +CONFIG_DRM_PANEL_VISIONOX_RM69299=m +CONFIG_DRM_PANEL_WIDECHIPS_WS2401=m +CONFIG_DRM_PANEL_XINPENG_XPP055C272=m +CONFIG_DRM_PANFROST=m +CONFIG_DRM_PARADE_PS8622=m +CONFIG_DRM_PARADE_PS8640=m +CONFIG_DRM_PL111=m +CONFIG_DRM_PRIVACY_SCREEN=y +CONFIG_DRM_QXL=m +CONFIG_DRM_RADEON=m +# CONFIG_DRM_RADEON_USERPTR is not set +CONFIG_DRM_RCAR_CMM=m +CONFIG_DRM_RCAR_DU=m +CONFIG_DRM_RCAR_DW_HDMI=m +CONFIG_DRM_RCAR_LVDS=m +CONFIG_DRM_RCAR_MIPI_DSI=m +CONFIG_DRM_RCAR_USE_CMM=y +CONFIG_DRM_RCAR_USE_LVDS=y +CONFIG_DRM_RCAR_VSP=y +CONFIG_DRM_RCAR_WRITEBACK=y +CONFIG_DRM_ROCKCHIP=m +CONFIG_DRM_SCHED=m +CONFIG_DRM_SII902X=m +CONFIG_DRM_SII9234=m +CONFIG_DRM_SIL_SII8620=m +CONFIG_DRM_SIMPLEDRM=m +CONFIG_DRM_SIMPLE_BRIDGE=m +CONFIG_DRM_SPRD=m +CONFIG_DRM_SSD130X=m +CONFIG_DRM_SSD130X_I2C=m +CONFIG_DRM_SSD130X_SPI=m +CONFIG_DRM_SUN4I=m +CONFIG_DRM_SUN4I_BACKEND=m +CONFIG_DRM_SUN4I_HDMI=m +CONFIG_DRM_SUN4I_HDMI_CEC=y +CONFIG_DRM_SUN6I_DSI=m +CONFIG_DRM_SUN8I_DW_HDMI=m +CONFIG_DRM_SUN8I_MIXER=m +CONFIG_DRM_SUN8I_TCON_TOP=m +CONFIG_DRM_TEGRA=m +# CONFIG_DRM_TEGRA_DEBUG is not set +CONFIG_DRM_TEGRA_STAGING=y +CONFIG_DRM_THINE_THC63LVD1024=m +CONFIG_DRM_TIDSS=m +CONFIG_DRM_TI_SN65DSI83=m +CONFIG_DRM_TI_SN65DSI86=m +CONFIG_DRM_TI_TFP410=m +CONFIG_DRM_TI_TPD12S015=m +CONFIG_DRM_TOSHIBA_TC358762=m +CONFIG_DRM_TOSHIBA_TC358764=m +CONFIG_DRM_TOSHIBA_TC358767=m +CONFIG_DRM_TOSHIBA_TC358768=m +CONFIG_DRM_TOSHIBA_TC358775=m +CONFIG_DRM_TTM=m +CONFIG_DRM_TTM_HELPER=m +CONFIG_DRM_UDL=m +CONFIG_DRM_V3D=m +CONFIG_DRM_VBOXVIDEO=m +CONFIG_DRM_VC4=m +CONFIG_DRM_VC4_HDMI_CEC=y +CONFIG_DRM_VGEM=m +CONFIG_DRM_VIRTIO_GPU=m +CONFIG_DRM_VKMS=m +CONFIG_DRM_VMWGFX=m +CONFIG_DRM_VMWGFX_FBCON=y +# CONFIG_DRM_VMWGFX_MKSSTATS is not set +CONFIG_DRM_VRAM_HELPER=m +CONFIG_DRM_XEN=y +CONFIG_DRM_XEN_FRONTEND=m +CONFIG_DRM_ZYNQMP_DPSUB=m +CONFIG_DS1682=m +CONFIG_DS1803=m +CONFIG_DS4424=m +CONFIG_DST_CACHE=y +CONFIG_DTC=y +CONFIG_DTPM=y +CONFIG_DTPM_CPU=y +CONFIG_DTPM_DEVFREQ=y +CONFIG_DT_IDLE_GENPD=y +CONFIG_DT_IDLE_STATES=y +CONFIG_DUMMY=m +CONFIG_DUMMY_CONSOLE=y +CONFIG_DUMMY_CONSOLE_COLUMNS=80 +CONFIG_DUMMY_CONSOLE_ROWS=25 +CONFIG_DUMMY_IRQ=m +CONFIG_DVB_A8293=m +CONFIG_DVB_AF9013=m +CONFIG_DVB_AF9033=m +CONFIG_DVB_AS102=m +CONFIG_DVB_AS102_FE=m +CONFIG_DVB_ASCOT2E=m +CONFIG_DVB_ATBM8830=m +CONFIG_DVB_AU8522=m +CONFIG_DVB_AU8522_DTV=m +CONFIG_DVB_AU8522_V4L=m +CONFIG_DVB_AV7110=m +CONFIG_DVB_AV7110_IR=y +CONFIG_DVB_AV7110_OSD=y +CONFIG_DVB_B2C2_FLEXCOP=m +CONFIG_DVB_B2C2_FLEXCOP_PCI=m +# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set +CONFIG_DVB_B2C2_FLEXCOP_USB=m +# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set +CONFIG_DVB_BCM3510=m +CONFIG_DVB_BT8XX=m +CONFIG_DVB_BUDGET=m +CONFIG_DVB_BUDGET_AV=m +CONFIG_DVB_BUDGET_CI=m +CONFIG_DVB_BUDGET_CORE=m +CONFIG_DVB_BUDGET_PATCH=m +CONFIG_DVB_CORE=m +CONFIG_DVB_CX22700=m +CONFIG_DVB_CX22702=m +CONFIG_DVB_CX24110=m +CONFIG_DVB_CX24116=m +CONFIG_DVB_CX24117=m +CONFIG_DVB_CX24120=m +CONFIG_DVB_CX24123=m +CONFIG_DVB_CXD2099=m +CONFIG_DVB_CXD2820R=m +CONFIG_DVB_CXD2841ER=m +CONFIG_DVB_CXD2880=m +CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set +# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set +CONFIG_DVB_DIB3000MB=m +CONFIG_DVB_DIB3000MC=m +CONFIG_DVB_DIB7000M=m +CONFIG_DVB_DIB7000P=m +CONFIG_DVB_DIB8000=m +CONFIG_DVB_DIB9000=m +CONFIG_DVB_DM1105=m +CONFIG_DVB_DRX39XYJ=m +CONFIG_DVB_DRXD=m +CONFIG_DVB_DRXK=m +CONFIG_DVB_DS3000=m +CONFIG_DVB_DUMMY_FE=m +CONFIG_DVB_DYNAMIC_MINORS=y +CONFIG_DVB_EC100=m +CONFIG_DVB_FIREDTV=m +CONFIG_DVB_FIREDTV_INPUT=y +CONFIG_DVB_GP8PSK_FE=m +CONFIG_DVB_HELENE=m +CONFIG_DVB_HOPPER=m +CONFIG_DVB_HORUS3A=m +CONFIG_DVB_ISL6405=m +CONFIG_DVB_ISL6421=m +CONFIG_DVB_ISL6423=m +CONFIG_DVB_IX2505V=m +CONFIG_DVB_L64781=m +CONFIG_DVB_LG2160=m +CONFIG_DVB_LGDT3305=m +CONFIG_DVB_LGDT3306A=m +CONFIG_DVB_LGDT330X=m +CONFIG_DVB_LGS8GL5=m +CONFIG_DVB_LGS8GXX=m +CONFIG_DVB_LNBH25=m +CONFIG_DVB_LNBH29=m +CONFIG_DVB_LNBP21=m +CONFIG_DVB_LNBP22=m +CONFIG_DVB_M88DS3103=m +CONFIG_DVB_M88RS2000=m +CONFIG_DVB_MANTIS=m +CONFIG_DVB_MAX_ADAPTERS=8 +CONFIG_DVB_MB86A16=m +CONFIG_DVB_MB86A20S=m +# CONFIG_DVB_MMAP is not set +CONFIG_DVB_MN88443X=m +CONFIG_DVB_MN88472=m +CONFIG_DVB_MN88473=m +CONFIG_DVB_MT312=m +CONFIG_DVB_MT352=m +CONFIG_DVB_MXL5XX=m +CONFIG_DVB_MXL692=m +CONFIG_DVB_NET=y +CONFIG_DVB_NETUP_UNIDVB=m +CONFIG_DVB_NGENE=m +CONFIG_DVB_NXT200X=m +CONFIG_DVB_NXT6000=m +CONFIG_DVB_OR51132=m +CONFIG_DVB_OR51211=m +CONFIG_DVB_PLATFORM_DRIVERS=y +CONFIG_DVB_PLL=m +CONFIG_DVB_PLUTO2=m +CONFIG_DVB_PT1=m +CONFIG_DVB_PT3=m +CONFIG_DVB_RTL2830=m +CONFIG_DVB_RTL2832=m +CONFIG_DVB_RTL2832_SDR=m +CONFIG_DVB_S5H1409=m +CONFIG_DVB_S5H1411=m +CONFIG_DVB_S5H1420=m +CONFIG_DVB_S5H1432=m +CONFIG_DVB_S921=m +CONFIG_DVB_SI2165=m +CONFIG_DVB_SI2168=m +CONFIG_DVB_SI21XX=m +CONFIG_DVB_SMIPCIE=m +CONFIG_DVB_SP2=m +CONFIG_DVB_SP8870=m +CONFIG_DVB_SP887X=m +CONFIG_DVB_STB0899=m +CONFIG_DVB_STB6000=m +CONFIG_DVB_STB6100=m +CONFIG_DVB_STV0288=m +CONFIG_DVB_STV0297=m +CONFIG_DVB_STV0299=m +CONFIG_DVB_STV0367=m +CONFIG_DVB_STV0900=m +CONFIG_DVB_STV090x=m +CONFIG_DVB_STV0910=m +CONFIG_DVB_STV6110=m +CONFIG_DVB_STV6110x=m +CONFIG_DVB_STV6111=m +CONFIG_DVB_TC90522=m +CONFIG_DVB_TDA10021=m +CONFIG_DVB_TDA10023=m +CONFIG_DVB_TDA10048=m +CONFIG_DVB_TDA1004X=m +CONFIG_DVB_TDA10071=m +CONFIG_DVB_TDA10086=m +CONFIG_DVB_TDA18271C2DD=m +CONFIG_DVB_TDA665x=m +CONFIG_DVB_TDA8083=m +CONFIG_DVB_TDA8261=m +CONFIG_DVB_TDA826X=m +# CONFIG_DVB_TEST_DRIVERS is not set +CONFIG_DVB_TS2020=m +CONFIG_DVB_TTUSB_BUDGET=m +CONFIG_DVB_TTUSB_DEC=m +CONFIG_DVB_TUA6100=m +CONFIG_DVB_TUNER_CX24113=m +CONFIG_DVB_TUNER_DIB0070=m +CONFIG_DVB_TUNER_DIB0090=m +CONFIG_DVB_TUNER_ITD1000=m +# CONFIG_DVB_ULE_DEBUG is not set +CONFIG_DVB_USB=m +CONFIG_DVB_USB_A800=m +CONFIG_DVB_USB_AF9005=m +CONFIG_DVB_USB_AF9005_REMOTE=m +CONFIG_DVB_USB_AF9015=m +CONFIG_DVB_USB_AF9035=m +CONFIG_DVB_USB_ANYSEE=m +CONFIG_DVB_USB_AU6610=m +CONFIG_DVB_USB_AZ6007=m +CONFIG_DVB_USB_AZ6027=m +CONFIG_DVB_USB_CE6230=m +CONFIG_DVB_USB_CINERGY_T2=m +CONFIG_DVB_USB_CXUSB=m +CONFIG_DVB_USB_CXUSB_ANALOG=y +# CONFIG_DVB_USB_DEBUG is not set +CONFIG_DVB_USB_DIB0700=m +CONFIG_DVB_USB_DIB3000MC=m +CONFIG_DVB_USB_DIBUSB_MB=m +# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set +CONFIG_DVB_USB_DIBUSB_MC=m +CONFIG_DVB_USB_DIGITV=m +CONFIG_DVB_USB_DTT200U=m +CONFIG_DVB_USB_DTV5100=m +CONFIG_DVB_USB_DVBSKY=m +CONFIG_DVB_USB_DW2102=m +CONFIG_DVB_USB_EC168=m +CONFIG_DVB_USB_GL861=m +CONFIG_DVB_USB_GP8PSK=m +CONFIG_DVB_USB_LME2510=m +CONFIG_DVB_USB_M920X=m +CONFIG_DVB_USB_MXL111SF=m +CONFIG_DVB_USB_NOVA_T_USB2=m +CONFIG_DVB_USB_OPERA1=m +CONFIG_DVB_USB_PCTV452E=m +CONFIG_DVB_USB_RTL28XXU=m +CONFIG_DVB_USB_TECHNISAT_USB2=m +CONFIG_DVB_USB_TTUSB2=m +CONFIG_DVB_USB_UMT_010=m +CONFIG_DVB_USB_V2=m +CONFIG_DVB_USB_VP702X=m +CONFIG_DVB_USB_VP7045=m +CONFIG_DVB_USB_ZD1301=m +CONFIG_DVB_VES1820=m +CONFIG_DVB_VES1X93=m +CONFIG_DVB_ZD1301_DEMOD=m +CONFIG_DVB_ZL10036=m +CONFIG_DVB_ZL10039=m +CONFIG_DVB_ZL10353=m +CONFIG_DWC_XLGMAC=m +CONFIG_DWC_XLGMAC_PCI=m +CONFIG_DWMAC_DWC_QOS_ETH=m +CONFIG_DWMAC_GENERIC=m +CONFIG_DWMAC_IMX8=m +CONFIG_DWMAC_INTEL=m +CONFIG_DWMAC_INTEL_PLAT=m +CONFIG_DWMAC_IPQ806X=m +CONFIG_DWMAC_LOONGSON=m +CONFIG_DWMAC_MEDIATEK=m +CONFIG_DWMAC_MESON=m +CONFIG_DWMAC_QCOM_ETHQOS=m +CONFIG_DWMAC_ROCKCHIP=m +CONFIG_DWMAC_SOCFPGA=m +CONFIG_DWMAC_SUN8I=m +# CONFIG_DWMAC_SUNXI is not set +CONFIG_DWMAC_VISCONTI=m +CONFIG_DW_APB_ICTL=y +CONFIG_DW_APB_TIMER=y +CONFIG_DW_APB_TIMER_OF=y +CONFIG_DW_AXI_DMAC=m +CONFIG_DW_DMAC=m +CONFIG_DW_DMAC_CORE=m +CONFIG_DW_DMAC_PCI=m +CONFIG_DW_EDMA=m +CONFIG_DW_EDMA_PCIE=m +CONFIG_DW_I3C_MASTER=m +CONFIG_DW_WATCHDOG=m +CONFIG_DW_XDATA_PCIE=m +CONFIG_DYNAMIC_DEBUG=y +CONFIG_DYNAMIC_DEBUG_CORE=y +CONFIG_DYNAMIC_EVENTS=y +CONFIG_DYNAMIC_FTRACE=y +CONFIG_DYNAMIC_FTRACE_WITH_ARGS=y +CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y +CONFIG_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_DYNAMIC_MEMORY_LAYOUT=y +CONFIG_DYNAMIC_PHYSICAL_MASK=y +CONFIG_DYNAMIC_SIGFRAME=y +CONFIG_E100=m +CONFIG_E1000=m +CONFIG_E1000E=m +CONFIG_E1000E_HWTS=y +CONFIG_EARLY_PRINTK=y +CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_USB=y +CONFIG_EARLY_PRINTK_USB_XDBC=y +CONFIG_EBC_C384_WDT=m +CONFIG_ECHO=m +CONFIG_ECRYPT_FS=y +CONFIG_ECRYPT_FS_MESSAGING=y +CONFIG_EDAC=y +CONFIG_EDAC_ALTERA=y +CONFIG_EDAC_ALTERA_ETHERNET=y +CONFIG_EDAC_ALTERA_NAND=y +CONFIG_EDAC_ALTERA_OCRAM=y +CONFIG_EDAC_ALTERA_QSPI=y +CONFIG_EDAC_ALTERA_SDMMC=y +CONFIG_EDAC_ALTERA_SDRAM=y +CONFIG_EDAC_ALTERA_USB=y +CONFIG_EDAC_AMD64=m +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_BLUEFIELD=m +# CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_DECODE_MCE=m +CONFIG_EDAC_DMC520=m +CONFIG_EDAC_E752X=m +CONFIG_EDAC_GHES=y +CONFIG_EDAC_I10NM=m +CONFIG_EDAC_I3000=m +CONFIG_EDAC_I3200=m +CONFIG_EDAC_I5000=m +CONFIG_EDAC_I5100=m +CONFIG_EDAC_I5400=m +CONFIG_EDAC_I7300=m +CONFIG_EDAC_I7CORE=m +CONFIG_EDAC_I82975X=m +CONFIG_EDAC_IE31200=m +CONFIG_EDAC_IGEN6=m +CONFIG_EDAC_LAYERSCAPE=m +# CONFIG_EDAC_LEGACY_SYSFS is not set +CONFIG_EDAC_PND2=m +CONFIG_EDAC_QCOM=m +CONFIG_EDAC_SBRIDGE=m +CONFIG_EDAC_SKX=m +CONFIG_EDAC_SUPPORT=y +CONFIG_EDAC_SYNOPSYS=m +CONFIG_EDAC_THUNDERX=m +CONFIG_EDAC_X38=m +CONFIG_EDAC_XGENE=m +CONFIG_EDD=y +CONFIG_EDD_OFF=y +CONFIG_EEEPC_LAPTOP=m +CONFIG_EEEPC_WMI=m +CONFIG_EEPROM_93CX6=m +CONFIG_EEPROM_93XX46=m +CONFIG_EEPROM_AT24=m +CONFIG_EEPROM_AT25=m +CONFIG_EEPROM_EE1004=m +CONFIG_EEPROM_IDT_89HPESX=m +CONFIG_EEPROM_LEGACY=m +CONFIG_EEPROM_MAX6875=m +CONFIG_EFI=y +CONFIG_EFIVAR_FS=y +# CONFIG_EFI_ARMSTUB_DTB_LOADER is not set +CONFIG_EFI_BOOTLOADER_CONTROL=m +CONFIG_EFI_CAPSULE_LOADER=m +CONFIG_EFI_COCO_SECRET=y +CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y +CONFIG_EFI_DEV_PATH_PARSER=y +# CONFIG_EFI_DISABLE_PCI_DMA is not set +# CONFIG_EFI_DISABLE_RUNTIME is not set +CONFIG_EFI_DXE_MEM_ATTRIBUTES=y +CONFIG_EFI_EARLYCON=y +CONFIG_EFI_EMBEDDED_FIRMWARE=y +CONFIG_EFI_ESRT=y +# CONFIG_EFI_FAKE_MEMMAP is not set +CONFIG_EFI_GENERIC_STUB=y +CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y +CONFIG_EFI_MIXED=y +CONFIG_EFI_PARAMS_FROM_FDT=y +CONFIG_EFI_PARTITION=y +# CONFIG_EFI_PGT_DUMP is not set +CONFIG_EFI_RCI2_TABLE=y +CONFIG_EFI_RUNTIME_MAP=y +CONFIG_EFI_RUNTIME_WRAPPERS=y +CONFIG_EFI_SECRET=m +CONFIG_EFI_SOFT_RESERVE=y +CONFIG_EFI_STUB=y +CONFIG_EFI_TEST=m +CONFIG_EFI_VARS=y +CONFIG_EFI_VARS_PSTORE=m +# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set +CONFIG_EFS_FS=m +CONFIG_EINT_MTK=y +CONFIG_EISA=y +CONFIG_EISA_NAMES=y +CONFIG_EISA_PCI_EISA=y +CONFIG_EISA_VIRTUAL_ROOT=y +CONFIG_EISA_VLB_PRIMING=y +CONFIG_EL3=m +CONFIG_ELFCORE=y +CONFIG_ELF_CORE=y +CONFIG_EMAC_ROCKCHIP=m +# CONFIG_EMBEDDED is not set +CONFIG_ENA_ETHERNET=m +CONFIG_ENC28J60=m +# CONFIG_ENC28J60_WRITEVERIFY is not set +CONFIG_ENCLOSURE_SERVICES=m +CONFIG_ENCRYPTED_KEYS=y +CONFIG_ENCX24J600=m +CONFIG_ENERGY_MODEL=y +CONFIG_ENIC=m +CONFIG_ENVELOPE_DETECTOR=m +CONFIG_EPIC100=m +CONFIG_EPOLL=y +CONFIG_EQUALIZER=m +CONFIG_EROFS_FS=m +# CONFIG_EROFS_FS_DEBUG is not set +CONFIG_EROFS_FS_POSIX_ACL=y +CONFIG_EROFS_FS_SECURITY=y +CONFIG_EROFS_FS_XATTR=y +CONFIG_EROFS_FS_ZIP=y +CONFIG_EROFS_FS_ZIP_LZMA=y +CONFIG_ET131X=m +CONFIG_ETHERNET=y +CONFIG_ETHOC=m +CONFIG_ETHTOOL_NETLINK=y +CONFIG_EUROTECH_WDT=m +CONFIG_EVENTFD=y +CONFIG_EVENT_TRACING=y +CONFIG_EVM=y +CONFIG_EVM_ADD_XATTRS=y +CONFIG_EVM_ATTR_FSUUID=y +CONFIG_EVM_EXTRA_SMACK_XATTRS=y +# CONFIG_EVM_LOAD_X509 is not set +CONFIG_EXCLUSIVE_SYSTEM_RAM=y +CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" +CONFIG_EXFAT_FS=m +CONFIG_EXPERT=y +CONFIG_EXPORTFS=y +CONFIG_EXPORTFS_BLOCK_OPS=y +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_EXT4_USE_FOR_EXT2=y +CONFIG_EXTCON=y +CONFIG_EXTCON_ADC_JACK=m +CONFIG_EXTCON_AXP288=m +CONFIG_EXTCON_FSA9480=m +CONFIG_EXTCON_GPIO=m +CONFIG_EXTCON_INTEL_CHT_WC=m +CONFIG_EXTCON_INTEL_INT3496=m +CONFIG_EXTCON_INTEL_MRFLD=m +CONFIG_EXTCON_MAX14577=m +CONFIG_EXTCON_MAX3355=m +CONFIG_EXTCON_MAX77693=m +CONFIG_EXTCON_MAX77843=m +CONFIG_EXTCON_MAX8997=m +CONFIG_EXTCON_PALMAS=m +CONFIG_EXTCON_PTN5150=m +CONFIG_EXTCON_QCOM_SPMI_MISC=m +CONFIG_EXTCON_RT8973A=m +CONFIG_EXTCON_SM5502=m +CONFIG_EXTCON_USBC_CROS_EC=m +CONFIG_EXTCON_USBC_TUSB320=m +CONFIG_EXTCON_USB_GPIO=m +CONFIG_EXTRA_FIRMWARE="" +CONFIG_EZCHIP_NPS_MANAGEMENT_ENET=m +CONFIG_EZX_PCAP=y +# CONFIG_F2FS_CHECK_FS is not set +# CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_F2FS_FS=m +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_FS_LZ4=y +CONFIG_F2FS_FS_LZ4HC=y +CONFIG_F2FS_FS_LZO=y +CONFIG_F2FS_FS_LZORLE=y +CONFIG_F2FS_FS_POSIX_ACL=y +CONFIG_F2FS_FS_SECURITY=y +CONFIG_F2FS_FS_XATTR=y +CONFIG_F2FS_FS_ZSTD=y +# CONFIG_F2FS_IOSTAT is not set +CONFIG_F2FS_STAT_FS=y +CONFIG_F2FS_UNFAIR_RWSEM=y +CONFIG_F71808E_WDT=m +CONFIG_FAILOVER=m +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_FANOTIFY=y +CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y +CONFIG_FARSYNC=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_FAT_DEFAULT_UTF8 is not set +CONFIG_FAT_FS=y +# CONFIG_FAULT_INJECTION is not set +CONFIG_FB=y +CONFIG_FB_3DFX=m +# CONFIG_FB_3DFX_ACCEL is not set +# CONFIG_FB_3DFX_I2C is not set +CONFIG_FB_ARC=m +CONFIG_FB_ARK=m +CONFIG_FB_ARMCLCD=m +CONFIG_FB_ASILIANT=y +CONFIG_FB_ATY=m +CONFIG_FB_ATY128=m +CONFIG_FB_ATY128_BACKLIGHT=y +CONFIG_FB_ATY_BACKLIGHT=y +CONFIG_FB_ATY_CT=y +# CONFIG_FB_ATY_GENERIC_LCD is not set +CONFIG_FB_ATY_GX=y +CONFIG_FB_BACKLIGHT=m +CONFIG_FB_CARILLO_RANCH=m +CONFIG_FB_CARMINE=m +CONFIG_FB_CARMINE_DRAM_EVAL=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_CIRRUS=m +CONFIG_FB_CMDLINE=y +CONFIG_FB_CYBER2000=m +CONFIG_FB_CYBER2000_DDC=y +CONFIG_FB_DDC=m +CONFIG_FB_DEFERRED_IO=y +CONFIG_FB_EFI=y +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_HECUBA=m +CONFIG_FB_HGA=m +CONFIG_FB_HYPERV=m +CONFIG_FB_I740=m +# CONFIG_FB_IBM_GXT4500 is not set +CONFIG_FB_IMSTT=y +CONFIG_FB_IMX=m +CONFIG_FB_INTEL=m +# CONFIG_FB_INTEL_DEBUG is not set +CONFIG_FB_INTEL_I2C=y +CONFIG_FB_KYRO=m +CONFIG_FB_LE80578=m +CONFIG_FB_MATROX=m +CONFIG_FB_MATROX_G=y +CONFIG_FB_MATROX_I2C=m +CONFIG_FB_MATROX_MAVEN=m +CONFIG_FB_MATROX_MILLENIUM=y +CONFIG_FB_MATROX_MYSTIQUE=y +CONFIG_FB_MB862XX=m +CONFIG_FB_MB862XX_I2C=y +CONFIG_FB_MB862XX_PCI_GDC=y +CONFIG_FB_METRONOME=m +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_MX3=y +CONFIG_FB_N411=m +CONFIG_FB_NEOMAGIC=m +CONFIG_FB_NOTIFY=y +CONFIG_FB_NVIDIA=m +CONFIG_FB_NVIDIA_BACKLIGHT=y +# CONFIG_FB_NVIDIA_DEBUG is not set +CONFIG_FB_NVIDIA_I2C=y +CONFIG_FB_OPENCORES=m +CONFIG_FB_PM2=m +CONFIG_FB_PM2_FIFO_DISCONNECT=y +CONFIG_FB_PM3=m +CONFIG_FB_RADEON=m +CONFIG_FB_RADEON_BACKLIGHT=y +# CONFIG_FB_RADEON_DEBUG is not set +CONFIG_FB_RADEON_I2C=y +CONFIG_FB_RIVA=m +CONFIG_FB_RIVA_BACKLIGHT=y +# CONFIG_FB_RIVA_DEBUG is not set +CONFIG_FB_RIVA_I2C=y +CONFIG_FB_S1D13XXX=m +CONFIG_FB_S3=m +CONFIG_FB_S3_DDC=y +CONFIG_FB_SAVAGE=m +# CONFIG_FB_SAVAGE_ACCEL is not set +CONFIG_FB_SAVAGE_I2C=y +CONFIG_FB_SH_MOBILE_LCDC=m +CONFIG_FB_SIMPLE=m +CONFIG_FB_SIS=m +CONFIG_FB_SIS_300=y +CONFIG_FB_SIS_315=y +CONFIG_FB_SM501=m +CONFIG_FB_SM712=m +CONFIG_FB_SM750=m +CONFIG_FB_SMSCUFX=m +CONFIG_FB_SSD1307=m +CONFIG_FB_SVGALIB=m +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +CONFIG_FB_TFT=m +CONFIG_FB_TFT_AGM1264K_FL=m +CONFIG_FB_TFT_BD663474=m +CONFIG_FB_TFT_HX8340BN=m +CONFIG_FB_TFT_HX8347D=m +CONFIG_FB_TFT_HX8353D=m +CONFIG_FB_TFT_HX8357D=m +CONFIG_FB_TFT_ILI9163=m +CONFIG_FB_TFT_ILI9320=m +CONFIG_FB_TFT_ILI9325=m +CONFIG_FB_TFT_ILI9340=m +CONFIG_FB_TFT_ILI9341=m +CONFIG_FB_TFT_ILI9481=m +CONFIG_FB_TFT_ILI9486=m +CONFIG_FB_TFT_PCD8544=m +CONFIG_FB_TFT_RA8875=m +CONFIG_FB_TFT_S6D02A1=m +CONFIG_FB_TFT_S6D1121=m +CONFIG_FB_TFT_SEPS525=m +CONFIG_FB_TFT_SH1106=m +CONFIG_FB_TFT_SSD1289=m +CONFIG_FB_TFT_SSD1305=m +CONFIG_FB_TFT_SSD1306=m +CONFIG_FB_TFT_SSD1331=m +CONFIG_FB_TFT_SSD1351=m +CONFIG_FB_TFT_ST7735R=m +CONFIG_FB_TFT_ST7789V=m +CONFIG_FB_TFT_TINYLCD=m +CONFIG_FB_TFT_TLS8204=m +CONFIG_FB_TFT_UC1611=m +CONFIG_FB_TFT_UC1701=m +CONFIG_FB_TFT_UPD161704=m +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_TRIDENT=m +CONFIG_FB_UDL=m +CONFIG_FB_UVESA=m +CONFIG_FB_VESA=y +CONFIG_FB_VGA16=m +CONFIG_FB_VIA=m +# CONFIG_FB_VIA_DIRECT_PROCFS is not set +CONFIG_FB_VIA_X_COMPATIBILITY=y +# CONFIG_FB_VIRTUAL is not set +CONFIG_FB_VOODOO1=m +CONFIG_FB_VT8623=m +CONFIG_FB_XILINX=m +CONFIG_FCOE=m +CONFIG_FCOE_FNIC=m +CONFIG_FDDI=y +CONFIG_FEALNX=m +CONFIG_FEC=y +CONFIG_FHANDLE=y +CONFIG_FIB_RULES=y +CONFIG_FIELDBUS_DEV=m +CONFIG_FILE_LOCKING=y +# CONFIG_FIND_BIT_BENCHMARK is not set +# CONFIG_FIPS_SIGNATURE_SELFTEST is not set +CONFIG_FIREWIRE=m +CONFIG_FIREWIRE_NET=m +CONFIG_FIREWIRE_NOSY=m +CONFIG_FIREWIRE_OHCI=m +CONFIG_FIREWIRE_SBP2=m +CONFIG_FIREWIRE_SERIAL=m +CONFIG_FIRMWARE_EDID=y +CONFIG_FIRMWARE_MEMMAP=y +CONFIG_FIXED_PHY=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_FM10K=m +CONFIG_FONTS=y +# CONFIG_FONT_10x18 is not set +CONFIG_FONT_6x10=y +# CONFIG_FONT_6x11 is not set +# CONFIG_FONT_6x8 is not set +# CONFIG_FONT_7x14 is not set +CONFIG_FONT_8x16=y +CONFIG_FONT_8x8=y +CONFIG_FONT_ACORN_8x8=y +# CONFIG_FONT_MINI_4x6 is not set +# CONFIG_FONT_PEARL_8x8 is not set +# CONFIG_FONT_SUN12x22 is not set +# CONFIG_FONT_SUN8x16 is not set +CONFIG_FONT_SUPPORT=y +CONFIG_FONT_TER16x32=y +CONFIG_FORCEDETH=m +CONFIG_FORCE_MAX_ZONEORDER=13 +CONFIG_FORTIFY_SOURCE=y +CONFIG_FPGA=m +CONFIG_FPGA_BRIDGE=m +CONFIG_FPGA_DFL=m +CONFIG_FPGA_DFL_AFU=m +CONFIG_FPGA_DFL_EMIF=m +CONFIG_FPGA_DFL_FME=m +CONFIG_FPGA_DFL_FME_BRIDGE=m +CONFIG_FPGA_DFL_FME_MGR=m +CONFIG_FPGA_DFL_FME_REGION=m +CONFIG_FPGA_DFL_NIOS_INTEL_PAC_N3000=m +CONFIG_FPGA_DFL_PCI=m +CONFIG_FPGA_MGR_ALTERA_CVP=m +CONFIG_FPGA_MGR_ALTERA_PS_SPI=m +CONFIG_FPGA_MGR_ICE40_SPI=m +CONFIG_FPGA_MGR_MACHXO2_SPI=m +CONFIG_FPGA_MGR_SOCFPGA=m +CONFIG_FPGA_MGR_SOCFPGA_A10=m +CONFIG_FPGA_MGR_STRATIX10_SOC=m +CONFIG_FPGA_MGR_VERSAL_FPGA=m +CONFIG_FPGA_MGR_XILINX_SPI=m +CONFIG_FPGA_MGR_ZYNQMP_FPGA=m +CONFIG_FPGA_REGION=m +CONFIG_FPROBE=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_FRAME_POINTER=y +CONFIG_FRAME_WARN=1024 +CONFIG_FREEZER=y +CONFIG_FRONTSWAP=y +CONFIG_FSCACHE=m +# CONFIG_FSCACHE_DEBUG is not set +CONFIG_FSCACHE_STATS=y +CONFIG_FSI=m +CONFIG_FSI_MASTER_ASPEED=m +CONFIG_FSI_MASTER_GPIO=m +CONFIG_FSI_MASTER_HUB=m +# CONFIG_FSI_NEW_DEV_NODE is not set +CONFIG_FSI_OCC=m +CONFIG_FSI_SBEFIFO=m +CONFIG_FSI_SCOM=m +CONFIG_FSL_BMAN_TEST=m +# CONFIG_FSL_BMAN_TEST_API is not set +CONFIG_FSL_DPAA=y +CONFIG_FSL_DPAA2_ETH=m +CONFIG_FSL_DPAA2_ETH_DCB=y +CONFIG_FSL_DPAA2_PTP_CLOCK=m +CONFIG_FSL_DPAA2_QDMA=m +CONFIG_FSL_DPAA2_SWITCH=m +CONFIG_FSL_DPAA_CHECKING=y +CONFIG_FSL_DPAA_ETH=m +CONFIG_FSL_EDMA=m +CONFIG_FSL_ENETC=m +CONFIG_FSL_ENETC_IERB=m +CONFIG_FSL_ENETC_MDIO=m +CONFIG_FSL_ENETC_PTP_CLOCK=m +CONFIG_FSL_ENETC_QOS=y +CONFIG_FSL_ENETC_VF=m +CONFIG_FSL_ERRATUM_A008585=y +CONFIG_FSL_FMAN=y +CONFIG_FSL_GUTS=y +CONFIG_FSL_IFC=y +CONFIG_FSL_IMX8_DDR_PMU=m +CONFIG_FSL_MC_BUS=y +CONFIG_FSL_MC_DPIO=m +CONFIG_FSL_MC_UAPI_SUPPORT=y +CONFIG_FSL_PQ_MDIO=m +CONFIG_FSL_QDMA=m +# CONFIG_FSL_QMAN_TEST is not set +CONFIG_FSL_RCPM=y +CONFIG_FSL_UCC_HDLC=m +CONFIG_FSL_XGMAC_MDIO=y +CONFIG_FSNOTIFY=y +CONFIG_FS_DAX=y +CONFIG_FS_DAX_PMD=y +CONFIG_FS_ENCRYPTION=y +CONFIG_FS_ENCRYPTION_ALGS=y +CONFIG_FS_ENCRYPTION_INLINE_CRYPT=y +CONFIG_FS_IOMAP=y +CONFIG_FS_MBCACHE=y +CONFIG_FS_POSIX_ACL=y +CONFIG_FS_VERITY=y +CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y +# CONFIG_FS_VERITY_DEBUG is not set +CONFIG_FTL=m +CONFIG_FTM_QUADDEC=m +CONFIG_FTRACE=y +CONFIG_FTRACE_MCOUNT_RECORD=y +CONFIG_FTRACE_MCOUNT_USE_CC=y +CONFIG_FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY=y +# CONFIG_FTRACE_RECORD_RECURSION is not set +# CONFIG_FTRACE_SORT_STARTUP_TEST is not set +# CONFIG_FTRACE_STARTUP_TEST is not set +CONFIG_FTRACE_SYSCALLS=y +CONFIG_FUEL_GAUGE_SC27XX=m +CONFIG_FUJITSU_ERRATUM_010001=y +CONFIG_FUJITSU_ES=m +CONFIG_FUJITSU_LAPTOP=m +CONFIG_FUJITSU_TABLET=m +CONFIG_FUNCTION_ERROR_INJECTION=y +CONFIG_FUNCTION_GRAPH_TRACER=y +CONFIG_FUNCTION_PROFILER=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUN_CORE=m +CONFIG_FUN_ETH=m +CONFIG_FUSE_DAX=y +CONFIG_FUSE_FS=y +CONFIG_FUSION=y +CONFIG_FUSION_CTL=m +CONFIG_FUSION_FC=m +CONFIG_FUSION_LAN=m +CONFIG_FUSION_LOGGING=y +CONFIG_FUSION_MAX_SGE=128 +CONFIG_FUSION_SAS=m +CONFIG_FUSION_SPI=m +CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y +CONFIG_FWNODE_MDIO=y +CONFIG_FWTTY_MAX_CARD_PORTS=32 +CONFIG_FWTTY_MAX_TOTAL_PORTS=64 +CONFIG_FW_ATTR_CLASS=m +CONFIG_FW_CACHE=y +CONFIG_FW_CFG_SYSFS=m +# CONFIG_FW_CFG_SYSFS_CMDLINE is not set +CONFIG_FW_LOADER=y +CONFIG_FW_LOADER_COMPRESS=y +CONFIG_FW_LOADER_COMPRESS_XZ=y +CONFIG_FW_LOADER_COMPRESS_ZSTD=y +CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_FW_LOADER_SYSFS=y +CONFIG_FW_LOADER_USER_HELPER=y +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +CONFIG_FW_UPLOAD=y +CONFIG_FXAS21002C=m +CONFIG_FXAS21002C_I2C=m +CONFIG_FXAS21002C_SPI=m +CONFIG_FXLS8962AF=m +CONFIG_FXLS8962AF_I2C=m +CONFIG_FXLS8962AF_SPI=m +CONFIG_FXOS8700=m +CONFIG_FXOS8700_I2C=m +CONFIG_FXOS8700_SPI=m +CONFIG_GACT_PROB=y +CONFIG_GADGET_UAC1=y +# CONFIG_GADGET_UAC1_LEGACY is not set +CONFIG_GAMEPORT=m +CONFIG_GAMEPORT_EMU10K1=m +CONFIG_GAMEPORT_FM801=m +CONFIG_GAMEPORT_L4=m +CONFIG_GAMEPORT_NS558=m +CONFIG_GARP=m +CONFIG_GART_IOMMU=y +CONFIG_GCC12_NO_ARRAY_BOUNDS=y +CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_GCC_VERSION=120200 +# CONFIG_GCOV_KERNEL is not set +CONFIG_GDB_SCRIPTS=y +CONFIG_GEMINI_ETHERNET=m +CONFIG_GENERIC_ADC_BATTERY=m +CONFIG_GENERIC_ADC_THERMAL=m +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_GENERIC_ARCH_NUMA=y +CONFIG_GENERIC_ARCH_TOPOLOGY=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_GENERIC_CPU=y +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_GENERIC_CPU_VULNERABILITIES=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_EARLY_IOREMAP=y +CONFIG_GENERIC_ENTRY=y +CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_IRQ_CHIP=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_GENERIC_IRQ_IPI=y +CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y +CONFIG_GENERIC_IRQ_MIGRATION=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_RESERVATION_MODE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y +CONFIG_GENERIC_MSI_IRQ=y +CONFIG_GENERIC_MSI_IRQ_DOMAIN=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_GENERIC_PHY=y +CONFIG_GENERIC_PHY_MIPI_DPHY=y +CONFIG_GENERIC_PINCONF=y +CONFIG_GENERIC_PINCTRL_GROUPS=y +CONFIG_GENERIC_PINMUX_FUNCTIONS=y +CONFIG_GENERIC_PTDUMP=y +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_TRACER=y +CONFIG_GENERIC_VDSO_TIME_NS=y +CONFIG_GENEVE=m +CONFIG_GENWQE=m +CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0 +CONFIG_GFS2_FS=m +CONFIG_GFS2_FS_LOCKING_DLM=y +CONFIG_GIANFAR=m +CONFIG_GIGABYTE_WMI=m +CONFIG_GLOB=y +# CONFIG_GLOB_SELFTEST is not set +CONFIG_GNSS=m +CONFIG_GNSS_MTK_SERIAL=m +CONFIG_GNSS_SERIAL=m +CONFIG_GNSS_SIRF_SERIAL=m +CONFIG_GNSS_UBX_SERIAL=m +CONFIG_GNSS_USB=m +# CONFIG_GOLDFISH is not set +# CONFIG_GOOGLE_FIRMWARE is not set +CONFIG_GP2AP002=m +CONFIG_GP2AP020A00F=m +CONFIG_GPD_POCKET_FAN=m +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_104_DIO_48E=m +CONFIG_GPIO_104_IDIO_16=m +CONFIG_GPIO_104_IDI_48=m +CONFIG_GPIO_74X164=m +CONFIG_GPIO_74XX_MMIO=m +CONFIG_GPIO_ACPI=y +CONFIG_GPIO_ADNP=m +CONFIG_GPIO_ADP5520=m +CONFIG_GPIO_ADP5588=m +CONFIG_GPIO_AGGREGATOR=m +CONFIG_GPIO_ALTERA=m +CONFIG_GPIO_ALTERA_A10SR=m +CONFIG_GPIO_AMD8111=m +CONFIG_GPIO_AMDPT=m +CONFIG_GPIO_AMD_FCH=m +CONFIG_GPIO_ARIZONA=m +CONFIG_GPIO_BCM_XGS_IPROC=m +CONFIG_GPIO_BD71815=m +CONFIG_GPIO_BD71828=m +CONFIG_GPIO_BD9571MWV=m +CONFIG_GPIO_BRCMSTB=m +CONFIG_GPIO_CADENCE=m +CONFIG_GPIO_CDEV=y +# CONFIG_GPIO_CDEV_V1 is not set +CONFIG_GPIO_CRYSTAL_COVE=y +CONFIG_GPIO_DA9052=m +CONFIG_GPIO_DA9055=m +CONFIG_GPIO_DAVINCI=y +CONFIG_GPIO_DLN2=m +CONFIG_GPIO_DWAPB=m +CONFIG_GPIO_EIC_SPRD=m +CONFIG_GPIO_EXAR=m +CONFIG_GPIO_F7188X=m +CONFIG_GPIO_FTGPIO010=y +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_GPIO_GPIO_MM=m +CONFIG_GPIO_GRGPIO=m +CONFIG_GPIO_GW_PLD=m +CONFIG_GPIO_HISI=m +CONFIG_GPIO_HLWD=m +CONFIG_GPIO_ICH=m +CONFIG_GPIO_IT87=m +CONFIG_GPIO_JANZ_TTL=m +CONFIG_GPIO_KEMPLD=m +CONFIG_GPIO_LOGICVC=m +CONFIG_GPIO_LP3943=m +CONFIG_GPIO_LP873X=m +CONFIG_GPIO_LP87565=m +CONFIG_GPIO_MADERA=m +CONFIG_GPIO_MAX3191X=m +CONFIG_GPIO_MAX7300=m +CONFIG_GPIO_MAX7301=m +CONFIG_GPIO_MAX730X=m +CONFIG_GPIO_MAX732X=m +CONFIG_GPIO_MAX77620=m +CONFIG_GPIO_MAX77650=m +CONFIG_GPIO_MB86S7X=m +CONFIG_GPIO_MC33880=m +CONFIG_GPIO_MENZ127=m +CONFIG_GPIO_MLXBF=m +CONFIG_GPIO_MLXBF2=m +CONFIG_GPIO_ML_IOH=m +# CONFIG_GPIO_MOCKUP is not set +CONFIG_GPIO_MOXTET=m +CONFIG_GPIO_MPC8XXX=y +CONFIG_GPIO_MVEBU=y +CONFIG_GPIO_MXC=y +CONFIG_GPIO_PALMAS=y +CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCA953X_IRQ=y +CONFIG_GPIO_PCA9570=m +CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_PCIE_IDIO_24=m +CONFIG_GPIO_PCI_IDIO_16=m +CONFIG_GPIO_PISOSR=m +CONFIG_GPIO_PL061=y +CONFIG_GPIO_PMIC_EIC_SPRD=m +CONFIG_GPIO_RASPBERRYPI_EXP=m +CONFIG_GPIO_RC5T583=y +CONFIG_GPIO_RCAR=m +CONFIG_GPIO_RDC321X=m +CONFIG_GPIO_REGMAP=m +CONFIG_GPIO_ROCKCHIP=m +CONFIG_GPIO_SAMA5D2_PIOBU=m +CONFIG_GPIO_SCH=m +CONFIG_GPIO_SCH311X=m +CONFIG_GPIO_SIFIVE=y +CONFIG_GPIO_SIM=m +CONFIG_GPIO_SIOX=m +CONFIG_GPIO_SL28CPLD=m +CONFIG_GPIO_SPRD=m +CONFIG_GPIO_STMPE=y +CONFIG_GPIO_SYSCON=m +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_TC3589X=y +CONFIG_GPIO_TEGRA=y +CONFIG_GPIO_TEGRA186=y +CONFIG_GPIO_THUNDERX=m +CONFIG_GPIO_TPIC2810=m +CONFIG_GPIO_TPS65086=m +CONFIG_GPIO_TPS65218=m +CONFIG_GPIO_TPS6586X=y +CONFIG_GPIO_TPS65910=y +CONFIG_GPIO_TPS65912=m +CONFIG_GPIO_TPS68470=m +CONFIG_GPIO_TQMX86=m +CONFIG_GPIO_TWL4030=m +CONFIG_GPIO_TWL6040=m +CONFIG_GPIO_UCB1400=m +CONFIG_GPIO_VF610=y +CONFIG_GPIO_VIPERBOARD=m +CONFIG_GPIO_VIRTIO=m +CONFIG_GPIO_VISCONTI=m +CONFIG_GPIO_VX855=m +CONFIG_GPIO_WATCHDOG=m +CONFIG_GPIO_WCD934X=m +CONFIG_GPIO_WHISKEY_COVE=m +CONFIG_GPIO_WINBOND=m +CONFIG_GPIO_WM831X=m +CONFIG_GPIO_WM8350=m +CONFIG_GPIO_WM8994=m +CONFIG_GPIO_WS16C48=m +CONFIG_GPIO_XGENE=y +CONFIG_GPIO_XGENE_SB=m +CONFIG_GPIO_XILINX=y +CONFIG_GPIO_XLP=m +CONFIG_GPIO_XRA1403=m +CONFIG_GPIO_ZYNQ=m +CONFIG_GPIO_ZYNQMP_MODEPIN=m +CONFIG_GRACE_PERIOD=m +CONFIG_GREENASIA_FF=y +CONFIG_GREYBUS=m +CONFIG_GREYBUS_AUDIO=m +CONFIG_GREYBUS_AUDIO_APB_CODEC=m +CONFIG_GREYBUS_BOOTROM=m +CONFIG_GREYBUS_BRIDGED_PHY=m +CONFIG_GREYBUS_ES2=m +CONFIG_GREYBUS_FIRMWARE=m +CONFIG_GREYBUS_GPIO=m +CONFIG_GREYBUS_HID=m +CONFIG_GREYBUS_I2C=m +CONFIG_GREYBUS_LIGHT=m +CONFIG_GREYBUS_LOG=m +CONFIG_GREYBUS_LOOPBACK=m +CONFIG_GREYBUS_POWER=m +CONFIG_GREYBUS_PWM=m +CONFIG_GREYBUS_RAW=m +CONFIG_GREYBUS_SDIO=m +CONFIG_GREYBUS_SPI=m +CONFIG_GREYBUS_UART=m +CONFIG_GREYBUS_USB=m +CONFIG_GREYBUS_VIBRATOR=m +CONFIG_GRO_CELLS=y +CONFIG_GTP=m +CONFIG_GUEST_PERF_EVENTS=y +# CONFIG_GUP_TEST is not set +CONFIG_GVE=m +CONFIG_HABANA_AI=m +CONFIG_HALTPOLL_CPUIDLE=m +CONFIG_HAMACHI=m +CONFIG_HAMRADIO=y +CONFIG_HANGCHECK_TIMER=m +CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y +CONFIG_HARDLOCKUP_DETECTOR=y +CONFIG_HARDLOCKUP_DETECTOR_PERF=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAVE_ACPI_APEI=y +CONFIG_HAVE_ACPI_APEI_NMI=y +CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y +CONFIG_HAVE_ARCH_COMPILER_H=y +CONFIG_HAVE_ARCH_HUGE_VMALLOC=y +CONFIG_HAVE_ARCH_HUGE_VMAP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y +CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_ARCH_KASAN_HW_TAGS=y +CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y +CONFIG_HAVE_ARCH_KASAN_VMALLOC=y +CONFIG_HAVE_ARCH_KCSAN=y +CONFIG_HAVE_ARCH_KFENCE=y +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y +CONFIG_HAVE_ARCH_NODE_DEV_GROUP=y +CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y +CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y +CONFIG_HAVE_ARCH_SECCOMP=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_ARCH_SOFT_DIRTY=y +CONFIG_HAVE_ARCH_STACKLEAK=y +CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y +CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y +CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y +CONFIG_HAVE_ARCH_USERFAULTFD_WP=y +CONFIG_HAVE_ARCH_VMAP_STACK=y +CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y +CONFIG_HAVE_ARM_SMCCC=y +CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y +CONFIG_HAVE_ASM_MODVERSIONS=y +CONFIG_HAVE_BOOTMEM_INFO_NODE=y +CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_HAVE_CMPXCHG_DOUBLE=y +CONFIG_HAVE_CMPXCHG_LOCAL=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_EBPF_JIT=y +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_HAVE_EISA=y +CONFIG_HAVE_EXIT_THREAD=y +CONFIG_HAVE_FAST_GUP=y +CONFIG_HAVE_FENTRY=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y +CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_GCC_PLUGINS=y +CONFIG_HAVE_GENERIC_VDSO=y +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_IMA_KEXEC=y +CONFIG_HAVE_INTEL_TXT=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_JUMP_LABEL_HACK=y +CONFIG_HAVE_KCSAN_COMPILER=y +CONFIG_HAVE_KERNEL_BZIP2=y +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZ4=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_ZSTD=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KPROBES_ON_FTRACE=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_KVM=y +CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL=y +CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y +CONFIG_HAVE_KVM_DIRTY_RING=y +CONFIG_HAVE_KVM_EVENTFD=y +CONFIG_HAVE_KVM_IRQCHIP=y +CONFIG_HAVE_KVM_IRQFD=y +CONFIG_HAVE_KVM_IRQ_BYPASS=y +CONFIG_HAVE_KVM_IRQ_ROUTING=y +CONFIG_HAVE_KVM_MSI=y +CONFIG_HAVE_KVM_NO_POLL=y +CONFIG_HAVE_KVM_PFNCACHE=y +CONFIG_HAVE_KVM_PM_NOTIFIER=y +CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE=y +CONFIG_HAVE_LIVEPATCH=y +CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y +CONFIG_HAVE_MMIOTRACE_SUPPORT=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_HAVE_MOVE_PMD=y +CONFIG_HAVE_MOVE_PUD=y +CONFIG_HAVE_NMI=y +CONFIG_HAVE_NOINSTR_HACK=y +CONFIG_HAVE_NOINSTR_VALIDATION=y +CONFIG_HAVE_OBJTOOL=y +CONFIG_HAVE_OBJTOOL_MCOUNT=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_PATA_PLATFORM=y +CONFIG_HAVE_PCI=y +CONFIG_HAVE_PCSPKR_PLATFORM=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_PERF_EVENTS_NMI=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y +CONFIG_HAVE_PREEMPT_DYNAMIC=y +CONFIG_HAVE_PREEMPT_DYNAMIC_CALL=y +CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_RELIABLE_STACKTRACE=y +CONFIG_HAVE_RETHOOK=y +CONFIG_HAVE_RSEQ=y +CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y +CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y +CONFIG_HAVE_STACKPROTECTOR=y +CONFIG_HAVE_STACK_VALIDATION=y +CONFIG_HAVE_STATIC_CALL=y +CONFIG_HAVE_STATIC_CALL_INLINE=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_UACCESS_VALIDATION=y +CONFIG_HAVE_UID16=y +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y +CONFIG_HAVE_USER_RETURN_NOTIFIER=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HBMC_AM654=m +CONFIG_HD44780=m +CONFIG_HD44780_COMMON=m +CONFIG_HDC100X=m +CONFIG_HDC2010=m +CONFIG_HDLC=m +CONFIG_HDLC_CISCO=m +CONFIG_HDLC_FR=m +CONFIG_HDLC_PPP=m +CONFIG_HDLC_RAW=m +CONFIG_HDLC_RAW_ETH=m +CONFIG_HDLC_X25=m +CONFIG_HDMI=y +CONFIG_HDMI_LPE_AUDIO=m +# CONFIG_HEADERS_INSTALL is not set +CONFIG_HERMES=m +CONFIG_HERMES_CACHE_FW_ON_INIT=y +# CONFIG_HERMES_PRISM is not set +# CONFIG_HFI1_DEBUG_SDMA_ORDER is not set +CONFIG_HFSPLUS_FS=m +CONFIG_HFS_FS=m +CONFIG_HI13X1_GMAC=y +CONFIG_HI3660_MBOX=m +CONFIG_HI6220_MBOX=m +CONFIG_HI6421V600_IRQ=m +CONFIG_HI8435=m +CONFIG_HIBERNATE_CALLBACKS=y +CONFIG_HIBERNATION_SNAPSHOT_DEV=y +CONFIG_HID=m +CONFIG_HIDRAW=y +CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m +CONFIG_HID_ACRUX=m +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_ALPS=m +CONFIG_HID_APPLE=m +CONFIG_HID_APPLEIR=m +CONFIG_HID_ASUS=m +CONFIG_HID_AUREAL=m +CONFIG_HID_BATTERY_STRENGTH=y +CONFIG_HID_BELKIN=m +CONFIG_HID_BETOP_FF=m +CONFIG_HID_BIGBEN_FF=m +CONFIG_HID_CHERRY=m +CONFIG_HID_CHICONY=m +CONFIG_HID_CMEDIA=m +CONFIG_HID_CORSAIR=m +CONFIG_HID_COUGAR=m +CONFIG_HID_CP2112=m +CONFIG_HID_CREATIVE_SB0540=m +CONFIG_HID_CYPRESS=m +CONFIG_HID_DRAGONRISE=m +CONFIG_HID_ELAN=m +CONFIG_HID_ELECOM=m +CONFIG_HID_ELO=m +CONFIG_HID_EMS_FF=m +CONFIG_HID_EZKEY=m +CONFIG_HID_FT260=m +CONFIG_HID_GEMBIRD=m +CONFIG_HID_GENERIC=m +CONFIG_HID_GFRM=m +CONFIG_HID_GLORIOUS=m +CONFIG_HID_GOOGLE_HAMMER=m +CONFIG_HID_GREENASIA=m +CONFIG_HID_GT683R=m +CONFIG_HID_GYRATION=m +CONFIG_HID_HOLTEK=m +CONFIG_HID_HYPERV_MOUSE=m +CONFIG_HID_ICADE=m +CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m +CONFIG_HID_KENSINGTON=m +CONFIG_HID_KEYTOUCH=m +CONFIG_HID_KYE=m +CONFIG_HID_LCPOWER=m +CONFIG_HID_LED=m +CONFIG_HID_LENOVO=m +CONFIG_HID_LETSKETCH=m +CONFIG_HID_LOGITECH=m +CONFIG_HID_LOGITECH_DJ=m +CONFIG_HID_LOGITECH_HIDPP=m +CONFIG_HID_MACALLY=m +CONFIG_HID_MAGICMOUSE=m +CONFIG_HID_MALTRON=m +CONFIG_HID_MAYFLASH=m +CONFIG_HID_MCP2221=m +CONFIG_HID_MEGAWORLD_FF=m +CONFIG_HID_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_MULTITOUCH=m +# CONFIG_HID_NINTENDO is not set +CONFIG_HID_NTI=m +CONFIG_HID_NTRIG=m +CONFIG_HID_ORTEK=m +CONFIG_HID_PANTHERLORD=m +CONFIG_HID_PENMOUNT=m +CONFIG_HID_PETALYNX=m +CONFIG_HID_PICOLCD=m +CONFIG_HID_PICOLCD_BACKLIGHT=y +CONFIG_HID_PICOLCD_CIR=y +CONFIG_HID_PICOLCD_FB=y +CONFIG_HID_PICOLCD_LCD=y +CONFIG_HID_PICOLCD_LEDS=y +CONFIG_HID_PID=y +CONFIG_HID_PLANTRONICS=m +CONFIG_HID_PLAYSTATION=m +CONFIG_HID_PRIMAX=m +CONFIG_HID_PRODIKEYS=m +CONFIG_HID_REDRAGON=m +CONFIG_HID_RETRODE=m +CONFIG_HID_RMI=m +CONFIG_HID_ROCCAT=m +CONFIG_HID_SAITEK=m +CONFIG_HID_SAMSUNG=m +CONFIG_HID_SEMITEK=m +CONFIG_HID_SENSOR_ACCEL_3D=m +CONFIG_HID_SENSOR_ALS=m +CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE=m +CONFIG_HID_SENSOR_CUSTOM_SENSOR=m +CONFIG_HID_SENSOR_DEVICE_ROTATION=m +CONFIG_HID_SENSOR_GYRO_3D=m +CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m +CONFIG_HID_SENSOR_IIO_COMMON=m +CONFIG_HID_SENSOR_IIO_TRIGGER=m +CONFIG_HID_SENSOR_INCLINOMETER_3D=m +CONFIG_HID_SENSOR_MAGNETOMETER_3D=m +CONFIG_HID_SENSOR_PRESS=m +CONFIG_HID_SENSOR_PROX=m +CONFIG_HID_SENSOR_TEMP=m +CONFIG_HID_SIGMAMICRO=m +CONFIG_HID_SMARTJOYPLUS=m +CONFIG_HID_SONY=m +CONFIG_HID_SPEEDLINK=m +CONFIG_HID_STEAM=m +CONFIG_HID_STEELSERIES=m +CONFIG_HID_SUNPLUS=m +CONFIG_HID_THINGM=m +CONFIG_HID_THRUSTMASTER=m +CONFIG_HID_TIVO=m +# CONFIG_HID_TOPRE is not set +CONFIG_HID_TOPSEED=m +CONFIG_HID_TWINHAN=m +CONFIG_HID_U2FZERO=m +CONFIG_HID_UCLOGIC=m +CONFIG_HID_UDRAW_PS3=m +CONFIG_HID_VIEWSONIC=m +CONFIG_HID_VIVALDI=m +CONFIG_HID_VIVALDI_COMMON=m +CONFIG_HID_WACOM=m +CONFIG_HID_WALTOP=m +CONFIG_HID_WIIMOTE=m +CONFIG_HID_XIAOMI=m +CONFIG_HID_XINMO=m +CONFIG_HID_ZEROPLUS=m +CONFIG_HID_ZYDACRON=m +CONFIG_HIGH_RES_TIMERS=y +CONFIG_HINIC=m +CONFIG_HIP04_ETH=m +# CONFIG_HIPPI is not set +CONFIG_HISILICON_ERRATUM_161010101=y +CONFIG_HISILICON_ERRATUM_161600802=y +CONFIG_HISILICON_IRQ_MBIGEN=y +CONFIG_HISILICON_LPC=y +CONFIG_HISI_ACC_VFIO_PCI=m +# CONFIG_HISI_DMA is not set +CONFIG_HISI_FEMAC=m +CONFIG_HISI_HIKEY_USB=m +CONFIG_HISI_PCIE_PMU=m +CONFIG_HISI_PMU=m +CONFIG_HISI_THERMAL=m +CONFIG_HIST_TRIGGERS=y +# CONFIG_HIST_TRIGGERS_DEBUG is not set +CONFIG_HIX5HD2_GMAC=m +CONFIG_HMC425=m +CONFIG_HMC6352=m +CONFIG_HMEM_REPORTING=y +CONFIG_HMM_MIRROR=y +CONFIG_HMS_ANYBUSS_BUS=m +CONFIG_HMS_PROFINET=m +CONFIG_HNS=m +CONFIG_HNS3=m +CONFIG_HNS3_DCB=y +CONFIG_HNS3_ENET=m +CONFIG_HNS3_HCLGE=m +CONFIG_HNS3_HCLGEVF=m +CONFIG_HNS_DSAF=m +CONFIG_HNS_ENET=m +CONFIG_HNS_MDIO=m +CONFIG_HOLTEK_FF=y +CONFIG_HOSTAP=m +CONFIG_HOSTAP_CS=m +CONFIG_HOSTAP_FIRMWARE=y +CONFIG_HOSTAP_FIRMWARE_NVRAM=y +CONFIG_HOSTAP_PCI=m +CONFIG_HOSTAP_PLX=m +CONFIG_HOTPLUG_CPU=y +CONFIG_HOTPLUG_PCI=y +CONFIG_HOTPLUG_PCI_ACPI=y +CONFIG_HOTPLUG_PCI_ACPI_IBM=m +CONFIG_HOTPLUG_PCI_CPCI=y +CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m +CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m +CONFIG_HOTPLUG_PCI_PCIE=y +CONFIG_HOTPLUG_PCI_SHPC=y +CONFIG_HOTPLUG_SMT=y +CONFIG_HP03=m +CONFIG_HP206C=m +CONFIG_HPET=y +CONFIG_HPET_EMULATE_RTC=y +CONFIG_HPET_MMAP=y +CONFIG_HPET_MMAP_DEFAULT=y +CONFIG_HPET_TIMER=y +CONFIG_HPFS_FS=m +CONFIG_HPWDT_NMI_DECODING=y +CONFIG_HP_ACCEL=m +CONFIG_HP_ILO=m +CONFIG_HP_WATCHDOG=m +CONFIG_HP_WMI=m +CONFIG_HSA_AMD=y +CONFIG_HSA_AMD_SVM=y +CONFIG_HSI=m +CONFIG_HSI_BOARDINFO=y +CONFIG_HSI_CHAR=m +CONFIG_HSR=m +CONFIG_HSU_DMA=m +CONFIG_HT16K33=m +CONFIG_HTC_I2CPLD=y +CONFIG_HTC_PASIC3=m +CONFIG_HTE=y +CONFIG_HTE_TEGRA194=m +CONFIG_HTE_TEGRA194_TEST=m +CONFIG_HTS221=m +CONFIG_HTS221_I2C=m +CONFIG_HTS221_SPI=m +CONFIG_HTU21=m +CONFIG_HUAWEI_WMI=m +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y +# CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON is not set +# CONFIG_HVC_DCC is not set +CONFIG_HVC_DRIVER=y +CONFIG_HVC_IRQ=y +CONFIG_HVC_XEN=y +CONFIG_HVC_XEN_FRONTEND=y +CONFIG_HWLAT_TRACER=y +CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set +CONFIG_HWMON_VID=m +CONFIG_HWPOISON_INJECT=m +CONFIG_HWSPINLOCK=y +CONFIG_HWSPINLOCK_OMAP=m +CONFIG_HWSPINLOCK_QCOM=m +CONFIG_HWSPINLOCK_SPRD=m +CONFIG_HWSPINLOCK_SUN6I=m +CONFIG_HW_CONSOLE=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_AMD=m +CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=m +CONFIG_HW_RANDOM_BA431=m +CONFIG_HW_RANDOM_BCM2835=m +CONFIG_HW_RANDOM_CAVIUM=m +CONFIG_HW_RANDOM_CCTRNG=m +CONFIG_HW_RANDOM_CN10K=m +CONFIG_HW_RANDOM_HISI=m +CONFIG_HW_RANDOM_INTEL=m +CONFIG_HW_RANDOM_IPROC_RNG200=m +CONFIG_HW_RANDOM_MESON=m +CONFIG_HW_RANDOM_MTK=m +CONFIG_HW_RANDOM_OMAP=m +CONFIG_HW_RANDOM_OPTEE=m +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HW_RANDOM_TPM=y +CONFIG_HW_RANDOM_VIA=m +CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_XGENE=m +CONFIG_HW_RANDOM_XIPHERA=m +CONFIG_HX711=m +CONFIG_HYPERV=m +CONFIG_HYPERVISOR_GUEST=y +CONFIG_HYPERV_BALLOON=m +CONFIG_HYPERV_IOMMU=y +CONFIG_HYPERV_KEYBOARD=m +CONFIG_HYPERV_NET=m +CONFIG_HYPERV_STORAGE=m +# CONFIG_HYPERV_TESTING is not set +CONFIG_HYPERV_TIMER=y +CONFIG_HYPERV_UTILS=m +CONFIG_HYPERV_VSOCKETS=m +CONFIG_HZ=250 +# CONFIG_HZ_100 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ_250=y +# CONFIG_HZ_300 is not set +# CONFIG_HZ_PERIODIC is not set +CONFIG_I2C=y +CONFIG_I2C_ALGOBIT=m +CONFIG_I2C_ALGOPCA=m +CONFIG_I2C_ALI1535=m +CONFIG_I2C_ALI1563=m +CONFIG_I2C_ALI15X3=m +CONFIG_I2C_ALTERA=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD756_S4882=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_APPLE=m +CONFIG_I2C_ARB_GPIO_CHALLENGE=m +CONFIG_I2C_BCM2835=m +CONFIG_I2C_BCM_IPROC=m +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_BRCMSTB=m +# CONFIG_I2C_CADENCE is not set +CONFIG_I2C_CBUS_GPIO=m +CONFIG_I2C_CCGX_UCSI=m +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_CHT_WC=m +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CP2615=m +CONFIG_I2C_CROS_EC_TUNNEL=m +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CORE is not set +CONFIG_I2C_DEMUX_PINCTRL=m +CONFIG_I2C_DESIGNWARE_AMDPSP=y +CONFIG_I2C_DESIGNWARE_BAYTRAIL=y +CONFIG_I2C_DESIGNWARE_CORE=y +CONFIG_I2C_DESIGNWARE_PCI=m +CONFIG_I2C_DESIGNWARE_PLATFORM=y +# CONFIG_I2C_DESIGNWARE_SLAVE is not set +CONFIG_I2C_DIOLAN_U2C=m +CONFIG_I2C_DLN2=m +# CONFIG_I2C_EMEV2 is not set +CONFIG_I2C_FSI=m +CONFIG_I2C_GPIO=m +# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_HID_ACPI=m +CONFIG_I2C_HID_CORE=m +CONFIG_I2C_HID_OF=m +CONFIG_I2C_HID_OF_GOODIX=m +CONFIG_I2C_HISI=m +CONFIG_I2C_HIX5HD2=m +CONFIG_I2C_I801=m +CONFIG_I2C_IMX=m +CONFIG_I2C_IMX_LPI2C=m +CONFIG_I2C_ISCH=m +CONFIG_I2C_ISMT=m +CONFIG_I2C_KEMPLD=m +CONFIG_I2C_MESON=m +CONFIG_I2C_MLXBF=m +CONFIG_I2C_MLXCPLD=m +CONFIG_I2C_MT65XX=m +CONFIG_I2C_MUX=m +CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_GPMUX=m +CONFIG_I2C_MUX_LTC4306=m +CONFIG_I2C_MUX_MLXCPLD=m +CONFIG_I2C_MUX_PCA9541=m +CONFIG_I2C_MUX_PCA954x=m +CONFIG_I2C_MUX_PINCTRL=m +CONFIG_I2C_MUX_REG=m +CONFIG_I2C_MV64XXX=m +CONFIG_I2C_NFORCE2=m +CONFIG_I2C_NFORCE2_S4985=m +CONFIG_I2C_NOMADIK=m +CONFIG_I2C_NVIDIA_GPU=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_OMAP=y +CONFIG_I2C_OWL=m +CONFIG_I2C_PARPORT=m +CONFIG_I2C_PCA_PLATFORM=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_PXA=m +CONFIG_I2C_PXA_SLAVE=y +CONFIG_I2C_QCOM_CCI=m +CONFIG_I2C_QCOM_GENI=m +CONFIG_I2C_QUP=m +CONFIG_I2C_RCAR=m +CONFIG_I2C_RIIC=m +CONFIG_I2C_RK3X=m +CONFIG_I2C_ROBOTFUZZ_OSIF=m +CONFIG_I2C_SCMI=m +CONFIG_I2C_SH_MOBILE=m +CONFIG_I2C_SI470X=m +CONFIG_I2C_SI4713=m +CONFIG_I2C_SIMTEC=m +CONFIG_I2C_SIS5595=m +CONFIG_I2C_SIS630=m +CONFIG_I2C_SIS96X=m +CONFIG_I2C_SLAVE_EEPROM=m +# CONFIG_I2C_SLAVE_TESTUNIT is not set +CONFIG_I2C_SMBUS=m +CONFIG_I2C_SPRD=y +CONFIG_I2C_STUB=m +CONFIG_I2C_SYNQUACER=m +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_TEGRA=m +CONFIG_I2C_TEGRA_BPMP=m +CONFIG_I2C_THUNDERX=m +CONFIG_I2C_TINY_USB=m +CONFIG_I2C_VERSATILE=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m +CONFIG_I2C_VIPERBOARD=m +CONFIG_I2C_VIRTIO=m +CONFIG_I2C_XGENE_SLIMPRO=m +CONFIG_I2C_XILINX=m +CONFIG_I2C_XLP9XX=m +CONFIG_I3C=m +CONFIG_I40E=m +CONFIG_I40EVF=m +CONFIG_I40E_DCB=y +CONFIG_I6300ESB_WDT=m +CONFIG_I82092=m +CONFIG_I8253_LOCK=y +# CONFIG_I8K is not set +CONFIG_IA32_EMULATION=y +CONFIG_IA32_FEAT_CTL=y +CONFIG_IAQCORE=m +CONFIG_IAVF=m +CONFIG_IB700_WDT=m +CONFIG_IBMASR=m +CONFIG_IBM_ASM=m +CONFIG_IBM_RTL=m +CONFIG_ICE=m +CONFIG_ICE_HWTS=y +CONFIG_ICE_SWITCHDEV=y +CONFIG_ICP10100=m +CONFIG_ICPLUS_PHY=m +CONFIG_ICS932S401=m +CONFIG_IDEAPAD_LAPTOP=m +CONFIG_IDLE_INJECT=y +CONFIG_IDLE_PAGE_TRACKING=y +CONFIG_IE6XX_WDT=m +CONFIG_IEEE802154=m +CONFIG_IEEE802154_6LOWPAN=m +CONFIG_IEEE802154_ADF7242=m +CONFIG_IEEE802154_AT86RF230=m +CONFIG_IEEE802154_ATUSB=m +CONFIG_IEEE802154_CA8210=m +CONFIG_IEEE802154_CA8210_DEBUGFS=y +CONFIG_IEEE802154_CC2520=m +CONFIG_IEEE802154_DRIVERS=m +CONFIG_IEEE802154_FAKELB=m +CONFIG_IEEE802154_HWSIM=m +CONFIG_IEEE802154_MCR20A=m +CONFIG_IEEE802154_MRF24J40=m +# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set +CONFIG_IEEE802154_SOCKET=m +CONFIG_IFB=m +CONFIG_IFCVF=m +CONFIG_IGB=m +CONFIG_IGBVF=m +CONFIG_IGB_DCA=y +CONFIG_IGB_HWMON=y +CONFIG_IGC=m +CONFIG_IIO=m +CONFIG_IIO_ADIS_LIB=m +CONFIG_IIO_ADIS_LIB_BUFFER=y +CONFIG_IIO_BUFFER=y +CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_DMA=m +CONFIG_IIO_BUFFER_DMAENGINE=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m +CONFIG_IIO_CONFIGFS=m +CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 +CONFIG_IIO_CROS_EC_ACCEL_LEGACY=m +CONFIG_IIO_CROS_EC_BARO=m +CONFIG_IIO_CROS_EC_LIGHT_PROX=m +CONFIG_IIO_CROS_EC_SENSORS=m +CONFIG_IIO_CROS_EC_SENSORS_CORE=m +CONFIG_IIO_CROS_EC_SENSORS_LID_ANGLE=m +CONFIG_IIO_HRTIMER_TRIGGER=m +CONFIG_IIO_INTERRUPT_TRIGGER=m +CONFIG_IIO_KFIFO_BUF=m +CONFIG_IIO_MS_SENSORS_I2C=m +CONFIG_IIO_MUX=m +CONFIG_IIO_RESCALE=m +CONFIG_IIO_SCMI=m +CONFIG_IIO_SIMPLE_DUMMY=m +# CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set +# CONFIG_IIO_SIMPLE_DUMMY_EVENTS is not set +CONFIG_IIO_SSP_SENSORHUB=m +CONFIG_IIO_SSP_SENSORS_COMMONS=m +CONFIG_IIO_ST_ACCEL_3AXIS=m +CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m +CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m +CONFIG_IIO_ST_GYRO_3AXIS=m +CONFIG_IIO_ST_GYRO_I2C_3AXIS=m +CONFIG_IIO_ST_GYRO_SPI_3AXIS=m +CONFIG_IIO_ST_LSM6DSX=m +CONFIG_IIO_ST_LSM6DSX_I2C=m +CONFIG_IIO_ST_LSM6DSX_I3C=m +CONFIG_IIO_ST_LSM6DSX_SPI=m +CONFIG_IIO_ST_LSM9DS0=m +CONFIG_IIO_ST_LSM9DS0_I2C=m +CONFIG_IIO_ST_LSM9DS0_SPI=m +CONFIG_IIO_ST_MAGN_3AXIS=m +CONFIG_IIO_ST_MAGN_I2C_3AXIS=m +CONFIG_IIO_ST_MAGN_SPI_3AXIS=m +CONFIG_IIO_ST_PRESS=m +CONFIG_IIO_ST_PRESS_I2C=m +CONFIG_IIO_ST_PRESS_SPI=m +CONFIG_IIO_ST_SENSORS_CORE=m +CONFIG_IIO_ST_SENSORS_I2C=m +CONFIG_IIO_ST_SENSORS_SPI=m +CONFIG_IIO_SW_DEVICE=m +CONFIG_IIO_SW_TRIGGER=m +CONFIG_IIO_SYSFS_TRIGGER=m +CONFIG_IIO_TIGHTLOOP_TRIGGER=m +CONFIG_IIO_TRIGGER=y +CONFIG_IIO_TRIGGERED_BUFFER=m +CONFIG_IIO_TRIGGERED_EVENT=m +# CONFIG_IKCONFIG is not set +CONFIG_IKHEADERS=m +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_IMA=y +CONFIG_IMA_APPRAISE=y +CONFIG_IMA_APPRAISE_BOOTPARAM=y +# CONFIG_IMA_APPRAISE_BUILD_POLICY is not set +CONFIG_IMA_APPRAISE_MODSIG=y +CONFIG_IMA_ARCH_POLICY=y +# CONFIG_IMA_BLACKLIST_KEYRING is not set +CONFIG_IMA_DEFAULT_HASH="sha1" +CONFIG_IMA_DEFAULT_HASH_SHA1=y +# CONFIG_IMA_DEFAULT_HASH_SHA256 is not set +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set +CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng" +# CONFIG_IMA_DISABLE_HTABLE is not set +CONFIG_IMA_KEXEC=y +# CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY is not set +# CONFIG_IMA_LOAD_X509 is not set +CONFIG_IMA_LSM_RULES=y +CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS=y +CONFIG_IMA_MEASURE_PCR_IDX=10 +CONFIG_IMA_NG_TEMPLATE=y +CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS=y +# CONFIG_IMA_READ_POLICY is not set +CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT=y +# CONFIG_IMA_SIG_TEMPLATE is not set +CONFIG_IMA_TRUSTED_KEYRING=y +# CONFIG_IMA_WRITE_POLICY is not set +CONFIG_IMG_ASCII_LCD=m +CONFIG_IMX2_WDT=m +CONFIG_IMX7D_ADC=m +CONFIG_IMX7ULP_WDT=m +CONFIG_IMX8MM_THERMAL=m +CONFIG_IMX8QXP_ADC=m +CONFIG_IMX_DMA=m +CONFIG_IMX_DSP=m +CONFIG_IMX_DSP_REMOTEPROC=m +CONFIG_IMX_GPCV2=y +CONFIG_IMX_GPCV2_PM_DOMAINS=y +CONFIG_IMX_INTMUX=y +CONFIG_IMX_IRQSTEER=y +CONFIG_IMX_MBOX=m +CONFIG_IMX_REMOTEPROC=m +CONFIG_IMX_SCU=y +CONFIG_IMX_SCU_PD=y +CONFIG_IMX_SC_THERMAL=m +CONFIG_IMX_SC_WDT=m +CONFIG_IMX_SDMA=m +CONFIG_IMX_THERMAL=m +CONFIG_IMX_WEIM=y +CONFIG_INA2XX_ADC=m +CONFIG_INDIRECT_PIO=y +CONFIG_INET=y +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_ESPINTCP=y +CONFIG_INET6_ESP_OFFLOAD=m +CONFIG_INET6_IPCOMP=m +CONFIG_INET6_TUNNEL=m +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET_AH=m +CONFIG_INET_DCCP_DIAG=m +CONFIG_INET_DIAG=m +CONFIG_INET_DIAG_DESTROY=y +CONFIG_INET_ESP=m +CONFIG_INET_ESPINTCP=y +CONFIG_INET_ESP_OFFLOAD=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_MPTCP_DIAG=m +CONFIG_INET_RAW_DIAG=m +CONFIG_INET_SCTP_DIAG=m +CONFIG_INET_TABLE_PERTURB_ORDER=16 +CONFIG_INET_TCP_DIAG=m +CONFIG_INET_TUNNEL=m +CONFIG_INET_UDP_DIAG=m +CONFIG_INET_XFRM_TUNNEL=m +CONFIG_INFINIBAND=m +CONFIG_INFINIBAND_ADDR_TRANS=y +CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y +CONFIG_INFINIBAND_BNXT_RE=m +CONFIG_INFINIBAND_CXGB4=m +CONFIG_INFINIBAND_EFA=m +CONFIG_INFINIBAND_HFI1=m +CONFIG_INFINIBAND_HNS=m +CONFIG_INFINIBAND_HNS_HIP08=y +CONFIG_INFINIBAND_IPOIB=m +CONFIG_INFINIBAND_IPOIB_CM=y +# CONFIG_INFINIBAND_IPOIB_DEBUG is not set +CONFIG_INFINIBAND_IRDMA=m +CONFIG_INFINIBAND_ISER=m +CONFIG_INFINIBAND_ISERT=m +CONFIG_INFINIBAND_MTHCA=m +# CONFIG_INFINIBAND_MTHCA_DEBUG is not set +CONFIG_INFINIBAND_OCRDMA=m +CONFIG_INFINIBAND_ON_DEMAND_PAGING=y +CONFIG_INFINIBAND_OPA_VNIC=m +CONFIG_INFINIBAND_QEDR=m +CONFIG_INFINIBAND_QIB=m +CONFIG_INFINIBAND_QIB_DCA=y +CONFIG_INFINIBAND_RDMAVT=m +CONFIG_INFINIBAND_RTRS=m +CONFIG_INFINIBAND_RTRS_CLIENT=m +CONFIG_INFINIBAND_RTRS_SERVER=m +CONFIG_INFINIBAND_SRP=m +CONFIG_INFINIBAND_SRPT=m +CONFIG_INFINIBAND_USER_ACCESS=m +CONFIG_INFINIBAND_USER_MAD=m +CONFIG_INFINIBAND_USER_MEM=y +CONFIG_INFINIBAND_USNIC=m +CONFIG_INFINIBAND_VIRT_DMA=y +CONFIG_INFINIBAND_VMWARE_PVRDMA=m +CONFIG_INFTL=m +CONFIG_INITRAMFS_PRESERVE_MTIME=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y +# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# CONFIG_INIT_STACK_ALL_PATTERN is not set +CONFIG_INIT_STACK_ALL_ZERO=y +# CONFIG_INIT_STACK_NONE is not set +CONFIG_INLINE_READ_LOCK=y +CONFIG_INLINE_READ_LOCK_BH=y +CONFIG_INLINE_READ_LOCK_IRQ=y +CONFIG_INLINE_READ_LOCK_IRQSAVE=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_BH=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK_IRQRESTORE=y +CONFIG_INLINE_SPIN_LOCK=y +CONFIG_INLINE_SPIN_LOCK_BH=y +CONFIG_INLINE_SPIN_LOCK_IRQ=y +CONFIG_INLINE_SPIN_LOCK_IRQSAVE=y +CONFIG_INLINE_SPIN_TRYLOCK=y +CONFIG_INLINE_SPIN_TRYLOCK_BH=y +CONFIG_INLINE_SPIN_UNLOCK_BH=y +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE=y +CONFIG_INLINE_WRITE_LOCK=y +CONFIG_INLINE_WRITE_LOCK_BH=y +CONFIG_INLINE_WRITE_LOCK_IRQ=y +CONFIG_INLINE_WRITE_LOCK_IRQSAVE=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_BH=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE=y +CONFIG_INOTIFY_USER=y +CONFIG_INPUT=y +CONFIG_INPUT_88PM80X_ONKEY=m +CONFIG_INPUT_88PM860X_ONKEY=m +CONFIG_INPUT_AD714X=m +CONFIG_INPUT_AD714X_I2C=m +CONFIG_INPUT_AD714X_SPI=m +CONFIG_INPUT_ADXL34X=m +CONFIG_INPUT_ADXL34X_I2C=m +CONFIG_INPUT_ADXL34X_SPI=m +CONFIG_INPUT_APANEL=m +CONFIG_INPUT_ARIZONA_HAPTICS=m +CONFIG_INPUT_ATC260X_ONKEY=m +CONFIG_INPUT_ATI_REMOTE2=m +CONFIG_INPUT_ATLAS_BTNS=m +CONFIG_INPUT_ATMEL_CAPTOUCH=m +CONFIG_INPUT_AXP20X_PEK=m +CONFIG_INPUT_BMA150=m +CONFIG_INPUT_CM109=m +CONFIG_INPUT_CMA3000=m +CONFIG_INPUT_CMA3000_I2C=m +CONFIG_INPUT_CPCAP_PWRBUTTON=m +CONFIG_INPUT_DA7280_HAPTICS=m +CONFIG_INPUT_DA9052_ONKEY=m +CONFIG_INPUT_DA9055_ONKEY=m +CONFIG_INPUT_DA9063_ONKEY=m +CONFIG_INPUT_DRV260X_HAPTICS=m +CONFIG_INPUT_DRV2665_HAPTICS=m +CONFIG_INPUT_DRV2667_HAPTICS=m +CONFIG_INPUT_E3X0_BUTTON=m +CONFIG_INPUT_EVBUG=m +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_FF_MEMLESS=m +CONFIG_INPUT_GPIO_BEEPER=m +CONFIG_INPUT_GPIO_DECODER=m +CONFIG_INPUT_GPIO_ROTARY_ENCODER=m +CONFIG_INPUT_GPIO_VIBRA=m +CONFIG_INPUT_HISI_POWERKEY=m +CONFIG_INPUT_IDEAPAD_SLIDEBAR=m +CONFIG_INPUT_IMS_PCU=m +CONFIG_INPUT_IQS269A=m +CONFIG_INPUT_IQS626A=m +CONFIG_INPUT_IQS7222=m +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_INPUT_KEYBOARD=y +CONFIG_INPUT_KEYSPAN_REMOTE=m +CONFIG_INPUT_KXTJ9=m +CONFIG_INPUT_LEDS=m +CONFIG_INPUT_MATRIXKMAP=m +CONFIG_INPUT_MAX77650_ONKEY=m +CONFIG_INPUT_MAX77693_HAPTIC=m +CONFIG_INPUT_MAX8925_ONKEY=m +CONFIG_INPUT_MAX8997_HAPTIC=m +CONFIG_INPUT_MC13783_PWRBUTTON=m +CONFIG_INPUT_MISC=y +CONFIG_INPUT_MMA8450=m +CONFIG_INPUT_MOUSE=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_PALMAS_PWRBUTTON=m +CONFIG_INPUT_PCAP=m +CONFIG_INPUT_PCF50633_PMU=m +CONFIG_INPUT_PCF8574=m +CONFIG_INPUT_PCSPKR=m +CONFIG_INPUT_PM8941_PWRKEY=m +CONFIG_INPUT_PM8XXX_VIBRATOR=m +CONFIG_INPUT_POWERMATE=m +CONFIG_INPUT_PWM_BEEPER=m +CONFIG_INPUT_PWM_VIBRA=m +CONFIG_INPUT_RAVE_SP_PWRBUTTON=m +CONFIG_INPUT_REGULATOR_HAPTIC=m +CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m +CONFIG_INPUT_SC27XX_VIBRA=m +CONFIG_INPUT_SOC_BUTTON_ARRAY=m +CONFIG_INPUT_SPARSEKMAP=m +CONFIG_INPUT_STPMIC1_ONKEY=m +CONFIG_INPUT_TABLET=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_INPUT_TPS65218_PWRBUTTON=m +CONFIG_INPUT_TWL4030_PWRBUTTON=m +CONFIG_INPUT_TWL4030_VIBRA=m +CONFIG_INPUT_TWL6040_VIBRA=m +CONFIG_INPUT_UINPUT=y +CONFIG_INPUT_VIVALDIFMAP=y +CONFIG_INPUT_WM831X_ON=m +CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m +CONFIG_INPUT_YEALINK=m +CONFIG_INSTRUCTION_DECODER=y +CONFIG_INT3406_THERMAL=m +CONFIG_INT340X_THERMAL=m +CONFIG_INTEGRITY=y +CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y +CONFIG_INTEGRITY_AUDIT=y +CONFIG_INTEGRITY_MACHINE_KEYRING=y +CONFIG_INTEGRITY_PLATFORM_KEYRING=y +CONFIG_INTEGRITY_SIGNATURE=y +CONFIG_INTEGRITY_TRUSTED_KEYRING=y +CONFIG_INTEL_ATOMISP=y +CONFIG_INTEL_ATOMISP2_LED=m +CONFIG_INTEL_ATOMISP2_PDX86=y +CONFIG_INTEL_BXTWC_PMIC_TMU=m +CONFIG_INTEL_BXT_PMIC_THERMAL=m +CONFIG_INTEL_CHTDC_TI_PWRBTN=m +CONFIG_INTEL_CHTWC_INT33FE=m +CONFIG_INTEL_GTT=y +CONFIG_INTEL_HFI_THERMAL=y +CONFIG_INTEL_HID_EVENT=m +CONFIG_INTEL_IDLE=y +CONFIG_INTEL_IDMA64=m +CONFIG_INTEL_IDXD=m +CONFIG_INTEL_IDXD_BUS=m +# CONFIG_INTEL_IDXD_COMPAT is not set +CONFIG_INTEL_IDXD_PERFMON=y +CONFIG_INTEL_IDXD_SVM=y +CONFIG_INTEL_INT0002_VGPIO=m +CONFIG_INTEL_IOATDMA=m +CONFIG_INTEL_IOMMU=y +# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set +CONFIG_INTEL_IOMMU_FLOPPY_WA=y +# CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set +CONFIG_INTEL_IOMMU_SVM=y +CONFIG_INTEL_IPS=m +CONFIG_INTEL_ISHTP_ECLITE=m +CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER=m +CONFIG_INTEL_ISH_HID=m +CONFIG_INTEL_LDMA=y +CONFIG_INTEL_MEI=m +CONFIG_INTEL_MEI_GSC=m +CONFIG_INTEL_MEI_HDCP=m +CONFIG_INTEL_MEI_ME=m +CONFIG_INTEL_MEI_PXP=m +CONFIG_INTEL_MEI_TXE=m +CONFIG_INTEL_MEI_WDT=m +CONFIG_INTEL_MENLOW=m +CONFIG_INTEL_MRFLD_ADC=m +CONFIG_INTEL_MRFLD_PWRBTN=m +CONFIG_INTEL_OAKTRAIL=m +CONFIG_INTEL_PCH_THERMAL=m +CONFIG_INTEL_PMC_CORE=y +CONFIG_INTEL_PMT_CLASS=m +CONFIG_INTEL_PMT_CRASHLOG=m +CONFIG_INTEL_PMT_TELEMETRY=m +CONFIG_INTEL_POWERCLAMP=m +CONFIG_INTEL_PUNIT_IPC=m +CONFIG_INTEL_QEP=m +CONFIG_INTEL_RAPL=m +CONFIG_INTEL_RAPL_CORE=m +CONFIG_INTEL_RST=m +CONFIG_INTEL_SAR_INT1092=m +CONFIG_INTEL_SCU=y +CONFIG_INTEL_SCU_IPC=y +CONFIG_INTEL_SCU_IPC_UTIL=m +CONFIG_INTEL_SCU_PCI=y +CONFIG_INTEL_SCU_PLATFORM=m +CONFIG_INTEL_SDSI=m +CONFIG_INTEL_SKL_INT3472=m +CONFIG_INTEL_SMARTCONNECT=m +CONFIG_INTEL_SOC_DTS_IOSF_CORE=m +CONFIG_INTEL_SOC_DTS_THERMAL=m +CONFIG_INTEL_SOC_PMIC=y +CONFIG_INTEL_SOC_PMIC_BXTWC=m +CONFIG_INTEL_SOC_PMIC_CHTDC_TI=m +CONFIG_INTEL_SOC_PMIC_CHTWC=y +CONFIG_INTEL_SOC_PMIC_MRFLD=m +CONFIG_INTEL_SPEED_SELECT_INTERFACE=m +CONFIG_INTEL_STRATIX10_RSU=m +CONFIG_INTEL_STRATIX10_SERVICE=m +CONFIG_INTEL_TCC_COOLING=m +CONFIG_INTEL_TDX_GUEST=y +CONFIG_INTEL_TELEMETRY=m +CONFIG_INTEL_TH=m +CONFIG_INTEL_TH_ACPI=m +# CONFIG_INTEL_TH_DEBUG is not set +CONFIG_INTEL_TH_GTH=m +CONFIG_INTEL_TH_MSU=m +CONFIG_INTEL_TH_PCI=m +CONFIG_INTEL_TH_PTI=m +CONFIG_INTEL_TH_STH=m +CONFIG_INTEL_TURBO_MAX_3=y +CONFIG_INTEL_TXT=y +CONFIG_INTEL_UNCORE_FREQ_CONTROL=m +CONFIG_INTEL_VBTN=m +CONFIG_INTEL_VSEC=m +CONFIG_INTEL_WMI=y +CONFIG_INTEL_WMI_SBL_FW_UPDATE=m +CONFIG_INTEL_WMI_THUNDERBOLT=m +CONFIG_INTEL_XWAY_PHY=m +CONFIG_INTERCONNECT=y +CONFIG_INTERCONNECT_IMX=m +CONFIG_INTERCONNECT_IMX8MM=m +CONFIG_INTERCONNECT_IMX8MN=m +CONFIG_INTERCONNECT_IMX8MQ=m +CONFIG_INTERCONNECT_QCOM=y +CONFIG_INTERCONNECT_QCOM_BCM_VOTER=m +CONFIG_INTERCONNECT_QCOM_MSM8916=m +CONFIG_INTERCONNECT_QCOM_MSM8939=m +CONFIG_INTERCONNECT_QCOM_MSM8974=m +CONFIG_INTERCONNECT_QCOM_MSM8996=m +CONFIG_INTERCONNECT_QCOM_OSM_L3=m +CONFIG_INTERCONNECT_QCOM_QCM2290=m +CONFIG_INTERCONNECT_QCOM_QCS404=m +CONFIG_INTERCONNECT_QCOM_RPMH=m +CONFIG_INTERCONNECT_QCOM_RPMH_POSSIBLE=y +CONFIG_INTERCONNECT_QCOM_SC7180=m +CONFIG_INTERCONNECT_QCOM_SC7280=m +CONFIG_INTERCONNECT_QCOM_SC8180X=m +CONFIG_INTERCONNECT_QCOM_SC8280XP=m +CONFIG_INTERCONNECT_QCOM_SDM660=m +CONFIG_INTERCONNECT_QCOM_SDM845=m +CONFIG_INTERCONNECT_QCOM_SDX55=m +CONFIG_INTERCONNECT_QCOM_SDX65=m +CONFIG_INTERCONNECT_QCOM_SM8150=m +CONFIG_INTERCONNECT_QCOM_SM8250=m +CONFIG_INTERCONNECT_QCOM_SM8350=m +CONFIG_INTERCONNECT_QCOM_SM8450=m +CONFIG_INTERCONNECT_QCOM_SMD_RPM=m +CONFIG_INTERRUPT_CNT=m +CONFIG_INTERVAL_TREE=y +# CONFIG_INTERVAL_TREE_TEST is not set +CONFIG_INV_ICM42600=m +CONFIG_INV_ICM42600_I2C=m +CONFIG_INV_ICM42600_SPI=m +CONFIG_INV_MPU6050_I2C=m +CONFIG_INV_MPU6050_IIO=m +CONFIG_INV_MPU6050_SPI=m +CONFIG_IOASID=y +CONFIG_IOMMU_API=y +# CONFIG_IOMMU_DEBUG is not set +# CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set +CONFIG_IOMMU_DMA=y +CONFIG_IOMMU_HELPER=y +CONFIG_IOMMU_IOVA=y +CONFIG_IOMMU_IO_PGTABLE=y +# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set +CONFIG_IOMMU_IO_PGTABLE_LPAE=y +# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set +CONFIG_IOMMU_SUPPORT=y +CONFIG_IOMMU_SVA=y +CONFIG_IONIC=m +CONFIG_IOSCHED_BFQ=m +CONFIG_IOSF_MBI=y +CONFIG_IOSF_MBI_DEBUG=y +CONFIG_IOSM=m +# CONFIG_IO_DELAY_0X80 is not set +CONFIG_IO_DELAY_0XED=y +# CONFIG_IO_DELAY_NONE is not set +# CONFIG_IO_DELAY_UDELAY is not set +# CONFIG_IO_STRICT_DEVMEM is not set +CONFIG_IO_URING=y +CONFIG_IO_WQ=y +CONFIG_IP5XXX_POWER=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_RPFILTER=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m +CONFIG_IP6_NF_NAT=m +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_SECURITY=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_TARGET_MASQUERADE=m +CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m +CONFIG_IPACK_BUS=m +CONFIG_IPC_NS=y +# CONFIG_IPDDP is not set +CONFIG_IPMB_DEVICE_INTERFACE=m +CONFIG_IPMI_DEVICE_INTERFACE=m +CONFIG_IPMI_DMI_DECODE=y +CONFIG_IPMI_HANDLER=m +CONFIG_IPMI_IPMB=m +# CONFIG_IPMI_PANIC_EVENT is not set +CONFIG_IPMI_PLAT_DATA=y +CONFIG_IPMI_POWEROFF=m +CONFIG_IPMI_SI=m +CONFIG_IPMI_SSIF=m +CONFIG_IPMI_WATCHDOG=m +# CONFIG_IPMMU_VMSA is not set +CONFIG_IPQ_APSS_6018=m +CONFIG_IPQ_APSS_PLL=m +CONFIG_IPQ_GCC_4019=m +CONFIG_IPQ_GCC_6018=m +CONFIG_IPQ_GCC_806X=m +CONFIG_IPQ_GCC_8074=m +CONFIG_IPQ_LCC_806X=m +CONFIG_IPV6=y +CONFIG_IPV6_FOU=m +CONFIG_IPV6_FOU_TUNNEL=m +CONFIG_IPV6_GRE=m +CONFIG_IPV6_ILA=m +CONFIG_IPV6_IOAM6_LWTUNNEL=y +CONFIG_IPV6_MIP6=m +CONFIG_IPV6_MROUTE=y +CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +CONFIG_IPV6_PIMSM_V2=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +# CONFIG_IPV6_RPL_LWTUNNEL is not set +CONFIG_IPV6_SEG6_BPF=y +CONFIG_IPV6_SEG6_HMAC=y +CONFIG_IPV6_SEG6_LWTUNNEL=y +CONFIG_IPV6_SIT=m +CONFIG_IPV6_SIT_6RD=y +CONFIG_IPV6_SUBTREES=y +CONFIG_IPV6_TUNNEL=m +CONFIG_IPV6_VTI=m +CONFIG_IPVLAN=m +CONFIG_IPVLAN_L3S=y +CONFIG_IPVTAP=m +CONFIG_IPW2100=m +# CONFIG_IPW2100_DEBUG is not set +CONFIG_IPW2100_MONITOR=y +CONFIG_IPW2200=m +# CONFIG_IPW2200_DEBUG is not set +CONFIG_IPW2200_MONITOR=y +CONFIG_IPW2200_PROMISCUOUS=y +CONFIG_IPW2200_QOS=y +CONFIG_IPW2200_RADIOTAP=y +CONFIG_IPWIRELESS=m +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP_CCID2_DEBUG is not set +# CONFIG_IP_DCCP_CCID3 is not set +# CONFIG_IP_DCCP_DEBUG is not set +CONFIG_IP_FIB_TRIE_STATS=y +CONFIG_IP_MROUTE=y +CONFIG_IP_MROUTE_COMMON=y +CONFIG_IP_MROUTE_MULTIPLE_TABLES=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARP_MANGLE=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_RPFILTER=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_NAT=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_SECURITY=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +# CONFIG_IP_PNP is not set +CONFIG_IP_ROUTE_CLASSID=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_SCTP=m +CONFIG_IP_SET=m +CONFIG_IP_SET_BITMAP_IP=m +CONFIG_IP_SET_BITMAP_IPMAC=m +CONFIG_IP_SET_BITMAP_PORT=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMAC=m +CONFIG_IP_SET_HASH_IPMARK=m +CONFIG_IP_SET_HASH_IPPORT=m +CONFIG_IP_SET_HASH_IPPORTIP=m +CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_MAC=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETIFACE=m +CONFIG_IP_SET_HASH_NETNET=m +CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_HASH_NETPORTNET=m +CONFIG_IP_SET_LIST_SET=m +CONFIG_IP_SET_MAX=256 +CONFIG_IP_VS=m +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_DH=m +CONFIG_IP_VS_FO=m +CONFIG_IP_VS_FTP=m +CONFIG_IP_VS_IPV6=y +CONFIG_IP_VS_LBLC=m +CONFIG_IP_VS_LBLCR=m +CONFIG_IP_VS_LC=m +CONFIG_IP_VS_MH=m +CONFIG_IP_VS_MH_TAB_INDEX=12 +CONFIG_IP_VS_NFCT=y +CONFIG_IP_VS_NQ=m +CONFIG_IP_VS_OVF=m +CONFIG_IP_VS_PE_SIP=m +CONFIG_IP_VS_PROTO_AH=y +CONFIG_IP_VS_PROTO_AH_ESP=y +CONFIG_IP_VS_PROTO_ESP=y +CONFIG_IP_VS_PROTO_SCTP=y +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +CONFIG_IP_VS_RR=m +CONFIG_IP_VS_SED=m +CONFIG_IP_VS_SH=m +CONFIG_IP_VS_SH_TAB_BITS=8 +CONFIG_IP_VS_TAB_BITS=12 +CONFIG_IP_VS_TWOS=m +CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_WRR=m +CONFIG_IQS620AT_TEMP=m +CONFIG_IQS621_ALS=m +CONFIG_IQS624_POS=m +CONFIG_IRQCHIP=y +# CONFIG_IRQSOFF_TRACER is not set +CONFIG_IRQ_BYPASS_MANAGER=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_IRQ_FASTEOI_HIERARCHY_HANDLERS=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_MSI_IOMMU=y +CONFIG_IRQ_POLL=y +CONFIG_IRQ_REMAP=y +CONFIG_IRQ_SIM=y +# CONFIG_IRQ_TIME_ACCOUNTING is not set +CONFIG_IRQ_WORK=y +CONFIG_IR_ENE=m +CONFIG_IR_FINTEK=m +CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m +CONFIG_IR_HIX5HD2=m +CONFIG_IR_IGORPLUGUSB=m +CONFIG_IR_IGUANA=m +CONFIG_IR_IMON=m +CONFIG_IR_IMON_DECODER=m +CONFIG_IR_IMON_RAW=m +CONFIG_IR_ITE_CIR=m +CONFIG_IR_JVC_DECODER=m +CONFIG_IR_MCEUSB=m +CONFIG_IR_MCE_KBD_DECODER=m +CONFIG_IR_MESON=m +CONFIG_IR_MESON_TX=m +CONFIG_IR_MTK=m +CONFIG_IR_NEC_DECODER=m +CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m +CONFIG_IR_RC5_DECODER=m +CONFIG_IR_RC6_DECODER=m +CONFIG_IR_RCMM_DECODER=m +CONFIG_IR_REDRAT3=m +CONFIG_IR_SANYO_DECODER=m +CONFIG_IR_SERIAL=m +CONFIG_IR_SERIAL_TRANSMITTER=y +CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SONY_DECODER=m +CONFIG_IR_SPI=m +CONFIG_IR_STREAMZAP=m +CONFIG_IR_SUNXI=m +CONFIG_IR_TOY=m +CONFIG_IR_TTUSBIR=m +CONFIG_IR_WINBOND_CIR=m +CONFIG_IR_XMP_DECODER=m +CONFIG_ISA_BUS=y +CONFIG_ISA_BUS_API=y +CONFIG_ISA_DMA_API=y +CONFIG_ISCSI_BOOT_SYSFS=m +CONFIG_ISCSI_IBFT=m +CONFIG_ISCSI_IBFT_FIND=y +CONFIG_ISCSI_TARGET=m +CONFIG_ISCSI_TARGET_CXGB4=m +CONFIG_ISCSI_TCP=m +CONFIG_ISDN=y +CONFIG_ISDN_CAPI=y +CONFIG_ISDN_CAPI_MIDDLEWARE=y +CONFIG_ISL29003=m +CONFIG_ISL29020=m +CONFIG_ISL29125=m +CONFIG_ISL29501=m +CONFIG_ISO9660_FS=m +CONFIG_IT8712F_WDT=m +CONFIG_IT87_WDT=m +CONFIG_ITCO_VENDOR_SUPPORT=y +CONFIG_ITCO_WDT=m +CONFIG_ITG3200=m +CONFIG_IWL3945=m +CONFIG_IWL4965=m +CONFIG_IWLDVM=m +CONFIG_IWLEGACY=m +# CONFIG_IWLEGACY_DEBUG is not set +CONFIG_IWLEGACY_DEBUGFS=y +CONFIG_IWLMVM=m +CONFIG_IWLWIFI=m +# CONFIG_IWLWIFI_DEBUG is not set +CONFIG_IWLWIFI_DEBUGFS=y +CONFIG_IWLWIFI_DEVICE_TRACING=y +CONFIG_IWLWIFI_LEDS=y +CONFIG_IWLWIFI_OPMODE_MODULAR=y +CONFIG_IXGB=m +CONFIG_IXGBE=m +CONFIG_IXGBEVF=m +CONFIG_IXGBEVF_IPSEC=y +CONFIG_IXGBE_DCA=y +CONFIG_IXGBE_DCB=y +CONFIG_IXGBE_HWMON=y +CONFIG_IXGBE_IPSEC=y +CONFIG_JAILHOUSE_GUEST=y +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_JFFS2_CMODE_FAVOURLZO=y +# CONFIG_JFFS2_CMODE_NONE is not set +# CONFIG_JFFS2_CMODE_PRIORITY is not set +# CONFIG_JFFS2_CMODE_SIZE is not set +CONFIG_JFFS2_COMPRESSION_OPTIONS=y +CONFIG_JFFS2_FS=m +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_POSIX_ACL=y +CONFIG_JFFS2_FS_SECURITY=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +CONFIG_JFFS2_FS_WRITEBUFFER=y +CONFIG_JFFS2_FS_XATTR=y +CONFIG_JFFS2_LZO=y +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +# CONFIG_JFFS2_SUMMARY is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFS_DEBUG is not set +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_STATISTICS=y +CONFIG_JME=m +CONFIG_JOLIET=y +CONFIG_JOYSTICK_A3D=m +CONFIG_JOYSTICK_ADC=m +CONFIG_JOYSTICK_ADI=m +CONFIG_JOYSTICK_ANALOG=m +CONFIG_JOYSTICK_AS5011=m +CONFIG_JOYSTICK_COBRA=m +CONFIG_JOYSTICK_DB9=m +CONFIG_JOYSTICK_FSIA6B=m +CONFIG_JOYSTICK_GAMECON=m +CONFIG_JOYSTICK_GF2K=m +CONFIG_JOYSTICK_GRIP=m +CONFIG_JOYSTICK_GRIP_MP=m +CONFIG_JOYSTICK_GUILLEMOT=m +CONFIG_JOYSTICK_IFORCE=m +CONFIG_JOYSTICK_IFORCE_232=m +CONFIG_JOYSTICK_IFORCE_USB=m +CONFIG_JOYSTICK_INTERACT=m +CONFIG_JOYSTICK_JOYDUMP=m +CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PXRC=m +CONFIG_JOYSTICK_QWIIC=m +CONFIG_JOYSTICK_SENSEHAT=m +CONFIG_JOYSTICK_SIDEWINDER=m +CONFIG_JOYSTICK_SPACEBALL=m +CONFIG_JOYSTICK_SPACEORB=m +CONFIG_JOYSTICK_STINGER=m +CONFIG_JOYSTICK_TMDC=m +CONFIG_JOYSTICK_TURBOGRAFX=m +CONFIG_JOYSTICK_TWIDJOY=m +CONFIG_JOYSTICK_WALKERA0701=m +CONFIG_JOYSTICK_WARRIOR=m +CONFIG_JOYSTICK_XPAD=m +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +CONFIG_JOYSTICK_ZHENHUA=m +CONFIG_JSA1212=m +CONFIG_JUMP_LABEL=y +CONFIG_K3_DMA=m +CONFIG_K3_RTI_WATCHDOG=m +CONFIG_K3_THERMAL=m +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y +CONFIG_KALLSYMS_ALL=y +CONFIG_KALLSYMS_BASE_RELATIVE=y +CONFIG_KARMA_PARTITION=y +# CONFIG_KASAN is not set +CONFIG_KCMP=y +# CONFIG_KCOV is not set +# CONFIG_KCSAN is not set +CONFIG_KDB_CONTINUE_CATASTROPHIC=0 +CONFIG_KDB_DEFAULT_ENABLE=0x1 +CONFIG_KDB_KEYBOARD=y +CONFIG_KEEMBAY_WATCHDOG=m +CONFIG_KEMPLD_WDT=m +# CONFIG_KERNEL_BZIP2 is not set +# CONFIG_KERNEL_GZIP is not set +# CONFIG_KERNEL_LZ4 is not set +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set +CONFIG_KERNEL_MODE_NEON=y +# CONFIG_KERNEL_XZ is not set +CONFIG_KERNEL_ZSTD=y +CONFIG_KERNFS=y +CONFIG_KEXEC=y +CONFIG_KEXEC_BZIMAGE_VERIFY_SIG=y +CONFIG_KEXEC_CORE=y +CONFIG_KEXEC_FILE=y +# CONFIG_KEXEC_IMAGE_VERIFY_SIG is not set +CONFIG_KEXEC_JUMP=y +CONFIG_KEXEC_SIG=y +# CONFIG_KEXEC_SIG_FORCE is not set +CONFIG_KEYBOARD_ADC=m +CONFIG_KEYBOARD_ADP5520=m +CONFIG_KEYBOARD_ADP5588=m +CONFIG_KEYBOARD_ADP5589=m +CONFIG_KEYBOARD_APPLESPI=m +CONFIG_KEYBOARD_ATKBD=y +CONFIG_KEYBOARD_BCM=m +CONFIG_KEYBOARD_CAP11XX=m +CONFIG_KEYBOARD_CROS_EC=m +CONFIG_KEYBOARD_CYPRESS_SF=m +CONFIG_KEYBOARD_DLINK_DIR685=m +CONFIG_KEYBOARD_GPIO=m +CONFIG_KEYBOARD_GPIO_POLLED=m +CONFIG_KEYBOARD_IMX=m +CONFIG_KEYBOARD_IMX_SC_KEY=m +CONFIG_KEYBOARD_IQS62X=m +CONFIG_KEYBOARD_LKKBD=m +CONFIG_KEYBOARD_LM8323=m +CONFIG_KEYBOARD_LM8333=m +CONFIG_KEYBOARD_MATRIX=m +CONFIG_KEYBOARD_MAX7359=m +CONFIG_KEYBOARD_MCS=m +CONFIG_KEYBOARD_MPR121=m +CONFIG_KEYBOARD_MT6779=m +CONFIG_KEYBOARD_MTK_PMIC=m +CONFIG_KEYBOARD_NEWTON=m +CONFIG_KEYBOARD_NVEC=m +CONFIG_KEYBOARD_OMAP4=m +CONFIG_KEYBOARD_OPENCORES=m +CONFIG_KEYBOARD_QT1050=m +CONFIG_KEYBOARD_QT1070=m +CONFIG_KEYBOARD_QT2160=m +CONFIG_KEYBOARD_SAMSUNG=m +CONFIG_KEYBOARD_SNVS_PWRKEY=m +CONFIG_KEYBOARD_STMPE=m +CONFIG_KEYBOARD_STOWAWAY=m +# CONFIG_KEYBOARD_SUN4I_LRADC is not set +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_TC3589X=m +CONFIG_KEYBOARD_TCA6416=m +CONFIG_KEYBOARD_TCA8418=m +CONFIG_KEYBOARD_TEGRA=m +CONFIG_KEYBOARD_TM2_TOUCHKEY=m +CONFIG_KEYBOARD_TWL4030=m +CONFIG_KEYBOARD_XTKBD=m +CONFIG_KEYS=y +CONFIG_KEYS_REQUEST_CACHE=y +CONFIG_KEY_DH_OPERATIONS=y +CONFIG_KEY_NOTIFICATIONS=y +CONFIG_KFENCE=y +# CONFIG_KFENCE_DEFERRABLE is not set +CONFIG_KFENCE_NUM_OBJECTS=255 +CONFIG_KFENCE_SAMPLE_INTERVAL=0 +# CONFIG_KFENCE_STATIC_KEYS is not set +CONFIG_KFENCE_STRESS_TEST_FAULTS=0 +CONFIG_KGDB=y +CONFIG_KGDB_HONOUR_BLOCKLIST=y +CONFIG_KGDB_KDB=y +CONFIG_KGDB_LOW_LEVEL_TRAP=y +CONFIG_KGDB_SERIAL_CONSOLE=y +# CONFIG_KGDB_TESTS is not set +CONFIG_KHADAS_MCU_FAN_THERMAL=m +CONFIG_KMX61=m +CONFIG_KPROBES=y +CONFIG_KPROBES_ON_FTRACE=y +CONFIG_KPROBE_EVENTS=y +# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set +# CONFIG_KPROBE_EVENT_GEN_TEST is not set +CONFIG_KPSS_XCC=m +CONFIG_KRETPROBES=y +CONFIG_KRETPROBE_ON_RETHOOK=y +CONFIG_KS0108=m +CONFIG_KS0108_DELAY=2 +CONFIG_KS0108_PORT=0x378 +CONFIG_KS7010=m +CONFIG_KS8842=m +CONFIG_KS8851=m +CONFIG_KS8851_MLL=m +CONFIG_KSM=y +CONFIG_KSZ884X_PCI=m +# CONFIG_KUNIT is not set +CONFIG_KUSER_HELPERS=y +CONFIG_KVM_AMD=m +CONFIG_KVM_AMD_SEV=y +CONFIG_KVM_ASYNC_PF=y +CONFIG_KVM_COMPAT=y +CONFIG_KVM_EXTERNAL_WRITE_TRACKING=y +CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y +CONFIG_KVM_GUEST=y +CONFIG_KVM_INTEL=m +CONFIG_KVM_MMIO=y +CONFIG_KVM_VFIO=y +CONFIG_KVM_WERROR=y +CONFIG_KVM_XEN=y +CONFIG_KVM_XFER_TO_GUEST_WORK=y +CONFIG_KXCJK1013=m +CONFIG_KXSD9=m +CONFIG_KXSD9_I2C=m +CONFIG_KXSD9_SPI=m +CONFIG_L2TP=m +CONFIG_L2TP_DEBUGFS=m +CONFIG_L2TP_ETH=m +CONFIG_L2TP_IP=m +CONFIG_L2TP_V3=y +CONFIG_LAN743X=m +CONFIG_LAN966X_SWITCH=m +CONFIG_LAPB=m +CONFIG_LAPBETHER=m +# CONFIG_LATENCYTOP is not set +CONFIG_LATTICE_ECP3_CONFIG=m +CONFIG_LCD2S=m +CONFIG_LCD_AMS369FG06=m +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_LCD_HX8357=m +CONFIG_LCD_ILI922X=m +CONFIG_LCD_ILI9320=m +CONFIG_LCD_L4F00242T03=m +CONFIG_LCD_LMS283GF05=m +CONFIG_LCD_LMS501KF03=m +CONFIG_LCD_LTV350QV=m +CONFIG_LCD_OTM3225A=m +CONFIG_LCD_PLATFORM=m +CONFIG_LCD_TDO24M=m +CONFIG_LCD_VGG2432A4=m +CONFIG_LDISC_AUTOLOAD=y +# CONFIG_LDM_DEBUG is not set +CONFIG_LDM_PARTITION=y +CONFIG_LD_IS_BFD=y +CONFIG_LD_ORPHAN_WARN=y +CONFIG_LD_VERSION=23900 +CONFIG_LEDS_88PM860X=m +CONFIG_LEDS_AAT1290=m +CONFIG_LEDS_ADP5520=m +CONFIG_LEDS_AN30259A=m +CONFIG_LEDS_APU=m +CONFIG_LEDS_AS3645A=m +CONFIG_LEDS_AW2013=m +CONFIG_LEDS_BCM6328=m +CONFIG_LEDS_BCM6358=m +CONFIG_LEDS_BD2802=m +CONFIG_LEDS_BLINKM=m +CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_CLASS_FLASH=m +CONFIG_LEDS_CLASS_MULTICOLOR=m +CONFIG_LEDS_CLEVO_MAIL=m +CONFIG_LEDS_CPCAP=m +CONFIG_LEDS_CR0014114=m +CONFIG_LEDS_DA903X=m +CONFIG_LEDS_DA9052=m +CONFIG_LEDS_DAC124S085=m +CONFIG_LEDS_EL15203000=m +CONFIG_LEDS_GPIO=m +CONFIG_LEDS_INTEL_SS4200=m +CONFIG_LEDS_IS31FL319X=m +CONFIG_LEDS_IS31FL32XX=m +CONFIG_LEDS_KTD2692=m +CONFIG_LEDS_LM3530=m +CONFIG_LEDS_LM3532=m +CONFIG_LEDS_LM3533=m +CONFIG_LEDS_LM355x=m +CONFIG_LEDS_LM3601X=m +CONFIG_LEDS_LM36274=m +CONFIG_LEDS_LM3642=m +CONFIG_LEDS_LM3692X=m +CONFIG_LEDS_LM3697=m +CONFIG_LEDS_LP3944=m +CONFIG_LEDS_LP3952=m +CONFIG_LEDS_LP50XX=m +CONFIG_LEDS_LP5521=m +CONFIG_LEDS_LP5523=m +CONFIG_LEDS_LP5562=m +CONFIG_LEDS_LP55XX_COMMON=m +CONFIG_LEDS_LP8501=m +CONFIG_LEDS_LP8788=m +CONFIG_LEDS_LP8860=m +CONFIG_LEDS_LT3593=m +CONFIG_LEDS_MAX77650=m +CONFIG_LEDS_MAX77693=m +CONFIG_LEDS_MAX8997=m +CONFIG_LEDS_MC13783=m +CONFIG_LEDS_MENF21BMC=m +CONFIG_LEDS_MLXCPLD=m +CONFIG_LEDS_MLXREG=m +CONFIG_LEDS_MT6323=m +CONFIG_LEDS_MT6360=m +CONFIG_LEDS_NIC78BX=m +CONFIG_LEDS_PCA9532=m +CONFIG_LEDS_PCA9532_GPIO=y +CONFIG_LEDS_PCA955X=m +CONFIG_LEDS_PCA955X_GPIO=y +CONFIG_LEDS_PCA963X=m +CONFIG_LEDS_PWM=m +CONFIG_LEDS_PWM_MULTICOLOR=m +CONFIG_LEDS_QCOM_LPG=m +CONFIG_LEDS_REGULATOR=m +CONFIG_LEDS_RT4505=m +CONFIG_LEDS_RT8515=m +CONFIG_LEDS_SC27XX_BLTC=m +CONFIG_LEDS_SGM3140=m +CONFIG_LEDS_SIEMENS_SIMATIC_IPC=m +CONFIG_LEDS_SPI_BYTE=m +CONFIG_LEDS_SYSCON=y +CONFIG_LEDS_TCA6507=m +CONFIG_LEDS_TI_LMU_COMMON=m +CONFIG_LEDS_TLC591XX=m +CONFIG_LEDS_TPS6105X=m +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_ACTIVITY=m +CONFIG_LEDS_TRIGGER_AUDIO=m +CONFIG_LEDS_TRIGGER_BACKLIGHT=m +CONFIG_LEDS_TRIGGER_CAMERA=m +CONFIG_LEDS_TRIGGER_CPU=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=m +CONFIG_LEDS_TRIGGER_DISK=y +CONFIG_LEDS_TRIGGER_GPIO=m +CONFIG_LEDS_TRIGGER_HEARTBEAT=m +CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m +CONFIG_LEDS_TRIGGER_ONESHOT=m +CONFIG_LEDS_TRIGGER_PANIC=y +CONFIG_LEDS_TRIGGER_PATTERN=m +CONFIG_LEDS_TRIGGER_TIMER=m +CONFIG_LEDS_TRIGGER_TRANSIENT=m +CONFIG_LEDS_TRIGGER_TTY=m +CONFIG_LEDS_USER=m +CONFIG_LEDS_WM831X_STATUS=m +CONFIG_LEDS_WM8350=m +CONFIG_LED_TRIGGER_PHY=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=0 +# CONFIG_LEGACY_VSYSCALL_NONE is not set +CONFIG_LEGACY_VSYSCALL_XONLY=y +CONFIG_LG_LAPTOP=m +CONFIG_LIB80211=m +CONFIG_LIB80211_CRYPT_CCMP=m +CONFIG_LIB80211_CRYPT_TKIP=m +CONFIG_LIB80211_CRYPT_WEP=m +# CONFIG_LIB80211_DEBUG is not set +CONFIG_LIBCRC32C=y +CONFIG_LIBERTAS=m +CONFIG_LIBERTAS_CS=m +# CONFIG_LIBERTAS_DEBUG is not set +CONFIG_LIBERTAS_MESH=y +CONFIG_LIBERTAS_SDIO=m +CONFIG_LIBERTAS_SPI=m +CONFIG_LIBERTAS_THINFIRM=m +# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set +CONFIG_LIBERTAS_THINFIRM_USB=m +CONFIG_LIBERTAS_USB=m +CONFIG_LIBFC=m +CONFIG_LIBFCOE=m +CONFIG_LIBFDT=y +CONFIG_LIBIPW=m +# CONFIG_LIBIPW_DEBUG is not set +CONFIG_LIBNVDIMM=y +CONFIG_LIB_MEMNEQ=y +CONFIG_LIDAR_LITE_V2=m +CONFIG_LINEAR_RANGES=y +CONFIG_LINEDISP=m +CONFIG_LIQUIDIO=m +CONFIG_LIQUIDIO_VF=m +CONFIG_LIRC=y +CONFIG_LITEX=y +CONFIG_LITEX_LITEETH=m +CONFIG_LITEX_SOC_CONTROLLER=m +CONFIG_LIVEPATCH=y +# CONFIG_LKDTM is not set +CONFIG_LLC=m +CONFIG_LLC2=m +CONFIG_LLD_VERSION=0 +CONFIG_LMK04832=m +CONFIG_LMP91000=m +CONFIG_LOAD_UEFI_KEYS=y +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_LOCKD=m +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_LOCKD_V4=y +CONFIG_LOCKUP_DETECTOR=y +CONFIG_LOCK_DEBUGGING_SUPPORT=y +CONFIG_LOCK_DOWN_IN_SECURE_BOOT=y +# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y +# CONFIG_LOCK_EVENT_COUNTS is not set +CONFIG_LOCK_SPIN_ON_OWNER=y +# CONFIG_LOCK_STAT is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +# CONFIG_LOGO is not set +CONFIG_LOG_BUF_SHIFT=18 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_LOOPBACK_TARGET=m +CONFIG_LP8788_ADC=m +CONFIG_LPC_ICH=m +CONFIG_LPC_SCH=m +# CONFIG_LP_CONSOLE is not set +CONFIG_LRU_CACHE=m +CONFIG_LSI_ET1011C_PHY=m +CONFIG_LSM="landlock,lockdown,yama,integrity,apparmor" +CONFIG_LSM_MMAP_MIN_ADDR=0 +CONFIG_LS_EXTIRQ=y +CONFIG_LS_SCFG_MSI=y +CONFIG_LTC1660=m +CONFIG_LTC2471=m +CONFIG_LTC2485=m +CONFIG_LTC2496=m +CONFIG_LTC2497=m +CONFIG_LTC2632=m +CONFIG_LTC2688=m +CONFIG_LTC2983=m +CONFIG_LTE_GDM724X=m +CONFIG_LTO_NONE=y +CONFIG_LTR501=m +CONFIG_LV0104CS=m +CONFIG_LWTUNNEL=y +CONFIG_LWTUNNEL_BPF=y +CONFIG_LXT_PHY=m +CONFIG_LZ4HC_COMPRESS=m +CONFIG_LZ4_COMPRESS=m +CONFIG_LZ4_DECOMPRESS=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_M62332=m +CONFIG_MAC80211=m +CONFIG_MAC80211_DEBUGFS=y +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_HWSIM=m +CONFIG_MAC80211_LEDS=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC80211_MESSAGE_TRACING=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +CONFIG_MAC802154=m +CONFIG_MACB=m +CONFIG_MACB_PCI=m +CONFIG_MACB_USE_HWSTAMP=y +CONFIG_MACHZ_WDT=m +CONFIG_MACINTOSH_DRIVERS=y +CONFIG_MACSEC=m +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_MAC_EMUMOUSEBTN=m +CONFIG_MAC_PARTITION=y +CONFIG_MADERA_IRQ=m +CONFIG_MAG3110=m +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x01b6 +CONFIG_MAGIC_SYSRQ_SERIAL=y +CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE="" +CONFIG_MAILBOX=y +CONFIG_MAILBOX_TEST=m +CONFIG_MANAGER_SBS=m +CONFIG_MANTIS_CORE=m +CONFIG_MAPPING_DIRTY_HELPERS=y +CONFIG_MARVELL_10G_PHY=m +CONFIG_MARVELL_88X2222_PHY=m +CONFIG_MARVELL_CN10K_DDR_PMU=m +CONFIG_MARVELL_CN10K_TAD_PMU=m +CONFIG_MARVELL_PHY=m +# CONFIG_MATOM is not set +CONFIG_MAX1027=m +CONFIG_MAX11100=m +CONFIG_MAX1118=m +CONFIG_MAX1241=m +CONFIG_MAX1363=m +CONFIG_MAX30100=m +CONFIG_MAX30102=m +CONFIG_MAX31856=m +CONFIG_MAX31865=m +CONFIG_MAX44000=m +CONFIG_MAX44009=m +CONFIG_MAX517=m +CONFIG_MAX5432=m +CONFIG_MAX5481=m +CONFIG_MAX5487=m +CONFIG_MAX5821=m +CONFIG_MAX63XX_WATCHDOG=m +CONFIG_MAX77620_THERMAL=m +CONFIG_MAX77620_WATCHDOG=m +CONFIG_MAX8925_POWER=m +CONFIG_MAX9611=m +CONFIG_MAXIM_THERMOCOUPLE=m +CONFIG_MAXLINEAR_GPHY=m +CONFIG_MAXSMP=y +CONFIG_MB1232=m +CONFIG_MC3230=m +CONFIG_MCB=m +CONFIG_MCB_LPC=m +CONFIG_MCB_PCI=m +# CONFIG_MCORE2 is not set +CONFIG_MCP320X=m +CONFIG_MCP3422=m +CONFIG_MCP3911=m +CONFIG_MCP4018=m +CONFIG_MCP41010=m +CONFIG_MCP4131=m +CONFIG_MCP4531=m +CONFIG_MCP4725=m +CONFIG_MCP4922=m +CONFIG_MCTP=y +CONFIG_MCTP_FLOWS=y +CONFIG_MCTP_SERIAL=m +CONFIG_MCTP_TRANSPORT_I2C=m +CONFIG_MD=y +CONFIG_MDIO=m +# CONFIG_MDIO_BCM_IPROC is not set +CONFIG_MDIO_BCM_UNIMAC=m +CONFIG_MDIO_BUS=y +CONFIG_MDIO_BUS_MUX=y +CONFIG_MDIO_BUS_MUX_BCM_IPROC=y +CONFIG_MDIO_BUS_MUX_GPIO=m +CONFIG_MDIO_BUS_MUX_MESON_G12A=m +CONFIG_MDIO_BUS_MUX_MMIOREG=m +CONFIG_MDIO_BUS_MUX_MULTIPLEXER=m +CONFIG_MDIO_CAVIUM=m +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_DEVRES=y +CONFIG_MDIO_GPIO=m +CONFIG_MDIO_HISI_FEMAC=m +CONFIG_MDIO_I2C=m +CONFIG_MDIO_IPQ4019=m +CONFIG_MDIO_IPQ8064=m +CONFIG_MDIO_MSCC_MIIM=m +CONFIG_MDIO_MVUSB=m +CONFIG_MDIO_OCTEON=m +# CONFIG_MDIO_SUN4I is not set +CONFIG_MDIO_THUNDER=m +CONFIG_MDIO_XGENE=m +CONFIG_MDM_GCC_9607=m +CONFIG_MDM_GCC_9615=m +CONFIG_MDM_LCC_9615=m +CONFIG_MD_AUTODETECT=y +CONFIG_MD_CLUSTER=m +CONFIG_MD_FAULTY=m +CONFIG_MD_LINEAR=m +CONFIG_MD_MULTIPATH=m +CONFIG_MD_RAID0=m +CONFIG_MD_RAID1=m +CONFIG_MD_RAID10=m +CONFIG_MD_RAID456=m +CONFIG_MEDIATEK_GE_PHY=m +CONFIG_MEDIATEK_MT6360_ADC=m +CONFIG_MEDIATEK_MT6577_AUXADC=m +CONFIG_MEDIATEK_WATCHDOG=m +CONFIG_MEDIA_ALTERA_CI=m +CONFIG_MEDIA_ANALOG_TV_SUPPORT=y +CONFIG_MEDIA_ATTACH=y +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_CEC_RC=y +CONFIG_MEDIA_CEC_SUPPORT=y +CONFIG_MEDIA_COMMON_OPTIONS=y +CONFIG_MEDIA_CONTROLLER=y +CONFIG_MEDIA_CONTROLLER_DVB=y +CONFIG_MEDIA_CONTROLLER_REQUEST_API=y +CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y +CONFIG_MEDIA_PCI_SUPPORT=y +CONFIG_MEDIA_PLATFORM_DRIVERS=y +CONFIG_MEDIA_PLATFORM_SUPPORT=y +CONFIG_MEDIA_RADIO_SUPPORT=y +CONFIG_MEDIA_SDR_SUPPORT=y +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y +CONFIG_MEDIA_SUPPORT=m +CONFIG_MEDIA_SUPPORT_FILTER=y +CONFIG_MEDIA_TEST_SUPPORT=y +CONFIG_MEDIA_TUNER=m +CONFIG_MEDIA_TUNER_E4000=m +CONFIG_MEDIA_TUNER_FC0011=m +CONFIG_MEDIA_TUNER_FC0012=m +CONFIG_MEDIA_TUNER_FC0013=m +CONFIG_MEDIA_TUNER_FC2580=m +CONFIG_MEDIA_TUNER_IT913X=m +CONFIG_MEDIA_TUNER_M88RS6000T=m +CONFIG_MEDIA_TUNER_MAX2165=m +CONFIG_MEDIA_TUNER_MC44S803=m +CONFIG_MEDIA_TUNER_MSI001=m +CONFIG_MEDIA_TUNER_MT2060=m +CONFIG_MEDIA_TUNER_MT2063=m +CONFIG_MEDIA_TUNER_MT20XX=m +CONFIG_MEDIA_TUNER_MT2131=m +CONFIG_MEDIA_TUNER_MT2266=m +CONFIG_MEDIA_TUNER_MXL301RF=m +CONFIG_MEDIA_TUNER_MXL5005S=m +CONFIG_MEDIA_TUNER_MXL5007T=m +CONFIG_MEDIA_TUNER_QM1D1B0004=m +CONFIG_MEDIA_TUNER_QM1D1C0042=m +CONFIG_MEDIA_TUNER_QT1010=m +CONFIG_MEDIA_TUNER_R820T=m +CONFIG_MEDIA_TUNER_SI2157=m +CONFIG_MEDIA_TUNER_SIMPLE=m +CONFIG_MEDIA_TUNER_TDA18212=m +CONFIG_MEDIA_TUNER_TDA18218=m +CONFIG_MEDIA_TUNER_TDA18250=m +CONFIG_MEDIA_TUNER_TDA18271=m +CONFIG_MEDIA_TUNER_TDA827X=m +CONFIG_MEDIA_TUNER_TDA8290=m +CONFIG_MEDIA_TUNER_TDA9887=m +CONFIG_MEDIA_TUNER_TEA5761=m +CONFIG_MEDIA_TUNER_TEA5767=m +CONFIG_MEDIA_TUNER_TUA9001=m +CONFIG_MEDIA_TUNER_XC2028=m +CONFIG_MEDIA_TUNER_XC4000=m +CONFIG_MEDIA_TUNER_XC5000=m +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_MEGARAID_LEGACY=m +CONFIG_MEGARAID_MAILBOX=m +CONFIG_MEGARAID_MM=m +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_SAS=m +CONFIG_MELLANOX_PLATFORM=y +CONFIG_MEMBARRIER=y +CONFIG_MEMCG=y +CONFIG_MEMCG_KMEM=y +CONFIG_MEMCG_SWAP=y +CONFIG_MEMFD_CREATE=y +CONFIG_MEMORY=y +CONFIG_MEMORY_BALLOON=y +CONFIG_MEMORY_FAILURE=y +CONFIG_MEMORY_HOTPLUG=y +CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y +CONFIG_MEMORY_HOTREMOVE=y +CONFIG_MEMORY_ISOLATION=y +CONFIG_MEMORY_NOTIFIER_ERROR_INJECT=m +CONFIG_MEMREGION=y +CONFIG_MEMSTICK=m +# CONFIG_MEMSTICK_DEBUG is not set +CONFIG_MEMSTICK_JMICRON_38X=m +CONFIG_MEMSTICK_R592=m +CONFIG_MEMSTICK_REALTEK_PCI=m +CONFIG_MEMSTICK_REALTEK_USB=m +CONFIG_MEMSTICK_TIFM_MS=m +# CONFIG_MEMSTICK_UNSAFE_RESUME is not set +CONFIG_MEMTEST=y +CONFIG_MEM_SOFT_DIRTY=y +CONFIG_MENF21BMC_WATCHDOG=m +CONFIG_MENZ069_WATCHDOG=m +CONFIG_MEN_A21_WDT=m +CONFIG_MEN_Z188_ADC=m +CONFIG_MERAKI_MX100=m +CONFIG_MESON_CANVAS=m +CONFIG_MESON_CLK_MEASURE=y +CONFIG_MESON_EE_PM_DOMAINS=y +CONFIG_MESON_EFUSE=m +CONFIG_MESON_GXBB_WATCHDOG=m +CONFIG_MESON_GXL_PHY=m +CONFIG_MESON_GX_PM_DOMAINS=y +CONFIG_MESON_GX_SOCINFO=y +CONFIG_MESON_IRQ_GPIO=y +CONFIG_MESON_MX_EFUSE=m +CONFIG_MESON_SARADC=m +CONFIG_MESON_SECURE_PM_DOMAINS=y +CONFIG_MESON_SM=y +CONFIG_MESON_WATCHDOG=m +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +CONFIG_MFD_88PM800=m +CONFIG_MFD_88PM805=m +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAT2870_CORE=y +# CONFIG_MFD_AC100 is not set +CONFIG_MFD_ACT8945A=m +CONFIG_MFD_ALTERA_A10SR=y +CONFIG_MFD_ALTERA_SYSMGR=y +CONFIG_MFD_ARIZONA=m +CONFIG_MFD_ARIZONA_I2C=m +CONFIG_MFD_ARIZONA_SPI=m +CONFIG_MFD_AS3711=y +CONFIG_MFD_AS3722=y +CONFIG_MFD_ATC260X=m +CONFIG_MFD_ATC260X_I2C=m +CONFIG_MFD_ATMEL_FLEXCOM=m +CONFIG_MFD_ATMEL_HLCDC=m +CONFIG_MFD_AXP20X=m +CONFIG_MFD_AXP20X_I2C=m +CONFIG_MFD_AXP20X_RSB=m +CONFIG_MFD_BCM590XX=m +CONFIG_MFD_BD9571MWV=m +CONFIG_MFD_CORE=y +CONFIG_MFD_CPCAP=m +CONFIG_MFD_CROS_EC_DEV=m +CONFIG_MFD_CS47L15=y +CONFIG_MFD_CS47L24=y +CONFIG_MFD_CS47L35=y +CONFIG_MFD_CS47L85=y +CONFIG_MFD_CS47L90=y +CONFIG_MFD_CS47L92=y +CONFIG_MFD_DA9052_I2C=y +CONFIG_MFD_DA9052_SPI=y +CONFIG_MFD_DA9055=y +CONFIG_MFD_DA9062=m +CONFIG_MFD_DA9063=y +CONFIG_MFD_DA9150=m +CONFIG_MFD_DLN2=m +CONFIG_MFD_GATEWORKS_GSC=m +CONFIG_MFD_HI6421_PMIC=m +CONFIG_MFD_HI6421_SPMI=m +CONFIG_MFD_HI655X_PMIC=m +CONFIG_MFD_INTEL_LPSS=m +CONFIG_MFD_INTEL_LPSS_ACPI=m +CONFIG_MFD_INTEL_LPSS_PCI=m +CONFIG_MFD_INTEL_M10_BMC=m +CONFIG_MFD_INTEL_PMC_BXT=m +CONFIG_MFD_INTEL_QUARK_I2C_GPIO=m +CONFIG_MFD_IQS62X=m +CONFIG_MFD_JANZ_CMODIO=m +CONFIG_MFD_KEMPLD=m +CONFIG_MFD_KHADAS_MCU=m +CONFIG_MFD_LM3533=m +CONFIG_MFD_LOCHNAGAR=y +CONFIG_MFD_LP3943=m +CONFIG_MFD_LP8788=y +CONFIG_MFD_MADERA=m +CONFIG_MFD_MADERA_I2C=m +CONFIG_MFD_MADERA_SPI=m +CONFIG_MFD_MAX14577=y +CONFIG_MFD_MAX77620=y +CONFIG_MFD_MAX77650=m +CONFIG_MFD_MAX77686=y +CONFIG_MFD_MAX77693=y +CONFIG_MFD_MAX77714=m +CONFIG_MFD_MAX77843=y +CONFIG_MFD_MAX8907=m +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_MC13XXX=m +CONFIG_MFD_MC13XXX_I2C=m +CONFIG_MFD_MC13XXX_SPI=m +CONFIG_MFD_MENF21BMC=m +CONFIG_MFD_MP2629=m +CONFIG_MFD_MT6360=m +CONFIG_MFD_MT6397=m +CONFIG_MFD_NTXEC=m +CONFIG_MFD_NVEC=m +CONFIG_MFD_PALMAS=y +CONFIG_MFD_PCF50633=m +CONFIG_MFD_QCOM_PM8008=m +CONFIG_MFD_QCOM_RPM=m +CONFIG_MFD_RC5T583=y +CONFIG_MFD_RDC321X=m +CONFIG_MFD_RETU=m +CONFIG_MFD_RK808=m +CONFIG_MFD_RN5T618=m +CONFIG_MFD_ROHM_BD71828=m +CONFIG_MFD_ROHM_BD718XX=m +CONFIG_MFD_ROHM_BD957XMUF=m +CONFIG_MFD_RSMU_I2C=m +CONFIG_MFD_RSMU_SPI=m +CONFIG_MFD_RT4831=m +CONFIG_MFD_RT5033=m +CONFIG_MFD_SC27XX_PMIC=m +CONFIG_MFD_SEC_CORE=y +CONFIG_MFD_SI476X_CORE=m +CONFIG_MFD_SIMPLE_MFD_I2C=m +CONFIG_MFD_SKY81452=m +CONFIG_MFD_SL28CPLD=m +CONFIG_MFD_SM501=m +CONFIG_MFD_SM501_GPIO=y +CONFIG_MFD_SPMI_PMIC=m +CONFIG_MFD_STMFX=m +CONFIG_MFD_STMPE=y +CONFIG_MFD_STPMIC1=m +CONFIG_MFD_SUN4I_GPADC=m +CONFIG_MFD_SUN6I_PRCM=y +CONFIG_MFD_SYSCON=y +CONFIG_MFD_TC3589X=y +CONFIG_MFD_TI_AM335X_TSCADC=m +CONFIG_MFD_TI_LMU=m +CONFIG_MFD_TI_LP873X=m +CONFIG_MFD_TI_LP87565=m +CONFIG_MFD_TPS65086=m +CONFIG_MFD_TPS65090=y +CONFIG_MFD_TPS65217=m +CONFIG_MFD_TPS65218=m +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_TQMX86=m +CONFIG_MFD_TWL4030_AUDIO=y +CONFIG_MFD_VEXPRESS_SYSREG=y +CONFIG_MFD_VIPERBOARD=m +CONFIG_MFD_VX855=m +CONFIG_MFD_WCD934X=m +CONFIG_MFD_WL1273_CORE=m +CONFIG_MFD_WM5102=y +CONFIG_MFD_WM5110=y +CONFIG_MFD_WM831X=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8400=y +CONFIG_MFD_WM8994=m +CONFIG_MFD_WM8997=y +CONFIG_MFD_WM8998=y +CONFIG_MHI_BUS=m +# CONFIG_MHI_BUS_DEBUG is not set +CONFIG_MHI_BUS_EP=m +CONFIG_MHI_BUS_PCI_GENERIC=m +CONFIG_MHI_NET=m +CONFIG_MHI_WWAN_CTRL=m +CONFIG_MHI_WWAN_MBIM=m +CONFIG_MHP_MEMMAP_ON_MEMORY=y +CONFIG_MICREL_KS8995MA=m +CONFIG_MICREL_PHY=m +CONFIG_MICROCHIP_PHY=m +CONFIG_MICROCHIP_PIT64B=y +CONFIG_MICROCHIP_T1_PHY=m +CONFIG_MICROCHIP_TCB_CAPTURE=m +CONFIG_MICROCODE=y +CONFIG_MICROCODE_AMD=y +CONFIG_MICROCODE_INTEL=y +# CONFIG_MICROCODE_LATE_LOADING is not set +CONFIG_MICROSEMI_PHY=m +CONFIG_MICROSOFT_MANA=m +CONFIG_MIGRATION=y +CONFIG_MINIX_FS=m +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MIPI_I3C_HCI=m +CONFIG_MISC_ALCOR_PCI=m +CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISC_RTSX=m +CONFIG_MISC_RTSX_PCI=m +CONFIG_MISC_RTSX_USB=m +CONFIG_MISDN=m +CONFIG_MISDN_AVMFRITZ=m +CONFIG_MISDN_DSP=m +CONFIG_MISDN_HDLC=m +CONFIG_MISDN_HFCMULTI=m +CONFIG_MISDN_HFCPCI=m +CONFIG_MISDN_HFCUSB=m +CONFIG_MISDN_INFINEON=m +CONFIG_MISDN_IPAC=m +CONFIG_MISDN_ISAR=m +CONFIG_MISDN_L1OIP=m +CONFIG_MISDN_NETJET=m +CONFIG_MISDN_SPEEDFAX=m +CONFIG_MISDN_W6692=m +CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y +# CONFIG_MK8 is not set +CONFIG_MKISS=m +CONFIG_MLX4_CORE=m +CONFIG_MLX4_CORE_GEN2=y +CONFIG_MLX4_DEBUG=y +CONFIG_MLX4_EN=m +CONFIG_MLX4_EN_DCB=y +CONFIG_MLX4_INFINIBAND=m +CONFIG_MLX5_BRIDGE=y +CONFIG_MLX5_CLS_ACT=y +CONFIG_MLX5_CORE=m +CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_EN_DCB=y +CONFIG_MLX5_CORE_IPOIB=y +CONFIG_MLX5_EN_ARFS=y +CONFIG_MLX5_EN_IPSEC=y +CONFIG_MLX5_EN_RXNFC=y +CONFIG_MLX5_EN_TLS=y +CONFIG_MLX5_ESWITCH=y +CONFIG_MLX5_FPGA=y +CONFIG_MLX5_INFINIBAND=m +CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SF=y +CONFIG_MLX5_SF_MANAGER=y +CONFIG_MLX5_SW_STEERING=y +CONFIG_MLX5_TC_CT=y +CONFIG_MLX5_TC_SAMPLE=y +CONFIG_MLX5_VDPA=y +CONFIG_MLX5_VDPA_NET=m +CONFIG_MLX5_VFIO_PCI=m +CONFIG_MLX90614=m +CONFIG_MLX90632=m +CONFIG_MLXBF_BOOTCTL=m +CONFIG_MLXBF_GIGE=m +CONFIG_MLXBF_PMC=m +CONFIG_MLXBF_TMFIFO=m +CONFIG_MLXFW=m +CONFIG_MLXREG_HOTPLUG=m +CONFIG_MLXREG_IO=m +CONFIG_MLXREG_LC=m +CONFIG_MLXSW_CORE=m +CONFIG_MLXSW_CORE_HWMON=y +CONFIG_MLXSW_CORE_THERMAL=y +CONFIG_MLXSW_I2C=m +CONFIG_MLXSW_MINIMAL=m +CONFIG_MLXSW_PCI=m +CONFIG_MLXSW_SPECTRUM=m +CONFIG_MLXSW_SPECTRUM_DCB=y +CONFIG_MLX_PLATFORM=m +CONFIG_MLX_WDT=m +CONFIG_MMA7455=m +CONFIG_MMA7455_I2C=m +CONFIG_MMA7455_SPI=m +CONFIG_MMA7660=m +CONFIG_MMA8452=m +CONFIG_MMA9551=m +CONFIG_MMA9551_CORE=m +CONFIG_MMA9553=m +CONFIG_MMC=y +CONFIG_MMC35240=m +CONFIG_MMCONF_FAM10H=y +CONFIG_MMC_ALCOR=m +CONFIG_MMC_ARMMMCI=y +CONFIG_MMC_BCM2835=m +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_CAVIUM_THUNDERX=m +CONFIG_MMC_CB710=m +CONFIG_MMC_CQHCI=m +CONFIG_MMC_CRYPTO=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_DW=m +CONFIG_MMC_DW_BLUEFIELD=m +CONFIG_MMC_DW_EXYNOS=m +CONFIG_MMC_DW_HI3798CV200=m +CONFIG_MMC_DW_K3=m +CONFIG_MMC_DW_PCI=m +CONFIG_MMC_DW_PLTFM=m +CONFIG_MMC_DW_ROCKCHIP=m +CONFIG_MMC_LITEX=m +CONFIG_MMC_MESON_GX=m +CONFIG_MMC_MESON_MX_SDIO=m +CONFIG_MMC_MTK=m +CONFIG_MMC_MXC=m +CONFIG_MMC_OWL=m +CONFIG_MMC_QCOM_DML=y +CONFIG_MMC_REALTEK_PCI=m +CONFIG_MMC_REALTEK_USB=m +CONFIG_MMC_RICOH_MMC=y +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_ACPI=m +CONFIG_MMC_SDHCI_AM654=m +CONFIG_MMC_SDHCI_BRCMSTB=m +CONFIG_MMC_SDHCI_CADENCE=m +CONFIG_MMC_SDHCI_ESDHC_IMX=m +CONFIG_MMC_SDHCI_EXTERNAL_DMA=y +CONFIG_MMC_SDHCI_F_SDH30=m +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_IPROC=m +CONFIG_MMC_SDHCI_MILBEAUT=m +CONFIG_MMC_SDHCI_MSM=m +CONFIG_MMC_SDHCI_OF_ARASAN=m +CONFIG_MMC_SDHCI_OF_ASPEED=m +CONFIG_MMC_SDHCI_OF_AT91=m +CONFIG_MMC_SDHCI_OF_DWCMSHC=m +CONFIG_MMC_SDHCI_OF_ESDHC=m +CONFIG_MMC_SDHCI_OF_SPARX5=m +CONFIG_MMC_SDHCI_OMAP=m +CONFIG_MMC_SDHCI_PCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SDHCI_PXAV3=m +CONFIG_MMC_SDHCI_SPRD=m +CONFIG_MMC_SDHCI_TEGRA=m +CONFIG_MMC_SDHCI_XENON=m +CONFIG_MMC_SDHI=m +CONFIG_MMC_SDHI_INTERNAL_DMAC=m +CONFIG_MMC_SDHI_SYS_DMAC=m +CONFIG_MMC_SDRICOH_CS=m +CONFIG_MMC_SH_MMCIF=m +CONFIG_MMC_SPI=m +CONFIG_MMC_STM32_SDMMC=y +CONFIG_MMC_SUNXI=m +# CONFIG_MMC_TEST is not set +CONFIG_MMC_TIFM_SD=m +CONFIG_MMC_TMIO_CORE=m +CONFIG_MMC_TOSHIBA_PCI=m +CONFIG_MMC_USDHI6ROL0=m +CONFIG_MMC_USHC=m +CONFIG_MMC_VIA_SDMMC=m +CONFIG_MMC_VUB300=m +CONFIG_MMC_WBSD=m +CONFIG_MMIOTRACE=y +# CONFIG_MMIOTRACE_TEST is not set +CONFIG_MMU=y +CONFIG_MMU_GATHER_MERGE_VMAS=y +CONFIG_MMU_GATHER_RCU_TABLE_FREE=y +CONFIG_MMU_GATHER_TABLE_FREE=y +CONFIG_MMU_NOTIFIER=y +CONFIG_MODIFY_LDT_SYSCALL=y +CONFIG_MODPROBE_PATH="/sbin/modprobe" +CONFIG_MODULES=y +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_MODULES_USE_ELF_RELA=y +# CONFIG_MODULE_ALLOW_BTF_MISMATCH is not set +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +# CONFIG_MODULE_COMPRESS_GZIP is not set +CONFIG_MODULE_COMPRESS_NONE=y +# CONFIG_MODULE_COMPRESS_XZ is not set +# CONFIG_MODULE_COMPRESS_ZSTD is not set +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_FORCE_UNLOAD is not set +CONFIG_MODULE_SIG=y +CONFIG_MODULE_SIG_ALL=y +# CONFIG_MODULE_SIG_FORCE is not set +CONFIG_MODULE_SIG_FORMAT=y +CONFIG_MODULE_SIG_HASH="sha512" +CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" +# CONFIG_MODULE_SIG_KEY_TYPE_ECDSA is not set +CONFIG_MODULE_SIG_KEY_TYPE_RSA=y +# CONFIG_MODULE_SIG_SHA1 is not set +# CONFIG_MODULE_SIG_SHA224 is not set +# CONFIG_MODULE_SIG_SHA256 is not set +# CONFIG_MODULE_SIG_SHA384 is not set +CONFIG_MODULE_SIG_SHA512=y +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set +CONFIG_MODVERSIONS=y +CONFIG_MOST=m +CONFIG_MOST_CDEV=m +CONFIG_MOST_COMPONENTS=m +CONFIG_MOST_DIM2=m +CONFIG_MOST_I2C=m +CONFIG_MOST_NET=m +CONFIG_MOST_SND=m +CONFIG_MOST_USB_HDM=m +CONFIG_MOST_VIDEO=m +CONFIG_MOTORCOMM_PHY=m +CONFIG_MOUSE_APPLETOUCH=m +CONFIG_MOUSE_BCM5974=m +CONFIG_MOUSE_CYAPA=m +CONFIG_MOUSE_ELAN_I2C=m +CONFIG_MOUSE_ELAN_I2C_I2C=y +CONFIG_MOUSE_ELAN_I2C_SMBUS=y +CONFIG_MOUSE_GPIO=m +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_BYD=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y +CONFIG_MOUSE_PS2_FOCALTECH=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SENTELIC=y +CONFIG_MOUSE_PS2_SMBUS=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y +CONFIG_MOUSE_PS2_TOUCHKIT=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +CONFIG_MOUSE_PS2_VMMOUSE=y +CONFIG_MOUSE_SERIAL=m +CONFIG_MOUSE_SYNAPTICS_I2C=m +CONFIG_MOUSE_SYNAPTICS_USB=m +CONFIG_MOUSE_VSXXXAA=m +CONFIG_MOXA_INTELLIO=m +CONFIG_MOXA_SMARTIO=m +CONFIG_MOXTET=m +CONFIG_MP2629_ADC=m +CONFIG_MPILIB=y +CONFIG_MPL115=m +CONFIG_MPL115_I2C=m +CONFIG_MPL115_SPI=m +CONFIG_MPL3115=m +CONFIG_MPLS=y +CONFIG_MPLS_IPTUNNEL=m +CONFIG_MPLS_ROUTING=m +# CONFIG_MPSC is not set +CONFIG_MPTCP=y +CONFIG_MPTCP_IPV6=y +CONFIG_MPU3050=m +CONFIG_MPU3050_I2C=m +CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m +CONFIG_MRP=m +CONFIG_MS5611=m +CONFIG_MS5611_I2C=m +CONFIG_MS5611_SPI=m +CONFIG_MS5637=m +CONFIG_MSCC_OCELOT_SWITCH=m +CONFIG_MSCC_OCELOT_SWITCH_LIB=m +CONFIG_MSDOS_FS=m +CONFIG_MSDOS_PARTITION=y +CONFIG_MSE102X=m +CONFIG_MSI_LAPTOP=m +CONFIG_MSI_WMI=m +CONFIG_MSM_GCC_8660=m +CONFIG_MSM_GCC_8916=m +CONFIG_MSM_GCC_8939=m +CONFIG_MSM_GCC_8953=m +CONFIG_MSM_GCC_8960=m +CONFIG_MSM_GCC_8974=m +CONFIG_MSM_GCC_8976=m +CONFIG_MSM_GCC_8994=m +CONFIG_MSM_GCC_8996=m +CONFIG_MSM_GCC_8998=m +CONFIG_MSM_GPUCC_8998=m +CONFIG_MSM_LCC_8960=m +CONFIG_MSM_MMCC_8960=m +CONFIG_MSM_MMCC_8974=m +CONFIG_MSM_MMCC_8994=m +CONFIG_MSM_MMCC_8996=m +CONFIG_MSM_MMCC_8998=m +CONFIG_MSPRO_BLOCK=m +CONFIG_MST_IRQ=y +CONFIG_MS_BLOCK=m +CONFIG_MT7601U=m +CONFIG_MT7603E=m +CONFIG_MT7615E=m +CONFIG_MT7615_COMMON=m +CONFIG_MT7622_WMAC=y +CONFIG_MT7663S=m +CONFIG_MT7663U=m +CONFIG_MT7663_USB_SDIO_COMMON=m +CONFIG_MT76_CONNAC_LIB=m +CONFIG_MT76_CORE=m +CONFIG_MT76_LEDS=y +CONFIG_MT76_SDIO=m +CONFIG_MT76_USB=m +CONFIG_MT76x02_LIB=m +CONFIG_MT76x02_USB=m +CONFIG_MT76x0E=m +CONFIG_MT76x0U=m +CONFIG_MT76x0_COMMON=m +CONFIG_MT76x2E=m +CONFIG_MT76x2U=m +CONFIG_MT76x2_COMMON=m +CONFIG_MT7915E=m +CONFIG_MT7921E=m +CONFIG_MT7921S=m +CONFIG_MT7921U=m +CONFIG_MT7921_COMMON=m +CONFIG_MT7986_WMAC=y +CONFIG_MTD=m +CONFIG_MTDRAM_ERASE_SIZE=128 +CONFIG_MTDRAM_TOTAL_SIZE=4096 +CONFIG_MTD_ABSENT=m +CONFIG_MTD_AFS_PARTS=m +CONFIG_MTD_AMD76XROM=m +CONFIG_MTD_AR7_PARTS=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_BLOCK2MTD=m +CONFIG_MTD_BLOCK_RO=m +CONFIG_MTD_CFI=m +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +CONFIG_MTD_CFI_INTELEXT=m +CONFIG_MTD_CFI_STAA=m +CONFIG_MTD_CFI_UTIL=m +CONFIG_MTD_CK804XROM=m +CONFIG_MTD_CMDLINE_PARTS=m +CONFIG_MTD_COMPLEX_MAPPINGS=y +CONFIG_MTD_DATAFLASH=m +CONFIG_MTD_DATAFLASH_OTP=y +# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set +# CONFIG_MTD_DOCG3 is not set +CONFIG_MTD_ESB2ROM=m +CONFIG_MTD_GEN_PROBE=m +CONFIG_MTD_HYPERBUS=m +CONFIG_MTD_ICHXROM=m +CONFIG_MTD_INTEL_VR_NOR=m +CONFIG_MTD_JEDECPROBE=m +CONFIG_MTD_L440GX=m +CONFIG_MTD_LPDDR=m +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +CONFIG_MTD_MCHP23K256=m +CONFIG_MTD_MCHP48L640=m +CONFIG_MTD_MTDRAM=m +CONFIG_MTD_NAND_ARASAN=m +CONFIG_MTD_NAND_BRCMNAND=m +CONFIG_MTD_NAND_CADENCE=m +CONFIG_MTD_NAND_CAFE=m +CONFIG_MTD_NAND_CORE=m +CONFIG_MTD_NAND_DENALI=m +CONFIG_MTD_NAND_DENALI_DT=m +CONFIG_MTD_NAND_DENALI_PCI=m +CONFIG_MTD_NAND_DISKONCHIP=m +# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set +CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 +# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set +CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_NAND_ECC_MEDIATEK=m +CONFIG_MTD_NAND_ECC_MXIC=y +CONFIG_MTD_NAND_ECC_SW_BCH=y +CONFIG_MTD_NAND_ECC_SW_HAMMING=y +# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set +CONFIG_MTD_NAND_FSL_IFC=m +CONFIG_MTD_NAND_GPIO=m +CONFIG_MTD_NAND_GPMI_NAND=m +CONFIG_MTD_NAND_HISI504=m +CONFIG_MTD_NAND_INTEL_LGM=m +CONFIG_MTD_NAND_MARVELL=m +CONFIG_MTD_NAND_MESON=m +CONFIG_MTD_NAND_MTK=m +CONFIG_MTD_NAND_MXC=m +CONFIG_MTD_NAND_MXIC=m +CONFIG_MTD_NAND_NANDSIM=m +CONFIG_MTD_NAND_OMAP2=m +CONFIG_MTD_NAND_OMAP_BCH=y +CONFIG_MTD_NAND_OMAP_BCH_BUILD=m +CONFIG_MTD_NAND_PLATFORM=m +CONFIG_MTD_NAND_QCOM=m +CONFIG_MTD_NAND_RENESAS=m +CONFIG_MTD_NAND_RICOH=m +CONFIG_MTD_NAND_ROCKCHIP=m +# CONFIG_MTD_NAND_SUNXI is not set +CONFIG_MTD_NAND_TEGRA=m +CONFIG_MTD_NETtel=m +CONFIG_MTD_OF_PARTS=m +CONFIG_MTD_OF_PARTS_BCM4908=y +CONFIG_MTD_OF_PARTS_LINKSYS_NS=y +CONFIG_MTD_ONENAND=m +CONFIG_MTD_ONENAND_2X_PROGRAM=y +CONFIG_MTD_ONENAND_GENERIC=m +# CONFIG_MTD_ONENAND_OTP is not set +CONFIG_MTD_ONENAND_VERIFY_WRITE=y +CONFIG_MTD_OOPS=m +CONFIG_MTD_PARSER_TRX=m +# CONFIG_MTD_PARTITIONED_MASTER is not set +CONFIG_MTD_PCI=m +CONFIG_MTD_PCMCIA=m +# CONFIG_MTD_PCMCIA_ANONYMOUS is not set +CONFIG_MTD_PHRAM=m +CONFIG_MTD_PHYSMAP=m +# CONFIG_MTD_PHYSMAP_COMPAT is not set +CONFIG_MTD_PHYSMAP_GEMINI=y +CONFIG_MTD_PHYSMAP_GPIO_ADDR=y +CONFIG_MTD_PHYSMAP_OF=y +CONFIG_MTD_PHYSMAP_VERSATILE=y +CONFIG_MTD_PLATRAM=m +CONFIG_MTD_PMC551=m +# CONFIG_MTD_PMC551_BUGFIX is not set +# CONFIG_MTD_PMC551_DEBUG is not set +CONFIG_MTD_PSTORE=m +CONFIG_MTD_QCOMSMEM_PARTS=m +CONFIG_MTD_QINFO_PROBE=m +CONFIG_MTD_RAM=m +CONFIG_MTD_RAW_NAND=m +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 +CONFIG_MTD_REDBOOT_PARTS=m +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set +# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set +CONFIG_MTD_ROM=m +CONFIG_MTD_SBC_GXX=m +CONFIG_MTD_SCB2_FLASH=m +CONFIG_MTD_SLRAM=m +CONFIG_MTD_SM_COMMON=m +CONFIG_MTD_SPI_NAND=m +CONFIG_MTD_SPI_NOR=m +# CONFIG_MTD_SPI_NOR_SWP_DISABLE is not set +CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y +# CONFIG_MTD_SPI_NOR_SWP_KEEP is not set +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y +CONFIG_MTD_SST25L=m +CONFIG_MTD_SWAP=m +# CONFIG_MTD_TESTS is not set +CONFIG_MTD_UBI=m +CONFIG_MTD_UBI_BEB_LIMIT=20 +CONFIG_MTD_UBI_BLOCK=y +CONFIG_MTD_UBI_FASTMAP=y +CONFIG_MTD_UBI_GLUEBI=m +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTK_ADSP_IPC=m +CONFIG_MTK_ADSP_MBOX=m +CONFIG_MTK_CMDQ=m +CONFIG_MTK_CMDQ_MBOX=m +CONFIG_MTK_CQDMA=m +CONFIG_MTK_DEVAPC=m +# CONFIG_MTK_EFUSE is not set +CONFIG_MTK_HSDMA=m +CONFIG_MTK_INFRACFG=y +# CONFIG_MTK_IOMMU is not set +CONFIG_MTK_MMSYS=y +CONFIG_MTK_PMIC_WRAP=m +CONFIG_MTK_SCP=m +CONFIG_MTK_SCPSYS=y +CONFIG_MTK_SCPSYS_PM_DOMAINS=y +CONFIG_MTK_SMI=m +CONFIG_MTK_T7XX=m +CONFIG_MTK_THERMAL=m +CONFIG_MTK_TIMER=y +CONFIG_MTK_UART_APDMA=m +CONFIG_MTRR=y +CONFIG_MTRR_SANITIZER=y +CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1 +CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 +CONFIG_MULTIPLEXER=m +CONFIG_MULTIUSER=y +CONFIG_MUSB_PIO_ONLY=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_MUX_ADG792A=m +CONFIG_MUX_ADGS1408=m +CONFIG_MUX_GPIO=m +CONFIG_MUX_MMIO=m +CONFIG_MVEBU_GICP=y +CONFIG_MVEBU_ICU=y +CONFIG_MVEBU_ODMI=y +CONFIG_MVEBU_PIC=y +CONFIG_MVEBU_SEI=y +CONFIG_MVMDIO=m +CONFIG_MVNETA=m +CONFIG_MVPP2=m +CONFIG_MVPP2_PTP=y +CONFIG_MV_XOR=y +CONFIG_MV_XOR_V2=y +CONFIG_MWAVE=m +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_PCIE=m +CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_USB=m +CONFIG_MWL8K=m +CONFIG_MX3_IPU=y +CONFIG_MX3_IPU_IRQS=4 +CONFIG_MXC4005=m +CONFIG_MXC6255=m +CONFIG_MXC_CLK=y +CONFIG_MXC_CLK_SCU=y +CONFIG_MXM_WMI=m +CONFIG_MXS_DMA=y +CONFIG_MYRI10GE=m +CONFIG_MYRI10GE_DCA=y +CONFIG_NAMESPACES=y +CONFIG_NATIONAL_PHY=m +CONFIG_NATSEMI=m +CONFIG_NAU7802=m +CONFIG_NCSI_OEM_CMD_GET_MAC=y +# CONFIG_NCSI_OEM_CMD_KEEP_PHY is not set +CONFIG_NDC_DIS_DYNAMIC_CACHING=y +CONFIG_ND_BTT=m +CONFIG_ND_CLAIM=y +CONFIG_ND_PFN=m +CONFIG_NE2K_PCI=m +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NET=y +CONFIG_NETCONSOLE=m +CONFIG_NETCONSOLE_DYNAMIC=y +CONFIG_NETDEVICES=y +CONFIG_NETDEVSIM=m +# CONFIG_NETDEV_NOTIFIER_ERROR_INJECT is not set +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y +CONFIG_NETFILTER_CONNCOUNT=m +CONFIG_NETFILTER_EGRESS=y +CONFIG_NETFILTER_FAMILY_ARP=y +CONFIG_NETFILTER_FAMILY_BRIDGE=y +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=y +CONFIG_NETFILTER_NETLINK_ACCT=m +CONFIG_NETFILTER_NETLINK_GLUE_CT=y +CONFIG_NETFILTER_NETLINK_HOOK=m +CONFIG_NETFILTER_NETLINK_LOG=y +CONFIG_NETFILTER_NETLINK_OSF=m +CONFIG_NETFILTER_NETLINK_QUEUE=y +CONFIG_NETFILTER_SKIP_EGRESS=y +CONFIG_NETFILTER_SYNPROXY=m +CONFIG_NETFILTER_XTABLES=m +CONFIG_NETFILTER_XTABLES_COMPAT=y +CONFIG_NETFILTER_XT_CONNMARK=m +CONFIG_NETFILTER_XT_MARK=m +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m +CONFIG_NETFILTER_XT_MATCH_BPF=m +CONFIG_NETFILTER_XT_MATCH_CGROUP=m +CONFIG_NETFILTER_XT_MATCH_CLUSTER=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_CPU=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ECN=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_HL=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_IPVS=m +CONFIG_NETFILTER_XT_MATCH_L2TP=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_NFACCT=m +CONFIG_NETFILTER_XT_MATCH_OSF=m +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_RATEEST=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +CONFIG_NETFILTER_XT_NAT=m +CONFIG_NETFILTER_XT_SET=m +CONFIG_NETFILTER_XT_TARGET_AUDIT=m +CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m +CONFIG_NETFILTER_XT_TARGET_CT=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_HL=m +CONFIG_NETFILTER_XT_TARGET_HMARK=m +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m +CONFIG_NETFILTER_XT_TARGET_LED=m +CONFIG_NETFILTER_XT_TARGET_LOG=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m +CONFIG_NETFILTER_XT_TARGET_NETMAP=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +CONFIG_NETFILTER_XT_TARGET_RATEEST=m +CONFIG_NETFILTER_XT_TARGET_REDIRECT=m +CONFIG_NETFILTER_XT_TARGET_SECMARK=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m +CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETFS_STATS=y +CONFIG_NETFS_SUPPORT=m +CONFIG_NETLABEL=y +CONFIG_NETLINK_DIAG=m +CONFIG_NETPOLL=y +CONFIG_NETROM=m +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NETWORK_PHY_TIMESTAMPING=y +CONFIG_NETWORK_SECMARK=y +CONFIG_NETXEN_NIC=m +CONFIG_NET_9P=m +# CONFIG_NET_9P_DEBUG is not set +CONFIG_NET_9P_FD=m +CONFIG_NET_9P_RDMA=m +CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m +CONFIG_NET_ACT_BPF=m +CONFIG_NET_ACT_CONNMARK=m +CONFIG_NET_ACT_CSUM=m +CONFIG_NET_ACT_CT=m +CONFIG_NET_ACT_CTINFO=m +CONFIG_NET_ACT_GACT=m +CONFIG_NET_ACT_GATE=m +# CONFIG_NET_ACT_IFE is not set +CONFIG_NET_ACT_IPT=m +CONFIG_NET_ACT_MIRRED=m +CONFIG_NET_ACT_MPLS=m +CONFIG_NET_ACT_NAT=m +CONFIG_NET_ACT_PEDIT=m +CONFIG_NET_ACT_POLICE=m +CONFIG_NET_ACT_SAMPLE=m +CONFIG_NET_ACT_SIMP=m +CONFIG_NET_ACT_SKBEDIT=m +CONFIG_NET_ACT_SKBMOD=m +CONFIG_NET_ACT_TUNNEL_KEY=m +CONFIG_NET_ACT_VLAN=m +CONFIG_NET_CLS=y +CONFIG_NET_CLS_ACT=y +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_BPF=m +CONFIG_NET_CLS_CGROUP=m +CONFIG_NET_CLS_FLOW=m +CONFIG_NET_CLS_FLOWER=m +CONFIG_NET_CLS_FW=m +CONFIG_NET_CLS_MATCHALL=m +CONFIG_NET_CLS_ROUTE4=m +CONFIG_NET_CLS_RSVP=m +CONFIG_NET_CLS_RSVP6=m +CONFIG_NET_CLS_U32=m +CONFIG_NET_CORE=y +CONFIG_NET_DEVLINK=y +# CONFIG_NET_DEV_REFCNT_TRACKER is not set +CONFIG_NET_DROP_MONITOR=y +CONFIG_NET_DSA=m +CONFIG_NET_DSA_AR9331=m +CONFIG_NET_DSA_BCM_SF2=m +CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK=m +CONFIG_NET_DSA_LANTIQ_GSWIP=m +# CONFIG_NET_DSA_LOOP is not set +CONFIG_NET_DSA_MICROCHIP_KSZ8795=m +CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI=m +CONFIG_NET_DSA_MICROCHIP_KSZ8863_SMI=m +CONFIG_NET_DSA_MICROCHIP_KSZ9477=m +CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C=m +CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m +CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON=m +CONFIG_NET_DSA_MSCC_FELIX=m +CONFIG_NET_DSA_MSCC_SEVILLE=m +CONFIG_NET_DSA_MT7530=m +CONFIG_NET_DSA_MV88E6060=m +CONFIG_NET_DSA_MV88E6XXX=m +CONFIG_NET_DSA_MV88E6XXX_PTP=y +CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_REALTEK=m +CONFIG_NET_DSA_REALTEK_RTL8365MB=m +CONFIG_NET_DSA_REALTEK_RTL8366RB=m +CONFIG_NET_DSA_SJA1105=m +CONFIG_NET_DSA_SJA1105_PTP=y +CONFIG_NET_DSA_SJA1105_TAS=y +CONFIG_NET_DSA_SJA1105_VL=y +CONFIG_NET_DSA_SMSC_LAN9303=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m +CONFIG_NET_DSA_TAG_AR9331=m +CONFIG_NET_DSA_TAG_BRCM=m +CONFIG_NET_DSA_TAG_BRCM_COMMON=m +CONFIG_NET_DSA_TAG_BRCM_LEGACY=m +CONFIG_NET_DSA_TAG_BRCM_PREPEND=m +CONFIG_NET_DSA_TAG_DSA=m +CONFIG_NET_DSA_TAG_DSA_COMMON=m +CONFIG_NET_DSA_TAG_EDSA=m +CONFIG_NET_DSA_TAG_GSWIP=m +CONFIG_NET_DSA_TAG_HELLCREEK=m +CONFIG_NET_DSA_TAG_KSZ=m +CONFIG_NET_DSA_TAG_LAN9303=m +CONFIG_NET_DSA_TAG_MTK=m +CONFIG_NET_DSA_TAG_OCELOT=m +CONFIG_NET_DSA_TAG_OCELOT_8021Q=m +CONFIG_NET_DSA_TAG_QCA=m +CONFIG_NET_DSA_TAG_RTL4_A=m +CONFIG_NET_DSA_TAG_RTL8_4=m +CONFIG_NET_DSA_TAG_SJA1105=m +CONFIG_NET_DSA_TAG_TRAILER=m +CONFIG_NET_DSA_TAG_XRS700X=m +CONFIG_NET_DSA_VITESSE_VSC73XX=m +CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM=m +CONFIG_NET_DSA_VITESSE_VSC73XX_SPI=m +CONFIG_NET_DSA_XRS700X=m +CONFIG_NET_DSA_XRS700X_I2C=m +CONFIG_NET_DSA_XRS700X_MDIO=m +CONFIG_NET_EGRESS=y +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_CANID=m +CONFIG_NET_EMATCH_CMP=m +CONFIG_NET_EMATCH_IPSET=m +CONFIG_NET_EMATCH_IPT=m +CONFIG_NET_EMATCH_META=m +CONFIG_NET_EMATCH_NBYTE=m +CONFIG_NET_EMATCH_STACK=32 +CONFIG_NET_EMATCH_TEXT=m +CONFIG_NET_EMATCH_U32=m +CONFIG_NET_FAILOVER=m +CONFIG_NET_FC=y +CONFIG_NET_FLOW_LIMIT=y +CONFIG_NET_FOU=m +CONFIG_NET_FOU_IP_TUNNELS=y +CONFIG_NET_IFE=m +CONFIG_NET_INGRESS=y +CONFIG_NET_IPGRE=m +CONFIG_NET_IPGRE_BROADCAST=y +CONFIG_NET_IPGRE_DEMUX=m +CONFIG_NET_IPIP=m +CONFIG_NET_IPVTI=m +CONFIG_NET_IP_TUNNEL=m +CONFIG_NET_KEY=m +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_NET_L3_MASTER_DEV=y +CONFIG_NET_MPLS_GSO=m +CONFIG_NET_NCSI=y +CONFIG_NET_NS=y +CONFIG_NET_NSH=m +# CONFIG_NET_NS_REFCNT_TRACKER is not set +CONFIG_NET_PKTGEN=m +CONFIG_NET_POLL_CONTROLLER=y +CONFIG_NET_PTP_CLASSIFY=y +CONFIG_NET_REDIRECT=y +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_NET_SB1000=m +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_ATM=m +CONFIG_NET_SCH_CAKE=m +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_CBS=m +CONFIG_NET_SCH_CHOKE=m +CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set +CONFIG_NET_SCH_DRR=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_ETF=m +CONFIG_NET_SCH_ETS=m +CONFIG_NET_SCH_FIFO=y +CONFIG_NET_SCH_FQ=m +CONFIG_NET_SCH_FQ_CODEL=m +CONFIG_NET_SCH_FQ_PIE=m +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_HHF=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_INGRESS=m +CONFIG_NET_SCH_MQPRIO=m +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_PIE=m +CONFIG_NET_SCH_PLUG=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_QFQ=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFB=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_SKBPRIO=m +CONFIG_NET_SCH_TAPRIO=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SELFTESTS=y +CONFIG_NET_SOCK_MSG=y +CONFIG_NET_SWITCHDEV=y +CONFIG_NET_TC_SKB_EXT=y +CONFIG_NET_TEAM=m +CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m +CONFIG_NET_TEAM_MODE_BROADCAST=m +CONFIG_NET_TEAM_MODE_LOADBALANCE=m +CONFIG_NET_TEAM_MODE_RANDOM=m +CONFIG_NET_TEAM_MODE_ROUNDROBIN=m +CONFIG_NET_TULIP=y +CONFIG_NET_UDP_TUNNEL=m +CONFIG_NET_VENDOR_3COM=y +CONFIG_NET_VENDOR_8390=y +CONFIG_NET_VENDOR_ACTIONS=y +CONFIG_NET_VENDOR_ADAPTEC=y +CONFIG_NET_VENDOR_AGERE=y +CONFIG_NET_VENDOR_ALACRITECH=y +CONFIG_NET_VENDOR_ALLWINNER=y +CONFIG_NET_VENDOR_ALTEON=y +CONFIG_NET_VENDOR_AMAZON=y +CONFIG_NET_VENDOR_AMD=y +CONFIG_NET_VENDOR_AQUANTIA=y +CONFIG_NET_VENDOR_ARC=y +CONFIG_NET_VENDOR_ASIX=y +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_NET_VENDOR_BROCADE=y +CONFIG_NET_VENDOR_CADENCE=y +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_NET_VENDOR_CHELSIO=y +CONFIG_NET_VENDOR_CIRRUS=y +CONFIG_NET_VENDOR_CISCO=y +CONFIG_NET_VENDOR_CORTINA=y +CONFIG_NET_VENDOR_DAVICOM=y +CONFIG_NET_VENDOR_DEC=y +CONFIG_NET_VENDOR_DLINK=y +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_NET_VENDOR_ENGLEDER=y +CONFIG_NET_VENDOR_EZCHIP=y +CONFIG_NET_VENDOR_FREESCALE=y +CONFIG_NET_VENDOR_FUJITSU=y +CONFIG_NET_VENDOR_FUNGIBLE=y +CONFIG_NET_VENDOR_GOOGLE=y +CONFIG_NET_VENDOR_HISILICON=y +CONFIG_NET_VENDOR_HUAWEI=y +CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_LITEX=y +CONFIG_NET_VENDOR_MARVELL=y +# CONFIG_NET_VENDOR_MEDIATEK is not set +CONFIG_NET_VENDOR_MELLANOX=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_NET_VENDOR_MICROSEMI=y +CONFIG_NET_VENDOR_MICROSOFT=y +CONFIG_NET_VENDOR_MYRI=y +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NET_VENDOR_NETERION=y +CONFIG_NET_VENDOR_NETRONOME=y +CONFIG_NET_VENDOR_NI=y +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_NET_VENDOR_OKI=y +CONFIG_NET_VENDOR_PACKET_ENGINES=y +CONFIG_NET_VENDOR_PENSANDO=y +CONFIG_NET_VENDOR_QLOGIC=y +CONFIG_NET_VENDOR_QUALCOMM=y +CONFIG_NET_VENDOR_RDC=y +CONFIG_NET_VENDOR_REALTEK=y +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_ROCKER=y +CONFIG_NET_VENDOR_SAMSUNG=y +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SILAN=y +CONFIG_NET_VENDOR_SIS=y +CONFIG_NET_VENDOR_SMSC=y +CONFIG_NET_VENDOR_SOCIONEXT=y +CONFIG_NET_VENDOR_SOLARFLARE=y +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_NET_VENDOR_SUN=y +CONFIG_NET_VENDOR_SYNOPSYS=y +CONFIG_NET_VENDOR_TEHUTI=y +CONFIG_NET_VENDOR_TI=y +CONFIG_NET_VENDOR_VERTEXCOM=y +CONFIG_NET_VENDOR_VIA=y +CONFIG_NET_VENDOR_WIZNET=y +CONFIG_NET_VENDOR_XILINX=y +CONFIG_NET_VENDOR_XIRCOM=y +CONFIG_NET_VRF=m +CONFIG_NET_XGENE=m +CONFIG_NET_XGENE_V2=m +CONFIG_NEW_LEDS=y +CONFIG_NFC=m +CONFIG_NFC_DIGITAL=m +CONFIG_NFC_FDP=m +CONFIG_NFC_FDP_I2C=m +CONFIG_NFC_HCI=m +CONFIG_NFC_MEI_PHY=m +CONFIG_NFC_MICROREAD=m +CONFIG_NFC_MICROREAD_I2C=m +CONFIG_NFC_MICROREAD_MEI=m +CONFIG_NFC_MRVL=m +CONFIG_NFC_MRVL_I2C=m +CONFIG_NFC_MRVL_SPI=m +CONFIG_NFC_MRVL_UART=m +CONFIG_NFC_MRVL_USB=m +CONFIG_NFC_NCI=m +CONFIG_NFC_NCI_SPI=m +CONFIG_NFC_NCI_UART=m +CONFIG_NFC_NXP_NCI=m +CONFIG_NFC_NXP_NCI_I2C=m +CONFIG_NFC_PN532_UART=m +CONFIG_NFC_PN533=m +CONFIG_NFC_PN533_I2C=m +CONFIG_NFC_PN533_USB=m +CONFIG_NFC_PN544=m +CONFIG_NFC_PN544_I2C=m +CONFIG_NFC_PN544_MEI=m +CONFIG_NFC_PORT100=m +CONFIG_NFC_S3FWRN5=m +CONFIG_NFC_S3FWRN5_I2C=m +CONFIG_NFC_S3FWRN82_UART=m +CONFIG_NFC_SHDLC=y +CONFIG_NFC_SIM=m +CONFIG_NFC_ST21NFCA=m +CONFIG_NFC_ST21NFCA_I2C=m +CONFIG_NFC_ST95HF=m +CONFIG_NFC_ST_NCI=m +CONFIG_NFC_ST_NCI_I2C=m +CONFIG_NFC_ST_NCI_SPI=m +CONFIG_NFC_TRF7970A=m +CONFIG_NFC_VIRTUAL_NCI=m +# CONFIG_NFIT_SECURITY_DEBUG is not set +CONFIG_NFP=m +CONFIG_NFP_APP_ABM_NIC=y +CONFIG_NFP_APP_FLOWER=y +# CONFIG_NFP_DEBUG is not set +CONFIG_NFSD=m +CONFIG_NFSD_BLOCKLAYOUT=y +CONFIG_NFSD_FLEXFILELAYOUT=y +CONFIG_NFSD_PNFS=y +CONFIG_NFSD_SCSILAYOUT=y +CONFIG_NFSD_V2_ACL=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +CONFIG_NFSD_V4_2_INTER_SSC=y +CONFIG_NFSD_V4_SECURITY_LABEL=y +CONFIG_NFS_ACL_SUPPORT=m +CONFIG_NFS_COMMON=y +CONFIG_NFS_DEBUG=y +CONFIG_NFS_DISABLE_UDP_SUPPORT=y +CONFIG_NFS_FS=m +CONFIG_NFS_FSCACHE=y +CONFIG_NFS_SWAP=y +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_V2=m +CONFIG_NFS_V3=m +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=m +CONFIG_NFS_V4_1=y +CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" +CONFIG_NFS_V4_1_MIGRATION=y +CONFIG_NFS_V4_2=y +# CONFIG_NFS_V4_2_READ_PLUS is not set +CONFIG_NFS_V4_2_SSC_HELPER=y +CONFIG_NFS_V4_SECURITY_LABEL=y +CONFIG_NFTL=m +CONFIG_NFTL_RW=y +CONFIG_NFT_BRIDGE_META=m +CONFIG_NFT_BRIDGE_REJECT=m +CONFIG_NFT_COMPAT=m +CONFIG_NFT_CONNLIMIT=m +CONFIG_NFT_CT=m +CONFIG_NFT_DUP_IPV4=m +CONFIG_NFT_DUP_IPV6=m +CONFIG_NFT_DUP_NETDEV=m +CONFIG_NFT_FIB=m +CONFIG_NFT_FIB_INET=m +CONFIG_NFT_FIB_IPV4=m +CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m +CONFIG_NFT_FWD_NETDEV=m +CONFIG_NFT_HASH=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_LOG=m +CONFIG_NFT_MASQ=m +CONFIG_NFT_NAT=m +CONFIG_NFT_NUMGEN=m +CONFIG_NFT_OBJREF=m +CONFIG_NFT_OSF=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_QUOTA=m +CONFIG_NFT_REDIR=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_REJECT_INET=m +CONFIG_NFT_REJECT_IPV4=m +CONFIG_NFT_REJECT_IPV6=m +CONFIG_NFT_REJECT_NETDEV=m +CONFIG_NFT_SOCKET=m +CONFIG_NFT_SYNPROXY=m +CONFIG_NFT_TPROXY=m +CONFIG_NFT_TUNNEL=m +CONFIG_NFT_XFRM=m +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_BRIDGE=m +CONFIG_NF_CONNTRACK_BROADCAST=m +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_LABELS=y +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_SNMP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CONNTRACK_ZONES=y +CONFIG_NF_CT_NETLINK=y +CONFIG_NF_CT_NETLINK_HELPER=m +CONFIG_NF_CT_NETLINK_TIMEOUT=m +CONFIG_NF_CT_PROTO_DCCP=y +CONFIG_NF_CT_PROTO_GRE=y +CONFIG_NF_CT_PROTO_SCTP=y +CONFIG_NF_CT_PROTO_UDPLITE=y +CONFIG_NF_DEFRAG_IPV4=y +CONFIG_NF_DEFRAG_IPV6=y +CONFIG_NF_DUP_IPV4=m +CONFIG_NF_DUP_IPV6=m +CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_LOG_ARP=m +CONFIG_NF_LOG_IPV4=m +CONFIG_NF_LOG_IPV6=m +CONFIG_NF_LOG_SYSLOG=m +CONFIG_NF_NAT=m +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_H323=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_MASQUERADE=y +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_REDIRECT=y +CONFIG_NF_NAT_SIP=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NF_REJECT_IPV4=m +CONFIG_NF_REJECT_IPV6=m +CONFIG_NF_SOCKET_IPV4=m +CONFIG_NF_SOCKET_IPV6=m +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_ARP=y +CONFIG_NF_TABLES_BRIDGE=m +CONFIG_NF_TABLES_INET=y +CONFIG_NF_TABLES_IPV4=y +CONFIG_NF_TABLES_IPV6=y +CONFIG_NF_TABLES_NETDEV=y +CONFIG_NF_TPROXY_IPV4=m +CONFIG_NF_TPROXY_IPV6=m +CONFIG_NI903X_WDT=m +CONFIG_NIC7018_WDT=m +CONFIG_NILFS2_FS=m +CONFIG_NITRO_ENCLAVES=m +CONFIG_NIU=m +CONFIG_NI_XGE_MANAGEMENT_ENET=m +# CONFIG_NL80211_TESTMODE is not set +CONFIG_NLATTR=y +CONFIG_NLMON=m +CONFIG_NLS=y +CONFIG_NLS_ASCII=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_936=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_ISO8859_1=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +CONFIG_NLS_MAC_CELTIC=m +CONFIG_NLS_MAC_CENTEURO=m +CONFIG_NLS_MAC_CROATIAN=m +CONFIG_NLS_MAC_CYRILLIC=m +CONFIG_NLS_MAC_GAELIC=m +CONFIG_NLS_MAC_GREEK=m +CONFIG_NLS_MAC_ICELAND=m +CONFIG_NLS_MAC_INUIT=m +CONFIG_NLS_MAC_ROMAN=m +CONFIG_NLS_MAC_ROMANIAN=m +CONFIG_NLS_MAC_TURKISH=m +CONFIG_NLS_UTF8=m +CONFIG_NOA1305=m +CONFIG_NOP_TRACER=y +CONFIG_NOP_USB_XCEIV=m +CONFIG_NORTEL_HERMES=m +CONFIG_NOTIFIER_ERROR_INJECTION=m +CONFIG_NOUVEAU_DEBUG=5 +CONFIG_NOUVEAU_DEBUG_DEFAULT=3 +# CONFIG_NOUVEAU_DEBUG_MMU is not set +# CONFIG_NOUVEAU_DEBUG_PUSH is not set +# CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT is not set +CONFIG_NOUVEAU_PLATFORM_DRIVER=y +CONFIG_NOZOMI=m +CONFIG_NO_HZ=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ_IDLE=y +CONFIG_NR_CPUS_DEFAULT=8192 +CONFIG_NR_CPUS_RANGE_BEGIN=8192 +CONFIG_NR_CPUS_RANGE_END=8192 +CONFIG_NS83820=m +CONFIG_NTB=m +# CONFIG_NTB_AMD is not set +CONFIG_NTB_EPF=m +CONFIG_NTB_IDT=m +CONFIG_NTB_INTEL=m +CONFIG_NTB_MSI=y +# CONFIG_NTB_MSI_TEST is not set +CONFIG_NTB_NETDEV=m +CONFIG_NTB_PERF=m +CONFIG_NTB_PINGPONG=m +CONFIG_NTB_SWITCHTEC=m +CONFIG_NTB_TOOL=m +CONFIG_NTB_TRANSPORT=m +# CONFIG_NTFS3_64BIT_CLUSTER is not set +CONFIG_NTFS3_FS=m +CONFIG_NTFS3_FS_POSIX_ACL=y +CONFIG_NTFS3_LZX_XPRESS=y +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_FS=m +# CONFIG_NTFS_RW is not set +CONFIG_NULL_TTY=m +CONFIG_NUMA=y +CONFIG_NUMA_BALANCING=y +CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y +# CONFIG_NUMA_EMU is not set +CONFIG_NUMA_KEEP_MEMINFO=y +CONFIG_NVDIMM_DAX=y +CONFIG_NVDIMM_KEYS=y +CONFIG_NVDIMM_PFN=y +CONFIG_NVEC_PAZ00=m +CONFIG_NVEC_POWER=m +# CONFIG_NVHE_EL2_DEBUG is not set +CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y +CONFIG_NVIDIA_WMI_EC_BACKLIGHT=m +CONFIG_NVMEM=y +CONFIG_NVMEM_APPLE_EFUSES=m +CONFIG_NVMEM_BCM_OCOTP=m +CONFIG_NVMEM_IMX_IIM=m +CONFIG_NVMEM_IMX_OCOTP=m +CONFIG_NVMEM_IMX_OCOTP_SCU=m +CONFIG_NVMEM_LAYERSCAPE_SFP=m +CONFIG_NVMEM_REBOOT_MODE=m +CONFIG_NVMEM_RMEM=m +CONFIG_NVMEM_SNVS_LPGPR=m +CONFIG_NVMEM_SPMI_SDAM=m +CONFIG_NVMEM_SUNXI_SID=m +CONFIG_NVMEM_SYSFS=y +CONFIG_NVMEM_ZYNQMP=y +CONFIG_NVME_APPLE=m +CONFIG_NVME_CORE=y +CONFIG_NVME_FABRICS=m +CONFIG_NVME_FC=m +CONFIG_NVME_HWMON=y +CONFIG_NVME_MULTIPATH=y +CONFIG_NVME_RDMA=m +CONFIG_NVME_TARGET=m +CONFIG_NVME_TARGET_FC=m +# CONFIG_NVME_TARGET_FCLOOP is not set +CONFIG_NVME_TARGET_LOOP=m +CONFIG_NVME_TARGET_PASSTHRU=y +CONFIG_NVME_TARGET_RDMA=m +CONFIG_NVME_TARGET_TCP=m +CONFIG_NVME_TCP=m +# CONFIG_NVME_VERBOSE_ERRORS is not set +CONFIG_NVRAM=m +CONFIG_NVSW_SN2201=m +CONFIG_NV_TCO=m +CONFIG_NXP_C45_TJA11XX_PHY=m +CONFIG_NXP_TJA11XX_PHY=m +CONFIG_N_GSM=m +CONFIG_N_HDLC=m +CONFIG_OBJAGG=m +CONFIG_OBJTOOL=y +# CONFIG_OCFS2_DEBUG_FS is not set +CONFIG_OCFS2_DEBUG_MASKLOG=y +CONFIG_OCFS2_FS=m +CONFIG_OCFS2_FS_O2CB=m +CONFIG_OCFS2_FS_STATS=y +CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m +CONFIG_OCTEONTX2_AF=m +CONFIG_OCTEONTX2_MBOX=m +CONFIG_OCTEONTX2_PF=m +CONFIG_OCTEONTX2_VF=m +CONFIG_OCTEON_EP=m +CONFIG_OF_ADDRESS=y +CONFIG_OF_DYNAMIC=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_FPGA_REGION=m +CONFIG_OF_GPIO=y +CONFIG_OF_IOMMU=y +CONFIG_OF_IRQ=y +CONFIG_OF_KOBJ=y +CONFIG_OF_MDIO=y +CONFIG_OF_NUMA=y +CONFIG_OF_OVERLAY=y +CONFIG_OF_PMEM=m +# CONFIG_OF_RECONFIG_NOTIFIER_ERROR_INJECT is not set +CONFIG_OF_RESERVED_MEM=y +CONFIG_OF_RESOLVE=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OID_REGISTRY=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OMAP2PLUS_MBOX=m +CONFIG_OMAP_GPMC=m +# CONFIG_OMAP_GPMC_DEBUG is not set +CONFIG_OMAP_MBOX_KFIFO_SIZE=256 +CONFIG_OMAP_USB2=m +CONFIG_OMFS_FS=m +CONFIG_OPENVSWITCH=m +CONFIG_OPENVSWITCH_GENEVE=m +CONFIG_OPENVSWITCH_GRE=m +CONFIG_OPENVSWITCH_VXLAN=m +CONFIG_OPEN_DICE=m +CONFIG_OPT3001=m +CONFIG_OPTEE=m +CONFIG_OPTPROBES=y +CONFIG_ORANGEFS_FS=m +CONFIG_ORINOCO_USB=m +CONFIG_OSF_PARTITION=y +# CONFIG_OSNOISE_TRACER is not set +CONFIG_OUTPUT_FORMAT="elf64-x86-64" +CONFIG_OVERLAY_FS=m +# CONFIG_OVERLAY_FS_INDEX is not set +# CONFIG_OVERLAY_FS_METACOPY is not set +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y +# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set +CONFIG_OVERLAY_FS_XINO_AUTO=y +CONFIG_OWL_DMA=m +CONFIG_OWL_EMAC=m +CONFIG_OWL_PM_DOMAINS=y +CONFIG_OWL_PM_DOMAINS_HELPER=y +CONFIG_OWL_TIMER=y +CONFIG_P54_COMMON=m +CONFIG_P54_LEDS=y +CONFIG_P54_PCI=m +CONFIG_P54_SPI=m +# CONFIG_P54_SPI_DEFAULT_EEPROM is not set +CONFIG_P54_USB=m +CONFIG_PA12203001=m +CONFIG_PACKET=y +CONFIG_PACKET_DIAG=m +CONFIG_PACKING=y +CONFIG_PADATA=y +CONFIG_PAGE_COUNTER=y +# CONFIG_PAGE_EXTENSION is not set +CONFIG_PAGE_IDLE_FLAG=y +# CONFIG_PAGE_OWNER is not set +CONFIG_PAGE_POISONING=y +CONFIG_PAGE_POOL=y +CONFIG_PAGE_REPORTING=y +CONFIG_PAGE_SIZE_LESS_THAN_256KB=y +CONFIG_PAGE_SIZE_LESS_THAN_64KB=y +# CONFIG_PAGE_TABLE_CHECK is not set +CONFIG_PAGE_TABLE_ISOLATION=y +CONFIG_PAHOLE_HAS_SPLIT_BTF=y +CONFIG_PAHOLE_VERSION=123 +CONFIG_PALMAS_GPADC=m +CONFIG_PANASONIC_LAPTOP=m +CONFIG_PANEL=m +# CONFIG_PANEL_CHANGE_MESSAGE is not set +CONFIG_PANEL_PARPORT=0 +CONFIG_PANEL_PROFILE=5 +CONFIG_PANIC_ON_OOPS=y +CONFIG_PANIC_ON_OOPS_VALUE=1 +CONFIG_PANIC_TIMEOUT=0 +CONFIG_PANTHERLORD_FF=y +CONFIG_PARAVIRT=y +CONFIG_PARAVIRT_CLOCK=y +# CONFIG_PARAVIRT_DEBUG is not set +CONFIG_PARAVIRT_SPINLOCKS=y +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +CONFIG_PARAVIRT_XXL=y +CONFIG_PARIDE=m +CONFIG_PARIDE_ATEN=m +CONFIG_PARIDE_BPCK=m +CONFIG_PARIDE_COMM=m +CONFIG_PARIDE_DSTR=m +CONFIG_PARIDE_EPAT=m +CONFIG_PARIDE_EPATC8=y +CONFIG_PARIDE_EPIA=m +CONFIG_PARIDE_FIT2=m +CONFIG_PARIDE_FIT3=m +CONFIG_PARIDE_FRIQ=m +CONFIG_PARIDE_FRPW=m +CONFIG_PARIDE_KBIC=m +CONFIG_PARIDE_KTTI=m +CONFIG_PARIDE_ON20=m +CONFIG_PARIDE_ON26=m +CONFIG_PARIDE_PCD=m +CONFIG_PARIDE_PD=m +CONFIG_PARIDE_PF=m +CONFIG_PARIDE_PG=m +CONFIG_PARIDE_PT=m +CONFIG_PARMAN=m +CONFIG_PARPORT=m +CONFIG_PARPORT_1284=y +CONFIG_PARPORT_AX88796=m +CONFIG_PARPORT_NOT_PC=y +CONFIG_PARPORT_PANEL=m +CONFIG_PARPORT_PC=m +CONFIG_PARPORT_PC_FIFO=y +CONFIG_PARPORT_PC_PCMCIA=m +# CONFIG_PARPORT_PC_SUPERIO is not set +CONFIG_PARPORT_SERIAL=m +CONFIG_PARTITION_ADVANCED=y +CONFIG_PARTITION_PERCPU=y +CONFIG_PATA_ACPI=m +CONFIG_PATA_ALI=m +CONFIG_PATA_AMD=m +CONFIG_PATA_ARTOP=m +CONFIG_PATA_ATIIXP=m +CONFIG_PATA_ATP867X=m +CONFIG_PATA_CMD640_PCI=m +CONFIG_PATA_CMD64X=m +CONFIG_PATA_CYPRESS=m +CONFIG_PATA_EFAR=m +CONFIG_PATA_HPT366=m +CONFIG_PATA_HPT37X=m +CONFIG_PATA_HPT3X2N=m +CONFIG_PATA_HPT3X3=m +# CONFIG_PATA_HPT3X3_DMA is not set +CONFIG_PATA_IMX=m +CONFIG_PATA_IT8213=m +CONFIG_PATA_IT821X=m +CONFIG_PATA_JMICRON=m +CONFIG_PATA_LEGACY=m +CONFIG_PATA_MARVELL=m +CONFIG_PATA_MPIIX=m +CONFIG_PATA_NETCELL=m +CONFIG_PATA_NINJA32=m +CONFIG_PATA_NS87410=m +CONFIG_PATA_NS87415=m +CONFIG_PATA_OF_PLATFORM=m +CONFIG_PATA_OLDPIIX=m +CONFIG_PATA_OPTI=m +CONFIG_PATA_OPTIDMA=m +CONFIG_PATA_PCMCIA=m +CONFIG_PATA_PDC2027X=m +CONFIG_PATA_PDC_OLD=m +CONFIG_PATA_PLATFORM=m +CONFIG_PATA_RADISYS=m +CONFIG_PATA_RDC=m +CONFIG_PATA_RZ1000=m +CONFIG_PATA_SCH=m +CONFIG_PATA_SERVERWORKS=m +CONFIG_PATA_SIL680=m +CONFIG_PATA_TIMINGS=y +CONFIG_PATA_TOSHIBA=m +CONFIG_PATA_TRIFLEX=m +CONFIG_PATA_VIA=m +CONFIG_PATA_WINBOND=m +CONFIG_PC104=y +CONFIG_PC300TOO=m +CONFIG_PC87413_WDT=m +CONFIG_PCC=y +CONFIG_PCCARD=m +CONFIG_PCCARD_NONSTATIC=y +CONFIG_PCENGINES_APU2=m +CONFIG_PCF50633_ADC=m +CONFIG_PCF50633_GPIO=m +CONFIG_PCI=y +CONFIG_PCI200SYN=m +CONFIG_PCIEAER=y +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_PERFORMANCE is not set +# CONFIG_PCIEASPM_POWERSAVE is not set +# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set +CONFIG_PCIEPORTBUS=y +CONFIG_PCIE_AL=y +CONFIG_PCIE_ALTERA=y +CONFIG_PCIE_ALTERA_MSI=y +CONFIG_PCIE_APPLE=m +CONFIG_PCIE_APPLE_MSI_DOORBELL_ADDR=0xfffff000 +CONFIG_PCIE_ARMADA_8K=y +CONFIG_PCIE_BRCMSTB=m +CONFIG_PCIE_BUS_DEFAULT=y +# CONFIG_PCIE_BUS_PEER2PEER is not set +# CONFIG_PCIE_BUS_PERFORMANCE is not set +# CONFIG_PCIE_BUS_SAFE is not set +# CONFIG_PCIE_BUS_TUNE_OFF is not set +CONFIG_PCIE_CADENCE=y +CONFIG_PCIE_CADENCE_EP=y +CONFIG_PCIE_CADENCE_HOST=y +CONFIG_PCIE_CADENCE_PLAT=y +CONFIG_PCIE_CADENCE_PLAT_EP=y +CONFIG_PCIE_CADENCE_PLAT_HOST=y +CONFIG_PCIE_DPC=y +CONFIG_PCIE_DW=y +CONFIG_PCIE_DW_EP=y +CONFIG_PCIE_DW_HOST=y +CONFIG_PCIE_DW_PLAT=y +CONFIG_PCIE_DW_PLAT_EP=y +CONFIG_PCIE_DW_PLAT_HOST=y +# CONFIG_PCIE_ECRC is not set +CONFIG_PCIE_EDR=y +CONFIG_PCIE_HISI_ERR=y +CONFIG_PCIE_HISI_STB=y +CONFIG_PCIE_IPROC=m +CONFIG_PCIE_IPROC_MSI=y +CONFIG_PCIE_IPROC_PLATFORM=m +CONFIG_PCIE_KEEMBAY=y +CONFIG_PCIE_KEEMBAY_EP=y +CONFIG_PCIE_KEEMBAY_HOST=y +CONFIG_PCIE_KIRIN=y +# CONFIG_PCIE_LAYERSCAPE_GEN4 is not set +CONFIG_PCIE_MEDIATEK=y +CONFIG_PCIE_MEDIATEK_GEN3=m +CONFIG_PCIE_MICROCHIP_HOST=y +# CONFIG_PCIE_MOBIVEIL_PLAT is not set +CONFIG_PCIE_PME=y +CONFIG_PCIE_PTM=y +CONFIG_PCIE_QCOM=y +CONFIG_PCIE_QCOM_EP=m +CONFIG_PCIE_RCAR_EP=y +CONFIG_PCIE_RCAR_HOST=y +CONFIG_PCIE_ROCKCHIP=y +CONFIG_PCIE_ROCKCHIP_DW_HOST=y +CONFIG_PCIE_ROCKCHIP_EP=y +CONFIG_PCIE_ROCKCHIP_HOST=m +CONFIG_PCIE_TEGRA194=m +CONFIG_PCIE_TEGRA194_EP=m +CONFIG_PCIE_TEGRA194_HOST=m +CONFIG_PCIE_VISCONTI_HOST=y +CONFIG_PCIE_XILINX=y +CONFIG_PCIE_XILINX_CPM=y +CONFIG_PCIE_XILINX_NWL=y +CONFIG_PCIPCWATCHDOG=m +CONFIG_PCI_AARDVARK=y +CONFIG_PCI_ATMEL=m +CONFIG_PCI_ATS=y +CONFIG_PCI_BRIDGE_EMUL=y +# CONFIG_PCI_CNB20LE_QUIRK is not set +# CONFIG_PCI_DEBUG is not set +CONFIG_PCI_DIRECT=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DOMAINS_GENERIC=y +CONFIG_PCI_ECAM=y +CONFIG_PCI_ENDPOINT=y +CONFIG_PCI_ENDPOINT_CONFIGFS=y +# CONFIG_PCI_ENDPOINT_TEST is not set +CONFIG_PCI_EPF_NTB=m +# CONFIG_PCI_EPF_TEST is not set +CONFIG_PCI_FTPCI100=y +CONFIG_PCI_HISI=y +CONFIG_PCI_HOST_COMMON=y +CONFIG_PCI_HOST_GENERIC=y +CONFIG_PCI_HOST_THUNDER_ECAM=y +CONFIG_PCI_HOST_THUNDER_PEM=y +CONFIG_PCI_HYPERV=m +CONFIG_PCI_HYPERV_INTERFACE=m +CONFIG_PCI_IMX6=y +CONFIG_PCI_IOV=y +CONFIG_PCI_J721E=y +CONFIG_PCI_J721E_EP=y +CONFIG_PCI_J721E_HOST=y +CONFIG_PCI_KEYSTONE=y +CONFIG_PCI_KEYSTONE_EP=y +CONFIG_PCI_KEYSTONE_HOST=y +CONFIG_PCI_LABEL=y +CONFIG_PCI_LAYERSCAPE=y +CONFIG_PCI_LAYERSCAPE_EP=y +CONFIG_PCI_LOCKLESS_CONFIG=y +CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_MSI=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y +# CONFIG_PCI_P2PDMA is not set +CONFIG_PCI_PASID=y +CONFIG_PCI_PF_STUB=m +CONFIG_PCI_PRI=y +CONFIG_PCI_QUIRKS=y +CONFIG_PCI_REALLOC_ENABLE_AUTO=y +CONFIG_PCI_STUB=m +CONFIG_PCI_SW_SWITCHTEC=m +CONFIG_PCI_SYSCALL=y +CONFIG_PCI_TEGRA=y +CONFIG_PCI_XEN=y +CONFIG_PCI_XGENE=y +CONFIG_PCI_XGENE_MSI=y +CONFIG_PCMCIA_3C574=m +CONFIG_PCMCIA_3C589=m +CONFIG_PCMCIA_AHA152X=m +CONFIG_PCMCIA_ATMEL=m +CONFIG_PCMCIA_AXNET=m +CONFIG_PCMCIA_FDOMAIN=m +CONFIG_PCMCIA_FMVJ18X=m +CONFIG_PCMCIA_HERMES=m +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_PCMCIA_NMCLAN=m +CONFIG_PCMCIA_PCNET=m +CONFIG_PCMCIA_QLOGIC=m +CONFIG_PCMCIA_RAYCS=m +CONFIG_PCMCIA_SMC91C92=m +CONFIG_PCMCIA_SPECTRUM=m +CONFIG_PCMCIA_SYM53C500=m +CONFIG_PCMCIA_WL3501=m +CONFIG_PCMCIA_XIRC2PS=m +CONFIG_PCMCIA_XIRCOM=m +CONFIG_PCNET32=m +CONFIG_PCPU_DEV_REFCNT=y +CONFIG_PCSPKR_PLATFORM=y +CONFIG_PCS_LYNX=m +CONFIG_PCS_XPCS=m +CONFIG_PD6729=m +CONFIG_PDA_POWER=m +CONFIG_PDC_ADMA=m +CONFIG_PEAQ_WMI=m +CONFIG_PECI=m +CONFIG_PECI_CPU=m +# CONFIG_PERCPU_STATS is not set +# CONFIG_PERCPU_TEST is not set +CONFIG_PERF_EVENTS=y +CONFIG_PERF_EVENTS_AMD_BRS=y +# CONFIG_PERF_EVENTS_AMD_POWER is not set +CONFIG_PERF_EVENTS_AMD_UNCORE=m +CONFIG_PERF_EVENTS_INTEL_CSTATE=m +CONFIG_PERF_EVENTS_INTEL_RAPL=m +CONFIG_PERF_EVENTS_INTEL_UNCORE=y +CONFIG_PERSISTENT_KEYRINGS=y +CONFIG_PHANTOM=m +CONFIG_PHONET=m +CONFIG_PHYLIB=y +CONFIG_PHYLINK=m +CONFIG_PHYSICAL_ALIGN=0x200000 +CONFIG_PHYSICAL_START=0x1000000 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_PHY_AM654_SERDES=m +CONFIG_PHY_BCM_NS_USB2=m +CONFIG_PHY_BCM_NS_USB3=m +CONFIG_PHY_BCM_SR_PCIE=m +CONFIG_PHY_BCM_SR_USB=m +CONFIG_PHY_BERLIN_SATA=m +CONFIG_PHY_BERLIN_USB=m +CONFIG_PHY_BRCM_SATA=y +CONFIG_PHY_BRCM_USB=m +CONFIG_PHY_CADENCE_DPHY=m +CONFIG_PHY_CADENCE_DPHY_RX=m +CONFIG_PHY_CADENCE_SALVO=m +CONFIG_PHY_CADENCE_SIERRA=m +CONFIG_PHY_CADENCE_TORRENT=m +CONFIG_PHY_CAN_TRANSCEIVER=m +CONFIG_PHY_CPCAP_USB=m +CONFIG_PHY_FSL_IMX8MQ_USB=m +CONFIG_PHY_FSL_IMX8M_PCIE=m +CONFIG_PHY_FSL_LYNX_28G=m +CONFIG_PHY_HI3660_USB=m +CONFIG_PHY_HI3670_PCIE=m +CONFIG_PHY_HI3670_USB=m +CONFIG_PHY_HI6220_USB=m +CONFIG_PHY_HISI_INNO_USB2=m +CONFIG_PHY_HISTB_COMBPHY=m +CONFIG_PHY_INTEL_KEEMBAY_EMMC=m +CONFIG_PHY_INTEL_KEEMBAY_USB=m +CONFIG_PHY_INTEL_LGM_EMMC=m +CONFIG_PHY_J721E_WIZ=m +CONFIG_PHY_LAN966X_SERDES=m +CONFIG_PHY_MAPPHONE_MDM6600=m +CONFIG_PHY_MESON8B_USB2=m +CONFIG_PHY_MESON_AXG_MIPI_DPHY=m +CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG=y +CONFIG_PHY_MESON_AXG_PCIE=y +CONFIG_PHY_MESON_G12A_USB2=m +CONFIG_PHY_MESON_G12A_USB3_PCIE=m +CONFIG_PHY_MESON_GXL_USB2=m +CONFIG_PHY_MIXEL_MIPI_DPHY=m +CONFIG_PHY_MTK_HDMI=m +CONFIG_PHY_MTK_MIPI_DSI=m +CONFIG_PHY_MTK_TPHY=m +CONFIG_PHY_MTK_UFS=m +CONFIG_PHY_MTK_XSPHY=m +CONFIG_PHY_MVEBU_A3700_COMPHY=m +CONFIG_PHY_MVEBU_A3700_UTMI=m +CONFIG_PHY_MVEBU_A38X_COMPHY=m +CONFIG_PHY_MVEBU_CP110_COMPHY=m +CONFIG_PHY_MVEBU_CP110_UTMI=m +CONFIG_PHY_NS2_PCIE=y +CONFIG_PHY_NS2_USB_DRD=m +CONFIG_PHY_OCELOT_SERDES=m +CONFIG_PHY_PXA_28NM_HSIC=m +CONFIG_PHY_PXA_28NM_USB2=m +CONFIG_PHY_QCOM_APQ8064_SATA=m +CONFIG_PHY_QCOM_EDP=m +CONFIG_PHY_QCOM_IPQ4019_USB=m +CONFIG_PHY_QCOM_IPQ806X_SATA=m +CONFIG_PHY_QCOM_IPQ806X_USB=m +CONFIG_PHY_QCOM_PCIE2=m +CONFIG_PHY_QCOM_QMP=m +CONFIG_PHY_QCOM_QUSB2=m +CONFIG_PHY_QCOM_USB_HS=m +CONFIG_PHY_QCOM_USB_HSIC=m +CONFIG_PHY_QCOM_USB_HS_28NM=m +CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2=m +CONFIG_PHY_QCOM_USB_SS=m +CONFIG_PHY_RCAR_GEN2=m +CONFIG_PHY_RCAR_GEN3_PCIE=m +CONFIG_PHY_RCAR_GEN3_USB2=m +CONFIG_PHY_RCAR_GEN3_USB3=m +CONFIG_PHY_ROCKCHIP_DP=m +CONFIG_PHY_ROCKCHIP_DPHY_RX0=m +CONFIG_PHY_ROCKCHIP_EMMC=m +CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY=m +CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m +CONFIG_PHY_ROCKCHIP_INNO_HDMI=m +CONFIG_PHY_ROCKCHIP_INNO_USB2=m +CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=m +CONFIG_PHY_ROCKCHIP_PCIE=m +CONFIG_PHY_ROCKCHIP_TYPEC=m +CONFIG_PHY_ROCKCHIP_USB=m +CONFIG_PHY_SAMSUNG_USB2=m +CONFIG_PHY_SPARX5_SERDES=m +CONFIG_PHY_SUN4I_USB=m +CONFIG_PHY_SUN50I_USB3=m +CONFIG_PHY_SUN6I_MIPI_DPHY=m +# CONFIG_PHY_SUN9I_USB is not set +CONFIG_PHY_TEGRA194_P2U=m +CONFIG_PHY_TEGRA_XUSB=m +CONFIG_PHY_TI_GMII_SEL=m +CONFIG_PHY_TUSB1210=m +CONFIG_PHY_XGENE=y +CONFIG_PHY_XILINX_ZYNQMP=m +CONFIG_PI433=m +# CONFIG_PID_IN_CONTEXTIDR is not set +CONFIG_PID_NS=y +CONFIG_PINCONF=y +CONFIG_PINCTRL=y +CONFIG_PINCTRL_ALDERLAKE=m +CONFIG_PINCTRL_AMD=y +CONFIG_PINCTRL_APPLE_GPIO=m +CONFIG_PINCTRL_APQ8064=m +CONFIG_PINCTRL_APQ8084=m +CONFIG_PINCTRL_ARMADA_37XX=y +CONFIG_PINCTRL_ARMADA_AP806=y +CONFIG_PINCTRL_ARMADA_CP110=y +CONFIG_PINCTRL_AS370=y +CONFIG_PINCTRL_AS3722=y +CONFIG_PINCTRL_AXP209=m +CONFIG_PINCTRL_BAYTRAIL=y +CONFIG_PINCTRL_BCM2835=y +CONFIG_PINCTRL_BCM4908=m +CONFIG_PINCTRL_BERLIN=y +CONFIG_PINCTRL_BERLIN_BG4CT=y +CONFIG_PINCTRL_BM1880=y +CONFIG_PINCTRL_BROXTON=m +CONFIG_PINCTRL_CANNONLAKE=m +CONFIG_PINCTRL_CEDARFORK=m +CONFIG_PINCTRL_CHERRYVIEW=y +CONFIG_PINCTRL_CS47L15=y +CONFIG_PINCTRL_CS47L35=y +CONFIG_PINCTRL_CS47L85=y +CONFIG_PINCTRL_CS47L90=y +CONFIG_PINCTRL_CS47L92=y +CONFIG_PINCTRL_DA9062=m +CONFIG_PINCTRL_DENVERTON=m +CONFIG_PINCTRL_ELKHARTLAKE=m +CONFIG_PINCTRL_EMMITSBURG=m +CONFIG_PINCTRL_GEMINILAKE=m +CONFIG_PINCTRL_ICELAKE=m +CONFIG_PINCTRL_IMX=y +CONFIG_PINCTRL_IMX8DXL=y +CONFIG_PINCTRL_IMX8MM=y +CONFIG_PINCTRL_IMX8MN=y +CONFIG_PINCTRL_IMX8MP=y +CONFIG_PINCTRL_IMX8MQ=y +CONFIG_PINCTRL_IMX8QM=y +CONFIG_PINCTRL_IMX8QXP=y +CONFIG_PINCTRL_IMX8ULP=m +CONFIG_PINCTRL_IMX93=m +CONFIG_PINCTRL_IMXRT1050=y +CONFIG_PINCTRL_IMXRT1170=y +CONFIG_PINCTRL_IMX_SCU=y +CONFIG_PINCTRL_INTEL=y +CONFIG_PINCTRL_IPQ4019=m +CONFIG_PINCTRL_IPQ6018=m +CONFIG_PINCTRL_IPQ8064=m +CONFIG_PINCTRL_IPQ8074=m +CONFIG_PINCTRL_IPROC_GPIO=y +CONFIG_PINCTRL_JASPERLAKE=m +CONFIG_PINCTRL_KEEMBAY=m +CONFIG_PINCTRL_LAKEFIELD=m +CONFIG_PINCTRL_LEWISBURG=m +CONFIG_PINCTRL_LOCHNAGAR=m +CONFIG_PINCTRL_LPASS_LPI=m +CONFIG_PINCTRL_LYNXPOINT=m +CONFIG_PINCTRL_MADERA=m +CONFIG_PINCTRL_MAX77620=m +CONFIG_PINCTRL_MCP23S08=m +CONFIG_PINCTRL_MCP23S08_I2C=m +CONFIG_PINCTRL_MCP23S08_SPI=m +CONFIG_PINCTRL_MDM9607=m +CONFIG_PINCTRL_MDM9615=m +CONFIG_PINCTRL_MESON=y +CONFIG_PINCTRL_MESON8_PMX=y +CONFIG_PINCTRL_MESON_A1=y +CONFIG_PINCTRL_MESON_AXG=y +CONFIG_PINCTRL_MESON_AXG_PMX=y +CONFIG_PINCTRL_MESON_G12A=y +CONFIG_PINCTRL_MESON_GXBB=y +CONFIG_PINCTRL_MESON_GXL=y +CONFIG_PINCTRL_MESON_S4=m +CONFIG_PINCTRL_MICROCHIP_SGPIO=y +CONFIG_PINCTRL_MSM=y +CONFIG_PINCTRL_MSM8226=m +CONFIG_PINCTRL_MSM8660=m +CONFIG_PINCTRL_MSM8916=m +CONFIG_PINCTRL_MSM8953=m +CONFIG_PINCTRL_MSM8960=m +CONFIG_PINCTRL_MSM8976=m +CONFIG_PINCTRL_MSM8994=m +CONFIG_PINCTRL_MSM8996=m +CONFIG_PINCTRL_MSM8998=m +CONFIG_PINCTRL_MSM8X74=m +CONFIG_PINCTRL_MT2712=y +CONFIG_PINCTRL_MT6397=y +CONFIG_PINCTRL_MT6765=y +CONFIG_PINCTRL_MT6779=m +CONFIG_PINCTRL_MT6795=y +CONFIG_PINCTRL_MT6797=y +CONFIG_PINCTRL_MT7622=y +CONFIG_PINCTRL_MT7986=y +CONFIG_PINCTRL_MT8167=y +CONFIG_PINCTRL_MT8173=y +CONFIG_PINCTRL_MT8183=y +CONFIG_PINCTRL_MT8186=y +CONFIG_PINCTRL_MT8192=y +CONFIG_PINCTRL_MT8195=y +CONFIG_PINCTRL_MT8365=y +CONFIG_PINCTRL_MT8516=y +CONFIG_PINCTRL_MTK=y +CONFIG_PINCTRL_MTK_MOORE=y +CONFIG_PINCTRL_MTK_PARIS=y +CONFIG_PINCTRL_MTK_V2=y +CONFIG_PINCTRL_MVEBU=y +CONFIG_PINCTRL_NS2_MUX=y +CONFIG_PINCTRL_OCELOT=y +CONFIG_PINCTRL_OWL=y +CONFIG_PINCTRL_PALMAS=y +CONFIG_PINCTRL_PFC_R8A774A1=y +CONFIG_PINCTRL_PFC_R8A774B1=y +CONFIG_PINCTRL_PFC_R8A774C0=y +CONFIG_PINCTRL_PFC_R8A774E1=y +CONFIG_PINCTRL_PFC_R8A77950=y +CONFIG_PINCTRL_PFC_R8A77951=y +CONFIG_PINCTRL_PFC_R8A77960=y +CONFIG_PINCTRL_PFC_R8A77961=y +CONFIG_PINCTRL_PFC_R8A77965=y +CONFIG_PINCTRL_PFC_R8A77970=y +CONFIG_PINCTRL_PFC_R8A77980=y +CONFIG_PINCTRL_PFC_R8A77990=y +CONFIG_PINCTRL_PFC_R8A77995=y +CONFIG_PINCTRL_PFC_R8A779A0=y +CONFIG_PINCTRL_PFC_R8A779F0=y +CONFIG_PINCTRL_QCM2290=m +CONFIG_PINCTRL_QCOM_SPMI_PMIC=m +CONFIG_PINCTRL_QCOM_SSBI_PMIC=m +CONFIG_PINCTRL_QCS404=m +CONFIG_PINCTRL_QDF2XXX=m +CONFIG_PINCTRL_RENESAS=y +CONFIG_PINCTRL_RK805=m +CONFIG_PINCTRL_ROCKCHIP=y +CONFIG_PINCTRL_RZG2L=y +CONFIG_PINCTRL_S700=y +CONFIG_PINCTRL_S900=y +CONFIG_PINCTRL_SC7180=m +CONFIG_PINCTRL_SC7280=m +CONFIG_PINCTRL_SC7280_LPASS_LPI=m +CONFIG_PINCTRL_SC8180X=m +CONFIG_PINCTRL_SC8280XP=m +CONFIG_PINCTRL_SDM660=m +CONFIG_PINCTRL_SDM845=m +CONFIG_PINCTRL_SDX55=m +CONFIG_PINCTRL_SDX65=m +CONFIG_PINCTRL_SH_PFC=y +CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_SM6115=m +CONFIG_PINCTRL_SM6125=m +CONFIG_PINCTRL_SM6350=m +CONFIG_PINCTRL_SM8150=m +CONFIG_PINCTRL_SM8250=m +CONFIG_PINCTRL_SM8250_LPASS_LPI=m +CONFIG_PINCTRL_SM8350=m +CONFIG_PINCTRL_SM8450=m +CONFIG_PINCTRL_SPRD=y +CONFIG_PINCTRL_SPRD_SC9860=y +CONFIG_PINCTRL_STMFX=m +CONFIG_PINCTRL_SUN4I_A10=y +CONFIG_PINCTRL_SUN50I_A100=y +CONFIG_PINCTRL_SUN50I_A100_R=y +CONFIG_PINCTRL_SUN50I_A64=y +CONFIG_PINCTRL_SUN50I_A64_R=y +CONFIG_PINCTRL_SUN50I_H5=y +CONFIG_PINCTRL_SUN50I_H6=y +CONFIG_PINCTRL_SUN50I_H616=y +CONFIG_PINCTRL_SUN50I_H616_R=y +CONFIG_PINCTRL_SUN50I_H6_R=y +CONFIG_PINCTRL_SUN5I=y +CONFIG_PINCTRL_SUN6I_A31=y +CONFIG_PINCTRL_SUN6I_A31_R=y +CONFIG_PINCTRL_SUN8I_A23=y +CONFIG_PINCTRL_SUN8I_A23_R=y +CONFIG_PINCTRL_SUN8I_A33=y +CONFIG_PINCTRL_SUN8I_A83T=y +CONFIG_PINCTRL_SUN8I_A83T_R=y +CONFIG_PINCTRL_SUN8I_H3=y +CONFIG_PINCTRL_SUN8I_H3_R=y +CONFIG_PINCTRL_SUN8I_V3S=y +CONFIG_PINCTRL_SUN9I_A80=y +CONFIG_PINCTRL_SUN9I_A80_R=y +CONFIG_PINCTRL_SUNRISEPOINT=m +CONFIG_PINCTRL_SUNXI=y +CONFIG_PINCTRL_SX150X=y +CONFIG_PINCTRL_TEGRA=y +CONFIG_PINCTRL_TEGRA124=y +CONFIG_PINCTRL_TEGRA194=y +CONFIG_PINCTRL_TEGRA210=y +CONFIG_PINCTRL_TEGRA_XUSB=y +CONFIG_PINCTRL_TIGERLAKE=m +CONFIG_PINCTRL_TMPV7700=y +CONFIG_PINCTRL_VISCONTI=y +CONFIG_PINCTRL_ZYNQMP=m +CONFIG_PING=m +CONFIG_PINMUX=y +CONFIG_PKCS7_MESSAGE_PARSER=y +CONFIG_PKCS7_TEST_KEY=m +CONFIG_PKCS8_PRIVATE_KEY_PARSER=m +CONFIG_PL320_MBOX=y +CONFIG_PL330_DMA=m +CONFIG_PLATFORM_MHU=m +CONFIG_PLATFORM_SI4713=m +CONFIG_PLAYSTATION_FF=y +CONFIG_PLDMFW=y +CONFIG_PLFXLC=m +CONFIG_PLIP=m +CONFIG_PLX_DMA=m +CONFIG_PLX_HERMES=m +CONFIG_PM=y +CONFIG_PM8916_WATCHDOG=m +CONFIG_PMBUS=m +CONFIG_PMC_ATOM=y +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +CONFIG_PMIC_DA9052=y +CONFIG_PMS7003=m +CONFIG_PM_ADVANCED_DEBUG=y +# CONFIG_PM_AUTOSLEEP is not set +CONFIG_PM_CLK=y +CONFIG_PM_DEBUG=y +CONFIG_PM_DEVFREQ=y +CONFIG_PM_DEVFREQ_EVENT=y +CONFIG_PM_GENERIC_DOMAINS=y +CONFIG_PM_GENERIC_DOMAINS_OF=y +CONFIG_PM_GENERIC_DOMAINS_SLEEP=y +CONFIG_PM_NOTIFIER_ERROR_INJECT=m +CONFIG_PM_OPP=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_DEBUG=y +CONFIG_PM_SLEEP_SMP=y +CONFIG_PM_STD_PARTITION="" +# CONFIG_PM_TEST_SUSPEND is not set +CONFIG_PM_TRACE=y +CONFIG_PM_TRACE_RTC=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PM_WAKELOCKS_GC=y +CONFIG_PM_WAKELOCKS_LIMIT=100 +CONFIG_PNFS_BLOCK=m +CONFIG_PNFS_FILE_LAYOUT=m +CONFIG_PNFS_FLEXFILE_LAYOUT=m +CONFIG_PNP=y +CONFIG_PNPACPI=y +# CONFIG_PNP_DEBUG_MESSAGES is not set +CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_POSIX_TIMERS=y +CONFIG_POWERCAP=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_AS3722=y +CONFIG_POWER_RESET_ATC260X=m +# CONFIG_POWER_RESET_BRCMSTB is not set +CONFIG_POWER_RESET_GPIO=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_POWER_RESET_HISI=y +CONFIG_POWER_RESET_LINKSTATION=m +CONFIG_POWER_RESET_LTC2952=y +CONFIG_POWER_RESET_MSM=y +CONFIG_POWER_RESET_MT6323=y +CONFIG_POWER_RESET_OCELOT_RESET=y +CONFIG_POWER_RESET_QCOM_PON=m +CONFIG_POWER_RESET_REGULATOR=y +CONFIG_POWER_RESET_RESTART=y +CONFIG_POWER_RESET_SC27XX=m +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_RESET_SYSCON_POWEROFF=y +CONFIG_POWER_RESET_TPS65086=y +CONFIG_POWER_RESET_VEXPRESS=y +# CONFIG_POWER_RESET_XGENE is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_POWER_SUPPLY_HWMON=y +CONFIG_PPDEV=m +CONFIG_PPP=y +CONFIG_PPPOATM=m +CONFIG_PPPOE=m +CONFIG_PPPOL2TP=m +CONFIG_PPP_ASYNC=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=m +CONFIG_PPP_MULTILINK=y +CONFIG_PPP_SYNC_TTY=m +CONFIG_PPS=y +CONFIG_PPS_CLIENT_GPIO=m +# CONFIG_PPS_CLIENT_KTIMER is not set +CONFIG_PPS_CLIENT_LDISC=m +CONFIG_PPS_CLIENT_PARPORT=m +# CONFIG_PPS_DEBUG is not set +CONFIG_PPTP=m +# CONFIG_PREEMPT is not set +# CONFIG_PREEMPTIRQ_DELAY_TEST is not set +# CONFIG_PREEMPT_DYNAMIC is not set +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_NOTIFIERS=y +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PREEMPT_VOLUNTARY_BUILD=y +CONFIG_PRESTERA=m +CONFIG_PRESTERA_PCI=m +CONFIG_PREVENT_FIRMWARE_BUILD=y +# CONFIG_PRIME_NUMBERS is not set +CONFIG_PRINTER=m +CONFIG_PRINTK=y +# CONFIG_PRINTK_CALLER is not set +# CONFIG_PRINTK_INDEX is not set +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 +CONFIG_PRINTK_TIME=y +# CONFIG_PRINT_QUOTA_WARNING is not set +CONFIG_PRISM2_USB=m +CONFIG_PROBE_EVENTS=y +CONFIG_PROCESSOR_SELECT=y +CONFIG_PROC_CHILDREN=y +CONFIG_PROC_CPU_RESCTRL=y +CONFIG_PROC_EVENTS=y +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_PROC_PID_ARCH_STATUS=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_THERMAL_MMIO_RAPL=m +CONFIG_PROC_VMCORE=y +CONFIG_PROC_VMCORE_DEVICE_DUMP=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +CONFIG_PROFILING=y +# CONFIG_PROVE_LOCKING is not set +# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set +CONFIG_PRU_REMOTEPROC=m +CONFIG_PSAMPLE=m +CONFIG_PSI=y +# CONFIG_PSI_DEFAULT_DISABLED is not set +CONFIG_PSTORE=y +# CONFIG_PSTORE_842_COMPRESS is not set +CONFIG_PSTORE_BLK=m +CONFIG_PSTORE_BLK_BLKDEV="" +CONFIG_PSTORE_BLK_KMSG_SIZE=64 +CONFIG_PSTORE_BLK_MAX_REASON=2 +CONFIG_PSTORE_COMPRESS=y +CONFIG_PSTORE_COMPRESS_DEFAULT="deflate" +# CONFIG_PSTORE_CONSOLE is not set +CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240 +CONFIG_PSTORE_DEFLATE_COMPRESS=y +CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y +# CONFIG_PSTORE_FTRACE is not set +# CONFIG_PSTORE_LZ4HC_COMPRESS is not set +# CONFIG_PSTORE_LZ4_COMPRESS is not set +# CONFIG_PSTORE_LZO_COMPRESS is not set +# CONFIG_PSTORE_PMSG is not set +CONFIG_PSTORE_RAM=m +CONFIG_PSTORE_ZONE=m +# CONFIG_PSTORE_ZSTD_COMPRESS is not set +CONFIG_PTDUMP_CORE=y +# CONFIG_PTDUMP_DEBUGFS is not set +CONFIG_PTE_MARKER=y +CONFIG_PTE_MARKER_UFFD_WP=y +CONFIG_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_DTE=m +CONFIG_PTP_1588_CLOCK_IDT82P33=m +CONFIG_PTP_1588_CLOCK_IDTCM=m +CONFIG_PTP_1588_CLOCK_INES=m +CONFIG_PTP_1588_CLOCK_KVM=m +CONFIG_PTP_1588_CLOCK_OCP=m +CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_PTP_1588_CLOCK_QORIQ=m +CONFIG_PTP_1588_CLOCK_VMW=m +CONFIG_PUNIT_ATOM_DEBUG=m +CONFIG_PVH=y +CONFIG_PVPANIC=y +CONFIG_PVPANIC_MMIO=m +CONFIG_PVPANIC_PCI=m +CONFIG_PWM=y +CONFIG_PWM_ATMEL_HLCDC_PWM=m +CONFIG_PWM_ATMEL_TCB=m +CONFIG_PWM_BCM2835=m +CONFIG_PWM_BCM_IPROC=m +CONFIG_PWM_BERLIN=m +CONFIG_PWM_BRCMSTB=m +CONFIG_PWM_CRC=y +CONFIG_PWM_CROS_EC=m +# CONFIG_PWM_DEBUG is not set +CONFIG_PWM_DWC=m +CONFIG_PWM_FSL_FTM=m +CONFIG_PWM_HIBVT=m +CONFIG_PWM_IMX1=m +CONFIG_PWM_IMX27=m +CONFIG_PWM_IMX_TPM=m +CONFIG_PWM_IQS620A=m +CONFIG_PWM_KEEMBAY=m +CONFIG_PWM_LP3943=m +CONFIG_PWM_LPSS=y +CONFIG_PWM_LPSS_PCI=y +CONFIG_PWM_LPSS_PLATFORM=y +CONFIG_PWM_MEDIATEK=m +CONFIG_PWM_MESON=m +CONFIG_PWM_MTK_DISP=m +CONFIG_PWM_NTXEC=m +CONFIG_PWM_PCA9685=m +CONFIG_PWM_RASPBERRYPI_POE=m +CONFIG_PWM_RCAR=m +CONFIG_PWM_RENESAS_TPU=m +CONFIG_PWM_ROCKCHIP=m +CONFIG_PWM_SL28CPLD=m +CONFIG_PWM_SPRD=m +CONFIG_PWM_STMPE=y +CONFIG_PWM_SUN4I=m +CONFIG_PWM_SYSFS=y +CONFIG_PWM_TEGRA=m +CONFIG_PWM_TIECAP=m +CONFIG_PWM_TIEHRPWM=m +CONFIG_PWM_TWL=m +CONFIG_PWM_TWL_LED=m +CONFIG_PWM_VISCONTI=m +CONFIG_PWM_XILINX=m +CONFIG_PWRSEQ_EMMC=m +CONFIG_PWRSEQ_SD8787=m +CONFIG_PWRSEQ_SIMPLE=m +CONFIG_PXA168_ETH=m +CONFIG_QCA7000=m +CONFIG_QCA7000_SPI=m +CONFIG_QCA7000_UART=m +CONFIG_QCM_DISPCC_2290=m +CONFIG_QCM_GCC_2290=m +CONFIG_QCOM_A53PLL=m +CONFIG_QCOM_A7PLL=m +CONFIG_QCOM_AOSS_QMP=m +CONFIG_QCOM_APCS_IPC=m +CONFIG_QCOM_APR=m +CONFIG_QCOM_BAM_DMA=m +CONFIG_QCOM_BAM_DMUX=m +CONFIG_QCOM_CLK_APCC_MSM8996=m +CONFIG_QCOM_CLK_APCS_MSM8916=m +CONFIG_QCOM_CLK_APCS_SDX55=m +CONFIG_QCOM_CLK_RPM=m +CONFIG_QCOM_CLK_RPMH=m +CONFIG_QCOM_CLK_SMD_RPM=m +CONFIG_QCOM_COINCELL=m +CONFIG_QCOM_COMMAND_DB=y +CONFIG_QCOM_CPR=m +CONFIG_QCOM_EBI2=y +CONFIG_QCOM_EMAC=m +CONFIG_QCOM_FALKOR_ERRATUM_1003=y +CONFIG_QCOM_FALKOR_ERRATUM_1009=y +CONFIG_QCOM_FALKOR_ERRATUM_E1041=y +CONFIG_QCOM_FASTRPC=m +CONFIG_QCOM_GDSC=y +CONFIG_QCOM_GENI_SE=m +CONFIG_QCOM_GPI_DMA=m +CONFIG_QCOM_GSBI=m +CONFIG_QCOM_HFPLL=m +CONFIG_QCOM_HIDMA=m +CONFIG_QCOM_HIDMA_MGMT=m +CONFIG_QCOM_IOMMU=y +CONFIG_QCOM_IPA=m +CONFIG_QCOM_IPCC=y +CONFIG_QCOM_IRQ_COMBINER=y +CONFIG_QCOM_KRYO_L2_ACCESSORS=y +CONFIG_QCOM_L2_PMU=y +CONFIG_QCOM_L3_PMU=y +CONFIG_QCOM_LLCC=m +CONFIG_QCOM_LMH=m +CONFIG_QCOM_MDT_LOADER=m +CONFIG_QCOM_MPM=m +CONFIG_QCOM_OCMEM=m +CONFIG_QCOM_PDC=y +CONFIG_QCOM_PDR_HELPERS=m +CONFIG_QCOM_PIL_INFO=m +CONFIG_QCOM_Q6V5_ADSP=m +CONFIG_QCOM_Q6V5_COMMON=m +CONFIG_QCOM_Q6V5_MSS=m +CONFIG_QCOM_Q6V5_PAS=m +CONFIG_QCOM_Q6V5_WCSS=m +CONFIG_QCOM_QDF2400_ERRATUM_0065=y +CONFIG_QCOM_QFPROM=m +CONFIG_QCOM_QMI_HELPERS=m +CONFIG_QCOM_RMTFS_MEM=m +CONFIG_QCOM_RPMCC=y +CONFIG_QCOM_RPMH=y +CONFIG_QCOM_RPMHPD=y +CONFIG_QCOM_RPMPD=m +CONFIG_QCOM_RPROC_COMMON=m +CONFIG_QCOM_SCM=y +# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set +CONFIG_QCOM_SMD_RPM=m +CONFIG_QCOM_SMEM=m +CONFIG_QCOM_SMEM_STATE=y +CONFIG_QCOM_SMP2P=m +CONFIG_QCOM_SMSM=m +CONFIG_QCOM_SOCINFO=m +CONFIG_QCOM_SPM=m +CONFIG_QCOM_SPMI_ADC5=m +CONFIG_QCOM_SPMI_ADC_TM5=m +CONFIG_QCOM_SPMI_IADC=m +CONFIG_QCOM_SPMI_TEMP_ALARM=m +CONFIG_QCOM_SPMI_VADC=m +CONFIG_QCOM_SSC_BLOCK_BUS=y +CONFIG_QCOM_STATS=m +CONFIG_QCOM_SYSMON=m +CONFIG_QCOM_TSENS=m +CONFIG_QCOM_VADC_COMMON=m +CONFIG_QCOM_WCNSS_CTRL=m +# CONFIG_QCOM_WCNSS_PIL is not set +CONFIG_QCOM_WDT=m +CONFIG_QCS_GCC_404=m +CONFIG_QCS_Q6SSTOP_404=m +CONFIG_QCS_TURING_404=m +CONFIG_QED=m +CONFIG_QEDE=m +CONFIG_QEDF=m +CONFIG_QEDI=m +CONFIG_QED_FCOE=y +CONFIG_QED_ISCSI=y +CONFIG_QED_LL2=y +CONFIG_QED_OOO=y +CONFIG_QED_RDMA=y +CONFIG_QED_SRIOV=y +CONFIG_QE_TDM=y +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QLA3XXX=m +CONFIG_QLCNIC=m +CONFIG_QLCNIC_DCB=y +CONFIG_QLCNIC_HWMON=y +CONFIG_QLCNIC_SRIOV=y +CONFIG_QLGE=m +CONFIG_QNX4FS_FS=m +# CONFIG_QNX6FS_DEBUG is not set +CONFIG_QNX6FS_FS=m +CONFIG_QORIQ_CPUFREQ=m +CONFIG_QORIQ_THERMAL=m +CONFIG_QRTR=m +CONFIG_QRTR_MHI=m +CONFIG_QRTR_SMD=m +CONFIG_QRTR_TUN=m +CONFIG_QSEMI_PHY=m +CONFIG_QTNFMAC=m +CONFIG_QTNFMAC_PCIE=m +CONFIG_QUEUED_RWLOCKS=y +CONFIG_QUEUED_SPINLOCKS=y +CONFIG_QUICC_ENGINE=y +CONFIG_QUOTA=y +CONFIG_QUOTACTL=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_QUOTA_TREE=m +CONFIG_R6040=m +CONFIG_R8169=m +CONFIG_R8188EU=m +CONFIG_R8712U=m +CONFIG_RADIO_ADAPTERS=m +CONFIG_RADIO_MAXIRADIO=m +CONFIG_RADIO_SAA7706H=m +CONFIG_RADIO_SHARK=m +CONFIG_RADIO_SHARK2=m +CONFIG_RADIO_SI470X=m +CONFIG_RADIO_SI4713=m +CONFIG_RADIO_SI476X=m +CONFIG_RADIO_TEA575X=m +CONFIG_RADIO_TEA5764=m +CONFIG_RADIO_TEF6862=m +CONFIG_RADIO_WL1273=m +CONFIG_RADIO_WL128X=m +CONFIG_RAID6_PQ=m +CONFIG_RAID6_PQ_BENCHMARK=y +CONFIG_RAID_ATTRS=m +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_RANDOMIZE_BASE=y +CONFIG_RANDOMIZE_KSTACK_OFFSET=y +CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y +CONFIG_RANDOMIZE_MEMORY=y +CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa +CONFIG_RANDOMIZE_MODULE_REGION_FULL=y +CONFIG_RANDOM_TRUST_BOOTLOADER=y +CONFIG_RANDOM_TRUST_CPU=y +CONFIG_RANDSTRUCT_NONE=y +CONFIG_RAPIDIO=y +CONFIG_RAPIDIO_CHMAN=m +CONFIG_RAPIDIO_CPS_GEN2=m +CONFIG_RAPIDIO_CPS_XX=m +# CONFIG_RAPIDIO_DEBUG is not set +CONFIG_RAPIDIO_DISC_TIMEOUT=30 +CONFIG_RAPIDIO_DMA_ENGINE=y +# CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not set +CONFIG_RAPIDIO_ENUM_BASIC=m +CONFIG_RAPIDIO_MPORT_CDEV=m +CONFIG_RAPIDIO_RXS_GEN3=m +CONFIG_RAPIDIO_TSI721=m +CONFIG_RAS=y +CONFIG_RASPBERRYPI_FIRMWARE=y +CONFIG_RASPBERRYPI_POWER=y +CONFIG_RAS_CEC=y +# CONFIG_RAS_CEC_DEBUG is not set +CONFIG_RATIONAL=y +CONFIG_RAVB=m +CONFIG_RAVE_SP_CORE=m +CONFIG_RAVE_SP_EEPROM=m +CONFIG_RAVE_SP_WATCHDOG=m +# CONFIG_RBTREE_TEST is not set +CONFIG_RCAR_DMAC=m +CONFIG_RCAR_GEN3_THERMAL=m +CONFIG_RCAR_REMOTEPROC=m +CONFIG_RCAR_THERMAL=m +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_RCU_EXPERT is not set +CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0 +CONFIG_RCU_NEED_SEGCBLIST=y +# CONFIG_RCU_REF_SCALE_TEST is not set +# CONFIG_RCU_SCALE_TEST is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_TRACE is not set +CONFIG_RC_ATI_REMOTE=m +CONFIG_RC_CORE=m +CONFIG_RC_DECODERS=y +CONFIG_RC_DEVICES=y +CONFIG_RC_LOOPBACK=m +CONFIG_RC_MAP=m +CONFIG_RC_XBOX_DVD=m +CONFIG_RDMA_RXE=m +CONFIG_RDMA_SIW=m +CONFIG_RDS=m +# CONFIG_RDS_DEBUG is not set +CONFIG_RDS_RDMA=m +CONFIG_RDS_TCP=m +CONFIG_RD_BZIP2=y +CONFIG_RD_GZIP=y +CONFIG_RD_LZ4=y +CONFIG_RD_LZMA=y +CONFIG_RD_LZO=y +CONFIG_RD_XZ=y +CONFIG_RD_ZSTD=y +# CONFIG_READABLE_ASM is not set +# CONFIG_READ_ONLY_THP_FOR_FS is not set +CONFIG_REALTEK_AUTOPM=y +CONFIG_REALTEK_PHY=m +CONFIG_REBOOT_MODE=m +CONFIG_REED_SOLOMON=m +CONFIG_REED_SOLOMON_DEC16=y +CONFIG_REED_SOLOMON_DEC8=y +CONFIG_REED_SOLOMON_ENC8=y +# CONFIG_REED_SOLOMON_TEST is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_AC97=m +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_I3C=m +CONFIG_REGMAP_IRQ=y +CONFIG_REGMAP_MMIO=y +CONFIG_REGMAP_SCCB=m +CONFIG_REGMAP_SLIMBUS=m +CONFIG_REGMAP_SOUNDWIRE=m +CONFIG_REGMAP_SOUNDWIRE_MBQ=m +CONFIG_REGMAP_SPI=y +CONFIG_REGMAP_SPI_AVMM=m +CONFIG_REGMAP_SPMI=m +CONFIG_REGMAP_W1=m +CONFIG_REGULATOR=y +CONFIG_REGULATOR_88PG86X=m +CONFIG_REGULATOR_88PM800=m +CONFIG_REGULATOR_88PM8607=m +CONFIG_REGULATOR_AAT2870=m +CONFIG_REGULATOR_ACT8865=m +CONFIG_REGULATOR_ACT8945A=m +CONFIG_REGULATOR_AD5398=m +CONFIG_REGULATOR_ANATOP=m +CONFIG_REGULATOR_ARIZONA_LDO1=m +CONFIG_REGULATOR_ARIZONA_MICSUPP=m +CONFIG_REGULATOR_ARM_SCMI=m +CONFIG_REGULATOR_AS3711=m +CONFIG_REGULATOR_AS3722=m +CONFIG_REGULATOR_ATC260X=m +CONFIG_REGULATOR_AXP20X=m +CONFIG_REGULATOR_BCM590XX=m +CONFIG_REGULATOR_BD71815=m +CONFIG_REGULATOR_BD71828=m +CONFIG_REGULATOR_BD718XX=m +CONFIG_REGULATOR_BD9571MWV=m +CONFIG_REGULATOR_BD957XMUF=m +CONFIG_REGULATOR_CPCAP=m +CONFIG_REGULATOR_CROS_EC=m +CONFIG_REGULATOR_DA903X=m +CONFIG_REGULATOR_DA9052=m +CONFIG_REGULATOR_DA9055=m +CONFIG_REGULATOR_DA9062=m +CONFIG_REGULATOR_DA9063=m +CONFIG_REGULATOR_DA9121=m +CONFIG_REGULATOR_DA9210=m +CONFIG_REGULATOR_DA9211=m +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FAN53555=m +CONFIG_REGULATOR_FAN53880=m +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_REGULATOR_GPIO=m +CONFIG_REGULATOR_HI6421=m +CONFIG_REGULATOR_HI6421V530=m +CONFIG_REGULATOR_HI6421V600=m +CONFIG_REGULATOR_HI655X=m +CONFIG_REGULATOR_ISL6271A=m +CONFIG_REGULATOR_ISL9305=m +CONFIG_REGULATOR_LM363X=m +CONFIG_REGULATOR_LOCHNAGAR=m +CONFIG_REGULATOR_LP3971=m +CONFIG_REGULATOR_LP3972=m +CONFIG_REGULATOR_LP872X=m +CONFIG_REGULATOR_LP873X=m +CONFIG_REGULATOR_LP8755=m +CONFIG_REGULATOR_LP87565=m +CONFIG_REGULATOR_LP8788=m +CONFIG_REGULATOR_LTC3589=m +CONFIG_REGULATOR_LTC3676=m +CONFIG_REGULATOR_MAX14577=m +CONFIG_REGULATOR_MAX1586=m +CONFIG_REGULATOR_MAX20086=m +CONFIG_REGULATOR_MAX77620=m +CONFIG_REGULATOR_MAX77650=m +CONFIG_REGULATOR_MAX77686=m +CONFIG_REGULATOR_MAX77693=m +CONFIG_REGULATOR_MAX77802=m +CONFIG_REGULATOR_MAX77826=m +CONFIG_REGULATOR_MAX8649=m +CONFIG_REGULATOR_MAX8660=m +CONFIG_REGULATOR_MAX8893=m +CONFIG_REGULATOR_MAX8907=m +CONFIG_REGULATOR_MAX8925=m +CONFIG_REGULATOR_MAX8952=m +CONFIG_REGULATOR_MAX8973=m +CONFIG_REGULATOR_MAX8997=m +CONFIG_REGULATOR_MAX8998=m +CONFIG_REGULATOR_MC13783=m +CONFIG_REGULATOR_MC13892=m +CONFIG_REGULATOR_MC13XXX_CORE=m +CONFIG_REGULATOR_MCP16502=m +CONFIG_REGULATOR_MP5416=m +CONFIG_REGULATOR_MP8859=m +CONFIG_REGULATOR_MP886X=m +CONFIG_REGULATOR_MPQ7920=m +CONFIG_REGULATOR_MT6311=m +CONFIG_REGULATOR_MT6315=m +CONFIG_REGULATOR_MT6323=m +CONFIG_REGULATOR_MT6358=m +CONFIG_REGULATOR_MT6359=m +CONFIG_REGULATOR_MT6360=m +CONFIG_REGULATOR_MT6380=m +CONFIG_REGULATOR_MT6397=m +CONFIG_REGULATOR_PALMAS=m +CONFIG_REGULATOR_PCA9450=m +CONFIG_REGULATOR_PCAP=m +CONFIG_REGULATOR_PCF50633=m +CONFIG_REGULATOR_PF8X00=m +CONFIG_REGULATOR_PFUZE100=m +CONFIG_REGULATOR_PV88060=m +CONFIG_REGULATOR_PV88080=m +CONFIG_REGULATOR_PV88090=m +CONFIG_REGULATOR_PWM=m +CONFIG_REGULATOR_QCOM_LABIBB=m +CONFIG_REGULATOR_QCOM_RPM=m +CONFIG_REGULATOR_QCOM_RPMH=m +CONFIG_REGULATOR_QCOM_SMD_RPM=m +CONFIG_REGULATOR_QCOM_SPMI=m +CONFIG_REGULATOR_QCOM_USB_VBUS=m +CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m +CONFIG_REGULATOR_RC5T583=m +CONFIG_REGULATOR_RK808=m +CONFIG_REGULATOR_RN5T618=m +CONFIG_REGULATOR_ROHM=m +CONFIG_REGULATOR_RT4801=m +CONFIG_REGULATOR_RT4831=m +CONFIG_REGULATOR_RT5033=m +CONFIG_REGULATOR_RT5190A=m +CONFIG_REGULATOR_RT5759=m +CONFIG_REGULATOR_RT6160=m +CONFIG_REGULATOR_RT6245=m +CONFIG_REGULATOR_RTMV20=m +CONFIG_REGULATOR_RTQ2134=m +CONFIG_REGULATOR_RTQ6752=m +CONFIG_REGULATOR_S2MPA01=m +CONFIG_REGULATOR_S2MPS11=m +CONFIG_REGULATOR_S5M8767=m +CONFIG_REGULATOR_SC2731=m +CONFIG_REGULATOR_SKY81452=m +CONFIG_REGULATOR_SLG51000=m +CONFIG_REGULATOR_STPMIC1=m +CONFIG_REGULATOR_SY7636A=m +CONFIG_REGULATOR_SY8106A=m +CONFIG_REGULATOR_SY8824X=m +CONFIG_REGULATOR_SY8827N=m +CONFIG_REGULATOR_TPS51632=m +CONFIG_REGULATOR_TPS6105X=m +CONFIG_REGULATOR_TPS62360=m +CONFIG_REGULATOR_TPS6286X=m +CONFIG_REGULATOR_TPS65023=m +CONFIG_REGULATOR_TPS6507X=m +CONFIG_REGULATOR_TPS65086=m +CONFIG_REGULATOR_TPS65090=m +CONFIG_REGULATOR_TPS65132=m +CONFIG_REGULATOR_TPS65217=m +CONFIG_REGULATOR_TPS65218=m +CONFIG_REGULATOR_TPS6524X=m +CONFIG_REGULATOR_TPS6586X=m +CONFIG_REGULATOR_TPS65910=m +CONFIG_REGULATOR_TPS65912=m +CONFIG_REGULATOR_TPS68470=m +CONFIG_REGULATOR_TWL4030=m +CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_VCTRL=m +CONFIG_REGULATOR_VEXPRESS=m +CONFIG_REGULATOR_VIRTUAL_CONSUMER=m +CONFIG_REGULATOR_VQMMC_IPQ4019=m +CONFIG_REGULATOR_WM831X=m +CONFIG_REGULATOR_WM8350=m +CONFIG_REGULATOR_WM8400=m +CONFIG_REGULATOR_WM8994=m +# CONFIG_REISERFS_CHECK is not set +CONFIG_REISERFS_FS=m +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_REISERFS_FS_XATTR=y +# CONFIG_REISERFS_PROC_INFO is not set +CONFIG_RELAY=y +CONFIG_RELOCATABLE=y +CONFIG_REMOTEPROC=y +CONFIG_REMOTEPROC_CDEV=y +CONFIG_RENESAS_DMA=y +CONFIG_RENESAS_IRQC=y +CONFIG_RENESAS_OSTM=y +CONFIG_RENESAS_PHY=m +CONFIG_RENESAS_RPCIF=m +CONFIG_RENESAS_RZAWDT=m +CONFIG_RENESAS_RZG2LWDT=m +CONFIG_RENESAS_RZN1WDT=m +CONFIG_RENESAS_USB_DMAC=m +CONFIG_RENESAS_WDT=m +CONFIG_RESET_A10SR=m +CONFIG_RESET_ATTACK_MITIGATION=y +CONFIG_RESET_BERLIN=y +CONFIG_RESET_BRCMSTB=m +CONFIG_RESET_BRCMSTB_RESCAL=y +CONFIG_RESET_CONTROLLER=y +CONFIG_RESET_HISI=y +CONFIG_RESET_IMX7=y +CONFIG_RESET_MCHP_SPARX5=y +CONFIG_RESET_MESON=y +CONFIG_RESET_MESON_AUDIO_ARB=m +CONFIG_RESET_QCOM_AOSS=y +CONFIG_RESET_QCOM_PDC=m +CONFIG_RESET_RASPBERRYPI=m +CONFIG_RESET_RZG2L_USBPHY_CTRL=m +CONFIG_RESET_SCMI=m +CONFIG_RESET_SIMPLE=y +CONFIG_RESET_SUNXI=y +CONFIG_RESET_TEGRA_BPMP=y +CONFIG_RESET_TI_SCI=m +CONFIG_RESET_TI_SYSCON=m +CONFIG_RETHOOK=y +CONFIG_RETHUNK=y +CONFIG_RETPOLINE=y +CONFIG_RETU_WATCHDOG=m +CONFIG_RFD77402=m +CONFIG_RFD_FTL=m +CONFIG_RFKILL=y +CONFIG_RFKILL_GPIO=m +CONFIG_RFKILL_INPUT=y +CONFIG_RFKILL_LEDS=y +CONFIG_RFS_ACCEL=y +CONFIG_RING_BUFFER=y +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set +CONFIG_RIONET=m +CONFIG_RIONET_RX_SIZE=128 +CONFIG_RIONET_TX_SIZE=128 +CONFIG_RMI4_2D_SENSOR=y +CONFIG_RMI4_CORE=m +CONFIG_RMI4_F03=y +CONFIG_RMI4_F03_SERIO=m +CONFIG_RMI4_F11=y +CONFIG_RMI4_F12=y +CONFIG_RMI4_F30=y +CONFIG_RMI4_F34=y +CONFIG_RMI4_F3A=y +CONFIG_RMI4_F54=y +CONFIG_RMI4_F55=y +CONFIG_RMI4_I2C=m +CONFIG_RMI4_SMB=m +CONFIG_RMI4_SPI=m +CONFIG_RMNET=m +CONFIG_RN5T618_ADC=m +CONFIG_RN5T618_POWER=m +CONFIG_RN5T618_WATCHDOG=m +CONFIG_ROCKCHIP_ANALOGIX_DP=y +CONFIG_ROCKCHIP_CDN_DP=y +CONFIG_ROCKCHIP_DTPM=m +CONFIG_ROCKCHIP_DW_HDMI=y +CONFIG_ROCKCHIP_DW_MIPI_DSI=y +CONFIG_ROCKCHIP_EFUSE=m +CONFIG_ROCKCHIP_GRF=y +CONFIG_ROCKCHIP_INNO_HDMI=y +CONFIG_ROCKCHIP_IODOMAIN=m +CONFIG_ROCKCHIP_IOMMU=y +CONFIG_ROCKCHIP_LVDS=y +CONFIG_ROCKCHIP_MBOX=y +CONFIG_ROCKCHIP_OTP=m +CONFIG_ROCKCHIP_PHY=m +CONFIG_ROCKCHIP_PM_DOMAINS=y +CONFIG_ROCKCHIP_RGB=y +CONFIG_ROCKCHIP_RK3066_HDMI=y +CONFIG_ROCKCHIP_SARADC=m +CONFIG_ROCKCHIP_THERMAL=m +CONFIG_ROCKCHIP_TIMER=y +CONFIG_ROCKCHIP_VOP=y +CONFIG_ROCKCHIP_VOP2=y +CONFIG_ROCKER=m +CONFIG_RODATA_FULL_DEFAULT_ENABLED=y +CONFIG_ROMFS_BACKED_BY_BLOCK=y +# CONFIG_ROMFS_BACKED_BY_BOTH is not set +# CONFIG_ROMFS_BACKED_BY_MTD is not set +CONFIG_ROMFS_FS=m +CONFIG_ROMFS_ON_BLOCK=y +CONFIG_ROSE=m +CONFIG_RPCSEC_GSS_KRB5=m +CONFIG_RPMSG=m +CONFIG_RPMSG_CHAR=m +CONFIG_RPMSG_CTRL=m +CONFIG_RPMSG_MTK_SCP=m +CONFIG_RPMSG_NS=m +CONFIG_RPMSG_QCOM_GLINK=m +CONFIG_RPMSG_QCOM_GLINK_RPM=m +CONFIG_RPMSG_QCOM_GLINK_SMEM=m +CONFIG_RPMSG_QCOM_SMD=m +CONFIG_RPMSG_TTY=m +CONFIG_RPMSG_VIRTIO=m +CONFIG_RPMSG_WWAN_CTRL=m +CONFIG_RPR0521=m +CONFIG_RPS=y +CONFIG_RSEQ=y +CONFIG_RSI_91X=m +CONFIG_RSI_COEX=y +# CONFIG_RSI_DEBUGFS is not set +CONFIG_RSI_SDIO=m +CONFIG_RSI_USB=m +CONFIG_RST_RCAR=y +CONFIG_RT2400PCI=m +CONFIG_RT2500PCI=m +CONFIG_RT2500USB=m +CONFIG_RT2800PCI=m +CONFIG_RT2800PCI_RT3290=y +CONFIG_RT2800PCI_RT33XX=y +CONFIG_RT2800PCI_RT35XX=y +CONFIG_RT2800PCI_RT53XX=y +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT3573=y +CONFIG_RT2800USB_RT35XX=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_RT55XX=y +CONFIG_RT2800USB_UNKNOWN=y +CONFIG_RT2800_LIB=m +CONFIG_RT2800_LIB_MMIO=m +CONFIG_RT2X00=m +# CONFIG_RT2X00_DEBUG is not set +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_CRYPTO=y +# CONFIG_RT2X00_LIB_DEBUGFS is not set +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_LEDS=y +CONFIG_RT2X00_LIB_MMIO=m +CONFIG_RT2X00_LIB_PCI=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT61PCI=m +CONFIG_RT73USB=m +CONFIG_RTC_CLASS=y +# CONFIG_RTC_DEBUG is not set +CONFIG_RTC_DRV_88PM80X=m +CONFIG_RTC_DRV_88PM860X=m +CONFIG_RTC_DRV_ABB5ZES3=m +CONFIG_RTC_DRV_ABEOZ9=m +CONFIG_RTC_DRV_ABX80X=m +CONFIG_RTC_DRV_ARMADA38X=m +CONFIG_RTC_DRV_AS3722=m +CONFIG_RTC_DRV_BD70528=m +CONFIG_RTC_DRV_BQ32K=m +CONFIG_RTC_DRV_BQ4802=m +CONFIG_RTC_DRV_BRCMSTB=m +CONFIG_RTC_DRV_CADENCE=m +CONFIG_RTC_DRV_CMOS=y +CONFIG_RTC_DRV_CPCAP=m +CONFIG_RTC_DRV_CROS_EC=m +CONFIG_RTC_DRV_DA9052=m +CONFIG_RTC_DRV_DA9055=m +CONFIG_RTC_DRV_DA9063=m +CONFIG_RTC_DRV_DS1286=m +CONFIG_RTC_DRV_DS1302=m +CONFIG_RTC_DRV_DS1305=m +CONFIG_RTC_DRV_DS1307=m +CONFIG_RTC_DRV_DS1307_CENTURY=y +CONFIG_RTC_DRV_DS1343=m +CONFIG_RTC_DRV_DS1347=m +CONFIG_RTC_DRV_DS1374=m +CONFIG_RTC_DRV_DS1374_WDT=y +CONFIG_RTC_DRV_DS1390=m +CONFIG_RTC_DRV_DS1511=m +CONFIG_RTC_DRV_DS1553=m +CONFIG_RTC_DRV_DS1672=m +CONFIG_RTC_DRV_DS1685=y +CONFIG_RTC_DRV_DS1685_FAMILY=m +# CONFIG_RTC_DRV_DS1689 is not set +# CONFIG_RTC_DRV_DS17285 is not set +CONFIG_RTC_DRV_DS1742=m +# CONFIG_RTC_DRV_DS17485 is not set +# CONFIG_RTC_DRV_DS17885 is not set +CONFIG_RTC_DRV_DS2404=m +CONFIG_RTC_DRV_DS3232=m +CONFIG_RTC_DRV_DS3232_HWMON=y +CONFIG_RTC_DRV_EFI=y +CONFIG_RTC_DRV_EM3027=m +CONFIG_RTC_DRV_FM3130=m +CONFIG_RTC_DRV_FSL_FTM_ALARM=m +CONFIG_RTC_DRV_FTRTC010=m +CONFIG_RTC_DRV_GOLDFISH=m +CONFIG_RTC_DRV_HID_SENSOR_TIME=m +CONFIG_RTC_DRV_HYM8563=m +CONFIG_RTC_DRV_IMXDI=m +CONFIG_RTC_DRV_IMX_SC=m +CONFIG_RTC_DRV_ISL12022=m +CONFIG_RTC_DRV_ISL12026=m +CONFIG_RTC_DRV_ISL1208=m +CONFIG_RTC_DRV_LP8788=m +CONFIG_RTC_DRV_M41T80=m +CONFIG_RTC_DRV_M41T80_WDT=y +CONFIG_RTC_DRV_M41T93=m +CONFIG_RTC_DRV_M41T94=m +CONFIG_RTC_DRV_M48T35=m +CONFIG_RTC_DRV_M48T59=m +CONFIG_RTC_DRV_M48T86=m +CONFIG_RTC_DRV_MAX6900=m +CONFIG_RTC_DRV_MAX6902=m +CONFIG_RTC_DRV_MAX6916=m +CONFIG_RTC_DRV_MAX77686=m +CONFIG_RTC_DRV_MAX8907=m +CONFIG_RTC_DRV_MAX8925=m +CONFIG_RTC_DRV_MAX8997=m +CONFIG_RTC_DRV_MAX8998=m +CONFIG_RTC_DRV_MC13XXX=m +CONFIG_RTC_DRV_MCP795=m +CONFIG_RTC_DRV_MESON_VRTC=m +CONFIG_RTC_DRV_MSM6242=m +CONFIG_RTC_DRV_MT2712=m +CONFIG_RTC_DRV_MT6397=m +CONFIG_RTC_DRV_MT7622=m +CONFIG_RTC_DRV_MV=y +CONFIG_RTC_DRV_MXC=m +CONFIG_RTC_DRV_MXC_V2=m +CONFIG_RTC_DRV_NTXEC=m +CONFIG_RTC_DRV_OPTEE=m +CONFIG_RTC_DRV_PALMAS=m +CONFIG_RTC_DRV_PCAP=m +CONFIG_RTC_DRV_PCF2123=m +CONFIG_RTC_DRV_PCF2127=m +CONFIG_RTC_DRV_PCF50633=m +CONFIG_RTC_DRV_PCF85063=m +CONFIG_RTC_DRV_PCF8523=m +CONFIG_RTC_DRV_PCF85363=m +CONFIG_RTC_DRV_PCF8563=m +CONFIG_RTC_DRV_PCF8583=m +CONFIG_RTC_DRV_PL030=m +CONFIG_RTC_DRV_PL031=m +CONFIG_RTC_DRV_PM8XXX=m +CONFIG_RTC_DRV_R7301=m +CONFIG_RTC_DRV_R9701=m +CONFIG_RTC_DRV_RC5T583=m +CONFIG_RTC_DRV_RC5T619=m +CONFIG_RTC_DRV_RK808=m +CONFIG_RTC_DRV_RP5C01=m +CONFIG_RTC_DRV_RS5C348=m +CONFIG_RTC_DRV_RS5C372=m +CONFIG_RTC_DRV_RTD119X=y +CONFIG_RTC_DRV_RV3028=m +CONFIG_RTC_DRV_RV3029C2=m +CONFIG_RTC_DRV_RV3029_HWMON=y +CONFIG_RTC_DRV_RV3032=m +CONFIG_RTC_DRV_RV8803=m +CONFIG_RTC_DRV_RX4581=m +CONFIG_RTC_DRV_RX6110=m +CONFIG_RTC_DRV_RX8010=m +CONFIG_RTC_DRV_RX8025=m +CONFIG_RTC_DRV_RX8581=m +CONFIG_RTC_DRV_S35390A=m +CONFIG_RTC_DRV_S5M=m +CONFIG_RTC_DRV_SC27XX=m +CONFIG_RTC_DRV_SD3078=m +CONFIG_RTC_DRV_SH=m +CONFIG_RTC_DRV_SNVS=m +CONFIG_RTC_DRV_STK17TA8=m +CONFIG_RTC_DRV_SUN6I=y +CONFIG_RTC_DRV_TEGRA=m +# CONFIG_RTC_DRV_TEST is not set +CONFIG_RTC_DRV_TPS6586X=m +CONFIG_RTC_DRV_TPS65910=m +CONFIG_RTC_DRV_TWL4030=m +CONFIG_RTC_DRV_V3020=m +CONFIG_RTC_DRV_WILCO_EC=m +CONFIG_RTC_DRV_WM831X=m +CONFIG_RTC_DRV_WM8350=m +CONFIG_RTC_DRV_X1205=m +CONFIG_RTC_DRV_XGENE=y +CONFIG_RTC_DRV_ZYNQMP=m +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_I2C_AND_SPI=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_LIB=y +CONFIG_RTC_MC146818_LIB=y +CONFIG_RTC_NVMEM=y +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +CONFIG_RTD119X_WATCHDOG=y +CONFIG_RTL8180=m +CONFIG_RTL8187=m +CONFIG_RTL8187_LEDS=y +CONFIG_RTL8188EE=m +CONFIG_RTL8192CE=m +CONFIG_RTL8192CU=m +CONFIG_RTL8192C_COMMON=m +CONFIG_RTL8192DE=m +CONFIG_RTL8192E=m +CONFIG_RTL8192EE=m +CONFIG_RTL8192SE=m +CONFIG_RTL8192U=m +CONFIG_RTL8723AE=m +CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m +CONFIG_RTL8723_COMMON=m +CONFIG_RTL8821AE=m +CONFIG_RTL8XXXU=m +CONFIG_RTL8XXXU_UNTESTED=y +CONFIG_RTLBTCOEXIST=m +CONFIG_RTLLIB=m +CONFIG_RTLLIB_CRYPTO_CCMP=m +CONFIG_RTLLIB_CRYPTO_TKIP=m +CONFIG_RTLLIB_CRYPTO_WEP=m +CONFIG_RTLWIFI=m +# CONFIG_RTLWIFI_DEBUG is not set +CONFIG_RTLWIFI_PCI=m +CONFIG_RTLWIFI_USB=m +CONFIG_RTL_CARDS=m +CONFIG_RTS5208=m +CONFIG_RTW88=m +CONFIG_RTW88_8723D=m +CONFIG_RTW88_8723DE=m +CONFIG_RTW88_8821C=m +CONFIG_RTW88_8821CE=m +CONFIG_RTW88_8822B=m +CONFIG_RTW88_8822BE=m +CONFIG_RTW88_8822C=m +CONFIG_RTW88_8822CE=m +CONFIG_RTW88_CORE=m +CONFIG_RTW88_DEBUG=y +CONFIG_RTW88_DEBUGFS=y +CONFIG_RTW88_PCI=m +CONFIG_RTW89=m +CONFIG_RTW89_8852A=m +CONFIG_RTW89_8852AE=m +CONFIG_RTW89_8852C=m +CONFIG_RTW89_8852CE=m +CONFIG_RTW89_CORE=m +CONFIG_RTW89_DEBUG=y +CONFIG_RTW89_DEBUGFS=y +CONFIG_RTW89_DEBUGMSG=y +CONFIG_RTW89_PCI=m +# CONFIG_RT_GROUP_SCHED is not set +CONFIG_RT_MUTEXES=y +CONFIG_RUNTIME_TESTING_MENU=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_RXKAD=y +CONFIG_RZG2L_ADC=m +CONFIG_RZG2L_THERMAL=m +CONFIG_RZ_DMAC=m +CONFIG_S2IO=m +CONFIG_SAMPLES=y +# CONFIG_SAMPLE_AUXDISPLAY is not set +# CONFIG_SAMPLE_CONFIGFS is not set +# CONFIG_SAMPLE_FPROBE is not set +CONFIG_SAMPLE_FTRACE_DIRECT=m +# CONFIG_SAMPLE_FTRACE_DIRECT_MULTI is not set +# CONFIG_SAMPLE_HW_BREAKPOINT is not set +# CONFIG_SAMPLE_KDB is not set +# CONFIG_SAMPLE_KFIFO is not set +# CONFIG_SAMPLE_KOBJECT is not set +# CONFIG_SAMPLE_KPROBES is not set +# CONFIG_SAMPLE_LIVEPATCH is not set +# CONFIG_SAMPLE_QMI_CLIENT is not set +# CONFIG_SAMPLE_RPMSG_CLIENT is not set +CONFIG_SAMPLE_TRACE_ARRAY=m +# CONFIG_SAMPLE_TRACE_CUSTOM_EVENTS is not set +# CONFIG_SAMPLE_TRACE_EVENTS is not set +CONFIG_SAMPLE_TRACE_PRINTK=m +# CONFIG_SAMPLE_VFIO_MDEV_MBOCHS is not set +# CONFIG_SAMPLE_VFIO_MDEV_MDPY is not set +# CONFIG_SAMPLE_VFIO_MDEV_MDPY_FB is not set +# CONFIG_SAMPLE_VFIO_MDEV_MTTY is not set +# CONFIG_SAMPLE_WATCHDOG is not set +CONFIG_SAMSUNG_LAPTOP=m +CONFIG_SAMSUNG_Q10=m +CONFIG_SATA_ACARD_AHCI=m +CONFIG_SATA_AHCI=m +CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_SATA_AHCI_SEATTLE=m +CONFIG_SATA_DWC=m +CONFIG_SATA_DWC_OLD_DMA=y +CONFIG_SATA_HOST=y +CONFIG_SATA_INIC162X=m +CONFIG_SATA_MOBILE_LPM_POLICY=3 +CONFIG_SATA_MV=m +CONFIG_SATA_NV=m +CONFIG_SATA_PMP=y +CONFIG_SATA_PROMISE=m +CONFIG_SATA_QSTOR=m +CONFIG_SATA_RCAR=m +CONFIG_SATA_SIL=m +CONFIG_SATA_SIL24=m +CONFIG_SATA_SIS=m +CONFIG_SATA_SVW=m +CONFIG_SATA_SX4=m +CONFIG_SATA_ULI=m +CONFIG_SATA_VIA=m +CONFIG_SATA_VITESSE=m +CONFIG_SATA_ZPODD=y +CONFIG_SBC_EPX_C3_WATCHDOG=m +CONFIG_SBC_FITPC2_WATCHDOG=m +CONFIG_SBITMAP=y +CONFIG_SBP_TARGET=m +CONFIG_SC1200_WDT=m +CONFIG_SC27XX_ADC=m +CONFIG_SC27XX_EFUSE=m +CONFIG_SC92031=m +CONFIG_SCA3000=m +CONFIG_SCA3300=m +CONFIG_SCD30_CORE=m +CONFIG_SCD30_I2C=m +CONFIG_SCD30_SERIAL=m +CONFIG_SCD4X=m +# CONFIG_SCF_TORTURE_TEST is not set +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_CLUSTER=y +CONFIG_SCHED_CORE=y +CONFIG_SCHED_DEBUG=y +CONFIG_SCHED_HRTICK=y +CONFIG_SCHED_INFO=y +CONFIG_SCHED_MC=y +CONFIG_SCHED_MC_PRIO=y +CONFIG_SCHED_OMIT_FRAME_POINTER=y +CONFIG_SCHED_SMT=y +CONFIG_SCHED_STACK_END_CHECK=y +CONFIG_SCHED_THERMAL_PRESSURE=y +CONFIG_SCHED_TRACER=y +CONFIG_SCR24X=m +CONFIG_SCSI=y +CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_3W_SAS=m +CONFIG_SCSI_AACRAID=m +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_AHA1740=m +CONFIG_SCSI_AIC79XX=m +CONFIG_SCSI_AIC7XXX=m +CONFIG_SCSI_AIC94XX=m +CONFIG_SCSI_AM53C974=m +CONFIG_SCSI_ARCMSR=m +CONFIG_SCSI_BFA_FC=m +CONFIG_SCSI_BNX2X_FCOE=m +CONFIG_SCSI_BNX2_ISCSI=m +CONFIG_SCSI_BUSLOGIC=m +CONFIG_SCSI_CHELSIO_FCOE=m +CONFIG_SCSI_COMMON=y +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_CXGB3_ISCSI=m +CONFIG_SCSI_CXGB4_ISCSI=m +CONFIG_SCSI_DC395x=m +CONFIG_SCSI_DEBUG=m +CONFIG_SCSI_DH=y +CONFIG_SCSI_DH_ALUA=m +CONFIG_SCSI_DH_EMC=m +CONFIG_SCSI_DH_HP_SW=m +CONFIG_SCSI_DH_RDAC=m +CONFIG_SCSI_DMA=y +CONFIG_SCSI_DMX3191D=m +CONFIG_SCSI_DPT_I2O=m +CONFIG_SCSI_EFCT=m +CONFIG_SCSI_ENCLOSURE=m +CONFIG_SCSI_ESAS2R=m +CONFIG_SCSI_FC_ATTRS=m +CONFIG_SCSI_FDOMAIN=m +CONFIG_SCSI_FDOMAIN_PCI=m +CONFIG_SCSI_FLASHPOINT=y +CONFIG_SCSI_HISI_SAS=m +# CONFIG_SCSI_HISI_SAS_DEBUGFS_DEFAULT_ENABLE is not set +CONFIG_SCSI_HISI_SAS_PCI=m +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_IMM=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_IPR=m +CONFIG_SCSI_IPR_DUMP=y +CONFIG_SCSI_IPR_TRACE=y +CONFIG_SCSI_IPS=m +CONFIG_SCSI_ISCI=m +CONFIG_SCSI_ISCSI_ATTRS=m +# CONFIG_SCSI_IZIP_EPP16 is not set +# CONFIG_SCSI_IZIP_SLOW_CTR is not set +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_LOWLEVEL=y +CONFIG_SCSI_LOWLEVEL_PCMCIA=y +CONFIG_SCSI_LPFC=m +# CONFIG_SCSI_LPFC_DEBUG_FS is not set +CONFIG_SCSI_MOD=y +CONFIG_SCSI_MPI3MR=m +CONFIG_SCSI_MPT2SAS=m +CONFIG_SCSI_MPT2SAS_MAX_SGE=128 +CONFIG_SCSI_MPT3SAS=m +CONFIG_SCSI_MPT3SAS_MAX_SGE=128 +CONFIG_SCSI_MVSAS=m +# CONFIG_SCSI_MVSAS_DEBUG is not set +# CONFIG_SCSI_MVSAS_TASKLET is not set +CONFIG_SCSI_MVUMI=m +CONFIG_SCSI_MYRB=m +CONFIG_SCSI_MYRS=m +CONFIG_SCSI_NETLINK=y +CONFIG_SCSI_PM8001=m +CONFIG_SCSI_PMCRAID=m +CONFIG_SCSI_PPA=m +CONFIG_SCSI_PROC_FS=y +CONFIG_SCSI_QLA_FC=m +CONFIG_SCSI_QLA_ISCSI=m +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_SAS_ATA=y +CONFIG_SCSI_SAS_ATTRS=m +CONFIG_SCSI_SAS_HOST_SMP=y +CONFIG_SCSI_SAS_LIBSAS=m +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SIM710=m +CONFIG_SCSI_SMARTPQI=m +CONFIG_SCSI_SNIC=m +# CONFIG_SCSI_SNIC_DEBUG_FS is not set +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SCSI_SRP_ATTRS=m +CONFIG_SCSI_STEX=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 +CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 +CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 +CONFIG_SCSI_SYM53C8XX_MMIO=y +CONFIG_SCSI_UFSHCD=m +CONFIG_SCSI_UFSHCD_PCI=m +CONFIG_SCSI_UFSHCD_PLATFORM=m +CONFIG_SCSI_UFS_BSG=y +CONFIG_SCSI_UFS_CDNS_PLATFORM=m +CONFIG_SCSI_UFS_CRYPTO=y +CONFIG_SCSI_UFS_DWC_TC_PCI=m +CONFIG_SCSI_UFS_DWC_TC_PLATFORM=m +CONFIG_SCSI_UFS_HISI=m +CONFIG_SCSI_UFS_HPB=y +CONFIG_SCSI_UFS_HWMON=y +CONFIG_SCSI_UFS_MEDIATEK=m +CONFIG_SCSI_UFS_QCOM=m +CONFIG_SCSI_UFS_TI_J721E=m +CONFIG_SCSI_VIRTIO=y +CONFIG_SCSI_WD719X=m +CONFIG_SCTP_COOKIE_HMAC_MD5=y +CONFIG_SCTP_COOKIE_HMAC_SHA1=y +# CONFIG_SCTP_DBG_OBJCNT is not set +# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set +# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set +CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +CONFIG_SC_CAMCC_7180=m +CONFIG_SC_CAMCC_7280=m +CONFIG_SC_DISPCC_7180=m +CONFIG_SC_DISPCC_7280=m +CONFIG_SC_GCC_7180=m +CONFIG_SC_GCC_7280=m +CONFIG_SC_GCC_8180X=m +CONFIG_SC_GCC_8280XP=m +CONFIG_SC_GPUCC_7180=m +CONFIG_SC_GPUCC_7280=m +CONFIG_SC_LPASSCC_7280=m +CONFIG_SC_LPASS_CORECC_7180=m +CONFIG_SC_LPASS_CORECC_7280=m +CONFIG_SC_MSS_7180=m +CONFIG_SC_VIDEOCC_7180=m +CONFIG_SC_VIDEOCC_7280=m +CONFIG_SDIO_UART=m +# CONFIG_SDMA_VERBOSITY is not set +CONFIG_SDM_CAMCC_845=m +CONFIG_SDM_DISPCC_845=m +CONFIG_SDM_GCC_660=m +CONFIG_SDM_GCC_845=m +CONFIG_SDM_GPUCC_660=m +CONFIG_SDM_GPUCC_845=m +CONFIG_SDM_LPASSCC_845=m +CONFIG_SDM_MMCC_660=m +CONFIG_SDM_VIDEOCC_845=m +CONFIG_SDR_MAX2175=m +CONFIG_SDR_PLATFORM_DRIVERS=y +CONFIG_SDX_GCC_55=m +CONFIG_SDX_GCC_65=m +CONFIG_SD_ADC_MODULATOR=m +CONFIG_SECCOMP=y +# CONFIG_SECCOMP_CACHE_DEBUG is not set +CONFIG_SECCOMP_FILTER=y +CONFIG_SECONDARY_TRUSTED_KEYRING=y +CONFIG_SECRETMEM=y +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +CONFIG_SECURITY_APPARMOR=y +# CONFIG_SECURITY_APPARMOR_DEBUG is not set +CONFIG_SECURITY_APPARMOR_EXPORT_BINARY=y +CONFIG_SECURITY_APPARMOR_HASH=y +CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y +CONFIG_SECURITY_APPARMOR_INTROSPECT_POLICY=y +CONFIG_SECURITY_APPARMOR_PARANOID_LOAD=y +# CONFIG_SECURITY_APPARMOR_RESTRICT_USERNS is not set +CONFIG_SECURITY_DMESG_RESTRICT=y +CONFIG_SECURITY_INFINIBAND=y +CONFIG_SECURITY_LANDLOCK=y +# CONFIG_SECURITY_LOADPIN is not set +CONFIG_SECURITY_LOCKDOWN_LSM=y +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y +CONFIG_SECURITY_NETWORK=y +CONFIG_SECURITY_NETWORK_XFRM=y +CONFIG_SECURITY_PATH=y +CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y +CONFIG_SECURITY_SAFESETID=y +CONFIG_SECURITY_SELINUX=y +CONFIG_SECURITY_SELINUX_AVC_STATS=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 +CONFIG_SECURITY_SELINUX_DEVELOP=y +# CONFIG_SECURITY_SELINUX_DISABLE is not set +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 +CONFIG_SECURITY_SMACK=y +CONFIG_SECURITY_SMACK_APPEND_SIGNALS=y +# CONFIG_SECURITY_SMACK_BRINGUP is not set +CONFIG_SECURITY_SMACK_NETFILTER=y +CONFIG_SECURITY_TOMOYO=y +CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init" +# CONFIG_SECURITY_TOMOYO_INSECURE_BUILTIN_SETTING is not set +CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 +CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 +# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set +CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init" +CONFIG_SECURITY_YAMA=y +CONFIG_SENSEAIR_SUNRISE_CO2=m +CONFIG_SENSIRION_SGP30=m +CONFIG_SENSIRION_SGP40=m +CONFIG_SENSORS_ABITUGURU=m +CONFIG_SENSORS_ABITUGURU3=m +CONFIG_SENSORS_ACPI_POWER=m +CONFIG_SENSORS_AD7314=m +CONFIG_SENSORS_AD7414=m +CONFIG_SENSORS_AD7418=m +CONFIG_SENSORS_ADC128D818=m +CONFIG_SENSORS_ADCXX=m +CONFIG_SENSORS_ADM1021=m +CONFIG_SENSORS_ADM1025=m +CONFIG_SENSORS_ADM1026=m +CONFIG_SENSORS_ADM1029=m +CONFIG_SENSORS_ADM1031=m +CONFIG_SENSORS_ADM1177=m +CONFIG_SENSORS_ADM1266=m +CONFIG_SENSORS_ADM1275=m +CONFIG_SENSORS_ADM9240=m +CONFIG_SENSORS_ADS7828=m +CONFIG_SENSORS_ADS7871=m +CONFIG_SENSORS_ADT7310=m +CONFIG_SENSORS_ADT7410=m +CONFIG_SENSORS_ADT7411=m +CONFIG_SENSORS_ADT7462=m +CONFIG_SENSORS_ADT7470=m +CONFIG_SENSORS_ADT7475=m +CONFIG_SENSORS_ADT7X10=m +CONFIG_SENSORS_AHT10=m +CONFIG_SENSORS_AMC6821=m +CONFIG_SENSORS_APDS990X=m +CONFIG_SENSORS_APPLESMC=m +CONFIG_SENSORS_AQUACOMPUTER_D5NEXT=m +CONFIG_SENSORS_ARM_SCMI=m +CONFIG_SENSORS_ARM_SCPI=m +CONFIG_SENSORS_AS370=m +CONFIG_SENSORS_ASB100=m +CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m +CONFIG_SENSORS_ASUS_EC=m +CONFIG_SENSORS_ASUS_WMI=m +CONFIG_SENSORS_ATK0110=m +CONFIG_SENSORS_ATXP1=m +CONFIG_SENSORS_AXI_FAN_CONTROL=m +CONFIG_SENSORS_BEL_PFE=m +CONFIG_SENSORS_BH1770=m +CONFIG_SENSORS_BPA_RS600=m +CONFIG_SENSORS_CORETEMP=m +CONFIG_SENSORS_CORSAIR_CPRO=m +CONFIG_SENSORS_CORSAIR_PSU=m +CONFIG_SENSORS_DA9052_ADC=m +CONFIG_SENSORS_DA9055=m +CONFIG_SENSORS_DELL_SMM=m +CONFIG_SENSORS_DELTA_AHE50DC_FAN=m +CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DPS920AB=m +CONFIG_SENSORS_DRIVETEMP=m +CONFIG_SENSORS_DS1621=m +CONFIG_SENSORS_DS620=m +CONFIG_SENSORS_EMC1403=m +CONFIG_SENSORS_EMC2103=m +CONFIG_SENSORS_EMC6W201=m +CONFIG_SENSORS_F71805F=m +CONFIG_SENSORS_F71882FG=m +CONFIG_SENSORS_F75375S=m +CONFIG_SENSORS_FAM15H_POWER=m +CONFIG_SENSORS_FSCHMD=m +CONFIG_SENSORS_FSP_3Y=m +CONFIG_SENSORS_FTSTEUTATES=m +CONFIG_SENSORS_G760A=m +CONFIG_SENSORS_G762=m +CONFIG_SENSORS_GL518SM=m +CONFIG_SENSORS_GL520SM=m +CONFIG_SENSORS_GPIO_FAN=m +CONFIG_SENSORS_GSC=m +CONFIG_SENSORS_HDAPS=m +CONFIG_SENSORS_HIH6130=m +CONFIG_SENSORS_HMC5843=m +CONFIG_SENSORS_HMC5843_I2C=m +CONFIG_SENSORS_HMC5843_SPI=m +CONFIG_SENSORS_I5500=m +CONFIG_SENSORS_I5K_AMB=m +CONFIG_SENSORS_IBMAEM=m +CONFIG_SENSORS_IBMPEX=m +CONFIG_SENSORS_IBM_CFFPS=m +CONFIG_SENSORS_IIO_HWMON=m +CONFIG_SENSORS_INA209=m +CONFIG_SENSORS_INA238=m +CONFIG_SENSORS_INA2XX=m +CONFIG_SENSORS_INA3221=m +CONFIG_SENSORS_INSPUR_IPSPS=m +CONFIG_SENSORS_INTEL_M10_BMC_HWMON=m +CONFIG_SENSORS_IR35221=m +CONFIG_SENSORS_IR36021=m +CONFIG_SENSORS_IR38064=m +CONFIG_SENSORS_IR38064_REGULATOR=y +CONFIG_SENSORS_IRPS5401=m +CONFIG_SENSORS_ISL29018=m +CONFIG_SENSORS_ISL29028=m +CONFIG_SENSORS_ISL68137=m +CONFIG_SENSORS_IT87=m +CONFIG_SENSORS_JC42=m +CONFIG_SENSORS_K10TEMP=m +CONFIG_SENSORS_K8TEMP=m +CONFIG_SENSORS_LINEAGE=m +CONFIG_SENSORS_LIS3LV02D=m +CONFIG_SENSORS_LIS3_I2C=m +CONFIG_SENSORS_LM25066=m +CONFIG_SENSORS_LM25066_REGULATOR=y +CONFIG_SENSORS_LM3533=m +CONFIG_SENSORS_LM63=m +CONFIG_SENSORS_LM70=m +CONFIG_SENSORS_LM73=m +CONFIG_SENSORS_LM75=m +CONFIG_SENSORS_LM77=m +CONFIG_SENSORS_LM78=m +CONFIG_SENSORS_LM80=m +CONFIG_SENSORS_LM83=m +CONFIG_SENSORS_LM85=m +CONFIG_SENSORS_LM87=m +CONFIG_SENSORS_LM90=m +CONFIG_SENSORS_LM92=m +CONFIG_SENSORS_LM93=m +CONFIG_SENSORS_LM95234=m +CONFIG_SENSORS_LM95241=m +CONFIG_SENSORS_LM95245=m +CONFIG_SENSORS_LOCHNAGAR=m +CONFIG_SENSORS_LTC2945=m +CONFIG_SENSORS_LTC2947=m +CONFIG_SENSORS_LTC2947_I2C=m +CONFIG_SENSORS_LTC2947_SPI=m +CONFIG_SENSORS_LTC2978=m +CONFIG_SENSORS_LTC2978_REGULATOR=y +CONFIG_SENSORS_LTC2990=m +CONFIG_SENSORS_LTC2992=m +CONFIG_SENSORS_LTC3815=m +CONFIG_SENSORS_LTC4151=m +CONFIG_SENSORS_LTC4215=m +CONFIG_SENSORS_LTC4222=m +CONFIG_SENSORS_LTC4245=m +CONFIG_SENSORS_LTC4260=m +CONFIG_SENSORS_LTC4261=m +CONFIG_SENSORS_MAX1111=m +CONFIG_SENSORS_MAX127=m +CONFIG_SENSORS_MAX15301=m +CONFIG_SENSORS_MAX16064=m +CONFIG_SENSORS_MAX16065=m +CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_MAX16601=m +CONFIG_SENSORS_MAX1668=m +CONFIG_SENSORS_MAX197=m +CONFIG_SENSORS_MAX20730=m +CONFIG_SENSORS_MAX20751=m +CONFIG_SENSORS_MAX31722=m +CONFIG_SENSORS_MAX31730=m +CONFIG_SENSORS_MAX31785=m +CONFIG_SENSORS_MAX31790=m +CONFIG_SENSORS_MAX34440=m +CONFIG_SENSORS_MAX6620=m +CONFIG_SENSORS_MAX6621=m +CONFIG_SENSORS_MAX6639=m +CONFIG_SENSORS_MAX6642=m +CONFIG_SENSORS_MAX6650=m +CONFIG_SENSORS_MAX6697=m +CONFIG_SENSORS_MAX8688=m +CONFIG_SENSORS_MC13783_ADC=m +CONFIG_SENSORS_MCP3021=m +CONFIG_SENSORS_MENF21BMC_HWMON=m +CONFIG_SENSORS_MLXREG_FAN=m +CONFIG_SENSORS_MP2888=m +CONFIG_SENSORS_MP2975=m +CONFIG_SENSORS_MP5023=m +CONFIG_SENSORS_MR75203=m +CONFIG_SENSORS_NCT6683=m +CONFIG_SENSORS_NCT6775=m +CONFIG_SENSORS_NCT6775_CORE=m +CONFIG_SENSORS_NCT6775_I2C=m +CONFIG_SENSORS_NCT7802=m +CONFIG_SENSORS_NCT7904=m +CONFIG_SENSORS_NPCM7XX=m +CONFIG_SENSORS_NTC_THERMISTOR=m +CONFIG_SENSORS_NZXT_KRAKEN2=m +CONFIG_SENSORS_NZXT_SMART2=m +# CONFIG_SENSORS_OCC_P8_I2C is not set +# CONFIG_SENSORS_OCC_P9_SBE is not set +CONFIG_SENSORS_PC87360=m +CONFIG_SENSORS_PC87427=m +CONFIG_SENSORS_PCF8591=m +CONFIG_SENSORS_PECI=m +CONFIG_SENSORS_PECI_CPUTEMP=m +CONFIG_SENSORS_PECI_DIMMTEMP=m +CONFIG_SENSORS_PIM4328=m +CONFIG_SENSORS_PLI1209BC=m +CONFIG_SENSORS_PLI1209BC_REGULATOR=y +CONFIG_SENSORS_PM6764TR=m +CONFIG_SENSORS_PMBUS=m +CONFIG_SENSORS_POWR1220=m +CONFIG_SENSORS_PWM_FAN=m +CONFIG_SENSORS_PXE1610=m +CONFIG_SENSORS_Q54SJ108A2=m +CONFIG_SENSORS_RASPBERRYPI_HWMON=m +CONFIG_SENSORS_RM3100=m +CONFIG_SENSORS_RM3100_I2C=m +CONFIG_SENSORS_RM3100_SPI=m +CONFIG_SENSORS_SBRMI=m +CONFIG_SENSORS_SBTSI=m +CONFIG_SENSORS_SCH5627=m +CONFIG_SENSORS_SCH5636=m +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SENSORS_SHT15=m +CONFIG_SENSORS_SHT21=m +CONFIG_SENSORS_SHT3x=m +CONFIG_SENSORS_SHT4x=m +CONFIG_SENSORS_SHTC1=m +CONFIG_SENSORS_SIS5595=m +CONFIG_SENSORS_SL28CPLD=m +CONFIG_SENSORS_SMM665=m +CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_SMSC47M192=m +CONFIG_SENSORS_SPARX5=m +CONFIG_SENSORS_STPDDC60=m +CONFIG_SENSORS_STTS751=m +CONFIG_SENSORS_SY7636A=m +CONFIG_SENSORS_TC654=m +CONFIG_SENSORS_TC74=m +CONFIG_SENSORS_THMC50=m +CONFIG_SENSORS_TMP102=m +CONFIG_SENSORS_TMP103=m +CONFIG_SENSORS_TMP108=m +CONFIG_SENSORS_TMP401=m +CONFIG_SENSORS_TMP421=m +CONFIG_SENSORS_TMP464=m +CONFIG_SENSORS_TMP513=m +CONFIG_SENSORS_TPS23861=m +CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m +CONFIG_SENSORS_TSL2550=m +CONFIG_SENSORS_TSL2563=m +CONFIG_SENSORS_UCD9000=m +CONFIG_SENSORS_UCD9200=m +CONFIG_SENSORS_VEXPRESS=m +CONFIG_SENSORS_VIA686A=m +CONFIG_SENSORS_VIA_CPUTEMP=m +CONFIG_SENSORS_VT1211=m +CONFIG_SENSORS_VT8231=m +CONFIG_SENSORS_W83627EHF=m +CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m +CONFIG_SENSORS_W83781D=m +CONFIG_SENSORS_W83791D=m +CONFIG_SENSORS_W83792D=m +CONFIG_SENSORS_W83793=m +CONFIG_SENSORS_W83795=m +# CONFIG_SENSORS_W83795_FANCTRL is not set +CONFIG_SENSORS_W83L785TS=m +CONFIG_SENSORS_W83L786NG=m +CONFIG_SENSORS_WM831X=m +CONFIG_SENSORS_WM8350=m +CONFIG_SENSORS_XDPE122=m +CONFIG_SENSORS_XDPE122_REGULATOR=y +CONFIG_SENSORS_XDPE152=m +CONFIG_SENSORS_XGENE=m +CONFIG_SENSORS_ZL6100=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_16550A_VARIANTS=y +CONFIG_SERIAL_8250_ASPEED_VUART=m +# CONFIG_SERIAL_8250_BCM2835AUX is not set +CONFIG_SERIAL_8250_BCM7271=m +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_CS=m +# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set +# CONFIG_SERIAL_8250_DETECT_IRQ is not set +CONFIG_SERIAL_8250_DMA=y +CONFIG_SERIAL_8250_DWLIB=y +CONFIG_SERIAL_8250_EM=m +CONFIG_SERIAL_8250_EXAR=m +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_FINTEK=y +CONFIG_SERIAL_8250_FSL=y +CONFIG_SERIAL_8250_LPSS=m +CONFIG_SERIAL_8250_MANY_PORTS=y +CONFIG_SERIAL_8250_MEN_MCB=m +CONFIG_SERIAL_8250_MID=m +CONFIG_SERIAL_8250_MT6577=y +CONFIG_SERIAL_8250_NR_UARTS=48 +CONFIG_SERIAL_8250_OMAP=y +CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_8250_PERICOM=m +CONFIG_SERIAL_8250_PNP=y +CONFIG_SERIAL_8250_RSA=y +CONFIG_SERIAL_8250_RT288X=y +CONFIG_SERIAL_8250_RUNTIME_UARTS=32 +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_8250_TEGRA=y +CONFIG_SERIAL_ALTERA_JTAGUART=m +CONFIG_SERIAL_ALTERA_UART=m +CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200 +CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4 +CONFIG_SERIAL_AMBA_PL010=m +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_ARC=m +CONFIG_SERIAL_ARC_NR_PORTS=1 +CONFIG_SERIAL_BCM63XX=m +CONFIG_SERIAL_CONEXANT_DIGICOLOR=m +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y +CONFIG_SERIAL_EARLYCON=y +CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y +CONFIG_SERIAL_FSL_LINFLEXUART=m +CONFIG_SERIAL_FSL_LPUART=m +CONFIG_SERIAL_IMX=y +CONFIG_SERIAL_IMX_CONSOLE=y +# CONFIG_SERIAL_IMX_EARLYCON is not set +CONFIG_SERIAL_IPOCTAL=m +CONFIG_SERIAL_JSM=m +CONFIG_SERIAL_KGDB_NMI=y +CONFIG_SERIAL_LANTIQ=m +CONFIG_SERIAL_LITEUART=m +CONFIG_SERIAL_LITEUART_MAX_PORTS=1 +CONFIG_SERIAL_MAX3100=m +CONFIG_SERIAL_MAX310X=y +CONFIG_SERIAL_MCTRL_GPIO=y +CONFIG_SERIAL_MEN_Z135=m +CONFIG_SERIAL_MESON=y +CONFIG_SERIAL_MESON_CONSOLE=y +CONFIG_SERIAL_MSM=y +CONFIG_SERIAL_MSM_CONSOLE=y +CONFIG_SERIAL_MULTI_INSTANTIATE=m +CONFIG_SERIAL_MVEBU_CONSOLE=y +CONFIG_SERIAL_MVEBU_UART=y +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SERIAL_OWL=y +CONFIG_SERIAL_OWL_CONSOLE=y +CONFIG_SERIAL_QCOM_GENI=m +CONFIG_SERIAL_QCOM_GENI_CONSOLE=y +CONFIG_SERIAL_QE=m +CONFIG_SERIAL_RP2=m +CONFIG_SERIAL_RP2_NR_UARTS=32 +CONFIG_SERIAL_SAMSUNG=m +# CONFIG_SERIAL_SAMSUNG_CONSOLE is not set +CONFIG_SERIAL_SAMSUNG_UARTS=4 +CONFIG_SERIAL_SAMSUNG_UARTS_4=y +CONFIG_SERIAL_SC16IS7XX=m +CONFIG_SERIAL_SC16IS7XX_CORE=m +CONFIG_SERIAL_SC16IS7XX_I2C=y +CONFIG_SERIAL_SC16IS7XX_SPI=y +CONFIG_SERIAL_SCCNXP=y +CONFIG_SERIAL_SCCNXP_CONSOLE=y +CONFIG_SERIAL_SH_SCI=m +CONFIG_SERIAL_SH_SCI_DMA=y +CONFIG_SERIAL_SH_SCI_NR_UARTS=2 +CONFIG_SERIAL_SIFIVE=m +CONFIG_SERIAL_SPRD=m +CONFIG_SERIAL_TEGRA=m +CONFIG_SERIAL_TEGRA_TCU=y +CONFIG_SERIAL_TEGRA_TCU_CONSOLE=y +CONFIG_SERIAL_UARTLITE=m +CONFIG_SERIAL_UARTLITE_NR_UARTS=1 +CONFIG_SERIAL_XILINX_PS_UART=m +CONFIG_SERIO=y +CONFIG_SERIO_ALTERA_PS2=m +CONFIG_SERIO_AMBAKMI=m +CONFIG_SERIO_APBPS2=m +CONFIG_SERIO_ARC_PS2=m +CONFIG_SERIO_CT82C710=m +CONFIG_SERIO_GPIO_PS2=m +CONFIG_SERIO_I8042=y +CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO_NVEC_PS2=m +CONFIG_SERIO_PARKBD=m +CONFIG_SERIO_PCIPS2=m +CONFIG_SERIO_PS2MULT=m +CONFIG_SERIO_RAW=m +CONFIG_SERIO_SERPORT=m +# CONFIG_SERIO_SUN4I_PS2 is not set +CONFIG_SETEND_EMULATION=y +CONFIG_SEV_GUEST=y +CONFIG_SFC=m +CONFIG_SFC_FALCON=m +CONFIG_SFC_FALCON_MTD=y +CONFIG_SFC_MCDI_LOGGING=y +CONFIG_SFC_MCDI_MON=y +CONFIG_SFC_MTD=y +CONFIG_SFC_SIENA=m +CONFIG_SFC_SIENA_MCDI_LOGGING=y +CONFIG_SFC_SIENA_MCDI_MON=y +CONFIG_SFC_SIENA_MTD=y +CONFIG_SFC_SRIOV=y +CONFIG_SFP=m +CONFIG_SF_PDMA=m +CONFIG_SGETMASK_SYSCALL=y +CONFIG_SGI_GRU=m +# CONFIG_SGI_GRU_DEBUG is not set +CONFIG_SGI_PARTITION=y +CONFIG_SGI_XP=m +CONFIG_SGL_ALLOC=y +CONFIG_SG_POOL=y +CONFIG_SG_SPLIT=y +CONFIG_SHADOW_CALL_STACK=y +CONFIG_SHIFT_FS=m +CONFIG_SHIFT_FS_POSIX_ACL=y +CONFIG_SHMEM=y +CONFIG_SHUFFLE_PAGE_ALLOCATOR=y +CONFIG_SH_ETH=m +CONFIG_SH_TIMER_CMT=y +CONFIG_SH_TIMER_TMU=y +CONFIG_SI1133=m +CONFIG_SI1145=m +CONFIG_SI7005=m +CONFIG_SI7020=m +CONFIG_SIEMENS_SIMATIC_IPC=m +CONFIG_SIEMENS_SIMATIC_IPC_WDT=m +CONFIG_SIGNALFD=y +CONFIG_SIGNATURE=y +CONFIG_SIGNED_PE_FILE_VERIFICATION=y +CONFIG_SIOX=m +CONFIG_SIOX_BUS_GPIO=m +CONFIG_SIS190=m +CONFIG_SIS900=m +CONFIG_SKB_EXTENSIONS=y +CONFIG_SKFP=m +CONFIG_SKGE=m +# CONFIG_SKGE_DEBUG is not set +CONFIG_SKGE_GENESIS=y +CONFIG_SKY2=m +# CONFIG_SKY2_DEBUG is not set +CONFIG_SL28CPLD_WATCHDOG=m +# CONFIG_SLAB is not set +CONFIG_SLAB_FREELIST_HARDENED=y +CONFIG_SLAB_FREELIST_RANDOM=y +CONFIG_SLAB_MERGE_DEFAULT=y +CONFIG_SLHC=y +CONFIG_SLICOSS=m +CONFIG_SLIC_DS26522=m +CONFIG_SLIMBUS=m +CONFIG_SLIM_QCOM_CTRL=m +CONFIG_SLIM_QCOM_NGD_CTRL=m +CONFIG_SLIP=m +CONFIG_SLIP_COMPRESSED=y +CONFIG_SLIP_MODE_SLIP6=y +CONFIG_SLIP_SMART=y +# CONFIG_SLOB is not set +CONFIG_SLS=y +CONFIG_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_SMBFS_COMMON=m +CONFIG_SMB_SERVER=m +CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y +CONFIG_SMB_SERVER_KERBEROS5=y +CONFIG_SMB_SERVER_SMBDIRECT=y +CONFIG_SMC=m +CONFIG_SMC91X=y +CONFIG_SMC_DIAG=m +CONFIG_SMP=y +CONFIG_SMSC37B787_WDT=m +CONFIG_SMSC911X=m +CONFIG_SMSC9420=m +CONFIG_SMSC_PHY=m +CONFIG_SMSC_SCH311X_WDT=m +CONFIG_SMS_SDIO_DRV=m +CONFIG_SMS_SIANO_DEBUGFS=y +CONFIG_SMS_SIANO_MDTV=m +CONFIG_SMS_SIANO_RC=y +CONFIG_SMS_USB_DRV=m +CONFIG_SM_CAMCC_8250=m +CONFIG_SM_DISPCC_6125=m +CONFIG_SM_DISPCC_6350=m +CONFIG_SM_DISPCC_8250=m +CONFIG_SM_FTL=m +CONFIG_SM_GCC_6115=m +CONFIG_SM_GCC_6125=m +CONFIG_SM_GCC_6350=m +CONFIG_SM_GCC_8150=m +CONFIG_SM_GCC_8250=m +CONFIG_SM_GCC_8350=m +CONFIG_SM_GCC_8450=m +CONFIG_SM_GPUCC_6350=m +CONFIG_SM_GPUCC_8150=m +CONFIG_SM_GPUCC_8250=m +CONFIG_SM_VIDEOCC_8150=m +CONFIG_SM_VIDEOCC_8250=m +CONFIG_SND=m +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_AC97_POWER_SAVE=y +CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 +CONFIG_SND_AD1889=m +CONFIG_SND_ALI5451=m +CONFIG_SND_ALOOP=m +CONFIG_SND_ALS300=m +CONFIG_SND_ALS4000=m +CONFIG_SND_AMD_ACP_CONFIG=m +CONFIG_SND_AMD_ASOC_RENOIR=m +CONFIG_SND_ASIHPI=m +CONFIG_SND_ATIIXP=m +CONFIG_SND_ATIIXP_MODEM=m +CONFIG_SND_ATMEL_SOC=m +CONFIG_SND_AU8810=m +CONFIG_SND_AU8820=m +CONFIG_SND_AU8830=m +CONFIG_SND_AUDIO_GRAPH_CARD=m +CONFIG_SND_AUDIO_GRAPH_CARD2=m +CONFIG_SND_AUDIO_GRAPH_CARD2_CUSTOM_SAMPLE=m +CONFIG_SND_AW2=m +CONFIG_SND_AZT3328=m +CONFIG_SND_BCD2000=m +CONFIG_SND_BCM2835=m +CONFIG_SND_BCM2835_SOC_I2S=m +CONFIG_SND_BCM63XX_I2S_WHISTLER=m +CONFIG_SND_BEBOB=m +CONFIG_SND_BT87X=m +# CONFIG_SND_BT87X_OVERCLOCK is not set +CONFIG_SND_CA0106=m +CONFIG_SND_CMIPCI=m +CONFIG_SND_COMPRESS_OFFLOAD=m +CONFIG_SND_CS4281=m +CONFIG_SND_CS46XX=m +CONFIG_SND_CS46XX_NEW_DSP=y +CONFIG_SND_CTL_LED=m +CONFIG_SND_CTXFI=m +CONFIG_SND_DARLA20=m +CONFIG_SND_DARLA24=m +# CONFIG_SND_DEBUG is not set +CONFIG_SND_DESIGNWARE_I2S=m +CONFIG_SND_DESIGNWARE_PCM=y +CONFIG_SND_DICE=m +CONFIG_SND_DMAENGINE_PCM=m +CONFIG_SND_DMA_SGBUF=y +CONFIG_SND_DRIVERS=y +CONFIG_SND_DUMMY=m +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_ECHO3G=m +CONFIG_SND_EMU10K1=m +CONFIG_SND_EMU10K1X=m +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_ENS1370=m +CONFIG_SND_ENS1371=m +CONFIG_SND_ES1938=m +CONFIG_SND_ES1968=m +CONFIG_SND_ES1968_INPUT=y +CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m +CONFIG_SND_FIREWIRE=y +CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_LIB=m +CONFIG_SND_FIREWIRE_MOTU=m +CONFIG_SND_FIREWIRE_TASCAM=m +CONFIG_SND_FIREWORKS=m +CONFIG_SND_FM801=m +CONFIG_SND_FM801_TEA575X_BOOL=y +CONFIG_SND_GINA20=m +CONFIG_SND_GINA24=m +CONFIG_SND_HDA=m +CONFIG_SND_HDA_ALIGNED_MMIO=y +CONFIG_SND_HDA_CODEC_ANALOG=m +CONFIG_SND_HDA_CODEC_CA0110=m +CONFIG_SND_HDA_CODEC_CA0132=m +CONFIG_SND_HDA_CODEC_CA0132_DSP=y +CONFIG_SND_HDA_CODEC_CIRRUS=m +CONFIG_SND_HDA_CODEC_CMEDIA=m +CONFIG_SND_HDA_CODEC_CONEXANT=m +CONFIG_SND_HDA_CODEC_CS8409=m +CONFIG_SND_HDA_CODEC_HDMI=m +CONFIG_SND_HDA_CODEC_REALTEK=m +CONFIG_SND_HDA_CODEC_SI3054=m +CONFIG_SND_HDA_CODEC_SIGMATEL=m +CONFIG_SND_HDA_CODEC_VIA=m +CONFIG_SND_HDA_COMPONENT=y +CONFIG_SND_HDA_CORE=m +CONFIG_SND_HDA_CS_DSP_CONTROLS=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set +CONFIG_SND_HDA_DSP_LOADER=y +CONFIG_SND_HDA_EXT_CORE=m +CONFIG_SND_HDA_GENERIC=m +CONFIG_SND_HDA_GENERIC_LEDS=y +CONFIG_SND_HDA_HWDEP=y +CONFIG_SND_HDA_I915=y +CONFIG_SND_HDA_INPUT_BEEP=y +CONFIG_SND_HDA_INPUT_BEEP_MODE=0 +CONFIG_SND_HDA_INTEL=m +# CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM is not set +CONFIG_SND_HDA_PATCH_LOADER=y +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 +CONFIG_SND_HDA_RECONFIG=y +CONFIG_SND_HDA_SCODEC_CS35L41=m +CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m +CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m +CONFIG_SND_HDA_TEGRA=m +CONFIG_SND_HDSP=m +CONFIG_SND_HDSPM=m +CONFIG_SND_HRTIMER=m +CONFIG_SND_HWDEP=m +CONFIG_SND_I2S_HI6210_I2S=m +CONFIG_SND_ICE1712=m +CONFIG_SND_ICE1724=m +CONFIG_SND_IMX_SOC=m +CONFIG_SND_INDIGO=m +CONFIG_SND_INDIGODJ=m +CONFIG_SND_INDIGODJX=m +CONFIG_SND_INDIGOIO=m +CONFIG_SND_INDIGOIOX=m +CONFIG_SND_INTEL8X0=m +CONFIG_SND_INTEL8X0M=m +CONFIG_SND_INTEL_BYT_PREFER_SOF=y +CONFIG_SND_INTEL_DSP_CONFIG=m +CONFIG_SND_INTEL_NHLT=y +CONFIG_SND_INTEL_SOUNDWIRE_ACPI=m +CONFIG_SND_ISIGHT=m +CONFIG_SND_JACK=y +CONFIG_SND_JACK_INPUT_DEV=y +CONFIG_SND_KIRKWOOD_SOC=m +CONFIG_SND_KIRKWOOD_SOC_ARMADA370_DB=m +CONFIG_SND_KORG1212=m +CONFIG_SND_LAYLA20=m +CONFIG_SND_LAYLA24=m +CONFIG_SND_LOLA=m +CONFIG_SND_LX6464ES=m +CONFIG_SND_MAESTRO3=m +CONFIG_SND_MAESTRO3_INPUT=y +CONFIG_SND_MAX_CARDS=32 +CONFIG_SND_MESON_AIU=m +CONFIG_SND_MESON_AXG_FIFO=m +CONFIG_SND_MESON_AXG_FRDDR=m +CONFIG_SND_MESON_AXG_PDM=m +CONFIG_SND_MESON_AXG_SOUND_CARD=m +CONFIG_SND_MESON_AXG_SPDIFIN=m +CONFIG_SND_MESON_AXG_SPDIFOUT=m +CONFIG_SND_MESON_AXG_TDMIN=m +CONFIG_SND_MESON_AXG_TDMOUT=m +CONFIG_SND_MESON_AXG_TDM_FORMATTER=m +CONFIG_SND_MESON_AXG_TDM_INTERFACE=m +CONFIG_SND_MESON_AXG_TODDR=m +CONFIG_SND_MESON_CARD_UTILS=m +CONFIG_SND_MESON_CODEC_GLUE=m +CONFIG_SND_MESON_G12A_TOACODEC=m +CONFIG_SND_MESON_G12A_TOHDMITX=m +CONFIG_SND_MESON_GX_SOUND_CARD=m +CONFIG_SND_MIA=m +CONFIG_SND_MIXART=m +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_MONA=m +CONFIG_SND_MPU401=m +CONFIG_SND_MPU401_UART=m +CONFIG_SND_MTPAV=m +CONFIG_SND_MTS64=m +CONFIG_SND_NM256=m +CONFIG_SND_OPL3_LIB=m +CONFIG_SND_OPL3_LIB_SEQ=m +CONFIG_SND_OSSEMUL=y +CONFIG_SND_OXFW=m +CONFIG_SND_OXYGEN=m +CONFIG_SND_OXYGEN_LIB=m +CONFIG_SND_PCI=y +CONFIG_SND_PCM=m +CONFIG_SND_PCMCIA=y +CONFIG_SND_PCM_ELD=y +CONFIG_SND_PCM_IEC958=y +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +CONFIG_SND_PCSP=m +CONFIG_SND_PCXHR=m +CONFIG_SND_PDAUDIOCF=m +CONFIG_SND_PORTMAN2X4=m +CONFIG_SND_PROC_FS=y +CONFIG_SND_RAWMIDI=m +CONFIG_SND_RIPTIDE=m +CONFIG_SND_RME32=m +CONFIG_SND_RME96=m +CONFIG_SND_RME9652=m +CONFIG_SND_SB_COMMON=m +CONFIG_SND_SEQUENCER=m +# CONFIG_SND_SEQUENCER_OSS is not set +CONFIG_SND_SEQ_DEVICE=m +CONFIG_SND_SEQ_DUMMY=m +CONFIG_SND_SEQ_HRTIMER_DEFAULT=y +CONFIG_SND_SEQ_MIDI=m +CONFIG_SND_SEQ_MIDI_EMUL=m +CONFIG_SND_SEQ_MIDI_EVENT=m +CONFIG_SND_SEQ_VIRMIDI=m +CONFIG_SND_SERIAL_GENERIC=m +CONFIG_SND_SERIAL_U16550=m +CONFIG_SND_SIMPLE_CARD=m +CONFIG_SND_SIMPLE_CARD_UTILS=m +CONFIG_SND_SOC=m +CONFIG_SND_SOC_AC97_BUS=y +CONFIG_SND_SOC_AC97_CODEC=m +CONFIG_SND_SOC_ACPI=m +CONFIG_SND_SOC_ACPI_INTEL_MATCH=m +CONFIG_SND_SOC_ADAU1372=m +CONFIG_SND_SOC_ADAU1372_I2C=m +CONFIG_SND_SOC_ADAU1372_SPI=m +CONFIG_SND_SOC_ADAU1701=m +CONFIG_SND_SOC_ADAU1761=m +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m +CONFIG_SND_SOC_ADAU17X1=m +CONFIG_SND_SOC_ADAU7002=m +CONFIG_SND_SOC_ADAU7118=m +CONFIG_SND_SOC_ADAU7118_HW=m +CONFIG_SND_SOC_ADAU7118_I2C=m +CONFIG_SND_SOC_ADAU_UTILS=m +CONFIG_SND_SOC_ADI=m +CONFIG_SND_SOC_ADI_AXI_I2S=m +CONFIG_SND_SOC_ADI_AXI_SPDIF=m +CONFIG_SND_SOC_AK4104=m +CONFIG_SND_SOC_AK4118=m +CONFIG_SND_SOC_AK4375=m +CONFIG_SND_SOC_AK4458=m +CONFIG_SND_SOC_AK4554=m +CONFIG_SND_SOC_AK4613=m +CONFIG_SND_SOC_AK4642=m +CONFIG_SND_SOC_AK5386=m +CONFIG_SND_SOC_AK5558=m +CONFIG_SND_SOC_ALC5623=m +CONFIG_SND_SOC_ALC5632=m +CONFIG_SND_SOC_AMD_ACP=m +CONFIG_SND_SOC_AMD_ACP3x=m +CONFIG_SND_SOC_AMD_ACP5x=m +CONFIG_SND_SOC_AMD_ACP6x=m +CONFIG_SND_SOC_AMD_ACP_COMMON=m +CONFIG_SND_SOC_AMD_ACP_I2S=m +CONFIG_SND_SOC_AMD_ACP_PCI=m +CONFIG_SND_SOC_AMD_ACP_PCM=m +CONFIG_SND_SOC_AMD_ACP_PDM=m +CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m +CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m +CONFIG_SND_SOC_AMD_LEGACY_MACH=m +CONFIG_SND_SOC_AMD_MACH_COMMON=m +# CONFIG_SND_SOC_AMD_PS is not set +CONFIG_SND_SOC_AMD_RENOIR=m +CONFIG_SND_SOC_AMD_RENOIR_MACH=m +CONFIG_SND_SOC_AMD_RV_RT5682_MACH=m +CONFIG_SND_SOC_AMD_SOF_MACH=m +CONFIG_SND_SOC_AMD_VANGOGH_MACH=m +CONFIG_SND_SOC_AMD_YC_MACH=m +CONFIG_SND_SOC_APQ8016_SBC=m +CONFIG_SND_SOC_ARIZONA=m +CONFIG_SND_SOC_AW8738=m +CONFIG_SND_SOC_BD28623=m +CONFIG_SND_SOC_BT_SCO=m +CONFIG_SND_SOC_COMPRESS=y +CONFIG_SND_SOC_CPCAP=m +CONFIG_SND_SOC_CROS_EC_CODEC=m +CONFIG_SND_SOC_CS35L32=m +CONFIG_SND_SOC_CS35L33=m +CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m +CONFIG_SND_SOC_CS35L36=m +CONFIG_SND_SOC_CS35L41=m +CONFIG_SND_SOC_CS35L41_I2C=m +CONFIG_SND_SOC_CS35L41_LIB=m +CONFIG_SND_SOC_CS35L41_SPI=m +CONFIG_SND_SOC_CS35L45=m +CONFIG_SND_SOC_CS35L45_I2C=m +CONFIG_SND_SOC_CS35L45_SPI=m +CONFIG_SND_SOC_CS35L45_TABLES=m +CONFIG_SND_SOC_CS4234=m +CONFIG_SND_SOC_CS4265=m +CONFIG_SND_SOC_CS4270=m +CONFIG_SND_SOC_CS4271=m +CONFIG_SND_SOC_CS4271_I2C=m +CONFIG_SND_SOC_CS4271_SPI=m +CONFIG_SND_SOC_CS42L42=m +CONFIG_SND_SOC_CS42L51=m +CONFIG_SND_SOC_CS42L51_I2C=m +CONFIG_SND_SOC_CS42L52=m +CONFIG_SND_SOC_CS42L56=m +CONFIG_SND_SOC_CS42L73=m +CONFIG_SND_SOC_CS42XX8=m +CONFIG_SND_SOC_CS42XX8_I2C=m +CONFIG_SND_SOC_CS43130=m +CONFIG_SND_SOC_CS4341=m +CONFIG_SND_SOC_CS4349=m +CONFIG_SND_SOC_CS53L30=m +CONFIG_SND_SOC_CX2072X=m +CONFIG_SND_SOC_DA7213=m +CONFIG_SND_SOC_DA7219=m +CONFIG_SND_SOC_DAVINCI_MCASP=m +CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m +CONFIG_SND_SOC_ES7241=m +CONFIG_SND_SOC_ES8316=m +CONFIG_SND_SOC_ES8328=m +CONFIG_SND_SOC_ES8328_I2C=m +CONFIG_SND_SOC_ES8328_SPI=m +CONFIG_SND_SOC_FSL_ASOC_CARD=m +CONFIG_SND_SOC_FSL_ASRC=m +CONFIG_SND_SOC_FSL_AUD2HTX=m +CONFIG_SND_SOC_FSL_AUDMIX=m +CONFIG_SND_SOC_FSL_EASRC=m +CONFIG_SND_SOC_FSL_ESAI=m +CONFIG_SND_SOC_FSL_MICFIL=m +CONFIG_SND_SOC_FSL_MQS=m +CONFIG_SND_SOC_FSL_RPMSG=m +CONFIG_SND_SOC_FSL_SAI=m +CONFIG_SND_SOC_FSL_SPDIF=m +CONFIG_SND_SOC_FSL_SSI=m +CONFIG_SND_SOC_FSL_XCVR=m +CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y +CONFIG_SND_SOC_GTM601=m +CONFIG_SND_SOC_HDAC_HDA=m +CONFIG_SND_SOC_HDAC_HDMI=m +CONFIG_SND_SOC_HDMI_CODEC=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_ICS43432=m +CONFIG_SND_SOC_IMG=y +CONFIG_SND_SOC_IMG_I2S_IN=m +CONFIG_SND_SOC_IMG_I2S_OUT=m +CONFIG_SND_SOC_IMG_PARALLEL_OUT=m +CONFIG_SND_SOC_IMG_PISTACHIO_INTERNAL_DAC=m +CONFIG_SND_SOC_IMG_SPDIF_IN=m +CONFIG_SND_SOC_IMG_SPDIF_OUT=m +CONFIG_SND_SOC_IMX_AUDIO_RPMSG=m +CONFIG_SND_SOC_IMX_AUDMIX=m +CONFIG_SND_SOC_IMX_AUDMUX=m +CONFIG_SND_SOC_IMX_CARD=m +CONFIG_SND_SOC_IMX_ES8328=m +CONFIG_SND_SOC_IMX_HDMI=m +CONFIG_SND_SOC_IMX_PCM_DMA=m +CONFIG_SND_SOC_IMX_PCM_RPMSG=m +CONFIG_SND_SOC_IMX_RPMSG=m +CONFIG_SND_SOC_IMX_SGTL5000=m +CONFIG_SND_SOC_IMX_SPDIF=m +CONFIG_SND_SOC_INNO_RK3036=m +CONFIG_SND_SOC_INTEL_APL=m +CONFIG_SND_SOC_INTEL_AVS=m +CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m +CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m +CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m +CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON=m +CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m +CONFIG_SND_SOC_INTEL_BXT_RT298_MACH=m +CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m +CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m +CONFIG_SND_SOC_INTEL_BYTCR_WM5102_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_CX2072X_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH=m +# CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH is not set +CONFIG_SND_SOC_INTEL_CATPT=m +# CONFIG_SND_SOC_INTEL_CFL is not set +CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m +CONFIG_SND_SOC_INTEL_CHT_BSW_NAU8824_MACH=m +CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m +CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m +# CONFIG_SND_SOC_INTEL_CML_H is not set +# CONFIG_SND_SOC_INTEL_CML_LP is not set +CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH=m +# CONFIG_SND_SOC_INTEL_CNL is not set +CONFIG_SND_SOC_INTEL_DA7219_MAX98357A_GENERIC=m +CONFIG_SND_SOC_INTEL_EHL_RT5660_MACH=m +CONFIG_SND_SOC_INTEL_GLK=m +CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH=m +CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH=m +CONFIG_SND_SOC_INTEL_HASWELL_MACH=m +CONFIG_SND_SOC_INTEL_HDA_DSP_COMMON=m +CONFIG_SND_SOC_INTEL_KBL=m +CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98357A_MACH=m +CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98927_MACH=m +CONFIG_SND_SOC_INTEL_KBL_RT5660_MACH=m +CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH=m +CONFIG_SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH=m +CONFIG_SND_SOC_INTEL_KEEMBAY=m +CONFIG_SND_SOC_INTEL_MACH=y +CONFIG_SND_SOC_INTEL_SKL=m +CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m +CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH=m +CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=m +CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m +# CONFIG_SND_SOC_INTEL_SKYLAKE is not set +CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m +CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY=m +CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=y +CONFIG_SND_SOC_INTEL_SKYLAKE_SSP_CLK=m +CONFIG_SND_SOC_INTEL_SOF_CIRRUS_COMMON=m +CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m +CONFIG_SND_SOC_INTEL_SOF_CS42L42_MACH=m +CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m +CONFIG_SND_SOC_INTEL_SOF_ES8336_MACH=m +CONFIG_SND_SOC_INTEL_SOF_MAXIM_COMMON=m +CONFIG_SND_SOC_INTEL_SOF_NAU8825_MACH=m +CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m +CONFIG_SND_SOC_INTEL_SOF_REALTEK_COMMON=m +CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m +CONFIG_SND_SOC_INTEL_SOF_SSP_AMP_MACH=m +CONFIG_SND_SOC_INTEL_SOF_WM8804_MACH=m +CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH=m +CONFIG_SND_SOC_INTEL_SST=m +CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y +CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y +CONFIG_SND_SOC_J721E_EVM=m +CONFIG_SND_SOC_LOCHNAGAR_SC=m +CONFIG_SND_SOC_LPASS_APQ8016=m +CONFIG_SND_SOC_LPASS_CDC_DMA=m +CONFIG_SND_SOC_LPASS_CPU=m +CONFIG_SND_SOC_LPASS_HDMI=m +CONFIG_SND_SOC_LPASS_IPQ806X=m +CONFIG_SND_SOC_LPASS_MACRO_COMMON=m +CONFIG_SND_SOC_LPASS_PLATFORM=m +CONFIG_SND_SOC_LPASS_RX_MACRO=m +CONFIG_SND_SOC_LPASS_SC7180=m +CONFIG_SND_SOC_LPASS_SC7280=m +CONFIG_SND_SOC_LPASS_TX_MACRO=m +CONFIG_SND_SOC_LPASS_VA_MACRO=m +CONFIG_SND_SOC_LPASS_WSA_MACRO=m +CONFIG_SND_SOC_MAX9759=m +CONFIG_SND_SOC_MAX98088=m +CONFIG_SND_SOC_MAX98090=m +CONFIG_SND_SOC_MAX98357A=m +CONFIG_SND_SOC_MAX98373=m +CONFIG_SND_SOC_MAX98373_I2C=m +CONFIG_SND_SOC_MAX98373_SDW=m +CONFIG_SND_SOC_MAX98390=m +CONFIG_SND_SOC_MAX98396=m +CONFIG_SND_SOC_MAX98504=m +CONFIG_SND_SOC_MAX98520=m +CONFIG_SND_SOC_MAX9860=m +CONFIG_SND_SOC_MAX9867=m +CONFIG_SND_SOC_MAX98927=m +CONFIG_SND_SOC_MEDIATEK=m +CONFIG_SND_SOC_MESON_T9015=m +CONFIG_SND_SOC_MIKROE_PROTO=m +CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m +CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m +CONFIG_SND_SOC_MSM8996=m +# CONFIG_SND_SOC_MT2701 is not set +CONFIG_SND_SOC_MT6351=m +CONFIG_SND_SOC_MT6358=m +CONFIG_SND_SOC_MT6359=m +CONFIG_SND_SOC_MT6359_ACCDET=m +CONFIG_SND_SOC_MT6660=m +CONFIG_SND_SOC_MT6797=m +CONFIG_SND_SOC_MT6797_MT6351=m +# CONFIG_SND_SOC_MT8173 is not set +CONFIG_SND_SOC_MT8183=m +CONFIG_SND_SOC_MT8183_DA7219_MAX98357A=m +CONFIG_SND_SOC_MT8183_MT6358_TS3A227E_MAX98357A=m +CONFIG_SND_SOC_MT8192=m +CONFIG_SND_SOC_MT8192_MT6359_RT1015_RT5682=m +CONFIG_SND_SOC_MT8195=m +CONFIG_SND_SOC_MT8195_MT6359=m +CONFIG_SND_SOC_MTK_BTCVSD=m +CONFIG_SND_SOC_NAU8315=m +CONFIG_SND_SOC_NAU8540=m +CONFIG_SND_SOC_NAU8810=m +CONFIG_SND_SOC_NAU8821=m +CONFIG_SND_SOC_NAU8822=m +CONFIG_SND_SOC_NAU8824=m +CONFIG_SND_SOC_NAU8825=m +CONFIG_SND_SOC_PCM1681=m +CONFIG_SND_SOC_PCM1789=m +CONFIG_SND_SOC_PCM1789_I2C=m +CONFIG_SND_SOC_PCM179X=m +CONFIG_SND_SOC_PCM179X_I2C=m +CONFIG_SND_SOC_PCM179X_SPI=m +CONFIG_SND_SOC_PCM186X=m +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m +CONFIG_SND_SOC_PCM3060=m +CONFIG_SND_SOC_PCM3060_I2C=m +CONFIG_SND_SOC_PCM3060_SPI=m +CONFIG_SND_SOC_PCM3168A=m +CONFIG_SND_SOC_PCM3168A_I2C=m +CONFIG_SND_SOC_PCM3168A_SPI=m +CONFIG_SND_SOC_PCM5102A=m +CONFIG_SND_SOC_PCM512x=m +CONFIG_SND_SOC_PCM512x_I2C=m +CONFIG_SND_SOC_PCM512x_SPI=m +CONFIG_SND_SOC_QCOM=m +CONFIG_SND_SOC_QCOM_COMMON=m +CONFIG_SND_SOC_QDSP6=m +CONFIG_SND_SOC_QDSP6_ADM=m +CONFIG_SND_SOC_QDSP6_AFE=m +CONFIG_SND_SOC_QDSP6_AFE_CLOCKS=m +CONFIG_SND_SOC_QDSP6_AFE_DAI=m +CONFIG_SND_SOC_QDSP6_APM=m +CONFIG_SND_SOC_QDSP6_APM_DAI=m +CONFIG_SND_SOC_QDSP6_APM_LPASS_DAI=m +CONFIG_SND_SOC_QDSP6_ASM=m +CONFIG_SND_SOC_QDSP6_ASM_DAI=m +CONFIG_SND_SOC_QDSP6_COMMON=m +CONFIG_SND_SOC_QDSP6_CORE=m +CONFIG_SND_SOC_QDSP6_PRM=m +CONFIG_SND_SOC_QDSP6_PRM_LPASS_CLOCKS=m +CONFIG_SND_SOC_QDSP6_ROUTING=m +CONFIG_SND_SOC_RCAR=m +CONFIG_SND_SOC_RK3288_HDMI_ANALOG=m +CONFIG_SND_SOC_RK3328=m +CONFIG_SND_SOC_RK3399_GRU_SOUND=m +CONFIG_SND_SOC_RK817=m +CONFIG_SND_SOC_RL6231=m +CONFIG_SND_SOC_RL6347A=m +CONFIG_SND_SOC_ROCKCHIP=m +CONFIG_SND_SOC_ROCKCHIP_I2S=m +CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=m +CONFIG_SND_SOC_ROCKCHIP_MAX98090=m +CONFIG_SND_SOC_ROCKCHIP_PDM=m +CONFIG_SND_SOC_ROCKCHIP_RT5645=m +CONFIG_SND_SOC_ROCKCHIP_SPDIF=m +CONFIG_SND_SOC_RT1011=m +CONFIG_SND_SOC_RT1015=m +CONFIG_SND_SOC_RT1015P=m +CONFIG_SND_SOC_RT1019=m +CONFIG_SND_SOC_RT1308=m +CONFIG_SND_SOC_RT1308_SDW=m +CONFIG_SND_SOC_RT1316_SDW=m +CONFIG_SND_SOC_RT286=m +CONFIG_SND_SOC_RT298=m +CONFIG_SND_SOC_RT5514=m +CONFIG_SND_SOC_RT5514_SPI=m +CONFIG_SND_SOC_RT5616=m +CONFIG_SND_SOC_RT5631=m +CONFIG_SND_SOC_RT5640=m +CONFIG_SND_SOC_RT5645=m +CONFIG_SND_SOC_RT5651=m +CONFIG_SND_SOC_RT5659=m +CONFIG_SND_SOC_RT5660=m +CONFIG_SND_SOC_RT5663=m +CONFIG_SND_SOC_RT5670=m +CONFIG_SND_SOC_RT5677=m +CONFIG_SND_SOC_RT5677_SPI=m +CONFIG_SND_SOC_RT5682=m +CONFIG_SND_SOC_RT5682S=m +CONFIG_SND_SOC_RT5682_I2C=m +CONFIG_SND_SOC_RT5682_SDW=m +CONFIG_SND_SOC_RT700=m +CONFIG_SND_SOC_RT700_SDW=m +CONFIG_SND_SOC_RT711=m +CONFIG_SND_SOC_RT711_SDCA_SDW=m +CONFIG_SND_SOC_RT711_SDW=m +CONFIG_SND_SOC_RT715=m +CONFIG_SND_SOC_RT715_SDCA_SDW=m +CONFIG_SND_SOC_RT715_SDW=m +CONFIG_SND_SOC_RT9120=m +CONFIG_SND_SOC_RZ=m +CONFIG_SND_SOC_SC7180=m +CONFIG_SND_SOC_SC7280=m +CONFIG_SND_SOC_SDM845=m +CONFIG_SND_SOC_SDW_MOCKUP=m +CONFIG_SND_SOC_SGTL5000=m +CONFIG_SND_SOC_SH4_FSI=m +CONFIG_SND_SOC_SI476X=m +CONFIG_SND_SOC_SIGMADSP=m +CONFIG_SND_SOC_SIGMADSP_I2C=m +CONFIG_SND_SOC_SIGMADSP_REGMAP=m +CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m +CONFIG_SND_SOC_SIMPLE_MUX=m +CONFIG_SND_SOC_SM8250=m +CONFIG_SND_SOC_SOF=m +CONFIG_SND_SOC_SOF_ACPI=m +CONFIG_SND_SOC_SOF_ACPI_DEV=m +CONFIG_SND_SOC_SOF_ALDERLAKE=m +CONFIG_SND_SOC_SOF_AMD_COMMON=m +CONFIG_SND_SOC_SOF_AMD_RENOIR=m +CONFIG_SND_SOC_SOF_AMD_TOPLEVEL=m +CONFIG_SND_SOC_SOF_APOLLOLAKE=m +CONFIG_SND_SOC_SOF_BAYTRAIL=m +CONFIG_SND_SOC_SOF_BROADWELL=m +CONFIG_SND_SOC_SOF_CANNONLAKE=m +CONFIG_SND_SOC_SOF_CLIENT=m +CONFIG_SND_SOC_SOF_COFFEELAKE=m +CONFIG_SND_SOC_SOF_COMETLAKE=m +CONFIG_SND_SOC_SOF_COMPRESS=y +CONFIG_SND_SOC_SOF_DEBUG_PROBES=m +# CONFIG_SND_SOC_SOF_DEVELOPER_SUPPORT is not set +CONFIG_SND_SOC_SOF_ELKHARTLAKE=m +CONFIG_SND_SOC_SOF_GEMINILAKE=m +CONFIG_SND_SOC_SOF_HDA=m +CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y +CONFIG_SND_SOC_SOF_HDA_COMMON=m +CONFIG_SND_SOC_SOF_HDA_LINK=y +CONFIG_SND_SOC_SOF_HDA_LINK_BASELINE=m +CONFIG_SND_SOC_SOF_HDA_PROBES=m +CONFIG_SND_SOC_SOF_ICELAKE=m +CONFIG_SND_SOC_SOF_IMX8=m +CONFIG_SND_SOC_SOF_IMX8M=m +CONFIG_SND_SOC_SOF_IMX_COMMON=m +CONFIG_SND_SOC_SOF_IMX_TOPLEVEL=y +CONFIG_SND_SOC_SOF_INTEL_APL=m +CONFIG_SND_SOC_SOF_INTEL_ATOM_HIFI_EP=m +CONFIG_SND_SOC_SOF_INTEL_CNL=m +CONFIG_SND_SOC_SOF_INTEL_COMMON=m +CONFIG_SND_SOC_SOF_INTEL_HIFI_EP_IPC=m +CONFIG_SND_SOC_SOF_INTEL_ICL=m +CONFIG_SND_SOC_SOF_INTEL_MTL=m +CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE=m +CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE=m +CONFIG_SND_SOC_SOF_INTEL_TGL=m +CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y +CONFIG_SND_SOC_SOF_JASPERLAKE=m +CONFIG_SND_SOC_SOF_MERRIFIELD=m +CONFIG_SND_SOC_SOF_METEORLAKE=m +CONFIG_SND_SOC_SOF_MT8186=m +CONFIG_SND_SOC_SOF_MT8195=m +CONFIG_SND_SOC_SOF_MTK_COMMON=m +CONFIG_SND_SOC_SOF_MTK_TOPLEVEL=y +CONFIG_SND_SOC_SOF_OF=m +CONFIG_SND_SOC_SOF_OF_DEV=m +CONFIG_SND_SOC_SOF_PCI=m +CONFIG_SND_SOC_SOF_PCI_DEV=m +CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE=y +CONFIG_SND_SOC_SOF_TIGERLAKE=m +CONFIG_SND_SOC_SOF_TOPLEVEL=y +CONFIG_SND_SOC_SOF_XTENSA=m +CONFIG_SND_SOC_SPDIF=m +CONFIG_SND_SOC_SPRD=m +CONFIG_SND_SOC_SPRD_MCDT=m +CONFIG_SND_SOC_SSM2305=m +CONFIG_SND_SOC_SSM2518=m +CONFIG_SND_SOC_SSM2602=m +CONFIG_SND_SOC_SSM2602_I2C=m +CONFIG_SND_SOC_SSM2602_SPI=m +CONFIG_SND_SOC_SSM4567=m +CONFIG_SND_SOC_STA32X=m +CONFIG_SND_SOC_STA350=m +CONFIG_SND_SOC_STI_SAS=m +CONFIG_SND_SOC_STORM=m +CONFIG_SND_SOC_TAS2552=m +CONFIG_SND_SOC_TAS2562=m +CONFIG_SND_SOC_TAS2764=m +CONFIG_SND_SOC_TAS2770=m +CONFIG_SND_SOC_TAS5086=m +CONFIG_SND_SOC_TAS571X=m +CONFIG_SND_SOC_TAS5720=m +CONFIG_SND_SOC_TAS5805M=m +CONFIG_SND_SOC_TAS6424=m +CONFIG_SND_SOC_TDA7419=m +CONFIG_SND_SOC_TEGRA=m +CONFIG_SND_SOC_TEGRA186_ASRC=m +CONFIG_SND_SOC_TEGRA186_DSPK=m +CONFIG_SND_SOC_TEGRA20_AC97=m +CONFIG_SND_SOC_TEGRA20_DAS=m +CONFIG_SND_SOC_TEGRA20_I2S=m +CONFIG_SND_SOC_TEGRA20_SPDIF=m +CONFIG_SND_SOC_TEGRA210_ADMAIF=m +CONFIG_SND_SOC_TEGRA210_ADX=m +CONFIG_SND_SOC_TEGRA210_AHUB=m +CONFIG_SND_SOC_TEGRA210_AMX=m +CONFIG_SND_SOC_TEGRA210_DMIC=m +CONFIG_SND_SOC_TEGRA210_I2S=m +CONFIG_SND_SOC_TEGRA210_MIXER=m +CONFIG_SND_SOC_TEGRA210_MVC=m +CONFIG_SND_SOC_TEGRA210_SFC=m +CONFIG_SND_SOC_TEGRA30_AHUB=m +CONFIG_SND_SOC_TEGRA30_I2S=m +CONFIG_SND_SOC_TEGRA_ALC5632=m +CONFIG_SND_SOC_TEGRA_AUDIO_GRAPH_CARD=m +CONFIG_SND_SOC_TEGRA_MACHINE_DRV=m +CONFIG_SND_SOC_TEGRA_MAX98090=m +CONFIG_SND_SOC_TEGRA_RT5640=m +CONFIG_SND_SOC_TEGRA_RT5677=m +CONFIG_SND_SOC_TEGRA_SGTL5000=m +CONFIG_SND_SOC_TEGRA_TRIMSLICE=m +CONFIG_SND_SOC_TEGRA_WM8753=m +CONFIG_SND_SOC_TEGRA_WM8903=m +CONFIG_SND_SOC_TEGRA_WM9712=m +CONFIG_SND_SOC_TFA9879=m +CONFIG_SND_SOC_TFA989X=m +CONFIG_SND_SOC_TI_EDMA_PCM=m +CONFIG_SND_SOC_TI_SDMA_PCM=m +CONFIG_SND_SOC_TI_UDMA_PCM=m +CONFIG_SND_SOC_TLV320ADC3XXX=m +CONFIG_SND_SOC_TLV320ADCX140=m +CONFIG_SND_SOC_TLV320AIC23=m +CONFIG_SND_SOC_TLV320AIC23_I2C=m +CONFIG_SND_SOC_TLV320AIC23_SPI=m +CONFIG_SND_SOC_TLV320AIC31XX=m +CONFIG_SND_SOC_TLV320AIC32X4=m +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m +CONFIG_SND_SOC_TLV320AIC3X=m +CONFIG_SND_SOC_TLV320AIC3X_I2C=m +CONFIG_SND_SOC_TLV320AIC3X_SPI=m +CONFIG_SND_SOC_TOPOLOGY=y +CONFIG_SND_SOC_TPA6130A2=m +CONFIG_SND_SOC_TS3A227E=m +CONFIG_SND_SOC_TSCS42XX=m +CONFIG_SND_SOC_TSCS454=m +CONFIG_SND_SOC_UDA1334=m +CONFIG_SND_SOC_WCD9335=m +CONFIG_SND_SOC_WCD934X=m +CONFIG_SND_SOC_WCD938X=m +CONFIG_SND_SOC_WCD938X_SDW=m +CONFIG_SND_SOC_WCD_MBHC=m +CONFIG_SND_SOC_WM5102=m +CONFIG_SND_SOC_WM8510=m +CONFIG_SND_SOC_WM8523=m +CONFIG_SND_SOC_WM8524=m +CONFIG_SND_SOC_WM8580=m +CONFIG_SND_SOC_WM8711=m +CONFIG_SND_SOC_WM8728=m +CONFIG_SND_SOC_WM8731=m +CONFIG_SND_SOC_WM8731_I2C=m +CONFIG_SND_SOC_WM8731_SPI=m +CONFIG_SND_SOC_WM8737=m +CONFIG_SND_SOC_WM8741=m +CONFIG_SND_SOC_WM8750=m +CONFIG_SND_SOC_WM8753=m +CONFIG_SND_SOC_WM8770=m +CONFIG_SND_SOC_WM8776=m +CONFIG_SND_SOC_WM8782=m +CONFIG_SND_SOC_WM8804=m +CONFIG_SND_SOC_WM8804_I2C=m +CONFIG_SND_SOC_WM8804_SPI=m +CONFIG_SND_SOC_WM8903=m +CONFIG_SND_SOC_WM8904=m +CONFIG_SND_SOC_WM8940=m +CONFIG_SND_SOC_WM8960=m +CONFIG_SND_SOC_WM8962=m +CONFIG_SND_SOC_WM8974=m +CONFIG_SND_SOC_WM8978=m +CONFIG_SND_SOC_WM8985=m +CONFIG_SND_SOC_WM8994=m +CONFIG_SND_SOC_WM9712=m +CONFIG_SND_SOC_WM_ADSP=m +CONFIG_SND_SOC_WM_HUBS=m +CONFIG_SND_SOC_WSA881X=m +CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER=m +CONFIG_SND_SOC_XILINX_I2S=m +CONFIG_SND_SOC_XILINX_SPDIF=m +CONFIG_SND_SOC_XTFPGA_I2S=m +CONFIG_SND_SOC_ZL38060=m +CONFIG_SND_SONICVIBES=m +CONFIG_SND_SPI=y +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI=m +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SUN4I_I2S is not set +# CONFIG_SND_SUN4I_SPDIF is not set +CONFIG_SND_SUN50I_CODEC_ANALOG=m +CONFIG_SND_SUN8I_ADDA_PR_REGMAP=m +CONFIG_SND_SUN8I_CODEC=m +CONFIG_SND_SUN8I_CODEC_ANALOG=m +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_SYNTH_EMUX=m +# CONFIG_SND_TEST_COMPONENT is not set +CONFIG_SND_TIMER=m +CONFIG_SND_TRIDENT=m +CONFIG_SND_USB=y +CONFIG_SND_USB_6FIRE=m +CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y +CONFIG_SND_USB_CAIAQ=m +CONFIG_SND_USB_CAIAQ_INPUT=y +CONFIG_SND_USB_HIFACE=m +CONFIG_SND_USB_LINE6=m +CONFIG_SND_USB_POD=m +CONFIG_SND_USB_PODHD=m +CONFIG_SND_USB_TONEPORT=m +CONFIG_SND_USB_UA101=m +CONFIG_SND_USB_US122L=m +CONFIG_SND_USB_USX2Y=m +CONFIG_SND_USB_VARIAX=m +# CONFIG_SND_VERBOSE_PRINTK is not set +CONFIG_SND_VERBOSE_PROCFS=y +CONFIG_SND_VIA82XX=m +CONFIG_SND_VIA82XX_MODEM=m +CONFIG_SND_VIRMIDI=m +CONFIG_SND_VIRTIO=m +CONFIG_SND_VIRTUOSO=m +CONFIG_SND_VMASTER=y +CONFIG_SND_VX222=m +CONFIG_SND_VXPOCKET=m +CONFIG_SND_VX_LIB=m +CONFIG_SND_X86=y +CONFIG_SND_XEN_FRONTEND=m +CONFIG_SND_YMFPCI=m +CONFIG_SNI_NETSEC=m +CONFIG_SOCFPGA_FPGA_BRIDGE=m +CONFIG_SOCIONEXT_SYNQUACER_PREITS=y +CONFIG_SOCK_CGROUP_DATA=y +CONFIG_SOCK_RX_QUEUE_MAPPING=y +CONFIG_SOCK_VALIDATE_XMIT=y +CONFIG_SOC_BRCMSTB=y +CONFIG_SOC_BUS=y +CONFIG_SOC_IMX8M=y +CONFIG_SOC_RENESAS=y +CONFIG_SOC_TEGRA_FLOWCTRL=y +CONFIG_SOC_TEGRA_FUSE=y +CONFIG_SOC_TEGRA_PMC=y +CONFIG_SOC_TEGRA_POWERGATE_BPMP=y +CONFIG_SOC_TI=y +CONFIG_SOFTLOCKUP_DETECTOR=y +CONFIG_SOFT_WATCHDOG=m +CONFIG_SOFT_WATCHDOG_PRETIMEOUT=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SONYPI_COMPAT=y +CONFIG_SONY_FF=y +CONFIG_SONY_LAPTOP=m +CONFIG_SOUND=m +CONFIG_SOUNDWIRE=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE_GENERIC_ALLOCATION=m +CONFIG_SOUNDWIRE_INTEL=m +CONFIG_SOUNDWIRE_QCOM=m +CONFIG_SOUND_OSS_CORE=y +# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set +CONFIG_SP5100_TCO=m +CONFIG_SPARSEMEM=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSE_IRQ=y +CONFIG_SPARX5_SWITCH=m +CONFIG_SPECULATION_MITIGATIONS=y +CONFIG_SPI=y +CONFIG_SPI_ALTERA=m +CONFIG_SPI_ALTERA_CORE=m +CONFIG_SPI_ALTERA_DFL=m +CONFIG_SPI_AMD=m +CONFIG_SPI_ARMADA_3700=m +CONFIG_SPI_AX88796C=m +CONFIG_SPI_AX88796C_COMPRESSION=y +CONFIG_SPI_AXI_SPI_ENGINE=m +CONFIG_SPI_BCM2835=m +CONFIG_SPI_BCM2835AUX=m +CONFIG_SPI_BCM_QSPI=m +CONFIG_SPI_BITBANG=m +CONFIG_SPI_BUTTERFLY=m +CONFIG_SPI_CADENCE=m +CONFIG_SPI_CADENCE_QUADSPI=m +CONFIG_SPI_CADENCE_XSPI=m +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_DESIGNWARE=m +CONFIG_SPI_DLN2=m +CONFIG_SPI_DW_DMA=y +CONFIG_SPI_DW_MMIO=m +CONFIG_SPI_DW_PCI=m +CONFIG_SPI_DYNAMIC=y +CONFIG_SPI_FSI=m +CONFIG_SPI_FSL_DSPI=m +CONFIG_SPI_FSL_LIB=y +CONFIG_SPI_FSL_LPSPI=m +CONFIG_SPI_FSL_QUADSPI=m +CONFIG_SPI_FSL_SPI=y +CONFIG_SPI_GPIO=m +CONFIG_SPI_HISI_KUNPENG=m +CONFIG_SPI_HISI_SFC=m +CONFIG_SPI_HISI_SFC_V3XX=m +CONFIG_SPI_IMX=m +# CONFIG_SPI_INTEL_PCI is not set +# CONFIG_SPI_INTEL_PLATFORM is not set +CONFIG_SPI_LANTIQ_SSC=m +CONFIG_SPI_LM70_LLP=m +CONFIG_SPI_LOOPBACK_TEST=m +CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y +CONFIG_SPI_MESON_SPICC=m +CONFIG_SPI_MESON_SPIFC=m +CONFIG_SPI_MT65XX=m +CONFIG_SPI_MTK_NOR=m +CONFIG_SPI_MTK_SNFI=m +CONFIG_SPI_MUX=m +CONFIG_SPI_MXIC=m +CONFIG_SPI_NXP_FLEXSPI=m +CONFIG_SPI_OC_TINY=m +CONFIG_SPI_OMAP24XX=y +CONFIG_SPI_ORION=m +CONFIG_SPI_PL022=m +CONFIG_SPI_PXA2XX=m +CONFIG_SPI_PXA2XX_PCI=m +CONFIG_SPI_QCOM_GENI=m +CONFIG_SPI_QCOM_QSPI=m +CONFIG_SPI_QUP=m +CONFIG_SPI_ROCKCHIP=m +CONFIG_SPI_ROCKCHIP_SFC=m +CONFIG_SPI_RPCIF=m +CONFIG_SPI_RSPI=m +CONFIG_SPI_SC18IS602=m +CONFIG_SPI_SH_HSPI=m +CONFIG_SPI_SH_MSIOF=m +CONFIG_SPI_SIFIVE=m +CONFIG_SPI_SLAVE=y +CONFIG_SPI_SLAVE_MT27XX=m +CONFIG_SPI_SLAVE_SYSTEM_CONTROL=m +CONFIG_SPI_SLAVE_TIME=m +CONFIG_SPI_SPIDEV=m +CONFIG_SPI_SPRD=m +CONFIG_SPI_SPRD_ADI=m +# CONFIG_SPI_SUN4I is not set +CONFIG_SPI_SUN6I=m +CONFIG_SPI_SYNQUACER=m +CONFIG_SPI_TEGRA114=m +CONFIG_SPI_TEGRA20_SFLASH=m +CONFIG_SPI_TEGRA20_SLINK=m +CONFIG_SPI_TEGRA210_QUAD=m +CONFIG_SPI_THUNDERX=m +CONFIG_SPI_TLE62X0=m +CONFIG_SPI_XCOMM=m +# CONFIG_SPI_XILINX is not set +CONFIG_SPI_XLP=m +CONFIG_SPI_ZYNQMP_GQSPI=m +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_SPMI=m +CONFIG_SPMI_HISI3670=m +CONFIG_SPMI_MSM_PMIC_ARB=m +CONFIG_SPMI_MTK_PMIF=m +CONFIG_SPMI_PMIC_CLKDIV=m +CONFIG_SPRD_COMMON_CLK=m +CONFIG_SPRD_DMA=m +CONFIG_SPRD_EFUSE=m +CONFIG_SPRD_IOMMU=m +CONFIG_SPRD_MBOX=m +CONFIG_SPRD_SC9860_CLK=m +CONFIG_SPRD_SC9863A_CLK=m +CONFIG_SPRD_THERMAL=m +CONFIG_SPRD_TIMER=y +CONFIG_SPRD_WATCHDOG=m +CONFIG_SPS30=m +CONFIG_SPS30_I2C=m +CONFIG_SPS30_SERIAL=m +CONFIG_SQUASHFS=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y +# CONFIG_SQUASHFS_DECOMP_SINGLE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +# CONFIG_SQUASHFS_FILE_CACHE is not set +CONFIG_SQUASHFS_FILE_DIRECT=y +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +CONFIG_SQUASHFS_LZ4=y +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y +CONFIG_SRAM=y +CONFIG_SRCU=y +CONFIG_SRF04=m +CONFIG_SRF08=m +CONFIG_SSB=m +CONFIG_SSB_B43_PCI_BRIDGE=y +CONFIG_SSB_BLOCKIO=y +CONFIG_SSB_DRIVER_GPIO=y +CONFIG_SSB_DRIVER_PCICORE=y +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y +CONFIG_SSB_PCIHOST=y +CONFIG_SSB_PCIHOST_POSSIBLE=y +# CONFIG_SSB_PCMCIAHOST is not set +CONFIG_SSB_PCMCIAHOST_POSSIBLE=y +CONFIG_SSB_POSSIBLE=y +CONFIG_SSB_SDIOHOST=y +CONFIG_SSB_SDIOHOST_POSSIBLE=y +CONFIG_SSB_SPROM=y +CONFIG_SSFDC=m +CONFIG_STACKDEPOT=y +CONFIG_STACKPROTECTOR=y +CONFIG_STACKPROTECTOR_PER_TASK=y +CONFIG_STACKPROTECTOR_STRONG=y +CONFIG_STACKTRACE=y +# CONFIG_STACKTRACE_BUILD_ID is not set +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_STACK_HASH_ORDER=20 +CONFIG_STACK_TRACER=y +CONFIG_STACK_VALIDATION=y +CONFIG_STAGING=y +# CONFIG_STAGING_BOARD is not set +CONFIG_STAGING_MEDIA=y +# CONFIG_STATIC_CALL_SELFTEST is not set +# CONFIG_STATIC_KEYS_SELFTEST is not set +# CONFIG_STATIC_USERMODEHELPER is not set +CONFIG_STE10XP=m +CONFIG_STK3310=m +CONFIG_STK8312=m +CONFIG_STK8BA50=m +CONFIG_STM=m +CONFIG_STMMAC_ETH=m +CONFIG_STMMAC_PCI=m +CONFIG_STMMAC_PLATFORM=m +# CONFIG_STMMAC_SELFTESTS is not set +CONFIG_STMPE_ADC=m +CONFIG_STMPE_I2C=y +CONFIG_STMPE_SPI=y +CONFIG_STMP_DEVICE=y +CONFIG_STM_DUMMY=m +CONFIG_STM_PROTO_BASIC=m +CONFIG_STM_PROTO_SYS_T=m +CONFIG_STM_SOURCE_CONSOLE=m +CONFIG_STM_SOURCE_FTRACE=m +CONFIG_STM_SOURCE_HEARTBEAT=m +CONFIG_STP=m +CONFIG_STPMIC1_WATCHDOG=m +CONFIG_STREAM_PARSER=y +CONFIG_STRICT_DEVMEM=y +CONFIG_STRICT_KERNEL_RWX=y +CONFIG_STRICT_MODULE_RWX=y +# CONFIG_STRICT_SIGALTSTACK_SIZE is not set +# CONFIG_STRING_SELFTEST is not set +# CONFIG_STRIP_ASM_SYMS is not set +CONFIG_STUB_CLK_HI3660=y +CONFIG_STUB_CLK_HI6220=y +CONFIG_STX104=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25_SPI=m +# CONFIG_SUN4I_EMAC is not set +# CONFIG_SUN4I_GPADC is not set +CONFIG_SUN4I_TIMER=y +CONFIG_SUN50I_A100_CCU=y +CONFIG_SUN50I_A100_R_CCU=y +CONFIG_SUN50I_A64_CCU=y +CONFIG_SUN50I_DE2_BUS=y +CONFIG_SUN50I_ERRATUM_UNKNOWN1=y +CONFIG_SUN50I_H616_CCU=y +CONFIG_SUN50I_H6_CCU=y +CONFIG_SUN50I_H6_R_CCU=y +CONFIG_SUN50I_IOMMU=y +CONFIG_SUN6I_MSGBOX=y +CONFIG_SUN6I_RTC_CCU=m +CONFIG_SUN6I_R_INTC=y +CONFIG_SUN8I_DE2_CCU=y +CONFIG_SUN8I_H3_CCU=y +CONFIG_SUN8I_R_CCU=y +CONFIG_SUN8I_THERMAL=m +CONFIG_SUNDANCE=m +# CONFIG_SUNDANCE_MMIO is not set +CONFIG_SUNGEM=m +CONFIG_SUNGEM_PHY=m +CONFIG_SUNRPC=m +CONFIG_SUNRPC_BACKCHANNEL=y +CONFIG_SUNRPC_DEBUG=y +CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES=y +CONFIG_SUNRPC_GSS=m +CONFIG_SUNRPC_SWAP=y +CONFIG_SUNRPC_XPRT_RDMA=m +CONFIG_SUNXI_CCU=y +CONFIG_SUNXI_MBUS=y +CONFIG_SUNXI_NMI_INTC=y +CONFIG_SUNXI_RSB=m +CONFIG_SUNXI_SRAM=y +CONFIG_SUNXI_WATCHDOG=m +CONFIG_SUN_PARTITION=y +CONFIG_SURFACE3_WMI=m +CONFIG_SURFACE_ACPI_NOTIFY=m +CONFIG_SURFACE_AGGREGATOR=m +CONFIG_SURFACE_AGGREGATOR_BUS=y +CONFIG_SURFACE_AGGREGATOR_CDEV=m +# CONFIG_SURFACE_AGGREGATOR_ERROR_INJECTION is not set +CONFIG_SURFACE_AGGREGATOR_REGISTRY=m +CONFIG_SURFACE_DTX=m +CONFIG_SURFACE_GPE=m +CONFIG_SURFACE_HID=m +CONFIG_SURFACE_HID_CORE=m +CONFIG_SURFACE_HOTPLUG=m +CONFIG_SURFACE_KBD=m +CONFIG_SURFACE_PLATFORMS=y +CONFIG_SURFACE_PLATFORM_PROFILE=m +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_SVC_I3C_MASTER=m +CONFIG_SWAP=y +CONFIG_SWIOTLB=y +CONFIG_SWIOTLB_XEN=y +CONFIG_SWPHY=y +CONFIG_SWP_EMULATION=y +CONFIG_SW_SYNC=y +CONFIG_SX9310=m +CONFIG_SX9324=m +CONFIG_SX9360=m +CONFIG_SX9500=m +CONFIG_SXGBE_ETH=m +CONFIG_SX_COMMON=m +CONFIG_SYMBOLIC_ERRNAME=y +CONFIG_SYNCLINK_CS=m +CONFIG_SYNCLINK_GT=m +CONFIG_SYNC_FILE=y +CONFIG_SYNTH_EVENTS=y +# CONFIG_SYNTH_EVENT_GEN_TEST is not set +CONFIG_SYN_COOKIES=y +CONFIG_SYSCON_REBOOT_MODE=m +CONFIG_SYSCTL=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_SYSC_R8A774A1=y +CONFIG_SYSC_R8A774B1=y +CONFIG_SYSC_R8A774C0=y +CONFIG_SYSC_R8A774E1=y +CONFIG_SYSC_R8A7795=y +CONFIG_SYSC_R8A77960=y +CONFIG_SYSC_R8A77961=y +CONFIG_SYSC_R8A77965=y +CONFIG_SYSC_R8A77970=y +CONFIG_SYSC_R8A77980=y +CONFIG_SYSC_R8A77990=y +CONFIG_SYSC_R8A77995=y +CONFIG_SYSC_R8A779A0=y +CONFIG_SYSC_R8A779F0=y +CONFIG_SYSC_R8A779G0=y +CONFIG_SYSC_RCAR=y +CONFIG_SYSC_RCAR_GEN4=y +CONFIG_SYSFB=y +CONFIG_SYSFB_SIMPLEFB=y +CONFIG_SYSFS=y +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_SYSFS_SYSCALL=y +CONFIG_SYSTEM76_ACPI=m +CONFIG_SYSTEMPORT=m +# CONFIG_SYSTEM_BLACKLIST_AUTH_UPDATE is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" +CONFIG_SYSTEM_BLACKLIST_KEYRING=y +CONFIG_SYSTEM_DATA_VERIFICATION=y +CONFIG_SYSTEM_EXTRA_CERTIFICATE=y +CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE=4096 +CONFIG_SYSTEM_REVOCATION_KEYS="debian/canonical-revoked-certs.pem" +CONFIG_SYSTEM_REVOCATION_LIST=y +CONFIG_SYSTEM_TRUSTED_KEYRING=y +CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem" +CONFIG_SYSV68_PARTITION=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_COMPAT=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_SYSV_FS=m +CONFIG_SYS_HYPERVISOR=y +CONFIG_SYS_SUPPORTS_SH_CMT=y +CONFIG_SYS_SUPPORTS_SH_TMU=y +CONFIG_T5403=m +CONFIG_TABLET_SERIAL_WACOM4=m +CONFIG_TABLET_USB_ACECAD=m +CONFIG_TABLET_USB_AIPTEK=m +CONFIG_TABLET_USB_HANWANG=m +CONFIG_TABLET_USB_KBTAB=m +CONFIG_TABLET_USB_PEGASUS=m +CONFIG_TAHVO_USB=m +CONFIG_TAHVO_USB_HOST_BY_DEFAULT=y +CONFIG_TAP=m +CONFIG_TARGET_CORE=m +CONFIG_TASKSTATS=y +CONFIG_TASKS_RCU_GENERIC=y +CONFIG_TASKS_RUDE_RCU=y +CONFIG_TASKS_TRACE_RCU=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_TASK_XACCT=y +CONFIG_TCG_ATMEL=m +CONFIG_TCG_CRB=y +CONFIG_TCG_FTPM_TEE=m +CONFIG_TCG_INFINEON=m +CONFIG_TCG_NSC=m +CONFIG_TCG_TIS=y +CONFIG_TCG_TIS_CORE=y +CONFIG_TCG_TIS_I2C_ATMEL=m +CONFIG_TCG_TIS_I2C_CR50=m +CONFIG_TCG_TIS_I2C_INFINEON=m +CONFIG_TCG_TIS_I2C_NUVOTON=m +CONFIG_TCG_TIS_SPI=m +CONFIG_TCG_TIS_SPI_CR50=y +CONFIG_TCG_TIS_ST33ZP24=m +CONFIG_TCG_TIS_ST33ZP24_I2C=m +CONFIG_TCG_TIS_ST33ZP24_SPI=m +CONFIG_TCG_TIS_SYNQUACER=m +CONFIG_TCG_TPM=y +CONFIG_TCG_VTPM_PROXY=m +CONFIG_TCG_XEN=m +CONFIG_TCM_FC=m +CONFIG_TCM_FILEIO=m +CONFIG_TCM_IBLOCK=m +CONFIG_TCM_PSCSI=m +CONFIG_TCM_QLA2XXX=m +# CONFIG_TCM_QLA2XXX_DEBUG is not set +CONFIG_TCM_USER2=m +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_BBR=m +CONFIG_TCP_CONG_BIC=m +CONFIG_TCP_CONG_CDG=m +CONFIG_TCP_CONG_CUBIC=y +CONFIG_TCP_CONG_DCTCP=m +CONFIG_TCP_CONG_HSTCP=m +CONFIG_TCP_CONG_HTCP=m +CONFIG_TCP_CONG_HYBLA=m +CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_TCP_CONG_LP=m +CONFIG_TCP_CONG_NV=m +CONFIG_TCP_CONG_SCALABLE=m +CONFIG_TCP_CONG_VEGAS=m +CONFIG_TCP_CONG_VENO=m +CONFIG_TCP_CONG_WESTWOOD=m +CONFIG_TCP_CONG_YEAH=m +CONFIG_TCP_MD5SIG=y +CONFIG_TCS3414=m +CONFIG_TCS3472=m +CONFIG_TDX_GUEST_DRIVER=m +CONFIG_TEE=m +CONFIG_TEE_BNXT_FW=m +CONFIG_TEGRA186_GPC_DMA=m +CONFIG_TEGRA20_APB_DMA=y +CONFIG_TEGRA210_ADMA=m +CONFIG_TEGRA210_EMC=m +CONFIG_TEGRA210_EMC_TABLE=y +CONFIG_TEGRA_ACONNECT=m +CONFIG_TEGRA_AHB=y +CONFIG_TEGRA_BPMP=y +CONFIG_TEGRA_BPMP_THERMAL=m +CONFIG_TEGRA_CLK_DFLL=y +CONFIG_TEGRA_GMI=m +CONFIG_TEGRA_HOST1X=m +CONFIG_TEGRA_HOST1X_CONTEXT_BUS=y +CONFIG_TEGRA_HOST1X_FIREWALL=y +CONFIG_TEGRA_HSP_MBOX=y +CONFIG_TEGRA_IOMMU_SMMU=y +CONFIG_TEGRA_IVC=y +CONFIG_TEGRA_MC=y +# CONFIG_TEGRA_SOCTHERM is not set +CONFIG_TEGRA_TIMER=y +CONFIG_TEGRA_WATCHDOG=m +CONFIG_TEHUTI=m +CONFIG_TELCLOCK=m +CONFIG_TERANETICS_PHY=m +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +# CONFIG_TEST_BITMAP is not set +# CONFIG_TEST_BITOPS is not set +CONFIG_TEST_BLACKHOLE_DEV=m +CONFIG_TEST_BPF=m +# CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_FPU is not set +# CONFIG_TEST_FREE_PAGES is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_HMM is not set +# CONFIG_TEST_IDA is not set +# CONFIG_TEST_KMOD is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_LIVEPATCH is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_LOCKUP is not set +# CONFIG_TEST_MEMCAT_P is not set +# CONFIG_TEST_MEMINIT is not set +# CONFIG_TEST_MIN_HEAP is not set +# CONFIG_TEST_OBJAGG is not set +# CONFIG_TEST_PARMAN is not set +CONFIG_TEST_POWER=m +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_REF_TRACKER is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_SCANF is not set +# CONFIG_TEST_SIPHASH is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_STRSCPY is not set +# CONFIG_TEST_SYSCTL is not set +# CONFIG_TEST_UBSAN is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_UUID is not set +# CONFIG_TEST_VMALLOC is not set +# CONFIG_TEST_XARRAY is not set +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_TEXTSEARCH_KMP=m +CONFIG_THERMAL=y +# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set +# CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR is not set +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y +# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 +CONFIG_THERMAL_EMULATION=y +CONFIG_THERMAL_GOV_BANG_BANG=y +CONFIG_THERMAL_GOV_FAIR_SHARE=y +CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y +CONFIG_THERMAL_GOV_STEP_WISE=y +CONFIG_THERMAL_GOV_USER_SPACE=y +CONFIG_THERMAL_HWMON=y +CONFIG_THERMAL_MMIO=m +CONFIG_THERMAL_NETLINK=y +CONFIG_THERMAL_OF=y +CONFIG_THERMAL_STATISTICS=y +CONFIG_THERMAL_WRITABLE_TRIPS=y +CONFIG_THINKPAD_ACPI=m +CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y +# CONFIG_THINKPAD_ACPI_DEBUG is not set +CONFIG_THINKPAD_ACPI_DEBUGFACILITIES=y +CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y +# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set +CONFIG_THINKPAD_ACPI_VIDEO=y +CONFIG_THINKPAD_LMI=m +CONFIG_THP_SWAP=y +CONFIG_THREAD_INFO_IN_TASK=y +CONFIG_THRUSTMASTER_FF=y +CONFIG_THUNDERX2_PMU=m +CONFIG_THUNDER_NIC_BGX=m +CONFIG_THUNDER_NIC_PF=m +CONFIG_THUNDER_NIC_RGX=m +CONFIG_THUNDER_NIC_VF=m +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TICK_ONESHOT=y +CONFIG_TIFM_7XX1=m +CONFIG_TIFM_CORE=m +CONFIG_TIGON3=m +CONFIG_TIGON3_HWMON=y +CONFIG_TIMERFD=y +# CONFIG_TIMERLAT_TRACER is not set +CONFIG_TIMER_ACPI=y +CONFIG_TIMER_IMX_SYS_CTR=y +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_TIME_NS=y +CONFIG_TINYDRM_HX8357D=m +CONFIG_TINYDRM_ILI9163=m +CONFIG_TINYDRM_ILI9225=m +CONFIG_TINYDRM_ILI9341=m +CONFIG_TINYDRM_ILI9486=m +CONFIG_TINYDRM_MI0283QT=m +CONFIG_TINYDRM_REPAPER=m +CONFIG_TINYDRM_ST7586=m +CONFIG_TINYDRM_ST7735R=m +CONFIG_TIPC=m +CONFIG_TIPC_CRYPTO=y +CONFIG_TIPC_DIAG=m +CONFIG_TIPC_MEDIA_IB=y +CONFIG_TIPC_MEDIA_UDP=y +CONFIG_TI_ADC081C=m +CONFIG_TI_ADC0832=m +CONFIG_TI_ADC084S021=m +CONFIG_TI_ADC108S102=m +CONFIG_TI_ADC12138=m +CONFIG_TI_ADC128S052=m +CONFIG_TI_ADC161S626=m +CONFIG_TI_ADS1015=m +CONFIG_TI_ADS124S08=m +CONFIG_TI_ADS131E08=m +CONFIG_TI_ADS7950=m +CONFIG_TI_ADS8344=m +CONFIG_TI_ADS8688=m +CONFIG_TI_AM335X_ADC=m +CONFIG_TI_AM65_CPSW_TAS=y +# CONFIG_TI_CPSW_PHY_SEL is not set +CONFIG_TI_DAC082S085=m +CONFIG_TI_DAC5571=m +CONFIG_TI_DAC7311=m +CONFIG_TI_DAC7612=m +CONFIG_TI_DAVINCI_MDIO=y +CONFIG_TI_K3_AM65_CPSW_NUSS=m +CONFIG_TI_K3_AM65_CPSW_SWITCHDEV=y +CONFIG_TI_K3_AM65_CPTS=m +CONFIG_TI_K3_DSP_REMOTEPROC=m +CONFIG_TI_K3_PSIL=y +CONFIG_TI_K3_R5_REMOTEPROC=m +CONFIG_TI_K3_RINGACC=y +CONFIG_TI_K3_SOCINFO=y +CONFIG_TI_K3_UDMA=y +CONFIG_TI_K3_UDMA_GLUE_LAYER=y +CONFIG_TI_MESSAGE_MANAGER=y +CONFIG_TI_PRUSS=m +CONFIG_TI_PRUSS_INTC=m +CONFIG_TI_SCI_CLK=m +# CONFIG_TI_SCI_CLK_PROBE_FROM_FW is not set +CONFIG_TI_SCI_INTA_IRQCHIP=y +CONFIG_TI_SCI_INTA_MSI_DOMAIN=y +CONFIG_TI_SCI_INTR_IRQCHIP=y +CONFIG_TI_SCI_PM_DOMAINS=m +CONFIG_TI_SCI_PROTOCOL=y +# CONFIG_TI_SOC_THERMAL is not set +CONFIG_TI_ST=m +CONFIG_TI_SYSCON_CLK=y +CONFIG_TI_TLC4541=m +CONFIG_TI_TSC2046=m +CONFIG_TLAN=m +CONFIG_TLS=m +CONFIG_TLS_DEVICE=y +# CONFIG_TLS_TOE is not set +CONFIG_TMD_HERMES=m +CONFIG_TMP006=m +CONFIG_TMP007=m +CONFIG_TMP117=m +CONFIG_TMPFS=y +CONFIG_TMPFS_INODE64=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +CONFIG_TOPSTAR_LAPTOP=m +CONFIG_TOSHIBA_BT_RFKILL=m +CONFIG_TOSHIBA_HAPS=m +# CONFIG_TOSHIBA_WMI is not set +CONFIG_TOUCHSCREEN_88PM860X=m +CONFIG_TOUCHSCREEN_AD7877=m +CONFIG_TOUCHSCREEN_AD7879=m +CONFIG_TOUCHSCREEN_AD7879_I2C=m +CONFIG_TOUCHSCREEN_AD7879_SPI=m +CONFIG_TOUCHSCREEN_ADC=m +CONFIG_TOUCHSCREEN_ADS7846=m +CONFIG_TOUCHSCREEN_AR1021_I2C=m +CONFIG_TOUCHSCREEN_ATMEL_MXT=m +CONFIG_TOUCHSCREEN_ATMEL_MXT_T37=y +CONFIG_TOUCHSCREEN_AUO_PIXCIR=m +CONFIG_TOUCHSCREEN_BU21013=m +CONFIG_TOUCHSCREEN_BU21029=m +CONFIG_TOUCHSCREEN_CHIPONE_ICN8318=m +CONFIG_TOUCHSCREEN_CHIPONE_ICN8505=m +CONFIG_TOUCHSCREEN_COLIBRI_VF50=m +CONFIG_TOUCHSCREEN_CY8CTMA140=m +CONFIG_TOUCHSCREEN_CY8CTMG110=m +CONFIG_TOUCHSCREEN_CYTTSP4_CORE=m +CONFIG_TOUCHSCREEN_CYTTSP4_I2C=m +CONFIG_TOUCHSCREEN_CYTTSP4_SPI=m +CONFIG_TOUCHSCREEN_CYTTSP_CORE=m +CONFIG_TOUCHSCREEN_CYTTSP_I2C=m +CONFIG_TOUCHSCREEN_CYTTSP_SPI=m +CONFIG_TOUCHSCREEN_DA9034=m +CONFIG_TOUCHSCREEN_DA9052=m +CONFIG_TOUCHSCREEN_DMI=y +CONFIG_TOUCHSCREEN_DYNAPRO=m +CONFIG_TOUCHSCREEN_EDT_FT5X06=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_EGALAX=m +CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m +CONFIG_TOUCHSCREEN_EKTF2127=m +CONFIG_TOUCHSCREEN_ELO=m +CONFIG_TOUCHSCREEN_EXC3000=m +CONFIG_TOUCHSCREEN_FUJITSU=m +CONFIG_TOUCHSCREEN_GOODIX=m +CONFIG_TOUCHSCREEN_GUNZE=m +CONFIG_TOUCHSCREEN_HAMPSHIRE=m +CONFIG_TOUCHSCREEN_HIDEEP=m +CONFIG_TOUCHSCREEN_HYCON_HY46XX=m +CONFIG_TOUCHSCREEN_ILI210X=m +CONFIG_TOUCHSCREEN_ILITEK=m +CONFIG_TOUCHSCREEN_IMAGIS=m +CONFIG_TOUCHSCREEN_IMX6UL_TSC=m +CONFIG_TOUCHSCREEN_INEXIO=m +CONFIG_TOUCHSCREEN_IPROC=m +CONFIG_TOUCHSCREEN_IQS5XX=m +CONFIG_TOUCHSCREEN_MAX11801=m +CONFIG_TOUCHSCREEN_MC13783=m +CONFIG_TOUCHSCREEN_MCS5000=m +CONFIG_TOUCHSCREEN_MELFAS_MIP4=m +CONFIG_TOUCHSCREEN_MK712=m +CONFIG_TOUCHSCREEN_MMS114=m +CONFIG_TOUCHSCREEN_MSG2638=m +CONFIG_TOUCHSCREEN_MTOUCH=m +CONFIG_TOUCHSCREEN_PCAP=m +CONFIG_TOUCHSCREEN_PENMOUNT=m +CONFIG_TOUCHSCREEN_PIXCIR=m +CONFIG_TOUCHSCREEN_RASPBERRYPI_FW=m +CONFIG_TOUCHSCREEN_RM_TS=m +CONFIG_TOUCHSCREEN_ROHM_BU21023=m +CONFIG_TOUCHSCREEN_S6SY761=m +CONFIG_TOUCHSCREEN_SILEAD=m +CONFIG_TOUCHSCREEN_SIS_I2C=m +CONFIG_TOUCHSCREEN_ST1232=m +CONFIG_TOUCHSCREEN_STMFTS=m +CONFIG_TOUCHSCREEN_STMPE=m +# CONFIG_TOUCHSCREEN_SUN4I is not set +CONFIG_TOUCHSCREEN_SUR40=m +CONFIG_TOUCHSCREEN_SURFACE3_SPI=m +CONFIG_TOUCHSCREEN_SX8654=m +CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m +CONFIG_TOUCHSCREEN_TOUCHIT213=m +CONFIG_TOUCHSCREEN_TOUCHRIGHT=m +CONFIG_TOUCHSCREEN_TOUCHWIN=m +CONFIG_TOUCHSCREEN_TPS6507X=m +CONFIG_TOUCHSCREEN_TSC2004=m +CONFIG_TOUCHSCREEN_TSC2005=m +CONFIG_TOUCHSCREEN_TSC2007=m +CONFIG_TOUCHSCREEN_TSC2007_IIO=y +CONFIG_TOUCHSCREEN_TSC200X_CORE=m +CONFIG_TOUCHSCREEN_TSC_SERIO=m +CONFIG_TOUCHSCREEN_UCB1400=m +CONFIG_TOUCHSCREEN_USB_3M=y +CONFIG_TOUCHSCREEN_USB_COMPOSITE=m +CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y +CONFIG_TOUCHSCREEN_USB_E2I=y +CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y +CONFIG_TOUCHSCREEN_USB_EGALAX=y +CONFIG_TOUCHSCREEN_USB_ELO=y +CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y +CONFIG_TOUCHSCREEN_USB_ETURBO=y +CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y +CONFIG_TOUCHSCREEN_USB_GOTOP=y +CONFIG_TOUCHSCREEN_USB_GUNZE=y +CONFIG_TOUCHSCREEN_USB_IDEALTEK=y +CONFIG_TOUCHSCREEN_USB_IRTOUCH=y +CONFIG_TOUCHSCREEN_USB_ITM=y +CONFIG_TOUCHSCREEN_USB_JASTEC=y +CONFIG_TOUCHSCREEN_USB_NEXIO=y +CONFIG_TOUCHSCREEN_USB_PANJIT=y +CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y +CONFIG_TOUCHSCREEN_WACOM_I2C=m +CONFIG_TOUCHSCREEN_WACOM_W8001=m +CONFIG_TOUCHSCREEN_WDT87XX_I2C=m +CONFIG_TOUCHSCREEN_WM831X=m +CONFIG_TOUCHSCREEN_WM9705=y +CONFIG_TOUCHSCREEN_WM9712=y +CONFIG_TOUCHSCREEN_WM9713=y +CONFIG_TOUCHSCREEN_WM97XX=m +CONFIG_TOUCHSCREEN_ZET6223=m +CONFIG_TOUCHSCREEN_ZFORCE=m +CONFIG_TOUCHSCREEN_ZINITIX=m +CONFIG_TPL0102=m +CONFIG_TPS6105X=m +CONFIG_TPS65010=m +CONFIG_TPS6507X=m +CONFIG_TPS68470_PMIC_OPREGION=y +CONFIG_TQMX86_WDT=m +CONFIG_TRACEPOINTS=y +# CONFIG_TRACEPOINT_BENCHMARK is not set +CONFIG_TRACER_MAX_TRACE=y +CONFIG_TRACER_SNAPSHOT=y +# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set +CONFIG_TRACE_CLOCK=y +# CONFIG_TRACE_EVAL_MAP_FILE is not set +CONFIG_TRACE_EVENT_INJECT=y +CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_TRACING=y +CONFIG_TRACING_MAP=y +CONFIG_TRACING_SUPPORT=y +CONFIG_TRANSPARENT_HUGEPAGE=y +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_TRANS_TABLE=y +CONFIG_TREE_RCU=y +CONFIG_TREE_SRCU=y +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_TRUSTED_KEYS=y +CONFIG_TRUSTED_KEYS_TPM=y +CONFIG_TSL2583=m +CONFIG_TSL2591=m +CONFIG_TSL2772=m +CONFIG_TSL4531=m +CONFIG_TSNEP=m +# CONFIG_TSNEP_SELFTESTS is not set +CONFIG_TSYS01=m +CONFIG_TSYS02D=m +CONFIG_TTPCI_EEPROM=m +CONFIG_TTY=y +CONFIG_TTY_PRINTK=y +CONFIG_TTY_PRINTK_LEVEL=6 +CONFIG_TULIP=m +# CONFIG_TULIP_MMIO is not set +# CONFIG_TULIP_MWI is not set +# CONFIG_TULIP_NAPI is not set +CONFIG_TUN=y +# CONFIG_TUN_VNET_CROSS_LE is not set +CONFIG_TURRIS_MOX_RWTM=m +CONFIG_TWL4030_CORE=y +CONFIG_TWL4030_MADC=m +CONFIG_TWL4030_WATCHDOG=m +CONFIG_TWL6030_GPADC=m +CONFIG_TWL6040_CORE=y +CONFIG_TYPEC=m +CONFIG_TYPEC_DP_ALTMODE=m +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_HD3SS3220=m +CONFIG_TYPEC_MT6360=m +CONFIG_TYPEC_MUX_FSA4480=m +CONFIG_TYPEC_MUX_INTEL_PMC=m +CONFIG_TYPEC_MUX_PI3USB30532=m +CONFIG_TYPEC_NVIDIA_ALTMODE=m +CONFIG_TYPEC_QCOM_PMIC=m +CONFIG_TYPEC_RT1711H=m +CONFIG_TYPEC_RT1719=m +CONFIG_TYPEC_STUSB160X=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPCI_MAXIM=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_TPS6598X=m +CONFIG_TYPEC_UCSI=m +# CONFIG_TYPEC_WCOVE is not set +CONFIG_TYPEC_WUSB3801=m +CONFIG_TYPHOON=m +CONFIG_UACCE=m +# CONFIG_UBIFS_ATIME_SUPPORT is not set +CONFIG_UBIFS_FS=m +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +CONFIG_UBIFS_FS_AUTHENTICATION=y +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_SECURITY=y +CONFIG_UBIFS_FS_XATTR=y +CONFIG_UBIFS_FS_ZLIB=y +CONFIG_UBIFS_FS_ZSTD=y +CONFIG_UBSAN=y +# CONFIG_UBSAN_ALIGNMENT is not set +CONFIG_UBSAN_BOOL=y +CONFIG_UBSAN_BOUNDS=y +# CONFIG_UBSAN_DIV_ZERO is not set +CONFIG_UBSAN_ENUM=y +CONFIG_UBSAN_ONLY_BOUNDS=y +CONFIG_UBSAN_SANITIZE_ALL=y +CONFIG_UBSAN_SHIFT=y +# CONFIG_UBSAN_TRAP is not set +# CONFIG_UBSAN_UNREACHABLE is not set +CONFIG_UBUNTU_HOST=m +CONFIG_UCB1400_CORE=m +CONFIG_UCC=y +CONFIG_UCC_FAST=y +CONFIG_UCC_SLOW=y +CONFIG_UCLAMP_BUCKETS_COUNT=5 +CONFIG_UCLAMP_TASK=y +CONFIG_UCLAMP_TASK_GROUP=y +CONFIG_UCS2_STRING=y +CONFIG_UCSI_ACPI=m +CONFIG_UCSI_CCG=m +CONFIG_UDF_FS=m +CONFIG_UDMABUF=y +CONFIG_UEFI_CPER=y +CONFIG_UEFI_CPER_ARM=y +CONFIG_UEFI_CPER_X86=y +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="" +# CONFIG_UFS_DEBUG is not set +CONFIG_UFS_FS=m +# CONFIG_UFS_FS_WRITE is not set +CONFIG_UHID=m +CONFIG_UID16=y +CONFIG_UIO=m +CONFIG_UIO_AEC=m +CONFIG_UIO_CIF=m +CONFIG_UIO_DFL=m +CONFIG_UIO_DMEM_GENIRQ=m +CONFIG_UIO_HV_GENERIC=m +CONFIG_UIO_MF624=m +CONFIG_UIO_NETX=m +CONFIG_UIO_PCI_GENERIC=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_UIO_PRUSS=m +CONFIG_UIO_SERCOS3=m +CONFIG_ULI526X=m +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNICODE=y +# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set +CONFIG_UNIX=y +CONFIG_UNIX98_PTYS=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_UNIX_DIAG=m +CONFIG_UNIX_SCM=y +CONFIG_UNMAP_KERNEL_AT_EL0=y +CONFIG_UNWINDER_FRAME_POINTER=y +# CONFIG_UNWINDER_ORC is not set +CONFIG_UPROBES=y +CONFIG_UPROBE_EVENTS=y +CONFIG_US5182D=m +CONFIG_USB=y +CONFIG_USB4=m +# CONFIG_USB4_DEBUGFS_WRITE is not set +# CONFIG_USB4_DMA_TEST is not set +CONFIG_USB4_NET=m +CONFIG_USBIP_CORE=m +# CONFIG_USBIP_DEBUG is not set +CONFIG_USBIP_HOST=m +CONFIG_USBIP_VHCI_HCD=m +CONFIG_USBIP_VHCI_HC_PORTS=8 +CONFIG_USBIP_VHCI_NR_HCS=1 +CONFIG_USBIP_VUDC=m +CONFIG_USBPCWATCHDOG=m +CONFIG_USB_ACM=m +CONFIG_USB_ADUTUX=m +CONFIG_USB_AIRSPY=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AMD5536UDC=m +CONFIG_USB_AN2720=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_APPLEDISPLAY=m +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_ATM=m +CONFIG_USB_AUDIO=m +CONFIG_USB_AUTOSUSPEND_DELAY=2 +CONFIG_USB_BDC_UDC=m +CONFIG_USB_BELKIN=y +CONFIG_USB_BRCMSTB=m +CONFIG_USB_C67X00_HCD=m +CONFIG_USB_CATC=m +CONFIG_USB_CDC_COMPOSITE=m +CONFIG_USB_CDC_PHONET=m +CONFIG_USB_CDNS3=m +CONFIG_USB_CDNS3_GADGET=y +CONFIG_USB_CDNS3_HOST=y +CONFIG_USB_CDNS3_IMX=m +CONFIG_USB_CDNS3_PCI_WRAP=m +CONFIG_USB_CDNS3_TI=m +CONFIG_USB_CDNSP_GADGET=y +CONFIG_USB_CDNSP_HOST=y +CONFIG_USB_CDNSP_PCI=m +CONFIG_USB_CDNS_HOST=y +CONFIG_USB_CDNS_SUPPORT=m +CONFIG_USB_CHAOSKEY=m +CONFIG_USB_CHIPIDEA=m +CONFIG_USB_CHIPIDEA_GENERIC=m +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_IMX=m +CONFIG_USB_CHIPIDEA_MSM=m +CONFIG_USB_CHIPIDEA_PCI=m +CONFIG_USB_CHIPIDEA_TEGRA=m +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_COMMON=y +CONFIG_USB_CONFIGFS=m +CONFIG_USB_CONFIGFS_ACM=y +CONFIG_USB_CONFIGFS_ECM=y +CONFIG_USB_CONFIGFS_ECM_SUBSET=y +CONFIG_USB_CONFIGFS_EEM=y +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_HID=y +CONFIG_USB_CONFIGFS_F_LB_SS=y +CONFIG_USB_CONFIGFS_F_MIDI=y +CONFIG_USB_CONFIGFS_F_PRINTER=y +CONFIG_USB_CONFIGFS_F_TCM=y +CONFIG_USB_CONFIGFS_F_UAC1=y +CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y +CONFIG_USB_CONFIGFS_F_UAC2=y +CONFIG_USB_CONFIGFS_F_UVC=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +CONFIG_USB_CONFIGFS_NCM=y +CONFIG_USB_CONFIGFS_OBEX=y +CONFIG_USB_CONFIGFS_PHONET=y +CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONN_GPIO=m +CONFIG_USB_CXACRU=m +CONFIG_USB_CYPRESS_CY7C63=m +CONFIG_USB_CYTHERM=m +CONFIG_USB_DEFAULT_PERSIST=y +CONFIG_USB_DSBR=m +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_DWC2=y +# CONFIG_USB_DWC2_DEBUG is not set +CONFIG_USB_DWC2_HOST=y +CONFIG_USB_DWC2_PCI=m +# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set +CONFIG_USB_DWC3=m +CONFIG_USB_DWC3_AM62=m +CONFIG_USB_DWC3_DUAL_ROLE=y +# CONFIG_USB_DWC3_GADGET is not set +CONFIG_USB_DWC3_HAPS=m +# CONFIG_USB_DWC3_HOST is not set +CONFIG_USB_DWC3_IMX8MP=m +CONFIG_USB_DWC3_KEYSTONE=m +CONFIG_USB_DWC3_MESON_G12A=m +CONFIG_USB_DWC3_OF_SIMPLE=m +CONFIG_USB_DWC3_PCI=m +CONFIG_USB_DWC3_QCOM=m +CONFIG_USB_DWC3_ULPI=y +CONFIG_USB_DWC3_XILINX=m +CONFIG_USB_DYNAMIC_MINORS=y +CONFIG_USB_EG20T=m +CONFIG_USB_EHCI_BRCMSTB=m +CONFIG_USB_EHCI_FSL=m +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_HCD_ORION=y +CONFIG_USB_EHCI_PCI=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TEGRA=m +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHSET_TEST_FIXTURE=m +CONFIG_USB_EMI26=m +CONFIG_USB_EMI62=m +CONFIG_USB_EMXX=m +CONFIG_USB_EPSON2888=y +CONFIG_USB_ETH=m +CONFIG_USB_ETH_EEM=y +CONFIG_USB_ETH_RNDIS=y +CONFIG_USB_EZUSB_FX2=m +# CONFIG_USB_FEW_INIT_RETRIES is not set +CONFIG_USB_FOTG210_HCD=m +CONFIG_USB_FOTG210_UDC=m +CONFIG_USB_FTDI_ELAN=m +CONFIG_USB_FUNCTIONFS=m +CONFIG_USB_FUNCTIONFS_ETH=y +CONFIG_USB_FUNCTIONFS_GENERIC=y +CONFIG_USB_FUNCTIONFS_RNDIS=y +CONFIG_USB_F_ACM=m +CONFIG_USB_F_ECM=m +CONFIG_USB_F_EEM=m +CONFIG_USB_F_FS=m +CONFIG_USB_F_HID=m +CONFIG_USB_F_MASS_STORAGE=m +CONFIG_USB_F_MIDI=m +CONFIG_USB_F_NCM=m +CONFIG_USB_F_OBEX=m +CONFIG_USB_F_PHONET=m +CONFIG_USB_F_PRINTER=m +CONFIG_USB_F_RNDIS=m +CONFIG_USB_F_SERIAL=m +CONFIG_USB_F_SS_LB=m +CONFIG_USB_F_SUBSET=m +CONFIG_USB_F_TCM=m +CONFIG_USB_F_UAC1=m +CONFIG_USB_F_UAC1_LEGACY=m +CONFIG_USB_F_UAC2=m +CONFIG_USB_F_UVC=m +CONFIG_USB_GADGET=m +CONFIG_USB_GADGETFS=m +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +CONFIG_USB_GADGET_TARGET=m +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_XILINX=m +CONFIG_USB_GL860=m +CONFIG_USB_GOKU=m +CONFIG_USB_GPIO_VBUS=m +CONFIG_USB_GR_UDC=m +CONFIG_USB_GSPCA=m +CONFIG_USB_GSPCA_BENQ=m +CONFIG_USB_GSPCA_CONEX=m +CONFIG_USB_GSPCA_CPIA1=m +CONFIG_USB_GSPCA_DTCS033=m +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m +CONFIG_USB_GSPCA_JL2005BCD=m +CONFIG_USB_GSPCA_KINECT=m +CONFIG_USB_GSPCA_KONICA=m +CONFIG_USB_GSPCA_MARS=m +CONFIG_USB_GSPCA_MR97310A=m +CONFIG_USB_GSPCA_NW80X=m +CONFIG_USB_GSPCA_OV519=m +CONFIG_USB_GSPCA_OV534=m +CONFIG_USB_GSPCA_OV534_9=m +CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7302=m +CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SE401=m +CONFIG_USB_GSPCA_SN9C2028=m +CONFIG_USB_GSPCA_SN9C20X=m +CONFIG_USB_GSPCA_SONIXB=m +CONFIG_USB_GSPCA_SONIXJ=m +CONFIG_USB_GSPCA_SPCA1528=m +CONFIG_USB_GSPCA_SPCA500=m +CONFIG_USB_GSPCA_SPCA501=m +CONFIG_USB_GSPCA_SPCA505=m +CONFIG_USB_GSPCA_SPCA506=m +CONFIG_USB_GSPCA_SPCA508=m +CONFIG_USB_GSPCA_SPCA561=m +CONFIG_USB_GSPCA_SQ905=m +CONFIG_USB_GSPCA_SQ905C=m +CONFIG_USB_GSPCA_SQ930X=m +CONFIG_USB_GSPCA_STK014=m +CONFIG_USB_GSPCA_STK1135=m +CONFIG_USB_GSPCA_STV0680=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TOPRO=m +CONFIG_USB_GSPCA_TOUPTEK=m +CONFIG_USB_GSPCA_TV8532=m +CONFIG_USB_GSPCA_VC032X=m +CONFIG_USB_GSPCA_VICAM=m +CONFIG_USB_GSPCA_XIRLINK_CIT=m +CONFIG_USB_GSPCA_ZC3XX=m +CONFIG_USB_G_ACM_MS=m +CONFIG_USB_G_DBGP=m +# CONFIG_USB_G_DBGP_PRINTK is not set +CONFIG_USB_G_DBGP_SERIAL=y +CONFIG_USB_G_HID=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_G_NCM=m +CONFIG_USB_G_NOKIA=m +CONFIG_USB_G_PRINTER=m +CONFIG_USB_G_SERIAL=m +CONFIG_USB_G_WEBCAM=m +CONFIG_USB_HACKRF=m +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +# CONFIG_USB_HCD_TEST_MODE is not set +CONFIG_USB_HID=m +CONFIG_USB_HIDDEV=y +CONFIG_USB_HSIC_USB3503=m +CONFIG_USB_HSIC_USB4604=m +CONFIG_USB_HSO=m +CONFIG_USB_HUB_USB251XB=m +CONFIG_USB_IDMOUSE=m +CONFIG_USB_IOWARRIOR=m +CONFIG_USB_IPHETH=m +CONFIG_USB_ISIGHTFW=m +CONFIG_USB_ISP116X_HCD=m +CONFIG_USB_ISP1301=m +CONFIG_USB_ISP1760=m +CONFIG_USB_ISP1760_DUAL_ROLE=y +# CONFIG_USB_ISP1760_GADGET_ROLE is not set +CONFIG_USB_ISP1760_HCD=y +# CONFIG_USB_ISP1760_HOST_ROLE is not set +CONFIG_USB_ISP1761_UDC=y +CONFIG_USB_KAWETH=m +CONFIG_USB_KBD=m +CONFIG_USB_KC2190=y +CONFIG_USB_KEENE=m +CONFIG_USB_LAN78XX=m +CONFIG_USB_LCD=m +CONFIG_USB_LD=m +CONFIG_USB_LEDS_TRIGGER_USBPORT=m +CONFIG_USB_LED_TRIG=y +CONFIG_USB_LEGOTOWER=m +CONFIG_USB_LGM_PHY=m +CONFIG_USB_LIBCOMPOSITE=m +CONFIG_USB_LINK_LAYER_TEST=m +CONFIG_USB_M5602=m +# CONFIG_USB_M66592 is not set +CONFIG_USB_MA901=m +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_MAX3420_UDC=m +CONFIG_USB_MAX3421_HCD=m +CONFIG_USB_MDC800=m +CONFIG_USB_MICROTEK=m +CONFIG_USB_MIDI_GADGET=m +CONFIG_USB_MON=m +CONFIG_USB_MOUSE=m +CONFIG_USB_MR800=m +CONFIG_USB_MSI2500=m +CONFIG_USB_MTU3=m +# CONFIG_USB_MTU3_DEBUG is not set +CONFIG_USB_MTU3_DUAL_ROLE=y +# CONFIG_USB_MTU3_GADGET is not set +# CONFIG_USB_MTU3_HOST is not set +CONFIG_USB_MUSB_DUAL_ROLE=y +# CONFIG_USB_MUSB_GADGET is not set +CONFIG_USB_MUSB_HDRC=m +# CONFIG_USB_MUSB_HOST is not set +CONFIG_USB_MUSB_MEDIATEK=m +CONFIG_USB_MUSB_SUNXI=m +CONFIG_USB_MV_U3D=m +CONFIG_USB_MV_UDC=m +CONFIG_USB_MXS_PHY=y +CONFIG_USB_NET2272=m +CONFIG_USB_NET2272_DMA=y +CONFIG_USB_NET2280=m +CONFIG_USB_NET_AQC111=m +CONFIG_USB_NET_AX88179_178A=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_CDC_MBIM=m +CONFIG_USB_NET_CDC_NCM=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_NET_CDC_SUBSET_ENABLE=m +CONFIG_USB_NET_CH9200=m +CONFIG_USB_NET_CX82310_ETH=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_DRIVERS=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_HUAWEI_CDC_NCM=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_NET_KALMIA=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_QMI_WWAN=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_SR9700=m +CONFIG_USB_NET_SR9800=m +CONFIG_USB_NET_ZAURUS=m +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_PCI=y +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_OTG is not set +# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set +# CONFIG_USB_OTG_PRODUCTLIST is not set +CONFIG_USB_OXU210HP_HCD=m +CONFIG_USB_PCI=y +CONFIG_USB_PEGASUS=m +CONFIG_USB_PHY=y +CONFIG_USB_PRINTER=m +CONFIG_USB_PULSE8_CEC=m +CONFIG_USB_PWC=m +# CONFIG_USB_PWC_DEBUG is not set +CONFIG_USB_PWC_INPUT_EVDEV=y +CONFIG_USB_PXA27X=m +CONFIG_USB_QCOM_EUD=m +CONFIG_USB_R8A66597=m +CONFIG_USB_R8A66597_HCD=m +CONFIG_USB_RAINSHADOW_CEC=m +CONFIG_USB_RAREMONO=m +CONFIG_USB_RAW_GADGET=m +CONFIG_USB_RENESAS_USB3=m +CONFIG_USB_RENESAS_USBHS=m +CONFIG_USB_RENESAS_USBHS_HCD=m +CONFIG_USB_RENESAS_USBHS_UDC=m +CONFIG_USB_ROLES_INTEL_XHCI=m +CONFIG_USB_ROLE_SWITCH=y +CONFIG_USB_RTL8150=m +CONFIG_USB_RTL8152=m +CONFIG_USB_RTL8153_ECM=m +CONFIG_USB_S2255=m +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_DEBUG=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_F81232=m +CONFIG_USB_SERIAL_F8153X=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_METRO=m +CONFIG_USB_SERIAL_MOS7715_PARPORT=y +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MXUPORT=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QT2=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_SAFE=m +# CONFIG_USB_SERIAL_SAFE_PADDED is not set +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SIMPLE=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_SSU100=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_UPD78F0730=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_WISHBONE=m +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_XR=m +CONFIG_USB_SERIAL_XSENS_MT=m +CONFIG_USB_SEVSEG=m +CONFIG_USB_SI470X=m +CONFIG_USB_SI4713=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_SISUSBVGA=m +CONFIG_USB_SL811_CS=m +CONFIG_USB_SL811_HCD=m +CONFIG_USB_SL811_HCD_ISO=y +CONFIG_USB_SNP_CORE=m +CONFIG_USB_SNP_UDC_PLAT=m +CONFIG_USB_SPEEDTOUCH=m +CONFIG_USB_STKWEBCAM=m +CONFIG_USB_STORAGE=m +CONFIG_USB_STORAGE_ALAUDA=m +CONFIG_USB_STORAGE_CYPRESS_ATACB=m +CONFIG_USB_STORAGE_DATAFAB=m +# CONFIG_USB_STORAGE_DEBUG is not set +CONFIG_USB_STORAGE_ENE_UB6250=m +CONFIG_USB_STORAGE_FREECOM=m +CONFIG_USB_STORAGE_ISD200=m +CONFIG_USB_STORAGE_JUMPSHOT=m +CONFIG_USB_STORAGE_KARMA=m +CONFIG_USB_STORAGE_ONETOUCH=m +CONFIG_USB_STORAGE_REALTEK=m +CONFIG_USB_STORAGE_SDDR09=m +CONFIG_USB_STORAGE_SDDR55=m +CONFIG_USB_STORAGE_USBAT=m +CONFIG_USB_STV06XX=m +CONFIG_USB_SUPPORT=y +CONFIG_USB_TEGRA_PHY=m +CONFIG_USB_TEGRA_XUDC=m +CONFIG_USB_TEST=m +CONFIG_USB_TMC=m +CONFIG_USB_TRANCEVIBRATOR=m +CONFIG_USB_U132_HCD=m +CONFIG_USB_UAS=m +CONFIG_USB_UEAGLEATM=m +CONFIG_USB_UHCI_HCD=y +CONFIG_USB_ULPI=y +CONFIG_USB_ULPI_BUS=m +CONFIG_USB_ULPI_VIEWPORT=y +CONFIG_USB_USBNET=m +CONFIG_USB_USS720=m +CONFIG_USB_U_AUDIO=m +CONFIG_USB_U_ETHER=m +CONFIG_USB_U_SERIAL=m +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_VL600=m +CONFIG_USB_WDM=m +CONFIG_USB_XEN_HCD=m +CONFIG_USB_XHCI_DBGCAP=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_HISTB=m +CONFIG_USB_XHCI_MTK=m +CONFIG_USB_XHCI_MVEBU=m +CONFIG_USB_XHCI_PCI=m +CONFIG_USB_XHCI_PCI_RENESAS=m +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_RCAR=m +CONFIG_USB_XHCI_TEGRA=m +CONFIG_USB_XUSBATM=m +CONFIG_USB_YUREX=m +CONFIG_USB_ZD1201=m +CONFIG_USB_ZERO=m +CONFIG_USB_ZR364XX=m +CONFIG_USELIB=y +CONFIG_USERFAULTFD=y +CONFIG_USERIO=m +CONFIG_USERMODE_DRIVER=y +CONFIG_USER_DECRYPTED_DATA=y +CONFIG_USER_NS=y +CONFIG_USER_RETURN_NOTIFIER=y +CONFIG_USER_STACKTRACE_SUPPORT=y +CONFIG_USE_PERCPU_NUMA_NODE_ID=y +CONFIG_UTS_NS=y +CONFIG_UV_MMTIMER=m +CONFIG_UV_SYSFS=m +CONFIG_U_SERIAL_CONSOLE=y +CONFIG_V4L2_ASYNC=m +CONFIG_V4L2_FLASH_LED_CLASS=m +CONFIG_V4L2_FWNODE=m +CONFIG_V4L2_H264=m +CONFIG_V4L2_JPEG_HELPER=m +CONFIG_V4L2_MEM2MEM_DEV=m +CONFIG_V4L2_VP9=m +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_V4L_TEST_DRIVERS=y +CONFIG_VALIDATE_FS_PARSER=y +CONFIG_VBOXGUEST=m +CONFIG_VBOXSF_FS=m +CONFIG_VCHIQ_CDEV=y +CONFIG_VCNL3020=m +CONFIG_VCNL4000=m +CONFIG_VCNL4035=m +CONFIG_VDPA=m +CONFIG_VDPA_SIM=m +CONFIG_VDPA_SIM_BLOCK=m +CONFIG_VDPA_SIM_NET=m +CONFIG_VDPA_USER=m +CONFIG_VEML6030=m +CONFIG_VEML6070=m +CONFIG_VERSION_SIGNATURE="Ubuntu 5.15.0-22.22-generic 5.15.19" +CONFIG_VETH=m +CONFIG_VEXPRESS_CONFIG=y +CONFIG_VF610_ADC=m +CONFIG_VF610_DAC=m +CONFIG_VFAT_FS=y +CONFIG_VFIO_AMBA=m +CONFIG_VFIO_FSL_MC=m +CONFIG_VFIO_MDEV=m +CONFIG_VFIO_NOIOMMU=y +CONFIG_VFIO_PCI_IGD=y +CONFIG_VFIO_PCI_INTX=y +CONFIG_VFIO_PCI_MMAP=y +CONFIG_VFIO_PCI_VGA=y +CONFIG_VFIO_PLATFORM=m +CONFIG_VFIO_PLATFORM_AMDXGBE_RESET=m +CONFIG_VFIO_PLATFORM_BCMFLEXRM_RESET=m +CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET=m +CONFIG_VGASTATE=m +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +CONFIG_VGA_CONSOLE=y +CONFIG_VGA_SWITCHEROO=y +CONFIG_VHOST=m +# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set +CONFIG_VHOST_IOTLB=m +CONFIG_VHOST_MENU=y +CONFIG_VHOST_NET=m +CONFIG_VHOST_RING=m +CONFIG_VHOST_SCSI=m +CONFIG_VHOST_VDPA=m +CONFIG_VHOST_VSOCK=m +CONFIG_VIA_RHINE=m +CONFIG_VIA_RHINE_MMIO=y +CONFIG_VIA_VELOCITY=m +CONFIG_VIA_WDT=m +CONFIG_VIDEOBUF2_CORE=m +CONFIG_VIDEOBUF2_DMA_CONTIG=m +CONFIG_VIDEOBUF2_DMA_SG=m +CONFIG_VIDEOBUF2_DVB=m +CONFIG_VIDEOBUF2_MEMOPS=m +CONFIG_VIDEOBUF2_V4L2=m +CONFIG_VIDEOBUF2_VMALLOC=m +CONFIG_VIDEOBUF_DMA_SG=m +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEOMODE_HELPERS=y +CONFIG_VIDEO_AD5820=m +CONFIG_VIDEO_AD9389B=m +CONFIG_VIDEO_ADP1653=m +CONFIG_VIDEO_ADV7170=m +CONFIG_VIDEO_ADV7175=m +CONFIG_VIDEO_ADV7180=m +CONFIG_VIDEO_ADV7183=m +CONFIG_VIDEO_ADV7343=m +CONFIG_VIDEO_ADV7393=m +CONFIG_VIDEO_ADV748X=m +CONFIG_VIDEO_ADV7511=m +# CONFIG_VIDEO_ADV7511_CEC is not set +CONFIG_VIDEO_ADV7604=m +CONFIG_VIDEO_ADV7604_CEC=y +CONFIG_VIDEO_ADV7842=m +CONFIG_VIDEO_ADV7842_CEC=y +# CONFIG_VIDEO_ADV_DEBUG is not set +CONFIG_VIDEO_AK7375=m +CONFIG_VIDEO_AK881X=m +CONFIG_VIDEO_ALLEGRO_DVT=m +CONFIG_VIDEO_AMPHION_VPU=m +CONFIG_VIDEO_APTINA_PLL=m +CONFIG_VIDEO_ASPEED=m +CONFIG_VIDEO_ATOMISP=m +CONFIG_VIDEO_ATOMISP_GC0310=m +CONFIG_VIDEO_ATOMISP_GC2235=m +# CONFIG_VIDEO_ATOMISP_ISP2401 is not set +CONFIG_VIDEO_ATOMISP_LM3554=m +CONFIG_VIDEO_ATOMISP_MSRLIST_HELPER=m +CONFIG_VIDEO_ATOMISP_MT9M114=m +CONFIG_VIDEO_ATOMISP_OV2680=m +CONFIG_VIDEO_ATOMISP_OV2722=m +CONFIG_VIDEO_ATOMISP_OV5693=m +CONFIG_VIDEO_AU0828=m +CONFIG_VIDEO_AU0828_RC=y +CONFIG_VIDEO_AU0828_V4L2=y +CONFIG_VIDEO_BCM2835=m +CONFIG_VIDEO_BT819=m +CONFIG_VIDEO_BT848=m +CONFIG_VIDEO_BT856=m +CONFIG_VIDEO_BT866=m +CONFIG_VIDEO_CADENCE_CSI2RX=m +CONFIG_VIDEO_CADENCE_CSI2TX=m +CONFIG_VIDEO_CAFE_CCIC=m +CONFIG_VIDEO_CCS=m +CONFIG_VIDEO_CCS_PLL=m +CONFIG_VIDEO_COBALT=m +CONFIG_VIDEO_CODA=m +CONFIG_VIDEO_CPIA2=m +CONFIG_VIDEO_CS3308=m +CONFIG_VIDEO_CS5345=m +CONFIG_VIDEO_CS53L32A=m +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m +CONFIG_VIDEO_CX231XX=m +CONFIG_VIDEO_CX231XX_ALSA=m +CONFIG_VIDEO_CX231XX_DVB=m +CONFIG_VIDEO_CX231XX_RC=y +CONFIG_VIDEO_CX2341X=m +CONFIG_VIDEO_CX23885=m +CONFIG_VIDEO_CX25821=m +CONFIG_VIDEO_CX25821_ALSA=m +CONFIG_VIDEO_CX25840=m +CONFIG_VIDEO_CX88=m +CONFIG_VIDEO_CX88_ALSA=m +CONFIG_VIDEO_CX88_BLACKBIRD=m +CONFIG_VIDEO_CX88_DVB=m +CONFIG_VIDEO_CX88_ENABLE_VP3054=y +CONFIG_VIDEO_CX88_MPEG=m +CONFIG_VIDEO_CX88_VP3054=m +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_DT3155=m +CONFIG_VIDEO_DW9714=m +CONFIG_VIDEO_DW9768=m +CONFIG_VIDEO_DW9807_VCM=m +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_EM28XX_DVB=m +CONFIG_VIDEO_EM28XX_RC=m +CONFIG_VIDEO_EM28XX_V4L2=m +CONFIG_VIDEO_ET8EK8=m +CONFIG_VIDEO_FB_IVTV=m +CONFIG_VIDEO_FB_IVTV_FORCE_PAT=y +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEO_GO7007=m +CONFIG_VIDEO_GO7007_LOADER=m +CONFIG_VIDEO_GO7007_USB=m +CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m +CONFIG_VIDEO_GS1662=m +CONFIG_VIDEO_HANTRO=m +CONFIG_VIDEO_HANTRO_IMX8M=y +CONFIG_VIDEO_HANTRO_ROCKCHIP=y +CONFIG_VIDEO_HANTRO_SUNXI=y +CONFIG_VIDEO_HDPVR=m +CONFIG_VIDEO_HEXIUM_GEMINI=m +CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_HI556=m +CONFIG_VIDEO_HI846=m +CONFIG_VIDEO_HI847=m +CONFIG_VIDEO_I2C=m +CONFIG_VIDEO_IMX208=m +CONFIG_VIDEO_IMX214=m +CONFIG_VIDEO_IMX219=m +CONFIG_VIDEO_IMX258=m +CONFIG_VIDEO_IMX274=m +CONFIG_VIDEO_IMX290=m +CONFIG_VIDEO_IMX319=m +CONFIG_VIDEO_IMX334=m +CONFIG_VIDEO_IMX335=m +CONFIG_VIDEO_IMX355=m +CONFIG_VIDEO_IMX412=m +CONFIG_VIDEO_IMX7_CSI=m +CONFIG_VIDEO_IMX8_JPEG=m +CONFIG_VIDEO_IMX_MEDIA=m +CONFIG_VIDEO_IMX_MIPI_CSIS=m +CONFIG_VIDEO_IMX_PXP=m +CONFIG_VIDEO_IPU3_CIO2=m +CONFIG_VIDEO_IPU3_IMGU=m +CONFIG_VIDEO_IR_I2C=m +CONFIG_VIDEO_ISL7998X=m +CONFIG_VIDEO_IVTV=m +CONFIG_VIDEO_IVTV_ALSA=m +CONFIG_VIDEO_KS0127=m +CONFIG_VIDEO_LM3560=m +CONFIG_VIDEO_LM3646=m +CONFIG_VIDEO_M52790=m +CONFIG_VIDEO_M5MOLS=m +CONFIG_VIDEO_MAX9271_LIB=m +CONFIG_VIDEO_MAX9286=m +CONFIG_VIDEO_MAX96712=m +CONFIG_VIDEO_MEDIATEK_VPU=m +CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m +CONFIG_VIDEO_MESON_GE2D=m +CONFIG_VIDEO_MESON_VDEC=m +CONFIG_VIDEO_MEYE=m +CONFIG_VIDEO_ML86V7667=m +CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_MT9M001=m +CONFIG_VIDEO_MT9M032=m +CONFIG_VIDEO_MT9M111=m +CONFIG_VIDEO_MT9P031=m +CONFIG_VIDEO_MT9T001=m +CONFIG_VIDEO_MT9T112=m +CONFIG_VIDEO_MT9V011=m +CONFIG_VIDEO_MT9V032=m +CONFIG_VIDEO_MT9V111=m +CONFIG_VIDEO_MUX=m +CONFIG_VIDEO_MXB=m +CONFIG_VIDEO_NOON010PC30=m +CONFIG_VIDEO_OG01A1B=m +CONFIG_VIDEO_OV02A10=m +CONFIG_VIDEO_OV08D10=m +CONFIG_VIDEO_OV13858=m +CONFIG_VIDEO_OV13B10=m +CONFIG_VIDEO_OV2640=m +CONFIG_VIDEO_OV2659=m +CONFIG_VIDEO_OV2680=m +CONFIG_VIDEO_OV2685=m +CONFIG_VIDEO_OV2740=m +CONFIG_VIDEO_OV5640=m +CONFIG_VIDEO_OV5645=m +CONFIG_VIDEO_OV5647=m +CONFIG_VIDEO_OV5648=m +CONFIG_VIDEO_OV5670=m +CONFIG_VIDEO_OV5675=m +CONFIG_VIDEO_OV5693=m +CONFIG_VIDEO_OV5695=m +CONFIG_VIDEO_OV6650=m +CONFIG_VIDEO_OV7251=m +CONFIG_VIDEO_OV7640=m +CONFIG_VIDEO_OV7670=m +CONFIG_VIDEO_OV772X=m +CONFIG_VIDEO_OV7740=m +CONFIG_VIDEO_OV8856=m +CONFIG_VIDEO_OV8865=m +CONFIG_VIDEO_OV9282=m +CONFIG_VIDEO_OV9640=m +CONFIG_VIDEO_OV9650=m +CONFIG_VIDEO_OV9734=m +# CONFIG_VIDEO_PCI_SKELETON is not set +CONFIG_VIDEO_PVRUSB2=m +# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set +CONFIG_VIDEO_PVRUSB2_DVB=y +CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_QCOM_CAMSS=m +CONFIG_VIDEO_QCOM_VENUS=m +CONFIG_VIDEO_RCAR_CSI2=m +CONFIG_VIDEO_RCAR_DRIF=m +CONFIG_VIDEO_RCAR_ISP=m +CONFIG_VIDEO_RCAR_VIN=m +CONFIG_VIDEO_RDACM20=m +CONFIG_VIDEO_RDACM21=m +CONFIG_VIDEO_RENESAS_FCP=m +CONFIG_VIDEO_RENESAS_FDP1=m +CONFIG_VIDEO_RENESAS_JPU=m +CONFIG_VIDEO_RENESAS_VSP1=m +CONFIG_VIDEO_RJ54N1=m +CONFIG_VIDEO_ROCKCHIP_ISP1=m +CONFIG_VIDEO_ROCKCHIP_RGA=m +CONFIG_VIDEO_ROCKCHIP_VDEC=m +CONFIG_VIDEO_S5C73M3=m +CONFIG_VIDEO_S5K4ECGX=m +CONFIG_VIDEO_S5K5BAF=m +CONFIG_VIDEO_S5K6A3=m +CONFIG_VIDEO_S5K6AA=m +CONFIG_VIDEO_SAA6588=m +CONFIG_VIDEO_SAA6752HS=m +CONFIG_VIDEO_SAA7110=m +CONFIG_VIDEO_SAA711X=m +CONFIG_VIDEO_SAA7127=m +CONFIG_VIDEO_SAA7134=m +CONFIG_VIDEO_SAA7134_ALSA=m +CONFIG_VIDEO_SAA7134_DVB=m +CONFIG_VIDEO_SAA7134_GO7007=m +CONFIG_VIDEO_SAA7134_RC=y +CONFIG_VIDEO_SAA7146=m +CONFIG_VIDEO_SAA7146_VV=m +CONFIG_VIDEO_SAA7164=m +CONFIG_VIDEO_SAA717X=m +CONFIG_VIDEO_SAA7185=m +CONFIG_VIDEO_SOLO6X10=m +CONFIG_VIDEO_SONY_BTF_MPX=m +CONFIG_VIDEO_SR030PC30=m +CONFIG_VIDEO_STK1160=m +CONFIG_VIDEO_STK1160_COMMON=m +CONFIG_VIDEO_ST_MIPID02=m +CONFIG_VIDEO_SUN4I_CSI=m +CONFIG_VIDEO_SUN6I_CSI=m +CONFIG_VIDEO_SUN8I_DEINTERLACE=m +CONFIG_VIDEO_SUN8I_ROTATE=m +CONFIG_VIDEO_SUNXI=y +CONFIG_VIDEO_SUNXI_CEDRUS=m +CONFIG_VIDEO_TC358743=m +CONFIG_VIDEO_TC358743_CEC=y +CONFIG_VIDEO_TDA1997X=m +CONFIG_VIDEO_TDA7432=m +CONFIG_VIDEO_TDA9840=m +CONFIG_VIDEO_TEA6415C=m +CONFIG_VIDEO_TEA6420=m +CONFIG_VIDEO_TEGRA=m +CONFIG_VIDEO_TEGRA_TPG=y +CONFIG_VIDEO_TEGRA_VDE=m +CONFIG_VIDEO_THS7303=m +CONFIG_VIDEO_THS8200=m +CONFIG_VIDEO_TI_CAL=m +CONFIG_VIDEO_TI_CAL_MC=y +CONFIG_VIDEO_TLV320AIC23B=m +CONFIG_VIDEO_TM6000=m +CONFIG_VIDEO_TM6000_ALSA=m +CONFIG_VIDEO_TM6000_DVB=m +CONFIG_VIDEO_TUNER=m +CONFIG_VIDEO_TVAUDIO=m +CONFIG_VIDEO_TVEEPROM=m +CONFIG_VIDEO_TVP514X=m +CONFIG_VIDEO_TVP5150=m +CONFIG_VIDEO_TVP7002=m +CONFIG_VIDEO_TW2804=m +CONFIG_VIDEO_TW5864=m +CONFIG_VIDEO_TW68=m +CONFIG_VIDEO_TW686X=m +CONFIG_VIDEO_TW9903=m +CONFIG_VIDEO_TW9906=m +CONFIG_VIDEO_TW9910=m +CONFIG_VIDEO_UDA1342=m +CONFIG_VIDEO_UPD64031A=m +CONFIG_VIDEO_UPD64083=m +CONFIG_VIDEO_USBTV=m +CONFIG_VIDEO_V4L2_I2C=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_VIDEO_V4L2_TPG=m +CONFIG_VIDEO_VIA_CAMERA=m +CONFIG_VIDEO_VICODEC=m +CONFIG_VIDEO_VIM2M=m +CONFIG_VIDEO_VIMC=m +CONFIG_VIDEO_VIVID=m +CONFIG_VIDEO_VIVID_CEC=y +CONFIG_VIDEO_VIVID_MAX_DEVS=64 +CONFIG_VIDEO_VP27SMPX=m +CONFIG_VIDEO_VPX3220=m +CONFIG_VIDEO_VS6624=m +CONFIG_VIDEO_WM8739=m +CONFIG_VIDEO_WM8775=m +CONFIG_VIDEO_XILINX=m +CONFIG_VIDEO_XILINX_CSI2RXSS=m +CONFIG_VIDEO_XILINX_TPG=m +CONFIG_VIDEO_XILINX_VTC=m +CONFIG_VIDEO_ZORAN=m +CONFIG_VIDEO_ZORAN_AVS6EYES=y +CONFIG_VIDEO_ZORAN_BUZ=y +CONFIG_VIDEO_ZORAN_DC10=y +CONFIG_VIDEO_ZORAN_DC30=y +CONFIG_VIDEO_ZORAN_LML33=y +CONFIG_VIDEO_ZORAN_LML33R10=y +CONFIG_VIDEO_ZORAN_ZR36060=y +CONFIG_VIPERBOARD_ADC=m +CONFIG_VIRTIO=y +CONFIG_VIRTIO_ANCHOR=y +CONFIG_VIRTIO_BALLOON=y +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_CONSOLE=y +CONFIG_VIRTIO_DMA_SHARED_BUFFER=m +CONFIG_VIRTIO_FS=m +CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_IOMMU=y +CONFIG_VIRTIO_MEM=m +CONFIG_VIRTIO_MENU=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y +CONFIG_VIRTIO_NET=m +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_PCI_LEGACY=y +CONFIG_VIRTIO_PCI_LIB=y +CONFIG_VIRTIO_PCI_LIB_LEGACY=y +CONFIG_VIRTIO_PMEM=m +CONFIG_VIRTIO_VDPA=m +CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO_VSOCKETS_COMMON=m +CONFIG_VIRTUALIZATION=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +CONFIG_VIRT_DRIVERS=y +CONFIG_VIRT_TO_BUS=y +CONFIG_VIRT_WIFI=m +CONFIG_VISCONTI_WATCHDOG=m +CONFIG_VITESSE_PHY=m +CONFIG_VL53L0X_I2C=m +CONFIG_VL6180=m +CONFIG_VLAN_8021Q=m +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLAN_8021Q_MVRP=y +CONFIG_VMAP_PFN=y +CONFIG_VMAP_STACK=y +CONFIG_VMD=m +CONFIG_VME_BUS=y +CONFIG_VME_CA91CX42=m +CONFIG_VME_FAKE=m +CONFIG_VME_TSI148=m +CONFIG_VME_USER=m +CONFIG_VMGENID=m +CONFIG_VMIVME_7805=m +CONFIG_VMLINUX_MAP=y +CONFIG_VMWARE_BALLOON=m +CONFIG_VMWARE_PVSCSI=m +CONFIG_VMWARE_VMCI=m +CONFIG_VMWARE_VMCI_VSOCKETS=m +CONFIG_VMXNET3=m +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_VORTEX=m +CONFIG_VP_VDPA=m +CONFIG_VSOCKETS=m +CONFIG_VSOCKETS_DIAG=m +CONFIG_VSOCKETS_LOOPBACK=m +CONFIG_VSOCKMON=m +CONFIG_VT=y +CONFIG_VT6655=m +CONFIG_VT6656=m +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_VXFS_FS=m +CONFIG_VXGE=m +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set +CONFIG_VXLAN=m +CONFIG_VZ89X=m +CONFIG_W1=m +CONFIG_W1_CON=y +CONFIG_W1_MASTER_DS1WM=m +CONFIG_W1_MASTER_DS2482=m +CONFIG_W1_MASTER_DS2490=m +CONFIG_W1_MASTER_GPIO=m +CONFIG_W1_MASTER_MATROX=m +CONFIG_W1_MASTER_MXC=m +CONFIG_W1_MASTER_SGI=m +CONFIG_W1_SLAVE_DS2405=m +CONFIG_W1_SLAVE_DS2406=m +CONFIG_W1_SLAVE_DS2408=m +CONFIG_W1_SLAVE_DS2408_READBACK=y +CONFIG_W1_SLAVE_DS2413=m +CONFIG_W1_SLAVE_DS2423=m +CONFIG_W1_SLAVE_DS2430=m +CONFIG_W1_SLAVE_DS2431=m +CONFIG_W1_SLAVE_DS2433=m +# CONFIG_W1_SLAVE_DS2433_CRC is not set +CONFIG_W1_SLAVE_DS2438=m +CONFIG_W1_SLAVE_DS250X=m +CONFIG_W1_SLAVE_DS2780=m +CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m +CONFIG_W1_SLAVE_DS28E04=m +CONFIG_W1_SLAVE_DS28E17=m +CONFIG_W1_SLAVE_SMEM=m +CONFIG_W1_SLAVE_THERM=m +CONFIG_W83627HF_WDT=m +CONFIG_W83877F_WDT=m +CONFIG_W83977F_WDT=m +CONFIG_WAFER_WDT=m +CONFIG_WAN=y +CONFIG_WANT_COMPAT_NETLINK_MESSAGES=y +CONFIG_WANT_DEV_COREDUMP=y +CONFIG_WANXL=m +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y +# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set +# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_OPEN_TIMEOUT=0 +CONFIG_WATCHDOG_PRETIMEOUT_DEFAULT_GOV_NOOP=y +# CONFIG_WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC is not set +CONFIG_WATCHDOG_PRETIMEOUT_GOV=y +CONFIG_WATCHDOG_PRETIMEOUT_GOV_NOOP=y +CONFIG_WATCHDOG_PRETIMEOUT_GOV_PANIC=m +CONFIG_WATCHDOG_PRETIMEOUT_GOV_SEL=m +CONFIG_WATCHDOG_SYSFS=y +CONFIG_WATCH_QUEUE=y +CONFIG_WCN36XX=m +# CONFIG_WCN36XX_DEBUGFS is not set +CONFIG_WDAT_WDT=m +CONFIG_WDTPCI=m +# CONFIG_WERROR is not set +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PRIV=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WFX=m +CONFIG_WIL6210=m +CONFIG_WIL6210_DEBUGFS=y +CONFIG_WIL6210_ISR_COR=y +CONFIG_WIL6210_TRACING=y +CONFIG_WILC1000=m +CONFIG_WILC1000_HW_OOB_INTR=y +CONFIG_WILC1000_SDIO=m +CONFIG_WILC1000_SPI=m +CONFIG_WILCO_EC=m +CONFIG_WILCO_EC_DEBUGFS=m +CONFIG_WILCO_EC_EVENTS=m +CONFIG_WILCO_EC_TELEMETRY=m +CONFIG_WILINK_PLATFORM_DATA=y +CONFIG_WINBOND_840=m +CONFIG_WINMATE_FM07_KEYS=m +CONFIG_WIREGUARD=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WIRELESS_HOTKEY=m +CONFIG_WIZNET_BUS_ANY=y +# CONFIG_WIZNET_BUS_DIRECT is not set +# CONFIG_WIZNET_BUS_INDIRECT is not set +CONFIG_WIZNET_W5100=m +CONFIG_WIZNET_W5100_SPI=m +CONFIG_WIZNET_W5300=m +CONFIG_WL1251=m +CONFIG_WL1251_SDIO=m +CONFIG_WL1251_SPI=m +CONFIG_WL12XX=m +CONFIG_WL18XX=m +CONFIG_WLAN=y +CONFIG_WLAN_VENDOR_ADMTEK=y +CONFIG_WLAN_VENDOR_ATH=y +CONFIG_WLAN_VENDOR_ATMEL=y +CONFIG_WLAN_VENDOR_BROADCOM=y +CONFIG_WLAN_VENDOR_CISCO=y +CONFIG_WLAN_VENDOR_INTEL=y +CONFIG_WLAN_VENDOR_INTERSIL=y +CONFIG_WLAN_VENDOR_MARVELL=y +CONFIG_WLAN_VENDOR_MEDIATEK=y +CONFIG_WLAN_VENDOR_MICROCHIP=y +CONFIG_WLAN_VENDOR_PURELIFI=y +CONFIG_WLAN_VENDOR_QUANTENNA=y +CONFIG_WLAN_VENDOR_RALINK=y +CONFIG_WLAN_VENDOR_REALTEK=y +CONFIG_WLAN_VENDOR_RSI=y +CONFIG_WLAN_VENDOR_SILABS=y +CONFIG_WLAN_VENDOR_ST=y +CONFIG_WLAN_VENDOR_TI=y +CONFIG_WLAN_VENDOR_ZYDAS=y +CONFIG_WLCORE=m +CONFIG_WLCORE_SDIO=m +CONFIG_WLCORE_SPI=m +CONFIG_WM831X_BACKUP=m +CONFIG_WM831X_POWER=m +CONFIG_WM831X_WATCHDOG=m +CONFIG_WM8350_POWER=m +CONFIG_WM8350_WATCHDOG=m +CONFIG_WMI_BMOF=m +CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y +# CONFIG_WQ_WATCHDOG is not set +CONFIG_WWAN=y +CONFIG_WWAN_DEBUGFS=y +CONFIG_WWAN_HWSIM=m +# CONFIG_WW_MUTEX_SELFTEST is not set +CONFIG_X25=m +CONFIG_X509_CERTIFICATE_PARSER=y +CONFIG_X86=y +CONFIG_X86_16BIT=y +CONFIG_X86_5LEVEL=y +CONFIG_X86_64=y +CONFIG_X86_64_ACPI_NUMA=y +CONFIG_X86_64_SMP=y +CONFIG_X86_ACPI_CPUFREQ=y +CONFIG_X86_ACPI_CPUFREQ_CPB=y +CONFIG_X86_AMD_FREQ_SENSITIVITY=m +CONFIG_X86_AMD_PLATFORM_DEVICE=y +CONFIG_X86_AMD_PSTATE=y +CONFIG_X86_ANDROID_TABLETS=m +CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +CONFIG_X86_CHECK_BIOS_CORRUPTION=y +CONFIG_X86_CMOV=y +CONFIG_X86_CMPXCHG64=y +# CONFIG_X86_CPA_STATISTICS is not set +CONFIG_X86_CPUID=m +CONFIG_X86_CPU_RESCTRL=y +CONFIG_X86_DEBUGCTLMSR=y +CONFIG_X86_DEBUG_FPU=y +# CONFIG_X86_DECODER_SELFTEST is not set +CONFIG_X86_DIRECT_GBPAGES=y +CONFIG_X86_ESPFIX64=y +CONFIG_X86_EXTENDED_PLATFORM=y +CONFIG_X86_FEATURE_NAMES=y +# CONFIG_X86_GOLDFISH is not set +CONFIG_X86_HV_CALLBACK_VECTOR=y +CONFIG_X86_INTEL_LPSS=y +CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y +# CONFIG_X86_INTEL_MID is not set +CONFIG_X86_INTEL_PSTATE=y +# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set +CONFIG_X86_INTEL_TSX_MODE_OFF=y +# CONFIG_X86_INTEL_TSX_MODE_ON is not set +CONFIG_X86_INTERNODE_CACHE_SHIFT=6 +CONFIG_X86_IOPL_IOPERM=y +CONFIG_X86_IO_APIC=y +# CONFIG_X86_KERNEL_IBT is not set +CONFIG_X86_L1_CACHE_SHIFT=6 +CONFIG_X86_LOCAL_APIC=y +CONFIG_X86_MCE=y +CONFIG_X86_MCELOG_LEGACY=y +CONFIG_X86_MCE_AMD=y +CONFIG_X86_MCE_INJECT=m +CONFIG_X86_MCE_INTEL=y +CONFIG_X86_MCE_THRESHOLD=y +CONFIG_X86_MEM_ENCRYPT=y +CONFIG_X86_MINIMUM_CPU_FAMILY=64 +CONFIG_X86_MPPARSE=y +CONFIG_X86_MSR=m +CONFIG_X86_NEED_RELOCS=y +CONFIG_X86_NUMACHIP=y +CONFIG_X86_P4_CLOCKMOD=m +CONFIG_X86_PAT=y +CONFIG_X86_PCC_CPUFREQ=y +CONFIG_X86_PKG_TEMP_THERMAL=m +CONFIG_X86_PLATFORM_DEVICES=y +CONFIG_X86_PLATFORM_DRIVERS_DELL=y +CONFIG_X86_PMEM_LEGACY=y +CONFIG_X86_PMEM_LEGACY_DEVICE=y +CONFIG_X86_PM_TIMER=y +CONFIG_X86_POWERNOW_K8=y +CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y +CONFIG_X86_SGX=y +CONFIG_X86_SGX_KVM=y +CONFIG_X86_SPEEDSTEP_CENTRINO=y +CONFIG_X86_SPEEDSTEP_LIB=m +CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y +CONFIG_X86_THERMAL_VECTOR=y +CONFIG_X86_TSC=y +CONFIG_X86_UMIP=y +CONFIG_X86_UV=y +# CONFIG_X86_VERBOSE_BOOTUP is not set +CONFIG_X86_VMX_FEATURE_NAMES=y +# CONFIG_X86_VSMP is not set +CONFIG_X86_VSYSCALL_EMULATION=y +CONFIG_X86_X2APIC=y +# CONFIG_X86_X32_ABI is not set +CONFIG_XARRAY_MULTI=y +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=m +CONFIG_XEN=y +CONFIG_XENFS=m +CONFIG_XEN_512GB=y +CONFIG_XEN_ACPI=y +CONFIG_XEN_ACPI_PROCESSOR=y +CONFIG_XEN_AUTO_XLATE=y +CONFIG_XEN_BACKEND=y +CONFIG_XEN_BALLOON=y +CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y +CONFIG_XEN_BLKDEV_BACKEND=m +CONFIG_XEN_BLKDEV_FRONTEND=y +CONFIG_XEN_COMPAT_XENFS=y +# CONFIG_XEN_DEBUG_FS is not set +CONFIG_XEN_DEV_EVTCHN=m +CONFIG_XEN_DOM0=y +CONFIG_XEN_EFI=y +CONFIG_XEN_FBDEV_FRONTEND=m +CONFIG_XEN_FRONT_PGDIR_SHBUF=m +CONFIG_XEN_GNTDEV=m +CONFIG_XEN_GNTDEV_DMABUF=y +CONFIG_XEN_GRANT_DEV_ALLOC=m +CONFIG_XEN_GRANT_DMA_ALLOC=y +CONFIG_XEN_GRANT_DMA_IOMMU=y +CONFIG_XEN_GRANT_DMA_OPS=y +CONFIG_XEN_HAVE_PVMMU=y +CONFIG_XEN_HAVE_VPMU=y +CONFIG_XEN_MCE_LOG=y +CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512 +CONFIG_XEN_NETDEV_BACKEND=m +CONFIG_XEN_NETDEV_FRONTEND=y +CONFIG_XEN_PCIDEV_BACKEND=m +CONFIG_XEN_PCIDEV_FRONTEND=m +CONFIG_XEN_PCIDEV_STUB=m +CONFIG_XEN_PCI_STUB=y +CONFIG_XEN_PRIVCMD=m +CONFIG_XEN_PV=y +# CONFIG_XEN_PVCALLS_BACKEND is not set +CONFIG_XEN_PVCALLS_FRONTEND=m +CONFIG_XEN_PVH=y +CONFIG_XEN_PVHVM=y +CONFIG_XEN_PVHVM_GUEST=y +CONFIG_XEN_PVHVM_SMP=y +CONFIG_XEN_PV_DOM0=y +CONFIG_XEN_PV_SMP=y +CONFIG_XEN_SAVE_RESTORE=y +CONFIG_XEN_SCRUB_PAGES_DEFAULT=y +CONFIG_XEN_SCSI_BACKEND=m +CONFIG_XEN_SCSI_FRONTEND=m +CONFIG_XEN_SYMS=y +CONFIG_XEN_SYS_HYPERVISOR=y +CONFIG_XEN_UNPOPULATED_ALLOC=y +CONFIG_XEN_VIRTIO=y +# CONFIG_XEN_VIRTIO_FORCE_GRANT is not set +CONFIG_XEN_WDT=m +CONFIG_XEN_XENBUS_FRONTEND=y +CONFIG_XFRM=y +CONFIG_XFRM_AH=m +CONFIG_XFRM_ALGO=m +CONFIG_XFRM_ESP=m +CONFIG_XFRM_ESPINTCP=y +CONFIG_XFRM_INTERFACE=m +CONFIG_XFRM_IPCOMP=m +# CONFIG_XFRM_MIGRATE is not set +CONFIG_XFRM_OFFLOAD=y +CONFIG_XFRM_STATISTICS=y +# CONFIG_XFRM_SUB_POLICY is not set +CONFIG_XFRM_USER=m +CONFIG_XFRM_USER_COMPAT=m +# CONFIG_XFS_DEBUG is not set +CONFIG_XFS_FS=m +# CONFIG_XFS_ONLINE_SCRUB is not set +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_QUOTA=y +CONFIG_XFS_RT=y +CONFIG_XFS_SUPPORT_V4=y +# CONFIG_XFS_WARN is not set +CONFIG_XGENE_DMA=m +CONFIG_XGENE_PMU=y +CONFIG_XGENE_SLIMPRO_MBOX=m +CONFIG_XIAOMI_WMI=m +CONFIG_XILINX_AMS=m +CONFIG_XILINX_AXI_EMAC=m +CONFIG_XILINX_DMA=m +CONFIG_XILINX_EMACLITE=m +CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_INTC=y +CONFIG_XILINX_LL_TEMAC=m +CONFIG_XILINX_PR_DECOUPLER=m +CONFIG_XILINX_SDFEC=m +CONFIG_XILINX_VCU=m +CONFIG_XILINX_WATCHDOG=m +CONFIG_XILINX_XADC=m +CONFIG_XILINX_ZYNQMP_DMA=m +CONFIG_XILINX_ZYNQMP_DPDMA=m +CONFIG_XILLYBUS=m +CONFIG_XILLYBUS_CLASS=m +CONFIG_XILLYBUS_OF=m +CONFIG_XILLYBUS_PCIE=m +CONFIG_XILLYUSB=m +CONFIG_XIL_AXIS_FIFO=m +CONFIG_XLNX_EVENT_MANAGER=y +CONFIG_XOR_BLOCKS=m +CONFIG_XPOWER_PMIC_OPREGION=y +CONFIG_XPS=y +CONFIG_XXHASH=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_BCJ=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_MICROLZMA=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_TEST=m +CONFIG_XZ_DEC_X86=y +CONFIG_YAM=m +CONFIG_YAMAHA_YAS530=m +CONFIG_YELLOWFIN=m +CONFIG_YENTA=m +CONFIG_YENTA_ENE_TUNE=y +CONFIG_YENTA_O2=y +CONFIG_YENTA_RICOH=y +CONFIG_YENTA_TI=y +CONFIG_YENTA_TOSHIBA=y +CONFIG_YOGABOOK_WMI=m +CONFIG_Z3FOLD=m +CONFIG_ZBUD=y +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_ZEROPLUS_FF=y +CONFIG_ZERO_CALL_USED_REGS=y +CONFIG_ZIIRAVE_WATCHDOG=m +CONFIG_ZISOFS=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZONEFS_FS=m +CONFIG_ZONE_DEVICE=y +CONFIG_ZONE_DMA=y +CONFIG_ZONE_DMA32=y +CONFIG_ZOPT2201=m +CONFIG_ZPA2326=m +CONFIG_ZPA2326_I2C=m +CONFIG_ZPA2326_SPI=m +CONFIG_ZPOOL=y +CONFIG_ZRAM=m +CONFIG_ZRAM_DEF_COMP="lzo-rle" +# CONFIG_ZRAM_DEF_COMP_842 is not set +# CONFIG_ZRAM_DEF_COMP_LZ4 is not set +# CONFIG_ZRAM_DEF_COMP_LZ4HC is not set +# CONFIG_ZRAM_DEF_COMP_LZO is not set +CONFIG_ZRAM_DEF_COMP_LZORLE=y +# CONFIG_ZRAM_DEF_COMP_ZSTD is not set +CONFIG_ZRAM_MEMORY_TRACKING=y +CONFIG_ZRAM_WRITEBACK=y +CONFIG_ZSMALLOC=y +# CONFIG_ZSMALLOC_STAT is not set +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y +CONFIG_ZSWAP=y +CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo" +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set +# CONFIG_ZSWAP_DEFAULT_ON is not set +CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud" +# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set +CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y +# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set +CONFIG_ZYNQMP_FIRMWARE=y +# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set +CONFIG_ZYNQMP_IPI_MBOX=y +CONFIG_ZYNQMP_PM_DOMAINS=y +CONFIG_ZYNQMP_POWER=y --- linux-gcp-5.19.0.orig/debian.gcp/control.d/flavour-control.stub +++ linux-gcp-5.19.0/debian.gcp/control.d/flavour-control.stub @@ -0,0 +1,131 @@ +# Items that get replaced: +# FLAVOUR +# DESC +# ARCH +# SUPPORTED +# TARGET +# BOOTLOADER +# =PROVIDES= +# +# Items marked with =FOO= are optional +# +# This file describes the template for packages that are created for each flavour +# in debian/control.d/vars.* +# +# This file gets edited in a couple of places. See the debian/control.stub rule in +# debian/rules. PGGVER, ABINUM, and SRCPKGNAME are all converted in the +# process of creating debian/control. +# +# The flavour specific strings (ARCH, DESC, etc) are converted using values from the various +# flavour files in debian/control.d/vars.* +# +# XXX: Leave the blank line before the first package!! + +Package: linux-image=SIGN-ME-PKG=-PKGVER-ABINUM-FLAVOUR +Build-Profiles: +Architecture: ARCH +Section: kernel +Priority: optional +Provides: linux-image, fuse-module, =PROVIDES=${linux:rprovides} +Depends: ${misc:Depends}, ${shlibs:Depends}, kmod, linux-base (>= 4.5ubuntu1~16.04.1), linux-modules-PKGVER-ABINUM-FLAVOUR +Recommends: BOOTLOADER +Breaks: flash-kernel (<< 3.90ubuntu2) [arm64 armhf], s390-tools (<< 2.3.0-0ubuntu3) [s390x] +Conflicts: linux-image=SIGN-PEER-PKG=-PKGVER-ABINUM-FLAVOUR +Suggests: fdutils, SRCPKGNAME-doc-PKGVER | SRCPKGNAME-source-PKGVER, SRCPKGNAME-tools, linux-headers-PKGVER-ABINUM-FLAVOUR, initramfs-tools | linux-initramfs-tool +Description: Linux kernel image for version PKGVER on DESC + This package contains the=SIGN-ME-TXT= Linux kernel image for version PKGVER on + DESC. + . + Supports SUPPORTED processors. + . + TARGET + . + You likely do not want to install this package directly. Instead, install + the linux-FLAVOUR meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-modules-PKGVER-ABINUM-FLAVOUR +Build-Profiles: +Architecture: ARCH +Section: kernel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends} +Built-Using: ${linux:BuiltUsing} +Description: Linux kernel extra modules for version PKGVER on DESC + Contains the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports SUPPORTED processors. + . + TARGET + . + You likely do not want to install this package directly. Instead, install + the linux-FLAVOUR meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-modules-extra-PKGVER-ABINUM-FLAVOUR +Build-Profiles: +Architecture: ARCH +Section: kernel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, wireless-regdb, linux-modules-PKGVER-ABINUM-FLAVOUR +Description: Linux kernel extra modules for version PKGVER on DESC + This package contains the Linux kernel extra modules for version PKGVER on + DESC. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports SUPPORTED processors. + . + TARGET + . + You likely do not want to install this package directly. Instead, install + the linux-FLAVOUR meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-PKGVER-ABINUM-FLAVOUR +Build-Profiles: +Architecture: ARCH +Section: devel +Priority: optional +Depends: ${misc:Depends}, SRCPKGNAME-headers-PKGVER-ABINUM, ${shlibs:Depends} +Provides: linux-headers, linux-headers-3.0 +Description: Linux kernel headers for version PKGVER on DESC + This package provides kernel header files for version PKGVER on + DESC. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-PKGVER-ABINUM/debian.README.gz for details. + +Package: linux-image=SIGN-ME-PKG=-PKGVER-ABINUM-FLAVOUR-dbgsym +Build-Profiles: +Architecture: ARCH +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version PKGVER on DESC + This package provides the=SIGN-ME-TXT= kernel debug image for version PKGVER on + DESC. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-tools-PKGVER-ABINUM-FLAVOUR +Build-Profiles: +Architecture: ARCH +Section: devel +Priority: optional +Depends: ${misc:Depends}, SRCPKGNAME-tools-PKGVER-ABINUM +Description: Linux kernel version specific tools for version PKGVER-ABINUM + This package provides the architecture dependant parts for kernel + version locked tools (such as perf and x86_energy_perf_policy) for + version PKGVER-ABINUM on + =HUMAN=. + --- linux-gcp-5.19.0.orig/debian.gcp/control.d/gcp.inclusion-list +++ linux-gcp-5.19.0/debian.gcp/control.d/gcp.inclusion-list @@ -0,0 +1,257 @@ +arch/*/{crypto,kernel,oprofile} +arch/*/kvm/kvm.ko +arch/powerpc/kvm/kvm-hv.ko +arch/powerpc/kvm/kvm-pr.ko +arch/powerpc/kvm/vfio.ko +arch/powerpc/platforms/powernv/opal-prd.ko +arch/s390/* +arch/x86/kvm/kvm-amd.ko +arch/x86/kvm/kvm-intel.ko +crypto/* +drivers/acpi/* +drivers/ata/acard-ahci.ko +drivers/ata/ahci.ko +drivers/ata/ahci_platform.ko +drivers/ata/ata_generic.ko +drivers/ata/libahci.ko +drivers/ata/libahci_platform.ko +drivers/block/brd.ko +drivers/block/cryptoloop.ko +drivers/block/floppy.ko +drivers/block/loop.ko +drivers/block/nbd.ko +drivers/block/rbd.ko +drivers/block/virtio_blk.ko +drivers/block/xen-blkfront.ko +drivers/char/hangcheck-timer.ko +drivers/char/hw_random/powernv-rng.ko +drivers/char/hw_random/virtio-rng.ko +drivers/char/ipmi/* +drivers/char/ipmi/ipmi_msghandler.ko +drivers/char/lp.ko +drivers/char/nvram.ko +drivers/char/ppdev.ko +drivers/char/raw.ko +drivers/char/virtio_console.ko +drivers/crypto/nx/* +drivers/crypto/vmx/vmx-crypto.ko +drivers/firmware/efi/* +drivers/firmware/iscsi_ibft.ko +drivers/gpu/drm/ast/ast.ko +drivers/gpu/drm/drm_kms_helper.ko +drivers/gpu/drm/drm.ko +drivers/gpu/drm/ttm/ttm.ko +drivers/gpu/drm/vboxvideo/vboxvideo.ko +drivers/hid/hid-generic.ko +drivers/hid/hid-hyperv.ko +drivers/hid/hid.ko +drivers/hid/usbhid/usbhid.ko +drivers/hv/* +drivers/hwmon/ibmpowernv.ko +drivers/infiniband/core/ib_addr.ko +drivers/infiniband/core/ib_cm.ko +drivers/infiniband/core/ib_core.ko +drivers/infiniband/core/ib_mad.ko +drivers/infiniband/core/ib_sa.ko +drivers/infiniband/core/iw_cm.ko +drivers/infiniband/core/rdma_cm.ko +drivers/infiniband/ulp/iser/ib_iser.ko +drivers/infiniband/ulp/isert/ib_isert.ko +drivers/input/evbug.ko +drivers/input/gameport/gameport.ko +drivers/input/input-leds.ko +drivers/input/joydev.ko +drivers/input/misc/xen-kbdfront.ko +drivers/input/mouse/psmouse.ko +drivers/input/serio/hyperv-keyboard.ko +drivers/input/serio/serio_raw.ko +drivers/input/serio/serport.ko +drivers/input/touchscreen/usbtouchscreen.ko +drivers/leds/leds-powernv.ko +drivers/md/* +drivers/message/fusion* +drivers/misc/cxl/* +drivers/misc/eeprom/at24.ko +drivers/misc/vmw_balloon.ko +drivers/misc/vmw_vmci/vmw_vmci.ko +drivers/mtd/cmdlinepart.ko +drivers/mtd/devices/powernv_flash.ko +drivers/mtd/ofpart.ko +drivers/net/appletalk/ipddp.ko +drivers/net/bonding/bonding.ko +drivers/net/caif/caif_virtio.ko +drivers/net/dummy.ko +drivers/net/eql.ko +drivers/net/ethernet/8390/8390.ko +drivers/net/ethernet/8390/ne2k-pci.ko +drivers/net/ethernet/amazon/ena/ena.ko +drivers/net/ethernet/amd/pcnet32.ko +drivers/net/ethernet/broadcom/bnx2x/* +drivers/net/ethernet/broadcom/tg3.ko +drivers/net/ethernet/dec/tulip/* +drivers/net/ethernet/emulex/benet/* +drivers/net/ethernet/google/gve/gve.ko +drivers/net/ethernet/ibm/* +drivers/net/ethernet/intel/e1000/e1000.ko +drivers/net/ethernet/intel/e1000e/e1000e.ko +drivers/net/ethernet/intel/i40e/* +drivers/net/ethernet/intel/igb/* +drivers/net/ethernet/intel/igbvf/igbvf.ko +drivers/net/ethernet/intel/ixgbe/* +drivers/net/ethernet/intel/ixgbevf/ixgbevf.ko +drivers/net/ethernet/mellanox/* +drivers/net/ethernet/realtek/8139cp.ko +drivers/net/ethernet/realtek/8139too.ko +drivers/net/fddi/* +drivers/net/geneve.ko +drivers/net/hyperv/hv_netvsc.ko +drivers/net/ifb.ko +drivers/net/ipvlan/* +drivers/net/macvlan.ko +drivers/net/macvtap.ko +drivers/net/mii.ko +drivers/net/netconsole.ko +drivers/net/ppp/* +drivers/net/ppp/bsd_comp.ko +drivers/net/slip/* +drivers/net/veth.ko +drivers/net/virtio_net.ko +drivers/net/vmxnet3/vmxnet3.ko +drivers/net/vxlan.ko +drivers/net/wireguard/wireguard.ko +drivers/net/xen-netback/* +drivers/net/xen-netfront.ko +drivers/nvme/host/nvme.ko +drivers/nvmem/nvmem_core.ko +drivers/parport/parport.ko +drivers/parport/parport_pc.ko +drivers/pci/host/vmd.ko +drivers/platform/x86/pvpanic.ko +drivers/pps/pps_core.ko +drivers/ptp/ptp.ko +drivers/s390/* +drivers/s390/block/xpram.ko +drivers/scsi/aacraid/* +drivers/scsi/BusLogic.ko +drivers/scsi/cxlflash/* +drivers/scsi/device_handler/scsi_dh_alua.ko +drivers/scsi/device_handler/scsi_dh_emc.ko +drivers/scsi/device_handler/scsi_dh_hp_sw.ko +drivers/scsi/device_handler/scsi_dh_rdac.ko +drivers/scsi/hv_storvsc.ko +drivers/scsi/ibmvscsi/* +drivers/scsi/ipr.ko +drivers/scsi/iscsi_boot_sysfs.ko +drivers/scsi/iscsi_tcp.ko +drivers/scsi/libiscsi.ko +drivers/scsi/libiscsi_tcp.ko +drivers/scsi/libsas/* +drivers/scsi/lpfc/* +drivers/scsi/megaraid/* +drivers/scsi/mpt3sas/* +drivers/scsi/osd/libosd.ko +drivers/scsi/osd/osd.ko +drivers/scsi/qla1280.ko +drivers/scsi/qla2xxx/* +drivers/scsi/raid_class.ko +drivers/scsi/scsi_debug.ko +drivers/scsi/scsi_transport_fc.ko +drivers/scsi/scsi_transport_iscsi.ko +drivers/scsi/scsi_transport_sas.ko +drivers/scsi/scsi_transport_spi.ko +drivers/scsi/sd_mod.ko +drivers/scsi/sr_mod.ko +drivers/scsi/vmw_pvscsi.ko +drivers/target/target_core*.ko +drivers/target/loopback/tcm_loop.ko +drivers/tty/serial/jsm/* +drivers/uio/uio.ko +drivers/uio/uio_pdrv_genirq.ko +drivers/usb/host/* +drivers/usb/storage/uas.ko +drivers/usb/storage/usb-storage.ko +drivers/vfio/* +drivers/vhost/* +drivers/video/fbdev/* +drivers/video/vgastate.ko +drivers/virt/vboxguest/vboxguest.ko +drivers/virtio/* +drivers/watchdog/softdog.ko +drivers/xen/* +! find sound/core -name oss -prune -o -name *.ko -print +fs/9p/* +fs/aufs/aufs.ko +fs/autofs/autofs4.ko +fs/binfmt_misc.ko +fs/btrfs/* +fs/cachefiles/cachefiles.ko +fs/ceph/* +fs/cifs/* +fs/configfs/* +fs/dlm/dlm.ko +fs/ecryptfs/* +fs/efivarfs/* +fs/exofs/libore.ko +fs/ext4/* +fs/fat/* +fs/fscache/* +fs/fuse/* +fs/isofs/* +fs/lockd/* +fs/nfs/* +fs/nfs_common/* +fs/nfsd/* +fs/nls/nls_cp437.ko +fs/nls/nls_iso8859-1.ko +fs/overlayfs/* +fs/squashfs/* +fs/udf/* +fs/ufs/* +fs/vboxsf/vboxsf.ko +fs/xfs/* +lib/* +net/6lowpan/* +net/802/* +net/8021q/* +net/9p/* +net/appletalk/* +net/atm/* +net/ax25/* +net/bpfilter/bpfilter.ko +net/bridge/* +net/can/* +net/ceph/libceph.ko +net/core/* +net/dccp/* +net/decnet/* +net/ieee802154/* +net/ipv4/* +net/ipv6/* +net/ipx/* +net/irda/* +net/key/* +net/lapb/* +net/llc/* +net/netfilter/* +net/netlink/netlink_diag.ko +net/netrom/* +net/openvswitch/* +net/packet/af_packet_diag.ko +net/phonet/* +net/rose/* +net/rxrpc/* +net/sched/* +net/sctp/* +net/sunrpc/auth_gss/auth_rpcgss.ko +net/sunrpc/auth_gss/rpcsec_gss_krb5.ko +net/sunrpc/sunrpc.ko +net/tipc/* +net/unix/unix_diag.ko +net/vmw_vsock/* +net/x25/* +net/xfrm/* +sound/drivers/pcsp/snd-pcsp.ko +sound/pci/snd-ens1370.ko +sound/soundcore.ko +zfs/* +ubuntu/ubuntu-host/ubuntu-host.ko --- linux-gcp-5.19.0.orig/debian.gcp/control.d/vars.gcp +++ linux-gcp-5.19.0/debian.gcp/control.d/vars.gcp @@ -0,0 +1,6 @@ +arch="amd64 arm64" +supported="amd64" +target="Geared toward GCP/GKE systems." +desc="=HUMAN= SMP" +bootloader="grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub | lilo | grub-efi-arm64 [arm64]" +provides="" --- linux-gcp-5.19.0.orig/debian.gcp/control.stub.in +++ linux-gcp-5.19.0/debian.gcp/control.stub.in @@ -0,0 +1,80 @@ +Source: SRCPKGNAME +Section: devel +Priority: optional +Maintainer: Ubuntu Kernel Team +Standards-Version: 3.9.4.0 +Build-Depends: + debhelper-compat (= 10), + cpio, + kernel-wedge , + dctrl-tools , + kmod , + libcap-dev , + makedumpfile [amd64] , + libelf-dev , + libnewt-dev , + libiberty-dev , + rsync , + libdw-dev , + libpci-dev , + pkg-config , + flex , + bison , + libunwind8-dev [amd64 arm64 armhf ppc64el] , + liblzma-dev , + openssl , + libssl-dev , + libaudit-dev , + bc , + gawk , + libudev-dev , + autoconf , + automake , + libtool , + uuid-dev , + libnuma-dev [amd64 arm64 ppc64el s390x] , + dkms , + curl , + zstd [amd64 s390x] , + dwarves [amd64 arm64 armhf ppc64el s390x] , +Build-Depends-Indep: + xmlto , + docbook-utils , + ghostscript , + fig2dev , + bzip2 , + sharutils , + asciidoc , + python3-sphinx , + python3-sphinx-rtd-theme , + fontconfig , + python3-docutils , +Vcs-Git: git://git.launchpad.net/~canonical-kernel/ubuntu/+source/linux-gcp/+git/=SERIES= +XS-Testsuite: autopkgtest +#XS-Testsuite-Depends: gcc-4.7 binutils + +Package: SRCPKGNAME-headers-PKGVER-ABINUM +Build-Profiles: +Architecture: amd64 arm64 +Multi-Arch: foreign +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils +Breaks: iscsitarget-dkms (<< 1.4.20.3+svn502-2ubuntu4.4) +Description: Header files related to Linux kernel version PKGVER + This package provides kernel header files for version PKGVER, for sites + that want the latest kernel headers. Please read + /usr/share/doc/SRCPKGNAME-headers-PKGVER-ABINUM/debian.README.gz for details + +Package: SRCPKGNAME-tools-PKGVER-ABINUM +Build-Profiles: +Architecture: amd64 arm64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-tools-common +Description: Linux kernel version specific tools for version PKGVER-ABINUM + This package provides the architecture dependant parts for kernel + version locked tools (such as perf and x86_energy_perf_policy) for + version PKGVER-ABINUM on + =HUMAN=. + You probably want to install linux-tools-PKGVER-ABINUM-. --- linux-gcp-5.19.0.orig/debian.gcp/copyright +++ linux-gcp-5.19.0/debian.gcp/copyright @@ -0,0 +1,29 @@ +This is the Ubuntu prepackaged version of the Linux kernel. +Linux was written by Linus Torvalds +and others. + +This package was put together by the Ubuntu Kernel Team, from +sources retrieved from upstream linux git. +The sources may be found at most Linux ftp sites, including +ftp://ftp.kernel.org/pub/linux/kernel/ + +This package is currently maintained by the +Ubuntu Kernel Team + +Linux is copyrighted by Linus Torvalds and others. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 dated June, 1991. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Ubuntu Linux systems, the complete text of the GNU General +Public License v2 can be found in `/usr/share/common-licenses/GPL-2'. --- linux-gcp-5.19.0.orig/debian.gcp/d-i/firmware/README.txt +++ linux-gcp-5.19.0/debian.gcp/d-i/firmware/README.txt @@ -0,0 +1,4 @@ +# +# Place the names of udeb modules into this directory that require +# runtime firmware. +# --- linux-gcp-5.19.0.orig/debian.gcp/d-i/kernel-versions +++ linux-gcp-5.19.0/debian.gcp/d-i/kernel-versions @@ -0,0 +1 @@ +# arch version flavour installedname suffix bdep --- linux-gcp-5.19.0.orig/debian.gcp/d-i/modules/none +++ linux-gcp-5.19.0/debian.gcp/d-i/modules/none @@ -0,0 +1 @@ +# Empty placeholder --- linux-gcp-5.19.0.orig/debian.gcp/d-i/package-list +++ linux-gcp-5.19.0/debian.gcp/d-i/package-list @@ -0,0 +1,203 @@ +Package: kernel-image +Provides: ext3-modules, ext4-modules, squashfs-modules +Provides_amd64: efi-modules, ext3-modules, ext4-modules, squashfs-modules +Provides_i386: efi-modules, ext3-modules, ext4-modules, squashfs-modules +Provides_ppc64el: ext3-modules, ext4-modules, fat-modules, squashfs-modules +Provides_s390x: ext3-modules, ext4-modules, ppp-modules, squashfs-modules +Description: kernel image and system map + +Package: dasd-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: DASD storage support + +Package: dasd-extra-modules +Depends: dasd-modules +Priority: extra +Description: DASD storage support -- extras + +Package: fat-modules +Depends: kernel-image +Priority: standard +Description: FAT filesystem support + This includes Windows FAT and VFAT support. + +Package: fb-modules +Depends: kernel-image +Priority: standard +Description: Framebuffer modules + +Package: firewire-core-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: Firewire (IEEE-1394) Support + +Package: floppy-modules +Depends: kernel-image +Priority: standard +Description: Floppy driver support + +Package: fs-core-modules +Depends: kernel-image +Priority: standard +Provides: ext2-modules, jfs-modules, reiserfs-modules, xfs-modules +Description: Base filesystem modules + This includes jfs, reiserfs and xfs. + +Package: fs-secondary-modules +Depends: kernel-image, fat-modules +Priority: standard +Provides: btrfs-modules, ntfs-modules, hfs-modules +Description: Extra filesystem modules + This includes support for Windows NTFS and MacOS HFS/HFSPlus + +Package: input-modules +Depends: kernel-image, usb-modules +Priority: standard +Description: Support for various input methods + +Package: md-modules +Depends: kernel-image +Priority: standard +Provides: crypto-dm-modules +Description: Multi-device support (raid, device-mapper, lvm) + +Package: nic-modules +Depends: kernel-image, nic-shared-modules, virtio-modules +Priority: standard +Description: Network interface support + +Package: nic-pcmcia-modules +Depends: kernel-image, nic-shared-modules, nic-modules +Priority: standard +Description: PCMCIA network interface support + +Package: nic-usb-modules +Depends: kernel-image, nic-shared-modules, usb-modules +Priority: standard +Description: USB network interface support + +Package: nic-shared-modules +Depends: kernel-image, crypto-modules +Priority: standard +Description: nic shared modules + This package contains modules which support nic modules + +Package: parport-modules +Depends: kernel-image +Priority: standard +Description: Parallel port support + +Package: pata-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: PATA support modules + +Package: pcmcia-modules +Depends: kernel-image +Priority: standard +Description: PCMCIA Modules + +Package: pcmcia-storage-modules +Depends: kernel-image, scsi-modules +Priority: standard +Description: PCMCIA storage support + +Package: plip-modules +Depends: kernel-image, nic-shared-modules, parport-modules +Priority: standard +Description: PLIP (parallel port) networking support + +Package: ppp-modules +Depends: kernel-image, nic-shared-modules, serial-modules +Priority: standard +Description: PPP (serial port) networking support + +Package: sata-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: SATA storage support + +Package: scsi-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: SCSI storage support + +Package: serial-modules +Depends: kernel-image +Priority: standard +Description: Serial port support + +Package: storage-core-modules +Depends: kernel-image +Priority: standard +Provides: loop-modules +Description: Core storage support + Includes core SCSI, LibATA, USB-Storage. Also includes related block + devices for CD, Disk and Tape medium (and IDE Floppy). + +Package: usb-modules +Depends: kernel-image, storage-core-modules +Priority: standard +Description: Core USB support + +Package: nfs-modules +Priority: standard +Depends: kernel-image +Description: NFS filesystem drivers + Includes the NFS client driver, and supporting modules. + +Package: block-modules +Priority: standard +Provides: nbd-modules +Depends: kernel-image, storage-core-modules, parport-modules, virtio-modules +Description: Block storage devices + This package contains the block storage devices, including DAC960 and + paraide. + +Package: message-modules +Priority: standard +Depends: kernel-image, storage-core-modules, scsi-modules +Description: Fusion and i2o storage modules + This package containes the fusion and i2o storage modules. + +Package: crypto-modules +Priority: extra +Depends: kernel-image +Description: crypto modules + This package contains crypto modules. + +Package: virtio-modules +Priority: standard +Depends: kernel-image +Description: VirtIO Modules + Includes modules for VirtIO (virtual machine, generally kvm guests) + +Package: socket-modules +Depends: kernel-image +Priority: standard +Description: Unix socket support + +Package: mouse-modules +Depends: kernel-image, input-modules, usb-modules +Priority: extra +Description: Mouse support + This package contains mouse drivers for the Linux kernel. + +Package: vlan-modules +Depends: kernel-image +Priority: extra +Description: vlan modules + This package contains vlan (8021.Q) modules. + +Package: ipmi-modules +Depends: kernel-image +Priority: standard +Description: ipmi modules + +Package: multipath-modules +Depends: kernel-image +Priority: extra +Description: DM-Multipath support + This package contains modules for device-mapper multipath support. + --- linux-gcp-5.19.0.orig/debian.gcp/etc/getabis +++ linux-gcp-5.19.0/debian.gcp/etc/getabis @@ -0,0 +1,14 @@ +repo_list=( + "http://archive.ubuntu.com/ubuntu/pool/main/l/linux-gcp" + "http://ports.ubuntu.com/ubuntu-ports/pool/main/l/linux-gcp" + "http://archive.ubuntu.com/ubuntu/pool/universe/l/linux-gcp" + "http://ports.ubuntu.com/ubuntu-ports/pool/universe/l/linux-gcp" + "http://ppa.launchpad.net/canonical-kernel-team/ppa/ubuntu/pool/main/l/linux-gcp" + "http://ppa.launchpad.net/canonical-kernel-team/unstable/ubuntu/pool/main/l/linux-gcp" + "http://ppa.launchpad.net/canonical-kernel-team/bootstrap/ubuntu/pool/main/l/linux-gcp" +) + +package_prefixes linux-image linux-modules linux-modules-extra + +getall amd64 gcp +getall arm64 gcp --- linux-gcp-5.19.0.orig/debian.gcp/etc/kernelconfig +++ linux-gcp-5.19.0/debian.gcp/etc/kernelconfig @@ -0,0 +1,7 @@ +if [ "$variant" = "ports" ]; then + archs="" + family='ports' +else + archs="amd64 arm64" + family='ubuntu' +fi --- linux-gcp-5.19.0.orig/debian.gcp/etc/update.conf +++ linux-gcp-5.19.0/debian.gcp/etc/update.conf @@ -0,0 +1,7 @@ +# WARNING: we do not create update.conf when we are not a +# derivative. Various cranky components make use of this. +# If we start unconditionally creating update.conf we need +# to fix at least cranky close and cranky rebase. +RELEASE_REPO=git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/kinetic +SOURCE_RELEASE_BRANCH=master-next +DEBIAN_MASTER=debian.master --- linux-gcp-5.19.0.orig/debian.gcp/modprobe.d/common.conf +++ linux-gcp-5.19.0/debian.gcp/modprobe.d/common.conf @@ -0,0 +1,3 @@ +# LP:1434842 -- disable OSS drivers by default to allow pulseaudio to emulate +blacklist snd-mixer-oss +blacklist snd-pcm-oss --- linux-gcp-5.19.0.orig/debian.gcp/reconstruct +++ linux-gcp-5.19.0/debian.gcp/reconstruct @@ -0,0 +1,66 @@ +# Recreate any symlinks created since the orig. +# Remove any files deleted from the orig. +rm -f 'Documentation/devicetree/bindings/phy/amlogic,meson-g12a-usb2-phy.yaml' +rm -f 'Documentation/devicetree/bindings/phy/amlogic,meson-g12a-usb3-pcie-phy.yaml' +rm -f 'arch/arm/crypto/blake2s-shash.c' +rm -f 'arch/x86/crypto/blake2s-shash.c' +rm -f 'crypto/blake2s_generic.c' +rm -f 'fs/io-wq.c' +rm -f 'fs/io-wq.h' +rm -f 'fs/io_uring.c' +rm -f 'net/sched/cls_tcindex.c' +rm -f 'tools/testing/selftests/cpu-hotplug/config' +rm -f 'tools/testing/selftests/net/bpf/Makefile' +rm -f 'tools/testing/selftests/net/bpf/nat6to4.c' +chmod +x 'debian/cloud-tools/hv_get_dhcp_info' +chmod +x 'debian/cloud-tools/hv_get_dns_info' +chmod +x 'debian/cloud-tools/hv_set_ifconfig' +chmod +x 'debian/rules' +chmod +x 'debian/scripts/abi-check' +chmod +x 'debian/scripts/config-check' +chmod +x 'debian/scripts/control-create' +chmod +x 'debian/scripts/dkms-build' +chmod +x 'debian/scripts/dkms-build--nvidia-N' +chmod +x 'debian/scripts/dkms-build-configure--zfs' +chmod +x 'debian/scripts/file-downloader' +chmod +x 'debian/scripts/helpers/close' +chmod +x 'debian/scripts/helpers/open' +chmod +x 'debian/scripts/helpers/rebase' +chmod +x 'debian/scripts/link-headers' +chmod +x 'debian/scripts/misc/arch-has-odm-enabled.sh' +chmod +x 'debian/scripts/misc/final-checks' +chmod +x 'debian/scripts/misc/find-missing-sauce.sh' +chmod +x 'debian/scripts/misc/fw-to-ihex.sh' +chmod +x 'debian/scripts/misc/gen-auto-reconstruct' +chmod +x 'debian/scripts/misc/getabis' +chmod +x 'debian/scripts/misc/git-ubuntu-log' +chmod +x 'debian/scripts/misc/insert-changes' +chmod +x 'debian/scripts/misc/insert-mainline-changes' +chmod +x 'debian/scripts/misc/insert-ubuntu-changes' +chmod +x 'debian/scripts/misc/kernelconfig' +chmod +x 'debian/scripts/misc/retag' +chmod +x 'debian/scripts/misc/splitconfig.pl' +chmod +x 'debian/scripts/misc/tristate.sh' +chmod +x 'debian/scripts/misc/update-aufs.sh' +chmod +x 'debian/scripts/module-check' +chmod +x 'debian/scripts/module-inclusion' +chmod +x 'debian/scripts/module-signature-check' +chmod +x 'debian/scripts/retpoline-check' +chmod +x 'debian/scripts/retpoline-extract' +chmod +x 'debian/scripts/retpoline-extract-one' +chmod +x 'debian/scripts/sign-module' +chmod +x 'debian/templates/extra.postinst.in' +chmod +x 'debian/templates/extra.postrm.in' +chmod +x 'debian/templates/headers.postinst.in' +chmod +x 'debian/templates/image.postinst.in' +chmod +x 'debian/templates/image.postrm.in' +chmod +x 'debian/templates/image.preinst.in' +chmod +x 'debian/templates/image.prerm.in' +chmod +x 'debian/tests-build/check-aliases' +chmod +x 'debian/tests/rebuild' +chmod +x 'debian/tests/ubuntu-regression-suite' +chmod -x 'drivers/gpu/drm/vmwgfx/vmwgfx_msg_arm64.h' +chmod +x 'drivers/watchdog/f71808e_wdt.c' +chmod +x 'update-dkms-versions' +chmod +x 'update-version-dkms' +exit 0 --- linux-gcp-5.19.0.orig/debian.gcp/rules.d/amd64.mk +++ linux-gcp-5.19.0/debian.gcp/rules.d/amd64.mk @@ -0,0 +1,29 @@ +human_arch = 64 bit x86 +build_arch = x86 +header_arch = $(build_arch) +defconfig = defconfig +flavours = gcp +build_image = bzImage +kernel_file = arch/$(build_arch)/boot/bzImage +install_file = vmlinuz +loader = grub +vdso = vdso_install +no_dumpfile = true +uefi_signed = true +do_tools_usbip = true +do_tools_cpupower = true +do_tools_perf = true +do_tools_x86 = true +do_tools_hyperv = false +do_tools_bpftool = true +do_extras_package = true +do_tools_common = true +do_zfs = true +do_libc_dev_package = false +disable_d_i = true +do_doc_package = false +do_source_package = false +do_dtbs = false +do_common_headers_indep = false +do_dkms_nvidia = true +do_dkms_nvidia_server = true --- linux-gcp-5.19.0.orig/debian.gcp/rules.d/arm64.mk +++ linux-gcp-5.19.0/debian.gcp/rules.d/arm64.mk @@ -0,0 +1,27 @@ +human_arch = ARMv8 +build_arch = arm64 +header_arch = $(build_arch) +defconfig = defconfig +flavours = gcp +build_image = Image.gz +kernel_file = arch/$(build_arch)/boot/Image.gz +install_file = vmlinuz +loader = grub +vdso = vdso_install +no_dumpfile = true +uefi_signed = true +do_tools_usbip = true +do_tools_cpupower = true +do_tools_perf = true +do_tools_x86 = false +do_tools_hyperv = false +do_tools_bpftool = true +do_extras_package = true +do_tools_common = true +do_zfs = true +do_libc_dev_package = false +disable_d_i = true +do_doc_package = false +do_source_package = false +do_dtbs = false +do_common_headers_indep = false --- linux-gcp-5.19.0.orig/debian.gcp/rules.d/hooks.mk +++ linux-gcp-5.19.0/debian.gcp/rules.d/hooks.mk @@ -0,0 +1 @@ +do_enforce_all = true --- linux-gcp-5.19.0.orig/debian.gcp/tracking-bug +++ linux-gcp-5.19.0/debian.gcp/tracking-bug @@ -0,0 +1 @@ +2024032 s2023.05.15-1 --- linux-gcp-5.19.0.orig/debian.master/abi/abiname +++ linux-gcp-5.19.0/debian.master/abi/abiname @@ -0,0 +1 @@ +45 --- linux-gcp-5.19.0.orig/debian.master/abi/amd64/generic +++ linux-gcp-5.19.0/debian.master/abi/amd64/generic @@ -0,0 +1,27090 @@ +ACPI EXPORT_SYMBOL_GPL 0xc331c3c7 acpi_table_parse_cedt vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0x1eea8ae7 crypto_cipher_decrypt_one vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0x3221b892 crypto_cipher_setkey vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0xa3e37815 crypto_cipher_encrypt_one vmlinux +CXL EXPORT_SYMBOL_GPL 0x055c6ee3 cxl_mem_active_inc vmlinux +CXL EXPORT_SYMBOL_GPL 0x05cd2e87 devm_cxl_enumerate_ports drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x0a4da2fc devm_cxl_add_dport drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x1dbc9463 cxl_probe_component_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x20789767 is_cxl_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x22d7106d cxl_endpoint_autoremove drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x2547ff27 cxl_mbox_send_cmd drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x25debe31 devm_cxl_enumerate_decoders drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x29cce8db to_cxl_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x2b3143a9 cxl_dev_state_create drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x2c1723d6 devm_cxl_setup_hdm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x31fc64d2 cxl_bus_rescan drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x334ad9ee cxl_await_media_ready drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x33e2aa93 cxl_mem_active_dec vmlinux +CXL EXPORT_SYMBOL_GPL 0x3fa350df find_cxl_root drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x4902fd12 cxl_bus_type drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x497312ab devm_cxl_add_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x4aed414c cxl_find_dport_by_dev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x4cfae129 is_cxl_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x536ec99d cxl_hdm_decode_init drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x5429d0d1 cxl_endpoint_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x5afc24da __cxl_driver_register drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x5de3fce4 is_root_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x62ad0b9f cxl_map_device_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x65dd4166 cxl_root_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x66d8e2be cxl_mem_find_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7211655f cxl_driver_unregister drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x73044f6e is_cxl_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x79a44f62 cxl_mem_create_range_info drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7aaf7dd0 cxl_decoder_add_locked drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7f79cd39 to_cxl_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x81939666 set_exclusive_cxl_commands drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x82ffcb77 devm_cxl_register_pci_bus drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x86d690da is_cxl_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x889ffe23 cxl_probe_device_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x8b9623be devm_cxl_add_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xa121c26f cxl_enumerate_cmds drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xa686294b to_cxl_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xa6dc0ce3 devm_cxl_add_passthrough_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xab444de5 clear_exclusive_cxl_commands drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xae1ce7a1 cxl_port_to_pci_bus drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xae93fa48 cxl_switch_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xaf386cb9 schedule_cxl_memdev_detach drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xbd45a28b devm_cxl_add_memdev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xbdc4106e cxl_map_component_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xbf73fd9e to_cxl_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xc56f9fc3 devm_cxl_add_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xccc6dfcb cxl_decoder_add drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xd1d20ddb cxl_find_regblock drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xd26ba491 cxl_decoder_autoremove drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xdc3ffce5 cxl_find_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xdcf44bfc devm_cxl_port_enumerate_dports drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xdd92e93d cxl_dev_state_identify drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xfe8dd771 is_cxl_memdev drivers/cxl/core/cxl_core +DMA_BUF EXPORT_SYMBOL_GPL 0x00ad6433 dma_buf_detach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x08128c8f dma_buf_unmap_attachment vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x371c9076 dma_buf_end_cpu_access vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x38cc7351 dma_buf_attach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x48163155 dma_buf_move_notify vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x488bad77 dma_buf_get vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x544afd92 dma_buf_export vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x56bdcfde dma_buf_mmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x74ab4569 dma_buf_vmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x814b449d dma_buf_put vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x856f8941 dma_buf_fd vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x93af4fda dma_buf_begin_cpu_access vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xa39d96e0 dma_buf_dynamic_attach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xab46aaa2 dma_buf_vunmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xb0134751 dma_buf_unpin vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xb98deb43 dma_buf_pin vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xdd00ddb1 dma_buf_map_attachment vmlinux +DRM_SSD130X EXPORT_SYMBOL_GPL 0x33cf1f58 ssd130x_variants drivers/gpu/drm/solomon/ssd130x +EXPORT_SYMBOL arch/x86/crypto/chacha-x86_64 0x220b49ab chacha_crypt_arch +EXPORT_SYMBOL arch/x86/crypto/chacha-x86_64 0xdc94f829 chacha_init_arch +EXPORT_SYMBOL arch/x86/crypto/chacha-x86_64 0xdd8ec6bd hchacha_block_arch +EXPORT_SYMBOL arch/x86/crypto/curve25519-x86_64 0x3c74a43e curve25519_base_arch +EXPORT_SYMBOL arch/x86/crypto/curve25519-x86_64 0xc832c670 curve25519_arch +EXPORT_SYMBOL arch/x86/crypto/poly1305-x86_64 0xd9ec23eb poly1305_update_arch +EXPORT_SYMBOL arch/x86/crypto/poly1305-x86_64 0xe1df0e1b poly1305_init_arch +EXPORT_SYMBOL arch/x86/crypto/poly1305-x86_64 0xfaeb41b2 poly1305_final_arch +EXPORT_SYMBOL arch/x86/kvm/kvm 0x71835cf5 kvm_cpu_has_pending_timer +EXPORT_SYMBOL crypto/blake2b_generic 0x32e24c8a blake2b_compress_generic +EXPORT_SYMBOL crypto/ecc 0x16e410ff vli_from_be64 +EXPORT_SYMBOL crypto/ecc 0x188a1647 ecc_is_pubkey_valid_full +EXPORT_SYMBOL crypto/ecc 0x1a5faa3a vli_mod_inv +EXPORT_SYMBOL crypto/ecc 0x4c281912 vli_is_zero +EXPORT_SYMBOL crypto/ecc 0x671f7aa5 ecc_is_key_valid +EXPORT_SYMBOL crypto/ecc 0x7c0fbb00 vli_mod_mult_slow +EXPORT_SYMBOL crypto/ecc 0x8261eccb ecc_get_curve25519 +EXPORT_SYMBOL crypto/ecc 0x8e688192 ecc_alloc_point +EXPORT_SYMBOL crypto/ecc 0x90cdc197 ecc_free_point +EXPORT_SYMBOL crypto/ecc 0x9263b417 ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x92668805 vli_cmp +EXPORT_SYMBOL crypto/ecc 0x932b6ff7 vli_num_bits +EXPORT_SYMBOL crypto/ecc 0x9f6efabd vli_sub +EXPORT_SYMBOL crypto/ecc 0xa76b31a2 crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0xb10fc19e ecc_get_curve +EXPORT_SYMBOL crypto/ecc 0xd6315f31 ecc_gen_privkey +EXPORT_SYMBOL crypto/ecc 0xd94c8eb5 ecc_point_is_zero +EXPORT_SYMBOL crypto/ecc 0xde867c29 ecc_is_pubkey_valid_partial +EXPORT_SYMBOL crypto/ecc 0xeac9b99a vli_from_le64 +EXPORT_SYMBOL crypto/ecc 0xed4ae15e ecc_make_pub_key +EXPORT_SYMBOL crypto/nhpoly1305 0x4605cf12 crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/nhpoly1305 0x5005a47b crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/nhpoly1305 0xcea59375 crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/nhpoly1305 0xd8ca70b8 crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0xe5df5ad7 crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/nhpoly1305 0xf6a3e957 crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/sha3_generic 0x0a473f08 crypto_sha3_init +EXPORT_SYMBOL crypto/sha3_generic 0x27e9b800 crypto_sha3_final +EXPORT_SYMBOL crypto/sha3_generic 0xd6d07d57 crypto_sha3_update +EXPORT_SYMBOL crypto/sm2_generic 0xaeb7f11b sm2_compute_z_digest +EXPORT_SYMBOL crypto/sm4 0x2b098da5 crypto_sm4_ck +EXPORT_SYMBOL crypto/sm4 0x7931a202 crypto_sm4_fk +EXPORT_SYMBOL crypto/sm4 0xf4fd3bd2 crypto_sm4_sbox +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/acpi/nfit/nfit 0x06848c60 to_nfit_uuid +EXPORT_SYMBOL drivers/acpi/video 0x112c83e1 acpi_video_get_edid +EXPORT_SYMBOL drivers/acpi/video 0x6de7f7ff acpi_video_get_backlight_type +EXPORT_SYMBOL drivers/acpi/video 0x7a45377b acpi_video_unregister +EXPORT_SYMBOL drivers/acpi/video 0x7cc484a5 acpi_video_handles_brightness_key_presses +EXPORT_SYMBOL drivers/acpi/video 0x8826c13b acpi_video_register +EXPORT_SYMBOL drivers/acpi/video 0x97e0f697 acpi_video_get_levels +EXPORT_SYMBOL drivers/acpi/video 0xe92ca535 acpi_video_set_dmi_backlight_type +EXPORT_SYMBOL drivers/atm/suni 0x79efc2ed suni_init +EXPORT_SYMBOL drivers/bcma/bcma 0xaedc377a bcma_core_irq +EXPORT_SYMBOL drivers/bcma/bcma 0xb99abbd9 bcma_core_dma_translation +EXPORT_SYMBOL drivers/block/drbd/drbd 0x127a5901 drbd_set_st_err_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x35131b36 drbd_role_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x7730f22d drbd_conn_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0xaf27bebf drbd_disk_str +EXPORT_SYMBOL drivers/block/paride/paride 0x14b36ec8 pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0x37aad3c5 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x3e54f43b pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x4267110a pi_register_driver +EXPORT_SYMBOL drivers/block/paride/paride 0x541b6a93 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x5ae3d4f6 pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x61f4b5ac paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x7c192590 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x7d3caddb pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0xb21ba07d pi_unregister_driver +EXPORT_SYMBOL drivers/block/paride/paride 0xc3129f1f pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xd0552674 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0xe8a1cdc3 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0xe913bca8 pi_init +EXPORT_SYMBOL drivers/bluetooth/btbcm 0xde9673f6 btbcm_patchram +EXPORT_SYMBOL drivers/bluetooth/btrsi 0x56431de0 rsi_bt_ops +EXPORT_SYMBOL drivers/bus/mhi/host/mhi 0x3ea45272 mhi_sync_power_up +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x03bc993e ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0705dd14 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x12dd1e77 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1f65170f ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x230094ac ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x3337e9a5 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4c2054d7 ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x50f65edf ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x67369b42 ipmi_addr_src_to_str +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x74778a80 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x80aa4656 ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x89a5279a ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x96a6e5e8 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xaca90ebd ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xae71627d ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xb40b7820 ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd54a5050 ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4330a39 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe98c507d ipmb_checksum +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xec1c2a90 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xee00b22d ipmi_add_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf388b18b ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf5531bea ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfaaa4831 ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfd8a5fa6 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfe0f2369 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/nvram 0x3ef38dc9 arch_nvram_ops +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x62808faf st33zp24_remove +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x8acde181 st33zp24_pm_resume +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xa57ed355 st33zp24_pm_suspend +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xe3fc732d st33zp24_probe +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0x045f16fa xillybus_cleanup_chrdev +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0x858f0880 xillybus_find_inode +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0xe6bff7d0 xillybus_init_chrdev +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x25978d50 xillybus_isr +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x293837c6 xillybus_init_endpoint +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x6ecf0a10 xillybus_endpoint_discovery +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0xe11c1062 xillybus_endpoint_remove +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x80a11b1d atmel_i2c_init_read_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x92321368 atmel_i2c_probe +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc141363a atmel_i2c_enqueue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc71ed50c atmel_i2c_init_genkey_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc80f14e8 atmel_i2c_flush_queue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xe91b07c6 atmel_i2c_send_receive +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xf283e995 atmel_i2c_init_random_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xfaab573f atmel_i2c_init_ecdh_cmd +EXPORT_SYMBOL drivers/crypto/ccp/ccp 0x47d3c97f psp_check_tee_status +EXPORT_SYMBOL drivers/crypto/ccp/ccp 0xaa04056c psp_tee_process_cmd +EXPORT_SYMBOL drivers/firewire/firewire-core 0x075e6946 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0bc6094c fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x12aa813f fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x17e9f215 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1adc59b2 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x25d4a52c fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2ccf9fb2 fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3a771e39 fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x599fd729 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x69be4be0 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6dc50487 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7ec2a82c fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9c8aa105 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x9f2895d5 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa223a0b4 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa515097d fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xacb7a77b fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaedf84ce fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb7ca2066 fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb8e682e1 fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc2772c23 fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc560a208 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd2565a32 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe023889b fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe05d7ccc fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe3fde125 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe80e5087 fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe8bdadb4 fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0xec08dc45 fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0xec273422 fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xeebea262 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf5163782 fw_iso_context_stop +EXPORT_SYMBOL drivers/fpga/dfl 0x0654233f dfl_driver_unregister +EXPORT_SYMBOL drivers/fpga/dfl 0xf675113d __dfl_driver_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x01c4bba9 drm_dp_lttpr_max_link_rate +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x01ed5d92 drm_dp_atomic_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x02455661 drm_panel_dp_aux_backlight +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x03e72005 drm_edp_backlight_enable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0571c69e drm_dp_mst_topology_mgr_suspend +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x06c49551 drm_dp_dsc_sink_line_buf_depth +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x06f2f997 drm_dp_mst_detect_port +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x07a8b46a drm_dp_update_payload_part2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x08e85fcd drm_scdc_set_scrambling +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0f61b461 drm_dp_mst_atomic_enable_dsc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0f6b8a99 drm_dp_mst_allocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x11e2f624 drm_dp_aux_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1234061c drm_dp_dpcd_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x12bd8613 drm_dp_cec_unset_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x14f5b26d drm_dp_get_vc_payload_bw +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1605d0ed drm_dp_lttpr_max_lane_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1709ddcf drm_dp_lttpr_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x189e24b5 drm_lspcon_set_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x18cf516f drm_dp_mst_topology_mgr_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1a5bf3ca drm_dsc_dp_rc_buffer_size +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1b0a1fdc drm_dp_lttpr_voltage_swing_level_3_supported +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1b109820 drm_dp_mst_reset_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1d80cc6a drm_dp_cec_set_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1f302312 drm_hdmi_avi_infoframe_colorimetry +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x204e2d3b drm_dp_dual_mode_set_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x21580c8a drm_dp_dpcd_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x21f30734 drm_scdc_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x23961837 drm_dp_downstream_max_bpc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x24706339 drm_dp_cec_register_connector +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x248864f5 drm_dp_mst_deallocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x253a5bd8 drm_hdmi_infoframe_set_hdr_metadata +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x26815dbc drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2797396e drm_dp_mst_dsc_aux_for_port +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x29805b5f drm_dp_start_crc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2b1faba8 drm_dp_mst_put_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2fa94ef2 drm_dp_downstream_444_to_420_conversion +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x31df3165 drm_dp_read_sink_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x32532ccc drm_scdc_set_high_tmds_clock_ratio +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x37bf4a57 drm_dp_downstream_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x392a838b drm_dp_downstream_max_dotclock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3a8063f3 drm_dp_dsc_sink_supported_input_bpcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3cc1d4ae drm_dp_mst_connector_early_unregister +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3d2f6bef drm_atomic_get_mst_topology_state +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3fd80876 drm_dp_dpcd_read_link_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x414f46fd drm_dp_pcon_frl_configure_1 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4603c416 drm_dp_pcon_dsc_bpp_incr +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x478a6cc6 drm_dp_mst_update_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x496cdd30 drm_dp_mst_add_affected_dsc_crtcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4b9fac63 drm_dp_pcon_hdmi_link_active +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4bb2ba13 drm_dp_read_desc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4e073803 drm_dp_check_act_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4fa6ce29 drm_dp_mst_dump_topology +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5407ae9e drm_dp_get_dual_mode_type_name +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5427d9dc drm_dp_downstream_debug +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x54ed0552 drm_dp_pcon_is_frl_ready +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x582f248e drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x58d8fcaa drm_dsc_pps_payload_pack +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x59eee2fc drm_dp_read_sink_count_cap +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x59f27ed7 drm_dp_pcon_enc_is_dsc_1_2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5a33fdb9 drm_dp_pcon_pps_override_buf +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5c2db391 drm_dp_pcon_convert_rgb_to_ycbcr +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5ca12650 drm_dp_cec_unregister_connector +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5ff225be drm_dp_mst_topology_mgr_resume +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x62694f52 drm_dp_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x63a477fb drm_dp_downstream_min_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x64079c1f drm_dp_mst_get_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x648d953b drm_dsc_dp_pps_header_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x64a2a921 drm_dp_aux_unregister +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x65540c7d drm_dp_aux_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6615069e drm_dp_dsc_sink_max_slice_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x669a2c2c drm_dp_mst_topology_mgr_set_mst +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6807b39a drm_edp_backlight_disable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x68d8dce7 drm_dp_downstream_is_tmds +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6a4df8c5 drm_dp_128b132b_eq_interlane_align_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6aacee47 drm_dp_128b132b_link_training_failed +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6b53e216 drm_dp_downstream_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6bcf4be7 drm_dp_dual_mode_detect +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6f76bfd3 drm_dp_read_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7053fa72 drm_dp_get_pcon_max_frl_bw +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x721c5b28 drm_dp_set_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x72ab7a03 drm_dp_pcon_frl_prepare +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x73011db0 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x76819be1 drm_lspcon_get_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x76ff6644 drm_dp_lttpr_pre_emphasis_level_3_supported +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x77fc8080 drm_dp_remote_aux_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x791c9989 drm_dp_set_subconnector_property +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7e534990 drm_dp_send_real_edid_checksum +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x82533646 drm_scdc_get_scrambling_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x875714c6 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8a009ec7 drm_dp_128b132b_read_aux_rd_interval +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8ca2d9e4 drm_dp_calc_pbn_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8d701329 drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8fa23ddb drm_dp_read_dpcd_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x90ad2893 drm_dp_pcon_pps_default +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9209a69f drm_dp_downstream_id +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x92b9835e drm_dp_128b132b_cds_interlane_align_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x931dc3ac drm_dp_lttpr_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x93557625 drm_dp_get_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9f6bd556 drm_edp_backlight_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa17ea902 drm_dp_read_lttpr_phy_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa1cf4dc6 drm_dp_pcon_hdmi_link_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa1fefe6a drm_dp_psr_setup_time +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa5002bda drm_dp_mst_connector_late_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa79263a3 drm_dp_read_lttpr_common_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa9884529 drm_dp_cec_irq +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xaaa1c20f drm_dp_pcon_hdmi_frl_link_error_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xaf267620 drm_dp_lttpr_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb02eb363 drm_dp_dual_mode_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb0e073ce drm_hdcp_update_content_protection +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb4b7f3c1 drm_dp_dpcd_read_phy_link_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xba0cfb7c drm_dp_dual_mode_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xbda1df8b drm_dp_stop_crc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xbfad62bd drm_dp_read_mst_cap +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc020c0c1 drm_dp_pcon_dsc_max_slice_width +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc1d40f49 drm_dp_dual_mode_get_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc5c99a79 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc79ecffb drm_dp_downstream_is_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc8b6a8ae drm_dp_128b132b_lane_channel_eq_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc9f75a86 drm_dp_mst_get_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xcc0c5409 drm_dp_pcon_reset_frl_config +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xcc190fe7 drm_dp_update_payload_part1 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xccf54d5e drm_dp_get_adjust_tx_ffe_preset +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xce8f796f drm_dp_atomic_release_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd580224c drm_dp_mst_get_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd5a95eae drm_dp_128b132b_lane_symbol_locked +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd6d7dead drm_dp_mst_topology_state_funcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xda579f0e drm_hdmi_avi_infoframe_content_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xda79b4c5 drm_dp_read_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xdc24c024 drm_hdmi_avi_infoframe_bars +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe2cfef13 drm_dp_mst_topology_mgr_destroy +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe5360b84 drm_dp_pcon_dsc_max_slices +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe61868bf drm_dp_dual_mode_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe79e347a drm_dp_mst_hpd_irq +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe94ba7dd drm_dp_dpcd_probe +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe9e82d27 drm_dp_mst_atomic_check +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xeb37ffa9 drm_dp_vsc_sdp_log +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xedcf81ce drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xee1a04d7 drm_dp_pcon_frl_configure_2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf0febe25 drm_edp_backlight_set_level +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf3133569 drm_connector_attach_content_protection_property +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf68741fb drm_dp_subconnector_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf689ad25 drm_dp_downstream_420_passthrough +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf8f5bc8a drm_scdc_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfa33a30b drm_dp_pcon_pps_override_param +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfaa65dd9 drm_dp_send_power_updown_phy +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfb1a7a5a drm_dp_downstream_rgb_to_ycbcr_conversion +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfb6692a1 drm_dp_send_query_stream_enc_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfc799078 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfd4ec3a2 drm_dp_read_downstream_info +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfdb0a51b drm_dp_pcon_frl_enable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfe12bcb9 drm_dsc_compute_rc_parameters +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01bf4680 drm_plane_create_scaling_filter_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02190ae7 drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02e9651c drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03c63897 __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x043bb53e drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04ec3201 drm_vblank_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0604c35b drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0793b204 drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07b44938 drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07fb449a drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08e5ad60 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08e6785a drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09f9ccf4 drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a49ca70 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ae3d916 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b0cdaa4 drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b59fa14 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b62ed56 drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0babf657 drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c7e6585 drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d156358 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d4955a7 drm_connector_set_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d9b4753 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0eb7f5eb drm_privacy_screen_lookup_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f61ccd6 drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f68a5bb drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f7acb66 drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f94611c drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fd60df2 drm_get_connector_status_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10360436 drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1075dbf2 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x107742a9 drm_get_subpixel_order_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x108a1041 drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1139d683 drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1210e613 drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x129f1ac2 drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1321edde drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13816586 drm_privacy_screen_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x141f804a drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14d68921 drm_file_get_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14eb7bdd drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0x162df9c5 drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x177276c7 drm_vblank_work_schedule +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1798078b drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x17e65f89 drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1865adfc drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1983ad95 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19c316fc drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ab64b93 drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1bfea658 drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c331387 drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c7f9c51 drm_aperture_remove_conflicting_pci_framebuffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d3816d8 drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d3ff76b drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1edb9370 drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1fa1a6f0 drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20374385 drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2257deb7 drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x229c9050 drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24993e50 drm_edid_are_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24cf437a drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24d124ac drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24f3613e drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x258939ec drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2600fac3 drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x260dc9c4 drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x282cc891 drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x286bdeef drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28779e52 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x289a66c8 drm_connector_atomic_hdr_metadata_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29f078d1 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a391d8a drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a4f82d0 drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a88cc77 drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a962499 drm_mm_scan_init_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c51cd44 drm_mode_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c6a0761 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2cd4b582 drm_privacy_screen_register_notifier +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2dfacaa3 drm_gem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2dfb6c5f drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e21f6cd drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e995a01 drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ed3c600 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f476172 drm_privacy_screen_lookup_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30f7cc49 drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31af84b0 drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31d555e8 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32a0cc37 drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3391282f drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33dacd5c drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33e6d569 drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3474f285 drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35e07110 drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3668ca00 __drmm_encoder_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36f95daf drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37661128 drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37a755f8 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37d6e4c0 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x380ce220 drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38690d99 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3889c886 drm_privacy_screen_set_sw_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x390db9b1 drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39191e56 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39c24d27 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a3172e8 drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ab87110 drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b0e5e9c __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c1a3209 drm_sysfs_connector_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c22a4d8 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cc8bf60 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cdc37e9 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d7c0019 drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ec7dba5 drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f06b32f drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f2b2dce drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f405489 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3fb8a358 drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40ae8266 drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41b40cda drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x423c48a5 drm_property_replace_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4260a65a drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4260c4c4 drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x427d9e71 drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4372889e drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4403a9c3 drm_mode_get_hv_timing +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44a2cadb drm_prime_sg_to_dma_addr_array +EXPORT_SYMBOL drivers/gpu/drm/drm 0x452ac047 drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4575a0ca drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47d01f76 drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48195a02 drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48267879 drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4831da6e drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a1abf70 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a23d935 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a35d30d drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4be94964 drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c503136 drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d9ea8e0 drm_plane_get_damage_clips_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f24d3fa drm_connector_attach_privacy_screen_provider +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5029fe5b drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50979020 drm_connector_create_privacy_screen_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50e04747 drm_connector_attach_dp_subconnector_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x513072fe __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5154779c drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x521ad6d0 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0x535f0302 drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54013767 drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55626061 drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55e2f47e drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56561923 drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56b3311f drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56b66fb5 drm_connector_attach_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56c5f8e2 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5764d6a6 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57698a50 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57b4b890 drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57b6efe3 drm_ioctl_flags +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5add982c devm_aperture_acquire_from_firmware +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5aeb52ef drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c17c354 drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c208ea4 drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ce93d3c drm_connector_attach_privacy_screen_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d23ab44 drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5deb27aa drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e4acd41 drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f983afc drm_edid_get_panel_id +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5fa2cd26 drm_client_modeset_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60ca8311 drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60d7a597 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60ed2e2c drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0x622f1b35 drm_atomic_print_new_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x637ec114 drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64014965 drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6447f3ec drm_connector_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65702bd6 drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66455d4a drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66a3ff41 drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66acade7 drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66bf714d drm_vblank_work_cancel_sync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x67343277 drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6811a685 drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x688572e7 drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68fe9611 drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ab862f6 drm_connector_oob_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ac01ea8 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b62d990 drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b718079 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e6564ac drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ef2f78e drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f85fa17 drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70242f44 __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7115e47d drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x719fc717 drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73a2b3b5 drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73c2de2b __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x748135a2 drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x770d15f1 drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x794f57f1 drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a7dee2c drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7aab042f drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7afa8ee6 drm_release_noglobal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b2e2166 drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c443423 drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c545285 drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e65b3f2 drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edf470b drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7efd4924 drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f3acf42 drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8022b4bb drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0x802c666f drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80b73b61 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80fb3619 drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81e1e016 drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x829bfecf drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82e8bfa1 drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83699b8e drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83939bb3 drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8407cdde drm_connector_update_privacy_screen +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8438c639 drm_privacy_screen_call_notifier_chain +EXPORT_SYMBOL drivers/gpu/drm/drm 0x864efb4a drm_framebuffer_unregister_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x865fb469 drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x866c510c drm_object_property_get_default_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8680599b drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87cb01fb drm_crtc_create_scaling_filter_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87f81605 drm_writeback_connector_init_with_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x889a185c drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8a3d4b66 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8a95cd36 drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8ad14a8f drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c12ca69 __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c2633dd drm_bridge_chain_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c346931 drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d37681c drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d3b5491 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d72789e drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8dc6eec6 drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e837e39 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x90231ff7 drm_privacy_screen_unregister_notifier +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9136db6e drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91ae3064 drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x920dac76 drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9215775b drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x92891313 drm_modeset_acquire_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94e25e3d drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94fd8518 drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x951644e5 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x951f2dd7 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x953d9007 drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x957ac233 drm_connector_attach_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96109527 drm_vblank_work_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96ffe220 drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97aaf643 drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9844377f drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9915a72a drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99a2456c drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99e002f6 __drmm_universal_plane_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ab2d6e2 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b285573 drm_match_cea_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b3ac1cc drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b81b603 drm_crtc_commit_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b95c885 drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b9de1c1 drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9bc08a7c drm_atomic_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ce050be drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9dbec699 drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e049392 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fddc039 drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa14bcc05 drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1d448e7 drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1fb19cf drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa248afde drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa36c6b68 drm_aperture_remove_conflicting_framebuffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa38c4c94 drm_memcpy_from_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa3f1490d drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6b7c9d9 drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8132c96 drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa87273ae drm_privacy_screen_get_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9e29e85 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab2c8253 drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xabf2d779 drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xabfcbd3f drm_color_lut_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad09544e drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad4e902b drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad9205d2 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae277372 __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae32bb84 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae7aa4ff drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaeb26a9e drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf2063e5 drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb061cf07 drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb07b240f drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0919a0e drm_mode_plane_set_obj_prop +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0b05ff5 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb11ac7a7 __drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1480a23 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb18e2581 drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1a941ac drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb22dfd68 drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2482291 drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3147b62 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3b02bcf drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3c7eb32 drm_privacy_screen_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4032484 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb40eac6e drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb43d7c84 drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb43f5e1f drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb44ee39d drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4905101 drm_panel_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6127243 drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6175965 drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6cae6dc drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb738b2a8 drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb749285b drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb75d83cd drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7acfbc4 drm_panel_of_backlight +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9cad492 __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9d5137b drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba75e508 drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbaae067c drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbad8d8c6 drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc224844 drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbce336e2 drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd06c712 drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbdcc2577 drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe9784a5 drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbeb2922d drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf94804c drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc06a8881 drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0cabe40 drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2091c5f drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc21e3b58 drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc22af5b1 drm_prime_sg_to_page_array +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc34293ae drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc42df6e4 drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc48d34fa drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4caf482 drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc56d0ac2 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc58786f6 drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5f6a038 drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6b4f9e5 drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc78f9605 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7910e38 drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7d04fc5 drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7d2cd1e drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc82982eb drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8fa16e2 drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca051aaf drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca190085 drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcabc35e6 drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcac2685d drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb365296 drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc31087d drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc5cb1ce drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc95e808 drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xccc59759 drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd5ae7da drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdb99cc9 drm_mode_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdc41ee0 drm_plane_create_alpha_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xceb4b353 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcebe4115 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd05fda43 drm_prime_get_contiguous_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd08c83ce drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0f9d09d drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13f9985 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd16d4312 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd227ca9b drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2cd6692 drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5642643 drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd680a377 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd75cdaf1 drm_plane_get_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7a9cf42 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd96c66e2 drm_client_framebuffer_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda5ad660 drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc240ea3 drm_connector_attach_hdr_output_metadata_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde67018c drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf3f760d drm_mm_scan_color_evict +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf666902 drm_rotation_simplify +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf6fb072 drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf9735dd drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe04824db drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0927aeb drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe117a9d6 drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe12761ea drm_gem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1990c54 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe312a005 drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe317082a __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe36bfb5f __drmm_crtc_alloc_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe4087344 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe408c42a drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe53524a8 drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe73d5f4a drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a034df drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a0e334 drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8dd9b6a drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea00fe81 __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb9f7dbc drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec03799d drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec12af74 __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xecc8f3ef drm_send_event_timestamp_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xece9fef1 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeecc0b1d drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0153c97 drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf018e632 drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0517d7a drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1b5340a drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2258115 drm_privacy_screen_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3db4e70 drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf406e46a drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf45fb135 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf46a7305 drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf50d455c drm_privacy_screen_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf519b496 drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5736392 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf594c6a4 drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5aebdb9 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5bf8e70 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6b56c64 drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6c95c55 drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6f35328 drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7be04cd drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf817073d drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf824c7db __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9ed6130 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa91902f drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfaa7ca94 drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb455dd7 drm_display_mode_from_cea_vic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb769359 __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfcb1f10c drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd2c3678 drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdda2a55 drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfde3ef71 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe1eaa36 drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfeb34020 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfeb953b1 __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffc7ba89 __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffdfb3e3 drmm_mutex_init +EXPORT_SYMBOL drivers/gpu/drm/drm_buddy 0x22d53779 drm_buddy_free_list +EXPORT_SYMBOL drivers/gpu/drm/drm_buddy 0x2d9e9583 drm_buddy_print +EXPORT_SYMBOL drivers/gpu/drm/drm_buddy 0x40d76a49 drm_get_buddy +EXPORT_SYMBOL drivers/gpu/drm/drm_buddy 0x9f44c898 drm_buddy_init +EXPORT_SYMBOL drivers/gpu/drm/drm_buddy 0xabb5a026 drm_buddy_block_trim +EXPORT_SYMBOL drivers/gpu/drm/drm_buddy 0xbd5b3bcc drm_buddy_free_block +EXPORT_SYMBOL drivers/gpu/drm/drm_buddy 0xc30d71cc drm_buddy_block_print +EXPORT_SYMBOL drivers/gpu/drm/drm_buddy 0xfa150882 drm_buddy_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_buddy 0xff748b76 drm_buddy_alloc_blocks +EXPORT_SYMBOL drivers/gpu/drm/drm_cma_helper 0x12088881 drm_gem_cma_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_cma_helper 0xd5c68914 drm_gem_cma_prime_import_sg_table_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0114eee2 drm_fb_xrgb8888_to_rgb332 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x02980069 __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0486cc68 drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x04aae97a drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x05486aad drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x054eeca6 drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x063f6a54 devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x072596d1 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x084b910e drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x09f22e96 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0acea06f __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0bc5ab20 __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0c7c479d drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0d7fb3b2 drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0e48648b drm_gem_simple_kms_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0fedb2f4 drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x11519a81 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x11ba8059 drm_gem_fb_end_cpu_access +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x11e9d4a7 drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x127a8c6b drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1325b7de drm_fb_xrgb8888_to_mono +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x13d10eb0 drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x164e1d35 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1e04492e drm_gem_fb_begin_cpu_access +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x200dedcd drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2027cf44 drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x21d541eb drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x230874f4 drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x23ea2556 drm_fb_blit_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x26f6aff4 drm_fb_xrgb8888_to_xrgb2101010_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x27204ba8 drm_gem_simple_kms_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x274457d3 drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2afb436d drm_fb_memcpy_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2bfc1902 drm_kms_helper_connector_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c003f76 drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c70bdc4 drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2dd34765 drm_fb_xrgb8888_to_rgb565_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2efec798 drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2f6fda98 drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3205b4f8 drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x32979c64 drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x358c6574 __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x36ef1104 drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x38968241 drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x38ac406b drm_gem_simple_kms_prepare_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x38f548a5 drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a6d8ae9 __drm_gem_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3af3cde7 drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3e1bf4fb drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3f04f367 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3f6d5354 drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3fdaed40 drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3ff5897c drm_gem_fb_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x43570f7d drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x43f4a8d9 drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4645bf06 drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x46ecdafd __drm_gem_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x47462053 drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4a306d94 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4a9c66b7 drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4c2adfec drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x51de383a __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5204c678 drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5297b460 drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x53a43540 drm_gem_prepare_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x53f08329 drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5542443b drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x55f85123 drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x560aa28b __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x56e8c840 __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5731e99e drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58ab3c9c drm_gem_fb_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58c66a96 drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x590467ed drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5972ddb0 drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a1f3fbf drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a5de27f __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5bd3681f drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5d9d5576 drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x601cc312 drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x61004764 drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x654f551f __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x67fcdb91 drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x69224c7f drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6a2ddbfc drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6a710587 drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6c9c4c02 drm_gem_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e4b7acc drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e666c5c drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7366afd8 drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x74062de3 drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x79a800a5 __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7a091097 drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7ed95d59 drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x827f04ea drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x841b70ec drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x842dd90c drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x84f59a8c drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x85c52a4f drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x867358ec drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x87140c77 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x871ab41a drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x872fb599 __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x87a0c295 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x87b39a5c drm_gem_simple_kms_cleanup_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x883d2cb7 drm_gem_simple_kms_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8bcadcfe drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8c50c728 drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8fdfa439 drm_gem_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ff4e6dc drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x91fec1cc drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9281335f drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x95a8254d drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x95df7e65 drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9683520e drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x99fd20aa drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9bde79aa __drmm_simple_encoder_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9cbaa408 drm_gem_cleanup_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9d49dd76 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9f25a544 drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9fc90f3e drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa0b9b302 drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2d2d822 drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa4c6d386 drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa56498e3 drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa9e23e8a __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xac1f4da1 drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb053adda drm_rect_rotate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb27f57d2 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb361b13d drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb433ce36 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb4341c73 drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb55dbf7c drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb6b50424 drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb753cc8b drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb8f73c1b drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb985374c drm_connector_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb99161df drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb9be3af7 drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xba1ab773 __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbb90af3b devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbc8a184b drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc327d741 drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc3fd981d drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc6323239 drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc6652512 drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc6c6b7c2 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc84f3a25 __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcb2340b8 drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcbdef70e drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcd4e8f84 drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xce1a731a drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcea65918 __drm_gem_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcf11a549 drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd273b158 drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd4721de9 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd6a652da drm_fb_xrgb8888_to_rgb888_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd6e974d3 drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd86b481d drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd8a9b819 drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd9b1cd81 drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdb399458 __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdc2495d8 drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdc49d435 drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdfa81303 drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdfbf4c48 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdff718dd drm_fb_swab +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe0017c3f drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe03517cf drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe2131823 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe4374585 drm_atomic_helper_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe54f10c9 drm_gem_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe5f3a251 drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe6385527 drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe8c2df57 drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xea73c545 drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeb96f87d drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xec22bb97 drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xefd21957 drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xefe3bf4e drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2722aac drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf30c5fb4 drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf30db916 drm_fb_clip_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf42a1608 drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf446e58b drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf454f372 drm_gem_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf4cd6c9a drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf512578e drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf55a41a7 drm_fb_xrgb8888_to_rgb888 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf75480fe drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf92b9d04 drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfba0454e drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfc7e7c8e drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xff184210 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xff896345 drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x0484e5c0 mipi_dbi_poweron_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x21dedbf5 mipi_dbi_command_stackbuf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x24d319d5 mipi_dbi_command_buf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x42100919 mipi_dbi_spi_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x4ab43a23 mipi_dbi_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x4c4bd304 mipi_dbi_display_is_on +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x58035215 mipi_dbi_command_read +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x6b532c0f mipi_dbi_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x6e35cfa0 mipi_dbi_hw_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x766c5dd3 mipi_dbi_spi_cmd_max_speed +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x8d6ddb5f mipi_dbi_poweron_conditional_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x9989700f mipi_dbi_pipe_update +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xacdbeecc mipi_dbi_pipe_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xbc8e0b9d mipi_dbi_buf_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xe5741a1e mipi_dbi_dev_init_with_formats +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xf1ac2bf3 mipi_dbi_enable_flush +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xf40bc85f mipi_dbi_spi_transfer +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x0c0ff672 drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x116e453c drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x3b2b4728 drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x66a4ff84 drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x915d6642 drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x92ef8465 drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x957c73a6 drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xaaea68c9 drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xe3d353d9 drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xfdcd4acc drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x5e9a5a94 drm_gem_ttm_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x61604a49 drm_gem_ttm_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x68557686 drm_gem_ttm_dumb_map_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x9080769f drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xa13a3d94 drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x09f07e7f drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x09fbbd86 drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x131755b1 drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x2d0c3acb drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x4e55ccfc drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x5c13d215 drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x9144df98 drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x9ed3eaf5 drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xa22d06d6 drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xad1f45e9 drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xb3e9870f drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xbed76210 drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xbfbcb318 drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xc2363aa0 drmm_vram_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xd6f65e66 drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xe5954b1f drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x00560700 drm_sched_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x0ea2534b drm_sched_reset_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x11e0e2fc drm_sched_job_cleanup +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x120799f8 drm_sched_entity_destroy +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x1fc6ace8 drm_sched_job_arm +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x31ab2ebe drm_sched_start +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x32018600 drm_sched_fault +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x344ef4df drm_sched_entity_modify_sched +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x485d13d2 drm_sched_pick_best +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x4d6276aa drm_sched_entity_set_priority +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x4ee4a3cb to_drm_sched_fence +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x56ab0b13 drm_sched_increase_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x690d6c02 drm_sched_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x762a3d31 drm_sched_resume_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7e931272 drm_sched_resubmit_jobs +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x801b2f49 drm_sched_entity_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x96d2ed8e drm_sched_entity_push_job +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x9ec7533d drm_sched_entity_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xa6021891 drm_sched_entity_flush +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xafa88294 drm_sched_job_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xbf9d7595 drm_sched_job_add_dependency +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xc55a6dd6 drm_sched_resubmit_jobs_ext +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xc7233b32 drm_sched_suspend_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xc7397086 drm_sched_increase_karma_ext +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd25f8d02 drm_sched_dependency_optimized +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd4bc00bc drm_sched_job_add_implicit_dependencies +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xdd798ef7 drm_sched_stop +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x06a11426 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x10080728 ttm_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1a71d30c ttm_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1a8e219a ttm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2962b70d ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2a7cad54 ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2ba0fcd4 ttm_agp_is_bound +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2e6725de ttm_device_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x338b949c ttm_bo_set_bulk_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3837e7e6 ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3f604f61 ttm_bo_move_sync_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3fe8d73c ttm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x42742557 ttm_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x42863a77 ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4364dd49 ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x461da3bd ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4773ce1e ttm_device_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4a2b852f ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4bae213a ttm_pool_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4cdc5011 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4e46e6c7 ttm_kmap_iter_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x50ee21ef ttm_agp_destroy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x58948bea ttm_resource_manager_debug +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5a7874e4 ttm_kmap_iter_iomap_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5dbaae75 ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5de1e7e4 ttm_resource_manager_create_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5e1c3254 ttm_bo_vmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5f2b2263 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x616fe823 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x618024ad ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x634ecff2 ttm_range_man_init_nocheck +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x67eb7b89 ttm_lru_bulk_move_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6b510bd9 ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x714bfcad ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x79c82b84 ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7a42b336 ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7a71e592 ttm_pool_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7adf6497 ttm_resource_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x83e15809 ttm_bo_vunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x84456aaa ttm_resource_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x85801301 ttm_resource_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x85c91632 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x888ec858 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8e84522c ttm_resource_manager_usage +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9cf38566 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9fe61db5 ttm_pool_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa536980c ttm_global_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa9d25a45 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xab7e2055 ttm_bo_vm_dummy_page +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xaf9f4f42 ttm_resource_manager_evict_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb2668033 ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb2f7d408 ttm_resource_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb5d1d6a7 ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc1b3340c ttm_resource_manager_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc4247c83 ttm_device_clear_dma_mappings +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc446ab14 ttm_bo_unpin +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc66fcd2c ttm_agp_tt_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcc2492a4 ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcfeed7c3 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd3478c64 ttm_range_man_fini_nocheck +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdda7e50f ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdfa32709 ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe02934d2 ttm_bo_pin +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe937922b ttm_lru_bulk_move_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xec09a2f5 ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xecd1366d ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf124905a ttm_bo_vm_access +EXPORT_SYMBOL drivers/gpu/drm/vmwgfx/vmwgfx 0x1984f833 ttm_base_object_noref_lookup +EXPORT_SYMBOL drivers/hid/hid 0x8b143ae2 hid_bus_type +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x03218513 ishtp_set_drvdata +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x09d4febc ishtp_device_init +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x0b29091e ishtp_register_event_cb +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x1455ec47 ish_hw_reset +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x1751447e ishtp_cl_get_tx_free_rings +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x370f8a6b ishtp_get_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x3786bb38 ishtp_cl_rx_get_rb +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x381d2ca9 ishtp_reset_handler +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x392eb209 ishtp_fw_cl_by_uuid +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x3c7d621f ishtp_bus_remove_all_clients +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x3c859e9c ishtp_dev_to_cl_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x4425a7d3 ishtp_set_tx_ring_size +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x48731611 ishtp_set_rx_ring_size +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x4c6afbd7 ishtp_set_connection_state +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x53c704eb ishtp_get_drvdata +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x5658d9c0 ishtp_send_suspend +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x5a956f25 ishtp_cl_driver_unregister +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x5b259aa7 ishtp_trace_callback +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x5cbe80a5 ishtp_cl_flush_queues +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x5f9b0501 ishtp_get_fw_client_id +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x6c62e47c ishtp_get_client_data +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x81b65918 ishtp_cl_driver_register +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x850e204f ishtp_cl_tx_empty +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x893e8419 ishtp_set_client_data +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x919df432 ishtp_start +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x9ad2e77b ishtp_send_resume +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0x9f2c830a ishtp_cl_unlink +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xa22257d6 ishtp_cl_connect +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xa369626e ishtp_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xa873c60e ishtp_reset_compl_handler +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xba146a2e ishtp_cl_free +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xc97dc510 ishtp_get_pci_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xd154cac4 ishtp_get_ishtp_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xd69ae7f4 ishtp_fw_cl_get_client +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xd75d20e7 ishtp_put_device +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xe17798de ishtp_cl_get_tx_free_buffer_size +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xe9ffa5e7 ishtp_cl_set_fw_client_id +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xea85643a ishtp_cl_send +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xef4dac74 ishtp_cl_disconnect +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xf16f22c7 ishtp_recv +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xf71a7768 ishtp_cl_link +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xfa8f0d00 ishtp_cl_io_rb_recycle +EXPORT_SYMBOL drivers/hid/intel-ish-hid/intel-ishtp 0xfc0f3022 ishtp_cl_allocate +EXPORT_SYMBOL drivers/hv/hv_vmbus 0xd2d24e3a vmbus_sendpacket +EXPORT_SYMBOL drivers/hv/hv_vmbus 0xe082dd91 vmbus_sendpacket_getid +EXPORT_SYMBOL drivers/hv/hv_vmbus 0xfb3d68c6 vmbus_recvpacket +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x2f9e7f8e vid_which_vrm +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x446615bd vid_from_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x01568393 sch56xx_read_virtual_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x96ec3b26 sch56xx_read_virtual_reg12 +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xaa17a737 sch56xx_write_virtual_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xb37b9b81 sch56xx_read_virtual_reg16 +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xeb973932 sch56xx_watchdog_register +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x16301c47 i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x68ce43c8 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xe8691483 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x237745da i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xb972d148 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x32b1d1e1 amd756_smbus +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x10a4c688 qcom_adc5_hw_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x1fcd0103 qcom_adc_tm5_gen2_temp_res_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x39885d6b qcom_adc_tm5_temp_volt_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x401dc869 qcom_vadc_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x47f699dd qcom_adc5_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x4e64cdb9 qcom_adc5_hw_settle_time_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x53546ecd qcom_adc5_avg_samples_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x70e6eca1 qcom_vadc_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xc61e7a34 qcom_adc5_prescaling_from_dt +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x15ed2cee iio_triggered_buffer_cleanup +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x76f46910 iio_triggered_buffer_setup_ext +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x043681ce iio_kfifo_free +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x117560b1 iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x083c36d3 mpu3050_dev_pm_ops +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x1ed25361 mpu3050_common_remove +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0xa42859b2 mpu3050_common_probe +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x07aa8848 hts221_probe +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x17b9f4d6 hts221_pm_ops +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0x639d8897 bmi160_regmap_config +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xca19cfae bmi160_enable_irq +EXPORT_SYMBOL drivers/iio/imu/fxos8700_core 0x22dd0a80 fxos8700_regmap_config +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0x252077e5 st_lsm6dsx_probe +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0xd21fec7b st_lsm6dsx_pm_ops +EXPORT_SYMBOL drivers/iio/industrialio 0x0ae40bfc __iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x1abd13f0 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x2253d730 iio_device_get_clock +EXPORT_SYMBOL drivers/iio/industrialio 0x23c1585f iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x28400266 iio_trigger_using_own +EXPORT_SYMBOL drivers/iio/industrialio 0x28c8e4dc iio_trigger_set_immutable +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x2d76fd99 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x3cf3522f iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x4286ddef iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x44d213f6 iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x5140e3ed iio_device_set_clock +EXPORT_SYMBOL drivers/iio/industrialio 0x56eea62b iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0x60d0db00 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x659254b5 iio_trigger_validate_own_device +EXPORT_SYMBOL drivers/iio/industrialio 0x733928a8 iio_read_mount_matrix +EXPORT_SYMBOL drivers/iio/industrialio 0x87d01131 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0x9aa8c089 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0xa400331b iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0xc1691161 __iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0xcb840583 iio_get_time_res +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xe9644687 iio_get_time_ns +EXPORT_SYMBOL drivers/iio/industrialio 0xfe74fef2 iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0xfef2e296 iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio-configfs 0x3a12c167 iio_configfs_subsys +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x0fdcf197 iio_register_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x1462f31c iio_sw_device_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x1b451002 iio_unregister_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xaa1364a0 iio_sw_device_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x35ef8260 iio_unregister_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xa1853caf iio_register_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xc565e974 iio_sw_trigger_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xecd811e2 iio_sw_trigger_destroy +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x52284f69 iio_triggered_event_cleanup +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0xb395d67e iio_triggered_event_setup +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x5e72b8f5 bmp280_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x7ad2d264 bmp280_common_probe +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x88981c95 bmp280_dev_pm_ops +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xb4f46597 bmp180_regmap_config +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x14af8e42 ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1ae14306 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2a87ae48 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x45656d6b ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x483e2c7c ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x57df822c ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa682eb4f ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xaba21bad ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xae737454 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xccbad0aa ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xd199d367 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xde639d6e ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xeb4e25b5 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xf20765bf ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xfdf3178d ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00690097 ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00cd25ea ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00dc0d61 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00f8fe3a ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x013bcad1 rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x03f7c2d7 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x047013fb ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x095557a8 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a640bdc ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c86f5cb ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0d3354a6 rdma_alloc_hw_stats_struct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0d47f7d7 __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0db7e576 ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1091521d ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x11ec5809 ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14a98452 ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x15937253 __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x15d6f7be rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x17dd2ec2 ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b037462 __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1c8ce251 ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1dc935b8 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1fb73a13 ib_qp_usecnt_dec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x240ef11f rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2739005e ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x275038cd ib_alloc_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x29277567 rdma_restrack_new +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b2be010 rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2bda66ef rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ccfae88 ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2f5b793a rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x30f4d3ac rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x314ed8bf ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x330717e3 rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x331eb655 __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x343d6416 ib_port_register_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x34da0896 rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x34e8d4af rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x37c6c70f rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x393b8784 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x399e52d9 ib_dma_virt_map_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3b7ce2f5 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c23f9a8 rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3d459f8d rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3efc50b9 rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x404b637c rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x40b820b4 ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x40c5e84b rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4171e8c8 ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x42ae0236 ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x42c103f1 ib_port_unregister_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x434c5d10 zgid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x439ce33c ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x472cdc7e ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4890a514 rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x491d2b71 rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4c73dd62 ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e155af0 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e90435c ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5000e827 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5206fc90 rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x53a2fbb6 ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x54af016f ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55bb02f3 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x56e96d30 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5719f7cc rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58df5b94 ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5a620600 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5ba39d59 rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5bca19b2 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5df2d6c0 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5e4e277d ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5fb65dbc rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5ff0169e rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x60134a64 ib_dealloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x613b1e2e ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61bdbd7b rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61d24c52 ib_rate_to_mbps +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6239c318 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x643daebb ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x64fd1f3c ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6584750c rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x666326d5 ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6754c339 rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x67db1afc ib_port_immutable_read +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x69eb2dd3 ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b903869 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6c15dfdb ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6c65f563 ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d34d92e ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d50e201 rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6df08eaf ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x73baf9a2 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x73e6e324 ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75181d21 rdma_restrack_set_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77423fea rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x783912c3 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x78ec97a7 rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x78ecc9d4 ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7ba3455f rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7bfd8def ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fabd964 ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8118783c ib_create_qp_kernel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8219d056 rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8281aa26 rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x855d0ad9 ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x85918d19 rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86118cbb ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86cef180 rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x876ebfff ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8985c3bd ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e0ab313 rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e7528da __rdma_block_iter_next +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8ea60805 rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90e807c7 ib_cache_gid_parse_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x91249e29 ib_cq_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x91532657 ib_alloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x916a9024 rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x91bd7381 rdma_restrack_add +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x91eb1f23 ib_create_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x921d914a rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x929d057e ib_port_sysfs_get_ibdev_kobj +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x94384ee9 rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x94a5de76 ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x950e98a4 rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x99ea0d1e ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x99f5f880 rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa07ee606 ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0dbfea2 ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa2e06944 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa32dd3b2 rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa4e12262 ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa53043c6 roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa726b4ce ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa805529f ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa8376521 ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa899021c ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa922ae68 rdma_query_gid_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xab4c31c2 rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xab73e9ad ib_destroy_wq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaca05f55 rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae956dce ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xafa54791 rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xafc70c7a ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb32faca1 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb36e4148 ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb5411933 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb64cb972 ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7852a05 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb793c4fb rdma_move_grh_sgid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7cc5e44 __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb94cbf22 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbb7464a6 ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbc0c495a rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbe0b6e92 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbec693df ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbfc6a031 ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc08c359e _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc0dadef4 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc282a254 rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc51cd352 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc6ab4226 ib_qp_usecnt_inc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc6d3675f rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8d38664 rdma_free_hw_stats_struct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc9c149b0 ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcaf00ccf ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcbeead48 ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcc71e77d ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xce794f10 ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcf38fd49 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcfbc053b ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd43808e7 ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6636ca6 rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd8435c59 rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd844bcf7 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda4bfdeb rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdb7ccbeb rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdc431e1a ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe0476359 ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe0ac8c4a ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe246a27b ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe34d1d34 rdma_restrack_parent_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe4135853 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe4717d31 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5840ec6 ib_wc_status_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5a78c1e ib_sa_unpack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5e20525 ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe6d874bf rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7b52e5f mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe85082d4 ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe8d92b9f rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9e799fc ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xea6b52ba ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeb450c33 rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xedd75de6 ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xedf379b3 rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xee45fde9 ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeea69181 ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeeb06043 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xef93a4da rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf2049f10 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf41dbce0 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf44d8df0 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5dedb30 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6a146c4 ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6ed3334 ib_event_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf884b5e3 rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf8c6df53 ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfa1692cc ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc11ff79 rdma_link_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc567be5 rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc760524 rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfcb893e4 ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xff57de2b ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x09fb5fde ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x11c0de2f _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1319b5dc ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x17ffdb5d ib_umem_odp_map_dma_and_lock +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x23e82446 uverbs_copy_to_struct_or_zero +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x259c882b ib_umem_dmabuf_map_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x34298c8a uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x4845ed1e ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x4a637180 ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x53b1e704 ib_umem_get_peer +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x68ef80b5 ib_umem_dmabuf_get_pinned +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7a233316 uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x80c02f35 _uverbs_get_const_signed +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8af81a06 ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8fb6a683 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x9914e37d uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x994d705d ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x9bf46015 ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x9cfd83d2 ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa7616725 _uverbs_get_const_unsigned +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa89373bb ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xac714ebd uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb514f85d flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb5b58b6d uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbde5c050 ib_unregister_peer_memory_client +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc3bf0522 ib_umem_stop_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc5d154fa ib_register_peer_memory_client +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc84c6b7b ib_umem_dmabuf_unmap_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xcc14edff ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xcdd784e5 uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd37377bb ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xde2f9119 uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe02736d2 flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe0296b33 uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe96cf728 ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xedd146b5 ib_umem_activate_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf04442c5 ib_umem_dmabuf_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf5bf44bc uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x0cc7df11 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x251507cc iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x43a6bfda iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x7c22ea81 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xa03184d0 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xccedca3e iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xe69cf1bb iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3df871f iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf54c73ee iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x05b486cd rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x077b3ac1 rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0bf8461f rdma_connect_locked +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0e0a0e57 rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0f78aa57 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x16b605e9 rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1e9b9ab0 rdma_create_user_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x248f00d6 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3c7b12a1 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x47137241 rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x493d382d rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x54ab7baf rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x593e74c0 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x642bc702 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x88e872fe rdma_lock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8b4281b1 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x907df803 rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x90ce7587 rdma_unlock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x972c988f rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x97ae2835 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9cd68814 rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9fe04562 rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa1be00d4 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa4d55cbe rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa6dbf03b rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa842b2c0 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xac5811b2 rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb895ccfa rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc8d50501 rdma_set_min_rnr_timer +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xca22875d __rdma_create_kernel_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd6540f26 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdb09f1da rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe1abf63f rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf653cec3 rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf868eb72 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x0190b09b rvt_restart_sge +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x09a95b7e rvt_qp_iter_next +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x0e0d9123 rvt_invalidate_rkey +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x0e385842 ib_rvt_state_ops +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x152dd874 rvt_alloc_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x15ed1810 rvt_copy_sge +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x1b545eeb rvt_qp_iter +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x1f0e88d5 rvt_qp_iter_init +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x25c846cc rvt_init_port +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x2f52030c rvt_send_complete +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x4adeb8d2 rvt_lkey_ok +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x5121b900 rvt_cq_enter +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x55246e26 rvt_mcast_find +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x5679c26a rvt_stop_rc_timers +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x6671ecfa rvt_get_rwqe +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x6db28ffd rvt_get_credit +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x71e53a4d rvt_add_retry_timer_ext +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x7e7c114e rvt_compute_aeth +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x83b3534e rvt_dealloc_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x844e4cb8 rvt_register_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x878bb484 rvt_rc_error +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x8a26aeab rvt_rkey_ok +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x964292e6 rvt_check_ah +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0x9dd09cad rvt_error_qp +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xb153455a rvt_ruc_loopback +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xb7ee98b2 rvt_rc_rnr_retry +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xb8b94f94 rvt_unregister_device +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xd7cdac44 rvt_fast_reg_mr +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xe9cf3e43 rvt_rnr_tbl_to_usec +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xf0bd03f4 rvt_add_rnr_timer +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xf8160313 rvt_comm_est +EXPORT_SYMBOL drivers/infiniband/sw/rdmavt/rdmavt 0xfecc77f0 rvt_del_timers_sync +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x03732f4b rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x0bb2ef69 rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x0c30e694 rtrs_clt_rdma_cq_direct +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x889af5ea rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xababc05b rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xcd5c4e3e rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xd9a714a5 rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x242a8646 rtrs_addr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x3712b537 rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x5b01e41d sockaddr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x887302f3 rtrs_addr_to_sockaddr +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xa99bebef rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xadf309fc rtrs_rdma_dev_pd_deinit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xefb20282 rtrs_ib_dev_find_or_add +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x963d123b rtrs_srv_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x9ed96d8b rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xa11c79c1 rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xaa8b390b rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xca4597a4 rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xdd4185cf rtrs_srv_get_path_name +EXPORT_SYMBOL drivers/input/gameport/gameport 0x2eab5525 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x36dde258 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x3d292797 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x70cbb08f gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7ec86d7e gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xaf0f0101 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe461a944 gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe7816d35 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xffb9034c gameport_stop_polling +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x1bc334ab iforce_send_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x99df2837 iforce_init_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0xb66e61e9 iforce_process_packet +EXPORT_SYMBOL drivers/input/matrix-keymap 0x7f940beb matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x40957974 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x697ffab3 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xd1710eae ad714x_probe +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x892d76b2 cma3000_resume +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x89d9444e cma3000_exit +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xad7a8e28 cma3000_init +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xca3f100a cma3000_suspend +EXPORT_SYMBOL drivers/input/rmi4/rmi_core 0xd9aa64f1 rmi_unregister_transport_device +EXPORT_SYMBOL drivers/input/sparse-keymap 0x01f26ef0 sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x4b88c859 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0x55ba7bbc sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xe020dd0c sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0xf8ded078 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xc5b82e6d ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xe8d33603 ad7879_pm_ops +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0x3faf4624 amd_iommu_unbind_pasid +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0x53e2db27 amd_iommu_free_device +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0x7e7c3b78 amd_iommu_set_invalid_ppr_cb +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0x82fb61e8 amd_iommu_set_invalidate_ctx_cb +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0xc20138ae amd_iommu_bind_pasid +EXPORT_SYMBOL drivers/iommu/amd/iommu_v2 0xf0beb69d amd_iommu_init_device +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x28049d63 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x6579fdfe capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7413676d capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7af5d6a0 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x92e77a47 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x27c58fd5 isdnhdlc_decode +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x4644eea5 isdnhdlc_out_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x5b835a58 isdnhdlc_rcv_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0xef4ee223 isdnhdlc_encode +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x2d36594e mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x5955ec51 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x7d258684 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x9b4aeb72 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x01198f1d mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xf9a7886e mISDNisar_init +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0246d69d mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03a68066 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x06e9b862 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x0f8d4a4d recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1f781547 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2535cd76 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x26236de8 mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2892299e recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x30d25b0d mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x313b1fde mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x32377b48 recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x40c3b011 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x47c5c24e mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4863d10e get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4c5f24b5 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6047df40 mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7bc4cc4d mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x82b1897a dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x90d9e887 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x92a6efee bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9c928457 mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa59d7fd4 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc682ddb7 mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xcc20bbad queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd43fbcaf recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd7ce84bf mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe3bdca6a mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xef0aa125 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfa716693 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x01087af0 mISDN_dsp_element_unregister +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x93df9e4b dsp_audio_law_to_s32 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb07a21b8 dsp_audio_s16_to_law +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb98308d8 mISDN_dsp_element_register +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x54a12ec4 ti_lmu_common_set_ramp +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x6d47d70a ti_lmu_common_get_brt_res +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xc6b08d34 ti_lmu_common_get_ramp_params +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xced72aae ti_lmu_common_set_brightness +EXPORT_SYMBOL drivers/md/dm-log 0x421457f9 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x4b4ab70d dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0x54e9fb6e dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0x72b2d392 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x460c91b4 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0x6b143ddb dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0xa2ba6bf4 dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0xacdcec5e dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0xb9353ea0 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0xbf357c95 dm_exception_store_create +EXPORT_SYMBOL drivers/md/raid456 0x1c36038c r5c_journal_mode_set +EXPORT_SYMBOL drivers/md/raid456 0x800f6316 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x00f9552d flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x2b2cf80e flexcop_device_kfree +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x3cec4ee8 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x736d61b0 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x8d0846e8 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x91ff13f6 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xce3dc9cb flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xdd16b3fc flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xe50a7f7f flexcop_device_exit +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xe569accb flexcop_dump_reg +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xf3329fa4 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xf8da80c1 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xfe168ece flexcop_device_initialize +EXPORT_SYMBOL drivers/media/common/cx2341x 0x0fd24116 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/common/cx2341x 0x15ac1bd0 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/common/cx2341x 0x28240e61 cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/common/cx2341x 0x55aa7c5f cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x5cd200ef cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/common/cx2341x 0x6a657b05 cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x7b4dd2cb cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/common/cx2341x 0x83a3eb51 cx2341x_handler_init +EXPORT_SYMBOL drivers/media/common/cx2341x 0xdbc5583a cx2341x_update +EXPORT_SYMBOL drivers/media/common/cx2341x 0xe1fe1432 cx2341x_log_status +EXPORT_SYMBOL drivers/media/common/cx2341x 0xf48d58f0 cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/common/cypress_firmware 0x52621b78 cypress_load_firmware +EXPORT_SYMBOL drivers/media/common/ttpci-eeprom 0x693e74ba ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/common/ttpci-eeprom 0xfc2ebae4 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/common/tveeprom 0x00dc4b9b tveeprom_read +EXPORT_SYMBOL drivers/media/common/tveeprom 0x0dbf0296 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x065246b8 frame_vector_create +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1b700d37 put_vaddr_frames +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1d5f9555 frame_vector_destroy +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x6725ac83 vb2_buffer_in_use +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x7f526e2b vb2_verify_memory_type +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xc2d9e090 get_vaddr_frames +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xc5e5573a frame_vector_to_pages +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xdffb744b frame_vector_to_pfns +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x0cd2e05f vb2_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x1214bcf5 vb2_dvb_find_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x1f167327 vb2_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x208307d7 vb2_dvb_get_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x37ab90d6 vb2_dvb_register_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x7c782560 vb2_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-memops 0xa21fa765 vb2_create_framevec +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-memops 0xccd197c7 vb2_destroy_framevec +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-v4l2 0xf194a7e6 vb2_querybuf +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08733236 intlog10 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x0f74943e dvb_frontend_suspend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x12074b1e dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x18acd31f dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1e9bec45 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1eaddc01 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2f5cdf80 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x314299c3 dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x33591623 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3b93d71a dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x4459759e dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x4f72f1c2 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x521d2ca2 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5444b3ff dvb_frontend_resume +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x54abe4ff dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5f2b1d95 intlog2 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6181aec0 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6a9f708a dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x74f1edab dvb_remove_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x77ab1b02 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x79bb80d1 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7b889406 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8101263d dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x889fc811 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8c54b0f8 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8e71b7da dvb_net_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x91a6794b dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9263a063 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x947b1522 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa4235824 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb3352dd2 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xbd1a1810 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc3f679f9 dvb_ringbuffer_write_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xcefb050d dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xd73fa0bd dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe138ce6b dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe4babd7c dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xea296d09 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xebbc2d9b dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfb09f39a dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfb9a826f dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfc6380e5 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xff201e37 dvb_device_get +EXPORT_SYMBOL drivers/media/dvb-frontends/ascot2e 0xed57a427 ascot2e_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/atbm8830 0x559baf8d atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x26af7e2d au8522_analog_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x2e43881e au8522_release_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x4be89d1b au8522_init +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x4efbdb59 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x5bc5351c au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x683d3d7f au8522_readreg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x8249ba0d au8522_get_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x87deeb25 au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xad956961 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_dig 0xca7a6675 au8522_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/bcm3510 0x162ee78e bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22700 0x2f0abf04 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22702 0x9b44ce7a cx22702_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24110 0x8b0428ab cx24110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0xab189b95 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0xc73357ae cx24113_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24116 0xe34dd165 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24120 0x89481543 cx24120_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x14332440 cx24123_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0xcef1dc0d cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2820r 0x1d6811e1 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0xb614e0b6 cxd2841er_attach_t_c +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0xf113fa1b cxd2841er_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2880/cxd2880 0x9fa0cbbb cxd2880_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x0098f64d dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x5d3dff55 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x8e2059bf dib0070_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xb96006b2 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xf332fb46 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x25223c44 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x350504f3 dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x35474924 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x358fd2a7 dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x35a5fc01 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x52c2d44c dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x68649412 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x714e744f dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7508bd2c dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7c0f1e80 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x920cb353 dib0090_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x9e5e0834 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xa75f7d14 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xb313a3c0 dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xe5980885 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mb 0xcd6bf8dc dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x09fd283e dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x34327ac1 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x548ea0fa dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x81ff376c dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x99d0d5ea dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xdb1be7ce dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x3e671d05 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x565782ef dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xaae3ea63 dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xe6b3e957 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000p 0xa011a608 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib8000 0x9a36aa36 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x19c27d41 dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x1df3db96 dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x1fa3e73f dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x2e741a55 dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x3978c269 dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x6ec15881 dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x74e62394 dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x84ce6ff1 dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x9ffb91cd dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xaf85b79b dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xb9c02277 dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xed3df6ea dib9000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xef5a80c5 dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x18c37b76 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x31391383 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x45365098 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x9439bbdd dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xc04f2881 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/drx39xyj/drx39xyj 0xb6568925 drx39xxj_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxd 0xcf08c4ae drxd_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxk 0x5d2f3892 drxk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ds3000 0xc1185896 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb-pll 0xba80081f dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x16907598 dvb_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x3b2d6850 dvb_dummy_fe_qpsk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x90e34c38 dvb_dummy_fe_ofdm_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ec100 0x4d425dcf ec100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x0407d793 helene_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0xd97c8990 helene_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/horus3a 0x68d4536f horus3a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6405 0x014f5353 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6421 0x0bf733b5 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6423 0x07d38640 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/itd1000 0xa1d03ff2 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ix2505v 0x1fcadd03 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/l64781 0x35f2315f l64781_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lg2160 0x50f399c8 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3305 0xebd03d2a lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3306a 0xb21b4681 lgdt3306a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt330x 0x4bf58a87 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gl5 0x65a2347e lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gxx 0xfe61570a lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh25 0xf4d417ad lnbh25_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh29 0x6e8880e2 lnbh29_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0xc967b5cf lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0xd64412ee lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp22 0xf78a974d lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x739e57e9 m88ds3103_get_agc_pwm +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0xf55f8119 m88ds3103_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88rs2000 0xc59527ee m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a16 0x03ae7233 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a20s 0xe8060743 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt312 0x10bb6d63 mt312_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt352 0xeda9b401 mt352_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt200x 0x5bbfe6bd nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt6000 0x6db4368e nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51132 0xad332e6b or51132_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51211 0xf1771f73 or51211_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1409 0x72711bd9 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1411 0xc437f4b5 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x7a0e9123 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0xf87581b8 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1432 0x4a35b82a s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s921 0x34439200 s921_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/si21xx 0x9a0993aa si21xx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp887x 0x2532a45d sp887x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb0899 0xfec08d54 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6000 0xc4473ca4 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6100 0xe5ada71e stb6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0288 0x620b7dfd stv0288_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0297 0xeb9fe540 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0299 0x7efdf35d stv0299_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x4e1a3bf7 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x9aa68eb5 stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0xe9d2ddd0 stv0367ddb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0900 0x9dd63f93 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv090x 0x6b904963 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110 0x8e556792 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110x 0x5ea8a1ea stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10021 0x6e0efef2 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10023 0xc2bf126d tda10023_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10048 0xc8ae9977 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x16f5afc0 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0xe296799a tda10046_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10086 0xf043ac82 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda665x 0x35d785fb tda665x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8083 0x307b67d5 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8261 0x27c15286 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda826x 0xffb322a9 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ts2020 0xaff5a2be ts2020_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tua6100 0x627dc9c1 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1820 0xa0c2ff73 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1x93 0xa0ddf921 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x0fb1f853 zd1301_demod_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x114cc534 zd1301_demod_get_dvb_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10036 0x43f29724 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10039 0x44a4c5f9 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10353 0xe3a4f6bf zl10353_attach +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x0f4a3bc0 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x230a8dd4 flexcop_dma_config +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x36dd2277 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x84c29b5b flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x8fd3676f flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x9e81189a flexcop_dma_free +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xb0493ffe flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x4157ec10 bt878 +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xa70f3849 bt878_device_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xc68f7c17 bt878_stop +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xf22ff878 bt878_start +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0xbd76625c bttv_sub_unregister +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0xf01e084b bttv_get_pcidev +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0xf51a131a bttv_sub_register +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x43a983fd dst_check_sum +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x46053c11 rdc_reset_state +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x5113e74f dst_comm_init +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x58c22bd8 read_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x5badd1fe dst_error_bailout +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x65f33994 dst_pio_disable +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x6803b2d8 dst_error_recovery +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x6d731d1c write_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x8299b79c dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xa8ef56e1 dst_attach +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst_ca 0x4897acbb dst_ca_attach +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x36388699 cx18_release_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x5079a837 cx18_claim_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xd915b045 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xdb6d4745 cx18_ext_init +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xe1c53548 cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x1ab311dc altera_ci_init +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x6ff7510d altera_ci_tuner_reset +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0xdb3faf38 altera_ci_release +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0xe66b9812 altera_ci_irq +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x1c9e40c2 cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x408fee0a cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x44b517f5 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xb02e4398 cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xb8fc71b3 cx25821_dev_get +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xdee5453e cx25821_riscmem_alloc +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe5cb310d cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe9050411 cx25821_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe9d310b5 cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x05369e68 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x6d532d2c vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x2ef40bee cx88_enum_input +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x4e52e7fd cx88_set_freq +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x5ce3921d cx88_querycap +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x87e20b1e cx88_video_mux +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x1b9360e5 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x3da33316 cx8802_start_dma +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x68a74fcc cx8802_buf_queue +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x89841335 cx8802_register_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x8d9cd2e1 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xaa37b6e8 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xbb0cab6d cx8802_get_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x03f23e87 cx88_shutdown +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x08aa30d8 cx88_get_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x0a1d477b cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x1f0a3537 cx88_ir_stop +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x506005fd cx88_core_put +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x5edb7ae5 cx88_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x745efee6 cx88_vdev_init +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x77ea16df cx88_core_get +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7875706f cx88_set_scale +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7942ffb0 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7dfa37bd cx88_reset +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7e680d61 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x8d88137a cx88_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x9a3e4307 cx88_core_irq +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xa3cdee9b cx88_newstation +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xac09d4bd cx88_set_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xb23fe071 cx88_risc_buffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xb3050b48 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xcade3d6a cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xd09d5fb0 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xfd894857 cx88_wakeup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xfe294333 cx88_ir_start +EXPORT_SYMBOL drivers/media/pci/ddbridge/ddbridge-dummy-fe 0x4bc0b13d ddbridge_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x056f9ae4 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x0653d107 ivtv_vapi_result +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x2b2487a7 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x3b3b0a3d ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x3cc7314c ivtv_api +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x6ab01a97 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x71b02565 ivtv_ext_init +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x814cb57f ivtv_vapi +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x819cc887 ivtv_firmware_check +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x868a0343 ivtv_claim_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x915c8877 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xa011f913 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xa9704e7c ivtv_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xae853cc6 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xe6365b4c ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xecdbde20 ivtv_release_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xffaca466 ivtv_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x1211df5d saa7134_devlist +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x206c1eb1 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x2cee7515 saa_dsp_writel +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x2d36b607 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x33e06a91 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x6231e11a saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x70e8fd86 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x730c4be3 saa7134_boards +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7a8e1951 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x810ac32e saa7134_set_gpio +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x8f1ad46b saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xab64bea4 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xae708315 saa7134_ts_register +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xc3757b07 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/radio/tea575x 0x70b9f7b7 snd_tea575x_hw_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0x77c313de snd_tea575x_enum_freq_bands +EXPORT_SYMBOL drivers/media/radio/tea575x 0xb921b925 snd_tea575x_exit +EXPORT_SYMBOL drivers/media/radio/tea575x 0xcb185735 snd_tea575x_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0xe8031548 snd_tea575x_g_tuner +EXPORT_SYMBOL drivers/media/radio/tea575x 0xe97adddf snd_tea575x_set_freq +EXPORT_SYMBOL drivers/media/radio/tea575x 0xff946430 snd_tea575x_s_hw_freq_seek +EXPORT_SYMBOL drivers/media/rc/rc-core 0x01098f88 ir_raw_encode_scancode +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2d6e5a4d ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2fe55cf5 ir_raw_gen_pd +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7a02ee87 ir_raw_gen_pl +EXPORT_SYMBOL drivers/media/rc/rc-core 0xb5516017 ir_raw_encode_carrier +EXPORT_SYMBOL drivers/media/rc/rc-core 0xce3696f3 ir_raw_gen_manchester +EXPORT_SYMBOL drivers/media/rc/rc-core 0xdd955c3e ir_raw_handler_register +EXPORT_SYMBOL drivers/media/tuners/fc0011 0xa3a9d578 fc0011_attach +EXPORT_SYMBOL drivers/media/tuners/fc0012 0xc1c81940 fc0012_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x24ddcca5 fc0013_rc_cal_reset +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x3d5f4b04 fc0013_rc_cal_add +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x3e474716 fc0013_attach +EXPORT_SYMBOL drivers/media/tuners/max2165 0xee444099 max2165_attach +EXPORT_SYMBOL drivers/media/tuners/mc44s803 0xfbe565fb mc44s803_attach +EXPORT_SYMBOL drivers/media/tuners/mt2060 0xcf014fa6 mt2060_attach +EXPORT_SYMBOL drivers/media/tuners/mt2131 0x40ce2e0f mt2131_attach +EXPORT_SYMBOL drivers/media/tuners/mt2266 0x0b0aba22 mt2266_attach +EXPORT_SYMBOL drivers/media/tuners/mxl5005s 0x96149346 mxl5005s_attach +EXPORT_SYMBOL drivers/media/tuners/qt1010 0x26a07f52 qt1010_attach +EXPORT_SYMBOL drivers/media/tuners/tda18218 0x635c4a53 tda18218_attach +EXPORT_SYMBOL drivers/media/tuners/tuner-types 0x4c48939e tuners +EXPORT_SYMBOL drivers/media/tuners/tuner-types 0xc2821775 tuner_count +EXPORT_SYMBOL drivers/media/tuners/xc2028 0x15081bbb xc2028_attach +EXPORT_SYMBOL drivers/media/tuners/xc4000 0x87eca930 xc4000_attach +EXPORT_SYMBOL drivers/media/tuners/xc5000 0x60e261ac xc5000_attach +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x73954d57 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0xc3b52f26 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x1d2a64af dvb_usbv2_suspend +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x36e2290c dvb_usbv2_generic_write_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x75f2780a dvb_usbv2_disconnect +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x945fe3cc dvb_usbv2_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x99ea2c3d dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x9b4fbf05 dvb_usbv2_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xaabfbddd dvb_usbv2_probe +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xbbac1832 dvb_usbv2_generic_rw_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xdfb90623 dvb_usbv2_reset_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x2542aa3d dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x4f4ccd35 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x64adc7e2 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x789956d0 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x8b6f5395 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xa331586a usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xf877077e dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x341530cb rc_map_af9005_table +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x81f5859e af9005_rc_decode +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0xd4e288db rc_map_af9005_table_size +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x1c905c1a dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x69dfea55 dibusb_rc_query +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x83da1db3 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x93822ecb rc_map_dibusb_table +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x94a32fab dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xb3ba6fad dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xc89fcff0 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xe81384e7 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xea6856dd dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xec1c8695 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x62b59749 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0xd297c337 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x33c8c9ed em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0xcfc1ba0a em28xx_register_extension +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x1ac4a7f2 go7007_parse_video_stream +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x3dda3c51 go7007_read_addr +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x4baf076f go7007_read_interrupt +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x4c67ad56 go7007_register_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x537ef92f go7007_snd_remove +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x56ad695f go7007_boot_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x91ac0215 go7007_update_board +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xdd8fed4c go7007_alloc +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xf75b03ce go7007_snd_init +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x20319efd gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x2660bb6b gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x5f3e5f5d gspca_resume +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9dc5ce3b gspca_suspend +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xd0960af2 gspca_disconnect +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xe7e60b4a gspca_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xf168d6fe gspca_frame_add +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xf1b63f1c gspca_dev_probe +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x70ffb542 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x852d9f6e tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0xc436654a tm6000_register_extension +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x08e62395 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x2321225f ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x0ed4000c v4l2_async_subdev_nf_register +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x0fdd5c06 v4l2_async_unregister_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x2aa89fbc v4l2_async_nf_register +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x8c8fcde2 v4l2_async_nf_init +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0xd5e62587 v4l2_async_nf_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0xf8be87f0 v4l2_async_register_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x5352d022 v4l2_m2m_resume +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x76034534 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x8349ddc2 v4l2_m2m_buf_done_and_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xd08592d5 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xf626dd03 v4l2_m2m_suspend +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xf8975b3d v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x06946d8d video_device_alloc +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x082737e8 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0a3ac378 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1068e5e1 v4l2_query_ext_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x11fa0eda v4l2_ctrl_request_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x12527510 v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x185d4c5b v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x258be914 v4l2_ctrl_new_std_menu_items +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x28b12cc9 v4l2_format_info +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2f30e154 v4l2_querymenu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x300cf555 video_ioctl2 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x315de2cf v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x32d43420 v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3b71b171 __v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3bdd0f94 v4l2_prio_change +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4d635a3b __video_register_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4e71d05c __v4l2_ctrl_s_ctrl_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5b075001 video_unregister_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x67468285 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x694b1b4c v4l2_queryctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6edbd609 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x77386494 v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7884acef v4l2_ctrl_handler_init_class +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x795dd251 v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7ec609ed v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7f733e07 v4l2_ctrl_radio_filter +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x89e3897d v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8f2b5967 v4l2_ctrl_subdev_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9047d5b5 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x95d0161f v4l2_ctrl_request_complete +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9941fea6 v4l2_subdev_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x99f72339 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9a17e212 v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9cf8ce4a v4l2_ctrl_new_fwnode_properties +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa0291110 v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa2ccfecf v4l2_ctrl_g_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa41c2bf3 v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa5caa702 v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa5e4d016 video_devdata +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xaf3c5378 v4l2_ctrl_subdev_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb386830b v4l2_ctrl_new_std_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb52ce679 v4l2_subdev_call_wrappers +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb581b656 v4l2_ctrl_notify +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb87f8977 v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb96cfcb1 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbc5671dc v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc2441bdd v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd16d9c01 v4l2_ctrl_get_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe038a321 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2626aa7 v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe5a72847 __v4l2_ctrl_s_ctrl_string +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe87512d9 __v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe999fe65 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xeba4654e v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xece2cba7 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xed18e6b7 video_device_release +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xed378ee0 __v4l2_ctrl_modify_range +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf4e03034 v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf50fecbc v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf606439b __v4l2_ctrl_s_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf730e6a0 video_device_release_empty +EXPORT_SYMBOL drivers/memstick/core/memstick 0x191d5a15 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x1a588e5b memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x21b0106f memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x46007b27 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4a4e5778 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x76237ecb memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xae50437c memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xb4771506 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xba00a51d memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xba37c202 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xbb4e54c7 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xd3f1d8c3 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xed2e6365 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0xfc65acd1 memstick_free_host +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0054a55a mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x00e071f1 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x05326b4a mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0b298f0b mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2235c523 mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2eb673ed mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3287f901 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x395adba3 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x610b257e mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x61bf7f1c mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6a368847 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6e77455b mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x74a0134a mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x76c1e671 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x778b4a18 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7b77497d mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7e5c700b mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8446e30f mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x87dd337f mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x88206b4b mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8897f91e mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x981efe92 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xaebd3db5 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xaf6672e0 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb6c9f113 mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb9beb748 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xbb785bff mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd8d32eba mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdaa1debb mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xde6674dc mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe529d819 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe6c1e126 mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfe66258c mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0df1a939 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1013e1ee mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1f25672e mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x31c2a14e mptscsih_host_attr_groups +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3b1a01e5 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3b557caf mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4125901f mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x44669097 mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4f23ed61 mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5855af14 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8d34eaf5 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8ec1eec8 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9d11102f mptscsih_show_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa0ad16fe mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa447e2cd mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa8a867f4 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb75a012a mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc10fcc53 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc69a29b7 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd1aab71d mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd1aca8cb mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd95b8e8b mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe09d3281 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe22ca798 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe2bccb3a mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe7d0cdd5 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xecde7697 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/mfd/axp20x 0x2a31e7e4 axp20x_device_probe +EXPORT_SYMBOL drivers/mfd/axp20x 0xa5862135 axp20x_device_remove +EXPORT_SYMBOL drivers/mfd/axp20x 0xe99d152c axp20x_match_device +EXPORT_SYMBOL drivers/mfd/dln2 0x97ee9a40 dln2_unregister_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0xcd676a63 dln2_transfer +EXPORT_SYMBOL drivers/mfd/dln2 0xf148729b dln2_register_event_cb +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x57d8e85f pasic3_read_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xc0dbae92 pasic3_write_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x387a5b1e mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x42f91175 mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x44908235 mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x63bbc6ed mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x64febf02 mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x73d598a3 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x997afaea mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xb393590b mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xb4796d2a mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xd1fb7874 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xea39c1c3 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0x0c6ad2cf tps65010_config_vdcdc2 +EXPORT_SYMBOL drivers/mfd/tps65010 0x28485130 tps65010_config_vregs1 +EXPORT_SYMBOL drivers/mfd/tps65010 0x33739de7 tps65010_set_vib +EXPORT_SYMBOL drivers/mfd/tps65010 0x9fd44c69 tps65010_set_led +EXPORT_SYMBOL drivers/mfd/tps65010 0xb14080cc tps65010_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0xd5bb106d tps65010_set_vbus_draw +EXPORT_SYMBOL drivers/mfd/tps65010 0xe99b3f36 tps65010_set_gpio_out_value +EXPORT_SYMBOL drivers/mfd/wm8994 0x24676114 wm1811_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x2fc0bb7d wm8994_irq_exit +EXPORT_SYMBOL drivers/mfd/wm8994 0x306c2bcf wm8994_base_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x3e497ae6 wm8994_irq_init +EXPORT_SYMBOL drivers/mfd/wm8994 0x893fd8a0 wm8994_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xbb056339 wm8958_regmap_config +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x3131ff75 ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x6224e705 ad_dpot_probe +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x5bafa76e altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x7d92e2ee c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0x91cfe2fc c2port_device_register +EXPORT_SYMBOL drivers/misc/mei/mei 0x0975f9fc __tracepoint_mei_pci_cfg_read +EXPORT_SYMBOL drivers/misc/mei/mei 0x0bb25295 __SCT__tp_func_mei_reg_write +EXPORT_SYMBOL drivers/misc/mei/mei 0x14dc7949 __SCT__tp_func_mei_pci_cfg_read +EXPORT_SYMBOL drivers/misc/mei/mei 0x168b3bc7 __traceiter_mei_reg_write +EXPORT_SYMBOL drivers/misc/mei/mei 0x1c711970 __SCK__tp_func_mei_reg_write +EXPORT_SYMBOL drivers/misc/mei/mei 0x34bb54d2 __traceiter_mei_pci_cfg_read +EXPORT_SYMBOL drivers/misc/mei/mei 0x3b0a488d __SCT__tp_func_mei_reg_read +EXPORT_SYMBOL drivers/misc/mei/mei 0x555b74f7 __SCK__tp_func_mei_reg_read +EXPORT_SYMBOL drivers/misc/mei/mei 0x7c331474 __traceiter_mei_reg_read +EXPORT_SYMBOL drivers/misc/mei/mei 0xcb86288c __tracepoint_mei_reg_read +EXPORT_SYMBOL drivers/misc/mei/mei 0xdb386c98 __tracepoint_mei_reg_write +EXPORT_SYMBOL drivers/misc/mei/mei 0xf3cc0ca4 __SCK__tp_func_mei_pci_cfg_read +EXPORT_SYMBOL drivers/misc/tifm_core 0x000acb37 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x0ffb277f tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x2a362473 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x46f0626c tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x4e7e70a8 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x4f4c9573 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x5ca68de6 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x6c705ba1 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x89a09d60 tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x9636b125 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x98f0e162 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xc3d3b0da tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xfba2f6bf tifm_register_driver +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x16b3a031 cqhci_deactivate +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x2716fc32 cqhci_resume +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x423bac59 cqhci_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x4ffc08d9 cqhci_irq +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x7801ea4c cqhci_pltfm_init +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x95bae7f9 mmc_spi_get_pdata +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0xce4ed99a mmc_spi_put_pdata +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x192ff8d5 cfi_build_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x4384f56c cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x6220d602 cfi_merge_status +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x639c3250 cfi_build_cmd_addr +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x942546ea cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xd855dab2 cfi_send_gen_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xef559703 cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xff9fa623 cfi_udelay +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x64900770 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x9304927b register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x99fc03c9 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xe0428346 map_destroy +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0xcfa1e782 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x1c2b1f6d lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0xf22addf9 simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x185c32d1 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/mtd 0xdeb83951 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x021bb480 nand_ecc_register_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x0263b1bc nand_ecc_sw_bch_calculate +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x04aecc97 of_get_nand_ecc_user_config +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x0f5c0ea7 nand_ecc_prepare_io_req +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x1180a32f nand_ecc_cleanup_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x1feb32f1 nand_ecc_get_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x495ed2dd nand_ecc_sw_hamming_correct +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x6e4124f5 nand_ecc_is_strong_enough +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x71a8ddda nand_ecc_init_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x7870fc9c nand_ecc_unregister_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x7a98725e nand_ecc_finish_io_req +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x82bfa5a0 nand_ecc_get_on_die_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x88e73dc5 nand_ecc_sw_hamming_cleanup_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x8ba8c869 nand_ecc_sw_hamming_get_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x97e5a002 nand_ecc_sw_bch_init_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x99dce870 nand_ecc_sw_bch_get_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xa0ffb12f nand_ecc_sw_bch_cleanup_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xa75c9355 nand_ecc_sw_bch_correct +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xb5f616c0 nand_ecc_sw_hamming_calculate +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xe48e6871 nand_ecc_sw_hamming_init_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xe6db989b ecc_sw_hamming_correct +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xeb69805a nand_ecc_get_sw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xff4351b0 ecc_sw_hamming_calculate +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xff80c279 nand_ecc_put_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0x17256882 flexonenand_region +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xa80ac257 onenand_addr +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x30db096f denali_calc_ecc_bytes +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x32c8ef6a denali_init +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x95ccb4b6 denali_remove +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x06dead18 rawnand_dt_parse_gpio_cs +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x20510390 rawnand_sw_bch_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x3645f54a nand_create_bbt +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x3c197d91 nand_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x56cf48e1 rawnand_sw_hamming_calculate +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x7bd1ff9b nand_scan_with_ids +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x83137314 rawnand_sw_bch_correct +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8d609b43 nand_get_set_features_notsupp +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8ecbb3b8 nand_check_erased_ecc_chunk +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x918a10e4 nand_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xa06feb81 rawnand_sw_hamming_cleanup +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xa188ea8f rawnand_sw_bch_cleanup +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xbb7984fd rawnand_sw_hamming_correct +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xc339a32c nand_monolithic_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xd1173cc5 nand_read_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xe3a2ef01 nand_write_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xe7d86a2e nand_monolithic_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xf2b21e1b rawnand_sw_hamming_init +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x0aa29e2d arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x0dbb3bd8 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x11be4c0e arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x1bd707a7 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x39021023 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x4d21c1e4 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x5f5e3d49 free_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x75ff4320 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xa1e4ac11 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xc4d74529 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xca0fa759 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x3cd6b3a9 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xe4c48b30 com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xf128a32c com20020_netdev_ops +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0x3cf26e39 ctucan_probe_common +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0xb8ca9b18 ctucan_resume +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0xe6c48bdc ctucan_suspend +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0246b449 b53_br_leave +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0991c513 b53_disable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x118f8345 b53_br_set_stp_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x1f595f40 b53_setup_devlink_resources +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2c2c12c8 b53_get_ethtool_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x316f19d1 b53_get_tag_protocol +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x35d598da b53_phylink_mac_link_up +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3b1196c6 b53_fdb_dump +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3bdcfb9b b53_switch_detect +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x541151fa b53_vlan_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5844d780 b53_get_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6156bcd4 b53_vlan_filtering +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x64981c49 b53_mirror_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x66b963b5 b53_fdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x77b2276d b53_phylink_mac_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x793bd192 b53_mirror_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7c99cb9f b53_brcm_hdr_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x804da06c b53_br_flags_pre +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8516ba92 b53_configure_vlan +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8828e9a8 b53_mdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8c36d7e5 b53_br_join +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8e43d06d b53_enable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x9320af97 b53_imp_vlan_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x946bf67b b53_br_fast_age +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa9172be5 b53_fdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb0d2a225 b53_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb11db4f7 b53_port_event +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb45547f5 b53_set_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc32c13d3 b53_get_strings +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc37217e8 b53_phylink_mac_link_down +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xcac772da b53_vlan_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd14cccb7 b53_eee_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd1e4d423 b53_mdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd9ec11ef b53_eee_enable_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe84b612c b53_get_ethtool_phy_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xed543dea b53_switch_register +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf9386494 b53_get_sset_count +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xff239fcd b53_br_flags +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x3bea08b1 b53_serdes_phylink_mac_select_pcs +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x51304dff b53_serdes_phylink_get_caps +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x6783e278 b53_serdes_link_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xe9c587e2 b53_serdes_init +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x2c7fcb6c lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x420c9af7 lan9303_remove +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x9ccc1965 lan9303_shutdown +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xada83f40 lan9303_register_set +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0x4f1e1382 ksz8_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0x041cab25 ksz9477_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x4a16cc99 ksz_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0xce4a0147 ksz_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0xe21bc9f6 ksz_switch_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x30ca5aa7 vsc73xx_probe +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x40196309 vsc73xx_shutdown +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x669092a8 vsc73xx_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x99d242fe vsc73xx_is_addr_valid +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x5500d222 xrs700x_switch_remove +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x68209538 xrs700x_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x83b7b667 xrs7003f_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x8972bf7e xrs7004f_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xb12dc8bb xrs700x_switch_register +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xb25facfa xrs7003e_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xb89aa5e3 xrs7004e_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xf1c5cef9 xrs700x_switch_shutdown +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x2b2cd072 ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x62f0a905 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x6f752e1c ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x9666a1ff ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xa0b8bf0c ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xa1308999 ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xaf1eaaef NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xc042615a ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xc1556e72 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xc275729b ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/aquantia/atlantic/atlantic 0x9b089d76 aq_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnxt/bnxt_en 0x57f1ab94 bnxt_ulp_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x818eaef0 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0x09a83a67 cavium_ptp_put +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0x9bc108d1 cavium_ptp_get +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x0d8be5fd bgx_lmac_rx_tx_enable +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x34eeb48a bgx_set_dmac_cam_filter +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x42264715 bgx_get_lmac_count +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x46cdf933 bgx_config_timestamping +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x539ca253 bgx_get_lmac_mac +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x60cd1f2f bgx_lmac_get_pfc +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x6ca2152d bgx_lmac_set_pfc +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x716fd7f0 bgx_reset_xcast_mode +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x72b238e4 bgx_get_rx_stats +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xbe654297 bgx_get_tx_stats +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xc397f585 bgx_lmac_internal_loopback +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xc82be691 bgx_get_map +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xd8ed0bcc bgx_set_lmac_mac +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xf101d1b2 bgx_get_lmac_link_state +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xff987a02 bgx_set_xcast_mode +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_xcv 0x13912e4b xcv_init_hw +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_xcv 0x4f739dc0 xcv_setup_link +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x208bb920 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x26d44e00 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x2de54ff2 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x36cc726a cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4949fe27 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4ecc2434 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4fc2a5cd cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x63c5a6c0 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xa95fd0c3 t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xb4706d7e cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xb89601fe cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xbff9ee72 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xc4afb72f cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xcb71625d t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd6caf828 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf6c9d71f t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x066a9480 cxgb4_get_srq_entry +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0caa58a2 cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0f1a5528 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1957103b t4_cleanup_clip_tbl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x199facbb cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1f7983ed cxgb4_write_partial_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x212995a9 cxgb4_read_tpte +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x21c81e3c cxgb4_alloc_sftid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x22b8dd4b cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x22ffb16f cxgb4_immdata_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x347844c2 cxgb4_write_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x37899231 cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x428555b5 cxgb4_clip_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4b36f95f cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4c546e41 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4fe03dfd cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50ee5c07 cxgb4_best_aligned_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x528b5141 cxgb4_map_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5d86edcb cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x69c38b98 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6e3f1b53 cxgb4_read_sge_timestamp +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7042b5a9 cxgb4_remove_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7a137071 cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7a5807ec cxgb4_clip_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7cb6d717 cxgb4_check_l2t_valid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x845930e0 cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x85da1842 cxgb4_smt_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x91320653 cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x91723b9a cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9ee81d96 cxgb4_l2t_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9f8ece3d cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9ff57586 cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa279cbb2 cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa4a2e7dd cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa50bef01 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa8db193f cxgb4_smt_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xaa3b4741 cxgb4_ring_tx_db +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xad55f275 cxgb4_remove_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xadf51d0f cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb7df2aa9 cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbe44baf4 cxgb4_port_e2cchan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc3ed3244 cxgb4_create_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc7c8ad46 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xca14c238 cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xcdd524be cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xeba7bc8d cxgb4_create_server6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf3a895d3 cxgb4_update_root_dev_clip +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf526d7c2 cxgb4_inline_tx_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfd2cf744 cxgb4_reclaim_completed_tx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x1bdaafe1 cxgbi_tagmask_set +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x255ab30f cxgb_get_4tuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x3fc13d85 cxgbi_ppm_ppods_reserve +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x5d7a99b9 cxgb_find_route +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x6ad243b3 cxgbi_ppm_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xb0f90377 cxgbi_ppm_make_ppod_hdr +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xc0965988 cxgbi_ppm_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xd529c38c cxgbi_ppm_ppod_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xf2546d1f cxgb_find_route6 +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x3b0e3395 enic_api_devcmd_proxy_by_index +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x4f879184 vnic_dev_unregister +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x9d4945fc vnic_dev_get_pdev +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xafe03fee vnic_dev_get_res_count +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xdb86f044 vnic_dev_register +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xf56bfcd7 vnic_dev_get_res +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x0db5f785 be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x4e2e10d2 be_roce_mcc_cmd +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x7e95cf6d be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x010ec147 fun_reserve_irqs +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x89eacc2e fun_dev_disable +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0xdef9decd fun_release_irqs +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0xf50f7134 fun_dev_enable +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x0a8021aa iavf_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x5da42934 iavf_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/ice/ice 0x965ff908 ice_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/intel/ixgbe/ixgbe 0xbaa35511 ixgbe_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/marvell/prestera/prestera 0x12b3157a prestera_device_unregister +EXPORT_SYMBOL drivers/net/ethernet/marvell/prestera/prestera 0x50c754aa prestera_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0932bd5d mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x09a9bef4 mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0b46c0a3 mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0b862991 mlx4_query_diag_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1172f053 mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x248b0b30 mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2b5792b3 mlx4_get_parav_qkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2f0978fb mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3d8d5f37 mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4074eec5 mlx4_get_eqs_per_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x450b59d8 mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4eb57bda mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4f5712ff set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x529e569c mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5403bdd4 mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x57325851 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x57e9a85d mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5d2f9d57 mlx4_test_async +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6348a606 mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x654abc70 mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x67d8be36 mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x693d777b mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7422c8d1 set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x79fd0331 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fdde0b4 mlx4_handle_eth_header_mcast_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x854a2544 get_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x86882979 mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8b6e616d mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x95f9f841 mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x978dc200 mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9dd234d1 mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa509829a mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xab362190 mlx4_gen_port_state_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb111d105 mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb160856a mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb1fff2ed mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc7d142f0 mlx4_SET_PORT_user_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcad14ea6 mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xce17858d mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xce702071 mlx4_sync_pkey_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd938ec83 mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xebd551c0 mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeff79535 mlx4_SET_PORT_user_mtu +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf1e21a7b mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfe53ac0c mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x037b795f mlx5_is_roce_on +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x07ef14f8 mlx5_lag_get_peer_mdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x094cd8c0 mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0a21b020 __traceiter_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0aa18d52 mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0b035466 mlx5_sriov_blocking_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0cc1b57e mlx5_rsc_dump_next +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x15d4717c mlx5_lag_is_master +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x17cba68f mlx5_lag_is_shared_fdb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x18d664f0 __SCK__tp_func_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x19bd541a mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1aa314a0 mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1c57c524 __traceiter_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1c71e3f0 mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1d9f3b9b mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1fbb12f1 __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2124a675 mlx5_vf_put_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x22e4122f mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x247e01f5 __traceiter_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x278ab40c __traceiter_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x286f023a mlx5_core_alloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x28f21ce6 mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x297d0422 mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2aae2b0d __SCK__tp_func_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2df1cd97 mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2e631968 mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x313394de mlx5_create_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3502390e mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3528c1c7 mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x35f832e4 __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3750c4b0 mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3956791e __traceiter_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3a898692 mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e9b0cfb mlx5_vf_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x43543fba mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x44d22866 mlx5_mpfs_del_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4edc7147 mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4ede984f mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4fda3240 mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x51538f41 mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x543c44d9 mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x567dd200 mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x574328f0 mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x588f21d7 mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5a23f213 mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5a386fbb mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5b35f08d mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5b6994df mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5c6e2b0d mlx5_create_flow_group +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5c98722d __SCK__tp_func_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5d8202b4 mlx5_mpfs_add_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5eb5bb1e mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5f358d49 mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x60ea97e9 mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x61492bb7 mlx5_rl_are_equal +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x62dc190a __SCT__tp_func_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x632b7f25 mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6376be87 mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6474b295 mlx5_cmd_out_err +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x69d8e30b mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6b3b294e mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6daaed63 __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6f5799ff mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x735a17c1 mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x78a410cb mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x79392562 __SCK__tp_func_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7b153775 mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7dad3aef __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7e545363 __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x818095fd mlx5_cmd_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81c6d02b mlx5_eswitch_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81fb5ca2 mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x85dbc1ba mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8674a61e mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x89772979 mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8c12f637 mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8c44d2b7 mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8d422e33 mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8e486bc2 mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9007e9bd mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x90296240 mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x90f486f4 mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x91d50584 mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x932228e9 mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x95df4f3f mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x963c6ef4 mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9693d725 mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96eb2c99 mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x98e7b144 mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d36ddd0 __SCT__tp_func_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d917135 mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d95a2bf mlx5_debugfs_get_dev_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d9d3a1c mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9f7c20bb __SCK__tp_func_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa1ec154b mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa2c31b5c __traceiter_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa376089e mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa6451b14 mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa8f9cb72 mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaa978a95 mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xab521f6e __traceiter_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xab9a5e8f mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xac038a20 __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xacfe8a18 __SCT__tp_func_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xad6815cd mlx5_rsc_dump_cmd_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb06c0bfd __SCT__tp_func_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb0fe4bbc mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb1c2d333 __SCK__tp_func_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb28dbbe8 mlx5_destroy_flow_group +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb2d628f2 mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb444e7a8 mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb4c1009e mlx5_sriov_blocking_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb4e976bb __SCT__tp_func_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb6afa532 __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb6f9d9e7 mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba5c2f4f __traceiter_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbaec6cb6 mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbb088b3d mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbd07c03f mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbe21ce1c mlx5_cmd_do +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc07afc8e mlx5_rsc_dump_cmd_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc25e7967 mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc30d9732 mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc4412afb mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc563cae9 __SCK__tp_func_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc6b04191 mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc7a55310 mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc8230cae mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc87f3159 __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc9a5f3d3 mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc9a91098 mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcad019c3 __SCT__tp_func_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc002b85 mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc78b02e mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xccd4c20e mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xce2508fb mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xce3baa3b mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xce6ebaa6 mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd020dd1f __traceiter_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd02d92a1 __SCK__tp_func_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd15625c9 mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd2aa89e1 mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd2f17aaa mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd740e4a0 __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd87b3a3a mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdb622108 __SCT__tp_func_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdfbc08aa __SCT__tp_func_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe0a42182 mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe1c80968 mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe30fb2a8 __SCT__tp_func_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe3e5efcb mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe5ad0cad mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe5fa7749 mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe6419b5d mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe7b0f49e __SCK__tp_func_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe7cf4f7c mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe8969ba6 mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xebd85d30 mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xec111903 mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf1a648f4 mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf2c68cd1 mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf3419710 mlx5_query_ib_port_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf3680a96 mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf4436a24 mlx5_lag_get_num_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf690ebd7 mlx5_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf8bd1bb6 mlx5_eswitch_get_vport_metadata_for_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf8f12db7 mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfebbee49 mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0xaf1a42d8 mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x00888689 mlxsw_core_ptp_transmitted +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0137f952 mlxsw_afk_values_add_buf +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02815b77 mlxsw_env_module_port_up +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02dfd3d0 mlxsw_afk_key_info_block_encoding_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x07abcc0c mlxsw_afa_block_append_trap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x081eaf7e mlxsw_core_bus_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x087c0c78 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0ca34ccf mlxsw_core_max_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e09962b mlxsw_core_traps_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x10d3c264 mlxsw_core_port_is_xm +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x14e17bb4 mlxsw_linecards_event_ops_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x15801382 mlxsw_afk_key_info_put +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x18b0ad00 mlxsw_afa_block_append_police +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x19fa5852 mlxsw_core_flush_owq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1a8adb48 mlxsw_core_skb_transmit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1c6605f6 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1cb8f858 mlxsw_reg_trans_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x202693f0 mlxsw_afa_block_cur_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x21daf3af mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x240f737e mlxsw_core_rx_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2a4ddd44 mlxsw_env_get_module_power_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x378a4081 mlxsw_afa_block_append_mirror +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x38185d87 mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x39e77c61 mlxsw_env_get_module_eeprom +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4036254f mlxsw_linecards_event_ops_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x406b4614 mlxsw_afa_block_append_counter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x43a9b87e mlxsw_afa_block_terminate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x47041e4e mlxsw_afk_key_info_blocks_count_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x484489a4 mlxsw_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4b0bae55 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4e6be521 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x508923e3 mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x51b5769d mlxsw_env_module_overheat_counter_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x55a65610 mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5a099407 mlxsw_afa_block_append_qos_dscp +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5a939205 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5cf3dd79 mlxsw_core_bus_device_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5ff17b5c mlxsw_afa_block_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x618a30ab mlxsw_afa_block_commit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x63874d4c mlxsw_core_port_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x65e16da4 mlxsw_afk_key_info_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6929f2b4 mlxsw_env_module_port_map +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x70c06bb9 mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7281acc7 mlxsw_core_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73489011 mlxsw_afa_block_append_ip +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x75339042 mlxsw_core_lag_mapping_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x76f85aa0 mlxsw_core_trap_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77d83398 mlxsw_core_read_frc_l +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7b0bfeec mlxsw_core_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7ca5b4d4 mlxsw_afa_block_append_sampler +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7e08c6e0 mlxsw_core_event_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7f659d4c mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x827a2f1f mlxsw_afa_block_jump +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x829e8851 mlxsw_afa_block_first_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x83fb69af mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x858c30d0 mlxsw_afa_block_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8854d198 mlxsw_reg_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8f13ed14 mlxsw_afa_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x902c3533 mlxsw_core_schedule_dw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x944d5e6e mlxsw_core_rx_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x963cfb6a mlxsw_core_resources_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x97035a9c mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x97e62e6e mlxsw_env_get_module_eeprom_by_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x98bfa19b mlxsw_env_set_module_power_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x996c5d6d mlxsw_reg_trans_bulk_wait +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x9cbf026d mlxsw_afa_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x9e41f494 mlxsw_afk_encode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa597aead mlxsw_core_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7765e88 mlxsw_reg_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa8cccf0b mlxsw_core_port_devlink_port_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xac1074a5 mlxsw_core_skb_transmit_busy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb6517b2e mlxsw_afa_block_append_trap_and_forward +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb68e9fa8 mlxsw_env_module_port_unmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb6b40684 mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xba05b3b0 mlxsw_core_emad_string_tlv_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbc222a8d mlxsw_afk_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbe6ce463 mlxsw_core_trap_state_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfb7df3c mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xcbab836f mlxsw_core_fw_rev_minor_subminor_validate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd28256cf mlxsw_afa_block_append_allocated_counter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd71566b9 mlxsw_core_schedule_work +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd7a93413 mlxsw_core_event_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd84eb6b0 mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd9f711ae mlxsw_afa_block_append_mcrouter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdc2125b9 mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdc31781e mlxsw_reg_trans_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdc415cf1 mlxsw_afa_block_continue +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xde4e211f mlxsw_afa_block_append_l4port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xde8f2b7f mlxsw_core_port_eth_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeab0691 mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeb1dc2e mlxsw_afa_block_first_kvdl_index +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe16986dd mlxsw_afa_block_activity_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe5540be5 mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xeadf1fd3 mlxsw_env_reset_module +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xecab212a mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xed2801d4 mlxsw_env_module_port_down +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xeda7a5d0 mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xee1e4c85 mlxsw_core_traps_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf82bdc70 mlxsw_core_lag_mapping_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf9546f17 mlxsw_core_trap_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xff007c25 mlxsw_core_cpu_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x2368fe50 mlxsw_i2c_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0xac436786 mlxsw_i2c_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x573e7935 mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x9fd3c52e mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x03c2868e ocelot_drain_cpu_queue +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x04629ecd ocelot_ptp_settime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x06e79e1b ocelot_mact_learn_streamdata +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0706da32 ocelot_mrp_del_ring_role +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0a5514e5 ocelot_get_ethtool_stats +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0e670137 ocelot_port_mdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0e8509ad ocelot_port_set_maxlen +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0eb4206f ocelot_deinit +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0f6caf28 ocelot_devlink_sb_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x14f46f23 ocelot_sb_port_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x19453204 vsc7514_vcap_is1_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1a40c2d3 ocelot_can_inject +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1bc6f0dc ocelot_fdb_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x234e5207 ocelot_vcap_filter_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x274a0e05 ocelot_port_fdb_do_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2eb0c8df ocelot_deinit_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2ee2eeab ocelot_vcap_block_find_filter_by_id +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x31bd1f1e ocelot_sb_occ_max_clear +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x31dd81a4 ocelot_sb_tc_pool_bind_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x33d85476 ocelot_mrp_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x39cc2207 ocelot_port_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3baf9451 ocelot_get_ts_info +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3d3d5c12 ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3da2f3ee ocelot_ptp_gettime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4271543f vsc7514_vcap_es0_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x46048c35 ocelot_mrp_add_ring_role +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4fa3175e ocelot_mact_learn +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x51001474 ocelot_port_bridge_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x559cb392 ocelot_vlan_prepare +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x57f75a4e ocelot_port_lag_change +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5838d8c0 ocelot_get_strings +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x61d71762 ocelot_sb_port_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x672e991f ocelot_devlink_sb_register +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x67ed6c42 ocelot_vcap_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6d83c2e4 ocelot_sb_occ_snapshot +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7108f078 ocelot_vcap_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7c8fe184 ocelot_ptp_adjtime +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7de36463 ocelot_hwstamp_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x80a58ce5 ocelot_ptp_rx_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x80a75405 vsc7514_vcap_is2_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8380e178 ocelot_port_inject_frame +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x85e3d49e ocelot_bridge_stp_state_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x86388358 ocelot_policer_validate +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x89462ddc ocelot_port_mdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8d1ea681 ocelot_ptp_verify +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8d496919 ocelot_vcap_filter_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x90cbb220 vsc7514_vcap_is2_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x93176471 ocelot_sb_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9381969d vsc7514_ana_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x93e816ce ocelot_hwstamp_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x98e2bc4d ocelot_deinit_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9c9de5f4 ocelot_sb_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9d442141 vsc7514_rew_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9e7b6cd8 ocelot_port_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9eaa1dbe ocelot_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9f979aec ocelot_ptp_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa0e8ff29 ocelot_port_lag_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa8413d7e vsc7514_sys_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa9b1e443 ocelot_port_vlan_filtering +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xaafbc7cc ocelot_init_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb30c4b92 vsc7514_ptp_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb4c6e879 ocelot_port_lag_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb6d40b3a ocelot_set_ageing_time +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbba17367 vsc7514_qsys_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbf48ddc1 vsc7514_qs_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc503b40e ocelot_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc8937194 ocelot_port_bridge_flags +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc8f2b57b ocelot_vcap_filter_replace +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc9e21979 ocelot_xtr_poll_frame +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xcd58c2b1 ocelot_sb_occ_tc_port_bind_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xceed5e7e vsc7514_dev_gmii_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xcfc61a39 ocelot_mact_lookup +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd040ff4f ocelot_get_txtstamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd0ebefd9 ocelot_ifh_port_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd6227bc0 ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd687a545 vsc7514_vcap_es0_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd7f70d80 ocelot_get_sset_count +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd8571a67 ocelot_mact_forget +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xde998177 ocelot_port_pre_bridge_flags +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe191d6ef ocelot_port_txtstamp_request +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe3bc09d8 ocelot_fdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe41c84e2 ocelot_fdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe9a4cd70 ocelot_init_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xea1b5ac9 vsc7514_vcap_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xea3e105c ocelot_sb_tc_pool_bind_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xecaa97fb vsc7514_vcap_is1_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xecfbfd6e ocelot_vlan_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf05f8939 ocelot_mrp_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf777324d ocelot_vlan_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xfcf9762c ocelot_sb_occ_port_pool_get +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x4f264472 qed_put_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x992e03d0 qed_put_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x9eeeef48 qed_put_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0xb8dde80e qed_get_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0xd3b80efc qed_get_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0xe496fa74 qed_get_rdma_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0xf7f7f5be qed_get_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0x3db8ed49 qede_rdma_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0x75a3ed75 qede_rdma_register_driver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x01c16c16 hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x48ba919e hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x6ef6b8f5 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x75d18103 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xef7f9096 hdlcdrv_register +EXPORT_SYMBOL drivers/net/mdio 0x3e17f466 mdio_set_flag +EXPORT_SYMBOL drivers/net/mdio 0x60443957 mdio45_probe +EXPORT_SYMBOL drivers/net/mdio 0x63e0fee5 mdio45_links_ok +EXPORT_SYMBOL drivers/net/mdio 0xaadfd1af mdio45_ethtool_ksettings_get_npage +EXPORT_SYMBOL drivers/net/mdio 0xb79a54ee mdio45_nway_restart +EXPORT_SYMBOL drivers/net/mdio 0xcdbdeca7 mdio45_ethtool_gset_npage +EXPORT_SYMBOL drivers/net/mdio 0xdaceb7a6 mdio_mii_ioctl +EXPORT_SYMBOL drivers/net/mdio/mdio-bitbang 0x1e387827 alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/mdio/mdio-bitbang 0x6d2bee18 mdiobb_read +EXPORT_SYMBOL drivers/net/mdio/mdio-bitbang 0xd42653a8 free_mdio_bitbang +EXPORT_SYMBOL drivers/net/mdio/mdio-bitbang 0xd7fc37fa mdiobb_write +EXPORT_SYMBOL drivers/net/mdio/mdio-cavium 0x0df696ef cavium_mdiobus_write +EXPORT_SYMBOL drivers/net/mdio/mdio-cavium 0x695a0632 cavium_mdiobus_read +EXPORT_SYMBOL drivers/net/mdio/mdio-mscc-miim 0x4af972cc mscc_miim_setup +EXPORT_SYMBOL drivers/net/mii 0x21b5a0cd mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0x58dcf71d mii_ethtool_set_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0x6527ef27 mii_ethtool_get_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0x6a9d7a17 mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0x8cec5790 mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0xa4fc06bb mii_check_media +EXPORT_SYMBOL drivers/net/mii 0xab092221 mii_check_link +EXPORT_SYMBOL drivers/net/mii 0xb961d93e generic_mii_ioctl +EXPORT_SYMBOL drivers/net/mii 0xc8ae23e3 mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0xe06ecc0a mii_ethtool_gset +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0x0877a857 lynx_pcs_create +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0xa22bf5b8 lynx_get_mdio_device +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0xa6bf0e9e lynx_pcs_destroy +EXPORT_SYMBOL drivers/net/phy/bcm-phy-lib 0x4a18cdc3 bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/ppp/pppox 0x15766442 pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0x3fe7c37a register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0x5a070c3a pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0xc872abcd pppox_compat_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/sungem_phy 0xf5f00ddd sungem_phy_probe +EXPORT_SYMBOL drivers/net/team/team 0x03a52267 team_options_unregister +EXPORT_SYMBOL drivers/net/team/team 0x410d9fb0 team_options_register +EXPORT_SYMBOL drivers/net/team/team 0x423031e3 team_options_change_check +EXPORT_SYMBOL drivers/net/team/team 0x87e2b094 team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0x95b18f57 team_modeop_port_enter +EXPORT_SYMBOL drivers/net/team/team 0x96495f0e team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0xa40e69db team_option_inst_set_change +EXPORT_SYMBOL drivers/net/team/team 0xd04b7479 team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/usb/usbnet 0xaf05cdb3 usbnet_link_change +EXPORT_SYMBOL drivers/net/usb/usbnet 0xcda833d0 usbnet_manage_power +EXPORT_SYMBOL drivers/net/usb/usbnet 0xfcdf6ea6 usbnet_device_suggests_idle +EXPORT_SYMBOL drivers/net/wan/hdlc 0x0ed38478 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x235e2abe unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x2ca5ff69 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x6c9fbb96 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x844d1793 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xb997fc5b hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc2a2ca45 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd23283d6 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd95ad21d register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xe5714b92 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0052722d ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x03e8a7c7 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0b1ab353 ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x108b188f ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x19d16539 ath_hw_keysetmac +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4571aea8 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x47c70ee8 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7878770c ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x8b18216b ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x8eda653a ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa18f224e ath_regd_find_country_by_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa72a358d ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb6588ba6 ath_bus_type_strings +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd35a1b77 ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xdba2da6f dfs_pattern_detector_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf02e8e9a ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xfbb49b54 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xfc1e4b18 ath_is_mybeacon +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x00b2404b ath10k_ce_enable_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x015e5db2 ath10k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x04ee20f6 ath10k_mac_tx_push_pending +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x06cd40a4 ath10k_ce_alloc_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x08569ee5 ath10k_coredump_get_mem_layout +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x08b2a260 ath10k_core_register +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0afeedcf ath10k_ce_completed_send_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0dfd4897 ath10k_ce_disable_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1068cfaa ath10k_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x122994b5 ath10k_htt_txrx_compl_task +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2083ba20 __ath10k_ce_rx_num_free_bufs +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x28f28ce9 ath10k_bmi_read_memory +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2b92c776 ath10k_ce_dump_registers +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2ca84fc8 ath10k_htc_notify_tx_completion +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2facf9bb ath10k_ce_init_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x34bec8b5 ath10k_coredump_new +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x350b4529 ath10k_ce_completed_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3841dbad ath10k_htt_rx_pktlog_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3a413054 ath10k_ce_per_engine_service_any +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3d245093 ath10k_ce_rx_update_write_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x427355c9 ath10k_ce_free_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4b610f34 ath10k_htc_rx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5302234d ath10k_core_fetch_board_file +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x55e957da ath10k_bmi_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5880469d ath10k_ce_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x65fd561f ath10k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6915b56c ath10k_core_free_board_files +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6d71b276 __tracepoint_ath10k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x70b823eb ath10k_ce_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x723eb998 ath10k_ce_alloc_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7285d1e2 ath10k_htt_t2h_msg_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x761c540b __ath10k_ce_send_revert +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7a942a40 ath10k_core_check_dt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7e00870f ath10k_ce_revoke_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8351140d ath10k_core_unregister +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8472d92b ath10k_ce_send_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9ce48c09 ath10k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb1978f51 ath10k_core_napi_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb6d472b4 ath10k_htc_tx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb8fd3748 ath10k_htt_hif_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc24dfed0 ath10k_core_napi_sync_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc2bbed8a ath10k_core_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xca767e2a ath10k_htt_rx_hl_indication +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcb188242 ath10k_ce_completed_recv_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcd2cd742 ath10k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcfd86259 ath10k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd10bd8b3 ath10k_ce_free_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd2df985e ath10k_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd75880fe ath10k_ce_deinit_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xdc06b4e0 ath10k_ce_send +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe28c3cd1 ath10k_htc_process_trailer +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe8835416 ath10k_ce_num_free_src_entries +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xebf72c96 ath10k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf240d35b ath10k_ce_completed_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf44154fd ath10k_core_start_recovery +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf51e66ce ath10k_ce_cancel_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfc2fb82d ath10k_core_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfebabeaa ath10k_print_driver_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x0fb7090d ath11k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x12c9bf05 ath11k_qmi_deinit_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x17c7e9e7 ath11k_pcic_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x2bf06582 ath11k_pcic_free_irq +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x2d2ff636 ath11k_pcic_ce_irq_disable_sync +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x383a9624 ath11k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x389558e8 ath11k_ce_get_shadow_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x3da6bd28 ath11k_ce_cleanup_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x3e2c7031 ath11k_pcic_get_user_msi_assignment +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x3fa58c79 ath11k_core_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x430bfa28 ath11k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x48def4c1 ath11k_core_pre_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x5a282946 ath11k_pcic_map_service_to_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x5e88b074 ath11k_hal_srng_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x75049e01 ath11k_pcic_read32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7af47833 ath11k_core_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7d6fc5ba ath11k_pcic_ce_irqs_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x862cbb2e ath11k_debugfs_soc_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x951c96a0 ath11k_ce_alloc_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x962b67b8 ath11k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x9c51bcc4 ath11k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x9e526692 ath11k_pcic_register_pci_ops +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xa180ab38 ath11k_dp_service_srng +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xa875d5f2 ath11k_pcic_get_ce_msi_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xadb47d90 ath11k_pcic_config_irq +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xaee65589 ath11k_pcic_get_msi_address +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xb0568d09 ath11k_hal_srng_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xc3219c47 ath11k_core_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xc6175583 ath11k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xcb2ca3f5 ath11k_pcic_init_msi_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xd3c53777 ath11k_ce_get_attr_flags +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xdde382b6 ath11k_pcic_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xdeb468c7 ath11k_ce_free_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xe8885ac3 ath11k_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xef5e04c1 ath11k_pcic_ext_irq_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf0197188 ath11k_cold_boot_cal +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf5418cae ath11k_pcic_ext_irq_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf86864a5 ath11k_pcic_write32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xfb40cad5 ath11k_core_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xfc2e5381 ath11k_core_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xfc595efc __tracepoint_ath11k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x0eaf181f ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1354043d ath6kl_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x172d4882 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3502feef ath6kl_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x775afd53 ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x8401e071 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x97632fc6 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xa8fc6fed ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xa9656c37 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb646fcb4 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb881b1a9 ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb9a689dd ath6kl_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xc81b3498 ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xf2f200c5 ath6kl_read_tgt_stats +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xfa905a59 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x10534578 ath9k_cmn_spectral_init_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x13f0c703 ath9k_cmn_beacon_config_adhoc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x17714724 ath9k_cmn_debug_recv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x219b3856 ath9k_cmn_debug_modal_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x26065a21 ath9k_cmn_get_channel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2674a529 ath9k_cmn_process_rate +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2b7d4df7 ath_cmn_process_fft +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2c770c90 ath9k_cmn_setup_ht_cap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x31182c76 ath9k_cmn_beacon_config_sta +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x38d6edf1 ath9k_cmn_reload_chainmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3f72eacc ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x41aae67b ath9k_cmn_debug_stat_rx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x52403e96 ath9k_cmn_beacon_config_ap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x672825b0 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x89bf711b ath9k_cmn_rx_accept +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x90a78d7d ath9k_cmn_rx_skb_postprocess +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xa406f7c0 ath9k_cmn_spectral_scan_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xabd57e0b ath9k_cmn_init_channels_rates +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb1e21841 ath9k_cmn_spectral_deinit_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xbf531056 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xca038a26 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd35e52e3 ath9k_cmn_process_rssi +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd8e548f2 ath9k_cmn_debug_base_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xe2d6a03b ath9k_cmn_spectral_scan_trigger +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x003119a1 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x01412858 ath9k_hw_btcoex_set_concur_txprio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x016614db ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x01fdffb7 ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x051df281 ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x06c6dc97 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x092f5d06 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0cf6cea3 ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f77dafc ath9k_hw_get_tsf_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1251da88 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x12783aca ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1319f0dc ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x13be07ae ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x19c98430 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1b0e0a4f ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1b9d915e ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1e0ced9d ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1ea53d93 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1f272f23 ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1fb596ed ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x208ba0fb ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x20b4f9d7 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2134e6c1 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x21dffa29 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x25b67718 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x28ee5a13 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x290c66d4 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2b42fbbd ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2fd196d7 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x30bfe438 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x328044df ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x366ddc71 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x36ea8c46 ath9k_hw_kill_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3b5abfcb ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3d0cdcc3 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3e6c1022 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3f25e9bc ath9k_hw_gpio_request_out +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x41e99cd9 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x444988bd ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x457b1697 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x46dd243b ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x49fa72e7 ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4b541c54 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4c17041a ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4c603908 ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x576388a4 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x594f8f8b ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x598e5c40 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x59c01ad5 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x60e82ebb ath9k_hw_set_tx_filter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x68253b64 ath9k_hw_btcoex_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x69d3e05f ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6b101588 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6be6de14 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6e9e2379 ath9k_hw_loadnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7051dc6b ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x74f2ee94 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x832ceeae ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x86250d19 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x87a1a9f9 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8dfa71c7 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8f852d52 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x90656239 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x915d1a13 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x938e6b77 ath9k_hw_wow_wakeup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9435b940 ar9003_mci_get_next_gpm_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x99b123f3 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9cc9f420 ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9f5d8be0 ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa01f2e5f ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa236a4d8 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa6c9f944 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa908073e ath9k_hw_gpio_request_in +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xacef253c ath9k_hw_check_nav +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xae22c60c ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb1a4f1de ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb3aa95a5 ar9003_is_paprd_enabled +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbbc27244 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbf7ace10 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc05548bc ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc20d9178 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc2b8ae4e ar9003_mci_set_bt_version +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc3042715 ath9k_hw_wow_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc51d0a12 ath9k_hw_wow_apply_pattern +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcb5c7f63 ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcccc05e4 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd0163264 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd0c760a2 ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd16e4acc ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd54b0c03 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd5b38cff ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd7349109 ar9003_hw_bb_watchdog_check +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd75d0487 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd928ab85 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdc5ae3f7 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xddfdcccf ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe42786e0 ath9k_hw_resume_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe50e229c ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe881fe9a ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe8f93043 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xec3557ce ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xed0dfe1b ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf026909d ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf6738f11 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf7c427ff ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfaec38df ar9003_mci_send_wlan_channels +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfb7c3d3d ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xffe4ac00 ath9k_hw_gpio_free +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x4339d558 atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x4b7caac2 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xc263df27 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x04ebd9f2 brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x087cad32 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x107b4d64 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x11ac4a87 brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1906648e brcmu_boardrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x5eacf8ad brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x670a62dc brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7467b4ca brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x8973a933 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x9b5a4153 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xa17c0ccf brcmu_dotrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd584b4dc brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd6217d91 brcmu_d11_attach +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xf56ff143 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xf5fc9c97 brcmu_pktq_pdeq_match +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xf9bb5f57 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0x5653dda5 init_airo_card +EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0x6c6a6237 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0x7535b9a5 stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x06d0c93b libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x216d744c libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x2835079f libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x30fd0097 libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x312428f4 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6488bbb4 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6b82b23d libipw_rx +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x75de354c free_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7d08be7f alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x8a16c71d libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xb8f597bf libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xba0706bd libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xd78c3f81 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xdd7039c6 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xdd81820e libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xe34408b7 libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xe629e860 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xeaef43b8 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xf5684b18 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xf5c78e12 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x05cd0de2 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x09a93107 il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0c2fc073 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0c47783a il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0c655f5e il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0da4ef6a il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1065ac66 il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x11a3e84a il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x11d0d4a2 il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x121bd976 il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x172a1911 il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x188f1ff6 il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x19a083e7 il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1b02e845 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1ce19ce1 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x206d8350 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x255f4de7 il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x28aa466e il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2b5d6669 il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2b713e08 il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2bf7eea6 il_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2fca0e95 il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3033da83 il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x31c668ac il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x376c9b8d il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3a41ec47 il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3c69221e il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3d588fc7 il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3d9c0a5f il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3f40751e il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4108a65a il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x415fb5aa il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416bd26a il_debug_level +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x42348ed7 il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x444be1e4 il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4dafb748 il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4fb6b5e8 il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x53421208 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x567f0a69 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x57c557d7 il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x596595b6 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x597d89a3 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6b4266d5 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6bf4feba il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6c6dad2e il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6db29ca4 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x70e519ad il_force_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x71e26ebf il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x72703b6c il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x72a50c0e il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7808dc80 il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x798b208d il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x79d00e80 il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7f600ce8 il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x821d3ab8 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x824e5923 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x83cdd3bb il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x851401eb il_init_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x86bad89f il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x87830a60 il_free_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x87b7de7f il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x898c352a il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8b0a7736 il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8f8ab5e7 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x910952be il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x918abe27 il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x940c2092 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x95c6e6b8 il_set_rate +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x95f488d4 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x990f84bf il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9c596ec2 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9cc714af il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xacc9e148 il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xae492ff1 il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb65510a3 il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb7bd33ff il_isr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbbde74b6 il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc12c0373 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc13b5e4c il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc13df324 il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc1b7895e il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc2581374 _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc279da1d il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc93ef71e il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc9b59071 il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcc52cabe il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcf6a5b2a il_leds_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd03deda6 il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd3463006 il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd5de246f il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdc429300 il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdcd67f46 il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdf47c264 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe1cd284f _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe2c66286 il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe48c01f9 il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe558786d il_mac_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe901f2d1 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe9f075e5 il_update_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xed6dd8a4 il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xede31d17 il_mac_flush +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf26b9f2f il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf39f769c il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf70a693b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x042a4a27 __SCK__tp_func_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x38688d65 __SCT__tp_func_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3a2a40a5 __SCT__tp_func_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x41ef20be __SCK__tp_func_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x68abfb68 __traceiter_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x72d2cdb8 __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x77a73591 __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x93a6361d __SCK__tp_func_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd81e2f28 __SCT__tp_func_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe02b49ab __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xe99041b0 __traceiter_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xeb258b79 __traceiter_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x07fcf3a0 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x0ed4669a hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x184cd679 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x196202d6 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x28c87421 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x412dbd8a hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x4ffaced6 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x5ade12bd hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x5bde00dd hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x67d1a977 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x6d27b709 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x73554d12 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x73638800 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x75934c58 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7adcfaca hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fb75891 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x8dafe3c0 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9c3e8bef hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xa4ae73b3 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb2f8689f hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc99a2225 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xd3604834 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xde2eaa92 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xdf601103 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xf226c20e hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xf91c03e2 hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xfcaa1d4a hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xff92ed3d hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x11e3ae6c orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x140ed699 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x26f4ba9b free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x2a35be0f orinoco_down +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x30e9f8ae __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x5f983601 orinoco_open +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x686e992a orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x6ab90861 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x6bd7990c orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x8a9e643c orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x8beeb6e3 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x8ef415f2 orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x992bdd4e __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xa74c2dc5 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xb16b7c28 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xc6e91564 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0x8c4290be mt76_wcid_key_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0x8befce9a rtl_btc_get_ops_pointer +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0b6f48d6 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1692e926 _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1d42a07f rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1f120727 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2327d91c _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2529e451 rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2778ee80 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x29ea604d rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2b3dc734 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2f9e085e rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x39a07646 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3c89cb9e rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3d9d26ba rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x49f71d65 _rtl92c_store_pwrindex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4edaa00f rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x60ca0a90 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x696bddc5 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x78afc1c5 rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x801cd627 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x8500189f _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x90d4838f rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9b498000 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9e0a0e6e rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa201b1d3 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xaafe4fd6 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc2d161f5 _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xcf27abf2 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xcfc23b67 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd12c2dd6 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd2b94cbc rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd3bc2e99 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd6084219 _rtl92c_phy_dbm_to_txpwr_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd9ff8530 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xdfa5794f rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xdff2c38f rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe8792dc5 _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xea95416b rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xece1f846 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xedfce409 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xfa5ed0ec rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xffb4a83b rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xffe355bc rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x70c2ca1e rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xb1ef078f rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xb317f150 rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xe9ba5367 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x2c02823e rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x4d5e5cd2 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x66bc93e8 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x8b83e810 rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x03c1c392 rtl_hal_pwrseqcmdparsing +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x03f9b427 rtl_rfreg_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x05fd8682 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0b038e24 channel5g_80m +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x107eb5df rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1243765e rtl_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x12add80b efuse_shadow_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x19ad6fd4 efuse_one_byte_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1b945315 rtl_addr_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x24dd0f08 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x25e39828 rtl_cmd_send_packet +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30a956d7 rtl_query_rxpwrpercentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30b4f0bf rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5079cdf4 rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5339b7bb rtl_rx_ampdu_apply +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54824f58 channel5g +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54dd2efd rtl_bb_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x564a0696 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5d68bb2a efuse_power_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x669789b9 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x66aea7d5 rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6cca1f61 rtl_collect_scan_list +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x79a276b3 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7f9132e3 rtl_c2hcmd_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8e733997 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8ea60059 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8facc4f7 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9af68278 rtl_mrate_idx_to_arfr_id +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xae5c9251 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb06082bc rtl_signal_scale_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd3bad21d rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd4f1fe6a rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe0cbc521 rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xebedfe5f rtl_wowlan_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xebfe1431 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xed7c8cf2 rtl_evm_db_to_percentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xee0f40de rtl_process_phyinfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8723d 0x14e64050 rtw8723d_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8821c 0x892637dd rtw8821c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0xff063ae2 rtw8822b_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0x10c451dc rtw8822c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x009b0a39 rtw_tx_report_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x03220efa rtw_phy_config_swing_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0cfc41e7 rtw_phy_write_rf_reg_mix +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0edf715b rtw_bf_remove_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x10ed7892 rtw_phy_cfg_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x11ce7b16 check_hw_ready +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x18d8641a rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1a109aa2 rtw_tx_write_data_h2c_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1b2bf538 rtw_fw_do_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1f1b8fa2 rtw_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x278f6129 __rtw_dbg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x28b9f14b rtw_phy_load_tables +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2acea099 rtw_bf_set_gid_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x33b3f3c0 rtw_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x35d5dc44 rtw_bf_enable_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x36638498 rtw_read8_physical_efuse +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x36c5bfca rtw_disable_lps_deep_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x391d66f1 rtw_unregister_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3b121cb0 rtw_fw_inform_rfk_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3f326b64 rtw_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x440b7589 rtw_phy_rf_power_2_rssi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x444746f7 rtw_phy_read_rf_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4764a245 rtw_regd_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4bedb807 rtw_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x519c8ba9 rtw_rate_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5474bf57 rtw_phy_set_tx_power_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x577899ce rtw_tx_fill_tx_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x58210e60 rtw_rate_section +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x59fa18c4 rtw_phy_write_rf_reg_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5ca989cd rtw_phy_parsing_cfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x61390b60 rtw_tx_write_data_rsvd_page_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x634aede5 rtw_set_channel_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6810a138 rtw_phy_cfg_bb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6d5c7970 rtw_bf_cfg_csi_rate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6f65321a rtw_fw_c2h_cmd_isr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x77579822 rtw_phy_set_edcca_th +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7c682fbe rtw_rx_fill_rx_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x87189578 rtw_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x89059fbd rtw_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x89bc337f rtw_power_mode_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8aad6e38 rtw_coex_read_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8b1b9f99 rtw_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8fe59769 rtw_fw_c2h_cmd_rx_irqsafe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x90601b98 rtw_dump_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9bd4c36d rtw_restore_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9dc37378 rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa5357041 rtw_parse_tbl_txpwr_lmt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa6fac3b1 rtw_phy_pwrtrack_get_delta +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa87d43d6 rtw_register_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xaa004c15 rtw_set_rx_freq_band +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xaad5911b rtw_phy_cfg_agc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xae52d12e rtw_phy_pwrtrack_thermal_changed +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbc8b5b7f rtw_phy_pwrtrack_need_lck +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xca7927af rtw_phy_pwrtrack_avg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xcb6420de rtw_bf_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xcf1aedba rtw_coex_write_scbd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd6baf1d7 rtw_parse_tbl_bb_pg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd7d86e68 rtw_parse_tbl_phy_cond +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe0d49275 rtw_phy_get_tx_power_index +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe15fcd4a rtw_phy_pwrtrack_need_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe4a5b260 rtw_rx_stats +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xeb138de2 rtw_phy_cfg_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf024c64e rtw_dump_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf042a6fa rtw_bf_enable_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf060cfb9 rtw_phy_pwrtrack_get_pwridx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x6eff641a rtw_pci_shutdown +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x77d503f8 rtw_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xd44f565f rtw_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xd53deabb rtw_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_8852a 0x94b7a0d9 rtw8852a_chip_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_8852c 0x788c3e46 rtw8852c_chip_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x044a03ed rtw89_mac_coex_init_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x129048e5 rtw89_mac_resume_sch_tx_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x147e9afc rtw89_rs_nss_max +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x155b7cb2 rtw89_core_napi_start +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x1a019a77 rtw89_mac_coex_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x1d710030 rtw89_mac_stop_sch_tx_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x1fb2cb5c rtw89_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x2a64a260 rtw89_mac_cfg_ctrl_path +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x2e09b39d rtw89_mac_cfg_ppdu_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x2e2b2ed8 rtw89_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x34e59957 rtw89_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x360be55c rtw89_phy_write32_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x4a0dbfcb rtw89_core_query_rxdesc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x4c08118e rtw89_core_napi_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x4c227ff4 rtw89_btc_ntfy_wl_rfk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x4f260539 rtw89_mac_get_txpwr_cr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x590c5f2d rtw89_fw_h2c_rf_ntfy_mcc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x5fe799d0 rtw89_phy_tssi_ctrl_set_bandedge_cfg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x60ea2795 rtw89_core_fill_txdesc_fwcmd_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x616c0fc5 rtw89_phy_fill_txpwr_limit_ru +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x69f325c1 rtw89_core_rx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6e8f5a63 rtw89_mac_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x72554757 rtw89_ser_notify +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7374d394 rtw89_mac_write_xtal_si +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7c00c024 rtw89_mac_cfg_ctrl_path_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7f6aba23 rtw89_phy_load_txpwr_byrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x8aef3f80 rtw89_mac_set_err_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x8b3a2eaf rtw89_core_fill_txdesc_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x90507b9b rtw89_phy_config_rf_reg_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x90f2ed20 rtw89_fw_h2c_dctl_sec_cam_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x957f2db3 rtw89_core_fill_txdesc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x99078bb2 rtw89_phy_read_txpwr_limit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x995953db rtw89_mac_enable_bb_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xa613a425 rtw89_phy_get_txsc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xa7044650 rtw89_mac_cfg_gnt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xa9ff31cd rtw89_core_napi_stop +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xaf5c5e8c rtw89_mac_resume_sch_tx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xb26c5990 rtw89_phy_write_reg3_tbl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xb820f66c rtw89_core_register +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xb88c2077 rtw89_mac_get_err_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xc2ec0640 rtw89_mac_disable_bb_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xc517ac1e rtw89_rfk_parser +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xc64cf045 rtw89_core_napi_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xc830f808 rtw89_phy_read_txpwr_byrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xc95534b0 rtw89_rs_idx_max +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xca8dc7b5 rtw89_phy_read_rf_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xcb9e07aa rtw89_phy_write_rf_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xde096c89 rtw89_mac_cfg_gnt_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe0116f9b rtw89_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe3f57b04 rtw89_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xeccc875a __rtw89_debug +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xef7372d1 rtw89_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xefaebce4 rtw89_mac_stop_sch_tx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xf4570946 rtw89_core_unregister +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xf7f38167 rtw89_phy_fill_txpwr_limit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xf96b4483 rtw89_phy_write_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x00184edd rtw89_pci_fill_txaddr_info_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x04b82bd4 rtw89_pci_ltr_set_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x2c5bee04 rtw89_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x34a82115 rtw89_pci_enable_intr_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x569fb06e rtw89_pci_disable_intr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x5fe83a02 rtw89_pci_ltr_set +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x88fbce60 rtw89_pci_config_intr_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x8a4e462a rtw89_pci_config_intr_mask_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x8ae5f098 rtw89_pci_enable_intr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x9ce0961b rtw89_pci_ch_dma_addr_set +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xa90de0b9 rtw89_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xc548f98c rtw89_pci_disable_intr_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xe006a0d2 rtw89_pci_recognize_intrs_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xe3893d43 rtw89_pci_recognize_intrs +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xf630d9a9 rtw89_pci_ch_dma_addr_set_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xfe2e628f rtw89_pci_fill_txaddr_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xfe76d943 rtw89_pm_ops +EXPORT_SYMBOL drivers/net/wireless/rsi/rsi_91x 0xc5d1f921 rsi_config_wowlan +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x72d559d6 wl1271_free_tx_id +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x84317d8a wlcore_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xe36e94c0 wl12xx_is_dummy_packet +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xe4333529 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0xda6d3214 fdp_nci_remove +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0xef8f2d82 fdp_nci_probe +EXPORT_SYMBOL drivers/nfc/microread/microread 0x7483f870 microread_probe +EXPORT_SYMBOL drivers/nfc/microread/microread 0xcc791bdd microread_remove +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x255284e9 nxp_nci_remove +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x44995bf1 nxp_nci_fw_recv_frame +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x7c7fd69a nxp_nci_probe +EXPORT_SYMBOL drivers/nfc/pn533/pn533 0x91bf0fa6 pn533_recv_frame +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0xbc286178 pn544_hci_remove +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0xf0a9d4c6 pn544_hci_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x47ae7cab s3fwrn5_recv_frame +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x774203fc s3fwrn5_phy_set_wake +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x90ad51b3 s3fwrn5_phy_power_ctrl +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x99484974 s3fwrn5_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xedb12f10 s3fwrn5_phy_set_mode +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xf25c9434 s3fwrn5_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xf2ab60da s3fwrn5_phy_get_mode +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x0a3dece2 ndlc_open +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x500f7fea st_nci_se_io +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x5cfd7d8a ndlc_recv +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x61744e5c st_nci_se_deinit +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x87b372ae ndlc_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xb9f1db66 ndlc_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xc3c4654e ndlc_close +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xccae2e2a st_nci_se_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xcf9169b3 st_nci_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xdca8b834 ndlc_send +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x20cec2d0 st21nfca_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x21794b42 st21nfca_tm_send_dep_res +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x22a963a4 st21nfca_connectivity_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x2567797c st21nfca_im_send_dep_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x5abc3fdc st21nfca_dep_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x5e8a5f01 st21nfca_hci_discover_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x6f828b0b st21nfca_se_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7614fbb2 st21nfca_hci_loopback_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x79490836 st21nfca_se_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x83c18553 st21nfca_hci_enable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x8dc44693 st21nfca_im_send_atr_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xc78b9736 st21nfca_hci_disable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xcd82abf2 st21nfca_apdu_reader_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xe2c72689 st21nfca_dep_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xe649f7b5 st21nfca_dep_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xeb31037a st21nfca_hci_remove +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xf58f3ae1 st21nfca_hci_probe +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xf8597790 st21nfca_hci_se_io +EXPORT_SYMBOL drivers/ntb/ntb 0x43a72876 ntbm_msi_request_threaded_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x5783a9f3 ntb_msi_setup_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x57cbe53d ntb_msi_peer_trigger +EXPORT_SYMBOL drivers/ntb/ntb 0x61911be9 ntb_clear_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x6a1ced87 ntbm_msi_free_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x728f3a87 ntb_default_peer_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0x739c9cbd ntb_msg_event +EXPORT_SYMBOL drivers/ntb/ntb 0x9e5302ff ntb_msi_clear_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x9efc33f0 ntb_msi_peer_addr +EXPORT_SYMBOL drivers/ntb/ntb 0xa04bf5dc ntb_link_event +EXPORT_SYMBOL drivers/ntb/ntb 0xa0cd8495 ntb_db_event +EXPORT_SYMBOL drivers/ntb/ntb 0xa4ec3669 ntb_set_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0xaf9dccac ntb_msi_init +EXPORT_SYMBOL drivers/ntb/ntb 0xbb8bbbbf ntb_default_peer_port_idx +EXPORT_SYMBOL drivers/ntb/ntb 0xbe9c6d7b ntb_register_device +EXPORT_SYMBOL drivers/ntb/ntb 0xc0110779 ntb_default_peer_port_count +EXPORT_SYMBOL drivers/ntb/ntb 0xc056199e ntb_unregister_device +EXPORT_SYMBOL drivers/ntb/ntb 0xeb6af48b ntb_unregister_client +EXPORT_SYMBOL drivers/ntb/ntb 0xf1ba16d2 __ntb_register_client +EXPORT_SYMBOL drivers/ntb/ntb 0xf5de76b1 ntb_default_port_number +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x0e97db98 nvdimm_namespace_detach_btt +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x59049032 nvdimm_namespace_attach_btt +EXPORT_SYMBOL drivers/parport/parport 0x050ba391 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x0ec3a706 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x208dd502 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x2c944020 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x30291089 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x36d339d9 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x44725cda parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x4b5b84bd parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x511c9a1d parport_write +EXPORT_SYMBOL drivers/parport/parport 0x53e73949 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x57bc4948 parport_register_dev_model +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x6264e49b parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x6c935c3f parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x72ada065 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x77cd73aa parport_del_port +EXPORT_SYMBOL drivers/parport/parport 0x78082487 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x8066d7de parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x8e2daeb1 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0xa047fbd2 __parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0xa3b18a4d parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0xabb98f47 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xb8d46fc2 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0xb9121769 parport_read +EXPORT_SYMBOL drivers/parport/parport 0xc0a2db1a parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0xc1b3971a parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0xc8985012 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xd056af87 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xd89fd824 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xdec6bcc9 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0xef435575 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0xfb148133 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport_pc 0x141f4487 parport_pc_unregister_port +EXPORT_SYMBOL drivers/parport/parport_pc 0x95e58907 parport_pc_probe_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x238d9534 pcmcia_dev_present +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x2aece7ac pcmcia_unregister_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x3e246500 pcmcia_get_mac_from_cis +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x3ee1cdf9 pcmcia_enable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x42a4affc pcmcia_release_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4789f837 pcmcia_loop_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x4f143e9b pcmcia_request_io +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x5ec2e94f pcmcia_loop_config +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x87dfc726 pcmcia_fixup_vpp +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x91462e32 pcmcia_write_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0x92db36d6 pcmcia_register_driver +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xb7d35a33 pcmcia_disable_device +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xbb312663 pcmcia_parse_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc0ee18b2 pcmcia_request_window +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xc5a3f2e8 pcmcia_fixup_iowidth +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xd20024f0 pcmcia_map_mem_page +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xdffc3541 pcmcia_read_config_byte +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xe272abc6 pcmcia_request_irq +EXPORT_SYMBOL drivers/pcmcia/pcmcia 0xfee0861b pcmcia_get_tuple +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x141379e4 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x36e54ef8 pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x544b9f5e pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x71601a17 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9d098d29 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb4fb6f35 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xb9e5c158 pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xe582e421 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf14f47e8 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf42b68d3 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf942709b pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x50a62a49 pccard_nonstatic_ops +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0xe701cd51 pccard_static_ops +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x251c8f8c cros_ec_unregister +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x345343a9 cros_ec_suspend +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x5d2982f0 cros_ec_resume +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x718aac53 cros_ec_register +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xf25aacf5 cros_ec_irq_thread +EXPORT_SYMBOL drivers/platform/chrome/cros_ec_lpcs 0xaa1c36de cros_ec_lpc_io_bytes_mec +EXPORT_SYMBOL drivers/platform/chrome/cros_ec_lpcs 0xc4ebc6b3 cros_ec_lpc_mec_init +EXPORT_SYMBOL drivers/platform/chrome/cros_ec_lpcs 0xf5c87c59 cros_ec_lpc_mec_destroy +EXPORT_SYMBOL drivers/platform/x86/dell/dcdbas 0xa75079d6 dcdbas_smi_request +EXPORT_SYMBOL drivers/platform/x86/intel/intel_punit_ipc 0x3a0b563a intel_punit_ipc_simple_command +EXPORT_SYMBOL drivers/platform/x86/simatic-ipc 0x35a48fec simatic_ipc_get_membase0 +EXPORT_SYMBOL drivers/platform/x86/sony-laptop 0xd857cac7 sony_pic_camera_command +EXPORT_SYMBOL drivers/platform/x86/wmi 0x8829871b __wmi_driver_register +EXPORT_SYMBOL drivers/platform/x86/wmi 0xe80d05f2 wmi_driver_unregister +EXPORT_SYMBOL drivers/rpmsg/rpmsg_char 0x317f9fb2 rpmsg_chrdev_eptdev_destroy +EXPORT_SYMBOL drivers/rpmsg/rpmsg_char 0xe18bc53e rpmsg_chrdev_eptdev_create +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x0224fa4e rpmsg_release_channel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x29353593 rpmsg_create_channel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x35576246 rpmsg_register_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x3b7e10de rpmsg_create_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x3c44f5c1 rpmsg_destroy_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x3d0315a6 rpmsg_find_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x3d602299 unregister_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x51001530 rpmsg_unregister_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x69bd6323 rpmsg_trysendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x6ce93c83 __register_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x6db35f31 rpmsg_send +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x80282f2a rpmsg_trysend_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xa8a78e5d rpmsg_register_device_override +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xaee05bc5 rpmsg_trysend +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xc27cb5d2 rpmsg_sendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xc755587f rpmsg_class +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xd12f8512 rpmsg_get_mtu +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xe4a7cc33 rpmsg_send_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xef9fd707 rpmsg_poll +EXPORT_SYMBOL drivers/rpmsg/rpmsg_ns 0x910d23c6 rpmsg_ns_register_device +EXPORT_SYMBOL drivers/rtc/rtc-ds1685 0xa8082df0 ds1685_rtc_poweroff +EXPORT_SYMBOL drivers/scsi/53c700 0x3d9cece0 NCR_700_intr +EXPORT_SYMBOL drivers/scsi/53c700 0x6166991c NCR_700_release +EXPORT_SYMBOL drivers/scsi/53c700 0x89beae65 NCR_700_detect +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x1ac48e03 scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x4a29ab38 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x928a086f scsi_esp_template +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x9a4ca7f2 scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xdee8653a scsi_esp_register +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x16b340d6 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x2e28c5dd fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x48b93e2c fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x5508c63b fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x980cff74 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x9871fe40 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x996a6cdf fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xaf89213f fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xc757e84b fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xed9ef6a3 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xfb71ee36 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0869ac58 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0e745e23 libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1197ff70 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x144e6cc0 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1d18ea61 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x27f2a991 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x289a4e17 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x28cc3a0d fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x297bbfc3 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2dbb3016 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x354d05b2 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x38f931c8 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x396265a7 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x39edee7f fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3c5aa0e0 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3f7e7980 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x40a445c1 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x42be1347 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4826e27f fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x484c7898 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x48e5c50a fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5410bf89 fc_disc_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5952eb24 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5ceaaca9 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5e26be0e fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x615edc08 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6620bf5e fc_seq_assign +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6968d833 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6d1f07ea fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x728ceeb1 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x72ee1753 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x762ec415 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7f3407a7 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x811811e0 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x81ba2571 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x83235da5 fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8700bf67 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8d23a263 fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x96952c85 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9d50ed7e fc_rport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa0660492 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa1bcd198 fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa7e09940 fc_exch_update_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaa40bce5 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaee453b7 fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0ddd5a1 fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb34c7ff4 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb3f00e2e fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb446d081 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb6e5fc5b fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc0af3606 fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc1cbdfb1 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc596b286 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc899eac8 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd5c14fa2 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdae5ef42 fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdf9ae708 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe5cf06b5 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xed2c130f fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xedca71ab fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf1408e2c fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf3545aa6 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf689e662 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf96e4ba3 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfa4667d1 fc_seq_release +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x1e916f19 sas_suspend_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x78174e61 sas_resume_ha_no_sync +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x823ff00c sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x995bca9f sas_resume_ha +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x0123b1fc mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0xa21fafb9 mraid_mm_adapter_app_handle +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0xb2cf7c01 mraid_mm_unregister_adp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x33170686 qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x48ced880 qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x4cad5e9c qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x4dc06c8b qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x7090ab79 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x85fd87fc qlt_abort_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xba6f25aa qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xe3022e11 qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xe4d35235 qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xf28904de qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xf9a95d10 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xfb0f7c85 qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1a25278a qlogicfas408_queuecommand +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x1f55cd70 qlogicfas408_ihandl +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x3fd8cd71 qlogicfas408_detect +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x423aef9a qlogicfas408_biosparam +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x43a1b20c qlogicfas408_disable_ints +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0x4fd6c162 qlogicfas408_abort +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe46c1c29 qlogicfas408_host_reset +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xe76b3b20 qlogicfas408_get_chip_type +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xeb84b5fa qlogicfas408_info +EXPORT_SYMBOL drivers/scsi/qlogicfas408 0xf2b95199 qlogicfas408_setup +EXPORT_SYMBOL drivers/scsi/raid_class 0x6493d5cc raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x9c767769 raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0xe27d83a8 raid_class_attach +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x04ca0825 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1160226d fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x17cfb253 fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x191edb5e fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3b6d1292 fc_find_rport_by_wwpn +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x4cc36899 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x796113b4 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x98f0e5b6 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x9ff7d9d2 fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa18c31d1 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa5ed7fe8 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xa94f840e scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xaa60efbe fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc5700408 fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xcb8a2d86 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd3dafa4d fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe553944c fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x02acd4a6 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x05cee965 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1484908d sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1efbcbb3 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1fdf9756 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x24b39167 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2727461c sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2b7ca5de sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x32d94323 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x400d3bc9 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x41b63303 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4c1cef7f sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5a00357e scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5d51cdcc scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6409439c sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x735c1229 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7c9b8305 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7e61f9df sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7f9664b9 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x97269493 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xacafa59e sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb1a42fbc sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xca3481d3 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xca78f0d1 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xcb635a89 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd6548d37 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe11711b8 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf3ecabe8 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xfa7355c0 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x6dfa5878 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x7e5d603e spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x8cf0409f spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xa7209231 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xb95252c5 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x11ccd37a srp_reconnect_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x14c66baf srp_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x9adc16c9 srp_rport_get +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x9fa27171 srp_start_tl_fail_timers +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xfb6bea3f srp_rport_put +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x01622706 qmi_send_request +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x0ef12cc9 qmi_encode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x21ce5888 qmi_response_type_v01_ei +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x37f5372f qmi_txn_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x498a4c7d qmi_send_response +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x68772745 qmi_decode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x8a7d5c74 qmi_handle_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xa32266ad qmi_add_lookup +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xa5e95241 qmi_handle_release +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xabfa4c06 qmi_txn_wait +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xda70e04f qmi_txn_cancel +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xf077307b qmi_add_server +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xf699d4c9 qmi_send_indication +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x037c07a1 sdw_bus_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x0b3bfeba sdw_bus_prep_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x16d1706b sdw_prepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1deee061 sdw_find_row_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x36ec1429 sdw_bus_master_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x3b0a8582 sdw_startup_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x3e14dc7e sdw_stream_add_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x412c4a54 sdw_read +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4cde88bf sdw_disable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x52065ea3 sdw_write_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x54996b34 sdw_nread +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x60e31fbb sdw_find_col_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x661b258c sdw_nwrite +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x67acfeff sdw_slave_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x686266a2 sdw_clear_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6f95b16b sdw_shutdown_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x71891d59 sdw_deprepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7ffe7141 sdw_stream_add_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x818425bb sdw_write +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x88c8d6aa sdw_bwrite_no_pm_unlocked +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x905ba763 sdw_bus_master_delete +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9e122d79 sdw_alloc_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xa9011e70 sdw_bread_no_pm_unlocked +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb61d036c sdw_update +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb831dbb1 sdw_extract_slave_id +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xba54b904 sdw_cols +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xbbec2c2e sdw_enable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xc042b729 sdw_master_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xc508a06a sdw_read_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xd10d652b sdw_handle_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xd1d98426 sdw_stream_remove_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xda5bce09 sdw_release_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xdf228bb7 sdw_stream_remove_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xece1f30e sdw_slave_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf38cbbd4 sdw_bus_exit_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf509401d sdw_update_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf53ba0b8 sdw_rows +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xfb361eec sdw_compare_devid +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x06022cb4 cdns_xfer_msg +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x0631a1eb sdw_cdns_pdi_init +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x3369a886 cdns_xfer_msg_defer +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x340a5acd sdw_cdns_clock_restart +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x34712074 sdw_cdns_irq +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x36c54eba sdw_cdns_check_self_clearing_bits +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x40c60306 sdw_cdns_alloc_pdi +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x413e8d49 sdw_cdns_clock_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x594c6e4a cdns_set_sdw_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x69910118 sdw_cdns_enable_interrupt +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x7a930603 sdw_cdns_is_clock_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x888c54e3 sdw_cdns_init +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xab7a31ef sdw_cdns_config_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xb65277fd sdw_cdns_exit_reset +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xd1ae965e sdw_cdns_probe +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xdc1ae9b4 cdns_reset_page_addr +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xdfbc4f85 cdns_bus_conf +EXPORT_SYMBOL drivers/soundwire/soundwire-generic-allocation 0xaeed473b sdw_compute_params +EXPORT_SYMBOL drivers/ssb/ssb 0x009d0e20 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x071294ac ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x17276125 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x1aff62de ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x41167f9a ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x606fb3e0 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x610be46a ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x68a75c71 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x6a3d4889 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x80542fd4 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x81a5b3cb ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x8725dfdb ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x9741c68a ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0xa6d56543 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xaa168922 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xaa34a2b0 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xcb17f1cb ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xcf0209fd ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xd16a5978 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xdd895702 ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0xdfc7c6ef ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xfcd90924 ssb_bus_powerup +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x159a2e38 fbtft_write_gpio8_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x20ef93c9 fbtft_write_reg16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x222124ec fbtft_write_reg8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x2be833b3 fbtft_write_vmem16_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x30dc2393 fbtft_register_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x37125372 fbtft_write_vmem8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x38baa16a fbtft_write_reg8_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x3d3fb414 fbtft_register_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x45f4a7bb fbtft_write_buf_dc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x4885e9cd fbtft_unregister_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x4cbb61ca fbtft_unregister_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x8602520d fbtft_write_gpio16_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x8ffb01f5 fbtft_write_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x95b6595f fbtft_remove_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x9ee9e236 fbtft_read_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xa21405d3 fbtft_write_gpio16_wr_latched +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xb658a06a fbtft_write_spi_emulate_9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc46af288 fbtft_framebuffer_alloc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xdb3e9f06 fbtft_probe_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xdd58cc2e fbtft_framebuffer_release +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xe1f7bb97 fbtft_write_vmem16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xe6f5b63c fbtft_dbg_hex +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xf403a635 fbtft_write_reg16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xf42cb56d fbtft_init_display +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xf9e4ac14 fbtft_write_vmem16_bus16 +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x2d6a971d gbaudio_module_update +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x301e6369 gbaudio_register_module +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x556fa5ba gbaudio_unregister_module +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0xcbe9b8ce adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x55709b93 ade7854_probe +EXPORT_SYMBOL drivers/staging/media/av7110/sp8870 0x439dd49d sp8870_attach +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x03094351 rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0553eb42 rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0927cd45 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0d9aa382 rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0da91cc6 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x14402756 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1c0df9d2 rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22166084 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x25fb9f1d rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2aedd144 dot11d_channel_map +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2af5a98a rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3597a7b6 rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x414b86e9 HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5259d186 rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5330ec40 dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x55fdd219 rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5f2d8c31 rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6146db0d rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x617a10ab rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x62a2aef3 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x673b3224 rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6d399c1a rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x729ed16b RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x807abee3 rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x82091e6a rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x885266ab rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8ce48875 rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8f65ebd4 rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x94962d2f rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x98800cfe rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9dac754e rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa8ce96ec rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb0bfc68c rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb4092852 rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xba070876 rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xba72c432 rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbc67ce44 rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xbfd100bb rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc0de6bbd rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc2e78921 rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc9995add rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc99c0b59 rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xcb46a1fa rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xceca58a9 notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd0624624 rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd70e4349 rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd8c8f2fa rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xef2593f4 alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf0cf8ad2 rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfcfbb97f rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x00dcc35e ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x04366be5 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x08cd0d0f ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0e9343e5 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1d66a0ff ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x21402fc0 ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x230a56bc ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x24c3ae02 rtl8192u_dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x28f71d9b ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2afa3ef7 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2e104705 ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3286eafd ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x356ecc8f dot11d_reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x36285d9f ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x381e0d64 ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x42cac964 is_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x43039c45 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4a986c02 ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4d2207a0 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4d800769 ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x511454e7 ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x536a38b0 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x59af5478 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5ed571b8 HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6cb498a9 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x70e60faa notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x838f2fff ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8ef63e4d dot11d_get_max_tx_pwr_in_dbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9360ab7f ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9a436528 ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9bdbabe0 ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9e615aaf ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa00aa256 ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa0954f96 SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa3ca1069 ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa778e9f3 ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xaab2f720 dot11d_scan_complete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xaf8634aa ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbfebdb18 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc28bbd54 ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc5d11b01 ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xca133c59 ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xccef807f ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcdc462ec ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcddfb7b6 to_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd2456402 ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd707dca6 ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdabbb95b ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe035c1f0 ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe1e13957 ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecc5fb1b ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xee114ba0 ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf21ac2f5 ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf61d7180 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf80ca668 dot11d_update_country_ie +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x01447731 iscsit_thread_check_cpumask +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0683c7fd iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0d7b0867 iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1065a37e iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1537e28a iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x175e36cd iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1c516003 iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1cf0fe85 iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x23dc94c9 iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x2fc72d9e iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x388210d4 iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3c5ef5a6 iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x40e5a1e2 iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x42505492 iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4a31ebdd iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4a4d6b0a iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4c034072 iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x537f58ae iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x55d0466e iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5745568f iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x635ffbc6 iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x69a5e90e iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x769c4807 iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7d3c8ebf iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7f1f7f37 iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8a1d14d7 iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8b763c3f iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa0af448c iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb3044062 iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xbf91440f __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc1438e29 iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc31b4054 iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc90ae3b1 iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xcaa25812 iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd1fd35d2 iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd6daae6d iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xdd9a5853 iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe006bd20 iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe4cf3176 iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xebf329eb iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf1e328ad iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf34332f0 iscsi_find_param_from_key +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf47d55a8 iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf5056c66 iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf7f37903 iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xff437bcb iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/target_core_mod 0x07385873 sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x078092b1 target_tpg_has_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x092cad11 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x0b35c98f __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x11ec45ac target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0x12109b17 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x124a4aef target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x176f9063 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x19c3615f target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x1e6cf8db sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0x256e8256 target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0x25b2640b spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0x29db61f1 target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x2dc7d2e0 passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x2f9f26b3 target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0x32c24012 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x3693ab5b transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x395cf0a4 target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3e1fec0f target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0x4090ba1d core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x4163bd28 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x424b1e9d transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x4432b187 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x451fbeab target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x4708a091 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x487ea3b5 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x48c925a2 target_complete_cmd_with_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x4a76b0de sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0x4af2ffb1 target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0x5117ffb4 spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x62655593 sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x638bffb7 target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x66c8a724 target_stop_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x67c1e780 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x67f77c48 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x6b1362f7 core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x6f339975 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x6fa630e1 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x6fa6ed9f transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x735b6ae2 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x75e2914d transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x75fd1831 passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a1d0d3c target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7b7cb253 core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0x85498183 transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x875cdb99 core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x87dc4412 target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x892d0983 target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x8a3439e2 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x8aa490a1 target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x8ddbf469 spc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x90c9942e passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x94617c67 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x9822fb37 target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0xa5b7d56e transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xa6543f83 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0xa871e859 transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xaa682ef7 target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xb0320a92 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xb7c2b72b target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0xb93702c7 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xbafadfe3 core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0xc80d6a62 target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0xcace14b1 target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0xcadec373 spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0xcbee3e04 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0xce10a9b2 transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0xd0da0513 __target_init_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xd1569c70 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0xdd2b0125 sbc_dif_verify +EXPORT_SYMBOL drivers/target/target_core_mod 0xe0ccc20b target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0xe585c2ee target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xe6ae8c15 sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0xebc32a18 target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3c2dfe0 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xfdbdaac0 transport_kmap_data_sg +EXPORT_SYMBOL drivers/thermal/intel/int340x_thermal/acpi_thermal_rel 0x1887763e acpi_thermal_rel_misc_device_add +EXPORT_SYMBOL drivers/thermal/intel/int340x_thermal/acpi_thermal_rel 0x86c998e6 acpi_thermal_rel_misc_device_remove +EXPORT_SYMBOL drivers/thermal/intel/int340x_thermal/acpi_thermal_rel 0x9103c585 acpi_parse_art +EXPORT_SYMBOL drivers/thermal/intel/int340x_thermal/acpi_thermal_rel 0xf0f9fe0d acpi_parse_trt +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x3407adcd ufshcd_shutdown +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x504a04b8 ufshcd_system_suspend +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x544362a1 ufshcd_runtime_resume +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x75e5d8c8 ufshcd_get_local_unipro_ver +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x990dff26 ufshcd_alloc_host +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0xc739ffad ufshcd_map_desc_id_to_length +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0xd1d97618 ufshcd_system_resume +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0xe2729584 ufshcd_runtime_suspend +EXPORT_SYMBOL drivers/ufs/host/tc-dwc-g210 0x5e78a7ad tc_dwc_g210_config_40_bit +EXPORT_SYMBOL drivers/ufs/host/tc-dwc-g210 0xaf56fc0b tc_dwc_g210_config_20_bit +EXPORT_SYMBOL drivers/ufs/host/ufshcd-dwc 0xcb819cfc ufshcd_dwc_dme_set_attrs +EXPORT_SYMBOL drivers/ufs/host/ufshcd-dwc 0xdffec482 ufshcd_dwc_link_startup_notify +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x531afbbd usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/gadget/libcomposite 0xb3b2f0ba usb_os_desc_prepare_interf_dir +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0xfee93060 sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x042b1619 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x1def618e usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x310f30a7 usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x333d438b usb_wwan_port_remove +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x486a3815 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x497a6fdf usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x655a6df1 usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x82b0579b usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x8967faaf usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xdab778b0 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xe044be66 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x1645d7ce usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x70910e6f usb_serial_suspend +EXPORT_SYMBOL drivers/vdpa/vdpa 0x9de3d01f vdpa_set_status +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x18758697 mdev_register_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x1c4f9dee mdev_unregister_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x5a9f5ae5 mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x63a71e8f mtype_get_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x8cebba9d mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x96461954 mdev_unregister_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x9f7030cd mdev_get_type_group_id +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xcbcd368f mtype_get_type_group_id +EXPORT_SYMBOL drivers/vhost/vhost 0x3d400467 vhost_chr_poll +EXPORT_SYMBOL drivers/vhost/vhost 0xe435fa47 vhost_chr_write_iter +EXPORT_SYMBOL drivers/vhost/vringh 0x0c46f5fb vringh_iov_pull_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x18f3ddc2 vringh_iov_push_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x19c24590 vringh_notify_disable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x1fe50c1a vringh_abandon_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x2890c460 vringh_getdesc_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x2d2babc9 vringh_complete_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x3684d8af vringh_complete_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x3b304ebb vringh_iov_push_user +EXPORT_SYMBOL drivers/vhost/vringh 0x3ee1955e vringh_init_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x4311cd91 vringh_iov_pull_user +EXPORT_SYMBOL drivers/vhost/vringh 0x4504adc9 vringh_abandon_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x5bd469c0 vringh_getdesc_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5f586ca2 vringh_init_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x61e3831b vringh_getdesc_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x660779c8 vringh_kiov_advance +EXPORT_SYMBOL drivers/vhost/vringh 0x6a693a25 vringh_need_notify_user +EXPORT_SYMBOL drivers/vhost/vringh 0x90e93e3c vringh_complete_multi_user +EXPORT_SYMBOL drivers/vhost/vringh 0x97fa07e9 vringh_iov_push_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x9b30452e vringh_complete_user +EXPORT_SYMBOL drivers/vhost/vringh 0xa7ce8bd6 vringh_notify_disable_user +EXPORT_SYMBOL drivers/vhost/vringh 0xa8efaeb9 vringh_set_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xc0bb1581 vringh_need_notify_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xc87491c8 vringh_notify_enable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xd465f463 vringh_need_notify_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xde804bb9 vringh_iov_pull_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xe4c21196 vringh_notify_disable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xeb2ec139 vringh_notify_enable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xf1e32cc0 vringh_init_user +EXPORT_SYMBOL drivers/vhost/vringh 0xf8605294 vringh_notify_enable_user +EXPORT_SYMBOL drivers/vhost/vringh 0xf9d0dd07 vringh_abandon_user +EXPORT_SYMBOL drivers/video/backlight/lcd 0x34accdbd lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xb670f511 lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xd3a6ff75 devm_lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xdddfe83b devm_lcd_device_unregister +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x0fe723d6 svga_tilecursor +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x13e7d2f6 svga_tileblit +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x17f3f471 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x1be6dc30 svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x27b0186d svga_tilefill +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x5d77c8a0 svga_tilecopy +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x83a41489 svga_set_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x84c337c2 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x84c97d2a svga_match_format +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x8fc0dd2f svga_get_caps +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xb0ab2b2e svga_check_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xd22ca511 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xd6ec2c44 svga_compute_pll +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xdcc5a013 svga_wseq_multi +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xe28d2a49 svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xec56bf40 svga_settile +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xfef17595 svga_get_tilemax +EXPORT_SYMBOL drivers/video/fbdev/core/syscopyarea 0x719b7590 sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0x74bc18b9 sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0xffd49f39 sys_imageblit +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x534b6f18 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0xb39f68d1 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0xf27df989 cyber2000fb_attach +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0x33801d06 mac_find_mode +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x08e5ac1d matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x31103439 g450_mnp2f +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xd0784a9c matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x5a996b2f DAC1064_global_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x5d4b89b4 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xcb06f30b matrox_G100 +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xe0183781 matrox_mystique +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_Ti3026 0xc9f9c25c matrox_millennium +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_accel 0x3f589f51 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x1b326bb3 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x73b427b1 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x964370cb matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xf8dae805 matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x6958026a matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0xf494f438 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x113535e3 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x2c71c883 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x5c433986 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x7c0dcfa1 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xf5f0de55 matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/fbdev/sis/sisfb 0x3037658e sis_malloc +EXPORT_SYMBOL drivers/video/fbdev/sis/sisfb 0xfe963115 sis_free +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x1ac503b5 vbg_put_gdev +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x260590c0 vbg_err +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x569b312f vbg_info +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x68f1cf1a vbg_err_ratelimited +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x70cdcbfd vbg_warn +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x75504d2d vbg_hgcm_connect +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x899778eb vbg_hgcm_disconnect +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x94a0358d vbg_get_gdev +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0x9c072aa8 vbg_status_code_to_errno +EXPORT_SYMBOL drivers/virt/vboxguest/vboxguest 0xcc2baf2b vbg_hgcm_call +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x0d386311 virtio_dma_buf_get_uuid +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x1ecfaf29 virtio_dma_buf_attach +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0xb44ac325 is_virtio_dma_buf +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0xf348027e virtio_dma_buf_export +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x4f5fe8ff w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xe42515db w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x66eea32a w1_ds2781_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x6836f668 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/wire 0x05ead62b w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x4a16f19b w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x7481859d w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xb02ad32b w1_register_family +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x04e133fc iTCO_vendor_check_noreboot_on +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0x75bec08d iTCO_vendor_pre_stop +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xc8930f32 iTCO_vendor_pre_start +EXPORT_SYMBOL drivers/watchdog/iTCO_vendor_support 0xed2a3373 iTCO_vendorsupport +EXPORT_SYMBOL fs/fscache/fscache 0x04b0a13b __fscache_unuse_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x0aed9611 __tracepoint_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x0da1a099 fscache_dirty_folio +EXPORT_SYMBOL fs/fscache/fscache 0x0e65bce6 fscache_end_cookie_access +EXPORT_SYMBOL fs/fscache/fscache 0x1a0d09e7 fscache_n_write +EXPORT_SYMBOL fs/fscache/fscache 0x1c0694c3 __fscache_acquire_volume +EXPORT_SYMBOL fs/fscache/fscache 0x22e651e3 fscache_cookie_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x234a140d __traceiter_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x2f042253 __tracepoint_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x344e67dc __fscache_clear_page_bits +EXPORT_SYMBOL fs/fscache/fscache 0x3ab94c8f fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x4404d2aa fscache_n_no_create_space +EXPORT_SYMBOL fs/fscache/fscache 0x4996bd29 fscache_n_updates +EXPORT_SYMBOL fs/fscache/fscache 0x4c2fabf7 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x4dcdcb98 __fscache_resize_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x50acfb40 fscache_wait_for_operation +EXPORT_SYMBOL fs/fscache/fscache 0x54b6029c __fscache_begin_read_operation +EXPORT_SYMBOL fs/fscache/fscache 0x557a775f fscache_addremove_sem +EXPORT_SYMBOL fs/fscache/fscache 0x56145b2d __fscache_begin_write_operation +EXPORT_SYMBOL fs/fscache/fscache 0x5640b61b __fscache_write_to_cache +EXPORT_SYMBOL fs/fscache/fscache 0x5954d7ac __SCT__tp_func_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x5b539e09 fscache_put_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x7b1b25da __SCT__tp_func_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x7c3b0348 __fscache_use_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x7c87e02d __SCT__tp_func_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x80bc7800 fscache_withdraw_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x8317ab16 fscache_caching_failed +EXPORT_SYMBOL fs/fscache/fscache 0x894605e7 __SCK__tp_func_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x8b1a1933 __fscache_relinquish_volume +EXPORT_SYMBOL fs/fscache/fscache 0x8c2d6da7 fscache_clearance_waiters +EXPORT_SYMBOL fs/fscache/fscache 0x8e36c7c2 __SCK__tp_func_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x90d447f3 fscache_n_culled +EXPORT_SYMBOL fs/fscache/fscache 0x91844b92 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x9fa0831a __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x9ffefcb2 fscache_n_read +EXPORT_SYMBOL fs/fscache/fscache 0xaa9f5481 fscache_get_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xae6040a5 __traceiter_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0xb5dd1683 __fscache_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0xb8e5af93 fscache_resume_after_invalidation +EXPORT_SYMBOL fs/fscache/fscache 0xb9a1e527 fscache_end_volume_access +EXPORT_SYMBOL fs/fscache/fscache 0xbca46908 fscache_wq +EXPORT_SYMBOL fs/fscache/fscache 0xbf59c9e2 __tracepoint_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0xcce11a60 fscache_n_no_write_space +EXPORT_SYMBOL fs/fscache/fscache 0xdcb87498 __traceiter_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0xe50ac33c fscache_acquire_cache +EXPORT_SYMBOL fs/fscache/fscache 0xe78caee1 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xe79bada5 fscache_withdraw_volume +EXPORT_SYMBOL fs/fscache/fscache 0xf49d45b4 __SCK__tp_func_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0xf6029560 fscache_relinquish_cache +EXPORT_SYMBOL fs/netfs/netfs 0x06ebf3f6 netfs_read_folio +EXPORT_SYMBOL fs/netfs/netfs 0x1a297e34 netfs_readahead +EXPORT_SYMBOL fs/netfs/netfs 0x4c0307b4 netfs_write_begin +EXPORT_SYMBOL fs/netfs/netfs 0x864c851e netfs_subreq_terminated +EXPORT_SYMBOL fs/netfs/netfs 0xf5770f88 netfs_stats_show +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x281c5357 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x3f062b13 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x59fdcdde qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x6fda2768 qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0xd6707708 qtree_get_next_id +EXPORT_SYMBOL fs/quota/quota_tree 0xfd0e6788 qtree_read_dquot +EXPORT_SYMBOL lib/crc-itu-t 0x09a34a2b crc_itu_t +EXPORT_SYMBOL lib/crc-itu-t 0xd819a524 crc_itu_t_table +EXPORT_SYMBOL lib/crc7 0x65aaf037 crc7_be_syndrome_table +EXPORT_SYMBOL lib/crc7 0xba55d23e crc7_be +EXPORT_SYMBOL lib/crc8 0x9c5d5b94 crc8 +EXPORT_SYMBOL lib/crc8 0xaa8106bc crc8_populate_msb +EXPORT_SYMBOL lib/crc8 0xc3cd034d crc8_populate_lsb +EXPORT_SYMBOL lib/crypto/libarc4 0x2bb32ad1 arc4_setkey +EXPORT_SYMBOL lib/crypto/libarc4 0xcd47fcc4 arc4_crypt +EXPORT_SYMBOL lib/crypto/libchacha 0xcec122d7 chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x147c3f2e chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x37b34b92 chacha20poly1305_encrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x521c7102 xchacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x5b19e187 chacha20poly1305_decrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xc20134e7 chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xce15a526 xchacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x12627f15 curve25519_generic +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x4a5a8811 curve25519_null_point +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x7e6fdbfc curve25519_base_point +EXPORT_SYMBOL lib/crypto/libpoly1305 0x021f3700 poly1305_core_blocks +EXPORT_SYMBOL lib/crypto/libpoly1305 0xbcb90cb3 poly1305_core_emit +EXPORT_SYMBOL lib/crypto/libpoly1305 0xd45b9cf4 poly1305_core_setkey +EXPORT_SYMBOL lib/libcrc32c 0x89a0cd52 crc32c_impl +EXPORT_SYMBOL lib/libcrc32c 0xb15b4109 crc32c +EXPORT_SYMBOL lib/lru_cache 0x0641307b lc_destroy +EXPORT_SYMBOL lib/lru_cache 0x098d2ed9 lc_try_get +EXPORT_SYMBOL lib/lru_cache 0x15e30dfc lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0x2d47ac83 lc_committed +EXPORT_SYMBOL lib/lru_cache 0x2f3dcecb lc_index_of +EXPORT_SYMBOL lib/lru_cache 0x4522d82a lc_reset +EXPORT_SYMBOL lib/lru_cache 0x4543c8f5 lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0x4cf5f5a8 lc_is_used +EXPORT_SYMBOL lib/lru_cache 0x5752f31b lc_del +EXPORT_SYMBOL lib/lru_cache 0x7257beee lc_element_by_index +EXPORT_SYMBOL lib/lru_cache 0x9134feb7 lc_get +EXPORT_SYMBOL lib/lru_cache 0xb672aa97 lc_create +EXPORT_SYMBOL lib/lru_cache 0xbfbe53d5 lc_get_cumulative +EXPORT_SYMBOL lib/lru_cache 0xc3a98c1d lc_try_lock +EXPORT_SYMBOL lib/lru_cache 0xcc979a91 lc_set +EXPORT_SYMBOL lib/lru_cache 0xefec290a lc_find +EXPORT_SYMBOL lib/lru_cache 0xfd525ec7 lc_put +EXPORT_SYMBOL lib/lz4/lz4_compress 0x4f4d78c5 LZ4_compress_default +EXPORT_SYMBOL lib/lz4/lz4_compress 0x5bc92e85 LZ4_compress_destSize +EXPORT_SYMBOL lib/lz4/lz4_compress 0x6004858d LZ4_compress_fast +EXPORT_SYMBOL lib/lz4/lz4_compress 0x635ff76d LZ4_saveDict +EXPORT_SYMBOL lib/lz4/lz4_compress 0x749849d8 LZ4_loadDict +EXPORT_SYMBOL lib/lz4/lz4_compress 0xf9eced44 LZ4_compress_fast_continue +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x38f7b6e0 LZ4_compress_HC_continue +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x93ff008c LZ4_loadDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x9cef495b LZ4_saveDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0xddf86133 LZ4_compress_HC +EXPORT_SYMBOL lib/math/cordic 0x7e431c15 cordic_calc_iq +EXPORT_SYMBOL lib/objagg 0x0363233d objagg_obj_raw +EXPORT_SYMBOL lib/objagg 0x23865923 objagg_destroy +EXPORT_SYMBOL lib/objagg 0x24ca5ca9 objagg_obj_root_priv +EXPORT_SYMBOL lib/objagg 0x342aefe2 objagg_obj_delta_priv +EXPORT_SYMBOL lib/objagg 0x352633f4 objagg_hints_stats_get +EXPORT_SYMBOL lib/objagg 0x3c58e78f objagg_hints_put +EXPORT_SYMBOL lib/objagg 0x6691f29d objagg_obj_put +EXPORT_SYMBOL lib/objagg 0x679e8cc2 objagg_create +EXPORT_SYMBOL lib/objagg 0xb17ab162 objagg_obj_get +EXPORT_SYMBOL lib/objagg 0xdaa3ee68 objagg_stats_get +EXPORT_SYMBOL lib/objagg 0xf5511527 objagg_stats_put +EXPORT_SYMBOL lib/objagg 0xfaa9d1a8 objagg_hints_get +EXPORT_SYMBOL lib/parman 0x0f518717 parman_prio_init +EXPORT_SYMBOL lib/parman 0x7b03d378 parman_item_add +EXPORT_SYMBOL lib/parman 0x8b7e26f5 parman_item_remove +EXPORT_SYMBOL lib/parman 0xc3e2d892 parman_create +EXPORT_SYMBOL lib/parman 0xc6a3d260 parman_prio_fini +EXPORT_SYMBOL lib/parman 0xca39ae6a parman_destroy +EXPORT_SYMBOL lib/raid6/raid6_pq 0x0b2c64a3 raid6_vgfmul +EXPORT_SYMBOL lib/raid6/raid6_pq 0x17f54263 raid6_gfexp +EXPORT_SYMBOL lib/raid6/raid6_pq 0x59a2712d raid6_gfinv +EXPORT_SYMBOL lib/raid6/raid6_pq 0xb0d904b7 raid6_empty_zero_page +EXPORT_SYMBOL lib/raid6/raid6_pq 0xc8e3332b raid6_gflog +EXPORT_SYMBOL lib/raid6/raid6_pq 0xcc4ee841 raid6_gfexi +EXPORT_SYMBOL lib/raid6/raid6_pq 0xd91319d6 raid6_gfmul +EXPORT_SYMBOL net/6lowpan/6lowpan 0x0701d307 lowpan_unregister_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0x14f67bf0 lowpan_unregister_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0x1d07dc66 lowpan_register_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0x7c288470 lowpan_nhc_add +EXPORT_SYMBOL net/6lowpan/6lowpan 0xbf5c5ea1 lowpan_nhc_del +EXPORT_SYMBOL net/6lowpan/6lowpan 0xd773bad7 lowpan_register_netdevice +EXPORT_SYMBOL net/802/p8022 0x6123a492 unregister_8022_client +EXPORT_SYMBOL net/802/p8022 0x7f72d41d register_8022_client +EXPORT_SYMBOL net/802/psnap 0x47248591 register_snap_client +EXPORT_SYMBOL net/802/psnap 0xf021cbc6 unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x0e0f9de4 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x0e50a0cd p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0x125b6777 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x16046e4e p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x1b7ab91e p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x1ba92867 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x20ac29fe p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x29f77661 p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x306a8723 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x32f7ba78 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x3597a987 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x35a1269e p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x360bc1e7 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x3c272b6f p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x3ed762e4 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x41ce9823 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x48498670 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x48a9d3dc p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x4c11cc10 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x4c25ba04 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x53a0d854 p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x56884995 p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0x5ba31c9d p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x6812f7de p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x6c1a1a0a p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x6f7ab9ec p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x7021efc3 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x7c2bb303 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x95bd8f96 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x984c5e73 p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0x9cd00c48 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0xaa2e6745 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0xabaacdaf p9_client_read_once +EXPORT_SYMBOL net/9p/9pnet 0xb79f25fd p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0xcd24af13 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0xcd92ab28 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0xd2e4e22f p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xd30ed6b4 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0xd384c683 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xd67c35dd p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0xe3f98932 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0xe42b4f9c p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xed7d075d p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0xef056c7e v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0xf0a36771 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0xff984f0b v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0xfffee606 p9_client_getlock_dotl +EXPORT_SYMBOL net/appletalk/appletalk 0x065985f3 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0x6bce0e0a atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xcb228eea atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xe07398e7 alloc_ltalkdev +EXPORT_SYMBOL net/atm/atm 0x00a22269 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x12f02060 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x191b733a atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x1bb9ee4d atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x232becfa atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x4443d399 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x44c6e633 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x5060b32f deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x54b00118 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x6462e76e vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x70b19421 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x80e4808b vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0x890aa4fe atm_charge +EXPORT_SYMBOL net/atm/atm 0x9887b9f8 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x9bb501f2 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/ax25/ax25 0x0b5f0d72 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x14cecd59 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x34b67169 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x3a8dc9f1 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x3f91176c ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xa56bbdee ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xbbd7413b ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0xbc6f7be1 ax25_ip_xmit +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xcbb5df46 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xee02e420 ax25_findbyuid +EXPORT_SYMBOL net/bluetooth/bluetooth 0x055b71df bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0718b8b7 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0ae98f40 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0b00b9a6 bt_procfs_cleanup +EXPORT_SYMBOL net/bluetooth/bluetooth 0x152af2f7 hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x172c448c bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x214e4265 bt_warn +EXPORT_SYMBOL net/bluetooth/bluetooth 0x239c87fc __hci_cmd_sync_sk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x242db6f6 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2540d6a4 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2fb0a1fd hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x324b61f8 __hci_cmd_sync_ev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x32814349 bt_sock_wait_ready +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3c24a9e5 hci_alloc_dev_priv +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3dc703c2 hci_set_fw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x427fcced hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x436b2b38 l2cap_unregister_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x46c72e07 hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x48eb49ef hci_reset_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4d3b8dff hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x56dfffb3 __hci_cmd_send +EXPORT_SYMBOL net/bluetooth/bluetooth 0x597ebc29 __hci_cmd_sync_status +EXPORT_SYMBOL net/bluetooth/bluetooth 0x59baa00f bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5b099e5c hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6011a3b3 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x68bddb66 l2cap_chan_close +EXPORT_SYMBOL net/bluetooth/bluetooth 0x707cb963 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x73cfb0db l2cap_conn_get +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7aad008b bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b5ce5c3 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b8c32f1 bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x81c7f1da hci_set_hw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x81f393fa bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x899a8466 hci_mgmt_chan_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8d157050 hci_cmd_sync_queue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8fea24bd bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9035e56f bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x93f700f9 hci_cmd_sync_cancel +EXPORT_SYMBOL net/bluetooth/bluetooth 0x96a8429f hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9f6231e5 hci_recv_diag +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa1a6bb8b l2cap_register_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa31ce3f2 l2cap_conn_put +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa41b5ca9 __hci_cmd_sync_status_sk +EXPORT_SYMBOL net/bluetooth/bluetooth 0xaa94e51e hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0xaca13b17 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbbb775aa bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc5d4a185 hci_release_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcb8120e0 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0xce742ea9 l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0xce7ada52 hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcf31626a bt_procfs_init +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd1f0dddf __hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7613212 bt_err_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xddacccf6 bt_warn_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe787ecf5 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe8f962d0 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf23d5f9b bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfc56bc8c hci_get_route +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x01ebb388 ebt_register_template +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x0554019b ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x26030caf ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x372d6065 ebt_unregister_template +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xa0d480c1 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xc0602382 ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/caif/caif 0x141e4b50 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x1ea695ef cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0x2a09f713 cfpkt_fromnative +EXPORT_SYMBOL net/caif/caif 0x329dbd06 cfpkt_info +EXPORT_SYMBOL net/caif/caif 0x38701a7c cfcnfg_del_phy_layer +EXPORT_SYMBOL net/caif/caif 0x3fa84493 cfpkt_add_head +EXPORT_SYMBOL net/caif/caif 0x40babbe0 cfpkt_extr_head +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x64d8a6d6 get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0x8050375d caif_enroll_dev +EXPORT_SYMBOL net/caif/caif 0x839ddb7b cfcnfg_set_phy_state +EXPORT_SYMBOL net/caif/caif 0x9e3e305d cfpkt_set_prio +EXPORT_SYMBOL net/caif/caif 0xb099d16f caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/can/can 0x4a245518 can_proto_register +EXPORT_SYMBOL net/can/can 0x9a2e8e69 can_send +EXPORT_SYMBOL net/can/can 0xa65daef6 can_rx_register +EXPORT_SYMBOL net/can/can 0xabcc0c44 can_sock_destruct +EXPORT_SYMBOL net/can/can 0xb8b184c2 can_proto_unregister +EXPORT_SYMBOL net/can/can 0xebef49bd can_rx_unregister +EXPORT_SYMBOL net/ceph/libceph 0x02e8804b ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0x037eb3dd osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0x040756b7 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x04cad6f0 ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x05a09fc3 ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0x05af96e6 ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0x0795640c ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x08387362 ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0x0aade393 ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/ceph/libceph 0x0e9cd087 osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x0fb6a179 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x107343ac ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0x1378aba3 ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0x137c6280 ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0x13e71326 ceph_auth_handle_svc_reply_done +EXPORT_SYMBOL net/ceph/libceph 0x1456b4df ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x147e0f45 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x14d63ea5 ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0x165b1948 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x17c17611 ceph_pg_to_acting_primary +EXPORT_SYMBOL net/ceph/libceph 0x18d7a092 ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0x1ac60a79 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0x1ac681d6 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x1ce10ed2 ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x1ff184d5 osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x24ed2054 osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0x2a983d26 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x2b330791 ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0x2bc072dc ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0x2c44d215 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x2f5b4974 ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0x315a9de4 ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0x32cac95c osd_req_op_init +EXPORT_SYMBOL net/ceph/libceph 0x3308a585 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x38ccc9e9 ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0x38f2d94e ceph_file_to_extents +EXPORT_SYMBOL net/ceph/libceph 0x39b1631b ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0x3b59c5ca ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x3bcdc94a ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x3c8d7111 ceph_get_num_objects +EXPORT_SYMBOL net/ceph/libceph 0x4070f605 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x417a9131 ceph_oloc_destroy +EXPORT_SYMBOL net/ceph/libceph 0x419a56ae ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0x42e24c20 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x49eaec1f osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0x49f91315 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x4affd6c2 ceph_parse_fsid +EXPORT_SYMBOL net/ceph/libceph 0x50603ce3 ceph_decode_entity_addrvec +EXPORT_SYMBOL net/ceph/libceph 0x51e86181 ceph_osdc_call +EXPORT_SYMBOL net/ceph/libceph 0x579c8414 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5859f666 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x5c6b9025 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0x633122f2 osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x648d885d ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0x66f909c5 ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x69c94936 ceph_osdc_list_watchers +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x6c6a743e ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0x714c2100 osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0x76c492bf osd_req_op_xattr_init +EXPORT_SYMBOL net/ceph/libceph 0x79bf7b23 ceph_monc_blocklist_add +EXPORT_SYMBOL net/ceph/libceph 0x8090ef42 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x83166bf7 osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0x83daa1d5 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x85f3a5f7 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x86fca7e4 ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x89342f0e ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x8fbfe7f1 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x92b7b4ce ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0x986c762a ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0x987d3968 ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x9b398bd9 ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x9bc6b539 ceph_find_or_create_string +EXPORT_SYMBOL net/ceph/libceph 0x9c3310ce ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x9ca95932 ceph_create_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x9d0ccf18 ceph_osdc_watch +EXPORT_SYMBOL net/ceph/libceph 0x9dc85313 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x9fbba67f ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x9fefa3cb ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0xa0a9d762 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0xa5227b2f ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0xa613c2e8 ceph_client_gid +EXPORT_SYMBOL net/ceph/libceph 0xa698f998 ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0xa87a99f1 ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0xab7f8b81 ceph_auth_handle_bad_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xad703657 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb17d2bcb ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0xb361ea8a ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xb43263dd ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0xb461ee7a ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb72c162e ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xb75fd13e ceph_osdc_put_request +EXPORT_SYMBOL net/ceph/libceph 0xbaeb67d8 ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0xbd2f79ae ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0xbe3879aa ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0xbf07b526 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0xbf373c50 ceph_auth_get_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xc1457de6 osd_req_op_extent_init +EXPORT_SYMBOL net/ceph/libceph 0xc3045113 ceph_msg_put +EXPORT_SYMBOL net/ceph/libceph 0xc366bfa1 ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xc945eb88 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0xca1234b3 osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0xca80437b ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0xcae4e6ef ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0xcb3c4a4e ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0xcd35228a osd_req_op_copy_from_init +EXPORT_SYMBOL net/ceph/libceph 0xcd96c558 osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/ceph/libceph 0xcec9e25f ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0xcfcd19a3 __ceph_auth_get_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xcfe840cc ceph_cls_unlock +EXPORT_SYMBOL net/ceph/libceph 0xd056a72e osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xd2b92b98 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0xd422e40b osd_req_op_extent_dup_last +EXPORT_SYMBOL net/ceph/libceph 0xd4d736db ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0xd4eb7735 ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0xdb6d7c6c ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0xdef301b0 osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0xdf6ef4a1 ceph_oid_printf +EXPORT_SYMBOL net/ceph/libceph 0xdfc091f9 ceph_entity_type_name +EXPORT_SYMBOL net/ceph/libceph 0xe2cd59e8 ceph_auth_handle_svc_reply_more +EXPORT_SYMBOL net/ceph/libceph 0xe34a59f2 ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0xe5f5ce48 ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xe700b9fb osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0xe76e7226 ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0xec06ec80 ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0xec2d2f03 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0xec7088de ceph_cls_lock_info +EXPORT_SYMBOL net/ceph/libceph 0xee120c03 ceph_release_string +EXPORT_SYMBOL net/ceph/libceph 0xeef6cfa3 ceph_iterate_extents +EXPORT_SYMBOL net/ceph/libceph 0xefce3c3b ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0xefce991c ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0xf03fe862 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0xf86723a7 osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0xfb764a9b ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0xfb7f78b6 ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0xfc793cd0 ceph_monc_init +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xcaa39c39 dccp_req_err +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xcc48599a dccp_syn_ack_timeout +EXPORT_SYMBOL net/hsr/hsr 0x188a8d36 is_hsr_master +EXPORT_SYMBOL net/hsr/hsr 0x196c0126 hsr_get_version +EXPORT_SYMBOL net/ieee802154/ieee802154 0x2be1f967 wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x4cddd419 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0x55c436e7 wpan_phy_new +EXPORT_SYMBOL net/ieee802154/ieee802154 0x644b964d wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7f84d522 wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x8f63c47f wpan_phy_free +EXPORT_SYMBOL net/ipv4/fou 0x1757d1a4 fou_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0x658f69f7 __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0xb3b15f74 __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0xf13914b3 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0x284e6bbd gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x31d58f56 ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x6fafa365 ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x841d3f0a ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xb3533d8d ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x296ba5bc arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x3f85fdaa arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x474499bd arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xfb380ece arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x2ebaab1b ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x3efe59ef ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x7b825ec9 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xda89695b ipt_register_table +EXPORT_SYMBOL net/ipv4/tunnel4 0x66ae3ad5 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0xdc46c07d xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/udp_tunnel 0x30d4e613 udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x0219904f ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x18266321 ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x3da96756 ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x3de56230 ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x4d3bbb9b ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x6129fb92 ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x84c0b889 ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xdcbbb6e4 ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xf946271d ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x847f17c3 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x8f7a3987 ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb8fa5462 ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xcced8174 ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/tunnel6 0x17d0dc49 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0x754d3039 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x3b4803f5 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x9dc2a646 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/lapb/lapb 0x28aa8539 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x320d2bc1 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x68e92993 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x8729caec lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x92ed00f0 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0xb1ed4140 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0xba14e2d1 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0xce9267a1 lapb_getparms +EXPORT_SYMBOL net/llc/llc 0x28ad0cd3 llc_sap_close +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x4537b39a llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x6c32273c llc_sap_find +EXPORT_SYMBOL net/llc/llc 0xc4b34fff llc_add_pack +EXPORT_SYMBOL net/llc/llc 0xdef7d762 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0xe2a919f0 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0xfaf8f1c3 llc_mac_hdr_init +EXPORT_SYMBOL net/mac80211/mac80211 0x016df17f ieee80211_sta_pspoll +EXPORT_SYMBOL net/mac80211/mac80211 0x0614e720 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x063f5308 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x07b96f13 ieee80211_nan_func_match +EXPORT_SYMBOL net/mac80211/mac80211 0x0c041bf4 ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x0d9beafd ieee80211_unreserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x15cef388 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x16a5b1ae ieee80211_nan_func_terminated +EXPORT_SYMBOL net/mac80211/mac80211 0x183dcd3b ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0x19be43d4 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x19f37f0d ieee80211_update_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x1a66fc17 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0x1e664c41 ieee80211_mark_rx_ba_filtered_frames +EXPORT_SYMBOL net/mac80211/mac80211 0x1e82a492 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x1f4ca90a ieee80211_alloc_hw_nm +EXPORT_SYMBOL net/mac80211/mac80211 0x2181a4b0 ieee80211_txq_get_depth +EXPORT_SYMBOL net/mac80211/mac80211 0x2a633c0b ieee80211_return_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x303627b2 ieee80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x34810793 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x3725733a ieee80211_tdls_oper_request +EXPORT_SYMBOL net/mac80211/mac80211 0x3728f7a5 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x3b106f4a ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x3ba95019 ieee80211_send_eosp_nullfunc +EXPORT_SYMBOL net/mac80211/mac80211 0x3c9ace3c ieee80211_tx_prepare_skb +EXPORT_SYMBOL net/mac80211/mac80211 0x3ed0ef20 ieee80211_radar_detected +EXPORT_SYMBOL net/mac80211/mac80211 0x3fda3480 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x403a18e6 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x40fd5951 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x41d31863 ieee80211_iter_keys_rcu +EXPORT_SYMBOL net/mac80211/mac80211 0x45621023 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x4edd7018 ieee80211_tx_rate_update +EXPORT_SYMBOL net/mac80211/mac80211 0x54465f65 ieee80211_next_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x5d6dab33 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x5e028deb ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x5ed059cd ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x63c0ba59 ieee80211_disconnect +EXPORT_SYMBOL net/mac80211/mac80211 0x6809f394 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x69a2699a ieee80211_get_fils_discovery_tmpl +EXPORT_SYMBOL net/mac80211/mac80211 0x69fc0c6e ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0x6ad5a44d rate_control_set_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x6bd85f55 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x6e34a931 ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0x6f314869 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x70388869 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x71f2ec36 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x764225a9 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x7651b59e ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x7915eb01 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x7a0b1c92 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x7be27369 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x7e9746c8 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x809cf6cb ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x80d37cbe ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x819d04f6 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x84d70627 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x85045925 ieee80211_beacon_set_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0x8cec8f7b ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x8db8f423 ieee80211_txq_may_transmit +EXPORT_SYMBOL net/mac80211/mac80211 0x8f2b7cb8 ieee80211_beacon_update_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0x8f73dbad ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x95198c12 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x991a0ca0 ieee80211_parse_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x9a638912 ieee80211_sta_uapsd_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x9cc722b1 ieee80211_txq_airtime_check +EXPORT_SYMBOL net/mac80211/mac80211 0x9f9675f0 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0xa1e3ebaa ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xa2a64795 ieee80211_channel_switch_disconnect +EXPORT_SYMBOL net/mac80211/mac80211 0xa52ffca8 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0xa60d3869 ieee80211_tx_status_ext +EXPORT_SYMBOL net/mac80211/mac80211 0xa8a27aae ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xa94cd662 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xa99e23cf ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xacdbacbe ieee80211_rx_list +EXPORT_SYMBOL net/mac80211/mac80211 0xad697e6d ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xafdf9a86 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0xb1ea5406 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xb6afbc28 ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0xbf28fe00 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xc0ed27c7 ieee80211_rx_napi +EXPORT_SYMBOL net/mac80211/mac80211 0xc548ef6f ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0xc80e338e ieee80211_manage_rx_ba_offl +EXPORT_SYMBOL net/mac80211/mac80211 0xc83e83c9 ieee80211_beacon_cntdwn_is_complete +EXPORT_SYMBOL net/mac80211/mac80211 0xc8bf462b ieee80211_sta_eosp +EXPORT_SYMBOL net/mac80211/mac80211 0xc918cdc0 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xc9ae2e69 ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xcbfcacf0 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0xcece32e0 ieee80211_csa_finish +EXPORT_SYMBOL net/mac80211/mac80211 0xd13c8d86 ieee80211_sta_register_airtime +EXPORT_SYMBOL net/mac80211/mac80211 0xd2efdb74 ieee80211_report_wowlan_wakeup +EXPORT_SYMBOL net/mac80211/mac80211 0xd847c87d ieee80211_txq_schedule_start +EXPORT_SYMBOL net/mac80211/mac80211 0xddc9221a ieee80211_tx_dequeue +EXPORT_SYMBOL net/mac80211/mac80211 0xe1a3ceb6 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xe266888c ieee80211_get_tx_rates +EXPORT_SYMBOL net/mac80211/mac80211 0xe2847cc4 ieee80211_schedule_txq +EXPORT_SYMBOL net/mac80211/mac80211 0xe3ceeecf __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xe5752af3 ieee80211_get_bssid +EXPORT_SYMBOL net/mac80211/mac80211 0xed8fddb2 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0xedaee412 ieee80211_reserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0xee6fc522 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xf0515c23 ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0xf0d481a2 ieee80211_get_unsol_bcast_probe_resp_tmpl +EXPORT_SYMBOL net/mac80211/mac80211 0xf28e79da ieee80211_rx_ba_timer_expired +EXPORT_SYMBOL net/mac80211/mac80211 0xf6f47d9b ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xf909242c __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xfe26e268 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0xffad289c ieee80211_chswitch_done +EXPORT_SYMBOL net/mac802154/mac802154 0x1b337a65 ieee802154_xmit_hw_error +EXPORT_SYMBOL net/mac802154/mac802154 0x44f5d2ad ieee802154_register_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x64c0fb97 ieee802154_unregister_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x7f415a50 ieee802154_xmit_error +EXPORT_SYMBOL net/mac802154/mac802154 0x8d63bbf4 ieee802154_alloc_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x8f2286fa ieee802154_free_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xa14ba18b ieee802154_stop_queue +EXPORT_SYMBOL net/mac802154/mac802154 0xad50572e ieee802154_configure_durations +EXPORT_SYMBOL net/mac802154/mac802154 0xc293376b ieee802154_xmit_complete +EXPORT_SYMBOL net/mac802154/mac802154 0xf08f8762 ieee802154_rx_irqsafe +EXPORT_SYMBOL net/mac802154/mac802154 0xf474736a ieee802154_wake_queue +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x13942d3e ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1f9abad7 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x33b424e5 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x37d060c9 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x384834d8 ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4a498cc8 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x8a5ceccd ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x8ec5e6b8 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa6c8f6a0 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xace4528c ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb471fc50 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xbb62a3b7 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xbb80d1b2 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xbde8bed0 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xff944c89 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x3b08a8f0 nf_ct_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x45abaf0e nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x89d99ee1 __nf_ct_ext_find +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0xf2a36612 pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x464db973 nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nf_nat 0x50e57a45 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0x83371a70 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0xc2d5d364 nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nft_fib 0xb3c36947 nft_fib_policy +EXPORT_SYMBOL net/netfilter/x_tables 0x0d7f5fcd xt_alloc_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x3bf9d084 xt_check_table_hooks +EXPORT_SYMBOL net/netfilter/x_tables 0x48012e28 xt_check_proc_name +EXPORT_SYMBOL net/netfilter/x_tables 0x50873741 xt_compat_init_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x583ef857 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x5f4289c5 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x6192f930 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x784a0be0 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x977fd4bf xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xa0f7ddb8 xt_find_table +EXPORT_SYMBOL net/netfilter/x_tables 0xa25fc115 xt_compat_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0xa4374684 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xaab11cb3 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0xbca9247e xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0xcb3e91cc xt_counters_alloc +EXPORT_SYMBOL net/netfilter/x_tables 0xd87ae60d xt_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0xe204e042 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xf627b121 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xf707b5e8 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xfef779fa xt_find_jump_offset +EXPORT_SYMBOL net/nfc/hci/hci 0x1ea058cb nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x34fb21b6 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x4af7c40a nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x4e2f539c nfc_hci_driver_failure +EXPORT_SYMBOL net/nfc/hci/hci 0x51352eec nfc_hci_reset_pipes +EXPORT_SYMBOL net/nfc/hci/hci 0x51a6c5f9 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x6cfb7f58 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x74fe3670 nfc_hci_result_to_errno +EXPORT_SYMBOL net/nfc/hci/hci 0x775c4e10 nfc_hci_target_discovered +EXPORT_SYMBOL net/nfc/hci/hci 0x7da17562 nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x86c313e9 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0xaada5103 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0xb30acbd0 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0xb3a64908 nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xb8149b72 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xb88aa28e nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0xbbb39cca nfc_hci_send_cmd_async +EXPORT_SYMBOL net/nfc/hci/hci 0xd0bce380 nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0xd3ddd6ce nfc_llc_stop +EXPORT_SYMBOL net/nfc/hci/hci 0xdd231c55 nfc_hci_sak_to_protocol +EXPORT_SYMBOL net/nfc/hci/hci 0xde2dcb60 nfc_llc_start +EXPORT_SYMBOL net/nfc/hci/hci 0xedc022ed nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xeed804ca nfc_hci_reset_pipes_per_host +EXPORT_SYMBOL net/nfc/nci/nci 0x018e7fa4 nci_get_conn_info_by_dest_type_params +EXPORT_SYMBOL net/nfc/nci/nci 0x077cf638 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x122cca70 nci_send_data +EXPORT_SYMBOL net/nfc/nci/nci 0x186184ee nci_send_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x1a002f22 nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0x25c541fa nci_nfcee_mode_set +EXPORT_SYMBOL net/nfc/nci/nci 0x35c1d49f nci_core_reset +EXPORT_SYMBOL net/nfc/nci/nci 0x39c0679e nci_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0x3cfdbc0d nci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x40dee999 nci_hci_clear_all_pipes +EXPORT_SYMBOL net/nfc/nci/nci 0x42b3a660 nci_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x43ae2cee nci_conn_max_data_pkt_payload_size +EXPORT_SYMBOL net/nfc/nci/nci 0x449fc4da nci_prop_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x4f2c7ec3 nci_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0x5c5fb60c nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0x5d3a7409 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0x6f716ed8 nci_core_conn_close +EXPORT_SYMBOL net/nfc/nci/nci 0x7dab2ea1 nci_hci_open_pipe +EXPORT_SYMBOL net/nfc/nci/nci 0x7fbbf268 nci_core_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x83d6dede nci_core_conn_create +EXPORT_SYMBOL net/nfc/nci/nci 0x922aaaf1 nci_nfcee_discover +EXPORT_SYMBOL net/nfc/nci/nci 0x99a5b36b nci_req_complete +EXPORT_SYMBOL net/nfc/nci/nci 0xa2037196 nci_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0xa5c228c1 nci_hci_dev_session_init +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xbc69a8c9 nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0xcaeaaa33 nci_core_init +EXPORT_SYMBOL net/nfc/nci/nci 0xcee0972d nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0xd52a2caa nci_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0xee9b8123 nci_set_config +EXPORT_SYMBOL net/nfc/nfc 0x0810f315 nfc_se_connectivity +EXPORT_SYMBOL net/nfc/nfc 0x0e0ec706 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x1ed2cb85 nfc_find_se +EXPORT_SYMBOL net/nfc/nfc 0x23592083 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x2afe3698 nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nfc 0x359cd874 nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0x38efe062 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x3c4cbf67 nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x3ea322ff nfc_remove_se +EXPORT_SYMBOL net/nfc/nfc 0x442eef12 nfc_tm_activated +EXPORT_SYMBOL net/nfc/nfc 0x44d0c9c8 nfc_se_transaction +EXPORT_SYMBOL net/nfc/nfc 0x52929949 nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x53587561 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x6f5ea639 nfc_get_local_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x7521b279 nfc_driver_failure +EXPORT_SYMBOL net/nfc/nfc 0x7db52224 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x80a473c9 __nfc_alloc_vendor_cmd_reply_skb +EXPORT_SYMBOL net/nfc/nfc 0x93a9b0b2 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0xb702b1b2 nfc_send_to_raw_sock +EXPORT_SYMBOL net/nfc/nfc 0xc1dca282 nfc_vendor_cmd_reply +EXPORT_SYMBOL net/nfc/nfc 0xcb203bb2 nfc_tm_deactivated +EXPORT_SYMBOL net/nfc/nfc 0xd79934d6 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0xe7de67a4 nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0xee7b5ae1 nfc_add_se +EXPORT_SYMBOL net/nfc/nfc 0xfc931dbe nfc_fw_download_done +EXPORT_SYMBOL net/nfc/nfc_digital 0x6398ed73 nfc_digital_allocate_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x945519b2 nfc_digital_unregister_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xb149139a nfc_digital_free_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xcea38164 nfc_digital_register_device +EXPORT_SYMBOL net/phonet/phonet 0x0beeec6c phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x1687d057 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x1acc9fb7 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x3d0bb011 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x50291033 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x5da470ee pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0xc561804f phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0xcca8d4ac phonet_stream_ops +EXPORT_SYMBOL net/rxrpc/rxrpc 0x0ddc16a2 rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x1b794b82 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x1fa0a5e7 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x21b563d2 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x309facd8 rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x37c24b63 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x418de169 rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/rxrpc/rxrpc 0x6aa5df78 rxrpc_kernel_recv_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0xa705ff74 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0xa9e83d74 rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0xaa27924e rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0xaeaa8692 rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0xbeb8c5d0 rxrpc_kernel_check_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0xc1683d69 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0xe1677c4e rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/rxrpc/rxrpc 0xe305dc2b rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/rxrpc/rxrpc 0xe5f945c5 rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0xe8768565 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/sctp/sctp 0x1ebd2858 sctp_do_peeloff +EXPORT_SYMBOL net/smc/smc 0x01e529ab __SCK__tp_func_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x1e612b77 __SCT__tp_func_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x2e728403 __tracepoint_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x39a5c474 __tracepoint_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0x3ac4e1c7 __SCT__tp_func_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x3bcd3bb9 __SCT__tp_func_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0x5cc71472 __traceiter_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x5d242707 __SCK__tp_func_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x6d8dde8a __tracepoint_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0x747bfbdd __traceiter_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x8344344a __SCK__tp_func_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0x87ccd0c7 __SCT__tp_func_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0x93b97707 __traceiter_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0xbb04d995 __tracepoint_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0xd76c2eb4 __SCK__tp_func_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0xf18bf40c __traceiter_smcr_link_down +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x9aa1379d gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xb296a84b gss_mech_get +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xcf114bda gss_mech_put +EXPORT_SYMBOL net/sunrpc/sunrpc 0x02726d5d xdr_truncate_encode +EXPORT_SYMBOL net/sunrpc/sunrpc 0x1cbae527 svc_pool_stats_open +EXPORT_SYMBOL net/sunrpc/sunrpc 0xfed662d6 xdr_restrict_buflen +EXPORT_SYMBOL net/tipc/tipc 0x5fe31e64 tipc_dump_start +EXPORT_SYMBOL net/tipc/tipc 0x9da56887 tipc_dump_done +EXPORT_SYMBOL net/tipc/tipc 0xb363c31f tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tipc/tipc 0xb53e091e tipc_nl_sk_walk +EXPORT_SYMBOL net/tls/tls 0x5012783c tls_get_record +EXPORT_SYMBOL net/wireless/cfg80211 0x039c9ece cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x06ca71fd cfg80211_chandef_create +EXPORT_SYMBOL net/wireless/cfg80211 0x09a8d65e cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x0baf5fd5 cfg80211_external_auth_request +EXPORT_SYMBOL net/wireless/cfg80211 0x0bf3356c cfg80211_chandef_usable +EXPORT_SYMBOL net/wireless/cfg80211 0x0cc95bc2 ieee80211_s1g_channel_width +EXPORT_SYMBOL net/wireless/cfg80211 0x0d655109 cfg80211_update_owe_info_event +EXPORT_SYMBOL net/wireless/cfg80211 0x0d73ea01 wiphy_new_nm +EXPORT_SYMBOL net/wireless/cfg80211 0x117aca91 cfg80211_merge_profile +EXPORT_SYMBOL net/wireless/cfg80211 0x14b95643 ieee80211_get_channel_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x17a98001 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x18b6c250 cfg80211_any_usable_channels +EXPORT_SYMBOL net/wireless/cfg80211 0x1b3e0656 cfg80211_send_layer2_update +EXPORT_SYMBOL net/wireless/cfg80211 0x1b5a3a7e cfg80211_sinfo_alloc_tid_stats +EXPORT_SYMBOL net/wireless/cfg80211 0x1ce2497f reg_query_regdb_wmm +EXPORT_SYMBOL net/wireless/cfg80211 0x1d7398f8 cfg80211_abandon_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x1fb529a7 cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x206a3b37 cfg80211_sta_opmode_change_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x2194d123 cfg80211_bss_flush +EXPORT_SYMBOL net/wireless/cfg80211 0x260a4a47 cfg80211_rx_mgmt_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x275269b3 ieee80211_ie_split_ric +EXPORT_SYMBOL net/wireless/cfg80211 0x275c97f0 cfg80211_get_ies_channel_number +EXPORT_SYMBOL net/wireless/cfg80211 0x27fb9123 __cfg80211_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x2ba6e2ed cfg80211_iter_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x2d18cbe2 cfg80211_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x2de9555b cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0x2e4859f9 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x309a6279 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x348c09c4 cfg80211_crit_proto_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x3575e390 cfg80211_rx_assoc_resp +EXPORT_SYMBOL net/wireless/cfg80211 0x3643b80f ieee80211_chandef_to_operating_class +EXPORT_SYMBOL net/wireless/cfg80211 0x37ebb63b __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x3af9ae35 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x3b97e04d cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x3cb14663 cfg80211_reg_can_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x3ec2603a cfg80211_check_station_change +EXPORT_SYMBOL net/wireless/cfg80211 0x40510279 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x41560769 cfg80211_connect_done +EXPORT_SYMBOL net/wireless/cfg80211 0x429c0c31 ieee80211_bss_get_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x4320672d cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x43afadee ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x462e5381 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x46ff300c ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x4aca171e cfg80211_bss_iter +EXPORT_SYMBOL net/wireless/cfg80211 0x4d888bc1 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x5584448a ieee80211_channel_to_freq_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x56355689 cfg80211_nan_func_terminated +EXPORT_SYMBOL net/wireless/cfg80211 0x5697abcb cfg80211_nan_match +EXPORT_SYMBOL net/wireless/cfg80211 0x570035bb cfg80211_rx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x5b022655 cfg80211_conn_failed +EXPORT_SYMBOL net/wireless/cfg80211 0x6956e0e5 regulatory_pre_cac_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x696fcc88 cfg80211_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6bedf402 ieee80211_freq_khz_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x6c6f835e wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x6d150826 cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x6e9efea5 wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x6fdac2a6 ieee80211_data_to_8023_exthdr +EXPORT_SYMBOL net/wireless/cfg80211 0x70b458f9 cfg80211_sched_scan_stopped_locked +EXPORT_SYMBOL net/wireless/cfg80211 0x7252ed85 cfg80211_port_authorized +EXPORT_SYMBOL net/wireless/cfg80211 0x778f654c cfg80211_register_netdevice +EXPORT_SYMBOL net/wireless/cfg80211 0x79774588 get_wiphy_regdom +EXPORT_SYMBOL net/wireless/cfg80211 0x79b82a71 cfg80211_find_vendor_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x7acb86ed ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3ac925 ieee80211_get_vht_max_nss +EXPORT_SYMBOL net/wireless/cfg80211 0x7c8e4272 cfg80211_tx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x7d141d48 regulatory_set_wiphy_regd +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x84210a05 cfg80211_inform_bss_data +EXPORT_SYMBOL net/wireless/cfg80211 0x854b490d cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x8fa02936 cfg80211_free_nan_func +EXPORT_SYMBOL net/wireless/cfg80211 0x906e6a19 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x95ea0433 cfg80211_tx_mgmt_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x9650938d wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x96be13eb cfg80211_cac_event +EXPORT_SYMBOL net/wireless/cfg80211 0x97b516c7 ieee80211_mandatory_rates +EXPORT_SYMBOL net/wireless/cfg80211 0x9a4fd65a cfg80211_cqm_txe_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x9a9ddab4 __cfg80211_radar_event +EXPORT_SYMBOL net/wireless/cfg80211 0x9bd1bf7e regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x9d6cba30 cfg80211_find_elem_match +EXPORT_SYMBOL net/wireless/cfg80211 0xa171ff79 cfg80211_rx_control_port +EXPORT_SYMBOL net/wireless/cfg80211 0xa3d8ba1c cfg80211_get_drvinfo +EXPORT_SYMBOL net/wireless/cfg80211 0xa454b8ac cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0xaf678726 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xb0b44530 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0xb10ad635 __cfg80211_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xb2cea654 cfg80211_stop_iface +EXPORT_SYMBOL net/wireless/cfg80211 0xb44b7af1 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0xb72fb1da cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xb76c3602 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0xbc01ce0c cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xbd4c2af1 cfg80211_reg_can_beacon_relax +EXPORT_SYMBOL net/wireless/cfg80211 0xbdbc8704 cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/cfg80211 0xbe115edf cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0xc239cdd3 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xc35ff11d cfg80211_assoc_comeback +EXPORT_SYMBOL net/wireless/cfg80211 0xc4b4fc27 cfg80211_chandef_valid +EXPORT_SYMBOL net/wireless/cfg80211 0xcbe07641 cfg80211_control_port_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xcbedbcf2 cfg80211_get_station +EXPORT_SYMBOL net/wireless/cfg80211 0xcc1a7c48 cfg80211_is_element_inherited +EXPORT_SYMBOL net/wireless/cfg80211 0xcf653ca4 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xd11dffc2 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xd18c42c2 cfg80211_report_wowlan_wakeup +EXPORT_SYMBOL net/wireless/cfg80211 0xd56d55f3 ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xd97eaad4 cfg80211_chandef_compatible +EXPORT_SYMBOL net/wireless/cfg80211 0xdba126c1 reg_initiator_name +EXPORT_SYMBOL net/wireless/cfg80211 0xdcae1738 wiphy_rfkill_set_hw_state_reason +EXPORT_SYMBOL net/wireless/cfg80211 0xe260c9e7 cfg80211_rx_unprot_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xe269fd8a cfg80211_check_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0xe3909763 cfg80211_iftype_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0xe42734aa cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xe44c35e8 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xe48958bc cfg80211_ch_switch_started_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xe48a2e4f cfg80211_report_obss_beacon_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xe94d572d cfg80211_inform_bss_frame_data +EXPORT_SYMBOL net/wireless/cfg80211 0xeca08f71 cfg80211_background_cac_abort +EXPORT_SYMBOL net/wireless/cfg80211 0xeca104d2 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0xed95390e cfg80211_tdls_oper_request +EXPORT_SYMBOL net/wireless/cfg80211 0xf287a15b cfg80211_unregister_wdev +EXPORT_SYMBOL net/wireless/cfg80211 0xf3563f03 cfg80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xf3c39148 cfg80211_bss_color_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xf40bc2f5 ieee80211_operating_class_to_band +EXPORT_SYMBOL net/wireless/cfg80211 0xf5596d89 cfg80211_get_p2p_attr +EXPORT_SYMBOL net/wireless/cfg80211 0xf73000ec cfg80211_chandef_dfs_required +EXPORT_SYMBOL net/wireless/cfg80211 0xf83f94c5 cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xf9cb44f1 regulatory_set_wiphy_regd_sync +EXPORT_SYMBOL net/wireless/cfg80211 0xfb793f79 ieee80211_get_num_supported_channels +EXPORT_SYMBOL net/wireless/cfg80211 0xfc9d5efc cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0xfd84c532 wdev_chandef +EXPORT_SYMBOL net/wireless/lib80211 0x1cd87d6f lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x80646685 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xb4b82303 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0xb5cbd7a0 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xbef94915 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xf7ccd519 lib80211_crypt_info_free +EXPORT_SYMBOL sound/ac97_bus 0x9d633fc7 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x2f090bc3 snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1a724fcc snd_seq_kernel_client_ctl +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3061c52d snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3a016828 snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6bb71038 snd_seq_delete_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7ac2f329 snd_seq_expand_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7b8699eb snd_seq_event_port_detach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x800b5189 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0x970eff8e snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb7681135 snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x6ea09972 snd_midi_channel_alloc_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x833a3e07 snd_midi_channel_set_clear +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xb9948d2c snd_midi_channel_free_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xf912f0c8 snd_midi_process_event +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x734e4fba snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x7a3e0db5 snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x8150b379 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xb8620ad8 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xdd70dbf6 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xdd935c83 snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe9e6c50c snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0xc0adfa91 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x00e90496 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x02df593c snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x0706027e snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x076c70d8 snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x082161d9 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x095bff28 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x0f927b52 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x12863671 snd_device_free +EXPORT_SYMBOL sound/core/snd 0x15afbd0b snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x17b5cc88 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0x18d74de3 snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x18e1683f snd_dma_program +EXPORT_SYMBOL sound/core/snd 0x191e88cf snd_dma_pointer +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x1c0ef31b snd_device_register +EXPORT_SYMBOL sound/core/snd 0x202358a7 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x212a6438 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x2172a89b snd_card_new +EXPORT_SYMBOL sound/core/snd 0x22cbee34 snd_ctl_notify_one +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x32b4cfe8 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x340f9055 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x342a2354 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3d9eedb7 snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x43718570 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4eb6bd7e snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x523663bb snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0x5b30a8d2 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x6b03b873 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x73076315 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0x80770ade snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x80fff9d6 snd_device_new +EXPORT_SYMBOL sound/core/snd 0x83b28b0f snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x8cfe3baf snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x95fee8d0 _snd_ctl_add_follower +EXPORT_SYMBOL sound/core/snd 0x9dbf537f snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0x9e4e2a50 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xacfa2363 snd_jack_add_new_kctl +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xbe2255db snd_card_free +EXPORT_SYMBOL sound/core/snd 0xc1340bc2 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0xc5a6d10b release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0xc90f2c33 snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0xcb590288 snd_jack_new +EXPORT_SYMBOL sound/core/snd 0xcc6a729f snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0xd08b42bb snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0xda2e0ed5 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0xdb047547 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0xde476f9b snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0xe4c3c760 snd_component_add +EXPORT_SYMBOL sound/core/snd 0xe4fbb0c3 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0xe72b3e5e snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0xe8d93ac1 snd_card_register +EXPORT_SYMBOL sound/core/snd 0xeb00ae82 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0xec7d8795 snd_register_device +EXPORT_SYMBOL sound/core/snd 0xf133bd09 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0xf86d0004 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0xfffd89db copy_from_user_toio +EXPORT_SYMBOL sound/core/snd-compress 0x16c910a3 snd_compr_malloc_pages +EXPORT_SYMBOL sound/core/snd-compress 0x6a8feb9d snd_compr_free_pages +EXPORT_SYMBOL sound/core/snd-hwdep 0x1cd563bf snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x08f1e653 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x0aa267da snd_pcm_create_iec958_consumer +EXPORT_SYMBOL sound/core/snd-pcm 0x0fc55338 snd_sgbuf_get_page +EXPORT_SYMBOL sound/core/snd-pcm 0x10a1c881 __snd_pcm_lib_xfer +EXPORT_SYMBOL sound/core/snd-pcm 0x11eba48e snd_pcm_create_iec958_consumer_hw_params +EXPORT_SYMBOL sound/core/snd-pcm 0x132fba4e snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x13a7a407 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x1c3f42e6 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x1d4002fc snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x1f01adc3 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x266fd051 snd_pcm_period_elapsed_under_stream_lock +EXPORT_SYMBOL sound/core/snd-pcm 0x27e6b240 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0x289b7aba snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x36ea0765 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x376897a6 snd_pcm_hw_constraint_mask64 +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x37d8cde9 snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x3ec38502 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x407db34e snd_pcm_set_managed_buffer_all +EXPORT_SYMBOL sound/core/snd-pcm 0x433690ef snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x46b0752e snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x481ff6c5 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x503bd137 snd_interval_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0x515a9b8d snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x519bb4fa snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x51e3c1f7 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x5298bfbf snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x532a325b snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x594e77d5 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x59672256 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x5c4ca345 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x69255f54 snd_pcm_hw_limit_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x816c7ab6 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x834dc955 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x8b7b24a9 snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x8f3c592a snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0x904eb8b0 snd_pcm_hw_constraint_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0x9185fea9 snd_dma_buffer_mmap +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x94f8709a snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0xa1086805 snd_sgbuf_get_addr +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa92aa3ea snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0xac437f7b snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xacf74621 snd_dma_alloc_dir_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xadd74372 snd_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0xb32f50a7 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xc266223f snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0xc9d88009 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xd7b571a4 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0xdc92592b snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0xdd53cc3e snd_pcm_set_managed_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xe40fdc3e snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xee7c6cc4 snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-pcm 0xf3f0025c snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0xf5da5d90 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0xf9134bb8 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0xff6104d0 snd_pcm_rate_bit_to_rate +EXPORT_SYMBOL sound/core/snd-rawmidi 0x02538c79 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x06c939ba __snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0920d46c snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x15aaffa0 __snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1c5344c7 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x29bcd3ba snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2b3886ca snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x33b6e1d5 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3496874b snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5968da12 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5def26d4 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x613638e7 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x63deca4e snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7073ac33 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7e270361 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x90b5c928 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0xad136c28 snd_rawmidi_proceed +EXPORT_SYMBOL sound/core/snd-rawmidi 0xd0284c27 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe98bb51a snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf1bf76f3 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-seq-device 0x091def1c snd_seq_autoload_exit +EXPORT_SYMBOL sound/core/snd-seq-device 0x370a0736 snd_seq_autoload_init +EXPORT_SYMBOL sound/core/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/snd-seq-device 0x8c308931 snd_seq_device_new +EXPORT_SYMBOL sound/core/snd-timer 0x3191511c snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x3f9ab7b4 snd_timer_instance_new +EXPORT_SYMBOL sound/core/snd-timer 0x43e8a94e snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x4fa8662f snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x57c5463e snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x73a1536c snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0x76438b61 snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0x79e84a64 snd_timer_instance_free +EXPORT_SYMBOL sound/core/snd-timer 0x8a617516 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x9388610f snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0xa90a2f98 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0xb819151d snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0xbcc1eeda snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0xf72429d0 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0xfbcd38b6 snd_timer_interrupt +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x69bfa19f snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc0fec227 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x179c9073 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x1d523aec snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x3e17e107 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x536a1682 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x86530ff4 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x9a86d0d2 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xa0285466 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xd3f3d290 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xea8675d8 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x1d3640e6 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x203fe8a8 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x226138b0 snd_vx_threaded_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x3994770f snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x40ffbbfa snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x49267571 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x80c0bf68 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x8f85bfad snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xed08441d snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xfe0bee71 snd_vx_suspend +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x080d2878 amdtp_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0b2fe23b amdtp_stream_add_pcm_hw_constraints +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1d4fe792 amdtp_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x20254e45 amdtp_syt_intervals +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2379bcf0 avc_general_get_plug_info +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2bb39377 amdtp_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x308723d0 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x325ed257 amdtp_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x34d6e2fc amdtp_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3a7a3f5e cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3e1af574 fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3fd22122 amdtp_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4b8324b6 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5147345f cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x53ca18e8 amdtp_rate_table +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5b26a39f cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5ea01595 avc_general_get_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x605a24dd amdtp_stream_set_parameters +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x714f98e1 fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7ea12902 cmp_connection_release +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8651e8b0 cmp_connection_check_used +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x98fc96fe fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x9a438f26 iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x9baf9063 snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x9f8bb214 fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa738c484 cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xac6daf28 avc_general_set_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb08c3c6b cmp_connection_reserve +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb4d25995 fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb6702034 iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe36600f3 cmp_connection_break +EXPORT_SYMBOL sound/hda/snd-intel-dspcfg 0x41a05c36 intel_nhlt_has_endpoint_type +EXPORT_SYMBOL sound/hda/snd-intel-dspcfg 0x66fd6169 intel_nhlt_ssp_endpoint_mask +EXPORT_SYMBOL sound/hda/snd-intel-dspcfg 0x99ed5e34 intel_nhlt_get_endpoint_blob +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x65a47011 snd_ak4113_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x71e7ef94 snd_ak4113_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x2bfae893 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x4b3ef1c0 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x73553b0b snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x8fa969e4 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xa32c061f snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xbc384c43 snd_ak4114_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xd9c76784 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xde18303a snd_ak4114_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x0d662b85 snd_ak4117_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x4b3554d1 snd_ak4117_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x5396f1a1 snd_ak4117_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0x8bf3ecc8 snd_ak4117_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xbcf3e275 snd_ak4117_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4117 0xff9acdc6 snd_ak4117_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x8ba7459c snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xb88134bc snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xbb421f65 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xd3992eb0 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x8f14252a snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xe82f737f snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x3f3e0a38 snd_cs8427_init +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x43e1e71b snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x695e5ed1 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x766d79f8 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x8e8ab173 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xfa87fdf4 snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-i2c 0x03edd124 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0x2949df30 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x409968ba snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x45e3c0c2 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x5919b3cf snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x8f50e4d2 snd_i2c_probeaddr +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x06fe280b snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x0e4b5ef8 snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x45727381 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x565f33f1 snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x5c85ff85 snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x67c70072 snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x8f8890ae snd_sbdsp_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x9ecb4b71 snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xc0c06384 snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xd7b82a10 snd_sbmixer_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x213b5723 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x269cc0ce snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x356d7851 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3a25602e snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3d0c7b25 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x46058fcd snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5ac54ea6 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5bc5fbeb snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7169994b snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x87d7caa0 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x90da61b9 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9fffe162 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa7bdeed0 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa88bbdb9 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xcea9cc4c snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xdf708ad9 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe2f899d0 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/asihpi/snd-asihpi 0xf785a364 hpi_send_recv +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x1706875d snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x36a87e1e snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x4948c867 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x4a8d1975 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x519cfb6c snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x548105e3 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x9d569fdb snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xb17cb483 snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xbb61dea8 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x1723ee0e snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x2abf0d09 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x5c3b4a23 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1bf20baa oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2b9f9329 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x37c8d367 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5043eb07 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x58635ec5 oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x72025d6c oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa4b25ac4 oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa4d69aba oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa52d45c9 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb0336fd0 oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb071e24c oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb40eb978 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd222f42a oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd76087ef oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xda269d67 oxygen_update_dac_routing +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe409ca44 oxygen_pci_pm +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe74c2e2f oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe75bb140 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf12e538f oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf408d026 oxygen_write32_masked +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x008f5e61 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x2411e8b7 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x42a2041d snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x8e40c0ee snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xde4b2e74 snd_trident_free_voice +EXPORT_SYMBOL sound/soc/amd/acp_audio_dma 0xf2cc2cce acp_bt_uart_enable +EXPORT_SYMBOL sound/soc/amd/snd-acp-config 0x52f1413b snd_soc_acpi_amd_sof_machines +EXPORT_SYMBOL sound/soc/amd/snd-acp-config 0xfc734124 snd_amd_acp_find_config +EXPORT_SYMBOL sound/soc/codecs/snd-soc-adau1372 0x78029824 adau1372_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-lpass-wsa-macro 0x9bd9e623 wsa_macro_set_spkr_mode +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x875613f3 pcm3060_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0xffc47504 pcm3060_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-rt715 0xed2acb24 hda_to_sdw +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x1b183878 tlv320aic23_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x5739bfb8 tlv320aic23_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x0580d84c aic32x4_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x66264564 aic32x4_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0xb2ed1528 aic32x4_regmap_config +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic3x 0x313504fc aic3x_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic3x 0xc6706c75 aic3x_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x3a195ca9 wcd_mbhc_get_impedance +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x789ebe56 wcd_mbhc_set_hph_type +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xa5758a49 wcd_mbhc_get_hph_type +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xbbd8092f wcd_mbhc_init +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xd094df47 wcd_mbhc_deinit +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xdf59587c wcd_mbhc_start +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xe2beca26 wcd_mbhc_stop +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xffd315cb wcd_dt_parse_mbhc_data +EXPORT_SYMBOL sound/soc/snd-soc-core 0x196f096d snd_soc_alloc_ac97_component +EXPORT_SYMBOL sound/soc/sof/amd/snd-sof-amd-renoir 0x5f6834e0 sof_renoir_ops +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x032d1f43 snd_sof_device_remove +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x16685b72 sof_set_fw_state +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x18bc75bf snd_sof_dsp_update_bits64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1c767a3d snd_sof_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x27f0c5f0 snd_sof_ipc_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x30cc6567 sof_ipc_tx_message +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x323c8886 snd_sof_device_probe_completed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x368c6727 sof_debug_check_flag +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x41d0a834 snd_sof_load_firmware_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x44d546d7 snd_sof_device_shutdown +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4d537936 snd_sof_dsp_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x537b992f sof_machine_unregister +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x64cc06d7 sof_io_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6773fd26 sof_mailbox_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x68848271 snd_sof_runtime_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x749817e3 snd_sof_ipc_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x76fd9227 sof_io_write64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7ea221c1 snd_sof_run_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7fea33c3 snd_sof_device_probe +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x800e8697 snd_sof_dsp_panic +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x817d08ad snd_sof_runtime_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x832e5685 sof_ipc_msg_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8705ba2a sof_ipc_tx_message_no_pm +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x884d1953 sof_io_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x890e7e95 snd_sof_dsp_update_bits_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8c7f3d26 sof_mailbox_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8fe769e9 snd_sof_complete +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x98161a47 snd_sof_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9a6d2035 sof_io_read64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9b50ec0e snd_sof_load_topology +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9f086b5c sof_stream_pcm_open +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa04ba548 sof_machine_check +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa065464e sof_block_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa376535b snd_sof_fw_unload +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xaca5be5c snd_sof_pcm_period_elapsed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xaca82e8b sof_dai_get_mclk +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xadf63b03 sof_pcm_dai_link_fixup +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb59216ae sof_machine_register +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb798955d snd_sof_prepare +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xbd4f78c0 sof_set_stream_data_offset +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xbe2ef461 snd_sof_dsp_update_bits64_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc074012a snd_sof_dsp_dbg_dump +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc156cdda sof_dai_get_bclk +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xca1c28a3 snd_sof_load_firmware_raw +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xcc823e57 snd_sof_runtime_idle +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xceaa851e snd_sof_dsp_update_bits_forced +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd344e6c5 sof_widget_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe000f165 sof_widget_setup +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe50f9e18 sof_print_oops_and_stack +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf057451c sof_stream_pcm_close +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf3eb76ad snd_sof_ipc_get_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf45f65d8 snd_sof_pci_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf4d18138 snd_sof_ipc_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf5641ab9 snd_sof_dsp_only_d0i3_compatible_stream_active +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf96b5c76 sof_block_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xfa947e10 snd_sof_handle_fw_exception +EXPORT_SYMBOL sound/soc/sof/snd-sof-utils 0xb51f7b50 snd_sof_create_page_table +EXPORT_SYMBOL sound/soundcore 0x421e1612 sound_class +EXPORT_SYMBOL sound/soundcore 0x45296e3a register_sound_special +EXPORT_SYMBOL sound/soundcore 0x5c3b4214 register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xeb998add register_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xfd273c8c register_sound_mixer +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x023e4687 snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x6c6e3eee snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x779be739 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x98870d82 snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x9ce7cb76 snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xdd6c8fec snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/snd-util-mem 0x0eda33fa snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x2a48197f snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x6517719f __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x914f3491 snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9223e14b snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9adc8c44 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xc59655e4 snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0xd28dc0da __snd_util_mem_alloc +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x4d75e969 __snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xb2af19e1 snd_usbmidi_resume +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xbed43a41 snd_usbmidi_suspend +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL vmlinux 0x00148653 vsnprintf +EXPORT_SYMBOL vmlinux 0x00350790 pci_disable_device +EXPORT_SYMBOL vmlinux 0x00440003 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x004a368a devm_clk_put +EXPORT_SYMBOL vmlinux 0x00a4b044 amd_iommu_deactivate_guest_mode +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00bbb669 netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0x00d7e722 vme_lm_count +EXPORT_SYMBOL vmlinux 0x00e5f747 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x00fc9726 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01156ae4 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x011bab86 prepare_creds +EXPORT_SYMBOL vmlinux 0x013f26ae dma_fence_get_stub +EXPORT_SYMBOL vmlinux 0x0147812c kblockd_mod_delayed_work_on +EXPORT_SYMBOL vmlinux 0x015bd133 netif_schedule_queue +EXPORT_SYMBOL vmlinux 0x01631d62 __scm_send +EXPORT_SYMBOL vmlinux 0x016461c4 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x01717372 scsi_done_direct +EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device +EXPORT_SYMBOL vmlinux 0x017de3d5 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0x018574a1 mb_cache_entry_delete +EXPORT_SYMBOL vmlinux 0x0188cd88 vme_alloc_consistent +EXPORT_SYMBOL vmlinux 0x018d1866 iommu_get_msi_cookie +EXPORT_SYMBOL vmlinux 0x018e69da scsi_print_result +EXPORT_SYMBOL vmlinux 0x01a59837 pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0x01aa7691 flow_block_cb_free +EXPORT_SYMBOL vmlinux 0x01b6865c xa_get_mark +EXPORT_SYMBOL vmlinux 0x01bf0462 skb_push +EXPORT_SYMBOL vmlinux 0x01bf55fc paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x01dd3378 dma_resv_fini +EXPORT_SYMBOL vmlinux 0x0205b7c8 uart_match_port +EXPORT_SYMBOL vmlinux 0x0209f3a7 secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0x020d29e6 __d_drop +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x0228925f iowrite64_hi_lo +EXPORT_SYMBOL vmlinux 0x02293ac3 dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0x0237b57a arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x023d09c4 watchdog_register_governor +EXPORT_SYMBOL vmlinux 0x023d1b90 wrmsr_on_cpu +EXPORT_SYMBOL vmlinux 0x023f22a1 phy_register_fixup +EXPORT_SYMBOL vmlinux 0x0248efd3 kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0x024b4e44 iov_iter_bvec +EXPORT_SYMBOL vmlinux 0x0261e571 sock_from_file +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x027bcbc2 flow_block_cb_setup_simple +EXPORT_SYMBOL vmlinux 0x028b4542 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x02985d7e vc_resize +EXPORT_SYMBOL vmlinux 0x02acadde dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x02b6a74e __destroy_inode +EXPORT_SYMBOL vmlinux 0x02b8ab42 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x02c656b6 acpi_enable_all_runtime_gpes +EXPORT_SYMBOL vmlinux 0x02d24132 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x03128ec5 unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x03167259 vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0x031f6ab6 dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0x03323f0f ethtool_notify +EXPORT_SYMBOL vmlinux 0x0333512b scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x0349806c jbd2_journal_finish_inode_data_buffers +EXPORT_SYMBOL vmlinux 0x034a7baa dma_resv_iter_next_unlocked +EXPORT_SYMBOL vmlinux 0x036072e9 key_link +EXPORT_SYMBOL vmlinux 0x0360d67f make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x0362f9a8 __x86_indirect_thunk_r12 +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03815f35 ledtrig_disk_activity +EXPORT_SYMBOL vmlinux 0x0396754a ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x03b1af9c free_task +EXPORT_SYMBOL vmlinux 0x03bf0e5a acpi_walk_resource_buffer +EXPORT_SYMBOL vmlinux 0x03c202b2 blkdev_compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0x03ca888e jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x03f2431c ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x043d0d43 submit_bio_wait +EXPORT_SYMBOL vmlinux 0x043db932 nd_pfn_validate +EXPORT_SYMBOL vmlinux 0x044154c6 tc_skb_ext_tc +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x0451e75d __mdiobus_read +EXPORT_SYMBOL vmlinux 0x0474edef kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x0479aac1 seq_list_next_rcu +EXPORT_SYMBOL vmlinux 0x047b91d1 mdiobus_get_phy +EXPORT_SYMBOL vmlinux 0x0484c6c4 acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x0485eba6 filemap_alloc_folio +EXPORT_SYMBOL vmlinux 0x04863e28 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x048dcdb9 devm_arch_phys_wc_add +EXPORT_SYMBOL vmlinux 0x04c62fd7 __memset +EXPORT_SYMBOL vmlinux 0x04ce5cbe dma_resv_iter_first_unlocked +EXPORT_SYMBOL vmlinux 0x04d2fcae i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x04d59a06 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x04d8c750 release_perfctr_nmi +EXPORT_SYMBOL vmlinux 0x04db0349 vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0x04e5e26a dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x04ea0f85 noop_llseek +EXPORT_SYMBOL vmlinux 0x04ea5d10 ksize +EXPORT_SYMBOL vmlinux 0x04f12fcb from_kuid +EXPORT_SYMBOL vmlinux 0x04f6786e phy_get_internal_delay +EXPORT_SYMBOL vmlinux 0x05036422 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x0503a258 file_remove_privs +EXPORT_SYMBOL vmlinux 0x050877b9 dmi_first_match +EXPORT_SYMBOL vmlinux 0x051d58e8 dma_fence_wait_any_timeout +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x05423586 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x05436b75 inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x055e77e8 jiffies_64 +EXPORT_SYMBOL vmlinux 0x0570d35f ppp_channel_index +EXPORT_SYMBOL vmlinux 0x0583c5f1 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x059e1482 __traceiter_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x05aa8932 __serio_register_port +EXPORT_SYMBOL vmlinux 0x05b12347 _dev_alert +EXPORT_SYMBOL vmlinux 0x05b6ab7a dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0x05c6c8c7 __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x05cd4d4f netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0x05d07a2a nd_region_release_lane +EXPORT_SYMBOL vmlinux 0x05d2405e xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0x06033b3d sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x06052f8d __memmove +EXPORT_SYMBOL vmlinux 0x060ba97c gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x061d544c reuseport_migrate_sock +EXPORT_SYMBOL vmlinux 0x0626f8d8 kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0x062830a7 dev_mc_add +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x06442ab0 jbd2_journal_put_journal_head +EXPORT_SYMBOL vmlinux 0x064487ad put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0x064d45b5 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x0658134d add_watch_to_object +EXPORT_SYMBOL vmlinux 0x065c12b2 agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0x066354d5 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x0668b2fa inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x0668b595 _kstrtoul +EXPORT_SYMBOL vmlinux 0x066b7068 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x067b7706 jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0x06940f22 dmaenginem_async_device_register +EXPORT_SYMBOL vmlinux 0x0697dd69 file_path +EXPORT_SYMBOL vmlinux 0x06a27c2f eth_type_trans +EXPORT_SYMBOL vmlinux 0x06a86bc1 iowrite16 +EXPORT_SYMBOL vmlinux 0x06b57642 locks_copy_lock +EXPORT_SYMBOL vmlinux 0x06b7e2e1 rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0x06bd88b5 ucs2_strnlen +EXPORT_SYMBOL vmlinux 0x06d11488 __bitmap_equal +EXPORT_SYMBOL vmlinux 0x06d385d2 rproc_elf_find_loaded_rsc_table +EXPORT_SYMBOL vmlinux 0x06ead246 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x06f37b2d generic_setlease +EXPORT_SYMBOL vmlinux 0x06f81260 param_ops_bint +EXPORT_SYMBOL vmlinux 0x07098248 xz_dec_microlzma_alloc +EXPORT_SYMBOL vmlinux 0x072c0a8e tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x072f901c vme_master_rmw +EXPORT_SYMBOL vmlinux 0x0741073e blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0x0745a981 xa_erase +EXPORT_SYMBOL vmlinux 0x075ee7ae rproc_get_by_phandle +EXPORT_SYMBOL vmlinux 0x07717603 ptp_clock_register +EXPORT_SYMBOL vmlinux 0x0789d652 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x078be506 __inode_add_bytes +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07aed0c2 d_genocide +EXPORT_SYMBOL vmlinux 0x07b49f88 netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07ceeac9 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x07d43150 security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0x07f1523c irq_set_chip +EXPORT_SYMBOL vmlinux 0x07f57478 pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0x0800473f __cond_resched +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x08162c74 free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x08249512 iwe_stream_add_point +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x084416fd fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0x085825de jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x0862908e __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x0863dec1 pps_unregister_source +EXPORT_SYMBOL vmlinux 0x0870d509 __icmp_send +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x0884ed5e dget_parent +EXPORT_SYMBOL vmlinux 0x08a578ca clk_add_alias +EXPORT_SYMBOL vmlinux 0x08dc6a15 igrab +EXPORT_SYMBOL vmlinux 0x08dcf4ea mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0x08e5088d mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x09010efa __scsi_add_device +EXPORT_SYMBOL vmlinux 0x0911076c kill_anon_super +EXPORT_SYMBOL vmlinux 0x0915943a kset_unregister +EXPORT_SYMBOL vmlinux 0x09288344 netdev_printk +EXPORT_SYMBOL vmlinux 0x0928f909 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x092cf9a2 pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0x092e26bf acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0x093712e5 acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x093acf0f pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x0944e99a dump_skip +EXPORT_SYMBOL vmlinux 0x09526f7d give_up_console +EXPORT_SYMBOL vmlinux 0x095b5a2a pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0x09684129 user_path_at_empty +EXPORT_SYMBOL vmlinux 0x09691ec3 sg_miter_start +EXPORT_SYMBOL vmlinux 0x096b8e23 iov_iter_kvec +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x097af021 neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x098a3b0a ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x0990f908 tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0x0998cc3c hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0x099b63d7 skb_checksum_setup +EXPORT_SYMBOL vmlinux 0x09c48e2d dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09da0ba4 xa_set_mark +EXPORT_SYMBOL vmlinux 0x09e1bba3 padata_alloc_shell +EXPORT_SYMBOL vmlinux 0x09e4a224 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x09ec4e4b get_user_pages_remote +EXPORT_SYMBOL vmlinux 0x09f51372 pnp_stop_dev +EXPORT_SYMBOL vmlinux 0x09f850b5 kthread_create_on_cpu +EXPORT_SYMBOL vmlinux 0x09fcb750 netif_napi_add_weight +EXPORT_SYMBOL vmlinux 0x0a012f73 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0a052638 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x0a0ebc08 __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0x0a1e2ec4 param_set_bint +EXPORT_SYMBOL vmlinux 0x0a1e8769 utf8_casefold_hash +EXPORT_SYMBOL vmlinux 0x0a204d82 udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x0a2e8c59 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x0a60b919 __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0x0a770832 register_memory_notifier +EXPORT_SYMBOL vmlinux 0x0a84b15d zstd_init_cctx +EXPORT_SYMBOL vmlinux 0x0a983b7e _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0x0a9c639c blk_stack_limits +EXPORT_SYMBOL vmlinux 0x0aa0df8a mpage_readahead +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0aabbe14 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x0abbd7fa serio_interrupt +EXPORT_SYMBOL vmlinux 0x0aca812f generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0adc252e sock_init_data +EXPORT_SYMBOL vmlinux 0x0add5622 dst_release +EXPORT_SYMBOL vmlinux 0x0af2d535 __fput_sync +EXPORT_SYMBOL vmlinux 0x0b19b445 ioread8 +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b26b8c8 acpi_run_osc +EXPORT_SYMBOL vmlinux 0x0b290ada dma_fence_chain_walk +EXPORT_SYMBOL vmlinux 0x0b637410 cr4_update_irqsoff +EXPORT_SYMBOL vmlinux 0x0b6c7562 xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b7dacb0 ether_setup +EXPORT_SYMBOL vmlinux 0x0b873adb inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x0ba0b938 vm_brk +EXPORT_SYMBOL vmlinux 0x0bb97ccc ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x0bbfa78c set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bf0cb62 __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0x0bfc1d1a check_zeroed_user +EXPORT_SYMBOL vmlinux 0x0c14e4f6 ip_defrag +EXPORT_SYMBOL vmlinux 0x0c177248 generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c2aec1e truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x0c2e3f31 block_write_end +EXPORT_SYMBOL vmlinux 0x0c3690fc _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0x0c4a11a4 qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0x0c4e211b dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x0c4f18f6 bh_submit_read +EXPORT_SYMBOL vmlinux 0x0c575719 __cond_resched_rwlock_write +EXPORT_SYMBOL vmlinux 0x0c5bb657 mmc_free_host +EXPORT_SYMBOL vmlinux 0x0c642d33 security_path_mknod +EXPORT_SYMBOL vmlinux 0x0c6bad78 vme_register_bridge +EXPORT_SYMBOL vmlinux 0x0c6bdc3f vme_master_read +EXPORT_SYMBOL vmlinux 0x0c70bc3a devm_ioremap_np +EXPORT_SYMBOL vmlinux 0x0c761792 neigh_ifdown +EXPORT_SYMBOL vmlinux 0x0c938cbb devm_register_netdev +EXPORT_SYMBOL vmlinux 0x0cb3ac1e agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0x0cb40e1f filemap_invalidate_unlock_two +EXPORT_SYMBOL vmlinux 0x0cbd2760 backlight_device_register +EXPORT_SYMBOL vmlinux 0x0cc1cdb8 request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x0cc1e799 security_task_getsecid_obj +EXPORT_SYMBOL vmlinux 0x0cc4b4b6 crc_ccitt_false +EXPORT_SYMBOL vmlinux 0x0cd5835b ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x0cd95865 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x0cdce87c rfkill_set_hw_state_reason +EXPORT_SYMBOL vmlinux 0x0d03c8cd page_cache_next_miss +EXPORT_SYMBOL vmlinux 0x0d066a66 netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d0ca666 ps2_end_command +EXPORT_SYMBOL vmlinux 0x0d22737b xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0x0d26e9c7 dma_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x0d2a0bc5 crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0x0d333b64 zstd_end_stream +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d54dbc8 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x0d7b002d boot_cpu_data +EXPORT_SYMBOL vmlinux 0x0d7c268b neigh_for_each +EXPORT_SYMBOL vmlinux 0x0d93111b ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x0d983097 pci_bus_type +EXPORT_SYMBOL vmlinux 0x0daf7932 netdev_features_change +EXPORT_SYMBOL vmlinux 0x0dc237b3 __folio_cancel_dirty +EXPORT_SYMBOL vmlinux 0x0dcfaaea devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x0ded28de vfs_rename +EXPORT_SYMBOL vmlinux 0x0df92a5e __sk_dst_check +EXPORT_SYMBOL vmlinux 0x0e063520 __breadahead +EXPORT_SYMBOL vmlinux 0x0e0f5079 skb_seq_read +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e1c43e1 set_page_writeback +EXPORT_SYMBOL vmlinux 0x0e23b37f alloc_cpumask_var_node +EXPORT_SYMBOL vmlinux 0x0e4262c6 __siphash_unaligned +EXPORT_SYMBOL vmlinux 0x0e509c69 sock_queue_rcv_skb_reason +EXPORT_SYMBOL vmlinux 0x0e6500f3 crypto_sha512_update +EXPORT_SYMBOL vmlinux 0x0e6654dc pneigh_lookup +EXPORT_SYMBOL vmlinux 0x0e728345 mmc_register_driver +EXPORT_SYMBOL vmlinux 0x0e9be6ec tcf_block_put +EXPORT_SYMBOL vmlinux 0x0ea3c74e tasklet_kill +EXPORT_SYMBOL vmlinux 0x0ea593f6 hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0x0eb6eb87 add_taint +EXPORT_SYMBOL vmlinux 0x0ec5babe vme_dma_free +EXPORT_SYMBOL vmlinux 0x0ec7af51 tcp_req_err +EXPORT_SYMBOL vmlinux 0x0ed05d2e set_pages_array_wb +EXPORT_SYMBOL vmlinux 0x0eeafa35 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f1ad8e2 seq_list_start_rcu +EXPORT_SYMBOL vmlinux 0x0f37ca89 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0x0f4ea765 phy_aneg_done +EXPORT_SYMBOL vmlinux 0x0f5b2d7f gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x0f630261 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x0f7f81ed pci_choose_state +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0f900bf5 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x0f967232 sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0x0fab1ab0 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0x0facf9b1 vme_bus_error_handler +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0fe341f7 devm_extcon_unregister_notifier +EXPORT_SYMBOL vmlinux 0x0fe488e2 skb_expand_head +EXPORT_SYMBOL vmlinux 0x0ff15319 posix_test_lock +EXPORT_SYMBOL vmlinux 0x0ff80f59 zalloc_cpumask_var +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x10065bf6 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x100e8862 serio_bus +EXPORT_SYMBOL vmlinux 0x1022a5ae ppp_register_channel +EXPORT_SYMBOL vmlinux 0x102b870a tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0x1035c7c2 __release_region +EXPORT_SYMBOL vmlinux 0x104cc85e __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x1052a8c6 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x1057a279 bsearch +EXPORT_SYMBOL vmlinux 0x105f178e cdc_parse_cdc_header +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x1077071f pci_pme_active +EXPORT_SYMBOL vmlinux 0x107be0b0 percpu_counter_sync +EXPORT_SYMBOL vmlinux 0x107df79a clk_hw_get_clk +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x10e6e152 tcp_connect +EXPORT_SYMBOL vmlinux 0x10e6f74a free_contig_range +EXPORT_SYMBOL vmlinux 0x10f0207c unpin_user_pages +EXPORT_SYMBOL vmlinux 0x10f45869 ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x110b4568 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x113744e2 crypto_sha256_update +EXPORT_SYMBOL vmlinux 0x114b746f xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0x114fcb98 simple_nosetlease +EXPORT_SYMBOL vmlinux 0x11520195 sock_no_linger +EXPORT_SYMBOL vmlinux 0x11554d9d devm_arch_io_reserve_memtype_wc +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x117d9f25 __SCK__tp_func_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x11b5409e __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x11c333d5 xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11ea7a25 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x11f750d9 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x1202eef7 i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x120d91a0 blackhole_netdev +EXPORT_SYMBOL vmlinux 0x121437d9 genphy_aneg_done +EXPORT_SYMBOL vmlinux 0x1221c7e5 path_has_submounts +EXPORT_SYMBOL vmlinux 0x122823c4 acpi_device_hid +EXPORT_SYMBOL vmlinux 0x12362d9f cpu_info +EXPORT_SYMBOL vmlinux 0x124bad4d kstrtobool +EXPORT_SYMBOL vmlinux 0x125b8fe3 sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x126fe683 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x128197b1 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +EXPORT_SYMBOL vmlinux 0x12e0be34 tcf_exts_validate_ex +EXPORT_SYMBOL vmlinux 0x12eec8ce tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x130afd75 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x13110126 request_resource +EXPORT_SYMBOL vmlinux 0x131a6146 xa_clear_mark +EXPORT_SYMBOL vmlinux 0x13243d4b wl1251_get_platform_data +EXPORT_SYMBOL vmlinux 0x132c37ab path_get +EXPORT_SYMBOL vmlinux 0x1344d7e6 acpi_enable_gpe +EXPORT_SYMBOL vmlinux 0x1347509a dentry_create +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x1389619c __max_die_per_package +EXPORT_SYMBOL vmlinux 0x1398aa53 filp_open +EXPORT_SYMBOL vmlinux 0x139f2189 __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x13af27ff config_item_get +EXPORT_SYMBOL vmlinux 0x13c1878e fb_pan_display +EXPORT_SYMBOL vmlinux 0x13c49cc2 _copy_from_user +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13d2edcc iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x140f0db3 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x140f7068 jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0x141271bf acpi_dev_found +EXPORT_SYMBOL vmlinux 0x141ff642 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0x1420968b genphy_c37_config_aneg +EXPORT_SYMBOL vmlinux 0x14253c58 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x14254c74 dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0x143257b0 dev_uc_flush +EXPORT_SYMBOL vmlinux 0x1437c4e3 jbd2_fc_wait_bufs +EXPORT_SYMBOL vmlinux 0x14411e0e padata_free +EXPORT_SYMBOL vmlinux 0x14436cf6 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x14506659 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x1454ac10 genphy_read_master_slave +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x146ae0eb can_nice +EXPORT_SYMBOL vmlinux 0x146c35a1 gro_cells_receive +EXPORT_SYMBOL vmlinux 0x14746951 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x1483dd71 path_is_mountpoint +EXPORT_SYMBOL vmlinux 0x1486ded2 dma_fence_allocate_private_stub +EXPORT_SYMBOL vmlinux 0x14894049 param_ops_byte +EXPORT_SYMBOL vmlinux 0x148f6626 softnet_data +EXPORT_SYMBOL vmlinux 0x14998682 __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x14b244b3 md_bitmap_free +EXPORT_SYMBOL vmlinux 0x14baf043 wireless_send_event +EXPORT_SYMBOL vmlinux 0x14c67e3e tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0x14cab327 arp_create +EXPORT_SYMBOL vmlinux 0x14ffcfc0 flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0x150b70b1 mr_table_dump +EXPORT_SYMBOL vmlinux 0x150d6e29 is_nd_pfn +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x153c9249 __register_nls +EXPORT_SYMBOL vmlinux 0x1544be80 ip6_frag_next +EXPORT_SYMBOL vmlinux 0x1546986c kill_fasync +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x15621f96 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x15825877 phy_device_create +EXPORT_SYMBOL vmlinux 0x158b4ff4 phy_get_pause +EXPORT_SYMBOL vmlinux 0x15a4317b tcf_block_get +EXPORT_SYMBOL vmlinux 0x15ba50a6 jiffies +EXPORT_SYMBOL vmlinux 0x15bafe29 unregister_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x15bd830f ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial +EXPORT_SYMBOL vmlinux 0x15c85de3 mempool_init +EXPORT_SYMBOL vmlinux 0x15de9d77 dev_add_pack +EXPORT_SYMBOL vmlinux 0x15f90688 slhc_init +EXPORT_SYMBOL vmlinux 0x15fc8d9f netdev_pick_tx +EXPORT_SYMBOL vmlinux 0x160cc468 reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0x160d0321 mmc_gpiod_request_ro +EXPORT_SYMBOL vmlinux 0x16286538 iowrite64be_lo_hi +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x1628e1f3 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x16301b34 wrmsrl_on_cpu +EXPORT_SYMBOL vmlinux 0x1632bc21 kvasprintf_const +EXPORT_SYMBOL vmlinux 0x1654b46e pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x16757e02 vga_switcheroo_unlock_ddc +EXPORT_SYMBOL vmlinux 0x167a4b2b simple_transaction_read +EXPORT_SYMBOL vmlinux 0x167c5230 fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump +EXPORT_SYMBOL vmlinux 0x167ddfe1 block_write_begin +EXPORT_SYMBOL vmlinux 0x167e7f9d __get_user_1 +EXPORT_SYMBOL vmlinux 0x16814684 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x1683d32b bpf_link_get_from_fd +EXPORT_SYMBOL vmlinux 0x169938c1 __sysfs_match_string +EXPORT_SYMBOL vmlinux 0x16aeccd8 generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0x16ccc00d inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x16cdc340 acpi_get_table +EXPORT_SYMBOL vmlinux 0x16dee44d dma_fence_init +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x1705c1ec kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x170d32ef vme_register_driver +EXPORT_SYMBOL vmlinux 0x170ddf79 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0x1718b539 dma_pool_create +EXPORT_SYMBOL vmlinux 0x17199b32 netdev_offload_xstats_enable +EXPORT_SYMBOL vmlinux 0x1735ea01 mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0x173b8c46 agp_unbind_memory +EXPORT_SYMBOL vmlinux 0x173d6b53 fb_set_var +EXPORT_SYMBOL vmlinux 0x1745dc5b sock_setsockopt +EXPORT_SYMBOL vmlinux 0x174d8faa sg_miter_next +EXPORT_SYMBOL vmlinux 0x1752c537 phy_print_status +EXPORT_SYMBOL vmlinux 0x175e33fb dma_spin_lock +EXPORT_SYMBOL vmlinux 0x1784d4e8 register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x1785146e pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x1793ad5b pci_write_config_word +EXPORT_SYMBOL vmlinux 0x17a16735 kern_path_create +EXPORT_SYMBOL vmlinux 0x17b21dfb pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x17be68ca acpi_clear_event +EXPORT_SYMBOL vmlinux 0x17d7deb7 input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0x17eb0220 mdio_driver_unregister +EXPORT_SYMBOL vmlinux 0x17ec55df skb_free_datagram +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x17f813a9 __SCT__tp_func_kmalloc +EXPORT_SYMBOL vmlinux 0x17f8d63c agp_backend_acquire +EXPORT_SYMBOL vmlinux 0x1810938a __free_pages +EXPORT_SYMBOL vmlinux 0x182e0fab nvdimm_check_and_set_ro +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x1841fe59 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x184b6242 d_alloc +EXPORT_SYMBOL vmlinux 0x184e5bb3 param_set_ulong +EXPORT_SYMBOL vmlinux 0x186a1444 sock_no_connect +EXPORT_SYMBOL vmlinux 0x18888d00 downgrade_write +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x18938d6b capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0x18985ba0 simple_getattr +EXPORT_SYMBOL vmlinux 0x18b72573 register_kmmio_probe +EXPORT_SYMBOL vmlinux 0x18d98b83 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x18dc679c nonseekable_open +EXPORT_SYMBOL vmlinux 0x18e077e7 dev_uc_del +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x18f895ab call_fib_notifiers +EXPORT_SYMBOL vmlinux 0x18fbb4fe dm_table_get_md +EXPORT_SYMBOL vmlinux 0x191a5e74 dev_deactivate +EXPORT_SYMBOL vmlinux 0x1920cb22 dev_change_flags +EXPORT_SYMBOL vmlinux 0x192ea14f __SCT__tp_func_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x193061ec inet_offloads +EXPORT_SYMBOL vmlinux 0x1945e74a xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x194d280f kmem_cache_alloc_node_trace +EXPORT_SYMBOL vmlinux 0x1953c958 mempool_create +EXPORT_SYMBOL vmlinux 0x19567d06 vfio_info_cap_shift +EXPORT_SYMBOL vmlinux 0x197d435b ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x1999a631 kill_litter_super +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19a14b4e netdev_emerg +EXPORT_SYMBOL vmlinux 0x19a80f09 security_unix_may_send +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19d200ec __SCT__tp_func_kmalloc_node +EXPORT_SYMBOL vmlinux 0x19d29b50 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x19df99b9 acpi_finish_gpe +EXPORT_SYMBOL vmlinux 0x1a070984 xfrm4_protocol_register +EXPORT_SYMBOL vmlinux 0x1a0aa994 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x1a20e091 mipi_dsi_dcs_set_display_off +EXPORT_SYMBOL vmlinux 0x1a2dfe7d netdev_alert +EXPORT_SYMBOL vmlinux 0x1a35e38e __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x1a3781fc security_inet_conn_request +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a5cd6fa input_close_device +EXPORT_SYMBOL vmlinux 0x1a63af34 vga_switcheroo_process_delayed_switch +EXPORT_SYMBOL vmlinux 0x1a73e93f phy_detach +EXPORT_SYMBOL vmlinux 0x1a79c8e9 __x86_indirect_thunk_r13 +EXPORT_SYMBOL vmlinux 0x1a7b100a tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x1a82679c security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x1a8f2f1f gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x1a992a18 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn +EXPORT_SYMBOL vmlinux 0x1aecb192 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x1afc5c4a md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b064e70 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x1b097d94 udp_poll +EXPORT_SYMBOL vmlinux 0x1b0aaa1f flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0x1b111369 pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0x1b3b6e5b simple_get_link +EXPORT_SYMBOL vmlinux 0x1b442e41 skb_queue_head +EXPORT_SYMBOL vmlinux 0x1b597b7a swake_up_all +EXPORT_SYMBOL vmlinux 0x1b5cc9d8 dma_fence_array_first +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b6716f0 fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0x1b741296 input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b908d85 _raw_write_lock_nested +EXPORT_SYMBOL vmlinux 0x1ba3d7b9 padata_free_shell +EXPORT_SYMBOL vmlinux 0x1ba59527 __kmalloc_node +EXPORT_SYMBOL vmlinux 0x1baaf997 skb_tx_error +EXPORT_SYMBOL vmlinux 0x1bb04c91 udp_read_sock +EXPORT_SYMBOL vmlinux 0x1bb51249 tcp_have_smc +EXPORT_SYMBOL vmlinux 0x1bb67920 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x1bc21800 __post_watch_notification +EXPORT_SYMBOL vmlinux 0x1bcaacf2 nf_getsockopt +EXPORT_SYMBOL vmlinux 0x1bd59dbe vme_free_consistent +EXPORT_SYMBOL vmlinux 0x1be9f159 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x1c05c0b7 devm_iounmap +EXPORT_SYMBOL vmlinux 0x1c0889bc filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x1c58427f acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x1c6e3f2b mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x1c72fbee submit_bh +EXPORT_SYMBOL vmlinux 0x1c7a71bd register_quota_format +EXPORT_SYMBOL vmlinux 0x1c8732d7 rw_verify_area +EXPORT_SYMBOL vmlinux 0x1c943fe5 scsi_device_put +EXPORT_SYMBOL vmlinux 0x1ca527fa ioread64be_hi_lo +EXPORT_SYMBOL vmlinux 0x1cb11044 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x1cb95fc1 input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0x1ccefca5 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x1cd0beca proto_register +EXPORT_SYMBOL vmlinux 0x1cd8438b pxm_to_node +EXPORT_SYMBOL vmlinux 0x1cdc3aaf console_stop +EXPORT_SYMBOL vmlinux 0x1cde0d2a sock_no_bind +EXPORT_SYMBOL vmlinux 0x1ce41de2 mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x1cf7c2cd filemap_invalidate_lock_two +EXPORT_SYMBOL vmlinux 0x1cfa7e64 __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x1d07e365 memdup_user_nul +EXPORT_SYMBOL vmlinux 0x1d1002b8 dma_resv_replace_fences +EXPORT_SYMBOL vmlinux 0x1d19f77b physical_mask +EXPORT_SYMBOL vmlinux 0x1d1abdf0 acpi_get_physical_device_location +EXPORT_SYMBOL vmlinux 0x1d24c881 ___ratelimit +EXPORT_SYMBOL vmlinux 0x1d328af0 folio_end_private_2 +EXPORT_SYMBOL vmlinux 0x1d3f3f08 get_phy_device +EXPORT_SYMBOL vmlinux 0x1d40b6f3 idr_for_each +EXPORT_SYMBOL vmlinux 0x1d509809 single_release +EXPORT_SYMBOL vmlinux 0x1d5d1119 nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0x1d7cf43d dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x1d9672bd fault_in_subpage_writeable +EXPORT_SYMBOL vmlinux 0x1d996936 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x1db7706b __copy_user_nocache +EXPORT_SYMBOL vmlinux 0x1dbe4fcb con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1def4b85 dcache_dir_close +EXPORT_SYMBOL vmlinux 0x1df3aadd bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x1e0ccbd5 mipi_dsi_generic_read +EXPORT_SYMBOL vmlinux 0x1e0cd7fe acpi_detach_data +EXPORT_SYMBOL vmlinux 0x1e0ebab0 vfs_ioctl +EXPORT_SYMBOL vmlinux 0x1e1e140e ns_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1e237a3e file_modified +EXPORT_SYMBOL vmlinux 0x1e3afbbc max8998_bulk_write +EXPORT_SYMBOL vmlinux 0x1e3f1b95 simple_statfs +EXPORT_SYMBOL vmlinux 0x1e4bb4bb mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x1e627e82 task_work_add +EXPORT_SYMBOL vmlinux 0x1e6adaa0 bitmap_print_bitmask_to_buf +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ead0716 crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0x1eb909b3 inet_del_offload +EXPORT_SYMBOL vmlinux 0x1eb922a3 IO_APIC_get_PCI_irq_vector +EXPORT_SYMBOL vmlinux 0x1ecddee9 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x1ecf5943 tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0x1ed7eb60 __sg_free_table +EXPORT_SYMBOL vmlinux 0x1edaef11 xen_alloc_unpopulated_pages +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1f146431 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x1f1821ae efi +EXPORT_SYMBOL vmlinux 0x1f199d24 copy_user_generic_string +EXPORT_SYMBOL vmlinux 0x1f3b9e4d iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0x1f451302 md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0x1f4bb583 skb_vlan_push +EXPORT_SYMBOL vmlinux 0x1f557414 gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0x1f64ad81 __put_user_ns +EXPORT_SYMBOL vmlinux 0x1f81e953 agp_bridge +EXPORT_SYMBOL vmlinux 0x1f855123 dec_node_page_state +EXPORT_SYMBOL vmlinux 0x1f88647e mmc_retune_release +EXPORT_SYMBOL vmlinux 0x1f9f3d69 vme_dma_list_exec +EXPORT_SYMBOL vmlinux 0x1fa60d3b phy_do_ioctl_running +EXPORT_SYMBOL vmlinux 0x1fa7fbdb tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x1fbaa2e0 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x1fbb9298 pnp_get_resource +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fc0cc7c intel_gtt_insert_sg_entries +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fdc9223 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x1fe4df81 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x1ff3382d dump_page +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x200b2041 in6addr_any +EXPORT_SYMBOL vmlinux 0x20300ce4 udp_seq_start +EXPORT_SYMBOL vmlinux 0x20346a25 inet6_bind +EXPORT_SYMBOL vmlinux 0x20380c6e dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x203def6a fsync_bdev +EXPORT_SYMBOL vmlinux 0x20463df4 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x206c82bd iommu_dma_get_resv_regions +EXPORT_SYMBOL vmlinux 0x207cdb72 md_reload_sb +EXPORT_SYMBOL vmlinux 0x207e31b9 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x209c098f udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x20a4e878 register_filesystem +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20ba4f3e rdmsr_on_cpu +EXPORT_SYMBOL vmlinux 0x20bcbe4f blake2s_compress +EXPORT_SYMBOL vmlinux 0x20cbb30a __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x20de0eed tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0x20e2141f skb_unlink +EXPORT_SYMBOL vmlinux 0x20e569bc simple_release_fs +EXPORT_SYMBOL vmlinux 0x20eadeb6 ip_compute_csum +EXPORT_SYMBOL vmlinux 0x20f55be4 mipi_dsi_driver_register_full +EXPORT_SYMBOL vmlinux 0x21051193 phy_config_aneg +EXPORT_SYMBOL vmlinux 0x211130c1 alloc_cpumask_var +EXPORT_SYMBOL vmlinux 0x2123d743 dm_io +EXPORT_SYMBOL vmlinux 0x21271fd0 copy_user_enhanced_fast_string +EXPORT_SYMBOL vmlinux 0x21319175 netdev_state_change +EXPORT_SYMBOL vmlinux 0x21347ba8 phy_sfp_probe +EXPORT_SYMBOL vmlinux 0x213a738d memregion_alloc +EXPORT_SYMBOL vmlinux 0x213a77ea netif_receive_skb +EXPORT_SYMBOL vmlinux 0x213e4965 ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x21451a36 agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0x215203bc vfs_mkobj +EXPORT_SYMBOL vmlinux 0x215f2f98 dma_supported +EXPORT_SYMBOL vmlinux 0x216ea213 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x2177bd71 acpi_disable_event +EXPORT_SYMBOL vmlinux 0x21839b32 page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0x2184f7dd inet_put_port +EXPORT_SYMBOL vmlinux 0x218e600b pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0x21912f8f is_free_buddy_page +EXPORT_SYMBOL vmlinux 0x21967acd request_key_tag +EXPORT_SYMBOL vmlinux 0x21bdb523 errseq_check_and_advance +EXPORT_SYMBOL vmlinux 0x21be37e1 hdmi_avi_infoframe_check +EXPORT_SYMBOL vmlinux 0x21df456b inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x21ede360 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0x21ee6e7e twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x21ef374c try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x21f997ac migrate_vma_setup +EXPORT_SYMBOL vmlinux 0x2204d007 kset_register +EXPORT_SYMBOL vmlinux 0x2227eefc pskb_expand_head +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x2234ca51 acpi_match_platform_list +EXPORT_SYMBOL vmlinux 0x22490139 __module_get +EXPORT_SYMBOL vmlinux 0x224f4a9c neigh_seq_start +EXPORT_SYMBOL vmlinux 0x227c662f fwnode_irq_get_byname +EXPORT_SYMBOL vmlinux 0x22a914dc rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22cdbc8f jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x22dd594e pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x22de4931 amd_iommu_register_ga_log_notifier +EXPORT_SYMBOL vmlinux 0x22def2b5 dmaengine_get_unmap_data +EXPORT_SYMBOL vmlinux 0x22e1b479 set_blocksize +EXPORT_SYMBOL vmlinux 0x22f6ed91 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x23020a2b netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0x23307cae pci_rebar_get_possible_sizes +EXPORT_SYMBOL vmlinux 0x2364c85a tasklet_init +EXPORT_SYMBOL vmlinux 0x236878c7 inet_sendmsg +EXPORT_SYMBOL vmlinux 0x237a0b5c __traceiter_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x238b099f mipi_dsi_packet_format_is_short +EXPORT_SYMBOL vmlinux 0x2390bcb1 seq_release_private +EXPORT_SYMBOL vmlinux 0x239ae8eb vga_switcheroo_register_audio_client +EXPORT_SYMBOL vmlinux 0x239c81f5 mmc_request_done +EXPORT_SYMBOL vmlinux 0x23ab74c9 _dev_err +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c2f56c serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x23cabbb1 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x23ccfa39 md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x23d726f0 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x23daa989 mipi_dsi_create_packet +EXPORT_SYMBOL vmlinux 0x23e071f7 elv_rb_find +EXPORT_SYMBOL vmlinux 0x23e4e0e5 sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0x23fd1e66 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x2407acf4 inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0x242ebf84 __skb_gso_segment +EXPORT_SYMBOL vmlinux 0x243c0ac2 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x2444ac20 rtnl_offload_xstats_notify +EXPORT_SYMBOL vmlinux 0x244d5036 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x2467a44f pci_remove_bus +EXPORT_SYMBOL vmlinux 0x24780c77 napi_complete_done +EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x2497bf9b padata_do_parallel +EXPORT_SYMBOL vmlinux 0x249e2b4d dma_sync_wait +EXPORT_SYMBOL vmlinux 0x24ac35d2 d_lookup +EXPORT_SYMBOL vmlinux 0x24cb0a99 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x24cb4bce i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x24cef434 mipi_dsi_dcs_get_display_brightness_large +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x24db26dc no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0x24ec21f6 xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x24ee39b2 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x24f73980 sock_create_lite +EXPORT_SYMBOL vmlinux 0x2505bf18 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x250fc75e xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x2510aa3f fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x251358da vfio_pin_pages +EXPORT_SYMBOL vmlinux 0x25140027 param_get_bool +EXPORT_SYMBOL vmlinux 0x25161c1a tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0x25175b86 __tracepoint_read_msr +EXPORT_SYMBOL vmlinux 0x25188716 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0x2531a760 seq_lseek +EXPORT_SYMBOL vmlinux 0x2532003a netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0x25495436 mipi_dsi_dcs_set_tear_on +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258a2c02 _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x259370c5 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x25943f9f generic_listxattr +EXPORT_SYMBOL vmlinux 0x25974000 wait_for_completion +EXPORT_SYMBOL vmlinux 0x259ebc61 pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0x25c2257a neigh_xmit +EXPORT_SYMBOL vmlinux 0x25db1577 do_trace_write_msr +EXPORT_SYMBOL vmlinux 0x25e58a09 hdmi_avi_infoframe_init +EXPORT_SYMBOL vmlinux 0x25e70d39 refresh_frequency_limits +EXPORT_SYMBOL vmlinux 0x25e9d4bd resource_list_free +EXPORT_SYMBOL vmlinux 0x260a095a __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x26125d2f inet_recvmsg +EXPORT_SYMBOL vmlinux 0x2632ba46 vfs_llseek +EXPORT_SYMBOL vmlinux 0x263a49e4 rproc_shutdown +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x263c3152 bcmp +EXPORT_SYMBOL vmlinux 0x26498f57 pps_lookup_dev +EXPORT_SYMBOL vmlinux 0x2664f77c complete_request_key +EXPORT_SYMBOL vmlinux 0x266a19ba tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x26822b55 xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x26897b52 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x269a67e5 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x26a5bb0e sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x26a5fd08 km_report +EXPORT_SYMBOL vmlinux 0x26b2adc1 devm_backlight_device_register +EXPORT_SYMBOL vmlinux 0x26c3a8c8 seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0x26d13ec2 pskb_extract +EXPORT_SYMBOL vmlinux 0x26e298e0 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x26ea6063 mmc_release_host +EXPORT_SYMBOL vmlinux 0x26f8f0b8 iowrite16be +EXPORT_SYMBOL vmlinux 0x2709a317 inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0x270cf88f dump_stack_lvl +EXPORT_SYMBOL vmlinux 0x271217ef fwnode_phy_find_device +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x272a8933 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x2733eaf7 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0x27420f63 blk_mq_destroy_queue +EXPORT_SYMBOL vmlinux 0x27479d14 param_free_charp +EXPORT_SYMBOL vmlinux 0x2747d756 key_invalidate +EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check +EXPORT_SYMBOL vmlinux 0x2773d74e inet_protos +EXPORT_SYMBOL vmlinux 0x27756bc8 scsi_sanitize_inquiry_string +EXPORT_SYMBOL vmlinux 0x27810361 acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0x2782b393 xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x278b4ed2 fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x27941c31 i2c_transfer +EXPORT_SYMBOL vmlinux 0x27946106 pcie_ptm_enabled +EXPORT_SYMBOL vmlinux 0x27a9e41b serio_close +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27c9cf82 blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x27cdca93 pci_add_resource +EXPORT_SYMBOL vmlinux 0x27ec6a8d pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x27f52b92 kobject_set_name +EXPORT_SYMBOL vmlinux 0x28004178 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x28039ca6 register_fib_notifier +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x28192f03 mmc_can_erase +EXPORT_SYMBOL vmlinux 0x281ed079 fault_in_iov_iter_writeable +EXPORT_SYMBOL vmlinux 0x282a0097 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x283b3f47 PageMovable +EXPORT_SYMBOL vmlinux 0x284faa6b __x86_indirect_thunk_r11 +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x287d716b netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0x287ee709 input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0x287f556a rproc_alloc +EXPORT_SYMBOL vmlinux 0x288c9b6d skb_checksum_help +EXPORT_SYMBOL vmlinux 0x289eb7a1 phy_set_asym_pause +EXPORT_SYMBOL vmlinux 0x28a8b103 sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0x28ad8f3b pci_set_mwi +EXPORT_SYMBOL vmlinux 0x28d43075 inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0x28d6ba80 dev_remove_offload +EXPORT_SYMBOL vmlinux 0x28e09af1 iosf_mbi_available +EXPORT_SYMBOL vmlinux 0x28f94604 __ubsan_handle_builtin_unreachable +EXPORT_SYMBOL vmlinux 0x290a6581 mmc_detect_change +EXPORT_SYMBOL vmlinux 0x290afbcf netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0x29163932 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x29332499 __x86_indirect_thunk_rsi +EXPORT_SYMBOL vmlinux 0x2933a662 tty_port_open +EXPORT_SYMBOL vmlinux 0x29532914 vfs_setpos +EXPORT_SYMBOL vmlinux 0x2958c5e0 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x29604158 napi_busy_loop +EXPORT_SYMBOL vmlinux 0x29691d4a cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x299a39fb sock_bind_add +EXPORT_SYMBOL vmlinux 0x299f3bef eisa_bus_type +EXPORT_SYMBOL vmlinux 0x29a644fd file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x29ab67b7 request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0x29ad8e33 x86_hyper_type +EXPORT_SYMBOL vmlinux 0x29c96893 phy_trigger_machine +EXPORT_SYMBOL vmlinux 0x29cac7cb nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x29e1e204 hdmi_audio_infoframe_pack +EXPORT_SYMBOL vmlinux 0x2a26f245 ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a3c28af sk_reset_timer +EXPORT_SYMBOL vmlinux 0x2a4692e3 mdiobus_write_nested +EXPORT_SYMBOL vmlinux 0x2a6a1a6c lease_modify +EXPORT_SYMBOL vmlinux 0x2a6a4e25 scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0x2a6fa0d0 __SCT__tp_func_module_get +EXPORT_SYMBOL vmlinux 0x2a74eca1 device_match_acpi_handle +EXPORT_SYMBOL vmlinux 0x2a76deef __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0x2a8d063b qdisc_hash_del +EXPORT_SYMBOL vmlinux 0x2a928918 slhc_free +EXPORT_SYMBOL vmlinux 0x2a9a3905 vme_master_get +EXPORT_SYMBOL vmlinux 0x2aa00e26 intel_scu_ipc_dev_update +EXPORT_SYMBOL vmlinux 0x2aa0843e mempool_resize +EXPORT_SYMBOL vmlinux 0x2aa2960c tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x2aabcdc8 vmalloc_array +EXPORT_SYMBOL vmlinux 0x2aca24d1 devm_memremap +EXPORT_SYMBOL vmlinux 0x2ad6aa4a tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x2adac6db sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0x2b0cfd55 sock_alloc_file +EXPORT_SYMBOL vmlinux 0x2b2cd105 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x2b347299 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x2b3482d0 put_fs_context +EXPORT_SYMBOL vmlinux 0x2b3fdd8f seq_putc +EXPORT_SYMBOL vmlinux 0x2b40d77a cpufreq_generic_suspend +EXPORT_SYMBOL vmlinux 0x2b593aa8 gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0x2b662e9a xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x2b672977 get_tz_trend +EXPORT_SYMBOL vmlinux 0x2b67c267 get_task_cred +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b6f0962 __cpu_dying_mask +EXPORT_SYMBOL vmlinux 0x2b74b8b7 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x2b7c77d2 mq_change_real_num_tx +EXPORT_SYMBOL vmlinux 0x2b8cc6f0 nd_btt_version +EXPORT_SYMBOL vmlinux 0x2b8ce5dd param_set_hexint +EXPORT_SYMBOL vmlinux 0x2b9cd114 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2bb481b9 inode_set_bytes +EXPORT_SYMBOL vmlinux 0x2bb6099e dq_data_lock +EXPORT_SYMBOL vmlinux 0x2bd60ab9 acpi_reset +EXPORT_SYMBOL vmlinux 0x2bfdbce2 fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0x2bfe1bb7 proc_symlink +EXPORT_SYMBOL vmlinux 0x2c0aeefc folio_wait_private_2 +EXPORT_SYMBOL vmlinux 0x2c1c3a0e __nd_driver_register +EXPORT_SYMBOL vmlinux 0x2c2316bc mark_page_accessed +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c3ab710 vfs_get_super +EXPORT_SYMBOL vmlinux 0x2c4679e8 ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0x2c541e7b radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0x2c562044 __skb_recv_udp +EXPORT_SYMBOL vmlinux 0x2c666d92 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x2c71fbfb proc_dobool +EXPORT_SYMBOL vmlinux 0x2c81fbb9 xen_alloc_ballooned_pages +EXPORT_SYMBOL vmlinux 0x2c82c36a security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x2caf63d1 topology_phys_to_logical_die +EXPORT_SYMBOL vmlinux 0x2cc2caf4 skb_clone_sk +EXPORT_SYMBOL vmlinux 0x2cc9f9aa pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x2ccd059a dim_on_top +EXPORT_SYMBOL vmlinux 0x2cd73f73 phy_read_paged +EXPORT_SYMBOL vmlinux 0x2cdc2fa1 vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x2cdf87a1 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x2ce302f1 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x2d0481dd t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d192c70 sg_zero_buffer +EXPORT_SYMBOL vmlinux 0x2d2af90e register_key_type +EXPORT_SYMBOL vmlinux 0x2d2f4921 fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0x2d30596c from_kqid_munged +EXPORT_SYMBOL vmlinux 0x2d310d66 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x2d32f9be pm_vt_switch_required +EXPORT_SYMBOL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL vmlinux 0x2d39b0a7 kstrdup +EXPORT_SYMBOL vmlinux 0x2d3a2ea1 d_instantiate_new +EXPORT_SYMBOL vmlinux 0x2d4c773a hdmi_spd_infoframe_init +EXPORT_SYMBOL vmlinux 0x2d4daef5 find_font +EXPORT_SYMBOL vmlinux 0x2d6283d4 dcb_setapp +EXPORT_SYMBOL vmlinux 0x2d7d779b xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x2d912bca dmi_get_bios_year +EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2da4ecfc dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0x2db9d50b tcf_qevent_handle +EXPORT_SYMBOL vmlinux 0x2dbb66c6 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x2dd16564 arch_register_cpu +EXPORT_SYMBOL vmlinux 0x2de125c0 page_frag_alloc_align +EXPORT_SYMBOL vmlinux 0x2de93679 _dev_printk +EXPORT_SYMBOL vmlinux 0x2def7f76 rtc_cmos_write +EXPORT_SYMBOL vmlinux 0x2df30569 component_match_add_release +EXPORT_SYMBOL vmlinux 0x2e0b1deb dma_fence_get_status +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e2b40d2 strncat +EXPORT_SYMBOL vmlinux 0x2e3bcce2 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x2e439142 drm_get_panel_orientation_quirk +EXPORT_SYMBOL vmlinux 0x2e587f87 vga_con +EXPORT_SYMBOL vmlinux 0x2e5fe036 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x2e7e8afa serial8250_do_pm +EXPORT_SYMBOL vmlinux 0x2eba2724 page_symlink +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2ecf2b90 pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0x2ed51b94 devfreq_update_status +EXPORT_SYMBOL vmlinux 0x2ed5f110 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x2eded8e5 sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x2ee34e3f key_revoke +EXPORT_SYMBOL vmlinux 0x2ee4c2b1 hdmi_avi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x2eeee156 clk_bulk_get +EXPORT_SYMBOL vmlinux 0x2ef3a4da block_invalidate_folio +EXPORT_SYMBOL vmlinux 0x2f036aed elv_rb_add +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f127be8 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x2f20e42e tty_write_room +EXPORT_SYMBOL vmlinux 0x2f25cdcb read_cache_folio +EXPORT_SYMBOL vmlinux 0x2f26f9f9 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f384db3 acpi_is_video_device +EXPORT_SYMBOL vmlinux 0x2f6284f6 sync_file_create +EXPORT_SYMBOL vmlinux 0x2f7754a8 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2f89994e mmc_wait_for_req_done +EXPORT_SYMBOL vmlinux 0x2f8faf93 secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0x2fc2f211 alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0x2fd2015a phy_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x2fd7fe46 fb_prepare_logo +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x2fecac7e xsk_tx_release +EXPORT_SYMBOL vmlinux 0x2ffde1b6 make_kprojid +EXPORT_SYMBOL vmlinux 0x300e613e pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x301304c2 __get_user_nocheck_8 +EXPORT_SYMBOL vmlinux 0x305a916c __x86_indirect_thunk_rdi +EXPORT_SYMBOL vmlinux 0x305eb2d8 mmc_get_card +EXPORT_SYMBOL vmlinux 0x307d300b ipv4_specific +EXPORT_SYMBOL vmlinux 0x307f2950 generic_write_end +EXPORT_SYMBOL vmlinux 0x308dbbb7 pci_request_regions +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30a827ec __tracepoint_write_msr +EXPORT_SYMBOL vmlinux 0x30a8d120 rproc_elf_load_segments +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30b4c72d d_invalidate +EXPORT_SYMBOL vmlinux 0x30c06b96 dev_pm_opp_register_notifier +EXPORT_SYMBOL vmlinux 0x30c63bc6 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x30ca1589 lookup_one +EXPORT_SYMBOL vmlinux 0x30cc2acb reuseport_alloc +EXPORT_SYMBOL vmlinux 0x30ccdec6 tcf_qevent_dump +EXPORT_SYMBOL vmlinux 0x30cd46a9 dst_discard_out +EXPORT_SYMBOL vmlinux 0x30d2ea1e dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0x30d6ba0b pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x31031d05 nd_region_acquire_lane +EXPORT_SYMBOL vmlinux 0x310c5916 generic_fadvise +EXPORT_SYMBOL vmlinux 0x31143431 forget_cached_acl +EXPORT_SYMBOL vmlinux 0x311bbb57 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x3124569a pci_fixup_device +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x31375180 migrate_vma_finalize +EXPORT_SYMBOL vmlinux 0x313877c6 pci_write_vpd_any +EXPORT_SYMBOL vmlinux 0x31549b2a __x86_indirect_thunk_r10 +EXPORT_SYMBOL vmlinux 0x3163b15e follow_pfn +EXPORT_SYMBOL vmlinux 0x31698cbf vm_event_states +EXPORT_SYMBOL vmlinux 0x31892bae arp_xmit +EXPORT_SYMBOL vmlinux 0x318be5d8 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x319a2e45 cdrom_release +EXPORT_SYMBOL vmlinux 0x319d493d proc_dostring +EXPORT_SYMBOL vmlinux 0x31b6e3cb tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x31cf20b4 pps_register_source +EXPORT_SYMBOL vmlinux 0x31dbab79 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x31e3170f module_put +EXPORT_SYMBOL vmlinux 0x31f5a748 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x32026846 sock_create_kern +EXPORT_SYMBOL vmlinux 0x3213f038 mutex_unlock +EXPORT_SYMBOL vmlinux 0x32179cb3 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x3218bd2e xp_dma_unmap +EXPORT_SYMBOL vmlinux 0x321c6591 blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x3221df67 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x324d30cb tcf_qevent_init +EXPORT_SYMBOL vmlinux 0x3262ea58 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x326425ca pci_unmap_biosrom +EXPORT_SYMBOL vmlinux 0x327c84bf vme_lm_attach +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x3286c2d0 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x328b6d40 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x3297b7ec dma_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0x329ef8dd regset_get_alloc +EXPORT_SYMBOL vmlinux 0x329f23b2 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x32c36db1 freeze_bdev +EXPORT_SYMBOL vmlinux 0x32cadb07 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32e6f1a0 acpi_video_backlight_string +EXPORT_SYMBOL vmlinux 0x32e73b5a skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0x32e921b8 d_set_fallthru +EXPORT_SYMBOL vmlinux 0x3324ef3b acpi_set_firmware_waking_vector +EXPORT_SYMBOL vmlinux 0x332595db framebuffer_release +EXPORT_SYMBOL vmlinux 0x33259a36 tcp_mtu_to_mss +EXPORT_SYMBOL vmlinux 0x334d94d4 netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x33623a27 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x33700a25 twl6040_reg_read +EXPORT_SYMBOL vmlinux 0x33736a1d __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0x338a0fbf sock_wmalloc +EXPORT_SYMBOL vmlinux 0x338a5590 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x338b30b5 __netif_napi_del +EXPORT_SYMBOL vmlinux 0x339af6a9 md_finish_reshape +EXPORT_SYMBOL vmlinux 0x33ad1c3b dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x33ad43af pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x33b997c1 pci_write_config_byte +EXPORT_SYMBOL vmlinux 0x33d42d06 param_ops_short +EXPORT_SYMBOL vmlinux 0x33d434f8 netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x33d6b471 skb_flow_dissect_hash +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33fc2a31 get_user_ifreq +EXPORT_SYMBOL vmlinux 0x33fcf44a __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x33fd9da4 acpi_get_gpe_device +EXPORT_SYMBOL vmlinux 0x340064f0 nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0x3402dc8b __write_overflow_field +EXPORT_SYMBOL vmlinux 0x341d96c0 dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x3424daf8 __traceiter_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x3428db82 mr_dump +EXPORT_SYMBOL vmlinux 0x343afccd netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0x343bc33a i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x3441445f msrs_free +EXPORT_SYMBOL vmlinux 0x344c707b __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x345d1e18 tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x346e8e71 config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0x3471ec33 phy_attach_direct +EXPORT_SYMBOL vmlinux 0x347c0e72 unix_detach_fds +EXPORT_SYMBOL vmlinux 0x3484452c folio_unlock +EXPORT_SYMBOL vmlinux 0x3489859f acpi_enter_sleep_state_s4bios +EXPORT_SYMBOL vmlinux 0x348b1d74 vga_switcheroo_fini_domain_pm_ops +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a05340 pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0x34a1f7e3 acpi_processor_get_psd +EXPORT_SYMBOL vmlinux 0x34af512e ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x34c7cdbc lookup_bdev +EXPORT_SYMBOL vmlinux 0x34d5a4ee handle_edge_irq +EXPORT_SYMBOL vmlinux 0x34d7fbda vme_master_mmap +EXPORT_SYMBOL vmlinux 0x34db050b _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x34dbc6f6 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x34ed69a8 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue +EXPORT_SYMBOL vmlinux 0x34f89363 acpi_terminate_debugger +EXPORT_SYMBOL vmlinux 0x350ea558 dma_fence_default_wait +EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x352e3f1f __mmap_lock_do_trace_released +EXPORT_SYMBOL vmlinux 0x3536cb84 iov_iter_revert +EXPORT_SYMBOL vmlinux 0x35372a2c tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0x3539f11b match_strlcpy +EXPORT_SYMBOL vmlinux 0x354b4a1e acpi_ut_trace +EXPORT_SYMBOL vmlinux 0x355b7339 acpi_dev_get_first_match_dev +EXPORT_SYMBOL vmlinux 0x355f10e8 flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0x356461c8 rtc_time64_to_tm +EXPORT_SYMBOL vmlinux 0x357924a4 pci_release_region +EXPORT_SYMBOL vmlinux 0x35917e18 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35bea991 dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0x35d1aa4c tcp_conn_request +EXPORT_SYMBOL vmlinux 0x35d38a4c seq_path +EXPORT_SYMBOL vmlinux 0x35dc7665 page_pool_alloc_frag +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x364850b1 down_write_killable +EXPORT_SYMBOL vmlinux 0x3649391b agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0x364a0e96 ip6_output +EXPORT_SYMBOL vmlinux 0x364c23ad mutex_is_locked +EXPORT_SYMBOL vmlinux 0x3656d576 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x3674777c alloc_pages +EXPORT_SYMBOL vmlinux 0x367fc150 netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0x368c2f95 pci_set_power_state +EXPORT_SYMBOL vmlinux 0x36a82cec tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x36a9baa2 make_bad_inode +EXPORT_SYMBOL vmlinux 0x36b37700 audit_log_start +EXPORT_SYMBOL vmlinux 0x36b6ebbf down_killable +EXPORT_SYMBOL vmlinux 0x36bd1d45 __SCK__tp_func_write_msr +EXPORT_SYMBOL vmlinux 0x36ca193e pci_release_regions +EXPORT_SYMBOL vmlinux 0x36d5cf4e posix_lock_file +EXPORT_SYMBOL vmlinux 0x36debb35 tty_register_device +EXPORT_SYMBOL vmlinux 0x36e6870a devm_extcon_register_notifier +EXPORT_SYMBOL vmlinux 0x36ef75a8 proc_set_size +EXPORT_SYMBOL vmlinux 0x36f08731 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x36f419d1 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x3703b55f thermal_zone_device_critical +EXPORT_SYMBOL vmlinux 0x3708eb06 neigh_event_ns +EXPORT_SYMBOL vmlinux 0x370d4266 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x37110088 remove_wait_queue +EXPORT_SYMBOL vmlinux 0x371e1953 __printk_cpu_sync_wait +EXPORT_SYMBOL vmlinux 0x372573b7 inode_io_list_del +EXPORT_SYMBOL vmlinux 0x37380e19 ram_aops +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x3760d5a8 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x376a319b skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0x376f91f4 skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0x377307fb netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0x377d8004 acpi_error +EXPORT_SYMBOL vmlinux 0x3788e995 genphy_read_lpa +EXPORT_SYMBOL vmlinux 0x378e4224 input_match_device_id +EXPORT_SYMBOL vmlinux 0x37b8b39e screen_info +EXPORT_SYMBOL vmlinux 0x37be75b7 nd_btt_probe +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37c5a2c3 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x37db614b scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37f4e721 vme_slave_request +EXPORT_SYMBOL vmlinux 0x3808ff33 __udp_disconnect +EXPORT_SYMBOL vmlinux 0x380b7b78 fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0x380cef06 __ClearPageMovable +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x38202824 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x3828b612 vlan_vid_del +EXPORT_SYMBOL vmlinux 0x382c9e5e devm_mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x38421367 rproc_boot +EXPORT_SYMBOL vmlinux 0x3849def4 vfs_mkdir +EXPORT_SYMBOL vmlinux 0x3852fde4 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x3854774b kstrtoll +EXPORT_SYMBOL vmlinux 0x385b9125 cdev_device_del +EXPORT_SYMBOL vmlinux 0x385eca9b ata_std_end_eh +EXPORT_SYMBOL vmlinux 0x3864227b skb_queue_tail +EXPORT_SYMBOL vmlinux 0x38699e1b simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x38727113 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x388aa3c9 neigh_proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x3891ffc8 ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0x389617b0 LZ4_decompress_fast_continue +EXPORT_SYMBOL vmlinux 0x389b688d nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x38a07134 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38a9f7c5 in6addr_loopback +EXPORT_SYMBOL vmlinux 0x38b86d29 flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0x38da8388 dm_table_event +EXPORT_SYMBOL vmlinux 0x38e46431 mempool_exit +EXPORT_SYMBOL vmlinux 0x38f48af7 put_user_ifreq +EXPORT_SYMBOL vmlinux 0x38f64f6d seq_dentry +EXPORT_SYMBOL vmlinux 0x38f76210 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x38f93f5e serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x39081193 __max_logical_packages +EXPORT_SYMBOL vmlinux 0x391df80a netstamp_needed_key +EXPORT_SYMBOL vmlinux 0x392b1fea wait_for_completion_io +EXPORT_SYMBOL vmlinux 0x39349c25 eth_header +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x393cfad3 dev_mc_init +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL vmlinux 0x3953103a truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x39583fdd should_remove_suid +EXPORT_SYMBOL vmlinux 0x395e3e96 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x396247b8 tc_setup_offload_action +EXPORT_SYMBOL vmlinux 0x3971d5ee fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x39a6e6d0 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39c527ab sk_capable +EXPORT_SYMBOL vmlinux 0x39d95ca4 zstd_reset_cstream +EXPORT_SYMBOL vmlinux 0x39e3c030 do_trace_read_msr +EXPORT_SYMBOL vmlinux 0x39e7bc58 folio_wait_bit_killable +EXPORT_SYMBOL vmlinux 0x3a08475f platform_thermal_notify +EXPORT_SYMBOL vmlinux 0x3a099605 __get_user_nocheck_4 +EXPORT_SYMBOL vmlinux 0x3a0f08b4 __dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x3a13f54a sgl_alloc +EXPORT_SYMBOL vmlinux 0x3a1c5fd3 nf_register_net_hooks +EXPORT_SYMBOL vmlinux 0x3a26ba6b input_register_device +EXPORT_SYMBOL vmlinux 0x3a2d1dfa rdmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0x3a2f6702 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x3a32839e intel_gtt_chipset_flush +EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized +EXPORT_SYMBOL vmlinux 0x3a5dee8c blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x3a5f27df vme_bus_num +EXPORT_SYMBOL vmlinux 0x3a5f8aa7 __mmap_lock_do_trace_acquire_returned +EXPORT_SYMBOL vmlinux 0x3a6b6336 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x3a6c1a89 _copy_from_iter +EXPORT_SYMBOL vmlinux 0x3aa2cf7f filemap_map_pages +EXPORT_SYMBOL vmlinux 0x3aa3bf74 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3ab8a07e dma_free_attrs +EXPORT_SYMBOL vmlinux 0x3ac12d96 xp_alloc +EXPORT_SYMBOL vmlinux 0x3ac1884b mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x3ac784da mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0x3aca0190 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x3ad1b33a __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x3ad40c98 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0x3ad5cda3 lockref_get_not_zero +EXPORT_SYMBOL vmlinux 0x3ad7a5d5 acpi_evaluate_reference +EXPORT_SYMBOL vmlinux 0x3ada9e06 acpi_check_region +EXPORT_SYMBOL vmlinux 0x3ae34aeb zstd_init_dctx +EXPORT_SYMBOL vmlinux 0x3aef7b0b fs_param_is_fd +EXPORT_SYMBOL vmlinux 0x3af16fa2 md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x3aff3200 acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0x3b029f48 acpi_install_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x3b1ee809 register_cdrom +EXPORT_SYMBOL vmlinux 0x3b20fb95 dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0x3b2f9bb6 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x3b321462 LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0x3b40f283 d_path +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b6c41ea kstrtouint +EXPORT_SYMBOL vmlinux 0x3b72f08d preempt_schedule_notrace_thunk +EXPORT_SYMBOL vmlinux 0x3b7dc013 i8042_remove_filter +EXPORT_SYMBOL vmlinux 0x3b83610f cpu_sibling_map +EXPORT_SYMBOL vmlinux 0x3b9144c9 acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0x3b963636 sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0x3b993176 dquot_commit +EXPORT_SYMBOL vmlinux 0x3b9c1cb8 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x3ba34290 __brelse +EXPORT_SYMBOL vmlinux 0x3bb1cb1e fwnode_mdio_find_device +EXPORT_SYMBOL vmlinux 0x3bc9e006 security_dentry_init_security +EXPORT_SYMBOL vmlinux 0x3bd6bf35 flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3bebaf86 arp_tbl +EXPORT_SYMBOL vmlinux 0x3bf08c58 blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0x3bf0a8b6 udp_skb_destructor +EXPORT_SYMBOL vmlinux 0x3bfa5cc0 __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x3bfaedd6 kobject_add +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c2a7cbf fscrypt_ioctl_get_policy +EXPORT_SYMBOL vmlinux 0x3c35222f mdio_device_free +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c427f67 cpu_die_map +EXPORT_SYMBOL vmlinux 0x3c50c950 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x3c88d0d3 netdev_warn +EXPORT_SYMBOL vmlinux 0x3cbb940b zstd_init_dstream +EXPORT_SYMBOL vmlinux 0x3ce33c34 mipi_dsi_dcs_set_display_on +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cef72fe devm_get_clk_from_child +EXPORT_SYMBOL vmlinux 0x3d02cd70 dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0x3d210724 gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0x3d60b866 platform_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x3d6b54dd scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x3d6de3c9 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x3d6f2e2f iter_file_splice_write +EXPORT_SYMBOL vmlinux 0x3d9987ea pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x3da171f9 pci_mem_start +EXPORT_SYMBOL vmlinux 0x3dab638d build_skb_around +EXPORT_SYMBOL vmlinux 0x3dabf271 memcg_sockets_enabled_key +EXPORT_SYMBOL vmlinux 0x3dac779a bpf_sk_lookup_enabled +EXPORT_SYMBOL vmlinux 0x3dad9978 cancel_delayed_work +EXPORT_SYMBOL vmlinux 0x3db849dd prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0x3dc619d3 swake_up_locked +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dd9b230 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x3ddacdb3 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x3ddc6c04 x86_bios_cpu_apicid +EXPORT_SYMBOL vmlinux 0x3deada04 crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0x3dfb86b9 resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3dffb816 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x3dfffa7b unix_get_socket +EXPORT_SYMBOL vmlinux 0x3e1aae6f no_llseek +EXPORT_SYMBOL vmlinux 0x3e3bad0a __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x3e4aedb6 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x3e717f6b blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x3e739fe8 genphy_resume +EXPORT_SYMBOL vmlinux 0x3e766676 folio_end_writeback +EXPORT_SYMBOL vmlinux 0x3e77803b simple_link +EXPORT_SYMBOL vmlinux 0x3e788f0d mmc_of_parse_voltage +EXPORT_SYMBOL vmlinux 0x3e992293 fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0x3ecdfc9f mmc_start_request +EXPORT_SYMBOL vmlinux 0x3ed05c80 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x3eeb2322 __wake_up +EXPORT_SYMBOL vmlinux 0x3efac025 phy_attached_info +EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3f062664 stop_tty +EXPORT_SYMBOL vmlinux 0x3f0eabd2 xxh64_update +EXPORT_SYMBOL vmlinux 0x3f0f196c scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x3f0f388d amd_iommu_device_info +EXPORT_SYMBOL vmlinux 0x3f1584d8 proc_create +EXPORT_SYMBOL vmlinux 0x3f1cc573 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x3f2bbcc6 security_sb_remount +EXPORT_SYMBOL vmlinux 0x3f34644d zstd_dstream_workspace_bound +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f4bd846 gen_pool_first_fit_order_align +EXPORT_SYMBOL vmlinux 0x3f510966 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x3f83bfec security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3f893d2e configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0x3f9cd7c7 nf_hook_slow +EXPORT_SYMBOL vmlinux 0x3fa1145d tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x3fa24ae0 blk_mq_start_stopped_hw_queues +EXPORT_SYMBOL vmlinux 0x3fba0e1b kernel_sendpage +EXPORT_SYMBOL vmlinux 0x3fbf3c89 vme_slave_set +EXPORT_SYMBOL vmlinux 0x3fc72131 generic_set_encrypted_ci_d_ops +EXPORT_SYMBOL vmlinux 0x3fd2f8f8 cdev_add +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3fe2ccbe memweight +EXPORT_SYMBOL vmlinux 0x3feb3350 agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0x3ff791a6 generic_perform_write +EXPORT_SYMBOL vmlinux 0x3ff94510 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x40013904 input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0x400e4471 dm_kobject_release +EXPORT_SYMBOL vmlinux 0x401a9352 configfs_register_group +EXPORT_SYMBOL vmlinux 0x40235c98 _raw_write_unlock +EXPORT_SYMBOL vmlinux 0x4023a94b mmc_retune_unpause +EXPORT_SYMBOL vmlinux 0x40278a24 mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0x4055a920 acpi_remove_fixed_event_handler +EXPORT_SYMBOL vmlinux 0x407a04a9 devm_of_find_backlight +EXPORT_SYMBOL vmlinux 0x407b8c74 fs_param_is_path +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x40980b0b vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40c1c3bf copy_page_from_iter +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d49f47 config_group_init_type_name +EXPORT_SYMBOL vmlinux 0x40d59096 unregister_restart_handler +EXPORT_SYMBOL vmlinux 0x40d82c19 rtc_add_group +EXPORT_SYMBOL vmlinux 0x40f3afed udp_gro_receive +EXPORT_SYMBOL vmlinux 0x40f76a86 __vcalloc +EXPORT_SYMBOL vmlinux 0x40ff8a53 dquot_scan_active +EXPORT_SYMBOL vmlinux 0x4109e8de pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0x412f893c page_offline_begin +EXPORT_SYMBOL vmlinux 0x4130b834 phy_driver_register +EXPORT_SYMBOL vmlinux 0x4136cd30 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x4140dd43 acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x41494dee blk_mq_free_tag_set +EXPORT_SYMBOL vmlinux 0x415a74d5 netdev_sk_get_lowest_dev +EXPORT_SYMBOL vmlinux 0x41621533 flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x4171769a twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x4180e868 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x418b9a30 fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0x419de8cc agp_copy_info +EXPORT_SYMBOL vmlinux 0x41a5d493 __genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x41b9cc24 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x41c06bcc fc_mount +EXPORT_SYMBOL vmlinux 0x41c8ee70 kern_sys_bpf +EXPORT_SYMBOL vmlinux 0x41ed3709 get_random_bytes +EXPORT_SYMBOL vmlinux 0x41efdeaf radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x41fd828e pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x420964e3 __nla_parse +EXPORT_SYMBOL vmlinux 0x422b1bbe vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0x422c7ce9 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x4230a8d7 sg_nents_for_len +EXPORT_SYMBOL vmlinux 0x4236d1cd devfreq_suspend_device +EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running +EXPORT_SYMBOL vmlinux 0x424cd896 nexthop_bucket_set_hw_flags +EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x425364b1 __register_chrdev +EXPORT_SYMBOL vmlinux 0x42578e80 acpi_get_type +EXPORT_SYMBOL vmlinux 0x42658f69 skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0x4270bb11 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x427523e9 iterate_dir +EXPORT_SYMBOL vmlinux 0x42790a23 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x42a53c19 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x42a568bb ipv6_select_ident +EXPORT_SYMBOL vmlinux 0x42ad3450 fs_param_is_blob +EXPORT_SYMBOL vmlinux 0x42bc1791 __neigh_create +EXPORT_SYMBOL vmlinux 0x42bcc3d3 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x42bed8d4 unix_gc_lock +EXPORT_SYMBOL vmlinux 0x42bf6b68 inet_add_offload +EXPORT_SYMBOL vmlinux 0x42c8563c shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x42d4e1c4 con_is_visible +EXPORT_SYMBOL vmlinux 0x42e645ac end_page_writeback +EXPORT_SYMBOL vmlinux 0x42f04756 dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x4307893b config_group_find_item +EXPORT_SYMBOL vmlinux 0x430960b2 mmc_put_card +EXPORT_SYMBOL vmlinux 0x43102808 set_cached_acl +EXPORT_SYMBOL vmlinux 0x43165782 __tracepoint_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x4318fe30 blkdev_issue_secure_erase +EXPORT_SYMBOL vmlinux 0x431ec3a9 __nla_validate +EXPORT_SYMBOL vmlinux 0x432aafc6 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x4336fcca ucs2_as_utf8 +EXPORT_SYMBOL vmlinux 0x433a85bb __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0x433cabfb acpi_decode_pld_buffer +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x4354ca95 __scm_destroy +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x4399a6a0 skb_append +EXPORT_SYMBOL vmlinux 0x439af369 devm_free_irq +EXPORT_SYMBOL vmlinux 0x43b0c9c3 preempt_schedule +EXPORT_SYMBOL vmlinux 0x43b24674 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x43c5404d param_ops_hexint +EXPORT_SYMBOL vmlinux 0x43d22fb9 groups_alloc +EXPORT_SYMBOL vmlinux 0x43d8efe8 tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0x43db88fd scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x43e35451 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x43e6c06b i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x43eca24a __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x43f9ebc8 slhc_remember +EXPORT_SYMBOL vmlinux 0x440beef4 lru_cache_add +EXPORT_SYMBOL vmlinux 0x4419af2d udp6_seq_ops +EXPORT_SYMBOL vmlinux 0x442b6c90 pmem_should_map_pages +EXPORT_SYMBOL vmlinux 0x44414ff2 iosf_mbi_unblock_punit_i2c_access +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x44480c27 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x444827f0 d_delete +EXPORT_SYMBOL vmlinux 0x4462d35e cpufreq_get_hw_max_freq +EXPORT_SYMBOL vmlinux 0x4466c27e phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x44828418 dm_get_device +EXPORT_SYMBOL vmlinux 0x44840359 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x44862321 genphy_loopback +EXPORT_SYMBOL vmlinux 0x448d9228 sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x44902cff acpi_enable_event +EXPORT_SYMBOL vmlinux 0x449ad0a7 memcmp +EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x44aaf30f tsc_khz +EXPORT_SYMBOL vmlinux 0x44c08312 xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0x44dc67e5 __phy_resume +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x45006cee default_red +EXPORT_SYMBOL vmlinux 0x45081703 ec_get_handle +EXPORT_SYMBOL vmlinux 0x450aed17 input_register_handle +EXPORT_SYMBOL vmlinux 0x450df44a xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x4511d6ea skb_copy_header +EXPORT_SYMBOL vmlinux 0x45135a4f tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x4534b221 submit_bio_noacct +EXPORT_SYMBOL vmlinux 0x4539dc35 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x45535485 xxh32_update +EXPORT_SYMBOL vmlinux 0x4556cede input_set_poll_interval +EXPORT_SYMBOL vmlinux 0x455c6bc8 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x456c7d85 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x4579f8dc block_truncate_page +EXPORT_SYMBOL vmlinux 0x457bba50 jbd2_fc_end_commit_fallback +EXPORT_SYMBOL vmlinux 0x459f7efb __devm_release_region +EXPORT_SYMBOL vmlinux 0x45c1b1c0 netdev_crit +EXPORT_SYMBOL vmlinux 0x45ca7a91 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x45d1d73a dev_driver_string +EXPORT_SYMBOL vmlinux 0x45d246da node_to_cpumask_map +EXPORT_SYMBOL vmlinux 0x45e2e74f skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0x45e8d7b5 native_write_cr0 +EXPORT_SYMBOL vmlinux 0x45f990e0 i2c_register_driver +EXPORT_SYMBOL vmlinux 0x460f4a34 flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x4615d4a3 inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0x461d16ca sg_nents +EXPORT_SYMBOL vmlinux 0x4629334c __preempt_count +EXPORT_SYMBOL vmlinux 0x46451cee zstd_get_frame_header +EXPORT_SYMBOL vmlinux 0x46480f98 devfreq_remove_governor +EXPORT_SYMBOL vmlinux 0x465e24ff ucs2_utf8size +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x466fb9b0 get_tree_keyed +EXPORT_SYMBOL vmlinux 0x4679535e __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x467df16d netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0x4686d95c km_query +EXPORT_SYMBOL vmlinux 0x469a6ec7 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x46acb619 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x46c47fb6 __node_distance +EXPORT_SYMBOL vmlinux 0x46cf10eb cachemode2protval +EXPORT_SYMBOL vmlinux 0x46cf956b mmc_retune_pause +EXPORT_SYMBOL vmlinux 0x4715a909 acpi_load_table +EXPORT_SYMBOL vmlinux 0x47163c79 neigh_destroy +EXPORT_SYMBOL vmlinux 0x473a2117 sync_blockdev +EXPORT_SYMBOL vmlinux 0x4740b3bc xen_arch_unregister_cpu +EXPORT_SYMBOL vmlinux 0x4767c12f unregister_binfmt +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x478b8c8d __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0x47960bc4 proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x479d2601 thaw_bdev +EXPORT_SYMBOL vmlinux 0x47c20f8a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47c7a6e2 dma_find_channel +EXPORT_SYMBOL vmlinux 0x47cfd825 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0x47d8d301 __cond_resched_rwlock_read +EXPORT_SYMBOL vmlinux 0x47ea555f __SCK__tp_func_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x48112d76 _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0x481814c4 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x481e2062 fs_context_for_mount +EXPORT_SYMBOL vmlinux 0x4829cf6b fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0x48302eaa pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0x48328c69 mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0x4841bdee strnchr +EXPORT_SYMBOL vmlinux 0x4845641f param_get_byte +EXPORT_SYMBOL vmlinux 0x48476bcb intel_gtt_insert_page +EXPORT_SYMBOL vmlinux 0x484f6edf ktime_get_coarse_real_ts64 +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486075c8 gen_pool_dma_alloc +EXPORT_SYMBOL vmlinux 0x48635030 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x486779f2 __dev_set_mtu +EXPORT_SYMBOL vmlinux 0x4871d75d clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x48855a31 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x489449b6 pcim_iomap +EXPORT_SYMBOL vmlinux 0x489f6e0b rdma_dim +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48b99a13 vme_lm_free +EXPORT_SYMBOL vmlinux 0x48bedf65 first_ec +EXPORT_SYMBOL vmlinux 0x48c093fb _atomic_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x48c674e0 component_match_add_typed +EXPORT_SYMBOL vmlinux 0x48d27375 __bitmap_intersects +EXPORT_SYMBOL vmlinux 0x48d50e79 amd_iommu_register_ppr_notifier +EXPORT_SYMBOL vmlinux 0x48d88a2c __SCT__preempt_schedule +EXPORT_SYMBOL vmlinux 0x48f9fbf7 input_event +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x4916a328 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x494e3393 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x49593451 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x495e378d __pv_queued_spin_lock_slowpath +EXPORT_SYMBOL vmlinux 0x496583a4 finish_no_open +EXPORT_SYMBOL vmlinux 0x4967e79f radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0x49720c72 msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0x49766f98 ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0x497bc2f4 agp_put_bridge +EXPORT_SYMBOL vmlinux 0x49859d8a mmc_can_discard +EXPORT_SYMBOL vmlinux 0x498cf533 netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0x49990e48 param_set_ushort +EXPORT_SYMBOL vmlinux 0x499f0ecf nd_sb_checksum +EXPORT_SYMBOL vmlinux 0x49ab6ac0 vme_irq_free +EXPORT_SYMBOL vmlinux 0x49b163b8 acpi_bus_scan +EXPORT_SYMBOL vmlinux 0x49d36af2 vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0x49fae8a5 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x49fe2220 secpath_set +EXPORT_SYMBOL vmlinux 0x4a1f9f62 inet_stream_connect +EXPORT_SYMBOL vmlinux 0x4a3ad70e wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x4a453f53 iowrite32 +EXPORT_SYMBOL vmlinux 0x4a57a57b mdiobus_read_nested +EXPORT_SYMBOL vmlinux 0x4a7eb685 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x4a94a881 write_inode_now +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4aaf6fe4 sk_common_release +EXPORT_SYMBOL vmlinux 0x4abb7d10 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x4ad88317 zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0x4aea463f crc32_le_shift +EXPORT_SYMBOL vmlinux 0x4aef62af nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x4af37093 fib6_info_hw_flags_set +EXPORT_SYMBOL vmlinux 0x4af6ddf0 kstrtou16 +EXPORT_SYMBOL vmlinux 0x4afb2238 add_wait_queue +EXPORT_SYMBOL vmlinux 0x4b0069f4 nla_put_64bit +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b0d951f input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x4b2e32e7 update_region +EXPORT_SYMBOL vmlinux 0x4b344878 blk_cleanup_disk +EXPORT_SYMBOL vmlinux 0x4b34c9d2 tcf_qevent_validate_change +EXPORT_SYMBOL vmlinux 0x4b3ecc4c __netif_schedule +EXPORT_SYMBOL vmlinux 0x4b440794 generic_file_read_iter +EXPORT_SYMBOL vmlinux 0x4b5e3a47 __get_user_nocheck_1 +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b6df007 acpi_evaluate_reg +EXPORT_SYMBOL vmlinux 0x4b750f53 _raw_spin_unlock_irq +EXPORT_SYMBOL vmlinux 0x4b7867f2 xsk_set_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x4b7abd79 kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0x4b8097f4 input_set_capability +EXPORT_SYMBOL vmlinux 0x4b88fad3 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x4bb1349c configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0x4bcc2662 mempool_init_node +EXPORT_SYMBOL vmlinux 0x4bef1c67 empty_name +EXPORT_SYMBOL vmlinux 0x4bf57f0e input_set_timestamp +EXPORT_SYMBOL vmlinux 0x4c07a7e0 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0x4c15a3e6 netif_set_tso_max_size +EXPORT_SYMBOL vmlinux 0x4c1b72b2 generic_permission +EXPORT_SYMBOL vmlinux 0x4c236f6f __x86_indirect_thunk_r15 +EXPORT_SYMBOL vmlinux 0x4c33bf9e pci_match_id +EXPORT_SYMBOL vmlinux 0x4c3a2c45 __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0x4c3e69cd scsi_remove_host +EXPORT_SYMBOL vmlinux 0x4c3f966c xfrm_lookup +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c443b67 sock_wake_async +EXPORT_SYMBOL vmlinux 0x4c674279 __SCK__tp_func_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x4c6a208a iunique +EXPORT_SYMBOL vmlinux 0x4c96ad1c vfs_create_mount +EXPORT_SYMBOL vmlinux 0x4c9a2ae6 dma_fence_array_create +EXPORT_SYMBOL vmlinux 0x4c9d28b0 phys_base +EXPORT_SYMBOL vmlinux 0x4ca2a179 unregister_key_type +EXPORT_SYMBOL vmlinux 0x4cba441d iwe_stream_add_event +EXPORT_SYMBOL vmlinux 0x4cbb9ec3 kernel_connect +EXPORT_SYMBOL vmlinux 0x4cc121b9 eth_gro_receive +EXPORT_SYMBOL vmlinux 0x4cd5bc5e rdmsr_safe_regs +EXPORT_SYMBOL vmlinux 0x4cd82952 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x4cd8533d kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x4cdd04dd pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x4ceef226 __SCK__tp_func_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0x4cf70956 dquot_destroy +EXPORT_SYMBOL vmlinux 0x4cf92502 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x4d2c7133 acpi_info +EXPORT_SYMBOL vmlinux 0x4d339600 unix_destruct_scm +EXPORT_SYMBOL vmlinux 0x4d4a6d5e vfio_unpin_pages +EXPORT_SYMBOL vmlinux 0x4d53e614 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x4d645d12 phy_attach +EXPORT_SYMBOL vmlinux 0x4d924f20 memremap +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4db463be pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x4db6bf72 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x4db7bc0a agp_find_bridge +EXPORT_SYMBOL vmlinux 0x4dc11b97 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x4dca08ee sync_file_get_fence +EXPORT_SYMBOL vmlinux 0x4dca16f8 bmap +EXPORT_SYMBOL vmlinux 0x4dccb8b5 vm_insert_pages +EXPORT_SYMBOL vmlinux 0x4de995ec gen_pool_dma_alloc_algo +EXPORT_SYMBOL vmlinux 0x4df02057 crc32_be +EXPORT_SYMBOL vmlinux 0x4df2ea84 gen_estimator_read +EXPORT_SYMBOL vmlinux 0x4dfa8d4b mutex_lock +EXPORT_SYMBOL vmlinux 0x4e20bcf8 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x4e3021a4 blk_put_queue +EXPORT_SYMBOL vmlinux 0x4e332902 nla_append +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e36cdc4 __ubsan_handle_divrem_overflow +EXPORT_SYMBOL vmlinux 0x4e3ed2e3 blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0x4e4f0f16 dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x4e547048 __kmalloc_node_track_caller +EXPORT_SYMBOL vmlinux 0x4e6130f8 sock_wfree +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6e4b41 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e8a7be9 clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0x4e9685a3 cdev_alloc +EXPORT_SYMBOL vmlinux 0x4ea25709 dql_reset +EXPORT_SYMBOL vmlinux 0x4eada8f7 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x4eb0052b phy_start_cable_test +EXPORT_SYMBOL vmlinux 0x4ec3e6fd netif_rx +EXPORT_SYMBOL vmlinux 0x4ec54e78 bitmap_to_arr32 +EXPORT_SYMBOL vmlinux 0x4ed9d1e1 skb_split +EXPORT_SYMBOL vmlinux 0x4f066596 phy_write_mmd +EXPORT_SYMBOL vmlinux 0x4f18ab3a tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f20d80b zstd_min_clevel +EXPORT_SYMBOL vmlinux 0x4f2250ba rtc_tm_to_time64 +EXPORT_SYMBOL vmlinux 0x4f2968a8 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x4f48f876 key_unlink +EXPORT_SYMBOL vmlinux 0x4f55166f acpi_set_current_resources +EXPORT_SYMBOL vmlinux 0x4f62d39a rproc_set_firmware +EXPORT_SYMBOL vmlinux 0x4f6d629b __check_sticky +EXPORT_SYMBOL vmlinux 0x4f709989 security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0x4f711f84 intel_scu_ipc_dev_iowrite8 +EXPORT_SYMBOL vmlinux 0x4f821e41 sock_i_ino +EXPORT_SYMBOL vmlinux 0x4f8ffbee free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x4fa8f1f1 param_ops_int +EXPORT_SYMBOL vmlinux 0x4faa392c param_set_int +EXPORT_SYMBOL vmlinux 0x4fd9b986 __skb_get_hash +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x50000d20 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x500048f1 inet6_protos +EXPORT_SYMBOL vmlinux 0x5006ce1e pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x500de519 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x501d1beb vfio_register_notifier +EXPORT_SYMBOL vmlinux 0x5021bd81 _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x5027bde2 acpi_acquire_mutex +EXPORT_SYMBOL vmlinux 0x504d3eab nvdimm_namespace_common_probe +EXPORT_SYMBOL vmlinux 0x5053c5d5 skb_store_bits +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x5065f5dc unix_attach_fds +EXPORT_SYMBOL vmlinux 0x50661cce simple_setattr +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +EXPORT_SYMBOL vmlinux 0x5088105e __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0x5089f45f ip_send_check +EXPORT_SYMBOL vmlinux 0x5092e84e __read_overflow2_field +EXPORT_SYMBOL vmlinux 0x50944630 seq_list_start_head_rcu +EXPORT_SYMBOL vmlinux 0x5097f7d7 vga_switcheroo_get_client_state +EXPORT_SYMBOL vmlinux 0x509b64ea acpi_has_method +EXPORT_SYMBOL vmlinux 0x50a4698c fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0x50b73ce2 rfkill_find_type +EXPORT_SYMBOL vmlinux 0x50b80992 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50cc203a __SCK__tp_func_rdpmc +EXPORT_SYMBOL vmlinux 0x50cf7585 hex2bin +EXPORT_SYMBOL vmlinux 0x50d035c2 vsscanf +EXPORT_SYMBOL vmlinux 0x50d68377 arch_phys_wc_del +EXPORT_SYMBOL vmlinux 0x50f91491 __genradix_ptr +EXPORT_SYMBOL vmlinux 0x5102a30b do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0x51057f85 security_d_instantiate +EXPORT_SYMBOL vmlinux 0x510cd49e fiemap_prep +EXPORT_SYMBOL vmlinux 0x51111e87 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x5117c1a3 amd_iommu_flush_page +EXPORT_SYMBOL vmlinux 0x51206623 xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0x5123fbc9 ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0x51299f91 sk_alloc +EXPORT_SYMBOL vmlinux 0x515083bf acpi_release_mutex +EXPORT_SYMBOL vmlinux 0x51641162 opal_unlock_from_suspend +EXPORT_SYMBOL vmlinux 0x5188de91 get_tree_single +EXPORT_SYMBOL vmlinux 0x51a4590c sock_kmalloc +EXPORT_SYMBOL vmlinux 0x51a511eb _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0x51c3195b unlock_new_inode +EXPORT_SYMBOL vmlinux 0x51c41e89 md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51f298e0 intel_scu_ipc_dev_ioread8 +EXPORT_SYMBOL vmlinux 0x520f3f74 jbd2_fc_end_commit +EXPORT_SYMBOL vmlinux 0x520fcac0 vfs_unlink +EXPORT_SYMBOL vmlinux 0x52428810 ip_local_deliver +EXPORT_SYMBOL vmlinux 0x5267a38d set_nlink +EXPORT_SYMBOL vmlinux 0x5269d08c trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0x526bbb9d neigh_update +EXPORT_SYMBOL vmlinux 0x526eef2c hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0x52983a4f vme_master_write +EXPORT_SYMBOL vmlinux 0x52a62ea4 d_rehash +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52dcb85b __traceiter_kmalloc +EXPORT_SYMBOL vmlinux 0x52ecbc75 crc_ccitt +EXPORT_SYMBOL vmlinux 0x52f5db4a dev_lstats_read +EXPORT_SYMBOL vmlinux 0x52fed2cd xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x53076dd4 agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x530ba382 pci_get_slot +EXPORT_SYMBOL vmlinux 0x53126ecc __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x531b604e __virt_addr_valid +EXPORT_SYMBOL vmlinux 0x53212f2d iov_iter_npages +EXPORT_SYMBOL vmlinux 0x5331a874 __i2c_transfer +EXPORT_SYMBOL vmlinux 0x5338184f ethtool_sprintf +EXPORT_SYMBOL vmlinux 0x533997ce netdev_notice +EXPORT_SYMBOL vmlinux 0x534e94a9 skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0x53569707 this_cpu_off +EXPORT_SYMBOL vmlinux 0x538a4ccd tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x538f6017 phy_start +EXPORT_SYMBOL vmlinux 0x53a28702 remove_proc_subtree +EXPORT_SYMBOL vmlinux 0x53b954a2 up_read +EXPORT_SYMBOL vmlinux 0x53c65a09 pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0x53e181d1 tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0x53e197a6 blk_pre_runtime_suspend +EXPORT_SYMBOL vmlinux 0x53e87f33 __do_once_slow_done +EXPORT_SYMBOL vmlinux 0x5414d44c irq_domain_set_info +EXPORT_SYMBOL vmlinux 0x54175c5f acpi_read_bit_register +EXPORT_SYMBOL vmlinux 0x541a6db8 module_layout +EXPORT_SYMBOL vmlinux 0x5434efc3 vga_switcheroo_client_probe_defer +EXPORT_SYMBOL vmlinux 0x543ad234 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x5440543e ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0x54413a4a netdev_bonding_info_change +EXPORT_SYMBOL vmlinux 0x54528720 nf_log_unset +EXPORT_SYMBOL vmlinux 0x54533a50 __i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x546957ca mmc_cqe_start_req +EXPORT_SYMBOL vmlinux 0x547e3344 acpi_disable +EXPORT_SYMBOL vmlinux 0x5497f6d3 register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x54a81696 dev_trans_start +EXPORT_SYMBOL vmlinux 0x54a913ef blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x54b1fac6 __ubsan_handle_load_invalid_value +EXPORT_SYMBOL vmlinux 0x54b22bb1 __SCT__tp_func_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54ea6dfe xen_start_flags +EXPORT_SYMBOL vmlinux 0x54faaa83 input_flush_device +EXPORT_SYMBOL vmlinux 0x54fcdb15 netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit +EXPORT_SYMBOL vmlinux 0x55127462 pci_iomap +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x55385e2e __x86_indirect_thunk_r14 +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +EXPORT_SYMBOL vmlinux 0x554b8b9a xsk_tx_completed +EXPORT_SYMBOL vmlinux 0x555540a5 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x556422b3 ioremap_cache +EXPORT_SYMBOL vmlinux 0x556b5d62 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x556cca46 x86_apple_machine +EXPORT_SYMBOL vmlinux 0x557d6f34 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x55837a5f dump_emit +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x559ae3e5 sync_blockdev_range +EXPORT_SYMBOL vmlinux 0x55a4189a dns_query +EXPORT_SYMBOL vmlinux 0x55c12cb8 sock_edemux +EXPORT_SYMBOL vmlinux 0x55ca91a0 pid_task +EXPORT_SYMBOL vmlinux 0x55cbf8b0 kfree_skb_reason +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x55eb25bb blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x55ec7f62 pci_irq_vector +EXPORT_SYMBOL vmlinux 0x55f781d1 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x55f95e07 ioremap_prot +EXPORT_SYMBOL vmlinux 0x55fba6aa pldmfw_op_pci_match_record +EXPORT_SYMBOL vmlinux 0x56068ba9 devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x56078908 misc_register +EXPORT_SYMBOL vmlinux 0x5615a4fc bd_abort_claiming +EXPORT_SYMBOL vmlinux 0x56227711 mmc_gpio_get_cd +EXPORT_SYMBOL vmlinux 0x5629375c pci_alloc_dev +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x563b9ec1 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x56470118 __warn_printk +EXPORT_SYMBOL vmlinux 0x564e20cf pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x564f7608 acpi_reconfig_notifier_register +EXPORT_SYMBOL vmlinux 0x565c72e4 tcp_add_backlog +EXPORT_SYMBOL vmlinux 0x565fe66f key_alloc +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x568d7fc3 tcp_seq_start +EXPORT_SYMBOL vmlinux 0x56959889 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x56aa9c76 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x56c14cc5 __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56d286bb sg_alloc_append_table_from_pages +EXPORT_SYMBOL vmlinux 0x56d969b4 tcp_poll +EXPORT_SYMBOL vmlinux 0x56ddad5c filemap_fdatawrite_wbc +EXPORT_SYMBOL vmlinux 0x56fc9504 __serio_register_driver +EXPORT_SYMBOL vmlinux 0x56fe6de6 vga_switcheroo_client_fb_set +EXPORT_SYMBOL vmlinux 0x5708ebf2 cdev_del +EXPORT_SYMBOL vmlinux 0x570dd8da cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x571a2357 pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x575e1bc2 page_mapped +EXPORT_SYMBOL vmlinux 0x578110a1 __quota_error +EXPORT_SYMBOL vmlinux 0x5783224c nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x57900416 gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0x5792f848 strlcpy +EXPORT_SYMBOL vmlinux 0x579689f8 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x57b28df0 pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0x57bc19d2 down_write +EXPORT_SYMBOL vmlinux 0x57bde703 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x57ca0782 simple_recursive_removal +EXPORT_SYMBOL vmlinux 0x57db8fd6 utf8_normalize +EXPORT_SYMBOL vmlinux 0x57ec8780 ptp_cancel_worker_sync +EXPORT_SYMBOL vmlinux 0x5818fe3c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x581f98da zlib_inflate +EXPORT_SYMBOL vmlinux 0x582b6275 xfrm_if_unregister_cb +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x584afa2f da903x_query_status +EXPORT_SYMBOL vmlinux 0x58556c77 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x5858f877 pci_scan_bus +EXPORT_SYMBOL vmlinux 0x585db2cc try_module_get +EXPORT_SYMBOL vmlinux 0x5874e895 xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0x5878980f ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0x587b0954 kvasprintf +EXPORT_SYMBOL vmlinux 0x587f22d7 devmap_managed_key +EXPORT_SYMBOL vmlinux 0x5880c64a fwnode_get_phy_id +EXPORT_SYMBOL vmlinux 0x589909d0 __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0x58993b3c bio_init +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58bdb80d d_exact_alias +EXPORT_SYMBOL vmlinux 0x58ca4d7d security_sk_clone +EXPORT_SYMBOL vmlinux 0x58ce6eaf flow_rule_match_control +EXPORT_SYMBOL vmlinux 0x58cea16a generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x58f82de0 nf_register_net_hook +EXPORT_SYMBOL vmlinux 0x590ccc5f dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x590e3687 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x59230cee ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0x5928dd0e dev_set_alias +EXPORT_SYMBOL vmlinux 0x593c827c neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x593edc4b cpu_tlbstate_shared +EXPORT_SYMBOL vmlinux 0x5942be91 no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0x5944ec2d xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x59553883 agp_allocate_memory +EXPORT_SYMBOL vmlinux 0x595d8002 hdmi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x59720fc3 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x59793d77 generic_file_open +EXPORT_SYMBOL vmlinux 0x5982325c prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x5994c673 input_free_device +EXPORT_SYMBOL vmlinux 0x599fa06d sock_set_keepalive +EXPORT_SYMBOL vmlinux 0x599fb41c kvmalloc_node +EXPORT_SYMBOL vmlinux 0x59a2f0ee packing +EXPORT_SYMBOL vmlinux 0x59b4ac3e tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x59c203eb mipi_dsi_turn_on_peripheral +EXPORT_SYMBOL vmlinux 0x59dd0f36 vif_device_init +EXPORT_SYMBOL vmlinux 0x59e1ac03 skb_put +EXPORT_SYMBOL vmlinux 0x59fc1e21 devm_devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a1836db xattr_supported_namespace +EXPORT_SYMBOL vmlinux 0x5a1b435d starget_for_each_device +EXPORT_SYMBOL vmlinux 0x5a248e50 seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0x5a290250 hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x5a2c073d simple_transaction_release +EXPORT_SYMBOL vmlinux 0x5a3c8a3b unregister_netdev +EXPORT_SYMBOL vmlinux 0x5a44f8cb __crypto_memneq +EXPORT_SYMBOL vmlinux 0x5a4896a8 __put_user_2 +EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle +EXPORT_SYMBOL vmlinux 0x5a5a2271 __cpu_online_mask +EXPORT_SYMBOL vmlinux 0x5a5d8592 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x5a5ea638 blk_sync_queue +EXPORT_SYMBOL vmlinux 0x5a855a7a inode_nohighmem +EXPORT_SYMBOL vmlinux 0x5a8618d8 folio_redirty_for_writepage +EXPORT_SYMBOL vmlinux 0x5a921311 strncmp +EXPORT_SYMBOL vmlinux 0x5a99a0d7 flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0x5a9d1394 netdev_info +EXPORT_SYMBOL vmlinux 0x5aac2251 sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0x5abb6ed9 seq_puts +EXPORT_SYMBOL vmlinux 0x5ad062d1 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x5ae1154b __traceiter_kfree +EXPORT_SYMBOL vmlinux 0x5ae834d5 mdiobus_free +EXPORT_SYMBOL vmlinux 0x5aee5780 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x5af5c15f __breadahead_gfp +EXPORT_SYMBOL vmlinux 0x5afa3d29 __getblk_gfp +EXPORT_SYMBOL vmlinux 0x5afea130 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x5b179434 xsk_tx_peek_release_desc_batch +EXPORT_SYMBOL vmlinux 0x5b1a1f8c jbd2_journal_grab_journal_head +EXPORT_SYMBOL vmlinux 0x5b1a6a59 free_cgroup_ns +EXPORT_SYMBOL vmlinux 0x5b282afa sock_init_data_uid +EXPORT_SYMBOL vmlinux 0x5b2a49a6 vma_set_file +EXPORT_SYMBOL vmlinux 0x5b2f27fb do_wait_intr +EXPORT_SYMBOL vmlinux 0x5b313261 genphy_read_status_fixed +EXPORT_SYMBOL vmlinux 0x5b3e282f xa_store +EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap +EXPORT_SYMBOL vmlinux 0x5b5a7f79 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x5b641283 arch_phys_wc_add +EXPORT_SYMBOL vmlinux 0x5b655d10 migrate_page_states +EXPORT_SYMBOL vmlinux 0x5b73e87e bio_split +EXPORT_SYMBOL vmlinux 0x5b8239ca __x86_return_thunk +EXPORT_SYMBOL vmlinux 0x5b839c02 folio_migrate_flags +EXPORT_SYMBOL vmlinux 0x5b941221 ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0x5b99abbe mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0x5ba27f9a tty_check_change +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5bdb7603 sock_copy_user_timeval +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5befbb3e phy_error +EXPORT_SYMBOL vmlinux 0x5bff02d9 seq_hex_dump +EXPORT_SYMBOL vmlinux 0x5c095b6d blk_rq_init +EXPORT_SYMBOL vmlinux 0x5c0b51ac ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x5c26a53b wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0x5c3c7387 kstrtoull +EXPORT_SYMBOL vmlinux 0x5c4b2dd9 __alloc_skb +EXPORT_SYMBOL vmlinux 0x5c4c5809 dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0x5c52c74e flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0x5c65e38b input_unregister_device +EXPORT_SYMBOL vmlinux 0x5c929f02 __phy_read_mmd +EXPORT_SYMBOL vmlinux 0x5c978830 devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0x5cb70595 vga_remove_vgacon +EXPORT_SYMBOL vmlinux 0x5cc9b341 generic_read_dir +EXPORT_SYMBOL vmlinux 0x5ccb53e0 netif_set_tso_max_segs +EXPORT_SYMBOL vmlinux 0x5cd47893 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x5cd89c47 get_fs_type +EXPORT_SYMBOL vmlinux 0x5cda74e8 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5cfb26a0 acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0x5d064b2a neigh_seq_next +EXPORT_SYMBOL vmlinux 0x5d07b40d proc_create_mount_point +EXPORT_SYMBOL vmlinux 0x5d1d6f6f remove_proc_entry +EXPORT_SYMBOL vmlinux 0x5d2ec5de get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0x5d401f7f tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x5d46ecdf __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x5d48668b inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d4f665e mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x5d5d5502 vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0x5d6e7397 fuse_mount_destroy +EXPORT_SYMBOL vmlinux 0x5d6efd1f pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0x5d720833 tcp_init_sock +EXPORT_SYMBOL vmlinux 0x5d7a4952 cfb_imageblit +EXPORT_SYMBOL vmlinux 0x5d942d4a netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0x5dac6b32 arp_send +EXPORT_SYMBOL vmlinux 0x5db8d9ec jbd2_wait_inode_data +EXPORT_SYMBOL vmlinux 0x5dc3c9af __inet_stream_connect +EXPORT_SYMBOL vmlinux 0x5dc4996d pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x5dca6913 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x5dd6b07a md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0x5de78793 kobject_put +EXPORT_SYMBOL vmlinux 0x5df68981 lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x5dff1c98 flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0x5e06bc5c refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e1e7427 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x5e228312 flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0x5e332b52 __var_waitqueue +EXPORT_SYMBOL vmlinux 0x5e36c0a3 md_write_start +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e39ecdb ip_do_fragment +EXPORT_SYMBOL vmlinux 0x5e4af839 __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0x5e5fdd54 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x5e6a04a9 rtc_add_groups +EXPORT_SYMBOL vmlinux 0x5e6fc4be inet_add_protocol +EXPORT_SYMBOL vmlinux 0x5e7decb2 __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x5e855e56 gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e97a1be ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0x5e9a01ce gen_new_estimator +EXPORT_SYMBOL vmlinux 0x5e9bc16e devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x5eaca692 dma_unmap_page_attrs +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5eb9726b sock_release +EXPORT_SYMBOL vmlinux 0x5ec34026 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x5ecf482f icmp6_send +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed0d56f i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5eddfb4c tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x5ee4ffe9 tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0x5ef6a672 gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0x5efde8e6 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x5f098b2a in6addr_interfacelocal_allrouters +EXPORT_SYMBOL vmlinux 0x5f11860e eth_get_headlen +EXPORT_SYMBOL vmlinux 0x5f13641a d_move +EXPORT_SYMBOL vmlinux 0x5f1e28e5 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x5f21c8de find_inode_rcu +EXPORT_SYMBOL vmlinux 0x5f246a0e mdio_device_create +EXPORT_SYMBOL vmlinux 0x5f28d603 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x5f2ba55e security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x5f353960 phy_device_register +EXPORT_SYMBOL vmlinux 0x5f4f1e5e netif_tx_unlock +EXPORT_SYMBOL vmlinux 0x5f540977 kmalloc_caches +EXPORT_SYMBOL vmlinux 0x5f5441c8 __ubsan_handle_alignment_assumption +EXPORT_SYMBOL vmlinux 0x5f56663b rdmsrl_on_cpu +EXPORT_SYMBOL vmlinux 0x5f5f7fd8 bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0x5f62e758 migrate_vma_pages +EXPORT_SYMBOL vmlinux 0x5f6b55f9 is_nd_dax +EXPORT_SYMBOL vmlinux 0x5f6b889c rproc_va_to_pa +EXPORT_SYMBOL vmlinux 0x5f7f76b1 follow_up +EXPORT_SYMBOL vmlinux 0x5f854e20 twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x5f8845c9 tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0x5f9249ef fixed_size_llseek +EXPORT_SYMBOL vmlinux 0x5f93525c acpi_extract_package +EXPORT_SYMBOL vmlinux 0x5f99383a ioread64_hi_lo +EXPORT_SYMBOL vmlinux 0x5fb4ccfe vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0x5fc67252 ioread16_rep +EXPORT_SYMBOL vmlinux 0x5fc72f0e alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x5fd7f474 tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0x5fe13529 __SCT__tp_func_spi_transfer_start +EXPORT_SYMBOL vmlinux 0x5fe8eb94 phy_connect +EXPORT_SYMBOL vmlinux 0x5ff9eb0e lockref_mark_dead +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x6008689f kthread_complete_and_exit +EXPORT_SYMBOL vmlinux 0x600b854a kill_pgrp +EXPORT_SYMBOL vmlinux 0x601674d9 sg_miter_skip +EXPORT_SYMBOL vmlinux 0x601a83d7 devm_devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x60212de8 __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x604e7e61 xfrm_register_km +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x6059346b flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0x605acb66 devm_clk_get_optional +EXPORT_SYMBOL vmlinux 0x6071d3d4 vfs_get_tree +EXPORT_SYMBOL vmlinux 0x608741b5 __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x608d0267 zstd_get_error_code +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x6095416c neigh_carrier_down +EXPORT_SYMBOL vmlinux 0x6098d562 vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60ad2d46 mmc_can_trim +EXPORT_SYMBOL vmlinux 0x60b3071f neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0x60b3bb8c scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x60bf400b udp_seq_stop +EXPORT_SYMBOL vmlinux 0x60c5aaf9 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x60c612eb kthread_create_worker +EXPORT_SYMBOL vmlinux 0x60cc20d6 t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0x60d2f019 kill_pid +EXPORT_SYMBOL vmlinux 0x60d75e6d scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x60d8ab30 vme_lm_get +EXPORT_SYMBOL vmlinux 0x60ddbe36 netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0x60e09158 put_watch_queue +EXPORT_SYMBOL vmlinux 0x60e855f5 neigh_app_ns +EXPORT_SYMBOL vmlinux 0x60ee9ee4 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x60efab56 acpi_dev_hid_uid_match +EXPORT_SYMBOL vmlinux 0x60fe71bb tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x61047e78 filemap_range_has_page +EXPORT_SYMBOL vmlinux 0x61073e4a acpi_os_map_generic_address +EXPORT_SYMBOL vmlinux 0x610825e4 dma_map_sg_attrs +EXPORT_SYMBOL vmlinux 0x611cda4f iget_locked +EXPORT_SYMBOL vmlinux 0x6124b040 phy_read_mmd +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x61347034 mb_cache_entry_delete_or_get +EXPORT_SYMBOL vmlinux 0x61374db0 genphy_setup_forced +EXPORT_SYMBOL vmlinux 0x61429050 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x61520c66 sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0x615717ed dcb_getapp +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +EXPORT_SYMBOL vmlinux 0x615f1b6d ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x616041e6 __SCK__tp_func_kmalloc_node +EXPORT_SYMBOL vmlinux 0x6162ecba bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x617acd8c vfs_iter_write +EXPORT_SYMBOL vmlinux 0x617bdedd input_set_abs_params +EXPORT_SYMBOL vmlinux 0x617c452b queued_read_lock_slowpath +EXPORT_SYMBOL vmlinux 0x6184b304 pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0x61858991 mipi_dsi_dcs_exit_sleep_mode +EXPORT_SYMBOL vmlinux 0x6185b747 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0x6188095d filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x618911fc numa_node +EXPORT_SYMBOL vmlinux 0x61986b8e __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x619cb7dd simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x619dfcdc intel_scu_ipc_dev_readv +EXPORT_SYMBOL vmlinux 0x61ab2038 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x61b4410f jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61c8c5a3 tso_build_data +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x61eaebb3 bio_add_page +EXPORT_SYMBOL vmlinux 0x61f255a1 posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0x6204cdcd amd_iommu_complete_ppr +EXPORT_SYMBOL vmlinux 0x62141f0b mipi_dsi_host_register +EXPORT_SYMBOL vmlinux 0x6214aef2 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x62150734 phy_ethtool_ksettings_get +EXPORT_SYMBOL vmlinux 0x6226b9fa machine_to_phys_mapping +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x622e44ea sock_set_priority +EXPORT_SYMBOL vmlinux 0x62318efe inet_shutdown +EXPORT_SYMBOL vmlinux 0x623e4a0e netif_device_attach +EXPORT_SYMBOL vmlinux 0x6243fe9b md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x6274fe67 inet6_release +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x62855576 _copy_to_iter +EXPORT_SYMBOL vmlinux 0x628eac32 d_instantiate_anon +EXPORT_SYMBOL vmlinux 0x629079b3 dma_fence_signal_timestamp +EXPORT_SYMBOL vmlinux 0x62949074 acpi_buffer_to_resource +EXPORT_SYMBOL vmlinux 0x629f9dad netdev_change_features +EXPORT_SYMBOL vmlinux 0x62a2f0e5 blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0x62be6add xattr_full_name +EXPORT_SYMBOL vmlinux 0x62ca91b5 pnp_request_card_device +EXPORT_SYMBOL vmlinux 0x62cebee3 seq_open_private +EXPORT_SYMBOL vmlinux 0x62d73f56 sk_stream_error +EXPORT_SYMBOL vmlinux 0x62e43770 __mod_node_page_state +EXPORT_SYMBOL vmlinux 0x62f7e207 down_read_killable +EXPORT_SYMBOL vmlinux 0x62fb2ab1 flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x6315c42c zstd_get_params +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x631e7c60 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0x633b620e setattr_copy +EXPORT_SYMBOL vmlinux 0x636257f7 get_ibs_caps +EXPORT_SYMBOL vmlinux 0x6363eb1d pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0x636cd389 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x637c3495 jbd2_journal_invalidate_folio +EXPORT_SYMBOL vmlinux 0x6383b27c __x86_indirect_thunk_rdx +EXPORT_SYMBOL vmlinux 0x638c0c21 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x63a54900 __devm_mdiobus_register +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63b06f6e dm_table_get_size +EXPORT_SYMBOL vmlinux 0x63c2ddb9 blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0x63c37e5f __skb_ext_del +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63dfe616 qdisc_hash_add +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63ee1e63 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x63ef1698 pci_map_rom +EXPORT_SYMBOL vmlinux 0x63f835ba on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x6415e8f5 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x642eb5c6 xen_poll_irq_timeout +EXPORT_SYMBOL vmlinux 0x64323c77 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x6439c19c dev_activate +EXPORT_SYMBOL vmlinux 0x64448d4e i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL vmlinux 0x6467aa66 sock_pfree +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x648861ab rproc_coredump_using_sections +EXPORT_SYMBOL vmlinux 0x648a6b44 put_ipc_ns +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x64919a91 invalidate_disk +EXPORT_SYMBOL vmlinux 0x64942266 ipv6_dev_find +EXPORT_SYMBOL vmlinux 0x649d29a3 netif_device_detach +EXPORT_SYMBOL vmlinux 0x64a33df3 skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64b37983 from_kprojid +EXPORT_SYMBOL vmlinux 0x64bbc288 string_unescape +EXPORT_SYMBOL vmlinux 0x64d43b5a folio_mark_accessed +EXPORT_SYMBOL vmlinux 0x64de735d param_ops_ulong +EXPORT_SYMBOL vmlinux 0x64f83366 xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x650a5f04 do_clone_file_range +EXPORT_SYMBOL vmlinux 0x650d5722 scsi_partsize +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x6514c1e6 flow_get_u32_src +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65464c16 clkdev_drop +EXPORT_SYMBOL vmlinux 0x6547a0d9 setattr_prepare +EXPORT_SYMBOL vmlinux 0x65487097 __x86_indirect_thunk_rax +EXPORT_SYMBOL vmlinux 0x656c1a0e string_escape_mem +EXPORT_SYMBOL vmlinux 0x656e4a6e snprintf +EXPORT_SYMBOL vmlinux 0x65781786 tc_cleanup_offload_action +EXPORT_SYMBOL vmlinux 0x658ab7b2 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x658b033a mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset +EXPORT_SYMBOL vmlinux 0x65944e3a max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc +EXPORT_SYMBOL vmlinux 0x65a38110 eisa_driver_register +EXPORT_SYMBOL vmlinux 0x65b0270e security_sock_graft +EXPORT_SYMBOL vmlinux 0x65b992ac xen_alloc_p2m_entry +EXPORT_SYMBOL vmlinux 0x65bb42bf dquot_free_inode +EXPORT_SYMBOL vmlinux 0x65bc783d pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0x65c2bbd0 __netif_rx +EXPORT_SYMBOL vmlinux 0x65c5dc76 devfreq_monitor_suspend +EXPORT_SYMBOL vmlinux 0x65c96622 mipi_dsi_detach +EXPORT_SYMBOL vmlinux 0x65d1bab2 acpi_bios_warning +EXPORT_SYMBOL vmlinux 0x65d9e877 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65df35ca __put_user_nocheck_2 +EXPORT_SYMBOL vmlinux 0x65e0d6d7 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x65e4707b padata_alloc +EXPORT_SYMBOL vmlinux 0x661269a6 param_get_long +EXPORT_SYMBOL vmlinux 0x6622413a tcp_disconnect +EXPORT_SYMBOL vmlinux 0x6626afca down +EXPORT_SYMBOL vmlinux 0x66277a0f md_done_sync +EXPORT_SYMBOL vmlinux 0x662c58e6 pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0x663182c9 acpi_get_gpe_status +EXPORT_SYMBOL vmlinux 0x6638d8f8 gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0x66445246 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0x66581a20 tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0x665e2513 zstd_max_clevel +EXPORT_SYMBOL vmlinux 0x66628bf3 ip_tunnel_metadata_cnt +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x66818ac6 dquot_alloc +EXPORT_SYMBOL vmlinux 0x668b19a1 down_read +EXPORT_SYMBOL vmlinux 0x66af1fd1 lockref_put_or_lock +EXPORT_SYMBOL vmlinux 0x66b4cc41 kmemdup +EXPORT_SYMBOL vmlinux 0x66cca4f9 __x86_indirect_thunk_rcx +EXPORT_SYMBOL vmlinux 0x66db9a33 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x66dbddbe unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x66f8ac49 con_copy_unimap +EXPORT_SYMBOL vmlinux 0x670ecece __x86_indirect_thunk_rbx +EXPORT_SYMBOL vmlinux 0x6712d2e9 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x6720612e passthru_features_check +EXPORT_SYMBOL vmlinux 0x6721fc7c security_cred_getsecid +EXPORT_SYMBOL vmlinux 0x6726ee33 kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0x6728a54e neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x6729d3df __get_user_4 +EXPORT_SYMBOL vmlinux 0x672e7557 skb_tunnel_check_pmtu +EXPORT_SYMBOL vmlinux 0x67306cc6 dst_alloc +EXPORT_SYMBOL vmlinux 0x6732e95a fqdir_exit +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x677f5add flush_signals +EXPORT_SYMBOL vmlinux 0x678b96ec dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x6790a4b8 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x67a07718 xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b41d36 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67c13ea0 acpi_read +EXPORT_SYMBOL vmlinux 0x67df1a21 scmd_printk +EXPORT_SYMBOL vmlinux 0x6800f31e __break_lease +EXPORT_SYMBOL vmlinux 0x68031039 init_net +EXPORT_SYMBOL vmlinux 0x6812d53b qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x6828c59f phy_ethtool_nway_reset +EXPORT_SYMBOL vmlinux 0x6837ec53 vme_dma_request +EXPORT_SYMBOL vmlinux 0x6851664e wrmsrl_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x6865e667 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x6867dbe7 unlock_buffer +EXPORT_SYMBOL vmlinux 0x6875fc59 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x687f398d dev_get_stats +EXPORT_SYMBOL vmlinux 0x688e72e1 __SCT__preempt_schedule_notrace +EXPORT_SYMBOL vmlinux 0x6894141b user_revoke +EXPORT_SYMBOL vmlinux 0x68bc4462 mroute6_is_socket +EXPORT_SYMBOL vmlinux 0x68c4b824 cpumask_any_but +EXPORT_SYMBOL vmlinux 0x68cb03a9 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x68e79558 dma_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x68e959fe lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0x68f39886 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x69049cd2 radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0x69112e7c flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0x6917a77e __traceiter_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x6926fc6d fs_context_for_submount +EXPORT_SYMBOL vmlinux 0x6929f6ab grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x6949bc14 fault_in_iov_iter_readable +EXPORT_SYMBOL vmlinux 0x69585523 __ksize +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x69713d52 key_task_permission +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x6977f21c del_gendisk +EXPORT_SYMBOL vmlinux 0x697ed5f0 memcpy_and_pad +EXPORT_SYMBOL vmlinux 0x6988d0ca cpu_dr7 +EXPORT_SYMBOL vmlinux 0x699854d2 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x699ea030 seq_read_iter +EXPORT_SYMBOL vmlinux 0x69a423fb ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x69a83edd scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x69acdf38 memcpy +EXPORT_SYMBOL vmlinux 0x69c278dc d_prune_aliases +EXPORT_SYMBOL vmlinux 0x69c69eff input_unregister_handler +EXPORT_SYMBOL vmlinux 0x69d53cbc posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x69d8058d pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0x69dd3b5b crc32_le +EXPORT_SYMBOL vmlinux 0x69de8757 vme_check_window +EXPORT_SYMBOL vmlinux 0x6a03751f sgl_free_order +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a21b06e tso_build_hdr +EXPORT_SYMBOL vmlinux 0x6a261b78 irq_stat +EXPORT_SYMBOL vmlinux 0x6a449c4f register_sysctl_table +EXPORT_SYMBOL vmlinux 0x6a4547e5 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages +EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a6e05bf kstrtou8 +EXPORT_SYMBOL vmlinux 0x6aa11aa6 sgl_free_n_order +EXPORT_SYMBOL vmlinux 0x6aa737f1 try_to_release_page +EXPORT_SYMBOL vmlinux 0x6aa9fb0c take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0x6ab515a8 sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0x6ab7a6b8 agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0x6acb8246 ihold +EXPORT_SYMBOL vmlinux 0x6acbab3b follow_down +EXPORT_SYMBOL vmlinux 0x6acc44da skb_copy +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6ae415fb get_watch_queue +EXPORT_SYMBOL vmlinux 0x6aeeee72 security_socket_socketpair +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6af5ecc0 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x6b0abd58 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x6b0f47e5 dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0x6b10bee1 _copy_to_user +EXPORT_SYMBOL vmlinux 0x6b16294f nd_dev_to_uuid +EXPORT_SYMBOL vmlinux 0x6b21f227 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x6b27729b radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b394a34 dev_add_offload +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b628000 __SCK__tp_func_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x6b695cf1 zen_untrain_ret +EXPORT_SYMBOL vmlinux 0x6b73e971 seg6_push_hmac +EXPORT_SYMBOL vmlinux 0x6b7c952e devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6b962f2f security_binder_transfer_file +EXPORT_SYMBOL vmlinux 0x6b9dda62 ptp_find_pin +EXPORT_SYMBOL vmlinux 0x6bab8733 security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0x6babdfcd pagecache_get_page +EXPORT_SYMBOL vmlinux 0x6bad54c7 set_anon_super_fc +EXPORT_SYMBOL vmlinux 0x6bad88bc mount_subtree +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bc60e1c netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0x6bccce4d __tracepoint_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0x6bd0e573 down_interruptible +EXPORT_SYMBOL vmlinux 0x6be1c1f8 acpi_install_method +EXPORT_SYMBOL vmlinux 0x6be45e91 page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0x6bec8410 dev_addr_add +EXPORT_SYMBOL vmlinux 0x6bf8b6b8 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x6c052e91 acpi_device_set_power +EXPORT_SYMBOL vmlinux 0x6c0f7a88 get_acl +EXPORT_SYMBOL vmlinux 0x6c1974d5 ping_prot +EXPORT_SYMBOL vmlinux 0x6c224cda gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x6c257ac0 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x6c284454 register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x6c28be5a vfio_info_add_capability +EXPORT_SYMBOL vmlinux 0x6c4d8b08 vme_irq_request +EXPORT_SYMBOL vmlinux 0x6c5857b1 udp_ioctl +EXPORT_SYMBOL vmlinux 0x6c5b8dd7 page_pool_put_page_bulk +EXPORT_SYMBOL vmlinux 0x6c5dae23 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c81bf3f tty_port_close_end +EXPORT_SYMBOL vmlinux 0x6c8e0c03 i2c_transfer_buffer_flags +EXPORT_SYMBOL vmlinux 0x6c8f465c pnp_register_driver +EXPORT_SYMBOL vmlinux 0x6c96e583 nvdimm_bus_unlock +EXPORT_SYMBOL vmlinux 0x6cb2f5a1 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6cc09945 ioread32_rep +EXPORT_SYMBOL vmlinux 0x6cc676ed __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x6cd66cb8 inc_nlink +EXPORT_SYMBOL vmlinux 0x6cf7edb8 ip6_dst_check +EXPORT_SYMBOL vmlinux 0x6cf90d10 agp_bind_memory +EXPORT_SYMBOL vmlinux 0x6d16c104 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x6d1e4446 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d334118 __get_user_8 +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d37cdb4 netif_tx_lock +EXPORT_SYMBOL vmlinux 0x6d488c45 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x6d58f69e agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0x6d5f5b91 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x6d646266 amd_iommu_domain_direct_map +EXPORT_SYMBOL vmlinux 0x6d688b0e mr_fill_mroute +EXPORT_SYMBOL vmlinux 0x6d7500b3 ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x6d7a637d iov_iter_init +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6d9d41a2 dentry_open +EXPORT_SYMBOL vmlinux 0x6da17264 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x6da4024c xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x6da92e7b dquot_get_next_id +EXPORT_SYMBOL vmlinux 0x6daf53f1 skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0x6dba9051 xz_dec_microlzma_end +EXPORT_SYMBOL vmlinux 0x6dbd0e14 blk_mq_start_request +EXPORT_SYMBOL vmlinux 0x6dc35b25 radix_tree_iter_delete +EXPORT_SYMBOL vmlinux 0x6dcf857f uuid_null +EXPORT_SYMBOL vmlinux 0x6dd17e7b acpi_get_table_header +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6df3afe6 __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0x6df7b95f i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x6e08beb3 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x6e175388 vfs_tmpfile +EXPORT_SYMBOL vmlinux 0x6e1fed97 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x6e32e51d __devm_request_region +EXPORT_SYMBOL vmlinux 0x6e33d032 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x6e3d1982 ip_check_defrag +EXPORT_SYMBOL vmlinux 0x6e3ead5d iov_iter_zero +EXPORT_SYMBOL vmlinux 0x6e5b8651 xz_dec_run +EXPORT_SYMBOL vmlinux 0x6e5e3851 input_allocate_device +EXPORT_SYMBOL vmlinux 0x6e672ee6 current_time +EXPORT_SYMBOL vmlinux 0x6e6e024b invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea7575d acpi_dispatch_gpe +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6ebed6b7 mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0x6ece6dc8 xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0x6ee09f21 simple_write_begin +EXPORT_SYMBOL vmlinux 0x6ee2a4cd jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x6f026b2c dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0x6f058981 netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0x6f12dc18 tcf_idr_create +EXPORT_SYMBOL vmlinux 0x6f172cb2 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x6f2606d1 fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x6f29df22 logfc +EXPORT_SYMBOL vmlinux 0x6f41a428 acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x6f425036 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x6f49ea72 __nlmsg_put +EXPORT_SYMBOL vmlinux 0x6f4a59e4 sort_r +EXPORT_SYMBOL vmlinux 0x6f4eb40a reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0x6f51ff2f fwnode_irq_get +EXPORT_SYMBOL vmlinux 0x6f5992d0 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x6f5a9499 kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x6f5ab52f acpi_get_local_address +EXPORT_SYMBOL vmlinux 0x6f686e66 put_cmsg +EXPORT_SYMBOL vmlinux 0x6f849aa1 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6f915a45 dqstats +EXPORT_SYMBOL vmlinux 0x6fb49676 queue_rcu_work +EXPORT_SYMBOL vmlinux 0x6fbc6a00 radix_tree_insert +EXPORT_SYMBOL vmlinux 0x6fbfe805 pci_find_resource +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd1906f pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x6fd95dd7 mpage_read_folio +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x7005f7e1 devm_kvasprintf +EXPORT_SYMBOL vmlinux 0x7008a081 register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x7023bea8 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x7025f64a xp_can_alloc +EXPORT_SYMBOL vmlinux 0x702946da ucs2_strlen +EXPORT_SYMBOL vmlinux 0x7040fff9 rtc_lock +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x70784dc3 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x70a56138 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x70ad75fb radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x70adbe91 ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0x70bc32bb xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x70e4952c tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0x70f6679b xfrm_register_type +EXPORT_SYMBOL vmlinux 0x710d5d63 kernel_bind +EXPORT_SYMBOL vmlinux 0x71109d18 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x713dfc6a __traceiter_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x71414925 rproc_put +EXPORT_SYMBOL vmlinux 0x71427a12 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x714da0ca vme_dma_list_add +EXPORT_SYMBOL vmlinux 0x715a5ed0 vprintk +EXPORT_SYMBOL vmlinux 0x716146d1 netdev_reset_tc +EXPORT_SYMBOL vmlinux 0x7165f2f8 tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x7180998f input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0x71821c3a twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x7184059c qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0x718a4693 __SCT__tp_func_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x719d507a __lock_buffer +EXPORT_SYMBOL vmlinux 0x71a2af3f gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71ae8035 acpi_dev_get_next_match_dev +EXPORT_SYMBOL vmlinux 0x71cbab8b d_make_root +EXPORT_SYMBOL vmlinux 0x71d5b294 mmc_can_gpio_ro +EXPORT_SYMBOL vmlinux 0x71dfc095 acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x71e7482b phy_ethtool_get_strings +EXPORT_SYMBOL vmlinux 0x71eada32 default_llseek +EXPORT_SYMBOL vmlinux 0x71fb182d page_pool_return_skb_page +EXPORT_SYMBOL vmlinux 0x72027c44 vm_insert_page +EXPORT_SYMBOL vmlinux 0x720419c5 dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0x720a27a7 __register_blkdev +EXPORT_SYMBOL vmlinux 0x72183aa8 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x7227675e kernel_param_lock +EXPORT_SYMBOL vmlinux 0x7229b6da phy_ethtool_set_wol +EXPORT_SYMBOL vmlinux 0x723331d5 __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0x7250e397 fb_show_logo +EXPORT_SYMBOL vmlinux 0x725a646d backlight_force_update +EXPORT_SYMBOL vmlinux 0x726bc3c7 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x727e6e29 inet_getname +EXPORT_SYMBOL vmlinux 0x7285b1e2 vfs_readlink +EXPORT_SYMBOL vmlinux 0x72895f9a nd_btt_arena_is_valid +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72d79d83 pgdir_shift +EXPORT_SYMBOL vmlinux 0x72de6d52 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72f14ff7 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0x72f99096 dma_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x731c4a9c dma_fence_signal +EXPORT_SYMBOL vmlinux 0x731dc189 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x73224674 netlink_capable +EXPORT_SYMBOL vmlinux 0x73228cc1 config_item_init_type_name +EXPORT_SYMBOL vmlinux 0x732dd326 groups_free +EXPORT_SYMBOL vmlinux 0x73437a0b kernel_param_unlock +EXPORT_SYMBOL vmlinux 0x735a0bd5 native_io_delay +EXPORT_SYMBOL vmlinux 0x735e6a81 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x7361ca74 genphy_config_eee_advert +EXPORT_SYMBOL vmlinux 0x7364c5a0 cont_write_begin +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x738d5b26 __module_put_and_kthread_exit +EXPORT_SYMBOL vmlinux 0x738d7fe4 scsi_ioctl +EXPORT_SYMBOL vmlinux 0x73a2daf3 phy_suspend +EXPORT_SYMBOL vmlinux 0x73aa3ed3 mipi_dsi_driver_unregister +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73adcf1d ptp_clock_unregister +EXPORT_SYMBOL vmlinux 0x73b2d574 dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0x73d165dc mmc_cqe_request_done +EXPORT_SYMBOL vmlinux 0x73dd54eb irq_fpu_usable +EXPORT_SYMBOL vmlinux 0x73e7cb13 __ip_options_compile +EXPORT_SYMBOL vmlinux 0x73f3f48a pipe_lock +EXPORT_SYMBOL vmlinux 0x740a1b95 reserve_evntsel_nmi +EXPORT_SYMBOL vmlinux 0x7410aba2 strreplace +EXPORT_SYMBOL vmlinux 0x7412ed5b kvfree_sensitive +EXPORT_SYMBOL vmlinux 0x7413793a EISA_bus +EXPORT_SYMBOL vmlinux 0x742578a5 wait_for_random_bytes +EXPORT_SYMBOL vmlinux 0x7429e20c kstrtos8 +EXPORT_SYMBOL vmlinux 0x7430eb00 validate_slab_cache +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x74754435 acpi_bus_generate_netlink_event +EXPORT_SYMBOL vmlinux 0x7483dc59 pci_dev_present +EXPORT_SYMBOL vmlinux 0x7496b281 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x74aa55ac __register_binfmt +EXPORT_SYMBOL vmlinux 0x74b30374 fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0x74b8e674 slhc_toss +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74ca3b6a mipi_dsi_compression_mode +EXPORT_SYMBOL vmlinux 0x74ccf276 blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0x74d5b52f filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0x74dc6964 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x74df7af5 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x750842bf vfs_getattr +EXPORT_SYMBOL vmlinux 0x7530bb0c __SCT__tp_func_write_msr +EXPORT_SYMBOL vmlinux 0x7538b132 agp_off +EXPORT_SYMBOL vmlinux 0x754d539c strlen +EXPORT_SYMBOL vmlinux 0x75557761 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x755f4ba3 blake2s_compress_generic +EXPORT_SYMBOL vmlinux 0x75834c2f dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x75871f5e acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x759135df phy_set_sym_pause +EXPORT_SYMBOL vmlinux 0x75943e25 i8253_lock +EXPORT_SYMBOL vmlinux 0x75a1e0a3 fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x75a6c1df sock_gettstamp +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75c68aa0 audit_log +EXPORT_SYMBOL vmlinux 0x75d0deb9 nsecs_to_jiffies64 +EXPORT_SYMBOL vmlinux 0x75d499dd vmcore_add_device_dump +EXPORT_SYMBOL vmlinux 0x75f99a6f get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x75fa8095 scsi_report_opcode +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x7618af39 hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0x7624249e dim_park_tired +EXPORT_SYMBOL vmlinux 0x7645a01a drop_super_exclusive +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x765ff474 crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x766b4f1c param_set_byte +EXPORT_SYMBOL vmlinux 0x7674696d pci_set_master +EXPORT_SYMBOL vmlinux 0x7677afb3 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x767dce4b acpi_disable_all_gpes +EXPORT_SYMBOL vmlinux 0x767ddb02 set_memory_wc +EXPORT_SYMBOL vmlinux 0x7682ba4e __copy_overflow +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x769f9b22 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x76a52e2c pci_disable_ptm +EXPORT_SYMBOL vmlinux 0x76ab5b81 nf_reinject +EXPORT_SYMBOL vmlinux 0x76b37eb1 netif_skb_features +EXPORT_SYMBOL vmlinux 0x76b4e39f netdev_update_features +EXPORT_SYMBOL vmlinux 0x76be273a mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76fb08a7 amd_iommu_unregister_ppr_notifier +EXPORT_SYMBOL vmlinux 0x771e3640 proc_create_data +EXPORT_SYMBOL vmlinux 0x7724ef1c misc_deregister +EXPORT_SYMBOL vmlinux 0x7732159c free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x77332991 nd_dax_probe +EXPORT_SYMBOL vmlinux 0x77358855 iomem_resource +EXPORT_SYMBOL vmlinux 0x773fa409 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x77456e0a acpi_root_dir +EXPORT_SYMBOL vmlinux 0x775c866a pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0x77791f24 set_user_nice +EXPORT_SYMBOL vmlinux 0x777a47ff override_creds +EXPORT_SYMBOL vmlinux 0x777e8fdf tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x7793e573 ilookup5 +EXPORT_SYMBOL vmlinux 0x779a4926 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x77a07848 dquot_file_open +EXPORT_SYMBOL vmlinux 0x77a615ba vm_node_stat +EXPORT_SYMBOL vmlinux 0x77b0cb2d inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77c030da __SCK__tp_func_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x77e641b1 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x77ea094d pnp_release_card_device +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x780fdfd1 intel_enable_gtt +EXPORT_SYMBOL vmlinux 0x781220d5 pci_dev_driver +EXPORT_SYMBOL vmlinux 0x7835afa8 blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x78651602 sock_rfree +EXPORT_SYMBOL vmlinux 0x786df506 pcim_iounmap +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x78991b29 qdisc_put +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78a3849d pmem_sector_size +EXPORT_SYMBOL vmlinux 0x78b887ed vsprintf +EXPORT_SYMBOL vmlinux 0x78db6edf rproc_vq_interrupt +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78f1838e pci_scan_slot +EXPORT_SYMBOL vmlinux 0x78f5c260 pnpacpi_protocol +EXPORT_SYMBOL vmlinux 0x793b4af7 rfkill_alloc +EXPORT_SYMBOL vmlinux 0x794a9fab pm_vt_switch_unregister +EXPORT_SYMBOL vmlinux 0x794f41bf d_add +EXPORT_SYMBOL vmlinux 0x7958a249 I_BDEV +EXPORT_SYMBOL vmlinux 0x795abc5f ndisc_send_skb +EXPORT_SYMBOL vmlinux 0x795c0aab uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x79605a62 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x79708a29 rt_mutex_base_init +EXPORT_SYMBOL vmlinux 0x7984eefc key_update +EXPORT_SYMBOL vmlinux 0x7993e254 param_get_charp +EXPORT_SYMBOL vmlinux 0x79a26147 device_add_disk +EXPORT_SYMBOL vmlinux 0x79a33f85 vme_get_size +EXPORT_SYMBOL vmlinux 0x79b98c44 backlight_device_get_by_type +EXPORT_SYMBOL vmlinux 0x79c163ce inode_update_time +EXPORT_SYMBOL vmlinux 0x79c21363 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x79c57a3a icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0x79d9c36d dquot_transfer +EXPORT_SYMBOL vmlinux 0x79df9633 ioremap_encrypted +EXPORT_SYMBOL vmlinux 0x7a08e219 pci_iounmap +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a2af7b4 cpu_number +EXPORT_SYMBOL vmlinux 0x7a2febab genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x7a2ff57e security_current_getsecid_subj +EXPORT_SYMBOL vmlinux 0x7a4235eb tcp_seq_stop +EXPORT_SYMBOL vmlinux 0x7a51cd62 cdrom_check_events +EXPORT_SYMBOL vmlinux 0x7a53a06d flow_indr_dev_exists +EXPORT_SYMBOL vmlinux 0x7a5fdc1b pci_save_state +EXPORT_SYMBOL vmlinux 0x7a6aa7e1 d_alloc_name +EXPORT_SYMBOL vmlinux 0x7a7d0809 fput +EXPORT_SYMBOL vmlinux 0x7a814b77 amd_iommu_domain_clear_gcr3 +EXPORT_SYMBOL vmlinux 0x7a826138 serio_rescan +EXPORT_SYMBOL vmlinux 0x7a849894 register_netdev +EXPORT_SYMBOL vmlinux 0x7a88da87 iosf_mbi_write +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7a97ee68 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7aa68b4a devm_release_resource +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ac4a5a6 phy_support_sym_pause +EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt +EXPORT_SYMBOL vmlinux 0x7ad5cf52 flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7addb33b xen_free_ballooned_pages +EXPORT_SYMBOL vmlinux 0x7addf992 to_nd_btt +EXPORT_SYMBOL vmlinux 0x7af9725e folio_wait_private_2_killable +EXPORT_SYMBOL vmlinux 0x7aff77a3 __cpu_present_mask +EXPORT_SYMBOL vmlinux 0x7b06f058 qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0x7b1b00f7 tcp_peek_len +EXPORT_SYMBOL vmlinux 0x7b350a71 nvdimm_namespace_capacity +EXPORT_SYMBOL vmlinux 0x7b37d4a7 _find_first_zero_bit +EXPORT_SYMBOL vmlinux 0x7b4da6ff __init_rwsem +EXPORT_SYMBOL vmlinux 0x7b569f9a xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b82b9a1 idr_replace +EXPORT_SYMBOL vmlinux 0x7bb50b88 acpi_write +EXPORT_SYMBOL vmlinux 0x7bb59c29 ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0x7bbb98d2 bio_put +EXPORT_SYMBOL vmlinux 0x7bbccd05 nr_node_ids +EXPORT_SYMBOL vmlinux 0x7bc452e8 convert_art_ns_to_tsc +EXPORT_SYMBOL vmlinux 0x7bd5eb05 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x7bf19ae5 inode_init_once +EXPORT_SYMBOL vmlinux 0x7bf39db8 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c1cc154 mmc_command_done +EXPORT_SYMBOL vmlinux 0x7c2a125a tty_port_put +EXPORT_SYMBOL vmlinux 0x7c3b6c59 kobject_get +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c558893 rproc_coredump_add_segment +EXPORT_SYMBOL vmlinux 0x7c5a6665 pcie_set_mps +EXPORT_SYMBOL vmlinux 0x7c5c54bc gpiochip_irq_reqres +EXPORT_SYMBOL vmlinux 0x7c68d7e8 tty_port_init +EXPORT_SYMBOL vmlinux 0x7c6f4eed skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0x7c74817e truncate_setsize +EXPORT_SYMBOL vmlinux 0x7c820784 vfs_fsync +EXPORT_SYMBOL vmlinux 0x7c8225e5 configfs_depend_item +EXPORT_SYMBOL vmlinux 0x7c8825f4 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x7c891933 __inc_node_page_state +EXPORT_SYMBOL vmlinux 0x7c969c94 phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0x7c9ca58f __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x7ca09420 init_special_inode +EXPORT_SYMBOL vmlinux 0x7cd8d75e page_offset_base +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +EXPORT_SYMBOL vmlinux 0x7ce58981 kvrealloc +EXPORT_SYMBOL vmlinux 0x7cf35220 vme_master_free +EXPORT_SYMBOL vmlinux 0x7cf7ae07 inet_accept +EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation +EXPORT_SYMBOL vmlinux 0x7d0ba682 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d12d76d acpi_get_parent +EXPORT_SYMBOL vmlinux 0x7d1a70f7 blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0x7d1dab5c phy_write_paged +EXPORT_SYMBOL vmlinux 0x7d35e4ec max8925_reg_write +EXPORT_SYMBOL vmlinux 0x7d40cda2 fs_bio_set +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d5e1008 __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x7d628444 memcpy_fromio +EXPORT_SYMBOL vmlinux 0x7d6ceb4a agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0x7d74d522 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x7d8cdc19 ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0x7d966358 stream_open +EXPORT_SYMBOL vmlinux 0x7d98a651 mmc_cqe_post_req +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7dbb6d7f phy_mac_interrupt +EXPORT_SYMBOL vmlinux 0x7dbe2c4c fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0x7dc054ee phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x7dc5ffa7 tc_skb_ext_tc_disable +EXPORT_SYMBOL vmlinux 0x7dcd3f13 __lock_sock_fast +EXPORT_SYMBOL vmlinux 0x7dcf4135 __xa_insert +EXPORT_SYMBOL vmlinux 0x7dd554fc unregister_kmmio_probe +EXPORT_SYMBOL vmlinux 0x7ddd2852 set_bh_page +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7dfc1363 pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0x7e0101ba inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0x7e1a90da _dev_crit +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e55318b fb_get_mode +EXPORT_SYMBOL vmlinux 0x7e7bcf26 acpi_map_cpu +EXPORT_SYMBOL vmlinux 0x7ed11013 phy_disconnect +EXPORT_SYMBOL vmlinux 0x7ee0c140 mmc_gpio_get_ro +EXPORT_SYMBOL vmlinux 0x7eef2e8a phy_do_ioctl +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f07418b __SCT__tp_func_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x7f157f62 proc_create_seq_private +EXPORT_SYMBOL vmlinux 0x7f21e729 tcp_seq_next +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f3d152c of_find_mipi_dsi_host_by_node +EXPORT_SYMBOL vmlinux 0x7f48b603 config_item_set_name +EXPORT_SYMBOL vmlinux 0x7f498c3f mmc_cqe_recovery +EXPORT_SYMBOL vmlinux 0x7f52071a net_dim +EXPORT_SYMBOL vmlinux 0x7f5b4fe4 sg_free_table +EXPORT_SYMBOL vmlinux 0x7f5c5db3 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x7f6bd723 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x7f775920 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0x7f7838ac reuseport_select_sock +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7fa21777 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x7fac44e2 intel_gmch_probe +EXPORT_SYMBOL vmlinux 0x7fc2776e fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0x7fcb828e jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x7ffb3666 vfio_dma_rw +EXPORT_SYMBOL vmlinux 0x7ffcca8b noop_qdisc +EXPORT_SYMBOL vmlinux 0x7ffe1d41 xfrm_unregister_type_offload +EXPORT_SYMBOL vmlinux 0x7ffe86b9 acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0x80216936 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x802e62cb udp_set_csum +EXPORT_SYMBOL vmlinux 0x803ddbb6 __posix_acl_create +EXPORT_SYMBOL vmlinux 0x804af87c wrmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0x8068f167 udp_seq_ops +EXPORT_SYMBOL vmlinux 0x8077199e blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0x807f62d2 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x809712ff hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x809b4ac2 xsk_get_pool_from_qid +EXPORT_SYMBOL vmlinux 0x80a717a8 __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x80ca5026 _bin2bcd +EXPORT_SYMBOL vmlinux 0x80d68d3e fb_register_client +EXPORT_SYMBOL vmlinux 0x80dbc247 sget_fc +EXPORT_SYMBOL vmlinux 0x80e5f86f fscrypt_fname_alloc_buffer +EXPORT_SYMBOL vmlinux 0x80fe6bed folio_alloc +EXPORT_SYMBOL vmlinux 0x81091025 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x810bef7e sg_free_append_table +EXPORT_SYMBOL vmlinux 0x81101873 devfreq_add_governor +EXPORT_SYMBOL vmlinux 0x8112b3d2 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x81188c30 match_string +EXPORT_SYMBOL vmlinux 0x812a89bd page_pool_create +EXPORT_SYMBOL vmlinux 0x813bcc84 inet6_add_offload +EXPORT_SYMBOL vmlinux 0x81480324 skb_vlan_untag +EXPORT_SYMBOL vmlinux 0x8151811b iget_failed +EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815d4673 folio_migrate_copy +EXPORT_SYMBOL vmlinux 0x815e44b8 netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x816347c6 agp_device_command +EXPORT_SYMBOL vmlinux 0x816e6eba __netdev_notify_peers +EXPORT_SYMBOL vmlinux 0x8179415e netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x817a2e92 rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0x818416e1 scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x819208c6 input_reset_device +EXPORT_SYMBOL vmlinux 0x81951c5a __do_once_done +EXPORT_SYMBOL vmlinux 0x81a1eb59 utf8_unload +EXPORT_SYMBOL vmlinux 0x81a92fe4 cros_ec_cmd_xfer_status +EXPORT_SYMBOL vmlinux 0x81ac5e33 trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0x81c79eb6 unregister_console +EXPORT_SYMBOL vmlinux 0x81ce9941 intel_scu_ipc_dev_writev +EXPORT_SYMBOL vmlinux 0x81d9f30f __blk_mq_alloc_disk +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e0789a may_umount +EXPORT_SYMBOL vmlinux 0x81e58a08 vme_register_error_handler +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x81ece392 sk_mc_loop +EXPORT_SYMBOL vmlinux 0x81f1a8ce pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x82150639 jbd2_fc_release_bufs +EXPORT_SYMBOL vmlinux 0x822fb563 close_fd_get_file +EXPORT_SYMBOL vmlinux 0x8239bbf5 register_framebuffer +EXPORT_SYMBOL vmlinux 0x823c19ea iosf_mbi_unregister_pmic_bus_access_notifier_unlocked +EXPORT_SYMBOL vmlinux 0x825458ba tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x82615b59 serio_reconnect +EXPORT_SYMBOL vmlinux 0x8263a6d9 proc_douintvec +EXPORT_SYMBOL vmlinux 0x82724b55 eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0x827fbca2 dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0x8287ed72 scm_fp_dup +EXPORT_SYMBOL vmlinux 0x8296f02e param_set_ullong +EXPORT_SYMBOL vmlinux 0x8298a9a0 flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0x82a11a62 proc_create_single_data +EXPORT_SYMBOL vmlinux 0x82abe1e8 phy_get_c45_ids +EXPORT_SYMBOL vmlinux 0x82b8946f blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0x82c60249 bioset_init +EXPORT_SYMBOL vmlinux 0x82c87ad5 nr_online_nodes +EXPORT_SYMBOL vmlinux 0x82ff539b pci_write_config_dword +EXPORT_SYMBOL vmlinux 0x8311da04 ps2_init +EXPORT_SYMBOL vmlinux 0x831a06e2 xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0x833b8952 folio_wait_bit +EXPORT_SYMBOL vmlinux 0x83568e11 kernel_accept +EXPORT_SYMBOL vmlinux 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x8368d26f seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0x83773617 eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0x837b7b09 __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0x837c2f32 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x837fccf1 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x838d2bc8 siphash_3u32 +EXPORT_SYMBOL vmlinux 0x838de657 flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0x839a87d9 devm_rproc_alloc +EXPORT_SYMBOL vmlinux 0x83ae2e29 __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x83ba41ed skb_trim +EXPORT_SYMBOL vmlinux 0x83cf97a2 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x83d16e56 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x83dbd50e filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0x83dc3bb8 phy_advertise_supported +EXPORT_SYMBOL vmlinux 0x83e9d010 readahead_expand +EXPORT_SYMBOL vmlinux 0x83ed6389 security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0x83f57d40 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x840342c6 sgl_free +EXPORT_SYMBOL vmlinux 0x840b5156 param_set_charp +EXPORT_SYMBOL vmlinux 0x8414dc85 agp_backend_release +EXPORT_SYMBOL vmlinux 0x841520a8 unpin_user_page +EXPORT_SYMBOL vmlinux 0x841b187c configfs_register_default_group +EXPORT_SYMBOL vmlinux 0x84221b7f ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0x84243c22 __vfs_setxattr +EXPORT_SYMBOL vmlinux 0x8427cc7b _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0x842c8e9d ioread16 +EXPORT_SYMBOL vmlinux 0x842d4b5c mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0x8449042f adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0x8452f04b vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0x8455e3a7 dma_fence_signal_timestamp_locked +EXPORT_SYMBOL vmlinux 0x84823cf3 nla_strscpy +EXPORT_SYMBOL vmlinux 0x848d372e iowrite8 +EXPORT_SYMBOL vmlinux 0x84a0ca4d bitmap_zalloc_node +EXPORT_SYMBOL vmlinux 0x84aa6cbc simple_rename +EXPORT_SYMBOL vmlinux 0x84c03e9a rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0x84c1ad08 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x84c1c552 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x84c4040c security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0x84ea6b45 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x8518a4a6 _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x8522d6bc strncpy_from_user +EXPORT_SYMBOL vmlinux 0x8524eecb blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x858db142 con_is_bound +EXPORT_SYMBOL vmlinux 0x8591d7d5 ledtrig_mtd_activity +EXPORT_SYMBOL vmlinux 0x85941cfc scsi_device_get +EXPORT_SYMBOL vmlinux 0x85970e47 max8925_reg_read +EXPORT_SYMBOL vmlinux 0x85a52119 sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x85aa5576 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85bd1608 __request_region +EXPORT_SYMBOL vmlinux 0x85c3d296 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x85d0f4a8 blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0x85d7d97f jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85efc7e0 zero_pfn +EXPORT_SYMBOL vmlinux 0x8612eacf dput +EXPORT_SYMBOL vmlinux 0x86188239 dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0x8626bce1 eth_header_cache +EXPORT_SYMBOL vmlinux 0x862c8035 bitmap_alloc_node +EXPORT_SYMBOL vmlinux 0x862c955f open_with_fake_path +EXPORT_SYMBOL vmlinux 0x8639096a iput +EXPORT_SYMBOL vmlinux 0x863a276a color_table +EXPORT_SYMBOL vmlinux 0x8644506c param_get_uint +EXPORT_SYMBOL vmlinux 0x86460a05 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x8655556f md_write_inc +EXPORT_SYMBOL vmlinux 0x866a62b2 gnet_stats_basic_sync_init +EXPORT_SYMBOL vmlinux 0x86852f87 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x8691936c key_validate +EXPORT_SYMBOL vmlinux 0x86954c1e acpi_register_debugger +EXPORT_SYMBOL vmlinux 0x869621e0 tty_do_resize +EXPORT_SYMBOL vmlinux 0x8698edc3 __SCK__tp_func_read_msr +EXPORT_SYMBOL vmlinux 0x86adbba7 ptp_clock_event +EXPORT_SYMBOL vmlinux 0x86aec907 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x86c7272b iosf_mbi_read +EXPORT_SYMBOL vmlinux 0x86d17639 set_page_dirty +EXPORT_SYMBOL vmlinux 0x86d52ba5 lookup_constant +EXPORT_SYMBOL vmlinux 0x86dd708d tc_skb_ext_tc_enable +EXPORT_SYMBOL vmlinux 0x86e0d59b bio_kmalloc +EXPORT_SYMBOL vmlinux 0x86f27420 iosf_mbi_block_punit_i2c_access +EXPORT_SYMBOL vmlinux 0x86fb4536 cpumask_any_and_distribute +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x87051a98 unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0x87148c85 _dev_info +EXPORT_SYMBOL vmlinux 0x873afdb1 devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0x8740e539 poll_freewait +EXPORT_SYMBOL vmlinux 0x8761c87b rps_needed +EXPORT_SYMBOL vmlinux 0x87706d4e __put_user_nocheck_8 +EXPORT_SYMBOL vmlinux 0x87761528 __traceiter_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x87a21cb3 __ubsan_handle_out_of_bounds +EXPORT_SYMBOL vmlinux 0x87b8798d sg_next +EXPORT_SYMBOL vmlinux 0x87d7ae6b cdev_device_add +EXPORT_SYMBOL vmlinux 0x87d9556d ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0x8810754a _find_first_bit +EXPORT_SYMBOL vmlinux 0x881c4413 gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0x8826247c pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x88275b88 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x8831f53f sock_bindtoindex +EXPORT_SYMBOL vmlinux 0x886e61d0 scsi_remove_target +EXPORT_SYMBOL vmlinux 0x88706a99 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x8875e4a1 kernel_listen +EXPORT_SYMBOL vmlinux 0x88822d38 unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x8888f1fe xxh32 +EXPORT_SYMBOL vmlinux 0x88978abf sock_no_listen +EXPORT_SYMBOL vmlinux 0x889b1370 _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x88ba5a3a trace_event_printf +EXPORT_SYMBOL vmlinux 0x88c01ecb _dev_notice +EXPORT_SYMBOL vmlinux 0x88d5bdea scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x88db9f48 __check_object_size +EXPORT_SYMBOL vmlinux 0x88e1d0f0 page_frag_free +EXPORT_SYMBOL vmlinux 0x88e7c3fb bdi_register +EXPORT_SYMBOL vmlinux 0x88f2f4ea fget +EXPORT_SYMBOL vmlinux 0x88f32611 ipv4_dst_check +EXPORT_SYMBOL vmlinux 0x89063ecc devfreq_update_target +EXPORT_SYMBOL vmlinux 0x89253d09 vme_bus_type +EXPORT_SYMBOL vmlinux 0x89353d6c from_kprojid_munged +EXPORT_SYMBOL vmlinux 0x89434b4b radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x89818cdd dev_get_mac_address +EXPORT_SYMBOL vmlinux 0x89940875 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x89a6b366 mpage_writepage +EXPORT_SYMBOL vmlinux 0x89ec7e64 ata_print_version +EXPORT_SYMBOL vmlinux 0x89f3ffad get_agp_version +EXPORT_SYMBOL vmlinux 0x89fb6658 cad_pid +EXPORT_SYMBOL vmlinux 0x89feb739 netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0x8a0cc776 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x8a1d4cc9 locks_delete_block +EXPORT_SYMBOL vmlinux 0x8a3273c5 xsk_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0x8a35b432 sme_me_mask +EXPORT_SYMBOL vmlinux 0x8a3ac302 flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0x8a47043d LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a61356e backlight_device_get_by_name +EXPORT_SYMBOL vmlinux 0x8a62a52e qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0x8a6c7139 acpi_mask_gpe +EXPORT_SYMBOL vmlinux 0x8a7094ba vm_brk_flags +EXPORT_SYMBOL vmlinux 0x8a75658f tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x8a75f3c5 nf_log_set +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a875cab __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aa63759 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x8ac3334b net_dim_get_def_rx_moderation +EXPORT_SYMBOL vmlinux 0x8ac743de sg_copy_buffer +EXPORT_SYMBOL vmlinux 0x8ad079d6 key_move +EXPORT_SYMBOL vmlinux 0x8ad2f6f5 twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x8ad94d08 d_add_ci +EXPORT_SYMBOL vmlinux 0x8af39c96 pci_get_device +EXPORT_SYMBOL vmlinux 0x8b002d09 qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0x8b0088d1 LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x8b10c87c vga_switcheroo_lock_ddc +EXPORT_SYMBOL vmlinux 0x8b1a3dda netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0x8b28f7c6 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x8b308e03 netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0x8b3a2cd3 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x8b6076f0 register_mii_timestamper +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b6889f3 blk_post_runtime_resume +EXPORT_SYMBOL vmlinux 0x8b8059bd in_group_p +EXPORT_SYMBOL vmlinux 0x8b829a76 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x8b910be2 errseq_sample +EXPORT_SYMBOL vmlinux 0x8b966b63 sn_rtc_cycles_per_second +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8bb5f4fa cros_ec_check_result +EXPORT_SYMBOL vmlinux 0x8bd577d0 acpi_ut_exit +EXPORT_SYMBOL vmlinux 0x8bdf4218 bdev_start_io_acct +EXPORT_SYMBOL vmlinux 0x8bdfc47c __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x8bea17cc __folio_alloc +EXPORT_SYMBOL vmlinux 0x8c0be2a4 read_cache_page +EXPORT_SYMBOL vmlinux 0x8c14f84e remove_arg_zero +EXPORT_SYMBOL vmlinux 0x8c182bf4 unregister_quota_format +EXPORT_SYMBOL vmlinux 0x8c201299 scsi_host_busy +EXPORT_SYMBOL vmlinux 0x8c2577bc pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0x8c26d495 prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x8c30bf67 zstd_dctx_workspace_bound +EXPORT_SYMBOL vmlinux 0x8c486989 d_obtain_root +EXPORT_SYMBOL vmlinux 0x8c60449b km_policy_expired +EXPORT_SYMBOL vmlinux 0x8c683fcd posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x8c7368fc filemap_dirty_folio +EXPORT_SYMBOL vmlinux 0x8c7fa500 locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0x8c8569cb kstrtoint +EXPORT_SYMBOL vmlinux 0x8c9e338f acpi_bios_error +EXPORT_SYMBOL vmlinux 0x8ca65513 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x8ca84afa pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x8caf9305 uuid_is_valid +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8ccd1a70 security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0x8ccf4bbc inet6_ioctl +EXPORT_SYMBOL vmlinux 0x8cd502df devm_extcon_register_notifier_all +EXPORT_SYMBOL vmlinux 0x8cda8029 xen_clear_irq_pending +EXPORT_SYMBOL vmlinux 0x8cde01a7 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x8cf1f21a param_set_uint +EXPORT_SYMBOL vmlinux 0x8cffcfb3 qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0x8d0b8890 put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0x8d26a187 bpf_empty_prog_array +EXPORT_SYMBOL vmlinux 0x8d37d2a3 flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0x8d3b9a25 phy_device_free +EXPORT_SYMBOL vmlinux 0x8d411705 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x8d4b88d7 clk_bulk_get_all +EXPORT_SYMBOL vmlinux 0x8d5131fa generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0x8d55bb8a qid_eq +EXPORT_SYMBOL vmlinux 0x8d60652c __SCT__tp_func_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x8d606639 vfs_fileattr_set +EXPORT_SYMBOL vmlinux 0x8d6aff89 __put_user_nocheck_4 +EXPORT_SYMBOL vmlinux 0x8d73278e hex_asc_upper +EXPORT_SYMBOL vmlinux 0x8d8e0e75 phy_request_interrupt +EXPORT_SYMBOL vmlinux 0x8d9ca0e6 dma_fence_enable_sw_signaling +EXPORT_SYMBOL vmlinux 0x8da44719 ip_frag_next +EXPORT_SYMBOL vmlinux 0x8da79a4d shmem_aops +EXPORT_SYMBOL vmlinux 0x8db1dcb3 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x8db22efe acpi_setup_gpe_for_wake +EXPORT_SYMBOL vmlinux 0x8db31d7a mmc_card_alternative_gpt_sector +EXPORT_SYMBOL vmlinux 0x8dbc0768 compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0x8dbfdcae inet_frag_kill +EXPORT_SYMBOL vmlinux 0x8dd0ebcc netdev_err +EXPORT_SYMBOL vmlinux 0x8dd50171 seq_write +EXPORT_SYMBOL vmlinux 0x8ddd8aad schedule_timeout +EXPORT_SYMBOL vmlinux 0x8dec6faa md_update_sb +EXPORT_SYMBOL vmlinux 0x8dee722d _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0x8df92f66 memchr_inv +EXPORT_SYMBOL vmlinux 0x8df9dd10 guid_null +EXPORT_SYMBOL vmlinux 0x8e17b3ae idr_destroy +EXPORT_SYMBOL vmlinux 0x8e21c9a1 dma_fence_add_callback +EXPORT_SYMBOL vmlinux 0x8e2c536a scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x8e370618 devm_ioremap +EXPORT_SYMBOL vmlinux 0x8e3e0f7d fault_in_readable +EXPORT_SYMBOL vmlinux 0x8e663d0f zalloc_cpumask_var_node +EXPORT_SYMBOL vmlinux 0x8e68cab6 phy_device_remove +EXPORT_SYMBOL vmlinux 0x8e752c89 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x8e823e4b vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0x8e93bd24 security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x8e9875aa ip_getsockopt +EXPORT_SYMBOL vmlinux 0x8ea13211 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x8eaf2a5f vga_switcheroo_unregister_handler +EXPORT_SYMBOL vmlinux 0x8eb9d1d0 timestamp_truncate +EXPORT_SYMBOL vmlinux 0x8ed5c97b pci_write_vpd +EXPORT_SYMBOL vmlinux 0x8edb07ab register_qdisc +EXPORT_SYMBOL vmlinux 0x8edcc652 pcim_enable_device +EXPORT_SYMBOL vmlinux 0x8ee8e8dc show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0x8ef43185 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x8eff488e rproc_add_subdev +EXPORT_SYMBOL vmlinux 0x8f01afd6 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x8f0d975b kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x8f1c83a9 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x8f20638c xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x8f2703b7 wbinvd_on_all_cpus +EXPORT_SYMBOL vmlinux 0x8f425dfd devm_nvmem_cell_put +EXPORT_SYMBOL vmlinux 0x8f51cf2f generic_write_checks_count +EXPORT_SYMBOL vmlinux 0x8f70f2d7 discard_new_inode +EXPORT_SYMBOL vmlinux 0x8f80bf11 acpi_install_gpe_raw_handler +EXPORT_SYMBOL vmlinux 0x8f87ebf6 neigh_lookup +EXPORT_SYMBOL vmlinux 0x8f996a30 ethtool_convert_legacy_u32_to_link_mode +EXPORT_SYMBOL vmlinux 0x8f9c199c __get_user_2 +EXPORT_SYMBOL vmlinux 0x8fa25c24 xa_find +EXPORT_SYMBOL vmlinux 0x8fa67521 __sk_receive_skb +EXPORT_SYMBOL vmlinux 0x8fdb0752 abort_creds +EXPORT_SYMBOL vmlinux 0x8fdb2a76 mptcp_subflow_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x8fe273d8 alloc_fddidev +EXPORT_SYMBOL vmlinux 0x8ff89ed0 seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x8ffa20fd __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x90006be6 dm_kcopyd_client_flush +EXPORT_SYMBOL vmlinux 0x90065e8d flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0x902babc0 always_delete_dentry +EXPORT_SYMBOL vmlinux 0x902d8722 vme_slave_get +EXPORT_SYMBOL vmlinux 0x9034a696 mempool_destroy +EXPORT_SYMBOL vmlinux 0x903cd8fb tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0x905695ab sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x90576ec4 vmemdup_user +EXPORT_SYMBOL vmlinux 0x90651c31 jbd2_journal_submit_inode_data_buffers +EXPORT_SYMBOL vmlinux 0x907ea00e set_security_override +EXPORT_SYMBOL vmlinux 0x909eb392 agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0x909f6abc skb_clone +EXPORT_SYMBOL vmlinux 0x90ba912b __nla_put_64bit +EXPORT_SYMBOL vmlinux 0x90d454fe clear_inode +EXPORT_SYMBOL vmlinux 0x90e273e2 cred_fscmp +EXPORT_SYMBOL vmlinux 0x90e91fb0 netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0x90fad6bd pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x9114b616 __xa_alloc +EXPORT_SYMBOL vmlinux 0x911e3615 mmc_gpio_set_cd_isr +EXPORT_SYMBOL vmlinux 0x91331502 mdio_find_bus +EXPORT_SYMBOL vmlinux 0x913edcda default_qdisc_ops +EXPORT_SYMBOL vmlinux 0x914eb2f1 rproc_elf_get_boot_addr +EXPORT_SYMBOL vmlinux 0x91575a17 __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x91607d95 set_memory_wb +EXPORT_SYMBOL vmlinux 0x9166fada strncpy +EXPORT_SYMBOL vmlinux 0x9166fc03 __flush_workqueue +EXPORT_SYMBOL vmlinux 0x9176145b acpi_install_global_event_handler +EXPORT_SYMBOL vmlinux 0x917ebfc4 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x9186ba47 ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0x918b54e2 vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0x919c58f3 __clzsi2 +EXPORT_SYMBOL vmlinux 0x919f375a pcie_get_mps +EXPORT_SYMBOL vmlinux 0x91a10c61 intel_scu_ipc_dev_simple_command +EXPORT_SYMBOL vmlinux 0x91a488ac __netdev_alloc_frag_align +EXPORT_SYMBOL vmlinux 0x91a5f773 ptp_schedule_worker +EXPORT_SYMBOL vmlinux 0x91a7b1da qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x91bc25cf reuseport_stop_listen_sock +EXPORT_SYMBOL vmlinux 0x91c0c988 sock_kzfree_s +EXPORT_SYMBOL vmlinux 0x91e77b10 proc_mkdir +EXPORT_SYMBOL vmlinux 0x91f44510 idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x91f4d6a1 security_locked_down +EXPORT_SYMBOL vmlinux 0x91f68ea1 __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x91fdd0f1 param_get_int +EXPORT_SYMBOL vmlinux 0x9200a19f input_copy_abs +EXPORT_SYMBOL vmlinux 0x920d2d41 alloc_anon_inode +EXPORT_SYMBOL vmlinux 0x922f45a6 __bitmap_clear +EXPORT_SYMBOL vmlinux 0x923afc9f devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x9241f2ed flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x924bad7a inet_ioctl +EXPORT_SYMBOL vmlinux 0x92540fbf finish_wait +EXPORT_SYMBOL vmlinux 0x92542d7a ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x92564aa9 mipi_dsi_dcs_set_tear_scanline +EXPORT_SYMBOL vmlinux 0x9258c776 hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x9274f38c mntput +EXPORT_SYMBOL vmlinux 0x9276bf6c ipmi_platform_add +EXPORT_SYMBOL vmlinux 0x92774cf8 __kfence_pool +EXPORT_SYMBOL vmlinux 0x92897e3d default_idle +EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user +EXPORT_SYMBOL vmlinux 0x92997ed8 _printk +EXPORT_SYMBOL vmlinux 0x92a51e56 acpi_debug_print_raw +EXPORT_SYMBOL vmlinux 0x92b1cd1c in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x92b54487 dev_set_mtu +EXPORT_SYMBOL vmlinux 0x92b696f7 simple_empty +EXPORT_SYMBOL vmlinux 0x92b99a33 acpi_put_table +EXPORT_SYMBOL vmlinux 0x92b9b180 slash_name +EXPORT_SYMBOL vmlinux 0x92c6b395 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x92d5838e request_threaded_irq +EXPORT_SYMBOL vmlinux 0x92e683f5 down_timeout +EXPORT_SYMBOL vmlinux 0x92ec510d jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL vmlinux 0x93022ba6 __scsi_format_command +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x933204e2 security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0x93559a2d proto_unregister +EXPORT_SYMBOL vmlinux 0x936fc7f5 pci_clear_master +EXPORT_SYMBOL vmlinux 0x937733e3 qid_valid +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93b3fc74 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x93b6b836 ipv4_mtu +EXPORT_SYMBOL vmlinux 0x93b9bec7 inet6_getname +EXPORT_SYMBOL vmlinux 0x93c23132 nobh_writepage +EXPORT_SYMBOL vmlinux 0x93d5bf68 finish_open +EXPORT_SYMBOL vmlinux 0x93d6dd8c complete_all +EXPORT_SYMBOL vmlinux 0x93dd211b nexthop_set_hw_flags +EXPORT_SYMBOL vmlinux 0x93f38d0b dquot_operations +EXPORT_SYMBOL vmlinux 0x93f495ae __SCK__tp_func_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x93f62dde devm_devfreq_add_governor +EXPORT_SYMBOL vmlinux 0x9404005d fwnode_iomap +EXPORT_SYMBOL vmlinux 0x940de849 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x9428f816 dim_turn +EXPORT_SYMBOL vmlinux 0x942e04a8 netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0x944375db _totalram_pages +EXPORT_SYMBOL vmlinux 0x94461d9d insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x944a564d is_console_locked +EXPORT_SYMBOL vmlinux 0x945adc23 scsi_host_put +EXPORT_SYMBOL vmlinux 0x9469daed sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x9487d3e1 ns_capable +EXPORT_SYMBOL vmlinux 0x948a0bbe xsk_tx_peek_desc +EXPORT_SYMBOL vmlinux 0x948b37eb phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x94917632 __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x9493fc86 node_states +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x949c16ed mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x94b5b1b0 sk_ns_capable +EXPORT_SYMBOL vmlinux 0x94bb7ec3 gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0x94bf03ca utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x94d91a0e xfrm_init_state +EXPORT_SYMBOL vmlinux 0x94dcae0b clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x94e50ad4 call_fib_notifier +EXPORT_SYMBOL vmlinux 0x95001a65 done_path_create +EXPORT_SYMBOL vmlinux 0x9507c90f copy_fsxattr_to_user +EXPORT_SYMBOL vmlinux 0x950bb09b inet_frag_find +EXPORT_SYMBOL vmlinux 0x950bf181 get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0x953031a7 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x953b5b25 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x953d2426 utf8_strncmp +EXPORT_SYMBOL vmlinux 0x953f933a xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x95425d92 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0x954cef6f init_on_alloc +EXPORT_SYMBOL vmlinux 0x954f099c idr_preload +EXPORT_SYMBOL vmlinux 0x9559d96d devm_memunmap +EXPORT_SYMBOL vmlinux 0x9563b707 mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x956a460b find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x95a67b07 udp_table +EXPORT_SYMBOL vmlinux 0x95adce3f add_to_page_cache_lru +EXPORT_SYMBOL vmlinux 0x95ec6640 simple_unlink +EXPORT_SYMBOL vmlinux 0x95f272b7 devm_mfd_add_devices +EXPORT_SYMBOL vmlinux 0x95f6ff7a mfd_remove_devices_late +EXPORT_SYMBOL vmlinux 0x96019b4f pci_restore_state +EXPORT_SYMBOL vmlinux 0x96050dc8 __next_node_in +EXPORT_SYMBOL vmlinux 0x96169be3 rproc_add_carveout +EXPORT_SYMBOL vmlinux 0x961787ea seq_file_path +EXPORT_SYMBOL vmlinux 0x9625695d acpi_install_gpe_block +EXPORT_SYMBOL vmlinux 0x962c4977 clkdev_add +EXPORT_SYMBOL vmlinux 0x963618d0 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x963d1e9e pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0x963d7f54 dquot_release +EXPORT_SYMBOL vmlinux 0x9649e45b nobh_write_begin +EXPORT_SYMBOL vmlinux 0x96665193 cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0x966e30c8 blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0x96848186 scnprintf +EXPORT_SYMBOL vmlinux 0x9685dd50 inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0x96a1090f crypto_kdf108_ctr_generate +EXPORT_SYMBOL vmlinux 0x96a2f4c1 console_start +EXPORT_SYMBOL vmlinux 0x96a7cc80 pci_pme_capable +EXPORT_SYMBOL vmlinux 0x96a9719f netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x96b2515e mount_nodev +EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96c17136 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x96c6bce3 to_ndd +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96d7dac8 may_setattr +EXPORT_SYMBOL vmlinux 0x96d98b95 blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x96e5d30f gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0x96e89d0f tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x96eab78b iosf_mbi_modify +EXPORT_SYMBOL vmlinux 0x96f901da thermal_cdev_update +EXPORT_SYMBOL vmlinux 0x96f9d10f remap_pfn_range +EXPORT_SYMBOL vmlinux 0x96fab350 dim_park_on_top +EXPORT_SYMBOL vmlinux 0x9704b16d mdio_device_register +EXPORT_SYMBOL vmlinux 0x970ef58c __inet_hash +EXPORT_SYMBOL vmlinux 0x970ef8ea __fs_parse +EXPORT_SYMBOL vmlinux 0x97221c0a inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0x9738fb2b tcp_ioctl +EXPORT_SYMBOL vmlinux 0x973c3164 fs_lookup_param +EXPORT_SYMBOL vmlinux 0x973fa82e register_acpi_notifier +EXPORT_SYMBOL vmlinux 0x974d4647 fddi_type_trans +EXPORT_SYMBOL vmlinux 0x97651e6c vmemmap_base +EXPORT_SYMBOL vmlinux 0x97670a9e agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0x97934ecf del_timer_sync +EXPORT_SYMBOL vmlinux 0x9795b756 simple_rmdir +EXPORT_SYMBOL vmlinux 0x979c9b35 ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0x97a57333 crc_t10dif_update +EXPORT_SYMBOL vmlinux 0x97adb487 utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x97b12377 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x97bdfa60 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x97d23be0 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x97e2789a commit_creds +EXPORT_SYMBOL vmlinux 0x9810b231 ip_frag_init +EXPORT_SYMBOL vmlinux 0x982212b3 cfb_copyarea +EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x982e38b6 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x98309e3f dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x983cbbd9 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x983f30ac dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0x98584a84 netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0x985f7dd8 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x986c1e26 kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0x98801b77 rproc_detach +EXPORT_SYMBOL vmlinux 0x988882c3 devm_extcon_unregister_notifier_all +EXPORT_SYMBOL vmlinux 0x9896b7a5 xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0x989ca8df empty_aops +EXPORT_SYMBOL vmlinux 0x98c039dc dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0x98c62dc4 _dev_warn +EXPORT_SYMBOL vmlinux 0x98c89ade security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x98cac911 kern_unmount_array +EXPORT_SYMBOL vmlinux 0x98e508ef ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x98fee6c0 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x99078b39 trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x9916b50d inet_listen +EXPORT_SYMBOL vmlinux 0x991a4179 pci_free_irq +EXPORT_SYMBOL vmlinux 0x991acad5 devm_devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x9939eba0 backlight_unregister_notifier +EXPORT_SYMBOL vmlinux 0x99460a2f skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x99599bbe mipi_dsi_device_unregister +EXPORT_SYMBOL vmlinux 0x9975dc22 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x9985ae8a unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x998a0352 tty_hangup +EXPORT_SYMBOL vmlinux 0x99907875 blk_pre_runtime_resume +EXPORT_SYMBOL vmlinux 0x999387fb scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x9996477b __nla_put +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99a3aef2 send_sig +EXPORT_SYMBOL vmlinux 0x99b4a8d3 tcf_idr_release +EXPORT_SYMBOL vmlinux 0x99c6d653 vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0x99ca5b2b xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0x99d472b1 net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x99daa9bf try_offline_node +EXPORT_SYMBOL vmlinux 0x99e1177e seq_release +EXPORT_SYMBOL vmlinux 0x99eaf29a set_posix_acl +EXPORT_SYMBOL vmlinux 0x99f068d5 x86_cpu_to_node_map +EXPORT_SYMBOL vmlinux 0x99f7371c refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x99f9638f __napi_alloc_frag_align +EXPORT_SYMBOL vmlinux 0x9a039fc3 inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0x9a0c3a18 vme_unregister_error_handler +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a22391e radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x9a45c662 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x9a486154 __traceiter_module_get +EXPORT_SYMBOL vmlinux 0x9a4c4bec dst_release_immediate +EXPORT_SYMBOL vmlinux 0x9a4d18f9 dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0x9a583306 netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x9a96ca79 blk_set_runtime_active +EXPORT_SYMBOL vmlinux 0x9aaeefce sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x9ab9806f __generic_file_fsync +EXPORT_SYMBOL vmlinux 0x9aba98dd xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0x9acd3f6f get_cpu_entry_area +EXPORT_SYMBOL vmlinux 0x9ad7a582 iosf_mbi_assert_punit_acquired +EXPORT_SYMBOL vmlinux 0x9ae36296 udp_disconnect +EXPORT_SYMBOL vmlinux 0x9ae47436 _find_last_bit +EXPORT_SYMBOL vmlinux 0x9af40265 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL vmlinux 0x9b2947a1 inet_sendpage +EXPORT_SYMBOL vmlinux 0x9b32aca1 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x9b33a49d ll_rw_block +EXPORT_SYMBOL vmlinux 0x9b33e0d7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x9b3a051d eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0x9b411cdf jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x9b496b21 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x9b4ba0bf mipi_dsi_attach +EXPORT_SYMBOL vmlinux 0x9b5443c2 devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x9b566913 consume_skb +EXPORT_SYMBOL vmlinux 0x9b5c1658 acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0x9b6228ed ethtool_get_phc_vclocks +EXPORT_SYMBOL vmlinux 0x9b6721b6 flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0x9b6c9a1b dev_load +EXPORT_SYMBOL vmlinux 0x9b72478f acpi_unload_parent_table +EXPORT_SYMBOL vmlinux 0x9b794ef7 security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0x9b84f8a3 __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x9b926b3b ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x9b9d7626 pnp_possible_config +EXPORT_SYMBOL vmlinux 0x9b9f4bac jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x9baeb51d jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x9bb4e317 ioread32be +EXPORT_SYMBOL vmlinux 0x9bb5e53e devm_clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x9bc1985b hmm_range_fault +EXPORT_SYMBOL vmlinux 0x9bdbb0da __pci_register_driver +EXPORT_SYMBOL vmlinux 0x9be248f7 filemap_fault +EXPORT_SYMBOL vmlinux 0x9be41bab jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x9bf1064a xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x9bf2b839 eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0x9bf9be9d agp_generic_insert_memory +EXPORT_SYMBOL vmlinux 0x9bfbc901 unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x9c000fa7 tty_devnum +EXPORT_SYMBOL vmlinux 0x9c0a5fb6 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x9c0bb4ee tty_vhangup +EXPORT_SYMBOL vmlinux 0x9c0fee89 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x9c122bcf mempool_create_node +EXPORT_SYMBOL vmlinux 0x9c1d7e27 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x9c47ef27 __filemap_get_folio +EXPORT_SYMBOL vmlinux 0x9c5acef4 ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0x9c65b78a csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x9c71e2d6 tcp_inbound_md5_hash +EXPORT_SYMBOL vmlinux 0x9c75f2ea build_skb +EXPORT_SYMBOL vmlinux 0x9c86b9ab fileattr_fill_flags +EXPORT_SYMBOL vmlinux 0x9c9e8b49 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x9cab34a6 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x9cb986f2 vmalloc_base +EXPORT_SYMBOL vmlinux 0x9cc15d4d md_cluster_ops +EXPORT_SYMBOL vmlinux 0x9cc47c88 mipi_dsi_dcs_get_pixel_format +EXPORT_SYMBOL vmlinux 0x9ccc77f2 devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x9ccf7171 vme_dma_pci_attribute +EXPORT_SYMBOL vmlinux 0x9cd91791 register_sysctl +EXPORT_SYMBOL vmlinux 0x9cdfb3f7 sysctl_fb_tunnels_only_for_init_net +EXPORT_SYMBOL vmlinux 0x9ce05a96 uart_register_driver +EXPORT_SYMBOL vmlinux 0x9ced41ad __SCT__tp_func_read_msr +EXPORT_SYMBOL vmlinux 0x9cf109b7 get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0x9d0141a4 mipi_dsi_dcs_set_tear_off +EXPORT_SYMBOL vmlinux 0x9d057f9a cfb_fillrect +EXPORT_SYMBOL vmlinux 0x9d08ccd2 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x9d099a39 acpi_remove_gpe_handler +EXPORT_SYMBOL vmlinux 0x9d0d6206 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x9d1665a8 pnp_activate_dev +EXPORT_SYMBOL vmlinux 0x9d1d2522 dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0x9d1ecb8d param_get_short +EXPORT_SYMBOL vmlinux 0x9d26675e zstd_cstream_workspace_bound +EXPORT_SYMBOL vmlinux 0x9d2ab8ac __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x9d2e7707 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9d4a71dd tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x9d61e994 ucs2_strncmp +EXPORT_SYMBOL vmlinux 0x9d67c2fb neigh_direct_output +EXPORT_SYMBOL vmlinux 0x9d70541a native_save_fl +EXPORT_SYMBOL vmlinux 0x9d707d2d block_dirty_folio +EXPORT_SYMBOL vmlinux 0x9d70f85a vlan_vid_add +EXPORT_SYMBOL vmlinux 0x9d7ad0c8 __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x9d92f3ad __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x9dc55e0b __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0x9dd68f1a gro_cells_init +EXPORT_SYMBOL vmlinux 0x9de10bb4 sync_filesystem +EXPORT_SYMBOL vmlinux 0x9def06c1 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x9e02d129 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x9e04d05f __f_setown +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0fa5ae hsiphash_3u32 +EXPORT_SYMBOL vmlinux 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL vmlinux 0x9e2737f0 acpi_install_interface_handler +EXPORT_SYMBOL vmlinux 0x9e2f7e5c inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x9e2fa2d8 netdev_txq_to_tc +EXPORT_SYMBOL vmlinux 0x9e31b22d rt_dst_alloc +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e5bf33c jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e64fbfe rtc_cmos_read +EXPORT_SYMBOL vmlinux 0x9e683f75 __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x9e77f997 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e9c2cc8 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0x9e9eab95 devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x9e9f50ce phy_validate_pause +EXPORT_SYMBOL vmlinux 0x9e9fdd9d memunmap +EXPORT_SYMBOL vmlinux 0x9ea811be netdev_offload_xstats_get +EXPORT_SYMBOL vmlinux 0x9eacf8a5 kstrndup +EXPORT_SYMBOL vmlinux 0x9ec0e639 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0x9ec6ca96 ktime_get_real_ts64 +EXPORT_SYMBOL vmlinux 0x9ecd2f8c fb_class +EXPORT_SYMBOL vmlinux 0x9ed978de vme_lm_set +EXPORT_SYMBOL vmlinux 0x9ee060f9 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x9ef0eee7 __SCT__tp_func_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x9f092e44 param_get_ullong +EXPORT_SYMBOL vmlinux 0x9f14b916 dma_set_mask +EXPORT_SYMBOL vmlinux 0x9f177f13 watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0x9f31c18e flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0x9f36feee inet_csk_accept +EXPORT_SYMBOL vmlinux 0x9f3ca2a0 skb_dequeue +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f4f2aa3 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0x9f50b770 keyring_restrict +EXPORT_SYMBOL vmlinux 0x9f54ead7 gro_cells_destroy +EXPORT_SYMBOL vmlinux 0x9f76baf4 _raw_write_unlock_irq +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa5d5ad vfs_parse_fs_param_source +EXPORT_SYMBOL vmlinux 0x9fa7184a cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x9fb41842 netdev_offload_xstats_report_delta +EXPORT_SYMBOL vmlinux 0x9fb931e1 get_vm_area +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9feed7ce timer_reduce +EXPORT_SYMBOL vmlinux 0x9ffa3a75 netdev_max_backlog +EXPORT_SYMBOL vmlinux 0xa00450dc __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0xa00aca2a dql_completed +EXPORT_SYMBOL vmlinux 0xa016c9f6 iov_iter_alignment +EXPORT_SYMBOL vmlinux 0xa01c4d11 get_user_pages +EXPORT_SYMBOL vmlinux 0xa01d3df6 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0xa01f2664 pci_read_config_word +EXPORT_SYMBOL vmlinux 0xa022c739 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0xa02aa74a __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xa033d747 next_arg +EXPORT_SYMBOL vmlinux 0xa0436e98 in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0xa046788c netif_set_real_num_queues +EXPORT_SYMBOL vmlinux 0xa04abfd2 param_ops_bool +EXPORT_SYMBOL vmlinux 0xa057df8f twl_set_regcache_bypass +EXPORT_SYMBOL vmlinux 0xa05b6be2 psched_ppscfg_precompute +EXPORT_SYMBOL vmlinux 0xa05e187e filp_close +EXPORT_SYMBOL vmlinux 0xa069d5d2 import_iovec +EXPORT_SYMBOL vmlinux 0xa06fcce8 tcf_em_register +EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr +EXPORT_SYMBOL vmlinux 0xa07b3701 d_set_d_op +EXPORT_SYMBOL vmlinux 0xa07d1b3c tasklet_setup +EXPORT_SYMBOL vmlinux 0xa084749a __bitmap_or +EXPORT_SYMBOL vmlinux 0xa084f79f cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0xa0866278 netdev_offload_xstats_push_delta +EXPORT_SYMBOL vmlinux 0xa09046d5 block_read_full_folio +EXPORT_SYMBOL vmlinux 0xa095e02e generic_check_addressable +EXPORT_SYMBOL vmlinux 0xa09ce9a4 get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0xa0a37537 generic_block_bmap +EXPORT_SYMBOL vmlinux 0xa0a9d239 fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0xa0ae1e73 siphash_3u64 +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0c54efe udp6_set_csum +EXPORT_SYMBOL vmlinux 0xa0c86076 tcp_close +EXPORT_SYMBOL vmlinux 0xa0d87339 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xa0dad88e netdev_adjacent_get_private +EXPORT_SYMBOL vmlinux 0xa0dcb58f __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xa0eae826 smp_call_function +EXPORT_SYMBOL vmlinux 0xa0ebd14c sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xa0ebd437 hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0xa0f29cc5 is_acpi_device_node +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa1058ec1 pci_get_class +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa1151b08 freeze_super +EXPORT_SYMBOL vmlinux 0xa11803f2 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xa13295ce bpf_map_get +EXPORT_SYMBOL vmlinux 0xa1571efb ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0xa15eb391 rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0xa1695030 neigh_connected_output +EXPORT_SYMBOL vmlinux 0xa1799ac7 super_setup_bdi +EXPORT_SYMBOL vmlinux 0xa17feec4 touchscreen_report_pos +EXPORT_SYMBOL vmlinux 0xa18b8c91 sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0xa197d75d __mmc_claim_host +EXPORT_SYMBOL vmlinux 0xa1b64035 vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0xa1bedd72 amd_iommu_pc_get_max_counters +EXPORT_SYMBOL vmlinux 0xa1ce9b2c backlight_device_set_brightness +EXPORT_SYMBOL vmlinux 0xa1e9e4ea pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0xa1fbf0d4 agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0xa2060911 inet_current_timestamp +EXPORT_SYMBOL vmlinux 0xa216d9f3 bpf_link_put +EXPORT_SYMBOL vmlinux 0xa21ed7b3 netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0xa224a4a4 xp_dma_map +EXPORT_SYMBOL vmlinux 0xa2326c49 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0xa23ffc04 groups_sort +EXPORT_SYMBOL vmlinux 0xa24f23d8 __request_module +EXPORT_SYMBOL vmlinux 0xa26049e8 config_item_put +EXPORT_SYMBOL vmlinux 0xa263892b fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0xa28cfcc0 gen_estimator_active +EXPORT_SYMBOL vmlinux 0xa292db75 pci_release_resource +EXPORT_SYMBOL vmlinux 0xa2bd7a36 touch_atime +EXPORT_SYMBOL vmlinux 0xa2ca5d0c jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xa2db39ac simple_dentry_operations +EXPORT_SYMBOL vmlinux 0xa2dd63f3 kmem_cache_alloc_lru +EXPORT_SYMBOL vmlinux 0xa2e49020 bdi_unregister +EXPORT_SYMBOL vmlinux 0xa2e9ed7e init_task +EXPORT_SYMBOL vmlinux 0xa2f64e50 kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0xa30dd487 tty_name +EXPORT_SYMBOL vmlinux 0xa315dc1f send_sig_mceerr +EXPORT_SYMBOL vmlinux 0xa3412d34 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0xa3415956 sk_free +EXPORT_SYMBOL vmlinux 0xa34cd09e phy_loopback +EXPORT_SYMBOL vmlinux 0xa3593d04 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0xa35c61ea __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0xa3612db0 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0xa3622eb7 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0xa38597f2 __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xa38f21b9 amd_iommu_update_ga +EXPORT_SYMBOL vmlinux 0xa39753ab udplite_prot +EXPORT_SYMBOL vmlinux 0xa3b084e7 t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0xa3bb1daf register_shrinker +EXPORT_SYMBOL vmlinux 0xa3be8342 __ubsan_handle_type_mismatch +EXPORT_SYMBOL vmlinux 0xa3c0532d __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0xa3c50a3f vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0xa3ca3772 neigh_parms_release +EXPORT_SYMBOL vmlinux 0xa3cefaa0 blake2s_update +EXPORT_SYMBOL vmlinux 0xa3dfbca3 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xa3e4f871 acpi_initialize_debugger +EXPORT_SYMBOL vmlinux 0xa3ef3f8e __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xa3f8d8dc nd_device_register +EXPORT_SYMBOL vmlinux 0xa3fea172 sha224_final +EXPORT_SYMBOL vmlinux 0xa40ff01b acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xa4102671 rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0xa41329b1 blkdev_put +EXPORT_SYMBOL vmlinux 0xa4191c0b memset_io +EXPORT_SYMBOL vmlinux 0xa4216be6 ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0xa444d44f blk_start_plug +EXPORT_SYMBOL vmlinux 0xa458807d md_bitmap_update_sb +EXPORT_SYMBOL vmlinux 0xa47a31c8 security_binder_transaction +EXPORT_SYMBOL vmlinux 0xa49814f8 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0xa4a6653c pci_request_region +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4c43249 blk_get_queue +EXPORT_SYMBOL vmlinux 0xa4d16cb5 tcp_filter +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4dbe121 dev_open +EXPORT_SYMBOL vmlinux 0xa4de233b phy_attached_print +EXPORT_SYMBOL vmlinux 0xa4dff4f4 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0xa4ed1866 vga_get +EXPORT_SYMBOL vmlinux 0xa4f12141 __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xa4faf62a acpi_disable_gpe +EXPORT_SYMBOL vmlinux 0xa500ba88 ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0xa507125e acpi_clear_gpe +EXPORT_SYMBOL vmlinux 0xa50a3da7 _find_next_bit +EXPORT_SYMBOL vmlinux 0xa50bcff0 x86_cpu_to_apicid +EXPORT_SYMBOL vmlinux 0xa51276bd inode_add_bytes +EXPORT_SYMBOL vmlinux 0xa52046fb vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0xa523e721 netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0xa52bedf6 xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0xa54fd255 acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0xa5526619 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa5575bec __remove_inode_hash +EXPORT_SYMBOL vmlinux 0xa5586322 thread_group_exited +EXPORT_SYMBOL vmlinux 0xa572f755 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0xa5754419 csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0xa587a5bd tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0xa58af0a6 _raw_read_unlock_irq +EXPORT_SYMBOL vmlinux 0xa58af8e6 lookup_positive_unlocked +EXPORT_SYMBOL vmlinux 0xa5976e4f dev_base_lock +EXPORT_SYMBOL vmlinux 0xa5dba2ca devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0xa5e41b8f sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0xa5e55057 rdmsrl_safe_on_cpu +EXPORT_SYMBOL vmlinux 0xa602c7dc set_create_files_as +EXPORT_SYMBOL vmlinux 0xa6054562 flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0xa61521f6 __folio_lock +EXPORT_SYMBOL vmlinux 0xa61ced89 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0xa6257a2f complete +EXPORT_SYMBOL vmlinux 0xa626643b sock_no_getname +EXPORT_SYMBOL vmlinux 0xa6275d19 inode_permission +EXPORT_SYMBOL vmlinux 0xa62d79bb pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0xa630b05c __scsi_print_sense +EXPORT_SYMBOL vmlinux 0xa647ffd4 to_nd_dax +EXPORT_SYMBOL vmlinux 0xa648e561 __ubsan_handle_shift_out_of_bounds +EXPORT_SYMBOL vmlinux 0xa6495030 skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0xa64c7249 __printk_cpu_sync_try_get +EXPORT_SYMBOL vmlinux 0xa662f334 buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0xa6793866 unload_nls +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6893d39 single_open +EXPORT_SYMBOL vmlinux 0xa6d331ca __vfs_getxattr +EXPORT_SYMBOL vmlinux 0xa6dff5e4 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0xa70fabbe release_evntsel_nmi +EXPORT_SYMBOL vmlinux 0xa71b1332 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0xa71d2e2c ioread16be +EXPORT_SYMBOL vmlinux 0xa72035f9 xa_get_order +EXPORT_SYMBOL vmlinux 0xa723132a edac_mc_find +EXPORT_SYMBOL vmlinux 0xa72cfb7d ioremap_wt +EXPORT_SYMBOL vmlinux 0xa747e321 neigh_table_init +EXPORT_SYMBOL vmlinux 0xa74c9877 refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0xa7525785 cros_ec_prepare_tx +EXPORT_SYMBOL vmlinux 0xa754a7c1 netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0xa75e77a1 fb_set_suspend +EXPORT_SYMBOL vmlinux 0xa762509d pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xa7625852 invalidate_bdev +EXPORT_SYMBOL vmlinux 0xa77bfd29 register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0xa7842fe0 vfs_get_link +EXPORT_SYMBOL vmlinux 0xa78af5f3 ioread32 +EXPORT_SYMBOL vmlinux 0xa793ceee flow_rule_match_meta +EXPORT_SYMBOL vmlinux 0xa796679d __SCT__tp_func_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xa79e3c06 ndisc_ns_create +EXPORT_SYMBOL vmlinux 0xa7b980a1 inet_release +EXPORT_SYMBOL vmlinux 0xa7d46770 mipi_dsi_generic_write +EXPORT_SYMBOL vmlinux 0xa7d49b83 vc_cons +EXPORT_SYMBOL vmlinux 0xa7d5f92e ida_destroy +EXPORT_SYMBOL vmlinux 0xa7eedcc4 call_usermodehelper +EXPORT_SYMBOL vmlinux 0xa7fa5606 dst_destroy +EXPORT_SYMBOL vmlinux 0xa805ecfc acpi_release_global_lock +EXPORT_SYMBOL vmlinux 0xa80e0504 mod_node_page_state +EXPORT_SYMBOL vmlinux 0xa80e92fa pcie_print_link_status +EXPORT_SYMBOL vmlinux 0xa8181adf proc_dointvec +EXPORT_SYMBOL vmlinux 0xa81a4f99 page_pool_destroy +EXPORT_SYMBOL vmlinux 0xa824c2b0 dst_init +EXPORT_SYMBOL vmlinux 0xa8311308 jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0xa83207a3 netdev_notify_peers +EXPORT_SYMBOL vmlinux 0xa836ba02 wrmsr_safe_regs +EXPORT_SYMBOL vmlinux 0xa8370adb skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0xa843805a get_unused_fd_flags +EXPORT_SYMBOL vmlinux 0xa846d8e1 genl_register_family +EXPORT_SYMBOL vmlinux 0xa84ce9e0 crypto_aes_inv_sbox +EXPORT_SYMBOL vmlinux 0xa84fd94c block_write_full_page +EXPORT_SYMBOL vmlinux 0xa851bd90 dev_uc_init +EXPORT_SYMBOL vmlinux 0xa853396b xa_extract +EXPORT_SYMBOL vmlinux 0xa85a3e6d xa_load +EXPORT_SYMBOL vmlinux 0xa8694ecd kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xa8809311 make_kuid +EXPORT_SYMBOL vmlinux 0xa88af4d9 remove_watch_from_object +EXPORT_SYMBOL vmlinux 0xa8930df8 mdiobus_read +EXPORT_SYMBOL vmlinux 0xa897e3e7 mempool_free +EXPORT_SYMBOL vmlinux 0xa89a1cf1 ipmi_dmi_get_slave_addr +EXPORT_SYMBOL vmlinux 0xa8a24003 md_check_recovery +EXPORT_SYMBOL vmlinux 0xa8b28a98 dma_unmap_resource +EXPORT_SYMBOL vmlinux 0xa8ca3642 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0xa8caa845 clk_bulk_put_all +EXPORT_SYMBOL vmlinux 0xa8cbf319 ppp_input +EXPORT_SYMBOL vmlinux 0xa8d5ace9 dma_fence_describe +EXPORT_SYMBOL vmlinux 0xa8d9fb3f from_kuid_munged +EXPORT_SYMBOL vmlinux 0xa8dd5f6c fb_set_cmap +EXPORT_SYMBOL vmlinux 0xa8e6933a qdf2400_e44_present +EXPORT_SYMBOL vmlinux 0xa8e9c0cd __d_lookup_done +EXPORT_SYMBOL vmlinux 0xa8f6c843 ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0xa8fbca86 inet_select_addr +EXPORT_SYMBOL vmlinux 0xa90ca0de flush_rcu_work +EXPORT_SYMBOL vmlinux 0xa90f2d75 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0xa9105f82 skb_find_text +EXPORT_SYMBOL vmlinux 0xa916b694 strnlen +EXPORT_SYMBOL vmlinux 0xa91781bb blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0xa924b4aa __traceiter_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0xa931af8a asm_load_gs_index +EXPORT_SYMBOL vmlinux 0xa9375acc netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0xa940800b rproc_get_by_child +EXPORT_SYMBOL vmlinux 0xa94a09bb mem_section +EXPORT_SYMBOL vmlinux 0xa95f178e phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0xa96453bf scsi_host_get +EXPORT_SYMBOL vmlinux 0xa965ca81 reciprocal_value +EXPORT_SYMBOL vmlinux 0xa976957d bitmap_remap +EXPORT_SYMBOL vmlinux 0xa9785b49 cpu_core_map +EXPORT_SYMBOL vmlinux 0xa98fd5cd pci_resize_resource +EXPORT_SYMBOL vmlinux 0xa99dab09 dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0xa9a5a45d __scsi_execute +EXPORT_SYMBOL vmlinux 0xa9c47b73 file_open_root +EXPORT_SYMBOL vmlinux 0xa9c72303 amd_iommu_pc_get_max_banks +EXPORT_SYMBOL vmlinux 0xa9ee1688 open_exec +EXPORT_SYMBOL vmlinux 0xa9efe2f6 pci_assign_resource +EXPORT_SYMBOL vmlinux 0xa9f1dbe6 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xa9f425c8 dquot_get_state +EXPORT_SYMBOL vmlinux 0xa9f83253 agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0xaa00fdc0 ec_transaction +EXPORT_SYMBOL vmlinux 0xaa00ff83 tcp_time_wait +EXPORT_SYMBOL vmlinux 0xaa0c318b vscnprintf +EXPORT_SYMBOL vmlinux 0xaa19e4aa _kstrtol +EXPORT_SYMBOL vmlinux 0xaa2e0639 dump_skip_to +EXPORT_SYMBOL vmlinux 0xaa319fe0 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0xaa341905 acpi_bios_exception +EXPORT_SYMBOL vmlinux 0xaa44a707 cpumask_next +EXPORT_SYMBOL vmlinux 0xaa47e333 iterate_supers_type +EXPORT_SYMBOL vmlinux 0xaa529456 __traceiter_mmap_lock_released +EXPORT_SYMBOL vmlinux 0xaa53e632 simple_transaction_set +EXPORT_SYMBOL vmlinux 0xaa545783 remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0xaa6f23ad rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0xaa7aab38 md_unregister_thread +EXPORT_SYMBOL vmlinux 0xaa9d0bfa tty_lock +EXPORT_SYMBOL vmlinux 0xaa9e60c3 padata_do_serial +EXPORT_SYMBOL vmlinux 0xaaa4b9bc hchacha_block_generic +EXPORT_SYMBOL vmlinux 0xaace4343 tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0xaad0ae78 __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaad8c7d6 default_wake_function +EXPORT_SYMBOL vmlinux 0xaad8ff5a __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xaafec0d4 mmc_of_parse +EXPORT_SYMBOL vmlinux 0xab0261b1 cdrom_open +EXPORT_SYMBOL vmlinux 0xab06447e dev_get_flags +EXPORT_SYMBOL vmlinux 0xab0b04fe mmc_is_req_done +EXPORT_SYMBOL vmlinux 0xab0b9b49 __put_devmap_managed_page_refs +EXPORT_SYMBOL vmlinux 0xab3697e4 irq_poll_init +EXPORT_SYMBOL vmlinux 0xab3b75ea vme_dma_pattern_attribute +EXPORT_SYMBOL vmlinux 0xab3ec70e iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0xab3edd26 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xab4cc1b1 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab63baa5 unregister_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xab65ed80 set_memory_uc +EXPORT_SYMBOL vmlinux 0xab67a0ac dql_init +EXPORT_SYMBOL vmlinux 0xab688454 pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0xab6d5b3b hex_to_bin +EXPORT_SYMBOL vmlinux 0xab781570 fb_get_options +EXPORT_SYMBOL vmlinux 0xab7f306b gpiochip_irq_relres +EXPORT_SYMBOL vmlinux 0xab89432c pci_read_vpd_any +EXPORT_SYMBOL vmlinux 0xabafbc09 bio_copy_data +EXPORT_SYMBOL vmlinux 0xabbe0abd netlink_broadcast +EXPORT_SYMBOL vmlinux 0xabcee610 truncate_pagecache +EXPORT_SYMBOL vmlinux 0xabedefa2 reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0xabef0f5c tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0xabf32f29 utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0xabf75305 folio_account_redirty +EXPORT_SYMBOL vmlinux 0xac0ce14b pci_iomap_range +EXPORT_SYMBOL vmlinux 0xac13d953 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0xac196956 __block_write_begin +EXPORT_SYMBOL vmlinux 0xac1a55be unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0xac1f5e96 fb_is_primary_device +EXPORT_SYMBOL vmlinux 0xac26f408 eth_header_parse +EXPORT_SYMBOL vmlinux 0xac30ae97 unregister_filesystem +EXPORT_SYMBOL vmlinux 0xac3201b0 udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0xac3947a5 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xac4e73b9 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0xac537ac2 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0xac5fcec0 in4_pton +EXPORT_SYMBOL vmlinux 0xac6949fb flow_rule_alloc +EXPORT_SYMBOL vmlinux 0xac69fdb9 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xac729a11 find_vma +EXPORT_SYMBOL vmlinux 0xac733666 pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0xac813cf5 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0xac8266d4 mdio_device_reset +EXPORT_SYMBOL vmlinux 0xac847c87 __tracepoint_rdpmc +EXPORT_SYMBOL vmlinux 0xacaa4c72 dma_fence_match_context +EXPORT_SYMBOL vmlinux 0xacab29b7 seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0xacbe0045 devfreq_get_freq_range +EXPORT_SYMBOL vmlinux 0xacd525b0 pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0xacd81eb3 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xacddd806 ptp_get_vclocks_index +EXPORT_SYMBOL vmlinux 0xacea8173 acpi_debug_print +EXPORT_SYMBOL vmlinux 0xacf158bd unregister_md_personality +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf649bf audit_log_task_info +EXPORT_SYMBOL vmlinux 0xad0156bb bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad1036a2 amd_iommu_activate_guest_mode +EXPORT_SYMBOL vmlinux 0xad294c17 eth_validate_addr +EXPORT_SYMBOL vmlinux 0xad357133 __traceiter_kmalloc_node +EXPORT_SYMBOL vmlinux 0xad4cd721 genphy_write_mmd_unsupported +EXPORT_SYMBOL vmlinux 0xad536c91 x86_cpu_to_acpiid +EXPORT_SYMBOL vmlinux 0xad58ac06 dev_addr_del +EXPORT_SYMBOL vmlinux 0xad60770f mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0xad6ba40e radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0xad73041f autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xad8b3657 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0xad934d0e __SetPageMovable +EXPORT_SYMBOL vmlinux 0xad9901ae bit_waitqueue +EXPORT_SYMBOL vmlinux 0xada31e57 gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0xadadac3a page_pool_release_page +EXPORT_SYMBOL vmlinux 0xadae6df8 blake2s_final +EXPORT_SYMBOL vmlinux 0xadb38394 zap_page_range +EXPORT_SYMBOL vmlinux 0xadb57879 vme_dma_list_free +EXPORT_SYMBOL vmlinux 0xadb99cd1 dquot_disable +EXPORT_SYMBOL vmlinux 0xadbeed61 mipi_dsi_packet_format_is_long +EXPORT_SYMBOL vmlinux 0xadc044b7 vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL vmlinux 0xadc1dbc8 pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0xadd139d4 rfs_needed +EXPORT_SYMBOL vmlinux 0xadf5185e blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0xadf704f5 ip6_mtu +EXPORT_SYMBOL vmlinux 0xadfdfcef __bitmap_andnot +EXPORT_SYMBOL vmlinux 0xae0171e5 twl6040_power +EXPORT_SYMBOL vmlinux 0xae04012c __vmalloc +EXPORT_SYMBOL vmlinux 0xae0bdc4f netif_inherit_tso_max +EXPORT_SYMBOL vmlinux 0xae316c11 icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0xae3430c5 skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0xae37e797 security_inet_conn_established +EXPORT_SYMBOL vmlinux 0xae5a04bb acpi_evaluate_dsm +EXPORT_SYMBOL vmlinux 0xae7f8c4b sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0xae8c752d pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0xae9797dc pm860x_set_bits +EXPORT_SYMBOL vmlinux 0xaeac049a generate_random_guid +EXPORT_SYMBOL vmlinux 0xaeb082ad _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0xaeb113de dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0xaebd12f0 acpi_get_name +EXPORT_SYMBOL vmlinux 0xaec80331 phy_stop +EXPORT_SYMBOL vmlinux 0xaeca8967 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xaef9c288 tty_port_hangup +EXPORT_SYMBOL vmlinux 0xaf354bbe cpu_tss_rw +EXPORT_SYMBOL vmlinux 0xaf37ff54 amd_iommu_domain_set_gcr3 +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf43c534 rproc_del +EXPORT_SYMBOL vmlinux 0xaf4940eb mfd_add_devices +EXPORT_SYMBOL vmlinux 0xaf499cde textsearch_unregister +EXPORT_SYMBOL vmlinux 0xaf57b5bf set_anon_super +EXPORT_SYMBOL vmlinux 0xaf85086a param_set_invbool +EXPORT_SYMBOL vmlinux 0xaf8bc486 kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0xaf8bdea6 xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0xafb864c1 refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0xafc08054 dotdot_name +EXPORT_SYMBOL vmlinux 0xafc6c68e zstd_is_error +EXPORT_SYMBOL vmlinux 0xafd5ff2c amd_iommu_v2_supported +EXPORT_SYMBOL vmlinux 0xafd74423 prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0xafd744c6 __x86_indirect_thunk_rbp +EXPORT_SYMBOL vmlinux 0xafdd0b6f pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0xafeaa181 xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0xaff124f7 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0xaffc262a eth_gro_complete +EXPORT_SYMBOL vmlinux 0xb0142cf9 __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0xb017de79 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xb01b5a46 ppp_input_error +EXPORT_SYMBOL vmlinux 0xb01bebf9 xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xb027b241 vma_alloc_folio +EXPORT_SYMBOL vmlinux 0xb02df2d6 __traceiter_rdpmc +EXPORT_SYMBOL vmlinux 0xb04a43ad __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0xb04f14ac begin_new_exec +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb093ae0b dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0xb0a0da0c rational_best_approximation +EXPORT_SYMBOL vmlinux 0xb0aecebd blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0xb0bf2c60 load_nls_default +EXPORT_SYMBOL vmlinux 0xb0c39db0 __neigh_event_send +EXPORT_SYMBOL vmlinux 0xb0c5e247 lockref_put_return +EXPORT_SYMBOL vmlinux 0xb0d34f9b cros_ec_cmd_xfer +EXPORT_SYMBOL vmlinux 0xb0d483c6 inc_node_page_state +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0e602eb memmove +EXPORT_SYMBOL vmlinux 0xb0ed05a8 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0xb10544b5 kernel_getpeername +EXPORT_SYMBOL vmlinux 0xb109ddaa ip_output +EXPORT_SYMBOL vmlinux 0xb10e7df4 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0xb11f636c inode_to_bdi +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb12cbacb fb_unregister_client +EXPORT_SYMBOL vmlinux 0xb12f7f8b iov_iter_advance +EXPORT_SYMBOL vmlinux 0xb1342cdb _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0xb1378f5a pnp_device_attach +EXPORT_SYMBOL vmlinux 0xb13d7852 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0xb14ab1ef hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0xb14fc46a find_next_clump8 +EXPORT_SYMBOL vmlinux 0xb154494e is_subdir +EXPORT_SYMBOL vmlinux 0xb16b0fc4 tcp_mmap +EXPORT_SYMBOL vmlinux 0xb16d08b9 security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0xb186803d phy_ethtool_get_wol +EXPORT_SYMBOL vmlinux 0xb18b4cb8 ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0xb19a5453 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0xb1adde3b acpi_pm_device_sleep_state +EXPORT_SYMBOL vmlinux 0xb1b2b74c nvdimm_bus_lock +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1ddf995 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xb1e9d6df scsi_host_alloc +EXPORT_SYMBOL vmlinux 0xb1f1b25a d_alloc_parallel +EXPORT_SYMBOL vmlinux 0xb209bdb2 dma_resv_init +EXPORT_SYMBOL vmlinux 0xb20b227e kern_path +EXPORT_SYMBOL vmlinux 0xb20c3650 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xb20f4966 fb_validate_mode +EXPORT_SYMBOL vmlinux 0xb21534ef jbd2_fc_begin_commit +EXPORT_SYMBOL vmlinux 0xb21882b6 insert_inode_locked +EXPORT_SYMBOL vmlinux 0xb219d56c wbinvd_on_cpu +EXPORT_SYMBOL vmlinux 0xb22e16d5 radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0xb23027c1 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xb2338d81 __x86_indirect_thunk_rsp +EXPORT_SYMBOL vmlinux 0xb24a481c __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0xb25065f0 unregister_nls +EXPORT_SYMBOL vmlinux 0xb2583423 reuseport_has_conns_set +EXPORT_SYMBOL vmlinux 0xb2601486 __SCT__tp_func_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0xb2766fbc sock_efree +EXPORT_SYMBOL vmlinux 0xb28523ef simple_dir_operations +EXPORT_SYMBOL vmlinux 0xb28792cf mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0xb290e120 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xb292cfa4 phy_set_max_speed +EXPORT_SYMBOL vmlinux 0xb299dd8c freezing_slow_path +EXPORT_SYMBOL vmlinux 0xb29a0b47 inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0xb29c21dc page_pool_update_nid +EXPORT_SYMBOL vmlinux 0xb2b06728 mmc_gpiod_request_cd_irq +EXPORT_SYMBOL vmlinux 0xb2bcb088 acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0xb2e134d0 bio_init_clone +EXPORT_SYMBOL vmlinux 0xb2ec5d5b __SCK__tp_func_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xb2f35c6a xxh64 +EXPORT_SYMBOL vmlinux 0xb2f74fb6 intel_gmch_remove +EXPORT_SYMBOL vmlinux 0xb2f95451 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0xb2fcb56d queue_delayed_work_on +EXPORT_SYMBOL vmlinux 0xb2fd5ceb __put_user_4 +EXPORT_SYMBOL vmlinux 0xb30235f7 __traceiter_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0xb308c97d wait_woken +EXPORT_SYMBOL vmlinux 0xb30b9822 vme_master_set +EXPORT_SYMBOL vmlinux 0xb3127629 mipi_dsi_dcs_set_display_brightness_large +EXPORT_SYMBOL vmlinux 0xb31ef793 vme_master_request +EXPORT_SYMBOL vmlinux 0xb320cc0e sg_init_one +EXPORT_SYMBOL vmlinux 0xb3258f79 __ubsan_handle_type_mismatch_v1 +EXPORT_SYMBOL vmlinux 0xb327c387 param_ops_ullong +EXPORT_SYMBOL vmlinux 0xb32a5973 acpi_ut_status_exit +EXPORT_SYMBOL vmlinux 0xb34d779f skb_dump +EXPORT_SYMBOL vmlinux 0xb350907c param_set_copystring +EXPORT_SYMBOL vmlinux 0xb3546f74 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0xb3687850 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xb368ca14 set_pages_array_uc +EXPORT_SYMBOL vmlinux 0xb370613a phy_ethtool_get_sset_count +EXPORT_SYMBOL vmlinux 0xb3863a67 acpi_set_gpe_wake_mask +EXPORT_SYMBOL vmlinux 0xb3886dc0 pci_map_biosrom +EXPORT_SYMBOL vmlinux 0xb38b453b jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xb3a14f2e vfs_get_fsid +EXPORT_SYMBOL vmlinux 0xb3a2dfdf nmi_panic +EXPORT_SYMBOL vmlinux 0xb3d06ffa filemap_flush +EXPORT_SYMBOL vmlinux 0xb3d2c76d scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0xb3dc1c17 sock_kfree_s +EXPORT_SYMBOL vmlinux 0xb3dcb18a tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0xb3eac612 send_sig_info +EXPORT_SYMBOL vmlinux 0xb3f0de55 xz_dec_microlzma_run +EXPORT_SYMBOL vmlinux 0xb3f49446 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xb3f548ad kmemdup_nul +EXPORT_SYMBOL vmlinux 0xb3f7646e kthread_should_stop +EXPORT_SYMBOL vmlinux 0xb4043948 acpi_execute_simple_method +EXPORT_SYMBOL vmlinux 0xb404ae2f agp_create_memory +EXPORT_SYMBOL vmlinux 0xb40e34d2 ps2_command +EXPORT_SYMBOL vmlinux 0xb415a402 from_kgid_munged +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb42cd7d7 bdev_check_media_change +EXPORT_SYMBOL vmlinux 0xb433d734 tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0xb449ab43 param_get_ushort +EXPORT_SYMBOL vmlinux 0xb4577003 acpi_dev_present +EXPORT_SYMBOL vmlinux 0xb45aaa36 tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0xb461eab4 node_data +EXPORT_SYMBOL vmlinux 0xb46d42af deactivate_super +EXPORT_SYMBOL vmlinux 0xb46e02cc phy_modify_paged_changed +EXPORT_SYMBOL vmlinux 0xb474e725 rproc_da_to_va +EXPORT_SYMBOL vmlinux 0xb47cca30 csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0xb47de848 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0xb487210c __nla_reserve +EXPORT_SYMBOL vmlinux 0xb48d4d22 security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0xb48ee618 xfrm4_protocol_deregister +EXPORT_SYMBOL vmlinux 0xb4a5b62c reuseport_add_sock +EXPORT_SYMBOL vmlinux 0xb4b19daa param_ops_charp +EXPORT_SYMBOL vmlinux 0xb4b4d409 tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0xb4bcc9fe bdev_end_io_acct +EXPORT_SYMBOL vmlinux 0xb4c018e6 blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0xb4ef4a58 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0xb4f13d2a abort +EXPORT_SYMBOL vmlinux 0xb50bd436 alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0xb51b1e7b import_single_range +EXPORT_SYMBOL vmlinux 0xb525f092 pci_get_subsys +EXPORT_SYMBOL vmlinux 0xb52ee8be intel_gtt_clear_range +EXPORT_SYMBOL vmlinux 0xb5359665 seq_open +EXPORT_SYMBOL vmlinux 0xb53bd6a4 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0xb53f2810 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0xb545f92b __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0xb54fd1c7 nobh_write_end +EXPORT_SYMBOL vmlinux 0xb551a2c0 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xb553f006 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xb58aeaab kernel_cpustat +EXPORT_SYMBOL vmlinux 0xb592f207 mmc_erase +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5ab892d uv_undefined +EXPORT_SYMBOL vmlinux 0xb5acfff8 finalize_exec +EXPORT_SYMBOL vmlinux 0xb5b54b34 _raw_spin_unlock +EXPORT_SYMBOL vmlinux 0xb5b63711 fileattr_fill_xflags +EXPORT_SYMBOL vmlinux 0xb5bd6117 phy_ethtool_get_eee +EXPORT_SYMBOL vmlinux 0xb5c3cdc5 __seq_open_private +EXPORT_SYMBOL vmlinux 0xb5c93c67 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0xb5dc8234 security_inode_copy_up +EXPORT_SYMBOL vmlinux 0xb5e3f50e dquot_quota_off +EXPORT_SYMBOL vmlinux 0xb5e73116 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xb5f1fe64 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0xb61320cd set_pages_uc +EXPORT_SYMBOL vmlinux 0xb61d6fc2 down_read_interruptible +EXPORT_SYMBOL vmlinux 0xb622d9c8 configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0xb633f115 irq_poll_enable +EXPORT_SYMBOL vmlinux 0xb63aa3b1 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xb64599c8 vfs_statfs +EXPORT_SYMBOL vmlinux 0xb64b4fca generic_update_time +EXPORT_SYMBOL vmlinux 0xb654ef65 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0xb662dc9c inode_init_always +EXPORT_SYMBOL vmlinux 0xb66ce6b0 input_register_handler +EXPORT_SYMBOL vmlinux 0xb66d290e drop_nlink +EXPORT_SYMBOL vmlinux 0xb66e96d8 netlbl_audit_start +EXPORT_SYMBOL vmlinux 0xb674a534 acpi_unmap_cpu +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb67fec0e uuid_parse +EXPORT_SYMBOL vmlinux 0xb6808aa3 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0xb6936ffe _bcd2bin +EXPORT_SYMBOL vmlinux 0xb6968105 rproc_of_resm_mem_entry_init +EXPORT_SYMBOL vmlinux 0xb69ed6c6 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xb6acaa13 phy_sfp_detach +EXPORT_SYMBOL vmlinux 0xb6cb556a _find_first_and_bit +EXPORT_SYMBOL vmlinux 0xb6e3087e input_release_device +EXPORT_SYMBOL vmlinux 0xb6e36ce2 psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0xb6f03715 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xb6f837fb dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0xb6fde909 close_fd +EXPORT_SYMBOL vmlinux 0xb70e5b3f mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xb71589f0 skip_spaces +EXPORT_SYMBOL vmlinux 0xb71ed69f __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0xb737b185 gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0xb7472477 devfreq_update_interval +EXPORT_SYMBOL vmlinux 0xb7593ddc iosf_mbi_unregister_pmic_bus_access_notifier +EXPORT_SYMBOL vmlinux 0xb75fd8df current_in_userns +EXPORT_SYMBOL vmlinux 0xb770f6b8 netif_carrier_off +EXPORT_SYMBOL vmlinux 0xb77638c2 block_commit_write +EXPORT_SYMBOL vmlinux 0xb7863397 path_put +EXPORT_SYMBOL vmlinux 0xb78debe3 LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0xb7aa7543 generic_delete_inode +EXPORT_SYMBOL vmlinux 0xb7bc84ac xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0xb7c0f443 sort +EXPORT_SYMBOL vmlinux 0xb7c6db70 sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0xb7c8d553 qdisc_reset +EXPORT_SYMBOL vmlinux 0xb7c9d456 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xb7d91cb7 skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0xb7e978ab mipi_dsi_dcs_write_buffer +EXPORT_SYMBOL vmlinux 0xb801391e single_open_size +EXPORT_SYMBOL vmlinux 0xb8048c60 __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0xb805a9c7 __tracepoint_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0xb8064ebf tty_unlock +EXPORT_SYMBOL vmlinux 0xb80b4a18 zstd_compress_bound +EXPORT_SYMBOL vmlinux 0xb82b97fb tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0xb850fe92 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xb868ac5c register_sysrq_key +EXPORT_SYMBOL vmlinux 0xb86f74c5 free_cpumask_var +EXPORT_SYMBOL vmlinux 0xb8715646 km_new_mapping +EXPORT_SYMBOL vmlinux 0xb8724cc0 would_dump +EXPORT_SYMBOL vmlinux 0xb880e12d udp6_csum_init +EXPORT_SYMBOL vmlinux 0xb88fd035 set_groups +EXPORT_SYMBOL vmlinux 0xb8923843 unlock_page +EXPORT_SYMBOL vmlinux 0xb89b6e6b guid_parse +EXPORT_SYMBOL vmlinux 0xb8b043f2 kfree_link +EXPORT_SYMBOL vmlinux 0xb8b9f817 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0xb8c3fae3 pci_claim_resource +EXPORT_SYMBOL vmlinux 0xb8d69700 vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0xb8dc2b11 pnp_is_active +EXPORT_SYMBOL vmlinux 0xb8df281f __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0xb8e64441 vga_switcheroo_init_domain_pm_ops +EXPORT_SYMBOL vmlinux 0xb8e7ce2c __put_user_8 +EXPORT_SYMBOL vmlinux 0xb9056bb6 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xb90730e7 scsi_block_requests +EXPORT_SYMBOL vmlinux 0xb907513f unpoison_memory +EXPORT_SYMBOL vmlinux 0xb90b4058 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0xb911bb58 minmax_running_max +EXPORT_SYMBOL vmlinux 0xb911bdf7 rt6_lookup +EXPORT_SYMBOL vmlinux 0xb915361f pnp_device_detach +EXPORT_SYMBOL vmlinux 0xb920db49 acpi_tb_install_and_load_table +EXPORT_SYMBOL vmlinux 0xb9231e31 dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0xb94339c4 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0xb9478d90 hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0xb9535c3f tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0xb96c4f9e audit_log_subject_context +EXPORT_SYMBOL vmlinux 0xb97220ff bitmap_parse +EXPORT_SYMBOL vmlinux 0xb97f7045 acpi_install_gpe_handler +EXPORT_SYMBOL vmlinux 0xb9855249 netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0xb9af1d0d __xa_clear_mark +EXPORT_SYMBOL vmlinux 0xb9e276cf wrmsr_safe_regs_on_cpu +EXPORT_SYMBOL vmlinux 0xb9e7429c memcpy_toio +EXPORT_SYMBOL vmlinux 0xb9e8e2cc in6addr_sitelocal_allrouters +EXPORT_SYMBOL vmlinux 0xba00f6e4 ppp_unit_number +EXPORT_SYMBOL vmlinux 0xba0676e2 vm_zone_stat +EXPORT_SYMBOL vmlinux 0xba087bd6 nla_reserve +EXPORT_SYMBOL vmlinux 0xba1008c8 __crc32c_le +EXPORT_SYMBOL vmlinux 0xba3ba8f4 mipi_dsi_device_register_full +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba4e6fc7 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xba53adab nla_policy_len +EXPORT_SYMBOL vmlinux 0xba566869 kern_unmount +EXPORT_SYMBOL vmlinux 0xba579892 scm_detach_fds +EXPORT_SYMBOL vmlinux 0xba66c437 seq_escape_mem +EXPORT_SYMBOL vmlinux 0xba6d6d5a netdev_offload_xstats_disable +EXPORT_SYMBOL vmlinux 0xba6e99b9 folio_migrate_mapping +EXPORT_SYMBOL vmlinux 0xba7471be phy_modify_paged +EXPORT_SYMBOL vmlinux 0xba8fbd64 _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xba9452d6 try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xbaba6804 kmem_cache_create +EXPORT_SYMBOL vmlinux 0xbac69bfc kernel_write +EXPORT_SYMBOL vmlinux 0xbae8b83c neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0xbaeb16df sock_set_reuseport +EXPORT_SYMBOL vmlinux 0xbb0540aa zlib_inflateReset +EXPORT_SYMBOL vmlinux 0xbb1283f5 page_pool_put_defragged_page +EXPORT_SYMBOL vmlinux 0xbb13595e smp_call_function_many +EXPORT_SYMBOL vmlinux 0xbb14822d inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0xbb1ac629 inode_dio_wait +EXPORT_SYMBOL vmlinux 0xbb1bac24 acpi_unregister_debugger +EXPORT_SYMBOL vmlinux 0xbb24f607 init_cdrom_command +EXPORT_SYMBOL vmlinux 0xbb2ee99b scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xbb3bf2e0 ip_route_input_noref +EXPORT_SYMBOL vmlinux 0xbb3c60fe bio_alloc_clone +EXPORT_SYMBOL vmlinux 0xbb44d218 d_find_alias +EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xbb507375 blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0xbb6fe86a pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0xbb76e790 security_path_rename +EXPORT_SYMBOL vmlinux 0xbb8e169a vga_switcheroo_handler_flags +EXPORT_SYMBOL vmlinux 0xbb9ed3bf mutex_trylock +EXPORT_SYMBOL vmlinux 0xbbaa5d71 ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0xbbbf281c drop_super +EXPORT_SYMBOL vmlinux 0xbbd23c91 ip_options_compile +EXPORT_SYMBOL vmlinux 0xbbe80fdb kmalloc_order +EXPORT_SYMBOL vmlinux 0xbc0cffc6 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0xbc122fa2 scsi_print_sense +EXPORT_SYMBOL vmlinux 0xbc1251e4 scsi_register_interface +EXPORT_SYMBOL vmlinux 0xbc2031de acpi_processor_get_bios_limit +EXPORT_SYMBOL vmlinux 0xbc2cb702 unregister_cdrom +EXPORT_SYMBOL vmlinux 0xbc4c414c register_console +EXPORT_SYMBOL vmlinux 0xbc50ab3c truncate_inode_pages +EXPORT_SYMBOL vmlinux 0xbc5de35b dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0xbc698780 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xbc841706 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0xbc8598a8 hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0xbc8ee1e8 rproc_coredump_add_custom_segment +EXPORT_SYMBOL vmlinux 0xbca568cf __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0xbca92074 sk_stop_timer +EXPORT_SYMBOL vmlinux 0xbcab6ee6 sscanf +EXPORT_SYMBOL vmlinux 0xbcb36fe4 hugetlb_optimize_vmemmap_key +EXPORT_SYMBOL vmlinux 0xbcc9642a devm_clk_release_clkdev +EXPORT_SYMBOL vmlinux 0xbcd21151 generic_file_llseek +EXPORT_SYMBOL vmlinux 0xbcd749c9 phy_init_hw +EXPORT_SYMBOL vmlinux 0xbcd7c001 generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0xbd18b757 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0xbd393ca3 ioread64be_lo_hi +EXPORT_SYMBOL vmlinux 0xbd40a87e __SCK__tp_func_module_get +EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init +EXPORT_SYMBOL vmlinux 0xbd50209a bio_chain +EXPORT_SYMBOL vmlinux 0xbd56b119 mipi_dsi_set_maximum_return_packet_size +EXPORT_SYMBOL vmlinux 0xbd6841d4 crc16 +EXPORT_SYMBOL vmlinux 0xbdc5a778 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xbde092c6 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0xbde6ee4e agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0xbdfb6dbb __fentry__ +EXPORT_SYMBOL vmlinux 0xbdffad35 rio_query_mport +EXPORT_SYMBOL vmlinux 0xbe0110e7 acpi_set_gpe +EXPORT_SYMBOL vmlinux 0xbe06a680 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0xbe469696 skb_pull +EXPORT_SYMBOL vmlinux 0xbe49252c acpi_os_write_port +EXPORT_SYMBOL vmlinux 0xbe4eb6ed secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xbe5a24e9 xxh32_copy_state +EXPORT_SYMBOL vmlinux 0xbe6a3c1c xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0xbe6a866f __wait_on_bit +EXPORT_SYMBOL vmlinux 0xbe6a8c96 zstd_cctx_workspace_bound +EXPORT_SYMBOL vmlinux 0xbe846185 migrate_page_copy +EXPORT_SYMBOL vmlinux 0xbeaa90c9 memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0xbeb15a29 blk_mq_alloc_disk_for_queue +EXPORT_SYMBOL vmlinux 0xbeb25ef6 simple_open +EXPORT_SYMBOL vmlinux 0xbec3fab4 devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0xbec47925 tty_port_close +EXPORT_SYMBOL vmlinux 0xbeccbe44 param_get_hexint +EXPORT_SYMBOL vmlinux 0xbed5aecb init_pseudo +EXPORT_SYMBOL vmlinux 0xbee17fa2 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0xbee94674 iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbefa51a3 gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0xbefd0f9b locks_init_lock +EXPORT_SYMBOL vmlinux 0xbeffa593 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0xbf082cc6 locks_free_lock +EXPORT_SYMBOL vmlinux 0xbf189e02 skb_ensure_writable +EXPORT_SYMBOL vmlinux 0xbf209007 km_state_notify +EXPORT_SYMBOL vmlinux 0xbf3193ec acpi_unregister_ioapic +EXPORT_SYMBOL vmlinux 0xbf3a89b9 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0xbf4c6720 __tracepoint_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0xbf59c419 posix_acl_init +EXPORT_SYMBOL vmlinux 0xbf7d5889 ip6_xmit +EXPORT_SYMBOL vmlinux 0xbf92c46e __traceiter_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xbf9833f1 super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0xbf9acf20 balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfae9e07 utf8_validate +EXPORT_SYMBOL vmlinux 0xbfb79270 skb_pull_data +EXPORT_SYMBOL vmlinux 0xbfc0d310 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfc3f65c devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0xbfc78067 md_write_end +EXPORT_SYMBOL vmlinux 0xbfe7fa8f inet_frag_destroy +EXPORT_SYMBOL vmlinux 0xc00143ee pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xc017e4fd scsi_dma_map +EXPORT_SYMBOL vmlinux 0xc029145c fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xc0364007 fault_in_writeable +EXPORT_SYMBOL vmlinux 0xc0606410 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xc07351b3 __SCT__cond_resched +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc078d22c zstd_init_cstream +EXPORT_SYMBOL vmlinux 0xc07b0863 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0xc0830526 netlink_net_capable +EXPORT_SYMBOL vmlinux 0xc0954478 nla_put +EXPORT_SYMBOL vmlinux 0xc0a74d96 phy_free_interrupt +EXPORT_SYMBOL vmlinux 0xc0a76192 vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0xc0a92ca2 tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0xc0afb5d7 cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0xc0dda1cc tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0xc0ebc234 vfs_create +EXPORT_SYMBOL vmlinux 0xc0f47e1e nexthop_res_grp_activity_update +EXPORT_SYMBOL vmlinux 0xc0f4ce8f param_ops_ushort +EXPORT_SYMBOL vmlinux 0xc0f5c7ee tcp_check_req +EXPORT_SYMBOL vmlinux 0xc0fe9137 __printk_cpu_sync_put +EXPORT_SYMBOL vmlinux 0xc0ff12fb nla_strdup +EXPORT_SYMBOL vmlinux 0xc0ff21c1 input_get_new_minor +EXPORT_SYMBOL vmlinux 0xc1108f97 udp_seq_next +EXPORT_SYMBOL vmlinux 0xc111ae64 intel_gtt_get +EXPORT_SYMBOL vmlinux 0xc11901d2 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xc1198662 __warn_flushing_systemwide_wq +EXPORT_SYMBOL vmlinux 0xc132d0a1 sock_register +EXPORT_SYMBOL vmlinux 0xc1365323 acpi_enable_all_wakeup_gpes +EXPORT_SYMBOL vmlinux 0xc13937fa acpi_mdiobus_register +EXPORT_SYMBOL vmlinux 0xc14dc168 acpi_get_data +EXPORT_SYMBOL vmlinux 0xc14e2be5 param_set_bool +EXPORT_SYMBOL vmlinux 0xc1514a3b free_irq +EXPORT_SYMBOL vmlinux 0xc16be39d iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xc180c509 pci_select_bars +EXPORT_SYMBOL vmlinux 0xc1a78d0f pci_dev_get +EXPORT_SYMBOL vmlinux 0xc1afc193 dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0xc1b8f559 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0xc1d5d504 scsi_cmd_allowed +EXPORT_SYMBOL vmlinux 0xc1d7e0ec serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0xc1d8cfaf __fdget +EXPORT_SYMBOL vmlinux 0xc1e787c7 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xc1eccd8c block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xc206a786 xp_free +EXPORT_SYMBOL vmlinux 0xc20b16b0 udp_prot +EXPORT_SYMBOL vmlinux 0xc21c23ed dentry_path_raw +EXPORT_SYMBOL vmlinux 0xc227431e get_tree_nodev +EXPORT_SYMBOL vmlinux 0xc23e0fb8 proc_remove +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc24b56d9 get_tree_bdev +EXPORT_SYMBOL vmlinux 0xc251a145 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0xc26cf96b serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0xc26f5467 dma_map_resource +EXPORT_SYMBOL vmlinux 0xc270953f agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0xc278c965 cpu_all_bits +EXPORT_SYMBOL vmlinux 0xc289ab46 pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0xc2922ddc dm_register_target +EXPORT_SYMBOL vmlinux 0xc29bf967 strspn +EXPORT_SYMBOL vmlinux 0xc2a98af1 __skb_pad +EXPORT_SYMBOL vmlinux 0xc2b099cc input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0xc2be0437 fwnode_mdiobus_register_phy +EXPORT_SYMBOL vmlinux 0xc2cadd3f bioset_exit +EXPORT_SYMBOL vmlinux 0xc2cb1ece devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2ed4b81 get_unmapped_area +EXPORT_SYMBOL vmlinux 0xc2f1df41 kfree_skb_list_reason +EXPORT_SYMBOL vmlinux 0xc3055d20 usleep_range_state +EXPORT_SYMBOL vmlinux 0xc30b195a pci_request_irq +EXPORT_SYMBOL vmlinux 0xc30efb7e jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0xc310b981 strnstr +EXPORT_SYMBOL vmlinux 0xc318494d mipi_dsi_shutdown_peripheral +EXPORT_SYMBOL vmlinux 0xc31db0ce is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0xc32c71af register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xc3375841 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0xc3648a75 xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0xc36a3bd4 __acpi_handle_debug +EXPORT_SYMBOL vmlinux 0xc36b8a96 unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0xc36e2218 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xc3762aec mempool_alloc +EXPORT_SYMBOL vmlinux 0xc37f9c6e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0xc38c83b8 mod_timer +EXPORT_SYMBOL vmlinux 0xc3aaf0a9 __put_user_1 +EXPORT_SYMBOL vmlinux 0xc3bc72ad trace_print_array_seq +EXPORT_SYMBOL vmlinux 0xc3c32a06 is_acpi_data_node +EXPORT_SYMBOL vmlinux 0xc3d8843e md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0xc3e721d8 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0xc3ff38c2 down_read_trylock +EXPORT_SYMBOL vmlinux 0xc4061bcd serio_open +EXPORT_SYMBOL vmlinux 0xc40620a8 genphy_read_abilities +EXPORT_SYMBOL vmlinux 0xc41790f0 xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0xc41ab6ac __ip_dev_find +EXPORT_SYMBOL vmlinux 0xc41bc980 iwe_stream_add_value +EXPORT_SYMBOL vmlinux 0xc4212ab9 qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xc428dbdd mfd_cell_disable +EXPORT_SYMBOL vmlinux 0xc42dcb99 acpi_evaluate_ost +EXPORT_SYMBOL vmlinux 0xc452212c utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0xc45445d7 dev_set_threaded +EXPORT_SYMBOL vmlinux 0xc45a39fd __pagevec_release +EXPORT_SYMBOL vmlinux 0xc45e1ed0 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0xc461a154 devfreq_monitor_start +EXPORT_SYMBOL vmlinux 0xc46753d3 key_payload_reserve +EXPORT_SYMBOL vmlinux 0xc4777aa9 __ctzsi2 +EXPORT_SYMBOL vmlinux 0xc48d4393 md_integrity_register +EXPORT_SYMBOL vmlinux 0xc4a2c5f5 devm_clk_get +EXPORT_SYMBOL vmlinux 0xc4ae915e arch_touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xc4b1962a __SCK__tp_func_kfree +EXPORT_SYMBOL vmlinux 0xc4b8e376 max8998_read_reg +EXPORT_SYMBOL vmlinux 0xc4ce49c1 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0xc4eaf06e jbd2__journal_start +EXPORT_SYMBOL vmlinux 0xc513548e phy_init_eee +EXPORT_SYMBOL vmlinux 0xc528a49a queued_write_lock_slowpath +EXPORT_SYMBOL vmlinux 0xc54fb8af tso_start +EXPORT_SYMBOL vmlinux 0xc558530d profile_pc +EXPORT_SYMBOL vmlinux 0xc5697189 set_trace_device +EXPORT_SYMBOL vmlinux 0xc56a2c77 pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0xc56c3609 xz_dec_microlzma_reset +EXPORT_SYMBOL vmlinux 0xc57c48a3 idr_get_next +EXPORT_SYMBOL vmlinux 0xc5856a4e dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0xc58c9e0f agp_collect_device_status +EXPORT_SYMBOL vmlinux 0xc58d5a90 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0xc597893e inet_frags_fini +EXPORT_SYMBOL vmlinux 0xc599a772 security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc59e14e9 try_lookup_one_len +EXPORT_SYMBOL vmlinux 0xc5a1b064 xp_alloc_batch +EXPORT_SYMBOL vmlinux 0xc5ac2069 tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0xc5b6f236 queue_work_on +EXPORT_SYMBOL vmlinux 0xc5bbbf60 current_task +EXPORT_SYMBOL vmlinux 0xc5bf112f scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xc5c90074 param_ops_string +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5e74216 release_resource +EXPORT_SYMBOL vmlinux 0xc5eb43e1 napi_get_frags +EXPORT_SYMBOL vmlinux 0xc5f7e801 sg_last +EXPORT_SYMBOL vmlinux 0xc5fc31cf sock_set_mark +EXPORT_SYMBOL vmlinux 0xc600cc92 __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0xc60d0620 __num_online_cpus +EXPORT_SYMBOL vmlinux 0xc61ca65e iowrite64be_hi_lo +EXPORT_SYMBOL vmlinux 0xc622556f prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xc624d865 inet_frags_init +EXPORT_SYMBOL vmlinux 0xc6256160 nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc633d82d phy_unregister_fixup +EXPORT_SYMBOL vmlinux 0xc65e4e97 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif +EXPORT_SYMBOL vmlinux 0xc66a8304 cpu_rmap_add +EXPORT_SYMBOL vmlinux 0xc6717546 mmc_can_gpio_cd +EXPORT_SYMBOL vmlinux 0xc688af0b configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0xc6910aa0 do_trace_rdpmc +EXPORT_SYMBOL vmlinux 0xc694e886 mmc_of_parse_clk_phase +EXPORT_SYMBOL vmlinux 0xc69781db skb_checksum +EXPORT_SYMBOL vmlinux 0xc6a54bb7 sg_miter_stop +EXPORT_SYMBOL vmlinux 0xc6c148ce flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0xc6c85d94 iov_iter_pipe +EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6cdb01d i8042_install_filter +EXPORT_SYMBOL vmlinux 0xc6ce80f2 mipi_dsi_dcs_write +EXPORT_SYMBOL vmlinux 0xc6d09aa9 release_firmware +EXPORT_SYMBOL vmlinux 0xc6e550d4 input_inject_event +EXPORT_SYMBOL vmlinux 0xc6ebc988 mdiobus_write +EXPORT_SYMBOL vmlinux 0xc6f3b3fc refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0xc6f46339 init_timer_key +EXPORT_SYMBOL vmlinux 0xc6f7d8a6 __mod_lruvec_page_state +EXPORT_SYMBOL vmlinux 0xc708f1fe ec_write +EXPORT_SYMBOL vmlinux 0xc7165e78 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc727fcc2 inode_init_owner +EXPORT_SYMBOL vmlinux 0xc7433643 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xc74d6cd7 dqput +EXPORT_SYMBOL vmlinux 0xc751cb2d input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0xc75897de write_dirty_buffer +EXPORT_SYMBOL vmlinux 0xc7735a5e security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xc77e4fdf keyring_search +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7856a3d inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc79ac267 vm_map_pages +EXPORT_SYMBOL vmlinux 0xc7a18ffa dev_addr_mod +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7a5b545 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0xc7af0097 fwnode_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0xc7c1107a LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0xc7d094b5 dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xc7d317a1 ptp_clock_index +EXPORT_SYMBOL vmlinux 0xc7eda6bc mipi_dsi_picture_parameter_set +EXPORT_SYMBOL vmlinux 0xc7f0381a ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0xc80ab559 swake_up_one +EXPORT_SYMBOL vmlinux 0xc814fb56 __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xc822d571 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0xc836076b page_readlink +EXPORT_SYMBOL vmlinux 0xc836e7ca flow_keys_dissector +EXPORT_SYMBOL vmlinux 0xc83b956c path_is_under +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc8594c40 kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0xc869a68c max8925_set_bits +EXPORT_SYMBOL vmlinux 0xc86bd56b put_disk +EXPORT_SYMBOL vmlinux 0xc872fd85 in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0xc876b381 sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0xc87be927 i2c_clients_command +EXPORT_SYMBOL vmlinux 0xc8827b75 sysctl_vals +EXPORT_SYMBOL vmlinux 0xc88644ae phy_find_first +EXPORT_SYMBOL vmlinux 0xc890c008 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xc8a5dde0 devm_rproc_add +EXPORT_SYMBOL vmlinux 0xc8a72c7f generic_file_fsync +EXPORT_SYMBOL vmlinux 0xc8a91f5b cpumask_local_spread +EXPORT_SYMBOL vmlinux 0xc8b97404 fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0xc8c02b9d __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc8cf3228 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0xc8d0afc9 mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0xc8d1aa5d kernel_read +EXPORT_SYMBOL vmlinux 0xc8dcc62a krealloc +EXPORT_SYMBOL vmlinux 0xc8e33855 nf_log_trace +EXPORT_SYMBOL vmlinux 0xc9216a82 recalibrate_cpu_khz +EXPORT_SYMBOL vmlinux 0xc93e8461 acpi_get_event_resources +EXPORT_SYMBOL vmlinux 0xc942eefb param_array_ops +EXPORT_SYMBOL vmlinux 0xc9445759 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0xc9549a7c copy_page_to_iter +EXPORT_SYMBOL vmlinux 0xc959cfd4 bdevname +EXPORT_SYMBOL vmlinux 0xc9634df9 in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0xc9684246 seq_vprintf +EXPORT_SYMBOL vmlinux 0xc972449f mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0xc974ab7f tcp_set_rcvlowat +EXPORT_SYMBOL vmlinux 0xc97e3d9f sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xc97f29f4 rproc_resource_cleanup +EXPORT_SYMBOL vmlinux 0xc9822234 clk_register_clkdev +EXPORT_SYMBOL vmlinux 0xc9868a8e tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0xc98e7d0a ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0xc99763b0 netpoll_send_skb +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9b33111 cpumask_any_distribute +EXPORT_SYMBOL vmlinux 0xc9b86873 cros_ec_query_all +EXPORT_SYMBOL vmlinux 0xc9d40604 __alloc_pages +EXPORT_SYMBOL vmlinux 0xc9df055a xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xc9e27479 seq_bprintf +EXPORT_SYMBOL vmlinux 0xc9f34c1d acpi_acquire_global_lock +EXPORT_SYMBOL vmlinux 0xc9fcb3d2 skb_queue_purge +EXPORT_SYMBOL vmlinux 0xca1648d4 zstd_decompress_dctx +EXPORT_SYMBOL vmlinux 0xca21ebd3 bitmap_free +EXPORT_SYMBOL vmlinux 0xca2a475d devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0xca314e99 key_put +EXPORT_SYMBOL vmlinux 0xca431c05 wake_bit_function +EXPORT_SYMBOL vmlinux 0xca80da56 wireless_spy_update +EXPORT_SYMBOL vmlinux 0xca838431 flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0xca9360b5 rb_next +EXPORT_SYMBOL vmlinux 0xca9beaa4 __xa_store +EXPORT_SYMBOL vmlinux 0xca9f4ca3 iget5_locked +EXPORT_SYMBOL vmlinux 0xcaae6d0e inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0xcaaf3511 d_instantiate +EXPORT_SYMBOL vmlinux 0xcab32edd phy_support_asym_pause +EXPORT_SYMBOL vmlinux 0xcab7e610 rt_dst_clone +EXPORT_SYMBOL vmlinux 0xcad1aca8 acpi_exception +EXPORT_SYMBOL vmlinux 0xcb0288ea ledtrig_cpu +EXPORT_SYMBOL vmlinux 0xcb06abcf request_key_rcu +EXPORT_SYMBOL vmlinux 0xcb076079 netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0xcb15f83a zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0xcb2175a4 release_sock +EXPORT_SYMBOL vmlinux 0xcb2903c9 __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0xcb320fb0 file_ns_capable +EXPORT_SYMBOL vmlinux 0xcb333cdf dma_ops +EXPORT_SYMBOL vmlinux 0xcb3a7552 bio_reset +EXPORT_SYMBOL vmlinux 0xcb3ae215 call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xcb5451c1 __invalidate_device +EXPORT_SYMBOL vmlinux 0xcb60f542 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xcb6156a9 dma_async_device_register +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb925bad xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xcb98c091 uart_resume_port +EXPORT_SYMBOL vmlinux 0xcba734dd get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0xcbb0dab4 hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0xcbb52145 md_handle_request +EXPORT_SYMBOL vmlinux 0xcbbf0a6f audit_log_task_context +EXPORT_SYMBOL vmlinux 0xcbd4898c fortify_panic +EXPORT_SYMBOL vmlinux 0xcbe97ff6 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0xcbf22e01 dev_disable_lro +EXPORT_SYMBOL vmlinux 0xcbfb33e4 init_opal_dev +EXPORT_SYMBOL vmlinux 0xcc011978 unpin_user_page_range_dirty_lock +EXPORT_SYMBOL vmlinux 0xcc0b7621 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0xcc1b882a idr_get_next_ul +EXPORT_SYMBOL vmlinux 0xcc23002a hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc2f6d9c devm_devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0xcc328a5c reservation_ww_class +EXPORT_SYMBOL vmlinux 0xcc33475e param_set_short +EXPORT_SYMBOL vmlinux 0xcc39fb65 page_mapping +EXPORT_SYMBOL vmlinux 0xcc3ad233 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0xcc3fac44 find_inode_nowait +EXPORT_SYMBOL vmlinux 0xcc411ed1 ptp_convert_timestamp +EXPORT_SYMBOL vmlinux 0xcc445ceb __sg_page_iter_dma_next +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5c2df4 trace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0xcc5d22d9 can_do_mlock +EXPORT_SYMBOL vmlinux 0xcc7ea03b vme_unregister_bridge +EXPORT_SYMBOL vmlinux 0xcc850ade nd_integrity_init +EXPORT_SYMBOL vmlinux 0xcc899e12 mipi_dsi_dcs_read +EXPORT_SYMBOL vmlinux 0xcc8c2c95 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xcca1288e blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0xcca2d35f tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0xcca5839d xen_vcpu_id +EXPORT_SYMBOL vmlinux 0xccaaf961 nf_log_packet +EXPORT_SYMBOL vmlinux 0xccad1aa2 fs_param_is_enum +EXPORT_SYMBOL vmlinux 0xccb2cb62 thaw_super +EXPORT_SYMBOL vmlinux 0xccc29942 napi_consume_skb +EXPORT_SYMBOL vmlinux 0xccd4c999 __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0xccd53615 eisa_driver_unregister +EXPORT_SYMBOL vmlinux 0xcce819b2 devfreq_add_device +EXPORT_SYMBOL vmlinux 0xccfb9e07 dst_default_metrics +EXPORT_SYMBOL vmlinux 0xccfc5aaf __napi_schedule +EXPORT_SYMBOL vmlinux 0xccfd2ebc scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0xcd01b8e6 acpi_attach_data +EXPORT_SYMBOL vmlinux 0xcd19d503 mmc_gpiod_request_cd +EXPORT_SYMBOL vmlinux 0xcd204664 __bforget +EXPORT_SYMBOL vmlinux 0xcd256667 tcp_md5_needed +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd2fcbc0 napi_schedule_prep +EXPORT_SYMBOL vmlinux 0xcd3954db filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xcd59949e dev_printk_emit +EXPORT_SYMBOL vmlinux 0xcd78d28a param_get_invbool +EXPORT_SYMBOL vmlinux 0xcd7b50ca blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xcd83c46f set_disk_ro +EXPORT_SYMBOL vmlinux 0xcd8ce890 acpi_format_exception +EXPORT_SYMBOL vmlinux 0xcd9e50d2 pps_event +EXPORT_SYMBOL vmlinux 0xcdb75967 genphy_update_link +EXPORT_SYMBOL vmlinux 0xcdc39c9e security_ismaclabel +EXPORT_SYMBOL vmlinux 0xcdd3badf phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0xcde77bcc free_opal_dev +EXPORT_SYMBOL vmlinux 0xcdfaf8f0 param_get_string +EXPORT_SYMBOL vmlinux 0xce163853 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce2c3668 mmc_sw_reset +EXPORT_SYMBOL vmlinux 0xce43a9a3 mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0xce4550e5 phy_get_eee_err +EXPORT_SYMBOL vmlinux 0xce45aaa3 tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0xce46f354 touchscreen_parse_properties +EXPORT_SYMBOL vmlinux 0xce4cdb8e fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xce4e26d3 vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0xce4e47b6 __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce5b8a11 folio_clear_dirty_for_io +EXPORT_SYMBOL vmlinux 0xce72bdd4 vmap +EXPORT_SYMBOL vmlinux 0xce76c257 acpi_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xce807a25 up_write +EXPORT_SYMBOL vmlinux 0xce97b8e8 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xce9bb630 fs_param_is_bool +EXPORT_SYMBOL vmlinux 0xce9d630f vga_put +EXPORT_SYMBOL vmlinux 0xcea381dd x86_match_cpu +EXPORT_SYMBOL vmlinux 0xceab0311 strchrnul +EXPORT_SYMBOL vmlinux 0xceb89ca3 phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0xced0f4d4 gen_pool_create +EXPORT_SYMBOL vmlinux 0xced83679 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xcee351ea pnp_start_dev +EXPORT_SYMBOL vmlinux 0xcee5bf88 devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0xceee8e5a vga_switcheroo_unregister_client +EXPORT_SYMBOL vmlinux 0xceef85e4 blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0xcef8d830 of_find_mipi_dsi_device_by_node +EXPORT_SYMBOL vmlinux 0xcefb0c9f __mutex_init +EXPORT_SYMBOL vmlinux 0xcefbf772 __SCK__tp_func_kmalloc +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcefe6227 nvdimm_namespace_locked +EXPORT_SYMBOL vmlinux 0xceff3d8a dquot_resume +EXPORT_SYMBOL vmlinux 0xcf0e2d6a __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xcf2a6966 up +EXPORT_SYMBOL vmlinux 0xcf2cd9f0 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0xcf3b69b3 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xcf4fdd4d _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0xcf5e19ed cdrom_mode_select +EXPORT_SYMBOL vmlinux 0xcf817cab peernet2id +EXPORT_SYMBOL vmlinux 0xcf826760 submit_bio +EXPORT_SYMBOL vmlinux 0xcf8f9868 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0xcf9b558d touchscreen_set_mt_pos +EXPORT_SYMBOL vmlinux 0xcfa7e913 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xcfb1d8b2 fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0xcfb67307 sk_net_capable +EXPORT_SYMBOL vmlinux 0xcfb68c38 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xcfc9deaf atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xcfd884a8 __hsiphash_unaligned +EXPORT_SYMBOL vmlinux 0xcfd95025 netdev_name_in_use +EXPORT_SYMBOL vmlinux 0xcff2d502 mipi_dsi_dcs_get_power_mode +EXPORT_SYMBOL vmlinux 0xd003682d sock_sendmsg +EXPORT_SYMBOL vmlinux 0xd00c304d make_kgid +EXPORT_SYMBOL vmlinux 0xd01efc7d end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0xd02f152b end_buffer_async_write +EXPORT_SYMBOL vmlinux 0xd0304fa5 napi_build_skb +EXPORT_SYMBOL vmlinux 0xd04058d2 scsi_scan_target +EXPORT_SYMBOL vmlinux 0xd046e63a ps2_sliced_command +EXPORT_SYMBOL vmlinux 0xd04c1a64 sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0xd05be8b7 request_firmware +EXPORT_SYMBOL vmlinux 0xd05bf300 free_buffer_head +EXPORT_SYMBOL vmlinux 0xd05d476f fs_param_is_string +EXPORT_SYMBOL vmlinux 0xd060a61c security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xd0654aba woken_wake_function +EXPORT_SYMBOL vmlinux 0xd0670394 __SCK__tp_func_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xd0760fc0 kfree_sensitive +EXPORT_SYMBOL vmlinux 0xd0867616 vme_slot_num +EXPORT_SYMBOL vmlinux 0xd08adb2b trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0xd0a08ebd tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0xd0b74705 acpi_install_interface +EXPORT_SYMBOL vmlinux 0xd0bb2563 ip6tun_encaps +EXPORT_SYMBOL vmlinux 0xd0cd6748 debugfs_create_automount +EXPORT_SYMBOL vmlinux 0xd0da656b __stack_chk_fail +EXPORT_SYMBOL vmlinux 0xd0ef4d21 pipe_unlock +EXPORT_SYMBOL vmlinux 0xd0f284b8 mmiotrace_printk +EXPORT_SYMBOL vmlinux 0xd0fe8d51 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd101ac15 write_cache_pages +EXPORT_SYMBOL vmlinux 0xd1077978 copy_page_from_iter_atomic +EXPORT_SYMBOL vmlinux 0xd12b7960 dev_uc_unsync +EXPORT_SYMBOL vmlinux 0xd1363cc1 ucs2_strsize +EXPORT_SYMBOL vmlinux 0xd1442af2 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0xd14e419d vme_unregister_driver +EXPORT_SYMBOL vmlinux 0xd1571746 f_setown +EXPORT_SYMBOL vmlinux 0xd158a6f2 __tracepoint_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xd161e027 vfs_fadvise +EXPORT_SYMBOL vmlinux 0xd164a43d dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xd16d0d53 find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0xd1721ab7 inet6_offloads +EXPORT_SYMBOL vmlinux 0xd172d4d8 skb_eth_pop +EXPORT_SYMBOL vmlinux 0xd17388ee netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0xd17f2f4b __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0xd17f9033 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xd180cd03 unregister_qdisc +EXPORT_SYMBOL vmlinux 0xd18b3242 blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0xd194ddf9 acpi_gpe_count +EXPORT_SYMBOL vmlinux 0xd1c9311a mdio_bus_type +EXPORT_SYMBOL vmlinux 0xd1d87e92 scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0xd1e0ff07 blk_pm_runtime_init +EXPORT_SYMBOL vmlinux 0xd1f60a89 arch_io_free_memtype_wc +EXPORT_SYMBOL vmlinux 0xd1f6c5f3 smp_num_siblings +EXPORT_SYMBOL vmlinux 0xd20d4422 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0xd20fa407 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xd21ad590 tcp_prot +EXPORT_SYMBOL vmlinux 0xd21c5139 iowrite64_lo_hi +EXPORT_SYMBOL vmlinux 0xd2237016 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0xd22d073d seq_pad +EXPORT_SYMBOL vmlinux 0xd24108d4 rfkill_soft_blocked +EXPORT_SYMBOL vmlinux 0xd24d1df6 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd268809a vga_switcheroo_register_client +EXPORT_SYMBOL vmlinux 0xd26bd2c5 mipi_dsi_dcs_soft_reset +EXPORT_SYMBOL vmlinux 0xd27b25dd blk_check_plugged +EXPORT_SYMBOL vmlinux 0xd2800691 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd28219a9 inet_addr_type +EXPORT_SYMBOL vmlinux 0xd2970fe7 __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0xd2b6fef3 sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0xd2bc5c46 __get_user_nocheck_2 +EXPORT_SYMBOL vmlinux 0xd2c99738 __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0xd2cdf174 tso_count_descs +EXPORT_SYMBOL vmlinux 0xd2d6b009 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xd2d88506 netdev_offload_xstats_report_used +EXPORT_SYMBOL vmlinux 0xd2da1048 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xd2e2a9d0 hdmi_spd_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd2ea49b8 acpi_leave_sleep_state_prep +EXPORT_SYMBOL vmlinux 0xd2eace43 notify_change +EXPORT_SYMBOL vmlinux 0xd2ebcb58 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0xd309cd45 blk_queue_max_secure_erase_sectors +EXPORT_SYMBOL vmlinux 0xd3203859 scsi_device_resume +EXPORT_SYMBOL vmlinux 0xd329794d filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0xd338ea7e __SCT__tp_func_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xd33bf1ac fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0xd351e4f8 __find_get_block +EXPORT_SYMBOL vmlinux 0xd3543063 memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0xd35a6d31 mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xd35cce70 _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xd362c30a set_pages_wb +EXPORT_SYMBOL vmlinux 0xd36dc10c get_random_u32 +EXPORT_SYMBOL vmlinux 0xd36e3d59 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0xd37cbe97 __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0xd3808b5c md_error +EXPORT_SYMBOL vmlinux 0xd38cd261 __default_kernel_pte_mask +EXPORT_SYMBOL vmlinux 0xd3a02288 register_netdevice +EXPORT_SYMBOL vmlinux 0xd3b65d87 mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0xd3d8cbd6 __dec_node_page_state +EXPORT_SYMBOL vmlinux 0xd3e48ac3 generic_key_instantiate +EXPORT_SYMBOL vmlinux 0xd4053f6c filemap_check_errors +EXPORT_SYMBOL vmlinux 0xd406d266 fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xd41413d6 copy_string_kernel +EXPORT_SYMBOL vmlinux 0xd4384438 tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0xd43859f2 param_ops_uint +EXPORT_SYMBOL vmlinux 0xd45cc6ca bin2hex +EXPORT_SYMBOL vmlinux 0xd460f068 kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0xd465bac2 free_netdev +EXPORT_SYMBOL vmlinux 0xd4835ef8 dmi_check_system +EXPORT_SYMBOL vmlinux 0xd48b96c8 __SCK__tp_func_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xd494bc92 pci_enable_device +EXPORT_SYMBOL vmlinux 0xd49abd03 noop_dirty_folio +EXPORT_SYMBOL vmlinux 0xd4a7cd68 md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0xd4abb0d9 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xd4bb4a82 inet6addr_validator_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd4d1983c udplite_table +EXPORT_SYMBOL vmlinux 0xd4d1f9d9 dcache_readdir +EXPORT_SYMBOL vmlinux 0xd4e59660 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xd4ec175b netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0xd4f0a0fd agp_generic_enable +EXPORT_SYMBOL vmlinux 0xd4f19f08 tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0xd4f740a6 netlink_ack +EXPORT_SYMBOL vmlinux 0xd4f94727 migrate_page +EXPORT_SYMBOL vmlinux 0xd4fa5a87 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0xd51950b1 seq_read +EXPORT_SYMBOL vmlinux 0xd51ae3c8 xfrm_state_free +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd534123c scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0xd5346bfc acpi_get_possible_resources +EXPORT_SYMBOL vmlinux 0xd545afa3 folio_mapped +EXPORT_SYMBOL vmlinux 0xd551b6e9 genphy_soft_reset +EXPORT_SYMBOL vmlinux 0xd56a1f11 dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0xd58c4893 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0xd5b3d0d5 xxh64_copy_state +EXPORT_SYMBOL vmlinux 0xd5d5a9a3 kobject_del +EXPORT_SYMBOL vmlinux 0xd5ec1d85 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0xd5fd90f1 prepare_to_wait +EXPORT_SYMBOL vmlinux 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0xd61fb23d __ps2_command +EXPORT_SYMBOL vmlinux 0xd62d5dc2 pci_dev_put +EXPORT_SYMBOL vmlinux 0xd62ecd49 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xd643239a acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xd66c8184 add_device_randomness +EXPORT_SYMBOL vmlinux 0xd6742002 preempt_schedule_thunk +EXPORT_SYMBOL vmlinux 0xd688716b dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xd68c5a1f adjust_resource +EXPORT_SYMBOL vmlinux 0xd691c6a9 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0xd6a91f54 twl_i2c_read +EXPORT_SYMBOL vmlinux 0xd6b2ed5f generate_pm_trace +EXPORT_SYMBOL vmlinux 0xd6b33026 cpu_khz +EXPORT_SYMBOL vmlinux 0xd6b46502 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0xd6bac031 scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0xd6c6e0d0 nd_region_to_nstype +EXPORT_SYMBOL vmlinux 0xd6c9d65e setup_arg_pages +EXPORT_SYMBOL vmlinux 0xd6eaaea1 full_name_hash +EXPORT_SYMBOL vmlinux 0xd6eb553f bdi_alloc +EXPORT_SYMBOL vmlinux 0xd6ed4e13 inet_bind +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6fa2bc5 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xd6fde043 is_module_sig_enforced +EXPORT_SYMBOL vmlinux 0xd70d35a1 gf128mul_4k_bbe +EXPORT_SYMBOL vmlinux 0xd70f62b6 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xd716c5e0 folio_add_lru +EXPORT_SYMBOL vmlinux 0xd7180375 devm_request_resource +EXPORT_SYMBOL vmlinux 0xd71ad9c7 devfreq_monitor_resume +EXPORT_SYMBOL vmlinux 0xd734110a keyring_alloc +EXPORT_SYMBOL vmlinux 0xd73795e1 param_set_long +EXPORT_SYMBOL vmlinux 0xd738ca1b phy_unregister_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd73c8c2b synchronize_shrinkers +EXPORT_SYMBOL vmlinux 0xd7482f05 vcalloc +EXPORT_SYMBOL vmlinux 0xd77318f3 devm_devfreq_add_device +EXPORT_SYMBOL vmlinux 0xd7945c8e __SCK__tp_func_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0xd7987177 utf8_load +EXPORT_SYMBOL vmlinux 0xd79f3f8c vme_irq_handler +EXPORT_SYMBOL vmlinux 0xd7af88dc xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xd7b30486 devm_backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xd7b35077 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0xd7b4898d simple_fill_super +EXPORT_SYMBOL vmlinux 0xd7bebb81 mpage_writepages +EXPORT_SYMBOL vmlinux 0xd7c54339 vga_switcheroo_register_handler +EXPORT_SYMBOL vmlinux 0xd7d280ad irq_poll_complete +EXPORT_SYMBOL vmlinux 0xd7dd777b reserve_perfctr_nmi +EXPORT_SYMBOL vmlinux 0xd7dfe77c tcf_exts_change +EXPORT_SYMBOL vmlinux 0xd7e37e33 tcp_read_sock +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7e9d28a sget +EXPORT_SYMBOL vmlinux 0xd7ea7094 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xd7f2da0b ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0xd8034eed sock_i_uid +EXPORT_SYMBOL vmlinux 0xd810ab1f acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0xd81bfe6c security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xd82c2501 vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0xd83ed7b3 kernel_getsockname +EXPORT_SYMBOL vmlinux 0xd846c315 acpi_write_bit_register +EXPORT_SYMBOL vmlinux 0xd8573a48 pci_enable_wake +EXPORT_SYMBOL vmlinux 0xd865c240 dev_remove_pack +EXPORT_SYMBOL vmlinux 0xd86b2419 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0xd88802c2 pci_find_bus +EXPORT_SYMBOL vmlinux 0xd891ef20 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a85bd4 blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0xd8a994eb scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0xd8b34aa8 ilookup +EXPORT_SYMBOL vmlinux 0xd8b61304 get_default_font +EXPORT_SYMBOL vmlinux 0xd8cef6e1 clear_user +EXPORT_SYMBOL vmlinux 0xd8d1c943 pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0xd8df08ac acpi_handle_printk +EXPORT_SYMBOL vmlinux 0xd8e18a29 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xd8e97fe8 nd_pfn_probe +EXPORT_SYMBOL vmlinux 0xd8eedb8f agp_free_memory +EXPORT_SYMBOL vmlinux 0xd8fbe26c phy_ethtool_get_stats +EXPORT_SYMBOL vmlinux 0xd91f6ab6 strnlen_user +EXPORT_SYMBOL vmlinux 0xd92deb6b acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0xd9319585 bdi_put +EXPORT_SYMBOL vmlinux 0xd933f209 __SCT__tp_func_rdpmc +EXPORT_SYMBOL vmlinux 0xd9491c14 xa_destroy +EXPORT_SYMBOL vmlinux 0xd94fc513 kobject_init +EXPORT_SYMBOL vmlinux 0xd95241e2 tcp_stream_memory_free +EXPORT_SYMBOL vmlinux 0xd95910a8 kill_block_super +EXPORT_SYMBOL vmlinux 0xd970d787 t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0xd971c6c4 xen_arch_register_cpu +EXPORT_SYMBOL vmlinux 0xd977500f kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd98c036e clear_nlink +EXPORT_SYMBOL vmlinux 0xd990ebd7 sk_stop_timer_sync +EXPORT_SYMBOL vmlinux 0xd9a5ea54 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xd9b11890 wake_up_process +EXPORT_SYMBOL vmlinux 0xd9b35177 vm_mmap +EXPORT_SYMBOL vmlinux 0xd9b85ef6 lockref_get +EXPORT_SYMBOL vmlinux 0xd9c508f3 __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0xd9cc3eb1 textsearch_register +EXPORT_SYMBOL vmlinux 0xd9cc7ea9 file_fdatawait_range +EXPORT_SYMBOL vmlinux 0xd9cf4cdf uart_get_divisor +EXPORT_SYMBOL vmlinux 0xd9d0c41e fb_blank +EXPORT_SYMBOL vmlinux 0xd9d61386 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0xd9d8fd16 register_restart_handler +EXPORT_SYMBOL vmlinux 0xd9d952d1 crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0xd9da47cd __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0xda0c3f03 skb_orphan_partial +EXPORT_SYMBOL vmlinux 0xda1ddef1 acpi_mark_gpe_for_wake +EXPORT_SYMBOL vmlinux 0xda26b8ea __irq_regs +EXPORT_SYMBOL vmlinux 0xda3a4f62 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0xda3d10a8 security_tun_dev_open +EXPORT_SYMBOL vmlinux 0xda4ba4c4 __sock_create +EXPORT_SYMBOL vmlinux 0xda5aa1bb device_get_ethdev_address +EXPORT_SYMBOL vmlinux 0xda75d0b2 __block_write_full_page +EXPORT_SYMBOL vmlinux 0xda8db763 bprm_change_interp +EXPORT_SYMBOL vmlinux 0xda9e0bb7 pci_disable_msix +EXPORT_SYMBOL vmlinux 0xdaac8dce dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xdaac9cac __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0xdac4913a bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0xdacdfc7b processors +EXPORT_SYMBOL vmlinux 0xdad13544 ptrs_per_p4d +EXPORT_SYMBOL vmlinux 0xdad1fc3f zstd_flush_stream +EXPORT_SYMBOL vmlinux 0xdae4b449 lock_sock_nested +EXPORT_SYMBOL vmlinux 0xdaec288d pr_flush +EXPORT_SYMBOL vmlinux 0xdaf3e4a7 key_reject_and_link +EXPORT_SYMBOL vmlinux 0xdb16b170 topology_phys_to_logical_pkg +EXPORT_SYMBOL vmlinux 0xdb1a7364 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0xdb22a563 __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0xdb2abde4 __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0xdb2ed689 set_capacity +EXPORT_SYMBOL vmlinux 0xdb372b83 devfreq_remove_device +EXPORT_SYMBOL vmlinux 0xdb4a5d70 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0xdb4c71a5 sock_create +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb6a2106 user_path_create +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb803b4b jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0xdb95956b amd_iommu_domain_enable_v2 +EXPORT_SYMBOL vmlinux 0xdb95e185 intel_scu_ipc_dev_command_with_size +EXPORT_SYMBOL vmlinux 0xdb9908e6 netlink_set_err +EXPORT_SYMBOL vmlinux 0xdbcf041a acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0xdbd50968 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0xdbdf6c92 ioport_resource +EXPORT_SYMBOL vmlinux 0xdbff17a1 fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0xdc0c277a dst_dev_put +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc32b447 datagram_poll +EXPORT_SYMBOL vmlinux 0xdc49c198 reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0xdc512134 backlight_register_notifier +EXPORT_SYMBOL vmlinux 0xdc51bdab pci_read_config_dword +EXPORT_SYMBOL vmlinux 0xdc5736d5 acpi_register_ioapic +EXPORT_SYMBOL vmlinux 0xdc5b08d5 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0xdc61b734 has_capability_noaudit +EXPORT_SYMBOL vmlinux 0xdc6a670b dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0xdc6f3827 __blk_alloc_disk +EXPORT_SYMBOL vmlinux 0xdc7e4ef2 ppp_dev_name +EXPORT_SYMBOL vmlinux 0xdcb528ae register_md_personality +EXPORT_SYMBOL vmlinux 0xdcbeb9f3 phy_resume +EXPORT_SYMBOL vmlinux 0xdcc77a7d blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0xdcd39337 tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0xdcdc0040 slhc_compress +EXPORT_SYMBOL vmlinux 0xdcdc3cb3 simple_transaction_get +EXPORT_SYMBOL vmlinux 0xdce5d494 tcp_release_cb +EXPORT_SYMBOL vmlinux 0xdcedb832 module_refcount +EXPORT_SYMBOL vmlinux 0xdd00447a acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0xdd18a993 acpi_check_dsm +EXPORT_SYMBOL vmlinux 0xdd1969be ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0xdd2c169b mb_cache_create +EXPORT_SYMBOL vmlinux 0xdd370aea fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0xdd3a2eca scsi_target_resume +EXPORT_SYMBOL vmlinux 0xdd3dae5f inet6_del_offload +EXPORT_SYMBOL vmlinux 0xdd4d55b6 _raw_read_unlock +EXPORT_SYMBOL vmlinux 0xdd5e75ea textsearch_prepare +EXPORT_SYMBOL vmlinux 0xdd64e639 strscpy +EXPORT_SYMBOL vmlinux 0xdd78d533 uart_suspend_port +EXPORT_SYMBOL vmlinux 0xdd7cbdf0 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0xdd8166a1 dma_fence_free +EXPORT_SYMBOL vmlinux 0xdd849d51 scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0xdd8ea668 genl_notify +EXPORT_SYMBOL vmlinux 0xdd9d5cc8 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0xddad7952 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xddc73316 dev_close +EXPORT_SYMBOL vmlinux 0xddcbe1f3 acpi_ut_value_exit +EXPORT_SYMBOL vmlinux 0xddf6ad7a completion_done +EXPORT_SYMBOL vmlinux 0xde086349 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0xde293f9e add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xde32136e __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xde4d4ace dim_calc_stats +EXPORT_SYMBOL vmlinux 0xde4eeab5 __register_nmi_handler +EXPORT_SYMBOL vmlinux 0xde4fb71b iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0xde5033d7 md_flush_request +EXPORT_SYMBOL vmlinux 0xde576ce9 skb_eth_push +EXPORT_SYMBOL vmlinux 0xde6aa0b7 padata_set_cpumask +EXPORT_SYMBOL vmlinux 0xde80cd09 ioremap +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xdea9eb4b mipi_dsi_dcs_set_display_brightness +EXPORT_SYMBOL vmlinux 0xdec30dce udp_pre_connect +EXPORT_SYMBOL vmlinux 0xdec6b9d6 folio_mark_dirty +EXPORT_SYMBOL vmlinux 0xdece6384 set_pages_array_wc +EXPORT_SYMBOL vmlinux 0xdecfae3b fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0xded39a6b gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xdef7c893 fb_match_mode +EXPORT_SYMBOL vmlinux 0xdef8d0ae __SCT__tp_func_kfree +EXPORT_SYMBOL vmlinux 0xdefaed40 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xdf1ac593 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xdf256037 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0xdf294ecf security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xdf2c2742 rb_last +EXPORT_SYMBOL vmlinux 0xdf2ebb87 _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xdf36914b xa_find_after +EXPORT_SYMBOL vmlinux 0xdf38c93d convert_art_to_tsc +EXPORT_SYMBOL vmlinux 0xdf399d33 generic_file_write_iter +EXPORT_SYMBOL vmlinux 0xdf4b4bbe dev_uc_sync +EXPORT_SYMBOL vmlinux 0xdf54a8f7 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdf6986d8 poll_initwait +EXPORT_SYMBOL vmlinux 0xdf6b082f proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xdf72de26 request_partial_firmware_into_buf +EXPORT_SYMBOL vmlinux 0xdf79aec6 rproc_of_parse_firmware +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf8d781f acpi_update_all_gpes +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf93b9d8 timespec64_to_jiffies +EXPORT_SYMBOL vmlinux 0xdf9f5b1e __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0xdfa24be6 lookup_one_positive_unlocked +EXPORT_SYMBOL vmlinux 0xdfa75546 fifo_set_limit +EXPORT_SYMBOL vmlinux 0xdfb6d37d netlink_unicast +EXPORT_SYMBOL vmlinux 0xdfb75413 vfs_symlink +EXPORT_SYMBOL vmlinux 0xdfc10c94 load_nls +EXPORT_SYMBOL vmlinux 0xdfc12ef1 zstd_decompress_stream +EXPORT_SYMBOL vmlinux 0xdfc6a502 keyring_clear +EXPORT_SYMBOL vmlinux 0xdfcaf63e tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0xdfcc992c current_work +EXPORT_SYMBOL vmlinux 0xdfcdd92d __bread_gfp +EXPORT_SYMBOL vmlinux 0xdfd89c6a setup_new_exec +EXPORT_SYMBOL vmlinux 0xdff905e5 vme_slave_free +EXPORT_SYMBOL vmlinux 0xdffc80fc vesa_modes +EXPORT_SYMBOL vmlinux 0xe0112fc4 __x86_indirect_thunk_r9 +EXPORT_SYMBOL vmlinux 0xe01cb5ab __skb_checksum +EXPORT_SYMBOL vmlinux 0xe0280b67 new_inode +EXPORT_SYMBOL vmlinux 0xe02ba436 trace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xe02c9c92 __xa_erase +EXPORT_SYMBOL vmlinux 0xe033cb29 native_queued_spin_lock_slowpath +EXPORT_SYMBOL vmlinux 0xe03a689d dma_fence_array_ops +EXPORT_SYMBOL vmlinux 0xe03d441d dquot_initialize +EXPORT_SYMBOL vmlinux 0xe0419ac4 kstrtos16 +EXPORT_SYMBOL vmlinux 0xe05535a8 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xe0676232 xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0xe070019a __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0xe0772360 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xe07e5f44 acpi_reconfig_notifier_unregister +EXPORT_SYMBOL vmlinux 0xe080e8f0 set_current_groups +EXPORT_SYMBOL vmlinux 0xe082e88d acpi_check_address_range +EXPORT_SYMBOL vmlinux 0xe091c977 list_sort +EXPORT_SYMBOL vmlinux 0xe096cbe1 flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0xe09b4414 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xe0a323f6 __do_once_slow_start +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bf5bd5 dquot_acquire +EXPORT_SYMBOL vmlinux 0xe0bf68d9 mdiobus_register_device +EXPORT_SYMBOL vmlinux 0xe0de6f1e xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0xe0e404bd genphy_read_mmd_unsupported +EXPORT_SYMBOL vmlinux 0xe0e428fb vfio_unregister_notifier +EXPORT_SYMBOL vmlinux 0xe0ee8eb5 dquot_commit_info +EXPORT_SYMBOL vmlinux 0xe0f34c4d __folio_start_writeback +EXPORT_SYMBOL vmlinux 0xe0ff0e74 nf_log_register +EXPORT_SYMBOL vmlinux 0xe10966b9 max8998_write_reg +EXPORT_SYMBOL vmlinux 0xe10e9d7b __mdiobus_register +EXPORT_SYMBOL vmlinux 0xe1139771 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe118780c napi_disable +EXPORT_SYMBOL vmlinux 0xe11deea5 km_state_expired +EXPORT_SYMBOL vmlinux 0xe123aba7 d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0xe123f3d9 dma_fence_release +EXPORT_SYMBOL vmlinux 0xe12bda79 vme_dma_free_attribute +EXPORT_SYMBOL vmlinux 0xe12c623a generic_copy_file_range +EXPORT_SYMBOL vmlinux 0xe138fb8c percpu_counter_add_batch +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe140e5e8 migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0xe1416cd0 gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0xe14703cb kmem_cache_free +EXPORT_SYMBOL vmlinux 0xe15874e3 scsi_print_command +EXPORT_SYMBOL vmlinux 0xe1684dc3 mount_single +EXPORT_SYMBOL vmlinux 0xe16f7cbf genlmsg_put +EXPORT_SYMBOL vmlinux 0xe1bee700 __traceiter_read_msr +EXPORT_SYMBOL vmlinux 0xe1dad85f tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xe1db1101 dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0xe1dcf64a audit_log_format +EXPORT_SYMBOL vmlinux 0xe1e95b9d jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0xe1f07c58 dev_mc_del +EXPORT_SYMBOL vmlinux 0xe1fd8377 rproc_elf_sanity_check +EXPORT_SYMBOL vmlinux 0xe2183f75 bio_uninit +EXPORT_SYMBOL vmlinux 0xe21f18ac __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0xe230a9e4 tty_unregister_device +EXPORT_SYMBOL vmlinux 0xe2329e08 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0xe2343025 tcf_classify +EXPORT_SYMBOL vmlinux 0xe2408f0f xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0xe2462f54 nf_ct_attach +EXPORT_SYMBOL vmlinux 0xe2538cd6 from_kgid +EXPORT_SYMBOL vmlinux 0xe2693c0b jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xe273d75d alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0xe28d7b77 blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0xe2c17b5d __SCT__might_resched +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e02fbd __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0xe2e28fc0 __traceiter_write_msr +EXPORT_SYMBOL vmlinux 0xe2e391ad nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0xe2e9f25a sk_wait_data +EXPORT_SYMBOL vmlinux 0xe2f12bc1 tcf_qevent_destroy +EXPORT_SYMBOL vmlinux 0xe2f1e74f blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0xe2fd77fa netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0xe303f1bd rproc_add +EXPORT_SYMBOL vmlinux 0xe3042606 max8998_update_reg +EXPORT_SYMBOL vmlinux 0xe307ff5d input_open_device +EXPORT_SYMBOL vmlinux 0xe30873d9 nvdimm_namespace_disk_name +EXPORT_SYMBOL vmlinux 0xe31cbb2f has_capability +EXPORT_SYMBOL vmlinux 0xe32ab4d8 xxh64_digest +EXPORT_SYMBOL vmlinux 0xe32bb61d pci_biosrom_size +EXPORT_SYMBOL vmlinux 0xe32c045d mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0xe336945c mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0xe33d7559 dma_resv_reserve_fences +EXPORT_SYMBOL vmlinux 0xe341bc5d finish_swait +EXPORT_SYMBOL vmlinux 0xe351251e __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0xe35b0e80 cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0xe36c9572 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0xe375ba15 fget_raw +EXPORT_SYMBOL vmlinux 0xe37dfdf5 tty_port_destroy +EXPORT_SYMBOL vmlinux 0xe39b2ea5 sha256 +EXPORT_SYMBOL vmlinux 0xe3a419e3 tcp_splice_read +EXPORT_SYMBOL vmlinux 0xe3a915e6 skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0xe3b7bc2b bio_free_pages +EXPORT_SYMBOL vmlinux 0xe3c95d87 seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0xe3d857ea __cpu_active_mask +EXPORT_SYMBOL vmlinux 0xe3dda056 dump_align +EXPORT_SYMBOL vmlinux 0xe3e20280 pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0xe3ec2f2b alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0xe3feba56 tasklet_unlock_spin_wait +EXPORT_SYMBOL vmlinux 0xe3ff2c41 get_random_u64 +EXPORT_SYMBOL vmlinux 0xe405a3e1 genphy_handle_interrupt_no_ack +EXPORT_SYMBOL vmlinux 0xe40976c0 pnp_range_reserved +EXPORT_SYMBOL vmlinux 0xe40c37ea down_write_trylock +EXPORT_SYMBOL vmlinux 0xe419bc99 iowrite32be +EXPORT_SYMBOL vmlinux 0xe41a6249 mmc_retune_timer_stop +EXPORT_SYMBOL vmlinux 0xe4288c7c nlmsg_notify +EXPORT_SYMBOL vmlinux 0xe42f221e dquot_drop +EXPORT_SYMBOL vmlinux 0xe4329092 __ctzdi2 +EXPORT_SYMBOL vmlinux 0xe4349515 netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0xe435c915 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xe4386fec pci_read_config_byte +EXPORT_SYMBOL vmlinux 0xe43e1439 flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0xe43ea717 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0xe4483202 ip_setsockopt +EXPORT_SYMBOL vmlinux 0xe46021ca _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0xe4627cca netpoll_setup +EXPORT_SYMBOL vmlinux 0xe466d3b6 dquot_quota_on +EXPORT_SYMBOL vmlinux 0xe46f5795 bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0xe478a665 skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0xe47d2c24 generic_fill_statx_attr +EXPORT_SYMBOL vmlinux 0xe485aaf4 inet_addr_type_table +EXPORT_SYMBOL vmlinux 0xe4948a22 posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xe494baca gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0xe49c5e8e mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xe4aa4989 sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xe4af109f vm_map_ram +EXPORT_SYMBOL vmlinux 0xe4b713c2 update_devfreq +EXPORT_SYMBOL vmlinux 0xe4bc2c2f hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0xe4c2d3ab mmput_async +EXPORT_SYMBOL vmlinux 0xe4d80bf4 acpi_enable +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe543e449 blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xe546841d vme_irq_generate +EXPORT_SYMBOL vmlinux 0xe54ad183 crypto_kdf108_setkey +EXPORT_SYMBOL vmlinux 0xe54d51ed phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0xe5548476 tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0xe558d4a3 vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0xe55cdc00 kthread_bind +EXPORT_SYMBOL vmlinux 0xe57beaee pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0xe58090ca security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0xe58eb382 __traceiter_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0xe590dea3 sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0xe591dd7e bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xe5960a4d xp_raw_get_data +EXPORT_SYMBOL vmlinux 0xe59f441f __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xe5b2bc57 ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0xe5c60bd2 percpu_counter_set +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5d91c6a simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xe5db9cb1 lock_rename +EXPORT_SYMBOL vmlinux 0xe5def077 proc_set_user +EXPORT_SYMBOL vmlinux 0xe5e040f2 generic_fillattr +EXPORT_SYMBOL vmlinux 0xe5f540b0 unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0xe613a798 inet_addr_is_any +EXPORT_SYMBOL vmlinux 0xe6244c71 __put_page +EXPORT_SYMBOL vmlinux 0xe630cfb2 phy_reset_after_clk_enable +EXPORT_SYMBOL vmlinux 0xe6345023 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0xe643a66f devm_alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0xe6472d85 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xe6550092 utf8_casefold +EXPORT_SYMBOL vmlinux 0xe66a75ed blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xe683c384 genphy_c37_read_status +EXPORT_SYMBOL vmlinux 0xe687d55b jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xe68efe41 _raw_write_lock +EXPORT_SYMBOL vmlinux 0xe6a0397a netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xe6b87024 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0xe6bbd9e8 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xe6c49e03 seq_printf +EXPORT_SYMBOL vmlinux 0xe6d2458e do_trace_netlink_extack +EXPORT_SYMBOL vmlinux 0xe6f1803b seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0xe6fa06a2 rename_lock +EXPORT_SYMBOL vmlinux 0xe70868ed is_nvdimm_bus_locked +EXPORT_SYMBOL vmlinux 0xe70877d4 acpi_remove_sci_handler +EXPORT_SYMBOL vmlinux 0xe71ec4c5 get_thermal_instance +EXPORT_SYMBOL vmlinux 0xe7257ab8 xa_store_range +EXPORT_SYMBOL vmlinux 0xe73c1b42 dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0xe74a09ce genphy_read_status +EXPORT_SYMBOL vmlinux 0xe761920e read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xe777da27 tcf_idr_search +EXPORT_SYMBOL vmlinux 0xe787698f acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0xe78a6f59 input_get_timestamp +EXPORT_SYMBOL vmlinux 0xe796ecac __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xe7a02573 ida_alloc_range +EXPORT_SYMBOL vmlinux 0xe7ab1ecc _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0xe7aca7ea dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0xe7be89b9 scsi_done +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7d91a42 sk_error_report +EXPORT_SYMBOL vmlinux 0xe7e61d37 __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0xe80dbdcc dm_put_device +EXPORT_SYMBOL vmlinux 0xe8330a5a call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0xe83cc2a7 dqget +EXPORT_SYMBOL vmlinux 0xe843bf75 ptp_find_pin_unlocked +EXPORT_SYMBOL vmlinux 0xe8526472 tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0xe855f528 md_register_thread +EXPORT_SYMBOL vmlinux 0xe85f0069 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0xe85f2123 acpi_tb_unload_table +EXPORT_SYMBOL vmlinux 0xe86ac918 configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0xe873e50c rproc_report_crash +EXPORT_SYMBOL vmlinux 0xe87eceed inode_set_flags +EXPORT_SYMBOL vmlinux 0xe884bca5 blk_queue_split +EXPORT_SYMBOL vmlinux 0xe89277e2 sg_alloc_table_from_pages_segment +EXPORT_SYMBOL vmlinux 0xe896c2ed elv_rb_del +EXPORT_SYMBOL vmlinux 0xe8ab5baf scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0xe8bb3fdf param_get_ulong +EXPORT_SYMBOL vmlinux 0xe8dd3e15 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0xe8de561d qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0xe8f0da2b napi_enable +EXPORT_SYMBOL vmlinux 0xe8fbf4fa __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0xe901c9c2 unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0xe909997a bitmap_print_list_to_buf +EXPORT_SYMBOL vmlinux 0xe90f55ad mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xe9146393 phy_drivers_unregister +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe935ffb7 generic_write_checks +EXPORT_SYMBOL vmlinux 0xe951fcc7 find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe95b48e6 flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0xe979613d lookup_one_unlocked +EXPORT_SYMBOL vmlinux 0xe9a5e67f intel_graphics_stolen_res +EXPORT_SYMBOL vmlinux 0xe9a7cb34 pci_enable_msi +EXPORT_SYMBOL vmlinux 0xe9ac3e5d sk_dst_check +EXPORT_SYMBOL vmlinux 0xe9af7397 __xa_set_mark +EXPORT_SYMBOL vmlinux 0xe9b63fa4 uart_update_timeout +EXPORT_SYMBOL vmlinux 0xe9cc54d8 sock_alloc +EXPORT_SYMBOL vmlinux 0xe9dc12a4 zstd_get_error_name +EXPORT_SYMBOL vmlinux 0xe9e8faeb efi_tpm_final_log_size +EXPORT_SYMBOL vmlinux 0xe9eae268 d_tmpfile +EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0xe9ffc063 down_trylock +EXPORT_SYMBOL vmlinux 0xea00c298 input_get_poll_interval +EXPORT_SYMBOL vmlinux 0xea032ccf tcf_action_update_hw_stats +EXPORT_SYMBOL vmlinux 0xea0d7f1c file_update_time +EXPORT_SYMBOL vmlinux 0xea2dbde6 security_path_unlink +EXPORT_SYMBOL vmlinux 0xea3721d9 security_sb_mnt_opts_compat +EXPORT_SYMBOL vmlinux 0xea3c8e4e scsilun_to_int +EXPORT_SYMBOL vmlinux 0xea5dbe83 xfrm_input +EXPORT_SYMBOL vmlinux 0xea6f9a36 zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0xea778fab sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0xea837fc6 seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0xea84c39f agp_enable +EXPORT_SYMBOL vmlinux 0xea9f0b81 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0xeab6f4c4 acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xead7972e dma_resv_add_fence +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeae42557 tcf_action_exec +EXPORT_SYMBOL vmlinux 0xeafc141f __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeb078aee _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xeb233a45 __kmalloc +EXPORT_SYMBOL vmlinux 0xeb278048 mmc_card_is_blockaddr +EXPORT_SYMBOL vmlinux 0xeb30d177 get_cached_acl +EXPORT_SYMBOL vmlinux 0xeb31aee8 acpi_trace_point +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact +EXPORT_SYMBOL vmlinux 0xeb52c206 devfreq_resume_device +EXPORT_SYMBOL vmlinux 0xeb6bc49c ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xeb7287df registered_fb +EXPORT_SYMBOL vmlinux 0xeb7f6046 acpi_get_devices +EXPORT_SYMBOL vmlinux 0xeb9e913d sgl_alloc_order +EXPORT_SYMBOL vmlinux 0xeb9eef52 match_uint +EXPORT_SYMBOL vmlinux 0xeba2494c jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0xebb8a484 forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0xebc726f0 mdio_device_remove +EXPORT_SYMBOL vmlinux 0xebdea7b7 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0xebe8b479 register_sysctl_mount_point +EXPORT_SYMBOL vmlinux 0xebf5e4c9 ps2_drain +EXPORT_SYMBOL vmlinux 0xec260fc1 touch_buffer +EXPORT_SYMBOL vmlinux 0xec2b8a42 acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0xec2e1c8f proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0xec4c1932 inet_stream_ops +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec563a87 csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0xec668d2e tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0xec77d42d mdio_driver_register +EXPORT_SYMBOL vmlinux 0xec78013a sock_no_accept +EXPORT_SYMBOL vmlinux 0xec7a36cb gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0xec800e11 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0xec828ee6 phy_drivers_register +EXPORT_SYMBOL vmlinux 0xecac8407 __memcpy +EXPORT_SYMBOL vmlinux 0xecb0ecb3 mipi_dsi_dcs_set_pixel_format +EXPORT_SYMBOL vmlinux 0xecb3aca2 cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0xecd10d61 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0xecdaa4c4 to_nd_pfn +EXPORT_SYMBOL vmlinux 0xecdcabd2 copy_user_generic_unrolled +EXPORT_SYMBOL vmlinux 0xece67b8a is_bad_inode +EXPORT_SYMBOL vmlinux 0xece784c2 rb_first +EXPORT_SYMBOL vmlinux 0xecfd68ef acpi_get_node +EXPORT_SYMBOL vmlinux 0xed00c4fb acpi_os_printf +EXPORT_SYMBOL vmlinux 0xed14288b inode_needs_sync +EXPORT_SYMBOL vmlinux 0xed238617 __put_cred +EXPORT_SYMBOL vmlinux 0xed34ebbc acpi_any_gpe_status_set +EXPORT_SYMBOL vmlinux 0xed55f929 acpi_os_unmap_generic_address +EXPORT_SYMBOL vmlinux 0xed656e30 udp_encap_disable +EXPORT_SYMBOL vmlinux 0xed9a87dd netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0xeda4730b scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0xedb5f702 vfs_iocb_iter_write +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedc15ca8 blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0xedc4170f mdiobus_is_registered_device +EXPORT_SYMBOL vmlinux 0xedcc01d5 set_binfmt +EXPORT_SYMBOL vmlinux 0xedd03922 input_set_keycode +EXPORT_SYMBOL vmlinux 0xedd17b31 sock_get_timeout +EXPORT_SYMBOL vmlinux 0xedd891f1 rtnl_notify +EXPORT_SYMBOL vmlinux 0xede977b5 ww_mutex_lock +EXPORT_SYMBOL vmlinux 0xedef08e6 __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0xedf4d030 vga_client_register +EXPORT_SYMBOL vmlinux 0xee031672 flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0xee0b36f4 iterate_fd +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee52dc65 d_obtain_alias +EXPORT_SYMBOL vmlinux 0xee57c8fa rproc_remove_subdev +EXPORT_SYMBOL vmlinux 0xee58e970 fb_add_videomode +EXPORT_SYMBOL vmlinux 0xee61d157 ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0xee7c0e0c security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xee7d7deb gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xee883b06 __vmalloc_array +EXPORT_SYMBOL vmlinux 0xee8c02e9 vprintk_emit +EXPORT_SYMBOL vmlinux 0xee8d74d6 jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0xee91879b rb_first_postorder +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xef04611f blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0xef0759b7 add_to_pipe +EXPORT_SYMBOL vmlinux 0xef43f9a9 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0xef4609af tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xef629d57 generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0xef6e90ca input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0xef9aedfc boot_option_idle_override +EXPORT_SYMBOL vmlinux 0xefaf2e4f tcf_queue_work +EXPORT_SYMBOL vmlinux 0xefbb2d42 rproc_free +EXPORT_SYMBOL vmlinux 0xefcea2e7 acpi_warning +EXPORT_SYMBOL vmlinux 0xefd51198 __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0xefe3f95a ___pskb_trim +EXPORT_SYMBOL vmlinux 0xefee932c acpi_get_data_full +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf0138073 ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0xf01aeda6 blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0xf02aa937 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xf03fbddf generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0xf054b670 d_alloc_anon +EXPORT_SYMBOL vmlinux 0xf0572b85 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xf05c32ad rdmsr_on_cpus +EXPORT_SYMBOL vmlinux 0xf05fcec1 kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0xf061b3bf skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0xf07529cd sock_recvmsg +EXPORT_SYMBOL vmlinux 0xf07b6d4e tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0xf07f8032 fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0xf083abd5 key_type_keyring +EXPORT_SYMBOL vmlinux 0xf09b5d9a get_zeroed_page +EXPORT_SYMBOL vmlinux 0xf0a71b1b revert_creds +EXPORT_SYMBOL vmlinux 0xf0ba224a vme_init_bridge +EXPORT_SYMBOL vmlinux 0xf0c0411b phy_start_aneg +EXPORT_SYMBOL vmlinux 0xf0c65d80 vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0xf0cf10a3 __mdiobus_write +EXPORT_SYMBOL vmlinux 0xf0da0777 may_umount_tree +EXPORT_SYMBOL vmlinux 0xf0e2c994 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xf0ffe3a2 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xf10fee98 jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0xf11dd46e _page_poisoning_enabled_early +EXPORT_SYMBOL vmlinux 0xf12ad983 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0xf1591de4 elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0xf159530b cros_ec_get_next_event +EXPORT_SYMBOL vmlinux 0xf18185f7 mipi_dsi_host_unregister +EXPORT_SYMBOL vmlinux 0xf1848ee2 acpi_install_sci_handler +EXPORT_SYMBOL vmlinux 0xf189b773 inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1969a8e __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xf19739a9 tcf_register_action +EXPORT_SYMBOL vmlinux 0xf19d0fb4 iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0xf1a65f7b zstd_reset_dstream +EXPORT_SYMBOL vmlinux 0xf1a68107 acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0xf1c0c8a2 is_nd_btt +EXPORT_SYMBOL vmlinux 0xf1c3753d bio_endio +EXPORT_SYMBOL vmlinux 0xf1d90ad7 pci_read_vpd +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e046cc panic +EXPORT_SYMBOL vmlinux 0xf1e91f96 generic_writepages +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf200be77 dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0xf202cde0 simple_lookup +EXPORT_SYMBOL vmlinux 0xf23acbe0 pin_user_pages +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf24fa3fd inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0xf25cbe14 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0xf25f9dcc dma_map_page_attrs +EXPORT_SYMBOL vmlinux 0xf2628676 zstd_compress_cctx +EXPORT_SYMBOL vmlinux 0xf26339ce phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0xf27dc428 clocksource_unregister +EXPORT_SYMBOL vmlinux 0xf28cf0ae __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf28ed6e2 machine_to_phys_nr +EXPORT_SYMBOL vmlinux 0xf29403e5 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xf29f8515 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0xf2b1c688 legacy_pic +EXPORT_SYMBOL vmlinux 0xf2b1eae2 cdev_set_parent +EXPORT_SYMBOL vmlinux 0xf2b5f99c jbd2_fc_get_buf +EXPORT_SYMBOL vmlinux 0xf2b81b64 arch_io_reserve_memtype_wc +EXPORT_SYMBOL vmlinux 0xf2c43f3f zlib_deflate +EXPORT_SYMBOL vmlinux 0xf2dcf2cc pcim_set_mwi +EXPORT_SYMBOL vmlinux 0xf2dfc7a4 fasync_helper +EXPORT_SYMBOL vmlinux 0xf2e5bd87 security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0xf2eda576 mmc_gpio_set_cd_wake +EXPORT_SYMBOL vmlinux 0xf2f1abe3 zero_fill_bio +EXPORT_SYMBOL vmlinux 0xf2f44fb7 regset_get +EXPORT_SYMBOL vmlinux 0xf2f53617 memregion_free +EXPORT_SYMBOL vmlinux 0xf306d562 mipi_dsi_dcs_set_column_address +EXPORT_SYMBOL vmlinux 0xf30965ac iosf_mbi_register_pmic_bus_access_notifier +EXPORT_SYMBOL vmlinux 0xf3107926 sha224_update +EXPORT_SYMBOL vmlinux 0xf32065a7 udp_gro_complete +EXPORT_SYMBOL vmlinux 0xf341ee35 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf34adb83 xen_free_unpopulated_pages +EXPORT_SYMBOL vmlinux 0xf353a698 register_module_notifier +EXPORT_SYMBOL vmlinux 0xf364fe8e blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0xf36f42a9 slhc_uncompress +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf3932313 mb_cache_entry_wait_unused +EXPORT_SYMBOL vmlinux 0xf3969a1d security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xf3a57892 release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xf3a73ff8 d_drop +EXPORT_SYMBOL vmlinux 0xf3bf1e0e __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0xf3c46ea0 vfs_fileattr_get +EXPORT_SYMBOL vmlinux 0xf3c60b14 fd_install +EXPORT_SYMBOL vmlinux 0xf3cc12e5 skb_copy_bits +EXPORT_SYMBOL vmlinux 0xf3cfab72 do_splice_direct +EXPORT_SYMBOL vmlinux 0xf3d4fd3c lookup_one_len +EXPORT_SYMBOL vmlinux 0xf3d63852 tty_register_driver +EXPORT_SYMBOL vmlinux 0xf3decd56 pci_reenable_device +EXPORT_SYMBOL vmlinux 0xf3e0e1df allocate_resource +EXPORT_SYMBOL vmlinux 0xf3e4750d vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xf3e65814 mmc_add_host +EXPORT_SYMBOL vmlinux 0xf3e8c614 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xf3fc8a70 ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0xf4016935 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xf4092089 __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0xf40c8cf9 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0xf42d7be9 dma_sync_single_for_device +EXPORT_SYMBOL vmlinux 0xf43d2caa acpi_remove_interface +EXPORT_SYMBOL vmlinux 0xf44a904a net_ns_barrier +EXPORT_SYMBOL vmlinux 0xf46c5abf blk_integrity_register +EXPORT_SYMBOL vmlinux 0xf474c21c bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0xf474fdcb kfree_const +EXPORT_SYMBOL vmlinux 0xf47a4500 skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0xf47c14ea mipi_dsi_dcs_nop +EXPORT_SYMBOL vmlinux 0xf49571c0 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0xf4a565fd wrmsr_on_cpus +EXPORT_SYMBOL vmlinux 0xf4b4a990 brioctl_set +EXPORT_SYMBOL vmlinux 0xf4b73a55 tcp_child_process +EXPORT_SYMBOL vmlinux 0xf4b754fd acpi_resources_are_enforced +EXPORT_SYMBOL vmlinux 0xf4cfcb7e input_get_keycode +EXPORT_SYMBOL vmlinux 0xf4d081a9 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0xf4d97514 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0xf4db35bc stpcpy +EXPORT_SYMBOL vmlinux 0xf4dd38cd blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0xf4e1972c inet_confirm_addr +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f46fc9 dm_unregister_target +EXPORT_SYMBOL vmlinux 0xf5369e45 vfs_mknod +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf540c10a arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0xf58265e2 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xf591753d nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xf5a20ed2 __genradix_prealloc +EXPORT_SYMBOL vmlinux 0xf5a5c84c msrs_alloc +EXPORT_SYMBOL vmlinux 0xf5a9d337 vme_lm_request +EXPORT_SYMBOL vmlinux 0xf5add0ae ns_capable_setid +EXPORT_SYMBOL vmlinux 0xf5c2f322 dup_iter +EXPORT_SYMBOL vmlinux 0xf5c92ed0 noop_fsync +EXPORT_SYMBOL vmlinux 0xf5cdabdd mipi_dsi_dcs_get_display_brightness +EXPORT_SYMBOL vmlinux 0xf5dcb02c blk_post_runtime_suspend +EXPORT_SYMBOL vmlinux 0xf5e7ea40 ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0xf6044fb4 inet_sk_set_state +EXPORT_SYMBOL vmlinux 0xf604a07c ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0xf60ab926 acpi_get_event_status +EXPORT_SYMBOL vmlinux 0xf60bec65 nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0xf6191af2 rproc_coredump_set_elf_info +EXPORT_SYMBOL vmlinux 0xf62dec14 mr_table_alloc +EXPORT_SYMBOL vmlinux 0xf643d104 hsiphash_4u32 +EXPORT_SYMBOL vmlinux 0xf665f74f sock_load_diag_module +EXPORT_SYMBOL vmlinux 0xf668bc39 iov_iter_discard +EXPORT_SYMBOL vmlinux 0xf67d349c zpool_register_driver +EXPORT_SYMBOL vmlinux 0xf68285c0 register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xf684528f nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0xf69783fc nd_device_notify +EXPORT_SYMBOL vmlinux 0xf6cc3fc0 genphy_check_and_restart_aneg +EXPORT_SYMBOL vmlinux 0xf6e7ce51 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6f28d29 folio_mapping +EXPORT_SYMBOL vmlinux 0xf6f73355 uart_add_one_port +EXPORT_SYMBOL vmlinux 0xf6f9d58d init_on_free +EXPORT_SYMBOL vmlinux 0xf6fc8791 __bitmap_xor +EXPORT_SYMBOL vmlinux 0xf704f6b5 configfs_undepend_item +EXPORT_SYMBOL vmlinux 0xf709cb89 kthread_stop +EXPORT_SYMBOL vmlinux 0xf711ef95 inode_insert5 +EXPORT_SYMBOL vmlinux 0xf7370f56 system_state +EXPORT_SYMBOL vmlinux 0xf738d1be register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xf7418d17 skb_eth_gso_segment +EXPORT_SYMBOL vmlinux 0xf74883e3 register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0xf758dfdf vfs_iter_read +EXPORT_SYMBOL vmlinux 0xf77337a1 hdmi_audio_infoframe_check +EXPORT_SYMBOL vmlinux 0xf7842cdc blk_finish_plug +EXPORT_SYMBOL vmlinux 0xf79ca3bb acpi_remove_gpe_block +EXPORT_SYMBOL vmlinux 0xf7a034f8 vfs_link +EXPORT_SYMBOL vmlinux 0xf7ae6bed __phy_write_mmd +EXPORT_SYMBOL vmlinux 0xf7bdd1ba pci_enable_ptm +EXPORT_SYMBOL vmlinux 0xf7be14e9 mount_bdev +EXPORT_SYMBOL vmlinux 0xf7d31de9 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0xf7da6e6f acpi_unload_table +EXPORT_SYMBOL vmlinux 0xf7e664f8 vlan_uses_dev +EXPORT_SYMBOL vmlinux 0xf7e7997d clk_get +EXPORT_SYMBOL vmlinux 0xf7ecc4cf __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0xf7ef9a79 iosf_mbi_punit_release +EXPORT_SYMBOL vmlinux 0xf7f5e3b6 folio_write_one +EXPORT_SYMBOL vmlinux 0xf804a82e tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xf80be44e rdmsr_safe_on_cpu +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf812cff6 memscan +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82ec573 rb_prev +EXPORT_SYMBOL vmlinux 0xf8441b03 elevator_alloc +EXPORT_SYMBOL vmlinux 0xf84ba5f7 file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0xf84bd6ee bpf_stats_enabled_key +EXPORT_SYMBOL vmlinux 0xf8536a8a fb_find_mode +EXPORT_SYMBOL vmlinux 0xf85f7e29 __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xf8663c9a mntget +EXPORT_SYMBOL vmlinux 0xf8725c30 skb_set_owner_w +EXPORT_SYMBOL vmlinux 0xf87d8b0b blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0xf888ca21 sg_init_table +EXPORT_SYMBOL vmlinux 0xf88d2849 netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0xf893e93e inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0xf8b652e0 amd_iommu_flush_tlb +EXPORT_SYMBOL vmlinux 0xf8cd850f device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0xf8d07858 bitmap_from_arr32 +EXPORT_SYMBOL vmlinux 0xf8d2bc2c zstd_find_frame_compressed_size +EXPORT_SYMBOL vmlinux 0xf8d3af97 tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0xf8e62d78 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0xf8f61ebc wake_up_var +EXPORT_SYMBOL vmlinux 0xf90a1e85 __x86_indirect_thunk_r8 +EXPORT_SYMBOL vmlinux 0xf91e6b6a __mmap_lock_do_trace_start_locking +EXPORT_SYMBOL vmlinux 0xf9256d28 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xf925de39 genphy_suspend +EXPORT_SYMBOL vmlinux 0xf93fd09c fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xf969e188 dma_fence_array_next +EXPORT_SYMBOL vmlinux 0xf9722676 twl_i2c_write +EXPORT_SYMBOL vmlinux 0xf97f2f0c inet_del_protocol +EXPORT_SYMBOL vmlinux 0xf9a26a03 devfreq_recommended_opp +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9b0a7aa napi_gro_frags +EXPORT_SYMBOL vmlinux 0xf9ba23bb iptun_encaps +EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat +EXPORT_SYMBOL vmlinux 0xf9ca2eb4 kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0xf9e28173 skb_ext_add +EXPORT_SYMBOL vmlinux 0xfa042227 gnet_stats_add_basic +EXPORT_SYMBOL vmlinux 0xfa07de03 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0xfa08c34a page_offline_end +EXPORT_SYMBOL vmlinux 0xfa09a3e0 dev_pm_opp_unregister_notifier +EXPORT_SYMBOL vmlinux 0xfa2060d9 security_sctp_assoc_established +EXPORT_SYMBOL vmlinux 0xfa297415 acpi_map_pxm_to_node +EXPORT_SYMBOL vmlinux 0xfa2e5f32 i2c_smbus_pec +EXPORT_SYMBOL vmlinux 0xfa3729be kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0xfa3a4023 device_get_mac_address +EXPORT_SYMBOL vmlinux 0xfa4a9ae8 phy_attached_info_irq +EXPORT_SYMBOL vmlinux 0xfa55b3ee kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0xfa599bb2 netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xfa63eba3 follow_down_one +EXPORT_SYMBOL vmlinux 0xfa6c80b7 jbd2_submit_inode_data +EXPORT_SYMBOL vmlinux 0xfa6ed034 vlan_for_each +EXPORT_SYMBOL vmlinux 0xfa761db5 ip_fraglist_init +EXPORT_SYMBOL vmlinux 0xfa77281a netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xfa8ab306 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0xfa92e835 ipmr_rule_default +EXPORT_SYMBOL vmlinux 0xfaa55726 icmp_ndo_send +EXPORT_SYMBOL vmlinux 0xfaaa12d0 _page_poisoning_enabled +EXPORT_SYMBOL vmlinux 0xfab25447 unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0xfab6a816 scsi_remove_device +EXPORT_SYMBOL vmlinux 0xfac19588 __clear_user +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfad0fbf2 tty_kref_put +EXPORT_SYMBOL vmlinux 0xfaddf5d9 _dev_emerg +EXPORT_SYMBOL vmlinux 0xfae9f88a serio_unregister_port +EXPORT_SYMBOL vmlinux 0xfaee86c9 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xfaf4a364 tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0xfaff0cef input_unregister_handle +EXPORT_SYMBOL vmlinux 0xfb137ec7 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0xfb2468e3 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0xfb2cf5e2 ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0xfb2d530f __kfree_skb +EXPORT_SYMBOL vmlinux 0xfb348fea fault_in_safe_writeable +EXPORT_SYMBOL vmlinux 0xfb384d37 kasprintf +EXPORT_SYMBOL vmlinux 0xfb38b09c __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0xfb38d84a netdev_offload_xstats_enabled +EXPORT_SYMBOL vmlinux 0xfb3e4389 ww_mutex_trylock +EXPORT_SYMBOL vmlinux 0xfb48f648 filemap_release_folio +EXPORT_SYMBOL vmlinux 0xfb578fc5 memset +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb762add dev_mc_flush +EXPORT_SYMBOL vmlinux 0xfb81a304 mipi_dsi_dcs_enter_sleep_mode +EXPORT_SYMBOL vmlinux 0xfb875636 acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0xfba7ddd2 match_u64 +EXPORT_SYMBOL vmlinux 0xfba8af87 __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0xfbaa7230 sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbab1bb1 ioread8_rep +EXPORT_SYMBOL vmlinux 0xfbad3cf0 scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0xfbb4db54 phy_connect_direct +EXPORT_SYMBOL vmlinux 0xfbb8a761 strscpy_pad +EXPORT_SYMBOL vmlinux 0xfbc4f89e io_schedule_timeout +EXPORT_SYMBOL vmlinux 0xfbd7882f fqdir_init +EXPORT_SYMBOL vmlinux 0xfbe099d5 kmem_cache_size +EXPORT_SYMBOL vmlinux 0xfbe8ee28 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0xfc069ec6 release_pages +EXPORT_SYMBOL vmlinux 0xfc2ea6e7 tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0xfc3080de start_tty +EXPORT_SYMBOL vmlinux 0xfc336d2e __wake_up_bit +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc3d53cb __put_user_nocheck_1 +EXPORT_SYMBOL vmlinux 0xfc4152fc ec_read +EXPORT_SYMBOL vmlinux 0xfc421e79 gnet_stats_add_queue +EXPORT_SYMBOL vmlinux 0xfc5faec1 cros_ec_get_host_event +EXPORT_SYMBOL vmlinux 0xfc6ee657 pldmfw_flash_image +EXPORT_SYMBOL vmlinux 0xfc7e21d0 __vfs_removexattr +EXPORT_SYMBOL vmlinux 0xfc83cfec scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0xfc85c861 d_splice_alias +EXPORT_SYMBOL vmlinux 0xfc883b88 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0xfc89874c ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0xfcc7fbf2 locks_copy_conflock +EXPORT_SYMBOL vmlinux 0xfcd1819a hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcf706e5 d_mark_dontcache +EXPORT_SYMBOL vmlinux 0xfd132e1c netdev_core_stats_alloc +EXPORT_SYMBOL vmlinux 0xfd205a2d cdev_init +EXPORT_SYMBOL vmlinux 0xfd286792 pci_find_capability +EXPORT_SYMBOL vmlinux 0xfd2d7a13 blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0xfd3793fd input_setup_polling +EXPORT_SYMBOL vmlinux 0xfd4cb24f param_ops_long +EXPORT_SYMBOL vmlinux 0xfd516abc unlock_rename +EXPORT_SYMBOL vmlinux 0xfd6f1006 km_policy_notify +EXPORT_SYMBOL vmlinux 0xfd70231d scsi_add_device +EXPORT_SYMBOL vmlinux 0xfd77490e acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0xfd93ee35 ioremap_wc +EXPORT_SYMBOL vmlinux 0xfd95bb71 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xfdb0e720 mmc_run_bkops +EXPORT_SYMBOL vmlinux 0xfdb47dfb dev_get_iflink +EXPORT_SYMBOL vmlinux 0xfdb6576f acpi_set_debugger_thread_id +EXPORT_SYMBOL vmlinux 0xfdc4cf0b address_space_init_once +EXPORT_SYMBOL vmlinux 0xfdcb4ed3 acpi_os_get_line +EXPORT_SYMBOL vmlinux 0xfdcc8a0e fb_find_best_display +EXPORT_SYMBOL vmlinux 0xfdd4216d pcibios_align_resource +EXPORT_SYMBOL vmlinux 0xfdd79d43 flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0xfdd9c32f configfs_unregister_group +EXPORT_SYMBOL vmlinux 0xfdfb792f amd_iommu_pc_supported +EXPORT_SYMBOL vmlinux 0xfe026a74 io_uring_get_socket +EXPORT_SYMBOL vmlinux 0xfe029963 unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xfe052363 ioread64_lo_hi +EXPORT_SYMBOL vmlinux 0xfe07a919 flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0xfe0edd20 pv_ops +EXPORT_SYMBOL vmlinux 0xfe192356 rproc_elf_load_rsc_table +EXPORT_SYMBOL vmlinux 0xfe1d2e94 key_create_or_update +EXPORT_SYMBOL vmlinux 0xfe35971d redraw_screen +EXPORT_SYMBOL vmlinux 0xfe3f8cd9 devfreq_monitor_stop +EXPORT_SYMBOL vmlinux 0xfe487975 init_wait_entry +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe7313ba input_grab_device +EXPORT_SYMBOL vmlinux 0xfe8c61f0 _raw_read_lock +EXPORT_SYMBOL vmlinux 0xfe916dc6 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0xfe9b1bad tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xfe9ebbbb acpi_osi_is_win8 +EXPORT_SYMBOL vmlinux 0xfeb5d0aa verify_spi_info +EXPORT_SYMBOL vmlinux 0xfebded7c vme_new_dma_list +EXPORT_SYMBOL vmlinux 0xfebe1cc6 __bio_advance +EXPORT_SYMBOL vmlinux 0xfedcdb60 seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfef216eb _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0xfefc8b77 twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0xfefcb98e vme_dma_vme_attribute +EXPORT_SYMBOL vmlinux 0xff0581b8 iov_iter_xarray +EXPORT_SYMBOL vmlinux 0xff05f394 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff282521 rfkill_register +EXPORT_SYMBOL vmlinux 0xff2b9dc2 devm_devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0xff383b18 dev_uc_add +EXPORT_SYMBOL vmlinux 0xff510060 dev_alloc_name +EXPORT_SYMBOL vmlinux 0xff52848a __SCT__tp_func_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xff5e1156 md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff68b294 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0xff70ac18 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0xff726cf4 agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0xff75207c page_get_link +EXPORT_SYMBOL vmlinux 0xff87cd18 lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0xff8d979a devm_of_iomap +EXPORT_SYMBOL vmlinux 0xff8dd9a0 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0xff985d22 mipi_dsi_dcs_set_page_address +EXPORT_SYMBOL vmlinux 0xffa13a2d do_SAK +EXPORT_SYMBOL vmlinux 0xffa86833 config_group_init +EXPORT_SYMBOL vmlinux 0xffb7c514 ida_free +EXPORT_SYMBOL vmlinux 0xffc30c3a acpi_processor_power_init_bm_check +EXPORT_SYMBOL vmlinux 0xffc4f200 zstd_compress_stream +EXPORT_SYMBOL vmlinux 0xffc761ab tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xffcc4ec7 tcp_bpf_bypass_getsockopt +EXPORT_SYMBOL vmlinux 0xffcd7f49 iosf_mbi_punit_acquire +EXPORT_SYMBOL vmlinux 0xffd2ca2c rproc_mem_entry_init +EXPORT_SYMBOL vmlinux 0xffd71b48 fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0xffd9205c nd_device_unregister +EXPORT_SYMBOL vmlinux 0xffeedf6a delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0xfffa4690 drm_firmware_drivers_only +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-aesni-avx-x86_64 0x2c8b5dbf camellia_ecb_enc_16way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-aesni-avx-x86_64 0x339c33c5 camellia_cbc_dec_16way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-aesni-avx-x86_64 0x8b44ee75 camellia_ecb_dec_16way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-x86_64 0x0b901549 camellia_dec_blk_2way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-x86_64 0x69f4ff25 __camellia_enc_blk_2way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-x86_64 0x8d725052 __camellia_setkey +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-x86_64 0x8d9b761c camellia_decrypt_cbc_2way +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-x86_64 0xfe729ed6 __camellia_enc_blk +EXPORT_SYMBOL_GPL arch/x86/crypto/camellia-x86_64 0xff09bd65 camellia_dec_blk +EXPORT_SYMBOL_GPL arch/x86/crypto/serpent-avx-x86_64 0x194b2841 serpent_ecb_enc_8way_avx +EXPORT_SYMBOL_GPL arch/x86/crypto/serpent-avx-x86_64 0x38800636 serpent_cbc_dec_8way_avx +EXPORT_SYMBOL_GPL arch/x86/crypto/serpent-avx-x86_64 0x4140192a serpent_ecb_dec_8way_avx +EXPORT_SYMBOL_GPL arch/x86/crypto/sm4-aesni-avx-x86_64 0x29ad6065 sm4_cbc_encrypt +EXPORT_SYMBOL_GPL arch/x86/crypto/sm4-aesni-avx-x86_64 0x82e3afcc sm4_cfb_encrypt +EXPORT_SYMBOL_GPL arch/x86/crypto/sm4-aesni-avx-x86_64 0x92ea4352 sm4_avx_ctr_crypt +EXPORT_SYMBOL_GPL arch/x86/crypto/sm4-aesni-avx-x86_64 0x9d60934b sm4_avx_cbc_decrypt +EXPORT_SYMBOL_GPL arch/x86/crypto/sm4-aesni-avx-x86_64 0xad0a89a3 sm4_avx_ecb_encrypt +EXPORT_SYMBOL_GPL arch/x86/crypto/sm4-aesni-avx-x86_64 0xb2628c1f sm4_avx_cfb_decrypt +EXPORT_SYMBOL_GPL arch/x86/crypto/sm4-aesni-avx-x86_64 0xb9d055bd sm4_avx_ecb_decrypt +EXPORT_SYMBOL_GPL arch/x86/crypto/twofish-x86_64 0x1f491d36 twofish_dec_blk +EXPORT_SYMBOL_GPL arch/x86/crypto/twofish-x86_64 0x7c7bf6e0 twofish_enc_blk +EXPORT_SYMBOL_GPL arch/x86/crypto/twofish-x86_64-3way 0x92a51c43 twofish_dec_blk_cbc_3way +EXPORT_SYMBOL_GPL arch/x86/crypto/twofish-x86_64-3way 0xb4e98a46 twofish_dec_blk_3way +EXPORT_SYMBOL_GPL arch/x86/crypto/twofish-x86_64-3way 0xe4ae7508 __twofish_enc_blk_3way +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x00500aa2 kvm_arch_no_poll +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x006e4e4c kvm_set_or_clear_apicv_inhibit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x009e0a42 kvm_vcpu_map +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x00a7caf7 kvm_pmu_trigger_event +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x011ff531 kvm_read_guest_offset_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x015ac8d6 kvm_queue_exception_p +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x023e1e63 kvm_io_bus_get_dev +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x02f8ac72 __tracepoint_kvm_avic_incomplete_ipi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x039b27ae kvm_set_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x04e60bf7 __SCK__tp_func_kvm_entry +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x053614ec kvm_set_user_return_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x06cdc8d1 kvm_configure_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x06d8ad3e kvm_clear_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x06e7e1fe kvm_apic_match_dest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x07148bad __SCK__tp_func_kvm_invlpga +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x087a9cb7 kvm_vcpu_gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x08d1a2d8 kvm_set_cr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x093ada00 kvm_set_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x09987170 __tracepoint_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0a5d4788 gfn_to_pfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0b41b8ab kvm_emulate_instruction_from_buffer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0b58a11d kvm_nr_uret_msrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0b6440f2 kvm_emulate_halt_noskip +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0b6d9511 kvm_emulate_rdpmc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0b811d72 kvm_arch_unregister_noncoherent_dma +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0b8a3365 __traceiter_kvm_invlpga +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0ca8df68 __traceiter_kvm_vmgexit_msr_protocol_enter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0cbb0616 __SCK__tp_func_kvm_write_tsc_offset +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0cf6ba6a kvm_vcpu_gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0cff45f4 __SCT__tp_func_kvm_vmgexit_msr_protocol_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0d74e063 kvm_set_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0d8f4740 kvm_mce_cap_supported +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0eb8bd6f kvm_apic_send_ipi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x0f2c26da mark_page_dirty_in_slot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x114eb824 __traceiter_kvm_nested_vmexit_inject +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1181edea __SCK__tp_func_kvm_nested_vmrun +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1235000a kvm_tsc_scaling_ratio_frac_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x12ec2b2e kvm_find_cpuid_entry +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x130fd155 supported_xss +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x132f0fc5 kvm_deliver_exception_payload +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1412f042 __traceiter_kvm_ple_window_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x142198a4 __tracepoint_kvm_nested_intr_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x159b8d5e host_efer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x164ff11a kvm_emulate_rdmsr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1726e436 __SCK__tp_func_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x17f9cfe3 __traceiter_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x18351ee9 __tracepoint_kvm_invlpga +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x197c2cec kvm_arch_has_assigned_device +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x19f3bc6f kvm_hv_assist_page_enabled +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1a159e2d kvm_task_switch +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1af2c952 __kvm_prepare_emulation_failure_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1affa376 kvm_mmu_invlpg +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1b045cc1 kvm_apic_update_irr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1cf65ffc kvm_max_guest_tsc_khz +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1d013832 kvm_enable_efer_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1d1b139a __SCT__tp_func_kvm_avic_ga_log +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x1db1c372 enable_vmware_backdoor +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x21a3c84d kvm_emulate_wrmsr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x223d4bab kvm_requeue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x22425240 kvm_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x23263c0a __traceiter_kvm_nested_vmenter_failed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x24d1ce3e kvm_emulate_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2510fc6d __SCT__tp_func_kvm_nested_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x252adc51 __tracepoint_kvm_skinit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x25c07225 __traceiter_kvm_vmgexit_msr_protocol_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x26271262 __tracepoint_kvm_nested_intercepts +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x26d4bb26 kvm_cpu_caps +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x26e45973 kvm_init_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x275349e9 kvm_sev_es_mmio_read +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x28411ed7 kvm_max_tsc_scaling_ratio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x287d6594 kvm_handle_memory_failure +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x28c2af80 __SCK__tp_func_kvm_avic_kick_vcpu_slowpath +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x28f32ec3 __tracepoint_kvm_avic_kick_vcpu_slowpath +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x294043bf kvm_vcpu_unmap +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2a111fd3 kvm_is_visible_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2a191c03 kvm_release_page_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2d82cc24 kvm_spec_ctrl_test_value +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2dbdfc6f __tracepoint_kvm_vmgexit_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x2eb4b666 kvm_emulate_xsetbv +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x307a3c58 __tracepoint_kvm_nested_vmenter_failed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x308f20e7 kvm_read_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x30d3215f kvm_load_host_xsave_state +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x30e3eede kvm_is_linear_rip +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x31dfc542 kvm_get_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x32ddc94f kvm_vcpu_reset +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x341fd190 kvm_sev_es_mmio_write +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3459dcff kvm_read_l1_tsc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x35494ae7 kvm_vcpu_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x369ae04c __traceiter_kvm_vmgexit_enter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3788ab84 kvm_get_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x37a5a880 kvm_vcpu_read_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x388e0e10 __SCT__tp_func_kvm_pi_irte_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x397bb83c kvm_lapic_expired_hv_timer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x39e9ac8c kvm_get_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x39fcefa0 kvm_flush_remote_tlbs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x39fd83db halt_poll_ns_shrink +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3a12797d kvm_handle_invpcid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3a3b4ea9 kvm_requeue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3a6b0cab kvm_emulate_invd +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3ab2794c kvm_find_user_return_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3b446802 kvm_emulate_wbinvd +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3ce2dcad kvm_vcpu_wake_up +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3d93fb92 __traceiter_kvm_apicv_accept_irq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3e083a91 file_is_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3f31b0fb kvm_inject_pending_timer_irqs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x3f510ff5 kvm_has_noapic_vcpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x403f91f5 kvm_prepare_emulation_failure_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x41a672e0 kvm_wait_lapic_expire +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4201b9ef kvm_apic_clear_irr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x42a53463 __SCK__tp_func_kvm_fast_mmio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x433d670c kvm_io_bus_write +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x43d7486b kvm_set_rflags +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x449f4dd0 __traceiter_kvm_vmgexit_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x45bc7ca2 kvm_sev_es_string_io +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x45e80fdf __traceiter_kvm_pi_irte_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4733bf8c __traceiter_kvm_avic_kick_vcpu_slowpath +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x47bf0e0a kvm_vcpu_read_guest_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x48644036 __SCT__tp_func_kvm_vmgexit_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4942be67 __SCT__tp_func_kvm_avic_incomplete_ipi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4948cfad hv_remote_flush_tlb +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4950b51b kvm_require_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x49b1358e reprogram_counter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4a1c261b __SCT__tp_func_kvm_invlpga +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4a3b98a5 __SCK__tp_func_kvm_avic_incomplete_ipi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4a42f9aa kvm_set_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4aba1bc7 kvm_valid_efer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4c7bd244 kvm_get_kvm_safe +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4e3fd1b4 kvm_release_pfn_clean +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x4e8e5d1a __tracepoint_kvm_avic_ga_log +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x501dfecf kvm_emulate_as_nop +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x50ce6388 kvm_make_all_cpus_request +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x512d4546 gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x52905854 __SCK__tp_func_kvm_nested_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5382a53f __SCK__tp_func_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x53d9f927 __SCT__kvm_x86_get_cs_db_l_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x53ed02e9 kvm_hv_get_assist_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x55507fe2 kvm_gfn_to_pfn_cache_check +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x55e7b99e kvm_mmu_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x56d5c688 __tracepoint_kvm_fast_mmio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x58a97136 kvm_queue_exception +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x59387ba3 __SCT__kvm_x86_cache_reg +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x59a4765f mark_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x59e640c0 halt_poll_ns +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5bf7cde0 kvm_mmu_set_ept_masks +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5c11e105 __traceiter_kvm_write_tsc_offset +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5c5f3f31 kvm_require_cpl +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5c7e9f84 __SCT__tp_func_kvm_apicv_accept_irq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5c8a428f __tracepoint_kvm_ple_window_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5d996b31 kvm_set_cpu_caps +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5e2102f2 kvm_put_kvm_no_destroy +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5f911332 __SCT__tp_func_kvm_avic_kick_vcpu_slowpath +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x5fb8848b halt_poll_ns_grow_start +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x612e5c1c kvm_vcpu_is_visible_gfn +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x616e6c95 __SCT__tp_func_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x61ff44a1 kvm_emulate_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6243ac82 __kvm_apic_update_irr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6303c089 kvm_calc_nested_tsc_offset +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x63270977 kvm_default_tsc_scaling_ratio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x63496e21 kvm_gfn_to_pfn_cache_refresh +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x63a8be59 kvm_gpc_deactivate +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x644eee3d __tracepoint_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x64ace5f3 reprogram_fixed_counter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x65230403 __SCK__tp_func_kvm_nested_intr_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x65f4da2d kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x666340f7 __tracepoint_kvm_vmgexit_msr_protocol_enter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x66f883ed kvm_apic_update_apicv +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x67544a0a gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6756347e __traceiter_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x67b164fb kvm_arch_end_assignment +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x67f9da5e __SCK__tp_func_kvm_vmgexit_msr_protocol_enter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6892e3c3 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x68b12602 __traceiter_kvm_entry +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x690ad040 hv_track_root_tdp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6a6378b8 kvm_get_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6ada8f59 kvm_mmu_set_mmio_spte_mask +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6bc6b70a kvm_get_running_vcpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6becaded __SCT__tp_func_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6c45b7a4 kvm_skip_emulated_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6c95726c host_xss +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6e2dd98d __SCK__tp_func_kvm_vmgexit_enter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x6f0bf8ca kvm_inject_emulated_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x70288943 __SCT__tp_func_kvm_nested_vmrun +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x703683be kvm_emulate_hypercall +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x709cd8cb kvm_spurious_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x70f699a6 kvm_emulate_ap_reset_hold +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7101f308 kvm_init_shadow_npt_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7198e6eb kvm_put_kvm +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7263ae77 __traceiter_kvm_nested_vmrun +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x73bb94de kvm_handle_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x73ef6cee __tracepoint_kvm_write_tsc_offset +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x752c2b00 __traceiter_kvm_fast_mmio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x778e30b9 __SCT__tp_func_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7833784d kvm_write_guest_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x797f0ab8 kvm_read_guest_virt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x79df9f55 kvm_vcpu_update_apicv +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7a3020a9 __SCK__kvm_x86_get_cs_db_l_bits +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7a3ac216 kvm_vcpu_apicv_activated +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7adab0cf kvm_get_apic_mode +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7afe324e halt_poll_ns_grow +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7b7a2815 kvm_get_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7c899706 kvm_mmu_new_pgd +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7c94c99a kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7db612bb kvm_set_cr3 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7fe19488 kvm_add_user_return_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x7ff2a104 __SCT__tp_func_kvm_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x82fca82e kvm_page_track_unregister_notifier +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x854d9656 kvm_cpuid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x87f694a9 kvm_handle_invalid_op +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x886942d7 kvm_vcpu_gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8a65b6a9 kvm_arch_start_assignment +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8a7fe54a __SCT__tp_func_kvm_vmgexit_enter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8a99fe9f __tracepoint_kvm_apicv_accept_irq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8b618aa6 __SCT__tp_func_kvm_nested_vmexit_inject +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8b6b66b0 kvm_lapic_set_eoi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8b8a1dd4 kvm_slot_page_track_add_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8c6834ec kvm_release_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x8f7897ce __kvm_is_valid_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x904df13e kvm_get_linear_rip +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x912a9286 __traceiter_kvm_nested_intr_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x92e19ce1 __SCK__tp_func_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x936d8ec5 kvm_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x93a3e40e __SCT__tp_func_kvm_ple_window_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x944882ed kvm_has_bus_lock_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x953e3c26 __SCK__tp_func_kvm_nested_intercepts +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x95522115 kvm_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x96395ad3 gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9672e502 gfn_to_hva +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x97ba55c3 kvm_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x98fba4cf kvm_apic_write_nodecode +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9bbd0ebc kvm_gfn_to_pfn_cache_unmap +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9ccac935 __SCK__tp_func_kvm_vmgexit_msr_protocol_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9cf59e7a allow_smaller_maxphyaddr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9d91a129 kvm_vcpu_write_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9e20b2bc __traceiter_kvm_avic_incomplete_ipi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9e6aa0eb kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9eb601dc kvm_vcpu_kick +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9ed76e28 kvm_apic_set_eoi_accelerated +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0x9f68faa3 __traceiter_kvm_avic_unaccelerated_access +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa0557af1 kvm_vcpu_gfn_to_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa066a0ae reprogram_gp_counter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa0b7f07d __SCK__tp_func_kvm_avic_ga_log +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa1c4231f kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa35e9e20 __tracepoint_kvm_pi_irte_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa5494793 hv_remote_flush_tlb_with_range +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa588ef67 __SCT__tp_func_kvm_nested_intercepts +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa63eb0a5 kvm_mmu_gva_to_gpa_read +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa65f1dc7 __SCK__tp_func_kvm_nested_vmexit_inject +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa66f1c8a __tracepoint_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa6a50230 __traceiter_kvm_nested_intercepts +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa7022320 __traceiter_kvm_avic_ga_log +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa80595a6 __traceiter_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa84a2e73 __SCT__tp_func_kvm_write_tsc_offset +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa9721b9c kvm_vcpu_is_reset_bsp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xa9c03cc2 kvm_post_set_cr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaa6a09c7 __SCK__tp_func_kvm_pi_irte_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaa982659 __SCK__tp_func_kvm_cr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xaa9a1652 kvm_lapic_find_highest_irr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb1bfd184 kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb1c3748d __SCK__tp_func_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb2007e45 __tracepoint_kvm_avic_unaccelerated_access +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb231ca09 kvm_apic_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb242e3ca kvm_mtrr_get_guest_memory_type +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb2d4d237 kvm_lmsw +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb2f556f1 kvm_arch_register_noncoherent_dma +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb332b817 gfn_to_hva_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb431f746 __kvm_request_immediate_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb50eb9f5 kvm_vcpu_mark_page_dirty +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb717a166 kvm_vcpu_deliver_sipi_vector +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb738b9ae kvm_queue_exception_e +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb82c0987 enable_pmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb8464fd3 kvm_cpu_get_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb85556f1 __x86_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb8fea06a kvm_irq_has_notifier +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xb96e9aa1 __traceiter_kvm_skinit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xba719a01 gfn_to_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbd9d6dfc kvm_mmu_set_me_spte_mask +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbea09984 __tracepoint_kvm_nested_vmexit_inject +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbeaa8ba1 __tracepoint_kvm_pml_full +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbefd7a1f kvm_write_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xbf832d37 kvm_inject_page_fault +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc06dd091 __tracepoint_kvm_inj_virq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc071e99f __SCT__tp_func_kvm_entry +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc19a1bba kvm_arch_has_noncoherent_dma +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc219d36d kvm_mmu_free_guest_mode_roots +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc2b920bc __tracepoint_kvm_nested_vmrun +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc35a0db7 load_pdptrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc3b956f3 kvm_set_dr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc492e581 kvm_cpu_has_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc60d7d0c __traceiter_kvm_pml_full +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc680bda8 __tracepoint_kvm_entry +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc7612d98 kvm_update_cpuid_runtime +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc7d59784 handle_ud +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc96d35f4 report_ignored_msrs +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xc9ec092f kvm_mmu_gva_to_gpa_write +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcc210548 x86_decode_emulated_instruction +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcc34f82e kvm_service_local_tlb_flush_requests +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcdbb177d __gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcddde892 kvm_write_guest_offset_cached +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xce576a13 enable_apicv +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcf042fbd __SCK__tp_func_kvm_pml_full +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcf142f1e gfn_to_pfn_prot +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xcf658286 kvm_apicv_activated +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd0459e67 kvm_has_tsc_control +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd04b9458 __tracepoint_kvm_nested_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd09da48b __SCT__tp_func_kvm_nested_intr_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd0f004da __tracepoint_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd268a39b kvm_gpc_init +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd3872aa1 kvm_inject_realmode_interrupt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd4fdb058 vcpu_put +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd7701bea kvm_fixup_and_inject_pf_error +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xd9d828e7 vcpu_load +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xda148538 __SCK__kvm_x86_cache_reg +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdba2ce5b kvm_emulate_monitor +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdc7369fe __traceiter_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdcb60d3f kvm_mtrr_valid +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdd216674 __tracepoint_kvm_vmgexit_msr_protocol_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdd549dd4 kvm_complete_insn_gp +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xde3cf682 __SCK__tp_func_kvm_skinit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdfb7d3f6 __SCK__tp_func_kvm_nested_vmenter_failed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xdfb92da0 kvm_set_msr_common +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe08d66c1 __traceiter_kvm_exit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe0a27b22 kvm_emulate_mwait +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe0e786a7 __SCT__tp_func_kvm_skinit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe11e767a handle_fastpath_set_msr_irqoff +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe140622f kvm_init_shadow_ept_mmu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe1d231bc kvm_fast_pio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe1d25080 kvm_scale_tsc +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe2519d9f kvm_vcpu_read_guest_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe34fced1 kvm_emulate_halt +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe3521168 kvm_mmu_reset_context +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe375592f kvm_inject_nmi +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe53ed8c1 kvm_get_cr8 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe55d312c kvm_can_use_hv_timer +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe55ed296 kvm_destroy_vcpus +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe5b9ff25 kvm_msr_allowed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe6d36d32 kvm_apic_update_ppr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe7777457 kvm_cpu_has_injectable_intr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe81995bc kvm_load_guest_xsave_state +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe93dfc8c __SCT__tp_func_kvm_nested_vmenter_failed +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe9674a16 supported_xcr0 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xe983d6cf kvm_page_track_register_notifier +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xea1814cd gfn_to_pfn_memslot_atomic +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xea5cda33 __SCT__tp_func_kvm_fast_mmio +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xea79cc57 kvm_slot_page_track_remove_page +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xeb183fc0 kvm_post_set_cr4 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xecb2cec3 kvm_update_dr7 +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xecf61581 __tracepoint_kvm_vmgexit_enter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xeedc8d43 kvm_write_guest_virt_system +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xef14fd98 kvm_calc_nested_tsc_multiplier +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xef936ccb __SCK__tp_func_kvm_ple_window_update +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf084b57d __SCT__tp_func_kvm_msr +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf22809fa kvm_lapic_hv_timer_in_use +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf2df48f3 __SCT__tp_func_kvm_pml_full +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf32dff97 __SCT__tp_func_kvm_avic_unaccelerated_access +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf3ebd104 __SCK__tp_func_kvm_avic_unaccelerated_access +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf40e317f kvm_intr_is_single_vcpu +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf54e2886 __SCT__tp_func_kvm_vmgexit_msr_protocol_enter +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf5ae01a0 __kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf5cd9467 __SCK__tp_func_kvm_apicv_accept_irq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xf77bf5a8 kvm_gpc_activate +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfa717bd2 kvm_get_apic_base +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfab33e4c enable_mmio_caching +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfcd4829b kvm_vcpu_write_guest +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfce2ce72 kvm_mmu_free_roots +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfd9a49a9 kvm_set_msi_irq +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfdae18d0 kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfe16822e kvm_debugfs_dir +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfe68825d __traceiter_kvm_nested_vmexit +EXPORT_SYMBOL_GPL arch/x86/kvm/kvm 0xfe853139 __SCK__tp_func_kvm_vmgexit_exit +EXPORT_SYMBOL_GPL crypto/af_alg 0x1cba93d1 af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x1efeb053 af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x2508a11d af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0x451db879 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x4efc72ea af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x5bdebf48 af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0x66232100 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x710695c0 af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x7485a85e af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0x88f9b00a af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/af_alg 0x98d3194b af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0xaa4f5532 af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0xb353acf9 af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0xb44e1727 af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0xc9b5ecb3 af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0xd7f883dd af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0xdf87a7a5 af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xedf5a3ae af_alg_register_type +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x9dd676a6 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x9c963763 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xe10bec83 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x26ed3d75 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xac8e05c0 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x21f3b0ca async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x2d605d8a async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x9ddebdbd __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xe0fcb404 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x1e430b0f async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x7a679e33 async_xor_offs +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x8aaa30e3 async_xor_val_offs +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xa117a5ee async_xor +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0xd5caaa92 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xe2f9d5e2 cast5_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xef81a4af __cast5_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x003b9cce cast6_setkey +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x3dbae082 __cast6_decrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0xcfce512f __cast6_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0xd76a5716 __cast6_setkey +EXPORT_SYMBOL_GPL crypto/cast_common 0x5609ce41 cast_s2 +EXPORT_SYMBOL_GPL crypto/cast_common 0x5b17be06 cast_s4 +EXPORT_SYMBOL_GPL crypto/cast_common 0xb9cba57f cast_s3 +EXPORT_SYMBOL_GPL crypto/cast_common 0xbd3e7542 cast_s1 +EXPORT_SYMBOL_GPL crypto/cryptd 0x21065ecc cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x34b6ca87 cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x39c14d51 cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x407bc845 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x7568cc61 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xa5f23322 cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xb9d2fc57 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xbfecb543 cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0xca311ca3 cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0xd5acc3ef cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xe61f60fe cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xe925fdf4 cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xe9cae540 cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x0401c1db crypto_transfer_kpp_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x18d1fae1 crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x21862ea3 crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x22244923 crypto_finalize_hash_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x2396ea1a crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x2df800ca crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x397dbd89 crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x863d3cfa crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x9afa404b crypto_finalize_kpp_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xb661ada4 crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xbe5e133f crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xd34865fa crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xd47e26ab crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xe6300c89 crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xfdded766 crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x29ecbb87 simd_register_aeads_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x46dd1ec3 simd_unregister_aeads +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x46e0ca63 simd_unregister_skciphers +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x4c2c7aec simd_register_skciphers_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x504cb053 simd_aead_create_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x66983e96 simd_skcipher_create +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x851c747c simd_aead_create +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x88638552 simd_skcipher_create_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xbfd26f15 simd_aead_free +EXPORT_SYMBOL_GPL crypto/crypto_simd 0xefe73979 simd_skcipher_free +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x33b866ce crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7475be8e crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0xb230d2ec crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x0c733734 serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x4eb4c55e __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xbcc074f3 __serpent_decrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xd4c9681a __serpent_setkey +EXPORT_SYMBOL_GPL crypto/sm3 0xa98edad1 sm3_update +EXPORT_SYMBOL_GPL crypto/sm3 0xf04338f9 sm3_final +EXPORT_SYMBOL_GPL crypto/sm3_generic 0x0bddca87 sm3_zero_message_hash +EXPORT_SYMBOL_GPL crypto/sm4 0x24e254e8 sm4_expandkey +EXPORT_SYMBOL_GPL crypto/sm4 0xfa81970e sm4_crypt_block +EXPORT_SYMBOL_GPL crypto/twofish_common 0xa5628746 twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe22b7787 __twofish_setkey +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x070b5c6d synth_add +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x1e39eb14 synth_putws +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x3e639956 spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x43dfb735 spk_do_catch_up_unicode +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x466f5eb7 synth_putwc +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x4975fa9e spk_var_store +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x5c4df688 spk_var_show +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x6fb20a1b spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x76d40046 synth_buffer_skip_nonlatin1 +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7ee7ae55 spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x84dad068 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x858ae1fe spk_ttyio_synth_immediate +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x8763fd16 spk_ttyio_ops +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x8c82dfca synth_request_region +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x8fe0db01 synth_putwc_s +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x99335346 synth_current +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xaadb0612 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xb734cb9d speakup_event +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xc236d71e spk_ttyio_synth_probe +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xc319c604 synth_putws_s +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xc6a06d16 spk_get_var +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xcc6f8518 synth_remove +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xd36c10c1 spk_synth_get_index +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xd3f440cb spk_synth_flush +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xd786094d spk_ttyio_release +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xd8fd86cf synth_release_region +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xd93829dd speakup_info +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xe194d0ef synth_printf +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x0755815e acpi_nfit_init +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x2e80d662 acpi_nfit_ctl +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x4639bcda acpi_nfit_shutdown +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x499bbf57 nfit_get_smbios_id +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x948bcc13 acpi_nfit_desc_init +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0xea1971e1 __acpi_nvdimm_notify +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0xf489a276 __acpi_nfit_notify +EXPORT_SYMBOL_GPL drivers/acpi/platform_profile 0x67927a0d platform_profile_notify +EXPORT_SYMBOL_GPL drivers/acpi/platform_profile 0xbfe36436 platform_profile_remove +EXPORT_SYMBOL_GPL drivers/acpi/platform_profile 0xcac33cd4 platform_profile_register +EXPORT_SYMBOL_GPL drivers/acpi/sbshc 0x1c8984c7 acpi_smbus_unregister_callback +EXPORT_SYMBOL_GPL drivers/acpi/sbshc 0x4f6c2360 acpi_smbus_read +EXPORT_SYMBOL_GPL drivers/acpi/sbshc 0x87bd07bd acpi_smbus_register_callback +EXPORT_SYMBOL_GPL drivers/acpi/sbshc 0x96eb492d acpi_smbus_write +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x048bfe99 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x07fd93e9 ahci_shost_groups +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x2f469f08 ahci_do_hardreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x486b8bca ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x4ec13647 ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x535a1900 ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x640915ac ahci_sdev_groups +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x6c52f55d ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x6ce379e1 ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x7212afaf ahci_handle_port_intr +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x7611d8e2 ahci_start_fis_rx +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8a6e3c21 ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x9900de36 ahci_port_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa1f70e3d ahci_qc_issue +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa826b2c1 ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xaaeba72e ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xad18a973 ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb2b6bd7f ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xc7e2721f ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xe458a642 ahci_host_activate +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xe9e9865f ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf2a2de95 ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf4b88dfd ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xf930c43f ahci_error_handler +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x176b8d65 ahci_platform_suspend +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x240eab44 ahci_platform_disable_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x2a9bf11f ahci_platform_suspend_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x3af3af35 ahci_platform_get_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x6033fcaa ahci_platform_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x78521425 ahci_platform_enable_regulators +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x908cd9d5 ahci_platform_resume_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xab56a770 ahci_platform_disable_clks +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xb5f5e5e1 ahci_platform_enable_clks +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xb9a31281 ahci_platform_init_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xc53de27b ahci_platform_disable_regulators +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xcdd8cc5b ahci_platform_disable_phys +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xd37b8eca ahci_platform_enable_phys +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xe4ac4523 ahci_platform_shutdown +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xefdcbb21 ahci_platform_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xf60ae9b4 ahci_platform_enable_resources +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x9f4cd1de __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x02ff9464 cfag12864b_isinited +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x0ecb2e5d cfag12864b_disable +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x305dc3c6 cfag12864b_isenabled +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x3389f926 cfag12864b_enable +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0x9522a342 cfag12864b_getrate +EXPORT_SYMBOL_GPL drivers/auxdisplay/cfag12864b 0xc48e9d95 cfag12864b_buffer +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x09917359 charlcd_poke +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x6fd9cc4a charlcd_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x8b45326c charlcd_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xd3e29970 charlcd_backlight +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xf3304696 charlcd_free +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xf883c540 charlcd_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x07b26ecc hd44780_common_gotoxy +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x1aa688fd hd44780_common_lines +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x23159a5b hd44780_common_clear_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x30e85287 hd44780_common_shift_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x36dc00a2 hd44780_common_print +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x3c4c183f hd44780_common_home +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x489c89e8 hd44780_common_redefine_char +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x64415593 hd44780_common_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x79e8e259 hd44780_common_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x8585e5fd hd44780_common_blink +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x8d4f3fa4 hd44780_common_init_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0xa22afdaa hd44780_common_cursor +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0xc369090d hd44780_common_shift_cursor +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0xf360d788 hd44780_common_fontsize +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x14102f23 ks0108_displaystate +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x48a70518 ks0108_writedata +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x4f506333 ks0108_startline +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x6edae968 ks0108_isinited +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xbf4774db ks0108_writecontrol +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xedde6df2 ks0108_page +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xfee8ef7b ks0108_address +EXPORT_SYMBOL_GPL drivers/auxdisplay/line-display 0x2fa5089f linedisp_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/line-display 0x68a9c1ac linedisp_unregister +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-i3c 0xec9bc4e9 __devm_regmap_init_i3c +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x6274e6b1 __devm_regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0xf4265e40 __regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0xc2ebc0a3 __regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0xd2fd725d __devm_regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw-mbq 0x13016ad8 __devm_regmap_init_sdw_mbq +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw-mbq 0xb24d8481 __regmap_init_sdw_mbq +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x04c00c6f __regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0xe690a88d __devm_regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spi-avmm 0x0776b2d9 __devm_regmap_init_spi_avmm +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spi-avmm 0xac1a3909 __regmap_init_spi_avmm +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x1b30b18e __regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x5b386814 __devm_regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xd78c7a2a __devm_regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xeb8459a0 __regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x92bdd9ff __regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0xd9ec9126 __devm_regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x0464d3b4 bcma_host_pci_up +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x126319ad bcma_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1cf9a456 bcma_chipco_b_mii_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x2b078d66 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x2ee59d41 bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3da1b291 bcma_chipco_gpio_outen +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x58bdb8e4 bcma_core_pci_power_save +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x63a1eda3 bcma_chipco_get_alp_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6c4f84ad bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6d085cee bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7594304f bcma_chipco_gpio_out +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x761cf3f7 bcma_chipco_pll_read +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x881b2042 bcma_host_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x9ae485ee bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa40b32d9 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xaa122697 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xac156393 bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xada2b8f6 bcma_pmu_get_bus_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xadd56149 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc8e83a49 bcma_find_core_unit +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe527d4e0 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xef4bf0bf bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf23f7d58 bcma_host_pci_down +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf6d9d880 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x18287505 btbcm_finalize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x23e3e113 btbcm_write_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x2cf29101 btbcm_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x688e882a btbcm_setup_apple +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x714e1fed btbcm_read_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xdaa9c4a5 btbcm_setup_patchram +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xdb95b15a btbcm_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xf83bf757 btbcm_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x028af802 btintel_set_event_mask_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x18b25c07 btintel_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x2a19a9e9 btintel_configure_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x2e64d0ed btintel_exit_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x4642222f btintel_regmap_init +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x5be98ca7 btintel_set_quality_report +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7ee17b16 btintel_set_diag +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x91577f34 btintel_send_intel_reset +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x9e911cd2 btintel_bootup +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x9e9ed5dd btintel_read_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xade6d669 btintel_enter_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xb934ee20 btintel_read_boot_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xcde40bb0 btintel_load_ddc_config +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xd037c7f9 btintel_secure_send_result +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xe367d10c btintel_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xe69e5c8f btintel_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xf0a527ac btintel_version_info +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x08e638d3 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x0d204608 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x2526cede btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x3f5c12d4 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x66faae90 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x87ec36d2 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x8de714db btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xbf5b4c4b btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xc95cbc4c btmrvl_pscan_window_reporting +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd41b4cc6 btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xf755cd37 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x00ba0305 btmtk_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x4c60d050 btmtk_setup_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x55950838 btmtk_setup_firmware_79xx +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x24a2668c qca_send_pre_shutdown_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x7b1c99c6 qca_set_bdaddr_rome +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x96d7d25b qca_read_soc_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xc6ca1595 qca_uart_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xdc7bba13 qca_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x091de2cf btrtl_set_quirks +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x2e7c78b8 btrtl_shutdown_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x6a8655dc btrtl_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x879f5e4c btrtl_get_uart_settings +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x95061e47 btrtl_setup_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xaf78f260 btrtl_free +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xf6dc48da btrtl_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x1293f25b h4_recv_buf +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x375890d1 hci_uart_register_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xb7dc39a5 hci_uart_tx_wakeup +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xbeb3e6e7 hci_uart_unregister_device +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x2350135c mhi_ep_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x277eaa44 mhi_ep_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x283b1d14 mhi_ep_queue_is_empty +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x321deefa mhi_ep_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x3552a378 mhi_ep_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x362f9ac5 __mhi_ep_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xe9605e8a mhi_ep_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xfb214ab9 mhi_ep_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x007a7622 mhi_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x0c0f3858 mhi_unprepare_from_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x1ed600fe mhi_get_mhi_state +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x1f656c0d mhi_pm_suspend +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x24e2198b mhi_get_free_desc_count +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x254fb8b7 mhi_device_get +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x271cef23 mhi_pm_resume_force +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x37f00598 mhi_prepare_for_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x3dfa10ad mhi_poll +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x3e4a85c9 mhi_queue_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x42190d68 mhi_unprepare_after_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x461168e4 mhi_device_get_sync +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x62105a06 mhi_force_rddm_mode +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x8867bb53 mhi_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x951193d9 mhi_queue_dma +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xa3727008 mhi_soc_reset +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xa7756131 mhi_notify +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xaebb1e0b mhi_queue_is_full +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xbe1aa554 mhi_get_exec_env +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xbf55a875 mhi_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xc8f7dc4e mhi_free_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xd4775985 mhi_device_put +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xd545031b mhi_pm_resume +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xdafbb7c7 mhi_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xe34b90cc mhi_async_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xe4d25c6a mhi_prepare_for_transfer_autoqueue +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xe65036bd mhi_alloc_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xebf1f440 mhi_prepare_for_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xf0425d3f __mhi_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xf6df4220 mhi_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xf7931ec9 mhi_download_rddm_image +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x071b753a comedi_buf_write_samples +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x0a0a1e3b comedi_buf_write_alloc +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x1f820066 comedi_dio_insn_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x21102f87 range_0_32mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x25508fb1 comedi_bytes_per_scan +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2d961e82 comedi_set_spriv_auto_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x337eaf59 comedi_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x34e9a48d comedi_handle_events +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x3d6e4993 comedi_event +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4236eaaf range_4_20mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x44c055f3 comedi_alloc_subdevices +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x45bf3563 __comedi_request_region +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x58130eae comedi_buf_write_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x678434a4 comedi_dev_put +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x762f7d0e comedi_nscans_left +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x8857ebfc comedi_alloc_devpriv +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x95686a95 comedi_buf_read_samples +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x97fa3e54 comedi_alloc_spriv +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x9f751baa comedi_set_hw_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x9fbab766 comedi_nsamples_left +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xaf71b2d8 comedi_is_subdevice_running +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xb3a3974b comedi_inc_scan_progress +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xb3d6309a comedi_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xb679cebc range_0_20mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xb8ca2ec8 comedi_request_region +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xbdbe75c6 range_unipolar2_5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xc4f09dd3 comedi_alloc_subdev_readback +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xc7501476 comedi_buf_read_alloc +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xc8888dd4 comedi_dio_update_state +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xc8aee0a9 comedi_legacy_detach +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xd3617069 comedi_load_firmware +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xd426690c comedi_timeout +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xd51fd05b comedi_buf_read_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xd570cf8a comedi_check_chanlist +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xd671efcd comedi_readback_insn_read +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xdf14349b comedi_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xe8c9938d comedi_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xf6a874fe comedi_buf_read_n_available +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xf9630103 comedi_bytes_per_scan_cmd +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xfbb14c23 comedi_dev_get_from_minor +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x086f449b comedi_pci_disable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x29ad8500 comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x2e33d0b4 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x46596f49 comedi_pci_detach +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x8cc2dae6 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0xe63b425f comedi_pci_enable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0xe7ec342f comedi_to_pci_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0xfbbe9300 comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pcmcia 0x108855f8 comedi_pcmcia_disable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pcmcia 0x164133d7 comedi_to_pcmcia_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pcmcia 0x5cdedf44 comedi_pcmcia_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pcmcia 0x61e6f185 comedi_pcmcia_enable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pcmcia 0x9750bd53 comedi_pcmcia_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pcmcia 0x97b5708a comedi_pcmcia_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pcmcia 0xc621833a comedi_pcmcia_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x6315b8bc comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x640f6957 comedi_to_usb_interface +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x86b46f56 comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x9a62dec9 comedi_to_usb_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0xd4e3815c comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0xfef97879 comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/drivers/addi_watchdog 0x4e42ad9e addi_watchdog_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/addi_watchdog 0x79f4a6cf addi_watchdog_reset +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_dio200_common 0x21bb62f9 amplc_dio200_set_enhance +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_dio200_common 0xe13b6c4d amplc_dio200_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_pc236_common 0x94975783 amplc_pc236_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x0d80c884 comedi_8254_subdevice_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x22be4336 comedi_8254_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x2daaa1d4 comedi_8254_set_busy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x362baf5d comedi_8254_pacer_enable +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x4036319c comedi_8254_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x45825972 comedi_8254_ns_to_timer +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x68e3c902 comedi_8254_update_divisors +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x6a06750b comedi_8254_mm_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x7be1224c comedi_8254_set_mode +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x94275538 comedi_8254_cascade_ns_to_timer +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xa2622450 comedi_8254_status +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xa2c920f0 comedi_8254_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xe2415ff0 comedi_8254_load +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0x478ac636 subdev_8255_mm_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0x4cb8d52f subdev_8255_regbase +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0xfba39665 subdev_8255_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0x0231abc5 comedi_isadma_free +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0x12fba874 comedi_isadma_disable +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0x29699e7c comedi_isadma_alloc +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0x4a17474e comedi_isadma_disable_on_sample +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0xca784d4b comedi_isadma_set_mode +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0xea878430 comedi_isadma_program +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0xf5af7809 comedi_isadma_poll +EXPORT_SYMBOL_GPL drivers/comedi/drivers/das08 0x37ddba0a das08_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x14d0741c mite_sync_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x1d062da7 mite_request_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x249df399 mite_ack_linkc +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x3a479de7 mite_dma_arm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x4646b689 mite_dma_disarm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x489a44fc mite_buf_change +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x4e782ca9 mite_detach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x6b4d2559 mite_request_channel_in_range +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x6c080c70 mite_init_ring_descriptors +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x6c677dbb mite_release_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x7db1ad21 mite_alloc_ring +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x91832086 mite_done +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x9e89ac20 mite_prep_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xdb8cd7cf mite_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xf148970e mite_bytes_in_transit +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xfd8c28b8 mite_free_ring +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_common 0x312c6b2f labpc_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_common 0x791beadd labpc_common_detach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_isadma 0x2010c00e labpc_handle_dma_status +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_isadma 0x34bb214d labpc_init_dma_chan +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_isadma 0x3e3e4862 labpc_free_dma_chan +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_isadma 0x54e99a79 labpc_drain_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_isadma 0x886d5765 labpc_setup_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x076bc308 ni_find_route_source +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x0921123e ni_lookup_route_register +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x1facf7f8 ni_is_cmd_dest +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x64443d67 ni_get_valid_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x6c18c54e ni_count_valid_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x85e75c94 ni_assign_device_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x863a306d ni_sort_device_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x8ab47ba4 ni_route_set_has_source +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x8f0f0901 ni_find_route_set +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0xb3e302a3 ni_route_to_register +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x08a941b8 ni_tio_set_gate_src_raw +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x22e20272 ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x23ad5831 ni_tio_arm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x3b8a7f82 ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x48636488 ni_tio_insn_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x5693b006 ni_tio_get_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x63bc55a5 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x71b2cb28 ni_tio_unset_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x7a5ec847 ni_tio_insn_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x86fdc3d9 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xa44c8203 ni_tio_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xa8746fe0 ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xed58323c ni_tio_set_bits +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xee6aab65 ni_tio_get_soft_copy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xf1df06ee ni_tio_set_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xfa69aedd ni_tio_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x53724097 ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x5b305aa2 ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x6c2a3ebb ni_tio_acknowledge +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x9d11ddb2 ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0xd14baf25 ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0xe01ccf87 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x4a9c1a97 comedi_dio_get_config +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x790ea92b comedi_dio_bitfield2 +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x7cdcfc35 comedi_dio_config +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x8c18f9d6 comedi_find_subdevice_by_type +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0xdbd815b1 comedi_close +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0xfc59db3c comedi_get_n_channels +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0xfd0fe938 comedi_open +EXPORT_SYMBOL_GPL drivers/counter/counter 0x323b3b48 devm_counter_alloc +EXPORT_SYMBOL_GPL drivers/counter/counter 0x95eb9c50 counter_priv +EXPORT_SYMBOL_GPL drivers/counter/counter 0xaa1a370a counter_put +EXPORT_SYMBOL_GPL drivers/counter/counter 0xb6ab7a70 counter_alloc +EXPORT_SYMBOL_GPL drivers/counter/counter 0xbee106c4 counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0xc33fb93e counter_add +EXPORT_SYMBOL_GPL drivers/counter/counter 0xf844b01e devm_counter_add +EXPORT_SYMBOL_GPL drivers/counter/counter 0xfafb7ee7 counter_push_event +EXPORT_SYMBOL_GPL drivers/cpufreq/speedstep-lib 0x1b1f2bda speedstep_get_freqs +EXPORT_SYMBOL_GPL drivers/cpufreq/speedstep-lib 0x2b67f096 speedstep_get_frequency +EXPORT_SYMBOL_GPL drivers/cpufreq/speedstep-lib 0xd7ab2c0c speedstep_detect_processor +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x04773b60 ccp_present +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x2e6a6147 psp_copy_user_blob +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x3a1a3979 ccp_version +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x3e059f28 sev_guest_activate +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x4073e924 sev_guest_deactivate +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x55612bf6 sev_issue_cmd_external_user +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x843d6541 sev_guest_decommission +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x8fac14a2 sev_guest_df_flush +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x91722dce sev_platform_status +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0xd02e197f sev_platform_init +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0xe82f9908 ccp_enqueue_cmd +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x02a2e53b adf_dev_get +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x04245d83 adf_pfvf_comms_disabled +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x04db58c8 adf_reset_flr +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x0b313aac adf_gen4_set_ssm_wdtimer +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x12edbb56 adf_vf2pf_notify_init +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x185be54d adf_gen4_init_pf_pfvf_ops +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x2658c59f adf_dev_stop +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x275a3b51 adf_gen2_get_num_aes +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x2893b366 adf_gen2_enable_error_correction +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x2be4e269 adf_gen2_get_arb_info +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x33a2d0e2 adf_vf_isr_resource_alloc +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x3ac51457 adf_exit_admin_comms +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x3e707f37 adf_gen2_get_admin_info +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x442c8a2e adf_init_arb +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x4470d527 adf_init_etr_data +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x4c2e5985 adf_dev_init +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x51475967 adf_gen2_cfg_iov_thds +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x518fc358 adf_cleanup_etr_data +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x55947dd6 adf_err_handler +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x61b8776c adf_disable_pf2vf_interrupts +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x655b5f8e adf_cfg_get_param_value +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x655e7a4b adf_disable_sriov +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x671d26ec adf_gen2_init_pf_pfvf_ops +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x69ae1747 adf_gen4_handle_pm_interrupt +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x6f341573 adf_reset_sbr +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x6f574e80 adf_gen2_init_vf_pfvf_ops +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x6f58f63f adf_cfg_section_add +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x7477f90d adf_gen2_set_ssm_wdtimer +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x7c4bc7c1 adf_cfg_add_key_value_param +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x7d151e28 adf_gen2_get_accel_cap +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x9431f53a adf_vf2pf_notify_shutdown +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x9a532a1e adf_sriov_configure +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x9c2c2de8 adf_disable_aer +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0x9c90ccd0 adf_gen4_enable_pm +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xa29bde9e adf_enable_pf2vf_comms +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xa6c71793 adf_cfg_dev_remove +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xac2648b4 adf_devmgr_add_dev +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xadeb1f5c adf_dev_started +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xae11c2c8 adf_init_admin_pm +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xb0dcea3c adf_flush_vf_wq +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xb1975ef4 adf_enable_vf2pf_comms +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xb3553245 adf_isr_resource_alloc +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xb529a045 adf_dev_start +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xb62de98a adf_send_admin_init +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xb98b7d45 adf_devmgr_pci_to_accel_dev +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xbc2f6ca6 adf_isr_resource_free +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xc394253b adf_gen2_enable_ints +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xc501ac82 adf_gen4_init_hw_csr_ops +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xc7efb48f adf_dev_in_use +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xcab366b6 adf_dev_shutdown +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xcc3b167a adf_clean_vf_map +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xd41e124b adf_devmgr_update_class_index +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xd5324192 adf_enable_aer +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xd64519f1 adf_gen2_init_hw_csr_ops +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xdc4ce98a adf_gen4_ring_pair_reset +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xdd5afadd adf_gen2_get_num_accels +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xe9054b78 adf_exit_arb +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xebac7162 adf_vf_isr_resource_free +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xefee51a0 adf_devmgr_rm_dev +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xf13aba36 adf_devmgr_in_reset +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xf3933f1a adf_init_admin_comms +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xf890b787 qat_crypto_dev_config +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xff2d8d72 adf_cfg_dev_add +EXPORT_SYMBOL_GPL drivers/crypto/qat/qat_common/intel_qat 0xffe0d699 adf_dev_put +EXPORT_SYMBOL_GPL drivers/dax/device_dax 0x17e90094 dev_dax_probe +EXPORT_SYMBOL_GPL drivers/dca/dca 0x01a33ab9 dca_unregister_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0x303f2b1d alloc_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x5b139e87 dca_remove_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0x5c11a0c3 unregister_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x66b310a3 register_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0x85614f48 dca_add_requester +EXPORT_SYMBOL_GPL drivers/dca/dca 0xaa634427 dca_get_tag +EXPORT_SYMBOL_GPL drivers/dca/dca 0xac308314 free_dca_provider +EXPORT_SYMBOL_GPL drivers/dca/dca 0xac34ecec dca_register_notify +EXPORT_SYMBOL_GPL drivers/dca/dca 0xfb562646 dca3_get_tag +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x5e096420 dw_edma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0xc2eb5485 dw_edma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x3cc0234d dw_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x4fe2e1e8 idma32_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x7112cce4 idma32_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x7b8f5df6 dw_dma_filter +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x9aad9db9 dw_dma_acpi_controller_register +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xba966cd1 do_dw_dma_enable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xd36e6d18 dw_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xe36bbac7 do_dw_dma_disable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xf0f25d4a dw_dma_acpi_controller_free +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x4f26f3b7 hidma_mgmt_setup +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x82f5cd2e hidma_mgmt_init_sys +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x0be1a4d8 amd_unregister_ecc_decoder +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x1d34e996 pp_msgs +EXPORT_SYMBOL_GPL drivers/edac/edac_mce_amd 0x8592d892 amd_register_ecc_decoder +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xa6768751 fw_card_read_cycle_time +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xabb5547d fw_request_get_timestamp +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xe86fb5c7 fw_card_release +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x01f304d6 cs_dsp_coeff_write_ctrl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x04b434ce cs_dsp_adsp1_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x04de13ad cs_dsp_read_data_word +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x144d6986 cs_dsp_mem_region_name +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x3ffa7373 cs_dsp_read_raw_data_block +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x4bb5ae44 cs_dsp_stop +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x4e5562f8 cs_dsp_remove_padding +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x55ac3323 cs_dsp_adsp2_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x595cff43 cs_dsp_coeff_read_ctrl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x59943c62 cs_dsp_find_alg_region +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x63acb9ee cs_dsp_power_down +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x676ffd43 cs_dsp_cleanup_debugfs +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x6b574606 cs_dsp_adsp1_power_down +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7d2f95d7 cs_dsp_adsp2_bus_error +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7e6ac459 cs_dsp_set_dspclk +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xa3c76221 cs_dsp_adsp1_power_up +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xacb63314 cs_dsp_write_data_word +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xace2c0b5 cs_dsp_init_debugfs +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xb21da54a cs_dsp_remove +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xb83f884b cs_dsp_halo_bus_error +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xbb9127af cs_dsp_power_up +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xbdf55ca0 cs_dsp_halo_wdt_expire +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xc102d86e cs_dsp_halo_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xc2ae8383 cs_dsp_run +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xd3acdb00 cs_dsp_coeff_write_acked_control +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xf89aa093 cs_dsp_get_ctl +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0xd3f2f6c0 alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x05e54337 dfl_fpga_cdev_config_ports_pf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x0b80d296 __dfl_fpga_cdev_find_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x0e7016e5 dfl_fpga_cdev_config_ports_vf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x196c979a dfl_fpga_cdev_assign_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x28293202 dfl_fpga_dev_ops_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x4843847e dfl_fpga_enum_info_add_irq +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x6aafd0ec dfl_fpga_check_port_id +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x6ce921dd dfl_fpga_cdev_release_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x76a8685f dfl_feature_ioctl_set_irq +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x86fd56dd dfl_fpga_dev_ops_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x957d4dc0 dfl_feature_ioctl_get_num_irqs +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x9c55bf77 dfl_fpga_dev_feature_uinit +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x9cf8164f dfl_fpga_feature_devs_enumerate +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xa141e950 dfl_fpga_port_ops_get +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xa305c796 dfl_fpga_set_irq_triggers +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xa5bf8b4e dfl_fpga_feature_devs_remove +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xaad572f8 dfl_fpga_enum_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xb337034a dfl_fpga_port_ops_put +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xbc14a882 dfl_fpga_enum_info_add_dfl +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xc808a265 dfl_fpga_port_ops_del +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xed8fe9d6 dfl_fpga_dev_feature_init +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xee811ff7 dfl_fpga_enum_info_free +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xf101954b dfl_fpga_port_ops_add +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0633c4b9 fpga_bridges_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x06c3ded5 of_fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0b2b884c fpga_bridges_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x297e30b8 of_fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2c8167cf fpga_bridges_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x3157f7df fpga_bridge_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x36dfce13 fpga_bridge_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x44feaa36 fpga_bridge_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x824be865 fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xc2038520 fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xeac4078d fpga_bridge_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xf8dfe983 fpga_bridge_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x02b81501 fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x148b9a93 fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x53d6e976 fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x593a7578 of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x5fd96a79 devm_fpga_mgr_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x6104d59d fpga_mgr_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7a743dc5 fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x8fa497e2 fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xa47804e2 devm_fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xa9e45262 fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xb15bc2a5 fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xb4bd005d fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xd10eb5c4 fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x1aeee702 fpga_region_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x3bcc5028 fpga_region_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x842a29cf fpga_region_program_fpga +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x8a59d3bc fpga_region_class_find +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xcb87c9ab fpga_region_register +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x09a9ccf0 gnss_allocate_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x382203f8 gnss_register_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x39a7d078 gnss_deregister_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xac8f525b gnss_put_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xf2a0bd16 gnss_insert_raw +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x0c1b2958 gnss_serial_deregister +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x0f7fdfa6 gnss_serial_pm_ops +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x5b1325fd gnss_serial_register +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x6a46b8bd gnss_serial_free +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x6eb0e904 gnss_serial_allocate +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x85fef70b __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xd38316e0 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x176c2305 analogix_dp_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x21ea289b analogix_dp_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x3cbcbcd9 analogix_dp_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x3ee0dd60 anx_dp_aux_transfer +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x6f57647b analogix_dp_stop_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x72398427 analogix_dp_start_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xc2e36d64 analogix_dp_suspend +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xea1cc828 analogix_dp_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xeebc4817 analogix_dp_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_display_helper 0x9f055a5a drm_hdcp_check_ksvs_revoked +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x0419f983 drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2e5289fe drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x318dfca7 drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x3e383036 drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x66cf2f64 drm_display_mode_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x68c78448 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x71c48bee drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xaa1670a4 drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xad764710 drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xad885165 drm_bus_flags_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xaf294a0c drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb35179ab drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xbc03da92 drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd05e2d5a drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf6081a15 drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xfe9f72f3 drm_display_mode_to_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x112d441f drm_gem_cma_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x91ba9931 drm_fb_cma_get_gem_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x9862815d drm_gem_cma_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xa51cdef0 drm_gem_cma_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xa947efdf drm_gem_cma_free +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xae0b22fd drm_gem_cma_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xd0573261 drm_fb_cma_get_gem_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xd730bf00 drm_fb_cma_sync_non_coherent +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xd9a9f026 drm_gem_cma_vmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xe56d6053 drm_gem_cma_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xf4999b54 drm_gem_cma_dumb_create_internal +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xf9407fbd drm_gem_cma_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x06626e06 drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x10561b7b drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x5cbe07d5 drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x61500b60 drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x6b915e65 drm_bridge_connector_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x73e28944 drm_gem_plane_helper_prepare_fb +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x7c44bbfe drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x8787eb7b drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xa9b80232 drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xde5772b4 drm_gem_fb_create_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x2e1c4c57 drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x334c21a6 drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x469e9c2f drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x712c50b8 drm_gem_shmem_free +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x7dc5346e drm_gem_shmem_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x8458ee8f drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xafd98cea drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xc8f84467 drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0x05876c69 i915_gpu_busy +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0x08a7896d i915_gpu_raise +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0x402468e9 i915_gpu_lower +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0x500858b9 i915_read_mch_val +EXPORT_SYMBOL_GPL drivers/gpu/drm/i915/i915 0xe7237b0b i915_gpu_turbo_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0x2f53b61d ssd130x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0xd049d3a3 ssd130x_shutdown +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0xd0b914c2 ssd130x_remove +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x010a9c72 __SCK__tp_func_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x01b0ef87 gb_operation_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x01c1ef14 gb_connection_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0cb21ace __traceiter_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x10d1b03e __SCT__tp_func_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x13a912a2 gb_connection_create_offloaded +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x15d1942f greybus_disabled +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x165f8c6d gb_hd_shutdown +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2a1f8c83 greybus_deregister_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2c1144c0 greybus_message_sent +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2f0f6828 gb_hd_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3b731ce6 __traceiter_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3f7d3820 gb_operation_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x4247f379 __traceiter_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x451dadb6 __traceiter_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x47442a09 greybus_register_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x4dffbd40 __tracepoint_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x50aea173 gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x56e76c31 __SCK__tp_func_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x608a2e78 __traceiter_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x611a4918 gb_operation_unidirectional_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x627a3de8 gb_connection_disable_rx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x63c1eae0 gb_operation_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x65e3721b __SCK__tp_func_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x75cb3f2b gb_operation_cancel +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x78ed22f5 gb_operation_response_alloc +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x78fedb98 __SCT__tp_func_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7bc55b13 __tracepoint_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x85004b1e __tracepoint_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x86d1bc46 gb_connection_destroy +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x94958f93 __traceiter_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x9a14d190 greybus_data_rcvd +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x9f040e58 gb_operation_get_payload_size_max +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x9f097cc3 gb_operation_request_send_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa2a7e41b __SCK__tp_func_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa8227c3c __SCK__tp_func_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa8c0b8d7 gb_connection_latency_tag_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xabf6eecb gb_operation_result +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xadd7926d __SCT__tp_func_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xae557b53 __tracepoint_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xae877457 __SCT__tp_func_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xafb5dddd gb_hd_cport_release_reserved +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb991cb50 gb_operation_request_send +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xbe93d208 gb_connection_disable_forced +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xbfb52284 __SCT__tp_func_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc0a6f706 gb_connection_enable_tx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc3df3665 gb_interface_request_mode_switch +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc68e6240 gb_hd_output +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xcc44a9dc gb_operation_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xce1bbbe3 gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd416a389 gb_connection_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd421c135 gb_connection_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd4e1f859 gb_connection_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd6b058c2 __tracepoint_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xdb5e9984 gb_connection_latency_tag_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xde8f5e88 __SCK__tp_func_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe335abdc gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe6b45fb6 __SCT__tp_func_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xed16410e gb_debugfs_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xef5c8aef __tracepoint_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf32d331f gb_hd_cport_reserve +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf87b3c84 gb_svc_intf_set_power_mode +EXPORT_SYMBOL_GPL drivers/hid/hid 0x011e51af hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x04cc2300 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x07bd4a7c hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x092a2ea5 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0ba36537 hid_hw_open +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19d52f1f hid_quirks_exit +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1edd70cb hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x22557f09 hid_hw_stop +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2b13519d hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2ddd80be hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x48ffafe6 __hid_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4ca5caba hid_alloc_report_buf +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4f0933e4 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x50895eb4 hid_driver_resume +EXPORT_SYMBOL_GPL drivers/hid/hid 0x53f662a2 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x54148ea7 hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x572da3a5 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5f889fff hid_hw_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x60398524 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x63a4c6c6 hid_match_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x66c11ba5 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6a2e8397 hid_hw_close +EXPORT_SYMBOL_GPL drivers/hid/hid 0x71c7d6fd hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7bcada69 hid_dump_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x811f79c6 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8ab7699a hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8b13a8b8 hid_snto32 +EXPORT_SYMBOL_GPL drivers/hid/hid 0x92bcc1d1 hid_hw_raw_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9e3964ef hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9ef746be hid_hw_start +EXPORT_SYMBOL_GPL drivers/hid/hid 0xacd8fe01 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb0cc0ef4 hid_driver_reset_resume +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb2c54ba1 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb2f13c52 hid_driver_suspend +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb5ea1524 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbecbbb46 hid_field_extract +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc048eca0 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc3398030 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcdec9613 hid_validate_values +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd3638e52 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd4363358 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd776cc1e hid_compare_device_paths +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe1e4faa8 hid_setup_resolution_multiplier +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe40c9f5a hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe62fd8cc hid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/hid 0xef511686 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf3143aed hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf837dc67 hid_hw_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf9a3c382 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa355613 hid_quirks_init +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfd5beb8f hid_ignore +EXPORT_SYMBOL_GPL drivers/hid/hid 0xffcb99ef hidinput_calc_abs_res +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x3e4427c8 roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x866ad928 roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x66086a5f roccat_common2_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x7520c58a roccat_common2_send_with_status +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xb5a37b6f roccat_common2_sysfs_write +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xb792f2d1 roccat_common2_device_init_struct +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xcf99f3a3 roccat_common2_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xd5e9f339 roccat_common2_sysfs_read +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x18059dfc sensor_hub_register_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x40ec7525 sensor_hub_input_get_attribute_info +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x4177abf3 hid_sensor_get_usage_index +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x601e8aee sensor_hub_get_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x89a7f719 sensor_hub_device_close +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x92c2896b sensor_hub_input_attr_get_raw_value +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xa01bb72e sensor_hub_device_open +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xd472ecd0 sensor_hub_set_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xf89b2ae5 sensor_hub_remove_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-vivaldi-common 0x052837c7 vivaldi_feature_mapping +EXPORT_SYMBOL_GPL drivers/hid/hid-vivaldi-common 0xe422a572 vivaldi_input_configured +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x459e72b2 i2c_hid_ll_driver +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x461769bd i2c_hid_core_shutdown +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x6b7251c3 i2c_hid_core_remove +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x968e7ff0 i2c_hid_core_pm +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0xa7b22f1b i2c_hid_core_probe +EXPORT_SYMBOL_GPL drivers/hid/intel-ish-hid/intel-ishtp 0xe9a563a6 ishtp_wait_resume +EXPORT_SYMBOL_GPL drivers/hid/surface-hid/surface_hid_core 0x1a9c9262 surface_hid_pm_ops +EXPORT_SYMBOL_GPL drivers/hid/surface-hid/surface_hid_core 0x4074a8a3 surface_hid_device_add +EXPORT_SYMBOL_GPL drivers/hid/surface-hid/surface_hid_core 0x5556f328 surface_hid_device_destroy +EXPORT_SYMBOL_GPL drivers/hid/uhid 0xb23c8a4b uhid_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x0a5bf13d hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x6e77c89a usb_hid_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x12899675 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x2c1e9a9a hsi_port_unregister_clients +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x328925b7 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x4333d5cd hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x4f2ee6c1 hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6729f6ec hsi_new_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x70aa0e0d hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7d8475ac hsi_get_channel_id_by_name +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7d938a4a hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x916483a7 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x9e572c44 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xd9388efa hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe7526e98 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xed76905f hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xf0e8d3f1 hsi_remove_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xf532c7cf hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xfd37d98f hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x01866228 vmbus_next_request_id +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x084e089c vmbus_connection +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x1d7ec463 vmbus_setevent +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x27a42aab vmbus_set_sc_create_callback +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x2be03eaa vmbus_connect_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x2fb2e4fe vmbus_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x31e2e77f vmbus_free_mmio +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x321055cb vmbus_prep_negotiate_resp +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x41af7f0c vmbus_teardown_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x46a417ca vmbus_proto_version +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x4b2210b8 vmbus_send_tl_connect_request +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x579d5730 hv_pkt_iter_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x58017358 vmbus_alloc_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x674e657e hv_ringbuffer_get_debuginfo +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x6e342fc6 vmbus_open +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x74c8c13a vmbus_set_event +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x7baada13 vmbus_send_modifychannel +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x817d0982 vmbus_driver_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x88cad39a vmbus_recvpacket_raw +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x8c192942 hv_pkt_iter_first +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x8d4eb143 vmbus_sendpacket_pagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x9409f40a __vmbus_request_addr_match +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x95a3ff33 vmbus_allocate_mmio +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x9964bb98 vmbus_sendpacket_mpb_desc +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xa32002f8 vmbus_hvsock_device_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xa5e2a93d vmbus_establish_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xa8868522 vmbus_free_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xb10fecad hv_ringbuffer_spinlock_busy +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xb3724025 __vmbus_driver_register +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xb53da3ab __hv_pkt_iter_next +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc0dfaf78 vmbus_request_addr_match +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xda80d03a vmbus_set_chn_rescind_callback +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xf9388ef4 vmbus_disconnect_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xff0caf23 vmbus_request_addr +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x108f1941 adt7x10_dev_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x911d2838 adt7x10_probe +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x5cbb5274 ltc2947_core_probe +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0xbc54f93e ltc2947_of_match +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0xe5169919 ltc2947_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x022dbb62 nct6775_update_device +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x09229c58 nct6775_show_alarm +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x75e7957a nct6775_probe +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xa560f84f nct6775_store_beep +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xc4fb62f3 nct6775_show_beep +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xfe34a418 nct6775_reg_is_word_sized +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x0e423972 intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x320d87ed intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x447d6a65 intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x4b9a4e91 intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x5b22cf41 intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7321bbaa intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x94728a51 intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xe1d1efe4 intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xf41dabce intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x15e8170e intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x49aba3a9 intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0xd760066a intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x064c517e stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x077d86d1 stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x0ddc63dd stm_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x547579b5 stm_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x583c3ff2 stm_data_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xd3dc916b stm_source_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xf3d450d9 to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xfa8fb90f stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xfe9e6489 stm_source_write +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x06cc8441 amd_mp2_find_device +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x0eb18c62 amd_mp2_bus_enable_set +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x30b29aa6 amd_mp2_unregister_cb +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x34f99991 amd_mp2_rw_timeout +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0x35a14497 amd_mp2_process_event +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0xa0c01939 amd_mp2_register_cb +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-amd-mp2-pci 0xd6f3a8f2 amd_mp2_rw +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-ccgx-ucsi 0x6002b977 i2c_new_ccgx_ucsi +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-nforce2 0x3af7aa11 nforce2_smbus +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x0c72ac22 i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x41c4e4a3 i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x5f4197fa i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x7bc6fe34 i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x7bd65751 i2c_register_spd +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x8d24099b i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x0400c47e i3c_device_free_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x06a55610 i3c_generic_ibi_recycle_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x21cb63bb i3c_master_disec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x247c0655 i3c_master_do_daa +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x3281a7f9 i3c_generic_ibi_alloc_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x33fbf234 i3c_device_disable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x36bb1a59 i3c_driver_register_with_owner +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x42bce12d i3c_master_entdaa_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x4512ca91 i3c_master_get_free_addr +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x4a81a235 i3c_device_match_id +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x59c6e6e1 i3c_master_enec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x5e48cbcc i3c_master_set_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x63b7f9dd i3cdev_to_dev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x6553021a i3c_device_get_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x683f33cd i3c_master_defslvs_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x68f7331c i3c_driver_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x76fe3e05 i3c_generic_ibi_free_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7ce1042a i3c_master_register +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x88c717b1 i3c_generic_ibi_get_free_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x8c73f89b i3c_device_do_priv_xfers +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xb6714dcc dev_to_i3cdev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xcca99894 i3c_device_enable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe02aaa97 i3c_master_add_i3c_dev_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe715cb52 i3c_master_queue_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe8485581 i3c_device_request_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xf398aa19 i3c_master_unregister +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x267c0508 iio_channel_release_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x2a1fab3c iio_channel_stop_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7a711aef iio_channel_start_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x9a1e2779 iio_channel_get_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x9acf62ab iio_channel_cb_set_buffer_watermark +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0xad8244b9 iio_channel_cb_get_iio_dev +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0xdaf8b074 iio_channel_cb_get_channels +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x1168680a iio_dma_buffer_set_bytes_per_datum +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x33a2fee7 iio_dma_buffer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x39fcdc45 iio_dma_buffer_read +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x536209d0 iio_dma_buffer_set_length +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x5d54af23 iio_dma_buffer_release +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x75d9d43b iio_dma_buffer_data_available +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7a9a7bb2 iio_dma_buffer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x88a0a3f9 iio_dma_buffer_block_done +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x91f52d95 iio_dma_buffer_request_update +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xa1bf0f55 iio_dma_buffer_exit +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xb52ae58e iio_dma_buffer_init +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xde29c659 iio_dma_buffer_block_list_abort +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0x3f9480c3 devm_iio_dmaengine_buffer_setup +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x3391543d iio_hw_consumer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x9671bc15 iio_hw_consumer_free +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0xbf358fa9 iio_hw_consumer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0xd33843b7 devm_iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0xe728fb43 iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-triggered-buffer 0xbc050181 devm_iio_triggered_buffer_setup_ext +EXPORT_SYMBOL_GPL drivers/iio/buffer/kfifo_buf 0x0de480b3 devm_iio_kfifo_buffer_setup_ext +EXPORT_SYMBOL_GPL drivers/iio/chemical/sps30 0x4f20f630 sps30_probe +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x153c0024 cros_ec_sensors_read_lpc +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x42e42d56 cros_ec_sensors_ext_info +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x5d2e43b3 cros_ec_sensors_core_read_avail +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x65fa7a20 cros_ec_sensors_core_init +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7ab07252 cros_ec_sensors_core_read +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x827c3629 cros_ec_sensors_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x93ec8982 cros_ec_sensors_core_register +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x9971dac4 cros_ec_sensors_capture +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xbc64de0f cros_ec_sensors_read_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xc7c28a30 cros_ec_motion_send_host_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xcc6fdada cros_ec_sensors_push_data +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xfaa61a0f cros_ec_sensors_core_write +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x1940c469 bmg160_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xa48b1bf9 bmg160_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xdfc3bb9d bmg160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x7b1f7536 fxas21002c_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xa53c7499 fxas21002c_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xfc554e5a fxas21002c_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/bmi160/bmi160_core 0x8016ef68 bmi160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/fxos8700_core 0x50f372b5 fxos8700_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0x6335aa07 inv_icm42600_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0x89f44c6a inv_icm42600_regmap_config +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0xc494b3be inv_icm42600_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x69eae387 inv_mpu_pmops +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x868e5231 inv_mpu_core_probe +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x003f2dc5 iio_enum_available_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x01cd8313 iio_enum_write +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0691f9ff iio_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0a9c024e __devm_iio_device_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x10484352 iio_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1837beda iio_get_debugfs_dentry +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1aa13377 iio_device_attach_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1aa7c4d8 iio_device_release_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1da38e70 devm_of_iio_channel_get_by_name +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1dae28fd iio_device_claim_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2329af6e iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x25a052f8 iio_buffer_enabled +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26f6b499 iio_str_to_fixpoint +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2b04b60d iio_buffer_put +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x305cb82c iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3b820047 devm_iio_device_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x41dc568c iio_read_channel_processed_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x44df09c3 iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4874dc35 iio_push_to_buffers_with_ts_unaligned +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4dce7dd4 iio_format_value +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x530e0e4e iio_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5e7d649a iio_write_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x618dbf87 iio_read_avail_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x63fdb749 iio_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6550b99b iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x656e03b5 iio_write_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x674861a7 iio_read_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6bf7b07f iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6fa9b486 iio_buffer_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x70e572c1 iio_read_max_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x79fb41c1 iio_enum_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7b9312a4 devm_iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8227d135 iio_read_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8243927d iio_read_channel_average_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x84e98374 devm_iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8dcb2fb8 iio_read_channel_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8f136fab devm_iio_trigger_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x91f6914b iio_write_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9a5b6729 __devm_iio_trigger_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa0224b3b iio_update_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa4546bb2 iio_show_mount_matrix +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa7fb0597 iio_get_channel_ext_info_count +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa88e3912 iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xac70eeeb iio_device_id +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xacf77412 iio_convert_raw_to_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb3d225d6 iio_pop_from_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb62bb386 iio_read_channel_offset +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc6f8e4a8 iio_read_avail_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc7fe25d8 iio_device_get_current_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xdfa56fba iio_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe1c3e708 devm_iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf509ce79 iio_push_to_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf7298981 iio_validate_scan_mask_onehot +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x0c740b43 rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x4238bf18 rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x4322e5c5 rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x60feeab1 rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x69b7629d rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x6e8376a8 rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x9d4a0ba0 rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xac9f5314 rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xafe32855 rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xcfcc2ea8 rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xd2f3fb12 rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xf61c0b7f rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xafae6072 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/matrix-keymap 0xb8ebea40 matrix_keypad_parse_properties +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x66535a18 adxl34x_suspend +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xe2ca296a adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xec511022 adxl34x_remove +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x169d6e80 __rmi_register_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x2a47f7c7 rmi_of_property_read_u32 +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x35d45ee8 rmi_2d_sensor_rel_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x4bd43377 rmi_dbg +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x5a766edb rmi_driver_suspend +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x808abe83 rmi_2d_sensor_of_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x849c34dd rmi_driver_resume +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x8ce90b5b rmi_2d_sensor_abs_process +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xd440b50b rmi_2d_sensor_abs_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xd833cc98 rmi_set_attn_data +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xdc914378 rmi_2d_sensor_configure_input +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xe3160062 rmi_unregister_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xfb6e2aac rmi_register_transport_device +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xb3038ad6 cyttsp4_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xc07f4736 cyttsp4_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xd479d927 cyttsp4_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x07e3e8d1 cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xd851aaf9 cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0xa27227fb cyttsp_i2c_write_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0xf19bc247 cyttsp_i2c_read_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x25021df6 tsc200x_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x640384aa tsc200x_regmap_config +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xcd2b4c63 tsc200x_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xd044eb47 tsc200x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2ad7e66f wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x3769fb35 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x5df1a8cb wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6c3a83e0 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x87ae7cda wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9d2ee4f5 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa0e50899 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xc03ed3d0 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xcaf5d8a7 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xd60cf8f4 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xe67de6f1 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf64c49ad wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x012998d4 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x1e7e9c28 ipack_device_init +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x3967f602 ipack_put_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x46dfc296 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xa5a4bdeb ipack_driver_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xaf67a7e3 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xb01c1c27 ipack_device_del +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xba68f136 ipack_device_add +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xed5a6355 ipack_get_device +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x0dff56cf led_update_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x2ae38cd4 led_set_flash_timeout +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x3756b978 led_get_flash_fault +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x55ea6d85 led_set_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x5c08657c devm_led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x6958562b led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x77ef37b8 led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xc45bcd4b devm_led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x301e63e0 devm_led_classdev_multicolor_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x54a07686 led_mc_calc_color_components +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x8a5c18a1 led_classdev_multicolor_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x8e52b41d devm_led_classdev_multicolor_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0xe56359f5 led_classdev_multicolor_register_ext +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-audio 0x3bd45b0d ledtrig_audio_set +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-audio 0xce593c22 ledtrig_audio_get +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-camera 0x749e05f2 ledtrig_flash_ctrl +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-camera 0x7903e46e ledtrig_torch_ctrl +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x023f02b8 __traceiter_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x05c02de9 __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x07d85a13 __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x08042822 __traceiter_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x08358a63 __SCK__tp_func_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0d2d617f __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x136424a6 __traceiter_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x13744f7d __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1455134d __traceiter_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x153f47e3 __traceiter_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x169e253e __traceiter_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x17a83e40 __traceiter_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c599ebe __traceiter_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1fa2a28c __SCK__tp_func_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x21486874 __SCK__tp_func_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x21b87a42 __SCT__tp_func_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2233fc36 __SCK__tp_func_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x23f08bda __SCK__tp_func_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x25cacb14 __SCT__tp_func_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2630f45e __SCK__tp_func_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2766fb04 __traceiter_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x27c8e87d __SCK__tp_func_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x287090dc __SCT__tp_func_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x28dd60f4 __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x297e0da3 __SCT__tp_func_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x300c8ff4 __SCT__tp_func_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x32b1a849 __SCK__tp_func_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x347c036d __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x35b245c2 __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x36f317a4 __SCT__tp_func_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x37ebfaf6 __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3c77e234 __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3cae492f __traceiter_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x429e6dcb __traceiter_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4314b582 __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4543b49b __SCT__tp_func_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x45da888b __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x48071804 __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x48792621 __SCK__tp_func_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x490c657a __SCK__tp_func_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x491a646b __traceiter_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x59d8eefa __SCK__tp_func_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5dd80bd5 __SCT__tp_func_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5e4937c4 __SCK__tp_func_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5f336433 __traceiter_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x629c9180 __SCT__tp_func_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x64e39418 __traceiter_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6540692f __SCK__tp_func_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6677ebf0 __SCT__tp_func_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6d16d9d2 __SCK__tp_func_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x70c53d44 __SCK__tp_func_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x752f7fa4 __SCT__tp_func_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x76fd505f __traceiter_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x787810b2 __SCT__tp_func_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7dc20797 __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7f252e00 __SCT__tp_func_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x817ad796 __SCT__tp_func_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x81c699f5 __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x822db771 __SCT__tp_func_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x88eb83d3 __SCK__tp_func_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x8f404818 __SCK__tp_func_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9129dd23 __SCK__tp_func_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x938e98fc __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x94bead0f __traceiter_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x972aa384 __SCT__tp_func_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x97c226a0 __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x97fb0c9e __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9bfec060 __SCK__tp_func_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9c5589c7 __SCK__tp_func_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9d28d153 __SCT__tp_func_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9d43080a __traceiter_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa15bd7c4 __SCT__tp_func_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa24471ec __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa784e073 __SCT__tp_func_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xabc4d8cd __traceiter_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xad6440b4 __traceiter_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xaed073db __traceiter_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xaf7dc363 __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb1457733 __traceiter_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb5a62a8c __traceiter_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb7e5379d __SCT__tp_func_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb930d0b9 __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xba85578b __SCK__tp_func_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbaed5ce8 __traceiter_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc1871608 __traceiter_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc4b1e173 __SCK__tp_func_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc73e0c99 __SCT__tp_func_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc9b78b45 __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xcd744685 __SCK__tp_func_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xce451ad8 __SCT__tp_func_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd2f32f6b __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd2fe691a __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd30206ff __SCT__tp_func_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd54aa7f2 __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd7a376b3 __SCT__tp_func_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd7a7fbec __SCT__tp_func_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd9969ab7 __traceiter_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xda95d358 __SCK__tp_func_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xdb0682eb __SCT__tp_func_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xdc0cb71a __traceiter_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xde29cfc5 __SCK__tp_func_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xde2f0b9b __SCK__tp_func_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xdf879aa0 __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe0ad0927 __SCK__tp_func_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe1a09539 __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe2190ce7 __SCK__tp_func_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe54f6e44 __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe955956f __SCK__tp_func_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xead52862 __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xec29e22a __traceiter_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xecdcc1dd __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xed2ca30b __traceiter_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xedf90bb3 __SCT__tp_func_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xee7b8402 __SCK__tp_func_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xef379675 __traceiter_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xef62bd3c __traceiter_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf505e964 __SCK__tp_func_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf57f81ae __SCT__tp_func_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf6f0da53 __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf73e94d8 __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf7a5edc7 __SCT__tp_func_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfadcccad __traceiter_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfb767f16 __SCT__tp_func_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfce76b1e __SCT__tp_func_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x04c627b1 dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x17dd39d6 dm_deferred_set_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2eb01e04 dm_deferred_set_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x36f6229b dm_cell_get_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x39f65d9b dm_cell_error +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x40d75be4 dm_bio_prison_free_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x42c0c362 dm_bio_prison_free_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x57ee7745 dm_bio_detain +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x5d7c50c9 dm_cell_lock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x5e90cccb dm_cell_unlock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x62307abc dm_get_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x64ca3f8a dm_cell_put_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6791a44e dm_deferred_entry_dec +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x753e20b2 dm_bio_prison_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x8e652d9d dm_cell_promote_or_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x8fb8d777 dm_cell_lock_promote_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x9dd32a3d dm_cell_release_no_holder +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x9de9c214 dm_cell_quiesce_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xa573034d dm_bio_prison_alloc_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xace9b57b dm_bio_prison_destroy_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb6d5c65d dm_deferred_set_add_work +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb70b342a dm_bio_prison_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xca2e3a88 dm_deferred_entry_inc +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xd94730e7 dm_bio_prison_alloc_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xd99e003d dm_bio_prison_create_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xf2fa513b dm_cell_release +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x0ad0dc4f dm_bufio_mark_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x111ab12a dm_bufio_mark_partial_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x24772bfe dm_bufio_get +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x2e0774dc dm_bufio_get_block_number +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x55b37891 dm_bufio_client_create +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6aebce95 dm_bufio_issue_discard +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6d3f57bd dm_bufio_get_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x72f07bf4 dm_bufio_set_minimum_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x74dcd98c dm_bufio_get_aux_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7c381a76 dm_bufio_get_block_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x867e87eb dm_bufio_get_dm_io_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xa82b2066 dm_bufio_write_dirty_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xb04f56ab dm_bufio_read +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xb2438d54 dm_bufio_release_move +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc0d7df85 dm_bufio_new +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc90df7e5 dm_bufio_prefetch +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc9a3422d dm_bufio_write_dirty_buffers_async +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xcd2ba798 dm_bufio_forget +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd4bddf5c dm_bufio_issue_flush +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd991e3b9 dm_bufio_get_device_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xe6024e59 dm_bufio_release +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xebcc64a4 dm_bufio_get_block_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xeca7949e dm_bufio_client_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xed3283a4 dm_bufio_set_sector_offset +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xf241a6eb dm_bufio_forget_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x0efbca4c btracker_promotion_already_present +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x42664bdb dm_cache_policy_unregister +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5adc2807 btracker_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5de611a9 btracker_nr_writebacks_queued +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7890d535 dm_cache_policy_get_name +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x87bee547 btracker_queue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x890723f7 dm_cache_policy_get_version +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x8d71dd47 dm_cache_policy_register +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xa2365f44 btracker_issue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xa7eadcb5 btracker_complete +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xadbefda4 dm_cache_policy_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xbf1a2968 btracker_create +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xccfe6409 btracker_nr_demotions_queued +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xcf8c2590 dm_cache_policy_get_hint_size +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xe1bdae47 dm_cache_policy_create +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xb8844849 dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xdcaffb26 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x01d2f9ac dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x09161f2e dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x27df79a7 dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38972f23 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38efaf5a dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3a18389a dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x4a4a5f22 dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x57e16c3e dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5f4a6e61 dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7774620f dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d053fc5 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d5e1815 dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x930c76d6 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa53387c7 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa83588eb dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xbc62e6cb dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xbe38a431 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd8aa4284 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xe0039f4c dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf92b8a3d dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfd93482e dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0054f69d dm_tm_pre_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x11fbbe02 dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x15085586 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1816383d dm_btree_find_highest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1ae16d40 dm_tm_dec_range +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1ba7cc87 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x20c84409 dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x243ce1ad dm_array_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x24507fbf dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2bc1a8d9 dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2c5a02df dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2d38ecd9 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2f40da68 dm_bm_set_read_write +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x30a26537 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x30c37cc0 dm_bm_write_lock_zero +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3646e38f dm_tm_issue_prefetches +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x382a0134 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ae50a4a dm_tm_inc_range +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3d6961ed dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x46768dbf dm_btree_remove_leaves +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4f477261 dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5375ca71 dm_bm_write_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5475ba9e dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5736c9c5 dm_bitset_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x586705e1 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x688d422d dm_bm_block_size +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6b2357b6 dm_bitset_test_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6c218062 dm_bitset_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6c2c7ef4 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7062014c dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x72289260 dm_block_manager_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x73420d49 dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x75606d09 dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x79bdc649 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7ade1071 dm_tm_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b047bd9 dm_tm_create_non_blocking_clone +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b6b3af5 dm_bm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7bc7621f dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7e29c59d dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x87c934be dm_tm_inc +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88295b96 dm_tm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88998224 dm_disk_bitset_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88a5c035 dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8db6f8f0 dm_tm_with_runs +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8f5eefee dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x925f421d dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9290e07a dm_tm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x932a6ffc dm_tm_shadow_block +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9341b376 dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x95a52abd dm_bm_is_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9718cffa dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9955fef4 dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9ced228c dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9e798e22 dm_bm_set_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa29d4c0c dm_bitset_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2a74861 dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa9cf611b dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb3d7482b dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb6879c01 dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb720ee73 dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc0d7c2d1 dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc0fadb13 dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc36559ad dm_btree_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd237b9fb dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd39c0246 dm_btree_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xdf3a4e7d dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe781f874 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe8438eb5 dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf82dba90 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xfce51d79 dm_array_empty +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x0097a71b cec_queue_pin_cec_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x1cd6dc33 cec_transmit_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x1e2385d0 cec_transmit_msg +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x2791c97f cec_queue_pin_5v_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x3483fbaa cec_register_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x6a42e19f cec_unregister_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x6ce4f8ef cec_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7160d503 cec_s_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x81d3a3b2 cec_pin_changed +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x9579b5b7 cec_delete_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x9e52da22 cec_notifier_parse_hdmi_phandle +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa01fbb6b cec_notifier_set_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xaa6e72d3 cec_pin_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xaade7f9f cec_received_msg_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xaee236c6 cec_notifier_conn_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbae56c14 cec_s_log_addrs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbe4de675 cec_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xc16f2887 cec_notifier_set_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xc23e9617 cec_s_conn_info +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xdc2d706f cec_queue_pin_hpd_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe6266e8e cec_notifier_conn_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe72ad64c cec_notifier_cec_adap_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe870701e cec_s_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe9082382 cec_notifier_cec_adap_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xee1199d8 cec_transmit_attempt_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf71ce462 cec_fill_conn_info_from_drm +EXPORT_SYMBOL_GPL drivers/media/common/b2c2/b2c2-flexcop 0x66c0289a b2c2_flexcop_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x1d5ad46a saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x1ea5d8f7 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x4490d352 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x68b55b15 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x90a5786d saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xa97affa0 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xce0bffcc saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe5ca8502 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xf0f78481 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xfedab390 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x43c3708d saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x753b3163 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xab293c6e saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xcbf621e1 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xd72c27a7 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xefdfee76 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xf586d9a9 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x0a26f273 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x1008482c smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x29889b5e smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x34bf0e61 smscore_translate_msg +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x3f5732c2 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x42e3b3f2 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x4aa8c9c9 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x4cb69002 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x844539ae sms_get_board +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x99a81ab3 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xa368b186 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xb78942a4 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xb9d71b2f smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xc1bc6bbb smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xc399b166 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xd8ef485a sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xecfebfb3 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xf4e18947 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xfa831661 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xfea15b9f sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x03005a48 tpg_alloc +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x040dc7cd tpg_aspect_strings +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x4d1d285c tpg_init +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x517e7ccd tpg_fill_plane_buffer +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x6026aaf0 tpg_log_status +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x6960e899 tpg_s_crop_compose +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x756516e7 tpg_s_fourcc +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7a5d8c0b tpg_update_mv_step +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x86b4ddf7 tpg_reset_source +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x975a1e29 tpg_g_interleaved_plane +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xaa5503d9 tpg_set_font +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xb40fae23 tpg_g_color_order +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xc6110b6e tpg_free +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xc6808be7 tpg_calc_text_basep +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xce8159bb tpg_pattern_strings +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xf4aef3a4 tpg_gen_text +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xf65c5e46 tpg_fillbuffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x08198f42 vb2_core_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x0fce4f08 vb2_request_buffer_cnt +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x132da5d0 __tracepoint_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x24c148d0 vb2_core_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2b5551d5 __SCT__tp_func_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2bfd7452 __traceiter_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2dabf550 __traceiter_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x3dbffb0b vb2_core_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4293ca4d __SCK__tp_func_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4357fb13 __SCK__tp_func_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x43c2065f __tracepoint_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4bcc09f1 vb2_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4d67ec46 vb2_core_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4ed3fb1b __SCT__tp_func_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x5044cb64 __tracepoint_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x52624233 __traceiter_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6b4b9f1c vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6c473d96 __SCK__tp_func_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6e0b5bb8 vb2_core_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7f7b9117 vb2_request_object_is_buffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fde70b3 vb2_core_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8d8d06ae vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8dd4fceb vb2_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x9955cfd0 __tracepoint_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x9b6d1157 vb2_core_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x9f581a30 vb2_core_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xa133d8f1 vb2_core_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xad821e4b vb2_thread_start +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xbc7879ff __traceiter_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xbf1c5bfa vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc54c863e __SCT__tp_func_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc7920841 __SCT__tp_func_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd28a08d4 vb2_core_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xde37a2c9 vb2_core_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xe516a8ba vb2_thread_stop +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xe6354917 vb2_core_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xead0a3e8 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xec7b4cc6 vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xefccd3a3 vb2_discard_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf9bdb689 __SCK__tp_func_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xfae18a01 vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x0395247e vb2_dma_contig_set_max_seg_size +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x67aa00fc vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-sg 0x76fd03e7 vb2_dma_sg_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-memops 0x0864e5e6 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x00d5e340 vb2_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x08108757 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x15b423c9 vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x1cd801e8 vb2_queue_init_name +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x310a8309 vb2_request_validate +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x339e4f4f vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x3eff9842 vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x417769eb vb2_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4c08c755 vb2_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4fd2acdc vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5415de45 vb2_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x58205334 vb2_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5b61f8d8 vb2_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x64ac67f6 vb2_ops_wait_prepare +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x743d9d8b vb2_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x77b03c9f vb2_fop_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x79f98684 vb2_fop_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fe4e1bc vb2_ops_wait_finish +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x82754e5d vb2_find_timestamp +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x843233f8 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x883945d6 vb2_fop_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x9599d1ac vb2_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x95bcc9a0 vb2_video_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xaac2132c vb2_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xab832bd0 vb2_request_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xbafc42ce vb2_queue_change_type +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xbb758280 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xbd178200 vb2_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xcb12dc10 vb2_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xdbde84fe _vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xdc72869c vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xf003a3ad vb2_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xf13cae3c vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xf1d4a776 vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-vmalloc 0x47c5f0e5 vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xa0bcbc1f dvb_module_probe +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xcb54f20b dvb_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xdb5ea132 dvb_module_release +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/as102_fe 0x044afd1f as102_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/cx24117 0x6074acac cx24117_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/gp8psk-fe 0x1450a88b gp8psk_fe_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/mxl5xx 0xa92ca7da mxl5xx_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv0910 0x97e88ce2 stv0910_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv6111 0x770e12c6 stv6111_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/tda18271c2dd 0xb6f054c1 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/i2c/aptina-pll 0xd5b8e564 aptina_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/ccs-pll 0xdb0c1ddd ccs_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x28050b06 max9271_set_address +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x390c0b76 max9271_set_serial_link +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x44729700 max9271_configure_gmsl_link +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x500a2455 max9271_set_translation +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x87be2cc7 max9271_set_deserializer_address +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x8a2ffb9f max9271_configure_i2c +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x909c95bd max9271_set_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x91931e62 max9271_verify_id +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x9cd75d2a max9271_wake_up +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xb9164397 max9271_enable_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xc864c838 max9271_set_high_threshold +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xda6e0509 max9271_disable_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xe857cb7e max9271_clear_gpios +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1059f270 media_request_object_bind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x13a5a8a2 media_create_pad_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x157fe4b4 media_entity_find_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x179d151b media_device_unregister +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x18e06354 media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1ab08b4e media_devnode_create +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1e1a451a media_request_object_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1fd470f2 media_request_object_unbind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x31044075 media_device_usb_allocate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x35136f1f __media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x369f6b8a media_graph_walk_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x37763346 media_graph_walk_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x45c916a1 __media_device_usb_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4b3389c0 media_create_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4c5160b3 media_entity_remote_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4d99c3f6 media_graph_walk_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4f49f080 media_devnode_remove +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x60fe3c0f media_request_object_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x64d0e3bf media_request_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x66931c04 media_get_pad_index +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6d48bb9f media_request_object_complete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7646927c media_device_unregister_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x79f2a34e media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7b92e5be media_device_unregister_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x81c69a63 media_create_ancillary_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x88452f3c __media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8c790fbe media_entity_get_fwnode_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8fd21d8f media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9189b509 media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9218ea40 __media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x96d8050b media_request_object_find +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9a45742c __media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9e86ffb2 media_device_register_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xa04445bb media_create_pad_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xa08f3f50 media_device_register_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xa1fa1fbd media_request_get_by_fd +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb37bce0e media_entity_pads_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xbcc16da4 media_device_pci_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc81991f9 __media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xccef7c95 media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd4943cc2 __media_device_register +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xda66d092 __media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdc5f13f4 media_device_delete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdc9265e1 media_graph_walk_next +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe0957ca1 media_device_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe5ceecd6 media_entity_enum_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf0a9f7f4 media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf5e3e1ce media_device_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xfc781c47 __media_entity_enum_init +EXPORT_SYMBOL_GPL drivers/media/pci/cx88/cx88xx 0xc7781d2f cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x0c6db4d5 mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x0fc682d3 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x13e07f7a mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x159c9a96 mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x3356076e mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x3e7d74d5 mantis_input_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x4bb69596 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x5586c51d mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x609084ce mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x64a431a0 mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x6534de59 mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x984f1546 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xb25619c3 mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xca466287 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xcd106143 mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xd2faf94a mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xe488072f mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xedc14af1 mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xf57dd13c mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x02b1ca2b saa7134_s_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x39e2aa7d saa7134_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x735cc870 saa7134_querycap +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7a86ff08 saa7134_g_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x82e9d054 saa7134_s_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x962055af saa7134_ts_start_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x96568b50 saa7134_ts_buffer_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa34aae41 saa7134_ts_queue_setup +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa69eb7cb saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa7552f71 saa7134_s_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xb7f98c8e saa7134_ts_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xc2132eb3 saa7134_ts_buffer_prepare +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xc49fa6ff saa7134_enum_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xd8e592cb saa7134_querystd +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xe94e1df7 saa7134_g_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xed184cd5 saa7134_s_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xf5e77a30 saa7134_g_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xf94e8e20 saa7134_vb2_buffer_queue +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xfa3e94ec saa7134_g_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x00ba1bc1 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x08ca41c5 ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x0d9358be ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x8ab8a404 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xafed56be ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xbbb9d422 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xbf48f2f2 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x17216aee mccic_register +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x9bfb48c2 mccic_resume +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0xc7e01f5e mccic_irq +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0xd50c4e57 mccic_shutdown +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0xef7d2f9b mccic_suspend +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x71a499b5 radio_tea5777_init +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x7ee1e4f2 radio_tea5777_exit +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x4df69e26 si470x_stop +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x5c32388b si470x_set_freq +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xb6e67b11 si470x_ctrl_ops +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xb735abd9 si470x_viddev_template +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xe716abf0 si470x_start +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x0a5a293f rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x19ec78a9 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1b248473 devm_rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1f0542a0 rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x2e98255b ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x2ed90ced rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4a299c16 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4ce1581d ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x51d181c1 devm_rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5a47cfb9 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x65db4006 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x67c89342 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x79b90fb2 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x9721b2d9 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x9c139dd9 rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x9c4d5f11 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb960f15c rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xda966d12 ir_raw_event_store_with_timeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe0515d78 rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfbcf4c1c lirc_scancode_event +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfc5d3079 rc_map_get +EXPORT_SYMBOL_GPL drivers/media/tuners/mt2063 0x52d5ac28 mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mt20xx 0x48edacd8 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mxl5007t 0xefeebc11 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/r820t 0x9ab3bf9b r820t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda18271 0x332e87b3 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda827x 0x295908c5 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x77c7284c tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0xdcbabf5b tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/tuners/tda9887 0x8c66e59c tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0xaa87e353 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0xce32e115 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x6cf2b8d5 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0xd6f93f23 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tuner-simple 0x7805888a simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x083e212d cx231xx_get_i2c_adap +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x1ba4529f cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x1cf88487 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x43c53ab9 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x4c3dcb6f cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x5118b79e cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x527770e6 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7087582d cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7631ff72 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7dd481cf cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x866c686b cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x8d4935ce cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xb37ed4d8 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xc2c4a7d8 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xc5558457 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xd1a26a78 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xdcd1c76a cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xdddaf4f5 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xde329330 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xead738fc cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0x1c510cb1 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0x15bd5357 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x0f411d35 em28xx_init_camera +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x136df51f em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x21815f3d em28xx_find_led +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x306aee7c em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x59973e6c em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x646b29a8 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x721f7cc7 em28xx_free_device +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x8a0edc85 em28xx_alloc_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x921d7c65 em28xx_boards +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xa75724c7 em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xaf3e1405 em28xx_uninit_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb1e937aa em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb7479d09 em28xx_init_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb75d53df em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb80d615f em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb95f3588 em28xx_toggle_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xbb8fb454 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xc120fbe3 em28xx_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xd32d751b em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xe6996d44 em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x4851e36d tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x4d3d8b9e tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x6b769691 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xd70f4de6 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x4def831b __v4l2_async_nf_add_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x4e573cce __v4l2_async_nf_add_fwnode_remote +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x5ef303f2 __v4l2_async_nf_add_i2c +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0xa4bfe094 __v4l2_async_nf_add_fwnode +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0xe4158b53 v4l2_async_nf_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x01612c0b v4l2_detect_gtf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x08402862 v4l2_print_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x0958448b v4l2_set_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x0af3d134 v4l2_valid_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x2bf67def v4l2_calc_aspect_ratio +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x370cfe6e v4l2_dv_timings_presets +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x3aa68d7a v4l2_find_dv_timings_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x4839762f v4l2_calc_timeperframe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7b6ac78f v4l2_phys_addr_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x8f8d4341 v4l2_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x922ecd29 v4l2_enum_dv_timings_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xa97e00eb v4l2_detect_cvt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xae575c8f v4l2_phys_addr_for_input +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xd034392d v4l2_match_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xef15cc44 v4l2_hdmi_rx_colorimetry +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xf56238f4 v4l2_find_dv_timings_cea861_vic +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xff585440 v4l2_dv_timings_aspect_ratio +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x05e7cdef v4l2_flash_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x23ec8a2e v4l2_flash_indicator_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0xa5de7b09 v4l2_flash_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x14b56a86 v4l2_fwnode_connector_add_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x4386034b v4l2_fwnode_parse_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x44d9dd98 v4l2_fwnode_endpoint_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x612ddce5 v4l2_fwnode_connector_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x80e563f1 v4l2_fwnode_put_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x88d1103a v4l2_async_nf_parse_fwnode_endpoints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x8ae355f5 v4l2_fwnode_connector_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x93d7f72e v4l2_fwnode_endpoint_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xc47296c0 v4l2_fwnode_device_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xe9cebbc5 v4l2_fwnode_endpoint_alloc_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xfaaa27f6 v4l2_async_register_subdev_sensor +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x01850138 v4l2_m2m_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x02a74532 v4l2_m2m_ioctl_stateless_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x09d24be8 v4l2_m2m_buf_remove_by_idx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x0d2da582 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x135d481c v4l2_m2m_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x14940007 v4l2_m2m_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x18b9345a v4l2_m2m_ioctl_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x220cfe08 v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2892b68d v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3ac661a9 v4l2_m2m_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3bfda8a0 v4l2_m2m_ioctl_try_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x407b0b26 v4l2_m2m_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x40fdc4b9 v4l2_m2m_fop_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5286a163 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5f96c89d v4l2_m2m_ioctl_stateless_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6097d18e v4l2_m2m_update_start_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6547ca67 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x730f2eae v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7bfdb594 v4l2_m2m_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x88ced000 v4l2_m2m_register_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x8a92e9db v4l2_m2m_ioctl_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x952cb1f7 v4l2_m2m_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9b2934c2 v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9b2d58c5 v4l2_m2m_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9ef96d49 v4l2_m2m_last_buffer_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa1e19b7a v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb0b16d69 v4l2_m2m_request_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb2482ebb v4l2_m2m_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb5e88c97 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xba27a50c v4l2_m2m_ioctl_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xbafdfc30 v4l2_m2m_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc0b1b807 v4l2_m2m_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc1efe091 v4l2_m2m_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc93b3fba v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc966274b v4l2_m2m_update_stop_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xcbcb6d86 v4l2_m2m_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd93d8df4 v4l2_m2m_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xdf412368 v4l2_m2m_buf_remove_by_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xdf85569f v4l2_m2m_try_schedule +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe5ebccee v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xebf0501c v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xebf1d829 v4l2_m2m_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf063d205 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf0fd1950 v4l2_m2m_buf_copy_metadata +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf13ff84d v4l2_m2m_unregister_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xfeb1e820 v4l2_m2m_last_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x0048b58e videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x0aea48ff videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x12ffc68b videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x17e4ca62 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x1915864d videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x19355cf8 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x1fc450d9 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x3430ff7b videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x37995d63 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x41f75343 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4aac0943 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x650af18f videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x70fad48f videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x731fde05 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x77a31bb6 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7cf0d6ae videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x81c663ab videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x9caf5b47 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x9e6799f1 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xb8a7d358 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xc953d8dd videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xe70a4938 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xe730b8fc videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xeb137c46 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x2ce9e99c videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x553a86d0 videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x7897250e videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xa750ce85 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xdac0487c videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x2456ff21 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0xe855bd04 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0xee0cb3fc videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0692594d v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x094b8bf9 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0e54e406 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0f47220b v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x169b221a v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1885c1f6 __v4l2_subdev_state_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x18b3fd9b v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2032aae2 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x221e0dcc v4l2_event_wake_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x236a84f8 __SCK__tp_func_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x24125267 v4l2_subdev_link_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x27e3a3d0 v4l2_get_link_freq +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2ac4c210 v4l_disable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3deb6b5d __tracepoint_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4066a5b1 v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4192afb2 __traceiter_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x470bb0a1 __SCK__tp_func_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x492cb37d __SCK__tp_func_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4c42d7ad v4l2_ctrl_request_hdl_ctrl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4ee044c8 v4l2_subdev_link_validate_default +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x55231d9f v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5628c1cb __v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x57040313 v4l2_subdev_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5c7b2a15 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5ccf3c6f __v4l2_subdev_init_finalize +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5e18dbe6 v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x62b8af25 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x63c6a156 __traceiter_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6520c186 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x654b5cd5 __SCK__tp_func_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x66c4abeb v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x67a1af18 v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6b7ff734 v4l2_g_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6cd9fdfe v4l2_pipeline_pm_get +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6d3d6bc6 __SCT__tp_func_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e47550b v4l2_pipeline_link_notify +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e9acc41 v4l2_fill_pixfmt_mp +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x71d94a29 v4l2_subdev_notify_event +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x744603ea v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7c058742 v4l2_event_subdev_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8c5f3e1a v4l_vb2q_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8e20019d v4l2_src_change_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9482c821 __v4l2_ctrl_handler_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x960ca1fb v4l_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x975a80c4 v4l2_ctrl_request_hdl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x99508ff6 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x995976a3 v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9dd6a4b4 v4l2_create_fwnode_links_to_pad +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9f6b8b53 v4l2_src_change_event_subdev_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9fef35ac v4l2_apply_frmsize_constraints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa13b7016 v4l2_i2c_subdev_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa1893d14 __SCT__tp_func_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa381ce74 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa69b784b v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa9baa79d v4l2_subdev_get_fmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xaaf9560e v4l2_s_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb0b4becb __tracepoint_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb2d65f1f v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb587e2a2 v4l2_subdev_get_fwnode_pad_1_to_1 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb7d266ab v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc2d874f9 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc31ed577 v4l2_pipeline_pm_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc3e98a5d __tracepoint_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc8dd867f __SCT__tp_func_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcc501597 v4l2_fill_pixfmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcf149882 __traceiter_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd10ecd63 v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd541e31a __SCT__tp_func_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd774970d v4l2_mc_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xdeb9a728 __v4l2_subdev_state_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe2822320 __v4l2_find_nearest_size +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe4bc8435 __tracepoint_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe4c9cb42 v4l2_create_fwnode_links +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe6bba30b __traceiter_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe84fdb31 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xef287156 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf2a353ac v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf2e1ea6d v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf41b87e1 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf5ef842e v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x32866b2a pm80x_init +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xcdb6bf26 pm80x_regmap_config +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xd19ab125 pm80x_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xd99fd720 pm80x_deinit +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x01943d1f wm5110_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x07b06089 wm5110_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x2d4aeed9 arizona_clk32k_disable +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x2f871ff9 cs47l24_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x2fcd4ebe arizona_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x374662fb arizona_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x37cce862 arizona_clk32k_enable +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4048fbbc wm8997_aod +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x42acfc53 wm5110_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4c087981 wm5110_aod +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4e9da0cc arizona_set_irq_wake +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x5961d260 arizona_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x670940ca arizona_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xa6b70564 wm8997_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xa727bd3b cs47l24_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xaaf78759 wm5110_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xbfffa86e wm5102_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xc81b43ab wm5110_revd_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xca456ae3 wm8997_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xd4847c6c cs47l24_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xd9de612c arizona_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xed35bfd6 wm8998_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xf2297dab wm8997_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xfcc76922 wm5102_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/atc260x-core 0x19dc4ee3 atc260x_device_probe +EXPORT_SYMBOL_GPL drivers/mfd/atc260x-core 0xfc717380 atc260x_match_device +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x19013754 da9150_bulk_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x626f61a6 da9150_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x77b92775 da9150_read_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x97e70664 da9150_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xce45d523 da9150_write_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xd2a115cb da9150_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xdbea9496 da9150_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0x086b5821 intel_lpss_probe +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0x1ce8d202 intel_lpss_remove +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0x28a2d35f intel_lpss_resume +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0x38c2d24c intel_lpss_prepare +EXPORT_SYMBOL_GPL drivers/mfd/intel-lpss 0x84b9847c intel_lpss_suspend +EXPORT_SYMBOL_GPL drivers/mfd/intel_pmc_bxt 0x0f645631 intel_pmc_gcr_update +EXPORT_SYMBOL_GPL drivers/mfd/intel_pmc_bxt 0x1d904a30 intel_pmc_s0ix_counter_read +EXPORT_SYMBOL_GPL drivers/mfd/intel_pmc_bxt 0x254c58a4 intel_pmc_gcr_read64 +EXPORT_SYMBOL_GPL drivers/mfd/iqs62x 0xa436f4de iqs62x_events +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x2e60e80a kempld_write16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x2f7c18e0 kempld_write8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x2fc7bd49 kempld_read16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x7b0a88ac kempld_release_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xd2a31f3c kempld_read32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xebe64376 kempld_get_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xee63caa6 kempld_write32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xf9f7e476 kempld_read8 +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x3e875549 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x66a462be lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xd2a46d79 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x05bf53e9 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x2aa65400 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x4e62fe56 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x5388aa5d lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x839f8653 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xb2a19ee3 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xc387472e lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x0865d8a8 lp3943_update_bits +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x41d123d6 lp3943_read_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x9d17853d lp3943_write_byte +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0c2f71db cs47l85_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f379262 madera_of_match +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x22549850 cs47l15_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x3a15dde7 cs47l15_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x3a1801a7 cs47l15_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7920c0eb cs47l15_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x792d1cab cs47l15_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x8191f15f cs47l85_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x819c2d1f cs47l85_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x8a83976d cs47l90_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x994486ef cs47l90_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x99495aaf cs47l90_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x9b6acb48 madera_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x9e425849 cs47l35_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xaec59d12 cs47l92_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xaec84152 cs47l92_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xb3e36a27 cs47l35_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xb3eeb667 cs47l35_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc2a4ec53 cs47l85_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xc2a93013 cs47l85_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xcad74135 madera_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xd4cb7289 madera_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xda719be3 cs47l90_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xda7c47a3 cs47l90_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebe384cb madera_name_from_type +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xedf0801e cs47l92_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xedfd5c5e cs47l92_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xf0d6772b cs47l35_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xf0dbab6b cs47l35_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xfac094dc cs47l92_patch +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x392a4db3 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x3e176c83 mc13xxx_variant_mc13892 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x6ca2d2cb mc13xxx_variant_mc34708 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x7ead27a3 mc13xxx_variant_mc13783 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xabd16923 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xbc6a8af9 mc13xxx_common_exit +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x4d401856 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x60891b91 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x67516d60 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x6b738417 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x6d6dcdc8 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x707349ef pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xa9be903e pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xb2fc833b pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xbf6ae913 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xc3b9ceb5 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xcfa2be16 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x13084d5e pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x26561710 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x194a9555 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x412ad60f pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x9538ac62 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xcd23d401 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xd567d24d pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x43e53ef9 rave_sp_exec +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0xddf2176d devm_rave_sp_register_event_notifier +EXPORT_SYMBOL_GPL drivers/mfd/retu-mfd 0x56d1a8c5 retu_read +EXPORT_SYMBOL_GPL drivers/mfd/retu-mfd 0xa074c8b6 retu_write +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x037047c0 si476x_core_cmd_intb_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x049f9cc0 si476x_core_cmd_fm_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x0741b838 si476x_core_cmd_set_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x22bea606 si476x_core_cmd_fm_rds_blockcount +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x316dcf48 si476x_core_cmd_zif_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x34390f4d si476x_core_cmd_fm_phase_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x3b6687aa si476x_core_stop +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x3ed61287 si476x_core_has_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x45317acf si476x_core_cmd_am_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5f152747 si476x_core_cmd_am_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x60f413f2 si476x_core_i2c_xfer +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x619ab1a9 si476x_core_cmd_ic_link_gpo_ctl_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x642733fb si476x_core_has_am +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x71b90405 si476x_core_cmd_power_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x75a48b43 si476x_core_is_powered_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x864a9343 si476x_core_cmd_am_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x8b6cb012 devm_regmap_init_si476x +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x8e109847 si476x_core_cmd_fm_phase_div_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x91dcaa3e si476x_core_cmd_fm_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9676e1f4 si476x_core_cmd_fm_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9ce62b2c si476x_core_cmd_am_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9cffa763 si476x_core_is_in_am_receiver_mode +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9f72c19b si476x_core_set_power_state +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xa1f29d7f si476x_core_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xadb12aec si476x_core_cmd_get_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xadf662a2 si476x_core_is_a_primary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xc4a3ab65 si476x_core_cmd_dig_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xceb1aee7 si476x_core_cmd_power_down +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xd3feb2ed si476x_core_cmd_agc_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe3669e43 si476x_core_cmd_fm_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe430b3fc si476x_core_cmd_func_info +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe48a575b si476x_core_cmd_fm_rds_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe59d0ae8 si476x_core_is_a_secondary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xff2d898d si476x_core_cmd_ana_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x3856ced4 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x9618b76e sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xed51b7eb sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xee3d908e sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xf2b5b67c sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x225008b4 am335x_tsc_se_adc_done +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xbaa33fb4 am335x_tsc_se_set_once +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xe3914f72 am335x_tsc_se_set_cache +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xfa736003 am335x_tsc_se_clr +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xa4ec8ac1 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x11d2ee3e alcor_read8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x1fa4b229 alcor_read32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x57018464 alcor_write32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x8129d302 alcor_write16 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x944eaf5f alcor_read32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xad808a69 alcor_write32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xb7ebb95b alcor_write8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x05ba4127 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x0d6c1baf rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x28f7459c rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x2b782f22 rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x3497c391 rtsx_pci_dma_map_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x35610945 rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x398d92b4 rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x3d9c268a rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x65ebe12c rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x688879aa rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x74d6d95c rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7560bc9b rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x798ac881 rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa0fe3db8 rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa838a855 rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xbd2b0a37 rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd0401161 rtsx_pci_dma_unmap_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd6760166 rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd8cda291 rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xdb07706d rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe3a7d473 rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe87d0600 rtsx_pci_dma_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xed7ba1a9 rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xfd4e9738 rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x03f6b886 rtsx_usb_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x277c6963 rtsx_usb_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x358c8ac9 rtsx_usb_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x37a523d7 rtsx_usb_ep0_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x440ab6e5 rtsx_usb_ep0_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x589373e3 rtsx_usb_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x95b72a6b rtsx_usb_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x9f4213a3 rtsx_usb_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xb53636d0 rtsx_usb_get_card_status +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xc22e3712 rtsx_usb_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xe65a090c rtsx_usb_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xfb1b5c78 rtsx_usb_get_rsp +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xfe79558e rtsx_usb_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x3a049699 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x46ee7661 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x90c3314b cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x9b335e09 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x0b008db0 oslec_hpf_tx +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x296a8983 oslec_update +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x3115970d oslec_create +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x4b711f77 oslec_adaption_mode +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x5909e701 oslec_snapshot +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x780d3f01 oslec_flush +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x84eba96d oslec_free +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x3cb83d5b eeprom_93cx6_multireadb +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d2ff63 eeprom_93cx6_wren +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x870b53e9 eeprom_93cx6_write +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x884deb9d eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0xc9c6bb25 eeprom_93cx6_readb +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0xff7a0fdf eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x0b0f0ecc enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x1ec98984 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x3b5b700a enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x76716fe8 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xa81f7d13 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xcb8aef65 enclosure_component_alloc +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xd4ff8276 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xdfb30261 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x17401042 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x47f6ec1f lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x4dc77053 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x7c71fafc lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x80e9f096 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xad312358 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xc553ac06 lis3lv02d_init_dt +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xd7db8cc9 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x0091fa6a mei_cldev_disable +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x0e0b3380 mei_hbm_pg_resume +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x11f7735e mei_cldev_get_drvdata +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x16c16f84 mei_cldev_register_notif_cb +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x173d69f7 mei_cldev_send +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x25473e0d __mei_cldev_driver_register +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x307422e7 mei_cldev_recv +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x31e084d6 mei_hbm_pg +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x33db3abc mei_cldev_dma_map +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x3833af41 mei_irq_compl_handler +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x3a3e9e51 mei_device_init +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x3bfc9f6c mei_irq_read_handler +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x3c2799ab mei_irq_write_handler +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x80f23b9c mei_cldev_enabled +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x90a24af4 mei_fw_status2str +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0x90f66ef2 mei_cldev_ver +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xa038880f mei_cldev_set_drvdata +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xa38014cc mei_cldev_register_rx_cb +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xb34f7ada mei_reset +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xbb5bf880 mei_cldev_driver_unregister +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xbb794945 mei_write_is_idle +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xbd5444f9 mei_cldev_enable +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xbd5471fc mei_cancel_work +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xc2b37943 mei_cldev_recv_vtag +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xc5949600 mei_cldev_recv_nonblock +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xc64395ed mei_cl_all_disconnect +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xc94fedac mei_cldev_uuid +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xcd62a897 mei_stop +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xcfdb9d6c mei_cldev_dma_unmap +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xefd1c970 mei_restart +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xf42de6e6 mei_cldev_send_vtag +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xf89cc693 mei_start +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xfa5f4534 mei_deregister +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xfa6f1581 mei_cldev_recv_nonblock_vtag +EXPORT_SYMBOL_GPL drivers/misc/mei/mei 0xfc10a9e8 mei_register +EXPORT_SYMBOL_GPL drivers/misc/mei/mei-me 0x922c6ae5 mei_me_irq_quick_handler +EXPORT_SYMBOL_GPL drivers/misc/mei/mei-me 0xb99a6270 mei_me_dev_init +EXPORT_SYMBOL_GPL drivers/misc/mei/mei-me 0xcb430034 mei_me_get_cfg +EXPORT_SYMBOL_GPL drivers/misc/mei/mei-me 0xd0eef98f mei_me_irq_thread_handler +EXPORT_SYMBOL_GPL drivers/misc/pvpanic/pvpanic 0x421b9e26 devm_pvpanic_probe +EXPORT_SYMBOL_GPL drivers/misc/sgi-gru/gru 0x5b8bb699 gru_get_next_message +EXPORT_SYMBOL_GPL drivers/misc/sgi-gru/gru 0x8dc51bdd gru_create_message_queue +EXPORT_SYMBOL_GPL drivers/misc/sgi-gru/gru 0x9c7283a1 gru_copy_gpa +EXPORT_SYMBOL_GPL drivers/misc/sgi-gru/gru 0xd3d2bf04 gru_free_message +EXPORT_SYMBOL_GPL drivers/misc/sgi-gru/gru 0xde08c325 gru_read_gpa +EXPORT_SYMBOL_GPL drivers/misc/sgi-gru/gru 0xeed7d505 gru_send_message_gpa +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x1018eee0 xp_restrict_memprotect +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x12333991 xpc_set_interface +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x345c9217 xpc_disconnect +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x39046c7a xpc_clear_interface +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x48e62c9f xp_region_size +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x6285dfe8 xp_cpu_to_nasid +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x64ba5017 xp_pa +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x68d27065 xp_expand_memprotect +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x68fa7d28 xp_remote_memcpy +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0x8d146cd0 xpc_registrations +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0xc04c7267 xpc_connect +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0xe68acd6c xpc_interface +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0xead4f7fe xp_max_npartitions +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0xed1d3813 xp_socket_pa +EXPORT_SYMBOL_GPL drivers/misc/sgi-xp/xp 0xf3b47f67 xp_partition_id +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x91401317 st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xc3503d7f st_unregister +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x10168f82 uacce_register +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x4a3fc47b uacce_remove +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0xd87fc7fe uacce_alloc +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x01ac22cd vmci_qpair_enquev +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x024d14bc vmci_qpair_produce_free_space +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x046dd187 vmci_datagram_create_handle +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x056837fb vmci_get_context_id +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x1fd4782d vmci_qpair_get_produce_indexes +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x2449459d vmci_event_subscribe +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x3a22fa8a vmci_datagram_destroy_handle +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x4ba5c46b vmci_qpair_peek +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x5591b58e vmci_context_get_priv_flags +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x5e949e0a vmci_doorbell_destroy +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x6099a7f2 vmci_qpair_dequev +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x612df9ae vmci_qpair_detach +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x676bd843 vmci_qpair_consume_free_space +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x75fe065a vmci_send_datagram +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x787f0fe8 vmci_register_vsock_callback +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x7c74d7a6 vmci_qpair_consume_buf_ready +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x81d61eef vmci_qpair_dequeue +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xb572e830 vmci_doorbell_create +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xbcb85f62 vmci_doorbell_notify +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xc04c7e84 vmci_qpair_get_consume_indexes +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xc403cafe vmci_is_context_owner +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xde3abc2e vmci_datagram_create_handle_priv +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xdf7a641a vmci_qpair_peekv +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xe0cc9c92 vmci_qpair_alloc +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xe11895c1 vmci_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xe67343c1 vmci_qpair_enqueue +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xea143610 vmci_datagram_send +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xea61eefe vmci_qpair_produce_buf_ready +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x037e4db3 sdhci_execute_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x04a48a55 __sdhci_read_caps +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x11c577b8 sdhci_request_atomic +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x12bb4331 sdhci_dumpregs +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1fdfe636 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x209a307f sdhci_end_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2fade853 sdhci_calc_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x30c3c3dd sdhci_set_ios +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x358dccd9 sdhci_send_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x47043f4b sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x512915c4 sdhci_cqe_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5fcc643a sdhci_set_power +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6bb45e06 __sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x72095a1e sdhci_set_data_timeout_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x730a86fb sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x76c097ee sdhci_set_power_and_bus_voltage +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x77f6f838 sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7fc3fc28 sdhci_request +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x8460372f sdhci_reset +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x878c03b7 sdhci_adma_write_desc +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x93233a85 sdhci_abort_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x98d30ee8 sdhci_cleanup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x9d066beb sdhci_setup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa06e3354 sdhci_start_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa48a6ae0 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa67b2466 sdhci_switch_external_dma +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xaa5a5292 __sdhci_set_timeout +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xae12e384 sdhci_enable_sdio_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb274de17 sdhci_enable_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb278d363 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb298ec3f sdhci_cqe_enable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb4702fad sdhci_set_bus_width +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc8eccbc2 sdhci_enable_v4_mode +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xcf4408d3 sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd46a90b4 sdhci_set_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe2d20a69 sdhci_get_cd_nogpio +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe2ed1a60 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xeaca883c sdhci_set_uhs_signaling +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf9285620 sdhci_cqe_disable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xfadb5fb1 sdhci_start_signal_voltage_switch +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xfe8a3031 sdhci_reset_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xfe98ffba sdhci_set_power_noreg +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x2766c4e2 sdhci_pltfm_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x2ef38b5d sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x45e30f25 sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x84757296 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xafc57c62 sdhci_pltfm_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xc18c6b98 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xc6dfb118 sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xec56fe5b sdhci_pltfm_clk_get_max_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xede7b9d7 sdhci_get_property +EXPORT_SYMBOL_GPL drivers/most/most_core 0x11c88940 most_register_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x21e2df9a most_register_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x274dbb7e most_stop_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0x4d72f575 most_put_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x4dc8b0fb most_submit_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7c097055 most_deregister_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7d24cf8b most_get_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7db4676b most_deregister_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0xa1d0cf63 most_stop_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0xa6b0bbca channel_has_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xbabe6bb4 most_start_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0xc2a7267b most_resume_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0xcea54c3a most_register_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0xfb67ef72 most_deregister_component +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x2499d180 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xd987f416 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xe6aed1fe cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x35eaa964 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xb8412d32 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xc61366e2 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x57d40065 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x3f7bbcc7 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x8efff581 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x99b83603 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0xb69329ad hyperbus_register_device +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0xf1fa7274 hyperbus_unregister_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x09ee51ab mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0baa6af0 mtd_ooblayout_set_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0e1a7c57 mtd_ooblayout_get_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1161aa6f mtd_ooblayout_count_freebytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x160396b4 mtd_pairing_groups +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1ac8d789 mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1f0f67a1 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x25f30e28 __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x264b478c mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2802d227 __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2e21cc51 mtd_wunit_to_pairing_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x315394ed __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x34c9557d mtd_ooblayout_set_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x360f62a9 mtd_block_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x426e6753 mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x44d186a7 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x45852133 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x48df0dd8 mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x50dabc2f mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x55d99287 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5ae7bca6 mtd_ooblayout_get_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5d42d2ef mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5e578ea8 mtd_read_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5eb9fad0 mtd_ooblayout_free +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x67a52480 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6b369168 mtd_erase_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6c9abf60 mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x71e075f1 mtd_ooblayout_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x721ffe05 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7a47b303 __register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7b93da95 mtd_ooblayout_find_eccregion +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7e5299a0 mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x858329af mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x882885c6 mtd_write_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8b3ce616 get_tree_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8c40ecb3 mtd_pairing_info_to_wunit +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8e39f6de mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x92564538 mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x98f052d1 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xac55ccc3 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xaeac3818 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb23939b0 mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb7075882 mtd_check_expert_analysis_mode +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb7e2d869 mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc784f136 mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcd7b0073 mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd2d8574c mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd5bb9ad8 mtd_get_device_size +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd61721fe mtd_ooblayout_count_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd7cf1b00 mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd7f3053d mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe2ed6aa3 mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xeb8f8358 mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf77d3d9b unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfab61063 mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x08674f58 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xa47067d5 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xbd2184cf mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xd03243fe register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xef01f6bb deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x06ea3e92 nanddev_bbt_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x0e25d9a4 nand_ecc_init_req_tweaking +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x0e4677a4 nanddev_bbt_set_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x1499f4d4 nanddev_mtd_max_bad_blocks +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x41972b84 mxic_ecc_get_pipelined_engine +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x45806120 mxic_ecc_process_data_pipelined +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x4a16cba2 nanddev_isbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x54446cc1 mxic_ecc_put_pipelined_engine +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x5ad7ddfa nanddev_bbt_update +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x5b6c57d4 nanddev_bbt_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x7a807223 nand_get_large_page_ooblayout +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x8aec47f2 nand_ecc_restore_req +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x8b535b85 nanddev_mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x8fe0d823 nanddev_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x9fea6078 nand_ecc_cleanup_req_tweaking +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xa05d6776 nanddev_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xa429f8fe nand_get_small_page_ooblayout +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xb9d106d8 nand_get_large_page_hamming_ooblayout +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xc2ab6b78 nand_ecc_tweak_req +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xc46a537c nanddev_markbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xc60b53f5 nanddev_bbt_get_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xc901602b nanddev_ecc_engine_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xd5a96ee3 mxic_ecc_get_pipelined_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xf6d8d637 nanddev_ecc_engine_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xf6fdc206 nanddev_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xff078ec8 nanddev_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x29683b78 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0xa99c27a2 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/denali 0x89590447 denali_chip_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x0511ea2b nand_prog_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x097549c7 nand_reset_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x11091291 nand_extract_bits +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x144729c4 nand_soft_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x27eadd48 nand_read_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2d368c4c nand_subop_get_addr_start_off +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x48c25023 nand_ecc_choose_conf +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x50b97005 nand_select_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x512d5012 nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5632e63d nand_subop_get_num_addr_cyc +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5666d41a nand_readid_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x58feaa17 nand_prog_page_begin_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x637866b8 nand_gpio_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x65947d32 nand_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x7344aa1c nand_decode_ext_id +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x779941b1 nand_prog_page_end_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x84992d6e nand_op_parser_exec_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x8807464f nand_erase_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x90248bb4 nand_write_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x930e6439 nand_read_page_hwecc_oob_first +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x9d4506a8 nand_change_write_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xa7188826 nand_read_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xba5504df nand_change_read_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xcea07dc2 nand_deselect_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd19f88e2 nand_read_oob_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd3c672b8 nand_subop_get_data_len +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd41ff2ac nand_subop_get_data_start_off +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xdb68060b nand_reset +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xe3eacaf6 nand_status_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/sm_common 0xc7d91f9b sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x94adbf6d spi_nor_scan +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0xc569cee0 spi_nor_restore +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x0d89c94c ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x1af4815b ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x39fae057 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x409c0e26 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x477bd0ed ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x4b21fb18 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x520dc77c ubi_leb_read_sg +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x66011ab6 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x85a8ee76 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x8939b572 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa38a575e ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xa3b82ef3 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xc52a9eb6 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xe3f69f63 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf5ee9ba8 ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf812e311 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfe4e2e77 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x07c1ddaf mux_chip_free +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x0a65c89f mux_state_try_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x241a9fdd devm_mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x2a7f4fd7 mux_control_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x2fe7ec41 devm_mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x517614c1 devm_mux_state_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x59027e72 mux_control_put +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x5df3c1d8 mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x66e85c4b mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x6f54beca mux_control_try_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7cf08396 mux_state_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x8b3c21d9 mux_control_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x9b37ae47 mux_control_states +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xb12775c4 mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xc0df9bd6 mux_chip_unregister +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xf0420845 devm_mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xfa76e911 mux_state_select_delay +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x9af2219e arcnet_led_event +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0xc273816e devm_arcnet_led_init +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x0f7a730a free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x1e7ba2e3 c_can_power_up +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x569f7740 c_can_power_down +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x7bf16ac5 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xa5e19a94 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xe990a76f unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x362b98cb register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x7d108668 unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xe157a61c alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xeec4ddf5 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x049c06db can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x07371d5b register_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x09b6025c can_change_mtu +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x10d892eb can_get_state_str +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x172ef658 alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x374e3349 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x40b58a2a can_skb_get_frame_len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4767cdcc safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4db80529 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6047ede6 can_fd_len2dlc +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6416f413 can_change_state +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x682931c0 can_rx_offload_add_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6b645339 can_rx_offload_threaded_irq_finish +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x710296c8 can_rx_offload_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x72307389 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7603af76 alloc_canfd_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x76820a86 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x82c831a4 can_rx_offload_queue_tail +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x88182cb0 can_rx_offload_add_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x91668dbd alloc_candev_mqs +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x9784b855 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xa8f92749 can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb290319e can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb2dcc911 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb3787450 can_rx_offload_irq_finish +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb498ec4d can_rx_offload_del +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xca6eea7e can_rx_offload_irq_offload_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd81d1530 alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd92972b5 can_rx_offload_add_manual +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xea7580bb can_rx_offload_queue_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf12d9387 can_fd_dlc2len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xfb11a4c8 can_rx_offload_irq_offload_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x491222e0 m_can_class_register +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x5a4aba33 m_can_class_unregister +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x77b1e762 m_can_class_suspend +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x7c860a6b m_can_init_ram +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x7f707264 m_can_class_free_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x84f0142b m_can_class_resume +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xcf22599e m_can_class_get_clocks +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xf0e94217 m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x9ab5e6ff register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xddc69072 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xe5907f8d unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xe8cc4a1d alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0xdf11fa1a lan9303_indirect_phy_ops +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x0e03b1e5 ksz_init_mib_timer +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x198817bc ksz_mac_link_down +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x2696c210 ksz_r_mib_stats64 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x28e381ff ksz_phylink_get_caps +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x2ae472c0 ksz_port_fdb_dump +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x2b54a01d ksz_update_port_member +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x33254cf0 ksz_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x3e45a347 ksz_port_mdb_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x4d2781b5 ksz_get_stats64 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x4e30b5e1 ksz_port_mdb_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x50cc885c ksz_port_vlan_filtering +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x63d68318 ksz_port_mirror_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x67ed4734 ksz_get_tag_protocol +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x6840635a ksz_phy_write16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x722b58e8 ksz_port_stp_state_set +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xac1e4dec ksz_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xae512032 ksz_port_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xb0689330 ksz_port_mirror_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xb5fdeb25 ksz_phy_read16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xbc4ed175 ksz_port_bridge_leave +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xbc85345c ksz_port_bridge_join +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xbdb9ec39 ksz_switch_chips +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xc2f0e7fd ksz_port_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xca626129 ksz_enable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xe11103b9 ksz_port_fast_age +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xe9c2ad1f ksz_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8365mb 0xc0b59ca8 rtl8365mb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x1207df77 rtl8366_reset_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x28c1b887 rtl8366_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x31780b56 rtl8366_set_pvid +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x46169987 rtl8366_enable_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x55a4ce24 rtl8366_mc_is_used +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x5cbd51aa rtl8366_set_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x6b14247c rtl8366_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x6fa98417 rtl8366_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x8a257e55 rtl8366rb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xcd305493 rtl8366_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xe5781976 rtl8366_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xfebec7e7 rtl8366_enable_vlan4k +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x178ad334 fun_submit_admin_sync_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x22be9e7f fun_bind +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x330d552c fun_free_ring_mem +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x48293dff fun_serv_stop +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x54d241c9 fun_res_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x74e11586 fun_sq_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x91ea988c fun_serv_sched +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xae389a0a fun_cq_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xc18acb20 fun_get_res_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xc979fd51 fun_serv_restart +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xdb39d661 fun_alloc_ring_mem +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0x3bf2705b i40e_client_device_unregister +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0x82d7e789 i40e_client_device_register +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x1de784fc ice_del_rdma_qset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x1e5f5109 ice_rdma_request_reset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x6d760a0d ice_get_qos_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x9c1b1c6a ice_rdma_update_vsi_filter +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0xaf953548 ice_add_rdma_qset +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x024725cc mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x05c7e36d mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0619e5cb mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0a2154fb mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0b9682a8 mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0d0ba02f mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x11f1e0dc mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x14553b3b mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x17b59aeb mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1823c4e7 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x190602e4 mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1b1a99b6 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1c3030f1 mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1d8cc033 mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1eda1cb1 mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1f4efc83 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x24c18dc0 mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x260d101d mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x26e7f2bc mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x28177c13 mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2a3218a7 mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2a473910 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2ad3c6bc mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2b906d52 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2bca9de6 mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x32a85c0d __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x32f310c7 mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3402b1d8 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x34e352fc mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x34f220a7 mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3a7fb2f1 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3dc628d1 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3f1478a7 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x40e4065e mlx4_get_base_gid_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x41a1e07e mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x43ff95f0 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4421eba5 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x44db7d15 mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4736d9c6 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4923cea9 mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4ec16bbe mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4ef6ca5c mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4fc3a584 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x51924500 mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x51cc091f mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5318fe64 mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5b27e265 mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5da36142 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x63e6eb1f mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x64c08fac mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x689a3248 __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x692db92c mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6a8d959a mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6fac6c24 mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x74058750 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x77d39de6 mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7ac5d376 mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7e2cfbd0 mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x81064106 mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x82ce77f2 mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x86dd4fb6 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x881c53db mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x882da679 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x91dd3d48 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x954adbb5 mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x956e2311 mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x956f2e53 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x958275fe mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9682aadd mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x985072b8 mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x999bd488 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9ae5cb6b mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9ba30d24 mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9dc25b46 mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9df55c65 mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9e4d3c26 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9f935872 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa0516c35 mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa34f991f mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa661e3a3 mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaa917228 mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xad81d362 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb1e727dd mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb3975bc8 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb7e05f5b mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb934fd3f mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbc274b5d mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbdc26057 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbe64798e mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbfe3e9c2 mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc3a142c4 mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc61a3e6d mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc648b180 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc9e0d972 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcb439b31 mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcf14ef30 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcf51f482 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd1d60c84 mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd81488ed mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd8c483ce mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdcfa0c0f mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdd57d435 mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdf4ceb82 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe1bb5c6f mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe2dd1220 mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe31e4630 mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe5675e53 mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe6b32e47 mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xea0e8caa mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xebbccab8 mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xecb348aa mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef663341 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf32247af mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf7702418 mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf78a6112 mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf919a861 mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf9af07bb mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfa473fa6 mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfc5a9e32 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfcc7fd23 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfeb8d51e mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x000be847 mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x015d579b mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x072460c4 mlx5_fill_page_frag_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0ae915cf mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0f031de1 mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x125c3eae mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x15380e41 mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x15f76d16 mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x18d64945 mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e504b8c mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e719cd4 mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1f35c2f0 mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x26d0ee5c mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x28d2083d mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2a80fcd1 mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2d9c13d2 mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x37282806 mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x39694289 mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3d02b164 mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4044aac1 mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x40a3a6db mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x411c5dad mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4145f7ef mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x462b2e05 mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4a5df8a3 mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4f8d2db0 mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x538255b6 mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x538a3902 mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x56a51084 mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x595a254e mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x69df5d48 mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6d6378f8 mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x75c212e9 mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7c931e39 mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fa5be7a mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81aadc6a mlx5_fill_page_frag_array_perm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8363007a mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8588d5e4 mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8b5ec1d1 mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9322646f mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x939f4e48 mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x954021bf mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x98a34156 mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x998f096c mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa122d362 mlx5_query_module_eeprom_by_page +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa639bb24 mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb3e978c2 mlx5_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb75e9671 mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb7adbe85 mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb9344d00 mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba14c3b3 mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbbfe6873 mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbd13dc5c mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc4a64db8 mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc601dd54 mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc62dc56a mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcac7ae08 mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcae4c451 mlx5_query_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd0ae2100 mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd17cfd21 mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd32dd5b0 mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xda5a398a mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdbdbd18c mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdfcd8b44 mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe80c3b0e mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xed71ca49 mlx5_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xee2d383d mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf4d6f6f7 mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf73bb567 mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x5f09a08f ks8851_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x71cf7ef6 ks8851_probe_common +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0xb99882da ks8851_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0xf1ac8f0c ks8851_remove_common +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0x6ba878fc devm_regmap_init_encx24j600 +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xcc4fa41a regmap_encx24j600_spi_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xe8c8c6c2 regmap_encx24j600_spi_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x090f52fe ocelot_port_del_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x09f44ea3 ocelot_port_add_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0ac78ccc ocelot_mact_flush +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0c3c9d80 ocelot_port_set_default_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x122409c0 ocelot_cls_flower_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x25656177 ocelot_lag_fdb_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3986e2c0 ocelot_cls_flower_replace +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x39de25a8 ocelot_phylink_mac_link_down +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3f25f9b8 __ocelot_bulk_read_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4f824d4b ocelot_cls_flower_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x50671cd5 ocelot_port_mirror_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5dfd63d7 __ocelot_write_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5fa073d0 ocelot_phylink_mac_link_up +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x81200553 __ocelot_rmw_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x92a1d474 ocelot_port_readl +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x963e4225 ocelot_port_get_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9eab0742 ocelot_port_rmwl +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa1238d6d ocelot_lag_fdb_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa7f18293 ocelot_migrate_mdbs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb3cf2bbd __ocelot_read_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc5c53674 ocelot_port_writel +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xcdbf3f96 ocelot_regfields_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xcde92911 ocelot_get_bridge_fwd_mask +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xdbdacdc6 ocelot_port_assigned_dsa_8021q_cpu_mask +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe5b910db ocelot_port_unassign_dsa_8021q_cpu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe61c1b5a ocelot_port_mirror_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xedeb8d42 ocelot_port_get_default_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xefaffbcd ocelot_port_assign_dsa_8021q_cpu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf6f400b9 ocelot_regmap_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xfea41a8a ocelot_bridge_num_find +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x0460f7a6 stmmac_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x1ae7dd0c stmmac_bus_clks_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x2d8db2a3 stmmac_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x545572d4 stmmac_set_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x601e9207 stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x7488b706 stmmac_dvr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x88219458 stmmac_init_tstamp_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x92d778bb stmmac_get_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x08271f91 stmmac_remove_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x3918f521 stmmac_pltfr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x963d6d84 stmmac_get_platform_resources +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xbba078eb stmmac_probe_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xc5d6fc0e stmmac_pltfr_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x007ec967 w5100_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x25614443 w5100_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x7766fde0 w5100_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0xd52539ba w5100_ops_priv +EXPORT_SYMBOL_GPL drivers/net/geneve 0xf194bf14 geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x6a268d81 ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xaffc131c ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xba036d70 ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xcec74959 ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xed76d7f2 ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/macsec 0xde49030f macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x29f8fa54 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x2b0c2fa8 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xcfcb136a macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xf52006cc macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/mdio/mdio-i2c 0x8186e17d mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x62a30529 net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/net_failover 0xe88dd55f net_failover_create +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x064ff9e9 xpcs_get_interfaces +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x23feefdc xpcs_config_eee +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x36e280d6 xpcs_get_an_mode +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x82bce66d xpcs_do_config +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x8947189e xpcs_link_up +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0xc69d2d93 xpcs_destroy +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0xcb794255 xpcs_create +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0369b91b __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0862381a __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x145a72fe bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x1b2a501e bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x25546513 bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2e9d3023 __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2f6b4ad7 bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x33314dbc bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x44165c1a bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x471ed6b3 bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x4efc5478 bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x55eda300 bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5d87b5c9 bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x76887d7a bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x821a3546 bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x8b6f9bf2 __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xaca51710 bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb1a8d92f bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xbbdd6ed4 bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xbfed7f14 __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc2693d41 bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc8bedbc1 bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc933d260 __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xcb6bacef bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd549bfc1 bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd7662da9 bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe1b4262d bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe6a3b621 bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe96fa925 bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xebd84867 bcm_phy_handle_interrupt +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xf96b26c7 bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xfbd07d89 bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xfd13c84e bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xfd28675e bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x0ddb5f76 phylink_generic_validate +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x12135396 phylink_mac_change +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x15c4e3e2 phylink_ethtool_set_pauseparam +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x16ca1a8a phylink_suspend +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x182541a9 phylink_ethtool_ksettings_get +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x35892517 phylink_mii_c22_pcs_config +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x4386cacd phylink_get_linkmodes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x49acf7cb phylink_mii_c45_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x57727285 phylink_ethtool_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x59e0695d phylink_speed_down +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5d0c4dcc phylink_speed_up +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x62104126 phylink_ethtool_set_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x6fa426d2 phylink_ethtool_nway_reset +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x6fe483e2 phylink_mii_c22_pcs_an_restart +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x825c7340 phylink_get_eee_err +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x8df9a48e phylink_mii_c22_pcs_decode_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x911fcd6c phylink_start +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x983276da phylink_disconnect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xa8fc45ee phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xb384c13e phylink_ethtool_ksettings_set +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xb3a0f870 phylink_create +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc0a8f4be phylink_resume +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc1d15a4c phylink_set_port_modes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc85b7c9f phylink_mii_c22_pcs_encode_advertisement +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xcff1abd9 phylink_decode_usxgmii_word +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xdcb0a2c0 phylink_stop +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xde66f4a7 phylink_mii_ioctl +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xec02ebe0 phylink_init_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xee41ab19 phylink_fwnode_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xeffb4a7a phylink_mii_c22_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf3083a1d phylink_destroy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf3d08410 phylink_connect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf8fe5642 phylink_ethtool_get_pauseparam +EXPORT_SYMBOL_GPL drivers/net/tap 0x0c948d85 tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x3330ec46 tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/tap 0x74629fb5 tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0x7f07331e tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x8bac2c06 tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/tap 0x8f1e99f6 tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/tap 0x9540a25d tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/tap 0x9db2a870 tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0xc07a64c5 tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x4912b96e usbnet_cdc_zte_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x6d6a77f5 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x86f0b772 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x8dddda29 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xbf620401 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xc0da4505 usbnet_ether_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xcc01daeb usbnet_cdc_update_filter +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x067a6baf cdc_ncm_rx_verify_ndp16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x17d11c05 cdc_ncm_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x25cd7ebc cdc_ncm_select_altsetting +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x30a5f27e cdc_ncm_rx_verify_nth16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x424e8019 cdc_ncm_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x6c54bcbe cdc_ncm_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x822332be cdc_ncm_rx_verify_ndp32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x8486e31c cdc_ncm_rx_verify_nth32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x9a705483 cdc_ncm_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xf56aa2c0 cdc_ncm_fill_tx_frame +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xfd69516a cdc_ncm_bind_common +EXPORT_SYMBOL_GPL drivers/net/usb/r8152 0x97b971f6 rtl8152_get_version +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x1f584f60 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x55eaad52 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x948f8410 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xbe0f0909 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xe3b8cae5 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xf40aa845 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x002d6364 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x08a31a5f usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0c1556c5 usbnet_status_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x21243c81 usbnet_read_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2614be29 usbnet_set_rx_mode +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x36ef2e9c usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x38fdb08a usbnet_get_link_ksettings_internal +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3b2913a5 usbnet_status_start +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x41aae5b6 usbnet_update_max_qlen +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4285d547 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x44f45cfe usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4697ee81 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6dda5d80 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7dd150af usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7dfe7379 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x87bf8a65 usbnet_write_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x880b2763 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x89372a8f usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8f70074c usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x92bf3fdf usbnet_set_link_ksettings_mii +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9d9176e1 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9e1bfde5 usbnet_write_cmd_async +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa5c2ccbe usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xad13d006 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xad8ea6d5 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc64079a8 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd08002f3 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdc0ec9a3 usbnet_write_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe0574de4 usbnet_get_link_ksettings_mii +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe222a8db usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe8c9ce92 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe91504ff usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xec822601 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf72f9d50 usbnet_read_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x6ab0b783 vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0xa82eafd1 vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0xc12a642c vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0xeac61bbb vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0x749690b3 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x08bba2ed il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0b9bc82c il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x33d75fa3 il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6aa5ae7f _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe8034e5b il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5987fe45 iwl_fw_lookup_assert_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x71118edc iwl_fw_lookup_cmd_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x74778a2f iwl_fw_lookup_notif_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x02f1d55a p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x0d169b0f p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x0fa416d1 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x2448d0b6 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x4360bf9d p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x489fa854 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x5f749df2 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xb7b4d27c p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xde4f6188 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x0b7deb9b lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x0bd58b1d lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x1c19aee9 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x2899dade lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x3354896a lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x3c4a1ecf lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x56816488 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x70777363 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x8d9b08f6 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xa76867e1 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xb09db6cd lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xcf08ed4a lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xe31c9a4a __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xe340e41d lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xed99b66f lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xfbbcdab4 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x07a687a4 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x500376c8 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x63c4138e lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xb1e089b6 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xe50e8f98 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xf77a467f lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xf955efde lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xf9ee9f2b lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x117c7ba6 mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x2c894984 mwifiex_reinit_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x484e5769 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x4db28d1f mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x56982ad2 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7d1a0e1e mwifiex_multi_chan_resync +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x8bc4822b mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x93d9ed14 mwifiex_prepare_fw_dump_info +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x9a2f8b08 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x9aee188d mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xa263dd63 mwifiex_upload_device_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xa4badd81 mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xa6367f66 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xaa760de0 _mwifiex_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xb33add28 mwifiex_drv_info_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xb6253bab mwifiex_shutdown_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xbb9d12af mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xc75e86ae mwifiex_fw_dump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd4dad9f3 mwifiex_alloc_dma_align_buf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xdb60ff6f mwifiex_queue_main_work +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xe399e720 mwifiex_dnld_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xe49ad697 mwifiex_deauthenticate_all +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xe5dac154 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf1c46ec2 mwifiex_main_process +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf3d7a2c4 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x01adaec8 mt76_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0268c2c7 mt76_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0d54e74f mt76_insert_ccmp_hdr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0f3aaff3 mt76_has_tx_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x12ec0675 mt76_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x149fa7bb mt76_alloc_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x14ec1007 mt76_unregister_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x15cb3772 mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1649c61f mt76_seq_puts_array +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x17f568e9 mt76_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1c5237ca mt76_get_sar_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1e9b00b2 mt76_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1ec57b4f __mt76_worker_fn +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2490a794 mt76_tx_status_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2490c687 mt76_csa_finish +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x25980414 __mt76_poll_msec +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x27d63676 mt76_get_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2a200779 mt76_phy_dfs_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2a89f5c0 mt76_mcu_skb_send_and_get_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2ef2ab04 mt76_eeprom_override +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x30e72a0c mt76_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x30f748a8 mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3743c60c mt76_free_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3d620037 mt76_tx_status_skb_get +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x40de74fc mt76_put_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x40fad8c6 mt76_rx_aggr_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x44822781 mt76_get_of_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4594dccd mt76_ethtool_worker +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x524f952f mt76_pci_disable_aspm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5459c3f9 mt76_register_debugfs_fops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x55c48896 mt76_queue_tx_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x577d392a mt76_mcu_rx_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x58ec52e9 mt76_stop_tx_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x59b260a1 mt76_tx_check_agg_ssn +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x60069c0e __traceiter_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x60781152 __SCK__tp_func_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6414b3d2 mt76_dma_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x648e128e mt76_rx_aggr_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x66dad794 mt76_sw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x684cccc3 mt76_set_stream_caps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x699cc512 mt76_csa_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x69cf63b0 mt76_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6b1b26cf mt76_update_survey_active_time +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6c8b5452 __mt76_set_tx_blocked +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6d61b9e8 mt76_token_release +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6d884074 mt76_get_rate_power_limits +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6e88b61c mt76_txq_schedule +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x73686135 __tracepoint_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7c5eb3ae mt76_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7cd7f00f mt76_unregister_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fa9a187 mt76_tx_status_skb_done +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x81893f98 mt76_set_irq_mask +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x899b0b2a mt76_release_buffered_frames +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x89c92fcc mt76_skb_adjust_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8eb7572b mt76_dma_rx_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x903a7e3b mt76_tx_status_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9474f689 __mt76_mcu_send_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x95535e93 mt76_update_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x977fdb68 mt76_tx_worker_run +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9b36a248 mt76_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa2db9c12 mt76_mcu_send_and_get_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa3722a8d mt76_tx_status_unlock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa4c7b782 __SCK__tp_func_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb17627cd mt76_tx_status_skb_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb34d3b7b mt76_get_min_avg_rssi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb75c69e9 mt76_get_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb9ccc4ee mt76_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbac0697f __mt76_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbb31a266 __SCT__tp_func_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbdee91dc mt76_mcu_get_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbf9345d8 mt76_txq_schedule_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc4b6397a mt76_alloc_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6634315 mt76_ac_to_hwq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xca59d5ad mt76_init_sar_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xcc1ab994 mt76_sta_pre_rcu_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd62a310d mt76_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd8a3084f mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd9d4fe46 mt76_register_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdbd703a6 __tracepoint_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdc7bb0b3 mt76_calculate_default_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdfa4decd __traceiter_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe40b66ef mt76_wcid_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe45628cb __SCT__tp_func_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe5285ca1 __mt76_mcu_msg_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe99c9541 mt76_sta_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xeba69dc6 mt76_init_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xef87954c mt76_token_consume +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf3912c16 mt76_wake_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xfb747af2 __mt76_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xfdc24ea3 __mt76_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x00cb7ab9 mt76_connac_pm_dequeue_skbs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x01a3074e mt76_connac_mcu_rdd_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x0bc5adad mt76_connac_mcu_hw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x0e6981b8 mt76_connac_mcu_set_deep_sleep +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x0f09723f mt76_connac_mcu_patch_sem_ctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x10332a43 mt76_connac_mcu_get_nic_capability +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x169c977f mt76_connac_mcu_set_mac_enable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x1c0ddf27 mt76_connac_get_phy_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x1cad1dd8 mt76_connac_mcu_start_patch +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x1d82c0a5 mt76_connac_mcu_bss_ext_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2813069d mt76_connac_mcu_alloc_wtbl_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x29203226 mt76_connac_mcu_sta_ba_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2a189104 mt76_connac_get_he_phy_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2b4512bd mt76_connac_mcu_coredump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x3b4fbec4 mt76_connac_mcu_wtbl_smps_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x46017386 mt76_connac_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x494ae711 mt76_connac_mcu_beacon_loss_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x4c4c0931 mt76_connac_mcu_sta_update_hdr_trans +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x4fc2a4ec mt76_connac_mcu_set_hif_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5522abc0 mt76_connac_pm_wake +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5593f753 mt76_connac_mcu_set_rate_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5821b024 mt76_connac_mcu_bss_basic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5828c121 mt76_connac_mcu_update_gtk_rekey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x60334f16 mt76_connac_mcu_wtbl_ht_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x63e8d255 mt76_connac2_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6cd97238 mt76_connac_mcu_wtbl_update_hdr_trans +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6f8402b5 __mt76_connac_mcu_alloc_sta_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x78d2450a mt76_connac_free_pending_tx_skbs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7de8df08 mt76_connac_mcu_start_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7e04706c mt76_connac_pm_queue_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x84ebe6c5 mt76_connac_mcu_sched_scan_enable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x86b08b01 mt76_connac_mcu_wtbl_generic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x86fad5fe mt76_connac_sta_state_dp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x885a9c0a mt76_connac_mcu_set_suspend_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x8f621144 mt76_connac_mcu_sta_ba +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x908ca40c mt76_connac_wowlan_support +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x985fdaf6 mt76_connac_mcu_chip_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa16e9449 mt76_connac_mcu_set_channel_domain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa7f39b3b mt76_connac_mcu_reg_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa896d478 mt76_connac_mcu_wtbl_hdr_trans_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xadeb79e7 mt76_connac_power_save_sched +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xaf1083a2 mt76_connac_mcu_set_vif_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xb5126102 mt76_connac_mcu_set_p2p_oppps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xbcb15c3b mt76_connac_mcu_update_arp_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xbd7d4cc7 mt76_connac_mcu_bss_omac_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xbeae6b69 mt76_connac_mcu_uni_add_bss +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xc9eb56f9 mt76_connac_mcu_wtbl_ba_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xcab08d32 mt76_connac_mcu_add_nested_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xceafea41 mt76_connac_mcu_cancel_hw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xd16f1dbc mt76_connac_mcu_sta_uapsd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xd9136335 mt76_connac_mcu_sched_scan_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xd9699a3b mt76_connac_mcu_reg_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xe4e5c8fb mt76_connac_mcu_sta_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xe8c7b185 mt76_connac_mcu_set_pm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xea6d6fe0 mt76_connac_mcu_init_download +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xebf117de mt76_connac_mcu_sta_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf6a26e70 mt76_connac_mcu_add_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xfaa3139b mt76_connac_mcu_set_rts_thresh +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xfaa78706 mt76_connac_mcu_sta_basic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xfc749e06 mt76_connac_mcu_uni_add_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x034b0db8 mt76s_read_pcr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x07fee3db mt76s_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x263d5551 mt76s_write_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x2f15f63e mt76s_alloc_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x36ffba98 mt76s_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x3b5f0181 mt76s_hw_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x427b1c42 mt76s_read_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x4e7c7d78 mt76s_txrx_worker +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x5be64430 mt76s_alloc_rx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x62ef5c55 mt76s_rmw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x7c47c803 mt76s_wr_rp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x84dac58c mt76s_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x92e7e059 mt76s_sdio_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xbe13a66b mt76s_rd_rp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xcd707ac3 mt76s_txqs_empty +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xe0cd6933 mt76s_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x03798331 mt76u_read_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x14b199d5 mt76u_alloc_mcu_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x221d2df3 mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x3b64c3d4 __mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x571b249c ___mt76u_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x6a456c9d mt76u_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x70935cd0 mt76u_single_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x85dd0ec0 __mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x8f70bb9d ___mt76u_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x99de441f mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x9db24c6a mt76u_queues_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xa16e9424 mt76u_stop_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xc8049d17 mt76u_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xe49ace0a mt76u_stop_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x05ec275f mt7615_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x0f40a552 mt7615_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x10cbe4b6 mt7615_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x118a5f30 mt7615_register_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x16b9333c mt7615_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1b9f3ec8 mt7615_txp_skb_unmap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1ce0d05f mt7615_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1fcf79d5 mt7615_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x2965d823 mt7615_rx_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x2ccf102e __mt7663_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x5e0da368 mt7615_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x65f0ce15 mt7615_mcu_fill_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x6b53edd2 mt7615_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x6e51e474 mt7615_thermal_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8b2fe1e2 mt7615_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8c5217d2 mt7622_trigger_hif_int +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8ce455bf mt7615_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x91e1000e mt7615_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa1f5626f mt7615_unregister_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa721396b mt7615_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xb328a04b mt7615_wait_for_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xba18b6af mt7615_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xbd8c5db3 mt7615_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xbf59201a mt7615_mac_set_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xddea8801 mt7615_tx_token_put +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe233fb9f mt7615_init_work +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe8dcc982 mt7615_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xfaf7ebdd mt7615_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615e 0x1816cc7b mt7615_dma_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x09f4aaea mt7663_usb_sdio_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x1506ffca mt7663_usb_sdio_reg_map +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x62898a2b mt7663_usb_sdio_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0xc9a18c67 mt7663_usb_sdio_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0xddb1bb83 mt7663_usb_sdio_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x0d492a61 mt76x0_init_hardware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x12ccd44e mt76x0_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x4e2a0330 mt76x0_chip_onoff +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x7ab16035 mt76x0_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x83c0d990 mt76x0_phy_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xbdfa10b2 mt76x0_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xc35993f8 mt76x0_set_sar_specs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x00055b26 mt76x02_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x021a9a29 mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x03335c47 mt76x02_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0462ce68 mt76x02_add_rate_power_offset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x06045d51 mt76x02_set_tx_ackto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0785cd17 mt76x02_get_efuse_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x07bf6a15 mt76x02_mac_cc_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x093017cc mt76x02_mcu_set_radio_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0acd3656 mt76x02_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0d4023ec mt76x02_get_max_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0f1691d3 mt76x02_enqueue_buffered_bc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x10413449 mt76x02_get_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x14a7e4e5 mt76x02_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1ca00ee7 mt76x02_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1e694178 mt76x02_dfs_init_params +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x21732a0a mt76x02_edcca_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2e2a42e8 mt76x02_init_agc_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2fa9bc0c mt76x02_set_ethtool_fwver +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x33ab26bf mt76x02_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x34f62151 mt76x02_get_lna_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x35d2834d mt76x02_limit_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x368a34fa mt76x02_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x457845f3 mt76x02_mcu_function_select +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4c96cce2 mt76x02_eeprom_parse_hw_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x516ef6c8 mt76x02_phy_dfs_adjust_agc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x56d09c5d mt76x02_phy_set_txdac +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5bd84fd5 mt76x02_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5c9db077 mt76x02_mac_shared_key_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5d4e9d0b mt76x02_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6609beb3 mt76x02_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x69645d50 mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x69f02832 mt76x02_phy_set_band +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6d2adc21 mt76x02_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6dbd0a1f mt76x02_set_coverage_class +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x70577fa7 mt76x02_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x75816334 mt76x02_mac_reset_counters +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x75f965b1 mt76x02_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x764393a3 mt76x02_mac_set_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x81694ab5 mt76x02_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8adf807a mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8efb24d2 mt76x02e_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x91d5b9ee mt76x02_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x92202e08 mt76x02_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x93834a4b mt76x02_tx_set_txpwr_auto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9cf494ab mt76x02_mcu_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa4ba8dcd mt76x02_mac_wcid_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa97abd41 mt76x02_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xafeed534 mt76x02_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb32d76cf mt76x02_resync_beacon_timer +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb896b667 mt76x02_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbf731661 mt76x02_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc25ce65e mt76x02_mac_setaddr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcc35aa69 mt76x02_ext_pa_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcd31cfe2 mt76x02_remove_hdr_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd1a04c1a mt76x02_update_beacon_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd97b9f35 mt76x02_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdba1f270 mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdde176f9 mt76x02_dma_disable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xde14dbb0 mt76x02_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xde2c9c17 mt76x02_mcu_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdec4d196 mt76x02_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe3e8acb0 mt76x02_eeprom_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe74be50c mt76x02_sta_rate_tbl_update +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe9319312 mt76x02_phy_set_bw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xeb8047de mt76x02_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xec785cb5 mt76x02_dma_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf07ba725 mt76x02_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf0e47c6e mt76x02_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf15a61e9 mt76x02_phy_adjust_vga_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf2c5b49e mt76x02_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf633aa3b mt76x02_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x4c4818f3 mt76x02u_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x5e5de1f2 mt76x02u_mcu_fw_send_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x7badf923 mt76x02u_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x7ffe932c mt76x02u_mcu_fw_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xc593a171 mt76x02u_init_mcu +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xd2535628 mt76x02u_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xe7c2981f mt76x02u_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xf8d73a73 mt76x02u_exit_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x0f6b890a mt76x2_phy_set_txpower_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x11a28d35 mt76_write_mac_initvals +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x141d1401 mt76x2_reset_wlan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x4dbe92ed mt76x2_mcu_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x5445382c mt76x2_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x54a97fe3 mt76x2_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x58b3764d mt76x2_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x5ff3b521 mt76x2_phy_tssi_compensate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x6046532d mt76x2_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x84da623c mt76x2_set_sar_specs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x91d7fd10 mt76x2_get_power_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x994e3e96 mt76x2_read_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x9c41a042 mt76x2_apply_gain_adj +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa8fa346f mt76x2_mcu_init_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xce5972ad mt76x2_mcu_load_cr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xd3ff825a mt76x2_get_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xe324da4d mt76x2_configure_tx_delay +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xe496dd9a mt76x2_phy_update_channel_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xebb85e23 mt76x2_get_temp_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xf0a38890 mt76x2_mcu_tssi_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x0621c224 mt7921_tx_check_aggr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x169a5ded mt7921_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x16b18606 mt7921_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x2ae1ca5e mt7921_mac_add_txs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x31be0709 mt7921_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x38d5e6f2 mt7921_mac_sta_assoc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x3dca0e42 mt7921_mcu_drv_pmctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x42860e3c mt7921_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x62697af9 mt7921_usb_sdio_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x6573ba81 mt7921_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x673d3697 mt7921_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x72e43250 mt7921_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7b9aa984 mt7921_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7c82d23f mt7921_mcu_fill_message +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x852b5644 mt7921_mcu_set_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x8a6da44a mt7921_usb_sdio_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x8f7bde62 __mt7921_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xc1487117 mt7921_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xc5be506a mt7921_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xc7e8e5fe mt7921_mcu_fw_pmctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xe4941038 mt7921_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xebf2717a mt7921_usb_sdio_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xf4ccdc71 mt7921_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xfd13e819 mt7921_mac_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xffa32e2c mt7921_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x11e3c2c4 host_sleep_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x3ba2605a wilc_handle_isr +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x4728f931 chip_wakeup +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x6ae176b0 host_wakeup_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xb7b45930 wilc_netdev_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xe1dfa289 wilc_cfg80211_init +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xfd51ea37 chip_allow_sleep +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x13238faf qtnf_wake_all_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x1c3f3157 qtnf_trans_handle_rx_ctl_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x31fab83c qtnf_chipid_to_string +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x3c40ffdb qtnf_classify_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x6272ad2e qtnf_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x63729ec8 qtnf_core_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x770d5de0 qtnf_core_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x03d820a7 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0590d10f rt2800_txdone_nostatus +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1495b0a0 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x16f1b35d rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1bad2c95 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x288914c1 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2df841e7 rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x373a512a rt2800_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3c2b86dd rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x40b7deb6 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4188440c rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4f06c358 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x51110a0b rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x60e05a12 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x62cf7b88 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x637cbf40 rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x68ab4aec rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6bc9ad55 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6bce68eb rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7359f427 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x73a8ac6b rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7563bc98 rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7b3dbc2b rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x89bf0121 rt2800_pre_reset_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x9054c4fe rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa5cf5888 rt2800_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa781dce4 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa8a90af9 rt2800_txstatus_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb12559fd rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb1448593 rt2800_get_txwi_rxwi_size +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb3002a91 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb527fe31 rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb875995b rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc1bfdcaa rt2800_txstatus_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc1f876ae rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xcb5ee1b1 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xcd828a48 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xcf785bb4 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe49cc7af rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe981bf02 rt2800_get_key_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xed1b3e3e rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xef51ee5b rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xfa307864 rt2800_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xfb1feb30 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x00385f75 rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x0e340a76 rt2800mmio_get_entry_state +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x0f827301 rt2800mmio_toggle_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x32ac3645 rt2800mmio_rxdone_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x3b4f36a4 rt2800mmio_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x3d741c87 rt2800mmio_pretbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5028bbb2 rt2800mmio_tbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x52d76dbd rt2800mmio_init_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fa4db64 rt2800mmio_interrupt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x73206d83 rt2800mmio_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x83c2c5a2 rt2800mmio_fill_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x87052c4d rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x94967bae rt2800mmio_write_tx_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x97e3c029 rt2800mmio_autowake_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x99128292 rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9f3c8921 rt2800mmio_txstatus_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xa23fa056 rt2800mmio_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xa6b02143 rt2800mmio_init_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xdb5b2c77 rt2800mmio_get_dma_done +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe64b36e3 rt2800mmio_queue_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe9329d2b rt2800mmio_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xfaf76729 rt2800mmio_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0122fba1 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x017ebdce rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0e378ca5 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x152f8337 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1ad5c30a rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x20c5c0e8 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x22aa547d rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x24602df2 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2662cabc rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2c1e7708 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3b53cc61 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3e333b8d rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x43237e2c rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x44643b4f rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5326ca2e rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x53f05cde rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x607521fd rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6e330114 rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6e826958 rt2x00lib_txdone_nomatch +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x79a8f968 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7b6de416 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7d03c74f rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x801e3002 rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8021d4f3 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8151f73d rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9118142b rt2x00mac_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x923bc3c6 rt2x00lib_set_mac_address +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x93ca5474 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x94669d66 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9d3e0ef6 rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa77bc267 rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa96d966e rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xae9b62a1 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb8bebc63 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xba6ba22f rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xbad55fc9 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc2abe239 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc2b65864 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xcf32ee7e rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd75ad991 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe2ac4218 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xea479e8a rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf06335b0 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf88c3c58 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfa55ae6b rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfbc01043 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfc61301d rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x4517132b rt2x00mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x51b4d382 rt2x00mmio_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x8f996628 rt2x00mmio_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x8fbc8f69 rt2x00mmio_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xbef90954 rt2x00mmio_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x020dc3cc rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x2b92222a rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xe0f2a716 rt2x00pci_pm_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x1dbf298f rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x295f0894 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x59bd637a rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x5ccfcd33 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x745573e7 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x8d5ceb9d rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x996e341b rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xa2bbcaea rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xb7f62b4a rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xbe172979 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xbec0d793 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xc29b82bb rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xd215b9cc rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xe6bebf30 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xedd9060b rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xf9be8fca rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2c99db61 dm_savepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x76bc9c2a rtl92c_set_p2p_ps_offload_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x83d12ae4 dm_restorepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xca2bc198 dm_writepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x20cb952f rtl8723_enable_fw_download +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x21a17959 rtl8723_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x2233fc1f rtl8723_write_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x399c349e rtl8723_phy_path_a_standby +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x3f5bf9c0 rtl8723_phy_calculate_bit_shift +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x4f9315d5 rtl8723_phy_reload_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x53666910 rtl8723_phy_set_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x62956ddb rtl8723_phy_rf_serial_read +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x74b8f438 rtl8723_phy_rf_serial_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7af00a83 rtl8723_save_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x89ef9741 rtl8723_phy_init_bb_rf_reg_def +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x8baf8913 rtl8723_phy_set_sw_chnl_cmdarray +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x8e0f7f0d rtl8723_fw_free_to_go +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x92ee7a51 rtl8723_phy_mac_setting_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x9a7e7c7b rtl8723_dm_init_edca_turbo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa3954167 rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xb3ee92ea rtl8723_phy_pi_mode_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xc1d7099a rtl8723_dm_init_dynamic_bb_powersaving +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xc6857edd rtl8723be_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xcfac2b50 rtl8723_dm_init_dynamic_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xd6789003 rtl8723_phy_reload_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xe2afd0b5 rtl8723_phy_save_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xe5157011 rtl8723_phy_query_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xed32fbe4 rtl8723ae_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xf275f0be rtl8723_phy_path_adda_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xf6d6e0d2 rtl8723_cmd_send_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xfe6cec1a rtl8723_phy_path_a_fill_iqk_matrix +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x109fa401 rtl_fw_page_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x14477819 rtl_tx_mgmt_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x16ca63a8 rtl_get_hwinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x18affbf0 rtl_p2p_info +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2921a4d4 rtl_btc_status_false +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x294d6f1e rtl_init_rx_config +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2d32cdfc rtl_lps_change_work_callback +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2e5382f9 rtl_fill_dummy +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x33376e5d rtl_tx_report_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3414c652 rtl_fw_block_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x417cb024 read_efuse_byte +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x48965161 rtl_action_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4e94cd48 rtl_global_var +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5e5410f0 rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x668fbc09 rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x693d9165 rtl_ips_nic_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6db3ba37 rtl_update_beacon_work_callback +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8068eebd rtl_swlps_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x81625a12 rtl_deinit_rfkill +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8dac5f5a rtl_deinit_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9798c06f rtl_lps_enter +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x97e05663 rtl_tid_to_ac +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9f006525 rtl_set_tx_report +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa2073584 rtl_efuse_ops_init +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xaddc64d6 rtl_init_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb1f976fe rtl_tx_ackqueue +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb6e836f7 rtl_recognize_peer +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc3ea0284 rtl_get_hal_edca_param +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf2af94ba rtl_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf7338b3a rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf91d8b29 rtl_deinit_deferred_work +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0512d2e2 rsi_91x_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0f5c3ce9 rsi_zone_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x848330e8 rsi_read_pkt +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x852302cd rsi_hal_device_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xc7b44885 rsi_91x_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xcd173710 rsi_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xe8fe1074 rsi_mac80211_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x19d9664d cw1200_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x9e617080 cw1200_core_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xd84e989d cw1200_core_release +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xdf146398 cw1200_can_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x09932d3d wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x171b4f60 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xcfb168ed wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x06d3b27e wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0808ec94 wl1271_acx_sleep_auth +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0c3d1aef wlcore_event_roc_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0ddb8834 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1059f449 wlcore_event_soft_gemini_sense +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x17ee8306 wl1271_acx_pm_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1efe8282 wl12xx_cmd_build_probe_req +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1f511c7f wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1f5b2c69 wl1271_tx_min_rate_get +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20351125 wlcore_get_native_channel_type +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2baff3f7 wl12xx_acx_mem_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2f1d01ce wlcore_event_ba_rx_constraint +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x34e5e9d0 wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x397f944d wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3aea6a6b wlcore_set_scan_chan_params +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3c68298b wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3dc2ccf0 wlcore_disable_interrupts_nosync +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x429439c9 wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x484e2e46 wlcore_event_max_tx_failure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x495fbfdb wlcore_event_sched_scan_completed +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4f412687 wlcore_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5158080e wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5eb2c131 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7432189e wlcore_event_rssi_trigger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7814c1ab wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fb9b279 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x81ef20b3 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x85498cd1 wl1271_format_buffer +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x85cca740 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x88baf902 wl1271_acx_init_mem_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8d2625aa wl1271_tx_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x92f18472 wlcore_event_dummy_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9aee0621 wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa15baf18 wlcore_scan_sched_scan_results +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb1dd0e18 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb23fdc49 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb5e2ad57 wlcore_cmd_wait_for_event_or_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb7954d31 wlcore_event_channel_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb8c71b55 wlcore_scan_sched_scan_ssid_list +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xbb7e0974 wlcore_event_inactive_sta +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xdbd6c218 wl1271_acx_set_ht_capabilities +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe1e28fb0 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xee76b1c7 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf643ea4e wl1271_debugfs_update_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf741e7ed wl1271_cmd_data_path +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xfb105411 wlcore_cmd_generic_cfg +EXPORT_SYMBOL_GPL drivers/nfc/mei_phy 0x0dca6777 nfc_mei_phy_free +EXPORT_SYMBOL_GPL drivers/nfc/mei_phy 0x42a3d5d1 nfc_mei_phy_alloc +EXPORT_SYMBOL_GPL drivers/nfc/mei_phy 0x51eb9fce mei_phy_ops +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x193c8317 nfcmrvl_nci_unregister_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xc2bfb469 nfcmrvl_nci_recv_frame +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xd3c0701e nfcmrvl_parse_dt +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xfaffb21f nfcmrvl_nci_register_dev +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x321412c3 pn533_rx_frame_is_cmd_response +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x3d0fd94b pn53x_register_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x549fbd2e pn532_i2c_nfc_alloc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x5a2c5f93 pn53x_common_clean +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x820e1320 pn533_finalize_setup +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xb4bbf1de pn53x_common_init +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xb5469205 pn53x_unregister_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdecfd339 pn533_rx_frame_is_ack +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x44c8c5cd st_nci_probe +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x4fa3ddf6 st_nci_remove +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x899b9460 st_nci_discover_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x94fd3abd st_nci_disable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x9b3141e4 st_nci_enable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xba7797cf st_nci_hci_load_session +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xdf2a070c st_nci_hci_event_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xf3d9bfd1 st_nci_hci_cmd_received +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x9d10dc83 st95hf_spi_send +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x9fc98a20 st95hf_spi_recv_response +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xf7a62e71 st95hf_spi_recv_echo_res +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x0862001f ntb_transport_tx_free_entry +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x2db7bfbe ntb_transport_unregister_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x30934216 ntb_transport_max_size +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x32537aca ntb_transport_link_query +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x3d54dbfc ntb_transport_tx_enqueue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x436098aa ntb_transport_link_down +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x82e6c13d ntb_transport_qp_num +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x9c992c8f ntb_transport_link_up +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xbf1e25ac ntb_transport_create_queue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xc270dc24 ntb_transport_free_queue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xc37d9036 ntb_transport_rx_remove +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xc8879325 ntb_transport_register_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xd40e7a02 ntb_transport_rx_enqueue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xf55d6313 ntb_transport_register_client_dev +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xf9eb813f ntb_transport_unregister_client_dev +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0x84495bdf async_pmem_flush +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0xe397abc1 virtio_pmem_host_ack +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x031593a5 nvme_disable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x0d3afc19 nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1d3b857a nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1e15020b nvme_enable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1ed44584 nvme_start_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x21068082 nvme_init_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x27da345c nvme_get_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2d8d5bda nvme_sync_io_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2f4a8b2f nvme_uninit_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3013f3b4 __traceiter_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3225e29e nvme_remove_namespaces +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x39e85534 __nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3bf2393a __SCT__tp_func_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49197e19 __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49d3847a nvme_setup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4d203b0b nvme_stop_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x530c6970 nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5f41384e nvme_set_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x643d76fe nvme_cancel_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6b927401 nvme_start_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6c011887 nvme_unfreeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x75fab9be nvme_reset_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7a58c094 nvme_complete_rq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7ad15934 nvme_fail_nonready_command +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x813cf212 nvme_io_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x85df63cc nvme_kill_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8a9c70ed nvme_sec_submit +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x944b50fd nvme_start_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9a740a90 nvme_init_ctrl_finish +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9b14687e nvme_host_path_error +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa0108b1b nvme_wait_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa0e9aa4b nvme_change_ctrl_state +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa17c0277 nvme_delete_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa55ed5ec nvme_cleanup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xaba9688f nvme_stop_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb05f9925 nvme_sync_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb3c28d5c nvme_init_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb6bde13b nvme_try_sched_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xba5c6203 nvme_wait_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xbc5008dd nvme_stop_keep_alive +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc9f3cb8b nvme_complete_batch_req +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd45434ee admin_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd58bbbcb nvme_delete_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xdb98ac7b nvme_complete_async_event +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe1673b64 nvme_cancel_admin_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe3c40ea8 __nvme_check_ready +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xeb0b0bc8 nvme_start_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xeba52615 nvme_cancel_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf042465e nvme_set_queue_count +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf949acc5 nvme_stop_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf9629692 __SCK__tp_func_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x14db9f23 nvmf_connect_io_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x18b319c1 nvmf_reg_read64 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x51c659eb nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x82bd8abf nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x885bc00d nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x99d00bb7 nvmf_connect_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x9b3e24ff nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xae2e7671 nvmf_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xc8f325d8 nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xd5854279 nvmf_ip_options_match +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xedb8a468 nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x0d12e564 nvme_fc_register_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x3884f8b8 nvme_fc_unregister_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x3e33ac54 nvme_fc_rescan_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x58e312f7 nvme_fc_io_getuuid +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x8a9cf5a7 nvme_fc_set_remoteport_devloss +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xbb0e18a6 nvme_fc_rcv_ls_req +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xd749713f nvme_fc_register_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xfca9dc99 nvme_fc_unregister_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x066ade0a nvmet_sq_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x1decae3c nvmet_req_alloc_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x29275ef4 nvmet_req_complete +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3e0ef07a nvmet_wq +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x454c2437 nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x4a68b21a nvmet_check_transfer_len +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7da663a1 nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x9f33821c nvmet_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xdcf4459e nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xe5799104 nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xe628e352 nvmet_ctrl_fatal_error +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xfc35cf1f nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x0b98123d nvmet_fc_rcv_ls_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x1048b92a nvmet_fc_rcv_fcp_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x144bf2dd nvmet_fc_register_targetport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x4a013682 nvmet_fc_invalidate_host +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x7fa5302a nvmet_fc_rcv_fcp_abort +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x9ef76d99 nvmet_fc_unregister_targetport +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0x1591b2c6 hyperv_read_cfg_blk +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0x221394ae hyperv_reg_block_invalidate +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0xe5f73406 hyperv_write_cfg_blk +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0xfb921e00 hvpci_block_ops +EXPORT_SYMBOL_GPL drivers/pci/switch/switchtec 0x750f12b3 switchtec_class +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x84fef8c0 mcp23x17_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xb4855c2f mcp23x08_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xd41f1d28 mcp23s08_probe_one +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x0556eaab cros_ec_sensorhub_register_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x26c2b40f cros_ec_sensorhub_unregister_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros_usbpd_notify 0x6b1be500 cros_usbpd_unregister_notify +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros_usbpd_notify 0x8bda2df3 cros_usbpd_register_notify +EXPORT_SYMBOL_GPL drivers/platform/chrome/wilco_ec/wilco_ec 0x112134ec wilco_ec_set_property +EXPORT_SYMBOL_GPL drivers/platform/chrome/wilco_ec/wilco_ec 0x24eef51f wilco_ec_get_byte_property +EXPORT_SYMBOL_GPL drivers/platform/chrome/wilco_ec/wilco_ec 0x75bf4d33 wilco_ec_get_property +EXPORT_SYMBOL_GPL drivers/platform/chrome/wilco_ec/wilco_ec 0x8b8ae425 wilco_ec_set_byte_property +EXPORT_SYMBOL_GPL drivers/platform/chrome/wilco_ec/wilco_ec 0xcc16fe11 wilco_ec_mailbox +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x0732902b ssam_device_remove +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x0c5ac2d1 ssam_bus_type +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x12218bf2 ssam_get_controller +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x135c9715 ssam_client_link +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x13add793 ssam_controller_get +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x190c96d6 ssam_controller_event_enable +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x2055d784 __ssam_device_driver_register +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x318b84f2 ssam_controller_statelock +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x31f079b8 ssam_device_get_match_data +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x421a5e8c ssam_controller_stateunlock +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x42a280a3 ssam_notifier_unregister +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x4529e0fd ssam_device_add +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x48d46c42 ssam_remove_clients +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x56022f47 ssam_controller_put +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x582d0943 ssam_device_type +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x6bfb0767 ssam_request_sync +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x71493c1c ssam_notifier_register +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x74d994a0 ssam_device_alloc +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x87f11279 ssam_request_sync_with_buffer +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x987577b2 ssam_request_sync_alloc +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x9f3d5e3b ssam_device_driver_unregister +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xa5e767cd ssam_request_sync_submit +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xa6c0c698 ssh_packet_get +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xa8ce5415 ssam_controller_event_disable +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xbef8f61d ssam_request_write_data +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xc1f8f627 ssam_controller_device +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xc2bd582d ssam_device_id_match +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xc9cf8d83 ssam_device_get_match +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xca5ebf62 ssam_client_bind +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xd0b21e3a ssam_request_sync_init +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xfc0e04e3 ssam_request_sync_free +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xfff3e288 ssh_packet_put +EXPORT_SYMBOL_GPL drivers/platform/surface/surface_acpi_notify 0x48cf4c48 san_dgpu_notifier_register +EXPORT_SYMBOL_GPL drivers/platform/surface/surface_acpi_notify 0x495c97c1 san_client_link +EXPORT_SYMBOL_GPL drivers/platform/surface/surface_acpi_notify 0xd60bd773 san_dgpu_notifier_unregister +EXPORT_SYMBOL_GPL drivers/platform/x86/amd_hsmp 0xdfd927ba hsmp_send_message +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0x57c46ceb asus_wmi_evaluate_method +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0x6aa9cf0f asus_wmi_register_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/asus-wmi 0xa6ac23e6 asus_wmi_unregister_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dcdbas 0xd9146b52 dcdbas_smi_free +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dcdbas 0xf1a06655 dcdbas_smi_alloc +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-rbtn 0x51552fca dell_rbtn_notifier_unregister +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-rbtn 0xa060fe7d dell_rbtn_notifier_register +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-smbios 0x1b0b3141 dell_laptop_register_notifier +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-smbios 0x45170471 dell_smbios_call +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-smbios 0x7fd2ce06 dell_smbios_find_token +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-smbios 0xb9400dbf dell_laptop_call_notifier +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-smbios 0xc0405dfc dell_smbios_register_device +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-smbios 0xc2871e79 dell_smbios_error +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-smbios 0xd6c6b12d dell_laptop_unregister_notifier +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-smbios 0xd702948c dell_smbios_unregister_device +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-smbios 0xefc33120 dell_smbios_call_filter +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-wmi 0x9d4b709e dell_privacy_has_mic_mute +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-wmi-descriptor 0x8eef8246 dell_wmi_get_hotfix +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-wmi-descriptor 0x9559234e dell_wmi_get_interface_version +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-wmi-descriptor 0xa167d064 dell_wmi_get_size +EXPORT_SYMBOL_GPL drivers/platform/x86/dell/dell-wmi-descriptor 0xa3dcfa65 dell_wmi_get_descriptor_valid +EXPORT_SYMBOL_GPL drivers/platform/x86/firmware_attributes_class 0x8a00747b fw_attributes_class_get +EXPORT_SYMBOL_GPL drivers/platform/x86/firmware_attributes_class 0xe609be46 fw_attributes_class_put +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/intel_punit_ipc 0x8ee9455e intel_punit_ipc_command +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/pmt/pmt_class 0x377193ce intel_pmt_is_early_client_hw +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/pmt/pmt_class 0x4ca9c171 intel_pmt_dev_destroy +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/pmt/pmt_class 0x8ca88bd0 intel_pmt_dev_create +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/speed_select_if/isst_if_common 0x06f7821f isst_if_mbox_cmd_set_req +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/speed_select_if/isst_if_common 0x0912662c isst_if_get_pci_dev +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/speed_select_if/isst_if_common 0x58a8261f isst_if_mbox_cmd_invalid +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/speed_select_if/isst_if_common 0x861369f8 isst_resume_common +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/speed_select_if/isst_if_common 0x974ebed7 isst_if_cdev_register +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/speed_select_if/isst_if_common 0x9a5c38f2 isst_store_cmd +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/speed_select_if/isst_if_common 0xe18f42a5 isst_if_cdev_unregister +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0x1c7565c2 telemetry_read_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0x35db93a6 telemetry_get_trace_verbosity +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0x5847f501 telemetry_clear_pltdata +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0x5bb8e91a telemetry_raw_read_eventlog +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0x665cd407 telemetry_read_eventlog +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0x6b892524 telemetry_set_sampling_period +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0x82bb2dbe telemetry_get_evtname +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0x90551504 telemetry_add_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0x9deec96c telemetry_set_pltdata +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0xb75bd1e6 telemetry_raw_read_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0xbb9a2726 telemetry_reset_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0xd14ffffc telemetry_update_events +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0xe1eb4be1 telemetry_set_trace_verbosity +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0xe8847f53 telemetry_get_sampling_period +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0xf00771b0 telemetry_get_eventconfig +EXPORT_SYMBOL_GPL drivers/platform/x86/intel/telemetry/intel_telemetry_core 0xf9d5ad60 telemetry_get_pltdata +EXPORT_SYMBOL_GPL drivers/platform/x86/intel_ips 0x46809fa9 ips_link_to_i915_driver +EXPORT_SYMBOL_GPL drivers/platform/x86/mxm-wmi 0x232b5238 mxm_wmi_supported +EXPORT_SYMBOL_GPL drivers/platform/x86/mxm-wmi 0x61cdf799 mxm_wmi_call_mxds +EXPORT_SYMBOL_GPL drivers/platform/x86/mxm-wmi 0xe26032eb mxm_wmi_call_mxmx +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x062941d4 wmidev_block_query +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x065b4695 wmi_get_acpi_device_uid +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x17b0f8ca wmi_get_event_data +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x35e882b5 wmidev_evaluate_method +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x3db629ed set_required_buffer_size +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x6068bedf wmi_evaluate_method +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0x76ae31fd wmi_remove_notify_handler +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xaba842fe wmi_query_block +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xc9d4d6d1 wmi_has_guid +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xd7752b86 wmi_set_block +EXPORT_SYMBOL_GPL drivers/platform/x86/wmi 0xf18bdd75 wmi_install_notify_handler +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x70f656d4 bq27xxx_battery_setup +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xb52a72c7 bq27xxx_battery_update +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xb96454a4 bq27xxx_battery_teardown +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x44aa15db pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x649950f4 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x869a214b pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0x689dc56d rapl_remove_package +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0xb6a9d09b rapl_find_package_domain +EXPORT_SYMBOL_GPL drivers/powercap/intel_rapl_common 0xb9f38a87 rapl_add_package +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x1cb03143 mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x4eb8468e mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x51d7bb9b mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x2fa223e4 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x4fcb69fb wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x69ece973 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x94c7fd0e wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xc46345a2 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xe1103be3 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0xa3cbd556 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x149236da qcom_glink_native_remove +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x9123f9f0 qcom_glink_native_probe +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xf14f5684 qcom_glink_ssr_notify +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xfd2d5a1d qcom_glink_native_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x046b8403 cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x097998bc cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x16365d83 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1cbae870 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1e003b6d cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1e53f835 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x23097ff9 cxgbi_device_find_by_netdev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2c943454 cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x30f39dd3 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3a792c39 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3c7dc0a1 cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x50ce8fd8 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x553bd87d cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x58ffdbdd cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x660e8ed0 cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x67c3828f cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x75ac1ed4 cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x77ddfe94 cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7b504d66 cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x815677a9 cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x83f3a0e3 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x87d010c2 cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8dd330ff cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8ee520ad cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9415e3da cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9e6dae25 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa16e90d2 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaa8ecf1f cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaec131c1 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb1f656e3 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc011af75 cxgbi_ddp_set_one_ppod +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc1af162c cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc1eaed54 cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc5e10885 cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd0428871 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd1f0de08 cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd3d0f286 cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdf08815e cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe1b13471 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe2ab1a3b cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe81d662f cxgbi_device_find_by_netdev_rcu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf0994ca7 cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf7f564a2 cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfa6fb553 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfb38d05a cxgbi_ddp_ppm_setup +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0364b429 fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x07a3bd8e fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0cab17d1 fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0ea057ca fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x14497b9f fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x240c763d fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x278491fb fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5942e622 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x68a325f4 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x6db47121 fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x82b2ac7f fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8a2939c1 fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8e52e18e __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x90d7071e fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbac58840 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc3f30cc0 fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf0d8a971 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf167cb7a fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf3e0f82f fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x6378e34e fdomain_destroy +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x75a614a4 fdomain_create +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x3ead49c7 iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x5f81f622 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xa24e6f6d iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xa3bdf937 iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xb0c51e52 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xbefa746d iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xf8035f2d iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0x09279ed6 fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x02dae90a iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x047e1ee7 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x094ac611 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0b4b8d00 iscsi_conn_unbind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x13196bfb iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x142ee36a iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x16077a21 iscsi_session_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x283c1df1 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2acbd0bd iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2ad405bc iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x31ad121c iscsi_session_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x33417689 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4b50e8f5 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4f0d0938 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5136b852 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x61632891 iscsi_conn_queue_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x694b40b9 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x70830af1 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x741c9c96 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7740209c iscsi_suspend_rx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7b23a746 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x811514ca iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x813b7d3b __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x879d8188 iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8bb3f9dc iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d303b1b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x982e5be7 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9993163b iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x99d36799 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9e1c82b7 iscsi_host_get_max_scsi_cmds +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xab4dcff9 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb140dd00 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb5fe4e5b iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbf52c1fd iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc3541104 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcbe834ba iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcbf6ea23 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd0bc665b iscsi_conn_queue_recv +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd3c9fdca iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdd8555c8 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xde0f2408 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xde718a94 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe291a805 iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe4cd7c12 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeab9cbd5 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xee83ae67 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf124cc70 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf3e9b220 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf54c0161 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfcd17762 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x04b9ace5 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1d40a5e2 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1ed7e77d iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3033a1df iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3fc124fb iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4636488d iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x53caedee iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5976c603 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6af77a99 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x83921714 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9154eaa5 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb824b4e7 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd20fc9d1 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd21632be iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd91b460e iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd9c27278 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf721473f iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x08beb7dd sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x111f8675 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x139bab8c sas_ata_wait_after_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x18a6d292 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1fc485af sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x25605519 sas_lu_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x30bb78cd sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x32631c70 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x37462a3d sas_query_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x48ec57fd sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4c0a31b3 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4e2d19ef sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x53213292 sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5b913fa9 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5eddba7e sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x62248e9b sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6ee81e51 sas_notify_phy_event +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7ef1b4af sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9b346679 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9bbda26a sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9e7bca40 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa51881b7 sas_execute_internal_abort_single +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa6dd69ac sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xaaf64082 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xaf73dad5 sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xaff89449 sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb060bec2 sas_abort_task_set +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb13f5af5 dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbc3df122 sas_notify_port_event +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd13cb00c sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xdacd92a0 sas_execute_ata_cmd +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe58de6a9 sas_clear_task_set +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xee2bb6fd sas_abort_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xee5371a3 sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf35007fd sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfbb782a7 sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfc4b5a4e sas_execute_internal_abort_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_fc 0xc26daab1 fc_eh_should_retry_cmd +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x07ef4c1c __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0b443d86 __SCK__tp_func_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0bb3cbf1 __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0e2e6904 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x117912c3 __SCK__tp_func_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x15dc8bab __SCT__tp_func_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1b6e6daa iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1cea8b83 iscsi_get_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x224e4b05 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x22d1a84a iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2309b16c iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x239cf869 __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x264fcd14 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x27cf4e27 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x28875624 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x33b5008b iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x395b3a35 __SCK__tp_func_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x39ceff9e iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3e7d15a5 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x40babbde iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x40be39fe iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4e95afd8 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x52575134 __SCT__tp_func_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x530450af iscsi_force_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5470a81a iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x56e3a100 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5e8fd45b iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x64c4e51f __traceiter_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6790eae7 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6dcd85c2 iscsi_alloc_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7670f104 __traceiter_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x774a9861 iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7ab83df6 iscsi_put_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7e08b8e8 iscsi_add_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x81faa0c3 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x83b727bb iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84a005f1 iscsi_get_router_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x87b6106a __traceiter_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8cef8c33 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8e36984a iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x90e868fd iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x97485bce __traceiter_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9bd4a244 __SCK__tp_func_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa8c4b5e1 __SCT__tp_func_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xad54fb5e iscsi_put_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xae655426 iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb1bfca9c iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc071179 iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc26d6b9 __traceiter_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xca968311 iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcae056c6 iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcb0463fb __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xce79a530 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd16017b6 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd4d59e76 iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd73c5bce iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdf515c49 __SCT__tp_func_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe0abb721 iscsi_remove_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe208aea5 __SCK__tp_func_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe6018138 iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe64c8e81 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf7e749fb __SCT__tp_func_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf81fbe1a iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf8f275b1 iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xffc146ce __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x154bdd67 sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xd1ba82e9 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xdd0abd8a sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xec2e54b8 sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x77637617 spi_populate_tag_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xcffa2aff spi_populate_width_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1902178a srp_tmo_valid +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x2210311f srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x30703426 srp_stop_rport_timers +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x507f6d76 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x5dc70423 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xb61b4bed srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xdf7d5174 srp_remove_host +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x1250c338 siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x2e28c6b6 siox_device_connected +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x68e608d5 siox_master_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x7a2591e5 __siox_driver_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xb021834d siox_master_unregister +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xfce1110f siox_master_alloc +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x108331a0 slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x12aaf321 slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x139cafba slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x149a091a slim_device_report_present +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x1aee7975 slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x24a876c0 __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x2537866c of_slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x25df2d1f slim_stream_disable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x27874343 slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x2e23c070 slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x2e7b9b16 slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x30099cf0 slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x30493541 slim_get_logical_addr +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x488094bd slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x54d0aa93 slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x56fa4118 slim_register_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x789e27bf slim_writeb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x809e8705 slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x823c7b81 slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x94f82d10 slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xa7e2ab51 slim_msg_response +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xb277fe58 slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd2836ec3 slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xea8085e9 slimbus_bus +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xeecea8a4 slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf9519051 slim_do_transfer +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x356a8f0a sdw_unregister_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x40d2ec1e __sdw_register_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x62a69a40 sdw_bus_type +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-cadence 0x66b97743 sdw_cdns_debugfs_init +EXPORT_SYMBOL_GPL drivers/spi/spi-altera-core 0x7e81c9e5 altera_spi_init_master +EXPORT_SYMBOL_GPL drivers/spi/spi-altera-core 0xb9edd149 altera_spi_irq +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x1b225078 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x1d9d94da spi_bitbang_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x73cf1fb4 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x9abc3380 spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xbbf99cd9 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xc3c798b0 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-intel 0x98d7c215 intel_spi_probe +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x24471f92 spi_test_run_test +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x2d1e35e4 spi_test_execute_msg +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x88f9e1a9 spi_test_run_tests +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x0507a8c1 spmi_command_reset +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x0cb129c7 spmi_command_shutdown +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x13dd8f5d __spmi_driver_register +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x1b24d78a spmi_device_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x236da25d spmi_device_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x32f0f497 spmi_controller_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x3eba8102 spmi_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x4eebf28c spmi_controller_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x528538cd spmi_command_sleep +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x5d1ff9bd spmi_ext_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x6d690bdf spmi_controller_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x86e3e0ac spmi_ext_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x8b4e263d spmi_ext_register_writel +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x9e21059b spmi_ext_register_readl +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xa055197b spmi_device_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xb880efaf spmi_command_wakeup +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xde5f50ef spmi_register_zero_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xe9314967 spmi_register_read +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0x81aedfbd ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x04ab5c20 fieldbus_dev_area_updated +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x5a7f9fff fieldbus_dev_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x5ba309c8 fieldbus_dev_online_changed +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x6ee1f9ed fieldbus_dev_register +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x0eafe25d gb_audio_apbridgea_shutdown_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x3539ed9f gb_audio_apbridgea_start_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x35877c49 gb_audio_apbridgea_start_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x38b05f81 gb_audio_apbridgea_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x4292a1be gb_audio_apbridgea_prepare_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x6878b118 gb_audio_apbridgea_stop_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x69f20360 gb_audio_apbridgea_unregister_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x73047b92 gb_audio_apbridgea_set_config +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x99b3f5de gb_audio_apbridgea_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xa1f40a66 gb_audio_apbridgea_shutdown_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xc7235923 gb_audio_apbridgea_stop_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xce32769f gb_audio_apbridgea_register_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xedc94985 gb_audio_apbridgea_prepare_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x01ac1906 gb_audio_gb_get_topology +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x1ca593ec gb_audio_gb_set_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x22773e4f gb_audio_gb_set_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x2e286ff9 gb_audio_gb_enable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x8d9a3c7f gb_audio_gb_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x972d9012 gb_audio_gb_get_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x9c2a383d gb_audio_gb_deactivate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xb15dab0c gb_audio_gb_deactivate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xb282df8e gb_audio_gb_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xc1d42e13 gb_audio_gb_activate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xc8bb47b4 gb_audio_gb_get_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xd6ec54d6 gb_audio_gb_disable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xeca3bd22 gb_audio_gb_activate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x19e9e6b1 gb_audio_manager_remove_all +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x32e6391e gb_audio_manager_remove +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x4b2376ba gb_audio_manager_put_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x5a108b0f gb_audio_manager_add +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x79eef2f8 gb_audio_manager_dump_all +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0xaeac8ca2 gb_audio_manager_dump_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0xdc4ed4ec gb_audio_manager_get_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x597f85a7 gb_gbphy_deregister_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0xdca2a298 gb_gbphy_register_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x885c6769 gb_spilib_master_exit +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x98099820 gb_spilib_master_init +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0x05896d56 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper 0x214e0395 apply_msr_data +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper 0xcdd38a98 load_msr_list +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/i2c/atomisp-libmsrlisthelper 0xe4a30d53 release_msr_list +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0x2cfa1b2c atomisp_gmin_find_subdev +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0x5a9ae93c camera_sensor_csi +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0x709b5454 gmin_get_var_int +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xbae0e12f atomisp_get_default_camera_caps +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xbd40ffa9 gmin_camera_platform_data +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xc52c1258 atomisp_gmin_register_vcm_control +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xdbbb9256 atomisp_gmin_remove_subdev +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xdde22874 atomisp_register_i2c_module +EXPORT_SYMBOL_GPL drivers/staging/media/atomisp/pci/atomisp_gmin_platform 0xea243a34 atomisp_get_platform_data +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x0384fe4b target_init_cmd +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x47d84363 target_submit +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0xd1da9c8d target_queue_submission +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0xfa427f5d target_submit_prep +EXPORT_SYMBOL_GPL drivers/tee/tee 0x0a61dfad tee_client_close_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0x0de9dd5b tee_bus_type +EXPORT_SYMBOL_GPL drivers/tee/tee 0x0f4fe25f tee_device_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0x19cc5f44 tee_shm_put +EXPORT_SYMBOL_GPL drivers/tee/tee 0x1a0088e8 tee_client_get_version +EXPORT_SYMBOL_GPL drivers/tee/tee 0x1d963da0 tee_client_open_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x22ec71fb tee_shm_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0x29bffe79 teedev_open +EXPORT_SYMBOL_GPL drivers/tee/tee 0x31a12ad3 tee_client_open_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0x456727a8 tee_device_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0x523719ef tee_shm_pool_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7a28ab6d tee_client_invoke_func +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7bc342b0 tee_shm_register_kernel_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0x8177b889 tee_shm_get_va +EXPORT_SYMBOL_GPL drivers/tee/tee 0x85cb26d0 tee_device_unregister +EXPORT_SYMBOL_GPL drivers/tee/tee 0x85fd9922 tee_session_calc_client_uuid +EXPORT_SYMBOL_GPL drivers/tee/tee 0x8b3d47c6 tee_shm_get_pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0x8f05a04d tee_client_close_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x9f9f4d05 tee_get_drvdata +EXPORT_SYMBOL_GPL drivers/tee/tee 0xa6839f4e tee_shm_alloc_priv_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0xaaceff6e tee_shm_alloc_kernel_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0xc957c8b9 teedev_close_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0xd8ccad8e tee_shm_get_from_id +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/int340x_thermal_zone 0x8a24d7f5 int340x_thermal_zone_add +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/int340x_thermal_zone 0xb3d37764 int340x_thermal_zone_remove +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/int340x_thermal_zone 0xbe5c609c int340x_thermal_read_trips +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_device 0x36b0e48f proc_thermal_resume +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_device 0x37450645 proc_thermal_add +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_device 0x5f04b50e proc_thermal_mmio_add +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_device 0x6473175a proc_thermal_remove +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_device 0x9bafcd13 proc_thermal_mmio_remove +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_device 0xf188eb09 proc_thermal_suspend +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_mbox 0x6eca6839 proc_thermal_mbox_remove +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_mbox 0xf7a1f393 proc_thermal_mbox_add +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_rapl 0x098e82d4 proc_thermal_rapl_remove +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_rapl 0xc4d4f89a proc_thermal_rapl_add +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_rfim 0x2b97ba2f proc_thermal_rfim_add +EXPORT_SYMBOL_GPL drivers/thermal/intel/int340x_thermal/processor_thermal_rfim 0xa3d1cf05 proc_thermal_rfim_remove +EXPORT_SYMBOL_GPL drivers/thermal/intel/intel_soc_dts_iosf 0x07f9105c intel_soc_dts_iosf_exit +EXPORT_SYMBOL_GPL drivers/thermal/intel/intel_soc_dts_iosf 0x146e6310 intel_soc_dts_iosf_init +EXPORT_SYMBOL_GPL drivers/thermal/intel/intel_soc_dts_iosf 0x5f1acdac intel_soc_dts_iosf_add_read_only_critical_trip +EXPORT_SYMBOL_GPL drivers/thermal/intel/intel_soc_dts_iosf 0xba2443fc intel_soc_dts_iosf_interrupt_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x00c0a05b tb_ring_alloc_rx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x01d23ee1 tb_property_create_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x0e6fed39 tb_xdomain_alloc_out_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x0f2530e9 tb_xdomain_release_in_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x0f2eb98a tb_xdomain_alloc_in_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x1ec805f1 tb_xdomain_lane_bonding_enable +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x23bc3229 tb_ring_stop +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x2fc5c55d tb_service_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x34a892dd tb_ring_poll +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x393b4f2f tb_property_free_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4754ab72 tb_ring_poll_complete +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4e5064a7 tb_property_find +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4e64bdfd tb_register_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4f01a599 tb_xdomain_find_by_uuid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x5549a56f tb_register_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x5af11fe2 tb_ring_start +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x5b6316c8 tb_xdomain_response +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x603249ed tb_unregister_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x658e3d97 tb_property_add_immediate +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x73ad2acb tb_property_get_next +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x785eb82c tb_property_remove +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7ac498ba __tb_ring_enqueue +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x817fa670 tb_xdomain_disable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x8b62f95e tb_property_add_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x9054fefb tb_ring_free +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x9a848471 tb_unregister_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa3d2b403 tb_property_add_data +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xada2e83b tb_ring_alloc_tx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb6ad5177 tb_xdomain_find_by_route +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb7c7cdce tb_property_add_text +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xc19a2f68 tb_xdomain_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xd5f03641 tb_xdomain_request +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xda78c81c tb_xdomain_enable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xdad4d652 tb_xdomain_release_out_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf1cfd1ff tb_register_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf76028c7 tb_unregister_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf9247fec tb_xdomain_lane_bonding_disable +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x023b72f2 ufshcd_release +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x0772df03 ufshcd_hba_enable +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x3f86e897 ufshcd_suspend_prepare +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x4cd25c05 ufshcd_auto_hibern8_update +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x542c092c ufshcd_uic_hibern8_exit +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x58a6a37a ufshcd_dealloc_host +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x699bf923 ufshcd_remove +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x6a89ee5e __ufshcd_suspend_prepare +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x723b1abf ufshcd_delay_us +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7c6ea4e8 ufshcd_fixup_dev_quirks +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x846cff98 ufshcd_init +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x92f26c06 ufshcd_resume_complete +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x95d1501a ufshcd_link_recovery +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x96ad2471 ufshcd_update_evt_hist +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x9ab8f475 ufshcd_clkgate_delay_set +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x9ee7bbf2 ufshcd_hba_stop +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xa873c336 ufshcd_dme_configure_adapt +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xc6eb8270 ufshcd_make_hba_operational +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xd8fd4a3a ufshcd_dme_get_attr +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xe0329c63 ufshcd_dme_set_attr +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xf1069274 ufshcd_dump_regs +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xf2edd391 ufshcd_hold +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xfc977480 ufshcd_uic_hibern8_enter +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xff755c5c ufshcd_config_pwr_mode +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x54c946de ufshcd_init_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0xcce0872e ufshcd_pltfrm_shutdown +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0xdb3777a7 ufshcd_pltfrm_init +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0xff85cd6b ufshcd_get_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/uio/uio 0x0f58a8e2 __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x5f6f3839 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0x8ca5d3af uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xfa25cb2c __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x0f465c2b usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0xd92cd241 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x27807f36 cdns_set_vbus +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x2913aca3 cdns_clear_vbus +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x386a9f6a cdns_drd_gadget_on +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x60c6b9d4 cdns_remove +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0xa2ec45e6 cdns_init +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0xba9dd0b8 cdns_resume +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0xe2802250 cdns_drd_gadget_off +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0xed24d1d3 cdns_suspend +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0xfc485cac cdns_power_is_lost +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x0c929011 ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x3a48fc23 hw_phymode_configure +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x6b469e64 ci_hdrc_query_available_role +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xd75e645d ci_hdrc_remove_device +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x1f7d1774 ulpi_register_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x32760bf8 __ulpi_register_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x3a733e42 ulpi_write +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x6935e2d7 ulpi_read +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x7ea85813 ulpi_unregister_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xd5d002e3 ulpi_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x0980165d u_audio_set_capture_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x137fee8c u_audio_get_mute +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x4779253e u_audio_start_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x4d6b7297 u_audio_get_capture_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x4db472cb u_audio_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x508f2a15 g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x564faeaf u_audio_start_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x8d32f90b u_audio_get_playback_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x93089564 u_audio_set_playback_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x962a9f16 u_audio_set_volume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xc6ed34e1 u_audio_get_volume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xd7f57c40 u_audio_stop_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xdce61f36 u_audio_set_mute +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xe1627ecd u_audio_stop_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xec1d22df g_audio_setup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x0aa526d0 gether_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x21c554a9 gether_setup_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x2284e125 gether_get_host_addr_u8 +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x23fb0992 gether_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x29da92a0 gether_get_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x37103138 gether_get_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x48390681 gether_set_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x539d0759 gether_set_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x77409b11 gether_get_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x8878cfa6 gether_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xa2457248 gether_set_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xa26a6041 gether_set_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xa540e90e gether_setup_name_default +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xcd5e57ca gether_set_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xe46ff6a0 gether_get_host_addr_cdc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xe7ee43c9 gether_get_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xfd8392bf gether_register_netdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x33bfdca2 gserial_alloc_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x45a7ea0b gserial_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x4a3df9d0 gs_alloc_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x60db48f5 gserial_get_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x60ea48a0 gs_free_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x83250b79 gserial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xb1f94876 gserial_resume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xb6652875 gserial_free_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xc0a01527 gserial_set_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xc7dcb092 gserial_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xe89dc424 gserial_alloc_line_no_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x081191b7 ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x6c825859 ffs_lock +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x9372e273 ffs_single_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x0ecc5b94 fsg_store_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x141fce2a fsg_common_remove_luns +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1710b539 fsg_fs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1ccb58f7 fsg_common_set_num_buffers +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x22148b71 fsg_lun_fsync_sub +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x282f8b10 fsg_common_set_cdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x2933ee1d fsg_ss_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x398778e1 fsg_ss_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x3c6a07d0 fsg_common_create_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x423845e4 fsg_ss_bulk_in_comp_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x455b6bac fsg_store_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x4b0cda9a fsg_show_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x4d6e41b4 fsg_lun_open +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x55799d27 fsg_store_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x56344daf fsg_hs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x64a1ce41 fsg_store_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x6acb4179 fsg_common_set_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7e26d4a5 fsg_common_set_sysfs +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x830b687f fsg_lun_close +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x857b6dc2 fsg_hs_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x93dd304d fsg_show_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x95cffb3e fsg_hs_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x9a0221c7 fsg_common_free_buffers +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa5cae92f fsg_ss_bulk_out_comp_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa5f99b69 fsg_fs_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa6d26f4c fsg_show_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xab6c68ac fsg_config_from_params +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xaca37456 fsg_show_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb3adf38d store_cdrom_address +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb52ba28a fsg_intf_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb54d0d95 fsg_fs_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xc6e3b642 fsg_show_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xd1a3e8e0 fsg_common_create_luns +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xdbcf012e fsg_show_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xe5116a9b fsg_store_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xec7ed655 fsg_store_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xf096e59d fsg_common_remove_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xf4efc0c8 fsg_ss_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x09ce56b4 rndis_borrow_net +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x0a0ab1ab rndis_set_param_medium +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x26706bd6 rndis_rm_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x26cebf58 rndis_deregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x2a584c47 rndis_set_param_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x33bb321f rndis_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x455a79e6 rndis_set_host_mac +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x63725f56 rndis_set_param_vendor +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x70dbf03a rndis_signal_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x73718f55 rndis_signal_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x73ab5440 rndis_msg_parser +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x9fb2b0cf rndis_free_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xaeec8e90 rndis_uninit +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xec693985 rndis_add_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xecb4179d rndis_get_next_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x00e9c419 usb_otg_descriptor_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x068ecdcd usb_function_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0c589aba usb_validate_langid +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0cb7e477 usb_ep_autoconfig_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0cd20a3d usb_string_ids_tab +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x11303f38 usb_remove_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x29d0501f usb_put_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e09263f usb_copy_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x3294d78a usb_add_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x357ef2db usb_interface_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x3aa12d89 usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x3f21fc33 usb_get_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x429c94d2 usb_function_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x46de45a2 usb_composite_overwrite_options +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x47846ead usb_function_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4beb505d usb_gadget_get_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4cd90255 unregister_gadget_item +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x57ae3823 usb_free_all_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5a88c5cf usb_add_config_only +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5bff069a usb_add_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x63bd1c50 config_ep_by_speed_and_alt +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x6ce79222 usb_composite_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x82d07554 usb_assign_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8502c670 usb_composite_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8c600e43 usb_ep_autoconfig +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x9a2f34db usb_otg_descriptor_alloc +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa5493244 usb_get_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa58e9630 usb_put_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb775db55 alloc_ep_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xc2f4b27d usb_string_ids_n +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xc3aa9ff6 usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xcf68e1c3 usb_string_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xcff862d3 usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd2ea2134 usb_descriptor_fillbuf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf364ffb2 usb_gstrings_attach +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf474a207 usb_gadget_config_buf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf998e4c4 usb_ep_autoconfig_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xfd69f771 config_ep_by_speed +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x0731a2a5 free_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x2047845b gadget_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x444a56d1 udc_enable_dev_setup_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x5d01d078 udc_irq +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x7b97cc6e udc_basic_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x8d4870a6 udc_remove +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xb9ceb564 udc_mask_unused_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xe37ec995 udc_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xf3cd78bc init_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xf60c0b1b empty_req_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x01b12bfb usb_ep_free_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x030727f6 usb_gadget_vbus_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0a8c3b4b usb_ep_set_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0acfe2e7 usb_ep_set_wedge +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0d90d784 usb_ep_fifo_flush +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x15872cfb usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x1dd99c06 gadget_find_ep_by_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x27cecd6c usb_del_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x2b855f08 usb_gadget_udc_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x2f2543d8 usb_initialize_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x358459a1 usb_udc_vbus_handler +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x49d9f030 usb_ep_fifo_status +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x4e950f72 usb_gadget_unmap_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x506ab3a9 usb_ep_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x50a6fde7 usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x50b88f41 usb_get_gadget_udc_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5ba20f4b usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5bcdc0a0 usb_gadget_vbus_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5fc294ef usb_ep_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x61a76084 usb_gadget_map_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x66447123 usb_gadget_vbus_draw +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x6b47ed8c usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x72043a08 usb_gadget_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7a41b9f2 usb_ep_set_maxpacket_limit +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7be89624 usb_gadget_giveback_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x882077d5 usb_ep_dequeue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x93f27c3a usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x974d38b3 usb_gadget_frame_number +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9cf6c3aa usb_gadget_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9eb52803 usb_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa35937a7 usb_gadget_check_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa58fe6e4 usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa768be03 usb_gadget_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa9e74462 usb_ep_alloc_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xaefadae2 usb_gadget_register_driver_owner +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xaf201fa6 usb_ep_enable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xbab3d79d usb_add_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc2f84e90 usb_add_gadget_udc_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xcf39c72c usb_gadget_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xda65f5ff usb_gadget_set_state +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xdbcd0cb5 usb_gadget_wakeup +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xdf82e5fa usb_gadget_set_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xfcd15158 usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0xe73b2c73 renesas_xhci_check_request_fw +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x20932afd ezusb_fx1_set_reset +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0xfd5f45eb ezusb_fx1_ihex_firmware_download +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x0c3552a0 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x150562c2 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x20d9e32c usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x30e48790 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x681eddb9 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xa65c475b usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xd1f93cd9 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe095d67e usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe38cfc14 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x09492220 musb_mailbox +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x0b4a8834 musb_writeb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x2734197f musb_readb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x29cbbabb musb_root_disconnect +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x52a05e64 musb_set_host +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x60aab7ad musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x669594ad musb_clearw +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x6af8c6dc musb_writel +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x719a5e41 musb_readw +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x95d5ec38 musb_get_mode +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xade3e56c musb_writew +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xb2e27fc4 musb_set_peripheral +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xe59efb0e musb_clearb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xf0f95e51 musb_readl +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xf7f546e6 musb_queue_resume_work +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x308dfbcb usb_gen_phy_shutdown +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x759826a7 usb_phy_generic_unregister +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x7fc56562 usb_gen_phy_init +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xa8ade8b9 usb_phy_generic_register +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xe2cd5f89 usb_phy_gen_create_phy +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-isp1301 0x4649ad14 isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usb_wwan 0x9a256445 usb_wwan_port_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x01ed9003 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x1130003a usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x13a1c74e usb_serial_generic_wait_until_sent +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x16565b20 usb_serial_generic_tiocmiwait +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x18ca8496 usb_serial_claim_interface +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x336ea657 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x35f63f99 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x4bc9f4cf usb_serial_generic_get_icount +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x4d3405d4 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x536e6634 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x660d40e7 usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fe92082 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x8414fc46 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x99cff41a usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9a86e500 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9abd92a2 usb_serial_generic_chars_in_buffer +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa27a130e usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb688398b usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb9391fc2 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd785f05f usb_serial_generic_write_start +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x2c485b43 dp_altmode_remove +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x432dbe60 dp_altmode_probe +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x6f497a3c tcpci_irq +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xbd20fe07 tcpci_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xbe111953 tcpci_get_tcpm_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xc529e32e tcpci_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x10ec6d2d tcpm_sink_frs +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x3b84657b tcpm_pd_transmit_complete +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x6912a76f tcpm_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x76eeda4b tcpm_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x9e0bd753 tcpm_pd_hard_reset +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xb655342c tcpm_pd_receive +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xc37b9769 tcpm_cc_change +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xceb50012 tcpm_vbus_change +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xea220941 tcpm_tcpc_reset +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xeb779665 tcpm_sourcing_vbus +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x03f64503 typec_port_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0adfb45b typec_get_negotiated_svdm_version +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0e1fac20 typec_mux_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x18e2a3ec typec_match_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x223df9b4 typec_unregister_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2372c35a typec_altmode_get_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x280131bc typec_plug_set_num_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2a57fb0a typec_altmode_exit +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2d1e301d typec_find_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2ebfc299 fwnode_typec_mux_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x35aa8e58 typec_mux_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3b29c0d4 typec_port_register_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4acd7fec typec_partner_set_svdm_version +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4f85f070 typec_altmode_enter +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x51761a58 typec_altmode_get_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5386a35f typec_switch_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x538ba760 typec_altmode2port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x58e00b17 typec_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x591f970f typec_altmode_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x59c20eb3 fwnode_typec_switch_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5a66ec9d typec_set_mode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5db24a6f typec_plug_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6b3d9465 typec_mux_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6b5159bf typec_mux_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6d3dda2f typec_cable_is_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6fc6b832 typec_altmode_vdm +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x738c80f5 typec_set_pwr_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7528c9c4 typec_altmode_put_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x79cefaee __typec_altmode_register_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7bcc1bf6 typec_get_fw_cap +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x86521d45 typec_switch_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8af2fb2f typec_get_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8b9f5288 typec_set_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8bc8403d typec_cable_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8e4da8df typec_register_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9049491e typec_find_port_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x90a149e1 typec_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9285e51a typec_mux_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9b742173 typec_partner_set_pd_revision +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9e0291b7 typec_unregister_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa254de98 typec_find_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb05cd23b typec_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb07a0662 typec_partner_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb63bf24a typec_altmode_notify +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbab11922 typec_set_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbb0f1a27 typec_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc0e5435d typec_cable_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc13e3b6a typec_altmode_update_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc352b2f1 typec_partner_set_num_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc41e20a6 typec_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc503de3e typec_unregister_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd2fa1286 typec_switch_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd5598bab typec_set_vconn_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd8a5c190 typec_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xdf008d50 typec_set_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe9a3404f typec_register_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xea049341 typec_partner_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xeafc1eb8 typec_find_port_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xeea4f58f typec_altmode_attention +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf1234a8b typec_find_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf7a58c95 typec_unregister_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xfaa2580b typec_register_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xfc8df340 typec_mux_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xfce2aa1e typec_cable_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x120c5d68 ucsi_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x5f6db9e2 ucsi_resume +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x61fc41cd ucsi_connector_change +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x8f60ef65 ucsi_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xd0e70b36 ucsi_send_command +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xdab5e3e1 ucsi_destroy +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xe25ec093 ucsi_create +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xeb207873 ucsi_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xfed195c8 ucsi_register +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x1888bd18 usbip_recv +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x21fe6fed usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x2879a9dc usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x5bdff562 usbip_in_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x6769a05c usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x75428344 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x8a4d4750 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x96845908 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x9f1352c2 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x9fa24b28 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd63eacff dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe548e425 usbip_event_add +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xf40d3aed usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x651e298e vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x7b575150 _vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x814fc2f5 vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x8de6dda8 vdpa_mgmtdev_unregister +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xa147823d _vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xa2e97603 __vdpa_alloc_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xa82c12a1 vdpa_get_config +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xb12f6aef vdpa_mgmtdev_register +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xcb970adc vdpa_set_config +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xdc1117a8 __vdpa_register_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xe1044180 vdpa_unregister_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa_sim/vdpa_sim 0x080ce72a vdpasim_create +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0x5ccd77ba mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x05c0ab48 vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0bc6b71b vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0cb53484 vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0d07c9c5 vhost_poll_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x18e89509 vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1a791169 vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x25246ac1 vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x25d83df7 vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x2af4eeb9 vhost_work_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x2c412382 vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x33338fa7 vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x367ea3fd vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3717c943 vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3cd99c5d vhost_disable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x41230194 vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x47065226 vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4e19ef67 vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5069b1c2 vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x52337cae vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x584efa3f vhost_vring_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x655cf785 vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6d09f93e vhost_clear_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6eb15e4c vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x71d0afaf vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7b2e3cdd vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7c55e468 vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x85de9f22 vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x87f1fc09 vhost_set_backend_features +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x88d50cd5 vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa3d70c76 vhost_poll_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa909cfc5 vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xab3f8fd2 vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xaf06e13e vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb4f3fce5 vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xbbd5e365 vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xbe3d7378 vq_meta_prefetch +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd16308e5 vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd8c69102 vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xdb0b6d9d vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe5ca49a7 vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xec4e79a8 vhost_dev_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfd2b3e45 vhost_dev_reset_owner_prepare +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x38ff875f vhost_iotlb_add_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x69e872f9 vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x83be64b9 vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x885512a2 vhost_iotlb_add_range_ctx +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x8a7d8ee9 vhost_iotlb_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xa24517eb vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xc577832d vhost_iotlb_alloc +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xf9deb0db vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/video/backlight/apple_bl 0x2c63e051 apple_bl_register +EXPORT_SYMBOL_GPL drivers/video/backlight/apple_bl 0xdab0f892 apple_bl_unregister +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x40868430 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x468f3211 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x4df3f75b ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x9e4b71d9 ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x9e634f70 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xcef0fda1 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xd2426240 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_ddc 0x8343be71 fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x03724124 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0xc79a5d19 fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x905aa369 sis_free_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0xc6034bbb sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/vermilion/vmlfb 0x016e6c20 vmlfb_unregister_subsys +EXPORT_SYMBOL_GPL drivers/video/fbdev/vermilion/vmlfb 0x90c018c6 vmlfb_register_subsys +EXPORT_SYMBOL_GPL drivers/video/fbdev/via/viafb 0x0e1cee08 viafb_dma_copy_out_sg +EXPORT_SYMBOL_GPL drivers/video/fbdev/via/viafb 0x30cc9311 viafb_request_dma +EXPORT_SYMBOL_GPL drivers/video/fbdev/via/viafb 0x31469540 viafb_pm_unregister +EXPORT_SYMBOL_GPL drivers/video/fbdev/via/viafb 0xb4606f8d viafb_irq_disable +EXPORT_SYMBOL_GPL drivers/video/fbdev/via/viafb 0xb4f863e6 viafb_pm_register +EXPORT_SYMBOL_GPL drivers/video/fbdev/via/viafb 0xcaefb732 viafb_release_dma +EXPORT_SYMBOL_GPL drivers/video/fbdev/via/viafb 0xcd538333 viafb_irq_enable +EXPORT_SYMBOL_GPL drivers/video/fbdev/via/viafb 0xebf2b5a7 viafb_find_i2c_adapter +EXPORT_SYMBOL_GPL drivers/video/fbdev/via/viafb 0xfff2dfd2 viafb_gpio_lookup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x604d83b4 w1_triplet +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63234d59 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63757e92 w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x699b5847 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x6f0dd1ef w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x8df8335b w1_touch_bit +EXPORT_SYMBOL_GPL drivers/w1/wire 0x8fc00bcc w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0xa16388b8 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc9ea6621 w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0xcb59de0f w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xd5ab7ca9 w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xfefab552 w1_read_8 +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x036b917a xen_front_pgdir_shbuf_get_dir_start +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x1eb649bf xen_front_pgdir_shbuf_alloc +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x4415eed6 xen_front_pgdir_shbuf_unmap +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x87a38c6c xen_front_pgdir_shbuf_free +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0xc58123cb xen_front_pgdir_shbuf_map +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0xae2e4400 xen_privcmdbuf_fops +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0xf7fbf32a xen_privcmd_fops +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x3de28cd1 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4b62826c dlm_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x647d6170 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcd224e1d dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xf1c97a02 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xf547fcc5 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x457d3f89 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x49c66fd4 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x8300426f nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa9da303c nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xe605bdd4 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf105a132 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xfcfaab19 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x008aafbe nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x036db262 nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03eacb8c nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x04127d22 nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x04cf45b5 nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x05e3d85d nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0738bbc3 nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x07cc3c7c nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0899038f __traceiter_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0c87d83c nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x100bdc4a nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x143f7140 nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1507df2b nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x15331834 __tracepoint_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x178ec335 nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x17ee22c0 nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x18aa39a3 unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x18e4d8bc __traceiter_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1ab44864 nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1de170fc nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1e374d54 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x20d3e643 nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x20d90086 nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x210bb514 nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x223cdc8e nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22c1f532 nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22d795a8 _nfs_display_fhandle_hash +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x23624a5f nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x24326b4c nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26884ff7 nfs_alloc_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x28bab71d get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2996c67f nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x29df871e __SCK__tp_func_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3310f3ed nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x348183ec __SCK__tp_func_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x37051347 nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x37239e6d __SCT__tp_func_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x38d4bae4 nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3f072e17 nfs_d_prune_case_insensitive_aliases +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3f2690f2 nfs_check_flags +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40739385 nfs_wait_bit_killable +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42ca8d94 __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f2c81f nfs4_client_id_uniquifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x45417b8c nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x455ccbd4 nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4637e57c nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x46d1df71 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x478e2713 nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x48356d94 nfs_clear_verifier_delegated +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb9e001 recover_lost_locks +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51892d61 nfs_callback_set_tcpport +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51b72db8 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x539cd789 nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x551699f4 nfs_file_set_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5597dd3f nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x580159cb nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x58a68e3a register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5a0674b7 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5d66c9ec nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5d67904b nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5f948966 __tracepoint_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6069f57f nfs_check_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x62c13d40 nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x62e0204f nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6348f2f8 nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x64376dd9 nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6626e712 nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6c5b4b6d nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6d19b9e2 nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e6a5703 nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6f4f89a5 nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6f817a3d nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6fc57fb5 nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x721b1da6 nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x73535330 nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x76b1d903 nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7736e6fd nfs_set_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x78968116 nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7b08b037 nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c9722ba nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fb3711c nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x80e955d9 nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x83d7f71c nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8499de4f nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x86292152 nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x877a7160 nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x887011d8 nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x89aeacc4 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8ac88bbf nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8ccbe624 nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8e3bdbae nfs_wait_client_init_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x901d2171 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90a5530f nfsiod_workqueue +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9107cc3b nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x91d1fe52 max_session_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9278a655 nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x92bb8e7c nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x93d46336 nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x947f1b8a nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x948810ff nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x97d9e3ae nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98b0ece8 nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x997afc43 nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9ae9c5be nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9cec9b4f alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9d919c44 __SCT__tp_func_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa00cd709 nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa0f1d416 nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa4e24c68 __traceiter_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8e9e1ae send_implementation_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaafd4acc max_session_cb_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb12118d3 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb30f52be nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb3d3e254 nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb8a0546d nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xba4d3026 nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbaf0146b nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbe754d4e nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc007ea44 nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc066eef1 nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc27aca34 nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a2be67 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc54906e9 nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc55600fd nfs_alloc_fattr_with_label +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc56efeea nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc6c8b8f1 nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc6f64964 __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc8e66e60 nfs_write_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcaf9a0ea nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcafa4229 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcb8340c8 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcbf03650 __SCK__tp_func_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcc1f2447 nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcc3fa9f6 nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xce410b1c __SCK__tp_func_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xce611748 nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd02f551d nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd19cd065 nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd963d990 nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdae9b5d7 nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdcdd504c nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdeda533d nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdefd6d96 nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdf0c9d7c nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe22f61f9 nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe55dce36 nfs_mkdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xea1b67a8 nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xeae44548 nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xec651272 nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xedb83893 nfs_access_get_cached +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xedcc412f nfs_probe_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xee980763 nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf15c6ddc nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf4923f56 nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf4a4c18f nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf6ad3e9b put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf732c083 nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf7f5320a nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf92af43b nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfb6a1257 nfs_flock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfb7e9f34 nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc619abd _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfd3c0de6 __SCT__tp_func_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfeb42418 __SCT__tp_func_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfee48f14 nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xff02e304 __traceiter_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0x7354b8aa nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x009c0099 nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x02be54f1 __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x049eaf63 pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x04ae74ca __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x067d0321 nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x08e496ff nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1001497f __traceiter_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1321efec pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1395eb4d pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1612eb79 __traceiter_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x16f86d67 pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x17be99cb pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x18090ca2 pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x189ead42 nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x18e75751 __SCT__tp_func_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1c68b42d pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x254cc46e __traceiter_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x26ca2cba nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2b16e909 __SCT__tp_func_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2cd3d771 __traceiter_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x333f8d12 pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x383c87ea __SCK__tp_func_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x39b166ff __SCK__tp_func_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3b96c209 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3d302b2a pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3e45078b nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x414a7701 __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x41ee0624 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x42e1c357 nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x44bdfc2c nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x45b3a890 __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x460cd930 pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x49f9da27 pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4d3531be nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x508f94ba __SCK__tp_func_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5178f22a nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x537c4c1e __traceiter_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x56cc8186 __SCK__tp_func_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5addfbba __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5b36c08a nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5ce3324e __SCK__tp_func_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5ea3ea91 pnfs_error_mark_layout_for_return +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x603990bd pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x605f28a1 __SCK__tp_func_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6085edbd nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x63826d35 __SCT__tp_func_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3fc80 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69f2bdd8 pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6a2a754e pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6a5eb444 __SCT__tp_func_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6a925097 __SCT__tp_func_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6c81e1af pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6d55453b pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6ee08632 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6f5f751d pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7224d5cb pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x72b818cc __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x73a7f8a8 pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7460a14d nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x748499e8 pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x767507c9 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x76cc0a45 nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x785e949d nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7c258dc3 __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7c5aa40e pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7e42bd3f __SCT__tp_func_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x81242351 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x85111d4f nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8634c33e pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8bfab6b4 nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8f8e46ee nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9007c758 __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x91741968 pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x930a94fd __SCT__tp_func_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x93ca45cb nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x967e31c5 pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x96c4643f __SCT__tp_func_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x984fc5a4 __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x99a38b6d __traceiter_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9a230d81 pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9a7d6937 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9bd77c82 __SCK__tp_func_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa01ae0b9 __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa818c3e7 __traceiter_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xaaee9892 pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xabece530 nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xac664804 __SCK__tp_func_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xadbe98a8 nfs4_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xadeca730 __SCT__tp_func_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb1411268 __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb23e8f96 __SCK__tp_func_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb3592042 __SCK__tp_func_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xba3a30d5 nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbb35f76a __SCK__tp_func_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbeba9d4f nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc361c3c5 __SCT__tp_func_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc4b1e53c __traceiter_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc62b4103 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc793ab6a pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc9776963 __traceiter_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xca6b31b0 __SCK__tp_func_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcc21ce5c __SCT__tp_func_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcf8f48cf pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd03c47e2 __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd6966582 __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd86f2d6e __traceiter_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdad78363 nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdeb5edce __SCT__tp_func_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe0243dbc pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xec3d00b3 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xec7aa3b2 __traceiter_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf1e889b1 __traceiter_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf23f1830 __traceiter_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf32fa2b7 __SCT__tp_func_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf44b45ac nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf456fd06 __SCK__tp_func_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf713cc5d pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf7801360 nfs41_maxgetdevinfo_overhead +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf7cde9d2 nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf999267e pnfs_generic_commit_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xfd071023 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x191c4dbe locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0xa641bc9d opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0xc5393982 locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x020c3409 nfs_stream_decode_acl +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x21156394 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x88db1312 nfs_stream_encode_acl +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xdfa1ec47 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0x835a724f nfsd4_ssc_init_umount_work +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x575ac73b o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x58c88ff2 o2hb_get_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x5e95a4b2 o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6a0c3847 __mlog_printk +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x82f3669c o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa183a4eb o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa8055470 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb6ebf62a o2nm_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbd13ee5d o2hb_check_node_heartbeating_no_sem +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc4d99852 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xce5b87ed o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd859ac8c o2net_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xedecf4f0 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf56c2017 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf74d76c9 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf982e6db o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xfe1298f3 o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x0cdcd8f5 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xa210d578 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xabe807f9 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xb2dc5615 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xc32e4e52 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd868f752 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0a726931 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0cfd3fc5 ocfs2_cluster_connect_agnostic +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x1475f64b ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x2e979719 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x37de1cab ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x76f40744 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x91e07559 ocfs2_kset +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x9507547f ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xaf969565 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xc5196999 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xc9fae756 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xcafdd707 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd344e4ee ocfs2_stack_glue_set_max_proto_version +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd806a273 ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xeaa20667 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x43cc3d4b pstore_blk_get_config +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x97e8b455 unregister_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0xa2addf16 register_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x0c846b33 unregister_pstore_zone +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0xd557549e register_pstore_zone +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_arc4 0xabd9af6d cifs_arc4_crypt +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_arc4 0xc4c73891 cifs_arc4_setkey +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0x798f3830 cifs_md4_init +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0xceecd9e4 cifs_md4_final +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0xdef1096d cifs_md4_update +EXPORT_SYMBOL_GPL lib/842/842_compress 0xcf048a91 sw842_compress +EXPORT_SYMBOL_GPL lib/842/842_decompress 0xa4adedf1 sw842_decompress +EXPORT_SYMBOL_GPL lib/bch 0x0c303f52 bch_encode +EXPORT_SYMBOL_GPL lib/bch 0x0d3e3481 bch_free +EXPORT_SYMBOL_GPL lib/bch 0x1a267fa8 bch_init +EXPORT_SYMBOL_GPL lib/bch 0x860a2eab bch_decode +EXPORT_SYMBOL_GPL lib/crc4 0x696b3a5a crc4 +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x0105b595 des_encrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x574eda34 des3_ede_decrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x856a5ef3 des3_ede_encrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa6aa9857 des_decrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa77b3b62 des3_ede_expand_key +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa8fb743d des_expand_key +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x4b45fb6e poly1305_init_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x7f376d08 poly1305_final_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0xfa617389 poly1305_update_generic +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x4a5e61da notifier_err_inject_init +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0xd7bdafcd notifier_err_inject_dir +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x1803a6ed raid6_2data_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x804a5b70 raid6_call +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0xe4b051cf raid6_datap_recov +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x1d29b9e1 decode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x561835eb init_rs_non_canonical +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x63adbf92 encode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xa32f3d9e decode_rs16 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xeb2f825c init_rs_gfp +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xfd581da1 free_rs +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x17d0b969 lowpan_header_compress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x66a47157 lowpan_header_decompress +EXPORT_SYMBOL_GPL net/802/garp 0x0f21bf16 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x2f8be651 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x5c27ce54 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x906046a0 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xce4e506d garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0xe5c63a38 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0x047356d0 mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0x3873a60e mrp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0x63710db9 mrp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0x7c143ef9 mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0xb9a7dcd7 mrp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0xf58e4803 mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/stp 0x5d6c06f8 stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0xb8197ac0 stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0x5c62b80c p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0x65d45aac p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/atm/atm 0xb09faf79 register_atmdevice_notifier +EXPORT_SYMBOL_GPL net/atm/atm 0xcfb6a3da unregister_atmdevice_notifier +EXPORT_SYMBOL_GPL net/ax25/ax25 0x5c0df688 ax25_register_pid +EXPORT_SYMBOL_GPL net/ax25/ax25 0xac93ae05 ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x7ef4f1e7 l2cap_chan_create +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x80a300cf l2cap_chan_set_defaults +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x90a9ee92 l2cap_chan_send +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xb552bb52 bt_debugfs +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xc6863514 l2cap_add_psm +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xc6cb5c23 l2cap_chan_list +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xc85356e4 l2cap_chan_put +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xd2362e18 l2cap_chan_del +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xe3149c6f l2cap_chan_connect +EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0x8d6aa11a hidp_hid_driver +EXPORT_SYMBOL_GPL net/bridge/bridge 0x12eadebb br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x197e500b br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0x1dbf3aae br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0x1e45acc5 br_vlan_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x27670d05 br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x33f6615b br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x3ef23c6d br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0x4629bc4e br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/bridge/bridge 0x55319cee br_vlan_get_info_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x586ef999 br_port_get_stp_state +EXPORT_SYMBOL_GPL net/bridge/bridge 0x638f2b3b br_get_ageing_time +EXPORT_SYMBOL_GPL net/bridge/bridge 0x75e5afbe nf_br_ops +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7852127c br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7b0d0bd2 br_mst_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0xa2afaf46 br_multicast_has_router_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0xb95ea276 br_mst_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0xc9bde11a br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0xdc7c0cea br_mst_get_state +EXPORT_SYMBOL_GPL net/bridge/bridge 0xdcc0daa6 br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0xdf5b4fa2 br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0xe28563d7 br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0xe567a675 br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0xec78574f br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0xf2b2cec2 br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0xfd53a2e4 br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/core/failover 0x8ec4f55a failover_slave_unregister +EXPORT_SYMBOL_GPL net/core/failover 0x9054ad6a failover_register +EXPORT_SYMBOL_GPL net/core/failover 0xe8529d5a failover_unregister +EXPORT_SYMBOL_GPL net/dccp/dccp 0x014a1f33 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0a98e814 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0d3a9d3d dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0e4fac9e dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x115840a3 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d71a92b dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d751369 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x291ba4b0 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2ad00619 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3c2007b9 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3d5c997a dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3f6cbfbf dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4673b423 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4a81b665 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x53b55280 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5471bcf8 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5e3415d0 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5fa0379b dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x65628094 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7095d9be dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x70a89b34 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7377688a dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7724f871 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x791a2edd dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x80993155 dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x88125b19 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8c937472 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9a91b9cd dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9be355a6 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb45353f3 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd241aa8b dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd24cc69d dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd75b7072 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd90441d4 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe9b0f460 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x02a3507c dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x04d6af59 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x21291e2b dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x2edd8554 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xd72b49e6 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xe8eeb59a dccp_v4_connect +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0c6039ac dsa_flush_workqueue +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0dbbe09e dsa_switch_resume +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0fcea2db dsa_switch_suspend +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x1630a3ae dsa_port_phylink_mac_change +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x26b86ea8 dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2bb473e5 dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2f1aac40 dsa_port_from_netdev +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x3fb0e85c dsa_8021q_xmit +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x40706ba5 dsa_switch_shutdown +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x40dd8e08 dsa_slave_dev_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x417d1fed dsa_8021q_rx_switch_id +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x428845f7 dsa_devlink_resources_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x45ca5090 dsa_tag_8021q_bridge_vid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x475bb67d dsa_tag_8021q_find_port_by_vbid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x48eca1e3 dsa_tag_drivers_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4a57894f dsa_devlink_port_region_create +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4f2825a6 dsa_devlink_params_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5042f841 dsa_tag_8021q_bridge_join +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x61771e90 dsa_devlink_resource_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6c4b954f dsa_tag_8021q_standalone_vid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7d4f059b dsa_tag_8021q_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x82fd4146 dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x94d74fcf dsa_enqueue_skb +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x9e59271d dsa_8021q_rx_source_port +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa59f1586 dsa_unregister_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xbc6fa54e dsa_tag_8021q_bridge_leave +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xbdc9ec44 dsa_switch_find +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xbe6352ce dsa_tag_drivers_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc23e8d5f dsa_devlink_region_destroy +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xcb890840 dsa_8021q_rcv +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd02d922d dsa_fdb_present_in_other_db +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd077e855 dsa_devlink_param_get +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xe058f9e9 dsa_tag_8021q_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf13e1803 vid_is_dsa_8021q +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf4477b94 dsa_devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf576fd28 dsa_devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf95fc0fc dsa_mdb_present_in_other_db +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xfd3e2b67 dsa_devlink_param_set +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xffa946b0 dsa_devlink_region_create +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x4856ac28 ieee802154_hdr_peek_addrs +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x5aa4adc4 ieee802154_hdr_push +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x87e2553b ieee802154_max_payload +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0xad8d9151 ieee802154_hdr_peek +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0xc688cc01 ieee802154_hdr_pull +EXPORT_SYMBOL_GPL net/ife/ife 0x5229a7d8 ife_decode +EXPORT_SYMBOL_GPL net/ife/ife 0x6210e871 ife_tlv_meta_next +EXPORT_SYMBOL_GPL net/ife/ife 0x67db2029 ife_tlv_meta_decode +EXPORT_SYMBOL_GPL net/ife/ife 0xe0259f63 ife_encode +EXPORT_SYMBOL_GPL net/ife/ife 0xe7888e98 ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x54bebe6f esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xfe9a5e6a esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xffc8fb45 esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/gre 0x36e0ecb3 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0x3db62fb7 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x03f5783f inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x6f0e659a inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x8672b943 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xadb6f1b8 inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xd07f8763 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xe1d6c7df inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xe39d9d00 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xe8fd715e inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xffd456a4 inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0x396e7c4c gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x0bcf4119 ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x2021c17b ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x424f5862 ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x47f951b1 __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x4cc4ef12 ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x535da52b ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x56cded49 ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x63b6746b ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x6699ab3b ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xa4379b57 ip_tunnel_siocdevprivate +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xaf5eb455 ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xb13fc5db ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xc4fa5468 ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xd976bdd0 ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xf668b7c1 ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xf948042b ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xf997f4b0 ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0xf15189e2 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x6ea259c8 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x86b1e745 nf_defrag_ipv4_disable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0xb6e922bb nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0x5cba7bef nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x5e0a99d9 nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x75a3a050 nf_reject_skb_v4_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x81c06001 nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x9c244661 nf_reject_skb_v4_tcp_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xb1bbc692 nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xc905073f nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xe53d2a95 nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0xb80f3014 nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x0bd1af1b nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x7ba8c6e8 nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0xeadd0e2b nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0xbfeff72a nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0xda4f74c4 nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x23bf79ec tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x28005962 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x51802695 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x537518ce tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x7475c8ef tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x212162ee udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x22e34c26 setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x6e589946 udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x78bf0f1b udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xa0bbe586 udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xa9ef4d86 udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xb3cf2616 udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xbe318d0b udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x31c96a79 esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x4ec6f43a esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/esp6 0xfa653371 esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x36a7b5ee ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x61406097 ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xfafebd03 ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x2ed3d1da udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0xac802910 udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x9af64192 ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x4e89845f nf_ct_frag6_gather +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0xbb596a77 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0xeb8c4a14 nf_defrag_ipv6_disable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0x348d6e23 nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x0b9aae78 nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x272a2ef6 nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x863bee69 nf_reject_skb_v6_tcp_reset +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x9066cae6 nf_reject_skb_v6_unreach +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xa4f06a77 nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xec3dd26d nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xef40b7e1 nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0x3f68917d nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x3543ac34 nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x88d3a7e8 nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xfe8a51e4 nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0xba85d522 nft_fib6_eval +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0xe0bdfe25 nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x00f49b45 l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x11f51ef7 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x12a481df l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x22c627f9 l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x23dd39aa l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x3963e262 l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x437b00e6 l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x458cd967 l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4988e7ee l2tp_session_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x5812e8fc l2tp_session_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x660088d9 l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x72868663 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x73a945e8 l2tp_sk_to_tunnel +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7af38678 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x8703ba19 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x9216a575 l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x93ea0e15 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x9b65e75e l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xac207b09 l2tp_tunnel_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd76c587e l2tp_tunnel_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf6ebe815 l2tp_recv_common +EXPORT_SYMBOL_GPL net/l2tp/l2tp_ip 0x46c54b1c l2tp_ioctl +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x09456f5f l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x0e31496a ieee80211_iterate_stations +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x228ee9de ieeee80211_obss_color_collision_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x28cac819 ieee80211_iter_chan_contexts_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x2914659e ieee80211_calc_rx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x319d6f4b ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x32c84808 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x35f8d70f ieee80211_iterate_active_interfaces_mtx +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x49856ad8 ieee80211_calc_tx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x4e4080ba ieee80211_update_mu_groups +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5250cf98 ieee80211_tkip_add_iv +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5443152c ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x59c13bed ieee80211_key_mic_failure +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5e0f8d53 ieee80211_iterate_stations_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x68b33115 wdev_to_ieee80211_vif +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6d879003 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7cd71285 ieee80211_color_change_finish +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa1247034 ieee80211_remove_key +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa4b2b77e ieee80211_key_replay +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa5d208a9 ieee80211_gtk_rekey_add +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xbbb8727b ieee80211_hw_restart_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc3dc0a1b ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xcae6f15a ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd8e09da4 ieee80211_set_key_rx_seq +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xdf661130 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xea323670 ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xed2d8772 ieee80211_iterate_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xfde69a73 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x42627c9c mpls_dev_mtu +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x44891719 nla_put_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x48a4fdc3 mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x7670b536 nla_get_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x8d728e73 mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xbdd714fc mpls_output_possible +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x04c7fe90 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x13aad4bd ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x15327547 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x15e2b114 ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22d966c6 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x254d5f10 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x29cb13aa ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x2a790967 ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x2efd8828 ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x51c872f6 ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x5cbd409e ip_set_match_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x8ba705f5 ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x99d07029 ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9e98722b ip_set_get_ipaddr6 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa293f8a6 ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa483dc68 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xaf017e5e ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xb33b5172 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xca64b34c ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xd0c631ca ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xd78610c8 ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf21e254b ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf3b4d4ae ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x064ba71d unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x4cb55c13 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x4e66f35e ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x95f0cd01 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x1e82657a nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x705ed458 nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x9f257632 nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xcf246687 nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xdd90e520 nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xded40268 nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xf2a1dbb9 nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0122cef2 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x02703d22 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x057be4ae nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x06002a3f nf_connlabels_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x06aed366 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0bc00f80 nf_nat_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x13a5437c nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x14b0b55c nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x151e9301 nf_conn_pernet_ecache +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1602a6ce nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x16fc2f33 nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1cd72503 nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1fb0d078 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x20f2d41a nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x22d932a1 nf_nat_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2644e707 nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x28eff409 nf_conntrack_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x291d8934 nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2efd2e35 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x311093c4 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x380bb4f0 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3c76b239 nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3e613a5e nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4225d1bb nf_ct_get_id +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x44bb712b nf_connlabels_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x491af770 nf_ct_timeout_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4bcc3503 nf_ct_netns_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4f4942f4 nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x505e21ab nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5105f92d nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5399010e nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x53bc404b nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x63a63df9 nf_conntrack_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x640a4ac8 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x64ead6dd __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x66701c81 nf_ct_set_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x66c39ec0 nf_ct_set_auto_assign_helper_warned +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6881fd0b nf_ct_remove_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7263d146 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x729a1322 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x72a9c38f __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x72fb5318 nf_conntrack_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x730f984d nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x75a03f20 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7766a245 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x781f4285 nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7b4d7ee1 nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7ba6a024 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x829dabf9 nf_ct_acct_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x83e343a3 nf_ct_seqadj_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x83f75533 nf_nat_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8e6ff243 nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x95bf201c nf_ct_netns_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x972a5401 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x984be3b4 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x992c570e nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9a2ace87 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9adb7399 nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9c68213c nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9f4811c6 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa2d8dd9a nf_ct_bridge_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa4676039 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa6c152ae nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xadeb8f4b nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaf0847f0 nf_conntrack_locks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafbd6cf5 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb2582db2 nf_ct_untimeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb71a91ed nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb823dccf nf_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbbface16 nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbd655bcb nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc005ebb6 nf_ct_helper_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc40f284c nf_ct_helper_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc848d7ae nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd1c856ea nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd4166631 nf_ct_tcp_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd477f804 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd505c3e0 nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd5186219 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd9b5c613 nf_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdba7326b nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdd58579f nf_ct_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf0aed48 nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe29cb0b8 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe2a14b56 nf_ct_ecache_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xeb7db63c nf_ct_delete +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xeba5e2b8 nf_nat_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec8beba6 nf_ct_expect_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xed176a93 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe731af8 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0xe4659c00 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x6bf8203d nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x08b9bca9 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3caebd6b nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x70941955 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x83008835 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb0369ba2 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb3c57f22 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xbe0434d1 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xcbb19aeb get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd67f4929 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf30137ea set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf63828fd set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0xe7d92ed8 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x4f36dd0e nf_nat_pptp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x02418963 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x0f9da665 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x70388c20 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x73575801 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x97efc79f ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x9f9fa2e1 nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe58dce96 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0xbbbd2728 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0xdc004c74 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xa0ce9f7a nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xf07137f4 nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xf7f24725 nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x1036e01e flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x1204f661 nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x1d0b00a6 nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x39e62b27 flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x64aabf77 nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x76151061 nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x900c0963 flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x9bd7799a flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x9eb87e7b nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xb0e2989a nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xb4948d36 flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xc318aa29 nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xce15ad16 nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xe78d847f nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xf15ca96b nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xfafb380d flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xfff0cd33 flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x29da5a99 nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x2c55bda5 nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x33b3ec07 nf_nat_ipv4_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3afe59c1 nf_nat_ipv6_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3bc17c49 nf_nat_masquerade_inet_register_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x4c6f36de nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x4d5518a8 nf_nat_icmpv6_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x5c1e512f nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x63cb3748 nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x6c5b34fb nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x85522519 nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x9ccc2637 nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x9f425c33 nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xc0fb9cbb nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd3addb9d nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd5712a97 nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd9c25654 nf_nat_masquerade_inet_unregister_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xed370c32 nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1f099794 synproxy_init_timestamp_cookie +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x234a0d02 nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x3cd5ef48 synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x544f520b nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x5df2f3eb synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x74545a30 ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x83015698 synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xa0f387ce nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xaab600be ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xbefdc951 synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xca9fc082 synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xd7f6d8c7 nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xf7e63290 synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x06c6ca47 nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0787f2f0 nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x15f777dc nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x26e0f933 nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x26fef355 nft_reg_track_cancel +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x29b3c875 nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2b7b9de5 nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2d012740 nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3251d762 nf_tables_trans_destroy_flush_work +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x33720c7a nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x33c46bc6 __nft_reg_track_cancel +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3af8fc56 nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x41b71e65 nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x455f724a nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4fc1a409 nft_request_module +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5d0f4059 nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5fb53a4c nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x61047530 nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6590da85 nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x688bb700 nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6b502d79 nft_register_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6c42b575 nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6d087fb1 nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7c0e0caa nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8a824996 nft_meta_get_reduce +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x91eee586 nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x92575aea nft_parse_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9bdc943f nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9f29d099 nft_expr_reduce_bitwise +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa32d7456 nft_set_catchall_gc +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa400b262 nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xab4c7418 nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xae47eb8d nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb75133c9 nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xbfdaf305 nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xc0e6ecbc nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xc30133ae nft_set_catchall_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xcb047f66 nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdcaa662b nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdcc0a8cd __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdd1f4fe5 nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdd650a10 nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde57b5f5 nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe2b8cc13 nft_parse_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe559f816 nf_tables_activate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xeb56674d nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xedbfa85f nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xee367613 nft_set_do_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf6022851 nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xfb4cd4d5 nft_reg_track_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x0b8f6dbd nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1658450c nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x272dd39b nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x28ec4481 nfnetlink_broadcast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3b6f749d nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xa162ccd3 nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xc7afe28c nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xdb065657 nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x372b64fe nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x374278fd nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xc5e7cb27 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x35eff5e0 nf_osf_fingers +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x9de1fd85 nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0xc7be4e3d nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x3685b20f nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x5a96b23a nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x71835494 nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xe1d6c1af nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xf1facb8e nft_fib_reduce +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x18e6138d nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x6081751d nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x8fe3b82b nft_reject_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xe2c84666 nft_reject_icmp_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xfaabd475 nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x04e27719 xt_compat_flush_offsets +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x110069f7 xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x164ed79a xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1c4a42d8 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x39750795 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3bc7ee69 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x410c1062 xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x46d14a96 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4a859590 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x56d8805a xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6c3080db xt_unregister_template +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x76468f3d xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x770eae26 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7bce4603 xt_data_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x803dc0e4 xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x823edea5 xt_compat_add_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9c995c69 xt_percpu_counter_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9e4995e7 xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa227ead0 xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa7c94f1d xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa8102f47 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa93bc680 xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb64e8c55 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfacb837 xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc7fae024 xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc8c64dce xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcc25839e xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd1e246a2 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd3fcc511 xt_tee_enabled +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd9bb821b xt_copy_counters +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xda143c95 xt_register_template +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddf68fc6 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xeabbd04c xt_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf5cce6d3 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x55a89cf9 xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xb10c4f83 xt_rateest_put +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x18d8b31e nci_spi_send +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x8e880434 nci_spi_read +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0xdcdddfb9 nci_spi_allocate_spi +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x07a4ffae nci_uart_unregister +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x3c50e8e5 nci_uart_register +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x5aeb9b02 nci_uart_set_config +EXPORT_SYMBOL_GPL net/nsh/nsh 0x346c4676 nsh_push +EXPORT_SYMBOL_GPL net/nsh/nsh 0xaba734e7 nsh_pop +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x00da0ea9 ovs_vport_free +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x080da8c8 __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x13f2b896 ovs_vport_alloc +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x646e1d58 ovs_netdev_link +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xe62465fb ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xf69c4f57 ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/psample/psample 0x385ace28 psample_group_put +EXPORT_SYMBOL_GPL net/psample/psample 0x64a088e4 psample_sample_packet +EXPORT_SYMBOL_GPL net/psample/psample 0x9b206621 psample_group_get +EXPORT_SYMBOL_GPL net/psample/psample 0xb0539fd5 psample_group_take +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x700add56 qrtr_endpoint_unregister +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x8d25501f qrtr_ns_remove +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xa47e91ba qrtr_ns_init +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xb1db7906 qrtr_endpoint_post +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xf1e2153f qrtr_endpoint_register +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x00f0003b rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x1087f212 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x2b0d543c rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x36087aa4 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x387bee63 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x45a4781e rds_addr_cmp +EXPORT_SYMBOL_GPL net/rds/rds 0x491f12d6 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x582fe5cf rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x585f567b rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x59e90b77 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x5c3d95d1 rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0x691b0d91 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x70543bcf rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x761956ee rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x76200f88 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x7b399e66 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x82b265fa rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x85e4e520 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x8af77960 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x8f56fc72 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x9e09cf3d rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0xa8e8f57c rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xa9837114 rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0xb2630057 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xb8f84560 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0xb90ece63 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xbf673554 rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xc4bfe632 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xc82d031c rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0xcbadf0e8 rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0xd922843f rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0xdb019a7f rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xeb7d4663 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xf5bab56a rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0xfb76f7f3 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xfd22dd56 rds_cong_map_updated +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x2e57657e pie_drop_early +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xa5d2b80d pie_process_dequeue +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0x5fc3c6ed taprio_offload_free +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0xa7f08102 taprio_offload_get +EXPORT_SYMBOL_GPL net/sctp/sctp 0x1c8380e2 sctp_transport_traverse_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0x2064f99e sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/sctp/sctp 0x82e994c5 sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0xc85eb76f sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/smc/smc 0x0fc763f0 smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0x1479b3cf smc_hash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x25f6fd07 smcd_register_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x401d81f0 smcd_alloc_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x48464fed smc_proto6 +EXPORT_SYMBOL_GPL net/smc/smc 0x52cf84bc smc_unhash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x7b915708 smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x969b7d3e smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xc32e469a smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0xdbc78b3a smcd_handle_irq +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x2fbc16b5 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x38d3dce5 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x482ac5a4 g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x92af744e svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd7673035 g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd804b0a1 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xe53808ad gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x000659da svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03fed588 cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x06b32611 gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x06c326c1 rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0729b34d rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x074f73e0 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0771ade2 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x096c630f __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a76b492 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e5740a0 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f76a26f xprt_add_backlog +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0ffdc670 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x107032ea svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x115404b4 sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11f1e032 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x12ace3e4 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x133b293d rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14f2d72f svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x159506c6 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x179ea6e9 svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x17cb6782 xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x17ec805b rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x185dde86 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x187a6ae1 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a833739 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1af65aa4 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1c210907 rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1ca17aee svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1cb453de rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1cd91a80 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e119a79 rpcauth_get_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e1556a3 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e8371a2 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f2a9970 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20010c03 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20af398b rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x216cd105 write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2180ad8d svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22512609 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2272debe xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2301a244 xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x233d969a rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2418dcf4 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x254565ef xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x274ad15f rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x280eee22 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x28622f4c rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29169ad5 rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2985df90 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b9b9396 rpc_switch_client_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2baee34d rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c0eb3ec svc_xprt_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c6b3024 xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e5248bc svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ee13ae8 svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f805f8f rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30650ca6 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x32be45f7 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3431354b xprt_unlock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x348f0042 svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34d184de rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x35c9dd3e xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37cb83b1 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3957dc4c auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3977a392 xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a476c81 xprt_lock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3aaec28f xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3dace253 rpc_sleep_on_priority_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f33cf1a rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f814517 xdr_align_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x40f161bd xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x41271be1 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4295b8c6 xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x44769f46 cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x467e366a svc_xprt_deferred_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4967cbdd xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4998746e xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a75cd7b svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4aeb1ab1 xprt_wake_up_backlog +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4aed5da1 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4be78ab0 rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c0e58ac svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4cf747de read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dac77f0 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e8f6ca7 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f28392e svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x50f50ad9 svc_xprt_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x51291b2b __xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x521b0425 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x52cec5cb cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x52d7b77d xdr_buf_trim +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x548597e8 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a55310d rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5aed8670 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b5d11a1 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bd5a4fa xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c99e608 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5cf19b16 svc_rqst_replace_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d22a053 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d825582 xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5eb6720b svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x630996a0 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x643f4f8f sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64627478 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66ed2439 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66efdfe9 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6847e477 cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x69515eec xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x69fc76b6 svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ab7f8d6 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ad673bb rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7079e1e4 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x718d4356 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71bc40e3 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71de8bb7 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7249d4e5 rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72e9e1a5 rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x743f45c4 rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x748e7801 xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7691674b xdr_page_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x77a06554 xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78161498 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78c8b1a5 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a343a6c rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b6b6b11 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cc961f2 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cefe0ce xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de69e7a rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e46803a auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81eac0d6 rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x83536118 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x836ad93f xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8679290a svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x867b64ab rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x88212f42 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x88230a28 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x88e6b974 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a893f2b rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8bb5fdbd rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8cacd046 xdr_reserve_space_vec +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d0e00c3 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8f606a65 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8f75dd3b rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9003d5b8 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9215bf7e svc_xprt_destroy_all +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x92807cf3 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9583d110 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x959d23f3 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x964abb4c xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x966fc566 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9670b5a1 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98652cd9 rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x987e23b6 sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98abb482 rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99aee353 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e47573c xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f700f22 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa1f6ceb3 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa4e7a147 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa5970822 rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa62fbdba rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa6ae6cd2 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa9f1aae rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xab9f88d6 xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf62b0eb xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xafa86f95 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb050ed14 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb0af799e svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb1f02484 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb208802a cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb29d632f rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb342ec28 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb36b042e rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51a3724 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51bffdb put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb585811c xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb69dc889 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7019697 rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7396e0d xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7b29b57 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7b3d5cf xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7c7b46f xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7ca9ca6 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba8fbcee rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb70c247 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc1d880a xdr_stream_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc8d3caa svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd0e3bb3 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbd5bfdac xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbe766244 xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbef9fbe7 svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf08890b svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf12a261 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc0908dd0 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc0adac2c rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2ecb7b0 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3daec90 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6c2a1db svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6fbe9e4 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8f01b01 svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc93b497f rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc94e6891 sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xca76c6cf xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd527c0b rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce30ac1d rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce678a59 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcfcfd1ad rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd04aa8df bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd10d1d5b rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd48f6959 rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd51b849c svc_encode_result_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7532b97 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd80e652c rpc_prepare_reply_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd967c07f xdr_expand_hole +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9997095 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd5c76f6 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd691402 xprt_find_transport_ident +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd97e033 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe027bd53 rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe17eef3e rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe2943b66 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4184e3d rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe46c29d1 svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4d1e2c5 rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe51dd15d cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe546526f xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7e7f61d svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee2e09c7 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee69a944 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeed92467 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0b7775d rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf230f0ee rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf32285a7 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6a67111 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf92785e7 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf99aa013 xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa3d0cac xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfadb8193 xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc475f0a cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfd29f665 rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfdb770e3 xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff727250 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/tls/tls 0x2324df12 tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/tls/tls 0x63e7731f tls_validate_xmit_skb +EXPORT_SYMBOL_GPL net/tls/tls 0xcb00eed7 tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/tls/tls 0xcf1c1026 tls_encrypt_skb +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x01eed8e4 virtio_transport_do_socket_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x03a81e69 virtio_transport_stream_allow +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x08287aca virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0e3ddc8c virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x144e93b3 virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x219b3294 virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x304d54ea virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x37ddf960 virtio_transport_notify_poll_out +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x49fdbad4 virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x52cbfe0b virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5a67ec0a virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5cd4c1d6 virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x683cff73 virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x6cb7e4af virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x887904da virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x9b88e2dc virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x9cce882c virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa581beab virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa64271fd virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa8825e2f virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb2025e52 virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb32a33bd virtio_transport_seqpacket_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb9487928 virtio_transport_stream_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xbabd30f5 virtio_transport_dgram_allow +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xbf4e709b virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd5311777 virtio_transport_connect +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd75d5c7d virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe37592c8 virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe4b35a4f virtio_transport_seqpacket_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe581077b virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe8a88c99 virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe9af52db virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xef93cec6 virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf2f45751 virtio_transport_seqpacket_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf6d6b5e1 virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf6ee00a1 virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x02408887 vsock_assign_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0c3bf827 vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0e9bc9b6 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x31131603 vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x36239564 vsock_remove_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3d4b0fca vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4b99648c vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4e721c5d vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x502e2d62 vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x5c347bc7 vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x5f38aa03 vsock_remove_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x6262c5f2 vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x77c14317 vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7846cf37 vsock_core_unregister +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7f2f737d vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x8d289380 vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x90aa8549 vsock_find_cid +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9bb6fd09 vsock_connected_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9fc4afad vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xa2787a75 vsock_add_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xa2d5101a vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xaf2674b5 vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb1acbf0b vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc1437f20 vsock_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc92f7f50 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd0709806 vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xdc6e4f1f vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xe28f0f2b vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xec96eadf vsock_addr_validate +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0175fcc9 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x1f0bd752 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x267cf2fb cfg80211_pmsr_complete +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3f840a82 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x501fa5a6 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x520d42c0 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x550c4e60 cfg80211_shutdown_all_interfaces +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x70975b91 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x84f1df28 cfg80211_pmsr_report +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x887fda29 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8acc195c cfg80211_vendor_cmd_reply +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa55368d2 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa99b73d5 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb847bf7e cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcc6c2d57 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xef542223 cfg80211_vendor_cmd_get_sender +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0049ca83 xfrm_aead_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00c80741 xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0a575945 xfrm_count_pfkey_auth_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x37a02412 xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x5c699441 xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x72395dc1 xfrm_calg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x7a8ca627 xfrm_count_pfkey_enc_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xaab23340 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xb73be794 xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xc6b1fdbe xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xd6f50cf7 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x5d600dcc ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x6ca8ddcb ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xe2d71a16 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xeed80227 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0x4a0c7516 xfrm_msg_min +EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0xe2521b1c xfrma_policy +EXPORT_SYMBOL_GPL sound/ac97_bus 0x35030a2a snd_ac97_reset +EXPORT_SYMBOL_GPL sound/core/seq/snd-seq 0xadb51cff snd_seq_client_ioctl_unlock +EXPORT_SYMBOL_GPL sound/core/seq/snd-seq 0xe50413d7 snd_seq_client_ioctl_lock +EXPORT_SYMBOL_GPL sound/core/snd 0x048ca8df snd_power_ref_and_wait +EXPORT_SYMBOL_GPL sound/core/snd 0x213512ed snd_card_rw_proc_new +EXPORT_SYMBOL_GPL sound/core/snd 0x25e5fbbe snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0x2ab3a608 snd_device_get_state +EXPORT_SYMBOL_GPL sound/core/snd 0x3a278abc snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0x3b90c6ee snd_ctl_apply_vmaster_followers +EXPORT_SYMBOL_GPL sound/core/snd 0x4090262c snd_card_disconnect_sync +EXPORT_SYMBOL_GPL sound/core/snd 0x513c138f snd_devm_card_new +EXPORT_SYMBOL_GPL sound/core/snd 0x5af762f1 snd_fasync_free +EXPORT_SYMBOL_GPL sound/core/snd 0x5ec472db snd_devm_request_dma +EXPORT_SYMBOL_GPL sound/core/snd 0x6b5c17cb snd_device_initialize +EXPORT_SYMBOL_GPL sound/core/snd 0x7123b501 snd_card_add_dev_attr +EXPORT_SYMBOL_GPL sound/core/snd 0xa9983366 snd_ctl_sync_vmaster +EXPORT_SYMBOL_GPL sound/core/snd 0xad1c0d34 snd_ctl_register_layer +EXPORT_SYMBOL_GPL sound/core/snd 0xb166ac76 snd_ctl_get_preferred_subdevice +EXPORT_SYMBOL_GPL sound/core/snd 0xb20c7439 snd_fasync_helper +EXPORT_SYMBOL_GPL sound/core/snd 0xb49c4e62 snd_card_ref +EXPORT_SYMBOL_GPL sound/core/snd 0xcb03ce48 snd_card_free_on_error +EXPORT_SYMBOL_GPL sound/core/snd 0xde363f96 snd_device_disconnect +EXPORT_SYMBOL_GPL sound/core/snd 0xf1dbf5c3 snd_ctl_disconnect_layer +EXPORT_SYMBOL_GPL sound/core/snd 0xf8f2a4eb snd_kill_fasync +EXPORT_SYMBOL_GPL sound/core/snd 0xfaf598c6 snd_ctl_request_layer +EXPORT_SYMBOL_GPL sound/core/snd-compress 0x288a0a6f snd_compress_new +EXPORT_SYMBOL_GPL sound/core/snd-compress 0x324bfb22 snd_compr_stop_error +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x04e1b99f snd_pcm_std_chmaps +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x09e913c1 snd_pcm_alt_chmaps +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x18d2140b _snd_pcm_stream_lock_irqsave +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x234b06ac snd_pcm_fill_iec958_consumer +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x34b721b0 snd_pcm_hw_constraint_eld +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x3998128f snd_pcm_stream_unlock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x54387f2a snd_dma_buffer_sync +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x5c407196 snd_pcm_fill_iec958_consumer_hw_params +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x5dd63049 snd_pcm_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x5eedcaea snd_pcm_stream_unlock_irqrestore +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x649892e8 snd_pcm_create_iec958_consumer_default +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x792f7d8d snd_pcm_stream_lock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x7ae89ab6 snd_pcm_stream_lock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x8d864069 snd_pcm_rate_range_to_bits +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x96b8797c _snd_pcm_stream_lock_irqsave_nested +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa89942f8 snd_devm_alloc_dir_pages +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xab8bc1a2 snd_pcm_rate_mask_intersect +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xb7dac88d snd_pcm_stream_unlock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xda3d30d9 snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xeda69588 snd_pcm_stop_xrun +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x07e62f4d snd_dmaengine_pcm_set_config_from_dai_data +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x1939993b snd_dmaengine_pcm_refine_runtime_hwparams +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x232e4a4d snd_dmaengine_pcm_open +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x2e9f446a snd_dmaengine_pcm_close +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x5b78220d snd_hwparams_to_dma_slave_config +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x60e58cca snd_dmaengine_pcm_pointer +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xa67c1742 snd_dmaengine_pcm_get_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xd68b4a5a snd_dmaengine_pcm_pointer_no_residue +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xe2f9ace8 snd_dmaengine_pcm_close_release_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xe7ac76d5 snd_dmaengine_pcm_trigger +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xf36c7964 snd_dmaengine_pcm_request_channel +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xf83a3c28 snd_dmaengine_pcm_open_request_chan +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x31af57d0 __snd_seq_driver_register +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x693bcc17 snd_seq_driver_unregister +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x1ccf21e3 amdtp_am824_add_pcm_hw_constraints +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x3afd1bc1 amdtp_domain_stream_pcm_ack +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x43bece7c amdtp_am824_set_pcm_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x63b835d9 amdtp_am824_midi_trigger +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x662a0b7f amdtp_domain_stop +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x6b4fa843 amdtp_domain_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x8b20cc8c amdtp_domain_add_stream +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x916bbf0b amdtp_domain_start +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x9a3ec262 amdtp_domain_stream_pcm_pointer +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x9fdcf69a amdtp_am824_set_midi_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xaea6d647 amdtp_am824_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xc222e824 amdtp_am824_set_parameters +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xeeb3dad2 amdtp_domain_destroy +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x12db6979 snd_hdac_ext_bus_ppcap_enable +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x19af8146 snd_hdac_ext_bus_device_remove +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x1a054493 snd_hdac_ext_link_stream_clear +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x1aca2ab7 snd_hdac_ext_link_stream_setup +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x1b773c31 snd_hdac_ext_bus_init +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x1f057762 snd_hdac_ext_stream_drsm_enable +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x21c16d30 snd_hdac_ext_bus_link_power_down +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x24fff4de snd_hdac_ext_stream_get_spbmaxfifo +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x380dfd3d snd_hdac_ext_bus_link_power +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x3c59a116 snd_hdac_ext_stream_set_spib +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x3e3583e1 snd_hdac_stream_free_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x3fd53e76 snd_hdac_ext_stream_decouple +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x5f3471b9 snd_hdac_ext_bus_ppcap_int_enable +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x6b7458dd snd_hdac_ext_bus_link_put +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x6f163b44 snd_hdac_ext_stream_set_lpib +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x6ff7e28f snd_hdac_ext_bus_link_power_up +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x7069236e snd_hdac_ext_bus_link_power_up_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x71807d79 snd_hdac_ext_bus_device_init +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x7406d77a snd_hdac_ext_link_stream_start +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x7822067a snd_hda_ext_driver_unregister +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x79b41b9f snd_hdac_ext_stream_spbcap_enable +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x7a505d49 snd_hdac_ext_link_stream_reset +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x7c1e1a34 snd_hdac_ext_bus_exit +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x7f7023fe snd_hda_ext_driver_register +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0x8ab8b88d snd_hdac_link_free_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xa1d46122 snd_hdac_ext_stream_decouple_locked +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xa508064a snd_hdac_ext_bus_get_ml_capabilities +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xb7b7e14a snd_hdac_ext_stream_init_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xc038dc4c snd_hdac_ext_stream_set_dpibr +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xccc644b8 snd_hdac_ext_link_set_stream_id +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xccddcd37 snd_hdac_ext_stream_assign +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xd6cd2452 snd_hdac_ext_bus_device_exit +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xdcd05b39 snd_hdac_ext_bus_link_get +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xdd87cb2f snd_hdac_ext_stream_release +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xe07e0292 snd_hdac_ext_bus_link_power_down_all +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xe4500f4a snd_hdac_ext_bus_get_link +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xeeabe30a snd_hdac_ext_stream_init +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xf3dec7d9 snd_hdac_ext_bus_link_at +EXPORT_SYMBOL_GPL sound/hda/ext/snd-hda-ext-core 0xf6f395b3 snd_hdac_ext_link_clear_stream_id +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x01c6f3a5 snd_hdac_stream_timecounter_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0587cc95 snd_hdac_stream_setup_periods +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x07d03581 snd_hdac_bus_reset_link +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0f7ffe59 snd_hdac_device_set_chip_name +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x15a84744 snd_hdac_stream_setup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x163f81b6 snd_hdac_stop_streams_and_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1a480a44 snd_hdac_dsp_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1a8a8c66 snd_hdac_codec_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x208e4c00 snd_hdac_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2a5f9d33 snd_hdac_regmap_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x33362efe snd_hdac_stream_clear +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3390af40 snd_hdac_dsp_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x33c1dbf0 snd_hdac_bus_link_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x341ef855 snd_hdac_is_supported_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3b22b76a snd_hdac_stream_set_params +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3bd544c2 snd_hdac_get_active_channels +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3ef92463 snd_hda_bus_type +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3fa7c676 snd_hdac_stream_assign +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x422f724c snd_hdac_stream_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x458c4587 snd_hdac_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x46108479 snd_hdac_bus_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x47291a86 snd_hdac_codec_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4755972b snd_hdac_regmap_add_vendor_verb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4c408522 snd_hdac_regmap_read_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4c7ec4b6 snd_hdac_get_ch_alloc_from_ca +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4ceb7c71 snd_hdac_device_unregister +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4e94ae85 snd_hdac_stream_sync_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5473234a snd_hdac_stop_streams +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x565c94ce snd_hdac_device_register +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x56947a9f snd_hdac_stream_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x57fbca5f snd_hdac_regmap_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5840a894 hdac_get_device_id +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x589323bd snd_hdac_get_stream_stripe_ctl +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x597099b8 snd_hdac_regmap_update_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5b2f33b9 snd_hdac_bus_alloc_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c07cb49 snd_hdac_calc_stream_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c174b82 snd_hdac_stream_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6206359a snd_hdac_bus_stop_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67bfe791 snd_hdac_spk_to_chmap +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6cd62877 snd_hdac_bus_exec_verb_unlocked +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6dfc3049 snd_hdac_regmap_write_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6ea9e555 snd_hdac_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x707e8447 snd_hdac_check_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x72f67f2c snd_hdac_device_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x730a1172 snd_hdac_power_down_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7406697b snd_hdac_bus_send_cmd +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x74704cf2 _snd_hdac_read_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77679351 snd_hdac_i915_set_bclk +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77c754a8 snd_hdac_chmap_to_spk_mask +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7dea5d13 snd_hdac_get_connections +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x80e8976b snd_hdac_power_up_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8c3ec8c8 snd_hdac_bus_handle_stream_irq +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8c915334 snd_hdac_bus_init_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9adb2181 snd_hdac_acomp_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9b0eba27 snd_hdac_override_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9d110ad1 snd_hdac_stream_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9d4dd138 snd_hdac_bus_enter_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa29c8bef snd_hdac_set_codec_wakeup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xaaf6dace snd_hdac_bus_init_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xad68d16e snd_hdac_bus_free_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xae5a3b0c snd_hdac_get_sub_nodes +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xaeb521ad snd_hdac_codec_modalias +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb0d88336 snd_hdac_read_parm_uncached +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb28d9f11 snd_hdac_stream_start +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb3dc9f01 snd_hdac_setup_channel_mapping +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb7f4b496 snd_hdac_codec_link_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb84c3593 snd_hdac_sync_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbd7b2633 snd_hdac_acomp_register_notifier +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbd7c3310 snd_hdac_bus_update_rirb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbe24fe98 snd_hdac_query_supported_pcm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc23283c5 snd_hdac_register_chmap_ops +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc2f4e300 snd_hdac_device_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc404f144 snd_hdac_regmap_update_raw_once +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc68a95e0 snd_hdac_codec_link_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc6f0b658 snd_hdac_dsp_prepare +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc88fed93 snd_hdac_stream_stop +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xca8d7eab snd_hdac_acomp_get_eld +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xcaf68c4a snd_hdac_stream_release +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xcb2e4317 snd_hdac_bus_exit_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd2204f38 snd_hdac_bus_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd75e45f2 snd_hdac_bus_stop_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd7ceba9c snd_hdac_regmap_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xdece816d snd_hdac_power_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe0b0ac67 snd_hdac_sync_audio_rate +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe4e07754 snd_hdac_print_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe894868e snd_hdac_bus_get_response +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe911566c snd_hdac_i915_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xea7b9424 snd_hdac_acomp_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xebfba9a3 snd_hdac_get_stream +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf00e984b snd_hdac_display_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf4f3e006 snd_hdac_refresh_widgets +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf808a614 snd_hdac_power_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfdd73182 snd_hdac_bus_parse_capabilities +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x18036e74 snd_intel_acpi_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x2e6e539f snd_intel_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x4e859456 intel_nhlt_free +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x67c85783 intel_nhlt_get_dmic_geo +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x8b4b2bac intel_nhlt_init +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x02696431 snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x49e8071e snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xa3f19582 snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xa827a79b snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xa8661b3a snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xe2c3fa31 snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x00c895ad snd_hda_codec_eapd_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0270eed1 snd_hda_codec_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x039af095 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x057cd028 snd_hda_codec_update_widgets +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0676f5ac snd_hda_get_input_pin_attr +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x096a4ffb snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0b2d5473 snd_hda_mixer_amp_switch_get_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0b8cbea4 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0c5c0e2b azx_bus_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0e1c99e7 snd_hda_jack_poll_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0f13adba snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0f3b35ac snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1103ecf0 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1124be27 snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x11b02a52 _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x128fcdd9 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x13fb1956 snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x161b8c17 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1e348d59 snd_hda_get_int_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1eae722e azx_init_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1ee5ec00 snd_hda_codec_load_dsp_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1fa28845 snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x22341395 snd_hda_codec_parse_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x229ba4be snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2327e547 snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x298f72be snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2cb7f696 snd_hda_codec_device_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2cc8b499 query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2cdd20da azx_probe_codecs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2ff721ff snd_hda_codec_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x30a78b4e snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x36ea31f7 snd_hda_create_dig_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38a11204 snd_hda_codec_device_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38ce402b azx_interrupt +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x39aadd9b azx_get_pos_lpib +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3b529809 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3c4e0d7a snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3e2054ff snd_hda_codec_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x424684a5 snd_hda_codec_pcm_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x43d6e797 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x45c6e0ed snd_hda_jack_bind_keymap +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4745befc snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x475f6869 is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x48ba3ab8 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4a0c150d snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4aaacf4c snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4cc956a1 snd_hda_enum_helper_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x54104cff snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5784b090 snd_hda_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5a033826 snd_hda_pick_pin_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5d3c94db snd_hda_get_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5d58bdaf snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5d8b9243 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5eae32a1 snd_hda_codec_get_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5f9480fc snd_hda_jack_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x63989559 snd_hda_get_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6454dd73 snd_hda_codec_set_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x64d8426b snd_hda_codec_amp_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x656ba026 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x66af5bce __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x66cf1fe1 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x689548fe snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x68d36630 snd_hda_codec_set_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6bc51608 snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6d6233cc snd_hda_jack_add_kctl_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6dd4de40 azx_init_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x71dea8fc snd_hda_codec_load_dsp_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x752110bb snd_hda_jack_set_button_state +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x75acbc8e snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x78c282b6 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7dde99f1 snd_hda_set_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f6cc5f3 snd_hda_codec_cleanup_for_unbind +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8142c410 snd_hda_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x81a7b550 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x852a17ce snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x86376936 snd_hda_correct_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x890478aa snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8a393dee snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8a69f3de snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8a6ec06c __hda_codec_driver_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8a7e201a __snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8b905d6e snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8c3e8ef3 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8ddd8a84 azx_stop_all_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e185101 snd_hda_jack_detect_enable_callback_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8fe83eb0 snd_hda_jack_tbl_get_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x92ab8657 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x941728e6 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x95eb476e snd_hda_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x966294d8 snd_hda_codec_amp_init_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x99a50abf snd_hda_jack_detect_state_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x99d49be7 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9f72beff snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa338ad46 hda_codec_driver_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa444cf2e snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa5f8547d snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa736c9dd snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa9a49ddc snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xad07a4cd snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xae43826d snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xae8d31b7 snd_hda_codec_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb03ce2bd snd_hda_jack_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb11f4083 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb325f647 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb7c37117 snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xba02f55c azx_free_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe083f94 azx_stop_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe1331c7 __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe3c6f93 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe66c696 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc1450f31 azx_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc4364fb0 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc626ba44 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc8174eed snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcafb2eaf snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xccdd6519 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd0c5763d azx_get_pos_posbuf +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd4fb37d1 snd_hda_get_num_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd6fcee22 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xda067327 snd_hda_jack_set_gating_jack +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdf2b4d20 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdf39d669 azx_get_position +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe118de5d snd_pcm_2_1_chmaps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe2250a5f hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeaf00ff9 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xefbb08b5 snd_hda_codec_pcm_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf0635bd3 snd_hda_codec_load_dsp_trigger +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf0b4e30b snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf309fc2a snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf3b6d40d snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf5db1bb6 snd_hda_check_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf89b65cf snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf8dc35ac snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x021ba57a snd_hda_gen_line_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x0e1055c2 snd_hda_get_path_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x149bc2f4 snd_hda_add_new_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x2708a186 snd_hda_gen_stream_pm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x2ff63963 snd_hda_gen_fix_pin_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x3f8e21d0 snd_hda_gen_mic_autoswitch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x4b6486cb snd_hda_gen_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x4bdc9bec snd_hda_get_path_from_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x76dc6871 hda_main_out_badness +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x81402b92 snd_hda_gen_hp_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x871a6e44 hda_extra_out_badness +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x880939e4 snd_hda_gen_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x89a2fc02 snd_hda_gen_path_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x949505ce snd_hda_gen_add_mute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb4c10981 snd_hda_gen_spec_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xcb6cd18d snd_hda_activate_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xd1652fec snd_hda_gen_add_micmute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xd2cc01b3 snd_hda_gen_parse_auto_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xd57244ca snd_hda_gen_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xde4cf395 snd_hda_gen_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xe4a77904 snd_hda_gen_check_power_status +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xe88d3575 snd_hda_gen_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xefaf40cc snd_hda_gen_update_outputs +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau-utils 0xae620be9 adau_calc_pll_cfg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1372 0xa9367dd7 adau1372_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x075afa54 adau1761_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x1d1356a8 adau1761_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x311efd45 adau17x1_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x378f0099 adau17x1_precious_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x3d22ed12 adau17x1_set_micbias_voltage +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x3ec2a5ae adau17x1_add_widgets +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x509b032d adau17x1_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x78aa27dd adau17x1_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xaa239a6c adau17x1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xcf0373cd adau17x1_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xe7b32329 adau17x1_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xff12ed63 adau17x1_add_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau7118 0xd44b4323 adau7118_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x0d4673c1 arizona_dvfs_up +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x0d9c58b6 arizona_in_dmic_osr +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x197a9c1a arizona_lhpf2_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x20988bdb arizona_init_dvfs +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x21b7c4c8 arizona_ng_hold +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x2389d906 arizona_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x27eef1a6 arizona_init_spk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x28928687 arizona_lhpf1_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x2faf5fea arizona_init_vol_limit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x37221fa8 arizona_adsp2_rate_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x3ece4a30 arizona_in_vd_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x421b2d11 arizona_isrc_fsh +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x44320085 arizona_output_anc_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x44cfb1d9 arizona_init_dai +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x46277216 arizona_rate_val +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x4d468e9c arizona_jack_codec_dev_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x578e9658 arizona_dvfs_sysclk_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x5884d0e6 arizona_jack_set_jack +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x5a3e727a arizona_anc_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x5d9aa86e arizona_in_hpf_cut_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x5f192bf0 arizona_in_vi_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x69102a20 arizona_sample_rate_text +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x707246eb arizona_free_spk_irqs +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x729a5ef3 arizona_mixer_values +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x74cdf568 arizona_jack_codec_dev_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x79a490f7 arizona_dvfs_down +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x7aaaa920 arizona_lhpf4_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x7f26f273 arizona_mixer_texts +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x7fcb929a arizona_sample_rate_val_to_name +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x804d0a8b arizona_anc_ng_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x84f6bbea arizona_anc_input_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x880029d3 arizona_input_analog +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x8bb2cb12 arizona_init_spk_irqs +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x93443bf7 arizona_simple_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0x9989b131 arizona_clk_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xa71879d5 arizona_asrc_rate1 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xa9f5a398 arizona_lhpf_coeff_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xab4d845c arizona_rate_text +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xb43f968f arizona_set_output_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xb8c83cba arizona_voice_trigger_switch +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xb9429458 arizona_out_vi_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xbf0d97ae arizona_lhpf3_mode +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc3ba64b4 arizona_init_mono +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc90bbffb arizona_set_fll_refclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xc9c29637 arizona_mixer_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xd56c76d5 arizona_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xd57d69b8 arizona_init_common +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xd852c260 arizona_init_fll +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xd895f598 arizona_out_vd_ramp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xd98a6f07 arizona_isrc_fsl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xdfe804b8 arizona_sample_rate_val +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xe61418a7 arizona_eq_coeff_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xe94f077e arizona_out_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xec5bbbc0 arizona_of_get_audio_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xf2e72639 arizona_init_gpio +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xf46364e3 arizona_set_fll +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xf60ebd05 arizona_hp_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-arizona 0xf72e1e47 arizona_in_ev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0x3314bd80 cs35l41_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0x6d901d90 cs35l41_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0x79b6c3a2 cs35l41_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x024057d2 cs35l41_global_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x22decfe3 cs35l41_enter_hibernate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x2bacc016 cs35l41_configure_cs_dsp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x43741be9 cs35l41_safe_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x45e39e69 cs35l41_regmap_spi +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x5cf17ce5 cs35l41_write_fs_errata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x5da7f834 cs35l41_exit_hibernate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x764cba0d cs35l41_test_key_unlock +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7ea66698 cs35l41_init_boost +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x8620903a cs35l41_otp_unpack +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x94dc179d cs35l41_set_channels +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x962b7fae cs35l41_gpio_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xc517ef25 cs35l41_test_key_lock +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xd26013c3 cs35l41_set_cspl_mbox_cmd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xf3b698b6 cs35l41_regmap_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xf41a4c05 cs35l41_register_errata_patch +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x287e44a0 cs4271_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0xe77186e8 cs4271_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x375ad98c cs42l51_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x3a8db46a cs42l51_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x3ac96928 cs42l51_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x8077b5f5 cs42l51_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x8286bc7e cs42l51_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x96e3fd6b cs42l51_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x0245c4f2 cs42xx8_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7cac7292 cs42888_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xa819a53b cs42xx8_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcd3794c9 cs42448_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xef37b2d1 cs42xx8_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xfffdadda cs42xx8_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x046a7da4 da7219_aad_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x08c0a4d0 da7219_aad_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x18bf660f da7219_aad_jack_det +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x8f83185a da7219_aad_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x7666a2f7 es8328_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0xb180a39b es8328_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdac-hda 0x295fda69 snd_soc_hdac_hda_get_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdac-hdmi 0x5121e990 hdac_hdmi_jack_port_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-hdac-hdmi 0x7995556a hdac_hdmi_jack_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-lpass-macro-common 0x515061bc lpass_macro_pds_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-lpass-macro-common 0xa8450e18 lpass_macro_pds_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98090 0xeabf67be max98090_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x35102ef2 soc_codec_dev_max98373_sdw +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x69edb824 max98373_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0xd36988cd max98373_slot_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0xd9c6bbd4 soc_codec_dev_max98373 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x06a7f031 mt6358_set_mtkaif_protocol +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x421e5193 mt6358_mtkaif_calibration_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x90b356e2 mt6358_mtkaif_calibration_disable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0xe3413f46 mt6358_set_mtkaif_calibration_phase +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8821 0x449a4805 nau8821_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0x12796999 nau8824_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0xbf55f96a nau8824_components +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8825 0x6e0362a0 nau8825_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x36b67003 pcm1789_common_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x7f1f3548 pcm1789_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xa18ef117 pcm1789_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0x6bc8d13c pcm179x_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0xa63e5d3f pcm179x_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x1b3a333f pcm186x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0xfcb3528b pcm186x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x3ce778a5 pcm3168a_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x43b85f96 pcm3168a_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x99e4ce2a pcm3168a_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xdc5572b3 pcm3168a_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x31619791 pcm512x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x6a9a96bf pcm512x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x75726401 pcm512x_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0xce7042f3 pcm512x_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x5dc92cdf rl6231_pll_calc +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x70617a04 rl6231_get_clk_info +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x8d7fa148 rl6231_get_pre_div +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0xdba4502f rl6231_calc_dmic_clk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6347a 0xa7aa810f rl6347a_hw_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6347a 0xade4bf4c rl6347a_hw_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt286 0x0c1e9b81 rt286_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt298 0x03fb8b75 rt298_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5514-spi 0x61ff58e3 rt5514_spi_burst_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5514-spi 0xff87892f rt5514_spi_burst_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x07849c73 rt5640_enable_micbias1_for_ovcd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x4c234d99 rt5640_detect_headset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x9b423fbe rt5640_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xc05c3f89 rt5640_set_ovcd_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xc2ecf677 rt5640_disable_micbias1_for_ovcd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xf75c428a rt5640_dmic_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0xb9fe27c6 rt5645_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0xf785115e rt5645_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5659 0x9025ea38 rt5659_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5663 0x723238db rt5663_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0x2629a1dd rt5670_jack_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0x2f5ee4db rt5670_components +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0x6b812199 rt5670_jack_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0xc4d0a3b2 rt5670_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5670 0xee20a46b rt5670_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677 0x7c1d00bf rt5677_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x5fc320ad rt5677_spi_write_firmware +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x67956035 rt5677_spi_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0xc6695825 rt5677_spi_hotword_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0xe8ece129 rt5677_spi_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x0dc5bf84 rt5682_soc_component_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x28730696 rt5682_supply_names +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x4c963fa8 rt5682_aif2_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x50174b74 rt5682_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x59d3d967 rt5682_jack_detect_handler +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x63d63602 rt5682_apply_patch_list +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xa7a184ab rt5682_aif1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb42bf75f rt5682_register_dai_clks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb897de56 rt5682_reg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xc61da25d rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xdca23aea rt5682_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xed63fcf0 rt5682_parse_dt +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xf5628deb rt5682_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xf8c7f3f7 rt5682_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682s 0x20818854 rt5682s_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x2e64a136 sigmadsp_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x7825d439 sigmadsp_restrict_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x8f8a53d4 devm_sigmadsp_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x94bfeb42 sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xa281d8f4 sigmadsp_setup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-i2c 0xc4a9b572 devm_sigmadsp_init_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-regmap 0xc461dfe1 devm_sigmadsp_init_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x0b3c3f04 ssm2602_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x23dd1ad0 ssm2602_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic32x4 0xa0e182fd aic32x4_register_clocks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x2e614ca9 aic3x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0x60c55ac9 ts3a227e_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd-mbhc 0x936c1623 wcd_mbhc_event_notify +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x56548229 wcd938x_sdw_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x5797bcc3 wcd938x_swr_get_current_bank +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x67459c7a wcd938x_sdw_device_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0xe52908d0 wcd938x_sdw_set_sdw_stream +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0xfc8a7358 wcd938x_sdw_hw_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x01c7f6d2 wm_adsp_read_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x05a82bb2 wm_adsp2_set_dspclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x06666c03 wm_adsp_compr_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x157b3901 wm_adsp_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x1e07f103 wm_adsp_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x2523d81a wm_adsp2_component_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x31c53c1c wm_adsp_fw_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x3d4a32cd wm_halo_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x46636e8f wm_adsp1_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x47916a7f wm_adsp_compr_get_caps +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x50c53cc0 wm_adsp1_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x52c16479 wm_halo_wdt_expire +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x5eceff11 wm_adsp_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x6d430964 wm_adsp_compr_open +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x74375cd1 wm_adsp_compr_handle_irq +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x74e762de wm_adsp2_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x760c50b6 wm_adsp_compr_copy +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x82f676d8 wm_adsp2_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x8929dac0 wm_adsp_early_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x9d1ec543 wm_adsp2_preloader_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x9ded7db0 wm_adsp2_preloader_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xa3e1437b wm_adsp_write_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xaf8e38a2 wm_adsp2_component_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xbb1b349e wm_adsp_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xdd3c79ef wm_adsp2_bus_error +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xe51faf51 wm_adsp_fw_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xe5ec17a2 wm_adsp_fw_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xea38ee07 wm_halo_bus_error +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x1ce4daf6 wm8731_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x461a07cd wm8731_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x58dc8ab0 wm8804_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x5b5771f8 wm8804_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x60502533 wm8804_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x69576029 wm8804_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x5b00d8c6 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0x23196710 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0xe13cbe6e fsl_asrc_component +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-imx-audmux 0x30693bb7 imx_audmux_v1_configure_port +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-imx-audmux 0x58631dab imx_audmux_v2_configure_port +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x07e55bc9 asoc_simple_startup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x0b9ae463 asoc_simple_hw_params +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x119b9607 asoc_simple_be_hw_params_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x16cd6354 asoc_simple_parse_routing +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x1980cbcf asoc_simple_parse_tdm_width_map +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x1c84b33f asoc_simple_parse_widgets +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x1d7a50cb asoc_graph_is_ports0 +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x267473a8 asoc_simple_canonicalize_cpu +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x2c7f30ac asoc_simple_init_priv +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x391f3aa1 asoc_simple_parse_convert +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x5b6d4df8 asoc_simple_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x6b760965 asoc_simple_init_jack +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x73a954e0 asoc_simple_parse_clk +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7d534310 asoc_simple_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x8870626a asoc_simple_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x93cfbef9 asoc_simple_remove +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x9db5c989 asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xbb9f79f4 asoc_simple_set_dailink_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xcba54764 asoc_graph_card_probe +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xd53e7ab9 asoc_simple_canonicalize_platform +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xdb2269de asoc_simple_shutdown +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xf2a772d6 asoc_simple_clean_reference +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xf3bafb75 asoc_simple_convert_fixup +EXPORT_SYMBOL_GPL sound/soc/intel/atom/snd-soc-sst-atom-hifi2-platform 0x4caac39d sst_register_dsp +EXPORT_SYMBOL_GPL sound/soc/intel/atom/snd-soc-sst-atom-hifi2-platform 0x6bbe8771 sst_unregister_dsp +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0x6dfe1b8f intel_sst_pm +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0x709cd25f relocate_imr_addr_mrfld +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0x81efe6a8 sst_alloc_drv_context +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0xc213a26b sst_context_init +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0xc2ce1dfc sst_context_cleanup +EXPORT_SYMBOL_GPL sound/soc/intel/atom/sst/snd-intel-sst-core 0xd877f23e sst_configure_runtime_pm +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x13430765 snd_soc_acpi_intel_adl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x1a04997c snd_soc_acpi_intel_cml_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x2a7556da snd_soc_acpi_intel_hda_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x333bbde2 snd_soc_acpi_intel_tgl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x34a14f4e snd_soc_acpi_intel_broadwell_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x3e10d45b snd_soc_acpi_intel_cherrytrail_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x40dfb2c1 snd_soc_acpi_intel_cfl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x462d8968 snd_soc_acpi_intel_cml_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x5a5565e1 snd_soc_acpi_intel_adl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x5c652038 snd_soc_acpi_intel_glk_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x607c51aa snd_soc_acpi_intel_mtl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x63e7540c snd_soc_acpi_intel_ehl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x659eb785 snd_soc_acpi_intel_rpl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x745f1210 snd_soc_acpi_intel_cfl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x7e9d4e97 snd_soc_acpi_intel_baytrail_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x88dd0c65 snd_soc_acpi_intel_haswell_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x8a37e27f snd_soc_acpi_intel_bxt_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x8d98c309 snd_soc_acpi_intel_mtl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x97428ae0 snd_soc_acpi_intel_cnl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0x9af1dd43 snd_soc_acpi_intel_cnl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xac2417e0 snd_soc_acpi_intel_icl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xbd17d594 snd_soc_acpi_intel_jsl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xc484b592 snd_soc_acpi_intel_rpl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xd67016b6 snd_soc_acpi_intel_kbl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xd974c666 snd_soc_acpi_intel_tgl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xed96d3e5 snd_soc_acpi_intel_icl_sdw_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-acpi-intel-match 0xfa4ace8b snd_soc_acpi_intel_skl_machines +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x0a7f3c70 sst_dsp_shim_update_bits_forced +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x16e86983 sst_shim32_read +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x285bcbf3 sst_dsp_shim_read_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x49068949 sst_dsp_register_poll +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x49ccd1c0 sst_dsp_shim_update_bits_forced_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x4b7104fa sst_dsp_outbox_write +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x63b81231 sst_dsp_outbox_read +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x69d905c7 sst_dsp_shim_write +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x6be9b27f sst_dsp_inbox_write +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x785845bc sst_dsp_shim_update_bits +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x87cdf7d2 sst_shim32_write64 +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0x948b2444 sst_dsp_inbox_read +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xaea5027a sst_dsp_shim_read +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xc5dcc956 sst_dsp_mailbox_init +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xd72a34c2 sst_shim32_read64 +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xe8d000ff sst_dsp_shim_update_bits_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xe9c6de99 sst_shim32_write +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-dsp 0xfb9d6541 sst_dsp_shim_write_unlocked +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x01c82c18 sst_ipc_reply_find_msg +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x04a68e75 sst_ipc_fini +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x14b445ec sst_ipc_tx_message_wait +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x1977a549 sst_ipc_tx_message_nowait +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x22820d4f sst_ipc_tx_message_nopm +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0x25068e3d sst_ipc_init +EXPORT_SYMBOL_GPL sound/soc/intel/common/snd-soc-sst-ipc 0xf5a5f327 sst_ipc_tx_msg_reply_complete +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x00446e04 skl_dsp_free +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x0353106a skl_ipc_create_pipeline +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x12cd6e48 bxt_sst_init_fw +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x2b2bf9e1 skl_dsp_put_core +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x2bf0c4be skl_clear_module_cnt +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x2c6aec4b skl_sst_ipc_load_library +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x2c8dd272 skl_sst_dsp_cleanup +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x35114ced skl_ipc_restore_pipeline +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x372357df skl_dsp_set_dma_control +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x3f7d108b skl_ipc_set_large_config +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x526b8a3f skl_dsp_wake +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x52edf28c bxt_sst_dsp_cleanup +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x54d5b7f3 skl_get_pvt_id +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x65838b3b cnl_sst_dsp_init +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x6f86f908 skl_put_pvt_id +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x71c64025 skl_ipc_load_modules +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0x8e9200f5 skl_ipc_set_dx +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xa24972cd skl_ipc_bind_unbind +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xa604eef9 cnl_sst_init_fw +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xafb91a81 cnl_dsp_free +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xc022db61 cnl_sst_dsp_cleanup +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xc1a0b42d skl_ipc_delete_pipeline +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xc719b0a4 skl_ipc_save_pipeline +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xc8bbc4c1 skl_ipc_get_large_config +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xc9ebf2ac is_skl_dsp_running +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xca68c98c skl_sst_init_fw +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xd6c91f3d skl_sst_dsp_init +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xd6f71453 skl_ipc_init_instance +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xddcc134b skl_ipc_set_d0ix +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xde1c9571 skl_dsp_sleep +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xe02764bd skl_get_pvt_instance_id_map +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xe417ada6 skl_ipc_unload_modules +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xe6a4140d skl_ipc_set_pipeline_state +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xf0c21d45 bxt_sst_dsp_init +EXPORT_SYMBOL_GPL sound/soc/intel/skylake/snd-soc-skl 0xf942b958 skl_dsp_get_core +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x3dd9f961 snd_soc_acpi_find_machine +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x5c512782 snd_soc_acpi_find_package_from_hid +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x9b1aadfd snd_soc_acpi_codec_list +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0229857f snd_soc_dapm_kcontrol_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x05a391ac snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x064fba95 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x07885f5e snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x080bdc19 snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x081f31ac snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x08384405 snd_soc_bytes_info_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x098841d1 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0b57a344 snd_soc_tplg_component_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0b7e6905 snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0b89406b snd_soc_component_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0e689533 snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1018b87e snd_soc_component_compr_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1185bd93 snd_soc_component_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x12560cbf snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x173749d0 dapm_mark_endpoints_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1770e0cb snd_soc_dai_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1843f9cf devm_snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x19c4b25a snd_soc_of_put_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a194c28 snd_soc_dai_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a4eb24c snd_soc_free_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1aea3bb5 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1af45347 snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1b3848b3 snd_soc_component_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1bde59ec snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1d40c4bc snd_soc_component_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1de18ae4 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1ee59b6c snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1fc855aa snd_soc_new_compress +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2029969f snd_soc_component_read_field +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x202f6ce8 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x20f8fba5 snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x23caebda snd_soc_dai_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x23d77b36 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x23da18aa snd_soc_info_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x24cd5b83 snd_soc_component_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x24ff408e snd_soc_daifmt_parse_format +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x279076d5 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2818c340 snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x28bac7b5 snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b769780 snd_soc_dapm_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2f3d7245 snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x31775a04 dpcm_end_walk_at_be +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x317d27b8 snd_soc_unregister_component_by_driver +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x32121f4d snd_soc_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x327c3241 snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x33021e1f snd_soc_dapm_free_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x33633da5 snd_soc_component_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3510ad79 snd_soc_link_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x366aae1e snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x377ce05f snd_soc_dapm_force_bias_level +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3bee01d7 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3d10fb08 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3d22e59a snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3debcedf snd_soc_card_remove_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3e2ef416 snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3ee23648 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3f7bb610 snd_soc_set_dmi_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4012f0d9 snd_soc_component_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x42723f39 snd_soc_dai_link_set_capabilities +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x437b0148 snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x45bc5a8f snd_soc_add_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x47bc7492 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x48bd7005 snd_soc_of_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x495c9c21 snd_soc_of_put_dai_link_cpus +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4b614410 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4b76912d snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4bc6cdfc snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4fa1782d snd_soc_tdm_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4fb93105 snd_soc_component_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5092de29 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x511bf75c snd_soc_dai_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x53f930a9 snd_soc_bytes_tlv_callback +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x544b9cc2 snd_soc_component_initialize +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x54e5fbdf snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x561df40e snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x59199ea6 snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x59c41ebc snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5b332235 dapm_kcontrol_get_value +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5bf73566 snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5e136ed9 snd_soc_close_delayed_work +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5eaae716 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5fd80335 snd_soc_component_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6158bdc6 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x61811ced snd_soc_of_get_slot_mask +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6197598b snd_soc_info_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x61b63c5b snd_soc_component_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x63c620ea snd_soc_component_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6405ed6c snd_soc_tplg_widget_bind_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x65864918 snd_soc_dai_active +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x65edc747 snd_soc_component_write_field +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66d4ec78 snd_soc_component_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6831ea3b snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x68ab85a3 snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6c35c627 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6cf4e4fb snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6da67c95 snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6da89f97 snd_soc_get_dai_id +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6e31c4da snd_soc_component_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6ed911d1 snd_soc_component_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6f25d055 devm_snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7018ad89 snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x70a05ec7 snd_soc_put_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x73879357 snd_soc_rtdcom_lookup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x74c8ade5 snd_soc_dpcm_runtime_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7518f30b dapm_clock_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x75903d91 snd_soc_component_compr_copy +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x75bd6ed2 snd_soc_set_ac97_ops_of_reset +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7634a018 snd_soc_of_get_dai_link_cpus +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x763edf8f snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x78ba48c7 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x78f56e97 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x799e29e9 snd_soc_daifmt_parse_clock_provider_raw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x79afd440 snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7a813581 snd_soc_card_jack_new_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7ba39b21 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7c568b70 snd_soc_link_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7c85d834 snd_soc_component_compr_open +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7d69db01 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8043fce1 snd_soc_dapm_update_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x80c5cb5a snd_soc_component_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x811e85da snd_soc_runtime_set_dai_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x82db6aea snd_soc_tplg_component_load +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83225b21 snd_soc_dapm_dai_get_connected_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8454fec7 snd_soc_component_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x89598aab snd_soc_of_parse_audio_simple_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8bebbe59 snd_soc_add_component_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e7ffef8 snd_soc_dai_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ed3e82b snd_soc_component_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x921f3a15 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x92e3a56a snd_soc_card_add_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9462dc76 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x959d20ef snd_soc_component_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x95c383c2 snd_soc_remove_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x95fdafd7 snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x95ff9b16 snd_soc_get_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x96bc5d51 snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x96ccb42a snd_soc_dai_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x978cdaf1 snd_soc_link_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x981358f1 snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x99d49351 snd_soc_card_get_kcontrol +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x99ee3212 snd_soc_unregister_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9bfe1f31 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9c629f59 snd_soc_dapm_dai_free_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9ec9bcd7 snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa00bb68b snd_soc_dai_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa11e9bac dapm_pinctrl_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa3a9e96a snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa8a63dd7 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa962227b snd_soc_component_update_bits_async +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaa8b04a4 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaa8e7023 snd_soc_dapm_del_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xafe77330 snd_soc_component_async_complete +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb0312d17 snd_soc_component_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb079c9ff snd_soc_find_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb09901c5 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb1263c3c snd_soc_lookup_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb1ba3e0e snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb24c08a1 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb2de0deb snd_soc_component_compr_get_caps +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb408ff4c devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb4e5a43b snd_soc_new_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb6a2b924 snd_soc_component_compr_get_codec_caps +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb6f605e3 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb6f89e53 snd_soc_dapm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb83e8ff6 snd_soc_set_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbb2ea042 snd_soc_dapm_init +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbca1dba0 snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbd823b69 snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbdc3f368 snd_soc_dai_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbdd8a634 snd_soc_dai_get_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc00c7d78 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc0976296 snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc1a93374 snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc2bf1c8d snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc2fef547 snd_soc_dai_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc317a15e snd_soc_daifmt_clock_provider_flipped +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc378d523 snd_soc_of_parse_aux_devs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc4ed3133 snd_soc_dai_set_bclk_ratio +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc9184c27 snd_soc_runtime_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcc0cbcd9 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xccb28b06 snd_soc_card_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcf0a3061 snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd0003a75 snd_soc_component_exit_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd4887ece snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd5389be3 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd8334f69 snd_soc_of_parse_node_prefix +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdb03ada1 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdbcd5f6e null_dailink_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdc908cc6 snd_dmaengine_pcm_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdceead31 snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe040c616 snd_soc_component_set_jack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe1f28362 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe32b0c2b snd_soc_dapm_sync_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe5a2e7d1 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe647afdc snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe795876e snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe7d3da8e snd_soc_component_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe8bb9717 snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xea8594d6 snd_soc_component_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xedd7266c snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeef09782 snd_soc_dapm_new_dai_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xefe5c858 soc_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf0dc520e snd_dmaengine_pcm_prepare_slave_config +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf261e378 snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf4bdd75d snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf57f04a7 snd_soc_lookup_component_nolocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf663e5a8 snd_soc_of_parse_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf73d359c snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf7a9a119 devm_snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf87efa0a snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9622dd1 snd_soc_daifmt_clock_provider_from_bitmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfac40574 snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfcb42abf snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfd5742ac snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfef4a661 snd_soc_of_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x0dc8230b snd_sof_dbg_memory_info_init +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x136e20b1 snd_sof_free_debug +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x18d18886 snd_sof_dbg_init +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x9df26977 snd_sof_debugfs_buf_item +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xdd815c2f snd_sof_debugfs_add_region_item_iomem +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x0dfa59b6 line6_alloc_sysex_buffer +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x14eaa418 line6_write_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x1c38434c line6_pcm_release +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x202a1b1b line6_midi_id +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x5daa099d line6_init_midi +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7de93b18 line6_read_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xaf2e4f20 line6_version_request_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xb4c3a2c6 line6_disconnect +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xbe9716ae line6_send_raw_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xc032a1dc line6_probe +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xcc7cce6a line6_suspend +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xceb08e31 line6_init_pcm +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xd99d9831 line6_resume +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xdcc9debc line6_read_serial_number +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xef95e0be line6_send_raw_message_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xf4b01184 line6_pcm_acquire +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xf8b1ba89 line6_send_sysex_message +EXPORT_SYMBOL_GPL vmlinux 0x00018f06 extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x0013539f devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0x00140b93 pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0x001b074f mce_is_correctable +EXPORT_SYMBOL_GPL vmlinux 0x001b879f crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x00240e17 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x0034f3b6 xen_has_pv_nic_devices +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x00565f18 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x005f18a6 add_wait_queue_priority +EXPORT_SYMBOL_GPL vmlinux 0x006f0f5b bpf_trace_run4 +EXPORT_SYMBOL_GPL vmlinux 0x008539f0 klp_shadow_alloc +EXPORT_SYMBOL_GPL vmlinux 0x008f0dfe __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0x0091ce2d pcc_mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x0098cfa0 usb_enable_intel_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x009bd97e fpu_alloc_guest_fpstate +EXPORT_SYMBOL_GPL vmlinux 0x00a18cb1 cpufreq_policy_transition_delay_us +EXPORT_SYMBOL_GPL vmlinux 0x00d4c500 usb_decode_interval +EXPORT_SYMBOL_GPL vmlinux 0x00d7351c dev_pm_opp_get_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x00df9837 ioasid_register_allocator +EXPORT_SYMBOL_GPL vmlinux 0x00e3d635 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x00e57c2c iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x00ec8ec8 dev_pm_domain_attach_by_name +EXPORT_SYMBOL_GPL vmlinux 0x00f92244 clk_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x00fe1d92 __SCK__tp_func_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x0112599c pinctrl_find_and_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x011e9a24 __SCK__tp_func_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x012e730e apei_exec_noop +EXPORT_SYMBOL_GPL vmlinux 0x01415e50 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x01468c2b iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x015be260 crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0x0169c1f6 spi_mem_default_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x016fa670 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x017a8a74 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x01848a8e local_apic_timer_c2_ok +EXPORT_SYMBOL_GPL vmlinux 0x01866a57 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x018ba544 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x018cac23 dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0x019f05eb mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x01a0cb78 property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0x01c12c32 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x01d65b94 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01ee5532 smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x0207a6c6 reset_control_bulk_acquire +EXPORT_SYMBOL_GPL vmlinux 0x02099ff7 devm_register_power_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x02122a38 fixup_user_fault +EXPORT_SYMBOL_GPL vmlinux 0x02187dd3 __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x021c9bd4 __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x0235044f __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x02495b8f gnttab_alloc_grant_reference_seq +EXPORT_SYMBOL_GPL vmlinux 0x024cfb5b of_hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x024d13dd request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0x024e9ff5 regmap_get_reg_stride +EXPORT_SYMBOL_GPL vmlinux 0x0257019c tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x025fa948 virtio_require_restricted_mem_acc +EXPORT_SYMBOL_GPL vmlinux 0x0264b9f8 fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x026ce816 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x026f50ba ftrace_free_filter +EXPORT_SYMBOL_GPL vmlinux 0x026fa6a9 vfio_pci_core_register_device +EXPORT_SYMBOL_GPL vmlinux 0x0270cc9d pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x027b7717 regmap_get_val_endian +EXPORT_SYMBOL_GPL vmlinux 0x028c053c posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x028cd8c2 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x028fab8e dev_coredumpsg +EXPORT_SYMBOL_GPL vmlinux 0x029ee36b ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x02b1c120 virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0x02b5eb8e register_btf_kfunc_id_set +EXPORT_SYMBOL_GPL vmlinux 0x02be47a7 __traceiter_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x02c5c501 power_supply_find_ocv2cap_table +EXPORT_SYMBOL_GPL vmlinux 0x02c979b1 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x02e2cbbc extcon_unregister_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x0312b3b0 reset_controller_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0322efdb dev_pm_domain_set +EXPORT_SYMBOL_GPL vmlinux 0x03334b0d serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x033832c7 usb_amd_hang_symptom_quirk +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x0354dc69 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x03553c4b gnttab_page_cache_shrink +EXPORT_SYMBOL_GPL vmlinux 0x0358bb25 of_icc_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0x035b74d3 blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0x0368cbcd usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x036de383 perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x03780b42 vp_legacy_get_features +EXPORT_SYMBOL_GPL vmlinux 0x037e8305 crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0x038e3f2a blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0x038e557d crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x0398b1a1 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x039db423 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x03a487a5 skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x03b22b2e __SCK__tp_func_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x03c12dfe cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x03c1c035 acrn_remove_intr_handler +EXPORT_SYMBOL_GPL vmlinux 0x03c5c4d5 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x03c6e4aa __SCK__tp_func_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x03c93417 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x03ce7234 sched_smt_present +EXPORT_SYMBOL_GPL vmlinux 0x03cfd15d fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0x03de3680 tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0x03e9e7f8 pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x0402cbbf preempt_notifier_inc +EXPORT_SYMBOL_GPL vmlinux 0x040d11a4 devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0x041699de devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x041ea174 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0x043bb0f5 pinctrl_pm_select_sleep_state +EXPORT_SYMBOL_GPL vmlinux 0x04599dc3 fsverity_ioctl_read_metadata +EXPORT_SYMBOL_GPL vmlinux 0x0464e0fc crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x0465a073 regmap_reg_in_ranges +EXPORT_SYMBOL_GPL vmlinux 0x046dffbd irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x0476cb34 devm_regmap_field_bulk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x048d446e devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0x0492741c regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x049e5156 gnttab_try_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x04b5cd51 __hwspin_unlock +EXPORT_SYMBOL_GPL vmlinux 0x04bd0d4c acct_bioset_init +EXPORT_SYMBOL_GPL vmlinux 0x04be2025 crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0x04bf0092 io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x04c41c60 devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04c8aebf console_verbose +EXPORT_SYMBOL_GPL vmlinux 0x04cba1e2 __traceiter_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x04d9320e clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0x04d9c402 sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0x04dda268 sata_lpm_ignore_phy_events +EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x04f09ca6 dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0x04f63c58 pinctrl_remove_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x05061531 set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0x051a0bc1 stack_depot_fetch +EXPORT_SYMBOL_GPL vmlinux 0x051a7c96 iopf_queue_add_device +EXPORT_SYMBOL_GPL vmlinux 0x051bd29e __traceiter_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x05270124 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x052b4013 register_vmcore_cb +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x0540efcf irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0x0544cc03 netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05501c9e regulator_map_voltage_ascend +EXPORT_SYMBOL_GPL vmlinux 0x05512479 pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x05605634 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x0564b21b powercap_unregister_zone +EXPORT_SYMBOL_GPL vmlinux 0x0564e481 irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x05691349 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x057c241b pinctrl_lookup_state +EXPORT_SYMBOL_GPL vmlinux 0x05883efb __traceiter_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x058a0711 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x058f9366 apei_exec_collect_resources +EXPORT_SYMBOL_GPL vmlinux 0x05a3a8bc virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x05b38679 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x0601aa3f blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x061336ae blocking_notifier_chain_register_unique_prio +EXPORT_SYMBOL_GPL vmlinux 0x06170d0e tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL vmlinux 0x0626da5f od_unregister_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x0637d831 __spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x06381e73 tpm_tis_resume +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x065fb465 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x066b22ac gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x06720413 fb_deferred_io_release +EXPORT_SYMBOL_GPL vmlinux 0x06a40d9c iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0x06a9659a clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x06ad2fb7 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x06b8718c devm_mipi_dsi_attach +EXPORT_SYMBOL_GPL vmlinux 0x06c191b8 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x06c8a462 espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06d1115b blk_stat_disable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x06da0088 sched_set_fifo_low +EXPORT_SYMBOL_GPL vmlinux 0x06fc733c nvdimm_cmd_mask +EXPORT_SYMBOL_GPL vmlinux 0x0705d6bc fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x070f2763 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x07102fd1 devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x07200451 devm_pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x0724ac25 fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x07377b2e class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07483e13 cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0x074f98db synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x0756a31c register_platform_power_off +EXPORT_SYMBOL_GPL vmlinux 0x076155ca pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0x076356e7 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x0781c44c __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x0785a0fc of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x078a95b2 gnttab_page_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x07ada23e xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07b64d81 hyperv_stop_tsc_emulation +EXPORT_SYMBOL_GPL vmlinux 0x07be6905 net_inc_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x07bf2612 gnttab_foreach_grant_in_range +EXPORT_SYMBOL_GPL vmlinux 0x07c87852 of_devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x07e95bfa devm_memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x07ed29b2 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x08001b84 nvdimm_badblocks_populate +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x08156968 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x081bec6a ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0x081f9dc9 gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0x0821a769 nfs_ssc_client_tbl +EXPORT_SYMBOL_GPL vmlinux 0x082b82f9 poll_state_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x086b67ce device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x086ca347 iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0x08766382 ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0x08768e25 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x087f5dc5 wm831x_of_match +EXPORT_SYMBOL_GPL vmlinux 0x08862698 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x08930f53 blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x0899834e pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x08a24d30 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x08a3d310 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x08b01d7d driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x08bbc582 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x08c0669f cpufreq_driver_resolve_freq +EXPORT_SYMBOL_GPL vmlinux 0x08c38fe5 nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x08c78cf7 offline_and_remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x08d6d901 sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0x08daf0c0 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x08dd02b5 trace_array_printk +EXPORT_SYMBOL_GPL vmlinux 0x0907d14d blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x0925493f clear_page_orig +EXPORT_SYMBOL_GPL vmlinux 0x09337cd0 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x093786cf synth_event_add_field_str +EXPORT_SYMBOL_GPL vmlinux 0x0943d924 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x094dbad2 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x0958fb5d dma_request_chan_by_mask +EXPORT_SYMBOL_GPL vmlinux 0x095c33da serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0x09658af6 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x096a7e6f x86_spec_ctrl_base +EXPORT_SYMBOL_GPL vmlinux 0x096e1abb sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x0979c5a3 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x0991f007 nvmem_cell_read_u8 +EXPORT_SYMBOL_GPL vmlinux 0x09afab8a __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09b65d72 __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0x09bf8399 pm_runtime_force_suspend +EXPORT_SYMBOL_GPL vmlinux 0x09bf9177 __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x09caa489 mmc_poll_for_busy +EXPORT_SYMBOL_GPL vmlinux 0x09d056e2 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x09ee065c ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x09fa167c vfio_uninit_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x0a000e4a ping_hash +EXPORT_SYMBOL_GPL vmlinux 0x0a01e110 wakeup_sources_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x0a03844f wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x0a1517e2 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x0a18e0f1 xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0x0a47553f tdx_kvm_hypercall +EXPORT_SYMBOL_GPL vmlinux 0x0a502c98 dmar_platform_optin +EXPORT_SYMBOL_GPL vmlinux 0x0a52c511 hv_query_ext_cap +EXPORT_SYMBOL_GPL vmlinux 0x0a641c2f fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x0a675f5e device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a6d8e60 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x0aadc736 fuse_mount_remove +EXPORT_SYMBOL_GPL vmlinux 0x0aae7317 __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x0ab94685 devm_usb_get_phy_by_node +EXPORT_SYMBOL_GPL vmlinux 0x0abba89f perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x0abdc439 cc_platform_has +EXPORT_SYMBOL_GPL vmlinux 0x0ad137d3 lpit_read_residency_count_address +EXPORT_SYMBOL_GPL vmlinux 0x0adab218 get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x0ae79598 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x0ae83665 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x0af40724 iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b1bb9f9 synchronize_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x0b28ad56 rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x0b2db2d5 remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x0b313f55 ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x0b37ca8d crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0x0b3bdc15 tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0x0b3ebdbc xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0x0b433312 skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0x0b4651db ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0b52e502 apei_resources_add +EXPORT_SYMBOL_GPL vmlinux 0x0b596b15 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x0b5a580e tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0x0b783c82 ehci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x0b92465b i2c_acpi_new_device_by_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x0baee061 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x0bbdc9b2 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x0bbeaeba uv_bios_enum_ports +EXPORT_SYMBOL_GPL vmlinux 0x0bdea0f8 iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0x0bf0800a crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c081bf8 tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0x0c0970c4 device_move +EXPORT_SYMBOL_GPL vmlinux 0x0c291b77 sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0x0c2c5802 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0c2f32ca pwm_get_chip_data +EXPORT_SYMBOL_GPL vmlinux 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x0c44a8f8 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x0c45b225 __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x0c511bc1 serial8250_rpm_put +EXPORT_SYMBOL_GPL vmlinux 0x0c55aea3 tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0c55e39b sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0c638e51 bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0x0c6c35cf fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x0c805ea3 pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0x0c805f93 clflush_cache_range +EXPORT_SYMBOL_GPL vmlinux 0x0c87a217 edac_pci_handle_npe +EXPORT_SYMBOL_GPL vmlinux 0x0c87d952 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x0c88c1c3 pci_vpd_find_id_string +EXPORT_SYMBOL_GPL vmlinux 0x0c97e3f7 gpiochip_add_pin_range +EXPORT_SYMBOL_GPL vmlinux 0x0cbe3ee2 software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0cc12ac1 led_init_core +EXPORT_SYMBOL_GPL vmlinux 0x0cc96690 usb_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x0cc9d36c iommu_group_claim_dma_owner +EXPORT_SYMBOL_GPL vmlinux 0x0cd4385c __SCK__tp_func_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x0cd5ac30 xhci_update_hub_device +EXPORT_SYMBOL_GPL vmlinux 0x0ce06100 mptcp_token_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x0ceb71b3 synth_event_create +EXPORT_SYMBOL_GPL vmlinux 0x0cf1d93b devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0x0cf58005 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x0cfa688f platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x0cfe59cb hyperv_fill_flush_guest_mapping_list +EXPORT_SYMBOL_GPL vmlinux 0x0d0cd7aa __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x0d0e035a tracepoint_probe_register_prio_may_exist +EXPORT_SYMBOL_GPL vmlinux 0x0d10f6bf edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x0d14a44d usb_control_msg_send +EXPORT_SYMBOL_GPL vmlinux 0x0d15ba54 icmp_build_probe +EXPORT_SYMBOL_GPL vmlinux 0x0d2e8047 tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0x0d459213 work_on_cpu_safe +EXPORT_SYMBOL_GPL vmlinux 0x0d4961de nf_log_buf_open +EXPORT_SYMBOL_GPL vmlinux 0x0d4e3f8c iopf_queue_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0d5cecc6 ima_measure_critical_data +EXPORT_SYMBOL_GPL vmlinux 0x0d676d4e regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0x0d763d4b kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x0d7eedb9 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x0d9118e6 rio_register_scan +EXPORT_SYMBOL_GPL vmlinux 0x0da91568 dev_pm_qos_expose_flags +EXPORT_SYMBOL_GPL vmlinux 0x0dae64dd cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0x0db1e4b3 devm_extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x0dcb3ee8 divider_recalc_rate +EXPORT_SYMBOL_GPL vmlinux 0x0dd896d8 dev_pm_opp_put_clkname +EXPORT_SYMBOL_GPL vmlinux 0x0ddadea2 __SCT__tp_func_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0e007edf xen_evtchn_nr_channels +EXPORT_SYMBOL_GPL vmlinux 0x0e0c6a7d crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0x0e0ed796 pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0x0e1194d5 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x0e13cb4d apei_resources_release +EXPORT_SYMBOL_GPL vmlinux 0x0e168aae isa_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x0e1acb6f driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x0e1c715e usb_add_phy_dev +EXPORT_SYMBOL_GPL vmlinux 0x0e1fc8ef __SCT__tp_func_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x0e25c785 blk_mq_alloc_sq_tag_set +EXPORT_SYMBOL_GPL vmlinux 0x0e493038 power_supply_set_property +EXPORT_SYMBOL_GPL vmlinux 0x0e5cc9d7 xdp_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x0e6b79af static_key_disable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x0e6df763 component_compare_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x0e6f18e4 ata_pci_shutdown_one +EXPORT_SYMBOL_GPL vmlinux 0x0e7f094d pci_pr3_present +EXPORT_SYMBOL_GPL vmlinux 0x0e863912 vchan_tx_desc_free +EXPORT_SYMBOL_GPL vmlinux 0x0e98ad69 follow_pte +EXPORT_SYMBOL_GPL vmlinux 0x0ea3f31d regulator_set_soft_start_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0ea5cbce xen_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x0eb45915 xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0x0ebb03a4 devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0ec096b0 hv_read_reference_counter +EXPORT_SYMBOL_GPL vmlinux 0x0ec72d0b pwm_capture +EXPORT_SYMBOL_GPL vmlinux 0x0ed2db28 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x0ee14137 xhci_get_ep_ctx +EXPORT_SYMBOL_GPL vmlinux 0x0eeae3e8 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x0f0b21fe pm_trace_rtc_abused +EXPORT_SYMBOL_GPL vmlinux 0x0f1501ad device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f1974ab __devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0x0f1c071c fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x0f21b39d nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x0f224e18 extcon_get_state +EXPORT_SYMBOL_GPL vmlinux 0x0f244045 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0f261da5 clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x0f2d7d87 mce_unregister_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0x0f427ee9 dev_pm_set_dedicated_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x0f4b9512 devm_devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x0f5bc84b tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x0f62cfeb genphy_c45_pma_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0f70d054 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0f72ada1 acpi_dev_resource_io +EXPORT_SYMBOL_GPL vmlinux 0x0f7ca236 dmi_memdev_name +EXPORT_SYMBOL_GPL vmlinux 0x0f99696e devm_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x0f9fc04e uv_get_archtype +EXPORT_SYMBOL_GPL vmlinux 0x0fa89425 badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0x0faa0ae7 tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0x0fb58951 dev_pm_set_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x0fbb7344 memremap_compat_align +EXPORT_SYMBOL_GPL vmlinux 0x0fbc0c0e xas_pause +EXPORT_SYMBOL_GPL vmlinux 0x0fc37562 amd_smn_read +EXPORT_SYMBOL_GPL vmlinux 0x0fcad17a kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0x0fcc1969 copy_from_user_nmi +EXPORT_SYMBOL_GPL vmlinux 0x0fd4610e kmem_dump_obj +EXPORT_SYMBOL_GPL vmlinux 0x1010c587 sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0x1012d950 regulator_set_ramp_delay_regmap +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x1038b96f adxl_get_component_names +EXPORT_SYMBOL_GPL vmlinux 0x103f9316 __tracepoint_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x1041674d dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x105616e5 rio_mport_get_physefb +EXPORT_SYMBOL_GPL vmlinux 0x1061383f cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x1088ea76 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0x108a0acd bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x10912e0a serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x1093837e __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0x10b45f0d vfio_pci_register_dev_region +EXPORT_SYMBOL_GPL vmlinux 0x10b5a2b1 devm_intel_scu_ipc_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x10bd5c52 nvdimm_name +EXPORT_SYMBOL_GPL vmlinux 0x10c672b6 fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0x10d9f317 stack_depot_init +EXPORT_SYMBOL_GPL vmlinux 0x10ddd0cb __SCT__perf_lopwr_cb +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x10f0f014 kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0x110106c1 cper_severity_to_aer +EXPORT_SYMBOL_GPL vmlinux 0x1135b3ec srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x114f0662 clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x11517a43 serial8250_rx_dma_flush +EXPORT_SYMBOL_GPL vmlinux 0x116180b5 hv_current_partition_id +EXPORT_SYMBOL_GPL vmlinux 0x11652f3f ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0x117c9cec user_update +EXPORT_SYMBOL_GPL vmlinux 0x118564b3 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x119a0915 pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x119ac005 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x11a20d87 lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0x11c0065a ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x11da5ef0 kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x11e06ee9 badrange_init +EXPORT_SYMBOL_GPL vmlinux 0x11e08f96 trace_seq_putmem_hex +EXPORT_SYMBOL_GPL vmlinux 0x11e46449 phy_pm_runtime_put_sync +EXPORT_SYMBOL_GPL vmlinux 0x11f15bac sk_msg_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x12084b1c of_phandle_args_to_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x120bcb1c __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x120fad2c sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x12189359 __SCT__tp_func_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x121d958a unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x12285ffa xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x122dce96 dev_pm_qos_expose_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x1234e483 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x1234ffa1 cper_estatus_check_header +EXPORT_SYMBOL_GPL vmlinux 0x123732f0 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x123af1de thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x123c1da2 query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x124cc58d dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0x125c9a95 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x1267509a cpufreq_generic_attr +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x126e28be kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x127c109b __SCT__tp_func_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x1292c81b nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x129334ae sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0x12a830ed irq_domain_create_simple +EXPORT_SYMBOL_GPL vmlinux 0x12ab619f fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x12db3a8b kvm_clock +EXPORT_SYMBOL_GPL vmlinux 0x12e285ec is_uv_system +EXPORT_SYMBOL_GPL vmlinux 0x12ee1173 memory_group_unregister +EXPORT_SYMBOL_GPL vmlinux 0x12eeb158 power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x12f2570d led_stop_software_blink +EXPORT_SYMBOL_GPL vmlinux 0x13032c44 cpufreq_disable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x13090724 add_vmfork_randomness +EXPORT_SYMBOL_GPL vmlinux 0x1309bc05 nvdimm_has_flush +EXPORT_SYMBOL_GPL vmlinux 0x130cacc1 cgroup_get_from_id +EXPORT_SYMBOL_GPL vmlinux 0x13136d64 genphy_c45_read_link +EXPORT_SYMBOL_GPL vmlinux 0x1318a12b folio_wait_writeback +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x131ef58f switchdev_handle_port_obj_add_foreign +EXPORT_SYMBOL_GPL vmlinux 0x13300673 regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x1336d50e extcon_get_edev_name +EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x13526fb9 pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0x136209db power_supply_reg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13621b57 pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0x13739f0f iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0x138714bc adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x138aff76 gnttab_init +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x13a474a3 devm_reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x13ad017c fpu_swap_kvm_fpstate +EXPORT_SYMBOL_GPL vmlinux 0x13b23347 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13ca1b05 pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0x13ce87e8 asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0x13e8ccbd crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x13f2ea3a virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0x13fab921 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x1403ad09 cpufreq_add_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x1410f776 fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0x141cf318 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x14268620 sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x1426f03d acpi_subsys_prepare +EXPORT_SYMBOL_GPL vmlinux 0x142f4b21 thermal_zone_device_update +EXPORT_SYMBOL_GPL vmlinux 0x146cc88f bpf_master_redirect_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x146eaf85 usb_phy_set_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x1475d603 xstate_get_guest_group_perm +EXPORT_SYMBOL_GPL vmlinux 0x147bb461 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x148967f9 __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0x148a6b13 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x148d4922 folio_invalidate +EXPORT_SYMBOL_GPL vmlinux 0x149d6f53 __SCK__tp_func_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x14aa23e0 __SCK__tp_func_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x14b00548 __traceiter_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0x14b0d0c9 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x14b9bfd3 vfio_pci_core_ioctl_feature +EXPORT_SYMBOL_GPL vmlinux 0x14ba4de4 bd_prepare_to_claim +EXPORT_SYMBOL_GPL vmlinux 0x14c57752 fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0x14cf3142 usb_hub_release_port +EXPORT_SYMBOL_GPL vmlinux 0x14d37a53 rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0x14e7b9f6 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x14ec4fdb evtchn_put +EXPORT_SYMBOL_GPL vmlinux 0x14eeded2 icc_disable +EXPORT_SYMBOL_GPL vmlinux 0x14f797d6 perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x150218af ata_platform_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x15021b4a xa_delete_node +EXPORT_SYMBOL_GPL vmlinux 0x151e8756 exportfs_decode_fh_raw +EXPORT_SYMBOL_GPL vmlinux 0x15329d8c ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x155e9c89 acpi_dev_clear_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x1566a21a __dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x156e8afe __SCT__tp_func_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1573098a sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x157bb373 usb_get_maximum_ssp_rate +EXPORT_SYMBOL_GPL vmlinux 0x1585a4c8 is_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x15886f48 hte_disable_ts +EXPORT_SYMBOL_GPL vmlinux 0x159d5a81 devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0x15ade1cc filter_irq_stacks +EXPORT_SYMBOL_GPL vmlinux 0x15ccbecd iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x15d4e63b dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0x15d89708 regmap_noinc_write +EXPORT_SYMBOL_GPL vmlinux 0x15ea2648 hwpoison_filter_flags_mask +EXPORT_SYMBOL_GPL vmlinux 0x15f4644e usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x15f4742b mmc_regulator_set_ocr +EXPORT_SYMBOL_GPL vmlinux 0x161aed40 devlink_port_attrs_set +EXPORT_SYMBOL_GPL vmlinux 0x161d0371 regulator_allow_bypass +EXPORT_SYMBOL_GPL vmlinux 0x1631cfbd get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x16323945 bpf_trace_run12 +EXPORT_SYMBOL_GPL vmlinux 0x1632a3ea gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x16422a6e xdp_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x16516798 osc_pc_lpi_support_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x1651cdfa ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x165370c4 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x1653a907 dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x165ffbc5 usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x166a0876 icc_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x166db1b5 sched_clock_idle_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x16709496 bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0x1672d0ab pm_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x167d430d devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x167d7113 acpi_bus_register_early_device +EXPORT_SYMBOL_GPL vmlinux 0x1687ec20 tty_get_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x1690b503 usb_role_switch_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x16949838 rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x169b65dd debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x16accbc4 ata_host_put +EXPORT_SYMBOL_GPL vmlinux 0x16adfafe gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x16c2168a xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0x16d3d613 blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16dd183a pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x16dfbf36 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x16f15139 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x170866e6 led_trigger_blink_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x1709cb5d fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x170dd8ba irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x17221375 __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x1724d9e9 vp_legacy_set_queue_address +EXPORT_SYMBOL_GPL vmlinux 0x17272571 rio_add_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x17332c68 acpi_is_pnp_device +EXPORT_SYMBOL_GPL vmlinux 0x173fbee2 acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0x173fc214 get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0x1741ddee trace_seq_puts +EXPORT_SYMBOL_GPL vmlinux 0x174c6274 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x174dea9b led_compose_name +EXPORT_SYMBOL_GPL vmlinux 0x174e82bd dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x1754cb28 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x176031a7 devlink_fmsg_string_put +EXPORT_SYMBOL_GPL vmlinux 0x17614bf3 apei_resources_sub +EXPORT_SYMBOL_GPL vmlinux 0x176adf76 xenmem_reservation_decrease +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x17856160 lp8788_write_byte +EXPORT_SYMBOL_GPL vmlinux 0x1785ef56 pm_clk_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x178bbab0 balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x17a90b23 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x17add64b gdt_page +EXPORT_SYMBOL_GPL vmlinux 0x17be703a bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x17c59bc7 of_pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0x17d302d2 ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0x17d72d3c crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x17e01f11 erst_clear +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x182656cc platform_has +EXPORT_SYMBOL_GPL vmlinux 0x183009d3 regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x183728a7 pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x18428692 __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x1846236f regmap_get_max_register +EXPORT_SYMBOL_GPL vmlinux 0x18491ffc pinctrl_utils_add_map_mux +EXPORT_SYMBOL_GPL vmlinux 0x18582826 amd_pmu_disable_virt +EXPORT_SYMBOL_GPL vmlinux 0x185cebe7 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x185e9df4 genphy_c45_read_pma +EXPORT_SYMBOL_GPL vmlinux 0x18615d35 efivar_supports_writes +EXPORT_SYMBOL_GPL vmlinux 0x186e1c92 thermal_remove_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x187150ab driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x188ef8c2 phy_10gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x18b2790f uv_bios_obj_count +EXPORT_SYMBOL_GPL vmlinux 0x18bf0441 nvmem_cell_read_variable_le_u64 +EXPORT_SYMBOL_GPL vmlinux 0x18d18094 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x18d61bfe serial8250_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x18dfe2f9 of_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x18ed688d __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x18f1c94f ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x1905a28a __traceiter_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x1905f496 acpi_driver_match_device +EXPORT_SYMBOL_GPL vmlinux 0x1935d18c iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19383d52 cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0x19399aff component_master_del +EXPORT_SYMBOL_GPL vmlinux 0x193dfdf6 klp_get_prev_state +EXPORT_SYMBOL_GPL vmlinux 0x1944e39b raw_v6_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x1945234a pwm_lpss_probe +EXPORT_SYMBOL_GPL vmlinux 0x194d777e usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x194f4da1 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x196614ce hw_breakpoint_restore +EXPORT_SYMBOL_GPL vmlinux 0x1967b72f skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0x196d73d5 put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x1984e770 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x198f7ed3 devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x1991c60e i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x199c4833 __irq_apply_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19a9b463 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x19bacbdc clk_hw_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x19d4b20d dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0x19e0ae50 __SCT__tp_func_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x19e81304 btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19edd064 blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0x19f8de22 tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x1a0e72fe hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a10e955 usb_hub_claim_port +EXPORT_SYMBOL_GPL vmlinux 0x1a146ec3 usb_ep_type_string +EXPORT_SYMBOL_GPL vmlinux 0x1a216bcd __bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0x1a388398 __usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x1a4217e8 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x1a453296 get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0x1a5fbe8a devm_led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a719a95 acpi_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x1a826c75 rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x1a91a309 icc_set_tag +EXPORT_SYMBOL_GPL vmlinux 0x1abbc69f serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0x1acd18c8 cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x1aebdcb7 pci_iov_virtfn_devfn +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1af63871 int_active_memcg +EXPORT_SYMBOL_GPL vmlinux 0x1aff3d55 mce_register_injector_chain +EXPORT_SYMBOL_GPL vmlinux 0x1b00bf2e smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x1b03ac06 vp_modern_get_num_queues +EXPORT_SYMBOL_GPL vmlinux 0x1b0d84d1 skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0x1b242f01 filemap_range_has_writeback +EXPORT_SYMBOL_GPL vmlinux 0x1b297b1e sbitmap_queue_recalculate_wake_batch +EXPORT_SYMBOL_GPL vmlinux 0x1b34fa21 usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x1b3d5120 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x1b47b92a add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0x1b4cf632 iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0x1b5059ce ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x1b5a890f devm_regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x1b5df2ad devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0x1b5f4377 trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0x1b617c0b mmc_crypto_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x1b72432d spi_take_timestamp_pre +EXPORT_SYMBOL_GPL vmlinux 0x1b7e9220 acpi_device_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x1b8822d8 pinctrl_gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x1b92e41d inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x1ba237b0 default_cpu_present_to_apicid +EXPORT_SYMBOL_GPL vmlinux 0x1bac28d6 dmaengine_desc_get_metadata_ptr +EXPORT_SYMBOL_GPL vmlinux 0x1bc5eebe pinctrl_gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x1bc64087 xas_split +EXPORT_SYMBOL_GPL vmlinux 0x1bd11234 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x1be4c6db gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x1be850c6 virtio_check_mem_acc_cb +EXPORT_SYMBOL_GPL vmlinux 0x1bee4974 sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x1c09cbac gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x1c208e77 blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0x1c2f5db5 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x1c316770 dev_pm_domain_detach +EXPORT_SYMBOL_GPL vmlinux 0x1c368a15 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x1c3e21b5 nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0x1c43637b dev_pm_opp_remove +EXPORT_SYMBOL_GPL vmlinux 0x1c4499a0 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x1c4f43cd cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x1c5541bd cpufreq_boost_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c5ff742 clk_get_phase +EXPORT_SYMBOL_GPL vmlinux 0x1c687e57 device_property_present +EXPORT_SYMBOL_GPL vmlinux 0x1c764526 __SCT__tp_func_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1c77414e __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x1c78ac3b devl_assert_locked +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1ca3aa97 alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0x1cae2884 sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x1cb54288 mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0x1cb7c983 apei_exec_read_register_value +EXPORT_SYMBOL_GPL vmlinux 0x1cb9a1c8 xenbus_gather +EXPORT_SYMBOL_GPL vmlinux 0x1cbcea84 phy_led_triggers_register +EXPORT_SYMBOL_GPL vmlinux 0x1cbd745c __SCK__tp_func_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0x1cbd92b0 cpu_mitigations_off +EXPORT_SYMBOL_GPL vmlinux 0x1ce800ef devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0x1cfae8b5 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x1cfe2c62 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x1cfe4101 clkdev_hw_create +EXPORT_SYMBOL_GPL vmlinux 0x1cff8eab sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0x1d192ad5 gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d3ba85b wwan_create_port +EXPORT_SYMBOL_GPL vmlinux 0x1d3dfb59 ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x1d4884c7 __blk_trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x1d62f375 device_iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0x1d771248 put_device +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1d824be5 fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0x1d8476ef fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0x1d84afa1 iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0x1d94a218 dmi_memdev_handle +EXPORT_SYMBOL_GPL vmlinux 0x1da12ad6 dev_pm_opp_put_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x1dc77ba2 agp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x1def9c8b crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x1df5509e wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1dfa5dbd mpi_invm +EXPORT_SYMBOL_GPL vmlinux 0x1e03f74d preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1e0670c6 reset_control_release +EXPORT_SYMBOL_GPL vmlinux 0x1e17754b efivar_entry_remove +EXPORT_SYMBOL_GPL vmlinux 0x1e17ef97 aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x1e2fbe8b xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x1e3bc77c xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0x1e424d61 user_preparse +EXPORT_SYMBOL_GPL vmlinux 0x1e4e98c0 acpi_dev_filter_resource_type +EXPORT_SYMBOL_GPL vmlinux 0x1e50ec11 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x1e53bbb9 pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0x1e53f827 stack_depot_print +EXPORT_SYMBOL_GPL vmlinux 0x1e5a5f22 sn_partition_id +EXPORT_SYMBOL_GPL vmlinux 0x1e5f124c gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e88f768 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x1e8bc6a1 event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0x1e8fac8e wireless_nlevent_flush +EXPORT_SYMBOL_GPL vmlinux 0x1e912415 uv_bios_get_heapsize +EXPORT_SYMBOL_GPL vmlinux 0x1e961f2b usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x1e9bc719 freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x1e9c590a usb_find_common_endpoints_reverse +EXPORT_SYMBOL_GPL vmlinux 0x1eab9afc sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x1eb16509 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebdf014 spi_mem_adjust_op_size +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ec2bff7 hv_setup_dma_ops +EXPORT_SYMBOL_GPL vmlinux 0x1ecf87f8 __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x1ed44635 regulator_set_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x1ed4d2eb percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x1ee11655 devm_hte_register_chip +EXPORT_SYMBOL_GPL vmlinux 0x1ee7e575 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x1ef20793 stop_core_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x1f139bb1 of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1f2374f7 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x1f23ff10 em_dev_unregister_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x1f277780 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x1f38a4f6 mpi_set_highbit +EXPORT_SYMBOL_GPL vmlinux 0x1f4276df __SCK__tp_func_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x1f449588 mctrl_gpio_disable_ms +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f587631 spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x1f5ece97 cond_wakeup_cpu0 +EXPORT_SYMBOL_GPL vmlinux 0x1f606a18 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x1f699dd8 thp_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x1f6a5c1f iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0x1f771f57 iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f895fb8 vp_modern_set_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x1fb2085e __irq_resolve_mapping +EXPORT_SYMBOL_GPL vmlinux 0x1fb5a0ed spi_slave_abort +EXPORT_SYMBOL_GPL vmlinux 0x1fcd5be3 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x1fd4898b fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0x1fdceb40 xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x1fe7e227 platform_get_mem_or_io +EXPORT_SYMBOL_GPL vmlinux 0x1ff4378e nd_cmd_in_size +EXPORT_SYMBOL_GPL vmlinux 0x1ff731c2 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x20069e38 sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x2009e400 devlink_info_board_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x200feceb mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x20112fc4 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x201b705f gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x202d4ed6 nvmem_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x2037b6bf crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0x2038c080 icc_put +EXPORT_SYMBOL_GPL vmlinux 0x2046198b rio_map_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x204f2c5c gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x204fbfca cpufreq_enable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x205b9f11 pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0x20619b9b devlink_param_register +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x20899467 hv_stimer0_isr +EXPORT_SYMBOL_GPL vmlinux 0x20957e99 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x20978fb9 idr_find +EXPORT_SYMBOL_GPL vmlinux 0x2098aa2a __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x20b579b7 vfio_pci_core_close_device +EXPORT_SYMBOL_GPL vmlinux 0x20e93580 usb_hcd_start_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x20ec9516 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x20f6e08b bpf_trace_run7 +EXPORT_SYMBOL_GPL vmlinux 0x20f846bb open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0x20fc44ac serdev_acpi_get_uart_resource +EXPORT_SYMBOL_GPL vmlinux 0x2146cb76 dev_pm_opp_sync_regulators +EXPORT_SYMBOL_GPL vmlinux 0x214cc4c9 devm_clk_get_enabled +EXPORT_SYMBOL_GPL vmlinux 0x214d18d1 i2c_client_type +EXPORT_SYMBOL_GPL vmlinux 0x214e2f1b dev_pm_opp_get_max_clock_latency +EXPORT_SYMBOL_GPL vmlinux 0x2166416c tty_port_register_device_serdev +EXPORT_SYMBOL_GPL vmlinux 0x216b36c0 powercap_register_control_type +EXPORT_SYMBOL_GPL vmlinux 0x216bf830 sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x21728c9b tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0x2175270c crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x2176e42a hwpoison_filter_memcg +EXPORT_SYMBOL_GPL vmlinux 0x217a074f pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x21928d84 wwan_register_ops +EXPORT_SYMBOL_GPL vmlinux 0x21a563da clk_get_accuracy +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21b0137e regmap_can_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x21c77966 pwm_request_from_chip +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21e60452 crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x21e9d691 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x21f678f2 xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0x21fa45c7 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x2209a705 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x221eab6d scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x22214634 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x2239c11a clk_hw_get_parent_by_index +EXPORT_SYMBOL_GPL vmlinux 0x223e4c49 xen_find_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0x225ef606 dev_pm_qos_update_user_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x2264bba6 mbox_send_message +EXPORT_SYMBOL_GPL vmlinux 0x226f871f iopf_queue_flush_dev +EXPORT_SYMBOL_GPL vmlinux 0x2276dd95 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x22833793 sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x2293fad7 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x22ab7517 devl_unlock +EXPORT_SYMBOL_GPL vmlinux 0x22d60537 tcf_frag_xmit_count +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22ec5205 cpu_latency_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x22f31abb add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0x22fd08ba cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x230c4267 fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0x23118328 __clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x23280bb9 component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0x232a49b6 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x2338570d vfio_register_iommu_driver +EXPORT_SYMBOL_GPL vmlinux 0x23412816 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x23461311 public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x2367a096 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x2372a3bc transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x237eda8e dev_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x2384d9f2 cgroup_get_e_css +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x2386c0ea __SCT__tp_func_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0x238f0490 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x2396c7f0 clk_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x23adecfa gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0x23b4e0d7 clear_page_rep +EXPORT_SYMBOL_GPL vmlinux 0x23bbc57e kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0x23bd6e3e inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x23c009f0 devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0x23c985a2 bpf_trace_run11 +EXPORT_SYMBOL_GPL vmlinux 0x23d41be8 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x23e19f87 __irq_alloc_domain_generic_chips +EXPORT_SYMBOL_GPL vmlinux 0x23e92375 tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0x24015121 __traceiter_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x240170de __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0x2410c338 x86_virt_spec_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x2421097b mpi_const +EXPORT_SYMBOL_GPL vmlinux 0x24331410 encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x24413343 erst_read_record +EXPORT_SYMBOL_GPL vmlinux 0x244770eb iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0x2453d6c3 nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0x2464da17 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x2469810f __rcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x2469a4cb dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0x246bc6c5 clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x246d678e of_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x24709b2f trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0x2484e789 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x2489d3cd __pci_hp_initialize +EXPORT_SYMBOL_GPL vmlinux 0x248bc867 raw_notifier_call_chain_robust +EXPORT_SYMBOL_GPL vmlinux 0x248e1473 kfree_strarray +EXPORT_SYMBOL_GPL vmlinux 0x24a735c6 acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x24abc127 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x24ad11db wakeup_sources_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x24bdb85c simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24dea17b devm_of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x24e4ea85 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24f39c39 reset_control_reset +EXPORT_SYMBOL_GPL vmlinux 0x24f63dcf ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x24fc50f4 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x251b755f vfio_register_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x251f23f5 xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0x252b31be genphy_c45_pma_baset1_read_master_slave +EXPORT_SYMBOL_GPL vmlinux 0x25301bc6 arch_wb_cache_pmem +EXPORT_SYMBOL_GPL vmlinux 0x2536ad06 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x25379e73 clk_set_min_rate +EXPORT_SYMBOL_GPL vmlinux 0x2539e563 device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0x255d37bc dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x256256b3 gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x25634d46 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x256e9f8e tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x258387fc blk_mq_end_request_batch +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x25bbfa9a security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x25d43dea vp_modern_get_driver_features +EXPORT_SYMBOL_GPL vmlinux 0x25d69b30 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x25da4785 dev_attr_ncq_prio_supported +EXPORT_SYMBOL_GPL vmlinux 0x25e21989 __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0x25e5a039 irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x25f02c87 xen_p2m_addr +EXPORT_SYMBOL_GPL vmlinux 0x25f40960 request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0x26172822 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x262a7063 xen_start_info +EXPORT_SYMBOL_GPL vmlinux 0x26394767 raw_abort +EXPORT_SYMBOL_GPL vmlinux 0x26479184 palmas_ext_control_req_config +EXPORT_SYMBOL_GPL vmlinux 0x264a9e40 msg_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x26536c2d reset_control_get_count +EXPORT_SYMBOL_GPL vmlinux 0x26567dd3 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x265b6e29 hyperv_flush_guest_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x265bbef9 kexec_crash_loaded +EXPORT_SYMBOL_GPL vmlinux 0x2660d033 trace_remove_event_call +EXPORT_SYMBOL_GPL vmlinux 0x266a4b08 tasklet_unlock +EXPORT_SYMBOL_GPL vmlinux 0x26779ebe devl_port_register +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x267e135c bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0x267fef80 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x26848166 serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0x26934a6c tps65912_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x26956328 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x26a24a52 component_del +EXPORT_SYMBOL_GPL vmlinux 0x26a93eb2 verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26cda94f e820__mapped_raw_any +EXPORT_SYMBOL_GPL vmlinux 0x26d1c8c7 dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0x26da75bb skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x26f059a1 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x26f453a3 iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0x2718e06c device_attach +EXPORT_SYMBOL_GPL vmlinux 0x2722a28b devfreq_get_devfreq_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x273aab74 xen_have_vector_callback +EXPORT_SYMBOL_GPL vmlinux 0x273aff5c __SCT__tp_func_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x273e1002 fpu_sync_guest_vmexit_xfd_state +EXPORT_SYMBOL_GPL vmlinux 0x273fc6af iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0x274b2a82 iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x274d2c74 blk_mq_wait_quiesce_done +EXPORT_SYMBOL_GPL vmlinux 0x274dd1a3 sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x276013dc ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x2763ba9c rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x276b696f i2c_new_client_device +EXPORT_SYMBOL_GPL vmlinux 0x2772b2fd regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2773c485 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x27918c60 nvmem_del_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x2796119d inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x279947f1 to_nd_desc +EXPORT_SYMBOL_GPL vmlinux 0x27ab7314 debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0x27b362e9 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x27b72524 __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x27c2b102 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x27def68d devm_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0x27eea003 fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27f96575 register_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x27fce782 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x2800222e devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0x281610d5 dev_pm_qos_flags +EXPORT_SYMBOL_GPL vmlinux 0x2817f7fd cppc_get_desired_perf +EXPORT_SYMBOL_GPL vmlinux 0x2819fd7c vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x282cdabc usb_led_activity +EXPORT_SYMBOL_GPL vmlinux 0x28310bcd kasprintf_strarray +EXPORT_SYMBOL_GPL vmlinux 0x285f95c2 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x286198d2 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x2867b407 skcipher_alloc_instance_simple +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x2873cfb6 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x287702c2 efivars_unregister +EXPORT_SYMBOL_GPL vmlinux 0x287e5136 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x2880ab26 regmap_get_raw_read_max +EXPORT_SYMBOL_GPL vmlinux 0x2882d40e usb_role_switch_unregister +EXPORT_SYMBOL_GPL vmlinux 0x288b658c PageHeadHuge +EXPORT_SYMBOL_GPL vmlinux 0x2892bb41 __SCK__tp_func_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x28a5bab1 devm_clk_hw_register_fixed_factor_index +EXPORT_SYMBOL_GPL vmlinux 0x28aa6a67 call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x28ab4fb9 pinctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x28afbb08 cpu_latency_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x28b5a4ef __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x28be0cef misc_cg_res_total_usage +EXPORT_SYMBOL_GPL vmlinux 0x28c04311 dev_pm_qos_hide_flags +EXPORT_SYMBOL_GPL vmlinux 0x28d4d42b devm_hwmon_sanitize_name +EXPORT_SYMBOL_GPL vmlinux 0x28e32bbd usb_phy_roothub_alloc +EXPORT_SYMBOL_GPL vmlinux 0x28e64c64 xen_has_pv_and_legacy_disk_devices +EXPORT_SYMBOL_GPL vmlinux 0x28e6efdc gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0x28ff5dc3 wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0x290191fa pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x2907f401 fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0x291876f3 mpi_ec_get_affine +EXPORT_SYMBOL_GPL vmlinux 0x29366b61 register_ftrace_direct +EXPORT_SYMBOL_GPL vmlinux 0x2951a335 crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0x2951a872 trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x295bceec cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x295c1c7c fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x29616235 uprobe_register_refctr +EXPORT_SYMBOL_GPL vmlinux 0x29620a09 __SCK__tp_func_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x2973727f acpi_device_fix_up_power +EXPORT_SYMBOL_GPL vmlinux 0x2976673a dev_pm_opp_find_freq_floor +EXPORT_SYMBOL_GPL vmlinux 0x297dda08 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x29968df0 ping_bind +EXPORT_SYMBOL_GPL vmlinux 0x29a14b9e phy_set_media +EXPORT_SYMBOL_GPL vmlinux 0x29b5f6f1 bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0x29d56dbe blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x29ea1570 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x2a2aea17 clk_fixed_rate_ops +EXPORT_SYMBOL_GPL vmlinux 0x2a4aafb9 simple_rename_exchange +EXPORT_SYMBOL_GPL vmlinux 0x2a5445e6 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x2a5d9cf7 __traceiter_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x2a5ea9ef rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a6b13b2 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x2a88e92f auxiliary_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2a96ca68 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x2a976d1c dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x2a9c61f0 usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x2a9e2107 dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0x2aa3c4ff xdp_build_skb_from_frame +EXPORT_SYMBOL_GPL vmlinux 0x2aadad1a efi_capsule_update +EXPORT_SYMBOL_GPL vmlinux 0x2abb6ce3 blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0x2abb93ea rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x2ae482b1 crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x2af737cc sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x2aff1dd6 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x2aff68f9 perf_guest_get_msrs +EXPORT_SYMBOL_GPL vmlinux 0x2affdc7a acpi_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x2b0fe000 gnttab_cancel_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x2b16bf4b serial8250_do_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x2b1ad061 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x2b1b1929 dev_pm_opp_get_suspend_opp_freq +EXPORT_SYMBOL_GPL vmlinux 0x2b1caaa1 strp_stop +EXPORT_SYMBOL_GPL vmlinux 0x2b2bd4f6 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x2b2e3636 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x2b3acc3b __SCT__tp_func_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x2b4509dd devlink_health_reporter_state_update +EXPORT_SYMBOL_GPL vmlinux 0x2b6150fb power_supply_temp2resist_simple +EXPORT_SYMBOL_GPL vmlinux 0x2b621031 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x2b635c16 icc_node_del +EXPORT_SYMBOL_GPL vmlinux 0x2b67b6b7 mds_idle_clear +EXPORT_SYMBOL_GPL vmlinux 0x2b68cee1 fscrypt_dio_supported +EXPORT_SYMBOL_GPL vmlinux 0x2b6d960d synth_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x2b76646e pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x2b7cf8ff wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x2b81d1fc gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x2b84c246 tty_kopen_shared +EXPORT_SYMBOL_GPL vmlinux 0x2b952517 clk_has_parent +EXPORT_SYMBOL_GPL vmlinux 0x2b9997fb atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x2ba647bc __traceiter_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x2baa12b5 ptp_msg_is_sync +EXPORT_SYMBOL_GPL vmlinux 0x2bad050e wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x2bb19af1 tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0x2bc8f698 debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0x2bdb7083 i2c_dw_probe_master +EXPORT_SYMBOL_GPL vmlinux 0x2bdf5ab0 pm_wakeup_pending +EXPORT_SYMBOL_GPL vmlinux 0x2c050a64 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x2c0648a3 iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0x2c08b889 pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c2ac7c2 list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0x2c2c3925 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2c2e09e6 vp_modern_set_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x2c2f5a09 x86_family +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c40b0c5 dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0x2c5bec61 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x2c5fe490 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x2c61bb09 uv_bios_get_pci_topology +EXPORT_SYMBOL_GPL vmlinux 0x2c635527 arch_invalidate_pmem +EXPORT_SYMBOL_GPL vmlinux 0x2c65a4db vchan_init +EXPORT_SYMBOL_GPL vmlinux 0x2c66ac85 devlink_info_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c8dd6b8 edac_mem_types +EXPORT_SYMBOL_GPL vmlinux 0x2ca89fe7 snp_issue_guest_request +EXPORT_SYMBOL_GPL vmlinux 0x2cc6726a pci_hp_del +EXPORT_SYMBOL_GPL vmlinux 0x2cc9d064 sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x2cecc7f4 __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0x2cfbb2b5 __SCT__tp_func_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x2d0684a9 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x2d0e82e8 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d1c5e69 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x2d2b9306 pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current +EXPORT_SYMBOL_GPL vmlinux 0x2d34bdf4 usb_string +EXPORT_SYMBOL_GPL vmlinux 0x2d393f48 intel_soc_pmic_exec_mipi_pmic_seq_element +EXPORT_SYMBOL_GPL vmlinux 0x2d397b68 acpi_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts +EXPORT_SYMBOL_GPL vmlinux 0x2d42e746 rio_unregister_scan +EXPORT_SYMBOL_GPL vmlinux 0x2d44be3b __SCT__tp_func_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x2d5512be inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2d609547 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x2d6aa0f0 arch_apei_enable_cmcff +EXPORT_SYMBOL_GPL vmlinux 0x2d714f5a thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x2d77ea8e devm_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x2d82b10f usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x2d89b1ad __SCT__tp_func_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x2d8a2309 irq_gc_mask_disable_reg +EXPORT_SYMBOL_GPL vmlinux 0x2d9d5126 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x2daf3202 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2db45aab tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0x2dbf2296 spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x2dc6777f genphy_c45_read_lpa +EXPORT_SYMBOL_GPL vmlinux 0x2dd62f11 disk_uevent +EXPORT_SYMBOL_GPL vmlinux 0x2dd747e9 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x2ddd5b55 devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0x2de403e6 sk_msg_is_readable +EXPORT_SYMBOL_GPL vmlinux 0x2de49a0f find_mci_by_dev +EXPORT_SYMBOL_GPL vmlinux 0x2de8eb5f usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x2df0d459 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x2df867dd metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2e028ae6 rcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x2e08226d badrange_add +EXPORT_SYMBOL_GPL vmlinux 0x2e0c0100 vchan_dma_desc_free_list +EXPORT_SYMBOL_GPL vmlinux 0x2e156b15 efivars_register +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e2df7f4 irq_remapping_cap +EXPORT_SYMBOL_GPL vmlinux 0x2e2eda95 ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x2e324ce1 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x2e37a09a tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0x2e393dc1 peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2e3f8fd3 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x2e59eb4a iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0x2e5ed6ac usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x2e6e6158 switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x2e7a17d4 vmap_pfn +EXPORT_SYMBOL_GPL vmlinux 0x2e812f0e scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x2e8e4237 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2e98cd85 proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0x2e9ec24d free_iova +EXPORT_SYMBOL_GPL vmlinux 0x2ea3d6c4 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x2ea5240e fscrypt_add_test_dummy_key +EXPORT_SYMBOL_GPL vmlinux 0x2ea5c920 dev_pm_opp_find_freq_ceil +EXPORT_SYMBOL_GPL vmlinux 0x2ebb19fd execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x2ebcd38e icc_get +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2eda4807 is_uv_hubbed +EXPORT_SYMBOL_GPL vmlinux 0x2ee7c52b btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x2ef3142e do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x2f095bf4 devm_irq_domain_create_sim +EXPORT_SYMBOL_GPL vmlinux 0x2f0d2030 irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0x2f0d9053 usb_otg_state_string +EXPORT_SYMBOL_GPL vmlinux 0x2f1414a8 virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x2f2c95c4 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2f32278a acpi_bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x2f465b7e ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x2f482d04 device_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x2f4880df static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x2f59fdbe sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x2f616e18 dev_xdp_prog_count +EXPORT_SYMBOL_GPL vmlinux 0x2f64415f unregister_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2f71dc3a acpi_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0x2f8f54a4 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0x2f990157 fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0x2f9ef5e5 pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x2fb1eda6 device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x2fbb7f74 anon_inode_getfd_secure +EXPORT_SYMBOL_GPL vmlinux 0x2fc1e0fe kmem_valid_obj +EXPORT_SYMBOL_GPL vmlinux 0x2fc4f3ea sock_map_unhash +EXPORT_SYMBOL_GPL vmlinux 0x2fd6c162 fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0x2fe414ed debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x2fea1cfd edac_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0x2ffd111c pm_clk_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x300663f0 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x301be4e8 gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0x30378216 icc_std_aggregate +EXPORT_SYMBOL_GPL vmlinux 0x3054d2a9 acpi_cppc_processor_exit +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x3079287d iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0x307f262c ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x3084833d bdev_alignment_offset +EXPORT_SYMBOL_GPL vmlinux 0x308c7632 generic_online_page +EXPORT_SYMBOL_GPL vmlinux 0x3097fa63 devm_nvdimm_memremap +EXPORT_SYMBOL_GPL vmlinux 0x30a673cc ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0x30a8112d pci_dev_trylock +EXPORT_SYMBOL_GPL vmlinux 0x30aedda2 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x30c370b5 bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0x30cf804f slow_virt_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x30e0dbfe badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0x30e1ec25 apei_map_generic_address +EXPORT_SYMBOL_GPL vmlinux 0x30e27db4 __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0x30ee68fa irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x30ff291f pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x31019477 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x310aca27 mptcp_pm_get_add_addr_accept_max +EXPORT_SYMBOL_GPL vmlinux 0x31128b8e hv_remove_kexec_handler +EXPORT_SYMBOL_GPL vmlinux 0x311a0cba nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0x311c6da4 put_iova_domain +EXPORT_SYMBOL_GPL vmlinux 0x3125a98b ping_err +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x312a0364 devm_hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x3135e9fa fpu_copy_guest_fpstate_to_uabi +EXPORT_SYMBOL_GPL vmlinux 0x31477f2d crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0x3154f75c pfn_to_online_page +EXPORT_SYMBOL_GPL vmlinux 0x31592658 devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0x3165daa3 arbitrary_virt_to_machine +EXPORT_SYMBOL_GPL vmlinux 0x316d47c1 dw_pcie_ep_raise_legacy_irq +EXPORT_SYMBOL_GPL vmlinux 0x31706316 __SCT__tp_func_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x317557bc sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x31839ad3 software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x318835ae irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0x318a9a77 irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x318d4abc strp_process +EXPORT_SYMBOL_GPL vmlinux 0x318f4122 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x3192d768 cpufreq_remove_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x3198bd55 __SCT__tp_func_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x31a865d8 crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31b7632a __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0x31bf17e6 vp_legacy_get_driver_features +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31d34278 xas_load +EXPORT_SYMBOL_GPL vmlinux 0x31d35c6a set_secondary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x31dca4d8 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x31de30df vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0x31e402cc skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0x31f61151 cpufreq_cpu_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x320c3bc7 of_icc_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x3224b2a9 mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0x322fde8e dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x32493f07 scsi_device_from_queue +EXPORT_SYMBOL_GPL vmlinux 0x325e5cbb screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x326b836f posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0x326cefe5 hwpoison_filter_dev_minor +EXPORT_SYMBOL_GPL vmlinux 0x3278416a xen_xlate_unmap_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0x327a2687 bind_evtchn_to_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x32836981 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x3288b93b __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0x328b1d7b sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x328e3354 __memcpy_flushcache +EXPORT_SYMBOL_GPL vmlinux 0x32a3434e pinctrl_utils_free_map +EXPORT_SYMBOL_GPL vmlinux 0x32a35ee2 pci_iov_vf_id +EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x32bba384 badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0x32bc0fcf preempt_notifier_dec +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32cd46e4 crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0x32df33e7 x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x32e2b75f intel_pinctrl_probe_by_uid +EXPORT_SYMBOL_GPL vmlinux 0x32e3b076 mxcsr_feature_mask +EXPORT_SYMBOL_GPL vmlinux 0x32e47447 genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL vmlinux 0x32e4d1e0 sgx_virt_ecreate +EXPORT_SYMBOL_GPL vmlinux 0x32e7cc74 netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0x330010b6 cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x330573fb ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0x330f6116 set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x3321e8ff __fscrypt_inode_uses_inline_crypto +EXPORT_SYMBOL_GPL vmlinux 0x33251921 pwm_adjust_config +EXPORT_SYMBOL_GPL vmlinux 0x3337baa6 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x333dbf32 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x3341af14 pci_vpd_alloc +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x3362b03c xen_p2m_size +EXPORT_SYMBOL_GPL vmlinux 0x33694981 ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0x338a726f devfreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x339404b3 irq_domain_disconnect_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x3395fdc7 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x33a115d6 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x33a42414 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x33b1cf7f blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x33bf4443 acpi_quirk_skip_acpi_ac_and_battery +EXPORT_SYMBOL_GPL vmlinux 0x33c2f1e6 dax_writeback_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x33d479be mmc_cmdq_enable +EXPORT_SYMBOL_GPL vmlinux 0x33d8d2ff regmap_check_range_table +EXPORT_SYMBOL_GPL vmlinux 0x33dd4d5a dev_pm_opp_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x33e5be20 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x33f0fdaa fscrypt_mergeable_bio_bh +EXPORT_SYMBOL_GPL vmlinux 0x33fb8461 __unwind_start +EXPORT_SYMBOL_GPL vmlinux 0x3408110b __SCK__tp_func_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x340c8810 __SCK__tp_func_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x340d79a2 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x34331f04 acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0x3437d61e dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x344361a1 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0x3444ea8a xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x344a2c84 iomap_dio_complete +EXPORT_SYMBOL_GPL vmlinux 0x3450ad94 mpi_set_ui +EXPORT_SYMBOL_GPL vmlinux 0x3458d60e regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x345db8a3 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x3466ce63 x86_msi_msg_get_destid +EXPORT_SYMBOL_GPL vmlinux 0x346d4978 bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0x346e96ef crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x3476ac5b list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0x34782039 clk_mux_determine_rate_flags +EXPORT_SYMBOL_GPL vmlinux 0x347dcb7c gov_update_cpu_data +EXPORT_SYMBOL_GPL vmlinux 0x348a9eca driver_set_override +EXPORT_SYMBOL_GPL vmlinux 0x34db2412 pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0x34eab46d bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x34eb9da1 vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x34f24fde regmap_multi_reg_write_bypassed +EXPORT_SYMBOL_GPL vmlinux 0x34f2fe19 device_phy_find_device +EXPORT_SYMBOL_GPL vmlinux 0x34f6fc39 i2c_adapter_depth +EXPORT_SYMBOL_GPL vmlinux 0x350ebac9 blk_mq_hctx_set_fq_lock_class +EXPORT_SYMBOL_GPL vmlinux 0x350f6ce5 tasklet_unlock_wait +EXPORT_SYMBOL_GPL vmlinux 0x35269b5e rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x352b3813 maxim_charger_calc_reg_current +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x353c4b15 bio_end_io_acct_remapped +EXPORT_SYMBOL_GPL vmlinux 0x3540838a l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0x3557ae02 device_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x355bc89a klist_next +EXPORT_SYMBOL_GPL vmlinux 0x355cc2e3 bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0x35643730 crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0x3565a929 utf8_data_table +EXPORT_SYMBOL_GPL vmlinux 0x356d09a1 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x3574a7f9 msi_unlock_descs +EXPORT_SYMBOL_GPL vmlinux 0x358ff60f twl_get_hfclk_rate +EXPORT_SYMBOL_GPL vmlinux 0x3595debe powercap_unregister_control_type +EXPORT_SYMBOL_GPL vmlinux 0x35b0f4c6 __clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x35bb4dd1 nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0x35cf1bba power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x35d3dc46 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x35d78afc __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x35de40e8 icc_get_name +EXPORT_SYMBOL_GPL vmlinux 0x35e567d4 dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x35ef7543 serial8250_init_port +EXPORT_SYMBOL_GPL vmlinux 0x36146fa6 regulator_map_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x36173c1d phys_to_target_node +EXPORT_SYMBOL_GPL vmlinux 0x361d1551 ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x362bb183 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x364fbeed devm_spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x36551456 lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0x365a97ca tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0x367bbe09 __traceiter_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x3683376c __nvdimm_create +EXPORT_SYMBOL_GPL vmlinux 0x36898d6f gpiod_remove_hogs +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x36a93e10 dev_err_probe +EXPORT_SYMBOL_GPL vmlinux 0x36ac17ab alloc_iova_fast +EXPORT_SYMBOL_GPL vmlinux 0x36b5497e intel_iommu_enabled +EXPORT_SYMBOL_GPL vmlinux 0x36bc04bd trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0x36daa497 dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x36f82558 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x370588b6 dw_pcie_ep_reset_bar +EXPORT_SYMBOL_GPL vmlinux 0x370ec78d virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0x37169f79 cpu_latency_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x371ffb81 devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0x372fb81a sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x3750d770 erst_read +EXPORT_SYMBOL_GPL vmlinux 0x3753549d devm_clk_hw_get_clk +EXPORT_SYMBOL_GPL vmlinux 0x37589884 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x377bbcbc pm_suspend_target_state +EXPORT_SYMBOL_GPL vmlinux 0x37914025 xenbus_write +EXPORT_SYMBOL_GPL vmlinux 0x37bb7a18 gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0x37beb3e5 gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x37bf7be3 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x37c0cf4d pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0x37c2ed56 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x37d46efd ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0x37dbdae4 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x37eb6c0b devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3801776b __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x380dde36 power_supply_batinfo_ocv2cap +EXPORT_SYMBOL_GPL vmlinux 0x3811d56a mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x3814709d spi_mem_driver_register_with_owner +EXPORT_SYMBOL_GPL vmlinux 0x38268b62 icc_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x3833df78 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x384e280c pm_genpd_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x38507107 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x38535e3f sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x3866e217 nvmem_device_write +EXPORT_SYMBOL_GPL vmlinux 0x386feb04 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x38708e25 inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0x38722f80 kernel_fpu_end +EXPORT_SYMBOL_GPL vmlinux 0x38724875 devm_rtc_allocate_device +EXPORT_SYMBOL_GPL vmlinux 0x38914fb4 sdio_signal_irq +EXPORT_SYMBOL_GPL vmlinux 0x389b64a2 static_key_count +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38b6a890 __SCT__tp_func_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x38b6feaf clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x38bce2cb dev_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x38bd5a74 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x38c05585 vfio_pci_core_enable +EXPORT_SYMBOL_GPL vmlinux 0x38c3ff30 freq_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x38ca4e24 mmc_crypto_prepare_req +EXPORT_SYMBOL_GPL vmlinux 0x38dd2d33 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x38de11ec regmap_async_complete_cb +EXPORT_SYMBOL_GPL vmlinux 0x38e1fde7 mpi_set +EXPORT_SYMBOL_GPL vmlinux 0x38e5bc5a clk_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x38e8f912 wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x38ea9765 intel_pt_validate_hw_cap +EXPORT_SYMBOL_GPL vmlinux 0x3906b1e9 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x39088fb3 tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0x390d4e4e skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x392d68b1 phy_create +EXPORT_SYMBOL_GPL vmlinux 0x39393064 devlink_port_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x3959dd9f l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0x398d100c regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x399a0b53 wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0x39a1bd64 of_hwspin_lock_get_id_byname +EXPORT_SYMBOL_GPL vmlinux 0x39a6b431 xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39aa4888 usb_role_string +EXPORT_SYMBOL_GPL vmlinux 0x39c9d88c xas_find +EXPORT_SYMBOL_GPL vmlinux 0x39cb2abd acpi_create_platform_device +EXPORT_SYMBOL_GPL vmlinux 0x39ded098 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x39ded14f __SCT__tp_func_unmap +EXPORT_SYMBOL_GPL vmlinux 0x39e042b0 folio_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x3a001269 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x3a0175c7 iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0x3a021ec0 input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0x3a1517b1 __SCK__tp_func_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x3a1ff8d3 clk_mux_val_to_index +EXPORT_SYMBOL_GPL vmlinux 0x3a24fb2f percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0x3a26ed11 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a55981a static_key_enable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x3a56909f da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x3a5a2c22 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x3a78dc58 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x3a7d80f9 xen_max_p2m_pfn +EXPORT_SYMBOL_GPL vmlinux 0x3a81e53d dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x3a825a0f usb_hub_find_child +EXPORT_SYMBOL_GPL vmlinux 0x3a8bbb8e trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3aa15a5b __SCK__tp_func_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x3ac3feba rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3ad1c01b bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x3aef0b51 rio_dma_prep_xfer +EXPORT_SYMBOL_GPL vmlinux 0x3af578f5 hyperv_report_panic +EXPORT_SYMBOL_GPL vmlinux 0x3afc4a8f sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x3b06c4af devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x3b0c8614 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x3b1d0c9d devm_of_phy_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x3b3f1917 skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x3b4454bc intel_pinctrl_probe_by_hid +EXPORT_SYMBOL_GPL vmlinux 0x3b4c240a display_timings_release +EXPORT_SYMBOL_GPL vmlinux 0x3b5a7910 dax_layout_busy_page_range +EXPORT_SYMBOL_GPL vmlinux 0x3b61f3e8 isa_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x3b7a7163 __static_call_return0 +EXPORT_SYMBOL_GPL vmlinux 0x3b7d1e15 serial8250_em485_config +EXPORT_SYMBOL_GPL vmlinux 0x3b8fb8ab ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x3b907527 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x3b91db5b intel_pt_handle_vmx +EXPORT_SYMBOL_GPL vmlinux 0x3b95f543 klp_shadow_free +EXPORT_SYMBOL_GPL vmlinux 0x3ba01b47 get_compat_sigset +EXPORT_SYMBOL_GPL vmlinux 0x3bb0ae70 sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x3bb8cb24 fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0x3bbaa536 __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x3bc3568f usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3bdedcc3 fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x3be65439 ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0x3bef0806 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3bffea1a __SCK__tp_func_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x3c060ae1 __SCK__tp_func_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x3c0e8050 hyperv_pcpu_input_arg +EXPORT_SYMBOL_GPL vmlinux 0x3c19c61f led_set_brightness_nosleep +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c220a35 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x3c257143 trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0x3c37407e dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0x3c4038e0 __traceiter_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x3c46318a __devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x3c591b4b iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0x3c5d543a hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x3c66f2e7 gnttab_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c85ddb0 pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x3c913dfb usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x3c9cc63c devlink_port_type_eth_set +EXPORT_SYMBOL_GPL vmlinux 0x3ca3ffa4 bpf_trace_run8 +EXPORT_SYMBOL_GPL vmlinux 0x3ca9ca0d devlink_rate_nodes_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3cc07be9 pv_info +EXPORT_SYMBOL_GPL vmlinux 0x3cc140ad crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x3cc153f6 devm_regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x3cc4b494 key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0x3cd01b47 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cd1b510 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x3cf19c6a vfio_mig_get_next_state +EXPORT_SYMBOL_GPL vmlinux 0x3cfce936 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x3d04b768 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3d0a8094 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x3d1862e1 iomap_dio_bio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x3d294bd8 mbox_request_channel_byname +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d3a47df irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d55813c key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x3d5846de i2c_new_scanned_device +EXPORT_SYMBOL_GPL vmlinux 0x3d67c628 fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0x3d6fe6e2 debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x3d84eeb2 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x3d8baf3b zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x3d9bbf75 wwan_port_txon +EXPORT_SYMBOL_GPL vmlinux 0x3da3f544 platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0x3daa2540 nf_hooks_lwtunnel_enabled +EXPORT_SYMBOL_GPL vmlinux 0x3dd9da28 genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x3de0a022 to_nvdimm +EXPORT_SYMBOL_GPL vmlinux 0x3de64289 bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3df82d00 mce_log +EXPORT_SYMBOL_GPL vmlinux 0x3e0b7499 irq_chip_set_vcpu_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0x3e0c7019 ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x3e10ce66 filemap_add_folio +EXPORT_SYMBOL_GPL vmlinux 0x3e190c70 __SCK__tp_func_map +EXPORT_SYMBOL_GPL vmlinux 0x3e289d52 cpuidle_get_cpu_driver +EXPORT_SYMBOL_GPL vmlinux 0x3e31c394 gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0x3e3a15a1 __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0x3e3bbd41 icc_provider_add +EXPORT_SYMBOL_GPL vmlinux 0x3e556a2c serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0x3e64d861 pinctrl_select_state +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e85fd78 xenbus_dev_groups +EXPORT_SYMBOL_GPL vmlinux 0x3e90c17f handle_fasteoi_irq +EXPORT_SYMBOL_GPL vmlinux 0x3e963b17 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x3e973ca9 fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0x3ea40edf gnttab_unmap_refs_sync +EXPORT_SYMBOL_GPL vmlinux 0x3ea5196d apei_osc_setup +EXPORT_SYMBOL_GPL vmlinux 0x3eaf136d __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x3eb27416 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x3ec1e915 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x3ec93255 hv_get_isolation_type +EXPORT_SYMBOL_GPL vmlinux 0x3ed9250b mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0x3edc6527 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x3ee3a25e put_io_context +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3efd8231 devm_clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x3f2688d1 sock_map_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3f27f809 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3f321b64 memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x3f366b5d devm_phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x3f3678c9 pm_runtime_force_resume +EXPORT_SYMBOL_GPL vmlinux 0x3f491f49 reset_control_bulk_reset +EXPORT_SYMBOL_GPL vmlinux 0x3f4c71f8 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x3f535293 iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0x3f74ca11 crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x3f78bb76 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3f993e35 ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3fae6ab0 hv_vp_index +EXPORT_SYMBOL_GPL vmlinux 0x3fca0b5e pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x3fd03517 icc_sync_state +EXPORT_SYMBOL_GPL vmlinux 0x3fdc744e irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x3fe35aea irq_bypass_unregister_consumer +EXPORT_SYMBOL_GPL vmlinux 0x3fe3b715 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x3fe6c346 devlink_fmsg_binary_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x3ff01e4b badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0x3ff2e349 hte_request_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x400a024b acpi_scan_lock_release +EXPORT_SYMBOL_GPL vmlinux 0x400f7e24 cpufreq_dbs_governor_init +EXPORT_SYMBOL_GPL vmlinux 0x4010c44e dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x401175ac clk_register_mux_table +EXPORT_SYMBOL_GPL vmlinux 0x401f7720 phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x4020d591 devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0x4021d741 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x40267068 usb_anchor_resume_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x402e78cd blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0x403d2029 crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0x403eac60 sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x40400767 fwnode_graph_get_endpoint_count +EXPORT_SYMBOL_GPL vmlinux 0x4043757f init_iova_domain +EXPORT_SYMBOL_GPL vmlinux 0x4044f2fd pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0x40474e8e fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x4065d168 pm_print_active_wakeup_sources +EXPORT_SYMBOL_GPL vmlinux 0x406c4cb1 hrtimer_resolution +EXPORT_SYMBOL_GPL vmlinux 0x4071b517 out_of_line_wait_on_bit_timeout +EXPORT_SYMBOL_GPL vmlinux 0x407af304 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x40809c9a kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x4083b6ea ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x4097a0ba irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x4099f919 tun_ptr_free +EXPORT_SYMBOL_GPL vmlinux 0x409a5afa extcon_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x40a0aafc __flush_tlb_all +EXPORT_SYMBOL_GPL vmlinux 0x40a23395 register_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x40b0752e usb_role_switch_find_by_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x40b17787 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x40b3b7e7 msg_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0x40bb5aa9 virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0x40bd43a3 edac_pci_del_device +EXPORT_SYMBOL_GPL vmlinux 0x40cacdbb tpm_tis_core_init +EXPORT_SYMBOL_GPL vmlinux 0x40d1b14d crypto_comp_compress +EXPORT_SYMBOL_GPL vmlinux 0x40d5de6f pm_clk_suspend +EXPORT_SYMBOL_GPL vmlinux 0x40e7a8d1 sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0x40f0683e reset_control_put +EXPORT_SYMBOL_GPL vmlinux 0x40f8b94e ring_buffer_iter_dropped +EXPORT_SYMBOL_GPL vmlinux 0x40f8bd4e klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4100a662 clk_get_scaled_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x41039777 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x4108af2f tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0x4108d36a thermal_zone_get_zone_by_name +EXPORT_SYMBOL_GPL vmlinux 0x410c13e7 clk_hw_get_name +EXPORT_SYMBOL_GPL vmlinux 0x41234429 udp_tunnel_nic_ops +EXPORT_SYMBOL_GPL vmlinux 0x41285a5a raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x4129f5ee kernel_fpu_begin_mask +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x41379d5e mctrl_gpio_init +EXPORT_SYMBOL_GPL vmlinux 0x4147035d regulator_get_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x414d119a videomode_from_timings +EXPORT_SYMBOL_GPL vmlinux 0x414f9751 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4167d386 ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x416fce40 __devm_spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x41718a73 regulator_irq_map_event_simple +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x418873cc irq_bypass_register_producer +EXPORT_SYMBOL_GPL vmlinux 0x4190de89 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x4194c6dc iommu_set_pgtable_quirks +EXPORT_SYMBOL_GPL vmlinux 0x419da510 edac_mc_del_mc +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x419ef828 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x41b9a6e6 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x41bce49a ghes_register_vendor_record_notifier +EXPORT_SYMBOL_GPL vmlinux 0x41d011a9 fscrypt_parse_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x41d07fc4 sbitmap_queue_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x41d9eee1 blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0x41dca779 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x420045ba sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x42041512 i2c_get_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x420f3d01 nvmem_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x421ee2b7 acpi_dev_state_d0 +EXPORT_SYMBOL_GPL vmlinux 0x4222580c uart_console_device +EXPORT_SYMBOL_GPL vmlinux 0x4222f3b0 devm_regulator_irq_helper +EXPORT_SYMBOL_GPL vmlinux 0x4223ef98 nvdimm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x422e578a __SCT__tp_func_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x423061bf __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x423b2882 pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0x4247704f fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x424bdd43 platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0x425737e5 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x4260f54e debugfs_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0x42635d55 pm_suspend_global_flags +EXPORT_SYMBOL_GPL vmlinux 0x426452a3 acpi_evaluation_failure_warn +EXPORT_SYMBOL_GPL vmlinux 0x426799e7 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x427aa976 device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x427bb219 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x4288f89f fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x428f33cb acpi_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x42947fc3 fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0x429c3f9c reboot_mode +EXPORT_SYMBOL_GPL vmlinux 0x42ac65e9 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x42bf8fe1 list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0x42c76017 kick_process +EXPORT_SYMBOL_GPL vmlinux 0x42cbcf4e virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0x42d6d8bf device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x42dc646f usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x42f728aa mctrl_gpio_get_outputs +EXPORT_SYMBOL_GPL vmlinux 0x43080222 xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0x430d88ec __traceiter_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x4311910b skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x432987ec hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x4335bc0d blk_crypto_evict_key +EXPORT_SYMBOL_GPL vmlinux 0x4348f09b crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0x4357074b fpstate_clear_xstate_component +EXPORT_SYMBOL_GPL vmlinux 0x435976c6 devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0x435d88e2 pci_aer_clear_nonfatal_status +EXPORT_SYMBOL_GPL vmlinux 0x43653c99 amd_iommu_is_attach_deferred +EXPORT_SYMBOL_GPL vmlinux 0x43655f3b inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x436d817f mpi_clear_bit +EXPORT_SYMBOL_GPL vmlinux 0x4372e78d fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x437dd34a irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x43873151 mmc_regulator_set_vqmmc +EXPORT_SYMBOL_GPL vmlinux 0x438d8df2 iova_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x439011fe phy_pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43bb4389 __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0x43bee916 disk_force_media_change +EXPORT_SYMBOL_GPL vmlinux 0x43da68fa crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x43ea5409 __devm_intel_scu_ipc_register +EXPORT_SYMBOL_GPL vmlinux 0x43f81957 clk_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x43f92edd wait_for_initramfs +EXPORT_SYMBOL_GPL vmlinux 0x43fb9d6f umd_load_blob +EXPORT_SYMBOL_GPL vmlinux 0x4401e6c2 mpi_cmpabs +EXPORT_SYMBOL_GPL vmlinux 0x440527e7 hsu_dma_do_irq +EXPORT_SYMBOL_GPL vmlinux 0x4409a88c vfio_unregister_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x442deaa9 poll_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x44339182 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x443b3ab0 phy_speed_up +EXPORT_SYMBOL_GPL vmlinux 0x44581262 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x4463daca sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x44752dec regmap_attach_dev +EXPORT_SYMBOL_GPL vmlinux 0x4481ff9a irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x4486e226 folio_wait_stable +EXPORT_SYMBOL_GPL vmlinux 0x4492f565 __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x449b202f pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0x449ebed1 sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44bfa14c bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44e1e9aa balloon_stats +EXPORT_SYMBOL_GPL vmlinux 0x44f0b0a6 __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x44f2dc1c acpi_quirk_skip_serdev_enumeration +EXPORT_SYMBOL_GPL vmlinux 0x44fa8823 gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0x450110e8 perf_assign_events +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x450a6502 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x4527237c dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x45273df5 nd_cmd_out_size +EXPORT_SYMBOL_GPL vmlinux 0x4531624f usb_decode_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x4531ab62 copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x4541fe0d mtrr_state +EXPORT_SYMBOL_GPL vmlinux 0x454844df nvdimm_in_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x454fee96 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x45558f56 clk_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x4577c1f4 device_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x457ce789 paste_selection +EXPORT_SYMBOL_GPL vmlinux 0x45928b1f acpi_subsys_complete +EXPORT_SYMBOL_GPL vmlinux 0x459e6151 mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x45a15b29 register_fprobe +EXPORT_SYMBOL_GPL vmlinux 0x45a25ee5 locks_owner_has_blockers +EXPORT_SYMBOL_GPL vmlinux 0x45a80fb6 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x45aeee1e ohci_restart +EXPORT_SYMBOL_GPL vmlinux 0x45af48b6 ima_file_check +EXPORT_SYMBOL_GPL vmlinux 0x45c993ca regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x45d14bdf hypercall_page +EXPORT_SYMBOL_GPL vmlinux 0x45d1dae0 devm_pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x45dfad21 register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x45e3e1a4 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x45fcb1d8 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x46030074 __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x46047827 __SCT__tp_func_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x461185be pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0x461676a0 policy_has_boost_freq +EXPORT_SYMBOL_GPL vmlinux 0x4620c0d0 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x464bf4ed phy_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x464e1aee mmc_send_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0x4660bb1c vp_legacy_set_features +EXPORT_SYMBOL_GPL vmlinux 0x467759b6 bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0x467f313f device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x4684365a devm_clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x4688295c addrconf_add_linklocal +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x469ce136 __traceiter_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x46a4b118 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x46a4c1da i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL vmlinux 0x46a6c9ef hv_get_tsc_page +EXPORT_SYMBOL_GPL vmlinux 0x46c16eb6 genphy_c45_read_mdix +EXPORT_SYMBOL_GPL vmlinux 0x46c5be22 clk_multiplier_ops +EXPORT_SYMBOL_GPL vmlinux 0x46c6d6af spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x46d8f60f preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x46ee4c62 power_supply_get_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x46f11ef3 virtio_device_freeze +EXPORT_SYMBOL_GPL vmlinux 0x46fe9164 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x4718b51e mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x4719091e tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0x471c0fdd __SCK__tp_func_block_split +EXPORT_SYMBOL_GPL vmlinux 0x471e3406 debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4723b7ba fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0x4729c2c9 bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0x47346176 crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0x473d743f ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x47499c59 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x474c0df5 vp_modern_generation +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4775fdae pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x4788f068 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x478e81f8 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x4791cb91 apei_mce_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0x479f7d4b clk_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x47aad3b9 have_governor_per_policy +EXPORT_SYMBOL_GPL vmlinux 0x47b31950 __SCK__tp_func_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x47c2469a xenbus_dev_cancel +EXPORT_SYMBOL_GPL vmlinux 0x47cd59ce ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x47d0eea2 acpi_lpat_temp_to_raw +EXPORT_SYMBOL_GPL vmlinux 0x47db3fef skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x47de0dc7 clk_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x47df7cc0 vp_legacy_queue_vector +EXPORT_SYMBOL_GPL vmlinux 0x47e50499 vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0x47ff6817 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x480305ca kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x481f9b7d mpi_mulm +EXPORT_SYMBOL_GPL vmlinux 0x48203853 em_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x4821be7c rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x4828e77b acpi_scan_lock_acquire +EXPORT_SYMBOL_GPL vmlinux 0x482ab941 ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0x4842dcb0 __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0x48565917 fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0x48602921 devm_spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x4864b33f led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x486dedc3 ghes_unregister_vendor_record_notifier +EXPORT_SYMBOL_GPL vmlinux 0x487bef2b is_software_node +EXPORT_SYMBOL_GPL vmlinux 0x48931e20 device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x48949ce7 __traceiter_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x48a3d20b mctrl_gpio_get +EXPORT_SYMBOL_GPL vmlinux 0x48a949f5 dma_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x48cfd74e ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x48dbbefe sbitmap_queue_show +EXPORT_SYMBOL_GPL vmlinux 0x48edf9c2 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x48f9e533 i2c_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x4905df5a bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x4915821a __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x4915ac29 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x4916b467 irq_get_domain_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x491e97c5 gov_attr_set_get +EXPORT_SYMBOL_GPL vmlinux 0x49242bc7 freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4934bdd0 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x49351f72 hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0x49381098 dev_pm_genpd_set_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x4939ebcd numa_map_to_online_node +EXPORT_SYMBOL_GPL vmlinux 0x494844fa set_capacity_and_notify +EXPORT_SYMBOL_GPL vmlinux 0x495a4221 __SCT__tp_func_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x495ff30c set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x49608959 migrate_disable +EXPORT_SYMBOL_GPL vmlinux 0x496c3751 rio_unregister_mport +EXPORT_SYMBOL_GPL vmlinux 0x4978d322 mctp_register_netdev +EXPORT_SYMBOL_GPL vmlinux 0x49870ba5 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x498b59c4 xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x49a4b68e bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x49b8edaa ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x49c1c763 ata_sas_tport_delete +EXPORT_SYMBOL_GPL vmlinux 0x49cd25ed alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x49e61d05 _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x49e8ac17 devm_namespace_disable +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49eb90a7 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x49f61e08 __SCK__tp_func_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x49f95552 gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0x4a031347 fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0x4a0a573f ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x4a0d29f7 fpu_free_guest_fpstate +EXPORT_SYMBOL_GPL vmlinux 0x4a135718 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a2f31ec crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0x4a3bbbb5 bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0x4a420d09 acpi_bus_detach_private_data +EXPORT_SYMBOL_GPL vmlinux 0x4a452665 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x4a454c0e posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x4a50c246 regmap_parse_val +EXPORT_SYMBOL_GPL vmlinux 0x4a72abc0 dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0x4a74d165 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x4a78cf3b regmap_test_bits +EXPORT_SYMBOL_GPL vmlinux 0x4a947ad6 pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0x4ab83d78 pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x4ab86251 tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0x4ac43d1f free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0x4ac48463 pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0x4acab934 regulator_set_load +EXPORT_SYMBOL_GPL vmlinux 0x4aea86ef dma_get_slave_caps +EXPORT_SYMBOL_GPL vmlinux 0x4af64d7b pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0x4afa0231 serial8250_em485_stop_tx +EXPORT_SYMBOL_GPL vmlinux 0x4afa6a26 genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL vmlinux 0x4afe72e5 devm_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x4affb478 __SCK__tp_func_extlog_mem_event +EXPORT_SYMBOL_GPL vmlinux 0x4b1b4bf5 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x4b1d52de devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x4b3c6278 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x4b3d8a81 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x4b464b07 dax_iomap_rw +EXPORT_SYMBOL_GPL vmlinux 0x4b4d6ddf xenbus_register_driver_common +EXPORT_SYMBOL_GPL vmlinux 0x4b51f74c ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x4b555583 devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x4b56ce05 xenmem_reservation_increase +EXPORT_SYMBOL_GPL vmlinux 0x4b58cd37 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x4b59da8d devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x4b5acf74 rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0x4b702da4 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x4b708d07 fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0x4b762828 start_thread +EXPORT_SYMBOL_GPL vmlinux 0x4b7bca1a usb_get_maximum_speed +EXPORT_SYMBOL_GPL vmlinux 0x4b931968 xen_features +EXPORT_SYMBOL_GPL vmlinux 0x4bb01642 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x4bb08c50 lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0x4bbffee0 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x4bc7ed07 unregister_nvdimm_pmu +EXPORT_SYMBOL_GPL vmlinux 0x4bc8727f xen_balloon_init +EXPORT_SYMBOL_GPL vmlinux 0x4bd6f08b misc_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4bdb8dcc housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4be4c851 pcie_aspm_capable +EXPORT_SYMBOL_GPL vmlinux 0x4bfd398d hwrng_msleep +EXPORT_SYMBOL_GPL vmlinux 0x4c0fd15b put_pid +EXPORT_SYMBOL_GPL vmlinux 0x4c12b791 bpf_trace_run5 +EXPORT_SYMBOL_GPL vmlinux 0x4c1dc12e usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x4c21dacb inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x4c25be7f device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x4c2c0ea7 evtchn_make_refcounted +EXPORT_SYMBOL_GPL vmlinux 0x4c364b97 component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0x4c3c2b73 phy_power_on +EXPORT_SYMBOL_GPL vmlinux 0x4c3e9f72 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x4c44adc9 dm_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x4c490f11 ata_scsi_dma_need_drain +EXPORT_SYMBOL_GPL vmlinux 0x4c49f1de hv_clock_per_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4c50e850 ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0x4c5149a2 ipv4_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x4c549b36 __traceiter_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x4c5f6b8e init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x4c63d905 nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0x4c7059c8 regmap_irq_get_domain +EXPORT_SYMBOL_GPL vmlinux 0x4c762b5c x86_stepping +EXPORT_SYMBOL_GPL vmlinux 0x4c7a4a4e xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x4c8adfe1 hv_root_partition +EXPORT_SYMBOL_GPL vmlinux 0x4c8ea0ef ip4_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x4c97e60c blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x4c9e10c9 vfio_pci_core_init_device +EXPORT_SYMBOL_GPL vmlinux 0x4caee66f clk_register_divider_table +EXPORT_SYMBOL_GPL vmlinux 0x4cb27100 ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x4cc74663 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x4ccb64af __tracepoint_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x4cd39abb __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4ce75232 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4ceda22a serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4cf699b8 vfio_pci_core_set_params +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d06edd5 percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0x4d1b0f61 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x4d2d7e89 tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d57be71 fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0x4d5b2252 wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0x4d60d6ea sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d71f9c0 call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x4d7272e4 migrate_enable +EXPORT_SYMBOL_GPL vmlinux 0x4d79ef23 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x4d819169 rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0x4d9031dd intel_cpu_collect_info +EXPORT_SYMBOL_GPL vmlinux 0x4da96bc1 efivars_kobject +EXPORT_SYMBOL_GPL vmlinux 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4dcf0b84 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4de04036 __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x4de17ab3 usb_state_string +EXPORT_SYMBOL_GPL vmlinux 0x4df1f8db virtqueue_add_inbuf +EXPORT_SYMBOL_GPL vmlinux 0x4dff61e5 wwan_port_txoff +EXPORT_SYMBOL_GPL vmlinux 0x4e100a98 msg_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0x4e144a54 __SCT__tp_func_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x4e17c613 ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x4e34cbf6 to_software_node +EXPORT_SYMBOL_GPL vmlinux 0x4e3941dd iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x4e3eccd4 acpi_subsys_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x4e42b0dc devm_thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x4e4c37e2 freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4e53e4c4 devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x4e75972d gnttab_page_cache_put +EXPORT_SYMBOL_GPL vmlinux 0x4e852b13 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x4e9847d5 clk_hw_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4eafcb33 trace_add_event_call +EXPORT_SYMBOL_GPL vmlinux 0x4eb137c4 nvdimm_clear_poison +EXPORT_SYMBOL_GPL vmlinux 0x4ece3615 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4ed0b15b kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x4ee65275 skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4efcf021 mpi_normalize +EXPORT_SYMBOL_GPL vmlinux 0x4f07e015 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x4f0c5726 iopf_queue_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x4f12d4d7 crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0x4f2593f0 btree_update +EXPORT_SYMBOL_GPL vmlinux 0x4f2a39e7 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x4f2c996d kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x4f2e07ad io_uring_cmd_done +EXPORT_SYMBOL_GPL vmlinux 0x4f421fc4 firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0x4f4338df devm_hte_request_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x4f4cc4d1 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x4f54c076 __traceiter_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x4f5bd37a pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0x4f61559d blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x4f66fa7a synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4f72a987 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0x4f78adce __traceiter_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x4f8546af cpuidle_poll_state_init +EXPORT_SYMBOL_GPL vmlinux 0x4f9f3fa2 nd_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x4fa63757 xhci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x4fae9d3a report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0x4fb0f4d7 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x4fbc9e69 sk_psock_init +EXPORT_SYMBOL_GPL vmlinux 0x4fc7a6ee pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x4fc7e031 fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x500c768c apei_exec_read_register +EXPORT_SYMBOL_GPL vmlinux 0x5026585c xen_irq_from_gsi +EXPORT_SYMBOL_GPL vmlinux 0x503ac608 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x503bd194 wwan_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x503ee8ad __of_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x5040ec0c mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0x50562572 __SCK__tp_func_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x50616e69 devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0x506554cb __efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0x507876ad sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x5086d119 edac_mc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x50892715 gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x508a0d15 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x508a5fe3 led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x50954f72 rio_add_net +EXPORT_SYMBOL_GPL vmlinux 0x50956faa __xenmem_reservation_va_mapping_update +EXPORT_SYMBOL_GPL vmlinux 0x509d50a9 efivar_entry_size +EXPORT_SYMBOL_GPL vmlinux 0x509d5f55 clk_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x50a0e622 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x50b03f5d l1tf_vmx_mitigation +EXPORT_SYMBOL_GPL vmlinux 0x50b42ba1 entry_ibpb +EXPORT_SYMBOL_GPL vmlinux 0x50b770e4 crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x50cb9c63 led_set_brightness_nopm +EXPORT_SYMBOL_GPL vmlinux 0x50d1f870 pgprot_writecombine +EXPORT_SYMBOL_GPL vmlinux 0x50d5dc5a raw_v6_match +EXPORT_SYMBOL_GPL vmlinux 0x50df94f5 btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x50e5c505 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50ebbf67 iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x50f1a936 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x50f5b24b fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x50fcbc2b bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x51200bee crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x5152bd85 devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0x515b74e2 iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x515e298a unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x51804887 pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0x5180b4a6 udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0x5183c106 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x5187aa2d class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x518c2fc6 hpet_rtc_dropped_irq +EXPORT_SYMBOL_GPL vmlinux 0x518dba4d device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0x519f6524 device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0x51a11128 usb_hcd_setup_local_mem +EXPORT_SYMBOL_GPL vmlinux 0x51a348cc usb_role_switch_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x51b9b2fd gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0x51bff8e1 acpi_subsys_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x51c3d038 virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0x51cc725f regulator_get_hardware_vsel_register +EXPORT_SYMBOL_GPL vmlinux 0x51d13875 nf_hooks_lwtunnel_sysctl_handler +EXPORT_SYMBOL_GPL vmlinux 0x51fd6f04 blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0x5210c8e1 gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x521a5a06 gnttab_unmap_refs_async +EXPORT_SYMBOL_GPL vmlinux 0x521fd87c nvdimm_bus_add_badrange +EXPORT_SYMBOL_GPL vmlinux 0x52252316 clk_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x52431348 xenbus_transaction_start +EXPORT_SYMBOL_GPL vmlinux 0x52434174 nvmem_cell_read_u32 +EXPORT_SYMBOL_GPL vmlinux 0x52436c1e regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x52508353 clk_hw_is_prepared +EXPORT_SYMBOL_GPL vmlinux 0x52574c96 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x52593744 __SCK__tp_func_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x525d0aa3 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x52684018 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x526bcf2a wwan_port_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x52701755 platform_clear +EXPORT_SYMBOL_GPL vmlinux 0x527a2325 xhci_run +EXPORT_SYMBOL_GPL vmlinux 0x527f092b cookie_tcp_reqsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x529851e6 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52b29622 balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52cc0844 __devm_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x52ceb9d4 regmap_noinc_read +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x52ddf3c2 modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x53046e0f ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x53201924 devm_i2c_add_adapter +EXPORT_SYMBOL_GPL vmlinux 0x532b90b5 kprobe_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x53312364 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x53340785 splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0x533d0fc6 of_css +EXPORT_SYMBOL_GPL vmlinux 0x534327a8 _copy_mc_to_iter +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x536822e3 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x53804910 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL vmlinux 0x5393323c crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0x5395edad usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x539f157b pci_xen_swiotlb_init_late +EXPORT_SYMBOL_GPL vmlinux 0x53c089f5 property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x53c24905 __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x53cad7ee regulator_set_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x53cefd2d alloc_dax +EXPORT_SYMBOL_GPL vmlinux 0x53d1984e i2c_acpi_waive_d0_probe +EXPORT_SYMBOL_GPL vmlinux 0x53d5179b iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x53d7c01e __traceiter_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x53ec0e67 phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x53f76932 lp8788_read_multi_bytes +EXPORT_SYMBOL_GPL vmlinux 0x5400e6e3 blk_clear_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x5411810f regulator_set_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x5413050c serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x541c1359 phy_set_mode_ext +EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x542454de usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x542d0bbe udp_abort +EXPORT_SYMBOL_GPL vmlinux 0x5432139e pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0x5435454c divider_ro_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x544a6624 fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x54526e94 phy_save_page +EXPORT_SYMBOL_GPL vmlinux 0x545910ba acpi_get_first_physical_node +EXPORT_SYMBOL_GPL vmlinux 0x54651f9b rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x54660c30 xhci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x546cac68 pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x549de4f6 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x54dfb40f irq_chip_release_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x54f946ce cpufreq_dbs_governor_limits +EXPORT_SYMBOL_GPL vmlinux 0x54fc61df securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x5504b8de fb_deferred_io_mmap +EXPORT_SYMBOL_GPL vmlinux 0x550ce709 pat_enabled +EXPORT_SYMBOL_GPL vmlinux 0x550f3e05 i2c_freq_mode_string +EXPORT_SYMBOL_GPL vmlinux 0x55197dfb blk_mq_sched_mark_restart_hctx +EXPORT_SYMBOL_GPL vmlinux 0x552f6a48 __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0x55339365 flush_delayed_fput +EXPORT_SYMBOL_GPL vmlinux 0x553b49a4 cpufreq_get_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x55417264 unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x55462474 fpu_copy_uabi_to_guest_fpstate +EXPORT_SYMBOL_GPL vmlinux 0x554cc4ea pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x554dfec1 samsung_sdi_battery_get_info +EXPORT_SYMBOL_GPL vmlinux 0x556c4db3 sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0x556e4390 clk_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x558491c9 serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x558f1c1a __virtio_unbreak_device +EXPORT_SYMBOL_GPL vmlinux 0x5598b93a clk_hw_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x55a4af5f rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x55b62df8 dma_async_device_channel_unregister +EXPORT_SYMBOL_GPL vmlinux 0x55c76a23 ksys_sync_helper +EXPORT_SYMBOL_GPL vmlinux 0x55d46e1a __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0x55e871e3 vp_modern_get_features +EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x55faf675 wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x56067f89 do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0x56173654 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x562201b8 phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL vmlinux 0x56256e8a orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x562df8a3 cpufreq_generic_init +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x56398615 mark_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x563ecb24 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x5650c6f4 edac_pci_handle_pe +EXPORT_SYMBOL_GPL vmlinux 0x56601f71 rio_alloc_net +EXPORT_SYMBOL_GPL vmlinux 0x567f66ba pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x568ac86c dev_pm_set_dedicated_wake_irq_reverse +EXPORT_SYMBOL_GPL vmlinux 0x568c40a9 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x5690c59b crypto_wait_for_test +EXPORT_SYMBOL_GPL vmlinux 0x569167d4 pinctrl_utils_add_map_configs +EXPORT_SYMBOL_GPL vmlinux 0x56925d0d of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x56948896 spec_ctrl_current +EXPORT_SYMBOL_GPL vmlinux 0x56988aa4 fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0x569a41f0 acpi_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0x569e10d9 rio_unmap_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x56ac2bd5 regmap_fields_read +EXPORT_SYMBOL_GPL vmlinux 0x56adf780 l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0x56d0ab0b mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0x56d1b22e tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x56d4bf45 acpi_match_device +EXPORT_SYMBOL_GPL vmlinux 0x56d9bdbb spi_controller_resume +EXPORT_SYMBOL_GPL vmlinux 0x56d9cb0a md_stop +EXPORT_SYMBOL_GPL vmlinux 0x56e813da dax_zero_range +EXPORT_SYMBOL_GPL vmlinux 0x56fba774 acpi_gpiochip_request_interrupts +EXPORT_SYMBOL_GPL vmlinux 0x56fbb130 no_hash_pointers +EXPORT_SYMBOL_GPL vmlinux 0x56fe945b vp_modern_set_status +EXPORT_SYMBOL_GPL vmlinux 0x570bc6cf fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x57148565 xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x57460308 clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x574609c5 apei_exec_write_register_value +EXPORT_SYMBOL_GPL vmlinux 0x57490dfe sync_blockdev_nowait +EXPORT_SYMBOL_GPL vmlinux 0x57719632 gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x5784c5cb tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x578eeb4d hugetlb_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x5790e7a0 pci_unlock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0x579327e3 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x5799e0f2 i2c_acpi_client_count +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57aa8b54 fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0x57acac01 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x57bc7758 pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0x57c255e5 perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0x57d0828a pci_hp_add +EXPORT_SYMBOL_GPL vmlinux 0x57d4050a xhci_get_endpoint_index +EXPORT_SYMBOL_GPL vmlinux 0x57db209e pm_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0x57ecfb21 led_sysfs_disable +EXPORT_SYMBOL_GPL vmlinux 0x57f576b9 mpi_ec_curve_point +EXPORT_SYMBOL_GPL vmlinux 0x57f8cd00 phy_pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x5804b0df ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5818a6a6 crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x58276f93 cper_next_record_id +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x585cebc6 pinctrl_enable +EXPORT_SYMBOL_GPL vmlinux 0x586bfc8a alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0x58758018 __tracepoint_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x587d345f perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0x587ede89 sis_info133_for_sata +EXPORT_SYMBOL_GPL vmlinux 0x5891a7d5 extcon_sync +EXPORT_SYMBOL_GPL vmlinux 0x58926cd1 pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x58a22eb4 __SCK__tp_func_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x58aa6397 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x58af980b fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0x58b8f984 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x58d6311d trace_clock +EXPORT_SYMBOL_GPL vmlinux 0x58db1176 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x58e42c0c housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0x58ed0e01 proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0x58f683a7 lp8788_read_byte +EXPORT_SYMBOL_GPL vmlinux 0x5901eaa5 task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0x5908506d acpi_dev_get_memory_resources +EXPORT_SYMBOL_GPL vmlinux 0x590d8343 sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x5920cf1d __clk_mux_determine_rate_closest +EXPORT_SYMBOL_GPL vmlinux 0x5927de60 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x592de784 bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0x59356ac3 sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0x59486f09 xenbus_dev_probe +EXPORT_SYMBOL_GPL vmlinux 0x5949106c bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0x59502226 devm_regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5956c8c7 usb_acpi_port_lpm_incapable +EXPORT_SYMBOL_GPL vmlinux 0x5970af47 __SCK__tp_func_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x597d88da iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x5980390d ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x5986d190 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0x59874788 __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x5997478f pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x59a06699 devm_extcon_dev_allocate +EXPORT_SYMBOL_GPL vmlinux 0x59a7341e crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59ba037a proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0x59c32825 __traceiter_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x59c43dc9 __traceiter_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x59d100c4 ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0x59da6c8a cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x59e8d15c bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0x59eb94d3 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x59ebe6d6 klp_get_state +EXPORT_SYMBOL_GPL vmlinux 0x59f32720 mpi_subm +EXPORT_SYMBOL_GPL vmlinux 0x59f8b7c6 ms_hyperv +EXPORT_SYMBOL_GPL vmlinux 0x5a141142 disk_update_readahead +EXPORT_SYMBOL_GPL vmlinux 0x5a191656 usb_device_match_id +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a42c937 sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a5358b0 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x5a628c5b pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x5a686af5 pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a785855 gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a85c242 aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0x5a94c8c6 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x5aa091b5 acpi_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x5aa70984 acpi_reduced_hardware +EXPORT_SYMBOL_GPL vmlinux 0x5ab09745 edac_get_owner +EXPORT_SYMBOL_GPL vmlinux 0x5ad98ec5 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x5adeb83a simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x5ae1f48e scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x5aeb13ce vp_modern_queue_vector +EXPORT_SYMBOL_GPL vmlinux 0x5af8deb3 devlink_rate_leaf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5afb6d4c __traceiter_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5b1fdc78 sdio_retune_release +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b2d71dc __SCK__tp_func_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x5b31e0a3 l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0x5b323b54 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x5b3546ca transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5b41a128 fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x5b430b18 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x5b43634c inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0x5b571aad ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x5b6157f4 spi_mem_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x5b629b01 alarmtimer_get_rtcdev +EXPORT_SYMBOL_GPL vmlinux 0x5b670427 pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x5b692883 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x5b6b0329 swiotlb_max_segment +EXPORT_SYMBOL_GPL vmlinux 0x5b7114d4 ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x5b7341bd wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x5b8cb816 relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0x5b93283d of_icc_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x5b94c86f ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0x5b9c9a6b scsi_alloc_request +EXPORT_SYMBOL_GPL vmlinux 0x5b9e5b5f switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x5b9f6b30 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x5ba681f2 led_trigger_read +EXPORT_SYMBOL_GPL vmlinux 0x5ba9c87f blk_crypto_keyslot_index +EXPORT_SYMBOL_GPL vmlinux 0x5baa624a __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x5bbdfa26 scatterwalk_ffwd +EXPORT_SYMBOL_GPL vmlinux 0x5bc950fe regulator_irq_helper_cancel +EXPORT_SYMBOL_GPL vmlinux 0x5bcc0df7 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5bd0748f crypto_del_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x5bdae35b usb_phy_roothub_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x5bdbac4e rcu_unexpedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x5bef9d37 validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0x5c070f62 cper_mem_err_status_str +EXPORT_SYMBOL_GPL vmlinux 0x5c0c165e __SCT__tp_func_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x5c0eaf31 acpi_dev_resource_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x5c1f46a2 irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x5c1f7946 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x5c2f1546 devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0x5c309e65 hibernate_quiet_exec +EXPORT_SYMBOL_GPL vmlinux 0x5c5875c8 gov_attr_set_init +EXPORT_SYMBOL_GPL vmlinux 0x5c5a1b16 tick_broadcast_control +EXPORT_SYMBOL_GPL vmlinux 0x5c6b52f4 scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x5c6de681 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x5c81fb97 bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0x5c95dc6f iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0x5c960746 __traceiter_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x5ca10578 __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x5cab9945 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x5cad8fc3 power_supply_ocv2cap_simple +EXPORT_SYMBOL_GPL vmlinux 0x5cb0a1c7 pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0x5cb9e8ef __SCK__tp_func_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x5ccad799 bio_blkcg_css +EXPORT_SYMBOL_GPL vmlinux 0x5cd17fc6 ata_sas_tport_add +EXPORT_SYMBOL_GPL vmlinux 0x5cd97f4d gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x5cede0a7 xdp_flush_frame_bulk +EXPORT_SYMBOL_GPL vmlinux 0x5d058b7d __traceiter_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x5d05aed2 __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0x5d080d50 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x5d17148b apei_write +EXPORT_SYMBOL_GPL vmlinux 0x5d25e79e ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x5d2aa5fb rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0x5d2bc42a reset_control_rearm +EXPORT_SYMBOL_GPL vmlinux 0x5d3508f1 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x5d4063b7 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x5d454f51 misc_cg_uncharge +EXPORT_SYMBOL_GPL vmlinux 0x5d473748 serial8250_rpm_put_tx +EXPORT_SYMBOL_GPL vmlinux 0x5d483f04 dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x5d4a0a6c dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x5d4dd102 thermal_zone_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d6be4d7 i2c_acpi_find_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x5d759f93 create_signature +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d872325 yield_to +EXPORT_SYMBOL_GPL vmlinux 0x5d9317d7 uv_teardown_irq +EXPORT_SYMBOL_GPL vmlinux 0x5d99cac4 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x5da2d0e2 __traceiter_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5dbcfa4f boot_cpu_physical_apicid +EXPORT_SYMBOL_GPL vmlinux 0x5de88353 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x5dedc7c2 lp8788_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x5dfc2ef6 screen_pos +EXPORT_SYMBOL_GPL vmlinux 0x5e0c90cb devm_mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5e173309 cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x5e17e1cb dma_get_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x5e27ba33 compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0x5e38503e fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x5e41eb74 fuse_conn_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e68e530 sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x5e6a2421 __efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x5e6e3ce2 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x5e7065a8 regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x5e74f2f3 devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x5e798ffb divider_get_val +EXPORT_SYMBOL_GPL vmlinux 0x5e7da0b8 synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5e85cab9 regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x5eae5408 clk_is_enabled_when_prepared +EXPORT_SYMBOL_GPL vmlinux 0x5eb43af3 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x5ec3a5c4 devm_usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x5ed19d40 __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0x5ee2aa12 list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0x5ee4171d acpi_dev_add_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x5f05afd6 pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0x5f07c50b dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x5f14fe3f find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x5f1ae27b iocb_bio_iopoll +EXPORT_SYMBOL_GPL vmlinux 0x5f1f8735 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x5f23e3fa insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x5f23e9db rio_del_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x5f2da8c4 check_tsc_unstable +EXPORT_SYMBOL_GPL vmlinux 0x5f2fcc83 ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0x5f45436a clean_record_shared_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x5f540cd3 __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x5f5ff369 switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x5f69434c tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x5f6dcad3 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f80611b trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x5f8bc4d7 irq_chip_retrigger_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x5f8d3f24 devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x5fa17bd0 sampling_rate_store +EXPORT_SYMBOL_GPL vmlinux 0x5fa625ed mpi_ec_mul_point +EXPORT_SYMBOL_GPL vmlinux 0x5fbb5e92 __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x5fbe00fd usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x5fc5e598 pm_runtime_suspended_time +EXPORT_SYMBOL_GPL vmlinux 0x5fc7bf18 devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0x5fd09221 kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0x5fde63c7 __xenbus_register_backend +EXPORT_SYMBOL_GPL vmlinux 0x5fdf7b32 smca_get_bank_type +EXPORT_SYMBOL_GPL vmlinux 0x5fdfa2c1 amd_pmu_enable_virt +EXPORT_SYMBOL_GPL vmlinux 0x5ff54fd9 extcon_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6006ab3b crypto_alloc_tfm_node +EXPORT_SYMBOL_GPL vmlinux 0x60091316 clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x6014459b dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0x603d0d51 acpi_os_map_iomem +EXPORT_SYMBOL_GPL vmlinux 0x60409924 __SCK__tp_func_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x6045c9b3 da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x604722fd devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x605661b1 __SCK__tp_func_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x606b4aba devlink_linecard_provision_set +EXPORT_SYMBOL_GPL vmlinux 0x606fd75b __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x6070fd0a rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x60766f99 serial8250_rpm_get_tx +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x608d25d6 __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0x608e457f irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x609b79d5 fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x60a0cd34 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a634c4 vfio_info_cap_add +EXPORT_SYMBOL_GPL vmlinux 0x60a7c2bb pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0x60ae0922 power_supply_vbat2ri +EXPORT_SYMBOL_GPL vmlinux 0x60c7a822 __devm_clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x60ceb9bd ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x60f30ee1 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x60f99e1b cppc_set_perf +EXPORT_SYMBOL_GPL vmlinux 0x60fdb226 device_add +EXPORT_SYMBOL_GPL vmlinux 0x610a20a1 pci_find_dvsec_capability +EXPORT_SYMBOL_GPL vmlinux 0x610b2a39 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0x6116403c dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0x611cfa85 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x61232481 bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0x61260bf7 switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x612b62a2 dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x61429530 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x614a27ff tps65912_device_init +EXPORT_SYMBOL_GPL vmlinux 0x61509772 __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x615d3447 kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x6169ae9f bpf_trace_run3 +EXPORT_SYMBOL_GPL vmlinux 0x6175fd1c gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0x6179354c __traceiter_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x6181e79f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0x6186f8d1 pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0x61901594 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6195242a skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0x6198dfea __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6199ad5d crypto_has_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x619d2eca acpi_gpio_get_irq_resource +EXPORT_SYMBOL_GPL vmlinux 0x61a382f8 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL vmlinux 0x61adbe1c __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x61b443f8 x86_spec_ctrl_current +EXPORT_SYMBOL_GPL vmlinux 0x61c743b0 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x61d2b8e1 xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0x61d6a754 tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0x61dfc5ba devm_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x61ecb772 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x61f3b747 netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0x61f4f358 thermal_zone_device_disable +EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x61f696d6 devm_regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x62055839 rio_lock_device +EXPORT_SYMBOL_GPL vmlinux 0x622ae5fe irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x622c7922 register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x62377a7b blk_io_schedule +EXPORT_SYMBOL_GPL vmlinux 0x6246a629 synchronize_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x6257b042 devm_memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0x6257dda7 clk_rate_exclusive_get +EXPORT_SYMBOL_GPL vmlinux 0x6259d291 clk_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x62601a48 tps65912_device_exit +EXPORT_SYMBOL_GPL vmlinux 0x626a223e intel_pinctrl_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x62899450 dev_pm_enable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x6292a6c5 pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0x62a42688 pinctrl_force_sleep +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62bcda8e usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x62d0482d sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x62d31645 lwtunnel_output +EXPORT_SYMBOL_GPL vmlinux 0x62dfe465 irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x62e11f01 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x62f8f5e5 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x63026490 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x6307f43e xhci_check_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0x630d9ea1 bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0x63150e06 clk_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x63197685 s2idle_wake +EXPORT_SYMBOL_GPL vmlinux 0x63226f81 net_selftest +EXPORT_SYMBOL_GPL vmlinux 0x632be0ef adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x633222d8 nvmem_device_find +EXPORT_SYMBOL_GPL vmlinux 0x6337a085 device_match_name +EXPORT_SYMBOL_GPL vmlinux 0x633e0128 __traceiter_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x6340434e x86_model +EXPORT_SYMBOL_GPL vmlinux 0x6352bc2f clk_hw_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x63710396 devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0x63717a48 xfer_to_guest_mode_handle_work +EXPORT_SYMBOL_GPL vmlinux 0x6371d79b alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0x637624e1 devm_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x637af990 pcie_port_find_device +EXPORT_SYMBOL_GPL vmlinux 0x637fa335 xenbus_read_otherend_details +EXPORT_SYMBOL_GPL vmlinux 0x6381c770 vmf_insert_pfn_pud_prot +EXPORT_SYMBOL_GPL vmlinux 0x638a9653 memory_add_physaddr_to_nid +EXPORT_SYMBOL_GPL vmlinux 0x638aff11 proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x638dbeb7 __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x6396d412 pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0x639c11aa blk_crypto_register +EXPORT_SYMBOL_GPL vmlinux 0x63a984aa devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x63aa2bb0 ethnl_cable_test_step +EXPORT_SYMBOL_GPL vmlinux 0x63af65b0 __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x63b3c73f i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x63c08029 clk_bulk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x63c13aed nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0x63ca47f2 usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x63db4bb7 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0x63df8215 dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0x63e543ca phy_10gbit_fec_features +EXPORT_SYMBOL_GPL vmlinux 0x63ea80b3 cper_mem_err_type_str +EXPORT_SYMBOL_GPL vmlinux 0x63f78e87 spi_mem_dirmap_write +EXPORT_SYMBOL_GPL vmlinux 0x63ff3673 hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x641f77b3 iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x64218ad5 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x642e9389 balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x642ef593 nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0x643b742d led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x645620c0 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6469fa63 crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0x647a53a9 pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0x648ad2a0 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x648dfc82 list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0x649aedcc iomap_read_folio +EXPORT_SYMBOL_GPL vmlinux 0x64a31445 mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0x64a62e11 acpi_processor_ffh_cstate_enter +EXPORT_SYMBOL_GPL vmlinux 0x64a93040 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x64b3087b ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0x64b8f931 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x64ec11ba vfio_pci_core_disable +EXPORT_SYMBOL_GPL vmlinux 0x64f36620 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x6502d9c2 xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x6516cced get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x651d10e5 ktime_get_tai_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6527a231 dbgp_external_startup +EXPORT_SYMBOL_GPL vmlinux 0x652dcb64 nvdimm_flush +EXPORT_SYMBOL_GPL vmlinux 0x6531a37f mpi_add +EXPORT_SYMBOL_GPL vmlinux 0x6547a550 ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x65563441 xhci_dbg_trace +EXPORT_SYMBOL_GPL vmlinux 0x65600d70 iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0x656ed864 gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x65704d22 hv_stimer_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x657f3b22 trace_array_init_printk +EXPORT_SYMBOL_GPL vmlinux 0x6583d4c8 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x65930ac6 fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0x65a8d81a __clk_hw_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x65acf90c sbitmap_weight +EXPORT_SYMBOL_GPL vmlinux 0x65b63cc7 iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0x65bf9df9 pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x65ca2b7f fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x65cb81df serial8250_read_char +EXPORT_SYMBOL_GPL vmlinux 0x65cc7ad0 gpiochip_irq_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d8e249 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x65de1186 serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0x65efdede bpf_trace_run10 +EXPORT_SYMBOL_GPL vmlinux 0x66022233 iomap_invalidate_folio +EXPORT_SYMBOL_GPL vmlinux 0x660afaa3 pci_dev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x660b4695 __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x660eb6bd devlink_free +EXPORT_SYMBOL_GPL vmlinux 0x660f08d6 nvdimm_security_setup_events +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x66187a05 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x6628b6b6 ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x66367609 fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x663725c2 badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x663d41b9 extcon_register_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x664879ba dm_copy_name_and_uuid +EXPORT_SYMBOL_GPL vmlinux 0x66572c3b __SCK__tp_func_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x665e92a0 clk_set_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x666a6c4c udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66849e52 vp_modern_map_vq_notify +EXPORT_SYMBOL_GPL vmlinux 0x66a9b207 nfs_ssc_register +EXPORT_SYMBOL_GPL vmlinux 0x66af9c79 strp_init +EXPORT_SYMBOL_GPL vmlinux 0x66b26b2b clk_hw_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0x66b467be platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66ccd522 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0x66d670b3 blk_crypto_update_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66e38f89 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x66fa2b8f devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x67057bb2 rdev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x6722b7ab regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x67244aaa acct_bioset_exit +EXPORT_SYMBOL_GPL vmlinux 0x672b96b2 fwnode_graph_get_remote_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x67384475 simple_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0x6739a503 balloon_set_new_target +EXPORT_SYMBOL_GPL vmlinux 0x67448b82 iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0x674fb95a vfio_file_iommu_group +EXPORT_SYMBOL_GPL vmlinux 0x67564ec0 __regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x6759bd00 __SCT__tp_func_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x676163bb nexthop_select_path +EXPORT_SYMBOL_GPL vmlinux 0x677112b6 __SCK__tp_func_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x677ba9f3 regmap_raw_write_async +EXPORT_SYMBOL_GPL vmlinux 0x677ff88c xas_store +EXPORT_SYMBOL_GPL vmlinux 0x6787e098 dma_resv_test_signaled +EXPORT_SYMBOL_GPL vmlinux 0x678a561b devm_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x6790ebd3 mce_is_memory_error +EXPORT_SYMBOL_GPL vmlinux 0x6791faea attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x6795814f sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0x679746d0 cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0x679936e4 list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0x679b6f05 ohci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x67a6210a dev_pm_genpd_set_next_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x67b6cdaa icc_node_add +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x67dcd76b uv_setup_irq +EXPORT_SYMBOL_GPL vmlinux 0x67ebb58f pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x67eebdc8 fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0x67f05acf pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0x67f58f8b __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x67f89a78 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x6809449a regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x6825cb2b node_to_amd_nb +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x68460527 blkcg_set_fc_appid +EXPORT_SYMBOL_GPL vmlinux 0x685752b7 clk_hw_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x686197d7 devm_mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x68630ef9 __traceiter_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x686a7c70 dev_pm_opp_remove_all_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x687513cb fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0x6875a057 md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x687a7452 fscrypt_set_bio_crypt_ctx_bh +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x6895f24f tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0x68a2ff51 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x68b5f720 fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x68ba6623 smp_ops +EXPORT_SYMBOL_GPL vmlinux 0x68c3add4 led_set_brightness_sync +EXPORT_SYMBOL_GPL vmlinux 0x68cd4ec4 crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x68d9cc67 __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x68dc9a86 __devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x690207f7 tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0x6906c186 xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x6909b136 is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0x690b89ef __tracepoint_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x690e58ed extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL vmlinux 0x6918a646 acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x691a1563 power_supply_get_property_from_supplier +EXPORT_SYMBOL_GPL vmlinux 0x6929218a debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x692bbb81 crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x692ca63e netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x69308a98 virtio_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x6941459f ethtool_set_ethtool_phy_ops +EXPORT_SYMBOL_GPL vmlinux 0x696340a5 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x69637b2c __traceiter_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x696d7e0b l1tf_mitigation +EXPORT_SYMBOL_GPL vmlinux 0x6979c616 iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x697c5d50 fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x698d79e4 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x699ae2c5 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x69aee1a9 perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0x69b97c21 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69d4f3a6 gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0x69dabbb4 irqd_cfg +EXPORT_SYMBOL_GPL vmlinux 0x69db445f pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x69dbc43e clk_register_composite +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x69e83605 mc146818_get_time +EXPORT_SYMBOL_GPL vmlinux 0x69ee2220 linear_range_get_selector_high +EXPORT_SYMBOL_GPL vmlinux 0x6a05b65b fb_videomode_from_videomode +EXPORT_SYMBOL_GPL vmlinux 0x6a099080 blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x6a117156 __traceiter_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x6a14d3af unregister_random_vmfork_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6a1d0a1a fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0x6a2eacc9 evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0x6a36ff74 __traceiter_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x6a421062 memory_failure_queue +EXPORT_SYMBOL_GPL vmlinux 0x6a460dc5 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0x6a4f0294 syscon_regmap_lookup_by_phandle_optional +EXPORT_SYMBOL_GPL vmlinux 0x6a4f623b mmu_notifier_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x6a520d29 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x6a5264be ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x6a535447 driver_deferred_probe_check_state +EXPORT_SYMBOL_GPL vmlinux 0x6a53782b __SCK__tp_func_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x6a5430df device_link_add +EXPORT_SYMBOL_GPL vmlinux 0x6a7b442f clk_hw_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x6a7caed4 skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a8b7d12 device_set_node +EXPORT_SYMBOL_GPL vmlinux 0x6a9bca12 generic_access_phys +EXPORT_SYMBOL_GPL vmlinux 0x6a9eab59 tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0x6aa2a877 xenbus_printf +EXPORT_SYMBOL_GPL vmlinux 0x6aa56b28 devm_hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x6aaaf816 acpi_fetch_acpi_dev +EXPORT_SYMBOL_GPL vmlinux 0x6aab9354 __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x6aad9152 xen_set_callback_via +EXPORT_SYMBOL_GPL vmlinux 0x6ab166d5 devl_rate_leaf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6acbdc25 serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0x6b0dc565 xen_set_irq_priority +EXPORT_SYMBOL_GPL vmlinux 0x6b0eaa18 hv_ghcb_msr_read +EXPORT_SYMBOL_GPL vmlinux 0x6b198c77 led_colors +EXPORT_SYMBOL_GPL vmlinux 0x6b2b69f7 static_key_enable +EXPORT_SYMBOL_GPL vmlinux 0x6b35a16b intel_scu_ipc_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x6b36e07d devlink_linecard_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6b3ae022 acpi_os_unmap_iomem +EXPORT_SYMBOL_GPL vmlinux 0x6b3dc2a6 regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x6b413c9b sfp_link_down +EXPORT_SYMBOL_GPL vmlinux 0x6b538aa9 pm_genpd_init +EXPORT_SYMBOL_GPL vmlinux 0x6b53dab6 devlink_net +EXPORT_SYMBOL_GPL vmlinux 0x6b5b6256 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x6b6f2f54 rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0x6b7a4335 hyperv_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x6b801df0 __mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x6b8154ba unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x6b81c38b power_supply_unreg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6b902018 iommu_enable_nesting +EXPORT_SYMBOL_GPL vmlinux 0x6b90f6b0 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x6b9551f0 devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x6ba36c6a hwpoison_filter_flags_value +EXPORT_SYMBOL_GPL vmlinux 0x6ba839fe blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0x6baa828e devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x6bb4cd3d dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x6bbd8324 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x6bccd9b8 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x6bcdedc0 mpi_point_init +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6bdef35c acpi_ec_mark_gpe_for_wake +EXPORT_SYMBOL_GPL vmlinux 0x6be3a96b hv_remove_vmbus_handler +EXPORT_SYMBOL_GPL vmlinux 0x6bfd6ca1 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x6c1b86f2 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x6c205008 mpi_print +EXPORT_SYMBOL_GPL vmlinux 0x6c25ae97 pwm_free +EXPORT_SYMBOL_GPL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6c48272b irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0x6c4b6684 reset_control_assert +EXPORT_SYMBOL_GPL vmlinux 0x6c5888e9 fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0x6c5ad0cd kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x6c655913 register_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6c7b435f mc146818_does_rtc_work +EXPORT_SYMBOL_GPL vmlinux 0x6c83e19b io_uring_cmd_complete_in_task +EXPORT_SYMBOL_GPL vmlinux 0x6c8a3833 pci_epc_map_msi_irq +EXPORT_SYMBOL_GPL vmlinux 0x6c8a46b5 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x6c8ebe09 mmc_sanitize +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6cb8faee inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x6cb95aca crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0x6cba2900 l3mdev_ifindex_lookup_by_table_id +EXPORT_SYMBOL_GPL vmlinux 0x6cc3c004 bus_register +EXPORT_SYMBOL_GPL vmlinux 0x6cca28e2 tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0x6cde452a lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0x6ce6d791 irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0x6ceb4088 component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0x6cf076ca mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6cfabcdc sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0x6cfb5d28 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0x6d04891d inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x6d09843f copy_bpf_fprog_from_user +EXPORT_SYMBOL_GPL vmlinux 0x6d0ae550 pinctrl_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6d155f91 regcache_drop_region +EXPORT_SYMBOL_GPL vmlinux 0x6d2e899d mce_usable_address +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d3520a0 kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0x6d367be5 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x6d538627 power_supply_external_power_changed +EXPORT_SYMBOL_GPL vmlinux 0x6d56a2cd wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x6d597ca8 devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0x6d5d7e82 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x6d6bddf7 genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x6d6d74f2 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d702bb8 blk_crypto_has_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x6d7832b7 __stack_depot_save +EXPORT_SYMBOL_GPL vmlinux 0x6d7d5d36 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d8d9e46 regmap_field_read +EXPORT_SYMBOL_GPL vmlinux 0x6d95ec7f crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x6d9e2b38 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x6da200e3 component_compare_dev +EXPORT_SYMBOL_GPL vmlinux 0x6db65c1a iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6dd28429 is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0x6dd5680d sprint_symbol_build_id +EXPORT_SYMBOL_GPL vmlinux 0x6ddb68fa vchan_tx_submit +EXPORT_SYMBOL_GPL vmlinux 0x6de08fea sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x6de3a4cc aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6e00fcfb modify_ftrace_direct +EXPORT_SYMBOL_GPL vmlinux 0x6e047f75 device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0x6e09cdd5 dev_pm_opp_free_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x6e1a9b3c xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0x6e22da93 sock_map_close +EXPORT_SYMBOL_GPL vmlinux 0x6e24d3e3 cpufreq_dbs_governor_exit +EXPORT_SYMBOL_GPL vmlinux 0x6e3347ec devlink_priv +EXPORT_SYMBOL_GPL vmlinux 0x6e353c26 mpi_rshift +EXPORT_SYMBOL_GPL vmlinux 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x6e4923a1 dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6e7cefcd wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x6e82dbe2 pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0x6e85b00b local_touch_nmi +EXPORT_SYMBOL_GPL vmlinux 0x6e8825f6 xenbus_dev_remove +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6ea4afec ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x6eb04f46 register_random_vmfork_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6eb36203 seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0x6eb6d446 gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ebe6e2e fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x6ec43121 tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0x6ec7ba60 rio_pw_enable +EXPORT_SYMBOL_GPL vmlinux 0x6ee466d6 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6eea64da fwnode_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x6ef0b8fc rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f294b3f __xdp_build_skb_from_frame +EXPORT_SYMBOL_GPL vmlinux 0x6f2dab40 pm_wakeup_dev_event +EXPORT_SYMBOL_GPL vmlinux 0x6f4551a7 fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0x6f5ffa95 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x6f6684bb alloc_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x6f6b52e9 __ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x6f6ba4b6 clocksource_verify_percpu +EXPORT_SYMBOL_GPL vmlinux 0x6f703ecd pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6f73eb23 vp_modern_remove +EXPORT_SYMBOL_GPL vmlinux 0x6f7e0a5e fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0x6f7e6040 irq_has_action +EXPORT_SYMBOL_GPL vmlinux 0x6f8aa9e4 synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0x6f935e35 ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6fc7bb3b fscrypt_limit_io_blocks +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6fd3f874 tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x6fd40609 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x6fdf5197 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6fe32a62 __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6ffce680 x86_cpu_has_min_microcode_rev +EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions +EXPORT_SYMBOL_GPL vmlinux 0x700d6ab3 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x702abb72 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x702cd996 irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0x702e97d6 power_supply_property_is_writeable +EXPORT_SYMBOL_GPL vmlinux 0x7042e384 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x70464f34 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x70478bdf crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0x704b7804 hte_push_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x70508f21 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x70576fee acpi_processor_ffh_cstate_probe +EXPORT_SYMBOL_GPL vmlinux 0x706aab6a vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0x706e3257 md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7070bd9d blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL vmlinux 0x707a3d1f pinctrl_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0x70999443 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x70aebf68 bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0x70c2bbd2 dev_pm_opp_unregister_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x70c2c7ea pids_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x70c52dc5 nf_skb_duplicated +EXPORT_SYMBOL_GPL vmlinux 0x70c6d827 mc146818_set_time +EXPORT_SYMBOL_GPL vmlinux 0x70ca463c md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70cfb05d ehci_adjust_port_wakeup_flags +EXPORT_SYMBOL_GPL vmlinux 0x70d515b3 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x70f6ef4a hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x70faaf6a dev_pm_opp_add +EXPORT_SYMBOL_GPL vmlinux 0x70fbae4d cppc_allow_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x71185e6a fscrypt_d_revalidate +EXPORT_SYMBOL_GPL vmlinux 0x711c4ff4 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0x7129a6f4 osc_sb_native_usb4_support_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x712ca328 synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0x713dd136 gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0x7150085d tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x7158d98e devm_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0x7159a68d sched_set_fifo +EXPORT_SYMBOL_GPL vmlinux 0x715a43ce priv_to_devlink +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x716ad66b of_hte_req_count +EXPORT_SYMBOL_GPL vmlinux 0x71701079 iptunnel_metadata_reply +EXPORT_SYMBOL_GPL vmlinux 0x71724493 mctrl_gpio_enable_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x7172735a acpi_subsys_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x7177af67 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x7181db30 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71877d58 __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x71884e76 iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0x7193fdb9 dev_pm_opp_find_level_exact +EXPORT_SYMBOL_GPL vmlinux 0x7195940a mctrl_gpio_disable_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x719e17ff clk_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71a502dd sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x71b15008 lwtunnel_valid_encap_type +EXPORT_SYMBOL_GPL vmlinux 0x71b6cf94 dst_cache_reset_now +EXPORT_SYMBOL_GPL vmlinux 0x71c059d8 __traceiter_map +EXPORT_SYMBOL_GPL vmlinux 0x71dfbc3a debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x71f6912f serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0x71f8bf92 vfio_register_emulated_iommu_dev +EXPORT_SYMBOL_GPL vmlinux 0x71f95506 devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0x71fa87cc tpm_tis_remove +EXPORT_SYMBOL_GPL vmlinux 0x72010bbd crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x721ff714 pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x722808f6 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x7237e950 pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x723ea67e usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x7262702b sfp_get_module_eeprom_by_page +EXPORT_SYMBOL_GPL vmlinux 0x7265f2b0 pci_vpd_check_csum +EXPORT_SYMBOL_GPL vmlinux 0x726dd96f inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x726f04ff fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x727c55dd dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x7283161b percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x7286b815 spi_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x72b16f0a dev_pm_opp_put +EXPORT_SYMBOL_GPL vmlinux 0x72c15383 restore_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x72c7e18e usb_phy_roothub_resume +EXPORT_SYMBOL_GPL vmlinux 0x72d0adea acpi_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0x72d267dc nvmem_del_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x72d7d134 __traceiter_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x72fcc923 bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x730ad8e2 iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0x731183b1 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x731dba7a xen_domain_type +EXPORT_SYMBOL_GPL vmlinux 0x7327a895 scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0x732852fe xenbus_transaction_end +EXPORT_SYMBOL_GPL vmlinux 0x73311254 auxiliary_device_init +EXPORT_SYMBOL_GPL vmlinux 0x733bc08f gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x733ec33e __SCT__tp_func_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x7348e0e6 devfreq_get_devfreq_by_node +EXPORT_SYMBOL_GPL vmlinux 0x734d533a ata_common_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0x7351fcb1 devlink_remote_reload_actions_performed +EXPORT_SYMBOL_GPL vmlinux 0x735917a7 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x735b38bf ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0x735b7dca fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0x7381287f trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0x738624e4 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x738fe32b amd_get_nodes_per_socket +EXPORT_SYMBOL_GPL vmlinux 0x7396643f extcon_set_property_capability +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73b0c9af power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x73b2f248 crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0x73c2554f __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x73c7709f cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73d12797 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x73e5ddaa cpufreq_freq_transition_begin +EXPORT_SYMBOL_GPL vmlinux 0x73e62a41 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x73f5f631 fscrypt_set_bio_crypt_ctx +EXPORT_SYMBOL_GPL vmlinux 0x7401bff0 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x7417d9ba pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x74197d7d rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x7428575c pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x742872b1 pinctrl_dev_get_devname +EXPORT_SYMBOL_GPL vmlinux 0x74356db2 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x74398626 sdio_retune_crc_enable +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x7441bb03 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x7444e1a3 gnttab_batch_copy +EXPORT_SYMBOL_GPL vmlinux 0x74457e56 apei_resources_fini +EXPORT_SYMBOL_GPL vmlinux 0x744f5eac devm_hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7452adff user_return_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x74639b3c fscrypt_mergeable_bio +EXPORT_SYMBOL_GPL vmlinux 0x746e25f1 nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x746ecdd0 br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0x748c3a9e umd_unload_blob +EXPORT_SYMBOL_GPL vmlinux 0x7494b8f1 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x74ac3590 ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x74b031a5 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x74b5ea68 lcm_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74c4952d dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0x74c7bffa stack_trace_snprint +EXPORT_SYMBOL_GPL vmlinux 0x74d36933 srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x74e73871 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x74edc206 netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0x74f14048 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x7504c398 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x75133f6e visitor128 +EXPORT_SYMBOL_GPL vmlinux 0x751ab68f kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x751f5281 l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7521afb6 leave_mm +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x752b0fa7 vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x752de70e __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0x75343ce3 bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0x753e116b regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x75458ece pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0x75461426 __traceiter_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0x755101c3 serial8250_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x75532b7c fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0x7555e23d dev_pm_opp_detach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x755bb617 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x757c1bbb housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0x75950e80 crypto_grab_kpp +EXPORT_SYMBOL_GPL vmlinux 0x759922d0 scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0x759a42ca tcf_dev_queue_xmit +EXPORT_SYMBOL_GPL vmlinux 0x759bfe36 btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0x75a03847 vfio_pci_core_read +EXPORT_SYMBOL_GPL vmlinux 0x75adb43c __traceiter_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x75b11da4 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x75b180da blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x75b466d9 dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x75bedec9 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x75c96e1e xenbus_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x75e18d09 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x75e57da2 unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x75eac5dd fbcon_modechange_possible +EXPORT_SYMBOL_GPL vmlinux 0x75fb5488 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x760c3610 gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x7610b2f3 dev_pm_opp_set_opp +EXPORT_SYMBOL_GPL vmlinux 0x762640ab __SCT__tp_func_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x7640e694 sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x764f292a dummy_con +EXPORT_SYMBOL_GPL vmlinux 0x764ffefa page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0x765f8830 __SCT__tp_func_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x7665a95b idr_remove +EXPORT_SYMBOL_GPL vmlinux 0x7681946c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x769cefb5 percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0x76a6d981 spi_controller_dma_map_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x76c9f3d0 net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0x76d2a009 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x76d680f6 acpi_dev_resource_memory +EXPORT_SYMBOL_GPL vmlinux 0x76d9b876 clk_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x76dc031e asm_exc_nmi_noist +EXPORT_SYMBOL_GPL vmlinux 0x76dd9a1e raw_v4_match +EXPORT_SYMBOL_GPL vmlinux 0x76e85b92 gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x76f54d6c __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0x76f9e955 devm_led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x77222306 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x772696d1 __devm_rtc_register_device +EXPORT_SYMBOL_GPL vmlinux 0x772b0f64 __wake_up_pollfree +EXPORT_SYMBOL_GPL vmlinux 0x772c2e06 gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0x772f974c i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL vmlinux 0x773f2713 clk_hw_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x77522cf6 sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x7757b51a clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7774b0a5 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0x778468d6 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x779c4786 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x77a766fb device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x77a9c660 spi_take_timestamp_post +EXPORT_SYMBOL_GPL vmlinux 0x77ae495d usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x77b639a3 pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0x77b844ce bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0x77c0f975 nvmem_add_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x77c8d22b dma_resv_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x77cc97fd gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x77ccdda9 rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x77d14405 usb_phy_set_charger_state +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x77ecf68d memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0x77f24400 perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x77f7bcba fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x78041b8f byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x78176ba1 devlink_param_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7824eeff perf_msr_probe +EXPORT_SYMBOL_GPL vmlinux 0x7825240e watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x7829277c platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x782adb74 hpet_rtc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x78312a48 acpi_dev_get_dma_resources +EXPORT_SYMBOL_GPL vmlinux 0x7834c019 phy_10gbit_full_features +EXPORT_SYMBOL_GPL vmlinux 0x7835596d devm_bitmap_zalloc +EXPORT_SYMBOL_GPL vmlinux 0x7837644e wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x784ebf85 dev_pm_opp_adjust_voltage +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x7861ac97 screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x788d68ac fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0x78929fda dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x7893bb17 md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x789ef9bf pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0x789f5ad7 set_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x78a102d0 pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x78a381e8 acpi_unbind_one +EXPORT_SYMBOL_GPL vmlinux 0x78b1e04a spi_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x78b80584 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x78bab66b irq_force_affinity +EXPORT_SYMBOL_GPL vmlinux 0x78c21554 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x78c66aaa handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0x78c85ef3 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x78cda2de vp_modern_probe +EXPORT_SYMBOL_GPL vmlinux 0x78d00890 __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0x78d1fc19 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x78d89621 virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0x78ddb76b dmi_match +EXPORT_SYMBOL_GPL vmlinux 0x78e4e84a debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x790be0b9 usb_bus_idr +EXPORT_SYMBOL_GPL vmlinux 0x7911d9fe kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x7915cee5 do_machine_check +EXPORT_SYMBOL_GPL vmlinux 0x791748c8 adxl_decode +EXPORT_SYMBOL_GPL vmlinux 0x79180da4 __iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x7918d817 memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x79470a2c TSS_authhmac +EXPORT_SYMBOL_GPL vmlinux 0x794b7271 orderly_reboot +EXPORT_SYMBOL_GPL vmlinux 0x7957db96 phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x797f2352 page_cache_sync_ra +EXPORT_SYMBOL_GPL vmlinux 0x79813015 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x798b7682 klist_prev +EXPORT_SYMBOL_GPL vmlinux 0x798f5487 alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0x7991fd8d crash_vmclear_loaded_vmcss +EXPORT_SYMBOL_GPL vmlinux 0x79b62e0b kthread_park +EXPORT_SYMBOL_GPL vmlinux 0x79bb17f9 dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x79bc842c usb_anchor_suspend_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x79bc93e2 wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x79c0fd09 fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x79d07b7a irq_domain_remove_sim +EXPORT_SYMBOL_GPL vmlinux 0x79d21841 sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0x79daf4de __SCT__tp_func_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79e59b40 pinctrl_utils_add_config +EXPORT_SYMBOL_GPL vmlinux 0x79e69460 intel_iommu_gfx_mapped +EXPORT_SYMBOL_GPL vmlinux 0x79f1aa44 find_iova +EXPORT_SYMBOL_GPL vmlinux 0x79f697e4 lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x79fabd05 register_btf_id_dtor_kfuncs +EXPORT_SYMBOL_GPL vmlinux 0x7a0ff403 md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0x7a2743ea md_run +EXPORT_SYMBOL_GPL vmlinux 0x7a5211b8 devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x7a55b2c1 devm_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x7a655f68 acpi_processor_claim_cst_control +EXPORT_SYMBOL_GPL vmlinux 0x7a73e605 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7a7a7997 perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7a9772ce debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x7a98f4b4 copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x7a9e4c23 software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x7aabda46 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7ad02a41 asn1_encode_tag +EXPORT_SYMBOL_GPL vmlinux 0x7ad1ded1 pinctrl_register_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7ad52088 pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x7ae1453e mmc_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0x7ae36e66 ip_route_output_key_hash +EXPORT_SYMBOL_GPL vmlinux 0x7af05310 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x7af66d46 edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x7afb37d4 dev_pm_opp_enable +EXPORT_SYMBOL_GPL vmlinux 0x7afcb7db __kprobe_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x7b0a4687 trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7b13b505 rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0x7b178afe unlock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7b226380 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x7b394f30 fs_dax_get_by_bdev +EXPORT_SYMBOL_GPL vmlinux 0x7b420f25 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x7b5452b8 acpi_unregister_gsi +EXPORT_SYMBOL_GPL vmlinux 0x7b5607fe i2c_dw_acpi_configure +EXPORT_SYMBOL_GPL vmlinux 0x7b5a3e48 ata_qc_get_active +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b5ba098 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x7b65350a xenbus_setup_ring +EXPORT_SYMBOL_GPL vmlinux 0x7b6a6311 devlink_rate_leaf_create +EXPORT_SYMBOL_GPL vmlinux 0x7b6d9360 unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x7b6f9536 acpi_register_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0x7b78028a device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x7b8910f4 kfence_sample_interval +EXPORT_SYMBOL_GPL vmlinux 0x7b90d1a9 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7bb045a7 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x7bbac1af pinctrl_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x7bd122a0 gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0x7be40949 ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x7c0c0479 skb_gso_validate_network_len +EXPORT_SYMBOL_GPL vmlinux 0x7c0e1edb scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0x7c11301b sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0x7c12680e register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x7c1a4c98 fixed_phy_register +EXPORT_SYMBOL_GPL vmlinux 0x7c20b6a0 load_direct_gdt +EXPORT_SYMBOL_GPL vmlinux 0x7c291e86 show_rcu_tasks_trace_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0x7c3d8a4b icc_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0x7c3edaa2 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x7c46c075 pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x7c56e775 synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0x7c5f3711 ioasid_unregister_allocator +EXPORT_SYMBOL_GPL vmlinux 0x7c815087 skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0x7c8a559b __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x7c8c9c8b usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x7c94dc74 i2c_dw_validate_speed +EXPORT_SYMBOL_GPL vmlinux 0x7c983a5d dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x7c9a7371 clk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7ca64a0b __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x7cab996a init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x7cabd27f blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL_GPL vmlinux 0x7cb4d0c4 hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x7cb803de btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x7cbaa0a7 sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7cc941a7 __traceiter_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x7cceaf92 zs_pool_stats +EXPORT_SYMBOL_GPL vmlinux 0x7cd4ef65 devm_hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7cd6f042 cpufreq_get_current_driver +EXPORT_SYMBOL_GPL vmlinux 0x7ce25b12 __SCK__tp_func_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7cf1355f pinctrl_add_gpio_ranges +EXPORT_SYMBOL_GPL vmlinux 0x7d00c65b nd_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x7d092b79 dev_pm_opp_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x7d0e1d95 hv_setup_crash_handler +EXPORT_SYMBOL_GPL vmlinux 0x7d112286 devm_clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x7d18a296 devm_led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x7d1bb1d4 tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0x7d357a4b cros_ec_command +EXPORT_SYMBOL_GPL vmlinux 0x7d3efd4e regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x7d584d47 extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d5aaacc task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0x7d6e60b9 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x7d9753d8 wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x7d9fa038 dev_pm_opp_set_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x7db1bc9e call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7de39e07 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7de65a03 acpi_lpat_free_conversion_table +EXPORT_SYMBOL_GPL vmlinux 0x7de6cc23 io_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7de8ddc4 mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x7defc870 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0x7df950da debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0x7e0416d4 vmf_insert_pfn_pmd_prot +EXPORT_SYMBOL_GPL vmlinux 0x7e0434f1 blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0x7e1368e8 devm_regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x7e1943bb acpi_subsys_freeze +EXPORT_SYMBOL_GPL vmlinux 0x7e2880b1 crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x7e3bdecd __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x7e3cdb13 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x7e5db80b pstore_name_to_type +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e6862ba devm_namespace_enable +EXPORT_SYMBOL_GPL vmlinux 0x7e6b5729 serial8250_rpm_get +EXPORT_SYMBOL_GPL vmlinux 0x7e727238 dev_pm_opp_get_level +EXPORT_SYMBOL_GPL vmlinux 0x7e7a47c9 pci_acpi_clear_companion_lookup_hook +EXPORT_SYMBOL_GPL vmlinux 0x7e7d4a52 serial8250_do_startup +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e8d6657 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x7e8d8619 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x7e8e69fb devm_register_restart_handler +EXPORT_SYMBOL_GPL vmlinux 0x7e943b45 devlink_port_attrs_pci_sf_set +EXPORT_SYMBOL_GPL vmlinux 0x7ea5c6d4 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x7ea75c24 __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0x7eb1c516 devm_hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7ebaa316 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x7ec7bfbe aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0x7ed301b6 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x7ed856ef fwnode_connection_find_matches +EXPORT_SYMBOL_GPL vmlinux 0x7eea6b8b pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0x7efb51b7 irq_gc_mask_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x7f00bdac devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0x7f09fd18 efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0x7f1af9ed sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x7f231f06 gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0x7f2cd562 bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0x7f5708ee fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0x7f6448e9 fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x7f6cee89 rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7f777921 __SCK__tp_func_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f84f35d rcu_gp_slow_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7f8f6e0e do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x7f9b1879 osc_cpc_flexible_adr_space_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x7f9c64cd __of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x7fa96509 erst_get_record_id_next +EXPORT_SYMBOL_GPL vmlinux 0x7fafdec9 clk_fixed_factor_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fb96067 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x7fd31673 __SCK__tp_func_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x7fd31992 devm_fwnode_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x7fd8c542 inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7ffd1254 pci_epf_type_add_cfs +EXPORT_SYMBOL_GPL vmlinux 0x80069562 devfreq_event_get_event +EXPORT_SYMBOL_GPL vmlinux 0x8014f0d2 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x8028fbd4 dev_pm_opp_find_bw_floor +EXPORT_SYMBOL_GPL vmlinux 0x802c79ae agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0x803ba982 page_cache_async_ra +EXPORT_SYMBOL_GPL vmlinux 0x803f3529 kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x807766ea usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x807fdcc4 call_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x8081cbe5 gpiochip_remove_pin_ranges +EXPORT_SYMBOL_GPL vmlinux 0x808a8088 handle_guest_split_lock +EXPORT_SYMBOL_GPL vmlinux 0x808c29fe dw_pcie_ep_raise_msi_irq +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x809136e1 __devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x8096f634 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x80a0e24d xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x80ae8eb2 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x80b45dd1 kpp_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x80c68137 nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80d621c1 wwan_unregister_ops +EXPORT_SYMBOL_GPL vmlinux 0x80da3326 rio_set_port_lockout +EXPORT_SYMBOL_GPL vmlinux 0x80de5cbc fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0x80efc9e9 virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0x80fb599b pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x810282bb subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x811dc334 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0x81221cad amd_nb_num +EXPORT_SYMBOL_GPL vmlinux 0x812aad03 netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0x813223e1 usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0x8133f294 devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0x813c6f7b usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x81431099 espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0x8153cdc5 dw8250_setup_port +EXPORT_SYMBOL_GPL vmlinux 0x815588a6 clk_enable +EXPORT_SYMBOL_GPL vmlinux 0x815fda83 sed_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x816a41ca cpufreq_update_limits +EXPORT_SYMBOL_GPL vmlinux 0x8173414d bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x81740a6c xfrm_unregister_translator +EXPORT_SYMBOL_GPL vmlinux 0x8180cede asn1_encode_sequence +EXPORT_SYMBOL_GPL vmlinux 0x8191e881 intel_pinctrl_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x819d72cb klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x81a7f541 percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0x81b03377 efivar_entry_set_safe +EXPORT_SYMBOL_GPL vmlinux 0x81b59047 dev_pm_opp_get_max_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0x81c7733e devm_rtc_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x81d10485 ioasid_free +EXPORT_SYMBOL_GPL vmlinux 0x81e2bdf4 generic_handle_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x81f372a2 unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x820444b4 phy_init +EXPORT_SYMBOL_GPL vmlinux 0x820704fe pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0x82092899 badrange_forget +EXPORT_SYMBOL_GPL vmlinux 0x820c181b input_device_enabled +EXPORT_SYMBOL_GPL vmlinux 0x820ebc7a pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x8218663f extcon_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x821ec7f1 clk_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x82226c53 pinctrl_unregister_mappings +EXPORT_SYMBOL_GPL vmlinux 0x822c1bc8 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x823eae06 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x8254541e shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0x82572ea5 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x826eaab1 mptcp_pm_get_add_addr_signal_max +EXPORT_SYMBOL_GPL vmlinux 0x827e61f8 acpi_has_watchdog +EXPORT_SYMBOL_GPL vmlinux 0x82858a50 crypto_register_scomps +EXPORT_SYMBOL_GPL vmlinux 0x828d021a finish_rcuwait +EXPORT_SYMBOL_GPL vmlinux 0x828e22f4 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x829eb153 sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0x82a42bff crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82e4de33 of_phy_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x82e5a149 fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x82e5bbdb usb_choose_configuration +EXPORT_SYMBOL_GPL vmlinux 0x82e73997 pci_find_vsec_capability +EXPORT_SYMBOL_GPL vmlinux 0x82ee464b __SCK__tp_func_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0x82f77478 syscon_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x82ff4b95 clk_hw_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x831f967b handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x8328673f uv_bios_get_master_nasid +EXPORT_SYMBOL_GPL vmlinux 0x832a2d99 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x83326975 fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0x8335ca43 __SCT__tp_func_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x8339df73 klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x834149fb eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x8349a895 nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x834ed358 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x8353dfff acpi_os_get_iomem +EXPORT_SYMBOL_GPL vmlinux 0x835d717d pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x836a5ece acpi_dev_remove_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x837b540f devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0x837c712c tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x83846f57 pci_msi_prepare +EXPORT_SYMBOL_GPL vmlinux 0x83a176d8 sdio_retune_crc_disable +EXPORT_SYMBOL_GPL vmlinux 0x83af9d48 crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x83b70d2c edac_device_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x83b99c93 fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x83c3708a clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0x83c9c40f __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x83d22e12 acpi_subsys_suspend +EXPORT_SYMBOL_GPL vmlinux 0x83e049ac devm_pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0x83ee7297 ata_ncq_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0x83f5358d sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x840e0124 udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x84106f36 devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x841ef8ae ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0x841faed6 percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x84204303 nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0x8425b610 netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0x8425b9c3 xas_split_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8425f733 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x84264ced fs_umode_to_ftype +EXPORT_SYMBOL_GPL vmlinux 0x842f046d usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x843a0622 dma_resv_describe +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x844031cf dev_pm_opp_get_required_pstate +EXPORT_SYMBOL_GPL vmlinux 0x844ff1ea nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0x84502a47 blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x8453699c pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x845dbf3b scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x8462cb62 atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0x8467b41e tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x846e0bcc perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x84728609 dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x847e556d tps6586x_get_version +EXPORT_SYMBOL_GPL vmlinux 0x847f0051 wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x848a435f wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0x84a152e3 phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL vmlinux 0x84b268cf sn_coherency_id +EXPORT_SYMBOL_GPL vmlinux 0x84b4c31d ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x84c35991 md_submit_discard_bio +EXPORT_SYMBOL_GPL vmlinux 0x84c777d0 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x84dc0216 devm_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x84ef27f5 synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x8506baa8 clk_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x850bb6db devlink_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x851b57ce split_page +EXPORT_SYMBOL_GPL vmlinux 0x851e6003 usb_phy_roothub_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x85254406 phy_pm_runtime_get_sync +EXPORT_SYMBOL_GPL vmlinux 0x85381cc7 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x85400e88 phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0x854160ec devm_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x85540ebc nvmem_cell_put +EXPORT_SYMBOL_GPL vmlinux 0x855b465d vfio_pci_core_sriov_configure +EXPORT_SYMBOL_GPL vmlinux 0x855fa0ed fpu_update_guest_xfd +EXPORT_SYMBOL_GPL vmlinux 0x856e7690 irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0x85788c24 iomap_release_folio +EXPORT_SYMBOL_GPL vmlinux 0x857bcf7c __tracepoint_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0x85862277 ioasid_find +EXPORT_SYMBOL_GPL vmlinux 0x858812f8 crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0x85935a61 acpi_dev_irq_flags +EXPORT_SYMBOL_GPL vmlinux 0x85b15444 arch_set_max_freq_ratio +EXPORT_SYMBOL_GPL vmlinux 0x85baa6a5 __tracepoint_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x85bd4fd5 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x85bfc5f9 __SCT__tp_func_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x85c54b61 efivar_validate +EXPORT_SYMBOL_GPL vmlinux 0x85cb2c45 xen_has_pv_devices +EXPORT_SYMBOL_GPL vmlinux 0x85d7edfd hpet_set_periodic_freq +EXPORT_SYMBOL_GPL vmlinux 0x85e3acc8 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x85ecd87d __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x85eed1be iopf_queue_discard_partial +EXPORT_SYMBOL_GPL vmlinux 0x85f0da73 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x86169f3e amd_smn_write +EXPORT_SYMBOL_GPL vmlinux 0x861a7a70 fscrypt_dummy_policies_equal +EXPORT_SYMBOL_GPL vmlinux 0x862258db timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x862bb17b linear_range_values_in_range_array +EXPORT_SYMBOL_GPL vmlinux 0x863af857 __regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x863b3af9 ptp_parse_header +EXPORT_SYMBOL_GPL vmlinux 0x86585a33 devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x865bd367 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x866a9163 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x86700220 acpi_get_cpuid +EXPORT_SYMBOL_GPL vmlinux 0x8677245d unregister_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8677f369 pvclock_get_pvti_cpu0_va +EXPORT_SYMBOL_GPL vmlinux 0x867d1e11 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x868c22bf devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x868f146c scsi_build_sense +EXPORT_SYMBOL_GPL vmlinux 0x8693a2ea blk_next_bio +EXPORT_SYMBOL_GPL vmlinux 0x86973fcc ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0x869d8d8b debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0x86a47952 phy_led_trigger_change_speed +EXPORT_SYMBOL_GPL vmlinux 0x86b13d2a usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x86b427ce clkdev_create +EXPORT_SYMBOL_GPL vmlinux 0x86c43a8c cper_estatus_check +EXPORT_SYMBOL_GPL vmlinux 0x86c97adb __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x86dda6ef rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0x86ded68d dev_pm_opp_is_turbo +EXPORT_SYMBOL_GPL vmlinux 0x86e5919a shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f85114 net_dec_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x86fc694d platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0x870ae2ce __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0x870e16b7 xen_test_irq_shared +EXPORT_SYMBOL_GPL vmlinux 0x871e449d device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x872d4f7c __SCT__tp_func_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x87343ede ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8735ed3d irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0x873b8325 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x87460e50 fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0x87576cd3 ehci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x875a03e3 i2c_acpi_find_adapter_by_handle +EXPORT_SYMBOL_GPL vmlinux 0x875cd894 pinctrl_pm_select_idle_state +EXPORT_SYMBOL_GPL vmlinux 0x875f051c tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0x876cffae fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0x878c8003 regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x878d2ee1 crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0x87908767 xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0x879c8520 register_fprobe_ips +EXPORT_SYMBOL_GPL vmlinux 0x87b1d50c edac_mc_add_mc_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x87be5f76 xhci_ext_cap_init +EXPORT_SYMBOL_GPL vmlinux 0x87bed7f2 blk_crypto_profile_init +EXPORT_SYMBOL_GPL vmlinux 0x87c96cf7 iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0x87cd35ec devm_of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x87d0f0b9 crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0x87db60f9 __traceiter_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x87e1b3dc __traceiter_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x87e64181 amd_nb_has_feature +EXPORT_SYMBOL_GPL vmlinux 0x87f34e99 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x88040e28 dev_pm_opp_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x880f60ac irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0x8812222d pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x882aaa50 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x88476f9f devl_lock +EXPORT_SYMBOL_GPL vmlinux 0x884b15d3 serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x885528a6 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x885a7c11 irq_domain_create_sim +EXPORT_SYMBOL_GPL vmlinux 0x885d76f9 nvdimm_volatile_region_create +EXPORT_SYMBOL_GPL vmlinux 0x8878f398 ehci_resume +EXPORT_SYMBOL_GPL vmlinux 0x888c5be5 irq_bypass_register_consumer +EXPORT_SYMBOL_GPL vmlinux 0x889d7985 efivar_entry_set_get_size +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b3af8a rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x88b4ae92 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x88cce6a0 xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0x88d45a66 device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x88da1e50 platform_set +EXPORT_SYMBOL_GPL vmlinux 0x88ed50ea platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x88ed6c7c ehci_reset +EXPORT_SYMBOL_GPL vmlinux 0x89041859 clk_gate_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x890f4f97 __kprobe_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x890fa0fa btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0x8913bed6 vfio_pci_core_request +EXPORT_SYMBOL_GPL vmlinux 0x891a5a7f gnttab_max_grant_frames +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x892f9f04 __SCT__tp_func_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x8930aea7 sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0x893abbdd devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x89485687 iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x894c73dc devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x8965b674 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x896fc393 thermal_cooling_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8971c7e8 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x899042c3 xenbus_probe_devices +EXPORT_SYMBOL_GPL vmlinux 0x89912760 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x89ae7aa0 rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x89b6cb91 usb_phy_get_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x89bbafc6 usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x89c415c1 pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0x89d3bee8 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x89df50c6 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x89e340cf acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x89fe7d9f device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x8a07ba64 dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x8a1f5cde led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x8a379247 power_supply_put_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x8a380120 __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8a3f84ba linear_range_get_selector_low +EXPORT_SYMBOL_GPL vmlinux 0x8a439a97 devres_get +EXPORT_SYMBOL_GPL vmlinux 0x8a45a555 acpi_unregister_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0x8a46cb6c mc146818_avoid_UIP +EXPORT_SYMBOL_GPL vmlinux 0x8a48cc82 regmap_mmio_attach_clk +EXPORT_SYMBOL_GPL vmlinux 0x8a62b81b sfp_upstream_stop +EXPORT_SYMBOL_GPL vmlinux 0x8a64bc2e uart_get_rs485_mode +EXPORT_SYMBOL_GPL vmlinux 0x8a72f7b1 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x8a7cb9c4 platform_thermal_package_rate_control +EXPORT_SYMBOL_GPL vmlinux 0x8a838ef6 intel_scu_ipc_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x8a83fb45 mpi_point_free_parts +EXPORT_SYMBOL_GPL vmlinux 0x8a9ae3a4 dev_pm_opp_find_freq_ceil_by_volt +EXPORT_SYMBOL_GPL vmlinux 0x8a9d6716 nvdimm_pmem_region_create +EXPORT_SYMBOL_GPL vmlinux 0x8aa0f3aa acpi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x8aa22883 tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0x8aa4d95c mbox_chan_received_data +EXPORT_SYMBOL_GPL vmlinux 0x8aa7bf82 pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8acff733 xdp_master_redirect +EXPORT_SYMBOL_GPL vmlinux 0x8ad28e5c crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8ad5ceb1 __uv_hub_info_list +EXPORT_SYMBOL_GPL vmlinux 0x8ad6ac3e tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x8ad7e229 vp_modern_config_vector +EXPORT_SYMBOL_GPL vmlinux 0x8ae3dabf irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0x8ae5d40c srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x8b08909a is_swiotlb_active +EXPORT_SYMBOL_GPL vmlinux 0x8b149c36 clk_is_match +EXPORT_SYMBOL_GPL vmlinux 0x8b24e1bd i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL vmlinux 0x8b289ac0 bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0x8b47ea1d __SCT__tp_func_extlog_mem_event +EXPORT_SYMBOL_GPL vmlinux 0x8b5abc15 devm_hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x8b5d4726 bpf_trace_run6 +EXPORT_SYMBOL_GPL vmlinux 0x8b5d81e9 regulator_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x8b65a152 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x8b8127e3 irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x8b89f01c hv_ghcb_hypercall +EXPORT_SYMBOL_GPL vmlinux 0x8b8cc689 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x8b8d2b15 da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x8b9200fd lookup_address +EXPORT_SYMBOL_GPL vmlinux 0x8b921914 tty_kopen_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x8b95e6a2 __SCT__tp_func_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x8bae53bf hsu_dma_probe +EXPORT_SYMBOL_GPL vmlinux 0x8bb57115 __SCK__tp_func_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x8bb84d9f hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x8bf6e14d ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0x8bf903cc bpfilter_umh_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x8c0215f2 pm_system_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c047a33 devlink_port_region_create +EXPORT_SYMBOL_GPL vmlinux 0x8c0782e1 __xenmem_reservation_va_mapping_reset +EXPORT_SYMBOL_GPL vmlinux 0x8c0ed103 rcu_check_boost_fail +EXPORT_SYMBOL_GPL vmlinux 0x8c14efba clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x8c225f87 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x8c33467e xfrm_put_translator +EXPORT_SYMBOL_GPL vmlinux 0x8c341c48 current_save_fsgs +EXPORT_SYMBOL_GPL vmlinux 0x8c484409 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x8c4fded2 sgx_virt_einit +EXPORT_SYMBOL_GPL vmlinux 0x8c5da1f1 add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0x8c5df9c2 pwm_apply_state +EXPORT_SYMBOL_GPL vmlinux 0x8c6204a9 to_nvdimm_bus +EXPORT_SYMBOL_GPL vmlinux 0x8c6be760 decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x8c6ce549 vfio_file_has_dev +EXPORT_SYMBOL_GPL vmlinux 0x8c743fb6 reset_control_status +EXPORT_SYMBOL_GPL vmlinux 0x8c7afd05 irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0x8c89e3b8 usb_phy_roothub_power_off +EXPORT_SYMBOL_GPL vmlinux 0x8c98d248 unregister_vmcore_cb +EXPORT_SYMBOL_GPL vmlinux 0x8c9dd834 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x8c9ed545 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x8cb43e19 l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0x8cd2608d bio_start_io_acct_time +EXPORT_SYMBOL_GPL vmlinux 0x8cf3f707 devm_regmap_add_irq_chip_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x8cf7280c device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8d10704d nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0x8d15281b sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d1bda02 rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0x8d2014b3 bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0x8d22bb58 iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d25e9f1 __devm_of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x8d3330b6 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x8d413f7b pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x8d4b2c63 vfio_virqfd_disable +EXPORT_SYMBOL_GPL vmlinux 0x8d522714 __rcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x8d5dc2d6 cpufreq_driver_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x8d7e3373 hwpoison_filter_dev_major +EXPORT_SYMBOL_GPL vmlinux 0x8d89ab44 cros_ec_get_sensor_count +EXPORT_SYMBOL_GPL vmlinux 0x8d908ebf power_supply_get_maintenance_charging_setting +EXPORT_SYMBOL_GPL vmlinux 0x8d90e486 xdp_return_frame_bulk +EXPORT_SYMBOL_GPL vmlinux 0x8d922725 rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x8d9c2a91 uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL vmlinux 0x8da8bbd4 trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x8dac6edc usb_urb_ep_type_check +EXPORT_SYMBOL_GPL vmlinux 0x8dafdded lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0x8dd09b71 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x8dd218b0 icc_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x8dd50e8f led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8de6817a acpi_dev_resource_address_space +EXPORT_SYMBOL_GPL vmlinux 0x8dede1d3 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x8df02145 pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0x8dfda639 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x8e13923d __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x8e37bb8a sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x8e3d911b arch_phys_wc_index +EXPORT_SYMBOL_GPL vmlinux 0x8e447538 spi_mem_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8e44823a sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x8e4eb451 bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x8e4ec23f devfreq_event_set_event +EXPORT_SYMBOL_GPL vmlinux 0x8e4f64b7 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x8e6b1a9e net_selftest_get_count +EXPORT_SYMBOL_GPL vmlinux 0x8e6fa8b5 apei_exec_pre_map_gars +EXPORT_SYMBOL_GPL vmlinux 0x8e7377a2 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x8e7dff81 dma_alloc_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x8e7f2928 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x8e82d0ad srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0x8e92f7c4 static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x8e935bd5 xhci_gen_setup +EXPORT_SYMBOL_GPL vmlinux 0x8e9fc276 gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x8eaafc46 extcon_set_state +EXPORT_SYMBOL_GPL vmlinux 0x8ead800c user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0x8eb66d15 devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x8ec1514a device_add_software_node +EXPORT_SYMBOL_GPL vmlinux 0x8ec927c1 msi_first_desc +EXPORT_SYMBOL_GPL vmlinux 0x8ed1d080 ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0x8ed8d52a devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x8ee316c9 phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x8eec3c11 regulator_get_linear_step +EXPORT_SYMBOL_GPL vmlinux 0x8eece959 rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x8eee3399 dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8ef6260c __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x8ef66e05 virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x8efebd78 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x8f0748af rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x8f0b781d iova_domain_init_rcaches +EXPORT_SYMBOL_GPL vmlinux 0x8f2eb429 kvm_arch_para_hints +EXPORT_SYMBOL_GPL vmlinux 0x8f32124b clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0x8f5a7466 regulator_bulk_set_supply_names +EXPORT_SYMBOL_GPL vmlinux 0x8f637713 power_supply_charge_behaviour_show +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f786bee fs_umode_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x8f7bd0a6 btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0x8f8854b2 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x8f8ff554 pci_iomap_wc_range +EXPORT_SYMBOL_GPL vmlinux 0x8f98ef0f pm_clk_resume +EXPORT_SYMBOL_GPL vmlinux 0x8f9cdf2e serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x8fa878d1 pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x8fa9d9e8 __SCT__tp_func_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x8faa800d acpi_cpc_valid +EXPORT_SYMBOL_GPL vmlinux 0x8fae7491 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x8fc12788 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x8fc8e7a9 rdev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x8fd0c80a sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x8fd4dec2 reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x8fe1e519 led_set_brightness +EXPORT_SYMBOL_GPL vmlinux 0x8fe60ab6 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x8fe97b72 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x8fedfe68 kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x8ff4a682 dev_fetch_sw_netstats +EXPORT_SYMBOL_GPL vmlinux 0x8ff60436 mpi_ec_add_points +EXPORT_SYMBOL_GPL vmlinux 0x8ff7ea2f devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0x8ffb1df7 acpi_get_psd_map +EXPORT_SYMBOL_GPL vmlinux 0x900361d3 rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x901e0869 sysfs_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x9024f443 mds_user_clear +EXPORT_SYMBOL_GPL vmlinux 0x903b627c list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x903be599 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x904400e3 da9055_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x90477827 __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x90687735 ata_dev_set_feature +EXPORT_SYMBOL_GPL vmlinux 0x90688bcd devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x90717699 fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0x907203ac ata_port_classify +EXPORT_SYMBOL_GPL vmlinux 0x907f0386 phy_restore_page +EXPORT_SYMBOL_GPL vmlinux 0x908295ad dev_pm_opp_find_level_ceil +EXPORT_SYMBOL_GPL vmlinux 0x9084b044 clear_page_erms +EXPORT_SYMBOL_GPL vmlinux 0x90868193 __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x9086a75b blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x90891db9 sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0x90a9d8cc hv_is_hyperv_initialized +EXPORT_SYMBOL_GPL vmlinux 0x90ad66b1 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0x90b3a707 sch_frag_xmit_hook +EXPORT_SYMBOL_GPL vmlinux 0x90bc4826 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x90c8498c apei_exec_write_register +EXPORT_SYMBOL_GPL vmlinux 0x90de0452 platform_thermal_package_notify +EXPORT_SYMBOL_GPL vmlinux 0x90de72a9 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x90de7a17 fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x90e2ff42 devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x90e5e499 cpufreq_dbs_governor_stop +EXPORT_SYMBOL_GPL vmlinux 0x90ee1371 serial8250_do_get_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x9100cfc6 badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0x9107d224 __SCT__tp_func_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x910bdf6b trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x91235d04 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x912cf83e regulator_get_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9131ca33 nvdimm_setup_pfn +EXPORT_SYMBOL_GPL vmlinux 0x913d6d43 acpi_dma_configure_id +EXPORT_SYMBOL_GPL vmlinux 0x913ebd32 stack_depot_save +EXPORT_SYMBOL_GPL vmlinux 0x913ff8c9 thermal_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x914381ab platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x915c99ca crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x915cdef7 tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0x915df531 i2c_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x91713f85 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x91720ff3 get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0x917d953b __SCT__tp_func_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x9185f442 i2c_parse_fw_timings +EXPORT_SYMBOL_GPL vmlinux 0x9194e18f xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x91955a9f start_poll_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x919a9927 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x919ff632 genphy_c45_pma_baset1_setup_master_slave +EXPORT_SYMBOL_GPL vmlinux 0x91a84c6d pm_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x91b369ef tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0x91b774a1 mpi_scanval +EXPORT_SYMBOL_GPL vmlinux 0x91b9a4ba e820__mapped_any +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91c8a691 mptcp_subflow_init_cookie_req +EXPORT_SYMBOL_GPL vmlinux 0x91c9313c acpi_gpio_get_io_resource +EXPORT_SYMBOL_GPL vmlinux 0x91cee209 platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0x91e8552a __traceiter_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x91ea8726 asn1_encode_boolean +EXPORT_SYMBOL_GPL vmlinux 0x920cc389 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x92141343 kvm_async_pf_task_wake +EXPORT_SYMBOL_GPL vmlinux 0x9216d6c7 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x92186691 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x9219ff79 dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0x92212d22 __class_register +EXPORT_SYMBOL_GPL vmlinux 0x92274fe6 acpi_unregister_lps0_dev +EXPORT_SYMBOL_GPL vmlinux 0x923e42aa sysfb_disable +EXPORT_SYMBOL_GPL vmlinux 0x9241b358 __static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x92440258 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x924c46f8 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x924deb24 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x9255a4bf tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x92661301 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x92746924 tty_get_icount +EXPORT_SYMBOL_GPL vmlinux 0x928aa5f6 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x928d1a04 netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0x92978f91 usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x92a3e678 tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x92b34baa __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x92b8c78b hyperv_pcpu_output_arg +EXPORT_SYMBOL_GPL vmlinux 0x92d1f783 dma_get_any_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92db8f68 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x92e8e9ab fsverity_enqueue_verify_work +EXPORT_SYMBOL_GPL vmlinux 0x9313d394 dma_resv_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x9314f038 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x9316e318 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x9324ddbe mbox_flush +EXPORT_SYMBOL_GPL vmlinux 0x93255b2b ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x932c8d7a linear_range_get_value_array +EXPORT_SYMBOL_GPL vmlinux 0x933f75e0 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x93477d33 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x93557c16 sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0x9363d44a sdio_retune_hold_now +EXPORT_SYMBOL_GPL vmlinux 0x936e554b devfreq_event_get_edev_count +EXPORT_SYMBOL_GPL vmlinux 0x936ee24b bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0x93731687 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x93752388 iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x9376e656 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x937bc67a uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x937d2aed rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x9382dd0a pm_clk_remove +EXPORT_SYMBOL_GPL vmlinux 0x93a48606 serdev_device_get_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x93a52213 phy_led_triggers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x93b6dc43 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x93bbdf9d gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0x93c7edeb usb_find_common_endpoints +EXPORT_SYMBOL_GPL vmlinux 0x93c9929d devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0x93cddcc9 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x93d1d424 gnttab_free_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x93d31efc tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0x93dc2586 pgprot_writethrough +EXPORT_SYMBOL_GPL vmlinux 0x93edef07 devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x941a3d4f clk_hw_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x941e3afc led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x9422522e regulator_is_equal +EXPORT_SYMBOL_GPL vmlinux 0x9424058f arch_haltpoll_disable +EXPORT_SYMBOL_GPL vmlinux 0x9425bb34 nvmem_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x942b8917 dev_pm_qos_hide_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x9430b198 trace_dump_stack +EXPORT_SYMBOL_GPL vmlinux 0x943304d0 blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0x9436e405 memory_group_register_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x943fc708 xen_setup_shutdown_event +EXPORT_SYMBOL_GPL vmlinux 0x9450cd6d crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0x945bd71b xdp_return_buff +EXPORT_SYMBOL_GPL vmlinux 0x9460aadd events_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x9468ea70 schedule_hrtimeout_range_clock +EXPORT_SYMBOL_GPL vmlinux 0x946c0028 devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0x946dd559 sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x9477d59e wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x947b40c6 cpu_smt_possible +EXPORT_SYMBOL_GPL vmlinux 0x947f4fa9 gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x949b5176 devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x949c1095 fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x94a29bb9 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x94b17bb2 pinctrl_pm_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0x94c83274 clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x94fec2c4 devm_nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x94ffdc52 register_ftrace_direct_multi +EXPORT_SYMBOL_GPL vmlinux 0x9504df26 irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x95188689 phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL vmlinux 0x951a2773 crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x951bb409 cpufreq_freq_attr_scaling_boost_freqs +EXPORT_SYMBOL_GPL vmlinux 0x95329d4d component_release_of +EXPORT_SYMBOL_GPL vmlinux 0x95337ef0 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x953e1b9e ktime_get_real_seconds +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x955b31e1 xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x956232f3 acpi_processor_get_performance_info +EXPORT_SYMBOL_GPL vmlinux 0x95683849 acpi_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0x956ac400 ring_buffer_dropped_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x9575b396 kill_device +EXPORT_SYMBOL_GPL vmlinux 0x9581fe2b lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0x95843030 mpi_ec_init +EXPORT_SYMBOL_GPL vmlinux 0x958dc7f4 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x958df3ac zs_free +EXPORT_SYMBOL_GPL vmlinux 0x9593ef31 register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x9596e2aa crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x959ec5f5 call_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x95acdcd1 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95c29c1e usb_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x95c812f1 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x95c89a21 virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0x95ce89ec sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x95ef1ccc dmi_memdev_size +EXPORT_SYMBOL_GPL vmlinux 0x961286e0 ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x9615b005 hv_map_ioapic_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x96196f22 acpi_register_gsi +EXPORT_SYMBOL_GPL vmlinux 0x9621d738 alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0x9625119f dax_inode +EXPORT_SYMBOL_GPL vmlinux 0x9626824d pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x962c8ae1 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x9634a2ad pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0x96378ac9 skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0x9641a053 nvdimm_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x96447042 pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0x96554810 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x965c1c6d devm_acpi_dev_add_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x965d5dcd xdp_do_redirect_frame +EXPORT_SYMBOL_GPL vmlinux 0x9668c4aa __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0x96812fa6 serial8250_do_set_divisor +EXPORT_SYMBOL_GPL vmlinux 0x968a41b6 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0x968dec74 xfrm_get_translator +EXPORT_SYMBOL_GPL vmlinux 0x968f9a23 efivar_entry_iter_begin +EXPORT_SYMBOL_GPL vmlinux 0x96a2d6ee ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0x96a55fda list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0x96ae31c1 tps6586x_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x96b157bf class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x96b20d19 skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x96b89a2c devm_bitmap_alloc +EXPORT_SYMBOL_GPL vmlinux 0x96ba8d05 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x96cf4b19 crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x96da667d find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x96eac6cf usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x96ed0d3b regulator_list_hardware_vsel +EXPORT_SYMBOL_GPL vmlinux 0x9710aa70 phy_driver_is_genphy +EXPORT_SYMBOL_GPL vmlinux 0x97122673 handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0x9714e0bb ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x97292c85 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x972db9af acpi_dma_request_slave_chan_by_index +EXPORT_SYMBOL_GPL vmlinux 0x97390a57 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x973fa68a vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0x9747fc0f device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x975519c1 asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x977be5c7 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x977d7891 pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x977eb743 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x978063a8 platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x97849401 iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x978b8abe console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x97aaa399 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x97abc7a8 vfio_pci_core_match +EXPORT_SYMBOL_GPL vmlinux 0x97ae08f5 spi_mem_exec_op +EXPORT_SYMBOL_GPL vmlinux 0x97ddbdc5 rio_mport_class +EXPORT_SYMBOL_GPL vmlinux 0x97de2b83 debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x97e5c450 gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0x97f2b8fb genphy_c45_loopback +EXPORT_SYMBOL_GPL vmlinux 0x980050a2 iommu_map +EXPORT_SYMBOL_GPL vmlinux 0x9802ca79 devfreq_event_enable_edev +EXPORT_SYMBOL_GPL vmlinux 0x98146c90 devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0x9816598e cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x98328663 fsverity_verify_page +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x98378a1d cc_mkdec +EXPORT_SYMBOL_GPL vmlinux 0x983b88e0 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x983d62b8 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x9843f501 __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x985453e1 lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x98693abc ip_icmp_error_rfc4884 +EXPORT_SYMBOL_GPL vmlinux 0x9879932b crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x988a1a00 sn_region_size +EXPORT_SYMBOL_GPL vmlinux 0x989074ff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x98923a06 acpiphp_register_attention +EXPORT_SYMBOL_GPL vmlinux 0x98b142fa blk_fill_rwbs +EXPORT_SYMBOL_GPL vmlinux 0x98b20c9b ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x98ccc510 tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0x98e60d21 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x98ea1a8c clk_hw_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x98ecf0ed tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x98ee62b2 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x98f10da0 irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x98f4d306 hyperv_flush_guest_mapping +EXPORT_SYMBOL_GPL vmlinux 0x98fa1e20 dm_get_reserved_rq_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x990ce4f7 pm_clk_remove_clk +EXPORT_SYMBOL_GPL vmlinux 0x99111cd4 adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0x9916c5ad iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0x99244de2 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x99267b2f task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0x992a001e dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x9930f8a3 uv_bios_change_memprotect +EXPORT_SYMBOL_GPL vmlinux 0x9932e037 crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x993c2b59 perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0x99430ba2 acpi_get_phys_id +EXPORT_SYMBOL_GPL vmlinux 0x99460469 irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0x9946fd0b rio_unlock_device +EXPORT_SYMBOL_GPL vmlinux 0x9951f429 icc_nodes_remove +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x9968aacb __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x996d6dd4 led_blink_set +EXPORT_SYMBOL_GPL vmlinux 0x997c550a preempt_model_none +EXPORT_SYMBOL_GPL vmlinux 0x9983eff4 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x998d79d6 x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0x99a8ce80 vp_modern_queue_address +EXPORT_SYMBOL_GPL vmlinux 0x99c0570d ftrace_set_filter_ips +EXPORT_SYMBOL_GPL vmlinux 0x99ce3f63 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x99dd730c page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0x99e53b25 iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0x99e9a4a9 spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x99f018c4 nvmem_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x99f2d00a sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x9a0845f2 phy_validate +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a167329 gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x9a23ea6b alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0x9a263ec1 blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0x9a2851ef __SCT__tp_func_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x9a371cd2 cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0x9a37f941 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x9a404179 lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0x9a58dd2d trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0x9a5dce5c rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0x9a6b30f8 __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x9a7e7685 dev_pm_genpd_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9a81ffba crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0x9a84c702 gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x9a8f3798 transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x9aa71c2a efi_query_variable_store +EXPORT_SYMBOL_GPL vmlinux 0x9aa7cd8c kthread_func +EXPORT_SYMBOL_GPL vmlinux 0x9aaac699 dev_pm_opp_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x9ab0ecf8 phy_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x9ab78b57 edac_mc_free +EXPORT_SYMBOL_GPL vmlinux 0x9ac0c58e nvmem_device_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9ae9a22d tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9af49514 icc_bulk_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x9afc45b7 devm_phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0x9b1cbbc5 gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0x9b1dfa0c pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x9b4d5424 dm_submit_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x9b555c8c pm_suspend_default_s2idle +EXPORT_SYMBOL_GPL vmlinux 0x9b570a72 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x9b5c4698 synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0x9b651e51 xenbus_teardown_ring +EXPORT_SYMBOL_GPL vmlinux 0x9b698c42 ioasid_set_data +EXPORT_SYMBOL_GPL vmlinux 0x9b6ec967 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x9b80d49c pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x9b9071cb get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x9b92d16e pinctrl_gpio_set_config +EXPORT_SYMBOL_GPL vmlinux 0x9b95d5b7 em_dev_register_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x9b99e668 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x9b9f3648 pcibios_scan_specific_bus +EXPORT_SYMBOL_GPL vmlinux 0x9ba2bb2b gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x9bad141d hv_hypercall_pg +EXPORT_SYMBOL_GPL vmlinux 0x9bbf72de mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9bc60531 mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0x9bced185 __sock_recv_cmsgs +EXPORT_SYMBOL_GPL vmlinux 0x9bd0ba3d __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x9bd447c5 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x9be30d27 mhp_get_pluggable_range +EXPORT_SYMBOL_GPL vmlinux 0x9bece81b mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x9bfdbeff trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x9c0e8129 fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0x9c311926 sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0x9c3441ce dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0x9c3d7973 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9c6acf30 regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x9c6febfc add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x9c7f38d9 of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x9c803020 usb_phy_roothub_power_on +EXPORT_SYMBOL_GPL vmlinux 0x9ca480cc clk_gate_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x9caf99f2 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x9caf9e17 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x9cb00afe fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x9cb15ec5 devm_acpi_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x9cba5af9 dmi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x9cc4f70a register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9cd7551a rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0x9cdd6a66 sysctl_long_vals +EXPORT_SYMBOL_GPL vmlinux 0x9cde08d0 regmap_field_bulk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9cdfddac usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x9ced6d2d devm_clk_bulk_get_all +EXPORT_SYMBOL_GPL vmlinux 0x9cf37c44 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x9cf86e9b devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9d09e8ae ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9d13c2fc unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x9d14205c cr4_read_shadow +EXPORT_SYMBOL_GPL vmlinux 0x9d2748b8 skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0x9d3d49d2 nd_region_dev +EXPORT_SYMBOL_GPL vmlinux 0x9d4894c8 x2apic_mode +EXPORT_SYMBOL_GPL vmlinux 0x9d507b50 rio_mport_get_feature +EXPORT_SYMBOL_GPL vmlinux 0x9d5aad7b ext_pi_type1_crc64 +EXPORT_SYMBOL_GPL vmlinux 0x9d7031f1 devm_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x9d72cbec usb_wakeup_enabled_descendants +EXPORT_SYMBOL_GPL vmlinux 0x9d8bb00e set_dax_nocache +EXPORT_SYMBOL_GPL vmlinux 0x9d9910a1 atomic_notifier_chain_register_unique_prio +EXPORT_SYMBOL_GPL vmlinux 0x9d9d38d7 __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0x9da04120 get_dev_pagemap +EXPORT_SYMBOL_GPL vmlinux 0x9da5b5e9 fat_time_fat2unix +EXPORT_SYMBOL_GPL vmlinux 0x9daf329b rio_mport_chk_dev_access +EXPORT_SYMBOL_GPL vmlinux 0x9dc4fc83 __traceiter_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x9ddbd4c9 __traceiter_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x9ddd7163 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x9de31b2a phy_gbit_fibre_features +EXPORT_SYMBOL_GPL vmlinux 0x9e005e6f cppc_get_perf_caps +EXPORT_SYMBOL_GPL vmlinux 0x9e07d3e7 virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0x9e13beb8 crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0x9e1428f1 blk_queue_zone_write_granularity +EXPORT_SYMBOL_GPL vmlinux 0x9e1fed9e dev_pm_opp_init_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x9e2e07b8 __SCK__tp_func_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x9e314124 pm_wakeup_ws_event +EXPORT_SYMBOL_GPL vmlinux 0x9e38cef4 mptcp_token_get_sock +EXPORT_SYMBOL_GPL vmlinux 0x9e3bf46f regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9e472f5f snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x9e4b3228 irq_domain_create_legacy +EXPORT_SYMBOL_GPL vmlinux 0x9e664646 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x9e6d5de3 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0x9e6e9b1e unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x9e6efa3b serial8250_update_uartclk +EXPORT_SYMBOL_GPL vmlinux 0x9e758ed6 gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0x9e84dc8c securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x9e9c4f24 set_dax_nomc +EXPORT_SYMBOL_GPL vmlinux 0x9ebad2d1 css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0x9ecc6ee0 acpi_device_update_power +EXPORT_SYMBOL_GPL vmlinux 0x9ed554b3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9edd4cbe apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0x9eebdde7 mpi_point_new +EXPORT_SYMBOL_GPL vmlinux 0x9ef1bfdd netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x9f0746a0 efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0x9f0acd17 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x9f22c5b9 devm_kasprintf_strarray +EXPORT_SYMBOL_GPL vmlinux 0x9f24c8d1 firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x9f2bedaf irq_gc_noop +EXPORT_SYMBOL_GPL vmlinux 0x9f37720c kobject_move +EXPORT_SYMBOL_GPL vmlinux 0x9f39b292 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x9f4c4aa0 spi_delay_to_ns +EXPORT_SYMBOL_GPL vmlinux 0x9f5ad238 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x9f5c6dc2 __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0x9f6bca20 dma_free_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x9f807466 kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0x9f9475f3 wakeup_sources_walk_start +EXPORT_SYMBOL_GPL vmlinux 0x9f9c7781 phy_basic_t1_features +EXPORT_SYMBOL_GPL vmlinux 0x9fa2a1d3 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x9fa51244 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x9fbfebab erst_write +EXPORT_SYMBOL_GPL vmlinux 0x9fc6957a dev_coredumpv +EXPORT_SYMBOL_GPL vmlinux 0x9fc6d7e5 blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fe131f1 xen_store_interface +EXPORT_SYMBOL_GPL vmlinux 0x9fe899b7 get_cpu_idle_time +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9fec33cc free_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x9fefc3e6 __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0x9ff2fbb0 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xa01a8d9b nd_cmd_bus_desc +EXPORT_SYMBOL_GPL vmlinux 0xa0255fb6 serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0xa02a5b94 acpi_storage_d3 +EXPORT_SYMBOL_GPL vmlinux 0xa031b1ed __traceiter_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0xa03332be scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0xa04dc934 irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xa04f945a cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xa0696e73 crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xa077d6fe gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0xa07ccd7d blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0xa080c5e5 smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0xa0821858 acpi_dma_request_slave_chan_by_name +EXPORT_SYMBOL_GPL vmlinux 0xa0accac5 key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0xa0c0f1d7 __SCT__tp_func_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xa0c264c7 blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0xa0c2890d xhci_reset_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0xa0d2bce0 usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xa0d3063c hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0xa0d33f97 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0xa0d3456d nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0xa0d81b76 __SCT__tp_func_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0xa0dabb2f ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xa0e59e7f ndo_dflt_bridge_getlink +EXPORT_SYMBOL_GPL vmlinux 0xa0e671d8 __SCT__tp_func_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0xa0fc9d43 crypto_boot_test_finished +EXPORT_SYMBOL_GPL vmlinux 0xa1083fa8 pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0xa1094d0b __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa1095423 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xa10db043 scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0xa11216be xen_store_domain_type +EXPORT_SYMBOL_GPL vmlinux 0xa1363623 usb_phy_set_event +EXPORT_SYMBOL_GPL vmlinux 0xa138aba5 wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0xa13bca01 bpf_trace_run9 +EXPORT_SYMBOL_GPL vmlinux 0xa156a1f2 erst_get_record_id_end +EXPORT_SYMBOL_GPL vmlinux 0xa16373f4 devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa1686ae8 xenbus_probe_node +EXPORT_SYMBOL_GPL vmlinux 0xa171c39a irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0xa1872a13 dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0xa18b485c devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0xa19db5c5 irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0xa1a68cc4 tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0xa1aafbc2 skb_copy_ubufs +EXPORT_SYMBOL_GPL vmlinux 0xa1c3f8a8 __SCT__tp_func_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xa1c47be5 ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xa1ce7387 sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xa1d8004a videomode_from_timing +EXPORT_SYMBOL_GPL vmlinux 0xa1f213dd device_del +EXPORT_SYMBOL_GPL vmlinux 0xa1f48e30 crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0xa1f6083a __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0xa20d01ba __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xa21f2ce7 clk_mux_index_to_val +EXPORT_SYMBOL_GPL vmlinux 0xa22232e8 __SCK__tp_func_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa2383cdc acpi_gpiochip_free_interrupts +EXPORT_SYMBOL_GPL vmlinux 0xa2603063 __devm_reset_control_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xa26b6db2 devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0xa26d9b4f workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xa2713e2c sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xa284df4d vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL vmlinux 0xa28b53bf dev_pm_domain_attach +EXPORT_SYMBOL_GPL vmlinux 0xa29d0624 pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0xa2a12083 uprobe_register +EXPORT_SYMBOL_GPL vmlinux 0xa2aa60fe devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0xa2acf088 __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0xa2af54b3 irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xa2b99209 alarm_start +EXPORT_SYMBOL_GPL vmlinux 0xa2b99f54 crypto_unregister_skciphers +EXPORT_SYMBOL_GPL vmlinux 0xa2bb7ef0 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0xa2c57927 kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0xa2d0b59d mmio_stale_data_clear +EXPORT_SYMBOL_GPL vmlinux 0xa2df1ece xen_pci_frontend +EXPORT_SYMBOL_GPL vmlinux 0xa2e1b3ef trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0xa2e50f09 pwm_put +EXPORT_SYMBOL_GPL vmlinux 0xa2e6b5cc umd_cleanup_helper +EXPORT_SYMBOL_GPL vmlinux 0xa2f7487f hv_is_hibernation_supported +EXPORT_SYMBOL_GPL vmlinux 0xa308526c xen_unmap_domain_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0xa30fb913 pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0xa31d6cf7 ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0xa33df980 xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0xa33fd46f hv_map_memory +EXPORT_SYMBOL_GPL vmlinux 0xa3484479 blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0xa348467d device_driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xa34b0376 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xa354a207 strp_done +EXPORT_SYMBOL_GPL vmlinux 0xa356012a __auxiliary_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xa35a4ae4 sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0xa35ae736 devlink_to_dev +EXPORT_SYMBOL_GPL vmlinux 0xa36d34d0 em_pd_get +EXPORT_SYMBOL_GPL vmlinux 0xa36f50fb is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa38a4f63 get_device +EXPORT_SYMBOL_GPL vmlinux 0xa38a9f71 get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xa38ca43d pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3b958ce reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0xa3c44e1d irq_gc_unmask_enable_reg +EXPORT_SYMBOL_GPL vmlinux 0xa3dbf989 devm_phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa3e37106 fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0xa3ece414 freezer_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xa3f10706 gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0xa3f12f69 __crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0xa3f569c2 watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xa3f76a00 __traceiter_block_split +EXPORT_SYMBOL_GPL vmlinux 0xa3fa8d6c inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0xa4031b7f sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0xa410a295 devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa41b2f22 regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xa42dba7b device_initialize +EXPORT_SYMBOL_GPL vmlinux 0xa42fcd2c cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0xa4409290 acpi_subsys_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0xa44a1307 interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xa452c297 hpet_mask_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa452f2a4 xen_pirq_from_irq +EXPORT_SYMBOL_GPL vmlinux 0xa4565fef __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa459bb95 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xa45c7b90 stack_trace_print +EXPORT_SYMBOL_GPL vmlinux 0xa46136fe device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0xa462d5a6 __SCT__tp_func_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xa47b2d64 devm_register_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa48e8659 dev_pm_opp_set_rate +EXPORT_SYMBOL_GPL vmlinux 0xa49466b5 relay_open +EXPORT_SYMBOL_GPL vmlinux 0xa4ab7c1c ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xa4b07fe7 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xa4b81338 rio_free_net +EXPORT_SYMBOL_GPL vmlinux 0xa4bc92e6 phy_reset +EXPORT_SYMBOL_GPL vmlinux 0xa4be30bf usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xa4c00324 asn1_encode_octet_string +EXPORT_SYMBOL_GPL vmlinux 0xa4c085f8 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0xa4ca3b60 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0xa4d9e6e6 klp_enable_patch +EXPORT_SYMBOL_GPL vmlinux 0xa4e22108 devl_rate_leaf_create +EXPORT_SYMBOL_GPL vmlinux 0xa4e2594e gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xa4e4f66e serial8250_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xa4e8fc42 phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0xa5052a85 devm_extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa50b1bfa inet6_compat_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa51060a5 nf_queue +EXPORT_SYMBOL_GPL vmlinux 0xa5245afa device_link_del +EXPORT_SYMBOL_GPL vmlinux 0xa5246925 dmaengine_desc_set_metadata_len +EXPORT_SYMBOL_GPL vmlinux 0xa5251c53 strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0xa526fe91 ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xa531471e clk_save_context +EXPORT_SYMBOL_GPL vmlinux 0xa54a2cba devlink_linecard_provision_clear +EXPORT_SYMBOL_GPL vmlinux 0xa565dd79 mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0xa57b46d8 gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0xa58d3133 bio_trim +EXPORT_SYMBOL_GPL vmlinux 0xa5a1793e unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0xa5bda8a1 efi_capsule_supported +EXPORT_SYMBOL_GPL vmlinux 0xa5d1f4b8 stack_depot_snprint +EXPORT_SYMBOL_GPL vmlinux 0xa5d7c388 pstore_type_to_name +EXPORT_SYMBOL_GPL vmlinux 0xa5d9fc69 dmaengine_unmap_put +EXPORT_SYMBOL_GPL vmlinux 0xa5e23977 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0xa5e2e96c of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0xa5e4e606 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa5e56505 rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xa5e61c30 iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5efe879 device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xa5f7da9f class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xa6001db7 __tracepoint_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0xa60481a4 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0xa60c0f60 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xa6307dcf unregister_ftrace_direct_multi +EXPORT_SYMBOL_GPL vmlinux 0xa636fe98 __tracepoint_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xa6423d83 devm_irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xa6450092 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xa67ac218 nfs42_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa680a224 ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0xa6886e2d io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0xa698579c devm_phy_create +EXPORT_SYMBOL_GPL vmlinux 0xa6a088b7 fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0xa6b06f65 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6b7fdd4 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0xa6cc9a9f iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0xa6d6ac80 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa6e7546c cpuidle_register +EXPORT_SYMBOL_GPL vmlinux 0xa6e87790 __SCK__tp_func_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0xa6ff5b20 __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0xa709c835 fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa70d52de dev_pm_genpd_resume +EXPORT_SYMBOL_GPL vmlinux 0xa7127da7 mce_unregister_injector_chain +EXPORT_SYMBOL_GPL vmlinux 0xa7155ab7 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0xa7166c99 perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0xa7171682 regulator_suspend_enable +EXPORT_SYMBOL_GPL vmlinux 0xa7218eba irq_set_affinity +EXPORT_SYMBOL_GPL vmlinux 0xa731f387 nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xa73e5177 acpi_spi_count_resources +EXPORT_SYMBOL_GPL vmlinux 0xa74104a5 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0xa74dab43 ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0xa76261ca fuse_dax_cancel_work +EXPORT_SYMBOL_GPL vmlinux 0xa764567d debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0xa76660d9 dev_pm_opp_find_bw_ceil +EXPORT_SYMBOL_GPL vmlinux 0xa77993fa gnttab_dma_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xa79f774b dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0xa7a337c9 sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0xa7a578f6 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xa7a82208 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0xa7a974de bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0xa7a98a4f ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0xa7b4bd85 serial8250_em485_start_tx +EXPORT_SYMBOL_GPL vmlinux 0xa7b8af86 cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0xa7b9fd98 bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0xa7cdd1ca __reset_control_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xa7cf93e7 iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0xa7cfe323 __devm_regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0xa7d88c12 nvdimm_to_bus +EXPORT_SYMBOL_GPL vmlinux 0xa7f0794b skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xa7f49f4f usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xa8160a9d inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xa816d653 gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0xa81c3f00 ethnl_cable_test_fault_length +EXPORT_SYMBOL_GPL vmlinux 0xa82d41ff usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0xa82dadce sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xa8482b5b dev_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0xa851973a raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa858534b relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0xa89926dc crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0xa8a6364c xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0xa8b94b4a genphy_c45_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xa8be3ba8 apic +EXPORT_SYMBOL_GPL vmlinux 0xa8c4ad6a mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xa8c52d78 __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0xa8d031f2 acpi_dev_get_property +EXPORT_SYMBOL_GPL vmlinux 0xa8d0a34c nvmem_device_cell_read +EXPORT_SYMBOL_GPL vmlinux 0xa8d0f7c6 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xa8d54651 tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0xa8d69984 hte_ts_get +EXPORT_SYMBOL_GPL vmlinux 0xa8e610b3 crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xa8f7445c perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0xa902bf19 devfreq_event_reset_event +EXPORT_SYMBOL_GPL vmlinux 0xa9126bff hpet_set_rtc_irq_bit +EXPORT_SYMBOL_GPL vmlinux 0xa91bc939 virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0xa9320d27 ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0xa93af83f led_update_brightness +EXPORT_SYMBOL_GPL vmlinux 0xa941c56d evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0xa9434cd4 bdev_discard_alignment +EXPORT_SYMBOL_GPL vmlinux 0xa9495442 apei_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0xa94ab319 devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0xa95b5c77 hwmon_sanitize_name +EXPORT_SYMBOL_GPL vmlinux 0xa96dff5c skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xa96e8b4e hv_setup_vmbus_handler +EXPORT_SYMBOL_GPL vmlinux 0xa97c8ad3 dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0xa985bd55 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0xa991e9b7 tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0xa993bf82 of_devfreq_cooling_register_power +EXPORT_SYMBOL_GPL vmlinux 0xa99ce2a3 irq_domain_set_hwirq_and_chip +EXPORT_SYMBOL_GPL vmlinux 0xa99ef899 devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xa9a23d34 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0xa9b106db blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0xa9ca7a9e xenbus_match +EXPORT_SYMBOL_GPL vmlinux 0xa9f9676b usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0xaa1148d7 phy_exit +EXPORT_SYMBOL_GPL vmlinux 0xaa188b29 get_net_ns_by_id +EXPORT_SYMBOL_GPL vmlinux 0xaa201216 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0xaa366e86 __tracepoint_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0xaa37de96 gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0xaa3db8d7 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0xaa46a27d pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0xaa49eab3 gpiochip_generic_request +EXPORT_SYMBOL_GPL vmlinux 0xaa5aee1c uv_bios_mq_watchlist_alloc +EXPORT_SYMBOL_GPL vmlinux 0xaa6a50f9 __static_key_deferred_flush +EXPORT_SYMBOL_GPL vmlinux 0xaa6e6d96 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xaa8018e1 crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xaa86cfb5 uv_possible_blades +EXPORT_SYMBOL_GPL vmlinux 0xaa8ed4e7 switchdev_bridge_port_unoffload +EXPORT_SYMBOL_GPL vmlinux 0xaa924014 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0xaa9616d6 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xaa971d3a phy_gbit_features +EXPORT_SYMBOL_GPL vmlinux 0xaa9fd517 pinctrl_force_default +EXPORT_SYMBOL_GPL vmlinux 0xaaa7f622 regmap_add_irq_chip_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaaab6740 usb_intf_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0xaaade649 serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0xaabcea7a posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0xaaccb525 debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0xaad72ea0 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0xaada5959 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0xaadd2721 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0xaae537d5 devm_usb_get_phy_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xaae6a7c4 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0xaae945bd desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0xab07d042 mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0xab1e0e93 hv_setup_kexec_handler +EXPORT_SYMBOL_GPL vmlinux 0xab4ac14b sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xab4ee6d3 scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0xab631265 dax_remove_host +EXPORT_SYMBOL_GPL vmlinux 0xab78a007 __SCK__tp_func_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0xab8023bc regmap_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0xab8e60c4 virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0xab95e128 dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0xab9be852 fuse_request_end +EXPORT_SYMBOL_GPL vmlinux 0xabb7c7c2 get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xabbdae31 icc_node_create +EXPORT_SYMBOL_GPL vmlinux 0xabbeb52b devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xabbec4a5 nvdimm_has_cache +EXPORT_SYMBOL_GPL vmlinux 0xabc298d0 intel_scu_ipc_unregister +EXPORT_SYMBOL_GPL vmlinux 0xabc640f3 list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0xabce6303 metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0xabf03fc3 __SCT__tp_func_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0xabfba6b1 cpufreq_table_index_unsorted +EXPORT_SYMBOL_GPL vmlinux 0xac008140 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0xac1aaea4 devm_clk_get_optional_enabled +EXPORT_SYMBOL_GPL vmlinux 0xac1c71b1 gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0xac1d70fb pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0xac1d992d dpm_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xac30288f iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xac4207ec find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0xac451865 mptcp_pm_get_local_addr_max +EXPORT_SYMBOL_GPL vmlinux 0xac77abec task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0xac7d37cc __SCK__tp_func_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0xac8106de led_sysfs_enable +EXPORT_SYMBOL_GPL vmlinux 0xac9aa777 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xac9fe4d0 gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xaca43734 da9052_disable_irq_nosync +EXPORT_SYMBOL_GPL vmlinux 0xaca7784b usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xacaeba13 __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0xacb4d88c clk_rate_exclusive_put +EXPORT_SYMBOL_GPL vmlinux 0xacbb95c6 blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0xacbc5bed __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0xacbd957e cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0xacc977ac alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0xace91163 fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0xacff0a72 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xad1b3933 cpufreq_freq_transition_end +EXPORT_SYMBOL_GPL vmlinux 0xad24c000 rio_del_device +EXPORT_SYMBOL_GPL vmlinux 0xad2e2fc5 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0xad373858 sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0xad395dd9 mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0xad4e6259 remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad4ea635 devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0xad4ecbf9 regulator_list_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xad5737fc efivar_init +EXPORT_SYMBOL_GPL vmlinux 0xad5bbe84 __traceiter_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0xad5f0017 perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0xad645234 register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xad7ffb17 dax_recovery_write +EXPORT_SYMBOL_GPL vmlinux 0xad83ce29 xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0xad95d5db page_cache_ra_unbounded +EXPORT_SYMBOL_GPL vmlinux 0xada38766 dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0xadbca2d8 vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xadce0db6 ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0xade5339b hte_get_clk_src_info +EXPORT_SYMBOL_GPL vmlinux 0xadecc70c platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0xadf027fa xfrm_register_translator +EXPORT_SYMBOL_GPL vmlinux 0xae0ecf40 usb_bus_idr_lock +EXPORT_SYMBOL_GPL vmlinux 0xae1051b0 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xae20731d vp_modern_set_features +EXPORT_SYMBOL_GPL vmlinux 0xae33a783 blk_mq_complete_request_remote +EXPORT_SYMBOL_GPL vmlinux 0xae39f80e dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xae3c4550 dax_finish_sync_fault +EXPORT_SYMBOL_GPL vmlinux 0xae42e173 crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0xae581fa8 unix_table_locks +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae6d9468 acpi_dev_gpio_irq_get_by +EXPORT_SYMBOL_GPL vmlinux 0xae7c231d mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0xae92faa7 crypto_shash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0xae9852a0 housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0xaea60854 pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0xaea7f1ef devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaecc4b11 blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0xaed1fbd4 regulator_set_voltage_time_sel +EXPORT_SYMBOL_GPL vmlinux 0xaeda0e40 __regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xaee657ee __class_create +EXPORT_SYMBOL_GPL vmlinux 0xaef4ec55 mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0xaf02f6ed devm_pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0xaf076aec nd_fletcher64 +EXPORT_SYMBOL_GPL vmlinux 0xaf0b6ba7 blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0xaf2599f6 gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xaf4014ff usb_amd_quirk_pll_check +EXPORT_SYMBOL_GPL vmlinux 0xaf6690b7 da9052_request_irq +EXPORT_SYMBOL_GPL vmlinux 0xaf66ca28 genphy_c45_read_status +EXPORT_SYMBOL_GPL vmlinux 0xaf793668 __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0xaf852873 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0xaf864bcd regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0xaf8ad12e crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0xaf981aaf __SCK__tp_func_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0xafa8385d nvmem_cell_read_u16 +EXPORT_SYMBOL_GPL vmlinux 0xafc0cd2c init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0xafd11344 phy_remove_lookup +EXPORT_SYMBOL_GPL vmlinux 0xafddd545 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xafed462c tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xaffb7a98 mctp_unregister_netdev +EXPORT_SYMBOL_GPL vmlinux 0xaffeb49d event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0xb001e9ec switchdev_handle_port_obj_del_foreign +EXPORT_SYMBOL_GPL vmlinux 0xb007ecd8 gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0xb015908c blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb01e30aa powercap_register_zone +EXPORT_SYMBOL_GPL vmlinux 0xb02077ed xen_xenbus_fops +EXPORT_SYMBOL_GPL vmlinux 0xb02699ef __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0xb02ac411 register_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb03a2476 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0xb04f5641 phy_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0xb05078ad rio_local_set_device_id +EXPORT_SYMBOL_GPL vmlinux 0xb053c4a7 gen10g_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xb0747ed2 rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0xb077e70a clk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0xb0868ca1 devm_regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xb0aaeac5 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0xb0adf3e8 metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0d0f3f0 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0xb0d1656c gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0xb0e8e671 xenbus_otherend_changed +EXPORT_SYMBOL_GPL vmlinux 0xb0ee5377 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0xb0ee904b unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xb0fbb722 clk_fractional_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xb1024251 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xb10d964d devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xb11cc43b __SCT__tp_func_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0xb11d9000 tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0xb124eb95 xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0xb136c138 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0xb14ad6fd vfio_file_enforced_coherent +EXPORT_SYMBOL_GPL vmlinux 0xb1511fb3 vfio_file_set_kvm +EXPORT_SYMBOL_GPL vmlinux 0xb1647fc2 devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0xb16bfce1 dma_vmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0xb1811418 nf_route +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb19566ab __traceiter_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0xb1a0e42b usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0xb1a27f55 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0xb1a6bedd icc_enable +EXPORT_SYMBOL_GPL vmlinux 0xb1b7c959 pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0xb1baa71a devlink_linecard_provision_fail +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1c189d6 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0xb1d2805f led_trigger_write +EXPORT_SYMBOL_GPL vmlinux 0xb1e25684 __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0xb1e40874 devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0xb1ef3bd3 iommu_sva_alloc_pasid +EXPORT_SYMBOL_GPL vmlinux 0xb1fc1782 pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xb202f0d7 rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0xb21d00c6 hte_ts_put +EXPORT_SYMBOL_GPL vmlinux 0xb2210d64 reset_control_deassert +EXPORT_SYMBOL_GPL vmlinux 0xb22343d7 kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xb23aa9d1 __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0xb2405efc secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0xb2496844 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xb250d52f gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0xb26066fe ibft_phys_addr +EXPORT_SYMBOL_GPL vmlinux 0xb26a1add elfcorehdr_addr +EXPORT_SYMBOL_GPL vmlinux 0xb27b474d acpi_pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0xb29533ee zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xb298b863 serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0xb2b0d7cd user_read +EXPORT_SYMBOL_GPL vmlinux 0xb2beb24c xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0xb2c1732e rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0xb2ca51d9 intel_pinctrl_get_soc_data +EXPORT_SYMBOL_GPL vmlinux 0xb2cfa227 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xb2d70f1b bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0xb2d852bf fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0xb2d88a89 irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0xb2de4cf2 clk_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0xb2df75f2 netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb307c909 devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xb30b2bda preempt_model_full +EXPORT_SYMBOL_GPL vmlinux 0xb3253ed9 hpet_rtc_timer_init +EXPORT_SYMBOL_GPL vmlinux 0xb337531f fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0xb33e0236 pin_get_name +EXPORT_SYMBOL_GPL vmlinux 0xb365a048 __clk_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xb37cd2b8 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0xb393fb48 sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0xb3cda795 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb3f002e7 virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0xb406ca7f blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0xb42d7bfd get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0xb43f9365 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xb4429b64 acpi_dev_resource_ext_address_space +EXPORT_SYMBOL_GPL vmlinux 0xb4452e61 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0xb44e18ea audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb46b1b80 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xb478c650 __spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xb47a8b21 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xb48f0638 software_node_register +EXPORT_SYMBOL_GPL vmlinux 0xb493960d serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0xb49d8c42 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0xb49eb36b misc_cg_try_charge +EXPORT_SYMBOL_GPL vmlinux 0xb4b97c90 pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4eda0da ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0xb501b2df nd_cmd_dimm_desc +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb520eb79 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0xb5252a2b elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0xb5447158 dm_audit_log_ti +EXPORT_SYMBOL_GPL vmlinux 0xb5486f63 mbox_client_txdone +EXPORT_SYMBOL_GPL vmlinux 0xb550bc29 fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0xb5649127 vp_legacy_remove +EXPORT_SYMBOL_GPL vmlinux 0xb5709609 devm_blk_crypto_profile_init +EXPORT_SYMBOL_GPL vmlinux 0xb591857f fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0xb59f775f blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0xb5a83e35 gnttab_setup_auto_xlat_frames +EXPORT_SYMBOL_GPL vmlinux 0xb5a8c226 acpi_gsi_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xb5b6ceab usb_phy_roothub_suspend +EXPORT_SYMBOL_GPL vmlinux 0xb5ba775a get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0xb5d1d945 cpufreq_dbs_governor_start +EXPORT_SYMBOL_GPL vmlinux 0xb5d9daa6 regulator_desc_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xb5dee3bb inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xb5e0986d xhci_drop_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xb5f9dd75 pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0xb5fe7c32 skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0xb6004ac4 usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xb6094004 kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0xb610b5d9 ethtool_params_from_link_mode +EXPORT_SYMBOL_GPL vmlinux 0xb61b3af8 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0xb6250dce ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xb6261484 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb62e0e7d unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0xb6357e53 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0xb6410433 mpi_addm +EXPORT_SYMBOL_GPL vmlinux 0xb64c036b devm_acpi_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0xb64f7080 __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0xb655f91b pci_epc_get_next_free_bar +EXPORT_SYMBOL_GPL vmlinux 0xb65c67df __traceiter_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0xb66f3415 __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0xb6787346 sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0xb679544c pcie_reset_flr +EXPORT_SYMBOL_GPL vmlinux 0xb67b92c0 fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0xb6888188 klp_shadow_get_or_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb68bb323 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0xb69afbb0 devlink_linecard_deactivate +EXPORT_SYMBOL_GPL vmlinux 0xb69cdcf3 governor_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0xb6ae3647 serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0xb6aec2cf gnttab_pages_set_private +EXPORT_SYMBOL_GPL vmlinux 0xb6c5e614 acpi_processor_evaluate_cst +EXPORT_SYMBOL_GPL vmlinux 0xb6e6d99d clk_disable +EXPORT_SYMBOL_GPL vmlinux 0xb6eabe37 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xb70b8958 __folio_lock_killable +EXPORT_SYMBOL_GPL vmlinux 0xb7132179 bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0xb7164dbf regmap_mmio_detach_clk +EXPORT_SYMBOL_GPL vmlinux 0xb71a8291 __SCK__tp_func_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0xb71cf37b pm_clk_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xb725a1d4 led_get_default_pattern +EXPORT_SYMBOL_GPL vmlinux 0xb7329c06 clk_set_phase +EXPORT_SYMBOL_GPL vmlinux 0xb73713d7 nvmem_add_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0xb73e37e3 devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb74c31cd wwan_remove_port +EXPORT_SYMBOL_GPL vmlinux 0xb75041d1 hv_stimer_legacy_init +EXPORT_SYMBOL_GPL vmlinux 0xb7704b1c dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xb77a59ae ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0xb77bf9f2 usb_add_phy +EXPORT_SYMBOL_GPL vmlinux 0xb785fe22 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0xb791a67c gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0xb79fc27b regulator_suspend_disable +EXPORT_SYMBOL_GPL vmlinux 0xb7a387fc synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0xb7b1cd1a irq_get_default_host +EXPORT_SYMBOL_GPL vmlinux 0xb7b2a306 xen_unregister_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xb7b90972 vfio_assign_device_set +EXPORT_SYMBOL_GPL vmlinux 0xb7c14351 pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0xb7c69a63 unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7c82ea7 adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xb7c9fea0 ata_sas_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xb7d7c12e hpet_set_alarm_time +EXPORT_SYMBOL_GPL vmlinux 0xb7e462a8 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xb7e8bb2e tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0xb7ef7c0a inet_hash +EXPORT_SYMBOL_GPL vmlinux 0xb7f990e9 rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xb8203d8d dev_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0xb8273d0b __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xb8358c9c __traceiter_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0xb8384b46 skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0xb840ee90 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xb848f5c3 generic_handle_domain_irq +EXPORT_SYMBOL_GPL vmlinux 0xb85042e5 gnttab_free_grant_reference_seq +EXPORT_SYMBOL_GPL vmlinux 0xb85b4094 __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0xb862b8ce phy_select_page +EXPORT_SYMBOL_GPL vmlinux 0xb8681645 rio_add_device +EXPORT_SYMBOL_GPL vmlinux 0xb87ae6a4 hv_ghcb_msr_write +EXPORT_SYMBOL_GPL vmlinux 0xb87f40fe cppc_set_enable +EXPORT_SYMBOL_GPL vmlinux 0xb8846e65 pm_runtime_get_if_active +EXPORT_SYMBOL_GPL vmlinux 0xb884bdc7 ehci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xb88ad2ce usb_alloc_dev +EXPORT_SYMBOL_GPL vmlinux 0xb88bc47e arch_apei_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0xb88dbfce irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0xb89d39d0 device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0xb89e69b1 jump_label_update_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb8a0f425 get_net_ns_by_fd +EXPORT_SYMBOL_GPL vmlinux 0xb8b2b1f7 mce_register_decode_chain +EXPORT_SYMBOL_GPL vmlinux 0xb8c8ae7a fsverity_ioctl_enable +EXPORT_SYMBOL_GPL vmlinux 0xb8cd3a7f nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0xb8cf4ea2 do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0xb8d4955b usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0xb8dfb871 vfs_inode_has_locks +EXPORT_SYMBOL_GPL vmlinux 0xb8e02180 ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xb8e29ab3 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xb8e620e5 vfio_pci_core_uninit_device +EXPORT_SYMBOL_GPL vmlinux 0xb8e99988 crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xb8f0611e device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xb8f11603 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb8f358c5 __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0xb8fe5f03 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0xb912560d static_key_disable +EXPORT_SYMBOL_GPL vmlinux 0xb9154e54 __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0xb9175787 devlink_linecard_create +EXPORT_SYMBOL_GPL vmlinux 0xb9192e28 vfio_init_group_dev +EXPORT_SYMBOL_GPL vmlinux 0xb940d90d hte_enable_ts +EXPORT_SYMBOL_GPL vmlinux 0xb94be8e1 devm_devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0xb95f4044 register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0xb962a382 dev_pm_opp_get_power +EXPORT_SYMBOL_GPL vmlinux 0xb9681621 xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0xb97bd795 dev_pm_opp_set_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0xb97f8ef2 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xb9852d11 __traceiter_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xb9872d49 regulator_desc_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xb98a3f6c ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0xb9b3c79a device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9c0841b apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0xb9c16f51 hv_max_vp_index +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9caab26 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9d2fd97 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0xb9fbfef9 crypto_alloc_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xba01ec83 hv_stimer_global_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xba057786 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0xba220db7 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xba2b7f64 cpufreq_generic_get +EXPORT_SYMBOL_GPL vmlinux 0xba4c7d2a led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0xba7e6a9a pcc_mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xba82f246 uv_bios_install_heap +EXPORT_SYMBOL_GPL vmlinux 0xbab59693 vp_legacy_get_status +EXPORT_SYMBOL_GPL vmlinux 0xbab9a9f0 maxim_charger_currents +EXPORT_SYMBOL_GPL vmlinux 0xbad37525 __SCK__tp_func_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0xbad583fb ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0xbad7fb8a ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0xbae20364 devfreq_event_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xbae88a4e __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xbaebb86d crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0xbaf22757 kvfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0xbaf6850c fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0xbaf7d5e2 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0xbaf9d785 __tss_limit_invalid +EXPORT_SYMBOL_GPL vmlinux 0xbb022621 gnttab_unmap_refs +EXPORT_SYMBOL_GPL vmlinux 0xbb028ad3 rcu_gp_slow_register +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb0b25d2 register_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0xbb14112e ehci_handshake +EXPORT_SYMBOL_GPL vmlinux 0xbb17da23 __phy_modify +EXPORT_SYMBOL_GPL vmlinux 0xbb1e2273 gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0xbb2df4c0 acpi_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0xbb477628 udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0xbb4aa958 pm_clk_add +EXPORT_SYMBOL_GPL vmlinux 0xbb4ca2aa pm_clk_destroy +EXPORT_SYMBOL_GPL vmlinux 0xbb5598ce get_llc_id +EXPORT_SYMBOL_GPL vmlinux 0xbb6508da random_get_entropy_fallback +EXPORT_SYMBOL_GPL vmlinux 0xbb65c608 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xbb6a3cbd devlink_fmsg_arr_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xbb6c8538 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xbb6f025a asymmetric_key_generate_id +EXPORT_SYMBOL_GPL vmlinux 0xbb7195a5 xdp_warn +EXPORT_SYMBOL_GPL vmlinux 0xbb73f3d9 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xbb746fd1 iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0xbb7927e5 __clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0xbb93eec5 ioasid_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbb9e10c8 fork_usermode_driver +EXPORT_SYMBOL_GPL vmlinux 0xbba4fe2a driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xbbad73f8 pinctrl_dev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xbbb98859 edid_info +EXPORT_SYMBOL_GPL vmlinux 0xbbd00d2f dm_disk +EXPORT_SYMBOL_GPL vmlinux 0xbbd3acc6 vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0xbbdcd19d bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xbbe5611b crc64_rocksoft_update +EXPORT_SYMBOL_GPL vmlinux 0xbbe56404 sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0xbbf4e391 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0xbc158f5f dm_hold +EXPORT_SYMBOL_GPL vmlinux 0xbc1d9cb9 devm_regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbc2806af rio_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xbc28e3b9 devfreq_cooling_em_register +EXPORT_SYMBOL_GPL vmlinux 0xbc2b9d01 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xbc2c1cfb regmap_field_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0xbc3e3acb uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xbc3f2cb0 timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xbc4114c2 regulator_get_error_flags +EXPORT_SYMBOL_GPL vmlinux 0xbc4b3160 bind_interdomain_evtchn_to_irqhandler_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0xbc4e24bb copy_mc_to_kernel +EXPORT_SYMBOL_GPL vmlinux 0xbc522bc1 pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xbc558e8a __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xbc5c5e88 i2c_dw_adjust_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0xbc600dc9 preempt_model_voluntary +EXPORT_SYMBOL_GPL vmlinux 0xbc60dc37 cpufreq_show_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbc6bec66 free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xbc6e3841 perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0xbc8462fd phy_power_off +EXPORT_SYMBOL_GPL vmlinux 0xbc86d583 iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0xbc8d223f dma_resv_get_singleton +EXPORT_SYMBOL_GPL vmlinux 0xbc92596d intel_pt_validate_cap +EXPORT_SYMBOL_GPL vmlinux 0xbc9b8588 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xbcadbed4 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0xbcb5f475 dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0xbcb838a1 amd_flush_garts +EXPORT_SYMBOL_GPL vmlinux 0xbcbe3339 devlink_set_features +EXPORT_SYMBOL_GPL vmlinux 0xbcc15e75 ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xbcdd5b99 iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0xbcf1f0e6 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xbcfec58d scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0xbd06f3a9 ata_get_cmd_name +EXPORT_SYMBOL_GPL vmlinux 0xbd097307 hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0xbd106c31 nvdimm_bus_check_dimm_count +EXPORT_SYMBOL_GPL vmlinux 0xbd3154c8 gnttab_dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0xbd3fe1e3 disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0xbd47485b dev_pm_domain_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0xbd477d7b crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xbd60f971 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0xbd6d8159 ohci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0xbd6e77ea iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0xbd7155e9 __static_call_update +EXPORT_SYMBOL_GPL vmlinux 0xbd72a49b clk_hw_get_num_parents +EXPORT_SYMBOL_GPL vmlinux 0xbd73e8cf xen_remap_pfn +EXPORT_SYMBOL_GPL vmlinux 0xbd7aaaee add_memory +EXPORT_SYMBOL_GPL vmlinux 0xbd8d92bb zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xbd98b13a nvmem_cell_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0xbd99e873 __SCT__tp_func_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0xbdad788e rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0xbdb2217d hv_is_isolation_supported +EXPORT_SYMBOL_GPL vmlinux 0xbdb2dfd5 uv_bios_reserved_page_pa +EXPORT_SYMBOL_GPL vmlinux 0xbdbc439e unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xbdc102b0 strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0xbdca1e1a bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0xbdcb67f1 devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0xbdda1b5f vmalloc_huge +EXPORT_SYMBOL_GPL vmlinux 0xbddbca34 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xbde17eb8 acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0xbde3b7d6 devm_regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xbdebf8a1 skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0xbded09d1 pinconf_generic_dump_config +EXPORT_SYMBOL_GPL vmlinux 0xbdfe0d76 xhci_add_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xbe19cc6d regulator_set_suspend_voltage +EXPORT_SYMBOL_GPL vmlinux 0xbe1d1e82 gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0xbe2ff7b6 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0xbe38d0d8 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0xbe409389 devlink_port_linecard_set +EXPORT_SYMBOL_GPL vmlinux 0xbe478e4b acpi_set_modalias +EXPORT_SYMBOL_GPL vmlinux 0xbe5c888b crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xbe5fb480 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xbe61d9b2 __traceiter_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0xbe65e182 max_cswd_read_retries +EXPORT_SYMBOL_GPL vmlinux 0xbe687e88 wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbe744257 efi_get_embedded_fw +EXPORT_SYMBOL_GPL vmlinux 0xbe810001 kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xbe9a83d5 dw_pcie_write +EXPORT_SYMBOL_GPL vmlinux 0xbea07393 serial8250_em485_destroy +EXPORT_SYMBOL_GPL vmlinux 0xbea5ff1e static_key_initialized +EXPORT_SYMBOL_GPL vmlinux 0xbeb585d5 pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0xbeb62dc6 devm_irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xbec5dd88 iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0xbec66c3a __apei_exec_run +EXPORT_SYMBOL_GPL vmlinux 0xbecdebf8 tcp_bpf_update_proto +EXPORT_SYMBOL_GPL vmlinux 0xbecef44c blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0xbed8e99f pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0xbeecd6d7 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xbf041102 register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbf08262c md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0xbf165dec __SCT__tp_func_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0xbf2e2e71 housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0xbf3da1d3 devm_regmap_field_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0xbf4513c3 devlink_linecard_activate +EXPORT_SYMBOL_GPL vmlinux 0xbf4b06e5 md_account_bio +EXPORT_SYMBOL_GPL vmlinux 0xbf4cec28 mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0xbf4e1a44 bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0xbf5ec713 exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0xbf7dff6f usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xbf885822 ata_std_sched_eh +EXPORT_SYMBOL_GPL vmlinux 0xbf8dcb60 efivar_entry_add +EXPORT_SYMBOL_GPL vmlinux 0xbf9f96d8 virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0xbfa8a245 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0xbfab46aa invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xbfbbdd85 regmap_fields_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbfbe20bb skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xbfe16c06 blkcg_get_fc_appid +EXPORT_SYMBOL_GPL vmlinux 0xbfe5616d tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0xbfed2cd9 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0xc003db61 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0xc004e020 mmc_regulator_get_supply +EXPORT_SYMBOL_GPL vmlinux 0xc02cb90b devm_power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0xc0552560 spi_mem_poll_status +EXPORT_SYMBOL_GPL vmlinux 0xc0584e78 vp_legacy_get_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0xc05c1b64 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xc073837d vfio_pci_core_finish_enable +EXPORT_SYMBOL_GPL vmlinux 0xc08bbce6 irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0xc08d10dc dbs_update +EXPORT_SYMBOL_GPL vmlinux 0xc090c376 net_selftest_get_strings +EXPORT_SYMBOL_GPL vmlinux 0xc096c044 device_create_managed_software_node +EXPORT_SYMBOL_GPL vmlinux 0xc097e2db blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0xc09fb751 pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0xc0a96e14 rcu_gp_is_expedited +EXPORT_SYMBOL_GPL vmlinux 0xc0b2664d devlink_dpipe_header_ipv4 +EXPORT_SYMBOL_GPL vmlinux 0xc0c42068 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL vmlinux 0xc0ef98b0 xen_register_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xc0f0458a ip_tunnel_unneed_metadata +EXPORT_SYMBOL_GPL vmlinux 0xc1086e0c sysrq_toggle_support +EXPORT_SYMBOL_GPL vmlinux 0xc10fddb8 name_to_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xc111bea9 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0xc1202379 edac_device_handle_ce_count +EXPORT_SYMBOL_GPL vmlinux 0xc1269a84 dma_mmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0xc137e8a4 unwind_next_frame +EXPORT_SYMBOL_GPL vmlinux 0xc1518045 crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xc15344a8 devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xc1641746 __mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0xc1715d42 skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0xc1743430 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc17e9946 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xc18608ae devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xc189bcf5 fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0xc1a26655 pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0xc1c11533 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xc1cb1ca9 dev_pm_clear_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xc1e42c5a pwm_request +EXPORT_SYMBOL_GPL vmlinux 0xc1ede0a3 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xc1ef4b62 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0xc2033d9f amd_get_highest_perf +EXPORT_SYMBOL_GPL vmlinux 0xc20ad520 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc232701c crypto_alloc_acomp_node +EXPORT_SYMBOL_GPL vmlinux 0xc23601c1 __SCT__tp_func_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xc23befa3 pci_find_host_bridge +EXPORT_SYMBOL_GPL vmlinux 0xc23ecb83 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xc25b8971 hv_remove_crash_handler +EXPORT_SYMBOL_GPL vmlinux 0xc2692173 wakeup_sources_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc26bbfef tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0xc287d96a kvm_set_posted_intr_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0xc289e46d cpufreq_generic_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xc297aad0 regmap_field_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0xc2a3e570 errata +EXPORT_SYMBOL_GPL vmlinux 0xc2a814db tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xc2ae220c phy_put +EXPORT_SYMBOL_GPL vmlinux 0xc2b6964b usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0xc2bf388b __traceiter_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc2c1c427 perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc2c3b780 software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xc2de27ca hest_disable +EXPORT_SYMBOL_GPL vmlinux 0xc2e72eec __tracepoint_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xc2e7e28e fixed_phy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc2f26271 blk_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0xc2f26a23 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0xc2f2c8f4 dev_pm_opp_put_regulators +EXPORT_SYMBOL_GPL vmlinux 0xc2fb483f __SCT__tp_func_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0xc31baca3 dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0xc3256b7a serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0xc32b8ca6 fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0xc341ae6d zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0xc3468c06 fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0xc348be32 xhci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xc34f959a perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0xc352adb8 devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0xc36aab91 irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xc3708747 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc376856d acpi_dev_ready_for_enumeration +EXPORT_SYMBOL_GPL vmlinux 0xc37cfe97 __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xc3805cd1 fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0xc38265b9 rt_mutex_lock_killable +EXPORT_SYMBOL_GPL vmlinux 0xc3876c1a hv_isolation_type_snp +EXPORT_SYMBOL_GPL vmlinux 0xc39da57e exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0xc3bc53ec crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0xc3bcda8b __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xc3bd749a genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0xc3c26cb2 devm_regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xc3c4c6cc hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0xc3cc33ae tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0xc3cc4300 smca_get_long_name +EXPORT_SYMBOL_GPL vmlinux 0xc3d0798f devm_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xc3d447e3 dev_coredumpm +EXPORT_SYMBOL_GPL vmlinux 0xc3de65ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc3e03a0f device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0xc3e1021c __SCT__tp_func_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xc3ea5305 iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0xc3f9c439 vp_modern_get_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0xc404fe3e PageHuge +EXPORT_SYMBOL_GPL vmlinux 0xc405d9c6 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xc405e2a8 fscrypt_set_context +EXPORT_SYMBOL_GPL vmlinux 0xc426c51f klp_shadow_free_all +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc4303130 hwmon_notify_event +EXPORT_SYMBOL_GPL vmlinux 0xc43e92b9 trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0xc44992ee devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0xc44e105e mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc45905af device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xc45d0d13 injectm +EXPORT_SYMBOL_GPL vmlinux 0xc46324f6 dynevent_create +EXPORT_SYMBOL_GPL vmlinux 0xc465dd30 devm_spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0xc466e643 device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0xc46fb64e regmap_get_device +EXPORT_SYMBOL_GPL vmlinux 0xc46fecae uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0xc4711fd5 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc4799f24 irq_gc_mask_clr_bit +EXPORT_SYMBOL_GPL vmlinux 0xc47a90b9 bpf_fentry_test1 +EXPORT_SYMBOL_GPL vmlinux 0xc48b24f3 balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc48dc346 tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0xc498bdc9 devlink_register +EXPORT_SYMBOL_GPL vmlinux 0xc4a31146 rdma_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc4a72936 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xc4c56d1f verify_signature +EXPORT_SYMBOL_GPL vmlinux 0xc4d022cb __SCT__tp_func_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xc4d80d6b dma_mmap_pages +EXPORT_SYMBOL_GPL vmlinux 0xc4ef4fc7 sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0xc4f0da12 ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xc5078d94 xhci_resume +EXPORT_SYMBOL_GPL vmlinux 0xc509b9e4 __tracepoint_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0xc50dca33 __SCT__tp_func_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0xc50ddcfe bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0xc512626a __supported_pte_mask +EXPORT_SYMBOL_GPL vmlinux 0xc5185ea2 __clk_mux_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xc51cf102 rio_map_outb_region +EXPORT_SYMBOL_GPL vmlinux 0xc532f497 perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0xc543cf39 devm_krealloc +EXPORT_SYMBOL_GPL vmlinux 0xc54b7d28 devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0xc551083b __SCK__tp_func_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0xc5530f2e watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0xc5604800 clk_set_rate_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xc5609104 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0xc5631344 regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xc569d8ce __clk_get_name +EXPORT_SYMBOL_GPL vmlinux 0xc5739aa4 sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0xc575c737 debug_locks_off +EXPORT_SYMBOL_GPL vmlinux 0xc5777fca linear_range_get_selector_low_array +EXPORT_SYMBOL_GPL vmlinux 0xc5821ff0 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xc58a3ee6 icc_node_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc58d52df efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0xc593b9ca xen_remap_vma_range +EXPORT_SYMBOL_GPL vmlinux 0xc5a5c678 uart_parse_earlycon +EXPORT_SYMBOL_GPL vmlinux 0xc5ea3467 mmc_cmdq_disable +EXPORT_SYMBOL_GPL vmlinux 0xc5eeb629 extcon_get_property +EXPORT_SYMBOL_GPL vmlinux 0xc604ab28 __SCT__tp_func_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0xc617f82c unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc6246085 ohci_resume +EXPORT_SYMBOL_GPL vmlinux 0xc62826c2 pm_genpd_remove +EXPORT_SYMBOL_GPL vmlinux 0xc64f2308 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xc6572a90 xenbus_read_unsigned +EXPORT_SYMBOL_GPL vmlinux 0xc659fe21 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0xc66019cc xen_resume_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc6672ed9 sched_set_normal +EXPORT_SYMBOL_GPL vmlinux 0xc66b77b1 iommu_group_set_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xc66d5421 devm_extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xc66feba4 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xc6779093 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xc6779900 tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0xc67fdfa2 genphy_c45_baset1_read_status +EXPORT_SYMBOL_GPL vmlinux 0xc683da81 set_memory_decrypted +EXPORT_SYMBOL_GPL vmlinux 0xc697b0f7 nvmem_device_read +EXPORT_SYMBOL_GPL vmlinux 0xc69b7ee5 zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0xc69d644a __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0xc6a4a872 __clk_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc6a7b41a devm_clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc6a9e34f fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0xc6b2bfdb battery_hook_register +EXPORT_SYMBOL_GPL vmlinux 0xc6bb494d virtio_device_restore +EXPORT_SYMBOL_GPL vmlinux 0xc6cc9bed rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xc6d62659 dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xc6def34b gnttab_empty_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xc6e5bcf3 linear_range_get_selector_within +EXPORT_SYMBOL_GPL vmlinux 0xc6eec8f5 clk_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xc6f82d45 dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0xc70188c6 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xc7061ef3 iova_cache_put +EXPORT_SYMBOL_GPL vmlinux 0xc709c05f pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0xc70de4f0 fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0xc7131d59 extcon_set_property +EXPORT_SYMBOL_GPL vmlinux 0xc73c9e28 pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0xc73d2091 ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xc742e72d pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0xc76d40e8 regulator_set_active_discharge_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc782db76 __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0xc7856e74 __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xc78d6cb7 ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0xc78e24e8 crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0xc7981872 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0xc798fdb7 rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7a7e770 clk_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xc7c23ff0 xenbus_exists +EXPORT_SYMBOL_GPL vmlinux 0xc7c57d61 kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xc7ca5417 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0xc7cbb5c7 __SCK__tp_func_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0xc7ced274 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0xc7d91e51 auxiliary_find_device +EXPORT_SYMBOL_GPL vmlinux 0xc7e5296f acpi_bus_get_acpi_device +EXPORT_SYMBOL_GPL vmlinux 0xc7e64fc2 asn1_encode_integer +EXPORT_SYMBOL_GPL vmlinux 0xc7e8dbf3 irq_gc_set_wake +EXPORT_SYMBOL_GPL vmlinux 0xc7ed0a80 devm_rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0xc7fa4aa9 kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0xc80926e3 blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0xc80f8e4a devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc8126340 clear_mce_nospec +EXPORT_SYMBOL_GPL vmlinux 0xc82801da smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0xc82c721f klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xc832a04c gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0xc839c1ce trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0xc83c0a09 acpi_cppc_processor_probe +EXPORT_SYMBOL_GPL vmlinux 0xc8553a4d vfio_pci_core_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xc857b2ed __hwspin_lock_timeout +EXPORT_SYMBOL_GPL vmlinux 0xc8594d3d reset_control_acquire +EXPORT_SYMBOL_GPL vmlinux 0xc8624f91 blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0xc862a09e dev_attr_ncq_prio_enable +EXPORT_SYMBOL_GPL vmlinux 0xc867f405 vfio_pci_core_err_handlers +EXPORT_SYMBOL_GPL vmlinux 0xc874d710 hv_unmap_ioapic_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xc87e487a sched_clock_idle_sleep_event +EXPORT_SYMBOL_GPL vmlinux 0xc8a87fbf of_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0xc8ae1ea8 wwan_port_rx +EXPORT_SYMBOL_GPL vmlinux 0xc8d0d714 __SCK__tp_func_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0xc8d5448a pci_epf_add_vepf +EXPORT_SYMBOL_GPL vmlinux 0xc8ddd5b5 kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0xc8e8ca1d __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xc8efa1be subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0xc8ff4bdd __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0xc90b010f ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0xc91c980a led_classdev_notify_brightness_hw_changed +EXPORT_SYMBOL_GPL vmlinux 0xc91ee1b5 __SCT__tp_func_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xc91fdf58 percpu_ref_is_zero +EXPORT_SYMBOL_GPL vmlinux 0xc925ad5a ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0xc9288936 devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0xc92b86bc gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0xc9345c0f digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0xc93ee1e7 usb_phy_roothub_init +EXPORT_SYMBOL_GPL vmlinux 0xc9487318 gnttab_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xc952d85c __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9592ed3 rio_get_comptag +EXPORT_SYMBOL_GPL vmlinux 0xc9641b48 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0xc9681dbf sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0xc9796b38 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0xc979b1cc gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0xc97bf448 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc9827693 __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0xc983dc1e max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xc99f14f5 usb_acpi_power_manageable +EXPORT_SYMBOL_GPL vmlinux 0xc9a4b416 copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0xc9ad8569 fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xc9bce966 debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0xc9c3f176 hpet_register_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xc9dec427 component_add +EXPORT_SYMBOL_GPL vmlinux 0xc9e174e5 fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0xc9e64e10 fuse_dev_fiq_ops +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9ecff50 devl_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc9f17a08 __trace_trigger_soft_disabled +EXPORT_SYMBOL_GPL vmlinux 0xc9f29544 blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0xc9fd634a usb_role_switch_put +EXPORT_SYMBOL_GPL vmlinux 0xca21db29 kthread_data +EXPORT_SYMBOL_GPL vmlinux 0xca454a34 vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0xca467318 hibernation_set_ops +EXPORT_SYMBOL_GPL vmlinux 0xca4c3bd4 clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0xca5da188 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xca5f2eed vp_modern_get_status +EXPORT_SYMBOL_GPL vmlinux 0xca75c257 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca819ce5 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0xca8c238f genphy_c45_fast_retrain +EXPORT_SYMBOL_GPL vmlinux 0xca931ad4 regulator_list_voltage_table +EXPORT_SYMBOL_GPL vmlinux 0xca93559f devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0xca94bb37 __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0xca9a1d5e ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xca9dbc54 da9052_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0xcaa3bbef dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0xcaa68533 cpu_has_xfeatures +EXPORT_SYMBOL_GPL vmlinux 0xcab1b30f pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0xcab62029 trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcace864d nl_table +EXPORT_SYMBOL_GPL vmlinux 0xcad1285b cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0xcae2fbba __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xcaf1d958 evtchn_get +EXPORT_SYMBOL_GPL vmlinux 0xcb041894 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xcb07d7ba irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0xcb119f00 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xcb186931 pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0xcb28394e tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xcb2bfe2b nvmem_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcb2da4e6 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xcb3a73cd mbox_chan_txdone +EXPORT_SYMBOL_GPL vmlinux 0xcb3bb5b7 i2c_recover_bus +EXPORT_SYMBOL_GPL vmlinux 0xcb559f99 devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcb55b082 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xcb561441 mem_dump_obj +EXPORT_SYMBOL_GPL vmlinux 0xcb5b44ba class_find_device +EXPORT_SYMBOL_GPL vmlinux 0xcb5e17c5 watchdog_set_last_hw_keepalive +EXPORT_SYMBOL_GPL vmlinux 0xcb84437f devm_hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0xcb8a461c hv_stimer_legacy_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xcb970751 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xcb9a151b tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0xcb9e08b1 proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0xcba5120c __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0xcba99290 mptcp_get_reset_option +EXPORT_SYMBOL_GPL vmlinux 0xcbab9217 rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xcbb46ca0 misc_cg_set_capacity +EXPORT_SYMBOL_GPL vmlinux 0xcbc3107a acpi_data_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xcbd2b370 pwmchip_remove +EXPORT_SYMBOL_GPL vmlinux 0xcbe56bc2 zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0xcbf4b41f dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0xcbf853ec extcon_set_state_sync +EXPORT_SYMBOL_GPL vmlinux 0xcbff43b6 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0xcc0cffb9 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0xcc171172 dev_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0xcc1adc99 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0xcc234860 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xcc2dbfd8 irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0xcc2f3c49 usb_hcd_amd_remote_wakeup_quirk +EXPORT_SYMBOL_GPL vmlinux 0xcc2f5710 ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0xcc312197 clk_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0xcc39c03e nvmem_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc3ff6b8 crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xcc530248 crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0xcc54237d __hwspin_trylock +EXPORT_SYMBOL_GPL vmlinux 0xcc795932 devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0xcc85573d vfio_pci_core_mmap +EXPORT_SYMBOL_GPL vmlinux 0xcc8b527c usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0xcc91c284 acpi_subsys_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xcc9268fc hwpoison_filter_enable +EXPORT_SYMBOL_GPL vmlinux 0xcc935375 walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0xcca6fd84 metadata_dst_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xccabde6f crc64_rocksoft_generic +EXPORT_SYMBOL_GPL vmlinux 0xccbe3b29 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xccc0c864 perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd86806 ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0xccea4e34 perf_get_x86_pmu_capability +EXPORT_SYMBOL_GPL vmlinux 0xccf396a3 x86_perf_get_lbr +EXPORT_SYMBOL_GPL vmlinux 0xccf52bc9 sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0xcd0eb8cc gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0xcd1af976 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xcd1cfcd1 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0xcd1f1867 pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xcd24e146 hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0xcd3cdc04 gnttab_map_refs +EXPORT_SYMBOL_GPL vmlinux 0xcd3e11b0 __SCK__tp_func_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0xcd40170e rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xcd4d9fcd devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xcd5ce3df param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0xcd5d60a5 phy_speed_down +EXPORT_SYMBOL_GPL vmlinux 0xcd6c060f serial8250_get_port +EXPORT_SYMBOL_GPL vmlinux 0xcd6f2dc9 nf_log_buf_add +EXPORT_SYMBOL_GPL vmlinux 0xcd7775c8 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0xcd779e1f user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xcd7cd9d6 bio_poll +EXPORT_SYMBOL_GPL vmlinux 0xcd81a945 switch_fpu_return +EXPORT_SYMBOL_GPL vmlinux 0xcd8e8f82 uv_bios_enum_objs +EXPORT_SYMBOL_GPL vmlinux 0xcd91b127 system_highpri_wq +EXPORT_SYMBOL_GPL vmlinux 0xcd9cd2ff wakeme_after_rcu +EXPORT_SYMBOL_GPL vmlinux 0xcdadde67 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0xcdb6adcc ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0xcdbd447e rio_route_get_entry +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcde1a1fa sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0xcde26600 cppc_get_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0xcde57a01 spi_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xcde6d288 dm_put +EXPORT_SYMBOL_GPL vmlinux 0xcdf8ec93 __irq_domain_alloc_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xcdff3f97 __SCK__tp_func_unmap +EXPORT_SYMBOL_GPL vmlinux 0xce0582b6 pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0xce0a4020 xenbus_directory +EXPORT_SYMBOL_GPL vmlinux 0xce120d53 fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0xce1578ea securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xce1bb032 dev_pm_opp_get_max_volt_latency +EXPORT_SYMBOL_GPL vmlinux 0xce2cf88d nvdimm_delete +EXPORT_SYMBOL_GPL vmlinux 0xce38e2b1 __clk_get_hw +EXPORT_SYMBOL_GPL vmlinux 0xce5dfb45 __traceiter_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0xce5ed3d0 fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0xce6163e1 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0xce667cd9 dax_layout_busy_page +EXPORT_SYMBOL_GPL vmlinux 0xce6c67e6 led_put +EXPORT_SYMBOL_GPL vmlinux 0xce6db656 rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0xce74fd39 iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0xce852bf3 device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xce945996 inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0xce9d30ae dma_async_device_channel_register +EXPORT_SYMBOL_GPL vmlinux 0xce9d39d0 dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0xcea3b775 __SCK__tp_func_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0xceac751e __percpu_init_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xceadc1c3 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0xceae7f39 pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0xceb1f126 mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0xceb4423c pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0xceb66bec sched_clock_cpu +EXPORT_SYMBOL_GPL vmlinux 0xceca97a1 cros_ec_check_features +EXPORT_SYMBOL_GPL vmlinux 0xced4b3d9 __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0xced5b33a tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0xcee1641c kgdb_unregister_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xceef797b lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0xcef2270d hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xcf02ab71 __SCT__tp_func_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0xcf05f48c clk_hw_rate_is_protected +EXPORT_SYMBOL_GPL vmlinux 0xcf08347c da9052_free_irq +EXPORT_SYMBOL_GPL vmlinux 0xcf0aded4 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xcf138d46 __fscrypt_prepare_readdir +EXPORT_SYMBOL_GPL vmlinux 0xcf26e972 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xcf2b93c8 __SCT__tp_func_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0xcf3d86fe usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0xcf461308 devm_clk_get_optional_prepared +EXPORT_SYMBOL_GPL vmlinux 0xcf46c5e1 scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0xcf535439 sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0xcf540422 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0xcf5ced11 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0xcf6c2760 nfs_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcf83b2a0 platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0xcfa73b65 netif_carrier_event +EXPORT_SYMBOL_GPL vmlinux 0xcfc5108a devlink_fmsg_u8_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xcfc7b4e4 rcu_barrier_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0xcfd30d71 acpi_os_map_memory +EXPORT_SYMBOL_GPL vmlinux 0xcfdb7faf __SCK__tp_func_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xcfe4983a bpf_trace_run1 +EXPORT_SYMBOL_GPL vmlinux 0xcfe67af4 iommu_sva_find +EXPORT_SYMBOL_GPL vmlinux 0xcfee9288 __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xcfffdbe8 rio_request_mport_dma +EXPORT_SYMBOL_GPL vmlinux 0xd0177a65 acrn_setup_intr_handler +EXPORT_SYMBOL_GPL vmlinux 0xd01b4681 devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0xd01fcc8a acpiphp_unregister_attention +EXPORT_SYMBOL_GPL vmlinux 0xd029b5a8 _copy_from_iter_flushcache +EXPORT_SYMBOL_GPL vmlinux 0xd02dc2ba pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0xd03eaf4c schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0xd0458ccb xenbus_strstate +EXPORT_SYMBOL_GPL vmlinux 0xd04725bd crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0xd04a2de1 unregister_fprobe +EXPORT_SYMBOL_GPL vmlinux 0xd0559180 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0xd06524ba raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd067d3c5 system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0xd06bfe50 tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0xd075a104 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xd0769dd5 i2c_dw_prepare_clk +EXPORT_SYMBOL_GPL vmlinux 0xd07e43f2 pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0xd080f279 nvdimm_region_notify +EXPORT_SYMBOL_GPL vmlinux 0xd0884bfe hsu_dma_remove +EXPORT_SYMBOL_GPL vmlinux 0xd092de93 virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0xd09911a6 acpi_dev_get_irq_type +EXPORT_SYMBOL_GPL vmlinux 0xd0b3ba39 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xd0b6d48c percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0d156e9 __rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xd0d3f0a4 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0xd0db0f12 run_dax +EXPORT_SYMBOL_GPL vmlinux 0xd0dc99f6 da9052_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0xd0df12ba __SCT__tp_func_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xd0eaec90 irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0xd0f67dc5 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0xd0f9ec4c ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0xd0fd7085 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd105e19b account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0xd118a375 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0xd126e834 __xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0xd138c08a free_iova_fast +EXPORT_SYMBOL_GPL vmlinux 0xd13a94d1 __SCT__tp_func_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0xd1481de7 mpi_clear +EXPORT_SYMBOL_GPL vmlinux 0xd1530dce da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0xd1570730 cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0xd159586c net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xd1719c94 ohci_hub_status_data +EXPORT_SYMBOL_GPL vmlinux 0xd1783a59 tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0xd17c4f92 xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0xd17d8e7e wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0xd19580f5 pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0xd19f642a vfio_pci_core_write +EXPORT_SYMBOL_GPL vmlinux 0xd1ad2b4c tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0xd1b96b1b usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0xd1cac7bf unregister_ftrace_direct +EXPORT_SYMBOL_GPL vmlinux 0xd1cbc23c add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd1e1162f ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0xd1e7a936 folio_wait_writeback_killable +EXPORT_SYMBOL_GPL vmlinux 0xd1e9b2ad __SCT__tp_func_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0xd1f2eee2 nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0xd1f5644f tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0xd1f78808 devres_add +EXPORT_SYMBOL_GPL vmlinux 0xd1fb81ce pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xd20c66ab __SCT__tp_func_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd21b61bd async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0xd231a2aa sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xd2423f76 i2c_acpi_get_i2c_resource +EXPORT_SYMBOL_GPL vmlinux 0xd24259b5 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xd24e9e8c klist_init +EXPORT_SYMBOL_GPL vmlinux 0xd25bcb1a usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xd260af0d ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xd264b1e1 xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0xd2699c17 fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0xd26cfa12 __acpi_node_get_property_reference +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd2746af8 blk_crypto_intersect_capabilities +EXPORT_SYMBOL_GPL vmlinux 0xd27eeb4b alloc_iova +EXPORT_SYMBOL_GPL vmlinux 0xd27f215d gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xd280a6bb bind_interdomain_evtchn_to_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0xd29c1f10 __traceiter_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0xd2acc270 events_hybrid_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0xd2b10a05 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0xd2be10fa phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0xd2d57e44 dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xd2d6ffcc vp_modern_get_queue_size +EXPORT_SYMBOL_GPL vmlinux 0xd2d761ba trace_array_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd2d7e59b unregister_platform_power_off +EXPORT_SYMBOL_GPL vmlinux 0xd2dc64f0 pm_runtime_set_memalloc_noio +EXPORT_SYMBOL_GPL vmlinux 0xd2ffe91d vp_legacy_set_status +EXPORT_SYMBOL_GPL vmlinux 0xd306c109 blk_crypto_profile_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd311d70e ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0xd313bc7b xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0xd319fe69 rio_unmap_inb_region +EXPORT_SYMBOL_GPL vmlinux 0xd31a2ac5 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0xd31aef97 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xd31b3c68 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0xd320ebaf pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0xd320f097 hwpoison_filter +EXPORT_SYMBOL_GPL vmlinux 0xd3280846 gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0xd328312a device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xd33498b1 switchdev_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0xd35759a2 ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0xd36760ef __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xd3752c27 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xd37f10fc pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0xd382dbdf phy_get +EXPORT_SYMBOL_GPL vmlinux 0xd39a8f99 wwan_put_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0xd39e9848 put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xd3b2e2bf subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd3bc7f90 to_nd_region +EXPORT_SYMBOL_GPL vmlinux 0xd3c16cce __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xd3c39604 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xd3e31d95 dev_pm_domain_start +EXPORT_SYMBOL_GPL vmlinux 0xd3eaf1ed devlink_dpipe_entry_clear +EXPORT_SYMBOL_GPL vmlinux 0xd3ec851c __traceiter_unmap +EXPORT_SYMBOL_GPL vmlinux 0xd3f16ce7 rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4116121 pm_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0xd41fc62f bio_add_zone_append_page +EXPORT_SYMBOL_GPL vmlinux 0xd426dbc4 erst_get_record_count +EXPORT_SYMBOL_GPL vmlinux 0xd42f1d4e show_rcu_tasks_rude_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0xd435ad4c __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xd437ebd0 __SCK__tp_func_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0xd4404350 __SCT__tp_func_block_split +EXPORT_SYMBOL_GPL vmlinux 0xd443fa18 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0xd44a5eac kgdb_register_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xd45ba097 virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0xd45db3f7 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd46af5ef cppc_get_perf_ctrs +EXPORT_SYMBOL_GPL vmlinux 0xd46fcd9c rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xd47481e8 __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0xd4761617 regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xd479d28b debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0xd47edc7c xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0xd48df7ab __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0xd49762d6 dma_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xd4a7413b dev_pm_opp_xlate_required_opp +EXPORT_SYMBOL_GPL vmlinux 0xd4ac42ef fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0xd4ac7664 irq_gc_ack_set_bit +EXPORT_SYMBOL_GPL vmlinux 0xd4b6157e devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0xd4b9a616 reset_control_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4c8cd3f crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0xd4d4f102 regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xd4d929b4 usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0xd4e6d7e0 linear_range_get_value +EXPORT_SYMBOL_GPL vmlinux 0xd4e6e772 blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0xd4ea65ab pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0xd4ec9eb7 pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0xd4ee31e6 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0xd4f1bfb8 udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0xd4f5bfa5 iommu_queue_iopf +EXPORT_SYMBOL_GPL vmlinux 0xd4f5d658 md_start +EXPORT_SYMBOL_GPL vmlinux 0xd502b5ab seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0xd52391aa usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0xd5301b2c linear_range_get_max_value +EXPORT_SYMBOL_GPL vmlinux 0xd53c67b3 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xd53e4e3f ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0xd53fbb60 __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0xd5407c76 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0xd541571d ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0xd5474690 usb_role_switch_set_role +EXPORT_SYMBOL_GPL vmlinux 0xd5502e81 dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0xd5524776 is_nvdimm_sync +EXPORT_SYMBOL_GPL vmlinux 0xd55ad93b iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xd5787987 devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0xd581fac6 gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0xd59a1587 linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0xd5eb0d4e acpi_register_lps0_dev +EXPORT_SYMBOL_GPL vmlinux 0xd5f3bb7b set_memory_encrypted +EXPORT_SYMBOL_GPL vmlinux 0xd5f4147b __traceiter_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0xd5ff2622 __tracepoint_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0xd63af2b4 balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0xd63f7e67 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xd64ed259 __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd67d4ae6 crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0xd686aaec regulator_irq_helper +EXPORT_SYMBOL_GPL vmlinux 0xd6a281bf __xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0xd6a739c4 regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xd6aafb42 crc64_rocksoft +EXPORT_SYMBOL_GPL vmlinux 0xd6b27e8a xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0xd6c96713 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xd6ccfe2c efivar_entry_set +EXPORT_SYMBOL_GPL vmlinux 0xd6da664c inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0xd6df2d33 bpf_trace_run2 +EXPORT_SYMBOL_GPL vmlinux 0xd6e887a7 pci_acpi_set_companion_lookup_hook +EXPORT_SYMBOL_GPL vmlinux 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL vmlinux 0xd7004076 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xd71c15e7 gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0xd7269c64 osc_sb_native_usb4_control +EXPORT_SYMBOL_GPL vmlinux 0xd7293ffc percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0xd72a60c7 acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xd72feba2 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xd730427a fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0xd7374409 devm_regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xd7399d2a efivar_entry_iter_end +EXPORT_SYMBOL_GPL vmlinux 0xd73e2d04 pci_pri_supported +EXPORT_SYMBOL_GPL vmlinux 0xd74e400f show_rcu_tasks_classic_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0xd75b20aa rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0xd75e3c40 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd76b0721 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0xd774957d mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0xd77a5497 register_fprobe_syms +EXPORT_SYMBOL_GPL vmlinux 0xd78a52d6 debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xd78ab226 net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0xd79d7507 pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xd7adc8f5 ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xd7adfeb3 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0xd7b18dc4 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0xd7cea889 edac_mod_work +EXPORT_SYMBOL_GPL vmlinux 0xd7cf14a4 power_supply_put +EXPORT_SYMBOL_GPL vmlinux 0xd7d7f2a7 devlink_port_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd7ebf5e5 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0xd7f5bdb4 ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xd8188eb5 rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xd81eb466 fscrypt_symlink_getattr +EXPORT_SYMBOL_GPL vmlinux 0xd821122c devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0xd82c8714 edac_device_handle_ue_count +EXPORT_SYMBOL_GPL vmlinux 0xd84d2106 pinctrl_find_gpio_range_from_pin +EXPORT_SYMBOL_GPL vmlinux 0xd84d35bd dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xd85019d4 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0xd86fdf7b device_register +EXPORT_SYMBOL_GPL vmlinux 0xd87aaec6 nvdimm_bus_register +EXPORT_SYMBOL_GPL vmlinux 0xd87fc0a0 usb_amd_prefetch_quirk +EXPORT_SYMBOL_GPL vmlinux 0xd882527b pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0xd8899f00 fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0xd8affed2 handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0xd8b4b702 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0xd8b710c3 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xd8c6de6a devm_of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xd8d065dd hv_stimer_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd8d68ab1 dmi_memdev_type +EXPORT_SYMBOL_GPL vmlinux 0xd8e2f4bc __tracepoint_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0xd8fbb14d net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xd91025c9 class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xd9117aae user_describe +EXPORT_SYMBOL_GPL vmlinux 0xd91dbd1f xdp_alloc_skb_bulk +EXPORT_SYMBOL_GPL vmlinux 0xd92ef192 security_kernel_post_load_data +EXPORT_SYMBOL_GPL vmlinux 0xd92f0791 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xd9314030 wp_shared_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0xd9321a10 devm_pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0xd93608bb shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0xd9373014 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xd93a5cb1 efivar_variable_is_removable +EXPORT_SYMBOL_GPL vmlinux 0xd9441878 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0xd96babb4 interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd96cbb90 __SCK__tp_func_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0xd98a6a33 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0xd9904b38 dev_pm_genpd_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd9916c3a idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0xd9977037 thermal_zone_get_offset +EXPORT_SYMBOL_GPL vmlinux 0xd9992eb4 uv_bios_get_geoinfo +EXPORT_SYMBOL_GPL vmlinux 0xd9b06f91 nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0xd9d0a2af devlink_flash_update_timeout_notify +EXPORT_SYMBOL_GPL vmlinux 0xd9e24457 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0xd9ecef74 dev_pm_genpd_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd9f7b973 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0xd9ff2172 ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xda0722b8 power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0xda0947de kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xda0ab472 dev_pm_opp_put_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0xda13813d security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0xda17db40 __devm_clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0xda188f6d pci_iov_get_pf_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xda1f78ee clear_hv_tscchange_cb +EXPORT_SYMBOL_GPL vmlinux 0xda1ffc7a thermal_zone_device_register +EXPORT_SYMBOL_GPL vmlinux 0xda320d31 sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0xda3d8578 kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0xda54df95 __SCK__tp_func_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0xda5573c7 irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0xda7912d4 freq_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xda799cf6 usb_role_switch_register +EXPORT_SYMBOL_GPL vmlinux 0xda8369a7 __traceiter_extlog_mem_event +EXPORT_SYMBOL_GPL vmlinux 0xda8df972 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xda8e1302 software_node_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0xda9fbd2e icc_link_create +EXPORT_SYMBOL_GPL vmlinux 0xdaa06dc1 acpi_lpat_raw_to_temp +EXPORT_SYMBOL_GPL vmlinux 0xdab5a1eb interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0xdab87132 inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0xdab88c6c crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xdacc7289 intel_pmic_install_opregion_handler +EXPORT_SYMBOL_GPL vmlinux 0xdad46e54 devm_hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0xdad8f744 pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdafdc358 __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0xdb025654 __traceiter_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0xdb1aaf9b arch_is_platform_page +EXPORT_SYMBOL_GPL vmlinux 0xdb205606 fw_devlink_purge_absent_suppliers +EXPORT_SYMBOL_GPL vmlinux 0xdb307c7d ethnl_cable_test_result +EXPORT_SYMBOL_GPL vmlinux 0xdb47bff6 acpi_dev_get_first_consumer_dev +EXPORT_SYMBOL_GPL vmlinux 0xdb50ebaf vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xdb62dc67 __SCT__tp_func_map +EXPORT_SYMBOL_GPL vmlinux 0xdb63a944 acpi_lpat_get_conversion_table +EXPORT_SYMBOL_GPL vmlinux 0xdb85e739 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1847 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb93532e tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0xdb9c8ab8 serial8250_do_set_mctrl +EXPORT_SYMBOL_GPL vmlinux 0xdba0e344 machine_check_poll +EXPORT_SYMBOL_GPL vmlinux 0xdba5778c devm_request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0xdbdb0e8b request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xdbdc4fdb led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdbfa5b55 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xdc02eb39 dmi_available +EXPORT_SYMBOL_GPL vmlinux 0xdc046457 pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0xdc0564b1 clk_hw_get_parent_index +EXPORT_SYMBOL_GPL vmlinux 0xdc120746 msi_get_virq +EXPORT_SYMBOL_GPL vmlinux 0xdc14a211 xen_hvm_evtchn_do_upcall +EXPORT_SYMBOL_GPL vmlinux 0xdc1620a2 scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0xdc293cf9 phy_start_machine +EXPORT_SYMBOL_GPL vmlinux 0xdc2f2404 pci_epc_put +EXPORT_SYMBOL_GPL vmlinux 0xdc381740 led_init_default_state_get +EXPORT_SYMBOL_GPL vmlinux 0xdc3b8285 pci_user_read_config_byte +EXPORT_SYMBOL_GPL vmlinux 0xdc43bdc6 pci_vpd_find_ro_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0xdc45a5db edac_stop_work +EXPORT_SYMBOL_GPL vmlinux 0xdc5191e8 shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0xdc52e592 crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0xdc5a7941 __ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0xdc6596fa irq_set_parent +EXPORT_SYMBOL_GPL vmlinux 0xdc6699cb acpi_dev_free_resource_list +EXPORT_SYMBOL_GPL vmlinux 0xdc719bcd ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0xdc7dca23 dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0xdc7df67f apei_exec_ctx_init +EXPORT_SYMBOL_GPL vmlinux 0xdc7ee4fc gnttab_page_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xdc811005 pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc82dc7c crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xdc841b74 misc_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc9fa232 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xdcb3c052 synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0xdcb96dc5 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0xdcbea18f ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0xdcc58a16 pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0xdccf2acd crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xdccfc3ad devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0xdcdb940b bpf_offload_dev_netdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdd0762df set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0xdd1b5274 devm_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0xdd217687 ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xdd2820ca fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0xdd450ef1 x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0xdd498258 tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0xdd54eb2e unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xdd626ee3 fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0xdd68a17d acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0xdd84820c serial8250_do_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0xdd8fcd8d regulator_map_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xdd91a28a blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0xdd9dd80d xen_pvh +EXPORT_SYMBOL_GPL vmlinux 0xddaa3041 __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0xddbeeecc pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0xddc01f90 thermal_zone_device_enable +EXPORT_SYMBOL_GPL vmlinux 0xddc36276 usb_get_dr_mode +EXPORT_SYMBOL_GPL vmlinux 0xddccc1b9 __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0xddcd3b2f mbox_client_peek_data +EXPORT_SYMBOL_GPL vmlinux 0xddd656c0 mmput +EXPORT_SYMBOL_GPL vmlinux 0xdddb2b18 vp_legacy_probe +EXPORT_SYMBOL_GPL vmlinux 0xddde0ade register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0xdde85a47 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0xddebba77 blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0xddf32322 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0xddfc18fa device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0xde036c03 usb_amd_pt_check_port +EXPORT_SYMBOL_GPL vmlinux 0xde0efefc msi_lock_descs +EXPORT_SYMBOL_GPL vmlinux 0xde308aeb pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xde31bf7e unregister_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0xde52f786 rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xde6f1851 TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0xde7866c8 msi_next_desc +EXPORT_SYMBOL_GPL vmlinux 0xde7f02fd class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xde90ac9d crypto_stats_rng_seed +EXPORT_SYMBOL_GPL vmlinux 0xde97dbaf device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0xde98fd74 crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0xde9ab8c7 xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xde9d6665 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0xdead2e78 reserve_iova +EXPORT_SYMBOL_GPL vmlinux 0xdeb30bfd switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0xdeb9df96 to_nvdimm_bus_dev +EXPORT_SYMBOL_GPL vmlinux 0xdebbdd6f irq_domain_update_bus_token +EXPORT_SYMBOL_GPL vmlinux 0xdebd8485 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0xdee9bffa trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0xdeffa0a7 edac_raw_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0xdf016f00 irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0xdf0c757f ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0xdf0ca3f4 cpu_latency_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf1882af dbgp_reset_prep +EXPORT_SYMBOL_GPL vmlinux 0xdf1b5576 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xdf1be5e1 __free_iova +EXPORT_SYMBOL_GPL vmlinux 0xdf2738bb cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdf27efde md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xdf309bed sched_setattr_nocheck +EXPORT_SYMBOL_GPL vmlinux 0xdf3751ed key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xdf38cac8 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xdf448d1c fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0xdf50a9c2 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0xdf7b6309 nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0xdf7d4541 devlink_alloc_ns +EXPORT_SYMBOL_GPL vmlinux 0xdf7e5431 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0xdf7faa06 ext_pi_type3_crc64 +EXPORT_SYMBOL_GPL vmlinux 0xdf81924d uv_bios_mq_watchlist_free +EXPORT_SYMBOL_GPL vmlinux 0xdf861903 phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL vmlinux 0xdf9951eb bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0xdf9c6f3e sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xdfa0a787 spi_controller_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdfa44c70 usb_control_msg_recv +EXPORT_SYMBOL_GPL vmlinux 0xdfb60745 usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0xdfcb6c90 mctrl_gpio_set +EXPORT_SYMBOL_GPL vmlinux 0xdfce31b2 devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0xdfd0783d devm_usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0xdfd603d3 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdfe0d335 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0xdfe8c7d8 __traceiter_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0xe008e7f7 uprobe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe00a4202 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xe00ef2c1 sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0xe015232b crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0xe01e2654 fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0xe0251e6f ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0xe0313d71 rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0xe03ba895 crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0xe04c78db __SCT__tp_func_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0xe04f35df vp_legacy_config_vector +EXPORT_SYMBOL_GPL vmlinux 0xe051160d spi_mem_get_name +EXPORT_SYMBOL_GPL vmlinux 0xe05a296b hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xe05e2f85 nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe06001d9 tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0xe06375b8 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xe0673920 __tracepoint_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0xe07540a7 watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0xe07adf79 edac_device_add_device +EXPORT_SYMBOL_GPL vmlinux 0xe07ca984 tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0xe0849cfd regulator_get_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL vmlinux 0xe09fd2d5 ehci_setup +EXPORT_SYMBOL_GPL vmlinux 0xe0b1c103 clk_set_max_rate +EXPORT_SYMBOL_GPL vmlinux 0xe0b85582 iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0xe0baa3ab edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL vmlinux 0xe0c4e14d hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xe0c77bb5 mce_notify_irq +EXPORT_SYMBOL_GPL vmlinux 0xe0d0847c spi_mem_dirmap_read +EXPORT_SYMBOL_GPL vmlinux 0xe0d39f1c sgx_set_attribute +EXPORT_SYMBOL_GPL vmlinux 0xe0dba48e icc_link_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe0ed8f88 extcon_find_edev_by_node +EXPORT_SYMBOL_GPL vmlinux 0xe0ff46d3 for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0xe1000717 pci_epf_remove_vepf +EXPORT_SYMBOL_GPL vmlinux 0xe10cd6ad erst_get_record_id_begin +EXPORT_SYMBOL_GPL vmlinux 0xe11062c4 udp_bpf_update_proto +EXPORT_SYMBOL_GPL vmlinux 0xe1122d8a sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0xe125d5b4 kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0xe1266cfc pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0xe127f1f7 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0xe1465a6c devm_regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xe1600dcb fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0xe16b51e4 blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0xe1751f91 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xe175a7ca ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0xe176414e i2c_match_id +EXPORT_SYMBOL_GPL vmlinux 0xe1775ee7 dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0xe17c4536 nfs42_ssc_register +EXPORT_SYMBOL_GPL vmlinux 0xe18d3551 md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0xe197f281 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xe1a06a3d mptcp_diag_fill_info +EXPORT_SYMBOL_GPL vmlinux 0xe1a8d7c9 net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xe1aa2d62 set_hv_tscchange_cb +EXPORT_SYMBOL_GPL vmlinux 0xe1ab22ee __auxiliary_device_add +EXPORT_SYMBOL_GPL vmlinux 0xe1ad469c blk_mark_disk_dead +EXPORT_SYMBOL_GPL vmlinux 0xe1b821e9 debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0xe1bd6c99 rio_init_mports +EXPORT_SYMBOL_GPL vmlinux 0xe1c87a2f kernel_can_power_off +EXPORT_SYMBOL_GPL vmlinux 0xe1e4970b acpi_device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0xe1e8e81c power_supply_get_property +EXPORT_SYMBOL_GPL vmlinux 0xe1fb5183 uart_xchar_out +EXPORT_SYMBOL_GPL vmlinux 0xe1feef03 battery_hook_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe20e887b crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xe20f98b6 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0xe213ee71 tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0xe21b4536 usb_acpi_set_power_state +EXPORT_SYMBOL_GPL vmlinux 0xe2265d01 spi_controller_dma_unmap_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0xe23119f7 __traceiter_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0xe233762a input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0xe239953e strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0xe243801e phy_create_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe25473cb relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xe25d23f3 blocking_notifier_call_chain_robust +EXPORT_SYMBOL_GPL vmlinux 0xe25e273c blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0xe26410ba scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0xe271f20c __SCT__tp_func_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0xe28c5a56 crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0xe295c0ff is_hpet_enabled +EXPORT_SYMBOL_GPL vmlinux 0xe2aba377 tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0xe2b3207a unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe2b376bc __efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0xe2c90e14 tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0xe2ce2b4d evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0xe3013a81 gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0xe30bdc01 edac_pci_add_device +EXPORT_SYMBOL_GPL vmlinux 0xe31315a4 spi_delay_exec +EXPORT_SYMBOL_GPL vmlinux 0xe3205873 pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0xe32927b0 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0xe340af9a debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xe349fbf5 badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0xe374728b efivar_entry_find +EXPORT_SYMBOL_GPL vmlinux 0xe37f19c8 ptdump_walk_pgd_level_debugfs +EXPORT_SYMBOL_GPL vmlinux 0xe380bcb1 devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0xe3840e18 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xe385f6d2 dev_pm_opp_disable +EXPORT_SYMBOL_GPL vmlinux 0xe389ddce crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xe3949399 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0xe397caf5 seq_buf_printf +EXPORT_SYMBOL_GPL vmlinux 0xe39d0794 usb_phy_roothub_exit +EXPORT_SYMBOL_GPL vmlinux 0xe3b09712 kprobe_event_delete +EXPORT_SYMBOL_GPL vmlinux 0xe3b51be8 devres_release +EXPORT_SYMBOL_GPL vmlinux 0xe3bc7fd4 hpet_unregister_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0xe3cd5fae klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe3cdca90 gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0xe3de866e fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xe3e423ac iommu_group_release_dma_owner +EXPORT_SYMBOL_GPL vmlinux 0xe3e4e1f9 crypto_create_tfm_node +EXPORT_SYMBOL_GPL vmlinux 0xe3e88acb __get_current_cr3_fast +EXPORT_SYMBOL_GPL vmlinux 0xe3ef2d4c dw8250_do_set_termios +EXPORT_SYMBOL_GPL vmlinux 0xe3f060b0 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xe403f9ae syscon_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xe40bb23e devlink_health_reporter_priv +EXPORT_SYMBOL_GPL vmlinux 0xe41a5ee9 devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xe41db5ea linear_hugepage_index +EXPORT_SYMBOL_GPL vmlinux 0xe41e5380 dmaengine_desc_attach_metadata +EXPORT_SYMBOL_GPL vmlinux 0xe4248980 cper_estatus_print +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe4518521 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xe48611ac trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0xe4971ade tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xe4b064f9 pcie_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xe4b818c3 phy_speed_to_str +EXPORT_SYMBOL_GPL vmlinux 0xe4c2c66c rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0xe4c318a5 bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0xe4c49d6d dma_resv_get_fences +EXPORT_SYMBOL_GPL vmlinux 0xe4cbdfa1 start_poll_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xe4db7d7a attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xe4e48b12 swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0xe4fa6bd1 tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0xe500d2c6 device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xe5032c67 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0xe52da673 acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0xe5336188 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe58b9994 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0xe5af0d9a fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0xe5c02b64 freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xe5c41616 device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0xe5ce1a56 rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0xe5d0f834 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0xe5d28ee5 devfreq_event_disable_edev +EXPORT_SYMBOL_GPL vmlinux 0xe5d588df mddev_init +EXPORT_SYMBOL_GPL vmlinux 0xe5f0de07 pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0xe5f35306 vchan_find_desc +EXPORT_SYMBOL_GPL vmlinux 0xe5f3aa28 scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0xe5f82a04 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xe6004665 irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0xe60632a9 edac_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe60a5e8d pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xe60ba332 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0xe612a7a6 dw_pcie_link_up +EXPORT_SYMBOL_GPL vmlinux 0xe61d2776 trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0xe620f0d9 make_device_exclusive_range +EXPORT_SYMBOL_GPL vmlinux 0xe625b447 ohci_setup +EXPORT_SYMBOL_GPL vmlinux 0xe628bb9f phy_fibre_port_array +EXPORT_SYMBOL_GPL vmlinux 0xe634d170 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0xe638dc6a usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xe63bce36 devm_thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0xe64ad8ea unregister_nmi_handler +EXPORT_SYMBOL_GPL vmlinux 0xe65a8879 of_pm_clk_add_clks +EXPORT_SYMBOL_GPL vmlinux 0xe65bd47c genphy_c45_pma_resume +EXPORT_SYMBOL_GPL vmlinux 0xe65c9447 virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0xe65f036e balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0xe66f2940 dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe6759ae9 phy_pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0xe685f240 gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0xe68765c7 get_state_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xe69cd288 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0xe69e00c1 rio_route_clr_table +EXPORT_SYMBOL_GPL vmlinux 0xe6a257f1 divider_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0xe6ab07df fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0xe6bfb196 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xe6c2405f sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0xe6d220b4 handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0xe6d85f4e dma_map_sgtable +EXPORT_SYMBOL_GPL vmlinux 0xe6dbeac2 inode_dax +EXPORT_SYMBOL_GPL vmlinux 0xe6e40502 rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0xe6e6b684 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xe6f52443 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0xe6f83837 acpi_bus_attach_private_data +EXPORT_SYMBOL_GPL vmlinux 0xe700d767 reset_control_bulk_deassert +EXPORT_SYMBOL_GPL vmlinux 0xe702e1d8 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xe71c4cfe __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xe7232e0f user_return_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe72ff6d6 fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xe740b58a hv_vp_assist_page +EXPORT_SYMBOL_GPL vmlinux 0xe753b68d devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xe7579d4d watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0xe75bc340 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0xe7617810 genphy_c45_aneg_done +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe783e261 sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0xe785529c mptcp_pm_get_subflows_max +EXPORT_SYMBOL_GPL vmlinux 0xe78f6f7b trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0xe79018f6 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0xe79bf0c4 klp_shadow_get +EXPORT_SYMBOL_GPL vmlinux 0xe7a286ae trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0xe7a28e83 switchdev_bridge_port_offload +EXPORT_SYMBOL_GPL vmlinux 0xe7a9158e phy_check_downshift +EXPORT_SYMBOL_GPL vmlinux 0xe7b0ff43 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0xe7b96be0 tdx_mcall_get_report0 +EXPORT_SYMBOL_GPL vmlinux 0xe7c1b15a thermal_zone_get_temp +EXPORT_SYMBOL_GPL vmlinux 0xe7c94941 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0xe7cfc934 blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe7d6d2d4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xe7e104ad ioc_find_get_icq +EXPORT_SYMBOL_GPL vmlinux 0xe7e36c3e fat_detach +EXPORT_SYMBOL_GPL vmlinux 0xe7e3c309 regmap_get_raw_write_max +EXPORT_SYMBOL_GPL vmlinux 0xe7f1e986 phy_configure +EXPORT_SYMBOL_GPL vmlinux 0xe80b7514 wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe81cabc1 __phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0xe821eab7 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xe82c9619 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xe838f360 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0xe83eba32 itlb_multihit_kvm_mitigation +EXPORT_SYMBOL_GPL vmlinux 0xe8416d07 vfio_pci_core_aer_err_detected +EXPORT_SYMBOL_GPL vmlinux 0xe84ae014 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe862fd0f ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0xe86a4101 hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0xe870aca7 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0xe8860ba3 do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0xe88c86bc __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xe891509e pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0xe8c0065d memory_group_register_static +EXPORT_SYMBOL_GPL vmlinux 0xe8c778a8 pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0xe8d8e2c5 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xe8df9c04 pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0xe8e22ed9 check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0xe8e235c8 arch_static_call_transform +EXPORT_SYMBOL_GPL vmlinux 0xe8ece2c7 extcon_get_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xe8f04ba2 dma_vunmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0xe90a5747 device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0xe911df29 eventfd_ctx_do_read +EXPORT_SYMBOL_GPL vmlinux 0xe9221137 fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xe92da69c ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xe9312056 xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0xe937902f lwtunnel_get_encap_size +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9636fe2 fuse_init_fs_context_submount +EXPORT_SYMBOL_GPL vmlinux 0xe966610a vp_legacy_get_queue_size +EXPORT_SYMBOL_GPL vmlinux 0xe9689cc3 __tracepoint_extlog_mem_event +EXPORT_SYMBOL_GPL vmlinux 0xe96ca5bd debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0xe973fef2 component_compare_of +EXPORT_SYMBOL_GPL vmlinux 0xe97e5dc5 __SCK__tp_func_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0xe98a505d acpi_pm_set_device_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xe9925143 __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xe998e5be ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xe9b2e511 dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0xe9b5663e __traceiter_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0xe9b8cf0a devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0xe9c444ab dev_fill_forward_path +EXPORT_SYMBOL_GPL vmlinux 0xe9ce931a kvm_para_available +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9d3c623 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0xe9d8fc02 regulator_get_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xe9e45dfe lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0xe9ed9f0a usb_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xe9f5116f rcu_exp_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0xe9fadf16 __SCT__tp_func_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xea018bbb mpi_test_bit +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea15c9b0 ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0xea178813 dev_pm_opp_find_freq_exact +EXPORT_SYMBOL_GPL vmlinux 0xea2dfc94 acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0xea32484e __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0xea38036f ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xea3a23f3 public_key_free +EXPORT_SYMBOL_GPL vmlinux 0xea49305d mctrl_gpio_init_noauto +EXPORT_SYMBOL_GPL vmlinux 0xea51c712 od_register_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0xea7eae6b perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0xea7f6de8 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0xea82d546 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xea966220 led_blink_set_oneshot +EXPORT_SYMBOL_GPL vmlinux 0xeab07116 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0xead2bc25 dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0xead3e41b __traceiter_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xead54924 mctrl_gpio_to_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xead5c8e5 clk_bulk_prepare +EXPORT_SYMBOL_GPL vmlinux 0xead94009 device_match_any +EXPORT_SYMBOL_GPL vmlinux 0xeadcef13 __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0xeae0f496 clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0xeae63ae0 mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xeaf0a57c look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0xeaf3cb23 crc64_be +EXPORT_SYMBOL_GPL vmlinux 0xeb0c6f2f elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0xeb0cd942 debugfs_lookup_and_remove +EXPORT_SYMBOL_GPL vmlinux 0xeb0e6b21 __SCK__tp_func_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xeb1b8a32 blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0xeb258612 devm_of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0xeb29b342 tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0xeb2fb853 devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0xeb6ba750 gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0xeb833c22 xen_has_pv_disk_devices +EXPORT_SYMBOL_GPL vmlinux 0xeb8ecc18 class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xeb98bcf0 scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0xeb9903b0 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xebb4d4d1 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xebbf6012 pinctrl_dev_get_name +EXPORT_SYMBOL_GPL vmlinux 0xebc9a09f lock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0xebcadba4 ohci_suspend +EXPORT_SYMBOL_GPL vmlinux 0xebd4cc11 mctrl_gpio_enable_ms +EXPORT_SYMBOL_GPL vmlinux 0xebde80ba platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0xebe22a4c l3mdev_table_lookup_register +EXPORT_SYMBOL_GPL vmlinux 0xebf23c1a fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0xebf91ba8 pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0xec055e60 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0xec1b7939 devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xec1def33 crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0xec3698e1 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xec372de4 crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0xec3b8466 iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0xec40d363 fwnode_usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0xec45bc8a noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0xec5668f6 dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0xec59140d perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0xec5ad73b trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0xec5e8d63 skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0xec774acb cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xec788566 acpi_target_system_state +EXPORT_SYMBOL_GPL vmlinux 0xec83639a component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0xec905548 crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0xeca4e3c8 rio_enable_rx_tx_port +EXPORT_SYMBOL_GPL vmlinux 0xecba68e3 gnttab_batch_map +EXPORT_SYMBOL_GPL vmlinux 0xecbce164 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xecd8f23d xenbus_read +EXPORT_SYMBOL_GPL vmlinux 0xecdc2dae __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xecdd0cf1 gnttab_pages_clear_private +EXPORT_SYMBOL_GPL vmlinux 0xecec7c9a blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0xecfd3d38 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0xed0854ad __devm_clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0xed0cea09 firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0xed10d08b regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0xed1d8828 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0xed207e7e filemap_read +EXPORT_SYMBOL_GPL vmlinux 0xed2c5bcf power_supply_charge_behaviour_parse +EXPORT_SYMBOL_GPL vmlinux 0xed2ddbfa set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0xed2e55a0 devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0xed39b7b8 parse_OID +EXPORT_SYMBOL_GPL vmlinux 0xed3fae38 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xed43ef40 devm_pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0xed526344 __traceiter_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xed5448e9 __traceiter_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xed573f65 dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0xed57eb4c disk_alloc_independent_access_ranges +EXPORT_SYMBOL_GPL vmlinux 0xed6aa713 sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0xed8c384b netdev_xmit_skip_txqueue +EXPORT_SYMBOL_GPL vmlinux 0xed918dde hte_init_line_attr +EXPORT_SYMBOL_GPL vmlinux 0xed91d666 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xed9abeac xenbus_dev_is_online +EXPORT_SYMBOL_GPL vmlinux 0xeda5dce9 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0xeda8461e disk_set_independent_access_ranges +EXPORT_SYMBOL_GPL vmlinux 0xeda9bf40 devfreq_event_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xedcfd2cf xenbus_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xedd092d5 power_supply_notifier +EXPORT_SYMBOL_GPL vmlinux 0xedd2ca16 l3mdev_table_lookup_unregister +EXPORT_SYMBOL_GPL vmlinux 0xedd9cd04 elv_register +EXPORT_SYMBOL_GPL vmlinux 0xede2df34 acpi_dev_get_resources +EXPORT_SYMBOL_GPL vmlinux 0xede4fc63 tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0xede9a09a btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0xee0a6814 ip6_input +EXPORT_SYMBOL_GPL vmlinux 0xee13e697 set_personality_ia32 +EXPORT_SYMBOL_GPL vmlinux 0xee20051d gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0xee38ef57 register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee3e6c7d skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0xee518148 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0xee56e655 pci_hp_destroy +EXPORT_SYMBOL_GPL vmlinux 0xee5bdd6c sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xee5f12bc proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0xee6b71c4 syscon_regmap_lookup_by_compatible +EXPORT_SYMBOL_GPL vmlinux 0xee6c633a devices_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xee6fac98 bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0xee8d2ae3 mmc_get_ext_csd +EXPORT_SYMBOL_GPL vmlinux 0xee99ba49 ata_sas_port_suspend +EXPORT_SYMBOL_GPL vmlinux 0xeea0685b pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0xeea877fc x86_vector_domain +EXPORT_SYMBOL_GPL vmlinux 0xeeade72c param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0xeecda1d8 extcon_set_property_sync +EXPORT_SYMBOL_GPL vmlinux 0xeed0cea4 kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xeedd987e phy_10gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0xeee1e191 rio_mport_initialize +EXPORT_SYMBOL_GPL vmlinux 0xeee667d3 fpregs_assert_state_consistent +EXPORT_SYMBOL_GPL vmlinux 0xeef0f10d devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0xeef0f203 devm_power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0xef1374d9 modify_ftrace_direct_multi +EXPORT_SYMBOL_GPL vmlinux 0xef18d2b3 dax_add_host +EXPORT_SYMBOL_GPL vmlinux 0xef1f6e23 apei_resources_request +EXPORT_SYMBOL_GPL vmlinux 0xef20c94b mdiobus_modify +EXPORT_SYMBOL_GPL vmlinux 0xef29fcdd clk_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xef2e4c5f __SCK__tp_func_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0xef34bf3e hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0xef464c28 getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0xef5286cc devm_clk_register +EXPORT_SYMBOL_GPL vmlinux 0xef561c63 fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0xef565c31 gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0xef5db66d regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef70eb7e ring_buffer_iter_advance +EXPORT_SYMBOL_GPL vmlinux 0xef7275d5 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xef8073f1 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0xef8c81ff kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xef8fc95f kvm_async_pf_task_wait_schedule +EXPORT_SYMBOL_GPL vmlinux 0xef92ef33 btree_last +EXPORT_SYMBOL_GPL vmlinux 0xefa2c27d register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefc00da3 __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0xefc5ebd8 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xefd40051 device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0xefd8ef18 clk_hw_register_composite +EXPORT_SYMBOL_GPL vmlinux 0xefeafcf1 edac_has_mcs +EXPORT_SYMBOL_GPL vmlinux 0xefefa5b5 clk_hw_round_rate +EXPORT_SYMBOL_GPL vmlinux 0xefff0132 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0xf0021b00 input_class +EXPORT_SYMBOL_GPL vmlinux 0xf03bd6af cpufreq_frequency_table_get_index +EXPORT_SYMBOL_GPL vmlinux 0xf042a40d i2c_dw_configure_master +EXPORT_SYMBOL_GPL vmlinux 0xf04429b4 acpi_bus_get_status_handle +EXPORT_SYMBOL_GPL vmlinux 0xf04efb08 thermal_zone_bind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0xf0593601 hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf05a52fe asn1_encode_oid +EXPORT_SYMBOL_GPL vmlinux 0xf05fbf09 pci_pio_to_address +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf0910075 sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0xf09878b6 __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xf09a90cc sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0xf0aa7768 security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0xf0c3261b reset_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf10674b2 cpuidle_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf11d6060 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xf11d9290 rio_mport_get_efb +EXPORT_SYMBOL_GPL vmlinux 0xf121efc3 __SCK__tp_func_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xf12c1586 pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0xf13eea59 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xf141b7db ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xf14317ef devl_rate_nodes_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf1458ab4 blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0xf15b8f15 pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xf15babfa tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0xf1729c2b fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xf173b7f0 sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf188a662 rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0xf193bae3 iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0xf1a8c4e5 acpi_get_and_request_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xf1aac2b6 validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0xf1b800b5 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0xf1cd8929 kvm_read_and_reset_apf_flags +EXPORT_SYMBOL_GPL vmlinux 0xf1d0e72a xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0xf1db3d34 md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0xf1e405a0 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0xf1ea3a8d usb_asmedia_modifyflowcontrol +EXPORT_SYMBOL_GPL vmlinux 0xf1fb6bf1 regmap_write_async +EXPORT_SYMBOL_GPL vmlinux 0xf1fdafb6 __SCK__tp_func_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xf206422b acpi_spi_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf21e1f9b disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xf21ef60f fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xf25d1f81 pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0xf26c8a53 sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0xf27d0a7b gnttab_grant_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xf280ac0f wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0xf28404cf devlink_dpipe_header_ipv6 +EXPORT_SYMBOL_GPL vmlinux 0xf2933ebd scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0xf2967796 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0xf2a11936 rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0xf2a3ba8f __intel_scu_ipc_register +EXPORT_SYMBOL_GPL vmlinux 0xf2afcd13 spi_finalize_current_transfer +EXPORT_SYMBOL_GPL vmlinux 0xf2b33cb7 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xf2b34a6f bio_start_io_acct +EXPORT_SYMBOL_GPL vmlinux 0xf2c2b225 clk_register +EXPORT_SYMBOL_GPL vmlinux 0xf2c366e0 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xf2c53d53 pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xf2d7865d device_create +EXPORT_SYMBOL_GPL vmlinux 0xf2da6946 iommu_setup_dma_ops +EXPORT_SYMBOL_GPL vmlinux 0xf2ea88e8 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0xf2f201a8 ping_close +EXPORT_SYMBOL_GPL vmlinux 0xf2f72f5c sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0xf2fa0a9f skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0xf2fb61bd vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0xf302c4b4 tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0xf306f228 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf30887d9 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xf30a5502 cpufreq_enable_boost_support +EXPORT_SYMBOL_GPL vmlinux 0xf311e156 key_being_used_for +EXPORT_SYMBOL_GPL vmlinux 0xf31632e0 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0xf3189f7e __uv_cpu_info +EXPORT_SYMBOL_GPL vmlinux 0xf31ad8ca sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf321a7d3 crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0xf32bdc5d unregister_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf33bcf83 pstore_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf352023f memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xf358083e tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xf359a90e blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0xf364f901 phy_set_speed +EXPORT_SYMBOL_GPL vmlinux 0xf367b0a2 dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xf3797506 mpi_ec_deinit +EXPORT_SYMBOL_GPL vmlinux 0xf3808cb1 get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf3967c94 xen_xlate_remap_gfn_array +EXPORT_SYMBOL_GPL vmlinux 0xf39f4c8f pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xf3b16d64 crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3b736bf transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xf3b95d79 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0xf3d2b129 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xf3d532dc acpi_initialize_hp_context +EXPORT_SYMBOL_GPL vmlinux 0xf3d8b111 dma_resv_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xf3dcbdf6 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0xf3ef7b33 __mmc_poll_for_busy +EXPORT_SYMBOL_GPL vmlinux 0xf406fff1 __SCK__tp_func_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xf41057ca ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0xf4131b33 nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0xf42e1a65 icc_provider_del +EXPORT_SYMBOL_GPL vmlinux 0xf4325102 tcp_sendmsg_locked +EXPORT_SYMBOL_GPL vmlinux 0xf43ddd99 crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0xf440745d __traceiter_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0xf4438ce9 tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0xf448df9b nvdimm_bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf458523f ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0xf467e45b trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0xf4689d50 linkmode_set_pause +EXPORT_SYMBOL_GPL vmlinux 0xf4707cf4 inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf47654df irq_check_status_bit +EXPORT_SYMBOL_GPL vmlinux 0xf48b81c8 max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xf4a9d03b __reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0xf4af35c2 rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0xf4b439f3 led_trigger_rename_static +EXPORT_SYMBOL_GPL vmlinux 0xf4c12444 trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0xf4c28039 pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0xf4cd9f8f reset_control_bulk_release +EXPORT_SYMBOL_GPL vmlinux 0xf4d0bc20 devm_clk_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xf4d356e4 dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0xf4dd89bf uv_get_hubless_system +EXPORT_SYMBOL_GPL vmlinux 0xf4df3e96 serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xf4e309c7 usb_pipe_type_check +EXPORT_SYMBOL_GPL vmlinux 0xf4ec8911 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xf4f69d1f clk_hw_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0xf506aab0 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0xf515821d phy_basic_features +EXPORT_SYMBOL_GPL vmlinux 0xf51737cd pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0xf51cb13d xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0xf53acd27 access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf552cf03 akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf557286c ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0xf559e451 gpiod_disable_hw_timestamp_ns +EXPORT_SYMBOL_GPL vmlinux 0xf55ce83b __SCK__tp_func_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0xf587b2a6 perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0xf58abf2f pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf59633ff usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0xf5a067bf iommu_group_dma_owner_claimed +EXPORT_SYMBOL_GPL vmlinux 0xf5a25a74 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0xf5a3ba99 linear_range_values_in_range +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5b3f634 serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0xf5c0cb52 phy_pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xf5e8da89 blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0xf5f370e0 async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0xf5f9efa7 pci_iomap_wc +EXPORT_SYMBOL_GPL vmlinux 0xf6073f4d __alloc_pages_bulk +EXPORT_SYMBOL_GPL vmlinux 0xf60dcaf0 relay_close +EXPORT_SYMBOL_GPL vmlinux 0xf6111198 edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0xf637b9b3 usb_hcd_end_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xf63c0d23 fpu_enable_guest_xfd_features +EXPORT_SYMBOL_GPL vmlinux 0xf64aaa25 alarm_init +EXPORT_SYMBOL_GPL vmlinux 0xf657136d virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0xf663ee2f pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0xf667b78d dw_pcie_own_conf_map_bus +EXPORT_SYMBOL_GPL vmlinux 0xf66d4221 swapcache_mapping +EXPORT_SYMBOL_GPL vmlinux 0xf66d4af3 mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0xf6911f65 blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0xf693dc09 dev_pm_opp_put_opp_table +EXPORT_SYMBOL_GPL vmlinux 0xf6a28554 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0xf6b46007 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0xf6ba3b02 addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0xf6c71a25 cper_severity_str +EXPORT_SYMBOL_GPL vmlinux 0xf6c8dc62 cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0xf6ca4e79 devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0xf6dcbaf0 devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0xf6e14042 virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0xf6e772c3 irq_bypass_unregister_producer +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6e8ef40 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0xf6e901b1 acpi_quirk_skip_i2c_client_enumeration +EXPORT_SYMBOL_GPL vmlinux 0xf6ea523b genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL vmlinux 0xf6f16c56 rcu_barrier_tasks +EXPORT_SYMBOL_GPL vmlinux 0xf6f47671 wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0xf6f4d95c __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0xf707a3fd x86_platform +EXPORT_SYMBOL_GPL vmlinux 0xf70e4a4d preempt_schedule_notrace +EXPORT_SYMBOL_GPL vmlinux 0xf714719d acpi_subsys_restore_early +EXPORT_SYMBOL_GPL vmlinux 0xf72a65ea tty_get_char_size +EXPORT_SYMBOL_GPL vmlinux 0xf7300268 fscrypt_prepare_new_inode +EXPORT_SYMBOL_GPL vmlinux 0xf73a4558 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xf744298f hv_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0xf7455c16 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xf749debc md5_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0xf74bb274 mod_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xf74e7c93 jump_label_rate_limit +EXPORT_SYMBOL_GPL vmlinux 0xf750fbf8 devm_pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0xf764f40f nvmem_cell_read_variable_le_u32 +EXPORT_SYMBOL_GPL vmlinux 0xf767ca35 fixed_percpu_data +EXPORT_SYMBOL_GPL vmlinux 0xf7698fc8 pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0xf774b305 fwnode_get_phy_node +EXPORT_SYMBOL_GPL vmlinux 0xf7772bde xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0xf77a66ee ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0xf77cbcd4 kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0xf781ab97 regmap_async_complete +EXPORT_SYMBOL_GPL vmlinux 0xf782fb07 percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0xf7866b4f bind_evtchn_to_irqhandler_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0xf7983aef memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0xf7afb369 btree_init +EXPORT_SYMBOL_GPL vmlinux 0xf7bc95b0 devlink_fmsg_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xf7c3f273 xen_resume_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xf7cba840 rio_route_add_entry +EXPORT_SYMBOL_GPL vmlinux 0xf7d961d8 clk_hw_unregister_composite +EXPORT_SYMBOL_GPL vmlinux 0xf80957b1 __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0xf813fa3c pinctrl_utils_reserve_map +EXPORT_SYMBOL_GPL vmlinux 0xf8150e7f __regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xf81dce70 thermal_genl_cpu_capability_event +EXPORT_SYMBOL_GPL vmlinux 0xf82f3657 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf830a538 skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xf832f701 fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0xf8417c5f debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0xf84a22ce class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xf8540d8c sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0xf8783b43 sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0xf881cecd load_fixmap_gdt +EXPORT_SYMBOL_GPL vmlinux 0xf881e2ac gpiochip_add_pingroup_range +EXPORT_SYMBOL_GPL vmlinux 0xf883bf93 crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0xf8ab14a3 __SCK__tp_func_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xf8b633b6 spi_split_transfers_maxsize +EXPORT_SYMBOL_GPL vmlinux 0xf8be1316 shake_page +EXPORT_SYMBOL_GPL vmlinux 0xf8e415b6 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0xf8e6f1b9 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf8fe3986 pat_pfn_immune_to_uc_mtrr +EXPORT_SYMBOL_GPL vmlinux 0xf902f7b2 __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xf90c261d regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xf91a2a90 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0xf91e4d8f of_icc_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0xf92f21c8 dax_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0xf935f574 proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0xf942b50e ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xf95322f4 kthread_parkme +EXPORT_SYMBOL_GPL vmlinux 0xf955e9c5 bprintf +EXPORT_SYMBOL_GPL vmlinux 0xf95e44df sb800_prefetch +EXPORT_SYMBOL_GPL vmlinux 0xf9696cf0 __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0xf9711d20 folio_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xf978c2d6 ima_inode_hash +EXPORT_SYMBOL_GPL vmlinux 0xf97d1600 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0xf9889032 xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0xf990da91 __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9b34a0b iopf_queue_free +EXPORT_SYMBOL_GPL vmlinux 0xf9b822a4 crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0xf9c53fef wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0xf9c9f70f scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0xf9e65782 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0xf9ee1209 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xf9f78d78 bpf_preload_ops +EXPORT_SYMBOL_GPL vmlinux 0xf9ffdafb get_governor_parent_kobj +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa242aa2 dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0xfa2bda6e pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xfa349688 aer_recover_queue +EXPORT_SYMBOL_GPL vmlinux 0xfa35044a alternatives_patched +EXPORT_SYMBOL_GPL vmlinux 0xfa36dee1 ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0xfa3f2de7 page_endio +EXPORT_SYMBOL_GPL vmlinux 0xfa43cefc is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xfa5c0402 dev_pm_opp_get_freq +EXPORT_SYMBOL_GPL vmlinux 0xfa5e58de ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0xfa5f078d static_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0xfa600b30 generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0xfa666974 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0xfaa370f6 __traceiter_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0xfaaf8621 power_supply_battery_bti_in_range +EXPORT_SYMBOL_GPL vmlinux 0xfab00c85 devm_mipi_dsi_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0xfab30dc0 mdio_bus_exit +EXPORT_SYMBOL_GPL vmlinux 0xfab53ed9 pinctrl_gpio_can_use_line +EXPORT_SYMBOL_GPL vmlinux 0xfabe1f51 blk_crypto_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0xfad9c827 kill_dax +EXPORT_SYMBOL_GPL vmlinux 0xfae291d9 acpi_bind_one +EXPORT_SYMBOL_GPL vmlinux 0xfae84500 dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0xfaead581 hsu_dma_get_status +EXPORT_SYMBOL_GPL vmlinux 0xfaf919ba kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0xfb1001f9 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0xfb1458e5 gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb34b3e1 receive_fd +EXPORT_SYMBOL_GPL vmlinux 0xfb38b1a1 dax_iomap_fault +EXPORT_SYMBOL_GPL vmlinux 0xfb39d282 dev_get_tstats64 +EXPORT_SYMBOL_GPL vmlinux 0xfb51a191 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xfb62c567 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0xfb6c6b96 cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb860923 register_nvdimm_pmu +EXPORT_SYMBOL_GPL vmlinux 0xfb86db83 param_set_uint_minmax +EXPORT_SYMBOL_GPL vmlinux 0xfb90d9de devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0xfb9ad35e blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xfba25827 power_supply_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xfba6a8a6 __fscrypt_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0xfba82603 unmap_mapping_pages +EXPORT_SYMBOL_GPL vmlinux 0xfbb2192d uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xfbbd41ca no_action +EXPORT_SYMBOL_GPL vmlinux 0xfbd93c73 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0xfbe9356a usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0xfbeb8298 irq_generic_chip_ops +EXPORT_SYMBOL_GPL vmlinux 0xfbf667c5 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xfbf74718 dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0xfbfe7410 thermal_zone_get_slope +EXPORT_SYMBOL_GPL vmlinux 0xfbffd601 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xfc03a4ca proc_dou8vec_minmax +EXPORT_SYMBOL_GPL vmlinux 0xfc03d97a page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xfc0d1968 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xfc14bb2e dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xfc201b66 sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0xfc21a854 fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0xfc23636e vfio_virqfd_enable +EXPORT_SYMBOL_GPL vmlinux 0xfc254d15 gnttab_free_auto_xlat_frames +EXPORT_SYMBOL_GPL vmlinux 0xfc2b6473 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0xfc3b4246 acpi_bus_update_power +EXPORT_SYMBOL_GPL vmlinux 0xfc464ebd netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0xfc5daced __irq_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0xfc702a94 devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0xfc7b5b73 pci_dev_lock +EXPORT_SYMBOL_GPL vmlinux 0xfc7f14d3 wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0xfc8abc09 pwm_set_chip_data +EXPORT_SYMBOL_GPL vmlinux 0xfc9a4426 regulator_set_pull_down_regmap +EXPORT_SYMBOL_GPL vmlinux 0xfca3d3cf tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0xfca7f934 devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0xfcba872a xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0xfcbfec70 add_memory_driver_managed +EXPORT_SYMBOL_GPL vmlinux 0xfcc1bc26 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0xfcc1edd3 memory_block_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0xfcc2b3cb usb_get_role_switch_default_mode +EXPORT_SYMBOL_GPL vmlinux 0xfcc85887 devm_clk_get_prepared +EXPORT_SYMBOL_GPL vmlinux 0xfcca5424 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xfce4e6c7 __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0xfcf9ef73 hw_protection_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xfd070696 irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0xfd0fef52 syscon_regmap_lookup_by_phandle_args +EXPORT_SYMBOL_GPL vmlinux 0xfd22b73e ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0xfd2c62ad devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0xfd3d808a unregister_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xfd3db6f3 dm_audit_log_bio +EXPORT_SYMBOL_GPL vmlinux 0xfd48f634 sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0xfd4c8087 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xfd523486 __tracepoint_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xfd5b1c72 devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0xfd60093b scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0xfd7243c7 erst_disable +EXPORT_SYMBOL_GPL vmlinux 0xfd7821f8 vfio_pci_core_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xfd88957b debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xfd93be59 pci_get_dsn +EXPORT_SYMBOL_GPL vmlinux 0xfda587a8 blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0xfdac5e95 unwind_get_return_address +EXPORT_SYMBOL_GPL vmlinux 0xfdad35db irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0xfdaf32ab pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xfdbd7a17 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xfdd4b3d2 dev_pm_opp_get_opp_count +EXPORT_SYMBOL_GPL vmlinux 0xfde49b9c debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0xfde4e881 lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0xfdea2d04 alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0xfdffacdc register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0xfe0596d6 driver_register +EXPORT_SYMBOL_GPL vmlinux 0xfe0e7cd3 apei_exec_post_unmap_gars +EXPORT_SYMBOL_GPL vmlinux 0xfe19dc28 vivaldi_function_row_physmap_show +EXPORT_SYMBOL_GPL vmlinux 0xfe1a7a7b mpi_point_release +EXPORT_SYMBOL_GPL vmlinux 0xfe245fca devm_of_led_get +EXPORT_SYMBOL_GPL vmlinux 0xfe371a0a rio_register_mport +EXPORT_SYMBOL_GPL vmlinux 0xfe3a6de3 alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xfe3bd304 spi_async +EXPORT_SYMBOL_GPL vmlinux 0xfe3fa9ce gpiod_enable_hw_timestamp_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe46f360 regulator_set_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0xfe476039 ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe5aad0c divider_ro_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xfe5d8404 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xfe6f5da2 devm_platform_get_irqs_affinity +EXPORT_SYMBOL_GPL vmlinux 0xfe727411 get_phys_to_machine +EXPORT_SYMBOL_GPL vmlinux 0xfe83269a devm_clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfe87795b iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0xfe8cdb84 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfe999c10 gov_attr_set_put +EXPORT_SYMBOL_GPL vmlinux 0xfe9be13c __device_reset +EXPORT_SYMBOL_GPL vmlinux 0xfea663d4 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0xfeb45def input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfed47b8e ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0xfed561ff divider_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xfeeecd05 apei_read +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff11cacc pinctrl_find_gpio_range_from_pin_nolock +EXPORT_SYMBOL_GPL vmlinux 0xff1666f3 reset_control_bulk_assert +EXPORT_SYMBOL_GPL vmlinux 0xff1e67b9 setup_APIC_eilvt +EXPORT_SYMBOL_GPL vmlinux 0xff291ecf clk_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0xff302f76 pinctrl_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xff358ca8 irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xff42c374 usb_role_switch_get_role +EXPORT_SYMBOL_GPL vmlinux 0xff4d066f dev_pm_disable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xff4d4656 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0xff4de823 of_pwm_single_xlate +EXPORT_SYMBOL_GPL vmlinux 0xff686933 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0xff6af778 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0xff6e9042 bgpio_init +EXPORT_SYMBOL_GPL vmlinux 0xff7e05f7 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xff7e33bf mpi_sub_ui +EXPORT_SYMBOL_GPL vmlinux 0xff81487d gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0xff842662 __traceiter_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xff88e65f __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xff8e74e2 arch_haltpoll_enable +EXPORT_SYMBOL_GPL vmlinux 0xff8f29ea fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0xff8f5439 pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0xff9e23d1 hugetlb_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xffa63b80 of_pwm_xlate_with_flags +EXPORT_SYMBOL_GPL vmlinux 0xffae8e8b nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xffbf68f1 switchdev_handle_fdb_event_to_device +EXPORT_SYMBOL_GPL vmlinux 0xffc86f14 __xas_next +EXPORT_SYMBOL_GPL vmlinux 0xffd1336b security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xffd19924 pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0xffe130c0 mctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xffed22d4 device_change_owner +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0x07342898 unregister_firmware_config_sysctl vmlinux +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xae43feea register_firmware_config_sysctl vmlinux +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xd3ae7756 fw_fallback_config vmlinux +HWMON_THERMAL EXPORT_SYMBOL_GPL 0x013cbbb8 hwmon_device_register_for_thermal vmlinux +I915_GVT EXPORT_SYMBOL_GPL 0x0cfeb1f0 __px_dma drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x0f269ef4 __intel_context_do_unpin drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x0f744f74 intel_context_create drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x13f23c70 shmem_unpin_map drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x1c3516f7 i915_gem_object_alloc drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x1d76111c i915_fence_ops drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x253bb7b8 intel_uncore_forcewake_for_reg drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x26118c98 intel_gvt_clear_ops drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x26d4294a i915_gem_object_ggtt_pin_ww drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x28281bb3 _i915_vma_move_to_active drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x2cfd06f7 i915_gem_ww_ctx_init drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x38272130 intel_gvt_iterate_mmio_table drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x4689f39a i915_gem_ww_ctx_fini drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x4e639fe4 i915_request_create drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x5181a803 i915_gem_prime_export drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x528c50f9 intel_runtime_pm_put_unchecked drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x5b81c38f __i915_gem_object_set_pages drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x5c3e44de i915_ppgtt_create drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x6343a02c i915_gem_object_init drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x7623e3e1 i915_gem_ww_ctx_backoff drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x7ffdcc3e i915_gem_object_pin_map drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x890fc889 i915_vm_release drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x90b49af1 intel_uncore_forcewake_get drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x949fd6a6 i915_reserve_fence drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0x97b8126c intel_ring_begin drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xb3a83689 i915_request_add drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xb5c21f44 intel_runtime_pm_get drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xc86fb2d9 i915_unreserve_fence drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xc87b7a30 intel_uncore_forcewake_put drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xd61db68a __i915_gem_object_flush_map drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xe0255ffb intel_gvt_set_ops drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xe3d56118 shmem_pin_map drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xe6c6d161 i915_gem_gtt_insert drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xe9198c8c i915_gem_object_set_to_cpu_domain drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xef0aa545 i915_gem_object_create_shmem drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xf33e7b84 __intel_context_do_pin drivers/gpu/drm/i915/i915 +I915_GVT EXPORT_SYMBOL_GPL 0xf5d28f2d i915_request_wait drivers/gpu/drm/i915/i915 +IDXD EXPORT_SYMBOL_GPL 0x0f3fc963 idxd_drv drivers/dma/idxd/idxd +IDXD EXPORT_SYMBOL_GPL 0x1d04d5e0 idxd_dmaengine_drv drivers/dma/idxd/idxd +IDXD EXPORT_SYMBOL_GPL 0x2d2157f9 dsa_bus_type drivers/dma/idxd/idxd_bus +IDXD EXPORT_SYMBOL_GPL 0x50616e90 idxd_user_drv drivers/dma/idxd/idxd +IDXD EXPORT_SYMBOL_GPL 0xc7bf72a0 __idxd_driver_register drivers/dma/idxd/idxd_bus +IDXD EXPORT_SYMBOL_GPL 0xfb5d1398 idxd_driver_unregister drivers/dma/idxd/idxd_bus +IIO_AD5592R EXPORT_SYMBOL_GPL 0x2fa74752 ad5592r_probe drivers/iio/dac/ad5592r-base +IIO_AD5592R EXPORT_SYMBOL_GPL 0x8a013f91 ad5592r_remove drivers/iio/dac/ad5592r-base +IIO_AD5686 EXPORT_SYMBOL_GPL 0x29c8a19d ad5686_probe drivers/iio/dac/ad5686 +IIO_AD5686 EXPORT_SYMBOL_GPL 0x62c7504d ad5686_remove drivers/iio/dac/ad5686 +IIO_AD7091R EXPORT_SYMBOL_GPL 0x1176074a ad7091r_regmap_config drivers/iio/adc/ad7091r-base +IIO_AD7091R EXPORT_SYMBOL_GPL 0xe28b2078 ad7091r_probe drivers/iio/adc/ad7091r-base +IIO_AD7606 EXPORT_SYMBOL_GPL 0x36fd0cec ad7606_probe drivers/iio/adc/ad7606 +IIO_AD7606 EXPORT_SYMBOL_GPL 0xeec0efb5 ad7606_pm_ops drivers/iio/adc/ad7606 +IIO_ADISLIB EXPORT_SYMBOL 0x14b3abb0 __adis_enable_irq drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL 0x4a56ee46 adis_debugfs_reg_access drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x03b8ae50 __adis_read_reg drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x68a3d4c5 devm_adis_probe_trigger drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x7ff732ae __adis_initial_startup drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x8b90c5c4 adis_init drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x8c81823b adis_single_conversion drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xa8e15e57 __adis_write_reg drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xabda0150 adis_update_scan_mode drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xac50b0ad __adis_check_status drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xeb0c6d65 __adis_update_bits_base drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xec3405bc devm_adis_setup_buffer_and_trigger drivers/iio/imu/adis_lib +IIO_ADIS_LIB EXPORT_SYMBOL_GPL 0x60a373db __adis_reset drivers/iio/imu/adis_lib +IIO_ADXL313 EXPORT_SYMBOL_GPL 0x5dcfba8b adxl313_core_probe drivers/iio/accel/adxl313_core +IIO_ADXL313 EXPORT_SYMBOL_GPL 0x8401eedc adxl313_readable_regs_table drivers/iio/accel/adxl313_core +IIO_ADXL313 EXPORT_SYMBOL_GPL 0xf6f7b9f3 adxl313_writable_regs_table drivers/iio/accel/adxl313_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0x6ff5403b adxl355_readable_regs_tbl drivers/iio/accel/adxl355_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0xb446fa86 adxl355_writeable_regs_tbl drivers/iio/accel/adxl355_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0xda663f0c adxl355_core_probe drivers/iio/accel/adxl355_core +IIO_ADXL367 EXPORT_SYMBOL_GPL 0xe1770eef adxl367_probe drivers/iio/accel/adxl367 +IIO_ADXL372 EXPORT_SYMBOL_GPL 0x19979080 adxl372_readable_noinc_reg drivers/iio/accel/adxl372 +IIO_ADXL372 EXPORT_SYMBOL_GPL 0xfa6b354a adxl372_probe drivers/iio/accel/adxl372 +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x00868ee2 ad_sd_validate_trigger drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x25443001 ad_sd_calibrate drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x4e988534 ad_sd_calibrate_all drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x6fc9c6ea ad_sd_write_reg drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x83982bcb ad_sd_reset drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xaa86f087 devm_ad_sd_setup_buffer_and_trigger drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xbc5055f4 ad_sd_set_comm drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xc85a33a9 ad_sd_init drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xcf84516d ad_sd_read_reg drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xe4166970 ad_sigma_delta_single_conversion drivers/iio/adc/ad_sigma_delta +IIO_BMA400 EXPORT_SYMBOL 0x206abbca bma400_probe drivers/iio/accel/bma400_core +IIO_BMA400 EXPORT_SYMBOL 0x29f243fd bma400_regmap_config drivers/iio/accel/bma400_core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x26cde36d bmc150_accel_pm_ops drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x404e160d bmc150_regmap_conf drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x454b6b35 bmc150_accel_core_probe drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0xca98c49d bmc150_accel_core_remove drivers/iio/accel/bmc150-accel-core +IIO_BMC150_MAGN EXPORT_SYMBOL 0x463fe3a7 bmc150_magn_probe drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0xa561d3f8 bmc150_magn_pm_ops drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0xc6f72ce6 bmc150_magn_remove drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0xf76e1fea bmc150_magn_regmap_config drivers/iio/magnetometer/bmc150_magn +IIO_BME680 EXPORT_SYMBOL 0xbf72bf3a bme680_regmap_config drivers/iio/chemical/bme680_core +IIO_BME680 EXPORT_SYMBOL_GPL 0xfdcc5bc7 bme680_core_probe drivers/iio/chemical/bme680_core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x3d7a0f21 bmi088_accel_core_probe drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0xc2ce5926 bmi088_accel_pm_ops drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0xcbf5409a bmi088_accel_core_remove drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0xf4b300c2 bmi088_regmap_conf drivers/iio/accel/bmi088-accel-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x26041d98 fxls8962af_core_probe drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x334052df fxls8962af_pm_ops drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x38ff9b0c fxls8962af_i2c_regmap_conf drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x9a210fc9 fxls8962af_spi_regmap_conf drivers/iio/accel/fxls8962af-core +IIO_HID EXPORT_SYMBOL 0x04e6ec85 hid_sensor_write_samp_freq_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x32179cc1 hid_sensor_write_raw_hyst_rel_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x43dc8672 hid_sensor_parse_common_attributes drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x4f13079f hid_sensor_pm_ops drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x5a9ba851 hid_sensor_convert_timestamp drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x60f4d22c hid_sensor_setup_trigger drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x6297e26b hid_sensor_remove_trigger drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x70570061 hid_sensor_read_samp_freq_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x7f7621ec hid_sensor_format_scale drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x99624877 hid_sensor_write_raw_hyst_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0xe486acdf hid_sensor_power_state drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0xec8b272f hid_sensor_read_raw_hyst_rel_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0xfda354ec hid_sensor_read_raw_hyst_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x1c125e59 hid_sensor_read_poll_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x738e7202 hid_sensor_batch_mode_supported drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x8105d65a hid_sensor_get_report_latency drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0xa869e108 hid_sensor_set_report_latency drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HMC5843 EXPORT_SYMBOL 0x8ece1173 hmc5843_common_probe drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0xcb63472d hmc5843_common_suspend drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0xd28da9ad hmc5843_common_resume drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0xe43b922c hmc5843_common_remove drivers/iio/magnetometer/hmc5843_core +IIO_KXSD9 EXPORT_SYMBOL 0x16c9aaa6 kxsd9_common_remove drivers/iio/accel/kxsd9 +IIO_KXSD9 EXPORT_SYMBOL 0x3febf424 kxsd9_common_probe drivers/iio/accel/kxsd9 +IIO_KXSD9 EXPORT_SYMBOL 0xdfbff83d kxsd9_dev_pm_ops drivers/iio/accel/kxsd9 +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x045688dd ms_sensors_read_prom_word drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x2d2f5cd5 ms_sensors_reset drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x2e3ce1f6 ms_sensors_tp_read_prom drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x42b6a050 ms_sensors_convert_and_read drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x52e973a3 ms_sensors_ht_read_temperature drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x994ffa38 ms_sensors_read_temp_and_pressure drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xa909fd9e ms_sensors_show_heater drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xb8977dfd ms_sensors_write_heater drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xc18e4974 ms_sensors_write_resolution drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xcb8610a1 ms_sensors_show_battery_low drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xe4900bd0 ms_sensors_ht_read_humidity drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xe5359f6c ms_sensors_read_serial drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x3dd909cb mma7455_core_regmap drivers/iio/accel/mma7455_core +IIO_MMA7455 EXPORT_SYMBOL_GPL 0xfae4ce71 mma7455_core_probe drivers/iio/accel/mma7455_core +IIO_MMA7455 EXPORT_SYMBOL_GPL 0xfdf03223 mma7455_core_remove drivers/iio/accel/mma7455_core +IIO_MMA9551 EXPORT_SYMBOL 0x00f540ed mma9551_read_version drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x0a5fa77e mma9551_write_config_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x183ce95c mma9551_set_power_state drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x1f1bd745 mma9551_read_status_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x243f6f31 mma9551_read_status_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x39a75107 mma9551_write_config_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x41ef446c mma9551_read_accel_scale drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x5eb5a873 mma9551_read_config_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x64acd10c mma9551_app_reset drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x77875e9b mma9551_read_accel_chan drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x78e37d2d mma9551_read_status_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xabda9d01 mma9551_read_config_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xba2c24c7 mma9551_read_config_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xbcd7fe96 mma9551_sleep drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xc2e4952a mma9551_write_config_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xd19b1a84 mma9551_set_device_state drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xec177283 mma9551_gpio_config drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xf7d25846 mma9551_update_config_bits drivers/iio/accel/mma9551_core +IIO_MPL115 EXPORT_SYMBOL_GPL 0x351ad316 mpl115_probe drivers/iio/pressure/mpl115 +IIO_MS5611 EXPORT_SYMBOL 0xd5d7dcd6 ms5611_remove drivers/iio/pressure/ms5611_core +IIO_MS5611 EXPORT_SYMBOL 0xfbef2197 ms5611_probe drivers/iio/pressure/ms5611_core +IIO_RM3100 EXPORT_SYMBOL_GPL 0x0a1424e0 rm3100_volatile_table drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0x230e4c5f rm3100_common_probe drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0xaa911f08 rm3100_readable_table drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0xcc7209be rm3100_writable_table drivers/iio/magnetometer/rm3100-core +IIO_SCD30 EXPORT_SYMBOL 0xcab4245c scd30_pm_ops drivers/iio/chemical/scd30_core +IIO_SCD30 EXPORT_SYMBOL 0xff34c69a scd30_probe drivers/iio/chemical/scd30_core +IIO_SSP_SENSORS EXPORT_SYMBOL 0x00d2db21 ssp_common_process_data drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0x197e5e05 ssp_get_sensor_delay drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x3794c842 ssp_common_buffer_postdisable drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0x4e6b919e ssp_enable_sensor drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x6baded53 ssp_disable_sensor drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x6fc819bf ssp_register_consumer drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x9aae9b6d ssp_change_delay drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0xba1a0171 ssp_common_buffer_postenable drivers/iio/common/ssp_sensors/ssp_iio +IIO_ST_SENSORS EXPORT_SYMBOL 0x074d7047 st_sensors_trigger_handler drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x16b0324b st_sensors_set_dataready_irq drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x283377cc st_sensors_i2c_configure drivers/iio/common/st_sensors/st_sensors_i2c +IIO_ST_SENSORS EXPORT_SYMBOL 0x30e70b2e st_gyro_common_probe drivers/iio/gyro/st_gyro +IIO_ST_SENSORS EXPORT_SYMBOL 0x361e3897 st_sensors_get_settings_index drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x419feb2b st_sensors_sysfs_scale_avail drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x43d979d8 st_sensors_set_fullscale_by_gain drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x4c3a08b6 st_sensors_read_info_raw drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x4d601c6d st_sensors_allocate_trigger drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x50eb4d51 st_sensors_power_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x5491bc36 st_sensors_init_sensor drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x67f54f90 st_gyro_get_settings drivers/iio/gyro/st_gyro +IIO_ST_SENSORS EXPORT_SYMBOL 0x6d9087c0 st_sensors_set_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x707330b0 st_accel_common_probe drivers/iio/accel/st_accel +IIO_ST_SENSORS EXPORT_SYMBOL 0x70d9445c st_sensors_sysfs_sampling_frequency_avail drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x796c6491 st_magn_common_probe drivers/iio/magnetometer/st_magn +IIO_ST_SENSORS EXPORT_SYMBOL 0xb052ec81 st_sensors_spi_configure drivers/iio/common/st_sensors/st_sensors_spi +IIO_ST_SENSORS EXPORT_SYMBOL 0xb9d718ec st_sensors_dev_name_probe drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xc1c33d66 st_accel_get_settings drivers/iio/accel/st_accel +IIO_ST_SENSORS EXPORT_SYMBOL 0xc554e43b st_sensors_validate_device drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xc7a71728 st_press_get_settings drivers/iio/pressure/st_pressure +IIO_ST_SENSORS EXPORT_SYMBOL 0xd4507750 st_sensors_set_odr drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xd5e1050b st_sensors_set_axis_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xe29baadc st_press_common_probe drivers/iio/pressure/st_pressure +IIO_ST_SENSORS EXPORT_SYMBOL 0xeb582883 st_sensors_verify_id drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xf6018431 st_magn_get_settings drivers/iio/magnetometer/st_magn +IIO_ST_SENSORS EXPORT_SYMBOL 0xfd49dddf st_sensors_debugfs_reg_access drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL_GPL 0xf1e41d7b st_lsm9ds0_probe drivers/iio/imu/st_lsm9ds0/st_lsm9ds0 +IIO_UVIS25 EXPORT_SYMBOL 0x0144cd5a st_uvis25_pm_ops drivers/iio/light/st_uvis25_core +IIO_UVIS25 EXPORT_SYMBOL 0x0e63e745 st_uvis25_probe drivers/iio/light/st_uvis25_core +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x10a997fd zpa2326_remove drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x28c784eb zpa2326_pm_ops drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x9bda335c zpa2326_isreg_readable drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0xac9d8d9b zpa2326_probe drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0xed4c798e zpa2326_isreg_writeable drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0xff367f2c zpa2326_isreg_precious drivers/iio/pressure/zpa2326 +INT340X_THERMAL EXPORT_SYMBOL_GPL 0x2b72bad6 processor_thermal_send_mbox_write_cmd drivers/thermal/intel/int340x_thermal/processor_thermal_mbox +INT340X_THERMAL EXPORT_SYMBOL_GPL 0xac156a23 processor_thermal_send_mbox_read_cmd drivers/thermal/intel/int340x_thermal/processor_thermal_mbox +INTEL_UNCORE_FREQUENCY EXPORT_SYMBOL_GPL 0x2c725389 uncore_freq_add_entry drivers/platform/x86/intel/uncore-frequency/intel-uncore-frequency-common +INTEL_UNCORE_FREQUENCY EXPORT_SYMBOL_GPL 0x853d7f1c uncore_freq_common_init drivers/platform/x86/intel/uncore-frequency/intel-uncore-frequency-common +INTEL_UNCORE_FREQUENCY EXPORT_SYMBOL_GPL 0xbf3d935d uncore_freq_common_exit drivers/platform/x86/intel/uncore-frequency/intel-uncore-frequency-common +INTEL_UNCORE_FREQUENCY EXPORT_SYMBOL_GPL 0xf29f5712 uncore_freq_remove_die_entry drivers/platform/x86/intel/uncore-frequency/intel-uncore-frequency-common +IWLWIFI EXPORT_SYMBOL_GPL 0x00c6c318 __iwl_warn drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x0661e8c7 iwl_acpi_get_eckv drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x097f21fa iwl_get_nvm drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x0b742dc8 iwl_sar_get_wrds_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x103c6a56 iwl_uefi_get_sgom_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1051ee41 iwl_set_bits_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x11329c2d iwl_set_bits_mask_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1332e4de iwl_abort_notification_waits drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x13cd4a54 iwl_init_paging drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x17581887 iwl_fw_runtime_resume drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x199d331f iwl_cmd_groups_verify_sorted drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1ec203a0 iwl_configure_rxq drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2091318b iwl_read_direct32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2710c362 iwl_dump_desc_assert drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x282db139 iwl_acpi_get_pwr_limit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2bdfe4ea iwl_fw_dbg_error_collect drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x35033c81 iwl_phy_db_free drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x35de9a51 iwl_write_direct32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x37956b72 rs_pretty_print_rate drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x37b6a3df iwl_acpi_get_dsm_u8 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x390c3fb6 iwl_finish_nic_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3b98be81 iwl_force_nmi drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3cc66b45 iwl_acpi_get_object drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3ce2b500 iwl_write_direct64 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3e9cd786 iwl_sar_select_profile drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3f4dfd50 iwl_read_external_nvm drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x43f26064 __iwl_err drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x45a88ae2 iwl_write_prph_delay drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x49dbb083 __iwl_dbg drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x49e0135d iwl_new_rate_from_v1 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x4b5a4131 iwl_acpi_get_mcc drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x4d4552f6 __iwl_crit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x522c4e6a iwl_write_prph64_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x560dbb78 iwl_free_fw_paging drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5988395c iwl_notification_wait_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x59f4081d iwl_sar_get_wgds_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5c52e109 iwl_opmode_deregister drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5d050a4b iwl_fw_dbg_read_d3_debug_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5e90f0ac iwl_fw_dbg_collect drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x61a17375 iwl_read_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x61adf868 iwl_acpi_get_lari_config_bitmap drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6c94f16d iwl_sar_get_ewrd_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6e348f86 iwl_sar_geo_support drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6e50a806 iwl_acpi_is_ppag_approved drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6fab92d2 iwl_write8 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x776221bf iwl_send_phy_db_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x78971d7e iwl_he_is_sgi drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x819528f6 iwl_write32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x828c6838 iwlwifi_mod_params drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x84bb50e1 iwl_rs_pretty_ant drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x84c4ffc7 iwl_dbg_tlv_del_timers drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x874c77de iwl_fw_rate_idx_to_plcp drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x88a907a7 iwl_write64 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x88bdec35 iwl_parse_nvm_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x8f784013 iwl_fw_dbg_stop_sync drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9038811a iwl_rfi_guid drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x903a53ad iwl_get_cmd_string drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x94d1e0e7 iwl_fw_dbg_collect_desc drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x976986d6 iwl_poll_direct_bit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9926c55b iwl_read_prph_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9a9b193d iwl_fw_runtime_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9c68ff5d iwl_read_ppag_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9d1cf4b9 iwl_fwrt_dump_error_logs drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9f2a1d5d iwl_read32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xa7124087 iwl_acpi_get_wifi_pkg_range drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xa9f447cf iwl_trans_send_cmd drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xab2bc57e iwl_read_eeprom drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xad2617bb iwl_parse_mei_nvm_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xaf003ade _iwl_dbg_tlv_time_point drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb37b318c iwl_rs_pretty_bw drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb47c7b22 iwl_fw_runtime_suspend drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb7bca443 iwl_phy_db_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb7d5ffb1 iwl_rate_mcs drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xbafc8994 iwl_wait_notification drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xbd18e155 iwl_parse_eeprom_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xbfedec28 iwl_clear_bits_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xc0873fc9 iwl_fw_dbg_collect_trig drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xc2387e29 __iwl_info drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xc36d2baf iwl_acpi_get_dsm_u32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xc57bac1c iwl_pnvm_load drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xc708646f iwl_parse_nvm_mcc_info drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xcd06a256 iwl_write_prph_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xcd43eb83 iwl_acpi_get_ppag_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xce0c6460 iwl_phy_db_set_section drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xd0e5fa93 iwl_get_shared_mem_conf drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xd1de7728 iwl_fw_start_dbg_conf drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xd3423a0b iwl_set_soc_latency drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xd457aeb1 iwl_opmode_register drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe0eb5838 iwl_init_notification_wait drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe5355837 iwl_fw_dbg_stop_restart_recording drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe75b7e77 iwl_notification_wait drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe98134d8 iwl_poll_bit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xea1b26fc iwl_nvm_fixups drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xedc3af7b iwl_acpi_get_tas drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf31ff308 iwl_sar_geo_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf88964e4 iwl_remove_notification drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xfc1e6f41 iwl_guid drivers/net/wireless/intel/iwlwifi/iwlwifi +LTC2497 EXPORT_SYMBOL 0x0a3b9f76 ltc2497core_probe drivers/iio/adc/ltc2497-core +LTC2497 EXPORT_SYMBOL 0x249d2150 ltc2497core_remove drivers/iio/adc/ltc2497-core +MCB EXPORT_SYMBOL_GPL 0x2dce9c5d __mcb_register_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x4e21c685 mcb_alloc_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x4ec01b6e mcb_release_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x6f11dbb6 chameleon_parse_cells drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x73853769 mcb_get_irq drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x83adad9a mcb_bus_add_devices drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x94265759 mcb_get_resource drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xa2c78d7d mcb_device_register drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xbe1b437c mcb_alloc_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xd8f8eb42 mcb_request_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xd9c7bb50 mcb_bus_get drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xe1398413 mcb_free_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xe20a7b48 mcb_bus_put drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xeb2c8905 mcb_release_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xee4c512e mcb_unregister_driver drivers/mcb/mcb +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x27671899 nvme_passthru_end drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x3b41ffea nvme_ctrl_from_file drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x9e4d45c6 nvme_put_ns drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0xaa0b056a nvme_execute_passthru_rq drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0xd7039449 nvme_command_effects drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0xdb4fb700 nvme_find_get_ns drivers/nvme/host/nvme-core +PECI EXPORT_SYMBOL_GPL 0x02569909 peci_xfer_ep_pci_cfg_local_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x04fec07e peci_request_data_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x052189fd peci_request_data_readq drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x09e5a2ad peci_xfer_pkg_cfg_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x255458f5 peci_xfer_pkg_cfg_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x2583328f peci_xfer_pci_cfg_local_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x2a949fe9 peci_xfer_ep_pci_cfg_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x3370bf37 peci_request_temp_read drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x39906b9f peci_request_status drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x4157da54 peci_xfer_ep_pci_cfg_local_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x427f297a peci_request_dib_read drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x4db20ecc peci_request_data_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x6995dcb4 peci_xfer_ep_pci_cfg_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x6a6f5169 peci_xfer_pkg_cfg_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x6e6f85b3 peci_driver_unregister drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x8309ac61 peci_xfer_pci_cfg_local_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x854369d7 __peci_driver_register drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x8e8b4761 peci_xfer_ep_mmio64_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x92c48b74 peci_request_alloc drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x9ed938e6 peci_xfer_pci_cfg_local_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xaa320b53 devm_peci_controller_add drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xb711b6a4 peci_xfer_ep_pci_cfg_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xc82bc5e7 peci_xfer_get_dib drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xcc01fac4 peci_request_free drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xcf3fd08a peci_request_data_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xd0a8abf6 peci_xfer_get_temp drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xdcd2f319 peci_xfer_ep_pci_cfg_local_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xf1bf51a7 peci_xfer_pkg_cfg_readq drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xf407b520 peci_xfer_ep_mmio32_readl drivers/peci/peci +PECI_CPU EXPORT_SYMBOL_GPL 0x153630cf peci_pci_local_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x6d397321 peci_mmio_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x8e9a3f2b peci_temp_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0xb79b10e6 peci_pcs_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0xdf4a2aea peci_ep_pci_local_read drivers/peci/peci-cpu +PMBUS EXPORT_SYMBOL_GPL 0x24ea0944 pmbus_read_word_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x31321ad8 pmbus_read_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x4b7c67fc pmbus_do_probe drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x60dc686a pmbus_check_byte_register drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x63a3c086 pmbus_set_update drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x69bab006 pmbus_get_debugfs_dir drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x6a03de91 pmbus_set_page drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x6b5d695f pmbus_get_fan_rate_device drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x722a8d25 pmbus_get_driver_info drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x847326b8 pmbus_check_word_register drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xa5d7d6d6 pmbus_write_byte drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xa76b2e83 pmbus_update_fan drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xaa97d052 pmbus_clear_faults drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xb1bbf0ba pmbus_write_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xb98de382 pmbus_update_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xc38e11de pmbus_regulator_ops drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xd7b4f1dd pmbus_get_fan_rate_cached drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xebe83c35 pmbus_clear_cache drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xf95540fa pmbus_write_word_data drivers/hwmon/pmbus/pmbus_core +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x28275901 sx_common_probe drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x601fb52c sx_common_read_event_config drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0xd07d0025 sx_common_events drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0xefddceb9 sx_common_read_proximity drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0xf3773f0a sx_common_write_event_config drivers/iio/proximity/sx_common +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0x0e9b1004 hda_cs_dsp_write_ctl sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0x2b707546 hda_cs_dsp_fw_ids sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0x31b96028 hda_cs_dsp_control_remove sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0x37925208 hda_cs_dsp_control_add sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0x81b127d6 hda_cs_dsp_read_ctl sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_SCODEC_CS35L41 EXPORT_SYMBOL_GPL 0x18dfbd0e cs35l41_hda_pm_ops sound/pci/hda/snd-hda-scodec-cs35l41 +SND_HDA_SCODEC_CS35L41 EXPORT_SYMBOL_GPL 0x8786e909 cs35l41_hda_remove sound/pci/hda/snd-hda-scodec-cs35l41 +SND_HDA_SCODEC_CS35L41 EXPORT_SYMBOL_GPL 0xb591f04e cs35l41_hda_probe sound/pci/hda/snd-hda-scodec-cs35l41 +SND_INTEL_SOUNDWIRE_ACPI EXPORT_SYMBOL 0xbb4f9d1f sdw_intel_acpi_scan sound/hda/snd-intel-sdw-acpi +SND_SOC_ACP_COMMON EXPORT_SYMBOL_GPL 0x49215a78 acp_dmic_dai_ops sound/soc/amd/acp/snd-acp-pdm +SND_SOC_ACP_COMMON EXPORT_SYMBOL_GPL 0x5c5d3c74 asoc_acp_i2s_probe sound/soc/amd/acp/snd-acp-i2s +SND_SOC_ACP_COMMON EXPORT_SYMBOL_GPL 0x8f4c483c asoc_acp_cpu_dai_ops sound/soc/amd/acp/snd-acp-i2s +SND_SOC_ACP_COMMON EXPORT_SYMBOL_GPL 0xa091d83b acp_machine_select sound/soc/amd/acp/snd-acp-pcm +SND_SOC_ACP_COMMON EXPORT_SYMBOL_GPL 0xd3827499 acp_platform_register sound/soc/amd/acp/snd-acp-pcm +SND_SOC_ACP_COMMON EXPORT_SYMBOL_GPL 0xe764baaa acp_platform_unregister sound/soc/amd/acp/snd-acp-pcm +SND_SOC_AMD_MACH EXPORT_SYMBOL_GPL 0x81271ee3 acp_legacy_dai_links_create sound/soc/amd/acp/snd-acp-mach +SND_SOC_AMD_MACH EXPORT_SYMBOL_GPL 0xce6a5e8e acp_sofdsp_dai_links_create sound/soc/amd/acp/snd-acp-mach +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0x245a92ae cs35l45_pm_ops sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0xad064d44 cs35l45_probe sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0xc4956725 cs35l45_remove sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x2ba67369 cs35l45_i2c_regmap sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x3431c8ad cs35l45_get_clk_freq_id sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x689eb225 cs35l45_spi_regmap sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x8079a731 cs35l45_apply_patch sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_INTEL_HDA_DSP_COMMON EXPORT_SYMBOL 0x6156255a hda_dsp_hdmi_build_controls sound/soc/intel/boards/snd-soc-intel-hda-dsp-common +SND_SOC_INTEL_SOF_CIRRUS_COMMON EXPORT_SYMBOL 0x29ff3c7d cs35l41_set_dai_link sound/soc/intel/boards/snd-soc-intel-sof-cirrus-common +SND_SOC_INTEL_SOF_CIRRUS_COMMON EXPORT_SYMBOL 0x609bc942 cs35l41_set_codec_conf sound/soc/intel/boards/snd-soc-intel-sof-cirrus-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x03f2767d max_98390_spk_codec_init sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x1187d6b0 max_98390_ops sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x183d162b max_98390_components sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x20ca97fa max_98357a_dai_link sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x37caf42d max_98373_trigger sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x62a59af3 max_98390_set_codec_conf sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x661a2065 max_98373_ops sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x7afe541b max_98373_spk_codec_init sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x80b1b594 max_98360a_dai_link sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x8638b9a8 max_98390_4spk_components sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x87362468 max_98373_set_codec_conf sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0x9c5c8e32 max_98373_dapm_routes sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_MAXIM_COMMON EXPORT_SYMBOL 0xa293dbe5 max_98373_components sound/soc/intel/boards/snd-soc-intel-sof-maxim-common +SND_SOC_INTEL_SOF_REALTEK_COMMON EXPORT_SYMBOL 0x12e1b150 sof_rt1011_codec_conf sound/soc/intel/boards/snd-soc-intel-sof-realtek-common +SND_SOC_INTEL_SOF_REALTEK_COMMON EXPORT_SYMBOL 0x39bd682e sof_rt1015p_codec_conf sound/soc/intel/boards/snd-soc-intel-sof-realtek-common +SND_SOC_INTEL_SOF_REALTEK_COMMON EXPORT_SYMBOL 0x6a8e66e4 sof_rt1015_dai_link sound/soc/intel/boards/snd-soc-intel-sof-realtek-common +SND_SOC_INTEL_SOF_REALTEK_COMMON EXPORT_SYMBOL 0x90e06214 sof_rt1019_dai_link sound/soc/intel/boards/snd-soc-intel-sof-realtek-common +SND_SOC_INTEL_SOF_REALTEK_COMMON EXPORT_SYMBOL 0x91335664 sof_rt1308_dai_link sound/soc/intel/boards/snd-soc-intel-sof-realtek-common +SND_SOC_INTEL_SOF_REALTEK_COMMON EXPORT_SYMBOL 0xbcaa8be2 sof_rt1011_dai_link sound/soc/intel/boards/snd-soc-intel-sof-realtek-common +SND_SOC_INTEL_SOF_REALTEK_COMMON EXPORT_SYMBOL 0xc01823b6 sof_rt1015_codec_conf sound/soc/intel/boards/snd-soc-intel-sof-realtek-common +SND_SOC_INTEL_SOF_REALTEK_COMMON EXPORT_SYMBOL 0xf2199eb6 sof_rt1015p_dai_link sound/soc/intel/boards/snd-soc-intel-sof-realtek-common +SND_SOC_SOF_ACPI_DEV EXPORT_SYMBOL 0x78518a7e sof_acpi_pm sound/soc/sof/snd-sof-acpi +SND_SOC_SOF_ACPI_DEV EXPORT_SYMBOL 0x7d9fcf89 sof_acpi_probe sound/soc/sof/snd-sof-acpi +SND_SOC_SOF_ACPI_DEV EXPORT_SYMBOL 0x85d9f6ab sof_acpi_remove sound/soc/sof/snd-sof-acpi +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x0d9fa3f3 acp_mailbox_write sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x1adc6b30 acp_dsp_stream_get sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x35fb27dd acp_sof_ipc_irq_thread sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x39fbe5f2 acp_mailbox_read sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x3de5b6e2 acp_dsp_stream_init sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x4119f31a acp_sof_ipc_send_msg sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x411ba479 acp_sof_trace_release sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x471b4a17 acp_dsp_pre_fw_run sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x47995fa3 acp_sof_dsp_run sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x511762d1 acp_dsp_block_read sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x5bebf005 acp_pcm_open sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x719a13d6 acp_get_bar_index sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x7caa431e acp_sof_ipc_get_mailbox_offset sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x7e59da1a acp_dsp_block_write sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0x88b9d2a5 acp_dsp_stream_put sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0xaa5239b4 amd_sof_acp_probe sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0xc7d17870 amd_sof_acp_remove sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0xccb490ea acp_sof_ipc_msg_data sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0xe2244fd7 acp_pcm_close sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0xf6d149db acp_sof_trace_init sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_AMD_COMMON EXPORT_SYMBOL 0xfcfb4581 acp_pcm_hw_params sound/soc/sof/amd/snd-sof-amd-acp +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x1a751a85 sof_client_get_dma_dev sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x25105fae sof_client_register_fw_state_handler sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x4b129fb0 sof_client_register_ipc_rx_handler sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x52f21852 sof_client_get_ipc_max_payload_size sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x663f9ec5 sof_suspend_clients sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x72410f87 sof_client_dev_register sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0x9ed640ef sof_client_ipc_tx_message sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0xa1574c72 sof_client_core_module_get sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0xab10b9a0 sof_resume_clients sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0xae562dc1 sof_client_get_fw_state sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0xbd97d187 sof_client_get_debugfs_root sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0xca408e55 sof_client_unregister_fw_state_handler sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0xe83ea6b2 sof_client_get_fw_version sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0xec9e898f sof_client_get_ipc_type sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0xf394d4f8 sof_client_core_module_put sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0xf7f5d902 sof_client_dev_unregister sound/soc/sof/snd-sof +SND_SOC_SOF_CLIENT EXPORT_SYMBOL_GPL 0xfe49d77f sof_client_unregister_ipc_rx_handler sound/soc/sof/snd-sof +SND_SOC_SOF_HDA_AUDIO_CODEC EXPORT_SYMBOL 0x52aedd06 hda_codec_jack_wake_enable sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC EXPORT_SYMBOL 0x92524644 hda_codec_jack_check sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC EXPORT_SYMBOL 0xe0b20ff9 hda_codec_probe_bus sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC_I915 EXPORT_SYMBOL 0x1113c90d hda_codec_i915_init sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC_I915 EXPORT_SYMBOL 0x333f6919 hda_codec_i915_exit sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_HDA_AUDIO_CODEC_I915 EXPORT_SYMBOL 0x840a7ec0 hda_codec_i915_display_power sound/soc/sof/intel/snd-sof-intel-hda +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x1154a516 atom_set_mach_params sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x3503e0b1 atom_irq_thread sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0x622d55c2 atom_run sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0xb1f7adb6 atom_get_mailbox_offset sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0xbc94d3fc atom_machine_select sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0xc8c72a39 atom_dai sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0xc8ed63ce atom_dump sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0xcade057c atom_send_msg sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0xdf152847 atom_reset sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0xe8349f9c atom_get_window_offset sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_ATOM_HIFI_EP EXPORT_SYMBOL 0xefa4a41a atom_irq_handler sound/soc/sof/intel/snd-sof-intel-atom +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x0504a8d4 icl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x14f58e75 tgl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x211a5e74 sof_apl_ops_init sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x38b55a18 mtl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x3f907cf6 apl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x521ed29f sof_mtl_ops_init sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x64d28cbc sof_tgl_ops_init sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x6c89d107 sof_icl_ops sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x75e52c40 sof_mtl_ops sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x7f78d1ee sof_tgl_ops sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x901f1231 cnl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x95c5000e adls_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0x9c9eac0f sof_cnl_ops sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xb1600537 sof_icl_ops_init sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xb3f45422 sof_cnl_ops_init sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xc4ae27f9 hda_pci_intel_probe sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xc838865a ehl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xcd622bd5 jsl_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xe3cb4de3 tglh_chip_info sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_INTEL_HDA_COMMON EXPORT_SYMBOL 0xe95a4ce1 sof_apl_ops sound/soc/sof/intel/snd-sof-intel-hda-common +SND_SOC_SOF_PCI_DEV EXPORT_SYMBOL 0x063e2a52 sof_pci_probe sound/soc/sof/snd-sof-pci +SND_SOC_SOF_PCI_DEV EXPORT_SYMBOL 0x85b371b8 sof_pci_remove sound/soc/sof/snd-sof-pci +SND_SOC_SOF_PCI_DEV EXPORT_SYMBOL 0xe4203956 sof_pci_pm sound/soc/sof/snd-sof-pci +SND_SOC_SOF_PCI_DEV EXPORT_SYMBOL 0xe5d5decd sof_pci_shutdown sound/soc/sof/snd-sof-pci +SND_SOC_SOF_XTENSA EXPORT_SYMBOL 0x41bc3311 sof_xtensa_arch_ops sound/soc/sof/xtensa/snd-sof-xtensa-dsp +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x039d8b45 sdw_intel_exit drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x576b08c2 sdw_intel_process_wakeen_event drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x5af438eb sdw_intel_enable_irq drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x6e3247ee sdw_intel_startup drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0xaa52eba1 sdw_intel_thread drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0xe51ca4a6 sdw_intel_probe drivers/soundwire/soundwire-intel +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x02a2f807 dw_spi_check_status drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x24540257 dw_spi_add_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x3fc022eb dw_spi_suspend_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x95fc308b dw_spi_resume_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x99d72512 dw_spi_dma_setup_mfld drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0xa00f2d45 dw_spi_dma_setup_generic drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0xa51c6251 dw_spi_remove_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0xdef401e2 dw_spi_set_cs drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0xe5049eb7 dw_spi_update_config drivers/spi/spi-dw +TEST_FIRMWARE EXPORT_SYMBOL_GPL 0x3dce036c firmware_request_builtin vmlinux +TEST_FIRMWARE EXPORT_SYMBOL_GPL 0x9d8a8803 efi_embedded_fw_list vmlinux +TEST_FIRMWARE EXPORT_SYMBOL_GPL 0x9dd8d0e2 efi_embedded_fw_checked vmlinux +USB_STORAGE EXPORT_SYMBOL_GPL 0x05e3b8e5 usb_stor_access_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x1bc3edc2 usb_stor_sense_invalidCDB drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x2a807460 usb_stor_probe2 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x307fbff9 usb_stor_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x3367b231 usb_stor_pre_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5a7c5d85 usb_stor_post_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5cae52e0 usb_stor_bulk_transfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5cb092b3 usb_stor_clear_halt drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x62b9262e usb_stor_bulk_transfer_sg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x69a37811 usb_stor_Bulk_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7102debf usb_stor_ctrl_transfer drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7b187228 usb_stor_disconnect drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7f5ab94e usb_stor_suspend drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x883b8c28 usb_stor_CB_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x98f56f20 usb_stor_CB_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xc5ddc786 usb_stor_adjust_quirks drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xc614b4ab usb_stor_transparent_scsi_command drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xc8ef8f7f fill_inquiry_response drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xc93eaa84 usb_stor_control_msg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xd1318650 usb_stor_probe1 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xd16b0e92 usb_stor_Bulk_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xd6f2972c usb_stor_host_template_init drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xd87d10d8 usb_stor_set_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xdf36b606 usb_stor_reset_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xe0e6f494 usb_stor_bulk_srb drivers/usb/storage/usb-storage --- linux-gcp-5.19.0.orig/debian.master/abi/amd64/generic.compiler +++ linux-gcp-5.19.0/debian.master/abi/amd64/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 12.2.0-3ubuntu1) 12.2.0 --- linux-gcp-5.19.0.orig/debian.master/abi/amd64/generic.modules +++ linux-gcp-5.19.0/debian.master/abi/amd64/generic.modules @@ -0,0 +1,6186 @@ +104-quad-8 +3c509 +3c574_cs +3c589_cs +3c59x +3w-9xxx +3w-sas +3w-xxxx +53c700 +6lowpan +6pack +8021q +8139cp +8139too +8250_dw +8250_exar +8250_lpss +8250_men_mcb +8250_pericom +8255 +8255_pci +8390 +842 +842_compress +842_decompress +88pg86x +88pm800 +88pm800-regulator +88pm805 +88pm80x +88pm80x_onkey +88pm8607 +88pm860x-ts +88pm860x_battery +88pm860x_bl +88pm860x_charger +88pm860x_onkey +9p +9pnet +9pnet_fd +9pnet_rdma +9pnet_virtio +9pnet_xen +BusLogic +a100u2w +a3d +a8293 +aacraid +aat2870-regulator +aat2870_bl +abituguru +abituguru3 +abp060mg +ac97_bus +acard-ahci +acecad +acenic +acer-wireless +acer-wmi +acerhdf +acp_audio_dma +acpi-als +acpi_configfs +acpi_extlog +acpi_ipmi +acpi_pad +acpi_power_meter +acpi_tad +acpi_thermal_rel +acpiphp_ibm +acquirewdt +acrn +act8865-regulator +act_bpf +act_connmark +act_csum +act_ct +act_ctinfo +act_gact +act_gate +act_ipt +act_mirred +act_mpls +act_nat +act_pedit +act_police +act_sample +act_simple +act_skbedit +act_skbmod +act_tunnel_key +act_vlan +ad2s1200 +ad2s1210 +ad2s90 +ad3552r +ad5064 +ad5110 +ad525x_dpot +ad525x_dpot-i2c +ad525x_dpot-spi +ad5272 +ad5360 +ad5380 +ad5398 +ad5421 +ad5446 +ad5449 +ad5504 +ad5592r +ad5592r-base +ad5593r +ad5624r_spi +ad5686 +ad5686-spi +ad5696-i2c +ad5755 +ad5758 +ad5761 +ad5764 +ad5766 +ad5770r +ad5791 +ad5820 +ad5933 +ad7091r-base +ad7091r5 +ad7124 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7192 +ad7266 +ad7280a +ad7291 +ad7292 +ad7293 +ad7298 +ad7303 +ad7314 +ad7414 +ad7418 +ad74413r +ad7476 +ad7606 +ad7606_par +ad7606_spi +ad7746 +ad7766 +ad7768-1 +ad7780 +ad7791 +ad7793 +ad7816 +ad7877 +ad7879 +ad7879-i2c +ad7879-spi +ad7887 +ad7923 +ad7949 +ad799x +ad8366 +ad8801 +ad9389b +ad9523 +ad9832 +ad9834 +ad_sigma_delta +ada4250 +adc-joystick +adc-keys +adc128d818 +adcxx +addi_apci_1032 +addi_apci_1500 +addi_apci_1516 +addi_apci_1564 +addi_apci_16xx +addi_apci_2032 +addi_apci_2200 +addi_apci_3120 +addi_apci_3501 +addi_apci_3xxx +addi_watchdog +ade7854 +ade7854-i2c +ade7854-spi +adf4350 +adf4371 +adf7242 +adfs +adi +adiantum +adin +adin1100 +adis16080 +adis16130 +adis16136 +adis16201 +adis16203 +adis16209 +adis16240 +adis16260 +adis16400 +adis16460 +adis16475 +adis16480 +adis_lib +adjd_s311 +adl_pci6208 +adl_pci7x3x +adl_pci8164 +adl_pci9111 +adl_pci9118 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm1177 +adm1266 +adm1275 +adm8211 +adm9240 +admv1013 +admv1014 +admv4420 +admv8818 +adp1653 +adp5061 +adp5520-keys +adp5520_bl +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +adq12b +adrf6780 +ads7828 +ads7846 +ads7871 +adt7310 +adt7316 +adt7316-i2c +adt7316-spi +adt7410 +adt7411 +adt7462 +adt7470 +adt7475 +adt7x10 +adummy +adutux +adux1020 +adv7170 +adv7175 +adv7180 +adv7183 +adv7343 +adv7393 +adv7511-v4l2 +adv7604 +adv7842 +adv_pci1710 +adv_pci1720 +adv_pci1723 +adv_pci1724 +adv_pci1760 +adv_pci_dio +adv_swbutton +advansys +advantechwdt +adxl313_core +adxl313_i2c +adxl313_spi +adxl34x +adxl34x-i2c +adxl34x-spi +adxl355_core +adxl355_i2c +adxl355_spi +adxl367 +adxl367_i2c +adxl367_spi +adxl372 +adxl372_i2c +adxl372_spi +adxrs290 +adxrs450 +aegis128 +aegis128-aesni +aes_ti +aesni-intel +af9013 +af9033 +af_alg +af_key +af_packet_diag +afe4403 +afe4404 +affs +ah4 +ah6 +aha152x_cs +aha1740 +ahci +ahci_platform +aht10 +aic79xx +aic7xxx +aic94xx +aio_aio12_8 +aio_iiro_16 +aiptek +aircable +airo +airo_cs +airspy +ak7375 +ak881x +ak8974 +ak8975 +al3010 +al3320a +alcor +alcor_pci +algif_aead +algif_hash +algif_rng +algif_skcipher +alienware-wmi +alim1535_wdt +alim7101_wdt +altera-ci +altera-cvp +altera-freeze-bridge +altera-msgdma +altera-pr-ip-core +altera-ps-spi +altera-stapl +altera_jtaguart +altera_ps2 +altera_tse +altera_uart +alx +am2315 +am53c974 +amc6821 +amd +amd-pmc +amd-rng +amd-uncore +amd-xgbe +amd5536udc_pci +amd64_edac +amd76xrom +amd8111e +amd_freq_sensitivity +amd_hsmp +amd_sfh +amdgpu +amdtee +amilo-rfkill +amlogic-gxl-crypto +amplc_dio200 +amplc_dio200_common +amplc_dio200_pci +amplc_pc236 +amplc_pc236_common +amplc_pc263 +amplc_pci224 +amplc_pci230 +amplc_pci236 +amplc_pci263 +ams-iaq-core +ams369fg06 +amt +analog +analogix-anx78xx +analogix_dp +ansi_cprng +aoe +apanel +apds9300 +apds9802als +apds990x +apds9960 +apple-gmux +apple-mfi-fastcharge +apple_bl +appledisplay +applesmc +applespi +appletalk +appletouch +applicom +aptina-pll +aqc111 +aquacomputer_d5next +aquantia +ar5523 +ar7part +ar9331 +arasan-nand-controller +arc-rawmode +arc-rimi +arc_ps2 +arc_uart +arcfb +arcmsr +arcnet +arcxcnn_bl +arizona +arizona-haptics +arizona-i2c +arizona-ldo1 +arizona-micsupp +arizona-spi +ark3116 +arkfb +arp_tables +arpt_mangle +arptable_filter +as102_fe +as370-hwmon +as3711-regulator +as3711_bl +as3935 +as5011 +as73211 +asb100 +asc7621 +ascot2e +asix +aspeed-pwm-tacho +aspeed-video +ast +asus-ec-sensors +asus-laptop +asus-nb-wmi +asus-tf103c-dock +asus-wireless +asus-wmi +asus_atk0110 +asus_wmi_sensors +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +at803x +at86rf230 +atbm8830 +atc260x-core +atc260x-i2c +atc260x-onkey +atc260x-poweroff +atc260x-regulator +aten +ath +ath10k_core +ath10k_pci +ath10k_sdio +ath10k_usb +ath11k +ath11k_ahb +ath11k_pci +ath3k +ath5k +ath6kl_core +ath6kl_sdio +ath6kl_usb +ath9k +ath9k_common +ath9k_htc +ath9k_hw +ath9k_pci_owl_loader +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atlantic +atlas-ezo-sensor +atlas-sensor +atlas_btns +atm +atmel +atmel-ecc +atmel-i2c +atmel-sha204a +atmel_cs +atmel_mxt_ts +atmel_pci +atmtcp +atomisp +atomisp-gc0310 +atomisp-gc2235 +atomisp-libmsrlisthelper +atomisp-lm3554 +atomisp-mt9m114 +atomisp-ov2680 +atomisp-ov2722 +atomisp-ov5693 +atomisp_gmin_platform +atp +atp870u +atusb +atxp1 +aty128fb +atyfb +au0828 +au8522_common +au8522_decoder +au8522_dig +auo-pixcir-ts +auth_rpcgss +authenc +authencesn +autofs4 +avmfritz +ax25 +ax88179_178a +ax88796b +ax88796c +axi-fan-control +axnet_cs +axp20x +axp20x-i2c +axp20x-pek +axp20x-regulator +axp20x_ac_power +axp20x_adc +axp20x_battery +axp20x_usb_power +axp288_adc +axp288_charger +axp288_fuel_gauge +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b43 +b43legacy +b44 +b53_common +b53_mdio +b53_mmap +b53_serdes +b53_spi +b53_srab +ba431-rng +barco-p50-gpio +bareudp +batman-adv +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcache +bch +bcm-phy-lib +bcm-sf2 +bcm203x +bcm3510 +bcm54140 +bcm590xx +bcm590xx-regulator +bcm5974 +bcm7xxx +bcm87xx +bcm_vk +bcma +bcma-hcd +bcmsysport +bd6107 +bd9571mwv +bd9571mwv-regulator +bd99954-charger +bdc +be2iscsi +be2net +befs +bel-pfe +belkin_sa +bfa +bfq +bfs +bfusb +bh1750 +bh1770glc +bh1780 +binder_linux +binfmt_misc +blake2b_generic +block2mtd +blocklayoutdriver +blowfish-x86_64 +blowfish_common +blowfish_generic +bluecard_cs +bluetooth +bluetooth_6lowpan +bma150 +bma220_spi +bma400_core +bma400_i2c +bma400_spi +bmc150-accel-core +bmc150-accel-i2c +bmc150-accel-spi +bmc150_magn +bmc150_magn_i2c +bmc150_magn_spi +bme680_core +bme680_i2c +bme680_spi +bmg160_core +bmg160_i2c +bmg160_spi +bmi088-accel-core +bmi088-accel-spi +bmi160_core +bmi160_i2c +bmi160_spi +bmp280 +bmp280-i2c +bmp280-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bnxt_en +bnxt_re +bochs +bonding +bpa-rs600 +bpa10x +bpck +bpfilter +bpqether +bq2415x_charger +bq24190_charger +bq24257_charger +bq24735-charger +bq2515x_charger +bq256xx_charger +bq25890_charger +bq25980_charger +bq27xxx_battery +bq27xxx_battery_hdq +bq27xxx_battery_i2c +br2684 +br_netfilter +brcmfmac +brcmsmac +brcmutil +brd +bridge +broadcom +bsd_comp +bt3c_cs +bt819 +bt856 +bt866 +bt878 +btbcm +btcoexist +btintel +btmrvl +btmrvl_sdio +btmtk +btmtksdio +btmtkuart +btqca +btrfs +btrsi +btrtl +btsdio +bttv +btusb +bu21013_ts +bu21029_ts +budget +budget-av +budget-ci +budget-core +budget-patch +c2port-duramar2150 +c67x00 +c6xdigio +c_can +c_can_pci +c_can_platform +ca8210 +cachefiles +cadence_wdt +cafe_ccic +cafe_nand +caif +caif_serial +caif_socket +caif_usb +caif_virtio +camellia-aesni-avx-x86_64 +camellia-aesni-avx2 +camellia-x86_64 +camellia_generic +can +can-bcm +can-dev +can-gw +can-isotp +can-j1939 +can-raw +capmode +capsule-loader +carl9170 +carminefb +cassini +cast5-avx-x86_64 +cast5_generic +cast6-avx-x86_64 +cast6_generic +cast_common +catc +cavium_ptp +cb710 +cb710-mmc +cb_das16_cs +cb_pcidas +cb_pcidas64 +cb_pcidda +cb_pcimdas +cb_pcimdda +cc10001_adc +cc2520 +cc770 +cc770_isa +cc770_platform +ccm +ccp +ccp-crypto +ccs +ccs-pll +ccs811 +cdc-acm +cdc-phonet +cdc-wdm +cdc_eem +cdc_ether +cdc_mbim +cdc_ncm +cdc_subset +cdns-csi2rx +cdns-csi2tx +cdns-pltfrm +cdns-usb-common +cdns3 +cdns3-pci-wrap +cdnsp-udc-pci +cec +cec-gpio +ceph +cfag12864b +cfag12864bfb +cfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch +ch341 +ch7006 +ch7322 +ch9200 +ch_ipsec +ch_ktls +chacha-x86_64 +chacha20poly1305 +chacha_generic +chaoskey +charlcd +chcr +chipone_icn8505 +chipreg +chnl_net +chromeos_acpi +chromeos_laptop +chromeos_privacy_screen +chromeos_pstore +chromeos_tbmc +ci_hdrc +ci_hdrc_msm +ci_hdrc_pci +ci_hdrc_usb2 +cicada +cifs +cifs_arc4 +cifs_md4 +cio-dac +cirrus +cirrusfb +ck804xrom +classmate-laptop +clip +clk-cdce706 +clk-cs2000-cp +clk-lmk04832 +clk-max9485 +clk-palmas +clk-pwm +clk-si5341 +clk-si5351 +clk-si544 +clk-tps68470 +clk-twl6040 +clk-wm831x +cls_basic +cls_bpf +cls_cgroup +cls_flow +cls_flower +cls_fw +cls_matchall +cls_route +cls_rsvp +cls_rsvp6 +cls_u32 +cm109 +cm32181 +cm3232 +cm3323 +cm3605 +cm36651 +cm4000_cs +cm4040_cs +cma3000_d0x +cma3000_d0x_i2c +cmac +cmdlinepart +cmtp +cnic +cobalt +cobra +coda +com20020 +com20020-pci +com20020_cs +com90io +com90xx +comedi +comedi_8254 +comedi_8255 +comedi_bond +comedi_example_test +comedi_isadma +comedi_parport +comedi_pci +comedi_pcmcia +comedi_test +comedi_usb +comm +compal-laptop +contec_pci_dio +cordic +core +coretemp +corsair-cpro +corsair-psu +cortina +counter +cp210x +cpcihp_generic +cpcihp_zt5550 +cpia2 +cpu5wdt +cpuid +cpuidle-haltpoll +cqhci +cr_bllcd +cramfs +crc-itu-t +crc32-pclmul +crc32_generic +crc4 +crc7 +crc8 +crct10dif-pclmul +cros-ec-cec +cros-ec-sensorhub +cros_ec +cros_ec_accel_legacy +cros_ec_baro +cros_ec_chardev +cros_ec_debugfs +cros_ec_dev +cros_ec_i2c +cros_ec_ishtp +cros_ec_keyb +cros_ec_lid_angle +cros_ec_light_prox +cros_ec_lightbar +cros_ec_lpcs +cros_ec_mkbp_proximity +cros_ec_sensors +cros_ec_sensors_core +cros_ec_spi +cros_ec_sysfs +cros_ec_typec +cros_kbd_led_backlight +cros_peripheral_charger +cros_usbpd-charger +cros_usbpd_logger +cros_usbpd_notify +crvml +cryptd +crypto_engine +crypto_safexcel +crypto_simd +crypto_user +cs3308 +cs5345 +cs53l32a +cs_dsp +csiostor +ct82c710 +ctucanfd +ctucanfd_pci +curve25519-generic +curve25519-x86_64 +cuse +cw1200_core +cw1200_wlan_sdio +cw1200_wlan_spi +cw2015_battery +cx18 +cx18-alsa +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24117 +cx24120 +cx24123 +cx25821 +cx25821-alsa +cx25840 +cx82310_eth +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx8800 +cx8802 +cx88xx +cxacru +cxd2099 +cxd2820r +cxd2841er +cxd2880 +cxd2880-spi +cxgb +cxgb3 +cxgb3i +cxgb4 +cxgb4i +cxgb4vf +cxgbit +cxl_acpi +cxl_core +cxl_mem +cxl_pci +cxl_pmem +cxl_port +cy8ctma140 +cy8ctmg110_ts +cyapatp +cyber2000fb +cyberjack +cypress-sf +cypress_cy7c63 +cypress_firmware +cypress_m8 +cytherm +cyttsp4_core +cyttsp4_i2c +cyttsp4_spi +cyttsp_core +cyttsp_i2c +cyttsp_i2c_common +cyttsp_spi +da280 +da311 +da7280 +da9030_battery +da9034-ts +da903x-regulator +da903x_bl +da9052-battery +da9052-hwmon +da9052-regulator +da9052_bl +da9052_onkey +da9052_tsi +da9052_wdt +da9055-hwmon +da9055-regulator +da9055_onkey +da9055_wdt +da9062-core +da9062-regulator +da9062_wdt +da9063_onkey +da9063_wdt +da9150-charger +da9150-core +da9150-fg +da9150-gpadc +da9210-regulator +da9211-regulator +dac02 +daqboard2000 +das08 +das08_cs +das08_isa +das08_pci +das16 +das16m1 +das1800 +das6402 +das800 +davicom +dax_hmem +dax_pmem +db9 +dc395x +dca +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dcdbas +ddbridge +ddbridge-dummy-fe +de2104x +decnet +defxx +dell-laptop +dell-rbtn +dell-smbios +dell-smm-hwmon +dell-smo8800 +dell-uart-backlight +dell-wmi +dell-wmi-aio +dell-wmi-descriptor +dell-wmi-led +dell-wmi-sysman +dell_rbu +delta-ahe50dc-fan +denali +denali_pci +des3_ede-x86_64 +des_generic +designware_i2s +device_dax +dfl +dfl-afu +dfl-emif +dfl-fme +dfl-fme-br +dfl-fme-mgr +dfl-fme-region +dfl-n3000-nios +dfl-pci +dht11 +diag +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +diskonchip +dl2k +dlhl60d +dlink-dir685-touchkeys +dlm +dln2 +dln2-adc +dm-bio-prison +dm-bufio +dm-cache +dm-cache-smq +dm-clone +dm-crypt +dm-delay +dm-ebs +dm-era +dm-flakey +dm-historical-service-time +dm-integrity +dm-io-affinity +dm-log +dm-log-userspace +dm-log-writes +dm-mirror +dm-multipath +dm-persistent-data +dm-queue-length +dm-raid +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dm-switch +dm-thin-pool +dm-unstripe +dm-verity +dm-writecache +dm-zero +dm-zoned +dm1105 +dm9601 +dmard06 +dmard09 +dmard10 +dme1737 +dmfe +dmi-sysfs +dmm32at +dmx3191d +dn_rtmsg +dnet +dp83640 +dp83822 +dp83848 +dp83867 +dp83869 +dp83tc811 +dp83td510 +dpot-dac +dps310 +dps920ab +dpt_i2o +dptf_pch_fivr +dptf_power +drbd +drivetemp +drm +drm_buddy +drm_cma_helper +drm_display_helper +drm_kms_helper +drm_mipi_dbi +drm_shmem_helper +drm_ttm_helper +drm_vram_helper +drm_xen_front +drv260x +drv2665 +drv2667 +drx39xyj +drxd +drxk +ds1621 +ds1682 +ds1803 +ds1wm +ds2482 +ds2490 +ds2760_battery +ds2780_battery +ds2781_battery +ds2782_battery +ds3000 +ds4424 +ds620 +dsa_core +dsbr100 +dst +dst_ca +dstr +dt2801 +dt2811 +dt2814 +dt2815 +dt2817 +dt282x +dt3000 +dt3155 +dt9812 +dtl1_cs +dummy +dummy-irq +dummy_stm +dvb-as102 +dvb-bt8xx +dvb-core +dvb-pll +dvb-ttpci +dvb-ttusb-budget +dvb-usb +dvb-usb-a800 +dvb-usb-af9005 +dvb-usb-af9005-remote +dvb-usb-af9015 +dvb-usb-af9035 +dvb-usb-anysee +dvb-usb-au6610 +dvb-usb-az6007 +dvb-usb-az6027 +dvb-usb-ce6230 +dvb-usb-cinergyT2 +dvb-usb-cxusb +dvb-usb-dib0700 +dvb-usb-dibusb-common +dvb-usb-dibusb-mb +dvb-usb-dibusb-mc +dvb-usb-dibusb-mc-common +dvb-usb-digitv +dvb-usb-dtt200u +dvb-usb-dtv5100 +dvb-usb-dvbsky +dvb-usb-dw2102 +dvb-usb-ec168 +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-lmedm04 +dvb-usb-m920x +dvb-usb-mxl111sf +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-pctv452e +dvb-usb-rtl28xxu +dvb-usb-technisat-usb2 +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +dvb_dummy_fe +dvb_usb_v2 +dw-edma +dw-edma-pcie +dw-i3c-master +dw-xdata-pcie +dw9714 +dw9768 +dw9807-vcm +dw_dmac +dw_dmac_core +dw_dmac_pci +dw_wdt +dwc-xlgmac +dwc2_pci +dwc3 +dwc3-haps +dwc3-pci +dwmac-generic +dwmac-intel +dwmac-loongson +dyna_pci10xx +dynapro +e100 +e1000 +e1000e +e3x0-button +e4000 +e752x_edac +earth-pt1 +earth-pt3 +ebc-c384_wdt +ebt_802_3 +ebt_among +ebt_arp +ebt_arpreply +ebt_dnat +ebt_ip +ebt_ip6 +ebt_limit +ebt_log +ebt_mark +ebt_mark_m +ebt_nflog +ebt_pkttype +ebt_redirect +ebt_snat +ebt_stp +ebt_vlan +ebtable_broute +ebtable_filter +ebtable_nat +ebtables +ec100 +ec_bhf +ec_sys +ecc +ecdh_generic +ecdsa_generic +echainiv +echo +ecrdsa_generic +edac_mce_amd +edt-ft5x06 +ee1004 +eeepc-laptop +eeepc-wmi +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efa +efct +efi-pstore +efi_secret +efi_test +efibc +efs +egalax_ts_serial +ehci-fsl +ehset +einj +ektf2127 +elan_i2c +elo +em28xx +em28xx-alsa +em28xx-dvb +em28xx-rc +em28xx-v4l +em_canid +em_cmp +em_ipset +em_ipt +em_meta +em_nbyte +em_text +em_u32 +emc1403 +emc2103 +emc6w201 +emi26 +emi62 +empeg +ems_pci +ems_pcmcia +ems_usb +emu10k1-gp +ena +enc28j60 +enclosure +encx24j600 +encx24j600-regmap +ene_ir +eni +eni_vdpa +enic +epat +epia +epic100 +eql +erofs +esas2r +esb2rom +esd_usb2 +esp4 +esp4_offload +esp6 +esp6_offload +esp_scsi +essiv +et1011c +et131x +et8ek8 +etas_es58x +ethoc +eurotechwdt +evbug +exc3000 +exfat +extcon-adc-jack +extcon-axp288 +extcon-fsa9480 +extcon-gpio +extcon-intel-cht-wc +extcon-intel-int3496 +extcon-intel-mrfld +extcon-max14577 +extcon-max3355 +extcon-max77693 +extcon-max77843 +extcon-max8997 +extcon-palmas +extcon-ptn5150 +extcon-rt8973a +extcon-sm5502 +extcon-usb-gpio +extcon-usbc-cros-ec +extcon-usbc-tusb320 +ezusb +f2fs +f71805f +f71808e_wdt +f71882fg +f75375s +f81232 +f81534 +f81601 +failover +fakelb +fam15h_power +fan53555 +farsync +faulty +fb_agm1264k-fl +fb_bd663474 +fb_ddc +fb_hx8340bn +fb_hx8347d +fb_hx8353d +fb_hx8357d +fb_ili9163 +fb_ili9320 +fb_ili9325 +fb_ili9340 +fb_ili9341 +fb_ili9481 +fb_ili9486 +fb_pcd8544 +fb_ra8875 +fb_s6d02a1 +fb_s6d1121 +fb_seps525 +fb_sh1106 +fb_ssd1289 +fb_ssd1305 +fb_ssd1306 +fb_ssd1325 +fb_ssd1331 +fb_ssd1351 +fb_st7735r +fb_st7789v +fb_sys_fops +fb_tinylcd +fb_tls8204 +fb_uc1611 +fb_uc1701 +fb_upd161704 +fbtft +fc0011 +fc0012 +fc0013 +fc2580 +fcoe +fcrypt +fdomain +fdomain_cs +fdomain_pci +fdp +fdp_i2c +fealnx +ff-memless +fieldbus_dev +fintek-cir +firedtv +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +firewire-serial +firmware_attributes_class +fit2 +fit3 +fixed +fjes +fl512 +floppy +fm10k +fm801-gp +fm_drv +fmvj18x_cs +fnic +forcedeth +fore_200e +fotg210-hcd +fotg210-udc +fou +fou6 +fpga-bridge +fpga-mgr +fpga-region +freevxfs +friq +frpw +fsa4480 +fscache +fschmd +fsia6b +fsl-mph-dr-of +fsl_linflexuart +fsl_lpuart +fsp-3y +ftdi-elan +ftdi_sio +ftl +ftrace-direct +ftrace-direct-modify +ftrace-direct-too +ftsteutates +fujitsu-laptop +fujitsu-tablet +fujitsu_ts +funcore +funeth +fusb302 +fxas21002c_core +fxas21002c_i2c +fxas21002c_spi +fxls8962af-core +fxls8962af-i2c +fxls8962af-spi +fxos8700_core +fxos8700_i2c +fxos8700_spi +g450_pll +g760a +g762 +g_acm_ms +g_audio +g_cdc +g_dbgp +g_ether +g_ffs +g_hid +g_mass_storage +g_midi +g_ncm +g_nokia +g_printer +g_serial +g_webcam +g_zero +gadgetfs +gamecon +gameport +garmin_gps +garp +gb-audio-apbridgea +gb-audio-codec +gb-audio-gb +gb-audio-manager +gb-audio-module +gb-bootrom +gb-es2 +gb-firmware +gb-gbphy +gb-gpio +gb-hid +gb-i2c +gb-light +gb-log +gb-loopback +gb-power-supply +gb-pwm +gb-raw +gb-sdio +gb-spi +gb-spilib +gb-uart +gb-usb +gb-vibrator +gdmtty +gdmulte +gen_probe +generic +generic-adc-battery +genet +geneve +genwqe_card +gf2k +gfs2 +ghash-clmulni-intel +gigabyte-wmi +gl518sm +gl520sm +gl620a +gluebi +gm12u320 +gma500_gfx +gnss +gnss-mtk +gnss-serial +gnss-sirf +gnss-ubx +gnss-usb +go7007 +go7007-loader +go7007-usb +goku_udc +goldfish_battery +goodix_ts +gp2ap002 +gp2ap020a00f +gp8psk-fe +gpd-pocket-fan +gpio +gpio-104-dio-48e +gpio-104-idi-48 +gpio-104-idio-16 +gpio-aaeon +gpio-adp5520 +gpio-adp5588 +gpio-aggregator +gpio-amd-fch +gpio-amd8111 +gpio-amdpt +gpio-arizona +gpio-bd9571mwv +gpio-beeper +gpio-charger +gpio-da9052 +gpio-da9055 +gpio-dln2 +gpio-dwapb +gpio-exar +gpio-f7188x +gpio-gpio-mm +gpio-ich +gpio-it87 +gpio-janz-ttl +gpio-kempld +gpio-lp3943 +gpio-lp873x +gpio-madera +gpio-max3191x +gpio-max7300 +gpio-max7301 +gpio-max730x +gpio-max732x +gpio-mb86s7x +gpio-mc33880 +gpio-menz127 +gpio-ml-ioh +gpio-pca953x +gpio-pca9570 +gpio-pcf857x +gpio-pci-idio-16 +gpio-pcie-idio-24 +gpio-pisosr +gpio-rdc321x +gpio-regulator +gpio-sch +gpio-sch311x +gpio-sim +gpio-siox +gpio-tpic2810 +gpio-tps65086 +gpio-tps65912 +gpio-tps68470 +gpio-tqmx86 +gpio-twl4030 +gpio-twl6040 +gpio-ucb1400 +gpio-vibra +gpio-viperboard +gpio-virtio +gpio-vx855 +gpio-wcove +gpio-winbond +gpio-wm831x +gpio-wm8350 +gpio-wm8994 +gpio-ws16c48 +gpio-xra1403 +gpio_backlight +gpio_decoder +gpio_keys +gpio_keys_polled +gpio_mouse +gpu-sched +gr_udc +grace +gre +greybus +grip +grip_mp +gru +gs1662 +gs_usb +gsc_hpdi +gspca_benq +gspca_conex +gspca_cpia1 +gspca_dtcs033 +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_jl2005bcd +gspca_kinect +gspca_konica +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_nw80x +gspca_ov519 +gspca_ov534 +gspca_ov534_9 +gspca_pac207 +gspca_pac7302 +gspca_pac7311 +gspca_se401 +gspca_sn9c2028 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca1528 +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_sq930x +gspca_stk014 +gspca_stk1135 +gspca_stv0680 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_topro +gspca_touptek +gspca_tv8532 +gspca_vc032x +gspca_vicam +gspca_xirlink_cit +gspca_zc3xx +gtp +gud +guillemot +gunze +gve +habanalabs +hackrf +hamachi +hampshire +hangcheck-timer +hanwang +hci +hci_nokia +hci_uart +hci_vhci +hd3ss3220 +hd44780 +hd44780_common +hdaps +hdc100x +hdc2010 +hdlc +hdlc_cisco +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdlcdrv +hdma +hdma_mgmt +hdpvr +he +hecubafb +helene +hellcreek_sw +hexium_gemini +hexium_orion +hfcmulti +hfcpci +hfcsusb +hfi1 +hfs +hfsplus +hgafb +hi311x +hi556 +hi6210-i2s +hi8435 +hi846 +hi847 +hid +hid-a4tech +hid-accutouch +hid-alps +hid-apple +hid-appleir +hid-asus +hid-aureal +hid-axff +hid-belkin +hid-betopff +hid-bigbenff +hid-cherry +hid-chicony +hid-cmedia +hid-corsair +hid-cougar +hid-cp2112 +hid-creative-sb0540 +hid-cypress +hid-dr +hid-elan +hid-elecom +hid-elo +hid-emsff +hid-ezkey +hid-ft260 +hid-gaff +hid-gembird +hid-generic +hid-gfrm +hid-glorious +hid-google-hammer +hid-gt683r +hid-gyration +hid-holtek-kbd +hid-holtek-mouse +hid-holtekff +hid-hyperv +hid-icade +hid-ite +hid-jabra +hid-kensington +hid-keytouch +hid-kye +hid-lcpower +hid-led +hid-lenovo +hid-letsketch +hid-lg-g15 +hid-logitech +hid-logitech-dj +hid-logitech-hidpp +hid-macally +hid-magicmouse +hid-maltron +hid-mcp2221 +hid-megaworld +hid-mf +hid-microsoft +hid-monterey +hid-multitouch +hid-nintendo +hid-nti +hid-ntrig +hid-ortek +hid-penmount +hid-petalynx +hid-picolcd +hid-pl +hid-plantronics +hid-playstation +hid-primax +hid-prodikeys +hid-razer +hid-redragon +hid-retrode +hid-rmi +hid-roccat +hid-roccat-arvo +hid-roccat-common +hid-roccat-isku +hid-roccat-kone +hid-roccat-koneplus +hid-roccat-konepure +hid-roccat-kovaplus +hid-roccat-lua +hid-roccat-pyra +hid-roccat-ryos +hid-roccat-savu +hid-saitek +hid-samsung +hid-semitek +hid-sensor-accel-3d +hid-sensor-als +hid-sensor-custom +hid-sensor-custom-intel-hinge +hid-sensor-gyro-3d +hid-sensor-hub +hid-sensor-humidity +hid-sensor-iio-common +hid-sensor-incl-3d +hid-sensor-magn-3d +hid-sensor-press +hid-sensor-prox +hid-sensor-rotation +hid-sensor-temperature +hid-sensor-trigger +hid-sigmamicro +hid-sjoy +hid-sony +hid-speedlink +hid-steam +hid-steelseries +hid-sunplus +hid-thrustmaster +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-u2fzero +hid-uclogic +hid-udraw-ps3 +hid-viewsonic +hid-vivaldi +hid-vivaldi-common +hid-waltop +hid-wiimote +hid-xiaomi +hid-xinmo +hid-zpff +hid-zydacron +hideep +hidp +hih6130 +hinic +hisi-spmi-controller +hmc425a +hmc5843_core +hmc5843_i2c +hmc5843_spi +hmc6352 +hopper +horus3a +hostap +hostap_cs +hostap_pci +hostap_plx +hp-wmi +hp03 +hp206c +hp_accel +hpfs +hpilo +hpsa +hptiop +hpwdt +hsi +hsi_char +hso +hsr +ht16k33 +htc-pasic3 +hts221 +hts221_i2c +hts221_spi +htu21 +huawei-wmi +huawei_cdc_ncm +hv_balloon +hv_netvsc +hv_sock +hv_storvsc +hv_utils +hv_vmbus +hwmon-aaeon +hwmon-vid +hwpoison-inject +hx711 +hx8357 +hx8357d +hycon-hy46xx +hyperbus-core +hyperv-keyboard +hyperv_drm +hyperv_fb +i10nm_edac +i2c-algo-bit +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd-mp2-pci +i2c-amd-mp2-plat +i2c-amd756 +i2c-amd756-s4882 +i2c-amd8111 +i2c-cbus-gpio +i2c-ccgx-ucsi +i2c-cht-wc +i2c-cp2615 +i2c-cros-ec-tunnel +i2c-designware-pci +i2c-diolan-u2c +i2c-dln2 +i2c-gpio +i2c-hid +i2c-hid-acpi +i2c-i801 +i2c-isch +i2c-ismt +i2c-kempld +i2c-matroxfb +i2c-mlxcpld +i2c-mux +i2c-mux-gpio +i2c-mux-ltc4306 +i2c-mux-mlxcpld +i2c-mux-pca9541 +i2c-mux-pca954x +i2c-mux-reg +i2c-nforce2 +i2c-nforce2-s4985 +i2c-nvidia-gpu +i2c-ocores +i2c-parport +i2c-pca-platform +i2c-piix4 +i2c-robotfuzz-osif +i2c-scmi +i2c-simtec +i2c-sis5595 +i2c-sis630 +i2c-sis96x +i2c-smbus +i2c-stub +i2c-taos-evm +i2c-tiny-usb +i2c-via +i2c-viapro +i2c-viperboard +i2c-virtio +i2c-xiic +i3000_edac +i3200_edac +i3c +i3c-master-cdns +i40e +i5000_edac +i5100_edac +i5400_edac +i5500_temp +i5k_amb +i6300esb +i7300_edac +i740fb +i7core_edac +i82092 +i82975x_edac +i915 +iTCO_vendor_support +iTCO_wdt +iavf +ib700wdt +ib_cm +ib_core +ib_ipoib +ib_iser +ib_isert +ib_mthca +ib_qib +ib_srp +ib_srpt +ib_umad +ib_uverbs +ibm-cffps +ibm_rtl +ibmaem +ibmasm +ibmasr +ibmpex +ice +ichxrom +icp +icp10100 +icp_multi +icplus +ics932s401 +ideapad-laptop +ideapad_slidebar +idma64 +idmouse +idt77252 +idt_89hpesx +idt_gen2 +idt_gen3 +idtcps +idxd +idxd_bus +ie31200_edac +ie6xx_wdt +ieee802154 +ieee802154_6lowpan +ieee802154_socket +ifb +ifcvf +ife +ifi_canfd +iforce +iforce-serio +iforce-usb +igb +igbvf +igc +igen6_edac +igorplugusb +iguanair +ii_pci20kc +iio-mux +iio-rescale +iio-trig-hrtimer +iio-trig-interrupt +iio-trig-loop +iio-trig-sysfs +iio_dummy +iio_hwmon +ila +ili210x +ili9163 +ili9225 +ili922x +ili9320 +ili9341 +ili9486 +ilitek_ts_i2c +imagis +img-ascii-lcd +img-i2s-in +img-i2s-out +img-parallel-out +img-spdif-in +img-spdif-out +imm +imon +imon_raw +ims-pcu +imx208 +imx214 +imx219 +imx258 +imx274 +imx290 +imx319 +imx355 +ina209 +ina238 +ina2xx +ina2xx-adc +ina3221 +industrialio +industrialio-buffer-cb +industrialio-buffer-dma +industrialio-buffer-dmaengine +industrialio-configfs +industrialio-hw-consumer +industrialio-sw-device +industrialio-sw-trigger +industrialio-triggered-buffer +industrialio-triggered-event +inet_diag +inexio +inftl +initio +input-leds +inspur-ipsps +int3400_thermal +int3401_thermal +int3402_thermal +int3403_thermal +int3406_thermal +int340x_thermal_zone +int51x1 +intel-cstate +intel-hid +intel-ish-ipc +intel-ishtp +intel-ishtp-hid +intel-ishtp-loader +intel-lpss +intel-lpss-acpi +intel-lpss-pci +intel-m10-bmc +intel-m10-bmc-hwmon +intel-qep +intel-rng +intel-rst +intel-smartconnect +intel-uncore-frequency +intel-uncore-frequency-common +intel-vbtn +intel-wmi-sbl-fw-update +intel-wmi-thunderbolt +intel-xhci-usb-role-switch +intel-xway +intel_atomisp2_led +intel_bxt_pmic_thermal +intel_bxtwc_tmu +intel_chtdc_ti_pwrbtn +intel_chtwc_int33fe +intel_crystal_cove_charger +intel_int0002_vgpio +intel_ips +intel_menlow +intel_mrfld_adc +intel_mrfld_pwrbtn +intel_oaktrail +intel_pch_thermal +intel_pmc_bxt +intel_pmc_mux +intel_powerclamp +intel_punit_ipc +intel_qat +intel_quark_i2c_gpio +intel_rapl_common +intel_rapl_msr +intel_sar +intel_scu_ipcutil +intel_scu_pltdrv +intel_sdsi +intel_skl_int3472_discrete +intel_skl_int3472_tps68470 +intel_soc_dts_iosf +intel_soc_dts_thermal +intel_soc_pmic_bxtwc +intel_soc_pmic_chtdc_ti +intel_soc_pmic_mrfld +intel_tcc_cooling +intel_telemetry_core +intel_telemetry_debugfs +intel_telemetry_pltdrv +intel_th +intel_th_acpi +intel_th_gth +intel_th_msu +intel_th_msu_sink +intel_th_pci +intel_th_pti +intel_th_sth +intel_vr_nor +intel_vsec +intelfb +interact +interrupt-cnt +inv-icm42600 +inv-icm42600-i2c +inv-icm42600-spi +inv-mpu6050 +inv-mpu6050-i2c +inv-mpu6050-spi +io_edgeport +io_ti +ioatdma +iommu_v2 +ionic +iosm +iowarrior +ip5xxx_power +ip6_gre +ip6_tables +ip6_tunnel +ip6_udp_tunnel +ip6_vti +ip6t_NPT +ip6t_REJECT +ip6t_SYNPROXY +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_mh +ip6t_rpfilter +ip6t_rt +ip6t_srh +ip6table_filter +ip6table_mangle +ip6table_nat +ip6table_raw +ip6table_security +ip_gre +ip_set +ip_set_bitmap_ip +ip_set_bitmap_ipmac +ip_set_bitmap_port +ip_set_hash_ip +ip_set_hash_ipmac +ip_set_hash_ipmark +ip_set_hash_ipport +ip_set_hash_ipportip +ip_set_hash_ipportnet +ip_set_hash_mac +ip_set_hash_net +ip_set_hash_netiface +ip_set_hash_netnet +ip_set_hash_netport +ip_set_hash_netportnet +ip_set_list_set +ip_tables +ip_tunnel +ip_vs +ip_vs_dh +ip_vs_fo +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_mh +ip_vs_nq +ip_vs_ovf +ip_vs_pe_sip +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_twos +ip_vs_wlc +ip_vs_wrr +ip_vti +ipack +ipaq +ipcomp +ipcomp6 +iphase +ipheth +ipip +ipmi_devintf +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_ssif +ipmi_watchdog +ipoctal +ipr +ips +ipt_CLUSTERIP +ipt_ECN +ipt_REJECT +ipt_SYNPROXY +ipt_ah +ipt_rpfilter +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +iptable_security +ipu3-cio2 +ipu3-imgu +ipvlan +ipvtap +ipw +ipw2100 +ipw2200 +ipwireless +iqs269a +iqs5xx +iqs620at-temp +iqs621-als +iqs624-pos +iqs626a +iqs62x +iqs62x-keys +iqs7222 +ir-imon-decoder +ir-jvc-decoder +ir-kbd-i2c +ir-mce_kbd-decoder +ir-nec-decoder +ir-rc5-decoder +ir-rc6-decoder +ir-rcmm-decoder +ir-sanyo-decoder +ir-sharp-decoder +ir-sony-decoder +ir-usb +ir-xmp-decoder +ir35221 +ir36021 +ir38064 +ir_toy +irdma +irps5401 +irq-madera +isci +iscsi_boot_sysfs +iscsi_ibft +iscsi_target_mod +iscsi_tcp +isdnhdlc +ishtp_eclite +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl29125 +isl29501 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isl68137 +isl9305 +isofs +isp116x-hcd +isp1704_charger +isp1760 +isst_if_common +isst_if_mbox_msr +isst_if_mbox_pci +isst_if_mmio +it87 +it8712f_wdt +it87_wdt +it913x +itd1000 +ite-cir +itg3200 +iuu_phoenix +ivtv +ivtv-alsa +ivtvfb +iw_cm +iw_cxgb4 +iwl3945 +iwl4965 +iwldvm +iwlegacy +iwlmvm +iwlwifi +ix2505v +ixgb +ixgbe +ixgbevf +janz-cmodio +janz-ican3 +jc42 +jedec_probe +jffs2 +jfs +jmb38x_ms +jme +joydev +joydump +jr3_pci +jsa1212 +jsm +k10temp +k8temp +kafs +kalmia +kaweth +kb3886_bl +kbic +kbtab +kcm +kcomedilib +ke_counter +kempld-core +kempld_wdt +kernelcapi +keyspan +keyspan_pda +keyspan_remote +keywrap +kfifo_buf +kheaders +kl5kusb105 +kmem +kmx61 +kobil_sct +ks0108 +ks0127 +ks7010 +ks8842 +ks8851_common +ks8851_par +ks8851_spi +ksmbd +ksz8795 +ksz8795_spi +ksz884x +ksz8863_smi +ksz9477 +ksz9477_i2c +ksz9477_spi +ksz_common +ktd253-backlight +ktti +kvaser_pci +kvaser_pciefd +kvaser_usb +kvm +kvm-amd +kvm-intel +kvmgt +kxcjk-1013 +kxsd9 +kxsd9-i2c +kxsd9-spi +kxtj9 +kyber-iosched +kyrofb +l1oip +l2tp_core +l2tp_debugfs +l2tp_eth +l2tp_ip +l2tp_ip6 +l2tp_netlink +l2tp_ppp +l440gx +l4f00242t03 +l64781 +lan743x +lan78xx +lan9303-core +lan9303_i2c +lan9303_mdio +lanai +lantiq +lantiq_gswip +lapb +lapbether +lattice-ecp3-config +lcd +lcd2s +ldusb +lec +led-class-flash +led-class-multicolor +leds-88pm860x +leds-aaeon +leds-adp5520 +leds-apu +leds-as3645a +leds-bd2802 +leds-blinkm +leds-clevo-mail +leds-da903x +leds-da9052 +leds-dac124s085 +leds-gpio +leds-lm3530 +leds-lm3532 +leds-lm3533 +leds-lm355x +leds-lm3601x +leds-lm36274 +leds-lm3642 +leds-lp3944 +leds-lp3952 +leds-lp50xx +leds-lp8788 +leds-lt3593 +leds-max8997 +leds-mc13783 +leds-menf21bmc +leds-mlxcpld +leds-mlxreg +leds-mt6323 +leds-nic78bx +leds-pca9532 +leds-pca955x +leds-pca963x +leds-pwm +leds-pwm-multicolor +leds-regulator +leds-rt8515 +leds-sgm3140 +leds-ss4200 +leds-tca6507 +leds-ti-lmu-common +leds-tlc591xx +leds-tps6105x +leds-wm831x-status +leds-wm8350 +ledtrig-activity +ledtrig-audio +ledtrig-backlight +ledtrig-camera +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-netdev +ledtrig-oneshot +ledtrig-pattern +ledtrig-timer +ledtrig-transient +ledtrig-tty +ledtrig-usbport +legousbtower +lenovo-yogabook-wmi +lg-laptop +lg-vl600 +lg2160 +lgdt3305 +lgdt3306a +lgdt330x +lgs8gl5 +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libahci +libahci_platform +libarc4 +libceph +libchacha +libchacha20poly1305 +libcomposite +libcrc32c +libcurve25519 +libcurve25519-generic +libcxgb +libcxgbi +libdes +libertas +libertas_cs +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libpoly1305 +libsas +lightning +line-display +lineage-pem +linear +liquidio +liquidio_vf +lis3lv02d +lis3lv02d_i2c +lkkbd +ll_temac +llc +llc2 +lm25066 +lm3533-als +lm3533-core +lm3533-ctrlbank +lm3533_bl +lm3560 +lm3630a_bl +lm3639_bl +lm363x-regulator +lm3646 +lm63 +lm70 +lm73 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm8333 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95234 +lm95241 +lm95245 +lmp91000 +lms283gf05 +lms501kf03 +lnbh25 +lnbh29 +lnbp21 +lnbp22 +lockd +lp +lp3943 +lp3971 +lp3972 +lp855x_bl +lp8727_charger +lp872x +lp873x +lp8755 +lp8788-buck +lp8788-charger +lp8788-ldo +lp8788_adc +lp8788_bl +lpc_ich +lpc_sch +lpddr_cmds +lpfc +lru_cache +lrw +lt3651-charger +ltc1660 +ltc2471 +ltc2485 +ltc2496 +ltc2497 +ltc2497-core +ltc2632 +ltc2688 +ltc2941-battery-gauge +ltc2945 +ltc2947-core +ltc2947-i2c +ltc2947-spi +ltc2978 +ltc2983 +ltc2990 +ltc2992 +ltc3589 +ltc3676 +ltc3815 +ltc4151 +ltc4162-l-charger +ltc4215 +ltc4222 +ltc4245 +ltc4260 +ltc4261 +ltr501 +ltv350qv +lv0104cs +lv5207lp +lvstest +lxt +lz4 +lz4_compress +lz4hc +lz4hc_compress +m2m-deinterlace +m52790 +m5mols +m62332 +m88ds3103 +m88rs2000 +m88rs6000t +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +m_can +m_can_pci +m_can_platform +mac-celtic +mac-centeuro +mac-croatian +mac-cyrillic +mac-gaelic +mac-greek +mac-iceland +mac-inuit +mac-roman +mac-romanian +mac-turkish +mac80211 +mac80211_hwsim +mac802154 +mac802154_hwsim +mac_hid +macb +macb_pci +machxo2-spi +machzwd +macmodes +macsec +macvlan +macvtap +madera +madera-i2c +madera-spi +mag3110 +magellan +mailbox-altera +mana +mantis +mantis_core +map_absent +map_funcs +map_ram +map_rom +marvell +marvell-88x2222 +marvell10g +matrix-keymap +matrix_keypad +matrox_w1 +matroxfb_DAC1064 +matroxfb_Ti3026 +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +max1027 +max11100 +max1111 +max1118 +max11801_ts +max1241 +max127 +max1363 +max14577-regulator +max14577_charger +max15301 +max1586 +max16064 +max16065 +max1619 +max16601 +max1668 +max17040_battery +max17042_battery +max1721x_battery +max197 +max20086-regulator +max20730 +max20751 +max2165 +max2175 +max30100 +max30102 +max3100 +max31722 +max31730 +max31785 +max31790 +max31856 +max31865 +max3420_udc +max3421-hcd +max34440 +max44000 +max44009 +max517 +max5432 +max5481 +max5487 +max5821 +max63xx_wdt +max6620 +max6621 +max6639 +max6642 +max6650 +max6697 +max6875 +max7359_keypad +max77693-haptic +max77693-regulator +max77693_charger +max77826-regulator +max77976_charger +max8649 +max8660 +max8688 +max8893 +max8903_charger +max8907 +max8907-regulator +max8925-regulator +max8925_bl +max8925_onkey +max8925_power +max8952 +max8997-regulator +max8997_charger +max8997_haptic +max8998 +max8998_charger +max9271 +max9611 +maxim_thermocouple +mb1232 +mb862xxfb +mb86a16 +mb86a20s +mc +mc13783-adc +mc13783-pwrbutton +mc13783-regulator +mc13783_ts +mc13892-regulator +mc13xxx-core +mc13xxx-i2c +mc13xxx-regulator-core +mc13xxx-spi +mc3230 +mc44s803 +mcam-core +mcb +mcb-lpc +mcb-pci +mcba_usb +mce-inject +mceusb +mchp23k256 +mchp48l640 +mcp251x +mcp251xfd +mcp3021 +mcp320x +mcp3422 +mcp3911 +mcp4018 +mcp41010 +mcp4131 +mcp4531 +mcp4725 +mcp4922 +mcr20a +mcs5000_ts +mcs7830 +mcs_touchkey +mct_u232 +mctp-serial +md-cluster +md4 +mdc800 +mdev +mdio +mdio-bcm-unimac +mdio-bitbang +mdio-cavium +mdio-gpio +mdio-i2c +mdio-mscc-miim +mdio-mvusb +mdio-thunder +me4000 +me_daq +mediatek-ge +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +mei +mei-gsc +mei-me +mei-txe +mei_hdcp +mei_phy +mei_pxp +mei_wdt +melfas_mip4 +memory-notifier-error-inject +memstick +men_z135_uart +men_z188_adc +mena21_wdt +menf21bmc +menf21bmc_hwmon +menf21bmc_wdt +menz69_wdt +meraki-mx100 +metro-usb +metronomefb +meye +mf6x4 +mfd-aaeon +mgag200 +mhi +mhi_ep +mhi_net +mhi_pci_generic +mhi_wwan_ctrl +mhi_wwan_mbim +mi0283qt +michael_mic +micrel +microchip +microchip_t1 +microread +microread_i2c +microread_mei +microtek +mii +minix +mip6 +mipi-i3c-hci +mite +mk712 +mkiss +ml86v7667 +mlx-platform +mlx4_core +mlx4_en +mlx4_ib +mlx5-vfio-pci +mlx5_core +mlx5_ib +mlx5_vdpa +mlx90614 +mlx90632 +mlx_wdt +mlxfw +mlxreg-fan +mlxreg-hotplug +mlxreg-io +mlxreg-lc +mlxsw_core +mlxsw_i2c +mlxsw_minimal +mlxsw_pci +mlxsw_spectrum +mma7455_core +mma7455_i2c +mma7455_spi +mma7660 +mma8450 +mma8452 +mma9551 +mma9551_core +mma9553 +mmc35240 +mmc_block +mmc_spi +mms114 +mn88443x +mn88472 +mn88473 +mos7720 +mos7840 +most_cdev +most_core +most_i2c +most_net +most_snd +most_usb +most_video +motorcomm +moxa +mp2629 +mp2629_adc +mp2629_charger +mp2888 +mp2975 +mp5023 +mp8859 +mpc624 +mpi3mr +mpl115 +mpl115_i2c +mpl115_spi +mpl3115 +mpls_gso +mpls_iptunnel +mpls_router +mpoa +mpr121_touchkey +mpt3sas +mptbase +mptcp_diag +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mr75203 +mrf24j40 +mrp +ms5611_core +ms5611_i2c +ms5611_spi +ms5637 +ms_block +ms_sensors_i2c +mscc +mscc_ocelot_switch_lib +mscc_seville +msdos +mse102x +msg2638 +msi-laptop +msi-wmi +msi001 +msi2500 +msp3400 +mspro_block +msr +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt6311-regulator +mt6315-regulator +mt6323-regulator +mt6358-regulator +mt6359-regulator +mt6360-adc +mt6360-core +mt6360-regulator +mt6360_charger +mt6397 +mt6397-regulator +mt7530 +mt76 +mt76-connac-lib +mt76-sdio +mt76-usb +mt7601u +mt7603e +mt7615-common +mt7615e +mt7663-usb-sdio-common +mt7663s +mt7663u +mt76x0-common +mt76x02-lib +mt76x02-usb +mt76x0e +mt76x0u +mt76x2-common +mt76x2e +mt76x2u +mt7915e +mt7921-common +mt7921e +mt7921s +mt7921u +mt9m001 +mt9m032 +mt9m111 +mt9p031 +mt9t001 +mt9t112 +mt9v011 +mt9v032 +mt9v111 +mtd +mtd_blkdevs +mtd_dataflash +mtdblock +mtdblock_ro +mtdoops +mtdpstore +mtdram +mtdswap +mtip32xx +mtk-pmic-keys +mtk-sd +mtk_t7xx +mtouch +multipath +multiq3 +musb_hdrc +mux-adg792a +mux-adgs1408 +mux-core +mux-gpio +mv88e6060 +mv88e6xxx +mv_u3d_core +mv_udc +mvmdio +mvsas +mvumi +mwave +mwifiex +mwifiex_pcie +mwifiex_sdio +mwifiex_usb +mwl8k +mxb +mxc4005 +mxc6255 +mxic_nand +mxl-gpy +mxl111sf-demod +mxl111sf-tuner +mxl301rf +mxl5005s +mxl5007t +mxl5xx +mxl692 +mxm-wmi +mxser +mxuport +myrb +myri10ge +myrs +n411 +n5pf +n_gsm +n_hdlc +nand +nandcore +nandsim +national +natsemi +nau7802 +navman +nbd +nci +nci_spi +nci_uart +nct6683 +nct6775 +nct6775-core +nct6775-i2c +nct7802 +nct7904 +nd_btt +nd_pmem +nd_virtio +ne2k-pci +neofb +net1080 +net2272 +net2280 +net_failover +netconsole +netdevsim +netfs +netjet +netlink_diag +netrom +nettel +netup-unidvb +netxen_nic +newtonkbd +nf_conncount +nf_conntrack +nf_conntrack_amanda +nf_conntrack_bridge +nf_conntrack_broadcast +nf_conntrack_ftp +nf_conntrack_h323 +nf_conntrack_irc +nf_conntrack_netbios_ns +nf_conntrack_netlink +nf_conntrack_pptp +nf_conntrack_sane +nf_conntrack_sip +nf_conntrack_snmp +nf_conntrack_tftp +nf_defrag_ipv4 +nf_defrag_ipv6 +nf_dup_ipv4 +nf_dup_ipv6 +nf_dup_netdev +nf_flow_table +nf_flow_table_inet +nf_log_syslog +nf_nat +nf_nat_amanda +nf_nat_ftp +nf_nat_h323 +nf_nat_irc +nf_nat_pptp +nf_nat_sip +nf_nat_snmp_basic +nf_nat_tftp +nf_reject_ipv4 +nf_reject_ipv6 +nf_socket_ipv4 +nf_socket_ipv6 +nf_synproxy_core +nf_tables +nf_tproxy_ipv4 +nf_tproxy_ipv6 +nfc +nfc_digital +nfcmrvl +nfcmrvl_i2c +nfcmrvl_spi +nfcmrvl_uart +nfcmrvl_usb +nfcsim +nfit +nfnetlink +nfnetlink_acct +nfnetlink_cthelper +nfnetlink_cttimeout +nfnetlink_hook +nfnetlink_log +nfnetlink_osf +nfnetlink_queue +nfp +nfs +nfs_acl +nfs_layout_flexfiles +nfs_layout_nfsv41_files +nfsd +nfsv2 +nfsv3 +nfsv4 +nft_chain_nat +nft_compat +nft_connlimit +nft_ct +nft_dup_ipv4 +nft_dup_ipv6 +nft_dup_netdev +nft_fib +nft_fib_inet +nft_fib_ipv4 +nft_fib_ipv6 +nft_fib_netdev +nft_flow_offload +nft_fwd_netdev +nft_hash +nft_limit +nft_log +nft_masq +nft_meta_bridge +nft_nat +nft_numgen +nft_objref +nft_osf +nft_queue +nft_quota +nft_redir +nft_reject +nft_reject_bridge +nft_reject_inet +nft_reject_ipv4 +nft_reject_ipv6 +nft_reject_netdev +nft_socket +nft_synproxy +nft_tproxy +nft_tunnel +nft_xfrm +nftl +ngene +nhc_dest +nhc_fragment +nhc_hop +nhc_ipv6 +nhc_mobility +nhc_routing +nhc_udp +nhpoly1305 +nhpoly1305-avx2 +nhpoly1305-sse2 +ni903x_wdt +ni_6527 +ni_65xx +ni_660x +ni_670x +ni_at_a2150 +ni_at_ao +ni_atmio +ni_atmio16d +ni_daq_700 +ni_daq_dio24 +ni_labpc +ni_labpc_common +ni_labpc_cs +ni_labpc_isadma +ni_labpc_pci +ni_mio_cs +ni_pcidio +ni_pcimio +ni_routes_test +ni_routing +ni_tio +ni_tiocmd +ni_usb6501 +nic7018_wdt +nicpf +nicstar +nicvf +nilfs2 +nitro_enclaves +niu +nixge +nlmon +nls_ascii +nls_cp1250 +nls_cp1251 +nls_cp1255 +nls_cp737 +nls_cp775 +nls_cp850 +nls_cp852 +nls_cp855 +nls_cp857 +nls_cp860 +nls_cp861 +nls_cp862 +nls_cp863 +nls_cp864 +nls_cp865 +nls_cp866 +nls_cp869 +nls_cp874 +nls_cp932 +nls_cp936 +nls_cp949 +nls_cp950 +nls_euc-jp +nls_iso8859-1 +nls_iso8859-13 +nls_iso8859-14 +nls_iso8859-15 +nls_iso8859-2 +nls_iso8859-3 +nls_iso8859-4 +nls_iso8859-5 +nls_iso8859-6 +nls_iso8859-7 +nls_iso8859-9 +nls_koi8-r +nls_koi8-ru +nls_koi8-u +nls_utf8 +nmclan_cs +noa1305 +noon010pc30 +nosy +notifier-error-inject +nouveau +nozomi +npcm750-pwm-fan +ns558 +ns83820 +nsh +ntb +ntb_hw_epf +ntb_hw_idt +ntb_hw_intel +ntb_hw_switchtec +ntb_netdev +ntb_perf +ntb_pingpong +ntb_tool +ntb_transport +ntc_thermistor +ntfs +ntfs3 +null_blk +nuvoton-cir +nv_tco +nvidia-wmi-ec-backlight +nvidiafb +nvme +nvme-core +nvme-fabrics +nvme-fc +nvme-loop +nvme-rdma +nvme-tcp +nvmem-rave-sp-eeprom +nvmem-rmem +nvmem_qcom-spmi-sdam +nvmet +nvmet-fc +nvmet-rdma +nvmet-tcp +nvram +nvsw-sn2201 +nxp-c45-tja11xx +nxp-nci +nxp-nci_i2c +nxp-tja11xx +nxt200x +nxt6000 +nzxt-kraken2 +nzxt-smart2 +objagg +ocfb +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stack_o2cb +ocfs2_stack_user +ocfs2_stackglue +ocrdma +octeon_ep +of_mmc_spi +of_xilinx_wdt +ofb +og01a1b +omfs +omninet +on20 +on26 +onenand +opa_vnic +opencores-kbd +openvswitch +opt3001 +opticon +option +or51132 +or51211 +orangefs +orinoco +orinoco_cs +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +oti6858 +otm3225a +ov02a10 +ov08d10 +ov13858 +ov13b10 +ov2640 +ov2659 +ov2680 +ov2685 +ov2740 +ov5647 +ov5648 +ov5670 +ov5675 +ov5693 +ov5695 +ov6650 +ov7251 +ov7640 +ov7670 +ov772x +ov7740 +ov8856 +ov8865 +ov9640 +ov9650 +ov9734 +overlay +oxu210hp-hcd +p4-clockmod +p54common +p54pci +p54spi +p54usb +p8022 +pa12203001 +padlock-aes +padlock-sha +palmas-pwrbutton +palmas-regulator +palmas_gpadc +panasonic-laptop +pandora_bl +panel +panel-mipi-dbi +panel-raspberrypi-touchscreen +panel-widechips-ws2401 +paride +parkbd +parman +parport +parport_ax88796 +parport_cs +parport_pc +parport_serial +pata_acpi +pata_ali +pata_amd +pata_artop +pata_atiixp +pata_atp867x +pata_cmd640 +pata_cmd64x +pata_cypress +pata_efar +pata_hpt366 +pata_hpt37x +pata_hpt3x2n +pata_hpt3x3 +pata_it8213 +pata_it821x +pata_jmicron +pata_legacy +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_ns87410 +pata_ns87415 +pata_oldpiix +pata_opti +pata_optidma +pata_pcmcia +pata_pdc2027x +pata_pdc202xx_old +pata_piccolo +pata_platform +pata_radisys +pata_rdc +pata_rz1000 +pata_sch +pata_serverworks +pata_sil680 +pata_sl82c105 +pata_triflex +pata_via +pc300too +pc87360 +pc87413_wdt +pc87427 +pca9450-regulator +pcap-regulator +pcap_keys +pcap_ts +pcbc +pcd +pcengines-apuv2 +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pch_udc +pci +pci-epf-ntb +pci-hyperv +pci-hyperv-intf +pci-pf-stub +pci-stub +pci200syn +pcips2 +pcl711 +pcl724 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcmad +pcmcia +pcmcia_core +pcmcia_rsrc +pcmciamtd +pcmda12 +pcmmio +pcmuio +pcnet32 +pcnet_cs +pcrypt +pcs-lynx +pcs_xpcs +pcspkr +pcwd_pci +pcwd_usb +pd +pd6729 +pda_power +pdc_adma +peak_pci +peak_pciefd +peak_pcmcia +peak_usb +peaq-wmi +peci +peci-cpu +peci-cputemp +peci-dimmtemp +pegasus +pegasus_notetaker +penmount +pf +pfr_telemetry +pfr_update +pg +phantom +phonet +phram +phy-bcm-kona-usb2 +phy-can-transceiver +phy-cpcap-usb +phy-exynos-usb2 +phy-generic +phy-gpio-vbus-usb +phy-intel-lgm-emmc +phy-isp1301 +phy-lgm-usb +phy-pxa-28nm-hsic +phy-pxa-28nm-usb2 +phy-qcom-usb-hs +phy-qcom-usb-hsic +phy-tahvo +phy-tusb1210 +phylink +physmap +pi3usb30532 +pi433 +pim4328 +pinctrl-alderlake +pinctrl-broxton +pinctrl-cannonlake +pinctrl-cedarfork +pinctrl-da9062 +pinctrl-denverton +pinctrl-elkhartlake +pinctrl-emmitsburg +pinctrl-geminilake +pinctrl-icelake +pinctrl-jasperlake +pinctrl-lakefield +pinctrl-lewisburg +pinctrl-lynxpoint +pinctrl-madera +pinctrl-mcp23s08 +pinctrl-mcp23s08_i2c +pinctrl-mcp23s08_spi +pinctrl-sunrisepoint +pinctrl-tigerlake +ping +pistachio-internal-dac +pixcir_i2c_ts +pkcs7_test_key +pkcs8_key_parser +pktcdvd +pktgen +pl2303 +plat-ram +plat_nand +platform_lcd +platform_profile +plfxlc +pli1209bc +plip +plusb +pluto2 +plx_dma +plx_pci +pm-notifier-error-inject +pm2fb +pm3fb +pm6764tr +pm80xx +pmbus +pmbus_core +pmc551 +pmcraid +pms7003 +pmt_class +pmt_crashlog +pmt_telemetry +pn532_uart +pn533 +pn533_i2c +pn533_usb +pn544 +pn544_i2c +pn544_mei +pn_pep +pnd2_edac +poly1305-x86_64 +poly1305_generic +port100 +powermate +powr1220 +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +ppp_synctty +pppoatm +pppoe +pppox +pps-gpio +pps-ldisc +pps_parport +pptp +prestera +prestera_pci +pretimeout_panic +prism2_usb +processor_thermal_device +processor_thermal_device_pci +processor_thermal_device_pci_legacy +processor_thermal_mbox +processor_thermal_rapl +processor_thermal_rfim +ps2-gpio +ps2mult +psample +psmouse +psnap +pstore_blk +pstore_zone +psxpad-spi +pt +ptdma +ptp_clockmatrix +ptp_idt82p33 +ptp_ines +ptp_kvm +ptp_ocp +ptp_vmw +pulse8-cec +pulsedlight-lidar-lite-v2 +punit_atom_debug +pv88060-regulator +pv88080-regulator +pv88090-regulator +pvcalls-front +pvpanic +pvpanic-mmio +pvpanic-pci +pvrusb2 +pwc +pwm-beeper +pwm-cros-ec +pwm-dwc +pwm-iqs620a +pwm-lp3943 +pwm-pca9685 +pwm-regulator +pwm-twl +pwm-twl-led +pwm-vibra +pwm_bl +pxa27x_udc +pxe1610 +pxrc +q54sj108a2 +qat_4xxx +qat_c3xxx +qat_c3xxxvf +qat_c62x +qat_c62xvf +qat_dh895xcc +qat_dh895xccvf +qca8k +qcaux +qcom-emac +qcom-labibb-regulator +qcom-spmi-adc5 +qcom-spmi-iadc +qcom-spmi-vadc +qcom-vadc-common +qcom-wled +qcom_glink +qcom_glink_rpm +qcom_spmi-regulator +qcom_usb_vbus-regulator +qcserial +qed +qede +qedf +qedi +qedr +qemu_fw_cfg +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qlogic_cs +qlogicfas408 +qm1d1b0004 +qm1d1c0042 +qmi_helpers +qmi_wwan +qnx4 +qnx6 +qrtr +qrtr-mhi +qrtr-smd +qrtr-tun +qsemi +qt1010 +qt1050 +qt1070 +qt2160 +qtnfmac +qtnfmac_pcie +quatech2 +quatech_daqp_cs +quota_tree +quota_v1 +quota_v2 +qwiic-joystick +qxl +r592 +r6040 +r8152 +r8153_ecm +r8169 +r8188eu +r8192e_pci +r8192u_usb +r820t +r852 +r8712u +r8723bs +r8a66597-hcd +r8a66597-udc +radeon +radeonfb +radio-keene +radio-ma901 +radio-maxiradio +radio-mr800 +radio-platform-si4713 +radio-raremono +radio-shark +radio-si470x-common +radio-si470x-i2c +radio-si470x-usb +radio-si476x +radio-tea5764 +radio-usb-si4713 +radio-wl1273 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid_class +rainshadow-cec +ramoops +rapl +rave-sp +rave-sp-backlight +rave-sp-pwrbutton +rave-sp-wdt +raw_diag +raw_gadget +ray_cs +raydium_i2c_ts +rbd +rc-adstech-dvb-t-pci +rc-alink-dtu-m +rc-anysee +rc-apac-viewcomp +rc-astrometa-t2hybrid +rc-asus-pc39 +rc-asus-ps3-100 +rc-ati-tv-wonder-hd-600 +rc-ati-x10 +rc-avermedia +rc-avermedia-a16d +rc-avermedia-cardbus +rc-avermedia-dvbt +rc-avermedia-m135a +rc-avermedia-m733a-rm-k6 +rc-avermedia-rm-ks +rc-avertv-303 +rc-azurewave-ad-tu700 +rc-beelink-gs1 +rc-behold +rc-behold-columbus +rc-budget-ci-old +rc-cinergy +rc-cinergy-1400 +rc-core +rc-ct-90405 +rc-d680-dmb +rc-delock-61959 +rc-dib0700-nec +rc-dib0700-rc5 +rc-digitalnow-tinytwin +rc-digittrade +rc-dm1105-nec +rc-dntv-live-dvb-t +rc-dntv-live-dvbt-pro +rc-dtt200u +rc-dvbsky +rc-dvico-mce +rc-dvico-portable +rc-em-terratec +rc-encore-enltv +rc-encore-enltv-fm53 +rc-encore-enltv2 +rc-evga-indtube +rc-eztv +rc-flydvb +rc-flyvideo +rc-fusionhdtv-mce +rc-gadmei-rm008z +rc-geekbox +rc-genius-tvgo-a11mce +rc-gotview7135 +rc-hauppauge +rc-hisi-poplar +rc-hisi-tv-demo +rc-imon-mce +rc-imon-pad +rc-imon-rsc +rc-iodata-bctv7e +rc-it913x-v1 +rc-it913x-v2 +rc-kaiomy +rc-khadas +rc-khamsin +rc-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lme2510 +rc-loopback +rc-manli +rc-mecool-kii-pro +rc-mecool-kiii-pro +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +rc-minix-neo +rc-msi-digivox-ii +rc-msi-digivox-iii +rc-msi-tvanywhere +rc-msi-tvanywhere-plus +rc-nebula +rc-nec-terratec-cinergy-xs +rc-norwood +rc-npgtech +rc-odroid +rc-pctv-sedna +rc-pine64 +rc-pinnacle-color +rc-pinnacle-grey +rc-pinnacle-pctv-hd +rc-pixelview +rc-pixelview-002t +rc-pixelview-mk12 +rc-pixelview-new +rc-powercolor-real-angel +rc-proteus-2309 +rc-purpletv +rc-pv951 +rc-rc6-mce +rc-real-audio-220-32-keys +rc-reddo +rc-snapstream-firefly +rc-streamzap +rc-su3000 +rc-tanix-tx3mini +rc-tanix-tx5max +rc-tbs-nec +rc-technisat-ts35 +rc-technisat-usb2 +rc-terratec-cinergy-c-pci +rc-terratec-cinergy-s2-hd +rc-terratec-cinergy-xs +rc-terratec-slim +rc-terratec-slim-2 +rc-tevii-nec +rc-tivo +rc-total-media-in-hand +rc-total-media-in-hand-02 +rc-trekstor +rc-tt-1500 +rc-twinhan-dtv-cab-ci +rc-twinhan1027 +rc-vega-s9x +rc-videomate-m1f +rc-videomate-s350 +rc-videomate-tv-pvr +rc-videostrong-kii-pro +rc-wetek-hub +rc-wetek-play2 +rc-winfast +rc-winfast-usbii-deluxe +rc-x96max +rc-xbox-360 +rc-xbox-dvd +rc-zx-irdec +rc5t583-regulator +rdacm20 +rdacm21 +rdc321x-southbridge +rdma_cm +rdma_rxe +rdma_ucm +rdmavt +rds +rds_rdma +rds_tcp +realtek +redboot +redrat3 +reed_solomon +regmap-i3c +regmap-sccb +regmap-sdw +regmap-sdw-mbq +regmap-slimbus +regmap-spi-avmm +regmap-spmi +regmap-w1 +regulator-haptic +reiserfs +repaper +reset-ti-syscon +resistive-adc-touch +retu-mfd +retu-pwrbutton +retu_wdt +rfc1051 +rfc1201 +rfcomm +rfd77402 +rfd_ftl +rfkill-gpio +rio-scan +rio_cm +rio_mport_cdev +rionet +rivafb +rj54n1cb0c +rm3100-core +rm3100-i2c +rm3100-spi +rmd160 +rmi_core +rmi_i2c +rmi_smbus +rmi_spi +rmnet +rnbd-client +rnbd-server +rndis_host +rndis_wlan +rockchip +rocker +rohm_bu21023 +romfs +rose +rotary_encoder +rp2 +rpcrdma +rpcsec_gss_krb5 +rpmsg_char +rpmsg_core +rpmsg_ctrl +rpmsg_ns +rpmsg_tty +rpmsg_wwan_ctrl +rpr0521 +rsi_91x +rsi_sdio +rsi_usb +rt1719 +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800mmio +rt2800pci +rt2800usb +rt2x00lib +rt2x00mmio +rt2x00pci +rt2x00usb +rt4801-regulator +rt4831 +rt4831-backlight +rt4831-regulator +rt5033 +rt5033-regulator +rt5033_battery +rt5190a-regulator +rt5759-regulator +rt6160-regulator +rt61pci +rt6245-regulator +rt73usb +rt9455_charger +rtc-88pm80x +rtc-88pm860x +rtc-ab-b5ze-s3 +rtc-ab-eoz9 +rtc-abx80x +rtc-bq32k +rtc-bq4802 +rtc-cros-ec +rtc-da9052 +rtc-da9055 +rtc-da9063 +rtc-ds1286 +rtc-ds1302 +rtc-ds1305 +rtc-ds1307 +rtc-ds1343 +rtc-ds1347 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1685 +rtc-ds1742 +rtc-ds2404 +rtc-ds3232 +rtc-em3027 +rtc-fm3130 +rtc-ftrtc010 +rtc-goldfish +rtc-hid-sensor-time +rtc-isl12022 +rtc-isl1208 +rtc-lp8788 +rtc-m41t80 +rtc-m41t93 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-max6916 +rtc-max8907 +rtc-max8925 +rtc-max8997 +rtc-max8998 +rtc-mc13xxx +rtc-mcp795 +rtc-msm6242 +rtc-mt6397 +rtc-palmas +rtc-pcap +rtc-pcf2123 +rtc-pcf2127 +rtc-pcf50633 +rtc-pcf85063 +rtc-pcf8523 +rtc-pcf85363 +rtc-pcf8563 +rtc-pcf8583 +rtc-r9701 +rtc-rc5t583 +rtc-rp5c01 +rtc-rs5c348 +rtc-rs5c372 +rtc-rv3028 +rtc-rv3029c2 +rtc-rv3032 +rtc-rv8803 +rtc-rx4581 +rtc-rx6110 +rtc-rx8010 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-sd3078 +rtc-stk17ta8 +rtc-tps6586x +rtc-tps65910 +rtc-v3020 +rtc-wilco-ec +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtd520 +rti800 +rti802 +rtl2830 +rtl2832 +rtl2832_sdr +rtl8150 +rtl8187 +rtl8188ee +rtl818x_pci +rtl8192c-common +rtl8192ce +rtl8192cu +rtl8192de +rtl8192ee +rtl8192se +rtl8365mb +rtl8366 +rtl8723-common +rtl8723ae +rtl8723be +rtl8821ae +rtl8xxxu +rtl_pci +rtl_usb +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +rtmv20-regulator +rtq2134-regulator +rtq6752-regulator +rtrs-client +rtrs-core +rtrs-server +rts5208 +rtsx_pci +rtsx_pci_ms +rtsx_pci_sdmmc +rtsx_usb +rtsx_usb_ms +rtsx_usb_sdmmc +rtw88_8723d +rtw88_8723de +rtw88_8821c +rtw88_8821ce +rtw88_8822b +rtw88_8822be +rtw88_8822c +rtw88_8822ce +rtw88_core +rtw88_pci +rtw89_8852a +rtw89_8852ae +rtw89_8852c +rtw89_8852ce +rtw89_core +rtw89_pci +rx51_battery +rxrpc +s1d13xxxfb +s2250 +s2255drv +s2io +s3fb +s3fwrn5 +s3fwrn5_i2c +s3fwrn82_uart +s526 +s5c73m3 +s5h1409 +s5h1411 +s5h1420 +s5h1432 +s5k4ecgx +s5k5baf +s5k6a3 +s5k6aa +s626 +s6sy761 +s921 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7134-go7007 +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +saa7706h +safe_serial +sample-trace-array +samsung-keypad +samsung-laptop +samsung-q10 +samsung-sxgbe +sata_dwc_460ex +sata_inic162x +sata_mv +sata_nv +sata_promise +sata_qstor +sata_sil +sata_sil24 +sata_sis +sata_svw +sata_sx4 +sata_uli +sata_via +sata_vsc +savagefb +sb1000 +sb_edac +sbc60xxwdt +sbc_epx_c3 +sbc_fitpc2_wdt +sbc_gxx +sbp_target +sbrmi +sbs +sbs-battery +sbs-charger +sbs-manager +sbshc +sbtsi_temp +sc1200wdt +sc16is7xx +sc92031 +sca3000 +sca3300 +scb2_flash +scd30_core +scd30_i2c +scd30_serial +scd4x +sch311x_wdt +sch5627 +sch5636 +sch56xx-common +sch_atm +sch_cake +sch_cbq +sch_cbs +sch_choke +sch_codel +sch_drr +sch_dsmark +sch_etf +sch_ets +sch_fq +sch_fq_codel +sch_fq_pie +sch_gred +sch_hfsc +sch_hhf +sch_htb +sch_ingress +sch_mqprio +sch_multiq +sch_netem +sch_pie +sch_plug +sch_prio +sch_qfq +sch_red +sch_sfb +sch_sfq +sch_skbprio +sch_taprio +sch_tbf +sch_teql +scr24x_cs +scsi_debug +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_spi +scsi_transport_srp +sctp +sctp_diag +sdhci +sdhci-acpi +sdhci-pci +sdhci-pltfm +sdhci-xenon-driver +sdhci_f_sdh30 +sdio_uart +sdricoh_cs +seco-cec +sensehat-joystick +sensorhub +serial-multi-instantiate +serial_cs +serial_ir +serio_raw +sermouse +serpent-avx-x86_64 +serpent-avx2 +serpent-sse2-x86_64 +serpent_generic +serport +ses +sev-guest +sf-pdma +sfc +sfc-falcon +sfc-siena +sfp +sgi_w1 +sgp30 +sgp40 +sha1-ssse3 +sha256-ssse3 +sha3_generic +sha512-ssse3 +shark2 +shiftfs +sht15 +sht21 +sht3x +sht4x +shtc1 +si1133 +si1145 +si2157 +si2165 +si2168 +si21xx +si4713 +si476x-core +si7005 +si7020 +sidewinder +sierra +sierra_net +sil164 +silead +sim710 +simatic-ipc +simatic-ipc-leds +simatic-ipc-wdt +simple-mfd-i2c +simpledrm +simplefb +siox-bus-gpio +siox-core +sis-agp +sis190 +sis5595 +sis900 +sis_i2c +sisfb +sisusbvga +sit +siw +sja1000 +sja1000_isa +sja1000_platform +sja1105 +skfp +skge +skx_edac +sky2 +sky81452 +sky81452-backlight +sky81452-regulator +sl811-hcd +sl811_cs +slcan +slg51000-regulator +slicoss +slim-qcom-ctrl +slimbus +slip +slram +sm2_generic +sm3 +sm3-avx-x86_64 +sm3_generic +sm4 +sm4-aesni-avx-x86_64 +sm4-aesni-avx2-x86_64 +sm4_generic +sm501 +sm501fb +sm712fb +sm750fb +sm_common +sm_ftl +smartpqi +smb347-charger +smc +smc91c92_cs +smc_diag +smipcie +smm665 +smsc +smsc37b787_wdt +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc911x +smsc9420 +smsc95xx +smscufx +smsdvb +smsmdtv +smssdio +smsusb +snd +snd-ac97-codec +snd-acp-config +snd-acp-i2s +snd-acp-legacy-mach +snd-acp-mach +snd-acp-pci +snd-acp-pcm +snd-acp-pdm +snd-acp-renoir +snd-acp-sof-mach +snd-acp3x-i2s +snd-acp3x-pcm-dma +snd-acp3x-pdm-dma +snd-acp3x-rn +snd-acp5x-i2s +snd-acp5x-pcm-dma +snd-acp6x-pdm-dma +snd-ad1889 +snd-ak4113 +snd-ak4114 +snd-ak4117 +snd-ak4xxx-adda +snd-ali5451 +snd-aloop +snd-als300 +snd-als4000 +snd-asihpi +snd-atiixp +snd-atiixp-modem +snd-au8810 +snd-au8820 +snd-au8830 +snd-aw2 +snd-azt3328 +snd-bcd2000 +snd-bebob +snd-bt87x +snd-ca0106 +snd-cmipci +snd-compress +snd-cs4281 +snd-cs46xx +snd-cs8427 +snd-ctl-led +snd-ctxfi +snd-darla20 +snd-darla24 +snd-dice +snd-dummy +snd-echo3g +snd-emu10k1 +snd-emu10k1-synth +snd-emu10k1x +snd-emux-synth +snd-ens1370 +snd-ens1371 +snd-es1938 +snd-es1968 +snd-fireface +snd-firewire-digi00x +snd-firewire-lib +snd-firewire-motu +snd-firewire-tascam +snd-fireworks +snd-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-ca0110 +snd-hda-codec-ca0132 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-cs8409 +snd-hda-codec-generic +snd-hda-codec-hdmi +snd-hda-codec-idt +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-core +snd-hda-cs-dsp-ctls +snd-hda-ext-core +snd-hda-intel +snd-hda-scodec-cs35l41 +snd-hda-scodec-cs35l41-i2c +snd-hda-scodec-cs35l41-spi +snd-hdmi-lpe-audio +snd-hdsp +snd-hdspm +snd-hrtimer +snd-hwdep +snd-i2c +snd-ice1712 +snd-ice1724 +snd-ice17xx-ak4xxx +snd-indigo +snd-indigodj +snd-indigodjx +snd-indigoio +snd-indigoiox +snd-intel-dspcfg +snd-intel-sdw-acpi +snd-intel-sst-acpi +snd-intel-sst-core +snd-intel-sst-pci +snd-intel8x0 +snd-intel8x0m +snd-isight +snd-korg1212 +snd-layla20 +snd-layla24 +snd-lola +snd-lx6464es +snd-maestro3 +snd-mia +snd-mixart +snd-mixer-oss +snd-mona +snd-mpu401 +snd-mpu401-uart +snd-mtpav +snd-mts64 +snd-nm256 +snd-opl3-lib +snd-opl3-synth +snd-oxfw +snd-oxygen +snd-oxygen-lib +snd-pci-acp3x +snd-pci-acp5x +snd-pci-acp6x +snd-pci-ps +snd-pcm +snd-pcm-dmaengine +snd-pcsp +snd-pcxhr +snd-pdaudiocf +snd-portman2x4 +snd-ps-pdm-dma +snd-pt2258 +snd-rawmidi +snd-riptide +snd-rme32 +snd-rme96 +snd-rme9652 +snd-rn-pci-acp3x +snd-sb-common +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-midi +snd-seq-midi-emul +snd-seq-midi-event +snd-seq-virmidi +snd-serial-u16550 +snd-skl_nau88l25_max98357a +snd-soc-63xx +snd-soc-ac97 +snd-soc-acp-da7219mx98357-mach +snd-soc-acp-rt5645-mach +snd-soc-acp-rt5682-mach +snd-soc-acp5x-mach +snd-soc-acp6x-mach +snd-soc-acpi +snd-soc-acpi-intel-match +snd-soc-adau-utils +snd-soc-adau1372 +snd-soc-adau1372-i2c +snd-soc-adau1372-spi +snd-soc-adau1701 +snd-soc-adau1761 +snd-soc-adau1761-i2c +snd-soc-adau1761-spi +snd-soc-adau17x1 +snd-soc-adau7002 +snd-soc-adau7118 +snd-soc-adau7118-hw +snd-soc-adau7118-i2c +snd-soc-adi-axi-i2s +snd-soc-adi-axi-spdif +snd-soc-ak4104 +snd-soc-ak4118 +snd-soc-ak4375 +snd-soc-ak4458 +snd-soc-ak4554 +snd-soc-ak4613 +snd-soc-ak4642 +snd-soc-ak5386 +snd-soc-ak5558 +snd-soc-alc5623 +snd-soc-arizona +snd-soc-avs +snd-soc-aw8738 +snd-soc-bd28623 +snd-soc-bt-sco +snd-soc-catpt +snd-soc-cml_rt1011_rt5682 +snd-soc-core +snd-soc-cros-ec-codec +snd-soc-cs35l32 +snd-soc-cs35l33 +snd-soc-cs35l34 +snd-soc-cs35l35 +snd-soc-cs35l36 +snd-soc-cs35l41 +snd-soc-cs35l41-i2c +snd-soc-cs35l41-lib +snd-soc-cs35l41-spi +snd-soc-cs35l45 +snd-soc-cs35l45-i2c +snd-soc-cs35l45-spi +snd-soc-cs35l45-tables +snd-soc-cs4234 +snd-soc-cs4265 +snd-soc-cs4270 +snd-soc-cs4271 +snd-soc-cs4271-i2c +snd-soc-cs4271-spi +snd-soc-cs42l42 +snd-soc-cs42l51 +snd-soc-cs42l51-i2c +snd-soc-cs42l52 +snd-soc-cs42l56 +snd-soc-cs42l73 +snd-soc-cs42xx8 +snd-soc-cs42xx8-i2c +snd-soc-cs43130 +snd-soc-cs4341 +snd-soc-cs4349 +snd-soc-cs53l30 +snd-soc-cx2072x +snd-soc-da7213 +snd-soc-da7219 +snd-soc-dmic +snd-soc-ehl-rt5660 +snd-soc-es7134 +snd-soc-es7241 +snd-soc-es8316 +snd-soc-es8328 +snd-soc-es8328-i2c +snd-soc-es8328-spi +snd-soc-fsl-asrc +snd-soc-fsl-audmix +snd-soc-fsl-easrc +snd-soc-fsl-esai +snd-soc-fsl-micfil +snd-soc-fsl-mqs +snd-soc-fsl-rpmsg +snd-soc-fsl-sai +snd-soc-fsl-spdif +snd-soc-fsl-ssi +snd-soc-fsl-xcvr +snd-soc-gtm601 +snd-soc-hdac-hda +snd-soc-hdac-hdmi +snd-soc-hdmi-codec +snd-soc-ics43432 +snd-soc-imx-audmux +snd-soc-inno-rk3036 +snd-soc-intel-hda-dsp-common +snd-soc-intel-sof-cirrus-common +snd-soc-intel-sof-maxim-common +snd-soc-intel-sof-realtek-common +snd-soc-kbl_da7219_max98357a +snd-soc-kbl_da7219_max98927 +snd-soc-kbl_rt5660 +snd-soc-kbl_rt5663_max98927 +snd-soc-kbl_rt5663_rt5514_max98927 +snd-soc-lpass-macro-common +snd-soc-lpass-rx-macro +snd-soc-lpass-tx-macro +snd-soc-lpass-va-macro +snd-soc-lpass-wsa-macro +snd-soc-max9759 +snd-soc-max98088 +snd-soc-max98090 +snd-soc-max98357a +snd-soc-max98373 +snd-soc-max98373-i2c +snd-soc-max98373-sdw +snd-soc-max98390 +snd-soc-max98396 +snd-soc-max98504 +snd-soc-max98520 +snd-soc-max9860 +snd-soc-max9867 +snd-soc-max98927 +snd-soc-msm8916-analog +snd-soc-msm8916-digital +snd-soc-mt6351 +snd-soc-mt6358 +snd-soc-mt6660 +snd-soc-nau8315 +snd-soc-nau8540 +snd-soc-nau8810 +snd-soc-nau8821 +snd-soc-nau8822 +snd-soc-nau8824 +snd-soc-nau8825 +snd-soc-pcm1681 +snd-soc-pcm1789-codec +snd-soc-pcm1789-i2c +snd-soc-pcm179x-codec +snd-soc-pcm179x-i2c +snd-soc-pcm179x-spi +snd-soc-pcm186x +snd-soc-pcm186x-i2c +snd-soc-pcm186x-spi +snd-soc-pcm3060 +snd-soc-pcm3060-i2c +snd-soc-pcm3060-spi +snd-soc-pcm3168a +snd-soc-pcm3168a-i2c +snd-soc-pcm3168a-spi +snd-soc-pcm5102a +snd-soc-pcm512x +snd-soc-pcm512x-i2c +snd-soc-pcm512x-spi +snd-soc-ps-mach +snd-soc-rk3328 +snd-soc-rl6231 +snd-soc-rl6347a +snd-soc-rt1011 +snd-soc-rt1015 +snd-soc-rt1015p +snd-soc-rt1019 +snd-soc-rt1308 +snd-soc-rt1308-sdw +snd-soc-rt1316-sdw +snd-soc-rt286 +snd-soc-rt298 +snd-soc-rt5514 +snd-soc-rt5514-spi +snd-soc-rt5616 +snd-soc-rt5631 +snd-soc-rt5640 +snd-soc-rt5645 +snd-soc-rt5651 +snd-soc-rt5659 +snd-soc-rt5660 +snd-soc-rt5663 +snd-soc-rt5670 +snd-soc-rt5677 +snd-soc-rt5677-spi +snd-soc-rt5682 +snd-soc-rt5682-i2c +snd-soc-rt5682-sdw +snd-soc-rt5682s +snd-soc-rt700 +snd-soc-rt711 +snd-soc-rt711-sdca +snd-soc-rt715 +snd-soc-rt715-sdca +snd-soc-rt9120 +snd-soc-sdw-mockup +snd-soc-sgtl5000 +snd-soc-si476x +snd-soc-sigmadsp +snd-soc-sigmadsp-i2c +snd-soc-sigmadsp-regmap +snd-soc-simple-amplifier +snd-soc-simple-card +snd-soc-simple-card-utils +snd-soc-simple-mux +snd-soc-skl +snd-soc-skl-ssp-clk +snd-soc-skl_hda_dsp +snd-soc-skl_nau88l25_ssm4567 +snd-soc-skl_rt286 +snd-soc-sof-sdw +snd-soc-sof-ssp-amp +snd-soc-sof_cs42l42 +snd-soc-sof_da7219_max98373 +snd-soc-sof_es8336 +snd-soc-sof_nau8825 +snd-soc-sof_rt5682 +snd-soc-spdif-rx +snd-soc-spdif-tx +snd-soc-ssm2305 +snd-soc-ssm2518 +snd-soc-ssm2602 +snd-soc-ssm2602-i2c +snd-soc-ssm2602-spi +snd-soc-ssm4567 +snd-soc-sst-atom-hifi2-platform +snd-soc-sst-bdw-rt5650-mach +snd-soc-sst-bdw-rt5677-mach +snd-soc-sst-broadwell +snd-soc-sst-bxt-da7219_max98357a +snd-soc-sst-bxt-rt298 +snd-soc-sst-byt-cht-cx2072x +snd-soc-sst-byt-cht-da7213 +snd-soc-sst-byt-cht-es8316 +snd-soc-sst-bytcr-rt5640 +snd-soc-sst-bytcr-rt5651 +snd-soc-sst-bytcr-wm5102 +snd-soc-sst-cht-bsw-max98090_ti +snd-soc-sst-cht-bsw-nau8824 +snd-soc-sst-cht-bsw-rt5645 +snd-soc-sst-cht-bsw-rt5672 +snd-soc-sst-dsp +snd-soc-sst-glk-rt5682_max98357a +snd-soc-sst-haswell +snd-soc-sst-ipc +snd-soc-sst-sof-pcm512x +snd-soc-sst-sof-wm8804 +snd-soc-sta32x +snd-soc-sta350 +snd-soc-sti-sas +snd-soc-tas2552 +snd-soc-tas2562 +snd-soc-tas2764 +snd-soc-tas2770 +snd-soc-tas5086 +snd-soc-tas571x +snd-soc-tas5720 +snd-soc-tas5805m +snd-soc-tas6424 +snd-soc-tda7419 +snd-soc-tfa9879 +snd-soc-tfa989x +snd-soc-tlv320adc3xxx +snd-soc-tlv320adcx140 +snd-soc-tlv320aic23 +snd-soc-tlv320aic23-i2c +snd-soc-tlv320aic23-spi +snd-soc-tlv320aic31xx +snd-soc-tlv320aic32x4 +snd-soc-tlv320aic32x4-i2c +snd-soc-tlv320aic32x4-spi +snd-soc-tlv320aic3x +snd-soc-tlv320aic3x-i2c +snd-soc-tlv320aic3x-spi +snd-soc-tpa6130a2 +snd-soc-ts3a227e +snd-soc-tscs42xx +snd-soc-tscs454 +snd-soc-uda1334 +snd-soc-wcd-mbhc +snd-soc-wcd9335 +snd-soc-wcd934x +snd-soc-wcd938x +snd-soc-wcd938x-sdw +snd-soc-wm-adsp +snd-soc-wm5102 +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8524 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8731-i2c +snd-soc-wm8731-spi +snd-soc-wm8737 +snd-soc-wm8741 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8770 +snd-soc-wm8776 +snd-soc-wm8782 +snd-soc-wm8804 +snd-soc-wm8804-i2c +snd-soc-wm8804-spi +snd-soc-wm8903 +snd-soc-wm8904 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8962 +snd-soc-wm8974 +snd-soc-wm8978 +snd-soc-wm8985 +snd-soc-wsa881x +snd-soc-xlnx-formatter-pcm +snd-soc-xlnx-i2s +snd-soc-xlnx-spdif +snd-soc-xtfpga-i2s +snd-soc-zl38060 +snd-sof +snd-sof-acpi +snd-sof-acpi-intel-bdw +snd-sof-acpi-intel-byt +snd-sof-amd-acp +snd-sof-amd-renoir +snd-sof-intel-atom +snd-sof-intel-hda +snd-sof-intel-hda-common +snd-sof-pci +snd-sof-pci-intel-apl +snd-sof-pci-intel-cnl +snd-sof-pci-intel-icl +snd-sof-pci-intel-mtl +snd-sof-pci-intel-tgl +snd-sof-pci-intel-tng +snd-sof-probes +snd-sof-utils +snd-sof-xtensa-dsp +snd-sonicvibes +snd-timer +snd-trident +snd-ua101 +snd-usb-6fire +snd-usb-audio +snd-usb-caiaq +snd-usb-hiface +snd-usb-line6 +snd-usb-pod +snd-usb-podhd +snd-usb-toneport +snd-usb-us122l +snd-usb-usx2y +snd-usb-variax +snd-usbmidi-lib +snd-util-mem +snd-via82xx +snd-via82xx-modem +snd-virmidi +snd-virtuoso +snd-vx-lib +snd-vx222 +snd-vxpocket +snd-ymfpci +snd_xen_front +snic +snps_udc_core +soc_button_array +softdog +softing +softing_cs +solo6x10 +solos-pci +sony-btf-mpx +sony-laptop +soundcore +soundwire-bus +soundwire-cadence +soundwire-generic-allocation +soundwire-intel +soundwire-qcom +sp2 +sp5100_tco +sp8870 +sp887x +spaceball +spaceorb +sparse-keymap +spcp8x5 +speakup +speakup_acntsa +speakup_apollo +speakup_audptr +speakup_bns +speakup_decext +speakup_dectlk +speakup_dummy +speakup_ltlk +speakup_soft +speakup_spkout +speakup_txprt +spectrum_cs +speedfax +speedstep-lib +speedtch +spi-altera-core +spi-altera-dfl +spi-altera-platform +spi-amd +spi-axi-spi-engine +spi-bitbang +spi-butterfly +spi-cadence +spi-dln2 +spi-dw +spi-dw-mmio +spi-dw-pci +spi-gpio +spi-intel +spi-intel-pci +spi-intel-platform +spi-lantiq-ssc +spi-lm70llp +spi-loopback-test +spi-mux +spi-mxic +spi-nor +spi-nxp-fspi +spi-oc-tiny +spi-pxa2xx-pci +spi-pxa2xx-platform +spi-rockchip +spi-sc18is602 +spi-sifive +spi-slave-system-control +spi-slave-time +spi-tle62x0 +spi-xcomm +spi-zynqmp-gqspi +spi_ks8995 +spidev +spinand +spl +spmi +sprd_serial +sps30 +sps30_i2c +sps30_serial +sr030pc30 +sr9700 +sr9800 +srf04 +srf08 +ssb +ssb-hcd +ssd1307fb +ssd130x +ssd130x-i2c +ssd130x-spi +ssfdc +ssp_accel_sensor +ssp_gyro_sensor +ssp_iio +sst25l +sstfb +ssu100 +st +st-mipid02 +st-nci +st-nci_i2c +st-nci_spi +st1232 +st21nfca_hci +st21nfca_i2c +st7586 +st7735r +st95hf +st_accel +st_accel_i2c +st_accel_spi +st_drv +st_gyro +st_gyro_i2c +st_gyro_spi +st_lsm6dsx +st_lsm6dsx_i2c +st_lsm6dsx_i3c +st_lsm6dsx_spi +st_lsm9ds0 +st_lsm9ds0_i2c +st_lsm9ds0_spi +st_magn +st_magn_i2c +st_magn_spi +st_pressure +st_pressure_i2c +st_pressure_spi +st_sensors +st_sensors_i2c +st_sensors_spi +st_uvis25_core +st_uvis25_i2c +st_uvis25_spi +starfire +stb0899 +stb6000 +stb6100 +ste10Xp +stex +stinger +stk1160 +stk3310 +stk8312 +stk8ba50 +stkwebcam +stm_console +stm_core +stm_ftrace +stm_heartbeat +stm_p_basic +stm_p_sys-t +stmfts +stmmac +stmmac-pci +stmmac-platform +stowaway +stp +stpddc60 +streamzap +streebog_generic +stts751 +stusb160x +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv0910 +stv6110 +stv6110x +stv6111 +stx104 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrise_co2 +sunrpc +sur40 +surface3-wmi +surface3_power +surface3_spi +surface_acpi_notify +surface_aggregator +surface_aggregator_cdev +surface_aggregator_registry +surface_battery +surface_charger +surface_dtx +surface_gpe +surface_hid +surface_hid_core +surface_hotplug +surface_kbd +surface_platform_profile +surfacepro3_button +svc-i3c-master +svgalib +switchtec +sx8 +sx8654 +sx9310 +sx9324 +sx9360 +sx9500 +sx_common +sy7636a-hwmon +sy7636a-regulator +sym53c500_cs +sym53c8xx +symbolserial +synaptics_i2c +synaptics_usb +synclink_cs +synclink_gt +syscopyarea +sysfillrect +sysimgblt +system76_acpi +sysv +t5403 +tag_ar9331 +tag_brcm +tag_dsa +tag_gswip +tag_hellcreek +tag_ksz +tag_lan9303 +tag_mtk +tag_ocelot +tag_ocelot_8021q +tag_qca +tag_rtl4_a +tag_rtl8_4 +tag_sja1105 +tag_trailer +tag_xrs700x +tap +target_core_file +target_core_iblock +target_core_mod +target_core_pscsi +target_core_user +tc-dwc-g210 +tc-dwc-g210-pci +tc-dwc-g210-pltfrm +tc358743 +tc654 +tc74 +tc90522 +tca6416-keypad +tca8418_keypad +tcan4x5x +tcm_fc +tcm_loop +tcm_qla2xxx +tcm_usb_gadget +tcp_bbr +tcp_bic +tcp_cdg +tcp_dctcp +tcp_diag +tcp_highspeed +tcp_htcp +tcp_hybla +tcp_illinois +tcp_lp +tcp_nv +tcp_scalable +tcp_vegas +tcp_veno +tcp_westwood +tcp_yeah +tcpci +tcpci_maxim +tcpci_mt6360 +tcpci_rt1711h +tcpm +tcrypt +tcs3414 +tcs3472 +tda10021 +tda10023 +tda10048 +tda1004x +tda10071 +tda10086 +tda18212 +tda18218 +tda18250 +tda18271 +tda18271c2dd +tda1997x +tda665x +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tda9950 +tda998x +tdfxfb +tdo24m +tdx-guest +tea575x +tea5761 +tea5767 +tea6415c +tea6420 +team +team_mode_activebackup +team_mode_broadcast +team_mode_loadbalance +team_mode_random +team_mode_roundrobin +tee +tef6862 +tehuti +teranetics +test_blackhole_dev +test_bpf +test_power +tg3 +thermal-generic-adc +think-lmi +thinkpad_acpi +thmc50 +ths7303 +ths8200 +thunder_bgx +thunder_xcv +thunderbolt +thunderbolt-net +ti-adc081c +ti-adc0832 +ti-adc084s021 +ti-adc108s102 +ti-adc12138 +ti-adc128s052 +ti-adc161s626 +ti-ads1015 +ti-ads124s08 +ti-ads131e08 +ti-ads7950 +ti-ads8344 +ti-ads8688 +ti-dac082s085 +ti-dac5571 +ti-dac7311 +ti-dac7612 +ti-lmu +ti-tlc4541 +ti-tsc2046 +ti_am335x_adc +ti_am335x_tsc +ti_am335x_tscadc +ti_usb_3410_5052 +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +timeriomem-rng +tipc +tlan +tlclk +tls +tlv320aic23b +tm2-touchkey +tm6000 +tm6000-alsa +tm6000-dvb +tmdc +tmp006 +tmp007 +tmp102 +tmp103 +tmp108 +tmp117 +tmp401 +tmp421 +tmp464 +tmp513 +topstar-laptop +toshiba_acpi +toshiba_bluetooth +toshiba_haps +toshsd +touchit213 +touchright +touchwin +tpci200 +tpl0102 +tpm_atmel +tpm_i2c_atmel +tpm_i2c_infineon +tpm_i2c_nuvoton +tpm_infineon +tpm_nsc +tpm_st33zp24 +tpm_st33zp24_i2c +tpm_st33zp24_spi +tpm_tis_i2c_cr50 +tpm_tis_spi +tpm_vtpm_proxy +tps23861 +tps40422 +tps51632-regulator +tps53679 +tps6105x +tps6105x-regulator +tps62360-regulator +tps65010 +tps65023-regulator +tps6507x +tps6507x-regulator +tps6507x-ts +tps65086 +tps65086-regulator +tps65090-charger +tps65090-regulator +tps65132-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +tps6598x +tps68470-regulator +tqmx86 +tqmx86_wdt +trace-printk +trancevibrator +trf7970a +tridentfb +ts2020 +ts_bm +ts_fsm +ts_kmp +tsc2004 +tsc2005 +tsc2007 +tsc200x-core +tsc40 +tsi721_mport +tsl2550 +tsl2563 +tsl2583 +tsl2591 +tsl2772 +tsl4531 +tsnep +tsys01 +tsys02d +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +ttusbir +ttynull +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tunnel4 +tunnel6 +turbografx +tvaudio +tveeprom +tvp514x +tvp5150 +tvp7002 +tw2804 +tw5864 +tw68 +tw686x +tw9903 +tw9906 +tw9910 +twidjoy +twl-regulator +twl4030-madc +twl4030-pwrbutton +twl4030-vibra +twl4030_charger +twl4030_keypad +twl4030_madc_battery +twl4030_wdt +twl6030-gpadc +twl6030-regulator +twl6040-vibra +twofish-avx-x86_64 +twofish-x86_64 +twofish-x86_64-3way +twofish_common +twofish_generic +typec +typec_displayport +typec_nvidia +typec_ucsi +typec_wcove +typhoon +u132-hcd +uPD60620 +u_audio +u_ether +u_serial +uacce +uartlite +uas +ubi +ubifs +ubuntu-host +ucan +ucb1400_core +ucb1400_ts +ucd9000 +ucd9200 +ucsi_acpi +ucsi_ccg +uda1342 +udc-core +udf +udl +udlfb +udp_diag +udp_tunnel +ueagle-atm +ufs +ufshcd-core +ufshcd-dwc +ufshcd-pci +ufshcd-pltfrm +ug3105_battery +uhid +uio +uio_aec +uio_cif +uio_dfl +uio_dmem_genirq +uio_hv_generic +uio_mf624 +uio_netx +uio_pci_generic +uio_pdrv_genirq +uio_pruss +uio_sercos3 +uleds +uli526x +ulpi +ums-alauda +ums-cypress +ums-datafab +ums-eneub6250 +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-realtek +ums-sddr09 +ums-sddr55 +ums-usbat +unix_diag +upd64031a +upd64083 +upd78f0730 +us5182d +usb-conn-gpio +usb-serial-simple +usb-storage +usb251xb +usb3503 +usb4604 +usb8xxx +usb_8dev +usb_debug +usb_f_acm +usb_f_ecm +usb_f_ecm_subset +usb_f_eem +usb_f_fs +usb_f_hid +usb_f_mass_storage +usb_f_midi +usb_f_ncm +usb_f_obex +usb_f_phonet +usb_f_printer +usb_f_rndis +usb_f_serial +usb_f_ss_lb +usb_f_tcm +usb_f_uac1 +usb_f_uac1_legacy +usb_f_uac2 +usb_f_uvc +usb_wwan +usbatm +usbdux +usbduxfast +usbduxsigma +usbhid +usbip-core +usbip-host +usbip-vudc +usbkbd +usblcd +usblp +usbmon +usbmouse +usbnet +usbserial +usbsevseg +usbtest +usbtmc +usbtouchscreen +usbtv +usdhi6rol0 +userio +userspace-consumer +ushc +usnic_verbs +uss720 +uv_mmtimer +uv_sysfs +uvcvideo +uvesafb +v4l2-async +v4l2-dv-timings +v4l2-flash-led-class +v4l2-fwnode +v4l2-mem2mem +v4l2-tpg +v4l2loopback +vboxguest +vboxsf +vboxvideo +vcan +vcnl3020 +vcnl4000 +vcnl4035 +vdpa +vdpa_sim +vdpa_sim_blk +vdpa_sim_net +vduse +veml6030 +veml6070 +ves1820 +ves1x93 +veth +vf610_dac +vga16fb +vgastate +vgem +vgg2432a4 +vhci-hcd +vhost +vhost_iotlb +vhost_net +vhost_scsi +vhost_vdpa +vhost_vsock +via-camera +via-cputemp +via-rhine +via-rng +via-sdmmc +via-velocity +via686a +via_wdt +viafb +vicodec +video +video-i2c +videobuf-core +videobuf-dma-sg +videobuf-vmalloc +videobuf2-common +videobuf2-dma-contig +videobuf2-dma-sg +videobuf2-dvb +videobuf2-memops +videobuf2-v4l2 +videobuf2-vmalloc +videodev +vim2m +vimc +viperboard +viperboard_adc +virt_wifi +virtio-gpu +virtio-rng +virtio_blk +virtio_bt +virtio_crypto +virtio_dma_buf +virtio_input +virtio_mem +virtio_net +virtio_pmem +virtio_rpmsg_bus +virtio_scsi +virtio_snd +virtio_vdpa +virtiofs +virtual +virtual_ncidev +visor +vitesse +vitesse-vsc73xx-core +vitesse-vsc73xx-platform +vitesse-vsc73xx-spi +vivid +vkms +vl53l0x-i2c +vl6180 +vmac +vmd +vme_ca91cx42 +vme_fake +vme_tsi148 +vme_user +vme_vmivme7805 +vmgenid +vmk80xx +vmlfb +vmw_balloon +vmw_pvrdma +vmw_pvscsi +vmw_vmci +vmw_vsock_virtio_transport +vmw_vsock_virtio_transport_common +vmw_vsock_vmci_transport +vmwgfx +vmxnet3 +vp27smpx +vp_vdpa +vport-geneve +vport-gre +vport-vxlan +vpx3220 +vrf +vringh +vs6624 +vsock +vsock_diag +vsock_loopback +vsockmon +vsxxxaa +vt1211 +vt6655_stage +vt6656_stage +vt8231 +vt8623fb +vub300 +vx855 +vxcan +vxge +vxlan +vz89x +w1-gpio +w1_ds2405 +w1_ds2406 +w1_ds2408 +w1_ds2413 +w1_ds2423 +w1_ds2430 +w1_ds2431 +w1_ds2433 +w1_ds2438 +w1_ds250x +w1_ds2780 +w1_ds2781 +w1_ds2805 +w1_ds28e04 +w1_ds28e17 +w1_smem +w1_therm +w5100 +w5100-spi +w5300 +w6692 +w83627ehf +w83627hf +w83627hf_wdt +w83773g +w83781d +w83791d +w83792d +w83793 +w83795 +w83877f_wdt +w83977f_wdt +w83l785ts +w83l786ng +wacom +wacom_i2c +wacom_serial4 +wacom_w8001 +wafer5823wdt +walkera0701 +wanxl +warrior +wbsd +wcd934x +wcn36xx +wd719x +wdat_wdt +wdt87xx_i2c +wdt_pci +wfx +whiteheat +wil6210 +wilc1000 +wilc1000-sdio +wilc1000-spi +wilco-charger +wilco_ec +wilco_ec_debugfs +wilco_ec_events +wilco_ec_telem +winbond-840 +winbond-cir +winmate-fm07-keys +wire +wireguard +wireless-hotkey +wishbone-serial +wl1251 +wl1251_sdio +wl1251_spi +wl1273-core +wl12xx +wl18xx +wl3501_cs +wlcore +wlcore_sdio +wm831x-dcdc +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x-ts +wm831x_backup +wm831x_bl +wm831x_power +wm831x_wdt +wm8350-hwmon +wm8350-regulator +wm8350_power +wm8350_wdt +wm8400-regulator +wm8739 +wm8775 +wm8994 +wm8994-regulator +wm97xx-ts +wmi +wmi-bmof +wp512 +wusb3801 +wwan_hwsim +x25 +x38_edac +x86-android-tablets +x86_pkg_temp_thermal +x_tables +xbox_remote +xc2028 +xc4000 +xc5000 +xcbc +xdpe12284 +xdpe152c4 +xen-blkback +xen-evtchn +xen-fbfront +xen-front-pgdir-shbuf +xen-gntalloc +xen-gntdev +xen-hcd +xen-kbdfront +xen-netback +xen-pciback +xen-pcifront +xen-privcmd +xen-scsiback +xen-scsifront +xen-tpmfront +xen_wdt +xenfs +xfrm4_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_compat +xfrm_interface +xfrm_ipcomp +xfrm_user +xfs +xgene-hwmon +xhci-pci +xhci-pci-renesas +xhci-plat-hcd +xiaomi-wmi +xilinx-pr-decoupler +xilinx-spi +xilinx-xadc +xilinx_emac +xilinx_emaclite +xilinx_gmii2rgmii +xilinx_sdfec +xillybus_class +xillybus_core +xillybus_pcie +xillyusb +xiphera-trng +xirc2ps_cs +xircom_cb +xlnx_vcu +xor +xp +xpad +xpc +xpnet +xr_serial +xrs700x +xrs700x_i2c +xrs700x_mdio +xsens_mt +xsk_diag +xt_AUDIT +xt_CHECKSUM +xt_CLASSIFY +xt_CONNSECMARK +xt_CT +xt_DSCP +xt_HL +xt_HMARK +xt_IDLETIMER +xt_LED +xt_LOG +xt_MASQUERADE +xt_NETMAP +xt_NFLOG +xt_NFQUEUE +xt_RATEEST +xt_REDIRECT +xt_SECMARK +xt_TCPMSS +xt_TCPOPTSTRIP +xt_TEE +xt_TPROXY +xt_TRACE +xt_addrtype +xt_bpf +xt_cgroup +xt_cluster +xt_comment +xt_connbytes +xt_connlabel +xt_connlimit +xt_connmark +xt_conntrack +xt_cpu +xt_dccp +xt_devgroup +xt_dscp +xt_ecn +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_ipcomp +xt_iprange +xt_ipvs +xt_l2tp +xt_length +xt_limit +xt_mac +xt_mark +xt_multiport +xt_nat +xt_nfacct +xt_osf +xt_owner +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_rateest +xt_realm +xt_recent +xt_sctp +xt_set +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_tcpudp +xt_time +xt_u32 +xtkbd +xusbatm +xxhash_generic +xz_dec_test +yam +yamaha-yas530 +yealink +yellowfin +yenta_socket +yurex +z3fold +zaurus +zavl +zcommon +zd1201 +zd1211rw +zd1301 +zd1301_demod +zet6223 +zforce_ts +zfs +zhenhua +ziirave_wdt +zinitix +zl10036 +zl10039 +zl10353 +zl6100 +zlua +znvpair +zonefs +zopt2201 +zpa2326 +zpa2326_i2c +zpa2326_spi +zr364xx +zram +zstd +zunicode +zzstd --- linux-gcp-5.19.0.orig/debian.master/abi/amd64/generic.retpoline +++ linux-gcp-5.19.0/debian.master/abi/amd64/generic.retpoline @@ -0,0 +1 @@ +# retpoline v1.0 --- linux-gcp-5.19.0.orig/debian.master/abi/arm64/generic +++ linux-gcp-5.19.0/debian.master/abi/arm64/generic @@ -0,0 +1,27426 @@ +ACPI EXPORT_SYMBOL_GPL 0xc331c3c7 acpi_table_parse_cedt vmlinux +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x04bfda32 otx2_cpt_send_ready_msg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x28abd277 otx2_cptlf_free_irqs_affinity drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x2b90616e otx2_cpt_msix_offset_msg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x2fa92a71 otx2_cpt_read_af_reg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x4192b379 otx2_cpt_detach_rsrcs_msg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x4247fd7a otx2_cpt_add_write_af_reg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x45ee45ab otx2_cpt_sync_mbox_msg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x4934f71a otx2_cpt_send_af_reg_requests drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x5e1b5ebd otx2_cpt_send_mbox_msg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x77fc65c4 otx2_cpt_write_af_reg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x93f318b2 otx2_cptlf_init drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x9db6ec8b otx2_cptlf_set_irqs_affinity drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xa3809fb3 cn10k_cptvf_lmtst_init drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xa5a06bf3 otx2_cptlf_shutdown drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xc230eb1f otx2_cptlf_unregister_interrupts drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xe3c7c47a otx2_cptlf_register_interrupts drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xf87a9828 cn10k_cptpf_lmtst_init drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0x3d552cf8 crypto_cipher_decrypt_one vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0xb562535e crypto_cipher_encrypt_one vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0xbc428376 crypto_cipher_setkey vmlinux +CXL EXPORT_SYMBOL_GPL 0x055c6ee3 cxl_mem_active_inc vmlinux +CXL EXPORT_SYMBOL_GPL 0x08010eaa cxl_probe_component_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x0d66ef59 devm_cxl_enumerate_ports drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x1128692f cxl_find_regblock drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x173b722b is_root_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x1c2fd8f3 devm_cxl_add_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x1c77a3b7 cxl_mbox_send_cmd drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x1e6a3170 devm_cxl_setup_hdm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x1f9809ef is_cxl_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x26277162 cxl_find_dport_by_dev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x26fda156 cxl_endpoint_autoremove drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x2753ff0d cxl_mem_find_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x2b7d87d1 cxl_driver_unregister drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x30eed32e to_cxl_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x31fc64d2 cxl_bus_rescan drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x32356ae5 cxl_dev_state_identify drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x33e2aa93 cxl_mem_active_dec vmlinux +CXL EXPORT_SYMBOL_GPL 0x411f6635 to_cxl_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x4b68055a is_cxl_memdev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x55ac6dc4 devm_cxl_port_enumerate_dports drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x56a09a8f to_cxl_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x59ebc3a6 to_cxl_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x64fead4d __cxl_driver_register drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x6a99de36 set_exclusive_cxl_commands drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x6e174a2e schedule_cxl_memdev_detach drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x6f137f44 cxl_bus_type drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7177a863 devm_cxl_register_pci_bus drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x747d22d4 devm_cxl_add_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x85fac707 is_cxl_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x96121c51 devm_cxl_add_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x9aab9d1d cxl_dev_state_create drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x9f59984b cxl_hdm_decode_init drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xa30dd2e1 clear_exclusive_cxl_commands drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xa5ac5e88 cxl_decoder_add drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xa5e9ba0a devm_cxl_add_passthrough_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xa97571f4 cxl_map_component_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xae613172 devm_cxl_add_memdev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xafcac3f0 cxl_find_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xbdb108dd cxl_enumerate_cmds drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xbe8e3a52 is_cxl_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xbeb6dbbc is_cxl_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xc6fce337 cxl_probe_device_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xcafa9162 cxl_switch_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xcba452a5 cxl_root_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xcecd33b0 devm_cxl_add_dport drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xd06d2134 cxl_port_to_pci_bus drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xd2125bd5 find_cxl_root drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xd47da762 cxl_endpoint_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xd8d28578 cxl_map_device_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xd9b8bf15 cxl_decoder_add_locked drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xe405e98e cxl_await_media_ready drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xf7d9eb29 cxl_mem_create_range_info drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xfa015d9d devm_cxl_enumerate_decoders drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xfd1a4d01 cxl_decoder_autoremove drivers/cxl/core/cxl_core +DMA_BUF EXPORT_SYMBOL_GPL 0x08d5b178 dma_buf_mmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x11cb6567 dma_buf_begin_cpu_access vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x120b6c0c dma_buf_unpin vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x3a54d75c dma_buf_end_cpu_access vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x51facd89 dma_buf_get vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x5f63ad00 dma_buf_vunmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x6553e00b dma_buf_dynamic_attach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x6d62d446 dma_buf_detach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7191932b dma_buf_fd vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7c089e58 dma_buf_unmap_attachment vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xa580aea9 dma_buf_vmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xaf98c3f9 dma_buf_attach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xc0f05dc0 dma_buf_map_attachment vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xc1cebd4b dma_buf_put vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xd643cebe dma_buf_export vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xec6e6eb4 dma_buf_pin vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xf126c99e dma_buf_move_notify vmlinux +DRM_SSD130X EXPORT_SYMBOL_GPL 0x33cf1f58 ssd130x_variants drivers/gpu/drm/solomon/ssd130x +EXPORT_SYMBOL arch/arm64/crypto/aes-ce-cipher 0x68f275ad ce_aes_expandkey +EXPORT_SYMBOL arch/arm64/crypto/aes-ce-cipher 0xd71b125d ce_aes_setkey +EXPORT_SYMBOL arch/arm64/crypto/aes-neon-blk 0x52d67a4e neon_aes_cbc_encrypt +EXPORT_SYMBOL arch/arm64/crypto/aes-neon-blk 0xb8c706a6 neon_aes_ctr_encrypt +EXPORT_SYMBOL arch/arm64/crypto/aes-neon-blk 0xd5f41819 neon_aes_ecb_encrypt +EXPORT_SYMBOL arch/arm64/crypto/aes-neon-blk 0xea11590c neon_aes_xts_encrypt +EXPORT_SYMBOL arch/arm64/crypto/aes-neon-blk 0xefc32a9b neon_aes_xts_decrypt +EXPORT_SYMBOL arch/arm64/crypto/chacha-neon 0x220b49ab chacha_crypt_arch +EXPORT_SYMBOL arch/arm64/crypto/chacha-neon 0xdc94f829 chacha_init_arch +EXPORT_SYMBOL arch/arm64/crypto/chacha-neon 0xdd8ec6bd hchacha_block_arch +EXPORT_SYMBOL arch/arm64/crypto/poly1305-neon 0x1c3e6e5b poly1305_init_arch +EXPORT_SYMBOL arch/arm64/crypto/poly1305-neon 0x6ddf27bc poly1305_update_arch +EXPORT_SYMBOL arch/arm64/crypto/poly1305-neon 0xf39f5240 poly1305_final_arch +EXPORT_SYMBOL arch/arm64/crypto/sha256-arm64 0xb455924d sha256_block_data_order +EXPORT_SYMBOL arch/arm64/crypto/sha512-arm64 0x6402c8df sha512_block_data_order +EXPORT_SYMBOL arch/arm64/lib/xor-neon 0xdb786e41 xor_block_inner_neon +EXPORT_SYMBOL crypto/blake2b_generic 0x32e24c8a blake2b_compress_generic +EXPORT_SYMBOL crypto/ecc 0x16e410ff vli_from_be64 +EXPORT_SYMBOL crypto/ecc 0x188a1647 ecc_is_pubkey_valid_full +EXPORT_SYMBOL crypto/ecc 0x1a5faa3a vli_mod_inv +EXPORT_SYMBOL crypto/ecc 0x4c281912 vli_is_zero +EXPORT_SYMBOL crypto/ecc 0x671f7aa5 ecc_is_key_valid +EXPORT_SYMBOL crypto/ecc 0x7c0fbb00 vli_mod_mult_slow +EXPORT_SYMBOL crypto/ecc 0x8261eccb ecc_get_curve25519 +EXPORT_SYMBOL crypto/ecc 0x8e688192 ecc_alloc_point +EXPORT_SYMBOL crypto/ecc 0x90cdc197 ecc_free_point +EXPORT_SYMBOL crypto/ecc 0x9263b417 ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x92668805 vli_cmp +EXPORT_SYMBOL crypto/ecc 0x932b6ff7 vli_num_bits +EXPORT_SYMBOL crypto/ecc 0x9f6efabd vli_sub +EXPORT_SYMBOL crypto/ecc 0xa76b31a2 crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0xb10fc19e ecc_get_curve +EXPORT_SYMBOL crypto/ecc 0xd6315f31 ecc_gen_privkey +EXPORT_SYMBOL crypto/ecc 0xd94c8eb5 ecc_point_is_zero +EXPORT_SYMBOL crypto/ecc 0xde867c29 ecc_is_pubkey_valid_partial +EXPORT_SYMBOL crypto/ecc 0xeac9b99a vli_from_le64 +EXPORT_SYMBOL crypto/ecc 0xed4ae15e ecc_make_pub_key +EXPORT_SYMBOL crypto/nhpoly1305 0x2a99ce7b crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/nhpoly1305 0x52e902e2 crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/nhpoly1305 0x60743524 crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0x6f12e342 crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/nhpoly1305 0x849ec0ea crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/nhpoly1305 0xcc620c00 crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/sha3_generic 0x2d7a1a54 crypto_sha3_final +EXPORT_SYMBOL crypto/sha3_generic 0x3c328581 crypto_sha3_update +EXPORT_SYMBOL crypto/sha3_generic 0xcb54a791 crypto_sha3_init +EXPORT_SYMBOL crypto/sm2_generic 0x024cdfd4 sm2_compute_z_digest +EXPORT_SYMBOL crypto/sm4 0x2b098da5 crypto_sm4_ck +EXPORT_SYMBOL crypto/sm4 0x7931a202 crypto_sm4_fk +EXPORT_SYMBOL crypto/sm4 0xf4fd3bd2 crypto_sm4_sbox +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/acpi/nfit/nfit 0x06848c60 to_nfit_uuid +EXPORT_SYMBOL drivers/atm/suni 0xe4a59aff suni_init +EXPORT_SYMBOL drivers/bcma/bcma 0x2cc535b6 bcma_core_irq +EXPORT_SYMBOL drivers/bcma/bcma 0x2f4f1082 bcma_core_dma_translation +EXPORT_SYMBOL drivers/block/drbd/drbd 0x127a5901 drbd_set_st_err_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x35131b36 drbd_role_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x7730f22d drbd_conn_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0xaf27bebf drbd_disk_str +EXPORT_SYMBOL drivers/block/paride/paride 0x0d179e29 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0x3b702362 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x4267110a pi_register_driver +EXPORT_SYMBOL drivers/block/paride/paride 0x50c7b96f pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x5b98b3c1 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x5e345d30 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x75be9b09 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0xaff89a8f pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0xb21ba07d pi_unregister_driver +EXPORT_SYMBOL drivers/block/paride/paride 0xb354f611 pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xc2dc93b2 pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xdc6ece1a pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0xe82256c1 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0xee237e9a paride_unregister +EXPORT_SYMBOL drivers/bluetooth/btbcm 0x80b252cd btbcm_patchram +EXPORT_SYMBOL drivers/bluetooth/btrsi 0x0bf31403 rsi_bt_ops +EXPORT_SYMBOL drivers/bus/mhi/host/mhi 0x5e5c20c5 mhi_sync_power_up +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x00285ca7 ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x03bc993e ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0705dd14 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0d5ff683 ipmi_add_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x12dd1e77 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1f65170f ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x230094ac ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4c2054d7 ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x50f65edf ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x67369b42 ipmi_addr_src_to_str +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x74778a80 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x74b11c15 ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x80aa4656 ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x89a5279a ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x9478f3fd ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x96a6e5e8 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xaca90ebd ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xae71627d ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd54a5050 ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4330a39 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe98c507d ipmb_checksum +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xec1c2a90 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf388b18b ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf5531bea ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfaaa4831 ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfe0f2369 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x1f355da7 st33zp24_remove +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x2328292f st33zp24_pm_resume +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x89e8ec6f st33zp24_pm_suspend +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xab107eeb st33zp24_probe +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0x330c577b xillybus_find_inode +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0x7cdec09e xillybus_cleanup_chrdev +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0xad8dcfb4 xillybus_init_chrdev +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x25978d50 xillybus_isr +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x28d15a6d xillybus_endpoint_discovery +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x62ed34fb xillybus_endpoint_remove +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x985262d5 xillybus_init_endpoint +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0x25c98843 clk_alpha_pll_zonda_ops +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0xa03f8920 clk_alpha_pll_postdiv_lucid_5lpe_ops +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0xd89a02cf clk_alpha_pll_fixed_lucid_5lpe_ops +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0xed46e5cc clk_alpha_pll_lucid_5lpe_ops +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x80a11b1d atmel_i2c_init_read_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xbb0bf590 atmel_i2c_send_receive +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc21580b1 atmel_i2c_enqueue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc71ed50c atmel_i2c_init_genkey_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc80f14e8 atmel_i2c_flush_queue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xd96b9e92 atmel_i2c_probe +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xf283e995 atmel_i2c_init_random_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xfaab573f atmel_i2c_init_ecdh_cmd +EXPORT_SYMBOL drivers/crypto/caam/caam 0x00879400 caam_qi_enqueue +EXPORT_SYMBOL drivers/crypto/caam/caam 0x17572340 caam_congested +EXPORT_SYMBOL drivers/crypto/caam/caam 0x37734e06 caam_dpaa2 +EXPORT_SYMBOL drivers/crypto/caam/caam 0x44ae4bc4 qi_cache_free +EXPORT_SYMBOL drivers/crypto/caam/caam 0x57066320 caam_drv_ctx_update +EXPORT_SYMBOL drivers/crypto/caam/caam 0xc0eaa792 qi_cache_alloc +EXPORT_SYMBOL drivers/crypto/caam/caam 0xd4d6f9dc caam_drv_ctx_rel +EXPORT_SYMBOL drivers/crypto/caam/caam 0xfdac31c7 caam_drv_ctx_init +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x6e8717c6 split_key_done +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x9630434e caam_jr_alloc +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0xc5bb10f4 caam_jr_enqueue +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0xc7704cd9 gen_split_key +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0xf062e561 caam_jr_free +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x2e152bb7 cnstr_shdsc_xts_skcipher_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x3b54a9ad cnstr_shdsc_aead_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x76a68e3e cnstr_shdsc_chachapoly +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7b0c587f cnstr_shdsc_rfc4543_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7b7bcab8 cnstr_shdsc_rfc4543_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x86bcdec7 cnstr_shdsc_xts_skcipher_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x88430d4c cnstr_shdsc_aead_null_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x91ac0969 cnstr_shdsc_aead_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xa3115081 cnstr_shdsc_skcipher_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xa340e264 cnstr_shdsc_aead_givencap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xa99d7fa6 cnstr_shdsc_aead_null_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xebcdd349 cnstr_shdsc_skcipher_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xf92c5da5 cnstr_shdsc_gcm_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xf95bcf62 cnstr_shdsc_gcm_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xfd807e48 cnstr_shdsc_rfc4106_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xfdf7ec8f cnstr_shdsc_rfc4106_encap +EXPORT_SYMBOL drivers/crypto/caam/caamhash_desc 0x30a1e372 cnstr_shdsc_sk_hash +EXPORT_SYMBOL drivers/crypto/caam/caamhash_desc 0xb5571dbf cnstr_shdsc_ahash +EXPORT_SYMBOL drivers/crypto/caam/dpaa2_caam 0xda2e2693 dpaa2_caam_enqueue +EXPORT_SYMBOL drivers/crypto/caam/error 0x53d0fc97 caam_ptr_sz +EXPORT_SYMBOL drivers/crypto/caam/error 0x9918c240 caam_strstatus +EXPORT_SYMBOL drivers/crypto/caam/error 0xa51f16c7 caam_little_end +EXPORT_SYMBOL drivers/crypto/caam/error 0xbd67c092 caam_imx +EXPORT_SYMBOL drivers/crypto/caam/error 0xd25da602 caam_dump_sg +EXPORT_SYMBOL drivers/dma/xilinx/xilinx_dma 0xb743b0e4 xilinx_vdma_channel_set_config +EXPORT_SYMBOL drivers/firewire/firewire-core 0x047c164b fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0bc6094c fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1169a5b1 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3a771e39 fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x42c405c5 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0x464be2fc fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x46c63754 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4de89579 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x526c626f fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5298e61b fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x53441244 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x5f07a565 fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6a4816bc fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6b4fc74d fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6dc50487 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x728b1eb5 fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8a41976a fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0xa5fe17cb fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0xabcc0bb4 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaedf84ce fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0xafec070c fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb6b5a252 fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb7080192 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc5e368cf fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd385fe15 fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd91b5263 fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0xdd79f98a fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe3a29043 fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe3fde125 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe80e5087 fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xfb8d3bab fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0xfbbfb48d fw_iso_context_destroy +EXPORT_SYMBOL drivers/firmware/broadcom/tee_bnxt_fw 0x57b73b33 tee_bnxt_fw_load +EXPORT_SYMBOL drivers/firmware/broadcom/tee_bnxt_fw 0xdfaff93c tee_bnxt_copy_coredump +EXPORT_SYMBOL drivers/firmware/imx/imx-dsp 0x0b993fd6 imx_dsp_free_channel +EXPORT_SYMBOL drivers/firmware/imx/imx-dsp 0x504a4482 imx_dsp_request_channel +EXPORT_SYMBOL drivers/firmware/imx/imx-dsp 0xc8c306ea imx_dsp_ring_doorbell +EXPORT_SYMBOL drivers/fpga/dfl 0x029a4332 dfl_driver_unregister +EXPORT_SYMBOL drivers/fpga/dfl 0x2617f9cb __dfl_driver_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x00fee124 drm_scdc_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x01c4bba9 drm_dp_lttpr_max_link_rate +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x059ba551 drm_dp_mst_add_affected_dsc_crtcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x06c49551 drm_dp_dsc_sink_line_buf_depth +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x06e83917 drm_panel_dp_aux_backlight +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0950b222 drm_dp_downstream_debug +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0c5646f5 drm_dp_start_crc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x113b2969 drm_dp_cec_set_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x11b12857 drm_dp_aux_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x121ab067 drm_dp_pcon_pps_default +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x13708051 drm_dp_stop_crc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x14e2d653 drm_dp_mst_detect_port +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1605d0ed drm_dp_lttpr_max_lane_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x16291a42 drm_dp_update_payload_part2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1709ddcf drm_dp_lttpr_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1745311f drm_dp_mst_deallocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x179da196 drm_dp_update_payload_part1 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x19c03a1f drm_dp_downstream_id +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1a5bf3ca drm_dsc_dp_rc_buffer_size +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1b0a1fdc drm_dp_lttpr_voltage_swing_level_3_supported +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1e44439c drm_dp_mst_hpd_irq +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2043f120 drm_dp_mst_topology_mgr_suspend +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x219e5754 drm_dp_read_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x23961837 drm_dp_downstream_max_bpc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x241fad51 drm_lspcon_get_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x26815dbc drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x27dd6e40 drm_dp_dpcd_probe +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2c3931c4 drm_dp_dpcd_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2ea860b9 drm_dp_dual_mode_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2fa94ef2 drm_dp_downstream_444_to_420_conversion +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x31628f44 drm_dp_mst_dump_topology +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x31f6705a drm_dp_mst_atomic_enable_dsc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3323f1dc drm_dp_set_subconnector_property +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3516ca9c drm_dp_cec_unregister_connector +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x35902fd9 drm_dp_downstream_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x376af39a drm_dp_pcon_hdmi_frl_link_error_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x392a838b drm_dp_downstream_max_dotclock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x39d42c9c drm_dp_get_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3a8063f3 drm_dp_dsc_sink_supported_input_bpcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3a9164ca drm_dp_mst_connector_early_unregister +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3acdfc4d drm_dp_dpcd_read_link_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3ee7ac80 drm_dp_read_sink_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x40859cd8 drm_dp_aux_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4219bc0d drm_dp_mst_topology_mgr_destroy +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x42bdc1fa drm_dp_set_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4346fb52 drm_hdcp_update_content_protection +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x44d96830 drm_edp_backlight_disable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4603c416 drm_dp_pcon_dsc_bpp_incr +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4aa13709 drm_dp_read_desc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5407ae9e drm_dp_get_dual_mode_type_name +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x54bd95ac drm_dp_mst_allocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x561208fc drm_dp_atomic_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x567b7e6e drm_dp_dual_mode_set_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x56c5717e drm_dp_pcon_frl_configure_1 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x582f248e drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x58d8fcaa drm_dsc_pps_payload_pack +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x59f27ed7 drm_dp_pcon_enc_is_dsc_1_2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5d9240e4 drm_dp_send_power_updown_phy +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5e3184c3 drm_dp_mst_update_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x63a477fb drm_dp_downstream_min_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x648d953b drm_dsc_dp_pps_header_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6615069e drm_dp_dsc_sink_max_slice_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x68d8dce7 drm_dp_downstream_is_tmds +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6a4df8c5 drm_dp_128b132b_eq_interlane_align_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6aacee47 drm_dp_128b132b_link_training_failed +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6b53e216 drm_dp_downstream_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6d67ac95 drm_hdmi_avi_infoframe_bars +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7053fa72 drm_dp_get_pcon_max_frl_bw +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x722502c6 drm_dp_atomic_release_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x73011db0 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7431a9cd drm_dp_dual_mode_detect +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x76ff6644 drm_dp_lttpr_pre_emphasis_level_3_supported +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x78c07be3 drm_dp_check_act_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x79e27d0e drm_dp_send_query_stream_enc_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7b77bd49 drm_dp_pcon_is_frl_ready +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7dbe9fac drm_dp_pcon_frl_prepare +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x82c62ed7 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8390d3a3 drm_dp_vsc_sdp_log +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8766362d drm_dp_pcon_hdmi_link_active +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x88f75de8 drm_dp_read_dpcd_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x89977a84 drm_edp_backlight_enable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8ca2d9e4 drm_dp_calc_pbn_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8d701329 drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x92b9835e drm_dp_128b132b_cds_interlane_align_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x935997ce drm_dp_cec_register_connector +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x93bdf815 drm_dp_lttpr_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9668e00d drm_edp_backlight_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9c5d99b5 drm_dp_dual_mode_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa004e539 drm_dp_mst_topology_mgr_set_mst +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa0342255 drm_dp_128b132b_read_aux_rd_interval +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa1fefe6a drm_dp_psr_setup_time +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa289641d drm_dp_mst_reset_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa3db014b drm_dp_mst_get_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa4c2267c drm_scdc_set_scrambling +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa5645295 drm_lspcon_set_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa8f4ea81 drm_dp_pcon_hdmi_link_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xab0ad55b drm_dp_mst_topology_state_funcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xab26f652 drm_scdc_set_high_tmds_clock_ratio +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xacab770f drm_dp_mst_put_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xaf267620 drm_dp_lttpr_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xaffabd50 drm_hdmi_avi_infoframe_content_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb0d6861d drm_hdmi_avi_infoframe_colorimetry +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb82abd15 drm_dp_mst_dsc_aux_for_port +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xbf5ab890 drm_dp_read_lttpr_common_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xbfe55a4f drm_dp_mst_get_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc020c0c1 drm_dp_pcon_dsc_max_slice_width +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc5c99a79 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc79ecffb drm_dp_downstream_is_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc8561c1a drm_dp_pcon_frl_configure_2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc8b6a8ae drm_dp_128b132b_lane_channel_eq_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc9189055 drm_atomic_get_mst_topology_state +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc922753d drm_dp_mst_get_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xccbb9912 drm_dp_read_mst_cap +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xccea440e drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xccf54d5e drm_dp_get_adjust_tx_ffe_preset +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd172d18e drm_dp_dpcd_read_phy_link_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd1dea3fd drm_dp_cec_irq +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd5a95eae drm_dp_128b132b_lane_symbol_locked +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd83cfae4 drm_dp_mst_topology_mgr_resume +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd8bb7d0c drm_dp_get_vc_payload_bw +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xda15e091 drm_dp_read_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xdb364f69 drm_dp_pcon_convert_rgb_to_ycbcr +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xdbdb288b drm_hdmi_infoframe_set_hdr_metadata +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xdc7df7b4 drm_dp_pcon_frl_enable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xdf02efc0 drm_dp_mst_connector_late_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xdf683e0f drm_dp_send_real_edid_checksum +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xdfa815cb drm_dp_dpcd_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe533563d drm_dp_read_downstream_info +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe5360b84 drm_dp_pcon_dsc_max_slices +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe5629f29 drm_dp_read_sink_count_cap +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe81d7cd9 drm_dp_aux_unregister +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe892a58a drm_dp_pcon_pps_override_param +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe9475aa5 drm_dp_remote_aux_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xedcf81ce drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xedf0868a drm_edp_backlight_set_level +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xee1e8cf5 drm_dp_pcon_reset_frl_config +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xef2367ab drm_dp_mst_atomic_check +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf0175472 drm_dp_dual_mode_get_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf0c346e0 drm_dp_dual_mode_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf2d03041 drm_dp_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf44e9cfd drm_dp_cec_unset_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf49cc52b drm_connector_attach_content_protection_property +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf67c699c drm_dp_pcon_pps_override_buf +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf68741fb drm_dp_subconnector_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf689ad25 drm_dp_downstream_420_passthrough +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf8cc54cf drm_scdc_get_scrambling_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfb1a7a5a drm_dp_downstream_rgb_to_ycbcr_conversion +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfb44b69b drm_dp_mst_topology_mgr_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfc44baa9 drm_dp_read_lttpr_phy_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfe12bcb9 drm_dsc_compute_rc_parameters +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfe5c97ef drm_scdc_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x011995b1 drm_mode_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01a86848 drm_plane_get_damage_clips_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02fe3cb8 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03205ed4 drm_vblank_work_schedule +EXPORT_SYMBOL drivers/gpu/drm/drm 0x033d9e92 drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x038d5fc9 drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03c63897 __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03d9efef drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04870cc6 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0587eea3 drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0605fe42 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0696e563 drm_connector_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x06e781f0 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0719cc2e drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07989f79 drm_privacy_screen_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07fb449a drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08405eed drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x090f1c01 drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09c32335 drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0adafa0c drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ae08cd7 drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c4ebc92 drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ca13dc5 drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ccff587 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d1bd145 drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d22d973 drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d9b4753 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0eb7f5eb drm_privacy_screen_lookup_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f1431fd drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f4f7697 drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f7acb66 drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f9530a5 drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f95723f drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fd60df2 drm_get_connector_status_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x107742a9 drm_get_subpixel_order_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1078b957 drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1094ef62 drm_connector_update_privacy_screen +EXPORT_SYMBOL drivers/gpu/drm/drm 0x111d361f drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11384c92 drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x115c1fec drm_of_find_possible_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1222cd11 drm_send_event_timestamp_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1283db47 drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0x128f7121 drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13fe603f __drmm_encoder_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x144480b8 drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0x150c73ea drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15297988 drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x155a999c drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x162df9c5 drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x18c48d63 drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19e69639 drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a27f325 drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ae2e4d4 drm_panel_of_backlight +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1bc6ef31 drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1bc82ea3 drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c16f62d drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c4d61f0 drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c70ca8e drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c799219 drm_privacy_screen_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ecd4c5a drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ed62f20 drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1fd4019d drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2022ba8f drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x225f5116 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2296fcae drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x22b57362 drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x231ff099 drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23e05c02 drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23e19758 drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x240178d4 drm_privacy_screen_call_notifier_chain +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2436d3d5 drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2493f2fc drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24993e50 drm_edid_are_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24cf437a drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24d124ac drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25ddb60f drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26169dd1 drm_prime_sg_to_page_array +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26c989e6 drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x272536e9 drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x278df99c drm_gem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28779e52 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28b06321 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2943f853 devm_aperture_acquire_from_firmware +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29f078d1 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a61c186 drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a962499 drm_mm_scan_init_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a99898f drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b24ead8 drm_object_property_get_default_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c05eaa3 drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2cb99014 drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d69f109 drm_framebuffer_unregister_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ed3c600 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f476172 drm_privacy_screen_lookup_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f4b40a6 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30365752 drm_connector_attach_hdr_output_metadata_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30e727dd drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31a65fb4 drm_crtc_commit_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3268e8a7 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32a0cc37 drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33953f20 drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33bfe686 drm_privacy_screen_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3425c78b drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x345aa1d3 drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x352eca6e drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3652ee5d drm_atomic_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36c0b7ff drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36dadad9 drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37a0e7ea drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x383ca664 drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38690d99 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x399f9847 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a41ffb4 drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a57d990 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ab87110 drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ad7dcb3 drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b0a8347 __drmm_universal_plane_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b0e5e9c __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c22a4d8 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c8f87e6 drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cdc37e9 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e3a8177 drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f3902c9 drm_connector_set_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f405489 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4093dedb drm_crtc_create_scaling_filter_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40a53b01 drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x419e9492 drm_writeback_connector_init_with_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x42479122 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4364b77d drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4403a9c3 drm_mode_get_hv_timing +EXPORT_SYMBOL drivers/gpu/drm/drm 0x445c0aa0 drm_connector_attach_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44a2cadb drm_prime_sg_to_dma_addr_array +EXPORT_SYMBOL drivers/gpu/drm/drm 0x452af29f drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4575a0ca drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x45eb5160 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x462521f3 drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x462bd1c8 drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47ae8403 drm_privacy_screen_unregister_notifier +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4831da6e drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x497b0068 drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49944adb drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49cb554a drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a35d30d drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4bbd6062 drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e8f3ca4 drm_client_framebuffer_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x503b2029 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5083e0e2 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50c9403d drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5119e583 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x513072fe __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x521ad6d0 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0x523c3f5a drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53bfae30 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x549742c0 drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5521f0a8 drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55a57292 drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55d82a48 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x564e7ae4 drm_connector_attach_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5754c873 drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57698a50 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5793fde6 drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57b6efe3 drm_ioctl_flags +EXPORT_SYMBOL drivers/gpu/drm/drm 0x585bc459 drm_privacy_screen_set_sw_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59cca2e0 drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59d33be8 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a5d776f drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a7064b3 drm_vblank_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a9ab2e7 drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ae2a7d2 drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b676efb drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5bfbf4af drm_client_modeset_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c1d67c7 drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c9d65d7 drm_connector_create_privacy_screen_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d3f1927 drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d9d80a0 drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5dfab166 drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ed9be61 drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f5d38c3 drm_vblank_work_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f68a88a drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6091e1df drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60d2dc37 drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60e33148 drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x614558dc __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x618f7004 drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61bb9ef4 drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62c1214a drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62c44b7f drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x630d7cdc drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6324759d drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6350aa6b drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64ea4844 drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64fa463f drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65702bd6 drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x658b11c3 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x663c8e80 drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x664e48cf drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68959ed5 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68de9547 drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68f06471 drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x698fc0fa drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ac01ea8 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6aea7109 drm_of_crtc_port_mask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b489096 drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b7c1112 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6bc59bb3 drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c1f0d52 drm_modeset_acquire_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c62c2cb drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e45ab80 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ef2f78e drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70dd1155 drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71026926 drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71714e94 drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71b2288e drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71e679ab drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x720df2b9 drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72e23d32 drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x75c1ac91 drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x75d2f03b drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7691b137 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76a43bf9 drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78a4a946 drm_release_noglobal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79cf4041 drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a0dec81 drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b2e2166 drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b51d781 drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c545285 drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7daa5d00 drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e65b3f2 drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e8339be drm_edid_get_panel_id +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edf470b drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fd8bf30 drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80d5de32 drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82499c9b drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8268e71f drm_gem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83a78c12 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x84fc863b drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85feff98 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x86806c06 drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87f54d73 drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x884ae287 drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8949e91d __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0x899b1215 drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89ee0a7f drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b6b3741 drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c3acbdf drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8cc07a3a drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8cfbb6c0 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d72789e drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f3ce2af drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8fb4df5c drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9004d090 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x901c8154 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x90e0675c drm_privacy_screen_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91186286 of_drm_get_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x914d9e02 drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9151bfae drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x918c482f drmm_mutex_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91b34553 drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0x92e07a8e drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9312d0e9 drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x936ba2c8 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9375ed0a drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x939e3d21 drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94ff6c6a drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95352a12 drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95586eb4 drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95d4d9e1 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x968f342b drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96b0fdfd drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0x974ce72b drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9768b8ce drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9775ec60 drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99348d99 drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x999d7a36 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99c2de5f drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99dc1d43 drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ae629d3 drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b285573 drm_match_cea_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b3c6537 drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b95c885 drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b978dcd drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b9de1c1 drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9be96880 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ce050be drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d0fa88d drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d7b5d02 drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9dd0f26f drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ed90933 drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ef1d356 drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f635225 drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fc6e083 drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fed2575 drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0a47e41 drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0bbe8bc drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1f6fdf5 drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa248afde drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa38c4c94 drm_memcpy_from_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa47bb84b drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa62f1758 drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7249b34 drm_color_lut_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7567e48 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7b4310e drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8d71c1a drm_privacy_screen_get_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa81f162 drm_connector_attach_privacy_screen_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab892da4 __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad3ae4f7 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad4e902b drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0xada9b7ba drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae277372 __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0b05ff5 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0ff2a43 drm_connector_oob_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb11ac7a7 __drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1a336a5 drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb22dfd68 drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2560fd9 drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4032484 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4343381 of_drm_find_panel +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb583c468 drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5d0a0c6 of_drm_find_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6127243 drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb70e8c00 __drmm_crtc_alloc_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb8ae7a9f drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb908f966 drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9cad492 __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd06c712 drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe0d6de1 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe3c576f drm_mode_plane_set_obj_prop +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbeabbb8e drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbeb2bfa2 drm_of_component_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbf498c52 drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbfe382af drm_aperture_remove_conflicting_framebuffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0775a89 drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0b02418 drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc25c58ff drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4180456 drm_sysfs_connector_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc46c3959 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc52f3722 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5495c32 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc561bd21 drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5822b21 drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc620d6fc drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6d8294b drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc721929d drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7910e38 drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7d04fc5 drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7d2ad50 drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7eb95a2 drm_aperture_remove_conflicting_pci_framebuffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc82982eb drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc848a3d3 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca190085 drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcac2685d drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xccc59759 drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xccce0604 drm_connector_attach_dp_subconnector_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd0dd7f9 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd5dce1b drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdb99cc9 drm_mode_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd0593718 drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd05fda43 drm_prime_get_contiguous_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13f9985 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2dc72b3 drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3013b38 drm_bridge_chain_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3f2babd drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4f0b38f __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd50be9e5 drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd520c812 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5304aec drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd57d53f9 drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd5f495ef drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd6779934 drm_file_get_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd680a377 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd6a40d94 drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd6ec60b1 drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7302e16 drm_plane_create_alpha_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7a9cf42 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd8aa491d drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd8d16b05 drm_display_mode_from_cea_vic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9b10cc2 drm_panel_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdad9ed53 drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb00a145 drm_plane_get_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdba81779 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd06042a drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde174cdb drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf3f760d drm_mm_scan_color_evict +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf4f8ad8 drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf666902 drm_rotation_simplify +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0c88c42 drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0f6fc7a drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1379416 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe2858e73 drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe2d83997 __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe317082a __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe369c9de drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe3ac8077 drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe3b0f11d drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe539ed6b drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe64be078 drm_privacy_screen_register_notifier +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe65daa21 drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe677adc3 drm_connector_atomic_hdr_metadata_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe6b0526e drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe7f1ec4a drm_vblank_work_cancel_sync +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a034df drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a0e334 drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8c3d483 drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe973f7a0 drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe9ff3cce drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea00fe81 __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea5b9320 drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb087cb6 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb92f8f8 drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xebb63e1f drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xebb788d7 drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec12af74 __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed1f8399 drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed339e5f drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeff21453 drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0517d7a drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0f0bffd drm_plane_create_scaling_filter_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1b5340a drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1b66e7b drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf28474a8 drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf330b516 drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf33339c6 drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3519328 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf406e46a drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5bf7a4f drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5e344b7 drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf60aa78e drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6fad8a6 drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7fd1e21 drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf824c7db __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8d83684 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf987f1e9 drm_connector_attach_privacy_screen_provider +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa91b8a5 drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfaf7d0a1 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb2a089c drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfbafd247 drm_atomic_print_new_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc0203ca drm_property_replace_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc02efc0 drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd2027ac drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdda2a55 drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdf15410 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfeb953b1 __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffbf5965 drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm_cma_helper 0x91c79e5d drm_gem_cma_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_cma_helper 0xde87daa0 drm_gem_cma_prime_import_sg_table_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x014a2267 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0480b05e drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0580018c drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x08982d24 drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x09004baa drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0976f4d4 drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0a6ff13e drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0c45c65d drm_fb_xrgb8888_to_rgb888_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0d1092ef drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x10d2180e drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x12447428 drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x12756348 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x127a8c6b drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x12912910 drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1303f345 drm_fb_blit_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1326b6ce drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x14241ef6 drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x16ac700a drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x19d6cee8 drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1c183f08 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1e87279e drm_fb_xrgb8888_to_rgb565_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1efa4d72 drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1f7fc21f drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x20d10698 drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x21d541eb drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x24df7d6a drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x261e204f drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2793cf18 drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x28119bd1 devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2993946b drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x29dc0249 __drm_gem_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2a5c0909 drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c309107 __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2e05b359 drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2eb571d1 drm_gem_fb_begin_cpu_access +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x352c6314 drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a307724 drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a736739 drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3b5c1331 __drm_gem_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3c209fe3 drm_gem_prepare_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3c6dad83 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3cf73799 drm_gem_fb_end_cpu_access +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3dee43e7 drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x403eee59 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x404f8bf8 drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x415773c7 drm_fb_swab +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x42bdc03b drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x43404a68 drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x43d193d2 drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x440840a9 drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x464f9baf drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x48365564 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x49730b2a drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x49c5ac3a __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4b136bf9 drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4c8336ea drm_gem_fb_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4d36ba7b drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4ef0b9c8 drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4f3f387c __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4f5dfd5a __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x52188ac4 drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x529ac726 drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x52bc013e drm_gem_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x53edf291 drm_gem_simple_kms_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5542443b drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5562418f drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x575da9e5 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59e1458f drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a07801a drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5dc7b044 drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5e72a20b __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x607d676d drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x610c2266 drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x62253186 drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x629b63f0 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x65136acd drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x651d9b9e drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6544329c drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x654ed8cd drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x68a388a7 drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6994df4f drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x69a2340e drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b3a7252 drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6cb06d90 drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6dd13034 __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e25a8d2 drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e613ac2 drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6ed06a15 drm_gem_simple_kms_prepare_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7105e78e drm_gem_simple_kms_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7206d4bf drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7312f6eb drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x751070d4 drm_fb_xrgb8888_to_rgb888 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x75bfe5a7 drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x761ceff8 drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x798e3569 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x79b21535 drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7c1e15d4 drm_fb_xrgb8888_to_rgb332 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7dcc67bc drm_atomic_helper_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7e627a14 drm_gem_cleanup_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7faf8e1c drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fafca71 drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x80b81b41 drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x80d63b6d drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x81286f6e drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8206e724 __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x842dd90c drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x85a9e3d1 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x871ab41a drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x87f0f6c7 drm_gem_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8832c1a1 drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x88739f70 drm_fb_memcpy_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x89c76674 drm_gem_fb_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8fe625b2 drm_fb_xrgb8888_to_xrgb2101010_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x91fc8573 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x91fec1cc drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9256bb9d drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x93e0fc8b drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9472d13c drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x948b0cbf drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x94f3c5b9 drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9726c8b6 drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x97920506 drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x97e4cadf devm_drm_of_get_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9917f727 drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x99fd20aa drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9aab8cc0 drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9eac0009 drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9f2cb0a0 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9f7974c7 drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9f89abdb drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa047bb29 drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa26f0b81 drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa7d4e900 drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa8d96148 __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaae758eb drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xad937ed7 drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb053adda drm_rect_rotate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb1a019f6 drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb5261074 drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb558b161 drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb927f898 drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb9a99f77 drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xba3bc338 __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xba9d55cc drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbc562b07 drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbf48f591 drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc4b59026 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc4cc5c3d __drm_gem_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc50f80e1 drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc6323239 drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc6b4e5ac drm_connector_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xca252ab4 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcb2340b8 drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcb4ce227 __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcbbe2408 drm_fb_xrgb8888_to_mono +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcbd3f6f5 drm_kms_helper_connector_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xccc42bea drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcd01712b drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcd919573 __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcf11a549 drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcf3e76d5 drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcf59b131 drm_gem_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcff9b6b0 drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd19bf8a0 drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd1d8afda drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd269bfeb drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd2eb86e4 drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5643fb4 __drmm_simple_encoder_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd833d288 drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd8cabb44 drm_gem_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd912fd5e drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xda16168e drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xda68ff66 drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdb2f1684 drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdc28edc6 __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdcc27655 drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xde7f3335 drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe01e4c3e drm_gem_simple_kms_cleanup_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe1da735b __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe1ff24dc drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe51d1beb __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe6f3a998 drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe8d21723 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeb21ec83 devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xebeeca5b drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xec7a544a drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xefec5d14 drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf27ac0b6 __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf30db916 drm_fb_clip_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf37dc29c drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf40ef5fb drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf4447801 drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf961dc89 drm_gem_simple_kms_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf99b53e9 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfa6d00d0 drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xff501885 drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x021f3671 mipi_dbi_command_stackbuf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x0317d966 mipi_dbi_spi_cmd_max_speed +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x18aa52b7 mipi_dbi_buf_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x35411fbc mipi_dbi_spi_transfer +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x3b85aa5f mipi_dbi_spi_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x5cf116d6 mipi_dbi_command_read +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7b2bf16e mipi_dbi_pipe_update +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x80d8b8bc mipi_dbi_poweron_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x82cd500b mipi_dbi_poweron_conditional_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x97d2dfb5 mipi_dbi_hw_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xa9622bbd mipi_dbi_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xb71d32d0 mipi_dbi_enable_flush +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xcad6856c mipi_dbi_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xd0fd462c mipi_dbi_display_is_on +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xe1cd9399 mipi_dbi_dev_init_with_formats +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xe923a9e4 mipi_dbi_pipe_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xf69b7ae1 mipi_dbi_command_buf +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x02cc61b4 drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x14e728d6 drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x34d4b3df drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x537b7824 drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x7b218319 drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xb364c607 drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xbc73de5e drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xc4fe7456 drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xc712ef9c drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xef7e9400 drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x4c21612c drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x6be669d9 drm_gem_ttm_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x96b025e3 drm_gem_ttm_dumb_map_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xc8d304f7 drm_gem_ttm_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xfa8bed67 drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x0d791b9c drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x1935778f drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x42a08fce drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x48c737a8 drmm_vram_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x5276fe53 drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x62edb3af drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x92565808 drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x994faaeb drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x9963fea0 drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x9e776088 drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xadfde986 drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xc93e86e9 drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xca6e8a44 drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xf89c2df2 drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xf94927f6 drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xff4d1928 drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/rockchip/rockchipdrm 0x4ac9f29e rockchip_drm_wait_vact_end +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x007fe899 drm_sched_job_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x00eb0e3b drm_sched_entity_push_job +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x1c254650 drm_sched_job_add_implicit_dependencies +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x1e9e7b42 drm_sched_entity_set_priority +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x30e30681 drm_sched_start +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x3a706287 drm_sched_entity_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x41e43458 to_drm_sched_fence +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x44eaf2d9 drm_sched_resubmit_jobs +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x578e12ed drm_sched_reset_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x58beba07 drm_sched_fault +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x5a274d88 drm_sched_entity_flush +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x5e74d50e drm_sched_resubmit_jobs_ext +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x61cb9486 drm_sched_job_arm +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x6545f4e3 drm_sched_pick_best +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x680bfee7 drm_sched_increase_karma_ext +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x6dbf5261 drm_sched_dependency_optimized +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x72784ffe drm_sched_entity_destroy +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x733c40dd drm_sched_job_cleanup +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x75d0f4a2 drm_sched_stop +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7a5183cc drm_sched_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7a531c58 drm_sched_increase_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x9245642a drm_sched_job_add_dependency +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xa01e7b6d drm_sched_suspend_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xb9d898a4 drm_sched_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xc0c29626 drm_sched_resume_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xda227bf0 drm_sched_entity_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xe0dbbb6a drm_sched_entity_modify_sched +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x5c01a873 sun4i_frontend_exit +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x88874fce sun4i_frontend_update_buffer +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x96413fdb sunxi_bt601_yuv2rgb_coef +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xa631b179 sun4i_frontend_format_is_supported +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xbf922032 sun4i_frontend_enable +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xbff9dd36 sun4i_frontend_init +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xe13164ef sun4i_frontend_of_table +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xe41dabc1 sun4i_frontend_update_formats +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xea97f882 sun4i_frontend_update_coord +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x062a41d2 sun4i_tcon_mode_set +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x330fa75f sun4i_dclk_create +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x61b2d977 sun4i_lvds_init +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x6c10c7a7 sun4i_tcon_of_table +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x7e73dc8e sun4i_rgb_init +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0xcb874c9a sun4i_tcon_enable_vblank +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0xf1499406 sun4i_dclk_free +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun8i_tcon_top 0x350e5dcd sun8i_tcon_top_of_table +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun8i_tcon_top 0x59794620 sun8i_tcon_top_de_config +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun8i_tcon_top 0x988ee446 sun8i_tcon_top_set_hdmi_src +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x051b8cf8 ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x06da35fe ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x080103f8 ttm_range_man_init_nocheck +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0c1e5584 ttm_bo_vmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0eb364c1 ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x179d9855 ttm_resource_manager_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1a71d30c ttm_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1adb6dea ttm_bo_vm_dummy_page +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x240d5453 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x268af31f ttm_bo_vunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2a09bcb7 ttm_bo_move_sync_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2ba0c30b ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3206cfa6 ttm_pool_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x332e710d ttm_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x33d34a53 ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x34abbd17 ttm_pool_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x359178d4 ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3981b69b ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3c40a526 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x49ed70db ttm_global_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4a59e368 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4c0e8fd3 ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4f348df4 ttm_lru_bulk_move_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x55c4c993 ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5a4ba61c ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5bcfa299 ttm_kmap_iter_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5ebd3aec ttm_bo_pin +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6066c7b4 ttm_device_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x62ec60eb ttm_kmap_iter_iomap_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x68fb5ce1 ttm_resource_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6f54be30 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x767a23c8 ttm_pool_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7b0a0838 ttm_resource_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7baacdae ttm_resource_manager_usage +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8023d875 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x843f0858 ttm_device_clear_dma_mappings +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x85e16c44 ttm_range_man_fini_nocheck +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8759a7a5 ttm_bo_unpin +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x97d948f2 ttm_lru_bulk_move_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9b975c87 ttm_bo_vm_access +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9de3b4e8 ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa1d8a409 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa68a94a2 ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa8ee06de ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xaf90b7c3 ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb2ea2018 ttm_resource_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb6382597 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc1f06237 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc530bf93 ttm_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcccd139b ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcd3a2ffd ttm_resource_manager_debug +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd05ae6e9 ttm_resource_manager_create_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd4028061 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd7e7ce60 ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xda5f2b83 ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xda98457a ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xde398885 ttm_device_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe045f82e ttm_resource_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe399178b ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe50274ca ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe5584350 ttm_bo_set_bulk_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe9cf6b5c ttm_resource_manager_evict_all +EXPORT_SYMBOL drivers/gpu/drm/vmwgfx/vmwgfx 0x1984f833 ttm_base_object_noref_lookup +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x0b024bac host1x_device_init +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x0e05182d host1x_client_unregister +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x1036533b host1x_syncpt_incr +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x14374aa0 __host1x_client_init +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x152c19fb host1x_channel_put +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x1912af23 host1x_syncpt_read_min +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x1e14a4c9 host1x_syncpt_read +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x1e1a426d host1x_syncpt_release_vblank_reservation +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x207a0676 host1x_driver_unregister +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x24464d01 host1x_syncpt_get_by_id +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x25eabd01 host1x_syncpt_read_max +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x273e31b5 host1x_job_put +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x2769e26f host1x_job_alloc +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x27a8d5ba host1x_job_submit +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x2e51e158 host1x_channel_stop +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x2ef833c8 host1x_job_unpin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x323dfce7 host1x_client_suspend +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x33396199 host1x_syncpt_alloc +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x43dddab4 __host1x_client_register +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x462c9ad3 host1x_syncpt_wait +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x48a90dde host1x_channel_get +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x4fd3948d host1x_fence_create +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x51de13ce host1x_syncpt_base_id +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x5814e548 host1x_channel_request +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x5c4e4cf7 host1x_bo_pin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x673ed6fc host1x_device_exit +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x6d89aa10 tegra_mipi_request +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7020899e host1x_driver_register_full +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x72e78e54 tegra_mipi_start_calibration +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7f700a7a host1x_job_get +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x9451a33e tegra_mipi_free +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x94d7e31c host1x_bo_unpin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xa1a8fcb5 host1x_job_pin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xa35531e9 host1x_client_resume +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xa733ff60 tegra_mipi_disable +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xa7eb1a5e host1x_syncpt_request +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xa8d8bf3e host1x_syncpt_get_base +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xb5754c10 host1x_job_add_wait +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xbaabe127 host1x_job_add_gather +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xbcbe65a0 tegra_mipi_finish_calibration +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xc2e1677a host1x_get_dma_mask +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xc558ce4b host1x_syncpt_get +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xcee4cde9 host1x_client_exit +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xd171834c host1x_syncpt_put +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xd3a4693c host1x_syncpt_get_by_id_noref +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xd557a708 host1x_syncpt_incr_max +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xe554e4f8 host1x_syncpt_id +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xf8a79b19 tegra_mipi_enable +EXPORT_SYMBOL drivers/hid/hid 0xf26a1b3f hid_bus_type +EXPORT_SYMBOL drivers/hv/hv_vmbus 0x1800c2cc vmbus_recvpacket +EXPORT_SYMBOL drivers/hv/hv_vmbus 0xa74854cf vmbus_sendpacket_getid +EXPORT_SYMBOL drivers/hv/hv_vmbus 0xd8eb908f vmbus_sendpacket +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x2f9e7f8e vid_which_vrm +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x446615bd vid_from_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x01568393 sch56xx_read_virtual_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x3e0e872f sch56xx_watchdog_register +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x96ec3b26 sch56xx_read_virtual_reg12 +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xaa17a737 sch56xx_write_virtual_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xb37b9b81 sch56xx_read_virtual_reg16 +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x39f23e8f i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x3a5c83b4 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x74010f6d i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xcfe8b1a3 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0xf7a59e86 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0xe777c0ff amd756_smbus +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x10a4c688 qcom_adc5_hw_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x1fcd0103 qcom_adc_tm5_gen2_temp_res_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x39885d6b qcom_adc_tm5_temp_volt_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x401dc869 qcom_vadc_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x47f699dd qcom_adc5_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x4e64cdb9 qcom_adc5_hw_settle_time_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x53546ecd qcom_adc5_avg_samples_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x70e6eca1 qcom_vadc_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xc61e7a34 qcom_adc5_prescaling_from_dt +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x07441985 iio_triggered_buffer_setup_ext +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0xc60dac54 iio_triggered_buffer_cleanup +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xb93018da iio_kfifo_free +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xf03b658f iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x4d422be9 mpu3050_dev_pm_ops +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x91a8f35a mpu3050_common_probe +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0xebe13831 mpu3050_common_remove +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x9ab6e934 hts221_pm_ops +EXPORT_SYMBOL drivers/iio/humidity/hts221 0xfc5ccb72 hts221_probe +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xca19cfae bmi160_enable_irq +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xd9093f6e bmi160_regmap_config +EXPORT_SYMBOL drivers/iio/imu/fxos8700_core 0xfeeeb663 fxos8700_regmap_config +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0xae06b6b9 st_lsm6dsx_pm_ops +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0xc9229d62 st_lsm6dsx_probe +EXPORT_SYMBOL drivers/iio/industrialio 0x02e4be0b iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x07695470 __iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x35faacd8 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x3cbf2a61 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x3faa383e iio_device_get_clock +EXPORT_SYMBOL drivers/iio/industrialio 0x45182ea6 __iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x535a064d iio_trigger_using_own +EXPORT_SYMBOL drivers/iio/industrialio 0x638bcfd4 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0x67f44f09 iio_get_time_ns +EXPORT_SYMBOL drivers/iio/industrialio 0x69a508db iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x7cf7d796 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x85210d8b iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x8db9c5fa iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0x8f604759 iio_get_time_res +EXPORT_SYMBOL drivers/iio/industrialio 0x911fecca iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x9a0282bc iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0xb889b2e8 iio_trigger_set_immutable +EXPORT_SYMBOL drivers/iio/industrialio 0xc08af147 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0xc904f303 iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xd32bdb4d iio_read_mount_matrix +EXPORT_SYMBOL drivers/iio/industrialio 0xd35b784d iio_device_set_clock +EXPORT_SYMBOL drivers/iio/industrialio 0xd6a9e8b4 iio_trigger_validate_own_device +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xfbeb239e iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio-configfs 0x35556896 iio_configfs_subsys +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x3cc57631 iio_sw_device_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x56012725 iio_unregister_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x8310923a iio_sw_device_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xd02accfe iio_register_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x2f44f983 iio_sw_trigger_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x42a2cfb5 iio_register_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x4470cc04 iio_unregister_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xd3e5742a iio_sw_trigger_destroy +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x1f9cac84 iio_triggered_event_cleanup +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0xd6fbf8e5 iio_triggered_event_setup +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x2ac49ffd bmp180_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x3616f432 bmp280_common_probe +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xc042429f bmp280_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xf4814657 bmp280_dev_pm_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1364ab87 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x4221857f ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x5289761d ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x6f5169eb ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7a580f71 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x84c94d74 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x8f340830 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9e2a9747 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa17cc173 ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xafbd0d3f ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc33d2cfd ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc8e80301 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xde00770d ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xdf68eab7 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xef0df14d ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00c004cf ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00cd25ea ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0193de01 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x020d0142 ib_port_unregister_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x032b4ca7 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x087da98f rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x09190536 rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c13df68 rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c71f345 rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c86f5cb ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0d3354a6 rdma_alloc_hw_stats_struct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0e7b4a78 rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x100580e4 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x11f8521f ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x12089a49 rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x121281c2 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x12be68b6 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x13afdf25 rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x160be40a ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x174765bd ib_dealloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x19387605 ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1a9100b2 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b037462 __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1ca5dc33 rdma_query_gid_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1d62dfb1 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1f804077 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22ed8342 ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2312097c ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x23125966 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x235b9446 rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x26908b3e ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x27c2b6d9 rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x281ca938 rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x286ec99e ib_dma_virt_map_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2956f628 rdma_link_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x29e213a9 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2af3f13f ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2c2faf8f ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2cc1e3b9 ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2d0c0b82 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2d3ba202 ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2d83cbb9 rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2d858d40 rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2f11a032 ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x30500f29 ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3103b6f5 ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x31a43fa6 rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x33b959eb ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x33dfd56f ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x36899a28 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3803691b __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3d6b8453 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f7812c7 rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x41988bb4 ib_create_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x434c5d10 zgid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x439ce33c ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4702395a ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x48eabd11 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x49bb2225 ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e155af0 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e90435c ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4f84499d ib_port_immutable_read +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50917c25 ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x52e4a101 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5530fa59 ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55bb02f3 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x587d8edf ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5896efb3 rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58df5b94 ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x59f93328 rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5a9ce679 ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5aa45196 rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5dacce95 ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5ec53e1a _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5f11290e ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5f599186 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5fe461c5 ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x60bb0ab5 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x613b1e2e ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6156faae ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61d24c52 ib_rate_to_mbps +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61dd0fdb rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61fb09d8 ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x63bae16e rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6459c823 rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x68467670 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x686ddd60 ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x69b62c08 ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6a4730db rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6a595f05 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6ae9d591 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b596a0a ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6c125f6d rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x70aa499b ib_qp_usecnt_dec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x70b9db5a rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7133080b ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x727a311d rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x739c6e85 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x73baf9a2 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x73eb822b rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7458fed8 rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x74d2e79f rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7589fd48 rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75d15104 __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x76ef120e rdma_restrack_add +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77565ad3 ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7a486991 ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7a65071e ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7c66da1d ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7cfb34c5 ib_alloc_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x80a31d41 rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x81744657 ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x83a65abf roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x84086edd rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x846dcd2c ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x853d06da ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86cef180 rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x875ceb18 rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x89a6e373 ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e7528da __rdma_block_iter_next +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90e807c7 ib_cache_gid_parse_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9258b277 __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x94116fa4 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x94bda937 ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9501347a ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x95545237 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x973e66f6 ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9871a05d rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x998a2247 ib_destroy_wq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9a621e41 ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9aa98274 __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9cae4ea6 rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9e1e6dac ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9f7fd331 rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9fc95c90 ib_port_sysfs_get_ibdev_kobj +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa085b1fb ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa1315e67 ib_alloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa17686f3 ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaad1af99 rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae6696a9 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae956dce ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaf05c646 ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb106ace2 ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb11e36ae ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb36e4148 ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb777526f ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7852a05 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb928dac1 ib_cq_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbd0642b1 ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbd2f1a6e ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbe4e6273 ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbea10565 ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc142ab21 ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc5ed48e3 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc673ae6c ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8d38664 rdma_free_hw_stats_struct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xca7611db rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcb646da2 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcbbcef3d rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcd2434e3 ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcdf722d4 rdma_restrack_parent_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcfbc053b ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcfcab991 rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd46ad53a ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd489323f rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd65e6956 ib_port_register_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6636ca6 rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd7d3df86 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd85b0e30 rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd899337f rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd92a1279 rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdac149a8 rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdada9c8b rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdb3f10f8 rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdda9acbb ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xddb7390b ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde2c26b8 ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde60b51e rdma_move_grh_sgid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdebfb4f2 rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdfe418e7 rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe03b1d53 rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe0d086a4 rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe15fba25 rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5840ec6 ib_wc_status_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5a78c1e ib_sa_unpack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe62ae72a ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7179623 ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7b52e5f mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe83f7556 rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe8ad7f7a rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe91d9b5a rdma_restrack_set_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9e799fc ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xebdbebb1 ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xec7faeef ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed754287 ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xee28f2cf rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xef6e52a7 rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xefc9f85c ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf067e9b4 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf23d368f ib_qp_usecnt_inc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf3c50858 ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf4421e15 ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf4e5853b ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5084291 ib_create_qp_kernel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5dedb30 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6ed3334 ib_event_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf8f3ac60 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf9be1c18 ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc1823f6 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc9d5042 rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfcaef3a0 rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfd2fbe83 rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfedbf0f4 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xff7680e0 rdma_restrack_new +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x0ad00ef8 uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x10240b82 _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x129ba064 ib_umem_dmabuf_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x136dfba1 ib_umem_activate_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x19c29441 ib_umem_odp_map_dma_and_lock +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x21f41341 ib_umem_dmabuf_unmap_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x22692ea8 uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x27a695b7 ib_umem_stop_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x292454e4 ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x321864ba _uverbs_get_const_unsigned +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x33173137 ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3802839b ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3f450eb2 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5e76b1f0 ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x6764c77c uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x688cd395 ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8cc19f2c ib_umem_get_peer +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8e826561 ib_umem_dmabuf_map_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x90deb0e3 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x93409917 flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa2dde949 ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa3bf10e0 ib_register_peer_memory_client +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xabac5524 uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xaedc4194 uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xafb8897a uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb16e1981 uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb2efd236 ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xba0d2c7b uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbde5c050 ib_unregister_peer_memory_client +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc0af1e49 flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc2ed11d4 ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc361a5f3 ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xdb446029 _uverbs_get_const_signed +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xdd26184d uverbs_copy_to_struct_or_zero +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xeb2e3b56 ib_umem_dmabuf_get_pinned +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf904c827 uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xfb55ff09 ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xfefdf7bb ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x131e0f16 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x1c71800a iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x1fbf7e1b iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x6ab958df iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x989d09c7 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x9c2bf6a6 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xb8882a55 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3df871f iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf73e45d3 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x018ae47e rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x090efcc3 rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0966dd1d rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0aaf2171 rdma_unlock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1123643e rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x13bdd290 rdma_set_min_rnr_timer +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x15a5bac3 rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1f2ac1e5 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1f772128 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x218f195d rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x27e75893 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2b4b161a rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2d805115 rdma_connect_locked +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x49606af9 rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x510e4070 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5369a73a rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5705d9b4 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x59a78f97 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6249a5f3 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x72967a6f rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7428ea1e rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7b73864d rdma_lock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8d507420 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x907df803 rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9c152e29 __rdma_create_kernel_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa3eae2e7 rdma_create_user_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa5018ab7 rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa51e635e rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xaff5484e rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdcde0c92 rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdea7d19d rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xdfe534a4 rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe21fdf07 rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xea99e7a5 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xefe87fc1 rdma_connect +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x11efc918 rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x2e244736 rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x34fa58d7 rtrs_clt_rdma_cq_direct +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x68f9af87 rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x94749a7e rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xa44828e0 rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xe105553b rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x0f91e2a3 rtrs_rdma_dev_pd_deinit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x242a8646 rtrs_addr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x5b01e41d sockaddr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x5cecfc51 rtrs_ib_dev_find_or_add +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x650ee488 rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x887302f3 rtrs_addr_to_sockaddr +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xcf3ed323 rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x48916995 rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x66bc7458 rtrs_srv_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x92a91baf rtrs_srv_get_path_name +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xae4b6142 rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xb7d15d79 rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xc337cb38 rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/input/gameport/gameport 0x01bdab87 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x18409173 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x1db8948d gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x2a059507 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x2cab6ac4 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x509f8860 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x61d8c0b6 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x95a5142f gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xbd7228b0 gameport_set_phys +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x63ecec22 iforce_process_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0xa332eea3 iforce_send_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0xb1bbc158 iforce_init_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0x0770270d matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x4b5b5547 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x814f23ca ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xd4752968 ad714x_probe +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x01eeca31 cma3000_init +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x892d76b2 cma3000_resume +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x89d9444e cma3000_exit +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xca3f100a cma3000_suspend +EXPORT_SYMBOL drivers/input/rmi4/rmi_core 0xcb4038a6 rmi_unregister_transport_device +EXPORT_SYMBOL drivers/input/sparse-keymap 0x28d579e9 sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xa2133e8b sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xcbbe1b0a sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0xd7d1ea03 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0xd8c51be9 sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x09fb0efc ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xf04aeb47 ad7879_pm_ops +EXPORT_SYMBOL drivers/interconnect/qcom/icc-smd-rpm 0xbf48bd67 qnoc_remove +EXPORT_SYMBOL drivers/interconnect/qcom/icc-smd-rpm 0xdc3092ef qnoc_probe +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x21559ce1 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x2d786221 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x884089d5 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x97370f7e capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xe35713a6 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x27c58fd5 isdnhdlc_decode +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x4644eea5 isdnhdlc_out_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x5b835a58 isdnhdlc_rcv_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0xef4ee223 isdnhdlc_encode +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x0b4f9a22 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x0b50020d mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x105ef7e6 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xaa1f91d1 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x287c9999 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xa91ee72b mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03a68066 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x09cbfa7b recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x26236de8 mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2d43b850 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2ddb464e mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x30d25b0d mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x313b1fde mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4161924b mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x46c839ed mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x520cc5a5 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x52e278f9 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x549afd2d dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6047df40 mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x635f5055 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x669e42b1 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x83c36b93 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9708a216 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x97b44026 recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9c928457 mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9f563843 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xae5aa9b0 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb9c5ec53 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc19d118b recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc9bc27ee mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd96e7399 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8b8397d recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf21a99ae queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfe67b1d9 mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfee5dfe8 bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x01087af0 mISDN_dsp_element_unregister +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x93df9e4b dsp_audio_law_to_s32 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb07a21b8 dsp_audio_s16_to_law +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb98308d8 mISDN_dsp_element_register +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x54a12ec4 ti_lmu_common_set_ramp +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xa2952e06 ti_lmu_common_get_ramp_params +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xcdd78905 ti_lmu_common_get_brt_res +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xced72aae ti_lmu_common_set_brightness +EXPORT_SYMBOL drivers/mailbox/mtk-cmdq-mailbox 0x382698ae cmdq_get_shift_pa +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x75f9b320 omap_mbox_enable_irq +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x84aaa615 omap_mbox_disable_irq +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0xd2feb7c7 omap_mbox_request_channel +EXPORT_SYMBOL drivers/md/dm-log 0x3f674b4e dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0x45d6f847 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x474545e5 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x69e6dbae dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x31ec33f3 dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x3c4955b6 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x800b7e32 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xa1c692da dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0xb06ff554 dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0xccbf8882 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/raid456 0x1e225509 r5c_journal_mode_set +EXPORT_SYMBOL drivers/md/raid456 0x7ff0138f raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x02663380 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x0aac1b09 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x0b685ea8 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x20db1e5a flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x444eaa35 flexcop_device_exit +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x6f5987c8 flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7743eb83 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x834aab6c flexcop_dump_reg +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xb7ca3ae1 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xc009d098 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xce0a6f67 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xdb281e2f flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xe5f2872b flexcop_i2c_request +EXPORT_SYMBOL drivers/media/common/cx2341x 0x15ac1bd0 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/common/cx2341x 0x28240e61 cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/common/cx2341x 0x37267d6e cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/common/cx2341x 0x4c7f29c1 cx2341x_handler_init +EXPORT_SYMBOL drivers/media/common/cx2341x 0x55aa7c5f cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x6a657b05 cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x7b4dd2cb cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/common/cx2341x 0xa2dede8c cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/common/cx2341x 0xcdf0ccae cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/common/cx2341x 0xdbc5583a cx2341x_update +EXPORT_SYMBOL drivers/media/common/cx2341x 0xe1fe1432 cx2341x_log_status +EXPORT_SYMBOL drivers/media/common/cypress_firmware 0xfe3862ea cypress_load_firmware +EXPORT_SYMBOL drivers/media/common/ttpci-eeprom 0x693e74ba ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/common/ttpci-eeprom 0xebe61e3b ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/common/tveeprom 0x0dbf0296 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/common/tveeprom 0x1ca0494a tveeprom_read +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x065246b8 frame_vector_create +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1b700d37 put_vaddr_frames +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1d5f9555 frame_vector_destroy +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x87eee0aa vb2_buffer_in_use +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xc2d9e090 get_vaddr_frames +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xc5e5573a frame_vector_to_pages +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xdffb744b frame_vector_to_pfns +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xfdc8e90b vb2_verify_memory_type +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x0a123a63 vb2_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x39ee0c80 vb2_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x474b3951 vb2_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xb717a717 vb2_dvb_find_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xb84858ea vb2_dvb_register_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xffbd8d52 vb2_dvb_get_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-memops 0xa21fa765 vb2_create_framevec +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-memops 0xccd197c7 vb2_destroy_framevec +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-v4l2 0xd6bc3f34 vb2_querybuf +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x02bfb89b dvb_frontend_suspend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08733236 intlog10 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08ac0050 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08ffbdd0 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x097c4354 dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x10ff3197 dvb_net_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x18acd31f dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x242baa0e dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2d3733c6 dvb_remove_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2f5cdf80 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3b93d71a dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3d7a954c dvb_frontend_resume +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x44bc7fc5 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x4991bd0f dvb_register_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x54abe4ff dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5f2b1d95 intlog2 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6181aec0 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6184433a dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6a9f708a dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7079c67d dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x70c0ada9 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7dd7cb64 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x813172d0 dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8c54b0f8 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8db2dc22 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x91a6794b dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9263a063 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9f54e02e dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa4235824 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xacee7504 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb3352dd2 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xbe64a070 dvb_device_get +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc1f70e9c dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc3f679f9 dvb_ringbuffer_write_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc6d94c34 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xd6e72362 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe138ce6b dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe275736e dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe919b78d dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xebbc2d9b dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfb09f39a dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfb9a826f dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfc6380e5 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb-frontends/ascot2e 0x07449e6f ascot2e_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/atbm8830 0x043500b9 atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x01c17844 au8522_get_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x1b666004 au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x5d013476 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x70e2c37b au8522_init +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x888edd6c au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x99ea72e2 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xaa005a88 au8522_analog_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xb970010b au8522_readreg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xfb20f0e2 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_dig 0xff1df06b au8522_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/bcm3510 0x402f397c bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22700 0x3ba960bf cx22700_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22702 0x8944aed7 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24110 0x20b92ad0 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x1ddc1ac0 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x8394e995 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24116 0x5960a7d3 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24120 0xa072e157 cx24120_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x62bcd7b9 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0xfa5f585c cx24123_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2820r 0x65d90b7f cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x696e7ef6 cxd2841er_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x6fb63610 cxd2841er_attach_t_c +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2880/cxd2880 0xccab2f52 cxd2880_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x07cc2409 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x172154a1 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x4593cd77 dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x8ea23314 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xa3cf2a8d dib0070_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x09dc7a1c dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x25ca88d2 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x37d1b733 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x6e74dbf2 dib0090_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x6fc20821 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x93133b14 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x9764897d dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xadc3de1d dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xbc361402 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xc2668560 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xc6a2975b dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xc87a4379 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xd42a00b8 dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xec5d3279 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xf269c4a7 dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mb 0xcf2c131b dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x07395866 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x486d7e94 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x4dad01cf dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x5c48ba9f dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xaf8ca2de dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xdc0cd2fc dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x2eb9a29b dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x39f6558b dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xb59d3f28 dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xdbb76a0b dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000p 0x16a8260f dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib8000 0x328c24b9 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x2185dcdb dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x2bdeb31b dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x354a073e dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x392e7b6c dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x3fd41490 dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x92248758 dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xab634970 dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xb3945b9f dib9000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xd06cd55b dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xe56e490c dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xf02fae03 dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xf259d865 dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xf921a326 dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x02628a7d dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x29d671a6 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xbc80a2f1 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xd86d3809 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xf30f45aa dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/drx39xyj/drx39xyj 0xfff18eb7 drx39xxj_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxd 0x000656ea drxd_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxk 0x5fd95265 drxk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ds3000 0x0a6f04bc ds3000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb-pll 0x2b2f4fb4 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x5dc6f32e dvb_dummy_fe_qpsk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0xf608d746 dvb_dummy_fe_ofdm_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0xfb30c142 dvb_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ec100 0x429d25ad ec100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x4896f6ec helene_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0xbe16e6a4 helene_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/horus3a 0xb8d6f464 horus3a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6405 0x49b3aec5 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6421 0xe7a29c49 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6423 0x1f6e1477 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/itd1000 0xde35a178 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ix2505v 0x92c78b37 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/l64781 0x977c3adb l64781_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lg2160 0x66ab219b lg2160_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3305 0xfecfceca lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3306a 0x32a3e79c lgdt3306a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt330x 0xc4b70e66 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gl5 0x62517c33 lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gxx 0xb8f38d76 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh25 0x4b0683f1 lnbh25_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh29 0xd798a44d lnbh29_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x04d19d59 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0xd1047475 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp22 0x03ddbfea lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x03fe9db9 m88ds3103_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0xd6b5e1dd m88ds3103_get_agc_pwm +EXPORT_SYMBOL drivers/media/dvb-frontends/m88rs2000 0x65f36533 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a16 0x03fceab9 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a20s 0x8bff2b16 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt312 0xffa3683d mt312_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt352 0xe0a1f9e6 mt352_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt200x 0xd04f87e9 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt6000 0x6df2fe4b nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51132 0x32fcf735 or51132_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51211 0x1d029887 or51211_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1409 0x8be59147 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1411 0xce93a0fe s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0xd6439a97 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0xd8c9976b s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1432 0xc0228d22 s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s921 0x884e0764 s921_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/si21xx 0x87af625d si21xx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp887x 0xfa911dd2 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb0899 0x25977a15 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6000 0xe8ccc70c stb6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6100 0xaac436b0 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0288 0xa53dcece stv0288_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0297 0xe4a41be0 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0299 0x9a1b69ce stv0299_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x2792c2c5 stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x96502692 stv0367ddb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0xa6a038a8 stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0900 0x18b60641 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv090x 0xaa066c92 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110 0x5735cd89 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110x 0xa92ceeed stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10021 0x55454765 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10023 0xf53fd159 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10048 0x8eacb6b9 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x57fd38e4 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x6c702790 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10086 0x6f9ebd06 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda665x 0xf5d1d7e6 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8083 0x54a894f9 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8261 0x209aa96e tda8261_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda826x 0x98fddb49 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ts2020 0xdd42d3f7 ts2020_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tua6100 0x7a00f7e8 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1820 0xcc0dda46 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1x93 0x9e401051 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x77291707 zd1301_demod_get_dvb_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0xd6b00fd5 zd1301_demod_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10036 0xce71c46b zl10036_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10039 0x06c61b5c zl10039_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10353 0x9287e811 zl10353_attach +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x00ce45ea flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x0a015745 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x3cb8b7ad flexcop_dma_free +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x478618d7 flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x928117fb flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xca9d3a6d flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xe2b4b089 flexcop_dma_config +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x067fd7b3 bt878 +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x5e303c6d bt878_start +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xa40c71d0 bt878_stop +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xe1a292df bt878_device_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x5eee50a7 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x7af53bf1 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x90cfc31b bttv_sub_register +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x050523d2 dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x42e832a3 dst_error_bailout +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x43a983fd dst_check_sum +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x5028f7da dst_attach +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7af56f4a dst_comm_init +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x92018f59 dst_error_recovery +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xab272288 dst_pio_disable +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xdf196973 write_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xf0d5ee1a rdc_reset_state +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xfd062774 read_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst_ca 0xf1f5ae6f dst_ca_attach +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x0a9b8c15 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x49c13683 cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x6a229e3f cx18_claim_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x9255bcef cx18_release_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xcc944eb4 cx18_ext_init +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x1ab311dc altera_ci_init +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x6ff7510d altera_ci_tuner_reset +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0xdb3faf38 altera_ci_release +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0xe66b9812 altera_ci_irq +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x34f1b40c cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x44b517f5 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x526799e0 cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x8214114b cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x97abee71 cx25821_dev_get +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x99f9ce44 cx25821_riscmem_alloc +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xae415cdc cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xdad01cf6 cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe9050411 cx25821_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x8641d202 vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0xab5ac8c5 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x5cefedcb cx88_video_mux +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x5de792d2 cx88_querycap +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xabac13c8 cx88_set_freq +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xb58eaef1 cx88_enum_input +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x07016f59 cx8802_get_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x5dcef328 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x7d833ec7 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x8c5db38b cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xbed3f2c0 cx8802_register_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xd0799b4d cx8802_start_dma +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xdd4340d5 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x00307818 cx88_shutdown +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x11971c22 cx88_ir_start +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x1bc413d7 cx88_newstation +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x28fd381d cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x3edb20a6 cx88_core_put +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x418ceab9 cx88_risc_buffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x52f4757e cx88_get_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x5d2b9f69 cx88_wakeup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x5edb7ae5 cx88_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x67efe8d9 cx88_set_scale +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7894640a cx88_core_irq +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7efed7f8 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x8272803b cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x84197300 cx88_core_get +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x8789bc78 cx88_ir_stop +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x8baed588 cx88_vdev_init +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x8d88137a cx88_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x9992afeb cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xa9686bda cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xcd4c9ec0 cx88_reset +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xd829d9cb cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xea4bf887 cx88_set_stereo +EXPORT_SYMBOL drivers/media/pci/ddbridge/ddbridge-dummy-fe 0x283ddfc9 ddbridge_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x026cc093 ivtv_vapi_result +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x3263c33a ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x34e33e26 ivtv_release_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x3be2c99c ivtv_udma_setup +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x4d085624 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x54e3a3ee ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x59e5e607 ivtv_api +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x5b86bf25 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x68dc3e95 ivtv_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x771d04ea ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x78a42eac ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x82658d93 ivtv_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x84c83e66 ivtv_claim_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xc4d350d8 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xc8f96c2b ivtv_vapi +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xd1f350ab ivtv_ext_init +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xe7e6567e ivtv_firmware_check +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x1211df5d saa7134_devlist +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x25a5220c saa_dsp_writel +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x352582a3 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x39c30c9d saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x5f285d57 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x72791398 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x730c4be3 saa7134_boards +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7f5b1ffa saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x81075bb7 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x8f1ad46b saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xb34c52ca saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xb698286a saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xf3e793f7 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xf6bcd39d saa7134_ts_register +EXPORT_SYMBOL drivers/media/platform/allegro-dvt/allegro 0x2c79d0f2 msg_type_name +EXPORT_SYMBOL drivers/media/radio/tea575x 0x24f97833 snd_tea575x_hw_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0x366c05e3 snd_tea575x_s_hw_freq_seek +EXPORT_SYMBOL drivers/media/radio/tea575x 0x4a2ed7f5 snd_tea575x_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0x4e40e611 snd_tea575x_enum_freq_bands +EXPORT_SYMBOL drivers/media/radio/tea575x 0x5aa7765b snd_tea575x_exit +EXPORT_SYMBOL drivers/media/radio/tea575x 0x96c78f54 snd_tea575x_g_tuner +EXPORT_SYMBOL drivers/media/radio/tea575x 0xce4bdd32 snd_tea575x_set_freq +EXPORT_SYMBOL drivers/media/rc/rc-core 0x01098f88 ir_raw_encode_scancode +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2fe55cf5 ir_raw_gen_pd +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7a02ee87 ir_raw_gen_pl +EXPORT_SYMBOL drivers/media/rc/rc-core 0x8b29cbac ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0x9b6cd927 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0xb5516017 ir_raw_encode_carrier +EXPORT_SYMBOL drivers/media/rc/rc-core 0xce3696f3 ir_raw_gen_manchester +EXPORT_SYMBOL drivers/media/tuners/fc0011 0xa7b8ef58 fc0011_attach +EXPORT_SYMBOL drivers/media/tuners/fc0012 0xcc27ef21 fc0012_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x5e6ee398 fc0013_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x8956c102 fc0013_rc_cal_reset +EXPORT_SYMBOL drivers/media/tuners/fc0013 0xa390ec14 fc0013_rc_cal_add +EXPORT_SYMBOL drivers/media/tuners/max2165 0x05be495e max2165_attach +EXPORT_SYMBOL drivers/media/tuners/mc44s803 0x0fcf135f mc44s803_attach +EXPORT_SYMBOL drivers/media/tuners/mt2060 0xd3018387 mt2060_attach +EXPORT_SYMBOL drivers/media/tuners/mt2131 0xce9d118f mt2131_attach +EXPORT_SYMBOL drivers/media/tuners/mt2266 0xf99b1cdf mt2266_attach +EXPORT_SYMBOL drivers/media/tuners/mxl5005s 0x61eeab24 mxl5005s_attach +EXPORT_SYMBOL drivers/media/tuners/qt1010 0x548d4fdb qt1010_attach +EXPORT_SYMBOL drivers/media/tuners/tda18218 0x121e02fb tda18218_attach +EXPORT_SYMBOL drivers/media/tuners/tuner-types 0x4c48939e tuners +EXPORT_SYMBOL drivers/media/tuners/tuner-types 0xc2821775 tuner_count +EXPORT_SYMBOL drivers/media/tuners/xc2028 0x11622a56 xc2028_attach +EXPORT_SYMBOL drivers/media/tuners/xc4000 0x44b51915 xc4000_attach +EXPORT_SYMBOL drivers/media/tuners/xc5000 0x8d97b2ac xc5000_attach +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x35717776 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0xece524a5 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x0a8e826f dvb_usbv2_generic_write_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x177de82f dvb_usbv2_suspend +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x1b75eca6 dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x47108864 dvb_usbv2_probe +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x61394bbe dvb_usbv2_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xb2c82949 dvb_usbv2_generic_rw_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xb6cbc580 dvb_usbv2_disconnect +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xbdc049ca dvb_usbv2_reset_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xf62cbf02 dvb_usbv2_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x35c11c5a dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x4950bfdc dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x6de46c8c dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x8b6f5395 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x8fa20ccf dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xd4fbf1da dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xdb347942 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x341530cb rc_map_af9005_table +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0xc195c5d7 af9005_rc_decode +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0xd4e288db rc_map_af9005_table_size +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x394df1fe dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x4c15fb9e dibusb_pid_filter +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x54cbb35a dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x85300bff dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x869b914f dibusb_rc_query +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x93822ecb rc_map_dibusb_table +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xa910f206 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xb8d9786b dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xf716189c dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xf7412d83 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0xa8d67bb8 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0xda8cddde dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x37dae48d em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x6e88ba25 em28xx_register_extension +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x1b327684 go7007_read_interrupt +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x3935f850 go7007_parse_video_stream +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x64196376 go7007_snd_init +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x88206a98 go7007_snd_remove +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xa41a2fbd go7007_update_board +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xa6c76441 go7007_register_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xc6735650 go7007_boot_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xd1186b11 go7007_alloc +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xfb55ab3f go7007_read_addr +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x06bab37e gspca_frame_add +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x0881334a gspca_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x22e415ee gspca_dev_probe +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x44d5e79e gspca_suspend +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x6ad0e521 gspca_disconnect +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x8837f56c gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xcea5a416 gspca_resume +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xfc788ae9 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x1b1d01c7 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x326150ad tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0xcedd3ec3 tm6000_register_extension +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0xd1120043 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0xfad50189 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x718d7415 v4l2_async_unregister_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x8aab4888 v4l2_async_nf_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x8b6bc62c v4l2_async_nf_init +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0xab2d5954 v4l2_async_register_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0xc2c3c809 v4l2_async_subdev_nf_register +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0xc81d309c v4l2_async_nf_register +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x512900f8 v4l2_m2m_buf_done_and_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x5352d022 v4l2_m2m_resume +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x8a6e0817 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xa924900b v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xade4b2c9 v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xf626dd03 v4l2_m2m_suspend +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x01b7e036 v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x082737e8 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0852837d __v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x08da8c0a __v4l2_ctrl_modify_range +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x11303e99 v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x152678ba v4l2_ctrl_new_std_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x16814c72 v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x17d8acb1 video_unregister_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1af1df26 v4l2_ctrl_notify +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1b24831b v4l2_ctrl_g_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x20027233 video_device_alloc +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x23ffbbe7 video_device_release +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x27c52eb5 v4l2_ctrl_subdev_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x28b12cc9 v4l2_format_info +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2e24b21e v4l2_ctrl_subdev_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x315de2cf v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x32d43420 v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3bdd0f94 v4l2_prio_change +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3d8ff10e video_devdata +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3dba06bc v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3f2a726d v4l2_ctrl_new_std_menu_items +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4aedf5a0 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4b0436ff v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4b50a95f v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5525f755 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5d427e3e video_ioctl2 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6f160c4a v4l2_queryctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6faa7478 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x707badb0 v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7bf168dc __v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x81d916c1 __v4l2_ctrl_s_ctrl_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x867c304f v4l2_subdev_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x879f9b74 v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x89e3897d v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8bdef8ea v4l2_subdev_call_wrappers +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8dace13a v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8fcf2390 v4l2_query_ext_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8fd71d0d __v4l2_ctrl_s_ctrl_string +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x91e405f3 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x929ad8d9 v4l2_ctrl_request_complete +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x97e53fac v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x99ca2927 v4l2_ctrl_handler_init_class +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9d545107 v4l2_ctrl_new_fwnode_properties +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa0291110 v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa4843226 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xaaade60c v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbb135fb1 v4l2_querymenu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbc5671dc v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbe122e97 v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc7ce5a6a video_device_release_empty +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcd4d9c11 v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcf7d3492 v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd138e316 v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd16d9c01 v4l2_ctrl_get_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xde36efe3 v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xebbc2706 v4l2_ctrl_request_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf4e2f4b5 v4l2_ctrl_radio_filter +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf50fecbc v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf7996ffc v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf7f95b37 __v4l2_ctrl_s_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xfee25bc2 __video_register_device +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0x29be8e03 rpcif_dirmap_read +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0x7e9f5bc0 rpcif_manual_xfer +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0x94820317 rpcif_prepare +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0xae181ff4 rpcif_hw_init +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0xcfc98a62 rpcif_sw_init +EXPORT_SYMBOL drivers/memstick/core/memstick 0x09c9a58d memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x346cba85 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4a4e5778 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5704d477 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5a9819f9 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5b688777 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5d91683d memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x62916a59 memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x84326b95 memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x8bfe698f memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa0444b32 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xae50437c memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe5634f6a memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0xf360f94d memstick_add_host +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x013b6f0d mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0a989f08 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2b7db948 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2c814f57 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x30a3ada9 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3e6b07b1 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4cc47082 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x537e2486 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5fd9b39b mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x610b257e mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x74a0134a mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x76d6ee91 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x77d04ef0 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x81eba084 mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x87fcfc12 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x94a72fab mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x95fd4425 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x981efe92 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9c661f0e mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x9ebbccf1 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa43bc993 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xadd1a457 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb02698d6 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb23152ba mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb46a5a3e mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xcfd6413d mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd27718f9 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd3b0b2f8 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe4a49874 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe6c1e126 mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xeaa3bb9d mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xebcd1424 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xeec602c1 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1f892687 mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x23a54251 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3449d806 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3a53c351 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x51283dc4 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5dc7516f mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x66c54665 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x68117b2c mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x700424a7 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7395f8f8 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x76be81e5 mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x76dfa000 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x84d1e86a mptscsih_host_attr_groups +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8af7b908 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x946654aa mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x964e903e mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa1602737 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa873c582 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xacdf5c71 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xbe2306e6 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc1f5a34d mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc20d43b2 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd955da0f mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe122aa1b mptscsih_show_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf7119fd6 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf8d1c9e7 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xfb51edb7 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/mfd/axp20x 0x4d443acc axp20x_device_remove +EXPORT_SYMBOL drivers/mfd/axp20x 0xb90e40d8 axp20x_match_device +EXPORT_SYMBOL drivers/mfd/axp20x 0xf812747c axp20x_device_probe +EXPORT_SYMBOL drivers/mfd/dln2 0x12baada0 dln2_register_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0x15ff6814 dln2_unregister_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0x26a5a808 dln2_transfer +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x33baec2f pasic3_write_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xa859d268 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x140c6f6f mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x1a275480 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x1b578bfe mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x37d0c64f mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x4bbfe8de mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x71ec7acd mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7d327085 mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x8673336f mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xa99d578f mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xae4fdb47 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xc17f67eb mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/qcom_rpm 0xd520f912 qcom_rpm_write +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0x0c6ad2cf tps65010_config_vdcdc2 +EXPORT_SYMBOL drivers/mfd/tps65010 0x28485130 tps65010_config_vregs1 +EXPORT_SYMBOL drivers/mfd/tps65010 0x33739de7 tps65010_set_vib +EXPORT_SYMBOL drivers/mfd/tps65010 0x9fd44c69 tps65010_set_led +EXPORT_SYMBOL drivers/mfd/tps65010 0xb14080cc tps65010_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0xd5bb106d tps65010_set_vbus_draw +EXPORT_SYMBOL drivers/mfd/tps65010 0xe99b3f36 tps65010_set_gpio_out_value +EXPORT_SYMBOL drivers/mfd/wm8994 0x4f778d98 wm8958_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x6c2e3365 wm8994_base_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x77f1c36f wm8994_irq_init +EXPORT_SYMBOL drivers/mfd/wm8994 0x7d4d3601 wm8994_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x816b9a6c wm8994_irq_exit +EXPORT_SYMBOL drivers/mfd/wm8994 0xd0158fb5 wm1811_regmap_config +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x46aab480 ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x7c2cfa6b ad_dpot_probe +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x5bafa76e altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x63f4a2b3 c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0xf5188fbf c2port_device_unregister +EXPORT_SYMBOL drivers/misc/tifm_core 0x09835e85 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x0d1c1132 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x0ffb277f tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x1fe3548d tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x2307c05d tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x2dd79606 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x3e5fabc5 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x510fd160 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x5b904b5c tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x652cb4cf tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x7d47fd7a tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x82bc41f6 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0xff76ec33 tifm_unmap_sg +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x037ee50f cqhci_pltfm_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x28dd094f cqhci_deactivate +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x73d26036 cqhci_resume +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x92b264a8 cqhci_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x9bb6977a cqhci_irq +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x319b00c7 dw_mci_probe +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x6c8dc920 dw_mci_remove +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x930213e4 dw_mci_runtime_suspend +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0xd325ee09 dw_mci_runtime_resume +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x4e026400 mmc_spi_put_pdata +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x72a65870 mmc_spi_get_pdata +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x03dd7d14 cfi_build_cmd_addr +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x1f8cf74c cfi_merge_status +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x70a47493 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x804d46e6 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x9c14ba4d cfi_build_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xd1d6edc7 cfi_send_gen_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xf555cd0c cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xff9fa623 cfi_udelay +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x3a2b915f register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x7b1089f1 map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x9feda431 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xb3754a2e unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0xd12d9b6e mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x98cf57ad lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0xd03be20c simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x2728d775 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/mtd 0x4e2e8a85 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x102603bc mtk_ecc_get_parity_bits +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x5437e775 mtk_ecc_disable +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x5de55d81 mtk_ecc_get_stats +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x6df58afb mtk_ecc_release +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x750dc7a8 of_mtk_ecc_get +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x76e53683 mtk_ecc_wait_done +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x8dcc87d2 mtk_ecc_enable +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0xda64ef4a mtk_ecc_adjust_strength +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0xec8b9207 mtk_ecc_encode +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x1f853027 nand_ecc_sw_hamming_calculate +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x20c58f8a nand_ecc_sw_hamming_get_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x32254a96 nand_ecc_finish_io_req +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x45e741cb nand_ecc_init_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x57065109 nand_ecc_cleanup_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x697b7cc8 nand_ecc_put_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x89a9958c nand_ecc_unregister_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x8b4e3c5e nand_ecc_sw_hamming_correct +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xa49f270c nand_ecc_sw_bch_correct +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xb3c779a9 nand_ecc_prepare_io_req +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xc6d68811 nand_ecc_sw_bch_init_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xc7371769 of_get_nand_ecc_user_config +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xc82996c7 nand_ecc_sw_bch_get_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xc971b1c5 nand_ecc_is_strong_enough +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xcbf10913 nand_ecc_sw_hamming_init_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xcd9fbc24 nand_ecc_get_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xd4075b2c nand_ecc_get_sw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xe0200d31 nand_ecc_sw_hamming_cleanup_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xe6db989b ecc_sw_hamming_correct +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xea4af81f nand_ecc_sw_bch_cleanup_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xec89cbbc nand_ecc_sw_bch_calculate +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xef5492c7 nand_ecc_register_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xfbb48d86 nand_ecc_get_on_die_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xff4351b0 ecc_sw_hamming_calculate +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xb4a4c90d onenand_addr +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xb6c90d7f flexonenand_region +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x30db096f denali_calc_ecc_bytes +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0xaaf782db denali_remove +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0xccb4a55f denali_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x02ac4a76 nand_monolithic_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x0d2e3682 nand_create_bbt +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x0d7fe2de rawnand_sw_hamming_calculate +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x207d653f rawnand_sw_hamming_correct +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x2b1adcea rawnand_sw_hamming_cleanup +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x3acdebfe nand_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x5ec81ae9 rawnand_sw_bch_correct +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x7be97bb2 rawnand_sw_hamming_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8dbe1db9 nand_read_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8ecbb3b8 nand_check_erased_ecc_chunk +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x96f66310 nand_get_set_features_notsupp +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x9d1e46f3 nand_monolithic_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x9ef097e3 rawnand_sw_bch_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xa2159a6d nand_scan_with_ids +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xb26d6779 nand_write_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xd2091ed1 rawnand_sw_bch_cleanup +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xd2f9bdf4 rawnand_dt_parse_gpio_cs +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xfe790f35 nand_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/omap_elm 0x6a39d62c elm_config +EXPORT_SYMBOL drivers/mtd/nand/raw/omap_elm 0x7b685723 elm_decode_bch_error_page +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x26ce0040 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x4eff6d95 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x56fb9671 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6c7b8f68 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x7096f953 free_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x871e509c arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x8e15c27d alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xa9c93c43 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xb479025d arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xdc0ec941 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xf4cc0f83 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x9c0881f7 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xb8560407 com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0xb89a8408 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0x028749d1 ctucan_suspend +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0x381e9696 ctucan_resume +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0xdec17db4 ctucan_probe_common +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x07e4dfc1 b53_mdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x08c19076 b53_port_event +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0b69e744 b53_vlan_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0c8b6d2d b53_eee_enable_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0de5ab36 b53_get_strings +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x13136fb2 b53_disable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x14cb71af b53_switch_detect +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x183e0c2b b53_br_fast_age +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x1f356027 b53_setup_devlink_resources +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2a81f821 b53_br_leave +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x33f32fb4 b53_get_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x477d2167 b53_get_tag_protocol +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x47af67d7 b53_imp_vlan_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4953bb82 b53_br_set_stp_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5992107a b53_br_flags +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5c3b07d0 b53_enable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5d97e47d b53_br_flags_pre +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x682e668d b53_configure_vlan +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7021f2e1 b53_fdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x710df25f b53_mdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7dfb77ff b53_phylink_mac_link_down +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7f3dd624 b53_vlan_filtering +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x80ef19ee b53_eee_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x8be79e00 b53_vlan_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x95883893 b53_phylink_mac_link_up +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x98da31d7 b53_fdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xa1a36617 b53_get_sset_count +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xaf5a6ba5 b53_fdb_dump +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc249c985 b53_phylink_mac_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd6f91026 b53_set_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd98e19d1 b53_switch_register +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xdf3c3f80 b53_brcm_hdr_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe0f09bdf b53_get_ethtool_phy_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe3be0152 b53_mirror_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe560f956 b53_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe761d5e4 b53_br_join +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xeb2bb1ef b53_get_ethtool_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xee94b1e7 b53_mirror_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x45fb2349 b53_serdes_link_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x4c1216ad b53_serdes_phylink_get_caps +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x95ff4958 b53_serdes_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xda809f86 b53_serdes_phylink_mac_select_pcs +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x553a9fdc lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x90cfbdd6 lan9303_remove +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xada83f40 lan9303_register_set +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xbbc7ec2f lan9303_shutdown +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0xd9d564be ksz8_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0x9ad599ce ksz9477_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x1a182b61 ksz_switch_remove +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x6955c88c ksz_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x81ddfb4e ksz_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x50e3abf2 vsc73xx_shutdown +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x813b885a vsc73xx_probe +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x99d242fe vsc73xx_is_addr_valid +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0xcae336ff vsc73xx_remove +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x5863089d xrs700x_switch_remove +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x5e34a05a xrs700x_switch_shutdown +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x83b7b667 xrs7003f_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x8708440c xrs700x_switch_register +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x8972bf7e xrs7004f_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xb25facfa xrs7003e_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xb89aa5e3 xrs7004e_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xe1290365 xrs700x_switch_alloc +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x11751270 ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x19918017 ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x372ee902 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x3daea55a __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x631c06a9 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xa7480f61 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xcc640d69 ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xdf4aeb16 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xef10c55e ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xf3ecbc25 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/aquantia/atlantic/atlantic 0x9b089d76 aq_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnxt/bnxt_en 0x4fc88a68 bnxt_ulp_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x7fba6844 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0x3f0e89ab cavium_ptp_put +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0xcd5fc320 cavium_ptp_get +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x0d8be5fd bgx_lmac_rx_tx_enable +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x34eeb48a bgx_set_dmac_cam_filter +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x42264715 bgx_get_lmac_count +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x46cdf933 bgx_config_timestamping +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x539ca253 bgx_get_lmac_mac +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x60cd1f2f bgx_lmac_get_pfc +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x6ca2152d bgx_lmac_set_pfc +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x716fd7f0 bgx_reset_xcast_mode +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x72b238e4 bgx_get_rx_stats +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xbe654297 bgx_get_tx_stats +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xc397f585 bgx_lmac_internal_loopback +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xc82be691 bgx_get_map +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xd8ed0bcc bgx_set_lmac_mac +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xf101d1b2 bgx_get_lmac_link_state +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xff987a02 bgx_set_xcast_mode +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_xcv 0x13912e4b xcv_init_hw +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_xcv 0x4f739dc0 xcv_setup_link +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x01185158 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x14da010d cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x15648c33 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x1f4f5c1a cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x44a2fda3 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4577541d cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4c666b5f dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x699f35f0 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x8e29bb9b t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x9f8d3668 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xab44bbc7 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xd17eb30d t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xdc0ef4e9 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xe3e51157 cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xe5152e9a cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xf92b8c61 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0455b17d cxgb4_get_srq_entry +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x06a1d0a7 cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0704eb34 cxgb4_remove_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0cb66149 cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0efe1682 cxgb4_inline_tx_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0f1a5528 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x12789bb2 cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1bee5daa cxgb4_smt_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x27e9fa0d cxgb4_read_sge_timestamp +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2aa0992b cxgb4_immdata_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2e164ecd cxgb4_map_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3d34c562 cxgb4_reclaim_completed_tx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x42d7ff30 cxgb4_remove_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4afbc76b cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4c221c54 cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50ee5c07 cxgb4_best_aligned_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5f6643df cxgb4_ring_tx_db +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x662d6307 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x696d94f7 cxgb4_create_server6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6cc94e81 cxgb4_update_root_dev_clip +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6f69514c cxgb4_create_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x71e71dcd cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x76851205 cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x78d28a38 cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x79c0d0f4 cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7a643437 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8a143c61 cxgb4_check_l2t_valid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8cafa49f cxgb4_write_partial_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa8db193f cxgb4_smt_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xaba62ce1 cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xadfbcddf cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb6a1a18e cxgb4_read_tpte +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbcb2ecde cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc0877e31 cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc2c22935 cxgb4_clip_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc92ff5b4 cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xcd2bde52 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd7bb9b55 cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xdf4916c3 cxgb4_port_e2cchan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xdffd7161 cxgb4_clip_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe2c7c229 cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe44d32bf cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xeaea9c64 cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xeff3ac60 cxgb4_alloc_sftid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf09979e5 t4_cleanup_clip_tbl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf6a95535 cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfb79e0e0 cxgb4_l2t_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfb91c908 cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfc43e409 cxgb4_write_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x163bcdc8 cxgb_find_route +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x182a5ec4 cxgbi_ppm_ppod_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x1bdaafe1 cxgbi_tagmask_set +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x255ab30f cxgb_get_4tuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x26e66da4 cxgbi_ppm_make_ppod_hdr +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x6b1c1fb6 cxgbi_ppm_ppods_reserve +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x6ff41750 cxgbi_ppm_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xcb97fe6b cxgb_find_route6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xe2ee4ae0 cxgbi_ppm_release +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x2abb7c4f vnic_dev_get_res_count +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x3a2560d7 vnic_dev_register +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x42b6fd90 vnic_dev_unregister +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xc405ef3f vnic_dev_get_res +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xf2883b24 vnic_dev_get_pdev +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xfe1f4081 enic_api_devcmd_proxy_by_index +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x4e2e10d2 be_roce_mcc_cmd +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0xc86af67a be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0xfb67cd41 be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/freescale/dpaa2/fsl-dpaa2-eth 0x2009416b dpaa2_ptp +EXPORT_SYMBOL drivers/net/ethernet/freescale/dpaa2/fsl-dpaa2-eth 0x4412391e dpaa2_phc_index +EXPORT_SYMBOL drivers/net/ethernet/freescale/enetc/fsl-enetc-ierb 0xfc531f8a enetc_ierb_register_pf +EXPORT_SYMBOL drivers/net/ethernet/freescale/enetc/fsl-enetc-ptp 0x5431a304 enetc_phc_index +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x20f87ebd fun_dev_enable +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0xe266b081 fun_release_irqs +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0xe872c5a0 fun_reserve_irqs +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0xf7ee0607 fun_dev_disable +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x07da18f2 hnae_ae_unregister +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x18ca37dd hnae_put_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x76863f5d hnae_reinit_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x7874303c hnae_get_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xb1266858 hnae_register_notifier +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xd1a3ce33 hnae_ae_register +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xdf24adef hnae_unregister_notifier +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hns_dsaf 0xb70ce8aa hns_dsaf_roce_reset +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x2363062e hnae3_unregister_ae_algo +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x2415a219 hnae3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x24285017 hnae3_unregister_ae_algo_prepare +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x5d378ba0 hnae3_register_ae_algo +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x60fc8f57 hnae3_register_ae_dev +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0xb3edb9b0 hnae3_register_client +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0xedc7fa4f hnae3_set_client_init_flag +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0xf70494fe hnae3_unregister_ae_dev +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x51b6a2e7 iavf_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x8119cb4c iavf_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/ice/ice 0x965ff908 ice_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/intel/ixgbe/ixgbe 0xbaa35511 ixgbe_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x0a20b6ec otx2_mbox_destroy +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x0f0ee58f otx2_mbox_nonempty +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x16f35e15 otx2_mbox_check_rsp_msgs +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x27852f8f otx2_reply_invalid_msg +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x2cbcc653 otx2_mbox_msg_send +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x364e8761 __SCK__tp_func_otx2_msg_interrupt +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x49286d3c __tracepoint_otx2_msg_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x4d90631b __tracepoint_otx2_msg_interrupt +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x6365a74f __SCK__tp_func_otx2_msg_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x63d5f826 __otx2_mbox_reset +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x730fe319 __traceiter_otx2_msg_process +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x7dffd644 __traceiter_otx2_msg_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x8322ec49 otx2_mbox_get_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x8f772a3f otx2_mbox_id2name +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x965f271f __traceiter_otx2_msg_interrupt +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x9762901c otx2_mbox_init +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xa1c813a0 otx2_mbox_reset +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xaf7fe1a4 otx2_mbox_regions_init +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xb150b38c __tracepoint_otx2_msg_process +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xcef3985a __SCK__tp_func_otx2_msg_process +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xdaa00b3d otx2_mbox_wait_for_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xef05c2f2 otx2_mbox_alloc_msg_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xfb7fc9ae otx2_mbox_busy_poll_for_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x0492e9d4 otx2_config_pause_frm +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x08851068 otx2_nix_config_bp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x0e2c818b otx2_handle_ntuple_tc_features +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x2a35c0d4 mbox_handler_nix_bp_enable +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x2b2a4932 otx2_stop +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x2e952a32 otx2_set_real_num_queues +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x30193f51 otx2_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x5275f69d mbox_handler_nix_lf_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x5e22bafc otx2_mbox_up_handler_cgx_link_event +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x6064b647 otx2_config_hwtstamp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x67d9403a otx2_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x6b3f4e71 mbox_handler_nix_txsch_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x6bae1893 otx2_tc_alloc_ent_bitmap +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x728e510d otx2_alloc_mcam_entries +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x884390c2 otx2_ioctl +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x8a3a5ae4 otx2_attach_npa_nix +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x93897e42 mbox_handler_npa_lf_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x94673930 otx2_set_mac_address +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x947e9601 otx2vf_mcam_flow_init +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x98eb537a otx2_sq_append_skb +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x996c5b39 otx2vf_set_ethtool_ops +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xa882741c otx2_setup_tc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xac143d85 mbox_handler_msix_offset +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xcf835cdb otx2_mcam_flow_del +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xd1fd5d44 otx2_open +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xe3ba041e otx2_init_tc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xea1c0564 otx2_get_mac_from_af +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xee21d291 cn10k_lmtst_init +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xeffd130b otx2_get_maxflows +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xf51b54dc otx2_get_stats64 +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xf918c43b otx2_shutdown_tc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xfbc8d949 otx2_detach_resources +EXPORT_SYMBOL drivers/net/ethernet/marvell/prestera/prestera 0x35623c38 prestera_device_unregister +EXPORT_SYMBOL drivers/net/ethernet/marvell/prestera/prestera 0xd07d24d3 prestera_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x045e618e mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x064cd07b mlx4_gen_port_state_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0b9b2533 get_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x19f32881 set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x23a180ea mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2b5fed1f mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2d1237c7 mlx4_get_parav_qkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2dcca217 mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2f395965 mlx4_test_async +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x41be9140 set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4293bcc3 mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x465f0f3a mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x467b7d31 mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4b84cfe9 mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6003b5c3 mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x68104629 mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6a4dac28 mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6c7ce251 mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6dbdaf5e mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x73764e50 mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x762cef01 mlx4_SET_PORT_user_mtu +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fdde0b4 mlx4_handle_eth_header_mcast_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x81cacb13 mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x83b19d4b mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x85eaedfb mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x86a01da5 mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x87e1f4ff mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8c767f2b mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8ed99c37 mlx4_SET_PORT_user_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9ab24605 mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9bfef1aa mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9cb3959e mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa289c74e mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa467c98e mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa9121ed1 mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaabef439 mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb1928090 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb5fc8155 mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb756bd43 mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd620f54d mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd66efb2d mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdc26046a mlx4_sync_pkey_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdeeeb66c mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdf5b0df2 mlx4_get_eqs_per_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf13c8718 mlx4_query_diag_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x038ae208 mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x047990da mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0513c343 mlx5_vf_put_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x080baf32 mlx5_debugfs_get_dev_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0926c6c3 mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x098a8fa6 mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x09e6dbaf mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0a21b020 __traceiter_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0d6de6ee __traceiter_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0eb202ce mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x10493d62 mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x139452b7 mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1537e7ab mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x167f34bb mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x186b61ec mlx5_eswitch_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1a7135c7 mlx5_lag_is_master +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1afb717e mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1c57c524 __traceiter_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e38486c __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1ebbfbf0 mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1fa86d37 mlx5_eswitch_get_vport_metadata_for_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x22bce683 __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x233dcffa mlx5_core_alloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x290b74d1 mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2a8ffc80 mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2d6465b2 mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2e4aa53b mlx5_rsc_dump_next +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x30c60c90 mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x313394de mlx5_create_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x329b1456 mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x32fc77d1 __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x334873ca mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3475821f __SCK__tp_func_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x36e5579e mlx5_rsc_dump_cmd_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3956791e __traceiter_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3967fd0e mlx5_mpfs_del_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x39b20723 mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4041a754 mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x436d0996 mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4539f89a mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4d5f5c07 __SCK__tp_func_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5136108a mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x52a0a985 mlx5_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x531901e4 mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x558fcd6c mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x559ac38d __SCK__tp_func_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x57429045 mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x57de3a07 mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x59927de4 mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5b6994df mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5c3b5971 mlx5_mpfs_add_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5c6e2b0d mlx5_create_flow_group +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5ca6b7c7 mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x60ca6741 mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x61492bb7 mlx5_rl_are_equal +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x64cb2dc8 mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x654839f7 mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x65ed3d35 mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6992e513 mlx5_lag_is_shared_fdb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6abf57a4 mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6bfd3957 mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6e47e028 mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6e805c76 mlx5_cmd_do +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6ef88439 __traceiter_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6fd98065 mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x715d78ae mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7261330b __SCK__tp_func_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x73d35f29 mlx5_query_ib_port_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x78feec54 mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7b359a09 __SCK__tp_func_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7b49383f mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7be0b42b mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7cc89ab6 mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fd709fe __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x80e7aed3 mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x831dbe4f mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x84b00019 mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x84d57e1a mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8573e072 mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8727768f mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x872e7c67 __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8cefc60a mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8e8493ce mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9045f85f mlx5_cmd_out_err +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x91ae3ea5 mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x92c9537b mlx5_sriov_blocking_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x93b5c3d3 mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96eb2c99 mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x970e5d3d mlx5_cmd_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9989e469 mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x99bbfdaf mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9b90fa76 mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9ca69338 mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9ccbb7f4 mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d6135dc __SCK__tp_func_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9f4f12f0 mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa182d892 mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa1b36560 mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa2afdde2 mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa376089e mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xab521f6e __traceiter_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xab5423d5 mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xad6815cd mlx5_rsc_dump_cmd_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaddb2618 mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xae69fa36 mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb07fa702 mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb0f2b4ce mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb28dbbe8 mlx5_destroy_flow_group +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb588c496 mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb72cffaf __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba5c2f4f __traceiter_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbb475e47 __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbc8482f9 mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbe67bf2b mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbeabe085 mlx5_is_roce_on +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc0d0f6e4 mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc1265eba mlx5_lag_get_num_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc2f0d45a mlx5_vf_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc3130414 mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc3b4ceed mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc4a5cad8 mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc5024054 mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc571fd0a mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc696a15f mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc7cae7d0 mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc9b59f12 mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcb259f43 mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc002b85 mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xccade638 mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xce7a378e mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcf45182f mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd020dd1f __traceiter_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd21c48af mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd3e5c39b mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd6c3be3d __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd9a49bda mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdb39f2ae mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdba246fc mlx5_sriov_blocking_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdf8601cc mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe1f3422e mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe23b336b mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe36d8558 mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe4d824a2 mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe4e09c2b __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe5960096 mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe5ad0cad mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe9dc4691 __traceiter_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeb9a8bcf __SCK__tp_func_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf19e6abf mlx5_lag_get_peer_mdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf1afc305 mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf5162a27 mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf5c8434d mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf720779d mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf7422572 mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf88d57b1 __SCK__tp_func_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfb728faf mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfc2f00f5 mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfc8e744e __SCK__tp_func_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfd0533ea mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0xaf1a42d8 mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0137f952 mlxsw_afk_values_add_buf +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02815b77 mlxsw_env_module_port_up +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02dfd3d0 mlxsw_afk_key_info_block_encoding_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x07abcc0c mlxsw_afa_block_append_trap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x087c0c78 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0a61af59 mlxsw_core_bus_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0ca34ccf mlxsw_core_max_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x10d3c264 mlxsw_core_port_is_xm +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x14e17bb4 mlxsw_linecards_event_ops_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x15801382 mlxsw_afk_key_info_put +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x16d610f7 mlxsw_core_trap_state_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x18b0ad00 mlxsw_afa_block_append_police +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x198b8935 mlxsw_core_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x19fa5852 mlxsw_core_flush_owq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1b482e2a mlxsw_core_traps_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1c6605f6 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1cb8f858 mlxsw_reg_trans_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x202693f0 mlxsw_afa_block_cur_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x21daf3af mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2a2f322d mlxsw_core_trap_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2a4ddd44 mlxsw_env_get_module_power_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x38185d87 mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4036254f mlxsw_linecards_event_ops_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x406b4614 mlxsw_afa_block_append_counter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x43a9b87e mlxsw_afa_block_terminate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4556eb54 mlxsw_core_rx_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x47041e4e mlxsw_afk_key_info_blocks_count_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x484489a4 mlxsw_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4b0bae55 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4e6be521 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x508923e3 mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x51b5769d mlxsw_env_module_overheat_counter_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x55a65610 mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5a099407 mlxsw_afa_block_append_qos_dscp +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5a939205 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5cf3dd79 mlxsw_core_bus_device_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5ff17b5c mlxsw_afa_block_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x618a30ab mlxsw_afa_block_commit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x628c744b mlxsw_core_trap_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x63874d4c mlxsw_core_port_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x65e16da4 mlxsw_afk_key_info_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6929f2b4 mlxsw_env_module_port_map +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6a86a5f4 mlxsw_core_ptp_transmitted +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x72d2fe4f mlxsw_core_skb_transmit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73489011 mlxsw_afa_block_append_ip +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x75339042 mlxsw_core_lag_mapping_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77d83398 mlxsw_core_read_frc_l +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7b0bfeec mlxsw_core_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7ca5b4d4 mlxsw_afa_block_append_sampler +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7e08c6e0 mlxsw_core_event_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7f659d4c mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x827a2f1f mlxsw_afa_block_jump +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x829e8851 mlxsw_afa_block_first_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x83fb69af mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x858c30d0 mlxsw_afa_block_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8854d198 mlxsw_reg_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8eab4b8d mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x902c3533 mlxsw_core_schedule_dw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x963cfb6a mlxsw_core_resources_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x97035a9c mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x97e62e6e mlxsw_env_get_module_eeprom_by_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x98bfa19b mlxsw_env_set_module_power_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x996c5d6d mlxsw_reg_trans_bulk_wait +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x9cbf026d mlxsw_afa_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x9e41f494 mlxsw_afk_encode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa00deaca mlxsw_core_rx_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7765e88 mlxsw_reg_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa8cccf0b mlxsw_core_port_devlink_port_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xac1074a5 mlxsw_core_skb_transmit_busy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb6517b2e mlxsw_afa_block_append_trap_and_forward +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb68e9fa8 mlxsw_env_module_port_unmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb6b40684 mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb97a47aa mlxsw_core_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xba05b3b0 mlxsw_core_emad_string_tlv_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbc222a8d mlxsw_afk_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfb7df3c mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc2c867f8 mlxsw_env_reset_module +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc49e917d mlxsw_env_get_module_eeprom +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc650668a mlxsw_core_traps_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc6dc672b mlxsw_afa_block_append_mirror +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc8e930d3 mlxsw_core_port_eth_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xcb4ec37a mlxsw_afa_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xcbab836f mlxsw_core_fw_rev_minor_subminor_validate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd28256cf mlxsw_afa_block_append_allocated_counter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd4446ed2 mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd71566b9 mlxsw_core_schedule_work +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd7a93413 mlxsw_core_event_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd84eb6b0 mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd9f711ae mlxsw_afa_block_append_mcrouter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdc31781e mlxsw_reg_trans_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdc415cf1 mlxsw_afa_block_continue +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xde4e211f mlxsw_afa_block_append_l4port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeab0691 mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeb1dc2e mlxsw_afa_block_first_kvdl_index +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe16986dd mlxsw_afa_block_activity_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe5540be5 mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xecab212a mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xed2801d4 mlxsw_env_module_port_down +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xeda7a5d0 mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf82bdc70 mlxsw_core_lag_mapping_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xff007c25 mlxsw_core_cpu_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x2f5cfbe6 mlxsw_i2c_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0xcc1cce8a mlxsw_i2c_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x056c7e81 mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x3efd890d mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x05fe454c ocelot_port_vlan_filtering +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x08c4779d ocelot_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x133e7754 ocelot_vcap_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x19453204 vsc7514_vcap_is1_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1a83b948 ocelot_sb_tc_pool_bind_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1c252664 ocelot_ptp_settime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x21898754 ocelot_port_pre_bridge_flags +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x24a025af ocelot_fdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2562942b ocelot_vlan_prepare +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x26823647 ocelot_can_inject +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x274a0e05 ocelot_port_fdb_do_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2c0fe5b4 ocelot_port_lag_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2ebbed64 ocelot_vcap_filter_replace +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2ee2eeab ocelot_vcap_block_find_filter_by_id +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2fdb15f1 ocelot_mact_lookup +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3324193e ocelot_mrp_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x365b3827 ocelot_port_bridge_flags +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x36bac0b9 ocelot_set_ageing_time +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x383473b2 ocelot_hwstamp_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x38a2c70c ocelot_deinit_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x38e09069 ocelot_fdb_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3b02ae67 ocelot_deinit +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3dc928f8 ocelot_mact_learn +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3f5f5fd7 ocelot_port_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4038db97 ocelot_ptp_verify +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4271543f vsc7514_vcap_es0_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4f859d7a ocelot_get_strings +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5002a5da ocelot_sb_tc_pool_bind_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x504f33e0 ocelot_get_sset_count +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x50b555ef ocelot_devlink_sb_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x51295b94 ocelot_sb_occ_snapshot +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x608bdbde ocelot_vcap_filter_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x62dddfde ocelot_hwstamp_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x637ced08 ocelot_ptp_rx_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6434fb62 ocelot_get_ts_info +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x68183515 ocelot_port_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x69b791b5 ocelot_port_mdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6ce4c3b4 ocelot_mrp_add_ring_role +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6d75dd12 ocelot_xtr_poll_frame +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6d92aac9 ocelot_mrp_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6d92b396 ocelot_vlan_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x74d33eba ocelot_drain_cpu_queue +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x79ad8e45 ocelot_port_lag_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7ff7c880 ocelot_bridge_stp_state_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x80a75405 vsc7514_vcap_is2_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x89b2c12e ocelot_policer_validate +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8d9b0eea ocelot_sb_occ_tc_port_bind_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x90cbb220 vsc7514_vcap_is2_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x92ae01da ocelot_sb_port_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x933ff30c ocelot_port_inject_frame +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9381969d vsc7514_ana_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x991c3165 ocelot_sb_occ_port_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9d442141 vsc7514_rew_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa71a01f8 ocelot_sb_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa8413d7e vsc7514_sys_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xaccb5b16 ocelot_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb1c026bc ocelot_init_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb30c4b92 vsc7514_ptp_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb818e154 ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xba559499 ocelot_get_txtstamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbba17367 vsc7514_qsys_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbf48ddc1 vsc7514_qs_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc0f4ad5a ocelot_devlink_sb_register +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc2657468 ocelot_ptp_adjtime +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc3062efe ocelot_port_lag_change +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc32701a0 ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc585eb5e ocelot_mact_forget +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc9f33e85 ocelot_get_ethtool_stats +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xcaecdedb ocelot_vcap_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xcb09cfab ocelot_ptp_gettime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xcd7cd275 ocelot_port_set_maxlen +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xceed5e7e vsc7514_dev_gmii_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xcf926d69 ocelot_mact_learn_streamdata +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd0ebefd9 ocelot_ifh_port_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd687a545 vsc7514_vcap_es0_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd7944406 ocelot_init_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xdc49c78d ocelot_fdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe2834de3 ocelot_sb_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe788d54e ocelot_ptp_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe9eb2075 ocelot_vcap_filter_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xea1b5ac9 vsc7514_vcap_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xecaa97fb vsc7514_vcap_is1_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xed95bfa9 ocelot_sb_port_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf146bbd8 ocelot_sb_occ_max_clear +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf2f646a7 ocelot_port_bridge_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf873c43d ocelot_vlan_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf92b878e ocelot_deinit_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xfd582e6c ocelot_port_txtstamp_request +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xfdd1a1c1 ocelot_port_mdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xfdd3d7e7 ocelot_mrp_del_ring_role +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x1838d8d5 qed_get_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x4aad4dd0 qed_get_rdma_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x4f264472 qed_put_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x81b3fdaa qed_get_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x8c338b5e qed_get_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x992e03d0 qed_put_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x9eeeef48 qed_put_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0x8ee1350f qede_rdma_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0xa7d554bf qede_rdma_register_driver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x3f96a346 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x3ffbdf7e hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x6a50760c hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xbeba33bb hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xfa072cbb hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/mdio 0x3e17f466 mdio_set_flag +EXPORT_SYMBOL drivers/net/mdio 0x60443957 mdio45_probe +EXPORT_SYMBOL drivers/net/mdio 0x63e0fee5 mdio45_links_ok +EXPORT_SYMBOL drivers/net/mdio 0xaadfd1af mdio45_ethtool_ksettings_get_npage +EXPORT_SYMBOL drivers/net/mdio 0xb79a54ee mdio45_nway_restart +EXPORT_SYMBOL drivers/net/mdio 0xcdbdeca7 mdio45_ethtool_gset_npage +EXPORT_SYMBOL drivers/net/mdio 0xdaceb7a6 mdio_mii_ioctl +EXPORT_SYMBOL drivers/net/mdio/mdio-cavium 0x3ce16c68 cavium_mdiobus_write +EXPORT_SYMBOL drivers/net/mdio/mdio-cavium 0xd5207d2a cavium_mdiobus_read +EXPORT_SYMBOL drivers/net/mdio/mdio-mscc-miim 0x1996c280 mscc_miim_setup +EXPORT_SYMBOL drivers/net/mdio/mdio-xgene 0x24ab0b31 xgene_mdio_rgmii_write +EXPORT_SYMBOL drivers/net/mdio/mdio-xgene 0x9c628ab9 xgene_mdio_rgmii_read +EXPORT_SYMBOL drivers/net/mdio/mdio-xgene 0xb5c6a2fa xgene_enet_phy_register +EXPORT_SYMBOL drivers/net/mdio/mdio-xgene 0xb981669a xgene_mdio_rd_mac +EXPORT_SYMBOL drivers/net/mdio/mdio-xgene 0xf9052134 xgene_mdio_wr_mac +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0x69f14b8b lynx_pcs_create +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0xa6bf0e9e lynx_pcs_destroy +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0xe22f878b lynx_get_mdio_device +EXPORT_SYMBOL drivers/net/phy/bcm-phy-lib 0x8106f025 bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/ppp/pppox 0x28f2a6da register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0x8d02db59 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0xa45681e5 pppox_compat_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xcbe0ac98 pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/sungem_phy 0xc39e65ea sungem_phy_probe +EXPORT_SYMBOL drivers/net/team/team 0x04efbfe9 team_options_change_check +EXPORT_SYMBOL drivers/net/team/team 0x2b423cb6 team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0x2fb5ae38 team_modeop_port_enter +EXPORT_SYMBOL drivers/net/team/team 0x62e80702 team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0x6a74db1d team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/team/team 0x6efad3b1 team_option_inst_set_change +EXPORT_SYMBOL drivers/net/team/team 0xd9a64cec team_options_unregister +EXPORT_SYMBOL drivers/net/team/team 0xf1a42ac8 team_options_register +EXPORT_SYMBOL drivers/net/usb/usbnet 0x2de805ef usbnet_device_suggests_idle +EXPORT_SYMBOL drivers/net/usb/usbnet 0xaf7cc32a usbnet_link_change +EXPORT_SYMBOL drivers/net/usb/usbnet 0xd4e8cf68 usbnet_manage_power +EXPORT_SYMBOL drivers/net/wan/hdlc 0x03e5b9bd hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x07f7da8c hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x2a8d3581 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x52c60673 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x5391c46c unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x72dfd04d unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7e87814b alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x9f704609 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xa8314561 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xc4104325 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0b1ab353 ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x108b188f ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x203982a3 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x26393010 dfs_pattern_detector_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4571aea8 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x6f049f1c ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x770f215a ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x8a6a12b0 ath_is_mybeacon +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa18f224e ath_regd_find_country_by_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xaddff566 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xade3da04 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb6588ba6 ath_bus_type_strings +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb9c36365 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xcadeeac5 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd0843f03 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xdfe97032 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xe5b76816 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf371f93c ath_hw_keysetmac +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x015e5db2 ath10k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0b08aec3 ath10k_ce_enable_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x131d2fcd ath10k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1999ec55 ath10k_core_napi_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1c55c1c4 ath10k_coredump_new +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x23eb0c07 __ath10k_ce_rx_num_free_bufs +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2d7da10a ath10k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x32c603af ath10k_ce_completed_send_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3455a1bc ath10k_core_unregister +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4a478d5f ath10k_bmi_read_memory +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4b06d550 ath10k_core_check_dt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4b2c692d ath10k_core_register +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4ce5feb9 ath10k_htt_rx_pktlog_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4e0fc290 ath10k_core_start_recovery +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4f7a8435 ath10k_ce_alloc_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5395a192 ath10k_ce_completed_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x56e070f9 ath10k_htt_hif_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x56e87254 ath10k_ce_rx_update_write_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x571fd5f4 ath10k_ce_free_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x59312d13 ath10k_ce_send +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5d303228 ath10k_htt_t2h_msg_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5ef7acbf ath10k_htt_txrx_compl_task +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x65f5a68d ath10k_ce_completed_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6b194c3d ath10k_ce_send_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6da6ad9a ath10k_core_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6df3a5ec ath10k_ce_revoke_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x73cca1a7 ath10k_ce_free_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7746b565 ath10k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7d52148f ath10k_core_free_board_files +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x856cdd8d ath10k_htc_process_trailer +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x87c4b1cf ath10k_ce_num_free_src_entries +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x880bfd43 ath10k_core_napi_sync_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8b424ebe ath10k_core_fetch_board_file +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa1e4849a __tracepoint_ath10k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa20b77b2 ath10k_print_driver_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa5c0c9da ath10k_htc_rx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa6ad5ed3 ath10k_core_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa801dd29 ath10k_ce_alloc_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xacf57fd8 ath10k_ce_dump_registers +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xad0718c0 ath10k_mac_tx_push_pending +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc0adb4bf __ath10k_ce_send_revert +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc670e4f6 ath10k_coredump_get_mem_layout +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcb03ba63 ath10k_ce_init_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcda19fa0 ath10k_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd04db2ad ath10k_ce_disable_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd30038c0 ath10k_ce_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd3a141b8 ath10k_ce_per_engine_service_any +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd79ac8ec ath10k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd85fd657 ath10k_ce_cancel_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd91a2c8c ath10k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe0cb6341 ath10k_bmi_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe57bdfee ath10k_htt_rx_hl_indication +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xea77f2f0 ath10k_htc_notify_tx_completion +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xebc8e43b ath10k_ce_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf4306e04 ath10k_htc_tx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf7a5f9a8 ath10k_ce_completed_recv_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf83480b4 ath10k_ce_deinit_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf8f02f2c ath10k_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x09f1cfcd ath11k_ce_get_shadow_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x1290ed51 ath11k_ce_free_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x1c27ed93 ath11k_pcic_register_pci_ops +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x1c97a865 ath11k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x22f7d044 ath11k_pcic_get_ce_msi_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x2bf8cece ath11k_pcic_read32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x304878d2 ath11k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x3835ea8a ath11k_ce_alloc_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x3902e515 ath11k_pcic_init_msi_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x39b5cddd ath11k_debugfs_soc_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x3d74cbf5 ath11k_pcic_ext_irq_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x40b63477 ath11k_hal_srng_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x41b33def ath11k_pcic_free_irq +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x43477051 ath11k_pcic_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x495b6294 ath11k_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x606a5b5a __tracepoint_ath11k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x60ddba90 ath11k_core_pre_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x6ba11aef ath11k_core_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x72403436 ath11k_hal_srng_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x76abcb06 ath11k_pcic_ext_irq_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7be2a59a ath11k_pcic_ce_irqs_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x90fc3cc8 ath11k_ce_cleanup_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x972169eb ath11k_core_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x9944ab59 ath11k_pcic_get_user_msi_assignment +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x9c51bcc4 ath11k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x9cf6e55b ath11k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x9fe70a45 ath11k_qmi_deinit_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xb30dc8a5 ath11k_pcic_ce_irq_disable_sync +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xc1c5d76b ath11k_dp_service_srng +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xc75328b2 ath11k_pcic_config_irq +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xc80fe4eb ath11k_ce_get_attr_flags +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xcc80defd ath11k_pcic_get_msi_address +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xd1b78947 ath11k_pcic_map_service_to_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xdae156ab ath11k_core_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xe024df68 ath11k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xe0750c3a ath11k_pcic_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xeb9ea08e ath11k_core_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf0197188 ath11k_cold_boot_cal +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf1a974cc ath11k_core_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf919a7ca ath11k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xff05379b ath11k_pcic_write32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x08f3c94d ath6kl_read_tgt_stats +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1354043d ath6kl_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x186fd761 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3502feef ath6kl_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x45a36ed7 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x633f6982 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x6d4cfdcc ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7bff51e7 ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x9a21fc5a ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb881b1a9 ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb9a689dd ath6kl_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xc13f8705 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xc23d7f79 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xc8fa3b5b ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xf46a8aca ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x14dcccff ath9k_cmn_beacon_config_ap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x15d99999 ath9k_cmn_process_rssi +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x21da8813 ath9k_cmn_debug_base_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x260a7793 ath9k_cmn_debug_modal_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x323a1b3a ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3a373f6a ath9k_cmn_reload_chainmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3bca02f1 ath9k_cmn_get_channel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x415f43c5 ath9k_cmn_process_rate +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x41aae67b ath9k_cmn_debug_stat_rx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x4306de0c ath9k_cmn_init_channels_rates +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x5982080c ath9k_cmn_spectral_init_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x80373470 ath9k_cmn_spectral_scan_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x8a4717e6 ath9k_cmn_beacon_config_sta +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x9222212d ath9k_cmn_rx_skb_postprocess +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x959256b8 ath9k_cmn_spectral_deinit_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb3ac5a5f ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb6b4954b ath9k_cmn_spectral_scan_trigger +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xc539d60d ath9k_cmn_debug_recv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd65c6d30 ath_cmn_process_fft +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xdd7324aa ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xddf410e7 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xe6748507 ath9k_cmn_setup_ht_cap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf4904e60 ath9k_cmn_rx_accept +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf73cf2fa ath9k_cmn_beacon_config_adhoc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x08126052 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x085790a0 ath9k_hw_wow_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x087d0998 ath9k_hw_wow_apply_pattern +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0a645c3f ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f77dafc ath9k_hw_get_tsf_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x108b156f ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x10d62b15 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x10dcd246 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x18a43e70 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1bae5b17 ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1f41d509 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x204b165e ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2153cd98 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x225b45d2 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x25172c43 ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x26995463 ath9k_hw_kill_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x288814b5 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x28a19c3f ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2a3f55b5 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2e5d85d6 ath9k_hw_wow_wakeup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2ed7f2c6 ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2fa355e0 ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x316a7f70 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x34f0bb90 ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x351d0fce ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x363fc2ad ar9003_mci_send_wlan_channels +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3b76942a ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x431c1cdf ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x43e53891 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4ce7d10e ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4cf14b41 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4f0b8d10 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x50fb51ee ath9k_hw_gpio_request_in +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x51c26b3d ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x52a7ef85 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x54aa964e ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x57523f30 ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5aa9c910 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5dd95cd6 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5ee13aa7 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6094958e ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x62de1692 ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x632ef192 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x64dbe652 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x65c0c92d ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6a92dd6b ar9003_mci_set_bt_version +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x70a46c77 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7120114c ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x76fe463c ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7d1edbab ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7f400c66 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x833bd91f ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x83e2e606 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8b37fafb ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8b5ed6d8 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8c444d3a ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8d3da67b ath9k_hw_gpio_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9116415e ath9k_hw_btcoex_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x925beb30 ath9k_hw_set_tx_filter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9544a67e ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x988cecb2 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9b03200d ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa08e98ec ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa62c4646 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa7830ddb ath9k_hw_check_nav +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa94e235d ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa964dbcb ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaac5d33e ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xab5be802 ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xad6007a3 ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xaed76e0c ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb1fa2e64 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb22736b9 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb408626b ath9k_hw_loadnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb843d031 ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb9de8484 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbb242dbb ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbc713a02 ath9k_hw_gpio_request_out +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbf5e04ed ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc304e174 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xca39e064 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcad5738a ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xccac44f1 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xccb54c02 ar9003_hw_bb_watchdog_check +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd0dba589 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd2342e17 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd850c910 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd938bb9a ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd9a55cc3 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdbe89cf7 ar9003_mci_get_next_gpm_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdde6822c ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdeb08332 ath9k_hw_btcoex_set_concur_txprio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdf725919 ath9k_hw_resume_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe5eb7497 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe7540162 ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe8e0eae8 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xebb16cee ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xec101c5b ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xec7e126b ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xed8a2513 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xef02aaba ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf07f9a6b ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf1a7c3cf ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf42beb1a ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf5432b98 ar9003_is_paprd_enabled +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf9aacdf8 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfc7be985 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xff05a9e5 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x0f850532 atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x81e3d276 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x84c08591 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x080630a4 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x18d32a86 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1906648e brcmu_boardrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x363bf4a8 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x36a23f63 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x38c7598b brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x45d5ee50 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x75462736 brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x906745db brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x9bf147d3 brcmu_pktq_pdeq_match +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xa17c0ccf brcmu_dotrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xaa0695fa brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xb4706657 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xc800264f brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd6217d91 brcmu_d11_attach +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd755685b brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x0445ad63 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x13d575ac libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x14c26521 free_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1989f7a9 alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x221234e9 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x2b0d2c4b libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x2ca6ac35 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x318a89d5 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x3fcc624a libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x3fd0248e libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x55dcd7b3 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6863966d libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6d436cb2 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x9008f6e3 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xa098ad97 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xa60decca libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xa9f2c735 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xd351d5dd libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xd9688a5b libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xe67309b4 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x00915ae7 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x017e4a4b il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x035f9419 il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x061a9077 il_set_rate +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0799e240 il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x08ab25db il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0bd15e9e il_mac_flush +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0e1771f6 il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1ea70482 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x20e4d568 il_leds_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x21ed5968 il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x278f409d il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x283bb960 il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2bf7eea6 il_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2d8df22d il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2e562772 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x302963cb il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x32b16e23 il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x35e51c9b il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x375cab6b il_free_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3b41ebba il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3bac4f61 il_mac_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3c0c34ff il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3c132c77 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3ddc5d9d il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3e98d0ab il_update_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416bd26a il_debug_level +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x43c1b157 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x46ce4ff1 il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x471fc48a il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4857aa3b il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4b3913f0 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4b64802e il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4de873f2 il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4df389a9 il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x555e7b01 il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x555f6b62 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x55df72e6 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x59ca038c il_init_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5bc2a350 il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x605a9d9d il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x60eed2da il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6170873d il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x629cd73b il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x662c60c7 _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x685ce8cc il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6aeccf18 il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6d3e6115 il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6e887998 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x73e43afd il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7545021a il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x799d0706 il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7af7f15b il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7f97c53c il_set_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8c28c969 il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8f0c9bb1 il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9185bd53 il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9c406079 il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9cc714af il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9efe6540 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9f75992c il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa1d384d4 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa2397eec il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa6a8b095 il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa9d1219f il_force_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xab5d0176 il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xadc7a289 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xae816129 il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb03c51d1 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb0b7418b il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb293473e il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb4096ea1 il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb40f2233 il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb5b0faee il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb65510a3 il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb7bd33ff il_isr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb84c44ab il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb8be355f il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbb0f929c il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbbf19518 il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbd7e3c44 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbe31da48 il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc4387cd2 il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc61a3eb2 il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc8029599 il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcaec56d8 il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcd3e9c4e il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd2f53b6a il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdbc9388f il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdc7e22a2 il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdd8ce76c il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdf01a4a9 il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdf05b776 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe051bf07 il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe29e5e74 il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe34dac9e il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xeb9d44a2 il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xef5934ca il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf0c575f8 il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf62050be _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf70a693b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf72e8393 il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf9170320 il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfcdb46ea il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x180a864d __traceiter_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x32146358 __traceiter_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x36a862e9 __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3d23c104 __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x466ae44d __SCK__tp_func_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x970bf4ef __SCK__tp_func_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xaaafbd3e __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd1e69877 __SCK__tp_func_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xee64ff6c __traceiter_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x03addcb7 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x05f2c673 hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x19f77b56 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x250057bf hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x2ca6ac26 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x2dc327e0 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x3cb8cf70 hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x4f222255 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x54fc3af9 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x5e2f7e90 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x75934c58 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x793d438f hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fb75891 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x908f0c9e hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9c5c05f2 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9fd9b6f6 hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xabe63583 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb84c722e hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb973a7e8 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xbb9aec6b hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xbcf87a3f hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xbdc1085c hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xbe34fa18 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc92c6d83 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xd5241471 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xe921376e hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xf91c03e2 hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xfb3b4853 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x072de24c orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x141ff0e5 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x19962e86 orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x2514a548 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x256cfc15 __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x3451789f orinoco_open +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x6e68cb67 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x73dde348 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x82ce39d2 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x889e93df __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x9a7281b8 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x9d71d58b orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x9fc74ec9 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xa74c2dc5 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xbe61ae60 orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xcdb97f75 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0x23071c81 mt76_wcid_key_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0x5028609f rtl_btc_get_ops_pointer +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x025e9cda rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x05e87f23 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0c6e3893 _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0f341d2a rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1d3c1762 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2327d91c _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x242b72c5 rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2cc18469 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x33e4aff3 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3e2cec18 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x406d93f1 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x421b0cba _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x43f5947c rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x49b5c31b rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x49c36bd8 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4f6634d6 _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x57260b77 rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x58038940 rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5a32912b rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x60d5fd9c rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6ae95f0e rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6f3a6f68 rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7054e036 _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x724df011 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x72db1a8c _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x783f8359 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x800c9186 rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x819447e4 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x94da4e2a _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9b64aad3 rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa6d356f0 _rtl92c_store_pwrindex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb1df20d0 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc076dd18 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc2fb50ed rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc5db9f88 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc840f832 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xcbfc01c9 _rtl92c_phy_dbm_to_txpwr_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd7d2e7fa rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xda98cd52 rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe8d015dc rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xec3eb9ef rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf76b5f47 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x0e22989e rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x418c0cbb rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x52a0dc1f rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xfbbb9daa rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x315e20dd rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x3af1ec77 rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x6987261c rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x91399194 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x045bb0a6 rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0b038e24 channel5g_80m +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1b945315 rtl_addr_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x22498a1c rtl_mrate_idx_to_arfr_id +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30a956d7 rtl_query_rxpwrpercentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3783d428 efuse_shadow_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x37d9379e rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x390e30cb rtl_rx_ampdu_apply +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x41b12d57 rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4c989241 rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x530166e8 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54824f58 channel5g +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5b78bffc rtl_hal_pwrseqcmdparsing +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5d312d04 rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6cda70bd rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6fe05cdb rtl_collect_scan_list +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x724783e1 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x85a991f1 rtl_process_phyinfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8ea60059 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xad4d77c9 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xaff7b228 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb881bf32 rtl_rfreg_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbad15374 efuse_power_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbef11fb7 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc1c6dc07 rtl_cmd_send_packet +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc454a31d efuse_one_byte_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xca69780f rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd729ae71 rtl_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd8ddf5a6 rtl_c2hcmd_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xdae5f241 rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xeb201428 rtl_bb_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xebedfe5f rtl_wowlan_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xed7c8cf2 rtl_evm_db_to_percentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xefb7ee2b efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf0b1c2b9 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf32ae62a rtl_signal_scale_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf390d91d rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8723d 0x30806b56 rtw8723d_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8821c 0xad401cdb rtw8821c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0xdb6011e4 rtw8822b_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0x34a27ada rtw8822c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x00f64353 rtw_bf_set_gid_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x05d8d0f9 rtw_dump_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x18653b1c check_hw_ready +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1bd603c4 rtw_fw_c2h_cmd_rx_irqsafe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x231c130f rtw_phy_pwrtrack_get_pwridx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x24745de5 rtw_phy_cfg_bb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x26040336 rtw_dump_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x320a4756 rtw_power_mode_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x33b3f3c0 rtw_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x36c5bfca rtw_disable_lps_deep_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3fa7c7f3 rtw_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3fea33d8 rtw_unregister_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x43802e08 rtw_tx_report_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x440b7589 rtw_phy_rf_power_2_rssi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x44ae6f16 rtw_phy_write_rf_reg_mix +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x46fe5107 rtw_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4950a106 rtw_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4ac5137e __rtw_dbg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4ae3b797 rtw_phy_config_swing_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4bcb1717 rtw_fw_inform_rfk_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x519c8ba9 rtw_rate_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5383bb28 rtw_parse_tbl_phy_cond +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x58210e60 rtw_rate_section +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x586d047f rtw_bf_enable_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5f24196c rtw_regd_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6081ed82 rtw_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x62b4583a rtw_coex_write_scbd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6775f6b8 rtw_tx_write_data_h2c_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x687e3466 rtw_bf_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6b720421 rtw_set_rx_freq_band +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6c203912 rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7051a3c9 rtw_phy_pwrtrack_avg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x75f9b473 rtw_parse_tbl_txpwr_lmt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x771bdf26 rtw_phy_pwrtrack_need_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x79972033 rtw_set_channel_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7bd435af rtw_phy_pwrtrack_need_lck +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7de35925 rtw_phy_cfg_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7eaf4a08 rtw_bf_remove_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7f6fd968 rtw_phy_cfg_agc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8b91f3bf rtw_coex_read_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8ecff32f rtw_phy_set_edcca_th +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9005450a rtw_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9257c7a0 rtw_phy_set_tx_power_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x94552437 rtw_register_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x949d1624 rtw_phy_cfg_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9c1e2c63 rtw_phy_get_tx_power_index +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa605a8cc rtw_rx_stats +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa7f3f1bc rtw_fw_do_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xadf1125d rtw_fw_c2h_cmd_isr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xaede1f2e rtw_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb7cc9f88 rtw_bf_cfg_csi_rate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xba041552 rtw_phy_parsing_cfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbe26f2dc rtw_phy_pwrtrack_thermal_changed +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xbf2066b9 rtw_tx_fill_tx_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc6b3ac3e rtw_parse_tbl_bb_pg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc9f16f33 rtw_phy_read_rf_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xce403bdc rtw_bf_enable_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xcf674ce3 rtw_tx_write_data_rsvd_page_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd261269d rtw_phy_pwrtrack_get_delta +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd37d1fcb rtw_rx_fill_rx_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd6a1969e rtw_read8_physical_efuse +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xded4c483 rtw_restore_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf4f4ba0e rtw_phy_write_rf_reg_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf6493f2f rtw_phy_load_tables +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xfc673ca5 rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x02e83302 rtw_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xbc4ec6c5 rtw_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xc6f8d9c6 rtw_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xf1b9e912 rtw_pci_shutdown +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_8852a 0x419f04ff rtw8852a_chip_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_8852c 0xada49a60 rtw8852c_chip_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x000aa068 rtw89_mac_coex_init_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x03cc0a3b rtw89_mac_get_err_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x07e57ba9 rtw89_phy_fill_txpwr_limit_ru +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x088ffb4c rtw89_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x0a7a4104 rtw89_core_fill_txdesc_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x0b3add9a rtw89_btc_ntfy_wl_rfk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x0c0967db rtw89_core_unregister +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x1012333d rtw89_mac_disable_bb_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x147e9afc rtw89_rs_nss_max +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x178f0ee1 rtw89_core_rx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x22288e79 rtw89_ser_notify +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x22c424c7 rtw89_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x24d559e6 rtw89_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x2bcb28a6 rtw89_phy_fill_txpwr_limit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x2c501714 rtw89_phy_tssi_ctrl_set_bandedge_cfg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x30fc68d1 rtw89_core_napi_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x31b11527 __rtw89_debug +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x39fe0bc5 rtw89_core_query_rxdesc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x3a91585b rtw89_mac_resume_sch_tx_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x3b7adc91 rtw89_core_register +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x3cb6c4ca rtw89_mac_cfg_gnt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x412cac4c rtw89_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x428d97a3 rtw89_phy_load_txpwr_byrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x4a4d20d0 rtw89_core_fill_txdesc_fwcmd_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x5981d019 rtw89_mac_cfg_gnt_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x5cc989a8 rtw89_rfk_parser +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x5d009ce3 rtw89_phy_get_txsc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x627675fd rtw89_phy_write_reg3_tbl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6a6d4508 rtw89_phy_write_rf_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6e8f5a63 rtw89_mac_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x786f9c24 rtw89_mac_cfg_ctrl_path +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7a38067e rtw89_core_napi_stop +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7f95a571 rtw89_mac_enable_bb_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x81a3384b rtw89_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x8768288c rtw89_core_fill_txdesc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x8d0c6b3b rtw89_phy_read_txpwr_limit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x9f800789 rtw89_fw_h2c_rf_ntfy_mcc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xaca4fb99 rtw89_phy_write32_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xb31ac24b rtw89_mac_stop_sch_tx_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xb3e88ddd rtw89_mac_cfg_ppdu_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xb5e49938 rtw89_mac_write_xtal_si +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xb7b234bb rtw89_mac_set_err_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xbac97ee8 rtw89_phy_write_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xc27201d2 rtw89_phy_config_rf_reg_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xc95534b0 rtw89_rs_idx_max +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xd635a2a0 rtw89_mac_stop_sch_tx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe3f57b04 rtw89_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe84de12b rtw89_fw_h2c_dctl_sec_cam_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe99dd67d rtw89_mac_get_txpwr_cr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xeab208c2 rtw89_mac_coex_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xec6c23ed rtw89_core_napi_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xf193fc94 rtw89_mac_cfg_ctrl_path_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xf25c26bb rtw89_core_napi_start +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xf69c5090 rtw89_phy_read_rf_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xf76b41ca rtw89_phy_read_txpwr_byrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xfb647a4d rtw89_mac_resume_sch_tx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x01656462 rtw89_pci_recognize_intrs +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x0774bc7f rtw89_pci_disable_intr_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x1c17725c rtw89_pci_config_intr_mask_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x1fbbdffd rtw89_pci_disable_intr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x4f6c265b rtw89_pci_ltr_set +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x516442d4 rtw89_pci_recognize_intrs_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x72b9f8c5 rtw89_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7cf82af2 rtw89_pci_enable_intr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7d1288ab rtw89_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x8a36fef3 rtw89_pci_enable_intr_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x8d6b3619 rtw89_pci_fill_txaddr_info_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x99a3d8af rtw89_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x9ce0961b rtw89_pci_ch_dma_addr_set +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xd111fb62 rtw89_pci_fill_txaddr_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xd1b2b917 rtw89_pci_config_intr_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xd6c4d2a8 rtw89_pci_ltr_set_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xf630d9a9 rtw89_pci_ch_dma_addr_set_v1 +EXPORT_SYMBOL drivers/net/wireless/rsi/rsi_91x 0x72dc9d73 rsi_config_wowlan +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x66ab25dc wl12xx_is_dummy_packet +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x67b4970a wlcore_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x6805bbf2 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xaadad129 wl1271_free_tx_id +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0xf30871d9 fdp_nci_probe +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0xf4b7de9a fdp_nci_remove +EXPORT_SYMBOL drivers/nfc/microread/microread 0x58c9716e microread_remove +EXPORT_SYMBOL drivers/nfc/microread/microread 0x5b7adfde microread_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x2439871b nxp_nci_remove +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x962db25e nxp_nci_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0xe5c5946f nxp_nci_fw_recv_frame +EXPORT_SYMBOL drivers/nfc/pn533/pn533 0xec169bf7 pn533_recv_frame +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x0c129ce9 pn544_hci_remove +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0xbfc8894b pn544_hci_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x3968a6eb s3fwrn5_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x774203fc s3fwrn5_phy_set_wake +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xc112de73 s3fwrn5_phy_power_ctrl +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xdbb0b28e s3fwrn5_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xedb12f10 s3fwrn5_phy_set_mode +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xf2ab60da s3fwrn5_phy_get_mode +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xf92ea71b s3fwrn5_recv_frame +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x067239a4 ndlc_send +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x0ef14521 ndlc_recv +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x30b570e8 st_nci_se_deinit +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x312da399 ndlc_open +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x634f5b77 ndlc_close +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x73af4049 st_nci_se_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x7d291115 ndlc_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x934a2103 ndlc_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xf3bcbfc7 st_nci_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xfd6b62dc st_nci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x0fc1db35 st21nfca_dep_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x3023ca09 st21nfca_im_send_atr_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x380b26ac st21nfca_im_send_dep_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x4d100315 st21nfca_tm_send_dep_res +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x53b5dd53 st21nfca_hci_remove +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x56ee4408 st21nfca_hci_disable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7115513c st21nfca_apdu_reader_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7f90040a st21nfca_dep_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x8fcf5975 st21nfca_se_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x95aa2de2 st21nfca_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x9b970342 st21nfca_dep_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xa2ec46c7 st21nfca_hci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xa4fd710b st21nfca_hci_enable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xa687e200 st21nfca_hci_probe +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xb884bd7c st21nfca_hci_discover_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xef9819ed st21nfca_connectivity_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xf14a655a st21nfca_se_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xfecd1ef9 st21nfca_hci_loopback_event_received +EXPORT_SYMBOL drivers/ntb/ntb 0x05f08185 ntb_register_device +EXPORT_SYMBOL drivers/ntb/ntb 0x0d607a0f ntb_default_peer_port_count +EXPORT_SYMBOL drivers/ntb/ntb 0x269f77a9 ntb_unregister_device +EXPORT_SYMBOL drivers/ntb/ntb 0x2de60983 ntb_msi_clear_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x3f55bc27 __ntb_register_client +EXPORT_SYMBOL drivers/ntb/ntb 0x49d33d4f ntb_unregister_client +EXPORT_SYMBOL drivers/ntb/ntb 0x8429bff9 ntbm_msi_request_threaded_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x95b4129e ntb_clear_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x9b8efd9e ntb_db_event +EXPORT_SYMBOL drivers/ntb/ntb 0x9e47e214 ntb_msi_init +EXPORT_SYMBOL drivers/ntb/ntb 0xa0a4fa59 ntb_msg_event +EXPORT_SYMBOL drivers/ntb/ntb 0xad77d54d ntb_default_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0xc04a6b85 ntb_default_peer_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0xc3f72219 ntb_set_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0xd54b09f1 ntb_default_peer_port_idx +EXPORT_SYMBOL drivers/ntb/ntb 0xdabf1b02 ntbm_msi_free_irq +EXPORT_SYMBOL drivers/ntb/ntb 0xdf82d6a2 ntb_link_event +EXPORT_SYMBOL drivers/ntb/ntb 0xec2dfd84 ntb_msi_setup_mws +EXPORT_SYMBOL drivers/ntb/ntb 0xf3dbe321 ntb_msi_peer_trigger +EXPORT_SYMBOL drivers/ntb/ntb 0xfd928366 ntb_msi_peer_addr +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x8081e6a8 nvdimm_namespace_detach_btt +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0xd4a621af nvdimm_namespace_attach_btt +EXPORT_SYMBOL drivers/parport/parport 0x1ccb7948 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x216bbd38 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x21cf1165 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x26e77a77 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x29720989 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x2cdce0c8 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x32d7d4aa parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x3fe1ccf8 parport_del_port +EXPORT_SYMBOL drivers/parport/parport 0x423a2c2b parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x48d07adb parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x5e232cdf __parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x7079b15b parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x81893b72 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x919d3b0f parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x9b0a1d41 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x9b75efc4 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xa763e017 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xa84ceeda parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0xb24793f4 parport_register_dev_model +EXPORT_SYMBOL drivers/parport/parport 0xb309381c parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0xb56c5b0e parport_write +EXPORT_SYMBOL drivers/parport/parport 0xbd0f3f9f parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0xc642cc59 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0xc6946741 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xe447006f parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xe70688b6 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0xea4e2345 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0xecf3e4c4 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xf4e84f00 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xfb7d3cfe parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xfcccb913 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport_pc 0x2f31c114 parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0x691561ba parport_pc_unregister_port +EXPORT_SYMBOL drivers/pci/controller/pcie-iproc 0x250869ad iproc_pcie_setup +EXPORT_SYMBOL drivers/pci/controller/pcie-iproc 0xb6e2eae4 iproc_pcie_remove +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x0ed3c4ed pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x12867063 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2ef6825f pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x321dc611 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x3d404f77 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x4d1e456c pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x5196b609 pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x651d99ef pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x85f7ce61 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x95958847 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf942709b pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0xcf080118 pccard_static_ops +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x32cf3bb1 cros_ec_suspend +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x68efbbec cros_ec_resume +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xaa49331e cros_ec_register +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xe9f464d5 cros_ec_unregister +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xf25aacf5 cros_ec_irq_thread +EXPORT_SYMBOL drivers/regulator/rohm-regulator 0x27556572 rohm_regulator_set_dvs_levels +EXPORT_SYMBOL drivers/rpmsg/qcom_smd 0x3330a1c8 qcom_smd_unregister_edge +EXPORT_SYMBOL drivers/rpmsg/qcom_smd 0xc33611f9 qcom_smd_register_edge +EXPORT_SYMBOL drivers/rpmsg/rpmsg_char 0x461fd813 rpmsg_chrdev_eptdev_create +EXPORT_SYMBOL drivers/rpmsg/rpmsg_char 0xf2b4d1c4 rpmsg_chrdev_eptdev_destroy +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x17011daa rpmsg_trysendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x1dc26fc1 rpmsg_poll +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x21a8ba4e rpmsg_sendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x2916e2ca rpmsg_get_mtu +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x31f9e71b rpmsg_send +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x38e8e08a rpmsg_class +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x55a58b2f rpmsg_trysend_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x65300478 rpmsg_register_device_override +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x655496b4 rpmsg_find_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x709f7e8c rpmsg_release_channel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7f5e457f unregister_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x972f9100 rpmsg_send_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xa0d54980 __register_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xa4ae4cfd rpmsg_destroy_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xc791c25d rpmsg_create_channel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xcc7065d2 rpmsg_create_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xd7c8c3d2 rpmsg_trysend +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xf00a25a0 rpmsg_register_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xf1ae1026 rpmsg_unregister_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_ns 0xd50a1bd0 rpmsg_ns_register_device +EXPORT_SYMBOL drivers/rtc/rtc-ds1685 0x462ab10a ds1685_rtc_poweroff +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x2b77ac31 scsi_esp_template +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x4a29ab38 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x8b05c986 scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x93a0e7a8 scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xc406273b scsi_esp_register +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x02904e5e fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x0ced6295 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x356412c2 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x372f2d66 fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x3777cdeb fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x3fdcc49f fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x3ff87bc4 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x4cae0563 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x81c0d090 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x9fabb8ae fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xcee1ae23 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x00739459 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0a8c47eb fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0cd57552 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0d32c352 fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x16a9988b fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1ba1db06 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1f7cffb4 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x21933692 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x268fefbe fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2d764990 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x32e88bd1 fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e2ee62 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3d16eb79 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4251fc2d fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x50faf171 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5b925b58 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x60577dff fc_exch_update_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x686c3651 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6a023184 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6a33d1fb libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6ede8e6a fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x71c152dd fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x71ed7f27 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x75db56f3 fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7833f505 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7f3407a7 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x811811e0 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x85736df8 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x890bb09d fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8c6f3b09 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9300f16a fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x932b3867 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9559ca2b fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x96cb8331 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9d00e18a fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9d50ed7e fc_rport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa12b10b0 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa1bcd198 fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa2dbfcd7 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa2fa5e05 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa40f2c91 fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa55001f5 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xacf22271 fc_seq_assign +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xae516c95 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0ddd5a1 fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb26764a3 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb5430e97 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb60fe4bc fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb833914f fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb99624e5 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc20d2214 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc3071623 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc47afedf fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd36f5bd3 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd77c4b0e fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdb962cf3 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe09057bd fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe2746a12 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe5bfbecd fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe5cf06b5 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xef345c66 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf1eeea09 fc_disc_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf54f2818 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf8b7c6c3 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfa4667d1 fc_seq_release +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x142ecc35 sas_suspend_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x2354c6e6 sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x3e6a2feb sas_resume_ha_no_sync +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xa9ee7674 sas_resume_ha +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0xa21fafb9 mraid_mm_adapter_app_handle +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0xb2cf7c01 mraid_mm_unregister_adp +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0xe0122ba3 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x071cd76d qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x28c08bb5 qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x461f73dd qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x62502b00 qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x68314ecb qlt_abort_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x74509453 qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x816babe0 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x8e46728d qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x922f6093 qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x963f9d87 qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xdd624314 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xe8367d18 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/raid_class 0x7d6c8771 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x86ba978c raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0xd515a9cc raid_class_attach +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0300f53a fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x25af960c fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2bde8915 fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x34d86f5b fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x41a3a865 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x47dada75 fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x48fec05e fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x593e6308 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5f0f2e02 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7b18f69e fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7dc0a552 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x9118d6fd fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xb8888a64 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc15d377d fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc80411cd fc_find_rport_by_wwpn +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd2b5aa93 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfccda697 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x095cb941 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0db3f4a6 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x13201706 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1926c77a sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x39ca62cb sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x450f1e04 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x56a630fa sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5aeb1725 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5c061197 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x694189ca sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6d249d13 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x710c9f2e sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x779fda87 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8e711a1f scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x906b98ec sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9abe9391 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa54016da sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xabcadf04 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xabcc6eff sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb08993a9 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb1af65db sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb9b1c7e0 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbb9584c1 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd39ead4c sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd4b97ccd sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe21c6a76 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe3a8ee92 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe82b6e1e scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe86b3a61 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x0c9826ad spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x2edbd3de spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x43da56d0 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x664fbd7c spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xa85e78de spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x4813d4f5 srp_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x6e34b760 srp_reconnect_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x9b4d4d2e srp_rport_put +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xc7d408ce srp_rport_get +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xecaed2b3 srp_start_tl_fail_timers +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x030f2d6c dpaa2_io_service_enqueue_fq +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x21e76a68 dpaa2_io_get_adaptive_coalescing +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x2bc276ca dpaa2_io_update_net_dim +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x35210a1c dpaa2_io_set_irq_coalescing +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x3d01f417 dpaa2_io_service_pull_fq +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0xb629a241 dpaa2_io_get_irq_coalescing +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0xc4ccef03 dpaa2_io_get_cpu +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0xdb008703 dpaa2_io_service_enqueue_multiple_fq +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0xe0f67b93 dpaa2_io_service_enqueue_multiple_desc_fq +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0xfa0aedff dpaa2_io_set_adaptive_coalescing +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x0f4b7285 cmdq_pkt_destroy +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x1c91b6c6 cmdq_pkt_poll +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x1eb577f5 cmdq_pkt_write_s_value +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x27f7a778 cmdq_pkt_set_event +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x3bc70297 cmdq_pkt_write_s_mask_value +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x3d3c435f cmdq_pkt_jump +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x461737cb cmdq_pkt_read_s +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x4dd68ea8 cmdq_pkt_wfe +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x62622035 cmdq_pkt_write_s +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x6482132a cmdq_pkt_poll_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x74b42408 cmdq_pkt_create +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7b1135bc cmdq_mbox_destroy +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x81232e95 cmdq_pkt_assign +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x91e6f300 cmdq_pkt_clear_event +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x95bc91b9 cmdq_dev_get_client_reg +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xa644a9a6 cmdq_pkt_write +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xab2ec244 cmdq_pkt_flush_async +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xedaf2077 cmdq_mbox_create +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xf79754da cmdq_pkt_write_s_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xf80937c2 cmdq_pkt_finalize +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xfb55916e cmdq_pkt_write_mask +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0x90d9ca3e of_get_ocmem +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0xc53d76b1 ocmem_allocate +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0xf9b05967 ocmem_free +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0x1c76ea4d pdr_restart_pd +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0x432975e6 pdr_add_lookup +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0x47b2ed49 pdr_handle_alloc +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0xf618ca5b pdr_handle_release +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x0295e2ad geni_se_get_qup_hw_version +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x02da7b8b geni_icc_disable +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x0471b88d geni_se_resources_off +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x15f6b953 geni_icc_set_bw +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x22858023 geni_icc_get +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x4735f0db geni_icc_enable +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x5947c108 geni_se_config_packing +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x5ef8b4d5 geni_se_resources_on +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x6303a259 geni_se_tx_dma_unprep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x96fb72a3 geni_se_rx_dma_unprep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xa969fffc geni_se_clk_freq_match +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xbc34a7d3 geni_se_clk_tbl_get +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xcdebd6a7 geni_se_rx_dma_prep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xcf5281df geni_se_select_mode +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xd651c88e geni_se_init +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xdae015ab geni_se_tx_dma_prep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xe4a7340c geni_icc_set_tag +EXPORT_SYMBOL drivers/soc/qcom/qcom_aoss 0x1b35f92f qmp_get +EXPORT_SYMBOL drivers/soc/qcom/qcom_aoss 0x2333aed6 qmp_put +EXPORT_SYMBOL drivers/soc/qcom/qcom_aoss 0x9e2aa1df qmp_send +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x0ef12cc9 qmi_encode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x1ee49554 qmi_txn_cancel +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x21ce5888 qmi_response_type_v01_ei +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x2fc601f6 qmi_send_response +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x3c9f89e5 qmi_send_request +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x4f290093 qmi_handle_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x5ea5478b qmi_add_server +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x68772745 qmi_decode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xa811778a qmi_send_indication +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xba9e606c qmi_handle_release +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xd55d631d qmi_txn_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xeae143ac qmi_txn_wait +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xee78e24a qmi_add_lookup +EXPORT_SYMBOL drivers/soc/qcom/smd-rpm 0x3abef80b qcom_rpm_smd_write +EXPORT_SYMBOL drivers/soc/qcom/smem 0x34b57571 qcom_smem_alloc +EXPORT_SYMBOL drivers/soc/qcom/smem 0x5a710273 qcom_smem_get_free_space +EXPORT_SYMBOL drivers/soc/qcom/smem 0x9979b76e qcom_smem_virt_to_phys +EXPORT_SYMBOL drivers/soc/qcom/smem 0xeeffa750 qcom_smem_get +EXPORT_SYMBOL drivers/soc/qcom/wcnss_ctrl 0x2a9dd0f8 qcom_wcnss_open_channel +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x16d1706b sdw_prepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x184504d7 sdw_write_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1deee061 sdw_find_row_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x2204d095 sdw_master_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x2a6a1c85 sdw_bus_master_delete +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x372cb612 sdw_update_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x3b0a8582 sdw_startup_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x42ace726 sdw_read +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4bbec532 sdw_bus_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4cde88bf sdw_disable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4fb35338 sdw_read_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x5fd14c06 sdw_handle_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x60e31fbb sdw_find_col_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6a75c412 sdw_stream_remove_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6f95b16b sdw_shutdown_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x71891d59 sdw_deprepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x78440954 sdw_nwrite +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7ed2c277 sdw_bread_no_pm_unlocked +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x898f80b3 sdw_stream_remove_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9e122d79 sdw_alloc_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xa1939ca4 sdw_slave_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xa20fe415 sdw_stream_add_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xa6923ea2 sdw_stream_add_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb1caea61 sdw_compare_devid +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb4a27151 sdw_bus_prep_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xba54b904 sdw_cols +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xbbec2c2e sdw_enable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xbd01f98c sdw_nread +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xc7830fd3 sdw_write +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xd9e333a2 sdw_bus_master_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xda5bce09 sdw_release_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xdc95ad2f sdw_update +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xdcfe501d sdw_clear_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xe0a8547c sdw_bwrite_no_pm_unlocked +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xec9f7b8e sdw_bus_exit_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xed50d508 sdw_extract_slave_id +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf5187bab sdw_slave_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf53ba0b8 sdw_rows +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x05cc9766 sdw_cdns_clock_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x1025ea40 cdns_xfer_msg +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x211e85f5 sdw_cdns_pdi_init +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x21c19406 sdw_cdns_alloc_pdi +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x2daabaa3 sdw_cdns_enable_interrupt +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x34712074 sdw_cdns_irq +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x496691a5 sdw_cdns_config_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x5c2a6b95 sdw_cdns_check_self_clearing_bits +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x730945c0 cdns_reset_page_addr +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x771df7c9 sdw_cdns_probe +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x82e1e593 sdw_cdns_clock_restart +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x8a106e3a cdns_set_sdw_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x9b0c02f8 cdns_xfer_msg_defer +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xb1091ce9 cdns_bus_conf +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xb2ae8c00 sdw_cdns_exit_reset +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xbb56a215 sdw_cdns_is_clock_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xfab28a5b sdw_cdns_init +EXPORT_SYMBOL drivers/soundwire/soundwire-generic-allocation 0x8f4f2020 sdw_compute_params +EXPORT_SYMBOL drivers/ssb/ssb 0x0597cf15 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0x18abece4 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x1ab3212f ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x1c214918 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x23efb7d1 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x3b9225d9 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x4b64b8f1 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x7cbfe564 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x8fe70c23 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x948a88d2 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x9de5f9e7 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xa6218d8c ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xa8098e85 ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0xa8dcbcb7 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0xc19c9534 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0xc2d29eaa ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xcb17f1cb ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xce1a1314 ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xd2944423 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0xdfc7c6ef ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xf49f5fcb ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0xfc996bbd __ssb_driver_register +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x137633d9 fbtft_write_reg8_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x34a7ef5d fbtft_write_gpio8_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x3a0c9ae9 fbtft_write_vmem8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x4f44a51f fbtft_unregister_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x61b47599 fbtft_write_gpio16_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x749b5a62 fbtft_write_vmem16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7d771a65 fbtft_read_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x83a1692b fbtft_register_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x84d306ed fbtft_write_spi_emulate_9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x87bf11d4 fbtft_framebuffer_release +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x948594e1 fbtft_unregister_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x948e4533 fbtft_init_display +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x97b8d60d fbtft_probe_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x9e9c5565 fbtft_register_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xa6564eed fbtft_write_gpio16_wr_latched +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xb09290e7 fbtft_write_reg16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc4da7b7b fbtft_write_reg16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc86e3d48 fbtft_dbg_hex +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xd5ba8b73 fbtft_write_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xdad6ad68 fbtft_remove_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xddcb68f8 fbtft_write_buf_dc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xe1dfbcd0 fbtft_framebuffer_alloc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xe5ff8e13 fbtft_write_vmem16_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xf48a4867 fbtft_write_vmem16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xf7323e5b fbtft_write_reg8_bus8 +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x53d758ad gbaudio_register_module +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x580605e5 gbaudio_module_update +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x9fb2599f gbaudio_unregister_module +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x90b6195e adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x90fc365d ade7854_probe +EXPORT_SYMBOL drivers/staging/media/av7110/sp8870 0x22aa1611 sp8870_attach +EXPORT_SYMBOL drivers/staging/nvec/nvec 0x737eaa8d nvec_write_sync +EXPORT_SYMBOL drivers/staging/nvec/nvec 0xee12b684 nvec_write_async +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x026dd992 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0a7b9267 rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x17466e10 rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1beca59a rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22166084 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x25f54e7c dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2cf41845 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2f14ab46 rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x30f72021 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3859bb1e rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3b3b7dfd rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x428ff1d8 rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4afe46c2 rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4e544638 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x58c21682 rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x58ea4bfc RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6354f263 notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6afdaf6f alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6ccd08fb rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x70ceb7b4 rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x757bc9f9 rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x759b57ad rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7a474e45 rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7c3639d5 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7d9e2363 rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x81b371b4 dot11d_channel_map +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x825ca541 rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x90ea7781 rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x925f1390 rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9ac6d1a5 rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9e4ba460 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa5f9d235 rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xad6c59f5 HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xadc3982d rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xaf749594 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xafe57a3a rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb05e2734 rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb83ab1e5 rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc500240d rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc7b729b4 rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd170ba5e rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe435bc21 rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe682b198 rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf0a2d34d rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf179cae8 rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf1992dd9 rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf54ca7b0 rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf7fbaa09 rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf876cd94 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfe870e3e rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0b821129 ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0ef00101 ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0f0b88da ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1316655a dot11d_update_country_ie +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1360822d ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1591fec9 ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1c06c699 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1d66a0ff ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1db035ea notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x22e0b113 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2b3a8730 ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x358a0de0 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x383aa37d ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x417c5cfd HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x41bc5b36 ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x468669b6 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x50607d0d ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x545c18f8 ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5a0b7294 ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5b07a1b1 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x68167e9b ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6cb09089 ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6f261419 ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x72b69735 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x73c5e3c6 ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x81b1176f ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x82b96660 ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x87d063ff ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x87d0fcca dot11d_get_max_tx_pwr_in_dbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8f16b936 ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x90bcc836 is_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x92ae98d6 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x96d04cee ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x99a2d415 ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9bf5fce7 ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa2660986 dot11d_reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa35b7f35 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xaa55e75a ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xaf00a06a SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb958a919 ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xba7834e4 ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcb74d39f ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcd61e7da ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcd659965 ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xda7423ed ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdb20fc98 dot11d_scan_complete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdff60865 to_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xeca9b51d rtl8192u_dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecb63ed9 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecc5fb1b ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf11475c9 ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf33deeaa ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfa23e9ff ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfa2f4de7 ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfc5690e8 ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x02f8c431 vchiq_queue_kernel_message +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x1337680d vchiq_initialise +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x1c60d406 vchiq_get_service_userdata +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x35853b04 vchiq_release_message +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x582ed8ca vchiq_bulk_receive +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x5c054645 vchiq_msg_hold +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x607e5baf vchiq_open_service +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x70fbdac9 vchiq_msg_queue_push +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x7c419d59 vchiq_shutdown +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x8ff6c2b1 vchiq_get_peer_version +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x92b2feb4 vchiq_bulk_transmit +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x9d6478fe vchiq_use_service +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xb05b02ae vchiq_release_service +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xbabe8517 vchiq_connect +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xbca0c1c0 vchiq_add_connected_callback +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xe95e0941 vchiq_close_service +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x03131409 iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0ce2778b iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0eea56c9 iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x144a9005 iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1a732745 iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x25a7d072 iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x272ddf20 __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x37ac912e iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x388f2d40 iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3a0adc43 iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3a77f9e6 iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3e56ddea iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x44415d43 iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x488cfef9 iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4c12b616 iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x511931cd iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5547092c iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5871f344 iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x60737db9 iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x660de05c iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x771724ee iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7ca6152f iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7d66a363 iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x82236911 iscsit_thread_check_cpumask +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x877d7ffc iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9052575a iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x969c12fb iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x981455c5 iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa035e500 iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa9aca347 iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xad17d141 iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xafbe6345 iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xbab541c5 iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xbb0821da iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xbdaa8ea6 iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc32c5d19 iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc5290936 iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xcb68b823 iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd7517f12 iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xeb11b7ca iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xeb331b3c iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf04bca5a iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf34332f0 iscsi_find_param_from_key +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf8221119 iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xfb23d9e0 iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xfc02ccd3 iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/target_core_mod 0x0070f103 spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0x025867b7 sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x039505f0 target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0x03e5441c transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0e8321e8 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x10c13777 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x145e1b23 core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0x14acf0aa passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x1f0253ec target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x238f0f2c core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x28241814 sbc_dif_verify +EXPORT_SYMBOL drivers/target/target_core_mod 0x2e100d83 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x334f5cf4 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x360743c8 target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x3720fd53 target_tpg_has_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3cc66cb1 sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3f1b3f81 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x4163bd28 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x4453e2b7 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x44775f59 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x4565963c spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x49adc850 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x4a38095e target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x4cd01071 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x54328ce8 transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x552abfe0 target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x581f62cc target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0x58319350 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x6331db8f transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x638bffb7 target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x645ac93b core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x6670fa1f transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x68352860 target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x6cc91f36 target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0x6f424e72 spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0x7195d69f core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x73bca890 transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a1d0d3c target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fe0a638 target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x82ad9136 passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x85647df8 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x8f8fc693 target_stop_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x9371b7b5 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x95521574 transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0x97fb9649 target_complete_cmd_with_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0xa32b4fd1 transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xa93fc453 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xa98c82dd sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0xa9e57a17 target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0xab5fb26f core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0xb30dcdee target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xb93c4dba transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xbb27436c __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xc12b5d12 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xc1a3bbe7 spc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xc2957bfa target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0xc2ffb409 target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0xc438d611 sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xc74307ca passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xc8ad0c98 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xc8b21527 target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xcb19429e target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0xd20636fc sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0xd414e9b0 __target_init_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xd6f2adee target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xe0fb2773 target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0xe22c0273 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0xe5dfb4ee core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xe6f83996 target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0xe76b9e24 target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0xedd1d0e5 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xf0e27527 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3c2dfe0 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xfb49c72d transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0xfbdfbbe8 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0xfd6b79de target_remove_session +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x000453f5 ufshcd_system_resume +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x06e0fe44 ufshcd_runtime_resume +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x5b86e318 ufshcd_runtime_suspend +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x60c0dd8e ufshcd_alloc_host +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x65192343 ufshcd_map_desc_id_to_length +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0xc24a2940 ufshcd_get_local_unipro_ver +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0xdacd31b4 ufshcd_shutdown +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0xe7e684af ufshcd_system_suspend +EXPORT_SYMBOL drivers/ufs/host/tc-dwc-g210 0x25e63b44 tc_dwc_g210_config_20_bit +EXPORT_SYMBOL drivers/ufs/host/tc-dwc-g210 0x311bea22 tc_dwc_g210_config_40_bit +EXPORT_SYMBOL drivers/ufs/host/ufshcd-dwc 0x7bab255e ufshcd_dwc_link_startup_notify +EXPORT_SYMBOL drivers/ufs/host/ufshcd-dwc 0xe538fee2 ufshcd_dwc_dme_set_attrs +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x09af5510 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/gadget/libcomposite 0xe72ca9d6 usb_os_desc_prepare_interf_dir +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x19ff5742 sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x19776f6b usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x1c6c2ac0 usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x2dfbe62c usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x46839ab8 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x6e4d1ae8 usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x912dfaa0 usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x944a05a3 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xb2bd4e7f usb_wwan_port_remove +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xb60cf98e usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xc2223659 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xdce4e892 usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x99767ba6 usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xffcef6e7 usb_serial_suspend +EXPORT_SYMBOL drivers/vdpa/vdpa 0xf8496c79 vdpa_set_status +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x12d700d1 mdev_register_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x132a4ae1 mdev_get_type_group_id +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x40589a41 mdev_unregister_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x6be9e43a mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x75a6447b mtype_get_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x838d9e7c mdev_unregister_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x8e7c8727 mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xdca920df mtype_get_type_group_id +EXPORT_SYMBOL drivers/vfio/vfio 0x19567d06 vfio_info_cap_shift +EXPORT_SYMBOL drivers/vfio/vfio 0x248dfeca vfio_unpin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x28407375 vfio_unregister_notifier +EXPORT_SYMBOL drivers/vfio/vfio 0x6c28be5a vfio_info_add_capability +EXPORT_SYMBOL drivers/vfio/vfio 0x97a39839 vfio_register_notifier +EXPORT_SYMBOL drivers/vfio/vfio 0x9bc94c4a vfio_dma_rw +EXPORT_SYMBOL drivers/vfio/vfio 0xadc044b7 vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL drivers/vfio/vfio 0xbb7f5303 vfio_pin_pages +EXPORT_SYMBOL drivers/vhost/vhost 0x1358bbfc vhost_chr_poll +EXPORT_SYMBOL drivers/vhost/vhost 0xe8d02125 vhost_chr_write_iter +EXPORT_SYMBOL drivers/vhost/vringh 0x0c46f5fb vringh_iov_pull_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x18f3ddc2 vringh_iov_push_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x19c24590 vringh_notify_disable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x1fe50c1a vringh_abandon_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x2890c460 vringh_getdesc_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x2d2babc9 vringh_complete_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x3684d8af vringh_complete_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x3b304ebb vringh_iov_push_user +EXPORT_SYMBOL drivers/vhost/vringh 0x3ee1955e vringh_init_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x4311cd91 vringh_iov_pull_user +EXPORT_SYMBOL drivers/vhost/vringh 0x4504adc9 vringh_abandon_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x5bd469c0 vringh_getdesc_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5f586ca2 vringh_init_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x61e3831b vringh_getdesc_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x660779c8 vringh_kiov_advance +EXPORT_SYMBOL drivers/vhost/vringh 0x6a693a25 vringh_need_notify_user +EXPORT_SYMBOL drivers/vhost/vringh 0x90e93e3c vringh_complete_multi_user +EXPORT_SYMBOL drivers/vhost/vringh 0x97fa07e9 vringh_iov_push_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x9b30452e vringh_complete_user +EXPORT_SYMBOL drivers/vhost/vringh 0xa7ce8bd6 vringh_notify_disable_user +EXPORT_SYMBOL drivers/vhost/vringh 0xa8efaeb9 vringh_set_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xc0bb1581 vringh_need_notify_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xc87491c8 vringh_notify_enable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xd465f463 vringh_need_notify_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xde804bb9 vringh_iov_pull_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xe4c21196 vringh_notify_disable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xeb2ec139 vringh_notify_enable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xf1e32cc0 vringh_init_user +EXPORT_SYMBOL drivers/vhost/vringh 0xf8605294 vringh_notify_enable_user +EXPORT_SYMBOL drivers/vhost/vringh 0xf9d0dd07 vringh_abandon_user +EXPORT_SYMBOL drivers/video/backlight/lcd 0x37af5b40 lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x7138f919 lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0x8f9813ab devm_lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xb39f3a65 devm_lcd_device_unregister +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x035bfd6c svga_tilefill +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x17f3f471 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x1be6dc30 svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x1bfd4b5c svga_get_tilemax +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x6cecc8c0 svga_settile +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7202c514 svga_tilecopy +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x83a41489 svga_set_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x84c337c2 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x84c97d2a svga_match_format +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xa2a01b2a svga_tilecursor +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xb0ab2b2e svga_check_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xb409243d svga_tileblit +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xd22ca511 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xd3f44c0b svga_get_caps +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xd6ec2c44 svga_compute_pll +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xdcc5a013 svga_wseq_multi +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xe28d2a49 svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/fbdev/core/syscopyarea 0x43f78be6 sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0xa3d1ea4c sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0x5b393f27 sys_imageblit +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x534b6f18 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x9a96c33b cyber2000fb_attach +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0xb39f68d1 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0xd8536e05 mac_find_mode +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x298a5c22 matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xa31735b6 g450_mnp2f +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xa41720e9 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x4af73add matrox_G100 +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xe4c7b2ad DAC1064_global_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xea411f41 matrox_mystique +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xfdd00ce7 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_Ti3026 0x37b6b7b1 matrox_millennium +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_accel 0x9de02618 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x8a21715b matroxfb_register_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x8bfcea2b matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x9fcd2910 matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xa7935131 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x2ca223ec matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x995d2e05 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x409f9e59 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x46b88768 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x5b2e8c7c matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xa94e2dc9 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xd855af47 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/fbdev/sis/sisfb 0x3037658e sis_malloc +EXPORT_SYMBOL drivers/video/fbdev/sis/sisfb 0xfe963115 sis_free +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x837bd984 is_virtio_dma_buf +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0xcf570055 virtio_dma_buf_attach +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0xd1b4b9bf virtio_dma_buf_export +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0xe6c9f621 virtio_dma_buf_get_uuid +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x472c3180 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xe6bbc634 w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x551c4311 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x630b102a w1_ds2781_io +EXPORT_SYMBOL drivers/w1/wire 0x0614f4d3 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x35a9c4a7 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x3ee9dcee w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xbe265225 w1_register_family +EXPORT_SYMBOL fs/fscache/fscache 0x17a40297 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x1a0d09e7 fscache_n_write +EXPORT_SYMBOL fs/fscache/fscache 0x1a25cfa0 __tracepoint_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x1b9922f1 fscache_relinquish_cache +EXPORT_SYMBOL fs/fscache/fscache 0x234a140d __traceiter_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x24765577 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x306805d3 __SCK__tp_func_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x35bb0284 fscache_wait_for_operation +EXPORT_SYMBOL fs/fscache/fscache 0x39674879 __tracepoint_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x4404d2aa fscache_n_no_create_space +EXPORT_SYMBOL fs/fscache/fscache 0x4996bd29 fscache_n_updates +EXPORT_SYMBOL fs/fscache/fscache 0x4bd084ba __SCK__tp_func_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x557a775f fscache_addremove_sem +EXPORT_SYMBOL fs/fscache/fscache 0x572773e2 fscache_put_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x5e9a0cd4 fscache_get_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x6311ccb3 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x6c5e41e7 __tracepoint_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x6d2f4a3c __fscache_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x6e416521 __SCK__tp_func_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x70c5a357 __fscache_begin_read_operation +EXPORT_SYMBOL fs/fscache/fscache 0x71541455 __fscache_write_to_cache +EXPORT_SYMBOL fs/fscache/fscache 0x7f65aa4a fscache_end_volume_access +EXPORT_SYMBOL fs/fscache/fscache 0x8c2d6da7 fscache_clearance_waiters +EXPORT_SYMBOL fs/fscache/fscache 0x90b3e4ca fscache_dirty_folio +EXPORT_SYMBOL fs/fscache/fscache 0x90d447f3 fscache_n_culled +EXPORT_SYMBOL fs/fscache/fscache 0x9472e990 __fscache_relinquish_volume +EXPORT_SYMBOL fs/fscache/fscache 0x9c85bf38 fscache_end_cookie_access +EXPORT_SYMBOL fs/fscache/fscache 0x9ffefcb2 fscache_n_read +EXPORT_SYMBOL fs/fscache/fscache 0xa2e11bf7 fscache_acquire_cache +EXPORT_SYMBOL fs/fscache/fscache 0xae6040a5 __traceiter_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0xb2a2b6c8 fscache_withdraw_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xbca46908 fscache_wq +EXPORT_SYMBOL fs/fscache/fscache 0xc1a23d21 __fscache_acquire_volume +EXPORT_SYMBOL fs/fscache/fscache 0xc2111d65 __fscache_use_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xcc5ff3a9 __fscache_clear_page_bits +EXPORT_SYMBOL fs/fscache/fscache 0xcce11a60 fscache_n_no_write_space +EXPORT_SYMBOL fs/fscache/fscache 0xdcb87498 __traceiter_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0xdf192bf9 fscache_cookie_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0xe112f8ed __fscache_unuse_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xe19ad090 fscache_withdraw_volume +EXPORT_SYMBOL fs/fscache/fscache 0xe51b8bff fscache_resume_after_invalidation +EXPORT_SYMBOL fs/fscache/fscache 0xe668c430 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xe8508278 __fscache_begin_write_operation +EXPORT_SYMBOL fs/fscache/fscache 0xec307e25 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xf134ffa6 __fscache_resize_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xfd01b3e0 fscache_caching_failed +EXPORT_SYMBOL fs/netfs/netfs 0x2004f1c8 netfs_stats_show +EXPORT_SYMBOL fs/netfs/netfs 0x5cc85571 netfs_write_begin +EXPORT_SYMBOL fs/netfs/netfs 0x7c0ed8a9 netfs_read_folio +EXPORT_SYMBOL fs/netfs/netfs 0xad4e5de0 netfs_readahead +EXPORT_SYMBOL fs/netfs/netfs 0xd6dc0310 netfs_subreq_terminated +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x02569634 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x1a805cab qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x2d207bfc qtree_get_next_id +EXPORT_SYMBOL fs/quota/quota_tree 0x3d2e7e0d qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x4fc9069a qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xbb53a69a qtree_release_dquot +EXPORT_SYMBOL lib/crc-itu-t 0x09a34a2b crc_itu_t +EXPORT_SYMBOL lib/crc-itu-t 0xd819a524 crc_itu_t_table +EXPORT_SYMBOL lib/crc7 0x65aaf037 crc7_be_syndrome_table +EXPORT_SYMBOL lib/crc7 0xba55d23e crc7_be +EXPORT_SYMBOL lib/crypto/libarc4 0x2bb32ad1 arc4_setkey +EXPORT_SYMBOL lib/crypto/libarc4 0xcd47fcc4 arc4_crypt +EXPORT_SYMBOL lib/crypto/libchacha 0xcec122d7 chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x147c3f2e chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x37b34b92 chacha20poly1305_encrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x521c7102 xchacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x5b19e187 chacha20poly1305_decrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xc20134e7 chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xce15a526 xchacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x12627f15 curve25519_generic +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x4a5a8811 curve25519_null_point +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x7e6fdbfc curve25519_base_point +EXPORT_SYMBOL lib/crypto/libpoly1305 0x021f3700 poly1305_core_blocks +EXPORT_SYMBOL lib/crypto/libpoly1305 0xbcb90cb3 poly1305_core_emit +EXPORT_SYMBOL lib/crypto/libpoly1305 0xd45b9cf4 poly1305_core_setkey +EXPORT_SYMBOL lib/libcrc32c 0x89a0cd52 crc32c_impl +EXPORT_SYMBOL lib/libcrc32c 0xb15b4109 crc32c +EXPORT_SYMBOL lib/lru_cache 0x0641307b lc_destroy +EXPORT_SYMBOL lib/lru_cache 0x098d2ed9 lc_try_get +EXPORT_SYMBOL lib/lru_cache 0x2d47ac83 lc_committed +EXPORT_SYMBOL lib/lru_cache 0x2f3dcecb lc_index_of +EXPORT_SYMBOL lib/lru_cache 0x4522d82a lc_reset +EXPORT_SYMBOL lib/lru_cache 0x4cf5f5a8 lc_is_used +EXPORT_SYMBOL lib/lru_cache 0x5752f31b lc_del +EXPORT_SYMBOL lib/lru_cache 0x7257beee lc_element_by_index +EXPORT_SYMBOL lib/lru_cache 0x7ea60afd lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0x9134feb7 lc_get +EXPORT_SYMBOL lib/lru_cache 0xb672aa97 lc_create +EXPORT_SYMBOL lib/lru_cache 0xbfbe53d5 lc_get_cumulative +EXPORT_SYMBOL lib/lru_cache 0xc3a98c1d lc_try_lock +EXPORT_SYMBOL lib/lru_cache 0xcc979a91 lc_set +EXPORT_SYMBOL lib/lru_cache 0xdc59545c lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0xefec290a lc_find +EXPORT_SYMBOL lib/lru_cache 0xfd525ec7 lc_put +EXPORT_SYMBOL lib/lz4/lz4_compress 0x4f4d78c5 LZ4_compress_default +EXPORT_SYMBOL lib/lz4/lz4_compress 0x5bc92e85 LZ4_compress_destSize +EXPORT_SYMBOL lib/lz4/lz4_compress 0x6004858d LZ4_compress_fast +EXPORT_SYMBOL lib/lz4/lz4_compress 0x635ff76d LZ4_saveDict +EXPORT_SYMBOL lib/lz4/lz4_compress 0x749849d8 LZ4_loadDict +EXPORT_SYMBOL lib/lz4/lz4_compress 0xf9eced44 LZ4_compress_fast_continue +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x38f7b6e0 LZ4_compress_HC_continue +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x93ff008c LZ4_loadDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x9cef495b LZ4_saveDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0xddf86133 LZ4_compress_HC +EXPORT_SYMBOL lib/math/cordic 0x7e431c15 cordic_calc_iq +EXPORT_SYMBOL lib/objagg 0x0363233d objagg_obj_raw +EXPORT_SYMBOL lib/objagg 0x23865923 objagg_destroy +EXPORT_SYMBOL lib/objagg 0x24ca5ca9 objagg_obj_root_priv +EXPORT_SYMBOL lib/objagg 0x342aefe2 objagg_obj_delta_priv +EXPORT_SYMBOL lib/objagg 0x352633f4 objagg_hints_stats_get +EXPORT_SYMBOL lib/objagg 0x3c58e78f objagg_hints_put +EXPORT_SYMBOL lib/objagg 0x6691f29d objagg_obj_put +EXPORT_SYMBOL lib/objagg 0x679e8cc2 objagg_create +EXPORT_SYMBOL lib/objagg 0xb17ab162 objagg_obj_get +EXPORT_SYMBOL lib/objagg 0xdaa3ee68 objagg_stats_get +EXPORT_SYMBOL lib/objagg 0xf5511527 objagg_stats_put +EXPORT_SYMBOL lib/objagg 0xfaa9d1a8 objagg_hints_get +EXPORT_SYMBOL lib/parman 0x0f518717 parman_prio_init +EXPORT_SYMBOL lib/parman 0x7b03d378 parman_item_add +EXPORT_SYMBOL lib/parman 0x8b7e26f5 parman_item_remove +EXPORT_SYMBOL lib/parman 0xc3e2d892 parman_create +EXPORT_SYMBOL lib/parman 0xc6a3d260 parman_prio_fini +EXPORT_SYMBOL lib/parman 0xca39ae6a parman_destroy +EXPORT_SYMBOL lib/raid6/raid6_pq 0x0b2c64a3 raid6_vgfmul +EXPORT_SYMBOL lib/raid6/raid6_pq 0x17f54263 raid6_gfexp +EXPORT_SYMBOL lib/raid6/raid6_pq 0x59a2712d raid6_gfinv +EXPORT_SYMBOL lib/raid6/raid6_pq 0xb0d904b7 raid6_empty_zero_page +EXPORT_SYMBOL lib/raid6/raid6_pq 0xc8e3332b raid6_gflog +EXPORT_SYMBOL lib/raid6/raid6_pq 0xcc4ee841 raid6_gfexi +EXPORT_SYMBOL lib/raid6/raid6_pq 0xd91319d6 raid6_gfmul +EXPORT_SYMBOL net/6lowpan/6lowpan 0x4a8d2841 lowpan_unregister_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0x81bd2c1a lowpan_register_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0xa9ba7843 lowpan_nhc_del +EXPORT_SYMBOL net/6lowpan/6lowpan 0xce74ef2a lowpan_nhc_add +EXPORT_SYMBOL net/6lowpan/6lowpan 0xdea0168f lowpan_unregister_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0xf1b7f01d lowpan_register_netdevice +EXPORT_SYMBOL net/802/p8022 0x6bf0a0d5 register_8022_client +EXPORT_SYMBOL net/802/p8022 0xb68f8297 unregister_8022_client +EXPORT_SYMBOL net/802/psnap 0x3058a9ba register_snap_client +EXPORT_SYMBOL net/802/psnap 0x3c46fccb unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x0d2eb8d2 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x132092a2 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x138966f2 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0x19aed352 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x25692ef0 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x25bc650b v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x2e29622f p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x30751317 p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x413a75c9 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x41ce9823 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x4778c03c p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x4b19a3bb p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x51e1d674 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x54e3c52d p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x570948a0 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x5e0b02d1 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x6ed16185 p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x6f1d77b9 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x7e051724 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x81248c5c p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0x81a76c92 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x91a40f06 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x9570c303 p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x9576ffa8 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x95bd8f96 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x984c5e73 p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0x99dd1f9e p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x9bf9d7a5 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0xaa707f3d p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0xb6662f86 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0xb79f25fd p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0xba2678f9 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0xba95c590 p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0xc017cdf4 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0xc1f3d1cb p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0xc5626a7c p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0xc604831f p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0xd384c683 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xd4ea5fdd p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0xd79919d2 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xf184aad9 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xf364d595 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0xf6f4b4c8 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xf72553da p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0xfc6285d6 p9_client_read_once +EXPORT_SYMBOL net/9p/9pnet 0xfce49c38 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0xff1db669 p9_client_stat +EXPORT_SYMBOL net/appletalk/appletalk 0x2181b55d atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0x4e81f051 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0x73fe4142 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xf8a6f336 alloc_ltalkdev +EXPORT_SYMBOL net/atm/atm 0x1ecbd087 atm_charge +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x3e9bcfa7 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x4443d399 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x44c6e633 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x48c44083 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x7216a1dd atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x72e7aa06 atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x87e6e4b9 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x8cbe7e4f atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x9398a1d0 vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0x96dd66b7 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x971c98e2 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xdce4d203 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xfc61dfb2 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0xfd587d58 deregister_atm_ioctl +EXPORT_SYMBOL net/ax25/ax25 0x14cecd59 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x2ecfa430 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x88059a12 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x8ce85ab0 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xa0ced336 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xaff3b9fd ax25_ip_xmit +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xc28abe8b ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0xc47764eb ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xee02e420 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0xfda15882 ax25_header_ops +EXPORT_SYMBOL net/bluetooth/bluetooth 0x05a8eb01 l2cap_conn_put +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0718b8b7 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0df63547 hci_cmd_sync_cancel +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1373a1da bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1db81085 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x214e4265 bt_warn +EXPORT_SYMBOL net/bluetooth/bluetooth 0x23ea1120 hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x24d994ea hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2a2325fc bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3827b151 hci_mgmt_chan_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3b53f6f5 l2cap_conn_get +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3b7fa973 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3b999576 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3c3c94c4 l2cap_register_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3ebd285a bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x416fde76 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x47239f4c __hci_cmd_sync_status_sk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4ccf64c9 hci_set_hw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4dd062f5 hci_recv_diag +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4f41c6e6 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x50a82a61 l2cap_unregister_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5eebe9e6 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5fd4e80b hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x672469a4 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x67fc6a19 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6f93e348 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x748d3b28 __hci_cmd_sync_status +EXPORT_SYMBOL net/bluetooth/bluetooth 0x75af2578 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7aad008b bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b5ce5c3 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b8c32f1 bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7d956a29 __hci_cmd_sync_sk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x82a4afcf hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8b284ddb hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8c92069d hci_set_fw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8f969c8d hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8fea24bd bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x902533a7 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x98692ac0 bt_sock_wait_ready +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9aebbbd1 l2cap_chan_close +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa762d69b bt_procfs_init +EXPORT_SYMBOL net/bluetooth/bluetooth 0xade55d32 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb0733a2e hci_alloc_dev_priv +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb5b57908 l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb68811fe bt_procfs_cleanup +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb792daee __hci_cmd_sync_ev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc04f3003 __hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc068aaf5 bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc6f2b070 hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc9fb1ed4 hci_reset_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcb6c85c2 hci_cmd_sync_queue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7360216 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7613212 bt_err_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7ea5cc7 hci_release_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xda91a85f __hci_cmd_send +EXPORT_SYMBOL net/bluetooth/bluetooth 0xddacccf6 bt_warn_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xea8b6610 hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf98ffdc9 bt_sock_register +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x116e531f ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x1ac71fac ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x3ba24d31 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x66ff438e ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xa4595c87 ebt_register_template +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xee6aea1a ebt_unregister_template +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x1af1c8d4 caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0x2a09f713 cfpkt_fromnative +EXPORT_SYMBOL net/caif/caif 0x329dbd06 cfpkt_info +EXPORT_SYMBOL net/caif/caif 0x38701a7c cfcnfg_del_phy_layer +EXPORT_SYMBOL net/caif/caif 0x3fa84493 cfpkt_add_head +EXPORT_SYMBOL net/caif/caif 0x40babbe0 cfpkt_extr_head +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x5c86ec05 get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0x5fe1e7c4 cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0x70f09046 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x839ddb7b cfcnfg_set_phy_state +EXPORT_SYMBOL net/caif/caif 0x9e3e305d cfpkt_set_prio +EXPORT_SYMBOL net/caif/caif 0xab1e5d9d caif_enroll_dev +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/can/can 0x35292d2a can_rx_register +EXPORT_SYMBOL net/can/can 0x6491185e can_proto_unregister +EXPORT_SYMBOL net/can/can 0x67dc2b14 can_sock_destruct +EXPORT_SYMBOL net/can/can 0x8377065a can_rx_unregister +EXPORT_SYMBOL net/can/can 0xacb8391d can_send +EXPORT_SYMBOL net/can/can 0xc45b397d can_proto_register +EXPORT_SYMBOL net/ceph/libceph 0x0212921b ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0x02f6131d ceph_cls_unlock +EXPORT_SYMBOL net/ceph/libceph 0x035e96a3 ceph_osdc_put_request +EXPORT_SYMBOL net/ceph/libceph 0x04cad6f0 ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x04f2ee9b ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x0515c415 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0x0a807d20 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x0b84595f osd_req_op_extent_init +EXPORT_SYMBOL net/ceph/libceph 0x0b938a0c ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0x0dea0572 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x11b85ae2 ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0x1378aba3 ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0x14134669 ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/ceph/libceph 0x1517cf72 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x165b1948 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x17c17611 ceph_pg_to_acting_primary +EXPORT_SYMBOL net/ceph/libceph 0x19890880 ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x211427c6 osd_req_op_copy_from_init +EXPORT_SYMBOL net/ceph/libceph 0x24fc2b65 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x28317984 __ceph_auth_get_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x2a983d26 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x2ae83a9c osd_req_op_init +EXPORT_SYMBOL net/ceph/libceph 0x2d609849 ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0x2f17e2eb ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x2ff5304f ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x3378e714 osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0x34092092 osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0x34a1c220 ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x35b9ace1 ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0x38e2ce9c ceph_auth_handle_svc_reply_more +EXPORT_SYMBOL net/ceph/libceph 0x38f2d94e ceph_file_to_extents +EXPORT_SYMBOL net/ceph/libceph 0x3c8d7111 ceph_get_num_objects +EXPORT_SYMBOL net/ceph/libceph 0x3f73d782 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x3fe2cc35 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x417a9131 ceph_oloc_destroy +EXPORT_SYMBOL net/ceph/libceph 0x447994e9 ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x472d8473 osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x4893b7c4 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x4959e892 osd_req_op_extent_dup_last +EXPORT_SYMBOL net/ceph/libceph 0x4affd6c2 ceph_parse_fsid +EXPORT_SYMBOL net/ceph/libceph 0x4b72e39e ceph_auth_handle_bad_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x50603ce3 ceph_decode_entity_addrvec +EXPORT_SYMBOL net/ceph/libceph 0x50d15cda osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x5620a145 ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x594dc797 ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x5a7070ad __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x5b987b30 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x6c01a75a ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0x6d324df9 osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0x6f4e8deb ceph_cls_lock_info +EXPORT_SYMBOL net/ceph/libceph 0x7115d7e3 ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0x8491a136 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x86fca7e4 ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x8c16a873 ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0x8d3ff600 ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0x8d5b8ccb ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0x909a67a2 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0x90a86a12 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0x92b7b4ce ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0x987d3968 ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x9bc6b539 ceph_find_or_create_string +EXPORT_SYMBOL net/ceph/libceph 0x9ca95932 ceph_create_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x9d2d1ac0 ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x9d344ffc ceph_auth_handle_svc_reply_done +EXPORT_SYMBOL net/ceph/libceph 0x9d8b607c ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x9ee34319 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x9fbba67f ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x9fefa3cb ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0xa4308e1e ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xa579ab37 ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0xa698f998 ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0xa74c1ff7 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0xa7707243 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xa7fef143 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0xa8a8567d osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0xaa07abb9 ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0xaa8e986f osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0xaaa806cf ceph_osdc_list_watchers +EXPORT_SYMBOL net/ceph/libceph 0xab424bbd ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0xad703657 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb42fbeac ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb72c162e ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xb789f814 ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0xbbcd280e ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0xbc14686f osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0xbd2f79ae ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0xbe3879aa ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0xc31f5fdb osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0xc366bfa1 ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xc375bf63 ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0xc730e812 ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0xc7642fbe ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0xc9ebe724 ceph_msg_put +EXPORT_SYMBOL net/ceph/libceph 0xca80437b ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0xcbb3de42 ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0xcc61cf0a osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xcefbb8e6 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xd3436c3e ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0xd4d736db ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0xd4eb7735 ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0xd503e178 ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0xd720c9b3 osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0xd80c4149 ceph_monc_blocklist_add +EXPORT_SYMBOL net/ceph/libceph 0xda9d74a7 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0xdc118e92 ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0xdf598c62 osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0xdf6ef4a1 ceph_oid_printf +EXPORT_SYMBOL net/ceph/libceph 0xdfc091f9 ceph_entity_type_name +EXPORT_SYMBOL net/ceph/libceph 0xe0b43dcd ceph_osdc_watch +EXPORT_SYMBOL net/ceph/libceph 0xe19a82d3 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0xe34a59f2 ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0xe76e7226 ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0xe8357654 ceph_auth_get_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xec0332b2 ceph_osdc_call +EXPORT_SYMBOL net/ceph/libceph 0xec140b2a ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0xeda2a16a ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0xee120c03 ceph_release_string +EXPORT_SYMBOL net/ceph/libceph 0xee7517b1 ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0xeeddfdd5 ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0xeef6cfa3 ceph_iterate_extents +EXPORT_SYMBOL net/ceph/libceph 0xefce3c3b ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0xefce991c ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0xf03fe862 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0xf1155a5c osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0xf38de6e1 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0xf5a20bb5 osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/ceph/libceph 0xf7dec2b9 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0xfb276c3c ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0xfdaf1ee1 ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0xfe63a86c ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0xfed79233 osd_req_op_xattr_init +EXPORT_SYMBOL net/ceph/libceph 0xff535f02 ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0xff59ae6c ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xff8b1990 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xffebe6b8 ceph_client_gid +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x85b74c57 dccp_syn_ack_timeout +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xc9f4c950 dccp_req_err +EXPORT_SYMBOL net/hsr/hsr 0x9bc74230 hsr_get_version +EXPORT_SYMBOL net/hsr/hsr 0xa50c2398 is_hsr_master +EXPORT_SYMBOL net/ieee802154/ieee802154 0x16c983db wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x367d4dab wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0x3e92b000 wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x4262beb3 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0x4f9ec30a wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x5361dea4 wpan_phy_new +EXPORT_SYMBOL net/ipv4/fou 0x1757d1a4 fou_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0x94584dd8 __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0xd7fe1253 __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0xf13914b3 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0x58e25243 gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x0cb42a96 ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x85161517 ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x92baad71 ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xe62af057 ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x5da6b3b4 arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xb5e9cc8a arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xbb5b54ad arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xe694bb67 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x1c651674 ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x55b77067 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x7e75ca02 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xc1622bb3 ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/tunnel4 0x1c9fabcd xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0xc91f4035 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/udp_tunnel 0x59086838 udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x0c5e74df ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x351f50d2 ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x59968f4e ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x5f873368 ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x640b09f2 ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x69baed7c ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x6d322aa5 ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x899a60a6 ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xea6dcfd7 ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x18280f20 ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x20e17577 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x3523976f ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x5a3e57dd ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/tunnel6 0x8ad4216c xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0xe884e077 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x18984632 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xb7bbfedf xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/lapb/lapb 0x419b8441 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x5b91aaf3 lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x693f474b lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x97b70d81 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0xb8be5898 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0xb95e58c5 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0xbd658eaf lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0xbf1faa37 lapb_disconnect_request +EXPORT_SYMBOL net/llc/llc 0x32ee2d06 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x4dce2174 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x8788dbb8 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0x93172851 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0xb33e83bf llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0xd0487353 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0xf1cefd7a llc_sap_close +EXPORT_SYMBOL net/mac80211/mac80211 0x05ae86cf ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x063f5308 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x0b794672 ieee80211_rx_ba_timer_expired +EXPORT_SYMBOL net/mac80211/mac80211 0x10812dce __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x10fcab2c ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x1236b2dc ieee80211_iter_keys_rcu +EXPORT_SYMBOL net/mac80211/mac80211 0x157231ec ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x160673ce ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x183dcd3b ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0x19f37f0d ieee80211_update_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x1a13de8c ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x1a66fc17 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0x1c030a0c ieee80211_nan_func_terminated +EXPORT_SYMBOL net/mac80211/mac80211 0x26f089ff ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x2839fc0a ieee80211_return_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x31136afd ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x34a4b2fa __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x3cc1075d ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x485d4e69 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x4991cdad ieee80211_get_fils_discovery_tmpl +EXPORT_SYMBOL net/mac80211/mac80211 0x4abc6d7f ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x4b8c4a37 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x4cf35a3b __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x5039a5cf __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x52937970 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x563ba931 ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x5642250b ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x56cdc5e7 ieee80211_unreserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x576bdfae ieee80211_sta_register_airtime +EXPORT_SYMBOL net/mac80211/mac80211 0x576e1e1e ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x59d0f1b3 ieee80211_nan_func_match +EXPORT_SYMBOL net/mac80211/mac80211 0x637f7588 ieee80211_sta_eosp +EXPORT_SYMBOL net/mac80211/mac80211 0x69af690b ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x6bbdab3a ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x716037b2 ieee80211_csa_finish +EXPORT_SYMBOL net/mac80211/mac80211 0x7431c8c4 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x7493e566 ieee80211_rx_napi +EXPORT_SYMBOL net/mac80211/mac80211 0x7544ea2e ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x786e4eb8 ieee80211_sta_pspoll +EXPORT_SYMBOL net/mac80211/mac80211 0x78fd0352 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x79d509bc ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x7a45b11d ieee80211_manage_rx_ba_offl +EXPORT_SYMBOL net/mac80211/mac80211 0x7d0872f0 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x7dd8ed60 ieee80211_tdls_oper_request +EXPORT_SYMBOL net/mac80211/mac80211 0x80d1881b ieee80211_tx_prepare_skb +EXPORT_SYMBOL net/mac80211/mac80211 0x82dcebdd ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x8602b227 ieee80211_rx_list +EXPORT_SYMBOL net/mac80211/mac80211 0x8964d5d1 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x8a86388d ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x8b63a27a ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x8c7615da ieee80211_tx_rate_update +EXPORT_SYMBOL net/mac80211/mac80211 0x8ecf09ad ieee80211_mark_rx_ba_filtered_frames +EXPORT_SYMBOL net/mac80211/mac80211 0x8f1776bc ieee80211_get_unsol_bcast_probe_resp_tmpl +EXPORT_SYMBOL net/mac80211/mac80211 0x90cfe325 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x939ab5bc rate_control_set_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x98f08f93 ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0x991a0ca0 ieee80211_parse_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x9a59a768 ieee80211_get_tx_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x9c7440a1 ieee80211_schedule_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x9ddc5c61 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x9f991c20 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x9fcec237 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xa0e7b009 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xa0f39dcb ieee80211_beacon_update_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0xa2b530d3 ieee80211_reserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0xa9a1d8e4 ieee80211_send_eosp_nullfunc +EXPORT_SYMBOL net/mac80211/mac80211 0xaa0ceb1f ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0xb54a0cf7 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xb8a74d63 ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0xb994ed82 ieee80211_beacon_cntdwn_is_complete +EXPORT_SYMBOL net/mac80211/mac80211 0xbbceeb35 ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0xbf0efc58 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0xbf208ddc ieee80211_report_wowlan_wakeup +EXPORT_SYMBOL net/mac80211/mac80211 0xc1033aca ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0xc25cceb0 ieee80211_alloc_hw_nm +EXPORT_SYMBOL net/mac80211/mac80211 0xc4c11806 ieee80211_radar_detected +EXPORT_SYMBOL net/mac80211/mac80211 0xc4feb778 ieee80211_next_txq +EXPORT_SYMBOL net/mac80211/mac80211 0xc555fe4a ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xc64c9314 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xc94f3c0d ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0xca5eb858 ieee80211_sta_uapsd_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xd27323f3 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xd30d26b4 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xd4af71b9 ieee80211_txq_airtime_check +EXPORT_SYMBOL net/mac80211/mac80211 0xd7f4e091 ieee80211_txq_get_depth +EXPORT_SYMBOL net/mac80211/mac80211 0xd808497a ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0xdc029607 ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0xdf25ef10 ieee80211_disconnect +EXPORT_SYMBOL net/mac80211/mac80211 0xdfb0a5ad ieee80211_txq_may_transmit +EXPORT_SYMBOL net/mac80211/mac80211 0xdfd10f92 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0xe1d7685c ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0xe2867b06 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xe2d95bb9 ieee80211_tx_dequeue +EXPORT_SYMBOL net/mac80211/mac80211 0xe473d211 ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0xe4d587ea ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0xe5752af3 ieee80211_get_bssid +EXPORT_SYMBOL net/mac80211/mac80211 0xe7a87695 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0xeb3342dd ieee80211_channel_switch_disconnect +EXPORT_SYMBOL net/mac80211/mac80211 0xf25c3b6a ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0xf3d0d884 ieee80211_beacon_set_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0xf3e8b493 ieee80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/mac80211/mac80211 0xf67ba52e ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0xf91c1b5d ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xf961528c ieee80211_txq_schedule_start +EXPORT_SYMBOL net/mac80211/mac80211 0xfa1cf5cd ieee80211_tx_status_ext +EXPORT_SYMBOL net/mac80211/mac80211 0xfb3a6003 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac802154/mac802154 0x15ed72e9 ieee802154_xmit_error +EXPORT_SYMBOL net/mac802154/mac802154 0x2330ef6c ieee802154_xmit_hw_error +EXPORT_SYMBOL net/mac802154/mac802154 0x51e2d711 ieee802154_register_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x88ab2f0a ieee802154_xmit_complete +EXPORT_SYMBOL net/mac802154/mac802154 0x89df3289 ieee802154_unregister_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xa7c16a81 ieee802154_rx_irqsafe +EXPORT_SYMBOL net/mac802154/mac802154 0xac173651 ieee802154_stop_queue +EXPORT_SYMBOL net/mac802154/mac802154 0xc80537b5 ieee802154_alloc_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xe0ca5089 ieee802154_wake_queue +EXPORT_SYMBOL net/mac802154/mac802154 0xe6d3cbc8 ieee802154_configure_durations +EXPORT_SYMBOL net/mac802154/mac802154 0xeaa380ae ieee802154_free_hw +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x069f8368 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0d433415 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1b0d7818 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x30ebb5fd ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x59fc479c ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x6dd83219 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x6f725d3e ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7f8a918e ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x9a2df5de ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa920664a unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb159ef5a register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xbcc6e17c ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc78eb253 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd946efe2 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xeb3bf369 ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x3b08a8f0 nf_ct_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x5bb7b17e nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x89d99ee1 __nf_ct_ext_find +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0xf2a36612 pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x68f3d53a nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0x7e664ef0 nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nf_nat 0x88734d15 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0xef737dc7 nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nft_fib 0xb3c36947 nft_fib_policy +EXPORT_SYMBOL net/netfilter/x_tables 0x0d7f5fcd xt_alloc_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x0d83f9bd xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x37c3f98e xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x3bf9d084 xt_check_table_hooks +EXPORT_SYMBOL net/netfilter/x_tables 0x48012e28 xt_check_proc_name +EXPORT_SYMBOL net/netfilter/x_tables 0x50873741 xt_compat_init_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x60a56bb0 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x73bbf587 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x766d05d7 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x80944eb5 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x9362db51 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x977fd4bf xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xa25fc115 xt_compat_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0xa9af843c xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0xcb3e91cc xt_counters_alloc +EXPORT_SYMBOL net/netfilter/x_tables 0xce5165f7 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0xd87ae60d xt_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0xda4f839d xt_find_table +EXPORT_SYMBOL net/netfilter/x_tables 0xe204e042 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xfef779fa xt_find_jump_offset +EXPORT_SYMBOL net/nfc/hci/hci 0x09a2a08e nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x0cbdf253 nfc_hci_reset_pipes +EXPORT_SYMBOL net/nfc/hci/hci 0x179a1b8c nfc_llc_start +EXPORT_SYMBOL net/nfc/hci/hci 0x1a70b9ed nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x2f685788 nfc_hci_reset_pipes_per_host +EXPORT_SYMBOL net/nfc/hci/hci 0x32f207b0 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x3c572e1c nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x4f3a4026 nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x74fe3670 nfc_hci_result_to_errno +EXPORT_SYMBOL net/nfc/hci/hci 0x7ee011eb nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0xa8475256 nfc_hci_target_discovered +EXPORT_SYMBOL net/nfc/hci/hci 0xc70327dc nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0xc722a918 nfc_llc_stop +EXPORT_SYMBOL net/nfc/hci/hci 0xcd0a1e62 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0xd299f38d nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0xd4b5b34b nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xd736097c nfc_hci_driver_failure +EXPORT_SYMBOL net/nfc/hci/hci 0xd8b46fb6 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0xdd231c55 nfc_hci_sak_to_protocol +EXPORT_SYMBOL net/nfc/hci/hci 0xe111fa56 nfc_hci_send_cmd_async +EXPORT_SYMBOL net/nfc/hci/hci 0xeca3081d nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xfc2fa007 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0xffee0b40 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0x0d82a20d nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0x10125596 nci_nfcee_discover +EXPORT_SYMBOL net/nfc/nci/nci 0x21766220 nci_send_data +EXPORT_SYMBOL net/nfc/nci/nci 0x22d5b648 nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0x2bf457de nci_core_conn_create +EXPORT_SYMBOL net/nfc/nci/nci 0x3648a4ec nci_hci_dev_session_init +EXPORT_SYMBOL net/nfc/nci/nci 0x38190dfb nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x3a191d77 nci_send_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x4a06d2d0 nci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x57ecd1f8 nci_req_complete +EXPORT_SYMBOL net/nfc/nci/nci 0x5928b986 nci_hci_clear_all_pipes +EXPORT_SYMBOL net/nfc/nci/nci 0x5cddd57a nci_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0x6e11944c nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0x7358c7d0 nci_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0x76e58278 nci_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0x7a5c42a4 nci_core_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x7ac408e6 nci_set_config +EXPORT_SYMBOL net/nfc/nci/nci 0x7dcc8611 nci_core_conn_close +EXPORT_SYMBOL net/nfc/nci/nci 0x7eda9c3c nci_get_conn_info_by_dest_type_params +EXPORT_SYMBOL net/nfc/nci/nci 0x950a486c nci_nfcee_mode_set +EXPORT_SYMBOL net/nfc/nci/nci 0x998cbcf0 nci_core_init +EXPORT_SYMBOL net/nfc/nci/nci 0xa5b75b93 nci_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xbe6ce7e2 nci_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xbfdf1816 nci_prop_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xd2925efb nci_conn_max_data_pkt_payload_size +EXPORT_SYMBOL net/nfc/nci/nci 0xe30998bc nci_core_reset +EXPORT_SYMBOL net/nfc/nci/nci 0xe4fc3e56 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0xe6836410 nci_hci_open_pipe +EXPORT_SYMBOL net/nfc/nci/nci 0xfd28b9ab nci_recv_frame +EXPORT_SYMBOL net/nfc/nfc 0x012fb61d nfc_fw_download_done +EXPORT_SYMBOL net/nfc/nfc 0x0311f667 nfc_send_to_raw_sock +EXPORT_SYMBOL net/nfc/nfc 0x0672fcfe nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x10555b05 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x13809e6e nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0x1403bf59 nfc_vendor_cmd_reply +EXPORT_SYMBOL net/nfc/nfc 0x16383bbb nfc_add_se +EXPORT_SYMBOL net/nfc/nfc 0x1b3d3b84 nfc_remove_se +EXPORT_SYMBOL net/nfc/nfc 0x2d07de62 nfc_driver_failure +EXPORT_SYMBOL net/nfc/nfc 0x531366ce nfc_get_local_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x59bf52dd nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x6577eb11 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x69a1dc29 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x72c3ea68 nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x8146b7e8 nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nfc 0x87fc0a2b nfc_tm_deactivated +EXPORT_SYMBOL net/nfc/nfc 0x96cc1f32 __nfc_alloc_vendor_cmd_reply_skb +EXPORT_SYMBOL net/nfc/nfc 0x9e477a1e nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x9eab99cb nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0xa49e1e3c nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0xb9a53bdf nfc_tm_activated +EXPORT_SYMBOL net/nfc/nfc 0xc20c2c6a nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0xe8e1aa92 nfc_se_transaction +EXPORT_SYMBOL net/nfc/nfc 0xf6451419 nfc_se_connectivity +EXPORT_SYMBOL net/nfc/nfc 0xff51851c nfc_find_se +EXPORT_SYMBOL net/nfc/nfc_digital 0xda5a0e53 nfc_digital_unregister_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xe6d51b17 nfc_digital_allocate_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xeab731e3 nfc_digital_free_device +EXPORT_SYMBOL net/nfc/nfc_digital 0xee62b8c8 nfc_digital_register_device +EXPORT_SYMBOL net/phonet/phonet 0x0c48390a pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x45a758ee phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x86a650e2 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x8e07d52f pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x8e293697 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0xdb774df2 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0xec541ad1 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0xed7cd21c pn_skb_send +EXPORT_SYMBOL net/rxrpc/rxrpc 0x2dd50ba3 rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0x2e6e2efa rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x54423af2 rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0x54d04a15 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x58564a52 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x586b6abf rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x5d87cdc2 rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0x63a24717 rxrpc_kernel_recv_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x66ef53a9 rxrpc_kernel_check_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x85aa4296 rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/rxrpc/rxrpc 0x883b769a rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x96996942 rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0x9748291f rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x9b3e9218 rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0xa6180cfc key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0xc4bb0b96 rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd962554a rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xfc848dad rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/sctp/sctp 0x0d77a4f4 sctp_do_peeloff +EXPORT_SYMBOL net/smc/smc 0x085eaae7 __traceiter_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x1534f494 __traceiter_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x1b1e06e1 __tracepoint_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x3153cc92 __SCK__tp_func_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x6806717b __traceiter_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0x8989d6ae __tracepoint_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x99bf1b00 __tracepoint_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0xa3d0bfc9 __traceiter_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0xb3f2d173 __SCK__tp_func_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0xcd9701fe __tracepoint_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0xe7dacb8d __SCK__tp_func_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0xfb8cae0f __SCK__tp_func_smc_switch_to_fallback +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x39e18909 gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xf12e3ea7 gss_mech_get +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xfe9012a0 gss_mech_put +EXPORT_SYMBOL net/sunrpc/sunrpc 0x5a8fe775 xdr_restrict_buflen +EXPORT_SYMBOL net/sunrpc/sunrpc 0xb1b03a64 xdr_truncate_encode +EXPORT_SYMBOL net/sunrpc/sunrpc 0xd5a16208 svc_pool_stats_open +EXPORT_SYMBOL net/tipc/tipc 0x3aa06dab tipc_nl_sk_walk +EXPORT_SYMBOL net/tipc/tipc 0x3bfd896f tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tipc/tipc 0x4a763b33 tipc_dump_done +EXPORT_SYMBOL net/tipc/tipc 0x8f99f2e2 tipc_dump_start +EXPORT_SYMBOL net/tls/tls 0x46e5ddad tls_get_record +EXPORT_SYMBOL net/wireless/cfg80211 0x06ca71fd cfg80211_chandef_create +EXPORT_SYMBOL net/wireless/cfg80211 0x0787096d cfg80211_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x07cc9a0b wiphy_read_of_freq_limits +EXPORT_SYMBOL net/wireless/cfg80211 0x0aed30b2 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x0cc95bc2 ieee80211_s1g_channel_width +EXPORT_SYMBOL net/wireless/cfg80211 0x0d2a13b0 ieee80211_get_channel_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x0e77d883 cfg80211_chandef_usable +EXPORT_SYMBOL net/wireless/cfg80211 0x117aca91 cfg80211_merge_profile +EXPORT_SYMBOL net/wireless/cfg80211 0x125281fc cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0x126d567f cfg80211_rx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x1430d8df cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x16239e97 wdev_chandef +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1b5a3a7e cfg80211_sinfo_alloc_tid_stats +EXPORT_SYMBOL net/wireless/cfg80211 0x1ce2497f reg_query_regdb_wmm +EXPORT_SYMBOL net/wireless/cfg80211 0x1d617ed0 cfg80211_conn_failed +EXPORT_SYMBOL net/wireless/cfg80211 0x20723524 cfg80211_rx_assoc_resp +EXPORT_SYMBOL net/wireless/cfg80211 0x208d9a32 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x21d8994d cfg80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x21f88a3e cfg80211_inform_bss_data +EXPORT_SYMBOL net/wireless/cfg80211 0x237d1268 cfg80211_check_station_change +EXPORT_SYMBOL net/wireless/cfg80211 0x24f76efb regulatory_set_wiphy_regd +EXPORT_SYMBOL net/wireless/cfg80211 0x275269b3 ieee80211_ie_split_ric +EXPORT_SYMBOL net/wireless/cfg80211 0x275c97f0 cfg80211_get_ies_channel_number +EXPORT_SYMBOL net/wireless/cfg80211 0x27ffe995 cfg80211_nan_func_terminated +EXPORT_SYMBOL net/wireless/cfg80211 0x2908d915 cfg80211_tdls_oper_request +EXPORT_SYMBOL net/wireless/cfg80211 0x29fbf2ac cfg80211_get_station +EXPORT_SYMBOL net/wireless/cfg80211 0x2cc53b8b cfg80211_abandon_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x2da84562 cfg80211_bss_color_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x2e66c26c cfg80211_external_auth_request +EXPORT_SYMBOL net/wireless/cfg80211 0x2e86195c cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x33e90f1d cfg80211_rx_unprot_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x3643b80f ieee80211_chandef_to_operating_class +EXPORT_SYMBOL net/wireless/cfg80211 0x38dfc01a cfg80211_iter_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x3ba2b03d cfg80211_port_authorized +EXPORT_SYMBOL net/wireless/cfg80211 0x3c48a803 cfg80211_update_owe_info_event +EXPORT_SYMBOL net/wireless/cfg80211 0x3d7712fc __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x429c0c31 ieee80211_bss_get_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x43afadee ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x44be44b3 cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x46ff300c ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x4d888bc1 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x50d29a2e get_wiphy_regdom +EXPORT_SYMBOL net/wireless/cfg80211 0x517100b9 cfg80211_report_wowlan_wakeup +EXPORT_SYMBOL net/wireless/cfg80211 0x5184467e cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x534a507d cfg80211_assoc_comeback +EXPORT_SYMBOL net/wireless/cfg80211 0x5584448a ieee80211_channel_to_freq_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x5f6eecf8 cfg80211_tx_mgmt_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x6000fa0d wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x603e8d9c regulatory_pre_cac_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x62f02953 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x63a2ee58 cfg80211_cqm_txe_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x63e9119b cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x65d395bc ieee80211_data_to_8023_exthdr +EXPORT_SYMBOL net/wireless/cfg80211 0x66ff8f10 __cfg80211_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x679ab1ce cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x6824a4dc regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x68d84556 wiphy_new_nm +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6abf51e4 cfg80211_sta_opmode_change_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x6bedf402 ieee80211_freq_khz_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x6eaaeeba cfg80211_bss_iter +EXPORT_SYMBOL net/wireless/cfg80211 0x70a02ef8 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x73ab4096 cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x74271499 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x7452650b wiphy_rfkill_set_hw_state_reason +EXPORT_SYMBOL net/wireless/cfg80211 0x7655427e cfg80211_register_netdevice +EXPORT_SYMBOL net/wireless/cfg80211 0x767a242e cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x78711ae7 cfg80211_send_layer2_update +EXPORT_SYMBOL net/wireless/cfg80211 0x79b82a71 cfg80211_find_vendor_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x7acb86ed ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x7b2956f7 cfg80211_iftype_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3ac925 ieee80211_get_vht_max_nss +EXPORT_SYMBOL net/wireless/cfg80211 0x7e86c0bb cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x802fe27e cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x81cef2eb cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x82551079 cfg80211_cac_event +EXPORT_SYMBOL net/wireless/cfg80211 0x84d114de cfg80211_any_usable_channels +EXPORT_SYMBOL net/wireless/cfg80211 0x84f39a85 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x85a650d6 cfg80211_report_obss_beacon_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x86d74610 cfg80211_crit_proto_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x897c3e17 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x897db6f2 cfg80211_reg_can_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x8b56b5ca cfg80211_check_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x8d1efd2b cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x8f26973c cfg80211_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x8fa02936 cfg80211_free_nan_func +EXPORT_SYMBOL net/wireless/cfg80211 0x903ec9b2 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x95ca7a23 cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x97b516c7 ieee80211_mandatory_rates +EXPORT_SYMBOL net/wireless/cfg80211 0x9d6cba30 cfg80211_find_elem_match +EXPORT_SYMBOL net/wireless/cfg80211 0x9f6daa75 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xa07d6eb7 cfg80211_sched_scan_stopped_locked +EXPORT_SYMBOL net/wireless/cfg80211 0xa4c405ba wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xa6cfe88a cfg80211_unregister_wdev +EXPORT_SYMBOL net/wireless/cfg80211 0xa71777d2 ieee80211_get_num_supported_channels +EXPORT_SYMBOL net/wireless/cfg80211 0xb158d2c0 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0xb161039a cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0xb1b50414 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0xb457b6f8 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xb4eceac3 cfg80211_reg_can_beacon_relax +EXPORT_SYMBOL net/wireless/cfg80211 0xb67d08d0 __cfg80211_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xb7e70ed3 cfg80211_chandef_dfs_required +EXPORT_SYMBOL net/wireless/cfg80211 0xc0488c2b __cfg80211_radar_event +EXPORT_SYMBOL net/wireless/cfg80211 0xc0702511 cfg80211_ch_switch_started_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xc168bbb4 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xc2836626 cfg80211_control_port_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xc44b697f regulatory_set_wiphy_regd_sync +EXPORT_SYMBOL net/wireless/cfg80211 0xc4b4fc27 cfg80211_chandef_valid +EXPORT_SYMBOL net/wireless/cfg80211 0xc64ff310 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xc6617a31 cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xc90bba72 cfg80211_rx_control_port +EXPORT_SYMBOL net/wireless/cfg80211 0xcc1a7c48 cfg80211_is_element_inherited +EXPORT_SYMBOL net/wireless/cfg80211 0xd5522219 cfg80211_connect_done +EXPORT_SYMBOL net/wireless/cfg80211 0xd56d55f3 ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xd792da6a cfg80211_rx_mgmt_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xd7ee60d1 cfg80211_background_cac_abort +EXPORT_SYMBOL net/wireless/cfg80211 0xd7fdf3c2 cfg80211_bss_flush +EXPORT_SYMBOL net/wireless/cfg80211 0xd85ecef5 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0xd97eaad4 cfg80211_chandef_compatible +EXPORT_SYMBOL net/wireless/cfg80211 0xdb6224d6 cfg80211_nan_match +EXPORT_SYMBOL net/wireless/cfg80211 0xdba126c1 reg_initiator_name +EXPORT_SYMBOL net/wireless/cfg80211 0xe1050647 cfg80211_stop_iface +EXPORT_SYMBOL net/wireless/cfg80211 0xe2453e86 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0xe287a88b cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0xe40f7214 cfg80211_inform_bss_frame_data +EXPORT_SYMBOL net/wireless/cfg80211 0xecc7af5a cfg80211_tx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xf40bc2f5 ieee80211_operating_class_to_band +EXPORT_SYMBOL net/wireless/cfg80211 0xf5596d89 cfg80211_get_p2p_attr +EXPORT_SYMBOL net/wireless/cfg80211 0xf8028b05 cfg80211_get_drvinfo +EXPORT_SYMBOL net/wireless/lib80211 0x350471c0 lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x36eedbba lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x461d31b1 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x4c7f4bdb lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x8ad21d98 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0xcabce562 lib80211_register_crypto_ops +EXPORT_SYMBOL sound/ac97_bus 0xf7f76491 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x1fd8685b snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1a724fcc snd_seq_kernel_client_ctl +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3061c52d snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x43688597 snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x4fb5be47 snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0x53603faa snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x684b8667 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6bb71038 snd_seq_delete_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7ac2f329 snd_seq_expand_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7b8699eb snd_seq_event_port_detach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x6ea09972 snd_midi_channel_alloc_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x833a3e07 snd_midi_channel_set_clear +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xb9948d2c snd_midi_channel_free_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xf912f0c8 snd_midi_process_event +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x734e4fba snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x7a3e0db5 snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x8150b379 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xb8620ad8 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xdd70dbf6 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xdd935c83 snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe9e6c50c snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0xb0a25360 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x1c543eaf snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x342a2354 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x363d4e94 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3cb3290d snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x3d507da0 snd_card_new +EXPORT_SYMBOL sound/core/snd 0x3e30b235 snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x4479a546 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x49494f7d snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4c9e3699 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0x4d2ae3f3 snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x59515ce6 snd_seq_root +EXPORT_SYMBOL sound/core/snd 0x5d42d78b snd_card_free +EXPORT_SYMBOL sound/core/snd 0x62766952 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x649c30d7 snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x69e22798 snd_jack_add_new_kctl +EXPORT_SYMBOL sound/core/snd 0x6f7a952d snd_info_register +EXPORT_SYMBOL sound/core/snd 0x72dafd4f snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x73076315 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0x80d8934c snd_register_device +EXPORT_SYMBOL sound/core/snd 0x8380a1d9 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x84dac087 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8e282e28 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x944aaf7e snd_ctl_notify_one +EXPORT_SYMBOL sound/core/snd 0x94e5731d snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x94f4742b snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0x9867e559 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0x98a4fad3 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x998c97ab snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0x9fe3dc24 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0xa9450435 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0xae20efc3 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0xb19c7f1e snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb412c1af snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0xba113458 _snd_ctl_add_follower +EXPORT_SYMBOL sound/core/snd 0xbfd07127 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0xc58d5277 snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0xc5a6d10b release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0xcc6a729f snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0xd050ab2e snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0xd79c311a snd_jack_new +EXPORT_SYMBOL sound/core/snd 0xdb12389a snd_device_register +EXPORT_SYMBOL sound/core/snd 0xdd4ad6c1 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0xe09ccfa2 snd_card_register +EXPORT_SYMBOL sound/core/snd 0xe14d2623 snd_component_add +EXPORT_SYMBOL sound/core/snd 0xe2135d5b snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0xe2dc6b5e snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0xe3bdfbd9 snd_device_free +EXPORT_SYMBOL sound/core/snd 0xe68398b0 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0xe965c1e7 snd_device_new +EXPORT_SYMBOL sound/core/snd 0xe9b939bd snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0xf322d8f2 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0xf63e1374 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0xfffd89db copy_from_user_toio +EXPORT_SYMBOL sound/core/snd-compress 0xc4909a42 snd_compr_malloc_pages +EXPORT_SYMBOL sound/core/snd-compress 0xd992c489 snd_compr_free_pages +EXPORT_SYMBOL sound/core/snd-hwdep 0x5be313ab snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x0782afc1 snd_pcm_hw_constraint_mask64 +EXPORT_SYMBOL sound/core/snd-pcm 0x11eba48e snd_pcm_create_iec958_consumer_hw_params +EXPORT_SYMBOL sound/core/snd-pcm 0x17de95e3 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x1e964b7c snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x22a988ed snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-pcm 0x2a65987c snd_pcm_set_managed_buffer_all +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x37a06b07 snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x3caa71c0 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x425c3c67 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x4346b448 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x499859d5 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x4a8d95ae snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x4c223b60 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x4ee5045e snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x503bd137 snd_interval_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x59df4513 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x5a7b3556 snd_pcm_period_elapsed_under_stream_lock +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x5fa5cf58 snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x5fbc561f snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x69255f54 snd_pcm_hw_limit_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x6aaeec66 snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x6eb9ad03 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x705aa885 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0x74f2cdbb snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x75ff341d snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x82ab0255 snd_sgbuf_get_addr +EXPORT_SYMBOL sound/core/snd-pcm 0x82e4ec28 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x834dc955 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x85ccf13a snd_pcm_create_iec958_consumer +EXPORT_SYMBOL sound/core/snd-pcm 0x929006d8 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x930c2c9a snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0xa4799b07 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0xa4c9d9e3 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xaba25c6e snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xac437f7b snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xb3cbd789 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0xb502e1b2 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xb645ab07 snd_pcm_set_managed_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xb6496641 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbb14bf14 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0xc03507f9 snd_pcm_hw_constraint_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0xc1969eb5 snd_sgbuf_get_page +EXPORT_SYMBOL sound/core/snd-pcm 0xc4195c70 snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xc6c44899 snd_dma_alloc_dir_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xca2a6500 snd_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0xd18b1dfa snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0xd3d12bee snd_dma_buffer_mmap +EXPORT_SYMBOL sound/core/snd-pcm 0xd47d9967 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0xd96c7ea4 __snd_pcm_lib_xfer +EXPORT_SYMBOL sound/core/snd-pcm 0xdff57b4d snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0xe1192737 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xe6f7932b snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0xf1ae35b2 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xff6104d0 snd_pcm_rate_bit_to_rate +EXPORT_SYMBOL sound/core/snd-rawmidi 0x06dec00f snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0cf16738 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x16c0f8ee snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1782aec3 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x31c16ed4 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x34d5be1e snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x472d285f snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x537035ec snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x581e990e snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x61051121 snd_rawmidi_proceed +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7f5be17b snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x807b13ef snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x82e10d77 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x84c8e1df snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x92cee80d snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa8856782 __snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb1428614 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0xcd5ebc67 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf59d2153 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xfb1124f8 __snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-seq-device 0x091def1c snd_seq_autoload_exit +EXPORT_SYMBOL sound/core/snd-seq-device 0x370a0736 snd_seq_autoload_init +EXPORT_SYMBOL sound/core/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/snd-seq-device 0x9c22e1cf snd_seq_device_new +EXPORT_SYMBOL sound/core/snd-timer 0x0084b731 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x098f10dd snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0x1ecb4172 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x2a6455da snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x2fa877d2 snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x312b9625 snd_timer_instance_free +EXPORT_SYMBOL sound/core/snd-timer 0x628fec61 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x702a3bb8 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x7be239e8 snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x7f8ac314 snd_timer_instance_new +EXPORT_SYMBOL sound/core/snd-timer 0x807a5885 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0xaef354e6 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0xb09f371c snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0xb322ad2c snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0xc8118881 snd_timer_close +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xa3e7781f snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc0fec227 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x490e2d20 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x4f3db228 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x6c4a6467 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x79e23a7d snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7a9ca1d2 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xcb263610 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xdfd1ebd2 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xe7ba1b78 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xe9f24cdf snd_opl3_new +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x226138b0 snd_vx_threaded_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x2a28984d snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x416f422a snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x6169168e snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x70e40b6a snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x74a2e78d snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x86f476f5 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x8a690974 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xeb2bb493 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xfefe7bc6 snd_vx_suspend +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x03dd7954 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1f01181b cmp_connection_reserve +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x20254e45 amdtp_syt_intervals +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x21d255f6 iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2b99df27 amdtp_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2cc10fcd cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2d24eb9c amdtp_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x48fe0442 avc_general_set_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x53ca18e8 amdtp_rate_table +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x55cd8ca3 avc_general_get_plug_info +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x61baf440 cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x62824ce8 fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x679561fa amdtp_stream_set_parameters +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x67f61147 cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x69a53030 avc_general_get_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x69bc388e fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7315a531 cmp_connection_release +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x855e15cd amdtp_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x92508c10 iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x93bc3f14 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb07eaaf3 cmp_connection_check_used +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb350a850 amdtp_stream_add_pcm_hw_constraints +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb7788ff2 amdtp_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xbe46bc4f amdtp_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc65f0971 fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xcdcd0140 fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe6d42df7 fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xea62aaad cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xedcb6b48 cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf3ec3ea1 amdtp_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf8b8ef65 snd_fw_transaction +EXPORT_SYMBOL sound/hda/snd-intel-dspcfg 0x0c549b33 intel_nhlt_get_endpoint_blob +EXPORT_SYMBOL sound/hda/snd-intel-dspcfg 0x41a05c36 intel_nhlt_has_endpoint_type +EXPORT_SYMBOL sound/hda/snd-intel-dspcfg 0x66fd6169 intel_nhlt_ssp_endpoint_mask +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x779b6e91 snd_ak4113_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0xc88d3c01 snd_ak4113_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x3afa7e7b snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x4b9d6ee7 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x4bb40e95 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x5a2618f2 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xc5295693 snd_ak4114_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xc9b606dc snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xd3a19e87 snd_ak4114_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xf12a8e5e snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x10d3b6f8 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x72815f1e snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xeb4b7aca snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xee5cdf15 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xc0651a16 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xc191000f snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x0bbe10e8 snd_cs8427_init +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x31e8b620 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x76fa22ba snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x79c91244 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x8cd3728f snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x9a40065c snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-i2c 0x0299806b snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0x251cceb6 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x4daee2ea snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xc0f65b94 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xdfe3468e snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xf62ef137 snd_i2c_probeaddr +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0227f1fa snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x12451d0e snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x30524a2a snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5037d568 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5a679db2 snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x66984f94 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x71ebbe2f snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7abf1133 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x89b19301 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x9b64fd96 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa2c00018 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xabcb2d3d snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xb300376f snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xc203ce5e snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xdddc0a6d snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xea3faf7b snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf102069b snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x2ad9c24d snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x2e846e12 snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x36461004 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x5277b5b6 snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x95097968 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xa94fed43 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xc2800151 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xd64cf155 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xe8c489d9 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x1d551e98 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x29ffd103 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x9cf140dd snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x12c8537b oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1d6fc50c oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1dc80806 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2bd26f25 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5c7dea16 oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x68d24d9d oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x77afa692 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x89e48509 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x96098d21 oxygen_update_dac_routing +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9f1a3392 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa969c3e4 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xae4a5093 oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb57a1498 oxygen_pci_pm +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb61cf7f0 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbca36674 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd596fb5e oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd737a178 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xe5e2ebb1 oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf4a2209a oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xfa100152 oxygen_write32 +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x1cd57fe7 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x6e609f90 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xadd3d84d snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xbfcf00f9 snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xe0249025 snd_trident_free_voice +EXPORT_SYMBOL sound/soc/amd/acp_audio_dma 0xf2cc2cce acp_bt_uart_enable +EXPORT_SYMBOL sound/soc/amd/snd-acp-config 0x0c22a61f snd_soc_acpi_amd_sof_machines +EXPORT_SYMBOL sound/soc/amd/snd-acp-config 0x3ee0762f snd_amd_acp_find_config +EXPORT_SYMBOL sound/soc/codecs/snd-soc-adau1372 0xf2db3a1e adau1372_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-lpass-wsa-macro 0x88618f6d wsa_macro_set_spkr_mode +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x58bbf6f3 pcm3060_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0xc414763d pcm3060_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-rt715 0xed2acb24 hda_to_sdw +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0xa44e1d31 tlv320aic23_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0xa66abc2c tlv320aic23_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x36c201cc aic32x4_regmap_config +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x7de8158f aic32x4_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0xf1213b33 aic32x4_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic3x 0x9e5afa58 aic3x_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic3x 0xecb81b18 aic3x_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x39cde174 wcd_mbhc_init +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x3a195ca9 wcd_mbhc_get_impedance +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x789ebe56 wcd_mbhc_set_hph_type +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x8913ed16 wcd_dt_parse_mbhc_data +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x9e1ff5a3 wcd_mbhc_start +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xa5758a49 wcd_mbhc_get_hph_type +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xd094df47 wcd_mbhc_deinit +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xe2beca26 wcd_mbhc_stop +EXPORT_SYMBOL sound/soc/mediatek/mt8192/snd-soc-mt8192-afe 0x01cf1c56 mt8192_afe_gpio_request +EXPORT_SYMBOL sound/soc/mediatek/mt8192/snd-soc-mt8192-afe 0x246886e3 mt8192_afe_gpio_init +EXPORT_SYMBOL sound/soc/qcom/qdsp6/q6afe 0x728730f6 q6afe_unvote_lpass_core_hw +EXPORT_SYMBOL sound/soc/qcom/qdsp6/q6afe 0x884554ca q6afe_vote_lpass_core_hw +EXPORT_SYMBOL sound/soc/qcom/snd-soc-qcom-common 0x78ef10b6 qcom_snd_parse_of +EXPORT_SYMBOL sound/soc/snd-soc-core 0x690f9483 snd_soc_alloc_ac97_component +EXPORT_SYMBOL sound/soc/sof/imx/imx-common 0x1b742605 imx8_dump +EXPORT_SYMBOL sound/soc/sof/imx/imx-common 0x66ef92c3 imx8_enable_clocks +EXPORT_SYMBOL sound/soc/sof/imx/imx-common 0x765aec12 imx8_disable_clocks +EXPORT_SYMBOL sound/soc/sof/imx/imx-common 0xc1473ce6 imx8_parse_clocks +EXPORT_SYMBOL sound/soc/sof/mediatek/mtk-adsp-common 0x00d4c76a mtk_adsp_dump +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x017a8d51 snd_sof_runtime_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x02a3657a snd_sof_device_remove +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x08c2009f sof_set_fw_state +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0d366966 sof_widget_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0f0a7a5a snd_sof_dsp_update_bits64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0fed7a8c sof_mailbox_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x10d3d5ac snd_sof_load_firmware_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x15860ea4 snd_sof_device_probe_completed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1663289e sof_ipc_tx_message_no_pm +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x17a9486c sof_block_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1bea6a0a snd_sof_ipc_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1dae58c1 snd_sof_ipc_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1f1f5b5b sof_stream_pcm_open +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x20636e49 snd_sof_load_firmware_raw +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x24ee924b snd_sof_ipc_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x274deeb1 snd_sof_dsp_dbg_dump +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x28efcbd4 snd_sof_dsp_update_bits_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x2fe506e5 snd_sof_dsp_only_d0i3_compatible_stream_active +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x368c6727 sof_debug_check_flag +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4616cb20 snd_sof_dsp_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4cbefd3e snd_sof_pcm_period_elapsed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4e01ccb4 snd_sof_complete +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x50f631f5 sof_print_oops_and_stack +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5a2e15ce sof_machine_register +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5d9d2587 sof_machine_unregister +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5decbe65 sof_dai_get_bclk +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5f76f7be snd_sof_fw_unload +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5fc40a08 snd_sof_runtime_idle +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x7407541e sof_io_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x770b1943 snd_sof_run_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8593c4a8 snd_sof_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x878bf1d9 sof_block_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x87a860b3 sof_stream_pcm_close +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x89f89953 sof_io_write64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x8ec6b99b snd_sof_load_topology +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x991cf44d snd_sof_dsp_update_bits_forced +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9dfd612e sof_compressed_ops +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa75588d6 snd_sof_runtime_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa8adb307 snd_sof_device_probe +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xac93cce3 sof_ipc_msg_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xad62eaab snd_sof_prepare +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb38cf77f sof_set_stream_data_offset +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb45233dc snd_sof_handle_fw_exception +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xb6e51726 snd_sof_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc795bb8c sof_pcm_dai_link_fixup +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xccb8894b snd_sof_pci_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd1c82959 sof_ipc_tx_message +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xdcc59fad snd_sof_dsp_update_bits64_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xdf44e098 sof_io_read64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe1e35712 sof_io_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe36bd3ac sof_machine_check +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe9f18d5e sof_mailbox_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xee222e53 snd_sof_device_shutdown +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xefc48e9a snd_sof_dsp_panic +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xefe36759 snd_sof_ipc_get_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf24f315b sof_widget_setup +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf71cee57 sof_dai_get_mclk +EXPORT_SYMBOL sound/soc/sof/snd-sof-of 0x11a53381 sof_of_probe +EXPORT_SYMBOL sound/soc/sof/snd-sof-of 0x8dfbb60d sof_of_pm +EXPORT_SYMBOL sound/soc/sof/snd-sof-of 0x8fd3a491 sof_of_remove +EXPORT_SYMBOL sound/soc/sof/snd-sof-of 0xee686287 sof_of_shutdown +EXPORT_SYMBOL sound/soc/sof/snd-sof-utils 0x1bbf67d0 snd_sof_create_page_table +EXPORT_SYMBOL sound/soundcore 0x211b6404 sound_class +EXPORT_SYMBOL sound/soundcore 0x3ec91fcd register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x8575c5c9 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xbc92b44f register_sound_special +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xe36fa1e5 register_sound_dsp +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x16ac4256 snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x53c9fc81 snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x5fb6fd7d snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x608f4b89 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xa391d995 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xe925e9ef snd_emux_register +EXPORT_SYMBOL sound/synth/snd-util-mem 0x0eda33fa snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x2a48197f snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x6517719f __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x914f3491 snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9223e14b snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9adc8c44 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xc59655e4 snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0xd28dc0da __snd_util_mem_alloc +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xb2af19e1 snd_usbmidi_resume +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xbed43a41 snd_usbmidi_suspend +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xf795baae __snd_usbmidi_create +EXPORT_SYMBOL vmlinux 0x00022593 inc_node_page_state +EXPORT_SYMBOL vmlinux 0x0012fc63 input_unregister_handler +EXPORT_SYMBOL vmlinux 0x0013ded8 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x00148653 vsnprintf +EXPORT_SYMBOL vmlinux 0x002e3adb nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x003ab87f skb_copy_header +EXPORT_SYMBOL vmlinux 0x004ca2f0 xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0x005543c2 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x007cc9f6 from_kgid_munged +EXPORT_SYMBOL vmlinux 0x00a012d3 set_cached_acl +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00cd1e0b filemap_fault +EXPORT_SYMBOL vmlinux 0x00ce24d9 timestamp_truncate +EXPORT_SYMBOL vmlinux 0x00d7e722 vme_lm_count +EXPORT_SYMBOL vmlinux 0x00fac16b dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x00fb98a8 crypto_sha512_update +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x010fee56 of_device_get_match_data +EXPORT_SYMBOL vmlinux 0x0114b8c7 dump_align +EXPORT_SYMBOL vmlinux 0x01156ae4 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x011bab86 prepare_creds +EXPORT_SYMBOL vmlinux 0x0129c4f8 par_io_data_set +EXPORT_SYMBOL vmlinux 0x012de2ea xudma_rchanrt_read +EXPORT_SYMBOL vmlinux 0x01365ff8 iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0x013cd85d inode_insert5 +EXPORT_SYMBOL vmlinux 0x013f26ae dma_fence_get_stub +EXPORT_SYMBOL vmlinux 0x0143ae91 from_kuid_munged +EXPORT_SYMBOL vmlinux 0x0147812c kblockd_mod_delayed_work_on +EXPORT_SYMBOL vmlinux 0x014857ae param_set_ulong +EXPORT_SYMBOL vmlinux 0x01505d85 imx_scu_call_rpc +EXPORT_SYMBOL vmlinux 0x01594184 seq_open_private +EXPORT_SYMBOL vmlinux 0x015a480e blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x016ba23f nf_hook_slow +EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device +EXPORT_SYMBOL vmlinux 0x017d0945 __sock_create +EXPORT_SYMBOL vmlinux 0x017de3d5 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0x018574a1 mb_cache_entry_delete +EXPORT_SYMBOL vmlinux 0x0188cd88 vme_alloc_consistent +EXPORT_SYMBOL vmlinux 0x0196add8 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x0199e752 tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0x019b755a simple_empty +EXPORT_SYMBOL vmlinux 0x01ae3319 iommu_dma_get_resv_regions +EXPORT_SYMBOL vmlinux 0x01b6865c xa_get_mark +EXPORT_SYMBOL vmlinux 0x01bf55fc paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x01c0d91d sock_no_linger +EXPORT_SYMBOL vmlinux 0x01c8851f phy_init_hw +EXPORT_SYMBOL vmlinux 0x01ccbe4e jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x01cd3858 ps2_init +EXPORT_SYMBOL vmlinux 0x01fae443 __phy_read_mmd +EXPORT_SYMBOL vmlinux 0x01fbb1ac d_alloc +EXPORT_SYMBOL vmlinux 0x0209f3a7 secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x02293ac3 dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0x023c7bb7 dma_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x0248efd3 kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x02a3f60b dquot_commit +EXPORT_SYMBOL vmlinux 0x02b8ab42 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x02c065f8 ucc_set_qe_mux_mii_mng +EXPORT_SYMBOL vmlinux 0x02c28c9d starget_for_each_device +EXPORT_SYMBOL vmlinux 0x02cff5c9 ip_fraglist_init +EXPORT_SYMBOL vmlinux 0x02e8bc15 of_phy_deregister_fixed_link +EXPORT_SYMBOL vmlinux 0x0301a286 del_gendisk +EXPORT_SYMBOL vmlinux 0x031a1e8f pnp_register_driver +EXPORT_SYMBOL vmlinux 0x03274b71 flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0x0334795d icst307_s2div +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x033844a9 ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0x033bf48c no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0x0356601a devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0x0360d67f make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x036e56a4 __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0x03725256 mdio_find_bus +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x037ee594 filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0x03815f35 ledtrig_disk_activity +EXPORT_SYMBOL vmlinux 0x038d6202 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x0394b33a twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x03998d67 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x03ae977b jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x03bf0e5a acpi_walk_resource_buffer +EXPORT_SYMBOL vmlinux 0x03d465ff uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x03db3aaa reuseport_add_sock +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x03fea6f7 mmc_retune_timer_stop +EXPORT_SYMBOL vmlinux 0x040567ba mmc_card_is_blockaddr +EXPORT_SYMBOL vmlinux 0x042e1429 jbd2_journal_submit_inode_data_buffers +EXPORT_SYMBOL vmlinux 0x04360530 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x044154c6 tc_skb_ext_tc +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x04673adb qman_ip_rev +EXPORT_SYMBOL vmlinux 0x0474edef kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x04798440 phy_connect +EXPORT_SYMBOL vmlinux 0x0479aac1 seq_list_next_rcu +EXPORT_SYMBOL vmlinux 0x0484c6c4 acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x04863e28 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x049829ae fman_reset_mac +EXPORT_SYMBOL vmlinux 0x04bcb52d __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x04d5b9c9 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x04e655ce netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x04ea5d10 ksize +EXPORT_SYMBOL vmlinux 0x050877b9 dmi_first_match +EXPORT_SYMBOL vmlinux 0x050b9178 pmem_should_map_pages +EXPORT_SYMBOL vmlinux 0x051d58e8 dma_fence_wait_any_timeout +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x052c9898 nf_register_net_hook +EXPORT_SYMBOL vmlinux 0x05337a0a generic_setlease +EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x054fed96 get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0x05522c55 of_find_node_opts_by_path +EXPORT_SYMBOL vmlinux 0x055e77e8 jiffies_64 +EXPORT_SYMBOL vmlinux 0x056fe1dd mmc_cqe_start_req +EXPORT_SYMBOL vmlinux 0x0575dbcc ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x05785eae sock_kfree_s +EXPORT_SYMBOL vmlinux 0x058006d3 sock_edemux +EXPORT_SYMBOL vmlinux 0x059e1482 __traceiter_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x05a98f3d migrate_vma_pages +EXPORT_SYMBOL vmlinux 0x05e2d3c7 i2c_clients_command +EXPORT_SYMBOL vmlinux 0x05f686a4 genl_register_family +EXPORT_SYMBOL vmlinux 0x06085a11 pci_choose_state +EXPORT_SYMBOL vmlinux 0x060ba97c gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0x06111e4e register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x061ad06a folio_unlock +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x0637a4e5 fman_port_bind +EXPORT_SYMBOL vmlinux 0x06468d93 fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0x0649adde dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0x06525a45 backlight_device_register +EXPORT_SYMBOL vmlinux 0x066836b3 cfb_copyarea +EXPORT_SYMBOL vmlinux 0x0668b595 _kstrtoul +EXPORT_SYMBOL vmlinux 0x0680dfd7 arp_send +EXPORT_SYMBOL vmlinux 0x06bd3e32 ethtool_notify +EXPORT_SYMBOL vmlinux 0x06bd88b5 ucs2_strnlen +EXPORT_SYMBOL vmlinux 0x06c50b8f gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x06d11488 __bitmap_equal +EXPORT_SYMBOL vmlinux 0x06dab8ef dquot_get_next_id +EXPORT_SYMBOL vmlinux 0x06f68a1b security_inet_conn_established +EXPORT_SYMBOL vmlinux 0x07098248 xz_dec_microlzma_alloc +EXPORT_SYMBOL vmlinux 0x0711edc8 xudma_dev_get_tisci_rm +EXPORT_SYMBOL vmlinux 0x072f901c vme_master_rmw +EXPORT_SYMBOL vmlinux 0x07358548 sync_filesystem +EXPORT_SYMBOL vmlinux 0x0745a981 xa_erase +EXPORT_SYMBOL vmlinux 0x074d455c mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0x0781ec97 logic_insl +EXPORT_SYMBOL vmlinux 0x078f7325 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x0794a5e6 input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0x079fe8f0 security_path_mknod +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07b755a2 compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0x07bcc48d input_register_device +EXPORT_SYMBOL vmlinux 0x07bcf6d9 devfreq_update_status +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07ceeac9 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x07db17be qman_create_fq +EXPORT_SYMBOL vmlinux 0x07df4401 d_invalidate +EXPORT_SYMBOL vmlinux 0x07e08780 cdev_del +EXPORT_SYMBOL vmlinux 0x07f57478 pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0x0800473f __cond_resched +EXPORT_SYMBOL vmlinux 0x0801becb pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x080b79a2 skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0x080c143f redraw_screen +EXPORT_SYMBOL vmlinux 0x08162c74 free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x081bec2e mipi_dsi_detach +EXPORT_SYMBOL vmlinux 0x0820e9d6 xsk_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0x0823869f hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0x08249512 iwe_stream_add_point +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x08356f32 fman_sp_set_buf_pools_in_asc_order_of_buf_sizes +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x084370ee skb_pull +EXPORT_SYMBOL vmlinux 0x0847eb6e dump_page +EXPORT_SYMBOL vmlinux 0x0849510a get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0x0858f35f pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x088b0baa mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0x089ea584 pci_free_irq +EXPORT_SYMBOL vmlinux 0x089f0ea7 sock_bindtoindex +EXPORT_SYMBOL vmlinux 0x08a9eaba __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0x08adb5ee inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x08b248e5 md_update_sb +EXPORT_SYMBOL vmlinux 0x08bafd34 inode_init_once +EXPORT_SYMBOL vmlinux 0x08e09eb3 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x08e39398 cmd_db_read_addr +EXPORT_SYMBOL vmlinux 0x0906074f vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0x0920d84a kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x092e26bf acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0x092fa697 device_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x092fbb61 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x093712e5 acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x09486337 tty_vhangup +EXPORT_SYMBOL vmlinux 0x096ccc9f ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x097af021 neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x0998cc3c hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0x09a63f2a tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x09b54bdb rproc_coredump_add_segment +EXPORT_SYMBOL vmlinux 0x09bb2206 pnp_activate_dev +EXPORT_SYMBOL vmlinux 0x09c8d6bf __module_get +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09da0ba4 xa_set_mark +EXPORT_SYMBOL vmlinux 0x09e12ac1 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x09f61d94 generic_fillattr +EXPORT_SYMBOL vmlinux 0x09f9b261 xudma_rchan_put +EXPORT_SYMBOL vmlinux 0x09fe0efe md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x0a012f73 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0a01e305 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x0a0a58e8 ww_mutex_lock +EXPORT_SYMBOL vmlinux 0x0a0ebc08 __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0x0a1b769f dquot_commit_info +EXPORT_SYMBOL vmlinux 0x0a1e8769 utf8_casefold_hash +EXPORT_SYMBOL vmlinux 0x0a25f161 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x0a2dbddd skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x0a314502 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x0a40afdd vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0x0a43dee0 key_move +EXPORT_SYMBOL vmlinux 0x0a52c44c update_devfreq +EXPORT_SYMBOL vmlinux 0x0a554d8b __mmap_lock_do_trace_released +EXPORT_SYMBOL vmlinux 0x0a55edae jbd2_wait_inode_data +EXPORT_SYMBOL vmlinux 0x0a6da17d of_n_size_cells +EXPORT_SYMBOL vmlinux 0x0a770832 register_memory_notifier +EXPORT_SYMBOL vmlinux 0x0a84b15d zstd_init_cctx +EXPORT_SYMBOL vmlinux 0x0a86dbaf default_qdisc_ops +EXPORT_SYMBOL vmlinux 0x0a96647f xp_alloc +EXPORT_SYMBOL vmlinux 0x0a9c639c blk_stack_limits +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x0abf36dd blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ada15b7 fb_set_var +EXPORT_SYMBOL vmlinux 0x0aedd49c nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b1e51f9 mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0x0b26b8c8 acpi_run_osc +EXPORT_SYMBOL vmlinux 0x0b270575 inode_permission +EXPORT_SYMBOL vmlinux 0x0b290ada dma_fence_chain_walk +EXPORT_SYMBOL vmlinux 0x0b404736 devm_alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b76e3bd cdc_parse_cdc_header +EXPORT_SYMBOL vmlinux 0x0b8eb061 param_get_invbool +EXPORT_SYMBOL vmlinux 0x0b9d18d2 watchdog_register_governor +EXPORT_SYMBOL vmlinux 0x0ba0b938 vm_brk +EXPORT_SYMBOL vmlinux 0x0ba312b7 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x0bbfa78c set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bdc67c1 __alloc_skb +EXPORT_SYMBOL vmlinux 0x0bf0e4a2 __SCK__tp_func_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x0bfc1d1a check_zeroed_user +EXPORT_SYMBOL vmlinux 0x0c0b25ac kobject_init +EXPORT_SYMBOL vmlinux 0x0c244fd3 jbd2_fc_wait_bufs +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c2601c7 fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0x0c2a8aba blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x0c2c324e tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0x0c3690fc _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0x0c3a34f2 nd_region_release_lane +EXPORT_SYMBOL vmlinux 0x0c575719 __cond_resched_rwlock_write +EXPORT_SYMBOL vmlinux 0x0c6288aa done_path_create +EXPORT_SYMBOL vmlinux 0x0c671016 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x0c6bdc3f vme_master_read +EXPORT_SYMBOL vmlinux 0x0c75bc29 iget5_locked +EXPORT_SYMBOL vmlinux 0x0c80f5ed mfd_remove_devices_late +EXPORT_SYMBOL vmlinux 0x0c99c7a4 rproc_report_crash +EXPORT_SYMBOL vmlinux 0x0cb11bc7 __SCK__tp_func_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x0cbe116d logfc +EXPORT_SYMBOL vmlinux 0x0cc1ee08 ethtool_get_phc_vclocks +EXPORT_SYMBOL vmlinux 0x0cc4b4b6 crc_ccitt_false +EXPORT_SYMBOL vmlinux 0x0ccc285a of_phy_get_and_connect +EXPORT_SYMBOL vmlinux 0x0cd5835b ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x0cdce87c rfkill_set_hw_state_reason +EXPORT_SYMBOL vmlinux 0x0cf0b1a1 cpu_hwcap_keys +EXPORT_SYMBOL vmlinux 0x0cf42330 xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0x0d022e9f xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d2ca20f ucc_fast_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0x0d333b64 zstd_end_stream +EXPORT_SYMBOL vmlinux 0x0d39d657 d_delete +EXPORT_SYMBOL vmlinux 0x0d3f5c1a fman_get_max_frm +EXPORT_SYMBOL vmlinux 0x0d541b2b phy_modify_paged_changed +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d594aae xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x0d61dbcb register_qdisc +EXPORT_SYMBOL vmlinux 0x0d713345 clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x0da70d86 netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0x0dca5d58 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x0dce017d page_pool_create +EXPORT_SYMBOL vmlinux 0x0debcec8 kern_path_create +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e1c1198 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x0e2e4f8e param_set_bint +EXPORT_SYMBOL vmlinux 0x0e3454e8 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x0e34c8ef xsk_get_pool_from_qid +EXPORT_SYMBOL vmlinux 0x0e38ad52 __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0x0e4262c6 __siphash_unaligned +EXPORT_SYMBOL vmlinux 0x0e4e3b63 icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0x0e52df80 kobject_get +EXPORT_SYMBOL vmlinux 0x0e62e68c irq_domain_set_info +EXPORT_SYMBOL vmlinux 0x0ea3c74e tasklet_kill +EXPORT_SYMBOL vmlinux 0x0ea593f6 hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0x0eb6eb87 add_taint +EXPORT_SYMBOL vmlinux 0x0eb8be61 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x0ec5babe vme_dma_free +EXPORT_SYMBOL vmlinux 0x0ecbe361 init_net +EXPORT_SYMBOL vmlinux 0x0ef0e820 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f1ad8e2 seq_list_start_rcu +EXPORT_SYMBOL vmlinux 0x0f246a57 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x0f34259e wireless_spy_update +EXPORT_SYMBOL vmlinux 0x0f37ca89 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0x0f4ab64f skb_push +EXPORT_SYMBOL vmlinux 0x0f630261 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x0f6cc19a input_set_poll_interval +EXPORT_SYMBOL vmlinux 0x0f714654 ps2_drain +EXPORT_SYMBOL vmlinux 0x0f72f2dd freeze_bdev +EXPORT_SYMBOL vmlinux 0x0f7dea21 tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0x0f849d69 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0fab1ab0 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0fda7b98 inet_frags_init +EXPORT_SYMBOL vmlinux 0x0fea0342 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x0feeb2ac jbd2_submit_inode_data +EXPORT_SYMBOL vmlinux 0x0ff90cbb fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x100e5b66 dns_query +EXPORT_SYMBOL vmlinux 0x1025009a cpm_muram_alloc_fixed +EXPORT_SYMBOL vmlinux 0x10260fed xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0x102936ec qe_clock_source +EXPORT_SYMBOL vmlinux 0x1035c7c2 __release_region +EXPORT_SYMBOL vmlinux 0x103b98e8 netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0x10439bb4 page_cache_next_miss +EXPORT_SYMBOL vmlinux 0x1045e5c2 scsi_device_put +EXPORT_SYMBOL vmlinux 0x1057a279 bsearch +EXPORT_SYMBOL vmlinux 0x105bf591 register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x107be0b0 percpu_counter_sync +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x10a39673 param_set_bool +EXPORT_SYMBOL vmlinux 0x10b01af5 vme_master_mmap +EXPORT_SYMBOL vmlinux 0x10c5f4a1 phy_device_free +EXPORT_SYMBOL vmlinux 0x10cca747 __kfree_skb +EXPORT_SYMBOL vmlinux 0x10cf1195 simple_write_begin +EXPORT_SYMBOL vmlinux 0x10cf687a blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x10e608d1 kill_pgrp +EXPORT_SYMBOL vmlinux 0x10e6f74a free_contig_range +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x1119f960 sock_set_keepalive +EXPORT_SYMBOL vmlinux 0x111d7606 __mdiobus_read +EXPORT_SYMBOL vmlinux 0x11268131 tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x112b2414 sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0x11327ad2 devm_extcon_unregister_notifier +EXPORT_SYMBOL vmlinux 0x114057d7 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x1144c59c writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x115ac0bc inet6_getname +EXPORT_SYMBOL vmlinux 0x11674e9d input_close_device +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x118c163d gpiochip_irq_relres +EXPORT_SYMBOL vmlinux 0x11922e11 io_uring_get_socket +EXPORT_SYMBOL vmlinux 0x11a34318 netif_napi_add_weight +EXPORT_SYMBOL vmlinux 0x11ac638e dma_sync_wait +EXPORT_SYMBOL vmlinux 0x11bdd5df __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0x11c89e16 fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0x11d189b1 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e25e49 devm_clk_get +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11ffdfee ucc_slow_stop_tx +EXPORT_SYMBOL vmlinux 0x1209346e inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x120ff8e1 xudma_get_rflow_ring_offset +EXPORT_SYMBOL vmlinux 0x121e19dd tcf_qevent_init +EXPORT_SYMBOL vmlinux 0x12205734 page_pool_get_stats +EXPORT_SYMBOL vmlinux 0x122dde8e xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x124bad4d kstrtobool +EXPORT_SYMBOL vmlinux 0x124e668b tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0x12648c79 tty_register_device +EXPORT_SYMBOL vmlinux 0x1272a71b rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0x127905a0 netdev_offload_xstats_disable +EXPORT_SYMBOL vmlinux 0x1297b363 __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0x12a4e128 __arch_copy_from_user +EXPORT_SYMBOL vmlinux 0x12a6abce xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x12a75c6e tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x12be158b pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x12c10e11 neigh_ifdown +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +EXPORT_SYMBOL vmlinux 0x12ddeade devm_extcon_unregister_notifier_all +EXPORT_SYMBOL vmlinux 0x12e93582 submit_bio_wait +EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x130065e9 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x130afd75 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x13110126 request_resource +EXPORT_SYMBOL vmlinux 0x131a6146 xa_clear_mark +EXPORT_SYMBOL vmlinux 0x13243d4b wl1251_get_platform_data +EXPORT_SYMBOL vmlinux 0x13244e2f xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x13702a3a set_nlink +EXPORT_SYMBOL vmlinux 0x1372d5ce ___pskb_trim +EXPORT_SYMBOL vmlinux 0x137f8d07 vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0x138bdd96 cpumask_next +EXPORT_SYMBOL vmlinux 0x139f2189 __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x13a34af4 __phy_write_mmd +EXPORT_SYMBOL vmlinux 0x13b8e5f9 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x13bffdc1 genphy_setup_forced +EXPORT_SYMBOL vmlinux 0x13cbb31c km_state_expired +EXPORT_SYMBOL vmlinux 0x13cead77 __SCK__tp_func_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13d928f5 __SCK__tp_func_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x13dbb346 mipi_dsi_dcs_set_column_address +EXPORT_SYMBOL vmlinux 0x13fd5fba __fput_sync +EXPORT_SYMBOL vmlinux 0x140820ef tegra_ivc_read_get_next_frame +EXPORT_SYMBOL vmlinux 0x140d2a37 eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0x140f6b42 tcp_poll +EXPORT_SYMBOL vmlinux 0x141271bf acpi_dev_found +EXPORT_SYMBOL vmlinux 0x14176e00 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x14345f44 twl6040_power +EXPORT_SYMBOL vmlinux 0x1435c5ce __SCK__tp_func_kmalloc_node +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x14634f0d inet_select_addr +EXPORT_SYMBOL vmlinux 0x14766c89 udp_seq_start +EXPORT_SYMBOL vmlinux 0x147a05c3 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x147fb482 stream_open +EXPORT_SYMBOL vmlinux 0x1486ded2 dma_fence_allocate_private_stub +EXPORT_SYMBOL vmlinux 0x149dbf61 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x14ab9763 page_mapped +EXPORT_SYMBOL vmlinux 0x14b89635 arm64_const_caps_ready +EXPORT_SYMBOL vmlinux 0x14c67e3e tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0x14e6f2a7 phy_connect_direct +EXPORT_SYMBOL vmlinux 0x14e729e5 inode_to_bdi +EXPORT_SYMBOL vmlinux 0x14f45fcc bman_free_pool +EXPORT_SYMBOL vmlinux 0x14fa1207 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x15325983 rt_mutex_base_init +EXPORT_SYMBOL vmlinux 0x15362f73 __folio_lock +EXPORT_SYMBOL vmlinux 0x1546b49a register_quota_format +EXPORT_SYMBOL vmlinux 0x15478ae0 of_device_is_big_endian +EXPORT_SYMBOL vmlinux 0x15492f0e vfs_fileattr_set +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x15790844 devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x1580a4c9 mmc_start_request +EXPORT_SYMBOL vmlinux 0x158f7658 unpin_user_page +EXPORT_SYMBOL vmlinux 0x15a25ede blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x15ba50a6 jiffies +EXPORT_SYMBOL vmlinux 0x15bafe29 unregister_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial +EXPORT_SYMBOL vmlinux 0x15c85de3 mempool_init +EXPORT_SYMBOL vmlinux 0x15f602b7 iunique +EXPORT_SYMBOL vmlinux 0x15f90688 slhc_init +EXPORT_SYMBOL vmlinux 0x15fd87f9 folio_wait_bit +EXPORT_SYMBOL vmlinux 0x15fea70e tcp_shutdown +EXPORT_SYMBOL vmlinux 0x1615e0c8 phy_write_paged +EXPORT_SYMBOL vmlinux 0x161e5feb submit_bio_noacct +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x1628e1f3 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x1632bc21 kvasprintf_const +EXPORT_SYMBOL vmlinux 0x163d2417 tegra_io_rail_power_off +EXPORT_SYMBOL vmlinux 0x164862e1 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x164bc152 fwnode_irq_get +EXPORT_SYMBOL vmlinux 0x166b60de d_obtain_root +EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump +EXPORT_SYMBOL vmlinux 0x168e4c42 bdi_put +EXPORT_SYMBOL vmlinux 0x168f7dd7 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x169938c1 __sysfs_match_string +EXPORT_SYMBOL vmlinux 0x16a5b805 get_tree_keyed +EXPORT_SYMBOL vmlinux 0x16b9714c scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x16bd8aba elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0x16caa0cb nd_btt_version +EXPORT_SYMBOL vmlinux 0x16cdc340 acpi_get_table +EXPORT_SYMBOL vmlinux 0x16cfeec9 component_match_add_typed +EXPORT_SYMBOL vmlinux 0x16d8d5a1 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x16dee44d dma_fence_init +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x16e7e2cb cpu_all_bits +EXPORT_SYMBOL vmlinux 0x16edd01c msm_pinctrl_remove +EXPORT_SYMBOL vmlinux 0x16f0d575 blk_mq_destroy_queue +EXPORT_SYMBOL vmlinux 0x16fa245b sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x16fa9223 devm_request_resource +EXPORT_SYMBOL vmlinux 0x1700a91e mntget +EXPORT_SYMBOL vmlinux 0x17038550 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x1705d57b gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x170ddf79 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0x1716fd4c genphy_read_abilities +EXPORT_SYMBOL vmlinux 0x1722a8a9 eth_get_headlen +EXPORT_SYMBOL vmlinux 0x172f935b devm_memremap +EXPORT_SYMBOL vmlinux 0x17486de6 netif_device_detach +EXPORT_SYMBOL vmlinux 0x1752a439 ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0x1752d81f __inet_hash +EXPORT_SYMBOL vmlinux 0x175d8d09 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x176decb5 mount_bdev +EXPORT_SYMBOL vmlinux 0x17702b12 netdev_update_features +EXPORT_SYMBOL vmlinux 0x1775894d find_inode_nowait +EXPORT_SYMBOL vmlinux 0x17769b7c dquot_scan_active +EXPORT_SYMBOL vmlinux 0x17784d95 d_rehash +EXPORT_SYMBOL vmlinux 0x177ed993 page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0x17825d3f xudma_rchan_get +EXPORT_SYMBOL vmlinux 0x1789c5ad bdi_unregister +EXPORT_SYMBOL vmlinux 0x178c4894 qe_upload_firmware +EXPORT_SYMBOL vmlinux 0x17ac1988 tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0x17b9121c watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0x17c5878b inode_init_owner +EXPORT_SYMBOL vmlinux 0x1810975d bpf_link_get_from_fd +EXPORT_SYMBOL vmlinux 0x18117ebb misc_register +EXPORT_SYMBOL vmlinux 0x1819d6aa set_capacity +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x184cbae5 netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0x184f2bdd ppp_unit_number +EXPORT_SYMBOL vmlinux 0x1850ccf9 input_set_keycode +EXPORT_SYMBOL vmlinux 0x18561a04 inet_add_protocol +EXPORT_SYMBOL vmlinux 0x18570762 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x185d9b55 fwnode_phy_find_device +EXPORT_SYMBOL vmlinux 0x18681ca8 dma_set_mask +EXPORT_SYMBOL vmlinux 0x18718b08 free_buffer_head +EXPORT_SYMBOL vmlinux 0x1876b2a7 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x187884a8 cpm_muram_free +EXPORT_SYMBOL vmlinux 0x18888d00 downgrade_write +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x18ad9e45 mmc_of_parse_voltage +EXPORT_SYMBOL vmlinux 0x18ae5172 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x18b48e28 __memset_io +EXPORT_SYMBOL vmlinux 0x18c0e80b mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x18f45fae mdiobus_read_nested +EXPORT_SYMBOL vmlinux 0x190734dd netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0x19136003 rproc_free +EXPORT_SYMBOL vmlinux 0x1926e2e9 migrate_page_states +EXPORT_SYMBOL vmlinux 0x192929e4 fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0x195197ca netif_schedule_queue +EXPORT_SYMBOL vmlinux 0x1953c958 mempool_create +EXPORT_SYMBOL vmlinux 0x19696917 fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0x197f4b8a inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x1980a06c serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x198463d7 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x198de5d4 touchscreen_report_pos +EXPORT_SYMBOL vmlinux 0x198e69a0 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19c39aaf security_d_instantiate +EXPORT_SYMBOL vmlinux 0x19d4ca4f __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x19d4d538 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x19ef3c27 __seq_open_private +EXPORT_SYMBOL vmlinux 0x1a20c3dc netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0x1a359e94 of_find_property +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a4f5bac __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x1a731f0c import_iovec +EXPORT_SYMBOL vmlinux 0x1a7ba549 scsi_report_opcode +EXPORT_SYMBOL vmlinux 0x1a93790c rproc_boot +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn +EXPORT_SYMBOL vmlinux 0x1ac72df4 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x1ac9d13f of_get_compatible_child +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b278d6b freezing_slow_path +EXPORT_SYMBOL vmlinux 0x1b373cbd eth_header_parse +EXPORT_SYMBOL vmlinux 0x1b435db3 module_layout +EXPORT_SYMBOL vmlinux 0x1b5196fc xudma_tchan_put +EXPORT_SYMBOL vmlinux 0x1b597b7a swake_up_all +EXPORT_SYMBOL vmlinux 0x1b5cc9d8 dma_fence_array_first +EXPORT_SYMBOL vmlinux 0x1b6111b3 of_match_device +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1b7df6a2 i2c_register_driver +EXPORT_SYMBOL vmlinux 0x1b908d85 _raw_write_lock_nested +EXPORT_SYMBOL vmlinux 0x1ba59527 __kmalloc_node +EXPORT_SYMBOL vmlinux 0x1bb51249 tcp_have_smc +EXPORT_SYMBOL vmlinux 0x1bb67920 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x1bb86b9a xen_start_info +EXPORT_SYMBOL vmlinux 0x1bc73b3b d_obtain_alias +EXPORT_SYMBOL vmlinux 0x1bca39b3 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x1bd59dbe vme_free_consistent +EXPORT_SYMBOL vmlinux 0x1bd640bf key_validate +EXPORT_SYMBOL vmlinux 0x1be5876f simple_rename +EXPORT_SYMBOL vmlinux 0x1bf3ec82 devfreq_monitor_start +EXPORT_SYMBOL vmlinux 0x1bf8a6a6 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x1c060d23 kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0x1c334acf folio_migrate_copy +EXPORT_SYMBOL vmlinux 0x1c44779e tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0x1c4d7879 xattr_supported_namespace +EXPORT_SYMBOL vmlinux 0x1c58427f acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x1c5b859d ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0x1c5e3878 icst525_idx2s +EXPORT_SYMBOL vmlinux 0x1c771b7e tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x1cb08a5f xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x1cb11044 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x1cc11154 __SCK__tp_func_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x1cc92d40 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x1ccefca5 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x1cd2a0f4 devm_devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x1cd8438b pxm_to_node +EXPORT_SYMBOL vmlinux 0x1cdd39ba logic_outsl +EXPORT_SYMBOL vmlinux 0x1ce622d0 sock_wake_async +EXPORT_SYMBOL vmlinux 0x1ce97100 flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x1cf5efa6 xudma_rflow_get_id +EXPORT_SYMBOL vmlinux 0x1d07e365 memdup_user_nul +EXPORT_SYMBOL vmlinux 0x1d18849b locks_delete_block +EXPORT_SYMBOL vmlinux 0x1d1abdf0 acpi_get_physical_device_location +EXPORT_SYMBOL vmlinux 0x1d24c881 ___ratelimit +EXPORT_SYMBOL vmlinux 0x1d33764d seq_printf +EXPORT_SYMBOL vmlinux 0x1d3a4bed get_task_cred +EXPORT_SYMBOL vmlinux 0x1d40b6f3 idr_for_each +EXPORT_SYMBOL vmlinux 0x1d5cedae __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x1d5e1770 skb_dump +EXPORT_SYMBOL vmlinux 0x1d9672bd fault_in_subpage_writeable +EXPORT_SYMBOL vmlinux 0x1da7a83c rproc_set_firmware +EXPORT_SYMBOL vmlinux 0x1dc64837 kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1dd95a76 clkdev_drop +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1de59c22 qcom_scm_ice_invalidate_key +EXPORT_SYMBOL vmlinux 0x1de67f9b qcom_scm_io_writel +EXPORT_SYMBOL vmlinux 0x1df4f2fe dst_alloc +EXPORT_SYMBOL vmlinux 0x1dfaa4dd efi +EXPORT_SYMBOL vmlinux 0x1e0373fc imx_scu_irq_group_enable +EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x1e0cd7fe acpi_detach_data +EXPORT_SYMBOL vmlinux 0x1e1e140e ns_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1e1ffb5f nexthop_res_grp_activity_update +EXPORT_SYMBOL vmlinux 0x1e6adaa0 bitmap_print_bitmask_to_buf +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e72e5a5 pci_dev_get +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ea70d5d vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0x1ed30841 udp_prot +EXPORT_SYMBOL vmlinux 0x1ed7eb60 __sg_free_table +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1ee2e73c xen_alloc_unpopulated_pages +EXPORT_SYMBOL vmlinux 0x1ef41b7e qcom_scm_iommu_set_pt_format +EXPORT_SYMBOL vmlinux 0x1f160aca generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0x1f16c7a1 d_exact_alias +EXPORT_SYMBOL vmlinux 0x1f256086 jbd2_fc_release_bufs +EXPORT_SYMBOL vmlinux 0x1f386c5d load_nls +EXPORT_SYMBOL vmlinux 0x1f477257 sock_i_ino +EXPORT_SYMBOL vmlinux 0x1f557414 gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0x1f6050c1 folio_end_private_2 +EXPORT_SYMBOL vmlinux 0x1f78d106 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x1f7a0333 ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0x1f894f40 inet_bind +EXPORT_SYMBOL vmlinux 0x1fabb94c pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0x1fb2c85d phy_set_max_speed +EXPORT_SYMBOL vmlinux 0x1fb825b5 ptp_find_pin +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fce0ae9 __SetPageMovable +EXPORT_SYMBOL vmlinux 0x1fce5df2 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fdc8a9e __register_nls +EXPORT_SYMBOL vmlinux 0x1fec5cdd unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0x1ff15fb9 ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x200aa88f keyring_clear +EXPORT_SYMBOL vmlinux 0x200b2041 in6addr_any +EXPORT_SYMBOL vmlinux 0x201de1a7 mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x202f76ae pci_write_config_word +EXPORT_SYMBOL vmlinux 0x204017a9 param_set_hexint +EXPORT_SYMBOL vmlinux 0x20463df4 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x2059121c xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0x206d278e __folio_start_writeback +EXPORT_SYMBOL vmlinux 0x206e5336 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x207bba65 security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0x207f7d8e rproc_remove_subdev +EXPORT_SYMBOL vmlinux 0x20a5961a __i2c_transfer +EXPORT_SYMBOL vmlinux 0x20a7821b sk_alloc +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20a94978 msm_pinctrl_probe +EXPORT_SYMBOL vmlinux 0x20b9bdd7 __free_pages +EXPORT_SYMBOL vmlinux 0x20c197ef pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0x20c75404 twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x20ca4f30 kern_unmount_array +EXPORT_SYMBOL vmlinux 0x20cbb30a __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x20d2e85f tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0x20d61420 inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x20dcecff tcf_em_register +EXPORT_SYMBOL vmlinux 0x20e166f4 udp_set_csum +EXPORT_SYMBOL vmlinux 0x20eadeb6 ip_compute_csum +EXPORT_SYMBOL vmlinux 0x20fcba1a mount_single +EXPORT_SYMBOL vmlinux 0x210897b9 tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0x210c5f82 neigh_for_each +EXPORT_SYMBOL vmlinux 0x2116efe7 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x213a1615 dev_addr_del +EXPORT_SYMBOL vmlinux 0x213a738d memregion_alloc +EXPORT_SYMBOL vmlinux 0x213e4965 ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x21480b43 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x215cdf2b scsi_print_sense +EXPORT_SYMBOL vmlinux 0x21767142 of_root +EXPORT_SYMBOL vmlinux 0x218e600b pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0x21bc3825 of_device_alloc +EXPORT_SYMBOL vmlinux 0x21bdb523 errseq_check_and_advance +EXPORT_SYMBOL vmlinux 0x21be37e1 hdmi_avi_infoframe_check +EXPORT_SYMBOL vmlinux 0x21da9600 crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x21ef374c try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x21f96efd d_set_fallthru +EXPORT_SYMBOL vmlinux 0x22094a1c param_get_hexint +EXPORT_SYMBOL vmlinux 0x220b1367 input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0x220b8959 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x220c7021 tegra_io_pad_power_disable +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x2231b095 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x2234ca51 acpi_match_platform_list +EXPORT_SYMBOL vmlinux 0x223a24c3 dma_resv_iter_next_unlocked +EXPORT_SYMBOL vmlinux 0x224ce651 xudma_free_gp_rflow_range +EXPORT_SYMBOL vmlinux 0x22a1d586 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22cd3b5a sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x22cf0f89 devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0x22d1e0fc blk_pre_runtime_resume +EXPORT_SYMBOL vmlinux 0x22d2a59f netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0x22e182d7 fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x22f1804f udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x2318de5d dquot_drop +EXPORT_SYMBOL vmlinux 0x23218ee3 devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x2339ac7d mii_check_media +EXPORT_SYMBOL vmlinux 0x23505530 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x23559c51 qman_oos_fq +EXPORT_SYMBOL vmlinux 0x235cbbe0 vfs_mknod +EXPORT_SYMBOL vmlinux 0x2364c85a tasklet_init +EXPORT_SYMBOL vmlinux 0x236b2a48 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x237a0b5c __traceiter_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x2386d751 mmc_request_done +EXPORT_SYMBOL vmlinux 0x238b099f mipi_dsi_packet_format_is_short +EXPORT_SYMBOL vmlinux 0x2391f725 irq_stat +EXPORT_SYMBOL vmlinux 0x239b4599 backlight_device_set_brightness +EXPORT_SYMBOL vmlinux 0x239daf2a tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0x23a28cdd d_splice_alias +EXPORT_SYMBOL vmlinux 0x23a9cbe8 unregister_nls +EXPORT_SYMBOL vmlinux 0x23ac69c0 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23cabbb1 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x23daa989 mipi_dsi_create_packet +EXPORT_SYMBOL vmlinux 0x23e21bd6 pci_read_config_dword +EXPORT_SYMBOL vmlinux 0x23f1d7a6 page_pool_ethtool_stats_get_count +EXPORT_SYMBOL vmlinux 0x23f4ddb8 config_item_put +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x2409889d folio_alloc +EXPORT_SYMBOL vmlinux 0x240bfafb sg_miter_next +EXPORT_SYMBOL vmlinux 0x240e6ff3 pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0x241510e7 reuseport_stop_listen_sock +EXPORT_SYMBOL vmlinux 0x242b8ecf wireless_send_event +EXPORT_SYMBOL vmlinux 0x2434eebf tcf_qevent_dump +EXPORT_SYMBOL vmlinux 0x243a51e3 phy_read_mmd +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x2448ce2c tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x24538348 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x245510ab pci_request_irq +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x245e0cf7 dcache_readdir +EXPORT_SYMBOL vmlinux 0x24696c75 scm_fp_dup +EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x2485edcb generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x2489b7b0 phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0x248d3ef6 setup_new_exec +EXPORT_SYMBOL vmlinux 0x249ee023 tegra_ahb_enable_smmu +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x24ff65a5 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x2505bf18 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x251fb608 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x252332f1 __SCK__tp_func_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x2524a17a __scsi_execute +EXPORT_SYMBOL vmlinux 0x25399997 tty_port_close +EXPORT_SYMBOL vmlinux 0x255fd9bd xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x25644724 vme_irq_request +EXPORT_SYMBOL vmlinux 0x256a5b63 i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x257fd0de phy_attached_info_irq +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258a2c02 _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x25974000 wait_for_completion +EXPORT_SYMBOL vmlinux 0x25b734d1 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x25b7ed6d bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x25e58a09 hdmi_avi_infoframe_init +EXPORT_SYMBOL vmlinux 0x25e9d4bd resource_list_free +EXPORT_SYMBOL vmlinux 0x260a095a __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x260e52ee dynamic_preempt_schedule_notrace +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x263c3152 bcmp +EXPORT_SYMBOL vmlinux 0x263f0d1f qman_portal_set_iperiod +EXPORT_SYMBOL vmlinux 0x2667bc97 ip_do_fragment +EXPORT_SYMBOL vmlinux 0x2678c042 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x267c2578 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x2680ded5 __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0x2683c936 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x26897b52 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x269039f9 fwnode_mdio_find_device +EXPORT_SYMBOL vmlinux 0x2697f9a5 lookup_one +EXPORT_SYMBOL vmlinux 0x269a4bd0 inet6_add_offload +EXPORT_SYMBOL vmlinux 0x269a72b8 scsi_target_resume +EXPORT_SYMBOL vmlinux 0x26a180eb serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x26a61543 dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0x26ad41bc cdev_device_del +EXPORT_SYMBOL vmlinux 0x26cf98a6 security_task_getsecid_obj +EXPORT_SYMBOL vmlinux 0x26e2301c mmc_put_card +EXPORT_SYMBOL vmlinux 0x26e298e0 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x2704f365 security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0x270cf88f dump_stack_lvl +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x2721c16b flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0x272a8933 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x2733eaf7 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0x27479d14 param_free_charp +EXPORT_SYMBOL vmlinux 0x2755ec05 pm_vt_switch_unregister +EXPORT_SYMBOL vmlinux 0x275dfee4 ucc_slow_free +EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check +EXPORT_SYMBOL vmlinux 0x27756bc8 scsi_sanitize_inquiry_string +EXPORT_SYMBOL vmlinux 0x2775f8cc dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x27810361 acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0x2782b393 xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27973bd2 security_sctp_assoc_established +EXPORT_SYMBOL vmlinux 0x27a235f7 drop_super +EXPORT_SYMBOL vmlinux 0x27b49627 bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27bf2bfd vfs_iter_read +EXPORT_SYMBOL vmlinux 0x27c3c728 qman_release_fqid +EXPORT_SYMBOL vmlinux 0x27cdca93 pci_add_resource +EXPORT_SYMBOL vmlinux 0x27d1f24a rt6_lookup +EXPORT_SYMBOL vmlinux 0x27de9eaa arp_tbl +EXPORT_SYMBOL vmlinux 0x27dfcb6c phy_set_asym_pause +EXPORT_SYMBOL vmlinux 0x27e0dd0a qcom_scm_pas_init_image +EXPORT_SYMBOL vmlinux 0x27fe3399 d_find_alias +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x281adc87 flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0x2821f2a6 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x28416e27 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x2852d2fa __bforget +EXPORT_SYMBOL vmlinux 0x2869524c tcf_classify +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x28795513 bpf_link_put +EXPORT_SYMBOL vmlinux 0x287dbb2f mdiobus_write +EXPORT_SYMBOL vmlinux 0x2882c8ef sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x28993a4c blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x28ad090d xfrm_register_km +EXPORT_SYMBOL vmlinux 0x28bca90c mpage_readahead +EXPORT_SYMBOL vmlinux 0x28c48a6d wake_up_process +EXPORT_SYMBOL vmlinux 0x28dd6500 tty_devnum +EXPORT_SYMBOL vmlinux 0x28f7bf83 tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0x28f812ad default_llseek +EXPORT_SYMBOL vmlinux 0x28f94604 __ubsan_handle_builtin_unreachable +EXPORT_SYMBOL vmlinux 0x28fbb6ed xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0x28fe28cc md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x2905382c sock_alloc_file +EXPORT_SYMBOL vmlinux 0x2935068d skb_flow_dissect_hash +EXPORT_SYMBOL vmlinux 0x29604158 napi_busy_loop +EXPORT_SYMBOL vmlinux 0x297de18d security_sb_mnt_opts_compat +EXPORT_SYMBOL vmlinux 0x29a54c95 md_bitmap_update_sb +EXPORT_SYMBOL vmlinux 0x29acb2e8 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x29e1e204 hdmi_audio_infoframe_pack +EXPORT_SYMBOL vmlinux 0x29f52314 __traceiter_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x2a003bc2 seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x2a0addac xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x2a0d5f62 fib6_info_hw_flags_set +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a394004 md_error +EXPORT_SYMBOL vmlinux 0x2a420ca3 alloc_pages +EXPORT_SYMBOL vmlinux 0x2a457a3e phy_support_sym_pause +EXPORT_SYMBOL vmlinux 0x2a460286 unload_nls +EXPORT_SYMBOL vmlinux 0x2a52574c add_watch_to_object +EXPORT_SYMBOL vmlinux 0x2a5afa1c udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x2a60a7e9 key_unlink +EXPORT_SYMBOL vmlinux 0x2a6adf5a single_open +EXPORT_SYMBOL vmlinux 0x2a6bc054 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x2a928918 slhc_free +EXPORT_SYMBOL vmlinux 0x2a9a3905 vme_master_get +EXPORT_SYMBOL vmlinux 0x2aa0843e mempool_resize +EXPORT_SYMBOL vmlinux 0x2aabaf9d xudma_tchan_get +EXPORT_SYMBOL vmlinux 0x2aabcdc8 vmalloc_array +EXPORT_SYMBOL vmlinux 0x2ab2ee91 brcmstb_get_product_id +EXPORT_SYMBOL vmlinux 0x2aba69a5 tcf_action_update_hw_stats +EXPORT_SYMBOL vmlinux 0x2ac7ae8e inode_set_bytes +EXPORT_SYMBOL vmlinux 0x2af2d278 phy_do_ioctl +EXPORT_SYMBOL vmlinux 0x2b1156c7 vfs_link +EXPORT_SYMBOL vmlinux 0x2b1abce3 fman_has_errata_a050385 +EXPORT_SYMBOL vmlinux 0x2b3aa316 vma_set_file +EXPORT_SYMBOL vmlinux 0x2b593aa8 gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b6af17a ip_frag_init +EXPORT_SYMBOL vmlinux 0x2b8f4f72 xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2bb6099e dq_data_lock +EXPORT_SYMBOL vmlinux 0x2bc261aa regset_get +EXPORT_SYMBOL vmlinux 0x2bc439da pci_write_config_dword +EXPORT_SYMBOL vmlinux 0x2bc9cd88 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x2bd60ab9 acpi_reset +EXPORT_SYMBOL vmlinux 0x2bd95f71 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x2bd96270 ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x2bfbab10 __memmove +EXPORT_SYMBOL vmlinux 0x2c1884d5 sget_fc +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c2c5651 reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0x2c329e54 tegra_powergate_sequence_power_up +EXPORT_SYMBOL vmlinux 0x2c3b6a7c unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x2c3ff8e7 vfs_fadvise +EXPORT_SYMBOL vmlinux 0x2c4158ae pci_match_id +EXPORT_SYMBOL vmlinux 0x2c4b1603 cdrom_check_events +EXPORT_SYMBOL vmlinux 0x2c541e7b radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0x2c71fbfb proc_dobool +EXPORT_SYMBOL vmlinux 0x2c82c36a security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x2c91e17c vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x2ca82cd6 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x2caa4d14 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x2ccd059a dim_on_top +EXPORT_SYMBOL vmlinux 0x2cd4c182 blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0x2cd5e288 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0x2cdf87a1 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x2ceaa5b1 eth_header_cache +EXPORT_SYMBOL vmlinux 0x2cec4264 lru_cache_add +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d149623 follow_down_one +EXPORT_SYMBOL vmlinux 0x2d192c70 sg_zero_buffer +EXPORT_SYMBOL vmlinux 0x2d24ab95 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x2d30596c from_kqid_munged +EXPORT_SYMBOL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL vmlinux 0x2d39b0a7 kstrdup +EXPORT_SYMBOL vmlinux 0x2d4c773a hdmi_spd_infoframe_init +EXPORT_SYMBOL vmlinux 0x2d4daef5 find_font +EXPORT_SYMBOL vmlinux 0x2d71b27e dev_driver_string +EXPORT_SYMBOL vmlinux 0x2d74362a fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0x2d84e82b PageMovable +EXPORT_SYMBOL vmlinux 0x2d90e8cd mmc_add_host +EXPORT_SYMBOL vmlinux 0x2d912bca dmi_get_bios_year +EXPORT_SYMBOL vmlinux 0x2d91f5e3 kernel_accept +EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2dce2f1c __irq_regs +EXPORT_SYMBOL vmlinux 0x2de125c0 page_frag_alloc_align +EXPORT_SYMBOL vmlinux 0x2dea2559 vme_irq_handler +EXPORT_SYMBOL vmlinux 0x2deef74f tty_port_hangup +EXPORT_SYMBOL vmlinux 0x2df1d1f2 blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0x2df60033 nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0x2e0489e2 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x2e0b1deb dma_fence_get_status +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e23f136 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x2e2b40d2 strncat +EXPORT_SYMBOL vmlinux 0x2e2c4ddc logic_inw +EXPORT_SYMBOL vmlinux 0x2e3bcce2 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x2e401d64 dev_mc_init +EXPORT_SYMBOL vmlinux 0x2e439142 drm_get_panel_orientation_quirk +EXPORT_SYMBOL vmlinux 0x2e4c162f xp_dma_unmap +EXPORT_SYMBOL vmlinux 0x2e5b27da xudma_alloc_gp_rflow_range +EXPORT_SYMBOL vmlinux 0x2e6a8e28 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x2e92e54d phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0x2e99a9e3 tc_cleanup_offload_action +EXPORT_SYMBOL vmlinux 0x2ea9718e input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x2eac1f1d dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0x2eae1d4a twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x2eb05eaf set_disk_ro +EXPORT_SYMBOL vmlinux 0x2eb32968 vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2ee1ddf5 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x2ee2e02a set_anon_super_fc +EXPORT_SYMBOL vmlinux 0x2ee4c2b1 hdmi_avi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x2ee83ec9 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x2efabe27 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f0ec6b0 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x2f1254d1 ucc_tdm_init +EXPORT_SYMBOL vmlinux 0x2f15e975 configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f2fd6b6 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x2f333aab imx_scu_get_handle +EXPORT_SYMBOL vmlinux 0x2f384db3 acpi_is_video_device +EXPORT_SYMBOL vmlinux 0x2f5c1b7a flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x2f6938a5 seq_pad +EXPORT_SYMBOL vmlinux 0x2f6b1108 tcp_read_sock +EXPORT_SYMBOL vmlinux 0x2f7754a8 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2f7ea615 rproc_coredump_using_sections +EXPORT_SYMBOL vmlinux 0x2f9d9879 pci_map_rom +EXPORT_SYMBOL vmlinux 0x2fbc269e eth_header +EXPORT_SYMBOL vmlinux 0x2fc505ec vm_node_stat +EXPORT_SYMBOL vmlinux 0x2fe03467 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x2fe5b535 qcom_scm_assign_mem +EXPORT_SYMBOL vmlinux 0x2ff5d6f7 __brelse +EXPORT_SYMBOL vmlinux 0x2ffbb729 bio_put +EXPORT_SYMBOL vmlinux 0x30092bfc pci_get_subsys +EXPORT_SYMBOL vmlinux 0x3021b1b9 try_module_get +EXPORT_SYMBOL vmlinux 0x302baf5f udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x3056f468 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x30672ba9 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x308354f4 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x30892ed2 flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30a91c6e ppp_input +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30b36a8d tty_unlock +EXPORT_SYMBOL vmlinux 0x30d6d2a2 of_find_matching_node_and_match +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30ed017b pps_event +EXPORT_SYMBOL vmlinux 0x30fd26f7 netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0x31106670 pcim_enable_device +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x3130061a ppp_dev_name +EXPORT_SYMBOL vmlinux 0x31674b40 mipi_dsi_device_unregister +EXPORT_SYMBOL vmlinux 0x3171cacd scsi_remove_target +EXPORT_SYMBOL vmlinux 0x317eedb7 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x317fd1b7 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x319d493d proc_dostring +EXPORT_SYMBOL vmlinux 0x319f7d35 __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0x31a4767f qcom_scm_hdcp_available +EXPORT_SYMBOL vmlinux 0x31a61bae cdev_alloc +EXPORT_SYMBOL vmlinux 0x31bc0adc pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x31c5d0a6 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x31ef0f50 refresh_frequency_limits +EXPORT_SYMBOL vmlinux 0x3213f038 mutex_unlock +EXPORT_SYMBOL vmlinux 0x3221df67 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x3225d09e param_ops_ulong +EXPORT_SYMBOL vmlinux 0x3226bbd3 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x32394d4b qe_issue_cmd +EXPORT_SYMBOL vmlinux 0x323ead1f d_path +EXPORT_SYMBOL vmlinux 0x323f6949 mipi_dsi_dcs_exit_sleep_mode +EXPORT_SYMBOL vmlinux 0x32430285 blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0x324d9aa7 phy_free_interrupt +EXPORT_SYMBOL vmlinux 0x325657bb of_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0x3265158c rtnl_offload_xstats_notify +EXPORT_SYMBOL vmlinux 0x326cc3fd scsi_done +EXPORT_SYMBOL vmlinux 0x32787823 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x327c84bf vme_lm_attach +EXPORT_SYMBOL vmlinux 0x327cbd9c da903x_query_status +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x32954ef2 simple_transaction_read +EXPORT_SYMBOL vmlinux 0x329a0469 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32cfa722 skb_dequeue +EXPORT_SYMBOL vmlinux 0x32dd84f8 tegra_ivc_write_advance +EXPORT_SYMBOL vmlinux 0x32e6f1a0 acpi_video_backlight_string +EXPORT_SYMBOL vmlinux 0x32e73b5a skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0x32f39fd3 skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0x32f6b362 get_acl +EXPORT_SYMBOL vmlinux 0x33037fd8 logic_outl +EXPORT_SYMBOL vmlinux 0x33048c73 sk_error_report +EXPORT_SYMBOL vmlinux 0x331a0433 netlink_broadcast +EXPORT_SYMBOL vmlinux 0x3344fa23 __ip_dev_find +EXPORT_SYMBOL vmlinux 0x3351df8e flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0x33556c57 d_add_ci +EXPORT_SYMBOL vmlinux 0x33632a70 __dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x336a5fec xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x33736a1d __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0x33944639 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x33986487 __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0x33cc45d0 nd_device_unregister +EXPORT_SYMBOL vmlinux 0x33d8c14a of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33fc2a31 get_user_ifreq +EXPORT_SYMBOL vmlinux 0x33fcf44a __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x3402dc8b __write_overflow_field +EXPORT_SYMBOL vmlinux 0x340e91de key_reject_and_link +EXPORT_SYMBOL vmlinux 0x3415493d md_cluster_ops +EXPORT_SYMBOL vmlinux 0x3424daf8 __traceiter_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x342bd4f9 blk_get_queue +EXPORT_SYMBOL vmlinux 0x34547328 inode_init_always +EXPORT_SYMBOL vmlinux 0x345beb80 tcp_mmap +EXPORT_SYMBOL vmlinux 0x345e72fb nd_pfn_validate +EXPORT_SYMBOL vmlinux 0x3483b96b redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a1f7e3 acpi_processor_get_psd +EXPORT_SYMBOL vmlinux 0x34b0696e ptp_clock_index +EXPORT_SYMBOL vmlinux 0x34b16334 __next_node_in +EXPORT_SYMBOL vmlinux 0x34b4c0ee iter_file_splice_write +EXPORT_SYMBOL vmlinux 0x34c7cdbc lookup_bdev +EXPORT_SYMBOL vmlinux 0x34d03ba2 blk_start_plug +EXPORT_SYMBOL vmlinux 0x34db050b _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue +EXPORT_SYMBOL vmlinux 0x350ea558 dma_fence_default_wait +EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x3539f11b match_strlcpy +EXPORT_SYMBOL vmlinux 0x353a0f02 input_setup_polling +EXPORT_SYMBOL vmlinux 0x353e962a input_free_device +EXPORT_SYMBOL vmlinux 0x354250d5 __check_sticky +EXPORT_SYMBOL vmlinux 0x354c9175 cros_ec_cmd_xfer_status +EXPORT_SYMBOL vmlinux 0x3550030e fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0x35556ee2 xsk_tx_peek_release_desc_batch +EXPORT_SYMBOL vmlinux 0x35563ed2 inode_nohighmem +EXPORT_SYMBOL vmlinux 0x356461c8 rtc_time64_to_tm +EXPORT_SYMBOL vmlinux 0x3574ecf9 kern_unmount +EXPORT_SYMBOL vmlinux 0x357cde60 neigh_table_init +EXPORT_SYMBOL vmlinux 0x35808dfa __mod_node_page_state +EXPORT_SYMBOL vmlinux 0x35892041 pci_get_class +EXPORT_SYMBOL vmlinux 0x3591c86f __register_binfmt +EXPORT_SYMBOL vmlinux 0x35a6604a tegra_dfll_runtime_resume +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35b8df3a sockfd_lookup +EXPORT_SYMBOL vmlinux 0x35b9c864 fman_get_bmi_max_fifo_size +EXPORT_SYMBOL vmlinux 0x35c373eb __phy_resume +EXPORT_SYMBOL vmlinux 0x35dbc1ba jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x35e62612 __lock_buffer +EXPORT_SYMBOL vmlinux 0x3609bc1b kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x36182d49 devm_iounmap +EXPORT_SYMBOL vmlinux 0x36191b97 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x362d8b10 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x362e19b5 thermal_cdev_update +EXPORT_SYMBOL vmlinux 0x363d2a4f bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x36451cc9 dquot_transfer +EXPORT_SYMBOL vmlinux 0x364850b1 down_write_killable +EXPORT_SYMBOL vmlinux 0x364c23ad mutex_is_locked +EXPORT_SYMBOL vmlinux 0x364ce97b hmm_range_fault +EXPORT_SYMBOL vmlinux 0x365a7a2e pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x3668b464 locks_init_lock +EXPORT_SYMBOL vmlinux 0x3684a1b1 simple_unlink +EXPORT_SYMBOL vmlinux 0x3689eb4e __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x368de30e mroute6_is_socket +EXPORT_SYMBOL vmlinux 0x369f5946 mmc_release_host +EXPORT_SYMBOL vmlinux 0x36a8047d fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x36b6ebbf down_killable +EXPORT_SYMBOL vmlinux 0x36bdbd39 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x36bf1506 __blk_mq_alloc_disk +EXPORT_SYMBOL vmlinux 0x36cd08d5 flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0x36dc50c6 netdev_info +EXPORT_SYMBOL vmlinux 0x37110088 remove_wait_queue +EXPORT_SYMBOL vmlinux 0x3717f6c6 devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x371a699b netdev_bonding_info_change +EXPORT_SYMBOL vmlinux 0x371e1953 __printk_cpu_sync_wait +EXPORT_SYMBOL vmlinux 0x37436d06 lease_modify +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x375faf7f skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0x3761f0c1 unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x3763a955 vme_unregister_bridge +EXPORT_SYMBOL vmlinux 0x377d8004 acpi_error +EXPORT_SYMBOL vmlinux 0x3783aaf3 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x37a9bcf6 fwnode_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0x37b4db35 tcf_register_action +EXPORT_SYMBOL vmlinux 0x37b8b39e screen_info +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37c0864e mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x37c8377d inet_sendmsg +EXPORT_SYMBOL vmlinux 0x37d6c1ef iov_iter_npages +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37e302a6 sock_no_accept +EXPORT_SYMBOL vmlinux 0x37f81e5e key_payload_reserve +EXPORT_SYMBOL vmlinux 0x37fcc8ae netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0x3800d8de pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x3854774b kstrtoll +EXPORT_SYMBOL vmlinux 0x38667001 empty_aops +EXPORT_SYMBOL vmlinux 0x386aa5ea vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0x3871628c n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x388aa3c9 neigh_proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x3891ffc8 ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0x38941cf4 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x389617b0 LZ4_decompress_fast_continue +EXPORT_SYMBOL vmlinux 0x389acf0c gpmc_configure +EXPORT_SYMBOL vmlinux 0x38a361d1 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38a9f7c5 in6addr_loopback +EXPORT_SYMBOL vmlinux 0x38ad337f block_truncate_page +EXPORT_SYMBOL vmlinux 0x38be38df dquot_free_inode +EXPORT_SYMBOL vmlinux 0x38de94a5 dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0x38e46431 mempool_exit +EXPORT_SYMBOL vmlinux 0x38f48af7 put_user_ifreq +EXPORT_SYMBOL vmlinux 0x38f5ffc6 netif_set_tso_max_size +EXPORT_SYMBOL vmlinux 0x390ff8fb nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x391df80a netstamp_needed_key +EXPORT_SYMBOL vmlinux 0x3928efe9 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x392b1fea wait_for_completion_io +EXPORT_SYMBOL vmlinux 0x392b6698 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x392e92de cdrom_release +EXPORT_SYMBOL vmlinux 0x3932f3a7 phy_read_paged +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x393e38f4 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x397bb861 acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0x39822216 fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0x398493bb amba_device_unregister +EXPORT_SYMBOL vmlinux 0x39953de9 __generic_file_fsync +EXPORT_SYMBOL vmlinux 0x3995fbea deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x399d3462 super_setup_bdi +EXPORT_SYMBOL vmlinux 0x39a92963 folio_account_redirty +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39b8d49c cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x39bbc05d netif_inherit_tso_max +EXPORT_SYMBOL vmlinux 0x39be4b8e qman_volatile_dequeue +EXPORT_SYMBOL vmlinux 0x39c1c056 of_find_net_device_by_node +EXPORT_SYMBOL vmlinux 0x39c856e4 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x39d95ca4 zstd_reset_cstream +EXPORT_SYMBOL vmlinux 0x39ea18f9 __vfs_removexattr +EXPORT_SYMBOL vmlinux 0x39ee9e78 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x39f491d9 mr_dump +EXPORT_SYMBOL vmlinux 0x3a02c189 generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x3a13f54a sgl_alloc +EXPORT_SYMBOL vmlinux 0x3a240f68 flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0x3a2f6702 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized +EXPORT_SYMBOL vmlinux 0x3a52c593 tty_kref_put +EXPORT_SYMBOL vmlinux 0x3a6544d7 phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0x3a697da6 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x3a79b6fb textsearch_register +EXPORT_SYMBOL vmlinux 0x3a8a1a8d bd_abort_claiming +EXPORT_SYMBOL vmlinux 0x3a8efb12 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x3a9023db cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0x3a91db8f generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0x3a954b3d __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0x3aa10a31 vfs_get_tree +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3ab88536 input_flush_device +EXPORT_SYMBOL vmlinux 0x3ac71c3f vfs_tmpfile +EXPORT_SYMBOL vmlinux 0x3aca0190 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x3ad5cda3 lockref_get_not_zero +EXPORT_SYMBOL vmlinux 0x3ad7a5d5 acpi_evaluate_reference +EXPORT_SYMBOL vmlinux 0x3ada9e06 acpi_check_region +EXPORT_SYMBOL vmlinux 0x3ae30819 skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0x3ae34aeb zstd_init_dctx +EXPORT_SYMBOL vmlinux 0x3af45995 inet_del_protocol +EXPORT_SYMBOL vmlinux 0x3afed2d7 tcf_idr_search +EXPORT_SYMBOL vmlinux 0x3aff3200 acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0x3b04b1bc csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x3b0f23d2 xudma_is_pktdma +EXPORT_SYMBOL vmlinux 0x3b1083b9 __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0x3b20fb95 dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0x3b22f536 pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0x3b2627f9 t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0x3b321462 LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0x3b43ec5a scsi_done_direct +EXPORT_SYMBOL vmlinux 0x3b449c39 ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0x3b491995 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b6c41ea kstrtouint +EXPORT_SYMBOL vmlinux 0x3b707ad5 imx_sc_rm_get_resource_owner +EXPORT_SYMBOL vmlinux 0x3b8c06af vga_put +EXPORT_SYMBOL vmlinux 0x3b9144c9 acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0x3ba5631f xsk_tx_release +EXPORT_SYMBOL vmlinux 0x3ba643ed scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0x3bbeb51c pci_resize_resource +EXPORT_SYMBOL vmlinux 0x3bcba572 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x3bd20e14 bio_init_clone +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3bee7c4a skb_checksum_help +EXPORT_SYMBOL vmlinux 0x3c0e1620 qcom_scm_pas_metadata_release +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c31d4b8 devm_ioremap +EXPORT_SYMBOL vmlinux 0x3c3215c4 qe_immr +EXPORT_SYMBOL vmlinux 0x3c3cc3a6 mdiobus_free +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c41c239 mdio_device_register +EXPORT_SYMBOL vmlinux 0x3c526b5f phy_resume +EXPORT_SYMBOL vmlinux 0x3c6084c0 icmp_ndo_send +EXPORT_SYMBOL vmlinux 0x3c63c862 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0x3c730b0c napi_enable +EXPORT_SYMBOL vmlinux 0x3c7ea8a0 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x3c852403 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x3c983e5e devfreq_monitor_resume +EXPORT_SYMBOL vmlinux 0x3cb3b653 md_write_end +EXPORT_SYMBOL vmlinux 0x3cbb940b zstd_init_dstream +EXPORT_SYMBOL vmlinux 0x3cc25fe7 igrab +EXPORT_SYMBOL vmlinux 0x3cce8c14 skb_split +EXPORT_SYMBOL vmlinux 0x3cd9ed83 logic_insw +EXPORT_SYMBOL vmlinux 0x3ce44ee9 cros_ec_prepare_tx +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3d025ddf phy_drivers_unregister +EXPORT_SYMBOL vmlinux 0x3d02cd70 dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0x3d0c75f0 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x3d166e8d acpi_dev_hid_uid_match +EXPORT_SYMBOL vmlinux 0x3d210724 gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0x3d328de8 vlan_for_each +EXPORT_SYMBOL vmlinux 0x3d59b5ea dev_set_mtu +EXPORT_SYMBOL vmlinux 0x3d61c599 skb_put +EXPORT_SYMBOL vmlinux 0x3d636ca4 mmc_sw_reset +EXPORT_SYMBOL vmlinux 0x3d87f54e __traceiter_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x3d92360a mmc_run_bkops +EXPORT_SYMBOL vmlinux 0x3d93c7c2 __arm_smccc_sve_check +EXPORT_SYMBOL vmlinux 0x3d9ee9f0 clear_page +EXPORT_SYMBOL vmlinux 0x3daac30f devm_clk_put +EXPORT_SYMBOL vmlinux 0x3daadaf5 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x3dabf271 memcg_sockets_enabled_key +EXPORT_SYMBOL vmlinux 0x3dac779a bpf_sk_lookup_enabled +EXPORT_SYMBOL vmlinux 0x3dad9978 cancel_delayed_work +EXPORT_SYMBOL vmlinux 0x3dc619d3 swake_up_locked +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dd22a94 mmc_command_done +EXPORT_SYMBOL vmlinux 0x3dd3f054 xudma_rchan_get_id +EXPORT_SYMBOL vmlinux 0x3dd9b230 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x3dfb86b9 resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e041647 mmc_cqe_post_req +EXPORT_SYMBOL vmlinux 0x3e27e05b tty_port_destroy +EXPORT_SYMBOL vmlinux 0x3e3bad0a __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x3e44d94f input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0x3e457748 __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0x3e5ea331 dev_add_offload +EXPORT_SYMBOL vmlinux 0x3e750f3e linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x3e78cd94 qman_get_qm_portal_config +EXPORT_SYMBOL vmlinux 0x3e79fb00 arm_smccc_1_2_smc +EXPORT_SYMBOL vmlinux 0x3e893e9f jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x3eb83fb2 filemap_invalidate_unlock_two +EXPORT_SYMBOL vmlinux 0x3ebfc1f2 phy_get_eee_err +EXPORT_SYMBOL vmlinux 0x3ece6d93 register_fib_notifier +EXPORT_SYMBOL vmlinux 0x3ed3f007 tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0x3edb1a43 pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x3eead141 generic_block_bmap +EXPORT_SYMBOL vmlinux 0x3eeb2322 __wake_up +EXPORT_SYMBOL vmlinux 0x3efbd698 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3f05fe85 unlock_new_inode +EXPORT_SYMBOL vmlinux 0x3f0eabd2 xxh64_update +EXPORT_SYMBOL vmlinux 0x3f132fba netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0x3f21cdd4 netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x3f34644d zstd_dstream_workspace_bound +EXPORT_SYMBOL vmlinux 0x3f3680fc seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0x3f3eca4b jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x3f4107d5 devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0x3f42518b dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0x3f4490e3 nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f4bd846 gen_pool_first_fit_order_align +EXPORT_SYMBOL vmlinux 0x3f545cad cpumask_any_and_distribute +EXPORT_SYMBOL vmlinux 0x3f72c23d pcie_ptm_enabled +EXPORT_SYMBOL vmlinux 0x3f7a6ca4 memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3f98be74 proc_create_mount_point +EXPORT_SYMBOL vmlinux 0x3fa7f978 pnp_device_detach +EXPORT_SYMBOL vmlinux 0x3fa862c9 zpool_register_driver +EXPORT_SYMBOL vmlinux 0x3fadf492 dentry_path_raw +EXPORT_SYMBOL vmlinux 0x3fbf3c89 vme_slave_set +EXPORT_SYMBOL vmlinux 0x3fd297ce folio_write_one +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3fe116d3 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x3fe2ccbe memweight +EXPORT_SYMBOL vmlinux 0x3ff2a030 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x4000100d inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0x40081e4e unpin_user_page_range_dirty_lock +EXPORT_SYMBOL vmlinux 0x40235c98 _raw_write_unlock +EXPORT_SYMBOL vmlinux 0x4026806b iterate_supers_type +EXPORT_SYMBOL vmlinux 0x402f56f7 __d_lookup_done +EXPORT_SYMBOL vmlinux 0x405e3524 skb_checksum_setup +EXPORT_SYMBOL vmlinux 0x4068b8a0 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x40691fb6 netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0x408415d2 locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x40a64810 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40aaf6bc register_console +EXPORT_SYMBOL vmlinux 0x40bad98e kobject_set_name +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40cc8a50 rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d54bd8 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x40d59096 unregister_restart_handler +EXPORT_SYMBOL vmlinux 0x40d6736d neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x40dbff62 ppp_channel_index +EXPORT_SYMBOL vmlinux 0x40e81a37 netdev_features_change +EXPORT_SYMBOL vmlinux 0x40f32feb dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0x40f76a86 __vcalloc +EXPORT_SYMBOL vmlinux 0x4123fd3d vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x412532ca rproc_add +EXPORT_SYMBOL vmlinux 0x412f893c page_offline_begin +EXPORT_SYMBOL vmlinux 0x413af817 d_alloc_parallel +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x41485881 km_policy_notify +EXPORT_SYMBOL vmlinux 0x414da5e5 qman_enqueue +EXPORT_SYMBOL vmlinux 0x41594c9c gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0x416df578 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x4180d96d xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0x418104c8 dquot_alloc +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41a219d2 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x41b951ec xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0x41c8ee70 kern_sys_bpf +EXPORT_SYMBOL vmlinux 0x41cd15db skb_vlan_push +EXPORT_SYMBOL vmlinux 0x41ec6e37 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x41ed3709 get_random_bytes +EXPORT_SYMBOL vmlinux 0x41efdeaf radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x41fe28e4 param_ops_hexint +EXPORT_SYMBOL vmlinux 0x41fe83bc get_cached_acl +EXPORT_SYMBOL vmlinux 0x420964e3 __nla_parse +EXPORT_SYMBOL vmlinux 0x422319ab dev_remove_pack +EXPORT_SYMBOL vmlinux 0x4230a8d7 sg_nents_for_len +EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running +EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x42578e80 acpi_get_type +EXPORT_SYMBOL vmlinux 0x4258a33d pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x4272448b update_region +EXPORT_SYMBOL vmlinux 0x42762956 tcf_exts_validate_ex +EXPORT_SYMBOL vmlinux 0x427f241b fman_unregister_intr +EXPORT_SYMBOL vmlinux 0x427f26e6 tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0x42872db6 dev_mc_del +EXPORT_SYMBOL vmlinux 0x42890d32 neigh_connected_output +EXPORT_SYMBOL vmlinux 0x42a1ebf8 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x42afe267 scsi_print_command +EXPORT_SYMBOL vmlinux 0x42bed8d4 unix_gc_lock +EXPORT_SYMBOL vmlinux 0x42c38327 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x42c56427 con_copy_unimap +EXPORT_SYMBOL vmlinux 0x42cda6c7 key_invalidate +EXPORT_SYMBOL vmlinux 0x42e265e8 phy_suspend +EXPORT_SYMBOL vmlinux 0x42ee3459 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x42ef5aca xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x42fc36c1 d_mark_dontcache +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x430c00ac __bread_gfp +EXPORT_SYMBOL vmlinux 0x43102f0b config_item_get +EXPORT_SYMBOL vmlinux 0x431ec3a9 __nla_validate +EXPORT_SYMBOL vmlinux 0x43269334 netlink_ack +EXPORT_SYMBOL vmlinux 0x4326a942 remove_proc_subtree +EXPORT_SYMBOL vmlinux 0x4334074b dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x43369d8a pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0x4336fcca ucs2_as_utf8 +EXPORT_SYMBOL vmlinux 0x433cabfb acpi_decode_pld_buffer +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x4353be85 inet_protos +EXPORT_SYMBOL vmlinux 0x4375c375 posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0x4376f25d call_fib_notifiers +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x438463c2 scsi_print_result +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x4398a858 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x43b0c9c3 preempt_schedule +EXPORT_SYMBOL vmlinux 0x43b2060f blk_post_runtime_resume +EXPORT_SYMBOL vmlinux 0x43bf278a pci_find_resource +EXPORT_SYMBOL vmlinux 0x43d22fb9 groups_alloc +EXPORT_SYMBOL vmlinux 0x43dc137f genphy_update_link +EXPORT_SYMBOL vmlinux 0x43eb5f64 register_filesystem +EXPORT_SYMBOL vmlinux 0x43ef2b96 unix_destruct_scm +EXPORT_SYMBOL vmlinux 0x43f9ebc8 slhc_remember +EXPORT_SYMBOL vmlinux 0x4403bbd0 imx_sc_misc_set_control +EXPORT_SYMBOL vmlinux 0x4408738b netlink_set_err +EXPORT_SYMBOL vmlinux 0x440b8917 netdev_printk +EXPORT_SYMBOL vmlinux 0x440ef633 dentry_create +EXPORT_SYMBOL vmlinux 0x441aea17 ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0x442e7fbd bdevname +EXPORT_SYMBOL vmlinux 0x4432d993 free_task +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x4462d35e cpufreq_get_hw_max_freq +EXPORT_SYMBOL vmlinux 0x4463d460 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x4467501a of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x446c859b msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0x448b2000 bio_uninit +EXPORT_SYMBOL vmlinux 0x449ad0a7 memcmp +EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x44aa5355 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x44b0843a phy_drivers_register +EXPORT_SYMBOL vmlinux 0x44dca2fb from_kprojid +EXPORT_SYMBOL vmlinux 0x44e29732 request_key_rcu +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44fc0eac mdio_driver_register +EXPORT_SYMBOL vmlinux 0x45006cee default_red +EXPORT_SYMBOL vmlinux 0x45081703 ec_get_handle +EXPORT_SYMBOL vmlinux 0x450a575b skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x450d9a35 cmd_db_read_slave_id +EXPORT_SYMBOL vmlinux 0x451855ef ip_frag_next +EXPORT_SYMBOL vmlinux 0x452413a1 qman_alloc_pool_range +EXPORT_SYMBOL vmlinux 0x4529cdb9 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x452eb769 input_open_device +EXPORT_SYMBOL vmlinux 0x452fcaf2 single_open_size +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x4541bb0d filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x4547e87a dev_get_by_index +EXPORT_SYMBOL vmlinux 0x454a5b3b vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x45535485 xxh32_update +EXPORT_SYMBOL vmlinux 0x4562649b xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x456fa52f register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x45743d5a crypto_sha256_update +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x457dff3a netif_skb_features +EXPORT_SYMBOL vmlinux 0x45827b4e is_nd_dax +EXPORT_SYMBOL vmlinux 0x45833e7f __devm_mdiobus_register +EXPORT_SYMBOL vmlinux 0x458a3cf0 dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0x458adbaa __scm_destroy +EXPORT_SYMBOL vmlinux 0x45a7c7e2 inet_frag_find +EXPORT_SYMBOL vmlinux 0x45ca81b9 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x45dcb756 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x45df6f49 vfs_fsync +EXPORT_SYMBOL vmlinux 0x45effe69 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x460f4a34 flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x461d16ca sg_nents +EXPORT_SYMBOL vmlinux 0x46260608 init_pseudo +EXPORT_SYMBOL vmlinux 0x463d6fb0 netlink_capable +EXPORT_SYMBOL vmlinux 0x463dd009 noop_fsync +EXPORT_SYMBOL vmlinux 0x46451cee zstd_get_frame_header +EXPORT_SYMBOL vmlinux 0x46478c94 can_nice +EXPORT_SYMBOL vmlinux 0x4650a28a bio_free_pages +EXPORT_SYMBOL vmlinux 0x465e24ff ucs2_utf8size +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x467df16d netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0x468cb1a7 pci_enable_device +EXPORT_SYMBOL vmlinux 0x469344be sock_no_listen +EXPORT_SYMBOL vmlinux 0x469592d6 _dev_info +EXPORT_SYMBOL vmlinux 0x4698e95e blkdev_compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0x4698fe8a bman_release +EXPORT_SYMBOL vmlinux 0x469a6ec7 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x46c22c3b dm_unregister_target +EXPORT_SYMBOL vmlinux 0x46c47fb6 __node_distance +EXPORT_SYMBOL vmlinux 0x46d8e9e6 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x46e8e392 pci_iomap +EXPORT_SYMBOL vmlinux 0x46f8760b input_grab_device +EXPORT_SYMBOL vmlinux 0x46ff7d12 qcom_scm_iommu_secure_ptbl_size +EXPORT_SYMBOL vmlinux 0x46ffd8f7 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0x470612dc fman_port_get_qman_channel_id +EXPORT_SYMBOL vmlinux 0x47065c73 cpm_muram_offset +EXPORT_SYMBOL vmlinux 0x4715a909 acpi_load_table +EXPORT_SYMBOL vmlinux 0x474ba4e5 dentry_open +EXPORT_SYMBOL vmlinux 0x475d7427 fman_get_rx_extra_headroom +EXPORT_SYMBOL vmlinux 0x4765cd0c of_find_backlight_by_node +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x4774ed96 sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x4779e4f9 param_set_ullong +EXPORT_SYMBOL vmlinux 0x479137ca imx_scu_irq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x47960bc4 proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x47b8668f set_bh_page +EXPORT_SYMBOL vmlinux 0x47c16bdf vfs_get_link +EXPORT_SYMBOL vmlinux 0x47c20f8a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47c99070 dma_fence_array_create +EXPORT_SYMBOL vmlinux 0x47cfd825 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0x47d8d301 __cond_resched_rwlock_read +EXPORT_SYMBOL vmlinux 0x47dadfd9 node_data +EXPORT_SYMBOL vmlinux 0x480444c2 vfs_fileattr_get +EXPORT_SYMBOL vmlinux 0x48112d76 _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0x481590bd devm_ioremap_np +EXPORT_SYMBOL vmlinux 0x48174ac3 folio_migrate_flags +EXPORT_SYMBOL vmlinux 0x481778ad ip6_xmit +EXPORT_SYMBOL vmlinux 0x481814c4 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x4829a47e memcpy +EXPORT_SYMBOL vmlinux 0x4829cf6b fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0x48328732 simple_lookup +EXPORT_SYMBOL vmlinux 0x48359576 vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0x4837bb10 logic_outsb +EXPORT_SYMBOL vmlinux 0x4841bdee strnchr +EXPORT_SYMBOL vmlinux 0x484322e2 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x4846d393 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x4848cfb1 phy_mipi_dphy_get_default_config +EXPORT_SYMBOL vmlinux 0x484f6edf ktime_get_coarse_real_ts64 +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486075c8 gen_pool_dma_alloc +EXPORT_SYMBOL vmlinux 0x487d2527 tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0x4888f690 pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0x4889a58b inode_get_bytes +EXPORT_SYMBOL vmlinux 0x488a636a rproc_coredump_set_elf_info +EXPORT_SYMBOL vmlinux 0x48958279 fman_port_get_device +EXPORT_SYMBOL vmlinux 0x489cc653 bioset_init +EXPORT_SYMBOL vmlinux 0x489eda10 memset32 +EXPORT_SYMBOL vmlinux 0x489f6e0b rdma_dim +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48aea7b6 tso_start +EXPORT_SYMBOL vmlinux 0x48b99a13 vme_lm_free +EXPORT_SYMBOL vmlinux 0x48bedf65 first_ec +EXPORT_SYMBOL vmlinux 0x48c093fb _atomic_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x48c5cfe9 xp_dma_map +EXPORT_SYMBOL vmlinux 0x48c9c7a5 d_move +EXPORT_SYMBOL vmlinux 0x48d27375 __bitmap_intersects +EXPORT_SYMBOL vmlinux 0x48d69871 mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x48df728a vfs_mkobj +EXPORT_SYMBOL vmlinux 0x48e22a8c dma_map_sg_attrs +EXPORT_SYMBOL vmlinux 0x48e3d9d8 md_integrity_register +EXPORT_SYMBOL vmlinux 0x48eb37b8 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x48f2d2c2 inet6_bind +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x49278476 mmc_can_discard +EXPORT_SYMBOL vmlinux 0x493dc9c3 sock_set_reuseport +EXPORT_SYMBOL vmlinux 0x4944a6e3 vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0x494d9032 of_find_mipi_dsi_host_by_node +EXPORT_SYMBOL vmlinux 0x494ef48a phy_ethtool_get_sset_count +EXPORT_SYMBOL vmlinux 0x495130e0 fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0x495231ea mul_u64_u64_div_u64 +EXPORT_SYMBOL vmlinux 0x4959d640 mntput +EXPORT_SYMBOL vmlinux 0x4966b6b3 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x4967e79f radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0x499f0ecf nd_sb_checksum +EXPORT_SYMBOL vmlinux 0x49b163b8 acpi_bus_scan +EXPORT_SYMBOL vmlinux 0x49b7e400 pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0x49c17784 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x49c7ef36 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x49e9fc2d flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x49f6cbdc mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x49f8fecf d_alloc_name +EXPORT_SYMBOL vmlinux 0x4a0ef5dc iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x4a1ae3d9 netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0x4a3ad70e wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x4a3edfb8 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x4a442c2c ip6_frag_next +EXPORT_SYMBOL vmlinux 0x4a511a80 ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0x4a59c497 scsi_remove_host +EXPORT_SYMBOL vmlinux 0x4a5bf67c blk_pre_runtime_suspend +EXPORT_SYMBOL vmlinux 0x4a77c71e scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x4a93576a ucc_fast_free +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4aab03d6 pm_vt_switch_required +EXPORT_SYMBOL vmlinux 0x4ab90873 bio_split +EXPORT_SYMBOL vmlinux 0x4ac73c84 is_nd_pfn +EXPORT_SYMBOL vmlinux 0x4ad29aa1 inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x4ad518df seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0x4adca457 mii_link_ok +EXPORT_SYMBOL vmlinux 0x4ae12bdc kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0x4aea463f crc32_le_shift +EXPORT_SYMBOL vmlinux 0x4af6ddf0 kstrtou16 +EXPORT_SYMBOL vmlinux 0x4af856aa mmc_of_parse_clk_phase +EXPORT_SYMBOL vmlinux 0x4afb2238 add_wait_queue +EXPORT_SYMBOL vmlinux 0x4b0a3f52 gic_nonsecure_priorities +EXPORT_SYMBOL vmlinux 0x4b0ebfcf cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x4b0fe33b md_finish_reshape +EXPORT_SYMBOL vmlinux 0x4b19af1f unlock_page +EXPORT_SYMBOL vmlinux 0x4b279c0a bio_alloc_clone +EXPORT_SYMBOL vmlinux 0x4b30b82c __sk_receive_skb +EXPORT_SYMBOL vmlinux 0x4b3f4f30 vfs_get_super +EXPORT_SYMBOL vmlinux 0x4b468f33 devm_memunmap +EXPORT_SYMBOL vmlinux 0x4b4a0cfb uart_update_timeout +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b6c48a9 netdev_sk_get_lowest_dev +EXPORT_SYMBOL vmlinux 0x4b6df007 acpi_evaluate_reg +EXPORT_SYMBOL vmlinux 0x4b750f53 _raw_spin_unlock_irq +EXPORT_SYMBOL vmlinux 0x4bb3bc87 flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0x4bcc2662 mempool_init_node +EXPORT_SYMBOL vmlinux 0x4bd166d5 nvdimm_bus_unlock +EXPORT_SYMBOL vmlinux 0x4be080fc pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0x4bef1c67 empty_name +EXPORT_SYMBOL vmlinux 0x4bf3ce6f qman_release_cgrid +EXPORT_SYMBOL vmlinux 0x4bf51d96 copy_page_from_iter +EXPORT_SYMBOL vmlinux 0x4c07a7e0 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0x4c12b409 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x4c365935 capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c43b74d alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0x4c44434e nf_log_unset +EXPORT_SYMBOL vmlinux 0x4c4dae1e __invalidate_device +EXPORT_SYMBOL vmlinux 0x4c4f219c vme_slot_num +EXPORT_SYMBOL vmlinux 0x4c5c784b sock_no_bind +EXPORT_SYMBOL vmlinux 0x4c5f0fb1 phy_modify_paged +EXPORT_SYMBOL vmlinux 0x4c608a9c __f_setown +EXPORT_SYMBOL vmlinux 0x4c6c8b2a __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0x4c74a7b0 devm_devfreq_add_device +EXPORT_SYMBOL vmlinux 0x4c8245a1 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x4ca1de62 inc_nlink +EXPORT_SYMBOL vmlinux 0x4ca28a9a mdiobus_get_phy +EXPORT_SYMBOL vmlinux 0x4caaabe1 simple_open +EXPORT_SYMBOL vmlinux 0x4cba441d iwe_stream_add_event +EXPORT_SYMBOL vmlinux 0x4cd8bea0 put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0x4cfbbb43 phy_trigger_machine +EXPORT_SYMBOL vmlinux 0x4d0d163d copy_page +EXPORT_SYMBOL vmlinux 0x4d123d6e key_type_keyring +EXPORT_SYMBOL vmlinux 0x4d13479f devfreq_remove_governor +EXPORT_SYMBOL vmlinux 0x4d1388d9 iproc_msi_init +EXPORT_SYMBOL vmlinux 0x4d2267fa lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0x4d2c7133 acpi_info +EXPORT_SYMBOL vmlinux 0x4d39549e padata_free +EXPORT_SYMBOL vmlinux 0x4d4ca5e1 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x4d500bde netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0x4d58bd46 eth_validate_addr +EXPORT_SYMBOL vmlinux 0x4d5c345f bdi_alloc +EXPORT_SYMBOL vmlinux 0x4d60830c generic_copy_file_range +EXPORT_SYMBOL vmlinux 0x4d65cbd5 csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x4d760908 dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0x4d89d21f remove_arg_zero +EXPORT_SYMBOL vmlinux 0x4d8b50cb put_disk +EXPORT_SYMBOL vmlinux 0x4d8e7163 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x4d8eb4a4 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x4d924f20 memremap +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4da596e6 qman_retire_fq +EXPORT_SYMBOL vmlinux 0x4db5bb4e sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0x4dc01324 flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0x4dc7eff5 genphy_read_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x4dca08ee sync_file_get_fence +EXPORT_SYMBOL vmlinux 0x4de995ec gen_pool_dma_alloc_algo +EXPORT_SYMBOL vmlinux 0x4df02057 crc32_be +EXPORT_SYMBOL vmlinux 0x4df2ea84 gen_estimator_read +EXPORT_SYMBOL vmlinux 0x4df5a22d _copy_to_iter +EXPORT_SYMBOL vmlinux 0x4dfa8d4b mutex_lock +EXPORT_SYMBOL vmlinux 0x4dfbe41d skb_eth_pop +EXPORT_SYMBOL vmlinux 0x4e099d0f cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x4e0a55f6 seq_release +EXPORT_SYMBOL vmlinux 0x4e20bcf8 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x4e2e74c1 qcom_scm_io_readl +EXPORT_SYMBOL vmlinux 0x4e2f2c37 fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x4e2f2cae elv_rb_add +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e362058 netif_tx_unlock +EXPORT_SYMBOL vmlinux 0x4e36cdc4 __ubsan_handle_divrem_overflow +EXPORT_SYMBOL vmlinux 0x4e3b4618 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x4e4f0f16 dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x4e547048 __kmalloc_node_track_caller +EXPORT_SYMBOL vmlinux 0x4e57dde6 fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6a4647 migrate_page +EXPORT_SYMBOL vmlinux 0x4e6e4b41 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e86d380 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x4e8c11b4 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x4e9ff255 param_ops_bint +EXPORT_SYMBOL vmlinux 0x4ea25709 dql_reset +EXPORT_SYMBOL vmlinux 0x4eada8f7 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x4eb6c904 ip_defrag +EXPORT_SYMBOL vmlinux 0x4ec54e78 bitmap_to_arr32 +EXPORT_SYMBOL vmlinux 0x4ecd7284 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x4f073e4f key_link +EXPORT_SYMBOL vmlinux 0x4f106666 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f20d80b zstd_min_clevel +EXPORT_SYMBOL vmlinux 0x4f2250ba rtc_tm_to_time64 +EXPORT_SYMBOL vmlinux 0x4f34895d config_group_init_type_name +EXPORT_SYMBOL vmlinux 0x4f47261d mipi_dsi_generic_write +EXPORT_SYMBOL vmlinux 0x4f55166f acpi_set_current_resources +EXPORT_SYMBOL vmlinux 0x4f664036 pci_remove_bus +EXPORT_SYMBOL vmlinux 0x4f709989 security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0x4f7119a4 tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0x4f757f4a sock_create_kern +EXPORT_SYMBOL vmlinux 0x4f760637 block_commit_write +EXPORT_SYMBOL vmlinux 0x4f79e5fe write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x4f89c9de gpmc_cs_free +EXPORT_SYMBOL vmlinux 0x4fa588b9 thermal_zone_device_critical +EXPORT_SYMBOL vmlinux 0x4fc76f83 __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0x4fd4a9b0 pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0x4fd711b0 path_is_mountpoint +EXPORT_SYMBOL vmlinux 0x4fdda9a5 stop_tty +EXPORT_SYMBOL vmlinux 0x4feaa2c7 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x4ffb59bf __SCK__tp_func_kfree +EXPORT_SYMBOL vmlinux 0x5002eefb scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x5021bd81 _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x5027bde2 acpi_acquire_mutex +EXPORT_SYMBOL vmlinux 0x503a8de5 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x5043e763 ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0x50444d2b kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x505e57e9 noop_qdisc +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +EXPORT_SYMBOL vmlinux 0x5075bee3 gpiochip_irq_reqres +EXPORT_SYMBOL vmlinux 0x507e2c11 devm_release_resource +EXPORT_SYMBOL vmlinux 0x5089f45f ip_send_check +EXPORT_SYMBOL vmlinux 0x5092e84e __read_overflow2_field +EXPORT_SYMBOL vmlinux 0x50944630 seq_list_start_head_rcu +EXPORT_SYMBOL vmlinux 0x50963fd6 netdev_notice +EXPORT_SYMBOL vmlinux 0x509b64ea acpi_has_method +EXPORT_SYMBOL vmlinux 0x509d8ff8 mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0x50a4698c fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0x50b73ce2 rfkill_find_type +EXPORT_SYMBOL vmlinux 0x50b80992 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x50ba1130 filemap_release_folio +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50c38015 mmc_retune_unpause +EXPORT_SYMBOL vmlinux 0x50c79cf5 iov_iter_bvec +EXPORT_SYMBOL vmlinux 0x50cf7585 hex2bin +EXPORT_SYMBOL vmlinux 0x50d035c2 vsscanf +EXPORT_SYMBOL vmlinux 0x50d71d7a regset_get_alloc +EXPORT_SYMBOL vmlinux 0x50f155d6 devfreq_monitor_stop +EXPORT_SYMBOL vmlinux 0x50f374f8 ip_getsockopt +EXPORT_SYMBOL vmlinux 0x50f85302 __arm_smccc_hvc +EXPORT_SYMBOL vmlinux 0x50f91491 __genradix_ptr +EXPORT_SYMBOL vmlinux 0x5102a30b do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0x5138d5dc fman_get_mem_region +EXPORT_SYMBOL vmlinux 0x5144f083 kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x515083bf acpi_release_mutex +EXPORT_SYMBOL vmlinux 0x5155c7d4 get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0x51574d07 request_firmware +EXPORT_SYMBOL vmlinux 0x515f520b qman_portal_get_iperiod +EXPORT_SYMBOL vmlinux 0x5162a423 uart_add_one_port +EXPORT_SYMBOL vmlinux 0x51641162 opal_unlock_from_suspend +EXPORT_SYMBOL vmlinux 0x51664783 __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x51761e12 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x5187c61a skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0x518da0d9 __devm_request_region +EXPORT_SYMBOL vmlinux 0x519ae118 follow_down +EXPORT_SYMBOL vmlinux 0x51a511eb _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51d7cacf dst_dev_put +EXPORT_SYMBOL vmlinux 0x51ed72a6 xen_free_unpopulated_pages +EXPORT_SYMBOL vmlinux 0x5203d176 cmd_db_ready +EXPORT_SYMBOL vmlinux 0x523175f3 pci_set_power_state +EXPORT_SYMBOL vmlinux 0x52319e1a serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x5239b59a fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x524cc48e skb_trim +EXPORT_SYMBOL vmlinux 0x525c9852 pci_request_region +EXPORT_SYMBOL vmlinux 0x526dbca7 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x526eef2c hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0x52732e4d nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0x5276071a kernel_getsockname +EXPORT_SYMBOL vmlinux 0x52983a4f vme_master_write +EXPORT_SYMBOL vmlinux 0x52997b74 blk_set_runtime_active +EXPORT_SYMBOL vmlinux 0x52a2aedf __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x52b3e044 twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x52cb0a31 udp_poll +EXPORT_SYMBOL vmlinux 0x52ce0893 mq_change_real_num_tx +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52dcb85b __traceiter_kmalloc +EXPORT_SYMBOL vmlinux 0x52ec889c textsearch_destroy +EXPORT_SYMBOL vmlinux 0x52ecbc75 crc_ccitt +EXPORT_SYMBOL vmlinux 0x52f2850a imx_sc_pm_cpu_start +EXPORT_SYMBOL vmlinux 0x52f2e342 netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0x52f4bbea ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0x5304a6cd __module_put_and_kthread_exit +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x530e7e22 tty_name +EXPORT_SYMBOL vmlinux 0x53126ecc __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x53212283 sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0x5323797f dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x5338184f ethtool_sprintf +EXPORT_SYMBOL vmlinux 0x533c4c4c ip_route_input_noref +EXPORT_SYMBOL vmlinux 0x533ee7c8 mipi_dsi_device_register_full +EXPORT_SYMBOL vmlinux 0x535c7587 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x535f531e copy_page_to_iter +EXPORT_SYMBOL vmlinux 0x53734f4b neigh_event_ns +EXPORT_SYMBOL vmlinux 0x5394d8b5 ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0x53aee915 of_chosen +EXPORT_SYMBOL vmlinux 0x53b1c69f __netdev_notify_peers +EXPORT_SYMBOL vmlinux 0x53b8d5cb input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0x53b954a2 up_read +EXPORT_SYMBOL vmlinux 0x53c6f536 would_dump +EXPORT_SYMBOL vmlinux 0x53dbb7c3 register_mii_timestamper +EXPORT_SYMBOL vmlinux 0x53e137d0 file_remove_privs +EXPORT_SYMBOL vmlinux 0x53eed79f __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x53eff192 tegra_ivc_align +EXPORT_SYMBOL vmlinux 0x53f5ca65 security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0x53f8ced7 page_pool_ethtool_stats_get_strings +EXPORT_SYMBOL vmlinux 0x5402da9f xudma_navss_psil_pair +EXPORT_SYMBOL vmlinux 0x541b7a19 blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x546caa65 backlight_device_get_by_name +EXPORT_SYMBOL vmlinux 0x548137ce pci_release_resource +EXPORT_SYMBOL vmlinux 0x54823918 generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0x54ab6f5f flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0x54b1fac6 __ubsan_handle_load_invalid_value +EXPORT_SYMBOL vmlinux 0x54b7120e genphy_resume +EXPORT_SYMBOL vmlinux 0x54d39d8f uart_register_driver +EXPORT_SYMBOL vmlinux 0x54ddf05d param_get_ullong +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54ea6dfe xen_start_flags +EXPORT_SYMBOL vmlinux 0x54eae120 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit +EXPORT_SYMBOL vmlinux 0x5508f28d bman_acquire +EXPORT_SYMBOL vmlinux 0x55116183 fb_class +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x552db3aa qman_query_cgr_congested +EXPORT_SYMBOL vmlinux 0x552f0547 fqdir_init +EXPORT_SYMBOL vmlinux 0x552fbb36 trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0x553b9346 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x554238b2 dev_printk_emit +EXPORT_SYMBOL vmlinux 0x5544adb0 filemap_check_errors +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +EXPORT_SYMBOL vmlinux 0x555757b5 block_invalidate_folio +EXPORT_SYMBOL vmlinux 0x5563abb0 serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x556b5d62 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x556bfa30 vme_slave_request +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x55aaa4dd dma_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x55fa24e1 vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0x56098c5f d_instantiate_new +EXPORT_SYMBOL vmlinux 0x5609e7cb dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0x5614f48a qman_dqrr_get_ithresh +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x564642f9 mipi_dsi_dcs_enter_sleep_mode +EXPORT_SYMBOL vmlinux 0x56470118 __warn_printk +EXPORT_SYMBOL vmlinux 0x564f7608 acpi_reconfig_notifier_register +EXPORT_SYMBOL vmlinux 0x565a38bc pldmfw_flash_image +EXPORT_SYMBOL vmlinux 0x565f0cb2 fman_set_mac_active_pause +EXPORT_SYMBOL vmlinux 0x566f7ccf ps2_end_command +EXPORT_SYMBOL vmlinux 0x56752ac9 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x5675373e padata_free_shell +EXPORT_SYMBOL vmlinux 0x567bf1ae inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x56a5288d mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0x56c3db64 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x570bb3e3 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x5730aacf put_fs_context +EXPORT_SYMBOL vmlinux 0x5731804a netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x5761feaf simple_nosetlease +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x578291a7 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x57900416 gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0x57901542 __quota_error +EXPORT_SYMBOL vmlinux 0x5792f848 strlcpy +EXPORT_SYMBOL vmlinux 0x579b21d8 fs_param_is_string +EXPORT_SYMBOL vmlinux 0x57a3013b phy_register_fixup +EXPORT_SYMBOL vmlinux 0x57a543b6 __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x57b805e6 set_anon_super +EXPORT_SYMBOL vmlinux 0x57bc19d2 down_write +EXPORT_SYMBOL vmlinux 0x57c50921 pipe_unlock +EXPORT_SYMBOL vmlinux 0x57db8fd6 utf8_normalize +EXPORT_SYMBOL vmlinux 0x57e45ce6 simple_get_link +EXPORT_SYMBOL vmlinux 0x57f327dc blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0x57f38cdc qe_get_firmware_info +EXPORT_SYMBOL vmlinux 0x58060bbd md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x5809c94f devfreq_get_freq_range +EXPORT_SYMBOL vmlinux 0x58159b63 pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0x5818fe3c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x581f98da zlib_inflate +EXPORT_SYMBOL vmlinux 0x5821784b md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x582606eb xudma_rflow_put +EXPORT_SYMBOL vmlinux 0x5829a6ce phy_error +EXPORT_SYMBOL vmlinux 0x582b6275 xfrm_if_unregister_cb +EXPORT_SYMBOL vmlinux 0x582dba62 netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x584d6607 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x5850b04a put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0x585721c0 jbd2_journal_invalidate_folio +EXPORT_SYMBOL vmlinux 0x585ae877 nmi_panic +EXPORT_SYMBOL vmlinux 0x58628c92 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x587b0954 kvasprintf +EXPORT_SYMBOL vmlinux 0x587b892e qe_get_num_of_risc +EXPORT_SYMBOL vmlinux 0x587f22d7 devmap_managed_key +EXPORT_SYMBOL vmlinux 0x588333a9 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x58872e96 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x5888e2a0 ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0x588e0c9b fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58b7bae4 blk_sync_queue +EXPORT_SYMBOL vmlinux 0x58bb2009 pcie_set_mps +EXPORT_SYMBOL vmlinux 0x58c5c937 kill_pid +EXPORT_SYMBOL vmlinux 0x58cdbaf4 iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x58dc46e7 dst_release +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x58e53ae4 __put_page +EXPORT_SYMBOL vmlinux 0x58e91bb5 input_get_keycode +EXPORT_SYMBOL vmlinux 0x58ece113 rproc_shutdown +EXPORT_SYMBOL vmlinux 0x58f69b38 send_sig_info +EXPORT_SYMBOL vmlinux 0x58f6f149 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x58fa4c40 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x5906aec8 unpin_user_pages +EXPORT_SYMBOL vmlinux 0x591b6c89 __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0x59250cbe param_set_uint +EXPORT_SYMBOL vmlinux 0x592b8cce __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x5930c1d3 blkdev_put +EXPORT_SYMBOL vmlinux 0x5934b5a9 qman_destroy_fq +EXPORT_SYMBOL vmlinux 0x594f1959 blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0x5953acc7 cdrom_open +EXPORT_SYMBOL vmlinux 0x595d8002 hdmi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x597b2726 __traceiter_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x599b4888 qe_setbrg +EXPORT_SYMBOL vmlinux 0x599cf14a request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x599fb41c kvmalloc_node +EXPORT_SYMBOL vmlinux 0x59a2f0ee packing +EXPORT_SYMBOL vmlinux 0x59b4ac3e tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x59c2d56e uart_match_port +EXPORT_SYMBOL vmlinux 0x59c3ca2c mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0x59d6a3a0 pcim_iomap +EXPORT_SYMBOL vmlinux 0x59f90cb6 blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0x59fada5c mod_node_page_state +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a164f55 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x5a1caba2 platform_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x5a2556b8 dst_init +EXPORT_SYMBOL vmlinux 0x5a290250 hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x5a43b5db vfs_get_fsid +EXPORT_SYMBOL vmlinux 0x5a44f8cb __crypto_memneq +EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle +EXPORT_SYMBOL vmlinux 0x5a512bf6 dev_deactivate +EXPORT_SYMBOL vmlinux 0x5a60b950 qm_channel_pool1 +EXPORT_SYMBOL vmlinux 0x5a61bfd7 tcf_idr_release +EXPORT_SYMBOL vmlinux 0x5a67eaa3 pnp_release_card_device +EXPORT_SYMBOL vmlinux 0x5a6ffaab mmc_gpio_get_ro +EXPORT_SYMBOL vmlinux 0x5a8b6d8b dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x5a921311 strncmp +EXPORT_SYMBOL vmlinux 0x5a99a0d7 flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0x5a9f1d63 memmove +EXPORT_SYMBOL vmlinux 0x5aba3dcc nvdimm_bus_lock +EXPORT_SYMBOL vmlinux 0x5abced32 flow_block_cb_setup_simple +EXPORT_SYMBOL vmlinux 0x5ac8433a configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0x5ae1154b __traceiter_kfree +EXPORT_SYMBOL vmlinux 0x5ae61cc3 tcf_qevent_validate_change +EXPORT_SYMBOL vmlinux 0x5ae7f012 mipi_dsi_dcs_write +EXPORT_SYMBOL vmlinux 0x5afc0fe6 device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0x5b04e8b1 netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0x5b1e3e8c simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x5b1f0e11 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x5b2db98f nd_device_notify +EXPORT_SYMBOL vmlinux 0x5b2f27fb do_wait_intr +EXPORT_SYMBOL vmlinux 0x5b383c28 napi_complete_done +EXPORT_SYMBOL vmlinux 0x5b3e282f xa_store +EXPORT_SYMBOL vmlinux 0x5b54903b qcom_scm_pas_mem_setup +EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap +EXPORT_SYMBOL vmlinux 0x5b57f2bf migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0x5b6e5c05 keyring_search +EXPORT_SYMBOL vmlinux 0x5b6f1a50 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x5b752dfc dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0x5b8275ca set_user_nice +EXPORT_SYMBOL vmlinux 0x5b8fb067 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x5b9ba9c4 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x5bad2d16 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x5bbb590f __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0x5bc142ce grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x5bcc2e1c hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x5bcf64dc dec_node_page_state +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5bdb7603 sock_copy_user_timeval +EXPORT_SYMBOL vmlinux 0x5be61076 fb_get_mode +EXPORT_SYMBOL vmlinux 0x5be62591 udp_seq_next +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5be6be06 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x5bf130ce blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0x5bf6b3cd open_exec +EXPORT_SYMBOL vmlinux 0x5bfff5db find_inode_rcu +EXPORT_SYMBOL vmlinux 0x5c106cca napi_gro_flush +EXPORT_SYMBOL vmlinux 0x5c1eef33 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0x5c246633 phy_detach +EXPORT_SYMBOL vmlinux 0x5c26a53b wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0x5c38faad acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0x5c3c7387 kstrtoull +EXPORT_SYMBOL vmlinux 0x5c4eaf2d rproc_add_subdev +EXPORT_SYMBOL vmlinux 0x5cbc13e7 input_allocate_device +EXPORT_SYMBOL vmlinux 0x5cc6fb0d vga_client_register +EXPORT_SYMBOL vmlinux 0x5ceea07c param_ops_byte +EXPORT_SYMBOL vmlinux 0x5cf39b8c tcp_seq_stop +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5cfb26a0 acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0x5d067283 blk_queue_split +EXPORT_SYMBOL vmlinux 0x5d112304 __memcpy_fromio +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d7f1648 xudma_get_device +EXPORT_SYMBOL vmlinux 0x5d9a4823 inet_accept +EXPORT_SYMBOL vmlinux 0x5dac4cd6 qman_dqrr_set_ithresh +EXPORT_SYMBOL vmlinux 0x5dad1a09 folio_redirty_for_writepage +EXPORT_SYMBOL vmlinux 0x5db1e481 ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0x5dd36f47 vm_map_pages +EXPORT_SYMBOL vmlinux 0x5decfc27 scsi_register_interface +EXPORT_SYMBOL vmlinux 0x5defdd6c xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x5e06bc5c refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e14eaf1 mipi_dsi_compression_mode +EXPORT_SYMBOL vmlinux 0x5e3240a0 __cpu_online_mask +EXPORT_SYMBOL vmlinux 0x5e332b52 __var_waitqueue +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e3ac263 serio_reconnect +EXPORT_SYMBOL vmlinux 0x5e40e544 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x5e4b3b36 seq_putc +EXPORT_SYMBOL vmlinux 0x5e55cfad unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x5e67ea60 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x5e6f91f9 tegra_powergate_remove_clamping +EXPORT_SYMBOL vmlinux 0x5e7befb2 md_reload_sb +EXPORT_SYMBOL vmlinux 0x5e7fd5d1 amba_device_register +EXPORT_SYMBOL vmlinux 0x5e816480 netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0x5e855e56 gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e971dfc phy_get_internal_delay +EXPORT_SYMBOL vmlinux 0x5e9a01ce gen_new_estimator +EXPORT_SYMBOL vmlinux 0x5ea2d071 netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x5ec69aa4 __serio_register_port +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed60c63 of_xudma_dev_get +EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5ee6e1f3 genphy_suspend +EXPORT_SYMBOL vmlinux 0x5ef6a672 gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0x5efdd68b __tracepoint_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x5efde8e6 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x5f098b2a in6addr_interfacelocal_allrouters +EXPORT_SYMBOL vmlinux 0x5f199094 fasync_helper +EXPORT_SYMBOL vmlinux 0x5f1f58ec pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x5f2b3f34 nf_ct_attach +EXPORT_SYMBOL vmlinux 0x5f2ba55e security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x5f2d69b6 inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0x5f5441c8 __ubsan_handle_alignment_assumption +EXPORT_SYMBOL vmlinux 0x5f66e546 max8998_read_reg +EXPORT_SYMBOL vmlinux 0x5f6b889c rproc_va_to_pa +EXPORT_SYMBOL vmlinux 0x5f86c493 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x5f8b424d mipi_dsi_generic_read +EXPORT_SYMBOL vmlinux 0x5f8b7ee2 rpmh_write +EXPORT_SYMBOL vmlinux 0x5f93525c acpi_extract_package +EXPORT_SYMBOL vmlinux 0x5f94bd13 mmc_can_erase +EXPORT_SYMBOL vmlinux 0x5f957ac4 folio_mapped +EXPORT_SYMBOL vmlinux 0x5fa169a8 jbd2_fc_end_commit +EXPORT_SYMBOL vmlinux 0x5fbdef88 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x5fc72f0e alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x5fcb4537 nobh_write_end +EXPORT_SYMBOL vmlinux 0x5fe4ab4c vme_new_dma_list +EXPORT_SYMBOL vmlinux 0x5feaa7b0 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x5fed178c meson_sm_call +EXPORT_SYMBOL vmlinux 0x5ff1297f pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x5ff9eb0e lockref_mark_dead +EXPORT_SYMBOL vmlinux 0x5fff0cf6 seq_bprintf +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x6008689f kthread_complete_and_exit +EXPORT_SYMBOL vmlinux 0x600db641 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x604d055f eth_mac_addr +EXPORT_SYMBOL vmlinux 0x604eb8fc ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x605705f7 iget_failed +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x605e34a9 skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0x6064d541 inet_listen +EXPORT_SYMBOL vmlinux 0x608741b5 __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x608d0267 zstd_get_error_code +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60aaeb4b qman_p_irqsource_add +EXPORT_SYMBOL vmlinux 0x60b3071f neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0x60d8ab30 vme_lm_get +EXPORT_SYMBOL vmlinux 0x60e8045a tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x60f6ac8b phy_write_mmd +EXPORT_SYMBOL vmlinux 0x61073e4a acpi_os_map_generic_address +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x61347034 mb_cache_entry_delete_or_get +EXPORT_SYMBOL vmlinux 0x6145265f blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +EXPORT_SYMBOL vmlinux 0x615f839f kset_register +EXPORT_SYMBOL vmlinux 0x616a6fcd ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x617c452b queued_read_lock_slowpath +EXPORT_SYMBOL vmlinux 0x6185b747 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0x618911fc numa_node +EXPORT_SYMBOL vmlinux 0x619cb7dd simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x61af35b9 get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x61b1131a mipi_dsi_dcs_set_display_on +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61ba988e dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x61bd6a4e mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0x61cc60c8 mdiobus_is_registered_device +EXPORT_SYMBOL vmlinux 0x61d02b50 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x61e00610 kthread_stop +EXPORT_SYMBOL vmlinux 0x61e13eb9 pci_save_state +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x61fad8f3 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x620546fd nexthop_set_hw_flags +EXPORT_SYMBOL vmlinux 0x6214aef2 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x622a5399 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x623115ed scsi_scan_host +EXPORT_SYMBOL vmlinux 0x6244ee72 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x624e803e sock_set_priority +EXPORT_SYMBOL vmlinux 0x6251164d write_inode_now +EXPORT_SYMBOL vmlinux 0x62528b6a xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0x6252a6b6 address_space_init_once +EXPORT_SYMBOL vmlinux 0x62629717 show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0x6266b30c security_inet_conn_request +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x627cc53f scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0x628487c0 pci_disable_ptm +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x629079b3 dma_fence_signal_timestamp +EXPORT_SYMBOL vmlinux 0x6292da59 sock_from_file +EXPORT_SYMBOL vmlinux 0x62949074 acpi_buffer_to_resource +EXPORT_SYMBOL vmlinux 0x62964275 amba_driver_register +EXPORT_SYMBOL vmlinux 0x629fd10e path_is_under +EXPORT_SYMBOL vmlinux 0x62ac34fd mmc_gpiod_request_cd_irq +EXPORT_SYMBOL vmlinux 0x62b26043 qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0x62b46f12 vme_lm_request +EXPORT_SYMBOL vmlinux 0x62b71f32 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x62c8e71c dcache_dir_open +EXPORT_SYMBOL vmlinux 0x62d96443 qman_dma_portal +EXPORT_SYMBOL vmlinux 0x62e89e02 forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0x62e9b5d5 tcp_filter +EXPORT_SYMBOL vmlinux 0x62f7e207 down_read_killable +EXPORT_SYMBOL vmlinux 0x6315c42c zstd_get_params +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x63187844 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x63262e15 tegra_ivc_read_advance +EXPORT_SYMBOL vmlinux 0x634129dd __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x63582360 mount_nodev +EXPORT_SYMBOL vmlinux 0x6360540e phy_device_remove +EXPORT_SYMBOL vmlinux 0x6361325d __put_devmap_managed_page_refs +EXPORT_SYMBOL vmlinux 0x6380fd43 netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0x638a634b dev_mc_flush +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63d46510 iov_iter_alignment +EXPORT_SYMBOL vmlinux 0x63d71c25 of_node_name_prefix +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63f7a5a9 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x63fba2b9 mipi_dsi_dcs_set_display_off +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x6415d56b alloc_mdio_bitbang +EXPORT_SYMBOL vmlinux 0x642cab06 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x642eb5c6 xen_poll_irq_timeout +EXPORT_SYMBOL vmlinux 0x6432cde6 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x643bb782 netlink_net_capable +EXPORT_SYMBOL vmlinux 0x643bf1e1 tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x643f3068 __tracepoint_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x644be12c qman_affine_cpus +EXPORT_SYMBOL vmlinux 0x64510d3d devm_backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x6452adbc blk_rq_init +EXPORT_SYMBOL vmlinux 0x6456bf77 devm_nvmem_cell_put +EXPORT_SYMBOL vmlinux 0x6463e961 phy_device_register +EXPORT_SYMBOL vmlinux 0x646835ba devfreq_update_target +EXPORT_SYMBOL vmlinux 0x647642e9 param_get_byte +EXPORT_SYMBOL vmlinux 0x64777d14 __skb_get_hash +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x64909471 tc_setup_offload_action +EXPORT_SYMBOL vmlinux 0x64988255 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x649b9e3c nlmsg_notify +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64bbc288 string_unescape +EXPORT_SYMBOL vmlinux 0x64c8bfba dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0x64cb110e bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x64cbe4b1 key_put +EXPORT_SYMBOL vmlinux 0x64e9f90b __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x651274cd cfb_imageblit +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x6514c1e6 flow_get_u32_src +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x6527447e input_inject_event +EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp +EXPORT_SYMBOL vmlinux 0x652f8ec5 param_ops_short +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x654449c3 memset16 +EXPORT_SYMBOL vmlinux 0x654490a3 vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0x655eb3b1 qman_start_using_portal +EXPORT_SYMBOL vmlinux 0x656a3717 zero_fill_bio +EXPORT_SYMBOL vmlinux 0x656b48c9 pci_read_config_word +EXPORT_SYMBOL vmlinux 0x656c1a0e string_escape_mem +EXPORT_SYMBOL vmlinux 0x656e4a6e snprintf +EXPORT_SYMBOL vmlinux 0x657f125a dev_mc_add +EXPORT_SYMBOL vmlinux 0x6584c3ba of_get_property +EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset +EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc +EXPORT_SYMBOL vmlinux 0x65b27f4c flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0x65d1bab2 acpi_bios_warning +EXPORT_SYMBOL vmlinux 0x65d9e877 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e0d6d7 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x65e7bfeb lookup_one_positive_unlocked +EXPORT_SYMBOL vmlinux 0x6601da79 inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0x6616f928 blk_mq_start_stopped_hw_queues +EXPORT_SYMBOL vmlinux 0x661bc244 pcim_iounmap +EXPORT_SYMBOL vmlinux 0x6626afca down +EXPORT_SYMBOL vmlinux 0x66284e6c of_get_cpu_state_node +EXPORT_SYMBOL vmlinux 0x66475574 dma_unmap_page_attrs +EXPORT_SYMBOL vmlinux 0x664b1e29 qman_delete_cgr +EXPORT_SYMBOL vmlinux 0x664b9799 seq_release_private +EXPORT_SYMBOL vmlinux 0x66514fd3 __nlmsg_put +EXPORT_SYMBOL vmlinux 0x665e1479 close_fd_get_file +EXPORT_SYMBOL vmlinux 0x665e2513 zstd_max_clevel +EXPORT_SYMBOL vmlinux 0x66628bf3 ip_tunnel_metadata_cnt +EXPORT_SYMBOL vmlinux 0x666863dc par_io_config_pin +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x6676b8c8 seq_open +EXPORT_SYMBOL vmlinux 0x66826f5a xudma_get_ringacc +EXPORT_SYMBOL vmlinux 0x668b19a1 down_read +EXPORT_SYMBOL vmlinux 0x66af1fd1 lockref_put_or_lock +EXPORT_SYMBOL vmlinux 0x66b4cc41 kmemdup +EXPORT_SYMBOL vmlinux 0x66b5361b register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x66b7b85e inet_getname +EXPORT_SYMBOL vmlinux 0x66cb59cf nvdimm_namespace_locked +EXPORT_SYMBOL vmlinux 0x66ce51cc kernel_write +EXPORT_SYMBOL vmlinux 0x66df79fa param_get_bool +EXPORT_SYMBOL vmlinux 0x66eb1886 mmc_free_host +EXPORT_SYMBOL vmlinux 0x66f0b4cc put_cmsg +EXPORT_SYMBOL vmlinux 0x66ff5a17 jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0x670353ae iproc_msi_exit +EXPORT_SYMBOL vmlinux 0x671d2d10 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x6721fc7c security_cred_getsecid +EXPORT_SYMBOL vmlinux 0x67412d2f ucc_slow_enable +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x674bc748 reuseport_select_sock +EXPORT_SYMBOL vmlinux 0x6766902f vif_device_init +EXPORT_SYMBOL vmlinux 0x6769b9f4 netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0x6769ff5c of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x676bfef7 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x67748755 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x677aa318 inet6_del_offload +EXPORT_SYMBOL vmlinux 0x678b96ec dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x679db770 rproc_coredump_add_custom_segment +EXPORT_SYMBOL vmlinux 0x67ae4a5d phy_ethtool_get_eee +EXPORT_SYMBOL vmlinux 0x67af7438 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b653d9 flush_dcache_page +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67b8631a sk_stream_error +EXPORT_SYMBOL vmlinux 0x67c13ea0 acpi_read +EXPORT_SYMBOL vmlinux 0x67c54335 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x67c7b3c5 posix_lock_file +EXPORT_SYMBOL vmlinux 0x67eb4972 inet_stream_ops +EXPORT_SYMBOL vmlinux 0x68139201 request_key_tag +EXPORT_SYMBOL vmlinux 0x681abed6 sock_wfree +EXPORT_SYMBOL vmlinux 0x68275840 sg_miter_skip +EXPORT_SYMBOL vmlinux 0x682c14d5 fs_param_is_enum +EXPORT_SYMBOL vmlinux 0x68527da1 ipmi_platform_add +EXPORT_SYMBOL vmlinux 0x686352ff skb_unlink +EXPORT_SYMBOL vmlinux 0x687403df scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x6886c29e vfs_readlink +EXPORT_SYMBOL vmlinux 0x68b1188b mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0x68b5f616 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x68b76065 tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0x68b7edad skb_vlan_untag +EXPORT_SYMBOL vmlinux 0x68c58549 sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0x68d34686 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x68fb581a icst307_idx2s +EXPORT_SYMBOL vmlinux 0x69049cd2 radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0x6917a77e __traceiter_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x69585523 __ksize +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x6978de88 tegra_ivc_notified +EXPORT_SYMBOL vmlinux 0x697ed5f0 memcpy_and_pad +EXPORT_SYMBOL vmlinux 0x6992f95a sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x69b32b01 devm_free_irq +EXPORT_SYMBOL vmlinux 0x69d53cbc posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x69d7d24e neigh_carrier_down +EXPORT_SYMBOL vmlinux 0x69dd3b5b crc32_le +EXPORT_SYMBOL vmlinux 0x69de8757 vme_check_window +EXPORT_SYMBOL vmlinux 0x69e1c9b1 mdio_device_free +EXPORT_SYMBOL vmlinux 0x69fe5b1c dev_pm_opp_register_notifier +EXPORT_SYMBOL vmlinux 0x6a03751f sgl_free_order +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a16ed7d mark_info_dirty +EXPORT_SYMBOL vmlinux 0x6a1ab847 fs_param_is_bool +EXPORT_SYMBOL vmlinux 0x6a220714 skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0x6a2632e8 ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x6a30b158 netpoll_setup +EXPORT_SYMBOL vmlinux 0x6a3766b2 qman_delete_cgr_safe +EXPORT_SYMBOL vmlinux 0x6a449c4f register_sysctl_table +EXPORT_SYMBOL vmlinux 0x6a46f8c7 flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x6a4eeabb dma_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x6a5af7c8 d_drop +EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages +EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a616392 filemap_fdatawrite_wbc +EXPORT_SYMBOL vmlinux 0x6a641841 devm_clk_get_optional +EXPORT_SYMBOL vmlinux 0x6a6e05bf kstrtou8 +EXPORT_SYMBOL vmlinux 0x6a90663a qman_schedule_fq +EXPORT_SYMBOL vmlinux 0x6aa11aa6 sgl_free_n_order +EXPORT_SYMBOL vmlinux 0x6aaea13e netif_tx_lock +EXPORT_SYMBOL vmlinux 0x6abe025c skb_append +EXPORT_SYMBOL vmlinux 0x6ac905f1 vm_insert_pages +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6ade796f copy_page_from_iter_atomic +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6afa355c netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0x6b042109 ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0x6b22d693 __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x6b27729b radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b42d705 napi_build_skb +EXPORT_SYMBOL vmlinux 0x6b49f7e3 sk_mc_loop +EXPORT_SYMBOL vmlinux 0x6b4aba94 netpoll_send_skb +EXPORT_SYMBOL vmlinux 0x6b4b2933 __ioremap +EXPORT_SYMBOL vmlinux 0x6b4f1a66 ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b64b8d6 fs_bio_set +EXPORT_SYMBOL vmlinux 0x6b6a4757 __bio_advance +EXPORT_SYMBOL vmlinux 0x6b77dace md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6b9097ba eth_type_trans +EXPORT_SYMBOL vmlinux 0x6b9925ec rproc_elf_load_rsc_table +EXPORT_SYMBOL vmlinux 0x6bb7efa7 km_report +EXPORT_SYMBOL vmlinux 0x6bbcd6c0 forget_cached_acl +EXPORT_SYMBOL vmlinux 0x6bc3f770 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bc46f3e __break_lease +EXPORT_SYMBOL vmlinux 0x6bd0e573 down_interruptible +EXPORT_SYMBOL vmlinux 0x6be1c1f8 acpi_install_method +EXPORT_SYMBOL vmlinux 0x6be7c3b4 serio_interrupt +EXPORT_SYMBOL vmlinux 0x6beb600b xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0x6bf181c1 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x6c1bf644 input_release_device +EXPORT_SYMBOL vmlinux 0x6c224cda gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x6c257ac0 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x6c28a679 pci_write_config_byte +EXPORT_SYMBOL vmlinux 0x6c295987 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x6c2cf68c jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x6c3014a0 rproc_elf_find_loaded_rsc_table +EXPORT_SYMBOL vmlinux 0x6c334f26 filemap_dirty_folio +EXPORT_SYMBOL vmlinux 0x6c5dae23 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x6c60657b of_match_node +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c71a3fb jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x6c782d9a mipi_dsi_host_register +EXPORT_SYMBOL vmlinux 0x6c7a0323 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x6c7c30f3 __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x6c9e0ea0 ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0x6ca31bb5 scsi_add_device +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6cbbfc54 __arch_copy_to_user +EXPORT_SYMBOL vmlinux 0x6cc63b49 generic_listxattr +EXPORT_SYMBOL vmlinux 0x6cce06f9 phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0x6cf0d67d qe_get_num_of_snums +EXPORT_SYMBOL vmlinux 0x6cfbbea0 generic_file_fsync +EXPORT_SYMBOL vmlinux 0x6d0784f6 napi_get_frags +EXPORT_SYMBOL vmlinux 0x6d16c104 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x6d1922f6 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d2b824f of_get_next_child +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d482c7b file_open_root +EXPORT_SYMBOL vmlinux 0x6d4da611 is_bad_inode +EXPORT_SYMBOL vmlinux 0x6d5585f5 get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0x6d5e4b4e filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x6d5f5b91 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x6d73c95f logic_outw +EXPORT_SYMBOL vmlinux 0x6d74381c of_translate_address +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6d7e9575 of_graph_get_port_parent +EXPORT_SYMBOL vmlinux 0x6d85a1da sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x6da467cb pfn_is_map_memory +EXPORT_SYMBOL vmlinux 0x6db36d39 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x6db52c26 bdev_start_io_acct +EXPORT_SYMBOL vmlinux 0x6dba9051 xz_dec_microlzma_end +EXPORT_SYMBOL vmlinux 0x6dc2bd48 ilookup5 +EXPORT_SYMBOL vmlinux 0x6dc35b25 radix_tree_iter_delete +EXPORT_SYMBOL vmlinux 0x6dc5af82 softnet_data +EXPORT_SYMBOL vmlinux 0x6dcf857f uuid_null +EXPORT_SYMBOL vmlinux 0x6dd15500 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x6dd17e7b acpi_get_table_header +EXPORT_SYMBOL vmlinux 0x6df0751f mmc_register_driver +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6e0841c8 kern_path +EXPORT_SYMBOL vmlinux 0x6e18a642 md_write_start +EXPORT_SYMBOL vmlinux 0x6e52a0c1 xfrm_lookup +EXPORT_SYMBOL vmlinux 0x6e54e6c4 backlight_force_update +EXPORT_SYMBOL vmlinux 0x6e5b8651 xz_dec_run +EXPORT_SYMBOL vmlinux 0x6e609657 dev_set_threaded +EXPORT_SYMBOL vmlinux 0x6e610fc1 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x6e6e5ee1 configfs_unregister_group +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e786530 skb_clone_sk +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6edad010 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x6f0dd10b __skb_gso_segment +EXPORT_SYMBOL vmlinux 0x6f158935 file_fdatawait_range +EXPORT_SYMBOL vmlinux 0x6f193100 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0x6f3ae673 skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0x6f41a428 acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x6f4a59e4 sort_r +EXPORT_SYMBOL vmlinux 0x6f53312a security_sb_remount +EXPORT_SYMBOL vmlinux 0x6f550139 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x6f5ab52f acpi_get_local_address +EXPORT_SYMBOL vmlinux 0x6f69aec7 devm_extcon_register_notifier +EXPORT_SYMBOL vmlinux 0x6f8180ae __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0x6f86c6b4 tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6f915a45 dqstats +EXPORT_SYMBOL vmlinux 0x6f93751a proc_set_user +EXPORT_SYMBOL vmlinux 0x6f972e51 block_dirty_folio +EXPORT_SYMBOL vmlinux 0x6f9d3627 phy_mac_interrupt +EXPORT_SYMBOL vmlinux 0x6fa68596 pcie_get_mps +EXPORT_SYMBOL vmlinux 0x6fb49676 queue_rcu_work +EXPORT_SYMBOL vmlinux 0x6fbc6a00 radix_tree_insert +EXPORT_SYMBOL vmlinux 0x6fc48021 dynamic_cond_resched +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd55641 generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x6fe55383 mdiobb_write +EXPORT_SYMBOL vmlinux 0x6fe9e7db tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0x6ff3a485 dynamic_might_resched +EXPORT_SYMBOL vmlinux 0x6fff261f __arch_clear_user +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x700a699a flush_dcache_folio +EXPORT_SYMBOL vmlinux 0x70120375 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x7023bea8 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x7025db20 dma_resv_iter_first_unlocked +EXPORT_SYMBOL vmlinux 0x702946da ucs2_strlen +EXPORT_SYMBOL vmlinux 0x7033642d dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x703cf5f3 bio_kmalloc +EXPORT_SYMBOL vmlinux 0x703d89e3 setattr_prepare +EXPORT_SYMBOL vmlinux 0x707a73ac __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0x708863d0 jbd2_journal_finish_inode_data_buffers +EXPORT_SYMBOL vmlinux 0x70894d51 max8925_reg_write +EXPORT_SYMBOL vmlinux 0x7095af2e sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0x7097bad7 sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0x70a2270a register_md_personality +EXPORT_SYMBOL vmlinux 0x70a5dafb pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0x70ad75fb radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x70d1a18e qman_release_pool +EXPORT_SYMBOL vmlinux 0x70da63cd dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x70f7ed30 param_set_byte +EXPORT_SYMBOL vmlinux 0x7127d686 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x712d3c6e devfreq_suspend_device +EXPORT_SYMBOL vmlinux 0x7141b88a logic_insb +EXPORT_SYMBOL vmlinux 0x714b1abc dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0x71573b08 netdev_name_in_use +EXPORT_SYMBOL vmlinux 0x71573e32 sync_blockdev +EXPORT_SYMBOL vmlinux 0x715a5ed0 vprintk +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x7179220e free_netdev +EXPORT_SYMBOL vmlinux 0x7193911e get_unmapped_area +EXPORT_SYMBOL vmlinux 0x719ff154 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x71a26ed3 blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0x71a44298 flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0x71a48d47 of_graph_get_remote_endpoint +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71a8248b phy_do_ioctl_running +EXPORT_SYMBOL vmlinux 0x71ad8ea1 serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0x71b226ad mmc_gpiod_request_cd +EXPORT_SYMBOL vmlinux 0x71da8830 devm_arch_phys_wc_add +EXPORT_SYMBOL vmlinux 0x71dfc095 acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x71e2d799 md_check_recovery +EXPORT_SYMBOL vmlinux 0x71fb5072 __nla_reserve +EXPORT_SYMBOL vmlinux 0x720753a9 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x720a27a7 __register_blkdev +EXPORT_SYMBOL vmlinux 0x720ba67c pps_unregister_source +EXPORT_SYMBOL vmlinux 0x7226d5f2 ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0x7245b063 from_kuid +EXPORT_SYMBOL vmlinux 0x725d42fa find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0x726bc3c7 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x7275d6b7 max8998_bulk_write +EXPORT_SYMBOL vmlinux 0x727d49c2 nf_log_unregister +EXPORT_SYMBOL vmlinux 0x72820d83 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x7291124d touch_atime +EXPORT_SYMBOL vmlinux 0x729470b5 __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0x72a50966 ucc_fast_disable +EXPORT_SYMBOL vmlinux 0x72aca29a km_new_mapping +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72bc39a8 nla_put_64bit +EXPORT_SYMBOL vmlinux 0x72e1b725 __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72f14ff7 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0x73016369 start_tty +EXPORT_SYMBOL vmlinux 0x730d8a5d imx_scu_enable_general_irq_channel +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x731c4a9c dma_fence_signal +EXPORT_SYMBOL vmlinux 0x731dba7a xen_domain_type +EXPORT_SYMBOL vmlinux 0x732dd326 groups_free +EXPORT_SYMBOL vmlinux 0x732de6e6 invalidate_disk +EXPORT_SYMBOL vmlinux 0x733e7370 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x735e6a81 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x73998efa cpm_muram_free_addr +EXPORT_SYMBOL vmlinux 0x739fd00f __SCK__tp_func_module_get +EXPORT_SYMBOL vmlinux 0x73ab5af6 open_with_fake_path +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73bee56c __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x73d91ffa unregister_netdev +EXPORT_SYMBOL vmlinux 0x73ff943c generic_fadvise +EXPORT_SYMBOL vmlinux 0x7410aba2 strreplace +EXPORT_SYMBOL vmlinux 0x7412ed5b kvfree_sensitive +EXPORT_SYMBOL vmlinux 0x74130888 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x74217703 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x742578a5 wait_for_random_bytes +EXPORT_SYMBOL vmlinux 0x7429e20c kstrtos8 +EXPORT_SYMBOL vmlinux 0x743bb2fc __lock_sock_fast +EXPORT_SYMBOL vmlinux 0x743f4126 keygen_port_hashing_init +EXPORT_SYMBOL vmlinux 0x74449b3d input_set_abs_params +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x746cf73e inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x74754435 acpi_bus_generate_netlink_event +EXPORT_SYMBOL vmlinux 0x7483dc59 pci_dev_present +EXPORT_SYMBOL vmlinux 0x749e85cd generic_ro_fops +EXPORT_SYMBOL vmlinux 0x74b8e674 slhc_toss +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74f643ce cdev_init +EXPORT_SYMBOL vmlinux 0x74fa2000 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x74faec18 gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0x74ff6694 __napi_schedule +EXPORT_SYMBOL vmlinux 0x752d19fe generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x75385240 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x753c781e mmc_cqe_recovery +EXPORT_SYMBOL vmlinux 0x754d0b67 pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0x7552ccbb dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x755b78c6 meson_sm_call_write +EXPORT_SYMBOL vmlinux 0x755bb6f8 vme_unregister_driver +EXPORT_SYMBOL vmlinux 0x755f4ba3 blake2s_compress_generic +EXPORT_SYMBOL vmlinux 0x75688bcf vme_dma_list_exec +EXPORT_SYMBOL vmlinux 0x75871f5e acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x758a1c63 build_skb +EXPORT_SYMBOL vmlinux 0x7592e809 blk_finish_plug +EXPORT_SYMBOL vmlinux 0x759c8dbf device_add_disk +EXPORT_SYMBOL vmlinux 0x759ca5df tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0x759f1060 alloc_anon_inode +EXPORT_SYMBOL vmlinux 0x75a86914 netdev_err +EXPORT_SYMBOL vmlinux 0x75abdb3c load_nls_default +EXPORT_SYMBOL vmlinux 0x75b0f947 noop_llseek +EXPORT_SYMBOL vmlinux 0x75ba649e cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x75badea3 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75c6a992 read_cache_page +EXPORT_SYMBOL vmlinux 0x75c94b47 rproc_elf_load_segments +EXPORT_SYMBOL vmlinux 0x75d0deb9 nsecs_to_jiffies64 +EXPORT_SYMBOL vmlinux 0x75d499dd vmcore_add_device_dump +EXPORT_SYMBOL vmlinux 0x75dab4e6 security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0x75e9f30f locks_copy_lock +EXPORT_SYMBOL vmlinux 0x75ff258b mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x76063eeb locks_remove_posix +EXPORT_SYMBOL vmlinux 0x76084ec9 security_sock_graft +EXPORT_SYMBOL vmlinux 0x76094f2f fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x7618af39 hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0x761be5ba should_remove_suid +EXPORT_SYMBOL vmlinux 0x761ffe33 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x7624249e dim_park_tired +EXPORT_SYMBOL vmlinux 0x76346f95 mipi_dsi_host_unregister +EXPORT_SYMBOL vmlinux 0x7638ba58 scm_detach_fds +EXPORT_SYMBOL vmlinux 0x7638c161 __filemap_get_folio +EXPORT_SYMBOL vmlinux 0x76459dc1 sock_bind_add +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x764dbff0 of_graph_get_remote_port +EXPORT_SYMBOL vmlinux 0x7654f234 blk_put_queue +EXPORT_SYMBOL vmlinux 0x76562830 set_page_writeback +EXPORT_SYMBOL vmlinux 0x765ff474 crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x766128e9 pnp_device_attach +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x7682412d jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x7682ba4e __copy_overflow +EXPORT_SYMBOL vmlinux 0x769cf6d2 devfreq_add_governor +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x76a3349d phy_attach_direct +EXPORT_SYMBOL vmlinux 0x76a72855 tty_do_resize +EXPORT_SYMBOL vmlinux 0x76a90a5d md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0x76b69a56 phy_advertise_supported +EXPORT_SYMBOL vmlinux 0x76c98a8c blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0x76c9d8fe folio_clear_dirty_for_io +EXPORT_SYMBOL vmlinux 0x76ccb590 clear_inode +EXPORT_SYMBOL vmlinux 0x76d1f895 nf_log_set +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76ee86f2 t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0x76ff5bac blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0x77172e1e cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x7718cdaa ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0x7732159c free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x77358855 iomem_resource +EXPORT_SYMBOL vmlinux 0x773fa409 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x77456e0a acpi_root_dir +EXPORT_SYMBOL vmlinux 0x77501038 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x777a47ff override_creds +EXPORT_SYMBOL vmlinux 0x777aefa4 init_special_inode +EXPORT_SYMBOL vmlinux 0x7791193f icst525_s2div +EXPORT_SYMBOL vmlinux 0x77bab7b7 mdiobus_register_device +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77ce817b md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x77ea5697 serio_open +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x780fb881 pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x784ec918 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x78732a9e dquot_file_open +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x788a8a66 rtnl_notify +EXPORT_SYMBOL vmlinux 0x7894eed2 generic_fill_statx_attr +EXPORT_SYMBOL vmlinux 0x7899b26a import_single_range +EXPORT_SYMBOL vmlinux 0x78a15a65 fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78b887ed vsprintf +EXPORT_SYMBOL vmlinux 0x78d1b43c dma_async_device_register +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78e69307 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x78f76453 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x79002bf0 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x7915d3de bio_add_page +EXPORT_SYMBOL vmlinux 0x791af77b scmd_printk +EXPORT_SYMBOL vmlinux 0x792049f1 ppp_input_error +EXPORT_SYMBOL vmlinux 0x792cdb15 skb_expand_head +EXPORT_SYMBOL vmlinux 0x7936cfef rproc_get_by_child +EXPORT_SYMBOL vmlinux 0x794988bb dmam_pool_create +EXPORT_SYMBOL vmlinux 0x796e7dd9 of_pci_range_to_resource +EXPORT_SYMBOL vmlinux 0x797b9ca2 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x7984eefc key_update +EXPORT_SYMBOL vmlinux 0x798a5e1c sk_dst_check +EXPORT_SYMBOL vmlinux 0x79a33f85 vme_get_size +EXPORT_SYMBOL vmlinux 0x79a7b40f kmem_cache_alloc_node_trace +EXPORT_SYMBOL vmlinux 0x79b0325c skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x79b20848 napi_disable +EXPORT_SYMBOL vmlinux 0x79b2f19d pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0x79bc2e20 dm_put_device +EXPORT_SYMBOL vmlinux 0x79cbe611 blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x79cd9d06 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x79fcfc79 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a104d9c secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a1f9cfd inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x7a2af7b4 cpu_number +EXPORT_SYMBOL vmlinux 0x7a2d2090 devm_extcon_register_notifier_all +EXPORT_SYMBOL vmlinux 0x7a2ff57e security_current_getsecid_subj +EXPORT_SYMBOL vmlinux 0x7a31a3a2 netdev_reset_tc +EXPORT_SYMBOL vmlinux 0x7a387b39 dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0x7a53a06d flow_indr_dev_exists +EXPORT_SYMBOL vmlinux 0x7a579bc2 vm_map_ram +EXPORT_SYMBOL vmlinux 0x7a5b045f elv_rb_find +EXPORT_SYMBOL vmlinux 0x7a5d63dc d_prune_aliases +EXPORT_SYMBOL vmlinux 0x7a64202a jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7a968137 ucc_slow_restart_tx +EXPORT_SYMBOL vmlinux 0x7a9c95c4 skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ac7b4c9 udplite_prot +EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt +EXPORT_SYMBOL vmlinux 0x7ad601fc wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7ae476b2 tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0x7ae5998c bprm_change_interp +EXPORT_SYMBOL vmlinux 0x7ae5d317 qe_get_snum +EXPORT_SYMBOL vmlinux 0x7afb23c1 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x7b03e67a filemap_invalidate_lock_two +EXPORT_SYMBOL vmlinux 0x7b06abfa truncate_setsize +EXPORT_SYMBOL vmlinux 0x7b3389cf tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x7b37d4a7 _find_first_zero_bit +EXPORT_SYMBOL vmlinux 0x7b3eeaad kfree_skb_list_reason +EXPORT_SYMBOL vmlinux 0x7b48902f nexthop_bucket_set_hw_flags +EXPORT_SYMBOL vmlinux 0x7b496d80 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x7b4da6ff __init_rwsem +EXPORT_SYMBOL vmlinux 0x7b511082 get_vm_area +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b7a3e5c rproc_mem_entry_init +EXPORT_SYMBOL vmlinux 0x7b82b9a1 idr_replace +EXPORT_SYMBOL vmlinux 0x7ba5a3b4 tegra_powergate_power_off +EXPORT_SYMBOL vmlinux 0x7bb50b88 acpi_write +EXPORT_SYMBOL vmlinux 0x7bbc61f6 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x7bbccd05 nr_node_ids +EXPORT_SYMBOL vmlinux 0x7bd01325 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x7c150972 deactivate_super +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c2c50c0 kthread_bind +EXPORT_SYMBOL vmlinux 0x7c2fb96c configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0x7c459513 nla_append +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c646d8c __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x7c687fca devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x7c766890 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x7c806b37 vlan_vid_del +EXPORT_SYMBOL vmlinux 0x7c809bcf pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x7c9ca58f __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x7ca4c6da generic_perform_write +EXPORT_SYMBOL vmlinux 0x7ca51a50 vfs_iocb_iter_write +EXPORT_SYMBOL vmlinux 0x7cb4b218 xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0x7cbd12f0 page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0x7cbf660e dqget +EXPORT_SYMBOL vmlinux 0x7cc9bbdb always_delete_dentry +EXPORT_SYMBOL vmlinux 0x7ccfa295 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +EXPORT_SYMBOL vmlinux 0x7ce58981 kvrealloc +EXPORT_SYMBOL vmlinux 0x7cf2ac14 md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x7cf35220 vme_master_free +EXPORT_SYMBOL vmlinux 0x7cfd4a0f __udp_disconnect +EXPORT_SYMBOL vmlinux 0x7cfdb85d vfs_mkdir +EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation +EXPORT_SYMBOL vmlinux 0x7d0ba682 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d12d76d acpi_get_parent +EXPORT_SYMBOL vmlinux 0x7d157751 __do_once_done +EXPORT_SYMBOL vmlinux 0x7d1e31b9 proc_set_size +EXPORT_SYMBOL vmlinux 0x7d319dda mdio_device_create +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d54ffd9 generic_write_checks +EXPORT_SYMBOL vmlinux 0x7d5e1008 __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x7d74d522 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x7d7f525b inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0x7d996f71 dst_release_immediate +EXPORT_SYMBOL vmlinux 0x7da4e3af fman_bind +EXPORT_SYMBOL vmlinux 0x7da7b82e netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7dc148f5 sk_capable +EXPORT_SYMBOL vmlinux 0x7dc5ffa7 tc_skb_ext_tc_disable +EXPORT_SYMBOL vmlinux 0x7dca65c4 netdev_core_stats_alloc +EXPORT_SYMBOL vmlinux 0x7dcf4135 __xa_insert +EXPORT_SYMBOL vmlinux 0x7de55347 fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0x7defb334 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7df6e355 vme_irq_free +EXPORT_SYMBOL vmlinux 0x7e0ed2ea pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0x7e2f0875 pci_iounmap +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e31c854 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x7e36ebaa dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x7e3a2ca1 notify_change +EXPORT_SYMBOL vmlinux 0x7e42f689 blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0x7e63a759 tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0x7e647ef6 acpi_device_hid +EXPORT_SYMBOL vmlinux 0x7e83740d __mod_lruvec_page_state +EXPORT_SYMBOL vmlinux 0x7e84d087 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x7e8b830c kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0x7e8c8684 of_get_next_available_child +EXPORT_SYMBOL vmlinux 0x7e8f1801 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x7e9b3f3f qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x7ec32812 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x7ed0b5c5 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x7ed4c764 pci_disable_msix +EXPORT_SYMBOL vmlinux 0x7ee0f732 devm_of_find_backlight +EXPORT_SYMBOL vmlinux 0x7ee6f6ac page_readlink +EXPORT_SYMBOL vmlinux 0x7effcafb pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f0b39a7 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x7f10da02 _dev_emerg +EXPORT_SYMBOL vmlinux 0x7f14ac8a of_device_unregister +EXPORT_SYMBOL vmlinux 0x7f162163 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f2edb7a security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0x7f3dd0d2 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x7f3f10cd unregister_cdrom +EXPORT_SYMBOL vmlinux 0x7f52071a net_dim +EXPORT_SYMBOL vmlinux 0x7f5b4fe4 sg_free_table +EXPORT_SYMBOL vmlinux 0x7f66d205 vfs_llseek +EXPORT_SYMBOL vmlinux 0x7f716916 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x7f740aa8 nla_reserve +EXPORT_SYMBOL vmlinux 0x7f775920 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7fbb2210 finish_open +EXPORT_SYMBOL vmlinux 0x7fc30529 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0x7fc31f58 fget_raw +EXPORT_SYMBOL vmlinux 0x7fce778e tegra_ivc_total_queue_size +EXPORT_SYMBOL vmlinux 0x7fcf6434 param_set_ushort +EXPORT_SYMBOL vmlinux 0x7fe105d7 bman_ip_rev +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x800571c8 netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0x80066b5a param_get_ulong +EXPORT_SYMBOL vmlinux 0x8014e45f generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x80254764 page_mapping +EXPORT_SYMBOL vmlinux 0x803ddbb6 __posix_acl_create +EXPORT_SYMBOL vmlinux 0x8040d479 serio_close +EXPORT_SYMBOL vmlinux 0x8047fe84 no_llseek +EXPORT_SYMBOL vmlinux 0x8060a8a5 reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0x8061fd64 simple_recursive_removal +EXPORT_SYMBOL vmlinux 0x8064a017 register_shrinker +EXPORT_SYMBOL vmlinux 0x806581a6 config_group_find_item +EXPORT_SYMBOL vmlinux 0x806d30a6 pci_get_device +EXPORT_SYMBOL vmlinux 0x80787f19 mipi_dsi_dcs_set_pixel_format +EXPORT_SYMBOL vmlinux 0x8086725f nd_btt_probe +EXPORT_SYMBOL vmlinux 0x8088c129 consume_skb +EXPORT_SYMBOL vmlinux 0x808bc92b inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x808edbf3 _dev_notice +EXPORT_SYMBOL vmlinux 0x8092e6b8 devfreq_update_interval +EXPORT_SYMBOL vmlinux 0x8093fe27 tcp_seq_start +EXPORT_SYMBOL vmlinux 0x809712ff hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x809dc0e4 udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x80a5b613 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x80a717a8 __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x80a739ac __mmap_lock_do_trace_acquire_returned +EXPORT_SYMBOL vmlinux 0x80aaef57 mpage_writepages +EXPORT_SYMBOL vmlinux 0x80b9477d prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x80bf857a ps2_sliced_command +EXPORT_SYMBOL vmlinux 0x80ca5026 _bin2bcd +EXPORT_SYMBOL vmlinux 0x80d68d3e fb_register_client +EXPORT_SYMBOL vmlinux 0x80d6978a __ClearPageMovable +EXPORT_SYMBOL vmlinux 0x80d94b10 acpi_dev_get_first_match_dev +EXPORT_SYMBOL vmlinux 0x80e5f86f fscrypt_fname_alloc_buffer +EXPORT_SYMBOL vmlinux 0x80e9cbf3 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x80ec0d50 qman_init_fq +EXPORT_SYMBOL vmlinux 0x80f567cd padata_alloc_shell +EXPORT_SYMBOL vmlinux 0x810bef7e sg_free_append_table +EXPORT_SYMBOL vmlinux 0x810ef68f jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x8112b3d2 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x81184e27 udp6_set_csum +EXPORT_SYMBOL vmlinux 0x81188c30 match_string +EXPORT_SYMBOL vmlinux 0x811acdae balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0x8133d83b tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0x8134a585 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x81412803 vm_mmap +EXPORT_SYMBOL vmlinux 0x814b961d skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x815f2897 empty_zero_page +EXPORT_SYMBOL vmlinux 0x81613cef blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x8171eaa1 pcim_set_mwi +EXPORT_SYMBOL vmlinux 0x818416e1 scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x81846ad6 of_phy_register_fixed_link +EXPORT_SYMBOL vmlinux 0x818edf97 cpm_muram_alloc +EXPORT_SYMBOL vmlinux 0x81a1eb59 utf8_unload +EXPORT_SYMBOL vmlinux 0x81ac5e33 trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0x81b20e8b ucc_fast_transmit_on_demand +EXPORT_SYMBOL vmlinux 0x81bf34a4 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x81cec15a I_BDEV +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81dd5e4a tty_check_change +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x81ea9ff4 xfrm_input +EXPORT_SYMBOL vmlinux 0x82152ea8 param_set_charp +EXPORT_SYMBOL vmlinux 0x8218af7b bmap +EXPORT_SYMBOL vmlinux 0x8224e4d6 crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0x8229dc65 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x822d4df4 dma_map_resource +EXPORT_SYMBOL vmlinux 0x823d3505 cmxgcr_lock +EXPORT_SYMBOL vmlinux 0x82464306 dcb_getapp +EXPORT_SYMBOL vmlinux 0x825291dd tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0x8252f4ae reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0x8263a6d9 proc_douintvec +EXPORT_SYMBOL vmlinux 0x826a2957 brioctl_set +EXPORT_SYMBOL vmlinux 0x828b9f8a xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0x82913280 fs_lookup_param +EXPORT_SYMBOL vmlinux 0x829b11b8 tty_hangup +EXPORT_SYMBOL vmlinux 0x82add454 tcp_mtu_to_mss +EXPORT_SYMBOL vmlinux 0x82c40dae __netif_schedule +EXPORT_SYMBOL vmlinux 0x82c46f77 pci_pme_capable +EXPORT_SYMBOL vmlinux 0x82c87ad5 nr_online_nodes +EXPORT_SYMBOL vmlinux 0x82ccda7e remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0x82e82159 ps2_command +EXPORT_SYMBOL vmlinux 0x831c0846 buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0x8326b213 xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0x8331dd0c ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0x83375a4a __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x8373d780 phy_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x837b7b09 __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0x838d2bc8 siphash_3u32 +EXPORT_SYMBOL vmlinux 0x838de657 flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0x83a0f5cd vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x83b77602 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x83ba88ba skb_copy_expand +EXPORT_SYMBOL vmlinux 0x83d84490 is_nvdimm_bus_locked +EXPORT_SYMBOL vmlinux 0x83e9e5c0 xsk_tx_completed +EXPORT_SYMBOL vmlinux 0x83fb8201 zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0x840342c6 sgl_free +EXPORT_SYMBOL vmlinux 0x8408f672 phy_init_eee +EXPORT_SYMBOL vmlinux 0x8427cc7b _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0x8428a1db __dquot_free_space +EXPORT_SYMBOL vmlinux 0x842aeff0 seq_dentry +EXPORT_SYMBOL vmlinux 0x84322582 phy_request_interrupt +EXPORT_SYMBOL vmlinux 0x843815cf tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0x8443b1d0 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x84475c40 fqdir_exit +EXPORT_SYMBOL vmlinux 0x844be1b1 inet_offloads +EXPORT_SYMBOL vmlinux 0x845008ee pci_write_vpd +EXPORT_SYMBOL vmlinux 0x8451adf6 nd_dev_to_uuid +EXPORT_SYMBOL vmlinux 0x8455e3a7 dma_fence_signal_timestamp_locked +EXPORT_SYMBOL vmlinux 0x8465678e inode_add_bytes +EXPORT_SYMBOL vmlinux 0x84818f57 tegra_powergate_power_on +EXPORT_SYMBOL vmlinux 0x84823cf3 nla_strscpy +EXPORT_SYMBOL vmlinux 0x84851a4a gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0x848c4c5b skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0x84940892 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x849f69be cros_ec_cmd_xfer +EXPORT_SYMBOL vmlinux 0x84a0ca4d bitmap_zalloc_node +EXPORT_SYMBOL vmlinux 0x84c03e9a rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0x84c1c552 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x84c36b5c mfd_add_devices +EXPORT_SYMBOL vmlinux 0x84c4040c security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0x84cd65d6 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x8500e8f3 kill_litter_super +EXPORT_SYMBOL vmlinux 0x8508643b pci_disable_device +EXPORT_SYMBOL vmlinux 0x8518a4a6 _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x851b9121 xudma_dev_get_psil_base +EXPORT_SYMBOL vmlinux 0x852c73c6 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x852efa26 cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0x8531facd prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0x854fec83 tegra_sku_info +EXPORT_SYMBOL vmlinux 0x855b009c __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x8591d7d5 ledtrig_mtd_activity +EXPORT_SYMBOL vmlinux 0x85b51ff5 ipv6_dev_find +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85b9ddd4 neigh_direct_output +EXPORT_SYMBOL vmlinux 0x85bd1608 __request_region +EXPORT_SYMBOL vmlinux 0x85c69e68 fwnode_iomap +EXPORT_SYMBOL vmlinux 0x85d814b2 devfreq_resume_device +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85efc7e0 zero_pfn +EXPORT_SYMBOL vmlinux 0x860684c5 bdi_register +EXPORT_SYMBOL vmlinux 0x86095e5b xsk_set_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x861f4b79 filemap_alloc_folio +EXPORT_SYMBOL vmlinux 0x862c8035 bitmap_alloc_node +EXPORT_SYMBOL vmlinux 0x86363352 configfs_register_group +EXPORT_SYMBOL vmlinux 0x863a276a color_table +EXPORT_SYMBOL vmlinux 0x865ab120 rpmh_write_async +EXPORT_SYMBOL vmlinux 0x866a62b2 gnet_stats_basic_sync_init +EXPORT_SYMBOL vmlinux 0x867aa7d3 __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86ab2d25 devm_kvasprintf +EXPORT_SYMBOL vmlinux 0x86d52ba5 lookup_constant +EXPORT_SYMBOL vmlinux 0x86dd708d tc_skb_ext_tc_enable +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x871c5a2c create_empty_buffers +EXPORT_SYMBOL vmlinux 0x873d7314 __neigh_create +EXPORT_SYMBOL vmlinux 0x87468368 blk_mq_free_tag_set +EXPORT_SYMBOL vmlinux 0x874de07a tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0x874f8946 fb_pan_display +EXPORT_SYMBOL vmlinux 0x875abf28 sock_init_data +EXPORT_SYMBOL vmlinux 0x8761c87b rps_needed +EXPORT_SYMBOL vmlinux 0x876f6ad6 kill_fasync +EXPORT_SYMBOL vmlinux 0x87761528 __traceiter_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x8782b24e take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0x87a21cb3 __ubsan_handle_out_of_bounds +EXPORT_SYMBOL vmlinux 0x87b8798d sg_next +EXPORT_SYMBOL vmlinux 0x87b98260 d_genocide +EXPORT_SYMBOL vmlinux 0x87b9a8e2 sk_net_capable +EXPORT_SYMBOL vmlinux 0x87bc2171 gro_cells_init +EXPORT_SYMBOL vmlinux 0x87c8611a xsk_tx_peek_desc +EXPORT_SYMBOL vmlinux 0x87ce4944 pci_reenable_device +EXPORT_SYMBOL vmlinux 0x87e5e200 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x8801b137 ip_local_deliver +EXPORT_SYMBOL vmlinux 0x880a56d5 file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x8810754a _find_first_bit +EXPORT_SYMBOL vmlinux 0x8813bcea pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x881bad5e phy_mipi_dphy_config_validate +EXPORT_SYMBOL vmlinux 0x881c4413 gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0x88311ada devm_mfd_add_devices +EXPORT_SYMBOL vmlinux 0x8836e975 skb_free_datagram +EXPORT_SYMBOL vmlinux 0x883ba2fb napi_consume_skb +EXPORT_SYMBOL vmlinux 0x8845b0b5 genphy_write_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x885123ab xp_raw_get_data +EXPORT_SYMBOL vmlinux 0x885e0f5c bio_init +EXPORT_SYMBOL vmlinux 0x88715a4f input_register_handler +EXPORT_SYMBOL vmlinux 0x88822d38 unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x8888f1fe xxh32 +EXPORT_SYMBOL vmlinux 0x888c6023 __mmap_lock_do_trace_start_locking +EXPORT_SYMBOL vmlinux 0x88938b28 kernel_bind +EXPORT_SYMBOL vmlinux 0x8898ea23 vfs_getattr +EXPORT_SYMBOL vmlinux 0x889b1370 _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x88db9f48 __check_object_size +EXPORT_SYMBOL vmlinux 0x88e1d0f0 page_frag_free +EXPORT_SYMBOL vmlinux 0x88f55b82 filemap_map_pages +EXPORT_SYMBOL vmlinux 0x88f94f25 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x891ce1a0 skb_find_text +EXPORT_SYMBOL vmlinux 0x891f3d8c nvdimm_namespace_common_probe +EXPORT_SYMBOL vmlinux 0x89352852 alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0x893cff3b __scm_send +EXPORT_SYMBOL vmlinux 0x893ddd63 vfs_parse_fs_param_source +EXPORT_SYMBOL vmlinux 0x89434b4b radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x8943e6a8 cros_ec_get_host_event +EXPORT_SYMBOL vmlinux 0x8946ea72 fpsimd_context_busy +EXPORT_SYMBOL vmlinux 0x8947b0b4 fb_blank +EXPORT_SYMBOL vmlinux 0x894833ed __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0x8966ced3 __netif_napi_del +EXPORT_SYMBOL vmlinux 0x8986c90b dma_resv_init +EXPORT_SYMBOL vmlinux 0x89940875 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x899b3109 fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0x899e207b devm_arch_io_reserve_memtype_wc +EXPORT_SYMBOL vmlinux 0x89a340a6 dquot_get_state +EXPORT_SYMBOL vmlinux 0x89a82efc security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0x89bd0f7e mipi_dsi_dcs_set_page_address +EXPORT_SYMBOL vmlinux 0x89c72893 phy_ethtool_get_wol +EXPORT_SYMBOL vmlinux 0x89d4cf81 vme_register_bridge +EXPORT_SYMBOL vmlinux 0x89e68ee5 km_state_notify +EXPORT_SYMBOL vmlinux 0x89ec57f0 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x89f71b20 pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x8a1be10c pid_task +EXPORT_SYMBOL vmlinux 0x8a1c3e7e scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x8a1c5947 add_to_page_cache_lru +EXPORT_SYMBOL vmlinux 0x8a20c360 discard_new_inode +EXPORT_SYMBOL vmlinux 0x8a21bc3a pci_irq_vector +EXPORT_SYMBOL vmlinux 0x8a47043d LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a560669 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x8a570287 pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0x8a58c4a3 netif_set_tso_max_segs +EXPORT_SYMBOL vmlinux 0x8a5fca4d acpi_device_set_power +EXPORT_SYMBOL vmlinux 0x8a6139a9 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x8a7094ba vm_brk_flags +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a949089 flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0x8a96aa41 tcp_req_err +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aaae67c generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x8abe22d2 bio_reset +EXPORT_SYMBOL vmlinux 0x8ac136ae imx_sc_misc_get_control +EXPORT_SYMBOL vmlinux 0x8ac3334b net_dim_get_def_rx_moderation +EXPORT_SYMBOL vmlinux 0x8ac743de sg_copy_buffer +EXPORT_SYMBOL vmlinux 0x8ad084b5 __ip_options_compile +EXPORT_SYMBOL vmlinux 0x8aef877d cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x8afb353b super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0x8b0088d1 LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x8b012fe9 unregister_key_type +EXPORT_SYMBOL vmlinux 0x8b055674 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x8b1393cc dma_resv_fini +EXPORT_SYMBOL vmlinux 0x8b16d2e8 phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x8b1d4e7e tegra_dfll_suspend +EXPORT_SYMBOL vmlinux 0x8b22724b dev_uc_del +EXPORT_SYMBOL vmlinux 0x8b23b74a __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x8b2670bb __d_drop +EXPORT_SYMBOL vmlinux 0x8b2ffd83 __cpu_present_mask +EXPORT_SYMBOL vmlinux 0x8b3daa20 ndisc_ns_create +EXPORT_SYMBOL vmlinux 0x8b4a3013 sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b7ddb94 max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x8b8059bd in_group_p +EXPORT_SYMBOL vmlinux 0x8b880a38 mpage_read_folio +EXPORT_SYMBOL vmlinux 0x8b8af1cb max8998_write_reg +EXPORT_SYMBOL vmlinux 0x8b910be2 errseq_sample +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8ba24ef3 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x8bcd0ce7 make_bad_inode +EXPORT_SYMBOL vmlinux 0x8bd34cde setattr_copy +EXPORT_SYMBOL vmlinux 0x8bdfc47c __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x8be189ab ucc_slow_disable +EXPORT_SYMBOL vmlinux 0x8c0a2803 fiemap_prep +EXPORT_SYMBOL vmlinux 0x8c1a78c3 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x8c1aea56 vm_insert_page +EXPORT_SYMBOL vmlinux 0x8c239a5c ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x8c26d495 prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x8c26ee69 qdisc_put +EXPORT_SYMBOL vmlinux 0x8c2b567e __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0x8c30bf67 zstd_dctx_workspace_bound +EXPORT_SYMBOL vmlinux 0x8c41754c tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x8c45c951 twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x8c513245 dm_io +EXPORT_SYMBOL vmlinux 0x8c61340a sock_set_mark +EXPORT_SYMBOL vmlinux 0x8c683fcd posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x8c77e350 do_SAK +EXPORT_SYMBOL vmlinux 0x8c80f6d8 dquot_acquire +EXPORT_SYMBOL vmlinux 0x8c8569cb kstrtoint +EXPORT_SYMBOL vmlinux 0x8c858ab3 dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x8c899034 configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0x8c99400e pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x8c9d4f97 iov_iter_discard +EXPORT_SYMBOL vmlinux 0x8c9e338f acpi_bios_error +EXPORT_SYMBOL vmlinux 0x8ca7d5d0 mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0x8caf9305 uuid_is_valid +EXPORT_SYMBOL vmlinux 0x8cb44860 padata_do_parallel +EXPORT_SYMBOL vmlinux 0x8cc53d20 __par_io_config_pin +EXPORT_SYMBOL vmlinux 0x8cda8029 xen_clear_irq_pending +EXPORT_SYMBOL vmlinux 0x8ce724d7 devm_of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x8d003340 cad_pid +EXPORT_SYMBOL vmlinux 0x8d0b12a6 mipi_dsi_dcs_write_buffer +EXPORT_SYMBOL vmlinux 0x8d1cbbe5 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x8d2db26c of_parse_phandle_with_args_map +EXPORT_SYMBOL vmlinux 0x8d41020f mii_nway_restart +EXPORT_SYMBOL vmlinux 0x8d4112df qcom_scm_mem_protect_video_var +EXPORT_SYMBOL vmlinux 0x8d55bb8a qid_eq +EXPORT_SYMBOL vmlinux 0x8d62021e jbd2_fc_begin_commit +EXPORT_SYMBOL vmlinux 0x8d73278e hex_asc_upper +EXPORT_SYMBOL vmlinux 0x8d798d13 security_path_rename +EXPORT_SYMBOL vmlinux 0x8d9ca0e6 dma_fence_enable_sw_signaling +EXPORT_SYMBOL vmlinux 0x8da6585d __stack_chk_fail +EXPORT_SYMBOL vmlinux 0x8daedb79 cpumask_any_but +EXPORT_SYMBOL vmlinux 0x8daf3c18 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x8dbc3529 clk_bulk_get +EXPORT_SYMBOL vmlinux 0x8dc24ca1 __devm_release_region +EXPORT_SYMBOL vmlinux 0x8ddd8aad schedule_timeout +EXPORT_SYMBOL vmlinux 0x8de006e0 scsi_device_get +EXPORT_SYMBOL vmlinux 0x8dee722d _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0x8df4afd9 qe_put_snum +EXPORT_SYMBOL vmlinux 0x8df92f66 memchr_inv +EXPORT_SYMBOL vmlinux 0x8df9dd10 guid_null +EXPORT_SYMBOL vmlinux 0x8e0d8506 nvdimm_namespace_capacity +EXPORT_SYMBOL vmlinux 0x8e10052c d_instantiate_anon +EXPORT_SYMBOL vmlinux 0x8e137d09 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x8e17b3ae idr_destroy +EXPORT_SYMBOL vmlinux 0x8e21c9a1 dma_fence_add_callback +EXPORT_SYMBOL vmlinux 0x8e396a4d of_get_mac_address +EXPORT_SYMBOL vmlinux 0x8e3e0f7d fault_in_readable +EXPORT_SYMBOL vmlinux 0x8e4c60a3 cpm_muram_dma +EXPORT_SYMBOL vmlinux 0x8e50a4f9 follow_pfn +EXPORT_SYMBOL vmlinux 0x8e63b743 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x8e804cd3 dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0x8e93bd24 security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x8e951915 dquot_resume +EXPORT_SYMBOL vmlinux 0x8eaf42f2 netdev_emerg +EXPORT_SYMBOL vmlinux 0x8eb63999 eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0x8ecee8ef mptcp_subflow_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x8ed27b41 folio_mapping +EXPORT_SYMBOL vmlinux 0x8f01afd6 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x8f0de567 _dev_warn +EXPORT_SYMBOL vmlinux 0x8f14ff1a set_binfmt +EXPORT_SYMBOL vmlinux 0x8f16b16b phy_get_pause +EXPORT_SYMBOL vmlinux 0x8f36f964 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x8f42e11f vga_get +EXPORT_SYMBOL vmlinux 0x8f4e3f3e pskb_extract +EXPORT_SYMBOL vmlinux 0x8f557ac6 unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0x8f7413bc generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x8f808cf4 proto_register +EXPORT_SYMBOL vmlinux 0x8f95a071 dma_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x8f996a30 ethtool_convert_legacy_u32_to_link_mode +EXPORT_SYMBOL vmlinux 0x8fa25c24 xa_find +EXPORT_SYMBOL vmlinux 0x8fc9ea11 fman_port_cfg_buf_prefix_content +EXPORT_SYMBOL vmlinux 0x8fcabf86 __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x8fd180e7 kernel_neon_begin +EXPORT_SYMBOL vmlinux 0x8fdb0752 abort_creds +EXPORT_SYMBOL vmlinux 0x8fe1005d block_read_full_folio +EXPORT_SYMBOL vmlinux 0x8ff89ed0 seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x90006be6 dm_kcopyd_client_flush +EXPORT_SYMBOL vmlinux 0x900935c7 rpmh_write_batch +EXPORT_SYMBOL vmlinux 0x900ff477 tcp_seq_next +EXPORT_SYMBOL vmlinux 0x9024aa13 dm_table_get_size +EXPORT_SYMBOL vmlinux 0x902d8722 vme_slave_get +EXPORT_SYMBOL vmlinux 0x902f5199 cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0x9034a696 mempool_destroy +EXPORT_SYMBOL vmlinux 0x905695ab sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x90576ec4 vmemdup_user +EXPORT_SYMBOL vmlinux 0x90685282 register_cdrom +EXPORT_SYMBOL vmlinux 0x907ea00e set_security_override +EXPORT_SYMBOL vmlinux 0x90969c94 tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0x90e273e2 cred_fscmp +EXPORT_SYMBOL vmlinux 0x90e4e0b0 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x90e8ee86 read_cache_folio +EXPORT_SYMBOL vmlinux 0x90fc7cbb of_find_all_nodes +EXPORT_SYMBOL vmlinux 0x9114b616 __xa_alloc +EXPORT_SYMBOL vmlinux 0x9120a9f0 folio_mark_accessed +EXPORT_SYMBOL vmlinux 0x912de1f2 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x9134b9c6 pci_release_region +EXPORT_SYMBOL vmlinux 0x913e13d5 tty_port_put +EXPORT_SYMBOL vmlinux 0x91460b66 console_start +EXPORT_SYMBOL vmlinux 0x91548864 zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x9166fada strncpy +EXPORT_SYMBOL vmlinux 0x9166fc03 __flush_workqueue +EXPORT_SYMBOL vmlinux 0x9180ea46 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x9181f254 i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL vmlinux 0x91926074 input_event +EXPORT_SYMBOL vmlinux 0x91934c1d pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0x9197e3ef netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x919c58f3 __clzsi2 +EXPORT_SYMBOL vmlinux 0x91a488ac __netdev_alloc_frag_align +EXPORT_SYMBOL vmlinux 0x91a7b1da qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x91aa4f50 vfs_statfs +EXPORT_SYMBOL vmlinux 0x91c0980e icst_hz +EXPORT_SYMBOL vmlinux 0x91f44510 idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x91f4d6a1 security_locked_down +EXPORT_SYMBOL vmlinux 0x91f68ea1 __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x91fc8b49 input_unregister_device +EXPORT_SYMBOL vmlinux 0x9207e0f8 eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0x922f45a6 __bitmap_clear +EXPORT_SYMBOL vmlinux 0x923023a9 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x9236d7df qdisc_hash_add +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x9248785d d_tmpfile +EXPORT_SYMBOL vmlinux 0x92512f70 tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0x92540fbf finish_wait +EXPORT_SYMBOL vmlinux 0x9258c776 hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x925bec15 register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x926e07fa ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x92774cf8 __kfence_pool +EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user +EXPORT_SYMBOL vmlinux 0x92997ed8 _printk +EXPORT_SYMBOL vmlinux 0x92b99a33 acpi_put_table +EXPORT_SYMBOL vmlinux 0x92b9b180 slash_name +EXPORT_SYMBOL vmlinux 0x92c0ffa3 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x92cf71d6 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x92d5838e request_threaded_irq +EXPORT_SYMBOL vmlinux 0x92e5e039 netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0x92e683f5 down_timeout +EXPORT_SYMBOL vmlinux 0x92ec510d jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x92ee96f8 ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL vmlinux 0x92ffa90a flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x93022ba6 __scsi_format_command +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x9324dcc8 bh_submit_read +EXPORT_SYMBOL vmlinux 0x932fbf80 pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x933ffb3e pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0x9359b452 clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0x935c8fab iput +EXPORT_SYMBOL vmlinux 0x9367fa2c mipi_dsi_dcs_set_tear_on +EXPORT_SYMBOL vmlinux 0x936b3d1b jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x936bafa6 jbd2_journal_put_journal_head +EXPORT_SYMBOL vmlinux 0x936e1768 scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0x936ebd97 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x936f8a46 dquot_operations +EXPORT_SYMBOL vmlinux 0x937733e3 qid_valid +EXPORT_SYMBOL vmlinux 0x937b12c7 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x93847bb5 skb_clone +EXPORT_SYMBOL vmlinux 0x938a5542 mii_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x938a6c26 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x938c75ca clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x938edcf7 tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0x93953ed0 release_sock +EXPORT_SYMBOL vmlinux 0x93984001 rtc_add_group +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93a77b29 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x93a78c82 pci_clear_master +EXPORT_SYMBOL vmlinux 0x93a93376 pci_set_mwi +EXPORT_SYMBOL vmlinux 0x93b17850 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x93b3fc74 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x93d6dd8c complete_all +EXPORT_SYMBOL vmlinux 0x93e8a98f mipi_dsi_dcs_nop +EXPORT_SYMBOL vmlinux 0x93eb74ea clk_get +EXPORT_SYMBOL vmlinux 0x93f88fc0 misc_deregister +EXPORT_SYMBOL vmlinux 0x9428f816 dim_turn +EXPORT_SYMBOL vmlinux 0x9435131a of_clk_get_by_name +EXPORT_SYMBOL vmlinux 0x94357ab9 skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0x943db0bd netif_device_attach +EXPORT_SYMBOL vmlinux 0x943e0cdf dget_parent +EXPORT_SYMBOL vmlinux 0x944375db _totalram_pages +EXPORT_SYMBOL vmlinux 0x944a564d is_console_locked +EXPORT_SYMBOL vmlinux 0x94573bc9 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x946915b9 freeze_super +EXPORT_SYMBOL vmlinux 0x94819ad9 dma_fence_describe +EXPORT_SYMBOL vmlinux 0x9487d3e1 ns_capable +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x949cb974 pci_pme_active +EXPORT_SYMBOL vmlinux 0x94af707f bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x94b84839 ata_print_version +EXPORT_SYMBOL vmlinux 0x94bb7ec3 gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0x94bf03ca utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x94e50ad4 call_fib_notifier +EXPORT_SYMBOL vmlinux 0x94fc8d93 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x9507c90f copy_fsxattr_to_user +EXPORT_SYMBOL vmlinux 0x953d2426 utf8_strncmp +EXPORT_SYMBOL vmlinux 0x9540ca01 phy_attach +EXPORT_SYMBOL vmlinux 0x954cef6f init_on_alloc +EXPORT_SYMBOL vmlinux 0x954f099c idr_preload +EXPORT_SYMBOL vmlinux 0x9552af5b xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x95720346 skb_tunnel_check_pmtu +EXPORT_SYMBOL vmlinux 0x95732222 pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0x95748a26 flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x9582e07e ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x958986fc from_kprojid_munged +EXPORT_SYMBOL vmlinux 0x959c1313 dma_free_attrs +EXPORT_SYMBOL vmlinux 0x95a67b07 udp_table +EXPORT_SYMBOL vmlinux 0x95adb76a acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0x95b96f03 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x95c3b035 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x95c987a4 vme_dma_list_free +EXPORT_SYMBOL vmlinux 0x95cb7bd2 proc_remove +EXPORT_SYMBOL vmlinux 0x95d7f460 devm_rproc_add +EXPORT_SYMBOL vmlinux 0x95ed4d61 filp_close +EXPORT_SYMBOL vmlinux 0x960adbf4 of_device_register +EXPORT_SYMBOL vmlinux 0x960f8b41 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x9611f8e0 ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0x9634550a flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0x964ae742 iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0x96726565 drop_nlink +EXPORT_SYMBOL vmlinux 0x967e871a param_set_int +EXPORT_SYMBOL vmlinux 0x96848186 scnprintf +EXPORT_SYMBOL vmlinux 0x96851d85 blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0x9688de8b memstart_addr +EXPORT_SYMBOL vmlinux 0x968d7b29 acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96bca8c0 pin_user_pages +EXPORT_SYMBOL vmlinux 0x96c07704 vga_remove_vgacon +EXPORT_SYMBOL vmlinux 0x96c17136 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x96cc90c4 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96e55a5a __mdiobus_register +EXPORT_SYMBOL vmlinux 0x96e5d30f gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0x96e6117f buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x96fab350 dim_park_on_top +EXPORT_SYMBOL vmlinux 0x9716ff1d generic_update_time +EXPORT_SYMBOL vmlinux 0x9717e37d nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x9719b658 t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0x97399eff clear_nlink +EXPORT_SYMBOL vmlinux 0x973fa82e register_acpi_notifier +EXPORT_SYMBOL vmlinux 0x975c64c8 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x97624f4a dev_remove_offload +EXPORT_SYMBOL vmlinux 0x97740e13 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x97755fd2 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x97934ecf del_timer_sync +EXPORT_SYMBOL vmlinux 0x979a8d87 tcp_release_cb +EXPORT_SYMBOL vmlinux 0x97a268db invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x97a57333 crc_t10dif_update +EXPORT_SYMBOL vmlinux 0x97adb487 utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x97ae3056 netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0x97bdfa60 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x97e2789a commit_creds +EXPORT_SYMBOL vmlinux 0x97ed2212 __tracepoint_spi_transfer_start +EXPORT_SYMBOL vmlinux 0x97f41099 get_thermal_instance +EXPORT_SYMBOL vmlinux 0x97f5586f genphy_soft_reset +EXPORT_SYMBOL vmlinux 0x9801a066 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x98053d06 rproc_add_carveout +EXPORT_SYMBOL vmlinux 0x9806301c __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x9810b6a9 fddi_type_trans +EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x982bcde4 __cpu_dying_mask +EXPORT_SYMBOL vmlinux 0x9833c927 inet_csk_accept +EXPORT_SYMBOL vmlinux 0x984725cf inet_shutdown +EXPORT_SYMBOL vmlinux 0x98504ccf pci_request_regions +EXPORT_SYMBOL vmlinux 0x9869f32b __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x98a4f7e5 of_graph_is_present +EXPORT_SYMBOL vmlinux 0x98b4ec1b md_write_inc +EXPORT_SYMBOL vmlinux 0x98b5ebeb ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0x98bddb02 inet_put_port +EXPORT_SYMBOL vmlinux 0x98c039dc dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0x98c855c5 of_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x98c89ade security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x98cf60b3 strlen +EXPORT_SYMBOL vmlinux 0x98d3f43e jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x98d56091 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x98e42279 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x98e508ef ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x99078b39 trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x99094fb2 qcom_scm_is_available +EXPORT_SYMBOL vmlinux 0x99238c83 ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0x99271af3 mipi_dsi_picture_parameter_set +EXPORT_SYMBOL vmlinux 0x992c2425 write_cache_pages +EXPORT_SYMBOL vmlinux 0x992d55e2 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x9931f8c9 qcom_scm_lmh_dcvsh_available +EXPORT_SYMBOL vmlinux 0x9939eba0 backlight_unregister_notifier +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x995d7781 iterate_dir +EXPORT_SYMBOL vmlinux 0x995e5f78 tegra_ivc_cleanup +EXPORT_SYMBOL vmlinux 0x9975dc22 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x9995e16a dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0x9997ebdf tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99a0d167 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x99a30260 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x99ade5ff vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0x99b00ea4 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x99ccc620 inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0x99cdcdac mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x99d472b1 net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x99daa9bf try_offline_node +EXPORT_SYMBOL vmlinux 0x99dfb193 genphy_c37_read_status +EXPORT_SYMBOL vmlinux 0x99e87af7 devm_clk_release_clkdev +EXPORT_SYMBOL vmlinux 0x99f7371c refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x99f9638f __napi_alloc_frag_align +EXPORT_SYMBOL vmlinux 0x9a010171 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x9a02f658 simple_rmdir +EXPORT_SYMBOL vmlinux 0x9a0c3a18 vme_unregister_error_handler +EXPORT_SYMBOL vmlinux 0x9a19a428 vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0x9a19ce67 mipi_dsi_dcs_get_power_mode +EXPORT_SYMBOL vmlinux 0x9a1a499d kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a22391e radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x9a445576 blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x9a489cb6 phy_find_first +EXPORT_SYMBOL vmlinux 0x9a4c40dc __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x9a4ebf32 dev_lstats_read +EXPORT_SYMBOL vmlinux 0x9a4fbd07 pci_read_config_byte +EXPORT_SYMBOL vmlinux 0x9a583306 netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x9a645bec kill_block_super +EXPORT_SYMBOL vmlinux 0x9a7e8f56 param_ops_int +EXPORT_SYMBOL vmlinux 0x9aaeefce sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x9ad0287d tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x9ae47436 _find_last_bit +EXPORT_SYMBOL vmlinux 0x9af3778d generic_write_end +EXPORT_SYMBOL vmlinux 0x9b128a66 qcom_scm_set_remote_state +EXPORT_SYMBOL vmlinux 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL vmlinux 0x9b33e0d7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x9b3e88ec inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0x9b40721c blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x9b496b21 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x9b512058 debugfs_create_automount +EXPORT_SYMBOL vmlinux 0x9b549c76 dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0x9b577470 xfrm_unregister_type_offload +EXPORT_SYMBOL vmlinux 0x9b694921 finish_no_open +EXPORT_SYMBOL vmlinux 0x9b69f29c padata_do_serial +EXPORT_SYMBOL vmlinux 0x9b6c724e xudma_pktdma_tflow_get_irq +EXPORT_SYMBOL vmlinux 0x9b6ef590 dev_trans_start +EXPORT_SYMBOL vmlinux 0x9b72478f acpi_unload_parent_table +EXPORT_SYMBOL vmlinux 0x9b751454 __inode_add_bytes +EXPORT_SYMBOL vmlinux 0x9b757fa6 pps_register_source +EXPORT_SYMBOL vmlinux 0x9b795088 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x9b8253d4 tcp_time_wait +EXPORT_SYMBOL vmlinux 0x9b94497c proc_create_seq_private +EXPORT_SYMBOL vmlinux 0x9ba93eb8 icmp6_send +EXPORT_SYMBOL vmlinux 0x9bc1c494 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x9bd0726a to_ndd +EXPORT_SYMBOL vmlinux 0x9be08ef4 seq_hex_dump +EXPORT_SYMBOL vmlinux 0x9be807e6 dev_addr_mod +EXPORT_SYMBOL vmlinux 0x9bece8b5 dquot_quota_on +EXPORT_SYMBOL vmlinux 0x9c00103c dmaengine_get_unmap_data +EXPORT_SYMBOL vmlinux 0x9c0306dd param_get_string +EXPORT_SYMBOL vmlinux 0x9c122bcf mempool_create_node +EXPORT_SYMBOL vmlinux 0x9c1e5bf5 queued_spin_lock_slowpath +EXPORT_SYMBOL vmlinux 0x9c3a21d7 devm_rproc_alloc +EXPORT_SYMBOL vmlinux 0x9c3f9652 dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0x9c5a2ada ucc_fast_dump_regs +EXPORT_SYMBOL vmlinux 0x9c5d5b94 crc8 +EXPORT_SYMBOL vmlinux 0x9c5fb9c7 param_ops_uint +EXPORT_SYMBOL vmlinux 0x9c6f6b0a __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x9c76544c skb_seq_read +EXPORT_SYMBOL vmlinux 0x9c86b9ab fileattr_fill_flags +EXPORT_SYMBOL vmlinux 0x9c87aec5 kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0x9c929d17 fb_validate_mode +EXPORT_SYMBOL vmlinux 0x9c9d4220 iov_iter_init +EXPORT_SYMBOL vmlinux 0x9ca948a5 of_graph_get_next_endpoint +EXPORT_SYMBOL vmlinux 0x9cab34a6 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x9cb2066f vfs_create +EXPORT_SYMBOL vmlinux 0x9cb40969 page_get_link +EXPORT_SYMBOL vmlinux 0x9cb4d71c cros_ec_query_all +EXPORT_SYMBOL vmlinux 0x9cb7b552 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x9ccf7171 vme_dma_pci_attribute +EXPORT_SYMBOL vmlinux 0x9cd91791 register_sysctl +EXPORT_SYMBOL vmlinux 0x9cde4be2 ip_output +EXPORT_SYMBOL vmlinux 0x9cdfb3f7 sysctl_fb_tunnels_only_for_init_net +EXPORT_SYMBOL vmlinux 0x9cebaeae mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x9d0d6206 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x9d1a5e3a __memcpy +EXPORT_SYMBOL vmlinux 0x9d26675e zstd_cstream_workspace_bound +EXPORT_SYMBOL vmlinux 0x9d2ab8ac __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x9d2e7707 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9d34c020 generic_read_dir +EXPORT_SYMBOL vmlinux 0x9d40f9ec __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x9d61e994 ucs2_strncmp +EXPORT_SYMBOL vmlinux 0x9d7ad0c8 __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x9d8500d2 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x9d885742 of_graph_get_endpoint_by_regs +EXPORT_SYMBOL vmlinux 0x9d8ad83a devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x9d92f3ad __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x9d993127 __inet_stream_connect +EXPORT_SYMBOL vmlinux 0x9db17098 ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x9db83252 of_get_parent +EXPORT_SYMBOL vmlinux 0x9dd6429b pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x9df21d0e qman_affine_channel +EXPORT_SYMBOL vmlinux 0x9e05c2e0 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0eef88 sg_alloc_table_from_pages_segment +EXPORT_SYMBOL vmlinux 0x9e0fa5ae hsiphash_3u32 +EXPORT_SYMBOL vmlinux 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL vmlinux 0x9e24f9db serial8250_do_pm +EXPORT_SYMBOL vmlinux 0x9e2737f0 acpi_install_interface_handler +EXPORT_SYMBOL vmlinux 0x9e42a322 d_add +EXPORT_SYMBOL vmlinux 0x9e43670f fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x9e437d1d netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e56212b tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0x9e5e750d node_to_cpumask_map +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e6961d4 elv_rb_del +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e9eab95 devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x9e9fdd9d memunmap +EXPORT_SYMBOL vmlinux 0x9eaa5e42 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x9eacf8a5 kstrndup +EXPORT_SYMBOL vmlinux 0x9eb187fa xudma_pktdma_rflow_get_irq +EXPORT_SYMBOL vmlinux 0x9eb9cb6b sk_stop_timer_sync +EXPORT_SYMBOL vmlinux 0x9eba3bcd phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0x9ec0e639 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0x9ec3733f textsearch_unregister +EXPORT_SYMBOL vmlinux 0x9ec6ca96 ktime_get_real_ts64 +EXPORT_SYMBOL vmlinux 0x9eccf30e do_splice_direct +EXPORT_SYMBOL vmlinux 0x9ed7c847 brcmstb_get_family_id +EXPORT_SYMBOL vmlinux 0x9ed978de vme_lm_set +EXPORT_SYMBOL vmlinux 0x9ee64020 acpi_dev_get_next_match_dev +EXPORT_SYMBOL vmlinux 0x9eea951f skb_ensure_writable +EXPORT_SYMBOL vmlinux 0x9ef2c30d inet_ioctl +EXPORT_SYMBOL vmlinux 0x9f20bac6 of_node_name_eq +EXPORT_SYMBOL vmlinux 0x9f26a5fc skb_queue_head +EXPORT_SYMBOL vmlinux 0x9f2c066b sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x9f38dc86 mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f4f2aa3 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0x9f50b770 keyring_restrict +EXPORT_SYMBOL vmlinux 0x9f54ead7 gro_cells_destroy +EXPORT_SYMBOL vmlinux 0x9f572f3e devm_register_netdev +EXPORT_SYMBOL vmlinux 0x9f6d197b rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x9f76baf4 _raw_write_unlock_irq +EXPORT_SYMBOL vmlinux 0x9f7d7dbb logic_outsw +EXPORT_SYMBOL vmlinux 0x9f824cd9 genphy_loopback +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa7184a cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x9fb41842 netdev_offload_xstats_report_delta +EXPORT_SYMBOL vmlinux 0x9fb94d38 param_array_ops +EXPORT_SYMBOL vmlinux 0x9fcec0b0 locks_copy_conflock +EXPORT_SYMBOL vmlinux 0x9fd153c0 rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9fe12366 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x9fe5c332 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x9feed7ce timer_reduce +EXPORT_SYMBOL vmlinux 0x9ffa3a75 netdev_max_backlog +EXPORT_SYMBOL vmlinux 0xa000fcbb blk_post_runtime_suspend +EXPORT_SYMBOL vmlinux 0xa00aca2a dql_completed +EXPORT_SYMBOL vmlinux 0xa01d1194 par_io_of_config +EXPORT_SYMBOL vmlinux 0xa01d3df6 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0xa01f9a53 path_has_submounts +EXPORT_SYMBOL vmlinux 0xa022c739 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0xa0281b51 try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xa029a484 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0xa02aa74a __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xa033d747 next_arg +EXPORT_SYMBOL vmlinux 0xa036d691 pnpacpi_protocol +EXPORT_SYMBOL vmlinux 0xa0436e98 in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0xa04c7b46 sunxi_sram_claim +EXPORT_SYMBOL vmlinux 0xa04e33da qcom_scm_lmh_dcvsh +EXPORT_SYMBOL vmlinux 0xa052eff5 thaw_super +EXPORT_SYMBOL vmlinux 0xa057df8f twl_set_regcache_bypass +EXPORT_SYMBOL vmlinux 0xa05b6be2 psched_ppscfg_precompute +EXPORT_SYMBOL vmlinux 0xa0617c86 rt_dst_alloc +EXPORT_SYMBOL vmlinux 0xa068fde8 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr +EXPORT_SYMBOL vmlinux 0xa07b8c4c unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0xa07d1b3c tasklet_setup +EXPORT_SYMBOL vmlinux 0xa084749a __bitmap_or +EXPORT_SYMBOL vmlinux 0xa095e02e generic_check_addressable +EXPORT_SYMBOL vmlinux 0xa09e29d3 rproc_put +EXPORT_SYMBOL vmlinux 0xa0ae1e73 siphash_3u64 +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b39bc2 tcf_exts_change +EXPORT_SYMBOL vmlinux 0xa0b9c105 framebuffer_release +EXPORT_SYMBOL vmlinux 0xa0d87339 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xa0dad88e netdev_adjacent_get_private +EXPORT_SYMBOL vmlinux 0xa0eae826 smp_call_function +EXPORT_SYMBOL vmlinux 0xa0ebd14c sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xa0ebd437 hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa1017676 dev_get_stats +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa1199c43 of_count_phandle_with_args +EXPORT_SYMBOL vmlinux 0xa13b77fe vme_init_bridge +EXPORT_SYMBOL vmlinux 0xa1416e3e inode_io_list_del +EXPORT_SYMBOL vmlinux 0xa171b062 devfreq_add_device +EXPORT_SYMBOL vmlinux 0xa1784cf2 __vfs_setxattr +EXPORT_SYMBOL vmlinux 0xa17af032 reuseport_migrate_sock +EXPORT_SYMBOL vmlinux 0xa1868388 dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0xa1bcbdfe generic_write_checks_count +EXPORT_SYMBOL vmlinux 0xa1cfb7f9 flow_rule_match_control +EXPORT_SYMBOL vmlinux 0xa1d2a564 crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0xa1f47fec nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0xa200e09f generic_set_encrypted_ci_d_ops +EXPORT_SYMBOL vmlinux 0xa2060911 inet_current_timestamp +EXPORT_SYMBOL vmlinux 0xa2167f2c nf_register_net_hooks +EXPORT_SYMBOL vmlinux 0xa21f304d build_skb_around +EXPORT_SYMBOL vmlinux 0xa2326c49 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0xa23ffc04 groups_sort +EXPORT_SYMBOL vmlinux 0xa24dc582 nf_log_register +EXPORT_SYMBOL vmlinux 0xa24f23d8 __request_module +EXPORT_SYMBOL vmlinux 0xa25195aa udp_ioctl +EXPORT_SYMBOL vmlinux 0xa254832f ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0xa263892b fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0xa2660e90 __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xa26cb35d truncate_inode_pages +EXPORT_SYMBOL vmlinux 0xa2813e82 set_create_files_as +EXPORT_SYMBOL vmlinux 0xa28c9579 tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0xa28cfcc0 gen_estimator_active +EXPORT_SYMBOL vmlinux 0xa2ad6342 devfreq_recommended_opp +EXPORT_SYMBOL vmlinux 0xa2b9e565 xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0xa2bd065b kernel_param_unlock +EXPORT_SYMBOL vmlinux 0xa2c2f7c1 lookup_positive_unlocked +EXPORT_SYMBOL vmlinux 0xa2c55276 scsi_block_requests +EXPORT_SYMBOL vmlinux 0xa2cf3649 qman_fq_fqid +EXPORT_SYMBOL vmlinux 0xa2d4b75e qcom_scm_iommu_set_cp_pool_size +EXPORT_SYMBOL vmlinux 0xa2d7ec8d __SCK__tp_func_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xa2dc9b33 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xa2e4b9f4 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0xa31b3963 mmc_can_gpio_ro +EXPORT_SYMBOL vmlinux 0xa3343aa5 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xa336365f skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0xa339e6e5 on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0xa3522df5 qman_query_fq_np +EXPORT_SYMBOL vmlinux 0xa363d85f jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0xa37cb7c7 vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0xa381831a free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0xa3828c21 unregister_quota_format +EXPORT_SYMBOL vmlinux 0xa3908d29 free_cgroup_ns +EXPORT_SYMBOL vmlinux 0xa3a3f229 cpumask_next_and +EXPORT_SYMBOL vmlinux 0xa3b433d4 ptp_clock_register +EXPORT_SYMBOL vmlinux 0xa3b73c1b ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0xa3b7a125 unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0xa3baebfd component_match_add_release +EXPORT_SYMBOL vmlinux 0xa3bb4639 __vfs_getxattr +EXPORT_SYMBOL vmlinux 0xa3be8342 __ubsan_handle_type_mismatch +EXPORT_SYMBOL vmlinux 0xa3cefaa0 blake2s_update +EXPORT_SYMBOL vmlinux 0xa3d1205b __scsi_print_sense +EXPORT_SYMBOL vmlinux 0xa3d262db md_bitmap_free +EXPORT_SYMBOL vmlinux 0xa3d4148f sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xa3d8531a udp_gro_complete +EXPORT_SYMBOL vmlinux 0xa3fea172 sha224_final +EXPORT_SYMBOL vmlinux 0xa4027772 scsi_host_busy +EXPORT_SYMBOL vmlinux 0xa407273d do_clone_file_range +EXPORT_SYMBOL vmlinux 0xa40ff01b acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xa41b1bf5 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0xa43b9bb5 dquot_disable +EXPORT_SYMBOL vmlinux 0xa444fc2b of_find_mipi_dsi_device_by_node +EXPORT_SYMBOL vmlinux 0xa448c653 qcom_scm_ice_set_key +EXPORT_SYMBOL vmlinux 0xa451cfbd inet6_release +EXPORT_SYMBOL vmlinux 0xa45b00c6 blk_cleanup_disk +EXPORT_SYMBOL vmlinux 0xa4785b61 simple_release_fs +EXPORT_SYMBOL vmlinux 0xa47a31c8 security_binder_transaction +EXPORT_SYMBOL vmlinux 0xa48609a7 sock_alloc +EXPORT_SYMBOL vmlinux 0xa489d2af blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0xa4962736 tty_lock +EXPORT_SYMBOL vmlinux 0xa4999a2a seq_file_path +EXPORT_SYMBOL vmlinux 0xa4ce6585 shmem_aops +EXPORT_SYMBOL vmlinux 0xa4fca045 qcom_scm_ocmem_lock +EXPORT_SYMBOL vmlinux 0xa50a3da7 _find_next_bit +EXPORT_SYMBOL vmlinux 0xa52a7006 new_inode +EXPORT_SYMBOL vmlinux 0xa52bedf6 xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0xa5346954 kobject_add +EXPORT_SYMBOL vmlinux 0xa55243e9 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0xa5526619 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa578485a dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0xa58af0a6 _raw_read_unlock_irq +EXPORT_SYMBOL vmlinux 0xa5976e4f dev_base_lock +EXPORT_SYMBOL vmlinux 0xa5b14138 dev_get_flags +EXPORT_SYMBOL vmlinux 0xa5bd71d7 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xa5ca6eb3 dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0xa5db938b rproc_of_parse_firmware +EXPORT_SYMBOL vmlinux 0xa5e018eb phy_ethtool_nway_reset +EXPORT_SYMBOL vmlinux 0xa5f44cc5 tty_port_open +EXPORT_SYMBOL vmlinux 0xa5f7cf37 __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xa61924d6 xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0xa61ced89 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0xa6257a2f complete +EXPORT_SYMBOL vmlinux 0xa648e561 __ubsan_handle_shift_out_of_bounds +EXPORT_SYMBOL vmlinux 0xa64c7249 __printk_cpu_sync_try_get +EXPORT_SYMBOL vmlinux 0xa65cfe1c mipi_dsi_dcs_soft_reset +EXPORT_SYMBOL vmlinux 0xa664dc08 mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6853180 vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0xa691947b is_acpi_device_node +EXPORT_SYMBOL vmlinux 0xa6b99653 dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0xa6c0a176 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0xa6c6e05c blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0xa6c85db1 param_get_ushort +EXPORT_SYMBOL vmlinux 0xa6d43afa __breadahead_gfp +EXPORT_SYMBOL vmlinux 0xa6f17e3a nd_device_register +EXPORT_SYMBOL vmlinux 0xa6f47763 tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0xa70bc96d qcom_scm_restore_sec_cfg_available +EXPORT_SYMBOL vmlinux 0xa70dec8a devm_mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0xa71acc92 fman_port_config +EXPORT_SYMBOL vmlinux 0xa71c22b6 jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0xa71f79ae of_phy_find_device +EXPORT_SYMBOL vmlinux 0xa72035f9 xa_get_order +EXPORT_SYMBOL vmlinux 0xa74442a4 flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0xa74c9877 refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0xa7530131 flow_block_cb_free +EXPORT_SYMBOL vmlinux 0xa75b382e simple_dentry_operations +EXPORT_SYMBOL vmlinux 0xa7768c29 posix_test_lock +EXPORT_SYMBOL vmlinux 0xa77bfd29 register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0xa791eac0 sock_init_data_uid +EXPORT_SYMBOL vmlinux 0xa79877a8 mr_fill_mroute +EXPORT_SYMBOL vmlinux 0xa798f4dd scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0xa7abddc3 blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0xa7b01d8f mdiobus_read +EXPORT_SYMBOL vmlinux 0xa7b23325 cdev_add +EXPORT_SYMBOL vmlinux 0xa7bd87a6 twl6040_reg_read +EXPORT_SYMBOL vmlinux 0xa7c03de0 dma_map_page_attrs +EXPORT_SYMBOL vmlinux 0xa7c46546 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xa7d04a99 tcp_inbound_md5_hash +EXPORT_SYMBOL vmlinux 0xa7d5f92e ida_destroy +EXPORT_SYMBOL vmlinux 0xa7eedcc4 call_usermodehelper +EXPORT_SYMBOL vmlinux 0xa7fb5574 find_vma +EXPORT_SYMBOL vmlinux 0xa7fb6f5c md_register_thread +EXPORT_SYMBOL vmlinux 0xa8110850 mipi_dsi_attach +EXPORT_SYMBOL vmlinux 0xa8156aae is_nd_btt +EXPORT_SYMBOL vmlinux 0xa8181adf proc_dointvec +EXPORT_SYMBOL vmlinux 0xa821a297 pcie_print_link_status +EXPORT_SYMBOL vmlinux 0xa83f698d param_get_short +EXPORT_SYMBOL vmlinux 0xa843805a get_unused_fd_flags +EXPORT_SYMBOL vmlinux 0xa84ce9e0 crypto_aes_inv_sbox +EXPORT_SYMBOL vmlinux 0xa853396b xa_extract +EXPORT_SYMBOL vmlinux 0xa85a3e6d xa_load +EXPORT_SYMBOL vmlinux 0xa8694ecd kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xa86ada72 mipi_dsi_turn_on_peripheral +EXPORT_SYMBOL vmlinux 0xa87348ed xfrm4_protocol_deregister +EXPORT_SYMBOL vmlinux 0xa8953cb0 km_query +EXPORT_SYMBOL vmlinux 0xa897e3e7 mempool_free +EXPORT_SYMBOL vmlinux 0xa89a1cf1 ipmi_dmi_get_slave_addr +EXPORT_SYMBOL vmlinux 0xa8a8110c kernel_neon_end +EXPORT_SYMBOL vmlinux 0xa8c43a24 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0xa8c9fe6f inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0xa8caa845 clk_bulk_put_all +EXPORT_SYMBOL vmlinux 0xa8ce037e release_pages +EXPORT_SYMBOL vmlinux 0xa8e571ed configfs_undepend_item +EXPORT_SYMBOL vmlinux 0xa8e6933a qdf2400_e44_present +EXPORT_SYMBOL vmlinux 0xa8f217a5 i2c_transfer +EXPORT_SYMBOL vmlinux 0xa8f347c4 simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xa8f6c843 ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0xa906c177 __nla_put_64bit +EXPORT_SYMBOL vmlinux 0xa90a9ddc iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0xa90ca0de flush_rcu_work +EXPORT_SYMBOL vmlinux 0xa916b694 strnlen +EXPORT_SYMBOL vmlinux 0xa91ea47f input_set_capability +EXPORT_SYMBOL vmlinux 0xa924b4aa __traceiter_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0xa929a564 __sk_dst_check +EXPORT_SYMBOL vmlinux 0xa94a09bb mem_section +EXPORT_SYMBOL vmlinux 0xa964dd13 gpmc_cs_request +EXPORT_SYMBOL vmlinux 0xa965ca81 reciprocal_value +EXPORT_SYMBOL vmlinux 0xa967c95c tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0xa96f4e0e device_get_mac_address +EXPORT_SYMBOL vmlinux 0xa976957d bitmap_remap +EXPORT_SYMBOL vmlinux 0xa98aa3fa generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0xa9957633 backlight_device_get_by_type +EXPORT_SYMBOL vmlinux 0xa999a156 neigh_parms_release +EXPORT_SYMBOL vmlinux 0xa9c07209 inet_add_offload +EXPORT_SYMBOL vmlinux 0xa9d35314 amba_driver_unregister +EXPORT_SYMBOL vmlinux 0xa9daa953 key_task_permission +EXPORT_SYMBOL vmlinux 0xa9e4828d inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xa9ed62d2 tegra_fuse_readl +EXPORT_SYMBOL vmlinux 0xa9fdcf2c copy_highpage +EXPORT_SYMBOL vmlinux 0xaa00fdc0 ec_transaction +EXPORT_SYMBOL vmlinux 0xaa0c318b vscnprintf +EXPORT_SYMBOL vmlinux 0xaa19e4aa _kstrtol +EXPORT_SYMBOL vmlinux 0xaa220496 fs_context_for_mount +EXPORT_SYMBOL vmlinux 0xaa341905 acpi_bios_exception +EXPORT_SYMBOL vmlinux 0xaa4559e6 skb_orphan_partial +EXPORT_SYMBOL vmlinux 0xaa4e70f4 kmalloc_caches +EXPORT_SYMBOL vmlinux 0xaa50a83e mipi_dsi_driver_register_full +EXPORT_SYMBOL vmlinux 0xaa5acab7 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xaa5d6ef6 nd_region_acquire_lane +EXPORT_SYMBOL vmlinux 0xaa6f23ad rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0xaa8106bc crc8_populate_msb +EXPORT_SYMBOL vmlinux 0xaa94f102 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xaaa4b9bc hchacha_block_generic +EXPORT_SYMBOL vmlinux 0xaaa50fb2 qcom_scm_lmh_profile_change +EXPORT_SYMBOL vmlinux 0xaaaecdb9 napi_schedule_prep +EXPORT_SYMBOL vmlinux 0xaacd5334 ether_setup +EXPORT_SYMBOL vmlinux 0xaace8f34 sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0xaad0ae78 __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaad8c7d6 default_wake_function +EXPORT_SYMBOL vmlinux 0xaae38292 crypto_kdf108_setkey +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaaedadea pci_select_bars +EXPORT_SYMBOL vmlinux 0xaaf2a1f4 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xaaf4a334 qcom_scm_set_cold_boot_addr +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab033693 dev_open +EXPORT_SYMBOL vmlinux 0xab3697e4 irq_poll_init +EXPORT_SYMBOL vmlinux 0xab36ce4f phy_aneg_done +EXPORT_SYMBOL vmlinux 0xab3b75ea vme_dma_pattern_attribute +EXPORT_SYMBOL vmlinux 0xab44559c devm_devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0xab45a06e cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0xab4a7537 tcp_child_process +EXPORT_SYMBOL vmlinux 0xab53f506 phy_ethtool_set_wol +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab625a69 tcf_qevent_handle +EXPORT_SYMBOL vmlinux 0xab63baa5 unregister_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xab67a0ac dql_init +EXPORT_SYMBOL vmlinux 0xab6d5b3b hex_to_bin +EXPORT_SYMBOL vmlinux 0xab781570 fb_get_options +EXPORT_SYMBOL vmlinux 0xab7b71c8 __put_user_ns +EXPORT_SYMBOL vmlinux 0xab7c104d kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0xab8fd733 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0xaba1c01a mmc_wait_for_req_done +EXPORT_SYMBOL vmlinux 0xabf32f29 utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0xac02256d security_path_mkdir +EXPORT_SYMBOL vmlinux 0xac073bab kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0xac1a55be unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0xac3201b0 udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0xac35cd86 dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0xac537ac2 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0xac5fcec0 in4_pton +EXPORT_SYMBOL vmlinux 0xac6abfc6 __skb_pad +EXPORT_SYMBOL vmlinux 0xac6d484d filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0xac919d79 __i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xac91c00f genphy_read_status_fixed +EXPORT_SYMBOL vmlinux 0xac9a7158 arp_xmit +EXPORT_SYMBOL vmlinux 0xac9a9d42 get_watch_queue +EXPORT_SYMBOL vmlinux 0xac9ff2f3 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0xacaa4c72 dma_fence_match_context +EXPORT_SYMBOL vmlinux 0xacab29b7 seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0xacae8600 cpufreq_generic_suspend +EXPORT_SYMBOL vmlinux 0xacb010ba of_cpu_node_to_id +EXPORT_SYMBOL vmlinux 0xacba6552 param_get_long +EXPORT_SYMBOL vmlinux 0xacc59641 sync_blockdev_range +EXPORT_SYMBOL vmlinux 0xacd352af scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0xacd36716 crypto_kdf108_ctr_generate +EXPORT_SYMBOL vmlinux 0xacd8036d __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0xacd81eb3 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xacda4da7 dev_uc_add +EXPORT_SYMBOL vmlinux 0xacddd806 ptp_get_vclocks_index +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf649bf audit_log_task_info +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad128dc1 __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0xad1ea4b8 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xad33ae3b of_get_next_parent +EXPORT_SYMBOL vmlinux 0xad357133 __traceiter_kmalloc_node +EXPORT_SYMBOL vmlinux 0xad3ea04c qman_p_irqsource_remove +EXPORT_SYMBOL vmlinux 0xad444305 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0xad5965a4 tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0xad649d42 sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0xad682b8f xudma_rchanrt_write +EXPORT_SYMBOL vmlinux 0xad6ba40e radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0xad73041f autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xad94baa4 mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0xad9901ae bit_waitqueue +EXPORT_SYMBOL vmlinux 0xad9ec933 acpi_pm_device_sleep_state +EXPORT_SYMBOL vmlinux 0xada31e57 gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0xadae6df8 blake2s_final +EXPORT_SYMBOL vmlinux 0xadb2e068 folio_migrate_mapping +EXPORT_SYMBOL vmlinux 0xadbeed61 mipi_dsi_packet_format_is_long +EXPORT_SYMBOL vmlinux 0xadc0720b xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0xadc71404 bdev_end_io_acct +EXPORT_SYMBOL vmlinux 0xadcce7e0 sync_file_create +EXPORT_SYMBOL vmlinux 0xadcd1551 qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0xadd139d4 rfs_needed +EXPORT_SYMBOL vmlinux 0xadd6fb72 unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0xaddeb492 dump_skip +EXPORT_SYMBOL vmlinux 0xade38584 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0xadfaa60e inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xadfdfcef __bitmap_andnot +EXPORT_SYMBOL vmlinux 0xae04012c __vmalloc +EXPORT_SYMBOL vmlinux 0xae21fb5a con_is_bound +EXPORT_SYMBOL vmlinux 0xae29d7f8 tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0xae316c11 icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0xae33c403 xudma_navss_psil_unpair +EXPORT_SYMBOL vmlinux 0xae431423 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0xae4ac0eb sk_stop_timer +EXPORT_SYMBOL vmlinux 0xae58af90 pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0xae5a04bb acpi_evaluate_dsm +EXPORT_SYMBOL vmlinux 0xae5bb26e devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0xae658513 kernel_getpeername +EXPORT_SYMBOL vmlinux 0xae679956 neigh_lookup +EXPORT_SYMBOL vmlinux 0xae809e0f tcp_peek_len +EXPORT_SYMBOL vmlinux 0xae85c41a pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0xae8a2bb1 dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0xae904e50 init_task +EXPORT_SYMBOL vmlinux 0xaea20ce9 inet_addr_type_table +EXPORT_SYMBOL vmlinux 0xaea47801 __do_once_slow_done +EXPORT_SYMBOL vmlinux 0xaeac049a generate_random_guid +EXPORT_SYMBOL vmlinux 0xaeb082ad _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0xaebd12f0 acpi_get_name +EXPORT_SYMBOL vmlinux 0xaeca8967 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xaee4672b udp_skb_destructor +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf52652d of_get_child_by_name +EXPORT_SYMBOL vmlinux 0xaf56600a arm64_use_ng_mappings +EXPORT_SYMBOL vmlinux 0xaf5a9148 tty_register_driver +EXPORT_SYMBOL vmlinux 0xaf5dd443 param_get_int +EXPORT_SYMBOL vmlinux 0xaf5fe1af pneigh_lookup +EXPORT_SYMBOL vmlinux 0xaf973ad2 max8925_reg_read +EXPORT_SYMBOL vmlinux 0xafac0a99 trace_event_printf +EXPORT_SYMBOL vmlinux 0xafb864c1 refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0xafc08054 dotdot_name +EXPORT_SYMBOL vmlinux 0xafc6c68e zstd_is_error +EXPORT_SYMBOL vmlinux 0xafd73032 fifo_set_limit +EXPORT_SYMBOL vmlinux 0xb01bebf9 xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xb01ec47b rproc_del +EXPORT_SYMBOL vmlinux 0xb01f22dc tty_unthrottle +EXPORT_SYMBOL vmlinux 0xb04a43ad __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0xb04b809b user_revoke +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb063ad8c pps_lookup_dev +EXPORT_SYMBOL vmlinux 0xb06a8459 genphy_c37_config_aneg +EXPORT_SYMBOL vmlinux 0xb06f9694 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0xb087bac0 nf_log_trace +EXPORT_SYMBOL vmlinux 0xb0a0da0c rational_best_approximation +EXPORT_SYMBOL vmlinux 0xb0a8a65d vme_register_error_handler +EXPORT_SYMBOL vmlinux 0xb0b79302 netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0xb0c5e247 lockref_put_return +EXPORT_SYMBOL vmlinux 0xb0cdc8f9 fwnode_mdiobus_register_phy +EXPORT_SYMBOL vmlinux 0xb0ce99b7 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0xb0d601d8 audit_log +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0fb16e1 d_set_d_op +EXPORT_SYMBOL vmlinux 0xb0febb24 tcp_add_backlog +EXPORT_SYMBOL vmlinux 0xb10e7df4 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0xb11cab2e param_ops_ullong +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb12cbacb fb_unregister_client +EXPORT_SYMBOL vmlinux 0xb1342cdb _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0xb14ab1ef hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0xb14fc46a find_next_clump8 +EXPORT_SYMBOL vmlinux 0xb17f1821 __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0xb1950b55 __block_write_full_page +EXPORT_SYMBOL vmlinux 0xb197e1a5 phy_start_cable_test +EXPORT_SYMBOL vmlinux 0xb19ac838 dma_supported +EXPORT_SYMBOL vmlinux 0xb1bcb2c0 fault_in_iov_iter_readable +EXPORT_SYMBOL vmlinux 0xb1beacc1 serio_rescan +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1c64191 msm_pinctrl_dev_pm_ops +EXPORT_SYMBOL vmlinux 0xb1cd040c single_release +EXPORT_SYMBOL vmlinux 0xb1d00efe datagram_poll +EXPORT_SYMBOL vmlinux 0xb1d512d5 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0xb1daa4d9 udp_seq_stop +EXPORT_SYMBOL vmlinux 0xb1db9a69 fsl_ifc_find +EXPORT_SYMBOL vmlinux 0xb1ddf995 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xb1df31df scsi_mode_sense +EXPORT_SYMBOL vmlinux 0xb1e5b53d jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0xb208873b pci_set_master +EXPORT_SYMBOL vmlinux 0xb22df127 dquot_initialize +EXPORT_SYMBOL vmlinux 0xb22e16d5 radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0xb23027c1 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xb23eb296 rproc_elf_get_boot_addr +EXPORT_SYMBOL vmlinux 0xb2505dcb fman_get_qman_channel_id +EXPORT_SYMBOL vmlinux 0xb2614153 sock_register +EXPORT_SYMBOL vmlinux 0xb265a69b cros_ec_check_result +EXPORT_SYMBOL vmlinux 0xb2a1c3dc mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0xb2a2ef73 ucc_of_parse_tdm +EXPORT_SYMBOL vmlinux 0xb2a76bd6 sock_pfree +EXPORT_SYMBOL vmlinux 0xb2bcb088 acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0xb2c389e9 migrate_page_copy +EXPORT_SYMBOL vmlinux 0xb2da1c1a sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xb2ddb480 phy_reset_after_clk_enable +EXPORT_SYMBOL vmlinux 0xb2e77211 block_write_begin +EXPORT_SYMBOL vmlinux 0xb2e8272f ipmr_rule_default +EXPORT_SYMBOL vmlinux 0xb2ead97c kimage_vaddr +EXPORT_SYMBOL vmlinux 0xb2f35c6a xxh64 +EXPORT_SYMBOL vmlinux 0xb2fcb56d queue_delayed_work_on +EXPORT_SYMBOL vmlinux 0xb308c97d wait_woken +EXPORT_SYMBOL vmlinux 0xb30b9822 vme_master_set +EXPORT_SYMBOL vmlinux 0xb3128e7b tegra_dfll_resume +EXPORT_SYMBOL vmlinux 0xb320cc0e sg_init_one +EXPORT_SYMBOL vmlinux 0xb3258f79 __ubsan_handle_type_mismatch_v1 +EXPORT_SYMBOL vmlinux 0xb32728bb qcom_scm_iommu_secure_ptbl_init +EXPORT_SYMBOL vmlinux 0xb3496b83 fd_install +EXPORT_SYMBOL vmlinux 0xb34dca1c kryo_l2_get_indirect_reg +EXPORT_SYMBOL vmlinux 0xb363a499 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0xb364b9dc i2c_put_adapter +EXPORT_SYMBOL vmlinux 0xb3687850 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xb382c4ea netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0xb3a37e7d try_lookup_one_len +EXPORT_SYMBOL vmlinux 0xb3a6a318 end_page_writeback +EXPORT_SYMBOL vmlinux 0xb3a82019 profile_pc +EXPORT_SYMBOL vmlinux 0xb3a97537 fixed_size_llseek +EXPORT_SYMBOL vmlinux 0xb3ab859b jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xb3ac8d3f __folio_alloc +EXPORT_SYMBOL vmlinux 0xb3d220ad tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0xb3d2c76d scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0xb3e69166 ping_prot +EXPORT_SYMBOL vmlinux 0xb3f0de55 xz_dec_microlzma_run +EXPORT_SYMBOL vmlinux 0xb3f49446 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xb3f548ad kmemdup_nul +EXPORT_SYMBOL vmlinux 0xb3f7646e kthread_should_stop +EXPORT_SYMBOL vmlinux 0xb4043948 acpi_execute_simple_method +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb4270903 skb_copy +EXPORT_SYMBOL vmlinux 0xb42af6c1 blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0xb4304faa keyring_alloc +EXPORT_SYMBOL vmlinux 0xb438a2c3 of_node_put +EXPORT_SYMBOL vmlinux 0xb4396994 __traceiter_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0xb4441b66 mmc_can_gpio_cd +EXPORT_SYMBOL vmlinux 0xb455a1cd pm860x_reg_write +EXPORT_SYMBOL vmlinux 0xb4577003 acpi_dev_present +EXPORT_SYMBOL vmlinux 0xb45e39f0 reuseport_alloc +EXPORT_SYMBOL vmlinux 0xb45f48fc truncate_pagecache +EXPORT_SYMBOL vmlinux 0xb4646171 rproc_detach +EXPORT_SYMBOL vmlinux 0xb471932e xen_alloc_ballooned_pages +EXPORT_SYMBOL vmlinux 0xb47bf01c tegra_dfll_register +EXPORT_SYMBOL vmlinux 0xb47fd392 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0xb48d4d22 security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0xb493beed nla_put +EXPORT_SYMBOL vmlinux 0xb4a00571 dm_register_target +EXPORT_SYMBOL vmlinux 0xb4b9a494 pci_enable_ptm +EXPORT_SYMBOL vmlinux 0xb4baa1d5 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0xb4c1bc60 pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0xb4f13d2a abort +EXPORT_SYMBOL vmlinux 0xb4f457d5 ip_check_defrag +EXPORT_SYMBOL vmlinux 0xb4fbbe8d dma_unmap_resource +EXPORT_SYMBOL vmlinux 0xb51a7df4 fault_in_iov_iter_writeable +EXPORT_SYMBOL vmlinux 0xb51b002a of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0xb52b527a param_ops_long +EXPORT_SYMBOL vmlinux 0xb52c9a1d vme_dma_list_add +EXPORT_SYMBOL vmlinux 0xb5337331 amba_release_regions +EXPORT_SYMBOL vmlinux 0xb53c9f57 tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0xb53cffb1 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0xb53f2810 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0xb549dd80 _dev_alert +EXPORT_SYMBOL vmlinux 0xb55e7288 get_tree_nodev +EXPORT_SYMBOL vmlinux 0xb5651293 noop_dirty_folio +EXPORT_SYMBOL vmlinux 0xb57f1e27 fman_port_disable +EXPORT_SYMBOL vmlinux 0xb5815d85 blkdev_issue_secure_erase +EXPORT_SYMBOL vmlinux 0xb58a7257 secpath_set +EXPORT_SYMBOL vmlinux 0xb58aeaab kernel_cpustat +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5b1cb09 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xb5b54b34 _raw_spin_unlock +EXPORT_SYMBOL vmlinux 0xb5b63711 fileattr_fill_xflags +EXPORT_SYMBOL vmlinux 0xb5cdc3c7 rtnl_unicast +EXPORT_SYMBOL vmlinux 0xb5e73116 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xb5f08afc i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xb5f7d6d8 tcp_set_rcvlowat +EXPORT_SYMBOL vmlinux 0xb60921b0 current_time +EXPORT_SYMBOL vmlinux 0xb61d6fc2 down_read_interruptible +EXPORT_SYMBOL vmlinux 0xb633f115 irq_poll_enable +EXPORT_SYMBOL vmlinux 0xb636c9be flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0xb63fcd48 pci_restore_state +EXPORT_SYMBOL vmlinux 0xb654ef65 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0xb65e2065 sock_create +EXPORT_SYMBOL vmlinux 0xb668bbfe set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0xb66c8ac3 mipi_dsi_dcs_set_tear_off +EXPORT_SYMBOL vmlinux 0xb66e96d8 netlbl_audit_start +EXPORT_SYMBOL vmlinux 0xb66f83ae seq_read +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb67fec0e uuid_parse +EXPORT_SYMBOL vmlinux 0xb683c3b9 jbd2_fc_end_commit_fallback +EXPORT_SYMBOL vmlinux 0xb68d7fb2 netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0xb6936ffe _bcd2bin +EXPORT_SYMBOL vmlinux 0xb6acaa13 phy_sfp_detach +EXPORT_SYMBOL vmlinux 0xb6b1331c put_ipc_ns +EXPORT_SYMBOL vmlinux 0xb6b633fe tcf_block_put +EXPORT_SYMBOL vmlinux 0xb6b9e217 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0xb6bfcb8b input_reset_device +EXPORT_SYMBOL vmlinux 0xb6c77892 thaw_bdev +EXPORT_SYMBOL vmlinux 0xb6ca7008 d_alloc_anon +EXPORT_SYMBOL vmlinux 0xb6cb556a _find_first_and_bit +EXPORT_SYMBOL vmlinux 0xb6d252ae set_page_dirty +EXPORT_SYMBOL vmlinux 0xb6e03916 is_free_buddy_page +EXPORT_SYMBOL vmlinux 0xb6e36ce2 psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0xb6f033dd nd_region_to_nstype +EXPORT_SYMBOL vmlinux 0xb6f4f157 __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0xb6fde909 close_fd +EXPORT_SYMBOL vmlinux 0xb70423fd flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0xb705a476 seq_write +EXPORT_SYMBOL vmlinux 0xb70c4f7f pci_write_vpd_any +EXPORT_SYMBOL vmlinux 0xb70eb242 pci_read_vpd +EXPORT_SYMBOL vmlinux 0xb71230e9 inode_set_flags +EXPORT_SYMBOL vmlinux 0xb71589f0 skip_spaces +EXPORT_SYMBOL vmlinux 0xb71ed69f __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0xb737b185 gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0xb739ce32 page_pool_update_nid +EXPORT_SYMBOL vmlinux 0xb7688155 ucc_slow_init +EXPORT_SYMBOL vmlinux 0xb788fb30 gic_pmr_sync +EXPORT_SYMBOL vmlinux 0xb78debe3 LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0xb7b7fa6e node_states +EXPORT_SYMBOL vmlinux 0xb7bdc60a pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xb7c0f443 sort +EXPORT_SYMBOL vmlinux 0xb7c6db70 sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0xb7d012b3 seq_lseek +EXPORT_SYMBOL vmlinux 0xb7d5bdd2 kernel_read +EXPORT_SYMBOL vmlinux 0xb7e38094 page_symlink +EXPORT_SYMBOL vmlinux 0xb7f1ffd5 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xb80b4a18 zstd_compress_bound +EXPORT_SYMBOL vmlinux 0xb82e3d63 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xb8331a0f tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0xb842716c qcom_scm_ocmem_lock_available +EXPORT_SYMBOL vmlinux 0xb8605d9c qman_p_static_dequeue_add +EXPORT_SYMBOL vmlinux 0xb868ac5c register_sysrq_key +EXPORT_SYMBOL vmlinux 0xb8715934 dev_add_pack +EXPORT_SYMBOL vmlinux 0xb8719668 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0xb876cd43 of_phy_connect +EXPORT_SYMBOL vmlinux 0xb87c0343 simple_fill_super +EXPORT_SYMBOL vmlinux 0xb87d5619 try_to_release_page +EXPORT_SYMBOL vmlinux 0xb88fd035 set_groups +EXPORT_SYMBOL vmlinux 0xb89b6e6b guid_parse +EXPORT_SYMBOL vmlinux 0xb8b043f2 kfree_link +EXPORT_SYMBOL vmlinux 0xb8b9f817 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0xb8d5b379 page_pool_put_defragged_page +EXPORT_SYMBOL vmlinux 0xb8e6546c skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0xb8e84b6c of_mdiobus_child_is_phy +EXPORT_SYMBOL vmlinux 0xb8f3c162 __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0xb9056bb6 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xb907513f unpoison_memory +EXPORT_SYMBOL vmlinux 0xb911bb58 minmax_running_max +EXPORT_SYMBOL vmlinux 0xb916ccec tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0xb91eadb2 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0xb920db49 acpi_tb_install_and_load_table +EXPORT_SYMBOL vmlinux 0xb93ea5c0 blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0xb94339c4 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0xb94557f7 sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0xb9474fa8 of_mdio_find_device +EXPORT_SYMBOL vmlinux 0xb9478d90 hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0xb95bd115 kset_unregister +EXPORT_SYMBOL vmlinux 0xb96c4f9e audit_log_subject_context +EXPORT_SYMBOL vmlinux 0xb97220ff bitmap_parse +EXPORT_SYMBOL vmlinux 0xb9802062 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0xb987409d scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0xb98ee247 netlink_unicast +EXPORT_SYMBOL vmlinux 0xb9909378 file_update_time +EXPORT_SYMBOL vmlinux 0xb9ab75d8 ip6_output +EXPORT_SYMBOL vmlinux 0xb9af1d0d __xa_clear_mark +EXPORT_SYMBOL vmlinux 0xb9b16487 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0xb9d3371c csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0xb9dda443 ptp_clock_event +EXPORT_SYMBOL vmlinux 0xb9e2e7e4 vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0xb9e8e2cc in6addr_sitelocal_allrouters +EXPORT_SYMBOL vmlinux 0xb9f3c454 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0xb9fc381a qcom_scm_hdcp_req +EXPORT_SYMBOL vmlinux 0xba0676e2 vm_zone_stat +EXPORT_SYMBOL vmlinux 0xba1008c8 __crc32c_le +EXPORT_SYMBOL vmlinux 0xba260a42 dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0xba3aaaef xfrm_state_walk +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba53adab nla_policy_len +EXPORT_SYMBOL vmlinux 0xba5ccbf4 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0xba629928 skb_checksum +EXPORT_SYMBOL vmlinux 0xba707a78 qe_get_brg_clk +EXPORT_SYMBOL vmlinux 0xba70fb2c mmc_get_card +EXPORT_SYMBOL vmlinux 0xba8254e1 mmc_retune_release +EXPORT_SYMBOL vmlinux 0xba8fbd64 _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xbad5aa90 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0xbaee8511 devfreq_remove_device +EXPORT_SYMBOL vmlinux 0xbaf5f012 kthread_create_worker +EXPORT_SYMBOL vmlinux 0xbb0540aa zlib_inflateReset +EXPORT_SYMBOL vmlinux 0xbb21260e convert_ifc_address +EXPORT_SYMBOL vmlinux 0xbb24f607 init_cdrom_command +EXPORT_SYMBOL vmlinux 0xbb2e3d10 complete_request_key +EXPORT_SYMBOL vmlinux 0xbb32f294 sock_release +EXPORT_SYMBOL vmlinux 0xbb420c1d tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0xbb4239cc __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xbb53cdbf pci_scan_bus +EXPORT_SYMBOL vmlinux 0xbb687724 bman_new_pool +EXPORT_SYMBOL vmlinux 0xbb77a3ee con_is_visible +EXPORT_SYMBOL vmlinux 0xbb8bd379 md_flush_request +EXPORT_SYMBOL vmlinux 0xbb9ea70b pci_get_slot +EXPORT_SYMBOL vmlinux 0xbb9ed3bf mutex_trylock +EXPORT_SYMBOL vmlinux 0xbba1f191 kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0xbbaa75c0 mdio_device_remove +EXPORT_SYMBOL vmlinux 0xbbb84cf1 configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0xbbcb973d of_graph_get_remote_node +EXPORT_SYMBOL vmlinux 0xbbe80fdb kmalloc_order +EXPORT_SYMBOL vmlinux 0xbbf5bfa0 tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0xbbf941e7 serio_unregister_port +EXPORT_SYMBOL vmlinux 0xbc04a838 truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0xbc0627d6 mii_check_link +EXPORT_SYMBOL vmlinux 0xbc1243a5 i2c_verify_client +EXPORT_SYMBOL vmlinux 0xbc2031de acpi_processor_get_bios_limit +EXPORT_SYMBOL vmlinux 0xbc376313 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0xbc532d2e jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xbc5437e1 tso_count_descs +EXPORT_SYMBOL vmlinux 0xbc8d3c2e inet_stream_connect +EXPORT_SYMBOL vmlinux 0xbc913b47 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0xbca4bdc5 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xbca90fdd phy_get_c45_ids +EXPORT_SYMBOL vmlinux 0xbcab6ee6 sscanf +EXPORT_SYMBOL vmlinux 0xbcb56ff7 devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0xbcbeb0a9 processors +EXPORT_SYMBOL vmlinux 0xbcdf5992 pci_rebar_get_possible_sizes +EXPORT_SYMBOL vmlinux 0xbce86a93 nonseekable_open +EXPORT_SYMBOL vmlinux 0xbcea6116 iov_iter_zero +EXPORT_SYMBOL vmlinux 0xbcf15afb flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0xbcfff3dd of_find_compatible_node +EXPORT_SYMBOL vmlinux 0xbd1722be fb_show_logo +EXPORT_SYMBOL vmlinux 0xbd22ea1a mdio_driver_unregister +EXPORT_SYMBOL vmlinux 0xbd345568 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0xbd42b669 generic_writepages +EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init +EXPORT_SYMBOL vmlinux 0xbd5d16f6 generic_permission +EXPORT_SYMBOL vmlinux 0xbd628752 __tracepoint_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0xbd6841d4 crc16 +EXPORT_SYMBOL vmlinux 0xbd88a988 scsi_scan_target +EXPORT_SYMBOL vmlinux 0xbd922386 tcf_qevent_destroy +EXPORT_SYMBOL vmlinux 0xbdec9d4c ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0xbe118c52 __tracepoint_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0xbe1c8b1f thread_group_exited +EXPORT_SYMBOL vmlinux 0xbe2616b2 ps2_handle_response +EXPORT_SYMBOL vmlinux 0xbe26a20e module_put +EXPORT_SYMBOL vmlinux 0xbe2eabc9 give_up_console +EXPORT_SYMBOL vmlinux 0xbe336bec scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0xbe49252c acpi_os_write_port +EXPORT_SYMBOL vmlinux 0xbe4a669c netdev_txq_to_tc +EXPORT_SYMBOL vmlinux 0xbe4eb6ed secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xbe5a24e9 xxh32_copy_state +EXPORT_SYMBOL vmlinux 0xbe5bfef9 xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0xbe619e98 vfs_create_mount +EXPORT_SYMBOL vmlinux 0xbe6a866f __wait_on_bit +EXPORT_SYMBOL vmlinux 0xbe6a8c96 zstd_cctx_workspace_bound +EXPORT_SYMBOL vmlinux 0xbebf30d3 mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0xbec44cb6 __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0xbecd82da input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbefa51a3 gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0xbf27720c dm_kobject_release +EXPORT_SYMBOL vmlinux 0xbf2dfba7 phy_support_asym_pause +EXPORT_SYMBOL vmlinux 0xbf34ef96 filemap_flush +EXPORT_SYMBOL vmlinux 0xbf4af203 blk_mq_alloc_disk_for_queue +EXPORT_SYMBOL vmlinux 0xbf5895b2 make_kgid +EXPORT_SYMBOL vmlinux 0xbf59c419 posix_acl_init +EXPORT_SYMBOL vmlinux 0xbf7539c0 md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0xbf80df3f tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xbf9403f0 folio_wait_private_2 +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfa0977d config_group_init +EXPORT_SYMBOL vmlinux 0xbfa25502 may_umount_tree +EXPORT_SYMBOL vmlinux 0xbfabcfa7 xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0xbfae9e07 utf8_validate +EXPORT_SYMBOL vmlinux 0xbfb7be3a security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0xbfc0d310 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xbfcbc0d2 stmp_reset_block +EXPORT_SYMBOL vmlinux 0xbfdacff3 __dec_node_page_state +EXPORT_SYMBOL vmlinux 0xbfea166a dm_table_event +EXPORT_SYMBOL vmlinux 0xc0214611 clk_add_alias +EXPORT_SYMBOL vmlinux 0xc0364007 fault_in_writeable +EXPORT_SYMBOL vmlinux 0xc038ff4c vc_cons +EXPORT_SYMBOL vmlinux 0xc042eaeb pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0xc04e072e lookup_one_len +EXPORT_SYMBOL vmlinux 0xc05735d8 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0xc060c3f4 page_pool_ethtool_stats_get +EXPORT_SYMBOL vmlinux 0xc06f53a8 page_pool_alloc_frag +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc078d22c zstd_init_cstream +EXPORT_SYMBOL vmlinux 0xc07b0863 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0xc07eff10 bio_endio +EXPORT_SYMBOL vmlinux 0xc0a04715 genphy_read_lpa +EXPORT_SYMBOL vmlinux 0xc0a8f6f3 nobh_writepage +EXPORT_SYMBOL vmlinux 0xc0aa6d21 dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0xc0afb5d7 cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0xc0d28d3b user_path_at_empty +EXPORT_SYMBOL vmlinux 0xc0d94f46 __getblk_gfp +EXPORT_SYMBOL vmlinux 0xc0fa21e7 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xc0fe9137 __printk_cpu_sync_put +EXPORT_SYMBOL vmlinux 0xc0ff12fb nla_strdup +EXPORT_SYMBOL vmlinux 0xc0ff21c1 input_get_new_minor +EXPORT_SYMBOL vmlinux 0xc1004bb3 iommu_get_msi_cookie +EXPORT_SYMBOL vmlinux 0xc10b9fd2 pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0xc10c4314 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0xc113168e generic_file_open +EXPORT_SYMBOL vmlinux 0xc1198662 __warn_flushing_systemwide_wq +EXPORT_SYMBOL vmlinux 0xc12088fb user_path_create +EXPORT_SYMBOL vmlinux 0xc121e92b netdev_pick_tx +EXPORT_SYMBOL vmlinux 0xc12b3905 of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0xc1356efc dst_discard_out +EXPORT_SYMBOL vmlinux 0xc136a204 vfs_ioctl +EXPORT_SYMBOL vmlinux 0xc13878dc tcf_em_unregister +EXPORT_SYMBOL vmlinux 0xc149b90a skb_kill_datagram +EXPORT_SYMBOL vmlinux 0xc14dc168 acpi_get_data +EXPORT_SYMBOL vmlinux 0xc1514a3b free_irq +EXPORT_SYMBOL vmlinux 0xc1579516 fman_port_enable +EXPORT_SYMBOL vmlinux 0xc164a51c keygen_init +EXPORT_SYMBOL vmlinux 0xc166db42 xfrm_init_state +EXPORT_SYMBOL vmlinux 0xc16be39d iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xc187e12e dev_alloc_name +EXPORT_SYMBOL vmlinux 0xc18840f0 vfs_rename +EXPORT_SYMBOL vmlinux 0xc18c6244 skb_pull_data +EXPORT_SYMBOL vmlinux 0xc1babf0b phy_ethtool_get_strings +EXPORT_SYMBOL vmlinux 0xc1c40b7f xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0xc1d5d504 scsi_cmd_allowed +EXPORT_SYMBOL vmlinux 0xc1d8cfaf __fdget +EXPORT_SYMBOL vmlinux 0xc1df5df7 netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0xc1e2c742 tegra_io_rail_power_on +EXPORT_SYMBOL vmlinux 0xc1e2ef32 inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0xc1eab879 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xc1ef28aa nobh_truncate_page +EXPORT_SYMBOL vmlinux 0xc2050974 fman_port_get_tstamp +EXPORT_SYMBOL vmlinux 0xc207c085 sk_free +EXPORT_SYMBOL vmlinux 0xc210b48e edac_mc_find +EXPORT_SYMBOL vmlinux 0xc2144fd3 rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0xc217abab dev_get_iflink +EXPORT_SYMBOL vmlinux 0xc22c834f d_make_root +EXPORT_SYMBOL vmlinux 0xc2310cdc logic_inl +EXPORT_SYMBOL vmlinux 0xc236ffcb param_set_invbool +EXPORT_SYMBOL vmlinux 0xc23d71a1 of_get_cpu_node +EXPORT_SYMBOL vmlinux 0xc23f72bf nf_getsockopt +EXPORT_SYMBOL vmlinux 0xc243a9b4 pcibus_to_node +EXPORT_SYMBOL vmlinux 0xc24a9e60 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0xc24cf8a6 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0xc262c67f dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0xc26ba559 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0xc26f7c47 acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc271461a xattr_full_name +EXPORT_SYMBOL vmlinux 0xc27c314f follow_up +EXPORT_SYMBOL vmlinux 0xc28809a3 remove_watch_from_object +EXPORT_SYMBOL vmlinux 0xc29bf967 strspn +EXPORT_SYMBOL vmlinux 0xc2a0bb7c iterate_fd +EXPORT_SYMBOL vmlinux 0xc2b5d369 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xc2c06052 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0xc2cfa626 param_ops_ushort +EXPORT_SYMBOL vmlinux 0xc2dc87a6 phy_ethtool_ksettings_get +EXPORT_SYMBOL vmlinux 0xc2e168ab caches_clean_inval_pou +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2f11eac meson_sm_call_read +EXPORT_SYMBOL vmlinux 0xc2f52274 __lshrti3 +EXPORT_SYMBOL vmlinux 0xc3055d20 usleep_range_state +EXPORT_SYMBOL vmlinux 0xc3061492 __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0xc310b981 strnstr +EXPORT_SYMBOL vmlinux 0xc316d996 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xc31db0ce is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0xc32c71af register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xc3399bbc tcf_action_exec +EXPORT_SYMBOL vmlinux 0xc3681fb5 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xc36a3bd4 __acpi_handle_debug +EXPORT_SYMBOL vmlinux 0xc36eb0b5 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0xc3762aec mempool_alloc +EXPORT_SYMBOL vmlinux 0xc37f9c6e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0xc38c83b8 mod_timer +EXPORT_SYMBOL vmlinux 0xc3bc72ad trace_print_array_seq +EXPORT_SYMBOL vmlinux 0xc3cd034d crc8_populate_lsb +EXPORT_SYMBOL vmlinux 0xc3dd05ad pci_unmap_rom +EXPORT_SYMBOL vmlinux 0xc3e567b0 uart_resume_port +EXPORT_SYMBOL vmlinux 0xc3ff38c2 down_read_trylock +EXPORT_SYMBOL vmlinux 0xc3ff6d71 fs_context_for_submount +EXPORT_SYMBOL vmlinux 0xc40b37a3 seg6_push_hmac +EXPORT_SYMBOL vmlinux 0xc411218c nvdimm_namespace_disk_name +EXPORT_SYMBOL vmlinux 0xc41bc980 iwe_stream_add_value +EXPORT_SYMBOL vmlinux 0xc4207c62 zap_page_range +EXPORT_SYMBOL vmlinux 0xc4212ab9 qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xc42dcb99 acpi_evaluate_ost +EXPORT_SYMBOL vmlinux 0xc4354c7e inet6_offloads +EXPORT_SYMBOL vmlinux 0xc452212c utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0xc46c28e3 flow_rule_alloc +EXPORT_SYMBOL vmlinux 0xc46e1006 __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0xc4708199 cpm_muram_addr +EXPORT_SYMBOL vmlinux 0xc4777aa9 __ctzsi2 +EXPORT_SYMBOL vmlinux 0xc47c0236 netdev_offload_xstats_get +EXPORT_SYMBOL vmlinux 0xc4892b9d config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0xc4a54cd7 neigh_destroy +EXPORT_SYMBOL vmlinux 0xc4ab480b mpage_writepage +EXPORT_SYMBOL vmlinux 0xc4b21d2f qman_get_affine_portal +EXPORT_SYMBOL vmlinux 0xc4beb2e8 phy_sfp_probe +EXPORT_SYMBOL vmlinux 0xc4cc7e4d mmc_gpio_get_cd +EXPORT_SYMBOL vmlinux 0xc4cf82c0 ptp_find_pin_unlocked +EXPORT_SYMBOL vmlinux 0xc4dc471b register_netdevice +EXPORT_SYMBOL vmlinux 0xc4e3e0a3 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xc5011d3d genphy_aneg_done +EXPORT_SYMBOL vmlinux 0xc528a49a queued_write_lock_slowpath +EXPORT_SYMBOL vmlinux 0xc52d02b4 dump_emit +EXPORT_SYMBOL vmlinux 0xc5388d42 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0xc53f159c jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xc56a41e6 vabits_actual +EXPORT_SYMBOL vmlinux 0xc56c3609 xz_dec_microlzma_reset +EXPORT_SYMBOL vmlinux 0xc578ae3e tso_build_data +EXPORT_SYMBOL vmlinux 0xc57c48a3 idr_get_next +EXPORT_SYMBOL vmlinux 0xc588bd78 md_handle_request +EXPORT_SYMBOL vmlinux 0xc58cac1f netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0xc58d5a90 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0xc58eddce sock_setsockopt +EXPORT_SYMBOL vmlinux 0xc599a772 security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc59baccd proc_symlink +EXPORT_SYMBOL vmlinux 0xc5a3367a __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xc5b6f236 queue_work_on +EXPORT_SYMBOL vmlinux 0xc5df836d get_tree_single +EXPORT_SYMBOL vmlinux 0xc5e1df64 inet_sendpage +EXPORT_SYMBOL vmlinux 0xc5e74216 release_resource +EXPORT_SYMBOL vmlinux 0xc5ebbd8a ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0xc5f7e801 sg_last +EXPORT_SYMBOL vmlinux 0xc60d0620 __num_online_cpus +EXPORT_SYMBOL vmlinux 0xc61953a7 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0xc61a283a migrate_vma_finalize +EXPORT_SYMBOL vmlinux 0xc61a8c00 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xc622556f prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xc6263273 unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0xc62f0716 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc633d82d phy_unregister_fixup +EXPORT_SYMBOL vmlinux 0xc63ba36c submit_bio +EXPORT_SYMBOL vmlinux 0xc65e4e97 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif +EXPORT_SYMBOL vmlinux 0xc6679e02 iget_locked +EXPORT_SYMBOL vmlinux 0xc66a8304 cpu_rmap_add +EXPORT_SYMBOL vmlinux 0xc682ffa1 security_inode_copy_up +EXPORT_SYMBOL vmlinux 0xc6836869 from_kgid +EXPORT_SYMBOL vmlinux 0xc6899e7d __dev_set_mtu +EXPORT_SYMBOL vmlinux 0xc68b9218 blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xc69fce52 qcom_scm_qsmmu500_wait_safe_toggle +EXPORT_SYMBOL vmlinux 0xc6a472b7 fman_set_mac_max_frame +EXPORT_SYMBOL vmlinux 0xc6b2f9f8 pci_bus_type +EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6d09aa9 release_firmware +EXPORT_SYMBOL vmlinux 0xc6ee950f fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0xc6f3b3fc refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0xc6f46339 init_timer_key +EXPORT_SYMBOL vmlinux 0xc6f59678 page_pool_return_skb_page +EXPORT_SYMBOL vmlinux 0xc6f72d30 folio_end_writeback +EXPORT_SYMBOL vmlinux 0xc70851e3 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0xc708f1fe ec_write +EXPORT_SYMBOL vmlinux 0xc71c9064 devm_of_iomap +EXPORT_SYMBOL vmlinux 0xc71d58fe of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0xc71e4620 pci_dev_put +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc728fbb5 __find_get_block +EXPORT_SYMBOL vmlinux 0xc72be0a7 __traceiter_module_get +EXPORT_SYMBOL vmlinux 0xc7392f47 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0xc75d7c50 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xc76f278f xfrm_init_replay +EXPORT_SYMBOL vmlinux 0xc7806ec9 mipi_dsi_driver_unregister +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7856a3d inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc787dc5d kernel_param_lock +EXPORT_SYMBOL vmlinux 0xc79935b5 xp_alloc_batch +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7b34189 udp_disconnect +EXPORT_SYMBOL vmlinux 0xc7c1107a LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0xc7d094b5 dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xc7d6a801 migrate_vma_setup +EXPORT_SYMBOL vmlinux 0xc7f268dd param_ops_string +EXPORT_SYMBOL vmlinux 0xc7f45e76 sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0xc80ab559 swake_up_one +EXPORT_SYMBOL vmlinux 0xc814dcff neigh_xmit +EXPORT_SYMBOL vmlinux 0xc814f11c dquot_quota_off +EXPORT_SYMBOL vmlinux 0xc817aa80 mr_table_alloc +EXPORT_SYMBOL vmlinux 0xc82858de netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0xc8347c55 register_netdev +EXPORT_SYMBOL vmlinux 0xc836e7ca flow_keys_dissector +EXPORT_SYMBOL vmlinux 0xc838c3f5 __ashrti3 +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc852a2cb phy_start +EXPORT_SYMBOL vmlinux 0xc8588b00 rpmh_invalidate +EXPORT_SYMBOL vmlinux 0xc86674d1 rproc_resource_cleanup +EXPORT_SYMBOL vmlinux 0xc872fd85 in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0xc87ddd61 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0xc8827b75 sysctl_vals +EXPORT_SYMBOL vmlinux 0xc88b4a88 key_revoke +EXPORT_SYMBOL vmlinux 0xc88d293a jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0xc890c008 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xc8974b38 filemap_range_has_page +EXPORT_SYMBOL vmlinux 0xc89846c4 xudma_tchanrt_read +EXPORT_SYMBOL vmlinux 0xc8a91f5b cpumask_local_spread +EXPORT_SYMBOL vmlinux 0xc8ca7894 may_setattr +EXPORT_SYMBOL vmlinux 0xc8ca95db eth_gro_complete +EXPORT_SYMBOL vmlinux 0xc8d0943c ip_setsockopt +EXPORT_SYMBOL vmlinux 0xc8d5956f pnp_request_card_device +EXPORT_SYMBOL vmlinux 0xc8dcc62a krealloc +EXPORT_SYMBOL vmlinux 0xc8f26413 ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0xc8fd265f sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0xc916dd46 __SCK__tp_func_kmalloc +EXPORT_SYMBOL vmlinux 0xc9179b1f vfs_path_lookup +EXPORT_SYMBOL vmlinux 0xc9190781 tcp_stream_memory_free +EXPORT_SYMBOL vmlinux 0xc9204d7a is_subdir +EXPORT_SYMBOL vmlinux 0xc93e8461 acpi_get_event_resources +EXPORT_SYMBOL vmlinux 0xc943306c scsi_host_put +EXPORT_SYMBOL vmlinux 0xc957ac1c proc_create +EXPORT_SYMBOL vmlinux 0xc95aefa2 netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0xc961846c blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0xc9634df9 in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0xc972449f mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0xc981b55d skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0xc9822234 clk_register_clkdev +EXPORT_SYMBOL vmlinux 0xc9934978 dquot_destroy +EXPORT_SYMBOL vmlinux 0xc99bcd34 seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9adfbcb submit_bh +EXPORT_SYMBOL vmlinux 0xc9b70218 sock_queue_rcv_skb_reason +EXPORT_SYMBOL vmlinux 0xc9df055a xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xc9e9b495 tso_build_hdr +EXPORT_SYMBOL vmlinux 0xc9eb6ebf input_match_device_id +EXPORT_SYMBOL vmlinux 0xc9ed0401 imx_sc_rm_is_resource_owned +EXPORT_SYMBOL vmlinux 0xc9f63f2d phy_attached_print +EXPORT_SYMBOL vmlinux 0xca1648d4 zstd_decompress_dctx +EXPORT_SYMBOL vmlinux 0xca21ebd3 bitmap_free +EXPORT_SYMBOL vmlinux 0xca431c05 wake_bit_function +EXPORT_SYMBOL vmlinux 0xca5ac12a phy_validate_pause +EXPORT_SYMBOL vmlinux 0xca5bd3a0 vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0xca5fcd19 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xca62afaf xudma_rflow_is_gp +EXPORT_SYMBOL vmlinux 0xca8a4bd7 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xca905410 dcb_setapp +EXPORT_SYMBOL vmlinux 0xca92d04a __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0xca9360b5 rb_next +EXPORT_SYMBOL vmlinux 0xca9beaa4 __xa_store +EXPORT_SYMBOL vmlinux 0xcaa65c87 sg_miter_start +EXPORT_SYMBOL vmlinux 0xcacd57fd param_get_uint +EXPORT_SYMBOL vmlinux 0xcad1aca8 acpi_exception +EXPORT_SYMBOL vmlinux 0xcad4fbc9 nd_dax_probe +EXPORT_SYMBOL vmlinux 0xcae5dedb udp_read_sock +EXPORT_SYMBOL vmlinux 0xcaeb7e53 netdev_state_change +EXPORT_SYMBOL vmlinux 0xcaf05950 __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xcb0288ea ledtrig_cpu +EXPORT_SYMBOL vmlinux 0xcb2eccc1 sk_common_release +EXPORT_SYMBOL vmlinux 0xcb382a33 kobject_put +EXPORT_SYMBOL vmlinux 0xcb3ae215 call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xcb463360 phy_config_aneg +EXPORT_SYMBOL vmlinux 0xcb567eb6 folio_mark_dirty +EXPORT_SYMBOL vmlinux 0xcb63cf28 _dev_printk +EXPORT_SYMBOL vmlinux 0xcb6db4c1 phy_print_status +EXPORT_SYMBOL vmlinux 0xcb70e03b __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb79278b make_kprojid +EXPORT_SYMBOL vmlinux 0xcb817e38 _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0xcb84149a filp_open +EXPORT_SYMBOL vmlinux 0xcbac0e5c finalize_exec +EXPORT_SYMBOL vmlinux 0xcbbf0a6f audit_log_task_context +EXPORT_SYMBOL vmlinux 0xcbc736ab scsi_rescan_device +EXPORT_SYMBOL vmlinux 0xcbd4898c fortify_panic +EXPORT_SYMBOL vmlinux 0xcbfb33e4 init_opal_dev +EXPORT_SYMBOL vmlinux 0xcc0461a9 phy_start_aneg +EXPORT_SYMBOL vmlinux 0xcc070735 fscrypt_ioctl_get_policy +EXPORT_SYMBOL vmlinux 0xcc1b882a idr_get_next_ul +EXPORT_SYMBOL vmlinux 0xcc1f89c7 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xcc23002a hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc328a5c reservation_ww_class +EXPORT_SYMBOL vmlinux 0xcc411ed1 ptp_convert_timestamp +EXPORT_SYMBOL vmlinux 0xcc445ceb __sg_page_iter_dma_next +EXPORT_SYMBOL vmlinux 0xcc4c9c80 touchscreen_parse_properties +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5c2df4 trace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0xcc5d22d9 can_do_mlock +EXPORT_SYMBOL vmlinux 0xcc642f70 of_graph_get_port_by_id +EXPORT_SYMBOL vmlinux 0xcc7d69a6 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0xcc9056e6 twl6040_set_pll +EXPORT_SYMBOL vmlinux 0xcca5839d xen_vcpu_id +EXPORT_SYMBOL vmlinux 0xccb12152 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0xccb97995 of_mdiobus_register +EXPORT_SYMBOL vmlinux 0xccc1c393 config_item_set_name +EXPORT_SYMBOL vmlinux 0xccce4627 security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0xccd0d33f page_pool_destroy +EXPORT_SYMBOL vmlinux 0xccd4c999 __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0xccdd0622 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xccf459b9 proto_unregister +EXPORT_SYMBOL vmlinux 0xccf60a5b max8998_update_reg +EXPORT_SYMBOL vmlinux 0xccfab5ba tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0xccfb9e07 dst_default_metrics +EXPORT_SYMBOL vmlinux 0xccfd2ebc scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0xcd01b8e6 acpi_attach_data +EXPORT_SYMBOL vmlinux 0xcd0c83fb xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xcd256667 tcp_md5_needed +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd320cbd ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xcd5632a6 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xcd683426 phy_driver_register +EXPORT_SYMBOL vmlinux 0xcd778f50 of_phy_is_fixed_link +EXPORT_SYMBOL vmlinux 0xcd8281d1 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xcd8ce890 acpi_format_exception +EXPORT_SYMBOL vmlinux 0xcdc39c9e security_ismaclabel +EXPORT_SYMBOL vmlinux 0xcdc73fc7 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0xcdce2fef sock_kzfree_s +EXPORT_SYMBOL vmlinux 0xcde77bcc free_opal_dev +EXPORT_SYMBOL vmlinux 0xcdee91f8 sget +EXPORT_SYMBOL vmlinux 0xcdfdabdf file_modified +EXPORT_SYMBOL vmlinux 0xce036f24 sg_split +EXPORT_SYMBOL vmlinux 0xce0fa57d neigh_update +EXPORT_SYMBOL vmlinux 0xce1954c9 tegra_ivc_init +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce2ac5e9 seq_read_iter +EXPORT_SYMBOL vmlinux 0xce34ccd2 dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xce4cdb8e fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xce4e47b6 __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0xce4e4955 lookup_one_unlocked +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce731b34 ucc_slow_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0xce746205 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xce76c257 acpi_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xce807a25 up_write +EXPORT_SYMBOL vmlinux 0xce8a55ef scsicam_bios_param +EXPORT_SYMBOL vmlinux 0xce9248c1 inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0xce986535 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0xceab0311 strchrnul +EXPORT_SYMBOL vmlinux 0xcebd1a19 to_nd_pfn +EXPORT_SYMBOL vmlinux 0xcece06ea xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0xced0f4d4 gen_pool_create +EXPORT_SYMBOL vmlinux 0xced62ba1 security_dentry_init_security +EXPORT_SYMBOL vmlinux 0xcee093a2 nvdimm_check_and_set_ro +EXPORT_SYMBOL vmlinux 0xceef1d30 send_sig_mceerr +EXPORT_SYMBOL vmlinux 0xcefb0c9f __mutex_init +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf047b72 qdisc_reset +EXPORT_SYMBOL vmlinux 0xcf0730a9 of_graph_get_endpoint_count +EXPORT_SYMBOL vmlinux 0xcf1e9989 __scsi_add_device +EXPORT_SYMBOL vmlinux 0xcf2a6966 up +EXPORT_SYMBOL vmlinux 0xcf3b69b3 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xcf491223 mipi_dsi_dcs_get_pixel_format +EXPORT_SYMBOL vmlinux 0xcf4fdd4d _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0xcf54e3ee simple_link +EXPORT_SYMBOL vmlinux 0xcf5d2893 inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0xcf6d59b7 devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0xcf78d8bc pci_claim_resource +EXPORT_SYMBOL vmlinux 0xcf838fcd insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0xcf8c5a10 pnp_stop_dev +EXPORT_SYMBOL vmlinux 0xcf9ae600 pci_read_vpd_any +EXPORT_SYMBOL vmlinux 0xcf9b558d touchscreen_set_mt_pos +EXPORT_SYMBOL vmlinux 0xcf9c7f23 of_device_is_available +EXPORT_SYMBOL vmlinux 0xcfa7e913 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xcfb47370 sock_no_getname +EXPORT_SYMBOL vmlinux 0xcfc0e58e security_binder_transfer_file +EXPORT_SYMBOL vmlinux 0xcfc3b321 jbd2_journal_grab_journal_head +EXPORT_SYMBOL vmlinux 0xcfc9deaf atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xcfce882a param_set_short +EXPORT_SYMBOL vmlinux 0xcfd357ba scsi_partsize +EXPORT_SYMBOL vmlinux 0xcfd5561b fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0xcfd884a8 __hsiphash_unaligned +EXPORT_SYMBOL vmlinux 0xcfeb98a8 acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0xcffa318d tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0xd00b73fa rtc_add_groups +EXPORT_SYMBOL vmlinux 0xd011000d qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0xd03c6bd4 param_set_long +EXPORT_SYMBOL vmlinux 0xd04c1a64 sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0xd0525c49 kernel_connect +EXPORT_SYMBOL vmlinux 0xd0654aba woken_wake_function +EXPORT_SYMBOL vmlinux 0xd066c075 sock_create_lite +EXPORT_SYMBOL vmlinux 0xd06ec61a sock_gettstamp +EXPORT_SYMBOL vmlinux 0xd0760fc0 kfree_sensitive +EXPORT_SYMBOL vmlinux 0xd07e4440 fput +EXPORT_SYMBOL vmlinux 0xd08adb2b trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0xd09a79aa md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0xd0a8452f skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0xd0aa5dc1 iov_iter_pipe +EXPORT_SYMBOL vmlinux 0xd0b13144 unix_detach_fds +EXPORT_SYMBOL vmlinux 0xd0b74705 acpi_install_interface +EXPORT_SYMBOL vmlinux 0xd0c5ca1a pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0xd0c6ab45 pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0xd0cd6214 clk_hw_get_clk +EXPORT_SYMBOL vmlinux 0xd0f5a2df flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0xd0fe8d51 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0xd100ce2e jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0xd10ee979 sunxi_sram_release +EXPORT_SYMBOL vmlinux 0xd112a129 security_path_unlink +EXPORT_SYMBOL vmlinux 0xd11c0899 phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0xd129b03a pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0xd1363cc1 ucs2_strsize +EXPORT_SYMBOL vmlinux 0xd143a6fd genphy_read_master_slave +EXPORT_SYMBOL vmlinux 0xd148e81c flush_signals +EXPORT_SYMBOL vmlinux 0xd1537f94 lock_rename +EXPORT_SYMBOL vmlinux 0xd159346e ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xd162fdb0 dma_resv_reserve_fences +EXPORT_SYMBOL vmlinux 0xd1849ff7 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xd194ddf9 acpi_gpe_count +EXPORT_SYMBOL vmlinux 0xd19de1e7 uart_suspend_port +EXPORT_SYMBOL vmlinux 0xd1aad282 nf_reinject +EXPORT_SYMBOL vmlinux 0xd1af0034 md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0xd1c068fb nf_setsockopt +EXPORT_SYMBOL vmlinux 0xd1c5d8ea skb_tx_error +EXPORT_SYMBOL vmlinux 0xd1cafc2a generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0xd1cc632e fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0xd1d87e92 scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0xd1f32617 mmc_retune_pause +EXPORT_SYMBOL vmlinux 0xd2051916 qcom_scm_cpu_power_down +EXPORT_SYMBOL vmlinux 0xd211b272 neigh_seq_start +EXPORT_SYMBOL vmlinux 0xd2237016 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0xd240ad4a scsi_ioctl +EXPORT_SYMBOL vmlinux 0xd24108d4 rfkill_soft_blocked +EXPORT_SYMBOL vmlinux 0xd2582f8f __SCK__tp_func_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0xd25bc5d4 csum_tcpudp_nofold +EXPORT_SYMBOL vmlinux 0xd25c8517 udp6_seq_ops +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd26cb234 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xd26d22b1 rio_query_mport +EXPORT_SYMBOL vmlinux 0xd276c643 tcf_idr_create +EXPORT_SYMBOL vmlinux 0xd27b25dd blk_check_plugged +EXPORT_SYMBOL vmlinux 0xd2800691 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd28e2a43 of_get_ethdev_address +EXPORT_SYMBOL vmlinux 0xd2a86e3c devm_get_clk_from_child +EXPORT_SYMBOL vmlinux 0xd2afefdd __pagevec_release +EXPORT_SYMBOL vmlinux 0xd2b34de0 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xd2b6b132 pnp_start_dev +EXPORT_SYMBOL vmlinux 0xd2bc13f8 pci_iomap_range +EXPORT_SYMBOL vmlinux 0xd2c57fcc readahead_expand +EXPORT_SYMBOL vmlinux 0xd2c99738 __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0xd2d4f81c __of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0xd2d88506 netdev_offload_xstats_report_used +EXPORT_SYMBOL vmlinux 0xd2da1048 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xd2e2a9d0 hdmi_spd_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd2ea49b8 acpi_leave_sleep_state_prep +EXPORT_SYMBOL vmlinux 0xd31ae268 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd322ccf3 of_node_get +EXPORT_SYMBOL vmlinux 0xd3257f1e inode_update_time +EXPORT_SYMBOL vmlinux 0xd32bb433 unix_get_socket +EXPORT_SYMBOL vmlinux 0xd338ce9b mmc_is_req_done +EXPORT_SYMBOL vmlinux 0xd33d9b5c mdiobus_write_nested +EXPORT_SYMBOL vmlinux 0xd3543063 memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0xd3559ef4 __memset +EXPORT_SYMBOL vmlinux 0xd35a6d31 mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xd35cce70 _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xd35ffba3 unlock_rename +EXPORT_SYMBOL vmlinux 0xd368db2c blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xd36dc10c get_random_u32 +EXPORT_SYMBOL vmlinux 0xd36decde rw_verify_area +EXPORT_SYMBOL vmlinux 0xd36e3d59 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0xd3773e13 dev_change_flags +EXPORT_SYMBOL vmlinux 0xd37cbe97 __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0xd398528e dev_get_mac_address +EXPORT_SYMBOL vmlinux 0xd39e4697 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xd39f9373 elevator_alloc +EXPORT_SYMBOL vmlinux 0xd3d9f163 netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0xd3db3a89 seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0xd406d266 fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xd40c0824 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0xd4283e58 __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0xd43cd7c9 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xd4408d4b ip_options_compile +EXPORT_SYMBOL vmlinux 0xd45cc6ca bin2hex +EXPORT_SYMBOL vmlinux 0xd46812ce genphy_read_status +EXPORT_SYMBOL vmlinux 0xd46dca8f mmc_gpiod_request_ro +EXPORT_SYMBOL vmlinux 0xd47e8c55 mii_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0xd4835ef8 dmi_check_system +EXPORT_SYMBOL vmlinux 0xd483754c dev_set_alias +EXPORT_SYMBOL vmlinux 0xd498da69 mr_table_dump +EXPORT_SYMBOL vmlinux 0xd4a1210e inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0xd4a69d20 qm_channel_caam +EXPORT_SYMBOL vmlinux 0xd4b25627 bioset_exit +EXPORT_SYMBOL vmlinux 0xd4b302c3 simple_getattr +EXPORT_SYMBOL vmlinux 0xd4b65ae9 amba_request_regions +EXPORT_SYMBOL vmlinux 0xd4bb4a82 inet6addr_validator_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd4d171a1 __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0xd4d1983c udplite_table +EXPORT_SYMBOL vmlinux 0xd4d22461 skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0xd4eee23d netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xd4f416b5 __of_get_address +EXPORT_SYMBOL vmlinux 0xd4fa5a87 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0xd502ff0a __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0xd50f73b0 seq_escape_mem +EXPORT_SYMBOL vmlinux 0xd523b0ac __pci_register_driver +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd5346bfc acpi_get_possible_resources +EXPORT_SYMBOL vmlinux 0xd535795d devm_devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0xd544fb5b netdev_warn +EXPORT_SYMBOL vmlinux 0xd5832cfa pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0xd586f2c1 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xd5b3d0d5 xxh64_copy_state +EXPORT_SYMBOL vmlinux 0xd5b9d2fa request_partial_firmware_into_buf +EXPORT_SYMBOL vmlinux 0xd5e2b65a ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0xd5f75971 pnp_get_resource +EXPORT_SYMBOL vmlinux 0xd5fa66b0 pci_find_capability +EXPORT_SYMBOL vmlinux 0xd5fd90f1 prepare_to_wait +EXPORT_SYMBOL vmlinux 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0xd62ecd49 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xd63a0dab __alloc_pages +EXPORT_SYMBOL vmlinux 0xd643239a acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xd660327a file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0xd66ba99c ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0xd66c8184 add_device_randomness +EXPORT_SYMBOL vmlinux 0xd6742a28 vm_event_states +EXPORT_SYMBOL vmlinux 0xd680b01f ww_mutex_trylock +EXPORT_SYMBOL vmlinux 0xd688716b dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xd68a47dc add_to_pipe +EXPORT_SYMBOL vmlinux 0xd68c5a1f adjust_resource +EXPORT_SYMBOL vmlinux 0xd68d9ef1 vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0xd691c6a9 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0xd696e6a6 serio_bus +EXPORT_SYMBOL vmlinux 0xd6a91f54 twl_i2c_read +EXPORT_SYMBOL vmlinux 0xd6b93e17 fsl_ifc_ctrl_dev +EXPORT_SYMBOL vmlinux 0xd6eaaea1 full_name_hash +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f0831c dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xd6f0a692 __fs_parse +EXPORT_SYMBOL vmlinux 0xd6fde043 is_module_sig_enforced +EXPORT_SYMBOL vmlinux 0xd70d35a1 gf128mul_4k_bbe +EXPORT_SYMBOL vmlinux 0xd70f62b6 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xd722c834 ram_aops +EXPORT_SYMBOL vmlinux 0xd732df7e jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xd73787c7 nf_log_packet +EXPORT_SYMBOL vmlinux 0xd738ca1b phy_unregister_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd73b6651 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0xd73c8c2b synchronize_shrinkers +EXPORT_SYMBOL vmlinux 0xd744e973 __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0xd7482f05 vcalloc +EXPORT_SYMBOL vmlinux 0xd757c0b8 seq_puts +EXPORT_SYMBOL vmlinux 0xd7987177 utf8_load +EXPORT_SYMBOL vmlinux 0xd7a8a894 netdev_offload_xstats_enabled +EXPORT_SYMBOL vmlinux 0xd7ad9f24 netdev_notify_peers +EXPORT_SYMBOL vmlinux 0xd7b62852 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xd7bdd47e mipi_dsi_dcs_get_display_brightness_large +EXPORT_SYMBOL vmlinux 0xd7c2c0d8 free_mdio_bitbang +EXPORT_SYMBOL vmlinux 0xd7d280ad irq_poll_complete +EXPORT_SYMBOL vmlinux 0xd7d53b42 tty_port_close_end +EXPORT_SYMBOL vmlinux 0xd7d5d4c7 fman_get_revision +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7ea7094 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xd7f55c12 ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0xd7ff1b8a __ashlti3 +EXPORT_SYMBOL vmlinux 0xd806273c padata_alloc +EXPORT_SYMBOL vmlinux 0xd808f64d dup_iter +EXPORT_SYMBOL vmlinux 0xd8131274 qman_alloc_cgrid_range +EXPORT_SYMBOL vmlinux 0xd8190157 folio_wait_bit_killable +EXPORT_SYMBOL vmlinux 0xd8227920 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0xd828f063 xudma_tchanrt_write +EXPORT_SYMBOL vmlinux 0xd835ccce filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0xd8413ceb jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0xd84fac83 devm_devfreq_add_governor +EXPORT_SYMBOL vmlinux 0xd86619cb __breadahead +EXPORT_SYMBOL vmlinux 0xd8950a80 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a994eb scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0xd8ad260e fsync_bdev +EXPORT_SYMBOL vmlinux 0xd8b61304 get_default_font +EXPORT_SYMBOL vmlinux 0xd8b98519 tegra_ivc_write_get_next_frame +EXPORT_SYMBOL vmlinux 0xd8df08ac acpi_handle_printk +EXPORT_SYMBOL vmlinux 0xd8e210bd d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0xd8ecf0e1 pci_alloc_dev +EXPORT_SYMBOL vmlinux 0xd8ecfe87 passthru_features_check +EXPORT_SYMBOL vmlinux 0xd9041649 param_set_copystring +EXPORT_SYMBOL vmlinux 0xd90bd588 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xd91c400e clocksource_unregister +EXPORT_SYMBOL vmlinux 0xd91f6ab6 strnlen_user +EXPORT_SYMBOL vmlinux 0xd922820b xp_free +EXPORT_SYMBOL vmlinux 0xd92deb6b acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0xd9310797 __icmp_send +EXPORT_SYMBOL vmlinux 0xd9491c14 xa_destroy +EXPORT_SYMBOL vmlinux 0xd94c34c2 proc_mkdir +EXPORT_SYMBOL vmlinux 0xd9583a64 inet_recvmsg +EXPORT_SYMBOL vmlinux 0xd959c125 make_kuid +EXPORT_SYMBOL vmlinux 0xd964601b xfrm_state_free +EXPORT_SYMBOL vmlinux 0xd96a980d vmap +EXPORT_SYMBOL vmlinux 0xd9828144 blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd99d1c03 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0xd99ff482 dcache_dir_close +EXPORT_SYMBOL vmlinux 0xd9a5ea54 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xd9ab56fe dma_resv_add_fence +EXPORT_SYMBOL vmlinux 0xd9b124c8 unregister_console +EXPORT_SYMBOL vmlinux 0xd9b85ef6 lockref_get +EXPORT_SYMBOL vmlinux 0xd9b8eaea __SCK__tp_func_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xd9d88e50 input_get_poll_interval +EXPORT_SYMBOL vmlinux 0xd9d8fd16 register_restart_handler +EXPORT_SYMBOL vmlinux 0xd9d952d1 crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0xd9e5c140 phy_device_create +EXPORT_SYMBOL vmlinux 0xda054a15 sock_efree +EXPORT_SYMBOL vmlinux 0xda10443c xudma_tchan_get_id +EXPORT_SYMBOL vmlinux 0xda3d10a8 security_tun_dev_open +EXPORT_SYMBOL vmlinux 0xda3eecdc pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0xda45faaa tegra_dfll_runtime_suspend +EXPORT_SYMBOL vmlinux 0xda5971aa skb_queue_tail +EXPORT_SYMBOL vmlinux 0xda6596d6 finish_swait +EXPORT_SYMBOL vmlinux 0xda75f926 pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0xda946774 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xdaa6e2c2 prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0xdab056a0 rproc_da_to_va +EXPORT_SYMBOL vmlinux 0xdab2352d sg_miter_stop +EXPORT_SYMBOL vmlinux 0xdac4913a bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0xdaca820e dynamic_preempt_schedule +EXPORT_SYMBOL vmlinux 0xdad1fc3f zstd_flush_stream +EXPORT_SYMBOL vmlinux 0xdad835ad tcp_conn_request +EXPORT_SYMBOL vmlinux 0xdaec288d pr_flush +EXPORT_SYMBOL vmlinux 0xdaf40997 sock_i_uid +EXPORT_SYMBOL vmlinux 0xdaf80327 __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0xdafbadcc __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xdb020b47 to_nd_dax +EXPORT_SYMBOL vmlinux 0xdb1105e3 of_graph_get_remote_port_parent +EXPORT_SYMBOL vmlinux 0xdb297b0e __skb_ext_del +EXPORT_SYMBOL vmlinux 0xdb2abde4 __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0xdb2f5d31 rproc_get_by_phandle +EXPORT_SYMBOL vmlinux 0xdb2f990a tegra_dfll_unregister +EXPORT_SYMBOL vmlinux 0xdb310373 fc_mount +EXPORT_SYMBOL vmlinux 0xdb52ad55 blackhole_netdev +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb6e908a xp_can_alloc +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdba2f8ce mipi_dsi_shutdown_peripheral +EXPORT_SYMBOL vmlinux 0xdbaf5bcf mdiobb_read +EXPORT_SYMBOL vmlinux 0xdbb12111 input_register_handle +EXPORT_SYMBOL vmlinux 0xdbcf041a acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0xdbd21521 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xdbdf6c92 ioport_resource +EXPORT_SYMBOL vmlinux 0xdbe1d5e7 ip6_frag_init +EXPORT_SYMBOL vmlinux 0xdc04cde6 mmc_detect_change +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc1b5cab padata_set_cpumask +EXPORT_SYMBOL vmlinux 0xdc1e188b dquot_release +EXPORT_SYMBOL vmlinux 0xdc1fcfd7 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0xdc34158f fman_port_init +EXPORT_SYMBOL vmlinux 0xdc39d5f4 current_in_userns +EXPORT_SYMBOL vmlinux 0xdc3a804a find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc45f223 reuseport_has_conns_set +EXPORT_SYMBOL vmlinux 0xdc49c198 reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0xdc5092d7 pcim_pin_device +EXPORT_SYMBOL vmlinux 0xdc512134 backlight_register_notifier +EXPORT_SYMBOL vmlinux 0xdc5ae7e0 input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0xdc5e1613 skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0xdc64069f dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xdc9bfc20 nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0xdc9e9848 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0xdca717d8 generic_file_read_iter +EXPORT_SYMBOL vmlinux 0xdca8c3d4 logic_outb +EXPORT_SYMBOL vmlinux 0xdcb3df4b get_tree_bdev +EXPORT_SYMBOL vmlinux 0xdcb764ad memset +EXPORT_SYMBOL vmlinux 0xdcc1748e bpf_map_get +EXPORT_SYMBOL vmlinux 0xdcc29c45 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0xdcdbefd7 xfrm_state_add +EXPORT_SYMBOL vmlinux 0xdcdc0040 slhc_compress +EXPORT_SYMBOL vmlinux 0xdd00447a acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0xdd18a993 acpi_check_dsm +EXPORT_SYMBOL vmlinux 0xdd203b08 handle_edge_irq +EXPORT_SYMBOL vmlinux 0xdd2c169b mb_cache_create +EXPORT_SYMBOL vmlinux 0xdd440d38 tty_port_init +EXPORT_SYMBOL vmlinux 0xdd4d55b6 _raw_read_unlock +EXPORT_SYMBOL vmlinux 0xdd4ed7a4 touch_buffer +EXPORT_SYMBOL vmlinux 0xdd54bbfb of_io_request_and_map +EXPORT_SYMBOL vmlinux 0xdd605c48 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0xdd64e639 strscpy +EXPORT_SYMBOL vmlinux 0xdd6bab90 key_alloc +EXPORT_SYMBOL vmlinux 0xdd7da143 unregister_filesystem +EXPORT_SYMBOL vmlinux 0xdd7e3192 qcom_scm_pas_auth_and_reset +EXPORT_SYMBOL vmlinux 0xdd8166a1 dma_fence_free +EXPORT_SYMBOL vmlinux 0xdd849d51 scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0xdd8e0405 __skb_recv_udp +EXPORT_SYMBOL vmlinux 0xdd96eeb8 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0xdda4e1bb pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0xddaa9de5 generic_key_instantiate +EXPORT_SYMBOL vmlinux 0xddad7952 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xddf6ad7a completion_done +EXPORT_SYMBOL vmlinux 0xde293f9e add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xde49cf45 set_blocksize +EXPORT_SYMBOL vmlinux 0xde4d4ace dim_calc_stats +EXPORT_SYMBOL vmlinux 0xde4f9618 d_lookup +EXPORT_SYMBOL vmlinux 0xde50d65e blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0xde599c9b copy_string_kernel +EXPORT_SYMBOL vmlinux 0xde5e5c5e __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0xde9950ad devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0xde9a2e4a pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0xdeafedfb pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xdeca568a simple_setattr +EXPORT_SYMBOL vmlinux 0xded39a6b gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xdef7c893 fb_match_mode +EXPORT_SYMBOL vmlinux 0xdefa1a3f fb_prepare_logo +EXPORT_SYMBOL vmlinux 0xdf0e88df param_get_charp +EXPORT_SYMBOL vmlinux 0xdf256037 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0xdf2c2742 rb_last +EXPORT_SYMBOL vmlinux 0xdf2ebb87 _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xdf321325 dma_resv_replace_fences +EXPORT_SYMBOL vmlinux 0xdf36914b xa_find_after +EXPORT_SYMBOL vmlinux 0xdf391419 qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0xdf54a8f7 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdf6b082f proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xdf720e47 genlmsg_put +EXPORT_SYMBOL vmlinux 0xdf78cce2 ilookup +EXPORT_SYMBOL vmlinux 0xdf81cbfe nd_btt_arena_is_valid +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf93b9d8 timespec64_to_jiffies +EXPORT_SYMBOL vmlinux 0xdfbf01a8 vfs_symlink +EXPORT_SYMBOL vmlinux 0xdfc0f191 __netlink_dump_start +EXPORT_SYMBOL vmlinux 0xdfc1090f simple_statfs +EXPORT_SYMBOL vmlinux 0xdfc12ef1 zstd_decompress_stream +EXPORT_SYMBOL vmlinux 0xdfc328ff unix_attach_fds +EXPORT_SYMBOL vmlinux 0xdfc980a6 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0xdfcc992c current_work +EXPORT_SYMBOL vmlinux 0xdfd6f55f request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xdff905e5 vme_slave_free +EXPORT_SYMBOL vmlinux 0xdffc80fc vesa_modes +EXPORT_SYMBOL vmlinux 0xe006e9f9 get_fs_type +EXPORT_SYMBOL vmlinux 0xe0185227 audit_log_start +EXPORT_SYMBOL vmlinux 0xe028c41a tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0xe02ba436 trace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xe02c9c92 __xa_erase +EXPORT_SYMBOL vmlinux 0xe0318b0b read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0xe03a689d dma_fence_array_ops +EXPORT_SYMBOL vmlinux 0xe0419ac4 kstrtos16 +EXPORT_SYMBOL vmlinux 0xe05016e4 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0xe058f8ba backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xe05f0b60 kmem_cache_free +EXPORT_SYMBOL vmlinux 0xe070019a __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0xe07e5f44 acpi_reconfig_notifier_unregister +EXPORT_SYMBOL vmlinux 0xe080e8f0 set_current_groups +EXPORT_SYMBOL vmlinux 0xe082e88d acpi_check_address_range +EXPORT_SYMBOL vmlinux 0xe0896517 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0xe08b4f7a iov_iter_revert +EXPORT_SYMBOL vmlinux 0xe090f6db inet_sk_set_state +EXPORT_SYMBOL vmlinux 0xe091c977 list_sort +EXPORT_SYMBOL vmlinux 0xe09b03df lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0xe0a323f6 __do_once_slow_start +EXPORT_SYMBOL vmlinux 0xe0a568fb bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bef318 icst_hz_to_vco +EXPORT_SYMBOL vmlinux 0xe0c77fd0 __folio_cancel_dirty +EXPORT_SYMBOL vmlinux 0xe0c97857 ptp_cancel_worker_sync +EXPORT_SYMBOL vmlinux 0xe0d3859c folio_add_lru +EXPORT_SYMBOL vmlinux 0xe0e07748 phy_set_sym_pause +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe123f3d9 dma_fence_release +EXPORT_SYMBOL vmlinux 0xe12bda79 vme_dma_free_attribute +EXPORT_SYMBOL vmlinux 0xe138fb8c percpu_counter_add_batch +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe1457881 devm_clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0xe14d5c48 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xe14dc25c pldmfw_op_pci_match_record +EXPORT_SYMBOL vmlinux 0xe15af5cd inode_needs_sync +EXPORT_SYMBOL vmlinux 0xe15b4611 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xe1760a76 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0xe1825e89 __register_chrdev +EXPORT_SYMBOL vmlinux 0xe18e2ab1 sock_no_connect +EXPORT_SYMBOL vmlinux 0xe1936b01 insert_inode_locked +EXPORT_SYMBOL vmlinux 0xe19a27e7 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0xe19e9ea6 acpi_mdiobus_register +EXPORT_SYMBOL vmlinux 0xe1a05e64 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xe1b2481d vfs_rmdir +EXPORT_SYMBOL vmlinux 0xe1c873e6 __skb_checksum +EXPORT_SYMBOL vmlinux 0xe1cf2293 __destroy_inode +EXPORT_SYMBOL vmlinux 0xe1dc3980 cdev_set_parent +EXPORT_SYMBOL vmlinux 0xe1dcf64a audit_log_format +EXPORT_SYMBOL vmlinux 0xe2027737 dev_get_by_name +EXPORT_SYMBOL vmlinux 0xe2163e12 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0xe2172e02 cpu_hwcaps +EXPORT_SYMBOL vmlinux 0xe21f18ac __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0xe22c4050 remove_proc_entry +EXPORT_SYMBOL vmlinux 0xe24a3e69 param_ops_charp +EXPORT_SYMBOL vmlinux 0xe2582879 mmc_cqe_request_done +EXPORT_SYMBOL vmlinux 0xe271128b cpumask_any_distribute +EXPORT_SYMBOL vmlinux 0xe271f45b lease_get_mtime +EXPORT_SYMBOL vmlinux 0xe273d75d alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0xe2922517 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0xe2b9bc97 register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0xe2ba42b1 security_inode_init_security +EXPORT_SYMBOL vmlinux 0xe2ba74ae jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0xe2cabbf8 mmc_of_parse +EXPORT_SYMBOL vmlinux 0xe2cec453 __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0xe2d1f3d1 vme_bus_type +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e02847 pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0xe2e82b54 pagecache_get_page +EXPORT_SYMBOL vmlinux 0xe2f52d72 dev_load +EXPORT_SYMBOL vmlinux 0xe3077389 vme_bus_num +EXPORT_SYMBOL vmlinux 0xe31c43d6 page_pool_put_page_bulk +EXPORT_SYMBOL vmlinux 0xe32ab4d8 xxh64_digest +EXPORT_SYMBOL vmlinux 0xe32ebcf4 security_socket_socketpair +EXPORT_SYMBOL vmlinux 0xe354f729 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0xe3582b04 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0xe35e4c2d fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0xe36fe5d6 sock_rfree +EXPORT_SYMBOL vmlinux 0xe374e5fc udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xe37ca02e nd_integrity_init +EXPORT_SYMBOL vmlinux 0xe39b2ea5 sha256 +EXPORT_SYMBOL vmlinux 0xe3b44e45 security_unix_may_send +EXPORT_SYMBOL vmlinux 0xe3b711eb configfs_depend_item +EXPORT_SYMBOL vmlinux 0xe3bb3f2e flow_rule_match_meta +EXPORT_SYMBOL vmlinux 0xe3bfc18c vc_resize +EXPORT_SYMBOL vmlinux 0xe3c70adf phy_disconnect +EXPORT_SYMBOL vmlinux 0xe3d6bca6 pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0xe3db0470 folio_wait_private_2_killable +EXPORT_SYMBOL vmlinux 0xe3ec2f2b alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0xe3f9fb13 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0xe3feba56 tasklet_unlock_spin_wait +EXPORT_SYMBOL vmlinux 0xe3ff2c41 get_random_u64 +EXPORT_SYMBOL vmlinux 0xe40976c0 pnp_range_reserved +EXPORT_SYMBOL vmlinux 0xe40c37ea down_write_trylock +EXPORT_SYMBOL vmlinux 0xe40f4ded netif_receive_skb +EXPORT_SYMBOL vmlinux 0xe4178ebc __inc_node_page_state +EXPORT_SYMBOL vmlinux 0xe42227e3 fb_find_mode +EXPORT_SYMBOL vmlinux 0xe4329092 __ctzdi2 +EXPORT_SYMBOL vmlinux 0xe43aa261 skb_set_owner_w +EXPORT_SYMBOL vmlinux 0xe46021ca _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0xe462f75e arp_create +EXPORT_SYMBOL vmlinux 0xe4740095 jbd2_fc_get_buf +EXPORT_SYMBOL vmlinux 0xe478fa35 clkdev_add +EXPORT_SYMBOL vmlinux 0xe4844265 path_get +EXPORT_SYMBOL vmlinux 0xe49bdf4a simple_transaction_get +EXPORT_SYMBOL vmlinux 0xe4b0d332 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0xe4b5f956 mmc_can_trim +EXPORT_SYMBOL vmlinux 0xe4bbc1dd kimage_voffset +EXPORT_SYMBOL vmlinux 0xe4bc2c2f hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0xe4cbed4d mmc_gpio_set_cd_wake +EXPORT_SYMBOL vmlinux 0xe4ce9e3c mipi_dsi_dcs_get_display_brightness +EXPORT_SYMBOL vmlinux 0xe4db1a64 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0xe4f23f95 tcp_init_sock +EXPORT_SYMBOL vmlinux 0xe4f79499 scsi_device_resume +EXPORT_SYMBOL vmlinux 0xe4fa8203 fs_param_is_path +EXPORT_SYMBOL vmlinux 0xe520b4b1 console_stop +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe52cdd73 tcp_check_req +EXPORT_SYMBOL vmlinux 0xe52e6cd5 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0xe53d7f7e __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0xe540e9a1 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xe5593e4a netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0xe56b20b1 mount_subtree +EXPORT_SYMBOL vmlinux 0xe56eccc9 genphy_config_eee_advert +EXPORT_SYMBOL vmlinux 0xe5748bf2 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xe57feefb qcom_scm_ocmem_unlock +EXPORT_SYMBOL vmlinux 0xe58090ca security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0xe580d39a blk_queue_max_secure_erase_sectors +EXPORT_SYMBOL vmlinux 0xe5881dac tty_port_close_start +EXPORT_SYMBOL vmlinux 0xe590dea3 sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0xe59284f6 udp_gro_receive +EXPORT_SYMBOL vmlinux 0xe5aa2176 __nd_driver_register +EXPORT_SYMBOL vmlinux 0xe5b61a78 ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0xe5c07ca0 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0xe5c60bd2 percpu_counter_set +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5d5356d fman_get_pause_cfg +EXPORT_SYMBOL vmlinux 0xe5de0036 has_capability +EXPORT_SYMBOL vmlinux 0xe5ed29e7 devm_of_clk_del_provider +EXPORT_SYMBOL vmlinux 0xe5fbc034 dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0xe5fbf73e kernel_sendmsg +EXPORT_SYMBOL vmlinux 0xe5fcbd0f netif_set_real_num_queues +EXPORT_SYMBOL vmlinux 0xe6015037 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0xe6084cf4 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0xe613a798 inet_addr_is_any +EXPORT_SYMBOL vmlinux 0xe61adc7f udp_pre_connect +EXPORT_SYMBOL vmlinux 0xe6233e32 pci_release_regions +EXPORT_SYMBOL vmlinux 0xe6264390 dm_get_device +EXPORT_SYMBOL vmlinux 0xe62c3a27 fs_param_is_blob +EXPORT_SYMBOL vmlinux 0xe64c4b29 netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0xe64e5719 cfb_fillrect +EXPORT_SYMBOL vmlinux 0xe64f92ac mdio_device_reset +EXPORT_SYMBOL vmlinux 0xe6508c62 devfreq_monitor_suspend +EXPORT_SYMBOL vmlinux 0xe6550092 utf8_casefold +EXPORT_SYMBOL vmlinux 0xe65950a8 sg_alloc_append_table_from_pages +EXPORT_SYMBOL vmlinux 0xe66e6df8 vfs_unlink +EXPORT_SYMBOL vmlinux 0xe67cbb2e dput +EXPORT_SYMBOL vmlinux 0xe67ec73e netdev_alert +EXPORT_SYMBOL vmlinux 0xe6811754 drop_super_exclusive +EXPORT_SYMBOL vmlinux 0xe68efe41 _raw_write_lock +EXPORT_SYMBOL vmlinux 0xe69121ea ptp_schedule_worker +EXPORT_SYMBOL vmlinux 0xe6947cbe seq_path +EXPORT_SYMBOL vmlinux 0xe698f16d xfrm4_protocol_register +EXPORT_SYMBOL vmlinux 0xe6a87f3e of_get_next_cpu_node +EXPORT_SYMBOL vmlinux 0xe6bcccb3 __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0xe6c944c7 kill_anon_super +EXPORT_SYMBOL vmlinux 0xe6d2458e do_trace_netlink_extack +EXPORT_SYMBOL vmlinux 0xe6fa06a2 rename_lock +EXPORT_SYMBOL vmlinux 0xe6fa7584 validate_slab_cache +EXPORT_SYMBOL vmlinux 0xe7145f8c input_set_timestamp +EXPORT_SYMBOL vmlinux 0xe7149e96 ihold +EXPORT_SYMBOL vmlinux 0xe7257ab8 xa_store_range +EXPORT_SYMBOL vmlinux 0xe72d16ee unlock_buffer +EXPORT_SYMBOL vmlinux 0xe7392a59 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xe74c4503 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0xe758a86b truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0xe7698027 ioremap_cache +EXPORT_SYMBOL vmlinux 0xe76ea1f6 __mdiobus_write +EXPORT_SYMBOL vmlinux 0xe77929e2 register_framebuffer +EXPORT_SYMBOL vmlinux 0xe78ff3b0 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0xe7a02573 ida_alloc_range +EXPORT_SYMBOL vmlinux 0xe7ab1ecc _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0xe7b0353b __cpu_active_mask +EXPORT_SYMBOL vmlinux 0xe7b558ae get_phy_device +EXPORT_SYMBOL vmlinux 0xe7b749e9 locks_free_lock +EXPORT_SYMBOL vmlinux 0xe7c6f416 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xe7cccfbd devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7e5d6d9 ipv6_select_ident +EXPORT_SYMBOL vmlinux 0xe7f56236 ip6tun_encaps +EXPORT_SYMBOL vmlinux 0xe7fba8f4 dma_pool_create +EXPORT_SYMBOL vmlinux 0xe7fee9f8 textsearch_prepare +EXPORT_SYMBOL vmlinux 0xe8209ac1 inet_del_offload +EXPORT_SYMBOL vmlinux 0xe8253493 vlan_uses_dev +EXPORT_SYMBOL vmlinux 0xe82d5fe7 param_ops_bool +EXPORT_SYMBOL vmlinux 0xe82f09c0 _dev_crit +EXPORT_SYMBOL vmlinux 0xe8330a5a call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0xe83cd3e2 fwnode_get_phy_id +EXPORT_SYMBOL vmlinux 0xe85f2123 acpi_tb_unload_table +EXPORT_SYMBOL vmlinux 0xe86beaff xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0xe8719982 device_match_acpi_handle +EXPORT_SYMBOL vmlinux 0xe87c5b3d of_get_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0xe87c7e7e blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0xe88850d0 tty_write_room +EXPORT_SYMBOL vmlinux 0xe88e35a1 module_refcount +EXPORT_SYMBOL vmlinux 0xe893d12d security_sk_clone +EXPORT_SYMBOL vmlinux 0xe8978abc sk_wait_data +EXPORT_SYMBOL vmlinux 0xe8b5c3c3 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xe8c21b6c dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0xe8dcc5f6 km_policy_expired +EXPORT_SYMBOL vmlinux 0xe8df3829 mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0xe8faa9a0 dev_uc_init +EXPORT_SYMBOL vmlinux 0xe8fbf4fa __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0xe90253f0 xudma_rflow_get +EXPORT_SYMBOL vmlinux 0xe90905e4 md_done_sync +EXPORT_SYMBOL vmlinux 0xe909997a bitmap_print_list_to_buf +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe91c8678 f_setown +EXPORT_SYMBOL vmlinux 0xe928fca4 mipi_dsi_dcs_read +EXPORT_SYMBOL vmlinux 0xe9361f88 netdev_crit +EXPORT_SYMBOL vmlinux 0xe93b3c95 flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe9a5e527 bdev_check_media_change +EXPORT_SYMBOL vmlinux 0xe9ae9c19 pci_find_bus +EXPORT_SYMBOL vmlinux 0xe9af7397 __xa_set_mark +EXPORT_SYMBOL vmlinux 0xe9bfcc5a _copy_from_iter +EXPORT_SYMBOL vmlinux 0xe9dc12a4 zstd_get_error_name +EXPORT_SYMBOL vmlinux 0xe9dfdf5b __block_write_begin +EXPORT_SYMBOL vmlinux 0xe9e3ef33 rproc_vq_interrupt +EXPORT_SYMBOL vmlinux 0xe9e8faeb efi_tpm_final_log_size +EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0xe9ffc063 down_trylock +EXPORT_SYMBOL vmlinux 0xea0f3aee input_get_timestamp +EXPORT_SYMBOL vmlinux 0xea16bec7 qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0xea1c3e3a arm_smccc_1_2_hvc +EXPORT_SYMBOL vmlinux 0xea3c8e4e scsilun_to_int +EXPORT_SYMBOL vmlinux 0xea61c3b5 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0xea69ef3a cros_ec_get_next_event +EXPORT_SYMBOL vmlinux 0xea6f9a36 zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0xea778fab sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0xea83d411 iov_iter_kvec +EXPORT_SYMBOL vmlinux 0xea8e5686 iov_iter_xarray +EXPORT_SYMBOL vmlinux 0xeab6f4c4 acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xeab942d8 mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0xeac97975 pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0xead36e43 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0xead8c400 bman_get_bpid +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeae58e59 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0xeaf07138 registered_fb +EXPORT_SYMBOL vmlinux 0xeafb2d22 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0xeafc141f __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeb0252d2 netdev_offload_xstats_enable +EXPORT_SYMBOL vmlinux 0xeb078aee _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xeb0d047f inet_register_protosw +EXPORT_SYMBOL vmlinux 0xeb0f0233 eth_gro_receive +EXPORT_SYMBOL vmlinux 0xeb109f6a config_item_init_type_name +EXPORT_SYMBOL vmlinux 0xeb1587a6 inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0xeb19fc7f vfs_iter_write +EXPORT_SYMBOL vmlinux 0xeb1a29e0 cont_write_begin +EXPORT_SYMBOL vmlinux 0xeb233a45 __kmalloc +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb43c7d8 setup_arg_pages +EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact +EXPORT_SYMBOL vmlinux 0xeb668cd0 generic_file_mmap +EXPORT_SYMBOL vmlinux 0xeb7329a2 qcom_scm_set_warm_boot_addr +EXPORT_SYMBOL vmlinux 0xeb757042 tcp_prot +EXPORT_SYMBOL vmlinux 0xeb7f6046 acpi_get_devices +EXPORT_SYMBOL vmlinux 0xeb83d022 adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0xeb9e913d sgl_alloc_order +EXPORT_SYMBOL vmlinux 0xeb9eef52 match_uint +EXPORT_SYMBOL vmlinux 0xeb9fe575 is_acpi_data_node +EXPORT_SYMBOL vmlinux 0xeba885c9 mipi_dsi_dcs_set_display_brightness_large +EXPORT_SYMBOL vmlinux 0xebb497ea ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xebc0fd2c mmc_alloc_host +EXPORT_SYMBOL vmlinux 0xebc3e259 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0xebc52331 set_posix_acl +EXPORT_SYMBOL vmlinux 0xebc8f3fd rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0xebcdeda3 of_clk_get +EXPORT_SYMBOL vmlinux 0xebd13a53 page_pool_release_page +EXPORT_SYMBOL vmlinux 0xebe0997f kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0xebe8b479 register_sysctl_mount_point +EXPORT_SYMBOL vmlinux 0xec09f5d7 mmc_erase +EXPORT_SYMBOL vmlinux 0xec0e1a01 devm_backlight_device_register +EXPORT_SYMBOL vmlinux 0xec2b8a42 acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0xec2e1c8f proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0xec2ebc9e unregister_qdisc +EXPORT_SYMBOL vmlinux 0xec33c668 __SCK__tp_func_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xec3828f8 get_tz_trend +EXPORT_SYMBOL vmlinux 0xec41716a qman_alloc_fqid_range +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec51b7d5 nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0xec5dc873 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0xec70438e sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0xec7d4439 pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0xec90851a dev_uc_sync +EXPORT_SYMBOL vmlinux 0xec9df9d8 dump_skip_to +EXPORT_SYMBOL vmlinux 0xecaf24f7 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xece784c2 rb_first +EXPORT_SYMBOL vmlinux 0xecfd68ef acpi_get_node +EXPORT_SYMBOL vmlinux 0xed00c4fb acpi_os_printf +EXPORT_SYMBOL vmlinux 0xed238617 __put_cred +EXPORT_SYMBOL vmlinux 0xed2e6971 tcp_close +EXPORT_SYMBOL vmlinux 0xed55f929 acpi_os_unmap_generic_address +EXPORT_SYMBOL vmlinux 0xed57b45b scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xed5d3faa mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0xed652357 kobject_del +EXPORT_SYMBOL vmlinux 0xed656e30 udp_encap_disable +EXPORT_SYMBOL vmlinux 0xed675bfa tcp_ioctl +EXPORT_SYMBOL vmlinux 0xed6e5bc7 kernel_listen +EXPORT_SYMBOL vmlinux 0xed8a2d95 memset64 +EXPORT_SYMBOL vmlinux 0xed8c3bc0 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0xed90bdee __nla_put +EXPORT_SYMBOL vmlinux 0xed97babd __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0xeda6185e phy_attached_info +EXPORT_SYMBOL vmlinux 0xeda819de pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0xedb7e7c8 dev_disable_lro +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedd17b31 sock_get_timeout +EXPORT_SYMBOL vmlinux 0xedd9e538 t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0xeddad1ae blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0xeddd22b0 flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0xedde3b18 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xee0d4fba simple_transaction_release +EXPORT_SYMBOL vmlinux 0xee1014d6 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0xee22974a tegra_ivc_reset +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee3099c7 dst_destroy +EXPORT_SYMBOL vmlinux 0xee3e63e9 path_put +EXPORT_SYMBOL vmlinux 0xee57e81d neigh_app_ns +EXPORT_SYMBOL vmlinux 0xee58e970 fb_add_videomode +EXPORT_SYMBOL vmlinux 0xee7d7deb gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xee883b06 __vmalloc_array +EXPORT_SYMBOL vmlinux 0xee8c02e9 vprintk_emit +EXPORT_SYMBOL vmlinux 0xee8d74d6 jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0xee91879b rb_first_postorder +EXPORT_SYMBOL vmlinux 0xee9bfc20 qdisc_hash_del +EXPORT_SYMBOL vmlinux 0xeea2d676 kfree_skb_reason +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeeb5a428 bio_chain +EXPORT_SYMBOL vmlinux 0xeeca35da block_write_full_page +EXPORT_SYMBOL vmlinux 0xeee75d91 ucc_fast_init +EXPORT_SYMBOL vmlinux 0xef13e243 ll_rw_block +EXPORT_SYMBOL vmlinux 0xef209b19 irq_set_chip +EXPORT_SYMBOL vmlinux 0xef3222f5 netif_rx +EXPORT_SYMBOL vmlinux 0xef451a19 devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0xef4d28dd __netif_rx +EXPORT_SYMBOL vmlinux 0xef4d3967 __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xef572379 pnp_possible_config +EXPORT_SYMBOL vmlinux 0xef5aa9ff file_path +EXPORT_SYMBOL vmlinux 0xef690491 inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0xef7305f6 jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0xef748976 qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0xef8ac53d qcom_scm_restore_sec_cfg +EXPORT_SYMBOL vmlinux 0xefaf2e4f tcf_queue_work +EXPORT_SYMBOL vmlinux 0xefbe4c8b ata_std_end_eh +EXPORT_SYMBOL vmlinux 0xefbfb7d0 eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0xefc3c8de dev_addr_add +EXPORT_SYMBOL vmlinux 0xefc9bc95 xen_free_ballooned_pages +EXPORT_SYMBOL vmlinux 0xefcd524a inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0xefcea2e7 acpi_warning +EXPORT_SYMBOL vmlinux 0xefd38f56 i2c_transfer_buffer_flags +EXPORT_SYMBOL vmlinux 0xefee932c acpi_get_data_full +EXPORT_SYMBOL vmlinux 0xefeefc09 __SCK__tp_func_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xefffd94b devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf00905fc task_work_add +EXPORT_SYMBOL vmlinux 0xf01018d2 uart_get_divisor +EXPORT_SYMBOL vmlinux 0xf017c6f0 __ip_select_ident +EXPORT_SYMBOL vmlinux 0xf0240ef6 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0xf029cc07 d_instantiate +EXPORT_SYMBOL vmlinux 0xf02aa937 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xf0375d63 __traceiter_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xf0382dae skb_store_bits +EXPORT_SYMBOL vmlinux 0xf048cc44 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0xf04c0a85 rfkill_alloc +EXPORT_SYMBOL vmlinux 0xf05e0533 register_key_type +EXPORT_SYMBOL vmlinux 0xf066930a __xfrm_init_state +EXPORT_SYMBOL vmlinux 0xf07a2f85 i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0xf07fc1bf inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xf09b5d9a get_zeroed_page +EXPORT_SYMBOL vmlinux 0xf0a39575 no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0xf0a71b1b revert_creds +EXPORT_SYMBOL vmlinux 0xf0b2419f cmd_db_read_aux_data +EXPORT_SYMBOL vmlinux 0xf0b31eef pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0xf0b925c5 sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0xf0bb89f4 udp6_csum_init +EXPORT_SYMBOL vmlinux 0xf0c2cf93 may_umount +EXPORT_SYMBOL vmlinux 0xf0c9125c pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0xf0ddd347 fuse_mount_destroy +EXPORT_SYMBOL vmlinux 0xf0e237cd __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0xf0eb7d9c netdev_offload_xstats_push_delta +EXPORT_SYMBOL vmlinux 0xf0eee06f of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0xf1130686 pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0xf11dd46e _page_poisoning_enabled_early +EXPORT_SYMBOL vmlinux 0xf12d0874 fman_register_intr +EXPORT_SYMBOL vmlinux 0xf132c19b jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0xf139e00e dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xf14fb1d6 pci_enable_wake +EXPORT_SYMBOL vmlinux 0xf16c0896 dma_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0xf175e084 kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0xf179df7a blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0xf17be54d inode_dio_wait +EXPORT_SYMBOL vmlinux 0xf17d63e4 rproc_elf_sanity_check +EXPORT_SYMBOL vmlinux 0xf181a4de clk_bulk_get_all +EXPORT_SYMBOL vmlinux 0xf18300ad logic_inb +EXPORT_SYMBOL vmlinux 0xf187d209 bpf_empty_prog_array +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1969a8e __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xf1a65f7b zstd_reset_dstream +EXPORT_SYMBOL vmlinux 0xf1b4e547 dmaenginem_async_device_register +EXPORT_SYMBOL vmlinux 0xf1b83360 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e046cc panic +EXPORT_SYMBOL vmlinux 0xf1e4c845 block_write_end +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf21549c8 md_unregister_thread +EXPORT_SYMBOL vmlinux 0xf228179d dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0xf2318c90 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf25c32fd mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0xf2628676 zstd_compress_cctx +EXPORT_SYMBOL vmlinux 0xf2669a2c imx_scu_irq_register_notifier +EXPORT_SYMBOL vmlinux 0xf27c724d fman_set_port_params +EXPORT_SYMBOL vmlinux 0xf286c151 dev_pm_opp_unregister_notifier +EXPORT_SYMBOL vmlinux 0xf28cf0ae __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf29403e5 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xf29f8515 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0xf2a9d74b mmc_card_alternative_gpt_sector +EXPORT_SYMBOL vmlinux 0xf2b4cc02 pci_enable_msi +EXPORT_SYMBOL vmlinux 0xf2b8aa30 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xf2bbe080 inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0xf2c2a4f8 vfs_setpos +EXPORT_SYMBOL vmlinux 0xf2c43f3f zlib_deflate +EXPORT_SYMBOL vmlinux 0xf2e5bd87 security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0xf2ec3edf pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xf2f53617 memregion_free +EXPORT_SYMBOL vmlinux 0xf2fe26d9 blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0xf3006be5 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0xf3106b3e fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0xf3107926 sha224_update +EXPORT_SYMBOL vmlinux 0xf31e15ea mmc_gpio_set_cd_isr +EXPORT_SYMBOL vmlinux 0xf32e1283 nd_pfn_probe +EXPORT_SYMBOL vmlinux 0xf3409068 get_user_pages +EXPORT_SYMBOL vmlinux 0xf341ee35 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf34f3cd1 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xf353a698 register_module_notifier +EXPORT_SYMBOL vmlinux 0xf36f42a9 slhc_uncompress +EXPORT_SYMBOL vmlinux 0xf36fee0e bio_copy_data +EXPORT_SYMBOL vmlinux 0xf37df936 __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf3932313 mb_cache_entry_wait_unused +EXPORT_SYMBOL vmlinux 0xf393cfdb _dev_err +EXPORT_SYMBOL vmlinux 0xf39f0456 input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0xf3a57892 release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xf3a922e7 get_user_pages_remote +EXPORT_SYMBOL vmlinux 0xf3aca7e2 rproc_of_resm_mem_entry_init +EXPORT_SYMBOL vmlinux 0xf3b71543 vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0xf3e0e1df allocate_resource +EXPORT_SYMBOL vmlinux 0xf3e3fa16 jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0xf3e59aae pci_scan_slot +EXPORT_SYMBOL vmlinux 0xf3fc7b91 ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0xf3fc8a70 ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0xf413a6db mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0xf416c6aa poll_freewait +EXPORT_SYMBOL vmlinux 0xf42091c2 begin_new_exec +EXPORT_SYMBOL vmlinux 0xf43d2caa acpi_remove_interface +EXPORT_SYMBOL vmlinux 0xf43ddc28 cdev_device_add +EXPORT_SYMBOL vmlinux 0xf4452738 of_iomap +EXPORT_SYMBOL vmlinux 0xf44a5e79 get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0xf44a904a net_ns_barrier +EXPORT_SYMBOL vmlinux 0xf45d888a nobh_write_begin +EXPORT_SYMBOL vmlinux 0xf46616f1 sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0xf46cc87a pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0xf474c21c bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0xf474fdcb kfree_const +EXPORT_SYMBOL vmlinux 0xf477bf17 fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0xf4b754fd acpi_resources_are_enforced +EXPORT_SYMBOL vmlinux 0xf4c29492 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0xf4caf7c1 netdev_change_features +EXPORT_SYMBOL vmlinux 0xf4db35bc stpcpy +EXPORT_SYMBOL vmlinux 0xf4dce736 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0xf4e29438 has_capability_noaudit +EXPORT_SYMBOL vmlinux 0xf4e3b7e7 inet_release +EXPORT_SYMBOL vmlinux 0xf4e5895e dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0xf4e7ff3f iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf512f87c put_watch_queue +EXPORT_SYMBOL vmlinux 0xf523b327 ptp_clock_unregister +EXPORT_SYMBOL vmlinux 0xf53a8aa9 blk_pm_runtime_init +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf5415d5a genphy_handle_interrupt_no_ack +EXPORT_SYMBOL vmlinux 0xf5581a38 vma_alloc_folio +EXPORT_SYMBOL vmlinux 0xf56cccf3 __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0xf584217b fs_param_is_fd +EXPORT_SYMBOL vmlinux 0xf58fcda6 pipe_lock +EXPORT_SYMBOL vmlinux 0xf591753d nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xf5a20ed2 __genradix_prealloc +EXPORT_SYMBOL vmlinux 0xf5add0ae ns_capable_setid +EXPORT_SYMBOL vmlinux 0xf5b4fdd6 of_find_node_with_property +EXPORT_SYMBOL vmlinux 0xf5e7ea40 ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0xf6037e49 acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0xf6120a75 dqput +EXPORT_SYMBOL vmlinux 0xf61a2436 posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xf6249c4a end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0xf62c39fe ucc_slow_graceful_stop_tx +EXPORT_SYMBOL vmlinux 0xf643d104 hsiphash_4u32 +EXPORT_SYMBOL vmlinux 0xf646430b security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xf665f74f sock_load_diag_module +EXPORT_SYMBOL vmlinux 0xf673fcd9 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0xf68285c0 register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xf690a220 mark_page_accessed +EXPORT_SYMBOL vmlinux 0xf6ba80c8 mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0xf6c9dbe3 generic_delete_inode +EXPORT_SYMBOL vmlinux 0xf6d88822 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6f9d58d init_on_free +EXPORT_SYMBOL vmlinux 0xf6fc8791 __bitmap_xor +EXPORT_SYMBOL vmlinux 0xf7006f19 __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xf70a0156 vlan_vid_add +EXPORT_SYMBOL vmlinux 0xf72e5267 __blk_alloc_disk +EXPORT_SYMBOL vmlinux 0xf7370f56 system_state +EXPORT_SYMBOL vmlinux 0xf738d1be register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xf7407523 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0xf76843b5 qcom_scm_pas_supported +EXPORT_SYMBOL vmlinux 0xf76ece3d skb_vlan_pop +EXPORT_SYMBOL vmlinux 0xf77337a1 hdmi_audio_infoframe_check +EXPORT_SYMBOL vmlinux 0xf77555cd __memcpy_toio +EXPORT_SYMBOL vmlinux 0xf7784cd5 max8925_set_bits +EXPORT_SYMBOL vmlinux 0xf77981c4 __serio_register_driver +EXPORT_SYMBOL vmlinux 0xf77bf453 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xf7936675 fwnode_irq_get_byname +EXPORT_SYMBOL vmlinux 0xf798f8a2 genphy_check_and_restart_aneg +EXPORT_SYMBOL vmlinux 0xf7aaf255 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0xf7c48778 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0xf7d31de9 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0xf7da6e6f acpi_unload_table +EXPORT_SYMBOL vmlinux 0xf7de8d92 __ps2_command +EXPORT_SYMBOL vmlinux 0xf7ea6311 qman_p_poll_dqrr +EXPORT_SYMBOL vmlinux 0xf7ebc459 pmem_sector_size +EXPORT_SYMBOL vmlinux 0xf7ee0edc ipv4_specific +EXPORT_SYMBOL vmlinux 0xf7f05c17 fman_port_use_kg_hash +EXPORT_SYMBOL vmlinux 0xf7f4730d tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf812cff6 memscan +EXPORT_SYMBOL vmlinux 0xf821792f tcf_block_get +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82bbd90 proc_create_data +EXPORT_SYMBOL vmlinux 0xf82ec573 rb_prev +EXPORT_SYMBOL vmlinux 0xf837442d tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0xf84bd6ee bpf_stats_enabled_key +EXPORT_SYMBOL vmlinux 0xf84e7a7b mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0xf85133ec pnp_is_active +EXPORT_SYMBOL vmlinux 0xf866b00c tegra_io_pad_power_enable +EXPORT_SYMBOL vmlinux 0xf8747770 send_sig +EXPORT_SYMBOL vmlinux 0xf888ca21 sg_init_table +EXPORT_SYMBOL vmlinux 0xf8966be5 max8998_bulk_read +EXPORT_SYMBOL vmlinux 0xf8d07858 bitmap_from_arr32 +EXPORT_SYMBOL vmlinux 0xf8d2bc2c zstd_find_frame_compressed_size +EXPORT_SYMBOL vmlinux 0xf8d30c95 phy_ethtool_get_stats +EXPORT_SYMBOL vmlinux 0xf8d455b4 to_nd_btt +EXPORT_SYMBOL vmlinux 0xf8ea3aa6 mipi_dsi_set_maximum_return_packet_size +EXPORT_SYMBOL vmlinux 0xf8f61ebc wake_up_var +EXPORT_SYMBOL vmlinux 0xf91b89ab fman_sp_build_buffer_struct +EXPORT_SYMBOL vmlinux 0xf920ae8a genl_notify +EXPORT_SYMBOL vmlinux 0xf93aae46 __arm_smccc_smc +EXPORT_SYMBOL vmlinux 0xf93fd09c fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xf941f240 devm_devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0xf94e9117 mipi_dsi_dcs_set_display_brightness +EXPORT_SYMBOL vmlinux 0xf95c619b acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0xf95eab4f netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0xf969e188 dma_fence_array_next +EXPORT_SYMBOL vmlinux 0xf9722676 twl_i2c_write +EXPORT_SYMBOL vmlinux 0xf9a3a774 vm_iomap_memory +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9ad0624 dev_close +EXPORT_SYMBOL vmlinux 0xf9b0de7c netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat +EXPORT_SYMBOL vmlinux 0xf9c0b714 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0xf9c34efd dma_find_channel +EXPORT_SYMBOL vmlinux 0xf9ca2eb4 kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0xfa042227 gnet_stats_add_basic +EXPORT_SYMBOL vmlinux 0xfa08c34a page_offline_end +EXPORT_SYMBOL vmlinux 0xfa14364d acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0xfa176c2b tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0xfa28371c __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xfa297415 acpi_map_pxm_to_node +EXPORT_SYMBOL vmlinux 0xfa2e5f32 i2c_smbus_pec +EXPORT_SYMBOL vmlinux 0xfa38dda6 rt_dst_clone +EXPORT_SYMBOL vmlinux 0xfa4a5d7f phy_stop +EXPORT_SYMBOL vmlinux 0xfa4e419a sk_ns_capable +EXPORT_SYMBOL vmlinux 0xfa599bb2 netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xfaaa12d0 _page_poisoning_enabled +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfac943b9 iptun_encaps +EXPORT_SYMBOL vmlinux 0xfad0513e request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0xfad6e650 skb_eth_push +EXPORT_SYMBOL vmlinux 0xfaebe7d1 tcp_connect +EXPORT_SYMBOL vmlinux 0xfaf7323c xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0xfafceb7f vme_bus_error_handler +EXPORT_SYMBOL vmlinux 0xfb16120f qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0xfb348fea fault_in_safe_writeable +EXPORT_SYMBOL vmlinux 0xfb384d37 kasprintf +EXPORT_SYMBOL vmlinux 0xfb56ba94 devm_devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0xfb5b42e1 remap_pfn_range +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb9a7d24 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0xfba7ddd2 match_u64 +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbad3cf0 scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0xfbb8a761 strscpy_pad +EXPORT_SYMBOL vmlinux 0xfbc4f89e io_schedule_timeout +EXPORT_SYMBOL vmlinux 0xfbe45d5c kmem_cache_create +EXPORT_SYMBOL vmlinux 0xfbe4b175 qman_create_cgr +EXPORT_SYMBOL vmlinux 0xfbe62dc3 disk_stack_limits +EXPORT_SYMBOL vmlinux 0xfbe8ee28 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0xfbed7d47 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xfbeeb249 seq_vprintf +EXPORT_SYMBOL vmlinux 0xfbfc3bca kthread_create_on_cpu +EXPORT_SYMBOL vmlinux 0xfc06c580 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0xfc1859ec blk_mq_start_request +EXPORT_SYMBOL vmlinux 0xfc22a2dc pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xfc2b601a skb_copy_bits +EXPORT_SYMBOL vmlinux 0xfc336d2e __wake_up_bit +EXPORT_SYMBOL vmlinux 0xfc33749f tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0xfc3d1f1a xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0xfc40fa71 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xfc4152fc ec_read +EXPORT_SYMBOL vmlinux 0xfc421e79 gnet_stats_add_queue +EXPORT_SYMBOL vmlinux 0xfc42cb12 dev_activate +EXPORT_SYMBOL vmlinux 0xfc52abc7 qcom_scm_pas_shutdown +EXPORT_SYMBOL vmlinux 0xfc56baea pci_dev_driver +EXPORT_SYMBOL vmlinux 0xfc5ed798 inet_addr_type +EXPORT_SYMBOL vmlinux 0xfc881b89 fman_port_get_hash_result_offset +EXPORT_SYMBOL vmlinux 0xfc8b97d0 phy_loopback +EXPORT_SYMBOL vmlinux 0xfc9ed8c3 qcom_scm_ice_available +EXPORT_SYMBOL vmlinux 0xfcbb9cd1 rproc_alloc +EXPORT_SYMBOL vmlinux 0xfcc21523 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xfcce2f7d ucc_fast_enable +EXPORT_SYMBOL vmlinux 0xfccf8e15 input_copy_abs +EXPORT_SYMBOL vmlinux 0xfcd1819a hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcf832e7 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0xfd0da08f inet6_protos +EXPORT_SYMBOL vmlinux 0xfd30fcb9 skb_queue_purge +EXPORT_SYMBOL vmlinux 0xfd744fb0 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0xfd7b610a peernet2id +EXPORT_SYMBOL vmlinux 0xfdb42b87 udp_seq_ops +EXPORT_SYMBOL vmlinux 0xfdc736b2 poll_initwait +EXPORT_SYMBOL vmlinux 0xfdcb33d1 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0xfdcb4ed3 acpi_os_get_line +EXPORT_SYMBOL vmlinux 0xfdcc8a0e fb_find_best_display +EXPORT_SYMBOL vmlinux 0xfdd79d43 flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0xfded3913 __genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xfe029963 unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xfe1d2e94 key_create_or_update +EXPORT_SYMBOL vmlinux 0xfe1eef63 alloc_fddidev +EXPORT_SYMBOL vmlinux 0xfe2691fc configfs_register_default_group +EXPORT_SYMBOL vmlinux 0xfe2b225f vme_master_request +EXPORT_SYMBOL vmlinux 0xfe431a7d __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xfe487975 init_wait_entry +EXPORT_SYMBOL vmlinux 0xfe561383 gro_cells_receive +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe781b20 vme_irq_generate +EXPORT_SYMBOL vmlinux 0xfe79ceaa flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0xfe8c61f0 _raw_read_lock +EXPORT_SYMBOL vmlinux 0xfe916dc6 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0xfe927075 unregister_md_personality +EXPORT_SYMBOL vmlinux 0xfe9487f9 tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0xfe9ebbbb acpi_osi_is_win8 +EXPORT_SYMBOL vmlinux 0xfe9f01a2 file_ns_capable +EXPORT_SYMBOL vmlinux 0xfeb14f0f __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xfeb443c3 mmput_async +EXPORT_SYMBOL vmlinux 0xfeb5d0aa verify_spi_info +EXPORT_SYMBOL vmlinux 0xfec8bd0e scsi_host_get +EXPORT_SYMBOL vmlinux 0xfec9388c xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0xfeceb97c of_find_device_by_node +EXPORT_SYMBOL vmlinux 0xfedcdb60 seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0xfee3149f mipi_dsi_dcs_set_tear_scanline +EXPORT_SYMBOL vmlinux 0xfee32c16 vme_dma_request +EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfef216eb _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0xfefcb98e vme_dma_vme_attribute +EXPORT_SYMBOL vmlinux 0xff05592a seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0xff094c25 __post_watch_notification +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff201f34 proc_create_single_data +EXPORT_SYMBOL vmlinux 0xff282521 rfkill_register +EXPORT_SYMBOL vmlinux 0xff28933a dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0xff32e409 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0xff3cf235 vme_register_driver +EXPORT_SYMBOL vmlinux 0xff45df56 dev_uc_flush +EXPORT_SYMBOL vmlinux 0xff527eb6 skb_eth_gso_segment +EXPORT_SYMBOL vmlinux 0xff5674e8 devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff7e7f8d kryo_l2_set_indirect_reg +EXPORT_SYMBOL vmlinux 0xff7f6496 fget +EXPORT_SYMBOL vmlinux 0xff87cd18 lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0xff9975b5 simple_dir_operations +EXPORT_SYMBOL vmlinux 0xffb7c514 ida_free +EXPORT_SYMBOL vmlinux 0xffbc31f6 of_platform_device_create +EXPORT_SYMBOL vmlinux 0xffc2dd81 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0xffc4f200 zstd_compress_stream +EXPORT_SYMBOL vmlinux 0xffc9b26f kmem_cache_alloc_lru +EXPORT_SYMBOL vmlinux 0xffcc4ec7 tcp_bpf_bypass_getsockopt +EXPORT_SYMBOL vmlinux 0xffe09498 __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0xffe2a7e3 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0xffe3a019 skb_ext_add +EXPORT_SYMBOL vmlinux 0xffeedf6a delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0xfffa4690 drm_firmware_drivers_only +EXPORT_SYMBOL_GPL crypto/af_alg 0x02fb9a6b af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x1067b7bc af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0x16e11850 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x1b68f367 af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0x1dc71010 af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x602fb0e0 af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0x656c77f9 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x65de4976 af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x6e72d061 af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/af_alg 0x92986536 af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0x9470c5b6 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x95720b64 af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0xa00f194c af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0xb9b147f8 af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xc2759398 af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0xc7aca6c4 af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0xda1ce289 af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0xf7530a3c af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x2e8feab4 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x4eba2423 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xe0fb0d57 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x91743bb2 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xbb7e1758 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x0c2fc054 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x77ab2a42 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xa275cd10 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xfe8f87ba async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x2fce4a45 async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x375c100a async_xor_val_offs +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x50501015 async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x68bed4f6 async_xor_offs +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0xfa80f6f6 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x5023f5c0 cast5_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xef81a4af __cast5_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x3dbae082 __cast6_decrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x45079b8c cast6_setkey +EXPORT_SYMBOL_GPL crypto/cast6_generic 0xcfce512f __cast6_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0xd76a5716 __cast6_setkey +EXPORT_SYMBOL_GPL crypto/cast_common 0x5609ce41 cast_s2 +EXPORT_SYMBOL_GPL crypto/cast_common 0x5b17be06 cast_s4 +EXPORT_SYMBOL_GPL crypto/cast_common 0xb9cba57f cast_s3 +EXPORT_SYMBOL_GPL crypto/cast_common 0xbd3e7542 cast_s1 +EXPORT_SYMBOL_GPL crypto/cryptd 0x0ed83e1d cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x1046b701 cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x1c66b1bd cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x20de1251 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x260ef051 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x4faed0cf cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x50aadc5c cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x5310c9f6 cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x6aa3f633 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x8193e26f cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x94ba286e cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0xb9a32185 cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xcc7f31db cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x0eae7585 crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x13b848b9 crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x1cb1039a crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x2b3b45ac crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x53bbb7de crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x5a41c909 crypto_finalize_hash_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x5f24641b crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x6159630f crypto_finalize_kpp_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x69328366 crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x843f4c7e crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x866b4e04 crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x89d79b7e crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x91d2d148 crypto_transfer_kpp_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x97d171e0 crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xf4b11b25 crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x33b866ce crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7475be8e crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0xb230d2ec crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x4eb4c55e __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xbcc074f3 __serpent_decrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xd4c9681a __serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xdc4ea09a serpent_setkey +EXPORT_SYMBOL_GPL crypto/sm3 0xa98edad1 sm3_update +EXPORT_SYMBOL_GPL crypto/sm3 0xf04338f9 sm3_final +EXPORT_SYMBOL_GPL crypto/sm3_generic 0x0bddca87 sm3_zero_message_hash +EXPORT_SYMBOL_GPL crypto/sm4 0x24e254e8 sm4_expandkey +EXPORT_SYMBOL_GPL crypto/sm4 0xfa81970e sm4_crypt_block +EXPORT_SYMBOL_GPL crypto/twofish_common 0xadedbd12 twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe22b7787 __twofish_setkey +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x018a9a5b spk_var_store +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x1865e1ce spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x1e39eb14 synth_putws +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x205b6ff9 spk_ttyio_synth_immediate +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x28016535 spk_synth_flush +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x2f930803 spk_ttyio_release +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x43659940 spk_ttyio_ops +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x466f5eb7 synth_putwc +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x568bd1ff synth_add +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x5832e1d0 spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x76d40046 synth_buffer_skip_nonlatin1 +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7cd34c92 spk_var_show +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x84dad068 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x88288eeb spk_synth_get_index +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x8c82dfca synth_request_region +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x8fe0db01 synth_putwc_s +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x9be62281 synth_remove +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x9dd099c6 spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xa302f126 spk_do_catch_up_unicode +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xaadb0612 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xb734cb9d speakup_event +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xbb9764a5 synth_current +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xc319c604 synth_putws_s +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xc6a06d16 spk_get_var +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xd8fd86cf synth_release_region +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xd93829dd speakup_info +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xe194d0ef synth_printf +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xead4097b spk_ttyio_synth_probe +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x0fb0bd04 acpi_nfit_ctl +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x1881f1e9 __acpi_nfit_notify +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x33bb5f5f __acpi_nvdimm_notify +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x4639bcda acpi_nfit_shutdown +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x499bbf57 nfit_get_smbios_id +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0xc3967826 acpi_nfit_init +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0xfadb5619 acpi_nfit_desc_init +EXPORT_SYMBOL_GPL drivers/acpi/platform_profile 0x67927a0d platform_profile_notify +EXPORT_SYMBOL_GPL drivers/acpi/platform_profile 0xbfe36436 platform_profile_remove +EXPORT_SYMBOL_GPL drivers/acpi/platform_profile 0xcac33cd4 platform_profile_register +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xa07382dc __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0x809f45e7 sis_info133_for_sata +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x09917359 charlcd_poke +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x6fd9cc4a charlcd_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x8b45326c charlcd_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xd3e29970 charlcd_backlight +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xf3304696 charlcd_free +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xf883c540 charlcd_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x07b26ecc hd44780_common_gotoxy +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x1aa688fd hd44780_common_lines +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x23159a5b hd44780_common_clear_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x30e85287 hd44780_common_shift_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x36dc00a2 hd44780_common_print +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x3c4c183f hd44780_common_home +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x489c89e8 hd44780_common_redefine_char +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x64415593 hd44780_common_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x79e8e259 hd44780_common_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x8585e5fd hd44780_common_blink +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x8d4f3fa4 hd44780_common_init_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0xa22afdaa hd44780_common_cursor +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0xc369090d hd44780_common_shift_cursor +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0xf360d788 hd44780_common_fontsize +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x14102f23 ks0108_displaystate +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x48a70518 ks0108_writedata +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x4f506333 ks0108_startline +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x6edae968 ks0108_isinited +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xbf4774db ks0108_writecontrol +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xedde6df2 ks0108_page +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xfee8ef7b ks0108_address +EXPORT_SYMBOL_GPL drivers/auxdisplay/line-display 0x42109eea linedisp_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/line-display 0xc22e0802 linedisp_register +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-ac97 0x038d9c32 __devm_regmap_init_ac97 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-ac97 0x0ca079ee regmap_ac97_default_volatile +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-ac97 0xb1ca4fd5 __regmap_init_ac97 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-i3c 0x3266fbb9 __devm_regmap_init_i3c +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x8bb35297 __regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0xfc120286 __devm_regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x3b7c2fc1 __devm_regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x7c22470a __regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw-mbq 0x50b52d87 __regmap_init_sdw_mbq +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw-mbq 0x7bbd7af1 __devm_regmap_init_sdw_mbq +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0xaae37bff __regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0xcbf17e66 __devm_regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spi-avmm 0x69515813 __devm_regmap_init_spi_avmm +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spi-avmm 0xf0b76ce5 __regmap_init_spi_avmm +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x39497821 __regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x8ad5b0a8 __devm_regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x9638e9ec __regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xb8715e70 __devm_regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x3bc66259 __devm_regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0xb1446233 __regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x10273060 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1d06cb5c bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x1ed22cd7 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x212e0216 bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x2bae0562 bcma_host_pci_up +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x35475923 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3cdf8bf6 bcma_chipco_gpio_out +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x419d5206 bcma_find_core_unit +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x4304925d bcma_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x555f65e6 bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x5f38ac1b bcma_host_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x62fc70f1 bcma_host_pci_down +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x71e8857e bcma_core_pci_power_save +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x74f203ab bcma_chipco_get_alp_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x94331f36 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x9705c338 bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xaf1a7cee bcma_chipco_gpio_outen +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xbd36f480 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc88bcff9 bcma_chipco_b_mii_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xcc1f3672 bcma_chipco_pll_read +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xdbe434fb bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe7c3d917 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xeb702e3f bcma_pmu_get_bus_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf05def04 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x2174f0ef btbcm_setup_patchram +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x28d9148b btbcm_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x31849342 btbcm_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x46a4815f btbcm_write_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x6ba26e8f btbcm_finalize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x8887d880 btbcm_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xa1f88279 btbcm_read_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xadbd82f6 btbcm_setup_apple +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x096609c8 btintel_send_intel_reset +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x27c823d6 btintel_set_event_mask_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x2da4a89a btintel_bootup +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x37fc9d29 btintel_configure_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x3f050473 btintel_enter_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x5a608643 btintel_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x5b84665f btintel_regmap_init +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x67a2e0ae btintel_version_info +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x6e511d70 btintel_read_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x72f7f79a btintel_exit_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x9d4f8e5e btintel_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xa45138ad btintel_load_ddc_config +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xb244b979 btintel_set_diag +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xbe247a7f btintel_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xd559f083 btintel_read_boot_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xd69558f3 btintel_secure_send_result +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xdd0a0881 btintel_set_quality_report +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x279aafed btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x43887eca btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x445d8aa0 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x5ca7576c btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x6aeb91eb btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xb00f46b0 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd1ff25d9 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xd962b134 btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xef9e9a81 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xf5c40625 btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xf6b173da btmrvl_pscan_window_reporting +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x10e69e39 btmtk_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x641f8b16 btmtk_setup_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0xeefbe6e7 btmtk_setup_firmware_79xx +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x3288060d qca_send_pre_shutdown_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x62676a3b qca_set_bdaddr_rome +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x72541506 qca_read_soc_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x8ad5984e qca_uart_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xb8591702 qca_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x37d886c8 btrtl_shutdown_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x80b14a75 btrtl_setup_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xaf78f260 btrtl_free +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xb8b62f01 btrtl_get_uart_settings +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xc64a6030 btrtl_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xc673dfb4 btrtl_set_quirks +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xfa110883 btrtl_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x26d3c382 hci_uart_tx_wakeup +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x5cc8ea5c h4_recv_buf +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x6751b03f hci_uart_register_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xf62535fa hci_uart_unregister_device +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x2f0e3df8 mhi_ep_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x4954d94b mhi_ep_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x54607af4 mhi_ep_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x74335f0f __mhi_ep_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x74d8d63d mhi_ep_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xc234ebe1 mhi_ep_queue_is_empty +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xd9d56054 mhi_ep_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xf11f9709 mhi_ep_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x0cdbc258 __mhi_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x13123aba mhi_async_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x17dec1de mhi_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x1c3062dd mhi_queue_is_full +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x2ba953f9 mhi_pm_resume +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x329d517f mhi_queue_dma +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x3d3e96b9 mhi_soc_reset +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x53634e8e mhi_get_mhi_state +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x643b6061 mhi_device_get +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x64e59575 mhi_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x6b3e19a9 mhi_device_put +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7296c572 mhi_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x75e2436e mhi_poll +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x77156b4c mhi_get_free_desc_count +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x78b6bfc7 mhi_get_exec_env +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7df3b68e mhi_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x819ad009 mhi_pm_suspend +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x8c910307 mhi_pm_resume_force +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x8de141bf mhi_queue_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x8e0b94e9 mhi_download_rddm_image +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x8e9e198a mhi_prepare_for_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x9049681e mhi_unprepare_from_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x9ddb5b6d mhi_prepare_for_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xc8d0a423 mhi_device_get_sync +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xd182f580 mhi_free_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xd4b32ba6 mhi_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xd4fcedd5 mhi_alloc_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xe29bb14c mhi_unprepare_after_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xe92a75ca mhi_force_rddm_mode +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xfccf177b mhi_prepare_for_transfer_autoqueue +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xffa59ce0 mhi_notify +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x3f2f393b moxtet_device_write +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x45b31212 moxtet_device_written +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x5685ff00 __moxtet_register_driver +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0xc1c8f37c moxtet_device_read +EXPORT_SYMBOL_GPL drivers/bus/sunxi-rsb 0x530b2170 sunxi_rsb_driver_register +EXPORT_SYMBOL_GPL drivers/bus/sunxi-rsb 0xdc8be618 __devm_regmap_init_sunxi_rsb +EXPORT_SYMBOL_GPL drivers/clk/meson/clk-phase 0x2660ecdc meson_clk_triphase_ops +EXPORT_SYMBOL_GPL drivers/clk/meson/clk-phase 0x6c845129 meson_sclk_ws_inv_ops +EXPORT_SYMBOL_GPL drivers/clk/meson/clk-phase 0x87091b6d meson_clk_phase_ops +EXPORT_SYMBOL_GPL drivers/clk/meson/sclk-div 0x3c28a952 meson_sclk_div_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0000139e clk_alpha_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0d678ab9 qcom_reset_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0e5f8a53 clk_pll_sr2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0e98da3d clk_pll_vote_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x17d44071 clk_alpha_pll_hwfsm_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x183be5e6 clk_alpha_pll_agera_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x1a142e7c clk_alpha_pll_fixed_trion_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x1cbd386f clk_rcg_floor_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x20796d46 clk_trion_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x24a7abf5 clk_zonda_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x272f3204 clk_alpha_pll_fixed_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x29c40ae0 clk_alpha_pll_fixed_lucid_evo_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x2a9c7452 clk_rcg_lcc_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x2b0d957d clk_pixel_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x2cae96b3 clk_regmap_div_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x30bbf987 clk_rcg2_shared_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x310b6341 clk_regmap_mux_closest_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x3747af55 clk_rcg_bypass2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x38db4860 clk_disable_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x395868a1 qcom_find_freq_floor +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x3dfc2dc5 clk_branch_simple_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x405d394a clk_alpha_pll_postdiv_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x418e9cfd clk_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x4b0ed6da clk_ops_hfpll +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x5111f2ad clk_rcg2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x520df3b7 clk_rcg_esc_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x57172323 clk_byte_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x578eb1d6 devm_clk_register_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x5a6ae327 clk_alpha_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x5e6abb22 mux_div_set_src_div +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x615dbb77 clk_branch2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x618644ff qcom_cc_register_rcg_dfs +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x6302a81c qcom_cc_register_sleep_clk +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x631939a9 clk_branch2_aon_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x63ee9aa4 clk_alpha_pll_fixed_fabia_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x66922845 clk_branch_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x6af41b8b qcom_pll_set_fsm_mode +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x6f2dc4e4 qcom_cc_probe +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7019378d clk_pll_configure_sr_hpm_lp +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x766e9f87 clk_regmap_div_ro_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x787e8234 qcom_find_freq +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x78b81ea0 clk_rcg2_floor_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7a7d500f clk_fabia_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7bab6a0e qcom_cc_register_board_clk +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7e66fd9e clk_regmap_mux_div_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x818f32fd qcom_find_cfg_index +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x866d0d4a clk_enable_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x8b15e52e gdsc_gx_do_nothing_enable +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x8b55eac4 clk_dyn_rcg_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x8b8647a8 clk_alpha_pll_postdiv_lucid_evo_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x91c41c9f clk_edp_pixel_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x97488818 clk_rcg_pixel_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x97aee5db clk_is_enabled_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9c8854a1 clk_alpha_pll_lucid_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9d909edd clk_gfx3d_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9f1bf2e0 clk_alpha_pll_trion_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9f241baa clk_rcg_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9f65d71b qcom_find_src_index +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xaa403ee8 clk_alpha_pll_huayra_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xac2e73bf clk_alpha_pll_regs +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xadc2751b clk_alpha_pll_postdiv_fabia_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xba961aa7 clk_dp_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xc150d434 clk_alpha_pll_postdiv_ro_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xc2e1a6fa qcom_cc_map +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xc5bdfa11 clk_byte2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xc82bd181 clk_agera_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xcf422970 clk_rcg_bypass_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xd438c1c3 clk_alpha_pll_postdiv_trion_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xd7ab6782 clk_alpha_pll_postdiv_lucid_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xe6e14638 clk_alpha_pll_fabia_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xe816a036 clk_pll_configure_sr +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xeb3e134f qcom_cc_probe_by_index +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xee838fe0 qcom_cc_really_probe +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x00190c15 sprd_div_helper_round_rate +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x025783bd sprd_gate_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x105dc00c sprd_div_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x1311f6ff sprd_sc_gate_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x18d9f187 sprd_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x30a7b7ff sprd_mux_helper_get_parent +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x57f63ed8 sprd_clk_regmap_init +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x789b85c4 sprd_div_helper_set_rate +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x95664ced sprd_mux_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x9bffc3e8 sprd_mux_helper_set_parent +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0xa4346b52 sprd_pll_sc_gate_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0xe51e0b87 sprd_clk_probe +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0xeb6c8ab6 sprd_comp_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0xfb7c9167 sprd_div_helper_recalc_rate +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x0c4eb729 comedi_request_region +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x0c910c02 comedi_dio_insn_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x10cd7eae comedi_dev_get_from_minor +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x1b31434f __comedi_request_region +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x1df435ec comedi_buf_write_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x21102f87 range_0_32mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x258a412b comedi_handle_events +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2a7f3c12 comedi_alloc_devpriv +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4236eaaf range_4_20mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4773ccc1 comedi_buf_write_alloc +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4a83241f comedi_bytes_per_scan_cmd +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4c45cd2c comedi_event +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x50e4a184 comedi_inc_scan_progress +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x5cbabda3 comedi_buf_write_samples +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x6ddbfb61 comedi_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x706baefb comedi_bytes_per_scan +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x819d320f comedi_is_subdevice_running +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x85453001 comedi_nscans_left +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x966eebe6 comedi_buf_read_samples +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xa31a9582 comedi_check_chanlist +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xa78b812f comedi_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xa9eb9627 comedi_set_spriv_auto_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xae4e2386 comedi_buf_read_n_available +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xaf5866d3 comedi_buf_read_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xb679cebc range_0_20mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xbdbe75c6 range_unipolar2_5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xc18615f3 comedi_readback_insn_read +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xc947df6b comedi_alloc_spriv +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xcc6024c6 comedi_load_firmware +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xcf18b1c2 comedi_alloc_subdevices +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xcf63ac8f comedi_set_hw_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xd679aa47 comedi_dev_put +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xdb536ec2 comedi_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xdb8d09ce comedi_dio_update_state +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xeaebe617 comedi_timeout +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xeefe2ec8 comedi_alloc_subdev_readback +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xef03f255 comedi_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xf1a74daf comedi_buf_read_alloc +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xf266caff comedi_legacy_detach +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xff6fd9d5 comedi_nsamples_left +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x3b316093 comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x8afdc05d comedi_pci_enable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x8fceee03 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x9676e6f3 comedi_to_pci_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0xc517c4f7 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0xc61bad64 comedi_pci_disable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0xe1f8288b comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0xfba5da9c comedi_pci_detach +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x4749cb25 comedi_to_usb_interface +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x4feb5316 comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x6a85a04c comedi_to_usb_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x6f33ff6a comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x88f3879b comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0xd448275b comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/drivers/addi_watchdog 0x79f4a6cf addi_watchdog_reset +EXPORT_SYMBOL_GPL drivers/comedi/drivers/addi_watchdog 0xf5a8d902 addi_watchdog_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_dio200_common 0x94d38d61 amplc_dio200_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_dio200_common 0xe2298ce8 amplc_dio200_set_enhance +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_pc236_common 0xa5d14114 amplc_pc236_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x0094502b comedi_8254_subdevice_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x378067e0 comedi_8254_update_divisors +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x3b56e629 comedi_8254_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x40c34499 comedi_8254_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x45fdf957 comedi_8254_cascade_ns_to_timer +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x610aa7c9 comedi_8254_set_mode +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x792855ab comedi_8254_status +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x7ac6df86 comedi_8254_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xbb870b93 comedi_8254_load +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xcb905c4d comedi_8254_set_busy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xe6f609f1 comedi_8254_ns_to_timer +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xeefc9843 comedi_8254_pacer_enable +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xff39047c comedi_8254_mm_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0x2d12b7fc subdev_8255_mm_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0x323a0979 subdev_8255_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0x3851155c subdev_8255_regbase +EXPORT_SYMBOL_GPL drivers/comedi/drivers/das08 0xbfefe7b4 das08_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x137b60b4 mite_ack_linkc +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x13820131 mite_request_channel_in_range +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x17c32b77 mite_bytes_in_transit +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x32965fc3 mite_dma_arm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x39b836c9 mite_init_ring_descriptors +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x3e06ac6c mite_release_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x441a198d mite_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x47bbb421 mite_request_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x542cc364 mite_dma_disarm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x59ebb329 mite_sync_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xabd62b12 mite_alloc_ring +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xb8b2522c mite_done +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xc021ce80 mite_detach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xc4fe36e6 mite_free_ring +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xd5130951 mite_prep_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xfcf57b0b mite_buf_change +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_common 0x55b8c648 labpc_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_common 0x978388e1 labpc_common_detach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x076bc308 ni_find_route_source +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x0921123e ni_lookup_route_register +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x1facf7f8 ni_is_cmd_dest +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x64443d67 ni_get_valid_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x6c18c54e ni_count_valid_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x85e75c94 ni_assign_device_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x863a306d ni_sort_device_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x8ab47ba4 ni_route_set_has_source +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x8f0f0901 ni_find_route_set +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0xb3e302a3 ni_route_to_register +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x066b46da ni_tio_arm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x06f3f51b ni_tio_get_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x12f66c33 ni_tio_insn_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x3e48f8d8 ni_tio_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x593ae9b2 ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x5d88e702 ni_tio_insn_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x6b5acfa1 ni_tio_set_bits +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x7e5568a5 ni_tio_unset_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x9a557e46 ni_tio_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xa2fb7ac3 ni_tio_get_soft_copy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xb976c6af ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xc1efafef ni_tio_set_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xc46cef30 ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xc6a9fc21 ni_tio_set_gate_src_raw +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xd6491b9b ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xd9ce7f19 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x13ac600b ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x79708a17 ni_tio_acknowledge +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x7f42fb2b ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x8ee96971 ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x99580333 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0xfac9e7ed ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x044e9b97 comedi_dio_bitfield2 +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x47c6bc8a comedi_dio_get_config +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x5a346099 comedi_open +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x74805538 comedi_find_subdevice_by_type +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x870d5b01 comedi_dio_config +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x9eba6b4a comedi_get_n_channels +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0xd5f8b4e8 comedi_close +EXPORT_SYMBOL_GPL drivers/counter/counter 0x039f26cf counter_priv +EXPORT_SYMBOL_GPL drivers/counter/counter 0x3715b6dc counter_add +EXPORT_SYMBOL_GPL drivers/counter/counter 0x404d96aa devm_counter_alloc +EXPORT_SYMBOL_GPL drivers/counter/counter 0x42818214 counter_push_event +EXPORT_SYMBOL_GPL drivers/counter/counter 0x6c9ab281 counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0x79229383 counter_alloc +EXPORT_SYMBOL_GPL drivers/counter/counter 0x84d1ec6d counter_put +EXPORT_SYMBOL_GPL drivers/counter/counter 0xa8066915 devm_counter_add +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x04773b60 ccp_present +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x24d8aabf ccp_enqueue_cmd +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x3a1a3979 ccp_version +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x07bee26c hisi_qm_free_qps +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x0f4c469f hisi_qm_suspend +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x17b89d52 hisi_qm_reset_prepare +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x2d96d0d9 hisi_qm_alg_register +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x30c4a50c hisi_qm_start +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x4073772d hisi_qm_diff_regs_uninit +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x4209f37d hisi_qm_debug_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x4285cffc hisi_qm_alloc_qps_node +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x4bed2ee9 hisi_acc_free_sgl_pool +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x4c5b50d6 hisi_qm_dev_slot_reset +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x4fd4e3be hisi_qm_start_qp +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x50011399 hisi_qm_wait_task_finish +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x5274b933 hisi_qm_regs_dump +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x590e336a hisi_qm_dev_err_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x6208bfa2 hisi_qm_debug_regs_clear +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x737408e6 hisi_qm_resume +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x82689819 hisi_qm_uninit +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x92150b75 hisi_qm_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x95e16752 hisi_acc_sg_buf_unmap +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x9b4c00af hisi_qm_reset_done +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x9bcd05cd hisi_qm_pm_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x9c1f40d0 hisi_qm_mb +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x9cea423b hisi_qm_pm_uninit +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xa49c615f hisi_qm_stop +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xa89fb156 hisi_qm_acc_diff_regs_dump +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xaebbd9bc hisi_qm_stop_qp +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xb2163f4f hisi_qm_dev_err_uninit +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xbb5dd547 hisi_qm_wait_mb_ready +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xc238d1fd hisi_qm_sriov_configure +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xc38117c0 hisi_qm_sriov_disable +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xc6c6856a hisi_qm_dev_err_detected +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xc854d765 hisi_qm_get_dfx_access +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xcbc49179 hisi_qm_dev_shutdown +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xce52e0da hisi_qp_send +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xd093aea1 hisi_qm_alg_unregister +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xd4fed61a hisi_acc_sg_buf_map_to_hw_sgl +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xda594f15 hisi_acc_create_sgl_pool +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xe4290bf6 hisi_qm_sriov_enable +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xee42aba0 hisi_qm_diff_regs_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xf2f04c87 hisi_qm_put_dfx_access +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hpre/hisi_hpre 0x923158a9 hisi_hpre_get_pf_driver +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/sec2/hisi_sec2 0xe9a8fd79 hisi_sec_get_pf_driver +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/zip/hisi_zip 0x395ff9c8 hisi_zip_get_pf_driver +EXPORT_SYMBOL_GPL drivers/crypto/marvell/octeontx/octeontx-cpt 0x32e43048 otx_cpt_uc_supports_eng_type +EXPORT_SYMBOL_GPL drivers/crypto/marvell/octeontx/octeontx-cpt 0xf6a18e5d otx_cpt_eng_grp_has_eng_type +EXPORT_SYMBOL_GPL drivers/dax/device_dax 0x9d567c28 dev_dax_probe +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x11128525 dw_edma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0xe88a327e dw_edma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x3f538575 dw_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x3f783db7 do_dw_dma_disable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x486d669b dw_dma_acpi_controller_register +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x5daf9754 idma32_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x73a61cd7 dw_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x92e9bd2c do_dw_dma_enable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xb53b687b idma32_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xb5cb723d dw_dma_filter +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xf5cde086 dw_dma_acpi_controller_free +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x29a5c222 dpdmai_get_rx_queue +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x54209dc3 dpdmai_reset +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x5aaf2490 dpdmai_get_tx_queue +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x5f8e3bf9 dpdmai_close +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x72e94d8a dpdmai_set_rx_queue +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x950a0c17 dpdmai_get_attributes +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xb12a0e5e dpdmai_open +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xb931f790 dpdmai_disable +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xd6106a41 dpdmai_enable +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xea8fc294 dpdmai_destroy +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x030ea183 fsl_edma_free_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x13ab23a0 fsl_edma_prep_slave_sg +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x377170bc fsl_edma_issue_pending +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x3e6c1723 fsl_edma_tx_status +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x45826647 fsl_edma_prep_dma_cyclic +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x58c19aac fsl_edma_setup_regs +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x748e9594 fsl_edma_xfer_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x88070339 fsl_edma_chan_mux +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x8c4a70c0 fsl_edma_free_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x8de99f9e fsl_edma_slave_config +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x96ec3804 fsl_edma_cleanup_vchan +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x97e37003 fsl_edma_alloc_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xafd012ec fsl_edma_terminate_all +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xb5ea44fa fsl_edma_resume +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xcd632ec0 fsl_edma_pause +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xd1498b05 fsl_edma_prep_memcpy +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xda0954a7 fsl_edma_disable_request +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x9f8240b2 hidma_mgmt_init_sys +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0xbc40a9ad hidma_mgmt_setup +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xabb5547d fw_request_get_timestamp +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xc0bdec22 fw_card_read_cycle_time +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xe86fb5c7 fw_card_release +EXPORT_SYMBOL_GPL drivers/firmware/arm_ffa/ffa-module 0x2f4a811e ffa_dev_ops_get +EXPORT_SYMBOL_GPL drivers/firmware/arm_ffa/ffa-module 0x5e08e110 ffa_driver_register +EXPORT_SYMBOL_GPL drivers/firmware/arm_ffa/ffa-module 0x93c175cc ffa_device_unregister +EXPORT_SYMBOL_GPL drivers/firmware/arm_ffa/ffa-module 0xbba1e222 ffa_driver_unregister +EXPORT_SYMBOL_GPL drivers/firmware/arm_ffa/ffa-module 0xca959507 ffa_bus_type +EXPORT_SYMBOL_GPL drivers/firmware/arm_ffa/ffa-module 0xf4793c11 ffa_device_register +EXPORT_SYMBOL_GPL drivers/firmware/arm_scpi 0x2b240ebd get_scpi_ops +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x0c8ae140 cs_dsp_coeff_write_acked_control +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x0f229ba8 cs_dsp_remove +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x10158d47 cs_dsp_halo_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x144d6986 cs_dsp_mem_region_name +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x1f9dd1e9 cs_dsp_adsp2_bus_error +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x21f9b741 cs_dsp_get_ctl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x24adabf2 cs_dsp_init_debugfs +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x3463af91 cs_dsp_run +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x466b0577 cs_dsp_coeff_write_ctrl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x4e5562f8 cs_dsp_remove_padding +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x50cb44bc cs_dsp_read_data_word +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x5af37882 cs_dsp_read_raw_data_block +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x971ea60e cs_dsp_adsp1_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xb35361e9 cs_dsp_adsp1_power_down +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xb3e44b78 cs_dsp_adsp1_power_up +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xb5b17925 cs_dsp_power_down +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xbffa3563 cs_dsp_halo_wdt_expire +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xc621175b cs_dsp_write_data_word +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xc62cf274 cs_dsp_cleanup_debugfs +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xd1bd746c cs_dsp_stop +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xddd993fd cs_dsp_coeff_read_ctrl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xe0d4d293 cs_dsp_halo_bus_error +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xe4ec2d31 cs_dsp_power_up +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xe9ad2bfc cs_dsp_adsp2_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xf11896c4 cs_dsp_find_alg_region +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xfe758caa cs_dsp_set_dspclk +EXPORT_SYMBOL_GPL drivers/firmware/mtk-adsp-ipc 0xa302b11d mtk_adsp_ipc_send +EXPORT_SYMBOL_GPL drivers/firmware/stratix10-svc 0x0c9d1655 stratix10_svc_request_channel_byname +EXPORT_SYMBOL_GPL drivers/firmware/stratix10-svc 0x0e7b7015 stratix10_svc_done +EXPORT_SYMBOL_GPL drivers/firmware/stratix10-svc 0x41d5ad1c stratix10_svc_allocate_memory +EXPORT_SYMBOL_GPL drivers/firmware/stratix10-svc 0x50f5368a stratix10_svc_free_channel +EXPORT_SYMBOL_GPL drivers/firmware/stratix10-svc 0x595b630e stratix10_svc_free_memory +EXPORT_SYMBOL_GPL drivers/firmware/stratix10-svc 0xd3df684d stratix10_svc_send +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0x09db86de alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x1128a9a8 dfl_fpga_set_irq_triggers +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x1557c940 dfl_fpga_port_ops_add +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x1856ddbd dfl_fpga_dev_ops_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x2b36a854 dfl_fpga_port_ops_put +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x305f44bf dfl_fpga_dev_feature_uinit +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x50d14b55 dfl_fpga_feature_devs_enumerate +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x571c300b dfl_fpga_check_port_id +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x5b5291ef dfl_fpga_port_ops_get +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x659e4251 dfl_fpga_enum_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7092900e dfl_fpga_dev_ops_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x70d102f9 dfl_fpga_dev_feature_init +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x71d2621b dfl_fpga_cdev_config_ports_pf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x92312564 dfl_fpga_enum_info_free +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x9909dd88 dfl_fpga_feature_devs_remove +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xb3f33a93 dfl_fpga_enum_info_add_irq +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xc26cceb9 dfl_fpga_cdev_assign_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xd0944102 dfl_feature_ioctl_set_irq +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xd3aa88e1 __dfl_fpga_cdev_find_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xd707e3db dfl_fpga_cdev_release_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xda6e7b6c dfl_feature_ioctl_get_num_irqs +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xdd01077c dfl_fpga_port_ops_del +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xe61abfc0 dfl_fpga_enum_info_add_dfl +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xfdbdb24c dfl_fpga_cdev_config_ports_vf +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0633c4b9 fpga_bridges_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x07fdefeb fpga_bridge_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0b2b884c fpga_bridges_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2a2c10c9 fpga_bridge_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2c8167cf fpga_bridges_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x4389dcd1 fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x54eb585b fpga_bridge_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x5d88d392 of_fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x6166b7e6 fpga_bridge_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x7bfd13f8 fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xcfebd629 fpga_bridge_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xf69f6810 of_fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x2a97caf9 fpga_mgr_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x2f5aa28c fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x419b4d11 devm_fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x5ff83fa9 fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x62ceaf56 fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x91698561 fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x9d9887a0 fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xaf0944ba fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xd7c96c5a devm_fpga_mgr_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xe4e96421 fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xeaac5838 of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xf0c2888d fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xf4e178a8 fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x2428cc00 fpga_region_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x646a2bee fpga_region_class_find +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xba35046c fpga_region_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xc98b4ee3 fpga_region_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xe2e9a0ff fpga_region_program_fpga +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x25086b98 fsi_master_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x3a93847e fsi_slave_claim_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x4be6e4f7 fsi_cdev_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x5331cfa4 fsi_master_rescan +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x57760889 fsi_master_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x5a57d574 fsi_free_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x62c95a55 fsi_driver_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x74195f43 fsi_get_new_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x78060f23 fsi_slave_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x85ced37a fsi_driver_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xa59d0fa5 fsi_device_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xbf453f48 fsi_device_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xce22aee2 fsi_slave_release_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xd942f235 fsi_slave_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xdf974a11 fsi_bus_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-occ 0x183290cd fsi_occ_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0x0f00b15c sbefifo_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0xf072fcb0 sbefifo_parse_status +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x42129f5b gnss_insert_raw +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x4302e04b gnss_deregister_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x566a40cc gnss_register_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x76152f70 gnss_put_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xe14d97f6 gnss_allocate_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x49e94e8e gnss_serial_register +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x4b1513b2 gnss_serial_deregister +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x56fe8a63 gnss_serial_allocate +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x970fd032 gnss_serial_free +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xf33b09d9 gnss_serial_pm_ops +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x554d8370 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xf64603ff __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-regmap 0x496ce291 gpio_regmap_get_drvdata +EXPORT_SYMBOL_GPL drivers/gpio/gpio-regmap 0x84f1e4c2 devm_gpio_regmap_register +EXPORT_SYMBOL_GPL drivers/gpio/gpio-regmap 0xb7066570 gpio_regmap_unregister +EXPORT_SYMBOL_GPL drivers/gpio/gpio-regmap 0xdf81971b gpio_regmap_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x19f42b1d analogix_dp_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x2b3f6467 analogix_dp_suspend +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x3ee0dd60 anx_dp_aux_transfer +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x5734f24b analogix_dp_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x6004d0b5 analogix_dp_start_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x98bac5e5 analogix_dp_stop_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xb1e2df22 analogix_dp_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xbfefd976 analogix_dp_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xf36517dd analogix_dp_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x09340e05 dw_hdmi_set_channel_count +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x094f6fc5 dw_hdmi_phy_i2c_set_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x1461e227 dw_hdmi_set_channel_status +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x26d629cd dw_hdmi_phy_gen2_reset +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x2d1c0e80 dw_hdmi_setup_rx_sense +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x2fac9436 dw_hdmi_set_channel_allocation +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x316212a8 dw_hdmi_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x42926f4a dw_hdmi_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x4a9b174f dw_hdmi_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x5665b64f dw_hdmi_set_high_tmds_clock_ratio +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x56f72e25 dw_hdmi_set_sample_non_pcm +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x6712b5a7 dw_hdmi_phy_gen2_txpwron +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7d8a3aee dw_hdmi_phy_i2c_write +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x8af131cd dw_hdmi_set_plugged_cb +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x8dcd6f43 dw_hdmi_set_sample_rate +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x96f3e250 dw_hdmi_set_sample_width +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x9b44a60b dw_hdmi_phy_gen2_pddq +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xc59f9e6f dw_hdmi_phy_gen1_reset +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xc849d41f dw_hdmi_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xce27012a dw_hdmi_audio_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xd6968220 dw_hdmi_phy_setup_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xd8fe547b dw_hdmi_audio_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xdafa1790 dw_hdmi_phy_read_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xf2497267 dw_hdmi_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xf5922009 dw_hdmi_phy_update_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x0d667204 dw_mipi_dsi_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x41361ae4 dw_mipi_dsi_set_slave +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x42ac3b2e dw_mipi_dsi_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x620fa6b1 dw_mipi_dsi_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0xefaa47f0 dw_mipi_dsi_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_display_helper 0xb1ac73a1 drm_hdcp_check_ksvs_revoked +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x90fee6cf of_dp_aux_populate_ep_devices +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x977ce510 of_dp_aux_depopulate_ep_devices +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x9c29d61a dp_aux_dp_driver_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0xc96bad66 __dp_aux_dp_driver_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0xda7e075b devm_of_dp_aux_populate_ep_devices +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x022ed6c4 of_get_drm_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x15a6b94a drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x17931d06 drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x206b2000 drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x22cb247a drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x38293a8c drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x3f51722c drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x3fc1b90f drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x52120eee drm_of_lvds_get_data_mapping +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5c48ecbd drm_of_component_match_add +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x61f941c5 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x66cf2f64 drm_display_mode_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x761bd0fd drm_of_find_panel_or_bridge +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x8fdb08d6 drm_of_lvds_get_dual_link_pixel_order +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x9359224c drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa9f3162d drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xad885165 drm_bus_flags_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb4f3709b drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xbd830776 drm_of_encoder_active_endpoint +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd6669664 drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd93b528d of_get_drm_panel_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xec36be33 drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xfe9f72f3 drm_display_mode_to_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x039285cb drm_gem_cma_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x463f0d82 drm_gem_cma_free +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x6a3bf2bb drm_gem_cma_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x6ac27680 drm_fb_cma_get_gem_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x780fbd3a drm_gem_cma_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x7c3fd7d0 drm_gem_cma_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x8883455f drm_gem_cma_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xa14d1cd5 drm_gem_cma_dumb_create_internal +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xa6ea70e5 drm_fb_cma_sync_non_coherent +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xcdf0879d drm_gem_cma_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xd5ca6d7f drm_gem_cma_vmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xff5f8097 drm_fb_cma_get_gem_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x02ea3793 drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x1356ae7a drm_gem_fb_create_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x383874e1 drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x3fe64f9c drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x71291bcf drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x7a5fc6cc drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x8f1df3c5 drm_bridge_connector_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x96a41675 drm_gem_plane_helper_prepare_fb +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xa5a660e3 drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xf774f038 drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x7c73eba3 drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x94cd6e7a drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xa4420863 drm_gem_shmem_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xc51708a3 drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xce3669b1 drm_gem_shmem_free +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xeb3c1bc0 drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xeeaef46a drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xf4c6799f drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x2c73cfcf meson_venc_hdmi_venc_repeat +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x56662100 meson_venc_hdmi_mode_set +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x94a785f8 meson_venc_hdmi_supported_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xab5bee2f meson_venc_hdmi_supported_vic +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xb2dcb6b9 meson_vclk_vic_supported_freq +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xe69f33c0 meson_vclk_dmt_supported_freq +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xf5ee5ea3 meson_vclk_setup +EXPORT_SYMBOL_GPL drivers/gpu/drm/panel/panel-samsung-s6e63m0 0x6038429d s6e63m0_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/panel/panel-samsung-s6e63m0 0xfd4ff955 s6e63m0_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/pl111/pl111_drm 0x0c5cfffc pl111_versatile_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x5ed38b0d rcar_cmm_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x7f545946 rcar_cmm_setup +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0xc35971b5 rcar_cmm_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0xfb526de5 rcar_cmm_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x14746157 rcar_lvds_is_connected +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x305bf658 rcar_lvds_clk_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x37b9d304 rcar_lvds_clk_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x84b8f26b rcar_lvds_dual_link +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x2feeaa0f vop_component_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x810693ad vop2_component_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0xf391b84a rockchip_rgb_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0xfead7585 rockchip_rgb_fini +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0x2de4500c ssd130x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0x44a700cd ssd130x_shutdown +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0xc4170893 ssd130x_remove +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x00016bfa gb_hd_cport_reserve +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x01b6049b gb_svc_intf_set_power_mode +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x02f46d26 __tracepoint_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x05508e1d gb_connection_destroy +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x094e21a7 gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x14028e17 __SCK__tp_func_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x15d1942f greybus_disabled +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1787a8ee __traceiter_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1a1e506d gb_operation_get_payload_size_max +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x20488def gb_operation_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x224f12fe gb_hd_shutdown +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2aabf937 gb_connection_disable_rx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3025861b gb_operation_response_alloc +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x37d517e0 gb_operation_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3a8586c1 gb_hd_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3b98d54a gb_operation_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3de254d9 gb_connection_create_offloaded +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3e236072 gb_hd_output +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x40016b59 gb_connection_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5035eeab gb_operation_unidirectional_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5609c00e gb_connection_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x56e9fc6f gb_connection_disable_forced +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5ad3f2d7 __tracepoint_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5c0a8043 __tracepoint_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5cc0ff92 gb_hd_cport_release_reserved +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5d99815b gb_operation_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6213634d __tracepoint_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6c193557 gb_debugfs_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6d3bb9ec __SCK__tp_func_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6d58f29e gb_connection_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6f0671ca __traceiter_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x79f589bc __traceiter_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x80980eb4 __traceiter_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x81e221fb __SCK__tp_func_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x89f514a1 __SCK__tp_func_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x9bba5c33 gb_operation_result +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa2f3159a gb_connection_latency_tag_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa416e2da __tracepoint_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xafab16a9 gb_operation_cancel +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb51f2a30 __traceiter_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xbc3364af gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xbeb092bb gb_connection_enable_tx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc369750a greybus_message_sent +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc38befbf gb_interface_request_mode_switch +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc4bada2e gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd3e646d9 __tracepoint_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd51ca28d gb_operation_request_send +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd5774b2b greybus_register_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd6e1b0c7 greybus_data_rcvd +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xde0cd51b greybus_deregister_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xdf8186cc gb_operation_request_send_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe9703a54 gb_connection_latency_tag_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xeac79e1a __SCK__tp_func_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf107a122 __SCK__tp_func_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf5a8a428 gb_connection_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf8f50276 __traceiter_gb_hd_in +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00b2bec0 hid_field_extract +EXPORT_SYMBOL_GPL drivers/hid/hid 0x03a13cdb hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x09e59add hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0adeead8 hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0d96389b hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x143b386d hid_driver_resume +EXPORT_SYMBOL_GPL drivers/hid/hid 0x16b314f7 hid_alloc_report_buf +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19ba933d hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19d52f1f hid_quirks_exit +EXPORT_SYMBOL_GPL drivers/hid/hid 0x279694d0 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2820dc3f hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2a3904e9 hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2ae7e784 hid_hw_stop +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2d026c1f __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x340c6a36 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x382f8afb hid_hw_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3b19c01c hid_dump_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3d6e04b4 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x410d480f hid_validate_values +EXPORT_SYMBOL_GPL drivers/hid/hid 0x42308ed9 hid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4fcc6a26 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4fd1a847 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x57b07776 hid_compare_device_paths +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6bd44f03 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x71f74c3c hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x737c43c6 hid_driver_suspend +EXPORT_SYMBOL_GPL drivers/hid/hid 0x741c745e hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x782d25b2 hidinput_calc_abs_res +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7da8c0d3 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7dd71b37 hid_hw_start +EXPORT_SYMBOL_GPL drivers/hid/hid 0x81e55666 hid_setup_resolution_multiplier +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8a9eb97d hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8b13a8b8 hid_snto32 +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9534275e hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9ede7344 hid_hw_open +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb38f9186 hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xba10b50b hid_driver_reset_resume +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc78b028d hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd08f6f54 hid_hw_close +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd7e349ac hid_hw_raw_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdeae3089 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe13128f1 hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe1e4d4b0 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe456a8d1 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe6034175 hid_ignore +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe979e35e hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe97f2eec hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xea83c4e1 __hid_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf636d726 hid_hw_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf8a14041 hid_match_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf8bf136a hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa355613 hid_quirks_init +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x18060318 roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x3e4427c8 roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x040ab293 roccat_common2_sysfs_write +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x065e38f1 roccat_common2_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x179bf50e roccat_common2_sysfs_read +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x94937cf7 roccat_common2_device_init_struct +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xd6545337 roccat_common2_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xfa965a5c roccat_common2_send_with_status +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x1b1f7b4d sensor_hub_input_get_attribute_info +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x1ea1f943 sensor_hub_get_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x2e7fea52 sensor_hub_device_close +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x4cedaca4 hid_sensor_get_usage_index +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x65431d86 sensor_hub_input_attr_get_raw_value +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x87e61561 sensor_hub_register_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xa1eeda4b sensor_hub_set_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xbc10f45c sensor_hub_remove_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xf9b9b9c7 sensor_hub_device_open +EXPORT_SYMBOL_GPL drivers/hid/hid-vivaldi-common 0x0504a8ec vivaldi_feature_mapping +EXPORT_SYMBOL_GPL drivers/hid/hid-vivaldi-common 0x1cab742e vivaldi_input_configured +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x8706d05e i2c_hid_core_shutdown +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x9bce7695 i2c_hid_core_remove +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0xa107fc81 i2c_hid_ll_driver +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0xc9459b77 i2c_hid_core_probe +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0xdcd9ab49 i2c_hid_core_pm +EXPORT_SYMBOL_GPL drivers/hid/surface-hid/surface_hid_core 0x9a8af1bb surface_hid_pm_ops +EXPORT_SYMBOL_GPL drivers/hid/surface-hid/surface_hid_core 0xa56ad1fb surface_hid_device_destroy +EXPORT_SYMBOL_GPL drivers/hid/surface-hid/surface_hid_core 0xaee290b7 surface_hid_device_add +EXPORT_SYMBOL_GPL drivers/hid/uhid 0xe54cfadd uhid_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xa8b17fa3 usb_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xbab2fe3c hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x1b88a727 hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x2b83fa30 hsi_new_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x346f2183 hsi_port_unregister_clients +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x36aebc35 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x3d1748c0 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x4b5b761e hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5a276422 hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6a4196e6 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x84dda42a hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x85fd2bab hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x91ef0db4 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xa761113d hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xad18bedb hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xb4999561 hsi_get_channel_id_by_name +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xb764ee53 hsi_add_clients_from_dt +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xbcf3d634 hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xc8f85e82 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xd0350d9c hsi_remove_client +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x00d3f507 hv_pkt_iter_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x02599f3d vmbus_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x116ffb3b __vmbus_driver_register +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x124e1223 hv_pkt_iter_first +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x203e6b71 vmbus_connection +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x31e2e77f vmbus_free_mmio +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x321055cb vmbus_prep_negotiate_resp +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x339290b0 vmbus_set_chn_rescind_callback +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x46a417ca vmbus_proto_version +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x4b2210b8 vmbus_send_tl_connect_request +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x4e4a6182 vmbus_hvsock_device_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x53217fb1 vmbus_connect_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x674e657e hv_ringbuffer_get_debuginfo +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x6e0d11c5 vmbus_establish_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x70ef742f __vmbus_request_addr_match +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x805ff28d vmbus_allocate_mmio +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x83a4968e vmbus_request_addr +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x8a00d446 vmbus_disconnect_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x97300ef6 vmbus_open +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xa40c584e vmbus_teardown_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xa947b41e vmbus_request_addr_match +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xb8f0fcb5 vmbus_recvpacket_raw +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc050017a vmbus_alloc_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc3aff4f2 vmbus_next_request_id +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xc43bd91a vmbus_sendpacket_pagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xcf683398 vmbus_free_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xd5d6de80 vmbus_send_modifychannel +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xd775fa0c vmbus_setevent +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xd7e660bf vmbus_driver_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xd9a9b7c6 vmbus_sendpacket_mpb_desc +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xda0ff52b vmbus_set_event +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xe7d08d4a vmbus_set_sc_create_callback +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xefe14e07 hv_ringbuffer_spinlock_busy +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xf322db14 __hv_pkt_iter_next +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x5aa085cc adt7x10_probe +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x6d483309 adt7x10_dev_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x5cbb5274 ltc2947_core_probe +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x6f319ea7 ltc2947_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0xbc54f93e ltc2947_of_match +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x0f3a9ed1 nct6775_store_beep +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x551e41f6 nct6775_update_device +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xb20b2c1f nct6775_show_alarm +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xb97ef3aa nct6775_show_beep +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xdf08d450 nct6775_reg_is_word_sized +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xff88ef8b nct6775_probe +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x09294fbe intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x0b0f3294 intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x2777f339 intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x40fa7b6f intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x52af9003 intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x6a30cbee intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x839d9c8a intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x911c541a intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xa195c32a intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x5bce0c1e intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0xd68c7b03 intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0xfdb15411 intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x06f68341 stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x10941421 to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x2f099cb9 stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x3cd71313 stm_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x55fc5695 stm_source_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x7c3c8bfe stm_data_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x96931ca5 stm_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xbd6aaa02 stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xf3f9a957 stm_source_register_device +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-ccgx-ucsi 0x6245b1d3 i2c_new_ccgx_ucsi +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x09a459f5 i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x14b33d59 i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xb34da8e7 i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xe9676f58 i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x3494a84d i2c_register_spd +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x8d1921e6 i2c_new_slave_host_notify_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x9b207585 i2c_free_slave_host_notify_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0xe76d4da0 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x09e815ba i3c_driver_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x15d7f838 i3c_master_queue_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x166c53e9 i3c_device_enable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x175cafb0 i3cdev_to_dev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x21c01bc9 i3c_device_request_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x24a69ce6 i3c_generic_ibi_recycle_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x24fc6d4e i3c_master_entdaa_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x28eaf76d i3c_device_free_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x34b66a37 i3c_master_register +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x48a23716 i3c_master_enec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x4aad1bb0 i3c_device_do_priv_xfers +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x620a0b45 i3c_device_disable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x76fe3e05 i3c_generic_ibi_free_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fde99f4 i3c_generic_ibi_alloc_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x84813051 i3c_device_get_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x8a65957d i3c_master_set_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x94b6417b i3c_master_add_i3c_dev_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x9c8737b0 i3c_master_get_free_addr +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xa7d3b661 i3c_master_disec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xada2498a i3c_master_do_daa +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xb4a9ed34 i3c_master_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xb4fd080e dev_to_i3cdev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xcc05de43 i3c_master_defslvs_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xce7a12f5 i3c_driver_register_with_owner +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe5930899 i3c_generic_ibi_get_free_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xf32b2c8a i3c_device_match_id +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x65155c39 adi_axi_adc_conv_priv +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0xf955b76f devm_adi_axi_adc_conv_register +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x267c0508 iio_channel_release_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x2a1fab3c iio_channel_stop_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x69478664 iio_channel_cb_get_channels +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7a711aef iio_channel_start_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x9acf62ab iio_channel_cb_set_buffer_watermark +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0xbf3424db iio_channel_cb_get_iio_dev +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0xe0d010a8 iio_channel_get_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x00b74c46 iio_dma_buffer_read +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x0a246aa2 iio_dma_buffer_release +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x15cb3b49 iio_dma_buffer_exit +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x3d8e30b3 iio_dma_buffer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x43e601a1 iio_dma_buffer_set_bytes_per_datum +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x4cf41eaf iio_dma_buffer_request_update +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x4ea5c78d iio_dma_buffer_block_list_abort +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x635725a5 iio_dma_buffer_init +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x85be35be iio_dma_buffer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x8e5e42b4 iio_dma_buffer_block_done +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xb5e8b8ec iio_dma_buffer_data_available +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xf03f9502 iio_dma_buffer_set_length +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0x4c6c2bc4 devm_iio_dmaengine_buffer_setup +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x1b4fdaa1 devm_iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x3391543d iio_hw_consumer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x9671bc15 iio_hw_consumer_free +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0xa0870bde iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0xbf358fa9 iio_hw_consumer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-triggered-buffer 0x23dc56c0 devm_iio_triggered_buffer_setup_ext +EXPORT_SYMBOL_GPL drivers/iio/buffer/kfifo_buf 0xde246d3e devm_iio_kfifo_buffer_setup_ext +EXPORT_SYMBOL_GPL drivers/iio/chemical/sps30 0xbdcf1336 sps30_probe +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x031cbcf8 cros_ec_sensors_core_read +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x458ecf51 cros_ec_sensors_read_lpc +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x463af3ec cros_ec_sensors_core_write +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x49c4b191 cros_ec_motion_send_host_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x5435cc7c cros_ec_sensors_core_init +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x6a00662c cros_ec_sensors_ext_info +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x8d750ff7 cros_ec_sensors_push_data +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x981f91d7 cros_ec_sensors_read_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x98294e06 cros_ec_sensors_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x9971dac4 cros_ec_sensors_capture +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xd089f853 cros_ec_sensors_core_register +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xee4df884 cros_ec_sensors_core_read_avail +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x1124010f bmg160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x4a6b4d5e bmg160_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xa5fa1aef bmg160_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x07062ff4 fxas21002c_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x5fb2fec2 fxas21002c_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x9ec34e93 fxas21002c_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/bmi160/bmi160_core 0xc7c798ee bmi160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/fxos8700_core 0x41851b85 fxos8700_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0x5d318f04 inv_icm42600_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0xb6e6c281 inv_icm42600_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0xe365dd8a inv_icm42600_regmap_config +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x6cfff638 inv_mpu_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x870ab520 inv_mpu_pmops +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0396db0f iio_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1324cc8f devm_iio_device_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x15c2580e iio_enum_write +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1ee3bd8b iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26f6b499 iio_str_to_fixpoint +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2745d0e3 __devm_iio_trigger_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2b81589c iio_validate_scan_mask_onehot +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x30ac2c90 iio_show_mount_matrix +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x33f5532c iio_read_channel_offset +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x41e200b4 iio_read_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x485b8ab3 iio_write_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4c841a35 iio_enum_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4dce7dd4 iio_format_value +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4f9077d4 iio_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x56feb9e8 iio_device_claim_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x58e8ad07 iio_read_channel_average_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5ad007ba iio_push_to_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5c6ca7de iio_device_id +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5d543d1e iio_buffer_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x641edfc2 iio_convert_raw_to_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6b212e83 iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x704a4907 iio_buffer_put +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x73217b14 iio_read_avail_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x80b83f40 iio_push_to_buffers_with_ts_unaligned +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x855fe3f7 devm_of_iio_channel_get_by_name +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8a8d2dcc iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8b628dff iio_buffer_enabled +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8d78dbac iio_get_debugfs_dentry +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8e669193 iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x99b4233f iio_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa043d9f7 iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa3065df5 iio_read_max_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa5e02d99 devm_iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa66417a9 iio_read_channel_processed_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa8e455cf iio_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xac5bba58 of_iio_channel_get_by_name +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb2316653 iio_read_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb7ca0e50 devm_iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbf1cd105 iio_pop_from_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc4485037 iio_write_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc77dc207 devm_iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xcea02191 iio_read_channel_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xcfb08208 iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd2d3bf57 iio_device_get_current_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd5afad95 iio_get_channel_ext_info_count +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd72253bf iio_device_release_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd831d456 iio_write_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd8629a58 iio_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xda7b46a2 devm_iio_trigger_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf0c71fe3 iio_read_avail_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf11490b0 iio_enum_available_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf197997f iio_update_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf7b9a8ad __devm_iio_device_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xfdbb7e1d iio_device_attach_buffer +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x0b9cc348 rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x0bf30b7a rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x0fc8fbba rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x1bfc646a rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x53e53e10 rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x64efee37 rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x8d650f87 rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x926f07c1 rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xa20c42ff rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xd16d1a76 rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xedcbe285 rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xef02c58a rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xb249fa8f input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/matrix-keymap 0xc9ce7f15 matrix_keypad_parse_properties +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x4591bfaf adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x66535a18 adxl34x_suspend +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xec511022 adxl34x_remove +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x00ac004b rmi_2d_sensor_abs_process +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x074ed284 rmi_dbg +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x237b86dc rmi_2d_sensor_configure_input +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x70b70b7e rmi_2d_sensor_abs_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7d16877a rmi_2d_sensor_of_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7fb4c4e1 rmi_driver_resume +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x86d6352b rmi_register_transport_device +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x8fa99e1f rmi_set_attn_data +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x92c99941 rmi_2d_sensor_rel_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x9ed013e8 __rmi_register_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xa0bf80f0 rmi_unregister_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xb9988334 rmi_of_property_read_u32 +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xe7ae26cf rmi_driver_suspend +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x7b78e6bd cyttsp4_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x8e1948a7 cyttsp4_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xc2aa9682 cyttsp4_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x3f37d2e2 cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x755e74ea cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0xb3ff2359 cyttsp_i2c_write_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0xe9b23771 cyttsp_i2c_read_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x1a16b81a tsc200x_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x3a9466bb tsc200x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xb76db8ca tsc200x_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xdff45012 tsc200x_regmap_config +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x3f3eeb2a wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x4136e3dc wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x4174664d wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x431c3d86 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x59570602 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x5ea220dc wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x92082042 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xae676569 wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xd2b3e63a wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xd43374bd wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xdc899bfd wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xf9ca391b wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/interconnect/imx/imx-interconnect 0x990bf952 imx_icc_register +EXPORT_SYMBOL_GPL drivers/interconnect/imx/imx-interconnect 0xb2c74f8f imx_icc_unregister +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x0253e279 qcom_icc_bcm_voter_add +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x0b39b783 qcom_icc_bcm_voter_commit +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x957b64f3 of_bcm_voter_get +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x1906ea70 qcom_icc_bcm_init +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x21df4532 qcom_icc_aggregate +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x3128264f qcom_icc_rpmh_probe +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x7de2454c qcom_icc_set +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x8f4597e8 qcom_icc_rpmh_remove +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0xe6be3e21 qcom_icc_xlate_extended +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0xfe4a2757 qcom_icc_pre_aggregate +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-smd-rpm 0x81e513ad qcom_icc_rpm_smd_available +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-smd-rpm 0xe8dbdc6c qcom_icc_rpm_smd_send +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x14c41232 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x3af7c20c ipack_bus_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x79addb9e ipack_put_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xa9edf678 ipack_get_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xac8dac5e ipack_device_init +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xbc82466e ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xd2e58288 ipack_driver_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xe7dc73b4 ipack_device_add +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xefe9b13b ipack_device_del +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x1f0e8f1d led_set_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x33f6ba5c led_get_flash_fault +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x4d119652 led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x8eec6858 devm_led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xa879b37c led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xc6a71a32 led_update_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xd915a240 devm_led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xf4341986 led_set_flash_timeout +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x39bf5fec led_mc_calc_color_components +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x793f8c5a devm_led_classdev_multicolor_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x85f1bcb7 led_classdev_multicolor_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x88d7ea1a devm_led_classdev_multicolor_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0xc7ce5497 led_classdev_multicolor_register_ext +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x0ee3f5eb lp55xx_is_extclk_used +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x4570b4ac lp55xx_unregister_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x596de48e lp55xx_of_populate_pdata +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x78572749 lp55xx_deinit_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x83001250 lp55xx_register_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x86341237 lp55xx_update_bits +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x9e060870 lp55xx_init_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xa6e03903 lp55xx_read +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xb104ef49 lp55xx_write +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xe48ad53c lp55xx_register_leds +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-audio 0x3bd45b0d ledtrig_audio_set +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-audio 0xce593c22 ledtrig_audio_get +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-camera 0x749e05f2 ledtrig_flash_ctrl +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-camera 0x7903e46e ledtrig_torch_ctrl +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x051b2215 __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x05e315dc __traceiter_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x06bceaa1 __SCK__tp_func_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0826e917 __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0bc0be45 __SCK__tp_func_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x15f3de09 __SCK__tp_func_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x16ea7222 __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x17a83e40 __traceiter_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x181a1930 __SCK__tp_func_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x191717af __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1934a9a9 __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1b083369 __SCK__tp_func_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c599ebe __traceiter_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c71a406 __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c83d5b7 __SCK__tp_func_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x22ae6324 __SCK__tp_func_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2766fb04 __traceiter_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x284a6bff __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2909bc5d __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2a0e014e __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2af60833 __SCK__tp_func_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3257d343 __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3a64d974 __traceiter_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3cb35a79 __traceiter_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x46bfabee __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x46c66897 __SCK__tp_func_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4a2d1241 __SCK__tp_func_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4d81554e __traceiter_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x51d0e534 __SCK__tp_func_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x53b5e5e3 __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x58604de1 __traceiter_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5cc8cb86 __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5d9c8fc8 __SCK__tp_func_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5fd7c423 __SCK__tp_func_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6026e276 __SCK__tp_func_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x64e39418 __traceiter_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6697827f __SCK__tp_func_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x66de4730 __traceiter_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x690dd415 __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6e74dca7 __SCK__tp_func_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6e9e0f18 __traceiter_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x72d1cec6 __traceiter_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x77fcc59d __traceiter_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x793bf6be __traceiter_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x79eeb380 __SCK__tp_func_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7a3c0ac3 __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7a5bf5c0 __traceiter_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x80e3881d __SCK__tp_func_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x830df522 __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x862dfa21 __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x8a9f015b __traceiter_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x8ad20d61 __SCK__tp_func_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x902cb523 __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9170a973 __traceiter_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x92f45a1d __traceiter_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9865dbc4 __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9a6f4d9f __SCK__tp_func_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9ce21c84 __SCK__tp_func_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa14fdbcf __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa187023e __SCK__tp_func_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa4ece09d __traceiter_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa64134e4 __SCK__tp_func_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa842a5c8 __SCK__tp_func_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa98dcbaa __traceiter_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xad6440b4 __traceiter_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb24c79bd __traceiter_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb5078a47 __traceiter_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb5a62a8c __traceiter_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb912ae0b __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xba843c3f __SCK__tp_func_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbc268695 __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbff67a1b __traceiter_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc1857470 __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc29ce6ff __traceiter_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc78d7102 __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc8ae4213 __SCK__tp_func_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xcd5d9709 __traceiter_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xce48d6f4 __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd038dda1 __traceiter_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xda06fe86 __SCK__tp_func_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe16c06b3 __SCK__tp_func_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe202b8e6 __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xec29e22a __traceiter_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xec92a163 __SCK__tp_func_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xed37c90e __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xee55d047 __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xef7eec02 __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf4f14fa5 __traceiter_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf6249e5f __SCK__tp_func_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf865c1a2 __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfb3d6c67 __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfd6b5d80 __SCK__tp_func_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xff527e9b __traceiter_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x03747c82 dm_bio_prison_alloc_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x066b81a6 dm_cell_release_no_holder +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x1797d970 dm_cell_unlock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x17dd39d6 dm_deferred_set_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x27dd0ec2 dm_cell_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2eb01e04 dm_deferred_set_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x38f0c51a dm_cell_error +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x62d7e518 dm_cell_promote_or_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6623ec2b dm_bio_prison_free_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6791a44e dm_deferred_entry_dec +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x753e20b2 dm_bio_prison_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x9247ea14 dm_cell_lock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xa281d921 dm_cell_lock_promote_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xace9b57b dm_bio_prison_destroy_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb6d5c65d dm_deferred_set_add_work +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb70b342a dm_bio_prison_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xc8ec4f6f dm_get_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xca2e3a88 dm_deferred_entry_inc +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xcb4c2c2c dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xd903290c dm_cell_put_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xd99e003d dm_bio_prison_create_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xda570161 dm_bio_prison_alloc_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xddb6f7d9 dm_bio_prison_free_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xe68f47e2 dm_bio_detain +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xea8f14c3 dm_cell_get_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xf7963b3c dm_cell_quiesce_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x0ad0dc4f dm_bufio_mark_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x111ab12a dm_bufio_mark_partial_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x24772bfe dm_bufio_get +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x2e0774dc dm_bufio_get_block_number +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6334f37f dm_bufio_client_create +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6aebce95 dm_bufio_issue_discard +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6d3f57bd dm_bufio_get_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x72f07bf4 dm_bufio_set_minimum_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x74dcd98c dm_bufio_get_aux_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7c381a76 dm_bufio_get_block_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x867e87eb dm_bufio_get_dm_io_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xa82b2066 dm_bufio_write_dirty_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xb04f56ab dm_bufio_read +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xb2438d54 dm_bufio_release_move +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc0d7df85 dm_bufio_new +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc90df7e5 dm_bufio_prefetch +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc9a3422d dm_bufio_write_dirty_buffers_async +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xcd2ba798 dm_bufio_forget +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd4bddf5c dm_bufio_issue_flush +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd991e3b9 dm_bufio_get_device_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xe6024e59 dm_bufio_release +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xebcc64a4 dm_bufio_get_block_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xeca7949e dm_bufio_client_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xed3283a4 dm_bufio_set_sector_offset +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xf241a6eb dm_bufio_forget_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x0efbca4c btracker_promotion_already_present +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5adc2807 btracker_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5de611a9 btracker_nr_writebacks_queued +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7890d535 dm_cache_policy_get_name +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x83679f0b dm_cache_policy_register +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x87bee547 btracker_queue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x890723f7 dm_cache_policy_get_version +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xa2365f44 btracker_issue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xa7eadcb5 btracker_complete +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xadbefda4 dm_cache_policy_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xbf1a2968 btracker_create +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xccfe6409 btracker_nr_demotions_queued +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xcf8c2590 dm_cache_policy_get_hint_size +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xe1bdae47 dm_cache_policy_create +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xe6e0d0b1 dm_cache_policy_unregister +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x59d7d5a8 dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xfceab7ed dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x01d2f9ac dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x1ac66301 dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38972f23 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38efaf5a dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3a18389a dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x40ac0200 dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x57e16c3e dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5f4a6e61 dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x65fb4f8b dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x6fc0d69c dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7774620f dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d053fc5 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d5e1815 dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa4fed95d dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa53387c7 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa83588eb dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xbe38a431 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd8aa4284 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xdcde001b dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf92b8a3d dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfd93482e dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0054f69d dm_tm_pre_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x005a9df7 dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x11fbbe02 dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x15085586 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1816383d dm_btree_find_highest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1ae16d40 dm_tm_dec_range +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1ba7cc87 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x243ce1ad dm_array_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x24507fbf dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2bc1a8d9 dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2c5a02df dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2d38ecd9 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2f40da68 dm_bm_set_read_write +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x30a26537 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x30c37cc0 dm_bm_write_lock_zero +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3646e38f dm_tm_issue_prefetches +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x382a0134 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ae50a4a dm_tm_inc_range +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3d6961ed dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x46768dbf dm_btree_remove_leaves +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4f477261 dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5375ca71 dm_bm_write_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5475ba9e dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5736c9c5 dm_bitset_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x586705e1 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x688d422d dm_bm_block_size +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6b2357b6 dm_bitset_test_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6c218062 dm_bitset_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6c2c7ef4 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7062014c dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x72289260 dm_block_manager_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x73420d49 dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x75606d09 dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x79bdc649 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7ade1071 dm_tm_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b047bd9 dm_tm_create_non_blocking_clone +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b6b3af5 dm_bm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7bc7621f dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7e29c59d dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x87c934be dm_tm_inc +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88295b96 dm_tm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88998224 dm_disk_bitset_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88a5c035 dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8db6f8f0 dm_tm_with_runs +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8f5eefee dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x925f421d dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9290e07a dm_tm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x932a6ffc dm_tm_shadow_block +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9341b376 dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x95a52abd dm_bm_is_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9718cffa dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9955fef4 dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9ced228c dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9e798e22 dm_bm_set_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa29d4c0c dm_bitset_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2a74861 dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa9cf611b dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb3d7482b dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb6879c01 dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb720ee73 dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc0d7c2d1 dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc0fadb13 dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc36559ad dm_btree_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd237b9fb dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd39c0246 dm_btree_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xdf3a4e7d dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe781f874 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe8438eb5 dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf82dba90 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xfce51d79 dm_array_empty +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x01db4f23 cec_s_log_addrs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x0d0b2ebc cec_notifier_conn_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x1baf67cf cec_s_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x2a73bb90 cec_queue_pin_5v_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x2dbc0f88 cec_queue_pin_hpd_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x753d427f cec_transmit_attempt_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x81e07a61 cec_register_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x86ae8cc8 cec_delete_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x9f8b8f43 cec_fill_conn_info_from_drm +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa01fbb6b cec_notifier_set_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa1310019 cec_transmit_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xac8fc3ef cec_transmit_msg +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xaee236c6 cec_notifier_conn_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xb8fa2461 cec_unregister_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xb96e67f2 cec_pin_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xba059ad1 cec_queue_pin_cec_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbe4de675 cec_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xc16f2887 cec_notifier_set_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xc3e2d049 cec_notifier_cec_adap_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xd88b354d cec_notifier_cec_adap_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xdb877557 cec_received_msg_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xdd37b58e cec_notifier_parse_hdmi_phandle +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xedc5b16a cec_s_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf31c0288 cec_pin_changed +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf52ea84f cec_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf7306509 cec_s_conn_info +EXPORT_SYMBOL_GPL drivers/media/common/b2c2/b2c2-flexcop 0x66c0289a b2c2_flexcop_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x01b46e4f saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x0d723b91 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x13b7e211 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x394b33dd saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x460e6775 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x6dac4433 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x72a56ce1 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xb58510aa saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xbc902f59 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xfc1fe48d saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x10a21936 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x200c9d04 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x367a94bc saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x74eb28ed saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x8b7f0429 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xfb64a47c saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xfe0e09e7 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x006a857e sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x1c5c58a2 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x28928545 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x2b484c88 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x34bf0e61 smscore_translate_msg +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x3911ef75 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x43285d7b smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x460ab14c smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x4b0cf552 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x51920209 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x5b7f8a9a smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x643fcb79 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x844539ae sms_get_board +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x87327ed8 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x99a81ab3 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xab395496 smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbc472aed sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xc0efb403 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xc5da979e smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xc7507854 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x03005a48 tpg_alloc +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x040dc7cd tpg_aspect_strings +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x4d1d285c tpg_init +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x517e7ccd tpg_fill_plane_buffer +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x6026aaf0 tpg_log_status +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x6960e899 tpg_s_crop_compose +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x756516e7 tpg_s_fourcc +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7a5d8c0b tpg_update_mv_step +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x86b4ddf7 tpg_reset_source +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x975a1e29 tpg_g_interleaved_plane +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xaa5503d9 tpg_set_font +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xb40fae23 tpg_g_color_order +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xc6110b6e tpg_free +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xc6808be7 tpg_calc_text_basep +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xce8159bb tpg_pattern_strings +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xf4aef3a4 tpg_gen_text +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xf65c5e46 tpg_fillbuffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x07729fd4 __SCK__tp_func_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x079f4731 vb2_request_object_is_buffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x07aab98e vb2_thread_stop +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x22209dd3 vb2_core_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x24451812 __tracepoint_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2593782f __tracepoint_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x28042233 vb2_core_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2d916fb3 vb2_core_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2db8d6c6 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x33603bae vb2_core_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x461751b5 __traceiter_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4710d59d vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4eefd760 vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x61c58d2f vb2_request_buffer_cnt +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x630b24d3 __tracepoint_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x67f01640 vb2_core_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6e4583ba vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x71936358 vb2_core_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x764ad6a6 vb2_core_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x85b266ba vb2_core_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xa0402d70 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xa399079e vb2_core_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xa4339474 vb2_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xa79ddc81 vb2_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xa8489f5e vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xabc50ce7 vb2_core_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xac5ecac5 __traceiter_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb3c7c576 vb2_core_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb6f4b031 __SCK__tp_func_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb9d2df39 __SCK__tp_func_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xbcc9ae76 vb2_discard_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc7b45aa4 __SCK__tp_func_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xcc903acb vb2_thread_start +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xcff29570 __traceiter_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd36ddb4e vb2_core_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xed98457f __traceiter_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf703a3f9 __tracepoint_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x5584853b vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x56b53b0f vb2_dma_contig_set_max_seg_size +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-sg 0x4f6897c2 vb2_dma_sg_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-memops 0x78622826 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x026de69a vb2_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x0a254583 vb2_request_validate +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x38030bba vb2_request_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x38223b28 vb2_queue_change_type +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4c00f61f vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4ea023f8 vb2_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x646f143d vb2_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x6607cc41 vb2_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x6d6762c8 vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x74d293a9 vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x76782483 vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x851c9f97 vb2_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x919ebc2b vb2_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x9484ba01 vb2_find_timestamp +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x9ba28f8a vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x9d2aba15 vb2_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa3e286c8 vb2_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa420d270 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa47822e8 vb2_queue_init_name +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa766e3b3 vb2_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa88e9c87 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xbf2cfe21 vb2_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc319d888 vb2_fop_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc54fd64c vb2_ops_wait_prepare +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd18af149 vb2_fop_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd35d7162 vb2_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd4997d2f vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd5c0d4f8 vb2_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xdafe951e vb2_video_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xdb9dfab0 vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xdefd7d7b vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe071f2eb vb2_fop_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xed2d54be _vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xf4bf9743 vb2_ops_wait_finish +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-vmalloc 0x0cf8b136 vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x20bf0b05 dvb_module_probe +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x52b756c4 dvb_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xcf9d4245 dvb_module_release +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/as102_fe 0x2cfa5537 as102_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/cx24117 0xee9b4a89 cx24117_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/gp8psk-fe 0x0167ef78 gp8psk_fe_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/mxl5xx 0x8073cd4c mxl5xx_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv0910 0x596aeaca stv0910_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv6111 0xc00fb0ea stv6111_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/tda18271c2dd 0xb813253f tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/i2c/aptina-pll 0x37463d30 aptina_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/ccs-pll 0x38c9b897 ccs_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x45cb0620 max9271_clear_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x4a8603e3 max9271_set_address +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x4bb0f491 max9271_set_deserializer_address +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x607ab9cc max9271_set_high_threshold +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x6a04ea15 max9271_verify_id +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x849ac6fd max9271_set_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x8705af08 max9271_wake_up +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x8ce98f74 max9271_disable_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xb1a60689 max9271_enable_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xbd5c5f81 max9271_configure_i2c +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xc1b5259a max9271_set_serial_link +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xd6b4b652 max9271_set_translation +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xd89041f7 max9271_configure_gmsl_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0747e372 media_device_unregister_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x09a01ba8 media_graph_walk_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0fd21ab5 media_request_object_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x11f35514 media_device_delete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x12d9d944 media_device_unregister_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x154d1d4e media_request_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x177bd272 media_entity_find_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1f159617 media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x26a62348 media_create_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x283fc6d0 __media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2847541f media_device_register_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x304a2451 __media_device_usb_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x384d6763 __media_device_register +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x417c25be __media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x48c5d2da media_device_unregister +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4a131695 media_request_object_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4deeb444 media_device_register_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4e392076 media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x58a0b482 __media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5aa5fe78 media_graph_walk_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5bc67c21 media_create_pad_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x674723d1 media_device_usb_allocate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x68ffa9e9 media_entity_get_fwnode_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6d9d5294 media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6e26b75d media_create_pad_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x73282a19 media_entity_pads_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x75f4fdd4 media_entity_remote_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x895fe972 __media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8b1dd403 media_request_object_unbind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8d08c832 media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8eb2d4bd media_get_pad_index +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9b0f44a1 media_device_pci_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9b9cbf1d __media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9c5ea2cb media_request_get_by_fd +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb09e91d3 media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb2fed85e media_create_ancillary_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc134ce73 media_device_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc6bdb1d0 media_devnode_create +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc9e8d6f8 __media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd197eb2c media_device_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe297aa3b media_devnode_remove +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe5ceecd6 media_entity_enum_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xede149f2 media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf2ab9a32 media_graph_walk_next +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf35b15ee media_request_object_bind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf6a44112 media_request_object_complete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xfc781c47 __media_entity_enum_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xff3348e6 media_graph_walk_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xffcb4af7 media_request_object_find +EXPORT_SYMBOL_GPL drivers/media/pci/cx88/cx88xx 0x5517d4de cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x09f00c72 mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x125d5422 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x2b91bef3 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x37caff0e mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x85550b71 mantis_input_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x858c8b5a mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x9894d30c mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xa812adef mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xaa6b4d3b mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xabffbfed mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xc3426746 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xcfc93934 mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xdbc58128 mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xe511145d mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xe8aeedc9 mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xf0290ba7 mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xf11a8766 mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xf8a8626f mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xf927064d mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x1039db21 saa7134_ts_buffer_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x310e5190 saa7134_g_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x3ed53bf5 saa7134_g_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x4fc83730 saa7134_querycap +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x52a89302 saa7134_s_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x58a824a0 saa7134_s_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x90ab72db saa7134_ts_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x99338b9f saa7134_s_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa364328c saa7134_querystd +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xa928a0e4 saa7134_ts_buffer_prepare +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xb04e8ffd saa7134_g_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xc08aefce saa7134_vb2_buffer_queue +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xc3faa481 saa7134_ts_start_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xd233e8df saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xd6d1fd12 saa7134_enum_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xd7efd0a1 saa7134_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xe1e9e4bc saa7134_g_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xe20ba52f saa7134_s_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xf171602c saa7134_ts_queue_setup +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x08ecc1e9 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x22aa6e57 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x376eee3f ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x43033e7f ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x5b37daf3 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x5da4407b ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xd9795797 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x0be325d7 nal_hevc_write_vps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x15e89d55 nal_h264_read_pps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x168ddb2b nal_hevc_write_pps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x39b985c6 nal_h264_write_pps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x3c2d85a6 nal_hevc_read_pps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x64a9c2ce nal_hevc_read_sps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x666a7d73 nal_h264_read_filler +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x782a358b nal_h264_write_sps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x89178443 nal_h264_read_sps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x8f1fd2e7 nal_h264_write_filler +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0xa06fd791 nal_hevc_read_filler +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0xc1dd5419 nal_hevc_write_filler +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0xc2dc8048 nal_hevc_read_vps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0xf18c66c7 nal_hevc_write_sps +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x118b42e0 mccic_resume +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x11cedc65 mccic_shutdown +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x31323912 mccic_irq +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x8d53aff0 mccic_suspend +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0xdb537f3a mccic_register +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x133d46cb vpu_get_plat_device +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x15a351b6 vpu_ipi_register +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x3b053fb2 vpu_get_venc_hw_capa +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x3cd7b4b4 vpu_mapping_dm_addr +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x596f1a90 vpu_wdt_reg_handler +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x7dd4acfd vpu_load_firmware +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0xb28249a8 vpu_get_vdec_hw_capa +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0xf93edf85 vpu_ipi_send +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x06b2ddec venus_helper_alloc_dpb_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x0c0bcc46 hfi_session_init +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x0dcb71f7 venus_helper_check_codec +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x2728ebcf venus_helper_get_out_fmts +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x27b12c5f venus_helper_m2m_device_run +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x29773c84 hfi_session_deinit +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x29f62805 hfi_session_continue +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x2bc64045 venus_helper_acquire_buf_ref +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x2d693ecb venus_helper_m2m_job_abort +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x2ff7bc6f venus_helper_set_output_resolution +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x3346fff8 venus_helper_session_init +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x37130e63 venus_helper_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x3839f556 venus_helper_release_buf_ref +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x397e879e venus_helper_process_initial_cap_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x3a353164 venus_helper_set_stride +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x3c6fbe3e hfi_session_create +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x409f7c8e venus_helper_set_input_resolution +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x412a75ae venus_helper_vb2_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x452a3276 venus_helper_set_dyn_bufmode +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x467c3972 venus_helper_get_bufreq +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x4983529c venus_helper_init_instance +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x52900248 venus_helper_set_work_mode +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x52d89789 hfi_session_stop +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x55098da5 venus_helper_get_profile_level +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x561574fa hfi_session_flush +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x6006b08f venus_helper_queue_dpb_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x6c7d157e venus_helper_change_dpb_owner +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x72be2883 venus_helper_set_color_format +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x745562ff venus_helper_intbufs_free +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x76475ab7 venus_helper_free_dpb_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x77a60e41 venus_helper_set_num_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x7b984067 venus_helper_check_format +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x83670218 hfi_session_abort +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x8367faea venus_helper_unregister_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x8678ddff venus_helper_process_initial_out_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x8b38e5f4 hfi_session_destroy +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x8d1fa162 hfi_session_start +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x92ceee6a venus_helper_set_profile_level +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x9f0be043 venus_helper_intbufs_realloc +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xa4fe4c4b venus_helper_get_ts_metadata +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xb5bb955a venus_helper_set_format_constraints +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xb5da1da9 venus_helper_get_framesz_raw +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xb7028a6e hfi_session_process_buf +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xb87f22c9 venus_helper_find_buf +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xbafc6bdf venus_helper_set_bufsize +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xbfe92492 hfi_session_unload_res +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xd21da2e4 venus_helper_get_framesz +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xd38a6ad0 hfi_session_set_property +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xd43db730 venus_helper_vb2_buf_init +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xd4f5cdfa venus_helper_vb2_buf_prepare +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xd6b840ea venus_helper_set_raw_format +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xdac4deba venus_helper_vb2_start_streaming +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xdfa455d5 venus_helper_get_opb_size +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xe21df3e1 venus_helper_intbufs_alloc +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xe58606ac venus_helper_vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xf45325ca hfi_session_get_property +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xfafaf12c venus_helper_set_multistream +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xfda21579 venus_helper_buffers_done +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x3d858696 rcar_fcp_put +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x4ad5d888 rcar_fcp_enable +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x5fe6f6e8 rcar_fcp_disable +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x9877c29f rcar_fcp_get +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0xf4d7a123 rcar_fcp_get_device +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x3209c02e vsp1_du_atomic_begin +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x41ae8718 vsp1_du_map_sg +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x45af88c1 vsp1_du_unmap_sg +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x47eabff9 vsp1_du_atomic_update +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x61576ac6 vsp1_du_atomic_flush +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x66b76c50 vsp1_du_init +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0xc4c927b1 vsp1_du_setup_lif +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x43738fab xvip_set_format_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x5a401386 xvip_init_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x5fafd266 xvip_cleanup_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x6c98b15a xvip_enum_mbus_code +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x7419e564 xvip_clr_or_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xb67940fb xvip_get_format_by_fourcc +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xbb2123ac xvip_of_get_format +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xc994262b xvip_clr_and_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xe08e6063 xvip_get_format_by_code +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xe887bb18 xvip_enum_frame_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x0aba0336 xvtc_of_get +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x3c16a6b1 xvtc_generator_stop +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x47d7900b xvtc_generator_start +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0xa8a0f912 xvtc_put +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x0b9d8cbd radio_tea5777_exit +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x2496322f radio_tea5777_init +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x1e533f16 si470x_set_freq +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x33e1d594 si470x_ctrl_ops +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x94979493 si470x_stop +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xba956fae si470x_start +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xe0538d30 si470x_viddev_template +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x04e9c7ee rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x05dade16 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x16ff08ec ir_raw_event_store_with_timeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x228b82e5 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x2ed90ced rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3cc7940f lirc_scancode_event +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x605b12fe rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x6305b609 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x66105092 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x685e1fbe rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7dd042c6 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x91c446dd rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa2f53855 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb960f15c rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xd223eec3 ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe06be2f2 devm_rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xe34a0e01 rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xec642b1c devm_rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xef437bcd ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf70b1ac1 rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfc5d3079 rc_map_get +EXPORT_SYMBOL_GPL drivers/media/tuners/mt2063 0x5101c56e mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mt20xx 0x69f7d66e microtune_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mxl5007t 0xb078f6c1 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/r820t 0x5c246b09 r820t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda18271 0x3e4a0ac8 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda827x 0x3a18ae6d tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x2162e5ad tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0xe0629142 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda9887 0x129d2e0d tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x4f36cb10 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0xbbc03e90 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x025b053a tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x5d0e4cd3 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tuner-simple 0xc3dcafd2 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x004cd893 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x02d919ab cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x05969d28 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x3e5bca44 cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x420f2f5b cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x48e186bd cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x4cffb465 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x6f18a450 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x833d8d80 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x84b628f2 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x9bab22b3 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x9c5c8422 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xb4a3ae4c cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xc80c3226 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xcbb96ff7 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xd0fe4d83 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xd7c6c541 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xdc33c2c1 cx231xx_get_i2c_adap +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xf05930ea cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xfa349372 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0xbfb0eea5 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0xc9269850 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x07d30f4a em28xx_init_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x4ef42176 em28xx_toggle_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x53e6f82d em28xx_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x60bc29f1 em28xx_init_camera +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x66d49c89 em28xx_alloc_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x67b3d41d em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x6d170958 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x715c6baf em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x721f7cc7 em28xx_free_device +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x844091c5 em28xx_uninit_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x9170a64e em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x921d7c65 em28xx_boards +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xa24021b4 em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xa3e7ded7 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xa3ef2847 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb6c4619c em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xc3d3a6d3 em28xx_find_led +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xc93d6684 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xcd04d5c9 em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xe6c25553 em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x0431b1a1 tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x86da2cb2 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xb51bdae1 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xeb0b3863 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x2bae44dd __v4l2_async_nf_add_fwnode +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x9af54d24 __v4l2_async_nf_add_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0xebeccbf5 __v4l2_async_nf_add_i2c +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0xf2b13aa3 v4l2_async_nf_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0xf5f347c3 __v4l2_async_nf_add_fwnode_remote +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x01612c0b v4l2_detect_gtf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x08402862 v4l2_print_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x0958448b v4l2_set_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x0af3d134 v4l2_valid_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x2bf67def v4l2_calc_aspect_ratio +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x370cfe6e v4l2_dv_timings_presets +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x3aa68d7a v4l2_find_dv_timings_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x4839762f v4l2_calc_timeperframe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7b6ac78f v4l2_phys_addr_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x8f8d4341 v4l2_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x922ecd29 v4l2_enum_dv_timings_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xa97e00eb v4l2_detect_cvt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xae575c8f v4l2_phys_addr_for_input +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xd034392d v4l2_match_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xef15cc44 v4l2_hdmi_rx_colorimetry +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xf56238f4 v4l2_find_dv_timings_cea861_vic +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xff585440 v4l2_dv_timings_aspect_ratio +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x3f06fd2f v4l2_flash_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0xa18a828c v4l2_flash_indicator_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0xc1eb6754 v4l2_flash_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x14b1ca08 v4l2_async_nf_parse_fwnode_endpoints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x183126b1 v4l2_fwnode_endpoint_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x4bb2a725 v4l2_fwnode_put_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x612ddce5 v4l2_fwnode_connector_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x66425040 v4l2_fwnode_connector_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x791b8241 v4l2_fwnode_device_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x9be8a8a0 v4l2_fwnode_endpoint_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xaf0f64e6 v4l2_fwnode_connector_add_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xb1a54d6b v4l2_async_register_subdev_sensor +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xb7640a30 v4l2_fwnode_parse_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xdbe829e4 v4l2_fwnode_endpoint_alloc_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0x639ecc68 v4l2_h264_init_reflist_builder +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0x6a1429ff v4l2_h264_build_p_ref_list +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0xf568bf81 v4l2_h264_build_b_ref_lists +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0x30b5ebc6 v4l2_jpeg_parse_scan_header +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0xcbfdf5cb v4l2_jpeg_parse_frame_header +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0xe8956e3f v4l2_jpeg_parse_huffman_tables +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0xe8f40f9e v4l2_jpeg_parse_header +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0xf8ffd565 v4l2_jpeg_parse_quantization_tables +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x06b53fd6 v4l2_m2m_try_schedule +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x0862cf6f v4l2_m2m_ioctl_stateless_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x0912a748 v4l2_m2m_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x09190627 v4l2_m2m_request_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x167b6446 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x16f0b113 v4l2_m2m_update_stop_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2611568e v4l2_m2m_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x30547946 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x398cd612 v4l2_m2m_ioctl_stateless_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x41b6640c v4l2_m2m_ioctl_try_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x449d654b v4l2_m2m_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x481bc344 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x575c96e5 v4l2_m2m_buf_remove_by_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x58926b00 v4l2_m2m_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5f431b45 v4l2_m2m_last_buffer_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6449ceaf v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x64ee1eb2 v4l2_m2m_ioctl_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x674a1ec7 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6ff8452d v4l2_m2m_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x730f2eae v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x737d32a2 v4l2_m2m_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7eb764d5 v4l2_m2m_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x95e0c305 v4l2_m2m_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9cf6da82 v4l2_m2m_buf_remove_by_idx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa3129ea7 v4l2_m2m_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa5cc2f59 v4l2_m2m_update_start_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb1a41958 v4l2_m2m_fop_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb2cb1265 v4l2_m2m_ioctl_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb6b526e9 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xb8ed0946 v4l2_m2m_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xbfd9a745 v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc97594f8 v4l2_m2m_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xcb7d5784 v4l2_m2m_last_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xce268fe1 v4l2_m2m_register_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd215263b v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd55bc23f v4l2_m2m_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd767d430 v4l2_m2m_ioctl_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd9830938 v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe20dafcd v4l2_m2m_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe8a4223c v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xedad450c v4l2_m2m_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xef86ca39 v4l2_m2m_buf_copy_metadata +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf13ff84d v4l2_m2m_unregister_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf1ce28ad v4l2_m2m_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf21343ac v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xfbe5f85f v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x4137d90c v4l2_vp9_adapt_coef_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x8ef1a3dd v4l2_vp9_reset_frame_ctx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x8ef25d5d v4l2_vp9_seg_feat_enabled +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x9dec35a2 v4l2_vp9_fw_update_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0xb3cf2529 v4l2_vp9_adapt_noncoef_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0xcf15018a v4l2_vp9_kf_partition_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0xdf6586d2 v4l2_vp9_kf_uv_mode_prob +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0xf5c55c43 v4l2_vp9_default_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0xfbf87a5e v4l2_vp9_kf_y_mode_prob +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x0b59872a videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x0e6188c1 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x274498d3 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x35000d87 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4348c4ff videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x44949bef videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4708b5d1 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x5b6df413 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x61c87278 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x61fb6f03 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x6a9f409f videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7507f069 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x80127a70 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x8e0828a8 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x8ecfd0d6 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x9bc90fb6 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xa5d709df videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xad8170e7 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xb1036180 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xbacdaf9b __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xd55958ff videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xe7da38db videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xe86dd416 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xf80d30bf videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x553a86d0 videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x71f09515 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xbc8e2cd1 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xd42087fe videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xed533a19 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x3e54cf7a videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x86d25922 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x9e0d6190 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x04a4d99d __traceiter_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x050c967a v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0c0ccbd6 v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0c1a05b8 v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0e58ede6 v4l2_subdev_get_fwnode_pad_1_to_1 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x11f3044c __SCK__tp_func_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x15de10a3 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1885c1f6 __v4l2_subdev_state_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x18e04d1a v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x18edaf8a v4l2_i2c_subdev_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1c33f8ac v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x23d8b21c __v4l2_subdev_init_finalize +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2492c3c5 v4l2_subdev_get_fmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x277ffe85 v4l2_create_fwnode_links +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2791fb2b v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2a56b156 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2ae0877b __SCK__tp_func_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x31d34a17 v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3558f158 v4l2_src_change_event_subdev_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3e0e0da2 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x42986a57 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x452f53b1 __tracepoint_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x46ac032f __tracepoint_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4c98b64d v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4d3aa23f __v4l2_ctrl_handler_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x535253d0 v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5667d7a2 v4l2_subdev_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5d5902d5 v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x626cc2f2 v4l_disable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x64c1112b v4l2_pipeline_pm_get +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x68a4977a v4l2_ctrl_request_hdl_ctrl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6a2de036 __tracepoint_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6ce1c95c __SCK__tp_func_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6d860fde v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e9acc41 v4l2_fill_pixfmt_mp +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6f8f9e24 v4l2_get_link_freq +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x75e81729 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x77bd9dad v4l2_src_change_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x781692c6 __traceiter_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7c6db7c9 v4l2_subdev_link_validate_default +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7d476aeb v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x82c198cf __traceiter_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x892c377e v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x902c3d0a v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x90c24b4f v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9556003c __v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x96447048 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9679cdc7 v4l2_pipeline_link_notify +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9fef35ac v4l2_apply_frmsize_constraints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa0f86cdb v4l2_mc_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa382dd60 __traceiter_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa4c63706 v4l_vb2q_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa6289d72 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xae2ac371 v4l2_pipeline_pm_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xaf51728e __v4l2_subdev_state_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb69a6f74 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb803f21d v4l2_s_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc2361e3f v4l2_ctrl_request_hdl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc56c8f46 v4l2_event_wake_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc742d6e8 __tracepoint_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc90159c1 v4l2_create_fwnode_links_to_pad +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcc501597 v4l2_fill_pixfmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcef95cf8 v4l2_subdev_notify_event +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd338392b v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd8ec6923 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xdbadaa42 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe2822320 __v4l2_find_nearest_size +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe2d16a48 v4l2_event_subdev_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe5a33113 __SCK__tp_func_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf06a10f6 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf2a353ac v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf5ef842e v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf7528afe v4l_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfad0013d v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfaf65af1 v4l2_g_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfba341e9 v4l2_subdev_link_validate +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x1784a81a pm80x_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x4d180be9 pm80x_init +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xcd7371a3 pm80x_regmap_config +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xd99fd720 pm80x_deinit +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x130903e8 wm5110_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x3f259cc2 arizona_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4048fbbc wm8997_aod +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x447ff837 arizona_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4c087981 wm5110_aod +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x5031c2a4 wm5110_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7365d002 cs47l24_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x9be09558 wm8997_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xa1898d69 wm8997_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xa6b70564 wm8997_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xa727bd3b cs47l24_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xaaf78759 wm5110_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xad629699 wm5102_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xb034b4b3 arizona_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xb1094a82 arizona_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xbabf1b28 wm5110_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xbc90406d wm8998_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xc81b43ab wm5110_revd_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xd5f311eb arizona_clk32k_disable +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xe78b9bd9 cs47l24_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xea167a27 arizona_clk32k_enable +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xee5a57d5 wm5102_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xf2e9a3aa arizona_set_irq_wake +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xffbedc01 arizona_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/atc260x-core 0x16caf523 atc260x_device_probe +EXPORT_SYMBOL_GPL drivers/mfd/atc260x-core 0xb0685aa2 atc260x_match_device +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x42c1954a da9150_bulk_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x5410002d da9150_write_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xb4f7e318 da9150_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xc665c973 da9150_read_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xce688c54 da9150_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xd98626d7 da9150_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xeecf901f da9150_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/gateworks-gsc 0xa142a524 gsc_read +EXPORT_SYMBOL_GPL drivers/mfd/gateworks-gsc 0xb7abd1c4 gsc_write +EXPORT_SYMBOL_GPL drivers/mfd/iqs62x 0xa436f4de iqs62x_events +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x0990ccdb kempld_write8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x58b7a93a kempld_write32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x72a78628 kempld_read16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x7d0c9711 kempld_read8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xa3000669 kempld_release_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xcfd8c3f7 kempld_read32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xedf859e2 kempld_get_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xfc1bead2 kempld_write16 +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x468dd664 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x67fafe00 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xe8a1423e lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x1215ac44 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x54b4a2a0 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x84bb6042 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x9e490a49 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xbbef0cb5 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xca66f6af lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xf228dc86 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x6f940b05 lp3943_read_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0xaddd652e lp3943_update_bits +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0xb0c5b44f lp3943_write_byte +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0d7c7234 madera_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f379262 madera_of_match +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x37b8f6da cs47l85_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x37d51550 cs47l15_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x37d8c910 cs47l15_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x67d89f26 madera_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x74e0085c cs47l15_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x74edd41c cs47l15_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7c9a36be cs47l35_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x8a9d30d3 cs47l90_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x8c5139e8 cs47l85_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x8c5ce5a8 cs47l85_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x94844e58 cs47l90_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x94899218 cs47l90_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa30555a5 cs47l92_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa30889e5 cs47l92_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xaec8d7ba madera_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xbe23a290 cs47l35_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xbe2e7ed0 cs47l35_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xcf6424e4 cs47l85_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xcf69f8a4 cs47l85_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xcf940db4 cs47l15_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xd7b15354 cs47l90_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xd7bc8f14 cs47l90_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xe03048a9 cs47l92_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xe03d94e9 cs47l92_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xe2dc142b cs47l92_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebe384cb madera_name_from_type +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xfd16bf9c cs47l35_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xfd1b63dc cs47l35_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x2a8d5ffa mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x30616ad6 mc13xxx_variant_mc13892 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x62d4d49e mc13xxx_variant_mc34708 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x70db21f6 mc13xxx_variant_mc13783 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x8e676ab8 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xbcbe6807 mc13xxx_common_exit +EXPORT_SYMBOL_GPL drivers/mfd/motorola-cpcap 0xa226dbe8 cpcap_sense_virq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x0f004fa9 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x4dc6b90c pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x5200feda pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x620d749e pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x63784780 pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x70045cbb pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xa3b20a94 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xaad6544c pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xab11a825 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xbc4b3bde pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xf1d971bc pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x68c24992 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xc2f337af pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x007e8251 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x018d826a pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x1da3cfe7 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x297834e8 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xcf597554 pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x2be26e1c devm_rave_sp_register_event_notifier +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x43e53ef9 rave_sp_exec +EXPORT_SYMBOL_GPL drivers/mfd/retu-mfd 0x56d1a8c5 retu_read +EXPORT_SYMBOL_GPL drivers/mfd/retu-mfd 0xa074c8b6 retu_write +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x0bce6a76 si476x_core_cmd_ic_link_gpo_ctl_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x1410c184 si476x_core_i2c_xfer +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x19eab185 si476x_core_cmd_fm_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x1a6aa202 si476x_core_cmd_intb_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x217f42ce si476x_core_cmd_fm_phase_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x233575c8 si476x_core_cmd_dig_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x233cb461 si476x_core_cmd_get_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x2998c8cd si476x_core_set_power_state +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x37f1d71c si476x_core_has_am +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x39d6d713 si476x_core_is_in_am_receiver_mode +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x4d6cd23e si476x_core_cmd_am_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x504b7d12 si476x_core_cmd_func_info +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x555dee47 si476x_core_cmd_zif_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x566c73fb si476x_core_stop +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x64d3dc85 si476x_core_cmd_ana_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x660e4cf9 si476x_core_cmd_fm_rds_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7223cc14 si476x_core_cmd_am_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x72ff183a si476x_core_has_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x802b2428 si476x_core_cmd_set_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9482ed8a si476x_core_cmd_fm_phase_div_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xacf7b607 si476x_core_cmd_fm_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xb0b94665 si476x_core_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xba14a485 si476x_core_cmd_agc_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xbc4f10b6 si476x_core_cmd_am_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xbefefcd4 devm_regmap_init_si476x +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xc185e601 si476x_core_cmd_fm_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xdfc6300d si476x_core_cmd_fm_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe292143b si476x_core_cmd_power_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe9e20e82 si476x_core_cmd_fm_rds_blockcount +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xebe34447 si476x_core_cmd_power_down +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf0708ba7 si476x_core_is_a_secondary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf3c1b750 si476x_core_is_powered_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf899b4e1 si476x_core_cmd_am_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xfab302e4 si476x_core_is_a_primary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x09c7e1de sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x197cc14b sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x51e0b6fc sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x54a803a4 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xca68fe45 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sprd-sc27xx-spi 0xe89ad39d sprd_pmic_detect_charger_type +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0x2f23d6ba stmfx_function_enable +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0xef2ec153 stmfx_function_disable +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x22db047f am335x_tsc_se_clr +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x536bc038 am335x_tsc_se_set_once +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x878ae7f0 am335x_tsc_se_set_cache +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xf1e0716f am335x_tsc_se_adc_done +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x3ec909b1 tps65217_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x6e0f61dd tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x8c468307 tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xbaa341e2 tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x2f121a7c tps65218_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x43b48dc7 tps65218_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x44ea73c7 tps65218_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xb64c02fc ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x449afdf6 alcor_read32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x4b619554 alcor_read32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x645125ef alcor_read8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x73b254b3 alcor_write32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x8b4560d7 alcor_write8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x9e745e00 alcor_write32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xf6813dad alcor_write16 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x01915a51 rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x03ae7e80 rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x1328ab41 rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x409b95d6 rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x4347ddf4 rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x4f224ab4 rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x52056b04 rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x5a2ab5ae rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x5b394061 rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x667e5738 rtsx_pci_dma_map_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x934b1ea3 rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x97a1be8a rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x98dc4b10 rtsx_pci_dma_unmap_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xad1b7159 rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xb4f76437 rtsx_pci_dma_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xbeb11ec7 rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xc3a1ae20 rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xc90267d9 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xcdcedf5e rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xdb1b7771 rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xdcdebcaf rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe156cd53 rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xf0c2ac11 rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xf121feb4 rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x0435e8c5 rtsx_usb_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x139328ac rtsx_usb_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x18592600 rtsx_usb_ep0_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x2587753b rtsx_usb_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x288e4582 rtsx_usb_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x2ab87647 rtsx_usb_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xaed67a4d rtsx_usb_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xbc2b148a rtsx_usb_get_rsp +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xd55fb5a8 rtsx_usb_ep0_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xd9bc8fdb rtsx_usb_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xdbb7d552 rtsx_usb_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xdedf6f43 rtsx_usb_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xf89bd491 rtsx_usb_get_card_status +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x21f77eea cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x47814c34 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x7ed56e34 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xbe2aa2c6 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x0b008db0 oslec_hpf_tx +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x296a8983 oslec_update +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x3115970d oslec_create +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x4b711f77 oslec_adaption_mode +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x5909e701 oslec_snapshot +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x780d3f01 oslec_flush +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x84eba96d oslec_free +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x3cb83d5b eeprom_93cx6_multireadb +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d2ff63 eeprom_93cx6_wren +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x870b53e9 eeprom_93cx6_write +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x884deb9d eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0xc9c6bb25 eeprom_93cx6_readb +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0xff7a0fdf eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x00c98d24 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x2d983c64 enclosure_component_alloc +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x381cfbfc enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x42ad7c22 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x57001f13 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x6c47bfdf enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xb692656b enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf3af241c enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x1303a355 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x15c75263 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x35d0175c lis3lv02d_init_dt +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x3735ac06 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x44502dd6 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x51069728 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x8469adaf lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xff61f761 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/pvpanic/pvpanic 0x770afe80 devm_pvpanic_probe +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x8c795269 st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xde697c01 st_unregister +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x459b9471 uacce_remove +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x6f293138 uacce_alloc +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0xae659dc5 uacce_register +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x024d14bc vmci_qpair_produce_free_space +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x046dd187 vmci_datagram_create_handle +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x056837fb vmci_get_context_id +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x1fd4782d vmci_qpair_get_produce_indexes +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x2449459d vmci_event_subscribe +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x3a22fa8a vmci_datagram_destroy_handle +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x4ba5c46b vmci_qpair_peek +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x5591b58e vmci_context_get_priv_flags +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x5e949e0a vmci_doorbell_destroy +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x603fe055 vmci_qpair_enquev +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x612df9ae vmci_qpair_detach +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x676bd843 vmci_qpair_consume_free_space +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x75fe065a vmci_send_datagram +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x787f0fe8 vmci_register_vsock_callback +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x7c74d7a6 vmci_qpair_consume_buf_ready +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x81d61eef vmci_qpair_dequeue +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xb572e830 vmci_doorbell_create +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xbcb85f62 vmci_doorbell_notify +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xc04c7e84 vmci_qpair_get_consume_indexes +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xc403cafe vmci_is_context_owner +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xcf218d8c vmci_qpair_peekv +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xd58e62f8 vmci_qpair_dequev +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xde3abc2e vmci_datagram_create_handle_priv +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xe0cc9c92 vmci_qpair_alloc +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xe11895c1 vmci_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xe67343c1 vmci_qpair_enqueue +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xea143610 vmci_datagram_send +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xea61eefe vmci_qpair_produce_buf_ready +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x928e91f1 dw_mci_pltfm_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0xa29712f6 dw_mci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0xc766fabb dw_mci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x78557e14 mmc_hsq_init +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x8b947bca mmc_hsq_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0xa3b94ede mmc_hsq_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0xd25e40c1 mmc_hsq_finalize_request +EXPORT_SYMBOL_GPL drivers/mmc/host/renesas_sdhi_core 0x40e9bcd2 renesas_sdhi_probe +EXPORT_SYMBOL_GPL drivers/mmc/host/renesas_sdhi_core 0xca2bed03 renesas_sdhi_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0fde4848 sdhci_setup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x169f52d6 sdhci_set_power_noreg +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1acf24c0 sdhci_set_data_timeout_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1b276f4b sdhci_adma_write_desc +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1bf77105 __sdhci_set_timeout +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1d387f61 sdhci_set_uhs_signaling +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1f2adcc1 sdhci_set_power_and_bus_voltage +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x238e8bef sdhci_reset +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x28f86ad3 sdhci_execute_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3a0aadf8 sdhci_end_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x442076d7 sdhci_start_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x4d8cef93 __sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x4fddaa46 sdhci_set_bus_width +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5495b411 sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x56a5b107 sdhci_abort_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5e176870 sdhci_start_signal_voltage_switch +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6aa0e2e6 sdhci_switch_external_dma +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7a2018c7 sdhci_reset_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7ad1800c sdhci_cqe_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7adb47d3 sdhci_send_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x834256ec sdhci_get_cd_nogpio +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x8691aa78 sdhci_set_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x92c6f938 sdhci_dumpregs +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x9a9bca3c sdhci_set_power +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x9ff15927 sdhci_cleanup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa7125ead sdhci_enable_sdio_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xae43effc sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb12e8dc6 sdhci_enable_v4_mode +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xbcc91420 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc52a4b2b sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc58fc8f6 sdhci_cqe_disable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xcc2b0615 sdhci_request +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xcfb44cf4 sdhci_cqe_enable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd480f2da sdhci_set_ios +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd5879ecf sdhci_enable_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xdc23e024 sdhci_calc_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xed2ad194 sdhci_request_atomic +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xeeee1b86 __sdhci_read_caps +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf4125008 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf85c8311 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xfb8bf2fc sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xffb661f1 sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x1a3f4935 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x6ad0fa21 sdhci_pltfm_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x6c3569a5 sdhci_get_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x9bc137e0 sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xabae478a sdhci_pltfm_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xaeb5aeab sdhci_pltfm_clk_get_max_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xb969657f sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xc98f03b0 sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xf050a7f2 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x107bdb2f tmio_mmc_disable_mmc_irqs +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x144cffda tmio_mmc_host_runtime_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x1929be9c tmio_mmc_enable_mmc_irqs +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x2fe96a4f tmio_mmc_host_runtime_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x378f2335 tmio_mmc_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x734e4d7a tmio_mmc_do_data_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xa85d009e tmio_mmc_host_probe +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xcef83666 tmio_mmc_host_free +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xd02f685d tmio_mmc_host_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xe4a2fa18 tmio_mmc_host_alloc +EXPORT_SYMBOL_GPL drivers/most/most_core 0x0736711a most_put_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x2d314479 most_deregister_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0x698ed6ee most_register_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x6d99bdec most_deregister_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x6ffef454 most_register_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x77c421ce most_deregister_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x78caebf1 most_resume_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x855061e7 most_stop_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0xa5cedbf8 most_register_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0xaeb8cfb9 most_get_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xbd707123 most_submit_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xd10f8dbd most_stop_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0xebde1726 channel_has_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xec4c720d most_start_channel +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x12d6023c cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x2dff27d4 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xd0e10242 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x326bb520 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x4c39fef0 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xc1927aa6 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xa3acd3a7 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x129052bd cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xab22623d cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xe822abe0 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x2da076eb hyperbus_register_device +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x7d241b58 hyperbus_unregister_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0206059e mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0234c94f mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x04b554b8 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x05929933 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x082a23ea __register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x132f4379 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1d4683f3 mtd_write_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x235cf9f8 mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2c49a940 mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2d941897 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2ec88406 __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2f92aa02 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x34ee99cf mtd_erase_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3a103825 mtd_ooblayout_set_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3ca67f4a mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x438ccc7b deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4cdae0e6 mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x50dabc2f mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5395743c mtd_ooblayout_count_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x53c14245 mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x57737246 mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x58aae239 mtd_ooblayout_find_eccregion +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5cc84941 mtd_ooblayout_set_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x673d0eb6 mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x705b0a5e unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7593c6ae mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x78e27364 mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x806c4f73 mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x81e3aaf9 register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x842204e8 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8901f4e8 mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8928fd24 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8a985948 mtd_ooblayout_get_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8e8ca3f6 mtd_read_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x984cfc22 mtd_wunit_to_pairing_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x98d18227 mtd_ooblayout_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9c3dd7b7 mtd_ooblayout_count_freebytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa959afb4 mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb6d02732 mtd_get_device_size +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb702b0eb mtd_block_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb7075882 mtd_check_expert_analysis_mode +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xbc555fc8 mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc801bda0 mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xccac2d64 mtd_pairing_info_to_wunit +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd41bbaa1 get_tree_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd7b75a86 mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdb2537da mtd_ooblayout_free +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xde0f1d7c mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe2230060 mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe64ec5a0 mtd_pairing_groups +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe9060450 __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xeb92dca6 __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf71844df mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf80dedb0 mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfcfcf3b5 mtd_ooblayout_get_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x111246dd mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xcba48a8e add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xd67cc8ef del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xe03d36ca register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xed32b56f deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x05a87ff2 nand_ecc_restore_req +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x071657e7 nand_get_small_page_ooblayout +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x0cb4c3f4 nanddev_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x14f981f5 nand_ecc_tweak_req +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x17046262 nanddev_bbt_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x19e2e815 nanddev_ecc_engine_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x2512b571 nanddev_ecc_engine_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x278fd2bf nand_ecc_init_req_tweaking +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x2b46dc75 nanddev_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x402eb5f3 nanddev_mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x444430be nanddev_bbt_get_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x551bcdc7 nanddev_bbt_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x63bb9cd7 nand_ecc_cleanup_req_tweaking +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x74000162 mxic_ecc_get_pipelined_engine +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x74c43948 nanddev_markbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x853c3207 nanddev_isbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x89e23993 nanddev_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x939f6636 mxic_ecc_get_pipelined_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x950e073f nanddev_bbt_set_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xa96ddf61 nand_get_large_page_hamming_ooblayout +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xb020f0b6 nanddev_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xb7f077d2 mxic_ecc_put_pipelined_engine +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xb958a0ee nanddev_mtd_max_bad_blocks +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xcac84b4f nanddev_bbt_update +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xd9bfdd3a nand_get_large_page_ooblayout +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xf3ad1092 mxic_ecc_process_data_pipelined +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x09a2b039 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x9ed8404c onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x197b739e brcmnand_remove +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x91ef8d39 brcmnand_probe +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x9fe7216c brcmnand_pm_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/denali 0xfe857e7f denali_chip_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x0866a395 nand_read_page_hwecc_oob_first +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x0a8bd5f7 nand_op_parser_exec_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x0c3c911e nand_deselect_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x0e36e95f nand_reset_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x11091291 nand_extract_bits +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x1b64d9d9 nand_reset +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x276ef0ce nand_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2d368c4c nand_subop_get_addr_start_off +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2f24e2b8 nand_prog_page_begin_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x40bc63c8 nand_prog_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x40c733d6 nand_ecc_choose_conf +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x4bfb42b0 nand_read_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x53402f2c nand_read_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5632e63d nand_subop_get_num_addr_cyc +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5a6f8ca8 nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5f2bac68 nand_write_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x669869f5 nand_erase_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x6a0ed84e nand_soft_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x750554fa nand_status_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x79dfc30b nand_select_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x9440e429 nand_gpio_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x9a01073a nand_change_write_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd2f276dc nand_change_read_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd3c672b8 nand_subop_get_data_len +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd41ff2ac nand_subop_get_data_start_off +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xdae00511 nand_decode_ext_id +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xe4da961c nand_readid_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xf04abe40 nand_prog_page_end_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xf291a1a2 nand_read_oob_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/sm_common 0x375fdf0c sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x8c4a1473 spi_nor_scan +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0xa126f7be spi_nor_restore +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x134e3b74 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2fa7c7b9 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x570e144a ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x577a8a15 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x66011ab6 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6b17ea43 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6e807436 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6f281030 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x81779ee4 ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x85a8ee76 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x85da4e36 ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x86c6546c ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x8a80e236 ubi_leb_read_sg +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xbe9f1dfd ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xc64c7e2c ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf22ec8e2 ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf5ee9ba8 ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x0a65c89f mux_state_try_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x279fab57 mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x336b84a3 devm_mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x3571d6be mux_control_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x3968509d mux_chip_free +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x3cef36b2 devm_mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x47a1ec4c mux_control_try_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x54e7be6a devm_mux_state_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7cf08396 mux_state_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x8716972c mux_chip_unregister +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xa3dfc1ce mux_control_put +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xa408c2da mux_control_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xb26064aa mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xd269da84 mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xdf9d99e9 mux_control_states +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xf0f35f53 devm_mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xfa76e911 mux_state_select_delay +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x556d5a50 devm_arcnet_led_init +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x898e64b5 arcnet_led_event +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x0a816dfc c_can_power_up +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x39849bb2 c_can_power_down +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x715e1980 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x7b3fab88 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x8579b325 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xf89a79ea free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x2807c1c0 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x3f4c4b59 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x5e5064d7 unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x82058e05 alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x10d892eb can_get_state_str +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x382b76f3 can_rx_offload_irq_offload_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x3aaa6793 alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x3d4a9164 can_rx_offload_queue_tail +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x437b4514 can_rx_offload_add_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4dde0419 alloc_candev_mqs +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4e79ea1c can_skb_get_frame_len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x53a6e8bf of_can_transceiver +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x5794eac6 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6047ede6 can_fd_len2dlc +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x683b6638 alloc_canfd_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6c40a6a4 open_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x78ac3906 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7cb129ef can_rx_offload_threaded_irq_finish +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x81ae94e4 can_change_mtu +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x881951c0 can_rx_offload_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x96fdc801 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xa82964f4 can_rx_offload_add_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xaa95b3a3 can_rx_offload_irq_finish +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb2c7ea50 can_rx_offload_irq_offload_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb72e9f04 safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xc16fe149 can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xc5897814 can_rx_offload_queue_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xcb2fa2cd can_rx_offload_add_manual +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd55e1028 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xdfd9e4a4 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xe2d60ce2 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xed96e7e1 free_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf12d9387 can_fd_dlc2len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf146d9f3 can_change_state +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf1cb9eb6 can_rx_offload_del +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf24edc3b can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xfa0547a6 alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x23349631 m_can_init_ram +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x2bb7a885 m_can_class_register +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x54ebf167 m_can_class_resume +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x92f92f73 m_can_class_unregister +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xd5cade79 m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xf2bb9e71 m_can_class_free_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xf6654869 m_can_class_get_clocks +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xfc6df59d m_can_class_suspend +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x03461c42 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x0d97f5c2 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x467928ad alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xaea85064 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0x1e5d01b9 lan9303_indirect_phy_ops +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x02386676 ksz_phylink_get_caps +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x03a1a270 ksz_port_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x0c84bd43 ksz_mac_link_down +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x3679c17a ksz_r_mib_stats64 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x41925d95 ksz_port_vlan_filtering +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x4852ec25 ksz_get_stats64 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x5303f56b ksz_port_fdb_dump +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x55c5f8ec ksz_port_bridge_leave +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x65613e4f ksz_init_mib_timer +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x70581d1b ksz_port_mirror_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x851d546c ksz_port_mirror_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x97a91a2a ksz_get_tag_protocol +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x97bbd97e ksz_phy_write16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x9d16ce3e ksz_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x9db7595f ksz_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xa7a392d5 ksz_update_port_member +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xae918fd6 ksz_port_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xbdb9ec39 ksz_switch_chips +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xc1fbe4a6 ksz_phy_read16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xd4833df4 ksz_port_fast_age +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xe62daf51 ksz_port_mdb_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xed9b86ef ksz_enable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xed9d7637 ksz_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xf7b3ebee ksz_port_stp_state_set +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xfb5cab9c ksz_port_bridge_join +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xfb882ed5 ksz_port_mdb_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8365mb 0xdd60ce9d rtl8365mb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x0186ba68 rtl8366_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x0ad8ee87 rtl8366_set_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x0ec50eb5 rtl8366_reset_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x2d13ff1e rtl8366_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x424a1704 rtl8366_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x5a48c688 rtl8366_enable_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x7e75c670 rtl8366_mc_is_used +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x93009ecd rtl8366_set_pvid +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x97f02c60 rtl8366rb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x9816858e rtl8366_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xc83fc96f rtl8366_enable_vlan4k +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xd578e8f3 rtl8366_get_strings +EXPORT_SYMBOL_GPL drivers/net/ethernet/arc/arc_emac 0x2bf0682d arc_emac_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/arc/arc_emac 0x50771c49 arc_emac_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x0be2415a enetc_mdio_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x76156e40 enetc_hw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0xca9d02b0 enetc_mdio_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0xd9d61d6f enetc_mdio_lock +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x0661dda1 fun_serv_sched +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x25403333 fun_submit_admin_sync_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x268f2214 fun_get_res_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x2d42a0b6 fun_bind +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x5c4c4708 fun_cq_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x75438342 fun_serv_stop +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x8bb7da18 fun_serv_restart +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xc0133b42 fun_free_ring_mem +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xc1edb521 fun_alloc_ring_mem +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xd2a61656 fun_sq_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xd38bbeed fun_res_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0x37b696d7 i40e_client_device_unregister +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0x7dcbc860 i40e_client_device_register +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x23c01b6e ice_rdma_update_vsi_filter +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x2fced53c ice_add_rdma_qset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x9daa24ce ice_get_qos_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0xcec808a7 ice_rdma_request_reset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0xd09113ee ice_del_rdma_qset +EXPORT_SYMBOL_GPL drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp 0x5ca0109b otx2_ptp_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp 0x99f8dcbe otx2_ptp_clock_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp 0x9aca1a61 otx2_ptp_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp 0xdd70e07f otx2_ptp_tstamp2time +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x055e512b mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x06707a0d mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x07d96d70 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0c99ddfe mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0e0177fc mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x113315cd mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1194f794 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x16f643f6 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x174a6772 mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x19ee3bc7 mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1d6ce7db mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1db47b73 mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1ecb90cc mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1f44c96d mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2743e6c2 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2746dac0 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2841a419 mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x297c302f __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3a7e9f6f mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3bab42d3 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3c698f49 mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3f4267d2 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x405489a9 mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x413dda90 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x426c7208 mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x428bdfe3 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4b49ecad mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4c8c81c7 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4e969b38 mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4ecd8787 __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x513bd5ac mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x59e011db mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5b9a23f3 mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5cfa3915 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5d1fc81f mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5e364742 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5ea67fff mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5ee90caa mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5ee90da7 mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5ff433e8 mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x606aeb3c mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x60fc41fa mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x61d5fb6b mlx4_get_base_gid_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x63a095e9 mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x67d1578c mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x691b1c99 mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6963ed96 mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6b776bde mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6c00bd71 mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6d3d13e9 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6d7b1a17 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6df2c01f mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x70b2a5fa mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x710635e5 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x715c0768 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x727801e3 mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x72e1a83b mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x73ae14e9 mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x75dd4186 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x78d2664f mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7a8e0449 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x819345d8 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x822017ad mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x88959578 mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8e301263 mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8e485217 mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8f033e7c mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x90c4f434 mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9463483d mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x951218b5 mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x96f721a0 mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9808d5c1 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9d32d7bf mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9f1559ad mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa4f0a9d9 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa6fba1a5 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa75cae73 mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa7cf98d4 mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaa3a4579 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xadd30bb2 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xae3df045 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaeb8a572 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb025db9a mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb0fd3693 mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb1067393 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb1271697 mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb1f126ff mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb40d1e35 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb832ccf0 mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb948f6bc mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb96eb516 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xba4a5c12 mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbe386f69 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbed7d8c2 mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc00895f0 mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc0b20ba4 mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc0bc4b6c mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc115ba85 mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc6a9fc30 mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc9a0bf24 mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcb70da9d mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcb9aea7e mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcbb2d7e4 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcc9f0c7a mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd2e02401 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd9a9cbae mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdd43bc9c mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xde0859db mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe0604c7a mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe0b25f47 mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe1e60398 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe2b58b8f mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe441ca53 mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe5483351 mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe58f1a9a mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe9576005 mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeb34383f mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xee5cb81b mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfc655d4b mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfcc2c2d8 mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xff482f06 mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x00672a16 mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x043c0cce mlx5_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x05ec7353 mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x072460c4 mlx5_fill_page_frag_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x079412f3 mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0ee5393b mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x11e32f04 mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x14e29ad4 mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x15afd4d9 mlx5_query_module_eeprom_by_page +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x19f67854 mlx5_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1a5ed58a mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1f15384e mlx5_query_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x212f9b14 mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x232f76e6 mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x25b1184b mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x26aca364 mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2812164d mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2c9f39a8 mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2d0d3749 mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x33b9a985 mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x37847a5a mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x38ec595c mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3991c029 mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x416d6f4c mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x49890b28 mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4f839cd2 mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5244c558 mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x57b65b01 mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x58642c54 mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5a81e161 mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x660b7d34 mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x69c13bb6 mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6a47b48f mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6cf602d0 mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6e6d81be mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x75539d0a mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x77353e1c mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x77e39473 mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x78990d93 mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7908a3de mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7a0adb7d mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81aadc6a mlx5_fill_page_frag_array_perm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81b7e9b1 mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x897796ef mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8b369778 mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9b3226b3 mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9b926151 mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa8fd65e8 mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaaadf27a mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xab5d2df2 mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb628000a mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb94bdea5 mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc07e36e0 mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc5c633d2 mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc8c4eca3 mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcbaf943b mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcbf0ff3a mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xceb7a7ab mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcf062ac8 mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd5118764 mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xda1b0a6d mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe579df1b mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe633c943 mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe9d4c350 mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeb9c0cda mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf5c9afa6 mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf76884c4 mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xff15e2b5 mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xffdde9f2 mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x11f108e7 ks8851_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x64f36ddb ks8851_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x7e105dae ks8851_remove_common +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x879f3d8d ks8851_probe_common +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0x7f816009 devm_regmap_init_encx24j600 +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xcc4fa41a regmap_encx24j600_spi_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xe8c8c6c2 regmap_encx24j600_spi_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0998fff0 ocelot_port_writel +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0e130439 ocelot_bridge_num_find +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x18b13209 ocelot_port_assign_dsa_8021q_cpu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x19b03872 ocelot_port_mirror_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1ef7c93d ocelot_get_bridge_fwd_mask +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x22c3e20a ocelot_mact_flush +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x25816a87 ocelot_port_unassign_dsa_8021q_cpu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x339664ea ocelot_regmap_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x38bb4470 ocelot_port_set_default_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x48186966 ocelot_cls_flower_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x53a885e7 __ocelot_bulk_read_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5a40f313 ocelot_phylink_mac_link_up +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5abda720 ocelot_cls_flower_replace +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x61e1f339 ocelot_lag_fdb_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x625f65ee ocelot_port_get_default_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6fb3f0a6 __ocelot_write_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7accd9f3 ocelot_port_assigned_dsa_8021q_cpu_mask +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7d0720f3 __ocelot_read_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7d69d1b1 ocelot_port_get_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8e30028f __ocelot_rmw_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x906f922b ocelot_regfields_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x908e353d ocelot_port_readl +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x911d7d82 ocelot_cls_flower_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x93584829 ocelot_port_add_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xaa247279 ocelot_port_del_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb01239af ocelot_port_mirror_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb424bc9b ocelot_lag_fdb_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd22caab1 ocelot_migrate_mdbs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe0ab2252 ocelot_phylink_mac_link_down +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xfd744b0c ocelot_port_rmwl +EXPORT_SYMBOL_GPL drivers/net/ethernet/qualcomm/qca_7k_common 0x0b28a9ad qcafrm_create_footer +EXPORT_SYMBOL_GPL drivers/net/ethernet/qualcomm/qca_7k_common 0x2b6ddf3f qcafrm_fsm_decode +EXPORT_SYMBOL_GPL drivers/net/ethernet/qualcomm/qca_7k_common 0x41da0375 qcafrm_create_header +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x18cc968c stmmac_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x2093ec75 stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x5407547e stmmac_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x545572d4 stmmac_set_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x56e0336d stmmac_init_tstamp_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x92d778bb stmmac_get_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xa72c4ad5 stmmac_bus_clks_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xfcf7de3c stmmac_dvr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x00a45ba0 stmmac_pltfr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x7c7c2e6d stmmac_probe_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x84722a3e stmmac_remove_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xafe3bd7a stmmac_pltfr_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xc8a047af stmmac_get_platform_resources +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0x405b51c2 am65_cpts_ns_gettime +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0x41ff99ca am65_cpts_prep_tx_timestamp +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0x5f77e2d2 am65_cpts_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0x91fd3558 am65_cpts_rx_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0xa8811cf2 am65_cpts_tx_timestamp +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0xb60b988a am65_cpts_estf_disable +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0xbfc83e4d am65_cpts_estf_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0xfca9b9d9 am65_cpts_phc_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x51af5e1b w5100_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x7d5268aa w5100_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0xa2e28050 w5100_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0xbe760ade w5100_ops_priv +EXPORT_SYMBOL_GPL drivers/net/geneve 0x9db5addc geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x2b720e38 ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x7f8d2af1 ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x85a0be5a ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xbdf184a0 ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xea95a6e7 ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/macsec 0xd12545dc macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x280c5294 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x45faa754 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xbce5721a macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xe8294cb9 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/mdio/mdio-i2c 0x64768d9f mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x2acc4caa net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x984abaa6 net_failover_create +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x7870a1b7 xpcs_do_config +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x83df82f4 xpcs_get_an_mode +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x8947189e xpcs_link_up +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0xabc4eed2 xpcs_config_eee +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0xb923c8b9 xpcs_create +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0xb9747896 xpcs_destroy +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0xee6e134d xpcs_get_interfaces +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0710cc58 bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0c87f64a bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0dd3d044 bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x12adc88a __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x1b161fd3 bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x204907a8 bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2335cda7 bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x268d54f1 bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x366910f5 bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x3f84a472 bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x45e7b350 bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x474540c6 bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x49617a61 bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x6a91af0f bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x6c72da6e bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x88176bcd bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x88ab036e bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x93537d14 __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x945b8003 bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x9b18a35a bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x9eaa51ad __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa04558f7 bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa3d3c44b __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xadfdf37d bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb963e666 bcm_phy_handle_interrupt +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xba8f5052 __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc41906ce bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd1496bbb bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd2dff707 __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd5ed9290 bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xec1b977e bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xec55d6a1 bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xf333d4b8 bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xfc147363 bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x0ff12220 phylink_mii_c22_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x12135396 phylink_mac_change +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x15c4e3e2 phylink_ethtool_set_pauseparam +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x16ca1a8a phylink_suspend +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x182541a9 phylink_ethtool_ksettings_get +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x1c955750 phylink_generic_validate +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2b979418 phylink_connect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2e612452 phylink_fwnode_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x4386cacd phylink_get_linkmodes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x57727285 phylink_ethtool_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x59e0695d phylink_speed_down +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5d0c4dcc phylink_speed_up +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x62104126 phylink_ethtool_set_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x62c957b5 phylink_mii_c22_pcs_an_restart +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x6fa426d2 phylink_ethtool_nway_reset +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x825c7340 phylink_get_eee_err +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x845044bc phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x8df9a48e phylink_mii_c22_pcs_decode_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x911fcd6c phylink_start +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x983276da phylink_disconnect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xb384c13e phylink_ethtool_ksettings_set +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc0a8f4be phylink_resume +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc1d15a4c phylink_set_port_modes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc85b7c9f phylink_mii_c22_pcs_encode_advertisement +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xcff1abd9 phylink_decode_usxgmii_word +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xd3fa69f7 phylink_mii_c22_pcs_config +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xd86d9a41 phylink_mii_c45_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xdcb0a2c0 phylink_stop +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xde66f4a7 phylink_mii_ioctl +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xe276aa9c phylink_create +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xec02ebe0 phylink_init_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf3083a1d phylink_destroy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf8fe5642 phylink_ethtool_get_pauseparam +EXPORT_SYMBOL_GPL drivers/net/tap 0x00179e45 tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x230c5546 tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0x26b9a12d tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/tap 0x4b26d8a5 tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/tap 0x4d4bff1f tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x6ceba5fb tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/tap 0x8126a90b tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x8193ba8f tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0xfa42dfc4 tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x16570fee usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x28987f7f usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x3188e385 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x3d99ae55 usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x48e20cde usbnet_cdc_update_filter +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x6d755f7a usbnet_cdc_zte_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xeae08057 usbnet_ether_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x1568675b cdc_ncm_select_altsetting +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x1e54a876 cdc_ncm_rx_verify_nth32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x21be4095 cdc_ncm_fill_tx_frame +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x29659a99 cdc_ncm_bind_common +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x35669e90 cdc_ncm_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x4003a82c cdc_ncm_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x40234325 cdc_ncm_rx_verify_nth16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x958d1ac7 cdc_ncm_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xa2056bc9 cdc_ncm_rx_verify_ndp16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xd07327e8 cdc_ncm_rx_verify_ndp32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xf6b64cde cdc_ncm_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/r8152 0x474e4b32 rtl8152_get_version +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x4b9dab48 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x5ee14a7a rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xe27dc8d4 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xe81e7172 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xf38ef8a6 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xfcdea8ed rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x063e9af5 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1043e81e usbnet_read_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x17f3f781 usbnet_write_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x20987cdc usbnet_status_start +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3e0ed213 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x43277664 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x46bec735 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4cbc7c1f usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4d553721 usbnet_status_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x561fd1dd usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x56b15cc8 usbnet_get_link_ksettings_mii +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x578d625d usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x62c44ad9 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6585c846 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x77090806 usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x88001126 usbnet_write_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x89ab6a75 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x922ff9c9 usbnet_set_rx_mode +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9f73cf82 usbnet_update_max_qlen +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa0169769 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa4023e6c usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xa5ad2764 usbnet_write_cmd_async +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xb46ac186 usbnet_get_link_ksettings_internal +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc1455b98 usbnet_read_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc4760a1d usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc52b5f22 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc6b71846 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xc7d8e5e0 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd082d1e4 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd36b0f74 usbnet_set_link_ksettings_mii +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd5b169c1 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd64ae984 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xef7c5d3d usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf47c8fd6 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x00216dd5 vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0xcc5ba738 vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0xe097169d vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0xf40c658f vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0x33195804 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x03214785 _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb1cbfa6d il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb7c8d8c6 il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbf5596af il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf6769ec4 il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5987fe45 iwl_fw_lookup_assert_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x71118edc iwl_fw_lookup_cmd_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x74778a2f iwl_fw_lookup_notif_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x0bda3e52 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x3896270d p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x6ab82044 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x6d2db0be p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x88886d57 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x9cea50e3 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xc53a8af6 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xc673e5fd p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xda268c48 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x015b8083 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x0e25af07 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x0fdc168a lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x23752263 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x28c47d6b lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x3da97037 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x3dc64239 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x601c49f4 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x75a61c3b lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x76d1b501 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xa26fc886 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xa2c27d4e lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xa526fa14 lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xbbf4f745 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xd036f613 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf99b3e4b __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x4d78b9a2 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x637af0c3 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x67d590ad lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x8bee4eb9 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xab6fcb46 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xb312c652 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xe47511d0 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xf37f3837 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x10a84795 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x1c357306 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x2a451e3b mwifiex_multi_chan_resync +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x2fae767a mwifiex_deauthenticate_all +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x31dcc960 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x342b8463 mwifiex_upload_device_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x35f369a6 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x3aa53d03 mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x4425700e mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x4aab5aa6 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5178b6da mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x791d38af _mwifiex_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x84667f78 mwifiex_prepare_fw_dump_info +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x886c8c19 mwifiex_fw_dump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x8e6724e9 mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x9efe097b mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xaf60c9db mwifiex_queue_main_work +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xb628d517 mwifiex_shutdown_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xb6b8ef89 mwifiex_main_process +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xcab25f74 mwifiex_drv_info_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd4dad9f3 mwifiex_alloc_dma_align_buf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd7915098 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xdc779b55 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xeb311426 mwifiex_dnld_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf2af2edd mwifiex_reinit_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x06556293 mt76_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x101db90c mt76_dma_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x11338977 mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x121ea42b __mt76_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x12751c7e mt76_txq_schedule_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x13a608e2 mt76_tx_status_skb_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x17f568e9 mt76_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1e11a4db mt76_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1e71c4f9 mt76_update_survey_active_time +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1ec57b4f __mt76_worker_fn +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1f8ac718 __tracepoint_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x20add523 mt76_mcu_rx_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2605805e mt76_insert_ccmp_hdr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x35e74181 mt76_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x374560ff mt76_tx_status_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3a06708a mt76_sta_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3e5eceb2 __mt76_mcu_send_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3f1c8e24 mt76_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3ff1e9bf mt76_tx_worker_run +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4069b0da mt76_get_min_avg_rssi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4594dccd mt76_ethtool_worker +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x45ec1408 mt76_init_sar_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4708dac4 mt76_rx_aggr_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4baa5158 mt76_pci_disable_aspm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4c911695 mt76_put_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4e1bc39b mt76_sw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4e94cd1f mt76_tx_status_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x517bfe24 mt76_tx_status_skb_done +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x539d7bf9 __mt76_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5a57043a mt76_tx_status_unlock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5d1b4e42 __tracepoint_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x67137537 mt76_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x69dd83f3 mt76_mcu_get_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6debc850 mt76_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6fa476d8 __mt76_poll_msec +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x708fc8d8 mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x71270514 mt76_unregister_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7984c20f mt76_mcu_send_and_get_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7b007336 mt76_tx_check_agg_ssn +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7b039d37 __traceiter_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7e7686a7 mt76_txq_schedule +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x805fc13a __SCK__tp_func_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x81422f05 mt76_eeprom_override +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8231fd89 mt76_get_of_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x841d79c5 mt76_stop_tx_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x848d80b4 mt76_dma_rx_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x96e9bf22 mt76_init_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x991da3e5 mt76_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa3d02900 mt76_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa4eb5e94 mt76_update_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa97d23e7 __mt76_set_tx_blocked +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xab48a44d mt76_tx_status_skb_get +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xac2be3b5 mt76_get_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xac9f1e76 __traceiter_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xaf137465 mt76_calculate_default_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb0bb6f87 mt76_alloc_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb1094061 mt76_register_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb3384c2c __mt76_mcu_msg_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb6e43e63 mt76_has_tx_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbd1c91d3 mt76_alloc_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc2a25108 mt76_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc44f31fe __mt76_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6315d8e __SCK__tp_func_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6634315 mt76_ac_to_hwq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc7189664 mt76_get_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc79ec713 mt76_free_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc8e8bd57 mt76_wake_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc9201edc mt76_register_debugfs_fops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xcc1ec2e1 mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xcd044458 mt76_unregister_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xcf8c78de mt76_seq_puts_array +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd20c59ee mt76_csa_finish +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd575fbbd mt76_queue_tx_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd74e3158 mt76_phy_dfs_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd7db1fcd mt76_mcu_skb_send_and_get_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdbd9d0da mt76_rx_aggr_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe36e59e3 mt76_set_stream_caps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe40b66ef mt76_wcid_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe5539fa0 mt76_get_rate_power_limits +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xea119b17 mt76_csa_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xefb30097 mt76_token_consume +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xefc572fd mt76_release_buffered_frames +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xefdd9797 mt76_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf06a5b50 mt76_token_release +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf2a05528 mt76_skb_adjust_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf31a8de3 mt76_set_irq_mask +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xfd7deef5 mt76_get_sar_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xff26e142 mt76_sta_pre_rcu_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x031c5201 mt76_connac_mcu_coredump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x044e5583 mt76_connac_mcu_set_vif_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x048a4010 mt76_connac_mcu_set_rate_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x15dd2277 mt76_connac_mcu_uni_add_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x1709283e mt76_connac_mcu_sta_uapsd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x1e000c07 mt76_connac_mcu_sta_basic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x26414030 mt76_connac_mcu_uni_add_bss +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x27f56a03 mt76_connac_mcu_sta_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x28251ed7 mt76_connac_mcu_set_suspend_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x297b255b mt76_connac_mcu_patch_sem_ctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2b3af06f __mt76_connac_mcu_alloc_sta_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2d68b4b4 mt76_connac_mcu_add_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2db7f0f1 mt76_connac2_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x34fa3c0a mt76_connac_get_he_phy_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x357e7577 mt76_connac_sta_state_dp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x3d06ad87 mt76_connac_mcu_cancel_hw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x3f68be68 mt76_connac_mcu_rdd_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x40ab0bd0 mt76_connac_mcu_sched_scan_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x41bb0341 mt76_connac_mcu_start_patch +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x45514afd mt76_connac_mcu_wtbl_ht_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x46e1445b mt76_connac_mcu_set_rts_thresh +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x50b5f015 mt76_connac_mcu_update_arp_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x52af279d mt76_connac_mcu_reg_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5f2a3c84 mt76_connac_pm_wake +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x65dcef54 mt76_connac_mcu_alloc_wtbl_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6b7b4d99 mt76_connac_mcu_sta_update_hdr_trans +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6eb6c4c9 mt76_connac_mcu_wtbl_hdr_trans_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7149b701 mt76_connac_mcu_hw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7451394d mt76_connac_mcu_start_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7961c27c mt76_connac_mcu_sched_scan_enable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7f22a863 mt76_connac_mcu_bss_ext_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x818ae65b mt76_connac_mcu_set_mac_enable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x899b0fa3 mt76_connac_mcu_set_deep_sleep +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x8a6b3380 mt76_connac_pm_dequeue_skbs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x8afcd3d9 mt76_connac_mcu_wtbl_update_hdr_trans +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x8cd002b4 mt76_connac_mcu_reg_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x908ca40c mt76_connac_wowlan_support +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x91597ace mt76_connac_mcu_chip_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x92512f4f mt76_connac_mcu_bss_basic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x97333762 mt76_connac_mcu_init_download +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x9ee520da mt76_connac_mcu_wtbl_ba_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa1b94d6e mt76_connac_mcu_wtbl_smps_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa6cdc33b mt76_connac_mcu_get_nic_capability +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa9ef553d mt76_connac_mcu_set_channel_domain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xabdaf942 mt76_connac_mcu_sta_ba_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xae820e80 mt76_connac_mcu_wtbl_generic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xb12b1a5b mt76_connac_mcu_update_gtk_rekey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xbed4f4e2 mt76_connac_mcu_beacon_loss_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xbf0b0fd2 mt76_connac_mcu_add_nested_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xc0ebe13d mt76_connac_power_save_sched +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xc7b429da mt76_connac_mcu_sta_ba +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xd40bee24 mt76_connac_free_pending_tx_skbs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xe12874c0 mt76_connac_mcu_set_hif_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xe15d87c6 mt76_connac_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xe19bf449 mt76_connac_get_phy_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xeadb24db mt76_connac_mcu_sta_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf32613eb mt76_connac_mcu_set_p2p_oppps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf5cbc548 mt76_connac_mcu_set_pm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xfb76c439 mt76_connac_mcu_bss_omac_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xfc6c65b2 mt76_connac_pm_queue_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x0a967150 mt76s_write_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x0ac150c2 mt76s_alloc_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x185270e6 mt76s_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x1d8889d1 mt76s_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x3c454861 mt76s_alloc_rx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x642bfd29 mt76s_read_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x83ec9d20 mt76s_hw_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x8b544bdd mt76s_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x8cd77a57 mt76s_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x961fcacb mt76s_txqs_empty +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xbbe0c75a mt76s_wr_rp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xbdf6a7c4 mt76s_sdio_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xc1323dbc mt76s_txrx_worker +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xf3da8669 mt76s_read_pcr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xf4319c5f mt76s_rd_rp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xfa6c2e8d mt76s_rmw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x04401bff __mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x24338a97 mt76u_read_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x2e94e4ec mt76u_queues_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x46755935 mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x50dc3c17 mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x5a329098 mt76u_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x6be6500c ___mt76u_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x8c3d8382 mt76u_single_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x9bdf1e40 mt76u_alloc_mcu_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xa4bc170d mt76u_stop_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xbb54d0e0 ___mt76u_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xd20f8044 __mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xed30a3d7 mt76u_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xef6569ee mt76u_stop_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x08996e45 mt7615_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1058067b mt7615_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x11c2509d mt7615_tx_token_put +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1b7a369a mt7615_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x2c4927cd mt7615_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x2c98980b mt7615_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3786e18c mt7615_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x431d97a0 mt7615_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4a6975f2 mt7615_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4c8c38f9 mt7615_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4f74ad6a mt7615_unregister_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4fecc7a4 mt7615_rx_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x50a450fd mt7615_thermal_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x656b558a mt7615_mcu_fill_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x65f21c37 mt7615_wait_for_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x858ab67e mt7622_trigger_hif_int +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x91c1f156 mt7615_register_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x989cd8dc mt7615_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9afa62c0 mt7615_txp_skb_unmap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa8ad8250 mt7615_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xac833714 mt7615_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xb4aa1741 mt7615_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xb97b2de1 mt7615_init_work +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc1fe565c mt7615_mac_set_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc306a10e mt7615_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc507a903 __mt7663_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xe7839add mt7615_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xf1537d6d mt7615_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615e 0xc862b4c9 mt7615_dma_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x048fa046 mt7663_usb_sdio_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x1506ffca mt7663_usb_sdio_reg_map +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x18476e4e mt7663_usb_sdio_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x7bdb52e9 mt7663_usb_sdio_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0xb4f04055 mt7663_usb_sdio_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x15dd3db4 mt76x0_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x469c56da mt76x0_set_sar_specs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x57e89ade mt76x0_init_hardware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x70c5fcf8 mt76x0_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xb9314eec mt76x0_chip_onoff +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xdc87544d mt76x0_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xefa3443b mt76x0_phy_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x01eea4d9 mt76x02_dma_disable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0462ce68 mt76x02_add_rate_power_offset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0d4023ec mt76x02_get_max_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1590c141 mt76x02_eeprom_parse_hw_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1a9ad792 mt76x02e_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x352e8d5f mt76x02_enqueue_buffered_bc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x35d2834d mt76x02_limit_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3d7cbd05 mt76x02_phy_adjust_vga_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3daed399 mt76x02_tx_set_txpwr_auto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4087c27c mt76x02_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x416635ea mt76x02_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4217ce55 mt76x02_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4df0a154 mt76x02_remove_hdr_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x52ccfdf2 mt76x02_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x590b5b43 mt76x02_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x599c2e33 mt76x02_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5a9b0954 mt76x02_mcu_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5a9f3221 mt76x02_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5bd84fd5 mt76x02_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5c93d0d4 mt76x02_set_ethtool_fwver +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x646a9285 mt76x02_eeprom_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6484f80d mt76x02_edcca_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6712c99c mt76x02_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6db422b3 mt76x02_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x74909177 mt76x02_sta_rate_tbl_update +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x777f5c98 mt76x02_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x787b3d67 mt76x02_phy_set_txdac +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x793c04c2 mt76x02_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7abba59b mt76x02_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7f9eee17 mt76x02_update_beacon_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x811af1ba mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x85c3aff3 mt76x02_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x88256561 mt76x02_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8a2a9aa9 mt76x02_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8e6ef291 mt76x02_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8e92cd8a mt76x02_mac_set_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8ffb282e mt76x02_get_efuse_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x91d5b9ee mt76x02_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9a51a9e5 mt76x02_mac_cc_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9dafbc70 mt76x02_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9db74136 mt76x02_mcu_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9dc21bcd mt76x02_get_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9dd9563e mt76x02_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9e4d3eb6 mt76x02_phy_dfs_adjust_agc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa45f5eec mt76x02_resync_beacon_timer +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xab1485a1 mt76x02_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xab3079a9 mt76x02_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb886be76 mt76x02_dfs_init_params +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbdc0e037 mt76x02_set_tx_ackto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbe3c6d93 mt76x02_mac_wcid_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc2380391 mt76x02_mcu_set_radio_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc4e80d7c mt76x02_mcu_function_select +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc52b61a0 mt76x02_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc5865e6e mt76x02_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc932a4bd mt76x02_dma_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xce2f723d mt76x02_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcef6adea mt76x02_phy_set_bw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd1c0a60a mt76x02_init_agc_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd6ac83bb mt76x02_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe57b3d4c mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe69efec0 mt76x02_set_coverage_class +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xeb95d2b9 mt76x02_get_lna_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xed001040 mt76x02_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xed3e185b mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xed5ab55a mt76x02_ext_pa_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf070ce95 mt76x02_mac_shared_key_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf3ac5789 mt76x02_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf6e74213 mt76x02_phy_set_band +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf7a0aeeb mt76x02_mac_setaddr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf8b99949 mt76x02_mac_reset_counters +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfcac85fe mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x2b233772 mt76x02u_mcu_fw_send_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x33bad537 mt76x02u_exit_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x46a9a4b5 mt76x02u_mcu_fw_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x5d1ad9e3 mt76x02u_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x7cf8717a mt76x02u_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x8f7c1a00 mt76x02u_init_mcu +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xa6e734b5 mt76x02u_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xcdae1f93 mt76x02u_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x02d8e7c2 mt76x2_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x09418774 mt76x2_mcu_load_cr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x25004a72 mt76x2_mcu_init_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x30d05210 mt76_write_mac_initvals +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x3860ad85 mt76x2_apply_gain_adj +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x4b2d749e mt76x2_reset_wlan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x4e38ca51 mt76x2_set_sar_specs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x750d744a mt76x2_mcu_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7e9687b2 mt76x2_configure_tx_delay +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x81faa4d7 mt76x2_phy_set_txpower_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x965e07b9 mt76x2_mcu_tssi_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa1fd0040 mt76x2_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa3a4c7f9 mt76x2_get_temp_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa6e33a78 mt76x2_read_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xb9f83747 mt76x2_get_power_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xc1891ad5 mt76x2_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xcecc489e mt76x2_get_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xcfceda3c mt76x2_phy_tssi_compensate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xdfaf4fe3 mt76x2_phy_update_channel_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xf95b9e82 mt76x2_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x006b8bfc mt7921_usb_sdio_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x05ea8d94 mt7921_mcu_drv_pmctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x173362f3 mt7921_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x20a698cd mt7921_mac_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x58a93346 mt7921_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x5992983e mt7921_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x64b79597 mt7921_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x6606caca mt7921_mcu_fill_message +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x69e32444 mt7921_mac_add_txs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x70c7b6f6 mt7921_usb_sdio_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7da2ed77 mt7921_mcu_set_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x80d4bac2 mt7921_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x8c74e6c9 mt7921_tx_check_aggr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x8dbd5330 mt7921_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x904b275d mt7921_usb_sdio_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xa059d501 mt7921_mac_sta_assoc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xa5f649d3 mt7921_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xa8d37556 mt7921_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xb37ae165 __mt7921_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xb5c7fee1 mt7921_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xb703f3e7 mt7921_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xc185978b mt7921_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xc703c904 mt7921_mcu_fw_pmctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xcd4dbc7e mt7921_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xea42d6ea mt7921_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x1bb869fd host_wakeup_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x60bd3fbb host_sleep_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x73c09dcc wilc_handle_isr +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x750f1437 chip_allow_sleep +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xbd235460 wilc_netdev_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xd21174b4 chip_wakeup +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xfbcc112f wilc_cfg80211_init +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x31fab83c qtnf_chipid_to_string +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x325f65de qtnf_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x330a4b6e qtnf_wake_all_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x5b853da9 qtnf_core_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xa4c15b06 qtnf_core_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xa5cf6a16 qtnf_classify_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xac55cc48 qtnf_trans_handle_rx_ctl_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x01c471f0 rt2800_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0981ce8b rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0c885def rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0fb8c2b2 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1536a486 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1a3e57c8 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2a8ba265 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2f070ae4 rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2ff9873f rt2800_get_key_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x319dd10a rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x324ba6a8 rt2800_txstatus_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x454fd0c1 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x473b6d22 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4a6ac531 rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x564d7a2b rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5b6e545b rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x648adea6 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6adfed34 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7042d852 rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x70ec0d9c rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7984db55 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7f81f7f7 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x81d3cadb rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x85ffd8db rt2800_pre_reset_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8f39a2b8 rt2800_txstatus_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x95d98504 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x982ac603 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x983f2329 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa67d662f rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xae63bc50 rt2800_txdone_nostatus +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc7830fb2 rt2800_get_txwi_rxwi_size +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xcd0e2bf3 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd356aea3 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd4d9d45d rt2800_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd8851a93 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd8e37008 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xdcc78e50 rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xde6b9cac rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xdee5cabe rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xdf0cc375 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe7ba4051 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xec8d7d6c rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xfb0c1c10 rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xfc6796fb rt2800_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x12b1b297 rt2800mmio_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x32ac3645 rt2800mmio_rxdone_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x376e6d1c rt2800mmio_init_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x3d741c87 rt2800mmio_pretbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5028bbb2 rt2800mmio_tbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x509a1d7f rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5745884b rt2800mmio_queue_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fa4db64 rt2800mmio_interrupt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x60bbc430 rt2800mmio_get_entry_state +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x68d9f4c0 rt2800mmio_toggle_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x97e3c029 rt2800mmio_autowake_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9f3c8921 rt2800mmio_txstatus_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9f4f551f rt2800mmio_init_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xa7e58a2c rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc823f300 rt2800mmio_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xd1a32a8a rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xd5d8531f rt2800mmio_write_tx_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe3a1e469 rt2800mmio_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe42738a2 rt2800mmio_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xe662d341 rt2800mmio_get_dma_done +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xea6a8b80 rt2800mmio_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xf3c86f71 rt2800mmio_fill_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0457832a rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x092db83d rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x10f5110d rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x18848ccf rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1b5dbc1a rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1cb058db rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x230a1e81 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x25f43e90 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2c12776d rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2e6885eb rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x303036f9 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x30b005de rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x33026a0a rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x57e28210 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5a5c4e6e rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5d69b0bf rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5e656e0e rt2x00mac_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5e6fe25a rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x60d0e84d rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6e95685d rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6fbc46d0 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x78ba6439 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7da7cee8 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x84899122 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x86869231 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x964ea57a rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x97d9aecc rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9f77427b rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa02ea29f rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa23fb611 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa73dac27 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa80678d8 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa9df5d61 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb292b0bb rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb87cb4e2 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xba8ae430 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xbb42eca5 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xbc090742 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc44c7770 rt2x00lib_txdone_nomatch +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xcd4fb68f rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xcd5bc62c rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd6114677 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd650df26 rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xdef07bef rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe147500b rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf33b54b3 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xfa03b3ce rt2x00lib_set_mac_address +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x6390f50a rt2x00mmio_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x689235d3 rt2x00mmio_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xcbb856a6 rt2x00mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xf2903ce5 rt2x00mmio_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xfe3d7169 rt2x00mmio_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x0fe7f282 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x3963e355 rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xeb67f67f rt2x00pci_pm_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x144a749e rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x182bd14e rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x1c05dc45 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x34327fb4 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x58852e76 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x6ba73a24 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x6f30bd65 rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7ae2e325 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x9a282d40 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xae664c93 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xb4de0704 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xc2698b34 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xce217957 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xd553bc59 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xda782ade rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xdd8dad6e rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x29126e27 dm_savepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x87839457 dm_restorepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x89fba0a7 rtl92c_set_p2p_ps_offload_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9ac729c0 dm_writepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x02f18373 rtl8723_phy_path_adda_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x0adc7663 rtl8723_phy_set_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x0ec4da36 rtl8723_phy_save_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1e8e6c45 rtl8723_phy_reload_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1f0536d7 rtl8723_dm_init_dynamic_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x245ada89 rtl8723_phy_rf_serial_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x2d612c01 rtl8723_fw_free_to_go +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x3f5bf9c0 rtl8723_phy_calculate_bit_shift +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x4b4e8508 rtl8723_phy_pi_mode_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x4eeb7cc5 rtl8723ae_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x554148d1 rtl8723_dm_init_edca_turbo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6ac9c366 rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6f14f0e3 rtl8723_phy_init_bb_rf_reg_def +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6f77fb0a rtl8723_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x78c73044 rtl8723_dm_init_dynamic_bb_powersaving +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x8baf8913 rtl8723_phy_set_sw_chnl_cmdarray +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x95a3b6e4 rtl8723_phy_reload_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xad7be276 rtl8723_phy_rf_serial_read +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xb4e02828 rtl8723_phy_path_a_fill_iqk_matrix +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xb9cfdfa4 rtl8723_phy_query_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xc3c01ddd rtl8723_save_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xd99fa0e4 rtl8723be_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xd9fa7aa5 rtl8723_phy_path_a_standby +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xe97be02a rtl8723_enable_fw_download +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xed54847a rtl8723_phy_mac_setting_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xeeb11365 rtl8723_write_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xf8956647 rtl8723_cmd_send_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0c1b3b44 rtl_tx_ackqueue +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x16837693 rtl_swlps_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x19e0ce22 rtl_deinit_rfkill +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x272b6bec rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2921a4d4 rtl_btc_status_false +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2d32cdfc rtl_lps_change_work_callback +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2e5382f9 rtl_fill_dummy +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x35ff76fe rtl_get_hwinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x36d992c6 read_efuse_byte +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x379e3182 rtl_tx_report_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4a97445c rtl_deinit_deferred_work +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4b3dcfa3 rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4e94cd48 rtl_global_var +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54e46edf rtl_lps_enter +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x566014dc rtl_fw_block_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x69ce0cd5 rtl_get_hal_edca_param +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6db3ba37 rtl_update_beacon_work_callback +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6fa51947 rtl_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x74fe8cb8 rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x777c2b16 rtl_init_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7c3e3da2 rtl_tx_mgmt_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x826d70f7 rtl_ips_nic_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8b3b9f94 rtl_init_rx_config +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x97e05663 rtl_tid_to_ac +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa08216ff rtl_set_tx_report +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa1981aba rtl_recognize_peer +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc5f30153 rtl_p2p_info +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd33e4714 rtl_fw_page_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xda700da8 rtl_deinit_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xdbe6254b rtl_action_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xeb0eb68a rtl_efuse_ops_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0f5c3ce9 rsi_zone_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x49c67273 rsi_91x_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x8badd542 rsi_hal_device_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x953e4800 rsi_91x_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xabe7f52d rsi_mac80211_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xcd173710 rsi_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xe7ed94f1 rsi_read_pkt +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xe1d7b3c8 cw1200_core_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xe96c3370 cw1200_core_release +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xf1831920 cw1200_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xf99a033c cw1200_can_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x58adab39 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x5e8f0e21 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x8da7cb33 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x06d3b27e wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0953e4b9 wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x09735dad wlcore_event_rssi_trigger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0de1c477 wlcore_event_sched_scan_completed +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x118e75f6 wl1271_acx_sleep_auth +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20351125 wlcore_get_native_channel_type +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x22476780 wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x23ce85a6 wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x297f3eee wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x300f237e wlcore_event_channel_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x386da02a wl1271_tx_min_rate_get +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x427cb0f8 wl1271_acx_set_ht_capabilities +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x498c7ce2 wlcore_event_max_tx_failure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x50b399a3 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x51b530a8 wlcore_event_dummy_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5af87e1e wl1271_acx_pm_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x60b9289c wlcore_set_scan_chan_params +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x62427a57 wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x64a424a1 wl1271_tx_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6676436b wl1271_cmd_data_path +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x695d58cb wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x78a42899 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x78d2d6b5 wlcore_cmd_generic_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7d180984 wl12xx_cmd_build_probe_req +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7d24cb33 wlcore_scan_sched_scan_ssid_list +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7e2e3e3c wl1271_acx_init_mem_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x80e7e6f5 wl1271_debugfs_update_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x85498cd1 wl1271_format_buffer +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8b1fd4d7 wlcore_event_ba_rx_constraint +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x96606d92 wlcore_event_soft_gemini_sense +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9d63a464 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9db6009c wlcore_event_roc_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9dc0130d wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa1329502 wlcore_scan_sched_scan_results +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xac91eff6 wlcore_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xade8ba44 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb393aaf6 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb648e4a7 wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xbf6701a9 wlcore_cmd_wait_for_event_or_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc146093e wl12xx_acx_mem_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc5410b60 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd503b17a wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xdd480924 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xddc89b17 wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe1fc4f4c wlcore_event_inactive_sta +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf32ec80b wlcore_disable_interrupts_nosync +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x2d6edd23 nfcmrvl_nci_unregister_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x8bf3726f nfcmrvl_nci_recv_frame +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xc5294e5d nfcmrvl_nci_register_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xe728efbb nfcmrvl_parse_dt +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x2b409ee5 pn53x_register_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x40161117 pn53x_common_init +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x6c9ca6aa pn533_rx_frame_is_cmd_response +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xab211e1e pn533_finalize_setup +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xbe76d32b pn53x_unregister_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xc035e26f pn532_i2c_nfc_alloc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdba91cf5 pn53x_common_clean +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdecfd339 pn533_rx_frame_is_ack +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x4b7efadb st_nci_hci_event_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x52cd023b st_nci_remove +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x53f59fde st_nci_enable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x672ac1f7 st_nci_disable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x8b39b81f st_nci_discover_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xbb24b4be st_nci_hci_cmd_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xdef4b3cf st_nci_hci_load_session +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xf0199823 st_nci_probe +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x272d2282 st95hf_spi_send +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x686b620a st95hf_spi_recv_response +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xba74b224 st95hf_spi_recv_echo_res +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x0862001f ntb_transport_tx_free_entry +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x1b8226ac ntb_transport_create_queue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x30934216 ntb_transport_max_size +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x32537aca ntb_transport_link_query +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x3d54dbfc ntb_transport_tx_enqueue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x436098aa ntb_transport_link_down +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x6e064fbd ntb_transport_register_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x82e6c13d ntb_transport_qp_num +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x9c992c8f ntb_transport_link_up +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xc270dc24 ntb_transport_free_queue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xc37d9036 ntb_transport_rx_remove +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xd40e7a02 ntb_transport_rx_enqueue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xef00cb87 ntb_transport_unregister_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xf55d6313 ntb_transport_register_client_dev +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xf9eb813f ntb_transport_unregister_client_dev +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0x1a6e4754 virtio_pmem_host_ack +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0xd3db7d61 async_pmem_flush +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x00c4a2ed nvme_stop_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x0e33ee50 nvme_change_ctrl_state +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x11abc494 __SCK__tp_func_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x20b8e481 nvme_host_path_error +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x22640a87 nvme_stop_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2ea5fe86 nvme_set_queue_count +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2ee82d3e __traceiter_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x30408ed6 nvme_cancel_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3b68ff87 nvme_cancel_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3c500e45 nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3d634097 nvme_complete_rq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x454978e2 nvme_wait_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4858cb48 nvme_start_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49db17df nvme_fail_nonready_command +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5eb2cf6c nvme_cancel_admin_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6213b8a0 nvme_remove_namespaces +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6466c19e nvme_enable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x66be9ddf nvme_init_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x721803f8 nvme_init_ctrl_finish +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7e30b331 nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7edc32a1 nvme_set_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7f0eeab2 nvme_sync_io_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x813cf212 nvme_io_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x86d43011 nvme_delete_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8a7290c8 nvme_uninit_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8a9c70ed nvme_sec_submit +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8e7ec2b6 __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x946439f5 nvme_cleanup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x95cfd110 nvme_setup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x96bc4e8d nvme_complete_batch_req +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9bb35b5b nvme_stop_keep_alive +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa30d6d2e nvme_get_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa3b6692f __nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb9573ef7 nvme_unfreeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xbac8c7d0 nvme_stop_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc00068ae nvme_wait_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc07fe56d nvme_complete_async_event +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc11124e9 nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc57ad34b nvme_start_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc646ac1e nvme_try_sched_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc77349db nvme_reset_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xcaf6df48 nvme_start_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd45434ee admin_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd58bbbcb nvme_delete_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xde30e742 nvme_disable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf4d0affa nvme_kill_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf5b558df __nvme_check_ready +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xff38c06c nvme_start_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xffd307e6 nvme_init_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xffe88b0b nvme_sync_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x03c59e5a nvmf_connect_io_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x394562ad nvmf_connect_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x3abec5bc nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x51c659eb nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x7db70b45 nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x9815299b nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xc24fd570 nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xd9d5a3f1 nvmf_reg_read64 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xedf3c852 nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xf5c4b9fe nvmf_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xf975b84b nvmf_ip_options_match +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x0d12e564 nvme_fc_register_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x3884f8b8 nvme_fc_unregister_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x3e33ac54 nvme_fc_rescan_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x58e312f7 nvme_fc_io_getuuid +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x7670dfbf nvme_fc_register_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x8a9cf5a7 nvme_fc_set_remoteport_devloss +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xbb0e18a6 nvme_fc_rcv_ls_req +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xfca9dc99 nvme_fc_unregister_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x0864f83f nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x27cc621b nvmet_req_alloc_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3e0ef07a nvmet_wq +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x4a6c06bd nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x75424b5e nvmet_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x760d4d4b nvmet_sq_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7ffe4962 nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x9940708c nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xbbf99b42 nvmet_check_transfer_len +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xc5b05473 nvmet_ctrl_fatal_error +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xd9be1d90 nvmet_req_complete +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xeace1d5b nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x0b98123d nvmet_fc_rcv_ls_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x1048b92a nvmet_fc_rcv_fcp_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x4a013682 nvmet_fc_invalidate_host +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x7fa5302a nvmet_fc_rcv_fcp_abort +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x8f2c45f4 nvmet_fc_register_targetport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x9ef76d99 nvmet_fc_unregister_targetport +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0x1591b2c6 hyperv_read_cfg_blk +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0x221394ae hyperv_reg_block_invalidate +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0xe5f73406 hyperv_write_cfg_blk +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0xfb921e00 hvpci_block_ops +EXPORT_SYMBOL_GPL drivers/pci/controller/pcie-iproc 0x50d5380a iproc_pcie_shutdown +EXPORT_SYMBOL_GPL drivers/pci/switch/switchtec 0x02cd4ad1 switchtec_class +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x0cdcf14d hisi_uncore_pmu_add +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x0eb52db3 hisi_uncore_pmu_identifier_attr_show +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x1551eff2 hisi_uncore_pmu_get_event_idx +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x26644f9b hisi_uncore_pmu_enable +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x3558c2fd hisi_format_sysfs_show +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x3ec4fc27 hisi_uncore_pmu_online_cpu +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x63db5550 hisi_uncore_pmu_del +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x69abdc34 hisi_event_sysfs_show +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x788fc0ac hisi_uncore_pmu_event_init +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x9f283f9f hisi_uncore_pmu_event_update +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xa0d1b25c hisi_uncore_pmu_set_event_period +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xac0eb508 hisi_uncore_pmu_stop +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xbc50033c hisi_cpumask_sysfs_show +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xc62a0c3b hisi_uncore_pmu_init_irq +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xd7669305 hisi_uncore_pmu_disable +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xe92a9fdc hisi_uncore_pmu_read +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xf61c15a9 hisi_uncore_pmu_start +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xfb6373d1 hisi_uncore_pmu_offline_cpu +EXPORT_SYMBOL_GPL drivers/phy/allwinner/phy-sun4i-usb 0xc6973b87 sun4i_usb_phy_set_squelch_detect +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x1d6884e5 tegra_xusb_padctl_enable_phy_wake +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x357d4cde tegra_phy_xusb_utmi_port_reset +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x3a9bb74c tegra_xusb_padctl_get +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x4cd2e2bb tegra_xusb_padctl_usb3_set_lfps_detect +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x57fed4bb tegra_xusb_padctl_usb3_save_context +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x61993c12 tegra_xusb_padctl_hsic_set_idle +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x70081cc5 tegra_xusb_padctl_remote_wake_detected +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x71898769 tegra_xusb_padctl_get_usb3_companion +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x79f59c42 tegra194_xusb_padctl_soc +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x806f9673 tegra_xusb_padctl_set_vbus_override +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x884540ae tegra_xusb_padctl_put +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xabc37799 tegra186_xusb_padctl_soc +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xcd0ae918 tegra_xusb_padctl_disable_phy_sleepwalk +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xd302076e tegra124_xusb_padctl_soc +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xd4551b0b tegra210_xusb_padctl_soc +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xe686e802 tegra_xusb_padctl_enable_phy_sleepwalk +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xeac63be6 tegra_xusb_padctl_disable_phy_wake +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-usb2 0x00d48f33 omap_usb2_set_comparator +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x90959fa6 mcp23x08_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xa0ee3b49 mcp23x17_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xf9e6fce6 mcp23s08_probe_one +EXPORT_SYMBOL_GPL drivers/pinctrl/qcom/pinctrl-lpass-lpi 0x895d31e1 lpi_pinctrl_probe +EXPORT_SYMBOL_GPL drivers/pinctrl/qcom/pinctrl-lpass-lpi 0xfde49f52 lpi_pinctrl_remove +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x7fed3afc cros_ec_sensorhub_register_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0xd7d00137 cros_ec_sensorhub_unregister_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros_usbpd_notify 0x6b1be500 cros_usbpd_unregister_notify +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros_usbpd_notify 0x8bda2df3 cros_usbpd_register_notify +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x06232959 ssam_remove_clients +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x065f5f71 ssam_controller_event_enable +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x0bca867b ssam_request_write_data +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x232410d0 ssam_client_bind +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x29045082 ssam_request_sync_init +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x352b2325 ssam_request_sync +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x3d379dd9 ssam_controller_statelock +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x3d598b68 ssam_device_driver_unregister +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x3fc90d5b ssh_packet_put +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x48b065c8 ssam_device_get_match_data +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x4c3793eb ssam_device_remove +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x4cdd6a17 ssam_controller_put +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x50c493b3 __ssam_device_driver_register +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x5caf5491 ssam_device_add +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x69ae2eb4 ssam_client_link +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x6ab05921 ssam_controller_event_disable +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x769b2f6f ssam_controller_stateunlock +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x8fa498c9 ssam_get_controller +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x9469de4a ssam_controller_get +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x97adfd77 ssam_device_alloc +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xa1898c1a ssam_notifier_unregister +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xa2267b71 ssam_request_sync_submit +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xad40c61b ssam_request_sync_free +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xb099bb5b ssam_device_type +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xbdc03c96 ssh_packet_get +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xc2bd582d ssam_device_id_match +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xc4a23b32 ssam_request_sync_alloc +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xda16b6b0 ssam_controller_device +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xeb25b7f8 ssam_device_get_match +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xf4411299 ssam_bus_type +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xf85422f4 ssam_notifier_register +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xffcb87a3 ssam_request_sync_with_buffer +EXPORT_SYMBOL_GPL drivers/platform/surface/surface_acpi_notify 0x48cf4c48 san_dgpu_notifier_register +EXPORT_SYMBOL_GPL drivers/platform/surface/surface_acpi_notify 0xd60bd773 san_dgpu_notifier_unregister +EXPORT_SYMBOL_GPL drivers/platform/surface/surface_acpi_notify 0xd881960a san_client_link +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x329090d8 devm_reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x4d6f0098 reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x71ee5a4f devm_reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0xd8583339 reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x290f2de3 bq27xxx_battery_update +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x61752559 bq27xxx_battery_teardown +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xec180395 bq27xxx_battery_setup +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x865bf71f pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x8c008f85 pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x9882ed96 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x2eae82b0 ptp_qoriq_isr +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x34109c02 ptp_qoriq_gettime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x3860f271 ptp_qoriq_init +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x7219fbc1 extts_clean_up +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xa58c58a5 ptp_qoriq_free +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xc44adecb ptp_qoriq_adjtime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xcae0a690 ptp_qoriq_adjfine +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xe6e25088 ptp_qoriq_settime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xfb650ec4 ptp_qoriq_enable +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x12260fd6 mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xa93a463a mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xb53a8608 mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xc2e2a580 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xe11068fc mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/rohm-regulator 0x7a5af030 rohm_regulator_set_voltage_sel_restricted +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x24f4af60 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x29508c23 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x72f566f6 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x8b56a10e wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x9b90ee4f wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xc23499e5 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0xc1a9cd6c wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x2646dead scp_get_venc_hw_capa +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x2989f1bd scp_mapping_dm_addr +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x3ec0e574 scp_get_rproc +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0xba865a86 scp_get_device +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0xc7e0a0d7 scp_get_vdec_hw_capa +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0xd2074fae scp_get +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0xe8989d13 scp_put +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x09313652 scp_memcpy_aligned +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x1fed5f1e scp_ipi_unregister +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x2aa4b3c3 scp_ipi_unlock +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0xa01c7905 scp_ipi_lock +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0xf567b632 scp_ipi_send +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0xf9f07903 scp_ipi_register +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x0fa538df qcom_register_ssr_notifier +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x28537867 qcom_add_glink_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x367d952b qcom_minidump +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x53d5f308 qcom_register_dump_segments +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x855ec1e0 qcom_add_smd_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xa00b6288 qcom_remove_glink_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xc0dc6a17 qcom_remove_ssr_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xc53e8299 qcom_remove_smd_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xd6cc0cc0 qcom_unregister_ssr_notifier +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xf4d90629 qcom_add_ssr_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_pil_info 0x30e58241 qcom_pil_info_store +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x0ec4756d qcom_q6v5_wait_for_start +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x3169e32f qcom_q6v5_unprepare +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x3fe5cd31 qcom_q6v5_request_stop +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x5a7a7f9e qcom_q6v5_deinit +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x63689e80 qcom_q6v5_panic +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x760382d8 qcom_q6v5_init +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0xd9bc4400 qcom_q6v5_prepare +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0x1482d168 qcom_sysmon_shutdown_acked +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0x8cb862a1 qcom_add_sysmon_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0xa881c6fc qcom_remove_sysmon_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/mtk_rpmsg 0x4d1e0928 mtk_rpmsg_create_rproc_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/mtk_rpmsg 0x86903274 mtk_rpmsg_destroy_rproc_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x149236da qcom_glink_native_remove +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x6be59b74 qcom_glink_native_probe +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xf14f5684 qcom_glink_ssr_notify +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xfd2d5a1d qcom_glink_native_unregister +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink_smem 0x350cb2d4 qcom_glink_smem_register +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink_smem 0x72dd75d9 qcom_glink_smem_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x07652bf0 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0b8cb994 cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0e43aff3 cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2a6e7e1c cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2e9f978a cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x35b5aa97 cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x39ac2212 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3b3e439d cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3bf2467c cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x418ceef4 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x46fa64e2 cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4ad4566b cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4b385088 cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4ff26a09 cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x55685cc0 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x588a4875 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x66a892d8 cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6d0bec76 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x71a0733f cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x78f4702f cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x86d7bb32 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x87733850 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8f69a46c cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x913b8a97 cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9af54267 cxgbi_device_find_by_netdev_rcu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa092b9a1 cxgbi_ddp_ppm_setup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa3b93f2e cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa57712a7 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa64cc7ec cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa7520c35 cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb46690e3 cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb7dee987 cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xba13ba02 cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc011af75 cxgbi_ddp_set_one_ppod +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xcd624aab cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd4e67d3d cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd7572b8c cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdcf4d79a cxgbi_device_find_by_netdev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdd36ae4d cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xdd4bc288 cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf221ac7a cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf4c9057f cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf768f501 cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf9705ebc cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfb1e56f5 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0e3a8146 fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x132788dc fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x16b52bf6 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x1a8c4cd7 fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x285677fe fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x293bfac5 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4540ac57 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x58c8560e fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x6e373753 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7e176318 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8bd5ea97 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xa2779995 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xaa4fcc2f fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbac58840 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc3ecb664 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc3f30cc0 fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xd0d3662a fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xeb0613db fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf167cb7a fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x54f5f3bf fdomain_destroy +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x930301a2 fdomain_create +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x07488a85 hisi_sas_scan_start +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x0834e576 hisi_sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x1c0053e9 hisi_sas_phy_oob_ready +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x1fa13930 hisi_sas_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x21995768 hisi_sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x2d11b7f0 hisi_sas_host_reset +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x32cd628f hisi_sas_probe +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x40ac648c hisi_sas_get_prog_phy_linkrate_mask +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x4fc22123 hisi_sas_stt +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x4fccb242 hisi_sas_controller_reset_prepare +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x5b5dbbca hisi_sas_controller_reset_done +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x70f128c8 hisi_sas_notify_phy_event +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x807eb305 hisi_sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x89486657 hisi_sas_sata_done +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x8cfbec3f hisi_sas_slot_task_free +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xa8cd271c to_hisi_sas_port +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xabdc4109 hisi_sas_get_fw_info +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xb03aa9c5 hisi_sas_rst_work_handler +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xb37608f7 hisi_sas_phy_down +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xb4b3b1eb hisi_sas_alloc +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xbc9a0552 hisi_sas_release_tasks +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xc3a41131 hisi_sas_debugfs_dump_count +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xcac7b873 hisi_sas_sync_irqs +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xd281f352 hisi_sas_stop_phys +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xd44bf666 hisi_sas_remove +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xd85849d5 hisi_sas_init_mem +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xe1cb199f hisi_sas_debugfs_dir +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xe330cb74 hisi_sas_sync_rst_work_handler +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xe987d9aa hisi_sas_debugfs_enable +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xebfae55c hisi_sas_get_ata_protocol +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xf211c219 hisi_sas_free +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x015a92da iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x77bc3fc0 iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x78eed944 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x8f6e5cd0 iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xa3d9d0e4 iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xaac8e5fc iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xf234fb2c iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0x344f6528 fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x012acd2e iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0787decc iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x101e86f6 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x10a4585b iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12bb4798 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x15b16a27 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x165d3f4e iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x16af5891 iscsi_session_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x231a2fef iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2373f5f0 iscsi_conn_queue_recv +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x282f3b9d iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x32356d35 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x32efa3df iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x33a94fb1 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x36f57d27 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x38c18ce5 iscsi_host_get_max_scsi_cmds +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3e54ab96 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4780bbf6 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x56c571c2 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5b9647c9 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5dc22a10 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6ad49e56 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6d28742a iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x74b65453 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x74d9b604 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7bac5f7a iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x84ef764a iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d303b1b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d351ca6 iscsi_suspend_rx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x94b4a6c4 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa06ffcf3 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa290f765 __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa8963beb iscsi_conn_queue_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc3a5eaaf iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc5484054 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc8a03bf8 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xccbb4877 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd78d6c26 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd7f9e168 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd98cd04a iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdb208446 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe02cd52b iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe2816a45 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe626697d iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeab9cbd5 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xee052333 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xee56412d iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xef08fcdd iscsi_conn_unbind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf1b1b151 iscsi_session_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf584afdd iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0c31e14e iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x22bcc7ef iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x23dd450d iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x35bb616f iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5f7e9d5a iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x629428ff iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6492d92a iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6582d816 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x92998728 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9d896c73 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xbbee2a26 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc96d088e iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd4e1467b iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xd7e02f5e iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xdb9a92bc iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xf4082bef iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfaa9b847 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0f971726 sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0fa07496 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0ffbd106 sas_execute_ata_cmd +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x13b83f08 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x14673a8e sas_clear_task_set +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x188fca69 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x18eaf915 sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1a1f9322 sas_notify_phy_event +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1ca30386 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x23440795 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2ab8f81b sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2bc6014f sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2e065d3d sas_execute_internal_abort_dev +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3f4cf085 sas_ata_wait_after_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5af9bdc6 sas_abort_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6268637e sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x86b83090 sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x86fa5eb0 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8a1d17de sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x90a070af sas_abort_task_set +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9153b205 sas_notify_port_event +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9223a6ad dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9d159ae7 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9dba69cc sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xaaae7525 sas_execute_internal_abort_single +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xabd0ec3a sas_lu_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb6d6f7f5 sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xbe5109dd sas_query_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc3cb832a sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc7f85a4f sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe59652ac sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xeabe5698 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xec7ff861 sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf0d049c8 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf481f223 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf4e87924 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfc8fb63f sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_fc 0xcd2b0fd0 fc_eh_should_retry_cmd +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x04106d76 iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x048bf685 iscsi_force_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0736dd10 __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x080f6617 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x08109e26 iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0bb1e43a iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x11158c30 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1bfb62f4 __traceiter_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x204fa53c iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x20d9f179 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x22bd2753 iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x27285847 iscsi_put_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2d37a470 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3785e561 __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3cf49053 iscsi_put_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4653f60d iscsi_remove_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x489f6c78 iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x49fa135e iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4a71b87a iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4ff0876f iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x584a31ab __SCK__tp_func_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x592c45a5 __traceiter_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5bfaa2c3 __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x61989ad3 iscsi_get_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x61c23657 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6a4210d3 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6c33af82 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x71b768b0 __SCK__tp_func_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x77796c8f __traceiter_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x81ec66ce iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84a005f1 iscsi_get_router_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x88179759 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x88768c48 __SCK__tp_func_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x906a7211 iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x921f126a iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x97167d5b iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9eac68e2 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa1951bb0 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa7b5ca95 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaa976bb3 __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xab4674c8 __SCK__tp_func_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb1e23ae6 __traceiter_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb68b0fb9 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb88316b8 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc071179 iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc6293e9b iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcecd2873 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd4b7c672 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd4e55f1e __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd7984e91 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xdcf9bb42 iscsi_add_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xddb6c0eb iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe0a9d881 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe0fe4793 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe301261d iscsi_alloc_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe4c79fa6 __SCK__tp_func_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf26f53f9 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf3e744d4 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf464538e __traceiter_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf46e6e9c iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x015be3da sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x38712bbf sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x45eda59c sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xc0ddfdb5 sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xcffa2aff spi_populate_width_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xe36e819b spi_populate_tag_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1902178a srp_tmo_valid +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x2cdced6b srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x45518644 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x459341b4 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x633a51a7 srp_stop_rport_timers +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x9a73442e srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xa470280f srp_rport_del +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x3484db3d siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x7b6e7a80 siox_master_unregister +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xb78b872d siox_device_connected +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xb9ce810e siox_master_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xbc0b0340 __siox_driver_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xc9a43898 siox_master_alloc +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x1443e622 slim_msg_response +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x3118de92 slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x357cdbce slim_get_logical_addr +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x4ed6bc8f slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x519cd0aa slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x68372d9a slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6e135377 slim_stream_disable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x753a9306 slim_writeb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x76f0bfc3 __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x81b27ef4 of_slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x8260782f slim_do_transfer +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x8dcac571 slimbus_bus +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x939e62d6 slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x9c8e0ff3 slim_device_report_present +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x9e1249f3 slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xa1890eca slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xa5036cb9 slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xaad5a8ae slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xc14d2f02 slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xcc374e90 slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd01cffef slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd0d0d014 slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd19f8060 slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd370f440 slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xdfe39dd4 slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf4187fe6 slim_register_controller +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0x1990b3e6 meson_canvas_get +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0x494128eb meson_canvas_alloc +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0x673c5a86 meson_canvas_config +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0xfbd79150 meson_canvas_free +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0x04b6bceb apple_rtkit_send_message_wait +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0x053a3fb5 apple_rtkit_reinit +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0x1aa05cb9 apple_rtkit_quiesce +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0x3623848a apple_rtkit_is_running +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0x3eea0f74 apple_rtkit_send_message +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0x4ccc1562 apple_rtkit_shutdown +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0xa1ace67f apple_rtkit_wake +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0xb1835bde apple_rtkit_is_crashed +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0xefe9a0fd apple_rtkit_start_ep +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0xf5a66fb3 apple_rtkit_boot +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0xfe320278 devm_apple_rtkit_init +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-sart 0x646576dd devm_apple_sart_get +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-sart 0xbaec16a4 apple_sart_add_allowed_region +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-sart 0xf2253fbc apple_sart_remove_allowed_region +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x0261cd01 dpaa2_io_store_next +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x1b7c4023 dpaa2_io_service_rearm +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x2ea89927 dpaa2_io_service_pull_channel +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x2f10852c dpaa2_io_service_select +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x3f8992eb dpaa2_io_service_release +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x44e62132 dpaa2_io_service_deregister +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x4994345c dpaa2_io_store_destroy +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x6560c60d dpaa2_io_service_acquire +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x79cf65a1 dpaa2_io_service_enqueue_qd +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x8edafa55 dpaa2_io_query_bp_count +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x9cf0ae64 dpaa2_io_service_register +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0xb9e81961 dpaa2_io_query_fq_count +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0xc784349c dpaa2_io_store_create +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x001e0af2 gpr_alloc_port +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x3dd22641 aprbus +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x7cfcbf7e __apr_driver_register +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x8d7249d4 gpr_send_port_pkt +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0xc31a37a8 gpr_send_pkt +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0xccf28c8a gpr_free_port +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0xec3f2807 apr_driver_unregister +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0xf87b35c6 apr_send_pkt +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x03c9a66d llcc_get_slice_size +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x0679b34d llcc_slice_getd +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x7e773088 llcc_get_slice_id +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0xad3516c4 llcc_slice_activate +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0xb534ec76 llcc_slice_deactivate +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0xb68b1300 llcc_slice_putd +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x34c9d0dd qcom_mdt_load_no_init +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x41c6fe35 qcom_mdt_pas_init +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0xd83477bd qcom_mdt_read_metadata +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0xe8a3861c qcom_mdt_get_size +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0xfc124593 qcom_mdt_load +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x81905d5c __sdw_register_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x919bd534 sdw_bus_type +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0xe918836f sdw_unregister_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-cadence 0xbadf95d6 sdw_cdns_debugfs_init +EXPORT_SYMBOL_GPL drivers/spi/spi-altera-core 0x3dab51ac altera_spi_init_master +EXPORT_SYMBOL_GPL drivers/spi/spi-altera-core 0xb9edd149 altera_spi_irq +EXPORT_SYMBOL_GPL drivers/spi/spi-bcm-qspi 0x64648917 bcm_qspi_remove +EXPORT_SYMBOL_GPL drivers/spi/spi-bcm-qspi 0x75aa8b0d bcm_qspi_pm_ops +EXPORT_SYMBOL_GPL drivers/spi/spi-bcm-qspi 0xba8b310e bcm_qspi_probe +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x290ad28a spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x43b9fe8a spi_bitbang_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x52088ddc spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x5cf1376a spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x6f34e590 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x99a99c38 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x42f881ab spi_test_run_test +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x487cbc4d spi_test_run_tests +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0xfd8dd0c8 spi_test_execute_msg +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x06c7850f spmi_register_zero_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x0ec50980 spmi_ext_register_readl +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x10cd4e85 spmi_controller_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x34eff6d9 spmi_command_wakeup +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x3d98bd8b spmi_command_sleep +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x3dd3a036 spmi_device_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x48bb4f2f spmi_command_reset +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x4d58c69e spmi_ext_register_writel +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x50bf6517 spmi_device_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x5f8ec5e0 spmi_ext_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x8e8de6bd spmi_command_shutdown +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x9b661f13 spmi_device_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x9f409812 spmi_ext_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xa71078a2 __spmi_driver_register +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xabb6ca0a spmi_controller_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xaf6ae96f spmi_controller_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xca9dc28e spmi_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xd4a85069 spmi_register_write +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0x4bf8f721 ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x1022e88f anybuss_write_input +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x1b82ca5e anybuss_finish_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x1d7b44eb anybuss_start_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x4832b72a anybuss_set_power +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x52ec6ee2 anybuss_read_output +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x79e7e698 anybuss_send_ext +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x84d6e158 anybuss_client_driver_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x97b68dcf devm_anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xa7c3032c anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xbe6fed53 anybuss_recv_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xc27ec588 anybuss_client_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xd2b7cb6e anybuss_send_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xdd24b8fe anybuss_read_fbctrl +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xfce879ad anybuss_host_common_remove +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x05ad5408 fieldbus_dev_online_changed +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x069ba8d4 fieldbus_dev_area_updated +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x1e5f6f5b fieldbus_dev_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x2c52691e fieldbus_dev_unregister +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x153a39b3 gb_audio_apbridgea_prepare_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x70c9b0a4 gb_audio_apbridgea_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7836d221 gb_audio_apbridgea_shutdown_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7c331f77 gb_audio_apbridgea_stop_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x961b8fff gb_audio_apbridgea_start_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x9774a40e gb_audio_apbridgea_start_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x9bb5793c gb_audio_apbridgea_register_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xa61019c5 gb_audio_apbridgea_prepare_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xa86421a8 gb_audio_apbridgea_set_config +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xb6ac3a37 gb_audio_apbridgea_unregister_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xcb1cf257 gb_audio_apbridgea_shutdown_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xcf193f01 gb_audio_apbridgea_stop_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xe9af50d1 gb_audio_apbridgea_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x131c25a6 gb_audio_gb_activate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x1a9252d4 gb_audio_gb_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x20548387 gb_audio_gb_activate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x49b39892 gb_audio_gb_deactivate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x5a11e9cd gb_audio_gb_set_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x6085a9f3 gb_audio_gb_get_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x67dd4c7c gb_audio_gb_enable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x7afb3eb3 gb_audio_gb_deactivate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x8f2ecac9 gb_audio_gb_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x968c0ea4 gb_audio_gb_get_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xc8ce6dbf gb_audio_gb_disable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xe43c1446 gb_audio_gb_get_topology +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xfde4cdc4 gb_audio_gb_set_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x19e9e6b1 gb_audio_manager_remove_all +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x32e6391e gb_audio_manager_remove +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x4931d4cf gb_audio_manager_get_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x4dbc441d gb_audio_manager_put_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x5a108b0f gb_audio_manager_add +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x79eef2f8 gb_audio_manager_dump_all +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0xaeac8ca2 gb_audio_manager_dump_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x296ea005 gb_gbphy_register_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x4ab84dfa gb_gbphy_deregister_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0xa82c8898 gb_spilib_master_init +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0xba9fc6df gb_spilib_master_exit +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0x071db666 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x05cc653c imx_media_dev_notifier_register +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x06693667 imx_media_find_subdev_by_fwnode +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x0ccf01a1 imx_media_find_subdev_by_devname +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x0e84114e imx_media_capture_device_remove +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x1182661d imx_media_free_dma_buf +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x3324fc73 imx_media_init_cfg +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x3a002b9c imx_media_add_video_device +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x3afc4948 imx_media_find_pixel_format +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x3bce7740 imx_media_pipeline_subdev +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x3c081ce3 imx_media_pipeline_video_device +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x534ba9e1 imx_media_find_mbus_format +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x551926b4 imx_media_of_add_csi +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x585ced8d imx_media_add_of_subdevs +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x64e76a21 imx_media_capture_device_error +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7a1208ea imx_media_get_pad_fwnode +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x8428084c imx_media_dev_init +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x9b226d4b imx_media_alloc_dma_buf +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xa631199b imx_media_grp_id_to_sd_name +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xa69b950a imx_media_probe_complete +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xa9e2459f imx_media_enum_mbus_formats +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xba1c7b7e imx_media_mbus_fmt_to_pix_fmt +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xc0e6162e imx_media_init_mbus_fmt +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xc86989f8 imx_media_capture_device_register +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xd4e45b7e imx_media_try_colorimetry +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xdcde70ed imx_media_pipeline_pad +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xdcf1d79c imx_media_pipeline_set_stream +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xe0d563fe imx_media_capture_device_next_buf +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xe41407f4 imx_media_capture_device_init +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xe932b00b imx_media_enum_pixel_formats +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xf8f20ad8 imx_media_capture_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xfc9c41c3 imx_media_pipeline_csi2_channel +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x03e917bb amvdec_dst_buf_done_idx +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x115655e9 amvdec_am21c_body_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x1cb1e6d9 amvdec_am21c_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x27bf3605 amvdec_remove_ts +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x350da76e amvdec_write_parser +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x3571fd31 amvdec_add_ts +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x3def2c78 amvdec_get_output_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x4beb1a33 amvdec_write_dos +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x5b7f8557 amvdec_write_dos_bits +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x5d4e6412 amvdec_dst_buf_done +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x5ff35ee8 amvdec_am21c_head_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x62e6f41e amvdec_read_parser +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x71327982 amvdec_src_change +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xb4b10d0a amvdec_set_canvases +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xc4ec1de4 codec_hevc_setup_decode_head +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xd92da480 codec_hevc_free_fbc_buffers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xd940a094 amvdec_abort +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xe55eafb4 codec_hevc_free_mmu_headers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xea6ddd8e amvdec_read_dos +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xed37afd1 codec_hevc_setup_buffers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xefc07917 codec_hevc_fill_mmu_map +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xf1a9b3e3 amvdec_clear_dos_bits +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xf29bacbf amvdec_dst_buf_done_offset +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xf6c88a95 amvdec_set_par_from_dar +EXPORT_SYMBOL_GPL drivers/staging/nvec/nvec 0x584a67fd nvec_msg_free +EXPORT_SYMBOL_GPL drivers/staging/nvec/nvec 0xf7afe6e4 nvec_register_notifier +EXPORT_SYMBOL_GPL drivers/staging/nvec/nvec 0xfbab743d nvec_unregister_notifier +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x118bed9b vchiq_mmal_port_disable +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x194c0bf1 vchiq_mmal_submit_buffer +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x1c73df7b vchiq_mmal_port_set_format +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x47bb3946 mmal_vchi_buffer_init +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x4bc18dc3 vchiq_mmal_port_parameter_set +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x5e6da8a2 vchiq_mmal_component_init +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x6192e1a2 vchiq_mmal_version +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x73577d20 vchiq_mmal_finalise +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x77a4f4c1 mmal_vchi_buffer_cleanup +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x7b36b0c8 vchiq_mmal_component_enable +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x808e0daf vchiq_mmal_component_disable +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xa627536c vchiq_mmal_port_parameter_get +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xaca4dd80 vchiq_mmal_init +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xae65bd33 vchiq_mmal_port_connect_tunnel +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xbb535bd8 vchiq_mmal_component_finalise +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xea377d26 vchiq_mmal_port_enable +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x3435e8e9 target_submit +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x36be1609 target_submit_prep +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0xb5b1405d target_init_cmd +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0xc3730292 target_queue_submission +EXPORT_SYMBOL_GPL drivers/tee/tee 0x04218a79 tee_client_open_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x18cc444a tee_shm_alloc_priv_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0x1e283b17 tee_client_invoke_func +EXPORT_SYMBOL_GPL drivers/tee/tee 0x2597b7c9 tee_device_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0x29666831 tee_shm_put +EXPORT_SYMBOL_GPL drivers/tee/tee 0x2b95fd41 teedev_close_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x315be432 tee_shm_get_from_id +EXPORT_SYMBOL_GPL drivers/tee/tee 0x367cc773 tee_shm_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0x3f92f03d tee_get_drvdata +EXPORT_SYMBOL_GPL drivers/tee/tee 0x42fede2b tee_client_open_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0x4fe815c5 tee_shm_pool_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/tee/tee 0x5604b33d tee_client_close_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x5d18d809 tee_device_unregister +EXPORT_SYMBOL_GPL drivers/tee/tee 0x634c1d6a tee_shm_register_kernel_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0x85fd9922 tee_session_calc_client_uuid +EXPORT_SYMBOL_GPL drivers/tee/tee 0x9fe5ca78 tee_shm_get_va +EXPORT_SYMBOL_GPL drivers/tee/tee 0xba883fd3 teedev_open +EXPORT_SYMBOL_GPL drivers/tee/tee 0xbcc16971 tee_bus_type +EXPORT_SYMBOL_GPL drivers/tee/tee 0xc0a07e8a tee_shm_get_pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0xc0d0e338 tee_client_get_version +EXPORT_SYMBOL_GPL drivers/tee/tee 0xdfa38f79 tee_shm_alloc_kernel_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0xdfe50cad tee_device_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0xe7fd2b1d tee_client_close_session +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x01d23ee1 tb_property_create_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x03c5cc07 tb_xdomain_release_out_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x1138610d tb_xdomain_find_by_route +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x11fb8ded tb_xdomain_enable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x1787cf18 tb_ring_start +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x2c86ccc9 tb_register_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x2ddb9886 tb_ring_stop +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x34174cfb tb_xdomain_request +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x37d4e6dc __tb_ring_enqueue +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x38d3274b tb_xdomain_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x393b4f2f tb_property_free_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4e5064a7 tb_property_find +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4e64bdfd tb_register_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x545ab89d tb_ring_alloc_rx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x603249ed tb_unregister_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x618afde9 tb_xdomain_release_in_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x6537276f tb_xdomain_find_by_uuid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x658e3d97 tb_property_add_immediate +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x689fbfcc tb_ring_poll_complete +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x70a16fe8 tb_xdomain_lane_bonding_disable +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x73ad2acb tb_property_get_next +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x73d9e27e tb_ring_poll +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x785eb82c tb_property_remove +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7f09b8bd tb_ring_alloc_tx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x8b62f95e tb_property_add_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa3d2b403 tb_property_add_data +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb618d9a8 tb_ring_free +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb7c7cdce tb_property_add_text +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xc073632f tb_xdomain_alloc_out_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xc3abe77b tb_xdomain_response +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xd646f8d4 tb_xdomain_disable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xd68ccd7e tb_service_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xda169f9b tb_unregister_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xdbab7414 tb_xdomain_alloc_in_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf1cfd1ff tb_register_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf76028c7 tb_unregister_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xfb47ef8c tb_xdomain_lane_bonding_enable +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x0d185f88 ufshcd_suspend_prepare +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x0e78d04e ufshcd_dme_get_attr +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x1337841e ufshcd_clkgate_delay_set +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x331ec357 ufshcd_release +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x359d4563 ufshcd_config_pwr_mode +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x36ebe104 ufshcd_init +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x53a99bcd ufshcd_dealloc_host +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x5812010f ufshcd_resume_complete +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x6fc916dc ufshcd_dme_configure_adapt +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x723b1abf ufshcd_delay_us +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x762cf566 ufshcd_dme_set_attr +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x83a44645 ufshcd_hba_enable +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x84ae546a ufshcd_link_recovery +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x9322753c ufshcd_uic_hibern8_exit +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x95ee0fb0 ufshcd_auto_hibern8_update +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xa6b0a670 ufshcd_update_evt_hist +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xafdd7e92 ufshcd_hba_stop +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xbc58e6e3 ufshcd_dump_regs +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xd19f068f ufshcd_make_hba_operational +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xe0f8a89e __ufshcd_suspend_prepare +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xe65fb4cb ufshcd_remove +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xed738dd3 ufshcd_uic_hibern8_enter +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xf5560686 ufshcd_hold +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xf6480b41 ufshcd_fixup_dev_quirks +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x54c946de ufshcd_init_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0xe878a1bf ufshcd_pltfrm_init +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0xf88d203f ufshcd_pltfrm_shutdown +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0xff85cd6b ufshcd_get_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/uio/uio 0x47901aca uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x82cc3886 __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xcce60e90 __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xf8f325af uio_event_notify +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x66bbdda5 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x7d5916a9 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x1370e1c2 cdns_resume +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x2b46d153 cdns_set_vbus +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x2cccebef cdns_drd_gadget_on +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x4cdf1bd8 cdns_clear_vbus +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x5d558f86 cdns_drd_gadget_off +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0xbfa0989b cdns_power_is_lost +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0xe351a079 cdns_init +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0xf0b60a9f cdns_remove +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0xf82d1c99 cdns_suspend +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x9c756cbb ci_hdrc_query_available_role +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xa097dc27 ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xbbd23bec ci_hdrc_remove_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xbd2098c9 hw_phymode_configure +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x28016f3a imx_usbmisc_init +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x2c4b2924 imx_usbmisc_hsic_set_connect +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x7d2e9fca imx_usbmisc_set_wakeup +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x9e7bc8ec imx_usbmisc_hsic_set_clk +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xba520194 imx_usbmisc_charger_detection +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xbe2ccae5 imx_usbmisc_init_post +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x0683637b ulpi_unregister_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x66f64da9 ulpi_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x9d5c3df3 __ulpi_register_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xa62f8c13 ulpi_read +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xac90ca58 ulpi_write +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xcf89c839 ulpi_register_interface +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x0a57c538 u_audio_set_capture_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x1f7eef39 u_audio_set_playback_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x33cc212c u_audio_start_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x4cc29e71 u_audio_get_capture_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x52c13746 g_audio_setup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x6c579557 g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x6dbf025b u_audio_start_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x8721f884 u_audio_get_playback_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x90f3df12 u_audio_set_volume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x9b1b14e9 u_audio_get_volume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xa3ff6210 u_audio_set_mute +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xa7530633 u_audio_get_mute +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xdf579a87 u_audio_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xe6c09565 u_audio_stop_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xf2e3f576 u_audio_stop_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x06336cf5 gether_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x1bc9bf1b gether_setup_name_default +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x223ad0c9 gether_set_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x39810f13 gether_get_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x41bc304e gether_get_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x4825d8ef gether_set_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x4a285c2e gether_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x8878cfa6 gether_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x9669aae1 gether_setup_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xa79890a0 gether_get_host_addr_u8 +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xa96119ac gether_get_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xcd9425a3 gether_get_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xd4daec21 gether_set_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xe6efaa95 gether_get_host_addr_cdc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xeb3de9b1 gether_set_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xf2bed692 gether_register_netdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xf8cbd66e gether_set_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x31773bc9 gserial_resume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x33bfdca2 gserial_alloc_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x4a3df9d0 gs_alloc_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x60db48f5 gserial_get_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x60ea48a0 gs_free_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x940ab138 gserial_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x9a0266e5 gserial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xb6652875 gserial_free_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xc0a01527 gserial_set_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xd1c404fb gserial_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xe89dc424 gserial_alloc_line_no_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x4264b4a1 ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x6c825859 ffs_lock +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0xa516419b ffs_single_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x141fce2a fsg_common_remove_luns +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1710b539 fsg_fs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1ccb58f7 fsg_common_set_num_buffers +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x2933ee1d fsg_ss_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x36c29438 fsg_show_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x398778e1 fsg_ss_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x3c6a07d0 fsg_common_create_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x3ecd81b8 fsg_store_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x423845e4 fsg_ss_bulk_in_comp_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x4d38ba31 fsg_lun_fsync_sub +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x56344daf fsg_hs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x67d13f0a fsg_show_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x6acb4179 fsg_common_set_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7e26d4a5 fsg_common_set_sysfs +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x81fb219e fsg_show_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x857b6dc2 fsg_hs_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x8abf6a99 fsg_store_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x90e44e1e fsg_common_remove_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x95cffb3e fsg_hs_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x9a0221c7 fsg_common_free_buffers +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x9b03e031 fsg_show_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa0d62b2c fsg_lun_close +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa5cae92f fsg_ss_bulk_out_comp_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa5f99b69 fsg_fs_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xab6c68ac fsg_config_from_params +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xae76cc0d fsg_show_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb3adf38d store_cdrom_address +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb52ba28a fsg_intf_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb54d0d95 fsg_fs_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xc14eedd6 fsg_store_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xc4e058ec fsg_store_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xc80a9e07 fsg_common_set_cdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xc91d0bd6 fsg_store_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xd102bc9c fsg_show_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xd1a3e8e0 fsg_common_create_luns +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xdaaf200f fsg_store_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xe984e475 fsg_lun_open +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xf4efc0c8 fsg_ss_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x064cc523 rndis_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x12c10e62 rndis_deregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x14448537 rndis_add_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x1e463356 rndis_uninit +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x2101b6a5 rndis_rm_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x54ea3eb3 rndis_signal_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x65029ceb rndis_set_host_mac +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x6e0a1e23 rndis_borrow_net +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x85208547 rndis_signal_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x8683b53b rndis_get_next_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xa308c0d6 rndis_set_param_vendor +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xae3c3c95 rndis_free_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xcd212eab rndis_msg_parser +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xed2cd91b rndis_set_param_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xef9e03d4 rndis_set_param_medium +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0182efcd unregister_gadget_item +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0c589aba usb_validate_langid +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0cb7e477 usb_ep_autoconfig_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x10172488 usb_composite_overwrite_options +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x1f9d0420 usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x20a8da95 usb_string_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x250832c0 usb_get_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x25850274 usb_function_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2b73d9a8 usb_add_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e09263f usb_copy_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e83432d usb_function_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x3c3efb31 usb_string_ids_n +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x41f1f1c2 usb_put_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x44c81b2f usb_remove_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4beb505d usb_gadget_get_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x568115aa usb_function_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5afa7e41 usb_interface_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x63b6b5f7 usb_get_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x659522b3 usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x6a871e97 usb_string_ids_tab +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x775f2cc7 usb_add_config_only +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7b1a375f usb_free_all_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x886f7955 usb_gstrings_attach +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa1172633 usb_put_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xaf9d4fa9 config_ep_by_speed +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb30e53e0 usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb6744931 config_ep_by_speed_and_alt +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb775db55 alloc_ep_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb814d77a usb_otg_descriptor_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xcace81b5 usb_add_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd276b4a0 usb_assign_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd2ea2134 usb_descriptor_fillbuf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd981db52 usb_ep_autoconfig +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xe1152463 usb_composite_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xeab49222 usb_otg_descriptor_alloc +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf474a207 usb_gadget_config_buf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf891f332 usb_ep_autoconfig_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xff7013ef usb_composite_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x5c802152 gadget_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x5d01d078 udc_irq +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x66b66421 free_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x78038962 udc_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x812cc0e1 udc_remove +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x89984c90 udc_mask_unused_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x926ad8d3 udc_enable_dev_setup_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xdbe9584c empty_req_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xf3f54803 udc_basic_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xf518cf5e init_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x01b12bfb usb_ep_free_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x01b9585b usb_gadget_set_state +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x022f9fa3 usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0a8c3b4b usb_ep_set_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0aa238f9 usb_gadget_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0acfe2e7 usb_ep_set_wedge +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0d90d784 usb_ep_fifo_flush +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x1069001e usb_gadget_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x1d98b685 usb_gadget_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x1ee0913b usb_gadget_vbus_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x2a066c99 usb_initialize_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x2d827aa2 usb_gadget_vbus_draw +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x49d9f030 usb_ep_fifo_status +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x49f71475 usb_add_gadget_udc_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x4b9c08e9 usb_gadget_wakeup +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x506ab3a9 usb_ep_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x50b88f41 usb_get_gadget_udc_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x53b8072d usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x54d463dc gadget_find_ep_by_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x553588c5 usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x56ee8e6e usb_gadget_map_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x59d220b6 usb_gadget_register_driver_owner +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5bb2986c usb_gadget_vbus_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5fc294ef usb_ep_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x623537b1 usb_gadget_set_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x63a5c515 usb_add_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7a41b9f2 usb_ep_set_maxpacket_limit +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7be89624 usb_gadget_giveback_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x80f98f82 usb_udc_vbus_handler +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x882077d5 usb_ep_dequeue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x8aadff73 usb_del_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x8c39ca5c usb_gadget_frame_number +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9d9b7ea1 usb_gadget_check_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9eb52803 usb_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa9e74462 usb_ep_alloc_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xaa993d20 usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xaefabc0d usb_gadget_unmap_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xaf201fa6 usb_ep_enable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc411e977 usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc61835fe usb_gadget_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xcda2d8dd usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xee1fbe47 usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xfbafd011 usb_gadget_udc_reset +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0xad6ca5f0 renesas_xhci_check_request_fw +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x82b46388 ezusb_fx1_set_reset +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0xbc7d9db4 ezusb_fx1_ihex_firmware_download +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x10b55446 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x21de52b9 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x296a2010 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x2c802059 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x321a849f usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x4a8b7a15 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x562903e1 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x5cef3ff5 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x6f622978 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x033c79cc musb_queue_resume_work +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x09492220 musb_mailbox +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x0b4a8834 musb_writeb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x2734197f musb_readb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x31c3c6ab musb_root_disconnect +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x647acca7 musb_get_mode +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x669594ad musb_clearw +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x6af8c6dc musb_writel +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x719a5e41 musb_readw +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x7bab203c musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xade3e56c musb_writew +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xe3d833d6 musb_set_host +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xe59efb0e musb_clearb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xe915ef15 musb_set_peripheral +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xf0f95e51 musb_readl +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x14c3b69a usb_gen_phy_init +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x1ddae76b usb_phy_generic_unregister +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x24fec2a9 usb_gen_phy_shutdown +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x27d02a68 usb_phy_gen_create_phy +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x6ea6ef23 usb_phy_generic_register +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-isp1301 0x31d004c6 isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0x0c341803 tegra_ehci_phy_restore_start +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0x18dc39c7 tegra_usb_phy_preresume +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0x9b07b70c tegra_ehci_phy_restore_end +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0xb03163dc tegra_usb_phy_postresume +EXPORT_SYMBOL_GPL drivers/usb/serial/usb_wwan 0xe9844012 usb_wwan_port_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0306cef7 usb_serial_generic_get_icount +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0446160e usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x21d5d875 usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x22c44dae usb_serial_generic_wait_until_sent +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x3ac00581 usb_serial_claim_interface +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5d50a791 usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x658dee81 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6aa8e512 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6ef3848c usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6fdd919f usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x797e245b usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7b557679 usb_serial_generic_chars_in_buffer +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x82dac15a usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x918816e5 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x921f87a7 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb46725fb usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb9bc3bcf usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd6f18b60 usb_serial_generic_write_start +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xdbe0e136 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe76324ba usb_serial_generic_tiocmiwait +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x91971d35 dp_altmode_probe +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0xf6686980 dp_altmode_remove +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x2e9ce268 tcpci_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x6f497a3c tcpci_irq +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xbe111953 tcpci_get_tcpm_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xc529e32e tcpci_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x10ec6d2d tcpm_sink_frs +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x3b84657b tcpm_pd_transmit_complete +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x76eeda4b tcpm_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x9e0bd753 tcpm_pd_hard_reset +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xb655342c tcpm_pd_receive +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xc37b9769 tcpm_cc_change +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xceb50012 tcpm_vbus_change +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xdf94fcf0 tcpm_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xea220941 tcpm_tcpc_reset +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xeb779665 tcpm_sourcing_vbus +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x00996e3d typec_altmode_get_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0d2227c7 typec_set_mode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1598f70e typec_port_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x15ae0cfd typec_unregister_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x17969caa typec_set_pwr_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x18b3ef5e fwnode_typec_mux_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x20fd5383 typec_set_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2742c3b0 typec_mux_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x28500240 typec_altmode_put_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2d1e301d typec_find_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3531b527 typec_get_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x36b0894c typec_plug_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x390f35d8 typec_partner_set_num_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3a2a5bf6 typec_get_negotiated_svdm_version +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3cac3309 typec_set_vconn_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3ccdd706 __typec_altmode_register_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x402cdf03 typec_partner_set_svdm_version +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x418548dd typec_partner_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4ebaa210 typec_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x502fc34e typec_mux_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x55ace9ab typec_unregister_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x56e6fb42 typec_get_fw_cap +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x58833147 typec_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x61027f75 typec_partner_set_pd_revision +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x611b6af2 typec_register_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6b3d9465 typec_mux_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x70ca94cb typec_altmode_notify +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x74f3f5df typec_partner_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7b0d7db9 typec_unregister_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7df8024b typec_register_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8480b1b0 typec_altmode_exit +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x86521d45 typec_switch_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x89e9fc43 typec_register_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8fd1ea08 typec_altmode_attention +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9049491e typec_find_port_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x92a3f982 typec_altmode_vdm +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9c03746b typec_cable_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9c91c2d7 typec_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9e30a60d typec_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa254de98 typec_find_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa36e3130 typec_port_register_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa6a35642 typec_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa7adc2c6 typec_plug_set_num_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb9b72159 typec_mux_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbb9a5dba typec_unregister_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbee9117c typec_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc111a684 typec_altmode_enter +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc157541d typec_mux_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xcaee9704 typec_switch_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xcc1eea51 typec_cable_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd0fdb216 typec_altmode_update_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd2fa1286 typec_switch_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd3ca17c2 typec_set_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd57eba20 typec_altmode_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd735801c typec_altmode2port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe22a91dc typec_set_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe2bfa621 typec_altmode_get_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe64ee622 fwnode_typec_switch_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xeafc1eb8 typec_find_port_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf1234a8b typec_find_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf3475dd0 typec_cable_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf3e2f440 typec_cable_is_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xfc8df340 typec_mux_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xfed42ed7 typec_match_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x39dd79d6 ucsi_send_command +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x3f2c65a8 ucsi_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x80937b80 ucsi_connector_change +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x92c5c52a ucsi_register +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xa146e061 ucsi_destroy +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xa810d736 ucsi_resume +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xbf1fa631 ucsi_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xcfda26cd ucsi_create +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xf5b8830b ucsi_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x33b3aa51 usbip_recv +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x3ac9663e usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x46502d61 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x508d1e09 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x536038c9 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x626ccea7 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x63484706 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7628de3e usbip_start_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x8406d34b dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x8db90c02 usbip_in_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xdc636c2f usbip_event_add +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe465b5e5 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xf31ba039 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x0ace1643 __vdpa_alloc_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x1b756c58 vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x83cae512 vdpa_unregister_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xa1f02d49 vdpa_get_config +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xa678b450 _vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xb361c87a vdpa_set_config +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xb3e39557 vdpa_mgmtdev_register +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xbf3f53f8 _vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xca661d7e __vdpa_register_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xcb0512a0 vdpa_mgmtdev_unregister +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xec4afd71 vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa_sim/vdpa_sim 0xbe8f44dc vdpasim_create +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0x8f109936 mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x0136a3dc vfio_pci_core_close_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x30b827fb vfio_pci_core_ioctl_feature +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x36a4fb0c vfio_pci_core_enable +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x4cf699b8 vfio_pci_core_set_params +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x6650acaf vfio_pci_core_ioctl +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x6c1278a8 vfio_pci_core_mmap +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x79951100 vfio_pci_core_sriov_configure +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x86b1d547 vfio_pci_core_disable +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x89717bc3 vfio_pci_core_write +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x90d77978 vfio_pci_core_register_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x9ea0bd58 vfio_pci_core_err_handlers +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x9f6bcc53 vfio_pci_core_finish_enable +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xa78e3ad8 vfio_pci_core_unregister_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xb4a1cf24 vfio_pci_core_read +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xc416f7a7 vfio_pci_core_aer_err_detected +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xc73f46d9 vfio_pci_register_dev_region +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xcfb17dd6 vfio_pci_core_uninit_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xdff48620 vfio_pci_core_init_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xe49801a5 vfio_pci_core_request +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xfcce6f3c vfio_pci_core_match +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x341b9e92 vfio_platform_probe_common +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x47236104 vfio_platform_remove_common +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x4ae73b19 vfio_platform_unregister_reset +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x6690d401 __vfio_platform_register_reset +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x0076350b vfio_file_has_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x22d5c6d1 vfio_file_set_kvm +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x2b16f208 vfio_mig_get_next_state +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x5017ee6b vfio_unregister_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x60a634c4 vfio_info_cap_add +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x6cfad355 vfio_init_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x71c007f3 vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x83bdc29c vfio_uninit_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x9daf84d9 vfio_file_enforced_coherent +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xa396093d vfio_register_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xa61a4d30 vfio_register_emulated_iommu_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xacf3191c vfio_register_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xd543730e vfio_assign_device_set +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xffe6da6d vfio_file_iommu_group +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x4aae6200 vfio_virqfd_enable +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0xf74b6dad vfio_virqfd_disable +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x13dfbf23 vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1cb7524e vhost_poll_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1eaed162 vhost_poll_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x2c55d5fc vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x2f83f15c vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x2f9f10cc vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x39ced529 vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3ad12b9f vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x58307ebc vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x58dc926d vhost_set_backend_features +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x59d24993 vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5e764a40 vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x62d0b8e6 vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6939990c vhost_vring_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6d86363f vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x716f9ae7 vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7527db3e vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x76618767 vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x822f79f7 vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x825740b2 vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x985d4f25 vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa5d14aa5 vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa67326af vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa8f81748 vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa909cfc5 vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xab1c787a vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xad24f0c5 vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb31ef294 vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb6026213 vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xbe8f8126 vhost_disable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc259f5aa vhost_work_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd078de66 vq_meta_prefetch +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd2e5cb69 vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd7c87630 vhost_dev_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xde86d972 vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf15ce23b vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf16f7390 vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf2098a57 vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf2f5709d vhost_clear_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf69a10e3 vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf7d8aa58 vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfd2b3e45 vhost_dev_reset_owner_prepare +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x38ff875f vhost_iotlb_add_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x69e872f9 vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x83be64b9 vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x885512a2 vhost_iotlb_add_range_ctx +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x8a7d8ee9 vhost_iotlb_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xa24517eb vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xc577832d vhost_iotlb_alloc +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xf9deb0db vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x78f297ac ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x87a917cd ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x886d06a7 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x8db8609d ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x96b278e8 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xb7dcdd25 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xe79dcb96 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_ddc 0xcb9b063e fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x82285e55 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0xd894ecfd fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x46f99fc8 sis_malloc_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x5e747318 sis_free_new +EXPORT_SYMBOL_GPL drivers/w1/wire 0x047c350e w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0x1cc14571 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x2c018997 w1_touch_bit +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63757e92 w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x76570f9d w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7de10226 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x8ab5357a w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x8cba8c82 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x9cf1f5be w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc8330e66 w1_triplet +EXPORT_SYMBOL_GPL drivers/w1/wire 0xdefea42b w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0xf873377d w1_write_block +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x1ac4c605 xen_front_pgdir_shbuf_map +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x1b0e34ae xen_front_pgdir_shbuf_alloc +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x3070d10a xen_front_pgdir_shbuf_free +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x39a7947f xen_front_pgdir_shbuf_get_dir_start +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0xed77a858 xen_front_pgdir_shbuf_unmap +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0x359b08db xen_privcmd_fops +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0xa7505943 xen_privcmdbuf_fops +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4b62826c dlm_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x647d6170 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x8554b8c6 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x85c83bb0 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcd224e1d dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xd14938b9 dlm_posix_get +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x351dcd70 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x4145286e nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77518c7f lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x804b09e5 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x9aad9ffa nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xb371d34a lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xe4725e6a nlmsvc_ops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0108bf64 nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03987cd2 nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03a98c10 __traceiter_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03eacb8c nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x06314eea nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0762f5fa nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0aa53b9a nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0addf8f9 nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0d8c5186 nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1040c078 nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1064549c nfs_file_set_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x14ec986b nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x165235dc nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x18a0ef1b nfs_access_get_cached +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1b5026ee nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2097381b nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22d795a8 _nfs_display_fhandle_hash +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2300a851 nfs_d_prune_case_insensitive_aliases +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26884ff7 nfs_alloc_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x281de790 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2c838ef9 nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2ef3777d nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x30496988 __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x308baf77 nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x31126e64 nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3795b279 nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x383b2d67 nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x38a0d41b nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3bca7de2 nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3cfa620d nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3f2690f2 nfs_check_flags +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40739385 nfs_wait_bit_killable +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x41edf539 nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f2c81f nfs4_client_id_uniquifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x44cc3a41 __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4ae2d31b nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4b983a09 nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb9e001 recover_lost_locks +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4efedf64 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4f13935b nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4f90c7d0 nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4fbe558f nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x503a7624 nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x517fe03c nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51892d61 nfs_callback_set_tcpport +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x522e1a6d nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x535a44c3 nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5400b40c nfs_clear_verifier_delegated +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x571a0e7b nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x57522808 nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5909cd9d nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x59923eb3 __tracepoint_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5f07028d nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5f7ea8ca nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x605068df nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x60bf152f nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x62677163 nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x628bdfef nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x650d2aa7 nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6a238c2c nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6a341ce9 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6af798d8 nfs_write_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6c129fe8 nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6dc67081 register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6de84688 nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e81f032 __SCK__tp_func_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6fcb4a80 nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6fe85828 nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x732b30e5 nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x73dff4c0 __SCK__tp_func_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x76e36686 nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7755e603 nfs_alloc_fattr_with_label +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x77be2b78 nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x78632a25 nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7a40d235 nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7b2ec233 nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7bd2a40c nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c9722ba nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7dcb1a80 nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x80750c16 nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x83237fc8 nfs_wait_client_init_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x84152447 __traceiter_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8499de4f nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x87a15688 nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x88aba3b1 nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8d10bf43 nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8d332678 nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8dda73bd nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8df25cef nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x901446f5 nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90a5530f nfsiod_workqueue +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x91d1fe52 max_session_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x93698592 put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x95007f7e __SCK__tp_func_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x982c7376 nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98b0ece8 nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9b2582a0 nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9b550d79 nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9bfbc030 nfs_check_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9d3bd5b0 nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9e31bc65 nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9f2a85a0 nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9fc982be get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa2ffef68 nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa33ac919 nfs_flock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa7607766 nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa794060c alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa88a7645 nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8c48021 nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8e9e1ae send_implementation_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaaf35ecb nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaafd4acc max_session_cb_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xab0ef905 nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xab539f00 nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xabf82caa nfs_probe_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xadbdc9b6 nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xae186620 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaeea3b5d nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb12f4b8d nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb2a1a1d1 nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb3ada37b nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb48bd912 nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb52736fd nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb6214f98 nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb816c8d7 nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xba18bd41 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbec22801 nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbf1569bb nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a2be67 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc5aa7e28 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc6c8b8f1 nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc779b47f nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcf88a3b7 nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcfe5577e nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd0476d64 __traceiter_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd1802798 __traceiter_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd230df67 nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd2cd19a2 nfs_mkdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd46bbece nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd4d21a4c unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd55c5632 nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd57c83a5 nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd74c0e96 nfs_set_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd7c458e9 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdae9b5d7 nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xde07039e nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdea5d0c8 nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe102eb0b nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe2e04c4d nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe70507df __tracepoint_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xefa7ea73 nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf1c5fe7b nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf23f7801 nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf374bc1a nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf4e67b03 nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf56201a7 nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf7675fb9 nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf8b433fe nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf96f04c4 __SCK__tp_func_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf96fd9b8 nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc0644c4 nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc619abd _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0xed22b89e nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x02282421 pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x04f10ebf nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x062eebb7 pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x065ae358 pnfs_error_mark_layout_for_return +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x07538988 pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x08b2c467 __SCK__tp_func_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0a83f44f nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0aebca68 __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0bb13d8f pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0e57f80b pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0f01076e __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0ff289f3 __SCK__tp_func_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x194b0038 nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1ab64c9e pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x22b29c83 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x23018a87 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2556fd43 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x27ad47ea __SCK__tp_func_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x27cc665c pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2cb4ee01 nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2cee3c01 pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2cf7459f pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2d27d5f7 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3008b7ad __traceiter_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x30a44ac3 __SCK__tp_func_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x32bb6e05 __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x33a0fc22 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3602e843 pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3995f054 __traceiter_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3bcabe90 nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3cb2a1a8 __traceiter_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4235a913 nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x498e8d56 __traceiter_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4b9c386a pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4ccb2819 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4f84ebb9 nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x512a49c8 pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x533c198f __SCK__tp_func_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5536f418 __traceiter_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x579126b8 __SCK__tp_func_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5a4314e9 __SCK__tp_func_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5ce462a3 __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6085edbd nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x61d9463b pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x622027c4 nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x65d58d50 __traceiter_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x66f82717 nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69248ee7 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6ae86aa1 pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x785c06ab __SCK__tp_func_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7a4e7f4e __SCK__tp_func_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7ab7bcc6 __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7cd013a8 __SCK__tp_func_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7d13f319 pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7d17714c nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7dd4c65f nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fbcc924 nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x81abf3fb nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x82409884 __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x85574d96 __traceiter_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8aa18c2c nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8ad313e1 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8c76fa03 pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8e333905 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8fa12e2b nfs4_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9398c7e3 pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x93d0dfbd pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x974a1614 __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9a1a74c3 __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9b0fb94f nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9c837665 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa12656f5 __traceiter_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa13a4e0d __traceiter_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa13b2073 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa3c86d73 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xac6ceaef pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xaf51beae pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xaff955a7 pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb01d2346 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb3eecd6c pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb5607f27 __traceiter_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb56bc862 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xba36f6e2 pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xba53a1ef __SCK__tp_func_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbc3885b0 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc6f1b356 nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc7a9d954 __SCK__tp_func_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc8e7d93f pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc92fb20c pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcec8ecef pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcf29b95f __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd0ecfaad __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd1cb0560 pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd725c884 __traceiter_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdf6991a4 __SCK__tp_func_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe19f5ee0 __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe437ef55 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe615ee75 nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe8bca46f __traceiter_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe8d99a27 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xeae8522f __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed7f4053 nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xede41327 __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xeef54000 nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xef4f7f23 pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf7801360 nfs41_maxgetdevinfo_overhead +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf999267e pnfs_generic_commit_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xff0b47b7 __traceiter_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1192568f locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x7b4075ba locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0xc41d8499 opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x1d9f37b2 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x6661eb15 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xe08a7d94 nfs_stream_encode_acl +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xef1f8398 nfs_stream_decode_acl +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0xe9631710 nfsd4_ssc_init_umount_work +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x14ade821 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x58c88ff2 o2hb_get_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x5e95a4b2 o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x61780c44 o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6a0c3847 __mlog_printk +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x753a0d0d o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x76f56825 o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xab9cac88 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb6ebf62a o2nm_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbd13ee5d o2hb_check_node_heartbeating_no_sem +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfeaa4a4 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc4d99852 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd859ac8c o2net_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xdc07e6ae o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf56c2017 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf982e6db o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xfe1298f3 o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x606f3f63 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x89df923e dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xace7b6a5 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xc40ad45e dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xc40fcbcf dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfea1f5f9 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0a726931 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0cfd3fc5 ocfs2_cluster_connect_agnostic +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x1475f64b ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x54216dda ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x76f40744 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x80f4d418 ocfs2_kset +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x9507547f ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x9aabe49a ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xaf969565 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xc5196999 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xc9fae756 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xcafdd707 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd344e4ee ocfs2_stack_glue_set_max_proto_version +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd806a273 ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xdd424ee7 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x381b7562 register_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x3c10daaa unregister_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x43cc3d4b pstore_blk_get_config +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x359c5670 unregister_pstore_zone +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x41fa4865 register_pstore_zone +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_arc4 0xabd9af6d cifs_arc4_crypt +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_arc4 0xc4c73891 cifs_arc4_setkey +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0x798f3830 cifs_md4_init +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0xceecd9e4 cifs_md4_final +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0xdef1096d cifs_md4_update +EXPORT_SYMBOL_GPL lib/842/842_compress 0xcf048a91 sw842_compress +EXPORT_SYMBOL_GPL lib/842/842_decompress 0xa4adedf1 sw842_decompress +EXPORT_SYMBOL_GPL lib/bch 0x0c303f52 bch_encode +EXPORT_SYMBOL_GPL lib/bch 0x0d3e3481 bch_free +EXPORT_SYMBOL_GPL lib/bch 0x1a267fa8 bch_init +EXPORT_SYMBOL_GPL lib/bch 0x860a2eab bch_decode +EXPORT_SYMBOL_GPL lib/crc4 0x696b3a5a crc4 +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x0105b595 des_encrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x574eda34 des3_ede_decrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x856a5ef3 des3_ede_encrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa6aa9857 des_decrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa77b3b62 des3_ede_expand_key +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa8fb743d des_expand_key +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x39e8fa4b poly1305_update_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x4a833012 poly1305_final_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x8c874435 poly1305_init_generic +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x5a7b7e49 notifier_err_inject_dir +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0xb944bc69 notifier_err_inject_init +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x1803a6ed raid6_2data_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x804a5b70 raid6_call +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0xe4b051cf raid6_datap_recov +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x1d29b9e1 decode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x561835eb init_rs_non_canonical +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x63adbf92 encode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xa32f3d9e decode_rs16 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xeb2f825c init_rs_gfp +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xfd581da1 free_rs +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x3aa5acf1 lowpan_header_compress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0xa7cf3371 lowpan_header_decompress +EXPORT_SYMBOL_GPL net/802/garp 0x36f3ed23 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x81403f40 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x998e948d garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xaa2555c4 garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xb2c66635 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0xccaedf1d garp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0x2275868c mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x271ecb05 mrp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0x27e7a3b4 mrp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0x8d0bc0f7 mrp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0x93d4a3a0 mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0xf89ba3e4 mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/stp 0xc5fdbe3c stp_proto_unregister +EXPORT_SYMBOL_GPL net/802/stp 0xef5dc7da stp_proto_register +EXPORT_SYMBOL_GPL net/9p/9pnet 0x2dba87a9 p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0x878d3fec p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/atm/atm 0xb09faf79 register_atmdevice_notifier +EXPORT_SYMBOL_GPL net/atm/atm 0xcfb6a3da unregister_atmdevice_notifier +EXPORT_SYMBOL_GPL net/ax25/ax25 0x4559c0df ax25_register_pid +EXPORT_SYMBOL_GPL net/ax25/ax25 0xac93ae05 ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x32243e0b bt_debugfs +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x33ea9c61 l2cap_chan_set_defaults +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x39b0a4ef l2cap_chan_connect +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x4d974cdf l2cap_chan_create +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x509c9a1e l2cap_chan_send +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x83846590 l2cap_chan_del +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xae7e7aee l2cap_add_psm +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xc31234af l2cap_chan_put +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xe59ed275 l2cap_chan_list +EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0xbac99a5f hidp_hid_driver +EXPORT_SYMBOL_GPL net/bridge/bridge 0x09c590f3 br_mst_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x1788a85c br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x1d145a23 br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/bridge/bridge 0x30310b2c br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0x5a9efa28 br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x5b397e48 nf_br_ops +EXPORT_SYMBOL_GPL net/bridge/bridge 0x60ff87e3 br_vlan_get_info_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x651523d3 br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0x6ed4174b br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0x76494a48 br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7987c282 br_mst_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x8303eb48 br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0x8688e7d4 br_multicast_has_router_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x8915ad99 br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/bridge/bridge 0x89c53815 br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0x8b86dc6f br_vlan_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x9ac1bc09 br_mst_get_state +EXPORT_SYMBOL_GPL net/bridge/bridge 0xbd04a920 br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0xd5d46d86 br_get_ageing_time +EXPORT_SYMBOL_GPL net/bridge/bridge 0xe0382d8b br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0xe361ec37 br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0xeb48ed19 br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0xef275e18 br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0xf2bd969f br_port_get_stp_state +EXPORT_SYMBOL_GPL net/bridge/bridge 0xffebbf92 br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/core/failover 0x5a519389 failover_slave_unregister +EXPORT_SYMBOL_GPL net/core/failover 0x810be68a failover_unregister +EXPORT_SYMBOL_GPL net/core/failover 0xdce64955 failover_register +EXPORT_SYMBOL_GPL net/dccp/dccp 0x014a1f33 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x07477fb5 dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0ab1c06b dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0e4fac9e dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x14ed9358 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x17746e0d dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1ef90aae dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1f4c42e6 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x23a29a87 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x29efc7c5 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2fb5ebf0 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x36ba0691 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3f773fda dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3fc2101b dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4987fdbc dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4d4d9184 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4dfe2735 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x80993155 dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x83adc872 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8d9e56c9 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8e7a252b dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8fd767f0 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x91050979 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x956d8ba4 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x969c43d4 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x98683a94 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9a28967f dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9a3932a0 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9eccceda dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa6adf664 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa734bb8c dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb8129b28 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb8a0cf9f dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd75b7072 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe3847d87 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x22f122c2 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x33d80ee5 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x41448c2d dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x588b7945 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xddb4cabe dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xe3b37fa4 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x07ad205f dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0c6039ac dsa_flush_workqueue +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0c85e87a dsa_port_from_netdev +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x16dbef41 dsa_enqueue_skb +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x1d495b8f dsa_devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2505a94c dsa_slave_dev_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x25404e15 dsa_mdb_present_in_other_db +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2b8bfb74 dsa_switch_resume +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x38042521 dsa_switch_suspend +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x3c672bb8 dsa_devlink_port_region_create +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x3d4ebfe7 dsa_unregister_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x417d1fed dsa_8021q_rx_switch_id +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x45ca5090 dsa_tag_8021q_bridge_vid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x495cb2f7 dsa_tag_8021q_find_port_by_vbid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4c1819a0 dsa_8021q_rcv +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4e003631 dsa_devlink_region_create +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x4fb36b09 dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5c3e4739 dsa_tag_drivers_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x65b398ec dsa_devlink_resources_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x8005db7d dsa_devlink_params_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x82c0f40f dsa_tag_8021q_standalone_vid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x8b8ef9ba dsa_tag_drivers_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x9ce2fd3d dsa_tag_8021q_bridge_leave +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x9e59271d dsa_8021q_rx_source_port +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa91224e8 dsa_devlink_resource_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa9db00be dsa_port_phylink_mac_change +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xb2b1f3ae dsa_tag_8021q_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xb75667e9 dsa_switch_find +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xb890d89d dsa_8021q_xmit +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xba8a0770 dsa_fdb_present_in_other_db +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xbaaeeb98 dsa_devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xbb1b70c2 dsa_tag_8021q_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc1df1397 dsa_tag_8021q_bridge_join +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc23e8d5f dsa_devlink_region_destroy +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xcfa70103 dsa_switch_shutdown +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd077e855 dsa_devlink_param_get +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xdb9c8802 dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf13e1803 vid_is_dsa_8021q +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xfd3e2b67 dsa_devlink_param_set +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x87e2553b ieee802154_max_payload +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x88eb85c4 ieee802154_hdr_push +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x8cc22df3 ieee802154_hdr_peek +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0xe3f40cb7 ieee802154_hdr_peek_addrs +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0xfd41442a ieee802154_hdr_pull +EXPORT_SYMBOL_GPL net/ife/ife 0x0787d008 ife_encode +EXPORT_SYMBOL_GPL net/ife/ife 0x6210e871 ife_tlv_meta_next +EXPORT_SYMBOL_GPL net/ife/ife 0x67db2029 ife_tlv_meta_decode +EXPORT_SYMBOL_GPL net/ife/ife 0x809d73cc ife_decode +EXPORT_SYMBOL_GPL net/ife/ife 0xe7888e98 ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x06da35e9 esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x7168467f esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xf63b9774 esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/gre 0x6c996535 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xc5dabe1a gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x17bb047d inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x2f92293b inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x3bac46c1 inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x77c02a26 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x95d5cb10 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xbfb7f403 inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xd4d29f7d inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xec8310e0 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xfde9ca6a inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0xda3c64e8 gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x1508f058 __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x1a8a125d ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x28ca9f2e ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x4fec822b ip_tunnel_siocdevprivate +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x5767f05f ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x5b909599 ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x63a360fe ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7e7087ee ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x85c1dbe5 ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x87597caf ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x8bd8af05 ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xab517668 ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xb016b415 ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xcd4dbe05 ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xeb0a8400 ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xf86c666f ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xfb7a351e ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x510ccbaf arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x7bc03dc8 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x24efc935 nf_defrag_ipv4_disable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x65fdb66e nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0xb2dee95b nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x31b9094f nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x74085e5c nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x7c001caa nf_reject_skb_v4_tcp_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x7dc4a775 nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x909022cc nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x940e881e nf_reject_skb_v4_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xb99e1585 nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0x187211c5 nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x242b9c2a nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x6379d1ae nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x872220b2 nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x24ce94e7 nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0xe6fbca67 nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x4d7276c2 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x9fc926ff tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xa0628692 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xa7a948e7 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xf6cf3d03 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x05e86cdb udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x72aab3c5 udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x83bcd038 udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xc81bc5f5 udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xcd06ba31 udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xd3d7b6bf udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xe8aec8c1 udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xfd4584f1 setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x07c354a9 esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x1e5a972f esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x72c9359f esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x6e85ef34 ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xaa1e8208 ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xacc9f603 ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x916d84a6 udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0xf7eff37b udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x356e2ac7 ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x1e64e205 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x6ba05c09 nf_ct_frag6_gather +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0xc89a48aa nf_defrag_ipv6_disable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0x840a3d0e nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x4ad45310 nf_reject_skb_v6_unreach +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x674f569d nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x8fa8cead nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xa5d484e6 nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xad01d12f nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xe64c16f8 nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xfc3343d7 nf_reject_skb_v6_tcp_reset +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0x9f15b0ac nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x17957139 nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xe070600f nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xf0fec1b1 nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x4063e41a nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0xd2476cee nft_fib6_eval +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x0443bf35 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x1ad4b0c2 l2tp_session_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x363af754 l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x3822c7b2 l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x45ed239e l2tp_sk_to_tunnel +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x589c34a0 l2tp_recv_common +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7201b11e l2tp_session_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x73bbb3d8 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x75c37e56 l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x8fa907b4 l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x8ff0e9e8 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x963c0c61 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x9d79f245 l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xafd84146 l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb19ffd4e l2tp_tunnel_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb2d67fde l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xcacf23ab l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd8bb05fa l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe2030d8a l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xef363988 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf49303cd l2tp_tunnel_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_ip 0x880ef5b1 l2tp_ioctl +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x8c77fadb l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x0410d049 wdev_to_ieee80211_vif +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x05a4954c ieeee80211_obss_color_collision_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x0b48643e ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x10b0d29f ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x2a70a6f1 ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x39ce77b3 ieee80211_gtk_rekey_add +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x3cef24b1 ieee80211_calc_tx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x3e72396e ieee80211_calc_rx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x4eacb2a4 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5250cf98 ieee80211_tkip_add_iv +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x59c13bed ieee80211_key_mic_failure +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x716734dc ieee80211_iterate_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x717a3cdf ieee80211_color_change_finish +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7a0499fa ieee80211_hw_restart_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7c4a36fe ieee80211_iterate_stations +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x84cac275 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x8c02421f ieee80211_iterate_active_interfaces_mtx +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x960d91e8 ieee80211_iterate_stations_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x961754f9 ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa1247034 ieee80211_remove_key +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa4b2b77e ieee80211_key_replay +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xafc19a04 ieee80211_iter_chan_contexts_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xbdc842d2 ieee80211_update_mu_groups +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xbf1fce8b ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd8a21af7 ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd8e09da4 ieee80211_set_key_rx_seq +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xdcb58e25 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x036c5d12 mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x449c8949 mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x7670b536 nla_get_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xb02dd2e5 nla_put_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xbb119c78 mpls_output_possible +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xbd93b56c mpls_dev_mtu +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x078753cd ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x0ee08c53 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x0f23183d ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x10566982 ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x17701983 ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1776de8b ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1fec5c41 ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1ffeaa0b ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22d966c6 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x2a94ba1f ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x30d02f1e ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x5644284e ip_set_match_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x79d72538 ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x8ce661fa ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9e98722b ip_set_get_ipaddr6 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa293f8a6 ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xb7fb0147 ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xcaaf7e76 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xe0a1f6d3 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xe8ff2c37 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xedc757be ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf3b4d4ae ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf58db2c8 ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x2e7e41f2 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x822c1a4e unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x8c851c08 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xc4c30af2 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x0691974a nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x424a790f nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x5733463a nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x6810b749 nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x69cf80f9 nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xded40268 nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xf2a1dbb9 nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0523954a nf_connlabels_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x05b474da nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0bc00f80 nf_nat_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0c9d522b nf_conntrack_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x18066088 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1bebead4 nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1e04d299 nf_ct_seqadj_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1feb5cc5 nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2783e73d nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x28b4a92c nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x28c13c5b nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x28eff409 nf_conntrack_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2ac86b65 nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2b386beb nf_ct_netns_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3151d48d nf_ct_timeout_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x32f6fa03 nf_ct_delete +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x39c92b0a nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3c59c4c4 nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x43c2d473 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x47f3c853 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x580676f1 nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x58ec8dbc nf_ct_set_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x61be812f nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x69610cd5 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x69b8c177 nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6c38b347 nf_ct_acct_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x769dbcc2 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x77b10e62 nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7afe580d nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7ebc771e nf_ct_get_id +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x83d34a4a nf_nat_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x88a09bed __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x895535bd nf_ct_ecache_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8a617ff1 nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8c7c4495 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x90a15df4 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x99440e39 nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x99d6ab10 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9acb4b11 nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9adb7399 nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9b294f32 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa3770555 nf_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa437f7d4 nf_nat_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa8274447 nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa9feb088 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xab9d912a nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xac0d2110 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xac2f14b0 nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaf0847f0 nf_conntrack_locks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafbd6cf5 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb37f21f5 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb59ddef3 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb964ad27 nf_conn_pernet_ecache +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbed66fa4 nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc3c56e92 nf_ct_remove_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc40f284c nf_ct_helper_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc5b40a58 nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd093c1d7 nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd1629886 nf_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd505c3e0 nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd53cff20 nf_ct_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd623366e nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd76b9aba nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd900ac62 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdb1ad316 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdba7326b nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf0aed48 nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf3f458c nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf61485b nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf904748 nf_ct_set_auto_assign_helper_warned +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe2be8787 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe7f44d9a nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe80fdba5 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe8ccc639 nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xea035421 nf_conntrack_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xeaf26ea2 nf_connlabels_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xebb1bc74 nf_nat_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec4f35a1 nf_ct_netns_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec8beba6 nf_ct_expect_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xecaee4a6 nf_ct_untimeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xed2888b1 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xee775c2a nf_ct_tcp_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf2d38997 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf329499f nf_ct_helper_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfa8931f8 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfad6f960 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfd7a9076 nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfdaa1182 nf_ct_bridge_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe731af8 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xff2f2cbd nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x3f54a570 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x2f766eb0 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x7f21ecc4 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x2771e229 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x29013a9e set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x4f997d77 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x51dd50c8 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x63dbb813 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7d5f079f nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa5805620 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa7937232 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd3b5140e nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd7a376d6 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x110ff670 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xbb97b50c nf_nat_pptp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x207f0ba6 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x25d9db8a ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x38c27f7c ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x63046e0c ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x789bfc79 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xbe9afff2 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xde11d18f nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x3b33d5ac nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x39de6a15 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x7383b10f nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xe443182a nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xfe608236 nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x0e2d9366 nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x158fd4ae flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x27db50ab flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x325fc2ac nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x3ab4d425 flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x3f5902e4 nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x6334fecf nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x6b277612 nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x6d5eacb0 flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7cff0e1e flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x86aad885 flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x8825d5f7 nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x96129979 nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xbe21955b flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xc27a647e nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xf8647778 nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xffefbd48 nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x297520f2 nf_nat_ipv4_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x32876444 nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3bc17c49 nf_nat_masquerade_inet_register_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x4beeda30 nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x555c0e4b nf_nat_ipv6_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7aca2695 nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x883119e0 nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x8c1ddc29 nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x8fd787f6 nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x928aa1ad nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xa6417a87 nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xaa495000 nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xcfea8691 nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd2e31d55 nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd9c25654 nf_nat_masquerade_inet_unregister_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xda97395e nf_nat_icmpv6_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xe701eb49 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xec7293e2 nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x0b730e19 nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1f099794 synproxy_init_timestamp_cookie +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x2b638a47 synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x38f21c59 nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x4ebda346 ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x80fa0455 synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x8e9a9d64 nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x8fa77663 ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x9cfc2f35 synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xbd1b8f24 nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xca9fc082 synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xec75019d synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xf76a34e6 synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x011373d1 nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x06c6ca47 nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x09a2e650 nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0b9ddced nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x11f76c6f nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x13229eaa nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x17c6a38d nft_reg_track_update +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1aeadb37 nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1c021d91 nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1eef3f29 nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1f4f0894 nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x20e1a4b9 nf_tables_activate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2ed95e5a nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2ff631e1 nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3251d762 nf_tables_trans_destroy_flush_work +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x34c0f2c0 nft_reg_track_cancel +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x396e309d nft_set_catchall_gc +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3a8a24cc __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x41b71e65 nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x436205d7 nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x57e1f946 nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5d0f4059 nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5eedfd7b nft_expr_reduce_bitwise +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5fb53a4c nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x73acec64 nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7823dac9 nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x785c3c14 nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7940ef11 nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7ae87c7c nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x812a4af6 nft_set_catchall_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x89a89b6b nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x90332e2b nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x93ff966f nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9f7f8682 nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xadf28265 __nft_reg_track_cancel +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xae47eb8d nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb13e7eca nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb330a447 nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xbe267b7f nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xbf960698 nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xc48b9718 nft_register_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xc6e0db1b nft_request_module +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd3d3bb1b nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd9ddcac6 nft_parse_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde57b5f5 nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe2b8cc13 nft_parse_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf39f9ec9 nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf8066d26 nft_meta_get_reduce +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xfbde8776 nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x03180980 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x8090cf5e nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xb6323713 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xba1e0623 nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xc059ab3b nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xcf6ca337 nfnetlink_broadcast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xd29a6bca nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xdb065657 nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x4b87f9be nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x941c9f62 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xe112f491 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x2caa11d2 nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x35eff5e0 nf_osf_fingers +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x7f7b0684 nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x298dc8b2 nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x6434fb05 nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x9fe68c20 nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xa3039653 nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xd1718e89 nft_fib_reduce +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x37d19e2a nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x6081751d nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x6a166acd nft_reject_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xddcbe4b6 nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xe2c84666 nft_reject_icmp_code +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x030e51f5 xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x04e27719 xt_compat_flush_offsets +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x34a4e7b9 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x36f87172 xt_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3e1b2666 xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4c05d7cc xt_register_template +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5515bb70 xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5d56b38e xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6666d6f8 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x741ff7aa xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x75e00ad7 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x78e7a401 xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7991094b xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7bce4603 xt_data_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7db1f734 xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x823edea5 xt_compat_add_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9c995c69 xt_percpu_counter_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9e87567f xt_unregister_template +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa7c94f1d xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xabbcca28 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xacaee06b xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xba4b12ca xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbd8d1e5b xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbe40514b xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfacb837 xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc7fae024 xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcea6d0f3 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd1e246a2 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd3fcc511 xt_tee_enabled +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd9bb821b xt_copy_counters +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xdd84ce1c xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddf68fc6 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe87cf58e xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfccfa9e3 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x512fd530 xt_rateest_put +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xe0aa3892 xt_rateest_lookup +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x5b922dbb nci_spi_read +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x70e6e9a5 nci_spi_allocate_spi +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x960216af nci_spi_send +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x5e22981b nci_uart_unregister +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xab19b4d2 nci_uart_register +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xf8243907 nci_uart_set_config +EXPORT_SYMBOL_GPL net/nsh/nsh 0x4ca9e4bf nsh_push +EXPORT_SYMBOL_GPL net/nsh/nsh 0x858c29aa nsh_pop +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x0c9ea964 ovs_netdev_link +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x476a3bf7 __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xb86a47be ovs_vport_alloc +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xc6a5cd10 ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xdc3b0d28 ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xfbb0a23d ovs_vport_free +EXPORT_SYMBOL_GPL net/psample/psample 0x2bd4ca25 psample_sample_packet +EXPORT_SYMBOL_GPL net/psample/psample 0x7b128e0c psample_group_put +EXPORT_SYMBOL_GPL net/psample/psample 0xbfa57dbb psample_group_get +EXPORT_SYMBOL_GPL net/psample/psample 0xeffee32b psample_group_take +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x14032830 qrtr_endpoint_register +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x5982ca0e qrtr_endpoint_unregister +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x8d25501f qrtr_ns_remove +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xa47e91ba qrtr_ns_init +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xbdaadba0 qrtr_endpoint_post +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x0e03d5a5 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x0f937aef rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x2b0d543c rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x36087aa4 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x3809f2e2 rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0x458e72ac rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x45a4781e rds_addr_cmp +EXPORT_SYMBOL_GPL net/rds/rds 0x4db1d457 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0x582fe5cf rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x585f567b rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x602fc0cd rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x682dc97f rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x7b399e66 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x7ffc0fef rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0x81c4af10 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x85e4e520 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x89d7067e rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x8b61f881 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x8c43af23 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x8edec18c rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0xa67f27dc rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0xad0a22d2 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0xb326178e rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xb3bd7b61 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xc5fa15ea rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xc7a74088 rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0xce0354d6 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0xcec6261d rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0xd386f247 rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0xd8b43b11 rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xe79145b8 rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0xefb1c81e rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xeff0d76b rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xf88562d4 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xf944488c rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0xfd22dd56 rds_cong_map_updated +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xd7aa9516 pie_process_dequeue +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xeae7ae41 pie_drop_early +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0x5fc3c6ed taprio_offload_free +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0xa7f08102 taprio_offload_get +EXPORT_SYMBOL_GPL net/sctp/sctp 0x2c58afe8 sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/sctp/sctp 0x72030df4 sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/sctp/sctp 0xba8a4d77 sctp_transport_traverse_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0xf5c25471 sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/smc/smc 0x08210398 smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0x0b2840e7 smc_proto6 +EXPORT_SYMBOL_GPL net/smc/smc 0x405abb64 smc_unhash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x4852f6ff smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0x4e492068 smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x7252faf0 smcd_register_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x9ebecad1 smc_hash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0xb01f9509 smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xd17c4de0 smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0xf372f886 smcd_alloc_dev +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x1b80b57d gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x2cbeaebd svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x38d3dce5 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x482ac5a4 g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x6375a699 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd7673035 g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf597f9e4 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x00502ced rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0154c826 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x023d4ee7 xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x028f463c rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x030ab9a7 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x04734b34 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x047e3bb5 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x04b2afe2 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0543c9de rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x061dff8c sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07cbeae9 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0825fc10 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x08deb93f xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a23d65c xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a5fc879 xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x123e0744 rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1442f35e xdr_expand_hole +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14c452ad svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1529955d svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1577f2b6 xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x15dabe73 svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1779e36a xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x180f0ab6 rpc_switch_client_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a77f51d svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1b199c34 xdr_stream_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e119a79 rpcauth_get_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f2a9970 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f63bbd3 rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21e1be63 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25338c1f rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25b08b47 rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2617dcd0 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x269cb4f5 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x273dd010 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27c9e18e rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2af4b528 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b64cc9c rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e22ab92 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e2b5b41 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eb6d9d8 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30c7e3e8 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3258af28 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33d1ca15 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3485ada1 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x348c34c1 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34d184de rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36159676 xdr_align_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3668ed3c xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36a8a21a svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x38013ec3 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x380b5f62 cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a8ea796 svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a950f05 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3af81298 gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3cd790c0 rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3e9a9e06 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f719e1a rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3fec917b xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x40fe1053 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45c859ab xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x479c7273 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a0197da xdr_buf_trim +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4aa5609c xdr_reserve_space_vec +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afb4469 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dac77f0 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e8f6ca7 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ee08ac1 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f3b3d98 rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f672874 rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x518439e3 rpc_sleep_on_priority_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x51a4cce6 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x51e9dd30 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5362c599 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x542d2411 rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5437f8dd xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54c017c4 svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x55b2234b sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x55cfc43b svc_xprt_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x569b8bb3 xdr_page_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56f55325 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58f88733 rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x597ee98b sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5980c27d xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ad4868a rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c4bd58a xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d8c97ad rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5e4d6384 sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ebd8ea4 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f7fdf5c rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5fbd1622 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x60041fa8 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x60238f25 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x61c2764f xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6257d332 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x628483de xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64b21c01 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64fb8817 rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66ed2439 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x68300370 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x68ea4c35 svc_xprt_destroy_all +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x68fb5b2c svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x69d3f9d9 xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6d245ac1 rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71360056 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71bc40e3 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7349bb86 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x737cba63 svc_rqst_replace_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7580e7b4 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x766fc3bb cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x768caa46 rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x785577d0 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x78c59196 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ce311e1 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d60d303 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7da6bd74 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7ed63bc9 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fb3d36c xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80e284b3 xprt_wake_up_backlog +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x822ec715 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x830ad736 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x83899dee svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8478cad8 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x85e85773 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x85e8a1f8 rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x87c56ff0 xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8833fd79 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x88e723c6 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8bc6cf54 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d6d4810 sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8db84650 rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ee148e3 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8fbbef76 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9495a7e5 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95d1c3d6 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95d5cd6a xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9670b5a1 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9742d6cb rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x975b8084 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98e9df16 rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9912ea6e xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99aee353 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d04ef9d xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d3e3d50 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d750cff xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9f735484 bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9fa05013 xprt_add_backlog +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa00fd5d0 rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa035e394 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa0a2bcd3 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa122fdab cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa199a6a2 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa26d5693 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa4038725 rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa41f9354 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa426699c rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa503490c svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa78d04fa svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa83839b8 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9bb16ac rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa075c23 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xab5d9152 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xab9713cb __xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xab98bdec csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac349853 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac354de4 xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xac96c2cf cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xacc454db rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xadbc3664 xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xadc65a8b svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xae27ff70 svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb03cbd1d cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb1e79632 xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2a1c1af xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb344ca3e svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb4354379 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51a3724 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb6de117d rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7199254 svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb8983256 auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb90fca6e rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbac74239 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb384483 svc_xprt_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc0908dd0 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1720541 rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3ad0db8 rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3c6d437 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4703dc7 rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4bcb942 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc663c49b svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc73fbbb8 write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc84e93c7 rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc901ae48 svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb6cc489 rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcbd67bf5 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc1b0dbe rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc872c8e xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcdba3180 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce019b9d xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce678a59 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd10d1d5b rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd14cc14f sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd35e301f xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd371d95d svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6141cde xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6caf15b rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7143345 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd836c010 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd8c3ec04 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd8f072c8 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb2dbac7 xprt_unlock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdbdd8af1 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc6338c5 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd691402 xprt_find_transport_ident +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xde06a021 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdf62e874 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdfc41357 xprt_lock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdfffe060 rpc_prepare_reply_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe15276ee svc_xprt_deferred_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe8cfdcf5 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe8fb1a5f svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe9aee433 rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea621166 rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeaf18cf1 svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec231d34 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed8003ca rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf00486b9 xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0b7775d rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf3118dfb xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf3237731 rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf444c74c svc_encode_result_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf46a25fa auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf5270ecf xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf5303e1b rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf60ce371 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf65457aa xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6af8602 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf8f68c79 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9379140 svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc3bd3e7 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfcda3f2e xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfdcec7ba sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe379b00 rpcauth_unregister +EXPORT_SYMBOL_GPL net/tls/tls 0x8919aee8 tls_encrypt_skb +EXPORT_SYMBOL_GPL net/tls/tls 0xce2ace7b tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/tls/tls 0xdd7eb5cc tls_validate_xmit_skb +EXPORT_SYMBOL_GPL net/tls/tls 0xea156b65 tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x03a81e69 virtio_transport_stream_allow +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x04232d31 virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0525c8d7 virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x05fe2d92 virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0cd15d7b virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0ee9bd3a virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x129a9105 virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x13d438f1 virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1cd8dd8b virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2b18a422 virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2c983468 virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x374fe527 virtio_transport_do_socket_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x3840c7db virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x49efe0a0 virtio_transport_seqpacket_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4cd681e3 virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4f21530d virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x5f21b659 virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x70ee54f7 virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7576fd66 virtio_transport_connect +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x88c8b570 virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8a8a67da virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8af031eb virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8b2e8154 virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8e9cd895 virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x99480d3a virtio_transport_stream_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb1b30954 virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb83d50cc virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xbabd30f5 virtio_transport_dgram_allow +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xbf516ef8 virtio_transport_notify_poll_out +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd3f92b36 virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd68d1672 virtio_transport_seqpacket_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xdb9ef9c2 virtio_transport_seqpacket_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe1ce0ef8 virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe4bbfb97 virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf4ff0a8b virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf505ddd1 virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x000ac045 vsock_remove_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0ca8b10b vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0e9bc9b6 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0f070e00 vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x1c3568d6 vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3ca7822d vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3d4b0fca vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4b99648c vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x5804c47f vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x5a24ca93 vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x5f2e0801 vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x6485c13d vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x77c14317 vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7b3d4450 vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x8dcd97d1 vsock_remove_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x90aa8549 vsock_find_cid +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9590d4c5 vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9bb6fd09 vsock_connected_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xa40efd82 vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xaf2674b5 vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb05b3eb0 vsock_core_unregister +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc38538f4 vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc92f7f50 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd1025e92 vsock_add_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xdc9545d7 vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xddba8edc vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xe9c78d13 vsock_assign_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xec96eadf vsock_addr_validate +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xffc27425 vsock_stream_has_space +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x11dae7ac cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x147b176b cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x36df4c10 cfg80211_pmsr_complete +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4882b104 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x853e3b34 cfg80211_pmsr_report +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x983393d1 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa0d63192 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa7374e37 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xb7131f34 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc2274eb9 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc51a3090 cfg80211_vendor_cmd_reply +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc6f5890b cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc7757ca5 cfg80211_vendor_cmd_get_sender +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xcf124102 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf0b6fdcc cfg80211_shutdown_all_interfaces +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xfd858d4a cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0049ca83 xfrm_aead_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00c80741 xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0a575945 xfrm_count_pfkey_auth_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x37a02412 xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x5c699441 xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x72395dc1 xfrm_calg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x7a8ca627 xfrm_count_pfkey_enc_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xaab23340 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xb73be794 xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xc6b1fdbe xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xd6f50cf7 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x46d71857 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x648635a2 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x6f398ac8 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xcff0cce1 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0x4a0c7516 xfrm_msg_min +EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0xe2521b1c xfrma_policy +EXPORT_SYMBOL_GPL sound/ac97_bus 0x7ebad5bb snd_ac97_reset +EXPORT_SYMBOL_GPL sound/core/seq/snd-seq 0xadb51cff snd_seq_client_ioctl_unlock +EXPORT_SYMBOL_GPL sound/core/seq/snd-seq 0xe50413d7 snd_seq_client_ioctl_lock +EXPORT_SYMBOL_GPL sound/core/snd 0x1158a878 snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0x37ace79a snd_card_disconnect_sync +EXPORT_SYMBOL_GPL sound/core/snd 0x3dcae8b4 snd_device_initialize +EXPORT_SYMBOL_GPL sound/core/snd 0x4c655e8c snd_card_rw_proc_new +EXPORT_SYMBOL_GPL sound/core/snd 0x54c31229 snd_ctl_sync_vmaster +EXPORT_SYMBOL_GPL sound/core/snd 0x55dbc12b snd_ctl_apply_vmaster_followers +EXPORT_SYMBOL_GPL sound/core/snd 0x5868d43e snd_card_ref +EXPORT_SYMBOL_GPL sound/core/snd 0x5af762f1 snd_fasync_free +EXPORT_SYMBOL_GPL sound/core/snd 0x67999fbd snd_ctl_register_layer +EXPORT_SYMBOL_GPL sound/core/snd 0x68b5bbb9 snd_fasync_helper +EXPORT_SYMBOL_GPL sound/core/snd 0x7c03eee6 snd_ctl_disconnect_layer +EXPORT_SYMBOL_GPL sound/core/snd 0x82ddd8ab snd_device_disconnect +EXPORT_SYMBOL_GPL sound/core/snd 0xa86ad728 snd_card_free_on_error +EXPORT_SYMBOL_GPL sound/core/snd 0xaa5b7591 snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0xbcd22b11 snd_devm_card_new +EXPORT_SYMBOL_GPL sound/core/snd 0xbf2916c6 snd_device_get_state +EXPORT_SYMBOL_GPL sound/core/snd 0xe6a68e5a snd_ctl_get_preferred_subdevice +EXPORT_SYMBOL_GPL sound/core/snd 0xed685fb7 snd_power_ref_and_wait +EXPORT_SYMBOL_GPL sound/core/snd 0xf8f2a4eb snd_kill_fasync +EXPORT_SYMBOL_GPL sound/core/snd 0xfaf598c6 snd_ctl_request_layer +EXPORT_SYMBOL_GPL sound/core/snd 0xfd24fc71 snd_card_add_dev_attr +EXPORT_SYMBOL_GPL sound/core/snd-compress 0x0e73279a snd_compress_new +EXPORT_SYMBOL_GPL sound/core/snd-compress 0xe9027363 snd_compr_stop_error +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x04e1b99f snd_pcm_std_chmaps +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x09e913c1 snd_pcm_alt_chmaps +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x1ee20c2f snd_pcm_stream_unlock_irqrestore +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x478ce687 snd_pcm_stop_xrun +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x5c407196 snd_pcm_fill_iec958_consumer_hw_params +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x5d983962 snd_devm_alloc_dir_pages +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x649892e8 snd_pcm_create_iec958_consumer_default +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x702d7dba snd_pcm_stream_unlock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x8a839ab2 snd_pcm_stream_lock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x8d864069 snd_pcm_rate_range_to_bits +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xab8bc1a2 snd_pcm_rate_mask_intersect +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xb9ab27c7 snd_pcm_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xc4e297da snd_pcm_hw_constraint_eld +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xe4fba2e1 snd_pcm_fill_iec958_consumer +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xe60579d1 snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xf27b7ad5 _snd_pcm_stream_lock_irqsave +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xf45697ce snd_dma_buffer_sync +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xfb6f4579 snd_pcm_stream_unlock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xfd80275a _snd_pcm_stream_lock_irqsave_nested +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xff9a21d6 snd_pcm_stream_lock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x32f32507 snd_dmaengine_pcm_set_config_from_dai_data +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x335731a6 snd_dmaengine_pcm_open_request_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x362858bc snd_dmaengine_pcm_close_release_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x5f70a65f snd_dmaengine_pcm_request_channel +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x608925ae snd_dmaengine_pcm_get_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x673476cf snd_dmaengine_pcm_pointer_no_residue +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x9114f6d8 snd_dmaengine_pcm_pointer +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x9ebc37bb snd_hwparams_to_dma_slave_config +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xa528d4f7 snd_dmaengine_pcm_close +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xc579807c snd_dmaengine_pcm_open +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xdf02153c snd_dmaengine_pcm_trigger +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xf49b287f snd_dmaengine_pcm_refine_runtime_hwparams +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x8b8ffa20 __snd_seq_driver_register +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0xeaafe267 snd_seq_driver_unregister +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x207d5cff amdtp_domain_stream_pcm_pointer +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x439215ac amdtp_am824_set_pcm_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x4929d765 amdtp_am824_set_parameters +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x4beaf0ef amdtp_domain_stop +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x5bfb6db6 amdtp_domain_destroy +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x5ebef440 amdtp_am824_add_pcm_hw_constraints +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x69ca1985 amdtp_am824_midi_trigger +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x8b12ba19 amdtp_am824_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xaf807fcc amdtp_domain_start +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xbddb922e amdtp_domain_stream_pcm_ack +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xca5c9d03 amdtp_am824_set_midi_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xecf59efb amdtp_domain_add_stream +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xefec375b amdtp_domain_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x03abf7e2 snd_hdac_device_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x05636f93 snd_hdac_aligned_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x067a0698 snd_hdac_regmap_read_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0816adb3 snd_hdac_query_supported_pcm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x087f10c8 snd_hdac_regmap_update_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1488641f snd_hdac_aligned_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x163eb7ca snd_hdac_read_parm_uncached +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1f68e5a6 _snd_hdac_read_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x21f14b70 snd_hdac_sync_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x22eaf7cf snd_hdac_bus_exec_verb_unlocked +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x258995ec snd_hdac_dsp_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x26745cbf snd_hdac_codec_link_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2b7340ad snd_hdac_override_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2d6d8f7c snd_hdac_stream_clear +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2ebf0fad snd_hdac_power_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3802db4a snd_hdac_stop_streams_and_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3854dc0b snd_hdac_bus_update_rirb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3bd544c2 snd_hdac_get_active_channels +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3d6bb6ba snd_hda_bus_type +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x40eba1a2 snd_hdac_bus_alloc_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x42a4803b snd_hdac_stream_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4397f05d snd_hdac_bus_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x47535d6a snd_hdac_bus_stop_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4c7ec4b6 snd_hdac_get_ch_alloc_from_ca +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x51393ac8 snd_hdac_bus_stop_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x522a34c6 snd_hdac_power_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x52a4f458 snd_hdac_acomp_register_notifier +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x52dca4a3 snd_hdac_bus_init_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x54814411 snd_hdac_display_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5517037a snd_hdac_stream_sync_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x554c1dd0 snd_hdac_codec_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x592331aa snd_hdac_get_sub_nodes +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c07cb49 snd_hdac_calc_stream_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c15ea01 snd_hdac_regmap_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x60cd9267 snd_hdac_power_down_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x627b2820 snd_hdac_bus_send_cmd +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67bfe791 snd_hdac_spk_to_chmap +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6a9fe4b2 snd_hdac_acomp_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6aa37d82 snd_hdac_stream_setup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6d6afc5e snd_hdac_setup_channel_mapping +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6d7641cc snd_hdac_bus_enter_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x727abae1 snd_hdac_set_codec_wakeup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7401e64f snd_hdac_regmap_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x74ef1979 snd_hdac_stream_release +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x75d9f64c snd_hdac_bus_free_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x75f6719b snd_hdac_stream_stop +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77c754a8 snd_hdac_chmap_to_spk_mask +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7a278550 snd_hdac_bus_reset_link +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7be1a8e1 snd_hdac_bus_parse_capabilities +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7c89d2c5 snd_hdac_get_stream_stripe_ctl +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7e729f87 snd_hdac_device_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x832831b4 snd_hdac_device_set_chip_name +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x84980d18 hdac_get_device_id +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x853a0606 snd_hdac_stream_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x86efc481 snd_hdac_codec_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x87127208 snd_hdac_bus_handle_stream_irq +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x891a8955 snd_hdac_bus_exit_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8f7bf8c4 snd_hdac_acomp_get_eld +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x91016baf snd_hdac_bus_link_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x97646f48 snd_hdac_codec_modalias +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x979f3cc8 snd_hdac_stream_assign +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x984c5d09 snd_hdac_acomp_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x98983e29 snd_hdac_power_up_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x98a41363 snd_hdac_dsp_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9ae76a9d snd_hdac_register_chmap_ops +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa24235a0 snd_hdac_stream_start +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa7fd6ec0 snd_hdac_device_unregister +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa84a5ce8 snd_hdac_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa89e930c snd_hdac_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xab18cc91 snd_hdac_codec_link_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xae3bb7c4 snd_hdac_regmap_write_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb1f9f4da snd_hdac_bus_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb227f9fc snd_hdac_check_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb62d2f18 snd_hdac_regmap_add_vendor_verb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb88e4e0e snd_hdac_bus_get_response +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbddff308 snd_hdac_regmap_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc2bc2259 snd_hdac_stream_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc624edeb snd_hdac_refresh_widgets +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc7516608 snd_hdac_stream_set_params +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd65b7484 snd_hdac_dsp_prepare +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd6d99e36 snd_hdac_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd7aca0e1 snd_hdac_bus_init_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xdd480883 snd_hdac_stop_streams +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe0a41d6d snd_hdac_get_connections +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe3e0e862 snd_hdac_is_supported_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe4e07754 snd_hdac_print_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe5a3bd04 snd_hdac_get_stream +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe75d46e3 snd_hdac_stream_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xec05d8bb snd_hdac_sync_audio_rate +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xedd95587 snd_hdac_stream_timecounter_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf07c70fb snd_hdac_stream_setup_periods +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf7ebb773 snd_hdac_regmap_update_raw_once +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf9e34a74 snd_hdac_device_register +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x4b765664 snd_intel_acpi_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x4e859456 intel_nhlt_free +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x5f6b98f1 snd_intel_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0xa4cae706 intel_nhlt_get_dmic_geo +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0xccaf0bf0 intel_nhlt_init +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x1b6cfc4a snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x36b7a8dd snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x3b495e17 snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x41686706 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x49a5c605 snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xe0330384 snd_ak4113_create +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x00810620 snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0174d3be snd_hda_codec_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x031a5881 snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x04569fe9 azx_get_pos_lpib +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x05254c2b snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0676f5ac snd_hda_get_input_pin_attr +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x06bdc5c4 snd_hda_codec_device_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x079f1908 snd_hda_get_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0dd6d59d snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0e8c5cc9 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0f068639 snd_hda_pick_pin_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x11c0c028 snd_hda_codec_load_dsp_trigger +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x134d3cf9 snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1673ac91 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x169572d1 snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x17257b70 snd_hda_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x175ad61e snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x19bb1a74 snd_hda_codec_eapd_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1ac1fe23 azx_bus_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1c85a056 snd_hda_codec_set_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1dae92ee azx_stop_all_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1e2158ad snd_hda_codec_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2271ce87 snd_hda_codec_device_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x280c17ab snd_hda_jack_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x285b910c snd_hda_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2f65b38c snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x30e2008f snd_hda_codec_load_dsp_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x32fd9b50 _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x33f10c59 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x359c7fa5 snd_hda_codec_get_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x36756fb6 snd_hda_mixer_amp_switch_get_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x36dca949 snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38b6454f snd_hda_get_int_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38ce402b azx_interrupt +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x40a4f2c9 azx_init_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x41f8d155 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4217ff6d hda_codec_driver_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x46c5dfce snd_hda_jack_tbl_get_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x47377028 query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x48340f48 snd_hda_set_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x48953afa __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4e19e868 azx_probe_codecs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4e30cdbb snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x51a83a79 snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x531ab65a snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x53302548 snd_hda_jack_set_gating_jack +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x566dfde1 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x56ab85c9 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5736bd49 snd_hda_codec_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x57b1a198 snd_hda_jack_set_button_state +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x57bcb5a6 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x593ab861 snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x59a3c029 azx_init_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ee4da68 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x644d040c snd_hda_create_dig_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x65fcecea azx_free_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6662c35b __snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x68d31fd2 snd_hda_codec_set_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6a5b33d4 snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6abc3d56 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6afcecd5 snd_hda_check_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6f8750ea snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7208850c snd_hda_correct_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x724ddc2c snd_hda_jack_add_kctl_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x75242244 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x75540051 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x77740a65 snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7bbcca82 snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fcfff73 snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x80d7c168 __hda_codec_driver_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x84052499 snd_hda_codec_cleanup_for_unbind +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x866abe5e snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x88a1a4cd snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8c06f1be snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8df83465 azx_stop_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x904fc954 snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x94be0587 snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x95279239 snd_hda_codec_amp_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x979ce78f snd_hda_get_num_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9990e1b4 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x99a4e0b4 is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a72d216 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9fadd013 snd_hda_codec_update_widgets +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9fe59e7d snd_hda_codec_pcm_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa193910c snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xab6e0d5b snd_hda_jack_poll_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xabb89a60 snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xac4d00b9 snd_hda_codec_load_dsp_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaccf3a9d snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb0be9fe5 snd_hda_jack_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb0c2066b snd_hda_jack_bind_keymap +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb4eddcea snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb674f56f azx_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb7421cfb snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb8f12016 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb93ab747 snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb9816e68 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb9b152e6 snd_hda_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xba818027 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbfc14a15 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc037e2c2 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc4069aeb snd_hda_codec_amp_init_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc4343924 snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc464917d snd_hda_jack_detect_state_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc6048ea5 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc7b07472 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc84f7261 snd_hda_enum_helper_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcc978d95 snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd048c1d9 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd295987f snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd741f6f7 __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdabdc39e snd_hda_get_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdcfe0886 snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe08461fe snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe118de5d snd_pcm_2_1_chmaps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe5312b8f snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe80acf1d snd_hda_codec_parse_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe9786548 snd_hda_codec_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xedb45179 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf0067070 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf01f1047 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf0a143af azx_get_position +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf175f25e snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf1d35da5 snd_hda_jack_detect_enable_callback_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf1e19438 snd_hda_codec_pcm_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf4e90ae2 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf7b3b889 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf838ae06 snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf881452a snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf8dc35ac snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfbed03dc snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfcefc527 azx_get_pos_posbuf +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfe1cebd9 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x02a89954 snd_hda_gen_path_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x0724be84 snd_hda_gen_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x07e50931 snd_hda_gen_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x1b865596 snd_hda_gen_hp_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x30574718 snd_hda_gen_mic_autoswitch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x31b39e6d snd_hda_gen_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x3ff728c4 snd_hda_activate_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x40b5027d snd_hda_gen_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x4bfe3ec9 snd_hda_gen_spec_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x4df64ffb snd_hda_gen_fix_pin_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x5779f8c3 snd_hda_gen_check_power_status +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x76dc6871 hda_main_out_badness +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7ce23aff snd_hda_gen_add_mute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7f9362fb snd_hda_add_new_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x861e56bc snd_hda_gen_add_micmute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x871a6e44 hda_extra_out_badness +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb6f38e6b snd_hda_get_path_from_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb78b88c1 snd_hda_gen_line_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xc4cfcae1 snd_hda_gen_update_outputs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xdf253873 snd_hda_gen_stream_pm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xea08df50 snd_hda_gen_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xedf2cfc1 snd_hda_gen_parse_auto_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xf1ddeb90 snd_hda_get_path_idx +EXPORT_SYMBOL_GPL sound/soc/codecs/mt6359-accdet 0xb5bf83bd mt6359_accdet_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau-utils 0xae620be9 adau_calc_pll_cfg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1372 0xc693baa4 adau1372_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x43d679a3 adau1761_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0xc4decb38 adau1761_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x1b58222b adau17x1_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x55522c78 adau17x1_precious_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x583e52e4 adau17x1_add_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x5dce6735 adau17x1_set_micbias_voltage +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x5ed495a7 adau17x1_add_widgets +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x92b82147 adau17x1_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x94b541c8 adau17x1_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x9c670fd8 adau17x1_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xb2222349 adau17x1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xec3c6c34 adau17x1_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau7118 0xd8fdc3d2 adau7118_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0xcf3c5e91 cs35l41_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0xd4e9956f cs35l41_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0xf8640121 cs35l41_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x002fb967 cs35l41_regmap_spi +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x024057d2 cs35l41_global_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x04f9d25a cs35l41_enter_hibernate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x1666ac89 cs35l41_set_channels +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x22e588c2 cs35l41_exit_hibernate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x2ad0c7ab cs35l41_register_errata_patch +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x42caec5b cs35l41_configure_cs_dsp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x43741be9 cs35l41_safe_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x4c88a114 cs35l41_test_key_unlock +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x5b8eef83 cs35l41_init_boost +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x66ef5350 cs35l41_test_key_lock +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x83d4571c cs35l41_set_cspl_mbox_cmd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x9195ca7e cs35l41_otp_unpack +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x962b7fae cs35l41_gpio_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xb67abfb8 cs35l41_regmap_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xef4326f4 cs35l41_write_fs_errata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x7d05786f cs4271_dt_ids +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0xc5de7f45 cs4271_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0xcb100c7a cs4271_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x05c31026 cs42l51_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x15f35d8c cs42l51_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x375ad98c cs42l51_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x5354c1be cs42l51_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x6279ca0e cs42l51_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xa742840f cs42l51_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x0245c4f2 cs42xx8_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x712941f8 cs42xx8_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7cac7292 cs42888_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7dec5e21 cs42xx8_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcc2688cc cs42xx8_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcd3794c9 cs42448_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x22810be6 da7219_aad_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x25a77dc3 da7219_aad_jack_det +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x5b2b2ea2 da7219_aad_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0xf97f2683 da7219_aad_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0xdc085812 es8328_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0xe5059482 es8328_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-lpass-macro-common 0x4b86013b lpass_macro_pds_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-lpass-macro-common 0xce0eb7a5 lpass_macro_pds_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98090 0x012b2a39 max98090_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x31025d52 soc_codec_dev_max98373 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x510a1307 soc_codec_dev_max98373_sdw +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x67339c3e max98373_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0xfe3df690 max98373_slot_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x079bb6a5 mt6358_mtkaif_calibration_disable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x863a8594 mt6358_mtkaif_calibration_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x9a84b8f7 mt6358_set_mtkaif_calibration_phase +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0xab799262 mt6358_set_mtkaif_protocol +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0x4f8acebe mt6359_set_mtkaif_calibration_phase +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0x5d9d86f2 mt6359_set_mtkaif_protocol +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0x70de9104 mt6359_mtkaif_calibration_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0xf762c1f5 mt6359_mtkaif_calibration_disable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8821 0xcf50dabc nau8821_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0xbf55f96a nau8824_components +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0xf67c77c2 nau8824_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xb43e63c1 pcm1789_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xbdd17de6 pcm1789_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xc23a9eee pcm1789_common_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0x4f4f3ac3 pcm179x_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0xb38ecfe9 pcm179x_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x6b9c6ef4 pcm186x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0xc8194774 pcm186x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x51fa4d82 pcm3168a_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x8a526e77 pcm3168a_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xb3d9294f pcm3168a_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xe55a3236 pcm3168a_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x80fa41c0 pcm512x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0xb9b9e2f4 pcm512x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0xc3f8f932 pcm512x_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0xd0502f1c pcm512x_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x5dc92cdf rl6231_pll_calc +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x70617a04 rl6231_get_clk_info +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x8d7fa148 rl6231_get_pre_div +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0xdba4502f rl6231_calc_dmic_clk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5514-spi 0x61ff58e3 rt5514_spi_burst_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5514-spi 0xff87892f rt5514_spi_burst_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x04af3659 rt5640_dmic_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x22a5a284 rt5640_detect_headset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x6b6f66bb rt5640_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xa6ef4c91 rt5640_enable_micbias1_for_ovcd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xb63a7747 rt5640_set_ovcd_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xd0a7ae9c rt5640_disable_micbias1_for_ovcd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0xd69adde4 rt5645_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0xfd3c4be6 rt5645_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5659 0x83b6e1ec rt5659_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5663 0x9919f883 rt5663_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677 0x851a21f2 rt5677_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x5fc320ad rt5677_spi_write_firmware +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x67956035 rt5677_spi_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0xc6695825 rt5677_spi_hotword_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0xe8ece129 rt5677_spi_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x0259d9fd rt5682_soc_component_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x13f028bb rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x28730696 rt5682_supply_names +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x38976c7f rt5682_aif1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x47fd497f rt5682_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x5981f124 rt5682_apply_patch_list +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x59d3d967 rt5682_jack_detect_handler +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x6b4ead13 rt5682_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7d6be198 rt5682_parse_dt +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xac1f0b64 rt5682_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb897de56 rt5682_reg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xd3a0d77c rt5682_aif2_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xdf3e8a93 rt5682_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xf0a92b1a rt5682_register_dai_clks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682s 0x095aca2b rt5682s_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x11a04725 sigmadsp_restrict_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x5c5546ac sigmadsp_setup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xa410b8ab sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xb1b50284 sigmadsp_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xfde6b41e devm_sigmadsp_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-i2c 0x66b32bc3 devm_sigmadsp_init_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-regmap 0x0e24ed89 devm_sigmadsp_init_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x366d8806 ssm2602_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x37790b8a ssm2602_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic32x4 0xa5489115 aic32x4_register_clocks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xcb218523 aic3x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0xbd48e5cb ts3a227e_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd-mbhc 0x936c1623 wcd_mbhc_event_notify +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x2505c629 wcd938x_sdw_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x472e5445 wcd938x_sdw_hw_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0xadcebe35 wcd938x_swr_get_current_bank +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0xb868f0c6 wcd938x_sdw_set_sdw_stream +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0xcc8f1b0f wcd938x_sdw_device_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x0dbb4c80 wm_adsp2_component_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x0ef23135 wm_adsp1_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x24cb54d4 wm_adsp_fw_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x29bb6372 wm_adsp2_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x41330a79 wm_adsp2_set_dspclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x52c16479 wm_halo_wdt_expire +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x561c3aca wm_halo_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x568d75ae wm_adsp_compr_handle_irq +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x572d9ed4 wm_adsp1_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x59aea178 wm_adsp_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7333394b wm_adsp2_preloader_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7c3abde6 wm_adsp2_component_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x83c6d03a wm_adsp_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x8a9017b0 wm_adsp_write_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x910988d4 wm_adsp2_preloader_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x9337f38e wm_adsp_read_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x9b2dbee4 wm_adsp_compr_copy +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xb04bfc4a wm_adsp_early_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xb29da8fb wm_adsp_compr_open +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xc6f1e54b wm_adsp_fw_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xcc541f22 wm_adsp_fw_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xcd484a30 wm_adsp_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xd6d1a323 wm_adsp_compr_get_caps +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xdbf8545c wm_adsp_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xdd3c79ef wm_adsp2_bus_error +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xe5557218 wm_adsp_compr_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xea38ee07 wm_halo_bus_error +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xf6f1d59d wm_adsp2_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x012cd0a6 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x0268c226 wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x46aa96d5 wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x483d8f40 wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x5448726f wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x5cd7eb9b wm_hubs_dcs_done +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x6d941184 wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x757206d5 wm_hubs_spkmix_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xbc27915c wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xee856e80 wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0xb5fb1799 wm8731_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0xe9646a91 wm8731_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x1d01ce64 wm8804_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x3dd25730 wm8804_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x41dbb0e6 wm8804_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0xab582541 wm8804_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x4a252a87 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0x7de0b413 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x51f616c9 wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0xa6bd702c wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/fsl/imx-pcm-dma 0x3d395155 imx_pcm_dma_init +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0x16ddb9ce fsl_asrc_component +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-imx-audmux 0x30693bb7 imx_audmux_v1_configure_port +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-imx-audmux 0x58631dab imx_audmux_v2_configure_port +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card 0x3458387e audio_graph_parse_of +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0x1fe3e6a6 audio_graph2_link_c2c +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0x7f42ac2f audio_graph2_parse_of +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0x8c982eec audio_graph2_link_dpcm +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0xbabb717c audio_graph2_link_normal +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x08f42218 asoc_simple_clean_reference +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x0b72700c asoc_graph_is_ports0 +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x2abab50d asoc_simple_init_priv +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x358de109 asoc_simple_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x3f6c9b3f asoc_simple_startup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x535bc166 asoc_simple_parse_widgets +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x5e87b7ac asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x5ffebc26 asoc_simple_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x622f3cf6 asoc_simple_init_jack +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x90124d64 asoc_simple_hw_params +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x90a40490 asoc_simple_set_dailink_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x98d6cf83 asoc_simple_shutdown +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xac5e069a asoc_simple_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xae70c0af asoc_simple_remove +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xb426ea12 asoc_simple_be_hw_params_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xba108850 asoc_simple_parse_convert +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xd47b934b asoc_simple_canonicalize_platform +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xe3f4d5ff asoc_graph_card_probe +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xe6d06f09 asoc_simple_parse_routing +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xe91aa423 asoc_simple_parse_clk +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xeb4cfa4e asoc_simple_canonicalize_cpu +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xed182811 asoc_simple_parse_tdm_width_map +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xf3bafb75 asoc_simple_convert_fixup +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x02be46b3 mtk_afe_fe_trigger +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x146fc8f7 mtk_memif_set_addr +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x276e499a mtk_afe_pcm_new +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x29dc72d9 mtk_afe_fe_shutdown +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x2e06025b mtk_afe_pcm_platform +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x361e37c6 mtk_afe_fe_hw_params +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x433389cc mtk_memif_set_channel +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x5caccf0d mtk_memif_set_rate_substream +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x6231df3f mtk_afe_suspend +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x6576f4c1 mtk_afe_fe_prepare +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x6b2cabf5 mtk_afe_fe_startup +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7c63b1ed mtk_memif_set_rate +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7fa73c24 mtk_dynamic_irq_acquire +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x817b59e1 mtk_afe_resume +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x95a06efd mtk_afe_add_sub_dai_control +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x9a1a7563 mtk_memif_set_disable +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xaa11a6a1 mtk_memif_set_enable +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xafb4dda8 mtk_memif_set_pbuf_size +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xb8bc1014 mtk_afe_fe_ops +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xcc220126 mtk_afe_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xcfcc3c39 mtk_afe_combine_sub_dai +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xe119a452 mtk_afe_fe_hw_free +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xef4c0f49 mtk_dynamic_irq_release +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xf1216710 mtk_memif_set_format +EXPORT_SYMBOL_GPL sound/soc/mediatek/mt8195/snd-soc-mt8195-afe 0x36555879 mt8195_afe_enable_clk +EXPORT_SYMBOL_GPL sound/soc/mediatek/mt8195/snd-soc-mt8195-afe 0x97e316d3 mt8195_afe_disable_clk +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x33963a5f g12a_fifo_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x428a556b axg_fifo_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x4e059e7c axg_fifo_pcm_close +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x7faf5991 axg_fifo_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x83c011fc axg_fifo_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xc114d4b2 axg_fifo_pcm_trigger +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xd7224262 axg_fifo_pcm_hw_free +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xe10c3b8c axg_fifo_pcm_open +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xfccd651e axg_fifo_pcm_new +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x4988d1f8 axg_tdm_stream_alloc +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x539c48cc axg_tdm_stream_start +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x55316323 axg_tdm_formatter_set_channel_masks +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x64e0ca85 axg_tdm_stream_free +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x7cf4af8a axg_tdm_formatter_event +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x8f0205a6 axg_tdm_formatter_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0xef4a0d56 axg_tdm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-interface 0x20ef5b20 axg_tdm_set_tdm_slots +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x3330d32c meson_card_set_be_link +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x3fafa92f meson_card_reallocate_links +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x78c54981 meson_card_remove +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xc825de41 meson_card_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xcdc44ad5 meson_card_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xf6195a0f meson_card_parse_dai +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xf7022db5 meson_card_i2s_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xfc9ebec5 meson_card_set_fe_link +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x2dcb062f meson_codec_glue_input_dai_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x5c480c31 meson_codec_glue_output_startup +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x665ba990 meson_codec_glue_input_dai_remove +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0xe4915cd9 meson_codec_glue_input_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0xe7b9d450 meson_codec_glue_input_set_fmt +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0xe9a88e59 meson_codec_glue_input_get_data +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x049cbca0 q6adm_matrix_map +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x28421460 q6adm_get_copp_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0xac5bd3fb q6adm_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0xd6a814d9 q6adm_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x07a54780 q6afe_cdc_dma_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x369b6eeb q6afe_port_put +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x3b16d6e7 q6afe_port_stop +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x498d993b q6afe_get_port_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x5332304f q6afe_slim_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x7df60063 q6afe_port_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0xae809786 q6afe_hdmi_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0xd4523c59 q6afe_i2s_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0xda035563 q6afe_set_lpass_clock +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0xe2aef7f7 q6afe_port_get_from_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0xe45246a8 q6afe_port_start +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0xfaf22370 q6afe_tdm_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x13b7efd9 q6asm_cmd +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x1b6c77fc q6asm_stream_media_format_block_alac +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x25bfa476 q6asm_open_write +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x2b693eed q6asm_stream_media_format_block_wma_v9 +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x462aa9d0 q6asm_audio_client_alloc +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x4afe6f73 q6asm_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x4fba2f0c q6asm_run_nowait +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x68db31e2 q6asm_unmap_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x6cec4b17 q6asm_stream_remove_trailing_silence +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x856b4fdb q6asm_stream_media_format_block_wma_v10 +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x9d0cf85f q6asm_stream_media_format_block_flac +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xa7d3a3a6 q6asm_media_format_block_multi_ch_pcm +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xb37ed108 q6asm_enc_cfg_blk_pcm_format_support +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xc0dd8d67 q6asm_open_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xc1347db0 q6asm_write_async +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xc5a116a4 q6asm_get_session_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xcbee5e42 q6asm_stream_remove_initial_silence +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xcc4952e4 q6asm_audio_client_free +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xd2cf1a0f q6asm_run +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xd38aa312 q6asm_cmd_nowait +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xea75a5dd q6asm_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xf47f4b35 q6asm_stream_media_format_block_ape +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6core 0x7e52e977 q6core_is_adsp_ready +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6core 0x9b02ea0d q6core_get_svc_api_info +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6prm 0x9cb945be q6prm_unvote_lpass_core_hw +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6prm 0xbbb2c0e5 q6prm_set_lpass_clock +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6prm 0xbfc00f71 q6prm_vote_lpass_core_hw +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6routing 0x5b75f756 q6routing_stream_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6routing 0xa7a64259 q6routing_stream_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x11a2be15 q6apm_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x12a16ff4 audioreach_alloc_graph_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x145cf8f6 audioreach_alloc_apm_cmd_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x2330d52a audioreach_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x5543dd66 audioreach_alloc_apm_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x6044dda5 q6apm_graph_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x64dc5171 audioreach_alloc_cmd_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x65fffa47 q6apm_graph_get_rx_shmem_module_iid +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x6bd3186d q6apm_graph_media_format_pcm +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7bfe0a29 audioreach_get_container_last_module +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7f4d39c8 audioreach_alloc_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x8115ff61 audioreach_set_media_format +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x87125115 audioreach_get_container_next_module +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x933ca6a2 q6apm_graph_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xa4bbb98a q6apm_unmap_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xa6c2b373 q6apm_graph_stop +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xaac512c6 audioreach_shared_memory_send_eos +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xaf51f47e audioreach_graph_send_cmd_sync +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xc232d980 q6apm_graph_media_format_shmem +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xcaef0416 q6apm_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xcd3e9ee8 audioreach_tplg_init +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xd04a07a0 audioreach_gain_set_vol_ctrl +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xd1635d92 q6apm_graph_flush +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xd2acca0c q6apm_graph_start +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xd825ccef q6apm_write_async +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xe0063a47 audioreach_get_container_first_module +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xeb3c313e audioreach_graph_free_buf +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xf7801444 q6apm_graph_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xff3dfff1 audioreach_send_cmd_sync +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0x17142e58 q6dsp_map_channels +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0x4ad40dac q6dsp_audio_ports_set_config +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0x7b86a0b2 q6dsp_audio_ports_of_xlate_dai_name +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0xb29db5e3 q6dsp_clock_dev_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cdc-dma 0xc6ac6007 asoc_qcom_lpass_cdc_dma_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x2492e9a3 asoc_qcom_lpass_cpu_dai_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0xae34ba80 lpass_cpu_pcm_new +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0xb41b62f6 asoc_qcom_lpass_cpu_platform_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0xb6ec43fb asoc_qcom_lpass_cpu_platform_shutdown +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0xbef41b93 asoc_qcom_lpass_cpu_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0xdadbe7db asoc_qcom_lpass_cpu_platform_remove +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-hdmi 0x2618f24c asoc_qcom_lpass_hdmi_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-platform 0xed9d4c15 asoc_qcom_lpass_platform_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x3dd9f961 snd_soc_acpi_find_machine +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x5c512782 snd_soc_acpi_find_package_from_hid +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x9b1aadfd snd_soc_acpi_codec_list +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00a2d6e4 snd_soc_card_remove_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x00ffc2ea snd_soc_component_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x097f849c snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0bcec2bb snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0bd76d54 snd_soc_bytes_tlv_callback +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c4b5319 snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0d0a955f snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0e3139d8 snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x140b849d snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x140d95c3 snd_soc_lookup_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x19e8faba null_dailink_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1d71d297 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1f329ffe snd_soc_dai_link_set_capabilities +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x20523a4b snd_soc_tplg_component_load +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x243720da snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x254af571 snd_soc_component_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x28e78211 snd_soc_find_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2a03265a snd_soc_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b46b026 snd_soc_dapm_free_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2bb6ca2c snd_soc_of_get_slot_mask +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2c9230aa snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2d11c9aa snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x30aba937 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3136219b snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x329b7a71 snd_soc_close_delayed_work +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x35c838f1 snd_soc_component_update_bits_async +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3707f5ba snd_soc_remove_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x38f47144 snd_soc_dai_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x39dd138d snd_soc_link_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3bd4cf4c snd_soc_runtime_set_dai_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x40df5098 devm_snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4200461e snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x42b38d0a snd_soc_of_parse_aux_devs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x42dc5e56 snd_soc_component_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4330d06b snd_soc_info_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x43d6b769 snd_soc_of_put_dai_link_cpus +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4460bf66 snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4486c2b4 snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4584c349 snd_soc_link_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4788efe2 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x496c262c snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x49b9252a dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x49e76144 snd_soc_component_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4c07b85b snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4cc5331b snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4e4b93c0 snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4f408d57 snd_soc_component_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4fa1782d snd_soc_tdm_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x504ea69f snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x505eda0c snd_soc_dapm_kcontrol_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x510f46c6 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x51215ae9 snd_soc_dapm_init +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5388ef16 snd_soc_dai_active +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x54f5e001 snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x554c67da snd_soc_dapm_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x55677207 snd_soc_dapm_del_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x55c76af5 snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x55f0f6e9 snd_soc_dpcm_runtime_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x55f2020b snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5794df50 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5874b83a snd_soc_dapm_force_bias_level +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5d600e81 snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5e82c15c snd_soc_dai_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5ee4773a snd_soc_set_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x61c302ff snd_soc_component_compr_open +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x61f9b1c3 snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x61fc0585 snd_soc_runtime_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x63a78974 snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x64a727d3 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x64d3045a snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x64e53fc7 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6645c25d snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66da5765 snd_soc_of_get_dai_link_cpus +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x68714099 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x68b2df26 snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6b48f23d snd_soc_rtdcom_lookup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6de050f9 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x711ba3f6 snd_soc_set_ac97_ops_of_reset +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x73946608 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x74246e6a snd_soc_dai_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x74e2a8ef snd_soc_component_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x75381aef snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x75494f34 snd_soc_component_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x759085ed snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x75c7f7ab snd_soc_dapm_new_dai_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7796605c snd_dmaengine_pcm_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x77ebbb97 snd_soc_component_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x78403237 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x78df83b0 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7ba0311b snd_soc_card_add_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7cef55fa snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7d1953f3 snd_soc_tplg_widget_bind_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7f406a7d snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7f6e50d4 snd_soc_dai_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x80cde36f snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x80d8a23d snd_soc_of_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x820582fb snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x82866cec snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x828db7cb snd_dmaengine_pcm_prepare_slave_config +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x834cde3c snd_soc_component_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x839858d0 snd_soc_get_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x84f835fe snd_soc_unregister_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x871366df snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x87d41b9d snd_soc_dai_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8a06cbf8 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8a34a024 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8a99f44f snd_soc_component_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8d591970 snd_soc_lookup_component_nolocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8dd25ab6 snd_soc_new_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ddc1117 snd_soc_card_jack_new_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e06624c soc_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e8227f0 snd_soc_new_compress +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ef3bb11 snd_soc_dapm_dai_get_connected_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8f53610b snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x92524cb6 snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x979e2278 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x97fb5d65 snd_soc_free_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x990a0000 snd_soc_add_component_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x99cbc7c1 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9cce9eda snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9d09909a dapm_pinctrl_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9d191026 snd_soc_component_exit_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9df9790c snd_soc_component_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9eda8874 snd_soc_component_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa038f8ba snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa09cbf22 dpcm_end_walk_at_be +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa0b89f9f snd_soc_of_parse_node_prefix +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa0bd3d8f snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa3441a9b snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa3d65ec7 snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa4ba7fef snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa9399c75 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa94b6531 snd_soc_tplg_component_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaa6c6055 snd_soc_set_dmi_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xab02cf66 snd_soc_dapm_sync_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaccf8f4d snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xacdb34e3 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xacec6bbe snd_soc_component_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xadd60777 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xafdc1413 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb4ead320 snd_soc_component_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb63fa4e9 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb740633b snd_soc_put_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb786a778 snd_soc_component_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb88c6ad0 snd_soc_link_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb89b8f6b snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb8a57f05 snd_soc_card_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb97559c9 snd_soc_dapm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba71e404 snd_soc_component_async_complete +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xba732681 snd_soc_dai_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbd58b7ab snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbd773da2 snd_soc_component_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbe558281 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbe80a921 snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbf46c4d9 snd_soc_dai_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc0f25abf devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc28a70b0 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc317a15e snd_soc_daifmt_clock_provider_flipped +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc382b76b snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc3ca24bf snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc5bfe1c7 snd_soc_card_get_kcontrol +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc6688eaf snd_soc_get_dai_id +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc6ba70fe snd_soc_component_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xca5e72d3 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xca629cd8 snd_soc_component_set_jack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcaaf34b9 devm_snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcae3b54c snd_soc_of_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcb278204 snd_soc_component_compr_get_codec_caps +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcbf2d9a6 snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd0ac79d9 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd27ffe2d snd_soc_dai_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd3b66433 snd_soc_of_parse_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd4387b5e snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd460bdab snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd49b0824 snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd4c5fa9a snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd4cd26a6 snd_soc_add_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd527d1eb snd_soc_bytes_info_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd5dd4fba snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd7710a33 dapm_mark_endpoints_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd774eeae snd_soc_component_write_field +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd9666ef5 snd_soc_component_compr_get_caps +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd967fd86 snd_soc_component_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xde8a109c snd_soc_dai_get_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe2d9e443 devm_snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe3316a28 snd_soc_dapm_update_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe3ec7340 snd_soc_unregister_component_by_driver +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe59db166 snd_soc_component_compr_copy +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe619f3fd snd_soc_component_read_field +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe6fd2082 snd_soc_info_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe75386d0 snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe75a3237 snd_soc_component_initialize +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe914770f snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe93089da snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe95d096a snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeaaadac2 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xec7a88c1 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xecaf4d49 snd_soc_component_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xed8574e5 snd_soc_dapm_dai_free_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xee1f60d5 snd_soc_of_parse_audio_simple_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xef328596 dapm_clock_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf003fc0c dapm_kcontrol_get_value +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf2c6ef5e snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf4087f13 snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf416d23c snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf469cf09 snd_soc_daifmt_parse_format +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf4844975 snd_soc_dai_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf4fb2dcb snd_soc_dai_set_bclk_ratio +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf734d0a9 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9622dd1 snd_soc_daifmt_clock_provider_from_bitmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfa4a63d6 snd_soc_of_put_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfc293614 snd_soc_component_compr_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfc8236aa snd_soc_daifmt_parse_clock_provider_raw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfd0ad9b1 snd_soc_component_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfd1f278d snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfe7429e2 snd_soc_component_nc_pin +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x6ff4dbc8 snd_sof_debugfs_buf_item +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x7564863a snd_sof_debugfs_add_region_item_iomem +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x8557790a snd_sof_dbg_memory_info_init +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xaf8fd4b9 snd_sof_free_debug +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xcc6edc46 snd_sof_dbg_init +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0x2c64d423 sprd_mcdt_request_chan +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0x5061832c sprd_mcdt_chan_int_disable +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0x609193c3 sprd_mcdt_chan_write +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0x68b4b311 sprd_mcdt_chan_dma_enable +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0x6c283cec sprd_mcdt_chan_int_enable +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0xa5fdddd3 sprd_mcdt_chan_read +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0xb67dbf49 sprd_mcdt_chan_dma_disable +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0xdf547b54 sprd_mcdt_free_chan +EXPORT_SYMBOL_GPL sound/soc/sunxi/sun8i-adda-pr-regmap 0x37a3a5c2 sun8i_adda_pr_regmap_init +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-machine 0x584239ef tegra_asoc_machine_probe +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-machine 0x9422ffa8 tegra_asoc_machine_init +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x0755f48f tegra_pcm_construct +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x276f9cba devm_tegra_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x3e70a669 tegra_pcm_platform_register_with_chan_names +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x427633d7 tegra_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x909c0fe6 tegra_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0xd0767d27 tegra_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0xd2161705 tegra_pcm_platform_unregister +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0xe6877d9f tegra_pcm_open +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0xfbc7fc33 tegra_pcm_close +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra20-das 0x0d54c9b9 tegra20_das_connect_dap_to_dac +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra20-das 0xb52cfca4 tegra20_das_connect_dac_to_dap +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra20-das 0xbced7431 tegra20_das_connect_dap_to_dap +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x0427e3da tegra30_ahub_allocate_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x55a40206 tegra30_ahub_disable_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x5d7237ff tegra30_ahub_set_cif +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x6fe20143 tegra30_ahub_set_rx_cif_source +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xb419329b tegra30_ahub_disable_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xb4a9367d tegra30_ahub_enable_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xb81bca9d tegra30_ahub_free_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xc78c7125 tegra30_ahub_free_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xccb67e55 tegra124_ahub_set_cif +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xccc98372 tegra30_ahub_enable_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xd01de23b tegra30_ahub_allocate_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xe549513a tegra30_ahub_unset_rx_cif_source +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-edma 0x7d0d9bac edma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-sdma 0xd68a0d85 sdma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-udma 0xfeb000b3 udma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x006c4b91 line6_send_raw_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x0daf985b line6_version_request_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x202a1b1b line6_midi_id +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x3d194a09 line6_init_midi +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x4ebb4e86 line6_pcm_release +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x681bced6 line6_pcm_acquire +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x6dfe2bfe line6_probe +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x8e4bdb23 line6_send_raw_message_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x9dda9c6c line6_read_serial_number +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xb4d162a6 line6_suspend +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xbbafb981 line6_alloc_sysex_buffer +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xbf1cb635 line6_write_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xdb83beb5 line6_send_sysex_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xe8756681 line6_resume +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xee36e1c7 line6_init_pcm +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xf7176c91 line6_disconnect +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xff53fe3a line6_read_data +EXPORT_SYMBOL_GPL vmlinux 0x0008ac91 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x001210b4 relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0x00202fae __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x0035146e fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0x0039f19a of_property_read_string_helper +EXPORT_SYMBOL_GPL vmlinux 0x004d51a7 rio_route_get_entry +EXPORT_SYMBOL_GPL vmlinux 0x004f3fa8 sata_lpm_ignore_phy_events +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x00565f18 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x005f18a6 add_wait_queue_priority +EXPORT_SYMBOL_GPL vmlinux 0x0063620b mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x006db116 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x006efeaf __traceiter_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x0078879b vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0x007c33bf devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0083a58d crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x008572ed regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x0096423f phy_save_page +EXPORT_SYMBOL_GPL vmlinux 0x00c9572c of_map_id +EXPORT_SYMBOL_GPL vmlinux 0x00cd501b class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x00d4c500 usb_decode_interval +EXPORT_SYMBOL_GPL vmlinux 0x00d847df dummy_con +EXPORT_SYMBOL_GPL vmlinux 0x00df9837 ioasid_register_allocator +EXPORT_SYMBOL_GPL vmlinux 0x00e3af9b device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0x00e44ad0 tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x00fbe2ab usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x010173c9 __fscrypt_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0x01054b2c ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x01141aae ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x012e730e apei_exec_noop +EXPORT_SYMBOL_GPL vmlinux 0x014e8186 cpu_scale +EXPORT_SYMBOL_GPL vmlinux 0x0161a2f7 acpi_dev_add_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x0179ccba topology_update_thermal_pressure +EXPORT_SYMBOL_GPL vmlinux 0x01866a57 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x01974f1f sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0x0198d867 fsl_mc_object_allocate +EXPORT_SYMBOL_GPL vmlinux 0x019bfeea vchan_init +EXPORT_SYMBOL_GPL vmlinux 0x019c09bf hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x01a0cb78 property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0x01a78172 pm_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x01c6cb0c cpu_cluster_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x01dbf072 filemap_read +EXPORT_SYMBOL_GPL vmlinux 0x01dffea5 debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01f2dcef k3_udma_glue_request_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x01f4275a dm_hold +EXPORT_SYMBOL_GPL vmlinux 0x01fd477c __fscrypt_inode_uses_inline_crypto +EXPORT_SYMBOL_GPL vmlinux 0x0207a6c6 reset_control_bulk_acquire +EXPORT_SYMBOL_GPL vmlinux 0x020e7bca bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x02314863 serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0x0234456c serial8250_do_startup +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x02495b8f gnttab_alloc_grant_reference_seq +EXPORT_SYMBOL_GPL vmlinux 0x024d13dd request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0x024f079e pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0x024f4f05 iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0x025154f3 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x0256a4b9 dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0x025e1626 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x026bb8f5 dev_pm_genpd_suspend +EXPORT_SYMBOL_GPL vmlinux 0x02786a09 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0x02af3464 crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x02b2ad16 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x02bfdfbd device_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x02c5c501 power_supply_find_ocv2cap_table +EXPORT_SYMBOL_GPL vmlinux 0x02eda1da __fscrypt_prepare_readdir +EXPORT_SYMBOL_GPL vmlinux 0x02f9a5d4 spi_mem_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x0312b3b0 reset_controller_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x03196828 xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x0321cdbf of_alias_get_highest_id +EXPORT_SYMBOL_GPL vmlinux 0x032bb752 tty_kopen_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x032bd1a8 set_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x0334adae bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0x033832c7 usb_amd_hang_symptom_quirk +EXPORT_SYMBOL_GPL vmlinux 0x03390d2a xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x034c8466 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x0354249e devm_pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0x0362428e device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x03635f01 device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x0365515b acct_bioset_init +EXPORT_SYMBOL_GPL vmlinux 0x036de383 perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x036e33e0 of_get_fb_videomode +EXPORT_SYMBOL_GPL vmlinux 0x03701a42 zynqmp_pm_pinctrl_set_function +EXPORT_SYMBOL_GPL vmlinux 0x037289a9 tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0x037ab8ce tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x037d59ff rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x03aed374 divider_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x03b1805e kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x03b1a1aa ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0x03c12dfe cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x03c4ef50 regulator_map_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x03ca74b2 virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0x03ccce6d led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x03ce7234 sched_smt_present +EXPORT_SYMBOL_GPL vmlinux 0x03dc1446 devm_clk_hw_register_fixed_factor_index +EXPORT_SYMBOL_GPL vmlinux 0x03ded7a2 __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0x03e14887 ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0x03e3b5ce blk_clear_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x03f30483 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x03f58f13 gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0x03f5c091 __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0x03fb9268 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x03fdf4da serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0x0400a2b4 pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0x0402cbbf preempt_notifier_inc +EXPORT_SYMBOL_GPL vmlinux 0x04087018 kvm_get_running_vcpu +EXPORT_SYMBOL_GPL vmlinux 0x040d11a4 devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0x0412332f rcar_rst_set_rproc_boot_addr +EXPORT_SYMBOL_GPL vmlinux 0x0422fdfd hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x0429a55e tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x0430444e of_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0x04391eed user_update +EXPORT_SYMBOL_GPL vmlinux 0x045673e6 ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0x045b8aba __devm_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x04632318 xen_register_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0x0465a073 regmap_reg_in_ranges +EXPORT_SYMBOL_GPL vmlinux 0x046f359e of_overlay_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x0472cf3b register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x0485b4a9 tegra_mc_write_emem_configuration +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x048d446e devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0x049e5156 gnttab_try_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x04a354a1 page_cache_async_ra +EXPORT_SYMBOL_GPL vmlinux 0x04b97804 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x04bf0092 io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x04c41c60 devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04c50483 meson8_pmx_ops +EXPORT_SYMBOL_GPL vmlinux 0x04c5672c fscrypt_mergeable_bio_bh +EXPORT_SYMBOL_GPL vmlinux 0x04c8aebf console_verbose +EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x04df95f1 acpi_bind_one +EXPORT_SYMBOL_GPL vmlinux 0x04eb038c kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x04f27588 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x04f4c4b2 battery_hook_register +EXPORT_SYMBOL_GPL vmlinux 0x04fe6ef8 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x051a0bc1 stack_depot_fetch +EXPORT_SYMBOL_GPL vmlinux 0x051c4f10 irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0x0520d9ad fb_deferred_io_release +EXPORT_SYMBOL_GPL vmlinux 0x052b4013 register_vmcore_cb +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x052d2122 mptcp_token_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x053d738a __SCK__tp_func_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05515448 iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0x0552b721 iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0x055946e0 usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x05610897 of_changeset_destroy +EXPORT_SYMBOL_GPL vmlinux 0x05641313 imx_clk_hw_sscg_pll +EXPORT_SYMBOL_GPL vmlinux 0x05736076 wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x05768f08 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x057d2f7b sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x05883efb __traceiter_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x0589880e regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x058c6377 for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0x058f9366 apei_exec_collect_resources +EXPORT_SYMBOL_GPL vmlinux 0x05955bc9 to_nd_desc +EXPORT_SYMBOL_GPL vmlinux 0x05c37126 xen_xlate_remap_gfn_array +EXPORT_SYMBOL_GPL vmlinux 0x05d8036d sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x05d9c1d9 pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0x05daee76 serial8250_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x05e85d0a platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x06036b4a regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x06055a23 __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x061336ae blocking_notifier_chain_register_unique_prio +EXPORT_SYMBOL_GPL vmlinux 0x06167053 __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0x0616eed4 br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL vmlinux 0x0626da5f od_unregister_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x063c8f6c regulator_get_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x063e9296 rpi_firmware_put +EXPORT_SYMBOL_GPL vmlinux 0x0640dfb2 serial8250_rx_dma_flush +EXPORT_SYMBOL_GPL vmlinux 0x06419f91 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x06633049 report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0x066b6012 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x067e84ff dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x06879c99 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x068e40b1 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x0695e72a led_blink_set_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x06a4eb73 gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0x06b25118 edac_mc_add_mc_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x06b6283b transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x06b970a5 zynqmp_pm_ospi_mux_select +EXPORT_SYMBOL_GPL vmlinux 0x06c1cff4 devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x06ca5c55 fsl_mc_bus_dpio_type +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06e4433e sunxi_ccu_set_mmc_timing_mode +EXPORT_SYMBOL_GPL vmlinux 0x06e57855 bgpio_init +EXPORT_SYMBOL_GPL vmlinux 0x06ec93a4 irq_domain_set_hwirq_and_chip +EXPORT_SYMBOL_GPL vmlinux 0x06ffd5be udp_abort +EXPORT_SYMBOL_GPL vmlinux 0x0701ef16 acpi_spi_count_resources +EXPORT_SYMBOL_GPL vmlinux 0x070c1efa icc_provider_del +EXPORT_SYMBOL_GPL vmlinux 0x070f4bb1 dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0x0715f296 of_irq_parse_raw +EXPORT_SYMBOL_GPL vmlinux 0x071fa040 tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x073206ef md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0x07483e13 cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0x074b7ade vp_modern_set_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x074f98db synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x0751a31e of_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x0756a31c register_platform_power_off +EXPORT_SYMBOL_GPL vmlinux 0x0763402b evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x076356e7 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x07868a8e wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b29c9a xhci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07b5d958 edac_mc_free +EXPORT_SYMBOL_GPL vmlinux 0x07be045b irq_domain_create_simple +EXPORT_SYMBOL_GPL vmlinux 0x07be6905 net_inc_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x07cfbbd1 ata_sas_tport_delete +EXPORT_SYMBOL_GPL vmlinux 0x07daf226 virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0x07e225b6 icc_node_add +EXPORT_SYMBOL_GPL vmlinux 0x0802702a fsl_mc_obj_close +EXPORT_SYMBOL_GPL vmlinux 0x080fa7e6 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x08141e80 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x0817585c device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x083d5888 acpi_device_fix_up_power +EXPORT_SYMBOL_GPL vmlinux 0x084cde94 xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0x08576175 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x087f5dc5 wm831x_of_match +EXPORT_SYMBOL_GPL vmlinux 0x089f0b9c crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x08a7fc70 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x08a88a9f __SCK__tp_func_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x08aaec88 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x08b48150 ahci_check_ready +EXPORT_SYMBOL_GPL vmlinux 0x08c78cf7 offline_and_remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x08dd6afc __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0x08f16e1a scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x08fe8469 cgroup_get_e_css +EXPORT_SYMBOL_GPL vmlinux 0x09067dbc dev_pm_qos_expose_flags +EXPORT_SYMBOL_GPL vmlinux 0x0907d14d blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x09138389 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x091e1aba scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x09337cd0 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x0935f1d3 mtk_is_virt_gpio +EXPORT_SYMBOL_GPL vmlinux 0x093786cf synth_event_add_field_str +EXPORT_SYMBOL_GPL vmlinux 0x0941f119 cpufreq_driver_resolve_freq +EXPORT_SYMBOL_GPL vmlinux 0x09506d3c sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x095872d4 power_supply_get_property +EXPORT_SYMBOL_GPL vmlinux 0x09691834 efivars_register +EXPORT_SYMBOL_GPL vmlinux 0x097ad3fb component_compare_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x097fd353 syscon_regmap_lookup_by_phandle_args +EXPORT_SYMBOL_GPL vmlinux 0x09ac2155 dev_pm_qos_hide_flags +EXPORT_SYMBOL_GPL vmlinux 0x09aed66b gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09be3a09 pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x09c9ffa2 scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0x09cb44c5 is_nvdimm_sync +EXPORT_SYMBOL_GPL vmlinux 0x09e3ff9f wakeup_sources_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x09e77af6 virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0x09f1f876 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x09f5d1fd ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0x09fe4946 vp_modern_get_driver_features +EXPORT_SYMBOL_GPL vmlinux 0x0a015310 phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x0a03d1a7 inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x0a05e0d6 debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0x0a1dc005 mmc_pwrseq_register +EXPORT_SYMBOL_GPL vmlinux 0x0a1f1e9e pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x0a2a1ba0 make_device_exclusive_range +EXPORT_SYMBOL_GPL vmlinux 0x0a3611e8 pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0a38f6a6 l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0x0a3f96ad dev_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0x0a463293 __tracepoint_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x0a49305b dev_pm_opp_find_freq_ceil +EXPORT_SYMBOL_GPL vmlinux 0x0a52c511 hv_query_ext_cap +EXPORT_SYMBOL_GPL vmlinux 0x0a5ebf77 __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x0a67ee43 device_iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0x0a6a7e93 call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a7ceb30 __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x0a7d6187 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x0aa2cd32 sk_msg_is_readable +EXPORT_SYMBOL_GPL vmlinux 0x0ab0d92f icc_link_create +EXPORT_SYMBOL_GPL vmlinux 0x0abc6be6 k3_ringacc_ring_is_full +EXPORT_SYMBOL_GPL vmlinux 0x0ac954e3 acpi_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x0af405ab bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0x0af40724 iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0x0aff269d ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x0b0525a5 encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b1bb9f9 synchronize_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x0b24c079 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x0b26f553 crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0x0b2db2d5 remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x0b36d02b edac_device_add_device +EXPORT_SYMBOL_GPL vmlinux 0x0b3a3ed7 zynqmp_pm_fpga_get_status +EXPORT_SYMBOL_GPL vmlinux 0x0b4949f7 __efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x0b4f8d35 __traceiter_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x0b52e502 apei_resources_add +EXPORT_SYMBOL_GPL vmlinux 0x0b690f04 k3_udma_glue_tx_get_txcq_id +EXPORT_SYMBOL_GPL vmlinux 0x0b6f2cf5 kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0x0b711b91 xhci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0b732448 thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x0b79d3b3 power_supply_get_property_from_supplier +EXPORT_SYMBOL_GPL vmlinux 0x0b7d7454 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x0b8787e6 udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0x0b89639a unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x0b8c23ae __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x0bac135c fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x0bac92b9 devm_ti_sci_get_of_resource +EXPORT_SYMBOL_GPL vmlinux 0x0bb028d4 hisi_clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x0bb085f4 pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0x0bb8b243 memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0x0bbdc9b2 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x0bd72182 icc_disable +EXPORT_SYMBOL_GPL vmlinux 0x0bf32478 __SCK__tp_func_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0bfc1314 __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x0c08299e devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x0c0ca4c6 devm_led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x0c2c5802 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x0c3e6241 k3_udma_glue_disable_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x0c5285ac ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x0c63a910 ipv4_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x0c6d010d tegra_bpmp_put +EXPORT_SYMBOL_GPL vmlinux 0x0c6d0ddf mctp_register_netdev +EXPORT_SYMBOL_GPL vmlinux 0x0c7eff9c devm_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x0c805ea3 pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0x0c88c1c3 pci_vpd_find_id_string +EXPORT_SYMBOL_GPL vmlinux 0x0c970d40 devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0x0ca5680b vmf_insert_pfn_pmd_prot +EXPORT_SYMBOL_GPL vmlinux 0x0ca5a157 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x0cb24d84 pinctrl_generic_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x0cb7efca sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0x0cba8d11 sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0x0cbe3ee2 software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0cc9d36c iommu_group_claim_dma_owner +EXPORT_SYMBOL_GPL vmlinux 0x0ccd771f fscrypt_d_revalidate +EXPORT_SYMBOL_GPL vmlinux 0x0ccf5275 zynqmp_pm_pinctrl_get_config +EXPORT_SYMBOL_GPL vmlinux 0x0cd7021f acpi_dev_get_property +EXPORT_SYMBOL_GPL vmlinux 0x0ce3dd73 bman_is_probed +EXPORT_SYMBOL_GPL vmlinux 0x0cea0722 tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x0cfcb2be proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0x0d14af44 ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0x0d1733ca ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x0d1dcde1 regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0d281764 kvm_vcpu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x0d459213 work_on_cpu_safe +EXPORT_SYMBOL_GPL vmlinux 0x0d4961de nf_log_buf_open +EXPORT_SYMBOL_GPL vmlinux 0x0d4e3f8c iopf_queue_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0d5cecc6 ima_measure_critical_data +EXPORT_SYMBOL_GPL vmlinux 0x0d5ea27d anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0d5edf5f pci_iov_virtfn_devfn +EXPORT_SYMBOL_GPL vmlinux 0x0d620d4d pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0d7300d9 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x0d7ab9dc tpm_tis_core_init +EXPORT_SYMBOL_GPL vmlinux 0x0d8386a8 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x0d890dad power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x0d8a67c2 inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x0da2a0a8 sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0x0db63c36 dev_pm_opp_find_freq_ceil_by_volt +EXPORT_SYMBOL_GPL vmlinux 0x0dc1976e fwnode_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x0dcf6d59 mmc_get_ext_csd +EXPORT_SYMBOL_GPL vmlinux 0x0dd61e96 devm_phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x0dda06a6 perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0x0dda7870 ftrace_free_filter +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0df92374 bpf_trace_run2 +EXPORT_SYMBOL_GPL vmlinux 0x0dfb95ef spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x0dfc9108 bio_start_io_acct_time +EXPORT_SYMBOL_GPL vmlinux 0x0e007edf xen_evtchn_nr_channels +EXPORT_SYMBOL_GPL vmlinux 0x0e0c6a7d crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0x0e1194d5 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x0e13cb4d apei_resources_release +EXPORT_SYMBOL_GPL vmlinux 0x0e1e376a skb_gso_validate_network_len +EXPORT_SYMBOL_GPL vmlinux 0x0e2cf5f8 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x0e4bc284 regulator_set_active_discharge_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0e4de966 pinctrl_select_state +EXPORT_SYMBOL_GPL vmlinux 0x0e567932 driver_deferred_probe_check_state +EXPORT_SYMBOL_GPL vmlinux 0x0e5cc9d7 xdp_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x0e6b79af static_key_disable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x0e6e081e pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0e86f506 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x0e889e7d vchan_dma_desc_free_list +EXPORT_SYMBOL_GPL vmlinux 0x0e8b0a8c blk_mq_wait_quiesce_done +EXPORT_SYMBOL_GPL vmlinux 0x0e951fc4 spi_controller_resume +EXPORT_SYMBOL_GPL vmlinux 0x0e959f3f usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x0e9ebda3 nvmem_del_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x0ea16c52 crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x0ea5cbce xen_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x0ea9bb0b cpuidle_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0eb4b0db regmap_multi_reg_write_bypassed +EXPORT_SYMBOL_GPL vmlinux 0x0ebb03a4 devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0ec096b0 hv_read_reference_counter +EXPORT_SYMBOL_GPL vmlinux 0x0ec0ae6c fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0x0ec0d770 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x0eddfa5f vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x0ef0aa4d pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0x0efdfecc badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0x0f06c6f6 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x0f0d1c7f pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0f103bc6 mtk_pinconf_adv_drive_get +EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f1d7120 dma_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x0f234e36 devm_spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x0f2b5c99 gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x0f52554f devm_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x0f538276 rpi_firmware_get +EXPORT_SYMBOL_GPL vmlinux 0x0f72ada1 acpi_dev_resource_io +EXPORT_SYMBOL_GPL vmlinux 0x0f7a688d crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0x0f7ca236 dmi_memdev_name +EXPORT_SYMBOL_GPL vmlinux 0x0f84eb0b mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x0f99aaf2 devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0x0fa674c6 device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x0fa89368 rio_add_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x0faa2c9a __tracepoint_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x0fbb7344 memremap_compat_align +EXPORT_SYMBOL_GPL vmlinux 0x0fbc0c0e xas_pause +EXPORT_SYMBOL_GPL vmlinux 0x0fc88d16 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x0fd1fdee nvmem_cell_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x0fd4610e kmem_dump_obj +EXPORT_SYMBOL_GPL vmlinux 0x0ff3703b of_mm_gpiochip_add_data +EXPORT_SYMBOL_GPL vmlinux 0x0ff6bbb3 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x10038197 gpiochip_generic_request +EXPORT_SYMBOL_GPL vmlinux 0x1011705b rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101d01e3 meson_clk_pll_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x101eb62f hv_setup_dma_ops +EXPORT_SYMBOL_GPL vmlinux 0x10207909 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x102270f1 clk_hw_get_parent_by_index +EXPORT_SYMBOL_GPL vmlinux 0x1023432b pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0x1033050e subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x1037fe97 virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x1043df72 crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0x105123b7 __traceiter_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x1051764a ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x1054f541 of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0x10551927 ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x105ec157 iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0x10881ee8 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x108a0acd bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x108f0f72 vp_legacy_set_status +EXPORT_SYMBOL_GPL vmlinux 0x10960f9e __traceiter_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x10a52f85 pwmchip_remove +EXPORT_SYMBOL_GPL vmlinux 0x10bf75dc fsl_mc_obj_reset +EXPORT_SYMBOL_GPL vmlinux 0x10c8e999 espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0x10d9f317 stack_depot_init +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x110106c1 cper_severity_to_aer +EXPORT_SYMBOL_GPL vmlinux 0x110a1feb crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x1114ab86 __traceiter_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x1114bebd extcon_get_edev_name +EXPORT_SYMBOL_GPL vmlinux 0x11198506 sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0x11225b5f ext_pi_type3_crc64 +EXPORT_SYMBOL_GPL vmlinux 0x1137210a pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x11402c4c tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0x114599db tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x11538af3 __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x1162e0c6 dev_pm_opp_of_add_table_noclk +EXPORT_SYMBOL_GPL vmlinux 0x116f532a powercap_register_zone +EXPORT_SYMBOL_GPL vmlinux 0x1176a1e2 switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x117c1213 of_reconfig_get_state_change +EXPORT_SYMBOL_GPL vmlinux 0x118223bf blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x1188f50e of_hte_req_count +EXPORT_SYMBOL_GPL vmlinux 0x119a9a8b acpiphp_unregister_attention +EXPORT_SYMBOL_GPL vmlinux 0x11bab328 ahci_platform_disable_resources +EXPORT_SYMBOL_GPL vmlinux 0x11c06eec kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x11c8333a of_genpd_remove_last +EXPORT_SYMBOL_GPL vmlinux 0x11d1562f skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0x11d55200 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x11d693b1 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x11d7ec5c cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x11e06ee9 badrange_init +EXPORT_SYMBOL_GPL vmlinux 0x11e08f96 trace_seq_putmem_hex +EXPORT_SYMBOL_GPL vmlinux 0x11fea918 kvm_destroy_vcpus +EXPORT_SYMBOL_GPL vmlinux 0x120afa71 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x121d958a unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x122f4c41 pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0x12320ef3 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x1234e483 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x1234ffa1 cper_estatus_check_header +EXPORT_SYMBOL_GPL vmlinux 0x12450e6a clk_hw_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0x1247bf40 to_nvdimm_bus_dev +EXPORT_SYMBOL_GPL vmlinux 0x124d1ebc nfs_ssc_register +EXPORT_SYMBOL_GPL vmlinux 0x12537dae __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x125630c8 pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x1269a0da static_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x127bbe85 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x127c24c2 fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0x129283ef dprc_reset_container +EXPORT_SYMBOL_GPL vmlinux 0x129334ae sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0x129e4b6b handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x12a11aae inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0x12a59aea trace_add_event_call +EXPORT_SYMBOL_GPL vmlinux 0x12a5b5e0 __devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x12aa0b5a regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x12b741b8 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x12c832ed scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0x12d342bb crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x12d6a7a2 ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x12d952d5 bio_start_io_acct +EXPORT_SYMBOL_GPL vmlinux 0x12e04ac8 devfreq_event_reset_event +EXPORT_SYMBOL_GPL vmlinux 0x12ee1173 memory_group_unregister +EXPORT_SYMBOL_GPL vmlinux 0x12efa9e7 icc_node_del +EXPORT_SYMBOL_GPL vmlinux 0x12fa5d39 __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0x12ff9a32 mmc_crypto_prepare_req +EXPORT_SYMBOL_GPL vmlinux 0x13063146 watchdog_set_last_hw_keepalive +EXPORT_SYMBOL_GPL vmlinux 0x13074f48 dpbp_enable +EXPORT_SYMBOL_GPL vmlinux 0x13090724 add_vmfork_randomness +EXPORT_SYMBOL_GPL vmlinux 0x130ed363 devfreq_event_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131b5489 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x131b7de3 scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x132342f4 virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0x132bfbb7 irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x133a807d platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x133f01ba iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x1340b597 spi_slave_abort +EXPORT_SYMBOL_GPL vmlinux 0x1349736c __clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x135152c2 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x135c32b6 regulator_map_voltage_ascend +EXPORT_SYMBOL_GPL vmlinux 0x1360f019 __traceiter_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x136209db power_supply_reg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1363bb89 param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x13640660 get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x1366dcea pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0x138aff76 gnttab_init +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x13a52714 virtqueue_add_inbuf +EXPORT_SYMBOL_GPL vmlinux 0x13af8725 spi_controller_dma_unmap_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x13b8fc49 devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x13c0501d ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x13ce87e8 asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0x13d09f2d device_link_add +EXPORT_SYMBOL_GPL vmlinux 0x13d95e0a of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x13db1eb8 k3_udma_glue_rx_cppi5_to_dma_addr +EXPORT_SYMBOL_GPL vmlinux 0x13df0d54 iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x13e18666 blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x13eaad21 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x13f29ba5 gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0x13f67e41 ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0x13f7c715 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x13fab921 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x1403ad09 cpufreq_add_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x14446ce9 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x1456762b k3_ringacc_ring_get_free +EXPORT_SYMBOL_GPL vmlinux 0x14629625 regulator_get_error_flags +EXPORT_SYMBOL_GPL vmlinux 0x146cc88f bpf_master_redirect_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x1484631f reset_control_get_count +EXPORT_SYMBOL_GPL vmlinux 0x14863aaa led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x148fd794 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x14942883 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x14a6e017 fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x14c856c1 clk_register_hisi_phase +EXPORT_SYMBOL_GPL vmlinux 0x14ccdc49 kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0x14ebce9c usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x14ec4fdb evtchn_put +EXPORT_SYMBOL_GPL vmlinux 0x14ed86e2 mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x15021b4a xa_delete_node +EXPORT_SYMBOL_GPL vmlinux 0x150427b6 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x1507bdfa __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0x151b1dbb dpcon_open +EXPORT_SYMBOL_GPL vmlinux 0x151cd034 blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0x1521e16f irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0x1530fbae wwan_put_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x154f8e15 bio_poll +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x155176f2 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1553bb91 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x15584c8a regmap_get_reg_stride +EXPORT_SYMBOL_GPL vmlinux 0x156046d6 __percpu_init_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x1570560c __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x1578bd15 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x15886f48 hte_disable_ts +EXPORT_SYMBOL_GPL vmlinux 0x158a44b9 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x158e769d xenbus_setup_ring +EXPORT_SYMBOL_GPL vmlinux 0x159d5a81 devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0x15a087c3 mtk_pinconf_drive_set +EXPORT_SYMBOL_GPL vmlinux 0x15ade1cc filter_irq_stacks +EXPORT_SYMBOL_GPL vmlinux 0x15b7c593 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x15b9125b tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0x15c44921 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x15c60a71 __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x15c6a7d6 screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0x15c8272b power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x15cf35c9 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x15d4fd22 device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x15d80897 rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x15dc4735 devm_clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x15dfb1ee trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x15e3dff3 skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0x15e577e4 clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x15e59973 mpc8xxx_spi_rx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0x15e5fab3 of_i2c_get_board_info +EXPORT_SYMBOL_GPL vmlinux 0x15ea2648 hwpoison_filter_flags_mask +EXPORT_SYMBOL_GPL vmlinux 0x15ea4142 dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x15f3fba0 iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x16029312 rio_mport_chk_dev_access +EXPORT_SYMBOL_GPL vmlinux 0x160dc33f tpm_tis_resume +EXPORT_SYMBOL_GPL vmlinux 0x160e42df dma_async_device_channel_unregister +EXPORT_SYMBOL_GPL vmlinux 0x161aed40 devlink_port_attrs_set +EXPORT_SYMBOL_GPL vmlinux 0x162001fe balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x162596f8 debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x163f87c4 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x1641200f fsl_mc_bus_dpcon_type +EXPORT_SYMBOL_GPL vmlinux 0x16422a6e xdp_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x164f5337 vp_modern_remove +EXPORT_SYMBOL_GPL vmlinux 0x16516798 osc_pc_lpi_support_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x16636fad mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0x167d430d devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x167d7113 acpi_bus_register_early_device +EXPORT_SYMBOL_GPL vmlinux 0x16818f29 sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x1687ec20 tty_get_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x1690b503 usb_role_switch_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x169d76df regulator_suspend_enable +EXPORT_SYMBOL_GPL vmlinux 0x16a9d299 acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0x16addf1f dpbp_disable +EXPORT_SYMBOL_GPL vmlinux 0x16b5e9e5 acpi_subsys_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x16b9eeee ip6_input +EXPORT_SYMBOL_GPL vmlinux 0x16c101c5 spi_mem_poll_status +EXPORT_SYMBOL_GPL vmlinux 0x16c5f9f5 dev_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0x16c63d14 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0x16c6566e uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x16cba29e nvmem_device_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x16cc65cc regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16dfbf36 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x16e705d0 devm_pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x16f0de29 rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x16f15139 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x17296a2c usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x173ac652 sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0x173b6e96 fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0x1741ddee trace_seq_puts +EXPORT_SYMBOL_GPL vmlinux 0x17461103 cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0x17475e26 rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x174c6274 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x17591ecd zynqmp_pm_write_ggs +EXPORT_SYMBOL_GPL vmlinux 0x175b5d7a wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x175f4b6d ahci_platform_disable_regulators +EXPORT_SYMBOL_GPL vmlinux 0x176031a7 devlink_fmsg_string_put +EXPORT_SYMBOL_GPL vmlinux 0x17614bf3 apei_resources_sub +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x177d99ae acpi_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x1788c661 extcon_set_property +EXPORT_SYMBOL_GPL vmlinux 0x178988ee wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x17980b8e n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x17bead8c pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0x17c19c53 pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0x17c44553 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x17c51088 regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x17c721fd folio_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x17e01f11 erst_clear +EXPORT_SYMBOL_GPL vmlinux 0x17e0bcda phy_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x17ec6e7d virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x182656cc platform_has +EXPORT_SYMBOL_GPL vmlinux 0x1829e205 sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x182dd208 phy_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x18428692 __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x184b6087 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x185a243f _copy_from_iter_flushcache +EXPORT_SYMBOL_GPL vmlinux 0x185dcbc1 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x18615d35 efivar_supports_writes +EXPORT_SYMBOL_GPL vmlinux 0x186cb429 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x18715353 k3_udma_glue_push_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x1874de68 to_of_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x18783e51 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1879000d ahci_set_em_messages +EXPORT_SYMBOL_GPL vmlinux 0x188a659d devm_hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x188ef8c2 phy_10gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x18a785f3 usb_asmedia_modifyflowcontrol +EXPORT_SYMBOL_GPL vmlinux 0x18ac1609 dax_zero_range +EXPORT_SYMBOL_GPL vmlinux 0x18af67bb skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0x18b1551a imx_clk_fracn_gppll +EXPORT_SYMBOL_GPL vmlinux 0x18bd0733 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x18c0c27a bpf_offload_dev_netdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x18c1aad9 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x18cb896a dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0x18d167f1 ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x18e8c440 arch_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x18eb281c sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x18f10f38 k3_udma_glue_enable_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x18fd4796 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x190bbb3a fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x1924ac56 do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x1926028c zynqmp_pm_reset_assert +EXPORT_SYMBOL_GPL vmlinux 0x19405e16 of_clk_get_parent_name +EXPORT_SYMBOL_GPL vmlinux 0x1944e39b raw_v6_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x196cb928 i2c_dw_validate_speed +EXPORT_SYMBOL_GPL vmlinux 0x1973d20e udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x19821689 __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x199ba1d9 gov_update_cpu_data +EXPORT_SYMBOL_GPL vmlinux 0x199fbbac ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19a4a8e5 crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x19ac0533 acpi_cppc_processor_probe +EXPORT_SYMBOL_GPL vmlinux 0x19b4dc7c relay_close +EXPORT_SYMBOL_GPL vmlinux 0x19bc5891 __mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x19bc908f nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0x19c0a30a debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x19c20269 soc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x19e08b70 phy_led_triggers_register +EXPORT_SYMBOL_GPL vmlinux 0x19e81304 btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19ea3145 ti_sci_inta_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x19edd064 blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0x19fea214 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x1a0ad0ca imx_pinctrl_parse_pin_scu +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a146ec3 usb_ep_type_string +EXPORT_SYMBOL_GPL vmlinux 0x1a199487 fsl_mc_portal_allocate +EXPORT_SYMBOL_GPL vmlinux 0x1a4a2fe3 fscrypt_limit_io_blocks +EXPORT_SYMBOL_GPL vmlinux 0x1a4d401b dw_pcie_ep_raise_legacy_irq +EXPORT_SYMBOL_GPL vmlinux 0x1a525af9 rockchip_clk_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1a635dbf debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x1a65e34b md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a876574 __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x1a8c3f41 virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0x1a8ea4aa kvm_read_guest_page +EXPORT_SYMBOL_GPL vmlinux 0x1a9e38f9 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x1aa28d0a i2c_detect_slave_mode +EXPORT_SYMBOL_GPL vmlinux 0x1aa61acc acpi_subsys_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1ab49b10 nvdimm_security_setup_events +EXPORT_SYMBOL_GPL vmlinux 0x1abd4ba0 tcp_bpf_update_proto +EXPORT_SYMBOL_GPL vmlinux 0x1ac653ed crypto_stats_rng_seed +EXPORT_SYMBOL_GPL vmlinux 0x1acd18c8 cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x1ad3cfd4 mbox_client_peek_data +EXPORT_SYMBOL_GPL vmlinux 0x1ad47b2b usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x1ae2a18c pinctrl_generic_get_group +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1b006316 genphy_c45_pma_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1b0da083 alarmtimer_get_rtcdev +EXPORT_SYMBOL_GPL vmlinux 0x1b0fc683 dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x1b297b1e sbitmap_queue_recalculate_wake_batch +EXPORT_SYMBOL_GPL vmlinux 0x1b2c6b76 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x1b420704 bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0x1b5059ce ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x1b5cca74 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x1b5d42bd platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x1b5f4377 trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0x1b64c4d6 device_driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x1b7fc4f8 generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0x1b857981 iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x1b861102 pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x1b8822d8 pinctrl_gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x1b88cdc9 __trace_trigger_soft_disabled +EXPORT_SYMBOL_GPL vmlinux 0x1b8b7d86 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x1b92e41d inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x1b9f6ea6 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x1ba0d5b1 devm_extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1bbdeeb4 hte_ts_get +EXPORT_SYMBOL_GPL vmlinux 0x1bc40a8d gpmc_omap_get_nand_ops +EXPORT_SYMBOL_GPL vmlinux 0x1bc5eebe pinctrl_gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x1bc64087 xas_split +EXPORT_SYMBOL_GPL vmlinux 0x1bc85e1c irq_set_affinity +EXPORT_SYMBOL_GPL vmlinux 0x1bcb07b6 of_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x1be07c9e __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x1bee4974 sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x1c119ff9 efivar_entry_add +EXPORT_SYMBOL_GPL vmlinux 0x1c17bc11 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1c2842aa sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x1c3b9789 serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0x1c44ef50 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1c453e57 of_msi_configure +EXPORT_SYMBOL_GPL vmlinux 0x1c5541bd cpufreq_boost_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c5ff742 clk_get_phase +EXPORT_SYMBOL_GPL vmlinux 0x1c6af183 tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x1c779de4 usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x1c78ac3b devl_assert_locked +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c89fb22 zynqmp_pm_clock_setparent +EXPORT_SYMBOL_GPL vmlinux 0x1ca3aa97 alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0x1ca3cb6a wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0x1ca4a930 smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x1ca58292 perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x1cb3e77c regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x1cb7c983 apei_exec_read_register_value +EXPORT_SYMBOL_GPL vmlinux 0x1cb93776 lochnagar_update_config +EXPORT_SYMBOL_GPL vmlinux 0x1cb9a1c8 xenbus_gather +EXPORT_SYMBOL_GPL vmlinux 0x1cbd92b0 cpu_mitigations_off +EXPORT_SYMBOL_GPL vmlinux 0x1cc4d6c4 of_mm_gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x1cd451cb uprobe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1cd5e9f3 devm_devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x1cd72b69 acpi_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x1ce65231 perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0x1cf44d10 strp_done +EXPORT_SYMBOL_GPL vmlinux 0x1cf46058 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1cff8eab sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0x1d11e45e acpiphp_register_attention +EXPORT_SYMBOL_GPL vmlinux 0x1d140b1f ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d3a803f get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0x1d43330f ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x1d5686eb kthread_park +EXPORT_SYMBOL_GPL vmlinux 0x1d5923b5 blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0x1d5bcfd3 dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0x1d5ddb6f psil_set_new_ep_config +EXPORT_SYMBOL_GPL vmlinux 0x1d5dfdb8 dev_pm_opp_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x1d6696b0 mtk_mutex_disable +EXPORT_SYMBOL_GPL vmlinux 0x1d724586 sched_set_normal +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1d7a2de1 devm_hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x1d7bb27b kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x1d853813 phy_configure +EXPORT_SYMBOL_GPL vmlinux 0x1d86abe5 ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1d8dcd56 of_get_videomode +EXPORT_SYMBOL_GPL vmlinux 0x1d94a218 dmi_memdev_handle +EXPORT_SYMBOL_GPL vmlinux 0x1d9a5b2b pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0x1db4c879 fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0x1dc7ce87 netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0x1dc9d0cf netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x1dcdf4c8 bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0x1dd3701d devm_hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x1dd83c30 fuse_dax_cancel_work +EXPORT_SYMBOL_GPL vmlinux 0x1de0b60e set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x1de887ff zynqmp_pm_bootmode_write +EXPORT_SYMBOL_GPL vmlinux 0x1df6bf4e key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0x1df6d79e led_sysfs_disable +EXPORT_SYMBOL_GPL vmlinux 0x1df71854 dev_pm_disable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x1df91f3d ata_common_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0x1dfa5dbd mpi_invm +EXPORT_SYMBOL_GPL vmlinux 0x1e037f2c thermal_zone_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1e052630 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x1e0670c6 reset_control_release +EXPORT_SYMBOL_GPL vmlinux 0x1e10f592 stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0x1e30242b devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x1e33a037 dma_resv_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1e3a38d4 dma_map_sgtable +EXPORT_SYMBOL_GPL vmlinux 0x1e3bc77c xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0x1e424d61 user_preparse +EXPORT_SYMBOL_GPL vmlinux 0x1e4687c2 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x1e4e98c0 acpi_dev_filter_resource_type +EXPORT_SYMBOL_GPL vmlinux 0x1e53f827 stack_depot_print +EXPORT_SYMBOL_GPL vmlinux 0x1e5e6d70 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x1e7b89d3 cros_ec_command +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e80fc01 fsl_mc_populate_irq_pool +EXPORT_SYMBOL_GPL vmlinux 0x1e822c73 skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0x1e83fee6 HYPERVISOR_physdev_op +EXPORT_SYMBOL_GPL vmlinux 0x1e8bac6b inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x1e8fac8e wireless_nlevent_flush +EXPORT_SYMBOL_GPL vmlinux 0x1e9bc719 freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x1e9c590a usb_find_common_endpoints_reverse +EXPORT_SYMBOL_GPL vmlinux 0x1eb1f7ad fsl_mc_get_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x1eb6847b device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ebf7528 trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0x1ed4d2eb percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x1ee50478 fuse_init_fs_context_submount +EXPORT_SYMBOL_GPL vmlinux 0x1eec96c0 k3_udma_glue_rx_flow_init +EXPORT_SYMBOL_GPL vmlinux 0x1ef20793 stop_core_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x1efa8b59 cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x1efaa06f __tracepoint_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x1f1cc011 zynqmp_pm_get_chipid +EXPORT_SYMBOL_GPL vmlinux 0x1f202f26 kvm_read_guest_offset_cached +EXPORT_SYMBOL_GPL vmlinux 0x1f348b01 pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x1f38a4f6 mpi_set_highbit +EXPORT_SYMBOL_GPL vmlinux 0x1f391f78 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x1f449588 mctrl_gpio_disable_ms +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f7ee42c tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f8edef5 acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1f9a2b53 zynqmp_pm_clock_enable +EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x1fb2ed1f of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x1fcd7e9f init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x1fd12749 acpi_subsys_complete +EXPORT_SYMBOL_GPL vmlinux 0x1fe28ef9 mmc_cmdq_enable +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x1fee8c5f usb_intf_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0x1ff0d545 umd_load_blob +EXPORT_SYMBOL_GPL vmlinux 0x1ff304af ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x20032f37 usb_of_has_combined_node +EXPORT_SYMBOL_GPL vmlinux 0x2009e400 devlink_info_board_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x200f11fc devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0x2017c2fe kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL vmlinux 0x20249cf4 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x202a24b0 trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0x202d4ed6 nvmem_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x202e53e1 dev_pm_opp_of_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x2039459e lp8788_read_byte +EXPORT_SYMBOL_GPL vmlinux 0x204f2c5c gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x2055d69b ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x20619b9b devlink_param_register +EXPORT_SYMBOL_GPL vmlinux 0x20702953 __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x2075ff91 pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x2081fdf9 blk_crypto_has_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x20978fb9 idr_find +EXPORT_SYMBOL_GPL vmlinux 0x209bebc5 fscrypt_prepare_new_inode +EXPORT_SYMBOL_GPL vmlinux 0x20a73f7d meson_pmx_get_funcs_count +EXPORT_SYMBOL_GPL vmlinux 0x20a8a948 sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x20aca06b gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0x20dd646a virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0x20e02ce4 synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0x20e487e2 dpcon_get_attributes +EXPORT_SYMBOL_GPL vmlinux 0x20ed0e6c register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x20f41976 xen_dbgp_reset_prep +EXPORT_SYMBOL_GPL vmlinux 0x20fa2f43 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x20fc44ac serdev_acpi_get_uart_resource +EXPORT_SYMBOL_GPL vmlinux 0x216bf830 sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x2176e42a hwpoison_filter_memcg +EXPORT_SYMBOL_GPL vmlinux 0x21a563da clk_get_accuracy +EXPORT_SYMBOL_GPL vmlinux 0x21a96ee3 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21bf5d44 decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x21cc9fca power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21d804fe rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x21dd902c dm_submit_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x21e75b11 __traceiter_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x21f76984 gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x2200061c __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x220ce70c kvm_arm_hyp_service_available +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x221eab6d scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x22204d82 skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x2229a7ad pci_dev_trylock +EXPORT_SYMBOL_GPL vmlinux 0x22474442 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x224c74c9 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x22627d51 bpf_trace_run4 +EXPORT_SYMBOL_GPL vmlinux 0x22665472 blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x226bef5b gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0x2273e27b lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0x2277560f fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0x227d917d sampling_rate_store +EXPORT_SYMBOL_GPL vmlinux 0x2292e7da acpi_data_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x22952f34 pm_wakeup_dev_event +EXPORT_SYMBOL_GPL vmlinux 0x22a59a0b pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0x22ab7517 devl_unlock +EXPORT_SYMBOL_GPL vmlinux 0x22b3f86f rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x22c14fcf devlink_alloc_ns +EXPORT_SYMBOL_GPL vmlinux 0x22c65ed5 ahci_init_controller +EXPORT_SYMBOL_GPL vmlinux 0x22c7df11 usb_phy_get_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x22d60537 tcf_frag_xmit_count +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22d9fb76 rt_mutex_lock_killable +EXPORT_SYMBOL_GPL vmlinux 0x22ec5205 cpu_latency_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x22ed0a0b register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x22f31abb add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0x22fd08ba cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x230e17f7 devm_memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0x231b699d handle_fasteoi_ack_irq +EXPORT_SYMBOL_GPL vmlinux 0x2324b407 vp_legacy_get_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x233b8698 fsl_mc_resource_free +EXPORT_SYMBOL_GPL vmlinux 0x233e91a2 fat_time_fat2unix +EXPORT_SYMBOL_GPL vmlinux 0x23412816 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x23555522 bpf_preload_ops +EXPORT_SYMBOL_GPL vmlinux 0x23578cf8 xen_dbgp_external_startup +EXPORT_SYMBOL_GPL vmlinux 0x236f5442 pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x237a01fb crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x238a9bd5 fscrypt_set_bio_crypt_ctx +EXPORT_SYMBOL_GPL vmlinux 0x2396c7f0 clk_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x23a7a3d3 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x23ae6665 cpuidle_register +EXPORT_SYMBOL_GPL vmlinux 0x23bb876b phy_pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x23bba35b clk_fractional_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x23c009f0 devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0x23c18166 i2c_client_type +EXPORT_SYMBOL_GPL vmlinux 0x23c805b9 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x23cb096f regmap_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x23cb0c27 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x23cbefb9 scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0x23d9c08e gnttab_page_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x23ddf163 bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0x23ee48b2 sk_msg_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x23f1bd3a imx_clk_hw_pfdv2 +EXPORT_SYMBOL_GPL vmlinux 0x24173806 clk_regmap_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0x2421097b mpi_const +EXPORT_SYMBOL_GPL vmlinux 0x2427684e acpi_dev_get_dma_resources +EXPORT_SYMBOL_GPL vmlinux 0x24413343 erst_read_record +EXPORT_SYMBOL_GPL vmlinux 0x2443c4fe usb_hcd_setup_local_mem +EXPORT_SYMBOL_GPL vmlinux 0x245b1230 crypto_shash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x24646c32 PageHeadHuge +EXPORT_SYMBOL_GPL vmlinux 0x2464da17 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x2469810f __rcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x2469ef35 rio_mport_get_physefb +EXPORT_SYMBOL_GPL vmlinux 0x246cded8 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0x24709b2f trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0x2484e789 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x24860747 tegra_bpmp_mrq_is_supported +EXPORT_SYMBOL_GPL vmlinux 0x24860b59 hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x2486eb76 dt_init_idle_driver +EXPORT_SYMBOL_GPL vmlinux 0x248bc867 raw_notifier_call_chain_robust +EXPORT_SYMBOL_GPL vmlinux 0x248e1473 kfree_strarray +EXPORT_SYMBOL_GPL vmlinux 0x249d7dce of_pci_get_slot_power_limit +EXPORT_SYMBOL_GPL vmlinux 0x24a735c6 acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x24ad11db wakeup_sources_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x24bff6af regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x24c9031b efivar_entry_size +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24df5e97 of_remove_property +EXPORT_SYMBOL_GPL vmlinux 0x24e29154 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24f39c39 reset_control_reset +EXPORT_SYMBOL_GPL vmlinux 0x24f4d2b8 edac_device_handle_ue_count +EXPORT_SYMBOL_GPL vmlinux 0x24f63dcf ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x24fc50f4 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24fddd59 raw_v6_match +EXPORT_SYMBOL_GPL vmlinux 0x2500cdfd efivars_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2506d84a do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0x25301bc6 arch_wb_cache_pmem +EXPORT_SYMBOL_GPL vmlinux 0x25379e73 clk_set_min_rate +EXPORT_SYMBOL_GPL vmlinux 0x2547980e wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x2549de9b dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x254e2f65 gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0x254e75ca add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0x2552db27 irq_domain_update_bus_token +EXPORT_SYMBOL_GPL vmlinux 0x2555c26f nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0x2565fe24 dev_pm_opp_get_level +EXPORT_SYMBOL_GPL vmlinux 0x2574da11 zynqmp_pm_write_pggs +EXPORT_SYMBOL_GPL vmlinux 0x257d8084 serial8250_update_uartclk +EXPORT_SYMBOL_GPL vmlinux 0x2580e22f clk_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x258f6b38 rockchip_pcie_enable_clocks +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x259b1ee6 hwmon_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x25bb6fb0 alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0x25bbfa9a security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x25bc6dfc iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0x25c177d2 regmap_noinc_write +EXPORT_SYMBOL_GPL vmlinux 0x25e1a2bf pfn_to_online_page +EXPORT_SYMBOL_GPL vmlinux 0x25e6830b regulator_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x25f1a4c8 irq_gc_mask_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x25f4838b devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x2618a960 devm_tegra_core_dev_init_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x261a5eb8 devm_pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x26336850 pin_get_name +EXPORT_SYMBOL_GPL vmlinux 0x2638a0c3 pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0x26430d5d __auxiliary_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x26451712 clk_mux_determine_rate_flags +EXPORT_SYMBOL_GPL vmlinux 0x2649a181 __traceiter_block_split +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x265bbef9 kexec_crash_loaded +EXPORT_SYMBOL_GPL vmlinux 0x2668efce blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x266a4b08 tasklet_unlock +EXPORT_SYMBOL_GPL vmlinux 0x267256a5 fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0x26779ebe devl_port_register +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2697e5f8 fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0x269d7de7 devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x26a93eb2 verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0x26aa58fa dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26e30ad9 fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x26f23518 clk_hw_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL vmlinux 0x2708808f pci_hp_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2717cb4c unregister_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x2725c5ac ahci_platform_resume +EXPORT_SYMBOL_GPL vmlinux 0x2729eea1 __acpi_node_get_property_reference +EXPORT_SYMBOL_GPL vmlinux 0x272dcf2e vp_modern_queue_address +EXPORT_SYMBOL_GPL vmlinux 0x272e9d77 hisi_reset_exit +EXPORT_SYMBOL_GPL vmlinux 0x2735c371 devm_register_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x274ccda4 spi_take_timestamp_pre +EXPORT_SYMBOL_GPL vmlinux 0x274dd1a3 sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x2752930c vp_modern_set_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x275507e0 devm_clk_get_enabled +EXPORT_SYMBOL_GPL vmlinux 0x275c5d1e crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0x27600830 bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0x2773c485 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x27741b69 component_add +EXPORT_SYMBOL_GPL vmlinux 0x2775b968 regmap_async_complete_cb +EXPORT_SYMBOL_GPL vmlinux 0x27837930 ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0x27dc9471 __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x27eb9685 regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x27ec9146 pci_find_dvsec_capability +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27f51307 acpi_set_modalias +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x27fe4750 mtk_alloc_clk_data +EXPORT_SYMBOL_GPL vmlinux 0x2808b518 bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0x280e2c1a led_set_brightness_nosleep +EXPORT_SYMBOL_GPL vmlinux 0x2817f7fd cppc_get_desired_perf +EXPORT_SYMBOL_GPL vmlinux 0x28184f78 usb_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x281c28d2 dev_pm_qos_update_user_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x282cdabc usb_led_activity +EXPORT_SYMBOL_GPL vmlinux 0x28310bcd kasprintf_strarray +EXPORT_SYMBOL_GPL vmlinux 0x2842fa5b sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x28484a93 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x2849d4c0 clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0x284c5e31 tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0x28591919 ahci_platform_suspend +EXPORT_SYMBOL_GPL vmlinux 0x286284ae serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x286f17a4 blk_mq_hctx_set_fq_lock_class +EXPORT_SYMBOL_GPL vmlinux 0x28720677 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x287f1737 crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0x2882d40e usb_role_switch_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2882ee5b shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0x2887bfdd scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x288caaff attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x2892a40e devm_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x28939089 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x28a50e90 i2c_slave_register +EXPORT_SYMBOL_GPL vmlinux 0x28aa6a67 call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x28ab4fb9 pinctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x28afbb08 cpu_latency_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x28b030d2 of_overlay_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x28b208af sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x28b79c47 is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0x28c86e06 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x28d01577 clkdev_hw_create +EXPORT_SYMBOL_GPL vmlinux 0x28db3d27 of_irq_parse_and_map_pci +EXPORT_SYMBOL_GPL vmlinux 0x28f06947 tty_get_icount +EXPORT_SYMBOL_GPL vmlinux 0x28f5627e pinconf_generic_parse_dt_config +EXPORT_SYMBOL_GPL vmlinux 0x28f76500 fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x28facfc6 nvdimm_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x2904520a regmap_irq_get_domain +EXPORT_SYMBOL_GPL vmlinux 0x291876f3 mpi_ec_get_affine +EXPORT_SYMBOL_GPL vmlinux 0x29317a7d cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0x2935a319 pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0x2939dfb9 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x293c884e iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x29459a7d gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x294668c4 platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0x2957affb ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0x295b982a hisi_clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x2960ddb5 spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x2972dc68 crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0x297a77d7 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x297b99bd __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x298684cc acpi_initialize_hp_context +EXPORT_SYMBOL_GPL vmlinux 0x29c11e51 of_clk_hw_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0x29c256cc platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0x29c9204a dev_pm_opp_find_level_exact +EXPORT_SYMBOL_GPL vmlinux 0x29d76547 k3_udma_glue_tdown_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x29d92f76 nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x2a0e97dc sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x2a234b5a tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0x2a2be53f pm_clk_add +EXPORT_SYMBOL_GPL vmlinux 0x2a37ea11 imx_clk_hw_frac_pll +EXPORT_SYMBOL_GPL vmlinux 0x2a476c56 md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x2a4f5f15 iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0x2a517fd9 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x2a57540b ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x2a5add05 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x2a5ea9ef rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2a5fba32 pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a6eda4e icc_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x2a7316da __SCK__tp_func_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x2a8f8b72 pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0x2a976d1c dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x2a9b5428 __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x2a9d955f rockchip_pcie_deinit_phys +EXPORT_SYMBOL_GPL vmlinux 0x2aad81b2 mpc8xxx_spi_rx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0x2aadad1a efi_capsule_update +EXPORT_SYMBOL_GPL vmlinux 0x2ae1689e zynqmp_pm_clock_getdivider +EXPORT_SYMBOL_GPL vmlinux 0x2af7f918 dpbp_close +EXPORT_SYMBOL_GPL vmlinux 0x2afc56b0 pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x2b0fe000 gnttab_cancel_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x2b136bba led_trigger_read +EXPORT_SYMBOL_GPL vmlinux 0x2b13d611 validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0x2b1792ff devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2b1e1acd cpuidle_get_cpu_driver +EXPORT_SYMBOL_GPL vmlinux 0x2b43672c __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x2b4509dd devlink_health_reporter_state_update +EXPORT_SYMBOL_GPL vmlinux 0x2b4b43a6 __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0x2b4d2a7d led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2b4f55e8 fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0x2b5231f2 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x2b58aa07 spi_finalize_current_transfer +EXPORT_SYMBOL_GPL vmlinux 0x2b6150fb power_supply_temp2resist_simple +EXPORT_SYMBOL_GPL vmlinux 0x2b699297 scmi_protocol_register +EXPORT_SYMBOL_GPL vmlinux 0x2b6d960d synth_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x2b6fc5c2 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x2b76646e pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x2b78011e pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0x2b780856 dmaengine_desc_get_metadata_ptr +EXPORT_SYMBOL_GPL vmlinux 0x2b7d15dc dev_pm_opp_free_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x2b850c68 devm_extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x2b86f0fd zynqmp_pm_bootmode_read +EXPORT_SYMBOL_GPL vmlinux 0x2b888714 xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0x2b8b7607 of_pci_parse_bus_range +EXPORT_SYMBOL_GPL vmlinux 0x2b952517 clk_has_parent +EXPORT_SYMBOL_GPL vmlinux 0x2b960b66 qman_is_probed +EXPORT_SYMBOL_GPL vmlinux 0x2b9997fb atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x2ba53e3d dmaengine_desc_attach_metadata +EXPORT_SYMBOL_GPL vmlinux 0x2ba6b633 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x2ba89ee7 mtk_clk_unregister_factors +EXPORT_SYMBOL_GPL vmlinux 0x2bb0670a ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0x2bb42c05 meson_clk_dualdiv_ops +EXPORT_SYMBOL_GPL vmlinux 0x2bc1c6a6 nvmem_device_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x2bc402f2 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x2bdf5ab0 pm_wakeup_pending +EXPORT_SYMBOL_GPL vmlinux 0x2bec5470 __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2bf1820a nd_cmd_in_size +EXPORT_SYMBOL_GPL vmlinux 0x2bf831cd pm_runtime_force_resume +EXPORT_SYMBOL_GPL vmlinux 0x2c018649 folio_wait_writeback +EXPORT_SYMBOL_GPL vmlinux 0x2c0b7769 lp8788_write_byte +EXPORT_SYMBOL_GPL vmlinux 0x2c18c55e tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c36cc85 __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0x2c36e262 __traceiter_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x2c559b4f blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0x2c635527 arch_invalidate_pmem +EXPORT_SYMBOL_GPL vmlinux 0x2c6564a2 devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0x2c66ac85 devlink_info_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x2c6998c5 __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x2c790d4a __tracepoint_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c7eb150 nvdimm_bus_register +EXPORT_SYMBOL_GPL vmlinux 0x2c81a826 imx_1443x_pll +EXPORT_SYMBOL_GPL vmlinux 0x2c88b502 fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0x2c8966f4 devm_namespace_disable +EXPORT_SYMBOL_GPL vmlinux 0x2c8dd6b8 edac_mem_types +EXPORT_SYMBOL_GPL vmlinux 0x2c951e9e pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x2c97f8a2 of_reconfig_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2cb32a97 crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x2cbe9e4c irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x2cc495c5 rpi_firmware_property_list +EXPORT_SYMBOL_GPL vmlinux 0x2cc9d064 sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x2cd60039 __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2cd7b9d7 gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x2ce2e954 of_console_check +EXPORT_SYMBOL_GPL vmlinux 0x2ce61f33 __SCK__tp_func_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x2cef03c4 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x2cf947b8 dma_get_any_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x2d0684a9 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x2d0845c9 regulator_get_hardware_vsel_register +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d1b111d key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x2d1f5335 ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x2d2042a0 devm_hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x2d2c902f perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current +EXPORT_SYMBOL_GPL vmlinux 0x2d338b13 pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0x2d38aa41 __bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0x2d39d9c2 net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x2d3e1c88 noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0x2d41c663 of_clk_del_provider +EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts +EXPORT_SYMBOL_GPL vmlinux 0x2d430425 devm_of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x2d514e2e bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0x2d51f26b mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0x2d5ac6a8 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0x2d609547 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x2d69c704 sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x2d6aa0f0 arch_apei_enable_cmcff +EXPORT_SYMBOL_GPL vmlinux 0x2d914b62 ohci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x2daa251c pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x2db67d4a owl_sps_set_pg +EXPORT_SYMBOL_GPL vmlinux 0x2db83f48 kvm_vcpu_gfn_to_pfn +EXPORT_SYMBOL_GPL vmlinux 0x2dced513 dma_resv_test_signaled +EXPORT_SYMBOL_GPL vmlinux 0x2dd8f69b nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x2ddd5b55 devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0x2de3c8dd crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x2deb7ee0 regulator_list_hardware_vsel +EXPORT_SYMBOL_GPL vmlinux 0x2debd087 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x2def31f3 thermal_zone_bind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x2e028ae6 rcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x2e0619d7 of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x2e08226d badrange_add +EXPORT_SYMBOL_GPL vmlinux 0x2e0c145a wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x2e165634 mctp_unregister_netdev +EXPORT_SYMBOL_GPL vmlinux 0x2e1a5da4 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e387f1d xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x2e66298c __SCK__tp_func_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x2e6b9d4a ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x2e6f90e8 cpufreq_dbs_governor_init +EXPORT_SYMBOL_GPL vmlinux 0x2e715677 hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x2e784c0c __xenbus_register_backend +EXPORT_SYMBOL_GPL vmlinux 0x2e86a059 ata_sas_tport_add +EXPORT_SYMBOL_GPL vmlinux 0x2e88655b gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0x2e9ec24d free_iova +EXPORT_SYMBOL_GPL vmlinux 0x2ea2fc73 imx_obtain_fixed_clk_hw +EXPORT_SYMBOL_GPL vmlinux 0x2ebb19fd execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ecaeb59 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x2ecbb5b5 tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0x2ed489ec gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL vmlinux 0x2ee7c52b btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x2efb5ad2 genphy_c45_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x2f0d9053 usb_otg_state_string +EXPORT_SYMBOL_GPL vmlinux 0x2f1ea064 __SCK__tp_func_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x2f1f5e19 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x2f2c95c4 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2f3e1511 xen_xlate_unmap_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0x2f4880df static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x2f493adb ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x2f59d621 devm_acpi_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0x2f64415f unregister_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2f67131f fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0x2f743308 tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0x2f762601 devm_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0x2f781b3b cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0x2f847a56 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x2f982562 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x2fa07724 netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x2fac3c71 k3_ringacc_request_rings_pair +EXPORT_SYMBOL_GPL vmlinux 0x2fbbcaa0 __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0x2fbe3574 __spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x2fc1e0fe kmem_valid_obj +EXPORT_SYMBOL_GPL vmlinux 0x2fd76c7a kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0x2fdec1d9 ehci_reset +EXPORT_SYMBOL_GPL vmlinux 0x2fdf3cb1 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x2fdfaedf __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x2ff29f9a dev_pm_opp_get_required_pstate +EXPORT_SYMBOL_GPL vmlinux 0x2fff4e45 pinctrl_pm_select_idle_state +EXPORT_SYMBOL_GPL vmlinux 0x30147782 regulator_set_voltage_time_sel +EXPORT_SYMBOL_GPL vmlinux 0x301b3851 gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0x3025eee0 tegra210_clk_emc_dll_update_setting +EXPORT_SYMBOL_GPL vmlinux 0x302dd4cc usb_get_role_switch_default_mode +EXPORT_SYMBOL_GPL vmlinux 0x30351294 k3_udma_glue_rx_flow_get_fdq_id +EXPORT_SYMBOL_GPL vmlinux 0x30368d31 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x304ad4fa regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x3052429d __traceiter_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x3062d25a uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x30833bd0 pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0x30a830f5 mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x30bb7be3 fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x30bd941e of_phy_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x30be76bb __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0x30d49976 synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0x30de6ba2 reset_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x30e1ec25 apei_map_generic_address +EXPORT_SYMBOL_GPL vmlinux 0x30eb8373 crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x30ebb22c crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x30fe75d2 mtk_clk_register_composites +EXPORT_SYMBOL_GPL vmlinux 0x30ff920a led_trigger_rename_static +EXPORT_SYMBOL_GPL vmlinux 0x31019477 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x31128b8e hv_remove_kexec_handler +EXPORT_SYMBOL_GPL vmlinux 0x311c6da4 put_iova_domain +EXPORT_SYMBOL_GPL vmlinux 0x311e5e47 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x31290606 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x312f7996 clk_hw_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x313c13e1 dev_pm_clear_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x313ea5fd ipi_send_single +EXPORT_SYMBOL_GPL vmlinux 0x3144d71f blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0x314d24e3 handle_fasteoi_irq +EXPORT_SYMBOL_GPL vmlinux 0x315509ef __traceiter_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x31595211 crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0x315f712b class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x315fee57 fscrypt_dio_supported +EXPORT_SYMBOL_GPL vmlinux 0x3162ce5f mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x316a49be dev_pm_opp_get_max_clock_latency +EXPORT_SYMBOL_GPL vmlinux 0x3170973a irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x31793e87 gnttab_pages_set_private +EXPORT_SYMBOL_GPL vmlinux 0x31839ad3 software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x3185c3e7 edac_pci_handle_npe +EXPORT_SYMBOL_GPL vmlinux 0x3187490a __SCK__tp_func_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x3192d768 cpufreq_remove_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x31a9536a __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31d34278 xas_load +EXPORT_SYMBOL_GPL vmlinux 0x31dca4d8 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x31dcf932 rio_local_set_device_id +EXPORT_SYMBOL_GPL vmlinux 0x31dd24ac dev_pm_opp_of_register_em +EXPORT_SYMBOL_GPL vmlinux 0x31e7603a acpi_dev_remove_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x31e9e8d5 zynqmp_pm_set_suspend_mode +EXPORT_SYMBOL_GPL vmlinux 0x31f81111 rio_unregister_mport +EXPORT_SYMBOL_GPL vmlinux 0x3208d2ae spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x3216c09b espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0x3224b2a9 mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0x3244da59 of_clk_get_parent_count +EXPORT_SYMBOL_GPL vmlinux 0x3246888b __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x324afcee dpbp_reset +EXPORT_SYMBOL_GPL vmlinux 0x325888a3 __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x32612eb1 phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x326cefe5 hwpoison_filter_dev_minor +EXPORT_SYMBOL_GPL vmlinux 0x326df998 of_property_read_variable_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x327a2687 bind_evtchn_to_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x327e69b5 bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x32836981 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x3288b93b __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0x328b1d7b sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x329897e9 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x329ae8cc pstore_unregister +EXPORT_SYMBOL_GPL vmlinux 0x32a9a2d3 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x32b05360 device_set_node +EXPORT_SYMBOL_GPL vmlinux 0x32b3a687 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL vmlinux 0x32bc0fcf preempt_notifier_dec +EXPORT_SYMBOL_GPL vmlinux 0x32c0b805 nvdimm_clear_poison +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32c52a74 ohci_hub_status_data +EXPORT_SYMBOL_GPL vmlinux 0x32d6a513 regmap_get_val_endian +EXPORT_SYMBOL_GPL vmlinux 0x32df33e7 x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x32ec6f83 find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x32f827bf regulator_set_ramp_delay_regmap +EXPORT_SYMBOL_GPL vmlinux 0x330010b6 cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x330f6116 set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x330f82b8 of_dma_is_coherent +EXPORT_SYMBOL_GPL vmlinux 0x331d9dee devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x33292af4 dev_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0x3330e895 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x33328b6f irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0x33472145 phy_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x335d12e5 sock_map_close +EXPORT_SYMBOL_GPL vmlinux 0x337ccfea sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x33a59551 thermal_cooling_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x33b197e4 devm_thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0x33bc051d i2c_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x33c2ff0f task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0x33c52896 sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0x33c6e1f1 fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x33de9ab5 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x33e0c3e5 sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x33efedcf i2c_dw_configure_master +EXPORT_SYMBOL_GPL vmlinux 0x340aa1a6 spi_mem_driver_register_with_owner +EXPORT_SYMBOL_GPL vmlinux 0x34157c7f ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x34331f04 acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0x343d4fc9 serial8250_rpm_get_tx +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x344361a1 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0x344a2c84 iomap_dio_complete +EXPORT_SYMBOL_GPL vmlinux 0x3450ad94 mpi_set_ui +EXPORT_SYMBOL_GPL vmlinux 0x345af155 devm_regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x34652bf2 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x3466a85d debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0x347301ae kill_device +EXPORT_SYMBOL_GPL vmlinux 0x3476ac5b list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0x348ffe1b device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x3495ad5e __irq_domain_alloc_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x34a05a00 mtk_pinconf_adv_drive_set_raw +EXPORT_SYMBOL_GPL vmlinux 0x34a3ee86 kvm_vcpu_kick +EXPORT_SYMBOL_GPL vmlinux 0x34a7b142 __SCK__tp_func_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x34b0aa11 crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x34ce19ca devm_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x34cfab56 devm_clk_get_prepared +EXPORT_SYMBOL_GPL vmlinux 0x34d36524 clk_hw_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x34de231e usb_hcd_amd_remote_wakeup_quirk +EXPORT_SYMBOL_GPL vmlinux 0x34eab46d bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x34f11293 ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x34fc4ad3 __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x34fdffd1 fsl_mc_device_remove +EXPORT_SYMBOL_GPL vmlinux 0x350cf36a of_reserved_mem_device_init_by_name +EXPORT_SYMBOL_GPL vmlinux 0x350f6ce5 tasklet_unlock_wait +EXPORT_SYMBOL_GPL vmlinux 0x3510fd8b vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x352b3813 maxim_charger_calc_reg_current +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x352ed57a sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x353ec939 clk_regmap_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0x3544d89e stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0x354508bf dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x354a26ec register_btf_id_dtor_kfuncs +EXPORT_SYMBOL_GPL vmlinux 0x355b2ef2 ti_sci_put_handle +EXPORT_SYMBOL_GPL vmlinux 0x355bc89a klist_next +EXPORT_SYMBOL_GPL vmlinux 0x3562f983 read_sanitised_ftr_reg +EXPORT_SYMBOL_GPL vmlinux 0x3565a929 utf8_data_table +EXPORT_SYMBOL_GPL vmlinux 0x356babf6 fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x356d9b0a __traceiter_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x3571fa9f gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x357457c3 psil_get_ep_config +EXPORT_SYMBOL_GPL vmlinux 0x3576115e kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x357638ac acpi_dma_request_slave_chan_by_index +EXPORT_SYMBOL_GPL vmlinux 0x357f9023 acpi_dev_ready_for_enumeration +EXPORT_SYMBOL_GPL vmlinux 0x358ff60f twl_get_hfclk_rate +EXPORT_SYMBOL_GPL vmlinux 0x35a4f59d zynqmp_pm_clock_setdivider +EXPORT_SYMBOL_GPL vmlinux 0x35ab2d28 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x35cb906e max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x35cd810a pm_runtime_force_suspend +EXPORT_SYMBOL_GPL vmlinux 0x35d3dc46 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x35f92407 get_state_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x3601444f find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x361cb96c srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x3620d1d4 spi_mem_adjust_op_size +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x36290ccc pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x362f180a xhci_resume +EXPORT_SYMBOL_GPL vmlinux 0x363c335c hte_push_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x364153aa fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0x365838f9 irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0x365989e5 imx_1416x_pll +EXPORT_SYMBOL_GPL vmlinux 0x365a28ea fuse_request_end +EXPORT_SYMBOL_GPL vmlinux 0x365b45d1 __tracepoint_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x366a1311 fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0x36898d6f gpiod_remove_hogs +EXPORT_SYMBOL_GPL vmlinux 0x36913fb6 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x369944cd pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x369f0b06 fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x36ac17ab alloc_iova_fast +EXPORT_SYMBOL_GPL vmlinux 0x36afd08c qcom_smem_state_register +EXPORT_SYMBOL_GPL vmlinux 0x36c20980 akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x36d67b16 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x36db870b zynqmp_pm_sha_hash +EXPORT_SYMBOL_GPL vmlinux 0x3708f1f8 irq_domain_create_sim +EXPORT_SYMBOL_GPL vmlinux 0x370be894 device_property_present +EXPORT_SYMBOL_GPL vmlinux 0x37169f79 cpu_latency_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x37194dd4 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x371ffb81 devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0x372b6441 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x372e60bc component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0x37392729 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x3746d7ec irq_generic_chip_ops +EXPORT_SYMBOL_GPL vmlinux 0x3750d770 erst_read +EXPORT_SYMBOL_GPL vmlinux 0x37563bec gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x37755d37 account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x3775c25b k3_udma_glue_tx_cppi5_to_dma_addr +EXPORT_SYMBOL_GPL vmlinux 0x377bbcbc pm_suspend_target_state +EXPORT_SYMBOL_GPL vmlinux 0x377daa86 pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x378adfb7 zynqmp_pm_sd_dll_reset +EXPORT_SYMBOL_GPL vmlinux 0x378b4117 pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0x378c0b9f dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x37914025 xenbus_write +EXPORT_SYMBOL_GPL vmlinux 0x37a0b5d7 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x37a0c351 pinctrl_generic_get_group_name +EXPORT_SYMBOL_GPL vmlinux 0x37a1ff21 devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x37ba49a8 fscrypt_set_bio_crypt_ctx_bh +EXPORT_SYMBOL_GPL vmlinux 0x37bf7be3 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x37c2393b clk_regmap_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x37c76b93 tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0x37c84a64 pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0x37d255b7 rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0x37d32831 device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0x37e0e569 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x37eb6c0b devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3801776b __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x3803f44e serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0x38063fbb pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x380dde36 power_supply_batinfo_ocv2cap +EXPORT_SYMBOL_GPL vmlinux 0x3821c27f tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0x38268b62 icc_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x383169fd kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x3842b4f2 sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x385c495e devm_thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x3863fa19 dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0x3866e217 nvmem_device_write +EXPORT_SYMBOL_GPL vmlinux 0x38708e25 inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0x387410d0 gpiochip_remove_pin_ranges +EXPORT_SYMBOL_GPL vmlinux 0x387ab789 pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0x387e7cda phy_led_triggers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3882d46c pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x3885b7f4 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3890fa7c crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x389b64a2 static_key_count +EXPORT_SYMBOL_GPL vmlinux 0x38a12a39 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38b8beae __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x38bc54a6 misc_cg_uncharge +EXPORT_SYMBOL_GPL vmlinux 0x38c3ff30 freq_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x38c499be usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x38de15d9 kthread_data +EXPORT_SYMBOL_GPL vmlinux 0x38e1fde7 mpi_set +EXPORT_SYMBOL_GPL vmlinux 0x38e30eb5 clkdev_create +EXPORT_SYMBOL_GPL vmlinux 0x38e5bc5a clk_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x38f396dc __traceiter_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0x39019162 nd_cmd_out_size +EXPORT_SYMBOL_GPL vmlinux 0x39063e2d dma_resv_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x3916f82c tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x39182d18 iomap_invalidate_folio +EXPORT_SYMBOL_GPL vmlinux 0x3922a58b skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x39283f92 genpd_dev_pm_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x392f04af blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0x392fdb86 ip_route_output_key_hash +EXPORT_SYMBOL_GPL vmlinux 0x39393064 devlink_port_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x393b0ad1 net_selftest +EXPORT_SYMBOL_GPL vmlinux 0x394184b6 vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x3948018c pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x3973225b blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x3975130f sec_irq_init +EXPORT_SYMBOL_GPL vmlinux 0x397e2142 __SCK__tp_func_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x3982b5a1 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x398f0dbf __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0x3990b13d dev_pm_domain_attach +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39aa4888 usb_role_string +EXPORT_SYMBOL_GPL vmlinux 0x39acb744 ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x39c32aca __SCK__tp_func_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x39c9d88c xas_find +EXPORT_SYMBOL_GPL vmlinux 0x39cc04a0 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x39d100f4 tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0x39ded098 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x39e20072 bpf_trace_run8 +EXPORT_SYMBOL_GPL vmlinux 0x39fd83db halt_poll_ns_shrink +EXPORT_SYMBOL_GPL vmlinux 0x3a03cb26 adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x3a1cb86c ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x3a24fb2f percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a55981a static_key_enable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x3a55ee3d __xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0x3a61056c skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x3a6e5598 fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x3a6e92bc xhci_dbg_trace +EXPORT_SYMBOL_GPL vmlinux 0x3a745e8b acpi_subsys_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x3a74e484 __tracepoint_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x3a750b05 edac_mc_del_mc +EXPORT_SYMBOL_GPL vmlinux 0x3a810363 pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0x3a83e9f4 gfn_to_page +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3a9f46b4 dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x3a9f6482 pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0x3ab8f116 spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3ac253a4 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x3ac3feba rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3ad313f2 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x3ad4ebd8 irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x3ad72c62 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x3ae9dbca wakeup_sources_walk_start +EXPORT_SYMBOL_GPL vmlinux 0x3af0e88f rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x3afb5e43 iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0x3afc4a8f sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x3b03918e pinctrl_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x3b07b165 wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0x3b30894f ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x3b37cc3b fsverity_ioctl_read_metadata +EXPORT_SYMBOL_GPL vmlinux 0x3b426a75 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x3b4c240a display_timings_release +EXPORT_SYMBOL_GPL vmlinux 0x3b610584 __tracepoint_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x3b628278 __pci_hp_initialize +EXPORT_SYMBOL_GPL vmlinux 0x3b6509e5 devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x3b6b5701 dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0x3b78bf02 sunxi_ccu_get_mmc_timing_mode +EXPORT_SYMBOL_GPL vmlinux 0x3b92b3f3 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x3b9847f0 acpi_subsys_freeze +EXPORT_SYMBOL_GPL vmlinux 0x3b98db56 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x3ba01b47 get_compat_sigset +EXPORT_SYMBOL_GPL vmlinux 0x3ba1aaae driver_find +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3bdc0e0c __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3bf1f1a4 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x3c0e8050 hyperv_pcpu_input_arg +EXPORT_SYMBOL_GPL vmlinux 0x3c11b9f5 tegra210_put_utmipll_in_iddq +EXPORT_SYMBOL_GPL vmlinux 0x3c15bd99 __devm_reset_control_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x3c1b6470 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c23ef2e regmap_field_bulk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3c2b68f7 of_changeset_apply +EXPORT_SYMBOL_GPL vmlinux 0x3c2bf3c8 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x3c3c85d8 __SCK__tp_func_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x3c3d4f19 irq_gc_noop +EXPORT_SYMBOL_GPL vmlinux 0x3c510b85 irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x3c56abc3 fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0x3c57e314 __traceiter_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x3c5d543a hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x3c610846 __phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x3c64b89d __clk_hw_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c69c0d4 disk_uevent +EXPORT_SYMBOL_GPL vmlinux 0x3c6b37c9 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x3c76588a phy_led_trigger_change_speed +EXPORT_SYMBOL_GPL vmlinux 0x3c7b9573 gpmc_omap_onenand_set_timings +EXPORT_SYMBOL_GPL vmlinux 0x3ca57f37 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x3ca9ca0d devlink_rate_nodes_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3caab769 pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0x3caf3c2a cpufreq_enable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x3cb811a2 fsl_mc_obj_open +EXPORT_SYMBOL_GPL vmlinux 0x3cc21fb5 usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x3ccd8b46 zynqmp_pm_clock_getparent +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cd1b510 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x3ce2369e meson_pmx_get_func_name +EXPORT_SYMBOL_GPL vmlinux 0x3ceee133 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x3cf2fa72 i2c_match_id +EXPORT_SYMBOL_GPL vmlinux 0x3cff4bcf ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x3d02df60 bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0x3d286c65 pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x3d31fb5c bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d598e15 wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x3d6b248a sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x3d866e05 __SCK__tp_func_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x3d8baf3b zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x3d92f863 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x3d964c7d crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x3d9bbf75 wwan_port_txon +EXPORT_SYMBOL_GPL vmlinux 0x3da5866f serial8250_rpm_get +EXPORT_SYMBOL_GPL vmlinux 0x3daa2540 nf_hooks_lwtunnel_enabled +EXPORT_SYMBOL_GPL vmlinux 0x3db5279f driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x3db7bcba usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x3dc32075 usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x3dcb52eb blk_mq_alloc_sq_tag_set +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3df01a20 fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0x3df25d0d regmap_fields_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x3df70c99 trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0x3dfa44f7 pci_pri_supported +EXPORT_SYMBOL_GPL vmlinux 0x3e091c6e fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x3e0bf4a0 of_pwm_xlate_with_flags +EXPORT_SYMBOL_GPL vmlinux 0x3e160ab9 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x3e1699e8 of_clk_parent_fill +EXPORT_SYMBOL_GPL vmlinux 0x3e18ebf0 pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x3e1bf3cc crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x3e1c7fed bio_trim +EXPORT_SYMBOL_GPL vmlinux 0x3e3e33eb blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0x3e6540eb ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL vmlinux 0x3e66c735 verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x3e693a68 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e8829ca unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x3e8ad866 acpi_cppc_processor_exit +EXPORT_SYMBOL_GPL vmlinux 0x3e928e35 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x3e997062 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x3e9b31c6 xhci_add_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x3ea5196d apei_osc_setup +EXPORT_SYMBOL_GPL vmlinux 0x3eb804e5 fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x3ec41495 usb_phy_roothub_resume +EXPORT_SYMBOL_GPL vmlinux 0x3eca7922 serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x3ee2807b of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x3eea2d6b bd_prepare_to_claim +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3ef12b61 rio_unregister_scan +EXPORT_SYMBOL_GPL vmlinux 0x3ef12ec8 led_trigger_blink_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x3ef44b67 rio_unmap_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x3f0a0831 sdio_retune_crc_disable +EXPORT_SYMBOL_GPL vmlinux 0x3f0be32d fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0x3f1c2939 dmaengine_unmap_put +EXPORT_SYMBOL_GPL vmlinux 0x3f3dbd28 nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0x3f48c339 debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0x3f491f49 reset_control_bulk_reset +EXPORT_SYMBOL_GPL vmlinux 0x3f5a6c54 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x3f68ca50 sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x3f6d6e83 rockchip_pcie_get_phys +EXPORT_SYMBOL_GPL vmlinux 0x3f79c03d peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3f94ad58 nvdimm_region_notify +EXPORT_SYMBOL_GPL vmlinux 0x3fa4f4d7 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x3fae6ab0 hv_vp_index +EXPORT_SYMBOL_GPL vmlinux 0x3fd5dcc1 modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x3fdb8634 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x3fdc5415 dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0x3fe35aea irq_bypass_unregister_consumer +EXPORT_SYMBOL_GPL vmlinux 0x3fe6c346 devlink_fmsg_binary_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x3fea029c hisi_clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x3ff07cca wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x3ff2e349 hte_request_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x3ff4a778 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x3ff77cd4 ftrace_set_filter_ips +EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x400a024b acpi_scan_lock_release +EXPORT_SYMBOL_GPL vmlinux 0x400b6f9f regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x401a88b6 i2c_new_scanned_device +EXPORT_SYMBOL_GPL vmlinux 0x401d5aae xenbus_probe_node +EXPORT_SYMBOL_GPL vmlinux 0x4020d591 devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0x40267068 usb_anchor_resume_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x403c42f0 regmap_fields_read +EXPORT_SYMBOL_GPL vmlinux 0x403eac60 sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x4042947f regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x4042964a find_mci_by_dev +EXPORT_SYMBOL_GPL vmlinux 0x4043757f init_iova_domain +EXPORT_SYMBOL_GPL vmlinux 0x4044f2fd pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0x404ac465 i2c_acpi_waive_d0_probe +EXPORT_SYMBOL_GPL vmlinux 0x405ad166 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x405dd13d __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x4065d168 pm_print_active_wakeup_sources +EXPORT_SYMBOL_GPL vmlinux 0x406c4cb1 hrtimer_resolution +EXPORT_SYMBOL_GPL vmlinux 0x4071b517 out_of_line_wait_on_bit_timeout +EXPORT_SYMBOL_GPL vmlinux 0x407af304 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x4099f919 tun_ptr_free +EXPORT_SYMBOL_GPL vmlinux 0x40a23395 register_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x40bc1340 xenbus_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x40d29ff4 dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0x40dbd043 fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0x40e0ba52 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0x40e914a2 devm_pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x40f0683e reset_control_put +EXPORT_SYMBOL_GPL vmlinux 0x40f606fd xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x40f8b94e ring_buffer_iter_dropped +EXPORT_SYMBOL_GPL vmlinux 0x40f8bd4e klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4100a662 clk_get_scaled_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x4101b63f pm_runtime_suspended_time +EXPORT_SYMBOL_GPL vmlinux 0x411cc3cf sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0x411e5b99 pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x41237f71 cpu_have_feature +EXPORT_SYMBOL_GPL vmlinux 0x41285a5a raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x414449ab pci_epc_map_msi_irq +EXPORT_SYMBOL_GPL vmlinux 0x414d119a videomode_from_timings +EXPORT_SYMBOL_GPL vmlinux 0x414eb653 phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0x414f79c0 mtk_clk_unregister_gates +EXPORT_SYMBOL_GPL vmlinux 0x41642085 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x418873cc irq_bypass_register_producer +EXPORT_SYMBOL_GPL vmlinux 0x419033cc driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x4191c8e5 __devm_rtc_register_device +EXPORT_SYMBOL_GPL vmlinux 0x419572e8 dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0x419d7c83 zynqmp_pm_pinctrl_set_config +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x41a84312 simple_rename_exchange +EXPORT_SYMBOL_GPL vmlinux 0x41b9a6e6 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x41bce49a ghes_register_vendor_record_notifier +EXPORT_SYMBOL_GPL vmlinux 0x41c9d430 tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x41cb6deb device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x41d07fc4 sbitmap_queue_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x41d8e069 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x41ea5697 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x41fb98fd em_pd_get +EXPORT_SYMBOL_GPL vmlinux 0x42041512 i2c_get_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x42069ba9 aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0x420f3d01 nvmem_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4217121b devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0x4219ac44 usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x425dd9d6 tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x42635d55 pm_suspend_global_flags +EXPORT_SYMBOL_GPL vmlinux 0x426452a3 acpi_evaluation_failure_warn +EXPORT_SYMBOL_GPL vmlinux 0x426b64a7 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x4285fb29 tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0x429b4fb8 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x429c3f9c reboot_mode +EXPORT_SYMBOL_GPL vmlinux 0x42ac7c62 device_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x42bac9c9 ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0x42bf8fe1 list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0x42d60b13 devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x42d9a914 handle_fasteoi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x42f728aa mctrl_gpio_get_outputs +EXPORT_SYMBOL_GPL vmlinux 0x4304d8b0 edac_mc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x430acac2 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x430d88ec __traceiter_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x431c7d4d xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0x43267ca4 serdev_device_get_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x4329d923 skcipher_alloc_instance_simple +EXPORT_SYMBOL_GPL vmlinux 0x43352e04 devm_regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x4347d6ef ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x436d817f mpi_clear_bit +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x43889e78 get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x438d8df2 iova_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x43a4d79b perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43becbc6 altr_sysmgr_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x43c7f52c fbcon_modechange_possible +EXPORT_SYMBOL_GPL vmlinux 0x43e5a239 __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x43e6fd71 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x43f81957 clk_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x43f92edd wait_for_initramfs +EXPORT_SYMBOL_GPL vmlinux 0x4401e6c2 mpi_cmpabs +EXPORT_SYMBOL_GPL vmlinux 0x4407ee19 ata_platform_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x44107bed fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0x4423fda2 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x442deaa9 poll_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x4430aa45 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x4439914b meson_pmx_get_groups +EXPORT_SYMBOL_GPL vmlinux 0x4439bcd2 __SCK__tp_func_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x44417873 devm_hwmon_sanitize_name +EXPORT_SYMBOL_GPL vmlinux 0x444f1735 cpu_pm_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x446a2ba1 pci_aer_clear_nonfatal_status +EXPORT_SYMBOL_GPL vmlinux 0x446d7571 wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0x4471ad16 pl08x_filter_id +EXPORT_SYMBOL_GPL vmlinux 0x4473f78f regmap_async_complete +EXPORT_SYMBOL_GPL vmlinux 0x4478c019 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x447c9495 devm_fwnode_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x448ea255 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x449778e0 clean_record_shared_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x449d5a0f ti_sci_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x449ebed1 sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0x44a793ab HYPERVISOR_grant_table_op +EXPORT_SYMBOL_GPL vmlinux 0x44aef47e hisi_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44c43141 clk_register_composite +EXPORT_SYMBOL_GPL vmlinux 0x44cd3c9d perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44dd915f clk_hw_get_parent_index +EXPORT_SYMBOL_GPL vmlinux 0x44e1e9aa balloon_stats +EXPORT_SYMBOL_GPL vmlinux 0x44f9f25d clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0x45045c2a gpiod_enable_hw_timestamp_ns +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x450e987c __virtio_unbreak_device +EXPORT_SYMBOL_GPL vmlinux 0x4514b668 serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x4517a179 kvm_put_kvm +EXPORT_SYMBOL_GPL vmlinux 0x45215ffc pci_find_vsec_capability +EXPORT_SYMBOL_GPL vmlinux 0x4531624f usb_decode_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x4531ab62 copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x45332f08 regmap_add_irq_chip_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x4534e423 dw_pcie_ep_reset_bar +EXPORT_SYMBOL_GPL vmlinux 0x453539af devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x453ca65a __clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x45480ac9 wwan_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x454b305e irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0x4551428d dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x4553010d ohci_resume +EXPORT_SYMBOL_GPL vmlinux 0x4554a70b hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x45558f56 clk_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x4561f990 qcom_smem_state_unregister +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x45832f60 fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0x459e1f00 gnttab_unmap_refs +EXPORT_SYMBOL_GPL vmlinux 0x459e6151 mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x45a25ee5 locks_owner_has_blockers +EXPORT_SYMBOL_GPL vmlinux 0x45d56289 elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0x45d5f5dd clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0x45d95317 da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x45db496e edac_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x46030074 __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x46269814 __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x4651d881 dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0x4657455a mtk_mmsys_ddp_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x466b9506 of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x4672d84f ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x46737324 gnttab_dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x4677858b pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x467f6d2c gnttab_page_cache_shrink +EXPORT_SYMBOL_GPL vmlinux 0x468889d8 devm_clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x469ffbc7 fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0x46a4b118 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x46c5be22 clk_multiplier_ops +EXPORT_SYMBOL_GPL vmlinux 0x46e67a71 this_cpu_has_cap +EXPORT_SYMBOL_GPL vmlinux 0x46fb2c40 serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x46fd3e84 mtk_pinconf_drive_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x4714a115 acpi_dev_state_d0 +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x47231ebe kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x472628d4 dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0x472d3d59 phy_power_off +EXPORT_SYMBOL_GPL vmlinux 0x472ee1a6 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x47749af3 pinctrl_utils_add_config +EXPORT_SYMBOL_GPL vmlinux 0x477ba2ab dw8250_do_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x477c3208 nfs42_ssc_register +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x478e81f8 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x479f7d4b clk_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x47a3150f device_add_software_node +EXPORT_SYMBOL_GPL vmlinux 0x47a6322c switchdev_handle_port_obj_add_foreign +EXPORT_SYMBOL_GPL vmlinux 0x47aad3b9 have_governor_per_policy +EXPORT_SYMBOL_GPL vmlinux 0x47baca6e devfreq_event_disable_edev +EXPORT_SYMBOL_GPL vmlinux 0x47d0eea2 acpi_lpat_temp_to_raw +EXPORT_SYMBOL_GPL vmlinux 0x47de0dc7 clk_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x47e06efe blk_crypto_register +EXPORT_SYMBOL_GPL vmlinux 0x47e2b8ce pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x47f56956 blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0x480305ca kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x48096be3 pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x480db7a6 sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4815aa79 dev_pm_opp_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x4817b77b scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x481f9b7d mpi_mulm +EXPORT_SYMBOL_GPL vmlinux 0x48203853 em_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x4823dee6 fsl_mc_device_add +EXPORT_SYMBOL_GPL vmlinux 0x4828e77b acpi_scan_lock_acquire +EXPORT_SYMBOL_GPL vmlinux 0x482bbcf3 amba_bustype +EXPORT_SYMBOL_GPL vmlinux 0x483778f9 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x4843a748 qman_portals_probed +EXPORT_SYMBOL_GPL vmlinux 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL vmlinux 0x486dedc3 ghes_unregister_vendor_record_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4876b875 dma_free_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x48913519 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x4898e0b7 dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0x489f03eb gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x48a3d20b mctrl_gpio_get +EXPORT_SYMBOL_GPL vmlinux 0x48ab15ff iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0x48c32847 __SCK__tp_func_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x48c420eb of_property_count_elems_of_size +EXPORT_SYMBOL_GPL vmlinux 0x48c50dbd tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0x48cbcc27 dev_pm_opp_find_bw_floor +EXPORT_SYMBOL_GPL vmlinux 0x48d49792 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x48f554ee arm64_mm_context_get +EXPORT_SYMBOL_GPL vmlinux 0x48f9208f thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0x490b387a ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x4915e7af __regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x4916559a devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x49242bc7 freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4927d3f9 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x4934bdd0 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x4939ebcd numa_map_to_online_node +EXPORT_SYMBOL_GPL vmlinux 0x495e23ec phy_put +EXPORT_SYMBOL_GPL vmlinux 0x495e3d12 of_phandle_args_to_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x495f9a3f regulator_set_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x49608959 migrate_disable +EXPORT_SYMBOL_GPL vmlinux 0x49691038 is_swiotlb_active +EXPORT_SYMBOL_GPL vmlinux 0x496960ac fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0x497a84ae mtk_clk_gate_ops_setclr_inv +EXPORT_SYMBOL_GPL vmlinux 0x4986cc84 nd_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x4988c438 virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x499cd3b8 fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0x49a2fcf8 nfs42_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0x49a64410 dev_pm_opp_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x49cd25ed alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49ea931c __gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL vmlinux 0x49fc2081 of_clk_add_provider +EXPORT_SYMBOL_GPL vmlinux 0x4a07a9d1 dev_pm_opp_of_get_opp_desc_node +EXPORT_SYMBOL_GPL vmlinux 0x4a0b7214 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a1e9512 aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x4a208177 regulator_get_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4a20b9e4 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4a2755fe devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x4a2a3fa4 crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0x4a2ec1c8 netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0x4a3a6a19 skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0x4a3d61f2 pinmux_generic_get_function_groups +EXPORT_SYMBOL_GPL vmlinux 0x4a420d09 acpi_bus_detach_private_data +EXPORT_SYMBOL_GPL vmlinux 0x4a42a4f0 pinctrl_utils_add_map_mux +EXPORT_SYMBOL_GPL vmlinux 0x4a48e881 irq_gc_mask_disable_reg +EXPORT_SYMBOL_GPL vmlinux 0x4a6418b3 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x4a70aa1a phy_speed_up +EXPORT_SYMBOL_GPL vmlinux 0x4a7d2a34 max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x4a9d53f3 i2c_dw_adjust_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x4aae1869 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x4aae66c0 wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x4ab205c6 bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0x4ab38180 pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x4abb798a acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0x4ac30ae1 mmc_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0x4acff27b led_trigger_write +EXPORT_SYMBOL_GPL vmlinux 0x4aee8fc8 fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x4aef7e22 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x4af97ae6 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x4afb1744 phy_reset +EXPORT_SYMBOL_GPL vmlinux 0x4b06b0f4 nvdimm_badblocks_populate +EXPORT_SYMBOL_GPL vmlinux 0x4b09ee39 get_device +EXPORT_SYMBOL_GPL vmlinux 0x4b22f8b1 device_link_del +EXPORT_SYMBOL_GPL vmlinux 0x4b2ad3b6 pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0x4b3442e7 gov_attr_set_get +EXPORT_SYMBOL_GPL vmlinux 0x4b4a815b acpi_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0x4b51f74c ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x4b522775 clk_hw_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x4b5acf74 rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0x4b5d56d3 pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0x4b5f3e8c max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0x4b6fe10c nvdimm_has_flush +EXPORT_SYMBOL_GPL vmlinux 0x4b8670ff pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0x4b86e24b hisi_reset_init +EXPORT_SYMBOL_GPL vmlinux 0x4b92019b devm_nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x4b9247a8 mtk_pinconf_bias_get_combo +EXPORT_SYMBOL_GPL vmlinux 0x4b931968 xen_features +EXPORT_SYMBOL_GPL vmlinux 0x4b9a1c4a gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x4b9a82e9 fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x4ba2d82b bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x4baf6bc7 scsi_device_from_queue +EXPORT_SYMBOL_GPL vmlinux 0x4bc783ab rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x4bc8727f xen_balloon_init +EXPORT_SYMBOL_GPL vmlinux 0x4bd3f887 crypto_grab_kpp +EXPORT_SYMBOL_GPL vmlinux 0x4bd6f08b misc_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4bd794e9 pm_genpd_opp_to_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x4bdb8dcc housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4bdc5d68 ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0x4be1d25e xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x4bed03a8 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x4bfd398d hwrng_msleep +EXPORT_SYMBOL_GPL vmlinux 0x4c0ad4a7 ahci_platform_disable_phys +EXPORT_SYMBOL_GPL vmlinux 0x4c1fc1dd unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x4c2c0ea7 evtchn_make_refcounted +EXPORT_SYMBOL_GPL vmlinux 0x4c4e663d irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x4c5308e9 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x4c549b36 __traceiter_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x4c550d10 finish_rcuwait +EXPORT_SYMBOL_GPL vmlinux 0x4c596351 pci_iov_get_pf_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x4c817fbe platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4c882c10 dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0x4c8adfe1 hv_root_partition +EXPORT_SYMBOL_GPL vmlinux 0x4ca5d801 uart_get_rs485_mode +EXPORT_SYMBOL_GPL vmlinux 0x4cb27100 ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x4cb81fda __SCK__tp_func_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x4cbb06c0 vp_legacy_queue_vector +EXPORT_SYMBOL_GPL vmlinux 0x4cc69b48 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4cd04411 kvm_write_guest_page +EXPORT_SYMBOL_GPL vmlinux 0x4cee31dc dax_inode +EXPORT_SYMBOL_GPL vmlinux 0x4cef6a47 ti_sci_get_handle +EXPORT_SYMBOL_GPL vmlinux 0x4cf3bb4a clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x4cf52a0b ata_dev_set_feature +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d2bf140 platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0x4d3a0696 __SCK__tp_func_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x4d3f58a4 tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d5b39f3 ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d7272e4 migrate_enable +EXPORT_SYMBOL_GPL vmlinux 0x4d748bc2 battery_hook_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4d83c710 k3_udma_glue_tdown_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x4d8f5cd7 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x4d95d6d1 memcpy_flushcache +EXPORT_SYMBOL_GPL vmlinux 0x4da22e6c of_device_request_module +EXPORT_SYMBOL_GPL vmlinux 0x4daaead2 crypto_create_tfm_node +EXPORT_SYMBOL_GPL vmlinux 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4db0bb5c dax_add_host +EXPORT_SYMBOL_GPL vmlinux 0x4db9fefd kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL vmlinux 0x4dcd1c0e usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4de17ab3 usb_state_string +EXPORT_SYMBOL_GPL vmlinux 0x4de8011b percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0x4df4a32c serial8250_rpm_put +EXPORT_SYMBOL_GPL vmlinux 0x4dff61e5 wwan_port_txoff +EXPORT_SYMBOL_GPL vmlinux 0x4e17c613 ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x4e1d79a6 crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x4e1facec acpi_dma_request_slave_chan_by_name +EXPORT_SYMBOL_GPL vmlinux 0x4e23d23e phy_exit +EXPORT_SYMBOL_GPL vmlinux 0x4e3fd1b4 kvm_release_pfn_clean +EXPORT_SYMBOL_GPL vmlinux 0x4e4c37e2 freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4e53e4c4 devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x4e5f8100 fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0x4e69f799 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0x4e70d8c9 fscrypt_mergeable_bio +EXPORT_SYMBOL_GPL vmlinux 0x4e718b14 usb_phy_set_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x4e74878e __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x4e7b889a devm_bitmap_zalloc +EXPORT_SYMBOL_GPL vmlinux 0x4e83deeb ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x4e947b44 fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0x4ea3058f of_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4eb39d4e __tracepoint_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0x4ebcfc1d pwm_adjust_config +EXPORT_SYMBOL_GPL vmlinux 0x4ecb9dc7 ata_sas_port_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4ece3615 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4ed22956 blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0x4ed593c2 dbs_update +EXPORT_SYMBOL_GPL vmlinux 0x4eeecdc1 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4efb5727 kvm_vcpu_is_visible_gfn +EXPORT_SYMBOL_GPL vmlinux 0x4efcf021 mpi_normalize +EXPORT_SYMBOL_GPL vmlinux 0x4f1ba985 pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x4f1cd695 _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x4f1f11cc ethnl_cable_test_step +EXPORT_SYMBOL_GPL vmlinux 0x4f2593f0 btree_update +EXPORT_SYMBOL_GPL vmlinux 0x4f2c996d kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x4f33405f pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x4f33b8d6 mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x4f34b84c blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x4f458102 strp_stop +EXPORT_SYMBOL_GPL vmlinux 0x4f4e7ebd mctrl_gpio_init +EXPORT_SYMBOL_GPL vmlinux 0x4f5ed299 __traceiter_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4f6ee268 usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x4f72a987 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0x4f802976 devm_regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x4f9477e8 regulator_get_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x4f9783fe component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0x4f98d766 cpu_pm_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f9c102b clk_register_divider_table +EXPORT_SYMBOL_GPL vmlinux 0x4fa0bb55 ahci_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x4fd0d163 dm_copy_name_and_uuid +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4ff5fde1 irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4ffcd7b0 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x500b061c ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x500c768c apei_exec_read_register +EXPORT_SYMBOL_GPL vmlinux 0x500e7ed7 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x5023c135 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x5026585c xen_irq_from_gsi +EXPORT_SYMBOL_GPL vmlinux 0x503033a6 kvm_write_guest_cached +EXPORT_SYMBOL_GPL vmlinux 0x5032273a genphy_c45_pma_baset1_read_master_slave +EXPORT_SYMBOL_GPL vmlinux 0x50360ca4 tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x50376cd6 user_describe +EXPORT_SYMBOL_GPL vmlinux 0x503bc182 device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x5042c752 security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x5052839c cpufreq_freq_transition_end +EXPORT_SYMBOL_GPL vmlinux 0x5056e9dc mptcp_pm_get_add_addr_accept_max +EXPORT_SYMBOL_GPL vmlinux 0x50616e69 devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0x506364b9 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0x50816401 percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0x50851025 devm_pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0x50887469 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x508c0123 ptp_msg_is_sync +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x509989a1 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x50a9b423 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x50affff1 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x50bc0d4a badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0x50c2ae54 rpi_firmware_property +EXPORT_SYMBOL_GPL vmlinux 0x50d94a34 debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0x50df94f5 btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50f498df devm_clk_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x50fd36bd devm_of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x510019d1 percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x5111d75c mtk_clk_unregister_composites +EXPORT_SYMBOL_GPL vmlinux 0x51220162 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x512cef80 syscon_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x512f0632 bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x5139fc5a blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x514c8c65 regulator_list_voltage_table +EXPORT_SYMBOL_GPL vmlinux 0x5152bd85 devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0x5159e846 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x515b390f __SCK__tp_func_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x5169344d k3_udma_glue_pop_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x518bcdc6 edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x51991b38 mtk_mutex_enable +EXPORT_SYMBOL_GPL vmlinux 0x519cbd69 of_thermal_get_trip_points +EXPORT_SYMBOL_GPL vmlinux 0x51a2f952 metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0x51a348cc usb_role_switch_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x51a74e59 tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x51ad07dd tegra210_plle_hw_sequence_start +EXPORT_SYMBOL_GPL vmlinux 0x51bf963b start_poll_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x51d13875 nf_hooks_lwtunnel_sysctl_handler +EXPORT_SYMBOL_GPL vmlinux 0x51d5fc00 meson_eeclkc_probe +EXPORT_SYMBOL_GPL vmlinux 0x51daaecb dma_resv_describe +EXPORT_SYMBOL_GPL vmlinux 0x51ebbed8 mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0x51f2f16b ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x51f94813 devm_regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x51fc9a6d xenmem_reservation_decrease +EXPORT_SYMBOL_GPL vmlinux 0x51fca4db ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x5200a09a pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x5206c03d pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0x520e9923 icc_node_create +EXPORT_SYMBOL_GPL vmlinux 0x52167030 gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0x52213dd4 gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL vmlinux 0x52252316 clk_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x5240df36 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x52410ca0 __clk_mux_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x52431348 xenbus_transaction_start +EXPORT_SYMBOL_GPL vmlinux 0x524afbd4 of_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0x525485f7 __clk_mux_determine_rate_closest +EXPORT_SYMBOL_GPL vmlinux 0x525c61b2 device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0x525d0aa3 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x5262b093 blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x526bcf2a wwan_port_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x52701755 platform_clear +EXPORT_SYMBOL_GPL vmlinux 0x527f980b irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0x529bb3f4 task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0x529d835b component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0x52b0687a devm_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52b3f45a devm_ti_sci_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52ce2057 hv_setup_crash_handler +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x52d96939 nf_queue +EXPORT_SYMBOL_GPL vmlinux 0x52e15d50 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x52f18a5a genphy_c45_read_mdix +EXPORT_SYMBOL_GPL vmlinux 0x52ff71f9 sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x53012944 __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x53075c22 ext_pi_type1_crc64 +EXPORT_SYMBOL_GPL vmlinux 0x53134394 ahci_start_engine +EXPORT_SYMBOL_GPL vmlinux 0x5318b4de __xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0x531d387c __traceiter_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x53237661 extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x532b90b5 kprobe_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x53319cd9 anon_inode_getfd_secure +EXPORT_SYMBOL_GPL vmlinux 0x5345fa2c dprc_close +EXPORT_SYMBOL_GPL vmlinux 0x534672bc pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x53471b30 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x53619a05 __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0x536822e3 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x536e35b7 pci_iov_vf_id +EXPORT_SYMBOL_GPL vmlinux 0x537252cf __SCK__tp_func_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x53738369 dw8250_setup_port +EXPORT_SYMBOL_GPL vmlinux 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL vmlinux 0x5399b744 led_classdev_notify_brightness_hw_changed +EXPORT_SYMBOL_GPL vmlinux 0x53a5257c set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x53babe1f serial8250_em485_start_tx +EXPORT_SYMBOL_GPL vmlinux 0x53c089f5 property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x53c45389 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x53d7c01e __traceiter_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x53d8e856 __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0x53f00c41 pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0x53fc42eb acpi_unbind_one +EXPORT_SYMBOL_GPL vmlinux 0x5401b2e4 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x54022f24 vchan_tx_submit +EXPORT_SYMBOL_GPL vmlinux 0x540fe7fb pci_dev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x5420d1f5 copy_user_highpage +EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x542645e3 lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0x542c3d64 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x54351f72 thermal_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x54462ab7 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x5446e079 vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0x5448d77f gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0x544a9892 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x544b7e8b serial8250_do_get_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x54651f9b rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x54712e7c crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0x5472e2a9 rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x549d4eb9 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x54a25da2 qcom_smem_state_put +EXPORT_SYMBOL_GPL vmlinux 0x54a5085b __regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x54ace6ca devm_extcon_dev_allocate +EXPORT_SYMBOL_GPL vmlinux 0x54bea8f1 xen_remap_vma_range +EXPORT_SYMBOL_GPL vmlinux 0x54cee684 __tracepoint_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x54e030f3 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x54e6eca7 vp_modern_config_vector +EXPORT_SYMBOL_GPL vmlinux 0x54e8fc7e led_compose_name +EXPORT_SYMBOL_GPL vmlinux 0x54e980e1 fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0x54f5a26a meson_clk_dualdiv_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x54fdb036 acpi_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x5503d7aa usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x550f3e05 i2c_freq_mode_string +EXPORT_SYMBOL_GPL vmlinux 0x551f5cc9 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x5523a87a regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x5528543b vmap_pfn +EXPORT_SYMBOL_GPL vmlinux 0x55339365 flush_delayed_fput +EXPORT_SYMBOL_GPL vmlinux 0x553b49a4 cpufreq_get_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x55417264 unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x554b01c4 irq_chip_set_vcpu_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0x5563fc88 devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x556c367d usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x556e4390 clk_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x5572fc85 pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x55a5ed01 ulpi_viewport_access_ops +EXPORT_SYMBOL_GPL vmlinux 0x55a6745d fw_devlink_purge_absent_suppliers +EXPORT_SYMBOL_GPL vmlinux 0x55b2eb24 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x55c76a23 ksys_sync_helper +EXPORT_SYMBOL_GPL vmlinux 0x55c9880c zynqmp_pm_release_node +EXPORT_SYMBOL_GPL vmlinux 0x55d9cf21 crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x55dbbaf2 of_hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x55e577f8 usb_device_match_id +EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x55facfc6 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x55fc8ebf file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x560008bf crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x560565fe balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0x56173654 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x56256e8a orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x56271a60 pcie_aspm_capable +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x56366efc ahci_platform_enable_phys +EXPORT_SYMBOL_GPL vmlinux 0x563f862f gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x5657ed0c __devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x565a565f phy_select_page +EXPORT_SYMBOL_GPL vmlinux 0x5663eed4 power_supply_set_property +EXPORT_SYMBOL_GPL vmlinux 0x566c0d76 mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x567a945e serial8250_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x5684e698 genphy_c45_pma_baset1_setup_master_slave +EXPORT_SYMBOL_GPL vmlinux 0x5687c07c ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x5689e0a7 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x5695efb2 of_usb_get_dr_mode_by_phy +EXPORT_SYMBOL_GPL vmlinux 0x56990d32 meson8_aobus_parse_dt_extra +EXPORT_SYMBOL_GPL vmlinux 0x56ad00b6 devm_of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x56c6c6a0 of_property_read_u64_index +EXPORT_SYMBOL_GPL vmlinux 0x56c7f746 fuse_dev_fiq_ops +EXPORT_SYMBOL_GPL vmlinux 0x56c9cb1b usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x56e74d23 get_dev_pagemap +EXPORT_SYMBOL_GPL vmlinux 0x56e9103b cpu_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x56f4ea08 mmc_poll_for_busy +EXPORT_SYMBOL_GPL vmlinux 0x56fbb130 no_hash_pointers +EXPORT_SYMBOL_GPL vmlinux 0x5719daa1 fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x571bc68b seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0x571ef076 power_supply_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x572e00b5 vp_modern_set_status +EXPORT_SYMBOL_GPL vmlinux 0x5733fe9d rio_mport_get_efb +EXPORT_SYMBOL_GPL vmlinux 0x5735a326 debugfs_lookup_and_remove +EXPORT_SYMBOL_GPL vmlinux 0x573c2969 rio_add_device +EXPORT_SYMBOL_GPL vmlinux 0x574027b0 sprd_pinctrl_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x574172d4 edac_device_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x574609c5 apei_exec_write_register_value +EXPORT_SYMBOL_GPL vmlinux 0x5748d492 genphy_c45_read_pma +EXPORT_SYMBOL_GPL vmlinux 0x575d62e3 sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x576e52ae acpi_pm_set_device_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x57719632 gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x577a438a tegra210_clk_emc_detach +EXPORT_SYMBOL_GPL vmlinux 0x577b803e dax_iomap_rw +EXPORT_SYMBOL_GPL vmlinux 0x578eeb4d hugetlb_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x5790bd99 debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5790e7a0 pci_unlock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0x5799b7f9 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x579fe5b0 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x57a3b933 bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0x57bff4d1 skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x57c663d9 k3_udma_glue_rx_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0x57c92614 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x57d4050a xhci_get_endpoint_index +EXPORT_SYMBOL_GPL vmlinux 0x57d585fe da9052_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x57d70e86 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x57e0d317 clk_regmap_gate_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x57e7dd21 devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x57e99d95 ahci_handle_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x57f576b9 mpi_ec_curve_point +EXPORT_SYMBOL_GPL vmlinux 0x57f71449 gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x580645aa memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x58225354 wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x58276f93 cper_next_record_id +EXPORT_SYMBOL_GPL vmlinux 0x58315632 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x58333101 swapcache_mapping +EXPORT_SYMBOL_GPL vmlinux 0x5849f649 dev_pm_opp_sync_regulators +EXPORT_SYMBOL_GPL vmlinux 0x5857a082 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x586bfc8a alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x5899358f fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x58b57e4d mtk_pinconf_bias_set +EXPORT_SYMBOL_GPL vmlinux 0x58c05a23 ata_std_sched_eh +EXPORT_SYMBOL_GPL vmlinux 0x58c84303 __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x58ca9d78 wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x58db1176 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x58e08925 nd_region_dev +EXPORT_SYMBOL_GPL vmlinux 0x58e14f15 HYPERVISOR_event_channel_op +EXPORT_SYMBOL_GPL vmlinux 0x5903572f input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x592f36b3 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x596e89f9 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x598208a5 genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL vmlinux 0x5986d190 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59bfa7ad __sock_recv_cmsgs +EXPORT_SYMBOL_GPL vmlinux 0x59c43dc9 __traceiter_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x59e61796 watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x59e640c0 halt_poll_ns +EXPORT_SYMBOL_GPL vmlinux 0x59ec6a84 pinctrl_parse_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x59f32720 mpi_subm +EXPORT_SYMBOL_GPL vmlinux 0x59f8b7c6 ms_hyperv +EXPORT_SYMBOL_GPL vmlinux 0x5a02918d crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0x5a05ff26 l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0x5a12e60c __SCK__tp_func_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a2218ab __traceiter_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x5a2fd889 dev_pm_qos_hide_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x5a33c311 virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x5a378df6 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x5a42c937 sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0x5a47d01a meson_sm_get +EXPORT_SYMBOL_GPL vmlinux 0x5a47d1ed iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a548039 cpufreq_dbs_governor_stop +EXPORT_SYMBOL_GPL vmlinux 0x5a5b36a6 thermal_zone_device_update +EXPORT_SYMBOL_GPL vmlinux 0x5a63ae29 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a6f420a iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x5a705f7d devfreq_event_get_event +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a7e720d bpf_trace_run11 +EXPORT_SYMBOL_GPL vmlinux 0x5a9d3893 bpf_trace_run7 +EXPORT_SYMBOL_GPL vmlinux 0x5aa70984 acpi_reduced_hardware +EXPORT_SYMBOL_GPL vmlinux 0x5aa8eb92 genphy_c45_loopback +EXPORT_SYMBOL_GPL vmlinux 0x5ab09745 edac_get_owner +EXPORT_SYMBOL_GPL vmlinux 0x5ab39f01 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x5ab5d43c pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x5ad21d12 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x5adfb4c5 pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x5af8deb3 devlink_rate_leaf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5b1001eb rockchip_clk_register_armclk +EXPORT_SYMBOL_GPL vmlinux 0x5b2021fc nfs_ssc_client_tbl +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b2da962 xenbus_read_otherend_details +EXPORT_SYMBOL_GPL vmlinux 0x5b38a28c unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x5b472b12 xhci_gen_setup +EXPORT_SYMBOL_GPL vmlinux 0x5b519d8b trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0x5b6a2ef3 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x5b6ac228 of_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x5b6b0329 swiotlb_max_segment +EXPORT_SYMBOL_GPL vmlinux 0x5b7028f7 dev_pm_genpd_resume +EXPORT_SYMBOL_GPL vmlinux 0x5b7b2145 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x5b8a6d46 devm_devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x5ba11208 devm_spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x5ba89614 lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0x5ba9c87f blk_crypto_keyslot_index +EXPORT_SYMBOL_GPL vmlinux 0x5bb70243 devm_register_power_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x5bbdfa26 scatterwalk_ffwd +EXPORT_SYMBOL_GPL vmlinux 0x5bc950fe regulator_irq_helper_cancel +EXPORT_SYMBOL_GPL vmlinux 0x5bcc0df7 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5bd0748f crypto_del_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x5bdae35b usb_phy_roothub_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x5bdbac4e rcu_unexpedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x5be03765 crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0x5c03c711 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5c04f499 exportfs_decode_fh_raw +EXPORT_SYMBOL_GPL vmlinux 0x5c06e767 thermal_remove_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x5c070f62 cper_mem_err_status_str +EXPORT_SYMBOL_GPL vmlinux 0x5c0eaf31 acpi_dev_resource_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x5c0f77ce HYPERVISOR_platform_op_raw +EXPORT_SYMBOL_GPL vmlinux 0x5c246d60 sync_blockdev_nowait +EXPORT_SYMBOL_GPL vmlinux 0x5c2f1546 devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0x5c30f132 mark_page_dirty_in_slot +EXPORT_SYMBOL_GPL vmlinux 0x5c37655a ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x5c3bbd06 __SCK__tp_func_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x5c3c6c46 devm_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x5c43c40c usb_phy_roothub_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5c5a1b16 tick_broadcast_control +EXPORT_SYMBOL_GPL vmlinux 0x5c72f0e1 event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0x5c762e3f acpi_subsys_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x5c82016e __SCK__tp_func_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x5ca903ad irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0x5cab9945 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x5cad8fc3 power_supply_ocv2cap_simple +EXPORT_SYMBOL_GPL vmlinux 0x5ccab241 devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x5cd80eee srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x5cede0a7 xdp_flush_frame_bulk +EXPORT_SYMBOL_GPL vmlinux 0x5cfb1ded usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x5d02042f bio_add_zone_append_page +EXPORT_SYMBOL_GPL vmlinux 0x5d09f64c of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x5d17148b apei_write +EXPORT_SYMBOL_GPL vmlinux 0x5d1f968c elv_register +EXPORT_SYMBOL_GPL vmlinux 0x5d2aa5fb rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0x5d2b6021 wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x5d2bc42a reset_control_rearm +EXPORT_SYMBOL_GPL vmlinux 0x5d3508f1 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x5d417d2f pinmux_generic_get_function_name +EXPORT_SYMBOL_GPL vmlinux 0x5d4ba67c pci_epf_add_vepf +EXPORT_SYMBOL_GPL vmlinux 0x5d512cfc icc_sync_state +EXPORT_SYMBOL_GPL vmlinux 0x5d6aa825 platform_get_mem_or_io +EXPORT_SYMBOL_GPL vmlinux 0x5d829814 device_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d8cd632 hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x5d8fd019 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x5da2d0e2 __traceiter_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x5da4b5bc pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5dad1327 iommu_setup_dma_ops +EXPORT_SYMBOL_GPL vmlinux 0x5db94475 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x5dba3650 regulator_set_pull_down_regmap +EXPORT_SYMBOL_GPL vmlinux 0x5dc9f90c ethnl_cable_test_result +EXPORT_SYMBOL_GPL vmlinux 0x5de412cd k3_ringacc_ring_push +EXPORT_SYMBOL_GPL vmlinux 0x5deefac3 pwm_apply_state +EXPORT_SYMBOL_GPL vmlinux 0x5df2ba71 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x5df9f8a2 xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0x5dfc3069 posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x5dfdff2e usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x5e173309 cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x5e19f6ca extcon_register_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x5e1b8710 pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0x5e21c5e9 aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0x5e27e8c9 crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0x5e282924 vp_modern_probe +EXPORT_SYMBOL_GPL vmlinux 0x5e2e7ed5 pci_pr3_present +EXPORT_SYMBOL_GPL vmlinux 0x5e3210f3 serial8250_em485_stop_tx +EXPORT_SYMBOL_GPL vmlinux 0x5e50e186 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e5201c6 ata_host_put +EXPORT_SYMBOL_GPL vmlinux 0x5e5a6898 kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x5e60589c of_property_read_u32_index +EXPORT_SYMBOL_GPL vmlinux 0x5e76bb57 k3_ringacc_ring_get_size +EXPORT_SYMBOL_GPL vmlinux 0x5e798ffb divider_get_val +EXPORT_SYMBOL_GPL vmlinux 0x5e811dc8 crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5e9e6753 wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0x5ea742b0 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x5eae5408 clk_is_enabled_when_prepared +EXPORT_SYMBOL_GPL vmlinux 0x5eb417e0 __SCK__tp_func_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x5ec2319a mtk_mutex_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x5ecdcf90 ti_sci_get_free_resource +EXPORT_SYMBOL_GPL vmlinux 0x5ed037d6 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x5ed563ce sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x5ee2aa12 list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0x5efc0f9e find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x5f1237be posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5f17ca27 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5f1a7a66 rockchip_pcie_cfg_configuration_accesses +EXPORT_SYMBOL_GPL vmlinux 0x5f23e3fa insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x5f2b2ca6 dev_pm_domain_set +EXPORT_SYMBOL_GPL vmlinux 0x5f2e86a9 __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x5f6a5921 tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f7971f4 fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x5f7e7978 nvdimm_delete +EXPORT_SYMBOL_GPL vmlinux 0x5f804b1a dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0x5f8d3f24 devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x5f910e21 devm_irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x5fa625ed mpi_ec_mul_point +EXPORT_SYMBOL_GPL vmlinux 0x5fad1eea rdev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x5fb8848b halt_poll_ns_grow_start +EXPORT_SYMBOL_GPL vmlinux 0x5fb9ad28 tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0x5fcb3f78 __devm_spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x5fdfcd57 __tracepoint_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x5ff058d0 rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0x5ffe694a tegra_mc_get_emem_device_count +EXPORT_SYMBOL_GPL vmlinux 0x6004f122 fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x60091316 clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x60285786 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x60294561 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x602f4c20 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x6038ccca scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0x603d0d51 acpi_os_map_iomem +EXPORT_SYMBOL_GPL vmlinux 0x603ff86d acpi_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0x60442822 phys_to_mach +EXPORT_SYMBOL_GPL vmlinux 0x604722fd devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x605d5bfa cache_line_size +EXPORT_SYMBOL_GPL vmlinux 0x605f7d64 devm_extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x606ac692 alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0x606b4aba devlink_linecard_provision_set +EXPORT_SYMBOL_GPL vmlinux 0x606d57f9 of_hwspin_lock_get_id_byname +EXPORT_SYMBOL_GPL vmlinux 0x60725b55 fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0x6073fe6a sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x608d25d6 __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x6094e223 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x609873dd perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0x609da600 fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL_GPL vmlinux 0x60a34cbb blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0x60a8a673 kvm_io_bus_write +EXPORT_SYMBOL_GPL vmlinux 0x60abb2d8 devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x60ae0922 power_supply_vbat2ri +EXPORT_SYMBOL_GPL vmlinux 0x60b1c2fd clk_regmap_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x60c47f46 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0x60db607b regmap_can_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x60e04e7f posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0x60e60782 iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x60f99e1b cppc_set_perf +EXPORT_SYMBOL_GPL vmlinux 0x60fcad79 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x611cfa85 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x61268e87 mmc_sanitize +EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x612a6c70 rockchip_clk_of_add_provider +EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x61456810 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x614adcb7 of_overlay_remove_all +EXPORT_SYMBOL_GPL vmlinux 0x6156a6c3 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x615d3447 kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x616835c9 platform_irqchip_probe +EXPORT_SYMBOL_GPL vmlinux 0x616a1d70 unregister_nvdimm_pmu +EXPORT_SYMBOL_GPL vmlinux 0x617a5546 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6181e79f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0x618ec21b phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL vmlinux 0x6198dfea __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6199ad5d crypto_has_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x619d2eca acpi_gpio_get_irq_resource +EXPORT_SYMBOL_GPL vmlinux 0x61b9ca06 iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0x61ba2146 nl_table +EXPORT_SYMBOL_GPL vmlinux 0x61bbaae8 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x61bc4b2d fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0x61c1ca29 __SCK__tp_func_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x61ca04bd devm_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x61db951a device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x61ef420f nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x621025aa blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0x621d6407 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x622a5fd0 __traceiter_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x622c7922 register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x62377a7b blk_io_schedule +EXPORT_SYMBOL_GPL vmlinux 0x6246a629 synchronize_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x6257dda7 clk_rate_exclusive_get +EXPORT_SYMBOL_GPL vmlinux 0x625981e0 dev_pm_opp_get_max_volt_latency +EXPORT_SYMBOL_GPL vmlinux 0x6259d291 clk_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x626335d7 devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x62659106 debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x62837c45 of_pci_get_devfn +EXPORT_SYMBOL_GPL vmlinux 0x628b89b4 tegra_mc_probe_device +EXPORT_SYMBOL_GPL vmlinux 0x628dfa2c pcie_port_find_device +EXPORT_SYMBOL_GPL vmlinux 0x62a0af8b devm_regmap_field_bulk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x62ad323a tcp_sendmsg_locked +EXPORT_SYMBOL_GPL vmlinux 0x62afc955 pci_epc_put +EXPORT_SYMBOL_GPL vmlinux 0x62b37f12 devm_hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62cf9dd6 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x62d270e3 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x62ebbf53 crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x63109153 of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x63150e06 clk_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL vmlinux 0x63197685 s2idle_wake +EXPORT_SYMBOL_GPL vmlinux 0x632852dd hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x63389c7f usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x633ac581 regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x6341018c perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x634b9d42 __SCK__tp_func_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x636713db spi_mem_get_name +EXPORT_SYMBOL_GPL vmlinux 0x636845e2 dev_xdp_prog_count +EXPORT_SYMBOL_GPL vmlinux 0x6370aff5 devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x63710396 devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0x63723c70 skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0x63870c19 dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0x63891865 __hwspin_trylock +EXPORT_SYMBOL_GPL vmlinux 0x638aff11 proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x63997c45 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x639efc25 usb_acpi_set_power_state +EXPORT_SYMBOL_GPL vmlinux 0x63a58d18 spi_mem_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x63acc6d8 dev_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x63adc9aa __traceiter_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0x63bc4f0b device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x63c08029 clk_bulk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x63d62446 blk_mq_end_request_batch +EXPORT_SYMBOL_GPL vmlinux 0x63e543ca phy_10gbit_fec_features +EXPORT_SYMBOL_GPL vmlinux 0x63ea80b3 cper_mem_err_type_str +EXPORT_SYMBOL_GPL vmlinux 0x640badc8 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x641dc024 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x641df849 dma_alloc_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x641e3fc5 __auxiliary_device_add +EXPORT_SYMBOL_GPL vmlinux 0x64248779 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x6427572b tegra210_clk_emc_dll_enable +EXPORT_SYMBOL_GPL vmlinux 0x64317d51 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x64399dbc kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x643b06b0 zynqmp_pm_clock_setrate +EXPORT_SYMBOL_GPL vmlinux 0x643b6e60 ahci_do_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x643f6be7 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x643ff5c8 kvm_arch_ptp_get_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0x64609d25 __tracepoint_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x646a1624 clk_hw_register_gate2 +EXPORT_SYMBOL_GPL vmlinux 0x647537f3 pl320_ipc_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x648c48f2 cpufreq_policy_transition_delay_us +EXPORT_SYMBOL_GPL vmlinux 0x648dd324 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x648dfc82 list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0x64a31445 mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0x64bd47cc device_add +EXPORT_SYMBOL_GPL vmlinux 0x64dcd777 usb_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x64f36620 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x64f74abf __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x64fea378 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x64ffb9d1 pinctrl_remove_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x6502d9c2 xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x650ba30e usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x650fdee5 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0x651d10e5 ktime_get_tai_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x65202675 clk_gate_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x652326d4 usb_amd_pt_check_port +EXPORT_SYMBOL_GPL vmlinux 0x6531a37f mpi_add +EXPORT_SYMBOL_GPL vmlinux 0x6545268e __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x657135cb folio_invalidate +EXPORT_SYMBOL_GPL vmlinux 0x65acf90c sbitmap_weight +EXPORT_SYMBOL_GPL vmlinux 0x65b176cf devfreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x65cbe4b2 virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d5104c virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0x65dd12e8 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0x65e01af9 __sync_icache_dcache +EXPORT_SYMBOL_GPL vmlinux 0x65e4d373 ahci_reset_controller +EXPORT_SYMBOL_GPL vmlinux 0x65eb65bc dmi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x660eb6bd devlink_free +EXPORT_SYMBOL_GPL vmlinux 0x6614cbab serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x662bc1ae badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0x6635ba81 crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x663dbaed blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0x664eb54a k3_ringacc_ring_reset_dma +EXPORT_SYMBOL_GPL vmlinux 0x66574826 rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x66584500 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0x665e92a0 clk_set_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x669fa302 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x66a3a534 ping_close +EXPORT_SYMBOL_GPL vmlinux 0x66b0daba pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66b9caca alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x66c0451f component_del +EXPORT_SYMBOL_GPL vmlinux 0x66cd247b pm_runtime_get_if_active +EXPORT_SYMBOL_GPL vmlinux 0x66d41ae7 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66f85377 __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x66f9884f fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x6708a54b scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x672aa4ae phy_get +EXPORT_SYMBOL_GPL vmlinux 0x6739a503 balloon_set_new_target +EXPORT_SYMBOL_GPL vmlinux 0x6739bf43 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x673c7743 devm_usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x67429c91 __SCK__tp_func_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x6748de96 cpufreq_generic_init +EXPORT_SYMBOL_GPL vmlinux 0x675163e1 spi_mem_dirmap_read +EXPORT_SYMBOL_GPL vmlinux 0x67534722 xen_unregister_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0x675ffc22 pcc_mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x676c688f k3_ringacc_ring_free +EXPORT_SYMBOL_GPL vmlinux 0x677ff88c xas_store +EXPORT_SYMBOL_GPL vmlinux 0x67822496 xhci_drop_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x67830bf5 regulator_set_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x678c670e devm_rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x6797fe18 rio_route_add_entry +EXPORT_SYMBOL_GPL vmlinux 0x67a6c887 dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0x67abf970 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x67beab20 vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x67ca4207 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x67e773e6 dma_resv_get_fences +EXPORT_SYMBOL_GPL vmlinux 0x67e9c93b of_phandle_iterator_init +EXPORT_SYMBOL_GPL vmlinux 0x6804995d pinmux_generic_get_function_count +EXPORT_SYMBOL_GPL vmlinux 0x681755c1 adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x68249bad __irq_alloc_domain_generic_chips +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x683da7ce rio_map_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x6841225f mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x68460527 blkcg_set_fc_appid +EXPORT_SYMBOL_GPL vmlinux 0x6846c213 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x684ca117 zynqmp_pm_get_pll_frac_mode +EXPORT_SYMBOL_GPL vmlinux 0x68559c33 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x686f13d6 imx_pinctrl_sc_ipc_init +EXPORT_SYMBOL_GPL vmlinux 0x68716de0 devm_reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x6874dbac blk_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0x68823c47 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x688be705 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x6892e3c3 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL vmlinux 0x68943930 crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x689945bf tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x689977ff netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0x689d2b8f fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x68a13630 apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0x68b6f6ed genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL vmlinux 0x68b8a5ef debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x68b982ac get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0x68fa8b4d page_cache_sync_ra +EXPORT_SYMBOL_GPL vmlinux 0x6903b723 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL vmlinux 0x69174cc2 clk_hw_get_num_parents +EXPORT_SYMBOL_GPL vmlinux 0x6918988f clk_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x691f0237 rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x691f2f5a ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0x69307e63 bpf_trace_run10 +EXPORT_SYMBOL_GPL vmlinux 0x693c56ed dev_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x6946ad15 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x69561711 mtk_pctrl_show_one_pin +EXPORT_SYMBOL_GPL vmlinux 0x696340a5 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x69637b2c __traceiter_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x696f2b63 of_changeset_init +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x698136f4 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x69925a3f sched_setattr_nocheck +EXPORT_SYMBOL_GPL vmlinux 0x699b60e0 cpufreq_frequency_table_get_index +EXPORT_SYMBOL_GPL vmlinux 0x69b8d243 virtio_device_freeze +EXPORT_SYMBOL_GPL vmlinux 0x69bc8d11 vp_modern_get_status +EXPORT_SYMBOL_GPL vmlinux 0x69c2ab30 icmp_build_probe +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x69ee2220 linear_range_get_selector_high +EXPORT_SYMBOL_GPL vmlinux 0x69f62223 rio_register_mport +EXPORT_SYMBOL_GPL vmlinux 0x69f9966a fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x69fc31b1 gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0x69ffa144 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x6a05b65b fb_videomode_from_videomode +EXPORT_SYMBOL_GPL vmlinux 0x6a14d3af unregister_random_vmfork_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6a16526b xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0x6a201a8b acpi_dev_clear_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x6a29f746 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x6a363453 devlink_net +EXPORT_SYMBOL_GPL vmlinux 0x6a36ff74 __traceiter_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x6a3f4416 register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x6a421062 memory_failure_queue +EXPORT_SYMBOL_GPL vmlinux 0x6a460dc5 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0x6a4f623b mmu_notifier_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x6a659ee7 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x6a73522c irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x6a824d89 tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a880c7d rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x6a8afdd6 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x6a8c876b dev_pm_opp_set_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x6a93c9b2 zynqmp_pm_pinctrl_get_function +EXPORT_SYMBOL_GPL vmlinux 0x6a9f80ce bdev_discard_alignment +EXPORT_SYMBOL_GPL vmlinux 0x6aa2a877 xenbus_printf +EXPORT_SYMBOL_GPL vmlinux 0x6aa53ad6 pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0x6aac180c rockchip_pcie_init_port +EXPORT_SYMBOL_GPL vmlinux 0x6aad9152 xen_set_callback_via +EXPORT_SYMBOL_GPL vmlinux 0x6ab166d5 devl_rate_leaf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6ac1ff78 pinctrl_force_default +EXPORT_SYMBOL_GPL vmlinux 0x6ac40846 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x6ac7e135 evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0x6ad16398 iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x6ad51dd4 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x6ae0b8bf ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x6ae10d3c tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x6ae37d60 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x6b08360c device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x6b0b06b4 i2c_parse_fw_timings +EXPORT_SYMBOL_GPL vmlinux 0x6b0dc565 xen_set_irq_priority +EXPORT_SYMBOL_GPL vmlinux 0x6b114352 fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x6b1911f1 dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x6b198c77 led_colors +EXPORT_SYMBOL_GPL vmlinux 0x6b26c91a gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0x6b2b69f7 static_key_enable +EXPORT_SYMBOL_GPL vmlinux 0x6b36e07d devlink_linecard_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6b3ae022 acpi_os_unmap_iomem +EXPORT_SYMBOL_GPL vmlinux 0x6b4045ee zynqmp_pm_get_api_version +EXPORT_SYMBOL_GPL vmlinux 0x6b413c9b sfp_link_down +EXPORT_SYMBOL_GPL vmlinux 0x6b47f8a4 hisi_clk_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x6b57151f of_k3_ringacc_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x6b5afdce tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0x6b7489e5 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x6b7a4335 hyperv_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x6b7d7e8a posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x6b80bf07 rio_request_mport_dma +EXPORT_SYMBOL_GPL vmlinux 0x6b81c38b power_supply_unreg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6b81d478 serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0x6b834121 bman_portals_probed +EXPORT_SYMBOL_GPL vmlinux 0x6b9097ec devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x6b935f5a debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x6b9fb163 edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x6ba0f113 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x6ba36c6a hwpoison_filter_flags_value +EXPORT_SYMBOL_GPL vmlinux 0x6ba4df45 kvm_clear_guest +EXPORT_SYMBOL_GPL vmlinux 0x6baa828e devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x6bb26d67 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x6bbb7487 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x6bbd8324 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x6bcdedc0 mpi_point_init +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6bdef35c acpi_ec_mark_gpe_for_wake +EXPORT_SYMBOL_GPL vmlinux 0x6be3a96b hv_remove_vmbus_handler +EXPORT_SYMBOL_GPL vmlinux 0x6bfacacb phy_init +EXPORT_SYMBOL_GPL vmlinux 0x6bfe3bfd ahci_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x6bff7911 clk_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0x6c00c590 irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x6c021f78 pinctrl_find_gpio_range_from_pin +EXPORT_SYMBOL_GPL vmlinux 0x6c077a12 mptcp_pm_get_local_addr_max +EXPORT_SYMBOL_GPL vmlinux 0x6c121b65 of_pci_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0x6c1b42aa ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x6c1c23c2 event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0x6c205008 mpi_print +EXPORT_SYMBOL_GPL vmlinux 0x6c24507d devm_regmap_field_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x6c31b8c9 of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6c4b6684 reset_control_assert +EXPORT_SYMBOL_GPL vmlinux 0x6c4db977 devm_power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x6c5052ca __hwspin_lock_timeout +EXPORT_SYMBOL_GPL vmlinux 0x6c591e9b bio_blkcg_css +EXPORT_SYMBOL_GPL vmlinux 0x6c5ad0cd kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x6c655913 register_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6c674453 tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0x6c7175bc regmap_get_device +EXPORT_SYMBOL_GPL vmlinux 0x6c76fdac xhci_run +EXPORT_SYMBOL_GPL vmlinux 0x6c7f26d1 devm_rtc_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x6c866f9d divider_ro_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x6c8b8852 mdiobus_modify +EXPORT_SYMBOL_GPL vmlinux 0x6c956075 __SCK__tp_func_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6ca50a64 fixed_phy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6cab5112 fuse_conn_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6cb0ce87 irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0x6cb211b7 led_get_default_pattern +EXPORT_SYMBOL_GPL vmlinux 0x6cb33d2d acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0x6cccbb66 i2c_recover_bus +EXPORT_SYMBOL_GPL vmlinux 0x6cd047ad power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x6cd0eeba crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0x6ce10eb0 trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x6ce4cda7 irq_domain_disconnect_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x6ce6d9f5 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x6cf0e53a usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x6cf0eb14 xenbus_dev_remove +EXPORT_SYMBOL_GPL vmlinux 0x6cf30127 device_match_any +EXPORT_SYMBOL_GPL vmlinux 0x6cf99d61 ohci_restart +EXPORT_SYMBOL_GPL vmlinux 0x6cfa4c13 sdio_retune_crc_enable +EXPORT_SYMBOL_GPL vmlinux 0x6cfabcdc sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0x6d04891d inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x6d067883 phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6d09843f copy_bpf_fprog_from_user +EXPORT_SYMBOL_GPL vmlinux 0x6d09eb04 iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0x6d0ae550 pinctrl_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6d12899f tty_kopen_shared +EXPORT_SYMBOL_GPL vmlinux 0x6d236f27 meson_aoclkc_probe +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d3b5781 dev_pm_opp_find_freq_exact +EXPORT_SYMBOL_GPL vmlinux 0x6d3ec255 iocb_bio_iopoll +EXPORT_SYMBOL_GPL vmlinux 0x6d467b08 arm_smccc_1_1_get_conduit +EXPORT_SYMBOL_GPL vmlinux 0x6d6d74f2 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d70ee1b trace_array_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0x6d713e9c vp_legacy_remove +EXPORT_SYMBOL_GPL vmlinux 0x6d7832b7 __stack_depot_save +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d8c02d5 wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0x6dac36b0 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x6db19fb7 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6dc3f2f3 vp_modern_get_features +EXPORT_SYMBOL_GPL vmlinux 0x6dc7ea37 kvm_vcpu_halt +EXPORT_SYMBOL_GPL vmlinux 0x6dd38fb5 dpcon_disable +EXPORT_SYMBOL_GPL vmlinux 0x6dd5680d sprint_symbol_build_id +EXPORT_SYMBOL_GPL vmlinux 0x6dedd7d5 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x6df69824 soc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x6e064673 device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x6e09050f usb_hub_release_port +EXPORT_SYMBOL_GPL vmlinux 0x6e09d93d __SCK__tp_func_map +EXPORT_SYMBOL_GPL vmlinux 0x6e0e1659 kvm_put_kvm_no_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6e1a3f3c pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x6e251f44 thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6e2ce2c0 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x6e3347ec devlink_priv +EXPORT_SYMBOL_GPL vmlinux 0x6e353c26 mpi_rshift +EXPORT_SYMBOL_GPL vmlinux 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x6e44a7ba device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x6e4aa78d k3_udma_glue_rx_flow_enable +EXPORT_SYMBOL_GPL vmlinux 0x6e565a6b dpm_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x6e59bfcc serial8250_init_port +EXPORT_SYMBOL_GPL vmlinux 0x6e59f821 __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x6e672a42 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x6e72e4f6 iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6ea3d880 __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0x6eab6b07 usb_choose_configuration +EXPORT_SYMBOL_GPL vmlinux 0x6eb04f46 register_random_vmfork_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ec3f848 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x6ec6b6ba switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x6ed5b9f7 crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x6edb3ea7 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x6ee33a02 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6eeea167 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x6ef0855c ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6efcd613 devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0x6f039599 efivar_entry_find +EXPORT_SYMBOL_GPL vmlinux 0x6f0bb521 dev_pm_opp_put_regulators +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f2017de misc_cg_set_capacity +EXPORT_SYMBOL_GPL vmlinux 0x6f327d8a inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x6f4f6985 devm_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x6f592ec0 pinctrl_lookup_state +EXPORT_SYMBOL_GPL vmlinux 0x6f6b52e9 __ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x6f70592f crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0x6f7e6040 irq_has_action +EXPORT_SYMBOL_GPL vmlinux 0x6f7fdb42 device_register +EXPORT_SYMBOL_GPL vmlinux 0x6f81a5f4 sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6fa3391e __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x6fb1bc24 register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x6fb3f136 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x6fc66db5 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6fd0cd3f fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0x6fdd8f27 fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0x6fdf6076 fsl_mc_bus_dpni_type +EXPORT_SYMBOL_GPL vmlinux 0x6fe44b2b perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6ffe9af0 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions +EXPORT_SYMBOL_GPL vmlinux 0x70117019 pm_clk_remove +EXPORT_SYMBOL_GPL vmlinux 0x701708b6 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x701c30e0 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x702cf7e4 hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0x702e4b46 device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x703562f7 devfreq_event_enable_edev +EXPORT_SYMBOL_GPL vmlinux 0x70381537 i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x70420902 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x70439825 skb_copy_ubufs +EXPORT_SYMBOL_GPL vmlinux 0x70462a22 mpc8xxx_spi_rx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x705a6888 rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x706874c5 component_compare_of +EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL vmlinux 0x707456fa acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0x7087b717 handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0x708fef69 devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x70a52088 platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0x70a5a084 mctrl_gpio_init_noauto +EXPORT_SYMBOL_GPL vmlinux 0x70a5a6c7 pci_epf_type_add_cfs +EXPORT_SYMBOL_GPL vmlinux 0x70c2c7ea pids_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x70c52dc5 nf_skb_duplicated +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70dff32a inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x70ed0824 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x70f8858b dev_pm_qos_flags +EXPORT_SYMBOL_GPL vmlinux 0x70fbae4d cppc_allow_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x70ffab9f dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x7100bcde edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x710c2a19 sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7129a6f4 osc_sb_native_usb4_support_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x712cd2cb crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x712f1734 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x7134aa95 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x7145c8a9 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x714f0863 crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0x715783bf sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x715a43ce priv_to_devlink +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71657f79 wwan_create_port +EXPORT_SYMBOL_GPL vmlinux 0x71724493 mctrl_gpio_enable_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x7175862e gnttab_map_refs +EXPORT_SYMBOL_GPL vmlinux 0x7181db30 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71875a15 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x718b7d33 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x7195940a mctrl_gpio_disable_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x71991850 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x719a02b8 misc_cg_try_charge +EXPORT_SYMBOL_GPL vmlinux 0x719e17ff clk_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71a20f4a __SCK__tp_func_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x71a9a3ab mtk_mutex_acquire +EXPORT_SYMBOL_GPL vmlinux 0x71b15008 lwtunnel_valid_encap_type +EXPORT_SYMBOL_GPL vmlinux 0x71b39d20 iommu_enable_nesting +EXPORT_SYMBOL_GPL vmlinux 0x71b59308 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x71b6cf94 dst_cache_reset_now +EXPORT_SYMBOL_GPL vmlinux 0x71b89291 clk_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x71c04b47 ata_scsi_dma_need_drain +EXPORT_SYMBOL_GPL vmlinux 0x71c059d8 __traceiter_map +EXPORT_SYMBOL_GPL vmlinux 0x71d53bde pci_bridge_emul_conf_read +EXPORT_SYMBOL_GPL vmlinux 0x71d79eac rio_unmap_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x71ddf828 ohci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x71ea8af5 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x71f6cde9 clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x71fe8beb regulator_set_load +EXPORT_SYMBOL_GPL vmlinux 0x721cb793 xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0x7237e950 pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x7247b2a7 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x724a36bd dev_pm_domain_detach +EXPORT_SYMBOL_GPL vmlinux 0x7262702b sfp_get_module_eeprom_by_page +EXPORT_SYMBOL_GPL vmlinux 0x7265f2b0 pci_vpd_check_csum +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x7283161b percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x7286b984 genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x72894cf6 dev_pm_opp_put_clkname +EXPORT_SYMBOL_GPL vmlinux 0x72978ab6 hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x72a39593 bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0x72b59194 gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0x72cb7de1 input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0x72d24472 crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x72d267dc nvmem_del_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x72d76364 xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0x72d9c037 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x72dff85d rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x72e1e8e5 tegra_bpmp_transfer_atomic +EXPORT_SYMBOL_GPL vmlinux 0x72edf918 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x72f7c9b6 cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x72f96b4c k3_udma_glue_tx_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0x73090308 __kvm_set_memory_region +EXPORT_SYMBOL_GPL vmlinux 0x7319d9e7 sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0x731a7fae nf_route +EXPORT_SYMBOL_GPL vmlinux 0x73265312 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x732852fe xenbus_transaction_end +EXPORT_SYMBOL_GPL vmlinux 0x7328f1af devm_usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x733bf8a5 kvm_vcpu_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x733ddef6 fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0x734ec9b9 mtk_pinconf_bias_disable_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x7351fcb1 devlink_remote_reload_actions_performed +EXPORT_SYMBOL_GPL vmlinux 0x73604ba2 devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0x73700d9e ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x7381287f trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0x7386a902 bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0x73928241 gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0x73959da3 devm_thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73b31d3b of_irq_get +EXPORT_SYMBOL_GPL vmlinux 0x73b8c4d6 gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x73ba01b3 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x73bce780 trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0x73c2554f __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x73c8e5b5 clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73f4c869 dmaengine_desc_set_metadata_len +EXPORT_SYMBOL_GPL vmlinux 0x73f9883e acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0x74025a01 bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0x741fdddc of_css +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x743b99d8 xenmem_reservation_increase +EXPORT_SYMBOL_GPL vmlinux 0x74406292 pinconf_generic_dt_subnode_to_map +EXPORT_SYMBOL_GPL vmlinux 0x74457e56 apei_resources_fini +EXPORT_SYMBOL_GPL vmlinux 0x7452fbd9 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7456cccf gnttab_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x7457fec2 firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0x745fcd05 mptcp_get_reset_option +EXPORT_SYMBOL_GPL vmlinux 0x746d8076 mtk_clk_register_fixed_clks +EXPORT_SYMBOL_GPL vmlinux 0x747001a6 ping_err +EXPORT_SYMBOL_GPL vmlinux 0x747675c1 gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0x749ac710 mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x749d284a fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x74a1434d dev_pm_opp_detach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x74a22bb4 k3_udma_glue_push_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x74a31afe led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x74a5c127 folio_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x74b5ea68 lcm_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x74b88364 regulator_desc_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74c31fe3 __fsl_mc_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x74c7bffa stack_trace_snprint +EXPORT_SYMBOL_GPL vmlinux 0x74cd0434 spi_mem_dirmap_write +EXPORT_SYMBOL_GPL vmlinux 0x74d1e0a3 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x74df95f6 devm_bitmap_alloc +EXPORT_SYMBOL_GPL vmlinux 0x74e73871 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x74ebb876 device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x74f6fe8c blk_crypto_profile_destroy +EXPORT_SYMBOL_GPL vmlinux 0x74fcc489 tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0x75133f6e visitor128 +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x75373f44 uprobe_register_refctr +EXPORT_SYMBOL_GPL vmlinux 0x7540e274 virtio_check_mem_acc_cb +EXPORT_SYMBOL_GPL vmlinux 0x75430a75 sysfs_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x754e5e53 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7561a90b irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x7567d416 device_create_managed_software_node +EXPORT_SYMBOL_GPL vmlinux 0x7573e36d simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x757c1bbb housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0x758a43fe k3_ringacc_get_ring_irq_num +EXPORT_SYMBOL_GPL vmlinux 0x759139cb of_pci_check_probe_only +EXPORT_SYMBOL_GPL vmlinux 0x759bfe36 btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0x75ac04da class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x75bc707d usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x75c7d356 serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x75dd4ebe of_overlay_remove +EXPORT_SYMBOL_GPL vmlinux 0x75ddcf54 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x75e51945 __SCK__tp_func_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x75f80cec dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x75fb9062 arch_timer_read_counter +EXPORT_SYMBOL_GPL vmlinux 0x760c19ce icc_get_name +EXPORT_SYMBOL_GPL vmlinux 0x761a2d3e pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x76257049 dpbp_open +EXPORT_SYMBOL_GPL vmlinux 0x762a0e13 ndo_dflt_bridge_getlink +EXPORT_SYMBOL_GPL vmlinux 0x764ffefa page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0x7657d387 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7657e302 dma_get_slave_caps +EXPORT_SYMBOL_GPL vmlinux 0x7663fd83 __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0x7665a95b idr_remove +EXPORT_SYMBOL_GPL vmlinux 0x7681946c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x768490ac wp_shared_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x7696ec26 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x769cefb5 percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0x76a53427 i2c_new_client_device +EXPORT_SYMBOL_GPL vmlinux 0x76a69340 tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x76ab846d __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x76b722ab gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x76b7f6d6 dev_pm_domain_start +EXPORT_SYMBOL_GPL vmlinux 0x76d680f6 acpi_dev_resource_memory +EXPORT_SYMBOL_GPL vmlinux 0x76d9b876 clk_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x76dee5b6 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x76dfb2bf blk_mq_complete_request_remote +EXPORT_SYMBOL_GPL vmlinux 0x76e85b92 gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x76f2d5d2 __traceiter_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x76f54d6c __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0x770ac7ec put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x77222306 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x772b0f64 __wake_up_pollfree +EXPORT_SYMBOL_GPL vmlinux 0x773994a3 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x773c906d dax_recovery_write +EXPORT_SYMBOL_GPL vmlinux 0x774c552e ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x774f16ef __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x77522cf6 sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x7757b51a clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x775aa1d2 devm_pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x775c99da mmc_send_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0x77747f22 fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0x777f586f security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x77914ed3 mtk_eint_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x77ae495d usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x77bcc67a switchdev_handle_port_obj_del_foreign +EXPORT_SYMBOL_GPL vmlinux 0x77ce2ffd pm_genpd_remove +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x77ead22a usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x77ecf68d memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0x77f24400 perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x780904ad edac_device_handle_ce_count +EXPORT_SYMBOL_GPL vmlinux 0x780ae6d2 tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0x781244f0 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x78146f0f blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0x78176ba1 devlink_param_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7834c019 phy_10gbit_full_features +EXPORT_SYMBOL_GPL vmlinux 0x78573cba usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x785a93ee mtk_hw_set_value +EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x788963ae serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x788dcce6 pcc_mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x78bfd342 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x78ddb76b dmi_match +EXPORT_SYMBOL_GPL vmlinux 0x78f35f91 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x78f37acd of_pwm_single_xlate +EXPORT_SYMBOL_GPL vmlinux 0x78fe8bba fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x79016d0f i2c_acpi_client_count +EXPORT_SYMBOL_GPL vmlinux 0x790be0b9 usb_bus_idr +EXPORT_SYMBOL_GPL vmlinux 0x7918d817 memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x79197c99 tps65912_device_init +EXPORT_SYMBOL_GPL vmlinux 0x7924fb62 meson_vid_pll_div_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x792b42d0 sprd_pinctrl_remove +EXPORT_SYMBOL_GPL vmlinux 0x79345cb9 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x7934aa08 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x793bb2de unmap_mapping_pages +EXPORT_SYMBOL_GPL vmlinux 0x793f98bc __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x79470a2c TSS_authhmac +EXPORT_SYMBOL_GPL vmlinux 0x794a0461 rockchip_pcie_disable_clocks +EXPORT_SYMBOL_GPL vmlinux 0x794b7271 orderly_reboot +EXPORT_SYMBOL_GPL vmlinux 0x79545ab1 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x795ccdfb screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x796d74b2 xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0x7983ba83 da9052_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x798b7682 klist_prev +EXPORT_SYMBOL_GPL vmlinux 0x798e1b11 sched_set_fifo_low +EXPORT_SYMBOL_GPL vmlinux 0x79a94a17 acpi_dev_get_first_consumer_dev +EXPORT_SYMBOL_GPL vmlinux 0x79bc842c usb_anchor_suspend_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x79cebf60 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x79cfa327 i2c_dw_acpi_configure +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79f1aa44 find_iova +EXPORT_SYMBOL_GPL vmlinux 0x79f697e4 lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x7a00bbea input_device_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7a0dbb31 virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0x7a235201 of_irq_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x7a2fac2f gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x7a37bc45 fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0x7a470bb8 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7a4ae893 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x7a53f1eb ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x7a567a0a icc_get +EXPORT_SYMBOL_GPL vmlinux 0x7a59d1eb regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x7a5a5025 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x7a5c27a7 lp8788_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x7a73e605 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7a84256a __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7a98f4b4 copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x7a9ade4e __devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x7a9e4c23 software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x7aa205a6 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x7aae17dc device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0x7abdbcf4 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x7ac10ad8 icst_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7ad02a41 asn1_encode_tag +EXPORT_SYMBOL_GPL vmlinux 0x7ad1ded1 pinctrl_register_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7ad2c64c k3_udma_glue_release_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x7aeb1e24 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x7af52ebb blk_stat_disable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x7afade51 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x7afcb7db __kprobe_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x7afe324e halt_poll_ns_grow +EXPORT_SYMBOL_GPL vmlinux 0x7b0856a4 switchdev_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x7b178afe unlock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7b273222 usb_add_phy_dev +EXPORT_SYMBOL_GPL vmlinux 0x7b2b461d disk_set_independent_access_ranges +EXPORT_SYMBOL_GPL vmlinux 0x7b3469bb device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x7b43c1dd ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x7b445c4c stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0x7b445eb2 devm_register_restart_handler +EXPORT_SYMBOL_GPL vmlinux 0x7b4b3986 component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0x7b5452b8 acpi_unregister_gsi +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b64d7e5 bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x7b6a6311 devlink_rate_leaf_create +EXPORT_SYMBOL_GPL vmlinux 0x7b6f9536 acpi_register_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0x7b73bce8 sdio_signal_irq +EXPORT_SYMBOL_GPL vmlinux 0x7b7694b1 of_phandle_iterator_next +EXPORT_SYMBOL_GPL vmlinux 0x7b77b8dd efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0x7b789ce3 rdev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x7b794233 edac_pci_add_device +EXPORT_SYMBOL_GPL vmlinux 0x7b824080 bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0x7b8910f4 kfence_sample_interval +EXPORT_SYMBOL_GPL vmlinux 0x7b90d1a9 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7b9a7245 gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x7b9e58be imx8ulp_clk_hw_composite +EXPORT_SYMBOL_GPL vmlinux 0x7bb045a7 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x7bbeafaf __traceiter_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x7bc9c9b6 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x7bec5736 acpi_register_gsi +EXPORT_SYMBOL_GPL vmlinux 0x7c0334d6 dw_pcie_own_conf_map_bus +EXPORT_SYMBOL_GPL vmlinux 0x7c291e86 show_rcu_tasks_trace_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0x7c2fce0d ping_bind +EXPORT_SYMBOL_GPL vmlinux 0x7c3d8a4b icc_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0x7c551fa5 kvm_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x7c5f3711 ioasid_unregister_allocator +EXPORT_SYMBOL_GPL vmlinux 0x7c663900 nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0x7c7872a0 fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x7c80bc07 em_dev_register_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x7c80c07b dm_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x7c88b37b serial8250_do_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x7c94c99a kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL vmlinux 0x7c983a5d dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x7c9a7371 clk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7ca64a0b __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x7cacde45 __traceiter_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL_GPL vmlinux 0x7cb803de btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x7cbd1dc4 fsl_mc_bus_dpdbg_type +EXPORT_SYMBOL_GPL vmlinux 0x7cceaf92 zs_pool_stats +EXPORT_SYMBOL_GPL vmlinux 0x7cd6f042 cpufreq_get_current_driver +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7cf9e207 elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0x7cfd6f6f subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x7d00c65b nd_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x7d025690 switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x7d1bb1d4 tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0x7d22352a fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0x7d25a0aa pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0x7d25fc06 gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0x7d2c8441 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x7d32ba01 regulator_get_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7d385ebb securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x7d471321 zynqmp_pm_pinctrl_release +EXPORT_SYMBOL_GPL vmlinux 0x7d4cd20a amba_device_add +EXPORT_SYMBOL_GPL vmlinux 0x7d549c46 switchdev_bridge_port_unoffload +EXPORT_SYMBOL_GPL vmlinux 0x7d59ada8 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d7ab44e clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x7d7e55fb pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x7d7f856d security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0x7da6fc5e pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x7dc43e5b io_uring_cmd_done +EXPORT_SYMBOL_GPL vmlinux 0x7dd5dda1 irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0x7dd97bcc power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7de0cc24 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x7de39e07 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7de65a03 acpi_lpat_free_conversion_table +EXPORT_SYMBOL_GPL vmlinux 0x7de6cc23 io_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7deb2be8 led_update_brightness +EXPORT_SYMBOL_GPL vmlinux 0x7dedc00a bgmac_enet_resume +EXPORT_SYMBOL_GPL vmlinux 0x7dee4881 ptp_parse_header +EXPORT_SYMBOL_GPL vmlinux 0x7defc870 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0x7e1ad563 kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0x7e38ee53 efivars_kobject +EXPORT_SYMBOL_GPL vmlinux 0x7e3bdecd __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x7e3ca84c sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x7e3db21a pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0x7e59d230 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x7e5cfdab dev_pm_opp_enable +EXPORT_SYMBOL_GPL vmlinux 0x7e5db80b pstore_name_to_type +EXPORT_SYMBOL_GPL vmlinux 0x7e63de98 acpi_irq_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e714fe9 acpi_dev_get_resources +EXPORT_SYMBOL_GPL vmlinux 0x7e73f435 pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x7e7a47c9 pci_acpi_clear_companion_lookup_hook +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e8d8619 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x7e917894 __SCK__tp_func_unmap +EXPORT_SYMBOL_GPL vmlinux 0x7e943b45 devlink_port_attrs_pci_sf_set +EXPORT_SYMBOL_GPL vmlinux 0x7e96b4e0 bdev_alignment_offset +EXPORT_SYMBOL_GPL vmlinux 0x7e98ebf6 serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0x7e9a6568 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x7ea75c24 __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0x7eac8586 iopf_queue_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x7eae1d12 devm_hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7eb1795e __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x7eb6fee5 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x7eb72d10 __traceiter_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7ec5bda5 clk_register_mux_table +EXPORT_SYMBOL_GPL vmlinux 0x7ec98591 ip4_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x7ed6ea9f get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x7ed784bd pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x7eea6b8b pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0x7f00bdac devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0x7f0d31fc fscrypt_symlink_getattr +EXPORT_SYMBOL_GPL vmlinux 0x7f1b178f regulator_set_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7f235708 kvm_is_visible_gfn +EXPORT_SYMBOL_GPL vmlinux 0x7f46c8cc iommu_map +EXPORT_SYMBOL_GPL vmlinux 0x7f494af2 blk_next_bio +EXPORT_SYMBOL_GPL vmlinux 0x7f57f70d ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7f6b3f96 __traceiter_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x7f6cee89 rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7f71b4c2 dev_pm_opp_is_turbo +EXPORT_SYMBOL_GPL vmlinux 0x7f72fa82 ehci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x7f770786 clk_hw_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f8456d4 tps6586x_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x7f84f35d rcu_gp_slow_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7f8d9b84 dev_pm_genpd_set_next_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x7f99cb4b usb_string +EXPORT_SYMBOL_GPL vmlinux 0x7f9b1879 osc_cpc_flexible_adr_space_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x7f9e41aa mtk_pinconf_adv_pull_set +EXPORT_SYMBOL_GPL vmlinux 0x7fa820fe nvmem_cell_read_u32 +EXPORT_SYMBOL_GPL vmlinux 0x7fa96509 erst_get_record_id_next +EXPORT_SYMBOL_GPL vmlinux 0x7fbec035 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x7fc5819e pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x7fcaf412 debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0x7fd07d7d gnttab_foreach_grant_in_range +EXPORT_SYMBOL_GPL vmlinux 0x7fd1a78c k3_ringacc_dmarings_init +EXPORT_SYMBOL_GPL vmlinux 0x7fd3812a scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x7ff19c40 zynqmp_pm_set_requirement +EXPORT_SYMBOL_GPL vmlinux 0x7ff5ffb8 mtk_eint_find_irq +EXPORT_SYMBOL_GPL vmlinux 0x80088230 proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0x800feb4d watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0x80135182 k3_ringacc_ring_pop_tail +EXPORT_SYMBOL_GPL vmlinux 0x801363f6 hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x801acd58 imx_clk_hw_pllv4 +EXPORT_SYMBOL_GPL vmlinux 0x802dc253 ahci_platform_enable_regulators +EXPORT_SYMBOL_GPL vmlinux 0x8035bed7 rockchip_clk_protect_critical +EXPORT_SYMBOL_GPL vmlinux 0x804755a6 of_reserved_mem_device_release +EXPORT_SYMBOL_GPL vmlinux 0x80518ab5 gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0x806327ea imx_clk_hw_cpu +EXPORT_SYMBOL_GPL vmlinux 0x807094f7 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x8071f9c0 xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0x807766ea usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x807fdcc4 call_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x809978c9 sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0x80af7f9a fb_deferred_io_mmap +EXPORT_SYMBOL_GPL vmlinux 0x80badff4 __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x80c68137 nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x80cc7c45 pci_dev_lock +EXPORT_SYMBOL_GPL vmlinux 0x80d175db usb_acpi_port_lpm_incapable +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80dce25e __devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0x80dd6971 msi_unlock_descs +EXPORT_SYMBOL_GPL vmlinux 0x80df1eee device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0x80efc606 k3_udma_glue_request_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x81047cf3 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x811dc334 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0x8133f294 devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0x8147e3b8 devm_request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0x815588a6 clk_enable +EXPORT_SYMBOL_GPL vmlinux 0x815a7159 serial8250_read_char +EXPORT_SYMBOL_GPL vmlinux 0x815fda83 sed_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x8162761f acpi_fetch_acpi_dev +EXPORT_SYMBOL_GPL vmlinux 0x816347a6 fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x816a41ca cpufreq_update_limits +EXPORT_SYMBOL_GPL vmlinux 0x816bd1ea devm_clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x81784ac9 fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0x817927ce pm_clk_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8180cede asn1_encode_sequence +EXPORT_SYMBOL_GPL vmlinux 0x819d72cb klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x81a7f541 percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0x81aa78d8 zynqmp_pm_aes_engine +EXPORT_SYMBOL_GPL vmlinux 0x81b03377 efivar_entry_set_safe +EXPORT_SYMBOL_GPL vmlinux 0x81b3799b addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0x81ba7287 __traceiter_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x81cb7999 spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x81d10485 ioasid_free +EXPORT_SYMBOL_GPL vmlinux 0x81d491e9 pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0x81e2bdf4 generic_handle_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x81e65ada tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0x81f372a2 unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x81fa8435 blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0x82039c99 dma_mmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x82055cfa pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x820697d1 iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x82092899 badrange_forget +EXPORT_SYMBOL_GPL vmlinux 0x8220a38e k3_ringacc_get_ring_id +EXPORT_SYMBOL_GPL vmlinux 0x82226c53 pinctrl_unregister_mappings +EXPORT_SYMBOL_GPL vmlinux 0x823198ac bgmac_phy_connect_direct +EXPORT_SYMBOL_GPL vmlinux 0x823359c5 fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0x8236e282 dm_audit_log_ti +EXPORT_SYMBOL_GPL vmlinux 0x82372b8a pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x823eae06 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x825462bd ethtool_set_ethtool_phy_ops +EXPORT_SYMBOL_GPL vmlinux 0x825fe342 pci_vpd_alloc +EXPORT_SYMBOL_GPL vmlinux 0x82612959 cgroup_get_from_id +EXPORT_SYMBOL_GPL vmlinux 0x827e61f8 acpi_has_watchdog +EXPORT_SYMBOL_GPL vmlinux 0x82810f19 ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x82841697 rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0x828c7c8e ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0x828e22f4 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x82948b19 devm_hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x82a80545 __SCK__tp_func_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x82b64230 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x82bb7415 ip_icmp_error_rfc4884 +EXPORT_SYMBOL_GPL vmlinux 0x82bbf30b __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0x82cab4d3 extcon_get_state +EXPORT_SYMBOL_GPL vmlinux 0x82ce2f5d __traceiter_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x82d5b984 ahci_print_info +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82e3797d crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x82e8ac40 bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0x82f94689 irq_gc_ack_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x830312a4 splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0x8313dfb4 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x83272c63 devm_irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x8339df73 klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x833c67dc device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x8349a895 nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x834e337f dax_iomap_fault +EXPORT_SYMBOL_GPL vmlinux 0x8353dfff acpi_os_get_iomem +EXPORT_SYMBOL_GPL vmlinux 0x8359a026 icc_std_aggregate +EXPORT_SYMBOL_GPL vmlinux 0x8368fa5d ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x836b9bbb inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x836e4612 genphy_c45_fast_retrain +EXPORT_SYMBOL_GPL vmlinux 0x83745aaa skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x837e32ec rio_map_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x837f6371 pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0x838cc352 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x839d8a76 handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0x83a6b4fe ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x83ac3c60 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x83bc1dcb crypto_alloc_tfm_node +EXPORT_SYMBOL_GPL vmlinux 0x83c438ba pci_acpi_set_companion_lookup_hook +EXPORT_SYMBOL_GPL vmlinux 0x83d10147 kvm_read_guest +EXPORT_SYMBOL_GPL vmlinux 0x83d2bcd9 da9055_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x83dde505 ohci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x83e4587e platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0x83e53653 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x84106f36 devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x84125c39 edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x841ecca7 ima_file_check +EXPORT_SYMBOL_GPL vmlinux 0x842283db clk_hw_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x8422af90 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x8425b9c3 xas_split_alloc +EXPORT_SYMBOL_GPL vmlinux 0x84264ced fs_umode_to_ftype +EXPORT_SYMBOL_GPL vmlinux 0x842defeb tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x842f046d usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x84366344 regulator_map_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x8439616b ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x84428ee2 of_resolve_phandles +EXPORT_SYMBOL_GPL vmlinux 0x844fde7b irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x84502a47 blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x8455745c regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x84584bc6 irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x845dbf3b scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x845ffdee serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0x8462cb62 atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0x8465d7bd fsl_mc_bus_dpaiop_type +EXPORT_SYMBOL_GPL vmlinux 0x8466a6c2 devm_mipi_dsi_attach +EXPORT_SYMBOL_GPL vmlinux 0x847eee08 thermal_zone_device_enable +EXPORT_SYMBOL_GPL vmlinux 0x84a053cb tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0x84a8d0eb of_changeset_revert +EXPORT_SYMBOL_GPL vmlinux 0x84cc5fae bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0x84ce949a sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0x84d7f39b of_get_pci_domain_nr +EXPORT_SYMBOL_GPL vmlinux 0x84db83ac dax_finish_sync_fault +EXPORT_SYMBOL_GPL vmlinux 0x84e7918c vp_modern_queue_vector +EXPORT_SYMBOL_GPL vmlinux 0x84ec5e89 netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0x84ef27f5 synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x84f72614 srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0x84fbc023 xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0x8506baa8 clk_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x850bb6db devlink_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x851e6003 usb_phy_roothub_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x851eab2a gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x851fe124 __SCK__tp_func_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x852c0b8d regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x852c8361 smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x852d5819 rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x853d8999 uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL vmlinux 0x85540ebc nvmem_cell_put +EXPORT_SYMBOL_GPL vmlinux 0x85564bda crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x85575062 debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0x85592e66 regmap_get_max_register +EXPORT_SYMBOL_GPL vmlinux 0x856b262a udp_bpf_update_proto +EXPORT_SYMBOL_GPL vmlinux 0x857031d1 fixed_phy_register +EXPORT_SYMBOL_GPL vmlinux 0x857729e2 acpi_dma_configure_id +EXPORT_SYMBOL_GPL vmlinux 0x8577a1ef of_clk_src_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0x857e1ac3 __traceiter_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0x85811a43 regmap_parse_val +EXPORT_SYMBOL_GPL vmlinux 0x85862277 ioasid_find +EXPORT_SYMBOL_GPL vmlinux 0x858a2ec5 irq_gc_mask_clr_bit +EXPORT_SYMBOL_GPL vmlinux 0x858f0a8e scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x85935a61 acpi_dev_irq_flags +EXPORT_SYMBOL_GPL vmlinux 0x859bc274 crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0x85a321db synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0x85c2e0c4 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x85c54b61 efivar_validate +EXPORT_SYMBOL_GPL vmlinux 0x85d29fb9 of_irq_parse_one +EXPORT_SYMBOL_GPL vmlinux 0x85dd03a6 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x85e5178e irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0x85eed1be iopf_queue_discard_partial +EXPORT_SYMBOL_GPL vmlinux 0x85f226df usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x85f27ea9 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x86014e4d regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x860f09a4 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x861218c5 __traceiter_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x861a7a70 fscrypt_dummy_policies_equal +EXPORT_SYMBOL_GPL vmlinux 0x862258db timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x862bb17b linear_range_values_in_range_array +EXPORT_SYMBOL_GPL vmlinux 0x862c9864 phy_set_mode_ext +EXPORT_SYMBOL_GPL vmlinux 0x862d32d4 __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x863c42ab sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x863d99da crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x86585a33 devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x8663c162 receive_fd +EXPORT_SYMBOL_GPL vmlinux 0x866dcb44 device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0x86700220 acpi_get_cpuid +EXPORT_SYMBOL_GPL vmlinux 0x86739f36 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x8677245d unregister_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8680aee0 trace_remove_event_call +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86885e60 perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0x868ddcbf mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x869182e1 pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x8692beee ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x86abc743 clk_mux_val_to_index +EXPORT_SYMBOL_GPL vmlinux 0x86b13d2a usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x86b1ceb3 tegra210_set_sata_pll_seq_sw +EXPORT_SYMBOL_GPL vmlinux 0x86ba99d9 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x86c02001 ipi_send_mask +EXPORT_SYMBOL_GPL vmlinux 0x86c13946 fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x86c3a2f4 __traceiter_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x86c43a8c cper_estatus_check +EXPORT_SYMBOL_GPL vmlinux 0x86dda6ef rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f85114 net_dec_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x86ff2e6d usb_of_get_device_node +EXPORT_SYMBOL_GPL vmlinux 0x870c1f98 gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x870e16b7 xen_test_irq_shared +EXPORT_SYMBOL_GPL vmlinux 0x871feb98 mark_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x8737c025 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x8746b2ab sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x876a96a8 crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0x877c3fbd clk_gate_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x878e2070 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x878e38ec usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0x87908767 xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0x879bbee2 shake_page +EXPORT_SYMBOL_GPL vmlinux 0x87ab58d2 vp_legacy_get_features +EXPORT_SYMBOL_GPL vmlinux 0x87ac7411 __tracepoint_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x87c607c2 mtk_paris_pinctrl_probe +EXPORT_SYMBOL_GPL vmlinux 0x87d1e645 xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0x87d38bda led_set_brightness +EXPORT_SYMBOL_GPL vmlinux 0x87d5dc6a pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x880a0991 fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x8817b3f1 crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0x8820ec05 blk_mark_disk_dead +EXPORT_SYMBOL_GPL vmlinux 0x8821aac0 dev_pm_opp_put +EXPORT_SYMBOL_GPL vmlinux 0x8823ac2b wwan_register_ops +EXPORT_SYMBOL_GPL vmlinux 0x88476f9f devl_lock +EXPORT_SYMBOL_GPL vmlinux 0x8854dfb5 phy_start_machine +EXPORT_SYMBOL_GPL vmlinux 0x885528a6 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x885c6541 sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x885f4625 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x8877cb1b devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x88836573 __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x888a118c gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0x888c5be5 irq_bypass_register_consumer +EXPORT_SYMBOL_GPL vmlinux 0x888ca7a1 divider_recalc_rate +EXPORT_SYMBOL_GPL vmlinux 0x889b17fd blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0x889e7a50 pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x88a060fe addrconf_add_linklocal +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b4ae92 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x88ba89ff css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0x88bc122d rio_route_clr_table +EXPORT_SYMBOL_GPL vmlinux 0x88bc6f47 mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x88c3a1df __traceiter_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x88cc1490 cpufreq_dbs_governor_start +EXPORT_SYMBOL_GPL vmlinux 0x88cce6a0 xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0x88cd7a9a k3_ringacc_ring_get_occ +EXPORT_SYMBOL_GPL vmlinux 0x88cf5677 pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0x88d7ef75 spi_async +EXPORT_SYMBOL_GPL vmlinux 0x88da1e50 platform_set +EXPORT_SYMBOL_GPL vmlinux 0x88edbd4b pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x88f455e3 unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x890468f7 to_software_node +EXPORT_SYMBOL_GPL vmlinux 0x89050ce7 skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0x890f4f97 __kprobe_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x890fa0fa btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0x891a5a7f gnttab_max_grant_frames +EXPORT_SYMBOL_GPL vmlinux 0x89202c39 extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x892ae4ca tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0x89366f19 public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0x893abbdd devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x89485687 iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x8954dc8e __SCK__tp_func_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x895e444d scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0x8970a989 iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0x89802b67 msi_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x8982a005 pm_clk_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x8991a8c3 dev_pm_opp_put_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x8996a627 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x899b0eef sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x89a306ed pinctrl_generic_get_group_count +EXPORT_SYMBOL_GPL vmlinux 0x89a4476d HYPERVISOR_multicall +EXPORT_SYMBOL_GPL vmlinux 0x89aae126 of_property_read_variable_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x89ae7aa0 rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x89b51f5e ethnl_cable_test_fault_length +EXPORT_SYMBOL_GPL vmlinux 0x89bbafc6 usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x89bec8b0 gfn_to_pfn_memslot_atomic +EXPORT_SYMBOL_GPL vmlinux 0x89c429e4 __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x89e340cf acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x89e3de86 l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8a0be09c crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0x8a24d8b3 tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x8a30ab02 list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0x8a363a31 __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0x8a39740e crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x8a3ae951 __traceiter_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x8a3f84ba linear_range_get_selector_low +EXPORT_SYMBOL_GPL vmlinux 0x8a45a555 acpi_unregister_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0x8a521ee9 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x8a554a36 mpc8xxx_spi_strmode +EXPORT_SYMBOL_GPL vmlinux 0x8a56868b devm_regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8a62b81b sfp_upstream_stop +EXPORT_SYMBOL_GPL vmlinux 0x8a83fb45 mpi_point_free_parts +EXPORT_SYMBOL_GPL vmlinux 0x8a8622d7 regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x8aaa4ab6 kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0x8ab27e72 pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ac250b0 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x8ac7efbf devm_of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0x8acd4ea9 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8ad6d1ea __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x8adf05d1 mtk_pinconf_drive_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x8af32cce rio_get_comptag +EXPORT_SYMBOL_GPL vmlinux 0x8afd4ca9 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x8b038bfc bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0x8b051a4d xenbus_dev_cancel +EXPORT_SYMBOL_GPL vmlinux 0x8b149c36 clk_is_match +EXPORT_SYMBOL_GPL vmlinux 0x8b1f05f3 crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x8b293861 cros_ec_get_sensor_count +EXPORT_SYMBOL_GPL vmlinux 0x8b35a569 edac_pci_handle_pe +EXPORT_SYMBOL_GPL vmlinux 0x8b36e055 pm_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x8b3947df __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x8b498d5a dev_pm_qos_expose_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x8b49a14c blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x8b4dd7d4 ahci_platform_enable_clks +EXPORT_SYMBOL_GPL vmlinux 0x8b55a6a2 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x8b575232 clk_hw_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x8b650752 mtk_mutex_release +EXPORT_SYMBOL_GPL vmlinux 0x8b68ef28 ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x8b6a5a7c iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0x8b73e8b9 xdp_return_buff +EXPORT_SYMBOL_GPL vmlinux 0x8b7a698b __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x8b85050d pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0x8b89f01c hv_ghcb_hypercall +EXPORT_SYMBOL_GPL vmlinux 0x8ba0eb15 hv_set_vpreg +EXPORT_SYMBOL_GPL vmlinux 0x8ba25edb dev_pm_opp_init_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x8ba506f2 wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0x8ba5afe9 HYPERVISOR_memory_op +EXPORT_SYMBOL_GPL vmlinux 0x8ba63ea7 mtk_pinconf_bias_set_combo +EXPORT_SYMBOL_GPL vmlinux 0x8bbaeefc dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0x8bc3e1b5 devm_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0x8bd037e7 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x8be23f1f virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0x8be85ec1 fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0x8bec5c68 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x8bf2f3a1 irq_get_default_host +EXPORT_SYMBOL_GPL vmlinux 0x8bf5f379 k3_udma_glue_release_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x8c012b6c cpufreq_dbs_governor_limits +EXPORT_SYMBOL_GPL vmlinux 0x8c0215f2 pm_system_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c047a33 devlink_port_region_create +EXPORT_SYMBOL_GPL vmlinux 0x8c0afec3 cpufreq_generic_attr +EXPORT_SYMBOL_GPL vmlinux 0x8c0ed103 rcu_check_boost_fail +EXPORT_SYMBOL_GPL vmlinux 0x8c11fc79 mmc_cmdq_disable +EXPORT_SYMBOL_GPL vmlinux 0x8c1727ec vp_modern_get_num_queues +EXPORT_SYMBOL_GPL vmlinux 0x8c24b0d4 cpufreq_cpu_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x8c389f73 xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0x8c3b4906 mptcp_subflow_init_cookie_req +EXPORT_SYMBOL_GPL vmlinux 0x8c484409 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x8c66ddbb sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0x8c7134b3 icc_enable +EXPORT_SYMBOL_GPL vmlinux 0x8c743fb6 reset_control_status +EXPORT_SYMBOL_GPL vmlinux 0x8c796a8c mtk_clk_unregister_plls +EXPORT_SYMBOL_GPL vmlinux 0x8c7f6cdc acpi_get_and_request_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x8c82e9e2 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x8c89e3b8 usb_phy_roothub_power_off +EXPORT_SYMBOL_GPL vmlinux 0x8c8ca3dc acpi_driver_match_device +EXPORT_SYMBOL_GPL vmlinux 0x8c8d4ecb virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0x8c96f69b sdio_retune_hold_now +EXPORT_SYMBOL_GPL vmlinux 0x8c98d248 unregister_vmcore_cb +EXPORT_SYMBOL_GPL vmlinux 0x8cb5a38e k3_udma_glue_rx_flow_disable +EXPORT_SYMBOL_GPL vmlinux 0x8cbfe71f __traceiter_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x8cc416c7 regmap_field_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x8cc5ff3a crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x8cc80a4f ahci_platform_ops +EXPORT_SYMBOL_GPL vmlinux 0x8cd2b679 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x8cd36bdb of_irq_find_parent +EXPORT_SYMBOL_GPL vmlinux 0x8ce2d446 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x8d0abf3a __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x8d0df6ad clk_hw_rate_is_protected +EXPORT_SYMBOL_GPL vmlinux 0x8d14c392 pcie_reset_flr +EXPORT_SYMBOL_GPL vmlinux 0x8d22bb58 iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d3330b6 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x8d442e8b dev_pm_set_dedicated_wake_irq_reverse +EXPORT_SYMBOL_GPL vmlinux 0x8d457ef1 tegra210_clk_emc_attach +EXPORT_SYMBOL_GPL vmlinux 0x8d522714 __rcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x8d76944e perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x8d7e3373 hwpoison_filter_dev_major +EXPORT_SYMBOL_GPL vmlinux 0x8d7f09c2 devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0x8d856e4f skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0x8d88a592 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x8d908ebf power_supply_get_maintenance_charging_setting +EXPORT_SYMBOL_GPL vmlinux 0x8d9539d4 tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0x8dafdded lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0x8dbf7aaa privcmd_call +EXPORT_SYMBOL_GPL vmlinux 0x8dc0457b pci_hp_add +EXPORT_SYMBOL_GPL vmlinux 0x8dc72968 __traceiter_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x8dcaa377 dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x8dcc4fcd usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x8dd218b0 icc_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x8ddca404 wwan_port_rx +EXPORT_SYMBOL_GPL vmlinux 0x8de5c300 dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x8de6817a acpi_dev_resource_address_space +EXPORT_SYMBOL_GPL vmlinux 0x8de7251d pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0x8de74a80 usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x8df29f54 crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0x8df7794c __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x8dfad19f bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0x8e035abf __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x8e038025 wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x8e06c556 thp_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x8e16419b trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x8e1b6252 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8e2313a2 tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x8e44823a sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x8e492fe5 mbox_client_txdone +EXPORT_SYMBOL_GPL vmlinux 0x8e4b63a6 hisi_clk_register_gate_sep +EXPORT_SYMBOL_GPL vmlinux 0x8e4eb451 bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x8e4f64b7 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x8e5ae2fe regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x8e60b6b9 ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x8e636483 usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x8e6b1a9e net_selftest_get_count +EXPORT_SYMBOL_GPL vmlinux 0x8e6fa8b5 apei_exec_pre_map_gars +EXPORT_SYMBOL_GPL vmlinux 0x8e7f0a9c acpi_get_phys_id +EXPORT_SYMBOL_GPL vmlinux 0x8e8d507d pinconf_generic_dump_config +EXPORT_SYMBOL_GPL vmlinux 0x8e92f7c4 static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x8e99f2cb ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8eacc25a tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x8ead800c user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0x8eea5938 xhci_update_hub_device +EXPORT_SYMBOL_GPL vmlinux 0x8eec19bd __SCK__tp_func_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x8eec7273 cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x8eee3399 dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8ef459e5 subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0x8efbe115 scmi_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8f0748af rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x8f08847d serial8250_get_port +EXPORT_SYMBOL_GPL vmlinux 0x8f0b781d iova_domain_init_rcaches +EXPORT_SYMBOL_GPL vmlinux 0x8f0eb6a7 kvm_release_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x8f33c92f dev_pm_opp_of_cpumask_add_table +EXPORT_SYMBOL_GPL vmlinux 0x8f3969e1 zynqmp_pm_clock_getrate +EXPORT_SYMBOL_GPL vmlinux 0x8f4658a2 devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0x8f4ba4ff ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0x8f5aad8d sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x8f691db4 bind_interdomain_evtchn_to_irqhandler_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f6d3731 da9052_request_irq +EXPORT_SYMBOL_GPL vmlinux 0x8f77237e raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x8f786bee fs_umode_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x8f7bd0a6 btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0x8f96a974 extcon_unregister_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x8faa800d acpi_cpc_valid +EXPORT_SYMBOL_GPL vmlinux 0x8fb101eb da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8fb18e76 dev_coredumpm +EXPORT_SYMBOL_GPL vmlinux 0x8fb46fab synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0x8fb4bf32 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x8fb65c56 ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0x8fb8f7dd blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x8fbd3597 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x8fc10cfa fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0x8fc12788 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x8fc59ed8 clk_hw_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x8fd2f0b9 request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0x8fdf3556 lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x8ff2bc5e device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0x8ff36ce0 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x8ff4a682 dev_fetch_sw_netstats +EXPORT_SYMBOL_GPL vmlinux 0x8ff559fd xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0x8ff60436 mpi_ec_add_points +EXPORT_SYMBOL_GPL vmlinux 0x8ff6bf15 acpi_subsys_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x8ff7ea2f devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0x8ffe792f tracepoint_probe_register_prio_may_exist +EXPORT_SYMBOL_GPL vmlinux 0x90089b23 gnttab_unmap_refs_sync +EXPORT_SYMBOL_GPL vmlinux 0x9011bc30 __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x902b2460 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x90320ea6 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x903b627c list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x90573051 regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0x90688bcd devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x907ca5fe pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x907d8497 virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0x90968400 handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0x90a43b0d nvdimm_has_cache +EXPORT_SYMBOL_GPL vmlinux 0x90a9d8cc hv_is_hyperv_initialized +EXPORT_SYMBOL_GPL vmlinux 0x90aadf51 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x90abfc27 kvm_write_guest_offset_cached +EXPORT_SYMBOL_GPL vmlinux 0x90acc177 gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x90ad66b1 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0x90affd7a mptcp_pm_get_subflows_max +EXPORT_SYMBOL_GPL vmlinux 0x90b0d56a of_usb_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x90b33444 of_icc_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x90b52511 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x90b763f1 HYPERVISOR_console_io +EXPORT_SYMBOL_GPL vmlinux 0x90c0d88f __reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x90c8498c apei_exec_write_register +EXPORT_SYMBOL_GPL vmlinux 0x90c91d3d dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x90d88789 __traceiter_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x90d937b4 __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x90e0aaa8 of_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0x90e6ff1d of_pci_dma_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0x90f952ce ahci_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0x910036ec switchdev_bridge_port_offload +EXPORT_SYMBOL_GPL vmlinux 0x91072577 crypto_comp_compress +EXPORT_SYMBOL_GPL vmlinux 0x910bdf6b trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x910c7689 pci_host_common_probe +EXPORT_SYMBOL_GPL vmlinux 0x9125cff4 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x912d9bdb __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x913ebd32 stack_depot_save +EXPORT_SYMBOL_GPL vmlinux 0x9151061f vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x91574540 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x915fa512 dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x916c814a pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x916cc5ed thermal_zone_get_slope +EXPORT_SYMBOL_GPL vmlinux 0x91716d8f ahci_platform_disable_clks +EXPORT_SYMBOL_GPL vmlinux 0x9176b5af ahci_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x9185b7f8 phy_pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x91866a39 class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x918fa29d acpi_storage_d3 +EXPORT_SYMBOL_GPL vmlinux 0x9194e18f xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x91955a9f start_poll_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x919a6abb synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x91a9dc85 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x91b45826 regmap_noinc_read +EXPORT_SYMBOL_GPL vmlinux 0x91b774a1 mpi_scanval +EXPORT_SYMBOL_GPL vmlinux 0x91ba1a5a power_supply_external_power_changed +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91c9313c acpi_gpio_get_io_resource +EXPORT_SYMBOL_GPL vmlinux 0x91e30809 HYPERVISOR_vm_assist +EXPORT_SYMBOL_GPL vmlinux 0x91ea8726 asn1_encode_boolean +EXPORT_SYMBOL_GPL vmlinux 0x91fc39aa dev_pm_opp_remove +EXPORT_SYMBOL_GPL vmlinux 0x91fd9c4d cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x920a37d8 vp_legacy_get_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x920cc389 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x920e8820 ata_port_classify +EXPORT_SYMBOL_GPL vmlinux 0x92304850 of_pm_clk_add_clks +EXPORT_SYMBOL_GPL vmlinux 0x923e42aa sysfb_disable +EXPORT_SYMBOL_GPL vmlinux 0x9241b1a1 rockchip_clk_register_branches +EXPORT_SYMBOL_GPL vmlinux 0x9241b358 __static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x924988de kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0x924c46f8 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x924f49b2 devm_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0x92513e47 xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0x9254807c kvm_vcpu_write_guest +EXPORT_SYMBOL_GPL vmlinux 0x927487ea zynqmp_pm_read_ggs +EXPORT_SYMBOL_GPL vmlinux 0x927bdb6e bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0x9280572a devfreq_get_devfreq_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x92853349 uart_xchar_out +EXPORT_SYMBOL_GPL vmlinux 0x928a19f1 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x928a331e devm_mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x928ebcd4 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x92b1cbad bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x92b8c78b hyperv_pcpu_output_arg +EXPORT_SYMBOL_GPL vmlinux 0x92bc6313 gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x92bdb9e0 irq_gc_unmask_enable_reg +EXPORT_SYMBOL_GPL vmlinux 0x92c18752 rio_del_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d827f5 pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x92db8f68 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x92df1f50 bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0x92e45b16 debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0x92e8e9ab fsverity_enqueue_verify_work +EXPORT_SYMBOL_GPL vmlinux 0x92ef9dea devm_of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x92f348fb fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x930013eb dev_pm_opp_find_bw_ceil +EXPORT_SYMBOL_GPL vmlinux 0x930ab533 k3_ringacc_request_ring +EXPORT_SYMBOL_GPL vmlinux 0x931079dc dev_pm_opp_put_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x9320d349 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x93255b2b ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x932c8d7a linear_range_get_value_array +EXPORT_SYMBOL_GPL vmlinux 0x93303af1 irq_chip_release_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x933f75e0 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x93657caa crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x9366d881 compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0x93684bfe tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x937f7ac6 gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x9382301a ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x938cb989 sock_map_unhash +EXPORT_SYMBOL_GPL vmlinux 0x93a93b91 ahci_stop_engine +EXPORT_SYMBOL_GPL vmlinux 0x93bdf461 nvdimm_name +EXPORT_SYMBOL_GPL vmlinux 0x93c7edeb usb_find_common_endpoints +EXPORT_SYMBOL_GPL vmlinux 0x93cd74bf devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0x93d1d424 gnttab_free_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x93d5d3a9 genpd_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0x93e346cc do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x93edef07 devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x93fe4e4f l3mdev_table_lookup_unregister +EXPORT_SYMBOL_GPL vmlinux 0x94082076 acpi_match_device +EXPORT_SYMBOL_GPL vmlinux 0x94152f73 rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x941c5777 netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x9420cdd6 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x9425bb34 nvmem_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x9430b198 trace_dump_stack +EXPORT_SYMBOL_GPL vmlinux 0x94345bc3 __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0x9436e405 memory_group_register_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x943fc708 xen_setup_shutdown_event +EXPORT_SYMBOL_GPL vmlinux 0x9458416b dev_err_probe +EXPORT_SYMBOL_GPL vmlinux 0x945fb076 md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x9468ea70 schedule_hrtimeout_range_clock +EXPORT_SYMBOL_GPL vmlinux 0x946bc6da bpf_trace_run5 +EXPORT_SYMBOL_GPL vmlinux 0x946c0028 devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0x946dd559 sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x94872737 trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0x9488a325 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x948f3df2 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x949b5176 devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x94bf8648 sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0x94e453b2 fsl_mc_bus_dpdcei_type +EXPORT_SYMBOL_GPL vmlinux 0x94e62d2e __set_phys_to_machine_multi +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x94f0136c irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0x94f93f19 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0x9504df26 irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x950cc923 rockchip_pcie_parse_dt +EXPORT_SYMBOL_GPL vmlinux 0x951235cc crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x9515c78e inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x951a2773 crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x951c2c30 device_del +EXPORT_SYMBOL_GPL vmlinux 0x9524b69d ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x9537faee spi_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x953e1b9e ktime_get_real_seconds +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x955e5356 tegra_xusb_padctl_legacy_probe +EXPORT_SYMBOL_GPL vmlinux 0x955fc3c9 tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0x95630a7e badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0x956ac400 ring_buffer_dropped_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x956b123d pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0x957857ad virtio_require_restricted_mem_acc +EXPORT_SYMBOL_GPL vmlinux 0x95807a0d devm_clk_get_optional_enabled +EXPORT_SYMBOL_GPL vmlinux 0x95843030 mpi_ec_init +EXPORT_SYMBOL_GPL vmlinux 0x95844565 nvdimm_pmem_region_create +EXPORT_SYMBOL_GPL vmlinux 0x958df3ac zs_free +EXPORT_SYMBOL_GPL vmlinux 0x9590725a skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x9590728b class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x9593ef31 register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x959adab9 serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0x959ec5f5 call_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x95a0c3b9 pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0x95a6725f of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x95b10332 phy_set_speed +EXPORT_SYMBOL_GPL vmlinux 0x95bbfa13 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x95bc8ae7 fwnode_connection_find_matches +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95be8fe6 spi_controller_suspend +EXPORT_SYMBOL_GPL vmlinux 0x95c2a4c1 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x95cd53ae devm_kasprintf_strarray +EXPORT_SYMBOL_GPL vmlinux 0x95dac912 ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0x95e102ab tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x95ef1ccc dmi_memdev_size +EXPORT_SYMBOL_GPL vmlinux 0x95f34795 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x95fa959a firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0x96128288 of_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x961286e0 ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x96133850 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0x96163e51 dpbp_get_attributes +EXPORT_SYMBOL_GPL vmlinux 0x9619a6f7 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x96203949 msg_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0x9621d738 alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0x962c8ae1 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x9653e267 dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x96554810 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x966957dd nvmem_cell_read_u8 +EXPORT_SYMBOL_GPL vmlinux 0x966a3466 pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0x96737c87 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x968a53e1 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x968c89ae proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0x968f9a23 efivar_entry_iter_begin +EXPORT_SYMBOL_GPL vmlinux 0x96a0a027 acpi_device_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x96a3dca4 mbox_flush +EXPORT_SYMBOL_GPL vmlinux 0x96a55fda list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0x96a577d4 kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0x96a5e3be io_uring_cmd_complete_in_task +EXPORT_SYMBOL_GPL vmlinux 0x96a9999c ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0x96aa1a2f fscrypt_add_test_dummy_key +EXPORT_SYMBOL_GPL vmlinux 0x96af459e syscon_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x96bf132f __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x96dca9a9 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x96de36b2 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x96e0955f register_btf_kfunc_id_set +EXPORT_SYMBOL_GPL vmlinux 0x96e1bbd4 free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0x96e52472 cpufreq_dbs_governor_exit +EXPORT_SYMBOL_GPL vmlinux 0x96f9a01b __SCK__tp_func_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x9702bd67 iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x9707ef37 ahci_ops +EXPORT_SYMBOL_GPL vmlinux 0x970c4f1f da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x970e721d usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x9714e0bb ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x9715ab75 create_signature +EXPORT_SYMBOL_GPL vmlinux 0x9716c30e fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x9719bb3c sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x9732ac0e amba_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9732adcc md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0x9737621c crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x973958f5 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x97395c98 metadata_dst_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x974bab1f rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x975519c1 asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x975d4738 pm_genpd_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x976410b6 acpi_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x97648148 xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0x976b436f pm_clk_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x976b5d8e arm64_mm_context_put +EXPORT_SYMBOL_GPL vmlinux 0x9776bd61 dev_pm_opp_of_find_icc_paths +EXPORT_SYMBOL_GPL vmlinux 0x977be5c7 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x977db5e5 __reset_control_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x97a7cd7a fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x97b1ad1f pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0x97b691ff switchdev_handle_fdb_event_to_device +EXPORT_SYMBOL_GPL vmlinux 0x97c0a288 of_dma_router_register +EXPORT_SYMBOL_GPL vmlinux 0x97c1b9b3 irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0x97c2e524 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x97c4281d mtk_clk_gate_ops_setclr +EXPORT_SYMBOL_GPL vmlinux 0x97d8c505 samsung_sdi_battery_get_info +EXPORT_SYMBOL_GPL vmlinux 0x97de2b83 debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x97ed8750 trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0x97f645f7 pwm_request_from_chip +EXPORT_SYMBOL_GPL vmlinux 0x97f81d14 pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0x98143788 pci_epf_remove_vepf +EXPORT_SYMBOL_GPL vmlinux 0x981a7115 regulator_is_equal +EXPORT_SYMBOL_GPL vmlinux 0x9826acda irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x982cf5fa crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0x9833ad57 register_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x9843f501 __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0x984b5add usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x985453e1 lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9857770a dax_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0x9857caa3 __usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x98596f67 gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0x9865b10f gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0x986b6a09 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x98759da8 dpcon_set_notification +EXPORT_SYMBOL_GPL vmlinux 0x9879932b crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x987b6967 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x988b5016 devm_tegra_memory_controller_get +EXPORT_SYMBOL_GPL vmlinux 0x989074ff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x98a80be2 __ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x98b142fa blk_fill_rwbs +EXPORT_SYMBOL_GPL vmlinux 0x98c3947a device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x98c59274 __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x98d26032 msg_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0x98d66950 tty_port_register_device_serdev +EXPORT_SYMBOL_GPL vmlinux 0x98ee62b2 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x98f2b787 acpi_subsys_prepare +EXPORT_SYMBOL_GPL vmlinux 0x98fa1e20 dm_get_reserved_rq_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x991fa040 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x992927a9 iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0x994e71ae dev_pm_opp_set_opp +EXPORT_SYMBOL_GPL vmlinux 0x9955371a usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x9968aacb __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x997604f2 gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0x997c550a preempt_model_none +EXPORT_SYMBOL_GPL vmlinux 0x997d2da2 dev_pm_set_dedicated_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x998d79d6 x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0x9997883c perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0x99a72090 i2c_acpi_new_device_by_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x99dd730c page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0x99efafeb pci_ecam_free +EXPORT_SYMBOL_GPL vmlinux 0x99f018c4 nvmem_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x99f2d00a sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x99f4a126 crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0x99fc8ce7 ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x99ff50a6 driver_register +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a23ea6b alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0x9a30576a ehci_setup +EXPORT_SYMBOL_GPL vmlinux 0x9a3586db spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x9a4427bb simple_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0x9a44abad uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x9a4cb5b4 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x9a58dd2d trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0x9a5c1d2d phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x9a5dce5c rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0x9a5f031e of_reserved_mem_device_init_by_idx +EXPORT_SYMBOL_GPL vmlinux 0x9a60c646 gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0x9a6bf241 pci_bridge_emul_conf_write +EXPORT_SYMBOL_GPL vmlinux 0x9a6f023b dev_pm_genpd_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9a735d39 of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9a751191 hisi_clk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9a7f1f4d regmap_attach_dev +EXPORT_SYMBOL_GPL vmlinux 0x9a83274e ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x9a9bd88d mtk_mux_clr_set_upd_ops +EXPORT_SYMBOL_GPL vmlinux 0x9aa72206 __irq_resolve_mapping +EXPORT_SYMBOL_GPL vmlinux 0x9aacf4e0 pci_user_read_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9add7100 dma_resv_get_singleton +EXPORT_SYMBOL_GPL vmlinux 0x9ade767e da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x9ae12e17 __tracepoint_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9af35c87 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x9af49514 icc_bulk_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x9b0eaa52 tegra210_xusb_pll_hw_sequence_start +EXPORT_SYMBOL_GPL vmlinux 0x9b19eae9 fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0x9b26af7c usb_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x9b4337d8 net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0x9b437b76 blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0x9b4ffd89 skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x9b555c8c pm_suspend_default_s2idle +EXPORT_SYMBOL_GPL vmlinux 0x9b651e51 xenbus_teardown_ring +EXPORT_SYMBOL_GPL vmlinux 0x9b698c42 ioasid_set_data +EXPORT_SYMBOL_GPL vmlinux 0x9b6a9b82 serial8250_em485_config +EXPORT_SYMBOL_GPL vmlinux 0x9b6e625c gpiochip_add_pingroup_range +EXPORT_SYMBOL_GPL vmlinux 0x9b6ec967 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x9b70c6ff tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0x9b7dcd85 meson_clk_pll_ops +EXPORT_SYMBOL_GPL vmlinux 0x9b836c6d ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x9b873c0f fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0x9b9071cb get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x9b92d16e pinctrl_gpio_set_config +EXPORT_SYMBOL_GPL vmlinux 0x9b94d6d1 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x9ba2bb2b gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x9bb02e96 tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0x9bc292c5 pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x9bc7dfbe gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0x9bc9cdb0 pm_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0x9bcafb68 i2c_of_match_device +EXPORT_SYMBOL_GPL vmlinux 0x9bcd350c kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x9bcdae87 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x9bd63244 mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0x9bd63ab7 iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0x9be30d27 mhp_get_pluggable_range +EXPORT_SYMBOL_GPL vmlinux 0x9be33ebd relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x9bece81b mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x9bfb5a4e regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x9c0622e7 pinctrl_utils_add_map_configs +EXPORT_SYMBOL_GPL vmlinux 0x9c149893 ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x9c2affc1 usb_enable_intel_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x9c311926 sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0x9c31f3c6 gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0x9c347728 crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0x9c3a807b iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0x9c43a7c5 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9c448d8d tegra210_put_utmipll_out_iddq +EXPORT_SYMBOL_GPL vmlinux 0x9c49363a int_active_memcg +EXPORT_SYMBOL_GPL vmlinux 0x9c596607 fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0x9c5c1811 phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x9c6febfc add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x9c77748a sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x9c803020 usb_phy_roothub_power_on +EXPORT_SYMBOL_GPL vmlinux 0x9c98e914 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x9caa6cea wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0x9cb16339 acpi_bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x9cb5af34 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x9cb9f3cb devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x9cbca634 devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x9cc2b604 kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0x9cc4f70a register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9cd7551a rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0x9cdd6a66 sysctl_long_vals +EXPORT_SYMBOL_GPL vmlinux 0x9cde3175 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9cea91e2 vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0x9ceb6181 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x9cf37c44 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x9cf43ce2 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x9cf5e39b pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x9d0455a4 __of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x9d04db33 folio_wait_writeback_killable +EXPORT_SYMBOL_GPL vmlinux 0x9d09e8ae ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9d146418 mpc8xxx_spi_tx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x9d1773fa acpi_subsys_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x9d18c65f clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x9d2f49ef __SCK__tp_func_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x9d3bbbd8 qcom_smem_state_get +EXPORT_SYMBOL_GPL vmlinux 0x9d49de1c dw_pcie_ep_raise_msi_irq +EXPORT_SYMBOL_GPL vmlinux 0x9d5b38fc led_init_core +EXPORT_SYMBOL_GPL vmlinux 0x9d5b5bb0 of_clk_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0x9d8bb00e set_dax_nocache +EXPORT_SYMBOL_GPL vmlinux 0x9d8d63a6 ehci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9d9910a1 atomic_notifier_chain_register_unique_prio +EXPORT_SYMBOL_GPL vmlinux 0x9d9e686d component_compare_dev +EXPORT_SYMBOL_GPL vmlinux 0x9da86868 clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x9dab4c94 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x9dae2f3b bpf_trace_run9 +EXPORT_SYMBOL_GPL vmlinux 0x9db3812a __traceiter_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x9db798d7 dma_mmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x9de31b2a phy_gbit_fibre_features +EXPORT_SYMBOL_GPL vmlinux 0x9de5676b of_cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x9de88bc8 __SCK__tp_func_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x9df4be77 __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x9e005e6f cppc_get_perf_caps +EXPORT_SYMBOL_GPL vmlinux 0x9e1265a6 bind_interdomain_evtchn_to_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x9e167452 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x9e197753 mtk_pinconf_adv_drive_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x9e2d01ae devfreq_event_set_event +EXPORT_SYMBOL_GPL vmlinux 0x9e2fc797 dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9e38c2fd sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x9e3a54f7 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x9e472f5f snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x9e4dd02f iommu_sva_alloc_pasid +EXPORT_SYMBOL_GPL vmlinux 0x9e50daa0 tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0x9e55bf3c pm_wakeup_ws_event +EXPORT_SYMBOL_GPL vmlinux 0x9e739d1d da9052_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x9e84155b nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x9e8537de of_usb_update_otg_caps +EXPORT_SYMBOL_GPL vmlinux 0x9e9b12a3 lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0x9e9b913d __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x9e9c4f24 set_dax_nomc +EXPORT_SYMBOL_GPL vmlinux 0x9e9e407e led_set_brightness_nopm +EXPORT_SYMBOL_GPL vmlinux 0x9ea5417d noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x9eb6e582 of_dma_xlate_by_chan_id +EXPORT_SYMBOL_GPL vmlinux 0x9ed554b3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ee763d1 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9eebdde7 mpi_point_new +EXPORT_SYMBOL_GPL vmlinux 0x9ef89ac0 acpi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x9f01c814 mptcp_token_get_sock +EXPORT_SYMBOL_GPL vmlinux 0x9f025720 devm_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x9f14e36c ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x9f23508c blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x9f2a960d iopf_queue_flush_dev +EXPORT_SYMBOL_GPL vmlinux 0x9f2e56ea gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x9f364bb4 __traceiter_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x9f3b5719 scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x9f3ca38d gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x9f4c4aa0 spi_delay_to_ns +EXPORT_SYMBOL_GPL vmlinux 0x9f511029 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x9f517986 HYPERVISOR_hvm_op +EXPORT_SYMBOL_GPL vmlinux 0x9f56c4b9 __SCK__tp_func_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x9f594cc1 iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0x9f5a1e7b device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x9f5c6dc2 __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0x9f615d5b clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x9f6324bb devm_regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x9f6aba9a rio_mport_get_feature +EXPORT_SYMBOL_GPL vmlinux 0x9f7a5ef4 vp_modern_generation +EXPORT_SYMBOL_GPL vmlinux 0x9f7ed376 md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x9f7fbd9c skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0x9f80f4b7 fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0x9f8703ac irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x9f9c7781 phy_basic_t1_features +EXPORT_SYMBOL_GPL vmlinux 0x9fb1a90d of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x9fb56d79 dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0x9fbfebab erst_write +EXPORT_SYMBOL_GPL vmlinux 0x9fc72d5f of_reserved_mem_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9fca8b06 nvdimm_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fd8a742 acpi_get_first_physical_node +EXPORT_SYMBOL_GPL vmlinux 0x9fe131f1 xen_store_interface +EXPORT_SYMBOL_GPL vmlinux 0x9fe6a630 vp_modern_get_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x9fe7108e ata_qc_get_active +EXPORT_SYMBOL_GPL vmlinux 0x9fe899b7 get_cpu_idle_time +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9fec33cc free_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x9feed71c bpf_trace_run1 +EXPORT_SYMBOL_GPL vmlinux 0x9fefc3e6 __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0x9ffec671 kvm_vcpu_read_guest +EXPORT_SYMBOL_GPL vmlinux 0xa011ceec of_clk_src_simple_get +EXPORT_SYMBOL_GPL vmlinux 0xa015a8b0 dma_vunmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0xa01a8d9b nd_cmd_bus_desc +EXPORT_SYMBOL_GPL vmlinux 0xa01db28c efivar_entry_set +EXPORT_SYMBOL_GPL vmlinux 0xa0214e6e inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0xa025f2d5 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0xa040bad9 clk_fixed_factor_ops +EXPORT_SYMBOL_GPL vmlinux 0xa042112e spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xa0455b2d led_blink_set +EXPORT_SYMBOL_GPL vmlinux 0xa04adb61 dprc_get_obj_region +EXPORT_SYMBOL_GPL vmlinux 0xa04f945a cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xa05219aa devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0xa058abdf crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0xa062a0ae regmap_test_bits +EXPORT_SYMBOL_GPL vmlinux 0xa071701b sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xa071c0cd tegra210_xusb_pll_hw_control_enable +EXPORT_SYMBOL_GPL vmlinux 0xa07b6af7 mtk_pinconf_bias_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xa0808307 dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0xa080c5e5 smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0xa0920053 genphy_c45_read_lpa +EXPORT_SYMBOL_GPL vmlinux 0xa0aad331 skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xa0d3456d nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0xa0e99721 ohci_setup +EXPORT_SYMBOL_GPL vmlinux 0xa0f5e153 __spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa0f86be1 xen_xenbus_fops +EXPORT_SYMBOL_GPL vmlinux 0xa0f90cfd platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xa0fc5f5e kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0xa0fc9d43 crypto_boot_test_finished +EXPORT_SYMBOL_GPL vmlinux 0xa0fef7d9 fwnode_usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0xa100806c skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0xa11216be xen_store_domain_type +EXPORT_SYMBOL_GPL vmlinux 0xa11a2c86 ahci_platform_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0xa13063be ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa14fd5eb crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0xa156a1f2 erst_get_record_id_end +EXPORT_SYMBOL_GPL vmlinux 0xa15d7614 hwpoison_filter +EXPORT_SYMBOL_GPL vmlinux 0xa16373f4 devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa16ceb80 usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0xa1745648 ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0xa18b485c devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0xa18b7ec1 pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0xa18f796f imx_check_clk_hws +EXPORT_SYMBOL_GPL vmlinux 0xa1935971 component_master_del +EXPORT_SYMBOL_GPL vmlinux 0xa1966f97 kvm_vcpu_map +EXPORT_SYMBOL_GPL vmlinux 0xa1aadec4 nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0xa1b2a0aa pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0xa1c4231f kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL vmlinux 0xa1c46eb2 debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xa1d8004a videomode_from_timing +EXPORT_SYMBOL_GPL vmlinux 0xa1e2ca13 dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0xa1e82373 meson_axg_pmx_ops +EXPORT_SYMBOL_GPL vmlinux 0xa1fd97c2 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0xa20334f0 vp_legacy_probe +EXPORT_SYMBOL_GPL vmlinux 0xa205093a ahci_kick_engine +EXPORT_SYMBOL_GPL vmlinux 0xa205f608 fscrypt_parse_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xa20d01ba __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xa212637f spi_sync +EXPORT_SYMBOL_GPL vmlinux 0xa21f2ce7 clk_mux_index_to_val +EXPORT_SYMBOL_GPL vmlinux 0xa22ad060 switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0xa2370b87 skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0xa24747ed cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0xa2500ef6 __SCK__tp_func_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xa2556159 dev_pm_opp_get_power +EXPORT_SYMBOL_GPL vmlinux 0xa261a072 usb_hcd_start_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xa26d9b4f workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xa271523a bgmac_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa2736101 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0xa2749d0b aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa276914c fs_dax_get_by_bdev +EXPORT_SYMBOL_GPL vmlinux 0xa28dab13 mbox_send_message +EXPORT_SYMBOL_GPL vmlinux 0xa28f40bd __irq_apply_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0xa2901769 regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0xa297863c dev_pm_opp_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xa29b628a sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0xa29caa66 fsl_mc_portal_reset +EXPORT_SYMBOL_GPL vmlinux 0xa2aab67e genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xa2ac1170 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0xa2af54b3 irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xa2b0820d __SCK__tp_func_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0xa2b381d7 bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0xa2b99209 alarm_start +EXPORT_SYMBOL_GPL vmlinux 0xa2e1b3ef trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0xa2f7487f hv_is_hibernation_supported +EXPORT_SYMBOL_GPL vmlinux 0xa2f9fce1 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0xa2fc2384 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xa32c38fb input_class +EXPORT_SYMBOL_GPL vmlinux 0xa33d69c7 serial8250_do_set_mctrl +EXPORT_SYMBOL_GPL vmlinux 0xa33fd46f hv_map_memory +EXPORT_SYMBOL_GPL vmlinux 0xa346bdef irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0xa3499d80 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0xa36c8c15 device_rename +EXPORT_SYMBOL_GPL vmlinux 0xa36f50fb is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xa3727d54 gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa38a9f71 get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xa38c1436 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3b1bd36 tps65912_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xa3b68d04 __traceiter_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0xa3b73af3 ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0xa3b958ce reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0xa3c73d05 ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xa3cb51d6 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0xa3d5ea0a __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0xa3dcb681 zynqmp_pm_fpga_load +EXPORT_SYMBOL_GPL vmlinux 0xa3ece414 freezer_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xa3f12f69 __crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0xa3f53c9a pinctrl_count_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0xa4031b7f sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0xa410a295 devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa4137893 dev_pm_opp_get_suspend_opp_freq +EXPORT_SYMBOL_GPL vmlinux 0xa42c21e2 devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0xa44a1307 interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xa452c462 __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0xa452f2a4 xen_pirq_from_irq +EXPORT_SYMBOL_GPL vmlinux 0xa45c7b90 stack_trace_print +EXPORT_SYMBOL_GPL vmlinux 0xa45d44fc zynqmp_pm_get_pll_frac_data +EXPORT_SYMBOL_GPL vmlinux 0xa46a712e devm_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0xa47b0d2a virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa48a676c acpi_processor_get_performance_info +EXPORT_SYMBOL_GPL vmlinux 0xa48ee962 extcon_set_state_sync +EXPORT_SYMBOL_GPL vmlinux 0xa49f7616 tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0xa4ab7c1c ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xa4b07fe7 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xa4b563da ahci_shost_groups +EXPORT_SYMBOL_GPL vmlinux 0xa4c00324 asn1_encode_octet_string +EXPORT_SYMBOL_GPL vmlinux 0xa4c085f8 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0xa4c916b0 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0xa4e22108 devl_rate_leaf_create +EXPORT_SYMBOL_GPL vmlinux 0xa4e48ca2 __traceiter_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0xa4f25f8c tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0xa4f2a2ed acpi_irq_get +EXPORT_SYMBOL_GPL vmlinux 0xa4fd00dc phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL vmlinux 0xa4fdd8ba devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xa505f4f0 fsl8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0xa515adee spi_mem_default_supports_op +EXPORT_SYMBOL_GPL vmlinux 0xa5177bcf pinmux_generic_add_function +EXPORT_SYMBOL_GPL vmlinux 0xa517f884 tegra210_plle_hw_sequence_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xa51fed38 regmap_check_range_table +EXPORT_SYMBOL_GPL vmlinux 0xa531471e clk_save_context +EXPORT_SYMBOL_GPL vmlinux 0xa53557c8 rio_dma_prep_xfer +EXPORT_SYMBOL_GPL vmlinux 0xa53ce505 nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0xa5469c5a kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xa5496c0c md_run +EXPORT_SYMBOL_GPL vmlinux 0xa54a2cba devlink_linecard_provision_clear +EXPORT_SYMBOL_GPL vmlinux 0xa56664ef poll_state_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xa5881a73 usb_get_maximum_speed +EXPORT_SYMBOL_GPL vmlinux 0xa58ffabf netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0xa5ba80f3 fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0xa5bda8a1 efi_capsule_supported +EXPORT_SYMBOL_GPL vmlinux 0xa5c5b01d scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xa5d0d4c5 serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0xa5d1f4b8 stack_depot_snprint +EXPORT_SYMBOL_GPL vmlinux 0xa5d7c388 pstore_type_to_name +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5faf1b4 tps6586x_get_version +EXPORT_SYMBOL_GPL vmlinux 0xa6001926 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xa6012c63 phy_speed_down +EXPORT_SYMBOL_GPL vmlinux 0xa612d643 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xa620a5c3 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0xa627c395 wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0xa62ec819 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0xa65379fc kvm_irq_has_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa654c911 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xa65f3c8c __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xa66d4b54 crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0xa66e1de7 file_is_kvm +EXPORT_SYMBOL_GPL vmlinux 0xa67773ee ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xa695be3f blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0xa69dc4e9 devm_regmap_add_irq_chip_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xa6a088b7 fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0xa6ad74ec crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0xa6af1e35 __SCK__tp_func_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0xa6b06f65 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xa6b1229b desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6b5ee5b __SCK__tp_func_block_split +EXPORT_SYMBOL_GPL vmlinux 0xa6c3214a dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0xa6ccedb8 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xa6d6c99d palmas_ext_control_req_config +EXPORT_SYMBOL_GPL vmlinux 0xa6dc0d97 tegra_read_ram_code +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa6ee15ca __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa6feba62 cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xa6fed9d8 disk_force_media_change +EXPORT_SYMBOL_GPL vmlinux 0xa709c835 fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa71ce6d7 devm_blk_crypto_profile_init +EXPORT_SYMBOL_GPL vmlinux 0xa731f387 nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xa73c3b08 mtk_mutex_remove_comp +EXPORT_SYMBOL_GPL vmlinux 0xa75fb049 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0xa7685969 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0xa7787f80 of_thermal_get_ntrips +EXPORT_SYMBOL_GPL vmlinux 0xa783238f l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa788700b copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0xa797e7b2 nvdimm_bus_add_badrange +EXPORT_SYMBOL_GPL vmlinux 0xa7a6f3b8 mtk_eint_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xa7a8c843 clk_fixed_rate_ops +EXPORT_SYMBOL_GPL vmlinux 0xa7a91160 ehci_resume +EXPORT_SYMBOL_GPL vmlinux 0xa7aaeac6 mtk_clk_register_factors +EXPORT_SYMBOL_GPL vmlinux 0xa7b16c29 pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xa7b6530a blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa7e98c7b debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0xa7ee5559 skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0xa7eea42e crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xa7f10002 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0xa7f98e8e lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0xa7fa7fc9 kvm_vcpu_read_guest_atomic +EXPORT_SYMBOL_GPL vmlinux 0xa81d9112 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0xa81f1757 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0xa8207166 nvdimm_setup_pfn +EXPORT_SYMBOL_GPL vmlinux 0xa824aa4f vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0xa83a377e of_get_named_gpio_flags +EXPORT_SYMBOL_GPL vmlinux 0xa851973a raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa85aa0e3 bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0xa85fa2b2 seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0xa86a9fae gnttab_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0xa882752a __devm_regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0xa895a80c pci_hp_del +EXPORT_SYMBOL_GPL vmlinux 0xa898d04d host1x_context_device_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xa89926dc crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0xa8a578cd blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0xa8a6364c xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0xa8a8e266 kpp_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xa8b1413d fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xa8b1af69 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0xa8ba60d8 skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0xa8bc19d6 sched_set_fifo +EXPORT_SYMBOL_GPL vmlinux 0xa8dc6c4c dev_attr_ncq_prio_enable +EXPORT_SYMBOL_GPL vmlinux 0xa8dd1bac uprobe_register +EXPORT_SYMBOL_GPL vmlinux 0xa8f4f942 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xa905592f xhci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xa9194c60 irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0xa9320d27 ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0xa935c6e1 crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0xa93c8547 rio_pw_enable +EXPORT_SYMBOL_GPL vmlinux 0xa93faef3 exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0xa941ad7e get_governor_parent_kobj +EXPORT_SYMBOL_GPL vmlinux 0xa944a87e usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xa946d228 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9485d26 ata_sas_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xa95b5c77 hwmon_sanitize_name +EXPORT_SYMBOL_GPL vmlinux 0xa96e8b4e hv_setup_vmbus_handler +EXPORT_SYMBOL_GPL vmlinux 0xa970cf9f spi_setup +EXPORT_SYMBOL_GPL vmlinux 0xa974a849 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xa9766ccd ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0xa98f2361 device_phy_find_device +EXPORT_SYMBOL_GPL vmlinux 0xa9993377 genphy_c45_aneg_done +EXPORT_SYMBOL_GPL vmlinux 0xa99b8e70 __SCK__tp_func_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0xa99ef899 devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xa9aaea3a divider_ro_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xa9c05ac0 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0xa9d38107 regulator_irq_map_event_simple +EXPORT_SYMBOL_GPL vmlinux 0xa9da1afd kvm_release_page_clean +EXPORT_SYMBOL_GPL vmlinux 0xa9f0ebec sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0xaa09abfa tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0xaa0e187e sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0xaa37a4ef nvdimm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xaa4d9ba7 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0xaa6949c4 mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0xaa6a50f9 __static_key_deferred_flush +EXPORT_SYMBOL_GPL vmlinux 0xaa6aa062 dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0xaa6f466d vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0xaa7aa224 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0xaa7bf54a rio_unlock_device +EXPORT_SYMBOL_GPL vmlinux 0xaa88eb65 extcon_get_property +EXPORT_SYMBOL_GPL vmlinux 0xaa891f64 of_irq_to_resource_table +EXPORT_SYMBOL_GPL vmlinux 0xaa8bef8e dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0xaa951697 __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0xaa971d3a phy_gbit_features +EXPORT_SYMBOL_GPL vmlinux 0xaaa67256 thermal_zone_get_offset +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaac190f1 devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xaac5d18e dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0xaaca2e36 __iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0xaad46729 scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0xaada2e03 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xaade886f fsl_mc_bus_dpmac_type +EXPORT_SYMBOL_GPL vmlinux 0xaade9a6f key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xaadfe7ce xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xaae25962 securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xaae50c8d gpiod_disable_hw_timestamp_ns +EXPORT_SYMBOL_GPL vmlinux 0xaaed5e4e pci_find_host_bridge +EXPORT_SYMBOL_GPL vmlinux 0xaaf49c5a __traceiter_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xaafafbff rockchip_pmu_unblock +EXPORT_SYMBOL_GPL vmlinux 0xab060841 zynqmp_pm_query_data +EXPORT_SYMBOL_GPL vmlinux 0xab13e52a meson_clk_mpll_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xab1e0e93 hv_setup_kexec_handler +EXPORT_SYMBOL_GPL vmlinux 0xab27ae1b regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xab36ddac key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0xab435a18 blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0xab46112f nvmem_cell_read_variable_le_u64 +EXPORT_SYMBOL_GPL vmlinux 0xab4f8fc1 PageHuge +EXPORT_SYMBOL_GPL vmlinux 0xab6ef2dd of_get_display_timings +EXPORT_SYMBOL_GPL vmlinux 0xab7411a5 ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0xab7670b4 dev_pm_domain_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0xab7c91dc devm_hte_request_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0xab7f853d mtk_mutex_prepare +EXPORT_SYMBOL_GPL vmlinux 0xab813d86 sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0xab816933 __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0xabb769c0 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0xabb889d7 fixup_user_fault +EXPORT_SYMBOL_GPL vmlinux 0xabc264a6 bpf_trace_run12 +EXPORT_SYMBOL_GPL vmlinux 0xabc640f3 list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0xabd45848 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xabd9aefa crypto_unregister_skciphers +EXPORT_SYMBOL_GPL vmlinux 0xabdd485d driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0xabe22300 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0xabe253e8 tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0xabfb89cc restore_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0xabfe673d pinctrl_dev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xac092fd8 pinctrl_find_gpio_range_from_pin_nolock +EXPORT_SYMBOL_GPL vmlinux 0xac0ef9a2 __hwspin_unlock +EXPORT_SYMBOL_GPL vmlinux 0xac238fb1 dev_pm_opp_unregister_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0xac325640 dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0xac3833fb of_property_read_variable_u8_array +EXPORT_SYMBOL_GPL vmlinux 0xac46f970 virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0xac508502 rio_free_net +EXPORT_SYMBOL_GPL vmlinux 0xac84aaef software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xaca514f6 shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0xacb4d88c clk_rate_exclusive_put +EXPORT_SYMBOL_GPL vmlinux 0xacbdf2f2 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xacc977ac alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0xacd5e622 of_dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0xace46261 sdio_retune_release +EXPORT_SYMBOL_GPL vmlinux 0xace89fe8 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xacf906a3 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0xad040276 of_genpd_add_provider_simple +EXPORT_SYMBOL_GPL vmlinux 0xad053d9d dev_coredumpv +EXPORT_SYMBOL_GPL vmlinux 0xad0ca8d7 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0xad177171 clk_hw_get_rate +EXPORT_SYMBOL_GPL vmlinux 0xad199908 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0xad1d3842 ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0xad1e824a iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0xad253039 kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0xad25602f __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xad30a569 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0xad395dd9 mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0xad42dff8 __SCK__tp_func_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0xad4e6259 remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad4f8e56 governor_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0xad5737fc efivar_init +EXPORT_SYMBOL_GPL vmlinux 0xad5c294d cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0xad645234 register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xad767fec rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0xad76a3f0 __SCK__tp_func_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xad7c9d72 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0xad83ce29 xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0xad9f018e mbox_request_channel_byname +EXPORT_SYMBOL_GPL vmlinux 0xada38766 dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0xada9f4c6 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0xadc18d45 dev_pm_opp_xlate_required_opp +EXPORT_SYMBOL_GPL vmlinux 0xadca45de edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xade5339b hte_get_clk_src_info +EXPORT_SYMBOL_GPL vmlinux 0xadea799c inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0xadf9c1b3 housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0xae0d34ae __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0xae0d9ada query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0xae0db2d6 xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0xae0ecf40 usb_bus_idr_lock +EXPORT_SYMBOL_GPL vmlinux 0xae1051b0 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xae217fff bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0xae2f1257 device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0xae39f80e dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xae466b71 device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0xae4d186d irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xae56ae24 extcon_set_state +EXPORT_SYMBOL_GPL vmlinux 0xae581fa8 unix_table_locks +EXPORT_SYMBOL_GPL vmlinux 0xae585bf0 mtk_pinconf_drive_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xae634ec0 dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0xae64f1dd __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0xae66224d dev_pm_opp_of_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae7c231d mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0xae9e1d89 __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0xaea7f1ef devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaeb09ebd nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0xaeb8b601 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0xaeb8ef40 crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xaec4868e clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0xaed62cc2 pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0xaee0fe18 mtk_mux_gate_clr_set_upd_ops +EXPORT_SYMBOL_GPL vmlinux 0xaef1c287 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xaefbc4e6 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xaf076aec nd_fletcher64 +EXPORT_SYMBOL_GPL vmlinux 0xaf0b6ba7 blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0xaf1d8d35 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0xaf315df9 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0xaf348da7 cpu_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xaf361119 __traceiter_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0xaf3a44e9 __SCK__tp_func_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xaf3e524d get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0xaf4014ff usb_amd_quirk_pll_check +EXPORT_SYMBOL_GPL vmlinux 0xaf551ce4 fsl_mc_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0xaf793668 __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0xaf7e20a4 trace_array_printk +EXPORT_SYMBOL_GPL vmlinux 0xaf80e8a2 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaf852873 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0xaf8944ba iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0xaf8dcfaa user_read +EXPORT_SYMBOL_GPL vmlinux 0xafb07262 __pfn_to_mfn +EXPORT_SYMBOL_GPL vmlinux 0xafba0767 i2c_adapter_depth +EXPORT_SYMBOL_GPL vmlinux 0xafc8a645 devm_clk_bulk_get_all +EXPORT_SYMBOL_GPL vmlinux 0xafcfba1a device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xafddd545 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xafeb58c1 __SCK__tp_func_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0xb0075655 xenbus_dev_is_online +EXPORT_SYMBOL_GPL vmlinux 0xb0099f79 topology_clear_scale_freq_source +EXPORT_SYMBOL_GPL vmlinux 0xb02a95d3 fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0xb02ac411 register_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb02b3fab regulator_desc_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xb034b24b efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0xb03512a8 __clk_get_hw +EXPORT_SYMBOL_GPL vmlinux 0xb035bf83 skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0xb049a294 __SCK__tp_func_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0xb05b68d5 zynqmp_pm_reset_get_status +EXPORT_SYMBOL_GPL vmlinux 0xb0747ed2 rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0xb077e70a clk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0xb08a22a3 cpufreq_show_cpus +EXPORT_SYMBOL_GPL vmlinux 0xb097e3b9 acpi_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0xb098b6f3 blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0xb09d74a9 spi_take_timestamp_post +EXPORT_SYMBOL_GPL vmlinux 0xb0a1996f phy_power_on +EXPORT_SYMBOL_GPL vmlinux 0xb0aade9c pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0c008ff iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0xb0c5adb4 of_pci_get_max_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xb0c8f2c1 acct_bioset_exit +EXPORT_SYMBOL_GPL vmlinux 0xb0cd1568 page_endio +EXPORT_SYMBOL_GPL vmlinux 0xb0d1656c gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0xb0d73555 devm_pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0xb0e2f2c6 is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0xb0e8e671 xenbus_otherend_changed +EXPORT_SYMBOL_GPL vmlinux 0xb0f9a457 mctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xb10d964d devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xb10ed8fe spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0xb11218c7 mtk_pinconf_adv_pull_get +EXPORT_SYMBOL_GPL vmlinux 0xb116f12b task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xb11c174f dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0xb11d9000 tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0xb1634b4e gpiochip_add_pin_range +EXPORT_SYMBOL_GPL vmlinux 0xb1647fc2 devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0xb17a8135 pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0xb17fa477 unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb1847cb4 crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0xb18a0024 tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0xb18bba6d usb_get_maximum_ssp_rate +EXPORT_SYMBOL_GPL vmlinux 0xb1983c64 tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0xb1a69354 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xb1baa71a devlink_linecard_provision_fail +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1c9d5ae ehci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xb1ce78b7 ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0xb1dbebd4 rio_alloc_net +EXPORT_SYMBOL_GPL vmlinux 0xb1dc3ca3 of_genpd_parse_idle_states +EXPORT_SYMBOL_GPL vmlinux 0xb1e25684 __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0xb1ea0523 ahci_platform_enable_resources +EXPORT_SYMBOL_GPL vmlinux 0xb1ec4c07 usb_acpi_power_manageable +EXPORT_SYMBOL_GPL vmlinux 0xb1ef47b1 perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb1fc1782 pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xb202f0d7 rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0xb2047908 pci_bridge_emul_init +EXPORT_SYMBOL_GPL vmlinux 0xb20535e4 iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0xb206f969 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0xb2176f82 bpfilter_umh_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xb21d00c6 hte_ts_put +EXPORT_SYMBOL_GPL vmlinux 0xb2210d64 reset_control_deassert +EXPORT_SYMBOL_GPL vmlinux 0xb2405efc secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0xb261e75b ehci_handshake +EXPORT_SYMBOL_GPL vmlinux 0xb264f033 i2c_slave_event +EXPORT_SYMBOL_GPL vmlinux 0xb26a1add elfcorehdr_addr +EXPORT_SYMBOL_GPL vmlinux 0xb271c066 acpi_gpiochip_request_interrupts +EXPORT_SYMBOL_GPL vmlinux 0xb274dd98 folio_wait_stable +EXPORT_SYMBOL_GPL vmlinux 0xb27ecda5 serial8250_rpm_put_tx +EXPORT_SYMBOL_GPL vmlinux 0xb28f0241 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xb29533ee zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xb2a62059 blk_crypto_intersect_capabilities +EXPORT_SYMBOL_GPL vmlinux 0xb2a911aa iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0xb2c1732e rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0xb2e009b4 crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2fdfabd tegra_bpmp_transfer +EXPORT_SYMBOL_GPL vmlinux 0xb307c909 devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xb30b2bda preempt_model_full +EXPORT_SYMBOL_GPL vmlinux 0xb326e44a devm_of_phy_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0xb32da53d thermal_zone_unbind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0xb34de0f5 split_page +EXPORT_SYMBOL_GPL vmlinux 0xb380544b ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0xb39e90a5 genphy_c45_read_status +EXPORT_SYMBOL_GPL vmlinux 0xb3acad14 of_clk_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0xb3b19bb2 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0xb3cad082 devm_irq_domain_create_sim +EXPORT_SYMBOL_GPL vmlinux 0xb3cb0a1e xenbus_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xb3cbf289 pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0xb3cc6217 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xb3effab3 pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0xb3f278b9 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0xb3f8e3e2 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb3f9b16f l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0xb3ff682a devm_usb_get_phy_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xb40d673e zynqmp_pm_pinctrl_request +EXPORT_SYMBOL_GPL vmlinux 0xb41ad62d ima_inode_hash +EXPORT_SYMBOL_GPL vmlinux 0xb43de801 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xb43f9365 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xb4429b64 acpi_dev_resource_ext_address_space +EXPORT_SYMBOL_GPL vmlinux 0xb447a80d init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0xb44e18ea audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb4513f09 strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0xb4557f50 sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0xb458f00f spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xb46e6cd6 dev_pm_opp_find_level_ceil +EXPORT_SYMBOL_GPL vmlinux 0xb47003bd to_nvdimm_bus +EXPORT_SYMBOL_GPL vmlinux 0xb4793c2b shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0xb48f0638 software_node_register +EXPORT_SYMBOL_GPL vmlinux 0xb48f3499 xlnx_register_event +EXPORT_SYMBOL_GPL vmlinux 0xb494fb4c ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0xb4a006d3 extcon_set_property_sync +EXPORT_SYMBOL_GPL vmlinux 0xb4a6690a gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0xb4b54cb7 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0xb4b634ff hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0xb4b97c90 pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4c24edc serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0xb4c532e1 __regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xb4c66e72 dev_pm_opp_get_of_node +EXPORT_SYMBOL_GPL vmlinux 0xb4e1cad0 __blk_trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4eda0da ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0xb4f7c1fb acpi_pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0xb501b2df nd_cmd_dimm_desc +EXPORT_SYMBOL_GPL vmlinux 0xb504cade ahci_reset_em +EXPORT_SYMBOL_GPL vmlinux 0xb5086458 devfreq_event_get_edev_count +EXPORT_SYMBOL_GPL vmlinux 0xb51708f0 clk_hw_unregister_composite +EXPORT_SYMBOL_GPL vmlinux 0xb51ec746 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb52051e1 devm_phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb520eb79 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0xb52d25d5 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xb54ee647 platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb559da2b trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xb55de460 HYPERVISOR_dm_op +EXPORT_SYMBOL_GPL vmlinux 0xb5603df2 rockchip_register_restart_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb56202cd irq_chip_retrigger_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xb56382fd fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0xb57758a5 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xb577a2c1 __mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0xb5a83e35 gnttab_setup_auto_xlat_frames +EXPORT_SYMBOL_GPL vmlinux 0xb5a8c226 acpi_gsi_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xb5abfb50 dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb5acf2e7 spi_controller_dma_map_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0xb5acfbfb nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0xb5ad3374 skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xb5b0d035 fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0xb5b51a05 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0xb5b6fb04 hv_get_vpreg +EXPORT_SYMBOL_GPL vmlinux 0xb5cb0217 sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0xb5dd3844 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xb5e86314 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0xb5f88314 iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0xb6041d06 thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0xb606243d dma_async_device_channel_register +EXPORT_SYMBOL_GPL vmlinux 0xb6083d17 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xb60e8739 extcon_set_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xb610b5d9 ethtool_params_from_link_mode +EXPORT_SYMBOL_GPL vmlinux 0xb6261484 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb629d6e4 umd_cleanup_helper +EXPORT_SYMBOL_GPL vmlinux 0xb62d6187 dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0xb6357e53 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0xb638f97b regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0xb6410433 mpi_addm +EXPORT_SYMBOL_GPL vmlinux 0xb655f91b pci_epc_get_next_free_bar +EXPORT_SYMBOL_GPL vmlinux 0xb65fadfa cpufreq_freq_attr_scaling_boost_freqs +EXPORT_SYMBOL_GPL vmlinux 0xb661ef51 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0xb6701d00 crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0xb6787346 sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0xb68a7d29 pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0xb68b8607 devres_release +EXPORT_SYMBOL_GPL vmlinux 0xb696f28b gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0xb69afbb0 devlink_linecard_deactivate +EXPORT_SYMBOL_GPL vmlinux 0xb6a2a4bf clk_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0xb6c0fca2 devm_acpi_dev_add_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0xb6d0cd18 nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0xb6d0dca3 gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0xb6d27de6 __tracepoint_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xb6df093a usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xb6e6d99d clk_disable +EXPORT_SYMBOL_GPL vmlinux 0xb6ef4702 debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xb70cc710 list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0xb7155ca9 umd_unload_blob +EXPORT_SYMBOL_GPL vmlinux 0xb71ee4ba max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xb72ef4da ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0xb7329c06 clk_set_phase +EXPORT_SYMBOL_GPL vmlinux 0xb73713d7 nvmem_add_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0xb73e37e3 devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb7478355 devm_of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0xb74c31cd wwan_remove_port +EXPORT_SYMBOL_GPL vmlinux 0xb76c79d0 ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0xb782c1a3 hv_get_vpreg_128 +EXPORT_SYMBOL_GPL vmlinux 0xb786bf75 pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xb786d2fe of_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0xb7a387fc synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0xb7c1624f xenbus_dev_probe +EXPORT_SYMBOL_GPL vmlinux 0xb7c69a63 unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7cc0cff __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0xb7cea8cf __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0xb7f37469 serial8250_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xb7f990e9 rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xb809aed7 iomap_dio_bio_end_io +EXPORT_SYMBOL_GPL vmlinux 0xb81e09f0 regcache_drop_region +EXPORT_SYMBOL_GPL vmlinux 0xb825e997 dprc_scan_container +EXPORT_SYMBOL_GPL vmlinux 0xb8273d0b __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xb82f2f6c fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xb83097b5 do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0xb8339fef task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0xb848415b kick_process +EXPORT_SYMBOL_GPL vmlinux 0xb85042e5 gnttab_free_grant_reference_seq +EXPORT_SYMBOL_GPL vmlinux 0xb85b38d9 mtk_free_clk_data +EXPORT_SYMBOL_GPL vmlinux 0xb86a1bf7 __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0xb86c83b0 pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xb87f40fe cppc_set_enable +EXPORT_SYMBOL_GPL vmlinux 0xb886cf84 usb_phy_set_charger_state +EXPORT_SYMBOL_GPL vmlinux 0xb8891c8a blk_crypto_update_capabilities +EXPORT_SYMBOL_GPL vmlinux 0xb88bc47e arch_apei_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0xb88dbfce irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0xb894835e tps65912_device_exit +EXPORT_SYMBOL_GPL vmlinux 0xb8993fac __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0xb89e69b1 jump_label_update_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb8a3434b locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0xb8a49768 devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xb8a8a588 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0xb8adbcba blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0xb8b1141f tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0xb8b8c4f0 ti_sci_release_resource +EXPORT_SYMBOL_GPL vmlinux 0xb8bd6327 kvm_vcpu_gfn_to_page +EXPORT_SYMBOL_GPL vmlinux 0xb8c1f26b serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb8cd3a7f nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0xb8dbdd9b dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0xb8e7afd7 rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xb8f11603 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb8f30059 soc_device_match +EXPORT_SYMBOL_GPL vmlinux 0xb9018c8f fwnode_graph_get_remote_port_parent +EXPORT_SYMBOL_GPL vmlinux 0xb912560d static_key_disable +EXPORT_SYMBOL_GPL vmlinux 0xb9175787 devlink_linecard_create +EXPORT_SYMBOL_GPL vmlinux 0xb917b6d7 return_address +EXPORT_SYMBOL_GPL vmlinux 0xb93e6039 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0xb940d90d hte_enable_ts +EXPORT_SYMBOL_GPL vmlinux 0xb94b391a edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL vmlinux 0xb94e5f91 ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xb9552bdd md_stop +EXPORT_SYMBOL_GPL vmlinux 0xb9681621 xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0xb96d4e26 dprc_remove_devices +EXPORT_SYMBOL_GPL vmlinux 0xb9852d11 __traceiter_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xb997df61 of_phy_put +EXPORT_SYMBOL_GPL vmlinux 0xb99ac898 genphy_c45_baset1_read_status +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9c16f51 hv_max_vp_index +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9cdb4ca rio_register_scan +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9d41623 trace_array_init_printk +EXPORT_SYMBOL_GPL vmlinux 0xb9ef6ef2 fsl_mc_object_free +EXPORT_SYMBOL_GPL vmlinux 0xba057786 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0xba067bc1 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0xba0fa997 ahci_save_initial_config +EXPORT_SYMBOL_GPL vmlinux 0xba141caf mtk_eint_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0xba220db7 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xba2ab366 filemap_range_has_writeback +EXPORT_SYMBOL_GPL vmlinux 0xba2b7f64 cpufreq_generic_get +EXPORT_SYMBOL_GPL vmlinux 0xba3ac8d9 dev_fill_forward_path +EXPORT_SYMBOL_GPL vmlinux 0xba3cad3b blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0xba3dda42 i2c_slave_unregister +EXPORT_SYMBOL_GPL vmlinux 0xba5523a4 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0xba614974 debugfs_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0xba6cfa18 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xba6ee427 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0xba703eab blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0xba80de95 usb_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0xba9ddaa9 mdio_mux_init +EXPORT_SYMBOL_GPL vmlinux 0xba9f508e regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xbaac42ee regulator_list_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xbab22764 pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0xbab9a9f0 maxim_charger_currents +EXPORT_SYMBOL_GPL vmlinux 0xbac2c57d __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbacf4836 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xbad32277 mtk_clk_unregister_muxes +EXPORT_SYMBOL_GPL vmlinux 0xbad59227 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0xbad5d68e metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0xbadb7ee7 meson_clk_mpll_ops +EXPORT_SYMBOL_GPL vmlinux 0xbade0c25 security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xbaef1d63 regmap_mmio_attach_clk +EXPORT_SYMBOL_GPL vmlinux 0xbaf22757 kvfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0xbaf4da99 dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0xbaf6850c fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0xbafcd343 irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0xbb028ad3 rcu_gp_slow_register +EXPORT_SYMBOL_GPL vmlinux 0xbb0405df crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0xbb058cec ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb0b25d2 register_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0xbb16044a fsl_mc_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbb24f372 __SCK__tp_func_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0xbb36187d mmc_crypto_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0xbb38f905 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0xbb3a7906 dax_layout_busy_page_range +EXPORT_SYMBOL_GPL vmlinux 0xbb62cdbd transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbb6508da random_get_entropy_fallback +EXPORT_SYMBOL_GPL vmlinux 0xbb69fadb ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0xbb6a3cbd devlink_fmsg_arr_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xbb6f025a asymmetric_key_generate_id +EXPORT_SYMBOL_GPL vmlinux 0xbb7195a5 xdp_warn +EXPORT_SYMBOL_GPL vmlinux 0xbb72afe2 crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xbb7e9690 gfn_to_hva_memslot +EXPORT_SYMBOL_GPL vmlinux 0xbb800850 ahci_platform_get_resources +EXPORT_SYMBOL_GPL vmlinux 0xbb837065 sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0xbb93eec5 ioasid_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbb96138c kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0xbb968244 pm_runtime_set_memalloc_noio +EXPORT_SYMBOL_GPL vmlinux 0xbbb4ab02 mtk_mutex_put +EXPORT_SYMBOL_GPL vmlinux 0xbbbc5df9 of_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xbbcd3421 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xbbdbe2fa nexthop_select_path +EXPORT_SYMBOL_GPL vmlinux 0xbbe5611b crc64_rocksoft_update +EXPORT_SYMBOL_GPL vmlinux 0xbbe56404 sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0xbbe8d467 iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0xbbea9099 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbbede9ae task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0xbc08f93d platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xbc307fc8 pci_bridge_emul_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xbc3f2cb0 timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xbc51fae7 usb_of_get_companion_dev +EXPORT_SYMBOL_GPL vmlinux 0xbc5bf923 lwtunnel_get_encap_size +EXPORT_SYMBOL_GPL vmlinux 0xbc5f39d9 tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0xbc600dc9 preempt_model_voluntary +EXPORT_SYMBOL_GPL vmlinux 0xbc62d48f blk_crypto_evict_key +EXPORT_SYMBOL_GPL vmlinux 0xbc6bec66 free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xbc864f8d irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0xbc8cebf4 mtk_clk_unregister_fixed_clks +EXPORT_SYMBOL_GPL vmlinux 0xbc978f2b usb_wakeup_enabled_descendants +EXPORT_SYMBOL_GPL vmlinux 0xbc9b8588 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xbca8398e validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0xbcadab16 sprd_pinctrl_core_probe +EXPORT_SYMBOL_GPL vmlinux 0xbcb1f1d0 blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0xbcbe3339 devlink_set_features +EXPORT_SYMBOL_GPL vmlinux 0xbcc15e75 ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xbcc6180d ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0xbcc715ba ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0xbccf3a8b imx_unregister_hw_clocks +EXPORT_SYMBOL_GPL vmlinux 0xbcdca6d7 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0xbcdd5b99 iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0xbcf1f0e6 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xbd02ed57 tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xbd06f3a9 ata_get_cmd_name +EXPORT_SYMBOL_GPL vmlinux 0xbd075fd2 mmc_regulator_get_supply +EXPORT_SYMBOL_GPL vmlinux 0xbd0c6c90 dev_pm_opp_get_max_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0xbd13c6d5 iommu_set_pgtable_quirks +EXPORT_SYMBOL_GPL vmlinux 0xbd13d50d power_supply_put +EXPORT_SYMBOL_GPL vmlinux 0xbd1736d3 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0xbd2359f7 efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0xbd3fe1e3 disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0xbd5704ec __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0xbd732c66 imx_pinconf_set_scu +EXPORT_SYMBOL_GPL vmlinux 0xbd7aaaee add_memory +EXPORT_SYMBOL_GPL vmlinux 0xbd85a9d1 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0xbd9d4847 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0xbda04f10 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0xbdb2217d hv_is_isolation_supported +EXPORT_SYMBOL_GPL vmlinux 0xbdb72342 __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0xbdbaddfe scsi_alloc_request +EXPORT_SYMBOL_GPL vmlinux 0xbdda1b5f vmalloc_huge +EXPORT_SYMBOL_GPL vmlinux 0xbdda3d7e pm_clk_suspend +EXPORT_SYMBOL_GPL vmlinux 0xbdea3fa5 clk_regmap_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xbe03de1e stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xbe09ea5e mmc_regulator_set_ocr +EXPORT_SYMBOL_GPL vmlinux 0xbe137c1e imx_fracn_gppll +EXPORT_SYMBOL_GPL vmlinux 0xbe144615 mtk_clk_gate_ops_no_setclr_inv +EXPORT_SYMBOL_GPL vmlinux 0xbe1da07f pci_iomap_wc +EXPORT_SYMBOL_GPL vmlinux 0xbe220c5d of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0xbe245d86 rockchip_clk_register_plls +EXPORT_SYMBOL_GPL vmlinux 0xbe3a357b call_srcu +EXPORT_SYMBOL_GPL vmlinux 0xbe409389 devlink_port_linecard_set +EXPORT_SYMBOL_GPL vmlinux 0xbe4ae81d ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0xbe564d6f iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0xbe5c888b crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xbe5e3414 k3_udma_glue_reset_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0xbe663e44 wwan_unregister_ops +EXPORT_SYMBOL_GPL vmlinux 0xbe687e88 wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbe77f866 of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xbe840edb of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0xbe8c8366 relay_open +EXPORT_SYMBOL_GPL vmlinux 0xbe9485c9 of_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xbe95a09c i2c_acpi_find_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0xbe96dfd8 of_reconfig_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbe9a83d5 dw_pcie_write +EXPORT_SYMBOL_GPL vmlinux 0xbea5ff1e static_key_initialized +EXPORT_SYMBOL_GPL vmlinux 0xbea92ac4 nvdimm_in_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xbebacd3d devm_clk_hw_get_clk +EXPORT_SYMBOL_GPL vmlinux 0xbec2455f rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0xbec66c3a __apei_exec_run +EXPORT_SYMBOL_GPL vmlinux 0xbecbb23e xhci_check_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0xbecd0941 fsl_mc_bus_dpmcp_type +EXPORT_SYMBOL_GPL vmlinux 0xbed724c5 edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0xbef3f86d mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0xbf041102 register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbf2e2e71 housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0xbf2fedae rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0xbf3225b2 generic_online_page +EXPORT_SYMBOL_GPL vmlinux 0xbf42cb7b crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0xbf4513c3 devlink_linecard_activate +EXPORT_SYMBOL_GPL vmlinux 0xbf48ca4f __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0xbf4cc775 netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0xbf4ea143 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xbf516ea8 ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0xbf5724d0 dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0xbf667ceb pinctrl_add_gpio_ranges +EXPORT_SYMBOL_GPL vmlinux 0xbf7aab69 dma_request_chan +EXPORT_SYMBOL_GPL vmlinux 0xbf80a31f fsl_mc_bus_dpsw_type +EXPORT_SYMBOL_GPL vmlinux 0xbf9deb10 genphy_c45_pma_resume +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbfbf82b6 xenbus_probe_devices +EXPORT_SYMBOL_GPL vmlinux 0xbfc0a74c crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xbfccb42f platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0xbfd6bca7 mtk_mutex_get +EXPORT_SYMBOL_GPL vmlinux 0xbfdcd187 xfer_to_guest_mode_handle_work +EXPORT_SYMBOL_GPL vmlinux 0xbfddd56d devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xbfe5616d tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0xbfe92bec shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0xbfed2cd9 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0xc00269c8 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xc003a53c iptunnel_metadata_reply +EXPORT_SYMBOL_GPL vmlinux 0xc00acc4e dev_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0xc00b392b udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0xc032094b ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0xc039e273 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0xc03bdac4 set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0xc0483cad devm_qcom_smem_state_get +EXPORT_SYMBOL_GPL vmlinux 0xc05cee80 ipi_get_hwirq +EXPORT_SYMBOL_GPL vmlinux 0xc090c376 net_selftest_get_strings +EXPORT_SYMBOL_GPL vmlinux 0xc0974e09 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc0a3d155 k3_udma_glue_rx_get_flow_id_base +EXPORT_SYMBOL_GPL vmlinux 0xc0a96e14 rcu_gp_is_expedited +EXPORT_SYMBOL_GPL vmlinux 0xc0b2664d devlink_dpipe_header_ipv4 +EXPORT_SYMBOL_GPL vmlinux 0xc0bd5192 devm_mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL vmlinux 0xc0dfef2f regulator_bulk_set_supply_names +EXPORT_SYMBOL_GPL vmlinux 0xc0e74c63 acpi_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0xc0f0458a ip_tunnel_unneed_metadata +EXPORT_SYMBOL_GPL vmlinux 0xc0fbf57c fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0xc1086e0c sysrq_toggle_support +EXPORT_SYMBOL_GPL vmlinux 0xc10fddb8 name_to_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xc11de105 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xc135d927 hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xc13801e0 sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0xc13e240e dev_pm_opp_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xc144914b xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0xc1543171 __device_reset +EXPORT_SYMBOL_GPL vmlinux 0xc15c1ce9 __dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0xc15f36db clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xc16ca3e5 fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xc1743430 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc17e9946 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xc1808958 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xc18a604f __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0xc18bab17 spi_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0xc1a553b5 acpi_dev_gpio_irq_get_by +EXPORT_SYMBOL_GPL vmlinux 0xc1ad2e09 led_set_brightness_sync +EXPORT_SYMBOL_GPL vmlinux 0xc1b071de msg_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0xc1c5d5b8 crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0xc1d780b4 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0xc1dce028 k3_udma_glue_reset_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0xc1e037f2 blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0xc1e80bdb devm_power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0xc1e81748 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0xc1eed1b1 phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL vmlinux 0xc200f675 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0xc21e5304 __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc22c3703 pinctrl_force_sleep +EXPORT_SYMBOL_GPL vmlinux 0xc22f82fb rio_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xc236e169 __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0xc23b209e usb_phy_roothub_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc23b4c0a do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0xc2472388 tegra210_clk_emc_update_setting +EXPORT_SYMBOL_GPL vmlinux 0xc24886af wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0xc257cb6b ahci_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0xc25b8971 hv_remove_crash_handler +EXPORT_SYMBOL_GPL vmlinux 0xc2692173 wakeup_sources_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc26ba7ad inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0xc289e46d cpufreq_generic_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xc29e2171 __devm_clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0xc2a3e570 errata +EXPORT_SYMBOL_GPL vmlinux 0xc2a70ca8 iommu_present +EXPORT_SYMBOL_GPL vmlinux 0xc2a814db tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xc2b408da generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0xc2b52f61 xenbus_match +EXPORT_SYMBOL_GPL vmlinux 0xc2b9773a __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xc2c1c427 perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc2c867fc vcpu_put +EXPORT_SYMBOL_GPL vmlinux 0xc2de27ca hest_disable +EXPORT_SYMBOL_GPL vmlinux 0xc2f090ec pwm_free +EXPORT_SYMBOL_GPL vmlinux 0xc2f849d2 balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0xc3068e61 adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0xc30ac17d vcpu_load +EXPORT_SYMBOL_GPL vmlinux 0xc3234763 usb_hub_find_child +EXPORT_SYMBOL_GPL vmlinux 0xc3365cd7 rio_enable_rx_tx_port +EXPORT_SYMBOL_GPL vmlinux 0xc340e246 zynqmp_pm_request_node +EXPORT_SYMBOL_GPL vmlinux 0xc341ae6d zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0xc34d8797 devm_hte_register_chip +EXPORT_SYMBOL_GPL vmlinux 0xc356be9f inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc35924df blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0xc35ba005 devm_regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xc36577cb dev_pm_enable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xc36c67e9 rockchip_clk_init +EXPORT_SYMBOL_GPL vmlinux 0xc3708747 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc377cec1 sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0xc3805cd1 fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0xc3807214 inode_dax +EXPORT_SYMBOL_GPL vmlinux 0xc3876c1a hv_isolation_type_snp +EXPORT_SYMBOL_GPL vmlinux 0xc3896603 usb_of_get_interface_node +EXPORT_SYMBOL_GPL vmlinux 0xc38f4230 regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc3ba04e8 preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc3c0ef07 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xc3c4c6cc hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0xc3de65ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc3e784bf usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xc3ea5305 iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0xc3eb33a2 fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0xc40eeea6 fsl_mc_cleanup_irq_pool +EXPORT_SYMBOL_GPL vmlinux 0xc416d3c7 fsverity_ioctl_enable +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc434bbbb sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xc437babf fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0xc43e92b9 trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0xc448247b param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0xc44992ee devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc46324f6 dynevent_create +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc47798e8 nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0xc47a90b9 bpf_fentry_test1 +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc494432c lp8788_read_multi_bytes +EXPORT_SYMBOL_GPL vmlinux 0xc495c76f debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xc498bdc9 devlink_register +EXPORT_SYMBOL_GPL vmlinux 0xc49d44ba devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0xc4a31146 rdma_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc4a72936 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xc4c38754 iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0xc4e00059 nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0xc4e25334 pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xc4f0da12 ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xc50cdc38 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0xc50d4de7 fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0xc51076f2 irq_domain_create_legacy +EXPORT_SYMBOL_GPL vmlinux 0xc51450c6 imx_ccm_lock +EXPORT_SYMBOL_GPL vmlinux 0xc539161d usb_phy_set_event +EXPORT_SYMBOL_GPL vmlinux 0xc545a940 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0xc54e8346 led_put +EXPORT_SYMBOL_GPL vmlinux 0xc556c81f sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0xc5604800 clk_set_rate_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xc5604b5d rio_mport_initialize +EXPORT_SYMBOL_GPL vmlinux 0xc566f7c3 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0xc569d8ce __clk_get_name +EXPORT_SYMBOL_GPL vmlinux 0xc571f6d1 dprc_setup +EXPORT_SYMBOL_GPL vmlinux 0xc5725637 irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0xc575c737 debug_locks_off +EXPORT_SYMBOL_GPL vmlinux 0xc5777fca linear_range_get_selector_low_array +EXPORT_SYMBOL_GPL vmlinux 0xc587ff7c device_show_int +EXPORT_SYMBOL_GPL vmlinux 0xc58a3ee6 icc_node_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc5a5c678 uart_parse_earlycon +EXPORT_SYMBOL_GPL vmlinux 0xc5b352a3 mbox_chan_received_data +EXPORT_SYMBOL_GPL vmlinux 0xc5bd87a5 devm_pm_opp_of_add_table_noclk +EXPORT_SYMBOL_GPL vmlinux 0xc5bf11c4 clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc5c1d559 to_nvdimm +EXPORT_SYMBOL_GPL vmlinux 0xc5c83009 phy_pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0xc5cf1e8a kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0xc5cfced0 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xc5d36437 fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xc5df874b crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xc5e0b38e __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0xc5e2896c __efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0xc5f9d5a2 serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0xc60cb205 kvm_get_kvm_safe +EXPORT_SYMBOL_GPL vmlinux 0xc617f82c unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc621825a acpi_device_update_power +EXPORT_SYMBOL_GPL vmlinux 0xc62531d2 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xc62d655d efivar_entry_set_get_size +EXPORT_SYMBOL_GPL vmlinux 0xc639e2c2 lwtunnel_output +EXPORT_SYMBOL_GPL vmlinux 0xc6572a90 xenbus_read_unsigned +EXPORT_SYMBOL_GPL vmlinux 0xc6574a6b cpufreq_freq_transition_begin +EXPORT_SYMBOL_GPL vmlinux 0xc66019cc xen_resume_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc662ecda __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0xc667e8cf __traceiter_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0xc66b77b1 iommu_group_set_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xc66e609d iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0xc6725209 pci_iomap_wc_range +EXPORT_SYMBOL_GPL vmlinux 0xc6779093 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xc6813724 i2c_dw_prepare_clk +EXPORT_SYMBOL_GPL vmlinux 0xc68c41d6 __SCK__tp_func_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xc69690cd mtk_pinconf_drive_get +EXPORT_SYMBOL_GPL vmlinux 0xc697b0f7 nvmem_device_read +EXPORT_SYMBOL_GPL vmlinux 0xc69a83d2 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0xc69b7ee5 zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0xc6a4a872 __clk_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc6def34b gnttab_empty_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xc6df9f08 pinconf_generic_dt_node_to_map +EXPORT_SYMBOL_GPL vmlinux 0xc6e258e3 irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0xc6e5bcf3 linear_range_get_selector_within +EXPORT_SYMBOL_GPL vmlinux 0xc7061ef3 iova_cache_put +EXPORT_SYMBOL_GPL vmlinux 0xc70f0f5e devm_led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc721748a adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xc72d3c00 mtk_pinconf_drive_set_raw +EXPORT_SYMBOL_GPL vmlinux 0xc7354b5a dax_layout_busy_page +EXPORT_SYMBOL_GPL vmlinux 0xc74a7024 crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0xc74e2fc5 thermal_zone_get_zone_by_name +EXPORT_SYMBOL_GPL vmlinux 0xc75f491c access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0xc766ac51 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xc769260d policy_has_boost_freq +EXPORT_SYMBOL_GPL vmlinux 0xc77b116b xhci_get_ep_ctx +EXPORT_SYMBOL_GPL vmlinux 0xc7856e74 __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xc788b238 of_platform_default_populate +EXPORT_SYMBOL_GPL vmlinux 0xc78c9db7 extcon_get_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xc78efaf4 perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0xc79a9502 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7a68dec phy_set_media +EXPORT_SYMBOL_GPL vmlinux 0xc7a7e770 clk_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xc7b884f5 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0xc7c23ff0 xenbus_exists +EXPORT_SYMBOL_GPL vmlinux 0xc7e447af blkcg_get_fc_appid +EXPORT_SYMBOL_GPL vmlinux 0xc7e64fc2 asn1_encode_integer +EXPORT_SYMBOL_GPL vmlinux 0xc7e70a8a disk_update_readahead +EXPORT_SYMBOL_GPL vmlinux 0xc7e96358 __irq_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0xc7efbc50 of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0xc7fa4aa9 kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0xc7fd0072 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xc801c1a5 pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0xc80c4e4d __traceiter_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0xc80d26ba fsl_mc_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xc80f8e4a devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc812c0b3 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0xc81d4c6e ahci_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xc81e49cb of_add_property +EXPORT_SYMBOL_GPL vmlinux 0xc823104a mtk_pinconf_bias_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xc82b3a88 __SCK__tp_func_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0xc82c721f klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xc839c1ce trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0xc83e7beb devm_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0xc8594d3d reset_control_acquire +EXPORT_SYMBOL_GPL vmlinux 0xc86a5635 __traceiter_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0xc8785649 pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0xc87dd725 k3_udma_glue_pop_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0xc88548be usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xc889dda4 genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL vmlinux 0xc8b8adde udp_tunnel_nic_ops +EXPORT_SYMBOL_GPL vmlinux 0xc8bb032e of_genpd_add_provider_onecell +EXPORT_SYMBOL_GPL vmlinux 0xc8c02587 pinctrl_generic_add_group +EXPORT_SYMBOL_GPL vmlinux 0xc8c2dfd9 fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0xc8c4d4ad usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xc8cbf65f pm_clk_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc8ddd5b5 kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0xc8e84c1c __devm_clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0xc913cef6 ehci_adjust_port_wakeup_flags +EXPORT_SYMBOL_GPL vmlinux 0xc914fd32 __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0xc919db5e i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xc91a05d9 fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0xc91c0de3 kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0xc91fdf58 percpu_ref_is_zero +EXPORT_SYMBOL_GPL vmlinux 0xc927e532 skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0xc9345c0f digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0xc934aac5 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0xc9377098 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc93ee1e7 usb_phy_roothub_init +EXPORT_SYMBOL_GPL vmlinux 0xc93f1d41 vchan_find_desc +EXPORT_SYMBOL_GPL vmlinux 0xc942ca7a xenbus_dev_groups +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc95677c4 gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0xc9641b48 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0xc96fef54 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0xc9715630 __SCK__tp_func_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xc978b7db ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0xc979227a lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc97c1f32 pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0xc9827693 __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0xc989d30f vp_modern_map_vq_notify +EXPORT_SYMBOL_GPL vmlinux 0xc99300c5 usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0xc99b3686 of_gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0xc9a2ef86 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0xc9a4e50d gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0xc9a9be57 cpufreq_table_index_unsorted +EXPORT_SYMBOL_GPL vmlinux 0xc9ad45e7 kvm_get_kvm +EXPORT_SYMBOL_GPL vmlinux 0xc9b40347 badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0xc9c37c4d get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0xc9cf16a4 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0xc9cf4b22 blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0xc9e58553 screen_pos +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9ecff50 devl_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc9f933c6 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0xc9fb00f7 pl320_ipc_transmit +EXPORT_SYMBOL_GPL vmlinux 0xc9fd634a usb_role_switch_put +EXPORT_SYMBOL_GPL vmlinux 0xc9fe0ee0 follow_pte +EXPORT_SYMBOL_GPL vmlinux 0xca189a85 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0xca18df88 mtk_pinconf_bias_disable_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xca195df9 acpi_spi_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xca217661 gfn_to_memslot +EXPORT_SYMBOL_GPL vmlinux 0xca239171 nfs_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0xca2688bb gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0xca2ebdd6 gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0xca3137e3 dev_pm_opp_put_opp_table +EXPORT_SYMBOL_GPL vmlinux 0xca31461d phy_validate +EXPORT_SYMBOL_GPL vmlinux 0xca36ac24 fsl_mc_bus_dpbp_type +EXPORT_SYMBOL_GPL vmlinux 0xca37c6bb cpufreq_driver_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0xca38c049 devm_acpi_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xca42057e wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0xca454a34 vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0xca57ba1d phy_create +EXPORT_SYMBOL_GPL vmlinux 0xca7074c7 mtk_pinconf_bias_get +EXPORT_SYMBOL_GPL vmlinux 0xca71b291 io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca85266e pinctrl_dev_get_name +EXPORT_SYMBOL_GPL vmlinux 0xca9a1d5e ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xcaa1d3cd vp_legacy_set_queue_address +EXPORT_SYMBOL_GPL vmlinux 0xcaa31183 perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0xcaaceaac devm_of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcaacf843 dev_pm_opp_add +EXPORT_SYMBOL_GPL vmlinux 0xcab9f4c7 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcac8aaff irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0xcae03ef9 bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0xcae5bb2e usb_hcd_end_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xcae65d02 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xcae7ce5d fsl_mc_get_version +EXPORT_SYMBOL_GPL vmlinux 0xcaf1d958 evtchn_get +EXPORT_SYMBOL_GPL vmlinux 0xcb010721 ahci_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xcb0c719c fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0xcb186931 pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0xcb2bfe2b nvmem_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcb3fbee9 thermal_zone_of_get_sensor_id +EXPORT_SYMBOL_GPL vmlinux 0xcb4930c5 devres_find +EXPORT_SYMBOL_GPL vmlinux 0xcb561441 mem_dump_obj +EXPORT_SYMBOL_GPL vmlinux 0xcb618f07 blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0xcb6e02c9 ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0xcb80653d stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0xcb8954b9 imx_pinctrl_probe +EXPORT_SYMBOL_GPL vmlinux 0xcb8eac53 ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xcb9281b0 of_dma_configure_id +EXPORT_SYMBOL_GPL vmlinux 0xcba551d9 dw_pcie_link_up +EXPORT_SYMBOL_GPL vmlinux 0xcba5b0e3 pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0xcba6d0f0 icc_set_tag +EXPORT_SYMBOL_GPL vmlinux 0xcbcf557e __efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0xcbe56bc2 zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0xcbf9e89a extcon_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcc0b2c98 page_cache_ra_unbounded +EXPORT_SYMBOL_GPL vmlinux 0xcc0fd0a7 k3_ringacc_ring_push_head +EXPORT_SYMBOL_GPL vmlinux 0xcc16727f devm_hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0xcc1895aa pci_get_dsn +EXPORT_SYMBOL_GPL vmlinux 0xcc2c7c6f dm_put +EXPORT_SYMBOL_GPL vmlinux 0xcc2cee45 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0xcc2dbfd8 irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0xcc39c03e nvmem_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc795932 devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0xcc79b7b2 usb_control_msg_send +EXPORT_SYMBOL_GPL vmlinux 0xcc83b364 dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xcc85e4af genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0xcc9268fc hwpoison_filter_enable +EXPORT_SYMBOL_GPL vmlinux 0xcc935375 walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0xcc973f04 ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0xcc9a21cd mc_send_command +EXPORT_SYMBOL_GPL vmlinux 0xccabde6f crc64_rocksoft_generic +EXPORT_SYMBOL_GPL vmlinux 0xccaf72de usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd1165b timer_unstable_counter_workaround +EXPORT_SYMBOL_GPL vmlinux 0xccd86806 ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0xccdfcc83 of_devfreq_cooling_register_power +EXPORT_SYMBOL_GPL vmlinux 0xcce2ce6b xhci_ext_cap_init +EXPORT_SYMBOL_GPL vmlinux 0xccee8dd0 crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0xccf52bc9 sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0xcd0411be of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0xcd24e146 hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0xcd284b2b kvm_make_all_cpus_request +EXPORT_SYMBOL_GPL vmlinux 0xcd2b3890 pwm_request +EXPORT_SYMBOL_GPL vmlinux 0xcd4a63cd sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0xcd4e572e irq_domain_remove_sim +EXPORT_SYMBOL_GPL vmlinux 0xcd57775f inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0xcd5812ff regulator_set_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0xcd5a9438 cpufreq_disable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0xcd5d37d4 devm_spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0xcd6f2dc9 nf_log_buf_add +EXPORT_SYMBOL_GPL vmlinux 0xcd7302b2 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xcd759b82 k3_ringacc_ring_reset +EXPORT_SYMBOL_GPL vmlinux 0xcd7dd7b6 virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0xcd8fec06 fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0xcd910be7 ti_sci_get_num_resources +EXPORT_SYMBOL_GPL vmlinux 0xcd91b127 system_highpri_wq +EXPORT_SYMBOL_GPL vmlinux 0xcd92497b l3mdev_table_lookup_register +EXPORT_SYMBOL_GPL vmlinux 0xcd9cd2ff wakeme_after_rcu +EXPORT_SYMBOL_GPL vmlinux 0xcda2aaba k3_udma_glue_tx_dma_to_cppi5_addr +EXPORT_SYMBOL_GPL vmlinux 0xcdaefc67 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xcdb6adcc ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0xcdc09983 devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0xcdc16f95 vfs_inode_has_locks +EXPORT_SYMBOL_GPL vmlinux 0xcdc86b55 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdcfe92c balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0xcdd18689 irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xcde26600 cppc_get_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0xce03c9d3 tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0xce0a4020 xenbus_directory +EXPORT_SYMBOL_GPL vmlinux 0xce0c4d0a posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0xce17530b devm_regulator_irq_helper +EXPORT_SYMBOL_GPL vmlinux 0xce19e669 __traceiter_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0xce1ddb11 xdp_return_frame_bulk +EXPORT_SYMBOL_GPL vmlinux 0xce1ff6fc power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0xce24af01 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xce316d7e zynqmp_pm_set_sd_tapdelay +EXPORT_SYMBOL_GPL vmlinux 0xce3d78f3 power_supply_charge_behaviour_show +EXPORT_SYMBOL_GPL vmlinux 0xce598ef2 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xce6211fa rio_lock_device +EXPORT_SYMBOL_GPL vmlinux 0xce6a0fe7 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0xce6db656 rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0xce930be0 mtk_mmsys_ddp_connect +EXPORT_SYMBOL_GPL vmlinux 0xce945996 inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0xce9f7dd1 pinctrl_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0xceac8674 zynqmp_pm_read_pggs +EXPORT_SYMBOL_GPL vmlinux 0xceb1f126 mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0xced4bd6c pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xced81b2f __devm_of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0xcedeb5ec scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0xcee1641c kgdb_unregister_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xcee63cf8 driver_set_override +EXPORT_SYMBOL_GPL vmlinux 0xcee88e7a of_overlay_fdt_apply +EXPORT_SYMBOL_GPL vmlinux 0xceed8c16 __set_phys_to_machine +EXPORT_SYMBOL_GPL vmlinux 0xcefc2519 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xcf0b87d4 strp_process +EXPORT_SYMBOL_GPL vmlinux 0xcf180f85 __phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0xcf1952be serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xcf2b32e3 devm_thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcf3e0b2f invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0xcf462545 phy_pm_runtime_get_sync +EXPORT_SYMBOL_GPL vmlinux 0xcf59bad5 serial8250_do_set_divisor +EXPORT_SYMBOL_GPL vmlinux 0xcf5c039a devres_get +EXPORT_SYMBOL_GPL vmlinux 0xcf692d52 crypto_register_scomps +EXPORT_SYMBOL_GPL vmlinux 0xcf710b74 regulator_irq_helper +EXPORT_SYMBOL_GPL vmlinux 0xcf7cb4b3 gnttab_unmap_refs_async +EXPORT_SYMBOL_GPL vmlinux 0xcf7f66f9 imx_dev_clk_hw_pll14xx +EXPORT_SYMBOL_GPL vmlinux 0xcf8ee784 xenbus_register_driver_common +EXPORT_SYMBOL_GPL vmlinux 0xcf9983cf spi_split_transfers_maxsize +EXPORT_SYMBOL_GPL vmlinux 0xcf9a8361 devm_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xcfacb3d0 clk_hw_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0xcfad3c88 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xcfb473ff dprc_set_obj_irq +EXPORT_SYMBOL_GPL vmlinux 0xcfbab89f pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0xcfbc5ee2 icc_provider_add +EXPORT_SYMBOL_GPL vmlinux 0xcfc5108a devlink_fmsg_u8_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xcfc75a5f gfn_to_pfn_prot +EXPORT_SYMBOL_GPL vmlinux 0xcfc7b4e4 rcu_barrier_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0xcfc9550f sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0xcfcc2038 ahci_platform_resume_host +EXPORT_SYMBOL_GPL vmlinux 0xcfd30d71 acpi_os_map_memory +EXPORT_SYMBOL_GPL vmlinux 0xcff53a60 mpc8xxx_spi_tx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0xcff6015a i2c_acpi_find_adapter_by_handle +EXPORT_SYMBOL_GPL vmlinux 0xcffd793e hyperv_report_panic +EXPORT_SYMBOL_GPL vmlinux 0xcffffb7a synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0xd026d518 HYPERVISOR_vcpu_op +EXPORT_SYMBOL_GPL vmlinux 0xd02741dd dma_get_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0xd035b32b dev_pm_opp_set_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd03eaf4c schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0xd0458ccb xenbus_strstate +EXPORT_SYMBOL_GPL vmlinux 0xd04aedfd __SCK__tp_func_arm_event +EXPORT_SYMBOL_GPL vmlinux 0xd063aa81 skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0xd06524ba raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd067d3c5 system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0xd068ce1c i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL vmlinux 0xd073ba5c meson_a1_parse_dt_extra +EXPORT_SYMBOL_GPL vmlinux 0xd083d361 tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0xd08b72ba of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0xd09094a1 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0xd098d953 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xd09911a6 acpi_dev_get_irq_type +EXPORT_SYMBOL_GPL vmlinux 0xd0a2ed44 pwm_get_chip_data +EXPORT_SYMBOL_GPL vmlinux 0xd0ad37c4 dprc_open +EXPORT_SYMBOL_GPL vmlinux 0xd0b2310c kvm_read_guest_cached +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0c30204 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd0c8044a srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0xd0ca046b __traceiter_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xd0ca050d device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xd0cf62fc sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0xd0d156e9 __rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xd0d3f0a4 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0xd0db0f12 run_dax +EXPORT_SYMBOL_GPL vmlinux 0xd0dd6353 raw_v4_match +EXPORT_SYMBOL_GPL vmlinux 0xd0fd7085 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd10f4095 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xd130e818 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xd138c08a free_iova_fast +EXPORT_SYMBOL_GPL vmlinux 0xd13dd20e led_init_default_state_get +EXPORT_SYMBOL_GPL vmlinux 0xd148142a generic_handle_domain_irq +EXPORT_SYMBOL_GPL vmlinux 0xd1481de7 mpi_clear +EXPORT_SYMBOL_GPL vmlinux 0xd149a28d sock_map_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd14bbf1b dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0xd14c6a83 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0xd153f9ed clk_hw_register_composite +EXPORT_SYMBOL_GPL vmlinux 0xd159586c net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xd165a493 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd16a8cef __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0xd186d883 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0xd1a9ca15 __SCK__tp_func_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0xd1adf4d8 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0xd1bd1705 dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0xd1bfac07 sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0xd1cbc23c add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd1cc2dcb dprc_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xd1d03f27 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0xd1d92f31 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0xd1f2eee2 nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0xd1ff277e iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0xd2136167 dev_pm_set_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd21a0922 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0xd21b61bd async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0xd21c684d bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0xd21f02f7 blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0xd21f1d35 __SCK__tp_func_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0xd23a2cf8 dev_pm_opp_get_opp_table +EXPORT_SYMBOL_GPL vmlinux 0xd23d9ddc smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0xd2401a93 bio_end_io_acct_remapped +EXPORT_SYMBOL_GPL vmlinux 0xd2423f76 i2c_acpi_get_i2c_resource +EXPORT_SYMBOL_GPL vmlinux 0xd2427af8 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0xd248a519 rockchip_pmu_block +EXPORT_SYMBOL_GPL vmlinux 0xd24e9e8c klist_init +EXPORT_SYMBOL_GPL vmlinux 0xd25a1cca rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0xd25a3eba regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xd260af0d ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xd26604e2 ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0xd266dc57 xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0xd2714748 pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd27eeb4b alloc_iova +EXPORT_SYMBOL_GPL vmlinux 0xd27f215d gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xd2811cc5 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0xd2854a13 dev_pm_opp_of_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xd28b21e5 of_property_read_variable_u64_array +EXPORT_SYMBOL_GPL vmlinux 0xd29242d2 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0xd29c1f10 __traceiter_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0xd29ddc22 regmap_field_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0xd2a1406a __xdp_build_skb_from_frame +EXPORT_SYMBOL_GPL vmlinux 0xd2b10a05 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0xd2b2408a dev_get_tstats64 +EXPORT_SYMBOL_GPL vmlinux 0xd2d51682 param_set_uint_minmax +EXPORT_SYMBOL_GPL vmlinux 0xd2d5ac72 gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0xd2d7e59b unregister_platform_power_off +EXPORT_SYMBOL_GPL vmlinux 0xd2dd5c71 irq_gc_set_wake +EXPORT_SYMBOL_GPL vmlinux 0xd2e48d1b md_submit_discard_bio +EXPORT_SYMBOL_GPL vmlinux 0xd2ee5f7c sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xd30ac4aa stmpe811_adc_common_init +EXPORT_SYMBOL_GPL vmlinux 0xd30b1638 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xd313bc7b xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0xd31a2ac5 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0xd31cd6b8 gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0xd320ebaf pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0xd329fb4a skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0xd32afe63 da9052_disable_irq_nosync +EXPORT_SYMBOL_GPL vmlinux 0xd33ada8b cci_probed +EXPORT_SYMBOL_GPL vmlinux 0xd3551a76 zynqmp_pm_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd357feae ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xd36760ef __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xd36c2ae4 yield_to +EXPORT_SYMBOL_GPL vmlinux 0xd36d880f phy_check_downshift +EXPORT_SYMBOL_GPL vmlinux 0xd3752c27 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xd37fcb13 kvm_vcpu_mark_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0xd3980e38 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xd39e9848 put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xd39f4d76 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0xd3a11901 rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xd3a81b40 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xd3caeaf7 dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0xd3dbcbb0 device_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xd3e03d29 devm_nvdimm_memremap +EXPORT_SYMBOL_GPL vmlinux 0xd3e8f496 mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0xd3eaf1ed devlink_dpipe_entry_clear +EXPORT_SYMBOL_GPL vmlinux 0xd3ec851c __traceiter_unmap +EXPORT_SYMBOL_GPL vmlinux 0xd3f0cd42 misc_cg_res_total_usage +EXPORT_SYMBOL_GPL vmlinux 0xd3fdb4f4 trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd40632bb devm_ti_sci_get_handle +EXPORT_SYMBOL_GPL vmlinux 0xd41b00c2 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0xd426dbc4 erst_get_record_count +EXPORT_SYMBOL_GPL vmlinux 0xd42f1d4e show_rcu_tasks_rude_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0xd4476a27 pinctrl_dev_get_devname +EXPORT_SYMBOL_GPL vmlinux 0xd44a5eac kgdb_register_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xd45e3c6a __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0xd4673000 regulator_suspend_disable +EXPORT_SYMBOL_GPL vmlinux 0xd46af5ef cppc_get_perf_ctrs +EXPORT_SYMBOL_GPL vmlinux 0xd4935851 __SCK__tp_func_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0xd49955e8 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0xd4b1eb59 trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0xd4b6157e devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0xd4b9a616 reset_control_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4c5c131 dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0xd4c94b68 power_supply_property_is_writeable +EXPORT_SYMBOL_GPL vmlinux 0xd4cbdbe3 __SCK__tp_func_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0xd4ce4ccb check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0xd4dbcd03 gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0xd4e6d7e0 linear_range_get_value +EXPORT_SYMBOL_GPL vmlinux 0xd4ee8985 nvmem_cell_read_u16 +EXPORT_SYMBOL_GPL vmlinux 0xd4f114bf iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0xd4f17a7a tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0xd4f5bfa5 iommu_queue_iopf +EXPORT_SYMBOL_GPL vmlinux 0xd507f6ef of_icc_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xd5090bae inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0xd5191eeb vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xd51b0bb3 devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xd529ad1e md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0xd52b245e dev_pm_opp_remove_all_dynamic +EXPORT_SYMBOL_GPL vmlinux 0xd5301b2c linear_range_get_max_value +EXPORT_SYMBOL_GPL vmlinux 0xd53b5aed __mmc_poll_for_busy +EXPORT_SYMBOL_GPL vmlinux 0xd53c67b3 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xd5474690 usb_role_switch_set_role +EXPORT_SYMBOL_GPL vmlinux 0xd556fa5a power_supply_put_battery_info +EXPORT_SYMBOL_GPL vmlinux 0xd55ad93b iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xd56be03b tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0xd5787987 devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0xd5807af3 k3_ringacc_ring_pop +EXPORT_SYMBOL_GPL vmlinux 0xd5936f40 clk_hw_get_name +EXPORT_SYMBOL_GPL vmlinux 0xd595cfde md_account_bio +EXPORT_SYMBOL_GPL vmlinux 0xd59a1587 linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0xd59ab9b2 powercap_register_control_type +EXPORT_SYMBOL_GPL vmlinux 0xd5bc8a10 xen_find_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xd5d1871b ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0xd5df8a3a blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xd603b5c3 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xd6092ffa platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0xd61682c5 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xd6296418 tegra_bpmp_mrq_return +EXPORT_SYMBOL_GPL vmlinux 0xd63afe38 pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xd64ed259 __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0xd656b846 dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0xd65a6631 inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0xd65b93da thermal_zone_get_temp +EXPORT_SYMBOL_GPL vmlinux 0xd65c0e0c k3_ringacc_ring_cfg +EXPORT_SYMBOL_GPL vmlinux 0xd66db009 ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd68ef5b5 fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0xd6942240 udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0xd6aafb42 crc64_rocksoft +EXPORT_SYMBOL_GPL vmlinux 0xd6b27e8a xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0xd6ba8b7e device_move +EXPORT_SYMBOL_GPL vmlinux 0xd6d8f6b3 topology_set_scale_freq_source +EXPORT_SYMBOL_GPL vmlinux 0xd6dc45c2 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xd6e615aa imx93_clk_composite_flags +EXPORT_SYMBOL_GPL vmlinux 0xd6e910b0 usb_role_switch_find_by_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xd6f404dc genphy_c45_read_link +EXPORT_SYMBOL_GPL vmlinux 0xd6fce78a ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xd6ffdda1 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xd7085313 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0xd71781f7 iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0xd720c6c8 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0xd7269c64 osc_sb_native_usb4_control +EXPORT_SYMBOL_GPL vmlinux 0xd7293d1e get_net_ns_by_fd +EXPORT_SYMBOL_GPL vmlinux 0xd7293ffc percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0xd72feba2 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xd7399d2a efivar_entry_iter_end +EXPORT_SYMBOL_GPL vmlinux 0xd73e75e6 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0xd7404e09 devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0xd7463779 __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0xd74e400f show_rcu_tasks_classic_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0xd75b20aa rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0xd75ebf68 mtk_clk_register_muxes +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd771dc22 kvm_init +EXPORT_SYMBOL_GPL vmlinux 0xd773d1d8 pinctrl_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xd774957d mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0xd7759629 irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0xd77d0feb ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0xd7b70d9a fwnode_graph_get_endpoint_count +EXPORT_SYMBOL_GPL vmlinux 0xd7c0cacf irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0xd7c29ee6 set_capacity_and_notify +EXPORT_SYMBOL_GPL vmlinux 0xd7c91b63 tegra210_sata_pll_hw_control_enable +EXPORT_SYMBOL_GPL vmlinux 0xd7cea889 edac_mod_work +EXPORT_SYMBOL_GPL vmlinux 0xd7d3cff4 tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0xd7d7f2a7 devlink_port_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd7dbb93a of_thermal_is_trip_valid +EXPORT_SYMBOL_GPL vmlinux 0xd7dccd23 __SCK__tp_func_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0xd7e9113f of_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xd7f05fcc pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0xd7f33713 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0xd81bc6f7 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL vmlinux 0xd821122c devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0xd831314d usb_alloc_dev +EXPORT_SYMBOL_GPL vmlinux 0xd84d35bd dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xd84d7d51 usb_role_switch_register +EXPORT_SYMBOL_GPL vmlinux 0xd85465f7 reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xd8564b21 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0xd8631ff9 iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd8669f8f dax_writeback_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0xd86c86da fsl_mc_bus_dpdmai_type +EXPORT_SYMBOL_GPL vmlinux 0xd87fc0a0 usb_amd_prefetch_quirk +EXPORT_SYMBOL_GPL vmlinux 0xd89e09ad rockchip_register_softrst +EXPORT_SYMBOL_GPL vmlinux 0xd89e97db skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0xd8a2e5b0 register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0xd8b8e7c1 pwm_set_chip_data +EXPORT_SYMBOL_GPL vmlinux 0xd8bc4043 crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0xd8c3085e ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0xd8d17e83 tcf_dev_queue_xmit +EXPORT_SYMBOL_GPL vmlinux 0xd8d5aed7 pinctrl_generic_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0xd8d68ab1 dmi_memdev_type +EXPORT_SYMBOL_GPL vmlinux 0xd8d74a44 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0xd8d8c2c1 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xd8eb02ee fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0xd8fbb14d net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xd90a93a7 k3_udma_glue_rx_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xd91312d1 gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xd91bffbc thermal_zone_device_disable +EXPORT_SYMBOL_GPL vmlinux 0xd91d991e devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xd91dbd1f xdp_alloc_skb_bulk +EXPORT_SYMBOL_GPL vmlinux 0xd92968b0 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0xd92ef192 security_kernel_post_load_data +EXPORT_SYMBOL_GPL vmlinux 0xd92f0791 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xd9374926 balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0xd938024b open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0xd93a5cb1 efivar_variable_is_removable +EXPORT_SYMBOL_GPL vmlinux 0xd9450b56 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xd94b1f68 __regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xd963cd12 iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0xd96923d7 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0xd96babb4 interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd96c71c0 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0xd9703704 cpu_topology +EXPORT_SYMBOL_GPL vmlinux 0xd9796413 kvm_vcpu_read_guest_page +EXPORT_SYMBOL_GPL vmlinux 0xd97b9b89 acpi_cpu_get_madt_gicc +EXPORT_SYMBOL_GPL vmlinux 0xd9823061 ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0xd982d51f virtio_device_restore +EXPORT_SYMBOL_GPL vmlinux 0xd9916c3a idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0xd99f1f12 cpufreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd9a0a6f2 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0xd9d0a2af devlink_flash_update_timeout_notify +EXPORT_SYMBOL_GPL vmlinux 0xd9d62671 register_nvdimm_pmu +EXPORT_SYMBOL_GPL vmlinux 0xd9e24457 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0xd9e60513 device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0xd9e6f40e gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0xd9faa7a5 zynqmp_pm_set_pll_frac_mode +EXPORT_SYMBOL_GPL vmlinux 0xd9ff2172 ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xda069aca add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0xda0947de kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xda142177 sbitmap_queue_show +EXPORT_SYMBOL_GPL vmlinux 0xda14a1e6 pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0xda2f90d0 mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0xda320d31 sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0xda33ae7c sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0xda3f0c3f otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0xda46511e gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0xda496db4 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0xda506984 apei_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0xda7912d4 freq_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xda8e1302 software_node_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0xdaa06dc1 acpi_lpat_raw_to_temp +EXPORT_SYMBOL_GPL vmlinux 0xdab5a1eb interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0xdac89058 ping_hash +EXPORT_SYMBOL_GPL vmlinux 0xdaed87c5 gen10g_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb1e0db8 of_clk_hw_simple_get +EXPORT_SYMBOL_GPL vmlinux 0xdb1f30eb of_changeset_action +EXPORT_SYMBOL_GPL vmlinux 0xdb284b5e crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0xdb2ee930 firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0xdb330eaf skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xdb378b4f ioc_find_get_icq +EXPORT_SYMBOL_GPL vmlinux 0xdb3fcc3f nvmem_cell_read_variable_le_u32 +EXPORT_SYMBOL_GPL vmlinux 0xdb4298b6 pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0xdb4b949a rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xdb4f2748 devm_usb_get_phy_by_node +EXPORT_SYMBOL_GPL vmlinux 0xdb63a944 acpi_lpat_get_conversion_table +EXPORT_SYMBOL_GPL vmlinux 0xdb863a81 strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb8b13f3 get_net_ns_by_id +EXPORT_SYMBOL_GPL vmlinux 0xdbac03cc uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0xdbb61bd4 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdbc8da91 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xdbd23b84 gpiochip_irq_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0xdbdb0e8b request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xdbe2da12 call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0xdbe8d8a0 __SCK__tp_func_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xdbeeece6 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdc02eb39 dmi_available +EXPORT_SYMBOL_GPL vmlinux 0xdc0a6264 regmap_get_raw_write_max +EXPORT_SYMBOL_GPL vmlinux 0xdc139c13 k3_udma_glue_tx_get_hdesc_size +EXPORT_SYMBOL_GPL vmlinux 0xdc14a211 xen_hvm_evtchn_do_upcall +EXPORT_SYMBOL_GPL vmlinux 0xdc164fe8 nvdimm_volatile_region_create +EXPORT_SYMBOL_GPL vmlinux 0xdc1cf655 syscon_regmap_lookup_by_phandle_optional +EXPORT_SYMBOL_GPL vmlinux 0xdc230b15 pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0xdc42b1c9 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xdc43bdc6 pci_vpd_find_ro_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0xdc45a5db edac_stop_work +EXPORT_SYMBOL_GPL vmlinux 0xdc468044 pci_ecam_create +EXPORT_SYMBOL_GPL vmlinux 0xdc555a18 mmc_pwrseq_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdc6596fa irq_set_parent +EXPORT_SYMBOL_GPL vmlinux 0xdc6699cb acpi_dev_free_resource_list +EXPORT_SYMBOL_GPL vmlinux 0xdc790b1e sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0xdc7c4b82 dpcon_enable +EXPORT_SYMBOL_GPL vmlinux 0xdc7df67f apei_exec_ctx_init +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc841b74 misc_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc9fa232 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xdca73173 dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0xdcbe8333 proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0xdcd004d0 bgmac_enet_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdcdc50f0 bpf_trace_run6 +EXPORT_SYMBOL_GPL vmlinux 0xdcf1a2f9 __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0xdd00d585 gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0xdd046bca icc_nodes_remove +EXPORT_SYMBOL_GPL vmlinux 0xdd0762df set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0xdd1f7d01 clk_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xdd337367 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0xdd3b2189 nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0xdd450ef1 x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0xdd4dc242 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0xdd531af0 extcon_sync +EXPORT_SYMBOL_GPL vmlinux 0xdd626ee3 fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0xdd68a17d acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0xdd81d8f6 __SCK__tp_func_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xdd85fd1d rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xdd908cf9 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xdd92dc49 tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0xdd9b22d9 bgmac_enet_probe +EXPORT_SYMBOL_GPL vmlinux 0xddaefa2c __devm_clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0xddb5ac69 edac_pci_del_device +EXPORT_SYMBOL_GPL vmlinux 0xddb88a1c imx_pinconf_get_scu +EXPORT_SYMBOL_GPL vmlinux 0xddbeeecc pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0xddbf2264 tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0xddd3576e dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0xdde99d64 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xddf32520 __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xddfbd289 vp_modern_get_queue_size +EXPORT_SYMBOL_GPL vmlinux 0xde31bf7e unregister_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0xde41739d extcon_find_edev_by_node +EXPORT_SYMBOL_GPL vmlinux 0xde4cb011 tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xde4d3e8a devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0xde56ec43 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xde5b60ff init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xde6684b4 devfreq_event_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xde6f1851 TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0xde778e2b rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xde79e3fe of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0xde7c8583 devm_mipi_dsi_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0xde7e8a87 devm_led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0xde891a3a clk_hw_get_flags +EXPORT_SYMBOL_GPL vmlinux 0xde9ab8c7 xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xde9f94ef __traceiter_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0xdea5d63a usb_control_msg_recv +EXPORT_SYMBOL_GPL vmlinux 0xdead2e78 reserve_iova +EXPORT_SYMBOL_GPL vmlinux 0xdebd1334 em_dev_unregister_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0xdeddda8c regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0xdedfa931 devm_regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xdee91d7a dtpm_destroy_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xdeea12cc iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0xdeebcf97 __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0xdef4cbd0 dax_remove_host +EXPORT_SYMBOL_GPL vmlinux 0xdef580db gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0xdefa47c3 devm_regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xdeffa0a7 edac_raw_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0xdf097f8a sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0xdf0c757f ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0xdf0ca3f4 cpu_latency_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf1a2315 dev_pm_opp_get_opp_count +EXPORT_SYMBOL_GPL vmlinux 0xdf1be5e1 __free_iova +EXPORT_SYMBOL_GPL vmlinux 0xdf2738bb cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdf448d1c fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0xdf560d60 regulator_set_soft_start_regmap +EXPORT_SYMBOL_GPL vmlinux 0xdf7462b1 pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0xdf7544ad pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0xdf77cd60 unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0xdf861903 phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL vmlinux 0xdf948ef0 pm_clk_init +EXPORT_SYMBOL_GPL vmlinux 0xdf9c6f3e sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xdfc0888b perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0xdfcb6c90 mctrl_gpio_set +EXPORT_SYMBOL_GPL vmlinux 0xdfcc37f6 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xdfce1694 crypto_alloc_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xdfcff371 blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0xdfd58173 acpi_dev_get_memory_resources +EXPORT_SYMBOL_GPL vmlinux 0xdfdb2be4 devm_of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0xdfe80478 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0xdfff8bdf scsi_build_sense +EXPORT_SYMBOL_GPL vmlinux 0xe003bc5d i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL vmlinux 0xe01f4cb0 irq_force_affinity +EXPORT_SYMBOL_GPL vmlinux 0xe02abbe8 alloc_dax +EXPORT_SYMBOL_GPL vmlinux 0xe0313d71 rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0xe0356a96 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xe041a072 dev_attr_ncq_prio_supported +EXPORT_SYMBOL_GPL vmlinux 0xe05e2f85 nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe0605b82 regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xe067dbef attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe069ee1f irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0xe0872891 dm_audit_log_bio +EXPORT_SYMBOL_GPL vmlinux 0xe09b1740 vp_legacy_get_driver_features +EXPORT_SYMBOL_GPL vmlinux 0xe09cd83d dev_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0xe09df509 dev_pm_opp_disable +EXPORT_SYMBOL_GPL vmlinux 0xe0b1c103 clk_set_max_rate +EXPORT_SYMBOL_GPL vmlinux 0xe0b75199 blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0xe0b76f7e devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0xe0bb1b5c fsl_mc_bus_dprc_type +EXPORT_SYMBOL_GPL vmlinux 0xe0c02fbc gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0xe0c4e14d hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xe0cf64fe gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xe0e3147c HYPERVISOR_sched_op +EXPORT_SYMBOL_GPL vmlinux 0xe10cd6ad erst_get_record_id_begin +EXPORT_SYMBOL_GPL vmlinux 0xe128af5a pci_generic_ecam_ops +EXPORT_SYMBOL_GPL vmlinux 0xe1299eb6 iommu_sva_find +EXPORT_SYMBOL_GPL vmlinux 0xe12b7346 tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0xe1342e71 fsl_mc_bus_dpdmux_type +EXPORT_SYMBOL_GPL vmlinux 0xe145ff86 __of_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0xe14edfec xen_unmap_domain_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0xe157e785 phy_create_lookup +EXPORT_SYMBOL_GPL vmlinux 0xe1594f06 devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0xe15bec18 devm_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0xe15e8eb4 blk_mq_sched_mark_restart_hctx +EXPORT_SYMBOL_GPL vmlinux 0xe1746ade blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0xe176f22f dev_coredumpsg +EXPORT_SYMBOL_GPL vmlinux 0xe1775ee7 dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0xe1883088 gnttab_page_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xe188f948 xhci_reset_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0xe192e22e virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0xe19c5d40 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xe1a8d7c9 net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xe1a8f092 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xe1aef364 phy_driver_is_genphy +EXPORT_SYMBOL_GPL vmlinux 0xe1b071d2 devm_phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0xe1b36e64 bus_register +EXPORT_SYMBOL_GPL vmlinux 0xe1bd6c99 rio_init_mports +EXPORT_SYMBOL_GPL vmlinux 0xe1c87a2f kernel_can_power_off +EXPORT_SYMBOL_GPL vmlinux 0xe1d12e68 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0xe1d5c2a6 power_supply_get_battery_info +EXPORT_SYMBOL_GPL vmlinux 0xe209200c device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xe21e12b7 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xe233762a input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0xe246d6bd l3mdev_ifindex_lookup_by_table_id +EXPORT_SYMBOL_GPL vmlinux 0xe24c6fc9 irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0xe25239f9 virtio_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xe2523cfd device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0xe25d23f3 blocking_notifier_call_chain_robust +EXPORT_SYMBOL_GPL vmlinux 0xe25f36e5 sk_psock_init +EXPORT_SYMBOL_GPL vmlinux 0xe2811afc acpi_device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0xe28c41c5 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xe293494a crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0xe29b1618 of_usb_host_tpl_support +EXPORT_SYMBOL_GPL vmlinux 0xe29d5be1 bpf_trace_run3 +EXPORT_SYMBOL_GPL vmlinux 0xe2a9189d xdp_do_redirect_frame +EXPORT_SYMBOL_GPL vmlinux 0xe2b3207a unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe2bc3e76 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xe2c58c1a ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xe2ce2b4d evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0xe2d041cf gfn_to_pfn +EXPORT_SYMBOL_GPL vmlinux 0xe2d720a2 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0xe2d96f5b zynqmp_pm_feature +EXPORT_SYMBOL_GPL vmlinux 0xe2de8e8d sb800_prefetch +EXPORT_SYMBOL_GPL vmlinux 0xe2f79648 phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0xe306fe8c regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xe31315a4 spi_delay_exec +EXPORT_SYMBOL_GPL vmlinux 0xe31a8bf6 pinctrl_find_and_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xe31f9f08 cookie_tcp_reqsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe32be970 gfn_to_hva +EXPORT_SYMBOL_GPL vmlinux 0xe33566c7 fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0xe33b6a2f proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0xe348ee42 usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0xe3690c6f __traceiter_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0xe3840e18 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xe397caf5 seq_buf_printf +EXPORT_SYMBOL_GPL vmlinux 0xe39a28fc bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0xe39d06e0 pinmux_generic_remove_function +EXPORT_SYMBOL_GPL vmlinux 0xe39d0794 usb_phy_roothub_exit +EXPORT_SYMBOL_GPL vmlinux 0xe3a69620 devm_i2c_add_adapter +EXPORT_SYMBOL_GPL vmlinux 0xe3b09712 kprobe_event_delete +EXPORT_SYMBOL_GPL vmlinux 0xe3b8babe devfreq_get_devfreq_by_node +EXPORT_SYMBOL_GPL vmlinux 0xe3ca521b kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xe3cd5fae klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe3d1cd2a scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0xe3dc766a watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0xe3e423ac iommu_group_release_dma_owner +EXPORT_SYMBOL_GPL vmlinux 0xe3fd67b0 xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0xe40002f8 fwnode_get_phy_node +EXPORT_SYMBOL_GPL vmlinux 0xe40bb23e devlink_health_reporter_priv +EXPORT_SYMBOL_GPL vmlinux 0xe41ba6f4 devlink_port_type_eth_set +EXPORT_SYMBOL_GPL vmlinux 0xe4248980 cper_estatus_print +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe43c5a98 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xe44aa3f6 __clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0xe4623293 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xe4645776 gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0xe4699a79 fsl_mc_resource_allocate +EXPORT_SYMBOL_GPL vmlinux 0xe46c361f fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0xe46eadbf of_pci_range_parser_one +EXPORT_SYMBOL_GPL vmlinux 0xe47f77ea led_stop_software_blink +EXPORT_SYMBOL_GPL vmlinux 0xe48b709f strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0xe490e1f9 pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xe491e700 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xe4971ade tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xe4a3d1c9 ahci_platform_init_host +EXPORT_SYMBOL_GPL vmlinux 0xe4a8b1f7 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0xe4adb85e tegra_bpmp_request_mrq +EXPORT_SYMBOL_GPL vmlinux 0xe4af816f rio_add_net +EXPORT_SYMBOL_GPL vmlinux 0xe4b064f9 pcie_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xe4b292a9 xdp_master_redirect +EXPORT_SYMBOL_GPL vmlinux 0xe4b54c30 mmc_regulator_set_vqmmc +EXPORT_SYMBOL_GPL vmlinux 0xe4b818c3 phy_speed_to_str +EXPORT_SYMBOL_GPL vmlinux 0xe4bbdbe8 lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0xe4c2c66c rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0xe4ceaa89 nvmem_device_find +EXPORT_SYMBOL_GPL vmlinux 0xe4db3079 devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0xe4e0af28 tpm_tis_remove +EXPORT_SYMBOL_GPL vmlinux 0xe4e2680b paste_selection +EXPORT_SYMBOL_GPL vmlinux 0xe4e3b92e fsl_mc_bus_dpseci_type +EXPORT_SYMBOL_GPL vmlinux 0xe4e48b12 swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0xe4e4b71a tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0xe4ed8dce regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xe4eeb7d6 blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0xe5055d89 fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0xe50cc08e tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0xe5270ac4 disk_alloc_independent_access_ranges +EXPORT_SYMBOL_GPL vmlinux 0xe52862db pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xe5287603 gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0xe52b59d8 pm_genpd_init +EXPORT_SYMBOL_GPL vmlinux 0xe5353136 inet6_compat_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xe54567c9 acpi_bus_get_acpi_device +EXPORT_SYMBOL_GPL vmlinux 0xe5461b1c rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0xe5516728 k3_udma_glue_tx_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xe5570d72 fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0xe565d733 ahci_do_softreset +EXPORT_SYMBOL_GPL vmlinux 0xe56b6a02 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xe587111e user_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe589b035 devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0xe59e730a of_pci_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0xe5a925d3 zynqmp_pm_init_finalize +EXPORT_SYMBOL_GPL vmlinux 0xe5b20bdd evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0xe5c02b64 freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xe5c0ecb9 put_io_context +EXPORT_SYMBOL_GPL vmlinux 0xe5c56797 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0xe5cb1943 hisi_clk_register_divider +EXPORT_SYMBOL_GPL vmlinux 0xe5ce1a56 rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0xe5ceed04 thermal_zone_device_register +EXPORT_SYMBOL_GPL vmlinux 0xe5d0164f acpi_get_psd_map +EXPORT_SYMBOL_GPL vmlinux 0xe5d8badd __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xe5df03d5 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0xe5e92b48 tegra_bpmp_free_mrq +EXPORT_SYMBOL_GPL vmlinux 0xe5efb18f pinmux_generic_get_function +EXPORT_SYMBOL_GPL vmlinux 0xe5f7137f tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0xe60632a9 edac_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe60a5e8d pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xe60ea308 tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0xe617999f crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xe61868d0 powercap_unregister_control_type +EXPORT_SYMBOL_GPL vmlinux 0xe6255208 dma_resv_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xe626baa9 bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0xe628bb9f phy_fibre_port_array +EXPORT_SYMBOL_GPL vmlinux 0xe648abd7 skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0xe658147c kvm_vcpu_gfn_to_hva +EXPORT_SYMBOL_GPL vmlinux 0xe66df75d rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0xe672bae5 fsverity_verify_page +EXPORT_SYMBOL_GPL vmlinux 0xe6743175 xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0xe6776850 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xe69042d5 fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0xe6b38b1c sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0xe6b9e552 auxiliary_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe6d095b7 fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0xe6de889c gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xe6dfbc4a sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0xe6e40502 rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0xe6e5dd8a scmi_protocol_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe6e6b684 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xe6e988c5 k3_ringacc_get_tisci_dev_id +EXPORT_SYMBOL_GPL vmlinux 0xe6f52443 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0xe6f83837 acpi_bus_attach_private_data +EXPORT_SYMBOL_GPL vmlinux 0xe6f8b517 kvm_set_memory_region +EXPORT_SYMBOL_GPL vmlinux 0xe6fd9de0 acpi_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0xe700d767 reset_control_bulk_deassert +EXPORT_SYMBOL_GPL vmlinux 0xe71acd47 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0xe71b26a6 to_nd_region +EXPORT_SYMBOL_GPL vmlinux 0xe71e6844 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xe727f869 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0xe729f7be class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xe7366cd9 nvdimm_bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe73c97aa meson_pinctrl_probe +EXPORT_SYMBOL_GPL vmlinux 0xe73ecb12 dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0xe743325f devm_platform_get_irqs_affinity +EXPORT_SYMBOL_GPL vmlinux 0xe749de14 rio_mport_class +EXPORT_SYMBOL_GPL vmlinux 0xe753b68d devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xe7568bc7 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0xe7590d46 led_sysfs_enable +EXPORT_SYMBOL_GPL vmlinux 0xe75ba8f3 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe783e261 sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0xe78d5b4c ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0xe7936243 zynqmp_pm_clock_getstate +EXPORT_SYMBOL_GPL vmlinux 0xe7c1e708 of_icc_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0xe7cb3b19 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0xe7d6d2d4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xe7da0fee device_attach +EXPORT_SYMBOL_GPL vmlinux 0xe7e18407 pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xe7e4e860 kobject_move +EXPORT_SYMBOL_GPL vmlinux 0xe801cf5e shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0xe80205aa fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0xe8021a8a phy_pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xe8033af1 rio_set_port_lockout +EXPORT_SYMBOL_GPL vmlinux 0xe80a7b1d rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xe8126d8f pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0xe81379ee mtk_clk_gate_ops_no_setclr +EXPORT_SYMBOL_GPL vmlinux 0xe8140c75 synth_event_create +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe82a34b0 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xe835315b fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0xe8377131 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xe83e2682 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0xe8423d30 devm_regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe84ed34a unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe85a9fd3 cpu_cluster_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xe85ef5a6 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe867ceee filemap_add_folio +EXPORT_SYMBOL_GPL vmlinux 0xe867f972 device_create +EXPORT_SYMBOL_GPL vmlinux 0xe878c4cc powercap_unregister_zone +EXPORT_SYMBOL_GPL vmlinux 0xe87ebb26 gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0xe88ca50f tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xe8a9f65b lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0xe8b5c23f pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0xe8c0065d memory_group_register_static +EXPORT_SYMBOL_GPL vmlinux 0xe8c8b63a __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0xe8cf0905 mptcp_diag_fill_info +EXPORT_SYMBOL_GPL vmlinux 0xe8d32718 proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0xe8f6e393 cros_ec_check_features +EXPORT_SYMBOL_GPL vmlinux 0xe90c7659 k3_udma_glue_rx_dma_to_cppi5_addr +EXPORT_SYMBOL_GPL vmlinux 0xe90e4885 dev_pm_opp_get_freq +EXPORT_SYMBOL_GPL vmlinux 0xe911df29 eventfd_ctx_do_read +EXPORT_SYMBOL_GPL vmlinux 0xe91a3a40 tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0xe929de07 badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0xe92bb754 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0xe92f889f usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xe9352021 msi_first_desc +EXPORT_SYMBOL_GPL vmlinux 0xe93600ea fuse_mount_remove +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9431b92 sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0xe946a07e wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0xe9482bb7 mtk_mutex_add_comp +EXPORT_SYMBOL_GPL vmlinux 0xe956a75c pl320_ipc_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe96b3546 regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xe98abfb7 kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0xe98d65ad xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xe98f55f2 arm_smccc_get_version +EXPORT_SYMBOL_GPL vmlinux 0xe9b28fd5 badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9d4f924 __folio_lock_killable +EXPORT_SYMBOL_GPL vmlinux 0xe9d63a0d k3_udma_glue_enable_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0xe9e39829 fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0xe9e78584 of_icc_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0xe9e7f350 icc_put +EXPORT_SYMBOL_GPL vmlinux 0xe9f5116f rcu_exp_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0xe9f8e6e1 fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0xe9fa609a driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xe9fd4083 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0xea018bbb mpi_test_bit +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea171449 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xea23a0e3 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0xea28182b rio_del_device +EXPORT_SYMBOL_GPL vmlinux 0xea29f91d dev_pm_opp_adjust_voltage +EXPORT_SYMBOL_GPL vmlinux 0xea321d8b clk_hw_is_prepared +EXPORT_SYMBOL_GPL vmlinux 0xea38036f ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xea3a23f3 public_key_free +EXPORT_SYMBOL_GPL vmlinux 0xea3ab875 pinctrl_utils_free_map +EXPORT_SYMBOL_GPL vmlinux 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL vmlinux 0xea543e62 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xea5896eb sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0xea6aa811 od_register_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0xea7d7a60 efivar_entry_remove +EXPORT_SYMBOL_GPL vmlinux 0xea89f288 pci_ecam_map_bus +EXPORT_SYMBOL_GPL vmlinux 0xeab59108 irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0xeab76ef6 gnttab_pages_clear_private +EXPORT_SYMBOL_GPL vmlinux 0xeac6e0ee devm_clk_get_optional_prepared +EXPORT_SYMBOL_GPL vmlinux 0xeace8287 pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xead035ee __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xead26c34 devm_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xead3e41b __traceiter_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xead54924 mctrl_gpio_to_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xead5c8e5 clk_bulk_prepare +EXPORT_SYMBOL_GPL vmlinux 0xeae0f496 clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0xeae552e1 mtk_build_eint +EXPORT_SYMBOL_GPL vmlinux 0xeaf0a57c look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0xeaf3cb23 crc64_be +EXPORT_SYMBOL_GPL vmlinux 0xeaf8469d hv_do_fast_hypercall8 +EXPORT_SYMBOL_GPL vmlinux 0xeb00ce3c dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0xeb03c675 of_detach_node +EXPORT_SYMBOL_GPL vmlinux 0xeb12e0ab regmap_get_raw_read_max +EXPORT_SYMBOL_GPL vmlinux 0xeb19abc5 pinctrl_pm_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0xeb20f7fc ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0xeb36e50e dprc_get_obj +EXPORT_SYMBOL_GPL vmlinux 0xeb40bf88 handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0xeb4221e4 trace_clock +EXPORT_SYMBOL_GPL vmlinux 0xeb4b5ffb raw_abort +EXPORT_SYMBOL_GPL vmlinux 0xeb62ae15 bgmac_enet_remove +EXPORT_SYMBOL_GPL vmlinux 0xeb66aa2e dpcon_close +EXPORT_SYMBOL_GPL vmlinux 0xeb6ff9f5 fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0xeb78b1ed unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xeb817a78 tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xeb85c340 fscrypt_set_context +EXPORT_SYMBOL_GPL vmlinux 0xeb933b34 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0xebbee10e mtk_eint_do_init +EXPORT_SYMBOL_GPL vmlinux 0xebc9a09f lock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0xebd4cc11 mctrl_gpio_enable_ms +EXPORT_SYMBOL_GPL vmlinux 0xebdb078b pm_clk_remove_clk +EXPORT_SYMBOL_GPL vmlinux 0xebe05dc8 serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0xec0f4393 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0xec28cba2 regulator_allow_bypass +EXPORT_SYMBOL_GPL vmlinux 0xec304739 blk_crypto_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0xec3223f1 balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0xec36d44c fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0xec394bfb __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0xec4b6a4b serial8250_em485_destroy +EXPORT_SYMBOL_GPL vmlinux 0xec5668f6 dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0xec5ad73b trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0xec61acbe iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0xec64a3d3 devm_regmap_init_vexpress_config +EXPORT_SYMBOL_GPL vmlinux 0xec710b35 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0xec774acb cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xec8f6aba __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xeca088ab blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0xeca4d425 mtk_hw_get_value +EXPORT_SYMBOL_GPL vmlinux 0xecaaa2dd srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xecb397fb find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xecb671fc tegra210_sata_pll_hw_sequence_start +EXPORT_SYMBOL_GPL vmlinux 0xecba68e3 gnttab_batch_map +EXPORT_SYMBOL_GPL vmlinux 0xecd7dd7d virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0xecd8f23d xenbus_read +EXPORT_SYMBOL_GPL vmlinux 0xecf62569 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xed02d6f1 of_mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0xed0a652c fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0xed143290 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xed16a591 scmi_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xed1e9d21 gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0xed29ad73 spi_mem_exec_op +EXPORT_SYMBOL_GPL vmlinux 0xed2c5bcf power_supply_charge_behaviour_parse +EXPORT_SYMBOL_GPL vmlinux 0xed2ed183 pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0xed39b7b8 parse_OID +EXPORT_SYMBOL_GPL vmlinux 0xed51a4a4 nvmem_add_cell_table +EXPORT_SYMBOL_GPL vmlinux 0xed6780ac acpi_gpiochip_free_interrupts +EXPORT_SYMBOL_GPL vmlinux 0xed8c384b netdev_xmit_skip_txqueue +EXPORT_SYMBOL_GPL vmlinux 0xed918dde hte_init_line_attr +EXPORT_SYMBOL_GPL vmlinux 0xed94ee04 tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0xed972cc8 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0xed982953 regmap_field_read +EXPORT_SYMBOL_GPL vmlinux 0xed9ec2dd gnttab_page_cache_put +EXPORT_SYMBOL_GPL vmlinux 0xeda09cc4 pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0xedb25c2d blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0xedc4c68e __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0xedd092d5 power_supply_notifier +EXPORT_SYMBOL_GPL vmlinux 0xede9a09a btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0xedfc3a80 fsl_mc_bus_dprtc_type +EXPORT_SYMBOL_GPL vmlinux 0xedfd4c8b mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0xee026561 phy_remove_lookup +EXPORT_SYMBOL_GPL vmlinux 0xee0f2bbd tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xee1f5126 __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xee36ab36 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xee38ef57 register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee518148 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0xee636522 amba_device_put +EXPORT_SYMBOL_GPL vmlinux 0xee6b71c4 syscon_regmap_lookup_by_compatible +EXPORT_SYMBOL_GPL vmlinux 0xee6c633a devices_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xee6d1845 vp_legacy_set_features +EXPORT_SYMBOL_GPL vmlinux 0xee852377 dev_pm_opp_find_freq_floor +EXPORT_SYMBOL_GPL vmlinux 0xee921700 __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0xeea27beb tegra_xusb_padctl_legacy_remove +EXPORT_SYMBOL_GPL vmlinux 0xeebe85b2 of_platform_device_destroy +EXPORT_SYMBOL_GPL vmlinux 0xeec384dd devlink_to_dev +EXPORT_SYMBOL_GPL vmlinux 0xeed0cea4 kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xeed3e86f crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0xeed5e381 is_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0xeedc95a2 blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0xeedd987e phy_10gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0xeedfa62a zynqmp_pm_is_function_supported +EXPORT_SYMBOL_GPL vmlinux 0xeef0f10d devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0xeefbad97 iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0xef01bb6c vp_legacy_get_status +EXPORT_SYMBOL_GPL vmlinux 0xef03aa71 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xef1a56d0 pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0xef1f6e23 apei_resources_request +EXPORT_SYMBOL_GPL vmlinux 0xef29fcdd clk_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xef2f0e5d housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0xef34bf3e hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0xef3f195b tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xef464c28 getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0xef50ed97 kvm_io_bus_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xef562b40 ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0xef5db66d regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef6ecb70 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0xef70eb7e ring_buffer_iter_advance +EXPORT_SYMBOL_GPL vmlinux 0xef8fc179 blk_crypto_profile_init +EXPORT_SYMBOL_GPL vmlinux 0xef92ef33 btree_last +EXPORT_SYMBOL_GPL vmlinux 0xefa2c27d register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefad636f pwm_capture +EXPORT_SYMBOL_GPL vmlinux 0xefb65781 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xefd460b6 kvm_write_guest +EXPORT_SYMBOL_GPL vmlinux 0xefe84791 spi_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xefe98e69 fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0xefeafcf1 edac_has_mcs +EXPORT_SYMBOL_GPL vmlinux 0xeffb6758 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0xf002eb12 set_secondary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xf012349d gnttab_batch_copy +EXPORT_SYMBOL_GPL vmlinux 0xf039995d fsl_mc_allocate_irqs +EXPORT_SYMBOL_GPL vmlinux 0xf03b0410 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0xf03bc506 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0xf04429b4 acpi_bus_get_status_handle +EXPORT_SYMBOL_GPL vmlinux 0xf04ead18 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0xf05a52fe asn1_encode_oid +EXPORT_SYMBOL_GPL vmlinux 0xf05fbf09 pci_pio_to_address +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf06a2f82 devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0xf06bb251 devm_power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xf06fefb0 ahci_start_fis_rx +EXPORT_SYMBOL_GPL vmlinux 0xf075e36d devm_namespace_enable +EXPORT_SYMBOL_GPL vmlinux 0xf07af269 devm_krealloc +EXPORT_SYMBOL_GPL vmlinux 0xf0910075 sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0xf09c6a75 phy_restore_page +EXPORT_SYMBOL_GPL vmlinux 0xf0a69fb0 iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xf0b52643 netif_carrier_event +EXPORT_SYMBOL_GPL vmlinux 0xf0b7b37a dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf0c08c88 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0xf0c92140 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0xf0ce1790 md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf0e2b75b shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xf0f7808f __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xf0f823c5 irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xf0fb1ce1 mcore_booted +EXPORT_SYMBOL_GPL vmlinux 0xf108cf44 dev_pm_domain_attach_by_name +EXPORT_SYMBOL_GPL vmlinux 0xf10cd6a3 mtk_pinconf_adv_drive_set +EXPORT_SYMBOL_GPL vmlinux 0xf12180fd imx_1443x_dram_pll +EXPORT_SYMBOL_GPL vmlinux 0xf122077c dprc_get_obj_count +EXPORT_SYMBOL_GPL vmlinux 0xf133c726 rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xf14317ef devl_rate_nodes_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf148e34b devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0xf14e2102 mtk_pinconf_bias_disable_get +EXPORT_SYMBOL_GPL vmlinux 0xf15f01ce trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0xf176b35c sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0xf17ffbed crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf188a662 rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0xf18c0108 ti_sci_inta_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0xf192cfe4 i2c_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0xf19ca160 register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xf19f81fc class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xf1c5df95 regulator_set_suspend_voltage +EXPORT_SYMBOL_GPL vmlinux 0xf1d0844a blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0xf1d37571 pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0xf1efe53b l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf1f8bc56 of_genpd_del_provider +EXPORT_SYMBOL_GPL vmlinux 0xf1f92fbb sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xf2013200 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0xf20fac88 mmput +EXPORT_SYMBOL_GPL vmlinux 0xf21e1f9b disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xf22651b2 serial8250_do_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xf2289625 __traceiter_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf234a180 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xf23b1870 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xf24c8314 xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xf25efd39 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0xf26d2343 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf27d0a7b gnttab_grant_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xf282f528 phy_pm_runtime_put_sync +EXPORT_SYMBOL_GPL vmlinux 0xf283ec28 irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0xf28404cf devlink_dpipe_header_ipv6 +EXPORT_SYMBOL_GPL vmlinux 0xf288c16b __alloc_pages_bulk +EXPORT_SYMBOL_GPL vmlinux 0xf2967796 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0xf296c3a7 fsl_mc_portal_free +EXPORT_SYMBOL_GPL vmlinux 0xf2a43f3c virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0xf2b33cb7 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xf2c60b18 irq_get_domain_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xf2d30f1e gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xf2e9a3d7 gnttab_dma_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xf2ea1dc7 pm_clk_resume +EXPORT_SYMBOL_GPL vmlinux 0xf2ecb6a9 devm_rpi_firmware_get +EXPORT_SYMBOL_GPL vmlinux 0xf2f1ce4a power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0xf2f72f5c sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0xf2f7c4b0 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf2fb61bd vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0xf3031b28 extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf30a5502 cpufreq_enable_boost_support +EXPORT_SYMBOL_GPL vmlinux 0xf30cdd90 reset_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf311e156 key_being_used_for +EXPORT_SYMBOL_GPL vmlinux 0xf31632e0 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf31dec71 usb_urb_ep_type_check +EXPORT_SYMBOL_GPL vmlinux 0xf32bdc5d unregister_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf32e30f6 crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf352023f memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xf36d2899 linear_hugepage_index +EXPORT_SYMBOL_GPL vmlinux 0xf3797506 mpi_ec_deinit +EXPORT_SYMBOL_GPL vmlinux 0xf380879f mtk_clk_register_gates +EXPORT_SYMBOL_GPL vmlinux 0xf3808cb1 get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf393fcba regmap_write_async +EXPORT_SYMBOL_GPL vmlinux 0xf39596d0 pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0xf3a27c46 crypto_alloc_acomp_node +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3b95d79 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0xf3c8d013 xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0xf3dbafd8 dpcon_reset +EXPORT_SYMBOL_GPL vmlinux 0xf3ebc74a transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0xf3ec6d48 mptcp_pm_get_add_addr_signal_max +EXPORT_SYMBOL_GPL vmlinux 0xf3f24c3f class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xf3f9ca78 rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0xf4002949 kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0xf42ddff2 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0xf4689d50 linkmode_set_pause +EXPORT_SYMBOL_GPL vmlinux 0xf46c8605 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xf4707cf4 inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf47654df irq_check_status_bit +EXPORT_SYMBOL_GPL vmlinux 0xf48ec0a6 msi_lock_descs +EXPORT_SYMBOL_GPL vmlinux 0xf49556a0 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0xf497ef12 ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0xf4a00349 __tracepoint_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0xf4a9c703 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0xf4ac4c9f __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xf4acc5aa usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xf4af35c2 rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0xf4bfda49 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xf4cd9f8f reset_control_bulk_release +EXPORT_SYMBOL_GPL vmlinux 0xf4da75a7 fsl_mc_bus_dpci_type +EXPORT_SYMBOL_GPL vmlinux 0xf4daceee __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0xf4e4ce8d ata_ncq_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0xf4ec1f7f ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0xf4ef5a80 dma_vmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0xf4fb33d0 md_start +EXPORT_SYMBOL_GPL vmlinux 0xf5040197 devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf50abc3f sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xf515821d phy_basic_features +EXPORT_SYMBOL_GPL vmlinux 0xf530a8d9 mtk_clk_register_plls +EXPORT_SYMBOL_GPL vmlinux 0xf5406ad5 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf54f5e68 meson_clk_cpu_dyndiv_ops +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf56518d5 crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xf565a286 iomap_read_folio +EXPORT_SYMBOL_GPL vmlinux 0xf567c0a6 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xf56907c6 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xf58753c0 regmap_mmio_detach_clk +EXPORT_SYMBOL_GPL vmlinux 0xf594ada8 kvm_vcpu_write_guest_page +EXPORT_SYMBOL_GPL vmlinux 0xf59dfe1f of_get_display_timing +EXPORT_SYMBOL_GPL vmlinux 0xf5a067bf iommu_group_dma_owner_claimed +EXPORT_SYMBOL_GPL vmlinux 0xf5a3ba99 linear_range_values_in_range +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5b68bbd __traceiter_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xf5bb61aa devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0xf5d16485 usb_hub_claim_port +EXPORT_SYMBOL_GPL vmlinux 0xf5f370e0 async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0xf61c6b74 hv_do_hypercall +EXPORT_SYMBOL_GPL vmlinux 0xf63fe19b of_pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0xf6484c95 uart_console_device +EXPORT_SYMBOL_GPL vmlinux 0xf64aaa25 alarm_init +EXPORT_SYMBOL_GPL vmlinux 0xf663ee2f pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0xf67026b8 kthread_func +EXPORT_SYMBOL_GPL vmlinux 0xf674fada crypto_wait_for_test +EXPORT_SYMBOL_GPL vmlinux 0xf6754797 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0xf68918e7 divider_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0xf68e6ddb device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0xf694fb66 kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xf6955817 regmap_raw_write_async +EXPORT_SYMBOL_GPL vmlinux 0xf6a28554 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0xf6a3e85a rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xf6ad3442 of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xf6b97b73 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0xf6beee37 __SCK__tp_func_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xf6c71a25 cper_severity_str +EXPORT_SYMBOL_GPL vmlinux 0xf6c8a91d ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0xf6c8dc62 cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0xf6d10539 cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0xf6d1758c __traceiter_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xf6d44379 i2c_dw_probe_master +EXPORT_SYMBOL_GPL vmlinux 0xf6e46440 devm_memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0xf6e772c3 irq_bypass_unregister_producer +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6f16c56 rcu_barrier_tasks +EXPORT_SYMBOL_GPL vmlinux 0xf6f9e0a9 acpi_subsys_restore_early +EXPORT_SYMBOL_GPL vmlinux 0xf6fac348 cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xf705538f crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0xf70e4a4d preempt_schedule_notrace +EXPORT_SYMBOL_GPL vmlinux 0xf7154688 crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0xf72a65ea tty_get_char_size +EXPORT_SYMBOL_GPL vmlinux 0xf730fb4a qcom_smem_state_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xf734ca3d vp_modern_set_features +EXPORT_SYMBOL_GPL vmlinux 0xf744298f hv_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0xf7455c16 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xf749debc md5_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0xf74a90fb switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0xf74bb274 mod_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xf74c9643 xdp_build_skb_from_frame +EXPORT_SYMBOL_GPL vmlinux 0xf74e7c93 jump_label_rate_limit +EXPORT_SYMBOL_GPL vmlinux 0xf75d5192 synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0xf75f5ec0 tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0xf760d39e clk_register +EXPORT_SYMBOL_GPL vmlinux 0xf7671fd5 icc_link_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf7772bde xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0xf77b1e67 mtk_pinconf_bias_disable_set +EXPORT_SYMBOL_GPL vmlinux 0xf782fb07 percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0xf7866b4f bind_evtchn_to_irqhandler_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0xf791465a virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0xf7afb369 btree_init +EXPORT_SYMBOL_GPL vmlinux 0xf7b818eb usb_pipe_type_check +EXPORT_SYMBOL_GPL vmlinux 0xf7bc36e0 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0xf7bc95b0 devlink_fmsg_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xf7c3f273 xen_resume_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xf7c6e5fc crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0xf7ddb825 iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0xf7ea44bb kvm_vcpu_gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL vmlinux 0xf80f5fc7 __SCK__tp_func_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0xf81bb133 perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0xf81dce70 thermal_genl_cpu_capability_event +EXPORT_SYMBOL_GPL vmlinux 0xf82f3657 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf8377bf0 mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0xf842036d __imx8m_clk_hw_composite +EXPORT_SYMBOL_GPL vmlinux 0xf84262d2 iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0xf852d746 __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0xf853244e regulator_get_linear_step +EXPORT_SYMBOL_GPL vmlinux 0xf8540d8c sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0xf8589f56 acpi_create_platform_device +EXPORT_SYMBOL_GPL vmlinux 0xf85a77b6 ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0xf861bd31 rockchip_clk_register_ddrclk +EXPORT_SYMBOL_GPL vmlinux 0xf869dd81 gov_attr_set_init +EXPORT_SYMBOL_GPL vmlinux 0xf86b01e9 of_devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xf86c9d73 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0xf8783b43 sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0xf87cefd0 devm_ti_sci_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xf88257d9 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xf883bf93 crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0xf8943bf9 pinctrl_enable +EXPORT_SYMBOL_GPL vmlinux 0xf899f2ba nvdimm_bus_check_dimm_count +EXPORT_SYMBOL_GPL vmlinux 0xf8a692d3 da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xf8ad5153 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0xf8c154d5 hisi_clk_register_phase +EXPORT_SYMBOL_GPL vmlinux 0xf8c26e1a usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0xf8d43d28 metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0xf8edcf6b dev_pm_genpd_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf8f124d1 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf900c77d zynqmp_pm_clock_disable +EXPORT_SYMBOL_GPL vmlinux 0xf903a616 bgmac_adjust_link +EXPORT_SYMBOL_GPL vmlinux 0xf9093f5b __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xf91226bb of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0xf914e87f trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf917ca84 sch_frag_xmit_hook +EXPORT_SYMBOL_GPL vmlinux 0xf93b2978 clk_hw_get_parent +EXPORT_SYMBOL_GPL vmlinux 0xf95322f4 kthread_parkme +EXPORT_SYMBOL_GPL vmlinux 0xf955e9c5 bprintf +EXPORT_SYMBOL_GPL vmlinux 0xf956bbb1 iopf_queue_add_device +EXPORT_SYMBOL_GPL vmlinux 0xf964706c devres_add +EXPORT_SYMBOL_GPL vmlinux 0xf967422b HYPERVISOR_xen_version +EXPORT_SYMBOL_GPL vmlinux 0xf96df384 devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0xf9713e8a crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0xf9778a73 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xf98db6c9 scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0xf99bbdd4 xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9a3c5dc zynqmp_pm_load_pdi +EXPORT_SYMBOL_GPL vmlinux 0xf9b34a0b iopf_queue_free +EXPORT_SYMBOL_GPL vmlinux 0xf9b364a0 irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0xf9b3e88c crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xf9b71413 bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0xf9bc559b spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0xf9d26ea9 pinctrl_utils_reserve_map +EXPORT_SYMBOL_GPL vmlinux 0xf9dc4ec4 fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0xf9e50be1 devm_phy_create +EXPORT_SYMBOL_GPL vmlinux 0xf9eed8c2 alloc_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0xf9f7ac8d crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0xfa0d315a regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0xfa18bc31 dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa23bb5c component_release_of +EXPORT_SYMBOL_GPL vmlinux 0xfa2f09fd devm_rtc_allocate_device +EXPORT_SYMBOL_GPL vmlinux 0xfa31c198 acpi_is_pnp_device +EXPORT_SYMBOL_GPL vmlinux 0xfa349688 aer_recover_queue +EXPORT_SYMBOL_GPL vmlinux 0xfa43cefc is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xfa4a3669 i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL vmlinux 0xfa5a4364 nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0xfa666974 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0xfa6d2ff8 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0xfa73fd04 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xfa8e98ae watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0xfa98af4e perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0xfa9a6f79 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0xfaa1e35a bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0xfaa244f1 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0xfaaf8621 power_supply_battery_bti_in_range +EXPORT_SYMBOL_GPL vmlinux 0xfab30dc0 mdio_bus_exit +EXPORT_SYMBOL_GPL vmlinux 0xfab53ed9 pinctrl_gpio_can_use_line +EXPORT_SYMBOL_GPL vmlinux 0xfac03c66 of_get_required_opp_performance_state +EXPORT_SYMBOL_GPL vmlinux 0xfad9c827 kill_dax +EXPORT_SYMBOL_GPL vmlinux 0xfae69a04 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xfaf8927c debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xfafb84d2 __class_register +EXPORT_SYMBOL_GPL vmlinux 0xfb1d14e2 preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xfb1f998d devfreq_cooling_em_register +EXPORT_SYMBOL_GPL vmlinux 0xfb288b36 gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0xfb303970 of_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb547f9b nvdimm_flush +EXPORT_SYMBOL_GPL vmlinux 0xfb5563e1 synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb897e36 crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0xfb8c249c device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0xfb8daab7 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0xfb99095a put_device +EXPORT_SYMBOL_GPL vmlinux 0xfba8a5d6 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0xfbaadb28 irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0xfbb354b5 sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0xfbb56150 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xfbbd41ca no_action +EXPORT_SYMBOL_GPL vmlinux 0xfbffd601 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xfc03a4ca proc_dou8vec_minmax +EXPORT_SYMBOL_GPL vmlinux 0xfc03d97a page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xfc14bb2e dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xfc1567a6 get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0xfc19dba3 usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0xfc1ca3ab of_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0xfc201b66 sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0xfc254d15 gnttab_free_auto_xlat_frames +EXPORT_SYMBOL_GPL vmlinux 0xfc27c973 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xfc371802 pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0xfc3a789e devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0xfc3b4246 acpi_bus_update_power +EXPORT_SYMBOL_GPL vmlinux 0xfc3b4c34 meson_clk_pcie_pll_ops +EXPORT_SYMBOL_GPL vmlinux 0xfc464ebd netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0xfc5409c5 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xfc5fa775 fork_usermode_driver +EXPORT_SYMBOL_GPL vmlinux 0xfc606ded tegra_bpmp_get +EXPORT_SYMBOL_GPL vmlinux 0xfc9477b5 zynqmp_pm_set_pll_frac_data +EXPORT_SYMBOL_GPL vmlinux 0xfc949015 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xfca75c5e tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0xfca7f934 devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0xfca907f8 cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0xfcb47988 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0xfcbfec70 add_memory_driver_managed +EXPORT_SYMBOL_GPL vmlinux 0xfcc1edd3 memory_block_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0xfcd181da devm_regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xfcd1a126 iomap_release_folio +EXPORT_SYMBOL_GPL vmlinux 0xfcda7af7 mbox_chan_txdone +EXPORT_SYMBOL_GPL vmlinux 0xfce5d578 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xfcf569b3 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0xfcf9ef73 hw_protection_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xfcffb5ea device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0xfd0129f6 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0xfd068326 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xfd09c2d6 ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0xfd195774 k3_udma_glue_disable_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0xfd287165 __nvdimm_create +EXPORT_SYMBOL_GPL vmlinux 0xfd2c62ad devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0xfd369303 irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0xfd40d9c6 extcon_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfd5b1c72 devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0xfd6555fb xlnx_unregister_event +EXPORT_SYMBOL_GPL vmlinux 0xfd6608b6 pinconf_generic_dt_free_map +EXPORT_SYMBOL_GPL vmlinux 0xfd6c436e scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0xfd6cda07 vp_legacy_config_vector +EXPORT_SYMBOL_GPL vmlinux 0xfd7243c7 erst_disable +EXPORT_SYMBOL_GPL vmlinux 0xfd99825f pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xfdafadd2 gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xfdb8c315 auxiliary_device_init +EXPORT_SYMBOL_GPL vmlinux 0xfdbd7a17 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xfdbe4e25 bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0xfdc0c743 vchan_tx_desc_free +EXPORT_SYMBOL_GPL vmlinux 0xfdc92509 fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0xfdd4cf66 pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0xfdd53ff6 xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0xfdea2d04 alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0xfdfa53bf blk_queue_zone_write_granularity +EXPORT_SYMBOL_GPL vmlinux 0xfe01ab5f iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0xfe02528f ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0xfe0e7cd3 apei_exec_post_unmap_gars +EXPORT_SYMBOL_GPL vmlinux 0xfe11efa8 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xfe19dc28 vivaldi_function_row_physmap_show +EXPORT_SYMBOL_GPL vmlinux 0xfe1a7a7b mpi_point_release +EXPORT_SYMBOL_GPL vmlinux 0xfe279abd xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0xfe342a23 strp_init +EXPORT_SYMBOL_GPL vmlinux 0xfe375cfb rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0xfe3a6de3 alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xfe476039 ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe4d3c95 rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xfe54bb19 dev_pm_genpd_set_performance_state +EXPORT_SYMBOL_GPL vmlinux 0xfe552b72 rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xfe752d5b pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0xfe84c7e2 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xfe859d2d find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0xfe876044 gov_attr_set_put +EXPORT_SYMBOL_GPL vmlinux 0xfe8b19c1 dma_request_chan_by_mask +EXPORT_SYMBOL_GPL vmlinux 0xfe8cdb84 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfe99dad0 dtpm_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xfe9becb9 __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xfeb04cda bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0xfec3bf84 icst_clk_setup +EXPORT_SYMBOL_GPL vmlinux 0xfeca5339 devm_clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfede9222 __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0xfedfb252 mpc8xxx_spi_tx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0xfeee071f fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0xfeeecd05 apei_read +EXPORT_SYMBOL_GPL vmlinux 0xfeeed2c8 devm_clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfef10779 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xfefb63ae usb_get_dr_mode +EXPORT_SYMBOL_GPL vmlinux 0xfefcf59c regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff0e79c0 is_software_node +EXPORT_SYMBOL_GPL vmlinux 0xff14c555 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xff1666f3 reset_control_bulk_assert +EXPORT_SYMBOL_GPL vmlinux 0xff1f1591 pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0xff291ecf clk_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0xff2ad480 __clk_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xff354a53 msi_next_desc +EXPORT_SYMBOL_GPL vmlinux 0xff374a2e devm_otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0xff42c374 usb_role_switch_get_role +EXPORT_SYMBOL_GPL vmlinux 0xff49ee11 pci_host_common_remove +EXPORT_SYMBOL_GPL vmlinux 0xff694580 ata_pci_shutdown_one +EXPORT_SYMBOL_GPL vmlinux 0xff7c4d03 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xff7d71fd iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0xff7e33bf mpi_sub_ui +EXPORT_SYMBOL_GPL vmlinux 0xff806398 auxiliary_find_device +EXPORT_SYMBOL_GPL vmlinux 0xff81487d gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0xff82421b imx_pinctrl_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0xff82cd02 __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0xff88df15 of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0xff8da7ca debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xff8db3de pinctrl_pm_select_sleep_state +EXPORT_SYMBOL_GPL vmlinux 0xff95a757 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0xff994ef2 device_match_name +EXPORT_SYMBOL_GPL vmlinux 0xff9c46e8 extcon_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xff9e23d1 hugetlb_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xff9e7350 platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xffae8e8b nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xffbf40ce pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0xffbfad68 nvdimm_cmd_mask +EXPORT_SYMBOL_GPL vmlinux 0xffc86f14 __xas_next +EXPORT_SYMBOL_GPL vmlinux 0xffce4108 crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xffd770ed i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xffe39a70 usb_altnum_to_altsetting +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0x07342898 unregister_firmware_config_sysctl vmlinux +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xae43feea register_firmware_config_sysctl vmlinux +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xd3ae7756 fw_fallback_config vmlinux +HWMON_THERMAL EXPORT_SYMBOL_GPL 0x54b23dc7 hwmon_device_register_for_thermal vmlinux +IIO_AD5592R EXPORT_SYMBOL_GPL 0xcc4d2a6a ad5592r_probe drivers/iio/dac/ad5592r-base +IIO_AD5592R EXPORT_SYMBOL_GPL 0xe4dfe16d ad5592r_remove drivers/iio/dac/ad5592r-base +IIO_AD5686 EXPORT_SYMBOL_GPL 0xb8501203 ad5686_remove drivers/iio/dac/ad5686 +IIO_AD5686 EXPORT_SYMBOL_GPL 0xe6db5236 ad5686_probe drivers/iio/dac/ad5686 +IIO_AD7091R EXPORT_SYMBOL_GPL 0x81192847 ad7091r_probe drivers/iio/adc/ad7091r-base +IIO_AD7091R EXPORT_SYMBOL_GPL 0xd5add945 ad7091r_regmap_config drivers/iio/adc/ad7091r-base +IIO_AD7606 EXPORT_SYMBOL_GPL 0x63cff257 ad7606_pm_ops drivers/iio/adc/ad7606 +IIO_AD7606 EXPORT_SYMBOL_GPL 0x83b911c3 ad7606_probe drivers/iio/adc/ad7606 +IIO_ADISLIB EXPORT_SYMBOL 0xd8731cf1 adis_debugfs_reg_access drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL 0xfa8bbae0 __adis_enable_irq drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x5c920afb devm_adis_setup_buffer_and_trigger drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x6a08a2e9 devm_adis_probe_trigger drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x7e04fb8d adis_update_scan_mode drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x8db2bb68 adis_init drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x9d4a3b78 __adis_update_bits_base drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xad08896c __adis_check_status drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xb90bbdc9 adis_single_conversion drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xd8eac1d8 __adis_write_reg drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xea4b60ac __adis_initial_startup drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xfacbabd1 __adis_read_reg drivers/iio/imu/adis_lib +IIO_ADIS_LIB EXPORT_SYMBOL_GPL 0xaa9fa3e1 __adis_reset drivers/iio/imu/adis_lib +IIO_ADXL313 EXPORT_SYMBOL_GPL 0x8401eedc adxl313_readable_regs_table drivers/iio/accel/adxl313_core +IIO_ADXL313 EXPORT_SYMBOL_GPL 0x99b8bf4f adxl313_core_probe drivers/iio/accel/adxl313_core +IIO_ADXL313 EXPORT_SYMBOL_GPL 0xf6f7b9f3 adxl313_writable_regs_table drivers/iio/accel/adxl313_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0x6ff5403b adxl355_readable_regs_tbl drivers/iio/accel/adxl355_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0xb446fa86 adxl355_writeable_regs_tbl drivers/iio/accel/adxl355_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0xb9960d36 adxl355_core_probe drivers/iio/accel/adxl355_core +IIO_ADXL367 EXPORT_SYMBOL_GPL 0xb25c9e2c adxl367_probe drivers/iio/accel/adxl367 +IIO_ADXL372 EXPORT_SYMBOL_GPL 0x06dbc186 adxl372_probe drivers/iio/accel/adxl372 +IIO_ADXL372 EXPORT_SYMBOL_GPL 0xa710e6ea adxl372_readable_noinc_reg drivers/iio/accel/adxl372 +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x22162d50 ad_sd_set_comm drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x329d7e50 ad_sd_read_reg drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x780510ec ad_sigma_delta_single_conversion drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x8f1e18ac ad_sd_init drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xb05de4d1 ad_sd_calibrate_all drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xb41d4bcf devm_ad_sd_setup_buffer_and_trigger drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xbe383297 ad_sd_validate_trigger drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xc17cc0c7 ad_sd_write_reg drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xf226e688 ad_sd_reset drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xfc870204 ad_sd_calibrate drivers/iio/adc/ad_sigma_delta +IIO_BMA400 EXPORT_SYMBOL 0x13cf16a5 bma400_probe drivers/iio/accel/bma400_core +IIO_BMA400 EXPORT_SYMBOL 0x9366f404 bma400_regmap_config drivers/iio/accel/bma400_core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x324c1956 bmc150_accel_core_remove drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x50385820 bmc150_accel_core_probe drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0xb2296f76 bmc150_regmap_conf drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0xe08444c2 bmc150_accel_pm_ops drivers/iio/accel/bmc150-accel-core +IIO_BMC150_MAGN EXPORT_SYMBOL 0x3251b243 bmc150_magn_regmap_config drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0x4a5380bf bmc150_magn_probe drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0x4de7b46d bmc150_magn_remove drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0xe01fcec2 bmc150_magn_pm_ops drivers/iio/magnetometer/bmc150_magn +IIO_BME680 EXPORT_SYMBOL 0xdbe09cf7 bme680_regmap_config drivers/iio/chemical/bme680_core +IIO_BME680 EXPORT_SYMBOL_GPL 0x5f3b0f9f bme680_core_probe drivers/iio/chemical/bme680_core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x02050355 bmi088_accel_pm_ops drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x78b717c3 bmi088_accel_core_probe drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0xbc086255 bmi088_accel_core_remove drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0xcdbca8a7 bmi088_regmap_conf drivers/iio/accel/bmi088-accel-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x148abbb6 fxls8962af_core_probe drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x35ee2b28 fxls8962af_spi_regmap_conf drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x92011df2 fxls8962af_pm_ops drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x9730bfed fxls8962af_i2c_regmap_conf drivers/iio/accel/fxls8962af-core +IIO_HID EXPORT_SYMBOL 0x097ea0e5 hid_sensor_convert_timestamp drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x1163a48d hid_sensor_read_raw_hyst_rel_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x14733fa8 hid_sensor_power_state drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x17d0fab6 hid_sensor_read_raw_hyst_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x40071e44 hid_sensor_write_samp_freq_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x4834db5b hid_sensor_parse_common_attributes drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x649c17e4 hid_sensor_pm_ops drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x7f7621ec hid_sensor_format_scale drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x99e3cf44 hid_sensor_write_raw_hyst_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0xc39e9fbf hid_sensor_read_samp_freq_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0xc50f7a01 hid_sensor_remove_trigger drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0xcdde3efc hid_sensor_setup_trigger drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0xe8de9e6b hid_sensor_write_raw_hyst_rel_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x29c0e716 hid_sensor_batch_mode_supported drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x4257733f hid_sensor_set_report_latency drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0xc7bd66aa hid_sensor_get_report_latency drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0xefdbe7c5 hid_sensor_read_poll_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HMC5843 EXPORT_SYMBOL 0x07795083 hmc5843_common_suspend drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0x7cc9c108 hmc5843_common_resume drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0x84ab2a0f hmc5843_common_probe drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0xf9bcdb46 hmc5843_common_remove drivers/iio/magnetometer/hmc5843_core +IIO_KXSD9 EXPORT_SYMBOL 0x1a0a8df3 kxsd9_dev_pm_ops drivers/iio/accel/kxsd9 +IIO_KXSD9 EXPORT_SYMBOL 0x5c51a18e kxsd9_common_remove drivers/iio/accel/kxsd9 +IIO_KXSD9 EXPORT_SYMBOL 0xd0703f00 kxsd9_common_probe drivers/iio/accel/kxsd9 +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x045688dd ms_sensors_read_prom_word drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x1254856e ms_sensors_show_battery_low drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x2ccc3fef ms_sensors_read_serial drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x2d2f5cd5 ms_sensors_reset drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x42b6a050 ms_sensors_convert_and_read drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x4481ab23 ms_sensors_tp_read_prom drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x725267a9 ms_sensors_ht_read_humidity drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xb968e3c7 ms_sensors_write_resolution drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xc751d09c ms_sensors_show_heater drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xd0945b31 ms_sensors_read_temp_and_pressure drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xdae19e17 ms_sensors_ht_read_temperature drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xee250488 ms_sensors_write_heater drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x003893b4 mma7455_core_regmap drivers/iio/accel/mma7455_core +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x6a6e75be mma7455_core_remove drivers/iio/accel/mma7455_core +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x80092b26 mma7455_core_probe drivers/iio/accel/mma7455_core +IIO_MMA9551 EXPORT_SYMBOL 0x03c0b6e4 mma9551_read_accel_chan drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x0bbe3387 mma9551_write_config_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x2258396f mma9551_gpio_config drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x2aa718bb mma9551_read_config_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x2cb6904e mma9551_read_status_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x3f73a249 mma9551_update_config_bits drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x41ef446c mma9551_read_accel_scale drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x439d495e mma9551_write_config_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x45ee640e mma9551_read_version drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x64fabdd7 mma9551_app_reset drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x7dd68e8c mma9551_read_config_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x80f8ee95 mma9551_set_power_state drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xa16f5cbb mma9551_set_device_state drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xab12b327 mma9551_write_config_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xbcd7fe96 mma9551_sleep drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xdaeb64c9 mma9551_read_status_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xdf63a23b mma9551_read_status_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xf7829d8a mma9551_read_config_words drivers/iio/accel/mma9551_core +IIO_MPL115 EXPORT_SYMBOL_GPL 0x4d886dc1 mpl115_probe drivers/iio/pressure/mpl115 +IIO_MS5611 EXPORT_SYMBOL 0x5f1e6d66 ms5611_probe drivers/iio/pressure/ms5611_core +IIO_MS5611 EXPORT_SYMBOL 0xe0fc7e16 ms5611_remove drivers/iio/pressure/ms5611_core +IIO_RM3100 EXPORT_SYMBOL_GPL 0x0a1424e0 rm3100_volatile_table drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0xa8247011 rm3100_common_probe drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0xaa911f08 rm3100_readable_table drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0xcc7209be rm3100_writable_table drivers/iio/magnetometer/rm3100-core +IIO_SCD30 EXPORT_SYMBOL 0x067b4900 scd30_probe drivers/iio/chemical/scd30_core +IIO_SCD30 EXPORT_SYMBOL 0xcda43343 scd30_pm_ops drivers/iio/chemical/scd30_core +IIO_SSP_SENSORS EXPORT_SYMBOL 0x213044b4 ssp_get_sensor_delay drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x2c910f64 ssp_change_delay drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x594c8eed ssp_common_buffer_postdisable drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0x5ed1505c ssp_enable_sensor drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x834e9e12 ssp_common_buffer_postenable drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0x85bc02f2 ssp_common_process_data drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0xb6814a04 ssp_disable_sensor drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0xfb84ae3d ssp_register_consumer drivers/iio/common/ssp_sensors/sensorhub +IIO_ST_SENSORS EXPORT_SYMBOL 0x00625428 st_sensors_set_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x074d7047 st_sensors_trigger_handler drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x07ec88e8 st_sensors_dev_name_probe drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x0b3ef253 st_sensors_init_sensor drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x1ab557ef st_magn_common_probe drivers/iio/magnetometer/st_magn +IIO_ST_SENSORS EXPORT_SYMBOL 0x20b88584 st_gyro_get_settings drivers/iio/gyro/st_gyro +IIO_ST_SENSORS EXPORT_SYMBOL 0x4d3222d4 st_accel_common_probe drivers/iio/accel/st_accel +IIO_ST_SENSORS EXPORT_SYMBOL 0x4e598ace st_sensors_i2c_configure drivers/iio/common/st_sensors/st_sensors_i2c +IIO_ST_SENSORS EXPORT_SYMBOL 0x513ed2d3 st_sensors_allocate_trigger drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x6ef45e8d st_sensors_read_info_raw drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x6ffaa035 st_press_common_probe drivers/iio/pressure/st_pressure +IIO_ST_SENSORS EXPORT_SYMBOL 0x85f4fc6b st_sensors_sysfs_sampling_frequency_avail drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x916a939d st_sensors_set_dataready_irq drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xb11639fc st_sensors_validate_device drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xb14c4e25 st_magn_get_settings drivers/iio/magnetometer/st_magn +IIO_ST_SENSORS EXPORT_SYMBOL 0xb2e0c7f8 st_sensors_set_fullscale_by_gain drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xb5c66b1d st_sensors_debugfs_reg_access drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xc346fc5b st_sensors_set_odr drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xc3f9aac5 st_sensors_spi_configure drivers/iio/common/st_sensors/st_sensors_spi +IIO_ST_SENSORS EXPORT_SYMBOL 0xc6d5cdae st_sensors_set_axis_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xcc41349f st_sensors_sysfs_scale_avail drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xce051c26 st_gyro_common_probe drivers/iio/gyro/st_gyro +IIO_ST_SENSORS EXPORT_SYMBOL 0xce49cbb9 st_sensors_verify_id drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xdb5ea4d1 st_accel_get_settings drivers/iio/accel/st_accel +IIO_ST_SENSORS EXPORT_SYMBOL 0xdd3a8e9f st_press_get_settings drivers/iio/pressure/st_pressure +IIO_ST_SENSORS EXPORT_SYMBOL 0xdfe7908b st_sensors_get_settings_index drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xf26edcf2 st_sensors_power_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL_GPL 0x6b0f4590 st_lsm9ds0_probe drivers/iio/imu/st_lsm9ds0/st_lsm9ds0 +IIO_UVIS25 EXPORT_SYMBOL 0x52115bcb st_uvis25_pm_ops drivers/iio/light/st_uvis25_core +IIO_UVIS25 EXPORT_SYMBOL 0x8b82b70d st_uvis25_probe drivers/iio/light/st_uvis25_core +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x0c1a69a5 zpa2326_isreg_writeable drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x664e08a2 zpa2326_pm_ops drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x8c321cb0 zpa2326_remove drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x8fb83b51 zpa2326_isreg_readable drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x98afc79a zpa2326_isreg_precious drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0xa508762d zpa2326_probe drivers/iio/pressure/zpa2326 +IWLWIFI EXPORT_SYMBOL_GPL 0x00481b9a iwl_get_shared_mem_conf drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x02d743fb iwl_acpi_get_wifi_pkg_range drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x038172ad iwl_read_ppag_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x044ecaaa iwl_write_prph_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x0633cec3 iwl_init_paging drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x09a7cada iwl_write_prph_delay drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x0b72bf37 iwl_dbg_tlv_del_timers drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x0d04a8c0 iwl_uefi_get_sgom_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x0fb7d5a5 iwl_write32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1332e4de iwl_abort_notification_waits drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x182ae358 iwl_read_prph_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x183cc5b3 iwl_sar_select_profile drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x19cf4dab iwl_fw_dbg_read_d3_debug_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1c26d24a iwl_acpi_is_ppag_approved drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1eaa6a6a iwl_pnvm_load drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x23a4c73e iwl_acpi_get_lari_config_bitmap drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x264625dd iwl_write64 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2710c362 iwl_dump_desc_assert drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x28250be1 iwl_acpi_get_object drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2b51b980 iwl_fw_dbg_error_collect drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2ceccf26 iwl_finish_nic_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x305ebd84 __iwl_err drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x35033c81 iwl_phy_db_free drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x372bd019 iwl_clear_bits_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x37956b72 rs_pretty_print_rate drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3b1eda0f iwl_sar_get_ewrd_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3bf7815d iwl_fwrt_dump_error_logs drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x49e0135d iwl_new_rate_from_v1 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x4e506dea iwl_write_prph64_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x4fb7515d iwl_get_cmd_string drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x504e9521 iwl_parse_eeprom_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x57103ba8 iwl_acpi_get_dsm_u32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5988395c iwl_notification_wait_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5a61afaf iwl_fw_dbg_collect drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5b166a98 iwl_trans_send_cmd drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5c52e109 iwl_opmode_deregister drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5d3f2989 iwl_acpi_get_tas drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6a517274 iwl_get_nvm drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6d24b809 iwl_poll_direct_bit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6e249582 _iwl_dbg_tlv_time_point drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6f8c79c4 iwl_sar_get_wrds_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6f928e0b iwl_sar_geo_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x711dcb93 iwl_acpi_get_dsm_u8 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x776221bf iwl_send_phy_db_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x78230ee9 iwl_set_bits_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x78971d7e iwl_he_is_sgi drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x794d6007 iwl_acpi_get_ppag_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7c38e4e6 iwl_fw_dbg_stop_restart_recording drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7ff57e0e iwl_read_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x828c6838 iwlwifi_mod_params drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x84bb50e1 iwl_rs_pretty_ant drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x861e417e iwl_free_fw_paging drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x874c77de iwl_fw_rate_idx_to_plcp drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x88c304fc iwl_read_external_nvm drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x8941b835 iwl_fw_runtime_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x8eaae0d3 iwl_sar_geo_support drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9038811a iwl_rfi_guid drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x95f5602f iwl_fw_runtime_resume drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x984c52b2 iwl_read_direct32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9a48ba0d iwl_fw_runtime_suspend drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9d34f128 iwl_parse_nvm_mcc_info drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xa007ae7f iwl_poll_bit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xa22aed86 __iwl_dbg drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xa6703255 iwl_parse_mei_nvm_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xa94d36bc iwl_fw_dbg_stop_sync drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xaab69f57 iwl_read32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xabaaaa4a __iwl_crit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xad34c6aa iwl_fw_start_dbg_conf drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb37b318c iwl_rs_pretty_bw drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb7d5ffb1 iwl_rate_mcs drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xbafc8994 iwl_wait_notification drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xbcc618a3 iwl_fw_dbg_collect_desc drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xbd8320e5 __iwl_info drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xbfc07a75 iwl_opmode_register drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xc080a379 iwl_write8 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xc4a1e733 iwl_configure_rxq drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xce0c6460 iwl_phy_db_set_section drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xce5c79ec iwl_set_bits_mask_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xd754cda3 iwl_acpi_get_mcc drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xd823cae8 iwl_write_direct32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xd88f3a03 __iwl_warn drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xdad22753 iwl_acpi_get_pwr_limit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xdb27e542 iwl_set_soc_latency drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xdb43feac iwl_cmd_groups_verify_sorted drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xdcc6767f iwl_acpi_get_eckv drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xdfa15bf4 iwl_force_nmi drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe0eb5838 iwl_init_notification_wait drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe75b7e77 iwl_notification_wait drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xea1b26fc iwl_nvm_fixups drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf1d23a90 iwl_write_direct64 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf201cdf7 iwl_parse_nvm_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf792af3f iwl_sar_get_wgds_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf88964e4 iwl_remove_notification drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf8d3f22b iwl_fw_dbg_collect_trig drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf9184528 iwl_phy_db_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xfc1e6f41 iwl_guid drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xfc6a6af6 iwl_read_eeprom drivers/net/wireless/intel/iwlwifi/iwlwifi +LTC2497 EXPORT_SYMBOL 0x1f691749 ltc2497core_remove drivers/iio/adc/ltc2497-core +LTC2497 EXPORT_SYMBOL 0xb8dca5fe ltc2497core_probe drivers/iio/adc/ltc2497-core +MCB EXPORT_SYMBOL_GPL 0x2665a7c1 mcb_get_resource drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x275383eb mcb_unregister_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x3fb150d6 mcb_free_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x3fea8a86 mcb_request_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x47dbec8a mcb_alloc_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x48e2f091 mcb_device_register drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x623a65b7 chameleon_parse_cells drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7be61816 mcb_get_irq drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xa0b722cc mcb_bus_get drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xa3d2168b mcb_alloc_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xa4a12c05 mcb_bus_put drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xc8057552 __mcb_register_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xcd011fd7 mcb_bus_add_devices drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xeb2c8905 mcb_release_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xed911545 mcb_release_bus drivers/mcb/mcb +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x04bd4fc2 nvme_find_get_ns drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x30b24139 nvme_put_ns drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x6af342c9 nvme_command_effects drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x845baace nvme_execute_passthru_rq drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x925c051d nvme_passthru_end drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0xfb0cf374 nvme_ctrl_from_file drivers/nvme/host/nvme-core +PECI EXPORT_SYMBOL_GPL 0x07ab82c8 peci_request_data_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x0be782bb peci_xfer_pci_cfg_local_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x0e35735c peci_xfer_ep_pci_cfg_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x1637163c peci_xfer_pci_cfg_local_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x2464b544 peci_xfer_pkg_cfg_readq drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x26528316 peci_driver_unregister drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x2885cb2f peci_request_alloc drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x2ce7e210 peci_xfer_ep_pci_cfg_local_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x37cfa3f7 peci_request_status drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x4d343001 peci_xfer_ep_pci_cfg_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x581d4719 peci_request_data_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x58b57d13 peci_request_data_readq drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x690baeee __peci_driver_register drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x6fe6a14d peci_xfer_ep_pci_cfg_local_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x777f6e9c peci_xfer_get_temp drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x78c8ce03 peci_xfer_get_dib drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x8fc0b974 peci_xfer_ep_mmio64_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x93b05a11 peci_xfer_ep_pci_cfg_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x9c5524db peci_request_data_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xab1098c0 peci_request_free drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xac92cc2f devm_peci_controller_add drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xb0bd88d2 peci_xfer_pci_cfg_local_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xb162cb5d peci_xfer_ep_pci_cfg_local_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xbfb4b58a peci_xfer_pkg_cfg_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xd215192f peci_request_temp_read drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xdb40c9c5 peci_request_dib_read drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xdc3e464e peci_xfer_pkg_cfg_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xf08fbc16 peci_xfer_pkg_cfg_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xf54c4b35 peci_xfer_ep_mmio32_readl drivers/peci/peci +PECI_CPU EXPORT_SYMBOL_GPL 0x4860e1b8 peci_pcs_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x516ec2f9 peci_pci_local_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x7b3db855 peci_temp_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x9039d223 peci_mmio_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0xf9fe67d4 peci_ep_pci_local_read drivers/peci/peci-cpu +PMBUS EXPORT_SYMBOL_GPL 0x006731a3 pmbus_write_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x02453234 pmbus_read_word_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x0520b455 pmbus_regulator_ops drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x117d7f3f pmbus_update_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x1d458af2 pmbus_do_probe drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x240c415d pmbus_get_driver_info drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x26277b6d pmbus_get_fan_rate_cached drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x2cae71ef pmbus_clear_faults drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x586cb9af pmbus_write_byte drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x889a6c84 pmbus_update_fan drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x8bb3085e pmbus_read_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x900cfaa8 pmbus_set_page drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x9702af79 pmbus_check_word_register drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x9e6ebaac pmbus_get_debugfs_dir drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x9ea34dc3 pmbus_clear_cache drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xbbe4dbf6 pmbus_get_fan_rate_device drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xd82765cd pmbus_check_byte_register drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xf27b64a2 pmbus_set_update drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xf4c59634 pmbus_write_word_data drivers/hwmon/pmbus/pmbus_core +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x44ef0dc5 sx_common_probe drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x52cc14d4 sx_common_read_event_config drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0xc42e9770 sx_common_write_event_config drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0xd07d0025 sx_common_events drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0xf4f56a4e sx_common_read_proximity drivers/iio/proximity/sx_common +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0x1124dc11 hda_cs_dsp_control_add sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0x2b707546 hda_cs_dsp_fw_ids sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0x6711f81e hda_cs_dsp_read_ctl sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0x7a4b83a0 hda_cs_dsp_write_ctl sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0xe75e506d hda_cs_dsp_control_remove sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_SCODEC_CS35L41 EXPORT_SYMBOL_GPL 0x3b5e59f2 cs35l41_hda_remove sound/pci/hda/snd-hda-scodec-cs35l41 +SND_HDA_SCODEC_CS35L41 EXPORT_SYMBOL_GPL 0xf80825ec cs35l41_hda_pm_ops sound/pci/hda/snd-hda-scodec-cs35l41 +SND_HDA_SCODEC_CS35L41 EXPORT_SYMBOL_GPL 0xf9a7f894 cs35l41_hda_probe sound/pci/hda/snd-hda-scodec-cs35l41 +SND_INTEL_SOUNDWIRE_ACPI EXPORT_SYMBOL 0xbb4f9d1f sdw_intel_acpi_scan sound/hda/snd-intel-sdw-acpi +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0x64538a7b cs35l45_remove sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0x916c35f0 cs35l45_probe sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0x92d00f9d cs35l45_pm_ops sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x0d41010d cs35l45_i2c_regmap sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x3431c8ad cs35l45_get_clk_freq_id sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x4cf4dce2 cs35l45_apply_patch sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x4e79c041 cs35l45_spi_regmap sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_SOF_XTENSA EXPORT_SYMBOL 0xed08d3c0 sof_xtensa_arch_ops sound/soc/sof/xtensa/snd-sof-xtensa-dsp +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x05a694a1 sdw_intel_startup drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x5af438eb sdw_intel_enable_irq drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x9733439f sdw_intel_probe drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0xaa52eba1 sdw_intel_thread drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0xaaf44653 sdw_intel_exit drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0xaefc2faf sdw_intel_process_wakeen_event drivers/soundwire/soundwire-intel +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x12f4a734 dw_spi_suspend_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x3e7e98b3 dw_spi_resume_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x646472f7 dw_spi_remove_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x6e4236f8 dw_spi_check_status drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x70acad03 dw_spi_dma_setup_mfld drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x8f508424 dw_spi_set_cs drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0xaad33d36 dw_spi_add_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0xac66d1a0 dw_spi_update_config drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0xd07b01fb dw_spi_dma_setup_generic drivers/spi/spi-dw +SUNXI_CCU EXPORT_SYMBOL_GPL 0x0a9821bf ccu_pll_notifier_register vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x19212eb4 ccu_mux_helper_determine_rate vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x215acb3b ccu_frac_helper_disable vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x33527173 ccu_mux_helper_set_parent vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x34a796c2 ccu_nm_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x376eebe1 ccu_frac_helper_has_rate vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x3cca3c4e ccu_gate_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x5087807a ccu_frac_helper_read_rate vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x553cf6ba ccu_sdm_helper_read_rate vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x60e84cc1 ccu_sdm_helper_is_enabled vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x66ae640a ccu_mux_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x67b4f375 ccu_sdm_helper_enable vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x83c753fd ccu_mux_helper_apply_prediv vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x87fcecc6 ccu_sdm_helper_disable vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x8cdb1752 ccu_nkm_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x8d7438cc ccu_gate_helper_is_enabled vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x98224ec7 ccu_reset_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x9a7239d2 ccu_frac_helper_is_enabled vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x9c8ffe02 ccu_helper_wait_for_lock vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xa0f4dce8 ccu_nkmp_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xba079d1a ccu_mp_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xbb6e851f ccu_mp_mmc_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xbedab8d5 ccu_phase_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xc2378215 ccu_frac_helper_set_rate vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xcdae8a96 ccu_mult_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xd35244af ccu_sdm_helper_has_rate vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xd7ee688c ccu_gate_helper_enable vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xdc3ef86e ccu_mux_helper_get_parent vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xde8a0571 ccu_mux_notifier_register vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xdee13cf4 ccu_frac_helper_enable vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xe2fe75df ccu_nk_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xe395e8eb ccu_div_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xeca4e8ed ccu_gate_helper_disable vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xf1d63af5 ccu_sdm_helper_get_factors vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xf9946999 devm_sunxi_ccu_probe vmlinux +TEST_FIRMWARE EXPORT_SYMBOL_GPL 0x3dce036c firmware_request_builtin vmlinux +USB_STORAGE EXPORT_SYMBOL_GPL 0x0b245e29 usb_stor_disconnect drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x0ba56afe usb_stor_Bulk_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x145a5188 usb_stor_transparent_scsi_command drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x1bc3edc2 usb_stor_sense_invalidCDB drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x1c12cd18 usb_stor_post_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x1d9a96df usb_stor_set_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x212d4f0c usb_stor_suspend drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x27ce24e7 usb_stor_host_template_init drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x30c1c050 fill_inquiry_response drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x3bf37622 usb_stor_bulk_transfer_sg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x4453c759 usb_stor_control_msg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x47b80716 usb_stor_clear_halt drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x4d83079d usb_stor_probe2 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5364ae1b usb_stor_CB_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5ab4d2f0 usb_stor_bulk_transfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x6ad0b559 usb_stor_ctrl_transfer drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x8047cbe4 usb_stor_bulk_srb drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x85b52093 usb_stor_probe1 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x876d466b usb_stor_adjust_quirks drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x9d253ac4 usb_stor_pre_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x9edecfe7 usb_stor_access_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xb6b66d6f usb_stor_CB_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xc61a85b9 usb_stor_reset_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xdd061aa4 usb_stor_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xe78aa7e0 usb_stor_Bulk_reset drivers/usb/storage/usb-storage --- linux-gcp-5.19.0.orig/debian.master/abi/arm64/generic-64k +++ linux-gcp-5.19.0/debian.master/abi/arm64/generic-64k @@ -0,0 +1,27422 @@ +ACPI EXPORT_SYMBOL_GPL 0xc331c3c7 acpi_table_parse_cedt vmlinux +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x016056aa otx2_cpt_sync_mbox_msg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x0e8340f0 otx2_cpt_msix_offset_msg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x2b46c1c6 otx2_cptlf_shutdown drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x311e8d4e otx2_cptlf_unregister_interrupts drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x545e5340 cn10k_cptpf_lmtst_init drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x56a672a5 cn10k_cptvf_lmtst_init drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x91bf5ba9 otx2_cptlf_set_irqs_affinity drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x93c6b78f otx2_cpt_send_af_reg_requests drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0x9c648766 otx2_cpt_write_af_reg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xa8075bd6 otx2_cpt_detach_rsrcs_msg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xa9a4b42e otx2_cpt_add_write_af_reg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xaaf979df otx2_cpt_read_af_reg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xb5cb3af5 otx2_cpt_send_ready_msg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xc7496c95 otx2_cpt_send_mbox_msg drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xcc7244cb otx2_cptlf_register_interrupts drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xeb2fc005 otx2_cptlf_init drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_DEV_OCTEONTX2_CPT EXPORT_SYMBOL_GPL 0xffa65834 otx2_cptlf_free_irqs_affinity drivers/crypto/marvell/octeontx2/rvu_cptcommon +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0x3d552cf8 crypto_cipher_decrypt_one vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0xb562535e crypto_cipher_encrypt_one vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0xbc428376 crypto_cipher_setkey vmlinux +CXL EXPORT_SYMBOL_GPL 0x021b562c cxl_mbox_send_cmd drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x04564818 devm_cxl_add_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x055272e3 cxl_enumerate_cmds drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x055c6ee3 cxl_mem_active_inc vmlinux +CXL EXPORT_SYMBOL_GPL 0x064a529d cxl_find_dport_by_dev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x0e19ba81 devm_cxl_port_enumerate_dports drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x14397316 cxl_probe_device_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x14cef634 devm_cxl_add_passthrough_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x1f095727 to_cxl_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x2293ef3e cxl_mem_find_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x24826bcd cxl_await_media_ready drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x2b00a6a2 devm_cxl_add_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x317bfb5a cxl_endpoint_autoremove drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x31fc64d2 cxl_bus_rescan drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x3275e6e1 devm_cxl_add_dport drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x33e2aa93 cxl_mem_active_dec vmlinux +CXL EXPORT_SYMBOL_GPL 0x381fb8e8 to_cxl_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x3c4dd2ec cxl_switch_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x484b40c4 cxl_driver_unregister drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x494381f5 cxl_dev_state_create drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x5f83eb76 devm_cxl_add_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x6210111f cxl_map_device_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7024cce6 cxl_dev_state_identify drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x75f9b5ad cxl_root_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x776ad93a cxl_mem_create_range_info drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7c39fedb to_cxl_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x8a51fe23 cxl_probe_component_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x920488db is_cxl_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x9533b3cc is_cxl_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x96e28cbe devm_cxl_enumerate_decoders drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x971b8d0e cxl_decoder_add drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x9fac2fd8 to_cxl_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xa6176771 __cxl_driver_register drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xae0ef7ec set_exclusive_cxl_commands drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xae254a3b is_cxl_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xaf426211 devm_cxl_enumerate_ports drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xb4e951c6 cxl_decoder_autoremove drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xbc41bd70 schedule_cxl_memdev_detach drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xc228ba2a is_root_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xc5f523a0 cxl_bus_type drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xc9c08502 cxl_find_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xcc4dbf59 cxl_endpoint_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xce990485 cxl_decoder_add_locked drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xd8fd2b96 devm_cxl_add_memdev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xd9766395 devm_cxl_register_pci_bus drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xdb047ea2 cxl_port_to_pci_bus drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xe4b9612c clear_exclusive_cxl_commands drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xe6212dd8 is_cxl_memdev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xec3ba3e7 find_cxl_root drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xf0e4720c devm_cxl_setup_hdm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xf3f7e3b6 cxl_map_component_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xf9e8c570 cxl_hdm_decode_init drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xfdc01126 is_cxl_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xfe88c935 cxl_find_regblock drivers/cxl/core/cxl_core +DMA_BUF EXPORT_SYMBOL_GPL 0x0806b477 dma_buf_end_cpu_access vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x0831b9d2 dma_buf_detach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x204ad825 dma_buf_dynamic_attach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x2a5c0499 dma_buf_put vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x30bb2c95 dma_buf_vmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x6e81a9fc dma_buf_begin_cpu_access vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x730fd002 dma_buf_move_notify vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x798fee93 dma_buf_pin vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x826e280a dma_buf_unmap_attachment vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xa6bc24e3 dma_buf_attach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xbe4ba5c5 dma_buf_map_attachment vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xc5341216 dma_buf_export vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xc5e39dad dma_buf_mmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xdbfc0ca4 dma_buf_get vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xe471a41e dma_buf_vunmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xe7f9dc3d dma_buf_unpin vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xf64af75e dma_buf_fd vmlinux +DRM_SSD130X EXPORT_SYMBOL_GPL 0x33cf1f58 ssd130x_variants drivers/gpu/drm/solomon/ssd130x +EXPORT_SYMBOL arch/arm64/crypto/aes-ce-cipher 0x68f275ad ce_aes_expandkey +EXPORT_SYMBOL arch/arm64/crypto/aes-ce-cipher 0xd71b125d ce_aes_setkey +EXPORT_SYMBOL arch/arm64/crypto/aes-neon-blk 0x52d67a4e neon_aes_cbc_encrypt +EXPORT_SYMBOL arch/arm64/crypto/aes-neon-blk 0xb8c706a6 neon_aes_ctr_encrypt +EXPORT_SYMBOL arch/arm64/crypto/aes-neon-blk 0xd5f41819 neon_aes_ecb_encrypt +EXPORT_SYMBOL arch/arm64/crypto/aes-neon-blk 0xea11590c neon_aes_xts_encrypt +EXPORT_SYMBOL arch/arm64/crypto/aes-neon-blk 0xefc32a9b neon_aes_xts_decrypt +EXPORT_SYMBOL arch/arm64/crypto/chacha-neon 0x220b49ab chacha_crypt_arch +EXPORT_SYMBOL arch/arm64/crypto/chacha-neon 0xdc94f829 chacha_init_arch +EXPORT_SYMBOL arch/arm64/crypto/chacha-neon 0xdd8ec6bd hchacha_block_arch +EXPORT_SYMBOL arch/arm64/crypto/poly1305-neon 0x1c3e6e5b poly1305_init_arch +EXPORT_SYMBOL arch/arm64/crypto/poly1305-neon 0x6ddf27bc poly1305_update_arch +EXPORT_SYMBOL arch/arm64/crypto/poly1305-neon 0xf39f5240 poly1305_final_arch +EXPORT_SYMBOL arch/arm64/crypto/sha256-arm64 0xb455924d sha256_block_data_order +EXPORT_SYMBOL arch/arm64/crypto/sha512-arm64 0x6402c8df sha512_block_data_order +EXPORT_SYMBOL arch/arm64/lib/xor-neon 0xdb786e41 xor_block_inner_neon +EXPORT_SYMBOL crypto/blake2b_generic 0x32e24c8a blake2b_compress_generic +EXPORT_SYMBOL crypto/ecc 0x16e410ff vli_from_be64 +EXPORT_SYMBOL crypto/ecc 0x188a1647 ecc_is_pubkey_valid_full +EXPORT_SYMBOL crypto/ecc 0x1a5faa3a vli_mod_inv +EXPORT_SYMBOL crypto/ecc 0x4c281912 vli_is_zero +EXPORT_SYMBOL crypto/ecc 0x671f7aa5 ecc_is_key_valid +EXPORT_SYMBOL crypto/ecc 0x7c0fbb00 vli_mod_mult_slow +EXPORT_SYMBOL crypto/ecc 0x8261eccb ecc_get_curve25519 +EXPORT_SYMBOL crypto/ecc 0x8e688192 ecc_alloc_point +EXPORT_SYMBOL crypto/ecc 0x90cdc197 ecc_free_point +EXPORT_SYMBOL crypto/ecc 0x9263b417 ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x92668805 vli_cmp +EXPORT_SYMBOL crypto/ecc 0x932b6ff7 vli_num_bits +EXPORT_SYMBOL crypto/ecc 0x9f6efabd vli_sub +EXPORT_SYMBOL crypto/ecc 0xa76b31a2 crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0xb10fc19e ecc_get_curve +EXPORT_SYMBOL crypto/ecc 0xd6315f31 ecc_gen_privkey +EXPORT_SYMBOL crypto/ecc 0xd94c8eb5 ecc_point_is_zero +EXPORT_SYMBOL crypto/ecc 0xde867c29 ecc_is_pubkey_valid_partial +EXPORT_SYMBOL crypto/ecc 0xeac9b99a vli_from_le64 +EXPORT_SYMBOL crypto/ecc 0xed4ae15e ecc_make_pub_key +EXPORT_SYMBOL crypto/nhpoly1305 0x2a99ce7b crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/nhpoly1305 0x52e902e2 crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/nhpoly1305 0x60743524 crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0x6f12e342 crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/nhpoly1305 0x849ec0ea crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/nhpoly1305 0xcc620c00 crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/sha3_generic 0x2d7a1a54 crypto_sha3_final +EXPORT_SYMBOL crypto/sha3_generic 0x3c328581 crypto_sha3_update +EXPORT_SYMBOL crypto/sha3_generic 0xcb54a791 crypto_sha3_init +EXPORT_SYMBOL crypto/sm2_generic 0xdba7dc5b sm2_compute_z_digest +EXPORT_SYMBOL crypto/sm4 0x2b098da5 crypto_sm4_ck +EXPORT_SYMBOL crypto/sm4 0x7931a202 crypto_sm4_fk +EXPORT_SYMBOL crypto/sm4 0xf4fd3bd2 crypto_sm4_sbox +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/acpi/nfit/nfit 0x06848c60 to_nfit_uuid +EXPORT_SYMBOL drivers/atm/suni 0x22986d9e suni_init +EXPORT_SYMBOL drivers/bcma/bcma 0x02825615 bcma_core_dma_translation +EXPORT_SYMBOL drivers/bcma/bcma 0x4703c7b9 bcma_core_irq +EXPORT_SYMBOL drivers/block/drbd/drbd 0x127a5901 drbd_set_st_err_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x35131b36 drbd_role_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x7730f22d drbd_conn_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0xaf27bebf drbd_disk_str +EXPORT_SYMBOL drivers/block/paride/paride 0x0d179e29 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0x3b702362 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x4267110a pi_register_driver +EXPORT_SYMBOL drivers/block/paride/paride 0x50c7b96f pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x5b98b3c1 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x5e345d30 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x75be9b09 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0xaff89a8f pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0xb21ba07d pi_unregister_driver +EXPORT_SYMBOL drivers/block/paride/paride 0xb354f611 pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xc2dc93b2 pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0xdc6ece1a pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0xe82256c1 pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0xee237e9a paride_unregister +EXPORT_SYMBOL drivers/bluetooth/btbcm 0xdd1054c5 btbcm_patchram +EXPORT_SYMBOL drivers/bluetooth/btrsi 0xb823cae1 rsi_bt_ops +EXPORT_SYMBOL drivers/bus/mhi/host/mhi 0x222482ed mhi_sync_power_up +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x03bc993e ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0705dd14 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x12dd1e77 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x138b701b ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1f65170f ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x230094ac ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x31250d0f ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4c2054d7 ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4e742d2d ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x50f65edf ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x61ea3098 ipmi_add_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x67369b42 ipmi_addr_src_to_str +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x74778a80 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x80aa4656 ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x89a5279a ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x96a6e5e8 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xaca90ebd ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xae71627d ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd54a5050 ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4330a39 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe98c507d ipmb_checksum +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xec1c2a90 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf388b18b ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf5531bea ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfaaa4831 ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfe0f2369 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x302a8ca3 st33zp24_pm_suspend +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x422e5fc3 st33zp24_pm_resume +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x7f1ef962 st33zp24_probe +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x985fd5d3 st33zp24_remove +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0x330c577b xillybus_find_inode +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0x7cdec09e xillybus_cleanup_chrdev +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0xad8dcfb4 xillybus_init_chrdev +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x25978d50 xillybus_isr +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x9601adc8 xillybus_endpoint_remove +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0xabf42a95 xillybus_init_endpoint +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0xd6f668c4 xillybus_endpoint_discovery +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0x25c98843 clk_alpha_pll_zonda_ops +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0xa03f8920 clk_alpha_pll_postdiv_lucid_5lpe_ops +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0xd89a02cf clk_alpha_pll_fixed_lucid_5lpe_ops +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0xed46e5cc clk_alpha_pll_lucid_5lpe_ops +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x17b99713 atmel_i2c_probe +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x4fe03a66 atmel_i2c_send_receive +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x80a11b1d atmel_i2c_init_read_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc71ed50c atmel_i2c_init_genkey_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc80f14e8 atmel_i2c_flush_queue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xd54343d8 atmel_i2c_enqueue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xf283e995 atmel_i2c_init_random_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xfaab573f atmel_i2c_init_ecdh_cmd +EXPORT_SYMBOL drivers/crypto/caam/caam 0x17572340 caam_congested +EXPORT_SYMBOL drivers/crypto/caam/caam 0x37734e06 caam_dpaa2 +EXPORT_SYMBOL drivers/crypto/caam/caam 0x44ae4bc4 qi_cache_free +EXPORT_SYMBOL drivers/crypto/caam/caam 0x7650c4e9 caam_drv_ctx_init +EXPORT_SYMBOL drivers/crypto/caam/caam 0x9218f023 caam_drv_ctx_update +EXPORT_SYMBOL drivers/crypto/caam/caam 0x9ebf3e0b caam_qi_enqueue +EXPORT_SYMBOL drivers/crypto/caam/caam 0xc0eaa792 qi_cache_alloc +EXPORT_SYMBOL drivers/crypto/caam/caam 0xeec0f13b caam_drv_ctx_rel +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x30ec7b1e caam_jr_free +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x3f4f475e split_key_done +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x4326a7c6 gen_split_key +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x79c57250 caam_jr_enqueue +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0xbe574f16 caam_jr_alloc +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x2e152bb7 cnstr_shdsc_xts_skcipher_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x3b54a9ad cnstr_shdsc_aead_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x76a68e3e cnstr_shdsc_chachapoly +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7b0c587f cnstr_shdsc_rfc4543_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7b7bcab8 cnstr_shdsc_rfc4543_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x86bcdec7 cnstr_shdsc_xts_skcipher_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x88430d4c cnstr_shdsc_aead_null_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x91ac0969 cnstr_shdsc_aead_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xa3115081 cnstr_shdsc_skcipher_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xa340e264 cnstr_shdsc_aead_givencap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xa99d7fa6 cnstr_shdsc_aead_null_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xebcdd349 cnstr_shdsc_skcipher_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xf92c5da5 cnstr_shdsc_gcm_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xf95bcf62 cnstr_shdsc_gcm_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xfd807e48 cnstr_shdsc_rfc4106_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0xfdf7ec8f cnstr_shdsc_rfc4106_encap +EXPORT_SYMBOL drivers/crypto/caam/caamhash_desc 0x30a1e372 cnstr_shdsc_sk_hash +EXPORT_SYMBOL drivers/crypto/caam/caamhash_desc 0xb5571dbf cnstr_shdsc_ahash +EXPORT_SYMBOL drivers/crypto/caam/dpaa2_caam 0x75a56cc0 dpaa2_caam_enqueue +EXPORT_SYMBOL drivers/crypto/caam/error 0x2ece985c caam_strstatus +EXPORT_SYMBOL drivers/crypto/caam/error 0x53d0fc97 caam_ptr_sz +EXPORT_SYMBOL drivers/crypto/caam/error 0xa51f16c7 caam_little_end +EXPORT_SYMBOL drivers/crypto/caam/error 0xbd67c092 caam_imx +EXPORT_SYMBOL drivers/crypto/caam/error 0xd25da602 caam_dump_sg +EXPORT_SYMBOL drivers/dma/xilinx/xilinx_dma 0xd419ccfd xilinx_vdma_channel_set_config +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0071ed43 fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0bc6094c fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x199fea8d fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x24fd0bd1 fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x31a418f7 fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x37e1076e fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x38e97d51 fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3a771e39 fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3cadee07 fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x40f61272 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x42ed1de5 fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4722346a fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x63a06228 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6449fd40 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6dc50487 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x714f87b5 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7812c9bd fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x853dde3a fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8aae6334 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0xad1b526e fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaedf84ce fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0xb11dd383 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0xbb59240f fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc1b7fab7 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc27a1836 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc827a169 fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0xca30032a fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd0390bfe fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd0556f67 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe3da0747 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe3fde125 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe80e5087 fw_csr_iterator_init +EXPORT_SYMBOL drivers/firmware/broadcom/tee_bnxt_fw 0x57b73b33 tee_bnxt_fw_load +EXPORT_SYMBOL drivers/firmware/broadcom/tee_bnxt_fw 0xdfaff93c tee_bnxt_copy_coredump +EXPORT_SYMBOL drivers/firmware/imx/imx-dsp 0x0b993fd6 imx_dsp_free_channel +EXPORT_SYMBOL drivers/firmware/imx/imx-dsp 0x504a4482 imx_dsp_request_channel +EXPORT_SYMBOL drivers/firmware/imx/imx-dsp 0xc8c306ea imx_dsp_ring_doorbell +EXPORT_SYMBOL drivers/fpga/dfl 0x029a4332 dfl_driver_unregister +EXPORT_SYMBOL drivers/fpga/dfl 0x2617f9cb __dfl_driver_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x01c4bba9 drm_dp_lttpr_max_link_rate +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x04d7a19b drm_dp_aux_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x06c49551 drm_dp_dsc_sink_line_buf_depth +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x06ed4562 drm_dp_cec_unregister_connector +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x080d3e05 drm_dp_mst_put_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x09eba905 drm_scdc_set_high_tmds_clock_ratio +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0a245d0a drm_hdmi_avi_infoframe_content_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0a3a9396 drm_dp_dual_mode_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0c13dda6 drm_dp_read_mst_cap +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0f4be354 drm_dp_cec_set_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0f6249b3 drm_dp_dual_mode_detect +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x136386bd drm_dp_dpcd_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1605d0ed drm_dp_lttpr_max_lane_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x16be3649 drm_dp_dpcd_probe +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1709ddcf drm_dp_lttpr_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x172ef0d8 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1a5bf3ca drm_dsc_dp_rc_buffer_size +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1b0a1fdc drm_dp_lttpr_voltage_swing_level_3_supported +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1d242a85 drm_hdcp_update_content_protection +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1dcb8dc1 drm_dp_pcon_reset_frl_config +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x208e80db drm_dp_set_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x221713c0 drm_dp_mst_atomic_check +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x23961837 drm_dp_downstream_max_bpc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2500f240 drm_dp_128b132b_read_aux_rd_interval +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x26815dbc drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x26e44624 drm_dp_downstream_debug +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2af7ef1f drm_dp_mst_topology_mgr_suspend +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2b68474b drm_dp_pcon_pps_override_param +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2fa94ef2 drm_dp_downstream_444_to_420_conversion +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x306b1c8e drm_dp_pcon_pps_default +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3217f178 drm_dp_dual_mode_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x390a6998 drm_dp_dual_mode_set_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x392a838b drm_dp_downstream_max_dotclock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3989f565 drm_dp_aux_unregister +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3a3b9802 drm_dp_cec_irq +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3a8063f3 drm_dp_dsc_sink_supported_input_bpcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x40aabddf drm_dp_dpcd_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x41fd51fc drm_dp_send_real_edid_checksum +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x457ff83c drm_dp_update_payload_part1 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4603c416 drm_dp_pcon_dsc_bpp_incr +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x483cc299 drm_dp_mst_allocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4999cc90 drm_dp_pcon_is_frl_ready +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4ba5749c drm_hdmi_avi_infoframe_colorimetry +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4c2fde0a drm_edp_backlight_disable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4e533aad drm_dp_cec_register_connector +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4f0366a7 drm_dp_pcon_hdmi_link_active +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x507eff45 drm_connector_attach_content_protection_property +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x51a5c55f drm_dp_get_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x53d12d7f drm_scdc_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5407ae9e drm_dp_get_dual_mode_type_name +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5767af52 drm_dp_start_crc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x582f248e drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x58d8fcaa drm_dsc_pps_payload_pack +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x59e11a28 drm_dp_pcon_frl_configure_2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x59f27ed7 drm_dp_pcon_enc_is_dsc_1_2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5e9b6cd1 drm_dp_read_sink_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5eb79b7e drm_dp_mst_topology_mgr_resume +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x622b87b1 drm_dp_mst_add_affected_dsc_crtcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x63a477fb drm_dp_downstream_min_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x648d953b drm_dsc_dp_pps_header_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6615069e drm_dp_dsc_sink_max_slice_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x68d8dce7 drm_dp_downstream_is_tmds +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6a4df8c5 drm_dp_128b132b_eq_interlane_align_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6aacee47 drm_dp_128b132b_link_training_failed +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6b53e216 drm_dp_downstream_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6bd28af0 drm_dp_read_lttpr_phy_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7053fa72 drm_dp_get_pcon_max_frl_bw +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x72753ed0 drm_dp_read_desc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x72c55ee9 drm_dp_dual_mode_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x73011db0 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x74620a06 drm_dp_pcon_frl_prepare +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x76d047ed drm_scdc_get_scrambling_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x76ff6644 drm_dp_lttpr_pre_emphasis_level_3_supported +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x79465772 drm_dp_pcon_hdmi_frl_link_error_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7d8a95ef drm_dp_pcon_frl_configure_1 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7ea749da drm_edp_backlight_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fc5c68f drm_dp_downstream_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x844b38ba drm_dp_lttpr_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x84624a04 drm_hdmi_infoframe_set_hdr_metadata +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8496ef2d drm_dp_mst_connector_late_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8c69ec6a drm_dp_read_lttpr_common_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8ca2d9e4 drm_dp_calc_pbn_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8d701329 drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8db1bbc5 drm_dp_mst_get_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x91b4d919 drm_dp_mst_detect_port +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x92b9835e drm_dp_128b132b_cds_interlane_align_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x99a7a0cb drm_dp_read_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x99e4a159 drm_dp_mst_topology_mgr_destroy +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9afd96fa drm_dp_send_power_updown_phy +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9b76b004 drm_panel_dp_aux_backlight +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9f0bb0ff drm_dp_mst_dsc_aux_for_port +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa1fefe6a drm_dp_psr_setup_time +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa431e002 drm_dp_read_downstream_info +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa5abe39a drm_dp_downstream_id +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa7992493 drm_dp_pcon_pps_override_buf +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xaa0ff3a8 drm_dp_mst_deallocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xabcb550e drm_dp_mst_topology_mgr_set_mst +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xacaae064 drm_dp_vsc_sdp_log +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xaf267620 drm_dp_lttpr_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xaf2701ae drm_dp_atomic_release_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xafd829fd drm_dp_dpcd_read_phy_link_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb319cbe3 drm_dp_mst_dump_topology +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb4865005 drm_scdc_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb5f61ff0 drm_dp_read_sink_count_cap +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb7cf3768 drm_atomic_get_mst_topology_state +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb8a34050 drm_dp_pcon_convert_rgb_to_ycbcr +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb8fa3a07 drm_dp_aux_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb937256f drm_dp_dual_mode_get_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb9400a9c drm_dp_read_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xbdd20174 drm_dp_read_dpcd_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xbf2d331d drm_dp_update_payload_part2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc020c0c1 drm_dp_pcon_dsc_max_slice_width +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc2b27e67 drm_dp_mst_reset_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc2ec0ace drm_dp_get_vc_payload_bw +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc358b75b drm_dp_remote_aux_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc5c99a79 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc79ecffb drm_dp_downstream_is_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc8b6a8ae drm_dp_128b132b_lane_channel_eq_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc929f93f drm_dp_atomic_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xca40b94b drm_dp_mst_connector_early_unregister +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xcccde6e2 drm_dp_mst_update_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xccf54d5e drm_dp_get_adjust_tx_ffe_preset +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xcf3a0abf drm_scdc_set_scrambling +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd0e77d97 drm_hdmi_avi_infoframe_bars +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd1adca58 drm_dp_set_subconnector_property +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd2ec646e drm_dp_pcon_frl_enable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd56cfa25 drm_dp_mst_hpd_irq +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd5a95eae drm_dp_128b132b_lane_symbol_locked +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd7273f54 drm_dp_pcon_hdmi_link_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xdac95a35 drm_dp_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xdb3a978d drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xdd391d6f drm_dp_stop_crc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe0f5eb13 drm_dp_send_query_stream_enc_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe4759a5d drm_lspcon_get_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe497bb31 drm_lspcon_set_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe4da8f2b drm_dp_dpcd_read_link_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe5360b84 drm_dp_pcon_dsc_max_slices +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe78fa078 drm_edp_backlight_set_level +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe8ca96fb drm_dp_mst_get_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe984d126 drm_dp_cec_unset_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xea904861 drm_dp_mst_atomic_enable_dsc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xed794001 drm_edp_backlight_enable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xedcf81ce drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xeff0397b drm_dp_mst_topology_state_funcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf2150c4f drm_dp_mst_topology_mgr_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf4afe36b drm_dp_check_act_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf68741fb drm_dp_subconnector_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf689ad25 drm_dp_downstream_420_passthrough +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf99cf264 drm_dp_mst_get_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfb1a7a5a drm_dp_downstream_rgb_to_ycbcr_conversion +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfe12bcb9 drm_dsc_compute_rc_parameters +EXPORT_SYMBOL drivers/gpu/drm/drm 0x024ce515 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x025de8c4 drm_property_replace_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03c63897 __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03e65bc0 drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x042b1e11 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04a2e2d7 drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x058793d5 drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x06cc0035 drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07fb449a drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08fb783e drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x092ee887 drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0965191f drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09c7cadc drm_plane_get_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a577bdb drm_plane_create_scaling_filter_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b4ab7ec drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ca1f5ac drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d81defe drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d9b4753 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0dd16069 drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e342c5c drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e5f226c drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0eb7f5eb drm_privacy_screen_lookup_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f7acb66 drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fd60df2 drm_get_connector_status_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x107742a9 drm_get_subpixel_order_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1140dce3 drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11961bc4 drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11e6df9b drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x133c010b drm_connector_attach_hdr_output_metadata_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13bc2d81 drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1448671a drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15635721 drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1615da64 __drmm_universal_plane_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x162df9c5 drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1876821b drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19187aa0 drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19580863 drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1976409b drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1b793de4 drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1bb1bc58 drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c72df8d drm_privacy_screen_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c72e960 drm_plane_get_damage_clips_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1cdfae2e drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1cfb221b drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d28278a drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1dc8e20a drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e37dcc6 drm_framebuffer_unregister_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e76ee85 drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e9e4b8f drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f9f842d __drmm_encoder_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x201637b5 drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2041744a drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20d962bd drm_aperture_remove_conflicting_framebuffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20f93c3f drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21bd17cc drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21cca3f8 drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2261c510 drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x22673c6e drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x22a83dbf drm_privacy_screen_unregister_notifier +EXPORT_SYMBOL drivers/gpu/drm/drm 0x23035e46 drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24993e50 drm_edid_are_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24cf437a drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24d124ac drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25a2c35b drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x260fedbb drm_mode_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2780e03c drm_connector_set_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28779e52 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28d9e414 drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2956d1ad drm_vblank_work_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x298f1967 drm_connector_oob_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29f078d1 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a0944d3 drm_connector_update_privacy_screen +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a6c9ac7 drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a962499 drm_mm_scan_init_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ad83c5a drm_privacy_screen_register_notifier +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2bef3958 drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c3ca843 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ca919dd drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e05c839 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e142d68 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ed3c600 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f476172 drm_privacy_screen_lookup_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f5f20ac drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x303c80a5 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30b21c38 drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x318b2239 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31c44e7e drm_release_noglobal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32a0cc37 drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0x332e7911 drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3395dcc1 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3408c20a of_drm_get_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x34cce7af drm_atomic_print_new_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x34db1160 drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35f7febf drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x368811c1 drm_connector_attach_privacy_screen_provider +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36db76a2 drm_privacy_screen_set_sw_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3801853a drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3849e17d drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38690d99 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x396387ab drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3972b2d2 drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ab87110 drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3abdcd09 drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b0e5e9c __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3bd8a627 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c22a4d8 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c570d3c drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c8f5095 drm_file_get_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cdc37e9 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3dcd4cd6 drm_writeback_connector_init_with_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f405489 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40be019b drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4137af1b drm_connector_attach_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x42cd9163 of_drm_find_panel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x434f81c5 drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4403a9c3 drm_mode_get_hv_timing +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4422cefa drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44676699 drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44a2cadb drm_prime_sg_to_dma_addr_array +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4575a0ca drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x45e96caf drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x464bf7a1 drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x46744bf8 drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x469cfc9c drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x470bb76e drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4831da6e drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4878d4f8 drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48c7d119 drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49e2bb2f drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a1f65e8 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a2a97ce drm_display_mode_from_cea_vic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a35d30d drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ae9ff40 drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b5ba14d drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c3766e1 drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4cbe847b drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4cfcb1b7 drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e57e4c7 drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e71aa8c drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4feac4bf drm_aperture_remove_conflicting_pci_framebuffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50810508 drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x511f25ea drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x513072fe __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x521ad6d0 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53167371 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53291ee6 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54b89126 drm_panel_of_backlight +EXPORT_SYMBOL drivers/gpu/drm/drm 0x553fa5b5 drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5581d223 drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56d71d13 drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57698a50 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57b6efe3 drm_ioctl_flags +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57f616a6 drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a2bf7a7 drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ba35007 drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5bcc7d08 drm_vblank_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ce9026a drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5cfbcd18 __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d0ed6fd drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d5556dc drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e938f89 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f97e2c5 drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60329a9f drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6148f472 drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6544bc49 drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65534fc4 drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65702bd6 drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65c6ba42 drm_connector_attach_privacy_screen_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65f73da8 drm_connector_attach_dp_subconnector_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6646b2ed drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68e0dc68 drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x693948c2 drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x693f2c8a drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a90faaf drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ac01ea8 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b1002ba devm_aperture_acquire_from_firmware +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b63a95a drm_privacy_screen_call_notifier_chain +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6bb8d69e drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6dafb749 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6dd3da0b drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e66f62f drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ef2f78e drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f01f5f5 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f2eaef9 drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7044e17b drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70e94e98 drm_prime_sg_to_page_array +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71645772 drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7224e9b1 drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x725066ce drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7295eb19 drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73b7cebf drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x740d9b00 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74a8c9c3 drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x75ebcf33 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x772bf5d3 drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x777d9012 drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77ae63da drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x789206de drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a452e63 drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7a74a18f drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b2e2166 drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b405e2f drm_vblank_work_cancel_sync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c33c3a3 drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c545285 drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7cf48d74 drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d162358 drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d4748bf drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d965bed drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e65b3f2 drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e812a3f drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e93fb84 drm_of_component_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edf470b drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f3f38c8 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f5bf63c drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f63ffa8 drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fb5539a drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82e2051a drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8448ce68 drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85622fd4 drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x85e00c73 drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8651c06a __drmm_crtc_alloc_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8698efeb drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8769af47 drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm 0x895db4f9 drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89d26ed0 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8ac97ae7 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b516a30 drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c3f50ae drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8cc151ed drm_atomic_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d42e0d0 drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d47df6c drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d569273 drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d72789e drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e4159b3 __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e961db6 drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f61904a drm_connector_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9137f173 drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91759bfd drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9238cb31 drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9294d450 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x92af2201 drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x931ae492 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x933d8c28 drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x935af422 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x947e68a8 drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95353e5c drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96d6cf06 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96d77333 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x982762c8 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9887b4b6 drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ae629d3 drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b1b22f2 __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b285573 drm_match_cea_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b95c885 drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b9de1c1 drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c9b5d18 drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ce050be drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d7b5d02 drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e149396 drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9efb7066 drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9f2eb30c drm_privacy_screen_get_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa09a31d6 drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1b7379a drm_mode_plane_set_obj_prop +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa248afde drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa3709730 drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa38c4c94 drm_memcpy_from_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa41cc014 drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4c5f3c1 drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5795a25 drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5adf200 drm_gem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa64799ef drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6a55e34 drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6eb034b drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6efa42d drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7af8294 drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8b26c2d drm_color_lut_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8d400ee drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9dfaa7d drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa7295ed drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaad76a75 drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0xab1a142b drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad4e902b drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad573929 drm_object_property_get_default_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae277372 __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae4ceb47 drm_edid_get_panel_id +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaeeba5a3 drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0b05ff5 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb11ac7a7 __drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb13550eb drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb22dfd68 drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2501001 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb367acc6 drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3d35c94 drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4032484 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb43cb0cd drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5740860 drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5b03258 drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5c13cf4 drm_bridge_chain_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb5d65e75 drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb60f9d27 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6127243 drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6b5cdbf drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb7cbf396 drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb819faec drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb834c992 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb89aadc5 drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9cad492 __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9fc4d9a drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba22c946 drm_vblank_work_schedule +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba95e6e9 drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba97f60d drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb6d65e3 drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc5272c7 drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbcbfcec2 drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbcf8ee6a drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd014097 drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd06c712 drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd8b43ea drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbea24b7c drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbfd96d88 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0c19a19 drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc1f9e266 drm_crtc_create_scaling_filter_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2f0deff drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc335a12e drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3c09492 drmm_mutex_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc468e2f2 drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc4dfeedb drm_connector_create_privacy_screen_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc654e670 drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7910e38 drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7d04fc5 drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7d2ad50 drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc82982eb drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc89353dc drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8a17d20 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8f1decc drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca190085 drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca1bdfc9 drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcac2685d drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcaf999ea drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb368ec1 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb52863b drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0xccc59759 drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcccfcb6f drm_sysfs_connector_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd1926cf __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd43fd2d drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdb23ca3 drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdb99cc9 drm_mode_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xce510363 drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xce671953 drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf4a33c7 drm_of_crtc_port_mask +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd04e8cf0 drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd05fda43 drm_prime_get_contiguous_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd08aa558 drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13f9985 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3719a0f drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd41cfb43 drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd44cf547 drm_plane_create_alpha_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd509c979 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd680a377 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd6db9a8e drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd79ad65f drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7a9cf42 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd8684a66 __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd8a5864a drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd8da2bd1 drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd97989b7 drm_panel_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9a94a33 drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdbeaee0a drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd2ce755 drm_privacy_screen_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdda0cfa5 drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde04c865 drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde953f27 drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf3f760d drm_mm_scan_color_evict +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf666902 drm_rotation_simplify +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdfd3f0e0 drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe00a16b2 drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe020907b drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe029243b drm_send_event_timestamp_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0882243 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0ea839b drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe12cd458 drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe207acc3 drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe26beeec drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe317082a __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe3c6ec52 drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe429fefa drm_client_modeset_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe722f1ee drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a034df drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a0e334 drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a18ba3 drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe934e0ab drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe9466d88 drm_privacy_screen_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea00fe81 __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea147790 drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea1a6c5f drm_connector_atomic_hdr_metadata_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec12af74 __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec1f0cae drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0xecc504c1 drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed5da102 drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee504500 drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeea3249a drm_connector_attach_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef04a1fa of_drm_find_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef6cc9e0 drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xefb9cc18 drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0517d7a drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0c9caff drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf10c70d9 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf15d6d03 drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf19428f3 drm_client_framebuffer_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1b5340a drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf225885c drm_crtc_commit_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2b8f0f3 drm_of_find_possible_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf31bbcfd drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf37b1277 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3a5279c drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3e397e2 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf406e46a drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4a892f9 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4bb4302 drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6dcab64 drm_modeset_acquire_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf799e9b4 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf824c7db __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8c9d081 drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf960c110 drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9d1eb12 drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb4a0b66 drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfbd3f011 drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfbfa5a42 drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc0e9047 drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc90a8b3 drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfcbfff6b drm_gem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfda637b6 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdda2a55 drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe40ae2a drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe49fdb4 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe6717d8 drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe881c24 drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfeab5542 drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfeb953b1 __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff0d7fd0 drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff50ab72 drm_privacy_screen_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffccb2fd drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm_cma_helper 0x2755c3fc drm_gem_cma_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_cma_helper 0x700f0172 drm_gem_cma_prime_import_sg_table_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0215b983 drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x02476c77 drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x02f84e70 drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x034d49dd drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x052dd91e drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0a0d3d3a drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0c45c65d drm_fb_xrgb8888_to_rgb888_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0dd9b669 drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0f97c96b drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0fceae08 drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1097d159 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x109ef5f8 drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x114a1ee4 drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x11dd2fbe drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x127a8c6b drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1303f345 drm_fb_blit_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x136dc21d drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x14c1e6b9 drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x17da83bd drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1adafdc0 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1b5ddc8b drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1d9a3a96 drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1e87279e drm_fb_xrgb8888_to_rgb565_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1fe6e10b drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x211cdc0b drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x21d541eb drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x22543562 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2401ee5d drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x25e982e8 __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x26185394 drm_gem_fb_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x296053b0 drm_gem_fb_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d5cc2db drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d9ba092 drm_gem_simple_kms_prepare_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x327e0487 __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x34bb3988 __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3d31dbae drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3d3e1680 drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3e628b0b drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3e8ad582 drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x415773c7 drm_fb_swab +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x437744e5 drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x45ee4535 drm_gem_fb_begin_cpu_access +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x46283022 __drm_gem_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x474b9a5a drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x476561ab drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x47ba205a drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x49cc19a1 __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4b608b03 drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4b8003e8 __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4bf3c0ad drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4c0dea1d drm_gem_simple_kms_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4cbf444f __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4d674f83 drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4dc331d6 drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4de03cd5 drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4ef0b9c8 drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4fc4c998 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x529ac726 drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x53515a7c drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x54162480 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5542443b drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5553459b drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5565dac2 drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5790eb90 drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x585bd6e7 __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5d34e6dd drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5ea9dae2 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5f08c0ef drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5ff90e37 drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6135fecf drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x61dcca6a drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6403ce46 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x64162c1f drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x65451964 drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6681731e drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x67c4277e drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6af439a9 drm_kms_helper_connector_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6af7ca54 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b0ce96a drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b270ef3 drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6cfa5d29 drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x70188b68 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x726d5d11 drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x741d5e29 drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x751070d4 drm_fb_xrgb8888_to_rgb888 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x753c589d drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x773d1f6f drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x77691520 drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x79fa2b45 drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7a519b50 drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7c1e15d4 drm_fb_xrgb8888_to_rgb332 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7e0231ca drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x80207de3 drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x82182ba6 drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8334765e devm_drm_of_get_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x840ea3c2 drm_gem_fb_end_cpu_access +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x841875a3 drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x842dd90c drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x84f54fb2 drm_connector_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x871ab41a drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8854de42 __drm_gem_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x88739f70 drm_fb_memcpy_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x89153522 drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x896945ff __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x89bb481b drm_gem_cleanup_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ce663e0 __drmm_simple_encoder_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8da0c882 drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8daab056 drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8e04604c drm_gem_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8ea30230 drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8edde327 drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8fe625b2 drm_fb_xrgb8888_to_xrgb2101010_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x907bf748 drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x91fec1cc drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x922fa72c drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x927c4768 __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x943765c8 __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9841d117 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9917f727 drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x999d7e0a drm_gem_simple_kms_cleanup_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x99c3ebec drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x99fd20aa drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9a75fb99 drm_atomic_helper_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9c235397 drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9cae3731 drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9f34abca drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa19290a0 __drm_gem_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa2023dbd devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa24d40be drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa31d0c33 drm_gem_simple_kms_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa4495f53 drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa476445c drm_gem_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa536983e drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa5d35b5d drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa68cba18 drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa6f8ae87 drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa824cb17 drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa91ad66d drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xae38cf83 drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xae45a1ed drm_gem_simple_kms_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaefa294a drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaf1f48c5 drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb053adda drm_rect_rotate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb2dae862 drm_gem_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb56b6db6 drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb5e1f2ec drm_gem_prepare_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb63e7da5 drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb979ef6a drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xba9c8a1d __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbc8088df drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbd3e9f3b drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbd530e15 __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc0d74a1e drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc4b53816 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc4b60fcc drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc53ad3a4 drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc53e507a drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc6323239 drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc75e599f drm_gem_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcb2340b8 drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcbbe2408 drm_fb_xrgb8888_to_mono +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcea23ddb drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcf11a549 drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd0613409 drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd601562e drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd65d467f drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xda0e3378 __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdd724f4d drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xddda41ec drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdf426d05 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe2621a85 drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe5e72bec drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe7f724f5 drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe7fc524e drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe830fa77 drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe9eb68f4 drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeadbda4e drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeb4f317d drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xec0eafd5 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xed5819d6 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xee01de95 drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xee644836 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf0614631 drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf16b9509 drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf30db916 drm_fb_clip_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf355a77f drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf398d946 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf4a07b24 drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf55cb3e9 drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf7f49503 drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf86b9895 __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf88d47f0 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf93ccb3a __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfc7570ff devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfd7c91d6 drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xffd9b0c7 drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x3c98fd9d mipi_dbi_spi_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x438fb370 mipi_dbi_spi_cmd_max_speed +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x49d39e14 mipi_dbi_command_read +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x4e1bb344 mipi_dbi_pipe_update +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x599486e2 mipi_dbi_enable_flush +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x6468ece9 mipi_dbi_command_stackbuf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7bb80262 mipi_dbi_command_buf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x943e02dd mipi_dbi_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xa02e042f mipi_dbi_buf_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xa071dbfd mipi_dbi_dev_init_with_formats +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xb0fe388b mipi_dbi_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xb67b7db4 mipi_dbi_display_is_on +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xd070e844 mipi_dbi_spi_transfer +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xe78f408c mipi_dbi_poweron_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xebadca20 mipi_dbi_pipe_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xf6438346 mipi_dbi_hw_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xf6ee8e7b mipi_dbi_poweron_conditional_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x06bed232 drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x0dbc2d7b drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x1538d8ab drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x291d5cc3 drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x789b35e5 drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xcf0c22fc drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xe26c908a drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xe3ada9c3 drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xe58db5ef drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xedfaa23c drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x2eccdf94 drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x3045b097 drm_gem_ttm_dumb_map_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x365cb6fd drm_gem_ttm_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x3e7a2431 drm_gem_ttm_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x9a85a7c3 drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x1317361b drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x2027f8bc drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x245267b5 drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x25370dcd drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x36aa30f9 drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x4ac5c8a2 drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x58bc290f drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x6832a717 drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x75f3c343 drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7795c41c drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7acff345 drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7b6120c0 drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x8f6ae5f4 drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xc5e820f2 drmm_vram_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xc77b0f62 drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xc81457a2 drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/rockchip/rockchipdrm 0x7f04da4b rockchip_drm_wait_vact_end +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x00eb0e3b drm_sched_entity_push_job +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x1e9e7b42 drm_sched_entity_set_priority +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x30026092 drm_sched_resume_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x3a706287 drm_sched_entity_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x41e43458 to_drm_sched_fence +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x4915b13f drm_sched_increase_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x5154f0cc drm_sched_stop +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x5a274d88 drm_sched_entity_flush +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x5aff9d51 drm_sched_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x649fed6c drm_sched_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x6e90e227 drm_sched_pick_best +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x72784ffe drm_sched_entity_destroy +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7c0a41e2 drm_sched_fault +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x82f53ba3 drm_sched_suspend_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x940aa3e4 drm_sched_reset_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xb015c3aa drm_sched_start +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xb038852b drm_sched_increase_karma_ext +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xc2d223fa drm_sched_job_add_dependency +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xc51673bb drm_sched_resubmit_jobs_ext +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xda227bf0 drm_sched_entity_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xdd447e84 drm_sched_resubmit_jobs +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xde7bc921 drm_sched_dependency_optimized +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xe0dbbb6a drm_sched_entity_modify_sched +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xf4e12e47 drm_sched_job_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xf5c80ceb drm_sched_job_add_implicit_dependencies +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xf901fd3c drm_sched_job_cleanup +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xf96b8af9 drm_sched_job_arm +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x1e2a304e sun4i_frontend_exit +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x280362ab sun4i_frontend_update_coord +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x36c0ae93 sun4i_frontend_init +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x95c10ecb sun4i_frontend_enable +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x96413fdb sunxi_bt601_yuv2rgb_coef +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0x9d07db96 sun4i_frontend_update_formats +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xa631b179 sun4i_frontend_format_is_supported +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xb0634a90 sun4i_frontend_update_buffer +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-frontend 0xe13164ef sun4i_frontend_of_table +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x12544f70 sun4i_lvds_init +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x191fc764 sun4i_tcon_enable_vblank +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x6c10c7a7 sun4i_tcon_of_table +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x7a461326 sun4i_tcon_mode_set +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0x7de8dc9d sun4i_dclk_free +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0xb3812b42 sun4i_rgb_init +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun4i-tcon 0xf50c9f21 sun4i_dclk_create +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun8i_tcon_top 0x350e5dcd sun8i_tcon_top_of_table +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun8i_tcon_top 0x59794620 sun8i_tcon_top_de_config +EXPORT_SYMBOL drivers/gpu/drm/sun4i/sun8i_tcon_top 0x988ee446 sun8i_tcon_top_set_hdmi_src +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x01d0f490 ttm_resource_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x06ca5def ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0b8d055d ttm_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0fa29f78 ttm_device_clear_dma_mappings +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1a71d30c ttm_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1aa72cc4 ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1d5e11ea ttm_bo_vmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x22da5df9 ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2379e079 ttm_bo_vm_access +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x23a215d0 ttm_global_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x26228993 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2b332b45 ttm_lru_bulk_move_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2d4a1037 ttm_pool_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x316877b0 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x330261f5 ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3c757d1e ttm_resource_manager_evict_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3dc179d7 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x43256313 ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x438efbe9 ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x43e15f53 ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x45612e75 ttm_bo_set_bulk_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x47608ac6 ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x62ec60eb ttm_kmap_iter_iomap_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6bb0c014 ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6cab82ac ttm_bo_vunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x74f74676 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x753f22c2 ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x78cf2e20 ttm_resource_manager_debug +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x78d0065f ttm_pool_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7ad8b0b1 ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7cb91b2a ttm_resource_manager_usage +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7d47d841 ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x82020da8 ttm_resource_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x84eea677 ttm_lru_bulk_move_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8546133a ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x85ae34d1 ttm_device_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8aed9ee6 ttm_range_man_fini_nocheck +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8d1e5653 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8df860c9 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9967f0ff ttm_pool_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9b460965 ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9d4b07b6 ttm_resource_manager_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa80b5dbd ttm_resource_manager_create_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb97f011c ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbf48e901 ttm_range_man_init_nocheck +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc9d680a3 ttm_bo_vm_dummy_page +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcaa90f2f ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd0636c79 ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd102d75a ttm_bo_pin +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd10c4e7c ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd160fbdd ttm_bo_move_sync_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd9490ca2 ttm_resource_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xdbdfc51c ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xddf96136 ttm_resource_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xec983ad7 ttm_kmap_iter_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xec9bc5d8 ttm_bo_unpin +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf3358fe2 ttm_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf6da9805 ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf91636c2 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfab5c59a ttm_device_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfac8a252 ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xff81aa9a ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/vmwgfx/vmwgfx 0x1984f833 ttm_base_object_noref_lookup +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x052af259 host1x_job_submit +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x0bf965f4 host1x_device_init +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x0c191395 host1x_channel_get +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x1006dd60 host1x_job_put +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x1e0cbe2d host1x_client_exit +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x20210654 host1x_device_exit +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x2ca1bae8 host1x_driver_unregister +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x2dec7e45 host1x_job_get +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x33dc7c56 host1x_driver_register_full +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x3b6a53a1 host1x_job_add_wait +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x3ba28c9d host1x_syncpt_read_max +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x3bfb0b7e host1x_channel_request +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x4128daa5 host1x_syncpt_get_base +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x4a15db57 host1x_syncpt_read +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x4b183511 host1x_syncpt_incr +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x4d9c5afc host1x_syncpt_put +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x4fd3948d host1x_fence_create +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x51de13ce host1x_syncpt_base_id +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x52c75ff9 host1x_syncpt_release_vblank_reservation +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x63706599 host1x_syncpt_id +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x6e5e4a47 host1x_job_add_gather +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x72e78e54 tegra_mipi_start_calibration +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x77cf4870 host1x_syncpt_get_by_id_noref +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7c8e915b host1x_get_dma_mask +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7e96c034 host1x_syncpt_alloc +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x805fea18 host1x_syncpt_read_min +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x80ba242d tegra_mipi_request +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x8a999156 host1x_syncpt_wait +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x8babc7fc host1x_syncpt_get_by_id +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x8ed415ce __host1x_client_init +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x9451a33e tegra_mipi_free +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x9465891e host1x_channel_put +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xa1adc362 host1x_syncpt_request +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xa486f7f0 host1x_job_alloc +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xa733ff60 tegra_mipi_disable +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xb2f1ec7c host1x_syncpt_get +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xbcbe65a0 tegra_mipi_finish_calibration +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xc1d809e8 host1x_client_suspend +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xc46176a7 host1x_client_unregister +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xcc18dc67 host1x_channel_stop +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xd331c4fc host1x_job_unpin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xe17fa143 host1x_bo_unpin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xe2ba5ad8 __host1x_client_register +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xef57cdde host1x_client_resume +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xefd4deb6 host1x_job_pin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xf7d25f08 host1x_syncpt_incr_max +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xf8a79b19 tegra_mipi_enable +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0xfe7679f4 host1x_bo_pin +EXPORT_SYMBOL drivers/hid/hid 0x2cf0e19d hid_bus_type +EXPORT_SYMBOL drivers/hv/hv_vmbus 0xaab22097 vmbus_sendpacket_getid +EXPORT_SYMBOL drivers/hv/hv_vmbus 0xb32f38d9 vmbus_sendpacket +EXPORT_SYMBOL drivers/hv/hv_vmbus 0xeef2772f vmbus_recvpacket +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x2f9e7f8e vid_which_vrm +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x446615bd vid_from_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x01568393 sch56xx_read_virtual_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x4a3b5094 sch56xx_watchdog_register +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x96ec3b26 sch56xx_read_virtual_reg12 +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xaa17a737 sch56xx_write_virtual_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0xb37b9b81 sch56xx_read_virtual_reg16 +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x300816a3 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xa53f426f i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xbe3d0be4 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x635dec45 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x794f0ec5 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0xf445d5cd amd756_smbus +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x10a4c688 qcom_adc5_hw_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x1fcd0103 qcom_adc_tm5_gen2_temp_res_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x39885d6b qcom_adc_tm5_temp_volt_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x401dc869 qcom_vadc_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x47f699dd qcom_adc5_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x4e64cdb9 qcom_adc5_hw_settle_time_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x53546ecd qcom_adc5_avg_samples_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x70e6eca1 qcom_vadc_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xc61e7a34 qcom_adc5_prescaling_from_dt +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x07441985 iio_triggered_buffer_setup_ext +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0xc60dac54 iio_triggered_buffer_cleanup +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x372d7b11 iio_kfifo_free +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xb8fdd9e6 iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x445e2ce2 mpu3050_dev_pm_ops +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x4b03e6a5 mpu3050_common_remove +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x8b10485a mpu3050_common_probe +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x633f1d8e hts221_pm_ops +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x8e44cf02 hts221_probe +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xc81cd64e bmi160_regmap_config +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xca19cfae bmi160_enable_irq +EXPORT_SYMBOL drivers/iio/imu/fxos8700_core 0x253c6203 fxos8700_regmap_config +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0x10ce1ea5 st_lsm6dsx_probe +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0x4024aaf1 st_lsm6dsx_pm_ops +EXPORT_SYMBOL drivers/iio/industrialio 0x02e4be0b iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x07695470 __iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x35faacd8 iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x3cbf2a61 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x3faa383e iio_device_get_clock +EXPORT_SYMBOL drivers/iio/industrialio 0x45182ea6 __iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x500cd7f9 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0x535a064d iio_trigger_using_own +EXPORT_SYMBOL drivers/iio/industrialio 0x638bcfd4 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0x67f44f09 iio_get_time_ns +EXPORT_SYMBOL drivers/iio/industrialio 0x69a508db iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x7cf7d796 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x85210d8b iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x8db9c5fa iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0x8f604759 iio_get_time_res +EXPORT_SYMBOL drivers/iio/industrialio 0x911fecca iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x9a0282bc iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0xb889b2e8 iio_trigger_set_immutable +EXPORT_SYMBOL drivers/iio/industrialio 0xc904f303 iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0xd32bdb4d iio_read_mount_matrix +EXPORT_SYMBOL drivers/iio/industrialio 0xd35b784d iio_device_set_clock +EXPORT_SYMBOL drivers/iio/industrialio 0xd6a9e8b4 iio_trigger_validate_own_device +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xfbeb239e iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio-configfs 0x35556896 iio_configfs_subsys +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x3cc57631 iio_sw_device_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x56012725 iio_unregister_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x8310923a iio_sw_device_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0xd02accfe iio_register_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x2f44f983 iio_sw_trigger_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x42a2cfb5 iio_register_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x4470cc04 iio_unregister_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xd3e5742a iio_sw_trigger_destroy +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x1f9cac84 iio_triggered_event_cleanup +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0xd6fbf8e5 iio_triggered_event_setup +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x0019c329 bmp280_common_probe +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x1aa35a1f bmp280_dev_pm_ops +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x2ac49ffd bmp180_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xc042429f bmp280_regmap_config +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x00986bec ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x15db0f5f ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2ad2694f ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x351ef4ea ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x502e3173 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7ad950b3 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x89a55be1 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x8d945e49 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x9702cf7d ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbef18f03 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xc3a94663 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xd95ab139 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xd9df2621 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xdd294684 ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xdde4de79 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00175f1c ib_dealloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x003bad04 rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x003e58c4 rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00cd25ea ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00d67b8b rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x01b5c2d7 ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x02316af8 rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0413d625 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x04fda693 rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x052a4f8e ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06b30ef2 ib_port_register_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07a31fdc ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0894c83d ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x09198fff ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0c86f5cb ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0cd2ca9c rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0d3354a6 rdma_alloc_hw_stats_struct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0d6409ee ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0ee65700 ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1099713d ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x10a728fd ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1296154e rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x16184719 __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x182ca178 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x18ef023b ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b037462 __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1d7b9c03 rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1ecdd28f rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x207865ec ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22548da6 ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x236d3095 ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x24f43c30 rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x28d12132 rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ab6bddf ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2d051596 rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2d6bf365 ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2da2ef74 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2eb691f3 rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x31e9d5ae ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x32390fbf rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3381e46d ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3492a8ac ib_port_immutable_read +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x35b60cd9 rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x361cc565 ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x37f814c7 rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x381b6195 rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3a03f0cf ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3a0a7229 ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3ba79ead rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f6971f0 ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fdb8117 __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4024f2cc ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x40a1b98a ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x41bf3f20 ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x434c5d10 zgid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x439ce33c ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x450c5aab rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45c9161b ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x46f4b32e ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x48a272b6 ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x490a90a5 ib_alloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4935e85f ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4a0ef2e1 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4adce2db ib_destroy_wq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4b8da633 ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4c2140c6 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4db37c09 rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e155af0 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e90435c ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x54188a21 ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x54d0169d _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55bb02f3 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x562138db rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x56a3aab8 ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x56bd93b7 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x56d3b1eb rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x56e76a40 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x576b57d7 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5841ab67 ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58789968 ib_qp_usecnt_dec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58b51ee8 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58df5b94 ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5f65b310 rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5fae930c rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5fd454b5 rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6096b2a3 ib_alloc_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x613b1e2e ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61d24c52 ib_rate_to_mbps +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x63e04105 rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6608b380 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x682fac57 ib_port_sysfs_get_ibdev_kobj +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x68c8fc37 ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6acc7b88 ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b476e20 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6baa9068 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6e9e60f6 ib_cq_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x71652f53 rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x716fa341 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x73baf9a2 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x750e2974 rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x772a1638 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77aad7a7 rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x78801b52 ib_qp_usecnt_inc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x78e0ea71 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7aa9c77c ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7bf6fa95 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7ca06fc1 ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7d644756 ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7ed0e1b2 ib_dma_virt_map_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x815be460 ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x843f292c rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x854e7db3 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86cef180 rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x88107cb9 rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8b216339 ib_port_unregister_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8dab4dba rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e3e8587 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e7528da __rdma_block_iter_next +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8f73c707 ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8fcd61f0 ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90596ae4 ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90e63883 rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90e807c7 ib_cache_gid_parse_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9112b6e7 rdma_restrack_set_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9262858c rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9452084d ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x95688350 ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9716a3f2 ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x97f6ff4d rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x981e00d4 ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x984ae344 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9a1ede36 rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9a541e22 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9a63f540 ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9b2e9bf6 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9b311052 __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9b3847f9 rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9bb2eb78 rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0508442 rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa2a19ec8 ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa396b53a ib_create_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa398a5ad ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa5e088cf ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa6ef4c94 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa8195928 rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xacbc098b rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae956dce ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaf5b0e8c ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaf8aef05 rdma_link_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb19fd14b ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb34941d8 ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb36e4148 ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb449738b ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb4625b0d ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb486d9be ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb5defb44 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb6448d11 roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb71691b4 rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb782a2ac rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7852a05 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb8d62275 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbbdfc36c rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbcf8124e ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbd1758af ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbd36c0e5 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbd5e5cc7 rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbe77ae23 ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc35071d5 rdma_restrack_add +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc5c589c5 rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc6c47c1d rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc75d0447 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc7888cad rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8a00908 ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8b2065f ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8d38664 rdma_free_hw_stats_struct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xca075114 ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcbf18d25 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcfbc053b ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd080c982 ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd15d9096 rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd47b2c37 ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd50c08be ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd51d668d ib_create_qp_kernel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6636ca6 rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd7af42aa rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd94067dc ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdc219286 rdma_query_gid_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdcd91f6e rdma_restrack_parent_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdda402db rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde95a041 rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe18ef91b rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe3b446dc ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5840ec6 ib_wc_status_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5a78c1e ib_sa_unpack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5b320ea ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe6ceab70 rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe77d4310 ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7b52e5f mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe853c43b rdma_move_grh_sgid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe913a621 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9e799fc ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xea4aada4 rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xec0c8d88 ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeccc7a0c ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf04b6014 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf2cd89dc rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf415fe24 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5dedb30 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf61aac0f ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf622fc8f rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6ed3334 ib_event_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfae42a2e __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc3154a4 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfc4359f5 rdma_restrack_new +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x0eceff84 ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x10c92e76 ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x13634ccc ib_umem_activate_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x18bb6c68 ib_umem_dmabuf_get_pinned +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x196a78fa ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x254f9215 uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x348e0f21 uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x34e8e385 flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x36ed8448 uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3e7091f6 ib_umem_get_peer +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x43599e7a ib_umem_stop_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x45985627 ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x475a4ee1 ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x4bad1de4 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x529afe78 ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x73104920 ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7cd3b5a7 uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x816763fd ib_umem_dmabuf_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x837aff8e ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x93bd907e ib_umem_odp_map_dma_and_lock +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x96264a26 uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x9fa108cf uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa169cde2 flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa3839f00 uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa63c30a7 ib_umem_dmabuf_map_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa6c7d353 _uverbs_get_const_signed +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xaada41dd ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xaf6dd4aa ib_register_peer_memory_client +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb36c06a0 ib_umem_dmabuf_unmap_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbd4f59cb ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbde5c050 ib_unregister_peer_memory_client +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xcabe930c ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd3320c31 uverbs_copy_to_struct_or_zero +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd67046ad _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd72b34cc ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xdaceed92 uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xdd193bdf uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe855e2cd _uverbs_get_const_unsigned +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x036786b9 iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x34f65458 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x37ed6854 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x3bde5fed iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x3daa6169 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x60b68699 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x9b36dd3a iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xa9028177 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3df871f iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x08b54ba5 rdma_lock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1237151e rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x14da99d5 rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x181c876b rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x254e1ef6 rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2959cebe rdma_connect_locked +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2f2d9b1e rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x31ff0952 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x34286711 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3c27d465 rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x45db493c rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x461b5faa rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x48da9c00 rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5aaa8e22 rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5d3bd443 rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x69a4affe rdma_set_min_rnr_timer +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x69f69564 rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7308d314 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7668c34d rdma_create_user_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7cc742b9 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x879099a3 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x907df803 rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x993d074b rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x9ff65f5c rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa6f579b3 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa8a5024a rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc108e5d8 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xce4511aa rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcf5e2a45 rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd1ea9fe3 __rdma_create_kernel_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd39dc4b0 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe179a51b rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xea230ce2 rdma_unlock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf09762ea rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xfa243050 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x21733e4f rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x4b762b1a rtrs_clt_rdma_cq_direct +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x4d9a6bd1 rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x4dbca038 rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x58635042 rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xcc3f1c87 rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xdb230b23 rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x242a8646 rtrs_addr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x5b01e41d sockaddr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x82913e20 rtrs_rdma_dev_pd_deinit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x887302f3 rtrs_addr_to_sockaddr +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xae543e9d rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xc546853a rtrs_ib_dev_find_or_add +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xf093521c rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x1857b723 rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x3467cd0f rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x872159fc rtrs_srv_get_path_name +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x9095f09b rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xd31214f8 rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xf2792a6c rtrs_srv_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x01bdab87 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x18409173 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x1db8948d gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x2a059507 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x2cab6ac4 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x509f8860 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x61d8c0b6 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x95a5142f gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xbd7228b0 gameport_set_phys +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x63ecec22 iforce_process_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0xa332eea3 iforce_send_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0xb1bbc158 iforce_init_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0x0770270d matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x4b5b5547 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x814f23ca ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xd4752968 ad714x_probe +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x01eeca31 cma3000_init +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x892d76b2 cma3000_resume +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x89d9444e cma3000_exit +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xca3f100a cma3000_suspend +EXPORT_SYMBOL drivers/input/rmi4/rmi_core 0x72c88f27 rmi_unregister_transport_device +EXPORT_SYMBOL drivers/input/sparse-keymap 0x28d579e9 sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xa2133e8b sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0xcbbe1b0a sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0xd7d1ea03 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0xd8c51be9 sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x09fb0efc ad7879_probe +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0xf04aeb47 ad7879_pm_ops +EXPORT_SYMBOL drivers/interconnect/qcom/icc-smd-rpm 0xbf48bd67 qnoc_remove +EXPORT_SYMBOL drivers/interconnect/qcom/icc-smd-rpm 0xdc3092ef qnoc_probe +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x037c406b detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x27205ec0 capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x3473d87f capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x373fce9f capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x5621b898 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x27c58fd5 isdnhdlc_decode +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x4644eea5 isdnhdlc_out_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x5b835a58 isdnhdlc_rcv_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0xef4ee223 isdnhdlc_encode +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x08a3b237 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x40c514c2 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xa421add6 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xac8757dc mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x10b349d9 mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x987d5292 mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03a68066 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x15dcd0b2 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x16b894d3 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1e5165af mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x26236de8 mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2d8cc05c create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x30d25b0d mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x313b1fde mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x474ede9c mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4d520921 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6047df40 mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x61c1b73f recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6cc8d1ae mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x70c270ee recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x71040fa2 mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7d6bb3e4 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7debe9b8 mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9c928457 mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9f8f5a02 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb2be8243 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc11b7968 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc1b96939 mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc6a24a7b mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc74a2dee recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xcab5fba3 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd0231b25 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd061fc03 mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd6cdcf1c bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xdd5bf54f mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x01087af0 mISDN_dsp_element_unregister +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x93df9e4b dsp_audio_law_to_s32 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb07a21b8 dsp_audio_s16_to_law +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb98308d8 mISDN_dsp_element_register +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x54a12ec4 ti_lmu_common_set_ramp +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xa2952e06 ti_lmu_common_get_ramp_params +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xcdd78905 ti_lmu_common_get_brt_res +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xced72aae ti_lmu_common_set_brightness +EXPORT_SYMBOL drivers/mailbox/mtk-cmdq-mailbox 0x8bec4974 cmdq_get_shift_pa +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x12b74b53 omap_mbox_request_channel +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0xa32fb5cd omap_mbox_disable_irq +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0xc3e962ac omap_mbox_enable_irq +EXPORT_SYMBOL drivers/md/dm-log 0x02c66738 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0x945132b6 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0xc7b9ae92 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0xda8c8e87 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x003a60ae dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x10fd6b8b dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x35cc75d5 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x3bff693c dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x94d73808 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0xecab9e55 dm_exception_store_create +EXPORT_SYMBOL drivers/md/raid456 0x6f51da92 r5c_journal_mode_set +EXPORT_SYMBOL drivers/md/raid456 0x77b7c2d2 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x1f5aaefb flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x20dfd8be flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x3ca42cd4 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x4446f7dd flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x488858bf flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xa7c62f91 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xade23cb0 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xae1564f6 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xc0b5c0f5 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xc2ccea91 flexcop_device_initialize +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xf7367d32 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xf8ee0900 flexcop_device_exit +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xfd20977e flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/common/cx2341x 0x0ed6f113 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/common/cx2341x 0x0f1730d6 cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/common/cx2341x 0x15ac1bd0 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/common/cx2341x 0x205d79cd cx2341x_handler_init +EXPORT_SYMBOL drivers/media/common/cx2341x 0x28240e61 cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/common/cx2341x 0x55aa7c5f cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x5dd1a3e0 cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/common/cx2341x 0x6a657b05 cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x7b4dd2cb cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/common/cx2341x 0xdbc5583a cx2341x_update +EXPORT_SYMBOL drivers/media/common/cx2341x 0xe1fe1432 cx2341x_log_status +EXPORT_SYMBOL drivers/media/common/cypress_firmware 0xfe3862ea cypress_load_firmware +EXPORT_SYMBOL drivers/media/common/ttpci-eeprom 0x693e74ba ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/common/ttpci-eeprom 0xe0196f63 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/common/tveeprom 0x0dbf0296 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/common/tveeprom 0xc5135fb5 tveeprom_read +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x065246b8 frame_vector_create +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1b700d37 put_vaddr_frames +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1d5f9555 frame_vector_destroy +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x3c80b605 vb2_verify_memory_type +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x48be604f vb2_buffer_in_use +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xc2d9e090 get_vaddr_frames +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xc5e5573a frame_vector_to_pages +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xdffb744b frame_vector_to_pfns +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x2d1dd645 vb2_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x3506bdf3 vb2_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x766e3b8c vb2_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xb09d1c45 vb2_dvb_register_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xc33f0a36 vb2_dvb_get_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xdf47e814 vb2_dvb_find_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-memops 0xa21fa765 vb2_create_framevec +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-memops 0xccd197c7 vb2_destroy_framevec +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-v4l2 0xdd17cfd8 vb2_querybuf +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08733236 intlog10 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x110b66cd dvb_device_get +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x18acd31f dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x28b46586 dvb_frontend_suspend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2f5cdf80 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3091f10d dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x30ce0503 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x370060a5 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3b93d71a dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3fcaa754 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x4b7d30db dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x4fbaeabe dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5342ba95 dvb_frontend_resume +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x54abe4ff dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5f2b1d95 intlog2 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6181aec0 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x61870674 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x66305eed dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6a9f708a dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6dc9b749 dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x777c3c6b dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7c419b81 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x88af1bbe dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8c54b0f8 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x91a6794b dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9263a063 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9892f496 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9fc589cc dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa3a71036 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa4235824 dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb3352dd2 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xbe38d9bc dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc0c2c19f dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc19e88fb dvb_net_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc3f679f9 dvb_ringbuffer_write_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xdf77c99b dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe138ce6b dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe440b04a dvb_remove_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xebbc2d9b dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf0c225f3 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfb09f39a dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfb9a826f dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xfc6380e5 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb-frontends/ascot2e 0x65ba00cf ascot2e_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/atbm8830 0xb51405fe atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x00aec2dd au8522_get_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x0cc609ad au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x12946954 au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x35facfb2 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x73b112c0 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x93f7568e au8522_release_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xadcd42d6 au8522_init +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xb40be833 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xf3079e24 au8522_analog_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_dig 0x814e5453 au8522_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/bcm3510 0x4c89f05e bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22700 0x4bca4480 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22702 0x0c169da0 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24110 0x50da0eef cx24110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x3ead7e90 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0xb73920f6 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24116 0x35fc79c3 cx24116_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24120 0xf347a612 cx24120_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x3b5beb6a cx24123_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x3e97a2f5 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2820r 0xafe25048 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x1faab866 cxd2841er_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x6cf0ad4b cxd2841er_attach_t_c +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2880/cxd2880 0xd5b1cff7 cxd2880_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x3620ff7d dib0070_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xabc20e17 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xe3211532 dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xf89ecc1c dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xfb7517d3 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x084029d5 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x12e4a60b dib0090_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x150bfbbf dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x19fd2b48 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x22e2187b dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x23a284a1 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x3d56089b dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x49b039b9 dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7d7fb297 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x9db521ec dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x9e527727 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xb23f5f01 dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xbc720bd9 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xf0516f93 dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xf3fa4761 dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mb 0x110965f0 dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x37dbed88 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x42caa2b5 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xa0d6edf3 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xa2232cbf dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xc83a309b dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xdff7fba3 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x09304277 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xc56bd066 dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xea3156da dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xf5488ad2 dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000p 0x78c03cd8 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib8000 0xc53e0fe8 dib8000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x10f4befc dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x1dff7309 dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x34d34210 dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x5e6d4c3f dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x6fc3c82a dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x80e3d27e dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x8b518f18 dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xa005f6b3 dib9000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xa8bcf6e8 dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xb9dd0ae8 dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xbfbda842 dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xee1893bb dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xf2bc13d2 dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x37f2f552 dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x5b3aae48 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x7b47d67d dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xaf13aee5 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xda1be374 dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/drx39xyj/drx39xyj 0xea12c637 drx39xxj_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxd 0x25e0c8bb drxd_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxk 0x28a5896c drxk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ds3000 0x0ff70e08 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb-pll 0x1a833931 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x42ead7a2 dvb_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x56bbef28 dvb_dummy_fe_ofdm_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0xfd75cb40 dvb_dummy_fe_qpsk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ec100 0x58669cb3 ec100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0xa366eabd helene_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0xda200eaf helene_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/horus3a 0xda286ac4 horus3a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6405 0x4a90c891 isl6405_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6421 0x7a414790 isl6421_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6423 0x6456ce4c isl6423_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/itd1000 0xe9360e2a itd1000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ix2505v 0xd314df27 ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/l64781 0xf18014d7 l64781_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lg2160 0x7c419883 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3305 0xc27116e0 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3306a 0xd0153dad lgdt3306a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt330x 0xeae5590f lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gl5 0x1232580c lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gxx 0x165f82bb lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh25 0x905eade2 lnbh25_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh29 0x347f6167 lnbh29_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x7d720c40 lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x9155c5db lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp22 0x5bb7f1e9 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x07379069 m88ds3103_get_agc_pwm +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x44f2a18f m88ds3103_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88rs2000 0x9949abd4 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a16 0x76a6f22f mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a20s 0x0f31139e mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt312 0x24fb462e mt312_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt352 0x4a9f58b5 mt352_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt200x 0x8d7eee95 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt6000 0x6aac4f13 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51132 0x6fcd9e49 or51132_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51211 0x9a3e0fad or51211_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1409 0x1b87a76e s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1411 0x4d463297 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x0aa9f1e0 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x8a68efdb s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1432 0x43f71f4b s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s921 0x51d9a650 s921_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/si21xx 0x02fd512a si21xx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp887x 0xf2f18c48 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb0899 0xc726aa88 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6000 0x314dfe2c stb6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6100 0x38626e37 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0288 0xa67b5595 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0297 0xbdd6651a stv0297_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0299 0x0dcd5c66 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x52c8da53 stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0xd3fa203e stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0xe30a3e04 stv0367ddb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0900 0x405189b7 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv090x 0xa9d6804b stv090x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110 0x967620f5 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110x 0x8a7adf5d stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10021 0x8aeb4c10 tda10021_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10023 0x09851fbe tda10023_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10048 0x4e6f71d0 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0xce98e3f7 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0xf515fc83 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10086 0x2e4de916 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda665x 0xfd73f357 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8083 0x24cbb0c6 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8261 0xefe13844 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda826x 0xe4dddb69 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ts2020 0xaa3e08fe ts2020_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tua6100 0xa381cec8 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1820 0xe14a77d6 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1x93 0x1a8e28d9 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x40bbf773 zd1301_demod_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x49e0895c zd1301_demod_get_dvb_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10036 0x53304e46 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10039 0x51a5e7b5 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10353 0x57aeb6ef zl10353_attach +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x04773381 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x093bbcac flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x1c2e005e flexcop_dma_free +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x3521f0da flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x9ca9f512 flexcop_dma_config +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xa4cf9305 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0xfb00cc03 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x5f349b24 bt878_start +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x635b57b7 bt878_stop +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xb3498e1c bt878_device_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xdb2d79ac bt878 +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x0fbd3ae2 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x4a184030 bttv_sub_register +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x852727e1 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x14ad9e79 dst_comm_init +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x43a983fd dst_check_sum +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x52cf149f dst_error_bailout +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x53d15ed5 dst_error_recovery +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7cd946a7 rdc_reset_state +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7e289269 dst_attach +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x85939d1b write_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xaab88ba6 dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xbce67042 read_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xe61b8254 dst_pio_disable +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst_ca 0x78d26900 dst_ca_attach +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x131e6dc6 cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x13c348a4 cx18_release_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x166c6a16 cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x1e83ab68 cx18_ext_init +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xb0498b12 cx18_claim_stream +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x1ab311dc altera_ci_init +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x6ff7510d altera_ci_tuner_reset +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0xdb3faf38 altera_ci_release +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0xe66b9812 altera_ci_irq +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x44b517f5 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x5fe500bb cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x63f0f8c1 cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x67c02989 cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x95c909f9 cx25821_dev_get +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xbf963aba cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xc064a1df cx25821_riscmem_alloc +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe9050411 cx25821_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe9a39586 cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0xb34f4c13 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0xc280613b vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x4405530a cx88_video_mux +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x4410400b cx88_querycap +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x5c8375a0 cx88_enum_input +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0xd3f2245a cx88_set_freq +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x0b8e28f4 cx8802_register_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x1c94b339 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x2808ba12 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x42706d7a cx8802_get_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x66c1d390 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x77ac8288 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x94752d50 cx8802_start_dma +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x2183542f cx88_set_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x3259b8ec cx88_wakeup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x36c8ba9a cx88_vdev_init +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x3abd2edb cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x4cbdc71c cx88_core_put +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x4fe093db cx88_ir_stop +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x5edb7ae5 cx88_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x6096d24c cx88_newstation +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x74307184 cx88_core_get +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x78424319 cx88_core_irq +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x8c928b09 cx88_reset +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x8ca5273c cx88_risc_buffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x8d88137a cx88_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x9259f262 cx88_set_scale +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xace91a4a cx88_ir_start +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xbe55b35c cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xcd43d6a1 cx88_get_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xda990128 cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xdf37a6d6 cx88_shutdown +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xedc86135 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xee86ac9e cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xf61ebda1 cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/pci/ddbridge/ddbridge-dummy-fe 0xc082b542 ddbridge_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x0f3da8d1 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x13d5d4ac ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x20f36e44 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x49d4c4e8 ivtv_release_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x4bcbd7ec ivtv_ext_init +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x76dae942 ivtv_api +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7d75f08d ivtv_vapi_result +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x8b5ae817 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x90b50144 ivtv_vapi +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x9410a131 ivtv_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x9b7c246f ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xa38ba6c5 ivtv_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xb8fcb5a2 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xd2dcce32 ivtv_firmware_check +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xd929bd16 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xdb20bb1d ivtv_claim_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xf1e0354e ivtv_udma_setup +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x0a8a2b15 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x1211df5d saa7134_devlist +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x2bef9ef9 saa_dsp_writel +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x3cf52826 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x4f65e11f saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x730c4be3 saa7134_boards +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7e3a1e67 saa7134_ts_register +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x86c01f22 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x8f1ad46b saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xbca2096d saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xbf693cbd saa7134_set_gpio +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xdf573c14 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xedcc2eaf saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xf454fadc saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/platform/allegro-dvt/allegro 0x2c79d0f2 msg_type_name +EXPORT_SYMBOL drivers/media/radio/tea575x 0x16756085 snd_tea575x_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0x1bad1a8e snd_tea575x_g_tuner +EXPORT_SYMBOL drivers/media/radio/tea575x 0x398ac200 snd_tea575x_s_hw_freq_seek +EXPORT_SYMBOL drivers/media/radio/tea575x 0x6258ca54 snd_tea575x_exit +EXPORT_SYMBOL drivers/media/radio/tea575x 0x69fb2ec0 snd_tea575x_hw_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0x6dcbe71a snd_tea575x_enum_freq_bands +EXPORT_SYMBOL drivers/media/radio/tea575x 0x6f5b396b snd_tea575x_set_freq +EXPORT_SYMBOL drivers/media/rc/rc-core 0x01098f88 ir_raw_encode_scancode +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2fe55cf5 ir_raw_gen_pd +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7a02ee87 ir_raw_gen_pl +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7f1ac0c0 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0xb5516017 ir_raw_encode_carrier +EXPORT_SYMBOL drivers/media/rc/rc-core 0xce3696f3 ir_raw_gen_manchester +EXPORT_SYMBOL drivers/media/rc/rc-core 0xe4c51711 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/tuners/fc0011 0x8708c4e0 fc0011_attach +EXPORT_SYMBOL drivers/media/tuners/fc0012 0xd57b2864 fc0012_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0xb6dfa424 fc0013_rc_cal_add +EXPORT_SYMBOL drivers/media/tuners/fc0013 0xd96070ce fc0013_rc_cal_reset +EXPORT_SYMBOL drivers/media/tuners/fc0013 0xe98a51af fc0013_attach +EXPORT_SYMBOL drivers/media/tuners/max2165 0x75c71f4d max2165_attach +EXPORT_SYMBOL drivers/media/tuners/mc44s803 0xec28d675 mc44s803_attach +EXPORT_SYMBOL drivers/media/tuners/mt2060 0xa3d64e9f mt2060_attach +EXPORT_SYMBOL drivers/media/tuners/mt2131 0xbe4adc97 mt2131_attach +EXPORT_SYMBOL drivers/media/tuners/mt2266 0xd6f021f5 mt2266_attach +EXPORT_SYMBOL drivers/media/tuners/mxl5005s 0x1692702d mxl5005s_attach +EXPORT_SYMBOL drivers/media/tuners/qt1010 0x7be672f1 qt1010_attach +EXPORT_SYMBOL drivers/media/tuners/tda18218 0xd35def87 tda18218_attach +EXPORT_SYMBOL drivers/media/tuners/tuner-types 0x4c48939e tuners +EXPORT_SYMBOL drivers/media/tuners/tuner-types 0xc2821775 tuner_count +EXPORT_SYMBOL drivers/media/tuners/xc2028 0xb7e5f3db xc2028_attach +EXPORT_SYMBOL drivers/media/tuners/xc4000 0xc7608b7c xc4000_attach +EXPORT_SYMBOL drivers/media/tuners/xc5000 0x5ff7d427 xc5000_attach +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x59aaa360 cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0xa93af852 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x0b1818fa dvb_usbv2_reset_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x1fb6bdb0 dvb_usbv2_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x3bbc0608 dvb_usbv2_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x51c9073e dvb_usbv2_probe +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x572c4acb dvb_usbv2_generic_write_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x7256893d dvb_usbv2_disconnect +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xab6acf77 dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xaf88d3ca dvb_usbv2_suspend +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xfc194274 dvb_usbv2_generic_rw_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x0501abeb dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x28b1d76d usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x3c17e38f dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x6bba8625 dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x8b6f5395 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xd9da02c7 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xefe604e4 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x341530cb rc_map_af9005_table +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x85328837 af9005_rc_decode +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0xd4e288db rc_map_af9005_table_size +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x1d4d7af5 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x2fb271f5 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x49467669 dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x5bbf2273 dibusb_rc_query +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x93822ecb rc_map_dibusb_table +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x950dc7b4 dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xb179a44b dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xb21c80b5 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xc28a0906 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xcdaf91f4 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x7c85fa79 dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0xdd79dc04 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x60f5923c em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x73b45514 em28xx_register_extension +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x1f7733d4 go7007_read_interrupt +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x33aec450 go7007_read_addr +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x570f664d go7007_update_board +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x5c2d0d9d go7007_snd_remove +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x5ec2716c go7007_snd_init +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xb12ad589 go7007_parse_video_stream +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xd9f7231b go7007_alloc +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xe57ca01f go7007_register_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xf1edc812 go7007_boot_encoder +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x2d48308b gspca_disconnect +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x721d1b0c gspca_frame_add +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x8853cfa5 gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xc7ae8277 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xcb2aadd9 gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xcb9d9f8c gspca_suspend +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xefc8f4d4 gspca_resume +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xf48ca5b0 gspca_dev_probe +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x4916067d tm6000_register_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x7decfad4 tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x892cbc88 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x0369de98 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x28aedf52 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x05f514a9 v4l2_async_nf_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x26aee7ff v4l2_async_nf_init +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x3f0c9a5c v4l2_async_subdev_nf_register +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0xdc59e71f v4l2_async_unregister_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0xedceed8e v4l2_async_nf_register +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0xf52c2f9c v4l2_async_register_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x2ad25295 v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x3803edfa v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x5352d022 v4l2_m2m_resume +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x54667ccc v4l2_m2m_buf_done_and_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x672f6d21 v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xf626dd03 v4l2_m2m_suspend +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x05635aad v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x05a1558f v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x082737e8 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0a18c566 v4l2_query_ext_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x15c28f08 v4l2_ctrl_notify +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x15dd0946 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x178faf31 v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1b1b34a5 v4l2_ctrl_new_std_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1dd3b89b video_unregister_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x212e298c __v4l2_ctrl_s_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x25a941be video_devdata +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x28b12cc9 v4l2_format_info +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2c3e5779 __v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2f996c70 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3077c951 v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x315de2cf v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x32d43420 v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3611dcef video_device_release +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3688ef42 v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3877ef90 v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x390f3bbc __v4l2_ctrl_s_ctrl_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3bdd0f94 v4l2_prio_change +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3e771ec5 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4661c782 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4e5905ae v4l2_subdev_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x52990b2a __v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x55c03e71 v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x60569ccf video_device_alloc +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6403cd5b v4l2_ctrl_new_std_menu_items +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x745f79d4 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7a29d54c v4l2_ctrl_handler_init_class +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fe40df9 v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x84ceef3f __v4l2_ctrl_s_ctrl_string +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x89bfcf4b v4l2_ctrl_radio_filter +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x89e3897d v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8e1d2def video_device_release_empty +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x98472dca v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa0291110 v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa70832fb v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xacbc95d5 __v4l2_ctrl_modify_range +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb2122a86 v4l2_ctrl_g_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb4974cca v4l2_ctrl_subdev_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbb4dfc5c v4l2_queryctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbc5671dc v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbdb6d77c v4l2_querymenu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc245f84d v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc30b3118 v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc6a843da v4l2_ctrl_request_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc7d86c13 v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc872adf8 v4l2_ctrl_request_complete +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc8c80fb2 video_ioctl2 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc96ccc13 v4l2_ctrl_subdev_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xce4a9961 v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd16d9c01 v4l2_ctrl_get_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe23c59e1 v4l2_subdev_call_wrappers +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe9291eca v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf4b73db5 __video_register_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf50fecbc v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf5653882 v4l2_ctrl_new_fwnode_properties +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xfc74ac3f v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xfedf8f37 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0x29be8e03 rpcif_dirmap_read +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0x7e9f5bc0 rpcif_manual_xfer +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0x94820317 rpcif_prepare +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0xae181ff4 rpcif_hw_init +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0xcfc98a62 rpcif_sw_init +EXPORT_SYMBOL drivers/memstick/core/memstick 0x007cec6e memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x178e9fd1 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x2693ee2c memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x2ad78f90 memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4a4e5778 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x64bec9a6 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6ee19ec6 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x719d24f1 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x75430662 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x797221c2 memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7a870ecb memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xae50437c memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xd548e995 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xfa2b0069 memstick_new_req +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x007b9a38 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x22b3d4a7 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x24e32670 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2cf17f40 mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3b92bfaa mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4752723b mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x59f183f1 mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5b3726d9 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x610b257e mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6d7b2acd mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x74a0134a mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x76127ecf mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x790af4d1 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8a0853eb mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8e2a3cda mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x8f9672e3 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x975c44a2 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x981efe92 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa9f81ee9 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xae8d4845 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xafb31b15 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xbbc4fb13 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc4b292d9 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc6a58e8c mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xc78b0192 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd63a5563 mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd70c0214 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdf68f9f2 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe3b9e6f3 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe6c1e126 mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf9807916 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xf993ddcc mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xfc8d986e mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x0166ae81 mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x03612eeb mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1159018f mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x11912b95 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x143366cd mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x15040aa8 mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2270cce2 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x323bcf28 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x47d7ac9e mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4b07e882 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4b3496c3 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5563743f mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x670bd045 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7262d3e9 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x741d796b mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x757b6b0f mptscsih_host_attr_groups +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x922552bb mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9b79951a mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9fc96ad9 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa1199d3a mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xa140c807 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb5c7d681 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xb87d5a7b mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xc9619b6c mptscsih_show_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd9bdc09e mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdb7f4df1 mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf23fdedb mptscsih_bios_param +EXPORT_SYMBOL drivers/mfd/axp20x 0x64de1b5d axp20x_match_device +EXPORT_SYMBOL drivers/mfd/axp20x 0x7e32d091 axp20x_device_remove +EXPORT_SYMBOL drivers/mfd/axp20x 0x91aae08e axp20x_device_probe +EXPORT_SYMBOL drivers/mfd/dln2 0x1558b80a dln2_register_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0x17970417 dln2_transfer +EXPORT_SYMBOL drivers/mfd/dln2 0xf33fd7da dln2_unregister_event_cb +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x33baec2f pasic3_write_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xa859d268 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x140c6f6f mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x1a275480 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x1b578bfe mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x37d0c64f mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x4bbfe8de mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x71ec7acd mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7d327085 mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x8673336f mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xa99d578f mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xae4fdb47 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xc17f67eb mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/qcom_rpm 0xd520f912 qcom_rpm_write +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0x0c6ad2cf tps65010_config_vdcdc2 +EXPORT_SYMBOL drivers/mfd/tps65010 0x28485130 tps65010_config_vregs1 +EXPORT_SYMBOL drivers/mfd/tps65010 0x33739de7 tps65010_set_vib +EXPORT_SYMBOL drivers/mfd/tps65010 0x9fd44c69 tps65010_set_led +EXPORT_SYMBOL drivers/mfd/tps65010 0xb14080cc tps65010_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0xd5bb106d tps65010_set_vbus_draw +EXPORT_SYMBOL drivers/mfd/tps65010 0xe99b3f36 tps65010_set_gpio_out_value +EXPORT_SYMBOL drivers/mfd/wm8994 0x0b940cc1 wm8994_irq_init +EXPORT_SYMBOL drivers/mfd/wm8994 0x4f778d98 wm8958_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x573ac435 wm8994_irq_exit +EXPORT_SYMBOL drivers/mfd/wm8994 0x6c2e3365 wm8994_base_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x7d4d3601 wm8994_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xd0158fb5 wm1811_regmap_config +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x46aab480 ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x7c2cfa6b ad_dpot_probe +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x5bafa76e altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x63f4a2b3 c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0xf5188fbf c2port_device_unregister +EXPORT_SYMBOL drivers/misc/tifm_core 0x0ffb277f tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x1a1ea9e9 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x275bfd2e tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x27b3e9ef tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x327240de tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x478ac76e tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x7d08f165 tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x99fcac53 tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xa69b2ec0 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xcba9d319 tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xe1551012 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xe89c465e tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xfd73c93d tifm_add_adapter +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x0a005aff cqhci_pltfm_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x272279e1 cqhci_irq +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x5ac5e47f cqhci_resume +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xd4433710 cqhci_deactivate +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xebb2aa15 cqhci_init +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x2b8ab006 dw_mci_runtime_resume +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x36dcb75e dw_mci_remove +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x8c419324 dw_mci_probe +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0xe68d8984 dw_mci_runtime_suspend +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x2e966115 mmc_spi_get_pdata +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x5d51471f mmc_spi_put_pdata +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x03dd7d14 cfi_build_cmd_addr +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x1f8cf74c cfi_merge_status +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x70a47493 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x804d46e6 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x9c14ba4d cfi_build_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xd1d6edc7 cfi_send_gen_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xf555cd0c cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xff9fa623 cfi_udelay +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x3a2b915f register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x7b1089f1 map_destroy +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x9feda431 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xb3754a2e unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0xd12d9b6e mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x98cf57ad lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0xd03be20c simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0x2583ee18 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/mtd 0xd2be2348 mtd_concat_create +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x102603bc mtk_ecc_get_parity_bits +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x16049f66 of_mtk_ecc_get +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x5437e775 mtk_ecc_disable +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x5de55d81 mtk_ecc_get_stats +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x6df58afb mtk_ecc_release +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x76e53683 mtk_ecc_wait_done +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x8dcc87d2 mtk_ecc_enable +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0xda64ef4a mtk_ecc_adjust_strength +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0xec8b9207 mtk_ecc_encode +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x1f853027 nand_ecc_sw_hamming_calculate +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x20c58f8a nand_ecc_sw_hamming_get_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x32254a96 nand_ecc_finish_io_req +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x45e741cb nand_ecc_init_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x57065109 nand_ecc_cleanup_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x697b7cc8 nand_ecc_put_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x89a9958c nand_ecc_unregister_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x8b4e3c5e nand_ecc_sw_hamming_correct +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xa49f270c nand_ecc_sw_bch_correct +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xb3c779a9 nand_ecc_prepare_io_req +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xc6d68811 nand_ecc_sw_bch_init_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xc7371769 of_get_nand_ecc_user_config +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xc82996c7 nand_ecc_sw_bch_get_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xc971b1c5 nand_ecc_is_strong_enough +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xcbf10913 nand_ecc_sw_hamming_init_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xcd9fbc24 nand_ecc_get_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xd4075b2c nand_ecc_get_sw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xe0200d31 nand_ecc_sw_hamming_cleanup_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xe6db989b ecc_sw_hamming_correct +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xea4af81f nand_ecc_sw_bch_cleanup_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xec89cbbc nand_ecc_sw_bch_calculate +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xef5492c7 nand_ecc_register_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xfbb48d86 nand_ecc_get_on_die_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xff4351b0 ecc_sw_hamming_calculate +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xb4a4c90d onenand_addr +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xb6c90d7f flexonenand_region +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x30db096f denali_calc_ecc_bytes +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x645fb179 denali_init +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x6c99f627 denali_remove +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x05c7e35d nand_read_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x0d2e3682 nand_create_bbt +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x1c23255d rawnand_sw_hamming_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x480cef62 rawnand_sw_bch_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x49373c72 nand_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x83f3fdce rawnand_sw_hamming_calculate +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x840ed436 nand_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8b5eee50 rawnand_dt_parse_gpio_cs +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8ecbb3b8 nand_check_erased_ecc_chunk +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x9058e098 rawnand_sw_hamming_correct +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x96f66310 nand_get_set_features_notsupp +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xcc4fab1c nand_monolithic_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xd2e9b82c nand_scan_with_ids +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xda3bf9b2 nand_monolithic_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xe63ce381 rawnand_sw_bch_cleanup +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xe6ddfd44 rawnand_sw_hamming_cleanup +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xe9ad00d2 rawnand_sw_bch_correct +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xee076657 nand_write_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/omap_elm 0x6a39d62c elm_config +EXPORT_SYMBOL drivers/mtd/nand/raw/omap_elm 0x7b685723 elm_decode_bch_error_page +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x14498798 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x275a8de1 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x296ce1d7 free_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x3a05dfbd arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x42a8c465 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x87f952ed arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x88d57295 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x8b19b279 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x8bc4c759 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x8fa2e83d arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xc90dfe75 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x30c5014f com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x459e52a3 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x8670202e com20020_check +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0xdb90f86d ctucan_suspend +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0xea308631 ctucan_resume +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0xedf5a546 ctucan_probe_common +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x00aca266 b53_port_event +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x04d456e9 b53_phylink_mac_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0520a0c0 b53_br_fast_age +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x091508b0 b53_get_sset_count +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0bcb5c19 b53_br_set_stp_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x12a4e11e b53_br_flags +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x1b011dbb b53_switch_register +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2687beb8 b53_fdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x308cf086 b53_setup_devlink_resources +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x430a758c b53_configure_vlan +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x47febd7b b53_eee_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4819a015 b53_brcm_hdr_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4fd8144d b53_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x505500d3 b53_phylink_mac_link_down +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6504024f b53_mirror_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x65de97d8 b53_vlan_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x692ddc60 b53_mirror_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x69e052e4 b53_br_flags_pre +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6a984ccb b53_vlan_filtering +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x79ee6983 b53_get_strings +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7b889514 b53_set_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x878df227 b53_mdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x93cfd624 b53_vlan_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xac95e5ce b53_disable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb1fb89f0 b53_enable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xbf5c9790 b53_get_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc3b1386e b53_fdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xcdee7d66 b53_get_ethtool_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd2f7a7a6 b53_mdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xdfb5db3c b53_get_ethtool_phy_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe33b8849 b53_eee_enable_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe5378ba8 b53_get_tag_protocol +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xe591d416 b53_fdb_dump +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xeb671e44 b53_imp_vlan_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xeb81d70a b53_br_join +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf52310ac b53_phylink_mac_link_up +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf6839c33 b53_switch_detect +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf8b8a2db b53_br_leave +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x072c2fb8 b53_serdes_phylink_mac_select_pcs +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x5162e03d b53_serdes_phylink_get_caps +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x7a0ba348 b53_serdes_link_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xcc972653 b53_serdes_init +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x5e6140f1 lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x665264f5 lan9303_shutdown +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x683ee17c lan9303_remove +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xada83f40 lan9303_register_set +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0x543cfaee ksz8_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0xc462a7d2 ksz9477_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x5b372e19 ksz_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0xa7b27c59 ksz_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0xfeb6fbc5 ksz_switch_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x35a6d604 vsc73xx_probe +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x77987a8f vsc73xx_shutdown +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x99d242fe vsc73xx_is_addr_valid +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0xa60bc0c5 vsc73xx_remove +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x35d09f85 xrs700x_switch_register +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x83b7b667 xrs7003f_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x878b2329 xrs700x_switch_shutdown +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x8972bf7e xrs7004f_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xb25facfa xrs7003e_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xb89aa5e3 xrs7004e_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xdf9cb88d xrs700x_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xe3197c70 xrs700x_switch_remove +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x029b9477 ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x144bde06 ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x6dc6d713 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x9af65434 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x9c5c1585 ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xb8f875c5 ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xc8052700 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xdecc7077 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xe407465c NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xf9ddde91 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/aquantia/atlantic/atlantic 0x9b089d76 aq_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnxt/bnxt_en 0x7dc2f25b bnxt_ulp_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0xd1724ff4 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0x5e1b66da cavium_ptp_get +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0x5e949721 cavium_ptp_put +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x0d8be5fd bgx_lmac_rx_tx_enable +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x34eeb48a bgx_set_dmac_cam_filter +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x42264715 bgx_get_lmac_count +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x46cdf933 bgx_config_timestamping +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x539ca253 bgx_get_lmac_mac +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x60cd1f2f bgx_lmac_get_pfc +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x6ca2152d bgx_lmac_set_pfc +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x716fd7f0 bgx_reset_xcast_mode +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x72b238e4 bgx_get_rx_stats +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xbe654297 bgx_get_tx_stats +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xc397f585 bgx_lmac_internal_loopback +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xc82be691 bgx_get_map +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xd8ed0bcc bgx_set_lmac_mac +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xf101d1b2 bgx_get_lmac_link_state +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xff987a02 bgx_set_xcast_mode +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_xcv 0x13912e4b xcv_init_hw +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_xcv 0x4f739dc0 xcv_setup_link +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0d1c9db8 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0f04b8c3 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x1efa38d5 t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x22a709db cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x2a5d6608 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x31e5f126 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x32156967 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x360775c7 cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x491307f8 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x599427b1 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x75b7edd4 t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x9c94e9b9 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xce8c5c12 cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xddfc28c4 cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xe4a8a203 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xe956f468 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0a5ab9a2 cxgb4_reclaim_completed_tx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0bcfe16b cxgb4_remove_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0f1a5528 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1c06a7d9 cxgb4_map_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1dc73e5a cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1e73e8cc cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1ed63601 cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2068e5e2 cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x375df21f cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3ac4d1f1 cxgb4_check_l2t_valid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3cac2245 cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x48e1a13b cxgb4_clip_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4bc59710 cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50ee5c07 cxgb4_best_aligned_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x545807ce cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x58cebf3e cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x58e76dd1 cxgb4_l2t_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6018c39d cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x66be71e9 cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6941b90d cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6b2f37b7 cxgb4_get_srq_entry +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6c7509b5 cxgb4_remove_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6d5d4fd1 cxgb4_read_tpte +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x74d73f72 cxgb4_ring_tx_db +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7caa5eba cxgb4_write_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8b0a6236 t4_cleanup_clip_tbl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8b88df9f cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8f379c0a cxgb4_create_server6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8ff3c204 cxgb4_read_sge_timestamp +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x94636576 cxgb4_clip_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x997fc4dd cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9b62e640 cxgb4_immdata_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9c16d1f1 cxgb4_alloc_sftid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa454e820 cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa8db193f cxgb4_smt_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb2aa5de4 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xbf83e864 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc764216e cxgb4_update_root_dev_clip +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc8a415d2 cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xce0d96d2 cxgb4_write_partial_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd22eefba cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd246ea2b cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd4b7bc1a cxgb4_inline_tx_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd5336fb7 cxgb4_create_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xdb0d9b67 cxgb4_smt_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xdc11cca9 cxgb4_port_e2cchan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xee46f4b4 cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf0c2e6ce cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf5a3266a cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x05ab177d cxgbi_ppm_ppod_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x1bdaafe1 cxgbi_tagmask_set +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x255ab30f cxgb_get_4tuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x2d5c7417 cxgb_find_route +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x3c928adb cxgbi_ppm_make_ppod_hdr +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x4b61b7df cxgbi_ppm_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x5831c2de cxgbi_ppm_ppods_reserve +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xcc5e5582 cxgbi_ppm_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xe93c380a cxgb_find_route6 +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x0bb7ef58 vnic_dev_get_pdev +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x2b51f373 vnic_dev_register +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x70087fc1 vnic_dev_unregister +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xa6aac10e vnic_dev_get_res +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xd8f4d6fd vnic_dev_get_res_count +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xfb098adf enic_api_devcmd_proxy_by_index +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x3d6c0463 be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x4e2e10d2 be_roce_mcc_cmd +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x89b59ca8 be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/freescale/dpaa2/fsl-dpaa2-eth 0x3dfcc24a dpaa2_ptp +EXPORT_SYMBOL drivers/net/ethernet/freescale/dpaa2/fsl-dpaa2-eth 0x4412391e dpaa2_phc_index +EXPORT_SYMBOL drivers/net/ethernet/freescale/enetc/fsl-enetc-ierb 0xfd48ee06 enetc_ierb_register_pf +EXPORT_SYMBOL drivers/net/ethernet/freescale/enetc/fsl-enetc-ptp 0x5431a304 enetc_phc_index +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x474ff2ed fun_dev_enable +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x5da1d6b1 fun_release_irqs +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x946c8d2b fun_reserve_irqs +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0xedd07664 fun_dev_disable +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x06d1dc3d hnae_reinit_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x0afc4d7c hnae_put_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x40b22227 hnae_ae_unregister +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xb1266858 hnae_register_notifier +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xc329739c hnae_get_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xdf24adef hnae_unregister_notifier +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0xe8c5ab5a hnae_ae_register +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hns_dsaf 0x7995e13a hns_dsaf_roce_reset +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x0cdd3918 hnae3_register_client +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x33a95ffa hnae3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x3f3cd43f hnae3_unregister_ae_algo +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x8f7f7965 hnae3_register_ae_algo +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x98b8df38 hnae3_register_ae_dev +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0xa22c748b hnae3_set_client_init_flag +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0xa7ccb9da hnae3_unregister_ae_dev +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0xccce6586 hnae3_unregister_ae_algo_prepare +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x76ac0e73 iavf_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0xe29ad061 iavf_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/ice/ice 0x965ff908 ice_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/intel/ixgbe/ixgbe 0xbaa35511 ixgbe_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x1205ea73 __otx2_mbox_reset +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x130d369a otx2_mbox_alloc_msg_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x1b545457 otx2_reply_invalid_msg +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x2e98092f otx2_mbox_msg_send +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x364e8761 __SCK__tp_func_otx2_msg_interrupt +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x43d9e350 otx2_mbox_nonempty +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x49286d3c __tracepoint_otx2_msg_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x4d90631b __tracepoint_otx2_msg_interrupt +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x4e66fabb otx2_mbox_get_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x6365a74f __SCK__tp_func_otx2_msg_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x63d73005 otx2_mbox_reset +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x7e73b60d __traceiter_otx2_msg_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x8f772a3f otx2_mbox_id2name +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0x9af9fff0 otx2_mbox_busy_poll_for_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xb150b38c __tracepoint_otx2_msg_process +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xb8e7d13b otx2_mbox_destroy +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xb915a0c6 otx2_mbox_wait_for_rsp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xbc10fd4c otx2_mbox_check_rsp_msgs +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xcef3985a __SCK__tp_func_otx2_msg_process +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xd25aa0d6 otx2_mbox_regions_init +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xd7c36496 __traceiter_otx2_msg_process +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xdb22285e otx2_mbox_init +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/af/rvu_mbox 0xe07e4f6b __traceiter_otx2_msg_interrupt +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x0153ab3b mbox_handler_npa_lf_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x069cb3aa otx2_set_real_num_queues +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x0938e2f5 otx2_config_hwtstamp +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x0d6a1ab0 otx2_attach_npa_nix +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x15a53210 otx2_stop +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x17d489c4 otx2_set_mac_address +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x23c7c9f3 otx2_handle_ntuple_tc_features +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x23d4e9bf otx2_detach_resources +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x27618500 otx2_ioctl +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x29ee3c80 otx2_get_mac_from_af +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x3a3a50e8 otx2_init_tc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x3c4aecb6 mbox_handler_msix_offset +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x413575d2 mbox_handler_nix_lf_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x4764ff13 otx2_mbox_up_handler_cgx_link_event +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x48edc4eb otx2_config_pause_frm +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x498b3dc8 otx2vf_mcam_flow_init +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x4cc1affc otx2_sq_append_skb +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x5308be0c otx2_alloc_mcam_entries +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x7103db0d mbox_handler_nix_bp_enable +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x872667c4 otx2_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x88cc5bed otx2_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0x92fa230e otx2vf_set_ethtool_ops +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xa9b44536 mbox_handler_nix_txsch_alloc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xb315fe90 otx2_setup_tc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xb638a3cb otx2_open +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xd06f458d cn10k_lmtst_init +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xdf267bda otx2_get_stats64 +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xeb6d8ce3 otx2_tc_alloc_ent_bitmap +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xeffd130b otx2_get_maxflows +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xf201ee2e otx2_shutdown_tc +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xfa4af08a otx2_mcam_flow_del +EXPORT_SYMBOL drivers/net/ethernet/marvell/octeontx2/nic/rvu_nicpf 0xfcb4e6cc otx2_nix_config_bp +EXPORT_SYMBOL drivers/net/ethernet/marvell/prestera/prestera 0x04d055a3 prestera_device_register +EXPORT_SYMBOL drivers/net/ethernet/marvell/prestera/prestera 0x33cc8965 prestera_device_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x040465c1 mlx4_get_eqs_per_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x05f6cacc mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x08956865 mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x105025bf mlx4_SET_PORT_user_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x17736aa8 mlx4_query_diag_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1ef39d2e mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2058166f mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2ac136ce mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2cdc1d1f mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x307831a4 mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x30a36f24 mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4cefe327 mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4f48b4bb mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x556704c6 mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5ad52ed4 mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5dba9188 set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x608e6281 mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x64f2576a mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6a076677 mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6b2414a4 mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6b89ecc6 mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6c47df98 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6de4c6d4 mlx4_get_parav_qkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7432fc57 mlx4_sync_pkey_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7a2c94e6 mlx4_SET_PORT_user_mtu +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7be6b00f mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7cbb98a4 mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fdde0b4 mlx4_handle_eth_header_mcast_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8993a050 mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa8b38f25 mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xababc4a6 mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaec25c79 mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb4e759fd mlx4_gen_port_state_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbb2d3233 mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc892dc13 get_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcdf182f8 mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xce363bdc mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd6bf0170 mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd84d544d set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd86b88dd mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xddeb2811 mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe3791433 mlx4_test_async +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe787f485 mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf3e481e1 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfaa55628 mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x00b47d9e mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0180d55a mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x054b04df mlx5_debugfs_get_dev_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0598c056 mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x06c1d1e7 mlx5_cmd_do +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x07c7340f mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0a21b020 __traceiter_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0b887f7c mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x114fe07a mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x18317da8 mlx5_lag_get_peer_mdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x192aa281 mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1ac8f49f mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1c57c524 __traceiter_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1d31b651 mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1d85fbe5 mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1ddfb164 mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e38486c __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x203cee2f mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x22bce683 __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2396b597 mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x246b551c mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x246e9db1 mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x25995772 mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x26f2cc19 mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x29873de1 mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x29c51bb8 mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2d8fc3d7 mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2da003e2 mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2e589812 mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2f34637a mlx5_lag_is_master +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x300e68db mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x313394de mlx5_create_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x32a8f84a mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x32fc77d1 __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x338056b8 mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3475821f __SCK__tp_func_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3956791e __traceiter_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3b15bac7 mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e084b32 mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3f77f892 mlx5_vf_put_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3f88c3c4 __traceiter_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x40aecd97 mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x40b9ecb9 mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x418a9e1c mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x455ed553 mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x456c692b mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x461e2576 mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4c52c4f1 mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4d06ee68 mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4d5f5c07 __SCK__tp_func_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4ff6e912 mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x523108f1 mlx5_rsc_dump_cmd_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x52d669d2 mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x559ac38d __SCK__tp_func_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x55c7c33c mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x55efde67 mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x56e7fa1e mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x57628706 mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x59da89e7 mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5b174bf8 mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5b6994df mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5bdf8742 mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5c6e2b0d mlx5_create_flow_group +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5cc5c297 mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5e48c321 mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x61492bb7 mlx5_rl_are_equal +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x61f81dab mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x663824ce mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6938b2e1 mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x693dbdbf mlx5_lag_get_num_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6a91ad85 mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6b9e5b8d mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6c7f7a0b mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6cf61a3d mlx5_core_alloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6cfb85e2 mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7125a5c6 mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7261330b __SCK__tp_func_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x72a2e6e4 mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7814dbd0 mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x78838167 mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7b359a09 __SCK__tp_func_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7d9b2bd3 mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7f861917 mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fd709fe __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x817d6a21 mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81c01848 mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x872e7c67 __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x886f3915 mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8a9694d4 mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8cb5ac26 mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8cecf2d9 mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8eab0db4 mlx5_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x95d625ed mlx5_sriov_blocking_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96eb2c99 mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9b04e7f3 mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9b2db412 mlx5_cmd_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9c146d6b mlx5_mpfs_del_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d6135dc __SCK__tp_func_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9f8421f3 mlx5_mpfs_add_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa10e5705 mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa1efbf79 mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa31fd4f8 mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa376089e mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa3f839b7 mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa41ea5b4 mlx5_vf_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa6987ac4 mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa70fd066 mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa7f17f11 mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa84ecdef mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa990b8d5 mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaa2c98ff mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xab521f6e __traceiter_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xabcf06e1 mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xad6815cd mlx5_rsc_dump_cmd_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb004868a mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb28dbbe8 mlx5_destroy_flow_group +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb4fbf62c mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb71572ab mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb72cffaf __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb77ec26a mlx5_eswitch_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb94f8e21 mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba5c2f4f __traceiter_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbaca3e2f mlx5_sriov_blocking_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbb475e47 __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbdf727e4 mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc01e2c73 mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc09518bb mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc0ff2b94 mlx5_rsc_dump_next +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc19b3534 mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc2d0b2db mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc51351c9 mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc522da3c mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc5e4c2b8 mlx5_query_ib_port_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc002b85 mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd020dd1f __traceiter_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd273ec4b __traceiter_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd523e22a mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd6c3be3d __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd91db020 mlx5_cmd_out_err +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdb4e4bbe mlx5_lag_is_shared_fdb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdbea5fa4 mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdcfb1c64 mlx5_is_roce_on +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe4151ddf mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe4e09c2b __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe5ad0cad mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe876e8ac mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xea450cfd mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeb9a8bcf __SCK__tp_func_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xee5eb109 mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf0ccb1b9 __traceiter_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf1007589 mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf4baf8bb mlx5_eswitch_get_vport_metadata_for_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf5134f14 mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf71d5626 mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf88d57b1 __SCK__tp_func_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfac85b52 mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfc482050 mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfc8e744e __SCK__tp_func_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xff0863e2 mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0xaf1a42d8 mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0137f952 mlxsw_afk_values_add_buf +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02815b77 mlxsw_env_module_port_up +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02dfd3d0 mlxsw_afk_key_info_block_encoding_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x07abcc0c mlxsw_afa_block_append_trap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x087c0c78 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0ca34ccf mlxsw_core_max_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x109bf400 mlxsw_core_trap_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x10d3c264 mlxsw_core_port_is_xm +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x14e17bb4 mlxsw_linecards_event_ops_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x15801382 mlxsw_afk_key_info_put +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x18b0ad00 mlxsw_afa_block_append_police +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x19fa5852 mlxsw_core_flush_owq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1c6605f6 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1cb8f858 mlxsw_reg_trans_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x202693f0 mlxsw_afa_block_cur_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x21daf3af mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2a4ddd44 mlxsw_env_get_module_power_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2d71d3a0 mlxsw_core_port_eth_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x38185d87 mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4036254f mlxsw_linecards_event_ops_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x406b4614 mlxsw_afa_block_append_counter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x43a9b87e mlxsw_afa_block_terminate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x47041e4e mlxsw_afk_key_info_blocks_count_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x47b24fcb mlxsw_core_trap_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x484489a4 mlxsw_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4b0bae55 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4e6be521 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x508923e3 mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x51b5769d mlxsw_env_module_overheat_counter_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x55a65610 mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x586b2547 mlxsw_core_ptp_transmitted +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5a099407 mlxsw_afa_block_append_qos_dscp +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5a939205 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5aff540a mlxsw_core_skb_transmit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5cf3dd79 mlxsw_core_bus_device_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5f0c682c mlxsw_env_get_module_eeprom +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5ff17b5c mlxsw_afa_block_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x618a30ab mlxsw_afa_block_commit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x62f88692 mlxsw_env_reset_module +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x63874d4c mlxsw_core_port_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x63c403af mlxsw_core_bus_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x65e16da4 mlxsw_afk_key_info_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6929f2b4 mlxsw_env_module_port_map +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x725b49e3 mlxsw_core_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73489011 mlxsw_afa_block_append_ip +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x75339042 mlxsw_core_lag_mapping_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77ae593b mlxsw_core_traps_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77d83398 mlxsw_core_read_frc_l +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7b0bfeec mlxsw_core_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7ca5b4d4 mlxsw_afa_block_append_sampler +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7e08c6e0 mlxsw_core_event_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7f659d4c mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8239280a mlxsw_core_traps_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x827a2f1f mlxsw_afa_block_jump +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x829e8851 mlxsw_afa_block_first_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8374ce03 mlxsw_afa_block_append_mirror +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x83fb69af mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x858c30d0 mlxsw_afa_block_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8854d198 mlxsw_reg_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x89a52655 mlxsw_core_trap_state_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x902c3533 mlxsw_core_schedule_dw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x963cfb6a mlxsw_core_resources_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x97035a9c mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x97e62e6e mlxsw_env_get_module_eeprom_by_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x98bfa19b mlxsw_env_set_module_power_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x996c5d6d mlxsw_reg_trans_bulk_wait +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x9cbf026d mlxsw_afa_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x9e41f494 mlxsw_afk_encode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7765e88 mlxsw_reg_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa8cccf0b mlxsw_core_port_devlink_port_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa94212d0 mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xac1074a5 mlxsw_core_skb_transmit_busy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb6517b2e mlxsw_afa_block_append_trap_and_forward +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb68e9fa8 mlxsw_env_module_port_unmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb6b40684 mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xba05b3b0 mlxsw_core_emad_string_tlv_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbbe8953c mlxsw_core_rx_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbc222a8d mlxsw_afk_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfb7df3c mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc863bd33 mlxsw_core_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xcbab836f mlxsw_core_fw_rev_minor_subminor_validate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd28256cf mlxsw_afa_block_append_allocated_counter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd488b0dc mlxsw_core_rx_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd71566b9 mlxsw_core_schedule_work +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd7a93413 mlxsw_core_event_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd84eb6b0 mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd9f711ae mlxsw_afa_block_append_mcrouter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xda1b5b79 mlxsw_afa_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdc31781e mlxsw_reg_trans_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdc415cf1 mlxsw_afa_block_continue +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xde4e211f mlxsw_afa_block_append_l4port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeab0691 mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeb1dc2e mlxsw_afa_block_first_kvdl_index +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe16986dd mlxsw_afa_block_activity_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe43df5da mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe5540be5 mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xecab212a mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xed2801d4 mlxsw_env_module_port_down +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xeda7a5d0 mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf82bdc70 mlxsw_core_lag_mapping_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xff007c25 mlxsw_core_cpu_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0xde752d1f mlxsw_i2c_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0xeddc087c mlxsw_i2c_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x02ed1a55 mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0xb2966110 mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x065cb665 ocelot_ptp_settime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x06cc0826 ocelot_get_ethtool_stats +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x07f6deb0 ocelot_sb_occ_port_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0a9e0427 ocelot_set_ageing_time +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0b7716d2 ocelot_vcap_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x174e5557 ocelot_get_txtstamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x19453204 vsc7514_vcap_is1_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1961101b ocelot_port_lag_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x20c5bc19 ocelot_deinit +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x24203272 ocelot_deinit_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x274a0e05 ocelot_port_fdb_do_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x292ebbf1 ocelot_hwstamp_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2adade5a ocelot_sb_occ_snapshot +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2ee2eeab ocelot_vcap_block_find_filter_by_id +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2f1568cb ocelot_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x34459071 ocelot_ptp_gettime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x349e5cb4 ocelot_sb_port_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x38d87e41 ocelot_init_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3d562620 ocelot_devlink_sb_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3fc8265d ocelot_vcap_filter_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4271543f vsc7514_vcap_es0_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x42c5e03d ocelot_get_ts_info +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x447c84b4 ocelot_bridge_stp_state_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x486a09e1 ocelot_vcap_filter_replace +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x496c7bd1 ocelot_deinit_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4bfb93d7 ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4e8b3c4f ocelot_mrp_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4f6c85db ocelot_can_inject +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x500e0893 ocelot_init_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x53d447ef ocelot_xtr_poll_frame +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x55518328 ocelot_fdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x565b55f5 ocelot_port_bridge_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5b3a70b3 ocelot_port_lag_change +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5cccad23 ocelot_mrp_add_ring_role +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5d53bbb3 ocelot_port_vlan_filtering +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x617596ab ocelot_port_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x66621b0d ocelot_sb_occ_max_clear +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x68470b5f ocelot_vcap_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6b4a3397 ocelot_port_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6bafbe77 ocelot_port_inject_frame +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6d08c38a ocelot_sb_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6df70fd5 ocelot_get_strings +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x726dfcaf ocelot_port_set_maxlen +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x74195aba ocelot_mact_learn_streamdata +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x744d8bb9 ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x74a39fa5 ocelot_mrp_del_ring_role +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x74c51bf6 ocelot_mact_forget +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x75856d40 ocelot_mact_lookup +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7dddd350 ocelot_port_pre_bridge_flags +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8094cc8a ocelot_fdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x80a75405 vsc7514_vcap_is2_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x80bf7ae5 ocelot_mrp_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x84d307f2 ocelot_vlan_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x850f2f99 ocelot_policer_validate +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8867fb4b ocelot_ptp_rx_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8b2ac951 ocelot_sb_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x909469a7 ocelot_sb_tc_pool_bind_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x90cbb220 vsc7514_vcap_is2_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9381969d vsc7514_ana_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9cdfe3f8 ocelot_port_mdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9d442141 vsc7514_rew_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9ee8cc1c ocelot_vcap_filter_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa08d7d0c ocelot_sb_tc_pool_bind_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa56320fb ocelot_devlink_sb_register +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa6d74ca3 ocelot_hwstamp_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa8413d7e vsc7514_sys_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xac9841f0 ocelot_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb11e6dea ocelot_sb_occ_tc_port_bind_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb30c4b92 vsc7514_ptp_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb461ca8f ocelot_ptp_adjtime +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb95d027e ocelot_fdb_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbba17367 vsc7514_qsys_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbdaade84 ocelot_get_sset_count +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbf48ddc1 vsc7514_qs_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc0d32a5f ocelot_sb_port_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xceed5e7e vsc7514_dev_gmii_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xcfd45871 ocelot_vlan_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd0ebefd9 ocelot_ifh_port_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd1b9061c ocelot_port_bridge_flags +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd687a545 vsc7514_vcap_es0_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd7def038 ocelot_port_txtstamp_request +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd9e6fd39 ocelot_drain_cpu_queue +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xdac7c6f4 ocelot_port_lag_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xde61da8a ocelot_ptp_verify +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe3c69c74 ocelot_ptp_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe7e540ef ocelot_mact_learn +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe8ed2aa2 ocelot_vlan_prepare +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xea1b5ac9 vsc7514_vcap_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xecaa97fb vsc7514_vcap_is1_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xfbe49073 ocelot_port_mdb_del +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x138ff530 qed_get_rdma_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x4c83c289 qed_get_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x4f264472 qed_put_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x60a8bf5a qed_get_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x7fc10c0b qed_get_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x992e03d0 qed_put_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x9eeeef48 qed_put_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0x1032d77c qede_rdma_register_driver +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0xc0836bd2 qede_rdma_unregister_driver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x42aaa6bc hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x50f7eaef hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xa276960d hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xcd9b5d87 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xee486260 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/mdio 0x3e17f466 mdio_set_flag +EXPORT_SYMBOL drivers/net/mdio 0x60443957 mdio45_probe +EXPORT_SYMBOL drivers/net/mdio 0x63e0fee5 mdio45_links_ok +EXPORT_SYMBOL drivers/net/mdio 0xaadfd1af mdio45_ethtool_ksettings_get_npage +EXPORT_SYMBOL drivers/net/mdio 0xb79a54ee mdio45_nway_restart +EXPORT_SYMBOL drivers/net/mdio 0xcdbdeca7 mdio45_ethtool_gset_npage +EXPORT_SYMBOL drivers/net/mdio 0xdaceb7a6 mdio_mii_ioctl +EXPORT_SYMBOL drivers/net/mdio/mdio-cavium 0xb4417583 cavium_mdiobus_write +EXPORT_SYMBOL drivers/net/mdio/mdio-cavium 0xd2c646da cavium_mdiobus_read +EXPORT_SYMBOL drivers/net/mdio/mdio-mscc-miim 0x38c865e9 mscc_miim_setup +EXPORT_SYMBOL drivers/net/mdio/mdio-xgene 0x1dfd6717 xgene_mdio_wr_mac +EXPORT_SYMBOL drivers/net/mdio/mdio-xgene 0x474f4223 xgene_mdio_rgmii_write +EXPORT_SYMBOL drivers/net/mdio/mdio-xgene 0x5d119464 xgene_mdio_rgmii_read +EXPORT_SYMBOL drivers/net/mdio/mdio-xgene 0x635d8b47 xgene_enet_phy_register +EXPORT_SYMBOL drivers/net/mdio/mdio-xgene 0xd1c55468 xgene_mdio_rd_mac +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0x1a5b054e lynx_pcs_create +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0x47c01874 lynx_get_mdio_device +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0xa6bf0e9e lynx_pcs_destroy +EXPORT_SYMBOL drivers/net/phy/bcm-phy-lib 0x85eee8e7 bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/ppp/pppox 0x80e3fd5c register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0x97132e98 pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xcc107cc1 pppox_compat_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xf1660ce5 pppox_unbind_sock +EXPORT_SYMBOL drivers/net/sungem_phy 0x17d18437 sungem_phy_probe +EXPORT_SYMBOL drivers/net/team/team 0x34360b12 team_option_inst_set_change +EXPORT_SYMBOL drivers/net/team/team 0x366365fa team_options_change_check +EXPORT_SYMBOL drivers/net/team/team 0x4194b0ce team_modeop_port_enter +EXPORT_SYMBOL drivers/net/team/team 0x462faef8 team_options_register +EXPORT_SYMBOL drivers/net/team/team 0x76dd813d team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0xbb62b460 team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0xe64ea95f team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/team/team 0xedf65426 team_options_unregister +EXPORT_SYMBOL drivers/net/usb/usbnet 0x73107e67 usbnet_device_suggests_idle +EXPORT_SYMBOL drivers/net/usb/usbnet 0x81f267f1 usbnet_manage_power +EXPORT_SYMBOL drivers/net/usb/usbnet 0xdb47941a usbnet_link_change +EXPORT_SYMBOL drivers/net/wan/hdlc 0x1b2a8c7e register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x55a90fdf attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x5a08cf5f hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x6bb2e161 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7befb149 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7edf59f1 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x99edefb9 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0xa51a8988 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xd2bb8606 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0xf7da8486 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0b1ab353 ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x108b188f ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x1ecfd6d3 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x36cdaf1a ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4571aea8 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4ca55324 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x63e7dc62 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x6797b01e ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x6b365ffd ath_is_mybeacon +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x75e07dfb ath_hw_keysetmac +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x781f0d99 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa18f224e ath_regd_find_country_by_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb16b05a2 dfs_pattern_detector_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb6588ba6 ath_bus_type_strings +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xcf5034d7 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd0674439 ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xdcf92cd8 ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf29340e4 ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x015e5db2 ath10k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0424db97 ath10k_htc_process_trailer +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x05a68a83 ath10k_ce_per_engine_service_any +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x09a27b7f ath10k_htt_rx_hl_indication +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0ae51d5a ath10k_ce_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x13587020 ath10k_core_fetch_board_file +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x22487b36 ath10k_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2f94696c ath10k_htt_hif_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3692af10 ath10k_coredump_new +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x42c00f45 ath10k_ce_dump_registers +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x439193b2 ath10k_ce_completed_send_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x49d99748 ath10k_htt_rx_pktlog_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x49e1f7ef ath10k_ce_free_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4b18e8e6 ath10k_core_napi_sync_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4b2cab4c ath10k_ce_init_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x51761cef ath10k_ce_revoke_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5c3c7339 ath10k_core_unregister +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5d080621 ath10k_ce_completed_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x62f3478b ath10k_core_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x69c8b824 ath10k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6a2f2a6e ath10k_print_driver_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6a9e5c4a ath10k_core_free_board_files +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7050d577 ath10k_ce_completed_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x72aa3ffb ath10k_ce_cancel_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7aed0cbb ath10k_ce_disable_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x827d35c7 ath10k_ce_alloc_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8338c981 ath10k_htc_notify_tx_completion +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x88bc9c83 __ath10k_ce_rx_num_free_bufs +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8f01ad63 ath10k_htc_rx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8f85281e ath10k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x91ee9b0b ath10k_htt_txrx_compl_task +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x941da9a8 ath10k_ce_completed_recv_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x95c8f12a ath10k_ce_send +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x987952c8 ath10k_core_register +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9c987dfb ath10k_ce_deinit_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9f5c81ec ath10k_bmi_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa1e4849a __tracepoint_ath10k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa20d5230 ath10k_coredump_get_mem_layout +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xad8cac87 ath10k_ce_free_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb1cb19f6 __ath10k_ce_send_revert +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xbf5ff3fe ath10k_ce_num_free_src_entries +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc0a8dc7d ath10k_ce_send_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc74686bb ath10k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcaf5ffb2 ath10k_core_start_recovery +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xce1dd3e4 ath10k_ce_alloc_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xce63b650 ath10k_core_napi_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd156a70c ath10k_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd46c38ba ath10k_core_check_dt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd5a8c2dc ath10k_htt_t2h_msg_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd9b00419 ath10k_core_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xdb640d34 ath10k_htc_tx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xdd4c6f8f ath10k_ce_rx_update_write_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe98a7565 ath10k_ce_enable_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xea310e27 ath10k_mac_tx_push_pending +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xed8b0869 ath10k_bmi_read_memory +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf5337fbe ath10k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfaa7ed00 ath10k_ce_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xfcd8b607 ath10k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x02aa76a2 ath11k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x0496fdb2 ath11k_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x058d5809 ath11k_pcic_ext_irq_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x07760c97 ath11k_pcic_ext_irq_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x0fd9ee80 ath11k_core_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x1d00396c ath11k_pcic_ce_irqs_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x1f57a1bf ath11k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x20211050 ath11k_ce_cleanup_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x20f70bbf ath11k_core_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x269dbda2 ath11k_dp_service_srng +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x2afd281d ath11k_core_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x42add6fb ath11k_ce_get_attr_flags +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x43a6640a ath11k_pcic_config_irq +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x495bfccf ath11k_pcic_register_pci_ops +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x498050ce ath11k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x4e90596e ath11k_ce_alloc_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x510f64c8 ath11k_pcic_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x587b8cdd ath11k_ce_free_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x606a5b5a __tracepoint_ath11k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x6ce062c4 ath11k_pcic_get_msi_address +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x6e8a8517 ath11k_core_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x71fb2229 ath11k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x802404e8 ath11k_hal_srng_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x836faa8c ath11k_pcic_map_service_to_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x906a8c72 ath11k_core_pre_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x955a338f ath11k_pcic_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x98e723d7 ath11k_pcic_read32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x9c51bcc4 ath11k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xac26627b ath11k_core_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xb7ab10e2 ath11k_qmi_deinit_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xbebe56ad ath11k_pcic_write32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xc21c9fb6 ath11k_pcic_ce_irq_disable_sync +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xd7938cf4 ath11k_pcic_init_msi_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xdc27fb3a ath11k_debugfs_soc_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xe3c3093d ath11k_ce_get_shadow_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xe62a7628 ath11k_pcic_get_user_msi_assignment +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf0197188 ath11k_cold_boot_cal +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf193a0db ath11k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf6c92cf6 ath11k_hal_srng_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xfa7155f2 ath11k_pcic_free_irq +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xfddd5d96 ath11k_pcic_get_ce_msi_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x0294fd6e ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x0d3b1a8b ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1354043d ath6kl_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1a184680 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3502feef ath6kl_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7067b095 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x81682b1e ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x8c71661f ath6kl_read_tgt_stats +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb881b1a9 ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb9a689dd ath6kl_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xd5e586df ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xdc30e966 ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xe0e20d98 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xe9096f85 ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xf75c172d ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x067c8deb ath9k_cmn_process_rssi +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2ceb34df ath9k_cmn_beacon_config_sta +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x342d5a0f ath9k_cmn_debug_base_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3df94179 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x41aae67b ath9k_cmn_debug_stat_rx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x506afad2 ath9k_cmn_spectral_deinit_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x54d3f9cd ath9k_cmn_beacon_config_adhoc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x67adf9ba ath9k_cmn_setup_ht_cap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7c94066b ath9k_cmn_process_rate +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x8adc9cb5 ath9k_cmn_init_channels_rates +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x90d69542 ath_cmn_process_fft +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x970388d2 ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x98e32251 ath9k_cmn_rx_skb_postprocess +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x9dbde515 ath9k_cmn_spectral_scan_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xa008f326 ath9k_cmn_spectral_scan_trigger +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xad887c56 ath9k_cmn_debug_modal_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xaf853a88 ath9k_cmn_get_channel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xb61b9b4b ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xc320804a ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd942d70e ath9k_cmn_reload_chainmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xe9d2dbcc ath9k_cmn_beacon_config_ap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf40920df ath9k_cmn_rx_accept +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf81cb69e ath9k_cmn_debug_recv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xfa70cdf7 ath9k_cmn_spectral_init_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x01029110 ath9k_hw_btcoex_set_concur_txprio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x055342bc ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x06be1d81 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x08dac679 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0b44e467 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0d58e60a ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0e4145bf ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f77dafc ath9k_hw_get_tsf_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x12dbd901 ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x13969934 ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x178861c1 ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x18337751 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1cfe1953 ath9k_hw_wow_wakeup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1de2ef80 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1e812620 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x212a96e6 ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x214af8e8 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x21940876 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x23ac23dc ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x287bc3b1 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2c2e5847 ath9k_hw_check_nav +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x30403a61 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3125f6f0 ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x33c2e756 ath9k_hw_kill_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x33e4e54c ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x37bc8a3c ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x38a1a96b ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x39849432 ath9k_hw_resume_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3e22cbeb ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3e869921 ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3f26ff77 ar9003_mci_get_next_gpm_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x40d77676 ath9k_hw_gpio_request_in +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x47dac385 ath9k_hw_gpio_request_out +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4b0ecba3 ar9003_mci_send_wlan_channels +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x51e93aa9 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x58de14a6 ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5c57d812 ar9003_hw_bb_watchdog_check +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x612deb73 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x616315bd ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6193a345 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6412ee8f ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x669b1eb5 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x693a6170 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x74705a5d ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x74a343d2 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7525ed89 ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x77fd56c3 ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x783621d3 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7a2eed75 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8160e397 ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x82932c77 ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x83656c0d ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x83acd5ef ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x83afa79d ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8a744a65 ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8a9ea801 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8b88be1c ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8cbaf453 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8d7540dc ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x90f7b82b ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x91e3a29b ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x929f1330 ath9k_hw_wow_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x98739f27 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9a7e3885 ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9ae64ac5 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9da9029b ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa173ff51 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa4a6eb7f ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa7dc9a19 ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa817c615 ath9k_hw_gpio_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xabeb81a5 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xada2fe57 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb235dba7 ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb3b37f02 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb3f2545c ath9k_hw_btcoex_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb3fe47a3 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb6422dcd ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb66f9104 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb723503a ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb92e4534 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb9b67e60 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb9c69909 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb9c91895 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbe264838 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc648a673 ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc7a05e38 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xcd5c2011 ath9k_hw_set_tx_filter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd1407d78 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd58425bb ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd732158a ath9k_hw_wow_apply_pattern +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xda330b7b ar9003_is_paprd_enabled +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdba6565e ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xdf5ede01 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe0cce0c3 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe3743bfa ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe50bcf07 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe8823ddd ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xee9c9be4 ath9k_hw_loadnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xeeaa862d ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf673c126 ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf78ea2df ar9003_mci_set_bt_version +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf82e6dea ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfa18c7f3 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfa63f62e ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfc4eb5f5 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfcda2df4 ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfe337180 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xff71191d ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x13d2bf31 stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x8a22291d init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xbde66ed9 atmel_open +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1906648e brcmu_boardrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x3500b299 brcmu_pktq_pdeq_match +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x6b5999c7 brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x708845b3 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x84ac1e0d brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x88c6ca70 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xa17c0ccf brcmu_dotrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xa885f187 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xaefc871f brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xb7041c5c brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xce97f3fd brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd6217d91 brcmu_d11_attach +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xe8a7fc53 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xeded763f brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xf2924f22 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xfa068b92 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x040287c8 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x19314f98 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1c3da533 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x28129b61 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x2b41feab free_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x2d624ccf alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x3ed899bf libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x4efbb06a libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x5662a80e libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6d387594 libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x77a608d9 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x92e154b9 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x9c74636b libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x9eb70b48 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xd80fe2b2 libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xe222ad38 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xf3d4127a libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xf3e78639 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xf7c683c2 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xff186e1b libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x03430026 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0639fb77 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0c5ef954 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x12168be7 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1238a55d il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1336af1d il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x138e9150 il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x150a74c9 il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x167423aa il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1883f2da il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x19114fb5 il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1948c2df il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1f3fa58f il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x23193186 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x23dc784f il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2607a7da il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x26cd4470 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x294603df _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x29e7ec93 il_init_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2a376eb5 il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2a759d68 il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2bf7eea6 il_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2c747184 il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2d44eb35 il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2d6ad921 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2e7e2193 il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2fa3e36e il_mac_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x317b16ea il_mac_flush +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x330c1359 il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3518d6b2 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x38d4c1e9 il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x38fc0cac il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x392eb285 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3bccde5f il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3cae0347 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x41105b28 il_leds_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416bd26a il_debug_level +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x41da6716 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x45315654 il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4538fd23 il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x45b4e32a il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x48b8c960 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x497dd7f7 il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4a5cf0b8 il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4f5048b5 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x517f38e1 il_free_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x527878c9 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5952bc7b il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5b2ef5b0 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x61bd5a75 il_set_rate +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x636691d4 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x65456417 il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x68e1f4aa il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6de2782e il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x75574ab6 il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7737bc31 il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x80f42757 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x83280bce il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x857424ef il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9a9d2657 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9cc714af il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9d276b84 il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9d4bc0b8 il_force_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9df83cf6 il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa15811ea il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa28abede il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa9e92d03 il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xac17baf5 il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xac5c52f7 il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xadd4155a il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xae2beac9 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb1fd4df5 il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb65510a3 il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb7bd33ff il_isr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbe4cd86e il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc012b304 il_update_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc43dc1d9 _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc51e70b9 il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc5919314 il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xca6a2300 il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xca7aa805 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xccfc1c39 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcfcf8893 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd0640685 il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd34e1aa6 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd352b07b il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd5858812 il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd5aa5a73 il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd83e52bd il_set_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd8ff95f7 il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd9af87f8 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdc043080 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe0258d7b il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe1029f62 il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xefd6e75a il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf05dc80e il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf261b931 il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf3807e93 il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf4725a6d il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf50a54d3 il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf70a693b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf93308f2 il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfa1a1240 il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfa6df480 il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x10d60f4f __traceiter_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x24927487 __traceiter_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x36a862e9 __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3d23c104 __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x466ae44d __SCK__tp_func_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x970bf4ef __SCK__tp_func_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x979ea32b __traceiter_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xaaafbd3e __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd1e69877 __SCK__tp_func_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x0f11f27f hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x132b1683 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x199a470d hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x1a41fba3 hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x237d10ec hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x440bebf7 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x5094bf91 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x524344c8 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x542bcb51 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x550419a5 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x5da75c91 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x63ff9410 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x6f972fcf hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x75934c58 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fb75891 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x8db8b3b7 prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9b21e9c2 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9dc2bccd hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xa5a282fa hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb6472714 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc287f139 hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc28e57af hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xcbab0ea2 hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xd5b2d10d hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xe76cc475 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xf0db33f1 hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xf91c03e2 hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xfdc57411 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x05ac9ae4 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x0d24fea8 __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x41e84f62 __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x4ddcc446 orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x4ec9068c orinoco_up +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x57983f84 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x788d27a2 orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7a6a9ff4 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7b387995 orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7f1c0ea4 orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x80dc20c2 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xa74c2dc5 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xd5f027b3 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xe773e44f orinoco_open +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xf3e8e97d orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xfbde7235 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0xde4fd73c mt76_wcid_key_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0xab4e35ca rtl_btc_get_ops_pointer +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x03027eac rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1939acf3 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1cf0b33f rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1d83332f _rtl92c_phy_dbm_to_txpwr_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1f2aa6b2 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2327d91c _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x275e39c4 rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3169aee1 rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x34c1966c rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3fdfc005 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x483194e8 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x48ea86c3 _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x49811cfe rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4993066e _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x51f56ffd rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x56f65e42 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x577e1a66 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5f07f31f rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x66bfb951 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6a26e798 _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6d8df5c5 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6e233ede rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6fac30d6 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x87f5c88c rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x8a6fafe5 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x8aaaad0b _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x99aadcbf rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa5260eb3 _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa8d15e9e _rtl92c_store_pwrindex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xac4f09a4 rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb34327da rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb448d391 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbe1d0809 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbf8c97d8 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xc5997738 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xcf0efea1 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd265a163 rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd3beb96c rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd3ddf94b _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe5bd70b0 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xee4d3984 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf752c325 rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x66b5139c rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x943b3944 rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xae539981 rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xd43048eb rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x3a55bc72 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x7366624f rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xde4c3d6d rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xf2d4f0a7 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0b038e24 channel5g_80m +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x17e0d6bb rtl_c2hcmd_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1b945315 rtl_addr_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x250f196a rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30a956d7 rtl_query_rxpwrpercentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x341372db rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x35ecb2d2 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x489ebbc5 rtl_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54824f58 channel5g +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5af8acd8 rtl_cmd_send_packet +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6f655cf9 rtl_process_phyinfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x76b3ca57 efuse_shadow_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x779c0cd6 rtl_rfreg_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x79064c97 rtl_hal_pwrseqcmdparsing +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8ea60059 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x958feb17 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x96c0f7d8 rtl_rx_ampdu_apply +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa02e60eb rtl_mrate_idx_to_arfr_id +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa0f547de rtl_bb_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb7b0043e rtl_collect_scan_list +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbb138046 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbcacdd12 efuse_power_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc23ef7f8 rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc4d07b5f rtl_signal_scale_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xca3bf388 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xca9bce48 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xcbc2f00f efuse_one_byte_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xcfb0072c rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xda529508 rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xdcf1fd67 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe03ca1f5 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe2c5dfb4 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe38ab598 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xebedfe5f rtl_wowlan_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xed7c8cf2 rtl_evm_db_to_percentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xfe0940e9 rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xffa3cd50 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8723d 0x6ed668ea rtw8723d_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8821c 0xf3161f67 rtw8821c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0x85361258 rtw8822b_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0x6af47966 rtw8822c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0fe85664 check_hw_ready +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x14dc71d1 rtw_coex_read_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1b65eac0 rtw_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1ef01860 rtw_phy_config_swing_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1f2bf7f6 rtw_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x223e8e42 rtw_phy_cfg_bb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x24e63c78 rtw_fw_inform_rfk_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x28f02622 rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3350b82f rtw_bf_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3363a5e7 rtw_tx_report_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x33b3f3c0 rtw_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x36c5bfca rtw_disable_lps_deep_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x39619b04 rtw_dump_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3c1eb4e0 rtw_regd_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3e3187fc rtw_phy_load_tables +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x400977ec rtw_parse_tbl_phy_cond +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4376694f rtw_fw_do_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x440b7589 rtw_phy_rf_power_2_rssi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x48cd3028 rtw_power_mode_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x51778196 rtw_set_rx_freq_band +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x519c8ba9 rtw_rate_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x546acfd8 rtw_phy_pwrtrack_need_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x58210e60 rtw_rate_section +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5b774199 rtw_tx_fill_tx_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5f32c5d3 rtw_phy_pwrtrack_get_pwridx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x61ec27e0 rtw_set_channel_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6305cba8 rtw_phy_pwrtrack_thermal_changed +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6648a98a rtw_dump_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x668910a1 rtw_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6fd663b1 rtw_rx_stats +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7184e437 rtw_phy_pwrtrack_get_delta +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x740d9089 rtw_unregister_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x74bb3b64 rtw_phy_cfg_agc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7f7b6ad5 rtw_bf_remove_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7f9d0a83 rtw_phy_parsing_cfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x80b82c4c rtw_read8_physical_efuse +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8230519e rtw_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8371e7dd rtw_phy_read_rf_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8848c4a9 rtw_parse_tbl_bb_pg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9237e4d6 rtw_fw_c2h_cmd_rx_irqsafe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x94a3ad14 rtw_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x94c2cda3 rtw_tx_write_data_rsvd_page_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x94d6f5a7 rtw_bf_cfg_csi_rate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x99d8bd67 rtw_bf_enable_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa05dd397 rtw_restore_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa0bab673 rtw_phy_pwrtrack_avg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa280e019 rtw_bf_set_gid_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa782d199 rtw_fw_c2h_cmd_isr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xadc0aa5e rtw_parse_tbl_txpwr_lmt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xadeba9c3 rtw_bf_enable_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb0bef1a2 rtw_phy_pwrtrack_need_lck +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb75f544d rtw_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc10878dc rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc346ccb2 __rtw_dbg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xcad4c974 rtw_register_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xcc2384e1 rtw_coex_write_scbd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xcf8f6cab rtw_phy_write_rf_reg_mix +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd20d1394 rtw_phy_set_tx_power_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd4d2b4f8 rtw_phy_cfg_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd62c88fb rtw_phy_set_edcca_th +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe1f83016 rtw_rx_fill_rx_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xec318eed rtw_phy_cfg_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xfaa64da4 rtw_phy_get_tx_power_index +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xfb0dbe46 rtw_phy_write_rf_reg_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xfe4c5caf rtw_tx_write_data_h2c_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x0d3a86ab rtw_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x18069c5f rtw_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x4460d4e8 rtw_pci_shutdown +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xb79e6541 rtw_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_8852a 0xa4357772 rtw8852a_chip_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_8852c 0x480ee9ed rtw8852c_chip_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x00b033ed rtw89_phy_fill_txpwr_limit_ru +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x0a41a0c2 rtw89_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x0b387b4b rtw89_phy_write_rf_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x0e566c52 rtw89_core_query_rxdesc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x0f254bfb rtw89_ser_notify +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x12f7283b rtw89_phy_write_reg3_tbl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x147e9afc rtw89_rs_nss_max +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x1afad251 rtw89_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x1b36243f rtw89_rfk_parser +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x219d6021 rtw89_mac_set_err_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x341c9aa9 rtw89_core_rx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x34683b7a rtw89_mac_disable_bb_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x379d3385 rtw89_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x50ad0d3a rtw89_phy_fill_txpwr_limit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x52a1e019 rtw89_core_napi_stop +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x53b5e667 rtw89_core_fill_txdesc_fwcmd_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x5a16ef07 rtw89_mac_enable_bb_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x5a56322b rtw89_mac_resume_sch_tx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x5ccd3edb rtw89_mac_cfg_ctrl_path +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x64702cb9 rtw89_core_napi_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x68fc22a2 rtw89_phy_read_txpwr_limit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6e8f5a63 rtw89_mac_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x74938a2f rtw89_mac_cfg_gnt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x752a0484 rtw89_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7dfbe8b2 rtw89_mac_stop_sch_tx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x828c1650 rtw89_phy_write_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x84246ef9 rtw89_phy_tssi_ctrl_set_bandedge_cfg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x888e43fc rtw89_mac_stop_sch_tx_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x8e35653b rtw89_phy_write32_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x9158adea rtw89_mac_write_xtal_si +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x94de1dcb __rtw89_debug +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x9b736ea4 rtw89_core_fill_txdesc_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xa0deb952 rtw89_phy_config_rf_reg_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xa3e83ce0 rtw89_phy_read_txpwr_byrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xac04670f rtw89_mac_get_txpwr_cr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xaf9acf1b rtw89_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xb4373316 rtw89_core_unregister +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xb961fd9b rtw89_btc_ntfy_wl_rfk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xbb025fcb rtw89_mac_get_err_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xbda6eed7 rtw89_core_napi_start +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xc95534b0 rtw89_rs_idx_max +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xcd128ca8 rtw89_mac_coex_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xd700315a rtw89_mac_cfg_ctrl_path_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xda266658 rtw89_mac_cfg_gnt_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xde2af5bd rtw89_core_register +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe04bf33b rtw89_core_fill_txdesc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe26db5ad rtw89_mac_resume_sch_tx_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe3f57b04 rtw89_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe4869e7e rtw89_phy_load_txpwr_byrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe8c9eb96 rtw89_fw_h2c_dctl_sec_cam_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xf0de1f02 rtw89_core_napi_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xf3161100 rtw89_phy_read_rf_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xf4928ea0 rtw89_mac_coex_init_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xfa4585e2 rtw89_phy_get_txsc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xfdd2525b rtw89_mac_cfg_ppdu_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xfffd01ca rtw89_fw_h2c_rf_ntfy_mcc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x07aa0dad rtw89_pci_recognize_intrs +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x14db72d9 rtw89_pci_config_intr_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x265ec3b4 rtw89_pci_disable_intr_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x6827b3d8 rtw89_pci_ltr_set_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x6d222c66 rtw89_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x75e6ab5b rtw89_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x924b0770 rtw89_pci_fill_txaddr_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x9ce0961b rtw89_pci_ch_dma_addr_set +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xaa89af33 rtw89_pci_config_intr_mask_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xaed06306 rtw89_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xaf4d6af7 rtw89_pci_enable_intr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xc4ec814a rtw89_pci_fill_txaddr_info_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xc764f035 rtw89_pci_recognize_intrs_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xd41afdeb rtw89_pci_disable_intr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xee65169a rtw89_pci_ltr_set +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xf630d9a9 rtw89_pci_ch_dma_addr_set_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xf86d4151 rtw89_pci_enable_intr_v1 +EXPORT_SYMBOL drivers/net/wireless/rsi/rsi_91x 0xb413393f rsi_config_wowlan +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x12aab60e wlcore_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x2a0d5efb wl12xx_is_dummy_packet +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x79894aa9 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x8228cd51 wl1271_free_tx_id +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x0b1619ad fdp_nci_remove +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x86f74e77 fdp_nci_probe +EXPORT_SYMBOL drivers/nfc/microread/microread 0xa4cc0749 microread_remove +EXPORT_SYMBOL drivers/nfc/microread/microread 0xde091eac microread_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x03972212 nxp_nci_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x5ea99114 nxp_nci_fw_recv_frame +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0xf2cc9bd5 nxp_nci_remove +EXPORT_SYMBOL drivers/nfc/pn533/pn533 0x64f490a7 pn533_recv_frame +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x1502da34 pn544_hci_probe +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0xd70c97e9 pn544_hci_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x288dd209 s3fwrn5_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x6ac4719b s3fwrn5_phy_power_ctrl +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x70f98a8c s3fwrn5_recv_frame +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x774203fc s3fwrn5_phy_set_wake +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xdda416f7 s3fwrn5_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xedb12f10 s3fwrn5_phy_set_mode +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xf2ab60da s3fwrn5_phy_get_mode +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x1750922e st_nci_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x43b022e8 ndlc_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x54efabad ndlc_open +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x567de644 st_nci_se_deinit +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x650706d4 ndlc_send +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x92e6125b ndlc_close +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x95477ecb st_nci_se_io +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xa51b5c2a ndlc_recv +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xbb0dd221 ndlc_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xca943ee6 st_nci_se_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x24685a32 st21nfca_se_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x30313b75 st21nfca_hci_enable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x3b37db1e st21nfca_dep_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x4263073e st21nfca_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x5c184675 st21nfca_hci_discover_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x61f35678 st21nfca_hci_probe +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x732dbffb st21nfca_se_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x86c865b2 st21nfca_hci_disable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x917b2339 st21nfca_hci_loopback_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x9826abed st21nfca_hci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x9d7444cb st21nfca_tm_send_dep_res +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xa07a13dc st21nfca_connectivity_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xbd9325ac st21nfca_im_send_atr_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xd0a378bc st21nfca_dep_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xd8121e51 st21nfca_apdu_reader_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xd8f9aa01 st21nfca_im_send_dep_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xf732bc60 st21nfca_dep_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xf87afaf9 st21nfca_hci_remove +EXPORT_SYMBOL drivers/ntb/ntb 0x09d8e972 ntbm_msi_request_threaded_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x15060a3e ntb_msi_init +EXPORT_SYMBOL drivers/ntb/ntb 0x1db2dcf9 ntb_msg_event +EXPORT_SYMBOL drivers/ntb/ntb 0x211b067f ntb_unregister_client +EXPORT_SYMBOL drivers/ntb/ntb 0x22b0ffa5 ntb_set_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x267e7c63 ntb_default_peer_port_idx +EXPORT_SYMBOL drivers/ntb/ntb 0x2d1c240d ntb_clear_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x310fc4cf ntb_msi_clear_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x43d23d09 ntb_msi_setup_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x47a31456 ntb_default_peer_port_count +EXPORT_SYMBOL drivers/ntb/ntb 0x50b4c8af ntb_msi_peer_addr +EXPORT_SYMBOL drivers/ntb/ntb 0x527032cf ntb_db_event +EXPORT_SYMBOL drivers/ntb/ntb 0x6cdc3239 ntb_default_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0xa1e0a40c ntb_link_event +EXPORT_SYMBOL drivers/ntb/ntb 0xa9feed9d ntbm_msi_free_irq +EXPORT_SYMBOL drivers/ntb/ntb 0xab13e50c ntb_msi_peer_trigger +EXPORT_SYMBOL drivers/ntb/ntb 0xc600cf84 ntb_register_device +EXPORT_SYMBOL drivers/ntb/ntb 0xc8c18530 ntb_unregister_device +EXPORT_SYMBOL drivers/ntb/ntb 0xd8a8b239 __ntb_register_client +EXPORT_SYMBOL drivers/ntb/ntb 0xf3b68330 ntb_default_peer_port_number +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x1913582e nvdimm_namespace_detach_btt +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x7819483e nvdimm_namespace_attach_btt +EXPORT_SYMBOL drivers/parport/parport 0x1ccb7948 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x216bbd38 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x21cf1165 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x26e77a77 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x29720989 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x2cdce0c8 parport_read +EXPORT_SYMBOL drivers/parport/parport 0x32d7d4aa parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x3fe1ccf8 parport_del_port +EXPORT_SYMBOL drivers/parport/parport 0x423a2c2b parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x48d07adb parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x5e232cdf __parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x7079b15b parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x81893b72 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x919d3b0f parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x9b0a1d41 parport_release +EXPORT_SYMBOL drivers/parport/parport 0x9b75efc4 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xa763e017 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0xa84ceeda parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0xb24793f4 parport_register_dev_model +EXPORT_SYMBOL drivers/parport/parport 0xb309381c parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0xb56c5b0e parport_write +EXPORT_SYMBOL drivers/parport/parport 0xbd0f3f9f parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0xc642cc59 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0xc6946741 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0xe447006f parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0xe70688b6 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0xea4e2345 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0xecf3e4c4 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0xf4e84f00 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xfb7d3cfe parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xfcccb913 parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport_pc 0x27e5c850 parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xdc814920 parport_pc_unregister_port +EXPORT_SYMBOL drivers/pci/controller/pcie-iproc 0xa7485c0d iproc_pcie_setup +EXPORT_SYMBOL drivers/pci/controller/pcie-iproc 0xd0fe1745 iproc_pcie_remove +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x122595ea pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x3e8e7c1a pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x77e7ccc2 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7a167202 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9146f69f pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x91d0308c pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x986e442a pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9b8dc276 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x9fc78a64 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xcf97f3bd dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf7fc92e0 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0xf942709b pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0xcb54e063 pccard_static_ops +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x23e8450f cros_ec_unregister +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x8130b8fc cros_ec_register +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xbe4e713c cros_ec_suspend +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xcf6b2235 cros_ec_resume +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0xf25aacf5 cros_ec_irq_thread +EXPORT_SYMBOL drivers/regulator/rohm-regulator 0x019cabdf rohm_regulator_set_dvs_levels +EXPORT_SYMBOL drivers/rpmsg/qcom_smd 0x3330a1c8 qcom_smd_unregister_edge +EXPORT_SYMBOL drivers/rpmsg/qcom_smd 0xc33611f9 qcom_smd_register_edge +EXPORT_SYMBOL drivers/rpmsg/rpmsg_char 0x22cc0250 rpmsg_chrdev_eptdev_create +EXPORT_SYMBOL drivers/rpmsg/rpmsg_char 0x83aa2320 rpmsg_chrdev_eptdev_destroy +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x17011daa rpmsg_trysendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x1dc26fc1 rpmsg_poll +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x21a8ba4e rpmsg_sendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x2916e2ca rpmsg_get_mtu +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x31f9e71b rpmsg_send +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x38e8e08a rpmsg_class +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x55a58b2f rpmsg_trysend_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x65300478 rpmsg_register_device_override +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x655496b4 rpmsg_find_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x709f7e8c rpmsg_release_channel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7f5e457f unregister_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x972f9100 rpmsg_send_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xa0d54980 __register_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xa4ae4cfd rpmsg_destroy_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xc791c25d rpmsg_create_channel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xcc7065d2 rpmsg_create_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xd7c8c3d2 rpmsg_trysend +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xf00a25a0 rpmsg_register_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xf1ae1026 rpmsg_unregister_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_ns 0xd50a1bd0 rpmsg_ns_register_device +EXPORT_SYMBOL drivers/rtc/rtc-ds1685 0x462ab10a ds1685_rtc_poweroff +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x4a29ab38 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x5f5f340f scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x8a1d35f4 scsi_esp_register +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xbe16a1f9 scsi_esp_template +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xe4743d1f scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x03676c55 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x194db179 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x26c1f157 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x2cc35f90 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x9bf05573 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x9e6844e2 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xa3ff47f0 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xab67d812 fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xb8f4ec8f fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xdb3daa0e fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xed672da2 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x006455ba fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x070efd65 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0b332cdb fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0d32c352 fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0eb2e5a4 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x10988552 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x139738e8 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1f7cffb4 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x278eb57b fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x290f3dbd fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2b71ed18 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x32b5135b fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x36e2ee62 fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x37c03e91 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x37fd3462 libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3d16eb79 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3e241cfb fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x406e6e5a fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x424190e6 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x43f5e262 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x44f99d6f fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x45523517 fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4b677d12 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4f4991d9 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x54856585 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5e3c5884 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5eb7f6d4 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x64f7bdd5 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x66f7b2ae fc_exch_update_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x695ff93d fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7833f505 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7b0070df fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7f3407a7 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x811811e0 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x932b3867 fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x96cb8331 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9d50ed7e fc_rport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9eb2c172 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9f9bc833 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9fbfbb7f fc_seq_assign +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa12b10b0 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa1bcd198 fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa626f3b7 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xab285234 fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xaead3d6f fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0952f68 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0ddd5a1 fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xbb639fd2 fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc5c7d4cc fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xca160b0e fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd69bf00b fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd7fe404e fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd9508027 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd9ca9190 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdf4a1f7a fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe5cf06b5 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe638d38a fc_disc_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf0626c19 fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf91692eb fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf9bfebda fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfa4667d1 fc_seq_release +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfe830e03 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfe9946f3 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xffa6bd7c fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xffc45c94 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x19e245bb sas_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x26f8e7da sas_resume_ha_no_sync +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x5e2ebef9 sas_suspend_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xc61fd024 sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x8fe48b11 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0xa21fafb9 mraid_mm_adapter_app_handle +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0xb2cf7c01 mraid_mm_unregister_adp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x0058c9d7 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x074e6c1c qlt_abort_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x2e1ff0d4 qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x35999fe6 qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x37f77140 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x5ec7218f qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x670ce4fa qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x7a13db71 qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x97a16433 qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xa25fb901 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xb60ebb1e qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xf20b6061 qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/raid_class 0x00b056e6 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x1cc197d6 raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0x1fc0f1fb raid_class_attach +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x14977451 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x185c2f87 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x21f410bd fc_find_rport_by_wwpn +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x273b2367 fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2908cc6d fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x51944ecf fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5c151193 fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6a9dcd98 fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x78519f06 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x78d195e7 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7c0cb10d fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x800e34ed fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x89a4784b fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xb4f9e771 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf447b973 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf5a9db8f scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfd989a50 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0b4c3688 sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0e9da848 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1b1dcbd2 sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1bea9c0b scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x237e1ba2 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4c0a5620 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x51f37bfd sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6288a6d0 scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6401a2e0 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7044ff63 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7735e17f sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7e660871 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x937d5544 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9b062401 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa19a0ec6 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa35cdea5 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbccbf4cc sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc453fa58 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xcb50ea80 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd8a3374d sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd921d438 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd9b58615 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xdd8beda6 sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe28b01da sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe800ba53 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe8cf6bcf sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf2cf392c sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf719930f sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf8c1fd04 sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x004b3c16 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x04641088 spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x634383f5 spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x7b8e998a spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xf26178c4 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x07f63105 srp_start_tl_fail_timers +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x1a243452 srp_rport_get +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x3ce3c246 srp_reconnect_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x5e433393 srp_rport_put +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x8c62ec12 srp_timed_out +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x030f2d6c dpaa2_io_service_enqueue_fq +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x21e76a68 dpaa2_io_get_adaptive_coalescing +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x2bc276ca dpaa2_io_update_net_dim +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x35210a1c dpaa2_io_set_irq_coalescing +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0x3d01f417 dpaa2_io_service_pull_fq +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0xb629a241 dpaa2_io_get_irq_coalescing +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0xc4ccef03 dpaa2_io_get_cpu +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0xdb008703 dpaa2_io_service_enqueue_multiple_fq +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0xe0f67b93 dpaa2_io_service_enqueue_multiple_desc_fq +EXPORT_SYMBOL drivers/soc/fsl/dpio/fsl-mc-dpio 0xfa0aedff dpaa2_io_set_adaptive_coalescing +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x0f4b7285 cmdq_pkt_destroy +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x1c91b6c6 cmdq_pkt_poll +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x1eb577f5 cmdq_pkt_write_s_value +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x27f7a778 cmdq_pkt_set_event +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x3bc70297 cmdq_pkt_write_s_mask_value +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x3d3c435f cmdq_pkt_jump +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x461737cb cmdq_pkt_read_s +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x4dd68ea8 cmdq_pkt_wfe +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x62622035 cmdq_pkt_write_s +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x6482132a cmdq_pkt_poll_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x81232e95 cmdq_pkt_assign +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x91e6f300 cmdq_pkt_clear_event +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xa644a9a6 cmdq_pkt_write +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xab2ec244 cmdq_pkt_flush_async +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xb9f11363 cmdq_dev_get_client_reg +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xbcd8ac39 cmdq_mbox_destroy +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xd6dd1c72 cmdq_mbox_create +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xf79754da cmdq_pkt_write_s_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xf8069d88 cmdq_pkt_create +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xf80937c2 cmdq_pkt_finalize +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0xfb55916e cmdq_pkt_write_mask +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0x90d9ca3e of_get_ocmem +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0xc53d76b1 ocmem_allocate +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0xf9b05967 ocmem_free +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0x1c76ea4d pdr_restart_pd +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0x432975e6 pdr_add_lookup +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0x47b2ed49 pdr_handle_alloc +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0xf618ca5b pdr_handle_release +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x012a7eaf geni_se_get_qup_hw_version +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x12728710 geni_se_clk_freq_match +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x2e3e57aa geni_icc_disable +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x3dfc2ede geni_se_select_mode +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x4488174a geni_se_init +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x4964acfb geni_se_resources_off +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x6b83bfe3 geni_se_rx_dma_prep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x763e9f46 geni_se_tx_dma_unprep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x8f8c3f0e geni_icc_enable +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x943ca82b geni_icc_get +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x9cfcc71f geni_se_rx_dma_unprep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xa92b13c1 geni_se_resources_on +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xb08eb9f2 geni_se_config_packing +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xcb969e55 geni_icc_set_bw +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xdd993d27 geni_se_clk_tbl_get +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xdfec16fb geni_se_tx_dma_prep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0xffb8457f geni_icc_set_tag +EXPORT_SYMBOL drivers/soc/qcom/qcom_aoss 0x1b35f92f qmp_get +EXPORT_SYMBOL drivers/soc/qcom/qcom_aoss 0x2333aed6 qmp_put +EXPORT_SYMBOL drivers/soc/qcom/qcom_aoss 0x9e2aa1df qmp_send +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x0ef12cc9 qmi_encode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x1de81309 qmi_add_lookup +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x21ce5888 qmi_response_type_v01_ei +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x5fb9e1d2 qmi_handle_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x68772745 qmi_decode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x691a8aaa qmi_send_request +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x80577524 qmi_add_server +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x91568d4e qmi_handle_release +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xa1a0f674 qmi_txn_wait +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xa76bc233 qmi_send_response +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xb7a360ff qmi_txn_cancel +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xd0248999 qmi_txn_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xe525f44d qmi_send_indication +EXPORT_SYMBOL drivers/soc/qcom/smd-rpm 0x3abef80b qcom_rpm_smd_write +EXPORT_SYMBOL drivers/soc/qcom/smem 0x34b57571 qcom_smem_alloc +EXPORT_SYMBOL drivers/soc/qcom/smem 0x5a710273 qcom_smem_get_free_space +EXPORT_SYMBOL drivers/soc/qcom/smem 0x9979b76e qcom_smem_virt_to_phys +EXPORT_SYMBOL drivers/soc/qcom/smem 0xeeffa750 qcom_smem_get +EXPORT_SYMBOL drivers/soc/qcom/wcnss_ctrl 0x2a9dd0f8 qcom_wcnss_open_channel +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x16d1706b sdw_prepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1deee061 sdw_find_row_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x2204d095 sdw_master_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x2f0fd1a1 sdw_write_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x31b0c98a sdw_handle_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x3b0a8582 sdw_startup_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x3ef1cf2f sdw_compare_devid +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4cde88bf sdw_disable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x5430974d sdw_clear_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x55adf2fd sdw_update +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x60e31fbb sdw_find_col_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6be80665 sdw_nwrite +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6f95b16b sdw_shutdown_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x71891d59 sdw_deprepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7224c0db sdw_read_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7aa6efe7 sdw_bus_master_delete +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7d7f780b sdw_bwrite_no_pm_unlocked +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x8082068d sdw_extract_slave_id +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x8434eedf sdw_stream_add_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9152af2e sdw_write +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9b1b3847 sdw_bus_prep_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9e122d79 sdw_alloc_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9e85ca34 sdw_slave_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xa1939ca4 sdw_slave_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xa72a19c8 sdw_bus_master_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xa9ffd708 sdw_bus_exit_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xba54b904 sdw_cols +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xbbec2c2e sdw_enable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xc52e5cef sdw_stream_remove_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xcbd7d403 sdw_read +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xd69d938b sdw_stream_add_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xda5bce09 sdw_release_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xe6e3e168 sdw_nread +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf26714dc sdw_bus_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf4c4a6bb sdw_bread_no_pm_unlocked +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf53ba0b8 sdw_rows +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf8cad80a sdw_update_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xfd550975 sdw_stream_remove_master +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x08f362d8 sdw_cdns_is_clock_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x0fb70f62 sdw_cdns_probe +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x1dbb8095 sdw_cdns_config_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x2cebefc2 sdw_cdns_exit_reset +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x34712074 sdw_cdns_irq +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x375a376e sdw_cdns_init +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x55decd22 sdw_cdns_clock_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x616252f3 cdns_reset_page_addr +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x64bbabf5 cdns_xfer_msg +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x6843ae30 sdw_cdns_check_self_clearing_bits +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x7c471263 cdns_bus_conf +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x8e326558 sdw_cdns_alloc_pdi +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0x9a016253 cdns_xfer_msg_defer +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xa4ffd30a cdns_set_sdw_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xa5410e28 sdw_cdns_clock_restart +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xb4ad1baf sdw_cdns_enable_interrupt +EXPORT_SYMBOL drivers/soundwire/soundwire-cadence 0xd6f248fa sdw_cdns_pdi_init +EXPORT_SYMBOL drivers/soundwire/soundwire-generic-allocation 0x8f4f2020 sdw_compute_params +EXPORT_SYMBOL drivers/ssb/ssb 0x0bb414bc ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x1ec9abc8 ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x25c342d6 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x2bb37a67 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x3db31a27 ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x438147a6 ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x46a7a239 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x4855e8ff ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x6955e33f ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x6b42d1c6 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x7a1b351f ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x9997b591 ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xa74f1124 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xaa983218 ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0xb1cfee96 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0xc1dd0de3 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xcb17f1cb ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xd614a531 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0xdfc7c6ef ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe1b1cdb8 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0xeaa36d69 ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0xedfc7148 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x06783892 fbtft_read_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x18520ddc fbtft_write_buf_dc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x1a3d3607 fbtft_framebuffer_release +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x1ef8792c fbtft_remove_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x26011f99 fbtft_write_reg8_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x30320258 fbtft_register_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x3331ff13 fbtft_write_gpio16_wr_latched +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x345a387b fbtft_dbg_hex +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x35f3aa94 fbtft_write_vmem16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x37674837 fbtft_write_reg8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x3cf70e33 fbtft_write_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x521ba270 fbtft_init_display +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x5f6009a0 fbtft_write_reg16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x614fc99e fbtft_write_gpio8_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x8943da79 fbtft_framebuffer_alloc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x9878e571 fbtft_write_reg16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x9c50b4f9 fbtft_unregister_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x9f7fa849 fbtft_write_vmem16_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xa4611120 fbtft_write_gpio16_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xb06bd0d0 fbtft_unregister_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xb3091a81 fbtft_register_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xbda4088b fbtft_write_vmem8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xe2b137d8 fbtft_write_spi_emulate_9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xf899a151 fbtft_write_vmem16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xfbd9c47c fbtft_probe_common +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x06754bec gbaudio_unregister_module +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x46151c87 gbaudio_register_module +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x56bfb99a gbaudio_module_update +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0xaba4f25f adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x90fc365d ade7854_probe +EXPORT_SYMBOL drivers/staging/media/av7110/sp8870 0x2aca878b sp8870_attach +EXPORT_SYMBOL drivers/staging/nvec/nvec 0x737eaa8d nvec_write_sync +EXPORT_SYMBOL drivers/staging/nvec/nvec 0xee12b684 nvec_write_async +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0193ba96 rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x05f2e1fb rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0cb9c288 notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x17eaec1a rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22166084 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x23d1128b rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2b26c416 rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2b40650b rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3734458d rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x39616a99 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3da592de rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3dbb11f1 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3df6dbcb rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x44719aee rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4659b2e6 rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x49ef3d87 rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4a2c9e89 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4bc95d57 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4f773232 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x528cab00 rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5333dad6 rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5cba0e04 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x62198abb rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x62353ed3 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x639523bf HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x67df37f8 rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6c24504b rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6dd15b98 dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x709d2981 rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7460dc37 rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x776d8cf2 rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x86466522 rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x986aeccd rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x99b297c5 rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9b98fddc rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x9eb805a6 dot11d_channel_map +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa19e2dbb rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa2e0a208 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa76c3957 rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xae7e6908 alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb45b81c4 rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc4a36346 rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd1394999 rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xd9adc22e rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe367285f rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe5d5faf6 rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe7fdd2fe rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xeb88fe91 rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf0aa1469 rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf491d8f5 rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x172bab10 ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1b3db661 ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1d66a0ff ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1da32917 dot11d_scan_complete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2440bf95 dot11d_reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x26aca430 HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2788f823 ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x29e866a8 ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2c1ce209 ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2c46617d ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x37332e50 ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4091bcd8 ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x43d48d8c ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x44e68aaf ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x45714044 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4bcc8347 ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4f885130 ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5cb59d1a ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5d448ba0 ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6d8677f1 ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x713d3797 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x73df4ae6 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x753d3ea5 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x76b9190d ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x81bf335f ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x862c22a1 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8e4c67b5 ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9070f6e8 is_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x90f20ca8 ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x95221f7c ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9d4e01f9 dot11d_get_max_tx_pwr_in_dbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xadb33d85 ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xae40c307 SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xb2f2a2cd ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbdebadf2 ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xbe11134b ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc4234705 ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc9938cf6 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xcf3b0d0f ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd0a18e32 rtl8192u_dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd0e541f5 ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd47c0570 dot11d_update_country_ie +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd6460764 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd8f2faeb ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd9189a31 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdddd16c3 ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdffc4eca ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe8009634 ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xeb22cea6 ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xeb34a5ea ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecc5fb1b ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xefa89b2b notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf41297c1 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfa1f35d6 ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xfcee684c to_legal_channel +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x02f8c431 vchiq_queue_kernel_message +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x1c60d406 vchiq_get_service_userdata +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x35853b04 vchiq_release_message +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x582ed8ca vchiq_bulk_receive +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x5c054645 vchiq_msg_hold +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x60c1aceb vchiq_open_service +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x70fbdac9 vchiq_msg_queue_push +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x8ff6c2b1 vchiq_get_peer_version +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x92b2feb4 vchiq_bulk_transmit +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0x9d6478fe vchiq_use_service +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xb05b02ae vchiq_release_service +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xb34df55e vchiq_shutdown +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xb4d025f7 vchiq_connect +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xbca0c1c0 vchiq_add_connected_callback +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xce474ab9 vchiq_initialise +EXPORT_SYMBOL drivers/staging/vc04_services/vchiq 0xe95e0941 vchiq_close_service +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0070afc8 iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0acfd7d5 iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1995c051 iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1b88e050 iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x238f83e6 iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x2abf84ff iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x36859104 iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x383a4daa iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x38f145ac iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3a46ce42 iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3c5ac3f9 iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3c6e0d06 __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x496efdc8 iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5460e4b6 iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5c1da785 iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5de47978 iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5e6804e2 iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6144163c iscsit_thread_check_cpumask +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x650f78b8 iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x653f20c9 iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6bcc9e0b iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6cac490f iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6cbbc9b2 iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7a143b95 iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8439c33c iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8675e38f iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8efbb8e1 iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8f634cef iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x92b0d73b iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x938fe5ac iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9730ae50 iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb1ff69fe iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb382e2fe iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb3df41bd iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb8df9362 iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb94e2b98 iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xba23ffb0 iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc2e594fb iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc5eda60e iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xca9ab6ab iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xcbc05536 iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd1c3a072 iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xebb05a19 iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf34332f0 iscsi_find_param_from_key +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf9389380 iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xffb5a519 iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/target_core_mod 0x0436d9ce target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0eab1687 target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0x10c13777 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x177461f4 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x184b4159 target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x1ba9340e transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x1f7dd976 target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x1fedc38d transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x215d1153 target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x239337b5 __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x2433bf76 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x25806395 target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x2610afee target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x2ed2f6e7 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x38ae03a5 target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x3900d985 target_stop_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3db44fd6 passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x4163bd28 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x460696b1 passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x47d363e7 sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x49513325 transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x499ab091 target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x49d61cc1 target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x4b849e61 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x4ddf918d target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x51357475 core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x5150b9cd transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x57632c7c core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x57b9c9f5 transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x5b5f0424 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x5e2cda45 transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0x638bffb7 target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x67babab6 target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x67fbad47 spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0x69f75028 target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x6d2883d2 target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0x76328a96 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a1d0d3c target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7cbf248c transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x809d16d3 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x80d1c1d1 spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x86e9db4e sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0x8c140bcf target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x8cacf7eb target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x8d65651e transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x8eae78fb core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0x9b36cad4 sbc_dif_verify +EXPORT_SYMBOL drivers/target/target_core_mod 0xa366924a spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0xa6822019 target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0xa8e758ac target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xa9ccd54a spc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xaa219599 transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0xaefa54d6 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0xb35edc0e target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0xb65dc85d sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xbbda1935 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xc025e042 target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0xc4c061ea transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xc8826639 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xcc286183 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xccbe20e4 __target_init_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xccc1eca8 passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0xd8acf840 transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xdd9ab14b core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0xddd78ef9 sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0xddffa8db target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0xe240aaa5 target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0xe5ebcecb target_complete_cmd_with_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0xe8f8c628 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xea239460 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xeadb2f1e target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0xeec3d07b transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0xf2b41210 target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3c2dfe0 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf5af802b sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0xfc77eb1a target_tpg_has_node_acl +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x1606bed6 ufshcd_shutdown +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x32341965 ufshcd_alloc_host +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x4191a58f ufshcd_runtime_resume +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x59a4a771 ufshcd_map_desc_id_to_length +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x94682481 ufshcd_system_suspend +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0xac3fc0f0 ufshcd_runtime_suspend +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0xc2fdcfe1 ufshcd_get_local_unipro_ver +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0xceb7102d ufshcd_system_resume +EXPORT_SYMBOL drivers/ufs/host/tc-dwc-g210 0x316536c3 tc_dwc_g210_config_40_bit +EXPORT_SYMBOL drivers/ufs/host/tc-dwc-g210 0x8808fd71 tc_dwc_g210_config_20_bit +EXPORT_SYMBOL drivers/ufs/host/ufshcd-dwc 0x0a236fe9 ufshcd_dwc_link_startup_notify +EXPORT_SYMBOL drivers/ufs/host/ufshcd-dwc 0x962963c7 ufshcd_dwc_dme_set_attrs +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x99b0cac0 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/gadget/libcomposite 0x9d059fd5 usb_os_desc_prepare_interf_dir +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x19ff5742 sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3447ab80 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x3f146c43 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x4939fb02 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x497de97f usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x6eb8769f usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x70db0a76 usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xa0dcdd12 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xdfae6db2 usb_wwan_port_remove +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xe6c483ce usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf42be8ac usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf98238da usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xc0f44b04 usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xfd02bc44 usb_serial_suspend +EXPORT_SYMBOL drivers/vdpa/vdpa 0xd0b5c03b vdpa_set_status +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x132a4ae1 mdev_get_type_group_id +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x2870a493 mdev_register_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x4371bc35 mdev_unregister_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x6be9e43a mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x75a6447b mtype_get_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x838d9e7c mdev_unregister_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x8e7c8727 mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xdca920df mtype_get_type_group_id +EXPORT_SYMBOL drivers/vfio/vfio 0x19567d06 vfio_info_cap_shift +EXPORT_SYMBOL drivers/vfio/vfio 0x2c5d98c1 vfio_unregister_notifier +EXPORT_SYMBOL drivers/vfio/vfio 0x51290533 vfio_pin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x53841e9b vfio_register_notifier +EXPORT_SYMBOL drivers/vfio/vfio 0x6c28be5a vfio_info_add_capability +EXPORT_SYMBOL drivers/vfio/vfio 0x91c0b58a vfio_unpin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0x9ec04166 vfio_dma_rw +EXPORT_SYMBOL drivers/vfio/vfio 0xadc044b7 vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL drivers/vhost/vhost 0x767c5ab8 vhost_chr_poll +EXPORT_SYMBOL drivers/vhost/vhost 0xd59894cd vhost_chr_write_iter +EXPORT_SYMBOL drivers/vhost/vringh 0x0c46f5fb vringh_iov_pull_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x18f3ddc2 vringh_iov_push_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x19c24590 vringh_notify_disable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x1fe50c1a vringh_abandon_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x2890c460 vringh_getdesc_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x2d2babc9 vringh_complete_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x3684d8af vringh_complete_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x3b304ebb vringh_iov_push_user +EXPORT_SYMBOL drivers/vhost/vringh 0x3ee1955e vringh_init_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x4311cd91 vringh_iov_pull_user +EXPORT_SYMBOL drivers/vhost/vringh 0x4504adc9 vringh_abandon_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x5bd469c0 vringh_getdesc_user +EXPORT_SYMBOL drivers/vhost/vringh 0x5f586ca2 vringh_init_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x61e3831b vringh_getdesc_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x660779c8 vringh_kiov_advance +EXPORT_SYMBOL drivers/vhost/vringh 0x6a693a25 vringh_need_notify_user +EXPORT_SYMBOL drivers/vhost/vringh 0x90e93e3c vringh_complete_multi_user +EXPORT_SYMBOL drivers/vhost/vringh 0x97fa07e9 vringh_iov_push_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x9b30452e vringh_complete_user +EXPORT_SYMBOL drivers/vhost/vringh 0xa7ce8bd6 vringh_notify_disable_user +EXPORT_SYMBOL drivers/vhost/vringh 0xa8efaeb9 vringh_set_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xc0bb1581 vringh_need_notify_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xc87491c8 vringh_notify_enable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xd465f463 vringh_need_notify_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xde804bb9 vringh_iov_pull_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xe4c21196 vringh_notify_disable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xeb2ec139 vringh_notify_enable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xf1e32cc0 vringh_init_user +EXPORT_SYMBOL drivers/vhost/vringh 0xf8605294 vringh_notify_enable_user +EXPORT_SYMBOL drivers/vhost/vringh 0xf9d0dd07 vringh_abandon_user +EXPORT_SYMBOL drivers/video/backlight/lcd 0x8adbae44 devm_lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0x8ec72186 lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0xa87ce43c devm_lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0xcdae0f63 lcd_device_register +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x02a4db4f svga_settile +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x0efbbc27 svga_get_caps +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x142984b5 svga_tilefill +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x17f3f471 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x1be6dc30 svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x299ef7da svga_tileblit +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x54ead6ad svga_tilecursor +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x83a41489 svga_set_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x84c337c2 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x84c97d2a svga_match_format +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xaa88a271 svga_tilecopy +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xb0ab2b2e svga_check_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xd22ca511 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xd6ec2c44 svga_compute_pll +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xdcc5a013 svga_wseq_multi +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xe28d2a49 svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xf245d4f2 svga_get_tilemax +EXPORT_SYMBOL drivers/video/fbdev/core/syscopyarea 0x211c3dc4 sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0x3d927716 sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0x8f79d169 sys_imageblit +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x534b6f18 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0xb39f68d1 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0xce8e83ba cyber2000fb_attach +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0xf8413d0f mac_find_mode +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x03537c2b matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xb30024f7 g450_mnp2f +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xdddfd96c matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x022a3f54 matrox_mystique +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x6a2b72dc DAC1064_global_restore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x803f7b38 matrox_G100 +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xef584d8b DAC1064_global_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_Ti3026 0x3b6d9906 matrox_millennium +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_accel 0x5f074dac matrox_cfbX_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x2181ad0d matroxfb_register_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x9754e2ca matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x9847bcd0 matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0xec187adb matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x52b797b2 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x93ca1869 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x02468a5a matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x22c0bdd4 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xb23d1944 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xd71148d3 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xf481c085 matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/fbdev/sis/sisfb 0x3037658e sis_malloc +EXPORT_SYMBOL drivers/video/fbdev/sis/sisfb 0xfe963115 sis_free +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x1217329a virtio_dma_buf_export +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x718766ed virtio_dma_buf_get_uuid +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x7a254946 virtio_dma_buf_attach +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0xa9f22569 is_virtio_dma_buf +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x472c3180 w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xe6bbc634 w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x551c4311 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x630b102a w1_ds2781_io +EXPORT_SYMBOL drivers/w1/wire 0x0614f4d3 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x7adfac73 w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0xa4414fcd w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0xbe265225 w1_register_family +EXPORT_SYMBOL fs/fscache/fscache 0x014b287c fscache_withdraw_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x173c9332 __fscache_write_to_cache +EXPORT_SYMBOL fs/fscache/fscache 0x1a0d09e7 fscache_n_write +EXPORT_SYMBOL fs/fscache/fscache 0x1a25cfa0 __tracepoint_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x1bc2a9b4 fscache_withdraw_volume +EXPORT_SYMBOL fs/fscache/fscache 0x1de2e531 fscache_get_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x234a140d __traceiter_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x306805d3 __SCK__tp_func_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x36bd350a __fscache_clear_page_bits +EXPORT_SYMBOL fs/fscache/fscache 0x39674879 __tracepoint_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x4404d2aa fscache_n_no_create_space +EXPORT_SYMBOL fs/fscache/fscache 0x4996bd29 fscache_n_updates +EXPORT_SYMBOL fs/fscache/fscache 0x4bd084ba __SCK__tp_func_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x50b1eea5 __fscache_begin_read_operation +EXPORT_SYMBOL fs/fscache/fscache 0x557a775f fscache_addremove_sem +EXPORT_SYMBOL fs/fscache/fscache 0x59adb857 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x6c5e41e7 __tracepoint_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x6e416521 __SCK__tp_func_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x795e70fd fscache_wait_for_operation +EXPORT_SYMBOL fs/fscache/fscache 0x8692cb6d fscache_cookie_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x879586f2 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x899f4270 fscache_dirty_folio +EXPORT_SYMBOL fs/fscache/fscache 0x8c2d6da7 fscache_clearance_waiters +EXPORT_SYMBOL fs/fscache/fscache 0x90d447f3 fscache_n_culled +EXPORT_SYMBOL fs/fscache/fscache 0x925986f4 __fscache_unuse_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x9272e9f7 __fscache_acquire_volume +EXPORT_SYMBOL fs/fscache/fscache 0x9ff62c61 fscache_end_cookie_access +EXPORT_SYMBOL fs/fscache/fscache 0x9ffefcb2 fscache_n_read +EXPORT_SYMBOL fs/fscache/fscache 0xae6040a5 __traceiter_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0xb0fd3884 fscache_put_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xbca46908 fscache_wq +EXPORT_SYMBOL fs/fscache/fscache 0xbd5a5b71 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xbec4caf4 fscache_end_volume_access +EXPORT_SYMBOL fs/fscache/fscache 0xbed91334 fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xc1d80141 __fscache_resize_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xcce11a60 fscache_n_no_write_space +EXPORT_SYMBOL fs/fscache/fscache 0xcf092308 fscache_resume_after_invalidation +EXPORT_SYMBOL fs/fscache/fscache 0xd756fad7 __fscache_begin_write_operation +EXPORT_SYMBOL fs/fscache/fscache 0xd77be126 __fscache_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0xdcb87498 __traceiter_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0xe0409cc6 fscache_acquire_cache +EXPORT_SYMBOL fs/fscache/fscache 0xe5d07c3d fscache_relinquish_cache +EXPORT_SYMBOL fs/fscache/fscache 0xe63c9a94 __fscache_relinquish_volume +EXPORT_SYMBOL fs/fscache/fscache 0xe9856f4d fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0xf7c7b280 __fscache_use_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xfe6b84ba fscache_caching_failed +EXPORT_SYMBOL fs/netfs/netfs 0x4e0ce419 netfs_subreq_terminated +EXPORT_SYMBOL fs/netfs/netfs 0x520257b2 netfs_stats_show +EXPORT_SYMBOL fs/netfs/netfs 0x5d6955b0 netfs_read_folio +EXPORT_SYMBOL fs/netfs/netfs 0x70681cc9 netfs_readahead +EXPORT_SYMBOL fs/netfs/netfs 0xabaff9f7 netfs_write_begin +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x02569634 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x1a805cab qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x2d207bfc qtree_get_next_id +EXPORT_SYMBOL fs/quota/quota_tree 0x3d2e7e0d qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x4fc9069a qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xbb53a69a qtree_release_dquot +EXPORT_SYMBOL lib/crc-itu-t 0x09a34a2b crc_itu_t +EXPORT_SYMBOL lib/crc-itu-t 0xd819a524 crc_itu_t_table +EXPORT_SYMBOL lib/crc7 0x65aaf037 crc7_be_syndrome_table +EXPORT_SYMBOL lib/crc7 0xba55d23e crc7_be +EXPORT_SYMBOL lib/crypto/libarc4 0x2bb32ad1 arc4_setkey +EXPORT_SYMBOL lib/crypto/libarc4 0xcd47fcc4 arc4_crypt +EXPORT_SYMBOL lib/crypto/libchacha 0xcec122d7 chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x147c3f2e chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x37b34b92 chacha20poly1305_encrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x521c7102 xchacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x5b19e187 chacha20poly1305_decrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xc20134e7 chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xce15a526 xchacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x12627f15 curve25519_generic +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x4a5a8811 curve25519_null_point +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x7e6fdbfc curve25519_base_point +EXPORT_SYMBOL lib/crypto/libpoly1305 0x021f3700 poly1305_core_blocks +EXPORT_SYMBOL lib/crypto/libpoly1305 0xbcb90cb3 poly1305_core_emit +EXPORT_SYMBOL lib/crypto/libpoly1305 0xd45b9cf4 poly1305_core_setkey +EXPORT_SYMBOL lib/libcrc32c 0x89a0cd52 crc32c_impl +EXPORT_SYMBOL lib/libcrc32c 0xb15b4109 crc32c +EXPORT_SYMBOL lib/lru_cache 0x0641307b lc_destroy +EXPORT_SYMBOL lib/lru_cache 0x098d2ed9 lc_try_get +EXPORT_SYMBOL lib/lru_cache 0x2d47ac83 lc_committed +EXPORT_SYMBOL lib/lru_cache 0x2f3dcecb lc_index_of +EXPORT_SYMBOL lib/lru_cache 0x4522d82a lc_reset +EXPORT_SYMBOL lib/lru_cache 0x4cf5f5a8 lc_is_used +EXPORT_SYMBOL lib/lru_cache 0x5752f31b lc_del +EXPORT_SYMBOL lib/lru_cache 0x7257beee lc_element_by_index +EXPORT_SYMBOL lib/lru_cache 0x7ea60afd lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0x9134feb7 lc_get +EXPORT_SYMBOL lib/lru_cache 0xb672aa97 lc_create +EXPORT_SYMBOL lib/lru_cache 0xbfbe53d5 lc_get_cumulative +EXPORT_SYMBOL lib/lru_cache 0xc3a98c1d lc_try_lock +EXPORT_SYMBOL lib/lru_cache 0xcc979a91 lc_set +EXPORT_SYMBOL lib/lru_cache 0xdc59545c lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0xefec290a lc_find +EXPORT_SYMBOL lib/lru_cache 0xfd525ec7 lc_put +EXPORT_SYMBOL lib/lz4/lz4_compress 0x4f4d78c5 LZ4_compress_default +EXPORT_SYMBOL lib/lz4/lz4_compress 0x5bc92e85 LZ4_compress_destSize +EXPORT_SYMBOL lib/lz4/lz4_compress 0x6004858d LZ4_compress_fast +EXPORT_SYMBOL lib/lz4/lz4_compress 0x635ff76d LZ4_saveDict +EXPORT_SYMBOL lib/lz4/lz4_compress 0x749849d8 LZ4_loadDict +EXPORT_SYMBOL lib/lz4/lz4_compress 0xf9eced44 LZ4_compress_fast_continue +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x38f7b6e0 LZ4_compress_HC_continue +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x93ff008c LZ4_loadDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x9cef495b LZ4_saveDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0xddf86133 LZ4_compress_HC +EXPORT_SYMBOL lib/math/cordic 0x7e431c15 cordic_calc_iq +EXPORT_SYMBOL lib/objagg 0x0363233d objagg_obj_raw +EXPORT_SYMBOL lib/objagg 0x23865923 objagg_destroy +EXPORT_SYMBOL lib/objagg 0x24ca5ca9 objagg_obj_root_priv +EXPORT_SYMBOL lib/objagg 0x342aefe2 objagg_obj_delta_priv +EXPORT_SYMBOL lib/objagg 0x352633f4 objagg_hints_stats_get +EXPORT_SYMBOL lib/objagg 0x3c58e78f objagg_hints_put +EXPORT_SYMBOL lib/objagg 0x6691f29d objagg_obj_put +EXPORT_SYMBOL lib/objagg 0x679e8cc2 objagg_create +EXPORT_SYMBOL lib/objagg 0xb17ab162 objagg_obj_get +EXPORT_SYMBOL lib/objagg 0xdaa3ee68 objagg_stats_get +EXPORT_SYMBOL lib/objagg 0xf5511527 objagg_stats_put +EXPORT_SYMBOL lib/objagg 0xfaa9d1a8 objagg_hints_get +EXPORT_SYMBOL lib/parman 0x0f518717 parman_prio_init +EXPORT_SYMBOL lib/parman 0x7b03d378 parman_item_add +EXPORT_SYMBOL lib/parman 0x8b7e26f5 parman_item_remove +EXPORT_SYMBOL lib/parman 0xc3e2d892 parman_create +EXPORT_SYMBOL lib/parman 0xc6a3d260 parman_prio_fini +EXPORT_SYMBOL lib/parman 0xca39ae6a parman_destroy +EXPORT_SYMBOL lib/raid6/raid6_pq 0x0b2c64a3 raid6_vgfmul +EXPORT_SYMBOL lib/raid6/raid6_pq 0x17f54263 raid6_gfexp +EXPORT_SYMBOL lib/raid6/raid6_pq 0x2b4846a1 raid6_empty_zero_page +EXPORT_SYMBOL lib/raid6/raid6_pq 0x59a2712d raid6_gfinv +EXPORT_SYMBOL lib/raid6/raid6_pq 0xc8e3332b raid6_gflog +EXPORT_SYMBOL lib/raid6/raid6_pq 0xcc4ee841 raid6_gfexi +EXPORT_SYMBOL lib/raid6/raid6_pq 0xd91319d6 raid6_gfmul +EXPORT_SYMBOL net/6lowpan/6lowpan 0x20624803 lowpan_unregister_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0xc1ccbfa6 lowpan_nhc_add +EXPORT_SYMBOL net/6lowpan/6lowpan 0xcec3cd84 lowpan_nhc_del +EXPORT_SYMBOL net/6lowpan/6lowpan 0xe7086b78 lowpan_register_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0xf7d9887f lowpan_register_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0xfdfdfdda lowpan_unregister_netdev +EXPORT_SYMBOL net/802/p8022 0x857f4961 unregister_8022_client +EXPORT_SYMBOL net/802/p8022 0xe1c8e731 register_8022_client +EXPORT_SYMBOL net/802/psnap 0xa511e425 register_snap_client +EXPORT_SYMBOL net/802/psnap 0xf7823476 unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x02290662 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x0261f6eb p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x0641bcfe p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x14ef42a0 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x14f38c58 p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x15f58005 p9_client_read_once +EXPORT_SYMBOL net/9p/9pnet 0x196a3aa9 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x1c367d0e p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x25692ef0 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x25bc650b v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x2b50ff84 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x2ff429dd p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0x39b7d2de p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x3a5bb2d9 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x41ce9823 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x4b42b210 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x5980e5b3 p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x5c34a221 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x5f48502d p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x5fa0722b p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x624a43c5 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x657a633e p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x6b1aa933 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x70c12611 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7d88f2c5 p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x7e067f0f p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x95bd8f96 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x97016c3c p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x984c5e73 p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0x9a20e1cd p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0xa396926e p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0xa6b40ca3 p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0xae738e2b p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xafbeaaee p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0xb23e51c5 p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0xb6662f86 v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0xb79f25fd p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0xc1ea33ec p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0xc8c2c78f p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0xd384c683 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xd79919d2 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xd8311303 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe8e263b0 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0xe9c58006 p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0xefceee29 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0xf9d8a8f2 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0xfa68f23c p9_client_create +EXPORT_SYMBOL net/appletalk/appletalk 0x2c828a6a alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0x5183bdbd atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0xcd1f86c0 aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xe17aef43 atrtr_get_dev +EXPORT_SYMBOL net/atm/atm 0x19b31700 atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x337d2ae2 atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x4443d399 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x44c6e633 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x497cd77d atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x5f3db242 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x67914b02 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x7145e364 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x72682183 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xb0e16643 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0xcec6901f atm_charge +EXPORT_SYMBOL net/atm/atm 0xd4e3563a deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xd73e0578 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0xdc968db3 vcc_process_recv_queue +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xfeaf375b vcc_insert_socket +EXPORT_SYMBOL net/ax25/ax25 0x103d8886 ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0x14cecd59 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x1e179c29 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x1ee64678 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x3c1842d8 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x7890cd8a ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xa46aff9d ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0xb04bad4f ax25_ip_xmit +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xdbdfef9c ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0xee02e420 ax25_findbyuid +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0718b8b7 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0f934ad3 __hci_cmd_send +EXPORT_SYMBOL net/bluetooth/bluetooth 0x10bbcb94 bt_sock_wait_ready +EXPORT_SYMBOL net/bluetooth/bluetooth 0x154f77cd bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x179130e6 l2cap_chan_close +EXPORT_SYMBOL net/bluetooth/bluetooth 0x17ddf333 bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1ea65e84 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x214e4265 bt_warn +EXPORT_SYMBOL net/bluetooth/bluetooth 0x25c36704 hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x25e1ab5e bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x32e215e9 hci_alloc_dev_priv +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3b88d82d __hci_cmd_sync_status_sk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3fc9e1c5 hci_set_fw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x42e1ff6d bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x440f9e2e hci_set_hw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x482db513 bt_procfs_cleanup +EXPORT_SYMBOL net/bluetooth/bluetooth 0x49701954 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4a015f0b hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x51986cd1 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x56b6d198 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x58e603ec l2cap_register_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5c7d898c hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5e440bb9 hci_cmd_sync_cancel +EXPORT_SYMBOL net/bluetooth/bluetooth 0x65685d1a __hci_cmd_sync_ev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6e0a3e5c l2cap_unregister_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7114aaca hci_cmd_sync_queue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x73e2be6f l2cap_conn_get +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7aad008b bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b5ce5c3 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b8c32f1 bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7e56919a hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x84960e54 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x85128f42 hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x86b28c19 hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x87b4f7c6 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8d2ea6f3 __hci_cmd_sync_sk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8fdbce01 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8fea24bd bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x915a88d5 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x92f040d9 __hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9b7b0468 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9c72a7b9 hci_mgmt_chan_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9cea546c __hci_cmd_sync_status +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9dbd0bb6 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa2738e62 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb1aeab3f l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb604e0e0 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbcd44cc1 hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0xbcf52d94 bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0xc87c68da bt_procfs_init +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd2282ab6 l2cap_conn_put +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7613212 bt_err_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd9cc1fc7 hci_recv_diag +EXPORT_SYMBOL net/bluetooth/bluetooth 0xddacccf6 bt_warn_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe5aa95e3 hci_release_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xe6537272 bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xec7a91d1 bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfd64a213 hci_reset_dev +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x2f8c08c0 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x72810fb5 ebt_register_template +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x72becb46 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x9d275ed6 ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xa25ea8d3 ebt_unregister_template +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xc2ba0502 ebt_register_table +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x2a09f713 cfpkt_fromnative +EXPORT_SYMBOL net/caif/caif 0x329dbd06 cfpkt_info +EXPORT_SYMBOL net/caif/caif 0x38701a7c cfcnfg_del_phy_layer +EXPORT_SYMBOL net/caif/caif 0x3d027b23 caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0x3d093fd8 cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0x3fa84493 cfpkt_add_head +EXPORT_SYMBOL net/caif/caif 0x40babbe0 cfpkt_extr_head +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x4fa0df62 get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0x574696e1 caif_enroll_dev +EXPORT_SYMBOL net/caif/caif 0x839ddb7b cfcnfg_set_phy_state +EXPORT_SYMBOL net/caif/caif 0x87a4e687 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x9e3e305d cfpkt_set_prio +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/can/can 0x65ac7ac1 can_sock_destruct +EXPORT_SYMBOL net/can/can 0x6dc475cd can_rx_unregister +EXPORT_SYMBOL net/can/can 0x7df38fc8 can_rx_register +EXPORT_SYMBOL net/can/can 0x89214451 can_send +EXPORT_SYMBOL net/can/can 0xb07ad329 can_proto_register +EXPORT_SYMBOL net/can/can 0xbc5a55ba can_proto_unregister +EXPORT_SYMBOL net/ceph/libceph 0x04cad6f0 ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x08b4f7fe osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x0b57402a ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x0bcf795c ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x0f963536 ceph_osdc_put_request +EXPORT_SYMBOL net/ceph/libceph 0x1378aba3 ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0x1378ea71 osd_req_op_xattr_init +EXPORT_SYMBOL net/ceph/libceph 0x15bb27ef ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0x165b1948 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x16d2e50c osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0x17c17611 ceph_pg_to_acting_primary +EXPORT_SYMBOL net/ceph/libceph 0x18026c96 osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x183b3d24 ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0x192b8b23 ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0x1ad1674a ceph_osdc_list_watchers +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x20cc4170 osd_req_op_extent_init +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x21fa4683 osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x24f3af65 ceph_osdc_watch +EXPORT_SYMBOL net/ceph/libceph 0x2669764b ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x2a983d26 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x2ebf38f8 osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x2ffd066a ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0x329c2499 ceph_osdc_call +EXPORT_SYMBOL net/ceph/libceph 0x32d3ffab ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x3755ca84 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x38f2d94e ceph_file_to_extents +EXPORT_SYMBOL net/ceph/libceph 0x397a61a8 ceph_auth_handle_bad_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x3a196f45 ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x3b781728 osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0x3c8d7111 ceph_get_num_objects +EXPORT_SYMBOL net/ceph/libceph 0x3d26e74d osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0x3e542645 ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0x417a9131 ceph_oloc_destroy +EXPORT_SYMBOL net/ceph/libceph 0x429cd610 ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0x46683878 ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x47919066 ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0x48b4db6d ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x48bac7fc ceph_client_gid +EXPORT_SYMBOL net/ceph/libceph 0x48dea008 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x4a8c1a21 ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0x4affd6c2 ceph_parse_fsid +EXPORT_SYMBOL net/ceph/libceph 0x4db5c4ed ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x4ea9df6c ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x50603ce3 ceph_decode_entity_addrvec +EXPORT_SYMBOL net/ceph/libceph 0x51b2f075 osd_req_op_init +EXPORT_SYMBOL net/ceph/libceph 0x53866be1 ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0x55376e88 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x56d814d3 ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x595aaf48 __ceph_auth_get_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x5b26dcd4 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x5d0a1427 osd_req_op_copy_from_init +EXPORT_SYMBOL net/ceph/libceph 0x611d128b ceph_auth_handle_svc_reply_more +EXPORT_SYMBOL net/ceph/libceph 0x617f5fa9 ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x63645f23 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x651c4172 osd_req_op_extent_dup_last +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x6e21d209 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x6e276b7d osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0x710abbbf ceph_cls_unlock +EXPORT_SYMBOL net/ceph/libceph 0x71e4e167 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x74213465 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x77e48c9d ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x7aa46f0f ceph_auth_get_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x7ae2a5e6 ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0x8621422d ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0x86fca7e4 ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x879b58b9 ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0x8af69f27 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x8c77e1e8 ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x905601ae ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x92b7b4ce ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0x95e4580f ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0x987d3968 ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x98c74691 ceph_monc_blocklist_add +EXPORT_SYMBOL net/ceph/libceph 0x9b8b2632 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x9bc6b539 ceph_find_or_create_string +EXPORT_SYMBOL net/ceph/libceph 0x9ca95932 ceph_create_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x9fbba67f ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x9fefa3cb ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0xa0aa17fc ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xa1b5ac95 ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0xa31cb337 ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0xa3a12ca5 ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/ceph/libceph 0xa58f64ae ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0xa698f998 ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0xa837aab1 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0xab172764 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0xac91b5a1 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0xaca84fa1 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0xacbd954a ceph_auth_handle_svc_reply_done +EXPORT_SYMBOL net/ceph/libceph 0xad703657 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb72c162e ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xb8b3c4da ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0xbd2f79ae ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0xbe3879aa ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0xbe83b885 ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0xbffa8199 ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0xc366bfa1 ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xca80437b ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0xcdb7e856 ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0xd09ca953 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0xd2c354b4 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xd39708b4 osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0xd4d736db ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0xd4eb7735 ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0xd6fad593 ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0xdb580f26 ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0xdbda8fa4 ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0xdc252dbf ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0xdf6ef4a1 ceph_oid_printf +EXPORT_SYMBOL net/ceph/libceph 0xdf7478b7 ceph_msg_put +EXPORT_SYMBOL net/ceph/libceph 0xdf86b1e2 ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0xdfc091f9 ceph_entity_type_name +EXPORT_SYMBOL net/ceph/libceph 0xdfc77c9d osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0xe340fb02 ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0xe34a59f2 ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0xe44b5598 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xe76e7226 ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0xe9fc07c2 osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0xebae8f7f ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0xed6ef265 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xee120c03 ceph_release_string +EXPORT_SYMBOL net/ceph/libceph 0xee3885f3 osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0xeef6cfa3 ceph_iterate_extents +EXPORT_SYMBOL net/ceph/libceph 0xefce3c3b ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0xefce991c ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0xf010eef0 ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0xf03fe862 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0xf138ba55 osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0xf142278a ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0xf1ae19e1 ceph_cls_lock_info +EXPORT_SYMBOL net/ceph/libceph 0xf3323b0e ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xf7bbc82d ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0xf9ddf698 ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xfa226f1f osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/ceph/libceph 0xfffda7ce ceph_parse_param +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x31257565 dccp_syn_ack_timeout +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x39ee1d8f dccp_req_err +EXPORT_SYMBOL net/hsr/hsr 0xc65fddfb is_hsr_master +EXPORT_SYMBOL net/hsr/hsr 0xd176a0e7 hsr_get_version +EXPORT_SYMBOL net/ieee802154/ieee802154 0x039508b5 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x116fc584 wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x416a3660 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0x5a675852 wpan_phy_new +EXPORT_SYMBOL net/ieee802154/ieee802154 0xc7934957 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0xf38d0645 wpan_phy_register +EXPORT_SYMBOL net/ipv4/fou 0x1757d1a4 fou_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0xa5d65f98 __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0xcf739f97 __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0xf13914b3 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0x8a2bdba1 gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x656e3251 ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xb1b8d84c ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xb2e6abd0 ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xda35168a ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x28cdbad9 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x9642f636 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xa075ef6d arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xeec55c51 arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x1b2857d5 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x88591610 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xda0bc025 ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xeed9285b ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/tunnel4 0xc8a4af91 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0xdddd3302 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/udp_tunnel 0xc00f7c4f udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x0dc45bc5 ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x168787b8 ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x3d0ef346 ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x7d2000f8 ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x961f3d73 ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x9a252e9f ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xaf96a89b ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xcc689eda ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xfd0f0162 ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x1278d883 ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x448a9d6d ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xb18042c3 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xbdb3ac9f ip6t_register_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x1c5b5c9b xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0xd484bd1e xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x0765111b xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x7805deea xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/lapb/lapb 0x647b6232 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x7fc5524a lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0xab6269fe lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0xb54a8f29 lapb_register +EXPORT_SYMBOL net/lapb/lapb 0xc0dff92d lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0xd34348d5 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0xef657813 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0xf70fa97f lapb_unregister +EXPORT_SYMBOL net/llc/llc 0x0540fe55 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x0a47883b llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x72946fa3 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0xa0056307 llc_sap_close +EXPORT_SYMBOL net/llc/llc 0xa83333cc llc_add_pack +EXPORT_SYMBOL net/llc/llc 0xd6349056 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0xddc3b471 llc_sap_find +EXPORT_SYMBOL net/mac80211/mac80211 0x00deb4c1 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x04261cf2 ieee80211_txq_schedule_start +EXPORT_SYMBOL net/mac80211/mac80211 0x054a59bf ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x063f5308 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x06ff4fed ieee80211_rx_ba_timer_expired +EXPORT_SYMBOL net/mac80211/mac80211 0x08369533 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x0c74aeeb ieee80211_disconnect +EXPORT_SYMBOL net/mac80211/mac80211 0x0cccecf0 ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0x0d3101d8 ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0x0d69dca9 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x1441bbf6 ieee80211_channel_switch_disconnect +EXPORT_SYMBOL net/mac80211/mac80211 0x16323c2d ieee80211_beacon_update_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0x16ef51a5 ieee80211_schedule_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x183dcd3b ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0x19f37f0d ieee80211_update_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x1a66fc17 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0x1aff0540 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x1c73d540 ieee80211_reserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x1f656f20 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x2069f21f ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x268d2ce8 ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x294cec53 ieee80211_get_unsol_bcast_probe_resp_tmpl +EXPORT_SYMBOL net/mac80211/mac80211 0x29765919 ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x29c9c86b ieee80211_send_eosp_nullfunc +EXPORT_SYMBOL net/mac80211/mac80211 0x2f2b6f0a ieee80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x3076764d ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x31bbd559 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x32a12e93 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x3433b946 ieee80211_get_tx_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x39e9977e ieee80211_beacon_cntdwn_is_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x3ca6055e ieee80211_get_fils_discovery_tmpl +EXPORT_SYMBOL net/mac80211/mac80211 0x3fc5c1df ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x40ebf9d7 ieee80211_next_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x4117d6ce ieee80211_unreserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x459d7f4b rate_control_set_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x47149c6f ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x4a136e9d wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x4b024a38 ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x4e8ce977 __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x51eb3df7 ieee80211_tx_rate_update +EXPORT_SYMBOL net/mac80211/mac80211 0x525703b6 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x5332d2b7 ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x549b9474 ieee80211_tx_dequeue +EXPORT_SYMBOL net/mac80211/mac80211 0x55d2e3d3 ieee80211_txq_may_transmit +EXPORT_SYMBOL net/mac80211/mac80211 0x59743ba6 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x5b11e752 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x613e6331 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x61f62e89 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x67e0ff24 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0x687b6f77 ieee80211_mark_rx_ba_filtered_frames +EXPORT_SYMBOL net/mac80211/mac80211 0x731779dd ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x74e08371 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x75679288 __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x7ada2f2c ieee80211_nan_func_terminated +EXPORT_SYMBOL net/mac80211/mac80211 0x7f8f1d31 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x831b526f __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x84cff0c5 ieee80211_manage_rx_ba_offl +EXPORT_SYMBOL net/mac80211/mac80211 0x89e85243 ieee80211_sta_register_airtime +EXPORT_SYMBOL net/mac80211/mac80211 0x8ecd8078 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x8f6aba07 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x8fb9995f ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x92f266ab ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x948d9afc ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x959f4958 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x9758fed4 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x991a0ca0 ieee80211_parse_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x9ae94473 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x9e4807d8 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xa5ff3899 ieee80211_beacon_set_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0xa6bc0f2b ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xa6c4441a ieee80211_rx_list +EXPORT_SYMBOL net/mac80211/mac80211 0xaa04a786 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0xb3de08cf ieee80211_report_wowlan_wakeup +EXPORT_SYMBOL net/mac80211/mac80211 0xb564a126 ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0xb5f1d45c ieee80211_tx_prepare_skb +EXPORT_SYMBOL net/mac80211/mac80211 0xb62170fb ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0xb99868b3 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xb9e88805 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xbdc56f47 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0xbe142a3c ieee80211_sta_pspoll +EXPORT_SYMBOL net/mac80211/mac80211 0xbf768526 ieee80211_sta_uapsd_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xbfe24e05 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0xc18dc540 ieee80211_radar_detected +EXPORT_SYMBOL net/mac80211/mac80211 0xc30fd788 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0xc365c248 ieee80211_rx_napi +EXPORT_SYMBOL net/mac80211/mac80211 0xc7677cac ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xcdd9f2f4 ieee80211_csa_finish +EXPORT_SYMBOL net/mac80211/mac80211 0xceb7bd86 ieee80211_iter_keys_rcu +EXPORT_SYMBOL net/mac80211/mac80211 0xd3000984 ieee80211_txq_get_depth +EXPORT_SYMBOL net/mac80211/mac80211 0xd50e5100 ieee80211_tx_status_ext +EXPORT_SYMBOL net/mac80211/mac80211 0xd7f4ad9b ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0xd95533a8 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xdff87a6e ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0xe5752af3 ieee80211_get_bssid +EXPORT_SYMBOL net/mac80211/mac80211 0xe98829f4 ieee80211_nan_func_match +EXPORT_SYMBOL net/mac80211/mac80211 0xeb073f4a ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0xee4686ee ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0xf158c4ec ieee80211_tdls_oper_request +EXPORT_SYMBOL net/mac80211/mac80211 0xf2885578 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0xf52cac93 ieee80211_sta_eosp +EXPORT_SYMBOL net/mac80211/mac80211 0xf560a3fb ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0xf6838083 ieee80211_alloc_hw_nm +EXPORT_SYMBOL net/mac80211/mac80211 0xf79a05a7 ieee80211_return_txq +EXPORT_SYMBOL net/mac80211/mac80211 0xfa49d719 ieee80211_txq_airtime_check +EXPORT_SYMBOL net/mac80211/mac80211 0xfc701bee __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xfde1c8ed ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac802154/mac802154 0x08736150 ieee802154_unregister_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x114bd342 ieee802154_register_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x26fc2eee ieee802154_xmit_hw_error +EXPORT_SYMBOL net/mac802154/mac802154 0x2d5a7b02 ieee802154_wake_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x2e6e9f8a ieee802154_rx_irqsafe +EXPORT_SYMBOL net/mac802154/mac802154 0x366c76f4 ieee802154_configure_durations +EXPORT_SYMBOL net/mac802154/mac802154 0x707ba733 ieee802154_alloc_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x9e9c2cb8 ieee802154_stop_queue +EXPORT_SYMBOL net/mac802154/mac802154 0xbbb0965b ieee802154_free_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xdf3de3e6 ieee802154_xmit_complete +EXPORT_SYMBOL net/mac802154/mac802154 0xefb93993 ieee802154_xmit_error +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x08413880 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2b01b3c2 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2b16ffff ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x2b5366a8 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x6a97bc44 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x6e5997f2 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x72aba0db ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x95b019f1 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa8bb8714 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xab5f29e4 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xcbb9c1c8 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xdc5467ec unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xeacda86a register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xebbaca21 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xeed5cf64 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x15a258cf nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x3b08a8f0 nf_ct_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x89d99ee1 __nf_ct_ext_find +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0xf2a36612 pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x034dded9 nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nf_nat 0x5c7ed336 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0xaccee2e3 nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nf_nat 0xd0157884 nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nft_fib 0xb3c36947 nft_fib_policy +EXPORT_SYMBOL net/netfilter/x_tables 0x0d7f5fcd xt_alloc_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x242d34ac xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x318f4769 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x3bf9d084 xt_check_table_hooks +EXPORT_SYMBOL net/netfilter/x_tables 0x4169f50f xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x420379db xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x48012e28 xt_check_proc_name +EXPORT_SYMBOL net/netfilter/x_tables 0x50873741 xt_compat_init_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x5c0571d5 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x78bbc646 xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x977fd4bf xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xa25fc115 xt_compat_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0xaaa963ea xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xc40a0f45 xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0xc59265af xt_find_table +EXPORT_SYMBOL net/netfilter/x_tables 0xcb3e91cc xt_counters_alloc +EXPORT_SYMBOL net/netfilter/x_tables 0xd2c26122 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xd87ae60d xt_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0xe204e042 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xfef779fa xt_find_jump_offset +EXPORT_SYMBOL net/nfc/hci/hci 0x17b9dcd1 nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x19ac6868 nfc_hci_target_discovered +EXPORT_SYMBOL net/nfc/hci/hci 0x22f06fe8 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x25d006a4 nfc_llc_start +EXPORT_SYMBOL net/nfc/hci/hci 0x29327c21 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x3806e629 nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x3b7e9d9f nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x46473f67 nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x47b11542 nfc_hci_driver_failure +EXPORT_SYMBOL net/nfc/hci/hci 0x50d8cd4f nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x5a9f7592 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0x5bc9f0f0 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x74fe3670 nfc_hci_result_to_errno +EXPORT_SYMBOL net/nfc/hci/hci 0x7ed9ea62 nfc_hci_reset_pipes +EXPORT_SYMBOL net/nfc/hci/hci 0x86637812 nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xa49953d6 nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xc26e5a8c nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0xc54bd35f nfc_hci_send_cmd_async +EXPORT_SYMBOL net/nfc/hci/hci 0xcb77f477 nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0xccc08e70 nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xd381deb4 nfc_llc_stop +EXPORT_SYMBOL net/nfc/hci/hci 0xd8e4eab9 nfc_hci_reset_pipes_per_host +EXPORT_SYMBOL net/nfc/hci/hci 0xdd231c55 nfc_hci_sak_to_protocol +EXPORT_SYMBOL net/nfc/nci/nci 0x00dea6b2 nci_send_data +EXPORT_SYMBOL net/nfc/nci/nci 0x03dc2342 nci_send_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x220e3716 nci_conn_max_data_pkt_payload_size +EXPORT_SYMBOL net/nfc/nci/nci 0x2a29697a nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x42523a79 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x445f33da nci_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0x4ad700d9 nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0x5642f425 nci_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0x5e9be36a nci_hci_clear_all_pipes +EXPORT_SYMBOL net/nfc/nci/nci 0x610f211a nci_core_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x61cc9e00 nci_set_config +EXPORT_SYMBOL net/nfc/nci/nci 0x637b942d nci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x6557803a nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x6a63e7d7 nci_nfcee_mode_set +EXPORT_SYMBOL net/nfc/nci/nci 0x702ad621 nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0x7de3ac8b nci_hci_open_pipe +EXPORT_SYMBOL net/nfc/nci/nci 0x8e5bb9c0 nci_hci_dev_session_init +EXPORT_SYMBOL net/nfc/nci/nci 0x8f775f8c nci_prop_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x933d46ba nci_core_conn_close +EXPORT_SYMBOL net/nfc/nci/nci 0x95e86bb4 nci_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0xa3feab67 nci_get_conn_info_by_dest_type_params +EXPORT_SYMBOL net/nfc/nci/nci 0xa729ce63 nci_core_reset +EXPORT_SYMBOL net/nfc/nci/nci 0xabb72b81 nci_core_init +EXPORT_SYMBOL net/nfc/nci/nci 0xac17e10b nci_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xc1ca6416 nci_core_conn_create +EXPORT_SYMBOL net/nfc/nci/nci 0xc566e614 nci_nfcee_discover +EXPORT_SYMBOL net/nfc/nci/nci 0xceac5204 nci_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0xd3ea5e59 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0xf371f9e5 nci_req_complete +EXPORT_SYMBOL net/nfc/nfc 0x053ee909 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x05ba87a0 nfc_find_se +EXPORT_SYMBOL net/nfc/nfc 0x1d037412 nfc_get_local_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x4997e32a nfc_vendor_cmd_reply +EXPORT_SYMBOL net/nfc/nfc 0x502c1edf nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x57230e34 nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0x5754f585 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x5b00c444 nfc_se_connectivity +EXPORT_SYMBOL net/nfc/nfc 0x5cb47a6f nfc_driver_failure +EXPORT_SYMBOL net/nfc/nfc 0x64d52538 nfc_tm_deactivated +EXPORT_SYMBOL net/nfc/nfc 0x6b280941 nfc_remove_se +EXPORT_SYMBOL net/nfc/nfc 0x70e000b0 __nfc_alloc_vendor_cmd_reply_skb +EXPORT_SYMBOL net/nfc/nfc 0x75baa9ee nfc_se_transaction +EXPORT_SYMBOL net/nfc/nfc 0x9529c8aa nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0xa512a3e2 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0xb3797782 nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0xc51f881f nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0xd5784b74 nfc_add_se +EXPORT_SYMBOL net/nfc/nfc 0xd63c28ce nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0xdf6d7338 nfc_fw_download_done +EXPORT_SYMBOL net/nfc/nfc 0xec93c24b nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0xecb23357 nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0xecf00b72 nfc_tm_activated +EXPORT_SYMBOL net/nfc/nfc 0xf8ae23c0 nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nfc 0xfc2ed548 nfc_send_to_raw_sock +EXPORT_SYMBOL net/nfc/nfc_digital 0x1f146ea1 nfc_digital_free_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x84de28b3 nfc_digital_allocate_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x8a67f931 nfc_digital_register_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x95f35945 nfc_digital_unregister_device +EXPORT_SYMBOL net/phonet/phonet 0x41b07eea pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x48084f4b phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x4fe55f68 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x5abaa542 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x99315c8d phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x9e87b7d0 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0xd498c0b7 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0xefa3ad80 pn_sock_hash +EXPORT_SYMBOL net/rxrpc/rxrpc 0x01bdee52 rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/rxrpc/rxrpc 0x0eaba304 rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0x15f26898 rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31b272f3 rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31c7039e rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0x6ad6f5e7 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x6c18972c rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0x6dcd97f7 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0xa0ce9ad2 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0xa7a7635a rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xb5052b5e rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd0ed41f7 rxrpc_kernel_recv_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd22ac5c5 rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd8479438 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd9da2823 rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0xdec6e30b rxrpc_kernel_check_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0xe5a3ef08 rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0xf750c4ac rxrpc_kernel_send_data +EXPORT_SYMBOL net/sctp/sctp 0x6f683c7d sctp_do_peeloff +EXPORT_SYMBOL net/smc/smc 0x1b1e06e1 __tracepoint_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x3152a8a7 __traceiter_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x3153cc92 __SCK__tp_func_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x8989d6ae __tracepoint_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x99bf1b00 __tracepoint_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0xa2cc87c8 __traceiter_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0xb3f2d173 __SCK__tp_func_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0xbb7f3ae8 __traceiter_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0xcd9701fe __tracepoint_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0xe7dacb8d __SCK__tp_func_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0xe9d73de0 __traceiter_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0xfb8cae0f __SCK__tp_func_smc_switch_to_fallback +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x4f96333e gss_mech_get +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x7ce15b4d gss_mech_put +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xc2987211 gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/sunrpc 0x091a8d4b svc_pool_stats_open +EXPORT_SYMBOL net/sunrpc/sunrpc 0x92fd9c4f xdr_truncate_encode +EXPORT_SYMBOL net/sunrpc/sunrpc 0xbeab00fa xdr_restrict_buflen +EXPORT_SYMBOL net/tipc/tipc 0x3bcf07f4 tipc_dump_done +EXPORT_SYMBOL net/tipc/tipc 0x609b5456 tipc_nl_sk_walk +EXPORT_SYMBOL net/tipc/tipc 0xaafffcce tipc_dump_start +EXPORT_SYMBOL net/tipc/tipc 0xd378b27b tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tls/tls 0x90bfbfaf tls_get_record +EXPORT_SYMBOL net/wireless/cfg80211 0x01467f09 cfg80211_reg_can_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x03057a39 cfg80211_control_port_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x06ca71fd cfg80211_chandef_create +EXPORT_SYMBOL net/wireless/cfg80211 0x0cc95bc2 ieee80211_s1g_channel_width +EXPORT_SYMBOL net/wireless/cfg80211 0x0fe87807 cfg80211_nan_func_terminated +EXPORT_SYMBOL net/wireless/cfg80211 0x117aca91 cfg80211_merge_profile +EXPORT_SYMBOL net/wireless/cfg80211 0x139d86b1 cfg80211_assoc_comeback +EXPORT_SYMBOL net/wireless/cfg80211 0x148271b8 cfg80211_iftype_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x1532bc1c cfg80211_send_layer2_update +EXPORT_SYMBOL net/wireless/cfg80211 0x179a09ce regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x19637581 cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x1b532d0e cfg80211_any_usable_channels +EXPORT_SYMBOL net/wireless/cfg80211 0x1b5a3a7e cfg80211_sinfo_alloc_tid_stats +EXPORT_SYMBOL net/wireless/cfg80211 0x1ce2497f reg_query_regdb_wmm +EXPORT_SYMBOL net/wireless/cfg80211 0x1e4bfb44 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x20cbcb32 cfg80211_bss_iter +EXPORT_SYMBOL net/wireless/cfg80211 0x20db9aef cfg80211_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x275269b3 ieee80211_ie_split_ric +EXPORT_SYMBOL net/wireless/cfg80211 0x275c97f0 cfg80211_get_ies_channel_number +EXPORT_SYMBOL net/wireless/cfg80211 0x2834e994 ieee80211_data_to_8023_exthdr +EXPORT_SYMBOL net/wireless/cfg80211 0x2b296134 cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x2f8c7cf1 cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x3018a8ff cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x310a8b8d wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x3643b80f ieee80211_chandef_to_operating_class +EXPORT_SYMBOL net/wireless/cfg80211 0x37daac25 cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0x3a8a7144 cfg80211_get_drvinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x400e7a71 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x415c7371 cfg80211_cac_event +EXPORT_SYMBOL net/wireless/cfg80211 0x429c0c31 ieee80211_bss_get_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x4399c27d wdev_chandef +EXPORT_SYMBOL net/wireless/cfg80211 0x43afadee ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x46ff300c ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x4c8cbe04 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x4d39b87e cfg80211_crit_proto_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x4d71ff16 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x4d888bc1 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x4e601ecb cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x4f00f5de cfg80211_bss_flush +EXPORT_SYMBOL net/wireless/cfg80211 0x50f040f1 cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x517f6c51 cfg80211_port_authorized +EXPORT_SYMBOL net/wireless/cfg80211 0x5584448a ieee80211_channel_to_freq_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x5e8e93ff regulatory_set_wiphy_regd +EXPORT_SYMBOL net/wireless/cfg80211 0x6080845b ieee80211_get_channel_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x639926bd cfg80211_abandon_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x69084e8b freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6bedf402 ieee80211_freq_khz_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x6c953994 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x6ced2b25 cfg80211_check_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x6d235622 cfg80211_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x7342cf2b cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x74e5c146 cfg80211_chandef_dfs_required +EXPORT_SYMBOL net/wireless/cfg80211 0x760f0d40 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x762a5348 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x76c56206 wiphy_read_of_freq_limits +EXPORT_SYMBOL net/wireless/cfg80211 0x76f1b72b cfg80211_check_station_change +EXPORT_SYMBOL net/wireless/cfg80211 0x79b82a71 cfg80211_find_vendor_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x7a9289d7 cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x7acb86ed ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3ac925 ieee80211_get_vht_max_nss +EXPORT_SYMBOL net/wireless/cfg80211 0x7c5bc437 wiphy_rfkill_set_hw_state_reason +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x8262fe7d cfg80211_report_wowlan_wakeup +EXPORT_SYMBOL net/wireless/cfg80211 0x87fd4a8c cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x89b92a75 __cfg80211_radar_event +EXPORT_SYMBOL net/wireless/cfg80211 0x8c36c0b0 regulatory_pre_cac_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x8d7d618e cfg80211_inform_bss_data +EXPORT_SYMBOL net/wireless/cfg80211 0x8dcae58e cfg80211_tx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x8f62f8a6 cfg80211_unregister_wdev +EXPORT_SYMBOL net/wireless/cfg80211 0x8fa02936 cfg80211_free_nan_func +EXPORT_SYMBOL net/wireless/cfg80211 0x8fde3a7e cfg80211_register_netdevice +EXPORT_SYMBOL net/wireless/cfg80211 0x91ccbbf5 cfg80211_report_obss_beacon_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x94b67cae wiphy_new_nm +EXPORT_SYMBOL net/wireless/cfg80211 0x951a44fa cfg80211_sta_opmode_change_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x9694e130 cfg80211_iter_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x974d7b16 cfg80211_rx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x97b516c7 ieee80211_mandatory_rates +EXPORT_SYMBOL net/wireless/cfg80211 0x9811a8c4 cfg80211_update_owe_info_event +EXPORT_SYMBOL net/wireless/cfg80211 0x98c0b4df cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x9d6cba30 cfg80211_find_elem_match +EXPORT_SYMBOL net/wireless/cfg80211 0x9d74ebe3 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0xa3b15882 cfg80211_chandef_usable +EXPORT_SYMBOL net/wireless/cfg80211 0xa89297fa cfg80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xa92bcd0e cfg80211_rx_assoc_resp +EXPORT_SYMBOL net/wireless/cfg80211 0xa97e3707 cfg80211_inform_bss_frame_data +EXPORT_SYMBOL net/wireless/cfg80211 0xa9a0d86f wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0xaa074d68 cfg80211_rx_control_port +EXPORT_SYMBOL net/wireless/cfg80211 0xace8e6b2 cfg80211_stop_iface +EXPORT_SYMBOL net/wireless/cfg80211 0xadc15904 cfg80211_reg_can_beacon_relax +EXPORT_SYMBOL net/wireless/cfg80211 0xae5b253e cfg80211_tdls_oper_request +EXPORT_SYMBOL net/wireless/cfg80211 0xb39e1c7d cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xb50cc7af wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0xb5b18a42 ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xb6f354f1 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0xbc519a9e __cfg80211_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xbdd63804 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xbf58bc52 cfg80211_sched_scan_stopped_locked +EXPORT_SYMBOL net/wireless/cfg80211 0xc4b4fc27 cfg80211_chandef_valid +EXPORT_SYMBOL net/wireless/cfg80211 0xc5879a3d cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0xc7f070c6 cfg80211_conn_failed +EXPORT_SYMBOL net/wireless/cfg80211 0xc8d1d949 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xcbb7e5df cfg80211_tx_mgmt_expired +EXPORT_SYMBOL net/wireless/cfg80211 0xcc1a7c48 cfg80211_is_element_inherited +EXPORT_SYMBOL net/wireless/cfg80211 0xcc3159ad cfg80211_rx_mgmt_khz +EXPORT_SYMBOL net/wireless/cfg80211 0xce7a40b4 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xd0321a00 __cfg80211_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xd0505102 get_wiphy_regdom +EXPORT_SYMBOL net/wireless/cfg80211 0xd2ed9786 cfg80211_get_station +EXPORT_SYMBOL net/wireless/cfg80211 0xd56d55f3 ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xd64d9722 __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xd703e39b cfg80211_nan_match +EXPORT_SYMBOL net/wireless/cfg80211 0xd97eaad4 cfg80211_chandef_compatible +EXPORT_SYMBOL net/wireless/cfg80211 0xd9e9a1d1 cfg80211_rx_unprot_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xdba126c1 reg_initiator_name +EXPORT_SYMBOL net/wireless/cfg80211 0xdf3765ca cfg80211_bss_color_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xe18af8a4 regulatory_set_wiphy_regd_sync +EXPORT_SYMBOL net/wireless/cfg80211 0xe5b1aeea cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0xe89c259e cfg80211_cqm_txe_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xeba4da1d ieee80211_get_num_supported_channels +EXPORT_SYMBOL net/wireless/cfg80211 0xf369f5b6 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0xf3d68de8 cfg80211_connect_done +EXPORT_SYMBOL net/wireless/cfg80211 0xf40bc2f5 ieee80211_operating_class_to_band +EXPORT_SYMBOL net/wireless/cfg80211 0xf43fae15 cfg80211_external_auth_request +EXPORT_SYMBOL net/wireless/cfg80211 0xf535d83e cfg80211_background_cac_abort +EXPORT_SYMBOL net/wireless/cfg80211 0xf552550d cfg80211_ch_switch_started_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xf5596d89 cfg80211_get_p2p_attr +EXPORT_SYMBOL net/wireless/cfg80211 0xfb3765c2 cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xfe7307c1 cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xff7b3765 wiphy_register +EXPORT_SYMBOL net/wireless/lib80211 0x02262a4a lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x08976319 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x556a4b86 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x57c46c83 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0xcd9110e0 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0xfc52b1f1 lib80211_crypt_info_free +EXPORT_SYMBOL sound/ac97_bus 0xeb251479 ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x1fd8685b snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1a724fcc snd_seq_kernel_client_ctl +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3061c52d snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x43688597 snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x4fb5be47 snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0x53603faa snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x684b8667 snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6bb71038 snd_seq_delete_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7ac2f329 snd_seq_expand_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7b8699eb snd_seq_event_port_detach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x6ea09972 snd_midi_channel_alloc_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x833a3e07 snd_midi_channel_set_clear +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xb9948d2c snd_midi_channel_free_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xf912f0c8 snd_midi_process_event +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x734e4fba snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x7a3e0db5 snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x8150b379 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xb8620ad8 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xdd70dbf6 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xdd935c83 snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe9e6c50c snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0xb0a25360 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x02d7fa39 snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0x0c3e6a42 snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x1c543eaf snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x1ddf3538 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x1f10b9ca snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0x21d58e12 snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x342a2354 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x363d4e94 snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x374b353d snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x3c743056 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x3cb3290d snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x3d507da0 snd_card_new +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x5022cf0b snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0x50bc65ea snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x5d42d78b snd_card_free +EXPORT_SYMBOL sound/core/snd 0x600b3ae5 snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0x645e397e snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x70bd5b1e snd_jack_report +EXPORT_SYMBOL sound/core/snd 0x73076315 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0x731ae8e7 snd_jack_add_new_kctl +EXPORT_SYMBOL sound/core/snd 0x80d8934c snd_register_device +EXPORT_SYMBOL sound/core/snd 0x83a6236e snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0x84dac087 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x94e5731d snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0x95ce98ce snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x98a4fad3 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x998c97ab snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x9d6ce352 snd_ctl_notify_one +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0x9fe3dc24 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0xaa27e13e snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0xae20efc3 snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xba113458 _snd_ctl_add_follower +EXPORT_SYMBOL sound/core/snd 0xbdcfebff snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0xbefe6f0d snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0xc0ae6f7e snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0xc46eddd2 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0xc5a6d10b release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0xcc6a729f snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0xcdb449f5 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0xcdb77cac snd_seq_root +EXPORT_SYMBOL sound/core/snd 0xdb12389a snd_device_register +EXPORT_SYMBOL sound/core/snd 0xe09ccfa2 snd_card_register +EXPORT_SYMBOL sound/core/snd 0xe14d2623 snd_component_add +EXPORT_SYMBOL sound/core/snd 0xe2135d5b snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0xe26ab12c snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0xe3bdfbd9 snd_device_free +EXPORT_SYMBOL sound/core/snd 0xe965c1e7 snd_device_new +EXPORT_SYMBOL sound/core/snd 0xe987ff48 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0xecae6493 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0xf63e1374 snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0xf7885e5d snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0xf90db244 snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0xfffd89db copy_from_user_toio +EXPORT_SYMBOL sound/core/snd-compress 0x22bf047e snd_compr_malloc_pages +EXPORT_SYMBOL sound/core/snd-compress 0xa0a10cd7 snd_compr_free_pages +EXPORT_SYMBOL sound/core/snd-hwdep 0x5be313ab snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x0e4929df snd_sgbuf_get_addr +EXPORT_SYMBOL sound/core/snd-pcm 0x11330bc8 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0x11eba48e snd_pcm_create_iec958_consumer_hw_params +EXPORT_SYMBOL sound/core/snd-pcm 0x1a3df1de snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0x1b1c0d74 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x29348b88 snd_dma_alloc_dir_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x2de23e18 __snd_pcm_lib_xfer +EXPORT_SYMBOL sound/core/snd-pcm 0x351495dc snd_dma_buffer_mmap +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x46631792 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x4c533045 snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0x4f4cd3f9 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x503bd137 snd_interval_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x5529a4db snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x5f5fc4f0 snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x642d9b51 snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x6788a434 snd_pcm_period_elapsed_under_stream_lock +EXPORT_SYMBOL sound/core/snd-pcm 0x68617ec7 snd_pcm_hw_constraint_mask64 +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x69255f54 snd_pcm_hw_limit_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x717ff135 snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x82472f21 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x834dc955 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x8610bc60 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x8af65e1f snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0x8f28b8d6 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x9469b2f9 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0x953fb9ff snd_sgbuf_get_page +EXPORT_SYMBOL sound/core/snd-pcm 0x95e94303 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x967b92d3 snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x9ddd8e12 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xa8b09ee8 snd_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-pcm 0xa9d3cdf3 snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xaa4b4c11 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0xac437f7b snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xaf0cf48a snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xb209b688 snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0xb3bb3409 snd_pcm_create_iec958_consumer +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xc239f305 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0xc279b7ff snd_pcm_hw_constraint_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0xc34759a0 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xca350b8b snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0xcd673679 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0xcf99c41c snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0xcf9fe6be snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0xd460c216 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xd5140fe7 snd_pcm_set_managed_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xdcee1183 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xe62f9582 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0xe83eab2b snd_pcm_set_managed_buffer_all +EXPORT_SYMBOL sound/core/snd-pcm 0xf0f8515b _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xf18293c2 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0xf4fb12d0 snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-pcm 0xf9c4a6d0 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xfa7cf81e snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xff6104d0 snd_pcm_rate_bit_to_rate +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1824a177 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x26752e02 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x289341a6 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x36126154 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3f6fcf71 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x41b8a293 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4d3d2037 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5defcfe9 __snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x69dad0b7 __snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6c44863a snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x77f8f9db snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x8e924763 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x98d9af24 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa47cb624 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xaa14c3cc snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbb482994 snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbc4441f9 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbd5c369b snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0xc46b051a snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0xe92fa359 snd_rawmidi_proceed +EXPORT_SYMBOL sound/core/snd-seq-device 0x091def1c snd_seq_autoload_exit +EXPORT_SYMBOL sound/core/snd-seq-device 0x370a0736 snd_seq_autoload_init +EXPORT_SYMBOL sound/core/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/snd-seq-device 0x9c22e1cf snd_seq_device_new +EXPORT_SYMBOL sound/core/snd-timer 0x0084b731 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x098f10dd snd_timer_notify +EXPORT_SYMBOL sound/core/snd-timer 0x1ecb4172 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0x2a6455da snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x2fa877d2 snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x312b9625 snd_timer_instance_free +EXPORT_SYMBOL sound/core/snd-timer 0x628fec61 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x702a3bb8 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0x7be239e8 snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x7f8ac314 snd_timer_instance_new +EXPORT_SYMBOL sound/core/snd-timer 0x807a5885 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0xaef354e6 snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0xb09f371c snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0xb322ad2c snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0xc8118881 snd_timer_close +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xa3e7781f snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc0fec227 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x490e2d20 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x4f3db228 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x6c4a6467 snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x79e23a7d snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7a9ca1d2 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xcb263610 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xdfd1ebd2 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xe7ba1b78 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xe9f24cdf snd_opl3_new +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x09ee86be snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x0d6e547f snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x16ebea6c snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x226138b0 snd_vx_threaded_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x53de963e snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x801336f3 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xb2a5f5a0 snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xdfe50ce7 snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xe8d34989 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xffa094e8 snd_vx_suspend +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0db7bac4 iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0dc0af07 amdtp_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1ec0c140 avc_general_get_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x20254e45 amdtp_syt_intervals +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x27aac145 amdtp_stream_set_parameters +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2a397560 fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3a0d2857 cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3b14a752 fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4b4d805b fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4d5bf436 amdtp_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5209c654 avc_general_set_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x53ca18e8 amdtp_rate_table +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5482b414 avc_general_get_plug_info +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x56d3febb amdtp_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x57f3e25c amdtp_stream_add_pcm_hw_constraints +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x67527669 cmp_connection_reserve +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x675f885e fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x6f277bc8 cmp_connection_release +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x71d20838 amdtp_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7ee68833 cmp_connection_check_used +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x855dab3e cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x861a1a14 fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x936d953d amdtp_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x9e58eebc amdtp_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa3802006 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb31b3e20 cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe59356c7 cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xecfd1c60 cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf5d286a4 iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xf7f706be fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xfe00e982 snd_fw_transaction +EXPORT_SYMBOL sound/hda/snd-intel-dspcfg 0x41a05c36 intel_nhlt_has_endpoint_type +EXPORT_SYMBOL sound/hda/snd-intel-dspcfg 0x62a8a512 intel_nhlt_get_endpoint_blob +EXPORT_SYMBOL sound/hda/snd-intel-dspcfg 0x66fd6169 intel_nhlt_ssp_endpoint_mask +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x03963682 snd_ak4113_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x8140da9c snd_ak4113_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x109d8014 snd_ak4114_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x30005ba3 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x3303cef7 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x560f10ec snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x79a2bdb8 snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xc14adcf2 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xca5496ee snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xcdb63d9f snd_ak4114_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x10d3b6f8 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x72815f1e snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xeb4b7aca snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0xee5cdf15 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xc0651a16 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xc191000f snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x0397bd0b snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x8f7228ba snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x97673995 snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xc0c71c47 snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xd65ba08c snd_cs8427_init +EXPORT_SYMBOL sound/i2c/snd-cs8427 0xe8c40137 snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x0299806b snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0x251cceb6 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x4daee2ea snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xc0f65b94 snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xdfe3468e snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0xf62ef137 snd_i2c_probeaddr +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0489b759 snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x37787563 snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4481357d snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x57da7dde snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5a9f3903 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5dedf310 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6055265e snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6c972854 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x74869df0 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7b34552d snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x87011d24 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x88d32ffe snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8c0f4629 snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8e4791a7 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xad08161d snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd09873b5 snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xe51ed927 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x121441e1 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x150830c7 snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x22e5e5ff snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x524c2160 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x6fe14168 snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xab6aa5b6 snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xbde4388a snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xc5197151 snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0xdec78a38 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x30a3f79f snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x85af1b24 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x9825283c snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x12c8537b oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1d6fc50c oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1dc80806 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x23385388 oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2bd26f25 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5c7dea16 oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x68d24d9d oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x89e48509 oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x99241009 oxygen_update_dac_routing +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x9f1a3392 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa969c3e4 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xae4a5093 oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb61cf7f0 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xbca36674 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc17a2f4c oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd596fb5e oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd737a178 oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf4a2209a oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xfa100152 oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xfc50f540 oxygen_pci_pm +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x145654d6 snd_trident_write_voice_regs +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x16004e31 snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x43597418 snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x9e56c355 snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0xfe2374c4 snd_trident_start_voice +EXPORT_SYMBOL sound/soc/amd/acp_audio_dma 0xf2cc2cce acp_bt_uart_enable +EXPORT_SYMBOL sound/soc/amd/snd-acp-config 0x25b44fc1 snd_amd_acp_find_config +EXPORT_SYMBOL sound/soc/amd/snd-acp-config 0xea1883b6 snd_soc_acpi_amd_sof_machines +EXPORT_SYMBOL sound/soc/codecs/snd-soc-adau1372 0x29d5ca93 adau1372_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-lpass-wsa-macro 0xe3b4588e wsa_macro_set_spkr_mode +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x4d6dc021 pcm3060_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0xa014e13f pcm3060_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-rt715 0xed2acb24 hda_to_sdw +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x15cb8e8f tlv320aic23_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x9afe34c8 tlv320aic23_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x72fcd4b8 aic32x4_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0xaf350b05 aic32x4_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0xba502a1d aic32x4_regmap_config +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic3x 0x5089ef14 aic3x_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic3x 0xd2a88f31 aic3x_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x3a195ca9 wcd_mbhc_get_impedance +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x3e2c22bf wcd_mbhc_start +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x539cc4fa wcd_mbhc_init +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x789ebe56 wcd_mbhc_set_hph_type +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xa5758a49 wcd_mbhc_get_hph_type +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xb2f9f275 wcd_dt_parse_mbhc_data +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xd094df47 wcd_mbhc_deinit +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xe2beca26 wcd_mbhc_stop +EXPORT_SYMBOL sound/soc/mediatek/mt8192/snd-soc-mt8192-afe 0x5e3eb11c mt8192_afe_gpio_init +EXPORT_SYMBOL sound/soc/mediatek/mt8192/snd-soc-mt8192-afe 0x9f28a630 mt8192_afe_gpio_request +EXPORT_SYMBOL sound/soc/qcom/qdsp6/q6afe 0x5026a446 q6afe_vote_lpass_core_hw +EXPORT_SYMBOL sound/soc/qcom/qdsp6/q6afe 0x87c63b4d q6afe_unvote_lpass_core_hw +EXPORT_SYMBOL sound/soc/qcom/snd-soc-qcom-common 0x0bfc07b6 qcom_snd_parse_of +EXPORT_SYMBOL sound/soc/snd-soc-core 0x9a683c89 snd_soc_alloc_ac97_component +EXPORT_SYMBOL sound/soc/sof/imx/imx-common 0x28a4c459 imx8_dump +EXPORT_SYMBOL sound/soc/sof/imx/imx-common 0x6ba1a715 imx8_disable_clocks +EXPORT_SYMBOL sound/soc/sof/imx/imx-common 0xa243b22c imx8_enable_clocks +EXPORT_SYMBOL sound/soc/sof/imx/imx-common 0xf73d23a1 imx8_parse_clocks +EXPORT_SYMBOL sound/soc/sof/mediatek/mtk-adsp-common 0x3794ce17 mtk_adsp_dump +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x0665362d snd_sof_device_remove +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x08ef17a4 snd_sof_ipc_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x11a8f199 snd_sof_ipc_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x16b0615f sof_ipc_tx_message_no_pm +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1750e570 sof_io_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x19155855 snd_sof_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1c1744e8 snd_sof_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x1d8a67b4 snd_sof_run_firmware +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x22661a65 sof_compressed_ops +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x368c6727 sof_debug_check_flag +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x371b5279 snd_sof_load_topology +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3f55a8c3 snd_sof_runtime_suspend +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x3ff2802f snd_sof_dsp_panic +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x418a47ff sof_ipc_tx_message +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4382862f snd_sof_pci_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4bc7f95f snd_sof_dsp_only_d0i3_compatible_stream_active +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x4d07f3b8 snd_sof_prepare +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x51637f2c snd_sof_dsp_update_bits_forced +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x56921b9f sof_ipc_msg_data +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x57d26ecc sof_mailbox_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x58dae2d8 sof_widget_setup +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x5fe0e381 snd_sof_ipc_get_reply +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x68074f82 sof_dai_get_bclk +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6b60c12f snd_sof_dsp_update_bits64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6bab3e95 sof_stream_pcm_open +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6c1a7905 snd_sof_complete +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6c5197b0 sof_stream_pcm_close +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x6f2f0560 sof_set_stream_data_offset +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x84ee1c5c sof_machine_check +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x85d77ed8 snd_sof_runtime_resume +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x897157eb sof_machine_unregister +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x91b6c24a sof_pcm_dai_link_fixup +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x984f0d74 sof_widget_free +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x99683183 snd_sof_ipc_init +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9d47e214 sof_io_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9ed21aa1 snd_sof_device_probe +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9f6486cb sof_machine_register +EXPORT_SYMBOL sound/soc/sof/snd-sof 0x9f80a4b1 sof_set_fw_state +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa187f523 snd_sof_dsp_dbg_dump +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa3673615 snd_sof_handle_fw_exception +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xa5e0cf76 snd_sof_dsp_update_bits +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xaa48be29 snd_sof_dsp_update_bits64_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xae3ab03c snd_sof_device_probe_completed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xbf19a818 snd_sof_load_firmware_raw +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc115a815 snd_sof_dsp_update_bits_unlocked +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xc2798dab snd_sof_fw_unload +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd036b356 sof_print_oops_and_stack +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd0719f53 sof_dai_get_mclk +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd3f4a490 snd_sof_load_firmware_memcpy +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd537c6e7 sof_mailbox_read +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xd9655602 sof_io_read64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xe81c20d0 snd_sof_pcm_period_elapsed +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xed22e76b sof_block_write +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xedafd222 sof_io_write64 +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xefa354cf snd_sof_runtime_idle +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf271d62b snd_sof_device_shutdown +EXPORT_SYMBOL sound/soc/sof/snd-sof 0xf6abebd7 sof_block_read +EXPORT_SYMBOL sound/soc/sof/snd-sof-of 0x10ff7029 sof_of_probe +EXPORT_SYMBOL sound/soc/sof/snd-sof-of 0x3cd2c2f9 sof_of_shutdown +EXPORT_SYMBOL sound/soc/sof/snd-sof-of 0x9b1a59d7 sof_of_remove +EXPORT_SYMBOL sound/soc/sof/snd-sof-of 0xf1dc1504 sof_of_pm +EXPORT_SYMBOL sound/soc/sof/snd-sof-utils 0x1bbf67d0 snd_sof_create_page_table +EXPORT_SYMBOL sound/soundcore 0x211b6404 sound_class +EXPORT_SYMBOL sound/soundcore 0x3ec91fcd register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x8575c5c9 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xbc92b44f register_sound_special +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xe36fa1e5 register_sound_dsp +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x16ac4256 snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x53c9fc81 snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x5fb6fd7d snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x608f4b89 snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xa391d995 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0xe925e9ef snd_emux_register +EXPORT_SYMBOL sound/synth/snd-util-mem 0x0eda33fa snd_util_memhdr_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x2a48197f snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x6517719f __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x914f3491 snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9223e14b snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x9adc8c44 __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0xc59655e4 snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0xd28dc0da __snd_util_mem_alloc +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xb2af19e1 snd_usbmidi_resume +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xbed43a41 snd_usbmidi_suspend +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xf795baae __snd_usbmidi_create +EXPORT_SYMBOL vmlinux 0x000aba92 uart_resume_port +EXPORT_SYMBOL vmlinux 0x0012fc63 input_unregister_handler +EXPORT_SYMBOL vmlinux 0x00148653 vsnprintf +EXPORT_SYMBOL vmlinux 0x001fd5bc sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x00351def inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0x0039629d fd_install +EXPORT_SYMBOL vmlinux 0x003c48a5 dquot_scan_active +EXPORT_SYMBOL vmlinux 0x004b55d6 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x004eb40c key_task_permission +EXPORT_SYMBOL vmlinux 0x0065f407 dma_async_device_register +EXPORT_SYMBOL vmlinux 0x007c420c nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x00806fc5 max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x00928200 trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0x00970241 blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0x00ad0126 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x00b0ee33 __inet_hash +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00d7e722 vme_lm_count +EXPORT_SYMBOL vmlinux 0x00ec0648 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x00f7c9fb stop_tty +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01039369 dma_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x01156ae4 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x01156ba6 vme_dma_list_free +EXPORT_SYMBOL vmlinux 0x0117e8b7 __filemap_get_folio +EXPORT_SYMBOL vmlinux 0x011bab86 prepare_creds +EXPORT_SYMBOL vmlinux 0x0129c4f8 par_io_data_set +EXPORT_SYMBOL vmlinux 0x012de2ea xudma_rchanrt_read +EXPORT_SYMBOL vmlinux 0x013f26ae dma_fence_get_stub +EXPORT_SYMBOL vmlinux 0x0147812c kblockd_mod_delayed_work_on +EXPORT_SYMBOL vmlinux 0x014e86e4 rproc_report_crash +EXPORT_SYMBOL vmlinux 0x01505d85 imx_scu_call_rpc +EXPORT_SYMBOL vmlinux 0x015b4be1 pldmfw_op_pci_match_record +EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device +EXPORT_SYMBOL vmlinux 0x017de3d5 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0x018574a1 mb_cache_entry_delete +EXPORT_SYMBOL vmlinux 0x0188cd88 vme_alloc_consistent +EXPORT_SYMBOL vmlinux 0x01a5d49a current_in_userns +EXPORT_SYMBOL vmlinux 0x01aea818 key_type_keyring +EXPORT_SYMBOL vmlinux 0x01b6865c xa_get_mark +EXPORT_SYMBOL vmlinux 0x01bf55fc paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x01c165d4 fwnode_get_phy_id +EXPORT_SYMBOL vmlinux 0x01c54a22 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x01cd3858 ps2_init +EXPORT_SYMBOL vmlinux 0x02029dea bioset_init +EXPORT_SYMBOL vmlinux 0x0209f3a7 secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0x020a2b13 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x021660d7 tty_port_open +EXPORT_SYMBOL vmlinux 0x0224d3b1 sock_no_accept +EXPORT_SYMBOL vmlinux 0x02293ac3 dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0x0248efd3 kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0x0253f93a filemap_check_errors +EXPORT_SYMBOL vmlinux 0x0256bc30 devm_iounmap +EXPORT_SYMBOL vmlinux 0x0270ef8b sk_error_report +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x028175fb page_pool_put_page_bulk +EXPORT_SYMBOL vmlinux 0x028ae52d netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x0291567f ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x02a17bbe devm_devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x02ad08ed dump_emit +EXPORT_SYMBOL vmlinux 0x02b4cfc4 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x02b8ab42 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x02c065f8 ucc_set_qe_mux_mii_mng +EXPORT_SYMBOL vmlinux 0x02d43e35 kern_path +EXPORT_SYMBOL vmlinux 0x02d55139 tcf_register_action +EXPORT_SYMBOL vmlinux 0x02f9af59 pagecache_get_page +EXPORT_SYMBOL vmlinux 0x0300d9dc iter_file_splice_write +EXPORT_SYMBOL vmlinux 0x0306d954 __phy_read_mmd +EXPORT_SYMBOL vmlinux 0x03151b77 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x031a1e8f pnp_register_driver +EXPORT_SYMBOL vmlinux 0x03276a73 submit_bio_wait +EXPORT_SYMBOL vmlinux 0x0334795d icst307_s2div +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x03393f92 of_get_mac_address +EXPORT_SYMBOL vmlinux 0x03426922 __folio_alloc +EXPORT_SYMBOL vmlinux 0x03454edb from_kprojid +EXPORT_SYMBOL vmlinux 0x034704a2 devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0x0356601a devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0x0360d67f make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x0361cdfe tegra_ivc_read_get_next_frame +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x036d0f41 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x0375ac8a of_device_get_match_data +EXPORT_SYMBOL vmlinux 0x0379f55d fget_raw +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03815f35 ledtrig_disk_activity +EXPORT_SYMBOL vmlinux 0x03891fbb param_ops_charp +EXPORT_SYMBOL vmlinux 0x03951f03 poll_initwait +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x039d28e6 xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0x03a7f628 buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0x03ac8075 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x03af55ef phy_driver_register +EXPORT_SYMBOL vmlinux 0x03b37141 __dec_node_page_state +EXPORT_SYMBOL vmlinux 0x03bf0e5a acpi_walk_resource_buffer +EXPORT_SYMBOL vmlinux 0x03dfd3aa tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x0417ebae param_get_charp +EXPORT_SYMBOL vmlinux 0x042883b2 __SetPageMovable +EXPORT_SYMBOL vmlinux 0x042d60e2 posix_acl_chmod +EXPORT_SYMBOL vmlinux 0x043c3c33 __traceiter_module_get +EXPORT_SYMBOL vmlinux 0x044154c6 tc_skb_ext_tc +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x045df1f7 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x04673adb qman_ip_rev +EXPORT_SYMBOL vmlinux 0x0467cc3b d_drop +EXPORT_SYMBOL vmlinux 0x0474edef kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x0479aac1 seq_list_next_rcu +EXPORT_SYMBOL vmlinux 0x0484c6c4 acpi_enter_sleep_state_prep +EXPORT_SYMBOL vmlinux 0x04863e28 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x048f078d tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0x049248e1 deactivate_super +EXPORT_SYMBOL vmlinux 0x049829ae fman_reset_mac +EXPORT_SYMBOL vmlinux 0x049d1dff __inet_stream_connect +EXPORT_SYMBOL vmlinux 0x04ea5d10 ksize +EXPORT_SYMBOL vmlinux 0x050877b9 dmi_first_match +EXPORT_SYMBOL vmlinux 0x051b7b62 page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0x051d58e8 dma_fence_wait_any_timeout +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x0545f00a ip6_frag_init +EXPORT_SYMBOL vmlinux 0x054fed96 get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0x05515a02 blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0x05522c55 of_find_node_opts_by_path +EXPORT_SYMBOL vmlinux 0x055e77e8 jiffies_64 +EXPORT_SYMBOL vmlinux 0x056407b2 generic_file_fsync +EXPORT_SYMBOL vmlinux 0x059e1482 __traceiter_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x05fb1202 crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0x05fd3928 flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0x060ba97c gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0619fa13 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x0623d861 netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x0637a4e5 fman_port_bind +EXPORT_SYMBOL vmlinux 0x063820ff dma_map_page_attrs +EXPORT_SYMBOL vmlinux 0x063d597a tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x06422da5 tcp_set_rcvlowat +EXPORT_SYMBOL vmlinux 0x0649ab77 inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0x0654fcf0 xp_dma_map +EXPORT_SYMBOL vmlinux 0x065ac058 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x0668b595 _kstrtoul +EXPORT_SYMBOL vmlinux 0x06952577 mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0x06a36c3e dev_uc_init +EXPORT_SYMBOL vmlinux 0x06bd88b5 ucs2_strnlen +EXPORT_SYMBOL vmlinux 0x06c8e078 mdiobus_write_nested +EXPORT_SYMBOL vmlinux 0x06d11488 __bitmap_equal +EXPORT_SYMBOL vmlinux 0x06d32564 file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x06e1c38f blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0x06ef0027 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x06f13f7c sock_alloc +EXPORT_SYMBOL vmlinux 0x06fa753c nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x07098248 xz_dec_microlzma_alloc +EXPORT_SYMBOL vmlinux 0x0711edc8 xudma_dev_get_tisci_rm +EXPORT_SYMBOL vmlinux 0x071683fa nf_register_net_hooks +EXPORT_SYMBOL vmlinux 0x07179755 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x0728c59b iov_iter_kvec +EXPORT_SYMBOL vmlinux 0x0728fab5 skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0x072f901c vme_master_rmw +EXPORT_SYMBOL vmlinux 0x0745a981 xa_erase +EXPORT_SYMBOL vmlinux 0x0752a3c5 pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x076049b6 dev_get_mac_address +EXPORT_SYMBOL vmlinux 0x07719785 twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x0781ec97 logic_insl +EXPORT_SYMBOL vmlinux 0x0782396c set_user_nice +EXPORT_SYMBOL vmlinux 0x0794a5e6 input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0x07968095 fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0x079c833e __skb_pad +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07bcc48d input_register_device +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07ceeac9 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x07cff801 vga_client_register +EXPORT_SYMBOL vmlinux 0x07db17be qman_create_fq +EXPORT_SYMBOL vmlinux 0x07f57478 pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0x0800473f __cond_resched +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x08077672 simple_link +EXPORT_SYMBOL vmlinux 0x08162c74 free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x081bec2e mipi_dsi_detach +EXPORT_SYMBOL vmlinux 0x081dfede tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0x0823869f hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0x08249512 iwe_stream_add_point +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x08356f32 fman_sp_set_buf_pools_in_asc_order_of_buf_sizes +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x083ebce4 xen_free_ballooned_pages +EXPORT_SYMBOL vmlinux 0x084edd0f pm860x_set_bits +EXPORT_SYMBOL vmlinux 0x084fbb93 __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x084ff972 drop_super +EXPORT_SYMBOL vmlinux 0x08809b5a misc_deregister +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x088af814 __traceiter_spi_transfer_start +EXPORT_SYMBOL vmlinux 0x089c3e48 netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0x08be5636 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x08c3a529 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x08cdbdb2 tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0x08d36b15 __scm_destroy +EXPORT_SYMBOL vmlinux 0x08e39398 cmd_db_read_addr +EXPORT_SYMBOL vmlinux 0x08fdbf02 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x09082d74 generic_listxattr +EXPORT_SYMBOL vmlinux 0x0908b5cb dma_pool_create +EXPORT_SYMBOL vmlinux 0x090abf7e file_open_root +EXPORT_SYMBOL vmlinux 0x092e26bf acpi_remove_address_space_handler +EXPORT_SYMBOL vmlinux 0x092e9e0c xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x093069a0 fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0x093712e5 acpi_purge_cached_objects +EXPORT_SYMBOL vmlinux 0x093e2563 i2c_clients_command +EXPORT_SYMBOL vmlinux 0x0943be18 filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x094905f3 fput +EXPORT_SYMBOL vmlinux 0x0952f413 bioset_exit +EXPORT_SYMBOL vmlinux 0x09549244 csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0x0973c19c __scm_send +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x09772924 gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x097af021 neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x09873708 iterate_supers_type +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09964d34 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x0998cc3c hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0x0999bafe inode_get_bytes +EXPORT_SYMBOL vmlinux 0x09bb2206 pnp_activate_dev +EXPORT_SYMBOL vmlinux 0x09c55850 nf_log_set +EXPORT_SYMBOL vmlinux 0x09d0c8f4 kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09d9636c vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x09da0ba4 xa_set_mark +EXPORT_SYMBOL vmlinux 0x09e2c578 locks_delete_block +EXPORT_SYMBOL vmlinux 0x09ee6d21 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x09f9b261 xudma_rchan_put +EXPORT_SYMBOL vmlinux 0x0a012f73 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0a0ebc08 __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0x0a1e8769 utf8_casefold_hash +EXPORT_SYMBOL vmlinux 0x0a2323fd tcf_qevent_handle +EXPORT_SYMBOL vmlinux 0x0a3e4b8c skb_clone_sk +EXPORT_SYMBOL vmlinux 0x0a52ac5e ip6_xmit +EXPORT_SYMBOL vmlinux 0x0a6da17d of_n_size_cells +EXPORT_SYMBOL vmlinux 0x0a770832 register_memory_notifier +EXPORT_SYMBOL vmlinux 0x0a7c6a57 configfs_depend_item +EXPORT_SYMBOL vmlinux 0x0a84b15d zstd_init_cctx +EXPORT_SYMBOL vmlinux 0x0a86e93d xfrm_unregister_type_offload +EXPORT_SYMBOL vmlinux 0x0a9c639c blk_stack_limits +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0aac08ae tegra_dfll_runtime_suspend +EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x0acab81e mmc_gpio_set_cd_wake +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ad64b2b seq_read_iter +EXPORT_SYMBOL vmlinux 0x0ad77384 __mmap_lock_do_trace_start_locking +EXPORT_SYMBOL vmlinux 0x0adbcfad i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x0adf2715 netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0x0adf7e0a of_io_request_and_map +EXPORT_SYMBOL vmlinux 0x0aecd40b dev_addr_add +EXPORT_SYMBOL vmlinux 0x0aedd49c nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x0b00c927 of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0x0b040550 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b26b8c8 acpi_run_osc +EXPORT_SYMBOL vmlinux 0x0b290ada dma_fence_chain_walk +EXPORT_SYMBOL vmlinux 0x0b2bd2f9 page_symlink +EXPORT_SYMBOL vmlinux 0x0b33b9a2 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x0b3c29d2 scsi_target_resume +EXPORT_SYMBOL vmlinux 0x0b4eecb4 i2c_transfer_buffer_flags +EXPORT_SYMBOL vmlinux 0x0b709a85 nd_btt_arena_is_valid +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b7781fa blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0x0b93f873 backlight_device_get_by_name +EXPORT_SYMBOL vmlinux 0x0b97d93a seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0x0b9d18d2 watchdog_register_governor +EXPORT_SYMBOL vmlinux 0x0ba0b938 vm_brk +EXPORT_SYMBOL vmlinux 0x0bb60f25 vfs_getattr +EXPORT_SYMBOL vmlinux 0x0bbfa78c set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x0bc25799 ip_fraglist_init +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0be05f18 md_register_thread +EXPORT_SYMBOL vmlinux 0x0bf0e4a2 __SCK__tp_func_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x0bf2bca3 param_set_ulong +EXPORT_SYMBOL vmlinux 0x0bfc1d1a check_zeroed_user +EXPORT_SYMBOL vmlinux 0x0c043e50 sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0x0c0b25ac kobject_init +EXPORT_SYMBOL vmlinux 0x0c104d66 __module_put_and_kthread_exit +EXPORT_SYMBOL vmlinux 0x0c148ddf pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x0c187b44 set_blocksize +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c3690fc _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0x0c48d96c tty_name +EXPORT_SYMBOL vmlinux 0x0c575719 __cond_resched_rwlock_write +EXPORT_SYMBOL vmlinux 0x0c6bdc3f vme_master_read +EXPORT_SYMBOL vmlinux 0x0c7ec9cf __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0x0c89e1cf eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0x0c8d449c rproc_add_subdev +EXPORT_SYMBOL vmlinux 0x0c941d2e kmem_cache_size +EXPORT_SYMBOL vmlinux 0x0c9acfcb __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0x0c9fceaf generic_block_bmap +EXPORT_SYMBOL vmlinux 0x0cb11bc7 __SCK__tp_func_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x0cc4b4b6 crc_ccitt_false +EXPORT_SYMBOL vmlinux 0x0cc6bf2e dma_resv_init +EXPORT_SYMBOL vmlinux 0x0cd4f913 blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0x0cd5835b ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x0cdce87c rfkill_set_hw_state_reason +EXPORT_SYMBOL vmlinux 0x0cf0b1a1 cpu_hwcap_keys +EXPORT_SYMBOL vmlinux 0x0cf71fe1 md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0x0d0436d9 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x0d06c85e cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d0d4d8b dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0x0d1a0179 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x0d2ca20f ucc_fast_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0x0d333b64 zstd_end_stream +EXPORT_SYMBOL vmlinux 0x0d3f5c1a fman_get_max_frm +EXPORT_SYMBOL vmlinux 0x0d4f85ef netif_set_tso_max_segs +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d547c26 inet6_bind +EXPORT_SYMBOL vmlinux 0x0d60c3d2 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x0d623754 tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x0d713345 clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x0d82762a iov_iter_revert +EXPORT_SYMBOL vmlinux 0x0d939455 tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0x0d9819a5 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x0dd34697 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x0dfab756 flush_dcache_folio +EXPORT_SYMBOL vmlinux 0x0e139d8a tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e1fcd11 pci_pme_active +EXPORT_SYMBOL vmlinux 0x0e29631e tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0x0e3be8ca pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x0e3de920 init_pseudo +EXPORT_SYMBOL vmlinux 0x0e4262c6 __siphash_unaligned +EXPORT_SYMBOL vmlinux 0x0e52df80 kobject_get +EXPORT_SYMBOL vmlinux 0x0e60b4f1 xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0x0e6ba9db scsi_remove_host +EXPORT_SYMBOL vmlinux 0x0e6f001f dev_get_iflink +EXPORT_SYMBOL vmlinux 0x0e72715f zpool_register_driver +EXPORT_SYMBOL vmlinux 0x0e80d5f3 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x0e91c1c7 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x0ea3c74e tasklet_kill +EXPORT_SYMBOL vmlinux 0x0ea593f6 hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0x0eaeca1d tcp_check_req +EXPORT_SYMBOL vmlinux 0x0eb6eb87 add_taint +EXPORT_SYMBOL vmlinux 0x0ec5babe vme_dma_free +EXPORT_SYMBOL vmlinux 0x0ec6680a vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x0ec9bc74 sock_alloc_file +EXPORT_SYMBOL vmlinux 0x0eceb5dd neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x0ecf58e5 proc_create_single_data +EXPORT_SYMBOL vmlinux 0x0ed75218 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x0ee1c203 dec_node_page_state +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f1332b5 block_commit_write +EXPORT_SYMBOL vmlinux 0x0f1ad8e2 seq_list_start_rcu +EXPORT_SYMBOL vmlinux 0x0f21cfa4 __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0x0f35468c rproc_mem_entry_init +EXPORT_SYMBOL vmlinux 0x0f37ca89 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0x0f4d1771 sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0x0f51b328 blkdev_put +EXPORT_SYMBOL vmlinux 0x0f577ff2 freezing_slow_path +EXPORT_SYMBOL vmlinux 0x0f593df3 ptp_find_pin_unlocked +EXPORT_SYMBOL vmlinux 0x0f5c526b alloc_anon_inode +EXPORT_SYMBOL vmlinux 0x0f5fc0fa ptp_clock_event +EXPORT_SYMBOL vmlinux 0x0f630261 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x0f6cc19a input_set_poll_interval +EXPORT_SYMBOL vmlinux 0x0f714654 ps2_drain +EXPORT_SYMBOL vmlinux 0x0f735978 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x0f748d1d inode_to_bdi +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0f9ecc43 dma_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0x0fa6da77 unix_get_socket +EXPORT_SYMBOL vmlinux 0x0fab1ab0 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fc30afd ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x0fd56510 put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0x0fd73a53 dentry_path_raw +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0ff2b707 param_get_short +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x100155f2 set_page_dirty +EXPORT_SYMBOL vmlinux 0x100e5b66 dns_query +EXPORT_SYMBOL vmlinux 0x101ae401 vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0x1025009a cpm_muram_alloc_fixed +EXPORT_SYMBOL vmlinux 0x102936ec qe_clock_source +EXPORT_SYMBOL vmlinux 0x1035c7c2 __release_region +EXPORT_SYMBOL vmlinux 0x103fab28 get_cached_acl +EXPORT_SYMBOL vmlinux 0x104030ec pci_enable_msi +EXPORT_SYMBOL vmlinux 0x10420fb6 tegra_dfll_register +EXPORT_SYMBOL vmlinux 0x104cbcbe pci_get_device +EXPORT_SYMBOL vmlinux 0x104fb4c3 __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x1057a279 bsearch +EXPORT_SYMBOL vmlinux 0x105bdd8a kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x10652257 bio_kmalloc +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x1075d485 rproc_set_firmware +EXPORT_SYMBOL vmlinux 0x107be0b0 percpu_counter_sync +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x1084d901 sock_recvmsg +EXPORT_SYMBOL vmlinux 0x1085756b kernel_accept +EXPORT_SYMBOL vmlinux 0x1088a342 rproc_remove_subdev +EXPORT_SYMBOL vmlinux 0x10b0c25d xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0x10b19712 compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0x10b70c19 flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x10e6f74a free_contig_range +EXPORT_SYMBOL vmlinux 0x10fac25c ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x1114b6b1 locks_free_lock +EXPORT_SYMBOL vmlinux 0x11327ad2 devm_extcon_unregister_notifier +EXPORT_SYMBOL vmlinux 0x11467819 security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0x114e4b91 tcp_prot +EXPORT_SYMBOL vmlinux 0x115885a2 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x1163ec3d file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0x11674e9d input_close_device +EXPORT_SYMBOL vmlinux 0x116daa86 skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x119d6d25 tcf_action_update_hw_stats +EXPORT_SYMBOL vmlinux 0x11a9f841 set_anon_super_fc +EXPORT_SYMBOL vmlinux 0x11ab2609 discard_new_inode +EXPORT_SYMBOL vmlinux 0x11b5b4e3 softnet_data +EXPORT_SYMBOL vmlinux 0x11c95409 pmem_should_map_pages +EXPORT_SYMBOL vmlinux 0x11d189b1 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e25e49 devm_clk_get +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11ffdfee ucc_slow_stop_tx +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x120ff8e1 xudma_get_rflow_ring_offset +EXPORT_SYMBOL vmlinux 0x1221e0f4 fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0x123abd1b tty_check_change +EXPORT_SYMBOL vmlinux 0x124741d1 flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0x12489ce2 __ClearPageMovable +EXPORT_SYMBOL vmlinux 0x124bad4d kstrtobool +EXPORT_SYMBOL vmlinux 0x126961b4 pci_disable_msix +EXPORT_SYMBOL vmlinux 0x12a4e128 __arch_copy_from_user +EXPORT_SYMBOL vmlinux 0x12ad3963 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x12b8f13d page_pool_destroy +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +EXPORT_SYMBOL vmlinux 0x12d2d447 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x12d7eade read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x12db0cfa flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x12ddeade devm_extcon_unregister_notifier_all +EXPORT_SYMBOL vmlinux 0x12e0f91b alloc_fddidev +EXPORT_SYMBOL vmlinux 0x12e316a1 kill_fasync +EXPORT_SYMBOL vmlinux 0x12e71531 phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x12f997b4 jbd2_fc_get_buf +EXPORT_SYMBOL vmlinux 0x13057416 do_splice_direct +EXPORT_SYMBOL vmlinux 0x130afd75 acpi_get_sleep_type_data +EXPORT_SYMBOL vmlinux 0x13110126 request_resource +EXPORT_SYMBOL vmlinux 0x131a6146 xa_clear_mark +EXPORT_SYMBOL vmlinux 0x13243d4b wl1251_get_platform_data +EXPORT_SYMBOL vmlinux 0x133154f4 __skb_get_hash +EXPORT_SYMBOL vmlinux 0x1336529d __traceiter_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x1337c847 is_subdir +EXPORT_SYMBOL vmlinux 0x1346fee1 register_cdrom +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x138bdd96 cpumask_next +EXPORT_SYMBOL vmlinux 0x1390a636 nvdimm_check_and_set_ro +EXPORT_SYMBOL vmlinux 0x139d98e2 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x139f2189 __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x13a06c6d vc_cons +EXPORT_SYMBOL vmlinux 0x13b35697 of_xudma_dev_get +EXPORT_SYMBOL vmlinux 0x13cb5034 d_mark_dontcache +EXPORT_SYMBOL vmlinux 0x13ce4c7e inetdev_by_index +EXPORT_SYMBOL vmlinux 0x13cead77 __SCK__tp_func_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13d631cd unregister_netdev +EXPORT_SYMBOL vmlinux 0x13d928f5 __SCK__tp_func_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x13dbb346 mipi_dsi_dcs_set_column_address +EXPORT_SYMBOL vmlinux 0x13df2ef9 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x13dfcbd9 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x13e96734 clear_inode +EXPORT_SYMBOL vmlinux 0x13efffdd tcp_req_err +EXPORT_SYMBOL vmlinux 0x140c4b04 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x141271bf acpi_dev_found +EXPORT_SYMBOL vmlinux 0x1424fd12 xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0x142a121e tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x1432a58f pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0x1435c5ce __SCK__tp_func_kmalloc_node +EXPORT_SYMBOL vmlinux 0x1435e388 file_fdatawait_range +EXPORT_SYMBOL vmlinux 0x1441f590 ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0x144945e7 tegra_ivc_reset +EXPORT_SYMBOL vmlinux 0x144d92de alloc_fcdev +EXPORT_SYMBOL vmlinux 0x14541e71 md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x1459cd3e tegra_ivc_write_get_next_frame +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x14644cd4 remove_proc_subtree +EXPORT_SYMBOL vmlinux 0x146e5c93 d_path +EXPORT_SYMBOL vmlinux 0x14703d75 mmc_of_parse_voltage +EXPORT_SYMBOL vmlinux 0x1486ded2 dma_fence_allocate_private_stub +EXPORT_SYMBOL vmlinux 0x14947558 netdev_state_change +EXPORT_SYMBOL vmlinux 0x14a10fb9 filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0x14b89635 arm64_const_caps_ready +EXPORT_SYMBOL vmlinux 0x14c67e3e tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0x14e63c03 flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0x14ec690e __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x14f45fcc bman_free_pool +EXPORT_SYMBOL vmlinux 0x14f8fc11 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x150455a2 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x150a6100 lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0x1515722f mmc_retune_pause +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x15325983 rt_mutex_base_init +EXPORT_SYMBOL vmlinux 0x1543ae33 from_kuid +EXPORT_SYMBOL vmlinux 0x15458340 register_fib_notifier +EXPORT_SYMBOL vmlinux 0x15478ae0 of_device_is_big_endian +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x1555ee90 inet_sendpage +EXPORT_SYMBOL vmlinux 0x15618426 vme_dma_list_add +EXPORT_SYMBOL vmlinux 0x1569eb9d devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x15705f3a xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x15833db4 ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0x1593fb83 __put_page +EXPORT_SYMBOL vmlinux 0x159694ca pci_read_config_byte +EXPORT_SYMBOL vmlinux 0x15a8afd2 pci_dev_put +EXPORT_SYMBOL vmlinux 0x15ba50a6 jiffies +EXPORT_SYMBOL vmlinux 0x15bafe29 unregister_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial +EXPORT_SYMBOL vmlinux 0x15c85de3 mempool_init +EXPORT_SYMBOL vmlinux 0x15f90688 slhc_init +EXPORT_SYMBOL vmlinux 0x1627494d of_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x1628e1f3 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x162f923a inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0x162fae9c file_ns_capable +EXPORT_SYMBOL vmlinux 0x1632bc21 kvasprintf_const +EXPORT_SYMBOL vmlinux 0x163d2417 tegra_io_rail_power_off +EXPORT_SYMBOL vmlinux 0x1655b031 devm_memunmap +EXPORT_SYMBOL vmlinux 0x165ad395 trace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x165c3f2a netif_carrier_off +EXPORT_SYMBOL vmlinux 0x1660bcaa ilookup5 +EXPORT_SYMBOL vmlinux 0x16771438 pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x167aaab7 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x167c3aa3 ipv6_select_ident +EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump +EXPORT_SYMBOL vmlinux 0x168781fc mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0x1689c0de d_find_alias +EXPORT_SYMBOL vmlinux 0x169938c1 __sysfs_match_string +EXPORT_SYMBOL vmlinux 0x16b156ab generic_fill_statx_attr +EXPORT_SYMBOL vmlinux 0x16cdc340 acpi_get_table +EXPORT_SYMBOL vmlinux 0x16cfeec9 component_match_add_typed +EXPORT_SYMBOL vmlinux 0x16dee44d dma_fence_init +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x16e401cb phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x16e7e2cb cpu_all_bits +EXPORT_SYMBOL vmlinux 0x16edd01c msm_pinctrl_remove +EXPORT_SYMBOL vmlinux 0x16f28359 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x16fa9a31 tcf_qevent_dump +EXPORT_SYMBOL vmlinux 0x17001f17 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x170ddf79 acpi_install_notify_handler +EXPORT_SYMBOL vmlinux 0x171dfad8 qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0x1736c9d1 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x1748f161 get_user_pages +EXPORT_SYMBOL vmlinux 0x17766310 free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x17825d3f xudma_rchan_get +EXPORT_SYMBOL vmlinux 0x178c4894 qe_upload_firmware +EXPORT_SYMBOL vmlinux 0x179d4aa5 param_get_uint +EXPORT_SYMBOL vmlinux 0x17a59f8d __mod_node_page_state +EXPORT_SYMBOL vmlinux 0x17b9121c watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0x17d09e20 pci_enable_ptm +EXPORT_SYMBOL vmlinux 0x17ddab9f blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x17eb29f8 pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x17f60edf bdi_unregister +EXPORT_SYMBOL vmlinux 0x17f9e92d pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x180077ee secpath_set +EXPORT_SYMBOL vmlinux 0x18027149 inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0x1806c841 get_phy_device +EXPORT_SYMBOL vmlinux 0x180791dd pipe_lock +EXPORT_SYMBOL vmlinux 0x180a20f7 ppp_channel_index +EXPORT_SYMBOL vmlinux 0x180d0cf2 folio_wait_private_2_killable +EXPORT_SYMBOL vmlinux 0x1811a337 write_cache_pages +EXPORT_SYMBOL vmlinux 0x18273092 filemap_fault +EXPORT_SYMBOL vmlinux 0x1827aa5b sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0x18287466 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x183e2240 vfs_rename +EXPORT_SYMBOL vmlinux 0x184d7e07 security_binder_transfer_file +EXPORT_SYMBOL vmlinux 0x1850ccf9 input_set_keycode +EXPORT_SYMBOL vmlinux 0x18564894 generic_key_instantiate +EXPORT_SYMBOL vmlinux 0x186515b2 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x187884a8 cpm_muram_free +EXPORT_SYMBOL vmlinux 0x18814c84 dump_align +EXPORT_SYMBOL vmlinux 0x18888d00 downgrade_write +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x18afc153 pnp_register_card_driver +EXPORT_SYMBOL vmlinux 0x18b18ada __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x18b2de02 kthread_create_on_cpu +EXPORT_SYMBOL vmlinux 0x18b362d3 seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0x18b48e28 __memset_io +EXPORT_SYMBOL vmlinux 0x18bb5465 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x18cea1a9 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x18e1dfab neigh_ifdown +EXPORT_SYMBOL vmlinux 0x18e4105e xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x18ea8ab5 dev_uc_add +EXPORT_SYMBOL vmlinux 0x18ecf6ad dev_mc_add +EXPORT_SYMBOL vmlinux 0x18f47965 neigh_carrier_down +EXPORT_SYMBOL vmlinux 0x19106a22 ip_options_compile +EXPORT_SYMBOL vmlinux 0x192c9952 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x192d3558 unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x194fea92 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x1953c958 mempool_create +EXPORT_SYMBOL vmlinux 0x195d40b5 freeze_super +EXPORT_SYMBOL vmlinux 0x1963ff8a flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x196597b3 km_new_mapping +EXPORT_SYMBOL vmlinux 0x196ed6a7 flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0x1980a06c serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x1981f0dd cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x1983d811 __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x198a3e65 dm_io +EXPORT_SYMBOL vmlinux 0x198de5d4 touchscreen_report_pos +EXPORT_SYMBOL vmlinux 0x199b1416 of_phy_get_and_connect +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19b8068f scsi_register_interface +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19bf73ec alloc_mdio_bitbang +EXPORT_SYMBOL vmlinux 0x19d17b0b md_write_end +EXPORT_SYMBOL vmlinux 0x19efd53c devm_memremap +EXPORT_SYMBOL vmlinux 0x1a0177b2 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x1a0bae91 phy_do_ioctl_running +EXPORT_SYMBOL vmlinux 0x1a0d2bb7 __icmp_send +EXPORT_SYMBOL vmlinux 0x1a2ba654 inet_getname +EXPORT_SYMBOL vmlinux 0x1a359e94 of_find_property +EXPORT_SYMBOL vmlinux 0x1a45cb6c acpi_disabled +EXPORT_SYMBOL vmlinux 0x1a789b81 phy_start_aneg +EXPORT_SYMBOL vmlinux 0x1a78fc17 set_capacity +EXPORT_SYMBOL vmlinux 0x1a7c728c mdio_driver_unregister +EXPORT_SYMBOL vmlinux 0x1a89b334 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x1a91a5d3 is_nvdimm_bus_locked +EXPORT_SYMBOL vmlinux 0x1a96b74e vme_unregister_driver +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1a9b4e75 unlock_rename +EXPORT_SYMBOL vmlinux 0x1a9e22d2 kernel_param_lock +EXPORT_SYMBOL vmlinux 0x1aa9be3b tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x1ab31d6f __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn +EXPORT_SYMBOL vmlinux 0x1ac9d13f of_get_compatible_child +EXPORT_SYMBOL vmlinux 0x1ad227f3 finish_swait +EXPORT_SYMBOL vmlinux 0x1aee0172 sock_no_linger +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b5196fc xudma_tchan_put +EXPORT_SYMBOL vmlinux 0x1b563c39 alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0x1b5834f9 key_link +EXPORT_SYMBOL vmlinux 0x1b597b7a swake_up_all +EXPORT_SYMBOL vmlinux 0x1b5cc9d8 dma_fence_array_first +EXPORT_SYMBOL vmlinux 0x1b627dba scsi_dma_map +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b725b68 scsi_device_resume +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1b7ad954 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x1b908d85 _raw_write_lock_nested +EXPORT_SYMBOL vmlinux 0x1b90ec9f md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x1b94010d seq_hex_dump +EXPORT_SYMBOL vmlinux 0x1ba59527 __kmalloc_node +EXPORT_SYMBOL vmlinux 0x1bad45a0 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x1bb51249 tcp_have_smc +EXPORT_SYMBOL vmlinux 0x1bb67920 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x1bb86b9a xen_start_info +EXPORT_SYMBOL vmlinux 0x1bba7529 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x1bd59dbe vme_free_consistent +EXPORT_SYMBOL vmlinux 0x1bf40fc6 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x1c1c9126 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x1c2efd27 dquot_disable +EXPORT_SYMBOL vmlinux 0x1c3850c8 ptp_cancel_worker_sync +EXPORT_SYMBOL vmlinux 0x1c452af5 phy_connect_direct +EXPORT_SYMBOL vmlinux 0x1c58427f acpi_remove_notify_handler +EXPORT_SYMBOL vmlinux 0x1c5e3878 icst525_idx2s +EXPORT_SYMBOL vmlinux 0x1c65cc3a neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x1c69dade dev_remove_offload +EXPORT_SYMBOL vmlinux 0x1c74b1d7 sock_no_mmap +EXPORT_SYMBOL vmlinux 0x1cb11044 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x1cc11154 __SCK__tp_func_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x1ccefca5 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x1cd1357c request_partial_firmware_into_buf +EXPORT_SYMBOL vmlinux 0x1cd8438b pxm_to_node +EXPORT_SYMBOL vmlinux 0x1cdd39ba logic_outsl +EXPORT_SYMBOL vmlinux 0x1cf3b893 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x1cf5efa6 xudma_rflow_get_id +EXPORT_SYMBOL vmlinux 0x1d02157b __free_pages +EXPORT_SYMBOL vmlinux 0x1d07e365 memdup_user_nul +EXPORT_SYMBOL vmlinux 0x1d0cf868 nd_integrity_init +EXPORT_SYMBOL vmlinux 0x1d16ce00 dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0x1d1abdf0 acpi_get_physical_device_location +EXPORT_SYMBOL vmlinux 0x1d24c881 ___ratelimit +EXPORT_SYMBOL vmlinux 0x1d36caee pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x1d40b6f3 idr_for_each +EXPORT_SYMBOL vmlinux 0x1d554a1b bd_abort_claiming +EXPORT_SYMBOL vmlinux 0x1d5bdbf4 dquot_file_open +EXPORT_SYMBOL vmlinux 0x1d5cedae __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x1d754e58 fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0x1d9672bd fault_in_subpage_writeable +EXPORT_SYMBOL vmlinux 0x1dc3c535 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1dd95a76 clkdev_drop +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1de59c22 qcom_scm_ice_invalidate_key +EXPORT_SYMBOL vmlinux 0x1de67f9b qcom_scm_io_writel +EXPORT_SYMBOL vmlinux 0x1df51698 inode_nohighmem +EXPORT_SYMBOL vmlinux 0x1dfaa4dd efi +EXPORT_SYMBOL vmlinux 0x1dfb723b i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x1e0373fc imx_scu_irq_group_enable +EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x1e0cd7fe acpi_detach_data +EXPORT_SYMBOL vmlinux 0x1e1d217f __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x1e1e140e ns_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1e1efa32 blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0x1e215cd9 try_module_get +EXPORT_SYMBOL vmlinux 0x1e337761 netif_skb_features +EXPORT_SYMBOL vmlinux 0x1e3edc5b blk_mq_start_request +EXPORT_SYMBOL vmlinux 0x1e409d8c blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x1e49a96b sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x1e52d276 devm_ioremap +EXPORT_SYMBOL vmlinux 0x1e5986b5 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x1e6473fd netlink_broadcast +EXPORT_SYMBOL vmlinux 0x1e6adaa0 bitmap_print_bitmask_to_buf +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e6dc52b gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0x1e6e7a5f tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x1e6ec7f7 file_remove_privs +EXPORT_SYMBOL vmlinux 0x1e7bca6f vfs_unlink +EXPORT_SYMBOL vmlinux 0x1e94c1db of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ed36895 blackhole_netdev +EXPORT_SYMBOL vmlinux 0x1ed7eb60 __sg_free_table +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1ef41b7e qcom_scm_iommu_set_pt_format +EXPORT_SYMBOL vmlinux 0x1ef99f95 to_nd_btt +EXPORT_SYMBOL vmlinux 0x1f386c5d load_nls +EXPORT_SYMBOL vmlinux 0x1f557414 gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0x1f6e36ed simple_recursive_removal +EXPORT_SYMBOL vmlinux 0x1f7d49f5 neigh_parms_release +EXPORT_SYMBOL vmlinux 0x1fa4855f skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0x1fb91bab _dev_crit +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fdc8a9e __register_nls +EXPORT_SYMBOL vmlinux 0x1ffb4879 mmc_cqe_start_req +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x200b2041 in6addr_any +EXPORT_SYMBOL vmlinux 0x20463df4 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x204d6341 uart_update_timeout +EXPORT_SYMBOL vmlinux 0x205b8fc8 __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x206d0ba9 __nd_driver_register +EXPORT_SYMBOL vmlinux 0x206deb70 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x20858b7f d_splice_alias +EXPORT_SYMBOL vmlinux 0x20910c99 bpf_empty_prog_array +EXPORT_SYMBOL vmlinux 0x209fb2c4 t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0x20a0adeb dqget +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20a94978 msm_pinctrl_probe +EXPORT_SYMBOL vmlinux 0x20c6d625 sock_bindtoindex +EXPORT_SYMBOL vmlinux 0x20cbb30a __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x20d23144 datagram_poll +EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x20e5b8e1 __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0x20eadeb6 ip_compute_csum +EXPORT_SYMBOL vmlinux 0x21067111 release_sock +EXPORT_SYMBOL vmlinux 0x211f887f udp_prot +EXPORT_SYMBOL vmlinux 0x21295dbc seq_puts +EXPORT_SYMBOL vmlinux 0x213a738d memregion_alloc +EXPORT_SYMBOL vmlinux 0x213b60bf fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x213e4965 ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x214a9234 page_get_link +EXPORT_SYMBOL vmlinux 0x214fa649 mpage_writepages +EXPORT_SYMBOL vmlinux 0x2171a97a set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x21767142 of_root +EXPORT_SYMBOL vmlinux 0x217f5479 fib6_info_hw_flags_set +EXPORT_SYMBOL vmlinux 0x218e600b pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0x218f0bb0 inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0x219a80d3 dqput +EXPORT_SYMBOL vmlinux 0x21a17225 sock_create_kern +EXPORT_SYMBOL vmlinux 0x21bdb523 errseq_check_and_advance +EXPORT_SYMBOL vmlinux 0x21be37e1 hdmi_avi_infoframe_check +EXPORT_SYMBOL vmlinux 0x21bf973a simple_open +EXPORT_SYMBOL vmlinux 0x21c74bc3 ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0x21de1859 uart_match_port +EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x21ef374c try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x220b1367 input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0x220c7021 tegra_io_pad_power_disable +EXPORT_SYMBOL vmlinux 0x221d46b0 kmem_cache_alloc_lru +EXPORT_SYMBOL vmlinux 0x22251167 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x2234ca51 acpi_match_platform_list +EXPORT_SYMBOL vmlinux 0x224ce651 xudma_free_gp_rflow_range +EXPORT_SYMBOL vmlinux 0x226177b9 pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x226c9376 ip_defrag +EXPORT_SYMBOL vmlinux 0x22731cc9 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x228f7c69 tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0x22902402 dst_alloc +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22c6ae8b crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x22d4f81f param_get_ulong +EXPORT_SYMBOL vmlinux 0x22dc6f1f setattr_prepare +EXPORT_SYMBOL vmlinux 0x23084906 rproc_elf_sanity_check +EXPORT_SYMBOL vmlinux 0x2311d506 blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0x23252d01 make_kuid +EXPORT_SYMBOL vmlinux 0x232a85be xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x234809c4 phy_validate_pause +EXPORT_SYMBOL vmlinux 0x23559c51 qman_oos_fq +EXPORT_SYMBOL vmlinux 0x2364c85a tasklet_init +EXPORT_SYMBOL vmlinux 0x2377dd10 sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0x237a0b5c __traceiter_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x238b099f mipi_dsi_packet_format_is_short +EXPORT_SYMBOL vmlinux 0x2391f725 irq_stat +EXPORT_SYMBOL vmlinux 0x23a441bb pci_remove_bus +EXPORT_SYMBOL vmlinux 0x23a9cbe8 unregister_nls +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23cabbb1 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x23d54ac6 ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x23daa989 mipi_dsi_create_packet +EXPORT_SYMBOL vmlinux 0x23e39aab simple_write_begin +EXPORT_SYMBOL vmlinux 0x23e972af sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0x23f1d7a6 page_pool_ethtool_stats_get_count +EXPORT_SYMBOL vmlinux 0x23f4ddb8 config_item_put +EXPORT_SYMBOL vmlinux 0x23f837b9 blk_get_queue +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x243ce370 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x244a8045 bdi_alloc +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x245d63cf blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0x245e5f8a pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0x24637aea module_put +EXPORT_SYMBOL vmlinux 0x246586b4 devm_devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x24685514 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x24819f1c md_check_recovery +EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x248fc267 current_time +EXPORT_SYMBOL vmlinux 0x249d3ec7 vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0x249ee023 tegra_ahb_enable_smmu +EXPORT_SYMBOL vmlinux 0x24c29257 gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x24d5253d d_alloc_parallel +EXPORT_SYMBOL vmlinux 0x24dae1a7 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x24df9bac empty_aops +EXPORT_SYMBOL vmlinux 0x24e85313 scsi_partsize +EXPORT_SYMBOL vmlinux 0x24eccda4 mmc_run_bkops +EXPORT_SYMBOL vmlinux 0x25016a19 devm_arch_io_reserve_memtype_wc +EXPORT_SYMBOL vmlinux 0x2505bf18 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x252332f1 __SCK__tp_func_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x252438f2 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x253b52a9 inet6_ioctl +EXPORT_SYMBOL vmlinux 0x2558e814 tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0x2562b23c shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x256b166b start_tty +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x2589e8db kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x258a2c02 _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x25925dbb tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x259495ac param_ops_bool +EXPORT_SYMBOL vmlinux 0x25974000 wait_for_completion +EXPORT_SYMBOL vmlinux 0x25b62dd8 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x25c0d29a proc_set_user +EXPORT_SYMBOL vmlinux 0x25c45c40 fb_set_var +EXPORT_SYMBOL vmlinux 0x25cf1e63 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x25d3e393 neigh_lookup +EXPORT_SYMBOL vmlinux 0x25e58a09 hdmi_avi_infoframe_init +EXPORT_SYMBOL vmlinux 0x25e861a2 is_nd_dax +EXPORT_SYMBOL vmlinux 0x25e9d4bd resource_list_free +EXPORT_SYMBOL vmlinux 0x25fafa06 ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x2605af24 inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x2608fdd5 nd_device_notify +EXPORT_SYMBOL vmlinux 0x260a095a __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x260e52ee dynamic_preempt_schedule_notrace +EXPORT_SYMBOL vmlinux 0x260faff5 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x263579f0 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x263c3152 bcmp +EXPORT_SYMBOL vmlinux 0x263f0d1f qman_portal_set_iperiod +EXPORT_SYMBOL vmlinux 0x266f5a6c zap_page_range +EXPORT_SYMBOL vmlinux 0x267f8b95 qman_start_using_portal +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x26897b52 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x26a86459 migrate_page_states +EXPORT_SYMBOL vmlinux 0x26e298e0 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x26e61b7a dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0x26e6ca7d vc_resize +EXPORT_SYMBOL vmlinux 0x26ed871b gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x270cf88f dump_stack_lvl +EXPORT_SYMBOL vmlinux 0x271be78b release_pages +EXPORT_SYMBOL vmlinux 0x271cba95 acpi_bus_private_data_handler +EXPORT_SYMBOL vmlinux 0x272000ea flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0x272a8933 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x2733eaf7 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0x2745d94f generic_update_time +EXPORT_SYMBOL vmlinux 0x27479d14 param_free_charp +EXPORT_SYMBOL vmlinux 0x275560db kill_pid +EXPORT_SYMBOL vmlinux 0x275dfee4 ucc_slow_free +EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check +EXPORT_SYMBOL vmlinux 0x27756bc8 scsi_sanitize_inquiry_string +EXPORT_SYMBOL vmlinux 0x2778c3b7 lookup_one_len +EXPORT_SYMBOL vmlinux 0x27810361 acpi_os_wait_events_complete +EXPORT_SYMBOL vmlinux 0x2782b393 xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27a0f623 rproc_shutdown +EXPORT_SYMBOL vmlinux 0x27aa1a29 seq_pad +EXPORT_SYMBOL vmlinux 0x27b03124 genphy_read_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x27ba61e0 max8998_read_reg +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27bd5a47 trace_print_array_seq +EXPORT_SYMBOL vmlinux 0x27bfc3a0 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x27c3c728 qman_release_fqid +EXPORT_SYMBOL vmlinux 0x27cdca93 pci_add_resource +EXPORT_SYMBOL vmlinux 0x27e0dd0a qcom_scm_pas_init_image +EXPORT_SYMBOL vmlinux 0x2816d58b ip6_frag_next +EXPORT_SYMBOL vmlinux 0x2817d72c fwnode_phy_find_device +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x281930dd _dev_notice +EXPORT_SYMBOL vmlinux 0x2819d46c inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x282fe242 devm_of_clk_del_provider +EXPORT_SYMBOL vmlinux 0x286e7774 dev_open +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x289288f9 inet_addr_type_table +EXPORT_SYMBOL vmlinux 0x28aa49ed __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x28f94604 __ubsan_handle_builtin_unreachable +EXPORT_SYMBOL vmlinux 0x28f9a542 nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0x28fb231f __devm_request_region +EXPORT_SYMBOL vmlinux 0x29109576 vfs_llseek +EXPORT_SYMBOL vmlinux 0x291295b5 register_qdisc +EXPORT_SYMBOL vmlinux 0x29193d30 qdisc_put +EXPORT_SYMBOL vmlinux 0x2924ced6 twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x295a89c6 dump_page +EXPORT_SYMBOL vmlinux 0x295bf416 sock_sendmsg +EXPORT_SYMBOL vmlinux 0x29604158 napi_busy_loop +EXPORT_SYMBOL vmlinux 0x296cbe1c is_free_buddy_page +EXPORT_SYMBOL vmlinux 0x2973c77e __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0x29b1f3d6 pci_write_vpd +EXPORT_SYMBOL vmlinux 0x29b7364e folio_wait_bit +EXPORT_SYMBOL vmlinux 0x29bb8461 i2c_register_driver +EXPORT_SYMBOL vmlinux 0x29c2583d param_ops_hexint +EXPORT_SYMBOL vmlinux 0x29e1e204 hdmi_audio_infoframe_pack +EXPORT_SYMBOL vmlinux 0x29f98d2c __folio_start_writeback +EXPORT_SYMBOL vmlinux 0x29fdb8aa get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x2a181bd1 __f_setown +EXPORT_SYMBOL vmlinux 0x2a2fe274 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a397f24 pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x2a460286 unload_nls +EXPORT_SYMBOL vmlinux 0x2a49ac2b genphy_read_lpa +EXPORT_SYMBOL vmlinux 0x2a88a691 devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x2a8a0b96 page_frag_alloc_align +EXPORT_SYMBOL vmlinux 0x2a9127c4 devm_alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x2a928918 slhc_free +EXPORT_SYMBOL vmlinux 0x2a96439c max8998_bulk_read +EXPORT_SYMBOL vmlinux 0x2a9a3905 vme_master_get +EXPORT_SYMBOL vmlinux 0x2aa0843e mempool_resize +EXPORT_SYMBOL vmlinux 0x2aa21390 phy_set_sym_pause +EXPORT_SYMBOL vmlinux 0x2aa455e8 tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x2aabaf9d xudma_tchan_get +EXPORT_SYMBOL vmlinux 0x2aabcdc8 vmalloc_array +EXPORT_SYMBOL vmlinux 0x2aac3e4c follow_down_one +EXPORT_SYMBOL vmlinux 0x2ab2ee91 brcmstb_get_product_id +EXPORT_SYMBOL vmlinux 0x2ad508f5 pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0x2aec47b8 ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0x2b0aacae __bforget +EXPORT_SYMBOL vmlinux 0x2b0b9449 kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0x2b0bb87e from_kgid +EXPORT_SYMBOL vmlinux 0x2b118abe truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0x2b1abce3 fman_has_errata_a050385 +EXPORT_SYMBOL vmlinux 0x2b477f28 nd_pfn_probe +EXPORT_SYMBOL vmlinux 0x2b484cba vlan_for_each +EXPORT_SYMBOL vmlinux 0x2b4a73dd md_finish_reshape +EXPORT_SYMBOL vmlinux 0x2b593aa8 gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b7b7be3 con_is_visible +EXPORT_SYMBOL vmlinux 0x2b8b9767 km_state_expired +EXPORT_SYMBOL vmlinux 0x2b99cf99 __blk_alloc_disk +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2bac897c proc_create_data +EXPORT_SYMBOL vmlinux 0x2bb6099e dq_data_lock +EXPORT_SYMBOL vmlinux 0x2bc261aa regset_get +EXPORT_SYMBOL vmlinux 0x2bd5aa43 get_tree_nodev +EXPORT_SYMBOL vmlinux 0x2bd60ab9 acpi_reset +EXPORT_SYMBOL vmlinux 0x2bdb8340 from_kprojid_munged +EXPORT_SYMBOL vmlinux 0x2be62aae netdev_info +EXPORT_SYMBOL vmlinux 0x2bf3ac89 blk_rq_init +EXPORT_SYMBOL vmlinux 0x2bfbab10 __memmove +EXPORT_SYMBOL vmlinux 0x2bfcf921 update_region +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c267d18 genlmsg_put +EXPORT_SYMBOL vmlinux 0x2c2d5e8a wireless_send_event +EXPORT_SYMBOL vmlinux 0x2c2f9ee7 mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0x2c329e54 tegra_powergate_sequence_power_up +EXPORT_SYMBOL vmlinux 0x2c364f20 mii_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x2c541e7b radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0x2c6860e3 refresh_frequency_limits +EXPORT_SYMBOL vmlinux 0x2c71fbfb proc_dobool +EXPORT_SYMBOL vmlinux 0x2c7eb03a __skb_gso_segment +EXPORT_SYMBOL vmlinux 0x2c82c36a security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x2c8bff0b dup_iter +EXPORT_SYMBOL vmlinux 0x2c91e17c vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x2c9617d2 of_phy_register_fixed_link +EXPORT_SYMBOL vmlinux 0x2cb233b0 vme_irq_handler +EXPORT_SYMBOL vmlinux 0x2ccd059a dim_on_top +EXPORT_SYMBOL vmlinux 0x2cdf87a1 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d192c70 sg_zero_buffer +EXPORT_SYMBOL vmlinux 0x2d25b95d is_acpi_device_node +EXPORT_SYMBOL vmlinux 0x2d30596c from_kqid_munged +EXPORT_SYMBOL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL vmlinux 0x2d39b0a7 kstrdup +EXPORT_SYMBOL vmlinux 0x2d467eb7 sock_init_data_uid +EXPORT_SYMBOL vmlinux 0x2d4c773a hdmi_spd_infoframe_init +EXPORT_SYMBOL vmlinux 0x2d4daef5 find_font +EXPORT_SYMBOL vmlinux 0x2d55b324 inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x2d5c1616 remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0x2d875f51 netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0x2d912bca dmi_get_bios_year +EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2d99572f gro_cells_init +EXPORT_SYMBOL vmlinux 0x2d9afd7b pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0x2dabaa5c simple_nosetlease +EXPORT_SYMBOL vmlinux 0x2dcb407f eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0x2dce2f1c __irq_regs +EXPORT_SYMBOL vmlinux 0x2dd7d84b proc_mkdir +EXPORT_SYMBOL vmlinux 0x2de85acf udp_set_csum +EXPORT_SYMBOL vmlinux 0x2dfb0a26 netif_set_real_num_queues +EXPORT_SYMBOL vmlinux 0x2e0b1deb dma_fence_get_status +EXPORT_SYMBOL vmlinux 0x2e193a92 tegra_ivc_cleanup +EXPORT_SYMBOL vmlinux 0x2e19d5d6 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x2e1b76e0 flow_rule_alloc +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e20a3e0 mmc_gpio_set_cd_isr +EXPORT_SYMBOL vmlinux 0x2e2b40d2 strncat +EXPORT_SYMBOL vmlinux 0x2e2c4ddc logic_inw +EXPORT_SYMBOL vmlinux 0x2e397156 __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0x2e3bcce2 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x2e439142 drm_get_panel_orientation_quirk +EXPORT_SYMBOL vmlinux 0x2e5b27da xudma_alloc_gp_rflow_range +EXPORT_SYMBOL vmlinux 0x2e5c5cbe of_device_unregister +EXPORT_SYMBOL vmlinux 0x2e6974c9 tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0x2e8ec93d of_phy_is_fixed_link +EXPORT_SYMBOL vmlinux 0x2e9aa761 dma_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x2ea5b2e2 bio_chain +EXPORT_SYMBOL vmlinux 0x2ea9718e input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x2eb12f88 of_phy_deregister_fixed_link +EXPORT_SYMBOL vmlinux 0x2eb9e69c pci_free_irq +EXPORT_SYMBOL vmlinux 0x2ebcb943 genphy_config_eee_advert +EXPORT_SYMBOL vmlinux 0x2ec04a1e param_set_long +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2ec8a5a2 rproc_get_by_phandle +EXPORT_SYMBOL vmlinux 0x2edd4af0 vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0x2ee1ddf5 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x2ee4c2b1 hdmi_avi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x2ee83867 phy_start +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f05dad8 dev_pm_opp_register_notifier +EXPORT_SYMBOL vmlinux 0x2f1254d1 ucc_tdm_init +EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f333aab imx_scu_get_handle +EXPORT_SYMBOL vmlinux 0x2f384db3 acpi_is_video_device +EXPORT_SYMBOL vmlinux 0x2f52076b ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0x2f683e67 csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x2f6e27e4 netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0x2f7754a8 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2f92f3af dev_addr_del +EXPORT_SYMBOL vmlinux 0x2f938042 i2c_transfer +EXPORT_SYMBOL vmlinux 0x2fc505ec vm_node_stat +EXPORT_SYMBOL vmlinux 0x2fd6dc89 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x2fe1e3d2 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x2fe5b3b5 find_inode_nowait +EXPORT_SYMBOL vmlinux 0x2fe5b535 qcom_scm_assign_mem +EXPORT_SYMBOL vmlinux 0x2ff121f8 d_instantiate_anon +EXPORT_SYMBOL vmlinux 0x2ffd9fe0 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x3009e923 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x301da230 amba_release_regions +EXPORT_SYMBOL vmlinux 0x30214402 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30ac1e64 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30aef1ff __bread_gfp +EXPORT_SYMBOL vmlinux 0x30b25c6f acpi_dev_hid_uid_match +EXPORT_SYMBOL vmlinux 0x30bc8d18 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x30d138a6 vfs_iter_write +EXPORT_SYMBOL vmlinux 0x30d6d2a2 of_find_matching_node_and_match +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30ed017b pps_event +EXPORT_SYMBOL vmlinux 0x3101badf done_path_create +EXPORT_SYMBOL vmlinux 0x31197d16 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x3130ae25 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x31394cea tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0x313d0e71 eth_header_cache +EXPORT_SYMBOL vmlinux 0x3146b966 register_mii_timestamper +EXPORT_SYMBOL vmlinux 0x31503501 pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0x31541e2d of_translate_address +EXPORT_SYMBOL vmlinux 0x315b9057 vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0x31674b40 mipi_dsi_device_unregister +EXPORT_SYMBOL vmlinux 0x3182be20 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x318bf9ce kern_path_create +EXPORT_SYMBOL vmlinux 0x319d493d proc_dostring +EXPORT_SYMBOL vmlinux 0x31a4767f qcom_scm_hdcp_available +EXPORT_SYMBOL vmlinux 0x31ca37c7 iommu_get_msi_cookie +EXPORT_SYMBOL vmlinux 0x31e98c1f ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x31eac8d8 bpf_link_get_from_fd +EXPORT_SYMBOL vmlinux 0x31eef4ec fs_param_is_bool +EXPORT_SYMBOL vmlinux 0x3213f038 mutex_unlock +EXPORT_SYMBOL vmlinux 0x3221df67 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x32394d4b qe_issue_cmd +EXPORT_SYMBOL vmlinux 0x323e755d crypto_sha512_update +EXPORT_SYMBOL vmlinux 0x323f6949 mipi_dsi_dcs_exit_sleep_mode +EXPORT_SYMBOL vmlinux 0x3248224d sg_miter_skip +EXPORT_SYMBOL vmlinux 0x324bf4eb __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0x32532195 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x3259b3d3 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x326354a7 uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x32787823 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x327c84bf vme_lm_attach +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x329c15d4 devm_of_iomap +EXPORT_SYMBOL vmlinux 0x32b7d3cd insert_inode_locked +EXPORT_SYMBOL vmlinux 0x32b905e4 tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0x32c8edf9 __getblk_gfp +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32dc1fb4 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x32e6f1a0 acpi_video_backlight_string +EXPORT_SYMBOL vmlinux 0x32e73b5a skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0x32f11b8c inet_sendmsg +EXPORT_SYMBOL vmlinux 0x32ff4f89 security_sb_mnt_opts_compat +EXPORT_SYMBOL vmlinux 0x33037fd8 logic_outl +EXPORT_SYMBOL vmlinux 0x331d3418 param_get_int +EXPORT_SYMBOL vmlinux 0x33263e1f phy_ethtool_get_sset_count +EXPORT_SYMBOL vmlinux 0x3344a879 generic_file_read_iter +EXPORT_SYMBOL vmlinux 0x335d6728 tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0x33736a1d __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0x3385f6a1 mmc_sw_reset +EXPORT_SYMBOL vmlinux 0x33930616 md_done_sync +EXPORT_SYMBOL vmlinux 0x339eaf43 dev_get_flags +EXPORT_SYMBOL vmlinux 0x33b6e3fd bio_put +EXPORT_SYMBOL vmlinux 0x33c01521 tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0x33d8587e fs_param_is_enum +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33fc2a31 get_user_ifreq +EXPORT_SYMBOL vmlinux 0x33fcf44a __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x3402dc8b __write_overflow_field +EXPORT_SYMBOL vmlinux 0x3424daf8 __traceiter_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x3451e8e8 phy_reset_after_clk_enable +EXPORT_SYMBOL vmlinux 0x347df23e sock_queue_rcv_skb_reason +EXPORT_SYMBOL vmlinux 0x348d20f0 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a1f7e3 acpi_processor_get_psd +EXPORT_SYMBOL vmlinux 0x34a70427 skb_checksum +EXPORT_SYMBOL vmlinux 0x34b16334 __next_node_in +EXPORT_SYMBOL vmlinux 0x34c7cdbc lookup_bdev +EXPORT_SYMBOL vmlinux 0x34d39fa7 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x34db050b _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue +EXPORT_SYMBOL vmlinux 0x350045ce blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x3504c3bf tcp_ioctl +EXPORT_SYMBOL vmlinux 0x35098b70 mdiobus_read +EXPORT_SYMBOL vmlinux 0x350ea558 dma_fence_default_wait +EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x3537350b jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x3539f11b match_strlcpy +EXPORT_SYMBOL vmlinux 0x353a0f02 input_setup_polling +EXPORT_SYMBOL vmlinux 0x353e962a input_free_device +EXPORT_SYMBOL vmlinux 0x35405020 pnp_possible_config +EXPORT_SYMBOL vmlinux 0x354a2b9f acpi_bus_register_driver +EXPORT_SYMBOL vmlinux 0x354b89bc scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0x354c9175 cros_ec_cmd_xfer_status +EXPORT_SYMBOL vmlinux 0x355fd083 max8925_reg_read +EXPORT_SYMBOL vmlinux 0x356461c8 rtc_time64_to_tm +EXPORT_SYMBOL vmlinux 0x356767c1 sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0x358353bd neigh_destroy +EXPORT_SYMBOL vmlinux 0x358c03e1 phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0x358dd4d4 cdrom_release +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35aa3ea4 security_dentry_init_security +EXPORT_SYMBOL vmlinux 0x35b9c864 fman_get_bmi_max_fifo_size +EXPORT_SYMBOL vmlinux 0x35e20fe5 phy_resume +EXPORT_SYMBOL vmlinux 0x35eafaac __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x35fd9d07 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x35fe4e1b reuseport_stop_listen_sock +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x362e19b5 thermal_cdev_update +EXPORT_SYMBOL vmlinux 0x364850b1 down_write_killable +EXPORT_SYMBOL vmlinux 0x364c23ad mutex_is_locked +EXPORT_SYMBOL vmlinux 0x3655ce97 mdiobus_read_nested +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x3660305a pci_find_capability +EXPORT_SYMBOL vmlinux 0x3678d1ca netdev_bonding_info_change +EXPORT_SYMBOL vmlinux 0x36849a04 fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x369d6950 phy_get_internal_delay +EXPORT_SYMBOL vmlinux 0x36ae2683 ptp_find_pin +EXPORT_SYMBOL vmlinux 0x36afb750 configfs_unregister_group +EXPORT_SYMBOL vmlinux 0x36b6ebbf down_killable +EXPORT_SYMBOL vmlinux 0x36c12aea pci_scan_slot +EXPORT_SYMBOL vmlinux 0x36ceaa36 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x36e8087e __netif_schedule +EXPORT_SYMBOL vmlinux 0x37110088 remove_wait_queue +EXPORT_SYMBOL vmlinux 0x37187ee4 copy_page_from_iter_atomic +EXPORT_SYMBOL vmlinux 0x371e1953 __printk_cpu_sync_wait +EXPORT_SYMBOL vmlinux 0x37226bb7 vme_irq_free +EXPORT_SYMBOL vmlinux 0x37259a93 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x3739acdf dma_resv_replace_fences +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x374fea90 cdrom_open +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x376b8367 PageMovable +EXPORT_SYMBOL vmlinux 0x376c07a8 twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x377d8004 acpi_error +EXPORT_SYMBOL vmlinux 0x378af189 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x379c0c38 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x37b8b39e screen_info +EXPORT_SYMBOL vmlinux 0x37bd761e splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37df624a ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0x37f54cfe udp_seq_ops +EXPORT_SYMBOL vmlinux 0x37f99a66 qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x381ea0f1 fuse_mount_destroy +EXPORT_SYMBOL vmlinux 0x3854774b kstrtoll +EXPORT_SYMBOL vmlinux 0x3861025c jbd2_journal_put_journal_head +EXPORT_SYMBOL vmlinux 0x3862747f mdio_device_remove +EXPORT_SYMBOL vmlinux 0x38671de3 folio_alloc +EXPORT_SYMBOL vmlinux 0x386a4dcb pci_clear_master +EXPORT_SYMBOL vmlinux 0x386e9ffa blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x387c3889 netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0x388680ad __phy_resume +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x388aa3c9 neigh_proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x3891ffc8 ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0x389617b0 LZ4_decompress_fast_continue +EXPORT_SYMBOL vmlinux 0x389acf0c gpmc_configure +EXPORT_SYMBOL vmlinux 0x38a4d8e0 __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0x38a537ee blk_sync_queue +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38a9f7c5 in6addr_loopback +EXPORT_SYMBOL vmlinux 0x38b09af7 md_write_inc +EXPORT_SYMBOL vmlinux 0x38bf5dcd dst_release_immediate +EXPORT_SYMBOL vmlinux 0x38c2aaa0 d_add_ci +EXPORT_SYMBOL vmlinux 0x38ca062e skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x38cdde07 skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x38d24aca dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0x38e363ed clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0x38e46431 mempool_exit +EXPORT_SYMBOL vmlinux 0x38f48af7 put_user_ifreq +EXPORT_SYMBOL vmlinux 0x391c2e52 pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0x391df80a netstamp_needed_key +EXPORT_SYMBOL vmlinux 0x3928efe9 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x392b1fea wait_for_completion_io +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x394100d7 rio_query_mport +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x395f353d pci_enable_wake +EXPORT_SYMBOL vmlinux 0x39938b81 mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x399fd290 security_path_unlink +EXPORT_SYMBOL vmlinux 0x39ac8d71 mmc_start_request +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39b8d49c cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x39be4b8e qman_volatile_dequeue +EXPORT_SYMBOL vmlinux 0x39be79d0 register_md_personality +EXPORT_SYMBOL vmlinux 0x39d734de __vfs_setxattr +EXPORT_SYMBOL vmlinux 0x39d95ca4 zstd_reset_cstream +EXPORT_SYMBOL vmlinux 0x39e34b66 folio_migrate_copy +EXPORT_SYMBOL vmlinux 0x39e822e5 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x39f57fb0 inet_accept +EXPORT_SYMBOL vmlinux 0x39fc7ee7 dma_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x39ffc64d mark_page_accessed +EXPORT_SYMBOL vmlinux 0x3a13f54a sgl_alloc +EXPORT_SYMBOL vmlinux 0x3a2f6702 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x3a3c5faf __breadahead_gfp +EXPORT_SYMBOL vmlinux 0x3a479cd9 tcp_time_wait +EXPORT_SYMBOL vmlinux 0x3a48a29a ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized +EXPORT_SYMBOL vmlinux 0x3a6b4458 vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0x3a6e582b uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x3a79b6fb textsearch_register +EXPORT_SYMBOL vmlinux 0x3a8b1f8e nonseekable_open +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3ab88536 input_flush_device +EXPORT_SYMBOL vmlinux 0x3aca0190 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x3ad5cda3 lockref_get_not_zero +EXPORT_SYMBOL vmlinux 0x3ad7a5d5 acpi_evaluate_reference +EXPORT_SYMBOL vmlinux 0x3ad80ea1 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x3ada9e06 acpi_check_region +EXPORT_SYMBOL vmlinux 0x3adcfc39 finish_open +EXPORT_SYMBOL vmlinux 0x3ae34aeb zstd_init_dctx +EXPORT_SYMBOL vmlinux 0x3ae965fd get_unmapped_area +EXPORT_SYMBOL vmlinux 0x3aeaff4e imx_scu_enable_general_irq_channel +EXPORT_SYMBOL vmlinux 0x3aff3200 acpi_evaluate_object_typed +EXPORT_SYMBOL vmlinux 0x3b037a3e tcp_seq_next +EXPORT_SYMBOL vmlinux 0x3b0f23d2 xudma_is_pktdma +EXPORT_SYMBOL vmlinux 0x3b158136 __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x3b20fb95 dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0x3b321462 LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0x3b4cfed2 phy_ethtool_get_strings +EXPORT_SYMBOL vmlinux 0x3b58cd38 inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b685b9e netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x3b6c41ea kstrtouint +EXPORT_SYMBOL vmlinux 0x3b707ad5 imx_sc_rm_get_resource_owner +EXPORT_SYMBOL vmlinux 0x3b72643c drop_super_exclusive +EXPORT_SYMBOL vmlinux 0x3b8dc064 wake_up_process +EXPORT_SYMBOL vmlinux 0x3b9144c9 acpi_get_current_resources +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3c0ddc32 unix_detach_fds +EXPORT_SYMBOL vmlinux 0x3c0e1620 qcom_scm_pas_metadata_release +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c3215c4 qe_immr +EXPORT_SYMBOL vmlinux 0x3c38afc1 flow_rule_match_meta +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c569671 flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0x3c5f5b4e kill_litter_super +EXPORT_SYMBOL vmlinux 0x3c822aae jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x3c8dd606 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x3c8ee253 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x3cbb940b zstd_init_dstream +EXPORT_SYMBOL vmlinux 0x3cd9ed83 logic_insw +EXPORT_SYMBOL vmlinux 0x3ce44ee9 cros_ec_prepare_tx +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cfe700d mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0x3d02cd70 dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0x3d20fe0f __lock_buffer +EXPORT_SYMBOL vmlinux 0x3d210724 gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0x3d2ca239 tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x3d42e894 gro_cells_receive +EXPORT_SYMBOL vmlinux 0x3d45b3bf sock_init_data +EXPORT_SYMBOL vmlinux 0x3d4d3b43 unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x3d5e76b2 block_read_full_folio +EXPORT_SYMBOL vmlinux 0x3d5fb68e __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0x3d68f262 pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0x3d6b9cef tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x3d93c7c2 __arm_smccc_sve_check +EXPORT_SYMBOL vmlinux 0x3d95886b i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x3d9ee9f0 clear_page +EXPORT_SYMBOL vmlinux 0x3daac30f devm_clk_put +EXPORT_SYMBOL vmlinux 0x3dabf271 memcg_sockets_enabled_key +EXPORT_SYMBOL vmlinux 0x3dac779a bpf_sk_lookup_enabled +EXPORT_SYMBOL vmlinux 0x3dad9978 cancel_delayed_work +EXPORT_SYMBOL vmlinux 0x3dc057ef bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x3dc619d3 swake_up_locked +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dd3f054 xudma_rchan_get_id +EXPORT_SYMBOL vmlinux 0x3dd9b230 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x3ddc421b kernel_sendpage +EXPORT_SYMBOL vmlinux 0x3ddd8f2d bio_init +EXPORT_SYMBOL vmlinux 0x3df4e253 inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0x3dfb0d10 devm_of_find_backlight +EXPORT_SYMBOL vmlinux 0x3dfb86b9 resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e0ff251 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x3e18ec4c tcf_qevent_validate_change +EXPORT_SYMBOL vmlinux 0x3e3bad0a __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x3e3d7630 pci_find_bus +EXPORT_SYMBOL vmlinux 0x3e44d94f input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0x3e5bd1d1 netdev_offload_xstats_push_delta +EXPORT_SYMBOL vmlinux 0x3e647160 genphy_update_link +EXPORT_SYMBOL vmlinux 0x3e79fb00 arm_smccc_1_2_smc +EXPORT_SYMBOL vmlinux 0x3e8f9d1c pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x3e951b45 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x3e99d5e2 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x3eaf5643 skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0x3ee39ce3 dm_table_event +EXPORT_SYMBOL vmlinux 0x3eeb2322 __wake_up +EXPORT_SYMBOL vmlinux 0x3eed2b5b param_set_ushort +EXPORT_SYMBOL vmlinux 0x3eed946e ipmr_rule_default +EXPORT_SYMBOL vmlinux 0x3ef74498 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3f04eca2 inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0x3f0eabd2 xxh64_update +EXPORT_SYMBOL vmlinux 0x3f114dff pnp_unregister_card_driver +EXPORT_SYMBOL vmlinux 0x3f11f311 sock_create_lite +EXPORT_SYMBOL vmlinux 0x3f34644d zstd_dstream_workspace_bound +EXPORT_SYMBOL vmlinux 0x3f3b4d77 ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0x3f3cfe93 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x3f40a632 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f470794 hmm_range_fault +EXPORT_SYMBOL vmlinux 0x3f4bd846 gen_pool_first_fit_order_align +EXPORT_SYMBOL vmlinux 0x3f4fcfa6 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x3f52f7d6 configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0x3f545cad cpumask_any_and_distribute +EXPORT_SYMBOL vmlinux 0x3f6d34a6 vlan_vid_add +EXPORT_SYMBOL vmlinux 0x3f72fa4f sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x3f75dd80 phy_ethtool_ksettings_get +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3f992c91 default_qdisc_ops +EXPORT_SYMBOL vmlinux 0x3f99e8d2 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x3fa7f978 pnp_device_detach +EXPORT_SYMBOL vmlinux 0x3fb43f52 rproc_elf_get_boot_addr +EXPORT_SYMBOL vmlinux 0x3fbf3c89 vme_slave_set +EXPORT_SYMBOL vmlinux 0x3fce5309 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3fe2ccbe memweight +EXPORT_SYMBOL vmlinux 0x40071093 vme_irq_generate +EXPORT_SYMBOL vmlinux 0x40235c98 _raw_write_unlock +EXPORT_SYMBOL vmlinux 0x404bd54b cdev_device_add +EXPORT_SYMBOL vmlinux 0x40683591 mmc_retune_timer_stop +EXPORT_SYMBOL vmlinux 0x408dbb46 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x409c5b99 security_unix_may_send +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40b10a56 twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x40b49ef9 vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0x40b685fe devfreq_add_governor +EXPORT_SYMBOL vmlinux 0x40bad98e kobject_set_name +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40cb40ae bprm_change_interp +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d59096 unregister_restart_handler +EXPORT_SYMBOL vmlinux 0x40f76a86 __vcalloc +EXPORT_SYMBOL vmlinux 0x40fef9d2 dm_table_get_size +EXPORT_SYMBOL vmlinux 0x4101c7fc netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0x410ba98c bdev_end_io_acct +EXPORT_SYMBOL vmlinux 0x411662b3 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x41190cd9 mptcp_subflow_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x411c0f2b _dev_alert +EXPORT_SYMBOL vmlinux 0x411c61b5 mmc_wait_for_req_done +EXPORT_SYMBOL vmlinux 0x412f893c page_offline_begin +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x414cf6e3 pci_disable_ptm +EXPORT_SYMBOL vmlinux 0x414da5e5 qman_enqueue +EXPORT_SYMBOL vmlinux 0x4173cc63 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x41834054 tty_hangup +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41939cc9 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x41a219d2 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x41c60a70 prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0x41c8ee70 kern_sys_bpf +EXPORT_SYMBOL vmlinux 0x41e3adce flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0x41ed3709 get_random_bytes +EXPORT_SYMBOL vmlinux 0x41efdeaf radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x41f57813 add_to_page_cache_lru +EXPORT_SYMBOL vmlinux 0x420964e3 __nla_parse +EXPORT_SYMBOL vmlinux 0x420e581d inet_release +EXPORT_SYMBOL vmlinux 0x42113bae update_devfreq +EXPORT_SYMBOL vmlinux 0x4230a8d7 sg_nents_for_len +EXPORT_SYMBOL vmlinux 0x423ab4fe migrate_vma_setup +EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running +EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x42578e80 acpi_get_type +EXPORT_SYMBOL vmlinux 0x4270c39a napi_consume_skb +EXPORT_SYMBOL vmlinux 0x427f241b fman_unregister_intr +EXPORT_SYMBOL vmlinux 0x4281fece blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0x428e405e nf_log_packet +EXPORT_SYMBOL vmlinux 0x4297fd2e uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x429b9e50 bio_copy_data +EXPORT_SYMBOL vmlinux 0x42bed8d4 unix_gc_lock +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x42fcf863 max8925_reg_write +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x430756b5 dev_alloc_name +EXPORT_SYMBOL vmlinux 0x43102f0b config_item_get +EXPORT_SYMBOL vmlinux 0x431b860a phy_init_eee +EXPORT_SYMBOL vmlinux 0x431ec3a9 __nla_validate +EXPORT_SYMBOL vmlinux 0x433538a0 fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x4336fcca ucs2_as_utf8 +EXPORT_SYMBOL vmlinux 0x433cabfb acpi_decode_pld_buffer +EXPORT_SYMBOL vmlinux 0x434ff31b __i2c_transfer +EXPORT_SYMBOL vmlinux 0x43501252 udp6_csum_init +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x43658484 open_with_fake_path +EXPORT_SYMBOL vmlinux 0x4370b71a generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x438c4597 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x439002f5 netif_inherit_tso_max +EXPORT_SYMBOL vmlinux 0x43978e84 jbd2_fc_end_commit_fallback +EXPORT_SYMBOL vmlinux 0x43add899 nf_log_register +EXPORT_SYMBOL vmlinux 0x43b0c9c3 preempt_schedule +EXPORT_SYMBOL vmlinux 0x43d22fb9 groups_alloc +EXPORT_SYMBOL vmlinux 0x43e0bc0f neigh_table_init +EXPORT_SYMBOL vmlinux 0x43f9ebc8 slhc_remember +EXPORT_SYMBOL vmlinux 0x43fe0ed1 vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0x4403bbd0 imx_sc_misc_set_control +EXPORT_SYMBOL vmlinux 0x4408afc8 dst_release +EXPORT_SYMBOL vmlinux 0x4418fabc xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x441dc80e nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x442f5ea8 mmput_async +EXPORT_SYMBOL vmlinux 0x4432e24f backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x4442e6ee jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x4462d35e cpufreq_get_hw_max_freq +EXPORT_SYMBOL vmlinux 0x4467501a of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x4475a201 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x44810981 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x449ad0a7 memcmp +EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x44cd894f vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44f4af2f con_copy_unimap +EXPORT_SYMBOL vmlinux 0x44f9d997 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x44fbd058 netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0x45006cee default_red +EXPORT_SYMBOL vmlinux 0x4503d331 __netif_napi_del +EXPORT_SYMBOL vmlinux 0x45081703 ec_get_handle +EXPORT_SYMBOL vmlinux 0x450aae21 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x450b8d79 netdev_warn +EXPORT_SYMBOL vmlinux 0x450c205d i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x450d9a35 cmd_db_read_slave_id +EXPORT_SYMBOL vmlinux 0x4513825f dma_resv_add_fence +EXPORT_SYMBOL vmlinux 0x4520ba90 always_delete_dentry +EXPORT_SYMBOL vmlinux 0x452413a1 qman_alloc_pool_range +EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x452eb769 input_open_device +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x454aea4b dev_uc_flush +EXPORT_SYMBOL vmlinux 0x45535485 xxh32_update +EXPORT_SYMBOL vmlinux 0x455635cd f_setown +EXPORT_SYMBOL vmlinux 0x45646428 kill_anon_super +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x457ae7ea do_clone_file_range +EXPORT_SYMBOL vmlinux 0x459b8f05 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x45a5fc87 mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0x45ae461b security_sctp_assoc_established +EXPORT_SYMBOL vmlinux 0x45db945d phy_attached_print +EXPORT_SYMBOL vmlinux 0x45dcb756 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x45f54a79 iput +EXPORT_SYMBOL vmlinux 0x45fbd4aa phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0x460220b6 nvdimm_bus_lock +EXPORT_SYMBOL vmlinux 0x460613cc inc_node_page_state +EXPORT_SYMBOL vmlinux 0x460f4a34 flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x46163162 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x4619756e reuseport_alloc +EXPORT_SYMBOL vmlinux 0x461d16ca sg_nents +EXPORT_SYMBOL vmlinux 0x46370c7e inet_csk_accept +EXPORT_SYMBOL vmlinux 0x46451cee zstd_get_frame_header +EXPORT_SYMBOL vmlinux 0x4651fc23 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x465e24ff ucs2_utf8size +EXPORT_SYMBOL vmlinux 0x46696a13 filemap_range_has_page +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x4675d2d5 tcf_idr_create +EXPORT_SYMBOL vmlinux 0x467df16d netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0x468eeffa __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x46974033 phy_ethtool_get_wol +EXPORT_SYMBOL vmlinux 0x4698fe8a bman_release +EXPORT_SYMBOL vmlinux 0x469a6ec7 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x46b4989d gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x46b970e6 ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0x46c47fb6 __node_distance +EXPORT_SYMBOL vmlinux 0x46e2b244 scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0x46f8760b input_grab_device +EXPORT_SYMBOL vmlinux 0x46ff7d12 qcom_scm_iommu_secure_ptbl_size +EXPORT_SYMBOL vmlinux 0x46ffd8f7 pnp_unregister_driver +EXPORT_SYMBOL vmlinux 0x470343dd register_key_type +EXPORT_SYMBOL vmlinux 0x470612dc fman_port_get_qman_channel_id +EXPORT_SYMBOL vmlinux 0x47065c73 cpm_muram_offset +EXPORT_SYMBOL vmlinux 0x47084adc sk_dst_check +EXPORT_SYMBOL vmlinux 0x4715a909 acpi_load_table +EXPORT_SYMBOL vmlinux 0x4715d4b7 pmem_sector_size +EXPORT_SYMBOL vmlinux 0x471dd8db skb_checksum_help +EXPORT_SYMBOL vmlinux 0x47381f53 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x4756188d qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x475d7427 fman_get_rx_extra_headroom +EXPORT_SYMBOL vmlinux 0x475e9a86 pci_request_regions +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x4774f68a tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x479137ca imx_scu_irq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x4795097b from_kuid_munged +EXPORT_SYMBOL vmlinux 0x47960bc4 proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x47996e10 sock_setsockopt +EXPORT_SYMBOL vmlinux 0x47c20f8a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47c99070 dma_fence_array_create +EXPORT_SYMBOL vmlinux 0x47ca7cf0 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x47cfd825 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0x47d06d72 reuseport_add_sock +EXPORT_SYMBOL vmlinux 0x47d8d301 __cond_resched_rwlock_read +EXPORT_SYMBOL vmlinux 0x47dddac6 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x48112d76 _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0x481814c4 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x48193639 acpi_lid_open +EXPORT_SYMBOL vmlinux 0x481d4677 mdiobb_read +EXPORT_SYMBOL vmlinux 0x4829a47e memcpy +EXPORT_SYMBOL vmlinux 0x4829cf6b fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0x4837bb10 logic_outsb +EXPORT_SYMBOL vmlinux 0x4841bdee strnchr +EXPORT_SYMBOL vmlinux 0x4848cfb1 phy_mipi_dphy_get_default_config +EXPORT_SYMBOL vmlinux 0x484f6edf ktime_get_coarse_real_ts64 +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486075c8 gen_pool_dma_alloc +EXPORT_SYMBOL vmlinux 0x4893957c scsi_remove_target +EXPORT_SYMBOL vmlinux 0x4893f6b1 ihold +EXPORT_SYMBOL vmlinux 0x48958279 fman_port_get_device +EXPORT_SYMBOL vmlinux 0x48981ca2 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x489eda10 memset32 +EXPORT_SYMBOL vmlinux 0x489f6e0b rdma_dim +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48b1110a bdi_register +EXPORT_SYMBOL vmlinux 0x48b2ea8f udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x48b99a13 vme_lm_free +EXPORT_SYMBOL vmlinux 0x48bedf65 first_ec +EXPORT_SYMBOL vmlinux 0x48c093fb _atomic_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x48cb43ce path_has_submounts +EXPORT_SYMBOL vmlinux 0x48ceda27 truncate_pagecache +EXPORT_SYMBOL vmlinux 0x48cedfd4 kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0x48cfb8ff phy_support_sym_pause +EXPORT_SYMBOL vmlinux 0x48d27375 __bitmap_intersects +EXPORT_SYMBOL vmlinux 0x48f6cbd5 import_iovec +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x4915617f pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0x4922e9f8 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x492b104f iov_iter_zero +EXPORT_SYMBOL vmlinux 0x4939270f tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x494d9032 of_find_mipi_dsi_host_by_node +EXPORT_SYMBOL vmlinux 0x494dc0d3 set_bh_page +EXPORT_SYMBOL vmlinux 0x495231ea mul_u64_u64_div_u64 +EXPORT_SYMBOL vmlinux 0x4967e79f radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0x4984c548 mdio_device_free +EXPORT_SYMBOL vmlinux 0x498de957 add_to_pipe +EXPORT_SYMBOL vmlinux 0x499f0ecf nd_sb_checksum +EXPORT_SYMBOL vmlinux 0x49b163b8 acpi_bus_scan +EXPORT_SYMBOL vmlinux 0x49e0d49c dma_sync_wait +EXPORT_SYMBOL vmlinux 0x49e872ba rproc_vq_interrupt +EXPORT_SYMBOL vmlinux 0x49f0bb2d __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0x4a145c37 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x4a176504 mdio_device_create +EXPORT_SYMBOL vmlinux 0x4a23a833 key_put +EXPORT_SYMBOL vmlinux 0x4a24220e page_pool_put_defragged_page +EXPORT_SYMBOL vmlinux 0x4a3ad70e wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x4a3c3097 __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0x4a520fa1 blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0x4a7a1d71 of_find_backlight_by_node +EXPORT_SYMBOL vmlinux 0x4a8d3596 netif_device_detach +EXPORT_SYMBOL vmlinux 0x4a93576a ucc_fast_free +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4aa02dbd vif_device_init +EXPORT_SYMBOL vmlinux 0x4aad1ab2 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x4abe9dbb dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x4ac19e10 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x4ac359f0 read_cache_page +EXPORT_SYMBOL vmlinux 0x4ac7d2b2 seg6_push_hmac +EXPORT_SYMBOL vmlinux 0x4ad9d433 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x4aea463f crc32_le_shift +EXPORT_SYMBOL vmlinux 0x4af303ef device_match_acpi_handle +EXPORT_SYMBOL vmlinux 0x4af6ddf0 kstrtou16 +EXPORT_SYMBOL vmlinux 0x4af8ffb0 phy_find_first +EXPORT_SYMBOL vmlinux 0x4afb2238 add_wait_queue +EXPORT_SYMBOL vmlinux 0x4afbf274 fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x4b03a383 tcp_inbound_md5_hash +EXPORT_SYMBOL vmlinux 0x4b0a3f52 gic_nonsecure_priorities +EXPORT_SYMBOL vmlinux 0x4b4475a8 ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0x4b531bcd pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x4b54a08e __inc_node_page_state +EXPORT_SYMBOL vmlinux 0x4b58133c kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0x4b5d2054 eth_get_headlen +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b650f3c dev_load +EXPORT_SYMBOL vmlinux 0x4b696d47 pci_read_vpd +EXPORT_SYMBOL vmlinux 0x4b6df007 acpi_evaluate_reg +EXPORT_SYMBOL vmlinux 0x4b750f53 _raw_spin_unlock_irq +EXPORT_SYMBOL vmlinux 0x4b7f917c vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x4b912ac1 vfs_fsync +EXPORT_SYMBOL vmlinux 0x4b93f79b vme_new_dma_list +EXPORT_SYMBOL vmlinux 0x4b9cdefc sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x4bac84ee generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x4bb0bf27 tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0x4bcc2662 mempool_init_node +EXPORT_SYMBOL vmlinux 0x4bd1010b phy_detach +EXPORT_SYMBOL vmlinux 0x4bd9ed28 param_get_hexint +EXPORT_SYMBOL vmlinux 0x4bdf400b jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0x4be9d86f km_report +EXPORT_SYMBOL vmlinux 0x4beec1c6 devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0x4bef1c67 empty_name +EXPORT_SYMBOL vmlinux 0x4bf1e209 dev_disable_lro +EXPORT_SYMBOL vmlinux 0x4bf3ce6f qman_release_cgrid +EXPORT_SYMBOL vmlinux 0x4bf6b87e vm_mmap +EXPORT_SYMBOL vmlinux 0x4bf739aa kmem_cache_create +EXPORT_SYMBOL vmlinux 0x4bfb6bd5 xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0x4c07a7e0 acpi_processor_unregister_performance +EXPORT_SYMBOL vmlinux 0x4c13ca13 netdev_alert +EXPORT_SYMBOL vmlinux 0x4c3613ed register_console +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c655a7b __invalidate_device +EXPORT_SYMBOL vmlinux 0x4cb0ebf4 xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0x4cb97b24 rt_dst_alloc +EXPORT_SYMBOL vmlinux 0x4cba441d iwe_stream_add_event +EXPORT_SYMBOL vmlinux 0x4cc284f3 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x4cd2f35f inet_listen +EXPORT_SYMBOL vmlinux 0x4cd8dff9 __udp_disconnect +EXPORT_SYMBOL vmlinux 0x4cec49d8 udp_seq_next +EXPORT_SYMBOL vmlinux 0x4cf2899e iov_iter_discard +EXPORT_SYMBOL vmlinux 0x4cf4036e d_set_d_op +EXPORT_SYMBOL vmlinux 0x4d06e9a6 ip_route_input_noref +EXPORT_SYMBOL vmlinux 0x4d0d163d copy_page +EXPORT_SYMBOL vmlinux 0x4d20cebc __bio_advance +EXPORT_SYMBOL vmlinux 0x4d2c7133 acpi_info +EXPORT_SYMBOL vmlinux 0x4d36a8c6 _copy_from_iter +EXPORT_SYMBOL vmlinux 0x4d38ff8b sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0x4d39549e padata_free +EXPORT_SYMBOL vmlinux 0x4d4f8c65 flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0x4d616ec1 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x4d65cbd5 csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x4d6cba7f inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x4d75668a ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0x4d7a4923 genphy_write_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x4d924f20 memremap +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4da596e6 qman_retire_fq +EXPORT_SYMBOL vmlinux 0x4db36bb1 generic_file_open +EXPORT_SYMBOL vmlinux 0x4dca08ee sync_file_get_fence +EXPORT_SYMBOL vmlinux 0x4dd27347 netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0x4de995ec gen_pool_dma_alloc_algo +EXPORT_SYMBOL vmlinux 0x4df02057 crc32_be +EXPORT_SYMBOL vmlinux 0x4df2ea84 gen_estimator_read +EXPORT_SYMBOL vmlinux 0x4dfa8d4b mutex_lock +EXPORT_SYMBOL vmlinux 0x4e20bcf8 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x4e2b5734 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x4e2c7325 skb_put +EXPORT_SYMBOL vmlinux 0x4e2e74c1 qcom_scm_io_readl +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e36cdc4 __ubsan_handle_divrem_overflow +EXPORT_SYMBOL vmlinux 0x4e376a73 netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0x4e3beef6 phy_config_aneg +EXPORT_SYMBOL vmlinux 0x4e46a646 pci_release_resource +EXPORT_SYMBOL vmlinux 0x4e4f0f16 dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x4e547048 __kmalloc_node_track_caller +EXPORT_SYMBOL vmlinux 0x4e5be8b6 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6e4b41 radix_tree_delete +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e6f6b17 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x4e764c9b find_vma +EXPORT_SYMBOL vmlinux 0x4e7a9df2 neigh_update +EXPORT_SYMBOL vmlinux 0x4ea25709 dql_reset +EXPORT_SYMBOL vmlinux 0x4eabc09d fman_set_mac_active_pause +EXPORT_SYMBOL vmlinux 0x4eada8f7 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x4ec54e78 bitmap_to_arr32 +EXPORT_SYMBOL vmlinux 0x4ece7411 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x4ed5cd9c ip_local_deliver +EXPORT_SYMBOL vmlinux 0x4ee74f32 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x4f08434b sock_set_mark +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f20d80b zstd_min_clevel +EXPORT_SYMBOL vmlinux 0x4f2250ba rtc_tm_to_time64 +EXPORT_SYMBOL vmlinux 0x4f34895d config_group_init_type_name +EXPORT_SYMBOL vmlinux 0x4f43a7a6 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x4f47261d mipi_dsi_generic_write +EXPORT_SYMBOL vmlinux 0x4f49ed84 dev_pm_opp_unregister_notifier +EXPORT_SYMBOL vmlinux 0x4f55166f acpi_set_current_resources +EXPORT_SYMBOL vmlinux 0x4f658480 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x4f6fe762 filp_close +EXPORT_SYMBOL vmlinux 0x4f709989 security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0x4f70f8ec km_query +EXPORT_SYMBOL vmlinux 0x4f83845f to_nd_dax +EXPORT_SYMBOL vmlinux 0x4f89c9de gpmc_cs_free +EXPORT_SYMBOL vmlinux 0x4f8c1dc2 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x4fb2b06a qdisc_hash_add +EXPORT_SYMBOL vmlinux 0x4fbf75d9 path_is_mountpoint +EXPORT_SYMBOL vmlinux 0x4fcb115f genphy_read_status_fixed +EXPORT_SYMBOL vmlinux 0x4fd36174 xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0x4fddfe10 pci_choose_state +EXPORT_SYMBOL vmlinux 0x4ff067bc key_invalidate +EXPORT_SYMBOL vmlinux 0x4ffb59bf __SCK__tp_func_kfree +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x500fc220 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x501c6c0e unix_destruct_scm +EXPORT_SYMBOL vmlinux 0x5021bd81 _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x5027bde2 acpi_acquire_mutex +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +EXPORT_SYMBOL vmlinux 0x5075decb vfs_setpos +EXPORT_SYMBOL vmlinux 0x50890961 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x5089f45f ip_send_check +EXPORT_SYMBOL vmlinux 0x5092e84e __read_overflow2_field +EXPORT_SYMBOL vmlinux 0x50944630 seq_list_start_head_rcu +EXPORT_SYMBOL vmlinux 0x509b64ea acpi_has_method +EXPORT_SYMBOL vmlinux 0x50a4698c fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0x50b73ce2 rfkill_find_type +EXPORT_SYMBOL vmlinux 0x50b80992 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x50ba4152 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50c425b9 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x50cf7585 hex2bin +EXPORT_SYMBOL vmlinux 0x50d035c2 vsscanf +EXPORT_SYMBOL vmlinux 0x50d71d7a regset_get_alloc +EXPORT_SYMBOL vmlinux 0x50e55c38 reuseport_has_conns_set +EXPORT_SYMBOL vmlinux 0x50eb2be7 twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x50f85302 __arm_smccc_hvc +EXPORT_SYMBOL vmlinux 0x50f91491 __genradix_ptr +EXPORT_SYMBOL vmlinux 0x5102a30b do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0x510809d0 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0x510af851 nf_register_net_hook +EXPORT_SYMBOL vmlinux 0x511dea4c of_pci_range_to_resource +EXPORT_SYMBOL vmlinux 0x512b97a4 tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0x5138d5dc fman_get_mem_region +EXPORT_SYMBOL vmlinux 0x5148a6cb pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0x514f7283 skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0x515083bf acpi_release_mutex +EXPORT_SYMBOL vmlinux 0x515f520b qman_portal_get_iperiod +EXPORT_SYMBOL vmlinux 0x51641162 opal_unlock_from_suspend +EXPORT_SYMBOL vmlinux 0x51787858 xp_can_alloc +EXPORT_SYMBOL vmlinux 0x51791bcb sock_gettstamp +EXPORT_SYMBOL vmlinux 0x51799e54 cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0x51865c38 page_pool_return_skb_page +EXPORT_SYMBOL vmlinux 0x5199596b __phy_write_mmd +EXPORT_SYMBOL vmlinux 0x51a511eb _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0x51b40718 trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0x51d0c23f sg_alloc_append_table_from_pages +EXPORT_SYMBOL vmlinux 0x51d12d4e acpi_pci_disabled +EXPORT_SYMBOL vmlinux 0x51e6738c param_ops_uint +EXPORT_SYMBOL vmlinux 0x51f33ac7 mr_table_alloc +EXPORT_SYMBOL vmlinux 0x5203d176 cmd_db_ready +EXPORT_SYMBOL vmlinux 0x520c4bdc set_disk_ro +EXPORT_SYMBOL vmlinux 0x52319e1a serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x523eb617 nobh_write_end +EXPORT_SYMBOL vmlinux 0x523f0861 try_lookup_one_len +EXPORT_SYMBOL vmlinux 0x525195e3 fc_mount +EXPORT_SYMBOL vmlinux 0x52631940 memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0x526e301d nd_region_to_nstype +EXPORT_SYMBOL vmlinux 0x526eef2c hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0x52752372 thaw_bdev +EXPORT_SYMBOL vmlinux 0x52782c34 inet_bind +EXPORT_SYMBOL vmlinux 0x52794d66 kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x527e4625 xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0x5285a35d qdisc_hash_del +EXPORT_SYMBOL vmlinux 0x52983a4f vme_master_write +EXPORT_SYMBOL vmlinux 0x52a2aedf __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x52a3609b mmc_register_driver +EXPORT_SYMBOL vmlinux 0x52a8e833 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52d958f2 tcf_idr_search +EXPORT_SYMBOL vmlinux 0x52da0b60 arp_send +EXPORT_SYMBOL vmlinux 0x52dcb85b __traceiter_kmalloc +EXPORT_SYMBOL vmlinux 0x52ec889c textsearch_destroy +EXPORT_SYMBOL vmlinux 0x52ecbc75 crc_ccitt +EXPORT_SYMBOL vmlinux 0x52f2850a imx_sc_pm_cpu_start +EXPORT_SYMBOL vmlinux 0x52f9f4b1 pci_bus_type +EXPORT_SYMBOL vmlinux 0x52fd20db del_gendisk +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x53126ecc __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x5333ba67 cpufreq_generic_suspend +EXPORT_SYMBOL vmlinux 0x53343ef0 pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0x5336da3d pci_enable_device +EXPORT_SYMBOL vmlinux 0x5338184f ethtool_sprintf +EXPORT_SYMBOL vmlinux 0x533ee7c8 mipi_dsi_device_register_full +EXPORT_SYMBOL vmlinux 0x5344f4b1 pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0x53630222 jbd2_fc_begin_commit +EXPORT_SYMBOL vmlinux 0x539694d0 of_phy_connect +EXPORT_SYMBOL vmlinux 0x53aee915 of_chosen +EXPORT_SYMBOL vmlinux 0x53b7657b zero_fill_bio +EXPORT_SYMBOL vmlinux 0x53b88878 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x53b8d5cb input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0x53b954a2 up_read +EXPORT_SYMBOL vmlinux 0x53c0b54a blkdev_issue_secure_erase +EXPORT_SYMBOL vmlinux 0x53c15372 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x53c35a83 timestamp_truncate +EXPORT_SYMBOL vmlinux 0x53cf191a rproc_detach +EXPORT_SYMBOL vmlinux 0x53e7ca1e phy_get_eee_err +EXPORT_SYMBOL vmlinux 0x53ea3854 devm_rproc_add +EXPORT_SYMBOL vmlinux 0x53eed79f __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x53eff192 tegra_ivc_align +EXPORT_SYMBOL vmlinux 0x53f8ced7 page_pool_ethtool_stats_get_strings +EXPORT_SYMBOL vmlinux 0x5402da9f xudma_navss_psil_pair +EXPORT_SYMBOL vmlinux 0x5407e6b3 md_integrity_register +EXPORT_SYMBOL vmlinux 0x541fc7cf security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x54367a2f inet_register_protosw +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x545d72be _dev_err +EXPORT_SYMBOL vmlinux 0x54943bdd page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x54b1fac6 __ubsan_handle_load_invalid_value +EXPORT_SYMBOL vmlinux 0x54b5b297 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x54ba1028 uart_suspend_port +EXPORT_SYMBOL vmlinux 0x54bc0bc1 edac_mc_find +EXPORT_SYMBOL vmlinux 0x54c88840 dev_set_threaded +EXPORT_SYMBOL vmlinux 0x54ccfa7c tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x54cd7a03 pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0x54dc1291 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x54ddfb2a ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54ea6dfe xen_start_flags +EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit +EXPORT_SYMBOL vmlinux 0x5508f28d bman_acquire +EXPORT_SYMBOL vmlinux 0x5510d2ec sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x5527bf4c dma_map_sg_attrs +EXPORT_SYMBOL vmlinux 0x552db3aa qman_query_cgr_congested +EXPORT_SYMBOL vmlinux 0x5541e345 devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x554a577a rproc_put +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +EXPORT_SYMBOL vmlinux 0x554fe808 simple_getattr +EXPORT_SYMBOL vmlinux 0x555fc30b devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x556b5d62 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x55735653 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x557e457f xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x55c9f7c0 dma_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x55d61d37 tty_do_resize +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x560171aa cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0x5609e7cb dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0x5614f48a qman_dqrr_get_ithresh +EXPORT_SYMBOL vmlinux 0x5619c9f5 finish_no_open +EXPORT_SYMBOL vmlinux 0x56317494 dma_set_mask +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x564642f9 mipi_dsi_dcs_enter_sleep_mode +EXPORT_SYMBOL vmlinux 0x56470118 __warn_printk +EXPORT_SYMBOL vmlinux 0x564f7608 acpi_reconfig_notifier_register +EXPORT_SYMBOL vmlinux 0x56642b34 unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0x566f7ccf ps2_end_command +EXPORT_SYMBOL vmlinux 0x567047fb tcp_sendpage +EXPORT_SYMBOL vmlinux 0x5675373e padata_free_shell +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x56a002d9 devfreq_update_target +EXPORT_SYMBOL vmlinux 0x56c28c01 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x56c3db64 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56c98a49 dma_resv_iter_next_unlocked +EXPORT_SYMBOL vmlinux 0x56cfb600 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x56e523db noop_qdisc +EXPORT_SYMBOL vmlinux 0x56eb3a85 blk_queue_split +EXPORT_SYMBOL vmlinux 0x56f6d7c7 netif_schedule_queue +EXPORT_SYMBOL vmlinux 0x5707e5f8 fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0x5732f07a udp6_seq_ops +EXPORT_SYMBOL vmlinux 0x573b0f53 of_clk_get +EXPORT_SYMBOL vmlinux 0x573f9907 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x57401596 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x57507a2f tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x575375c3 tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x575ca1e5 keyring_alloc +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x576ba45e unregister_binfmt +EXPORT_SYMBOL vmlinux 0x5775d20f nvdimm_namespace_capacity +EXPORT_SYMBOL vmlinux 0x577e93ea scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x57900416 gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0x5792f848 strlcpy +EXPORT_SYMBOL vmlinux 0x5794f2a8 rproc_elf_load_segments +EXPORT_SYMBOL vmlinux 0x5798e7cd sk_stop_timer_sync +EXPORT_SYMBOL vmlinux 0x57b828fd udp_disconnect +EXPORT_SYMBOL vmlinux 0x57bc19d2 down_write +EXPORT_SYMBOL vmlinux 0x57c38095 pnp_get_resource +EXPORT_SYMBOL vmlinux 0x57c3c373 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0x57c59c3a pipe_unlock +EXPORT_SYMBOL vmlinux 0x57cecf35 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x57d3ccb5 sock_pfree +EXPORT_SYMBOL vmlinux 0x57db8fd6 utf8_normalize +EXPORT_SYMBOL vmlinux 0x57e938f4 freeze_bdev +EXPORT_SYMBOL vmlinux 0x57f38cdc qe_get_firmware_info +EXPORT_SYMBOL vmlinux 0x5818fe3c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x581f98da zlib_inflate +EXPORT_SYMBOL vmlinux 0x582606eb xudma_rflow_put +EXPORT_SYMBOL vmlinux 0x582b6275 xfrm_if_unregister_cb +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x584266ce tegra_ivc_read_advance +EXPORT_SYMBOL vmlinux 0x584f25b5 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x5858ffa4 brioctl_set +EXPORT_SYMBOL vmlinux 0x585ae877 nmi_panic +EXPORT_SYMBOL vmlinux 0x58634897 sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x587b0954 kvasprintf +EXPORT_SYMBOL vmlinux 0x587b892e qe_get_num_of_risc +EXPORT_SYMBOL vmlinux 0x587f22d7 devmap_managed_key +EXPORT_SYMBOL vmlinux 0x5891af86 __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x58e91bb5 input_get_keycode +EXPORT_SYMBOL vmlinux 0x5927937b page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0x5934b5a9 qman_destroy_fq +EXPORT_SYMBOL vmlinux 0x595623ae tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0x595d8002 hdmi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x596a0cf6 fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x5999568c vfs_statfs +EXPORT_SYMBOL vmlinux 0x599b4888 qe_setbrg +EXPORT_SYMBOL vmlinux 0x599fb41c kvmalloc_node +EXPORT_SYMBOL vmlinux 0x59a2f0ee packing +EXPORT_SYMBOL vmlinux 0x59b1683c uart_get_divisor +EXPORT_SYMBOL vmlinux 0x59b4ac3e tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x59fbcf75 inet6_protos +EXPORT_SYMBOL vmlinux 0x5a0660ff xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a290250 hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x5a290b65 filemap_flush +EXPORT_SYMBOL vmlinux 0x5a3ba03b eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0x5a44f8cb __crypto_memneq +EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle +EXPORT_SYMBOL vmlinux 0x5a5328d5 __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0x5a5fe1a4 t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0x5a60b950 qm_channel_pool1 +EXPORT_SYMBOL vmlinux 0x5a648b1d pci_release_region +EXPORT_SYMBOL vmlinux 0x5a65ebcd skb_find_text +EXPORT_SYMBOL vmlinux 0x5a7a4022 tcf_block_put +EXPORT_SYMBOL vmlinux 0x5a84a072 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x5a8d8686 blk_pm_runtime_init +EXPORT_SYMBOL vmlinux 0x5a921311 strncmp +EXPORT_SYMBOL vmlinux 0x5a956b5b empty_zero_page +EXPORT_SYMBOL vmlinux 0x5a99a0d7 flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0x5a9ed20b free_netdev +EXPORT_SYMBOL vmlinux 0x5a9f1d63 memmove +EXPORT_SYMBOL vmlinux 0x5aa37e70 pcie_print_link_status +EXPORT_SYMBOL vmlinux 0x5ace32da ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x5ae1154b __traceiter_kfree +EXPORT_SYMBOL vmlinux 0x5ae7f012 mipi_dsi_dcs_write +EXPORT_SYMBOL vmlinux 0x5afbed7d vme_dma_list_exec +EXPORT_SYMBOL vmlinux 0x5afe7467 __mdiobus_register +EXPORT_SYMBOL vmlinux 0x5b03780b devfreq_add_device +EXPORT_SYMBOL vmlinux 0x5b0eac3d vme_bus_type +EXPORT_SYMBOL vmlinux 0x5b2f27fb do_wait_intr +EXPORT_SYMBOL vmlinux 0x5b3e282f xa_store +EXPORT_SYMBOL vmlinux 0x5b54903b qcom_scm_pas_mem_setup +EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap +EXPORT_SYMBOL vmlinux 0x5b6d3e0b vfs_get_super +EXPORT_SYMBOL vmlinux 0x5bbc42f7 neigh_direct_output +EXPORT_SYMBOL vmlinux 0x5bd42f55 inet_del_protocol +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5bdb7603 sock_copy_user_timeval +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5bec2391 folio_wait_private_2 +EXPORT_SYMBOL vmlinux 0x5beeaa37 tegra_ivc_init +EXPORT_SYMBOL vmlinux 0x5bf099ed md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0x5c26a53b wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0x5c2a5151 nvdimm_namespace_locked +EXPORT_SYMBOL vmlinux 0x5c3c7387 kstrtoull +EXPORT_SYMBOL vmlinux 0x5c4d7c32 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x5c5d2f89 skb_unlink +EXPORT_SYMBOL vmlinux 0x5c65a7fa netdev_txq_to_tc +EXPORT_SYMBOL vmlinux 0x5c7eddcc vme_slot_num +EXPORT_SYMBOL vmlinux 0x5c973b55 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x5c99ffe3 dquot_alloc +EXPORT_SYMBOL vmlinux 0x5cba81ef dst_init +EXPORT_SYMBOL vmlinux 0x5cbc13e7 input_allocate_device +EXPORT_SYMBOL vmlinux 0x5cbfb95d pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x5cd9d7be get_acl +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5cfb26a0 acpi_enter_sleep_state +EXPORT_SYMBOL vmlinux 0x5d112304 __memcpy_fromio +EXPORT_SYMBOL vmlinux 0x5d38ecae unregister_cdrom +EXPORT_SYMBOL vmlinux 0x5d3a45f3 inet6_add_offload +EXPORT_SYMBOL vmlinux 0x5d3fe667 __nlmsg_put +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d4e36b6 jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x5d5e4bc1 fwnode_mdio_find_device +EXPORT_SYMBOL vmlinux 0x5d726799 sk_alloc +EXPORT_SYMBOL vmlinux 0x5d77581d netif_carrier_on +EXPORT_SYMBOL vmlinux 0x5d830e26 seq_release +EXPORT_SYMBOL vmlinux 0x5d895fad reuseport_migrate_sock +EXPORT_SYMBOL vmlinux 0x5dac4cd6 qman_dqrr_set_ithresh +EXPORT_SYMBOL vmlinux 0x5dbb1ee3 I_BDEV +EXPORT_SYMBOL vmlinux 0x5dcd0a0d qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0x5e06bc5c refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e12a49e ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0x5e14eaf1 mipi_dsi_compression_mode +EXPORT_SYMBOL vmlinux 0x5e3240a0 __cpu_online_mask +EXPORT_SYMBOL vmlinux 0x5e332b52 __var_waitqueue +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e3ac263 serio_reconnect +EXPORT_SYMBOL vmlinux 0x5e58f244 give_up_console +EXPORT_SYMBOL vmlinux 0x5e6f91f9 tegra_powergate_remove_clamping +EXPORT_SYMBOL vmlinux 0x5e80127b thermal_zone_device_critical +EXPORT_SYMBOL vmlinux 0x5e855e56 gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e9a01ce gen_new_estimator +EXPORT_SYMBOL vmlinux 0x5ea358ad tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x5ea53f00 scm_fp_dup +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x5ec69aa4 __serio_register_port +EXPORT_SYMBOL vmlinux 0x5eca3ad6 filemap_release_folio +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed3e351 tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5edde391 bdev_start_io_acct +EXPORT_SYMBOL vmlinux 0x5ef399a3 inode_io_list_del +EXPORT_SYMBOL vmlinux 0x5ef6a672 gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0x5ef80e15 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x5efdd68b __tracepoint_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x5efde8e6 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x5effda7f md_write_start +EXPORT_SYMBOL vmlinux 0x5f098b2a in6addr_interfacelocal_allrouters +EXPORT_SYMBOL vmlinux 0x5f1e148a udp_seq_start +EXPORT_SYMBOL vmlinux 0x5f1ebde2 dma_resv_iter_first_unlocked +EXPORT_SYMBOL vmlinux 0x5f2ba55e security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x5f381f4c mmc_release_host +EXPORT_SYMBOL vmlinux 0x5f4d56d2 security_sb_remount +EXPORT_SYMBOL vmlinux 0x5f5061f1 d_lookup +EXPORT_SYMBOL vmlinux 0x5f5441c8 __ubsan_handle_alignment_assumption +EXPORT_SYMBOL vmlinux 0x5f6b889c rproc_va_to_pa +EXPORT_SYMBOL vmlinux 0x5f8b424d mipi_dsi_generic_read +EXPORT_SYMBOL vmlinux 0x5f8b7ee2 rpmh_write +EXPORT_SYMBOL vmlinux 0x5f93525c acpi_extract_package +EXPORT_SYMBOL vmlinux 0x5fa17f72 pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x5fa6d70f xfrm4_protocol_register +EXPORT_SYMBOL vmlinux 0x5fa89d99 inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0x5fc72f0e alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x5fd062c7 of_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x5fd2542b copy_highpage +EXPORT_SYMBOL vmlinux 0x5fe69543 backlight_force_update +EXPORT_SYMBOL vmlinux 0x5ff4b884 __netif_rx +EXPORT_SYMBOL vmlinux 0x5ff9eb0e lockref_mark_dead +EXPORT_SYMBOL vmlinux 0x5ffc82a6 end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x5fffccc0 tcf_block_get +EXPORT_SYMBOL vmlinux 0x60042476 pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x6008689f kthread_complete_and_exit +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x6045697c tcp_parse_options +EXPORT_SYMBOL vmlinux 0x604d3e40 crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0x605705f7 iget_failed +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x60744f56 param_get_invbool +EXPORT_SYMBOL vmlinux 0x608741b5 __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x608d0267 zstd_get_error_code +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x60985b24 poll_freewait +EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a43b51 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x60aaeb4b qman_p_irqsource_add +EXPORT_SYMBOL vmlinux 0x60b3071f neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0x60c35f63 set_nlink +EXPORT_SYMBOL vmlinux 0x60d1e849 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x60d8ab30 vme_lm_get +EXPORT_SYMBOL vmlinux 0x60e6f223 vfs_mkdir +EXPORT_SYMBOL vmlinux 0x61073e4a acpi_os_map_generic_address +EXPORT_SYMBOL vmlinux 0x612529a3 pcie_get_mps +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x61347034 mb_cache_entry_delete_or_get +EXPORT_SYMBOL vmlinux 0x613d8119 seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0x6141b3ed param_set_hexint +EXPORT_SYMBOL vmlinux 0x6156f322 __pci_register_driver +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +EXPORT_SYMBOL vmlinux 0x615e808a phy_device_free +EXPORT_SYMBOL vmlinux 0x615f839f kset_register +EXPORT_SYMBOL vmlinux 0x616005d2 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x6169f1fd msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0x6172b755 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x6175d8fc irq_domain_set_info +EXPORT_SYMBOL vmlinux 0x61779746 netdev_name_in_use +EXPORT_SYMBOL vmlinux 0x617c452b queued_read_lock_slowpath +EXPORT_SYMBOL vmlinux 0x617e812a pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x6185b747 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0x618911fc numa_node +EXPORT_SYMBOL vmlinux 0x619894c9 get_tree_single +EXPORT_SYMBOL vmlinux 0x619cb7dd simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x61a69451 free_buffer_head +EXPORT_SYMBOL vmlinux 0x61b1131a mipi_dsi_dcs_set_display_on +EXPORT_SYMBOL vmlinux 0x61b257a9 mii_check_media +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61bf644d netlink_unicast +EXPORT_SYMBOL vmlinux 0x61c4857f __quota_error +EXPORT_SYMBOL vmlinux 0x61c5cba5 tty_port_close_end +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61e8d7da tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x61f7e991 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x61fd5934 inet_select_addr +EXPORT_SYMBOL vmlinux 0x6207b4da dump_skip +EXPORT_SYMBOL vmlinux 0x620c09ed rtnl_unicast +EXPORT_SYMBOL vmlinux 0x6214aef2 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x623a195c of_mdiobus_child_is_phy +EXPORT_SYMBOL vmlinux 0x62434937 folio_wait_bit_killable +EXPORT_SYMBOL vmlinux 0x6247e39c xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x624aa681 trace_print_hex_seq +EXPORT_SYMBOL vmlinux 0x624aace6 dquot_quota_on +EXPORT_SYMBOL vmlinux 0x62629717 show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0x6271d544 skb_expand_head +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x6287a2c1 jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x629079b3 dma_fence_signal_timestamp +EXPORT_SYMBOL vmlinux 0x6292bd62 path_get +EXPORT_SYMBOL vmlinux 0x62949074 acpi_buffer_to_resource +EXPORT_SYMBOL vmlinux 0x62a64843 netif_set_tso_max_size +EXPORT_SYMBOL vmlinux 0x62c6f22b scmd_printk +EXPORT_SYMBOL vmlinux 0x62c7a725 mntget +EXPORT_SYMBOL vmlinux 0x62d3015d ndisc_ns_create +EXPORT_SYMBOL vmlinux 0x62d96443 qman_dma_portal +EXPORT_SYMBOL vmlinux 0x62f7e207 down_read_killable +EXPORT_SYMBOL vmlinux 0x6314a7b5 rproc_coredump_set_elf_info +EXPORT_SYMBOL vmlinux 0x6315c42c zstd_get_params +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x63485781 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x6348cb37 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x63514598 fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0x6354d15e fb_validate_mode +EXPORT_SYMBOL vmlinux 0x635598c2 iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0x63577d01 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x6386a4a6 rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0x6390bd17 phy_set_max_speed +EXPORT_SYMBOL vmlinux 0x639836ab fqdir_init +EXPORT_SYMBOL vmlinux 0x63a4b64b ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63cc9f69 file_path +EXPORT_SYMBOL vmlinux 0x63d71c25 of_node_name_prefix +EXPORT_SYMBOL vmlinux 0x63e4b17b generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63f5216c proc_create_seq_private +EXPORT_SYMBOL vmlinux 0x63fba2b9 mipi_dsi_dcs_set_display_off +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x6417ebc9 try_to_release_page +EXPORT_SYMBOL vmlinux 0x642eb5c6 xen_poll_irq_timeout +EXPORT_SYMBOL vmlinux 0x643f3068 __tracepoint_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x644780bc acpi_mdiobus_register +EXPORT_SYMBOL vmlinux 0x644be12c qman_affine_cpus +EXPORT_SYMBOL vmlinux 0x6456bf77 devm_nvmem_cell_put +EXPORT_SYMBOL vmlinux 0x6475f45a __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x649583b5 rproc_of_resm_mem_entry_init +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64ab2c2b xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x64bbc288 string_unescape +EXPORT_SYMBOL vmlinux 0x64d54012 touch_atime +EXPORT_SYMBOL vmlinux 0x64e0b344 ppp_input +EXPORT_SYMBOL vmlinux 0x64e6c495 mdiobus_free +EXPORT_SYMBOL vmlinux 0x64f9bb46 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x64fb6f04 put_watch_queue +EXPORT_SYMBOL vmlinux 0x650212b5 fs_param_is_string +EXPORT_SYMBOL vmlinux 0x65074f04 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x65119639 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x6514c1e6 flow_get_u32_src +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x6527447e input_inject_event +EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x6540b811 __check_sticky +EXPORT_SYMBOL vmlinux 0x654449c3 memset16 +EXPORT_SYMBOL vmlinux 0x655192eb __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0x6553360d validate_slab_cache +EXPORT_SYMBOL vmlinux 0x655d3663 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x65677679 fiemap_prep +EXPORT_SYMBOL vmlinux 0x656c1a0e string_escape_mem +EXPORT_SYMBOL vmlinux 0x656d300f blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x656e4a6e snprintf +EXPORT_SYMBOL vmlinux 0x657a6120 fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0x6584c3ba of_get_property +EXPORT_SYMBOL vmlinux 0x658bc9a1 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset +EXPORT_SYMBOL vmlinux 0x6598dfc3 zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc +EXPORT_SYMBOL vmlinux 0x65a29b8f amba_request_regions +EXPORT_SYMBOL vmlinux 0x65a712a9 netlink_set_err +EXPORT_SYMBOL vmlinux 0x65cf30ec acpi_notifier_call_chain +EXPORT_SYMBOL vmlinux 0x65d1bab2 acpi_bios_warning +EXPORT_SYMBOL vmlinux 0x65d9e877 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0x65dbb6be __folio_lock +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e0d6d7 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x65f8eb27 mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0x66064741 cdev_alloc +EXPORT_SYMBOL vmlinux 0x6607d2af scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x6626afca down +EXPORT_SYMBOL vmlinux 0x66284e6c of_get_cpu_state_node +EXPORT_SYMBOL vmlinux 0x662e4b37 netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0x664b1e29 qman_delete_cgr +EXPORT_SYMBOL vmlinux 0x6658966a xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x665e2513 zstd_max_clevel +EXPORT_SYMBOL vmlinux 0x66628bf3 ip_tunnel_metadata_cnt +EXPORT_SYMBOL vmlinux 0x666863dc par_io_config_pin +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x66826f5a xudma_get_ringacc +EXPORT_SYMBOL vmlinux 0x668b19a1 down_read +EXPORT_SYMBOL vmlinux 0x668ed0b2 tso_build_data +EXPORT_SYMBOL vmlinux 0x66931ded fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0x6699d387 init_net +EXPORT_SYMBOL vmlinux 0x669a700e inode_add_bytes +EXPORT_SYMBOL vmlinux 0x66a0899e key_alloc +EXPORT_SYMBOL vmlinux 0x66abaffd napi_schedule_prep +EXPORT_SYMBOL vmlinux 0x66ac7a10 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x66af1fd1 lockref_put_or_lock +EXPORT_SYMBOL vmlinux 0x66b4cc41 kmemdup +EXPORT_SYMBOL vmlinux 0x66cda9b9 neigh_connected_output +EXPORT_SYMBOL vmlinux 0x66efaf84 tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0x6707d0e5 kfree_skb_reason +EXPORT_SYMBOL vmlinux 0x6721fc7c security_cred_getsecid +EXPORT_SYMBOL vmlinux 0x6729bc59 phy_device_register +EXPORT_SYMBOL vmlinux 0x6730d09d pci_select_bars +EXPORT_SYMBOL vmlinux 0x67412d2f ucc_slow_enable +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x6769ff5c of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x676bfef7 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x678b96ec dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x6792f1d9 drop_nlink +EXPORT_SYMBOL vmlinux 0x6794a57c generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0x67aaa250 neigh_xmit +EXPORT_SYMBOL vmlinux 0x67af3f43 inet6_release +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67c13ea0 acpi_read +EXPORT_SYMBOL vmlinux 0x67c17e69 tegra_ivc_write_advance +EXPORT_SYMBOL vmlinux 0x67c35860 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x67d621fa dquot_commit_info +EXPORT_SYMBOL vmlinux 0x67d81f16 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x67e8a8cd new_inode +EXPORT_SYMBOL vmlinux 0x67f94a4c page_readlink +EXPORT_SYMBOL vmlinux 0x67ffe7ad iunique +EXPORT_SYMBOL vmlinux 0x68315043 scsi_print_command +EXPORT_SYMBOL vmlinux 0x68358594 vme_lm_request +EXPORT_SYMBOL vmlinux 0x6835fd09 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x683dc34f sk_capable +EXPORT_SYMBOL vmlinux 0x684f9a38 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x685dc10f tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x6868f306 kmem_cache_alloc_node_trace +EXPORT_SYMBOL vmlinux 0x6875a455 __mmap_lock_do_trace_acquire_returned +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x687dd2b4 dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0x689c5e83 phy_modify_paged +EXPORT_SYMBOL vmlinux 0x689f22a8 request_firmware +EXPORT_SYMBOL vmlinux 0x68be71c3 path_put +EXPORT_SYMBOL vmlinux 0x68c4a255 blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x68ccd9b8 do_SAK +EXPORT_SYMBOL vmlinux 0x68ec3d7c ptp_clock_register +EXPORT_SYMBOL vmlinux 0x68fb581a icst307_idx2s +EXPORT_SYMBOL vmlinux 0x69049cd2 radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0x690b4965 xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0x690ce7e3 scsi_scan_target +EXPORT_SYMBOL vmlinux 0x690eb247 devfreq_remove_governor +EXPORT_SYMBOL vmlinux 0x6912f757 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0x6917a77e __traceiter_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x691b9eaf pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x6954d3db blk_execute_rq +EXPORT_SYMBOL vmlinux 0x69585523 __ksize +EXPORT_SYMBOL vmlinux 0x695c3159 tcp_init_sock +EXPORT_SYMBOL vmlinux 0x696322ac dma_find_channel +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x69684391 rproc_free +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x697ed5f0 memcpy_and_pad +EXPORT_SYMBOL vmlinux 0x697f29a5 get_user_pages_remote +EXPORT_SYMBOL vmlinux 0x697feb1d pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x69a29f4e sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x69b32b01 devm_free_irq +EXPORT_SYMBOL vmlinux 0x69bb4155 phy_connect +EXPORT_SYMBOL vmlinux 0x69bcdfd0 task_work_add +EXPORT_SYMBOL vmlinux 0x69c41462 genphy_aneg_done +EXPORT_SYMBOL vmlinux 0x69c72434 pcim_enable_device +EXPORT_SYMBOL vmlinux 0x69d53cbc posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x69dd3b5b crc32_le +EXPORT_SYMBOL vmlinux 0x69de8757 vme_check_window +EXPORT_SYMBOL vmlinux 0x6a03751f sgl_free_order +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a0b23f2 nd_btt_probe +EXPORT_SYMBOL vmlinux 0x6a1e0f53 _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0x6a2f3db5 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x6a3766b2 qman_delete_cgr_safe +EXPORT_SYMBOL vmlinux 0x6a449c4f register_sysctl_table +EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages +EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a641841 devm_clk_get_optional +EXPORT_SYMBOL vmlinux 0x6a691b5d blk_post_runtime_suspend +EXPORT_SYMBOL vmlinux 0x6a6e05bf kstrtou8 +EXPORT_SYMBOL vmlinux 0x6a90663a qman_schedule_fq +EXPORT_SYMBOL vmlinux 0x6aa11aa6 sgl_free_n_order +EXPORT_SYMBOL vmlinux 0x6abb5436 write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6ae02daa page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6b0e9893 mfd_cell_enable +EXPORT_SYMBOL vmlinux 0x6b1457e4 tty_register_device +EXPORT_SYMBOL vmlinux 0x6b14cdd9 dma_resv_fini +EXPORT_SYMBOL vmlinux 0x6b1d2e94 udp_pre_connect +EXPORT_SYMBOL vmlinux 0x6b27729b radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x6b2c6a8d tty_port_close +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b432008 bio_uninit +EXPORT_SYMBOL vmlinux 0x6b4b2933 __ioremap +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b882834 skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6b9969bf nd_pfn_validate +EXPORT_SYMBOL vmlinux 0x6ba62f80 phy_write_paged +EXPORT_SYMBOL vmlinux 0x6bab0ff0 phy_loopback +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bd0e573 down_interruptible +EXPORT_SYMBOL vmlinux 0x6bd4ae36 kernel_connect +EXPORT_SYMBOL vmlinux 0x6bd703d9 __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0x6bd8db53 md_reload_sb +EXPORT_SYMBOL vmlinux 0x6be1c1f8 acpi_install_method +EXPORT_SYMBOL vmlinux 0x6be7c3b4 serio_interrupt +EXPORT_SYMBOL vmlinux 0x6bf05b1d pcim_iomap +EXPORT_SYMBOL vmlinux 0x6bf181c1 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x6c1481c1 netpoll_print_options +EXPORT_SYMBOL vmlinux 0x6c15ccf5 lock_rename +EXPORT_SYMBOL vmlinux 0x6c1ac100 skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0x6c1bf644 input_release_device +EXPORT_SYMBOL vmlinux 0x6c1c8bd9 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x6c224cda gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x6c257ac0 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x6c3203cc set_page_writeback +EXPORT_SYMBOL vmlinux 0x6c3218bd cont_write_begin +EXPORT_SYMBOL vmlinux 0x6c46c734 bpf_link_put +EXPORT_SYMBOL vmlinux 0x6c487829 ethtool_notify +EXPORT_SYMBOL vmlinux 0x6c4e84c6 vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0x6c4feca3 iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0x6c5dae23 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x6c60657b of_match_node +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c66ebc6 xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0x6c690ab7 ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0x6c782d9a mipi_dsi_host_register +EXPORT_SYMBOL vmlinux 0x6c7a0323 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x6c9534ba mmc_add_host +EXPORT_SYMBOL vmlinux 0x6ca58289 ___pskb_trim +EXPORT_SYMBOL vmlinux 0x6cae3eff xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6cb63949 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x6cbbfc54 __arch_copy_to_user +EXPORT_SYMBOL vmlinux 0x6cc0b531 rproc_of_parse_firmware +EXPORT_SYMBOL vmlinux 0x6cc301ef clear_nlink +EXPORT_SYMBOL vmlinux 0x6cc41619 md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x6ccc1437 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x6cce51e6 iterate_fd +EXPORT_SYMBOL vmlinux 0x6cd88195 phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x6ce8d933 reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0x6cf0d67d qe_get_num_of_snums +EXPORT_SYMBOL vmlinux 0x6cf79ccd sync_blockdev_range +EXPORT_SYMBOL vmlinux 0x6d06dc84 xen_free_unpopulated_pages +EXPORT_SYMBOL vmlinux 0x6d161eef __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x6d16c104 mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x6d289ef0 nd_dev_to_uuid +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d2b824f of_get_next_child +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d3a96ec trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0x6d456111 nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0x6d4da611 is_bad_inode +EXPORT_SYMBOL vmlinux 0x6d596083 pci_get_slot +EXPORT_SYMBOL vmlinux 0x6d5f5b91 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x6d6a428b simple_transaction_release +EXPORT_SYMBOL vmlinux 0x6d73c95f logic_outw +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6d7e94a8 seq_open +EXPORT_SYMBOL vmlinux 0x6d7e9575 of_graph_get_port_parent +EXPORT_SYMBOL vmlinux 0x6d7e9644 _dev_info +EXPORT_SYMBOL vmlinux 0x6d9fd0fe inode_init_always +EXPORT_SYMBOL vmlinux 0x6da37098 tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0x6da467cb pfn_is_map_memory +EXPORT_SYMBOL vmlinux 0x6da9d2f1 netdev_update_features +EXPORT_SYMBOL vmlinux 0x6dba9051 xz_dec_microlzma_end +EXPORT_SYMBOL vmlinux 0x6dc35b25 radix_tree_iter_delete +EXPORT_SYMBOL vmlinux 0x6dcf857f uuid_null +EXPORT_SYMBOL vmlinux 0x6dd17e7b acpi_get_table_header +EXPORT_SYMBOL vmlinux 0x6dd54635 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x6dd60fbf param_set_byte +EXPORT_SYMBOL vmlinux 0x6dec9ba7 dmaengine_get_unmap_data +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6df4b06a skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x6e00e931 security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0x6e0d457c devm_release_resource +EXPORT_SYMBOL vmlinux 0x6e0d9a83 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x6e4295f1 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x6e4a9bf5 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x6e5b8651 xz_dec_run +EXPORT_SYMBOL vmlinux 0x6e663d7b __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e811678 pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0x6e93d89d unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6eade26b iterate_dir +EXPORT_SYMBOL vmlinux 0x6ec37633 generic_delete_inode +EXPORT_SYMBOL vmlinux 0x6ec79474 dma_resv_reserve_fences +EXPORT_SYMBOL vmlinux 0x6ed0c130 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x6ed4efd9 phy_support_asym_pause +EXPORT_SYMBOL vmlinux 0x6ee05076 jbd2_wait_inode_data +EXPORT_SYMBOL vmlinux 0x6ef7c2f7 flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0x6f215cae kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x6f22dbe5 seq_vprintf +EXPORT_SYMBOL vmlinux 0x6f41a428 acpi_get_vendor_resource +EXPORT_SYMBOL vmlinux 0x6f4a59e4 sort_r +EXPORT_SYMBOL vmlinux 0x6f4bf508 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x6f535dc5 vma_set_file +EXPORT_SYMBOL vmlinux 0x6f5682e9 dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x6f5ab52f acpi_get_local_address +EXPORT_SYMBOL vmlinux 0x6f61a117 ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0x6f69aec7 devm_extcon_register_notifier +EXPORT_SYMBOL vmlinux 0x6f6d4196 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x6f7e13ad locks_copy_lock +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6f915a45 dqstats +EXPORT_SYMBOL vmlinux 0x6fad1fd0 __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x6fb49676 queue_rcu_work +EXPORT_SYMBOL vmlinux 0x6fbb31e8 md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x6fbc6a00 radix_tree_insert +EXPORT_SYMBOL vmlinux 0x6fc48021 dynamic_cond_resched +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd1363c ww_mutex_trylock +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x6ff3a485 dynamic_might_resched +EXPORT_SYMBOL vmlinux 0x6ff719bb mmc_cqe_request_done +EXPORT_SYMBOL vmlinux 0x6ff78b77 phy_error +EXPORT_SYMBOL vmlinux 0x6ffa8a08 find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0x6fff261f __arch_clear_user +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x70098c85 seq_lseek +EXPORT_SYMBOL vmlinux 0x7018fd30 vmap +EXPORT_SYMBOL vmlinux 0x702352f8 inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x7023bea8 unregister_acpi_notifier +EXPORT_SYMBOL vmlinux 0x702946da ucs2_strlen +EXPORT_SYMBOL vmlinux 0x702b26b8 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x7031aebb inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x70534f96 nf_reinject +EXPORT_SYMBOL vmlinux 0x70595c75 tty_port_destroy +EXPORT_SYMBOL vmlinux 0x705e9acf security_path_mknod +EXPORT_SYMBOL vmlinux 0x705ef5a9 seq_open_private +EXPORT_SYMBOL vmlinux 0x7063c301 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x706c6871 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x706c98ea pid_task +EXPORT_SYMBOL vmlinux 0x708196d2 dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0x7087aa63 alloc_pages +EXPORT_SYMBOL vmlinux 0x709619c1 page_pool_release_page +EXPORT_SYMBOL vmlinux 0x70ad5f39 tso_count_descs +EXPORT_SYMBOL vmlinux 0x70ad75fb radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x70b62519 __pagevec_release +EXPORT_SYMBOL vmlinux 0x70bcb95d filemap_fdatawrite_wbc +EXPORT_SYMBOL vmlinux 0x70caca37 sock_i_ino +EXPORT_SYMBOL vmlinux 0x70d1a18e qman_release_pool +EXPORT_SYMBOL vmlinux 0x70f04572 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x70f803b2 ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0x7103ec5c inet_del_offload +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x712f7515 xp_dma_unmap +EXPORT_SYMBOL vmlinux 0x7141b88a logic_insb +EXPORT_SYMBOL vmlinux 0x7145582d request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x714d75e2 alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0x714e11ab kern_unmount +EXPORT_SYMBOL vmlinux 0x715a5ed0 vprintk +EXPORT_SYMBOL vmlinux 0x715d2ece __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0x715dd616 vfs_fileattr_get +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x71790fe8 mfd_add_devices +EXPORT_SYMBOL vmlinux 0x71a48d47 of_graph_get_remote_endpoint +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71a7406b tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0x71b35dd8 netdev_err +EXPORT_SYMBOL vmlinux 0x71dfc095 acpi_walk_resources +EXPORT_SYMBOL vmlinux 0x71ece5c8 mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0x71fb5072 __nla_reserve +EXPORT_SYMBOL vmlinux 0x720748ae udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x72088ca1 ipv4_specific +EXPORT_SYMBOL vmlinux 0x720a27a7 __register_blkdev +EXPORT_SYMBOL vmlinux 0x720ba67c pps_unregister_source +EXPORT_SYMBOL vmlinux 0x7241405f tcp_connect +EXPORT_SYMBOL vmlinux 0x72517c31 __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0x72583504 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x726bc3c7 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x726cba24 fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0x727de424 mem_section +EXPORT_SYMBOL vmlinux 0x729a9967 capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0x72a50966 ucc_fast_disable +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72bc39a8 nla_put_64bit +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72f14ff7 acpi_get_object_info +EXPORT_SYMBOL vmlinux 0x72f398d6 pci_set_mwi +EXPORT_SYMBOL vmlinux 0x730df41b proto_unregister +EXPORT_SYMBOL vmlinux 0x730e67ec ipv6_dev_find +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x731c4a9c dma_fence_signal +EXPORT_SYMBOL vmlinux 0x731dba7a xen_domain_type +EXPORT_SYMBOL vmlinux 0x732dd326 groups_free +EXPORT_SYMBOL vmlinux 0x7359e834 generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x735e6a81 acpi_evaluate_integer +EXPORT_SYMBOL vmlinux 0x735ede46 iov_iter_xarray +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x7385279b inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0x73889b21 tty_port_init +EXPORT_SYMBOL vmlinux 0x73998efa cpm_muram_free_addr +EXPORT_SYMBOL vmlinux 0x739b9c21 inet6_offloads +EXPORT_SYMBOL vmlinux 0x739fd00f __SCK__tp_func_module_get +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73d8197c skb_clone +EXPORT_SYMBOL vmlinux 0x7410aba2 strreplace +EXPORT_SYMBOL vmlinux 0x7412ed5b kvfree_sensitive +EXPORT_SYMBOL vmlinux 0x742578a5 wait_for_random_bytes +EXPORT_SYMBOL vmlinux 0x7429e20c kstrtos8 +EXPORT_SYMBOL vmlinux 0x742cdc36 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x743a49e1 acpi_get_hp_hw_control_from_firmware +EXPORT_SYMBOL vmlinux 0x743b2e69 sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x743c776a seq_escape_mem +EXPORT_SYMBOL vmlinux 0x743f4126 keygen_port_hashing_init +EXPORT_SYMBOL vmlinux 0x74449b3d input_set_abs_params +EXPORT_SYMBOL vmlinux 0x7453782a mmc_command_done +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x745dc4f3 folio_mark_dirty +EXPORT_SYMBOL vmlinux 0x7468e06f filemap_map_pages +EXPORT_SYMBOL vmlinux 0x74754435 acpi_bus_generate_netlink_event +EXPORT_SYMBOL vmlinux 0x7483dc59 pci_dev_present +EXPORT_SYMBOL vmlinux 0x7494fab9 follow_down +EXPORT_SYMBOL vmlinux 0x749bdd5b udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x74a265a2 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x74b47895 pci_pme_capable +EXPORT_SYMBOL vmlinux 0x74b8e674 slhc_toss +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74cf8626 netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x74e37b1e sync_blockdev +EXPORT_SYMBOL vmlinux 0x74e3d200 pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74e87032 skb_split +EXPORT_SYMBOL vmlinux 0x74ec38cc bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0x74fd6d77 ram_aops +EXPORT_SYMBOL vmlinux 0x751b0c35 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x752e4283 kernel_getsockname +EXPORT_SYMBOL vmlinux 0x75402df9 nvdimm_namespace_disk_name +EXPORT_SYMBOL vmlinux 0x755f4ba3 blake2s_compress_generic +EXPORT_SYMBOL vmlinux 0x75871f5e acpi_get_next_object +EXPORT_SYMBOL vmlinux 0x7593b5b5 register_shrinker +EXPORT_SYMBOL vmlinux 0x75abdb3c load_nls_default +EXPORT_SYMBOL vmlinux 0x75ba741f cfb_imageblit +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75c625d1 tegra_ivc_notified +EXPORT_SYMBOL vmlinux 0x75cfd6a3 security_inode_init_security +EXPORT_SYMBOL vmlinux 0x75d0deb9 nsecs_to_jiffies64 +EXPORT_SYMBOL vmlinux 0x75d499dd vmcore_add_device_dump +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x7618af39 hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0x7624249e dim_park_tired +EXPORT_SYMBOL vmlinux 0x76346f95 mipi_dsi_host_unregister +EXPORT_SYMBOL vmlinux 0x763e0546 acpi_device_hid +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x764dbff0 of_graph_get_remote_port +EXPORT_SYMBOL vmlinux 0x765e2633 invalidate_disk +EXPORT_SYMBOL vmlinux 0x765ff474 crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x766128e9 pnp_device_attach +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x7682ba4e __copy_overflow +EXPORT_SYMBOL vmlinux 0x7696ffe0 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x76aa6f81 fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0x76abd19b elv_rb_find +EXPORT_SYMBOL vmlinux 0x76cce2cb set_cached_acl +EXPORT_SYMBOL vmlinux 0x76cdd957 d_invalidate +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d7715f tcp_seq_stop +EXPORT_SYMBOL vmlinux 0x76ec1a6d locks_init_lock +EXPORT_SYMBOL vmlinux 0x76efb150 fwnode_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0x770f82e9 qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0x77192e7c unlock_page +EXPORT_SYMBOL vmlinux 0x771f6ffb register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x7732159c free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x77358855 iomem_resource +EXPORT_SYMBOL vmlinux 0x773fa409 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x77456e0a acpi_root_dir +EXPORT_SYMBOL vmlinux 0x774cc4d7 blk_post_runtime_resume +EXPORT_SYMBOL vmlinux 0x7771e21f i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x7777e78d proc_remove +EXPORT_SYMBOL vmlinux 0x777a47ff override_creds +EXPORT_SYMBOL vmlinux 0x777bf8d1 dev_mc_flush +EXPORT_SYMBOL vmlinux 0x777eb8d1 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x77806940 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x7791193f icst525_s2div +EXPORT_SYMBOL vmlinux 0x779251c1 rtnl_offload_xstats_notify +EXPORT_SYMBOL vmlinux 0x779ffecf xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x77aa80b4 tcp_mmap +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77cbcf81 devm_devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x77e0b28b tegra_dfll_resume +EXPORT_SYMBOL vmlinux 0x77e368bd security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x77ea5697 serio_open +EXPORT_SYMBOL vmlinux 0x7802f0d0 mmc_can_erase +EXPORT_SYMBOL vmlinux 0x780312ad fb_show_logo +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x780998d5 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x781823e7 param_set_copystring +EXPORT_SYMBOL vmlinux 0x78190a80 fs_param_is_fd +EXPORT_SYMBOL vmlinux 0x783fd89a inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0x784277d3 d_alloc_anon +EXPORT_SYMBOL vmlinux 0x78462887 vfs_ioctl +EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x78547189 dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0x7856c7a1 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x786ff768 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x787e73d0 console_stop +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x7888d479 __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x7891c609 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x78929831 param_ops_long +EXPORT_SYMBOL vmlinux 0x789e4af5 proc_symlink +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78a96983 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x78b887ed vsprintf +EXPORT_SYMBOL vmlinux 0x78ca849a __skb_recv_udp +EXPORT_SYMBOL vmlinux 0x78d63b50 acpi_device_set_power +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78f543da pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0x79002bf0 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x7907a08d generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x790f8615 iproc_msi_init +EXPORT_SYMBOL vmlinux 0x7918272e netlink_ack +EXPORT_SYMBOL vmlinux 0x791ab4a2 vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0x794fff8f flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0x797eb139 skb_vlan_push +EXPORT_SYMBOL vmlinux 0x797ecb44 __fs_parse +EXPORT_SYMBOL vmlinux 0x79848c4b blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0x7984eefc key_update +EXPORT_SYMBOL vmlinux 0x79a14f43 phy_stop +EXPORT_SYMBOL vmlinux 0x79a33f85 vme_get_size +EXPORT_SYMBOL vmlinux 0x79b7cbaf fault_in_iov_iter_writeable +EXPORT_SYMBOL vmlinux 0x79c5cfc5 __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x79e78c8c filp_open +EXPORT_SYMBOL vmlinux 0x79fed463 __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x7a089263 generic_writepages +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a137850 xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a1be085 mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x7a1fa606 phy_attach +EXPORT_SYMBOL vmlinux 0x7a2af7b4 cpu_number +EXPORT_SYMBOL vmlinux 0x7a2d2090 devm_extcon_register_notifier_all +EXPORT_SYMBOL vmlinux 0x7a2ff57e security_current_getsecid_subj +EXPORT_SYMBOL vmlinux 0x7a321adb __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x7a53a06d flow_indr_dev_exists +EXPORT_SYMBOL vmlinux 0x7a5fd970 pci_claim_resource +EXPORT_SYMBOL vmlinux 0x7a7426a7 kill_pgrp +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7a968137 ucc_slow_restart_tx +EXPORT_SYMBOL vmlinux 0x7a9ade21 mmc_can_gpio_ro +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7ab5227a setup_new_exec +EXPORT_SYMBOL vmlinux 0x7ab693f1 pci_save_state +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ab8ec60 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x7ac9c4af ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt +EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7add8be4 netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0x7ae5d317 qe_get_snum +EXPORT_SYMBOL vmlinux 0x7b08cf11 sget +EXPORT_SYMBOL vmlinux 0x7b09fb95 pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0x7b0ae4e2 iov_iter_pipe +EXPORT_SYMBOL vmlinux 0x7b121862 flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0x7b1588ee n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x7b2f3e46 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x7b306b61 no_llseek +EXPORT_SYMBOL vmlinux 0x7b3697e5 pci_write_config_byte +EXPORT_SYMBOL vmlinux 0x7b37d4a7 _find_first_zero_bit +EXPORT_SYMBOL vmlinux 0x7b4194d5 skb_push +EXPORT_SYMBOL vmlinux 0x7b4da6ff __init_rwsem +EXPORT_SYMBOL vmlinux 0x7b4e927f get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b6d1b45 tcp_seq_start +EXPORT_SYMBOL vmlinux 0x7b82b9a1 idr_replace +EXPORT_SYMBOL vmlinux 0x7b86b91b sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x7b8aea75 vme_irq_request +EXPORT_SYMBOL vmlinux 0x7ba5a3b4 tegra_powergate_power_off +EXPORT_SYMBOL vmlinux 0x7bb0ccaf alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x7bb50b88 acpi_write +EXPORT_SYMBOL vmlinux 0x7bbccd05 nr_node_ids +EXPORT_SYMBOL vmlinux 0x7be079b0 get_tree_bdev +EXPORT_SYMBOL vmlinux 0x7c0848fe reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0x7c0e9d07 bdi_put +EXPORT_SYMBOL vmlinux 0x7c132b17 mmc_can_trim +EXPORT_SYMBOL vmlinux 0x7c151f8d acpi_dev_get_first_match_dev +EXPORT_SYMBOL vmlinux 0x7c1589ba rproc_add_carveout +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c1e4fe5 pci_scan_bus +EXPORT_SYMBOL vmlinux 0x7c2439f8 skb_queue_tail +EXPORT_SYMBOL vmlinux 0x7c253a5d mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x7c2fdc76 processors +EXPORT_SYMBOL vmlinux 0x7c459513 nla_append +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c5a9b23 device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0x7c61fe8d dcb_setapp +EXPORT_SYMBOL vmlinux 0x7c65606f blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x7c7361bf register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x7c823136 pin_user_pages +EXPORT_SYMBOL vmlinux 0x7c9ca58f __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x7c9e96f6 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x7ccedd60 inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0x7cd0aa29 vfs_get_fsid +EXPORT_SYMBOL vmlinux 0x7cd2481e configfs_register_group +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +EXPORT_SYMBOL vmlinux 0x7ce58981 kvrealloc +EXPORT_SYMBOL vmlinux 0x7cf1a077 __put_user_ns +EXPORT_SYMBOL vmlinux 0x7cf35220 vme_master_free +EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation +EXPORT_SYMBOL vmlinux 0x7d0ba682 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d12d76d acpi_get_parent +EXPORT_SYMBOL vmlinux 0x7d157751 __do_once_done +EXPORT_SYMBOL vmlinux 0x7d2806aa phy_disconnect +EXPORT_SYMBOL vmlinux 0x7d28b384 to_ndd +EXPORT_SYMBOL vmlinux 0x7d2a1ae8 inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x7d2f3fc6 ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x7d3388ef register_netdev +EXPORT_SYMBOL vmlinux 0x7d3c1d57 lookup_one_positive_unlocked +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d5844e1 file_modified +EXPORT_SYMBOL vmlinux 0x7d5e1008 __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x7d695b8e __mod_lruvec_page_state +EXPORT_SYMBOL vmlinux 0x7d6e29e1 key_validate +EXPORT_SYMBOL vmlinux 0x7d74d522 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x7d82af1a jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x7da4e3af fman_bind +EXPORT_SYMBOL vmlinux 0x7da6542a __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x7da7a206 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x7da82ec7 of_platform_device_create +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7dbb0d34 seq_printf +EXPORT_SYMBOL vmlinux 0x7dc3b004 dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0x7dc5ffa7 tc_skb_ext_tc_disable +EXPORT_SYMBOL vmlinux 0x7dcf4135 __xa_insert +EXPORT_SYMBOL vmlinux 0x7dd330c2 simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x7dd4d0f3 dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0x7de0ecf4 genphy_c37_read_status +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7dfea8a5 is_nd_pfn +EXPORT_SYMBOL vmlinux 0x7e01be77 mount_nodev +EXPORT_SYMBOL vmlinux 0x7e1bcaaf iov_iter_alignment +EXPORT_SYMBOL vmlinux 0x7e219981 eth_header_parse +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e39fe76 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x7e4c8b95 sock_kzfree_s +EXPORT_SYMBOL vmlinux 0x7e4c9e82 udp_read_sock +EXPORT_SYMBOL vmlinux 0x7e52ef8f __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0x7e5efa9d udp_poll +EXPORT_SYMBOL vmlinux 0x7e7a6cea param_array_ops +EXPORT_SYMBOL vmlinux 0x7e8b830c kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0x7e8c8684 of_get_next_available_child +EXPORT_SYMBOL vmlinux 0x7e901809 pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0x7eb7d4fd sock_no_connect +EXPORT_SYMBOL vmlinux 0x7ec3f954 simple_lookup +EXPORT_SYMBOL vmlinux 0x7f0180fb xfrm_input +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f0b39a7 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x7f237bc7 tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f2f6448 security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0x7f52071a net_dim +EXPORT_SYMBOL vmlinux 0x7f5b4fe4 sg_free_table +EXPORT_SYMBOL vmlinux 0x7f686098 mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0x7f6aac55 scsi_add_device +EXPORT_SYMBOL vmlinux 0x7f6c3291 set_anon_super +EXPORT_SYMBOL vmlinux 0x7f740aa8 nla_reserve +EXPORT_SYMBOL vmlinux 0x7f762d47 netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0x7f775920 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7fbff951 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x7fc30529 pnp_disable_dev +EXPORT_SYMBOL vmlinux 0x7fcbf4e4 sk_ns_capable +EXPORT_SYMBOL vmlinux 0x7fce778e tegra_ivc_total_queue_size +EXPORT_SYMBOL vmlinux 0x7fdb344c tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x7fdc51ac mmc_of_parse_clk_phase +EXPORT_SYMBOL vmlinux 0x7fe105d7 bman_ip_rev +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x7ff7cbde lookup_one +EXPORT_SYMBOL vmlinux 0x80204e57 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x8025bec7 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x8029718f scm_detach_fds +EXPORT_SYMBOL vmlinux 0x802a73fd rproc_elf_load_rsc_table +EXPORT_SYMBOL vmlinux 0x8039a4e2 d_alloc +EXPORT_SYMBOL vmlinux 0x803ddbb6 __posix_acl_create +EXPORT_SYMBOL vmlinux 0x8040d479 serio_close +EXPORT_SYMBOL vmlinux 0x8048eccb simple_pin_fs +EXPORT_SYMBOL vmlinux 0x804a126c vme_bus_error_handler +EXPORT_SYMBOL vmlinux 0x804b7028 d_obtain_alias +EXPORT_SYMBOL vmlinux 0x806581a6 config_group_find_item +EXPORT_SYMBOL vmlinux 0x80662e13 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x80787f19 mipi_dsi_dcs_set_pixel_format +EXPORT_SYMBOL vmlinux 0x808bfddc scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x809712ff hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x8098e235 xsk_get_pool_from_qid +EXPORT_SYMBOL vmlinux 0x809decb2 neigh_seq_next +EXPORT_SYMBOL vmlinux 0x809f9784 nlmsg_notify +EXPORT_SYMBOL vmlinux 0x80a717a8 __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x80bb7ff5 folio_add_lru +EXPORT_SYMBOL vmlinux 0x80bd94b0 skb_tx_error +EXPORT_SYMBOL vmlinux 0x80bf857a ps2_sliced_command +EXPORT_SYMBOL vmlinux 0x80c3d4fa mmc_gpio_get_ro +EXPORT_SYMBOL vmlinux 0x80c79722 _copy_to_iter +EXPORT_SYMBOL vmlinux 0x80ca5026 _bin2bcd +EXPORT_SYMBOL vmlinux 0x80cab87c qdisc_reset +EXPORT_SYMBOL vmlinux 0x80d32d68 vfs_fileattr_set +EXPORT_SYMBOL vmlinux 0x80d68d3e fb_register_client +EXPORT_SYMBOL vmlinux 0x80e5f86f fscrypt_fname_alloc_buffer +EXPORT_SYMBOL vmlinux 0x80ec0d50 qman_init_fq +EXPORT_SYMBOL vmlinux 0x80f567cd padata_alloc_shell +EXPORT_SYMBOL vmlinux 0x80fff807 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x8104c2ea folio_end_writeback +EXPORT_SYMBOL vmlinux 0x810bef7e sg_free_append_table +EXPORT_SYMBOL vmlinux 0x8112b3d2 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x81188c30 match_string +EXPORT_SYMBOL vmlinux 0x8118f903 uart_register_driver +EXPORT_SYMBOL vmlinux 0x811b3a69 vfs_iter_read +EXPORT_SYMBOL vmlinux 0x814d8a8b nf_ct_attach +EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x8159eb46 notify_change +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x817aec31 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x818416e1 scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x818790e6 sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0x818edf97 cpm_muram_alloc +EXPORT_SYMBOL vmlinux 0x81a0bbe3 param_get_bool +EXPORT_SYMBOL vmlinux 0x81a1eb59 utf8_unload +EXPORT_SYMBOL vmlinux 0x81a61f8d devm_devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x81b20e8b ucc_fast_transmit_on_demand +EXPORT_SYMBOL vmlinux 0x81cad759 send_sig_info +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e6b37f dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x821411d9 platform_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x821c1ec6 netpoll_send_skb +EXPORT_SYMBOL vmlinux 0x8223e6cf xattr_full_name +EXPORT_SYMBOL vmlinux 0x822b6eef tegra_dfll_suspend +EXPORT_SYMBOL vmlinux 0x822daa49 pci_release_regions +EXPORT_SYMBOL vmlinux 0x82311124 rproc_coredump_add_custom_segment +EXPORT_SYMBOL vmlinux 0x823d3505 cmxgcr_lock +EXPORT_SYMBOL vmlinux 0x8255ebe9 d_delete +EXPORT_SYMBOL vmlinux 0x8263a6d9 proc_douintvec +EXPORT_SYMBOL vmlinux 0x827f3be5 seq_read +EXPORT_SYMBOL vmlinux 0x82865478 inet_protos +EXPORT_SYMBOL vmlinux 0x8296d93c pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0x829caf3d param_set_bool +EXPORT_SYMBOL vmlinux 0x82a1b868 __block_write_full_page +EXPORT_SYMBOL vmlinux 0x82aad0dd mmc_gpiod_request_ro +EXPORT_SYMBOL vmlinux 0x82c87ad5 nr_online_nodes +EXPORT_SYMBOL vmlinux 0x82d2e154 tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0x82d4bc5b __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0x82d530dd find_inode_rcu +EXPORT_SYMBOL vmlinux 0x82d5a59e fb_prepare_logo +EXPORT_SYMBOL vmlinux 0x82e6ce94 pci_iounmap +EXPORT_SYMBOL vmlinux 0x82e82159 ps2_command +EXPORT_SYMBOL vmlinux 0x8310c397 fs_bio_set +EXPORT_SYMBOL vmlinux 0x8320a8fc xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x8326381e param_ops_bint +EXPORT_SYMBOL vmlinux 0x833a328a folio_migrate_flags +EXPORT_SYMBOL vmlinux 0x833aeae7 is_acpi_data_node +EXPORT_SYMBOL vmlinux 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x83657c40 tty_devnum +EXPORT_SYMBOL vmlinux 0x837b7b09 __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0x838d2bc8 siphash_3u32 +EXPORT_SYMBOL vmlinux 0x838de657 flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0x83bba79c put_disk +EXPORT_SYMBOL vmlinux 0x83c2bdeb fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x83c98a79 netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0x83e370fb mount_bdev +EXPORT_SYMBOL vmlinux 0x83f4e26a pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x840342c6 sgl_free +EXPORT_SYMBOL vmlinux 0x84165817 pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0x841d21e9 vfs_link +EXPORT_SYMBOL vmlinux 0x8423d5cb kernel_param_unlock +EXPORT_SYMBOL vmlinux 0x8427cc7b _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0x8436d283 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x8455e3a7 dma_fence_signal_timestamp_locked +EXPORT_SYMBOL vmlinux 0x845b6a63 netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0x845f4670 sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0x84735fd9 filemap_invalidate_lock_two +EXPORT_SYMBOL vmlinux 0x847dab63 bio_alloc_clone +EXPORT_SYMBOL vmlinux 0x84818f57 tegra_powergate_power_on +EXPORT_SYMBOL vmlinux 0x84823cf3 nla_strscpy +EXPORT_SYMBOL vmlinux 0x849cac31 kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0x849f69be cros_ec_cmd_xfer +EXPORT_SYMBOL vmlinux 0x84a0ca4d bitmap_zalloc_node +EXPORT_SYMBOL vmlinux 0x84bf9a5c pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x84c03e9a rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0x84c1c552 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x84c4040c security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0x84c6bd69 inet_recvmsg +EXPORT_SYMBOL vmlinux 0x84cf1274 generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0x84ecaf17 param_ops_short +EXPORT_SYMBOL vmlinux 0x84f66291 tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0x850a796c __sk_receive_skb +EXPORT_SYMBOL vmlinux 0x850cd81d vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0x850f7fc5 page_pool_alloc_frag +EXPORT_SYMBOL vmlinux 0x8512372a pm_vt_switch_unregister +EXPORT_SYMBOL vmlinux 0x8518a4a6 _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x851b9121 xudma_dev_get_psil_base +EXPORT_SYMBOL vmlinux 0x852c41fb vfs_fadvise +EXPORT_SYMBOL vmlinux 0x85368cc1 __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x85410ea0 pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x854589fa ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x854fec83 tegra_sku_info +EXPORT_SYMBOL vmlinux 0x8550ffab key_unlink +EXPORT_SYMBOL vmlinux 0x856615b6 key_revoke +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x857f1886 rtnl_notify +EXPORT_SYMBOL vmlinux 0x85874533 km_policy_expired +EXPORT_SYMBOL vmlinux 0x8591d7d5 ledtrig_mtd_activity +EXPORT_SYMBOL vmlinux 0x8592ea5e pci_read_config_word +EXPORT_SYMBOL vmlinux 0x8596dc59 __skb_checksum +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85bbc1e9 vme_unregister_bridge +EXPORT_SYMBOL vmlinux 0x85bd1608 __request_region +EXPORT_SYMBOL vmlinux 0x85d056b9 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e111c8 tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0x85ebcfff blkdev_compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0x85efc7e0 zero_pfn +EXPORT_SYMBOL vmlinux 0x8609ada5 kernel_bind +EXPORT_SYMBOL vmlinux 0x8629b77a tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0x862bb756 sock_register +EXPORT_SYMBOL vmlinux 0x862c8035 bitmap_alloc_node +EXPORT_SYMBOL vmlinux 0x863a276a color_table +EXPORT_SYMBOL vmlinux 0x865ab120 rpmh_write_async +EXPORT_SYMBOL vmlinux 0x866a62b2 gnet_stats_basic_sync_init +EXPORT_SYMBOL vmlinux 0x867dab7c inet_stream_ops +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x868f31b1 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x86985ccb fsync_bdev +EXPORT_SYMBOL vmlinux 0x86ab2d25 devm_kvasprintf +EXPORT_SYMBOL vmlinux 0x86ad223a sk_net_capable +EXPORT_SYMBOL vmlinux 0x86b30533 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x86be5c15 param_set_ullong +EXPORT_SYMBOL vmlinux 0x86d02276 devm_rproc_alloc +EXPORT_SYMBOL vmlinux 0x86d52ba5 lookup_constant +EXPORT_SYMBOL vmlinux 0x86dd708d tc_skb_ext_tc_enable +EXPORT_SYMBOL vmlinux 0x86e0b37d flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0x86e47beb ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0x86e9dce7 zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x86ea0ded icmp_ndo_send +EXPORT_SYMBOL vmlinux 0x86fb6e04 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x8720eb48 single_release +EXPORT_SYMBOL vmlinux 0x872a9719 pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0x874799a1 nvdimm_bus_unlock +EXPORT_SYMBOL vmlinux 0x874a5891 filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0x87508693 audit_log +EXPORT_SYMBOL vmlinux 0x8761c87b rps_needed +EXPORT_SYMBOL vmlinux 0x87761528 __traceiter_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x87794a8f seq_path +EXPORT_SYMBOL vmlinux 0x878445c2 generic_setlease +EXPORT_SYMBOL vmlinux 0x878c7c98 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x87a21cb3 __ubsan_handle_out_of_bounds +EXPORT_SYMBOL vmlinux 0x87a5c816 pci_disable_device +EXPORT_SYMBOL vmlinux 0x87a7c3b1 phy_aneg_done +EXPORT_SYMBOL vmlinux 0x87b8798d sg_next +EXPORT_SYMBOL vmlinux 0x87fc72b9 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x8810754a _find_first_bit +EXPORT_SYMBOL vmlinux 0x881bad5e phy_mipi_dphy_config_validate +EXPORT_SYMBOL vmlinux 0x881c4413 gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0x8832c62d param_set_int +EXPORT_SYMBOL vmlinux 0x88429fde should_remove_suid +EXPORT_SYMBOL vmlinux 0x88495c2a flush_signals +EXPORT_SYMBOL vmlinux 0x884defd3 ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0x884e79ae kthread_bind +EXPORT_SYMBOL vmlinux 0x8856b913 of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x88628c6e xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x8869e899 phy_advertise_supported +EXPORT_SYMBOL vmlinux 0x886d36fe phy_attached_info +EXPORT_SYMBOL vmlinux 0x88715a4f input_register_handler +EXPORT_SYMBOL vmlinux 0x88822d38 unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x8888f1fe xxh32 +EXPORT_SYMBOL vmlinux 0x889b1370 _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x88a4dedd open_exec +EXPORT_SYMBOL vmlinux 0x88db9f48 __check_object_size +EXPORT_SYMBOL vmlinux 0x88e1d0f0 page_frag_free +EXPORT_SYMBOL vmlinux 0x88f47add dev_driver_string +EXPORT_SYMBOL vmlinux 0x88f9f47a pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x88ffb06a mii_link_ok +EXPORT_SYMBOL vmlinux 0x891cd029 blk_cleanup_disk +EXPORT_SYMBOL vmlinux 0x8924a8dc inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x8925ae02 param_get_ullong +EXPORT_SYMBOL vmlinux 0x8927ae2b file_update_time +EXPORT_SYMBOL vmlinux 0x893580df netdev_emerg +EXPORT_SYMBOL vmlinux 0x8936a41e flush_dcache_page +EXPORT_SYMBOL vmlinux 0x893f4da6 ip6_output +EXPORT_SYMBOL vmlinux 0x89434b4b radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x8943e6a8 cros_ec_get_host_event +EXPORT_SYMBOL vmlinux 0x8946ea72 fpsimd_context_busy +EXPORT_SYMBOL vmlinux 0x8947d3bf skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x8958881c sg_alloc_table_from_pages_segment +EXPORT_SYMBOL vmlinux 0x895bec4a blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x895d55af cad_pid +EXPORT_SYMBOL vmlinux 0x895f0115 elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0x896aca3f __napi_schedule +EXPORT_SYMBOL vmlinux 0x896dba07 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x89732086 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x897e1697 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x898575b1 add_watch_to_object +EXPORT_SYMBOL vmlinux 0x89940875 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x89983062 mmc_detect_change +EXPORT_SYMBOL vmlinux 0x89bb2e5b mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x89bd0f7e mipi_dsi_dcs_set_page_address +EXPORT_SYMBOL vmlinux 0x89c6c090 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x89e6e071 dst_discard_out +EXPORT_SYMBOL vmlinux 0x89ee15ea inet_shutdown +EXPORT_SYMBOL vmlinux 0x8a09f0af devm_ioremap_np +EXPORT_SYMBOL vmlinux 0x8a0de39f udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x8a2da956 phy_ethtool_get_eee +EXPORT_SYMBOL vmlinux 0x8a3b9ee0 posix_lock_file +EXPORT_SYMBOL vmlinux 0x8a3e4c37 flow_block_cb_free +EXPORT_SYMBOL vmlinux 0x8a47043d LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a7094ba vm_brk_flags +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8ac05958 phy_write_mmd +EXPORT_SYMBOL vmlinux 0x8ac136ae imx_sc_misc_get_control +EXPORT_SYMBOL vmlinux 0x8ac3334b net_dim_get_def_rx_moderation +EXPORT_SYMBOL vmlinux 0x8ac743de sg_copy_buffer +EXPORT_SYMBOL vmlinux 0x8af5bf27 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x8af7b777 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x8b0088d1 LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x8b055674 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x8b0f3dd6 __folio_cancel_dirty +EXPORT_SYMBOL vmlinux 0x8b18d69c param_set_short +EXPORT_SYMBOL vmlinux 0x8b18e2c0 __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x8b2ffd83 __cpu_present_mask +EXPORT_SYMBOL vmlinux 0x8b5ba7b5 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b63c41d __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x8b8059bd in_group_p +EXPORT_SYMBOL vmlinux 0x8b816b02 dev_addr_mod +EXPORT_SYMBOL vmlinux 0x8b90d4f6 amba_driver_unregister +EXPORT_SYMBOL vmlinux 0x8b910be2 errseq_sample +EXPORT_SYMBOL vmlinux 0x8b989cf9 acpi_bus_can_wakeup +EXPORT_SYMBOL vmlinux 0x8bbc5b0f simple_transaction_read +EXPORT_SYMBOL vmlinux 0x8bcd0ce7 make_bad_inode +EXPORT_SYMBOL vmlinux 0x8bdfc47c __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x8be189ab ucc_slow_disable +EXPORT_SYMBOL vmlinux 0x8bf66a5e devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x8bf92539 __traceiter_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0x8c1a32c8 xsk_tx_release +EXPORT_SYMBOL vmlinux 0x8c1a78c3 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x8c239a5c ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x8c26d495 prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x8c30bf67 zstd_dctx_workspace_bound +EXPORT_SYMBOL vmlinux 0x8c4719ed phy_ethtool_nway_reset +EXPORT_SYMBOL vmlinux 0x8c683fcd posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x8c8569cb kstrtoint +EXPORT_SYMBOL vmlinux 0x8c88cd03 generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0x8c9e338f acpi_bios_error +EXPORT_SYMBOL vmlinux 0x8ca27de6 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x8caf9305 uuid_is_valid +EXPORT_SYMBOL vmlinux 0x8cb44860 padata_do_parallel +EXPORT_SYMBOL vmlinux 0x8cbaf30c iptun_encaps +EXPORT_SYMBOL vmlinux 0x8cc053fe fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0x8cc53d20 __par_io_config_pin +EXPORT_SYMBOL vmlinux 0x8cd57db3 __mmap_lock_do_trace_released +EXPORT_SYMBOL vmlinux 0x8cda8029 xen_clear_irq_pending +EXPORT_SYMBOL vmlinux 0x8ce328a3 take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0x8cf02bc8 unregister_md_personality +EXPORT_SYMBOL vmlinux 0x8cf077d4 jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x8cf33b8d pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x8d0b12a6 mipi_dsi_dcs_write_buffer +EXPORT_SYMBOL vmlinux 0x8d0cec17 simple_fill_super +EXPORT_SYMBOL vmlinux 0x8d182d76 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x8d198bdc inc_nlink +EXPORT_SYMBOL vmlinux 0x8d2696be fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0x8d2db26c of_parse_phandle_with_args_map +EXPORT_SYMBOL vmlinux 0x8d38347b jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x8d4112df qcom_scm_mem_protect_video_var +EXPORT_SYMBOL vmlinux 0x8d49508f dev_get_stats +EXPORT_SYMBOL vmlinux 0x8d4d46c4 mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x8d55bb8a qid_eq +EXPORT_SYMBOL vmlinux 0x8d5cbb4b skb_dump +EXPORT_SYMBOL vmlinux 0x8d73278e hex_asc_upper +EXPORT_SYMBOL vmlinux 0x8d9ca0e6 dma_fence_enable_sw_signaling +EXPORT_SYMBOL vmlinux 0x8da6585d __stack_chk_fail +EXPORT_SYMBOL vmlinux 0x8daedb79 cpumask_any_but +EXPORT_SYMBOL vmlinux 0x8dbc3529 clk_bulk_get +EXPORT_SYMBOL vmlinux 0x8dc07320 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x8dda8205 of_find_net_device_by_node +EXPORT_SYMBOL vmlinux 0x8ddd8aad schedule_timeout +EXPORT_SYMBOL vmlinux 0x8dea4f53 bio_reset +EXPORT_SYMBOL vmlinux 0x8deb3ba1 submit_bio_noacct +EXPORT_SYMBOL vmlinux 0x8dee722d _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0x8df4afd9 qe_put_snum +EXPORT_SYMBOL vmlinux 0x8df5d076 phy_init_hw +EXPORT_SYMBOL vmlinux 0x8df92f66 memchr_inv +EXPORT_SYMBOL vmlinux 0x8df9dd10 guid_null +EXPORT_SYMBOL vmlinux 0x8dfa9d2a scsi_ioctl +EXPORT_SYMBOL vmlinux 0x8dfbb1e2 pm_vt_switch_required +EXPORT_SYMBOL vmlinux 0x8e00d0da iov_iter_advance +EXPORT_SYMBOL vmlinux 0x8e094766 mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0x8e17b3ae idr_destroy +EXPORT_SYMBOL vmlinux 0x8e184c0d security_inode_copy_up +EXPORT_SYMBOL vmlinux 0x8e21c9a1 dma_fence_add_callback +EXPORT_SYMBOL vmlinux 0x8e27bf4d single_open_size +EXPORT_SYMBOL vmlinux 0x8e3e0f7d fault_in_readable +EXPORT_SYMBOL vmlinux 0x8e4c60a3 cpm_muram_dma +EXPORT_SYMBOL vmlinux 0x8e770b61 kernel_read +EXPORT_SYMBOL vmlinux 0x8e8a44cd inet_ioctl +EXPORT_SYMBOL vmlinux 0x8e93bd24 security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x8ea7e315 ata_std_end_eh +EXPORT_SYMBOL vmlinux 0x8eac073a blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0x8ebb79e5 __mdiobus_write +EXPORT_SYMBOL vmlinux 0x8ed65d37 dma_unmap_page_attrs +EXPORT_SYMBOL vmlinux 0x8ee6d468 complete_request_key +EXPORT_SYMBOL vmlinux 0x8eed2449 sock_i_uid +EXPORT_SYMBOL vmlinux 0x8ef36923 d_exact_alias +EXPORT_SYMBOL vmlinux 0x8f01afd6 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x8f087fed dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0x8f10dc24 dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x8f1ea6a4 inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0x8f30fa80 gpiochip_irq_reqres +EXPORT_SYMBOL vmlinux 0x8f477449 netdev_pick_tx +EXPORT_SYMBOL vmlinux 0x8f4e0f63 devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0x8f5baa3b genl_notify +EXPORT_SYMBOL vmlinux 0x8f61fead register_framebuffer +EXPORT_SYMBOL vmlinux 0x8f980370 __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0x8f996a30 ethtool_convert_legacy_u32_to_link_mode +EXPORT_SYMBOL vmlinux 0x8fa25c24 xa_find +EXPORT_SYMBOL vmlinux 0x8fb9bc05 noop_fsync +EXPORT_SYMBOL vmlinux 0x8fc845cb security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0x8fc9ea11 fman_port_cfg_buf_prefix_content +EXPORT_SYMBOL vmlinux 0x8fd180e7 kernel_neon_begin +EXPORT_SYMBOL vmlinux 0x8fdb0752 abort_creds +EXPORT_SYMBOL vmlinux 0x8fe0df99 t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0x8fe37553 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x8ff89ed0 seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x90006be6 dm_kcopyd_client_flush +EXPORT_SYMBOL vmlinux 0x900935c7 rpmh_write_batch +EXPORT_SYMBOL vmlinux 0x902541c0 mdio_driver_register +EXPORT_SYMBOL vmlinux 0x902d8722 vme_slave_get +EXPORT_SYMBOL vmlinux 0x902f5199 cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0x90334eab security_inet_conn_request +EXPORT_SYMBOL vmlinux 0x9034a696 mempool_destroy +EXPORT_SYMBOL vmlinux 0x903ad4a4 acpi_processor_notify_smm +EXPORT_SYMBOL vmlinux 0x90463978 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x905695ab sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x90576ec4 vmemdup_user +EXPORT_SYMBOL vmlinux 0x907cdb01 __i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x907ea00e set_security_override +EXPORT_SYMBOL vmlinux 0x90b856c8 mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0x90d322dd scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x90e273e2 cred_fscmp +EXPORT_SYMBOL vmlinux 0x90efc616 inode_dio_wait +EXPORT_SYMBOL vmlinux 0x90f97e16 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x90fc7cbb of_find_all_nodes +EXPORT_SYMBOL vmlinux 0x9103b147 dev_change_flags +EXPORT_SYMBOL vmlinux 0x9114b616 __xa_alloc +EXPORT_SYMBOL vmlinux 0x912266b5 register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x9144815a set_binfmt +EXPORT_SYMBOL vmlinux 0x91576a37 param_ops_byte +EXPORT_SYMBOL vmlinux 0x9166fada strncpy +EXPORT_SYMBOL vmlinux 0x9166fc03 __flush_workqueue +EXPORT_SYMBOL vmlinux 0x916fe296 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x91705628 unlock_buffer +EXPORT_SYMBOL vmlinux 0x91823a58 devfreq_recommended_opp +EXPORT_SYMBOL vmlinux 0x91926074 input_event +EXPORT_SYMBOL vmlinux 0x91988166 __devm_mdiobus_register +EXPORT_SYMBOL vmlinux 0x919c58f3 __clzsi2 +EXPORT_SYMBOL vmlinux 0x919f9945 xp_free +EXPORT_SYMBOL vmlinux 0x91a488ac __netdev_alloc_frag_align +EXPORT_SYMBOL vmlinux 0x91a7b1da qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x91c0980e icst_hz +EXPORT_SYMBOL vmlinux 0x91c89c10 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x91d5e543 mmc_gpiod_request_cd_irq +EXPORT_SYMBOL vmlinux 0x91dae60b mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x91e657d2 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x91e9adb6 netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0x91f44510 idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x91f4d6a1 security_locked_down +EXPORT_SYMBOL vmlinux 0x91f68ea1 __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x91fc3a33 scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0x91fc8b49 input_unregister_device +EXPORT_SYMBOL vmlinux 0x92012b9c phy_get_pause +EXPORT_SYMBOL vmlinux 0x92224b46 generic_write_checks +EXPORT_SYMBOL vmlinux 0x922f45a6 __bitmap_clear +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x924ef2e6 d_instantiate +EXPORT_SYMBOL vmlinux 0x92540fbf finish_wait +EXPORT_SYMBOL vmlinux 0x9258c776 hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x92774cf8 __kfence_pool +EXPORT_SYMBOL vmlinux 0x928684e4 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x928abfae cdev_add +EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user +EXPORT_SYMBOL vmlinux 0x9296122b flow_rule_match_control +EXPORT_SYMBOL vmlinux 0x9299538c skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0x92997ed8 _printk +EXPORT_SYMBOL vmlinux 0x92a17678 udp_gro_complete +EXPORT_SYMBOL vmlinux 0x92afb7f9 simple_setattr +EXPORT_SYMBOL vmlinux 0x92b99a33 acpi_put_table +EXPORT_SYMBOL vmlinux 0x92b9b180 slash_name +EXPORT_SYMBOL vmlinux 0x92bf3871 iov_iter_npages +EXPORT_SYMBOL vmlinux 0x92c568db vme_dma_request +EXPORT_SYMBOL vmlinux 0x92c6fa6e jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x92d5838e request_threaded_irq +EXPORT_SYMBOL vmlinux 0x92d7431c inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x92d77aa0 migrate_vma_finalize +EXPORT_SYMBOL vmlinux 0x92e683f5 down_timeout +EXPORT_SYMBOL vmlinux 0x92ec510d jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x92f69370 xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL vmlinux 0x93022ba6 __scsi_format_command +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x93177bfd d_genocide +EXPORT_SYMBOL vmlinux 0x9324a7d1 blk_put_queue +EXPORT_SYMBOL vmlinux 0x9367fa2c mipi_dsi_dcs_set_tear_on +EXPORT_SYMBOL vmlinux 0x936de5ea ipmi_platform_add +EXPORT_SYMBOL vmlinux 0x937733e3 qid_valid +EXPORT_SYMBOL vmlinux 0x9390c8ba dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x93984001 rtc_add_group +EXPORT_SYMBOL vmlinux 0x939ffe46 get_fs_type +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93ae5e48 of_device_alloc +EXPORT_SYMBOL vmlinux 0x93b1dfde dquot_operations +EXPORT_SYMBOL vmlinux 0x93b3fc74 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x93d6dd8c complete_all +EXPORT_SYMBOL vmlinux 0x93d9e576 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x93e8a98f mipi_dsi_dcs_nop +EXPORT_SYMBOL vmlinux 0x93eb74ea clk_get +EXPORT_SYMBOL vmlinux 0x93fa07e8 genphy_read_master_slave +EXPORT_SYMBOL vmlinux 0x93fe3d5f pnpacpi_protocol +EXPORT_SYMBOL vmlinux 0x94170d9c register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x9428f816 dim_turn +EXPORT_SYMBOL vmlinux 0x944375db _totalram_pages +EXPORT_SYMBOL vmlinux 0x94468c89 devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0x944a564d is_console_locked +EXPORT_SYMBOL vmlinux 0x947d8e0a scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x9487d3e1 ns_capable +EXPORT_SYMBOL vmlinux 0x948d216e elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x948fb36e blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94964f11 uart_add_one_port +EXPORT_SYMBOL vmlinux 0x949eb4c9 bio_endio +EXPORT_SYMBOL vmlinux 0x94baf08c security_socket_socketpair +EXPORT_SYMBOL vmlinux 0x94bb7ec3 gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0x94bf03ca utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x94c5329d skb_append +EXPORT_SYMBOL vmlinux 0x94da30d5 __d_drop +EXPORT_SYMBOL vmlinux 0x94e50ad4 call_fib_notifier +EXPORT_SYMBOL vmlinux 0x94f51fad vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0x94fc8d93 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x9507c90f copy_fsxattr_to_user +EXPORT_SYMBOL vmlinux 0x950f6af2 pcie_set_mps +EXPORT_SYMBOL vmlinux 0x9511a024 init_task +EXPORT_SYMBOL vmlinux 0x952e742f nf_getsockopt +EXPORT_SYMBOL vmlinux 0x953d15d1 balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0x953d2426 utf8_strncmp +EXPORT_SYMBOL vmlinux 0x954b8ae1 phy_ethtool_set_wol +EXPORT_SYMBOL vmlinux 0x954cef6f init_on_alloc +EXPORT_SYMBOL vmlinux 0x954f099c idr_preload +EXPORT_SYMBOL vmlinux 0x955ccbb6 get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0x958bc7cf unregister_console +EXPORT_SYMBOL vmlinux 0x958cc0d0 gpiochip_irq_relres +EXPORT_SYMBOL vmlinux 0x9594af50 lease_modify +EXPORT_SYMBOL vmlinux 0x959778aa netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0x95a67b07 udp_table +EXPORT_SYMBOL vmlinux 0x95abcfa1 twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x95b7f81b acpi_pm_device_sleep_state +EXPORT_SYMBOL vmlinux 0x95c41cea pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x95f840c9 phy_read_mmd +EXPORT_SYMBOL vmlinux 0x961cd749 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x961d71ee i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x96404275 registered_fb +EXPORT_SYMBOL vmlinux 0x96445d51 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x96445fbf inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x9661504d noop_dirty_folio +EXPORT_SYMBOL vmlinux 0x9669e546 __register_chrdev +EXPORT_SYMBOL vmlinux 0x96848186 scnprintf +EXPORT_SYMBOL vmlinux 0x9688de8b memstart_addr +EXPORT_SYMBOL vmlinux 0x968bf70d ip_check_defrag +EXPORT_SYMBOL vmlinux 0x96949d01 d_alloc_name +EXPORT_SYMBOL vmlinux 0x96959f2c mdio_device_reset +EXPORT_SYMBOL vmlinux 0x9697aab6 phy_drivers_register +EXPORT_SYMBOL vmlinux 0x96acc1f0 device_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x96af7e91 dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0x96b278bc stream_open +EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96c17136 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x96c906d7 nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96d64514 phy_mac_interrupt +EXPORT_SYMBOL vmlinux 0x96df56cb fwnode_mdiobus_register_phy +EXPORT_SYMBOL vmlinux 0x96e5d30f gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0x96fab350 dim_park_on_top +EXPORT_SYMBOL vmlinux 0x9702df19 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x9713fa96 dev_uc_sync +EXPORT_SYMBOL vmlinux 0x9720b750 param_get_long +EXPORT_SYMBOL vmlinux 0x973e5f77 ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x973fa82e register_acpi_notifier +EXPORT_SYMBOL vmlinux 0x975e7c1c inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x975f2510 __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0x97658517 folio_mapped +EXPORT_SYMBOL vmlinux 0x9773243b netif_device_attach +EXPORT_SYMBOL vmlinux 0x97934ecf del_timer_sync +EXPORT_SYMBOL vmlinux 0x97a16b9d vm_map_ram +EXPORT_SYMBOL vmlinux 0x97a57333 crc_t10dif_update +EXPORT_SYMBOL vmlinux 0x97ac65fc pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x97adb487 utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x97b57ab1 secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0x97bdfa60 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x97bfbd48 netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0x97c785cf inet_offloads +EXPORT_SYMBOL vmlinux 0x97e2789a commit_creds +EXPORT_SYMBOL vmlinux 0x97ed2212 __tracepoint_spi_transfer_start +EXPORT_SYMBOL vmlinux 0x97ee42af netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0x97f1288a build_skb_around +EXPORT_SYMBOL vmlinux 0x97f2a91d folio_migrate_mapping +EXPORT_SYMBOL vmlinux 0x97f41099 get_thermal_instance +EXPORT_SYMBOL vmlinux 0x97f48a64 vme_master_mmap +EXPORT_SYMBOL vmlinux 0x97feab3d param_get_string +EXPORT_SYMBOL vmlinux 0x980d20f8 pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0x9810558d tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0x98157c06 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x981ca841 tso_build_hdr +EXPORT_SYMBOL vmlinux 0x98293980 inode_insert5 +EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x982bcde4 __cpu_dying_mask +EXPORT_SYMBOL vmlinux 0x98384f6a ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x983aee68 skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0x9843d43d mount_subtree +EXPORT_SYMBOL vmlinux 0x9846bc85 __alloc_pages +EXPORT_SYMBOL vmlinux 0x984b8af0 netif_receive_skb +EXPORT_SYMBOL vmlinux 0x984bd249 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x986525ae nd_device_register +EXPORT_SYMBOL vmlinux 0x986b53d1 mmc_can_gpio_cd +EXPORT_SYMBOL vmlinux 0x987552a9 devfreq_get_freq_range +EXPORT_SYMBOL vmlinux 0x98a08c22 cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0x98a4f7e5 of_graph_is_present +EXPORT_SYMBOL vmlinux 0x98afa728 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x98c039dc dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0x98c855c5 of_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x98c89ade security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x98cf60b3 strlen +EXPORT_SYMBOL vmlinux 0x98d02542 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x98e42279 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x98e508ef ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x99094fb2 qcom_scm_is_available +EXPORT_SYMBOL vmlinux 0x9917111f skb_eth_pop +EXPORT_SYMBOL vmlinux 0x9917fc8e ip_frag_init +EXPORT_SYMBOL vmlinux 0x99271af3 mipi_dsi_picture_parameter_set +EXPORT_SYMBOL vmlinux 0x9931f8c9 qcom_scm_lmh_dcvsh_available +EXPORT_SYMBOL vmlinux 0x9939eba0 backlight_unregister_notifier +EXPORT_SYMBOL vmlinux 0x993fd18d flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0x994823d1 keyring_clear +EXPORT_SYMBOL vmlinux 0x99510179 cdc_parse_cdc_header +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x995aeef5 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x9969291f __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x9975dc22 acpi_get_handle +EXPORT_SYMBOL vmlinux 0x9983d6ab netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x99847015 ethtool_get_phc_vclocks +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99a64808 tcp_child_process +EXPORT_SYMBOL vmlinux 0x99cdbe4b copy_page_from_iter +EXPORT_SYMBOL vmlinux 0x99d472b1 net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x99d72906 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x99daa9bf try_offline_node +EXPORT_SYMBOL vmlinux 0x99e87af7 devm_clk_release_clkdev +EXPORT_SYMBOL vmlinux 0x99f7371c refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x99f9638f __napi_alloc_frag_align +EXPORT_SYMBOL vmlinux 0x9a098111 tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0x9a0c3a18 vme_unregister_error_handler +EXPORT_SYMBOL vmlinux 0x9a19ce67 mipi_dsi_dcs_get_power_mode +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a22391e radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x9a42ea30 inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x9a46f73e misc_register +EXPORT_SYMBOL vmlinux 0x9a54ac2d module_layout +EXPORT_SYMBOL vmlinux 0x9a583306 netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x9a75c326 vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0x9aaeefce sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x9abc4414 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x9ad1897a pci_write_config_dword +EXPORT_SYMBOL vmlinux 0x9ad30e06 may_umount_tree +EXPORT_SYMBOL vmlinux 0x9ae47436 _find_last_bit +EXPORT_SYMBOL vmlinux 0x9af25d84 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x9b0b76a1 pci_get_subsys +EXPORT_SYMBOL vmlinux 0x9b128a66 qcom_scm_set_remote_state +EXPORT_SYMBOL vmlinux 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL vmlinux 0x9b33e0d7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x9b35021a xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x9b37dc67 blk_mq_alloc_disk_for_queue +EXPORT_SYMBOL vmlinux 0x9b496b21 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x9b4a1b13 pci_set_power_state +EXPORT_SYMBOL vmlinux 0x9b69f29c padata_do_serial +EXPORT_SYMBOL vmlinux 0x9b6c724e xudma_pktdma_tflow_get_irq +EXPORT_SYMBOL vmlinux 0x9b72478f acpi_unload_parent_table +EXPORT_SYMBOL vmlinux 0x9b757fa6 pps_register_source +EXPORT_SYMBOL vmlinux 0x9b83b0bc d_set_fallthru +EXPORT_SYMBOL vmlinux 0x9b92bf88 vlan_vid_del +EXPORT_SYMBOL vmlinux 0x9b9aa5a1 tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0x9bab9ba1 dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x9beeb96e tty_write_room +EXPORT_SYMBOL vmlinux 0x9c122bcf mempool_create_node +EXPORT_SYMBOL vmlinux 0x9c1dd6aa genphy_c37_config_aneg +EXPORT_SYMBOL vmlinux 0x9c1e5bf5 queued_spin_lock_slowpath +EXPORT_SYMBOL vmlinux 0x9c25e329 md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x9c2c9f40 lru_cache_add +EXPORT_SYMBOL vmlinux 0x9c4c17c3 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x9c5a2ada ucc_fast_dump_regs +EXPORT_SYMBOL vmlinux 0x9c5d5b94 crc8 +EXPORT_SYMBOL vmlinux 0x9c857401 cdev_set_parent +EXPORT_SYMBOL vmlinux 0x9c86b9ab fileattr_fill_flags +EXPORT_SYMBOL vmlinux 0x9ca24c8d of_match_device +EXPORT_SYMBOL vmlinux 0x9ca948a5 of_graph_get_next_endpoint +EXPORT_SYMBOL vmlinux 0x9cab34a6 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x9cb1acc3 skb_tunnel_check_pmtu +EXPORT_SYMBOL vmlinux 0x9cb4d71c cros_ec_query_all +EXPORT_SYMBOL vmlinux 0x9cc3339e dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0x9ccf7171 vme_dma_pci_attribute +EXPORT_SYMBOL vmlinux 0x9cd873eb devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x9cd91791 register_sysctl +EXPORT_SYMBOL vmlinux 0x9cdfb3f7 sysctl_fb_tunnels_only_for_init_net +EXPORT_SYMBOL vmlinux 0x9cf72d5e sget_fc +EXPORT_SYMBOL vmlinux 0x9cfbca66 thaw_super +EXPORT_SYMBOL vmlinux 0x9d035d67 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x9d0d6206 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x9d1a5e3a __memcpy +EXPORT_SYMBOL vmlinux 0x9d26675e zstd_cstream_workspace_bound +EXPORT_SYMBOL vmlinux 0x9d2ab8ac __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x9d2e7707 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9d3b9dc2 dmaenginem_async_device_register +EXPORT_SYMBOL vmlinux 0x9d5144ab flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0x9d5bd3a1 begin_new_exec +EXPORT_SYMBOL vmlinux 0x9d61e994 ucs2_strncmp +EXPORT_SYMBOL vmlinux 0x9d6a1757 d_instantiate_new +EXPORT_SYMBOL vmlinux 0x9d7ad0c8 __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x9d885742 of_graph_get_endpoint_by_regs +EXPORT_SYMBOL vmlinux 0x9d88d2f5 scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0x9d90d1be fifo_set_limit +EXPORT_SYMBOL vmlinux 0x9d92f3ad __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x9db0fc65 tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0x9db83252 of_get_parent +EXPORT_SYMBOL vmlinux 0x9dcc3a17 skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x9de95684 netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0x9df21d0e qman_affine_channel +EXPORT_SYMBOL vmlinux 0x9dfa2939 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0fa5ae hsiphash_3u32 +EXPORT_SYMBOL vmlinux 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL vmlinux 0x9e1dbe17 security_inet_conn_established +EXPORT_SYMBOL vmlinux 0x9e21bde7 has_capability +EXPORT_SYMBOL vmlinux 0x9e2737f0 acpi_install_interface_handler +EXPORT_SYMBOL vmlinux 0x9e423be9 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e5e750d node_to_cpumask_map +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e8537ce netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0x9e9eab95 devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x9e9fdd9d memunmap +EXPORT_SYMBOL vmlinux 0x9ea24a0e napi_complete_done +EXPORT_SYMBOL vmlinux 0x9eacf8a5 kstrndup +EXPORT_SYMBOL vmlinux 0x9eb15447 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x9eb187fa xudma_pktdma_rflow_get_irq +EXPORT_SYMBOL vmlinux 0x9ebbe7a2 skb_seq_read +EXPORT_SYMBOL vmlinux 0x9ec0e639 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0x9ec1e77b register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x9ec3733f textsearch_unregister +EXPORT_SYMBOL vmlinux 0x9ec6ca96 ktime_get_real_ts64 +EXPORT_SYMBOL vmlinux 0x9ed7c847 brcmstb_get_family_id +EXPORT_SYMBOL vmlinux 0x9ed978de vme_lm_set +EXPORT_SYMBOL vmlinux 0x9ee278af folio_clear_dirty_for_io +EXPORT_SYMBOL vmlinux 0x9eee2447 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x9f20bac6 of_node_name_eq +EXPORT_SYMBOL vmlinux 0x9f338376 scsi_done +EXPORT_SYMBOL vmlinux 0x9f413f32 skb_flow_dissect_hash +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f4c68bb inet_frag_find +EXPORT_SYMBOL vmlinux 0x9f4f2aa3 acpi_gbl_FADT +EXPORT_SYMBOL vmlinux 0x9f50b770 keyring_restrict +EXPORT_SYMBOL vmlinux 0x9f54ead7 gro_cells_destroy +EXPORT_SYMBOL vmlinux 0x9f76baf4 _raw_write_unlock_irq +EXPORT_SYMBOL vmlinux 0x9f7d7dbb logic_outsw +EXPORT_SYMBOL vmlinux 0x9f86d120 __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0x9f8fbb94 blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa3506c sk_wait_data +EXPORT_SYMBOL vmlinux 0x9fa7184a cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x9fa9613a iov_iter_bvec +EXPORT_SYMBOL vmlinux 0x9fb41842 netdev_offload_xstats_report_delta +EXPORT_SYMBOL vmlinux 0x9fd153c0 rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9feed7ce timer_reduce +EXPORT_SYMBOL vmlinux 0x9ff19224 phy_start_cable_test +EXPORT_SYMBOL vmlinux 0x9ffa3a75 netdev_max_backlog +EXPORT_SYMBOL vmlinux 0x9fff8828 ip_output +EXPORT_SYMBOL vmlinux 0xa00aca2a dql_completed +EXPORT_SYMBOL vmlinux 0xa01304a5 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0xa01d1194 par_io_of_config +EXPORT_SYMBOL vmlinux 0xa01d3df6 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0xa022c739 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0xa023c875 migrate_page +EXPORT_SYMBOL vmlinux 0xa027f5bd mmc_retune_unpause +EXPORT_SYMBOL vmlinux 0xa02aa74a __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xa033d747 next_arg +EXPORT_SYMBOL vmlinux 0xa0436e98 in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0xa04c7b46 sunxi_sram_claim +EXPORT_SYMBOL vmlinux 0xa04e33da qcom_scm_lmh_dcvsh +EXPORT_SYMBOL vmlinux 0xa057df8f twl_set_regcache_bypass +EXPORT_SYMBOL vmlinux 0xa05b6be2 psched_ppscfg_precompute +EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr +EXPORT_SYMBOL vmlinux 0xa07c7c1f find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0xa07d1b3c tasklet_setup +EXPORT_SYMBOL vmlinux 0xa084749a __bitmap_or +EXPORT_SYMBOL vmlinux 0xa08ae9f0 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0xa08ebef0 __vfs_getxattr +EXPORT_SYMBOL vmlinux 0xa095e02e generic_check_addressable +EXPORT_SYMBOL vmlinux 0xa09b39f7 vme_bus_num +EXPORT_SYMBOL vmlinux 0xa09dc4d8 serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0xa0a14700 nexthop_res_grp_activity_update +EXPORT_SYMBOL vmlinux 0xa0a27c4c set_posix_acl +EXPORT_SYMBOL vmlinux 0xa0a85986 generic_fadvise +EXPORT_SYMBOL vmlinux 0xa0ad26d3 dquot_transfer +EXPORT_SYMBOL vmlinux 0xa0ae1e73 siphash_3u64 +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0b3a5af phy_get_c45_ids +EXPORT_SYMBOL vmlinux 0xa0d4e537 flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0xa0d87339 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xa0dad88e netdev_adjacent_get_private +EXPORT_SYMBOL vmlinux 0xa0eae826 smp_call_function +EXPORT_SYMBOL vmlinux 0xa0ebd14c sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xa0ebd437 hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0xa0f3aae5 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa1199c43 of_count_phandle_with_args +EXPORT_SYMBOL vmlinux 0xa11de27a mmc_cqe_post_req +EXPORT_SYMBOL vmlinux 0xa1254126 phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0xa14063c2 con_is_bound +EXPORT_SYMBOL vmlinux 0xa150fc43 jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0xa18b992f xfrm_user_policy +EXPORT_SYMBOL vmlinux 0xa19dc56c generic_write_checks_count +EXPORT_SYMBOL vmlinux 0xa1bda1e3 ppp_input_error +EXPORT_SYMBOL vmlinux 0xa1cce978 make_kprojid +EXPORT_SYMBOL vmlinux 0xa1f47fec nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0xa1f76abd folio_mark_accessed +EXPORT_SYMBOL vmlinux 0xa1fe3fa2 locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0xa2060911 inet_current_timestamp +EXPORT_SYMBOL vmlinux 0xa2156b9a xfrm_input_resume +EXPORT_SYMBOL vmlinux 0xa21967f4 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0xa2249058 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0xa2326c49 acpi_remove_table_handler +EXPORT_SYMBOL vmlinux 0xa23f2e4c kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xa23ffc04 groups_sort +EXPORT_SYMBOL vmlinux 0xa24f23d8 __request_module +EXPORT_SYMBOL vmlinux 0xa25201ee eth_header_cache_update +EXPORT_SYMBOL vmlinux 0xa263892b fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0xa2660e90 __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xa2740942 generic_perform_write +EXPORT_SYMBOL vmlinux 0xa2774e55 __ip_select_ident +EXPORT_SYMBOL vmlinux 0xa28cfcc0 gen_estimator_active +EXPORT_SYMBOL vmlinux 0xa2a14069 mr_table_dump +EXPORT_SYMBOL vmlinux 0xa2cf3649 qman_fq_fqid +EXPORT_SYMBOL vmlinux 0xa2d4b75e qcom_scm_iommu_set_cp_pool_size +EXPORT_SYMBOL vmlinux 0xa2d7ec8d __SCK__tp_func_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xa2e54b46 mdiobus_register_device +EXPORT_SYMBOL vmlinux 0xa2eafa2d eth_gro_receive +EXPORT_SYMBOL vmlinux 0xa2f43ab7 tty_vhangup +EXPORT_SYMBOL vmlinux 0xa31e1de6 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0xa3208dad netlink_capable +EXPORT_SYMBOL vmlinux 0xa3326640 mount_single +EXPORT_SYMBOL vmlinux 0xa339e6e5 on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0xa33a676b jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0xa340285c sock_no_bind +EXPORT_SYMBOL vmlinux 0xa342bc51 phy_free_interrupt +EXPORT_SYMBOL vmlinux 0xa3522df5 qman_query_fq_np +EXPORT_SYMBOL vmlinux 0xa36941d1 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0xa381989b phy_request_interrupt +EXPORT_SYMBOL vmlinux 0xa399f636 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xa3a3f229 cpumask_next_and +EXPORT_SYMBOL vmlinux 0xa3aac2ba netdev_sk_get_lowest_dev +EXPORT_SYMBOL vmlinux 0xa3b3aeed simple_unlink +EXPORT_SYMBOL vmlinux 0xa3baebfd component_match_add_release +EXPORT_SYMBOL vmlinux 0xa3be8342 __ubsan_handle_type_mismatch +EXPORT_SYMBOL vmlinux 0xa3cefaa0 blake2s_update +EXPORT_SYMBOL vmlinux 0xa3cf8924 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xa3fea172 sha224_final +EXPORT_SYMBOL vmlinux 0xa3fee6be vme_init_bridge +EXPORT_SYMBOL vmlinux 0xa4091d62 dm_register_target +EXPORT_SYMBOL vmlinux 0xa40ff01b acpi_dbg_layer +EXPORT_SYMBOL vmlinux 0xa4239123 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0xa4441883 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0xa444fc2b of_find_mipi_dsi_device_by_node +EXPORT_SYMBOL vmlinux 0xa448c653 qcom_scm_ice_set_key +EXPORT_SYMBOL vmlinux 0xa4491cae ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xa46fb238 vfs_get_tree +EXPORT_SYMBOL vmlinux 0xa47a31c8 security_binder_transaction +EXPORT_SYMBOL vmlinux 0xa4886a8f follow_pfn +EXPORT_SYMBOL vmlinux 0xa48e8a17 module_refcount +EXPORT_SYMBOL vmlinux 0xa497faff fwnode_irq_get_byname +EXPORT_SYMBOL vmlinux 0xa4bb1ce8 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0xa4ce8625 napi_disable +EXPORT_SYMBOL vmlinux 0xa4f069e2 skb_ext_add +EXPORT_SYMBOL vmlinux 0xa4fca045 qcom_scm_ocmem_lock +EXPORT_SYMBOL vmlinux 0xa50a3da7 _find_next_bit +EXPORT_SYMBOL vmlinux 0xa5193101 tegra_dfll_unregister +EXPORT_SYMBOL vmlinux 0xa51cea9b param_set_charp +EXPORT_SYMBOL vmlinux 0xa52bedf6 xenbus_dev_request_and_reply +EXPORT_SYMBOL vmlinux 0xa52e74ad rproc_coredump_add_segment +EXPORT_SYMBOL vmlinux 0xa5346954 kobject_add +EXPORT_SYMBOL vmlinux 0xa549ff98 dget_parent +EXPORT_SYMBOL vmlinux 0xa54e74be pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0xa5526619 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa55d027b __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0xa573501c rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0xa58af0a6 _raw_read_unlock_irq +EXPORT_SYMBOL vmlinux 0xa591571c scsi_scan_host +EXPORT_SYMBOL vmlinux 0xa593839d devfreq_monitor_suspend +EXPORT_SYMBOL vmlinux 0xa5976e4f dev_base_lock +EXPORT_SYMBOL vmlinux 0xa5ad06bf xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xa5adac35 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0xa5b72c67 ptp_schedule_worker +EXPORT_SYMBOL vmlinux 0xa5bb0c04 simple_dentry_operations +EXPORT_SYMBOL vmlinux 0xa5c07b5f seq_file_path +EXPORT_SYMBOL vmlinux 0xa5ccea67 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0xa5f7cf37 __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xa61ced89 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0xa6257a2f complete +EXPORT_SYMBOL vmlinux 0xa648e561 __ubsan_handle_shift_out_of_bounds +EXPORT_SYMBOL vmlinux 0xa64c7249 __printk_cpu_sync_try_get +EXPORT_SYMBOL vmlinux 0xa658357e inet_frags_init +EXPORT_SYMBOL vmlinux 0xa65cfe1c mipi_dsi_dcs_soft_reset +EXPORT_SYMBOL vmlinux 0xa662238b crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0xa662e3ef i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0xa6694037 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0xa67798ca flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa6987b56 rproc_da_to_va +EXPORT_SYMBOL vmlinux 0xa69a0691 napi_get_frags +EXPORT_SYMBOL vmlinux 0xa6a783d4 xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0xa6ab28d9 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xa6afa18c eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0xa6b9dbd9 neigh_table_clear +EXPORT_SYMBOL vmlinux 0xa6f83733 kern_unmount_array +EXPORT_SYMBOL vmlinux 0xa70bc96d qcom_scm_restore_sec_cfg_available +EXPORT_SYMBOL vmlinux 0xa70f206f devm_devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0xa7191ddf netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0xa71acc92 fman_port_config +EXPORT_SYMBOL vmlinux 0xa72035f9 xa_get_order +EXPORT_SYMBOL vmlinux 0xa738b113 inet_put_port +EXPORT_SYMBOL vmlinux 0xa748cf96 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0xa74c9877 refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0xa75d5629 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0xa76a28e3 gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0xa77bfd29 register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0xa7d5f92e ida_destroy +EXPORT_SYMBOL vmlinux 0xa7d66100 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0xa7eedcc4 call_usermodehelper +EXPORT_SYMBOL vmlinux 0xa7fe948b phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0xa8088d02 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0xa8110850 mipi_dsi_attach +EXPORT_SYMBOL vmlinux 0xa8181adf proc_dointvec +EXPORT_SYMBOL vmlinux 0xa8398a4c filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xa839d62e twl6040_reg_read +EXPORT_SYMBOL vmlinux 0xa843805a get_unused_fd_flags +EXPORT_SYMBOL vmlinux 0xa84ce9e0 crypto_aes_inv_sbox +EXPORT_SYMBOL vmlinux 0xa853396b xa_extract +EXPORT_SYMBOL vmlinux 0xa85a3e6d xa_load +EXPORT_SYMBOL vmlinux 0xa8614190 dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0xa8694ecd kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xa86ada72 mipi_dsi_turn_on_peripheral +EXPORT_SYMBOL vmlinux 0xa897e3e7 mempool_free +EXPORT_SYMBOL vmlinux 0xa89a1cf1 ipmi_dmi_get_slave_addr +EXPORT_SYMBOL vmlinux 0xa89fbcd3 devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0xa8a02c21 d_find_any_alias +EXPORT_SYMBOL vmlinux 0xa8a4befc __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0xa8a8110c kernel_neon_end +EXPORT_SYMBOL vmlinux 0xa8aac9fa sock_wfree +EXPORT_SYMBOL vmlinux 0xa8caa845 clk_bulk_put_all +EXPORT_SYMBOL vmlinux 0xa8e21c75 rtnl_create_link +EXPORT_SYMBOL vmlinux 0xa8e37518 acpi_dev_get_next_match_dev +EXPORT_SYMBOL vmlinux 0xa8e6933a qdf2400_e44_present +EXPORT_SYMBOL vmlinux 0xa8f6c843 ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0xa9007fbf tty_port_put +EXPORT_SYMBOL vmlinux 0xa906c177 __nla_put_64bit +EXPORT_SYMBOL vmlinux 0xa906d145 mpage_readahead +EXPORT_SYMBOL vmlinux 0xa90ca0de flush_rcu_work +EXPORT_SYMBOL vmlinux 0xa916b694 strnlen +EXPORT_SYMBOL vmlinux 0xa91ea47f input_set_capability +EXPORT_SYMBOL vmlinux 0xa91f6338 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0xa91f93f7 vfs_symlink +EXPORT_SYMBOL vmlinux 0xa924b4aa __traceiter_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0xa9411a93 ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0xa95b5597 netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0xa9605c8e __netlink_dump_start +EXPORT_SYMBOL vmlinux 0xa964dd13 gpmc_cs_request +EXPORT_SYMBOL vmlinux 0xa965ca81 reciprocal_value +EXPORT_SYMBOL vmlinux 0xa967db1f of_iomap +EXPORT_SYMBOL vmlinux 0xa9748c05 tty_register_driver +EXPORT_SYMBOL vmlinux 0xa976957d bitmap_remap +EXPORT_SYMBOL vmlinux 0xa97c0411 tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0xa982c74e bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0xa98418f2 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0xa99146f5 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0xa9af1d2b sock_cmsg_send +EXPORT_SYMBOL vmlinux 0xa9bd7154 iget5_locked +EXPORT_SYMBOL vmlinux 0xa9c4d0b0 netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0xa9ed62d2 tegra_fuse_readl +EXPORT_SYMBOL vmlinux 0xa9fbb4d6 vfs_create_mount +EXPORT_SYMBOL vmlinux 0xa9ff1fc6 tcp_add_backlog +EXPORT_SYMBOL vmlinux 0xaa00fdc0 ec_transaction +EXPORT_SYMBOL vmlinux 0xaa0c318b vscnprintf +EXPORT_SYMBOL vmlinux 0xaa17be7b xudma_get_device +EXPORT_SYMBOL vmlinux 0xaa19e4aa _kstrtol +EXPORT_SYMBOL vmlinux 0xaa1edabc blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xaa2bd886 fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0xaa341905 acpi_bios_exception +EXPORT_SYMBOL vmlinux 0xaa50a83e mipi_dsi_driver_register_full +EXPORT_SYMBOL vmlinux 0xaa58d0d0 rproc_del +EXPORT_SYMBOL vmlinux 0xaa6dad0b dev_trans_start +EXPORT_SYMBOL vmlinux 0xaa6f23ad rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0xaa8106bc crc8_populate_msb +EXPORT_SYMBOL vmlinux 0xaaa4b9bc hchacha_block_generic +EXPORT_SYMBOL vmlinux 0xaaa50fb2 qcom_scm_lmh_profile_change +EXPORT_SYMBOL vmlinux 0xaac1f3f5 xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0xaad0ae78 __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaad8c7d6 default_wake_function +EXPORT_SYMBOL vmlinux 0xaae38292 crypto_kdf108_setkey +EXPORT_SYMBOL vmlinux 0xaae8ab0e acpi_bus_power_manageable +EXPORT_SYMBOL vmlinux 0xaaf3d6ff param_ops_ushort +EXPORT_SYMBOL vmlinux 0xaaf4a334 qcom_scm_set_cold_boot_addr +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab04071e neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0xab04f6ff tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0xab10999d jbd2_journal_invalidate_folio +EXPORT_SYMBOL vmlinux 0xab18ed13 seq_bprintf +EXPORT_SYMBOL vmlinux 0xab2e6727 simple_get_link +EXPORT_SYMBOL vmlinux 0xab3697e4 irq_poll_init +EXPORT_SYMBOL vmlinux 0xab3b75ea vme_dma_pattern_attribute +EXPORT_SYMBOL vmlinux 0xab4567eb vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0xab4e03fc block_write_full_page +EXPORT_SYMBOL vmlinux 0xab5c46da import_single_range +EXPORT_SYMBOL vmlinux 0xab600421 probe_irq_off +EXPORT_SYMBOL vmlinux 0xab63baa5 unregister_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xab67a0ac dql_init +EXPORT_SYMBOL vmlinux 0xab6d5b3b hex_to_bin +EXPORT_SYMBOL vmlinux 0xab74e73d __dev_set_mtu +EXPORT_SYMBOL vmlinux 0xab781570 fb_get_options +EXPORT_SYMBOL vmlinux 0xab97786a igrab +EXPORT_SYMBOL vmlinux 0xabb88663 pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0xabd6512d free_task +EXPORT_SYMBOL vmlinux 0xabdf0521 vm_insert_pages +EXPORT_SYMBOL vmlinux 0xabf32f29 utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0xabf5c43c mdio_find_bus +EXPORT_SYMBOL vmlinux 0xabff1f72 genphy_setup_forced +EXPORT_SYMBOL vmlinux 0xac0b868a sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xac0bc128 flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0xac15e82f blk_queue_max_secure_erase_sectors +EXPORT_SYMBOL vmlinux 0xac1a55be unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0xac1c04a8 serial8250_do_pm +EXPORT_SYMBOL vmlinux 0xac2f9c1e dm_table_get_md +EXPORT_SYMBOL vmlinux 0xac3201b0 udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0xac3c1bf5 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0xac537ac2 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0xac596f97 tty_port_close_start +EXPORT_SYMBOL vmlinux 0xac5fcec0 in4_pton +EXPORT_SYMBOL vmlinux 0xac69222c trace_event_printf +EXPORT_SYMBOL vmlinux 0xac74c38d clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0xac752723 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0xac884c95 folio_unlock +EXPORT_SYMBOL vmlinux 0xac97d8cb __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0xacaa4c72 dma_fence_match_context +EXPORT_SYMBOL vmlinux 0xacab29b7 seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0xacaf3b30 fget +EXPORT_SYMBOL vmlinux 0xacb010ba of_cpu_node_to_id +EXPORT_SYMBOL vmlinux 0xacc67111 devm_register_netdev +EXPORT_SYMBOL vmlinux 0xacd36716 crypto_kdf108_ctr_generate +EXPORT_SYMBOL vmlinux 0xacd81eb3 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xacddd806 ptp_get_vclocks_index +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf649bf audit_log_task_info +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad0a8b15 xsk_tx_peek_desc +EXPORT_SYMBOL vmlinux 0xad128dc1 __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0xad1b79e4 sock_from_file +EXPORT_SYMBOL vmlinux 0xad22cffe ppp_dev_name +EXPORT_SYMBOL vmlinux 0xad33ae3b of_get_next_parent +EXPORT_SYMBOL vmlinux 0xad357133 __traceiter_kmalloc_node +EXPORT_SYMBOL vmlinux 0xad3ea04c qman_p_irqsource_remove +EXPORT_SYMBOL vmlinux 0xad46b4bf ip6tun_encaps +EXPORT_SYMBOL vmlinux 0xad4a9374 migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0xad4cc524 skb_ensure_writable +EXPORT_SYMBOL vmlinux 0xad682b8f xudma_rchanrt_write +EXPORT_SYMBOL vmlinux 0xad6ba40e radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0xad703247 dump_skip_to +EXPORT_SYMBOL vmlinux 0xad73041f autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xad76f0cb pldmfw_flash_image +EXPORT_SYMBOL vmlinux 0xad8014ad dcb_getapp +EXPORT_SYMBOL vmlinux 0xad8def91 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0xad9901ae bit_waitqueue +EXPORT_SYMBOL vmlinux 0xada31e57 gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0xadadd621 mpage_writepage +EXPORT_SYMBOL vmlinux 0xadae6df8 blake2s_final +EXPORT_SYMBOL vmlinux 0xadb34d6d jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0xadb35d44 request_key_tag +EXPORT_SYMBOL vmlinux 0xadb89cf6 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xadbe7005 unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0xadbeed61 mipi_dsi_packet_format_is_long +EXPORT_SYMBOL vmlinux 0xadc01c32 vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0xadc45c5f locks_copy_conflock +EXPORT_SYMBOL vmlinux 0xadc877c3 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0xadcce7e0 sync_file_create +EXPORT_SYMBOL vmlinux 0xadd139d4 rfs_needed +EXPORT_SYMBOL vmlinux 0xadd81c69 vme_register_error_handler +EXPORT_SYMBOL vmlinux 0xadf241f1 sock_set_priority +EXPORT_SYMBOL vmlinux 0xadfdfcef __bitmap_andnot +EXPORT_SYMBOL vmlinux 0xae04012c __vmalloc +EXPORT_SYMBOL vmlinux 0xae109c23 bio_free_pages +EXPORT_SYMBOL vmlinux 0xae272b20 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xae2f17af elv_rb_former_request +EXPORT_SYMBOL vmlinux 0xae316c11 icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0xae33c403 xudma_navss_psil_unpair +EXPORT_SYMBOL vmlinux 0xae3a51fb blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0xae3ac51a pci_iomap +EXPORT_SYMBOL vmlinux 0xae3bd13d fasync_helper +EXPORT_SYMBOL vmlinux 0xae4c9a14 fb_class +EXPORT_SYMBOL vmlinux 0xae4dbded jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0xae5a04bb acpi_evaluate_dsm +EXPORT_SYMBOL vmlinux 0xae71d8cd mmc_hw_reset +EXPORT_SYMBOL vmlinux 0xae752987 icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0xae7678da generic_fillattr +EXPORT_SYMBOL vmlinux 0xae8c68ce flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0xaea47801 __do_once_slow_done +EXPORT_SYMBOL vmlinux 0xaeac049a generate_random_guid +EXPORT_SYMBOL vmlinux 0xaeaef2bf pcim_iounmap +EXPORT_SYMBOL vmlinux 0xaeb082ad _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0xaeb9e75c xfrm_register_km +EXPORT_SYMBOL vmlinux 0xaebd12f0 acpi_get_name +EXPORT_SYMBOL vmlinux 0xaec59718 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0xaec8af85 rproc_resource_cleanup +EXPORT_SYMBOL vmlinux 0xaeca8967 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xaee1aa3e security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0xaee87529 mmc_gpio_get_cd +EXPORT_SYMBOL vmlinux 0xaef4783e xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0xaefabf0f prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0xaf059ce1 page_mapping +EXPORT_SYMBOL vmlinux 0xaf0e112a xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0xaf1ba519 netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0xaf2c8c51 genphy_suspend +EXPORT_SYMBOL vmlinux 0xaf2f479a send_sig +EXPORT_SYMBOL vmlinux 0xaf399a9b blk_mq_destroy_queue +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf52652d of_get_child_by_name +EXPORT_SYMBOL vmlinux 0xaf56600a arm64_use_ng_mappings +EXPORT_SYMBOL vmlinux 0xaf5db5e9 max8998_write_reg +EXPORT_SYMBOL vmlinux 0xaf5f87c5 folio_redirty_for_writepage +EXPORT_SYMBOL vmlinux 0xaf6ac577 skb_copy_bits +EXPORT_SYMBOL vmlinux 0xaf6e6a2d netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0xaf7eafc4 rw_verify_area +EXPORT_SYMBOL vmlinux 0xaf805701 jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0xaf93db6c jbd2_fc_end_commit +EXPORT_SYMBOL vmlinux 0xaf99e6d9 free_mdio_bitbang +EXPORT_SYMBOL vmlinux 0xafa52ee1 _dev_emerg +EXPORT_SYMBOL vmlinux 0xafb588c5 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0xafb864c1 refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0xafbb5109 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0xafbe5601 phy_device_remove +EXPORT_SYMBOL vmlinux 0xafc08054 dotdot_name +EXPORT_SYMBOL vmlinux 0xafc6c68e zstd_is_error +EXPORT_SYMBOL vmlinux 0xafce1804 param_ops_string +EXPORT_SYMBOL vmlinux 0xafcf1a59 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xafdd7037 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xafddf85f fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0xaff8654a mmc_free_host +EXPORT_SYMBOL vmlinux 0xb01397a9 inode_set_flags +EXPORT_SYMBOL vmlinux 0xb01ad760 noop_llseek +EXPORT_SYMBOL vmlinux 0xb01bebf9 xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xb01dd7f3 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xb037aa9b iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0xb04226a4 ip_setsockopt +EXPORT_SYMBOL vmlinux 0xb04a43ad __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0xb05efa0e dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb063ad8c pps_lookup_dev +EXPORT_SYMBOL vmlinux 0xb063fb37 jbd2_fc_wait_bufs +EXPORT_SYMBOL vmlinux 0xb076a0fb pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0xb09b8dfc napi_enable +EXPORT_SYMBOL vmlinux 0xb09d779f ww_mutex_lock +EXPORT_SYMBOL vmlinux 0xb0a0da0c rational_best_approximation +EXPORT_SYMBOL vmlinux 0xb0b9ca00 dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0xb0c5e247 lockref_put_return +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb10df242 tcf_exts_validate_ex +EXPORT_SYMBOL vmlinux 0xb10e7df4 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0xb121390a probe_irq_on +EXPORT_SYMBOL vmlinux 0xb1268da8 simple_release_fs +EXPORT_SYMBOL vmlinux 0xb12cbacb fb_unregister_client +EXPORT_SYMBOL vmlinux 0xb12d7a91 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0xb1342cdb _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0xb14ab1ef hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0xb14ea47b sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0xb14fc46a find_next_clump8 +EXPORT_SYMBOL vmlinux 0xb164ebff skb_eth_gso_segment +EXPORT_SYMBOL vmlinux 0xb192be92 keyring_search +EXPORT_SYMBOL vmlinux 0xb1a203b0 sock_wake_async +EXPORT_SYMBOL vmlinux 0xb1b81c05 proc_set_size +EXPORT_SYMBOL vmlinux 0xb1beacc1 serio_rescan +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1c42b5d pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0xb1c64191 msm_pinctrl_dev_pm_ops +EXPORT_SYMBOL vmlinux 0xb1d512d5 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0xb1d7cc99 skb_queue_head +EXPORT_SYMBOL vmlinux 0xb1db9a69 fsl_ifc_find +EXPORT_SYMBOL vmlinux 0xb1ddf995 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xb1fc2b55 km_policy_notify +EXPORT_SYMBOL vmlinux 0xb1ff1f15 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xb216e289 no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0xb22e16d5 radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0xb23027c1 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xb232b8b7 dput +EXPORT_SYMBOL vmlinux 0xb2439144 pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0xb2505dcb fman_get_qman_channel_id +EXPORT_SYMBOL vmlinux 0xb2556ca0 of_mdio_find_device +EXPORT_SYMBOL vmlinux 0xb2586b46 __genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xb265a69b cros_ec_check_result +EXPORT_SYMBOL vmlinux 0xb2693847 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0xb2875b0a __traceiter_mmap_lock_released +EXPORT_SYMBOL vmlinux 0xb28969cc jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0xb29156e1 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xb2a2ef73 ucc_of_parse_tdm +EXPORT_SYMBOL vmlinux 0xb2a9f787 __of_get_address +EXPORT_SYMBOL vmlinux 0xb2bcb088 acpi_current_gpe_count +EXPORT_SYMBOL vmlinux 0xb2bdc48e i2c_del_driver +EXPORT_SYMBOL vmlinux 0xb2ccec87 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0xb2ead97c kimage_vaddr +EXPORT_SYMBOL vmlinux 0xb2f35c6a xxh64 +EXPORT_SYMBOL vmlinux 0xb2fcb56d queue_delayed_work_on +EXPORT_SYMBOL vmlinux 0xb308c97d wait_woken +EXPORT_SYMBOL vmlinux 0xb30b9822 vme_master_set +EXPORT_SYMBOL vmlinux 0xb31979af skb_eth_push +EXPORT_SYMBOL vmlinux 0xb320cc0e sg_init_one +EXPORT_SYMBOL vmlinux 0xb3258f79 __ubsan_handle_type_mismatch_v1 +EXPORT_SYMBOL vmlinux 0xb32728bb qcom_scm_iommu_secure_ptbl_init +EXPORT_SYMBOL vmlinux 0xb33a2701 read_cache_folio +EXPORT_SYMBOL vmlinux 0xb33cf2fb skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0xb3488058 pci_dev_driver +EXPORT_SYMBOL vmlinux 0xb34dca1c kryo_l2_get_indirect_reg +EXPORT_SYMBOL vmlinux 0xb360e101 dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0xb3687850 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xb384e507 phy_trigger_machine +EXPORT_SYMBOL vmlinux 0xb395f3a9 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xb3a82019 profile_pc +EXPORT_SYMBOL vmlinux 0xb3b6955e mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0xb3d2c76d scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0xb3dac4a1 tcp_conn_request +EXPORT_SYMBOL vmlinux 0xb3e51b68 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xb3f0de55 xz_dec_microlzma_run +EXPORT_SYMBOL vmlinux 0xb3f49446 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xb3f548ad kmemdup_nul +EXPORT_SYMBOL vmlinux 0xb3f7646e kthread_should_stop +EXPORT_SYMBOL vmlinux 0xb4043948 acpi_execute_simple_method +EXPORT_SYMBOL vmlinux 0xb4092a69 skb_set_owner_w +EXPORT_SYMBOL vmlinux 0xb41a47b4 devfreq_suspend_device +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb438a2c3 of_node_put +EXPORT_SYMBOL vmlinux 0xb438eef0 of_find_device_by_node +EXPORT_SYMBOL vmlinux 0xb45098ce pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0xb4577003 acpi_dev_present +EXPORT_SYMBOL vmlinux 0xb45cca88 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xb46268bb tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0xb4706299 may_setattr +EXPORT_SYMBOL vmlinux 0xb4818085 __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0xb48d4d22 security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0xb493beed nla_put +EXPORT_SYMBOL vmlinux 0xb4a13a74 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xb4d51267 iov_iter_init +EXPORT_SYMBOL vmlinux 0xb4d6cb06 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0xb4ebce47 blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0xb4f13d2a abort +EXPORT_SYMBOL vmlinux 0xb4f4573b dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0xb4ffbbe3 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0xb51971c7 tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0xb53f2810 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0xb55091d3 of_mdiobus_register +EXPORT_SYMBOL vmlinux 0xb55139b6 truncate_setsize +EXPORT_SYMBOL vmlinux 0xb555fa89 genphy_loopback +EXPORT_SYMBOL vmlinux 0xb5576d7a pcim_pin_device +EXPORT_SYMBOL vmlinux 0xb577fcf1 vme_register_bridge +EXPORT_SYMBOL vmlinux 0xb57f1e27 fman_port_disable +EXPORT_SYMBOL vmlinux 0xb58aeaab kernel_cpustat +EXPORT_SYMBOL vmlinux 0xb5937922 pci_restore_state +EXPORT_SYMBOL vmlinux 0xb5956aa2 tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0xb59b0788 __module_get +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5a6bb88 readahead_expand +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5b54b34 _raw_spin_unlock +EXPORT_SYMBOL vmlinux 0xb5b63711 fileattr_fill_xflags +EXPORT_SYMBOL vmlinux 0xb5bb5386 nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0xb5c14616 skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0xb5d7ae43 backlight_device_get_by_type +EXPORT_SYMBOL vmlinux 0xb5e73116 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xb61d6fc2 down_read_interruptible +EXPORT_SYMBOL vmlinux 0xb633f115 irq_poll_enable +EXPORT_SYMBOL vmlinux 0xb63bf78a tcf_qevent_init +EXPORT_SYMBOL vmlinux 0xb63c2e6c simple_rename +EXPORT_SYMBOL vmlinux 0xb6532e1e tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0xb654ef65 acpi_os_read_port +EXPORT_SYMBOL vmlinux 0xb66c8ac3 mipi_dsi_dcs_set_tear_off +EXPORT_SYMBOL vmlinux 0xb66e96d8 netlbl_audit_start +EXPORT_SYMBOL vmlinux 0xb66ec14a md_bitmap_update_sb +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb67f81b3 mod_node_page_state +EXPORT_SYMBOL vmlinux 0xb67fec0e uuid_parse +EXPORT_SYMBOL vmlinux 0xb680f312 of_get_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0xb68507d1 crypto_sha256_update +EXPORT_SYMBOL vmlinux 0xb6936ffe _bcd2bin +EXPORT_SYMBOL vmlinux 0xb6acaa13 phy_sfp_detach +EXPORT_SYMBOL vmlinux 0xb6b1331c put_ipc_ns +EXPORT_SYMBOL vmlinux 0xb6b73f7b pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0xb6b9ade6 dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0xb6bfcb8b input_reset_device +EXPORT_SYMBOL vmlinux 0xb6c8143b nexthop_bucket_set_hw_flags +EXPORT_SYMBOL vmlinux 0xb6cb556a _find_first_and_bit +EXPORT_SYMBOL vmlinux 0xb6cea7c8 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0xb6e36ce2 psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0xb6f283b7 ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0xb6fde909 close_fd +EXPORT_SYMBOL vmlinux 0xb6fe2552 scsi_print_result +EXPORT_SYMBOL vmlinux 0xb709aadb xsk_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0xb71589f0 skip_spaces +EXPORT_SYMBOL vmlinux 0xb71ed69f __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0xb737b185 gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0xb7385088 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xb73d9aa2 put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0xb7688155 ucc_slow_init +EXPORT_SYMBOL vmlinux 0xb77c1764 eth_gro_complete +EXPORT_SYMBOL vmlinux 0xb780c32a nobh_truncate_page +EXPORT_SYMBOL vmlinux 0xb788fb30 gic_pmr_sync +EXPORT_SYMBOL vmlinux 0xb78debe3 LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0xb796b11b fb_find_mode +EXPORT_SYMBOL vmlinux 0xb79b528b mmc_of_parse +EXPORT_SYMBOL vmlinux 0xb7b7fa6e node_states +EXPORT_SYMBOL vmlinux 0xb7c0f443 sort +EXPORT_SYMBOL vmlinux 0xb7c6db70 sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0xb7cd6a65 proc_create +EXPORT_SYMBOL vmlinux 0xb7eb6e98 get_tree_keyed +EXPORT_SYMBOL vmlinux 0xb7fb5e96 sg_miter_start +EXPORT_SYMBOL vmlinux 0xb80b4a18 zstd_compress_bound +EXPORT_SYMBOL vmlinux 0xb81a08c5 mmc_request_done +EXPORT_SYMBOL vmlinux 0xb842716c qcom_scm_ocmem_lock_available +EXPORT_SYMBOL vmlinux 0xb84b6d0d xfrm_lookup +EXPORT_SYMBOL vmlinux 0xb84c8885 tcp_stream_memory_free +EXPORT_SYMBOL vmlinux 0xb84fc0e3 sg_miter_stop +EXPORT_SYMBOL vmlinux 0xb853d7e6 netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0xb8605d9c qman_p_static_dequeue_add +EXPORT_SYMBOL vmlinux 0xb868ac5c register_sysrq_key +EXPORT_SYMBOL vmlinux 0xb88039dd gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0xb88fd035 set_groups +EXPORT_SYMBOL vmlinux 0xb89b6e6b guid_parse +EXPORT_SYMBOL vmlinux 0xb8b043f2 kfree_link +EXPORT_SYMBOL vmlinux 0xb8b59417 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0xb8b9f817 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0xb8bd7c32 seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0xb8ca5ce6 __scsi_add_device +EXPORT_SYMBOL vmlinux 0xb8d8dca2 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0xb8e64eea scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0xb9056bb6 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xb907513f unpoison_memory +EXPORT_SYMBOL vmlinux 0xb911bb58 minmax_running_max +EXPORT_SYMBOL vmlinux 0xb920db49 acpi_tb_install_and_load_table +EXPORT_SYMBOL vmlinux 0xb9277d29 sock_edemux +EXPORT_SYMBOL vmlinux 0xb94339c4 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0xb9478d90 hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0xb948d5a6 dev_set_alias +EXPORT_SYMBOL vmlinux 0xb948f8b8 rproc_alloc +EXPORT_SYMBOL vmlinux 0xb95bd115 kset_unregister +EXPORT_SYMBOL vmlinux 0xb967e064 mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0xb96c4f9e audit_log_subject_context +EXPORT_SYMBOL vmlinux 0xb96f06c1 copy_string_kernel +EXPORT_SYMBOL vmlinux 0xb97220ff bitmap_parse +EXPORT_SYMBOL vmlinux 0xb9af1d0d __xa_clear_mark +EXPORT_SYMBOL vmlinux 0xb9bf1c65 __dev_queue_xmit +EXPORT_SYMBOL vmlinux 0xb9c34812 sockfd_lookup +EXPORT_SYMBOL vmlinux 0xb9c6f041 sock_no_listen +EXPORT_SYMBOL vmlinux 0xb9c9227a vm_map_pages +EXPORT_SYMBOL vmlinux 0xb9cac2c5 tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0xb9e0cc9e sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0xb9e8e2cc in6addr_sitelocal_allrouters +EXPORT_SYMBOL vmlinux 0xb9fc381a qcom_scm_hdcp_req +EXPORT_SYMBOL vmlinux 0xba0676e2 vm_zone_stat +EXPORT_SYMBOL vmlinux 0xba08d132 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0xba1008c8 __crc32c_le +EXPORT_SYMBOL vmlinux 0xba1de583 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0xba33fb78 init_special_inode +EXPORT_SYMBOL vmlinux 0xba3d82ee bdevname +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba4d0ea3 nd_region_acquire_lane +EXPORT_SYMBOL vmlinux 0xba53adab nla_policy_len +EXPORT_SYMBOL vmlinux 0xba57acab devm_request_resource +EXPORT_SYMBOL vmlinux 0xba63f89e generic_file_direct_write +EXPORT_SYMBOL vmlinux 0xba707a78 qe_get_brg_clk +EXPORT_SYMBOL vmlinux 0xba787c97 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0xba7a2a14 dma_supported +EXPORT_SYMBOL vmlinux 0xba8024f3 tty_lock +EXPORT_SYMBOL vmlinux 0xba8fbd64 _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xbab23b70 no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0xbabf13ba sock_bind_add +EXPORT_SYMBOL vmlinux 0xbb0540aa zlib_inflateReset +EXPORT_SYMBOL vmlinux 0xbb21260e convert_ifc_address +EXPORT_SYMBOL vmlinux 0xbb238728 devfreq_monitor_resume +EXPORT_SYMBOL vmlinux 0xbb238c71 phy_register_fixup +EXPORT_SYMBOL vmlinux 0xbb24f607 init_cdrom_command +EXPORT_SYMBOL vmlinux 0xbb447028 skb_dequeue +EXPORT_SYMBOL vmlinux 0xbb4c9ebc security_d_instantiate +EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xbb687724 bman_new_pool +EXPORT_SYMBOL vmlinux 0xbb9ed3bf mutex_trylock +EXPORT_SYMBOL vmlinux 0xbba06b2b touch_buffer +EXPORT_SYMBOL vmlinux 0xbbb375e5 md_cluster_ops +EXPORT_SYMBOL vmlinux 0xbbc8cac8 __fput_sync +EXPORT_SYMBOL vmlinux 0xbbcb973d of_graph_get_remote_node +EXPORT_SYMBOL vmlinux 0xbbd2f5da __scsi_execute +EXPORT_SYMBOL vmlinux 0xbbe80fdb kmalloc_order +EXPORT_SYMBOL vmlinux 0xbbf941e7 serio_unregister_port +EXPORT_SYMBOL vmlinux 0xbbfb96e1 tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0xbc156af5 put_fs_context +EXPORT_SYMBOL vmlinux 0xbc2031de acpi_processor_get_bios_limit +EXPORT_SYMBOL vmlinux 0xbc4a595c device_get_mac_address +EXPORT_SYMBOL vmlinux 0xbc508913 set_create_files_as +EXPORT_SYMBOL vmlinux 0xbc531a6e scsi_host_get +EXPORT_SYMBOL vmlinux 0xbc5bda39 netdev_printk +EXPORT_SYMBOL vmlinux 0xbc716cf4 icmp6_send +EXPORT_SYMBOL vmlinux 0xbc7fc8ed __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xbca1f715 can_nice +EXPORT_SYMBOL vmlinux 0xbca93cd1 scsi_host_put +EXPORT_SYMBOL vmlinux 0xbcab6ee6 sscanf +EXPORT_SYMBOL vmlinux 0xbcb5024a dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0xbcbe4299 tcf_idr_release +EXPORT_SYMBOL vmlinux 0xbcc77f32 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xbcdd3fb7 dquot_commit +EXPORT_SYMBOL vmlinux 0xbceaef30 dma_fence_describe +EXPORT_SYMBOL vmlinux 0xbcef1cb4 netdev_change_features +EXPORT_SYMBOL vmlinux 0xbcfff3dd of_find_compatible_node +EXPORT_SYMBOL vmlinux 0xbd00313f sk_common_release +EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init +EXPORT_SYMBOL vmlinux 0xbd567e44 scsi_report_opcode +EXPORT_SYMBOL vmlinux 0xbd628752 __tracepoint_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0xbd6841d4 crc16 +EXPORT_SYMBOL vmlinux 0xbd7818de mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0xbd8bb211 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0xbd9a605a bio_init_clone +EXPORT_SYMBOL vmlinux 0xbdab4808 iommu_dma_get_resv_regions +EXPORT_SYMBOL vmlinux 0xbdbd1f18 tcp_peek_len +EXPORT_SYMBOL vmlinux 0xbdc80087 dcache_readdir +EXPORT_SYMBOL vmlinux 0xbdd8768c fs_param_is_blob +EXPORT_SYMBOL vmlinux 0xbde8d2f1 xfrm_state_free +EXPORT_SYMBOL vmlinux 0xbe118c52 __tracepoint_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0xbe25f973 pnp_request_card_device +EXPORT_SYMBOL vmlinux 0xbe2616b2 ps2_handle_response +EXPORT_SYMBOL vmlinux 0xbe49252c acpi_os_write_port +EXPORT_SYMBOL vmlinux 0xbe4eb6ed secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xbe5a24e9 xxh32_copy_state +EXPORT_SYMBOL vmlinux 0xbe5d7e91 cdev_init +EXPORT_SYMBOL vmlinux 0xbe6a866f __wait_on_bit +EXPORT_SYMBOL vmlinux 0xbe6a8c96 zstd_cctx_workspace_bound +EXPORT_SYMBOL vmlinux 0xbe7eadb5 netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0xbe9f2c24 scsi_host_busy +EXPORT_SYMBOL vmlinux 0xbeba1366 __destroy_inode +EXPORT_SYMBOL vmlinux 0xbec50542 devfreq_monitor_stop +EXPORT_SYMBOL vmlinux 0xbecd82da input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0xbee588a5 mdiobb_write +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbef80aab mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0xbefa51a3 gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0xbf0ecea8 fs_param_is_path +EXPORT_SYMBOL vmlinux 0xbf1469ce skb_trim +EXPORT_SYMBOL vmlinux 0xbf1e0ff2 phy_sfp_probe +EXPORT_SYMBOL vmlinux 0xbf440998 _dev_warn +EXPORT_SYMBOL vmlinux 0xbf47b07d proto_register +EXPORT_SYMBOL vmlinux 0xbf590985 create_empty_buffers +EXPORT_SYMBOL vmlinux 0xbf59c419 posix_acl_init +EXPORT_SYMBOL vmlinux 0xbf810559 pci_alloc_dev +EXPORT_SYMBOL vmlinux 0xbf853c22 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0xbf987c3b __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbfa0977d config_group_init +EXPORT_SYMBOL vmlinux 0xbfae9e07 utf8_validate +EXPORT_SYMBOL vmlinux 0xbfc0d310 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xbfcbc0d2 stmp_reset_block +EXPORT_SYMBOL vmlinux 0xbfcfd354 qman_get_qm_portal_config +EXPORT_SYMBOL vmlinux 0xbfe211a9 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0xbff579fb vga_get +EXPORT_SYMBOL vmlinux 0xc00ad47d netif_tx_lock +EXPORT_SYMBOL vmlinux 0xc00bc47b __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0xc00ec500 sock_release +EXPORT_SYMBOL vmlinux 0xc0214611 clk_add_alias +EXPORT_SYMBOL vmlinux 0xc023a6f9 inode_init_owner +EXPORT_SYMBOL vmlinux 0xc02f769c sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0xc0364007 fault_in_writeable +EXPORT_SYMBOL vmlinux 0xc0381ce2 qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0xc04fbfe3 pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0xc056c09f address_space_init_once +EXPORT_SYMBOL vmlinux 0xc060c3f4 page_pool_ethtool_stats_get +EXPORT_SYMBOL vmlinux 0xc06b2cb1 nf_setsockopt +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc078d22c zstd_init_cstream +EXPORT_SYMBOL vmlinux 0xc07b0863 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0xc0862822 ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0xc099f0cb mmc_put_card +EXPORT_SYMBOL vmlinux 0xc0afb5d7 cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0xc0c64060 tc_cleanup_offload_action +EXPORT_SYMBOL vmlinux 0xc0d4a249 md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0xc0d6c24c mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0xc0ef522e xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0xc0f8d027 param_set_invbool +EXPORT_SYMBOL vmlinux 0xc0fe9137 __printk_cpu_sync_put +EXPORT_SYMBOL vmlinux 0xc0ff12fb nla_strdup +EXPORT_SYMBOL vmlinux 0xc0ff21c1 input_get_new_minor +EXPORT_SYMBOL vmlinux 0xc1015d92 phy_read_paged +EXPORT_SYMBOL vmlinux 0xc103ada6 fb_pan_display +EXPORT_SYMBOL vmlinux 0xc10623bf phy_do_ioctl +EXPORT_SYMBOL vmlinux 0xc1198662 __warn_flushing_systemwide_wq +EXPORT_SYMBOL vmlinux 0xc1301166 mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0xc13c2915 xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0xc14dc168 acpi_get_data +EXPORT_SYMBOL vmlinux 0xc1514a3b free_irq +EXPORT_SYMBOL vmlinux 0xc1566d6b xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0xc1579516 fman_port_enable +EXPORT_SYMBOL vmlinux 0xc164a51c keygen_init +EXPORT_SYMBOL vmlinux 0xc16be39d iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xc1733ce8 nvdimm_namespace_common_probe +EXPORT_SYMBOL vmlinux 0xc1749494 block_invalidate_folio +EXPORT_SYMBOL vmlinux 0xc18d1743 bmap +EXPORT_SYMBOL vmlinux 0xc193370f skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0xc1ae16cb single_open +EXPORT_SYMBOL vmlinux 0xc1c94a24 kill_block_super +EXPORT_SYMBOL vmlinux 0xc1cab23f tcf_em_register +EXPORT_SYMBOL vmlinux 0xc1d5d504 scsi_cmd_allowed +EXPORT_SYMBOL vmlinux 0xc1d8cfaf __fdget +EXPORT_SYMBOL vmlinux 0xc1e0e1ce pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0xc1e2c742 tegra_io_rail_power_on +EXPORT_SYMBOL vmlinux 0xc1e6a900 submit_bio +EXPORT_SYMBOL vmlinux 0xc1e9e175 mmc_can_discard +EXPORT_SYMBOL vmlinux 0xc2050974 fman_port_get_tstamp +EXPORT_SYMBOL vmlinux 0xc20781c4 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0xc2144fd3 rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0xc221f539 xsk_set_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0xc22386af xsk_tx_peek_release_desc_batch +EXPORT_SYMBOL vmlinux 0xc2287e92 t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0xc22e48c7 skb_orphan_partial +EXPORT_SYMBOL vmlinux 0xc2310cdc logic_inl +EXPORT_SYMBOL vmlinux 0xc2337694 __traceiter_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0xc23d71a1 of_get_cpu_node +EXPORT_SYMBOL vmlinux 0xc24a9e60 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0xc27fbbec blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xc28a78e6 would_dump +EXPORT_SYMBOL vmlinux 0xc29476ce super_setup_bdi +EXPORT_SYMBOL vmlinux 0xc2966c61 tcf_classify +EXPORT_SYMBOL vmlinux 0xc29bf967 strspn +EXPORT_SYMBOL vmlinux 0xc2ab1c13 cdev_del +EXPORT_SYMBOL vmlinux 0xc2b075fb __vfs_removexattr +EXPORT_SYMBOL vmlinux 0xc2c15abe security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0xc2ccef5d dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0xc2cf7e79 mfd_remove_devices_late +EXPORT_SYMBOL vmlinux 0xc2e0c05a max8998_update_reg +EXPORT_SYMBOL vmlinux 0xc2e168ab caches_clean_inval_pou +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2f52274 __lshrti3 +EXPORT_SYMBOL vmlinux 0xc2f62bd7 filemap_dirty_folio +EXPORT_SYMBOL vmlinux 0xc2fefe95 __skb_ext_del +EXPORT_SYMBOL vmlinux 0xc3055d20 usleep_range_state +EXPORT_SYMBOL vmlinux 0xc310b981 strnstr +EXPORT_SYMBOL vmlinux 0xc3155531 locks_remove_posix +EXPORT_SYMBOL vmlinux 0xc31db0ce is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0xc32c71af register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xc36a3bd4 __acpi_handle_debug +EXPORT_SYMBOL vmlinux 0xc3762aec mempool_alloc +EXPORT_SYMBOL vmlinux 0xc37f9c6e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0xc38c83b8 mod_timer +EXPORT_SYMBOL vmlinux 0xc392d44d __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xc392f137 tcp_shutdown +EXPORT_SYMBOL vmlinux 0xc393d3d6 scsi_register_driver +EXPORT_SYMBOL vmlinux 0xc39f89ba request_key_rcu +EXPORT_SYMBOL vmlinux 0xc3cd034d crc8_populate_lsb +EXPORT_SYMBOL vmlinux 0xc3d081df proc_create_mount_point +EXPORT_SYMBOL vmlinux 0xc3f8c2fa ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0xc3ff38c2 down_read_trylock +EXPORT_SYMBOL vmlinux 0xc41bc980 iwe_stream_add_value +EXPORT_SYMBOL vmlinux 0xc4212ab9 qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xc4266b9e user_path_at_empty +EXPORT_SYMBOL vmlinux 0xc42dcb99 acpi_evaluate_ost +EXPORT_SYMBOL vmlinux 0xc44985bc param_set_bint +EXPORT_SYMBOL vmlinux 0xc44dc8cc mdiobus_write +EXPORT_SYMBOL vmlinux 0xc452212c utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0xc46a51a6 path_is_under +EXPORT_SYMBOL vmlinux 0xc4708199 cpm_muram_addr +EXPORT_SYMBOL vmlinux 0xc4736f74 phy_set_asym_pause +EXPORT_SYMBOL vmlinux 0xc4777aa9 __ctzsi2 +EXPORT_SYMBOL vmlinux 0xc4799ea8 of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0xc4892b9d config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0xc4a4c447 udp_skb_destructor +EXPORT_SYMBOL vmlinux 0xc4a4d839 i2c_verify_client +EXPORT_SYMBOL vmlinux 0xc4a758ca nf_log_unset +EXPORT_SYMBOL vmlinux 0xc4b21d2f qman_get_affine_portal +EXPORT_SYMBOL vmlinux 0xc4bce8e2 fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0xc4c9c255 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc4eb8744 vga_put +EXPORT_SYMBOL vmlinux 0xc4f5e9cb dev_activate +EXPORT_SYMBOL vmlinux 0xc528a49a queued_write_lock_slowpath +EXPORT_SYMBOL vmlinux 0xc53aef55 dev_add_offload +EXPORT_SYMBOL vmlinux 0xc56a41e6 vabits_actual +EXPORT_SYMBOL vmlinux 0xc56c3609 xz_dec_microlzma_reset +EXPORT_SYMBOL vmlinux 0xc572db90 bio_split +EXPORT_SYMBOL vmlinux 0xc57c48a3 idr_get_next +EXPORT_SYMBOL vmlinux 0xc587414d generic_permission +EXPORT_SYMBOL vmlinux 0xc58d5a90 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0xc599a772 security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc5a3367a __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xc5a7d8fc hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0xc5b258a3 migrate_page_copy +EXPORT_SYMBOL vmlinux 0xc5b6f236 queue_work_on +EXPORT_SYMBOL vmlinux 0xc5c027be bio_add_page +EXPORT_SYMBOL vmlinux 0xc5c418bf pcie_get_readrq +EXPORT_SYMBOL vmlinux 0xc5c82305 sk_mc_loop +EXPORT_SYMBOL vmlinux 0xc5cb6ea5 arp_create +EXPORT_SYMBOL vmlinux 0xc5da3b2c fman_get_pause_cfg +EXPORT_SYMBOL vmlinux 0xc5e74216 release_resource +EXPORT_SYMBOL vmlinux 0xc5f4cb90 ip_do_fragment +EXPORT_SYMBOL vmlinux 0xc5f7e801 sg_last +EXPORT_SYMBOL vmlinux 0xc5fcbb43 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0xc60bcc87 setattr_copy +EXPORT_SYMBOL vmlinux 0xc60d0620 __num_online_cpus +EXPORT_SYMBOL vmlinux 0xc60de6fb mdio_bus_type +EXPORT_SYMBOL vmlinux 0xc622556f prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0xc6276d15 genphy_soft_reset +EXPORT_SYMBOL vmlinux 0xc62fdc9b sock_efree +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc633d82d phy_unregister_fixup +EXPORT_SYMBOL vmlinux 0xc63cb5cb close_fd_get_file +EXPORT_SYMBOL vmlinux 0xc64a9fb0 submit_bh +EXPORT_SYMBOL vmlinux 0xc64c2756 vfs_mkobj +EXPORT_SYMBOL vmlinux 0xc6596ef4 param_ops_invbool +EXPORT_SYMBOL vmlinux 0xc65e4e97 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif +EXPORT_SYMBOL vmlinux 0xc66a8304 cpu_rmap_add +EXPORT_SYMBOL vmlinux 0xc6808f58 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0xc6841515 migrate_vma_pages +EXPORT_SYMBOL vmlinux 0xc68b47f7 tc_setup_offload_action +EXPORT_SYMBOL vmlinux 0xc69fce52 qcom_scm_qsmmu500_wait_safe_toggle +EXPORT_SYMBOL vmlinux 0xc6a472b7 fman_set_mac_max_frame +EXPORT_SYMBOL vmlinux 0xc6a6004e devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0xc6b14bf8 fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0xc6b9ae7d ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0xc6bbab04 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0xc6c58c3e netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0xc6c82582 md_update_sb +EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6d09aa9 release_firmware +EXPORT_SYMBOL vmlinux 0xc6e6cc91 of_clk_get_by_name +EXPORT_SYMBOL vmlinux 0xc6f3b3fc refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0xc6f46339 init_timer_key +EXPORT_SYMBOL vmlinux 0xc70851e3 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0xc708f1fe ec_write +EXPORT_SYMBOL vmlinux 0xc71d58fe of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc72f6da8 filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xc7621e6b netif_napi_add_weight +EXPORT_SYMBOL vmlinux 0xc769a36a xsk_tx_completed +EXPORT_SYMBOL vmlinux 0xc7806ec9 mipi_dsi_driver_unregister +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc785217e page_pool_update_nid +EXPORT_SYMBOL vmlinux 0xc7856a3d inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc7953894 sk_stop_timer +EXPORT_SYMBOL vmlinux 0xc79b99fe __register_binfmt +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7c1107a LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0xc7c14ab4 md_unregister_thread +EXPORT_SYMBOL vmlinux 0xc7c8be2a phy_modify_paged_changed +EXPORT_SYMBOL vmlinux 0xc7d094b5 dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xc7d14897 register_netdevice +EXPORT_SYMBOL vmlinux 0xc80a5ff2 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0xc80ab559 swake_up_one +EXPORT_SYMBOL vmlinux 0xc812bb99 rproc_coredump_using_sections +EXPORT_SYMBOL vmlinux 0xc836e7ca flow_keys_dissector +EXPORT_SYMBOL vmlinux 0xc83809e9 inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0xc838c3f5 __ashrti3 +EXPORT_SYMBOL vmlinux 0xc83b85d1 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc8588b00 rpmh_invalidate +EXPORT_SYMBOL vmlinux 0xc872fd85 in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0xc8827b75 sysctl_vals +EXPORT_SYMBOL vmlinux 0xc890c008 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xc89846c4 xudma_tchanrt_read +EXPORT_SYMBOL vmlinux 0xc8a91f5b cpumask_local_spread +EXPORT_SYMBOL vmlinux 0xc8b3bd44 md_bitmap_free +EXPORT_SYMBOL vmlinux 0xc8c050f7 of_device_register +EXPORT_SYMBOL vmlinux 0xc8dcc62a krealloc +EXPORT_SYMBOL vmlinux 0xc8e856a3 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0xc8ea70fc netdev_offload_xstats_get +EXPORT_SYMBOL vmlinux 0xc8eb63eb inet6_del_protocol +EXPORT_SYMBOL vmlinux 0xc8fed33d ip_getsockopt +EXPORT_SYMBOL vmlinux 0xc90304a7 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0xc905c5f9 sg_miter_next +EXPORT_SYMBOL vmlinux 0xc908d717 vfs_rmdir +EXPORT_SYMBOL vmlinux 0xc90eb087 jbd2_fc_release_bufs +EXPORT_SYMBOL vmlinux 0xc916dd46 __SCK__tp_func_kmalloc +EXPORT_SYMBOL vmlinux 0xc9192a67 netdev_notify_peers +EXPORT_SYMBOL vmlinux 0xc9252002 dm_kobject_release +EXPORT_SYMBOL vmlinux 0xc9303448 reuseport_select_sock +EXPORT_SYMBOL vmlinux 0xc93e8461 acpi_get_event_resources +EXPORT_SYMBOL vmlinux 0xc9634df9 in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0xc9639e12 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0xc964f70d __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0xc972449f mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0xc97bc2a5 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0xc9822234 clk_register_clkdev +EXPORT_SYMBOL vmlinux 0xc983745d ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0xc983ee7b dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xc9920be3 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0xc99783f4 dma_unmap_resource +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9b68030 devm_of_mdiobus_register +EXPORT_SYMBOL vmlinux 0xc9d9ee4f console_start +EXPORT_SYMBOL vmlinux 0xc9dab502 ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0xc9dd778e tcp_filter +EXPORT_SYMBOL vmlinux 0xc9df055a xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xc9df9fd5 fwnode_iomap +EXPORT_SYMBOL vmlinux 0xc9eb6ebf input_match_device_id +EXPORT_SYMBOL vmlinux 0xc9ed0401 imx_sc_rm_is_resource_owned +EXPORT_SYMBOL vmlinux 0xca13d8b3 netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0xca1648d4 zstd_decompress_dctx +EXPORT_SYMBOL vmlinux 0xca1a4c4b seq_dentry +EXPORT_SYMBOL vmlinux 0xca21ebd3 bitmap_free +EXPORT_SYMBOL vmlinux 0xca325c4d xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xca431c05 wake_bit_function +EXPORT_SYMBOL vmlinux 0xca62afaf xudma_rflow_is_gp +EXPORT_SYMBOL vmlinux 0xca68fa44 _dev_printk +EXPORT_SYMBOL vmlinux 0xca72d3d4 folio_account_redirty +EXPORT_SYMBOL vmlinux 0xca730ca6 block_write_end +EXPORT_SYMBOL vmlinux 0xca7909f8 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0xca9360b5 rb_next +EXPORT_SYMBOL vmlinux 0xca9beaa4 __xa_store +EXPORT_SYMBOL vmlinux 0xcab28af5 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0xcac38627 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0xcad1aca8 acpi_exception +EXPORT_SYMBOL vmlinux 0xcad54959 blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0xcaf1a4f8 __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0xcaf786ea dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xcaff6756 write_inode_now +EXPORT_SYMBOL vmlinux 0xcb0288ea ledtrig_cpu +EXPORT_SYMBOL vmlinux 0xcb0c9d45 peernet2id +EXPORT_SYMBOL vmlinux 0xcb0e1aab blk_mq_free_tag_set +EXPORT_SYMBOL vmlinux 0xcb1f0549 free_cgroup_ns +EXPORT_SYMBOL vmlinux 0xcb2c4af9 security_task_getsecid_obj +EXPORT_SYMBOL vmlinux 0xcb2c7424 mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0xcb34e6de make_kgid +EXPORT_SYMBOL vmlinux 0xcb382a33 kobject_put +EXPORT_SYMBOL vmlinux 0xcb3ae215 call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xcb47124d xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0xcb4c7032 netdev_offload_xstats_disable +EXPORT_SYMBOL vmlinux 0xcb53c9e8 to_nd_pfn +EXPORT_SYMBOL vmlinux 0xcb566571 pskb_extract +EXPORT_SYMBOL vmlinux 0xcb733bf2 acpi_bus_set_power +EXPORT_SYMBOL vmlinux 0xcb7e0f69 sync_filesystem +EXPORT_SYMBOL vmlinux 0xcb8077fc configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0xcba3166c kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0xcbb9da32 consume_skb +EXPORT_SYMBOL vmlinux 0xcbbf0a6f audit_log_task_context +EXPORT_SYMBOL vmlinux 0xcbc26387 skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0xcbce2ed5 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0xcbd4898c fortify_panic +EXPORT_SYMBOL vmlinux 0xcbfb33e4 init_opal_dev +EXPORT_SYMBOL vmlinux 0xcc0fbb50 __lock_sock_fast +EXPORT_SYMBOL vmlinux 0xcc118088 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0xcc187607 sk_stream_error +EXPORT_SYMBOL vmlinux 0xcc1b882a idr_get_next_ul +EXPORT_SYMBOL vmlinux 0xcc23002a hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc32441c dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0xcc328a5c reservation_ww_class +EXPORT_SYMBOL vmlinux 0xcc411ed1 ptp_convert_timestamp +EXPORT_SYMBOL vmlinux 0xcc445ceb __sg_page_iter_dma_next +EXPORT_SYMBOL vmlinux 0xcc4c9c80 touchscreen_parse_properties +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5d22d9 can_do_mlock +EXPORT_SYMBOL vmlinux 0xcc6085cd tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0xcc642f70 of_graph_get_port_by_id +EXPORT_SYMBOL vmlinux 0xcc7fcc7d dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0xcc886169 simple_transaction_set +EXPORT_SYMBOL vmlinux 0xcc9b8e0f md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0xcca5839d xen_vcpu_id +EXPORT_SYMBOL vmlinux 0xccbe254f sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xccc1c393 config_item_set_name +EXPORT_SYMBOL vmlinux 0xccd4c999 __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0xccec6f35 block_write_begin +EXPORT_SYMBOL vmlinux 0xccfb9e07 dst_default_metrics +EXPORT_SYMBOL vmlinux 0xccfd2ebc scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0xcd01b8e6 acpi_attach_data +EXPORT_SYMBOL vmlinux 0xcd0a4c6d dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xcd1093e7 dcache_dir_close +EXPORT_SYMBOL vmlinux 0xcd1c252f unlock_new_inode +EXPORT_SYMBOL vmlinux 0xcd1d6619 vfs_iocb_iter_write +EXPORT_SYMBOL vmlinux 0xcd23e500 dquot_destroy +EXPORT_SYMBOL vmlinux 0xcd256667 tcp_md5_needed +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd4ddb15 jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xcd61ddc3 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0xcd8281d1 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0xcd8ce890 acpi_format_exception +EXPORT_SYMBOL vmlinux 0xcda57a4f fixed_size_llseek +EXPORT_SYMBOL vmlinux 0xcdb3bab5 dquot_release +EXPORT_SYMBOL vmlinux 0xcdc39c9e security_ismaclabel +EXPORT_SYMBOL vmlinux 0xcde77bcc free_opal_dev +EXPORT_SYMBOL vmlinux 0xcdf64cbd blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0xcdf93365 vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0xce036f24 sg_split +EXPORT_SYMBOL vmlinux 0xce1103a9 mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0xce183ac0 fb_blank +EXPORT_SYMBOL vmlinux 0xce201771 remove_watch_from_object +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce2f24c3 posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0xce4cdb8e fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xce4e47b6 __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0xce589ddc security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce5af486 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0xce5b0ce7 pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0xce731b34 ucc_slow_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0xce76c257 acpi_get_irq_routing_table +EXPORT_SYMBOL vmlinux 0xce807a25 up_write +EXPORT_SYMBOL vmlinux 0xce90c53d __remove_inode_hash +EXPORT_SYMBOL vmlinux 0xceab0311 strchrnul +EXPORT_SYMBOL vmlinux 0xceb0c196 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xced0f4d4 gen_pool_create +EXPORT_SYMBOL vmlinux 0xcefb0c9f __mutex_init +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf060c93 acpi_bus_unregister_driver +EXPORT_SYMBOL vmlinux 0xcf0730a9 of_graph_get_endpoint_count +EXPORT_SYMBOL vmlinux 0xcf0ec8fd fqdir_exit +EXPORT_SYMBOL vmlinux 0xcf1ea051 default_llseek +EXPORT_SYMBOL vmlinux 0xcf2a6966 up +EXPORT_SYMBOL vmlinux 0xcf3b69b3 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xcf44c3a8 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0xcf491223 mipi_dsi_dcs_get_pixel_format +EXPORT_SYMBOL vmlinux 0xcf4fdd4d _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0xcf62ecb4 dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0xcf72ff8a i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0xcf7acb5f shmem_aops +EXPORT_SYMBOL vmlinux 0xcf7d56fa blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0xcf8c5a10 pnp_stop_dev +EXPORT_SYMBOL vmlinux 0xcf9b558d touchscreen_set_mt_pos +EXPORT_SYMBOL vmlinux 0xcf9c7f23 of_device_is_available +EXPORT_SYMBOL vmlinux 0xcfa51850 vfs_readlink +EXPORT_SYMBOL vmlinux 0xcfa7e913 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xcfc9deaf atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xcfd884a8 __hsiphash_unaligned +EXPORT_SYMBOL vmlinux 0xcfda3e44 d_prune_aliases +EXPORT_SYMBOL vmlinux 0xcfe26d69 nexthop_set_hw_flags +EXPORT_SYMBOL vmlinux 0xcfeb98a8 acpi_processor_register_performance +EXPORT_SYMBOL vmlinux 0xd00b73fa rtc_add_groups +EXPORT_SYMBOL vmlinux 0xd00baece nf_log_unregister +EXPORT_SYMBOL vmlinux 0xd010a8a7 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0xd0209b21 nobh_writepage +EXPORT_SYMBOL vmlinux 0xd03158da netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0xd03b65b3 bpf_map_get +EXPORT_SYMBOL vmlinux 0xd03bbe00 fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0xd04c1a64 sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0xd0654aba woken_wake_function +EXPORT_SYMBOL vmlinux 0xd06e40ba devm_backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xd0760fc0 kfree_sensitive +EXPORT_SYMBOL vmlinux 0xd085e64b blk_pre_runtime_resume +EXPORT_SYMBOL vmlinux 0xd08a6e66 register_quota_format +EXPORT_SYMBOL vmlinux 0xd0943c38 eth_header +EXPORT_SYMBOL vmlinux 0xd098bba4 generic_set_encrypted_ci_d_ops +EXPORT_SYMBOL vmlinux 0xd0b74705 acpi_install_interface +EXPORT_SYMBOL vmlinux 0xd0de1ece md_handle_request +EXPORT_SYMBOL vmlinux 0xd0e11cdc finalize_exec +EXPORT_SYMBOL vmlinux 0xd0e1f793 call_fib_notifiers +EXPORT_SYMBOL vmlinux 0xd0e3d8ef dev_deactivate +EXPORT_SYMBOL vmlinux 0xd0fe8d51 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0xd10ee979 sunxi_sram_release +EXPORT_SYMBOL vmlinux 0xd115e50b neigh_for_each +EXPORT_SYMBOL vmlinux 0xd1363cc1 ucs2_strsize +EXPORT_SYMBOL vmlinux 0xd13d6af2 phy_ethtool_get_stats +EXPORT_SYMBOL vmlinux 0xd1849ff7 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0xd18924fe con_set_default_unimap +EXPORT_SYMBOL vmlinux 0xd194ddf9 acpi_gpe_count +EXPORT_SYMBOL vmlinux 0xd1a8ccaa sock_rfree +EXPORT_SYMBOL vmlinux 0xd1c04e50 inet_sk_set_state +EXPORT_SYMBOL vmlinux 0xd1c3d008 filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0xd1d3ce9f netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0xd1d87e92 scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0xd1e0dd17 cdrom_check_events +EXPORT_SYMBOL vmlinux 0xd1e6e50f fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xd2051916 qcom_scm_cpu_power_down +EXPORT_SYMBOL vmlinux 0xd21fdd62 inode_set_bytes +EXPORT_SYMBOL vmlinux 0xd2237016 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0xd238b38a sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0xd24108d4 rfkill_soft_blocked +EXPORT_SYMBOL vmlinux 0xd245495e netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xd2473503 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0xd2582f8f __SCK__tp_func_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0xd25bc5d4 csum_tcpudp_nofold +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd2632d99 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0xd26f8f02 unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0xd27b25dd blk_check_plugged +EXPORT_SYMBOL vmlinux 0xd2800691 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd2827a9e thread_group_exited +EXPORT_SYMBOL vmlinux 0xd289c16c devm_devfreq_add_device +EXPORT_SYMBOL vmlinux 0xd2a86e3c devm_get_clk_from_child +EXPORT_SYMBOL vmlinux 0xd2af20a5 phy_attached_info_irq +EXPORT_SYMBOL vmlinux 0xd2b2712c framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xd2b6b132 pnp_start_dev +EXPORT_SYMBOL vmlinux 0xd2c65b2a napi_build_skb +EXPORT_SYMBOL vmlinux 0xd2c99738 __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0xd2d4f81c __of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0xd2d88506 netdev_offload_xstats_report_used +EXPORT_SYMBOL vmlinux 0xd2da1048 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xd2e2a9d0 hdmi_spd_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd2ea49b8 acpi_leave_sleep_state_prep +EXPORT_SYMBOL vmlinux 0xd2f96450 dma_map_resource +EXPORT_SYMBOL vmlinux 0xd318b5de __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd31f3c1e seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0xd322ccf3 of_node_get +EXPORT_SYMBOL vmlinux 0xd3360473 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0xd34373eb arp_xmit +EXPORT_SYMBOL vmlinux 0xd3532bd0 udp6_set_csum +EXPORT_SYMBOL vmlinux 0xd3543063 memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0xd3559ef4 __memset +EXPORT_SYMBOL vmlinux 0xd359e550 netdev_core_stats_alloc +EXPORT_SYMBOL vmlinux 0xd35a6d31 mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xd35cce70 _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xd35d3330 dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0xd36dc10c get_random_u32 +EXPORT_SYMBOL vmlinux 0xd36e3d59 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0xd37aab4d devm_mfd_add_devices +EXPORT_SYMBOL vmlinux 0xd37cbe97 __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0xd38ed105 flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0xd3c2233c sock_set_reuseport +EXPORT_SYMBOL vmlinux 0xd3cf4b3d inet_stream_connect +EXPORT_SYMBOL vmlinux 0xd3de8abe dev_lstats_read +EXPORT_SYMBOL vmlinux 0xd3e07636 genphy_handle_interrupt_no_ack +EXPORT_SYMBOL vmlinux 0xd3e6f14c param_ops_ulong +EXPORT_SYMBOL vmlinux 0xd3e8865d blk_mq_start_stopped_hw_queues +EXPORT_SYMBOL vmlinux 0xd40146d5 fddi_type_trans +EXPORT_SYMBOL vmlinux 0xd406d266 fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xd413091c get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0xd41969ac configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0xd42a43b9 ip_route_me_harder +EXPORT_SYMBOL vmlinux 0xd42bea7d netdev_reset_tc +EXPORT_SYMBOL vmlinux 0xd4484772 __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xd45b3664 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0xd45c4dda seq_write +EXPORT_SYMBOL vmlinux 0xd45cc6ca bin2hex +EXPORT_SYMBOL vmlinux 0xd460a9bb debugfs_create_automount +EXPORT_SYMBOL vmlinux 0xd474a30f is_nd_btt +EXPORT_SYMBOL vmlinux 0xd4780df3 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0xd4835ef8 dmi_check_system +EXPORT_SYMBOL vmlinux 0xd4a307fa __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0xd4a3f4a8 kernel_getpeername +EXPORT_SYMBOL vmlinux 0xd4a69d20 qm_channel_caam +EXPORT_SYMBOL vmlinux 0xd4bb4a82 inet6addr_validator_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd4d1983c udplite_table +EXPORT_SYMBOL vmlinux 0xd4fa5a87 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0xd4fb1ca6 nf_log_trace +EXPORT_SYMBOL vmlinux 0xd516db9f param_set_uint +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd5346bfc acpi_get_possible_resources +EXPORT_SYMBOL vmlinux 0xd5527565 unix_attach_fds +EXPORT_SYMBOL vmlinux 0xd5a3c145 fb_get_mode +EXPORT_SYMBOL vmlinux 0xd5a92af4 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xd5b047ac tty_hung_up_p +EXPORT_SYMBOL vmlinux 0xd5b3d0d5 xxh64_copy_state +EXPORT_SYMBOL vmlinux 0xd5be37ac arp_tbl +EXPORT_SYMBOL vmlinux 0xd5fd90f1 prepare_to_wait +EXPORT_SYMBOL vmlinux 0xd602eada __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0xd609e50c phy_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0xd613547e dev_uc_del +EXPORT_SYMBOL vmlinux 0xd6152866 dev_mc_del +EXPORT_SYMBOL vmlinux 0xd6209094 framebuffer_release +EXPORT_SYMBOL vmlinux 0xd62b1e45 trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0xd62ecd49 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0xd63cec94 pci_get_class +EXPORT_SYMBOL vmlinux 0xd643239a acpi_leave_sleep_state +EXPORT_SYMBOL vmlinux 0xd64c2230 flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0xd65570ff tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0xd65e7bc3 __mdiobus_read +EXPORT_SYMBOL vmlinux 0xd66494d5 xen_alloc_unpopulated_pages +EXPORT_SYMBOL vmlinux 0xd665ea25 __seq_open_private +EXPORT_SYMBOL vmlinux 0xd66c8184 add_device_randomness +EXPORT_SYMBOL vmlinux 0xd6742a28 vm_event_states +EXPORT_SYMBOL vmlinux 0xd67e6a8b sock_kfree_s +EXPORT_SYMBOL vmlinux 0xd688716b dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xd688eb1d has_capability_noaudit +EXPORT_SYMBOL vmlinux 0xd68c5a1f adjust_resource +EXPORT_SYMBOL vmlinux 0xd691c6a9 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0xd696e6a6 serio_bus +EXPORT_SYMBOL vmlinux 0xd69d3a78 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0xd69ea619 tcp_poll +EXPORT_SYMBOL vmlinux 0xd6a07b08 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xd6a8f481 kthread_create_worker +EXPORT_SYMBOL vmlinux 0xd6a91f54 twl_i2c_read +EXPORT_SYMBOL vmlinux 0xd6b64aeb __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0xd6b93e17 fsl_ifc_ctrl_dev +EXPORT_SYMBOL vmlinux 0xd6bb4240 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xd6d183fb pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xd6ea1b84 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0xd6eaaea1 full_name_hash +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6f2ffff xen_alloc_ballooned_pages +EXPORT_SYMBOL vmlinux 0xd6fbc806 xp_raw_get_data +EXPORT_SYMBOL vmlinux 0xd6fde043 is_module_sig_enforced +EXPORT_SYMBOL vmlinux 0xd70d35a1 gf128mul_4k_bbe +EXPORT_SYMBOL vmlinux 0xd70f3fb4 pci_disable_msi +EXPORT_SYMBOL vmlinux 0xd70f62b6 acpi_os_execute +EXPORT_SYMBOL vmlinux 0xd7195c4e pci_match_id +EXPORT_SYMBOL vmlinux 0xd7205504 of_phy_find_device +EXPORT_SYMBOL vmlinux 0xd7318119 fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0xd738ca1b phy_unregister_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd73c8c2b synchronize_shrinkers +EXPORT_SYMBOL vmlinux 0xd7482f05 vcalloc +EXPORT_SYMBOL vmlinux 0xd7899d78 tty_kref_put +EXPORT_SYMBOL vmlinux 0xd7987177 utf8_load +EXPORT_SYMBOL vmlinux 0xd7bdd47e mipi_dsi_dcs_get_display_brightness_large +EXPORT_SYMBOL vmlinux 0xd7d280ad irq_poll_complete +EXPORT_SYMBOL vmlinux 0xd7d5d4c7 fman_get_revision +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7e8b52c __breadahead +EXPORT_SYMBOL vmlinux 0xd7ea7094 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xd7f2f232 netdev_features_change +EXPORT_SYMBOL vmlinux 0xd7fd6495 blk_mq_end_request +EXPORT_SYMBOL vmlinux 0xd7fe76bc jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0xd7ff1b8a __ashlti3 +EXPORT_SYMBOL vmlinux 0xd801b4fa generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xd806273c padata_alloc +EXPORT_SYMBOL vmlinux 0xd80c7b46 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0xd81058c7 mdiobus_get_phy +EXPORT_SYMBOL vmlinux 0xd8131274 qman_alloc_cgrid_range +EXPORT_SYMBOL vmlinux 0xd8158084 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xd828f063 xudma_tchanrt_write +EXPORT_SYMBOL vmlinux 0xd85aa811 __scsi_print_sense +EXPORT_SYMBOL vmlinux 0xd8662ece phy_attach_direct +EXPORT_SYMBOL vmlinux 0xd86ce1b9 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a994eb scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0xd8b61304 get_default_font +EXPORT_SYMBOL vmlinux 0xd8c1b9e0 genphy_check_and_restart_aneg +EXPORT_SYMBOL vmlinux 0xd8d6d580 __find_get_block +EXPORT_SYMBOL vmlinux 0xd8df08ac acpi_handle_printk +EXPORT_SYMBOL vmlinux 0xd91c400e clocksource_unregister +EXPORT_SYMBOL vmlinux 0xd91f6ab6 strnlen_user +EXPORT_SYMBOL vmlinux 0xd920dbf7 param_ops_ullong +EXPORT_SYMBOL vmlinux 0xd9273333 folio_mapping +EXPORT_SYMBOL vmlinux 0xd92b0feb genl_register_family +EXPORT_SYMBOL vmlinux 0xd92deb6b acpi_evaluate_object +EXPORT_SYMBOL vmlinux 0xd9491c14 xa_destroy +EXPORT_SYMBOL vmlinux 0xd95d4432 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xd97f03d0 key_reject_and_link +EXPORT_SYMBOL vmlinux 0xd98388d6 udp_gro_receive +EXPORT_SYMBOL vmlinux 0xd985b5ed d_tmpfile +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd9a2d65d jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xd9a358ff jbd2_submit_inode_data +EXPORT_SYMBOL vmlinux 0xd9a5ea54 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xd9b85ef6 lockref_get +EXPORT_SYMBOL vmlinux 0xd9b8eaea __SCK__tp_func_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xd9c5aece pci_fixup_device +EXPORT_SYMBOL vmlinux 0xd9d88e50 input_get_poll_interval +EXPORT_SYMBOL vmlinux 0xd9d8fd16 register_restart_handler +EXPORT_SYMBOL vmlinux 0xd9d952d1 crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0xd9df5b2b fs_context_for_mount +EXPORT_SYMBOL vmlinux 0xd9e0eb6e pci_add_new_bus +EXPORT_SYMBOL vmlinux 0xd9e1e92b register_filesystem +EXPORT_SYMBOL vmlinux 0xd9ed8ee2 ping_prot +EXPORT_SYMBOL vmlinux 0xd9fd7be2 tcf_action_exec +EXPORT_SYMBOL vmlinux 0xda0312fe pcie_port_service_register +EXPORT_SYMBOL vmlinux 0xda039346 inode_permission +EXPORT_SYMBOL vmlinux 0xda048827 configfs_undepend_item +EXPORT_SYMBOL vmlinux 0xda10443c xudma_tchan_get_id +EXPORT_SYMBOL vmlinux 0xda17ffd6 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0xda3d10a8 security_tun_dev_open +EXPORT_SYMBOL vmlinux 0xda4aa375 page_pool_get_stats +EXPORT_SYMBOL vmlinux 0xda756ef5 xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0xda784db1 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0xda8eb2f7 node_data +EXPORT_SYMBOL vmlinux 0xdaabe725 ip_frag_next +EXPORT_SYMBOL vmlinux 0xdab75852 d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0xdac4913a bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0xdaca820e dynamic_preempt_schedule +EXPORT_SYMBOL vmlinux 0xdad1fc3f zstd_flush_stream +EXPORT_SYMBOL vmlinux 0xdaec288d pr_flush +EXPORT_SYMBOL vmlinux 0xdafd366d mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0xdb04abef kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0xdb0899fb flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0xdb1105e3 of_graph_get_remote_port_parent +EXPORT_SYMBOL vmlinux 0xdb28a18a tcp_mtu_to_mss +EXPORT_SYMBOL vmlinux 0xdb2abde4 __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0xdb2c1192 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0xdb3133df md_set_array_sectors +EXPORT_SYMBOL vmlinux 0xdb512be1 d_make_root +EXPORT_SYMBOL vmlinux 0xdb571bfb dev_uc_unsync +EXPORT_SYMBOL vmlinux 0xdb59d1fa pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0xdb675587 lookup_one_unlocked +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb772dee vfs_create +EXPORT_SYMBOL vmlinux 0xdb7bb68b generic_copy_file_range +EXPORT_SYMBOL vmlinux 0xdba2f8ce mipi_dsi_shutdown_peripheral +EXPORT_SYMBOL vmlinux 0xdba6b916 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xdbb12111 input_register_handle +EXPORT_SYMBOL vmlinux 0xdbb41e1b pci_write_vpd_any +EXPORT_SYMBOL vmlinux 0xdbcf041a acpi_install_address_space_handler +EXPORT_SYMBOL vmlinux 0xdbcf69de vme_register_driver +EXPORT_SYMBOL vmlinux 0xdbd78207 inode_init_once +EXPORT_SYMBOL vmlinux 0xdbdf6c92 ioport_resource +EXPORT_SYMBOL vmlinux 0xdbfc5173 inet_frag_kill +EXPORT_SYMBOL vmlinux 0xdc01eb91 param_get_byte +EXPORT_SYMBOL vmlinux 0xdc0532d6 genphy_read_status +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc163927 inet_add_offload +EXPORT_SYMBOL vmlinux 0xdc1b5cab padata_set_cpumask +EXPORT_SYMBOL vmlinux 0xdc1cb07c pci_resize_resource +EXPORT_SYMBOL vmlinux 0xdc307ea9 generic_read_dir +EXPORT_SYMBOL vmlinux 0xdc34158f fman_port_init +EXPORT_SYMBOL vmlinux 0xdc34cb3d acpi_bus_get_status +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc49c198 reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0xdc512134 backlight_register_notifier +EXPORT_SYMBOL vmlinux 0xdc571c33 scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0xdc58c3e6 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0xdc5ae7e0 input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0xdc6988a6 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0xdc6d48df dquot_get_next_id +EXPORT_SYMBOL vmlinux 0xdc8b172d bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0xdc910ae3 bdev_check_media_change +EXPORT_SYMBOL vmlinux 0xdc926156 tcf_qevent_destroy +EXPORT_SYMBOL vmlinux 0xdca8c3d4 logic_outb +EXPORT_SYMBOL vmlinux 0xdcb764ad memset +EXPORT_SYMBOL vmlinux 0xdcdc0040 slhc_compress +EXPORT_SYMBOL vmlinux 0xdcf78f64 blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0xdd00447a acpi_resource_to_address64 +EXPORT_SYMBOL vmlinux 0xdd032ea4 vme_master_request +EXPORT_SYMBOL vmlinux 0xdd0c51fb xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0xdd18a993 acpi_check_dsm +EXPORT_SYMBOL vmlinux 0xdd203b08 handle_edge_irq +EXPORT_SYMBOL vmlinux 0xdd27dd6a devfreq_update_interval +EXPORT_SYMBOL vmlinux 0xdd2c169b mb_cache_create +EXPORT_SYMBOL vmlinux 0xdd2f181e twl6040_power +EXPORT_SYMBOL vmlinux 0xdd35e77c __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0xdd4d55b6 _raw_read_unlock +EXPORT_SYMBOL vmlinux 0xdd605c48 ps2_sendbyte +EXPORT_SYMBOL vmlinux 0xdd64e639 strscpy +EXPORT_SYMBOL vmlinux 0xdd6e0147 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0xdd793f40 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xdd7978bc eth_type_trans +EXPORT_SYMBOL vmlinux 0xdd7e3192 qcom_scm_pas_auth_and_reset +EXPORT_SYMBOL vmlinux 0xdd8166a1 dma_fence_free +EXPORT_SYMBOL vmlinux 0xdd849d51 scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0xddad7952 acpi_dbg_level +EXPORT_SYMBOL vmlinux 0xddb1b60a truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0xddbbeca3 generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0xddbf2632 pci_find_resource +EXPORT_SYMBOL vmlinux 0xddc5c7e7 devfreq_update_status +EXPORT_SYMBOL vmlinux 0xddcbbb27 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xddcbfd82 neigh_event_ns +EXPORT_SYMBOL vmlinux 0xdde37d15 rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0xdde98c30 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0xddf6ad7a completion_done +EXPORT_SYMBOL vmlinux 0xde141ec4 amba_driver_register +EXPORT_SYMBOL vmlinux 0xde2081cb vfs_get_link +EXPORT_SYMBOL vmlinux 0xde293f9e add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xde394576 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xde4967f1 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0xde4d4ace dim_calc_stats +EXPORT_SYMBOL vmlinux 0xde5ecaab phy_device_create +EXPORT_SYMBOL vmlinux 0xde6eb0d9 d_add +EXPORT_SYMBOL vmlinux 0xde766b12 mii_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0xde8326b9 ppp_unit_number +EXPORT_SYMBOL vmlinux 0xde872622 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0xdea5db55 kthread_stop +EXPORT_SYMBOL vmlinux 0xdeb0b233 genphy_read_abilities +EXPORT_SYMBOL vmlinux 0xded39a6b gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xdee0bee2 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0xdeea874e nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0xdef7c893 fb_match_mode +EXPORT_SYMBOL vmlinux 0xdf08d497 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0xdf0ba31d netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0xdf130839 seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0xdf256037 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0xdf27bb32 mmc_card_is_blockaddr +EXPORT_SYMBOL vmlinux 0xdf2c2742 rb_last +EXPORT_SYMBOL vmlinux 0xdf2ebb87 _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xdf36914b xa_find_after +EXPORT_SYMBOL vmlinux 0xdf54a8f7 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdf5c106a passthru_features_check +EXPORT_SYMBOL vmlinux 0xdf6b082f proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xdf84ef17 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0xdf86617d tcp_close +EXPORT_SYMBOL vmlinux 0xdf8b9d7a vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf93b9d8 timespec64_to_jiffies +EXPORT_SYMBOL vmlinux 0xdfbe0653 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0xdfc12ef1 zstd_decompress_stream +EXPORT_SYMBOL vmlinux 0xdfcb2db9 scsi_rescan_device +EXPORT_SYMBOL vmlinux 0xdfcc992c current_work +EXPORT_SYMBOL vmlinux 0xdfe11a5f follow_up +EXPORT_SYMBOL vmlinux 0xdff1439a put_cmsg +EXPORT_SYMBOL vmlinux 0xdff7ab17 kernel_listen +EXPORT_SYMBOL vmlinux 0xdff905e5 vme_slave_free +EXPORT_SYMBOL vmlinux 0xdffc80fc vesa_modes +EXPORT_SYMBOL vmlinux 0xe0040748 iget_locked +EXPORT_SYMBOL vmlinux 0xe012e8fc rproc_add +EXPORT_SYMBOL vmlinux 0xe02c2613 netif_rx +EXPORT_SYMBOL vmlinux 0xe02c9c92 __xa_erase +EXPORT_SYMBOL vmlinux 0xe0306012 max8925_set_bits +EXPORT_SYMBOL vmlinux 0xe03a689d dma_fence_array_ops +EXPORT_SYMBOL vmlinux 0xe03a9c90 phy_suspend +EXPORT_SYMBOL vmlinux 0xe0401209 sock_kmalloc +EXPORT_SYMBOL vmlinux 0xe040e4c2 unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0xe0419ac4 kstrtos16 +EXPORT_SYMBOL vmlinux 0xe052ce44 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0xe05df678 dev_remove_pack +EXPORT_SYMBOL vmlinux 0xe0696e8f blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0xe06bfc40 pci_set_master +EXPORT_SYMBOL vmlinux 0xe070019a __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0xe07e5f44 acpi_reconfig_notifier_unregister +EXPORT_SYMBOL vmlinux 0xe080e8f0 set_current_groups +EXPORT_SYMBOL vmlinux 0xe082e88d acpi_check_address_range +EXPORT_SYMBOL vmlinux 0xe091c977 list_sort +EXPORT_SYMBOL vmlinux 0xe0a26ba7 ptp_clock_index +EXPORT_SYMBOL vmlinux 0xe0a323f6 __do_once_slow_start +EXPORT_SYMBOL vmlinux 0xe0a94418 tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0b6d2be kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0xe0bef318 icst_hz_to_vco +EXPORT_SYMBOL vmlinux 0xe0fca103 dquot_initialize +EXPORT_SYMBOL vmlinux 0xe10b450e vga_remove_vgacon +EXPORT_SYMBOL vmlinux 0xe113bbbc csum_partial +EXPORT_SYMBOL vmlinux 0xe11842d4 rproc_elf_find_loaded_rsc_table +EXPORT_SYMBOL vmlinux 0xe123f3d9 dma_fence_release +EXPORT_SYMBOL vmlinux 0xe12bda79 vme_dma_free_attribute +EXPORT_SYMBOL vmlinux 0xe12c945e build_skb +EXPORT_SYMBOL vmlinux 0xe130ad8c get_vm_area +EXPORT_SYMBOL vmlinux 0xe138fb8c percpu_counter_add_batch +EXPORT_SYMBOL vmlinux 0xe139cb57 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xe13cd8a7 dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0xe144e643 unpin_user_page_range_dirty_lock +EXPORT_SYMBOL vmlinux 0xe1457881 devm_clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0xe14f8387 pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0xe171b505 mmc_get_card +EXPORT_SYMBOL vmlinux 0xe18493f7 __ip_dev_find +EXPORT_SYMBOL vmlinux 0xe19bc30f elv_rb_del +EXPORT_SYMBOL vmlinux 0xe1af86e4 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xe1dcf64a audit_log_format +EXPORT_SYMBOL vmlinux 0xe1df8ad7 eth_validate_addr +EXPORT_SYMBOL vmlinux 0xe1e209cc blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0xe1ef496c dquot_free_inode +EXPORT_SYMBOL vmlinux 0xe2089ad3 from_kgid_munged +EXPORT_SYMBOL vmlinux 0xe2172e02 cpu_hwcaps +EXPORT_SYMBOL vmlinux 0xe21b196e folio_write_one +EXPORT_SYMBOL vmlinux 0xe21f18ac __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0xe223a887 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0xe22c0255 mdio_device_register +EXPORT_SYMBOL vmlinux 0xe23a0276 generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0xe24b04c2 cfb_fillrect +EXPORT_SYMBOL vmlinux 0xe2623d9e bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0xe2654827 netdev_offload_xstats_enable +EXPORT_SYMBOL vmlinux 0xe268107f iproc_msi_exit +EXPORT_SYMBOL vmlinux 0xe271128b cpumask_any_distribute +EXPORT_SYMBOL vmlinux 0xe273d75d alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0xe27b8aef phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xe27f177e device_add_disk +EXPORT_SYMBOL vmlinux 0xe27f9b9a inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xe2b65b33 bh_submit_read +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2e8df29 ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0xe31627d6 sock_create +EXPORT_SYMBOL vmlinux 0xe32ab4d8 xxh64_digest +EXPORT_SYMBOL vmlinux 0xe344a05d skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0xe3481b94 __post_watch_notification +EXPORT_SYMBOL vmlinux 0xe349960d dev_set_mtu +EXPORT_SYMBOL vmlinux 0xe352ddca amba_device_unregister +EXPORT_SYMBOL vmlinux 0xe36ec8b9 blk_set_runtime_active +EXPORT_SYMBOL vmlinux 0xe378e0c4 phy_drivers_unregister +EXPORT_SYMBOL vmlinux 0xe38f9465 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0xe38f97ee copy_page_to_iter +EXPORT_SYMBOL vmlinux 0xe39b2ea5 sha256 +EXPORT_SYMBOL vmlinux 0xe3aa89bb key_move +EXPORT_SYMBOL vmlinux 0xe3b36c9e jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xe3c10bd4 __d_lookup_done +EXPORT_SYMBOL vmlinux 0xe3ceaf13 forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0xe3d168e8 skb_store_bits +EXPORT_SYMBOL vmlinux 0xe3ec2f2b alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0xe3efca35 mroute6_is_socket +EXPORT_SYMBOL vmlinux 0xe3fb23a0 dst_dev_put +EXPORT_SYMBOL vmlinux 0xe3feba56 tasklet_unlock_spin_wait +EXPORT_SYMBOL vmlinux 0xe3ff2c41 get_random_u64 +EXPORT_SYMBOL vmlinux 0xe3ffa1dd vfs_tmpfile +EXPORT_SYMBOL vmlinux 0xe40976c0 pnp_range_reserved +EXPORT_SYMBOL vmlinux 0xe40c37ea down_write_trylock +EXPORT_SYMBOL vmlinux 0xe4329092 __ctzdi2 +EXPORT_SYMBOL vmlinux 0xe433fd29 ilookup +EXPORT_SYMBOL vmlinux 0xe44044b9 clk_hw_get_clk +EXPORT_SYMBOL vmlinux 0xe447f95f tcp_read_sock +EXPORT_SYMBOL vmlinux 0xe45065f8 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0xe46021ca _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0xe46910e4 __inode_add_bytes +EXPORT_SYMBOL vmlinux 0xe478fa35 clkdev_add +EXPORT_SYMBOL vmlinux 0xe47bc54b unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xe47c23a5 unregister_key_type +EXPORT_SYMBOL vmlinux 0xe48bc155 flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0xe4bbc1dd kimage_voffset +EXPORT_SYMBOL vmlinux 0xe4bc2c2f hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0xe4ce9e3c mipi_dsi_dcs_get_display_brightness +EXPORT_SYMBOL vmlinux 0xe4f337bb flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0xe507468c simple_empty +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe53605e9 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0xe540e720 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xe5456864 inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0xe57feefb qcom_scm_ocmem_unlock +EXPORT_SYMBOL vmlinux 0xe58090ca security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0xe5827fe6 jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0xe583e1f1 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0xe58740fb simple_statfs +EXPORT_SYMBOL vmlinux 0xe590dea3 sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0xe5a2eca7 mii_nway_restart +EXPORT_SYMBOL vmlinux 0xe5bfa712 user_revoke +EXPORT_SYMBOL vmlinux 0xe5c60bd2 percpu_counter_set +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5e57bfe blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0xe5fb5ba7 udp_seq_stop +EXPORT_SYMBOL vmlinux 0xe60ff99d generic_ro_fops +EXPORT_SYMBOL vmlinux 0xe613a798 inet_addr_is_any +EXPORT_SYMBOL vmlinux 0xe61dafd6 sk_free +EXPORT_SYMBOL vmlinux 0xe6550092 utf8_casefold +EXPORT_SYMBOL vmlinux 0xe65851c6 tty_unlock +EXPORT_SYMBOL vmlinux 0xe65ca480 kfree_skb_list_reason +EXPORT_SYMBOL vmlinux 0xe664af5b __sock_create +EXPORT_SYMBOL vmlinux 0xe6767c13 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xe67d932d pci_request_irq +EXPORT_SYMBOL vmlinux 0xe685e13d __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0xe68efe41 _raw_write_lock +EXPORT_SYMBOL vmlinux 0xe695b418 request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0xe6a07f62 vfs_mknod +EXPORT_SYMBOL vmlinux 0xe6a87f3e of_get_next_cpu_node +EXPORT_SYMBOL vmlinux 0xe6bc16a9 skb_queue_purge +EXPORT_SYMBOL vmlinux 0xe6d2458e do_trace_netlink_extack +EXPORT_SYMBOL vmlinux 0xe6df6533 backlight_device_set_brightness +EXPORT_SYMBOL vmlinux 0xe6efbaa7 netdev_notice +EXPORT_SYMBOL vmlinux 0xe6fa06a2 rename_lock +EXPORT_SYMBOL vmlinux 0xe6fca7a1 rt6_lookup +EXPORT_SYMBOL vmlinux 0xe7145f8c input_set_timestamp +EXPORT_SYMBOL vmlinux 0xe7173da2 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0xe7257ab8 xa_store_range +EXPORT_SYMBOL vmlinux 0xe735869b udp_lib_rehash +EXPORT_SYMBOL vmlinux 0xe74f2b02 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0xe7570708 serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0xe7698027 ioremap_cache +EXPORT_SYMBOL vmlinux 0xe76def2f __break_lease +EXPORT_SYMBOL vmlinux 0xe77de295 mmc_cqe_recovery +EXPORT_SYMBOL vmlinux 0xe7a02573 ida_alloc_range +EXPORT_SYMBOL vmlinux 0xe7ab1ecc _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0xe7ac28b5 rt_dst_clone +EXPORT_SYMBOL vmlinux 0xe7b0353b __cpu_active_mask +EXPORT_SYMBOL vmlinux 0xe7cccfbd devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0xe7d164a5 xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7d64773 security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0xe7fee9f8 textsearch_prepare +EXPORT_SYMBOL vmlinux 0xe82fbe83 mmc_erase +EXPORT_SYMBOL vmlinux 0xe8330a5a call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0xe857754e dm_get_device +EXPORT_SYMBOL vmlinux 0xe8584a6c register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xe85f2123 acpi_tb_unload_table +EXPORT_SYMBOL vmlinux 0xe860ef1c netdev_crit +EXPORT_SYMBOL vmlinux 0xe861a956 security_sk_clone +EXPORT_SYMBOL vmlinux 0xe88c0b16 __ip_options_compile +EXPORT_SYMBOL vmlinux 0xe8b037e3 __neigh_create +EXPORT_SYMBOL vmlinux 0xe8b5c3c3 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xe8bbd183 inet_add_protocol +EXPORT_SYMBOL vmlinux 0xe8d207e5 mark_info_dirty +EXPORT_SYMBOL vmlinux 0xe8e6da1d pnp_release_card_device +EXPORT_SYMBOL vmlinux 0xe8eba0e9 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0xe8fbf4fa __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0xe90253f0 xudma_rflow_get +EXPORT_SYMBOL vmlinux 0xe90272e4 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0xe9059e5a scsi_device_put +EXPORT_SYMBOL vmlinux 0xe909997a bitmap_print_list_to_buf +EXPORT_SYMBOL vmlinux 0xe912ca57 dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe920d64f scsi_done_direct +EXPORT_SYMBOL vmlinux 0xe9241f49 param_get_ushort +EXPORT_SYMBOL vmlinux 0xe928fca4 mipi_dsi_dcs_read +EXPORT_SYMBOL vmlinux 0xe93ba0dc dev_printk_emit +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe963d25e pci_dev_get +EXPORT_SYMBOL vmlinux 0xe990fe61 nd_region_release_lane +EXPORT_SYMBOL vmlinux 0xe9962f01 lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0xe9a42e67 mii_check_link +EXPORT_SYMBOL vmlinux 0xe9af7397 __xa_set_mark +EXPORT_SYMBOL vmlinux 0xe9b39d01 xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0xe9b6bd6d netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0xe9dc12a4 zstd_get_error_name +EXPORT_SYMBOL vmlinux 0xe9e1104f blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0xe9e8faeb efi_tpm_final_log_size +EXPORT_SYMBOL vmlinux 0xe9eda3b4 backlight_device_register +EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0xe9ffc063 down_trylock +EXPORT_SYMBOL vmlinux 0xea0641b5 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0xea0f3aee input_get_timestamp +EXPORT_SYMBOL vmlinux 0xea18ccb6 __block_write_begin +EXPORT_SYMBOL vmlinux 0xea1c3e3a arm_smccc_1_2_hvc +EXPORT_SYMBOL vmlinux 0xea1cf220 dev_mc_add_global +EXPORT_SYMBOL vmlinux 0xea229865 __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0xea31a588 prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0xea38da71 dquot_acquire +EXPORT_SYMBOL vmlinux 0xea3c8e4e scsilun_to_int +EXPORT_SYMBOL vmlinux 0xea58b850 __netdev_notify_peers +EXPORT_SYMBOL vmlinux 0xea5bf572 ether_setup +EXPORT_SYMBOL vmlinux 0xea610bd6 mq_change_real_num_tx +EXPORT_SYMBOL vmlinux 0xea69ef3a cros_ec_get_next_event +EXPORT_SYMBOL vmlinux 0xea6f9a36 zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0xea778fab sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0xea78a8c7 filemap_alloc_folio +EXPORT_SYMBOL vmlinux 0xea890754 inode_update_time +EXPORT_SYMBOL vmlinux 0xeaabd800 devm_devfreq_add_governor +EXPORT_SYMBOL vmlinux 0xeab6f4c4 acpi_check_resource_conflict +EXPORT_SYMBOL vmlinux 0xead8c400 bman_get_bpid +EXPORT_SYMBOL vmlinux 0xeae3dfd6 __const_udelay +EXPORT_SYMBOL vmlinux 0xeaf44cb2 devm_backlight_device_register +EXPORT_SYMBOL vmlinux 0xeafc141f __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeb078aee _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0xeb109f6a config_item_init_type_name +EXPORT_SYMBOL vmlinux 0xeb149460 mpage_read_folio +EXPORT_SYMBOL vmlinux 0xeb1974c9 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0xeb1b447d mmc_card_alternative_gpt_sector +EXPORT_SYMBOL vmlinux 0xeb233a45 __kmalloc +EXPORT_SYMBOL vmlinux 0xeb2b2fa7 rproc_boot +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb42ae44 page_mapped +EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact +EXPORT_SYMBOL vmlinux 0xeb4835e1 skb_pull +EXPORT_SYMBOL vmlinux 0xeb7329a2 qcom_scm_set_warm_boot_addr +EXPORT_SYMBOL vmlinux 0xeb7563c0 tso_start +EXPORT_SYMBOL vmlinux 0xeb7f6046 acpi_get_devices +EXPORT_SYMBOL vmlinux 0xeb99f86a devm_mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0xeb9e913d sgl_alloc_order +EXPORT_SYMBOL vmlinux 0xeb9eef52 match_uint +EXPORT_SYMBOL vmlinux 0xeba70a16 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0xeba885c9 mipi_dsi_dcs_set_display_brightness_large +EXPORT_SYMBOL vmlinux 0xebda3f10 jbd2_journal_grab_journal_head +EXPORT_SYMBOL vmlinux 0xebe0dd72 redraw_screen +EXPORT_SYMBOL vmlinux 0xebe8b479 register_sysctl_mount_point +EXPORT_SYMBOL vmlinux 0xebee85e5 pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xebf1ca71 qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0xebf89217 __blk_mq_alloc_disk +EXPORT_SYMBOL vmlinux 0xebfb895b dst_destroy +EXPORT_SYMBOL vmlinux 0xec0ace16 dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0xec20450c wireless_spy_update +EXPORT_SYMBOL vmlinux 0xec206d6a elv_rb_add +EXPORT_SYMBOL vmlinux 0xec22e771 logfc +EXPORT_SYMBOL vmlinux 0xec2b8a42 acpi_walk_namespace +EXPORT_SYMBOL vmlinux 0xec2e1c8f proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0xec3177ae blk_start_plug +EXPORT_SYMBOL vmlinux 0xec33c668 __SCK__tp_func_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xec3828f8 get_tz_trend +EXPORT_SYMBOL vmlinux 0xec41716a qman_alloc_fqid_range +EXPORT_SYMBOL vmlinux 0xec4a325c dquot_quota_off +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec63a590 xfrm_state_update +EXPORT_SYMBOL vmlinux 0xec6ad12b md_error +EXPORT_SYMBOL vmlinux 0xec6e72ee jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0xec87cf18 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xecac74e6 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0xeccab612 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xece784c2 rb_first +EXPORT_SYMBOL vmlinux 0xeceb2779 super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0xecf31a3c skb_try_coalesce +EXPORT_SYMBOL vmlinux 0xecfd17ca posix_test_lock +EXPORT_SYMBOL vmlinux 0xecfd68ef acpi_get_node +EXPORT_SYMBOL vmlinux 0xecff0031 page_cache_next_miss +EXPORT_SYMBOL vmlinux 0xed00c4fb acpi_os_printf +EXPORT_SYMBOL vmlinux 0xed00d63e i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0xed05a3df inet6_getname +EXPORT_SYMBOL vmlinux 0xed14797c kfree_skb_partial +EXPORT_SYMBOL vmlinux 0xed238617 __put_cred +EXPORT_SYMBOL vmlinux 0xed4c1888 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0xed534c2e jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0xed539cbc acpi_match_device_ids +EXPORT_SYMBOL vmlinux 0xed55f929 acpi_os_unmap_generic_address +EXPORT_SYMBOL vmlinux 0xed585631 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xed652357 kobject_del +EXPORT_SYMBOL vmlinux 0xed656e30 udp_encap_disable +EXPORT_SYMBOL vmlinux 0xed676170 ptp_clock_unregister +EXPORT_SYMBOL vmlinux 0xed679067 pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0xed7d007a dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0xed7db0a7 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xed888726 md_flush_request +EXPORT_SYMBOL vmlinux 0xed8a2d95 memset64 +EXPORT_SYMBOL vmlinux 0xed8a4678 md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0xed90bdee __nla_put +EXPORT_SYMBOL vmlinux 0xed937cf9 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0xed9607d9 netdev_offload_xstats_enabled +EXPORT_SYMBOL vmlinux 0xed996fbf pcie_ptm_enabled +EXPORT_SYMBOL vmlinux 0xed9d5c78 vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedc1ba6f phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0xedd17b31 sock_get_timeout +EXPORT_SYMBOL vmlinux 0xedd52d01 devfreq_monitor_start +EXPORT_SYMBOL vmlinux 0xede917c8 security_path_rename +EXPORT_SYMBOL vmlinux 0xedf2075f sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0xedf4bac1 pci_iomap_range +EXPORT_SYMBOL vmlinux 0xee14351b devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee58e970 fb_add_videomode +EXPORT_SYMBOL vmlinux 0xee6eb35e security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0xee71c62b skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0xee7d7deb gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0xee7eb9e1 pnp_platform_devices +EXPORT_SYMBOL vmlinux 0xee883b06 __vmalloc_array +EXPORT_SYMBOL vmlinux 0xee8c02e9 vprintk_emit +EXPORT_SYMBOL vmlinux 0xee8d74d6 jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0xee8f8b86 mdiobus_is_registered_device +EXPORT_SYMBOL vmlinux 0xee91879b rb_first_postorder +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeead0ebc seq_putc +EXPORT_SYMBOL vmlinux 0xeeb86f0d pcim_set_mwi +EXPORT_SYMBOL vmlinux 0xeeb9c355 vme_slave_request +EXPORT_SYMBOL vmlinux 0xeebc3d84 get_watch_queue +EXPORT_SYMBOL vmlinux 0xeecb395a fs_lookup_param +EXPORT_SYMBOL vmlinux 0xeee75d91 ucc_fast_init +EXPORT_SYMBOL vmlinux 0xeefd01c9 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xeefffa58 page_pool_create +EXPORT_SYMBOL vmlinux 0xef209b19 irq_set_chip +EXPORT_SYMBOL vmlinux 0xef253728 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0xef35be61 udplite_prot +EXPORT_SYMBOL vmlinux 0xef451a19 devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0xef4d3967 __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xef547c48 blk_pre_runtime_suspend +EXPORT_SYMBOL vmlinux 0xef7366fe dm_put_device +EXPORT_SYMBOL vmlinux 0xef8ac53d qcom_scm_restore_sec_cfg +EXPORT_SYMBOL vmlinux 0xefaf2e4f tcf_queue_work +EXPORT_SYMBOL vmlinux 0xefb6cde2 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0xefba95eb ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0xefcea2e7 acpi_warning +EXPORT_SYMBOL vmlinux 0xefd2249b configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0xefdd1512 dev_mc_init +EXPORT_SYMBOL vmlinux 0xefee932c acpi_get_data_full +EXPORT_SYMBOL vmlinux 0xefeefc09 __SCK__tp_func_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xeffb68de tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0xeffd40c9 adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf00f701e ll_rw_block +EXPORT_SYMBOL vmlinux 0xf01b8544 pci_request_region +EXPORT_SYMBOL vmlinux 0xf02aa937 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xf02f9088 inet6_del_offload +EXPORT_SYMBOL vmlinux 0xf04c0a85 rfkill_alloc +EXPORT_SYMBOL vmlinux 0xf070f1cb netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0xf0891c44 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0xf09b5d9a get_zeroed_page +EXPORT_SYMBOL vmlinux 0xf0a71b1b revert_creds +EXPORT_SYMBOL vmlinux 0xf0a8a659 mntput +EXPORT_SYMBOL vmlinux 0xf0b2419f cmd_db_read_aux_data +EXPORT_SYMBOL vmlinux 0xf0c32278 ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0xf0e34ca3 kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0xf0f4bac3 xfrm4_protocol_deregister +EXPORT_SYMBOL vmlinux 0xf11505bf dquot_resume +EXPORT_SYMBOL vmlinux 0xf11dd46e _page_poisoning_enabled_early +EXPORT_SYMBOL vmlinux 0xf12d0874 fman_register_intr +EXPORT_SYMBOL vmlinux 0xf145c483 __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0xf159f617 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0xf16b92b2 xattr_supported_namespace +EXPORT_SYMBOL vmlinux 0xf181a4de clk_bulk_get_all +EXPORT_SYMBOL vmlinux 0xf18300ad logic_inb +EXPORT_SYMBOL vmlinux 0xf189caf5 d_rehash +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1969a8e __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xf1a35516 get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0xf1a65f7b zstd_reset_dstream +EXPORT_SYMBOL vmlinux 0xf1b9eab3 end_page_writeback +EXPORT_SYMBOL vmlinux 0xf1d59f39 ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e046cc panic +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf1ea25a4 dquot_drop +EXPORT_SYMBOL vmlinux 0xf1ef802b netlink_net_capable +EXPORT_SYMBOL vmlinux 0xf1ff96ad ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0xf2073139 tcp_release_cb +EXPORT_SYMBOL vmlinux 0xf2181259 qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0xf218a69b blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0xf2221f38 xp_alloc +EXPORT_SYMBOL vmlinux 0xf22242b8 __devm_release_region +EXPORT_SYMBOL vmlinux 0xf223dfdd jbd2_journal_submit_inode_data_buffers +EXPORT_SYMBOL vmlinux 0xf237bfa5 tcf_exts_change +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf2628676 zstd_compress_cctx +EXPORT_SYMBOL vmlinux 0xf2669a2c imx_scu_irq_register_notifier +EXPORT_SYMBOL vmlinux 0xf27c724d fman_set_port_params +EXPORT_SYMBOL vmlinux 0xf28a8360 udp_ioctl +EXPORT_SYMBOL vmlinux 0xf28cf0ae __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf29403e5 acpi_install_table_handler +EXPORT_SYMBOL vmlinux 0xf29f8515 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0xf2aa788e sock_wmalloc +EXPORT_SYMBOL vmlinux 0xf2bb8bdc max8998_bulk_write +EXPORT_SYMBOL vmlinux 0xf2c41d05 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xf2c43f3f zlib_deflate +EXPORT_SYMBOL vmlinux 0xf2d2568f ndisc_send_skb +EXPORT_SYMBOL vmlinux 0xf2e5bd87 security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0xf2f53617 memregion_free +EXPORT_SYMBOL vmlinux 0xf3107926 sha224_update +EXPORT_SYMBOL vmlinux 0xf31950d3 seq_release_private +EXPORT_SYMBOL vmlinux 0xf3405601 starget_for_each_device +EXPORT_SYMBOL vmlinux 0xf341ee35 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf353a698 register_module_notifier +EXPORT_SYMBOL vmlinux 0xf36cd23f __put_devmap_managed_page_refs +EXPORT_SYMBOL vmlinux 0xf36f42a9 slhc_uncompress +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf391b8c9 skb_free_datagram +EXPORT_SYMBOL vmlinux 0xf3932313 mb_cache_entry_wait_unused +EXPORT_SYMBOL vmlinux 0xf399f271 flow_block_cb_setup_simple +EXPORT_SYMBOL vmlinux 0xf39f0456 input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0xf3a21b7d km_state_notify +EXPORT_SYMBOL vmlinux 0xf3a57892 release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xf3d53bdb simple_dir_operations +EXPORT_SYMBOL vmlinux 0xf3e0e1df allocate_resource +EXPORT_SYMBOL vmlinux 0xf3e3126c io_uring_get_socket +EXPORT_SYMBOL vmlinux 0xf3e7250a iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0xf3fc8a70 ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0xf40a5359 inet_addr_type +EXPORT_SYMBOL vmlinux 0xf431de0e __dquot_free_space +EXPORT_SYMBOL vmlinux 0xf43623fd cdev_device_del +EXPORT_SYMBOL vmlinux 0xf43d2caa acpi_remove_interface +EXPORT_SYMBOL vmlinux 0xf44a904a net_ns_barrier +EXPORT_SYMBOL vmlinux 0xf474c21c bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0xf474fdcb kfree_const +EXPORT_SYMBOL vmlinux 0xf485f9b6 kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0xf48ccb0b scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xf49e2296 audit_log_start +EXPORT_SYMBOL vmlinux 0xf4b06a7d filemap_invalidate_unlock_two +EXPORT_SYMBOL vmlinux 0xf4b257a3 param_ops_int +EXPORT_SYMBOL vmlinux 0xf4b48d83 vma_alloc_folio +EXPORT_SYMBOL vmlinux 0xf4b754fd acpi_resources_are_enforced +EXPORT_SYMBOL vmlinux 0xf4bf46f3 blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0xf4cc6cb5 pcibus_to_node +EXPORT_SYMBOL vmlinux 0xf4db35bc stpcpy +EXPORT_SYMBOL vmlinux 0xf4e7a376 flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf505d3e5 skb_copy_header +EXPORT_SYMBOL vmlinux 0xf50d585e vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0xf5177457 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0xf5376ce3 mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf53f7895 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0xf54200db tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0xf54da228 ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0xf56dba85 skb_pull_data +EXPORT_SYMBOL vmlinux 0xf591753d nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xf59a8682 mmc_is_req_done +EXPORT_SYMBOL vmlinux 0xf59f19d5 mmc_retune_release +EXPORT_SYMBOL vmlinux 0xf5a20ed2 __genradix_prealloc +EXPORT_SYMBOL vmlinux 0xf5ab95a8 may_umount +EXPORT_SYMBOL vmlinux 0xf5add0ae ns_capable_setid +EXPORT_SYMBOL vmlinux 0xf5b4fdd6 of_find_node_with_property +EXPORT_SYMBOL vmlinux 0xf5bab055 devm_arch_phys_wc_add +EXPORT_SYMBOL vmlinux 0xf5e7ea40 ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0xf61c6fc4 ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0xf62c39fe ucc_slow_graceful_stop_tx +EXPORT_SYMBOL vmlinux 0xf643d104 hsiphash_4u32 +EXPORT_SYMBOL vmlinux 0xf665f74f sock_load_diag_module +EXPORT_SYMBOL vmlinux 0xf6665352 tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0xf66942a3 pci_map_rom +EXPORT_SYMBOL vmlinux 0xf68285c0 register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xf6e3d838 blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0xf6ea5319 dma_free_attrs +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6edd80f blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0xf6f9d58d init_on_free +EXPORT_SYMBOL vmlinux 0xf6fc8791 __bitmap_xor +EXPORT_SYMBOL vmlinux 0xf70ee941 generic_write_end +EXPORT_SYMBOL vmlinux 0xf720d7d8 sock_no_getname +EXPORT_SYMBOL vmlinux 0xf7210492 pci_write_config_word +EXPORT_SYMBOL vmlinux 0xf72cb8a1 pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0xf72d3a77 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0xf7370f56 system_state +EXPORT_SYMBOL vmlinux 0xf738d1be register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xf748423a devfreq_resume_device +EXPORT_SYMBOL vmlinux 0xf75367a3 vfs_parse_fs_param_source +EXPORT_SYMBOL vmlinux 0xf76843b5 qcom_scm_pas_supported +EXPORT_SYMBOL vmlinux 0xf77337a1 hdmi_audio_infoframe_check +EXPORT_SYMBOL vmlinux 0xf77555cd __memcpy_toio +EXPORT_SYMBOL vmlinux 0xf77981c4 __serio_register_driver +EXPORT_SYMBOL vmlinux 0xf787d274 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0xf78ff92d elevator_alloc +EXPORT_SYMBOL vmlinux 0xf796c4ca vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0xf7b5b294 nf_hook_slow +EXPORT_SYMBOL vmlinux 0xf7c2ee5b flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0xf7c48778 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0xf7d31de9 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0xf7d5304b request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xf7da6e6f acpi_unload_table +EXPORT_SYMBOL vmlinux 0xf7de8d92 __ps2_command +EXPORT_SYMBOL vmlinux 0xf7ea6311 qman_p_poll_dqrr +EXPORT_SYMBOL vmlinux 0xf7f05c17 fman_port_use_kg_hash +EXPORT_SYMBOL vmlinux 0xf80a0077 unregister_quota_format +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf812cff6 memscan +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82ec573 rb_prev +EXPORT_SYMBOL vmlinux 0xf83209d0 dev_add_pack +EXPORT_SYMBOL vmlinux 0xf83d7e4b setup_arg_pages +EXPORT_SYMBOL vmlinux 0xf84bd6ee bpf_stats_enabled_key +EXPORT_SYMBOL vmlinux 0xf85133ec pnp_is_active +EXPORT_SYMBOL vmlinux 0xf8576d30 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0xf866b00c tegra_io_pad_power_enable +EXPORT_SYMBOL vmlinux 0xf87d937e tty_port_hangup +EXPORT_SYMBOL vmlinux 0xf888ca21 sg_init_table +EXPORT_SYMBOL vmlinux 0xf8b6b649 pci_reenable_device +EXPORT_SYMBOL vmlinux 0xf8c886a7 kernel_write +EXPORT_SYMBOL vmlinux 0xf8cda2c7 blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0xf8d07858 bitmap_from_arr32 +EXPORT_SYMBOL vmlinux 0xf8d2bc2c zstd_find_frame_compressed_size +EXPORT_SYMBOL vmlinux 0xf8dc1553 tegra_dfll_runtime_resume +EXPORT_SYMBOL vmlinux 0xf8dcc4f6 folio_end_private_2 +EXPORT_SYMBOL vmlinux 0xf8ea3aa6 mipi_dsi_set_maximum_return_packet_size +EXPORT_SYMBOL vmlinux 0xf8f61ebc wake_up_var +EXPORT_SYMBOL vmlinux 0xf8f9f796 netif_tx_unlock +EXPORT_SYMBOL vmlinux 0xf9093f34 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0xf91b89ab fman_sp_build_buffer_struct +EXPORT_SYMBOL vmlinux 0xf93aae46 __arm_smccc_smc +EXPORT_SYMBOL vmlinux 0xf93fd09c fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xf94e9117 mipi_dsi_dcs_set_display_brightness +EXPORT_SYMBOL vmlinux 0xf95c619b acpi_processor_preregister_performance +EXPORT_SYMBOL vmlinux 0xf969e188 dma_fence_array_next +EXPORT_SYMBOL vmlinux 0xf9722676 twl_i2c_write +EXPORT_SYMBOL vmlinux 0xf973da67 vlan_uses_dev +EXPORT_SYMBOL vmlinux 0xf9980a3d netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0xf9a446dd vm_insert_page +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9a70b3c sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xf9ad0504 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xf9b97cf0 dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat +EXPORT_SYMBOL vmlinux 0xf9ca2eb4 kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0xf9dcfebf mr_fill_mroute +EXPORT_SYMBOL vmlinux 0xf9e42541 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0xf9efbb75 dquot_get_state +EXPORT_SYMBOL vmlinux 0xf9fe5983 blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0xfa028615 nd_dax_probe +EXPORT_SYMBOL vmlinux 0xfa042227 gnet_stats_add_basic +EXPORT_SYMBOL vmlinux 0xfa063c8a fault_in_iov_iter_readable +EXPORT_SYMBOL vmlinux 0xfa08c34a page_offline_end +EXPORT_SYMBOL vmlinux 0xfa2446c0 ata_print_version +EXPORT_SYMBOL vmlinux 0xfa297415 acpi_map_pxm_to_node +EXPORT_SYMBOL vmlinux 0xfa2e5f32 i2c_smbus_pec +EXPORT_SYMBOL vmlinux 0xfa2eb349 sock_set_keepalive +EXPORT_SYMBOL vmlinux 0xfa599bb2 netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xfa6b18bb tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0xfa783b9f __generic_file_fsync +EXPORT_SYMBOL vmlinux 0xfa951158 fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0xfa9f791b try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xfaa82aa2 kmalloc_caches +EXPORT_SYMBOL vmlinux 0xfaaa12d0 _page_poisoning_enabled +EXPORT_SYMBOL vmlinux 0xfaae324c dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0xfab4a2d6 configfs_register_default_group +EXPORT_SYMBOL vmlinux 0xfaba39cc reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0xfac32c6e fscrypt_ioctl_get_policy +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfac8ccf3 pci_read_vpd_any +EXPORT_SYMBOL vmlinux 0xface08ea da903x_query_status +EXPORT_SYMBOL vmlinux 0xfad59819 skb_copy +EXPORT_SYMBOL vmlinux 0xfadbdf53 dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0xfaf4fee7 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xfaf7ec24 pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0xfafb1918 mmc_gpiod_request_cd +EXPORT_SYMBOL vmlinux 0xfb053f58 disk_stack_limits +EXPORT_SYMBOL vmlinux 0xfb061a96 unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0xfb348fea fault_in_safe_writeable +EXPORT_SYMBOL vmlinux 0xfb384d37 kasprintf +EXPORT_SYMBOL vmlinux 0xfb603abd pci_irq_vector +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb7452c5 xfrm_init_state +EXPORT_SYMBOL vmlinux 0xfba52e16 send_sig_mceerr +EXPORT_SYMBOL vmlinux 0xfba68601 mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0xfba7ddd2 match_u64 +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbad3cf0 scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0xfbb62881 xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0xfbb8a761 strscpy_pad +EXPORT_SYMBOL vmlinux 0xfbbc7843 tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0xfbc4f89e io_schedule_timeout +EXPORT_SYMBOL vmlinux 0xfbcc4e1a xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0xfbe4b175 qman_create_cgr +EXPORT_SYMBOL vmlinux 0xfbe6fa51 xp_alloc_batch +EXPORT_SYMBOL vmlinux 0xfbe8ee28 acpi_get_table_by_index +EXPORT_SYMBOL vmlinux 0xfbf07a3f kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0xfc009c46 genphy_resume +EXPORT_SYMBOL vmlinux 0xfc116590 skb_vlan_untag +EXPORT_SYMBOL vmlinux 0xfc1615b9 dev_close +EXPORT_SYMBOL vmlinux 0xfc336d2e __wake_up_bit +EXPORT_SYMBOL vmlinux 0xfc3ff33f skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0xfc4152fc ec_read +EXPORT_SYMBOL vmlinux 0xfc421e79 gnet_stats_add_queue +EXPORT_SYMBOL vmlinux 0xfc49880c netpoll_setup +EXPORT_SYMBOL vmlinux 0xfc4b557a phy_print_status +EXPORT_SYMBOL vmlinux 0xfc4da7a9 configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0xfc502cd1 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0xfc52abc7 qcom_scm_pas_shutdown +EXPORT_SYMBOL vmlinux 0xfc6f5aae netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xfc881b89 fman_port_get_hash_result_offset +EXPORT_SYMBOL vmlinux 0xfc938fcf forget_cached_acl +EXPORT_SYMBOL vmlinux 0xfc9d80ec unpin_user_page +EXPORT_SYMBOL vmlinux 0xfc9ed8c3 qcom_scm_ice_available +EXPORT_SYMBOL vmlinux 0xfca6c90a dentry_create +EXPORT_SYMBOL vmlinux 0xfcbe8944 mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0xfcc033d3 nd_btt_version +EXPORT_SYMBOL vmlinux 0xfccaab16 __alloc_skb +EXPORT_SYMBOL vmlinux 0xfcce2f7d ucc_fast_enable +EXPORT_SYMBOL vmlinux 0xfcceaeac ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0xfccf8e15 input_copy_abs +EXPORT_SYMBOL vmlinux 0xfcd1819a hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcf0b6f2 i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL vmlinux 0xfcf35825 simple_rmdir +EXPORT_SYMBOL vmlinux 0xfcf56459 d_move +EXPORT_SYMBOL vmlinux 0xfcfefbcb dentry_open +EXPORT_SYMBOL vmlinux 0xfd0690c6 jbd2_journal_finish_inode_data_buffers +EXPORT_SYMBOL vmlinux 0xfd08b3c8 __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xfd26aba8 rproc_get_by_child +EXPORT_SYMBOL vmlinux 0xfd2b0d83 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0xfd40bffd user_path_create +EXPORT_SYMBOL vmlinux 0xfd45f6cb key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0xfd532db3 fs_context_for_submount +EXPORT_SYMBOL vmlinux 0xfd5bf06a block_dirty_folio +EXPORT_SYMBOL vmlinux 0xfd86ec0b get_task_cred +EXPORT_SYMBOL vmlinux 0xfd91ee31 unpin_user_pages +EXPORT_SYMBOL vmlinux 0xfdab0581 scsi_device_get +EXPORT_SYMBOL vmlinux 0xfdcb4ed3 acpi_os_get_line +EXPORT_SYMBOL vmlinux 0xfdcc8a0e fb_find_best_display +EXPORT_SYMBOL vmlinux 0xfdd79d43 flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0xfe029963 unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xfe080a0c iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0xfe1d2e94 key_create_or_update +EXPORT_SYMBOL vmlinux 0xfe37623a block_truncate_page +EXPORT_SYMBOL vmlinux 0xfe487975 init_wait_entry +EXPORT_SYMBOL vmlinux 0xfe579807 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe71ca0b pci_rebar_get_possible_sizes +EXPORT_SYMBOL vmlinux 0xfe8c61f0 _raw_read_lock +EXPORT_SYMBOL vmlinux 0xfe916dc6 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0xfe95b036 __brelse +EXPORT_SYMBOL vmlinux 0xfe9621f5 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xfe9ebbbb acpi_osi_is_win8 +EXPORT_SYMBOL vmlinux 0xfea2ad00 mdiobus_scan +EXPORT_SYMBOL vmlinux 0xfeb5d0aa verify_spi_info +EXPORT_SYMBOL vmlinux 0xfeb72345 skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0xfec54e10 cfb_copyarea +EXPORT_SYMBOL vmlinux 0xfec6cb28 __kfree_skb +EXPORT_SYMBOL vmlinux 0xfed37a19 security_sock_graft +EXPORT_SYMBOL vmlinux 0xfedcdb60 seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0xfeddaaaf simple_transaction_get +EXPORT_SYMBOL vmlinux 0xfedeec00 neigh_app_ns +EXPORT_SYMBOL vmlinux 0xfee2c31e d_obtain_root +EXPORT_SYMBOL vmlinux 0xfee3149f mipi_dsi_dcs_set_tear_scanline +EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfeee2b26 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0xfef216eb _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0xfefcb98e vme_dma_vme_attribute +EXPORT_SYMBOL vmlinux 0xff08e3c5 nd_device_unregister +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff282521 rfkill_register +EXPORT_SYMBOL vmlinux 0xff29e62e fwnode_irq_get +EXPORT_SYMBOL vmlinux 0xff5674e8 devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0xff641fa1 amba_device_register +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff707bc3 md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0xff7e7f8d kryo_l2_set_indirect_reg +EXPORT_SYMBOL vmlinux 0xff87cd18 lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0xffb1d2c2 mr_dump +EXPORT_SYMBOL vmlinux 0xffb7c514 ida_free +EXPORT_SYMBOL vmlinux 0xffbae6e3 inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0xffc4f200 zstd_compress_stream +EXPORT_SYMBOL vmlinux 0xffcc4ec7 tcp_bpf_bypass_getsockopt +EXPORT_SYMBOL vmlinux 0xffcf70b3 pci_read_config_dword +EXPORT_SYMBOL vmlinux 0xffd1e7a8 skb_checksum_setup +EXPORT_SYMBOL vmlinux 0xffeedf6a delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0xfff2c4c5 lookup_positive_unlocked +EXPORT_SYMBOL vmlinux 0xfffa4690 drm_firmware_drivers_only +EXPORT_SYMBOL_GPL crypto/af_alg 0x04e23c8f af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x0e0a56b9 af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x1b979f6d af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0x1d1f49d8 af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x244fb4cc af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x3a354630 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x42e55e96 af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x54a55075 af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/af_alg 0x675804c6 af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0x727d0cf4 af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0x865c4fb4 af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x8d1fd5bd af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0xa454ef6c af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0xa6135999 af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0xacb77894 af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0xc888eb6d af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0xcf1c5b59 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0xe462de1b af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x9b6ca31b async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xa508680e async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0xd7558ac7 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x528d6868 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xefd4db84 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x42a4c065 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x770503f8 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x9369210d async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xb9dee77c __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x33899fe9 async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x6d8cda89 async_xor_offs +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x9c45ca73 async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xb7606e1e async_xor_val_offs +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0xe565ded0 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x5023f5c0 cast5_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xef81a4af __cast5_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x3dbae082 __cast6_decrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x45079b8c cast6_setkey +EXPORT_SYMBOL_GPL crypto/cast6_generic 0xcfce512f __cast6_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0xd76a5716 __cast6_setkey +EXPORT_SYMBOL_GPL crypto/cast_common 0x5609ce41 cast_s2 +EXPORT_SYMBOL_GPL crypto/cast_common 0x5b17be06 cast_s4 +EXPORT_SYMBOL_GPL crypto/cast_common 0xb9cba57f cast_s3 +EXPORT_SYMBOL_GPL crypto/cast_common 0xbd3e7542 cast_s1 +EXPORT_SYMBOL_GPL crypto/cryptd 0x0c7ef78a cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x420a9a47 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x4328ccbe cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x4416e47e cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x625169b8 cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x66652bbc cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x68db3fee cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x97e6c694 cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xa6b37976 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xad5f6585 cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xc4ab190c cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xc5cf7f66 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xcc96f461 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x0eae7585 crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x13b848b9 crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x1cb1039a crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x2b3b45ac crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x53bbb7de crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x5a41c909 crypto_finalize_hash_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x5f24641b crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x6159630f crypto_finalize_kpp_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x69328366 crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x843f4c7e crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x866b4e04 crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x89d79b7e crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x91d2d148 crypto_transfer_kpp_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x97d171e0 crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xf4b11b25 crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x33b866ce crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7475be8e crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0xb230d2ec crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x4eb4c55e __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xbcc074f3 __serpent_decrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xd4c9681a __serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xdc4ea09a serpent_setkey +EXPORT_SYMBOL_GPL crypto/sm3 0xa98edad1 sm3_update +EXPORT_SYMBOL_GPL crypto/sm3 0xf04338f9 sm3_final +EXPORT_SYMBOL_GPL crypto/sm3_generic 0x0bddca87 sm3_zero_message_hash +EXPORT_SYMBOL_GPL crypto/sm4 0x24e254e8 sm4_expandkey +EXPORT_SYMBOL_GPL crypto/sm4 0xfa81970e sm4_crypt_block +EXPORT_SYMBOL_GPL crypto/twofish_common 0xadedbd12 twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe22b7787 __twofish_setkey +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x141cfb27 spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x1e39eb14 synth_putws +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x2667050e spk_synth_get_index +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x2ab1cdd7 spk_var_store +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x2b9a9bf0 synth_current +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x302a2ce9 spk_synth_flush +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x449e137d spk_do_catch_up_unicode +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x466f5eb7 synth_putwc +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x589803a5 spk_ttyio_release +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x68bed2e3 synth_remove +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x69aaae85 spk_ttyio_synth_probe +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x6f98aee8 spk_ttyio_ops +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x76d40046 synth_buffer_skip_nonlatin1 +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x84dad068 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x867719bf spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x8c82dfca synth_request_region +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x8fe0db01 synth_putwc_s +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x924f57fd spk_ttyio_synth_immediate +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xaadb0612 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xaf10fc8f synth_add +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xb734cb9d speakup_event +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xbf99217c spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xc319c604 synth_putws_s +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xc6a06d16 spk_get_var +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xc6fc684f spk_var_show +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xd8fd86cf synth_release_region +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xd93829dd speakup_info +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xe194d0ef synth_printf +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x4631469c __acpi_nvdimm_notify +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x4639bcda acpi_nfit_shutdown +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x499bbf57 nfit_get_smbios_id +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0x55d85ac1 acpi_nfit_ctl +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0xb2c6c80c acpi_nfit_init +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0xcacbccd2 __acpi_nfit_notify +EXPORT_SYMBOL_GPL drivers/acpi/nfit/nfit 0xdf5bf787 acpi_nfit_desc_init +EXPORT_SYMBOL_GPL drivers/acpi/platform_profile 0x67927a0d platform_profile_notify +EXPORT_SYMBOL_GPL drivers/acpi/platform_profile 0xbfe36436 platform_profile_remove +EXPORT_SYMBOL_GPL drivers/acpi/platform_profile 0xcac33cd4 platform_profile_register +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xd2138364 __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0x47ba4b41 sis_info133_for_sata +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x09917359 charlcd_poke +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x6fd9cc4a charlcd_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x8b45326c charlcd_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xd3e29970 charlcd_backlight +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xf3304696 charlcd_free +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xf883c540 charlcd_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x07b26ecc hd44780_common_gotoxy +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x1aa688fd hd44780_common_lines +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x23159a5b hd44780_common_clear_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x30e85287 hd44780_common_shift_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x36dc00a2 hd44780_common_print +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x3c4c183f hd44780_common_home +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x489c89e8 hd44780_common_redefine_char +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x64415593 hd44780_common_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x79e8e259 hd44780_common_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x8585e5fd hd44780_common_blink +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x8d4f3fa4 hd44780_common_init_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0xa22afdaa hd44780_common_cursor +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0xc369090d hd44780_common_shift_cursor +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0xf360d788 hd44780_common_fontsize +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x14102f23 ks0108_displaystate +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x48a70518 ks0108_writedata +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x4f506333 ks0108_startline +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x6edae968 ks0108_isinited +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xbf4774db ks0108_writecontrol +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xedde6df2 ks0108_page +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xfee8ef7b ks0108_address +EXPORT_SYMBOL_GPL drivers/auxdisplay/line-display 0x42109eea linedisp_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/line-display 0xc22e0802 linedisp_register +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-ac97 0x1192a299 __devm_regmap_init_ac97 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-ac97 0xbb8f642d __regmap_init_ac97 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-ac97 0xd9196969 regmap_ac97_default_volatile +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-i3c 0xf1676812 __devm_regmap_init_i3c +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x620a7c5a __devm_regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x80a03774 __regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x3b7c2fc1 __devm_regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x7c22470a __regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw-mbq 0x50b52d87 __regmap_init_sdw_mbq +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw-mbq 0x7bbd7af1 __devm_regmap_init_sdw_mbq +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0xaae37bff __regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0xcbf17e66 __devm_regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spi-avmm 0x5c0273e3 __regmap_init_spi_avmm +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spi-avmm 0xae472200 __devm_regmap_init_spi_avmm +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x39497821 __regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x8ad5b0a8 __devm_regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x9638e9ec __regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0xb8715e70 __devm_regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x3bc66259 __devm_regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0xb1446233 __regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x02de047c bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x0eb8b320 bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x17079d51 bcma_pmu_get_bus_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x29f651ed bcma_chipco_pll_read +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x36b96c9c bcma_chipco_b_mii_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x41dca222 bcma_core_pci_power_save +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x50617398 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x59d44d56 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x68ac4d93 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6b479a7b bcma_find_core_unit +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6bb985c9 bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6d03a869 bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x70ed3050 bcma_chipco_gpio_out +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7808b836 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7f4d8049 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x8e456469 bcma_host_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x9f9b6e6b bcma_host_pci_down +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xafcda0bc bcma_chipco_get_alp_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb23c7bba bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb27fccf8 bcma_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc52ff9a7 bcma_host_pci_up +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xd9cd2df1 bcma_chipco_gpio_outen +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xead01cf0 bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xfa732d47 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x0e287b96 btbcm_finalize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x152b06af btbcm_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x538c0c22 btbcm_setup_apple +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x5c962dd7 btbcm_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x7a8c1c06 btbcm_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x90462ce0 btbcm_setup_patchram +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xb384f527 btbcm_read_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xb75da3e3 btbcm_write_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x14decb01 btintel_set_event_mask_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x189c63bd btintel_send_intel_reset +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x1cd86641 btintel_set_diag +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x1fdea5dc btintel_configure_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x35b8282b btintel_secure_send_result +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x52d7c297 btintel_bootup +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x742a807b btintel_set_quality_report +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7d96a5ac btintel_version_info +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xa370aba8 btintel_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xaa133783 btintel_regmap_init +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xbdd84f22 btintel_load_ddc_config +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xc06e9e54 btintel_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xc2eadf85 btintel_enter_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xc5f24b82 btintel_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xe101673c btintel_exit_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xef8d5d18 btintel_read_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xfe08912e btintel_read_boot_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x152addbb btmrvl_pscan_window_reporting +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x15f81980 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x2b90bca0 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x3795b326 btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x4098ab3d btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x5501fc49 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x5c5cfff3 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x6ab02cc5 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x8ee774c0 btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xe0c2a23b btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xed20b746 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x0a347667 btmtk_setup_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x15c02215 btmtk_setup_firmware_79xx +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x422f8c2c btmtk_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x222abe8e qca_read_soc_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xc3fc2160 qca_set_bdaddr_rome +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xde3e5d84 qca_uart_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xe62dd461 qca_send_pre_shutdown_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xe63fa789 qca_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x00487cbb btrtl_setup_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x167916f0 btrtl_get_uart_settings +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x4f31b1b7 btrtl_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x7745a5ac btrtl_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x9d850ade btrtl_shutdown_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xaf78f260 btrtl_free +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xd0cb1cf9 btrtl_set_quirks +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x17952501 hci_uart_unregister_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x270d854e hci_uart_register_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xa79924ad h4_recv_buf +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xa7fb2c93 hci_uart_tx_wakeup +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x02901118 mhi_ep_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x2695ae9b mhi_ep_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xa75799f1 mhi_ep_queue_is_empty +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xab45dbc3 mhi_ep_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xc07d090c __mhi_ep_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xcddc5bbb mhi_ep_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xde3a3416 mhi_ep_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xe9d29463 mhi_ep_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x02f0525e mhi_queue_dma +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x0bc6f4ca mhi_pm_suspend +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x16a515a9 mhi_free_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x17a8e5b9 mhi_queue_is_full +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x2046e733 mhi_async_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x237d23fd mhi_queue_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x24309ab0 mhi_soc_reset +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x295b594e mhi_pm_resume +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x3033f69f __mhi_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x38dd76fc mhi_device_put +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x42884651 mhi_get_mhi_state +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x5ba7563e mhi_prepare_for_transfer_autoqueue +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x77a7e503 mhi_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x84563525 mhi_device_get_sync +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xa593d86f mhi_unprepare_from_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xae8d35e0 mhi_download_rddm_image +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xb407492d mhi_poll +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xbb7a7708 mhi_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xc5cdba28 mhi_alloc_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xc9e7fc3c mhi_prepare_for_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xcd646371 mhi_prepare_for_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xd595c365 mhi_get_free_desc_count +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xd86d10b9 mhi_notify +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xd91d89fd mhi_force_rddm_mode +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xeab08426 mhi_device_get +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xebd31e4b mhi_get_exec_env +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xf098d2e0 mhi_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xf1d481bc mhi_unprepare_after_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xf2332702 mhi_pm_resume_force +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xfb395da0 mhi_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xfe758d73 mhi_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x042892fe moxtet_device_write +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x843cd569 moxtet_device_written +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0xda56678c __moxtet_register_driver +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0xed3907dc moxtet_device_read +EXPORT_SYMBOL_GPL drivers/bus/sunxi-rsb 0x530b2170 sunxi_rsb_driver_register +EXPORT_SYMBOL_GPL drivers/bus/sunxi-rsb 0xdc8be618 __devm_regmap_init_sunxi_rsb +EXPORT_SYMBOL_GPL drivers/clk/meson/clk-phase 0x2660ecdc meson_clk_triphase_ops +EXPORT_SYMBOL_GPL drivers/clk/meson/clk-phase 0x6c845129 meson_sclk_ws_inv_ops +EXPORT_SYMBOL_GPL drivers/clk/meson/clk-phase 0x87091b6d meson_clk_phase_ops +EXPORT_SYMBOL_GPL drivers/clk/meson/sclk-div 0x3c28a952 meson_sclk_div_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0000139e clk_alpha_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0d678ab9 qcom_reset_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0e5f8a53 clk_pll_sr2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0e98da3d clk_pll_vote_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x17d44071 clk_alpha_pll_hwfsm_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x183be5e6 clk_alpha_pll_agera_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x1a142e7c clk_alpha_pll_fixed_trion_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x1cbd386f clk_rcg_floor_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x20796d46 clk_trion_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x24a7abf5 clk_zonda_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x272f3204 clk_alpha_pll_fixed_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x29c40ae0 clk_alpha_pll_fixed_lucid_evo_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x2a9c7452 clk_rcg_lcc_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x2b0d957d clk_pixel_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x2cae96b3 clk_regmap_div_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x30bbf987 clk_rcg2_shared_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x30bc6733 gdsc_gx_do_nothing_enable +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x310b6341 clk_regmap_mux_closest_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x3747af55 clk_rcg_bypass2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x38db4860 clk_disable_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x395868a1 qcom_find_freq_floor +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x3dfc2dc5 clk_branch_simple_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x405d394a clk_alpha_pll_postdiv_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x418e9cfd clk_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x4b0ed6da clk_ops_hfpll +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x5111f2ad clk_rcg2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x520df3b7 clk_rcg_esc_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x57172323 clk_byte_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x578eb1d6 devm_clk_register_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x5a6ae327 clk_alpha_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x5e6abb22 mux_div_set_src_div +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x615dbb77 clk_branch2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x618644ff qcom_cc_register_rcg_dfs +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x6302a81c qcom_cc_register_sleep_clk +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x631939a9 clk_branch2_aon_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x63ee9aa4 clk_alpha_pll_fixed_fabia_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x66922845 clk_branch_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x6af41b8b qcom_pll_set_fsm_mode +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x6f2dc4e4 qcom_cc_probe +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7019378d clk_pll_configure_sr_hpm_lp +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x766e9f87 clk_regmap_div_ro_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x787e8234 qcom_find_freq +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x78b81ea0 clk_rcg2_floor_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7a7d500f clk_fabia_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7bab6a0e qcom_cc_register_board_clk +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7e66fd9e clk_regmap_mux_div_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x818f32fd qcom_find_cfg_index +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x866d0d4a clk_enable_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x8b55eac4 clk_dyn_rcg_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x8b8647a8 clk_alpha_pll_postdiv_lucid_evo_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x91c41c9f clk_edp_pixel_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x97488818 clk_rcg_pixel_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x97aee5db clk_is_enabled_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9c8854a1 clk_alpha_pll_lucid_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9d909edd clk_gfx3d_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9f1bf2e0 clk_alpha_pll_trion_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9f241baa clk_rcg_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x9f65d71b qcom_find_src_index +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xaa403ee8 clk_alpha_pll_huayra_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xac2e73bf clk_alpha_pll_regs +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xadc2751b clk_alpha_pll_postdiv_fabia_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xba961aa7 clk_dp_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xc150d434 clk_alpha_pll_postdiv_ro_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xc2e1a6fa qcom_cc_map +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xc5bdfa11 clk_byte2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xc82bd181 clk_agera_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xcf422970 clk_rcg_bypass_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xd438c1c3 clk_alpha_pll_postdiv_trion_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xd7ab6782 clk_alpha_pll_postdiv_lucid_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xe6e14638 clk_alpha_pll_fabia_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xe816a036 clk_pll_configure_sr +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xeb3e134f qcom_cc_probe_by_index +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0xee838fe0 qcom_cc_really_probe +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x00190c15 sprd_div_helper_round_rate +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x025783bd sprd_gate_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x105dc00c sprd_div_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x1311f6ff sprd_sc_gate_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x18d9f187 sprd_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x30a7b7ff sprd_mux_helper_get_parent +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x57f63ed8 sprd_clk_regmap_init +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x789b85c4 sprd_div_helper_set_rate +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x95664ced sprd_mux_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0x9bffc3e8 sprd_mux_helper_set_parent +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0xa4346b52 sprd_pll_sc_gate_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0xe51e0b87 sprd_clk_probe +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0xeb6c8ab6 sprd_comp_ops +EXPORT_SYMBOL_GPL drivers/clk/sprd/clk-sprd 0xfb7c9167 sprd_div_helper_recalc_rate +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x02302226 comedi_buf_read_n_available +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x049e5222 comedi_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x08851da5 comedi_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x103484d6 comedi_dio_insn_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x21102f87 range_0_32mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x24c2aa21 comedi_alloc_spriv +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x276be79b comedi_dev_put +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x292123e3 comedi_dev_get_from_minor +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x29d1052c comedi_request_region +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2ae09097 comedi_handle_events +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2ddfd5a7 comedi_alloc_subdevices +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2ec2164e comedi_load_firmware +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x38bb67b2 comedi_buf_write_alloc +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x3a841c8e comedi_is_subdevice_running +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4236eaaf range_4_20mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4ec89dca comedi_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x5045e455 comedi_legacy_detach +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x5153b4b4 comedi_set_hw_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x597acead comedi_event +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x636c59d0 comedi_readback_insn_read +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x65ea6a86 comedi_alloc_subdev_readback +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x69b9f1ba comedi_nscans_left +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x6c268b4c comedi_buf_read_alloc +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7710bd69 comedi_timeout +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7c5459b2 comedi_bytes_per_scan +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x8eb7a06d comedi_buf_read_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x9bd4a27d comedi_inc_scan_progress +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xa63e959e comedi_alloc_devpriv +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xb679cebc range_0_20mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xbdbe75c6 range_unipolar2_5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xbee16cde comedi_buf_write_samples +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xc4edc393 comedi_bytes_per_scan_cmd +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xcc1f827b comedi_nsamples_left +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xcd0c779b comedi_buf_write_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xd3fd5b8e comedi_buf_read_samples +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xe07dbc8e comedi_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xe9463391 comedi_set_spriv_auto_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xf429090a __comedi_request_region +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xf66f04ca comedi_dio_update_state +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xf90763be comedi_check_chanlist +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x332d651b comedi_pci_disable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x3ad805e0 comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x55bd80d8 comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x5eddc372 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x71251ae4 comedi_pci_enable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0xa372509f comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0xb1d9a434 comedi_to_pci_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0xfd930288 comedi_pci_detach +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x2dc4f04f comedi_to_usb_interface +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x38ece4b8 comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x4d9795fe comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0xcdeadced comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0xd9017491 comedi_to_usb_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0xffd2db89 comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/drivers/addi_watchdog 0x79f4a6cf addi_watchdog_reset +EXPORT_SYMBOL_GPL drivers/comedi/drivers/addi_watchdog 0x95aa0e52 addi_watchdog_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_dio200_common 0x2a4f5dfc amplc_dio200_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_dio200_common 0x69b832b9 amplc_dio200_set_enhance +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_pc236_common 0x47fd647e amplc_pc236_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x2079618d comedi_8254_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x49be7cea comedi_8254_cascade_ns_to_timer +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x688b5efd comedi_8254_set_mode +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x6b22f94b comedi_8254_status +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xa9895402 comedi_8254_mm_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xb79b20f2 comedi_8254_pacer_enable +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xba3b4951 comedi_8254_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xbac7454f comedi_8254_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xcb0c54e2 comedi_8254_load +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xd0f6aea3 comedi_8254_update_divisors +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xd76d3ba2 comedi_8254_set_busy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xd7b5c571 comedi_8254_subdevice_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xf8d09051 comedi_8254_ns_to_timer +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0x08d41c33 subdev_8255_regbase +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0xcc62e98b subdev_8255_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0xe8df8577 subdev_8255_mm_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/das08 0x74fdaf53 das08_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x01719ab6 mite_sync_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x255d57d7 mite_prep_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x2871972a mite_request_channel_in_range +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x2d343460 mite_ack_linkc +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x2d3e1fc5 mite_bytes_in_transit +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x36c6c224 mite_release_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x789cc52e mite_dma_disarm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x80def73b mite_init_ring_descriptors +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x8c96d83b mite_done +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x934f39a1 mite_request_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xc2e5e42f mite_free_ring +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xc49002de mite_buf_change +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xd533198c mite_dma_arm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xe97c5710 mite_detach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xee4e65b6 mite_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xfe017f48 mite_alloc_ring +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_common 0xf7902c21 labpc_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_common 0xffc0d3b5 labpc_common_detach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x076bc308 ni_find_route_source +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x0921123e ni_lookup_route_register +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x1facf7f8 ni_is_cmd_dest +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x64443d67 ni_get_valid_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x6c18c54e ni_count_valid_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x85e75c94 ni_assign_device_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x863a306d ni_sort_device_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x8ab47ba4 ni_route_set_has_source +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x8f0f0901 ni_find_route_set +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0xb3e302a3 ni_route_to_register +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x06ddd552 ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x37446739 ni_tio_arm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x55f6010d ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x58e84985 ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x638dd089 ni_tio_set_gate_src_raw +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x894b3d5d ni_tio_get_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x93ec4b89 ni_tio_set_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x95a27f28 ni_tio_get_soft_copy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x99675f0a ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x9f8442f0 ni_tio_insn_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xa4e50d7c ni_tio_unset_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xbb02a903 ni_tio_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xce0c388c ni_tio_set_bits +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xe18cd651 ni_tio_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xeb8e629c ni_tio_insn_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xfae28498 ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x23ded5f2 ni_tio_acknowledge +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x55276b75 ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x71951b13 ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x736e491b ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0xa132a4ee ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0xdc96daee ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x0060f39a comedi_dio_config +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x2d5fbcb4 comedi_get_n_channels +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x40e32bc4 comedi_close +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x47abb0af comedi_dio_bitfield2 +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x75df101b comedi_dio_get_config +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x93792f50 comedi_open +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x9ba7f3f6 comedi_find_subdevice_by_type +EXPORT_SYMBOL_GPL drivers/counter/counter 0x0a860d8d devm_counter_alloc +EXPORT_SYMBOL_GPL drivers/counter/counter 0x0c44bbef counter_put +EXPORT_SYMBOL_GPL drivers/counter/counter 0x27e028b3 counter_add +EXPORT_SYMBOL_GPL drivers/counter/counter 0x510e3988 devm_counter_add +EXPORT_SYMBOL_GPL drivers/counter/counter 0x572b142b counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0x746e7feb counter_priv +EXPORT_SYMBOL_GPL drivers/counter/counter 0xc4e257d4 counter_alloc +EXPORT_SYMBOL_GPL drivers/counter/counter 0xec2fe6aa counter_push_event +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x04773b60 ccp_present +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0x3a1a3979 ccp_version +EXPORT_SYMBOL_GPL drivers/crypto/ccp/ccp 0xe9114aa9 ccp_enqueue_cmd +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x019d38c6 hisi_acc_sg_buf_map_to_hw_sgl +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x042f91c2 hisi_qm_pm_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x0e9a5b32 hisi_qm_sriov_enable +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x1a18c900 hisi_acc_sg_buf_unmap +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x1b765022 hisi_qm_sriov_configure +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x2197f356 hisi_qm_alg_register +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x271e8e4e hisi_qm_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x36f848b6 hisi_qm_debug_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x3ac04ae8 hisi_qm_wait_mb_ready +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x3b07494f hisi_qm_dev_slot_reset +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x440dfb79 hisi_qm_start +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x46e5e838 hisi_acc_free_sgl_pool +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x4b77b048 hisi_qm_uninit +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x4e6e0df0 hisi_qm_dev_shutdown +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x500506ec hisi_qm_pm_uninit +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x52648fcb hisi_qm_start_qp +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x53845747 hisi_qm_regs_dump +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x5940d3b3 hisi_qm_diff_regs_uninit +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x6d34e449 hisi_qm_suspend +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x70b077e7 hisi_qm_diff_regs_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x75db54a4 hisi_qm_free_qps +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x7ce4380e hisi_qm_acc_diff_regs_dump +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x83e5333d hisi_qm_reset_done +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x8703228b hisi_qm_stop +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x8d689eb4 hisi_acc_create_sgl_pool +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x8dc97206 hisi_qm_debug_regs_clear +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x97d957de hisi_qm_sriov_disable +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0x9f59b622 hisi_qm_dev_err_init +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xaa810476 hisi_qm_alloc_qps_node +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xab71db1d hisi_qm_dev_err_uninit +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xabb14a6d hisi_qm_get_dfx_access +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xb5bf7d21 hisi_qm_reset_prepare +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xbfdc4a59 hisi_qm_alg_unregister +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xc3ab3f4e hisi_qm_dev_err_detected +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xc9081634 hisi_qp_send +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xe73c81a7 hisi_qm_wait_task_finish +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xeaea2889 hisi_qm_stop_qp +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xf060a57b hisi_qm_resume +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xf721555f hisi_qm_put_dfx_access +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hisi_qm 0xfda8caca hisi_qm_mb +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/hpre/hisi_hpre 0xbb28e77d hisi_hpre_get_pf_driver +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/sec2/hisi_sec2 0xe01c7dfc hisi_sec_get_pf_driver +EXPORT_SYMBOL_GPL drivers/crypto/hisilicon/zip/hisi_zip 0xf929b5b1 hisi_zip_get_pf_driver +EXPORT_SYMBOL_GPL drivers/crypto/marvell/octeontx/octeontx-cpt 0x32e43048 otx_cpt_uc_supports_eng_type +EXPORT_SYMBOL_GPL drivers/crypto/marvell/octeontx/octeontx-cpt 0xa9bf8284 otx_cpt_eng_grp_has_eng_type +EXPORT_SYMBOL_GPL drivers/dax/device_dax 0x0f467cb1 dev_dax_probe +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x569108f6 dw_edma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x96a12b9c dw_edma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x0313b404 do_dw_dma_enable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x0b5afa8e dw_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x6b03e732 idma32_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x71272b65 dw_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x8163800c do_dw_dma_disable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xceff2f9f dw_dma_filter +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xd5d54b1b dw_dma_acpi_controller_free +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xe672624e idma32_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xf8ed2ce9 dw_dma_acpi_controller_register +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x29a5c222 dpdmai_get_rx_queue +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x54209dc3 dpdmai_reset +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x5aaf2490 dpdmai_get_tx_queue +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x5f8e3bf9 dpdmai_close +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x72e94d8a dpdmai_set_rx_queue +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0x950a0c17 dpdmai_get_attributes +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xb12a0e5e dpdmai_open +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xb931f790 dpdmai_disable +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xd6106a41 dpdmai_enable +EXPORT_SYMBOL_GPL drivers/dma/fsl-dpaa2-qdma/dpdmai 0xea8fc294 dpdmai_destroy +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x0007bf8c fsl_edma_prep_dma_cyclic +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x07d96fbe fsl_edma_xfer_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x0d74764d fsl_edma_alloc_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x20aa3f6a fsl_edma_slave_config +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x258d96b7 fsl_edma_tx_status +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x2fa4f181 fsl_edma_cleanup_vchan +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x345d5c7b fsl_edma_prep_memcpy +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x39c0c0a1 fsl_edma_issue_pending +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x44ecad13 fsl_edma_free_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x4ed1862d fsl_edma_setup_regs +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x683be332 fsl_edma_resume +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x77064dd4 fsl_edma_free_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x85739b43 fsl_edma_pause +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x8657da5b fsl_edma_terminate_all +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xd7e31ded fsl_edma_chan_mux +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xedc2e9f1 fsl_edma_disable_request +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xef57b58d fsl_edma_prep_slave_sg +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x2edc3135 hidma_mgmt_setup +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x9f8240b2 hidma_mgmt_init_sys +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xabb5547d fw_request_get_timestamp +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xe86fb5c7 fw_card_release +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xfb7eacb4 fw_card_read_cycle_time +EXPORT_SYMBOL_GPL drivers/firmware/arm_ffa/ffa-module 0x5e08e110 ffa_driver_register +EXPORT_SYMBOL_GPL drivers/firmware/arm_ffa/ffa-module 0x93c175cc ffa_device_unregister +EXPORT_SYMBOL_GPL drivers/firmware/arm_ffa/ffa-module 0x98f22c1e ffa_dev_ops_get +EXPORT_SYMBOL_GPL drivers/firmware/arm_ffa/ffa-module 0xbba1e222 ffa_driver_unregister +EXPORT_SYMBOL_GPL drivers/firmware/arm_ffa/ffa-module 0xca959507 ffa_bus_type +EXPORT_SYMBOL_GPL drivers/firmware/arm_ffa/ffa-module 0xf4793c11 ffa_device_register +EXPORT_SYMBOL_GPL drivers/firmware/arm_scpi 0x2b240ebd get_scpi_ops +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x0c8ae140 cs_dsp_coeff_write_acked_control +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x0f229ba8 cs_dsp_remove +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x10158d47 cs_dsp_halo_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x144d6986 cs_dsp_mem_region_name +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x1f9dd1e9 cs_dsp_adsp2_bus_error +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x21f9b741 cs_dsp_get_ctl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x24adabf2 cs_dsp_init_debugfs +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x3463af91 cs_dsp_run +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x466b0577 cs_dsp_coeff_write_ctrl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x4e5562f8 cs_dsp_remove_padding +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x50cb44bc cs_dsp_read_data_word +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x5af37882 cs_dsp_read_raw_data_block +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x971ea60e cs_dsp_adsp1_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xb35361e9 cs_dsp_adsp1_power_down +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xb3e44b78 cs_dsp_adsp1_power_up +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xb5b17925 cs_dsp_power_down +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xbffa3563 cs_dsp_halo_wdt_expire +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xc621175b cs_dsp_write_data_word +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xc62cf274 cs_dsp_cleanup_debugfs +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xd1bd746c cs_dsp_stop +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xddd993fd cs_dsp_coeff_read_ctrl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xe0d4d293 cs_dsp_halo_bus_error +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xe4ec2d31 cs_dsp_power_up +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xe9ad2bfc cs_dsp_adsp2_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xf11896c4 cs_dsp_find_alg_region +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xfe758caa cs_dsp_set_dspclk +EXPORT_SYMBOL_GPL drivers/firmware/mtk-adsp-ipc 0xa302b11d mtk_adsp_ipc_send +EXPORT_SYMBOL_GPL drivers/firmware/stratix10-svc 0x0e7b7015 stratix10_svc_done +EXPORT_SYMBOL_GPL drivers/firmware/stratix10-svc 0x211eb38f stratix10_svc_request_channel_byname +EXPORT_SYMBOL_GPL drivers/firmware/stratix10-svc 0x41d5ad1c stratix10_svc_allocate_memory +EXPORT_SYMBOL_GPL drivers/firmware/stratix10-svc 0x50f5368a stratix10_svc_free_channel +EXPORT_SYMBOL_GPL drivers/firmware/stratix10-svc 0x595b630e stratix10_svc_free_memory +EXPORT_SYMBOL_GPL drivers/firmware/stratix10-svc 0xd3df684d stratix10_svc_send +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0x09db86de alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x1128a9a8 dfl_fpga_set_irq_triggers +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x1557c940 dfl_fpga_port_ops_add +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x1856ddbd dfl_fpga_dev_ops_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x2b36a854 dfl_fpga_port_ops_put +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x305f44bf dfl_fpga_dev_feature_uinit +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x50d14b55 dfl_fpga_feature_devs_enumerate +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x571c300b dfl_fpga_check_port_id +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x5b5291ef dfl_fpga_port_ops_get +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x659e4251 dfl_fpga_enum_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7092900e dfl_fpga_dev_ops_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x70d102f9 dfl_fpga_dev_feature_init +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x71d2621b dfl_fpga_cdev_config_ports_pf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x92312564 dfl_fpga_enum_info_free +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x9909dd88 dfl_fpga_feature_devs_remove +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xb3f33a93 dfl_fpga_enum_info_add_irq +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xc26cceb9 dfl_fpga_cdev_assign_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xd0944102 dfl_feature_ioctl_set_irq +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xd3aa88e1 __dfl_fpga_cdev_find_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xd707e3db dfl_fpga_cdev_release_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xda6e7b6c dfl_feature_ioctl_get_num_irqs +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xdd01077c dfl_fpga_port_ops_del +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xe61abfc0 dfl_fpga_enum_info_add_dfl +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xfdbdb24c dfl_fpga_cdev_config_ports_vf +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0633c4b9 fpga_bridges_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x07fdefeb fpga_bridge_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0b2b884c fpga_bridges_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2a2c10c9 fpga_bridge_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2c8167cf fpga_bridges_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x4389dcd1 fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x54eb585b fpga_bridge_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x5d88d392 of_fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x6166b7e6 fpga_bridge_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x7bfd13f8 fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xcfebd629 fpga_bridge_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xf69f6810 of_fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x01a58f4a fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x0be90f8c devm_fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x2b5e5226 fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x34297800 fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x44fba49f fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x502e70ef fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x6caefa21 of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xa594c522 fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xb725fd14 devm_fpga_mgr_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xc38b3406 fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xc7843c9d fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xd0f25d1c fpga_mgr_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xdfdc4d42 fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x2428cc00 fpga_region_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x646a2bee fpga_region_class_find +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xba35046c fpga_region_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xc98b4ee3 fpga_region_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xe2e9a0ff fpga_region_program_fpga +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x1a407a1f fsi_bus_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x3a93847e fsi_slave_claim_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x53c76aa9 fsi_get_new_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x54c95676 fsi_device_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x5a57d574 fsi_free_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x5dadc2df fsi_cdev_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x6a728c92 fsi_master_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x76d8efd0 fsi_device_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x78060f23 fsi_slave_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x8a22230d fsi_master_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x8fb706cd fsi_master_rescan +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xa8cff4e1 fsi_driver_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xbfc85ca3 fsi_driver_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xce22aee2 fsi_slave_release_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xd942f235 fsi_slave_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-occ 0x7e803683 fsi_occ_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0x5ea37e6b sbefifo_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0xbb56e0ea sbefifo_parse_status +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x0161266b gnss_deregister_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x498b69d7 gnss_allocate_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x637fc8fe gnss_put_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x708b7919 gnss_register_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x7e2f2ab3 gnss_insert_raw +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x0074c2a0 gnss_serial_free +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x494ffb55 gnss_serial_register +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x4e578381 gnss_serial_deregister +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x525bea51 gnss_serial_allocate +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x916a05bf gnss_serial_pm_ops +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x554d8370 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xf64603ff __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-regmap 0x496ce291 gpio_regmap_get_drvdata +EXPORT_SYMBOL_GPL drivers/gpio/gpio-regmap 0x84f1e4c2 devm_gpio_regmap_register +EXPORT_SYMBOL_GPL drivers/gpio/gpio-regmap 0xb7066570 gpio_regmap_unregister +EXPORT_SYMBOL_GPL drivers/gpio/gpio-regmap 0xdf81971b gpio_regmap_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x0017a20d analogix_dp_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x0e7291a3 analogix_dp_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x19ab290f analogix_dp_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x3ee0dd60 anx_dp_aux_transfer +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x46dae340 analogix_dp_suspend +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xa6fc61d3 analogix_dp_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xaed2c2d6 analogix_dp_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xc15bc95d analogix_dp_stop_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xdd4454d5 analogix_dp_start_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x09340e05 dw_hdmi_set_channel_count +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x094f6fc5 dw_hdmi_phy_i2c_set_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x1461e227 dw_hdmi_set_channel_status +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x26d629cd dw_hdmi_phy_gen2_reset +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x2d1c0e80 dw_hdmi_setup_rx_sense +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x2fac9436 dw_hdmi_set_channel_allocation +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x316212a8 dw_hdmi_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x40fde98b dw_hdmi_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x42926f4a dw_hdmi_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x4936068d dw_hdmi_set_plugged_cb +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x4a9b174f dw_hdmi_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x5665b64f dw_hdmi_set_high_tmds_clock_ratio +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x56f72e25 dw_hdmi_set_sample_non_pcm +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x6712b5a7 dw_hdmi_phy_gen2_txpwron +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7d8a3aee dw_hdmi_phy_i2c_write +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x8dcd6f43 dw_hdmi_set_sample_rate +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x96f3e250 dw_hdmi_set_sample_width +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x9b44a60b dw_hdmi_phy_gen2_pddq +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xc59f9e6f dw_hdmi_phy_gen1_reset +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xce27012a dw_hdmi_audio_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xd6968220 dw_hdmi_phy_setup_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xd8fe547b dw_hdmi_audio_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xdafa1790 dw_hdmi_phy_read_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xee494b1f dw_hdmi_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xf5922009 dw_hdmi_phy_update_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x0d667204 dw_mipi_dsi_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x41361ae4 dw_mipi_dsi_set_slave +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x42ac3b2e dw_mipi_dsi_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0xab183bf1 dw_mipi_dsi_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0xed73fa75 dw_mipi_dsi_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_display_helper 0xe4fef4a1 drm_hdcp_check_ksvs_revoked +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x0d6e7c42 dp_aux_dp_driver_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x1b1ea4b5 devm_of_dp_aux_populate_ep_devices +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x599cb6a8 __dp_aux_dp_driver_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0xc4164d87 of_dp_aux_populate_ep_devices +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0xd04b4843 of_dp_aux_depopulate_ep_devices +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x05d44782 drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x062a59dc drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1278bb8c drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x35bdf139 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x369e302c drm_of_encoder_active_endpoint +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x37ada15c drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x528d70c3 drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5a751673 of_get_drm_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5d5915a6 drm_of_component_match_add +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x63e9bc23 drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x66cf2f64 drm_display_mode_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x68d6eaa5 drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x705cc2f2 drm_of_lvds_get_data_mapping +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x8f23e6b1 drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa3595867 drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xad885165 drm_bus_flags_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb8c3a48f drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xbd2efcb4 drm_of_find_panel_or_bridge +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xbd8d4bfe drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xc37bf429 drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe5e89713 drm_of_lvds_get_dual_link_pixel_order +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xfa78dedf of_get_drm_panel_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xfe9f72f3 drm_display_mode_to_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x23662946 drm_gem_cma_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x503be665 drm_gem_cma_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x55ae22fa drm_gem_cma_free +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x981f3766 drm_fb_cma_get_gem_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x9a858515 drm_gem_cma_dumb_create_internal +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xa1137e9b drm_gem_cma_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xa39e372f drm_fb_cma_get_gem_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xb3cdacd4 drm_gem_cma_vmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xd67e3492 drm_gem_cma_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xd9f35d99 drm_gem_cma_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xe44b48a8 drm_gem_cma_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xfd79ce13 drm_fb_cma_sync_non_coherent +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x1f79d5ff drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x3a952a49 drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x43137ebc drm_gem_fb_create_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x878cfe0d drm_bridge_connector_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xa9833aa5 drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xbf5a322e drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xc1f71e3a drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xd7cbc78b drm_gem_plane_helper_prepare_fb +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xdbec7ce5 drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xea4d8cc9 drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x0848bc85 drm_gem_shmem_free +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x68fefd93 drm_gem_shmem_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xa1bf4651 drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xb7d9ea77 drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xc1319adf drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xcd4ebad8 drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xe2760cf5 drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xf8634442 drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x2c73cfcf meson_venc_hdmi_venc_repeat +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x94a785f8 meson_venc_hdmi_supported_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x9e4d26ac meson_venc_hdmi_mode_set +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xab5bee2f meson_venc_hdmi_supported_vic +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xbc6c0802 meson_vclk_dmt_supported_freq +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xbec2160a meson_vclk_vic_supported_freq +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0xcb93984d meson_vclk_setup +EXPORT_SYMBOL_GPL drivers/gpu/drm/panel/panel-samsung-s6e63m0 0x0a9acc36 s6e63m0_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/panel/panel-samsung-s6e63m0 0xb115f050 s6e63m0_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/pl111/pl111_drm 0x9142f517 pl111_versatile_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x5ed38b0d rcar_cmm_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x7f545946 rcar_cmm_setup +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0xc35971b5 rcar_cmm_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0xfb526de5 rcar_cmm_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x1ef590d7 rcar_lvds_is_connected +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x2d53c947 rcar_lvds_clk_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0xaf050982 rcar_lvds_dual_link +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0xe9cc7a4e rcar_lvds_clk_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x1a7f8333 vop2_component_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x323c84cf vop_component_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0xcd9f9f06 rockchip_rgb_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0xfead7585 rockchip_rgb_fini +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0x03ae405b ssd130x_shutdown +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0x7e22a9d0 ssd130x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0xac333c52 ssd130x_remove +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x00bd1706 gb_connection_enable_tx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x02f46d26 __tracepoint_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x06261c91 gb_operation_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1048b8c1 gb_connection_create_offloaded +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x14028e17 __SCK__tp_func_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x15d1942f greybus_disabled +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1ac278be gb_hd_cport_release_reserved +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1cfc170e gb_hd_cport_reserve +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x218e7268 __traceiter_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x26222e37 gb_debugfs_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2b0d8299 __traceiter_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2f3d36a3 greybus_data_rcvd +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x38b0f16b greybus_message_sent +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x400b458b __traceiter_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x42aaadf2 gb_hd_shutdown +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x43383283 gb_hd_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x43eab5c0 gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x48f54ef8 gb_operation_request_send +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x54133bd7 gb_connection_latency_tag_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x560dc990 gb_connection_destroy +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x56d8068d gb_operation_request_send_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5ad3f2d7 __tracepoint_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5c0a8043 __tracepoint_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5d906309 __traceiter_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x61030640 gb_connection_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6213634d __tracepoint_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x672002e2 gb_operation_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6d3bb9ec __SCK__tp_func_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x725d09ef gb_connection_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7c635ebe gb_operation_result +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7e38dd7d gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7f09cf40 gb_connection_latency_tag_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x81e221fb __SCK__tp_func_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x83774f96 gb_connection_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x870029fc __traceiter_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x89f514a1 __SCK__tp_func_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x8ce4eea3 gb_operation_response_alloc +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x92a23b7e gb_connection_disable_forced +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x98b091bb gb_interface_request_mode_switch +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x9a949ca5 gb_connection_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x9af624fd gb_connection_disable_rx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x9c27aca0 gb_operation_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa416e2da __tracepoint_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa52c53b2 gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xaa67e709 __traceiter_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xab04e7ab gb_hd_output +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb12e2927 gb_svc_intf_set_power_mode +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb79b17ad greybus_register_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xbd53a7eb gb_operation_get_payload_size_max +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd3e646d9 __tracepoint_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xe33a9f15 gb_operation_unidirectional_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xeac79e1a __SCK__tp_func_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xeb1805cd greybus_deregister_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xecd67e77 gb_operation_cancel +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf107a122 __SCK__tp_func_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xfea88816 gb_operation_put +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x10ecd68f __hid_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x151f3c42 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19d52f1f hid_quirks_exit +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1b439a75 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1e4ad9f2 hidinput_calc_abs_res +EXPORT_SYMBOL_GPL drivers/hid/hid 0x22b98d88 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x25b45905 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x279694d0 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x280d1052 hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3374c45b hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x358a59be hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3c57616a hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3d07735c hid_hw_stop +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3dadfed0 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3e7ad24d hid_validate_values +EXPORT_SYMBOL_GPL drivers/hid/hid 0x42308ed9 hid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/hid 0x43df2ce2 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x468c2ad6 hid_compare_device_paths +EXPORT_SYMBOL_GPL drivers/hid/hid 0x48eaa633 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x62449e28 hid_driver_resume +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7729fa2d hid_hw_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7a7f9d7a hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7da8c0d3 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7e108c02 hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x81167b8f hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x820405ab hid_field_extract +EXPORT_SYMBOL_GPL drivers/hid/hid 0x88ae900f hid_hw_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x89893d14 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8a9eb97d hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8b13a8b8 hid_snto32 +EXPORT_SYMBOL_GPL drivers/hid/hid 0x90dff762 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x91cf11cd hid_alloc_report_buf +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9a87a52f hid_match_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa035f6c7 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xad377b9f hid_hw_open +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb27d405b hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb7e8c45a hid_hw_close +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb8e28374 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xba8149bd hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xba9de532 hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc29a7ae6 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xcdb4bfe4 hid_driver_suspend +EXPORT_SYMBOL_GPL drivers/hid/hid 0xd1b3d99b hid_driver_reset_resume +EXPORT_SYMBOL_GPL drivers/hid/hid 0xda3c4132 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xdb0b3b97 hid_hw_raw_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe6034175 hid_ignore +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe8ce932f hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf173a922 hid_setup_resolution_multiplier +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf18f9777 hid_dump_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf1ad579d hid_hw_start +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf8a94afe __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa355613 hid_quirks_init +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x18060318 roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x3e4427c8 roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x040ab293 roccat_common2_sysfs_write +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x065e38f1 roccat_common2_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x179bf50e roccat_common2_sysfs_read +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x94937cf7 roccat_common2_device_init_struct +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xd6545337 roccat_common2_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xfa965a5c roccat_common2_send_with_status +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x1b1f7b4d sensor_hub_input_get_attribute_info +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x1ea1f943 sensor_hub_get_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x2e7fea52 sensor_hub_device_close +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x4cedaca4 hid_sensor_get_usage_index +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x65431d86 sensor_hub_input_attr_get_raw_value +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x87e61561 sensor_hub_register_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xa1eeda4b sensor_hub_set_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xbc10f45c sensor_hub_remove_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xf9b9b9c7 sensor_hub_device_open +EXPORT_SYMBOL_GPL drivers/hid/hid-vivaldi-common 0x0504a8ec vivaldi_feature_mapping +EXPORT_SYMBOL_GPL drivers/hid/hid-vivaldi-common 0x1cab742e vivaldi_input_configured +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x81c061f3 i2c_hid_core_remove +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x920e5293 i2c_hid_core_shutdown +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0xb4f0a5e2 i2c_hid_core_pm +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0xb596b516 i2c_hid_core_probe +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0xb7aa2534 i2c_hid_ll_driver +EXPORT_SYMBOL_GPL drivers/hid/surface-hid/surface_hid_core 0x9a8af1bb surface_hid_pm_ops +EXPORT_SYMBOL_GPL drivers/hid/surface-hid/surface_hid_core 0xa56ad1fb surface_hid_device_destroy +EXPORT_SYMBOL_GPL drivers/hid/surface-hid/surface_hid_core 0xaee290b7 surface_hid_device_add +EXPORT_SYMBOL_GPL drivers/hid/uhid 0xe54cfadd uhid_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xbab2fe3c hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0xf3b26b59 usb_hid_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x108c523f hsi_remove_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x2f107713 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x55275f32 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x559d8a35 hsi_new_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x64b7d877 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x671c1d4f hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x68291816 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x70a9cde3 hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7975a4d7 hsi_get_channel_id_by_name +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x851a2af8 hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x95de646f hsi_add_clients_from_dt +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x9f50c59a hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xa3462a85 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xdd1c9f38 hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xdec6b2d1 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe1e7517d hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe5298a44 hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xfe1cc685 hsi_port_unregister_clients +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x09a847d7 vmbus_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x13d25e1c __vmbus_request_addr_match +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x182a00df hv_pkt_iter_close +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x2838a7a2 vmbus_next_request_id +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x2b648d0e vmbus_send_modifychannel +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x2ca4f3d6 vmbus_sendpacket_mpb_desc +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x31567cc9 vmbus_sendpacket_pagebuffer +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x31e2e77f vmbus_free_mmio +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x321055cb vmbus_prep_negotiate_resp +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x3e4a79f8 vmbus_set_event +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x43e19eef vmbus_open +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x46a417ca vmbus_proto_version +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x48719947 vmbus_request_addr +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x49752a1c vmbus_teardown_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x4b2210b8 vmbus_send_tl_connect_request +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x548521b1 hv_ringbuffer_get_debuginfo +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x743f204d vmbus_setevent +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x8080db02 vmbus_set_chn_rescind_callback +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x864a992c vmbus_set_sc_create_callback +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x87af5d2e hv_ringbuffer_spinlock_busy +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x90aaaefb vmbus_establish_gpadl +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x95bcefe7 vmbus_connect_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0x9be5902a vmbus_request_addr_match +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xb7334109 vmbus_recvpacket_raw +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xcafc3d23 hv_pkt_iter_first +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xd165b9e6 vmbus_allocate_mmio +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xd7961a89 vmbus_free_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xdda6a143 vmbus_hvsock_device_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xe259b991 vmbus_connection +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xe45ff205 __hv_pkt_iter_next +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xe4fb5204 vmbus_driver_unregister +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xe5fa433d vmbus_alloc_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xeb2ec057 vmbus_disconnect_ring +EXPORT_SYMBOL_GPL drivers/hv/hv_vmbus 0xfc00dff5 __vmbus_driver_register +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x5aa085cc adt7x10_probe +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x6d483309 adt7x10_dev_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x5cbb5274 ltc2947_core_probe +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x6f319ea7 ltc2947_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0xbc54f93e ltc2947_of_match +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x0f3a9ed1 nct6775_store_beep +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x551e41f6 nct6775_update_device +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xb20b2c1f nct6775_show_alarm +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xb97ef3aa nct6775_show_beep +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xdf08d450 nct6775_reg_is_word_sized +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xff88ef8b nct6775_probe +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x4364175c intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x5661e4c5 intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x56d10e48 intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x6439e833 intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x6d3a2311 intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7ee10415 intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x82d19f46 intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x97890c1b intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xd99c3f46 intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x3fc5a33b intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x4099d82e intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x4198ab94 intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x0aa1ecdb stm_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x0ecd01eb stm_data_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x10941421 to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x34f60d70 stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x355dd911 stm_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xc3cdaab9 stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xdb0c3d6e stm_source_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xdff7394c stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xf87b9588 stm_source_write +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-ccgx-ucsi 0xd8da3919 i2c_new_ccgx_ucsi +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x1059f6f1 i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x1d96f664 i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xa6c81ec5 i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xe173a895 i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x0aea89b7 i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x2df24ea8 i2c_new_slave_host_notify_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x33acd465 i2c_register_spd +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0xb2af005f i2c_free_slave_host_notify_device +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x0086b232 i3c_device_free_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x097f8508 i3c_master_register +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x13b166ef i3c_device_do_priv_xfers +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x150ecfe7 i3c_master_enec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x1bf92bf0 i3c_driver_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x1c37d60b i3c_master_queue_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x2746f8a2 i3c_generic_ibi_get_free_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x2a831e5f i3c_master_defslvs_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x38945bfc i3c_generic_ibi_recycle_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x3da24950 i3c_device_match_id +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x3e64d797 i3c_master_disec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x425afdcc i3c_device_enable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x4a510a7d i3c_device_request_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x51d33765 i3c_master_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x64ce7180 i3c_generic_ibi_alloc_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x6714f7e8 i3c_device_get_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x72b7367e i3cdev_to_dev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x76fe3e05 i3c_generic_ibi_free_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x8344e8d6 i3c_master_entdaa_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x84c5aaea i3c_master_get_free_addr +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xbb12c7e3 i3c_master_set_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe1f842b5 i3c_device_disable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe44411b6 dev_to_i3cdev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe4e1e2a8 i3c_master_add_i3c_dev_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xec205540 i3c_master_do_daa +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xed57261d i3c_driver_register_with_owner +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x65155c39 adi_axi_adc_conv_priv +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0xf955b76f devm_adi_axi_adc_conv_register +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x267c0508 iio_channel_release_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x2a1fab3c iio_channel_stop_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x69478664 iio_channel_cb_get_channels +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7a711aef iio_channel_start_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x9acf62ab iio_channel_cb_set_buffer_watermark +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0xbf3424db iio_channel_cb_get_iio_dev +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0xe0d010a8 iio_channel_get_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x1417c18e iio_dma_buffer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x2ee5f4f3 iio_dma_buffer_release +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x311f0043 iio_dma_buffer_block_done +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x50b7156a iio_dma_buffer_read +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x5e7d1a81 iio_dma_buffer_data_available +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x6c3fbc64 iio_dma_buffer_request_update +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x781c62bd iio_dma_buffer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x881702ad iio_dma_buffer_set_bytes_per_datum +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xb22b7ed6 iio_dma_buffer_init +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xcd3a3929 iio_dma_buffer_set_length +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xecad2735 iio_dma_buffer_exit +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xf0068ff1 iio_dma_buffer_block_list_abort +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0x15b75312 devm_iio_dmaengine_buffer_setup +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x1b4fdaa1 devm_iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x3391543d iio_hw_consumer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x9671bc15 iio_hw_consumer_free +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0xa0870bde iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0xbf358fa9 iio_hw_consumer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-triggered-buffer 0x23dc56c0 devm_iio_triggered_buffer_setup_ext +EXPORT_SYMBOL_GPL drivers/iio/buffer/kfifo_buf 0xbaa1a791 devm_iio_kfifo_buffer_setup_ext +EXPORT_SYMBOL_GPL drivers/iio/chemical/sps30 0xaeada47b sps30_probe +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x031cbcf8 cros_ec_sensors_core_read +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x458ecf51 cros_ec_sensors_read_lpc +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x463af3ec cros_ec_sensors_core_write +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x49c4b191 cros_ec_motion_send_host_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x5435cc7c cros_ec_sensors_core_init +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x6a00662c cros_ec_sensors_ext_info +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x8d750ff7 cros_ec_sensors_push_data +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x981f91d7 cros_ec_sensors_read_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x98294e06 cros_ec_sensors_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x9971dac4 cros_ec_sensors_capture +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xd089f853 cros_ec_sensors_core_register +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0xee4df884 cros_ec_sensors_core_read_avail +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x238dce48 bmg160_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xb187200b bmg160_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xd0a19d76 bmg160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x3eb1fc0a fxas21002c_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xe92433bc fxas21002c_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xeba59aea fxas21002c_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/bmi160/bmi160_core 0x9a4bc9df bmi160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/fxos8700_core 0x4adb0fd0 fxos8700_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0x65c85575 inv_icm42600_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0x9a47b5e1 inv_icm42600_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0xbb2e13f8 inv_icm42600_regmap_config +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x99b7e8b4 inv_mpu_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0xeeec3636 inv_mpu_pmops +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0396db0f iio_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1324cc8f devm_iio_device_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x15c2580e iio_enum_write +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1ee3bd8b iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26f6b499 iio_str_to_fixpoint +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2745d0e3 __devm_iio_trigger_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2b81589c iio_validate_scan_mask_onehot +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x30ac2c90 iio_show_mount_matrix +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x33f5532c iio_read_channel_offset +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x41e200b4 iio_read_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x485b8ab3 iio_write_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4c841a35 iio_enum_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4dce7dd4 iio_format_value +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4f9077d4 iio_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x56feb9e8 iio_device_claim_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x58e8ad07 iio_read_channel_average_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5ad007ba iio_push_to_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5c6ca7de iio_device_id +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5d543d1e iio_buffer_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x641edfc2 iio_convert_raw_to_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6b212e83 iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x704a4907 iio_buffer_put +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x73217b14 iio_read_avail_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x80b83f40 iio_push_to_buffers_with_ts_unaligned +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x855fe3f7 devm_of_iio_channel_get_by_name +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8a8d2dcc iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8b628dff iio_buffer_enabled +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8d78dbac iio_get_debugfs_dentry +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8e669193 iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x99b4233f iio_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa043d9f7 iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa3065df5 iio_read_max_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa5e02d99 devm_iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa66417a9 iio_read_channel_processed_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xa8e455cf iio_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xac5bba58 of_iio_channel_get_by_name +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb2316653 iio_read_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb7ca0e50 devm_iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbf1cd105 iio_pop_from_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc4485037 iio_write_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc77dc207 devm_iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xcea02191 iio_read_channel_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xcfb08208 iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd2d3bf57 iio_device_get_current_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd5afad95 iio_get_channel_ext_info_count +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd72253bf iio_device_release_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd831d456 iio_write_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd8629a58 iio_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xda7b46a2 devm_iio_trigger_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf0c71fe3 iio_read_avail_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf11490b0 iio_enum_available_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf197997f iio_update_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf7b9a8ad __devm_iio_device_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xfdbb7e1d iio_device_attach_buffer +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x15df371a rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x4920b891 rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x5175d222 rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x545c02e1 rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x7ae4d23e rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x89a89e52 rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xb3e1cc6c rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xba2d0667 rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xbe02d820 rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xdbd05c86 rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xde904906 rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xf64a722c rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0xb249fa8f input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/matrix-keymap 0xc9ce7f15 matrix_keypad_parse_properties +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x4591bfaf adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x66535a18 adxl34x_suspend +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xec511022 adxl34x_remove +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x075db499 rmi_driver_suspend +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x27d3c295 rmi_2d_sensor_of_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x3cd33b6b rmi_register_transport_device +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x4aaa23c9 rmi_unregister_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x565f06c2 rmi_2d_sensor_abs_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x6e348bd1 rmi_driver_resume +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7132b397 __rmi_register_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x826606e3 rmi_2d_sensor_rel_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x829b4b35 rmi_dbg +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x909443cc rmi_2d_sensor_abs_process +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xa8de6193 rmi_of_property_read_u32 +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xe8cd3b14 rmi_set_attn_data +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xfe38703a rmi_2d_sensor_configure_input +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x7b78e6bd cyttsp4_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x8e1948a7 cyttsp4_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xc2aa9682 cyttsp4_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x3881f974 cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x97665132 cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x99831d7b cyttsp_i2c_read_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0xdffabc6d cyttsp_i2c_write_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x486b9512 tsc200x_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x631e6fa1 tsc200x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x947fa4aa tsc200x_regmap_config +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0xce14cff5 tsc200x_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x4ca26b79 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x5e6201a6 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x61e911fe wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x699f08fa wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x850dd5ad wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x8f761c62 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x92c80138 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa509824f wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xa6fc5de2 wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xabbbeb06 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb82bd85b wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xd986882a wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/interconnect/imx/imx-interconnect 0x990bf952 imx_icc_register +EXPORT_SYMBOL_GPL drivers/interconnect/imx/imx-interconnect 0xb2c74f8f imx_icc_unregister +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x0253e279 qcom_icc_bcm_voter_add +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x0b39b783 qcom_icc_bcm_voter_commit +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x957b64f3 of_bcm_voter_get +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x1906ea70 qcom_icc_bcm_init +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x21df4532 qcom_icc_aggregate +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x3128264f qcom_icc_rpmh_probe +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x7de2454c qcom_icc_set +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x8f4597e8 qcom_icc_rpmh_remove +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0xe6be3e21 qcom_icc_xlate_extended +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0xfe4a2757 qcom_icc_pre_aggregate +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-smd-rpm 0x81e513ad qcom_icc_rpm_smd_available +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-smd-rpm 0xe8dbdc6c qcom_icc_rpm_smd_send +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x14c41232 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x3af7c20c ipack_bus_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x79addb9e ipack_put_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xa9edf678 ipack_get_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xac8dac5e ipack_device_init +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xbc82466e ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xd2e58288 ipack_driver_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xe7dc73b4 ipack_device_add +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xefe9b13b ipack_device_del +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x1f0e8f1d led_set_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x33f6ba5c led_get_flash_fault +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x4d119652 led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x8eec6858 devm_led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xa879b37c led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xc6a71a32 led_update_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xd915a240 devm_led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xf4341986 led_set_flash_timeout +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x39bf5fec led_mc_calc_color_components +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x793f8c5a devm_led_classdev_multicolor_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x85f1bcb7 led_classdev_multicolor_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x88d7ea1a devm_led_classdev_multicolor_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0xc7ce5497 led_classdev_multicolor_register_ext +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x1c0baba6 lp55xx_of_populate_pdata +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x21ca4f16 lp55xx_register_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x234bc959 lp55xx_unregister_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x4028bf1e lp55xx_is_extclk_used +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x8b9c92b9 lp55xx_init_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x9be0886c lp55xx_update_bits +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xb427868f lp55xx_register_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xc9065429 lp55xx_read +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xca05407e lp55xx_write +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xcfca2ef8 lp55xx_deinit_device +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-audio 0x3bd45b0d ledtrig_audio_set +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-audio 0xce593c22 ledtrig_audio_get +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-camera 0x749e05f2 ledtrig_flash_ctrl +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-camera 0x7903e46e ledtrig_torch_ctrl +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x051b2215 __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x06bceaa1 __SCK__tp_func_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0826e917 __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0bc0be45 __SCK__tp_func_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0f8e0c72 __traceiter_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x15f3de09 __SCK__tp_func_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x16ea7222 __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x17a83e40 __traceiter_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x17fe9c93 __traceiter_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x181a1930 __SCK__tp_func_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x191717af __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1934a9a9 __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1b083369 __SCK__tp_func_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c32c15d __traceiter_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c599ebe __traceiter_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c71a406 __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c83d5b7 __SCK__tp_func_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x22ae6324 __SCK__tp_func_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x265f2730 __traceiter_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2766fb04 __traceiter_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x284a6bff __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2909bc5d __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2a0e014e __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2af60833 __SCK__tp_func_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3257d343 __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x33390d6f __traceiter_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x363faae0 __traceiter_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x46bfabee __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x46c66897 __SCK__tp_func_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4a2d1241 __SCK__tp_func_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x51bbc368 __traceiter_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x51d0e534 __SCK__tp_func_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x53b5e5e3 __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x54e95875 __traceiter_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x573a954c __traceiter_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5cc8cb86 __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5d227377 __traceiter_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5d9c8fc8 __SCK__tp_func_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5fd7c423 __SCK__tp_func_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6026e276 __SCK__tp_func_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x64e39418 __traceiter_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6697827f __SCK__tp_func_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x690dd415 __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6b893cf9 __traceiter_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6bea2058 __traceiter_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6e74dca7 __SCK__tp_func_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x72000e8c __traceiter_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x798eb4de __traceiter_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x79eeb380 __SCK__tp_func_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7a3c0ac3 __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x80e3881d __SCK__tp_func_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x80f2f765 __traceiter_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x830df522 __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x862dfa21 __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x8ad20d61 __SCK__tp_func_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x902cb523 __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9865dbc4 __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9a6f4d9f __SCK__tp_func_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9ce21c84 __SCK__tp_func_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa14fdbcf __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa187023e __SCK__tp_func_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa28e4b5a __traceiter_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa64134e4 __SCK__tp_func_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa783eb85 __traceiter_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa842a5c8 __SCK__tp_func_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xad6440b4 __traceiter_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb172c41b __traceiter_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb5a62a8c __traceiter_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb889440e __traceiter_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb912ae0b __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xba843c3f __SCK__tp_func_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbc268695 __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc1857470 __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc78d7102 __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc8ae4213 __SCK__tp_func_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xcb669302 __traceiter_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xce48d6f4 __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xda06fe86 __SCK__tp_func_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xdda74b50 __traceiter_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xdecf75c8 __traceiter_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe16c06b3 __SCK__tp_func_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe202b8e6 __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe82f418b __traceiter_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xec29e22a __traceiter_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xec92a163 __SCK__tp_func_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xed37c90e __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xee55d047 __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xef7eec02 __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf3cb43e6 __traceiter_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf6249e5f __SCK__tp_func_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf865c1a2 __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfb3d6c67 __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfd6b5d80 __SCK__tp_func_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x018e920e dm_bio_prison_alloc_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x041b2bd2 dm_bio_prison_free_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x17a318f5 dm_cell_put_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x17dd39d6 dm_deferred_set_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x1ab07486 dm_cell_promote_or_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2c63a6bf dm_cell_error +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2eb01e04 dm_deferred_set_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6791a44e dm_deferred_entry_dec +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x69b5b83a dm_cell_unlock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x753e20b2 dm_bio_prison_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x9c35b250 dm_cell_lock_promote_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xace9b57b dm_bio_prison_destroy_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb1502d36 dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb6201f5d dm_bio_prison_alloc_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb6d5c65d dm_deferred_set_add_work +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb70b342a dm_bio_prison_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb88c4322 dm_bio_prison_free_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb95ce137 dm_cell_quiesce_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xbcdfe755 dm_cell_release_no_holder +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xca2e3a88 dm_deferred_entry_inc +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xccd4d345 dm_get_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xd99e003d dm_bio_prison_create_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xdb18313c dm_cell_lock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xe1277d54 dm_cell_get_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xf52f67e3 dm_cell_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xf7549bef dm_bio_detain +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x0ad0dc4f dm_bufio_mark_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x111ab12a dm_bufio_mark_partial_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x24772bfe dm_bufio_get +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x2e0774dc dm_bufio_get_block_number +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6aebce95 dm_bufio_issue_discard +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6d3f57bd dm_bufio_get_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x72f07bf4 dm_bufio_set_minimum_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x74dcd98c dm_bufio_get_aux_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7c381a76 dm_bufio_get_block_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x867e87eb dm_bufio_get_dm_io_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xa82b2066 dm_bufio_write_dirty_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xae9172fa dm_bufio_client_create +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xb04f56ab dm_bufio_read +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xb2438d54 dm_bufio_release_move +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc0d7df85 dm_bufio_new +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc90df7e5 dm_bufio_prefetch +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc9a3422d dm_bufio_write_dirty_buffers_async +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xcd2ba798 dm_bufio_forget +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd4bddf5c dm_bufio_issue_flush +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd991e3b9 dm_bufio_get_device_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xe6024e59 dm_bufio_release +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xebcc64a4 dm_bufio_get_block_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xeca7949e dm_bufio_client_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xed3283a4 dm_bufio_set_sector_offset +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xf241a6eb dm_bufio_forget_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x0efbca4c btracker_promotion_already_present +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5adc2807 btracker_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5de611a9 btracker_nr_writebacks_queued +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5f91d01c dm_cache_policy_register +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x6dd656a8 dm_cache_policy_unregister +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7890d535 dm_cache_policy_get_name +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x87bee547 btracker_queue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x890723f7 dm_cache_policy_get_version +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xa2365f44 btracker_issue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xa7eadcb5 btracker_complete +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xadbefda4 dm_cache_policy_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xbf1a2968 btracker_create +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xccfe6409 btracker_nr_demotions_queued +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xcf8c2590 dm_cache_policy_get_hint_size +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xe1bdae47 dm_cache_policy_create +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x1d1823d1 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xb1901551 dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x01d2f9ac dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x10c0f781 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38972f23 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38efaf5a dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3a18389a dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3cbf74a8 dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x57e16c3e dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5d28486e dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5f4a6e61 dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5f7299e2 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7774620f dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d053fc5 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d5e1815 dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x8c99814c dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa53387c7 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa83588eb dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xbe38a431 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd8aa4284 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xe4d0ef61 dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf92b8a3d dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfd93482e dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0054f69d dm_tm_pre_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x11fbbe02 dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x15085586 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1816383d dm_btree_find_highest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1ae16d40 dm_tm_dec_range +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1ba7cc87 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x243ce1ad dm_array_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x24507fbf dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2bc1a8d9 dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2c5a02df dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2d38ecd9 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2f40da68 dm_bm_set_read_write +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x30a26537 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x30c37cc0 dm_bm_write_lock_zero +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3646e38f dm_tm_issue_prefetches +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x382a0134 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ae50a4a dm_tm_inc_range +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3d6961ed dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x46768dbf dm_btree_remove_leaves +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4f477261 dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5375ca71 dm_bm_write_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5475ba9e dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5736c9c5 dm_bitset_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x586705e1 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x64ed0be5 dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x688d422d dm_bm_block_size +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6b2357b6 dm_bitset_test_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6c218062 dm_bitset_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6c2c7ef4 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7062014c dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x72289260 dm_block_manager_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x73420d49 dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x75606d09 dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x79bdc649 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7ade1071 dm_tm_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b047bd9 dm_tm_create_non_blocking_clone +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b6b3af5 dm_bm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7bc7621f dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7e29c59d dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x87c934be dm_tm_inc +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88295b96 dm_tm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88998224 dm_disk_bitset_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88a5c035 dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8db6f8f0 dm_tm_with_runs +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8f5eefee dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x925f421d dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9290e07a dm_tm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x932a6ffc dm_tm_shadow_block +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9341b376 dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x95a52abd dm_bm_is_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9718cffa dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9955fef4 dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9ced228c dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9e798e22 dm_bm_set_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa29d4c0c dm_bitset_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2a74861 dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa9cf611b dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb3d7482b dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb6879c01 dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb720ee73 dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc0d7c2d1 dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc0fadb13 dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc36559ad dm_btree_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd237b9fb dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd39c0246 dm_btree_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xdf3a4e7d dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe781f874 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe8438eb5 dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf82dba90 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xfce51d79 dm_array_empty +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x005bc1e3 cec_notifier_cec_adap_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x04df04d3 cec_s_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x159e974f cec_s_log_addrs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x2fc86398 cec_s_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x3503ee1d cec_queue_pin_cec_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x3d89eda1 cec_received_msg_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x3f63dd34 cec_queue_pin_5v_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x40efe20b cec_transmit_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x466d9d7e cec_transmit_msg +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x49235d7e cec_pin_changed +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x4b26e251 cec_queue_pin_hpd_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x70b3703e cec_notifier_cec_adap_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7f7e9d23 cec_pin_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x95fb4695 cec_notifier_parse_hdmi_phandle +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa01fbb6b cec_notifier_set_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xaee236c6 cec_notifier_conn_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xb6875690 cec_unregister_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbe4de675 cec_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbf7dc53a cec_fill_conn_info_from_drm +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xc16f2887 cec_notifier_set_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xd2bc784f cec_transmit_attempt_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xde3d2c9d cec_register_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xe1857987 cec_notifier_conn_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xeacd697c cec_delete_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xebcbb737 cec_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf125777a cec_s_conn_info +EXPORT_SYMBOL_GPL drivers/media/common/b2c2/b2c2-flexcop 0x66c0289a b2c2_flexcop_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x2bf5d5a3 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x429cabe6 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x88ffa0b6 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x8fed3eed saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x97f74f8d saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xbfbc9208 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xc7c12f53 saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xcd4bfc20 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xd39549a5 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xf17ba873 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x2c257be5 saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x3181cb36 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x520cc18e saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x8d9fb02a saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xb4bb0ba1 saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xe877cdc9 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xfcc7604d saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x0f00b9b4 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x204f6ee0 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x34bf0e61 smscore_translate_msg +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x40d3dff3 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x4a8b5a49 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x50a016bd sms_board_power +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x62e5a690 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x71fd3079 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x76986f36 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7e5bc9d7 sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x80e79116 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x844539ae sms_get_board +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x869f9db7 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x8b23d9db smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x90da769f smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x99a81ab3 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xb1fa969b smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbb9e4f7b sms_board_event +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xc8ba8e33 sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xd1e3ef0d smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x03005a48 tpg_alloc +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x040dc7cd tpg_aspect_strings +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x4d1d285c tpg_init +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x517e7ccd tpg_fill_plane_buffer +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x6026aaf0 tpg_log_status +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x6960e899 tpg_s_crop_compose +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x756516e7 tpg_s_fourcc +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7a5d8c0b tpg_update_mv_step +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x86b4ddf7 tpg_reset_source +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x975a1e29 tpg_g_interleaved_plane +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xaa5503d9 tpg_set_font +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xb40fae23 tpg_g_color_order +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xc6110b6e tpg_free +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xc6808be7 tpg_calc_text_basep +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xce8159bb tpg_pattern_strings +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xf4aef3a4 tpg_gen_text +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xf65c5e46 tpg_fillbuffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x038c1bd9 vb2_core_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x07729fd4 __SCK__tp_func_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x0fad4470 vb2_thread_start +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x116f85dd vb2_discard_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x1e14cf12 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x24451812 __tracepoint_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2539f6b2 vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2593782f __tracepoint_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x42fec0a3 vb2_core_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4569fc8e __traceiter_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x4816b836 vb2_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x54d95c73 vb2_request_buffer_cnt +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x630b24d3 __tracepoint_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6a556f64 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6bd8da38 vb2_core_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x86552431 __traceiter_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8a2b5f07 vb2_core_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8ee20943 vb2_thread_stop +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x9035a2c6 vb2_core_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x94b4aec5 vb2_core_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x9b93c0d2 vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x9dec1475 vb2_request_object_is_buffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x9f1f1ea7 __traceiter_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x9f478bb0 vb2_core_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xa81ed1d1 vb2_core_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xa8d96d43 vb2_core_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb6f4b031 __SCK__tp_func_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb755f43c vb2_core_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb9d2df39 __SCK__tp_func_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc0b3a556 vb2_core_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc7b45aa4 __SCK__tp_func_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd03fd86b vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd2827859 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd54e829a vb2_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xe66b18fb vb2_core_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xef41f56a __traceiter_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf703a3f9 __tracepoint_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x0adad8b0 vb2_dma_contig_set_max_seg_size +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x338cc605 vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-sg 0x5e4cc2b5 vb2_dma_sg_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-memops 0x751a99c5 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x0dc1344a vb2_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x15585b45 vb2_request_validate +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x15931dce vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x172ed474 vb2_fop_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x1a2e96bf vb2_video_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x32c275e6 vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4ada5343 vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4b07c707 vb2_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4c30187a vb2_request_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x55a063cc vb2_fop_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x55e674fa vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x58856532 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x6c915ddc vb2_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x72fee655 vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7e50578a vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x84f99d03 vb2_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x8e863c1f vb2_fop_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x943e231b vb2_queue_init_name +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x9bc1be01 vb2_ops_wait_prepare +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x9c80d2dd vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x9fb82e11 vb2_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa7439fb9 vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa753d966 vb2_queue_change_type +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xacbe496c vb2_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xb61c4cd9 _vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xb8cebd38 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc4a5f3a0 vb2_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc5f32f47 vb2_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xcce90fce vb2_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd1686642 vb2_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd207b737 vb2_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd5d811a3 vb2_ops_wait_finish +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xf3dd7688 vb2_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xfbe4adc7 vb2_find_timestamp +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-vmalloc 0xc28871fc vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x93982140 dvb_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xc1e63370 dvb_module_release +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xe98f8091 dvb_module_probe +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/as102_fe 0x22faa213 as102_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/cx24117 0x9ef86eb6 cx24117_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/gp8psk-fe 0x5c42c432 gp8psk_fe_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/mxl5xx 0x4f215120 mxl5xx_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv0910 0xa9483e23 stv0910_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv6111 0x976c4c03 stv6111_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/tda18271c2dd 0xee0c9764 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/i2c/aptina-pll 0x37463d30 aptina_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/ccs-pll 0x38c9b897 ccs_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x19eca141 max9271_verify_id +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x29d7ccdc max9271_configure_i2c +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x4866ed31 max9271_set_deserializer_address +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x4df888c1 max9271_set_address +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x58ff0a63 max9271_set_high_threshold +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x66e2aa3f max9271_disable_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7170fea7 max9271_set_translation +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7b476631 max9271_wake_up +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x83be9f09 max9271_enable_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x97e060f4 max9271_set_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xd6fb7671 max9271_set_serial_link +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xd864ad6c max9271_configure_gmsl_link +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xf407cb29 max9271_clear_gpios +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x073c72ff media_device_unregister_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0e44b928 media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x134fc525 media_device_register_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1fcddb9a __media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x24259424 media_devnode_create +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x29390e4a __media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3188481c __media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x38411171 media_device_register_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3d02383e media_request_object_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3dd988dd media_device_pci_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4460b5da media_entity_remote_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x470d0d42 media_graph_walk_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4870a3a2 media_entity_get_fwnode_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4d97f505 media_entity_find_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4db18466 media_device_delete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4e7e806d media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5343ee12 media_graph_walk_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x54f2bf86 media_request_object_complete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5ef4891a media_request_object_unbind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x648af5e5 media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6b858569 media_graph_walk_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x78ecf7cc media_create_pad_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7bfc8d11 media_device_usb_allocate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7d516cdd media_request_get_by_fd +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x80f1ac5b media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8131ee8d __media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x859ca79a media_request_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8c3a16ce media_graph_walk_next +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8dcb3418 __media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x90af317a media_request_object_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x91a0f620 __media_device_usb_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x93f50821 media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9aa98f6a media_get_pad_index +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9b60c2a2 media_request_object_bind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9f8ab61b media_request_object_find +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb3230663 __media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb7ff74c6 media_device_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xcc7f4fb6 media_device_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xce476669 media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd0821a76 media_create_ancillary_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd54ef3c1 media_create_pad_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xde2837fc media_devnode_remove +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe5ceecd6 media_entity_enum_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe8c349a9 media_device_unregister_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe951f486 media_create_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xee11ca1c __media_device_register +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xee2669bf media_entity_pads_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf33d4814 media_device_unregister +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xfc781c47 __media_entity_enum_init +EXPORT_SYMBOL_GPL drivers/media/pci/cx88/cx88xx 0x5ae07e91 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x0b96b688 mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x1155baf7 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x31dbe659 mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x3619c3c6 mantis_input_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x3c6e7e54 mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x4d6a6bb1 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x5c06e190 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x633ccb83 mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x89275694 mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x8fb40476 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x98ecc264 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xabd9a188 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xbf2a3e08 mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xc8403e6b mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xd128429a mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xd675e343 mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xe7fd2177 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xe94fc950 mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xec103ece mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x163b6c75 saa7134_ts_buffer_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x18558b79 saa7134_g_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x1b31c10a saa7134_querystd +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x1d72c9f5 saa7134_ts_buffer_prepare +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x1da7813d saa7134_s_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x23ac60f2 saa7134_g_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x46923365 saa7134_vb2_buffer_queue +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x532219a5 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x71835847 saa7134_s_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x76a52777 saa7134_s_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7c68a2b9 saa7134_ts_queue_setup +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x8c88c5f5 saa7134_g_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x987b5e7c saa7134_enum_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x9f27e438 saa7134_ts_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xbec6b2f4 saa7134_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xcec58c2a saa7134_g_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xd55c517d saa7134_ts_start_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xdf9eff42 saa7134_querycap +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xe0930456 saa7134_s_std +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x1d32bb6f ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x64c86460 ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xa9f927c9 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xba16b06a ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xc94acb55 ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xc958af45 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xff4b4ef6 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x0be325d7 nal_hevc_write_vps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x15e89d55 nal_h264_read_pps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x168ddb2b nal_hevc_write_pps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x39b985c6 nal_h264_write_pps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x3c2d85a6 nal_hevc_read_pps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x64a9c2ce nal_hevc_read_sps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x666a7d73 nal_h264_read_filler +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x782a358b nal_h264_write_sps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x89178443 nal_h264_read_sps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0x8f1fd2e7 nal_h264_write_filler +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0xa06fd791 nal_hevc_read_filler +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0xc1dd5419 nal_hevc_write_filler +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0xc2dc8048 nal_hevc_read_vps +EXPORT_SYMBOL_GPL drivers/media/platform/allegro-dvt/allegro 0xf18c66c7 nal_hevc_write_sps +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x325d6860 mccic_resume +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x3675b69f mccic_shutdown +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x3d3b91d5 mccic_suspend +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0xa4eafd94 mccic_irq +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0xd27accd2 mccic_register +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x3630756a vpu_load_firmware +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x5e508a69 vpu_get_vdec_hw_capa +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x6aeb8139 vpu_get_plat_device +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x71698e45 vpu_mapping_dm_addr +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x9e6c1ddd vpu_wdt_reg_handler +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0xa9236a58 vpu_get_venc_hw_capa +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0xb0fded1d vpu_ipi_register +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0xcf70b0a0 vpu_ipi_send +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x046e3a5d hfi_session_flush +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x0ae0cc10 venus_helper_set_output_resolution +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x0e3b9446 venus_helper_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x0e54100a venus_helper_vb2_buf_init +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x12c81d73 hfi_session_abort +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x18a410b7 venus_helper_vb2_buf_prepare +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x1969687c venus_helper_set_format_constraints +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x1e2d506b venus_helper_set_num_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x2644bbdf venus_helper_set_input_resolution +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x27b12c5f venus_helper_m2m_device_run +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x29982830 venus_helper_process_initial_out_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x2d693ecb venus_helper_m2m_job_abort +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x2e533555 venus_helper_session_init +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x2f86fbb9 venus_helper_process_initial_cap_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x33752a0e venus_helper_release_buf_ref +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x355f5ab4 hfi_session_stop +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x3fad24a0 venus_helper_init_instance +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x43ea1800 hfi_session_continue +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x46af17f5 venus_helper_free_dpb_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x4b885d96 venus_helper_get_opb_size +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x4cbf9762 venus_helper_intbufs_alloc +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x51939fe2 venus_helper_get_bufreq +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x56e045c3 venus_helper_alloc_dpb_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x58168eb6 venus_helper_check_format +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x611d90dd hfi_session_deinit +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x65e2e1c1 hfi_session_set_property +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x67466a97 venus_helper_queue_dpb_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x6b6332a8 venus_helper_acquire_buf_ref +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x6c72b88c hfi_session_destroy +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x716d1da2 venus_helper_find_buf +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x7bed0505 venus_helper_get_profile_level +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x822e5da7 venus_helper_get_out_fmts +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x86eed177 venus_helper_change_dpb_owner +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x8b2bc1b5 venus_helper_unregister_bufs +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x96676a9d venus_helper_set_dyn_bufmode +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x9d353ff2 venus_helper_set_stride +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0x9f80cb78 hfi_session_create +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xa076b1b7 venus_helper_buffers_done +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xb5da1da9 venus_helper_get_framesz_raw +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xb66aba9e venus_helper_intbufs_realloc +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xb8bca94b venus_helper_set_work_mode +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xbcbf2ece hfi_session_init +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xc5924e71 hfi_session_unload_res +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xc5d34dc3 venus_helper_set_multistream +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xc64ff188 venus_helper_vb2_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xc75d5966 venus_helper_vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xcdf211d9 hfi_session_start +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xd21da2e4 venus_helper_get_framesz +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xd246b1d3 hfi_session_process_buf +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xd61f12a0 venus_helper_set_color_format +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xd6eb6afa venus_helper_check_codec +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xe4187c39 venus_helper_set_raw_format +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xeabbb8d6 hfi_session_get_property +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xf3cca081 venus_helper_get_ts_metadata +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xf53467e3 venus_helper_set_bufsize +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xfc4d4453 venus_helper_set_profile_level +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xfda2dd54 venus_helper_vb2_start_streaming +EXPORT_SYMBOL_GPL drivers/media/platform/qcom/venus/venus-core 0xff6c5e9c venus_helper_intbufs_free +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x3d858696 rcar_fcp_put +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x46fd74ad rcar_fcp_get_device +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x4ad5d888 rcar_fcp_enable +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x5fe6f6e8 rcar_fcp_disable +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x9877c29f rcar_fcp_get +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x154a1d6b vsp1_du_atomic_update +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x4415f016 vsp1_du_atomic_begin +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x4e84fc57 vsp1_du_setup_lif +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0xa289aa46 vsp1_du_map_sg +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0xb15b7605 vsp1_du_atomic_flush +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0xe040bea0 vsp1_du_init +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0xe268c975 vsp1_du_unmap_sg +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x2da77a61 xvip_init_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x31892d12 xvip_cleanup_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x43738fab xvip_set_format_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x4b9c92d2 xvip_enum_frame_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x53f2c937 xvip_of_get_format +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x7b356e3b xvip_enum_mbus_code +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xac978428 xvip_clr_or_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xb67940fb xvip_get_format_by_fourcc +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xc6e7b0ff xvip_clr_and_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xe08e6063 xvip_get_format_by_code +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x3c16a6b1 xvtc_generator_stop +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x45226731 xvtc_of_get +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x47d7900b xvtc_generator_start +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0xa8a0f912 xvtc_put +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x50aba8b6 radio_tea5777_init +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x839424fc radio_tea5777_exit +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x15937c21 si470x_set_freq +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x1d624580 si470x_ctrl_ops +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x5b5865ab si470x_stop +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x9dd36d10 si470x_start +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xd054753d si470x_viddev_template +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x104692e2 ir_raw_event_store_with_timeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x18af5500 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x216ba1db ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x29d32d6f rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x2ed90ced rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x366e6994 lirc_scancode_event +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3ad5ee2b devm_rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3d2f757a devm_rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4ad5d262 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x905368a5 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x90682022 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa02e49dd rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa57e31e6 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa5811411 rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xa7d01541 rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb4bb7234 rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb960f15c rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf4038477 ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfba0e99f rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfba0f75e rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xfc5d3079 rc_map_get +EXPORT_SYMBOL_GPL drivers/media/tuners/mt2063 0xb2e60044 mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mt20xx 0x5240779f microtune_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mxl5007t 0xaea99098 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/r820t 0x2181a446 r820t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda18271 0x9dde2ce3 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda827x 0x534080cd tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x84bfa6cf tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0xa0569084 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda9887 0x45fed2e4 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x8f14f802 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0xeca3c279 tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x4d0de14c tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x5538f9d3 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tuner-simple 0x1a4b0ee6 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x0051d88e cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x0462245c cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x09782f9b cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x18d3214b cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x21288320 cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x298467f6 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x31cd96ae cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x3bae0549 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x4cde563a cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x80ca6889 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x83a6858d cx231xx_get_i2c_adap +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x84c09735 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x877ea075 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x8a82e115 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x927897d8 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xaba71d88 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xb683c0b3 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xbd6258bf cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xc4ae0cd3 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xff99133d cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0xb5b3bcd9 mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0xba66e978 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x1f9fbe4a em28xx_alloc_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x4c8020d8 em28xx_uninit_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x4d4909ac em28xx_init_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x51b68664 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x58bf38cb em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x721f7cc7 em28xx_free_device +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7b8b4482 em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x921d7c65 em28xx_boards +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x984ac394 em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xa3491cbe em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb2de8a61 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb6baccb8 em28xx_find_led +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb8936631 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xbfa71a3f em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xc86d0e7c em28xx_init_camera +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xcef744ed em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xe63f1784 em28xx_toggle_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xee66390e em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xfac64e77 em28xx_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xfb417d50 em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x1404e72c tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x59fd99f2 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x975b426d tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xf99db89a tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x354af610 __v4l2_async_nf_add_fwnode +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x5a9b6ea6 __v4l2_async_nf_add_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x62a94a45 __v4l2_async_nf_add_fwnode_remote +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0xb2b9664a v4l2_async_nf_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0xbb6fb873 __v4l2_async_nf_add_i2c +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x01612c0b v4l2_detect_gtf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x08402862 v4l2_print_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x0958448b v4l2_set_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x0af3d134 v4l2_valid_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x2bf67def v4l2_calc_aspect_ratio +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x370cfe6e v4l2_dv_timings_presets +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x3aa68d7a v4l2_find_dv_timings_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x4839762f v4l2_calc_timeperframe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7b6ac78f v4l2_phys_addr_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x8f8d4341 v4l2_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x922ecd29 v4l2_enum_dv_timings_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xa97e00eb v4l2_detect_cvt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xae575c8f v4l2_phys_addr_for_input +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xd034392d v4l2_match_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xef15cc44 v4l2_hdmi_rx_colorimetry +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xf56238f4 v4l2_find_dv_timings_cea861_vic +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xff585440 v4l2_dv_timings_aspect_ratio +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x14ceedd7 v4l2_flash_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x54c743e6 v4l2_flash_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0xe9057b2e v4l2_flash_indicator_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x1d7d727d v4l2_fwnode_connector_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x2fc4705c v4l2_fwnode_connector_add_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x612ddce5 v4l2_fwnode_connector_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x74969cc7 v4l2_fwnode_endpoint_alloc_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x82f4c459 v4l2_fwnode_endpoint_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x8c6cc9ff v4l2_fwnode_put_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xb6da89ac v4l2_async_register_subdev_sensor +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xb9c31f32 v4l2_async_nf_parse_fwnode_endpoints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xc4289c42 v4l2_fwnode_endpoint_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xdcaef7c4 v4l2_fwnode_parse_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xf5789363 v4l2_fwnode_device_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0x639ecc68 v4l2_h264_init_reflist_builder +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0x6a1429ff v4l2_h264_build_p_ref_list +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0xf568bf81 v4l2_h264_build_b_ref_lists +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0x30b5ebc6 v4l2_jpeg_parse_scan_header +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0xcbfdf5cb v4l2_jpeg_parse_frame_header +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0xe8956e3f v4l2_jpeg_parse_huffman_tables +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0xe8f40f9e v4l2_jpeg_parse_header +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0xf8ffd565 v4l2_jpeg_parse_quantization_tables +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x0261780a v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x037ab8c4 v4l2_m2m_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x0fbaa1d9 v4l2_m2m_ioctl_stateless_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x16c398b8 v4l2_m2m_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x1e4d6b3f v4l2_m2m_last_buffer_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2240e565 v4l2_m2m_ioctl_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x289a51d8 v4l2_m2m_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2c284725 v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2f9afe7d v4l2_m2m_buf_remove_by_idx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3299dd04 v4l2_m2m_buf_remove_by_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x37401f36 v4l2_m2m_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x380ed43e v4l2_m2m_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x4250f81a v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x45720fbe v4l2_m2m_last_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x509fea84 v4l2_m2m_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x53187fd9 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6b3b005d v4l2_m2m_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6dc42918 v4l2_m2m_request_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6f58fd39 v4l2_m2m_update_stop_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x704df0f6 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x730f2eae v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7465e854 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x79305fa4 v4l2_m2m_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7ba5bb3d v4l2_m2m_ioctl_try_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7d074a11 v4l2_m2m_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7ecbcd7c v4l2_m2m_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x8d63917e v4l2_m2m_try_schedule +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x916f95ff v4l2_m2m_buf_copy_metadata +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa94dc461 v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xba14bb14 v4l2_m2m_ioctl_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xbf606dd9 v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc14967c7 v4l2_m2m_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc7ced3d8 v4l2_m2m_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc8ad24e5 v4l2_m2m_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc9f9b701 v4l2_m2m_update_start_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd43118d1 v4l2_m2m_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd5e7cfb2 v4l2_m2m_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd67e141b v4l2_m2m_ioctl_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xdb247a3f v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe94546fd v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf13ff84d v4l2_m2m_unregister_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf27ce6ca v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf531cb5f v4l2_m2m_register_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf55cd958 v4l2_m2m_ioctl_stateless_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf707c869 v4l2_m2m_fop_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xfd682435 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x4137d90c v4l2_vp9_adapt_coef_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x8ef1a3dd v4l2_vp9_reset_frame_ctx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x8ef25d5d v4l2_vp9_seg_feat_enabled +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x9dec35a2 v4l2_vp9_fw_update_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0xb3cf2529 v4l2_vp9_adapt_noncoef_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0xcf15018a v4l2_vp9_kf_partition_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0xdf6586d2 v4l2_vp9_kf_uv_mode_prob +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0xf5c55c43 v4l2_vp9_default_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0xfbf87a5e v4l2_vp9_kf_y_mode_prob +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x12a2c539 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x152a4189 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x16785b48 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x170fe9ac videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x24c79381 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x27de4084 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x29165117 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x295c826c videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x2f557724 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x312ed024 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x3306b62e videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x39bc543b videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x3fa98833 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4112f071 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4f9278e4 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x5faace4f videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x6e744593 videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x84d41ae1 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xbe570da7 videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xd055bd6a __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xd23ff627 videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xd5dca265 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xfc335a1f videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xff4aaed2 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x19a04906 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x3be96dc3 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x553a86d0 videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x82a493d4 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0xce8125d8 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x412d6b78 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x74ae6e64 videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0xf0077f01 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0a0e8f1e v4l_vb2q_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0f28b906 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x105ae441 v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x10ee006e v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x11f3044c __SCK__tp_func_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x16dfaa21 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1885c1f6 __v4l2_subdev_state_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x18abc7e7 v4l2_s_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2400c116 v4l2_subdev_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2ae0877b __SCK__tp_func_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3388cdea v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x33ec1978 v4l2_subdev_get_fwnode_pad_1_to_1 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x34246708 v4l2_src_change_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3a28fa19 v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3b24281c v4l2_ctrl_request_hdl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x452f53b1 __tracepoint_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x46ac032f __tracepoint_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4b525926 v4l2_ctrl_request_hdl_ctrl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4c1978dc v4l2_event_wake_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4cae85a0 v4l2_create_fwnode_links +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4ff02587 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x504621ae v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x52c92714 v4l2_pipeline_link_notify +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x54a977e5 v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x57b952fb v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x60fd9f9e v4l_disable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x69cb0d40 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6a2de036 __tracepoint_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6ce1c95c __SCK__tp_func_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e9acc41 v4l2_fill_pixfmt_mp +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6f17d500 v4l2_src_change_event_subdev_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7f73fd85 v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7f7db9f4 __v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x805896e3 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8d563dc1 v4l2_pipeline_pm_get +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8d63d545 v4l2_subdev_notify_event +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x96df057a v4l2_subdev_get_fmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x991aba9f __traceiter_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x995a72ec v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9fef35ac v4l2_apply_frmsize_constraints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa1c828a0 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa4972608 v4l2_event_subdev_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa9192654 __v4l2_ctrl_handler_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xab881e27 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xaba2da46 v4l_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xace7560e v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xad7e0c42 __traceiter_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb1ee442d v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbe0a632d v4l2_pipeline_pm_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc21a785d __traceiter_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc742d6e8 __tracepoint_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcbfc8bbd v4l2_mc_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcc501597 v4l2_fill_pixfmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xce9cd148 v4l2_create_fwnode_links_to_pad +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd4178dcf v4l2_get_link_freq +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xd45047b3 v4l2_i2c_subdev_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xda8cb4ec v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xdbd19aa2 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xdc2b805b v4l2_subdev_link_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xdded8ce2 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xdef77a08 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe2822320 __v4l2_find_nearest_size +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe39060d4 v4l2_g_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe5a33113 __SCK__tp_func_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe73b84e5 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe8163ee9 v4l2_subdev_link_validate_default +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xefd06ba7 v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf275fc08 __v4l2_subdev_init_finalize +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf2a353ac v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf5ef842e v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf6122e41 __traceiter_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf7eb66f4 v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfa4d4f90 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfa734094 __v4l2_subdev_state_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfba5ca86 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfc87b979 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x56690bf0 pm80x_init +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x61931052 pm80x_regmap_config +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xd99fd720 pm80x_deinit +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xf7c54089 pm80x_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x01dea803 arizona_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x1659a82a wm8997_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x20dbabeb wm5102_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x2ebffe05 arizona_clk32k_disable +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x31297d1f wm8998_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4048fbbc wm8997_aod +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4c087981 wm5110_aod +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x55481b85 cs47l24_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x623372f4 wm8997_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x63e36aa7 wm5102_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x6436c35c arizona_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x8c94dee0 arizona_set_irq_wake +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x9eb03e9a wm5110_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xa6b70564 wm8997_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xa727bd3b cs47l24_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xaaf78759 wm5110_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xb8a077e9 arizona_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xc81b43ab wm5110_revd_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xc99c58d3 arizona_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xcae0b8e2 wm5110_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xccd0e362 arizona_clk32k_enable +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xcde3792f cs47l24_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xdd88ffd6 wm5110_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xef890964 arizona_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/atc260x-core 0x16caf523 atc260x_device_probe +EXPORT_SYMBOL_GPL drivers/mfd/atc260x-core 0xb0685aa2 atc260x_match_device +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x03df651c da9150_write_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x1718dd5f da9150_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x197ad5a1 da9150_read_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x69c107fe da9150_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x74bca00e da9150_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x93eaf9dd da9150_bulk_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xdf429694 da9150_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/gateworks-gsc 0xa142a524 gsc_read +EXPORT_SYMBOL_GPL drivers/mfd/gateworks-gsc 0xb7abd1c4 gsc_write +EXPORT_SYMBOL_GPL drivers/mfd/iqs62x 0xa436f4de iqs62x_events +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x2b841dc5 kempld_write8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x76472bc1 kempld_read16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x7a4d2b4a kempld_get_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x81e25db9 kempld_read8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x97b0b0bc kempld_write32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xb25d72f4 kempld_write16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xbb541526 kempld_release_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xc9b10368 kempld_read32 +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xc3e99fb0 lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xd4e03fa1 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xd7e21662 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x1215ac44 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x54b4a2a0 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x84bb6042 lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x9e490a49 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xbbef0cb5 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xca66f6af lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xf228dc86 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x5a22cc27 lp3943_write_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x8c8113d7 lp3943_read_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0xe8b9ef4d lp3943_update_bits +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x00291973 madera_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0e93f516 cs47l85_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0e9e2956 cs47l85_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f379262 madera_of_match +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x164454e3 madera_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x164682a6 cs47l90_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x164b5ee6 cs47l90_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x21c7995b cs47l92_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x21ca451b cs47l92_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x3ce16e6e cs47l35_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x3cecb22e cs47l35_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x410e0354 cs47l85_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x4da6e81a cs47l85_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x4dab345a cs47l85_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x55739faa cs47l90_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x557e43ea cs47l90_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x5e4cdbef cs47l35_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x62f28457 cs47l92_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x62ff5817 cs47l92_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x69ee979a cs47l15_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7fd47362 cs47l35_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7fd9af22 cs47l35_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x85e0bafe madera_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x930bec4d cs47l90_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xb517d9ae cs47l15_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xb51a05ee cs47l15_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xe97c69a6 cs47l92_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebe384cb madera_name_from_type +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xf622c4a2 cs47l15_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xf62f18e2 cs47l15_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x2a8d5ffa mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x30616ad6 mc13xxx_variant_mc13892 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x62d4d49e mc13xxx_variant_mc34708 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x70db21f6 mc13xxx_variant_mc13783 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x8e676ab8 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xbcbe6807 mc13xxx_common_exit +EXPORT_SYMBOL_GPL drivers/mfd/motorola-cpcap 0xa226dbe8 cpcap_sense_virq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x15973912 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x16907df0 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x21f53bde pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x54ba61e4 pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x71d2837d pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x797b91ae pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7b85d755 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x92e487a1 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd769bb82 pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xd80ad4cd pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xe523dfc1 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x4800dd67 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xb1e3d6bf pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x5371697e pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x67341a86 pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x85a8a994 pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xb3918f19 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xc4aac0fc pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x2be26e1c devm_rave_sp_register_event_notifier +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x43e53ef9 rave_sp_exec +EXPORT_SYMBOL_GPL drivers/mfd/retu-mfd 0x56d1a8c5 retu_read +EXPORT_SYMBOL_GPL drivers/mfd/retu-mfd 0xa074c8b6 retu_write +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x039b933d si476x_core_is_in_am_receiver_mode +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x0524e96f si476x_core_cmd_fm_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x0f179fe5 si476x_core_set_power_state +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x16c9b469 si476x_core_cmd_ana_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x205d0755 si476x_core_has_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x2633a691 si476x_core_is_a_primary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x4652f8a4 si476x_core_cmd_power_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x46c259ac si476x_core_cmd_am_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x4dead984 si476x_core_cmd_am_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5b395292 si476x_core_cmd_dig_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x62d4d0e0 si476x_core_is_powered_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x692d497d si476x_core_cmd_fm_phase_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x75f31f5f si476x_core_cmd_fm_rds_blockcount +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7757c0dc si476x_core_cmd_am_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x77e63a08 si476x_core_cmd_fm_rds_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x862128b3 si476x_core_cmd_ic_link_gpo_ctl_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x8ba8899f si476x_core_cmd_set_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9d8458a3 si476x_core_is_a_secondary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9db761db si476x_core_cmd_zif_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9fdef84a si476x_core_cmd_func_info +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xa50dd854 si476x_core_cmd_fm_phase_div_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xaeabe272 si476x_core_i2c_xfer +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xaf85ea25 si476x_core_cmd_fm_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xb5206dd2 si476x_core_stop +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xb9348664 si476x_core_cmd_intb_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xc32a290b si476x_core_cmd_get_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xd30b734d si476x_core_cmd_agc_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xdf3e2aaf si476x_core_has_am +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe9ef726b si476x_core_cmd_fm_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf3bff895 si476x_core_cmd_power_down +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf85fbf8a si476x_core_cmd_fm_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xfa86ee49 devm_regmap_init_si476x +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xfeff3dcf si476x_core_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xff1027e8 si476x_core_cmd_am_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x38fb086c sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x3f94ec2f sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x41b36f1d sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x6f2e384e sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0xc36d0831 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sprd-sc27xx-spi 0x5ca6868d sprd_pmic_detect_charger_type +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0x6cc7e0e7 stmfx_function_disable +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0xa17edaf8 stmfx_function_enable +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x22db047f am335x_tsc_se_clr +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x536bc038 am335x_tsc_se_set_once +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x878ae7f0 am335x_tsc_se_set_cache +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xf1e0716f am335x_tsc_se_adc_done +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0x0604e6d4 tps65217_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xc5e39e8e tps65217_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xea3ae875 tps65217_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65217 0xfc888474 tps65217_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x58abb900 tps65218_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x6ce01327 tps65218_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x9438c739 tps65218_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xc42e929a ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x0a8ae2b6 alcor_write32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x0b783066 alcor_write8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x1a5ec038 alcor_read32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x3a154fd7 alcor_write32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x5098c88c alcor_read8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x5adf48c9 alcor_read32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xf8a2a5a2 alcor_write16 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x155495c9 rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x1e8531d1 rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x2a227395 rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x2e808b90 rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x2f40585a rtsx_pci_dma_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x357fd0ae rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x4c8a2d20 rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x53c8b534 rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x57ebe9e9 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x61ef6d3a rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x658a973e rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x8524ac7f rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x966079b2 rtsx_pci_dma_map_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x9c278875 rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa2689c7e rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa5fbd368 rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xb2f5019c rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xbcdaad9f rtsx_pci_dma_unmap_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xc0e01bec rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xdd787a99 rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xeca517db rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xee9e055b rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xf1f49ebd rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xf562854c rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x0435e8c5 rtsx_usb_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x139328ac rtsx_usb_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x18592600 rtsx_usb_ep0_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x2587753b rtsx_usb_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x288e4582 rtsx_usb_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x2ab87647 rtsx_usb_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xaed67a4d rtsx_usb_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xbc2b148a rtsx_usb_get_rsp +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xd55fb5a8 rtsx_usb_ep0_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xd9bc8fdb rtsx_usb_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xdbb7d552 rtsx_usb_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xdedf6f43 rtsx_usb_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xf89bd491 rtsx_usb_get_card_status +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x1aaa476a cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x966a8caf cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x990972b8 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xe86f0c36 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x0b008db0 oslec_hpf_tx +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x296a8983 oslec_update +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x3115970d oslec_create +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x4b711f77 oslec_adaption_mode +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x5909e701 oslec_snapshot +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x780d3f01 oslec_flush +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x84eba96d oslec_free +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x3cb83d5b eeprom_93cx6_multireadb +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d2ff63 eeprom_93cx6_wren +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x870b53e9 eeprom_93cx6_write +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x884deb9d eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0xc9c6bb25 eeprom_93cx6_readb +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0xff7a0fdf eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x00c98d24 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x2d983c64 enclosure_component_alloc +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x381cfbfc enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x42ad7c22 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x57001f13 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x6c47bfdf enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xb692656b enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf3af241c enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x19d8c671 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x290fd7a9 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x45972864 lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x7df2959d lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xcef81655 lis3lv02d_init_dt +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xd05db90e lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xdb4a3717 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xf8772c23 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/pvpanic/pvpanic 0xec42b5e4 devm_pvpanic_probe +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x8c795269 st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xde697c01 st_unregister +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x018e371c uacce_remove +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x0706de71 uacce_alloc +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0xe5ff8d2e uacce_register +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x024d14bc vmci_qpair_produce_free_space +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x046dd187 vmci_datagram_create_handle +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x056837fb vmci_get_context_id +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x07c5038e vmci_qpair_dequev +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x1fd4782d vmci_qpair_get_produce_indexes +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x2449459d vmci_event_subscribe +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x3a22fa8a vmci_datagram_destroy_handle +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x4ba5c46b vmci_qpair_peek +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x5591b58e vmci_context_get_priv_flags +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x5e949e0a vmci_doorbell_destroy +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x612df9ae vmci_qpair_detach +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x676bd843 vmci_qpair_consume_free_space +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x75fe065a vmci_send_datagram +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x787f0fe8 vmci_register_vsock_callback +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x7c74d7a6 vmci_qpair_consume_buf_ready +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0x81d61eef vmci_qpair_dequeue +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xacdaa77f vmci_qpair_enquev +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xb572e830 vmci_doorbell_create +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xbcb85f62 vmci_doorbell_notify +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xc04c7e84 vmci_qpair_get_consume_indexes +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xc27869e5 vmci_qpair_peekv +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xc403cafe vmci_is_context_owner +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xde3abc2e vmci_datagram_create_handle_priv +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xe0cc9c92 vmci_qpair_alloc +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xe11895c1 vmci_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xe67343c1 vmci_qpair_enqueue +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xea143610 vmci_datagram_send +EXPORT_SYMBOL_GPL drivers/misc/vmw_vmci/vmw_vmci 0xea61eefe vmci_qpair_produce_buf_ready +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x869f8c6e dw_mci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0xf112da9f dw_mci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0xfc4126ee dw_mci_pltfm_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x02b25722 mmc_hsq_init +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0x9cf623ee mmc_hsq_finalize_request +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0xb2c44f16 mmc_hsq_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/mmc_hsq 0xec11b24e mmc_hsq_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/renesas_sdhi_core 0x37372ef6 renesas_sdhi_probe +EXPORT_SYMBOL_GPL drivers/mmc/host/renesas_sdhi_core 0x87e21968 renesas_sdhi_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x09d9b167 sdhci_send_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0fda8b4b __sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x12415153 sdhci_cqe_enable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x12f12d9a sdhci_get_cd_nogpio +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1fca02cd sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x26a31718 __sdhci_set_timeout +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2826a44a sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2b5d325e sdhci_abort_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x2d417d34 sdhci_cqe_disable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3b8bb072 sdhci_set_bus_width +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3c443c16 sdhci_set_power_noreg +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3de1f226 sdhci_set_data_timeout_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x3f7c5e94 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x42fd8e70 sdhci_cleanup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x491913a0 sdhci_start_signal_voltage_switch +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x4b5b56cd sdhci_set_power +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5b1876f7 sdhci_adma_write_desc +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5bdaa8f2 sdhci_calc_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x654597fb sdhci_dumpregs +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6a754552 sdhci_start_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x783fd9b4 sdhci_enable_v4_mode +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7f9c6e0e sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x81bb1798 sdhci_set_ios +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x842e435a __sdhci_read_caps +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x84d9c360 sdhci_enable_sdio_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x87526f89 sdhci_setup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x8797d5a5 sdhci_execute_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x9169fb10 sdhci_request_atomic +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x98a190a3 sdhci_enable_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x9baea879 sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa876ed40 sdhci_reset +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xac61283d sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xaffddde0 sdhci_set_power_and_bus_voltage +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb20b3915 sdhci_end_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb7c58c28 sdhci_set_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xbf74f8d0 sdhci_switch_external_dma +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc4c1f71d sdhci_cqe_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xcb04efe0 sdhci_request +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xcd08f08f sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd6772944 sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xde80c7c5 sdhci_reset_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe92d7d1a sdhci_set_uhs_signaling +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x032dbf89 sdhci_pltfm_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x265153bf sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x7c4d4c98 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x8d9faa27 sdhci_pltfm_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xb8af1bf8 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xc00edad9 sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xc60bfe00 sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xe09e8105 sdhci_get_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xf7ad951e sdhci_pltfm_clk_get_max_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x378f2335 tmio_mmc_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x41f8d5c7 tmio_mmc_do_data_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x51317555 tmio_mmc_disable_mmc_irqs +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x6dbc9192 tmio_mmc_host_runtime_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x7241ea9f tmio_mmc_host_alloc +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x927a4430 tmio_mmc_host_probe +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xaf70baa9 tmio_mmc_host_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xbe59e54a tmio_mmc_host_runtime_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xe5559700 tmio_mmc_enable_mmc_irqs +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0xe80d0c65 tmio_mmc_host_free +EXPORT_SYMBOL_GPL drivers/most/most_core 0x0d4e8065 most_deregister_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x12332cf9 most_stop_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x24ba49f1 most_submit_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x2c8bb1f6 most_stop_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0x2cee1095 most_put_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x2d314479 most_deregister_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0x2e0f3081 most_register_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x3785e9f1 most_deregister_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x59f4643a most_get_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xa53115c3 channel_has_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0xa5cedbf8 most_register_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0xe0b0af10 most_start_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0xe449c6d6 most_resume_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0xe67d4b8d most_register_component +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x12d6023c cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x2dff27d4 cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0xd0e10242 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x326bb520 cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x4c39fef0 cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0xc1927aa6 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xa3acd3a7 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x129052bd cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xab22623d cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xe822abe0 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x2da076eb hyperbus_register_device +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x7d241b58 hyperbus_unregister_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x040d6300 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x05929933 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x082a23ea __register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0fb7f242 mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1b059d9b mtd_ooblayout_set_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1bafb1c4 mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1d510938 mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2438b0b4 get_tree_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2595fe99 mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x36453fe8 mtd_ooblayout_get_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3bd4a50e __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x41b8fff7 mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x438ccc7b deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x478fa013 mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4cc11c04 mtd_erase_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4d288ff0 __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x50dabc2f mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5676d64e mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5d3fa963 put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5d71b9fa mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x627ce319 mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x685b9eef mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x693f2e22 mtd_ooblayout_find_eccregion +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x70195a04 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x70d76ad7 mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x70e56215 mtd_ooblayout_set_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x726bf5ef mtd_ooblayout_count_freebytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x92b93304 mtd_ooblayout_get_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x93f491e6 mtd_pairing_groups +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9d47adfd mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb1656349 mtd_pairing_info_to_wunit +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb1b591e2 mtd_ooblayout_free +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb32b42e8 get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb577fa80 mtd_read_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb6d02732 mtd_get_device_size +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb7075882 mtd_check_expert_analysis_mode +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xbec53a66 mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc1316750 mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc4f20d9b __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xcd436ae8 mtd_block_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd007a049 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd2f54c7f mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd868a05b get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdc94cfab register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xddc8461a kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe2230060 mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe4ab7f7f mtd_ooblayout_count_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe76b6425 mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe805a73e mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xf0cdeed5 mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfa344c6e mtd_ooblayout_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfe08f9cd mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfe50ee01 mtd_wunit_to_pairing_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfe8bcfee mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfeb13483 mtd_write_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x13bfab1e deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x3b9265e6 del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x6c66aecb register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xaacc4ff1 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xc90c85e5 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x05a87ff2 nand_ecc_restore_req +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x071657e7 nand_get_small_page_ooblayout +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x0cb4c3f4 nanddev_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x14f981f5 nand_ecc_tweak_req +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x166f8935 mxic_ecc_process_data_pipelined +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x17046262 nanddev_bbt_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x19e2e815 nanddev_ecc_engine_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x2512b571 nanddev_ecc_engine_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x278fd2bf nand_ecc_init_req_tweaking +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x2b46dc75 nanddev_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x402eb5f3 nanddev_mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x444430be nanddev_bbt_get_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x551bcdc7 nanddev_bbt_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x63bb9cd7 nand_ecc_cleanup_req_tweaking +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x74c43948 nanddev_markbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x853c3207 nanddev_isbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x89e23993 nanddev_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x94db624f mxic_ecc_get_pipelined_engine +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x950e073f nanddev_bbt_set_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x98e7718b mxic_ecc_put_pipelined_engine +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xa96ddf61 nand_get_large_page_hamming_ooblayout +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xb020f0b6 nanddev_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xb958a0ee nanddev_mtd_max_bad_blocks +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xcac84b4f nanddev_bbt_update +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xd9bfdd3a nand_get_large_page_ooblayout +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xffd882ce mxic_ecc_get_pipelined_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x09a2b039 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x9ed8404c onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x82bebc2d brcmnand_remove +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0xb012d391 brcmnand_probe +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0xfe514634 brcmnand_pm_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/denali 0xc6772425 denali_chip_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x11091291 nand_extract_bits +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x11ae052a nand_gpio_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x1ae0db00 nand_change_read_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x27191189 nand_change_write_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2d368c4c nand_subop_get_addr_start_off +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x3b6c1aea nand_status_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5632e63d nand_subop_get_num_addr_cyc +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5a6f8ca8 nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x69145fa4 nand_prog_page_begin_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x6f67bf5a nand_readid_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x77c66a14 nand_erase_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x7c29989c nand_deselect_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x7d550111 nand_read_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x7f7a52af nand_read_oob_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x819ad861 nand_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x8781860c nand_reset_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x901c8b66 nand_op_parser_exec_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xa6b496fe nand_write_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xbe15053d nand_prog_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xc2915fbf nand_select_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xc6262baa nand_read_page_hwecc_oob_first +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xcc0a1783 nand_ecc_choose_conf +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd3c672b8 nand_subop_get_data_len +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd41ff2ac nand_subop_get_data_start_off +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd7c0c2f5 nand_read_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xda3643cb nand_prog_page_end_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xe6784cf3 nand_soft_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xf041228b nand_reset +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xf5d28dd8 nand_decode_ext_id +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/sm_common 0x375fdf0c sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x578e9ced spi_nor_scan +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x7feb9f2d spi_nor_restore +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x0a3fba15 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x25a560d9 ubi_leb_read_sg +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x30783fae ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5460da8f ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x66011ab6 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7890a9c2 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x85a8ee76 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x8c0da98e ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xad1781c5 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xadb9599e ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xc1ab14a1 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xc7ceda9e ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xcafb6b5d ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xde8c2a4d ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf45545eb ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf5ee9ba8 ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xfba129da ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x0a65c89f mux_state_try_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x279fab57 mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x336b84a3 devm_mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x3571d6be mux_control_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x3968509d mux_chip_free +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x3cef36b2 devm_mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x47a1ec4c mux_control_try_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x54e7be6a devm_mux_state_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7cf08396 mux_state_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x8716972c mux_chip_unregister +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xa3dfc1ce mux_control_put +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xa408c2da mux_control_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xb26064aa mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xd269da84 mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xdf9d99e9 mux_control_states +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xf0f35f53 devm_mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xfa76e911 mux_state_select_delay +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x30f4fb75 arcnet_led_event +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x938a5c6a devm_arcnet_led_init +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x964b1974 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x9c8da7c8 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x9df53a40 c_can_power_down +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xc7382b78 c_can_power_up +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xeeb5d005 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xefd86d77 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x0ceaf439 unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x33fabcff register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xba268078 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xdc37891d alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x004db07d can_rx_offload_threaded_irq_finish +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x05101c20 safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x10d892eb can_get_state_str +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x130ea4bc open_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x156fbc9e free_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x16750c97 can_rx_offload_irq_offload_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1ad6a658 alloc_canfd_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1b8bce95 can_change_state +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x203de668 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x245984b7 alloc_candev_mqs +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x261f7b46 can_change_mtu +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x3246560d unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x3936bdd5 can_rx_offload_irq_finish +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4083bfea can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x49e55ab6 can_rx_offload_queue_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x5f1fc1f0 of_can_transceiver +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6047ede6 can_fd_len2dlc +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x8fc18c60 alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x95ebce41 can_rx_offload_queue_tail +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xa3daf1a0 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xab23aaf6 can_skb_get_frame_len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xbc56a246 can_rx_offload_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xbf22bb22 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xc5a4b424 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd0e48695 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd19b88ac can_rx_offload_irq_offload_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd3500400 can_rx_offload_del +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd58f32a6 alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xd883b718 can_rx_offload_add_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xdc37d1e8 can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xea535083 can_rx_offload_add_manual +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf0fa7373 can_rx_offload_add_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf12d9387 can_fd_dlc2len +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x0ff2fb12 m_can_class_register +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x548ca505 m_can_class_suspend +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x6a0f6f3b m_can_class_get_clocks +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x83671fb5 m_can_class_free_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x9b7e3d7c m_can_class_resume +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xa0da531b m_can_class_unregister +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xe3a6ed48 m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xf2e3bf72 m_can_init_ram +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x30cd4ac1 unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x5a067b65 alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x8ec7376c free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xd56accbb register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0xbb36d2a8 lan9303_indirect_phy_ops +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x0ca194e8 ksz_r_mib_stats64 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x14521304 ksz_phylink_get_caps +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x1c8f4b1b ksz_port_fast_age +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x3b7006b4 ksz_port_fdb_dump +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x3f6e3ba4 ksz_port_mdb_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x6753b263 ksz_init_mib_timer +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x6faaf73e ksz_mac_link_down +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7448e974 ksz_phy_read16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x771c6277 ksz_port_vlan_filtering +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x78774973 ksz_port_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x792f78c3 ksz_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x79418e77 ksz_port_mdb_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7a78bf5c ksz_port_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x88648dd8 ksz_port_mirror_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x8bd1c6f5 ksz_port_stp_state_set +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x8dbc3189 ksz_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xab94d8b8 ksz_port_bridge_leave +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xae0b672a ksz_get_tag_protocol +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xaf4482bb ksz_phy_write16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xbc310fd1 ksz_enable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xbdb9ec39 ksz_switch_chips +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xbe0200d8 ksz_get_stats64 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xd0c64610 ksz_port_bridge_join +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xd8608e8e ksz_port_mirror_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xe101d919 ksz_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xe9d94fbc ksz_update_port_member +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8365mb 0x7f7504f9 rtl8365mb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x02098327 rtl8366_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x08c59c8b rtl8366_enable_vlan4k +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x2497ccca rtl8366_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x35e5e604 rtl8366rb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x3f9be813 rtl8366_enable_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x4b545463 rtl8366_mc_is_used +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x7652c9f5 rtl8366_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x808b75c7 rtl8366_set_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xb71279a7 rtl8366_set_pvid +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xddeabe44 rtl8366_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xde21055d rtl8366_reset_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xe20a4a04 rtl8366_vlan_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/arc/arc_emac 0x134b83e8 arc_emac_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/arc/arc_emac 0x1708e915 arc_emac_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x45497b87 enetc_mdio_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x546c50c7 enetc_mdio_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x9b4fa172 enetc_hw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0xd9d61d6f enetc_mdio_lock +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x2b7b62d1 fun_alloc_ring_mem +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x36c930a5 fun_sq_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x4f3f52de fun_get_res_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x580ab129 fun_free_ring_mem +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x5d4ff149 fun_submit_admin_sync_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x6c2e5f06 fun_res_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xa9e5630f fun_serv_restart +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xaaa636db fun_bind +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xc499d3c5 fun_cq_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xf986e07c fun_serv_sched +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xfd2c6485 fun_serv_stop +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0x23724a62 i40e_client_device_register +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0xd6299754 i40e_client_device_unregister +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x13de0719 ice_del_rdma_qset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x2c623b87 ice_rdma_update_vsi_filter +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0xe3e25a2e ice_get_qos_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0xe6cfbac8 ice_rdma_request_reset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0xea2dab13 ice_add_rdma_qset +EXPORT_SYMBOL_GPL drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp 0x22da1115 otx2_ptp_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp 0x6960e05c otx2_ptp_clock_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp 0xbf7d2b84 otx2_ptp_tstamp2time +EXPORT_SYMBOL_GPL drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp 0xd115b611 otx2_ptp_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x01b6c1fa mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x02c06267 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x02cb9887 mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x04af1107 mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x09d6634d mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1377cb84 mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x13828ed2 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1cbc9e48 mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1dc61ef1 mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1ef26ba6 mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x21136f27 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2114a252 mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x235aadf4 mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x23b00cdb mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x23df67e8 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x28b2c3eb mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2946ebb1 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x294e8750 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2ade90bc mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2e087078 mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x30f82ce8 mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x34376005 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3519258e mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x35febe74 mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x36088d2d mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x385aa409 mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3b482948 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3cf35eb5 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x40c47566 mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4260d0cb mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x436394d1 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x43f04042 mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4642ce5b mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4845cd98 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x485cb2d9 mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x48e7edc9 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4d1bb3d6 mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4eb3a2a9 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5368c175 mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x58f3d72c mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x59ae6a33 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5ef4a789 mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x613e338b __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6247c10f mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x64963478 mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6b88eb33 mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6bb60c98 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6bde34fc mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6e11c79e mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7013f7ab mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x73263c9c mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7702717a mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x781cf586 mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7b45d655 mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7b65d370 mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7f28c905 mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7f4619c7 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x809582e1 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x84294008 mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x886a5a4f mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8bad87d2 mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8bd51d73 mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8c07e434 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8cd7c0e0 mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8d02436c mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8d811547 mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8f984188 mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9241fa09 mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x93192a47 mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x93ef5ad2 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x966ca914 mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9902dbd6 mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9fbda2b8 mlx4_get_base_gid_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa2b5e105 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa4ee2adb mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa834de94 mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa9bb83c7 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaa02b139 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xae15cdf8 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xae871534 mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaf4492bb mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaf5cd0cd mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaf8a4d1b mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb1008fed mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb1c8fa5c mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb23aeff0 mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb78a74c7 mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb7f89d53 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb84f100a mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb8a8b5d0 mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbb5785f5 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbc02fe99 mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc27278ec mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xca1bcdab mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcb58959a mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcdbe64b4 mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xce8cddb3 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd0f34679 mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd44a1be3 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd6dee2c7 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdaf1b134 mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdbcec4fa mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdec0ca0a mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe086104f mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe231fde3 mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe3aa4b82 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe6c5ed75 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe910a6a6 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe9a94e8b __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xec001bea mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef00cb7b mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef2f832e mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef773770 mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf0106492 mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf1e20e87 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf266d805 mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf5a38487 mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf69d8178 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf6a41159 mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf9468a47 mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xffbaeb73 mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x030c6bd1 mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x072460c4 mlx5_fill_page_frag_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0db23a36 mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0dfc6237 mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1232d21c mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x130ff46b mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x190abe00 mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x19a120b6 mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x19f14e3b mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1c928ea0 mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x23d80bcf mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x26e14680 mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x30fc63be mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x365934b8 mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3854df42 mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x39157294 mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3b149e91 mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3be81442 mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x46615c38 mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x46f74ab3 mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x541a1f66 mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x549ea1c8 mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x584449b1 mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x584d9c35 mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x58569f7c mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5ccd9943 mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5e547921 mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5f27fe81 mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x67d6323e mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6a8ca52c mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6acb3051 mlx5_query_module_eeprom_by_page +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6f53cabb mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x71cc9e85 mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x72146c78 mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x73347a10 mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7a5284cf mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7bb8d38a mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7d8d0f10 mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fc281f4 mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81aadc6a mlx5_fill_page_frag_array_perm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x83e111f9 mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x85c94862 mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x878cc464 mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x88ffd88f mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8e0e26a0 mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x915894d2 mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x99c4b63e mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa0d1e4b0 mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa45b6624 mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa5c39746 mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xac985200 mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xada86ba7 mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xae69eb67 mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaf230518 mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaf7d01d3 mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xafeef487 mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb9fcc8fb mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbd35751a mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc7a264f7 mlx5_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd493a652 mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd69c5e68 mlx5_query_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdcd9f2a1 mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdcf3b901 mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdf233109 mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe2040891 mlx5_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe3a839e2 mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe7157c87 mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf385fc5b mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfd9d98b6 mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x7aef0a19 ks8851_remove_common +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x8fd62652 ks8851_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0xab189a08 ks8851_probe_common +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0xeee0402b ks8851_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xcc4fa41a regmap_encx24j600_spi_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xe8c8c6c2 regmap_encx24j600_spi_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xfced1fbd devm_regmap_init_encx24j600 +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x036df3d4 ocelot_cls_flower_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1c56f5b9 ocelot_lag_fdb_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x28873cde ocelot_port_get_default_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x37289a16 ocelot_port_unassign_dsa_8021q_cpu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3e353c83 ocelot_mact_flush +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3ef31d7c ocelot_port_rmwl +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4335444a __ocelot_bulk_read_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4b5c860e ocelot_get_bridge_fwd_mask +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5ce8f21f ocelot_phylink_mac_link_up +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x671aeba3 ocelot_port_get_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x67277229 ocelot_port_set_default_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6d5fae28 ocelot_regfields_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x726a42e1 ocelot_port_mirror_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x779b3b75 ocelot_port_assigned_dsa_8021q_cpu_mask +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8219e29c ocelot_migrate_mdbs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x85a59192 ocelot_port_mirror_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8a782a16 ocelot_bridge_num_find +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb23d288c __ocelot_read_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb5af1b7d ocelot_port_writel +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbafca274 __ocelot_write_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbc3cf490 ocelot_phylink_mac_link_down +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbce129b8 ocelot_lag_fdb_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbd076e0a ocelot_regmap_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc3db7a60 __ocelot_rmw_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd4f96a04 ocelot_port_add_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd62853ef ocelot_cls_flower_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xdc27b584 ocelot_cls_flower_replace +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf77ebb08 ocelot_port_del_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf99f2020 ocelot_port_assign_dsa_8021q_cpu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xff38841a ocelot_port_readl +EXPORT_SYMBOL_GPL drivers/net/ethernet/qualcomm/qca_7k_common 0x0b28a9ad qcafrm_create_footer +EXPORT_SYMBOL_GPL drivers/net/ethernet/qualcomm/qca_7k_common 0x2b6ddf3f qcafrm_fsm_decode +EXPORT_SYMBOL_GPL drivers/net/ethernet/qualcomm/qca_7k_common 0x41da0375 qcafrm_create_header +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x13f00215 stmmac_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x46d124f8 stmmac_bus_clks_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x545572d4 stmmac_set_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x767f875a stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x8df89d69 stmmac_init_tstamp_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x91f44862 stmmac_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x92d778bb stmmac_get_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xb3adbd09 stmmac_dvr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x4987711a stmmac_pltfr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x76baa5c4 stmmac_probe_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x7b42ab03 stmmac_pltfr_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x9bc62d39 stmmac_get_platform_resources +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xf6f1104b stmmac_remove_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0x17f3dbbf am65_cpts_tx_timestamp +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0x405b51c2 am65_cpts_ns_gettime +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0x91fd3558 am65_cpts_rx_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0xb60b988a am65_cpts_estf_disable +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0xbfc83e4d am65_cpts_estf_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0xd6ea161d am65_cpts_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0xe0005c47 am65_cpts_prep_tx_timestamp +EXPORT_SYMBOL_GPL drivers/net/ethernet/ti/am65-cpts 0xfca9b9d9 am65_cpts_phc_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x4de826cf w5100_ops_priv +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x4fe038fa w5100_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x93680215 w5100_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x982cf24e w5100_pm_ops +EXPORT_SYMBOL_GPL drivers/net/geneve 0x298ee726 geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x1ebcdbf6 ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xa7902593 ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xa8522621 ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xa991b481 ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xce2aab3e ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/macsec 0xb13a7bc8 macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x81c542df macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x97807dba macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xa37bf287 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xeaa6db63 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/mdio/mdio-i2c 0xef260217 mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x4d4dd7fb net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/net_failover 0xccb352dd net_failover_create +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x04abf23f xpcs_do_config +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x07332b8c xpcs_destroy +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x33ae94f6 xpcs_get_an_mode +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x8947189e xpcs_link_up +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x9f2fe525 xpcs_config_eee +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0xde989935 xpcs_create +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0xe01b534c xpcs_get_interfaces +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x154d1c30 bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x172b9054 bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x19e91dbc bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x290fe3d5 __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x29935aad bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2a5d1922 bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2b699603 bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2c342c82 __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x301e3963 __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x3b84a345 __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x4166e080 bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x541d209d bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x56c4b7d0 bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5c425882 bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5d3d0f6c bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5dc7c5ae bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x67c46433 bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x73fcd32f bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x81436410 bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x8778ecba bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x9da6ac2f bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa279e3cd bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa83768d3 bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xafa300cb bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb50e76ac __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xcc11aaec bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd32e4da7 bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd34d1047 bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd3642151 bcm_phy_handle_interrupt +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd500705a bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd8b01317 __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe731d659 bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe9149a8e bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xf6175046 bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x12135396 phylink_mac_change +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x15c4e3e2 phylink_ethtool_set_pauseparam +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x16ca1a8a phylink_suspend +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x182541a9 phylink_ethtool_ksettings_get +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x4386cacd phylink_get_linkmodes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x51238154 phylink_mii_c22_pcs_an_restart +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5311aff9 phylink_mii_c22_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x57727285 phylink_ethtool_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x59e0695d phylink_speed_down +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5d0c4dcc phylink_speed_up +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5f66c280 phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x62104126 phylink_ethtool_set_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x6fa426d2 phylink_ethtool_nway_reset +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7ff80a42 phylink_fwnode_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x825c7340 phylink_get_eee_err +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x8df9a48e phylink_mii_c22_pcs_decode_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x911fcd6c phylink_start +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x9236789f phylink_mii_c45_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x983276da phylink_disconnect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xb28137ca phylink_connect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xb384c13e phylink_ethtool_ksettings_set +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xb5d4ee3b phylink_create +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc0a8f4be phylink_resume +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc1d15a4c phylink_set_port_modes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc85b7c9f phylink_mii_c22_pcs_encode_advertisement +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xcff1abd9 phylink_decode_usxgmii_word +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xdcb0a2c0 phylink_stop +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xde66f4a7 phylink_mii_ioctl +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xec02ebe0 phylink_init_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf3083a1d phylink_destroy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf418cf70 phylink_mii_c22_pcs_config +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf8fc9cd8 phylink_generic_validate +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf8fe5642 phylink_ethtool_get_pauseparam +EXPORT_SYMBOL_GPL drivers/net/tap 0x6f2e5e39 tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/tap 0x731226d4 tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x828c280a tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/tap 0x94f8ef96 tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0xa488a8b0 tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0xd092c980 tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/tap 0xdc6c182a tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/tap 0xf7052ee0 tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0xf95d56e9 tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x3a4352a9 usbnet_ether_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x48ff091a usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x9bf90eac usbnet_cdc_update_filter +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x9d9e26b8 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xb8239963 usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xe6b1f395 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xeee096c8 usbnet_cdc_zte_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x072992c9 cdc_ncm_bind_common +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x39d39deb cdc_ncm_rx_verify_ndp32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x3df14122 cdc_ncm_rx_verify_nth16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x400dc13d cdc_ncm_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x4bd0c5e2 cdc_ncm_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x5cfedeb5 cdc_ncm_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x62046318 cdc_ncm_fill_tx_frame +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x72e30c56 cdc_ncm_rx_verify_nth32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xc78f94a2 cdc_ncm_rx_verify_ndp16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xd2561540 cdc_ncm_select_altsetting +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xf14fce08 cdc_ncm_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/r8152 0x54d77a0d rtl8152_get_version +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x2731a961 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x3740fbad generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x488a4998 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x50f6dab8 rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x57546128 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x79abe06a rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x025c72f0 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x04ab4e03 usbnet_get_link_ksettings_internal +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0a3166e2 usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1a7a649f usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1b49af2b usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1e265a4d usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2676d8fa usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x292083a0 usbnet_write_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x29b4822c usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3783d0bf usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3ba205e6 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4cf1a126 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5a91fc2d usbnet_set_link_ksettings_mii +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x650a34f2 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6f7d01f3 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x70629538 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7280cecf usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x773b88aa usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8828857b usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9738a372 usbnet_write_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x9d6387a4 usbnet_set_rx_mode +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xab7eaff8 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbe9e9097 usbnet_status_start +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcdded279 usbnet_update_max_qlen +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xce30ccec usbnet_read_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd49c82d1 usbnet_status_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd939063a usbnet_get_link_ksettings_mii +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdd04c922 usbnet_write_cmd_async +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdea5ed8e usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdeb5f3ba usbnet_read_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe2a66542 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe53f43c8 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xedf06d63 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xff0e6afe usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x34754ace vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0xb13b13f1 vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0xbaf9607b vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0xbeaa617b vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0xafb627a7 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x493b52e3 il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x935bb58f il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x935c549a il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9b483d49 il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc758f622 _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5987fe45 iwl_fw_lookup_assert_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x71118edc iwl_fw_lookup_cmd_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x74778a2f iwl_fw_lookup_notif_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x1be17c57 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x46703dc4 p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x50cf7b92 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x556edae9 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x5f6219b2 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x85495aa7 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x8bdeab5b p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x9ccfb123 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xa3553a69 p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x062f6791 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x2739ecea lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x2990a471 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x2aae2f07 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x38636d8e lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x44c8de41 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x505e31c3 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x8356ce97 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x9a894e97 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x9b86c1c0 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xa566ede7 lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xbbcd7876 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xcf8cf173 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xdc034f8d lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xe4125a62 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xfd9b9378 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x3491f645 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x3fcbfeee lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x4d4a42af lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x4edeb29d lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x5f6e5b99 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x91e00b46 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xb7c705a9 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xd81a42e4 lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x0aff9340 mwifiex_prepare_fw_dump_info +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x21532c72 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x252f1a53 mwifiex_main_process +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x3146f299 mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x3d9a6807 mwifiex_deauthenticate_all +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x431038c5 mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x4335e573 mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x4a6e51d2 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x4b5222b8 mwifiex_dnld_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x645a8b43 mwifiex_queue_main_work +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x65e3b565 _mwifiex_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x717c4518 mwifiex_upload_device_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7a8ba30f mwifiex_reinit_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xa63123c2 mwifiex_fw_dump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xabc3c168 mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xae7b7012 mwifiex_multi_chan_resync +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xb8a278f4 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xba0adb31 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xbf658aef mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd4dad9f3 mwifiex_alloc_dma_align_buf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xdfa74869 mwifiex_drv_info_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xee8c6ab5 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf11e30db mwifiex_shutdown_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf2f72424 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf3479199 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x00fd9550 mt76_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x025389c6 mt76_txq_schedule_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x076ffd51 mt76_tx_check_agg_ssn +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x095d9343 mt76_sta_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0b1b4c6e mt76_seq_puts_array +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0ce0c8cf mt76_skb_adjust_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0f1236ea __mt76_mcu_msg_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x13b77c7d __mt76_set_tx_blocked +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x17f568e9 mt76_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1c7c4e77 mt76_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1ec57b4f __mt76_worker_fn +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1f8ac718 __tracepoint_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x20f0c927 mt76_token_release +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2155a4f2 mt76_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x25e697a4 mt76_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x26a23e0f mt76_sta_pre_rcu_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2895f33e mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2ba78df8 mt76_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x329df6db mt76_phy_dfs_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x33267d1d mt76_alloc_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x36175cb3 mt76_has_tx_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4594dccd mt76_ethtool_worker +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4628f2db mt76_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x467198a5 mt76_rx_aggr_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x510b6344 mt76_mcu_skb_send_and_get_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x54f64ad0 mt76_update_survey_active_time +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x557b049f mt76_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x59765e93 mt76_unregister_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5981dd60 __mt76_mcu_send_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5d1b4e42 __tracepoint_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5d217b63 mt76_put_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5defcdb0 mt76_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5ee4db23 __mt76_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6389454e __mt76_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x643db9e6 mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6bfcbd90 mt76_rx_aggr_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6c519b71 mt76_get_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x73de4fc2 mt76_update_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7473da23 mt76_register_debugfs_fops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x767580b2 mt76_register_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7c2f4415 mt76_set_stream_caps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fb207f3 mt76_get_min_avg_rssi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x805fc13a __SCK__tp_func_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x84e75aab mt76_wake_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8514ac30 mt76_tx_status_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x85309fd4 mt76_txq_schedule +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8532fa53 mt76_dma_rx_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8b9831bd mt76_get_sar_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8ca69f92 mt76_unregister_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8dc0018d __mt76_poll_msec +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8e51fdca mt76_alloc_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9074a9f8 mt76_insert_ccmp_hdr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9841d6e8 mt76_init_sar_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9885b09a mt76_get_of_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9c1d6873 mt76_csa_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9e81fa37 mt76_pci_disable_aspm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9eeb61ed mt76_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa3c7d722 mt76_tx_status_unlock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xad226dd1 mt76_tx_status_skb_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xaddf6c7d mt76_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb04a3cee __mt76_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb4abee16 mt76_mcu_send_and_get_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb7e9b99f mt76_tx_status_skb_done +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbc53a9f0 mt76_init_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbcc2f901 mt76_csa_finish +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbe84cea3 mt76_calculate_default_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc27841e9 mt76_mcu_get_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6315d8e __SCK__tp_func_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6634315 mt76_ac_to_hwq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc764d3a0 mt76_get_rate_power_limits +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xca4adcfb __traceiter_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xca8deaa7 mt76_dma_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xcaea4334 mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd4ba8bee mt76_mcu_rx_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd9e33c2c mt76_release_buffered_frames +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd9f7907b mt76_queue_tx_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdb86b326 mt76_get_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xddc7a69f mt76_eeprom_override +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdf8a6d5b mt76_sw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe2ae4da5 mt76_token_consume +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe40b66ef mt76_wcid_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe6fbb2e1 mt76_stop_tx_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf01d4c6b mt76_free_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf2d42a73 mt76_tx_status_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf360f1c7 mt76_tx_status_skb_get +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf385a96d mt76_set_irq_mask +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf6759d72 mt76_tx_worker_run +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xfddb100d __traceiter_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x001f50a5 mt76_connac_power_save_sched +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x0034b90c mt76_connac_mcu_sta_update_hdr_trans +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x0cdb2145 mt76_connac_get_phy_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x0e84fb77 mt76_connac_mcu_sta_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x1265dcd1 mt76_connac_pm_wake +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x138ca40d __mt76_connac_mcu_alloc_sta_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x147c75a2 mt76_connac_mcu_set_deep_sleep +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x17165dca mt76_connac_mcu_wtbl_hdr_trans_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x19f148eb mt76_connac_mcu_sta_ba_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x1c941082 mt76_connac_pm_queue_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x1cd09b54 mt76_connac_mcu_reg_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x1f69ec77 mt76_connac_mcu_uni_add_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x1fd2795d mt76_connac_mcu_wtbl_smps_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x21276db8 mt76_connac_mcu_chip_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x22217c07 mt76_connac_mcu_sta_ba +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x29c6d4ae mt76_connac_mcu_start_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2a0b017c mt76_connac_mcu_reg_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2bc2626d mt76_connac_mcu_init_download +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2eb1f60c mt76_connac_mcu_wtbl_ht_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x388c790b mt76_connac_mcu_beacon_loss_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x3fe6781a mt76_connac_mcu_set_mac_enable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x41ee34f2 mt76_connac_mcu_set_channel_domain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x463acc0a mt76_connac_mcu_set_vif_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x49150a78 mt76_connac_mcu_update_arp_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x55a24cb1 mt76_connac_mcu_bss_ext_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5b6396f0 mt76_connac_sta_state_dp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5cc4abe1 mt76_connac_mcu_sta_basic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x60ca793a mt76_connac_mcu_patch_sem_ctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6ad42f53 mt76_connac_mcu_bss_basic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7b16922f mt76_connac_mcu_set_rate_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7bb7703e mt76_connac_mcu_start_patch +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7c8fdf55 mt76_connac2_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x804a4ceb mt76_connac_mcu_wtbl_ba_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x87647917 mt76_connac_mcu_cancel_hw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x894b6799 mt76_connac_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x8ba89fc7 mt76_connac_mcu_set_pm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x908ca40c mt76_connac_wowlan_support +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x912dd96b mt76_connac_get_he_phy_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x932f1911 mt76_connac_pm_dequeue_skbs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x9869ef0e mt76_connac_free_pending_tx_skbs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x98e0c871 mt76_connac_mcu_set_suspend_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa9d13f14 mt76_connac_mcu_set_p2p_oppps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xb3681f9d mt76_connac_mcu_wtbl_update_hdr_trans +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xb43ae55b mt76_connac_mcu_update_gtk_rekey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xb7182437 mt76_connac_mcu_get_nic_capability +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xc04e42b8 mt76_connac_mcu_set_hif_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xc4cea14b mt76_connac_mcu_uni_add_bss +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xc65697ae mt76_connac_mcu_wtbl_generic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xce00c8e6 mt76_connac_mcu_hw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xcf765429 mt76_connac_mcu_add_nested_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xd1c24908 mt76_connac_mcu_alloc_wtbl_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xd727ce14 mt76_connac_mcu_bss_omac_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xd8bdb23f mt76_connac_mcu_sta_uapsd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xdc4b0999 mt76_connac_mcu_add_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xe20412f3 mt76_connac_mcu_coredump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf050b89c mt76_connac_mcu_rdd_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf1a66afe mt76_connac_mcu_sched_scan_enable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf33db6f8 mt76_connac_mcu_set_rts_thresh +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf577e66c mt76_connac_mcu_sta_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xfc95cb08 mt76_connac_mcu_sched_scan_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x028f6f1d mt76s_rmw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x07483440 mt76s_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x299734f9 mt76s_alloc_rx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x30aa2ba5 mt76s_sdio_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x46d2ae1c mt76s_alloc_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x63a1db90 mt76s_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x9158d9f3 mt76s_wr_rp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x984b31f4 mt76s_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x9be72890 mt76s_hw_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xb8514914 mt76s_write_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xb88ce6f7 mt76s_rd_rp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xc4e87366 mt76s_txqs_empty +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xc50b32f5 mt76s_read_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xcef8b711 mt76s_read_pcr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xd2f4724f mt76s_txrx_worker +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xe69ba3db mt76s_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x11dcabcf ___mt76u_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x2d288279 mt76u_stop_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x4f94d6ce mt76u_read_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x5013177e mt76u_alloc_mcu_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x502aee17 mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x8d47e92d mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x8e470345 __mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x8f2c22e0 mt76u_queues_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xa4222b9e mt76u_single_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xa8325837 mt76u_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xb773f9f9 ___mt76u_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xc83fd2c3 mt76u_stop_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xc9919661 mt76u_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xe5330a90 __mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x06b82308 mt7615_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x0898c767 mt7615_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x13c86fc3 mt7615_mac_set_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1b8fb520 mt7615_init_work +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1dd6c6b6 mt7615_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x2bd21ba9 mt7615_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3dbbbd05 mt7615_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3f1c04b4 mt7615_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x48c98295 mt7615_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4d6d54e3 mt7615_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4fbef60a mt7615_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x58ab412f mt7615_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x5dd3c46d mt7615_unregister_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x704823b1 mt7615_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7331ee07 mt7615_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7caea222 mt7615_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7de067c9 mt7615_tx_token_put +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x824e2723 mt7615_thermal_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8ba150f6 mt7615_txp_skb_unmap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x9d1ac93f mt7615_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xab501464 mt7615_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xad175df4 mt7615_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xb7b5d1ca __mt7663_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xba298318 mt7615_mcu_fill_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xc0b2c048 mt7615_wait_for_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd09dbf95 mt7615_rx_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xdc75ea77 mt7622_trigger_hif_int +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xdda78d1c mt7615_register_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615e 0x37f67fe7 mt7615_dma_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x0890c674 mt7663_usb_sdio_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x1506ffca mt7663_usb_sdio_reg_map +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x3d90cf9d mt7663_usb_sdio_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0xd72b7bce mt7663_usb_sdio_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0xdbbde5bd mt7663_usb_sdio_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x3039873b mt76x0_init_hardware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x47180710 mt76x0_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x4dae1fc5 mt76x0_phy_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x74e2f3cd mt76x0_chip_onoff +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x8f409a40 mt76x0_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xbe9dc37c mt76x0_set_sar_specs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xc28c2782 mt76x0_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0462ce68 mt76x02_add_rate_power_offset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0bbe19ca mt76x02_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0c32236c mt76x02_mac_set_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0d4023ec mt76x02_get_max_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0ff9dd8e mt76x02_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x116b31fa mt76x02_remove_hdr_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x17d1210b mt76x02_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1a2a33e0 mt76x02_phy_dfs_adjust_agc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x218faeaf mt76x02_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2613fd08 mt76x02_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x27b24538 mt76x02_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x35d2834d mt76x02_limit_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x37e7128a mt76x02_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3938874e mt76x02_mac_cc_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3a82b6ba mt76x02_dma_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3ab80065 mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3c7b0602 mt76x02_sta_rate_tbl_update +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x41a45450 mt76x02_mcu_set_radio_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x46ee03c7 mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x48f20f34 mt76x02_mcu_function_select +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x49656043 mt76x02_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4d17bdc3 mt76x02_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4ffbe03f mt76x02_mcu_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x51af14a8 mt76x02_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x53b5bcb6 mt76x02_get_efuse_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5bd84fd5 mt76x02_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6b12c127 mt76x02_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x71f857b1 mt76x02_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x72f6aa5b mt76x02_phy_set_txdac +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x766f5578 mt76x02_set_tx_ackto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8255ca93 mt76x02_set_coverage_class +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8310572b mt76x02_phy_set_band +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x862753f1 mt76x02_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x871c2919 mt76x02_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x89b35555 mt76x02_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8af5f323 mt76x02_set_ethtool_fwver +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8cceb6b2 mt76x02_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8ccfde83 mt76x02_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8de38a58 mt76x02_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x91d5b9ee mt76x02_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9478551b mt76x02_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x98cd7f91 mt76x02_mac_reset_counters +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9c42b8b8 mt76x02_phy_adjust_vga_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa1f56e76 mt76x02_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa4b05174 mt76x02_mcu_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa9f9065a mt76x02_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb1c2d3c2 mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb1dc58fa mt76x02_update_beacon_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xba6ab2ce mt76x02_get_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbcb026f5 mt76x02_dfs_init_params +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc02cef29 mt76x02_mac_setaddr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc1e70525 mt76x02_eeprom_parse_hw_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc7a7816f mt76x02_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc8b9a08c mt76x02_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcbd04ce6 mt76x02_edcca_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcd21ebc1 mt76x02_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd134bdc2 mt76x02_eeprom_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd58cb65b mt76x02e_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd5996534 mt76x02_get_lna_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd75370ff mt76x02_phy_set_bw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd756c633 mt76x02_ext_pa_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xda501e41 mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe327965a mt76x02_mac_wcid_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe5f58fcc mt76x02_tx_set_txpwr_auto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe9e4ec48 mt76x02_mac_shared_key_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xed458253 mt76x02_resync_beacon_timer +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xef0cf5ee mt76x02_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf0fb27ac mt76x02_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf6c96ea4 mt76x02_enqueue_buffered_bc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfa394b71 mt76x02_dma_disable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfcffcb54 mt76x02_init_agc_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x0cc3a928 mt76x02u_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x34a5c990 mt76x02u_mcu_fw_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x4e7548ef mt76x02u_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x5b674802 mt76x02u_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x648e0f62 mt76x02u_exit_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x7c08adb8 mt76x02u_init_mcu +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x946d7e04 mt76x02u_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xd1148542 mt76x02u_mcu_fw_send_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x087d1419 mt76x2_phy_update_channel_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x21c7944c mt76x2_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x23b4ed23 mt76x2_apply_gain_adj +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x475b183e mt76x2_reset_wlan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x5e0aa545 mt76x2_get_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x639b7773 mt76x2_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x6d3d5312 mt76x2_mcu_init_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x75055469 mt76x2_get_temp_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x798323f9 mt76x2_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fec50c5 mt76x2_mcu_tssi_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x8029d9ce mt76_write_mac_initvals +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xb54610e9 mt76x2_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xb63074e1 mt76x2_mcu_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xb82b4995 mt76x2_phy_tssi_compensate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xbbb4ce74 mt76x2_phy_set_txpower_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xc95b0182 mt76x2_mcu_load_cr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xcc8a0756 mt76x2_configure_tx_delay +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xd419c379 mt76x2_read_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xe3b88b02 mt76x2_get_power_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xfa130869 mt76x2_set_sar_specs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x052fa3e1 mt7921_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x1c68a48e mt7921_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x1cc6cbaa mt7921_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x29101307 mt7921_mac_sta_assoc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x2da4a07d mt7921_usb_sdio_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x2defb623 mt7921_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x3060f702 mt7921_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x3bf27bfe mt7921_mcu_drv_pmctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x4219677d mt7921_usb_sdio_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x491d2a74 mt7921_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x56c2a150 mt7921_tx_check_aggr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x5d259eb6 mt7921_mac_add_txs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x623a16e1 mt7921_mcu_fill_message +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x674557fb mt7921_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x8b221311 mt7921_mcu_fw_pmctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x8dacb77a mt7921_mcu_set_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x97d7c643 __mt7921_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x982978aa mt7921_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xb16b5cd9 mt7921_usb_sdio_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xd4ca59ba mt7921_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xe748cac6 mt7921_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xec36179e mt7921_mac_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xf0154009 mt7921_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xf34130d9 mt7921_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xf5b0ae1e mt7921_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x01131126 host_wakeup_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x090113b2 host_sleep_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x11022e60 wilc_handle_isr +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x3049d26f chip_wakeup +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x50360ced wilc_cfg80211_init +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xc40ccfdc chip_allow_sleep +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xcea6e808 wilc_netdev_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x08cb6bf9 qtnf_trans_handle_rx_ctl_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x31fab83c qtnf_chipid_to_string +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x479a48b4 qtnf_core_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x5cedc811 qtnf_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x6ca8a5b5 qtnf_wake_all_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x878ddc5a qtnf_core_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xcefe3139 qtnf_classify_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x026e0364 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0af475cb rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x138e3630 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x175fd27c rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x22cd80fb rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x24f1b91f rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x26624e0e rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x288fcad2 rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x36f0cacd rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x382ffc41 rt2800_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4086ca55 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x44609ea9 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4ba7ac7e rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4cdd81e8 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5239c1c1 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x559b0e0d rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x63787d01 rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x65e42330 rt2800_txstatus_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x66361c45 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x66728773 rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x694791c4 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7175c185 rt2800_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x838f0002 rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x852dbd5b rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8754efb1 rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x930c0c2f rt2800_pre_reset_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa13bec9f rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xa5d4a9c1 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xace2017a rt2800_get_txwi_rxwi_size +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xae705b95 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb2dcf979 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb89f72a0 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xbd1b5764 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc3f74698 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc6eb5c13 rt2800_txdone_nostatus +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc94a7f92 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd3946aea rt2800_get_key_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xda999723 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xdb7d15c9 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe00aec67 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe281a763 rt2800_txstatus_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe37f2ab2 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xeae5b57d rt2800_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xfe6980e9 rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x0943a38c rt2800mmio_fill_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x10591091 rt2800mmio_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x12504f3e rt2800mmio_init_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x21cab2bb rt2800mmio_init_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x29688b8e rt2800mmio_get_entry_state +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x32ac3645 rt2800mmio_rxdone_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x3d741c87 rt2800mmio_pretbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5028bbb2 rt2800mmio_tbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5140726b rt2800mmio_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fa4db64 rt2800mmio_interrupt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x6d790cc3 rt2800mmio_write_tx_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x97e3c029 rt2800mmio_autowake_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9f3c8921 rt2800mmio_txstatus_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xb7bc8d0c rt2800mmio_queue_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc14eb649 rt2800mmio_get_dma_done +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xc3e12929 rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xd1adc90b rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xd9ec3d22 rt2800mmio_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xf37164bb rt2800mmio_toggle_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xf556b3ae rt2800mmio_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xfa34a565 rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xff805697 rt2800mmio_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x08b4279f rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0b095e8c rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0bb36566 rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1050c2f0 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1275f8c3 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x18d44e67 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1e400fe6 rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x23093c73 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2d2fa5cb rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2f6604a3 rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x309323a3 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3357c087 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x397aa78b rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3d694c6a rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3f2be96b rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x46be05cd rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x480761b5 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4bee341a rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4bf806a4 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4fea38d2 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x57b06e3c rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5effcffd rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6609665a rt2x00mac_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x68ecd71a rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x69d9c7e6 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6fcf87df rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x71973ac3 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x75434297 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x75d9904b rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7e2a5693 rt2x00lib_set_mac_address +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x85c1d1b9 rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8b56b96c rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x91810f56 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x988dbf71 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa0a734ee rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa0ccf49a rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb0e93229 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb7959b5a rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xbb045cfe rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xbd7bf79f rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xbf7e79ee rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xc1bdfde2 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xccdf5c51 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xddf97858 rt2x00lib_txdone_nomatch +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xdffc6e1b rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xee15d068 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf47bca35 rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x093eeff7 rt2x00mmio_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x562a32ac rt2x00mmio_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x784ad3b3 rt2x00mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xc23a3471 rt2x00mmio_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xd99d2e5f rt2x00mmio_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x68c4f50d rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x73c0138f rt2x00pci_pm_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xbfe1abe5 rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x0540d82c rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x2161df71 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x3a438ae6 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x45d69df9 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x47b5d791 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x4cfb48f8 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x51d8b795 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7bc6b07d rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x92cb9a49 rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x96f9938b rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xa1d7ada3 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xc14cedd9 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xcea6b5c5 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xcfbd364f rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xd4830e92 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xfe87fc00 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x327113c7 rtl92c_set_p2p_ps_offload_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x37fbdfa6 dm_restorepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x46d29e6c dm_writepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x56756b14 dm_savepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x00d34281 rtl8723_phy_save_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x0ea8b7f2 rtl8723_phy_reload_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1cf7dbfd rtl8723_phy_mac_setting_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x28f3b9ec rtl8723_enable_fw_download +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x2a414b59 rtl8723_phy_rf_serial_read +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x301db912 rtl8723_dm_init_dynamic_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x314e02dd rtl8723_phy_query_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x3f5bf9c0 rtl8723_phy_calculate_bit_shift +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x4a269171 rtl8723be_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x4a2f7fdf rtl8723_cmd_send_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x4b3fff39 rtl8723_fw_free_to_go +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x57649d48 rtl8723_dm_init_edca_turbo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x62eab186 rtl8723_phy_reload_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x655f7ec1 rtl8723_phy_path_a_standby +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6a06e2f1 rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6c3c6477 rtl8723_phy_set_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x706a2c8e rtl8723_save_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x71ff6c86 rtl8723_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x816fa910 rtl8723_write_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x878a34d4 rtl8723_phy_rf_serial_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x8baf8913 rtl8723_phy_set_sw_chnl_cmdarray +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x95e8edea rtl8723_phy_pi_mode_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xd1d10ac0 rtl8723_dm_init_dynamic_bb_powersaving +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xdcd455b6 rtl8723_phy_path_a_fill_iqk_matrix +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xeaaad2ec rtl8723_phy_path_adda_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xec477f3b rtl8723ae_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xf2fb4edc rtl8723_phy_init_bb_rf_reg_def +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x14933e45 rtl_get_hal_edca_param +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1f918862 rtl_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x21af1de7 rtl_lps_enter +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x23e61f4c rtl_ips_nic_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x271128bf rtl_fw_block_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x28469c19 rtl_tx_mgmt_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2921a4d4 rtl_btc_status_false +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2a96cb7c rtl_efuse_ops_init +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2c798136 rtl_swlps_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2d32cdfc rtl_lps_change_work_callback +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2e5382f9 rtl_fill_dummy +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x325fb2cc rtl_action_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3de28263 rtl_p2p_info +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3eaaf77a read_efuse_byte +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4e94cd48 rtl_global_var +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x61f6935a rtl_tx_report_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6db3ba37 rtl_update_beacon_work_callback +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x70d56aee rtl_fw_page_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x79c695ab rtl_get_hwinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x84fe239d rtl_init_rx_config +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8c777a74 rtl_deinit_deferred_work +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x97e05663 rtl_tid_to_ac +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x99c05957 rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xaa3a493b rtl_deinit_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xbf0bc02b rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xcfa22b4d rtl_tx_ackqueue +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd299f4a0 rtl_deinit_rfkill +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe0756839 rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xe6d491e9 rtl_set_tx_report +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf3af625a rtl_init_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf65a7848 rtl_recognize_peer +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0f5c3ce9 rsi_zone_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x42f737c2 rsi_mac80211_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x6306a9f2 rsi_read_pkt +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x69681ec3 rsi_91x_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xc0380165 rsi_hal_device_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xcd173710 rsi_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xf87267b3 rsi_91x_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x0757fde2 cw1200_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x31567a39 cw1200_can_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x4a89c25c cw1200_core_release +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xce175d20 cw1200_core_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x670b93a3 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x68a1a9ac wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xb8d42d8d wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x06d3b27e wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x11de36bc wlcore_event_channel_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1512bc61 wl1271_cmd_data_path +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20351125 wlcore_get_native_channel_type +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20b6260b wlcore_event_inactive_sta +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x23fb1628 wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x23fd8e7a wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x28fc99ca wl1271_debugfs_update_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3554834b wlcore_event_max_tx_failure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x37c7b780 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x448f5b59 wlcore_event_ba_rx_constraint +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x47e17b21 wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4b96608b wl1271_tx_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x58b02a2e wlcore_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6249d93f wlcore_event_dummy_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x70fb5916 wlcore_event_roc_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x71269db1 wlcore_cmd_generic_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7470349d wl12xx_acx_mem_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7a21edb2 wlcore_cmd_wait_for_event_or_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7d4eb6fc wlcore_scan_sched_scan_ssid_list +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7ea22759 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7eca24d1 wlcore_scan_sched_scan_results +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x80cbe9b8 wlcore_disable_interrupts_nosync +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x81936754 wlcore_event_rssi_trigger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x85498cd1 wl1271_format_buffer +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9a25e8fc wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9b913327 wl1271_acx_init_mem_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9d6dec00 wl1271_acx_set_ht_capabilities +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9efa2991 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa46e3da7 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa47fb785 wlcore_set_scan_chan_params +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xabcd1a02 wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb7028534 wlcore_event_sched_scan_completed +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xc775e1ad wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcdec9240 wl1271_tx_min_rate_get +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xceb39dbf wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd6f7623e wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xd7ef2b43 wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xdcb4f493 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xdfc5b0f3 wl1271_acx_sleep_auth +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe4596d6e wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe79eac7b wl12xx_cmd_build_probe_req +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe8ee9a58 wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xee8858ee wl1271_acx_pm_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf50fd3e1 wlcore_event_soft_gemini_sense +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xf96f5716 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x1dbfd38a nfcmrvl_nci_unregister_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x346587e6 nfcmrvl_nci_register_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x3eced9d9 nfcmrvl_nci_recv_frame +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xfe5da43d nfcmrvl_parse_dt +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x06dc5a0c pn532_i2c_nfc_alloc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x33f7d1d6 pn533_rx_frame_is_cmd_response +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x4ca03444 pn53x_unregister_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x547d21ef pn533_finalize_setup +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xb3ede600 pn53x_common_init +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xc94256e0 pn53x_common_clean +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xcaa7e35e pn53x_register_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdecfd339 pn533_rx_frame_is_ack +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x0d092568 st_nci_enable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x4f15749e st_nci_hci_cmd_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x8ab60ec9 st_nci_discover_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x918bbbbc st_nci_disable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xa173618d st_nci_hci_load_session +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xc4270f92 st_nci_hci_event_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xdc873165 st_nci_probe +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xf252de7d st_nci_remove +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x5320fecf st95hf_spi_send +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xd0bb174b st95hf_spi_recv_echo_res +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xde82a1a3 st95hf_spi_recv_response +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x0862001f ntb_transport_tx_free_entry +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x30934216 ntb_transport_max_size +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x32537aca ntb_transport_link_query +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x3d54dbfc ntb_transport_tx_enqueue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x436098aa ntb_transport_link_down +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x82e6c13d ntb_transport_qp_num +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x897d2191 ntb_transport_create_queue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x9c992c8f ntb_transport_link_up +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xa3447db1 ntb_transport_register_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xc270dc24 ntb_transport_free_queue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xc37d9036 ntb_transport_rx_remove +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xd40e7a02 ntb_transport_rx_enqueue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xe72aa082 ntb_transport_unregister_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xf55d6313 ntb_transport_register_client_dev +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xf9eb813f ntb_transport_unregister_client_dev +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0x1572ad51 virtio_pmem_host_ack +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0xbe876675 async_pmem_flush +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x07eeb38f nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x0c383cec __nvme_check_ready +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x11abc494 __SCK__tp_func_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x139ea654 nvme_sync_io_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x19f81ee7 nvme_enable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1ca36a39 nvme_cleanup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2320c1d4 nvme_complete_rq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2673a13b nvme_cancel_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3984a3ee nvme_unfreeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3dc1402f nvme_delete_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4519678d nvme_try_sched_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4bb0b3e4 nvme_get_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5a5c2b3f __nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x60f6666d nvme_wait_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x61fd0ca9 nvme_stop_keep_alive +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6ac45f11 nvme_init_ctrl_finish +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x70425d71 nvme_cancel_admin_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x76656299 nvme_remove_namespaces +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7bef6475 nvme_start_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x801e591a nvme_reset_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x80b1e798 nvme_complete_async_event +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x813cf212 nvme_io_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x842a8944 nvme_stop_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x856e4b78 nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x86dc731b nvme_init_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8a3f7b7b nvme_change_ctrl_state +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8a9c70ed nvme_sec_submit +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8e7ec2b6 __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x940da994 nvme_set_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9924d299 nvme_start_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9e33c033 nvme_uninit_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9fcfe15c nvme_kill_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xbb0c1cf2 nvme_start_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xbc9859be __traceiter_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc12ed442 nvme_fail_nonready_command +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc2c3e4de nvme_host_path_error +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc2c42ce6 nvme_disable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xcfc390fc nvme_sync_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd45434ee admin_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd58bbbcb nvme_delete_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd84a0534 nvme_init_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xdaf61cdb nvme_complete_batch_req +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xdbc0fa52 nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xdd26d5c9 nvme_stop_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe3741628 nvme_stop_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe45fad57 nvme_setup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xeae5d06d nvme_set_queue_count +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf04bccbf nvme_start_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xff6242a5 nvme_wait_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xffd48768 nvme_cancel_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x192e5974 nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x1f6b965f nvmf_connect_io_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x207b1938 nvmf_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x274d4b1c nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x2a64c2db nvmf_ip_options_match +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x2f2f94cf nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x51c659eb nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x84f33fa3 nvmf_reg_read64 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xa1cdf17b nvmf_connect_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xe15a5346 nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xeff16833 nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x0d12e564 nvme_fc_register_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x241e9f72 nvme_fc_register_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x3884f8b8 nvme_fc_unregister_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x3e33ac54 nvme_fc_rescan_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x58e312f7 nvme_fc_io_getuuid +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x8a9cf5a7 nvme_fc_set_remoteport_devloss +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xbb0e18a6 nvme_fc_rcv_ls_req +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xfca9dc99 nvme_fc_unregister_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x1499355a nvmet_sq_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x19e50cfc nvmet_req_complete +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x1c11cf31 nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3666598d nvmet_req_alloc_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3e0ef07a nvmet_wq +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x4454bd87 nvmet_ctrl_fatal_error +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x4ef056e5 nvmet_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7b7b182f nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x82fa5e74 nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xd4e0a82a nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xf169a629 nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xfccf65b5 nvmet_check_transfer_len +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x0b98123d nvmet_fc_rcv_ls_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x1048b92a nvmet_fc_rcv_fcp_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x4a013682 nvmet_fc_invalidate_host +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x7fa5302a nvmet_fc_rcv_fcp_abort +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x9ef76d99 nvmet_fc_unregister_targetport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0xb2c816ca nvmet_fc_register_targetport +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0x1591b2c6 hyperv_read_cfg_blk +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0x221394ae hyperv_reg_block_invalidate +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0xe5f73406 hyperv_write_cfg_blk +EXPORT_SYMBOL_GPL drivers/pci/controller/pci-hyperv-intf 0xfb921e00 hvpci_block_ops +EXPORT_SYMBOL_GPL drivers/pci/controller/pcie-iproc 0x3d3fea65 iproc_pcie_shutdown +EXPORT_SYMBOL_GPL drivers/pci/switch/switchtec 0xce5f7b8d switchtec_class +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x0186f113 hisi_event_sysfs_show +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x1c6e1793 hisi_uncore_pmu_start +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x22ff1383 hisi_uncore_pmu_init_irq +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x2630bed0 hisi_uncore_pmu_del +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x3ec4fc27 hisi_uncore_pmu_online_cpu +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x74e87f77 hisi_cpumask_sysfs_show +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x8122940f hisi_format_sysfs_show +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x82f5913a hisi_uncore_pmu_read +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x84cda693 hisi_uncore_pmu_event_init +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x8b8f7738 hisi_uncore_pmu_stop +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x8f0ba087 hisi_uncore_pmu_identifier_attr_show +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x9667ae80 hisi_uncore_pmu_get_event_idx +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0x9670d2d6 hisi_uncore_pmu_disable +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xafa50ec1 hisi_uncore_pmu_enable +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xb6ffcc55 hisi_uncore_pmu_set_event_period +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xb87e7ae3 hisi_uncore_pmu_event_update +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xc92dccfa hisi_uncore_pmu_add +EXPORT_SYMBOL_GPL drivers/perf/hisilicon/hisi_uncore_pmu 0xfb6373d1 hisi_uncore_pmu_offline_cpu +EXPORT_SYMBOL_GPL drivers/phy/allwinner/phy-sun4i-usb 0x7019048e sun4i_usb_phy_set_squelch_detect +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x38802010 tegra_xusb_padctl_set_vbus_override +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x3df19521 tegra194_xusb_padctl_soc +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x56dcc74b tegra_xusb_padctl_put +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x631fcfd4 tegra_xusb_padctl_enable_phy_wake +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x744e22d3 tegra_xusb_padctl_remote_wake_detected +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x7e1e74a0 tegra_xusb_padctl_disable_phy_wake +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x806e940a tegra_phy_xusb_utmi_port_reset +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x90511268 tegra210_xusb_padctl_soc +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x93adbd6d tegra_xusb_padctl_disable_phy_sleepwalk +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x97060e0d tegra124_xusb_padctl_soc +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xa74885bd tegra_xusb_padctl_usb3_set_lfps_detect +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xb957c477 tegra_xusb_padctl_get +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xc36deb2d tegra_xusb_padctl_get_usb3_companion +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xd3b4e838 tegra_xusb_padctl_usb3_save_context +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xda48555d tegra_xusb_padctl_enable_phy_sleepwalk +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xe64ff681 tegra_xusb_padctl_hsic_set_idle +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0xefc77efa tegra186_xusb_padctl_soc +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-usb2 0x00d48f33 omap_usb2_set_comparator +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x90959fa6 mcp23x08_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xa0ee3b49 mcp23x17_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0xf9e6fce6 mcp23s08_probe_one +EXPORT_SYMBOL_GPL drivers/pinctrl/qcom/pinctrl-lpass-lpi 0x895d31e1 lpi_pinctrl_probe +EXPORT_SYMBOL_GPL drivers/pinctrl/qcom/pinctrl-lpass-lpi 0xfde49f52 lpi_pinctrl_remove +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x13cb1035 cros_ec_sensorhub_register_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x8376daa9 cros_ec_sensorhub_unregister_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros_usbpd_notify 0x6b1be500 cros_usbpd_unregister_notify +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros_usbpd_notify 0x8bda2df3 cros_usbpd_register_notify +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x06350c9f ssam_get_controller +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x0a254a13 ssam_controller_put +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x114f2963 ssam_controller_device +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x1a2ed73a ssam_device_alloc +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x30722325 ssh_packet_get +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x31059dea ssam_controller_statelock +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x3358213e ssam_request_sync +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x35d2ebbd ssam_request_write_data +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x39dfe486 ssam_controller_get +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x424dbc94 ssam_request_sync_init +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x506e653c ssam_device_driver_unregister +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x628f8b1f ssh_packet_put +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x7187966d ssam_client_link +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x731dfaea ssam_notifier_unregister +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x808fd3df ssam_notifier_register +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x82a87ed4 ssam_device_type +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0x9ef8c06b ssam_device_get_match_data +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xa9f7707f ssam_request_sync_submit +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xb4f0608c __ssam_device_driver_register +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xb52e0377 ssam_request_sync_free +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xba1e383e ssam_device_add +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xc126afbb ssam_client_bind +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xc2bd582d ssam_device_id_match +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xcc474aa7 ssam_bus_type +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xd0c5332f ssam_remove_clients +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xd66a2d93 ssam_controller_event_enable +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xdb7194fd ssam_controller_stateunlock +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xe47a0b38 ssam_request_sync_with_buffer +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xec29deb5 ssam_device_remove +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xf11120ed ssam_device_get_match +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xf1ba869d ssam_controller_event_disable +EXPORT_SYMBOL_GPL drivers/platform/surface/aggregator/surface_aggregator 0xf9cd281d ssam_request_sync_alloc +EXPORT_SYMBOL_GPL drivers/platform/surface/surface_acpi_notify 0x48cf4c48 san_dgpu_notifier_register +EXPORT_SYMBOL_GPL drivers/platform/surface/surface_acpi_notify 0xcc0a82ca san_client_link +EXPORT_SYMBOL_GPL drivers/platform/surface/surface_acpi_notify 0xd60bd773 san_dgpu_notifier_unregister +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x329090d8 devm_reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x4d6f0098 reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x71ee5a4f devm_reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0xd8583339 reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x290f2de3 bq27xxx_battery_update +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x61752559 bq27xxx_battery_teardown +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xec180395 bq27xxx_battery_setup +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x78fb45e8 pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0xad2bacd3 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0xdb57b8ab pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x2eae82b0 ptp_qoriq_isr +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x376d5834 ptp_qoriq_settime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x43be45af ptp_qoriq_adjtime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x643ae4c8 ptp_qoriq_adjfine +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x77ab69f1 ptp_qoriq_enable +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x7ccdeea2 ptp_qoriq_free +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xa40fa95f extts_clean_up +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xc7e409b0 ptp_qoriq_gettime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xd05a9a7e ptp_qoriq_init +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x8900443e mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xa4ed89cd mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xa7b673b6 mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xa7f0f531 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0xd983eca7 mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/rohm-regulator 0xfae5c15c rohm_regulator_set_voltage_sel_restricted +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x1ed37e92 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x6872d7ed wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x7f8041f1 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x88a18051 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xacc7a746 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xd96690af wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x7de31dd5 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x09436845 scp_get_rproc +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x0fdf0a7a scp_mapping_dm_addr +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x23066096 scp_get_venc_hw_capa +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x2626513a scp_get_vdec_hw_capa +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x540477b5 scp_get_device +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0xe59ca5b8 scp_get +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0xfd05e6dd scp_put +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x09313652 scp_memcpy_aligned +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x0adffe6c scp_ipi_register +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x1409749b scp_ipi_send +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x185e2505 scp_ipi_lock +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x5bf6576e scp_ipi_unlock +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x7aed7a96 scp_ipi_unregister +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x0fa538df qcom_register_ssr_notifier +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x1803c17f qcom_register_dump_segments +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x209b9b95 qcom_add_glink_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x257adeb1 qcom_add_ssr_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x394245e4 qcom_remove_ssr_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x6316104e qcom_remove_smd_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x8bdda20f qcom_add_smd_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xd0960c95 qcom_minidump +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xd6cc0cc0 qcom_unregister_ssr_notifier +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0xd7ddfa5c qcom_remove_glink_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_pil_info 0x30e58241 qcom_pil_info_store +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x0ac73ff9 qcom_q6v5_request_stop +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x2a4a8bde qcom_q6v5_prepare +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x3a9d3090 qcom_q6v5_unprepare +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x3a9fde4d qcom_q6v5_wait_for_start +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x85e9b34c qcom_q6v5_deinit +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x9db46dbf qcom_q6v5_init +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0xf13e0acf qcom_q6v5_panic +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0x1482d168 qcom_sysmon_shutdown_acked +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0xa881c6fc qcom_remove_sysmon_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0xe973e205 qcom_add_sysmon_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/mtk_rpmsg 0x6faffdb0 mtk_rpmsg_create_rproc_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/mtk_rpmsg 0x86903274 mtk_rpmsg_destroy_rproc_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x149236da qcom_glink_native_remove +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x6be59b74 qcom_glink_native_probe +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xf14f5684 qcom_glink_ssr_notify +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xfd2d5a1d qcom_glink_native_unregister +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink_smem 0x350cb2d4 qcom_glink_smem_register +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink_smem 0x72dd75d9 qcom_glink_smem_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0721eb05 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0f59975b cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x14a581c2 cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x174dc2a1 cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1cec6421 cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x29e1b035 cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2f506821 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x314ef900 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x32550f96 cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x43b06d88 cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x47cd6250 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4b9d9a19 cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5387be90 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5acd9b4b cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x60289d23 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x660341d6 cxgbi_device_find_by_netdev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x6dbcb9b6 cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x90c37e1c cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x92d757f4 cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa839d134 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa9c1c876 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaaa418c8 cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xab4a129d cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xab6ac317 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaca1bf19 cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xad260ff0 cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xad84242d cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaed2fe0d cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb0151b0b cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb04d69c3 cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb309cfcf cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb84e429e cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbaa7be07 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbb6d7445 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc011af75 cxgbi_ddp_set_one_ppod +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc2e04c48 cxgbi_device_find_by_netdev_rcu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc2f73bf4 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc3258ffb cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc38fc9c0 cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc8ca01bb cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd6062341 cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xde9605ec cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe2acfa7a cxgbi_ddp_ppm_setup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe339c070 cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe66fce2d cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x22ea4c87 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x25a33b48 fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2a7c42a9 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x40cc4642 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x42ba436f __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x57092c09 fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x60eddda9 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x792c88fe fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7db7c1ae fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x86f35d05 fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8b12e544 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8dc26310 fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8ee21fb4 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb218d73d fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbac58840 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc3f30cc0 fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc7164c19 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf167cb7a fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf34c0a46 fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x6aff710d fdomain_create +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0xeebaf7cf fdomain_destroy +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x02d70291 hisi_sas_sata_done +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x0f5a6f7b hisi_sas_slot_task_free +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x330f8a03 hisi_sas_sync_irqs +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x34ee2d79 hisi_sas_host_reset +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x3f659d23 hisi_sas_alloc +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x40ac648c hisi_sas_get_prog_phy_linkrate_mask +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x43943fed hisi_sas_scan_finished +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x4fc22123 hisi_sas_stt +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x50575f4d hisi_sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x65852a9a hisi_sas_phy_down +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x6a249e48 to_hisi_sas_port +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x77cbb71b hisi_sas_scan_start +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x78e9d359 hisi_sas_probe +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x7e965b16 hisi_sas_release_tasks +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x8923c637 hisi_sas_phy_oob_ready +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x89316cca hisi_sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0x9e6e4b99 hisi_sas_free +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xa834e278 hisi_sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xace115ee hisi_sas_controller_reset_done +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xad3e3d66 hisi_sas_remove +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xb03aa9c5 hisi_sas_rst_work_handler +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xbd72f078 hisi_sas_init_mem +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xc3a41131 hisi_sas_debugfs_dump_count +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xc928749c hisi_sas_stop_phys +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xd1c85159 hisi_sas_notify_phy_event +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xdc9cba14 hisi_sas_get_fw_info +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xe0d32391 hisi_sas_debugfs_dir +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xe330cb74 hisi_sas_sync_rst_work_handler +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xe987d9aa hisi_sas_debugfs_enable +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xebfae55c hisi_sas_get_ata_protocol +EXPORT_SYMBOL_GPL drivers/scsi/hisi_sas/hisi_sas_main 0xf90d8e8e hisi_sas_controller_reset_prepare +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x015a92da iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x77bc3fc0 iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x78eed944 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x8f6e5cd0 iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xa3d9d0e4 iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xaac8e5fc iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xf234fb2c iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0x344f6528 fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x01a83fc0 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x04015cc7 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0c9823d8 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0d29a474 iscsi_session_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0e5dbf61 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x14d61549 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x17f0125f iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x245098a5 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2b28062f iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2fad420a iscsi_suspend_rx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3858811b __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x38f24bd2 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x39d83d48 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3cb5d655 iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3db6c022 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x41bff2f2 iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x4a65c7af iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x65f26148 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6a03e623 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6b66ebe6 iscsi_conn_unbind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x73e40170 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x75a037b3 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x786ddf54 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7ba28db0 iscsi_session_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x82190211 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x877a8d2a iscsi_conn_queue_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d303b1b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8f04e005 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x97831744 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9ac97f5a iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9b5c657b iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9d4382ef iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9e279fa8 iscsi_conn_queue_recv +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xad22ace4 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xaeea6b0c iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xafa7c4c2 __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xafb00af8 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb104ef49 iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb2bb3469 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xb5528f48 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbfa35760 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbfb050d2 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc72a8a8d iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xca240e04 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcd034fde iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd9c5f4e9 iscsi_host_get_max_scsi_cmds +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xda0837a2 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeab9cbd5 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xecb39490 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf1b34887 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x07e58816 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0bf100f0 iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0ed75215 iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x176166a2 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4d91004d iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x59927261 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x70e007e3 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x8519f365 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x8f165868 iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x94943b0a iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xadbdd7bb iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb793b54c iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb8f4488c iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc244c58a iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xcfbc3bf6 iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xe99155a4 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xfbd9c081 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x01f8fbb4 sas_abort_task_set +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x02383db8 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x03b1d0d0 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x04992176 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0bad43d0 sas_notify_phy_event +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0cbc4688 sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1420915c sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x14b36195 sas_query_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x16629642 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x197a819a sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2258de6c sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x259e61df sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3009c0e3 dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x39867e89 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3c5d096e sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x461a899a sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4e3d48cf sas_notify_port_event +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x569708e2 sas_execute_internal_abort_single +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x59ef3dc2 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5d03552e sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6209a65f sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7c568ca2 sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x84b4d211 sas_lu_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x88a5846b sas_ata_wait_after_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8c9c9ccc sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x93b706ed sas_execute_ata_cmd +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xac8ea7fc sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb37d5c6c sas_abort_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb8f3c46f sas_execute_internal_abort_dev +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc162193c sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd28fea61 sas_clear_task_set +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe4b9ac1b sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe9a152c4 sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe9f04dc3 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf5924a7d sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfaea22ac sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xfbc8e9f0 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_fc 0x3df641fd fc_eh_should_retry_cmd +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x063fa1ba __traceiter_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x070807ab iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0736dd10 __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0b9b5d9c __traceiter_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x17c8ee91 iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x195d3c71 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1da669d2 iscsi_force_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x27c24f49 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x313901fa iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3785e561 __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x398dee88 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3fb45d44 iscsi_get_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x476daa96 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x48681dde iscsi_put_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4aa53827 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4b951bc7 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4f66a63f iscsi_alloc_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x52418cd7 iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x584a31ab __SCK__tp_func_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5bfaa2c3 __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x620a9fb2 __traceiter_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x650d067c iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6abb7349 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6ce0e139 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7082787c iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x71b768b0 __SCK__tp_func_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7205add4 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7abdb63e iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84a005f1 iscsi_get_router_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x87a0a964 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x88768c48 __SCK__tp_func_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8f9cdb0d iscsi_put_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x90f49113 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa3326712 __traceiter_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa5bca118 iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaa976bb3 __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xab4674c8 __SCK__tp_func_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb5f18887 iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb9265f7c iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb9a6a76a iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc071179 iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbe39a13a iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc214a3ed iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcfa60c2b iscsi_remove_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcffec5b2 iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd235c111 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd2826ea0 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd4e55f1e __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd6d17e93 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe0280874 iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe4c79fa6 __SCK__tp_func_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe5c80316 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe5d9d4d9 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe79b3e77 iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe7bdb4c5 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xebd53cd0 iscsi_add_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf1c6651b iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf4c0c4ec iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfaa54770 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfc905789 __traceiter_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x050d48e9 sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x3db063a5 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x98cac74f sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xaae231f1 sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x2644655d spi_populate_tag_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xcffa2aff spi_populate_width_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x0bf973fa srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x116d7569 srp_stop_rport_timers +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1902178a srp_tmo_valid +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x69b79b46 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x7da38903 srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x860b62fd srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xaa882ee2 srp_rport_del +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x37e57c63 siox_device_connected +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x519af204 siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x62f5e1b9 siox_master_unregister +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xbb09e0c2 siox_master_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xe83eae6f __siox_driver_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xecabeffd siox_master_alloc +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x1443e622 slim_msg_response +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x3118de92 slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x357cdbce slim_get_logical_addr +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x4ed6bc8f slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x519cd0aa slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x68372d9a slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6e135377 slim_stream_disable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x753a9306 slim_writeb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x76f0bfc3 __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x81b27ef4 of_slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x8260782f slim_do_transfer +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x8dcac571 slimbus_bus +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x939e62d6 slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x9c8e0ff3 slim_device_report_present +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x9e1249f3 slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xa1890eca slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xa5036cb9 slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xaad5a8ae slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xc14d2f02 slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xcc374e90 slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd01cffef slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd0d0d014 slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd19f8060 slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd370f440 slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xdfe39dd4 slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf4187fe6 slim_register_controller +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0x1990b3e6 meson_canvas_get +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0x494128eb meson_canvas_alloc +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0x673c5a86 meson_canvas_config +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0xfbd79150 meson_canvas_free +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0x2bee48da apple_rtkit_send_message_wait +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0x56abeaa9 apple_rtkit_wake +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0x8508c61e apple_rtkit_shutdown +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0x96a48e9a apple_rtkit_send_message +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0xa0fb42c7 apple_rtkit_boot +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0xa859d421 apple_rtkit_reinit +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0xe2d8a423 apple_rtkit_is_crashed +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0xf3b992ac apple_rtkit_start_ep +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0xf8b95289 apple_rtkit_quiesce +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0xf92843a1 apple_rtkit_is_running +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-rtkit 0xf9faab68 devm_apple_rtkit_init +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-sart 0x646576dd devm_apple_sart_get +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-sart 0xbaec16a4 apple_sart_add_allowed_region +EXPORT_SYMBOL_GPL drivers/soc/apple/apple-sart 0xf2253fbc apple_sart_remove_allowed_region +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x0261cd01 dpaa2_io_store_next +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x0b3a2f7b dpaa2_io_service_register +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x1b7c4023 dpaa2_io_service_rearm +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x2ea89927 dpaa2_io_service_pull_channel +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x2f10852c dpaa2_io_service_select +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x3f8992eb dpaa2_io_service_release +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x4994345c dpaa2_io_store_destroy +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x6560c60d dpaa2_io_service_acquire +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x79cf65a1 dpaa2_io_service_enqueue_qd +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x8bd848b7 dpaa2_io_store_create +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0x8edafa55 dpaa2_io_query_bp_count +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0xb9e81961 dpaa2_io_query_fq_count +EXPORT_SYMBOL_GPL drivers/soc/fsl/dpio/fsl-mc-dpio 0xe76e0b0c dpaa2_io_service_deregister +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x001e0af2 gpr_alloc_port +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x3dd22641 aprbus +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x7cfcbf7e __apr_driver_register +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x8d7249d4 gpr_send_port_pkt +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0xc31a37a8 gpr_send_pkt +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0xccf28c8a gpr_free_port +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0xec3f2807 apr_driver_unregister +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0xf87b35c6 apr_send_pkt +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x03c9a66d llcc_get_slice_size +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x0679b34d llcc_slice_getd +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x7e773088 llcc_get_slice_id +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0xad3516c4 llcc_slice_activate +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0xb534ec76 llcc_slice_deactivate +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0xb68b1300 llcc_slice_putd +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x34c9d0dd qcom_mdt_load_no_init +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x41c6fe35 qcom_mdt_pas_init +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0xd83477bd qcom_mdt_read_metadata +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0xe8a3861c qcom_mdt_get_size +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0xfc124593 qcom_mdt_load +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x81905d5c __sdw_register_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x919bd534 sdw_bus_type +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0xe918836f sdw_unregister_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-cadence 0x1f90977a sdw_cdns_debugfs_init +EXPORT_SYMBOL_GPL drivers/spi/spi-altera-core 0xa7908414 altera_spi_init_master +EXPORT_SYMBOL_GPL drivers/spi/spi-altera-core 0xb9edd149 altera_spi_irq +EXPORT_SYMBOL_GPL drivers/spi/spi-bcm-qspi 0x71b0147b bcm_qspi_pm_ops +EXPORT_SYMBOL_GPL drivers/spi/spi-bcm-qspi 0xb881d592 bcm_qspi_probe +EXPORT_SYMBOL_GPL drivers/spi/spi-bcm-qspi 0xc9aca4f1 bcm_qspi_remove +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x2ff4146d spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x4355aae9 spi_bitbang_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xa110e5fc spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xd61a7a5d spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xe2c5b224 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xee0d0f66 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x71e4efef spi_test_run_tests +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x93de988b spi_test_run_test +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0xdb2e99d2 spi_test_execute_msg +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x1442122c spmi_ext_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x16870641 spmi_command_shutdown +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x1cab9e7d spmi_command_sleep +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x38d35904 spmi_ext_register_readl +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x4f6abd94 spmi_command_wakeup +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x576b804b spmi_ext_register_writel +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x5ed908ea spmi_register_zero_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x6e1e6c96 spmi_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x75db4d61 spmi_command_reset +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x77bb2247 spmi_controller_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x84dac262 spmi_controller_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x8e74a613 spmi_controller_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x9d5b3b54 __spmi_driver_register +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xa1fa0c83 spmi_device_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xaad015f4 spmi_device_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xe2de3369 spmi_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xefb22ee9 spmi_device_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xf1693970 spmi_ext_register_write +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0x7c4e5047 ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x09575f30 anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x3d5ec521 anybuss_write_input +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x6f3d1c15 anybuss_client_driver_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7ab18748 anybuss_start_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x8f625378 devm_anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x9906a502 anybuss_client_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xa92aef44 anybuss_read_output +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xaea5ce04 anybuss_finish_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xaf3c6267 anybuss_recv_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xb1f44f6d anybuss_send_ext +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xb7c9c867 anybuss_set_power +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xc6e32e2a anybuss_send_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xed129682 anybuss_read_fbctrl +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xfce879ad anybuss_host_common_remove +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x05ad5408 fieldbus_dev_online_changed +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x069ba8d4 fieldbus_dev_area_updated +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x1e5f6f5b fieldbus_dev_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x2c52691e fieldbus_dev_unregister +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x1d13ea2d gb_audio_apbridgea_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x24b77d33 gb_audio_apbridgea_unregister_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x53727cc0 gb_audio_apbridgea_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x74db1fec gb_audio_apbridgea_shutdown_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7563fd3a gb_audio_apbridgea_shutdown_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x995caf2d gb_audio_apbridgea_register_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xa1acf737 gb_audio_apbridgea_set_config +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xa9b5d95c gb_audio_apbridgea_start_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xd2c3a18b gb_audio_apbridgea_stop_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xd37b435d gb_audio_apbridgea_stop_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xe12ef603 gb_audio_apbridgea_start_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xf8c6d14e gb_audio_apbridgea_prepare_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xf97e3398 gb_audio_apbridgea_prepare_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x27b17ccf gb_audio_gb_deactivate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x4519ffb6 gb_audio_gb_get_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x5393c1ee gb_audio_gb_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x542489d8 gb_audio_gb_set_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x57e02456 gb_audio_gb_activate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x728014ff gb_audio_gb_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x9f33e01f gb_audio_gb_set_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xa19a83c2 gb_audio_gb_disable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xb20de4d2 gb_audio_gb_deactivate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xb6323489 gb_audio_gb_get_topology +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xc25cbc4b gb_audio_gb_activate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xd89691e1 gb_audio_gb_get_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xe5586b28 gb_audio_gb_enable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x19e9e6b1 gb_audio_manager_remove_all +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x32e6391e gb_audio_manager_remove +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x4931d4cf gb_audio_manager_get_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x4dbc441d gb_audio_manager_put_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x5a108b0f gb_audio_manager_add +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x79eef2f8 gb_audio_manager_dump_all +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0xaeac8ca2 gb_audio_manager_dump_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0xde2d9b7c gb_gbphy_deregister_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0xe58e08b4 gb_gbphy_register_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x0631c818 gb_spilib_master_init +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x5036c33b gb_spilib_master_exit +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0xf3a0e5b4 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x17a74092 imx_media_free_dma_buf +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x20db84c1 imx_media_pipeline_subdev +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x2f3dc0f3 imx_media_capture_device_remove +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x300c04cf imx_media_probe_complete +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x3600affb imx_media_pipeline_pad +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x38905723 imx_media_find_subdev_by_fwnode +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x3afc4948 imx_media_find_pixel_format +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x407a9c39 imx_media_pipeline_video_device +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x534ba9e1 imx_media_find_mbus_format +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x5f1ae804 imx_media_add_of_subdevs +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x842e4096 imx_media_capture_device_error +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x899b9d90 imx_media_pipeline_set_stream +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x90338cfa imx_media_get_pad_fwnode +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xa631199b imx_media_grp_id_to_sd_name +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xa7c03731 imx_media_add_video_device +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xa9e2459f imx_media_enum_mbus_formats +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xabc777e3 imx_media_of_add_csi +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xba1c7b7e imx_media_mbus_fmt_to_pix_fmt +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xbe24ccd4 imx_media_capture_device_init +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xc0e6162e imx_media_init_mbus_fmt +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xcbffcda9 imx_media_pipeline_csi2_channel +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xd4e45b7e imx_media_try_colorimetry +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xe525987c imx_media_dev_init +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xe932b00b imx_media_enum_pixel_formats +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xecab8cf0 imx_media_init_cfg +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xed4309d1 imx_media_capture_device_register +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xf0465ed4 imx_media_alloc_dma_buf +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xf4363d71 imx_media_capture_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xf90dd31b imx_media_capture_device_next_buf +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xfd844c5a imx_media_find_subdev_by_devname +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0xfebceb71 imx_media_dev_notifier_register +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x030f5659 codec_hevc_setup_decode_head +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x115655e9 amvdec_am21c_body_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x1942f6ba codec_hevc_fill_mmu_map +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x1cb1e6d9 amvdec_am21c_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x3d7a84b1 amvdec_src_change +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x5ff35ee8 amvdec_am21c_head_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x61a7a5c4 amvdec_write_dos +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x6439f32d codec_hevc_setup_buffers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x684257bd amvdec_dst_buf_done +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x69e457d6 amvdec_write_parser +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x75d84c68 amvdec_set_canvases +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x78a8c45c amvdec_clear_dos_bits +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7d5525f0 codec_hevc_free_mmu_headers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x8d454820 codec_hevc_free_fbc_buffers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x8fbc4447 amvdec_dst_buf_done_idx +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x9ad032e2 amvdec_write_dos_bits +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xa09ef877 amvdec_get_output_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xa42c4aeb amvdec_read_parser +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xd2aa55f1 amvdec_remove_ts +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xd6639205 amvdec_read_dos +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xe398fa78 amvdec_set_par_from_dar +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xe5888c7d amvdec_add_ts +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xecdc4046 amvdec_abort +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0xfd19ea0a amvdec_dst_buf_done_offset +EXPORT_SYMBOL_GPL drivers/staging/nvec/nvec 0x584a67fd nvec_msg_free +EXPORT_SYMBOL_GPL drivers/staging/nvec/nvec 0xf7afe6e4 nvec_register_notifier +EXPORT_SYMBOL_GPL drivers/staging/nvec/nvec 0xfbab743d nvec_unregister_notifier +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x20a113f6 vchiq_mmal_port_connect_tunnel +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x2c7cc7f4 vchiq_mmal_component_disable +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x3e8320c1 vchiq_mmal_port_parameter_set +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x51b2baf0 vchiq_mmal_component_finalise +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x6192e1a2 vchiq_mmal_version +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x640f7469 vchiq_mmal_port_enable +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x6940b2ad mmal_vchi_buffer_init +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x7041c230 vchiq_mmal_component_enable +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x73577d20 vchiq_mmal_finalise +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x87693b53 mmal_vchi_buffer_cleanup +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0x9c731a89 vchiq_mmal_submit_buffer +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xaca4dd80 vchiq_mmal_init +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xadaf4760 vchiq_mmal_port_disable +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xb15b15bc vchiq_mmal_port_set_format +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xde8dc1c5 vchiq_mmal_component_init +EXPORT_SYMBOL_GPL drivers/staging/vc04_services/vchiq-mmal/bcm2835-mmal-vchiq 0xee4d66c5 vchiq_mmal_port_parameter_get +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x0afd7fe4 target_submit +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x3a60cc82 target_queue_submission +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0xc3a948ba target_submit_prep +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0xcfa769aa target_init_cmd +EXPORT_SYMBOL_GPL drivers/tee/tee 0x04218a79 tee_client_open_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x0852e772 tee_shm_alloc_priv_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0x1e283b17 tee_client_invoke_func +EXPORT_SYMBOL_GPL drivers/tee/tee 0x2597b7c9 tee_device_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0x2b95fd41 teedev_close_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x3f92f03d tee_get_drvdata +EXPORT_SYMBOL_GPL drivers/tee/tee 0x42fede2b tee_client_open_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0x5604b33d tee_client_close_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x5d18d809 tee_device_unregister +EXPORT_SYMBOL_GPL drivers/tee/tee 0x61a9b8c2 tee_shm_put +EXPORT_SYMBOL_GPL drivers/tee/tee 0x68560df4 tee_shm_get_pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7d4ff3fb tee_shm_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7e05d00d tee_shm_register_kernel_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0x85fd9922 tee_session_calc_client_uuid +EXPORT_SYMBOL_GPL drivers/tee/tee 0x87e3d14e tee_shm_alloc_kernel_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0xba883fd3 teedev_open +EXPORT_SYMBOL_GPL drivers/tee/tee 0xbc90ceb6 tee_shm_get_va +EXPORT_SYMBOL_GPL drivers/tee/tee 0xbcc16971 tee_bus_type +EXPORT_SYMBOL_GPL drivers/tee/tee 0xc0d0e338 tee_client_get_version +EXPORT_SYMBOL_GPL drivers/tee/tee 0xc6de4894 tee_shm_get_from_id +EXPORT_SYMBOL_GPL drivers/tee/tee 0xdfe50cad tee_device_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0xe7fd2b1d tee_client_close_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0xf7f015c7 tee_shm_pool_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x01d23ee1 tb_property_create_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x1aa4729e tb_register_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x21b388a7 tb_ring_alloc_rx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x2f4c9173 tb_ring_start +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x335bb378 tb_ring_poll +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x393b4f2f tb_property_free_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x3ddc295f tb_xdomain_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4a4148b2 tb_xdomain_find_by_uuid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4e5064a7 tb_property_find +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4e64bdfd tb_register_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x52672c76 tb_xdomain_disable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x5e66f232 tb_xdomain_alloc_out_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x603249ed tb_unregister_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x658e3d97 tb_property_add_immediate +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x68374140 tb_xdomain_response +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x73ad2acb tb_property_get_next +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x785eb82c tb_property_remove +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x87189f62 tb_xdomain_lane_bonding_disable +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x8b62f95e tb_property_add_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x8fb36a0d tb_ring_alloc_tx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x90548e23 tb_ring_stop +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x912ae3d9 tb_xdomain_release_in_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x94201f10 tb_xdomain_lane_bonding_enable +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x95034412 tb_unregister_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x99e6a2c6 tb_ring_free +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x9e83aa5c __tb_ring_enqueue +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa1df535b tb_xdomain_request +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa1eaa923 tb_ring_poll_complete +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa3d2b403 tb_property_add_data +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb4146a85 tb_xdomain_enable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb7c7cdce tb_property_add_text +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xd383c36a tb_service_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xd8ca232a tb_xdomain_release_out_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xee292f09 tb_xdomain_alloc_in_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf1cfd1ff tb_register_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf76028c7 tb_unregister_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xff990eb7 tb_xdomain_find_by_route +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x07d89fef ufshcd_dealloc_host +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x0a3ce9ec ufshcd_hba_enable +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x0db2e754 ufshcd_hba_stop +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x1a4d9d0d ufshcd_uic_hibern8_exit +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x2d3f0234 ufshcd_auto_hibern8_update +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x3b8a6b35 ufshcd_dme_set_attr +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x3ece177c ufshcd_init +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x4b3a05d4 ufshcd_release +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x52793289 ufshcd_resume_complete +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x560585b6 ufshcd_suspend_prepare +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x653ab25b ufshcd_clkgate_delay_set +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x723b1abf ufshcd_delay_us +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7a89f2e9 ufshcd_update_evt_hist +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x83cd8546 ufshcd_dump_regs +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x8b7dac20 ufshcd_hold +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x8c5f260b ufshcd_uic_hibern8_enter +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x8f460eac ufshcd_config_pwr_mode +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x95d7236f ufshcd_dme_get_attr +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xa3e66732 ufshcd_remove +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xcbcfced0 ufshcd_make_hba_operational +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xd04907b6 ufshcd_link_recovery +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xd9d75f8d ufshcd_dme_configure_adapt +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xf56c9846 __ufshcd_suspend_prepare +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xff2fbf54 ufshcd_fixup_dev_quirks +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x07751463 ufshcd_pltfrm_shutdown +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x54c946de ufshcd_init_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x88bcdda5 ufshcd_pltfrm_init +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0xff85cd6b ufshcd_get_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/uio/uio 0x6d94d8c1 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xc42c2c01 __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xc67c5de3 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xc7ff3100 __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x2a0a9c2b usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x710b21f7 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x0953daee cdns_drd_gadget_off +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x09def0f8 cdns_drd_gadget_on +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x1a274eb4 cdns_power_is_lost +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x39171600 cdns_resume +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x5510f4b3 cdns_suspend +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x59c4a490 cdns_clear_vbus +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x642d575f cdns_init +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x848664c1 cdns_set_vbus +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x90e3ede4 cdns_remove +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x60d0b3f7 hw_phymode_configure +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x7ec2606c ci_hdrc_remove_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x9abbadc1 ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xbb2dcb02 ci_hdrc_query_available_role +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x22c81d00 imx_usbmisc_set_wakeup +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x8d8bc4c2 imx_usbmisc_charger_detection +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x943de79f imx_usbmisc_init_post +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xb5a08108 imx_usbmisc_init +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xc305d2c6 imx_usbmisc_hsic_set_clk +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0xc833a14e imx_usbmisc_hsic_set_connect +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x10ca6bbe ulpi_unregister_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x335ac959 __ulpi_register_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x362ea837 ulpi_read +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x655f9293 ulpi_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x85a66895 ulpi_register_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x8a1f8af7 ulpi_write +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x1ad17b6f g_audio_setup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x22e87dc0 u_audio_stop_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x35e6fa51 u_audio_set_capture_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x478b81b5 u_audio_start_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x4e69273f g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x5319a7d0 u_audio_get_mute +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x6a822300 u_audio_stop_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x8916d563 u_audio_get_playback_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x949c65c4 u_audio_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x99ce3361 u_audio_start_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x99f18986 u_audio_get_capture_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x9c5da132 u_audio_set_mute +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xa8449544 u_audio_get_volume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xbe5eba19 u_audio_set_playback_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xee44fdc2 u_audio_set_volume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x1b4d767b gether_set_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x1c3e4687 gether_set_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x2821239d gether_set_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x52632dca gether_get_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x79bad4e4 gether_get_host_addr_u8 +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x8878cfa6 gether_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x8d9dd426 gether_get_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x918d3bf7 gether_setup_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xa52ba8c6 gether_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xa59171d8 gether_register_netdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xa9d0392b gether_get_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xbec88d0b gether_set_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xc4fbb7f9 gether_get_host_addr_cdc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xc77a09c2 gether_setup_name_default +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xd55d8794 gether_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xe604f506 gether_get_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xff9c507f gether_set_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x151b5af1 gserial_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x33bfdca2 gserial_alloc_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x4a3df9d0 gs_alloc_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x60db48f5 gserial_get_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x60ea48a0 gs_free_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x87cafd9d gserial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xb6652875 gserial_free_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xc0a01527 gserial_set_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xcb9bbc77 gserial_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xdf51cf7f gserial_resume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xe89dc424 gserial_alloc_line_no_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x2c33f677 ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x6c825859 ffs_lock +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x70d05375 ffs_single_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x141fce2a fsg_common_remove_luns +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x156e2bbe fsg_common_remove_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1710b539 fsg_fs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1ccb58f7 fsg_common_set_num_buffers +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x2933ee1d fsg_ss_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x3927302f fsg_show_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x398778e1 fsg_ss_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x3c6a07d0 fsg_common_create_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x3e184d03 fsg_show_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x423845e4 fsg_ss_bulk_in_comp_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x458e3d97 fsg_show_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x50790622 fsg_show_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x56344daf fsg_hs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x57a0085d fsg_store_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x5a529ec5 fsg_store_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x6acb4179 fsg_common_set_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7578c244 fsg_store_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7e26d4a5 fsg_common_set_sysfs +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x824686dd fsg_lun_fsync_sub +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x857b6dc2 fsg_hs_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x86a64f71 fsg_store_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x86ac9c22 fsg_show_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x8bcd239a fsg_store_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x95cffb3e fsg_hs_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x9a0221c7 fsg_common_free_buffers +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa04a9462 fsg_store_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa5cae92f fsg_ss_bulk_out_comp_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa5f99b69 fsg_fs_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xaa1ebfd2 fsg_show_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xab6c68ac fsg_config_from_params +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb3adf38d store_cdrom_address +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb52ba28a fsg_intf_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb54d0d95 fsg_fs_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xbbf0fa6c fsg_common_set_cdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xd1a3e8e0 fsg_common_create_luns +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xf3b5e47a fsg_lun_close +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xf4efc0c8 fsg_ss_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xfe43ba00 fsg_lun_open +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x222caa98 rndis_set_host_mac +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x260591b0 rndis_uninit +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x26deaf43 rndis_signal_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x492b43d6 rndis_signal_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x4f81b7d0 rndis_deregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x514f2500 rndis_set_param_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7c196950 rndis_set_param_medium +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7f93d6ac rndis_add_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x868de9ef rndis_rm_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x97e49c9c rndis_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xaec1b784 rndis_set_param_vendor +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xb5e7c82d rndis_msg_parser +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xc6a5d430 rndis_borrow_net +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xe681fbf0 rndis_get_next_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xeae8af1c rndis_free_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0809e9f3 usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0c589aba usb_validate_langid +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0cb7e477 usb_ep_autoconfig_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x141505f5 usb_get_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x189f01fa usb_ep_autoconfig +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x22f8bc74 usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2cf88c6f usb_add_config_only +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e09263f usb_copy_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x3026398c usb_add_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x35cbba08 usb_put_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4beb505d usb_gadget_get_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4da6b797 usb_put_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x59ab4fa6 usb_otg_descriptor_alloc +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5fe1793d usb_composite_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x676099e8 usb_add_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7d534a97 usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x80f7a338 usb_string_ids_n +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x872404d6 usb_string_ids_tab +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8fc2ed45 config_ep_by_speed_and_alt +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x904d65fd usb_otg_descriptor_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x9399aedb config_ep_by_speed +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x93efc5d5 usb_function_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x9422e306 usb_assign_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x99f369c6 usb_composite_overwrite_options +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x9f118bd0 usb_function_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x9fe523bd usb_interface_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa1d33ab5 usb_function_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb507a2e4 usb_composite_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb775db55 alloc_ep_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xba19e9b3 usb_get_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xc9d43b7e unregister_gadget_item +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd2ea2134 usb_descriptor_fillbuf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd755d74a usb_string_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf3c6898a usb_remove_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf474a207 usb_gadget_config_buf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf7403b4f usb_gstrings_attach +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf9ddfa49 usb_free_all_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xfa875914 usb_ep_autoconfig_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x2f69a866 udc_remove +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x3e1f2491 udc_mask_unused_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x443437a3 gadget_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x5d01d078 udc_irq +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x628ced7d udc_enable_dev_setup_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x90d9796b init_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x9cfdc3ba udc_basic_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xe02e0227 udc_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xe4a40234 empty_req_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xf5c8e82a free_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x01b12bfb usb_ep_free_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x029000cb usb_initialize_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x039a8088 usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0a8c3b4b usb_ep_set_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0acfe2e7 usb_ep_set_wedge +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0d90d784 usb_ep_fifo_flush +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x2861ba39 usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x29a9795f usb_gadget_set_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x40dfb1cb usb_gadget_vbus_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x49d9f030 usb_ep_fifo_status +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x49ff18d2 usb_udc_vbus_handler +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x4ef1ae1a usb_add_gadget_udc_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x506ab3a9 usb_ep_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x50b88f41 usb_get_gadget_udc_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x596e9860 usb_gadget_vbus_draw +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5fc294ef usb_ep_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x64884336 usb_gadget_register_driver_owner +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x65cabb3d usb_gadget_vbus_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x6c71b558 usb_gadget_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x6e5032dc usb_add_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x79122774 usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7a41b9f2 usb_ep_set_maxpacket_limit +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7be89624 usb_gadget_giveback_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x882077d5 usb_ep_dequeue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x888855f9 usb_gadget_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x8d69408a usb_gadget_unmap_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x8e5cff41 usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x8ee22689 usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x8f0061ba usb_gadget_frame_number +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9c57a04f usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9eb52803 usb_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9f9515b8 usb_gadget_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa9e74462 usb_ep_alloc_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xaf201fa6 usb_ep_enable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xb281d30f usb_gadget_udc_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xb57de1ef usb_del_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc6425036 usb_gadget_map_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc82892c5 usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xcb6565cf usb_gadget_check_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xde66655f usb_gadget_wakeup +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xdec54269 gadget_find_ep_by_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xf4b0a30a usb_gadget_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xfd1b8bb3 usb_gadget_set_state +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0xe21837cc renesas_xhci_check_request_fw +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x82b46388 ezusb_fx1_set_reset +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0xbc7d9db4 ezusb_fx1_ihex_firmware_download +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x10b55446 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x21de52b9 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x296a2010 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x2c802059 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x321a849f usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x4a8b7a15 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x562903e1 usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x5cef3ff5 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x6f622978 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x09492220 musb_mailbox +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x0b4a8834 musb_writeb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x149e170e musb_queue_resume_work +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x24d65cbd musb_root_disconnect +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x2734197f musb_readb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x669594ad musb_clearw +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x699099cd musb_set_host +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x6af8c6dc musb_writel +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x719a5e41 musb_readw +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xade3e56c musb_writew +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xbb34ca50 musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xe3150d07 musb_get_mode +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xe59efb0e musb_clearb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xf0f95e51 musb_readl +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xf85f8532 musb_set_peripheral +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x76203e9f usb_phy_generic_register +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x93006995 usb_gen_phy_init +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xcda83fdf usb_phy_gen_create_phy +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xda856789 usb_phy_generic_unregister +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xdca5fe8b usb_gen_phy_shutdown +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-isp1301 0x706c86e8 isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0x2f667559 tegra_ehci_phy_restore_start +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0x75b3fcfd tegra_usb_phy_postresume +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0xacd653d3 tegra_ehci_phy_restore_end +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0xd19adde5 tegra_usb_phy_preresume +EXPORT_SYMBOL_GPL drivers/usb/serial/usb_wwan 0xe915893f usb_wwan_port_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x053adc00 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0d90966f usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x161d4129 usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x2e99b180 usb_serial_generic_write_start +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x3d56ff57 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x4ab518b4 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x54c6629b usb_serial_claim_interface +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x71410c3b usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x808933b5 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9081dc39 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x9f383d96 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xae3edbcc usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xc142aeef usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xcc255f11 usb_serial_generic_get_icount +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xcda956f6 usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd00796d9 usb_serial_generic_wait_until_sent +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xd1e663b1 usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xfabe260f usb_serial_generic_chars_in_buffer +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xfcfea4e1 usb_serial_generic_tiocmiwait +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xfd7e9593 usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x40cef7e2 dp_altmode_remove +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x575a097b dp_altmode_probe +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x523c577e tcpci_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x6f497a3c tcpci_irq +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xbe111953 tcpci_get_tcpm_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xc529e32e tcpci_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x10ec6d2d tcpm_sink_frs +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x3b84657b tcpm_pd_transmit_complete +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x76eeda4b tcpm_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x9e0bd753 tcpm_pd_hard_reset +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xb655342c tcpm_pd_receive +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xc37b9769 tcpm_cc_change +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xceb50012 tcpm_vbus_change +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xdf94fcf0 tcpm_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xea220941 tcpm_tcpc_reset +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xeb779665 tcpm_sourcing_vbus +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x00996e3d typec_altmode_get_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0d2227c7 typec_set_mode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1598f70e typec_port_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x15ae0cfd typec_unregister_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x17969caa typec_set_pwr_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x18b3ef5e fwnode_typec_mux_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x20fd5383 typec_set_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2742c3b0 typec_mux_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x28500240 typec_altmode_put_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2d1e301d typec_find_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3531b527 typec_get_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x36b0894c typec_plug_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x390f35d8 typec_partner_set_num_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3a2a5bf6 typec_get_negotiated_svdm_version +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3cac3309 typec_set_vconn_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3ccdd706 __typec_altmode_register_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x402cdf03 typec_partner_set_svdm_version +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x418548dd typec_partner_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4ebaa210 typec_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x502fc34e typec_mux_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x55ace9ab typec_unregister_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x56e6fb42 typec_get_fw_cap +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x58833147 typec_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x61027f75 typec_partner_set_pd_revision +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x611b6af2 typec_register_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6b3d9465 typec_mux_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x70ca94cb typec_altmode_notify +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x74f3f5df typec_partner_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7b0d7db9 typec_unregister_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7df8024b typec_register_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8480b1b0 typec_altmode_exit +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x86521d45 typec_switch_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x89e9fc43 typec_register_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8fd1ea08 typec_altmode_attention +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9049491e typec_find_port_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x92a3f982 typec_altmode_vdm +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9c03746b typec_cable_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9c91c2d7 typec_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9e30a60d typec_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa254de98 typec_find_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa36e3130 typec_port_register_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa6a35642 typec_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa7adc2c6 typec_plug_set_num_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb9b72159 typec_mux_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbb9a5dba typec_unregister_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbee9117c typec_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc111a684 typec_altmode_enter +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc157541d typec_mux_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xcaee9704 typec_switch_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xcc1eea51 typec_cable_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd0fdb216 typec_altmode_update_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd2fa1286 typec_switch_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd3ca17c2 typec_set_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd57eba20 typec_altmode_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd735801c typec_altmode2port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe22a91dc typec_set_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe2bfa621 typec_altmode_get_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe64ee622 fwnode_typec_switch_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xeafc1eb8 typec_find_port_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf1234a8b typec_find_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf3475dd0 typec_cable_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf3e2f440 typec_cable_is_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xfc8df340 typec_mux_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xfed42ed7 typec_match_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x39dd79d6 ucsi_send_command +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x3f2c65a8 ucsi_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x80937b80 ucsi_connector_change +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x92c5c52a ucsi_register +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xa146e061 ucsi_destroy +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xa810d736 ucsi_resume +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xbf1fa631 ucsi_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xcfda26cd ucsi_create +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0xf5b8830b ucsi_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x1a314ee7 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x31326a7a usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x4666c4e8 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x49770dc0 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x5da65a0c usbip_recv +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x5fb8f5d2 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x64e19b28 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x8e65a7f6 usbip_event_add +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x96a198f4 usbip_start_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xa8335b24 usbip_in_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xadee730a dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xcb5db2e1 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xf4096f6b usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x0112b992 vdpa_set_config +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x02fc8cc4 vdpa_mgmtdev_register +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x188cbd7a vdpa_get_config +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x3d6fef77 _vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x4deccd55 vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x6b689df5 __vdpa_register_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x7e3471d4 __vdpa_alloc_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x85583c3f _vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xaea132ac vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xb159046f vdpa_unregister_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xbe835169 vdpa_mgmtdev_unregister +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa_sim/vdpa_sim 0x9efc3563 vdpasim_create +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0xb076efad mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x0a5e4e9b vfio_pci_register_dev_region +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x0e5a9c26 vfio_pci_core_init_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x1f51d9e1 vfio_pci_core_match +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x21fa63fe vfio_pci_core_aer_err_detected +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x263d7893 vfio_pci_core_ioctl_feature +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x272018b9 vfio_pci_core_close_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x27df9a20 vfio_pci_core_read +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x2d00f526 vfio_pci_core_finish_enable +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x334f5086 vfio_pci_core_sriov_configure +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x3cca3c5c vfio_pci_core_enable +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x4cf699b8 vfio_pci_core_set_params +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x4fba86d3 vfio_pci_core_uninit_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x605da9ef vfio_pci_core_mmap +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x638cb107 vfio_pci_core_ioctl +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x66d48da5 vfio_pci_core_err_handlers +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x68db5dc9 vfio_pci_core_disable +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x875faccc vfio_pci_core_request +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x9770fd6e vfio_pci_core_unregister_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xbd579cb8 vfio_pci_core_write +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xf463a549 vfio_pci_core_register_device +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x0f950fef vfio_platform_remove_common +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x18458ac7 __vfio_platform_register_reset +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x23b6bc8e vfio_platform_unregister_reset +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x8f721976 vfio_platform_probe_common +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x13415637 vfio_unregister_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x2469aaa6 vfio_file_enforced_coherent +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x281954dc vfio_uninit_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x30bad01f vfio_mig_get_next_state +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x5b7de7a7 vfio_register_emulated_iommu_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x60a634c4 vfio_info_cap_add +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x8127c819 vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x9bd3c242 vfio_file_has_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xa619763c vfio_register_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xbf17d5d5 vfio_file_iommu_group +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xd474129b vfio_assign_device_set +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xdebad560 vfio_init_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xfa1b5b1d vfio_register_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xfc2191d7 vfio_file_set_kvm +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x1aa9badd vfio_virqfd_disable +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0xe38bb76e vfio_virqfd_enable +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x08d0360a vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0be6f4f7 vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x10e18472 vhost_set_backend_features +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x14acbb85 vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1992cb0a vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x225b494d vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x2c8cfb08 vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x2f0620e3 vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x30eb9ad4 vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x36db047d vhost_disable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3734c3c8 vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x42a51e35 vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x444ea579 vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x47e8b9f7 vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4fc541bf vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5487c742 vhost_vring_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5bb43879 vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x619a005b vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x63b6cffb vhost_dev_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x713d40d2 vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x804b3846 vq_meta_prefetch +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x807691b8 vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8b9cff82 vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8e4957d0 vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8eeb73fd vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x9239d0b0 vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x97f94a4b vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa909cfc5 vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb1b903d0 vhost_clear_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb9a547a5 vhost_poll_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xbe8263b0 vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xcb3fd953 vhost_work_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd219a0c7 vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd2998b4a vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd8c07135 vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xd9710042 vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xddb36c16 vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe6dc91de vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xebe624f2 vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf359af5d vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfd2b3e45 vhost_dev_reset_owner_prepare +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfefa03b5 vhost_poll_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x38ff875f vhost_iotlb_add_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x69e872f9 vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x83be64b9 vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x885512a2 vhost_iotlb_add_range_ctx +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x8a7d8ee9 vhost_iotlb_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xa24517eb vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xc577832d vhost_iotlb_alloc +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xf9deb0db vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x0074fff5 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x20d354a2 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x303156f9 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x38466237 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x8ffeaa87 ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xb435f24c ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xcfbbd44b ili9320_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_ddc 0x85493d8e fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x7943f594 fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0xbe5baddc fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x2673a317 sis_free_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x510fe25f sis_malloc_new +EXPORT_SYMBOL_GPL drivers/w1/wire 0x047c350e w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0x1cc14571 w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x2c018997 w1_touch_bit +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63757e92 w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x76570f9d w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7de10226 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x8ab5357a w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x8cba8c82 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x9cf1f5be w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc8330e66 w1_triplet +EXPORT_SYMBOL_GPL drivers/w1/wire 0xdefea42b w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0xf873377d w1_write_block +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x13c94bd4 xen_front_pgdir_shbuf_alloc +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x39bb7412 xen_front_pgdir_shbuf_unmap +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x64cc72ff xen_front_pgdir_shbuf_map +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x8d6d8c0e xen_front_pgdir_shbuf_free +EXPORT_SYMBOL_GPL drivers/xen/xen-front-pgdir-shbuf 0x970ea3a0 xen_front_pgdir_shbuf_get_dir_start +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0x86c0e7b4 xen_privcmdbuf_fops +EXPORT_SYMBOL_GPL drivers/xen/xen-privcmd 0xb21a7f8f xen_privcmd_fops +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4b62826c dlm_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x647d6170 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x8554b8c6 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x85c83bb0 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcd224e1d dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xd14938b9 dlm_posix_get +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x1ad0f20d nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x2120c6f9 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x61daec18 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x95bd6425 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x97bebac3 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xcdfb3926 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xfdadae98 lockd_up +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0266a5dd nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0289e933 nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x02dea235 nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x038f3b72 nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03eacb8c nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x041840c4 nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0a52f7bd nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0b4981aa nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0c1b5b26 nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0d4d0998 nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0e0999ac nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10edc49a nfs_probe_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x11744293 nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x14be4164 nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x155d13aa nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x160832d7 nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1a4c0632 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1d9f3967 get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x20d19f75 unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x21b18f70 register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22d795a8 _nfs_display_fhandle_hash +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x247c477f nfs_file_set_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x259a1e77 nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26884ff7 nfs_alloc_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2784340f nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2888606f nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x28c0253c nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2a12455f nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2eef40c7 alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2f18a625 nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2f1d836c nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x30496988 __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x311a38bf nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3632ae62 nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x373d0c73 nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3f2690f2 nfs_check_flags +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40739385 nfs_wait_bit_killable +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x413d7b12 nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f2c81f nfs4_client_id_uniquifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x44cc3a41 __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x46fe605a nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x481bc0d6 nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4b0e3901 __traceiter_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb58514 nfs_set_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb9e001 recover_lost_locks +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cce8116 nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4f8c576f nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51892d61 nfs_callback_set_tcpport +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x53f2d55e __traceiter_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x54acd2e9 nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5560e37c nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x55ed72bf nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5673d9ea __traceiter_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x57b04d17 nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x57b6c00c nfs_check_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x57d9fd94 nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5865dbe5 nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x59923eb3 __tracepoint_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5b698b62 nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5d54793d nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x64759350 nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x668951c2 nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x678fbf25 nfs_flock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6ac7dd38 nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6cfd2091 nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e4a567e nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e81f032 __SCK__tp_func_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6f8b788e nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x72f4a8c8 nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x73d25449 nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x73dff4c0 __SCK__tp_func_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x751ccd66 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x77c4bcf8 nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7899337d nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7916e49b nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7938f307 nfs_d_prune_case_insensitive_aliases +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x797a951f nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c355fb4 nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c9722ba nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7cfd394d nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7db49b7b nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7e3b354d nfs_clear_verifier_delegated +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7f479c9e nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x800057c2 nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x80534a7a nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8499de4f nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x89c01774 nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8b40746b nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90466d91 nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90a5530f nfsiod_workqueue +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x911f3753 nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x91d1fe52 max_session_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x93ecb12c nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x94ee86bc nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x95007f7e __SCK__tp_func_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x95750021 nfs_wait_client_init_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x96222816 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98b0ece8 nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9a4408b2 nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9a9ee68c nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9c74cc8e nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9ccc1dd6 nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9fcea1f2 nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa02e3546 __traceiter_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa0bba9f8 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa5eb5d2e nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa71904db nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8e9e1ae send_implementation_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa9af587b nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa9d8a820 nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaaf23e39 nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaafd4acc max_session_cb_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xac4b79f4 nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xac8182da put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xae048c73 nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xae2f9f37 nfs_write_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb0208b47 nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb1868446 nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb469b9b7 nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb4bce95a nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb593b8f1 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbd8c39c2 nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbf37ba1b nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc1e9b731 nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a2be67 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc5126588 nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc6398dba nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc640e1be nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc65aa6b7 nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc6c8b8f1 nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc8448aab nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcbe2d45d nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcd1b5742 nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcd9dba54 nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd1a38123 nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd413b4f6 nfs_mkdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd55ad3b8 nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd77a7225 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xda53fc30 nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdae9b5d7 nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdca33f0e nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdccd980f nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdd5f5524 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdf90e6aa nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdfb907e6 nfs_alloc_fattr_with_label +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe70507df __tracepoint_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe7d4e032 nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe7dea37f nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xec2c45c7 nfs_access_get_cached +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xed03641f nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xedbc773c nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xeeafbfe2 nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xef5350de nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xefc4a74b nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf15027db nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf3cd3bbe nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf7743e50 nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf96f04c4 __SCK__tp_func_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf98d213c nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc0a6f10 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc619abd _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfd5fdbb4 nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0xebeeb10f nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x04502a3d nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x059bc99a nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x05e0f8fb pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x07762139 pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x08b2c467 __SCK__tp_func_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x09a35976 pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0a1081f6 pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0aebca68 __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0bb6e921 nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0f01076e __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0ff289f3 __SCK__tp_func_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x104169b8 pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x107d320e pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x16bbd7d5 pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1a3fffe9 pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2523296d pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x27ad47ea __SCK__tp_func_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x292105f7 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2a61a77c nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2c753dfd nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2e488c26 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x30a44ac3 __SCK__tp_func_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x32bb6e05 __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3396b9f8 nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x38539910 pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x458f00aa nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x495f8a99 __traceiter_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x49fc7f26 pnfs_error_mark_layout_for_return +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4b740f50 nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x51e2f606 pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x533c198f __SCK__tp_func_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x563df66f __traceiter_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x579126b8 __SCK__tp_func_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x59965fea nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5a15d509 pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5a4314e9 __SCK__tp_func_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5ce462a3 __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5e0decbb __traceiter_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5e299d78 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5e8a5f1d nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5f0c8258 nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6085edbd nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x61d4f5b8 nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x62c220c8 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x65c37650 __traceiter_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x663615bb nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6ef58055 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x785c06ab __SCK__tp_func_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x790cea68 nfs4_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7a4e7f4e __SCK__tp_func_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7ab7bcc6 __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7bde4b38 nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7cd013a8 __SCK__tp_func_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x82409884 __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x83ca0a98 nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x882d5891 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8adff3d8 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8c0accb0 pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8e936639 __traceiter_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x90bd7457 pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x92a0042f pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x92b930ce __traceiter_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x974a1614 __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x99b5a6b3 __traceiter_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9a1a74c3 __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9aab385f pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9c4dc225 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9dae9d20 pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9fc882b5 pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa0960ba5 pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa19cba40 pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa24f2071 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa309c34b __traceiter_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa3525c71 __traceiter_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xab731f01 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb06fa79a nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb0bc56b2 pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb92a6c8e pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb9490d20 nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xba53a1ef __SCK__tp_func_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbf77fb39 __traceiter_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbf893591 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc0dce745 __traceiter_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc14a57a8 pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc2b39231 pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc6e537cc nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc7a9d954 __SCK__tp_func_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc8591cad nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcea13ee9 nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcf29b95f __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd0ecfaad __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd19c2cb6 pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd9bea093 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdf6991a4 __SCK__tp_func_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe09a6c41 nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe0e2f195 nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe19f5ee0 __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe2803ff1 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe31ef1fa __traceiter_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xeae8522f __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xeb15a3fc pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xede41327 __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xeeeb8abd pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf0c3c626 __traceiter_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf7801360 nfs41_maxgetdevinfo_overhead +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf8897e10 pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf8cf6ac1 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf999267e pnfs_generic_commit_release +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1192568f locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x7b4075ba locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0xc41d8499 opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x287f78ab nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x3148e9a4 nfs_stream_decode_acl +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x4888921f nfs_stream_encode_acl +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x770f9aa7 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0xe4e017c3 nfsd4_ssc_init_umount_work +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x245f1078 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x41e09f7a o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x58c88ff2 o2hb_get_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x5e95a4b2 o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6a0c3847 __mlog_printk +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x9eb102e4 o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb6ebf62a o2nm_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbba4be90 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbd13ee5d o2hb_check_node_heartbeating_no_sem +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc12fa77e o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc4d99852 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd859ac8c o2net_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xde2c3daa o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf56c2017 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf815c98b o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf982e6db o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xfe1298f3 o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x3e6e38f5 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x42695ab0 dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x58a0b763 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xa33da0e0 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xc2e47521 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xf14626a8 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0a726931 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0cfd3fc5 ocfs2_cluster_connect_agnostic +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x1475f64b ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x54216dda ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x76f40744 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x80f4d418 ocfs2_kset +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x9507547f ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x9aabe49a ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xaf969565 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xc5196999 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xc9fae756 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xcafdd707 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd344e4ee ocfs2_stack_glue_set_max_proto_version +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd806a273 ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xdd424ee7 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x43cc3d4b pstore_blk_get_config +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x8c659ecb unregister_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x90be4649 register_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0xd50d7a9e unregister_pstore_zone +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0xee30cca1 register_pstore_zone +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_arc4 0xabd9af6d cifs_arc4_crypt +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_arc4 0xc4c73891 cifs_arc4_setkey +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0x798f3830 cifs_md4_init +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0xceecd9e4 cifs_md4_final +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0xdef1096d cifs_md4_update +EXPORT_SYMBOL_GPL lib/842/842_compress 0xcf048a91 sw842_compress +EXPORT_SYMBOL_GPL lib/842/842_decompress 0xa4adedf1 sw842_decompress +EXPORT_SYMBOL_GPL lib/bch 0x0c303f52 bch_encode +EXPORT_SYMBOL_GPL lib/bch 0x0d3e3481 bch_free +EXPORT_SYMBOL_GPL lib/bch 0x1a267fa8 bch_init +EXPORT_SYMBOL_GPL lib/bch 0x860a2eab bch_decode +EXPORT_SYMBOL_GPL lib/crc4 0x696b3a5a crc4 +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x0105b595 des_encrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x574eda34 des3_ede_decrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x856a5ef3 des3_ede_encrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa6aa9857 des_decrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa77b3b62 des3_ede_expand_key +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa8fb743d des_expand_key +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x39e8fa4b poly1305_update_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x4a833012 poly1305_final_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x8c874435 poly1305_init_generic +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x5a7b7e49 notifier_err_inject_dir +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0xb944bc69 notifier_err_inject_init +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x1803a6ed raid6_2data_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x804a5b70 raid6_call +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0xe4b051cf raid6_datap_recov +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x1d29b9e1 decode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x561835eb init_rs_non_canonical +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x63adbf92 encode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xa32f3d9e decode_rs16 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xeb2f825c init_rs_gfp +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xfd581da1 free_rs +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x764eac69 lowpan_header_compress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x79755bf5 lowpan_header_decompress +EXPORT_SYMBOL_GPL net/802/garp 0x2b79352b garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x8129296e garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x86a8797a garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x8d6f6a78 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xb7af8dcc garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0xfa7b982b garp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0x65ddf467 mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x7009367a mrp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0x8add1a26 mrp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0xaae71312 mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0xc34727b1 mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0xc3ad0923 mrp_request_join +EXPORT_SYMBOL_GPL net/802/stp 0x4047ca4c stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0xc172b4f1 stp_proto_unregister +EXPORT_SYMBOL_GPL net/9p/9pnet 0x13279664 p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/9p/9pnet 0xa26a1590 p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/atm/atm 0xb09faf79 register_atmdevice_notifier +EXPORT_SYMBOL_GPL net/atm/atm 0xcfb6a3da unregister_atmdevice_notifier +EXPORT_SYMBOL_GPL net/ax25/ax25 0x634d86ae ax25_register_pid +EXPORT_SYMBOL_GPL net/ax25/ax25 0xac93ae05 ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x2a99af97 l2cap_add_psm +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x2d46c4bf l2cap_chan_list +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x420244ce l2cap_chan_send +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x5331cc9c l2cap_chan_del +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x7be43296 l2cap_chan_create +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xc9524655 l2cap_chan_connect +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xe1ef3552 l2cap_chan_set_defaults +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xfaa24258 bt_debugfs +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xfafec157 l2cap_chan_put +EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0x63a86fc0 hidp_hid_driver +EXPORT_SYMBOL_GPL net/bridge/bridge 0x06f13abb br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/bridge/bridge 0x192b7599 br_vlan_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x278a387c br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0x293f9540 br_mst_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x2c4288ee br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0x3ecec394 br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x43df7360 br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x44eeddb6 br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x453b1e7a br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0x55d3fa17 br_multicast_has_router_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x690f0124 br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/bridge/bridge 0x69527415 br_get_ageing_time +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7633e5d4 br_mst_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7967d77f br_mst_get_state +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7ea8aada br_vlan_get_info_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x811c6e80 br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x85d96929 nf_br_ops +EXPORT_SYMBOL_GPL net/bridge/bridge 0x8abe9766 br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0x918f6eb3 br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0xa4f19122 br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0xc9063997 br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0xd34677c3 br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0xd935d7e2 br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0xeecb242a br_port_get_stp_state +EXPORT_SYMBOL_GPL net/bridge/bridge 0xf8169d85 br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/core/failover 0x50899359 failover_unregister +EXPORT_SYMBOL_GPL net/core/failover 0x61d8932e failover_register +EXPORT_SYMBOL_GPL net/core/failover 0xa12f14fe failover_slave_unregister +EXPORT_SYMBOL_GPL net/dccp/dccp 0x014a1f33 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x02849bed dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x045f9c08 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x076c3c11 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x08213740 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0e4fac9e dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x27d06393 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2bfc34cf dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x32a71d93 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x383775a1 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3dc4de8b dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4ae925c8 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6b45c5a7 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7dca4840 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x80993155 dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x84e2a494 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x88afb5df dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x953a1513 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x95e0e03a dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9aaed733 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9cf239c8 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa0804898 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa37b74fb dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa534a84c dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0xac1cecf4 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb54d138d dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbf89864b dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd1d3627c dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd1e530fc dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd5056058 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd75b7072 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdf7a4c2e dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xeda41eba dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0xeecece86 dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfcc7cf73 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x32a2389c dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x4e238700 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x8af2856a dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x8c7c072f dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xb71d2723 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xd9c8c7a2 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0b7d6add dsa_tag_8021q_standalone_vid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0b8fd651 dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0c6039ac dsa_flush_workqueue +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x100d04a2 dsa_devlink_port_region_create +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2d0a1c9c dsa_port_from_netdev +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2ddc565a dsa_tag_drivers_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x3e0c5338 dsa_tag_8021q_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x417d1fed dsa_8021q_rx_switch_id +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x45ca5090 dsa_tag_8021q_bridge_vid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x46ee27f1 dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5205d5d5 dsa_tag_8021q_find_port_by_vbid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x71d2919a dsa_tag_8021q_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7a207b9c dsa_devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x84247458 dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x883654c1 dsa_devlink_resources_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x8ad260e1 dsa_switch_shutdown +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x8e1f7869 dsa_switch_suspend +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x8f367659 dsa_unregister_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x900978e5 dsa_devlink_resource_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x97e7efe5 dsa_enqueue_skb +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x9e59271d dsa_8021q_rx_source_port +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xaff9f3c8 dsa_fdb_present_in_other_db +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xb61fc2c9 dsa_slave_dev_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xb64a7817 dsa_switch_find +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc23e8d5f dsa_devlink_region_destroy +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc93de32f dsa_8021q_rcv +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xcd58f0e7 dsa_switch_resume +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xced9cdd9 dsa_tag_drivers_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd077e855 dsa_devlink_param_get +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd3fb8c5b dsa_devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd414e22b dsa_tag_8021q_bridge_leave +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd54a0edd dsa_8021q_xmit +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd8250043 dsa_tag_8021q_bridge_join +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xe0095f45 dsa_devlink_params_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xe40be7d9 dsa_port_phylink_mac_change +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xe8d08d04 dsa_mdb_present_in_other_db +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf13e1803 vid_is_dsa_8021q +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xfd3e2b67 dsa_devlink_param_set +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xfff394bd dsa_devlink_region_create +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x20a4dc79 ieee802154_hdr_peek_addrs +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x37e3d121 ieee802154_hdr_push +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x74a195e1 ieee802154_hdr_pull +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x87e2553b ieee802154_max_payload +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x9142831b ieee802154_hdr_peek +EXPORT_SYMBOL_GPL net/ife/ife 0x6210e871 ife_tlv_meta_next +EXPORT_SYMBOL_GPL net/ife/ife 0x67db2029 ife_tlv_meta_decode +EXPORT_SYMBOL_GPL net/ife/ife 0xcc8d9f38 ife_decode +EXPORT_SYMBOL_GPL net/ife/ife 0xcf222b39 ife_encode +EXPORT_SYMBOL_GPL net/ife/ife 0xe7888e98 ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x3beb6564 esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x6a525efb esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x9dbf4d59 esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/gre 0xdf8bb96d gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xf1eda17d gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x0c866cd8 inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x4ececc0d inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x590956d1 inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x5a310dc9 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x91ac7bbe inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x9c1617d2 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xc13ed2ec inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xc39a3f13 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xe0f44311 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0x8bb1313a gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x00d843ea ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x0f65b67e ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x2e2d8b9b ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x2f0711fb ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x3e6320ee ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x474acf73 ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x5d13da8e ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x5e6aded2 ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x62b0c5e0 ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7c29bcde __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7e20e9c4 ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x8b940617 ip_tunnel_siocdevprivate +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x98fcf6cc ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xa8d94fe4 ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xda971870 ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xdea1ec09 ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xff2bb6c9 ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x91b999f9 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x47b55ca5 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0xd5e1f686 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0xf270bc81 nf_defrag_ipv4_disable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0xc62d5f94 nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x623c0125 nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x68fa5ccb nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x8905a7b6 nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xa2a6e5f6 nf_reject_skb_v4_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xba70c633 nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xe6d5687f nf_reject_skb_v4_tcp_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xf9cbc459 nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0x734b4307 nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x03e336bb nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x2bde7947 nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x66af373a nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x9f617fa0 nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0xf2b8453d nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x0aa5a008 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x24ab8bb4 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x7e67a323 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xd050f57c tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xde1a7ecc tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x11201968 udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x6966c0d9 setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x88b7644d udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x9e981bf2 udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xbd770179 udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xcd04beb0 udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xd91be04a udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xe5661d20 udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x53a8331d esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/esp6 0xb34e1170 esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/esp6 0xb5f4761e esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x1920cb77 ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x5b928c48 ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xc43f1bc5 ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x329d19d6 udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x90395f14 udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0xc87fad8d ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x1fecd934 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0xb31ef629 nf_ct_frag6_gather +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0xd00b5f28 nf_defrag_ipv6_disable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0x0f47f3f0 nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x4f34a66a nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x50d15156 nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x5c1ebe5d nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x713d0bd1 nf_reject_skb_v6_tcp_reset +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x7509514b nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x9141c725 nf_reject_skb_v6_unreach +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xa8f5d6b7 nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0xf42ce26e nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x09362498 nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x4382e829 nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xfe8f778c nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x26f07be8 nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x50ad94fb nft_fib6_eval +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x0e256197 l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x111702f2 l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x1708ef5e l2tp_tunnel_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x18fee954 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x21aa87ac l2tp_sk_to_tunnel +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x3cfce2c0 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x46ac0f17 l2tp_recv_common +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4838ecf6 l2tp_session_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4dc237af l2tp_tunnel_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x5834f87e l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x63ece762 l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x6cc3e3e8 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x8edf7847 l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa6d38d20 l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb66e8267 l2tp_session_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xbc59e8ae l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd31a8af9 l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe6476077 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf319e696 l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf3e82ece l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf5638d05 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_ip 0x07620bdb l2tp_ioctl +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0xba9c0128 l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x10b94a87 ieee80211_calc_rx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x11d13a75 ieee80211_iterate_stations_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x13f04acc ieee80211_update_mu_groups +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x16eb5a56 ieee80211_gtk_rekey_add +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x1b652ffb ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x29d1d71c ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x2cd2661d ieee80211_calc_tx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x369d28e1 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x3c99a7ab ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x4996686e ieee80211_iterate_stations +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x4d2a5d37 ieee80211_iter_chan_contexts_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5250cf98 ieee80211_tkip_add_iv +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x599efae6 ieeee80211_obss_color_collision_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x59c13bed ieee80211_key_mic_failure +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x659a63f1 ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x696e9f60 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x97a37d23 ieee80211_color_change_finish +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa1247034 ieee80211_remove_key +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa4b2b77e ieee80211_key_replay +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xad69271f ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xbafc08a2 ieee80211_hw_restart_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd1afd810 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd8e09da4 ieee80211_set_key_rx_seq +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xda59d870 wdev_to_ieee80211_vif +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xdab750b1 ieee80211_iterate_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe3ddd753 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xf09629ba ieee80211_iterate_active_interfaces_mtx +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x30404b97 nla_put_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x6129942e mpls_dev_mtu +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x6f703b54 mpls_output_possible +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x7670b536 nla_get_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xcead3a6e mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xd84b377c mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1ece3cd1 ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22d966c6 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x35c775d5 ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x38cf5867 ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x39718e18 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x445a1a88 ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x49082a3a ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4c52f4e7 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x61cce324 ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x77476afa ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x85e06d51 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x863e014b ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9e98722b ip_set_get_ipaddr6 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa293f8a6 ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xadb57dd3 ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc2a8cd91 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc85f7b17 ip_set_match_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc99bc415 ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xd3121fe6 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xdeab7cb0 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xe1daf93e ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf3b4d4ae ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf560b301 ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x25b8cd69 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x30d92c53 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xabbeb6a2 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xf2e77bae ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x74258561 nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x9f935a61 nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xa7eb1ea7 nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xa89cf554 nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xded40268 nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xe17a5b57 nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xf2a1dbb9 nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x014df444 nf_conntrack_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0306d531 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x06b05ec4 nf_ct_set_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x08695fc1 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x093537a2 nf_conn_pernet_ecache +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0aacc725 nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0bc00f80 nf_nat_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0fe7cd79 nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x16aa4f06 nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1ab30cdc nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2209d575 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x23bc48f7 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x26498843 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x26712cdc nf_ct_timeout_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x27560c43 nf_ct_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x28eff409 nf_conntrack_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x29459532 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2b9d60a9 nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x32a252a2 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3495312a nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x36fc01c8 nf_ct_netns_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3b9f3093 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x441e57a8 nf_nat_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4eda1c15 nf_ct_remove_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x50df60ef nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x51ae129b nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x55702972 nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a327bf1 nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5b175680 nf_connlabels_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5e2009dc nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5f2c38b8 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x60ed1a38 nf_ct_netns_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x63d04772 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x70005292 nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x72b7bcc6 nf_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x746d1e28 nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x759a1308 nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7867f372 nf_nat_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x79dc8c0b nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7af00f4a nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7b3767cb nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7d102d5d nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7e61f33e nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8136e6ce nf_ct_untimeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x840fe398 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8799f2c6 nf_ct_helper_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8972988b nf_ct_tcp_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8a0d515a nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x94b3a58d nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x95a5c832 nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9adb7399 nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9daadfc9 __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa1002e7d __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa33f9960 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa4a52233 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaf0847f0 nf_conntrack_locks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaf1bf0ac nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaf45cf56 nf_conntrack_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafbd6cf5 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb56bec05 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb72a89ff nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbc5c05e7 nf_ct_get_id +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbdba540e nf_ct_bridge_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc17c3bd3 nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc40f284c nf_ct_helper_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc443f4f6 nf_ct_ecache_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc82a4195 nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xca02cd3d nf_ct_seqadj_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xca281585 nf_nat_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xce8d28a4 nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd18651a8 nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd505c3e0 nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd5fd58f1 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd7e35813 nf_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd9bffac8 nf_connlabels_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdb131885 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdba7326b nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdef05b72 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf0aed48 nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe0867c0e nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe16ebdf1 nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe77b2482 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec8beba6 nf_ct_expect_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xece9a183 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf1a2f6a8 nf_ct_acct_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf89bc361 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf953d5b7 nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf9ca8237 nf_ct_set_auto_assign_helper_warned +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfa0a7be9 nf_ct_delete +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe731af8 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x8fa3914f nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0xd094ad88 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0xa9f226b0 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x2c851e35 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x54ebd9e1 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6978f661 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa7b23114 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xab44d5c1 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xada2bfb9 nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xae3287db set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xd9266975 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xdc15f6a6 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf41a4bf9 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x9d38fe57 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x2d973e1b nf_nat_pptp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x1896199f nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x30f3b54f ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x5e462099 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x92bcc9f6 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xde7d4dcc ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe2c63d0b ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf0fceb6f ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x06965302 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0xb9213629 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x12fcd866 nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x2ecf6e6b nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x77cc588a nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x12fe87c4 nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x272c9897 nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x299b00a4 flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x2a1af3b2 nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x2f890c6a nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x58643de4 flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x6723da4c nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7a98e72a flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x8300e113 nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x8ffe7887 nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x96961621 flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x9db8b306 flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xa278468a flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xb385e172 flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xcbc0d206 nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xea02aa74 nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xec506fc2 nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x0cc2c888 nf_nat_icmpv6_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x1198592a nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x2320d188 nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x29a5c932 nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3bc17c49 nf_nat_masquerade_inet_register_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x6a1e1836 nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7508ddb4 nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7558ee4f nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x92437a35 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x9f086821 nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xa5641b92 nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xa891dad5 nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xabba5d6a nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xbba95c94 nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xbbc5f588 nf_nat_ipv4_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd9c25654 nf_nat_masquerade_inet_unregister_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xdd0336a1 nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xed91374d nf_nat_ipv6_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1f099794 synproxy_init_timestamp_cookie +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x2eeca383 synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x322d2c9b nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x47a711a1 synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x49271d66 synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x54787bca nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x737949bb ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x85718688 nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x9972ce1c ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xb19fb643 synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xca9fc082 synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xdb53a225 synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xe324d1d9 nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x06c6ca47 nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x07392131 nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0a9ac548 nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0ac52221 nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x137e64b6 nft_register_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x20137410 nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x24d41a3d nft_set_catchall_gc +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2a88043b nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2aa03217 nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2c08e615 nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2d21a3e3 nft_set_catchall_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2f29166f nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x300fb8a5 nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3251d762 nf_tables_trans_destroy_flush_work +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x377297eb nft_request_module +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x38082a48 nft_expr_reduce_bitwise +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3bfbadf7 nft_reg_track_cancel +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x41b71e65 nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4758d72a nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x49e8355f nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x56b5d5e2 nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x56de1ecd nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5b9d07cd nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5d0f4059 nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5fb53a4c nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5fdc7958 nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x615021cc nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x66b82775 nft_parse_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x68534789 nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6d1811a6 nf_tables_activate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7ef89396 __nft_reg_track_cancel +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8d80ea3a nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9d55bd9b nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9de4ec01 nft_meta_get_reduce +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa6f1c01c __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xaca2f4b5 nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xad701f31 nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xae47eb8d nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb37e64bd nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb43d4d18 nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xbdc92e40 nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xbdccb3ef nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xc06d7114 nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd30154d1 nft_reg_track_update +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdae39728 nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde57b5f5 nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe2b8cc13 nft_parse_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xee975040 nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf64a6ee4 nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x00a4d5cb nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x4bd77531 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x6a3a3c41 nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xb91f408e nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xdb065657 nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xdc297912 nfnetlink_broadcast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xe4496e69 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xe454e80b nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x4c4fc851 nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x531f7eef nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xb96d8cda nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x35eff5e0 nf_osf_fingers +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x498a3ec8 nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0xb4946c69 nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x0d7e12a3 nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x64e7f3fa nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x79569ba9 nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x9dbf1d3e nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xa4315979 nft_fib_reduce +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x17ce6aee nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x6081751d nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x787484c1 nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x9e014615 nft_reject_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xe2c84666 nft_reject_icmp_code +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x04e27719 xt_compat_flush_offsets +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x233e42bc xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x23ae4858 xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3f48e47a xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3fd41d58 xt_register_template +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x49266072 xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x49b59e69 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x551418dc xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x670fe9c0 xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6a0be6b8 xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6d3c8aa9 xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x753f494c xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7bce4603 xt_data_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x823edea5 xt_compat_add_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8f1fde5f xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x96098671 xt_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9c995c69 xt_percpu_counter_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa6250b96 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa7c94f1d xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xac88019d xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfacb837 xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc1ba47f2 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc7620e9f xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc7fae024 xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xcba1cddd xt_unregister_template +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd1e246a2 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd3fcc511 xt_tee_enabled +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd9bb821b xt_copy_counters +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddf68fc6 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe255ff8c xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe76acc46 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf18a5d4c xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf5d71d27 xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf9e5ffb1 xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x11b8acae xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xac76a46e xt_rateest_put +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x61c1b330 nci_spi_read +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x895a98c5 nci_spi_send +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0xa8b3c633 nci_spi_allocate_spi +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x6181fad7 nci_uart_unregister +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xde016c16 nci_uart_set_config +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0xe016eda4 nci_uart_register +EXPORT_SYMBOL_GPL net/nsh/nsh 0x4e550bfc nsh_push +EXPORT_SYMBOL_GPL net/nsh/nsh 0x77dc7c33 nsh_pop +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x659d3f61 ovs_vport_free +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x696f48f3 ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x87be5681 __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x9c786015 ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xb9092701 ovs_netdev_link +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xe881bfdd ovs_vport_alloc +EXPORT_SYMBOL_GPL net/psample/psample 0x55cf0fbf psample_group_take +EXPORT_SYMBOL_GPL net/psample/psample 0x613346f0 psample_sample_packet +EXPORT_SYMBOL_GPL net/psample/psample 0x91e7a4f2 psample_group_get +EXPORT_SYMBOL_GPL net/psample/psample 0xf0b6a3e5 psample_group_put +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x4cbe60be qrtr_endpoint_unregister +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x724d495a qrtr_endpoint_register +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x8d25501f qrtr_ns_remove +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x8e1c5f27 qrtr_endpoint_post +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xa47e91ba qrtr_ns_init +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x199f8501 rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x247f32bc rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x29a0079c rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x2b0d543c rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x2ba2f7b5 rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x36087aa4 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x393d5005 rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0x3abb6d90 rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0x3e41bc12 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x45a4781e rds_addr_cmp +EXPORT_SYMBOL_GPL net/rds/rds 0x516750ea rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x542e3719 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x582fe5cf rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x585f567b rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x5a30420e rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0x5e2c3b93 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x664306a9 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x680ba0f5 rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x69e2f583 rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x6ab1fba9 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x6e661be8 rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0x6f62eccc rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x735774c8 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x7b399e66 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x829ae7c5 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x85e4e520 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x9220d9d1 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x937975df rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xa9766f47 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0xb3e7d41e rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0xb4e53718 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0xb834a239 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xd86a3e25 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0xeea18f7f rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xf5534ba7 rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0xfa6d799e rds_inc_put +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x14eaf1f1 pie_drop_early +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x91f8b7dd pie_process_dequeue +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0x5fc3c6ed taprio_offload_free +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0xa7f08102 taprio_offload_get +EXPORT_SYMBOL_GPL net/sctp/sctp 0x04bca574 sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0x10371708 sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/sctp/sctp 0x3c8e4e79 sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/sctp/sctp 0xf1681932 sctp_transport_traverse_process +EXPORT_SYMBOL_GPL net/smc/smc 0x11d7706a smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0x17c49e6c smc_proto6 +EXPORT_SYMBOL_GPL net/smc/smc 0x4e9ab831 smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0x5fef3fdc smcd_alloc_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x6ffa07ee smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x76c52111 smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x80eec0bb smc_unhash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x889eeac9 smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0xac5457fe smcd_register_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xadf145f8 smc_hash_sk +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x03502693 svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x38d3dce5 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x482ac5a4 g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x69488d8d gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8092c96c gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xc15eb41c svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd7673035 g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0224d92f svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03b1b7e7 svc_xprt_destroy_all +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x04bee94f svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x053bb272 xdr_expand_hole +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a56cd97 svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a7f8958 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0aa9529b xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0aee47b1 rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0c465e3d svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0ee094b8 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0ff19429 rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x105126b0 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x16b7fa12 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x16bc52d0 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19c40bd7 rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e119a79 rpcauth_get_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e4afde3 rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1ed060b6 rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f2a9970 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1fb4d0a3 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x229e9206 cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x23408506 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x23609805 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x240cd26c rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24ba2227 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2749b03d xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27d00256 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x285d488e xprt_add_backlog +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x28d35e10 rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ac0401d xdr_page_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b66c182 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b6d15fc rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2c5218b2 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d3384f5 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d50503e xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2fab12c9 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30dbc3ac rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a260b7 gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x349e67f8 __xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34d184de rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x354636e8 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x363c9455 xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x38d55ea3 rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a091707 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ba3c181 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c6d0e93 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c735c27 xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d745780 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3dc3b090 svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x405f3ae8 xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4160bd4c rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x41820b9d rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x424ef977 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42a3c967 rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x439f5e94 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x43e75af5 rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x471c03a3 xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4792c07f rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x47b1ac3f svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48b57e59 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48ec0681 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a3cd68e svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a86446a cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a867fe7 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ad0a99c rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d5fdc55 svc_rqst_replace_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dac77f0 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e5b6174 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e8f6ca7 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f7bf090 rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f8d16ce rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x510b04df xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x519d5aae sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x52ae4be9 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x536fa07a rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54461b3d cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54c15c81 rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x56bb379f svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5714a5bc auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x577eef6f cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x57a7d02f rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x581e9e14 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bc880d5 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x60996eac rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x60e496cc rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x613eb035 svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x617eeddb svc_xprt_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x61e890e8 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x620be63e sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64f1fb64 xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6522d822 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x660de275 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66ed2439 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x679684fe svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x679cbff5 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x697724de svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a9a4727 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ab3e649 rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7003c730 rpc_sleep_on_priority_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x718f21cb rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71bc40e3 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74f3e4ef rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7627c191 rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x764d84ca rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x791888d9 xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a742e87 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a9db00f sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7af57e54 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b91f271 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7bbc93fd xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7bc21178 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cb26d9f write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cc68799 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7db696b4 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x814a32cb xdr_align_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x81c0acd0 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8240ed3a rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8320618a svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x853c31d5 xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86a1562b xprt_wake_up_backlog +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x87566de9 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x877b6caa cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x87953575 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x883853bf xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x89517839 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c625b3b svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8cbe4892 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d4d43ec svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d6d5a96 xdr_reserve_space_vec +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8d88cede xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8dc435d0 svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ff6a10c svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x90b4f4dd svc_xprt_deferred_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x91966797 rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x91f74ce9 rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9274019a _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94e29707 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x94e3362c rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95286f3f svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95525f24 xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9670b5a1 rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9808634a xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99aee353 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9a3c7f30 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9a514445 bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9a794e12 svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c1c92b7 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9df56598 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ec7c329 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ed09fd7 xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa28207b9 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa2e907fe rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa44f033a xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa60a65f8 xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa8301788 rpc_prepare_reply_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa86ca97f rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9a39397 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa9a9a6d3 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa15284c xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xabe800ef svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xabfb7509 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaed49943 xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb07ed5dc rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2a1792c cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3ecde57 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb4b80c08 rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb4c400f4 rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51a3724 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb6ed37f5 xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb910d911 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9499d51 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9b6b4f9 xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba0c4cc3 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xba4d62c2 xdr_buf_trim +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb9fec91 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbc0ac645 rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbcbd53d9 xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc02fd4ab rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc0908dd0 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1f64b48 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc2bc2ebb rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3515305 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc3a90455 rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4e0ddd5 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6b84dc8 svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6fa3fd9 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc79f1cf4 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7b1b5f1 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc7e021b2 rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcaf3395a rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcca68c07 svc_encode_result_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcdaabe1b svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce678a59 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xceace95a rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf7aa17d svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd10d1d5b rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd143f26b rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2f5b38b xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd3345b73 svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd38bf01a xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd3ecf610 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd50ec125 rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd88ddef7 rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd8f0ed86 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd9c883cf svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xda5bd448 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdbac65fa rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc5f6672 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd691402 xprt_find_transport_ident +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdf28d962 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdfa2fbbb xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe00316c4 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1cc4dba svc_xprt_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe4110cba cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe60d6900 rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe74e4ff2 xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea14c7a0 xprt_lock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xebaa853e xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xebc5dc15 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xebcff0eb xprt_unlock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeef86000 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xef7e57a7 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xefdb1fc6 xdr_stream_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf09dbd98 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf0b7775d rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf440a108 rpc_switch_client_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf44e79de svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf4e0d0f9 auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf5bf6c73 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6e48596 rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf8882d8d sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf990e461 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf9fdbabe rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfa2a6f74 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb60126a __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc2caa38 xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc5a263c xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfc856911 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfcbfccc0 svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfee4227c svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff3e5b6d rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff9d5322 rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/tls/tls 0x1617a955 tls_validate_xmit_skb +EXPORT_SYMBOL_GPL net/tls/tls 0xd591b33b tls_encrypt_skb +EXPORT_SYMBOL_GPL net/tls/tls 0xd86a1d76 tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/tls/tls 0xfdefff5e tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x03a81e69 virtio_transport_stream_allow +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x066166ca virtio_transport_seqpacket_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0926cbb0 virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0e126b72 virtio_transport_stream_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x155f94fc virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1e33ebab virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x40060164 virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x401ce24b virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x40ad1367 virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x42adda42 virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4703a6c2 virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x494b8179 virtio_transport_connect +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x51f96fc1 virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x6b806ea0 virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x71fd8bc5 virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x732b0f15 virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x76df780d virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x78a6705a virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8503d1c4 virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8fd0a4ba virtio_transport_seqpacket_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x90a1de4a virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x96c87fa0 virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x97da9e3d virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x983c092b virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x9b2a2404 virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xab713124 virtio_transport_do_socket_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xaca1f799 virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb8fcc93f virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xbabd30f5 virtio_transport_dgram_allow +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xbd56ae8d virtio_transport_seqpacket_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xc03a3584 virtio_transport_notify_poll_out +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xc2b00c83 virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xc2c0988a virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe2c86198 virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xfd58b8e4 virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xffc52931 virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x09ee82a4 vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0a4c7fbb vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0ae3a7e2 vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0e9bc9b6 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x16f55019 vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x1f358a90 vsock_core_unregister +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x23754b40 vsock_remove_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x29eba376 vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x37221e1e vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3d4b0fca vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4b99648c vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x5365a9a4 vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x670b9bc0 vsock_remove_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x6a53c119 vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x77c14317 vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x8dfd0c72 vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x90aa8549 vsock_find_cid +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x95dd670e vsock_add_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9bb6fd09 vsock_connected_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9ead26ed vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xa6945a1e vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xaf2674b5 vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb54f5c2e vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc8589f67 vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc92f7f50 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd89835c3 vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xe58d7212 vsock_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xec96eadf vsock_addr_validate +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xf3bd05a9 vsock_assign_transport +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0c3d5350 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x12626479 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x23701ab3 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x260553e7 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x27cc9f61 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x36ec2107 cfg80211_shutdown_all_interfaces +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4a0ab475 cfg80211_vendor_cmd_reply +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4ebc3307 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x63d15101 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x64275100 cfg80211_pmsr_complete +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x748fa655 cfg80211_vendor_cmd_get_sender +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7f9346ee cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x97eeff4c cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe09a6b03 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe55248d7 cfg80211_pmsr_report +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xf0f428aa cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0049ca83 xfrm_aead_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00c80741 xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0a575945 xfrm_count_pfkey_auth_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x37a02412 xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x5c699441 xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x72395dc1 xfrm_calg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x7a8ca627 xfrm_count_pfkey_enc_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xaab23340 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xb73be794 xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xc6b1fdbe xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xd6f50cf7 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x33ec1c76 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x6e214feb ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x7e9722a1 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x9ab8399d ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0x4a0c7516 xfrm_msg_min +EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0xe2521b1c xfrma_policy +EXPORT_SYMBOL_GPL sound/ac97_bus 0x482cc7e8 snd_ac97_reset +EXPORT_SYMBOL_GPL sound/core/seq/snd-seq 0xadb51cff snd_seq_client_ioctl_unlock +EXPORT_SYMBOL_GPL sound/core/seq/snd-seq 0xe50413d7 snd_seq_client_ioctl_lock +EXPORT_SYMBOL_GPL sound/core/snd 0x04d5d6e2 snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0x37ace79a snd_card_disconnect_sync +EXPORT_SYMBOL_GPL sound/core/snd 0x3dcae8b4 snd_device_initialize +EXPORT_SYMBOL_GPL sound/core/snd 0x54c31229 snd_ctl_sync_vmaster +EXPORT_SYMBOL_GPL sound/core/snd 0x55dbc12b snd_ctl_apply_vmaster_followers +EXPORT_SYMBOL_GPL sound/core/snd 0x5868d43e snd_card_ref +EXPORT_SYMBOL_GPL sound/core/snd 0x5af762f1 snd_fasync_free +EXPORT_SYMBOL_GPL sound/core/snd 0x64c80e49 snd_fasync_helper +EXPORT_SYMBOL_GPL sound/core/snd 0x82ddd8ab snd_device_disconnect +EXPORT_SYMBOL_GPL sound/core/snd 0x8f5d2155 snd_ctl_register_layer +EXPORT_SYMBOL_GPL sound/core/snd 0xa86ad728 snd_card_free_on_error +EXPORT_SYMBOL_GPL sound/core/snd 0xaa5b7591 snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0xbcd22b11 snd_devm_card_new +EXPORT_SYMBOL_GPL sound/core/snd 0xbcf0ea13 snd_card_rw_proc_new +EXPORT_SYMBOL_GPL sound/core/snd 0xbf2916c6 snd_device_get_state +EXPORT_SYMBOL_GPL sound/core/snd 0xc640d3a4 snd_ctl_disconnect_layer +EXPORT_SYMBOL_GPL sound/core/snd 0xcacc04a9 snd_ctl_get_preferred_subdevice +EXPORT_SYMBOL_GPL sound/core/snd 0xed685fb7 snd_power_ref_and_wait +EXPORT_SYMBOL_GPL sound/core/snd 0xf8f2a4eb snd_kill_fasync +EXPORT_SYMBOL_GPL sound/core/snd 0xfaf598c6 snd_ctl_request_layer +EXPORT_SYMBOL_GPL sound/core/snd 0xfd24fc71 snd_card_add_dev_attr +EXPORT_SYMBOL_GPL sound/core/snd-compress 0x5af198f8 snd_compr_stop_error +EXPORT_SYMBOL_GPL sound/core/snd-compress 0x897aa536 snd_compress_new +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x04e1b99f snd_pcm_std_chmaps +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x09e913c1 snd_pcm_alt_chmaps +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x0d872850 snd_pcm_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x2dd9d556 snd_pcm_stream_unlock_irqrestore +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x499d66cf snd_pcm_stream_unlock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x5c407196 snd_pcm_fill_iec958_consumer_hw_params +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x640d56d2 _snd_pcm_stream_lock_irqsave_nested +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x649892e8 snd_pcm_create_iec958_consumer_default +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x69f1efa0 snd_pcm_stream_lock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x73dd5e06 snd_pcm_stop_xrun +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x8d864069 snd_pcm_rate_range_to_bits +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xab8bc1a2 snd_pcm_rate_mask_intersect +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xb76ad58f snd_pcm_stream_lock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xc03a6a88 snd_pcm_hw_constraint_eld +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xc5d9f85d _snd_pcm_stream_lock_irqsave +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xd1995a92 snd_dma_buffer_sync +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xdd5e801b snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xec4555e7 snd_devm_alloc_dir_pages +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xf68c0d8d snd_pcm_stream_unlock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xff5e59c0 snd_pcm_fill_iec958_consumer +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x20937b7e snd_dmaengine_pcm_refine_runtime_hwparams +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x2a0c18ff snd_hwparams_to_dma_slave_config +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x2f2e9a35 snd_dmaengine_pcm_get_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x47639268 snd_dmaengine_pcm_request_channel +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x4b490216 snd_dmaengine_pcm_close +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x50d3422b snd_dmaengine_pcm_pointer +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x72958aed snd_dmaengine_pcm_pointer_no_residue +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x9d39690d snd_dmaengine_pcm_close_release_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xaf9ba05a snd_dmaengine_pcm_trigger +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xb5587344 snd_dmaengine_pcm_open_request_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xd2cf5ec1 snd_dmaengine_pcm_open +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xe25ff11e snd_dmaengine_pcm_set_config_from_dai_data +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x8b8ffa20 __snd_seq_driver_register +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0xeaafe267 snd_seq_driver_unregister +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x040fa314 amdtp_domain_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x0499479c amdtp_am824_set_midi_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x06e27ff2 amdtp_am824_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x463d46a7 amdtp_domain_stream_pcm_pointer +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x49c98c9a amdtp_domain_stop +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x5d32a51e amdtp_am824_set_pcm_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x83778fe1 amdtp_domain_start +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xc428a990 amdtp_domain_add_stream +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xce8bf109 amdtp_am824_set_parameters +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xe5ba2c18 amdtp_domain_destroy +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xf06a5e2a amdtp_domain_stream_pcm_ack +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xf63988dd amdtp_am824_add_pcm_hw_constraints +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xfc54b0b3 amdtp_am824_midi_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x05636f93 snd_hdac_aligned_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0a3bebd7 snd_hdac_bus_parse_capabilities +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0d277e6b snd_hdac_stream_set_params +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0d991464 snd_hdac_stream_setup_periods +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0e3b7e0c snd_hdac_bus_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0faa0f68 snd_hdac_bus_link_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0fac7a5a snd_hdac_regmap_add_vendor_verb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x11f66393 snd_hdac_get_stream +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1488641f snd_hdac_aligned_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1506e2d9 snd_hdac_query_supported_pcm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1940d387 snd_hdac_regmap_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1a85ce02 snd_hdac_device_register +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1bfb37ab snd_hdac_stream_release +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1e3761a3 snd_hdac_bus_exit_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1e7478b9 snd_hdac_codec_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1e7b3d5b snd_hdac_bus_get_response +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x21847083 snd_hdac_power_up_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2349822d snd_hdac_bus_stop_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2696a0f9 snd_hdac_register_chmap_ops +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x26efb25e snd_hdac_codec_link_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2913799d snd_hdac_acomp_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2f54aecd snd_hdac_stream_setup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x321dd184 snd_hdac_codec_modalias +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3528aad6 snd_hdac_bus_send_cmd +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x35926f13 _snd_hdac_read_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3976b5bc snd_hdac_dsp_prepare +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x39cd4066 snd_hdac_bus_reset_link +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3bd544c2 snd_hdac_get_active_channels +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3be1e30a snd_hdac_stream_timecounter_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3fad2342 snd_hdac_device_unregister +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x43aeb7bd snd_hdac_power_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4803c29e snd_hdac_check_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x48b33367 snd_hdac_regmap_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x49309572 snd_hdac_bus_free_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x497836a7 snd_hdac_bus_alloc_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x49a45480 snd_hdac_set_codec_wakeup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4c7ec4b6 snd_hdac_get_ch_alloc_from_ca +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4f384c34 snd_hdac_dsp_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4ffa381d snd_hdac_power_down_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x50cda792 snd_hdac_stream_start +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x51304fc7 snd_hdac_device_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5ad90b11 snd_hdac_codec_link_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c07cb49 snd_hdac_calc_stream_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5cd9ffdf snd_hdac_is_supported_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x60ba1c00 snd_hdac_acomp_get_eld +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6122e176 snd_hdac_stream_stop +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x632c0030 snd_hdac_get_connections +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x65fff813 snd_hdac_bus_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x660fa88a snd_hdac_dsp_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67af6247 snd_hdac_stream_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67bfe791 snd_hdac_spk_to_chmap +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6a1702b0 snd_hdac_stream_sync_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6c679c93 snd_hdac_sync_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6dea5f93 snd_hdac_get_stream_stripe_ctl +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6df9b0dd snd_hdac_bus_init_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6e2090fd snd_hdac_stream_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x702e077d snd_hdac_stream_assign +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x734b6e34 snd_hdac_power_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77c754a8 snd_hdac_chmap_to_spk_mask +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7c1c578b snd_hdac_bus_stop_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x90b9567c snd_hdac_setup_channel_mapping +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x92e62705 snd_hdac_display_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x93ab5f27 snd_hda_bus_type +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x99447e78 snd_hdac_regmap_update_raw_once +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9c9677ae hdac_get_device_id +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa10f12a3 snd_hdac_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xa5bf476d snd_hdac_stream_clear +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb6274aee snd_hdac_acomp_register_notifier +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb629bd87 snd_hdac_stop_streams_and_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xba5f77e3 snd_hdac_bus_init_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbb55b619 snd_hdac_bus_update_rirb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc42a51dd snd_hdac_regmap_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc47fdb66 snd_hdac_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc4cfd76a snd_hdac_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc8dc507a snd_hdac_bus_handle_stream_irq +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc8e7770d snd_hdac_device_set_chip_name +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xcb50d378 snd_hdac_read_parm_uncached +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xcfb71870 snd_hdac_acomp_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd36a56d3 snd_hdac_regmap_read_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xda4b8142 snd_hdac_sync_audio_rate +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xdcb13cd8 snd_hdac_get_sub_nodes +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe4e07754 snd_hdac_print_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe6989fa8 snd_hdac_device_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe875eee3 snd_hdac_codec_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe88ab797 snd_hdac_stop_streams +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xee07ab8f snd_hdac_bus_exec_verb_unlocked +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xefeff9ba snd_hdac_stream_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf2baecde snd_hdac_regmap_update_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf3ad1356 snd_hdac_override_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf475e04e snd_hdac_stream_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf4f831a4 snd_hdac_refresh_widgets +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfa6b708d snd_hdac_bus_enter_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xfd586db8 snd_hdac_regmap_write_raw +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x1259bf7d intel_nhlt_get_dmic_geo +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x3f889ae7 intel_nhlt_init +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x4e859456 intel_nhlt_free +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0xdba5a2b3 snd_intel_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0xf2ed1697 snd_intel_acpi_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x15836645 snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x2fa544ce snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x99e1694d snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xabc6ed5f snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xe605231e snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xf7127308 snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x004c201c snd_hda_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x045f5f8a snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0676f5ac snd_hda_get_input_pin_attr +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x069a2c2a snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x087a63d6 snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0acb39f9 azx_stop_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0ebc4c56 snd_hda_codec_update_widgets +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0f03238c snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x10679abf snd_hda_codec_amp_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x112fd6ae snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x117f88f1 snd_hda_check_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x139b10a9 snd_hda_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x153e63ef snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1753a925 snd_hda_codec_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1a6e9e23 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1c53fb82 snd_hda_set_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1def9d79 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2325c0d1 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x23f1e681 azx_stop_all_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x284a7855 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x28e349ed snd_hda_jack_set_button_state +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2b4fc6ea snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2cd79fda query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2fc215f1 snd_hda_codec_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2ffeb074 snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x303920bf snd_hda_codec_eapd_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x322cf8c3 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x330d39f5 snd_hda_pick_pin_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x33948a7f snd_hda_codec_pcm_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x343dc18d snd_hda_codec_device_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3559893c snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3662be1a snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38ce402b azx_interrupt +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38ebf0fa snd_hda_codec_set_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x39e9691a __snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x39ec866e snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3a7dc806 azx_free_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x405adb3f azx_init_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x425a61c9 snd_hda_jack_tbl_get_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4557f87a snd_hda_create_dig_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x470c677f snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4ad5c48f snd_hda_codec_cleanup_for_unbind +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4b925e50 snd_hda_jack_poll_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4e82b2c6 snd_hda_codec_load_dsp_trigger +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4fb0d0c9 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5083625b snd_hda_codec_load_dsp_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x50a99554 azx_init_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x511a9d31 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x51d43107 snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x53d42ac5 snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x54dbc205 snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x565eae32 snd_hda_get_int_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x57292794 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x58efe6cb snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5a654cee snd_hda_jack_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5c248207 __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5cca3d04 snd_hda_codec_load_dsp_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5d357a97 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5f8eaf3a snd_hda_jack_add_kctl_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x60400b9d snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6736e2d2 snd_hda_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6757b1af snd_hda_enum_helper_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6dd8a20f _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x72ddf048 snd_hda_jack_detect_state_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x745c7793 snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7538e4e0 snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x75836ed2 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x75c99cc7 hda_codec_driver_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x76151bb7 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7713dfb5 snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x77336ba6 __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x77f5552b snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x781a6014 snd_hda_jack_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x79529595 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7a6532b4 snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fdf4bf0 snd_hda_correct_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x807a50ac snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x80fef23f snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x81d99538 snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x885638bb snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8a3414fa azx_get_position +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8ac9ffb8 azx_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e48c3e6 snd_hda_jack_detect_enable_callback_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8f0977df snd_hda_codec_amp_init_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x92fb3237 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x99d68a04 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9a97f2bc __hda_codec_driver_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9e77c69a is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa0e02cfe snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa220007a snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa27523a1 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa4178baf snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa4c6f3eb azx_get_pos_lpib +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa676516a snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa6942d28 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa727cad7 snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa85864b5 snd_hda_get_num_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa8716097 snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xac0ca6e4 snd_hda_mixer_amp_switch_get_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xafb169be azx_bus_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb122f27a snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb3882500 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb6f07fc2 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb9eca6bd snd_hda_codec_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbbb39a5d snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbe282ea1 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbf6cc465 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc2cd82e1 snd_hda_get_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc3c175b3 snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc4f8e540 snd_hda_get_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd289a109 snd_hda_codec_parse_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd5b5fbb1 snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd6afac8b snd_hda_codec_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd7e8e1e8 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd93f5982 azx_get_pos_posbuf +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd9732819 snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd99c7a9b snd_hda_codec_device_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdddfb4f0 snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe082fdc1 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe1084c3b snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe118de5d snd_pcm_2_1_chmaps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe44e6a5e snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xea6e639d snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeb74ee47 snd_hda_jack_set_gating_jack +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeb8bda89 azx_probe_codecs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xec3ddbf6 snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xedcfe07f hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf1dd541e snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf1f38419 snd_hda_jack_bind_keymap +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf2fa5215 snd_hda_codec_set_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf8dc35ac snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfdf0dd3e snd_hda_codec_get_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xff61c2d0 snd_hda_codec_pcm_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x14c1a8c9 snd_hda_gen_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x31e1c1ce snd_hda_gen_path_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x3f0b2b97 snd_hda_gen_parse_auto_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x4ab43769 snd_hda_add_new_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x4df6f429 snd_hda_gen_mic_autoswitch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x5259a7b1 snd_hda_gen_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x5ffdeff2 snd_hda_get_path_from_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x6791b87b snd_hda_gen_fix_pin_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x76dc6871 hda_main_out_badness +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x85997add snd_hda_gen_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x869dcc5b snd_hda_activate_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x871a6e44 hda_extra_out_badness +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x87490121 snd_hda_gen_line_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x920b6152 snd_hda_gen_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xa49c776b snd_hda_gen_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xa704a74f snd_hda_gen_check_power_status +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xaa1a16d7 snd_hda_gen_update_outputs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb0941769 snd_hda_gen_spec_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb0adf0f7 snd_hda_gen_hp_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb1027ec3 snd_hda_gen_add_mute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb729f43e snd_hda_gen_stream_pm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xcd8e4309 snd_hda_get_path_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xd25722f3 snd_hda_gen_add_micmute_led_cdev +EXPORT_SYMBOL_GPL sound/soc/codecs/mt6359-accdet 0x72d511e5 mt6359_accdet_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau-utils 0xae620be9 adau_calc_pll_cfg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1372 0x3ef96ab0 adau1372_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x04eb340c adau1761_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x9701974a adau1761_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x0f01edb7 adau17x1_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x2d44d458 adau17x1_add_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x35cb55ce adau17x1_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x3734475d adau17x1_set_micbias_voltage +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x48f37701 adau17x1_add_widgets +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x4e0976b5 adau17x1_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x52b6032d adau17x1_precious_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x8be3554b adau17x1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xa3294b3a adau17x1_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xeb713be7 adau17x1_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau7118 0x3e72fb02 adau7118_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0x5ec3b8ba cs35l41_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0x61587778 cs35l41_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0x9afd929b cs35l41_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x024057d2 cs35l41_global_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x0904db12 cs35l41_configure_cs_dsp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x22cd641b cs35l41_test_key_lock +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x2e1deebf cs35l41_register_errata_patch +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x3652a743 cs35l41_otp_unpack +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x43741be9 cs35l41_safe_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x52685e78 cs35l41_init_boost +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x54799976 cs35l41_set_channels +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x58ee4dda cs35l41_test_key_unlock +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x5bfbb17b cs35l41_regmap_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x71952d7c cs35l41_set_cspl_mbox_cmd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x962b7fae cs35l41_gpio_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xae5e01c3 cs35l41_exit_hibernate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xcbf8f3da cs35l41_write_fs_errata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xce5687f3 cs35l41_enter_hibernate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xedaeb7a4 cs35l41_regmap_spi +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x63713b86 cs4271_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x7d05786f cs4271_dt_ids +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x923d2b0d cs4271_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x375ad98c cs42l51_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x691300db cs42l51_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x7194b678 cs42l51_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xc028dbcb cs42l51_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xe507f0a4 cs42l51_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xe7c171c2 cs42l51_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x0245c4f2 cs42xx8_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x07ac601e cs42xx8_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7cac7292 cs42888_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x87043b19 cs42xx8_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x88f4d324 cs42xx8_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcd3794c9 cs42448_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x13123827 da7219_aad_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x28238163 da7219_aad_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x9467d675 da7219_aad_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0xb711129e da7219_aad_jack_det +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0xa0e0a553 es8328_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0xc36206a7 es8328_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-lpass-macro-common 0x4b86013b lpass_macro_pds_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-lpass-macro-common 0xce0eb7a5 lpass_macro_pds_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98090 0x0fe042db max98090_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x4ddbfb89 max98373_slot_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x7f448879 soc_codec_dev_max98373 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x9a3c48f7 soc_codec_dev_max98373_sdw +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0xc8682cb2 max98373_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x0faab6af mt6358_set_mtkaif_calibration_phase +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x1deaf834 mt6358_mtkaif_calibration_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x31a46d30 mt6358_mtkaif_calibration_disable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0xc67f1a75 mt6358_set_mtkaif_protocol +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0x1ec25aad mt6359_set_mtkaif_protocol +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0x25f01cf8 mt6359_set_mtkaif_calibration_phase +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0xb9748a96 mt6359_mtkaif_calibration_disable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0xc557b8ec mt6359_mtkaif_calibration_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8821 0x23c9688a nau8821_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0x811c9f23 nau8824_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0xbf55f96a nau8824_components +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x151a4c06 pcm1789_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xbc401e1c pcm1789_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xf280ffe3 pcm1789_common_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0x7d1ef4dc pcm179x_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0xbbf0b234 pcm179x_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x7e4a766e pcm186x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0xc74dd913 pcm186x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x39ccda08 pcm3168a_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x7a0a6393 pcm3168a_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x8836d625 pcm3168a_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xabd2b560 pcm3168a_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x0fead3ee pcm512x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x52071f19 pcm512x_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x572abb61 pcm512x_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x9ab63b00 pcm512x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x5dc92cdf rl6231_pll_calc +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x70617a04 rl6231_get_clk_info +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x8d7fa148 rl6231_get_pre_div +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0xdba4502f rl6231_calc_dmic_clk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5514-spi 0x61ff58e3 rt5514_spi_burst_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5514-spi 0xff87892f rt5514_spi_burst_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x66312fa0 rt5640_dmic_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x663df3d7 rt5640_disable_micbias1_for_ovcd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x83fa862c rt5640_detect_headset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xa3b9ffd9 rt5640_enable_micbias1_for_ovcd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xb325a4ce rt5640_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xe203584a rt5640_set_ovcd_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0x6518af08 rt5645_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0xe91fd037 rt5645_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5659 0x85e96407 rt5659_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5663 0x28a07daf rt5663_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677 0xc2aa150e rt5677_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x5fc320ad rt5677_spi_write_firmware +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x67956035 rt5677_spi_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0xc6695825 rt5677_spi_hotword_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0xe8ece129 rt5677_spi_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x0264cf6c rt5682_apply_patch_list +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x267a73e8 rt5682_soc_component_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x28730696 rt5682_supply_names +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x43ebd405 rt5682_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x59d3d967 rt5682_jack_detect_handler +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x78a3215b rt5682_aif2_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x86140861 rt5682_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x93949a58 rt5682_aif1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xa5aaec5f rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb897de56 rt5682_reg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xcb732664 rt5682_register_dai_clks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xe29fb0cf rt5682_parse_dt +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xed2300fa rt5682_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xf194c94e rt5682_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682s 0xcb9255a9 rt5682s_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x240f8463 sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x3729073d devm_sigmadsp_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x6a375cd5 sigmadsp_restrict_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x6afcab76 sigmadsp_setup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x8e9e13fa sigmadsp_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-i2c 0x84bdedf9 devm_sigmadsp_init_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-regmap 0x2453a762 devm_sigmadsp_init_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x3e13f5db ssm2602_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0xdaafacd1 ssm2602_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic32x4 0xa5489115 aic32x4_register_clocks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0xc7d43d1f aic3x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0xd143c607 ts3a227e_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd-mbhc 0x936c1623 wcd_mbhc_event_notify +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x054b546a wcd938x_sdw_hw_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x180e94a1 wcd938x_sdw_device_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x2c13198f wcd938x_sdw_set_sdw_stream +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x9098ac1f wcd938x_swr_get_current_bank +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x9b6b9ab5 wcd938x_sdw_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x01c4b704 wm_adsp2_set_dspclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x15fa3a5e wm_adsp_write_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x17f63dfb wm_adsp_compr_handle_irq +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x1c3b76e3 wm_halo_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x1cbe5e51 wm_adsp_compr_get_caps +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x23e4cac2 wm_adsp_fw_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x30f8d83d wm_adsp_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x3f97d03a wm_adsp2_preloader_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x52c16479 wm_halo_wdt_expire +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x56b6d5eb wm_adsp_early_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x5802389d wm_adsp1_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x5aedc8e5 wm_adsp_read_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x5c006067 wm_adsp_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x60c89dfa wm_adsp2_component_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7da3f8eb wm_adsp_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x81a339d6 wm_adsp1_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x822623f3 wm_adsp2_component_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x87583ac5 wm_adsp2_preloader_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x8c7826ad wm_adsp2_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x8e5b7049 wm_adsp_compr_open +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x9b2b203d wm_adsp_fw_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xa3c5d02f wm_adsp_compr_copy +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xb5e2cae9 wm_adsp_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xb904290d wm_adsp_compr_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xcbb8d49f wm_adsp_fw_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xdaea4e45 wm_adsp2_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xdd3c79ef wm_adsp2_bus_error +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xea38ee07 wm_halo_bus_error +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x17c269ef wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x20dbb165 wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x290d9a33 wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x2a6805fc wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x46c1ebd2 wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x5cd7eb9b wm_hubs_dcs_done +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x6b5883b3 wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x757206d5 wm_hubs_spkmix_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xdfac8a38 wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0xe670e9d3 wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0xdc784dae wm8731_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0xdcc2aca4 wm8731_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x1bb5c515 wm8804_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x5692e2b1 wm8804_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x6a2f56d1 wm8804_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x9f52915b wm8804_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x63e28109 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0x613f7eb2 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x6738a562 wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0xa2998e41 wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/fsl/imx-pcm-dma 0xede766b4 imx_pcm_dma_init +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0xbba4b08c fsl_asrc_component +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-imx-audmux 0x30693bb7 imx_audmux_v1_configure_port +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-imx-audmux 0x58631dab imx_audmux_v2_configure_port +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card 0xcd77400d audio_graph_parse_of +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0x2b68914d audio_graph2_parse_of +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0x4f6794b4 audio_graph2_link_c2c +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0xa4fd63bc audio_graph2_link_normal +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0xd2aff888 audio_graph2_link_dpcm +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x174b033f asoc_simple_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x23fefb53 asoc_simple_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x25550e97 asoc_simple_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x2809d112 asoc_graph_card_probe +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x2a8a735c asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x2ac62cf3 asoc_simple_clean_reference +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x4d31766c asoc_simple_parse_routing +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x56f1fb92 asoc_simple_remove +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x5b90a985 asoc_simple_shutdown +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7a96e52c asoc_simple_init_jack +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7b6a749e asoc_simple_hw_params +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x85746384 asoc_simple_parse_convert +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x87e6bd0b asoc_simple_init_priv +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xa2a8473f asoc_graph_is_ports0 +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xa7dce5a5 asoc_simple_parse_widgets +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xaadb1705 asoc_simple_set_dailink_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xc1474a7c asoc_simple_startup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xd5416d86 asoc_simple_parse_tdm_width_map +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xe9a636fb asoc_simple_canonicalize_cpu +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xea590116 asoc_simple_be_hw_params_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xee2da960 asoc_simple_parse_clk +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xf3bafb75 asoc_simple_convert_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xfad451c1 asoc_simple_canonicalize_platform +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x0bd332ac mtk_afe_combine_sub_dai +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x12633320 mtk_afe_fe_shutdown +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x14ab47cc mtk_afe_fe_trigger +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x18debacc mtk_afe_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x250e6000 mtk_afe_fe_ops +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x2518582d mtk_memif_set_rate_substream +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x352cd005 mtk_afe_suspend +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x358e1da0 mtk_memif_set_format +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x3a7d5f93 mtk_dynamic_irq_release +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x3c08e35e mtk_memif_set_rate +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x503dd349 mtk_afe_fe_prepare +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x5356b3a7 mtk_memif_set_addr +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x630b47ec mtk_memif_set_pbuf_size +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x6daa999a mtk_afe_resume +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x80483297 mtk_dynamic_irq_acquire +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x81739763 mtk_memif_set_channel +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x8576fd34 mtk_afe_pcm_new +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xa0dfe034 mtk_afe_fe_startup +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xacb1e09b mtk_memif_set_enable +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xc0b076c4 mtk_memif_set_disable +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xd7e3774a mtk_afe_pcm_platform +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xe4f709d9 mtk_afe_add_sub_dai_control +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xeb426772 mtk_afe_fe_hw_params +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0xf72c24bd mtk_afe_fe_hw_free +EXPORT_SYMBOL_GPL sound/soc/mediatek/mt8195/snd-soc-mt8195-afe 0x75e96207 mt8195_afe_enable_clk +EXPORT_SYMBOL_GPL sound/soc/mediatek/mt8195/snd-soc-mt8195-afe 0xf3f57a2d mt8195_afe_disable_clk +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x07ff0fa8 axg_fifo_pcm_close +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x0cbd890d axg_fifo_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x423f0ffe axg_fifo_pcm_new +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x7fe021cd axg_fifo_pcm_hw_free +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x8cae2a83 axg_fifo_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x9414add9 g12a_fifo_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xaafde55e axg_fifo_pcm_trigger +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xe667742a axg_fifo_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0xeb93657c axg_fifo_pcm_open +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x46cdb0f2 axg_tdm_formatter_event +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x4988d1f8 axg_tdm_stream_alloc +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x539c48cc axg_tdm_stream_start +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x55316323 axg_tdm_formatter_set_channel_masks +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x60f00fd0 axg_tdm_formatter_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x64e0ca85 axg_tdm_stream_free +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0xef4a0d56 axg_tdm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-interface 0x37145382 axg_tdm_set_tdm_slots +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x10dfdadb meson_card_i2s_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x80511756 meson_card_parse_dai +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x84d1b35b meson_card_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x92345898 meson_card_set_be_link +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xc5d2b359 meson_card_remove +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xeff4c79e meson_card_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xf61000de meson_card_reallocate_links +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0xfd42b988 meson_card_set_fe_link +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x031e21f2 meson_codec_glue_input_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x54a5acb2 meson_codec_glue_input_dai_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x5ae593a1 meson_codec_glue_input_dai_remove +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0xa6416f36 meson_codec_glue_input_get_data +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0xb4559dc7 meson_codec_glue_output_startup +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0xfb0a3e40 meson_codec_glue_input_set_fmt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x049cbca0 q6adm_matrix_map +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x28421460 q6adm_get_copp_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0xac5bd3fb q6adm_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0xd6a814d9 q6adm_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x07a54780 q6afe_cdc_dma_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x0a8be696 q6afe_port_get_from_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x369b6eeb q6afe_port_put +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x3b16d6e7 q6afe_port_stop +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x498d993b q6afe_get_port_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x5332304f q6afe_slim_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x7df60063 q6afe_port_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x8569caf3 q6afe_set_lpass_clock +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0xae809786 q6afe_hdmi_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0xd4523c59 q6afe_i2s_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0xe45246a8 q6afe_port_start +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0xfaf22370 q6afe_tdm_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x13b7efd9 q6asm_cmd +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x1b6c77fc q6asm_stream_media_format_block_alac +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x25bfa476 q6asm_open_write +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x2b693eed q6asm_stream_media_format_block_wma_v9 +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x4afe6f73 q6asm_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x4fba2f0c q6asm_run_nowait +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x68db31e2 q6asm_unmap_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x6a1ea2f7 q6asm_audio_client_alloc +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x6cec4b17 q6asm_stream_remove_trailing_silence +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x856b4fdb q6asm_stream_media_format_block_wma_v10 +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x9d0cf85f q6asm_stream_media_format_block_flac +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xa7d3a3a6 q6asm_media_format_block_multi_ch_pcm +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xb37ed108 q6asm_enc_cfg_blk_pcm_format_support +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xc0dd8d67 q6asm_open_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xc1347db0 q6asm_write_async +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xc5a116a4 q6asm_get_session_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xcbee5e42 q6asm_stream_remove_initial_silence +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xcc4952e4 q6asm_audio_client_free +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xd2cf1a0f q6asm_run +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xd38aa312 q6asm_cmd_nowait +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xea75a5dd q6asm_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0xf47f4b35 q6asm_stream_media_format_block_ape +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6core 0x7e52e977 q6core_is_adsp_ready +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6core 0x9b02ea0d q6core_get_svc_api_info +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6prm 0x8aaf0fd8 q6prm_vote_lpass_core_hw +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6prm 0xd5a8d667 q6prm_set_lpass_clock +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6prm 0xdb42d412 q6prm_unvote_lpass_core_hw +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6routing 0x5b75f756 q6routing_stream_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6routing 0xa7a64259 q6routing_stream_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x142e461c q6apm_graph_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x145cf8f6 audioreach_alloc_apm_cmd_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x226fb500 q6apm_graph_media_format_shmem +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x3ecca691 audioreach_get_container_next_module +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x47dfd1dd audioreach_send_cmd_sync +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x481ab4fe audioreach_set_media_format +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x4d81a254 audioreach_tplg_init +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x528c04f8 audioreach_graph_free_buf +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x5543dd66 audioreach_alloc_apm_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x63454532 audioreach_get_container_first_module +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x64dc5171 audioreach_alloc_cmd_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x6554d754 q6apm_graph_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x697a56ce q6apm_write_async +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x753e22b3 q6apm_graph_media_format_pcm +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7f4d39c8 audioreach_alloc_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7f716c44 q6apm_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x804750ba q6apm_unmap_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x9ced7a74 audioreach_shared_memory_send_eos +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xacff4753 audioreach_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xb19133ce audioreach_graph_send_cmd_sync +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xb541fd8b audioreach_alloc_graph_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xc35114ef q6apm_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xcb9f0983 q6apm_graph_stop +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xd5d90d91 audioreach_gain_set_vol_ctrl +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xd736dcd8 q6apm_graph_start +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xeb04b83e audioreach_get_container_last_module +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xee3e8068 q6apm_graph_get_rx_shmem_module_iid +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xeef6a882 q6apm_graph_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0xf51e59dc q6apm_graph_flush +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0x13690c78 q6dsp_audio_ports_of_xlate_dai_name +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0x17142e58 q6dsp_map_channels +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0xb29db5e3 q6dsp_clock_dev_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0xe4754d2e q6dsp_audio_ports_set_config +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cdc-dma 0x050e2e82 asoc_qcom_lpass_cdc_dma_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x0c68a504 asoc_qcom_lpass_cpu_platform_remove +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x0d3bf8ee asoc_qcom_lpass_cpu_platform_shutdown +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x59c21ced asoc_qcom_lpass_cpu_platform_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0xddb29230 asoc_qcom_lpass_cpu_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0xe532e012 lpass_cpu_pcm_new +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0xf983da7e asoc_qcom_lpass_cpu_dai_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-hdmi 0x69a44697 asoc_qcom_lpass_hdmi_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-platform 0x85ae774a asoc_qcom_lpass_platform_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x3dd9f961 snd_soc_acpi_find_machine +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x5c512782 snd_soc_acpi_find_package_from_hid +EXPORT_SYMBOL_GPL sound/soc/snd-soc-acpi 0x9b1aadfd snd_soc_acpi_codec_list +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x013d23bf snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0587d476 snd_soc_tplg_component_load +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x05a56c4c snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x05b3ed20 snd_soc_dapm_init +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x05ca9ee0 snd_soc_of_parse_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0706ad2e snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0e82e4db soc_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0eacfc2f snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0f2406f7 snd_soc_component_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1002011e snd_soc_component_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x10032862 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x10cec24f snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x118f406c snd_soc_component_compr_copy +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x11f82de6 snd_soc_dai_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x129ea723 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x12a9b150 snd_soc_component_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x12f68b2f dpcm_end_walk_at_be +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x15d79efb snd_soc_remove_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x168a92fb snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x16ea03c6 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x172dea24 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x17f1c41c snd_soc_of_put_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x190936b4 snd_soc_of_parse_node_prefix +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a61ea53 snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1aefb441 snd_soc_component_compr_open +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1b2eb195 snd_soc_card_remove_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1b46e957 snd_soc_set_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1bcc9880 snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1d574256 snd_soc_component_exit_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1dd8de3d snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1dffeaad snd_soc_dapm_dai_free_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1f30dc64 snd_soc_runtime_set_dai_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x20108e90 snd_soc_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x21424514 snd_soc_dapm_new_dai_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x239bba21 snd_soc_bytes_tlv_callback +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x23a518fd snd_soc_get_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x23b556bd snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x25403e9c snd_soc_dai_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x25b39861 snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x25f7bde1 snd_soc_component_read_field +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2952dde1 snd_soc_component_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x295933d2 snd_soc_dapm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x29896128 snd_soc_card_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2a12d6a4 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2a34d754 snd_soc_component_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2cf03f6b snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2d049130 snd_soc_dai_get_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2dc24b73 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3133368e snd_soc_dapm_sync_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x315f52df snd_soc_unregister_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x32b2759b snd_soc_dapm_del_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x32f76813 snd_soc_tplg_component_remove +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x32faf3d5 snd_soc_component_compr_get_caps +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x34a06f41 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x34e4c261 snd_soc_lookup_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x36bda8cb snd_soc_dai_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3773966e snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3798b759 snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x38d02cec snd_soc_component_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3ae884a3 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3b544130 snd_soc_new_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3b586382 snd_soc_of_get_slot_mask +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3b925821 snd_soc_component_set_jack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3ce1e11f snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3d51111c snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3db4358a snd_soc_card_add_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3e7b11af snd_soc_bytes_info_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3ee68f8e snd_soc_component_async_complete +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x411fe0bd snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x46fd5bf2 snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x49c1f766 snd_soc_component_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4a94c484 devm_snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4ac48a33 snd_soc_of_parse_aux_devs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4bb9f563 snd_soc_set_ac97_ops_of_reset +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4cc4e3ef snd_soc_component_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4d5e3391 snd_soc_component_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4d71dec3 snd_soc_of_parse_audio_simple_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4fa1782d snd_soc_tdm_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4fe503e3 snd_soc_add_component_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x52781c06 snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x545ddaa8 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x552aa168 snd_soc_runtime_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x55d51ed4 snd_soc_get_dai_id +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5897af8b snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x58f502e5 snd_soc_card_jack_new_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5b83fc84 snd_soc_link_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5bef31fc snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5c94feea snd_soc_component_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5e40af73 snd_soc_daifmt_parse_format +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5e70e9ec snd_soc_put_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5e941042 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x60b069bc snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x613df1bb snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x61d6a9bf snd_soc_component_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x626e91c8 snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x64bce36b snd_soc_component_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x66a15604 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6827ff8c snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6937ae4e snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6b8d6d30 snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6ba90353 snd_soc_component_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6c0ff092 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6c8aed0f snd_soc_info_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6d43543f snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6d896d66 snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7257860b snd_soc_link_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7400ebd8 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x74edc264 snd_soc_card_get_kcontrol +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x76d39b5a snd_soc_dai_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x793786c2 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x797d3db7 snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7999e0b2 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x79b8f30b snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7b7e7189 snd_soc_close_delayed_work +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7cbd4b16 snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7d76935e snd_soc_dapm_force_bias_level +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7ddf74d3 snd_soc_daifmt_parse_clock_provider_raw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7fc7e7a6 snd_soc_dai_active +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7fdd4031 dapm_clock_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x806978fa snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8129e999 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x815f49bd snd_soc_component_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83f0dc28 snd_soc_component_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x83f403b8 snd_soc_rtdcom_lookup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x85d0b654 snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8961bc01 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x897caf37 snd_soc_lookup_component_nolocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8affb701 snd_soc_dapm_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8cb802a7 snd_soc_dai_set_bclk_ratio +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e359fe5 snd_soc_component_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ebe0658 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x903e32bb devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x912efaa8 snd_soc_of_put_dai_link_cpus +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x915c04ab dapm_pinctrl_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x943c4e26 snd_soc_link_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x96064987 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9882ff23 snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x99a1f8a1 snd_soc_dai_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x99ec7d11 snd_soc_component_compr_get_codec_caps +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9a225446 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9a6bb14a snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9bdf9836 snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9c65557b snd_soc_of_get_dai_link_cpus +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9fdbbd92 snd_soc_of_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa0b6cc42 snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa0f86d1d snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa3b33dc9 snd_dmaengine_pcm_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa671cdd1 snd_soc_dai_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa74c7c48 null_dailink_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa76fc547 snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa7786a53 snd_soc_dpcm_runtime_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa8a9ff15 snd_soc_dapm_free_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa9efc4ae snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xab3ac122 snd_soc_dai_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xac4f1f93 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xadae0568 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xadc9a396 snd_soc_component_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xafb8b230 snd_soc_component_update_bits_async +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb0e7fe8f snd_soc_unregister_component_by_driver +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb18418af snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb6cd0018 snd_soc_new_compress +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb6dc034c snd_soc_tplg_widget_bind_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb7823f0f snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb7c3c8ab snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbcd06dac snd_soc_component_initialize +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbd09db86 snd_soc_component_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbddff344 snd_soc_dai_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbebf72e0 snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbfbf11f8 snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc17c0f10 snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc1dadb52 snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc31766b7 snd_soc_dai_link_set_capabilities +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc317a15e snd_soc_daifmt_clock_provider_flipped +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc6a58bca snd_soc_component_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc7411407 dapm_mark_endpoints_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc77aad6c snd_soc_component_write_field +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc98c943f snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xca2c4764 snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcafb5e5b snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcc18387d snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcc8bc285 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcf597ed4 dapm_kcontrol_get_value +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd47bf852 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd53f3720 devm_snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd7e3557d snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd83a43d8 snd_soc_free_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd931f948 snd_soc_component_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdd2d9c0c snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdf9e71ef snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdfab408f snd_soc_component_compr_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe02b586c snd_dmaengine_pcm_prepare_slave_config +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe0caa177 snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe193a8b2 snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe27aca18 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe2c2ad89 snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe563a379 snd_soc_dapm_dai_get_connected_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe5b72761 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe6c9cf09 snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe79d1c0c snd_soc_info_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe967459c snd_soc_of_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xea3cc0b3 snd_soc_component_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeafd36ea snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb1ef439 snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb8bcf69 snd_soc_dai_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xedc57df8 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xedce2f0d snd_soc_dapm_kcontrol_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf2a30040 snd_soc_add_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf2aec11c snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf55bba72 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf5c2adf8 devm_snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf78e96af snd_soc_find_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf812f0d2 snd_soc_dapm_update_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf885b317 snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9543df2 snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9622dd1 snd_soc_daifmt_clock_provider_from_bitmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfab65e94 snd_soc_set_dmi_name +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x06744e04 snd_sof_debugfs_buf_item +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x091033f8 snd_sof_debugfs_add_region_item_iomem +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x378b919b snd_sof_free_debug +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0x97ea26cd snd_sof_dbg_memory_info_init +EXPORT_SYMBOL_GPL sound/soc/sof/snd-sof 0xd4eb53e6 snd_sof_dbg_init +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0x2c64d423 sprd_mcdt_request_chan +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0x5061832c sprd_mcdt_chan_int_disable +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0x609193c3 sprd_mcdt_chan_write +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0x68b4b311 sprd_mcdt_chan_dma_enable +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0x6c283cec sprd_mcdt_chan_int_enable +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0xa5fdddd3 sprd_mcdt_chan_read +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0xb67dbf49 sprd_mcdt_chan_dma_disable +EXPORT_SYMBOL_GPL sound/soc/sprd/sprd-mcdt 0xdf547b54 sprd_mcdt_free_chan +EXPORT_SYMBOL_GPL sound/soc/sunxi/sun8i-adda-pr-regmap 0x37a3a5c2 sun8i_adda_pr_regmap_init +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-machine 0x8f8d1c0e tegra_asoc_machine_probe +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-machine 0x9abb5eba tegra_asoc_machine_init +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x2f894b3c tegra_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x30b60976 tegra_pcm_construct +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x3b82fa3b tegra_pcm_close +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x5670233b devm_tegra_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x928ca57c tegra_pcm_open +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0xa6841cd6 tegra_pcm_platform_unregister +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0xb210760c tegra_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0xc3240f6c tegra_pcm_platform_register_with_chan_names +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0xf720c9eb tegra_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra20-das 0x0d54c9b9 tegra20_das_connect_dap_to_dac +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra20-das 0xb52cfca4 tegra20_das_connect_dac_to_dap +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra20-das 0xbced7431 tegra20_das_connect_dap_to_dap +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x0427e3da tegra30_ahub_allocate_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x55a40206 tegra30_ahub_disable_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x5d7237ff tegra30_ahub_set_cif +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x6fe20143 tegra30_ahub_set_rx_cif_source +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xb419329b tegra30_ahub_disable_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xb4a9367d tegra30_ahub_enable_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xb81bca9d tegra30_ahub_free_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xc78c7125 tegra30_ahub_free_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xccb67e55 tegra124_ahub_set_cif +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xccc98372 tegra30_ahub_enable_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xd01de23b tegra30_ahub_allocate_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0xe549513a tegra30_ahub_unset_rx_cif_source +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-edma 0x26a16188 edma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-sdma 0xf47f57d9 sdma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-udma 0x188263f2 udma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x15d6bd44 line6_read_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x194f1d3b line6_init_pcm +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x202a1b1b line6_midi_id +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x34eebf28 line6_write_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x492164d7 line6_pcm_release +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x6689c636 line6_init_midi +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x733dfad2 line6_send_raw_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x9a195a6a line6_pcm_acquire +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x9fe7c217 line6_resume +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xa1b8e3ed line6_send_raw_message_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xb35a5c27 line6_read_serial_number +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xdc7c204c line6_send_sysex_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xdffc303c line6_version_request_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xe00bb9f4 line6_disconnect +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xe697f5eb line6_suspend +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xee7e2028 line6_alloc_sysex_buffer +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xfe2a823f line6_probe +EXPORT_SYMBOL_GPL vmlinux 0x00202fae __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x00233d91 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x002b6ea4 user_describe +EXPORT_SYMBOL_GPL vmlinux 0x0039f19a of_property_read_string_helper +EXPORT_SYMBOL_GPL vmlinux 0x00475f48 devm_regmap_field_bulk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x004b9ef0 tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x00565f18 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x005f18a6 add_wait_queue_priority +EXPORT_SYMBOL_GPL vmlinux 0x0071f7d9 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x007c33bf devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0083085d disk_update_readahead +EXPORT_SYMBOL_GPL vmlinux 0x0093901b kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x0098f91e dma_alloc_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x00a7a261 devm_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x00c1b11f usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x00c9572c of_map_id +EXPORT_SYMBOL_GPL vmlinux 0x00cda9bc udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x00d46375 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x00d4c500 usb_decode_interval +EXPORT_SYMBOL_GPL vmlinux 0x00df9837 ioasid_register_allocator +EXPORT_SYMBOL_GPL vmlinux 0x00e88e76 to_nd_region +EXPORT_SYMBOL_GPL vmlinux 0x0105ceb2 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x0116bcb0 ahci_platform_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x01242858 rio_del_device +EXPORT_SYMBOL_GPL vmlinux 0x012e730e apei_exec_noop +EXPORT_SYMBOL_GPL vmlinux 0x014e8186 cpu_scale +EXPORT_SYMBOL_GPL vmlinux 0x015fbedf usb_get_maximum_ssp_rate +EXPORT_SYMBOL_GPL vmlinux 0x0173e6a5 lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0x0179ccba topology_update_thermal_pressure +EXPORT_SYMBOL_GPL vmlinux 0x017a813c virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0x01820ecf pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x01866a57 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x0198d867 fsl_mc_object_allocate +EXPORT_SYMBOL_GPL vmlinux 0x019a3b4c pm_wakeup_ws_event +EXPORT_SYMBOL_GPL vmlinux 0x01a0cb78 property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0x01a40969 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x01c6cb0c cpu_cluster_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x01d21232 __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01eb6c56 dev_pm_domain_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x01f140ee public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0x0207a6c6 reset_control_bulk_acquire +EXPORT_SYMBOL_GPL vmlinux 0x02146a90 pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0x02159f3d iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0x02257555 efivar_entry_size +EXPORT_SYMBOL_GPL vmlinux 0x023231d2 to_nvdimm +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x02495b8f gnttab_alloc_grant_reference_seq +EXPORT_SYMBOL_GPL vmlinux 0x024d13dd request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0x02518fe3 devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0x0261a7a0 pci_epf_add_vepf +EXPORT_SYMBOL_GPL vmlinux 0x026a84ee skb_gso_validate_network_len +EXPORT_SYMBOL_GPL vmlinux 0x028cb30e devm_regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x028e2f4d fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0x02c425d6 ahci_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0x02c5c501 power_supply_find_ocv2cap_table +EXPORT_SYMBOL_GPL vmlinux 0x02cf0fa8 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x02d4f2d0 kvm_vcpu_gfn_to_hva +EXPORT_SYMBOL_GPL vmlinux 0x02d85659 tegra_mc_get_emem_device_count +EXPORT_SYMBOL_GPL vmlinux 0x02e04c1b hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x02ea8c73 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x02ed14e7 ahci_platform_enable_phys +EXPORT_SYMBOL_GPL vmlinux 0x0312b3b0 reset_controller_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0321cdbf of_alias_get_highest_id +EXPORT_SYMBOL_GPL vmlinux 0x033832c7 usb_amd_hang_symptom_quirk +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x0349fa24 __blk_trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x036de383 perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x03701a42 zynqmp_pm_pinctrl_set_function +EXPORT_SYMBOL_GPL vmlinux 0x037b3e95 tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0x037d59ff rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x038a418b generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x03a5910a crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0x03aed374 divider_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x03af804b ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x03b5b8e8 devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0x03b9058f da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x03c12dfe cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x03ce7234 sched_smt_present +EXPORT_SYMBOL_GPL vmlinux 0x03d04b44 tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0x03d951a1 pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0x03dc1446 devm_clk_hw_register_fixed_factor_index +EXPORT_SYMBOL_GPL vmlinux 0x03e1b7d4 serial8250_em485_destroy +EXPORT_SYMBOL_GPL vmlinux 0x03e8e41c rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x03eab9e9 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x03ec5458 phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0x03fb9268 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x04022a0c uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x0402cbbf preempt_notifier_inc +EXPORT_SYMBOL_GPL vmlinux 0x040d11a4 devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0x0412332f rcar_rst_set_rproc_boot_addr +EXPORT_SYMBOL_GPL vmlinux 0x04123e34 ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x041638ab hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x041a8e23 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x043005a4 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x043d9003 ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x043f41b9 pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0x0446e5f2 devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0x0465a073 regmap_reg_in_ranges +EXPORT_SYMBOL_GPL vmlinux 0x046d1d01 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x046f359e of_overlay_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x0471cb4d dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0x0472cf3b register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x0474a653 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x048d446e devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0x049656b6 proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0x049e062d memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x049e134a of_usb_update_otg_caps +EXPORT_SYMBOL_GPL vmlinux 0x049e5156 gnttab_try_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x04a769f9 pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x04ada60c xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x04bf0092 io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x04c41c60 devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04c50483 meson8_pmx_ops +EXPORT_SYMBOL_GPL vmlinux 0x04c8aebf console_verbose +EXPORT_SYMBOL_GPL vmlinux 0x04c8fef1 mpc8xxx_spi_tx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x04eb038c kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x0504e06a wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x050bb750 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x050d3a99 acpi_initialize_hp_context +EXPORT_SYMBOL_GPL vmlinux 0x051a0bc1 stack_depot_fetch +EXPORT_SYMBOL_GPL vmlinux 0x0525f3e1 vchan_dma_desc_free_list +EXPORT_SYMBOL_GPL vmlinux 0x052b4013 register_vmcore_cb +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x053d738a __SCK__tp_func_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x0540f2ff devm_regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0545e3f8 dax_iomap_fault +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05610897 of_changeset_destroy +EXPORT_SYMBOL_GPL vmlinux 0x05641313 imx_clk_hw_sscg_pll +EXPORT_SYMBOL_GPL vmlinux 0x05736076 wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x05738134 xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0x05883efb __traceiter_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x058c6377 for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0x058f9366 apei_exec_collect_resources +EXPORT_SYMBOL_GPL vmlinux 0x05928c1b xen_dbgp_external_startup +EXPORT_SYMBOL_GPL vmlinux 0x05e79ad8 kvm_vcpu_write_guest_page +EXPORT_SYMBOL_GPL vmlinux 0x05f1bbd4 blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0x05f73b97 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x0604225f zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x06055a23 __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x060bf0fb gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x060e9477 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x061336ae blocking_notifier_chain_register_unique_prio +EXPORT_SYMBOL_GPL vmlinux 0x06170f6d regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL vmlinux 0x0626da5f od_unregister_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x0635b66c ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x063e9296 rpi_firmware_put +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x066b6012 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x067e84ff dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x068335f4 pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0x0695e72a led_blink_set_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x06aceb25 ping_close +EXPORT_SYMBOL_GPL vmlinux 0x06b6283b transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x06b970a5 zynqmp_pm_ospi_mux_select +EXPORT_SYMBOL_GPL vmlinux 0x06c1cff4 devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06d224f2 spi_split_transfers_maxsize +EXPORT_SYMBOL_GPL vmlinux 0x06d563a7 ahci_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x06ddf7f0 tegra_mc_write_emem_configuration +EXPORT_SYMBOL_GPL vmlinux 0x06e4433e sunxi_ccu_set_mmc_timing_mode +EXPORT_SYMBOL_GPL vmlinux 0x06e57855 bgpio_init +EXPORT_SYMBOL_GPL vmlinux 0x06f24474 dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x06fc0417 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x0704e175 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x0715f296 of_irq_parse_raw +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x0740cdf1 iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0x0745dfa3 ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x07483e13 cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0x074f0af1 gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x074f98db synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x0756a31c register_platform_power_off +EXPORT_SYMBOL_GPL vmlinux 0x07617ca4 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x076356e7 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x07681d31 pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x076d14a1 vp_modern_get_status +EXPORT_SYMBOL_GPL vmlinux 0x076f3d1e regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x077d9309 strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0x077dbbc7 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x0783de4d pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x07868a8e wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x078fb0a3 icc_link_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0793aa56 mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0x07974a53 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x07ab9425 dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x07abc85a device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07bd29ca sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x07be6905 net_inc_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x07ca7eca rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x07cd10e4 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x0802702a fsl_mc_obj_close +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x081d80b1 rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x082ad89a bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0x082b8725 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x083c0a7f tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x083eb1a9 xen_xenbus_fops +EXPORT_SYMBOL_GPL vmlinux 0x0841ac01 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x08576175 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x085bffd1 trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0x0869fee3 efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x087f4eff ehci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x087f5dc5 wm831x_of_match +EXPORT_SYMBOL_GPL vmlinux 0x08902548 blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0x0899ffa6 wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0x08a88a9f __SCK__tp_func_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x08c78cf7 offline_and_remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x08d25092 regulator_desc_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x08d4e2d5 acpi_pm_wakeup_event +EXPORT_SYMBOL_GPL vmlinux 0x08d70fb4 rio_request_mport_dma +EXPORT_SYMBOL_GPL vmlinux 0x08f7e703 crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x0900ed71 xdp_return_frame_bulk +EXPORT_SYMBOL_GPL vmlinux 0x0907d14d blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x0912f2e2 dw_pcie_ep_raise_msi_irq +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x091f274b metadata_dst_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x09337cd0 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x0935f1d3 mtk_is_virt_gpio +EXPORT_SYMBOL_GPL vmlinux 0x093786cf synth_event_add_field_str +EXPORT_SYMBOL_GPL vmlinux 0x093a6023 sata_lpm_ignore_phy_events +EXPORT_SYMBOL_GPL vmlinux 0x09434fa3 __reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x0957b8f7 fsl_mc_device_remove +EXPORT_SYMBOL_GPL vmlinux 0x095872d4 power_supply_get_property +EXPORT_SYMBOL_GPL vmlinux 0x09656cca edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x09675158 usb_get_maximum_speed +EXPORT_SYMBOL_GPL vmlinux 0x097ad3fb component_compare_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x097fd353 syscon_regmap_lookup_by_phandle_args +EXPORT_SYMBOL_GPL vmlinux 0x09a345d8 device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09b743cd genpd_dev_pm_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x09bbe360 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x09cfc91c gpiod_enable_hw_timestamp_ns +EXPORT_SYMBOL_GPL vmlinux 0x09d348ca pcie_aspm_capable +EXPORT_SYMBOL_GPL vmlinux 0x09de6ce3 user_read +EXPORT_SYMBOL_GPL vmlinux 0x09ef0cbc gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0x0a007594 regulator_irq_map_event_simple +EXPORT_SYMBOL_GPL vmlinux 0x0a024ee1 devm_phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0x0a0f6e30 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x0a1c3e8b sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0x0a3611e8 pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0a3f55e0 of_dma_is_coherent +EXPORT_SYMBOL_GPL vmlinux 0x0a463293 __tracepoint_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x0a52c511 hv_query_ext_cap +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a6d1060 __sock_recv_cmsgs +EXPORT_SYMBOL_GPL vmlinux 0x0a6efa71 regmap_fields_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x0a6f4c3c crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x0a752ba3 of_platform_device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0a7ceb30 __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x0a9a9fa1 crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x0a9c4cc4 pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0x0ab2df63 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x0abc6be6 k3_ringacc_ring_is_full +EXPORT_SYMBOL_GPL vmlinux 0x0ac3938b balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x0ac4c5a6 uart_get_rs485_mode +EXPORT_SYMBOL_GPL vmlinux 0x0ac77964 acpi_dev_ready_for_enumeration +EXPORT_SYMBOL_GPL vmlinux 0x0aca3473 cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0x0adf4e7e crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0x0ae19835 kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x0af40724 iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0x0b0525a5 encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b1bb9f9 synchronize_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x0b1d08a7 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x0b2db2d5 remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x0b326e7a ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x0b3a3ed7 zynqmp_pm_fpga_get_status +EXPORT_SYMBOL_GPL vmlinux 0x0b52e502 apei_resources_add +EXPORT_SYMBOL_GPL vmlinux 0x0b536a4d device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0x0b690f04 k3_udma_glue_tx_get_txcq_id +EXPORT_SYMBOL_GPL vmlinux 0x0b79d3b3 power_supply_get_property_from_supplier +EXPORT_SYMBOL_GPL vmlinux 0x0b80fe00 iptunnel_metadata_reply +EXPORT_SYMBOL_GPL vmlinux 0x0b8e0b57 seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0x0ba14d2f virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0x0bac92b9 devm_ti_sci_get_of_resource +EXPORT_SYMBOL_GPL vmlinux 0x0bb028d4 hisi_clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x0bb514e3 devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x0bbdc9b2 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x0bca7148 device_add +EXPORT_SYMBOL_GPL vmlinux 0x0bd0dc43 irq_domain_update_bus_token +EXPORT_SYMBOL_GPL vmlinux 0x0bf32478 __SCK__tp_func_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c054d77 gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x0c08299e devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x0c102272 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x0c2c5802 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0c2cf98a tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x0c3e6241 k3_udma_glue_disable_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x0c686382 crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0x0c79186c crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x0c805ea3 pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0x0c88c1c3 pci_vpd_find_id_string +EXPORT_SYMBOL_GPL vmlinux 0x0c89fd3d regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x0c970d40 devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0x0ca5ae95 ahci_stop_engine +EXPORT_SYMBOL_GPL vmlinux 0x0cb24d84 pinctrl_generic_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x0cbe3ee2 software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0cc4284c l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0x0cc51c4d strp_process +EXPORT_SYMBOL_GPL vmlinux 0x0cc80ffa usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x0cc9d36c iommu_group_claim_dma_owner +EXPORT_SYMBOL_GPL vmlinux 0x0ccf5275 zynqmp_pm_pinctrl_get_config +EXPORT_SYMBOL_GPL vmlinux 0x0cd907f2 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x0cdb2df2 __devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x0ce26c32 ethnl_cable_test_step +EXPORT_SYMBOL_GPL vmlinux 0x0ce3dd73 bman_is_probed +EXPORT_SYMBOL_GPL vmlinux 0x0cf0cc0d synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0x0d22966a fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0x0d29e305 of_clk_hw_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0x0d2cfda9 __xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0x0d452ff4 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x0d459213 work_on_cpu_safe +EXPORT_SYMBOL_GPL vmlinux 0x0d47f6aa rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x0d4961de nf_log_buf_open +EXPORT_SYMBOL_GPL vmlinux 0x0d4e3f8c iopf_queue_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0d592e54 linear_hugepage_index +EXPORT_SYMBOL_GPL vmlinux 0x0d5cecc6 ima_measure_critical_data +EXPORT_SYMBOL_GPL vmlinux 0x0d5ea27d anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0d5f24c0 dm_hold +EXPORT_SYMBOL_GPL vmlinux 0x0d717636 crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0x0d7ee623 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x0d890dad power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x0d9458ed fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0x0db0a7b5 ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x0dbfb5d6 spi_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x0dc6c98e l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0x0dd5f9e9 vp_legacy_config_vector +EXPORT_SYMBOL_GPL vmlinux 0x0dda7870 ftrace_free_filter +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0de17cec register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x0deaa2d0 dma_vunmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x0df48142 dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x0e007edf xen_evtchn_nr_channels +EXPORT_SYMBOL_GPL vmlinux 0x0e01a6b1 pci_hp_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0e099f34 efivars_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0e0c6a7d crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0x0e1194d5 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x0e13cb4d apei_resources_release +EXPORT_SYMBOL_GPL vmlinux 0x0e1dc2cb wp_shared_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x0e4ba6dc pci_aer_clear_nonfatal_status +EXPORT_SYMBOL_GPL vmlinux 0x0e4de966 pinctrl_select_state +EXPORT_SYMBOL_GPL vmlinux 0x0e5cc9d7 xdp_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x0e626e38 dev_attr_ncq_prio_enable +EXPORT_SYMBOL_GPL vmlinux 0x0e6b79af static_key_disable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x0e6e081e pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0e85dfb8 cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0x0e8b6e52 of_usb_get_dr_mode_by_phy +EXPORT_SYMBOL_GPL vmlinux 0x0e8f6235 nvdimm_badblocks_populate +EXPORT_SYMBOL_GPL vmlinux 0x0e9ebda3 nvmem_del_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x0ea5cbce xen_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x0ea66e2f clk_hw_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x0eb791c0 skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0x0ebb03a4 devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0ec096b0 hv_read_reference_counter +EXPORT_SYMBOL_GPL vmlinux 0x0ec20d09 acpi_gpiochip_free_interrupts +EXPORT_SYMBOL_GPL vmlinux 0x0ed6ba2c platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0efdfecc badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0x0f0c420e iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0x0f103bc6 mtk_pinconf_adv_drive_get +EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f183aa9 vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x0f1ec5de reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x0f3034f5 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x0f485a71 dummy_con +EXPORT_SYMBOL_GPL vmlinux 0x0f4da242 rio_alloc_net +EXPORT_SYMBOL_GPL vmlinux 0x0f72ada1 acpi_dev_resource_io +EXPORT_SYMBOL_GPL vmlinux 0x0f7ca236 dmi_memdev_name +EXPORT_SYMBOL_GPL vmlinux 0x0f7d5a87 nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0x0f8058f2 strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x0f99aaf2 devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0x0f9c3bbe __regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x0faa2c9a __tracepoint_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x0fb2349b ata_acpi_gtm_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x0fbb7344 memremap_compat_align +EXPORT_SYMBOL_GPL vmlinux 0x0fbc0c0e xas_pause +EXPORT_SYMBOL_GPL vmlinux 0x0fc8600a usb_alloc_dev +EXPORT_SYMBOL_GPL vmlinux 0x0fce0c46 pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0x0fd1fdee nvmem_cell_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x0fd4610e kmem_dump_obj +EXPORT_SYMBOL_GPL vmlinux 0x0fd7d5b4 rio_dma_prep_xfer +EXPORT_SYMBOL_GPL vmlinux 0x0fd97de1 gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x0fe7db83 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x0ff3703b of_mm_gpiochip_add_data +EXPORT_SYMBOL_GPL vmlinux 0x1007dd0e crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x10147f3c fat_time_fat2unix +EXPORT_SYMBOL_GPL vmlinux 0x1018f9aa iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0x101d01e3 meson_clk_pll_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x1033050e subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x10376b7c __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x103e01fb devm_bitmap_zalloc +EXPORT_SYMBOL_GPL vmlinux 0x1050614b clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x1051764a ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x1054f541 of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0x105737c2 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x106aa823 serial8250_do_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x10760a26 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x107af7a4 __mmc_poll_for_busy +EXPORT_SYMBOL_GPL vmlinux 0x108a0acd bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x1095045e dev_pm_opp_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x109d0c58 pwm_apply_state +EXPORT_SYMBOL_GPL vmlinux 0x10a40c9f pci_host_common_probe +EXPORT_SYMBOL_GPL vmlinux 0x10b55c35 kvm_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x10b7d6f5 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x10be1d47 fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0x10bf75dc fsl_mc_obj_reset +EXPORT_SYMBOL_GPL vmlinux 0x10d04289 blk_mq_complete_request_remote +EXPORT_SYMBOL_GPL vmlinux 0x10d7eb3f perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x10d9f317 stack_depot_init +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x110106c1 cper_severity_to_aer +EXPORT_SYMBOL_GPL vmlinux 0x110761ab gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0x111345eb rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x1114bebd extcon_get_edev_name +EXPORT_SYMBOL_GPL vmlinux 0x112279fd ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1135cb8a ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x1137210a pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x1145248a spi_take_timestamp_pre +EXPORT_SYMBOL_GPL vmlinux 0x114e8e62 pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0x1162e0c6 dev_pm_opp_of_add_table_noclk +EXPORT_SYMBOL_GPL vmlinux 0x1168416f synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0x116aa4d0 ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0x116d86cc gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0x116f532a powercap_register_zone +EXPORT_SYMBOL_GPL vmlinux 0x117c1213 of_reconfig_get_state_change +EXPORT_SYMBOL_GPL vmlinux 0x1188f50e of_hte_req_count +EXPORT_SYMBOL_GPL vmlinux 0x11995971 __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0x11d693b1 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x11e06ee9 badrange_init +EXPORT_SYMBOL_GPL vmlinux 0x11e880bc crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0x12034acc xenbus_watch_pathfmt +EXPORT_SYMBOL_GPL vmlinux 0x120e876d proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0x121d958a unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1225c36d fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x1234e483 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x1234ffa1 cper_estatus_check_header +EXPORT_SYMBOL_GPL vmlinux 0x12374624 rio_register_mport +EXPORT_SYMBOL_GPL vmlinux 0x123bc1c8 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x12450e6a clk_hw_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0x124e40e9 tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0x12525929 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x12537dae __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x125630c8 pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0x125cb7e4 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x1279770d dev_pm_opp_disable +EXPORT_SYMBOL_GPL vmlinux 0x127c24c2 fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0x127f1d4c kvm_get_kvm +EXPORT_SYMBOL_GPL vmlinux 0x12808527 cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x12903158 irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x129283ef dprc_reset_container +EXPORT_SYMBOL_GPL vmlinux 0x129334ae sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0x129e4b6b handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x12a46751 dm_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x12abf65d mptcp_subflow_init_cookie_req +EXPORT_SYMBOL_GPL vmlinux 0x12b741b8 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x12d51a5b platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x12e04ac8 devfreq_event_reset_event +EXPORT_SYMBOL_GPL vmlinux 0x12e4ed2b dma_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x12e520a5 tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x12eb60d4 gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x12ee1173 memory_group_unregister +EXPORT_SYMBOL_GPL vmlinux 0x13063146 watchdog_set_last_hw_keepalive +EXPORT_SYMBOL_GPL vmlinux 0x13074f48 dpbp_enable +EXPORT_SYMBOL_GPL vmlinux 0x13090724 add_vmfork_randomness +EXPORT_SYMBOL_GPL vmlinux 0x130d70fa bpf_trace_run10 +EXPORT_SYMBOL_GPL vmlinux 0x130ed363 devfreq_event_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x1333bc5a uart_console_device +EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x133f613e fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0x134397ca ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x1349736c __clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x136209db power_supply_reg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13640660 get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x136adddc trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x138756c3 to_nd_desc +EXPORT_SYMBOL_GPL vmlinux 0x138761cb dev_pm_opp_put_regulators +EXPORT_SYMBOL_GPL vmlinux 0x1387ad78 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x138904b5 ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0x138a1eb4 genphy_c45_read_pma +EXPORT_SYMBOL_GPL vmlinux 0x138aff76 gnttab_init +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x13a03cfa perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0x13b8fc49 devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x13c71e5e cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x13cb3bc2 rio_route_add_entry +EXPORT_SYMBOL_GPL vmlinux 0x13ce87e8 asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0x13d2c040 ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0x13d33370 __efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0x13d66c55 rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0x13d95e0a of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x13db1eb8 k3_udma_glue_rx_cppi5_to_dma_addr +EXPORT_SYMBOL_GPL vmlinux 0x13e51b4f adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0x13e9f366 acpi_dev_remove_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x13ef68e2 tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x13f7c715 __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x13fab921 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x13fd4fbb ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x13fe50b1 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x1403ad09 cpufreq_add_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x140aeb63 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x1411ba1d device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x1418eca4 edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x142d6e1f palmas_ext_control_req_config +EXPORT_SYMBOL_GPL vmlinux 0x1447ac47 __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x14484de2 pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x1456762b k3_ringacc_ring_get_free +EXPORT_SYMBOL_GPL vmlinux 0x1465fea9 dev_pm_opp_find_freq_ceil_by_volt +EXPORT_SYMBOL_GPL vmlinux 0x146cc88f bpf_master_redirect_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x146e9424 nvdimm_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x14700895 switchdev_handle_port_obj_del_foreign +EXPORT_SYMBOL_GPL vmlinux 0x147fce20 fixup_user_fault +EXPORT_SYMBOL_GPL vmlinux 0x148fd794 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x1498d8f8 spi_mem_default_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x14aee6f4 bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0x14c856c1 clk_register_hisi_phase +EXPORT_SYMBOL_GPL vmlinux 0x14cfcc2b device_property_present +EXPORT_SYMBOL_GPL vmlinux 0x14df7c80 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x14ec4fdb evtchn_put +EXPORT_SYMBOL_GPL vmlinux 0x14fd21f9 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x15021b4a xa_delete_node +EXPORT_SYMBOL_GPL vmlinux 0x150427b6 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x1513bf23 irq_domain_set_hwirq_and_chip +EXPORT_SYMBOL_GPL vmlinux 0x151723fb __efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x151b1dbb dpcon_open +EXPORT_SYMBOL_GPL vmlinux 0x1521e16f irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0x15242001 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x15284bfa irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x154fb0d5 ahci_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x155176f2 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1552335c ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x15553d2a xen_xlate_unmap_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0x1555f742 serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x15588ff3 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x156046d6 __percpu_init_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x156dc8f9 i2c_slave_register +EXPORT_SYMBOL_GPL vmlinux 0x15723444 gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x15824209 virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0x15883fb5 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x15886f48 hte_disable_ts +EXPORT_SYMBOL_GPL vmlinux 0x158a8995 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x159d5a81 devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0x15a087c3 mtk_pinconf_drive_set +EXPORT_SYMBOL_GPL vmlinux 0x15ade1cc filter_irq_stacks +EXPORT_SYMBOL_GPL vmlinux 0x15c60a71 __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x15c8272b power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x15cfc7e8 dev_pm_domain_start +EXPORT_SYMBOL_GPL vmlinux 0x15dc4735 devm_clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x15ea2648 hwpoison_filter_flags_mask +EXPORT_SYMBOL_GPL vmlinux 0x15f63e78 get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0x16049724 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x16129f77 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x161aed40 devlink_port_attrs_set +EXPORT_SYMBOL_GPL vmlinux 0x16336c47 wakeup_sources_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x16422a6e xdp_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x164dbb40 vp_modern_set_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x16516798 osc_pc_lpi_support_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x1668bcb8 crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x166c800c ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x166fd6b1 clean_record_shared_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x16709ae6 gnttab_dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x16763368 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x167d430d devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x167d7113 acpi_bus_register_early_device +EXPORT_SYMBOL_GPL vmlinux 0x1685958d regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x1687ec20 tty_get_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x1690b503 usb_role_switch_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x169660ca serial8250_init_port +EXPORT_SYMBOL_GPL vmlinux 0x16a40358 dev_pm_opp_set_opp +EXPORT_SYMBOL_GPL vmlinux 0x16addf1f dpbp_disable +EXPORT_SYMBOL_GPL vmlinux 0x16c5f9f5 dev_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0x16cba29e nvmem_device_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16dfbf36 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x16e705d0 devm_pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x16f15139 bind_evtchn_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x1710f249 ahci_platform_disable_resources +EXPORT_SYMBOL_GPL vmlinux 0x1713151b __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x173ac652 sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0x174c6274 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x174d53c6 device_rename +EXPORT_SYMBOL_GPL vmlinux 0x17591ecd zynqmp_pm_write_ggs +EXPORT_SYMBOL_GPL vmlinux 0x175dc30f adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x176031a7 devlink_fmsg_string_put +EXPORT_SYMBOL_GPL vmlinux 0x17614bf3 apei_resources_sub +EXPORT_SYMBOL_GPL vmlinux 0x1763e93c iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x1769cb74 fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x17768ddf devm_hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x177c7d91 tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0x177f415b cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0x178819cf blk_mark_disk_dead +EXPORT_SYMBOL_GPL vmlinux 0x1788c661 extcon_set_property +EXPORT_SYMBOL_GPL vmlinux 0x17a200b8 device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x17b194bf sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x17b3f618 regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x17c01273 skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0x17c44553 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x17e01f11 erst_clear +EXPORT_SYMBOL_GPL vmlinux 0x17f0cf20 iommu_map +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x18147c5b iommu_set_pgtable_quirks +EXPORT_SYMBOL_GPL vmlinux 0x1823a381 blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0x182656cc platform_has +EXPORT_SYMBOL_GPL vmlinux 0x18287ceb fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0x18300054 clk_hw_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x1833bf28 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x183c874e task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0x18428692 __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x185daeba mmc_pwrseq_register +EXPORT_SYMBOL_GPL vmlinux 0x18615d35 efivar_supports_writes +EXPORT_SYMBOL_GPL vmlinux 0x1863fec3 pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0x186b9600 dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0x18715353 k3_udma_glue_push_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x187b612e fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x187d5d39 bio_start_io_acct_time +EXPORT_SYMBOL_GPL vmlinux 0x1887abf7 fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0x188a659d devm_hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x188ef8c2 phy_10gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x189b6833 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x18a7fbb3 pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0x18b0e397 dev_pm_opp_get_max_volt_latency +EXPORT_SYMBOL_GPL vmlinux 0x18b1551a imx_clk_fracn_gppll +EXPORT_SYMBOL_GPL vmlinux 0x18b347a4 bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0x18bd0733 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x18be5244 iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0x18c0185e regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x18c602f1 lp8788_read_byte +EXPORT_SYMBOL_GPL vmlinux 0x18d34e14 led_trigger_write +EXPORT_SYMBOL_GPL vmlinux 0x18df7adf vp_legacy_get_driver_features +EXPORT_SYMBOL_GPL vmlinux 0x18e1334c skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x18e8c440 arch_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x18f10f38 k3_udma_glue_enable_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x18ff9e85 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x19032d6d trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0x19057397 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x190a7e59 fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x1922cb58 set_secondary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x1926028c zynqmp_pm_reset_assert +EXPORT_SYMBOL_GPL vmlinux 0x1927e895 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x19348f09 dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x193e8466 bdev_discard_alignment +EXPORT_SYMBOL_GPL vmlinux 0x1944e39b raw_v6_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x1947e6e6 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x196d55dd ohci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x19821689 __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x19896abb acpi_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x199ba1d9 gov_update_cpu_data +EXPORT_SYMBOL_GPL vmlinux 0x199d1914 trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19a54757 strp_done +EXPORT_SYMBOL_GPL vmlinux 0x19adec31 pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x19b354f7 kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL vmlinux 0x19c20269 soc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x19c6792c dax_writeback_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x19e12a0c report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0x19e81304 btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19ea3145 ti_sci_inta_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x19edd064 blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0x1a00a9e8 fsl_mc_bus_dpsw_type +EXPORT_SYMBOL_GPL vmlinux 0x1a04d31b of_pci_get_slot_power_limit +EXPORT_SYMBOL_GPL vmlinux 0x1a08ea87 debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x1a0ad0ca imx_pinctrl_parse_pin_scu +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a146ec3 usb_ep_type_string +EXPORT_SYMBOL_GPL vmlinux 0x1a199487 fsl_mc_portal_allocate +EXPORT_SYMBOL_GPL vmlinux 0x1a221b0c acpi_pci_find_root +EXPORT_SYMBOL_GPL vmlinux 0x1a525af9 rockchip_clk_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1a59f579 dev_pm_opp_get_max_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0x1a5d1271 bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a78739c __trace_trigger_soft_disabled +EXPORT_SYMBOL_GPL vmlinux 0x1a876574 __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x1a93f70d serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0x1a9b8e33 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x1aa87aa4 fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0x1aac797d gnttab_page_cache_init +EXPORT_SYMBOL_GPL vmlinux 0x1ab2c3fa class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x1ab81a25 spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1ac50ff3 clk_hw_get_parent_index +EXPORT_SYMBOL_GPL vmlinux 0x1acd18c8 cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x1ace9d9d regulator_set_ramp_delay_regmap +EXPORT_SYMBOL_GPL vmlinux 0x1ad3cfd4 mbox_client_peek_data +EXPORT_SYMBOL_GPL vmlinux 0x1ad55080 crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0x1ade5f75 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x1adf116b regulator_get_error_flags +EXPORT_SYMBOL_GPL vmlinux 0x1ae2a18c pinctrl_generic_get_group +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1af6098b platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x1b297b1e sbitmap_queue_recalculate_wake_batch +EXPORT_SYMBOL_GPL vmlinux 0x1b3edf6b perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0x1b5059ce ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x1b72d09d devm_otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0x1b790f22 ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x1b793e25 blk_next_bio +EXPORT_SYMBOL_GPL vmlinux 0x1b8822d8 pinctrl_gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x1b92e41d inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x1b991072 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x1b9ff610 aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0x1ba0d5b1 devm_extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1ba9c0c8 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x1bbdeeb4 hte_ts_get +EXPORT_SYMBOL_GPL vmlinux 0x1bc1b53c acpi_device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x1bc40a8d gpmc_omap_get_nand_ops +EXPORT_SYMBOL_GPL vmlinux 0x1bc5eebe pinctrl_gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x1bc64087 xas_split +EXPORT_SYMBOL_GPL vmlinux 0x1bc85e1c irq_set_affinity +EXPORT_SYMBOL_GPL vmlinux 0x1bcb07b6 of_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x1becc3dd usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x1bee4974 sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x1c02a60f phy_pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x1c1a859e stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0x1c227df4 of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x1c2bfc23 __traceiter_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x1c3d7405 blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0x1c44ef50 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1c453e57 of_msi_configure +EXPORT_SYMBOL_GPL vmlinux 0x1c45dd37 of_pwm_xlate_with_flags +EXPORT_SYMBOL_GPL vmlinux 0x1c5541bd cpufreq_boost_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c5ff742 clk_get_phase +EXPORT_SYMBOL_GPL vmlinux 0x1c64f94e regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x1c78ac3b devl_assert_locked +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c810a32 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x1c814926 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c89fb22 zynqmp_pm_clock_setparent +EXPORT_SYMBOL_GPL vmlinux 0x1c96578e pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0x1c971b5b sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x1c9eb434 ata_common_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0x1ca3aa97 alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0x1ca4a930 smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x1cb1e129 acpi_subsys_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x1cb39a91 devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x1cb7c983 apei_exec_read_register_value +EXPORT_SYMBOL_GPL vmlinux 0x1cb9a1c8 xenbus_gather +EXPORT_SYMBOL_GPL vmlinux 0x1cbd92b0 cpu_mitigations_off +EXPORT_SYMBOL_GPL vmlinux 0x1cc4d6c4 of_mm_gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x1ccdcffe fsverity_verify_page +EXPORT_SYMBOL_GPL vmlinux 0x1cd5e9f3 devm_devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x1cde5cc0 dmaengine_desc_set_metadata_len +EXPORT_SYMBOL_GPL vmlinux 0x1ce7d2a9 tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x1cff8eab sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0x1d0afe64 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x1d20307d vp_modern_set_features +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d374846 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x1d5921c1 wwan_put_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x1d5ddb6f psil_set_new_ep_config +EXPORT_SYMBOL_GPL vmlinux 0x1d5e656b usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x1d5efe98 pci_generic_ecam_ops +EXPORT_SYMBOL_GPL vmlinux 0x1d6696b0 mtk_mutex_disable +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1d8dcd56 of_get_videomode +EXPORT_SYMBOL_GPL vmlinux 0x1d90db04 blk_crypto_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0x1d94a218 dmi_memdev_handle +EXPORT_SYMBOL_GPL vmlinux 0x1d9b4d10 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x1da67e63 dev_pm_opp_set_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x1da9c7db iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0x1dae0b05 nfs42_ssc_register +EXPORT_SYMBOL_GPL vmlinux 0x1dcfdc75 xenbus_probe_node +EXPORT_SYMBOL_GPL vmlinux 0x1dd08e9e __irq_domain_alloc_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x1dd3701d devm_hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x1de7322a xenbus_probe_devices +EXPORT_SYMBOL_GPL vmlinux 0x1de887ff zynqmp_pm_bootmode_write +EXPORT_SYMBOL_GPL vmlinux 0x1deccc59 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x1df2488a ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x1df6bf4e key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0x1df6d79e led_sysfs_disable +EXPORT_SYMBOL_GPL vmlinux 0x1df71854 dev_pm_disable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x1df7eb42 phy_led_triggers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1df991e4 bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x1dfa5dbd mpi_invm +EXPORT_SYMBOL_GPL vmlinux 0x1dfcd0eb fscrypt_symlink_getattr +EXPORT_SYMBOL_GPL vmlinux 0x1e0670c6 reset_control_release +EXPORT_SYMBOL_GPL vmlinux 0x1e166cc8 max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x1e30242b devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x1e3bc77c xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0x1e4233dd blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0x1e424d61 user_preparse +EXPORT_SYMBOL_GPL vmlinux 0x1e4e98c0 acpi_dev_filter_resource_type +EXPORT_SYMBOL_GPL vmlinux 0x1e53f827 stack_depot_print +EXPORT_SYMBOL_GPL vmlinux 0x1e7b89d3 cros_ec_command +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e7e7f48 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x1e80fc01 fsl_mc_populate_irq_pool +EXPORT_SYMBOL_GPL vmlinux 0x1e83fee6 HYPERVISOR_physdev_op +EXPORT_SYMBOL_GPL vmlinux 0x1e858fe8 dev_pm_domain_detach +EXPORT_SYMBOL_GPL vmlinux 0x1e8fac8e wireless_nlevent_flush +EXPORT_SYMBOL_GPL vmlinux 0x1e90e356 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x1e90f341 arm64_mm_context_get +EXPORT_SYMBOL_GPL vmlinux 0x1e975fca clk_mux_determine_rate_flags +EXPORT_SYMBOL_GPL vmlinux 0x1e9bc719 freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x1e9c590a usb_find_common_endpoints_reverse +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebcc86b spi_finalize_current_transfer +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ecb66a1 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x1ed4d2eb percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x1edf1559 crypto_stats_rng_seed +EXPORT_SYMBOL_GPL vmlinux 0x1ef20793 stop_core_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x1efa8b59 cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x1efaa06f __tracepoint_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x1f09a53b ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL vmlinux 0x1f137457 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1f1cc011 zynqmp_pm_get_chipid +EXPORT_SYMBOL_GPL vmlinux 0x1f1ee4b1 __traceiter_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1f29661c gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x1f38a4f6 mpi_set_highbit +EXPORT_SYMBOL_GPL vmlinux 0x1f391f78 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x1f3e6446 cpufreq_driver_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x1f449588 mctrl_gpio_disable_ms +EXPORT_SYMBOL_GPL vmlinux 0x1f4f0b13 phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0x1f51160f gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f5ed7c7 __traceiter_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x1f5ef3dd __traceiter_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x1f713e6a iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f9a2b53 zynqmp_pm_clock_enable +EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x1fa27489 pci_epc_put +EXPORT_SYMBOL_GPL vmlinux 0x1fb1973b ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x1fb89d4d __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x1fbf2130 of_usb_host_tpl_support +EXPORT_SYMBOL_GPL vmlinux 0x1fcd7e9f init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x1fe10f93 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x1fe8fa68 devm_kasprintf_strarray +EXPORT_SYMBOL_GPL vmlinux 0x1fee7136 trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0x1ff59fce i2c_recover_bus +EXPORT_SYMBOL_GPL vmlinux 0x1ffad6e8 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x1ffc2ec9 irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0x2009e400 devlink_info_board_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x201c00ce tcf_dev_queue_xmit +EXPORT_SYMBOL_GPL vmlinux 0x20249cf4 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x202d4ed6 nvmem_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x202e53e1 dev_pm_opp_of_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x2035a82b rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x20391393 fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x20431f47 splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0x204f2c5c gnttab_free_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x205bd593 blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0x205ed483 of_reserved_mem_device_release +EXPORT_SYMBOL_GPL vmlinux 0x2060ba6e gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x20619b9b devlink_param_register +EXPORT_SYMBOL_GPL vmlinux 0x2075ff91 pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x207f6d4d unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x208641e5 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x20978fb9 idr_find +EXPORT_SYMBOL_GPL vmlinux 0x20a47506 genphy_c45_fast_retrain +EXPORT_SYMBOL_GPL vmlinux 0x20a73f7d meson_pmx_get_funcs_count +EXPORT_SYMBOL_GPL vmlinux 0x20b27122 devm_namespace_disable +EXPORT_SYMBOL_GPL vmlinux 0x20e487e2 dpcon_get_attributes +EXPORT_SYMBOL_GPL vmlinux 0x20ed81fc xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0x20f87534 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x20fc44ac serdev_acpi_get_uart_resource +EXPORT_SYMBOL_GPL vmlinux 0x21475c90 rio_unregister_mport +EXPORT_SYMBOL_GPL vmlinux 0x21486e1f __fscrypt_prepare_readdir +EXPORT_SYMBOL_GPL vmlinux 0x214f8ed9 dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x21581971 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0x215c1bae pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0x215e0677 xenbus_dev_probe +EXPORT_SYMBOL_GPL vmlinux 0x216bf830 sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x2176e42a hwpoison_filter_memcg +EXPORT_SYMBOL_GPL vmlinux 0x2177c90d bpf_trace_run1 +EXPORT_SYMBOL_GPL vmlinux 0x219387a2 rockchip_pcie_enable_clocks +EXPORT_SYMBOL_GPL vmlinux 0x219be201 serial8250_em485_start_tx +EXPORT_SYMBOL_GPL vmlinux 0x21a563da clk_get_accuracy +EXPORT_SYMBOL_GPL vmlinux 0x21ab8e3c tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21b6ba1b fixed_phy_register +EXPORT_SYMBOL_GPL vmlinux 0x21bf5d44 decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x21cc9fca power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21d88b80 tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x21eb1a6f synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0x21eb4ab2 fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x21ed2870 crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0x2200061c __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x220ce70c kvm_arm_hyp_service_available +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x22174442 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x221eab6d scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x2229cf7a perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0x224c4660 rio_enable_rx_tx_port +EXPORT_SYMBOL_GPL vmlinux 0x224c74c9 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x224e818e get_governor_parent_kobj +EXPORT_SYMBOL_GPL vmlinux 0x224ee561 blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x22605f25 regmap_get_max_register +EXPORT_SYMBOL_GPL vmlinux 0x2268fe91 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x226f0094 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x2270322e of_dma_xlate_by_chan_id +EXPORT_SYMBOL_GPL vmlinux 0x227d917d sampling_rate_store +EXPORT_SYMBOL_GPL vmlinux 0x22836532 trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x229a8ac5 __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0x22a07afc serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x22ab7517 devl_unlock +EXPORT_SYMBOL_GPL vmlinux 0x22c1f7eb fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x22c5f588 irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x22c7df11 usb_phy_get_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x22c9b2d2 lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0x22d60537 tcf_frag_xmit_count +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22d9fb76 rt_mutex_lock_killable +EXPORT_SYMBOL_GPL vmlinux 0x22dc09f5 put_device +EXPORT_SYMBOL_GPL vmlinux 0x22e93982 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x22ec5205 cpu_latency_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x22f31abb add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0x22fd08ba cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x23025002 __fscrypt_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0x231b699d handle_fasteoi_ack_irq +EXPORT_SYMBOL_GPL vmlinux 0x232a61c7 scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0x232d518b rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x233767e9 __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x233b8698 fsl_mc_resource_free +EXPORT_SYMBOL_GPL vmlinux 0x23412816 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x23639f57 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x2368f915 crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x23796d8f tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0x237a01fb crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0x237b1410 sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x2396c7f0 clk_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x23ac8ce0 screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0x23b0e691 phy_pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x23bba35b clk_fractional_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x23c009f0 devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0x23c30a36 udp_tunnel_nic_ops +EXPORT_SYMBOL_GPL vmlinux 0x23cd1f2e edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x23cdb384 gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0x23d03b82 ata_acpi_gtm +EXPORT_SYMBOL_GPL vmlinux 0x23db1add kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0x23f1bd3a imx_clk_hw_pfdv2 +EXPORT_SYMBOL_GPL vmlinux 0x24173806 clk_regmap_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0x241c1360 tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2421097b mpi_const +EXPORT_SYMBOL_GPL vmlinux 0x24350749 msg_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0x2438976e pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0x243eb510 mmc_sanitize +EXPORT_SYMBOL_GPL vmlinux 0x24413343 erst_read_record +EXPORT_SYMBOL_GPL vmlinux 0x244ce391 pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0x24615b48 irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x2464da17 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x2469810f __rcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x246efc69 ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x247f09a4 nvdimm_has_cache +EXPORT_SYMBOL_GPL vmlinux 0x2484e789 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x2486eb76 dt_init_idle_driver +EXPORT_SYMBOL_GPL vmlinux 0x248bc867 raw_notifier_call_chain_robust +EXPORT_SYMBOL_GPL vmlinux 0x248c98cb xenbus_register_driver_common +EXPORT_SYMBOL_GPL vmlinux 0x248e1473 kfree_strarray +EXPORT_SYMBOL_GPL vmlinux 0x24a735c6 acpi_ec_remove_query_handler +EXPORT_SYMBOL_GPL vmlinux 0x24ad11db wakeup_sources_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24da3d03 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x24de45bc fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0x24df5e97 of_remove_property +EXPORT_SYMBOL_GPL vmlinux 0x24e0e22b md_start +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24ebe3f9 regmap_write_async +EXPORT_SYMBOL_GPL vmlinux 0x24f39c39 reset_control_reset +EXPORT_SYMBOL_GPL vmlinux 0x24f63dcf ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x24f70c7b phy_led_trigger_change_speed +EXPORT_SYMBOL_GPL vmlinux 0x24fc50f4 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x25301bc6 arch_wb_cache_pmem +EXPORT_SYMBOL_GPL vmlinux 0x25379e73 clk_set_min_rate +EXPORT_SYMBOL_GPL vmlinux 0x253db1cb of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x2555187c regulator_is_equal +EXPORT_SYMBOL_GPL vmlinux 0x2556d0e4 switchdev_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x2574da11 zynqmp_pm_write_pggs +EXPORT_SYMBOL_GPL vmlinux 0x257cfd19 mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x2580da77 regulator_set_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x2580e22f clk_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x2587d6d3 tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x259a85c4 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x25b76dc2 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x25bbfa9a security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x25beafa0 bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0x25eee43e fscrypt_set_bio_crypt_ctx +EXPORT_SYMBOL_GPL vmlinux 0x25f1a4c8 irq_gc_mask_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x25f4838b devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x25fe18de dev_pm_qos_update_user_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x26051dcc vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0x260d5f81 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x26111a9d iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0x2618a960 devm_tegra_core_dev_init_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x261a5eb8 devm_pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x261de1e4 split_page +EXPORT_SYMBOL_GPL vmlinux 0x26336850 pin_get_name +EXPORT_SYMBOL_GPL vmlinux 0x26430d5d __auxiliary_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x264ee69e spi_mem_dirmap_write +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x265bbef9 kexec_crash_loaded +EXPORT_SYMBOL_GPL vmlinux 0x266a4b08 tasklet_unlock +EXPORT_SYMBOL_GPL vmlinux 0x26717c53 trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0x26779ebe devl_port_register +EXPORT_SYMBOL_GPL vmlinux 0x26792328 sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x268dce89 of_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0x2694173a crypto_shash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x269759dc rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x26a0f6dd of_clk_src_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0x26a53db8 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x26a93eb2 verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26bdeb37 relay_open +EXPORT_SYMBOL_GPL vmlinux 0x26be1495 gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0x26bf3e22 ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x26c0e278 fsl_mc_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x26c7fd05 rio_route_get_entry +EXPORT_SYMBOL_GPL vmlinux 0x26c878a3 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26d1cffe usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x26d45bd8 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x26f1f29b regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x26f23518 clk_hw_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL vmlinux 0x27177f72 acpi_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0x272ac459 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x272e9d77 hisi_reset_exit +EXPORT_SYMBOL_GPL vmlinux 0x27399859 disk_alloc_independent_access_ranges +EXPORT_SYMBOL_GPL vmlinux 0x273ac581 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x273eb4c2 virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0x27461682 kvm_vcpu_gfn_to_page +EXPORT_SYMBOL_GPL vmlinux 0x274dd1a3 sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x274ff4f8 of_genpd_parse_idle_states +EXPORT_SYMBOL_GPL vmlinux 0x275507e0 devm_clk_get_enabled +EXPORT_SYMBOL_GPL vmlinux 0x2773c485 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x27741b69 component_add +EXPORT_SYMBOL_GPL vmlinux 0x279b56aa phy_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x27a1b6d0 devm_clk_hw_get_clk +EXPORT_SYMBOL_GPL vmlinux 0x27a425ce scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x27ac0da5 posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x27cb6f77 vp_legacy_probe +EXPORT_SYMBOL_GPL vmlinux 0x27d4e813 mmc_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0x27d926ef usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x27dc9471 __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x27e2bd1e blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x27fe4750 mtk_alloc_clk_data +EXPORT_SYMBOL_GPL vmlinux 0x2800dc42 ehci_adjust_port_wakeup_flags +EXPORT_SYMBOL_GPL vmlinux 0x280e2c1a led_set_brightness_nosleep +EXPORT_SYMBOL_GPL vmlinux 0x281533a7 __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0x2817f7fd cppc_get_desired_perf +EXPORT_SYMBOL_GPL vmlinux 0x281dd2f5 nvdimm_bus_add_badrange +EXPORT_SYMBOL_GPL vmlinux 0x282b95b9 dev_pm_opp_detach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x282cdabc usb_led_activity +EXPORT_SYMBOL_GPL vmlinux 0x28310bcd kasprintf_strarray +EXPORT_SYMBOL_GPL vmlinux 0x283180a2 pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0x2842fa5b sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x2849d4c0 clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0x285b9b87 gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x2869d3a9 netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x286f95d0 sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0x287d9aa0 folio_invalidate +EXPORT_SYMBOL_GPL vmlinux 0x2882d40e usb_role_switch_unregister +EXPORT_SYMBOL_GPL vmlinux 0x288caaff attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x289749d5 gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x28aa6a67 call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x28ab4fb9 pinctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x28afbb08 cpu_latency_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x28b030d2 of_overlay_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x28d01577 clkdev_hw_create +EXPORT_SYMBOL_GPL vmlinux 0x28d3b9af rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x28d696f4 reset_control_get_count +EXPORT_SYMBOL_GPL vmlinux 0x28e5f900 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x28f5627e pinconf_generic_parse_dt_config +EXPORT_SYMBOL_GPL vmlinux 0x2904520a regmap_irq_get_domain +EXPORT_SYMBOL_GPL vmlinux 0x2910767b __traceiter_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x291876f3 mpi_ec_get_affine +EXPORT_SYMBOL_GPL vmlinux 0x291bf2a8 usb_hcd_amd_remote_wakeup_quirk +EXPORT_SYMBOL_GPL vmlinux 0x291c83f1 pci_epc_map_msi_irq +EXPORT_SYMBOL_GPL vmlinux 0x29527624 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x295b982a hisi_clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x29713de8 serial8250_get_port +EXPORT_SYMBOL_GPL vmlinux 0x298c2419 devm_of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x298ef6e3 xenbus_dev_cancel +EXPORT_SYMBOL_GPL vmlinux 0x2998b9a5 ping_bind +EXPORT_SYMBOL_GPL vmlinux 0x29bc6fe2 phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x29d76547 k3_udma_glue_tdown_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x29db2d71 gnttab_unmap_refs_async +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x29f7d3b3 cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0x29ffc952 dax_inode +EXPORT_SYMBOL_GPL vmlinux 0x2a04f109 synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0x2a0ac68d tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x2a25e813 gpiod_disable_hw_timestamp_ns +EXPORT_SYMBOL_GPL vmlinux 0x2a2be53f pm_clk_add +EXPORT_SYMBOL_GPL vmlinux 0x2a35dc5b devm_fwnode_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x2a37ea11 imx_clk_hw_frac_pll +EXPORT_SYMBOL_GPL vmlinux 0x2a5ea9ef rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a635b2b i2c_acpi_client_count +EXPORT_SYMBOL_GPL vmlinux 0x2a67c392 nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0x2a6bfccd virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0x2a6bfcdc xenbus_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x2a7316da __SCK__tp_func_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x2a883391 wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0x2a976d1c dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x2aa3d8e9 restore_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x2aadad1a efi_capsule_update +EXPORT_SYMBOL_GPL vmlinux 0x2ab6cc61 crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0x2abf99c8 of_css +EXPORT_SYMBOL_GPL vmlinux 0x2ac288cf regulator_map_voltage_ascend +EXPORT_SYMBOL_GPL vmlinux 0x2ae1689e zynqmp_pm_clock_getdivider +EXPORT_SYMBOL_GPL vmlinux 0x2aea9f56 acpi_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0x2af7f918 dpbp_close +EXPORT_SYMBOL_GPL vmlinux 0x2aff986f param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x2b0a6c3f of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x2b0cbc56 kvm_vcpu_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x2b0fe000 gnttab_cancel_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x2b17badb ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x2b1b018c dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0x2b1e1acd cpuidle_get_cpu_driver +EXPORT_SYMBOL_GPL vmlinux 0x2b4509dd devlink_health_reporter_state_update +EXPORT_SYMBOL_GPL vmlinux 0x2b46d913 tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0x2b4d2a7d led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2b51ee99 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x2b5231f2 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x2b5a945e xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x2b6150fb power_supply_temp2resist_simple +EXPORT_SYMBOL_GPL vmlinux 0x2b699297 scmi_protocol_register +EXPORT_SYMBOL_GPL vmlinux 0x2b6d960d synth_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x2b76646e pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x2b78011e pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0x2b79f092 ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0x2b7a89cb ata_std_sched_eh +EXPORT_SYMBOL_GPL vmlinux 0x2b7d15dc dev_pm_opp_free_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x2b81293a i2c_acpi_find_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x2b850c68 devm_extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x2b86f0fd zynqmp_pm_bootmode_read +EXPORT_SYMBOL_GPL vmlinux 0x2b8d9aee acpi_bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x2b931676 pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x2b952517 clk_has_parent +EXPORT_SYMBOL_GPL vmlinux 0x2b960b66 qman_is_probed +EXPORT_SYMBOL_GPL vmlinux 0x2b9997fb atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x2ba5cb7e dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x2ba89ee7 mtk_clk_unregister_factors +EXPORT_SYMBOL_GPL vmlinux 0x2bb42c05 meson_clk_dualdiv_ops +EXPORT_SYMBOL_GPL vmlinux 0x2bbc87ce tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0x2bc1c6a6 nvmem_device_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x2bdf5ab0 pm_wakeup_pending +EXPORT_SYMBOL_GPL vmlinux 0x2bed54c2 dev_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0x2bf829e8 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x2bf831cd pm_runtime_force_resume +EXPORT_SYMBOL_GPL vmlinux 0x2bf9b4da __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0x2c19ee3b sock_map_unhash +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c36cc85 __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0x2c411e3b acpi_subsys_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x2c479da9 __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0x2c597aa3 blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0x2c5b19fc crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x2c61cfcb gnttab_dma_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x2c635527 arch_invalidate_pmem +EXPORT_SYMBOL_GPL vmlinux 0x2c66ac85 devlink_info_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x2c75ab42 ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0x2c790d4a __tracepoint_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c81a826 imx_1443x_pll +EXPORT_SYMBOL_GPL vmlinux 0x2c8506ca tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x2c8dd6b8 edac_mem_types +EXPORT_SYMBOL_GPL vmlinux 0x2c95fc04 pwm_request_from_chip +EXPORT_SYMBOL_GPL vmlinux 0x2c97f8a2 of_reconfig_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2ca7ae61 thermal_zone_device_enable +EXPORT_SYMBOL_GPL vmlinux 0x2ca90f30 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x2caf0b32 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x2cafab25 gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x2cc495c5 rpi_firmware_property_list +EXPORT_SYMBOL_GPL vmlinux 0x2cc9d064 sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x2ccc4ab9 xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0x2cd91fad ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x2ce2e954 of_console_check +EXPORT_SYMBOL_GPL vmlinux 0x2ce61f33 __SCK__tp_func_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x2d0684a9 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x2d096119 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x2d09947b perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x2d0e929a phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x2d0eacbb pci_host_common_remove +EXPORT_SYMBOL_GPL vmlinux 0x2d15e2c9 fixed_phy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d28dcf0 dma_get_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x2d2c902f perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current +EXPORT_SYMBOL_GPL vmlinux 0x2d338b13 pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0x2d387bd2 skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0x2d4027ca uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts +EXPORT_SYMBOL_GPL vmlinux 0x2d430425 devm_of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x2d4377c2 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x2d609547 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x2d6aa0f0 arch_apei_enable_cmcff +EXPORT_SYMBOL_GPL vmlinux 0x2d7f75d6 serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x2da1f525 pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0x2db67d4a owl_sps_set_pg +EXPORT_SYMBOL_GPL vmlinux 0x2dbffa13 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x2dc57847 __traceiter_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x2dc58b61 set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x2dcc1adc usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x2dcfcef0 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x2dd3711b inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x2dd8f69b nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x2ddd5b55 devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0x2dee1f2e kvm_irq_has_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2def9ca0 icc_node_create +EXPORT_SYMBOL_GPL vmlinux 0x2e028ae6 rcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x2e08226d badrange_add +EXPORT_SYMBOL_GPL vmlinux 0x2e100eeb tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x2e1ce0a3 blk_mq_wait_quiesce_done +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e30940b acpi_dev_get_resources +EXPORT_SYMBOL_GPL vmlinux 0x2e31e801 get_device +EXPORT_SYMBOL_GPL vmlinux 0x2e38f56d vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x2e41eaaf usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x2e5f821d dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0x2e66298c __SCK__tp_func_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x2e6f1a66 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x2e6f1cbc regulator_map_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x2e6f90e8 cpufreq_dbs_governor_init +EXPORT_SYMBOL_GPL vmlinux 0x2e715677 hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x2e7b0b34 usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x2e7bef02 scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x2e9a3c87 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x2e9ec24d free_iova +EXPORT_SYMBOL_GPL vmlinux 0x2ea2fc73 imx_obtain_fixed_clk_hw +EXPORT_SYMBOL_GPL vmlinux 0x2eb1faaa crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x2eb3a258 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x2ebb19fd execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ed489ec gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL vmlinux 0x2ee7c52b btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x2ef7ac72 yield_to +EXPORT_SYMBOL_GPL vmlinux 0x2efb018d pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0x2f02d9ce mptcp_diag_fill_info +EXPORT_SYMBOL_GPL vmlinux 0x2f0d9053 usb_otg_state_string +EXPORT_SYMBOL_GPL vmlinux 0x2f100b72 thermal_zone_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2f1ea064 __SCK__tp_func_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x2f2c95c4 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2f3118d8 spi_controller_resume +EXPORT_SYMBOL_GPL vmlinux 0x2f443f17 pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0x2f4880df static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x2f575fba devm_of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x2f64415f unregister_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2f661e0d usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x2f678bdb nd_region_dev +EXPORT_SYMBOL_GPL vmlinux 0x2f72b186 usb_acpi_power_manageable +EXPORT_SYMBOL_GPL vmlinux 0x2f762601 devm_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0x2faa7ad6 regmap_check_range_table +EXPORT_SYMBOL_GPL vmlinux 0x2fac3c71 k3_ringacc_request_rings_pair +EXPORT_SYMBOL_GPL vmlinux 0x2faf19c5 skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0x2fb8324c __traceiter_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x2fbe8d50 spi_mem_adjust_op_size +EXPORT_SYMBOL_GPL vmlinux 0x2fc1e0fe kmem_valid_obj +EXPORT_SYMBOL_GPL vmlinux 0x2fc53a22 __traceiter_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x2fcc6856 fsl_mc_bus_dpdcei_type +EXPORT_SYMBOL_GPL vmlinux 0x2fde96d2 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x2fff4e45 pinctrl_pm_select_idle_state +EXPORT_SYMBOL_GPL vmlinux 0x2fffeaa7 uprobe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x301c3d21 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x30202d67 mpc8xxx_spi_tx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x3025eee0 tegra210_clk_emc_dll_update_setting +EXPORT_SYMBOL_GPL vmlinux 0x302a03f5 kvm_vcpu_read_guest +EXPORT_SYMBOL_GPL vmlinux 0x30351294 k3_udma_glue_rx_flow_get_fdq_id +EXPORT_SYMBOL_GPL vmlinux 0x304f71e3 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x3067041b serial8250_em485_config +EXPORT_SYMBOL_GPL vmlinux 0x307a304b pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0x30a4ff44 genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x30b54c13 kvm_vcpu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x30b8135d regmap_raw_write_async +EXPORT_SYMBOL_GPL vmlinux 0x30ba08f8 bd_prepare_to_claim +EXPORT_SYMBOL_GPL vmlinux 0x30c4b88f wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x30d022d1 dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0x30de6ba2 reset_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x30e1ec25 apei_map_generic_address +EXPORT_SYMBOL_GPL vmlinux 0x30f1f57d fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x30f7e267 rdev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x30f7fc64 virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0x30fd595f skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x30fe75d2 mtk_clk_register_composites +EXPORT_SYMBOL_GPL vmlinux 0x31019477 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x31128b8e hv_remove_kexec_handler +EXPORT_SYMBOL_GPL vmlinux 0x311c6da4 put_iova_domain +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x312f7996 clk_hw_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x313c13e1 dev_pm_clear_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x313ea5fd ipi_send_single +EXPORT_SYMBOL_GPL vmlinux 0x314d24e3 handle_fasteoi_irq +EXPORT_SYMBOL_GPL vmlinux 0x3156ec64 nvdimm_bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3166af76 rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x3170973a irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x318299fa gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0x31839ad3 software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x3187490a __SCK__tp_func_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x3192d768 cpufreq_remove_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x319c3a17 pci_find_vsec_capability +EXPORT_SYMBOL_GPL vmlinux 0x31a1f612 scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31ca535b bpf_trace_run2 +EXPORT_SYMBOL_GPL vmlinux 0x31d34278 xas_load +EXPORT_SYMBOL_GPL vmlinux 0x31dca4d8 gnttab_claim_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x31dd24ac dev_pm_opp_of_register_em +EXPORT_SYMBOL_GPL vmlinux 0x31de37dd bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0x31e2c120 kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0x31e9e8d5 zynqmp_pm_set_suspend_mode +EXPORT_SYMBOL_GPL vmlinux 0x31ee815b kvm_read_guest_cached +EXPORT_SYMBOL_GPL vmlinux 0x31eef694 phy_led_triggers_register +EXPORT_SYMBOL_GPL vmlinux 0x31f0bbad pci_iov_get_pf_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x31f1cade pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x31f97c61 raw_abort +EXPORT_SYMBOL_GPL vmlinux 0x320da048 acpi_cppc_processor_probe +EXPORT_SYMBOL_GPL vmlinux 0x32225086 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3224b2a9 mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0x323a2c1e mctrl_gpio_init_noauto +EXPORT_SYMBOL_GPL vmlinux 0x3246888b __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x324afcee dpbp_reset +EXPORT_SYMBOL_GPL vmlinux 0x324cfdae fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0x325888a3 __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x326cefe5 hwpoison_filter_dev_minor +EXPORT_SYMBOL_GPL vmlinux 0x326df998 of_property_read_variable_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x32767a9d bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0x327a2687 bind_evtchn_to_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x32836981 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x32872154 irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x3288b93b __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0x328b1d7b sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x3294c978 iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0x329ae8cc pstore_unregister +EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x32bc0fcf preempt_notifier_dec +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32df33e7 x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x32ec6f83 find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x32ef308b l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0x32f90369 sdio_retune_release +EXPORT_SYMBOL_GPL vmlinux 0x32fab2cb regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x32fb0cca gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0x330010b6 cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x33046349 virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x330f6116 set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x33292af4 dev_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0x3329f8ff unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x33328b6f irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0x334a0c60 l3mdev_ifindex_lookup_by_table_id +EXPORT_SYMBOL_GPL vmlinux 0x33588ef8 virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x3371bd0c fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x33787811 regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x337ccfea sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x337dfc4f cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0x33aae30f xdp_return_buff +EXPORT_SYMBOL_GPL vmlinux 0x33b197e4 devm_thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0x33b7cb1a fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x33bdabd1 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x33d0c699 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x33ed1067 acpi_get_first_physical_node +EXPORT_SYMBOL_GPL vmlinux 0x34030791 fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0x34200624 of_pci_parse_bus_range +EXPORT_SYMBOL_GPL vmlinux 0x342bc466 ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x34331f04 acpi_os_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0x34362501 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x344361a1 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0x344a2c84 iomap_dio_complete +EXPORT_SYMBOL_GPL vmlinux 0x3450ad94 mpi_set_ui +EXPORT_SYMBOL_GPL vmlinux 0x34586201 of_clk_add_provider +EXPORT_SYMBOL_GPL vmlinux 0x34652bf2 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x346a44c5 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x346b7987 crypto_grab_kpp +EXPORT_SYMBOL_GPL vmlinux 0x3476ac5b list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0x347cbefb devm_hwmon_sanitize_name +EXPORT_SYMBOL_GPL vmlinux 0x34830d0c devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x34a05a00 mtk_pinconf_adv_drive_set_raw +EXPORT_SYMBOL_GPL vmlinux 0x34a7b142 __SCK__tp_func_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x34cfab56 devm_clk_get_prepared +EXPORT_SYMBOL_GPL vmlinux 0x34d160c3 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x34d3249c debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x34d4f392 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x34db20fc ahci_print_info +EXPORT_SYMBOL_GPL vmlinux 0x34df7040 acpi_match_device +EXPORT_SYMBOL_GPL vmlinux 0x34eab46d bind_evtchn_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x34fc4ad3 __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x34ff87c9 __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x350961e1 fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0x350f6ce5 tasklet_unlock_wait +EXPORT_SYMBOL_GPL vmlinux 0x35210a7c of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x352b3813 maxim_charger_calc_reg_current +EXPORT_SYMBOL_GPL vmlinux 0x352cd7d3 dev_coredumpm +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x35378f97 serial8250_do_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x3538443f ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x353dc7ba fsl_mc_bus_dpcon_type +EXPORT_SYMBOL_GPL vmlinux 0x353ec939 clk_regmap_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0x3542f56d pm_genpd_remove +EXPORT_SYMBOL_GPL vmlinux 0x3547ecd2 devm_thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x355b2ef2 ti_sci_put_handle +EXPORT_SYMBOL_GPL vmlinux 0x355b9f02 fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0x355bc89a klist_next +EXPORT_SYMBOL_GPL vmlinux 0x3562f983 read_sanitised_ftr_reg +EXPORT_SYMBOL_GPL vmlinux 0x3565a929 utf8_data_table +EXPORT_SYMBOL_GPL vmlinux 0x35664fe7 regulator_get_hardware_vsel_register +EXPORT_SYMBOL_GPL vmlinux 0x357232d6 irq_domain_create_simple +EXPORT_SYMBOL_GPL vmlinux 0x357261c0 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x357457c3 psil_get_ep_config +EXPORT_SYMBOL_GPL vmlinux 0x3576115e kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x357b977f eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x358ff60f twl_get_hfclk_rate +EXPORT_SYMBOL_GPL vmlinux 0x359f6914 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x35a4f59d zynqmp_pm_clock_setdivider +EXPORT_SYMBOL_GPL vmlinux 0x35b277dc fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x35b45828 battery_hook_unregister +EXPORT_SYMBOL_GPL vmlinux 0x35b55b99 sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0x35cd810a pm_runtime_force_suspend +EXPORT_SYMBOL_GPL vmlinux 0x35cfa6d5 virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0x35d0f1bc devm_of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x35d3dc46 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x35e3fa77 pci_dev_lock +EXPORT_SYMBOL_GPL vmlinux 0x35f05af8 device_driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x35f5849a tegra_bpmp_mrq_return +EXPORT_SYMBOL_GPL vmlinux 0x35f92407 get_state_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x361cb96c srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x3623e82c acpi_get_pci_dev +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x36245a78 ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0x363c335c hte_push_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x36489ea0 rio_unlock_device +EXPORT_SYMBOL_GPL vmlinux 0x3653eb60 blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0x365838f9 irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0x365989e5 imx_1416x_pll +EXPORT_SYMBOL_GPL vmlinux 0x365b45d1 __tracepoint_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x366cae07 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x367a59e6 cpufreq_driver_resolve_freq +EXPORT_SYMBOL_GPL vmlinux 0x3686c814 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x36888f77 pci_hp_add +EXPORT_SYMBOL_GPL vmlinux 0x36898d6f gpiod_remove_hogs +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x36ac17ab alloc_iova_fast +EXPORT_SYMBOL_GPL vmlinux 0x36afd08c qcom_smem_state_register +EXPORT_SYMBOL_GPL vmlinux 0x36b1ab2c pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x36c234a4 mpc8xxx_spi_tx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0x36db870b zynqmp_pm_sha_hash +EXPORT_SYMBOL_GPL vmlinux 0x3708f1f8 irq_domain_create_sim +EXPORT_SYMBOL_GPL vmlinux 0x37169f79 cpu_latency_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x371ffb81 devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0x372c777c skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x372e60bc component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0x37309672 pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0x373358b3 dax_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0x373effef ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0x3746d7ec irq_generic_chip_ops +EXPORT_SYMBOL_GPL vmlinux 0x3750d770 erst_read +EXPORT_SYMBOL_GPL vmlinux 0x3758aa84 serial8250_rx_dma_flush +EXPORT_SYMBOL_GPL vmlinux 0x37626619 class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x37650d14 rpi_firmware_get +EXPORT_SYMBOL_GPL vmlinux 0x37695801 gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x3775c25b k3_udma_glue_tx_cppi5_to_dma_addr +EXPORT_SYMBOL_GPL vmlinux 0x377bbcbc pm_suspend_target_state +EXPORT_SYMBOL_GPL vmlinux 0x377daa86 pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x378228a4 iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0x378adfb7 zynqmp_pm_sd_dll_reset +EXPORT_SYMBOL_GPL vmlinux 0x37914025 xenbus_write +EXPORT_SYMBOL_GPL vmlinux 0x37916cc8 phy_speed_up +EXPORT_SYMBOL_GPL vmlinux 0x37a0c351 pinctrl_generic_get_group_name +EXPORT_SYMBOL_GPL vmlinux 0x37a1ff21 devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x37b1162c fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x37b6298c tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0x37b888d0 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0x37bf7be3 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x37c12d46 fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0x37c2393b clk_regmap_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x37c76b93 tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0x37cee3cb acpi_dma_request_slave_chan_by_index +EXPORT_SYMBOL_GPL vmlinux 0x37d0650b virtio_require_restricted_mem_acc +EXPORT_SYMBOL_GPL vmlinux 0x37d6389a genphy_c45_pma_baset1_read_master_slave +EXPORT_SYMBOL_GPL vmlinux 0x37e49786 irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x37e8d3f2 xenbus_unmap_ring_vfree +EXPORT_SYMBOL_GPL vmlinux 0x37eb6c0b devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3801776b __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x380dde36 power_supply_batinfo_ocv2cap +EXPORT_SYMBOL_GPL vmlinux 0x38176464 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3818df14 tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0x381a6b63 devm_platform_get_irqs_affinity +EXPORT_SYMBOL_GPL vmlinux 0x38268b62 icc_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x383ec843 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x383fcf0d usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x384613ca inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x385035fb ahci_init_controller +EXPORT_SYMBOL_GPL vmlinux 0x3851519d crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x385c495e devm_thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x385f2c21 devm_regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x3863278e rockchip_pcie_init_port +EXPORT_SYMBOL_GPL vmlinux 0x3866e217 nvmem_device_write +EXPORT_SYMBOL_GPL vmlinux 0x38708e25 inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0x38860a3d virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0x388d9802 rio_route_clr_table +EXPORT_SYMBOL_GPL vmlinux 0x389b64a2 static_key_count +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38b206f2 regmap_fields_read +EXPORT_SYMBOL_GPL vmlinux 0x38b445ee pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0x38b8beae __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x38bc54a6 misc_cg_uncharge +EXPORT_SYMBOL_GPL vmlinux 0x38c3ff30 freq_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x38caaf50 tegra_bpmp_put +EXPORT_SYMBOL_GPL vmlinux 0x38ccd4a5 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x38d4f338 device_iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0x38e1fde7 mpi_set +EXPORT_SYMBOL_GPL vmlinux 0x38e30eb5 clkdev_create +EXPORT_SYMBOL_GPL vmlinux 0x38e5bc5a clk_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x38efd85d tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0x38f2d1c6 cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x38fa05e0 ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0x3917cdd5 edac_pci_handle_pe +EXPORT_SYMBOL_GPL vmlinux 0x39393064 devlink_port_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x394058ab device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x396c3322 acpi_register_gsi +EXPORT_SYMBOL_GPL vmlinux 0x3975130f sec_irq_init +EXPORT_SYMBOL_GPL vmlinux 0x3979a9e0 fuse_dax_cancel_work +EXPORT_SYMBOL_GPL vmlinux 0x397e2142 __SCK__tp_func_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x3982b5a1 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x399528dc thermal_zone_device_register +EXPORT_SYMBOL_GPL vmlinux 0x39a22035 lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39aa4888 usb_role_string +EXPORT_SYMBOL_GPL vmlinux 0x39b4e66b wwan_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x39b899d0 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x39baacf1 edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL vmlinux 0x39c32aca __SCK__tp_func_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x39c9d88c xas_find +EXPORT_SYMBOL_GPL vmlinux 0x39cc04a0 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x39d09179 irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x39ded098 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x39e0623a serial8250_rpm_get +EXPORT_SYMBOL_GPL vmlinux 0x39e7f862 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x39f298b8 skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0x39f93723 lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0x39fd83db halt_poll_ns_shrink +EXPORT_SYMBOL_GPL vmlinux 0x3a0145fb md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x3a24bbd9 iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0x3a24fb2f percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0x3a272dbf acpi_spi_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3a4b6e42 __fscrypt_inode_uses_inline_crypto +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a52541b folio_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a55981a static_key_enable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x3a6b82f4 mctrl_gpio_init +EXPORT_SYMBOL_GPL vmlinux 0x3a6e92bc xhci_dbg_trace +EXPORT_SYMBOL_GPL vmlinux 0x3a74e484 __tracepoint_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3ab09c0c sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x3ac3feba rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0x3ac8d037 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3ae12b9b rio_map_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x3af0cc35 dm_audit_log_ti +EXPORT_SYMBOL_GPL vmlinux 0x3afc4a8f sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x3b03918e pinctrl_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x3b09751a device_match_name +EXPORT_SYMBOL_GPL vmlinux 0x3b204f3c fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x3b2e27ff regmap_can_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x3b38dc0b crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0x3b4c240a display_timings_release +EXPORT_SYMBOL_GPL vmlinux 0x3b610584 __tracepoint_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x3b6509e5 devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x3b78bf02 sunxi_ccu_get_mmc_timing_mode +EXPORT_SYMBOL_GPL vmlinux 0x3b8ed420 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0x3b915741 debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0x3b9422ae fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0x3ba01b47 get_compat_sigset +EXPORT_SYMBOL_GPL vmlinux 0x3ba1aaae driver_find +EXPORT_SYMBOL_GPL vmlinux 0x3bc146a2 register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x3bce7369 mptcp_pm_get_local_addr_max +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3bdc0e0c __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x3be7eba7 bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3bf3698b vp_legacy_get_status +EXPORT_SYMBOL_GPL vmlinux 0x3bf65260 regulator_set_active_discharge_regmap +EXPORT_SYMBOL_GPL vmlinux 0x3bfab930 tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3c02f456 register_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x3c0e8050 hyperv_pcpu_input_arg +EXPORT_SYMBOL_GPL vmlinux 0x3c11b9f5 tegra210_put_utmipll_in_iddq +EXPORT_SYMBOL_GPL vmlinux 0x3c182d12 iommu_setup_dma_ops +EXPORT_SYMBOL_GPL vmlinux 0x3c1b6470 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c25b1d7 msg_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0x3c2b68f7 of_changeset_apply +EXPORT_SYMBOL_GPL vmlinux 0x3c3c0f31 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0x3c3c85d8 __SCK__tp_func_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x3c3d4f19 irq_gc_noop +EXPORT_SYMBOL_GPL vmlinux 0x3c42e31f trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0x3c4c2a5b nexthop_select_path +EXPORT_SYMBOL_GPL vmlinux 0x3c5d543a hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x3c614637 crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0x3c64b89d __clk_hw_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c6b37c9 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x3c78a7ac ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x3c7b9573 gpmc_omap_onenand_set_timings +EXPORT_SYMBOL_GPL vmlinux 0x3c9cb772 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x3ca27795 bgmac_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3ca9ca0d devlink_rate_nodes_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3cada8fa dax_layout_busy_page +EXPORT_SYMBOL_GPL vmlinux 0x3cb811a2 fsl_mc_obj_open +EXPORT_SYMBOL_GPL vmlinux 0x3ccd8b46 zynqmp_pm_clock_getparent +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cd0a331 tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x3cd1b510 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x3cd2519f usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x3cd89f0a of_get_pci_domain_nr +EXPORT_SYMBOL_GPL vmlinux 0x3ce2369e meson_pmx_get_func_name +EXPORT_SYMBOL_GPL vmlinux 0x3ceee133 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x3d016dbc edac_pci_del_device +EXPORT_SYMBOL_GPL vmlinux 0x3d33a19c ip4_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x3d365c16 rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d38f74f kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x3d4107da kvm_vcpu_kick +EXPORT_SYMBOL_GPL vmlinux 0x3d4ac7bf tty_kopen_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d598e15 wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x3d854ddb fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x3d866e05 __SCK__tp_func_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x3d86e697 fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0x3d8baf3b zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x3d9bbf75 wwan_port_txon +EXPORT_SYMBOL_GPL vmlinux 0x3da299aa acpiphp_register_attention +EXPORT_SYMBOL_GPL vmlinux 0x3daa2540 nf_hooks_lwtunnel_enabled +EXPORT_SYMBOL_GPL vmlinux 0x3dbfb417 file_is_kvm +EXPORT_SYMBOL_GPL vmlinux 0x3dc950cf set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0x3dd321a7 mpc8xxx_spi_rx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x3ddb1b6f uprobe_register_refctr +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3de9f503 __traceiter_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x3df5495f dev_pm_opp_find_freq_ceil +EXPORT_SYMBOL_GPL vmlinux 0x3df70c99 trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0x3e06abe2 blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x3e101e00 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x3e2964de fscrypt_set_context +EXPORT_SYMBOL_GPL vmlinux 0x3e48955f platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0x3e4a34dc dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x3e4dded6 blk_mq_hctx_set_fq_lock_class +EXPORT_SYMBOL_GPL vmlinux 0x3e506812 ethnl_cable_test_result +EXPORT_SYMBOL_GPL vmlinux 0x3e66c735 verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x3e693a68 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e88ba2b ahci_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x3e8a262e is_nvdimm_sync +EXPORT_SYMBOL_GPL vmlinux 0x3e9ddc3d pci_get_dsn +EXPORT_SYMBOL_GPL vmlinux 0x3ea5196d apei_osc_setup +EXPORT_SYMBOL_GPL vmlinux 0x3ebe6422 edac_mc_free +EXPORT_SYMBOL_GPL vmlinux 0x3ec5ff3b acpi_bus_get_acpi_device +EXPORT_SYMBOL_GPL vmlinux 0x3ec672cc bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0x3ec6f141 debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3efa62da of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x3efb57bc ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x3f0881e8 fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0x3f2c8737 dma_vmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x3f321640 serial8250_em485_stop_tx +EXPORT_SYMBOL_GPL vmlinux 0x3f42417e pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x3f491f49 reset_control_bulk_reset +EXPORT_SYMBOL_GPL vmlinux 0x3f4dec59 fsl_mc_bus_dpaiop_type +EXPORT_SYMBOL_GPL vmlinux 0x3f4e3b7f of_get_fb_videomode +EXPORT_SYMBOL_GPL vmlinux 0x3f5a6c54 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x3f66b1b2 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3f68ca50 sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3f90f3ba fuse_init_fs_context_submount +EXPORT_SYMBOL_GPL vmlinux 0x3fa4f4d7 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x3fae6ab0 hv_vp_index +EXPORT_SYMBOL_GPL vmlinux 0x3fb70fef devm_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x3fd46ea8 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x3fd4bb0b sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0x3fdb8634 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x3fe35aea irq_bypass_unregister_consumer +EXPORT_SYMBOL_GPL vmlinux 0x3fe6c346 devlink_fmsg_binary_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x3fea029c hisi_clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x3fed1a33 bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0x3fedbc5c thp_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x3ff2e349 hte_request_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x3ff77cd4 ftrace_set_filter_ips +EXPORT_SYMBOL_GPL vmlinux 0x3ff856a7 wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x40044c4e gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0x400a024b acpi_scan_lock_release +EXPORT_SYMBOL_GPL vmlinux 0x400f137f ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x401aa903 led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x4020d591 devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0x40267068 usb_anchor_resume_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x402a3cb0 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x403eac60 sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x4043757f init_iova_domain +EXPORT_SYMBOL_GPL vmlinux 0x4044f2fd pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0x4065d168 pm_print_active_wakeup_sources +EXPORT_SYMBOL_GPL vmlinux 0x4068913b sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0x406c4cb1 hrtimer_resolution +EXPORT_SYMBOL_GPL vmlinux 0x4071b517 out_of_line_wait_on_bit_timeout +EXPORT_SYMBOL_GPL vmlinux 0x407af304 usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x408cf0aa clk_hw_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4099f919 tun_ptr_free +EXPORT_SYMBOL_GPL vmlinux 0x40a23395 register_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x40cfe60f scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x40d8ab0f replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x40e0ba52 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0x40e250a5 vchan_find_desc +EXPORT_SYMBOL_GPL vmlinux 0x40e86973 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x40e89fd4 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x40e914a2 devm_pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x40f0675c acpi_fetch_acpi_dev +EXPORT_SYMBOL_GPL vmlinux 0x40f0683e reset_control_put +EXPORT_SYMBOL_GPL vmlinux 0x40f8b94e ring_buffer_iter_dropped +EXPORT_SYMBOL_GPL vmlinux 0x40f8bd4e klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4100a662 clk_get_scaled_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x4101b63f pm_runtime_suspended_time +EXPORT_SYMBOL_GPL vmlinux 0x4105a3f2 dev_pm_opp_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x410ce348 of_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0x41237f71 cpu_have_feature +EXPORT_SYMBOL_GPL vmlinux 0x41285a5a raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x414137da crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x41426d7b devm_regulator_irq_helper +EXPORT_SYMBOL_GPL vmlinux 0x414d119a videomode_from_timings +EXPORT_SYMBOL_GPL vmlinux 0x414f79c0 mtk_clk_unregister_gates +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x418873cc irq_bypass_register_producer +EXPORT_SYMBOL_GPL vmlinux 0x419033cc driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x4191c8e5 __devm_rtc_register_device +EXPORT_SYMBOL_GPL vmlinux 0x4193883f of_icc_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x4195c97a edac_mc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x419d7c83 zynqmp_pm_pinctrl_set_config +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x41a22537 pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0x41b9a6e6 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x41bce49a ghes_register_vendor_record_notifier +EXPORT_SYMBOL_GPL vmlinux 0x41bd3e4b ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x41c9f2c5 disk_force_media_change +EXPORT_SYMBOL_GPL vmlinux 0x41cd0b23 dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x41d07fc4 sbitmap_queue_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x41deb5ee __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0x41e7d532 relay_close +EXPORT_SYMBOL_GPL vmlinux 0x41ea8b5f spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x41fb98fd em_pd_get +EXPORT_SYMBOL_GPL vmlinux 0x42041512 i2c_get_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x420f3d01 nvmem_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x42107b9d pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0x4211630b phy_create +EXPORT_SYMBOL_GPL vmlinux 0x421e218d ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x422428b8 device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x4226c8f2 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x424c5b75 nd_cmd_out_size +EXPORT_SYMBOL_GPL vmlinux 0x425c04a2 fwnode_graph_get_endpoint_count +EXPORT_SYMBOL_GPL vmlinux 0x42608cbf regulator_map_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x42635d55 pm_suspend_global_flags +EXPORT_SYMBOL_GPL vmlinux 0x426452a3 acpi_evaluation_failure_warn +EXPORT_SYMBOL_GPL vmlinux 0x4265ed2b balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0x427478eb rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x429525ce pci_user_read_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x429c3f9c reboot_mode +EXPORT_SYMBOL_GPL vmlinux 0x42ac7c62 device_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x42addcde rio_local_set_device_id +EXPORT_SYMBOL_GPL vmlinux 0x42ae5c8f ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x42bf8fe1 list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0x42d0d1cf sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x42d227cc fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0x42d889b9 genphy_c45_aneg_done +EXPORT_SYMBOL_GPL vmlinux 0x42d9a914 handle_fasteoi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x42de69ea shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x42f728aa mctrl_gpio_get_outputs +EXPORT_SYMBOL_GPL vmlinux 0x42f81c7a md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x42fa0dfb icc_get_name +EXPORT_SYMBOL_GPL vmlinux 0x430d88ec __traceiter_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x431208c2 nvdimm_in_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x43299a41 phy_put +EXPORT_SYMBOL_GPL vmlinux 0x434b4863 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x434fc673 uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL vmlinux 0x43612714 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x436d817f mpi_clear_bit +EXPORT_SYMBOL_GPL vmlinux 0x4372f490 __traceiter_block_split +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x43805588 fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x438d8df2 iova_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x438de300 amba_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x43906ad8 tegra_bpmp_transfer_atomic +EXPORT_SYMBOL_GPL vmlinux 0x439093dc regulator_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43b224d8 phy_power_on +EXPORT_SYMBOL_GPL vmlinux 0x43b81556 vp_legacy_set_features +EXPORT_SYMBOL_GPL vmlinux 0x43becbc6 altr_sysmgr_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x43cbbf8e gfn_to_pfn +EXPORT_SYMBOL_GPL vmlinux 0x43d4c458 device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x43e0a4d7 debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0x43e45d12 to_nvdimm_bus_dev +EXPORT_SYMBOL_GPL vmlinux 0x43e6fd71 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x43f76fc8 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x43f81957 clk_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x43f92edd wait_for_initramfs +EXPORT_SYMBOL_GPL vmlinux 0x43feecde k3_udma_glue_rx_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0x4401e6c2 mpi_cmpabs +EXPORT_SYMBOL_GPL vmlinux 0x441360d4 switchdev_bridge_port_offload +EXPORT_SYMBOL_GPL vmlinux 0x441ab177 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x441bb1cb spi_controller_dma_unmap_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x442deaa9 poll_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x4430aa45 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x4439914b meson_pmx_get_groups +EXPORT_SYMBOL_GPL vmlinux 0x4439bcd2 __SCK__tp_func_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x444f1735 cpu_pm_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4451f958 devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0x445f471a usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x4470858e fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x4487cd9d mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0x448dc5c1 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x449adc28 cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x449c261e blkcg_get_fc_appid +EXPORT_SYMBOL_GPL vmlinux 0x449d5a0f ti_sci_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x449ebed1 sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0x44a793ab HYPERVISOR_grant_table_op +EXPORT_SYMBOL_GPL vmlinux 0x44ac8406 blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x44aef47e hisi_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x44b13157 addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44c43141 clk_register_composite +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44e12c0b devfreq_get_devfreq_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x44e1e9aa balloon_stats +EXPORT_SYMBOL_GPL vmlinux 0x44e2d9b7 to_nvdimm_bus +EXPORT_SYMBOL_GPL vmlinux 0x44e9514a shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0x44f02a80 xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x44fb6020 acpi_dev_clear_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x44fe2347 sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x450c0279 relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0x450c4d5a skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x4522beb8 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x4531624f usb_decode_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x4531ab62 copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x45332f08 regmap_add_irq_chip_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x453539af devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x45364e1d do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x453b11ab fsl_mc_bus_dprc_type +EXPORT_SYMBOL_GPL vmlinux 0x453ca65a __clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x4554a70b hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x45558f56 clk_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x4561f990 qcom_smem_state_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4569b588 devm_phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x4577425c driver_deferred_probe_check_state +EXPORT_SYMBOL_GPL vmlinux 0x457c4274 efivar_entry_set +EXPORT_SYMBOL_GPL vmlinux 0x45832f60 fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0x4585d04a iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x4596efaf ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0x459e0ad0 tegra_bpmp_transfer +EXPORT_SYMBOL_GPL vmlinux 0x459e6151 mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x45a25ee5 locks_owner_has_blockers +EXPORT_SYMBOL_GPL vmlinux 0x45a5c324 iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0x45b378c3 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x45c38fc5 hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0x45cd8790 ahci_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x45cefafd fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0x45d95317 da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x45dd83c1 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x45f4a6e8 cgroup_get_e_css +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x4602aaf4 __traceiter_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x46030074 __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x46167d09 get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0x46207cb9 acpi_storage_d3 +EXPORT_SYMBOL_GPL vmlinux 0x46268f8e devm_register_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x46269814 __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x463bad4c md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0x464221ea fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0x464ac427 __spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x464bb9a4 gnttab_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x4657455a mtk_mmsys_ddp_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x4665392c ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x467590f0 vp_modern_probe +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x468b31f7 __traceiter_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x46a4b118 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x46bcb93a kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x46c003c5 fwnode_get_phy_node +EXPORT_SYMBOL_GPL vmlinux 0x46c5be22 clk_multiplier_ops +EXPORT_SYMBOL_GPL vmlinux 0x46c6e9ab peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0x46d330d3 of_platform_default_populate +EXPORT_SYMBOL_GPL vmlinux 0x46e67a71 this_cpu_has_cap +EXPORT_SYMBOL_GPL vmlinux 0x46edf667 rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0x46fd3e84 mtk_pinconf_drive_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x47078950 of_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x47093e89 ata_sas_tport_delete +EXPORT_SYMBOL_GPL vmlinux 0x471d48bc thermal_zone_device_update +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x47231ebe kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x47496e8a crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x474e4ac3 gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x476fb59e vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x47749af3 pinctrl_utils_add_config +EXPORT_SYMBOL_GPL vmlinux 0x478064a0 bpf_trace_run9 +EXPORT_SYMBOL_GPL vmlinux 0x478110c4 set_capacity_and_notify +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x478e81f8 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x4796a262 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x479f7d4b clk_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x47a3150f device_add_software_node +EXPORT_SYMBOL_GPL vmlinux 0x47aad3b9 have_governor_per_policy +EXPORT_SYMBOL_GPL vmlinux 0x47ad655a pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x47b6ad7c acpi_cppc_processor_exit +EXPORT_SYMBOL_GPL vmlinux 0x47baca6e devfreq_event_disable_edev +EXPORT_SYMBOL_GPL vmlinux 0x47d0eea2 acpi_lpat_temp_to_raw +EXPORT_SYMBOL_GPL vmlinux 0x47de0dc7 clk_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x47e6165e cgroup_get_from_id +EXPORT_SYMBOL_GPL vmlinux 0x47ee9095 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x47f480d8 dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x480305ca kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x4807490a devm_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0x480d3252 blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x480f49d8 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4815aa79 dev_pm_opp_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x481f9b7d mpi_mulm +EXPORT_SYMBOL_GPL vmlinux 0x48203853 em_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x4828e77b acpi_scan_lock_acquire +EXPORT_SYMBOL_GPL vmlinux 0x482af8c1 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x4843a748 qman_portals_probed +EXPORT_SYMBOL_GPL vmlinux 0x484924a9 serial8250_read_char +EXPORT_SYMBOL_GPL vmlinux 0x48526cba edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL vmlinux 0x486dedc3 ghes_unregister_vendor_record_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4880624b ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x48878b38 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x4887cb7f swapcache_mapping +EXPORT_SYMBOL_GPL vmlinux 0x4896d86b pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0x48a3d20b mctrl_gpio_get +EXPORT_SYMBOL_GPL vmlinux 0x48b71a2a fsl8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x48c01913 dev_pm_opp_sync_regulators +EXPORT_SYMBOL_GPL vmlinux 0x48c32847 __SCK__tp_func_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x48c420eb of_property_count_elems_of_size +EXPORT_SYMBOL_GPL vmlinux 0x48e6a8b6 iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0x48eb3627 ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x48f9208f thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0x4910793c bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0x4915e7af __regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x4916559a devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x49242bc7 freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4929a58d acpi_subsys_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4934bdd0 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x4939ebcd numa_map_to_online_node +EXPORT_SYMBOL_GPL vmlinux 0x4950866a rio_unmap_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x49608959 migrate_disable +EXPORT_SYMBOL_GPL vmlinux 0x4960e25c vp_modern_get_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x496a7f04 __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x497a84ae mtk_clk_gate_ops_setclr_inv +EXPORT_SYMBOL_GPL vmlinux 0x4980a60e bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0x498977ad fwnode_connection_find_matches +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x499802df vp_modern_generation +EXPORT_SYMBOL_GPL vmlinux 0x49a64410 dev_pm_opp_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x49cd25ed alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x49d2b2f7 xdp_build_skb_from_frame +EXPORT_SYMBOL_GPL vmlinux 0x49d71b0b trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49ea931c __gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL vmlinux 0x4a07a9d1 dev_pm_opp_of_get_opp_desc_node +EXPORT_SYMBOL_GPL vmlinux 0x4a161333 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x4a1671ad k3_ringacc_ring_cfg +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a18eb05 blk_crypto_profile_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4a203802 pwm_get_chip_data +EXPORT_SYMBOL_GPL vmlinux 0x4a20b9e4 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4a2755fe devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x4a2de6fd apei_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x4a3d61f2 pinmux_generic_get_function_groups +EXPORT_SYMBOL_GPL vmlinux 0x4a420d09 acpi_bus_detach_private_data +EXPORT_SYMBOL_GPL vmlinux 0x4a42a4f0 pinctrl_utils_add_map_mux +EXPORT_SYMBOL_GPL vmlinux 0x4a4688e3 register_nvdimm_pmu +EXPORT_SYMBOL_GPL vmlinux 0x4a48e881 irq_gc_mask_disable_reg +EXPORT_SYMBOL_GPL vmlinux 0x4a4e7783 md_account_bio +EXPORT_SYMBOL_GPL vmlinux 0x4a6b0c66 devm_regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x4a7542da device_link_del +EXPORT_SYMBOL_GPL vmlinux 0x4a873359 inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x4a937c94 spi_mem_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4aae1869 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x4ad168de dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x4aef7e22 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x4af33cbf devm_regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4b1a8066 clk_hw_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x4b27ca73 fsl_mc_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x4b2aad5a fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4b2fd104 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x4b3442e7 gov_attr_set_get +EXPORT_SYMBOL_GPL vmlinux 0x4b40ea52 fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x4b4bdfdb regulator_allow_bypass +EXPORT_SYMBOL_GPL vmlinux 0x4b51f74c ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x4b522775 clk_hw_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x4b53d8d5 bio_blkcg_css +EXPORT_SYMBOL_GPL vmlinux 0x4b5acf74 rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0x4b5ceaaa blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0x4b5d56d3 pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0x4b5dbece seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0x4b737f65 spi_controller_dma_map_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x4b86e24b hisi_reset_init +EXPORT_SYMBOL_GPL vmlinux 0x4b913bce wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x4b92019b devm_nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x4b9247a8 mtk_pinconf_bias_get_combo +EXPORT_SYMBOL_GPL vmlinux 0x4b931968 xen_features +EXPORT_SYMBOL_GPL vmlinux 0x4b9769dd strp_init +EXPORT_SYMBOL_GPL vmlinux 0x4b9f604c acpi_processor_get_performance_info +EXPORT_SYMBOL_GPL vmlinux 0x4ba5f545 devm_regmap_field_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x4bbc7465 trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0x4bc783ab rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x4bc8727f xen_balloon_init +EXPORT_SYMBOL_GPL vmlinux 0x4bc8f017 tcp_sendmsg_locked +EXPORT_SYMBOL_GPL vmlinux 0x4bc92623 xhci_add_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x4bd6f08b misc_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4bdb8dcc housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4bfd398d hwrng_msleep +EXPORT_SYMBOL_GPL vmlinux 0x4c1a38f2 genpd_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0x4c1c5df7 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4c2c0ea7 evtchn_make_refcounted +EXPORT_SYMBOL_GPL vmlinux 0x4c399550 debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4c49b08b pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x4c4e663d irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x4c549b36 __traceiter_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x4c54db24 usb_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x4c62b8f1 acpi_device_update_power +EXPORT_SYMBOL_GPL vmlinux 0x4c7e2535 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4c801f29 acpi_set_modalias +EXPORT_SYMBOL_GPL vmlinux 0x4c8adfe1 hv_root_partition +EXPORT_SYMBOL_GPL vmlinux 0x4c9abb3d ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x4ca06148 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x4cb00fa3 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x4cb27100 ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x4cb81fda __SCK__tp_func_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x4cc544a9 shake_page +EXPORT_SYMBOL_GPL vmlinux 0x4cd64b6d inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4cef6a47 ti_sci_get_handle +EXPORT_SYMBOL_GPL vmlinux 0x4cf3bb4a clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x4cfa328a fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x4cfbe2cd device_link_add +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d203ae5 usb_of_has_combined_node +EXPORT_SYMBOL_GPL vmlinux 0x4d2765df dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0x4d2bf140 platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0x4d321e3b rio_mport_initialize +EXPORT_SYMBOL_GPL vmlinux 0x4d3a0696 __SCK__tp_func_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x4d4bc2c4 vp_legacy_queue_vector +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d561869 acpi_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d7272e4 migrate_enable +EXPORT_SYMBOL_GPL vmlinux 0x4d7bc664 pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0x4d7f3b9b device_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x4d83c710 k3_udma_glue_tdown_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x4d877c5c switchdev_handle_port_obj_add_foreign +EXPORT_SYMBOL_GPL vmlinux 0x4d8bd4a1 dev_pm_opp_find_level_exact +EXPORT_SYMBOL_GPL vmlinux 0x4d9108cc fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x4d95d6d1 memcpy_flushcache +EXPORT_SYMBOL_GPL vmlinux 0x4d9717d5 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x4d979e09 debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0x4daaead2 crypto_create_tfm_node +EXPORT_SYMBOL_GPL vmlinux 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4db3e441 blk_crypto_has_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x4dc04823 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x4dcc5b9b blk_crypto_profile_init +EXPORT_SYMBOL_GPL vmlinux 0x4dcf77e4 serial8250_do_get_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4de17ab3 usb_state_string +EXPORT_SYMBOL_GPL vmlinux 0x4de8011b percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0x4dff61e5 wwan_port_txoff +EXPORT_SYMBOL_GPL vmlinux 0x4e03d38e pci_iov_vf_id +EXPORT_SYMBOL_GPL vmlinux 0x4e17c613 ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x4e37f286 iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0x4e3fd1b4 kvm_release_pfn_clean +EXPORT_SYMBOL_GPL vmlinux 0x4e42ca2c debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x4e4a5af2 __traceiter_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x4e4c37e2 freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4e53e4c4 devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x4e5a37d0 crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0x4e68269b trace_add_event_call +EXPORT_SYMBOL_GPL vmlinux 0x4e6a68c8 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x4e718b14 usb_phy_set_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x4e74878e __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x4e962022 usb_choose_configuration +EXPORT_SYMBOL_GPL vmlinux 0x4e9b2e2f efivar_entry_remove +EXPORT_SYMBOL_GPL vmlinux 0x4ea7ff37 devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4eb39d4e __tracepoint_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0x4ece3615 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4ed593c2 dbs_update +EXPORT_SYMBOL_GPL vmlinux 0x4eec38fa dev_fill_forward_path +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4ef68687 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0x4efcf021 mpi_normalize +EXPORT_SYMBOL_GPL vmlinux 0x4f119fa7 ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0x4f164a9c blk_mq_alloc_sq_tag_set +EXPORT_SYMBOL_GPL vmlinux 0x4f1b6981 dev_pm_qos_flags +EXPORT_SYMBOL_GPL vmlinux 0x4f2593f0 btree_update +EXPORT_SYMBOL_GPL vmlinux 0x4f2c996d kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x4f33405f pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x4f33b8d6 mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x4f4d7ef3 dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4f72a987 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0x4f74888f acpi_device_fix_up_power +EXPORT_SYMBOL_GPL vmlinux 0x4f9783fe component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0x4f98d766 cpu_pm_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f9c102b clk_register_divider_table +EXPORT_SYMBOL_GPL vmlinux 0x4fa5bd2c thermal_zone_bind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x4fc6e144 blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x4fd7b76f ahci_do_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe0925d ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x50043414 bpf_trace_run11 +EXPORT_SYMBOL_GPL vmlinux 0x500c768c apei_exec_read_register +EXPORT_SYMBOL_GPL vmlinux 0x502220ae amba_device_put +EXPORT_SYMBOL_GPL vmlinux 0x5023a9d0 lochnagar_update_config +EXPORT_SYMBOL_GPL vmlinux 0x5026585c xen_irq_from_gsi +EXPORT_SYMBOL_GPL vmlinux 0x502c680e rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x50447357 acpi_data_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x504f9fde devm_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x505b3e69 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x505c1c25 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x50616e69 devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0x506364b9 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0x506833d1 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x506e3c30 net_selftest +EXPORT_SYMBOL_GPL vmlinux 0x5073e114 i2c_acpi_find_adapter_by_handle +EXPORT_SYMBOL_GPL vmlinux 0x50816401 percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0x50851025 devm_pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x50a4f904 mark_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x50aaa72c put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x50b0916b pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0x50bc0d4a badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0x50bca738 devlink_to_dev +EXPORT_SYMBOL_GPL vmlinux 0x50c2ae54 rpi_firmware_property +EXPORT_SYMBOL_GPL vmlinux 0x50d95c5a ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x50df94f5 btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50f498df devm_clk_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x50f61283 trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x510019d1 percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x510536ce ohci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x5111d75c mtk_clk_unregister_composites +EXPORT_SYMBOL_GPL vmlinux 0x5111f4b7 __traceiter_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x51170e2c pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x511f0ef3 finish_rcuwait +EXPORT_SYMBOL_GPL vmlinux 0x51267fcf iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x5127ae98 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x512cef80 syscon_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x51383b42 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x51442e9a inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x5152bd85 devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0x515a7f50 fsl_mc_bus_dpci_type +EXPORT_SYMBOL_GPL vmlinux 0x515b390f __SCK__tp_func_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x516855be sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0x5169344d k3_udma_glue_pop_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x51701967 hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x5177092c usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x5178dad2 wwan_port_rx +EXPORT_SYMBOL_GPL vmlinux 0x5187ac4b xen_store_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x51991b38 mtk_mutex_enable +EXPORT_SYMBOL_GPL vmlinux 0x519cbd69 of_thermal_get_trip_points +EXPORT_SYMBOL_GPL vmlinux 0x519e84a3 phy_restore_page +EXPORT_SYMBOL_GPL vmlinux 0x51a348cc usb_role_switch_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x51a5ac0c spi_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x51ad07dd tegra210_plle_hw_sequence_start +EXPORT_SYMBOL_GPL vmlinux 0x51b6096e __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x51b70bf6 tps6586x_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x51ba7d9b pcc_mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x51bdc2fc fsverity_ioctl_read_metadata +EXPORT_SYMBOL_GPL vmlinux 0x51bf963b start_poll_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x51c70dae skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x51d13875 nf_hooks_lwtunnel_sysctl_handler +EXPORT_SYMBOL_GPL vmlinux 0x51d5fc00 meson_eeclkc_probe +EXPORT_SYMBOL_GPL vmlinux 0x51df5e7c fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0x51e7f01c udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0x51fc9a6d xenmem_reservation_decrease +EXPORT_SYMBOL_GPL vmlinux 0x520fc296 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x521bc93f dev_pm_opp_get_level +EXPORT_SYMBOL_GPL vmlinux 0x52252316 clk_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x52296782 tegra_xusb_padctl_legacy_remove +EXPORT_SYMBOL_GPL vmlinux 0x523e9b78 of_genpd_remove_last +EXPORT_SYMBOL_GPL vmlinux 0x52431348 xenbus_transaction_start +EXPORT_SYMBOL_GPL vmlinux 0x524adb53 i2c_match_id +EXPORT_SYMBOL_GPL vmlinux 0x525165b4 dev_pm_opp_get_opp_count +EXPORT_SYMBOL_GPL vmlinux 0x52686ff0 genphy_c45_loopback +EXPORT_SYMBOL_GPL vmlinux 0x526bcf2a wwan_port_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x52701755 platform_clear +EXPORT_SYMBOL_GPL vmlinux 0x52763705 of_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x527e69aa regulator_list_hardware_vsel +EXPORT_SYMBOL_GPL vmlinux 0x527f980b irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0x529d835b component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0x529f6dad rio_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52b3f45a devm_ti_sci_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x52bec86d icmp_build_probe +EXPORT_SYMBOL_GPL vmlinux 0x52bf69eb alloc_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52c62f4e kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0x52ca6536 usb_hub_claim_port +EXPORT_SYMBOL_GPL vmlinux 0x52ce2057 hv_setup_crash_handler +EXPORT_SYMBOL_GPL vmlinux 0x52d2eed3 pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x52e9890c __traceiter_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x52ff71f9 sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x53012944 __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x530842bd pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x53155f83 dma_request_chan_by_mask +EXPORT_SYMBOL_GPL vmlinux 0x5318d3da perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0x531b0e40 bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0x531b96fc fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0x53237661 extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x532b90b5 kprobe_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x53306951 icc_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x534310b9 ata_ncq_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0x5345fa2c dprc_close +EXPORT_SYMBOL_GPL vmlinux 0x534de264 acpi_dev_get_memory_resources +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x53655795 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0x536822e3 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x536a3f38 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x536dbe3d sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x537252cf __SCK__tp_func_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x5389494e ahci_platform_ops +EXPORT_SYMBOL_GPL vmlinux 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL vmlinux 0x5399b744 led_classdev_notify_brightness_hw_changed +EXPORT_SYMBOL_GPL vmlinux 0x53a0dd61 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x53a918fb virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0x53c089f5 property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x53ce821e __traceiter_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x53d3f23c dev_pm_opp_get_freq +EXPORT_SYMBOL_GPL vmlinux 0x53d7c01e __traceiter_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x53ff1c35 tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0x5407af50 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x541653c7 gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x54237c7b wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x5438f6c8 dw8250_setup_port +EXPORT_SYMBOL_GPL vmlinux 0x544ca027 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x545f03b8 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x5460d5c4 platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0x54651f9b rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x5498ffaa mdiobus_modify +EXPORT_SYMBOL_GPL vmlinux 0x54a25da2 qcom_smem_state_put +EXPORT_SYMBOL_GPL vmlinux 0x54ace6ca devm_extcon_dev_allocate +EXPORT_SYMBOL_GPL vmlinux 0x54bab999 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x54c6536d __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0x54ca6dcf crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0x54cee684 __tracepoint_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x54e8fc7e led_compose_name +EXPORT_SYMBOL_GPL vmlinux 0x54ec7cde of_phandle_args_to_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x54f12f40 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x54f5a26a meson_clk_dualdiv_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x54f9af25 ata_sas_tport_add +EXPORT_SYMBOL_GPL vmlinux 0x55037c8d ptp_msg_is_sync +EXPORT_SYMBOL_GPL vmlinux 0x550f3e05 i2c_freq_mode_string +EXPORT_SYMBOL_GPL vmlinux 0x551f5cc9 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x5528543b vmap_pfn +EXPORT_SYMBOL_GPL vmlinux 0x55339365 flush_delayed_fput +EXPORT_SYMBOL_GPL vmlinux 0x553b49a4 cpufreq_get_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x55417264 unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x554921b8 spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x554b01c4 irq_chip_set_vcpu_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0x555c1294 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x556e4390 clk_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x557193ed xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0x5572fc85 pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x558495e4 register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x5590e57e mptcp_pm_get_add_addr_accept_max +EXPORT_SYMBOL_GPL vmlinux 0x55bc97fa pl08x_filter_id +EXPORT_SYMBOL_GPL vmlinux 0x55c76a23 ksys_sync_helper +EXPORT_SYMBOL_GPL vmlinux 0x55c9880c zynqmp_pm_release_node +EXPORT_SYMBOL_GPL vmlinux 0x55ce448c kvm_arch_ptp_get_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0x55dbbaf2 of_hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x55e989fe cpufreq_policy_transition_delay_us +EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x5614ae07 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x5615d178 __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0x56173654 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x56256e8a orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x5628d723 ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x56400095 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x5645f4df usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x5661a487 static_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x5662989d __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0x56635333 ohci_hub_status_data +EXPORT_SYMBOL_GPL vmlinux 0x5663eed4 power_supply_set_property +EXPORT_SYMBOL_GPL vmlinux 0x566c0d76 mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x5689e0a7 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x56990d32 meson8_aobus_parse_dt_extra +EXPORT_SYMBOL_GPL vmlinux 0x56add893 rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x56c6c6a0 of_property_read_u64_index +EXPORT_SYMBOL_GPL vmlinux 0x56d8df85 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x56e9103b cpu_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x56eba2e7 xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0x56f29e12 crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0x56fbb130 no_hash_pointers +EXPORT_SYMBOL_GPL vmlinux 0x56ffd007 dma_async_device_channel_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5701c716 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x5716d279 wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0x571ef076 power_supply_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x574027b0 sprd_pinctrl_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x57452bd8 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x574609c5 apei_exec_write_register_value +EXPORT_SYMBOL_GPL vmlinux 0x5762d0a7 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x57672c63 skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0x57719632 gnttab_grant_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x577998ee lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x577a438a tegra210_clk_emc_detach +EXPORT_SYMBOL_GPL vmlinux 0x577a5f5a key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0x578a5b68 acpi_unbind_one +EXPORT_SYMBOL_GPL vmlinux 0x578eeb4d hugetlb_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x5790e7a0 pci_unlock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57a1b546 dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x57a97639 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x57bed8c5 fscrypt_mergeable_bio_bh +EXPORT_SYMBOL_GPL vmlinux 0x57d4050a xhci_get_endpoint_index +EXPORT_SYMBOL_GPL vmlinux 0x57d585fe da9052_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x57e0d317 clk_regmap_gate_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x57e2a08a of_reserved_mem_device_init_by_idx +EXPORT_SYMBOL_GPL vmlinux 0x57f576b9 mpi_ec_curve_point +EXPORT_SYMBOL_GPL vmlinux 0x57fd14e0 xenbus_read_otherend_details +EXPORT_SYMBOL_GPL vmlinux 0x57ffdbb1 vcpu_put +EXPORT_SYMBOL_GPL vmlinux 0x581468c4 icc_sync_state +EXPORT_SYMBOL_GPL vmlinux 0x58225354 wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x58276f93 cper_next_record_id +EXPORT_SYMBOL_GPL vmlinux 0x58315632 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x58399720 blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0x5840b6f2 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x584adbcc netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x585017d6 kvm_write_guest_page +EXPORT_SYMBOL_GPL vmlinux 0x585ca0d9 ahci_start_engine +EXPORT_SYMBOL_GPL vmlinux 0x586a630b i2c_dw_acpi_configure +EXPORT_SYMBOL_GPL vmlinux 0x586bfc8a alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x5879e6a4 usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x58b57e4d mtk_pinconf_bias_set +EXPORT_SYMBOL_GPL vmlinux 0x58b9f3f3 kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x58bc06cb fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x58c84303 __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x58d250c0 iomap_dio_bio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x58d31493 wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x58d9ae78 kvm_is_visible_gfn +EXPORT_SYMBOL_GPL vmlinux 0x58db1176 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x58e14f15 HYPERVISOR_event_channel_op +EXPORT_SYMBOL_GPL vmlinux 0x58f6cbe3 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x5901de2f __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x5903572f input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5919bf2c nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0x59269767 mdio_mux_init +EXPORT_SYMBOL_GPL vmlinux 0x59456eaf usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x594a4b4f devm_hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x594d5676 xdp_master_redirect +EXPORT_SYMBOL_GPL vmlinux 0x595c6257 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x596a4c8a serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5970f764 mptcp_pm_get_subflows_max +EXPORT_SYMBOL_GPL vmlinux 0x597df6a1 xenbus_free_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x5986d190 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0x599ae0e0 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x599b3793 i2c_dw_probe_master +EXPORT_SYMBOL_GPL vmlinux 0x599ec74c tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0x59a8a296 blk_queue_zone_write_granularity +EXPORT_SYMBOL_GPL vmlinux 0x59ab0744 usb_hub_find_child +EXPORT_SYMBOL_GPL vmlinux 0x59ae8cb1 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59c43dc9 __traceiter_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x59d5c65b hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x59e640c0 halt_poll_ns +EXPORT_SYMBOL_GPL vmlinux 0x59ec6a84 pinctrl_parse_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x59f32720 mpi_subm +EXPORT_SYMBOL_GPL vmlinux 0x59f8b7c6 ms_hyperv +EXPORT_SYMBOL_GPL vmlinux 0x5a12e60c __SCK__tp_func_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x5a1c1595 fsl_mc_bus_dpdmux_type +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a275138 xenbus_dev_fatal +EXPORT_SYMBOL_GPL vmlinux 0x5a2b382d iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0x5a364897 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x5a42c937 sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a4d2a6c dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5a548039 cpufreq_dbs_governor_stop +EXPORT_SYMBOL_GPL vmlinux 0x5a56ba6c sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0x5a56c062 regmap_field_read +EXPORT_SYMBOL_GPL vmlinux 0x5a63ae29 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a705f7d devfreq_event_get_event +EXPORT_SYMBOL_GPL vmlinux 0x5a72967c netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x5a743288 wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a820256 rio_pw_enable +EXPORT_SYMBOL_GPL vmlinux 0x5a826fb6 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x5aa16799 gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x5aa2300c acpi_subsys_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5aa70984 acpi_reduced_hardware +EXPORT_SYMBOL_GPL vmlinux 0x5ab09745 edac_get_owner +EXPORT_SYMBOL_GPL vmlinux 0x5abe4a7f akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x5ac3fd09 devlink_alloc_ns +EXPORT_SYMBOL_GPL vmlinux 0x5ad46c9f xenbus_frontend_closed +EXPORT_SYMBOL_GPL vmlinux 0x5aed7b12 irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0x5af0da53 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x5af8deb3 devlink_rate_leaf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5afd30a0 gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0x5b1001eb rockchip_clk_register_armclk +EXPORT_SYMBOL_GPL vmlinux 0x5b11d124 crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0x5b1e7e31 nfs_ssc_register +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b224224 dma_get_any_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x5b248bae platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x5b393996 regmap_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x5b421905 gpiochip_generic_request +EXPORT_SYMBOL_GPL vmlinux 0x5b44cc13 irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x5b4e4dcc dev_pm_qos_expose_flags +EXPORT_SYMBOL_GPL vmlinux 0x5b6a2ef3 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x5b6b0329 swiotlb_max_segment +EXPORT_SYMBOL_GPL vmlinux 0x5b6dfcea __ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x5b8a6d46 devm_devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x5b8e8ffa virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0x5ba9c87f blk_crypto_keyslot_index +EXPORT_SYMBOL_GPL vmlinux 0x5bb7fc0f device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0x5bbdfa26 scatterwalk_ffwd +EXPORT_SYMBOL_GPL vmlinux 0x5bc35803 of_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0x5bc70d05 debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0x5bc950fe regulator_irq_helper_cancel +EXPORT_SYMBOL_GPL vmlinux 0x5bcc0df7 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5bd0748f crypto_del_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x5bdae35b usb_phy_roothub_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x5bdbac4e rcu_unexpedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x5c04f499 exportfs_decode_fh_raw +EXPORT_SYMBOL_GPL vmlinux 0x5c06e767 thermal_remove_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x5c070f62 cper_mem_err_status_str +EXPORT_SYMBOL_GPL vmlinux 0x5c0876c3 kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL vmlinux 0x5c0eaf31 acpi_dev_resource_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x5c0f77ce HYPERVISOR_platform_op_raw +EXPORT_SYMBOL_GPL vmlinux 0x5c1918b1 vp_legacy_set_queue_address +EXPORT_SYMBOL_GPL vmlinux 0x5c240063 efivars_kobject +EXPORT_SYMBOL_GPL vmlinux 0x5c2f1546 devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0x5c3bbd06 __SCK__tp_func_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x5c3c7c50 gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x5c56449a fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x5c5a1b16 tick_broadcast_control +EXPORT_SYMBOL_GPL vmlinux 0x5c5c2ebf usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x5c63e27f vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x5c776c83 crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0x5c7817b2 of_device_request_module +EXPORT_SYMBOL_GPL vmlinux 0x5c82016e __SCK__tp_func_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x5ca493ac posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x5caaaafd hwmon_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x5cab9945 unregister_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0x5cac21df devm_bitmap_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5cad8fc3 power_supply_ocv2cap_simple +EXPORT_SYMBOL_GPL vmlinux 0x5cad9121 adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x5cbba238 nvdimm_volatile_region_create +EXPORT_SYMBOL_GPL vmlinux 0x5cd80eee srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x5ce5d0fa dev_pm_opp_unregister_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x5ced17e0 kvm_put_kvm_no_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5cede0a7 xdp_flush_frame_bulk +EXPORT_SYMBOL_GPL vmlinux 0x5cefbb55 __class_register +EXPORT_SYMBOL_GPL vmlinux 0x5cf3f5dd usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x5cfcbad2 of_pwm_single_xlate +EXPORT_SYMBOL_GPL vmlinux 0x5d0bdc5b vchan_tx_desc_free +EXPORT_SYMBOL_GPL vmlinux 0x5d17148b apei_write +EXPORT_SYMBOL_GPL vmlinux 0x5d1fe872 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x5d2aa5fb rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0x5d2bc42a reset_control_rearm +EXPORT_SYMBOL_GPL vmlinux 0x5d2e7f94 fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x5d3508f1 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x5d417d2f pinmux_generic_get_function_name +EXPORT_SYMBOL_GPL vmlinux 0x5d50eb79 dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0x5d720c8b tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x5d813ddf skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0x5d829814 device_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d8cd632 hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x5d913220 of_clk_get_parent_name +EXPORT_SYMBOL_GPL vmlinux 0x5da2d0e2 __traceiter_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5da9fc81 sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x5dd31742 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x5ddb1ef7 do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x5de412cd k3_ringacc_ring_push +EXPORT_SYMBOL_GPL vmlinux 0x5df10cc1 kill_device +EXPORT_SYMBOL_GPL vmlinux 0x5df3e942 iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x5e078735 iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0x5e173309 cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x5e19f6ca extcon_register_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e58c3f1 kvm_vcpu_read_guest_atomic +EXPORT_SYMBOL_GPL vmlinux 0x5e60589c of_property_read_u32_index +EXPORT_SYMBOL_GPL vmlinux 0x5e71270c devm_spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x5e727322 skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x5e76bb57 k3_ringacc_ring_get_size +EXPORT_SYMBOL_GPL vmlinux 0x5e798ffb divider_get_val +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5e96cd0e bgmac_adjust_link +EXPORT_SYMBOL_GPL vmlinux 0x5ea5a25d usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x5ea742b0 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x5eae5408 clk_is_enabled_when_prepared +EXPORT_SYMBOL_GPL vmlinux 0x5eb417e0 __SCK__tp_func_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x5ebd95b4 udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x5ec2319a mtk_mutex_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x5ecdcf90 ti_sci_get_free_resource +EXPORT_SYMBOL_GPL vmlinux 0x5ed037d6 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x5ed0890f devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0x5ed979d8 disk_set_independent_access_ranges +EXPORT_SYMBOL_GPL vmlinux 0x5edf55b4 md_submit_discard_bio +EXPORT_SYMBOL_GPL vmlinux 0x5ee2aa12 list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0x5eee2ab8 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x5ef11558 ata_qc_get_active +EXPORT_SYMBOL_GPL vmlinux 0x5f063e4b dev_pm_opp_get_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x5f155da4 fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x5f17ca27 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5f1b7c64 of_phy_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x5f23e3fa insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x5f30f46b dax_recovery_write +EXPORT_SYMBOL_GPL vmlinux 0x5f45f976 blk_clear_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x5f4ed704 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x5f6c06c1 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f8cc688 wakeup_sources_walk_start +EXPORT_SYMBOL_GPL vmlinux 0x5f8d3f24 devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x5f910e21 devm_irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x5f92d9c7 ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x5f971469 edac_device_handle_ce_count +EXPORT_SYMBOL_GPL vmlinux 0x5fa625ed mpi_ec_mul_point +EXPORT_SYMBOL_GPL vmlinux 0x5fb07816 of_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x5fb8848b halt_poll_ns_grow_start +EXPORT_SYMBOL_GPL vmlinux 0x5fc1fa71 fsl_mc_bus_dpdbg_type +EXPORT_SYMBOL_GPL vmlinux 0x5fc49d22 __clk_mux_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x5fcb82ca fsl_mc_bus_dpseci_type +EXPORT_SYMBOL_GPL vmlinux 0x5fce864a tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0x5fd61c8c tpm_tis_core_init +EXPORT_SYMBOL_GPL vmlinux 0x5fdd92bc thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x5fdfcd57 __tracepoint_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x5fee169e device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x60091316 clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x60103a3c gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x603d0d51 acpi_os_map_iomem +EXPORT_SYMBOL_GPL vmlinux 0x604337cc filemap_add_folio +EXPORT_SYMBOL_GPL vmlinux 0x60442822 phys_to_mach +EXPORT_SYMBOL_GPL vmlinux 0x604722fd devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x604ffe6d md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x6050364d usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x60599bc4 acpi_subsys_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x605d5bfa cache_line_size +EXPORT_SYMBOL_GPL vmlinux 0x605f7d64 devm_extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x606b4aba devlink_linecard_provision_set +EXPORT_SYMBOL_GPL vmlinux 0x606d57f9 of_hwspin_lock_get_id_byname +EXPORT_SYMBOL_GPL vmlinux 0x60725b55 fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x6083945a nl_table +EXPORT_SYMBOL_GPL vmlinux 0x608d25d6 __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x609ec3cf gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0x609fb020 ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL_GPL vmlinux 0x60a50784 device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x60a8ffcb rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x60ae0922 power_supply_vbat2ri +EXPORT_SYMBOL_GPL vmlinux 0x60b1c2fd clk_regmap_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x60c318ec pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0x60c3a79a mmc_crypto_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x60e2f125 usb_acpi_port_lpm_incapable +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x60f51eb2 pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x60f8b00c regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x60f99e1b cppc_set_perf +EXPORT_SYMBOL_GPL vmlinux 0x60fcad79 rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x6113a7eb trace_remove_event_call +EXPORT_SYMBOL_GPL vmlinux 0x611cfa85 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x6127aab5 get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x612a6c70 rockchip_clk_of_add_provider +EXPORT_SYMBOL_GPL vmlinux 0x612bf2cf ahci_platform_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x613952f5 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x613e5b55 fb_deferred_io_release +EXPORT_SYMBOL_GPL vmlinux 0x613ed004 xhci_check_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0x614957ae __traceiter_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x614adcb7 of_overlay_remove_all +EXPORT_SYMBOL_GPL vmlinux 0x6156a5f7 tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x615d3447 kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x616b9043 crypto_unregister_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x616e1e32 bind_interdomain_evtchn_to_irq_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0x616e818e msi_unlock_descs +EXPORT_SYMBOL_GPL vmlinux 0x617a5546 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x6181e79f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0x6198dfea __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6199ad5d crypto_has_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x619d2eca acpi_gpio_get_irq_resource +EXPORT_SYMBOL_GPL vmlinux 0x61afc99f usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x61b774ca blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x61c100a3 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x61c1ca29 __SCK__tp_func_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x61da537f bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0x61ddc05a trace_array_init_printk +EXPORT_SYMBOL_GPL vmlinux 0x61de4c79 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x61e1f429 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x61f2988c gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x6209e170 pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0x621b8da5 acpi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x621d6407 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x622c7922 register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x62377a7b blk_io_schedule +EXPORT_SYMBOL_GPL vmlinux 0x623fbb14 nfs42_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6240e6c7 dev_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x6246a629 synchronize_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x62519a80 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x62525582 phy_pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x6257dda7 clk_rate_exclusive_get +EXPORT_SYMBOL_GPL vmlinux 0x6259d291 clk_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x6260fe70 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x626335d7 devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x627a8bf5 fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0x629dfe03 validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0x62b37f12 devm_hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x62ba5f44 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62e37b98 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x62efa75f ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0x62f1c04a dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x62f61ea2 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x62fa3222 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x63150e06 clk_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL vmlinux 0x63197685 s2idle_wake +EXPORT_SYMBOL_GPL vmlinux 0x6319e0ea bio_add_zone_append_page +EXPORT_SYMBOL_GPL vmlinux 0x631f94be tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0x632126dc acpi_subsys_freeze +EXPORT_SYMBOL_GPL vmlinux 0x632852dd hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x6330bbee debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x6344bd3e fsl_mc_bus_dpdmai_type +EXPORT_SYMBOL_GPL vmlinux 0x634a0235 sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x634b9d42 __SCK__tp_func_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x63502240 virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0x635f5877 kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0x63603c32 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x636e829d phy_power_off +EXPORT_SYMBOL_GPL vmlinux 0x6370aff5 devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x63710396 devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0x63798e9b sock_map_close +EXPORT_SYMBOL_GPL vmlinux 0x6380ac84 vp_legacy_get_features +EXPORT_SYMBOL_GPL vmlinux 0x63891865 __hwspin_trylock +EXPORT_SYMBOL_GPL vmlinux 0x638aff11 proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x63a2ae6d pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x63ba19e6 platform_get_mem_or_io +EXPORT_SYMBOL_GPL vmlinux 0x63bd0bc8 debugfs_lookup_and_remove +EXPORT_SYMBOL_GPL vmlinux 0x63c08029 clk_bulk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x63c1cbef fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x63d01e0b root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x63e543ca phy_10gbit_fec_features +EXPORT_SYMBOL_GPL vmlinux 0x63ea80b3 cper_mem_err_type_str +EXPORT_SYMBOL_GPL vmlinux 0x640badc8 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x641e3fc5 __auxiliary_device_add +EXPORT_SYMBOL_GPL vmlinux 0x6427572b tegra210_clk_emc_dll_enable +EXPORT_SYMBOL_GPL vmlinux 0x64317d51 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x643b06b0 zynqmp_pm_clock_setrate +EXPORT_SYMBOL_GPL vmlinux 0x64441f9c devm_reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x6447f516 fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x644cddd9 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x64609d25 __tracepoint_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x646787b1 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x646a1624 clk_hw_register_gate2 +EXPORT_SYMBOL_GPL vmlinux 0x646c83b9 spi_mem_driver_register_with_owner +EXPORT_SYMBOL_GPL vmlinux 0x647537f3 pl320_ipc_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6485cd35 trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0x648b5525 nvdimm_delete +EXPORT_SYMBOL_GPL vmlinux 0x648dfc82 list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0x64a31445 mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0x64ab6a94 device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0x64c2da16 rio_add_device +EXPORT_SYMBOL_GPL vmlinux 0x64c3fcf2 dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x64e598f7 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x64ede602 dma_resv_get_singleton +EXPORT_SYMBOL_GPL vmlinux 0x64f36620 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x64f74abf __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x64fd48af ahci_platform_enable_regulators +EXPORT_SYMBOL_GPL vmlinux 0x64fded2b ahci_save_initial_config +EXPORT_SYMBOL_GPL vmlinux 0x64fe1c52 bpf_trace_run8 +EXPORT_SYMBOL_GPL vmlinux 0x64ffb9d1 pinctrl_remove_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x6502d9c2 xenbus_scanf +EXPORT_SYMBOL_GPL vmlinux 0x650c9063 usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x651d10e5 ktime_get_tai_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x651f2235 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x65202675 clk_gate_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x6522d416 ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0x65251f6d ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x6531a37f mpi_add +EXPORT_SYMBOL_GPL vmlinux 0x65396f0d phy_get +EXPORT_SYMBOL_GPL vmlinux 0x6544012f __traceiter_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x6545268e __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x65474bcf kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0x6560b0bb ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0x65629238 fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0x657d1d65 device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x65889843 dma_mmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x65906e7e __traceiter_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0x659cd55e ahci_platform_resume +EXPORT_SYMBOL_GPL vmlinux 0x65acf90c sbitmap_weight +EXPORT_SYMBOL_GPL vmlinux 0x65b176cf devfreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x65b1a40e led_trigger_rename_static +EXPORT_SYMBOL_GPL vmlinux 0x65bf2d28 phy_init +EXPORT_SYMBOL_GPL vmlinux 0x65c4aac2 usb_hub_release_port +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65e01af9 __sync_icache_dcache +EXPORT_SYMBOL_GPL vmlinux 0x65e3ff12 gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0x65ff6d9f irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x65fffa8e dm_audit_log_bio +EXPORT_SYMBOL_GPL vmlinux 0x660eb6bd devlink_free +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6624974b virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x66283b3f rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0x662bc1ae badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0x66324f7e i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x6640d244 irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0x664eb54a k3_ringacc_ring_reset_dma +EXPORT_SYMBOL_GPL vmlinux 0x665e92a0 clk_set_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x66643a58 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6691f790 get_dev_pagemap +EXPORT_SYMBOL_GPL vmlinux 0x66ab7a77 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x66b1aac0 device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66c0451f component_del +EXPORT_SYMBOL_GPL vmlinux 0x66c1e44b k3_udma_glue_tx_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0x66ca6463 __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x66cd247b pm_runtime_get_if_active +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66daf584 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x66dee06f spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x66e458e2 phy_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x66efdc29 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x671436c4 gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0x673105f9 skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0x67337fa1 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x6739a503 balloon_set_new_target +EXPORT_SYMBOL_GPL vmlinux 0x673c7743 devm_usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x67429c91 __SCK__tp_func_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x67453dc3 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0x67551caf rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x67566ef1 platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0x675e3854 simple_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0x676c688f k3_ringacc_ring_free +EXPORT_SYMBOL_GPL vmlinux 0x677ff88c xas_store +EXPORT_SYMBOL_GPL vmlinux 0x678c670e devm_rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x678ddffb rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x6793d671 ahci_check_ready +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x679e9347 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x67a009a0 virtqueue_add_inbuf +EXPORT_SYMBOL_GPL vmlinux 0x67a361ea ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x67aa696c iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0x67abf970 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x67bb142c rio_mport_get_feature +EXPORT_SYMBOL_GPL vmlinux 0x67bbb226 sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0x67cee371 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x67d18159 make_device_exclusive_range +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x67e59459 acpi_dev_add_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0x67e9c93b of_phandle_iterator_init +EXPORT_SYMBOL_GPL vmlinux 0x67f18676 i2c_dw_adjust_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x6800a602 xhci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x6804995d pinmux_generic_get_function_count +EXPORT_SYMBOL_GPL vmlinux 0x68249bad __irq_alloc_domain_generic_chips +EXPORT_SYMBOL_GPL vmlinux 0x68259dcb lwtunnel_output +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x68460527 blkcg_set_fc_appid +EXPORT_SYMBOL_GPL vmlinux 0x684b0a3d simple_rename_exchange +EXPORT_SYMBOL_GPL vmlinux 0x684ca117 zynqmp_pm_get_pll_frac_mode +EXPORT_SYMBOL_GPL vmlinux 0x6857e20e usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x686f13d6 imx_pinctrl_sc_ipc_init +EXPORT_SYMBOL_GPL vmlinux 0x686f5df5 crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0x688edaa4 dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0x68929637 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6892e3c3 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x689c830f register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x68a2ceac crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x68b767ad ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x68bba580 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x68c28aa2 scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0x68cc6017 bpf_trace_run12 +EXPORT_SYMBOL_GPL vmlinux 0x68ce224e io_uring_cmd_done +EXPORT_SYMBOL_GPL vmlinux 0x68cfdb27 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x68ddfa60 skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0x68eb036d kvm_vcpu_map +EXPORT_SYMBOL_GPL vmlinux 0x68f858c6 i2c_dw_configure_master +EXPORT_SYMBOL_GPL vmlinux 0x6902aa48 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL vmlinux 0x6918988f clk_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x693449bb __regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x6940a9cf xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x69467437 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x6947a060 device_move +EXPORT_SYMBOL_GPL vmlinux 0x6949c02b irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x694ac95d fscrypt_mergeable_bio +EXPORT_SYMBOL_GPL vmlinux 0x694e66a9 of_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x69561711 mtk_pctrl_show_one_pin +EXPORT_SYMBOL_GPL vmlinux 0x69588f18 mptcp_get_reset_option +EXPORT_SYMBOL_GPL vmlinux 0x696340a5 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x69637b2c __traceiter_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x696f2b63 of_changeset_init +EXPORT_SYMBOL_GPL vmlinux 0x6970d934 kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x697f162a debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x6987b5c3 unmap_mapping_pages +EXPORT_SYMBOL_GPL vmlinux 0x699b60e0 cpufreq_frequency_table_get_index +EXPORT_SYMBOL_GPL vmlinux 0x69c02d9e dax_layout_busy_page_range +EXPORT_SYMBOL_GPL vmlinux 0x69c83a11 icc_node_del +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69d6f0b6 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x69ee2220 linear_range_get_selector_high +EXPORT_SYMBOL_GPL vmlinux 0x69f9966a fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x6a05b65b fb_videomode_from_videomode +EXPORT_SYMBOL_GPL vmlinux 0x6a14d3af unregister_random_vmfork_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6a19c121 blk_mq_end_request_batch +EXPORT_SYMBOL_GPL vmlinux 0x6a2f40e1 sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x6a36ff74 __traceiter_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x6a3f4416 register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x6a421062 memory_failure_queue +EXPORT_SYMBOL_GPL vmlinux 0x6a460dc5 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0x6a4f623b mmu_notifier_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x6a5a81cb PageHuge +EXPORT_SYMBOL_GPL vmlinux 0x6a666687 ata_scsi_dma_need_drain +EXPORT_SYMBOL_GPL vmlinux 0x6a6e7302 __traceiter_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x6a73522c irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x6a737aad pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a8dfd8c find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x6a93c9b2 zynqmp_pm_pinctrl_get_function +EXPORT_SYMBOL_GPL vmlinux 0x6a999f2a dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0x6aa210f6 sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0x6aa2a877 xenbus_printf +EXPORT_SYMBOL_GPL vmlinux 0x6aad9152 xen_set_callback_via +EXPORT_SYMBOL_GPL vmlinux 0x6ab166d5 devl_rate_leaf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6ac1ff78 pinctrl_force_default +EXPORT_SYMBOL_GPL vmlinux 0x6ac40846 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x6ac706f5 skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0x6b00b464 gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0x6b0d73f6 scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0x6b0dc565 xen_set_irq_priority +EXPORT_SYMBOL_GPL vmlinux 0x6b198c77 led_colors +EXPORT_SYMBOL_GPL vmlinux 0x6b2b69f7 static_key_enable +EXPORT_SYMBOL_GPL vmlinux 0x6b36e07d devlink_linecard_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6b3ae022 acpi_os_unmap_iomem +EXPORT_SYMBOL_GPL vmlinux 0x6b4045ee zynqmp_pm_get_api_version +EXPORT_SYMBOL_GPL vmlinux 0x6b41062f __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6b413c9b sfp_link_down +EXPORT_SYMBOL_GPL vmlinux 0x6b43e91a gnttab_page_cache_shrink +EXPORT_SYMBOL_GPL vmlinux 0x6b47f8a4 hisi_clk_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x6b4960ae get_net_ns_by_fd +EXPORT_SYMBOL_GPL vmlinux 0x6b4aff3f file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x6b4d3439 gnttab_end_foreign_access +EXPORT_SYMBOL_GPL vmlinux 0x6b57ef94 pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x6b7489e5 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x6b7a4335 hyperv_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x6b81c38b power_supply_unreg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6b834121 bman_portals_probed +EXPORT_SYMBOL_GPL vmlinux 0x6b85b8ca md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x6b9097ec devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x6b9fb06c ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x6ba36c6a hwpoison_filter_flags_value +EXPORT_SYMBOL_GPL vmlinux 0x6baa828e devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x6baca8ac set_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x6bbd8324 perf_unregister_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x6bcdedc0 mpi_point_init +EXPORT_SYMBOL_GPL vmlinux 0x6bd11a8e crypto_alloc_acomp_node +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6bd2f922 devm_pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0x6bdef35c acpi_ec_mark_gpe_for_wake +EXPORT_SYMBOL_GPL vmlinux 0x6be3a96b hv_remove_vmbus_handler +EXPORT_SYMBOL_GPL vmlinux 0x6bff7911 clk_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0x6c021f78 pinctrl_find_gpio_range_from_pin +EXPORT_SYMBOL_GPL vmlinux 0x6c03fb3a inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0x6c074206 udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0x6c0f4ad0 fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0x6c17a08e filemap_range_has_writeback +EXPORT_SYMBOL_GPL vmlinux 0x6c1dac70 devm_acpi_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x6c205008 mpi_print +EXPORT_SYMBOL_GPL vmlinux 0x6c36054e gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0x6c389761 acpi_bus_get_private_data +EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6c41e9dd sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x6c444c14 dev_pm_opp_find_bw_floor +EXPORT_SYMBOL_GPL vmlinux 0x6c4b4966 key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x6c4b6684 reset_control_assert +EXPORT_SYMBOL_GPL vmlinux 0x6c4db977 devm_power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x6c5052ca __hwspin_lock_timeout +EXPORT_SYMBOL_GPL vmlinux 0x6c5ad0cd kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x6c655913 register_acpi_hed_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6c66c4dc bio_end_io_acct_remapped +EXPORT_SYMBOL_GPL vmlinux 0x6c71caa7 preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6c7f26d1 devm_rtc_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x6c866f9d divider_ro_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x6c956075 __SCK__tp_func_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6ca6b64b ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0x6cb0ce87 irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0x6cb211b7 led_get_default_pattern +EXPORT_SYMBOL_GPL vmlinux 0x6cb7f8e0 clk_hw_get_parent_by_index +EXPORT_SYMBOL_GPL vmlinux 0x6cbd1549 __reset_control_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x6cca97af da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x6cd047ad power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x6cd19662 ahci_platform_get_resources +EXPORT_SYMBOL_GPL vmlinux 0x6cd3004f sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x6cdb95ec edac_device_handle_ue_count +EXPORT_SYMBOL_GPL vmlinux 0x6cde2b4b bgmac_enet_resume +EXPORT_SYMBOL_GPL vmlinux 0x6ce10eb0 trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x6ce6d9f5 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x6cec9755 pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x6cfabcdc sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0x6cfdb8aa vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x6d04891d inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x6d09843f copy_bpf_fprog_from_user +EXPORT_SYMBOL_GPL vmlinux 0x6d0ae550 pinctrl_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6d0ba18e kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0x6d121a8b regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x6d1ab264 ata_host_put +EXPORT_SYMBOL_GPL vmlinux 0x6d1f01f2 __traceiter_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x6d229c92 bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x6d236f27 meson_aoclkc_probe +EXPORT_SYMBOL_GPL vmlinux 0x6d237fe9 dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0x6d23f403 acpi_dma_request_slave_chan_by_name +EXPORT_SYMBOL_GPL vmlinux 0x6d2abce5 clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d467b08 arm_smccc_1_1_get_conduit +EXPORT_SYMBOL_GPL vmlinux 0x6d4c38be pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6d6d74f2 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d76472a genphy_c45_read_status +EXPORT_SYMBOL_GPL vmlinux 0x6d7832b7 __stack_depot_save +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d8891db ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x6db1fe66 __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6dc03171 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x6dc339d1 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x6dd38fb5 dpcon_disable +EXPORT_SYMBOL_GPL vmlinux 0x6dd5680d sprint_symbol_build_id +EXPORT_SYMBOL_GPL vmlinux 0x6dd7aab3 nd_cmd_in_size +EXPORT_SYMBOL_GPL vmlinux 0x6de4dba5 tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0x6de84fb9 pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0x6df69824 soc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x6e04f62b vchan_init +EXPORT_SYMBOL_GPL vmlinux 0x6e09d93d __SCK__tp_func_map +EXPORT_SYMBOL_GPL vmlinux 0x6e110f68 phy_start_machine +EXPORT_SYMBOL_GPL vmlinux 0x6e16260d blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x6e164ac4 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x6e16add9 kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x6e251f44 thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6e3347ec devlink_priv +EXPORT_SYMBOL_GPL vmlinux 0x6e353c26 mpi_rshift +EXPORT_SYMBOL_GPL vmlinux 0x6e36b136 dev_get_tstats64 +EXPORT_SYMBOL_GPL vmlinux 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x6e422bb6 blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x6e47e199 adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6e4aa78d k3_udma_glue_rx_flow_enable +EXPORT_SYMBOL_GPL vmlinux 0x6e4ecae7 __devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x6e592be2 ehci_resume +EXPORT_SYMBOL_GPL vmlinux 0x6e59f821 __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x6e6df790 __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x6e6fac75 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6e81ce01 acpiphp_unregister_attention +EXPORT_SYMBOL_GPL vmlinux 0x6e88b389 regmap_noinc_read +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6e8ae2ef serial8250_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x6eb04f46 register_random_vmfork_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ec2f9a0 dev_coredumpv +EXPORT_SYMBOL_GPL vmlinux 0x6ec8fb2f __irq_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x6ed762fd inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x6ed9e5c2 dev_xdp_prog_count +EXPORT_SYMBOL_GPL vmlinux 0x6ee08c53 crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0x6ee0abf4 inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0x6ee5b2e2 gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6ef0855c ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6efcd613 devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f1e8602 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x6f2017de misc_cg_set_capacity +EXPORT_SYMBOL_GPL vmlinux 0x6f273c70 devlink_port_type_eth_set +EXPORT_SYMBOL_GPL vmlinux 0x6f3b7d4c dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x6f4473cd k3_udma_glue_request_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x6f466d4f sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x6f4b15f2 rio_del_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x6f4f6985 devm_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x6f5283f8 folio_wait_writeback +EXPORT_SYMBOL_GPL vmlinux 0x6f58510c nvdimm_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x6f592ec0 pinctrl_lookup_state +EXPORT_SYMBOL_GPL vmlinux 0x6f5c6b30 iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x6f6b52e9 __ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x6f7e6040 irq_has_action +EXPORT_SYMBOL_GPL vmlinux 0x6f7f91c3 trace_array_printk +EXPORT_SYMBOL_GPL vmlinux 0x6f81a5f4 sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x6f8a00ad __traceiter_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x6f90e529 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x6f94e76d of_pci_range_parser_one +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6fa11f4b rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x6fae0518 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x6fb6a6d3 fsl_mc_bus_dpbp_type +EXPORT_SYMBOL_GPL vmlinux 0x6fbb3175 nfs_ssc_client_tbl +EXPORT_SYMBOL_GPL vmlinux 0x6fc66db5 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x6fcb6c64 __traceiter_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6fd60cf6 iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6ff8b49e switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions +EXPORT_SYMBOL_GPL vmlinux 0x70083e23 crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x70117019 pm_clk_remove +EXPORT_SYMBOL_GPL vmlinux 0x701cdf46 rio_lock_device +EXPORT_SYMBOL_GPL vmlinux 0x7023b519 acpi_is_pnp_device +EXPORT_SYMBOL_GPL vmlinux 0x702cf7e4 hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0x703562f7 devfreq_event_enable_edev +EXPORT_SYMBOL_GPL vmlinux 0x703c3193 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x704d9d86 usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x7061db47 dw_pcie_own_conf_map_bus +EXPORT_SYMBOL_GPL vmlinux 0x706874c5 component_compare_of +EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL vmlinux 0x707abeca phy_create_lookup +EXPORT_SYMBOL_GPL vmlinux 0x707de019 dev_pm_opp_put_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x7087b717 handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0x708aa292 fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x708fef69 devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x709bd077 genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL vmlinux 0x70a1cf9c iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0x70b0fb2d __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0x70c2c7ea pids_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x70c52dc5 nf_skb_duplicated +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70cf3ddf device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x70d53313 noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0x70dbb736 xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0x70fbae4d cppc_allow_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x70fd9419 udp_abort +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x711da4ef regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x7129a6f4 osc_sb_native_usb4_support_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x712f1734 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x71349227 msi_next_desc +EXPORT_SYMBOL_GPL vmlinux 0x7134aa95 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x71383025 ohci_setup +EXPORT_SYMBOL_GPL vmlinux 0x7140c092 usb_urb_ep_type_check +EXPORT_SYMBOL_GPL vmlinux 0x71467971 devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x71482166 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x7158d46b fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0x715a43ce priv_to_devlink +EXPORT_SYMBOL_GPL vmlinux 0x715bedf9 kvm_read_guest_page +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71724493 mctrl_gpio_enable_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x7181db30 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71850380 gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x7195940a mctrl_gpio_disable_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x7198cf1f crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x71991850 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x719a02b8 misc_cg_try_charge +EXPORT_SYMBOL_GPL vmlinux 0x719e17ff clk_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71a20f4a __SCK__tp_func_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x71a61ebc fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x71a712b7 ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0x71a9a3ab mtk_mutex_acquire +EXPORT_SYMBOL_GPL vmlinux 0x71b15008 lwtunnel_valid_encap_type +EXPORT_SYMBOL_GPL vmlinux 0x71b59308 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x71b6cf94 dst_cache_reset_now +EXPORT_SYMBOL_GPL vmlinux 0x71b89291 clk_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x71bc21bf io_uring_cmd_complete_in_task +EXPORT_SYMBOL_GPL vmlinux 0x71c059d8 __traceiter_map +EXPORT_SYMBOL_GPL vmlinux 0x71d53bde pci_bridge_emul_conf_read +EXPORT_SYMBOL_GPL vmlinux 0x71e04de0 devm_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x71ea1146 clk_hw_get_num_parents +EXPORT_SYMBOL_GPL vmlinux 0x71ee9703 of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x71f6cde9 clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x72268e30 __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0x7237852a dw8250_do_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x72378c7e bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x7237e950 pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x72447696 pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0x724db0d0 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x7262702b sfp_get_module_eeprom_by_page +EXPORT_SYMBOL_GPL vmlinux 0x7265f2b0 pci_vpd_check_csum +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x7281616e sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x7283161b percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x72978ab6 hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x72acda22 device_phy_find_device +EXPORT_SYMBOL_GPL vmlinux 0x72ae319d regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x72b59194 gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0x72cb7de1 input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0x72d267dc nvmem_del_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x72e36435 rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x72e433bd perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x72e78e05 pm_wakeup_dev_event +EXPORT_SYMBOL_GPL vmlinux 0x72e9d962 pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x72edf918 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x73165cd3 tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x731958c2 amba_device_add +EXPORT_SYMBOL_GPL vmlinux 0x732852fe xenbus_transaction_end +EXPORT_SYMBOL_GPL vmlinux 0x7328f1af devm_usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x733aed03 blk_mq_sched_mark_restart_hctx +EXPORT_SYMBOL_GPL vmlinux 0x734ec9b9 mtk_pinconf_bias_disable_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x7351fcb1 devlink_remote_reload_actions_performed +EXPORT_SYMBOL_GPL vmlinux 0x7368c38c blk_crypto_update_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x736e92d7 page_cache_ra_unbounded +EXPORT_SYMBOL_GPL vmlinux 0x73723a27 iomap_invalidate_folio +EXPORT_SYMBOL_GPL vmlinux 0x7384e739 regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73b31d3b of_irq_get +EXPORT_SYMBOL_GPL vmlinux 0x73b607b1 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x73ba1a78 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0x73c2554f __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x73c49ee1 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x73c55747 blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0x73ca3d53 stmpe811_adc_common_init +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73d09676 __dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x73d6f75c scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0x73f40ec5 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0x74012225 fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0x741be11d perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x7433b5aa efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0x743428f1 bgmac_enet_probe +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x743b99d8 xenmem_reservation_increase +EXPORT_SYMBOL_GPL vmlinux 0x74406292 pinconf_generic_dt_subnode_to_map +EXPORT_SYMBOL_GPL vmlinux 0x74457e56 apei_resources_fini +EXPORT_SYMBOL_GPL vmlinux 0x74482afd regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7456cc3c _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x745c6b78 nd_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x7461430f __phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x7462ce55 devm_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x746d8076 mtk_clk_register_fixed_clks +EXPORT_SYMBOL_GPL vmlinux 0x74887ca4 pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0x749a9c12 dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0x749ceef9 pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0x749de23f pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0x749fb3fc tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x74a22bb4 k3_udma_glue_push_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x74a31afe led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x74b5ea68 lcm_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74c7bffa stack_trace_snprint +EXPORT_SYMBOL_GPL vmlinux 0x74d1e0a3 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x74e73871 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x74e8951e dev_pm_opp_find_freq_exact +EXPORT_SYMBOL_GPL vmlinux 0x74f7bf0b dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0x75077528 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x750aa2b2 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x75133f6e visitor128 +EXPORT_SYMBOL_GPL vmlinux 0x7518268a mptcp_token_get_sock +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x7523e81d fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0x7527563b devm_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x7549631c iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0x75622c24 ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0x7567d416 device_create_managed_software_node +EXPORT_SYMBOL_GPL vmlinux 0x757c1bbb housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0x75827abf dev_pm_genpd_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x758a43fe k3_ringacc_get_ring_irq_num +EXPORT_SYMBOL_GPL vmlinux 0x7590903a pwmchip_remove +EXPORT_SYMBOL_GPL vmlinux 0x759139cb of_pci_check_probe_only +EXPORT_SYMBOL_GPL vmlinux 0x759bfe36 btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0x75a4d0cd acpi_dev_get_first_consumer_dev +EXPORT_SYMBOL_GPL vmlinux 0x75dd4ebe of_overlay_remove +EXPORT_SYMBOL_GPL vmlinux 0x75defaa0 fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0x75e2f8b9 sch_frag_xmit_hook +EXPORT_SYMBOL_GPL vmlinux 0x75e51945 __SCK__tp_func_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x75fb9062 arch_timer_read_counter +EXPORT_SYMBOL_GPL vmlinux 0x760e63b5 sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x760f40fd device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x761a2d3e pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x76257049 dpbp_open +EXPORT_SYMBOL_GPL vmlinux 0x76298741 acpi_bus_trim +EXPORT_SYMBOL_GPL vmlinux 0x762c2cb3 kvm_read_guest +EXPORT_SYMBOL_GPL vmlinux 0x764ffefa page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0x7655c807 pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x7665a95b idr_remove +EXPORT_SYMBOL_GPL vmlinux 0x766e178a cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0x767061a9 of_mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0x7681946c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7681d183 gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0x768e5758 pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x768e93ce __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x769bd1ff gnttab_unmap_refs +EXPORT_SYMBOL_GPL vmlinux 0x769cefb5 percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0x76a1d0a6 ahci_start_fis_rx +EXPORT_SYMBOL_GPL vmlinux 0x76a581e3 ahci_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x76ba8cc2 tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x76bf822e vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0x76c2de1e devm_request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0x76cf4c84 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x76d22bab tty_port_register_device_serdev +EXPORT_SYMBOL_GPL vmlinux 0x76d680f6 acpi_dev_resource_memory +EXPORT_SYMBOL_GPL vmlinux 0x76d9b876 clk_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x76e148af pm_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x76e85b92 gnttab_request_free_callback +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x76f54d6c __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0x76fa1359 phy_set_media +EXPORT_SYMBOL_GPL vmlinux 0x770cb0c0 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x770f93b3 vp_legacy_set_status +EXPORT_SYMBOL_GPL vmlinux 0x7712771a unbind_from_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x7719a77d do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0x77222306 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x772b0f64 __wake_up_pollfree +EXPORT_SYMBOL_GPL vmlinux 0x7739f847 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0x774150e9 blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x774f16ef __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x77522cf6 sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x7757b51a clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x775aa1d2 devm_pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7767bea3 fs_dax_get_by_bdev +EXPORT_SYMBOL_GPL vmlinux 0x7768aa3d __traceiter_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x777eb60d regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x777f5d52 dev_pm_opp_put_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x77818f12 xen_unregister_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0x77858230 regmap_parse_val +EXPORT_SYMBOL_GPL vmlinux 0x7790fc57 regulator_desc_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x77914ed3 mtk_eint_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x77ae495d usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x77c041c6 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x77c97199 devm_tegra_memory_controller_get +EXPORT_SYMBOL_GPL vmlinux 0x77df2d30 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x77e7228d platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x77ecf68d memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0x77f12afa usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x77f24400 perf_register_guest_info_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x77fc7b05 xenbus_alloc_evtchn +EXPORT_SYMBOL_GPL vmlinux 0x78123764 unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x78176ba1 devlink_param_unregister +EXPORT_SYMBOL_GPL vmlinux 0x78281e48 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x78323fb5 gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x7834c019 phy_10gbit_full_features +EXPORT_SYMBOL_GPL vmlinux 0x7848ad96 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x78557aa2 fwnode_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x785a93ee mtk_hw_set_value +EXPORT_SYMBOL_GPL vmlinux 0x785fb265 phy_reset +EXPORT_SYMBOL_GPL vmlinux 0x786bb54d regulator_set_suspend_voltage +EXPORT_SYMBOL_GPL vmlinux 0x786f81fb __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x78870213 sk_msg_is_readable +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x789b49e1 ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x78b4ea20 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x78c683ed gnttab_pages_clear_private +EXPORT_SYMBOL_GPL vmlinux 0x78d451fc stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x78ddb76b dmi_match +EXPORT_SYMBOL_GPL vmlinux 0x78def9d9 nvdimm_clear_poison +EXPORT_SYMBOL_GPL vmlinux 0x78e7146d blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x78e9290c blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0x78ebb59b regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x78f7b456 tegra_bpmp_get +EXPORT_SYMBOL_GPL vmlinux 0x79041993 efivar_entry_find +EXPORT_SYMBOL_GPL vmlinux 0x790be0b9 usb_bus_idr +EXPORT_SYMBOL_GPL vmlinux 0x7918d817 memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x79197c99 tps65912_device_init +EXPORT_SYMBOL_GPL vmlinux 0x791fd270 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x7924fb62 meson_vid_pll_div_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x792b42d0 sprd_pinctrl_remove +EXPORT_SYMBOL_GPL vmlinux 0x79345cb9 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x7934aa08 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x793905c6 rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x793ad99d bpf_trace_run7 +EXPORT_SYMBOL_GPL vmlinux 0x793f98bc __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x79427182 devm_blk_crypto_profile_init +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x79470a2c TSS_authhmac +EXPORT_SYMBOL_GPL vmlinux 0x794a0461 rockchip_pcie_disable_clocks +EXPORT_SYMBOL_GPL vmlinux 0x794b7271 orderly_reboot +EXPORT_SYMBOL_GPL vmlinux 0x7961f317 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x797e4b98 crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0x79839abe fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0x7983ba83 da9052_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x798b7682 klist_prev +EXPORT_SYMBOL_GPL vmlinux 0x79b51662 tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0x79b62c5f lwtunnel_get_encap_size +EXPORT_SYMBOL_GPL vmlinux 0x79b9af29 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x79bc842c usb_anchor_suspend_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x79d64ddd kpp_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79e9f810 gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0x79f1aa44 find_iova +EXPORT_SYMBOL_GPL vmlinux 0x79f697e4 lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x7a00bbea input_device_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7a235201 of_irq_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x7a3bce27 ahci_platform_disable_phys +EXPORT_SYMBOL_GPL vmlinux 0x7a5ac758 xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x7a6da9a8 copy_user_highpage +EXPORT_SYMBOL_GPL vmlinux 0x7a73e605 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7a8fafd6 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7a98f4b4 copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x7a9e4c23 software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x7aa4b0d2 iocb_bio_iopoll +EXPORT_SYMBOL_GPL vmlinux 0x7abe1b35 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x7ac10ad8 icst_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x7ac3ba8f ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7ad02a41 asn1_encode_tag +EXPORT_SYMBOL_GPL vmlinux 0x7ad1ded1 pinctrl_register_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7ad2c64c k3_udma_glue_release_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0x7ad36538 acpi_dma_configure_id +EXPORT_SYMBOL_GPL vmlinux 0x7ad4bdfd sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0x7ad93e92 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x7adeaf7b fsl_mc_device_add +EXPORT_SYMBOL_GPL vmlinux 0x7ae5aebf pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x7aeb1e24 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x7afade51 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x7afcb7db __kprobe_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x7afe324e halt_poll_ns_grow +EXPORT_SYMBOL_GPL vmlinux 0x7b0212ac rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x7b0e240d tegra_bpmp_free_mrq +EXPORT_SYMBOL_GPL vmlinux 0x7b0f7419 pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7b10fd1f vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0x7b178afe unlock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7b273222 usb_add_phy_dev +EXPORT_SYMBOL_GPL vmlinux 0x7b30546f devfreq_get_devfreq_by_node +EXPORT_SYMBOL_GPL vmlinux 0x7b3834a6 __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x7b40b862 wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0x7b4b3986 component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0x7b5105a2 tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x7b5452b8 acpi_unregister_gsi +EXPORT_SYMBOL_GPL vmlinux 0x7b5969c8 cpufreq_generic_init +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b6a6311 devlink_rate_leaf_create +EXPORT_SYMBOL_GPL vmlinux 0x7b6f9536 acpi_register_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0x7b73d5f7 fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0x7b7694b1 of_phandle_iterator_next +EXPORT_SYMBOL_GPL vmlinux 0x7b8910f4 kfence_sample_interval +EXPORT_SYMBOL_GPL vmlinux 0x7b8ace40 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x7b90d1a9 bind_virq_to_irqhandler +EXPORT_SYMBOL_GPL vmlinux 0x7b94bce7 posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7b9e58be imx8ulp_clk_hw_composite +EXPORT_SYMBOL_GPL vmlinux 0x7bb045a7 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x7bbcff39 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x7bcd72db bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0x7bd9b9ea sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7bf5a613 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x7c0f35ab fwnode_graph_get_remote_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x7c17e0eb tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0x7c1831e5 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x7c18ef1b cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0x7c1a9621 add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0x7c291e86 show_rcu_tasks_trace_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0x7c2fee44 irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x7c329f8f ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0x7c3d8a4b icc_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0x7c5f3711 ioasid_unregister_allocator +EXPORT_SYMBOL_GPL vmlinux 0x7c65751c gnttab_page_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x7c7ff02e __regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x7c80bc07 em_dev_register_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x7c943669 espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0x7c94c99a kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL vmlinux 0x7c983a5d dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x7c9a7371 clk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7c9f0165 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x7ca64a0b __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL_GPL vmlinux 0x7cb803de btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x7cceaf92 zs_pool_stats +EXPORT_SYMBOL_GPL vmlinux 0x7cd13cc8 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x7cd6f042 cpufreq_get_current_driver +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7cebfd8f vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0x7cfa8aff ping_err +EXPORT_SYMBOL_GPL vmlinux 0x7cfd6f6f subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x7d00c65b nd_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x7d1bb1d4 tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0x7d2dc899 evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x7d315be3 kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x7d37d122 sdio_retune_hold_now +EXPORT_SYMBOL_GPL vmlinux 0x7d38dc59 sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x7d4467aa bpf_trace_run4 +EXPORT_SYMBOL_GPL vmlinux 0x7d471321 zynqmp_pm_pinctrl_release +EXPORT_SYMBOL_GPL vmlinux 0x7d4adcb2 vp_modern_queue_address +EXPORT_SYMBOL_GPL vmlinux 0x7d503dd5 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x7d558968 trace_seq_puts +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d7ab44e clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x7d857398 fw_devlink_purge_absent_suppliers +EXPORT_SYMBOL_GPL vmlinux 0x7da1fc2b anon_inode_getfd_secure +EXPORT_SYMBOL_GPL vmlinux 0x7da6440e fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0x7dce1f3f tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x7dd8601a regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x7dd97bcc power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7de39e07 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7de65a03 acpi_lpat_free_conversion_table +EXPORT_SYMBOL_GPL vmlinux 0x7de6cc23 io_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7deb2be8 led_update_brightness +EXPORT_SYMBOL_GPL vmlinux 0x7deb5846 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x7defc870 gnttab_end_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0x7e029901 regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x7e11931e pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x7e309f15 ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x7e3b925e tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x7e3bdecd __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x7e42fb74 usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x7e5db80b pstore_name_to_type +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e673c59 kick_process +EXPORT_SYMBOL_GPL vmlinux 0x7e6eb42a ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x7e73f435 pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x7e761fd3 __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0x7e7a47c9 pci_acpi_clear_companion_lookup_hook +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e7e63a7 ahci_reset_controller +EXPORT_SYMBOL_GPL vmlinux 0x7e86ffcd icc_node_add +EXPORT_SYMBOL_GPL vmlinux 0x7e8d8619 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x7e917894 __SCK__tp_func_unmap +EXPORT_SYMBOL_GPL vmlinux 0x7e943b45 devlink_port_attrs_pci_sf_set +EXPORT_SYMBOL_GPL vmlinux 0x7e96d0ff fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0x7e9a6568 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x7e9a6d35 l3mdev_table_lookup_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7ea75c24 __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0x7eb1795e __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7ebc300a skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x7ec5bda5 clk_register_mux_table +EXPORT_SYMBOL_GPL vmlinux 0x7ed53481 devm_regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x7eea6b8b pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0x7f00792f scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x7f00bdac devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0x7f458468 of_genpd_add_provider_onecell +EXPORT_SYMBOL_GPL vmlinux 0x7f4a0203 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x7f56a621 vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0x7f5b05b2 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x7f67a9c7 vp_modern_set_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x7f6cee89 rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7f770786 clk_hw_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f848a96 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x7f84f35d rcu_gp_slow_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7f934f69 blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0x7f941b0b fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0x7f9b1879 osc_cpc_flexible_adr_space_confirmed +EXPORT_SYMBOL_GPL vmlinux 0x7f9e41aa mtk_pinconf_adv_pull_set +EXPORT_SYMBOL_GPL vmlinux 0x7fa820fe nvmem_cell_read_u32 +EXPORT_SYMBOL_GPL vmlinux 0x7fa96509 erst_get_record_id_next +EXPORT_SYMBOL_GPL vmlinux 0x7fb5a111 mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0x7fbb597d pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0x7fc839ad da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x7fd7e08a ata_acpi_cbl_80wire +EXPORT_SYMBOL_GPL vmlinux 0x7fdecdc3 sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x7ff19c40 zynqmp_pm_set_requirement +EXPORT_SYMBOL_GPL vmlinux 0x7ff5ffb8 mtk_eint_find_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ff8afa0 xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0x7ff9ed70 vmf_insert_pfn_pmd_prot +EXPORT_SYMBOL_GPL vmlinux 0x80135182 k3_ringacc_ring_pop_tail +EXPORT_SYMBOL_GPL vmlinux 0x801acd58 imx_clk_hw_pllv4 +EXPORT_SYMBOL_GPL vmlinux 0x8021dfeb devm_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x802439cd securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x8035bed7 rockchip_clk_protect_critical +EXPORT_SYMBOL_GPL vmlinux 0x8036a45b alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0x805f4a96 uart_xchar_out +EXPORT_SYMBOL_GPL vmlinux 0x806327ea imx_clk_hw_cpu +EXPORT_SYMBOL_GPL vmlinux 0x806ad7c2 nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0x806f84ab ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x807766ea usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x80791c18 aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x807fdcc4 call_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x808468b3 receive_fd +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x8091c44f usb_get_role_switch_default_mode +EXPORT_SYMBOL_GPL vmlinux 0x809a51c0 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x80b8a7c2 __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x80badff4 __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x80bd4ed6 proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0x80c68137 nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80dce25e __devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0x80ea3e7b pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x80fce84b icc_std_aggregate +EXPORT_SYMBOL_GPL vmlinux 0x8119e8d2 dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x811b0f38 _copy_from_iter_flushcache +EXPORT_SYMBOL_GPL vmlinux 0x811ba6fd skcipher_alloc_instance_simple +EXPORT_SYMBOL_GPL vmlinux 0x811dc334 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0x8133f294 devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0x815537e5 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x815588a6 clk_enable +EXPORT_SYMBOL_GPL vmlinux 0x815fda83 sed_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x816a41ca cpufreq_update_limits +EXPORT_SYMBOL_GPL vmlinux 0x816bd1ea devm_clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x81745676 i2c_new_scanned_device +EXPORT_SYMBOL_GPL vmlinux 0x817927ce pm_clk_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8180c98b pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x8180cede asn1_encode_sequence +EXPORT_SYMBOL_GPL vmlinux 0x81818a65 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x818b71e0 regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x819d72cb klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x81a7f541 percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0x81aa78d8 zynqmp_pm_aes_engine +EXPORT_SYMBOL_GPL vmlinux 0x81ae8309 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x81b03377 efivar_entry_set_safe +EXPORT_SYMBOL_GPL vmlinux 0x81b9ce83 i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL vmlinux 0x81c909d5 acct_bioset_init +EXPORT_SYMBOL_GPL vmlinux 0x81cb4415 iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x81cf5282 trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0x81d10485 ioasid_free +EXPORT_SYMBOL_GPL vmlinux 0x81e1d2bb pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0x81e2bdf4 generic_handle_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x81f372a2 unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x81fdc1df get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x8208366b usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x82092899 badrange_forget +EXPORT_SYMBOL_GPL vmlinux 0x820eb620 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x821cff8f iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x8220a38e k3_ringacc_get_ring_id +EXPORT_SYMBOL_GPL vmlinux 0x82226c53 pinctrl_unregister_mappings +EXPORT_SYMBOL_GPL vmlinux 0x82289051 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x8232e11b fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x82372b8a pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x823caf54 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x823eae06 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x824de2b9 mmc_regulator_set_ocr +EXPORT_SYMBOL_GPL vmlinux 0x825b9df9 get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x826ba67b i2c_dw_validate_speed +EXPORT_SYMBOL_GPL vmlinux 0x82794fd7 xfer_to_guest_mode_handle_work +EXPORT_SYMBOL_GPL vmlinux 0x827e0de3 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x827e61f8 acpi_has_watchdog +EXPORT_SYMBOL_GPL vmlinux 0x828e22f4 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x82948b19 devm_hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x82a80545 __SCK__tp_func_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x82b0c6ae serial8250_rpm_get_tx +EXPORT_SYMBOL_GPL vmlinux 0x82b0c9a9 tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0x82bbf30b __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0x82cab4d3 extcon_get_state +EXPORT_SYMBOL_GPL vmlinux 0x82d52aa1 tegra_bpmp_mrq_is_supported +EXPORT_SYMBOL_GPL vmlinux 0x82d682b7 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82e45f37 iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x82f94689 irq_gc_ack_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x831f6487 __alloc_pages_bulk +EXPORT_SYMBOL_GPL vmlinux 0x8323ecdd __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x83247a57 regmap_get_reg_stride +EXPORT_SYMBOL_GPL vmlinux 0x83272c63 devm_irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x83322e68 trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0x8339df73 klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x8349a895 nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x834f929a fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8353dfff acpi_os_get_iomem +EXPORT_SYMBOL_GPL vmlinux 0x8356fa6c sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x837e536e vp_legacy_get_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x838504ff regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x8388900a dma_map_sgtable +EXPORT_SYMBOL_GPL vmlinux 0x8396a452 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x839d6ab9 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x839d8a76 handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0x83a7b5e4 pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x83ad8c6c usb_device_match_id +EXPORT_SYMBOL_GPL vmlinux 0x83bc1dcb crypto_alloc_tfm_node +EXPORT_SYMBOL_GPL vmlinux 0x83c304a9 fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0x83c3ea89 iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x83d215d2 dev_pm_opp_find_level_ceil +EXPORT_SYMBOL_GPL vmlinux 0x83d2bcd9 da9055_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x83d9ca78 __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x83df3b43 iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x83e440c2 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x83ee9551 usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x84106f36 devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x84166f17 kvm_get_running_vcpu +EXPORT_SYMBOL_GPL vmlinux 0x841f8dd6 nvdimm_cmd_mask +EXPORT_SYMBOL_GPL vmlinux 0x8425b9c3 xas_split_alloc +EXPORT_SYMBOL_GPL vmlinux 0x84264ced fs_umode_to_ftype +EXPORT_SYMBOL_GPL vmlinux 0x842f046d usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x843bedf8 umd_load_blob +EXPORT_SYMBOL_GPL vmlinux 0x843d70ef acpi_is_root_bridge +EXPORT_SYMBOL_GPL vmlinux 0x84428ee2 of_resolve_phandles +EXPORT_SYMBOL_GPL vmlinux 0x844c0800 kvm_vcpu_gfn_to_pfn +EXPORT_SYMBOL_GPL vmlinux 0x844fde7b irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x84502a47 blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x8451b33f evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0x845dbf3b scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x8462cb62 atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0x8466a6c2 devm_mipi_dsi_attach +EXPORT_SYMBOL_GPL vmlinux 0x8483b297 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x848a5c8b icc_nodes_remove +EXPORT_SYMBOL_GPL vmlinux 0x84a8d0eb of_changeset_revert +EXPORT_SYMBOL_GPL vmlinux 0x84ab66e6 iomap_release_folio +EXPORT_SYMBOL_GPL vmlinux 0x84b150fc regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x84b1725c tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0x84b7271d crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0x84b9d259 genphy_c45_pma_resume +EXPORT_SYMBOL_GPL vmlinux 0x84ef27f5 synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x84f72614 srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0x85069ce1 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x8506baa8 clk_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x850924e3 dev_pm_opp_is_turbo +EXPORT_SYMBOL_GPL vmlinux 0x850bb6db devlink_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x85192465 pm_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x851e6003 usb_phy_roothub_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x851fe124 __SCK__tp_func_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x85253102 device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x852c8361 smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x85357a55 __fsl_mc_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x85540ebc nvmem_cell_put +EXPORT_SYMBOL_GPL vmlinux 0x85683778 ohci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x858540ad gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0x85862277 ioasid_find +EXPORT_SYMBOL_GPL vmlinux 0x85891bf7 crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0x858a2ec5 irq_gc_mask_clr_bit +EXPORT_SYMBOL_GPL vmlinux 0x85935a61 acpi_dev_irq_flags +EXPORT_SYMBOL_GPL vmlinux 0x8595c930 ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x859cf96d ext_pi_type1_crc64 +EXPORT_SYMBOL_GPL vmlinux 0x859fe7da __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x85a9d711 pm_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0x85b2de19 rockchip_pcie_get_phys +EXPORT_SYMBOL_GPL vmlinux 0x85b42760 folio_wait_stable +EXPORT_SYMBOL_GPL vmlinux 0x85c54b61 efivar_validate +EXPORT_SYMBOL_GPL vmlinux 0x85cfb5ca __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0x85d29fb9 of_irq_parse_one +EXPORT_SYMBOL_GPL vmlinux 0x85e4f648 serial8250_rpm_put +EXPORT_SYMBOL_GPL vmlinux 0x85e5178e irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0x85eb04c7 call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x85eed1be iopf_queue_discard_partial +EXPORT_SYMBOL_GPL vmlinux 0x8615bcb1 sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x861a7a70 fscrypt_dummy_policies_equal +EXPORT_SYMBOL_GPL vmlinux 0x862258db timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x8626853c device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x862bb17b linear_range_values_in_range_array +EXPORT_SYMBOL_GPL vmlinux 0x862d32d4 __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x86338803 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x863b7425 __traceiter_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x863e0679 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x86462714 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x864af5bb __traceiter_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x86585a33 devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x86623fd7 notify_remote_via_irq +EXPORT_SYMBOL_GPL vmlinux 0x86700220 acpi_get_cpuid +EXPORT_SYMBOL_GPL vmlinux 0x8677245d unregister_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x867ae622 clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0x867ebde4 __traceiter_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x8689a3bc usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x868ddcbf mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x86abc743 clk_mux_val_to_index +EXPORT_SYMBOL_GPL vmlinux 0x86b13d2a usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x86b1ceb3 tegra210_set_sata_pll_seq_sw +EXPORT_SYMBOL_GPL vmlinux 0x86c02001 ipi_send_mask +EXPORT_SYMBOL_GPL vmlinux 0x86c43a8c cper_estatus_check +EXPORT_SYMBOL_GPL vmlinux 0x86dda6ef rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0x86e209cb debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x86e821e5 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0x86f2e3ef inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f85114 net_dec_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x86fb0072 of_pci_get_max_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x86fec567 bgmac_phy_connect_direct +EXPORT_SYMBOL_GPL vmlinux 0x870e16b7 xen_test_irq_shared +EXPORT_SYMBOL_GPL vmlinux 0x8740ff4b of_clk_hw_simple_get +EXPORT_SYMBOL_GPL vmlinux 0x8753cabb sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x87817f02 xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x87845f8e dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0x878e38ec usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0x87908767 xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0x8799768f gnttab_page_cache_put +EXPORT_SYMBOL_GPL vmlinux 0x87ac7411 __tracepoint_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x87c607c2 mtk_paris_pinctrl_probe +EXPORT_SYMBOL_GPL vmlinux 0x87c85ed4 devm_regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x87d38bda led_set_brightness +EXPORT_SYMBOL_GPL vmlinux 0x87d60048 skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x881d0719 blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0x882b7a76 of_dma_configure_id +EXPORT_SYMBOL_GPL vmlinux 0x88406e0e css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0x88476f9f devl_lock +EXPORT_SYMBOL_GPL vmlinux 0x885528a6 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x885bbdf4 of_clk_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0x885c6541 sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x886bd525 blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0x887532c3 dev_pm_opp_xlate_required_opp +EXPORT_SYMBOL_GPL vmlinux 0x8877cb1b devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x887ec0e8 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x888c5be5 irq_bypass_register_consumer +EXPORT_SYMBOL_GPL vmlinux 0x888ca7a1 divider_recalc_rate +EXPORT_SYMBOL_GPL vmlinux 0x888dfa43 ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0x889648d2 ata_port_classify +EXPORT_SYMBOL_GPL vmlinux 0x8898325a acpi_create_platform_device +EXPORT_SYMBOL_GPL vmlinux 0x889e7a50 pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x88a3513e virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b4ae92 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x88bc6f47 mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x88c52424 blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0x88c82363 devm_of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x88cc1490 cpufreq_dbs_governor_start +EXPORT_SYMBOL_GPL vmlinux 0x88cce6a0 xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0x88cd7a9a k3_ringacc_ring_get_occ +EXPORT_SYMBOL_GPL vmlinux 0x88d1b3f2 crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0x88d45cb8 acpi_bind_one +EXPORT_SYMBOL_GPL vmlinux 0x88d91aab gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x88da1e50 platform_set +EXPORT_SYMBOL_GPL vmlinux 0x88edbd4b pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x88eebcf3 sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x88fa57ad wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x890468f7 to_software_node +EXPORT_SYMBOL_GPL vmlinux 0x890f4f97 __kprobe_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x890fa0fa btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0x891a5a7f gnttab_max_grant_frames +EXPORT_SYMBOL_GPL vmlinux 0x89202c39 extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x8927112a switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x89346f3e spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x89360382 cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x89365f0f thermal_zone_get_zone_by_name +EXPORT_SYMBOL_GPL vmlinux 0x893abbdd devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x8941a8f8 dev_pm_domain_attach_by_name +EXPORT_SYMBOL_GPL vmlinux 0x89485687 iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x894cea53 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x894f00a1 regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x8954dc8e __SCK__tp_func_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x89596a56 netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x89638750 usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x8967c693 tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x896dd7bf icc_link_create +EXPORT_SYMBOL_GPL vmlinux 0x896e0985 pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x89796dd5 nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0x8982a005 pm_clk_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x8983866f rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x898621a7 perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0x8996a627 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x899b2a3f ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x89a26fda fsl_mc_bus_dpmac_type +EXPORT_SYMBOL_GPL vmlinux 0x89a306ed pinctrl_generic_get_group_count +EXPORT_SYMBOL_GPL vmlinux 0x89a4476d HYPERVISOR_multicall +EXPORT_SYMBOL_GPL vmlinux 0x89aae126 of_property_read_variable_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x89ae7aa0 rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x89bbafc6 usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x89bec8b0 gfn_to_pfn_memslot_atomic +EXPORT_SYMBOL_GPL vmlinux 0x89c429e4 __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x89e340cf acpi_bus_get_ejd +EXPORT_SYMBOL_GPL vmlinux 0x89e9d483 usb_pipe_type_check +EXPORT_SYMBOL_GPL vmlinux 0x89f2ed38 __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x89f7e569 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x8a0fe866 raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x8a2a94c9 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x8a3a3513 __traceiter_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x8a3f84ba linear_range_get_selector_low +EXPORT_SYMBOL_GPL vmlinux 0x8a448499 pci_ecam_create +EXPORT_SYMBOL_GPL vmlinux 0x8a45a555 acpi_unregister_wakeup_handler +EXPORT_SYMBOL_GPL vmlinux 0x8a4878e4 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8a4fd179 crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0x8a521ee9 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x8a554a36 mpc8xxx_spi_strmode +EXPORT_SYMBOL_GPL vmlinux 0x8a62b81b sfp_upstream_stop +EXPORT_SYMBOL_GPL vmlinux 0x8a6ec04a kvm_write_guest +EXPORT_SYMBOL_GPL vmlinux 0x8a712195 regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8a7a5048 dev_pm_opp_add +EXPORT_SYMBOL_GPL vmlinux 0x8a83fb45 mpi_point_free_parts +EXPORT_SYMBOL_GPL vmlinux 0x8a8cdc0f of_usb_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8aca88f7 of_clk_del_provider +EXPORT_SYMBOL_GPL vmlinux 0x8adf05d1 mtk_pinconf_drive_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x8aec0d65 pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x8aedead0 edac_device_add_device +EXPORT_SYMBOL_GPL vmlinux 0x8af2651b ping_hash +EXPORT_SYMBOL_GPL vmlinux 0x8af4f870 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x8b149c36 clk_is_match +EXPORT_SYMBOL_GPL vmlinux 0x8b189cc0 dw_pcie_link_up +EXPORT_SYMBOL_GPL vmlinux 0x8b21dde1 vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x8b293861 cros_ec_get_sensor_count +EXPORT_SYMBOL_GPL vmlinux 0x8b352182 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x8b3947df __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x8b650752 mtk_mutex_release +EXPORT_SYMBOL_GPL vmlinux 0x8b6971c6 of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0x8b7a698b __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x8b7b5cf2 fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0x8b89f01c hv_ghcb_hypercall +EXPORT_SYMBOL_GPL vmlinux 0x8b938dba inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x8ba0eb15 hv_set_vpreg +EXPORT_SYMBOL_GPL vmlinux 0x8ba25edb dev_pm_opp_init_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x8ba26536 ahci_ops +EXPORT_SYMBOL_GPL vmlinux 0x8ba57220 dev_pm_qos_hide_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x8ba5afe9 HYPERVISOR_memory_op +EXPORT_SYMBOL_GPL vmlinux 0x8ba63ea7 mtk_pinconf_bias_set_combo +EXPORT_SYMBOL_GPL vmlinux 0x8ba665fe __virtio_unbreak_device +EXPORT_SYMBOL_GPL vmlinux 0x8bb1d858 irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x8bbeb687 dev_pm_qos_expose_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x8bc3e1b5 devm_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0x8bc52ba3 pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x8bc70970 sk_psock_init +EXPORT_SYMBOL_GPL vmlinux 0x8bc87d14 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x8bdea226 apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0x8be0b735 fscrypt_dio_supported +EXPORT_SYMBOL_GPL vmlinux 0x8bf1a8c0 adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x8bf5f379 k3_udma_glue_release_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0x8c012b6c cpufreq_dbs_governor_limits +EXPORT_SYMBOL_GPL vmlinux 0x8c0215f2 pm_system_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c047a33 devlink_port_region_create +EXPORT_SYMBOL_GPL vmlinux 0x8c0556ee inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x8c0afec3 cpufreq_generic_attr +EXPORT_SYMBOL_GPL vmlinux 0x8c0ed103 rcu_check_boost_fail +EXPORT_SYMBOL_GPL vmlinux 0x8c454055 fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x8c484409 gnttab_release_grant_reference +EXPORT_SYMBOL_GPL vmlinux 0x8c677efa securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x8c743fb6 reset_control_status +EXPORT_SYMBOL_GPL vmlinux 0x8c796a8c mtk_clk_unregister_plls +EXPORT_SYMBOL_GPL vmlinux 0x8c89e3b8 usb_phy_roothub_power_off +EXPORT_SYMBOL_GPL vmlinux 0x8c98d248 unregister_vmcore_cb +EXPORT_SYMBOL_GPL vmlinux 0x8c9a4ddd ata_sas_port_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8c9f2eb0 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8cab1c5e devm_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x8cb5a38e k3_udma_glue_rx_flow_disable +EXPORT_SYMBOL_GPL vmlinux 0x8cb880a5 regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x8cc5ff3a crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x8cd36bdb of_irq_find_parent +EXPORT_SYMBOL_GPL vmlinux 0x8cda533a usb_hcd_setup_local_mem +EXPORT_SYMBOL_GPL vmlinux 0x8ce2458c __of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x8ce2d446 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x8cf87c36 ata_pci_shutdown_one +EXPORT_SYMBOL_GPL vmlinux 0x8cfb861f crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x8d0abf3a __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x8d150ccb spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x8d22bb58 iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d287d5a tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x8d32db8e xenbus_match +EXPORT_SYMBOL_GPL vmlinux 0x8d3330b6 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x8d3fdf32 mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x8d442e8b dev_pm_set_dedicated_wake_irq_reverse +EXPORT_SYMBOL_GPL vmlinux 0x8d457ef1 tegra210_clk_emc_attach +EXPORT_SYMBOL_GPL vmlinux 0x8d522714 __rcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x8d52e827 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x8d5343e3 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x8d56f6ae da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x8d7e3373 hwpoison_filter_dev_major +EXPORT_SYMBOL_GPL vmlinux 0x8d7f09c2 devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0x8d85ad7a platform_irqchip_probe +EXPORT_SYMBOL_GPL vmlinux 0x8d908ebf power_supply_get_maintenance_charging_setting +EXPORT_SYMBOL_GPL vmlinux 0x8da04c42 tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x8dafdded lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0x8db1336e kvm_release_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x8dbf7aaa privcmd_call +EXPORT_SYMBOL_GPL vmlinux 0x8dd218b0 icc_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x8de36cd4 access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0x8de6817a acpi_dev_resource_address_space +EXPORT_SYMBOL_GPL vmlinux 0x8df64269 rio_register_scan +EXPORT_SYMBOL_GPL vmlinux 0x8e0cc364 of_genpd_add_provider_simple +EXPORT_SYMBOL_GPL vmlinux 0x8e13cd59 gpiochip_irq_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0x8e16419b trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x8e28bd88 __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x8e31f336 task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0x8e362196 screen_pos +EXPORT_SYMBOL_GPL vmlinux 0x8e37ea40 wwan_unregister_ops +EXPORT_SYMBOL_GPL vmlinux 0x8e44823a sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x8e492fe5 mbox_client_txdone +EXPORT_SYMBOL_GPL vmlinux 0x8e4a4396 of_genpd_del_provider +EXPORT_SYMBOL_GPL vmlinux 0x8e4b63a6 hisi_clk_register_gate_sep +EXPORT_SYMBOL_GPL vmlinux 0x8e4eb451 bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x8e4f64b7 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x8e6b1a9e net_selftest_get_count +EXPORT_SYMBOL_GPL vmlinux 0x8e6fa8b5 apei_exec_pre_map_gars +EXPORT_SYMBOL_GPL vmlinux 0x8e736d95 xen_xlate_remap_gfn_array +EXPORT_SYMBOL_GPL vmlinux 0x8e7d0fe2 nfs_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8e7f0a9c acpi_get_phys_id +EXPORT_SYMBOL_GPL vmlinux 0x8e8d507d pinconf_generic_dump_config +EXPORT_SYMBOL_GPL vmlinux 0x8e8ecfbf ata_acpi_stm +EXPORT_SYMBOL_GPL vmlinux 0x8e92f7c4 static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x8e975f25 put_io_context +EXPORT_SYMBOL_GPL vmlinux 0x8ead800c user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0x8eb517ad __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x8ee0a8c1 dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x8eec19bd __SCK__tp_func_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x8eee3399 dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8ef459e5 subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0x8efbe115 scmi_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8efe768f of_dma_router_register +EXPORT_SYMBOL_GPL vmlinux 0x8f0748af rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x8f0b781d iova_domain_init_rcaches +EXPORT_SYMBOL_GPL vmlinux 0x8f19635c usb_enable_intel_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x8f1fbefb iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0x8f33c92f dev_pm_opp_of_cpumask_add_table +EXPORT_SYMBOL_GPL vmlinux 0x8f3969e1 zynqmp_pm_clock_getrate +EXPORT_SYMBOL_GPL vmlinux 0x8f4658a2 devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0x8f473707 gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x8f4767e1 debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0x8f486c2d usb_control_msg_send +EXPORT_SYMBOL_GPL vmlinux 0x8f4cd791 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x8f4fc4d0 uprobe_register +EXPORT_SYMBOL_GPL vmlinux 0x8f5ae810 bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f6d3731 da9052_request_irq +EXPORT_SYMBOL_GPL vmlinux 0x8f6e15d9 sb800_prefetch +EXPORT_SYMBOL_GPL vmlinux 0x8f786bee fs_umode_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x8f7bd0a6 btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0x8f8fc605 pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0x8f96a974 extcon_unregister_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x8faa800d acpi_cpc_valid +EXPORT_SYMBOL_GPL vmlinux 0x8fb0178f xhci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x8fb4bf32 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x8fc12788 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x8fddd37b pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x8fe4d59e find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x8ff473dd bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x8ff4a682 dev_fetch_sw_netstats +EXPORT_SYMBOL_GPL vmlinux 0x8ff4aec8 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x8ff60436 mpi_ec_add_points +EXPORT_SYMBOL_GPL vmlinux 0x8ff7ea2f devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0x8ffe792f tracepoint_probe_register_prio_may_exist +EXPORT_SYMBOL_GPL vmlinux 0x9000845b l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0x900c7ebd phy_pm_runtime_get_sync +EXPORT_SYMBOL_GPL vmlinux 0x90142a9b watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0x9029f941 __devm_reset_control_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x902b2460 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x903b627c list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x904542d3 edac_pci_handle_npe +EXPORT_SYMBOL_GPL vmlinux 0x906499fb crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0x90688bcd devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x9078de72 usb_amd_pt_check_port +EXPORT_SYMBOL_GPL vmlinux 0x90950c97 gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL vmlinux 0x90968400 handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0x90a63b85 tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x90a9d8cc hv_is_hyperv_initialized +EXPORT_SYMBOL_GPL vmlinux 0x90ad66b1 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0x90b0a665 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x90b3b509 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x90b763f1 HYPERVISOR_console_io +EXPORT_SYMBOL_GPL vmlinux 0x90c8498c apei_exec_write_register +EXPORT_SYMBOL_GPL vmlinux 0x90d937b4 __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x90f7d22e regulator_get_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x91072577 crypto_comp_compress +EXPORT_SYMBOL_GPL vmlinux 0x91120d93 max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0x911c4d20 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x9125cff4 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x913ebd32 stack_depot_save +EXPORT_SYMBOL_GPL vmlinux 0x916cc5ed thermal_zone_get_slope +EXPORT_SYMBOL_GPL vmlinux 0x917296c8 serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0x91767258 of_icc_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x917b18e7 of_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x91877821 dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0x9194e18f xenbus_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x91955a9f start_poll_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x919a6abb synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x91a26de2 serial8250_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x91b774a1 mpi_scanval +EXPORT_SYMBOL_GPL vmlinux 0x91ba1a5a power_supply_external_power_changed +EXPORT_SYMBOL_GPL vmlinux 0x91c236ea locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x91c6a777 __devm_of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91c9313c acpi_gpio_get_io_resource +EXPORT_SYMBOL_GPL vmlinux 0x91d32b07 iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0x91dce712 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x91e27312 sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0x91e30809 HYPERVISOR_vm_assist +EXPORT_SYMBOL_GPL vmlinux 0x91ea8726 asn1_encode_boolean +EXPORT_SYMBOL_GPL vmlinux 0x91f09014 dev_pm_opp_adjust_voltage +EXPORT_SYMBOL_GPL vmlinux 0x91fb59bc register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x91fd9c4d cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x9207522b regmap_field_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x920b67c6 crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x920cc389 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x920d558d dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9227ddb5 gpiochip_add_pingroup_range +EXPORT_SYMBOL_GPL vmlinux 0x92304850 of_pm_clk_add_clks +EXPORT_SYMBOL_GPL vmlinux 0x9230cfed of_reserved_mem_lookup +EXPORT_SYMBOL_GPL vmlinux 0x923e42aa sysfb_disable +EXPORT_SYMBOL_GPL vmlinux 0x9241b1a1 rockchip_clk_register_branches +EXPORT_SYMBOL_GPL vmlinux 0x9241b358 __static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x924926e1 kvm_init +EXPORT_SYMBOL_GPL vmlinux 0x924c46f8 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x927487ea zynqmp_pm_read_ggs +EXPORT_SYMBOL_GPL vmlinux 0x9275b363 serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0x9275dd02 gnttab_unmap_refs_sync +EXPORT_SYMBOL_GPL vmlinux 0x927913b1 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0x927bdb6e bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0x928a19f1 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x928a331e devm_mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x928ebcd4 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x9296f1d6 ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0x92a2677b debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x92b8c78b hyperv_pcpu_output_arg +EXPORT_SYMBOL_GPL vmlinux 0x92b9f15c __irq_resolve_mapping +EXPORT_SYMBOL_GPL vmlinux 0x92bdb9e0 irq_gc_unmask_enable_reg +EXPORT_SYMBOL_GPL vmlinux 0x92bdccce gfn_to_hva +EXPORT_SYMBOL_GPL vmlinux 0x92ce1811 regmap_get_val_endian +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d827f5 pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x92db8f68 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x92e4d908 sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0x92e8e9ab fsverity_enqueue_verify_work +EXPORT_SYMBOL_GPL vmlinux 0x92e92317 vp_modern_get_driver_features +EXPORT_SYMBOL_GPL vmlinux 0x92ef365c paste_selection +EXPORT_SYMBOL_GPL vmlinux 0x92fe29c3 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x930585cd kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0x930ab533 k3_ringacc_request_ring +EXPORT_SYMBOL_GPL vmlinux 0x9316435d kvm_vcpu_mark_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x93255b2b ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x932c8d7a linear_range_get_value_array +EXPORT_SYMBOL_GPL vmlinux 0x93303af1 irq_chip_release_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x933f75e0 usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x9348aa47 md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x9358b69b devm_of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x9366d881 compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0x937a8bc9 __traceiter_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x93906b7b perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0x9399b114 usb_hcd_start_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x939a2448 i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x93a970cf debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x93c5bd52 crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x93c63bb4 gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x93c7edeb usb_find_common_endpoints +EXPORT_SYMBOL_GPL vmlinux 0x93cd74bf devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0x93d1d424 gnttab_free_grant_references +EXPORT_SYMBOL_GPL vmlinux 0x93d466ba blk_crypto_evict_key +EXPORT_SYMBOL_GPL vmlinux 0x93daa076 sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0x93edef07 devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x940c4741 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x940f2017 wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x9425bb34 nvmem_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x9430b198 trace_dump_stack +EXPORT_SYMBOL_GPL vmlinux 0x9436e405 memory_group_register_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x943c1cd0 gen10g_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x943fc708 xen_setup_shutdown_event +EXPORT_SYMBOL_GPL vmlinux 0x944e2736 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x9456655c rio_mport_chk_dev_access +EXPORT_SYMBOL_GPL vmlinux 0x9468ea70 schedule_hrtimeout_range_clock +EXPORT_SYMBOL_GPL vmlinux 0x946c0028 devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0x946dd559 sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x94799c0c clk_hw_get_name +EXPORT_SYMBOL_GPL vmlinux 0x949616b3 tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0x949b5176 devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x94a144ee genphy_c45_read_lpa +EXPORT_SYMBOL_GPL vmlinux 0x94a69f64 scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0x94ab37b3 dev_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x94b2fe4e iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0x94c4b876 usb_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x94e62d2e __set_phys_to_machine_multi +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x94f0136c irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0x94f8cd79 iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0x9504df26 irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x951072cb elv_register +EXPORT_SYMBOL_GPL vmlinux 0x9518868e elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0x951a2773 crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x95204d93 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x952d43f8 __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0x953730e3 __device_reset +EXPORT_SYMBOL_GPL vmlinux 0x9538bee2 dax_finish_sync_fault +EXPORT_SYMBOL_GPL vmlinux 0x953e1b9e ktime_get_real_seconds +EXPORT_SYMBOL_GPL vmlinux 0x954141cf __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x9541730f uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x95630a7e badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0x956ac400 ring_buffer_dropped_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x956e64dd dev_pm_genpd_suspend +EXPORT_SYMBOL_GPL vmlinux 0x95807a0d devm_clk_get_optional_enabled +EXPORT_SYMBOL_GPL vmlinux 0x95823bdf sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x95843030 mpi_ec_init +EXPORT_SYMBOL_GPL vmlinux 0x958672ec spi_mem_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x958df3ac zs_free +EXPORT_SYMBOL_GPL vmlinux 0x9593c728 gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x9593ef31 register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x959cdc6a mmput +EXPORT_SYMBOL_GPL vmlinux 0x959ec5f5 call_rcu_tasks +EXPORT_SYMBOL_GPL vmlinux 0x95a6725f of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x95abc609 rockchip_pcie_cfg_configuration_accesses +EXPORT_SYMBOL_GPL vmlinux 0x95ba8a6a blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95d43247 scsi_alloc_request +EXPORT_SYMBOL_GPL vmlinux 0x95d4c537 of_i2c_get_board_info +EXPORT_SYMBOL_GPL vmlinux 0x95e102ab tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x95ef1ccc dmi_memdev_size +EXPORT_SYMBOL_GPL vmlinux 0x95f64e8e l3mdev_table_lookup_register +EXPORT_SYMBOL_GPL vmlinux 0x961286e0 ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x96163e51 dpbp_get_attributes +EXPORT_SYMBOL_GPL vmlinux 0x9621d738 alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0x962c8ae1 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x962e3c84 __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0x963714ff generic_online_page +EXPORT_SYMBOL_GPL vmlinux 0x963ca1c6 bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0x96434136 dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0x96554810 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x966957dd nvmem_cell_read_u8 +EXPORT_SYMBOL_GPL vmlinux 0x968f9a23 efivar_entry_iter_begin +EXPORT_SYMBOL_GPL vmlinux 0x96a3dca4 mbox_flush +EXPORT_SYMBOL_GPL vmlinux 0x96a55fda list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0x96a600ca gpiochip_remove_pin_ranges +EXPORT_SYMBOL_GPL vmlinux 0x96af459e syscon_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x96b56cdc skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x96c7e5d1 mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0x96e12b5e acpi_get_and_request_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x96e52472 cpufreq_dbs_governor_exit +EXPORT_SYMBOL_GPL vmlinux 0x96f65bf4 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0x96f9a01b __SCK__tp_func_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x970ee634 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x9714e0bb ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x9715ab75 create_signature +EXPORT_SYMBOL_GPL vmlinux 0x9716abd7 init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x9719bb3c sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x973157de __traceiter_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x9745e9ac gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0x974d3443 ima_inode_hash +EXPORT_SYMBOL_GPL vmlinux 0x9754b67a max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x975519c1 asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x9763ac71 nvdimm_bus_check_dimm_count +EXPORT_SYMBOL_GPL vmlinux 0x976b436f pm_clk_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9776bd61 dev_pm_opp_of_find_icc_paths +EXPORT_SYMBOL_GPL vmlinux 0x977be5c7 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x97827912 pci_epf_remove_vepf +EXPORT_SYMBOL_GPL vmlinux 0x978ae57a of_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x97a6bbeb wwan_create_port +EXPORT_SYMBOL_GPL vmlinux 0x97bd16f3 fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0x97c1b9b3 irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0x97c4281d mtk_clk_gate_ops_setclr +EXPORT_SYMBOL_GPL vmlinux 0x97d8c505 samsung_sdi_battery_get_info +EXPORT_SYMBOL_GPL vmlinux 0x97de2b83 debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x97e35ce0 __traceiter_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x97eefc21 __traceiter_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0x97f81d14 pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0x97fb86c9 i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL vmlinux 0x98053fdb blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x98192573 of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x9826acda irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x9843f501 __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x985233e5 thermal_cooling_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x985453e1 lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9856ff63 __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x9867faae find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x98759da8 dpcon_set_notification +EXPORT_SYMBOL_GPL vmlinux 0x9879932b crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x989074ff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x98a78cf2 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x98b142fa blk_fill_rwbs +EXPORT_SYMBOL_GPL vmlinux 0x98b394f6 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x98bab51f usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x98c59274 __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x98c7ba4c fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x98d425d0 crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x98e5648f usb_of_get_interface_node +EXPORT_SYMBOL_GPL vmlinux 0x98ee62b2 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x98fa1e20 dm_get_reserved_rq_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x991a642d cpufreq_cpu_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x99225c11 of_clk_get_parent_count +EXPORT_SYMBOL_GPL vmlinux 0x99247d75 msi_lock_descs +EXPORT_SYMBOL_GPL vmlinux 0x992b1cea bpf_trace_run3 +EXPORT_SYMBOL_GPL vmlinux 0x992c5080 debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x9934ec23 kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0x993a47c7 acpi_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x9949d803 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x996832b2 __traceiter_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x9968aacb __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x997604f2 gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0x997c550a preempt_model_none +EXPORT_SYMBOL_GPL vmlinux 0x997d2da2 dev_pm_set_dedicated_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x998d79d6 x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0x998e36ae pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x998eace9 dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x99a206d3 nvdimm_pmem_region_create +EXPORT_SYMBOL_GPL vmlinux 0x99a2511c task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0x99a2fbce gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x99b4f204 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x99b9063c gfn_to_memslot +EXPORT_SYMBOL_GPL vmlinux 0x99ba45ee devm_clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x99dd730c page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0x99f018c4 nvmem_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x99f2d00a sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x99fc4972 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x99ff50a6 driver_register +EXPORT_SYMBOL_GPL vmlinux 0x9a03d5e1 tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0x9a09ef7c bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a17c136 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x9a1fa06d ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x9a23ea6b alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0x9a241f3d crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x9a267f31 add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0x9a317ae3 rio_free_net +EXPORT_SYMBOL_GPL vmlinux 0x9a478da1 synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0x9a4cb5b4 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x9a5dce5c rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0x9a5e22b6 dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0x9a6bf241 pci_bridge_emul_conf_write +EXPORT_SYMBOL_GPL vmlinux 0x9a751191 hisi_clk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9a79223c pci_pr3_present +EXPORT_SYMBOL_GPL vmlinux 0x9a830384 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x9a8ee05a rio_set_port_lockout +EXPORT_SYMBOL_GPL vmlinux 0x9a974f24 irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x9a9bd88d mtk_mux_clr_set_upd_ops +EXPORT_SYMBOL_GPL vmlinux 0x9a9d85c5 pwm_free +EXPORT_SYMBOL_GPL vmlinux 0x9ab5da43 __mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x9ab7ff72 mctp_unregister_netdev +EXPORT_SYMBOL_GPL vmlinux 0x9abd75ca regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9acfa37f sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0x9ade767e da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x9ae12e17 __tracepoint_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x9ae7f71c xenbus_dev_groups +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9af49514 icc_bulk_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x9af7b198 ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0x9af813de is_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x9b08efcf cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x9b0eaa52 tegra210_xusb_pll_hw_sequence_start +EXPORT_SYMBOL_GPL vmlinux 0x9b11ee35 irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0x9b121563 device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x9b16195f fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0x9b21c69b net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0x9b26af7c usb_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x9b40c6e6 lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9b43f6b9 irq_domain_disconnect_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x9b555c8c pm_suspend_default_s2idle +EXPORT_SYMBOL_GPL vmlinux 0x9b58626d skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0x9b651e51 xenbus_teardown_ring +EXPORT_SYMBOL_GPL vmlinux 0x9b6679c7 ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x9b698c42 ioasid_set_data +EXPORT_SYMBOL_GPL vmlinux 0x9b6ec967 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x9b70c6ff tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0x9b7dcd85 meson_clk_pll_ops +EXPORT_SYMBOL_GPL vmlinux 0x9b872dfa open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0x9b9071cb get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x9b92d16e pinctrl_gpio_set_config +EXPORT_SYMBOL_GPL vmlinux 0x9b975c22 dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x9ba049ce espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0x9ba2bb2b gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x9ba43077 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x9be0096e iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0x9be30d27 mhp_get_pluggable_range +EXPORT_SYMBOL_GPL vmlinux 0x9be7eee8 devlink_net +EXPORT_SYMBOL_GPL vmlinux 0x9bece81b mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x9bee1b7c regmap_attach_dev +EXPORT_SYMBOL_GPL vmlinux 0x9c0622e7 pinctrl_utils_add_map_configs +EXPORT_SYMBOL_GPL vmlinux 0x9c09cd59 bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0x9c0dd92e ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0x9c149893 ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x9c1cb416 __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x9c311926 sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0x9c344cee fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9c3fb58d inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x9c448d8d tegra210_put_utmipll_out_iddq +EXPORT_SYMBOL_GPL vmlinux 0x9c45181a tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x9c67de9b __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x9c6f7fe7 fuse_request_end +EXPORT_SYMBOL_GPL vmlinux 0x9c6febfc add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x9c74768f ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x9c7de9da pci_ecam_free +EXPORT_SYMBOL_GPL vmlinux 0x9c803020 usb_phy_roothub_power_on +EXPORT_SYMBOL_GPL vmlinux 0x9c9038c4 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x9c9e1909 phy_set_mode_ext +EXPORT_SYMBOL_GPL vmlinux 0x9ca319ab kvm_release_page_clean +EXPORT_SYMBOL_GPL vmlinux 0x9cb5af34 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x9cc2b604 kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0x9cc4f70a register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ccd88fd ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x9cd7551a rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0x9cdd6a66 sysctl_long_vals +EXPORT_SYMBOL_GPL vmlinux 0x9cddb19f scsi_build_sense +EXPORT_SYMBOL_GPL vmlinux 0x9cde3175 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9ceae51e usb_get_dr_mode +EXPORT_SYMBOL_GPL vmlinux 0x9cf37c44 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x9cf5e39b pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x9d0934df dax_zero_range +EXPORT_SYMBOL_GPL vmlinux 0x9d09e8ae ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9d0edbc5 edac_pci_add_device +EXPORT_SYMBOL_GPL vmlinux 0x9d18c65f clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x9d2f49ef __SCK__tp_func_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x9d3bbbd8 qcom_smem_state_get +EXPORT_SYMBOL_GPL vmlinux 0x9d494c82 icc_enable +EXPORT_SYMBOL_GPL vmlinux 0x9d547ee1 dw_pcie_ep_raise_legacy_irq +EXPORT_SYMBOL_GPL vmlinux 0x9d5b38fc led_init_core +EXPORT_SYMBOL_GPL vmlinux 0x9d70ef55 of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x9d7ea77f page_endio +EXPORT_SYMBOL_GPL vmlinux 0x9d80f09b pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x9d8bb00e set_dax_nocache +EXPORT_SYMBOL_GPL vmlinux 0x9d8f6340 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x9d9910a1 atomic_notifier_chain_register_unique_prio +EXPORT_SYMBOL_GPL vmlinux 0x9d9daff1 phy_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x9d9e686d component_compare_dev +EXPORT_SYMBOL_GPL vmlinux 0x9da86868 clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x9dab4c94 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x9db1eef4 fsl_mc_bus_dpmcp_type +EXPORT_SYMBOL_GPL vmlinux 0x9dc23a58 regmap_test_bits +EXPORT_SYMBOL_GPL vmlinux 0x9dcd38fa synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0x9dd6e263 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x9de31b2a phy_gbit_fibre_features +EXPORT_SYMBOL_GPL vmlinux 0x9de5676b of_cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x9de88bc8 __SCK__tp_func_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x9dfd25c6 crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0x9e005e6f cppc_get_perf_caps +EXPORT_SYMBOL_GPL vmlinux 0x9e099e72 cpufreq_disable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x9e197753 mtk_pinconf_adv_drive_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x9e270f12 irq_get_default_host +EXPORT_SYMBOL_GPL vmlinux 0x9e2d01ae devfreq_event_set_event +EXPORT_SYMBOL_GPL vmlinux 0x9e3b5a00 debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0x9e3f1b05 fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x9e472f5f snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x9e4dd02f iommu_sva_alloc_pasid +EXPORT_SYMBOL_GPL vmlinux 0x9e685bab vp_modern_get_num_queues +EXPORT_SYMBOL_GPL vmlinux 0x9e692482 regulator_set_voltage_time_sel +EXPORT_SYMBOL_GPL vmlinux 0x9e739d1d da9052_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x9e8bf256 gpiochip_add_pin_range +EXPORT_SYMBOL_GPL vmlinux 0x9e9b913d __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x9e9c4f24 set_dax_nomc +EXPORT_SYMBOL_GPL vmlinux 0x9e9cbbe6 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x9e9e407e led_set_brightness_nopm +EXPORT_SYMBOL_GPL vmlinux 0x9eb0caea ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x9eb8a5e2 rio_unregister_scan +EXPORT_SYMBOL_GPL vmlinux 0x9ed554b3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ed8690c wwan_register_ops +EXPORT_SYMBOL_GPL vmlinux 0x9eebdde7 mpi_point_new +EXPORT_SYMBOL_GPL vmlinux 0x9efe01bf debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x9f025720 devm_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x9f100e52 switchdev_handle_fdb_event_to_device +EXPORT_SYMBOL_GPL vmlinux 0x9f1ef85b ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x9f1f7e9f vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x9f253872 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9f27ff2f usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x9f46f444 kvm_io_bus_write +EXPORT_SYMBOL_GPL vmlinux 0x9f4c4aa0 spi_delay_to_ns +EXPORT_SYMBOL_GPL vmlinux 0x9f4f5a8f gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0x9f517986 HYPERVISOR_hvm_op +EXPORT_SYMBOL_GPL vmlinux 0x9f5260b2 proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0x9f56c4b9 __SCK__tp_func_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x9f5c6dc2 __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0x9f615d5b clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x9f66e073 virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0x9f80f4b7 fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0x9f8703ac irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x9f98fd9d regmap_field_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x9f9c7781 phy_basic_t1_features +EXPORT_SYMBOL_GPL vmlinux 0x9fa1d617 ethtool_set_ethtool_phy_ops +EXPORT_SYMBOL_GPL vmlinux 0x9fa69366 virtio_device_restore +EXPORT_SYMBOL_GPL vmlinux 0x9fa772ec usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x9fb1a90d of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x9fbfebab erst_write +EXPORT_SYMBOL_GPL vmlinux 0x9fc54a95 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fd12c56 pci_acpi_set_companion_lookup_hook +EXPORT_SYMBOL_GPL vmlinux 0x9fd59dbf umd_unload_blob +EXPORT_SYMBOL_GPL vmlinux 0x9fe131f1 xen_store_interface +EXPORT_SYMBOL_GPL vmlinux 0x9fe899b7 get_cpu_idle_time +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9fec33cc free_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x9fefc3e6 __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0xa009f41b devm_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xa01a8d9b nd_cmd_bus_desc +EXPORT_SYMBOL_GPL vmlinux 0xa02044d6 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xa032350c rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xa03470eb i2c_of_match_device +EXPORT_SYMBOL_GPL vmlinux 0xa03aae6e account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0xa03f76cb key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xa040bad9 clk_fixed_factor_ops +EXPORT_SYMBOL_GPL vmlinux 0xa0455b2d led_blink_set +EXPORT_SYMBOL_GPL vmlinux 0xa046ab40 ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0xa04997e8 bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0xa04adb61 dprc_get_obj_region +EXPORT_SYMBOL_GPL vmlinux 0xa04f945a cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xa05219aa devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0xa058abdf crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0xa05ffa5d pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xa071c0cd tegra210_xusb_pll_hw_control_enable +EXPORT_SYMBOL_GPL vmlinux 0xa07b6af7 mtk_pinconf_bias_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xa080c5e5 smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0xa082217a ima_file_check +EXPORT_SYMBOL_GPL vmlinux 0xa08599d6 xenbus_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xa0bdc140 raw_v4_match +EXPORT_SYMBOL_GPL vmlinux 0xa0d3456d nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0xa0dc7e78 dev_pm_opp_enable +EXPORT_SYMBOL_GPL vmlinux 0xa0dd328d clk_gate_restore_context +EXPORT_SYMBOL_GPL vmlinux 0xa0deef26 __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0xa0eda1c6 mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0xa0ee37d4 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0xa0eeb447 pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0xa0fc9d43 crypto_boot_test_finished +EXPORT_SYMBOL_GPL vmlinux 0xa0fef7d9 fwnode_usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0xa10466f3 fuse_dev_fiq_ops +EXPORT_SYMBOL_GPL vmlinux 0xa11216be xen_store_domain_type +EXPORT_SYMBOL_GPL vmlinux 0xa156a1f2 erst_get_record_id_end +EXPORT_SYMBOL_GPL vmlinux 0xa16373f4 devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa177f3cb i2c_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0xa18b485c devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0xa18f796f imx_check_clk_hws +EXPORT_SYMBOL_GPL vmlinux 0xa1935971 component_master_del +EXPORT_SYMBOL_GPL vmlinux 0xa1a085df device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xa1b903fa put_pid +EXPORT_SYMBOL_GPL vmlinux 0xa1c4231f kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL vmlinux 0xa1c8bfa7 fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0xa1d8004a videomode_from_timing +EXPORT_SYMBOL_GPL vmlinux 0xa1dbb1dd crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0xa1de96a0 ahci_platform_disable_clks +EXPORT_SYMBOL_GPL vmlinux 0xa1e82373 meson_axg_pmx_ops +EXPORT_SYMBOL_GPL vmlinux 0xa1eafaee __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0xa1eff657 pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0xa1f4ef7f devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0xa20baaa0 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa20d01ba __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xa21f2ce7 clk_mux_index_to_val +EXPORT_SYMBOL_GPL vmlinux 0xa2244f06 usb_acpi_set_power_state +EXPORT_SYMBOL_GPL vmlinux 0xa22a1b05 of_pci_get_devfn +EXPORT_SYMBOL_GPL vmlinux 0xa22d9548 trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0xa232800f dpm_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xa238ce38 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xa23d62d8 device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0xa2402bb9 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xa241263a ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0xa2435193 skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xa24d4ee2 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xa2500ef6 __SCK__tp_func_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xa2643517 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0xa26d9b4f workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xa278a660 __traceiter_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xa2822c91 do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0xa28765be netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa28bc46e __put_net +EXPORT_SYMBOL_GPL vmlinux 0xa28dab13 mbox_send_message +EXPORT_SYMBOL_GPL vmlinux 0xa28f40bd __irq_apply_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0xa29c1ed7 device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0xa29caa66 fsl_mc_portal_reset +EXPORT_SYMBOL_GPL vmlinux 0xa2ad7135 tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0xa2af54b3 irq_from_evtchn +EXPORT_SYMBOL_GPL vmlinux 0xa2b0820d __SCK__tp_func_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0xa2b99209 alarm_start +EXPORT_SYMBOL_GPL vmlinux 0xa2c4cc85 genphy_c45_read_link +EXPORT_SYMBOL_GPL vmlinux 0xa2cf5474 iommu_enable_nesting +EXPORT_SYMBOL_GPL vmlinux 0xa2d14824 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xa2d687cb crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xa2e1b3ef trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0xa2f42d69 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0xa2f7487f hv_is_hibernation_supported +EXPORT_SYMBOL_GPL vmlinux 0xa2ff408e blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0xa32115d5 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xa32c38fb input_class +EXPORT_SYMBOL_GPL vmlinux 0xa32ea3d1 phy_remove_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa33fd46f hv_map_memory +EXPORT_SYMBOL_GPL vmlinux 0xa34a56a2 fsl_mc_bus_dpio_type +EXPORT_SYMBOL_GPL vmlinux 0xa35bb0f8 __xdp_build_skb_from_frame +EXPORT_SYMBOL_GPL vmlinux 0xa36b85ef serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0xa36d6f67 tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0xa36de53d kvm_vcpu_gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL vmlinux 0xa36e13b7 ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0xa36f50fb is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xa373d3c6 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa38a9f71 get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xa38c1436 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0xa38f2e18 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa394b6ca fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3b1bd36 tps65912_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xa3b958ce reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0xa3bdbc23 sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0xa3c086c9 device_create +EXPORT_SYMBOL_GPL vmlinux 0xa3cb51d6 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0xa3dcb681 zynqmp_pm_fpga_load +EXPORT_SYMBOL_GPL vmlinux 0xa3e646d4 edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0xa3ec39b2 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xa3ece414 freezer_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xa3f12f69 __crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0xa3f53c9a pinctrl_count_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0xa3f6393a hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa4031b7f sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0xa40cb089 clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa40ff0be virtio_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xa410a295 devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa41831b8 pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0xa44a1307 interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xa452f2a4 xen_pirq_from_irq +EXPORT_SYMBOL_GPL vmlinux 0xa45c7b90 stack_trace_print +EXPORT_SYMBOL_GPL vmlinux 0xa45d44fc zynqmp_pm_get_pll_frac_data +EXPORT_SYMBOL_GPL vmlinux 0xa46b2f82 mmc_get_ext_csd +EXPORT_SYMBOL_GPL vmlinux 0xa470d192 fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0xa4790723 dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa481e3fa dev_pm_opp_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xa48dd832 rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0xa48ee962 extcon_set_state_sync +EXPORT_SYMBOL_GPL vmlinux 0xa4932edc raw_v6_match +EXPORT_SYMBOL_GPL vmlinux 0xa4a194ca inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0xa4ab7c1c ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xa4b07fe7 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xa4c00324 asn1_encode_octet_string +EXPORT_SYMBOL_GPL vmlinux 0xa4c085f8 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0xa4db219b devm_nvdimm_memremap +EXPORT_SYMBOL_GPL vmlinux 0xa4dc95ee led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0xa4e22108 devl_rate_leaf_create +EXPORT_SYMBOL_GPL vmlinux 0xa4f139d3 acpi_dev_get_dma_resources +EXPORT_SYMBOL_GPL vmlinux 0xa4f2a2ed acpi_irq_get +EXPORT_SYMBOL_GPL vmlinux 0xa4fcf570 irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0xa50bdd58 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xa513b270 tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0xa5177bcf pinmux_generic_add_function +EXPORT_SYMBOL_GPL vmlinux 0xa517f884 tegra210_plle_hw_sequence_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xa51c691d pwm_request +EXPORT_SYMBOL_GPL vmlinux 0xa5234f66 pci_find_dvsec_capability +EXPORT_SYMBOL_GPL vmlinux 0xa52403fe sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0xa52dbe0a ata_platform_remove_one +EXPORT_SYMBOL_GPL vmlinux 0xa531471e clk_save_context +EXPORT_SYMBOL_GPL vmlinux 0xa54a2cba devlink_linecard_provision_clear +EXPORT_SYMBOL_GPL vmlinux 0xa56664ef poll_state_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xa56c2dd9 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0xa578503d anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xa57a6ae1 ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa5873caa devm_clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xa587e5c1 devm_hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0xa58bbf1c gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0xa5924ed8 pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0xa5bda8a1 efi_capsule_supported +EXPORT_SYMBOL_GPL vmlinux 0xa5bf3020 i2c_slave_event +EXPORT_SYMBOL_GPL vmlinux 0xa5d1f4b8 stack_depot_snprint +EXPORT_SYMBOL_GPL vmlinux 0xa5d7c388 pstore_type_to_name +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa606dd71 regulator_get_linear_step +EXPORT_SYMBOL_GPL vmlinux 0xa60d653c __mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0xa62e7df7 shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0xa63a5361 iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0xa646b53a pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0xa6471eeb regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa64ad562 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xa64e4b78 bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0xa65ca872 __nvdimm_create +EXPORT_SYMBOL_GPL vmlinux 0xa65f3c8c __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xa69dc4e9 devm_regmap_add_irq_chip_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xa6a088b7 fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0xa6a454a8 dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0xa6af1e35 __SCK__tp_func_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0xa6b06f65 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6b5ee5b __SCK__tp_func_block_split +EXPORT_SYMBOL_GPL vmlinux 0xa6bd0da1 ip_route_output_key_hash +EXPORT_SYMBOL_GPL vmlinux 0xa6d77e52 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0xa6db40db iopf_queue_flush_dev +EXPORT_SYMBOL_GPL vmlinux 0xa6dc0d97 tegra_read_ram_code +EXPORT_SYMBOL_GPL vmlinux 0xa6e0ea61 sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa6e4fabc usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0xa6ee15ca __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa6ee7d06 gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0xa6f64593 regulator_set_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xa6fc9518 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xa702f9ab md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0xa709c835 fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa70a2e1f crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xa71f7dec ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0xa731f387 nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xa732ed22 i2c_new_client_device +EXPORT_SYMBOL_GPL vmlinux 0xa73a9179 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0xa73c3b08 mtk_mutex_remove_comp +EXPORT_SYMBOL_GPL vmlinux 0xa75b94a2 dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0xa7602a29 rio_map_outb_region +EXPORT_SYMBOL_GPL vmlinux 0xa764a232 scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0xa7685969 pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0xa7787f80 of_thermal_get_ntrips +EXPORT_SYMBOL_GPL vmlinux 0xa7875d7a blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0xa788700b copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0xa7a6f3b8 mtk_eint_do_resume +EXPORT_SYMBOL_GPL vmlinux 0xa7a8c843 clk_fixed_rate_ops +EXPORT_SYMBOL_GPL vmlinux 0xa7a9e92a device_del +EXPORT_SYMBOL_GPL vmlinux 0xa7aaeac6 mtk_clk_register_factors +EXPORT_SYMBOL_GPL vmlinux 0xa7b1167d usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0xa7ba340c ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0xa7bef1de tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0xa7c6ea49 fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xa7c8696b fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa7c8a5a3 sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0xa7cb852f fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0xa7e2fe3b pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0xa81f1757 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0xa8238618 dev_pm_opp_find_bw_ceil +EXPORT_SYMBOL_GPL vmlinux 0xa83a377e of_get_named_gpio_flags +EXPORT_SYMBOL_GPL vmlinux 0xa851973a raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa8598e34 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0xa85bfac3 usb_hcd_end_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xa876a683 pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0xa87d8b4f sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xa882752a __devm_regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0xa8904cfa __iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0xa893d1f1 __traceiter_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xa898d04d host1x_context_device_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xa89926dc crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0xa8a2ebdc pm_genpd_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xa8a6364c xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0xa8a84dfa ahci_reset_em +EXPORT_SYMBOL_GPL vmlinux 0xa8afa0d3 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0xa8c8916a pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0xa8e54d20 udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0xa8eef535 acpi_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0xa916404d tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xa9194c60 irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0xa922799a dma_resv_describe +EXPORT_SYMBOL_GPL vmlinux 0xa923934f regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xa9320d27 ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0xa93faef3 exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0xa95b5c77 hwmon_sanitize_name +EXPORT_SYMBOL_GPL vmlinux 0xa95ec70b rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0xa96e8b4e hv_setup_vmbus_handler +EXPORT_SYMBOL_GPL vmlinux 0xa9837e79 usb_of_get_device_node +EXPORT_SYMBOL_GPL vmlinux 0xa99b8e70 __SCK__tp_func_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0xa99ef899 devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xa9a677a7 dev_coredumpsg +EXPORT_SYMBOL_GPL vmlinux 0xa9aaea3a divider_ro_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xa9b32556 regmap_field_bulk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa9baa640 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9bbbbc3 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xa9be90d5 crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0xa9beb5e6 vp_modern_config_vector +EXPORT_SYMBOL_GPL vmlinux 0xa9c05ac0 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0xa9ec7e75 crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0xaa00ec7c preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xaa08f524 of_pci_dma_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0xaa1febec crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xaa24640e msi_get_virq +EXPORT_SYMBOL_GPL vmlinux 0xaa38367f of_pci_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0xaa4cc1ef find_mci_by_dev +EXPORT_SYMBOL_GPL vmlinux 0xaa6a50f9 __static_key_deferred_flush +EXPORT_SYMBOL_GPL vmlinux 0xaa75798b sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0xaa88eb65 extcon_get_property +EXPORT_SYMBOL_GPL vmlinux 0xaa891f64 of_irq_to_resource_table +EXPORT_SYMBOL_GPL vmlinux 0xaa971d3a phy_gbit_features +EXPORT_SYMBOL_GPL vmlinux 0xaaa19b48 crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0xaaa67256 thermal_zone_get_offset +EXPORT_SYMBOL_GPL vmlinux 0xaaa78164 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaac190f1 devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xaac36a96 __traceiter_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xaac43dd7 perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0xaacb8446 rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xaada2e03 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xaaed2c3d gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0xaaf720ea netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0xaaf762f4 is_dock_device +EXPORT_SYMBOL_GPL vmlinux 0xaafafbff rockchip_pmu_unblock +EXPORT_SYMBOL_GPL vmlinux 0xab060841 zynqmp_pm_query_data +EXPORT_SYMBOL_GPL vmlinux 0xab13e52a meson_clk_mpll_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xab1ce1a2 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0xab1e0e93 hv_setup_kexec_handler +EXPORT_SYMBOL_GPL vmlinux 0xab40d37f blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0xab46112f nvmem_cell_read_variable_le_u64 +EXPORT_SYMBOL_GPL vmlinux 0xab6dede1 crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xab6ef2dd of_get_display_timings +EXPORT_SYMBOL_GPL vmlinux 0xab7c91dc devm_hte_request_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0xab7d5677 bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0xab7f853d mtk_mutex_prepare +EXPORT_SYMBOL_GPL vmlinux 0xab8541b0 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xab8c0cbc pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0xaba98a41 genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL vmlinux 0xabaaef34 rockchip_pcie_parse_dt +EXPORT_SYMBOL_GPL vmlinux 0xabab2051 serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0xabb74085 ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0xabb769c0 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0xabc640f3 list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0xabc76fe5 dma_resv_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0xabcc9caa mptcp_pm_get_add_addr_signal_max +EXPORT_SYMBOL_GPL vmlinux 0xabd45848 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0xabd6da53 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xabdd485d driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0xabf95b29 md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0xabfe673d pinctrl_dev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xac08cc78 ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0xac092fd8 pinctrl_find_gpio_range_from_pin_nolock +EXPORT_SYMBOL_GPL vmlinux 0xac0ef9a2 __hwspin_unlock +EXPORT_SYMBOL_GPL vmlinux 0xac1122ee mmc_regulator_get_supply +EXPORT_SYMBOL_GPL vmlinux 0xac2b0050 devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0xac3833fb of_property_read_variable_u8_array +EXPORT_SYMBOL_GPL vmlinux 0xac51ba4a serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0xac74df8e __pci_hp_initialize +EXPORT_SYMBOL_GPL vmlinux 0xac7b9795 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0xac834d8c platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0xac835a85 kvm_make_all_cpus_request +EXPORT_SYMBOL_GPL vmlinux 0xac84aaef software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xac95f3ed dev_pm_opp_get_power +EXPORT_SYMBOL_GPL vmlinux 0xac9e673f crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0xac9f160a ehci_handshake +EXPORT_SYMBOL_GPL vmlinux 0xaca9aba2 acpi_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0xacaaf476 of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0xacb4d88c clk_rate_exclusive_put +EXPORT_SYMBOL_GPL vmlinux 0xacc38361 kvm_get_kvm_safe +EXPORT_SYMBOL_GPL vmlinux 0xacc977ac alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0xaccd1c86 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xacfc9544 gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0xad0ee34b sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0xad10bf4a debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0xad199908 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0xad25602f __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xad395dd9 mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0xad42dff8 __SCK__tp_func_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0xad445c4b xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0xad4e6259 remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad4f8e56 governor_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0xad569c51 dev_attr_ncq_prio_supported +EXPORT_SYMBOL_GPL vmlinux 0xad5737fc efivar_init +EXPORT_SYMBOL_GPL vmlinux 0xad645234 register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xad69bb71 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0xad76a3f0 __SCK__tp_func_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xad83ce29 xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0xad8ae597 kvm_vcpu_read_guest_page +EXPORT_SYMBOL_GPL vmlinux 0xad8f1e7e device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0xad9aa4df blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0xad9f018e mbox_request_channel_byname +EXPORT_SYMBOL_GPL vmlinux 0xada38766 dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0xadac7ed1 dev_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0xadb62ec6 crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xade5339b hte_get_clk_src_info +EXPORT_SYMBOL_GPL vmlinux 0xadeebd61 spi_slave_abort +EXPORT_SYMBOL_GPL vmlinux 0xadf9c1b3 housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0xae068a69 rio_unmap_outb_region +EXPORT_SYMBOL_GPL vmlinux 0xae0d9ada query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0xae0ecf40 usb_bus_idr_lock +EXPORT_SYMBOL_GPL vmlinux 0xae1051b0 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xae147d73 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0xae39f80e dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xae4adbdf mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0xae4d186d irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xae56ae24 extcon_set_state +EXPORT_SYMBOL_GPL vmlinux 0xae581fa8 unix_table_locks +EXPORT_SYMBOL_GPL vmlinux 0xae585bf0 mtk_pinconf_drive_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xae5c97d4 amba_bustype +EXPORT_SYMBOL_GPL vmlinux 0xae5f98c2 inet6_compat_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xae64f1dd __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0xae66224d dev_pm_opp_of_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae6b048c __devm_spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0xae77ce27 sched_set_fifo +EXPORT_SYMBOL_GPL vmlinux 0xae794213 register_btf_kfunc_id_set +EXPORT_SYMBOL_GPL vmlinux 0xae7b2551 crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0xae7ba3e9 is_swiotlb_active +EXPORT_SYMBOL_GPL vmlinux 0xae7c231d mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0xae98933a addrconf_add_linklocal +EXPORT_SYMBOL_GPL vmlinux 0xae9c7eac dmaengine_unmap_put +EXPORT_SYMBOL_GPL vmlinux 0xaea2aead crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0xaea7f1ef devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaeb47b38 irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0xaeb7a852 tegra_bpmp_request_mrq +EXPORT_SYMBOL_GPL vmlinux 0xaec1ad91 nvdimm_setup_pfn +EXPORT_SYMBOL_GPL vmlinux 0xaec4868e clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0xaed62cc2 pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0xaed66130 skb_copy_ubufs +EXPORT_SYMBOL_GPL vmlinux 0xaed6a73d spi_mem_dirmap_read +EXPORT_SYMBOL_GPL vmlinux 0xaede2e0f blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0xaee0fe18 mtk_mux_gate_clr_set_upd_ops +EXPORT_SYMBOL_GPL vmlinux 0xaef1c287 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xaef6c846 devm_i2c_add_adapter +EXPORT_SYMBOL_GPL vmlinux 0xaf076aec nd_fletcher64 +EXPORT_SYMBOL_GPL vmlinux 0xaf0b6ba7 blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0xaf0ed4d2 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0xaf1e7178 tegra_xusb_padctl_legacy_probe +EXPORT_SYMBOL_GPL vmlinux 0xaf348da7 cpu_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xaf3a44e9 __SCK__tp_func_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xaf4014ff usb_amd_quirk_pll_check +EXPORT_SYMBOL_GPL vmlinux 0xaf414b43 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0xaf551ce4 fsl_mc_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0xaf5de5d6 netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0xaf64153b virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0xaf662f49 mptcp_token_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xaf790144 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0xaf793668 __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0xaf852873 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0xaf888f38 gfn_to_page +EXPORT_SYMBOL_GPL vmlinux 0xaf8abcac dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0xaf8fb513 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0xaf999a97 thermal_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0xafa35765 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0xafb07262 __pfn_to_mfn +EXPORT_SYMBOL_GPL vmlinux 0xafb109c3 tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0xafb79c23 i2c_acpi_waive_d0_probe +EXPORT_SYMBOL_GPL vmlinux 0xafc1a405 __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0xafc8a645 devm_clk_bulk_get_all +EXPORT_SYMBOL_GPL vmlinux 0xafd39877 switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0xafddd545 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xafde6694 kvm_vcpu_halt +EXPORT_SYMBOL_GPL vmlinux 0xafeb58c1 __SCK__tp_func_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0xafed3abb tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xb0099f79 topology_clear_scale_freq_source +EXPORT_SYMBOL_GPL vmlinux 0xb02a95d3 fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0xb02ac411 register_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb049a294 __SCK__tp_func_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0xb04c02a3 mctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xb05b68d5 zynqmp_pm_reset_get_status +EXPORT_SYMBOL_GPL vmlinux 0xb05b9087 sched_set_normal +EXPORT_SYMBOL_GPL vmlinux 0xb0608d41 clk_hw_round_rate +EXPORT_SYMBOL_GPL vmlinux 0xb06607db inode_dax +EXPORT_SYMBOL_GPL vmlinux 0xb0747ed2 rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0xb077e70a clk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0xb08018e6 __clk_mux_determine_rate_closest +EXPORT_SYMBOL_GPL vmlinux 0xb08158a8 free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0xb08a22a3 cpufreq_show_cpus +EXPORT_SYMBOL_GPL vmlinux 0xb0ab887b pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0xb0ac0ada iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0d1656c gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0xb0d73555 devm_pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0xb0e8e671 xenbus_otherend_changed +EXPORT_SYMBOL_GPL vmlinux 0xb0efe947 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0xb10d964d devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xb10dd3a6 crypto_alloc_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xb11218c7 mtk_pinconf_adv_pull_get +EXPORT_SYMBOL_GPL vmlinux 0xb1125f61 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0xb11d9000 tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0xb13a1d4f __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0xb153c851 event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0xb1647fc2 devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0xb1725292 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xb173740d dev_pm_opp_remove_all_dynamic +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb190de74 fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0xb1a4134d dev_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0xb1b553f4 lp8788_write_byte +EXPORT_SYMBOL_GPL vmlinux 0xb1baa71a devlink_linecard_provision_fail +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1ce4685 pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0xb1cf97a3 xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0xb1d173d2 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0xb1e25684 __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0xb1fc1782 pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xb202f0d7 rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0xb20329b0 sdio_retune_crc_disable +EXPORT_SYMBOL_GPL vmlinux 0xb2047908 pci_bridge_emul_init +EXPORT_SYMBOL_GPL vmlinux 0xb206f969 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0xb2176f82 bpfilter_umh_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xb21ad8c5 perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0xb21d00c6 hte_ts_put +EXPORT_SYMBOL_GPL vmlinux 0xb2210d64 reset_control_deassert +EXPORT_SYMBOL_GPL vmlinux 0xb2233e27 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0xb22af48f __traceiter_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0xb2405efc secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0xb26a1add elfcorehdr_addr +EXPORT_SYMBOL_GPL vmlinux 0xb28e3136 xhci_drop_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xb292f5b1 fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xb29533ee zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xb295dbac __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0xb2a619b6 ioc_find_get_icq +EXPORT_SYMBOL_GPL vmlinux 0xb2b0fe0e bdev_alignment_offset +EXPORT_SYMBOL_GPL vmlinux 0xb2c1732e rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2ea0bc6 ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0xb307c909 devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xb309afe3 acpi_pci_check_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xb30b2bda preempt_model_full +EXPORT_SYMBOL_GPL vmlinux 0xb3185b11 dev_pm_domain_set +EXPORT_SYMBOL_GPL vmlinux 0xb3208f30 ahci_platform_init_host +EXPORT_SYMBOL_GPL vmlinux 0xb333260c crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0xb36026f7 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0xb365f0ad devm_register_restart_handler +EXPORT_SYMBOL_GPL vmlinux 0xb369baa7 bind_interdomain_evtchn_to_irqhandler_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0xb382e0ea crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0xb39e58a8 ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xb3a531fb init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xb3acad14 of_clk_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0xb3cad082 devm_irq_domain_create_sim +EXPORT_SYMBOL_GPL vmlinux 0xb3cc6217 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xb3e9dec2 phy_exit +EXPORT_SYMBOL_GPL vmlinux 0xb3ef84fd vp_modern_map_vq_notify +EXPORT_SYMBOL_GPL vmlinux 0xb3effab3 pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0xb3f8e3e2 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb3ff682a devm_usb_get_phy_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xb40d673e zynqmp_pm_pinctrl_request +EXPORT_SYMBOL_GPL vmlinux 0xb420b2a3 k3_udma_glue_request_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0xb42955b3 rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xb43de801 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xb43f9365 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xb440e966 fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0xb4429b64 acpi_dev_resource_ext_address_space +EXPORT_SYMBOL_GPL vmlinux 0xb447a80d init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0xb44e18ea audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb456c640 mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xb4615c3f serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0xb4684e00 pci_iomap_wc +EXPORT_SYMBOL_GPL vmlinux 0xb4685bdb wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0xb48f0638 software_node_register +EXPORT_SYMBOL_GPL vmlinux 0xb48f3499 xlnx_register_event +EXPORT_SYMBOL_GPL vmlinux 0xb4917ce6 usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xb4919aaa unregister_acpi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xb4a006d3 extcon_set_property_sync +EXPORT_SYMBOL_GPL vmlinux 0xb4a36965 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0xb4a4519e netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0xb4a6e71b mmc_cmdq_disable +EXPORT_SYMBOL_GPL vmlinux 0xb4b97c90 pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4be58f8 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0xb4c66e72 dev_pm_opp_get_of_node +EXPORT_SYMBOL_GPL vmlinux 0xb4cb3be0 dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0xb4d28645 tpm_tis_resume +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4eda0da ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0xb501b2df nd_cmd_dimm_desc +EXPORT_SYMBOL_GPL vmlinux 0xb5045ce6 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xb5086458 devfreq_event_get_edev_count +EXPORT_SYMBOL_GPL vmlinux 0xb50d9027 l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0xb51708f0 clk_hw_unregister_composite +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb520eb79 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0xb52ed1c7 virtio_device_freeze +EXPORT_SYMBOL_GPL vmlinux 0xb53226e0 __traceiter_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0xb54ee647 platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb55de460 HYPERVISOR_dm_op +EXPORT_SYMBOL_GPL vmlinux 0xb5603df2 rockchip_register_restart_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb561aca6 gnttab_foreach_grant_in_range +EXPORT_SYMBOL_GPL vmlinux 0xb56202cd irq_chip_retrigger_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xb57553d0 kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xb58539a1 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0xb58b510c tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0xb5a83e35 gnttab_setup_auto_xlat_frames +EXPORT_SYMBOL_GPL vmlinux 0xb5a8c226 acpi_gsi_to_irq +EXPORT_SYMBOL_GPL vmlinux 0xb5b6fb04 hv_get_vpreg +EXPORT_SYMBOL_GPL vmlinux 0xb6041d06 thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0xb6083d17 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xb60e8739 extcon_set_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xb610b5d9 ethtool_params_from_link_mode +EXPORT_SYMBOL_GPL vmlinux 0xb610b905 inet_hash +EXPORT_SYMBOL_GPL vmlinux 0xb6261484 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb628241b iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0xb62e45ca crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0xb6357e53 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0xb63bb353 regmap_async_complete_cb +EXPORT_SYMBOL_GPL vmlinux 0xb63d9bb1 inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xb6410433 mpi_addm +EXPORT_SYMBOL_GPL vmlinux 0xb653c49b xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0xb6544ca3 devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0xb655f91b pci_epc_get_next_free_bar +EXPORT_SYMBOL_GPL vmlinux 0xb65b507d iopf_queue_add_device +EXPORT_SYMBOL_GPL vmlinux 0xb65fadfa cpufreq_freq_attr_scaling_boost_freqs +EXPORT_SYMBOL_GPL vmlinux 0xb6638052 pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0xb66a4744 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0xb67719a8 register_btf_id_dtor_kfuncs +EXPORT_SYMBOL_GPL vmlinux 0xb6787346 sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0xb67d67bf blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0xb68445a6 fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0xb68b8607 devres_release +EXPORT_SYMBOL_GPL vmlinux 0xb694c7f3 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xb69afbb0 devlink_linecard_deactivate +EXPORT_SYMBOL_GPL vmlinux 0xb6a2a4bf clk_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0xb6b1e463 genphy_c45_pma_baset1_setup_master_slave +EXPORT_SYMBOL_GPL vmlinux 0xb6d27de6 __tracepoint_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xb6e6d99d clk_disable +EXPORT_SYMBOL_GPL vmlinux 0xb6f38fb8 user_update +EXPORT_SYMBOL_GPL vmlinux 0xb700a066 tpm_tis_remove +EXPORT_SYMBOL_GPL vmlinux 0xb70c6e5d fscrypt_prepare_new_inode +EXPORT_SYMBOL_GPL vmlinux 0xb71fd8cc tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0xb7318c81 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xb7329c06 clk_set_phase +EXPORT_SYMBOL_GPL vmlinux 0xb73713d7 nvmem_add_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0xb73e37e3 devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb745d737 sched_set_fifo_low +EXPORT_SYMBOL_GPL vmlinux 0xb74bc6fb ahci_shost_groups +EXPORT_SYMBOL_GPL vmlinux 0xb74c31cd wwan_remove_port +EXPORT_SYMBOL_GPL vmlinux 0xb74fe214 dma_resv_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xb75fb269 acpi_subsys_poweroff +EXPORT_SYMBOL_GPL vmlinux 0xb77499b7 device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0xb782c1a3 hv_get_vpreg_128 +EXPORT_SYMBOL_GPL vmlinux 0xb786bf75 pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xb78dc5ed dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0xb7969b91 irq_domain_create_legacy +EXPORT_SYMBOL_GPL vmlinux 0xb7a0d4f8 sock_map_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb7a2c426 phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0xb7a387fc synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0xb7afb15f xhci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xb7c47c57 device_store_int +EXPORT_SYMBOL_GPL vmlinux 0xb7c69a63 unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7cc0cff __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0xb7cc6cdb crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0xb7f990e9 rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xb802b3bd ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xb80496d6 fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0xb81e09f0 regcache_drop_region +EXPORT_SYMBOL_GPL vmlinux 0xb825e997 dprc_scan_container +EXPORT_SYMBOL_GPL vmlinux 0xb8273d0b __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0xb83daec3 device_set_node +EXPORT_SYMBOL_GPL vmlinux 0xb8416f17 strp_stop +EXPORT_SYMBOL_GPL vmlinux 0xb841e69e fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0xb843eb79 register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xb844e00b blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0xb85042e5 gnttab_free_grant_reference_seq +EXPORT_SYMBOL_GPL vmlinux 0xb85b38d9 mtk_free_clk_data +EXPORT_SYMBOL_GPL vmlinux 0xb8698f88 device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0xb86a5039 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0xb87d4b5f iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0xb87f40fe cppc_set_enable +EXPORT_SYMBOL_GPL vmlinux 0xb882f11b rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xb886cf84 usb_phy_set_charger_state +EXPORT_SYMBOL_GPL vmlinux 0xb88bc47e arch_apei_report_mem_error +EXPORT_SYMBOL_GPL vmlinux 0xb88dbfce irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0xb894835e tps65912_device_exit +EXPORT_SYMBOL_GPL vmlinux 0xb897a60f raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0xb8993fac __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0xb89e69b1 jump_label_update_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb8a170a1 pwm_set_chip_data +EXPORT_SYMBOL_GPL vmlinux 0xb8a49768 devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xb8b8c4f0 ti_sci_release_resource +EXPORT_SYMBOL_GPL vmlinux 0xb8cd3a7f nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0xb8ce4b4b skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0xb8f11603 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb8f30059 soc_device_match +EXPORT_SYMBOL_GPL vmlinux 0xb8f3bf43 __xenbus_register_frontend +EXPORT_SYMBOL_GPL vmlinux 0xb902affc crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0xb912560d static_key_disable +EXPORT_SYMBOL_GPL vmlinux 0xb91281f2 fat_detach +EXPORT_SYMBOL_GPL vmlinux 0xb913c2a2 regulator_set_load +EXPORT_SYMBOL_GPL vmlinux 0xb9175787 devlink_linecard_create +EXPORT_SYMBOL_GPL vmlinux 0xb917b6d7 return_address +EXPORT_SYMBOL_GPL vmlinux 0xb9196f28 kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL vmlinux 0xb9257f49 iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xb940d90d hte_enable_ts +EXPORT_SYMBOL_GPL vmlinux 0xb947938d vp_modern_get_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0xb94b7b21 kthread_park +EXPORT_SYMBOL_GPL vmlinux 0xb9660a4e mctp_register_netdev +EXPORT_SYMBOL_GPL vmlinux 0xb9681621 xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0xb96d4e26 dprc_remove_devices +EXPORT_SYMBOL_GPL vmlinux 0xb9704ad6 rdev_get_name +EXPORT_SYMBOL_GPL vmlinux 0xb97e2e3b dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0xb983746a edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xb9852d11 __traceiter_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xb9998e92 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9c16f51 hv_max_vp_index +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9dcee39 clk_register +EXPORT_SYMBOL_GPL vmlinux 0xb9e12b8a tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0xb9e1736b xenbus_switch_state +EXPORT_SYMBOL_GPL vmlinux 0xb9e28c06 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xb9ef6ef2 fsl_mc_object_free +EXPORT_SYMBOL_GPL vmlinux 0xba057786 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0xba096d0e mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0xba13d633 dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0xba141caf mtk_eint_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0xba220db7 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xba2b7f64 cpufreq_generic_get +EXPORT_SYMBOL_GPL vmlinux 0xba3a6065 serial8250_do_set_divisor +EXPORT_SYMBOL_GPL vmlinux 0xba402f62 blk_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0xba4d8da6 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0xba5773d9 lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0xba75c2c3 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0xba80de95 usb_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0xbaa0953a icc_get +EXPORT_SYMBOL_GPL vmlinux 0xbaa41e32 usb_wakeup_enabled_descendants +EXPORT_SYMBOL_GPL vmlinux 0xbab0b7e3 vp_legacy_get_queue_size +EXPORT_SYMBOL_GPL vmlinux 0xbab9a9f0 maxim_charger_currents +EXPORT_SYMBOL_GPL vmlinux 0xbabc7800 __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0xbabe42da trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0xbacc5db8 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0xbad32277 mtk_clk_unregister_muxes +EXPORT_SYMBOL_GPL vmlinux 0xbadb7ee7 meson_clk_mpll_ops +EXPORT_SYMBOL_GPL vmlinux 0xbae77028 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0xbae7f82d gnttab_map_refs +EXPORT_SYMBOL_GPL vmlinux 0xbaef1d63 regmap_mmio_attach_clk +EXPORT_SYMBOL_GPL vmlinux 0xbaf22757 kvfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0xbaf51239 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0xbaf6850c fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0xbb028ad3 rcu_gp_slow_register +EXPORT_SYMBOL_GPL vmlinux 0xbb0a863f metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb0b25d2 register_xenbus_watch +EXPORT_SYMBOL_GPL vmlinux 0xbb10dc02 page_cache_async_ra +EXPORT_SYMBOL_GPL vmlinux 0xbb162370 acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0xbb1d67d2 housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0xbb24f372 __SCK__tp_func_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0xbb3c26fb raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0xbb57e781 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0xbb62cdbd transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbb6508da random_get_entropy_fallback +EXPORT_SYMBOL_GPL vmlinux 0xbb665952 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0xbb6728f9 pci_dev_unlock +EXPORT_SYMBOL_GPL vmlinux 0xbb67ca56 scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0xbb6a3cbd devlink_fmsg_arr_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xbb6f025a asymmetric_key_generate_id +EXPORT_SYMBOL_GPL vmlinux 0xbb7195a5 xdp_warn +EXPORT_SYMBOL_GPL vmlinux 0xbb74e1d2 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0xbb7e9690 gfn_to_hva_memslot +EXPORT_SYMBOL_GPL vmlinux 0xbb938d39 __traceiter_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0xbb93eec5 ioasid_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbb9422b4 cookie_tcp_reqsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbb968244 pm_runtime_set_memalloc_noio +EXPORT_SYMBOL_GPL vmlinux 0xbb9a3f68 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0xbba557cf __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xbbacb423 iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0xbbb4ab02 mtk_mutex_put +EXPORT_SYMBOL_GPL vmlinux 0xbbbc5df9 of_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0xbbc3aa65 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0xbbd9ccf5 devm_acpi_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0xbbde682e device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0xbbe5611b crc64_rocksoft_update +EXPORT_SYMBOL_GPL vmlinux 0xbbe56404 sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0xbbe5fad3 debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0xbbf54d51 dev_pm_domain_attach +EXPORT_SYMBOL_GPL vmlinux 0xbbfcbe26 blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0xbc063059 tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0xbc0c5cd7 ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0xbc27d35d fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0xbc2d0af1 usb_control_msg_recv +EXPORT_SYMBOL_GPL vmlinux 0xbc307fc8 pci_bridge_emul_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xbc34604a spi_take_timestamp_post +EXPORT_SYMBOL_GPL vmlinux 0xbc3535bc usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0xbc3a909a regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0xbc3f2cb0 timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xbc46289d usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0xbc52b6e6 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0xbc5baaa2 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0xbc600dc9 preempt_model_voluntary +EXPORT_SYMBOL_GPL vmlinux 0xbc6bec66 free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xbc864f8d irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0xbc8cebf4 mtk_clk_unregister_fixed_clks +EXPORT_SYMBOL_GPL vmlinux 0xbc9b8588 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xbcadab16 sprd_pinctrl_core_probe +EXPORT_SYMBOL_GPL vmlinux 0xbcbe3339 devlink_set_features +EXPORT_SYMBOL_GPL vmlinux 0xbcbf2666 of_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0xbcc15e75 ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xbcc63db1 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0xbcca8fcd device_match_any +EXPORT_SYMBOL_GPL vmlinux 0xbccf3a8b imx_unregister_hw_clocks +EXPORT_SYMBOL_GPL vmlinux 0xbcd7c865 io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0xbcdca6d7 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0xbcdd5b99 iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0xbce207bd ip_icmp_error_rfc4884 +EXPORT_SYMBOL_GPL vmlinux 0xbce59c8a tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0xbcf1f0e6 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xbd06f3a9 ata_get_cmd_name +EXPORT_SYMBOL_GPL vmlinux 0xbd0ad66d blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbd13d50d power_supply_put +EXPORT_SYMBOL_GPL vmlinux 0xbd1f2375 pfn_to_online_page +EXPORT_SYMBOL_GPL vmlinux 0xbd263a0a ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0xbd38731f dm_submit_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0xbd3f91f6 ehci_setup +EXPORT_SYMBOL_GPL vmlinux 0xbd3fe1e3 disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0xbd478dfe ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0xbd5704ec __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0xbd59a9eb dax_iomap_rw +EXPORT_SYMBOL_GPL vmlinux 0xbd6cf476 phy_set_speed +EXPORT_SYMBOL_GPL vmlinux 0xbd6d7924 scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0xbd6f5926 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0xbd732c66 imx_pinconf_set_scu +EXPORT_SYMBOL_GPL vmlinux 0xbd76343f tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0xbd7aaaee add_memory +EXPORT_SYMBOL_GPL vmlinux 0xbd7d578f pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0xbd88473a inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0xbd9cb415 spi_async +EXPORT_SYMBOL_GPL vmlinux 0xbda2ae68 nvdimm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xbdb2217d hv_is_isolation_supported +EXPORT_SYMBOL_GPL vmlinux 0xbdb72342 __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0xbdc1f2cc tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0xbdcf6c26 perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0xbdda1b5f vmalloc_huge +EXPORT_SYMBOL_GPL vmlinux 0xbdda3d7e pm_clk_suspend +EXPORT_SYMBOL_GPL vmlinux 0xbdea3fa5 clk_regmap_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xbe09021d devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0xbe11662f sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0xbe137c1e imx_fracn_gppll +EXPORT_SYMBOL_GPL vmlinux 0xbe144615 mtk_clk_gate_ops_no_setclr_inv +EXPORT_SYMBOL_GPL vmlinux 0xbe220c5d of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0xbe245d86 rockchip_clk_register_plls +EXPORT_SYMBOL_GPL vmlinux 0xbe2e612e tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0xbe3a357b call_srcu +EXPORT_SYMBOL_GPL vmlinux 0xbe409389 devlink_port_linecard_set +EXPORT_SYMBOL_GPL vmlinux 0xbe515848 gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xbe5c888b crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xbe5e3414 k3_udma_glue_reset_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0xbe667ac0 trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0xbe687e88 wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbe77f866 of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xbe9485c9 of_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xbe9622cb __traceiter_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0xbe96dfd8 of_reconfig_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbe9a83d5 dw_pcie_write +EXPORT_SYMBOL_GPL vmlinux 0xbea5ff1e static_key_initialized +EXPORT_SYMBOL_GPL vmlinux 0xbec4c97d crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0xbec66c3a __apei_exec_run +EXPORT_SYMBOL_GPL vmlinux 0xbed394dc msi_first_desc +EXPORT_SYMBOL_GPL vmlinux 0xbedf3183 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xbee7efd4 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0xbef43d9c acpi_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0xbf01e11a scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0xbf041102 register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbf0ccb54 genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0xbf0cfc00 sdio_signal_irq +EXPORT_SYMBOL_GPL vmlinux 0xbf121e78 desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0xbf225156 crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xbf2e2e71 housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0xbf4513c3 devlink_linecard_activate +EXPORT_SYMBOL_GPL vmlinux 0xbf46f601 i2c_slave_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbf476ea8 sdio_retune_crc_enable +EXPORT_SYMBOL_GPL vmlinux 0xbf48391b skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0xbf5a0cfb net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0xbf61b030 bio_trim +EXPORT_SYMBOL_GPL vmlinux 0xbf667ceb pinctrl_add_gpio_ranges +EXPORT_SYMBOL_GPL vmlinux 0xbf7c0f5c fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xbf9a0c3b nf_queue +EXPORT_SYMBOL_GPL vmlinux 0xbfb528e0 dmaengine_desc_attach_metadata +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbfbe1452 dev_pm_genpd_resume +EXPORT_SYMBOL_GPL vmlinux 0xbfd6bca7 mtk_mutex_get +EXPORT_SYMBOL_GPL vmlinux 0xbfddd56d devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xbfe0b838 vcpu_load +EXPORT_SYMBOL_GPL vmlinux 0xbfe5616d tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0xbfed2cd9 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0xc0033ad2 regulator_set_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc008e3d5 virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0xc00909a8 devm_regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0xc00a0679 lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0xc00a70f5 gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0xc00b3b35 serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0xc00b3f9b pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0xc029a501 gnttab_pages_set_private +EXPORT_SYMBOL_GPL vmlinux 0xc033d44d dma_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xc0483cad devm_qcom_smem_state_get +EXPORT_SYMBOL_GPL vmlinux 0xc0504c94 __bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0xc05cee80 ipi_get_hwirq +EXPORT_SYMBOL_GPL vmlinux 0xc05e973b devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xc071b3c5 trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0xc0731240 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xc075fcf7 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0xc090c376 net_selftest_get_strings +EXPORT_SYMBOL_GPL vmlinux 0xc09252a6 ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xc0954734 tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc09d6358 elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0xc09fedaa icc_put +EXPORT_SYMBOL_GPL vmlinux 0xc0a1e8b0 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0xc0a3d155 k3_udma_glue_rx_get_flow_id_base +EXPORT_SYMBOL_GPL vmlinux 0xc0a96e14 rcu_gp_is_expedited +EXPORT_SYMBOL_GPL vmlinux 0xc0b2664d devlink_dpipe_header_ipv4 +EXPORT_SYMBOL_GPL vmlinux 0xc0bd5192 devm_mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xc0bdb1ee sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xc0c4b2e3 nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL vmlinux 0xc0ea74ee crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0xc0f0458a ip_tunnel_unneed_metadata +EXPORT_SYMBOL_GPL vmlinux 0xc1086e0c sysrq_toggle_support +EXPORT_SYMBOL_GPL vmlinux 0xc10fddb8 name_to_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xc11a1393 rio_mport_get_physefb +EXPORT_SYMBOL_GPL vmlinux 0xc11fc6f9 i2c_parse_fw_timings +EXPORT_SYMBOL_GPL vmlinux 0xc135d927 hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xc13801e0 sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0xc15f36db clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xc1610505 regulator_list_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xc16bc223 pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0xc16bcd07 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0xc1743430 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc17e9946 usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xc185954e br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0xc1a5de94 spi_mem_exec_op +EXPORT_SYMBOL_GPL vmlinux 0xc1ad2e09 led_set_brightness_sync +EXPORT_SYMBOL_GPL vmlinux 0xc1c05749 fscrypt_d_revalidate +EXPORT_SYMBOL_GPL vmlinux 0xc1dce028 k3_udma_glue_reset_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0xc1dce358 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0xc1e80bdb devm_power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0xc2079c38 __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0xc2105557 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0xc21eba7f kvm_vcpu_is_visible_gfn +EXPORT_SYMBOL_GPL vmlinux 0xc21ef7ab __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xc2271c57 bpf_trace_run5 +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc22c3703 pinctrl_force_sleep +EXPORT_SYMBOL_GPL vmlinux 0xc2472388 tegra210_clk_emc_update_setting +EXPORT_SYMBOL_GPL vmlinux 0xc2507bab regulator_set_soft_start_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc25b8971 hv_remove_crash_handler +EXPORT_SYMBOL_GPL vmlinux 0xc2692173 wakeup_sources_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc289e46d cpufreq_generic_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xc290e7e7 dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0xc29e2171 __devm_clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0xc2a3e570 errata +EXPORT_SYMBOL_GPL vmlinux 0xc2a814db tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xc2a99126 ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0xc2b9773a __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xc2c1c427 perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc2cebaa4 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0xc2da8cad iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0xc2de27ca hest_disable +EXPORT_SYMBOL_GPL vmlinux 0xc2ec8fa7 kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0xc30ba503 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xc31f397e pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xc33aa4e4 fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0xc33c41c8 dax_remove_host +EXPORT_SYMBOL_GPL vmlinux 0xc340e246 zynqmp_pm_request_node +EXPORT_SYMBOL_GPL vmlinux 0xc341ae6d zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0xc34d8797 devm_hte_register_chip +EXPORT_SYMBOL_GPL vmlinux 0xc35ba005 devm_regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xc35c67fa usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0xc35d3e1b serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0xc36577cb dev_pm_enable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xc36c67e9 rockchip_clk_init +EXPORT_SYMBOL_GPL vmlinux 0xc3708747 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc373dba1 __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0xc3805cd1 fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0xc3876c1a hv_isolation_type_snp +EXPORT_SYMBOL_GPL vmlinux 0xc390f828 of_clk_src_simple_get +EXPORT_SYMBOL_GPL vmlinux 0xc39eefb2 serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc3c38867 regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc3c4c6cc hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0xc3cb95a4 dev_pm_genpd_set_performance_state +EXPORT_SYMBOL_GPL vmlinux 0xc3cc0bef crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0xc3de65ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc3ea52b8 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc3ea5305 iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0xc3f408a2 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xc40eeea6 fsl_mc_cleanup_irq_pool +EXPORT_SYMBOL_GPL vmlinux 0xc4181ddf rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xc41838f6 netif_carrier_event +EXPORT_SYMBOL_GPL vmlinux 0xc41c592d ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc430229d __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0xc4355c66 tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xc43bdc65 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xc44707e9 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xc4490874 of_pci_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0xc44992ee devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc456db3c blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0xc46324f6 dynevent_create +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc47658dd regulator_set_pull_down_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc47a90b9 bpf_fentry_test1 +EXPORT_SYMBOL_GPL vmlinux 0xc48025ca __traceiter_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4977f8e clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0xc498bdc9 devlink_register +EXPORT_SYMBOL_GPL vmlinux 0xc4994c62 proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0xc49d44ba devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0xc49f0966 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xc4a31146 rdma_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc4a72936 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xc4ae36f9 ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc4b35669 spi_controller_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc4c8d650 i2c_adapter_depth +EXPORT_SYMBOL_GPL vmlinux 0xc4e00059 nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0xc4ef637d disk_uevent +EXPORT_SYMBOL_GPL vmlinux 0xc4f0da12 ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xc50d4de7 fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0xc512dc6e kvm_read_guest_offset_cached +EXPORT_SYMBOL_GPL vmlinux 0xc51450c6 imx_ccm_lock +EXPORT_SYMBOL_GPL vmlinux 0xc539161d usb_phy_set_event +EXPORT_SYMBOL_GPL vmlinux 0xc54e8346 led_put +EXPORT_SYMBOL_GPL vmlinux 0xc555cc3c gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0xc5604800 clk_set_rate_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xc569d8ce __clk_get_name +EXPORT_SYMBOL_GPL vmlinux 0xc56d86d7 kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0xc571f6d1 dprc_setup +EXPORT_SYMBOL_GPL vmlinux 0xc575c737 debug_locks_off +EXPORT_SYMBOL_GPL vmlinux 0xc5777fca linear_range_get_selector_low_array +EXPORT_SYMBOL_GPL vmlinux 0xc58a3ee6 icc_node_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc58af315 ohci_resume +EXPORT_SYMBOL_GPL vmlinux 0xc5a5c678 uart_parse_earlycon +EXPORT_SYMBOL_GPL vmlinux 0xc5a7462a pwm_get +EXPORT_SYMBOL_GPL vmlinux 0xc5b352a3 mbox_chan_received_data +EXPORT_SYMBOL_GPL vmlinux 0xc5bc0803 unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0xc5bd87a5 devm_pm_opp_of_add_table_noclk +EXPORT_SYMBOL_GPL vmlinux 0xc5c71803 trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0xc5c99e4f cpufreq_freq_transition_end +EXPORT_SYMBOL_GPL vmlinux 0xc5cb9ca3 acpi_spi_count_resources +EXPORT_SYMBOL_GPL vmlinux 0xc5cfced0 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0xc5e0b38e __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0xc5e36233 pci_dev_trylock +EXPORT_SYMBOL_GPL vmlinux 0xc5e848a6 dev_pm_opp_get_required_pstate +EXPORT_SYMBOL_GPL vmlinux 0xc5e876cf kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xc5eb674a crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xc5f8ec40 devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xc5fd35f1 list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0xc60ccc8d ata_dev_set_feature +EXPORT_SYMBOL_GPL vmlinux 0xc617f82c unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc6572a90 xenbus_read_unsigned +EXPORT_SYMBOL_GPL vmlinux 0xc6586961 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0xc66019cc xen_resume_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc662ecda __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0xc66b77b1 iommu_group_set_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xc6779093 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xc68c41d6 __SCK__tp_func_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xc69690cd mtk_pinconf_drive_get +EXPORT_SYMBOL_GPL vmlinux 0xc697b0f7 nvmem_device_read +EXPORT_SYMBOL_GPL vmlinux 0xc69b7ee5 zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0xc6a17bb5 crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xc6a2a547 sync_blockdev_nowait +EXPORT_SYMBOL_GPL vmlinux 0xc6a4a872 __clk_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc6a9b2fa tty_get_icount +EXPORT_SYMBOL_GPL vmlinux 0xc6d82f74 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xc6def34b gnttab_empty_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xc6df9f08 pinconf_generic_dt_node_to_map +EXPORT_SYMBOL_GPL vmlinux 0xc6e258e3 irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0xc6e2927a device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xc6e5bcf3 linear_range_get_selector_within +EXPORT_SYMBOL_GPL vmlinux 0xc6e75290 firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0xc6ea0c3c reset_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc701c59f iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0xc7061ef3 iova_cache_put +EXPORT_SYMBOL_GPL vmlinux 0xc70f0f5e devm_led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc72d3c00 mtk_pinconf_drive_set_raw +EXPORT_SYMBOL_GPL vmlinux 0xc730b5b5 ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xc7378299 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0xc74abc0a dev_pm_opp_remove +EXPORT_SYMBOL_GPL vmlinux 0xc769260d policy_has_boost_freq +EXPORT_SYMBOL_GPL vmlinux 0xc7816a6d crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0xc7856e74 __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xc785f12b serial8250_rpm_put_tx +EXPORT_SYMBOL_GPL vmlinux 0xc78c9db7 extcon_get_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xc790315c ahci_kick_engine +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7a7e770 clk_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xc7b9fe10 ext_pi_type3_crc64 +EXPORT_SYMBOL_GPL vmlinux 0xc7c122a0 bio_start_io_acct +EXPORT_SYMBOL_GPL vmlinux 0xc7c23ff0 xenbus_exists +EXPORT_SYMBOL_GPL vmlinux 0xc7cdc573 xhci_run +EXPORT_SYMBOL_GPL vmlinux 0xc7d5a834 spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xc7e64fc2 asn1_encode_integer +EXPORT_SYMBOL_GPL vmlinux 0xc7efbc50 of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0xc7fa4aa9 kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0xc805a5e9 class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xc8066c90 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0xc8070181 mmc_regulator_set_vqmmc +EXPORT_SYMBOL_GPL vmlinux 0xc80f8e4a devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc812c0b3 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0xc81e49cb of_add_property +EXPORT_SYMBOL_GPL vmlinux 0xc823104a mtk_pinconf_bias_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xc82b3a88 __SCK__tp_func_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0xc82c721f klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xc8366323 folio_wait_writeback_killable +EXPORT_SYMBOL_GPL vmlinux 0xc83e7beb devm_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0xc83f19d1 md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xc84ccec1 xhci_update_hub_device +EXPORT_SYMBOL_GPL vmlinux 0xc850d78f crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0xc8594d3d reset_control_acquire +EXPORT_SYMBOL_GPL vmlinux 0xc8644ca7 fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xc87dd725 k3_udma_glue_pop_rx_chn +EXPORT_SYMBOL_GPL vmlinux 0xc89a1c44 efivars_register +EXPORT_SYMBOL_GPL vmlinux 0xc8c02587 pinctrl_generic_add_group +EXPORT_SYMBOL_GPL vmlinux 0xc8c23ccd metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc8cbf65f pm_clk_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc8d01235 gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0xc8ddd5b5 kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0xc8e84c1c __devm_clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0xc8ebc766 tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0xc8f26abb da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0xc8f43c0d usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0xc909b067 crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xc9132c32 regulator_get_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc917a251 serdev_device_get_tiocm +EXPORT_SYMBOL_GPL vmlinux 0xc91da7d1 device_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0xc91f87ae param_set_uint_minmax +EXPORT_SYMBOL_GPL vmlinux 0xc91fdf58 percpu_ref_is_zero +EXPORT_SYMBOL_GPL vmlinux 0xc9345c0f digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0xc9370329 __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0xc9377098 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc93ee1e7 usb_phy_roothub_init +EXPORT_SYMBOL_GPL vmlinux 0xc949a3f5 __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9641b48 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0xc9715630 __SCK__tp_func_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xc9827693 __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0xc99300c5 usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0xc9973381 serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0xc99b3686 of_gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0xc99bd525 fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0xc9a9be57 cpufreq_table_index_unsorted +EXPORT_SYMBOL_GPL vmlinux 0xc9b40347 badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0xc9db7a10 gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0xc9ddc852 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0xc9de3b3a serial8250_update_uartclk +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9ecff50 devl_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc9fb00f7 pl320_ipc_transmit +EXPORT_SYMBOL_GPL vmlinux 0xc9fd634a usb_role_switch_put +EXPORT_SYMBOL_GPL vmlinux 0xca10171e kthread_data +EXPORT_SYMBOL_GPL vmlinux 0xca11b6d7 phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL vmlinux 0xca18df88 mtk_pinconf_bias_disable_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0xca25fc23 __traceiter_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0xca2688bb gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0xca31287d bgmac_enet_remove +EXPORT_SYMBOL_GPL vmlinux 0xca328f33 regmap_get_raw_read_max +EXPORT_SYMBOL_GPL vmlinux 0xca40a35c spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0xca42057e wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0xca454a34 vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0xca49fb7d sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0xca4e21d0 fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0xca547ce1 devm_phy_create +EXPORT_SYMBOL_GPL vmlinux 0xca5c21e3 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0xca5da960 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0xca5f6a81 fsl_mc_bus_dpni_type +EXPORT_SYMBOL_GPL vmlinux 0xca63cd34 devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0xca7037bf pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0xca7074c7 mtk_pinconf_bias_get +EXPORT_SYMBOL_GPL vmlinux 0xca7c6ba4 xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca85266e pinctrl_dev_get_name +EXPORT_SYMBOL_GPL vmlinux 0xca98efac sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0xca9a1d5e ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xcaa40c6c ethnl_cable_test_fault_length +EXPORT_SYMBOL_GPL vmlinux 0xcaaf217e sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcac168f8 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0xcacc114d cpufreq_freq_transition_begin +EXPORT_SYMBOL_GPL vmlinux 0xcad7f528 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xcad9b4db devm_of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0xcae7ce5d fsl_mc_get_version +EXPORT_SYMBOL_GPL vmlinux 0xcae9e0aa memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0xcaf1d958 evtchn_get +EXPORT_SYMBOL_GPL vmlinux 0xcb0b0c55 usb_of_get_companion_dev +EXPORT_SYMBOL_GPL vmlinux 0xcb128ff2 __devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xcb186931 pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0xcb2bfe2b nvmem_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcb39913c rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0xcb3fbee9 thermal_zone_of_get_sensor_id +EXPORT_SYMBOL_GPL vmlinux 0xcb4930c5 devres_find +EXPORT_SYMBOL_GPL vmlinux 0xcb561441 mem_dump_obj +EXPORT_SYMBOL_GPL vmlinux 0xcb7c8098 dev_pm_genpd_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcb8954b9 imx_pinctrl_probe +EXPORT_SYMBOL_GPL vmlinux 0xcb89cff5 vfs_inode_has_locks +EXPORT_SYMBOL_GPL vmlinux 0xcb94cccd ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0xcba85387 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0xcbbe4d32 iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0xcbdb41ea iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0xcbe56bc2 zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0xcbe725a5 vp_modern_get_features +EXPORT_SYMBOL_GPL vmlinux 0xcbf9e89a extcon_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcc0c76ba usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0xcc0fd0a7 k3_ringacc_ring_push_head +EXPORT_SYMBOL_GPL vmlinux 0xcc16727f devm_hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0xcc2c69f9 crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0xcc2dbfd8 irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0xcc39c03e nvmem_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc3d035e xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0xcc4bef9e pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0xcc4d8609 acpi_driver_match_device +EXPORT_SYMBOL_GPL vmlinux 0xcc5c2efe blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0xcc795932 devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0xcc896db6 phy_modify +EXPORT_SYMBOL_GPL vmlinux 0xcc8c8d4d devm_of_phy_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0xcc9268fc hwpoison_filter_enable +EXPORT_SYMBOL_GPL vmlinux 0xcc935375 walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0xcc9a21cd mc_send_command +EXPORT_SYMBOL_GPL vmlinux 0xcca644a6 pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0xcca8745e usb_asmedia_modifyflowcontrol +EXPORT_SYMBOL_GPL vmlinux 0xccabde6f crc64_rocksoft_generic +EXPORT_SYMBOL_GPL vmlinux 0xccb1cbfd devm_led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xccbd4a75 nf_route +EXPORT_SYMBOL_GPL vmlinux 0xccc83aea devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd86806 ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0xccdcf7b3 __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0xccdfcc83 of_devfreq_cooling_register_power +EXPORT_SYMBOL_GPL vmlinux 0xccf0277b fsl_mc_get_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xccf34c8b pm_genpd_opp_to_performance_state +EXPORT_SYMBOL_GPL vmlinux 0xccf52bc9 sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0xccf578fb fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0xcd0411be of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0xcd1c1a53 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0xcd24e146 hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0xcd416925 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0xcd4e572e irq_domain_remove_sim +EXPORT_SYMBOL_GPL vmlinux 0xcd5a6f81 acpi_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xcd6f2dc9 nf_log_buf_add +EXPORT_SYMBOL_GPL vmlinux 0xcd759b82 k3_ringacc_ring_reset +EXPORT_SYMBOL_GPL vmlinux 0xcd910be7 ti_sci_get_num_resources +EXPORT_SYMBOL_GPL vmlinux 0xcd91b127 system_highpri_wq +EXPORT_SYMBOL_GPL vmlinux 0xcd9618f7 tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0xcd9cd2ff wakeme_after_rcu +EXPORT_SYMBOL_GPL vmlinux 0xcda2aaba k3_udma_glue_tx_dma_to_cppi5_addr +EXPORT_SYMBOL_GPL vmlinux 0xcda9ec24 acpi_subsys_complete +EXPORT_SYMBOL_GPL vmlinux 0xcdb56211 find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0xcdb6adcc ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0xcdc09983 devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0xcdc86b55 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0xcdca2770 battery_hook_register +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdcad54c sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0xcdce340b nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0xcdd3ff86 watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xcdd82886 dev_pm_qos_hide_flags +EXPORT_SYMBOL_GPL vmlinux 0xcddca8ad umd_cleanup_helper +EXPORT_SYMBOL_GPL vmlinux 0xcde26600 cppc_get_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0xcdeb5c5f fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0xcdefff4e validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0xce0a4020 xenbus_directory +EXPORT_SYMBOL_GPL vmlinux 0xce1ff6fc power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0xce316d7e zynqmp_pm_set_sd_tapdelay +EXPORT_SYMBOL_GPL vmlinux 0xce394cff crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0xce3d78f3 power_supply_charge_behaviour_show +EXPORT_SYMBOL_GPL vmlinux 0xce598ef2 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xce64f03f usb_intf_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0xce6947d5 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0xce69ca2a __traceiter_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0xce6db656 rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0xce7213a7 __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0xce7b8154 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0xce80dd35 fsl_mc_bus_dprtc_type +EXPORT_SYMBOL_GPL vmlinux 0xce89c843 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0xce930be0 mtk_mmsys_ddp_connect +EXPORT_SYMBOL_GPL vmlinux 0xce945996 inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0xce9f7dd1 pinctrl_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0xcea00597 kvm_put_kvm +EXPORT_SYMBOL_GPL vmlinux 0xcea21268 regmap_noinc_write +EXPORT_SYMBOL_GPL vmlinux 0xceac8674 zynqmp_pm_read_pggs +EXPORT_SYMBOL_GPL vmlinux 0xceb1f126 mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0xceb70b3d usb_phy_roothub_suspend +EXPORT_SYMBOL_GPL vmlinux 0xcec7f0d2 usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0xceca33a5 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0xcee1641c kgdb_unregister_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xcee40309 kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0xcee63cf8 driver_set_override +EXPORT_SYMBOL_GPL vmlinux 0xcee80eac metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0xcee854f7 pci_iomap_wc_range +EXPORT_SYMBOL_GPL vmlinux 0xcee88e7a of_overlay_fdt_apply +EXPORT_SYMBOL_GPL vmlinux 0xceed8c16 __set_phys_to_machine +EXPORT_SYMBOL_GPL vmlinux 0xceefb9d0 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0xcef1da35 of_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0xceffc0e5 sched_setattr_nocheck +EXPORT_SYMBOL_GPL vmlinux 0xcf00c02b request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0xcf05d99b tty_kopen_shared +EXPORT_SYMBOL_GPL vmlinux 0xcf0d32b1 dax_add_host +EXPORT_SYMBOL_GPL vmlinux 0xcf1b4250 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0xcf1b6dca crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0xcf21df95 __traceiter_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0xcf2b32e3 devm_thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcf339814 xen_dbgp_reset_prep +EXPORT_SYMBOL_GPL vmlinux 0xcf51c2f5 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xcf5c039a devres_get +EXPORT_SYMBOL_GPL vmlinux 0xcf7f66f9 imx_dev_clk_hw_pll14xx +EXPORT_SYMBOL_GPL vmlinux 0xcf88e6db modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xcf9a8361 devm_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xcfa84a7b mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0xcfabf934 nvdimm_bus_register +EXPORT_SYMBOL_GPL vmlinux 0xcfacb3d0 clk_hw_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0xcfb248ef security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xcfb473ff dprc_set_obj_irq +EXPORT_SYMBOL_GPL vmlinux 0xcfc3b60f ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0xcfc5108a devlink_fmsg_u8_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xcfc7b4e4 rcu_barrier_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0xcfd05342 serial8250_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xcfd30d71 acpi_os_map_memory +EXPORT_SYMBOL_GPL vmlinux 0xcfe30417 regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0xcfe39893 bpf_preload_ops +EXPORT_SYMBOL_GPL vmlinux 0xcfe47c69 pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0xcffd793e hyperv_report_panic +EXPORT_SYMBOL_GPL vmlinux 0xd004b583 nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0xd00b443f unregister_nvdimm_pmu +EXPORT_SYMBOL_GPL vmlinux 0xd01f3194 aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0xd0210112 icc_provider_add +EXPORT_SYMBOL_GPL vmlinux 0xd021ea6f ahci_platform_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd026d518 HYPERVISOR_vcpu_op +EXPORT_SYMBOL_GPL vmlinux 0xd029c40f blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0xd035b32b dev_pm_opp_set_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd0394b90 xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0xd03eaf4c schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0xd03f2945 dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0xd0458ccb xenbus_strstate +EXPORT_SYMBOL_GPL vmlinux 0xd04aedfd __SCK__tp_func_arm_event +EXPORT_SYMBOL_GPL vmlinux 0xd06524ba raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd067d3c5 system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0xd067d9da bgmac_enet_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd068d93e register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0xd06a6988 device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0xd073ba5c meson_a1_parse_dt_extra +EXPORT_SYMBOL_GPL vmlinux 0xd08b72ba of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0xd09911a6 acpi_dev_get_irq_type +EXPORT_SYMBOL_GPL vmlinux 0xd09d03f3 usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0xd09f1316 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0xd0a0b2d3 md_run +EXPORT_SYMBOL_GPL vmlinux 0xd0a63b56 usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xd0a89ef5 virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0xd0ad37c4 dprc_open +EXPORT_SYMBOL_GPL vmlinux 0xd0b18409 __clk_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0c182c6 dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0xd0c8044a srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0xd0d156e9 __rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xd0d3f0a4 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0xd0d89e98 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0xd0db0f12 run_dax +EXPORT_SYMBOL_GPL vmlinux 0xd0dcd0d2 regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0xd0eea865 fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0xd0fd5457 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0xd0fd7085 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd1020bb4 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0xd124498a i2c_acpi_new_device_by_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xd12c0595 task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0xd12f4343 xenbus_dev_error +EXPORT_SYMBOL_GPL vmlinux 0xd1314164 phy_speed_down +EXPORT_SYMBOL_GPL vmlinux 0xd138c08a free_iova_fast +EXPORT_SYMBOL_GPL vmlinux 0xd13dd20e led_init_default_state_get +EXPORT_SYMBOL_GPL vmlinux 0xd148142a generic_handle_domain_irq +EXPORT_SYMBOL_GPL vmlinux 0xd1481de7 mpi_clear +EXPORT_SYMBOL_GPL vmlinux 0xd14b51ac perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0xd153f9ed clk_hw_register_composite +EXPORT_SYMBOL_GPL vmlinux 0xd159586c net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xd165a493 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd16a8cef __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0xd1717436 kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0xd17e4921 fsverity_ioctl_enable +EXPORT_SYMBOL_GPL vmlinux 0xd18086d0 tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0xd18176a8 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xd18b8dae mmc_send_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0xd19bc536 kvm_set_memory_region +EXPORT_SYMBOL_GPL vmlinux 0xd1a6222b wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xd1a9ca15 __SCK__tp_func_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0xd1b4a217 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0xd1b58a32 timer_unstable_counter_workaround +EXPORT_SYMBOL_GPL vmlinux 0xd1bad873 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0xd1c996b7 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0xd1cbc23c add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd1cc2dcb dprc_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xd1d25798 nvdimm_security_setup_events +EXPORT_SYMBOL_GPL vmlinux 0xd1f2eee2 nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0xd209966d xhci_resume +EXPORT_SYMBOL_GPL vmlinux 0xd2136167 dev_pm_set_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd21b61bd async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0xd21f1d35 __SCK__tp_func_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0xd228144f i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL vmlinux 0xd23707e5 iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0xd23d9ddc smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0xd2423f76 i2c_acpi_get_i2c_resource +EXPORT_SYMBOL_GPL vmlinux 0xd248a519 rockchip_pmu_block +EXPORT_SYMBOL_GPL vmlinux 0xd24d07d2 serial8250_do_startup +EXPORT_SYMBOL_GPL vmlinux 0xd24e9e8c klist_init +EXPORT_SYMBOL_GPL vmlinux 0xd260af0d ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xd26c60a9 ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd27eeb4b alloc_iova +EXPORT_SYMBOL_GPL vmlinux 0xd27f215d gnttab_alloc_grant_references +EXPORT_SYMBOL_GPL vmlinux 0xd2854a13 dev_pm_opp_of_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xd28b21e5 of_property_read_variable_u64_array +EXPORT_SYMBOL_GPL vmlinux 0xd29c1f10 __traceiter_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0xd2a30144 device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0xd2b10a05 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0xd2b8dbd4 ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0xd2d40954 xenbus_setup_ring +EXPORT_SYMBOL_GPL vmlinux 0xd2d7e59b unregister_platform_power_off +EXPORT_SYMBOL_GPL vmlinux 0xd2dca1b8 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0xd2dd179b genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xd2dd3134 device_attach +EXPORT_SYMBOL_GPL vmlinux 0xd2dd5c71 irq_gc_set_wake +EXPORT_SYMBOL_GPL vmlinux 0xd304da84 trace_array_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd30d3f0d serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0xd30ebf5e gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0xd313bc7b xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0xd3174bf1 alarmtimer_get_rtcdev +EXPORT_SYMBOL_GPL vmlinux 0xd31a2ac5 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0xd320ebaf pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0xd32102e0 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0xd32afe63 da9052_disable_irq_nosync +EXPORT_SYMBOL_GPL vmlinux 0xd33ada8b cci_probed +EXPORT_SYMBOL_GPL vmlinux 0xd34237af bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0xd34a3206 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0xd3551a76 zynqmp_pm_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xd36760ef __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xd3752c27 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xd375e4a4 securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xd37d0492 regulator_get_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0xd39e9848 put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xd3eaf1ed devlink_dpipe_entry_clear +EXPORT_SYMBOL_GPL vmlinux 0xd3ec851c __traceiter_unmap +EXPORT_SYMBOL_GPL vmlinux 0xd3f0cd42 misc_cg_res_total_usage +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd40632bb devm_ti_sci_get_handle +EXPORT_SYMBOL_GPL vmlinux 0xd423b700 dma_resv_test_signaled +EXPORT_SYMBOL_GPL vmlinux 0xd426dbc4 erst_get_record_count +EXPORT_SYMBOL_GPL vmlinux 0xd429e1db regulator_suspend_disable +EXPORT_SYMBOL_GPL vmlinux 0xd42f1d4e show_rcu_tasks_rude_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0xd432a1b4 dev_pm_genpd_set_next_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xd4476a27 pinctrl_dev_get_devname +EXPORT_SYMBOL_GPL vmlinux 0xd4478f4a xen_remap_vma_range +EXPORT_SYMBOL_GPL vmlinux 0xd447e860 devm_memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0xd449602c trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd44a5eac kgdb_register_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xd45034d3 pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0xd45b6b52 serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0xd46af5ef cppc_get_perf_ctrs +EXPORT_SYMBOL_GPL vmlinux 0xd47b3546 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0xd48c5a9a acpi_dev_get_property +EXPORT_SYMBOL_GPL vmlinux 0xd48f0b55 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xd4935851 __SCK__tp_func_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0xd4a8d75d nvdimm_name +EXPORT_SYMBOL_GPL vmlinux 0xd4b6157e devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0xd4b9a616 reset_control_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xd4bf1bb9 rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4c16470 ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0xd4c42a7a ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xd4c94b68 power_supply_property_is_writeable +EXPORT_SYMBOL_GPL vmlinux 0xd4cbdbe3 __SCK__tp_func_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0xd4d76df5 __xenbus_register_backend +EXPORT_SYMBOL_GPL vmlinux 0xd4dba945 sk_msg_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0xd4e6d7e0 linear_range_get_value +EXPORT_SYMBOL_GPL vmlinux 0xd4ee8985 nvmem_cell_read_u16 +EXPORT_SYMBOL_GPL vmlinux 0xd4effa18 usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0xd4f5bfa5 iommu_queue_iopf +EXPORT_SYMBOL_GPL vmlinux 0xd507f6ef of_icc_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xd50c82e0 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xd5233cd8 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0xd5247d5f usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0xd5301b2c linear_range_get_max_value +EXPORT_SYMBOL_GPL vmlinux 0xd53055e1 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xd53483cb rio_add_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0xd536ae51 mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0xd539adc3 dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0xd53c67b3 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0xd5456cbd dev_pm_opp_put_clkname +EXPORT_SYMBOL_GPL vmlinux 0xd5474690 usb_role_switch_set_role +EXPORT_SYMBOL_GPL vmlinux 0xd5489c90 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xd54dc116 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xd556fa5a power_supply_put_battery_info +EXPORT_SYMBOL_GPL vmlinux 0xd55ad93b iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xd5787987 devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0xd5807af3 k3_ringacc_ring_pop +EXPORT_SYMBOL_GPL vmlinux 0xd59a1587 linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0xd59ab9b2 powercap_register_control_type +EXPORT_SYMBOL_GPL vmlinux 0xd5e883db watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0xd5eb8822 is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0xd5fe8af5 ipv4_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xd60152b1 tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0xd6022fa2 crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0xd616a108 rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xd61b3ff2 tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0xd639c841 phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL vmlinux 0xd63ace66 cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0xd641a9eb dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0xd64ed259 __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0xd65b93da thermal_zone_get_temp +EXPORT_SYMBOL_GPL vmlinux 0xd65bbf40 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xd66be6e0 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd6aafb42 crc64_rocksoft +EXPORT_SYMBOL_GPL vmlinux 0xd6b27e8a xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0xd6c1a733 xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0xd6c64638 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0xd6d8f6b3 topology_set_scale_freq_source +EXPORT_SYMBOL_GPL vmlinux 0xd6df87ad bpf_trace_run6 +EXPORT_SYMBOL_GPL vmlinux 0xd6e05f43 crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0xd6e30529 sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0xd6e615aa imx93_clk_composite_flags +EXPORT_SYMBOL_GPL vmlinux 0xd6e910b0 usb_role_switch_find_by_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xd7085313 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0xd7269c64 osc_sb_native_usb4_control +EXPORT_SYMBOL_GPL vmlinux 0xd7293ffc percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0xd72feba2 xenbus_read_driver_state +EXPORT_SYMBOL_GPL vmlinux 0xd7399d2a efivar_entry_iter_end +EXPORT_SYMBOL_GPL vmlinux 0xd7404e09 devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0xd7419707 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0xd7463779 __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0xd74a1f02 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd74d4814 xhci_ext_cap_init +EXPORT_SYMBOL_GPL vmlinux 0xd74e400f show_rcu_tasks_classic_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0xd7506970 pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0xd758a5b7 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xd75b20aa rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0xd75ebf68 mtk_clk_register_muxes +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd77075b4 kvm_io_bus_get_dev +EXPORT_SYMBOL_GPL vmlinux 0xd773d1d8 pinctrl_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xd774957d mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0xd7759629 irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0xd781c9fa sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0xd78f89a9 scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0xd792c93c ehci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0xd798deea driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xd7a2ae4b pci_pri_supported +EXPORT_SYMBOL_GPL vmlinux 0xd7afa27d ehci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xd7b02020 genphy_c45_pma_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd7c8ba0c rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xd7c91b63 tegra210_sata_pll_hw_control_enable +EXPORT_SYMBOL_GPL vmlinux 0xd7cea889 edac_mod_work +EXPORT_SYMBOL_GPL vmlinux 0xd7d7f2a7 devlink_port_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd7db63af __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0xd7dbb93a of_thermal_is_trip_valid +EXPORT_SYMBOL_GPL vmlinux 0xd7dccd23 __SCK__tp_func_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0xd7e9113f of_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xd81bc6f7 extcon_get_extcon_dev +EXPORT_SYMBOL_GPL vmlinux 0xd821122c devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0xd8255cde pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd830b50e __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0xd84d35bd dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xd84d7d51 usb_role_switch_register +EXPORT_SYMBOL_GPL vmlinux 0xd84e2d2b fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0xd85666eb xenbus_dev_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd857ab31 usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0xd86851ac tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0xd869a0c9 dev_pm_opp_get_max_clock_latency +EXPORT_SYMBOL_GPL vmlinux 0xd873e636 pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0xd87fc0a0 usb_amd_prefetch_quirk +EXPORT_SYMBOL_GPL vmlinux 0xd88b07e2 PageHeadHuge +EXPORT_SYMBOL_GPL vmlinux 0xd89e09ad rockchip_register_softrst +EXPORT_SYMBOL_GPL vmlinux 0xd8a2e76f blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0xd8cd9a5a generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0xd8d5aed7 pinctrl_generic_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0xd8d68ab1 dmi_memdev_type +EXPORT_SYMBOL_GPL vmlinux 0xd8e3ffc5 usb_string +EXPORT_SYMBOL_GPL vmlinux 0xd8f1fdc5 fuse_mount_remove +EXPORT_SYMBOL_GPL vmlinux 0xd8fbb14d net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xd900f839 switchdev_bridge_port_unoffload +EXPORT_SYMBOL_GPL vmlinux 0xd9084c60 ahci_platform_enable_clks +EXPORT_SYMBOL_GPL vmlinux 0xd90a93a7 k3_udma_glue_rx_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xd90ef913 ahci_platform_enable_resources +EXPORT_SYMBOL_GPL vmlinux 0xd910b8fd of_clk_parent_fill +EXPORT_SYMBOL_GPL vmlinux 0xd91d991e devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xd91dbd1f xdp_alloc_skb_bulk +EXPORT_SYMBOL_GPL vmlinux 0xd92ef192 security_kernel_post_load_data +EXPORT_SYMBOL_GPL vmlinux 0xd92f0791 leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0xd93a5cb1 efivar_variable_is_removable +EXPORT_SYMBOL_GPL vmlinux 0xd93ba84a clk_hw_get_flags +EXPORT_SYMBOL_GPL vmlinux 0xd96babb4 interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd96c71c0 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0xd96cc0d5 md_stop +EXPORT_SYMBOL_GPL vmlinux 0xd9703704 cpu_topology +EXPORT_SYMBOL_GPL vmlinux 0xd97b9b89 acpi_cpu_get_madt_gicc +EXPORT_SYMBOL_GPL vmlinux 0xd98ccc82 __traceiter_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xd9916c3a idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0xd99f1f12 cpufreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd9d09af6 tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0xd9d0a2af devlink_flash_update_timeout_notify +EXPORT_SYMBOL_GPL vmlinux 0xd9e24457 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0xd9e2afe8 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xd9e6f40e gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0xd9ea95ac relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0xd9ee0925 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0xd9f0ec32 bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0xd9faa7a5 zynqmp_pm_set_pll_frac_mode +EXPORT_SYMBOL_GPL vmlinux 0xd9ff2172 ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xda0947de kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xda116399 __usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xda142177 sbitmap_queue_show +EXPORT_SYMBOL_GPL vmlinux 0xda3083cd __devm_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0xda320d31 sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0xda33ae7c sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0xda356f46 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0xda65ee10 of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0xda7912d4 freq_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xda7d404a sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xda856de7 fb_deferred_io_mmap +EXPORT_SYMBOL_GPL vmlinux 0xda8e1302 software_node_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0xda969e9f stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0xda97312b nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0xdaa06dc1 acpi_lpat_raw_to_temp +EXPORT_SYMBOL_GPL vmlinux 0xdaa58c4d iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0xdab5a1eb interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0xdad93eda pcie_reset_flr +EXPORT_SYMBOL_GPL vmlinux 0xdadd8622 spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0xdae71f74 balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0xdaea6557 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdb074c9f phy_pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0xdb0927b3 dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0xdb1f30eb of_changeset_action +EXPORT_SYMBOL_GPL vmlinux 0xdb2ea5de acpi_dev_gpio_irq_get_by +EXPORT_SYMBOL_GPL vmlinux 0xdb32f8fe virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0xdb3b856c otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0xdb3e51d3 filemap_read +EXPORT_SYMBOL_GPL vmlinux 0xdb3fcc3f nvmem_cell_read_variable_le_u32 +EXPORT_SYMBOL_GPL vmlinux 0xdb4083ec usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xdb43aead __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0xdb4f2748 devm_usb_get_phy_by_node +EXPORT_SYMBOL_GPL vmlinux 0xdb4f41a3 acpi_dev_state_d0 +EXPORT_SYMBOL_GPL vmlinux 0xdb63a944 acpi_lpat_get_conversion_table +EXPORT_SYMBOL_GPL vmlinux 0xdb768443 rio_mport_class +EXPORT_SYMBOL_GPL vmlinux 0xdb7a052e acpi_subsys_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0xdb812945 pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb90e2e7 crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0xdbac2f2e platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0xdbb61bd4 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdbdb0e8b request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xdbdf233a blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0xdbe8d8a0 __SCK__tp_func_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xdbeeece6 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdc02eb39 dmi_available +EXPORT_SYMBOL_GPL vmlinux 0xdc139c13 k3_udma_glue_tx_get_hdesc_size +EXPORT_SYMBOL_GPL vmlinux 0xdc14a211 xen_hvm_evtchn_do_upcall +EXPORT_SYMBOL_GPL vmlinux 0xdc1cf655 syscon_regmap_lookup_by_phandle_optional +EXPORT_SYMBOL_GPL vmlinux 0xdc230b15 pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0xdc29604f fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0xdc2c4023 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0xdc2ea1ef iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0xdc3bf831 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xdc3e2992 switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0xdc43bdc6 pci_vpd_find_ro_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0xdc45a5db edac_stop_work +EXPORT_SYMBOL_GPL vmlinux 0xdc525b31 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0xdc64076d kvm_vcpu_write_guest +EXPORT_SYMBOL_GPL vmlinux 0xdc6596fa irq_set_parent +EXPORT_SYMBOL_GPL vmlinux 0xdc6699cb acpi_dev_free_resource_list +EXPORT_SYMBOL_GPL vmlinux 0xdc6c88a6 balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0xdc73fed5 ptp_parse_header +EXPORT_SYMBOL_GPL vmlinux 0xdc75e408 ahci_set_em_messages +EXPORT_SYMBOL_GPL vmlinux 0xdc7b02da __folio_lock_killable +EXPORT_SYMBOL_GPL vmlinux 0xdc7c4b82 dpcon_enable +EXPORT_SYMBOL_GPL vmlinux 0xdc7df67f apei_exec_ctx_init +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc841b74 misc_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdc84d7c4 __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc9fa232 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xdc9ff1fe xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xdcc9a399 xhci_gen_setup +EXPORT_SYMBOL_GPL vmlinux 0xdccf3956 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0xdcd16540 l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0xdcdfcdbe __traceiter_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0xdcf235f1 cpufreq_enable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0xdd008984 cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0xdd0762df set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0xdd1f7d01 clk_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xdd25359a ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL vmlinux 0xdd2af268 devm_spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0xdd2e7e12 __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xdd3b2189 nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0xdd3e2e81 phy_save_page +EXPORT_SYMBOL_GPL vmlinux 0xdd450ef1 x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0xdd531af0 extcon_sync +EXPORT_SYMBOL_GPL vmlinux 0xdd5537bc ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0xdd596c06 regulator_bulk_set_supply_names +EXPORT_SYMBOL_GPL vmlinux 0xdd626ee3 fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0xdd68a17d acpi_ec_add_query_handler +EXPORT_SYMBOL_GPL vmlinux 0xdd6b1af8 crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xdd81d8f6 __SCK__tp_func_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xdd82f2a6 skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xddaefa2c __devm_clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0xddb88a1c imx_pinconf_get_scu +EXPORT_SYMBOL_GPL vmlinux 0xddbeeecc pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0xddd0ba09 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0xddd96c16 tegra_mc_probe_device +EXPORT_SYMBOL_GPL vmlinux 0xdde99d64 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xddeae9bb alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0xddf22350 pci_vpd_alloc +EXPORT_SYMBOL_GPL vmlinux 0xddf32520 __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xde1046f7 icc_disable +EXPORT_SYMBOL_GPL vmlinux 0xde13612c da903x_write +EXPORT_SYMBOL_GPL vmlinux 0xde1bb502 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0xde31bf7e unregister_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0xde41739d extcon_find_edev_by_node +EXPORT_SYMBOL_GPL vmlinux 0xde4d3e8a devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0xde5be9ef __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0xde6684b4 devfreq_event_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xde6f1851 TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0xde75223e nvdimm_flush +EXPORT_SYMBOL_GPL vmlinux 0xde76689f clk_hw_set_parent +EXPORT_SYMBOL_GPL vmlinux 0xde787a38 ndo_dflt_bridge_getlink +EXPORT_SYMBOL_GPL vmlinux 0xde7a1ce5 xhci_get_ep_ctx +EXPORT_SYMBOL_GPL vmlinux 0xde7c8583 devm_mipi_dsi_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0xde7e8a87 devm_led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0xde88d288 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0xde99a181 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0xde9ab8c7 xenbus_rm +EXPORT_SYMBOL_GPL vmlinux 0xdead2e78 reserve_iova +EXPORT_SYMBOL_GPL vmlinux 0xdebd1334 em_dev_unregister_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0xdedfa931 devm_regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xdee1828b regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0xdee91d7a dtpm_destroy_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xdeffa0a7 edac_raw_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0xdf05007d __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0xdf095130 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0xdf0c757f ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0xdf0ca3f4 cpu_latency_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf1be5e1 __free_iova +EXPORT_SYMBOL_GPL vmlinux 0xdf2738bb cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdf2dbaed spi_mem_get_name +EXPORT_SYMBOL_GPL vmlinux 0xdf3ce1ab bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0xdf448d1c fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0xdf49df63 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0xdf77cd60 unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0xdf861903 phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL vmlinux 0xdf8d68f5 skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0xdf948ef0 pm_clk_init +EXPORT_SYMBOL_GPL vmlinux 0xdf999889 crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0xdf9c6f3e sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xdfbc4d2c dmi_kobj +EXPORT_SYMBOL_GPL vmlinux 0xdfcb6c90 mctrl_gpio_set +EXPORT_SYMBOL_GPL vmlinux 0xdfcc34cf nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0xdfcc37f6 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xdfd4ef69 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xdffbaf46 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0xdffe1828 efivar_entry_set_get_size +EXPORT_SYMBOL_GPL vmlinux 0xdffeb518 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0xe00dc09b lp8788_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xe01f4cb0 irq_force_affinity +EXPORT_SYMBOL_GPL vmlinux 0xe02fedc6 rockchip_pcie_deinit_phys +EXPORT_SYMBOL_GPL vmlinux 0xe0313d71 rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0xe0356a96 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xe037f68b fbcon_modechange_possible +EXPORT_SYMBOL_GPL vmlinux 0xe05e2f85 nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe067414a security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0xe067dbef attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe06ca91c __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0xe06ead25 ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0xe0961e11 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xe0af1739 icc_provider_del +EXPORT_SYMBOL_GPL vmlinux 0xe0b1c103 clk_set_max_rate +EXPORT_SYMBOL_GPL vmlinux 0xe0c4e14d hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xe0c63730 md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe0cb74a5 genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL vmlinux 0xe0e3147c HYPERVISOR_sched_op +EXPORT_SYMBOL_GPL vmlinux 0xe0e88478 bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0xe0f68b35 regulator_suspend_enable +EXPORT_SYMBOL_GPL vmlinux 0xe10cd6ad erst_get_record_id_begin +EXPORT_SYMBOL_GPL vmlinux 0xe119e837 usb_phy_roothub_resume +EXPORT_SYMBOL_GPL vmlinux 0xe11f54b1 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0xe1299eb6 iommu_sva_find +EXPORT_SYMBOL_GPL vmlinux 0xe1321361 ahci_do_softreset +EXPORT_SYMBOL_GPL vmlinux 0xe133c164 to_of_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xe1395c8e pwm_adjust_config +EXPORT_SYMBOL_GPL vmlinux 0xe13fe4e3 mmc_pwrseq_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe1519620 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xe1594f06 devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0xe1659781 edac_mc_del_mc +EXPORT_SYMBOL_GPL vmlinux 0xe1775ee7 dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0xe1963c24 devm_spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe1a8d7c9 net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xe1acc6fb __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xe1b1baa4 tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xe1b36e64 bus_register +EXPORT_SYMBOL_GPL vmlinux 0xe1bd6c99 rio_init_mports +EXPORT_SYMBOL_GPL vmlinux 0xe1c1e987 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xe1c87a2f kernel_can_power_off +EXPORT_SYMBOL_GPL vmlinux 0xe1d12e68 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0xe1d5c2a6 power_supply_get_battery_info +EXPORT_SYMBOL_GPL vmlinux 0xe1ea89d4 clk_hw_is_prepared +EXPORT_SYMBOL_GPL vmlinux 0xe1ef8d88 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0xe1f2058e scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xe1f26cf1 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xe1f91c9e rio_get_comptag +EXPORT_SYMBOL_GPL vmlinux 0xe200d110 tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0xe2195ea2 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0xe2225a6b fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xe2276e3c wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0xe2322df2 __phy_modify +EXPORT_SYMBOL_GPL vmlinux 0xe233762a input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0xe246f9bb class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xe24c6fc9 irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0xe25d23f3 blocking_notifier_call_chain_robust +EXPORT_SYMBOL_GPL vmlinux 0xe2666d5f ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0xe26a5e69 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xe26eba16 kthread_func +EXPORT_SYMBOL_GPL vmlinux 0xe2713ccc pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0xe276a91e dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0xe2773228 dma_resv_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xe27867b4 of_icc_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0xe27affce device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0xe284a525 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xe28daf2c ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0xe293546e inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0xe2b3207a unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe2bd155d gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0xe2ce2b4d evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0xe2d720a2 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0xe2d96f5b zynqmp_pm_feature +EXPORT_SYMBOL_GPL vmlinux 0xe30d171d stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0xe3127c5b __efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0xe31315a4 spi_delay_exec +EXPORT_SYMBOL_GPL vmlinux 0xe31a8bf6 pinctrl_find_and_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xe33458d0 nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0xe33aa949 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0xe3482667 spi_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xe3484c03 regmap_get_device +EXPORT_SYMBOL_GPL vmlinux 0xe373b09d dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0xe37f805c phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL vmlinux 0xe3840e18 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xe397caf5 seq_buf_printf +EXPORT_SYMBOL_GPL vmlinux 0xe39a28fc bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0xe39d06e0 pinmux_generic_remove_function +EXPORT_SYMBOL_GPL vmlinux 0xe39d0794 usb_phy_roothub_exit +EXPORT_SYMBOL_GPL vmlinux 0xe3b09712 kprobe_event_delete +EXPORT_SYMBOL_GPL vmlinux 0xe3c67bd6 pm_genpd_init +EXPORT_SYMBOL_GPL vmlinux 0xe3cd5fae klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xe3cf4e90 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0xe3dc766a watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0xe3e423ac iommu_group_release_dma_owner +EXPORT_SYMBOL_GPL vmlinux 0xe3f18f85 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0xe3f73c09 of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xe40bb23e devlink_health_reporter_priv +EXPORT_SYMBOL_GPL vmlinux 0xe4248980 cper_estatus_print +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe441099d bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0xe44aa3f6 __clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0xe45f8dee __of_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0xe4699a79 fsl_mc_resource_allocate +EXPORT_SYMBOL_GPL vmlinux 0xe46e1237 kvm_write_guest_cached +EXPORT_SYMBOL_GPL vmlinux 0xe47f77ea led_stop_software_blink +EXPORT_SYMBOL_GPL vmlinux 0xe483715d max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xe4903ab9 i2c_dw_prepare_clk +EXPORT_SYMBOL_GPL vmlinux 0xe490e1f9 pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xe491e700 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xe4971ade tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xe4ac5054 check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0xe4b064f9 pcie_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xe4b818c3 phy_speed_to_str +EXPORT_SYMBOL_GPL vmlinux 0xe4bdca84 pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0xe4bdcc03 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0xe4c2c66c rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0xe4c2e68a usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xe4c9b516 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0xe4c9e204 pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0xe4ceaa89 nvmem_device_find +EXPORT_SYMBOL_GPL vmlinux 0xe4db9cd7 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xe4dd9405 __kvm_set_memory_region +EXPORT_SYMBOL_GPL vmlinux 0xe4ddedf2 rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xe4e48b12 swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0xe4e72fb0 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xe4f0e073 __spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0xe5373072 pci_iov_virtfn_devfn +EXPORT_SYMBOL_GPL vmlinux 0xe539431e device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xe53f09b3 iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0xe5470a99 led_trigger_read +EXPORT_SYMBOL_GPL vmlinux 0xe5477567 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0xe5505a00 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0xe5516728 k3_udma_glue_tx_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe596ad2f gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0xe5a363f0 phy_validate +EXPORT_SYMBOL_GPL vmlinux 0xe5a925d3 zynqmp_pm_init_finalize +EXPORT_SYMBOL_GPL vmlinux 0xe5bbd7fc phy_select_page +EXPORT_SYMBOL_GPL vmlinux 0xe5c02b64 freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xe5c56797 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0xe5cb1943 hisi_clk_register_divider +EXPORT_SYMBOL_GPL vmlinux 0xe5ce1a56 rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0xe5d0164f acpi_get_psd_map +EXPORT_SYMBOL_GPL vmlinux 0xe5d107a8 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xe5d6a30e ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0xe5e6f873 __acpi_node_get_property_reference +EXPORT_SYMBOL_GPL vmlinux 0xe5e9e2a7 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0xe5ecb7d6 usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0xe5efb18f pinmux_generic_get_function +EXPORT_SYMBOL_GPL vmlinux 0xe5efc7b1 dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0xe60632a9 edac_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe60a5e8d pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xe60eb8d9 xdp_do_redirect_frame +EXPORT_SYMBOL_GPL vmlinux 0xe61868d0 powercap_unregister_control_type +EXPORT_SYMBOL_GPL vmlinux 0xe628bb9f phy_fibre_port_array +EXPORT_SYMBOL_GPL vmlinux 0xe64acbb2 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xe657da09 vp_modern_remove +EXPORT_SYMBOL_GPL vmlinux 0xe65e7434 fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0xe66d42de nvdimm_region_notify +EXPORT_SYMBOL_GPL vmlinux 0xe6776850 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0xe67c7a02 edac_mc_add_mc_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xe69341a3 fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0xe694d5c5 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xe6a559a3 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xe6a7ba17 pwm_capture +EXPORT_SYMBOL_GPL vmlinux 0xe6b05361 pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0xe6b49763 mmc_crypto_prepare_req +EXPORT_SYMBOL_GPL vmlinux 0xe6b9e552 auxiliary_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe6dfbc4a sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0xe6e0496f follow_pte +EXPORT_SYMBOL_GPL vmlinux 0xe6e40502 rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0xe6e5dd8a scmi_protocol_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe6e6b684 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xe6e988c5 k3_ringacc_get_tisci_dev_id +EXPORT_SYMBOL_GPL vmlinux 0xe6f52443 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0xe6f83837 acpi_bus_attach_private_data +EXPORT_SYMBOL_GPL vmlinux 0xe6f9f0d3 blk_crypto_intersect_capabilities +EXPORT_SYMBOL_GPL vmlinux 0xe700d767 reset_control_bulk_deassert +EXPORT_SYMBOL_GPL vmlinux 0xe7030ee5 lp8788_read_multi_bytes +EXPORT_SYMBOL_GPL vmlinux 0xe73c97aa meson_pinctrl_probe +EXPORT_SYMBOL_GPL vmlinux 0xe73ebf16 xen_find_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xe753b68d devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xe75522a2 virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0xe7590d46 led_sysfs_enable +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe7759dc6 get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0xe783e261 sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0xe7936243 zynqmp_pm_clock_getstate +EXPORT_SYMBOL_GPL vmlinux 0xe795d8b8 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0xe7d6d2d4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xe7df8e5b devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xe7e4e860 kobject_move +EXPORT_SYMBOL_GPL vmlinux 0xe81379ee mtk_clk_gate_ops_no_setclr +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe8278a7c ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0xe82bd86f proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0xe8352222 nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0xe8398be5 led_trigger_blink_oneshot +EXPORT_SYMBOL_GPL vmlinux 0xe8478a92 __traceiter_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0xe84ed34a unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe85a9fd3 cpu_cluster_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe878c4cc powercap_unregister_zone +EXPORT_SYMBOL_GPL vmlinux 0xe87ebb26 gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0xe8805c98 gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0xe8824a89 pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0xe8993d71 pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0xe89ef7ca alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0xe8ae0527 of_dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0xe8b670de regulator_list_voltage_table +EXPORT_SYMBOL_GPL vmlinux 0xe8bd3844 pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0xe8c0065d memory_group_register_static +EXPORT_SYMBOL_GPL vmlinux 0xe8c7a31a pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0xe8d03590 tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0xe8e9b28e pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xe8ef42b4 ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0xe8f6e393 cros_ec_check_features +EXPORT_SYMBOL_GPL vmlinux 0xe90c7659 k3_udma_glue_rx_dma_to_cppi5_addr +EXPORT_SYMBOL_GPL vmlinux 0xe90e43a7 crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xe9113991 bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0xe911df29 eventfd_ctx_do_read +EXPORT_SYMBOL_GPL vmlinux 0xe91598ed mpc8xxx_spi_rx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0xe929de07 badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0xe9302f5e gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe943dddb mark_page_dirty_in_slot +EXPORT_SYMBOL_GPL vmlinux 0xe9441d5f virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0xe9482bb7 mtk_mutex_add_comp +EXPORT_SYMBOL_GPL vmlinux 0xe951c5f5 usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0xe956a75c pl320_ipc_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe9595e59 pci_hp_del +EXPORT_SYMBOL_GPL vmlinux 0xe962e57b usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0xe9694913 usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0xe9705474 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xe971fcb1 kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0xe97d1587 serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0xe97dfd3e usb_phy_roothub_alloc +EXPORT_SYMBOL_GPL vmlinux 0xe988339d scsi_device_from_queue +EXPORT_SYMBOL_GPL vmlinux 0xe98d5499 __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0xe98f55f2 arm_smccc_get_version +EXPORT_SYMBOL_GPL vmlinux 0xe9995e8d simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xe99cfea8 devm_acpi_dev_add_driver_gpios +EXPORT_SYMBOL_GPL vmlinux 0xe9b28fd5 badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0xe9b5a80a fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0xe9c558db msg_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0xe9c9dc23 udp_bpf_update_proto +EXPORT_SYMBOL_GPL vmlinux 0xe9cec88b blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9d63a0d k3_udma_glue_enable_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0xe9df5b17 dev_pm_opp_find_freq_floor +EXPORT_SYMBOL_GPL vmlinux 0xe9ed3b56 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0xe9f5116f rcu_exp_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0xe9fa609a driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xea018bbb mpi_test_bit +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea2c81b7 genphy_c45_read_mdix +EXPORT_SYMBOL_GPL vmlinux 0xea36d213 crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0xea38036f ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xea3a23f3 public_key_free +EXPORT_SYMBOL_GPL vmlinux 0xea3ab875 pinctrl_utils_free_map +EXPORT_SYMBOL_GPL vmlinux 0xea3bfe10 bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0xea4035e2 devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL vmlinux 0xea543e62 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xea635563 event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0xea6aa811 od_register_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0xeaa2e6c5 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xeab59108 irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0xeac6e0ee devm_clk_get_optional_prepared +EXPORT_SYMBOL_GPL vmlinux 0xeace8287 pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0xead035ee __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xead3e41b __traceiter_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xead54924 mctrl_gpio_to_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xead5c8e5 clk_bulk_prepare +EXPORT_SYMBOL_GPL vmlinux 0xeae0f496 clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0xeae4e714 xhci_reset_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0xeae552e1 mtk_build_eint +EXPORT_SYMBOL_GPL vmlinux 0xeaf0a57c look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0xeaf3cb23 crc64_be +EXPORT_SYMBOL_GPL vmlinux 0xeaf8469d hv_do_fast_hypercall8 +EXPORT_SYMBOL_GPL vmlinux 0xeb03c675 of_detach_node +EXPORT_SYMBOL_GPL vmlinux 0xeb19abc5 pinctrl_pm_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0xeb26e3a5 perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0xeb279e99 skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0xeb36e50e dprc_get_obj +EXPORT_SYMBOL_GPL vmlinux 0xeb4221e4 trace_clock +EXPORT_SYMBOL_GPL vmlinux 0xeb455e43 dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0xeb5e12ec dev_pm_opp_put +EXPORT_SYMBOL_GPL vmlinux 0xeb631c9d iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0xeb66aa2e dpcon_close +EXPORT_SYMBOL_GPL vmlinux 0xeb771c52 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0xeb78b1ed unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xeb7c038f rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xeb83e29a ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0xeb935ef7 dev_err_probe +EXPORT_SYMBOL_GPL vmlinux 0xeba8b010 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0xebb26507 handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0xebbee10e mtk_eint_do_init +EXPORT_SYMBOL_GPL vmlinux 0xebbfafd0 sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xebc9a09f lock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0xebd4cc11 mctrl_gpio_enable_ms +EXPORT_SYMBOL_GPL vmlinux 0xebd661d7 platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0xebdb078b pm_clk_remove_clk +EXPORT_SYMBOL_GPL vmlinux 0xebf57806 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0xec0d8fbd ehci_reset +EXPORT_SYMBOL_GPL vmlinux 0xec0eb0ce skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0xec118404 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xec28df7c spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0xec5668f6 dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0xec64a3d3 devm_regmap_init_vexpress_config +EXPORT_SYMBOL_GPL vmlinux 0xec705c29 dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0xec7347c2 fscrypt_add_test_dummy_key +EXPORT_SYMBOL_GPL vmlinux 0xec774acb cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xec7bd0d1 ahci_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xec9880ac regmap_write +EXPORT_SYMBOL_GPL vmlinux 0xeca4d425 mtk_hw_get_value +EXPORT_SYMBOL_GPL vmlinux 0xecaaa2dd srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xecb671fc tegra210_sata_pll_hw_sequence_start +EXPORT_SYMBOL_GPL vmlinux 0xecba68e3 gnttab_batch_map +EXPORT_SYMBOL_GPL vmlinux 0xecbc83e4 switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0xecd8f23d xenbus_read +EXPORT_SYMBOL_GPL vmlinux 0xecd9fb1e efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0xece886cb netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0xececb35a unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0xecf76a03 pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0xecfb2796 xenbus_watch_path +EXPORT_SYMBOL_GPL vmlinux 0xecfc9067 mpc8xxx_spi_rx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0xed072315 bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0xed16a591 scmi_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xed2c5bcf power_supply_charge_behaviour_parse +EXPORT_SYMBOL_GPL vmlinux 0xed39b7b8 parse_OID +EXPORT_SYMBOL_GPL vmlinux 0xed3b1dcb regulator_set_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0xed4c68a8 blk_stat_disable_accounting +EXPORT_SYMBOL_GPL vmlinux 0xed51a4a4 nvmem_add_cell_table +EXPORT_SYMBOL_GPL vmlinux 0xed58ed33 acpi_irq_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xed6eea6b device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xed824b43 blk_crypto_register +EXPORT_SYMBOL_GPL vmlinux 0xed824d0c devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0xed8c384b netdev_xmit_skip_txqueue +EXPORT_SYMBOL_GPL vmlinux 0xed8fbc51 irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0xed918dde hte_init_line_attr +EXPORT_SYMBOL_GPL vmlinux 0xed9ea59f tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0xeda34044 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xeda668c2 vchan_tx_submit +EXPORT_SYMBOL_GPL vmlinux 0xedc5b52b pci_ecam_map_bus +EXPORT_SYMBOL_GPL vmlinux 0xedd092d5 power_supply_notifier +EXPORT_SYMBOL_GPL vmlinux 0xede9a09a btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0xedec5552 cpuidle_unregister +EXPORT_SYMBOL_GPL vmlinux 0xedffb7d0 tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0xee0c578e wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0xee12117c __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xee1f5126 __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xee2685f7 virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0xee2b7063 gfn_to_pfn_prot +EXPORT_SYMBOL_GPL vmlinux 0xee32b81d thermal_zone_device_disable +EXPORT_SYMBOL_GPL vmlinux 0xee38ef57 register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee518148 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0xee533367 __traceiter_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0xee5dad3f gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xee5db3ad blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0xee6b71c4 syscon_regmap_lookup_by_compatible +EXPORT_SYMBOL_GPL vmlinux 0xee6c633a devices_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xeeab6b92 pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0xeeb5e14a platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xeecdfd09 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0xeed0cea4 kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xeedc99d1 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0xeedd7f91 nvdimm_has_flush +EXPORT_SYMBOL_GPL vmlinux 0xeedd987e phy_10gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0xeedfa62a zynqmp_pm_is_function_supported +EXPORT_SYMBOL_GPL vmlinux 0xeef0f10d devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0xeef5064f fscrypt_limit_io_blocks +EXPORT_SYMBOL_GPL vmlinux 0xef04936e devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0xef097af7 ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0xef1f6e23 apei_resources_request +EXPORT_SYMBOL_GPL vmlinux 0xef27596f blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0xef29fcdd clk_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xef315a4f vp_legacy_remove +EXPORT_SYMBOL_GPL vmlinux 0xef34bf3e hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0xef464c28 getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0xef5db66d regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef6d21e6 pci_find_host_bridge +EXPORT_SYMBOL_GPL vmlinux 0xef70eb7e ring_buffer_iter_advance +EXPORT_SYMBOL_GPL vmlinux 0xef7da25a pci_epf_type_add_cfs +EXPORT_SYMBOL_GPL vmlinux 0xef8dee4e ahci_platform_disable_regulators +EXPORT_SYMBOL_GPL vmlinux 0xef92ef33 btree_last +EXPORT_SYMBOL_GPL vmlinux 0xefa2c27d register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefa54aa3 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0xefaa7b52 security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0xefaf3c13 vp_modern_set_status +EXPORT_SYMBOL_GPL vmlinux 0xefb750ac dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0xefca04d1 ata_sas_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xefd3a758 xenbus_map_ring_valloc +EXPORT_SYMBOL_GPL vmlinux 0xefd67eed acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0xefdc28d9 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0xefdd910e fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0xefeafcf1 edac_has_mcs +EXPORT_SYMBOL_GPL vmlinux 0xefef63aa acpi_device_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0xefefabd7 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0xf012349d gnttab_batch_copy +EXPORT_SYMBOL_GPL vmlinux 0xf01d098b efivar_entry_add +EXPORT_SYMBOL_GPL vmlinux 0xf020b52b mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0xf02b52de firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0xf039995d fsl_mc_allocate_irqs +EXPORT_SYMBOL_GPL vmlinux 0xf03b0410 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0xf04429b4 acpi_bus_get_status_handle +EXPORT_SYMBOL_GPL vmlinux 0xf04bcd59 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xf05a52fe asn1_encode_oid +EXPORT_SYMBOL_GPL vmlinux 0xf05c97de ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0xf05fbf09 pci_pio_to_address +EXPORT_SYMBOL_GPL vmlinux 0xf065366c fuse_conn_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf0691f47 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0xf0696401 acpi_pci_detect_ejectable +EXPORT_SYMBOL_GPL vmlinux 0xf06bb251 devm_power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xf07af269 devm_krealloc +EXPORT_SYMBOL_GPL vmlinux 0xf07af4df of_reserved_mem_device_init_by_name +EXPORT_SYMBOL_GPL vmlinux 0xf07f2376 devm_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0xf08637fc pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xf08909dd posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0xf0910075 sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0xf09c39ee __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0xf09ffa3a ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0xf0bbf2a9 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf0c3f1cf blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0xf0c69072 iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0xf0e54ae4 synth_event_create +EXPORT_SYMBOL_GPL vmlinux 0xf0fb1ce1 mcore_booted +EXPORT_SYMBOL_GPL vmlinux 0xf0fcc85d ohci_restart +EXPORT_SYMBOL_GPL vmlinux 0xf10cd6a3 mtk_pinconf_adv_drive_set +EXPORT_SYMBOL_GPL vmlinux 0xf12180fd imx_1443x_dram_pll +EXPORT_SYMBOL_GPL vmlinux 0xf122077c dprc_get_obj_count +EXPORT_SYMBOL_GPL vmlinux 0xf14317ef devl_rate_nodes_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf1481722 kvm_write_guest_offset_cached +EXPORT_SYMBOL_GPL vmlinux 0xf148c35e xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0xf148d074 tps6586x_get_version +EXPORT_SYMBOL_GPL vmlinux 0xf148e34b devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0xf14e2102 mtk_pinconf_bias_disable_get +EXPORT_SYMBOL_GPL vmlinux 0xf159eb18 synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0xf16928f4 arm64_mm_context_put +EXPORT_SYMBOL_GPL vmlinux 0xf171b8b4 dev_pm_opp_put_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0xf178b631 phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf17bf3e9 folio_mkclean +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf188a662 rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0xf188b36c balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0xf18c0108 ti_sci_inta_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0xf1f92fbb sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xf2037bd9 tcp_bpf_update_proto +EXPORT_SYMBOL_GPL vmlinux 0xf2043a1c devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf20b119d gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0xf21e1f9b disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xf24fef58 xenbus_dev_is_online +EXPORT_SYMBOL_GPL vmlinux 0xf25842a7 i2c_client_type +EXPORT_SYMBOL_GPL vmlinux 0xf26a4020 crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0xf26d2343 driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0xf273a6d1 ulpi_viewport_access_ops +EXPORT_SYMBOL_GPL vmlinux 0xf27d0a7b gnttab_grant_foreign_access_ref +EXPORT_SYMBOL_GPL vmlinux 0xf28342c8 acpi_gpiochip_request_interrupts +EXPORT_SYMBOL_GPL vmlinux 0xf283ec28 irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0xf28404cf devlink_dpipe_header_ipv6 +EXPORT_SYMBOL_GPL vmlinux 0xf2863e40 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0xf2967796 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0xf296c3a7 fsl_mc_portal_free +EXPORT_SYMBOL_GPL vmlinux 0xf2b33cb7 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xf2bb0a2f vp_modern_queue_vector +EXPORT_SYMBOL_GPL vmlinux 0xf2c60b18 irq_get_domain_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xf2ce8d06 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xf2d805e4 do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0xf2e6f35f param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0xf2ea1dc7 pm_clk_resume +EXPORT_SYMBOL_GPL vmlinux 0xf2f1ce4a power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0xf2f72f5c sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0xf2f7c4b0 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf2fb61bd vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0xf2fd15e2 serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0xf3031b28 extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf30a5502 cpufreq_enable_boost_support +EXPORT_SYMBOL_GPL vmlinux 0xf311e156 key_being_used_for +EXPORT_SYMBOL_GPL vmlinux 0xf31222bf mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0xf31632e0 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf32bdc5d unregister_xenstore_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf3313179 ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0xf343f118 trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0xf34c225d mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0xf352023f memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xf35cca48 debugfs_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0xf3797506 mpi_ec_deinit +EXPORT_SYMBOL_GPL vmlinux 0xf380879f mtk_clk_register_gates +EXPORT_SYMBOL_GPL vmlinux 0xf3808cb1 get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3b5bf8b fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0xf3b6e46c fork_usermode_driver +EXPORT_SYMBOL_GPL vmlinux 0xf3b95d79 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0xf3d90a7d xenbus_dev_remove +EXPORT_SYMBOL_GPL vmlinux 0xf3db0d18 dma_resv_get_fences +EXPORT_SYMBOL_GPL vmlinux 0xf3dbafd8 dpcon_reset +EXPORT_SYMBOL_GPL vmlinux 0xf3e9fd14 regmap_async_complete +EXPORT_SYMBOL_GPL vmlinux 0xf3ebc74a transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0xf3eca475 regulator_get_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xf3f2a1f2 perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0xf3f9408e devm_register_power_off_handler +EXPORT_SYMBOL_GPL vmlinux 0xf3ff545c sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0xf4031428 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0xf41184e3 virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0xf42a8549 __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0xf42ddff2 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0xf436e7b7 icc_set_tag +EXPORT_SYMBOL_GPL vmlinux 0xf440c4d7 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xf4689d50 linkmode_set_pause +EXPORT_SYMBOL_GPL vmlinux 0xf46a74d2 dma_async_device_channel_register +EXPORT_SYMBOL_GPL vmlinux 0xf46ab589 crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xf4707cf4 inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf47654df irq_check_status_bit +EXPORT_SYMBOL_GPL vmlinux 0xf4774581 __traceiter_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0xf4878517 dm_copy_name_and_uuid +EXPORT_SYMBOL_GPL vmlinux 0xf48e7cfc rio_mport_get_efb +EXPORT_SYMBOL_GPL vmlinux 0xf494d906 iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0xf4a00349 __tracepoint_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0xf4a09fe9 crypto_register_scomps +EXPORT_SYMBOL_GPL vmlinux 0xf4ac4c9f __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xf4af35c2 rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0xf4bfda49 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xf4cd9f8f reset_control_bulk_release +EXPORT_SYMBOL_GPL vmlinux 0xf4e6e2c9 devm_phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0xf501cb16 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0xf5032876 dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0xf5040197 devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf504b82f uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xf515821d phy_basic_features +EXPORT_SYMBOL_GPL vmlinux 0xf530a8d9 mtk_clk_register_plls +EXPORT_SYMBOL_GPL vmlinux 0xf542f3d2 dw_pcie_ep_reset_bar +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf54f5e68 meson_clk_cpu_dyndiv_ops +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf5785523 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0xf58753c0 regmap_mmio_detach_clk +EXPORT_SYMBOL_GPL vmlinux 0xf593b095 crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0xf595d63e serial8250_do_set_mctrl +EXPORT_SYMBOL_GPL vmlinux 0xf59dfe1f of_get_display_timing +EXPORT_SYMBOL_GPL vmlinux 0xf59e1fe4 dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0xf5a067bf iommu_group_dma_owner_claimed +EXPORT_SYMBOL_GPL vmlinux 0xf5a3ba99 linear_range_values_in_range +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5ac5f09 device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0xf5bd44c5 phy_configure +EXPORT_SYMBOL_GPL vmlinux 0xf5c073f6 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0xf5c36a9b acpi_pm_set_device_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xf5ca3bbc edac_device_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0xf5ddabc0 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xf5e1a77c trace_seq_putmem_hex +EXPORT_SYMBOL_GPL vmlinux 0xf5e8588c int_active_memcg +EXPORT_SYMBOL_GPL vmlinux 0xf5f370e0 async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0xf61c6b74 hv_do_hypercall +EXPORT_SYMBOL_GPL vmlinux 0xf63fe19b of_pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0xf64aaa25 alarm_init +EXPORT_SYMBOL_GPL vmlinux 0xf64c3b4c firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0xf65f831e i2c_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xf663ee2f pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0xf6687d5a phy_driver_is_genphy +EXPORT_SYMBOL_GPL vmlinux 0xf674fada crypto_wait_for_test +EXPORT_SYMBOL_GPL vmlinux 0xf6754797 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0xf68528db blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0xf68918e7 divider_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0xf68c2bc4 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0xf6924507 tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0xf69cabad ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xf6a28554 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0xf6a74b1d k3_udma_glue_rx_flow_init +EXPORT_SYMBOL_GPL vmlinux 0xf6b72e8f bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0xf6bc1ea8 sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0xf6beee37 __SCK__tp_func_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xf6c71a25 cper_severity_str +EXPORT_SYMBOL_GPL vmlinux 0xf6c8dc62 cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0xf6e772c3 irq_bypass_unregister_producer +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6f16c56 rcu_barrier_tasks +EXPORT_SYMBOL_GPL vmlinux 0xf6f84c90 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xf6f93665 __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0xf701cb75 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0xf70947df scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0xf70e4a4d preempt_schedule_notrace +EXPORT_SYMBOL_GPL vmlinux 0xf7154688 crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0xf72a65ea tty_get_char_size +EXPORT_SYMBOL_GPL vmlinux 0xf72cb0dd spi_mem_poll_status +EXPORT_SYMBOL_GPL vmlinux 0xf730fb4a qcom_smem_state_update_bits +EXPORT_SYMBOL_GPL vmlinux 0xf74247c0 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0xf744298f hv_unmap_memory +EXPORT_SYMBOL_GPL vmlinux 0xf7455c16 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xf749debc md5_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0xf74bb274 mod_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xf74e7c93 jump_label_rate_limit +EXPORT_SYMBOL_GPL vmlinux 0xf769a29b irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0xf7772bde xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0xf77b1e67 mtk_pinconf_bias_disable_set +EXPORT_SYMBOL_GPL vmlinux 0xf782fb07 percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0xf7866b4f bind_evtchn_to_irqhandler_lateeoi +EXPORT_SYMBOL_GPL vmlinux 0xf7a5f861 genphy_c45_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0xf7afb369 btree_init +EXPORT_SYMBOL_GPL vmlinux 0xf7b2f3b2 devm_clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf7bc95b0 devlink_fmsg_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xf7c3f273 xen_resume_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xf7c78118 genphy_c45_baset1_read_status +EXPORT_SYMBOL_GPL vmlinux 0xf7ce7968 xen_register_device_domain_owner +EXPORT_SYMBOL_GPL vmlinux 0xf7e1bdb5 skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0xf7e563c9 tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0xf7e71f06 of_k3_ringacc_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xf7e96bdc tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xf7f947be sysfs_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xf80f5fc7 __SCK__tp_func_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0xf812c21e sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xf81dce70 thermal_genl_cpu_capability_event +EXPORT_SYMBOL_GPL vmlinux 0xf82f3657 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf831c91d usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xf834b0aa ahci_handle_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xf8407ac9 rio_add_net +EXPORT_SYMBOL_GPL vmlinux 0xf842036d __imx8m_clk_hw_composite +EXPORT_SYMBOL_GPL vmlinux 0xf84dc0ac ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0xf852d746 __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0xf8540d8c sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0xf8578cf7 regulator_irq_helper +EXPORT_SYMBOL_GPL vmlinux 0xf857d1df tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0xf861bd31 rockchip_clk_register_ddrclk +EXPORT_SYMBOL_GPL vmlinux 0xf869dd81 gov_attr_set_init +EXPORT_SYMBOL_GPL vmlinux 0xf86b01e9 of_devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xf8783b43 sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0xf878a5a0 gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0xf87bc089 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0xf87cefd0 devm_ti_sci_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xf883bf93 crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0xf8943bf9 pinctrl_enable +EXPORT_SYMBOL_GPL vmlinux 0xf897b5b8 hv_setup_dma_ops +EXPORT_SYMBOL_GPL vmlinux 0xf8a692d3 da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xf8ae8da0 serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xf8c154d5 hisi_clk_register_phase +EXPORT_SYMBOL_GPL vmlinux 0xf8c26e1a usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0xf8c43e84 dma_free_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0xf8cd3864 xenbus_dev_changed +EXPORT_SYMBOL_GPL vmlinux 0xf8d0bd98 dmaengine_desc_get_metadata_ptr +EXPORT_SYMBOL_GPL vmlinux 0xf8d0d225 perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0xf8d45367 pcie_port_find_device +EXPORT_SYMBOL_GPL vmlinux 0xf8de4cd2 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf900c77d zynqmp_pm_clock_disable +EXPORT_SYMBOL_GPL vmlinux 0xf907ebab devm_regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xf9093f5b __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xf90f452e gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0xf91804b1 __clk_get_hw +EXPORT_SYMBOL_GPL vmlinux 0xf91b7fb6 skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xf9270651 blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0xf92f5672 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0xf939ae6c serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0xf93a9e70 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0xf950dd2d acpi_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0xf9511039 acpi_subsys_prepare +EXPORT_SYMBOL_GPL vmlinux 0xf95322f4 kthread_parkme +EXPORT_SYMBOL_GPL vmlinux 0xf955e9c5 bprintf +EXPORT_SYMBOL_GPL vmlinux 0xf960afe3 gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0xf9619706 page_cache_sync_ra +EXPORT_SYMBOL_GPL vmlinux 0xf964706c devres_add +EXPORT_SYMBOL_GPL vmlinux 0xf967422b HYPERVISOR_xen_version +EXPORT_SYMBOL_GPL vmlinux 0xf982d151 xen_unmap_domain_gfn_range +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9a3c5dc zynqmp_pm_load_pdi +EXPORT_SYMBOL_GPL vmlinux 0xf9b34a0b iopf_queue_free +EXPORT_SYMBOL_GPL vmlinux 0xf9be046f virtio_check_mem_acc_cb +EXPORT_SYMBOL_GPL vmlinux 0xf9cba4af clk_hw_rate_is_protected +EXPORT_SYMBOL_GPL vmlinux 0xf9cf857d iomap_read_folio +EXPORT_SYMBOL_GPL vmlinux 0xf9d26ea9 pinctrl_utils_reserve_map +EXPORT_SYMBOL_GPL vmlinux 0xf9e7cb4b __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0xfa0d315a regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa23bb5c component_release_of +EXPORT_SYMBOL_GPL vmlinux 0xfa2c13f2 devm_memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0xfa2f09fd devm_rtc_allocate_device +EXPORT_SYMBOL_GPL vmlinux 0xfa349688 aer_recover_queue +EXPORT_SYMBOL_GPL vmlinux 0xfa3f6d49 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xfa4163f1 i2c_detect_slave_mode +EXPORT_SYMBOL_GPL vmlinux 0xfa43cefc is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xfa4bb0b6 sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0xfa5bf7ad mmc_cmdq_enable +EXPORT_SYMBOL_GPL vmlinux 0xfa666974 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0xfa97ae39 of_irq_parse_and_map_pci +EXPORT_SYMBOL_GPL vmlinux 0xfa9d26a0 serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0xfaa0cb4f crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0xfaa41fde fscrypt_set_bio_crypt_ctx_bh +EXPORT_SYMBOL_GPL vmlinux 0xfaab48ed watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0xfaaf8621 power_supply_battery_bti_in_range +EXPORT_SYMBOL_GPL vmlinux 0xfab30dc0 mdio_bus_exit +EXPORT_SYMBOL_GPL vmlinux 0xfab53ed9 pinctrl_gpio_can_use_line +EXPORT_SYMBOL_GPL vmlinux 0xfabfc24a dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xfac03c66 of_get_required_opp_performance_state +EXPORT_SYMBOL_GPL vmlinux 0xfac2345d shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0xfad31993 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0xfad9c827 kill_dax +EXPORT_SYMBOL_GPL vmlinux 0xfafacba7 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xfb1b0493 ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xfb1f998d devfreq_cooling_em_register +EXPORT_SYMBOL_GPL vmlinux 0xfb297b24 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xfb2abfb3 phy_pm_runtime_put_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb6776a6 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfb6a0372 debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb8c5eea nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0xfb98e456 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0xfbaadb28 irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0xfbab8758 acct_bioset_exit +EXPORT_SYMBOL_GPL vmlinux 0xfbbd41ca no_action +EXPORT_SYMBOL_GPL vmlinux 0xfbd5c22a pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0xfbdf1516 strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0xfbe46637 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xfbeee816 kvm_clear_guest +EXPORT_SYMBOL_GPL vmlinux 0xfbffd601 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xfbffe51f device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xfc03a4ca proc_dou8vec_minmax +EXPORT_SYMBOL_GPL vmlinux 0xfc03d97a page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xfc14bb2e dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xfc1bcd23 list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0xfc1d7540 devm_rpi_firmware_get +EXPORT_SYMBOL_GPL vmlinux 0xfc201b66 sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0xfc207aa7 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xfc22ede1 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xfc254d15 gnttab_free_auto_xlat_frames +EXPORT_SYMBOL_GPL vmlinux 0xfc27983c tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0xfc35a8d9 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0xfc371802 pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0xfc3a789e devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0xfc3b4246 acpi_bus_update_power +EXPORT_SYMBOL_GPL vmlinux 0xfc3b4c34 meson_clk_pcie_pll_ops +EXPORT_SYMBOL_GPL vmlinux 0xfc45c974 devm_namespace_enable +EXPORT_SYMBOL_GPL vmlinux 0xfc45eea3 dma_get_slave_caps +EXPORT_SYMBOL_GPL vmlinux 0xfc464ebd netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0xfc4f5614 devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0xfc503457 netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0xfc59bfd3 perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0xfc805565 get_net_ns_by_id +EXPORT_SYMBOL_GPL vmlinux 0xfc81dfcf wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0xfc9477b5 zynqmp_pm_set_pll_frac_data +EXPORT_SYMBOL_GPL vmlinux 0xfca7f934 devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0xfcac09ca mmc_poll_for_busy +EXPORT_SYMBOL_GPL vmlinux 0xfcbfec70 add_memory_driver_managed +EXPORT_SYMBOL_GPL vmlinux 0xfcc1edd3 memory_block_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0xfcc8cf1a device_register +EXPORT_SYMBOL_GPL vmlinux 0xfcda7af7 mbox_chan_txdone +EXPORT_SYMBOL_GPL vmlinux 0xfcdd4351 bpf_offload_dev_netdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfcf20757 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xfcf569b3 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0xfcf9ef73 hw_protection_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xfcff55fd gnttab_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0xfd068326 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xfd195774 k3_udma_glue_disable_tx_chn +EXPORT_SYMBOL_GPL vmlinux 0xfd19c357 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0xfd28c7f5 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0xfd2c62ad devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0xfd369303 irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0xfd40d9c6 extcon_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfd4e907a fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0xfd5b1c72 devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0xfd5b8450 phy_check_downshift +EXPORT_SYMBOL_GPL vmlinux 0xfd5cf13c iopf_queue_remove_device +EXPORT_SYMBOL_GPL vmlinux 0xfd645837 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xfd6555fb xlnx_unregister_event +EXPORT_SYMBOL_GPL vmlinux 0xfd6608b6 pinconf_generic_dt_free_map +EXPORT_SYMBOL_GPL vmlinux 0xfd7243c7 erst_disable +EXPORT_SYMBOL_GPL vmlinux 0xfd99825f pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xfd9b3ba4 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0xfda35466 dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0xfdabba95 iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfdb8c315 auxiliary_device_init +EXPORT_SYMBOL_GPL vmlinux 0xfdba22c3 __traceiter_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xfdbd7a17 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xfdea2d04 alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0xfe02f027 balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0xfe0e7cd3 apei_exec_post_unmap_gars +EXPORT_SYMBOL_GPL vmlinux 0xfe193643 bio_poll +EXPORT_SYMBOL_GPL vmlinux 0xfe19dc28 vivaldi_function_row_physmap_show +EXPORT_SYMBOL_GPL vmlinux 0xfe1a7a7b mpi_point_release +EXPORT_SYMBOL_GPL vmlinux 0xfe294039 pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0xfe2a9fb9 __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0xfe3a6de3 alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xfe3b9f0f dev_pm_opp_get_suspend_opp_freq +EXPORT_SYMBOL_GPL vmlinux 0xfe46fad4 perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0xfe476039 ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe4bb802 pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0xfe5902ab alloc_dax +EXPORT_SYMBOL_GPL vmlinux 0xfe876044 gov_attr_set_put +EXPORT_SYMBOL_GPL vmlinux 0xfe8cdb84 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xfe978e6b pcc_mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfe99dad0 dtpm_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xfea9f36c hwpoison_filter +EXPORT_SYMBOL_GPL vmlinux 0xfeaad787 nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0xfeb33a7e scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0xfec048b5 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0xfec3bf84 icst_clk_setup +EXPORT_SYMBOL_GPL vmlinux 0xfecb176a kvm_destroy_vcpus +EXPORT_SYMBOL_GPL vmlinux 0xfed116a8 lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfed1f206 regmap_multi_reg_write_bypassed +EXPORT_SYMBOL_GPL vmlinux 0xfede9222 __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0xfeded765 device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0xfeeab454 cpuidle_register +EXPORT_SYMBOL_GPL vmlinux 0xfeeecd05 apei_read +EXPORT_SYMBOL_GPL vmlinux 0xfef62ae1 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfefcf59c regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff0e79c0 is_software_node +EXPORT_SYMBOL_GPL vmlinux 0xff1595f0 dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0xff1666f3 reset_control_bulk_assert +EXPORT_SYMBOL_GPL vmlinux 0xff1ce9d3 call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0xff215f7b edac_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0xff2659e7 ip6_input +EXPORT_SYMBOL_GPL vmlinux 0xff291ecf clk_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0xff2f3f9f ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xff400ef0 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0xff42c374 usb_role_switch_get_role +EXPORT_SYMBOL_GPL vmlinux 0xff577c33 devm_of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0xff59eb0f scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0xff5ac472 k3_ringacc_dmarings_init +EXPORT_SYMBOL_GPL vmlinux 0xff603f6c blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0xff6d70b8 fscrypt_parse_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xff7e33bf mpi_sub_ui +EXPORT_SYMBOL_GPL vmlinux 0xff806398 auxiliary_find_device +EXPORT_SYMBOL_GPL vmlinux 0xff81487d gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0xff82421b imx_pinctrl_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0xff89ca6f fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0xff8db3de pinctrl_pm_select_sleep_state +EXPORT_SYMBOL_GPL vmlinux 0xff9c46e8 extcon_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xff9e23d1 hugetlb_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xffae8e8b nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xffaecc5a fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0xffbb7b00 regmap_get_raw_write_max +EXPORT_SYMBOL_GPL vmlinux 0xffc86f14 __xas_next +EXPORT_SYMBOL_GPL vmlinux 0xffca7109 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0xffd55acb dma_mmap_noncontiguous +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0x07342898 unregister_firmware_config_sysctl vmlinux +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xae43feea register_firmware_config_sysctl vmlinux +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xd3ae7756 fw_fallback_config vmlinux +HWMON_THERMAL EXPORT_SYMBOL_GPL 0x0f7c792a hwmon_device_register_for_thermal vmlinux +IIO_AD5592R EXPORT_SYMBOL_GPL 0x23dfb9b0 ad5592r_remove drivers/iio/dac/ad5592r-base +IIO_AD5592R EXPORT_SYMBOL_GPL 0xd62b87f8 ad5592r_probe drivers/iio/dac/ad5592r-base +IIO_AD5686 EXPORT_SYMBOL_GPL 0x963c375e ad5686_remove drivers/iio/dac/ad5686 +IIO_AD5686 EXPORT_SYMBOL_GPL 0xbbca2cd6 ad5686_probe drivers/iio/dac/ad5686 +IIO_AD7091R EXPORT_SYMBOL_GPL 0xbf04783f ad7091r_probe drivers/iio/adc/ad7091r-base +IIO_AD7091R EXPORT_SYMBOL_GPL 0xeed2ec64 ad7091r_regmap_config drivers/iio/adc/ad7091r-base +IIO_AD7606 EXPORT_SYMBOL_GPL 0x9a4606ed ad7606_pm_ops drivers/iio/adc/ad7606 +IIO_AD7606 EXPORT_SYMBOL_GPL 0xebc64996 ad7606_probe drivers/iio/adc/ad7606 +IIO_ADISLIB EXPORT_SYMBOL 0x305a183c adis_debugfs_reg_access drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL 0x7627f381 __adis_enable_irq drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x3f52b5ac adis_update_scan_mode drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x57c8dedc __adis_check_status drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x60ba4aec adis_single_conversion drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x65f055d1 __adis_write_reg drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x9224e4c1 __adis_update_bits_base drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x92ec915c adis_init drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x99972c82 __adis_read_reg drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xa2a6223c __adis_initial_startup drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xbe0be365 devm_adis_setup_buffer_and_trigger drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xd94ff121 devm_adis_probe_trigger drivers/iio/imu/adis_lib +IIO_ADIS_LIB EXPORT_SYMBOL_GPL 0x10ca4def __adis_reset drivers/iio/imu/adis_lib +IIO_ADXL313 EXPORT_SYMBOL_GPL 0x8401eedc adxl313_readable_regs_table drivers/iio/accel/adxl313_core +IIO_ADXL313 EXPORT_SYMBOL_GPL 0x99b8bf4f adxl313_core_probe drivers/iio/accel/adxl313_core +IIO_ADXL313 EXPORT_SYMBOL_GPL 0xf6f7b9f3 adxl313_writable_regs_table drivers/iio/accel/adxl313_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0x6ff5403b adxl355_readable_regs_tbl drivers/iio/accel/adxl355_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0xb446fa86 adxl355_writeable_regs_tbl drivers/iio/accel/adxl355_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0xb9960d36 adxl355_core_probe drivers/iio/accel/adxl355_core +IIO_ADXL367 EXPORT_SYMBOL_GPL 0xbcd5e095 adxl367_probe drivers/iio/accel/adxl367 +IIO_ADXL372 EXPORT_SYMBOL_GPL 0xb772079f adxl372_probe drivers/iio/accel/adxl372 +IIO_ADXL372 EXPORT_SYMBOL_GPL 0xfad6cd2c adxl372_readable_noinc_reg drivers/iio/accel/adxl372 +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x0173bc58 ad_sd_write_reg drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x31ae1d96 ad_sd_init drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x57dd3cdc ad_sd_reset drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x608f3657 ad_sd_calibrate drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x72b78325 ad_sd_read_reg drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x74e228f2 ad_sd_set_comm drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x990e69eb ad_sd_validate_trigger drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xc9ec7dee devm_ad_sd_setup_buffer_and_trigger drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xe2e88f1d ad_sd_calibrate_all drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xebdef279 ad_sigma_delta_single_conversion drivers/iio/adc/ad_sigma_delta +IIO_BMA400 EXPORT_SYMBOL 0x82731d24 bma400_regmap_config drivers/iio/accel/bma400_core +IIO_BMA400 EXPORT_SYMBOL 0xc58f4a1c bma400_probe drivers/iio/accel/bma400_core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x5a1876e6 bmc150_accel_core_probe drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x691d89ce bmc150_accel_core_remove drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x775f814d bmc150_accel_pm_ops drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0xeeb1de5d bmc150_regmap_conf drivers/iio/accel/bmc150-accel-core +IIO_BMC150_MAGN EXPORT_SYMBOL 0x4ed0c33e bmc150_magn_regmap_config drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0x64395edf bmc150_magn_remove drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0xe903c9c9 bmc150_magn_pm_ops drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0xebd98f65 bmc150_magn_probe drivers/iio/magnetometer/bmc150_magn +IIO_BME680 EXPORT_SYMBOL 0xc0944864 bme680_regmap_config drivers/iio/chemical/bme680_core +IIO_BME680 EXPORT_SYMBOL_GPL 0x7743bc9a bme680_core_probe drivers/iio/chemical/bme680_core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x02050355 bmi088_accel_pm_ops drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x78b717c3 bmi088_accel_core_probe drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0xbc086255 bmi088_accel_core_remove drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0xcdbca8a7 bmi088_regmap_conf drivers/iio/accel/bmi088-accel-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x1b26a7d8 fxls8962af_spi_regmap_conf drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x384a3dfe fxls8962af_pm_ops drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x5756768f fxls8962af_core_probe drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0xb9f8331d fxls8962af_i2c_regmap_conf drivers/iio/accel/fxls8962af-core +IIO_HID EXPORT_SYMBOL 0x097ea0e5 hid_sensor_convert_timestamp drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x1163a48d hid_sensor_read_raw_hyst_rel_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x14733fa8 hid_sensor_power_state drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x17d0fab6 hid_sensor_read_raw_hyst_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x40071e44 hid_sensor_write_samp_freq_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x4834db5b hid_sensor_parse_common_attributes drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x649c17e4 hid_sensor_pm_ops drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x7f7621ec hid_sensor_format_scale drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x99e3cf44 hid_sensor_write_raw_hyst_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0xc39e9fbf hid_sensor_read_samp_freq_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0xc50f7a01 hid_sensor_remove_trigger drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0xcdde3efc hid_sensor_setup_trigger drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0xe8de9e6b hid_sensor_write_raw_hyst_rel_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x29c0e716 hid_sensor_batch_mode_supported drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x4257733f hid_sensor_set_report_latency drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0xc7bd66aa hid_sensor_get_report_latency drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0xefdbe7c5 hid_sensor_read_poll_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HMC5843 EXPORT_SYMBOL 0x07795083 hmc5843_common_suspend drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0x7cc9c108 hmc5843_common_resume drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0x84ab2a0f hmc5843_common_probe drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0xf9bcdb46 hmc5843_common_remove drivers/iio/magnetometer/hmc5843_core +IIO_KXSD9 EXPORT_SYMBOL 0x2fd74e09 kxsd9_common_probe drivers/iio/accel/kxsd9 +IIO_KXSD9 EXPORT_SYMBOL 0x3677e9f1 kxsd9_dev_pm_ops drivers/iio/accel/kxsd9 +IIO_KXSD9 EXPORT_SYMBOL 0xa3f9d749 kxsd9_common_remove drivers/iio/accel/kxsd9 +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x045688dd ms_sensors_read_prom_word drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x194d0dce ms_sensors_ht_read_temperature drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x2396a8d6 ms_sensors_tp_read_prom drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x2d2f5cd5 ms_sensors_reset drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x42b6a050 ms_sensors_convert_and_read drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x45a3d2ea ms_sensors_write_resolution drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x5da36071 ms_sensors_read_temp_and_pressure drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x767a4443 ms_sensors_show_battery_low drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x78ab336b ms_sensors_read_serial drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xc10206df ms_sensors_ht_read_humidity drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xe2dd6dc7 ms_sensors_write_heater drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xff33aa6c ms_sensors_show_heater drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x003893b4 mma7455_core_regmap drivers/iio/accel/mma7455_core +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x6a6e75be mma7455_core_remove drivers/iio/accel/mma7455_core +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x80092b26 mma7455_core_probe drivers/iio/accel/mma7455_core +IIO_MMA9551 EXPORT_SYMBOL 0x1347d1f4 mma9551_read_version drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x25c4856d mma9551_read_status_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x2d9f021f mma9551_gpio_config drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x41ef446c mma9551_read_accel_scale drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x44381e69 mma9551_read_status_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x6403c4a9 mma9551_write_config_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x67aca369 mma9551_read_config_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x68c581a9 mma9551_update_config_bits drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x73a54a72 mma9551_set_device_state drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x7bd57f17 mma9551_read_accel_chan drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x805acc61 mma9551_set_power_state drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x9c5fea5b mma9551_read_config_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xbb7bdbee mma9551_app_reset drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xbcd7fe96 mma9551_sleep drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xc5bac782 mma9551_read_config_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xd18555ac mma9551_read_status_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xe6c6667a mma9551_write_config_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xfb581b76 mma9551_write_config_byte drivers/iio/accel/mma9551_core +IIO_MPL115 EXPORT_SYMBOL_GPL 0x4d886dc1 mpl115_probe drivers/iio/pressure/mpl115 +IIO_MS5611 EXPORT_SYMBOL 0x5f53c64b ms5611_probe drivers/iio/pressure/ms5611_core +IIO_MS5611 EXPORT_SYMBOL 0xb4f97d6e ms5611_remove drivers/iio/pressure/ms5611_core +IIO_RM3100 EXPORT_SYMBOL_GPL 0x0a1424e0 rm3100_volatile_table drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0xa8247011 rm3100_common_probe drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0xaa911f08 rm3100_readable_table drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0xcc7209be rm3100_writable_table drivers/iio/magnetometer/rm3100-core +IIO_SCD30 EXPORT_SYMBOL 0x4e9dd25f scd30_probe drivers/iio/chemical/scd30_core +IIO_SCD30 EXPORT_SYMBOL 0xfd8fe6df scd30_pm_ops drivers/iio/chemical/scd30_core +IIO_SSP_SENSORS EXPORT_SYMBOL 0x117f33df ssp_disable_sensor drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x3af2cebe ssp_enable_sensor drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x594c8eed ssp_common_buffer_postdisable drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0x5e0f19cc ssp_register_consumer drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x834e9e12 ssp_common_buffer_postenable drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0x85bc02f2 ssp_common_process_data drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0x8d5d4c08 ssp_get_sensor_delay drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0xf9f90d83 ssp_change_delay drivers/iio/common/ssp_sensors/sensorhub +IIO_ST_SENSORS EXPORT_SYMBOL 0x074d7047 st_sensors_trigger_handler drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x0d0a1c8a st_sensors_spi_configure drivers/iio/common/st_sensors/st_sensors_spi +IIO_ST_SENSORS EXPORT_SYMBOL 0x166d2ab1 st_accel_common_probe drivers/iio/accel/st_accel +IIO_ST_SENSORS EXPORT_SYMBOL 0x16860831 st_magn_get_settings drivers/iio/magnetometer/st_magn +IIO_ST_SENSORS EXPORT_SYMBOL 0x190962e2 st_press_common_probe drivers/iio/pressure/st_pressure +IIO_ST_SENSORS EXPORT_SYMBOL 0x1a3254c3 st_magn_common_probe drivers/iio/magnetometer/st_magn +IIO_ST_SENSORS EXPORT_SYMBOL 0x46c97f52 st_sensors_validate_device drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x534e3c4a st_sensors_i2c_configure drivers/iio/common/st_sensors/st_sensors_i2c +IIO_ST_SENSORS EXPORT_SYMBOL 0x53ba9abf st_sensors_debugfs_reg_access drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x545375e0 st_sensors_allocate_trigger drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x5a8d24af st_sensors_dev_name_probe drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x6a790545 st_sensors_set_fullscale_by_gain drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x6df4ae8c st_sensors_sysfs_sampling_frequency_avail drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x74ea25ae st_sensors_get_settings_index drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7af64df7 st_sensors_power_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x8772c390 st_gyro_get_settings drivers/iio/gyro/st_gyro +IIO_ST_SENSORS EXPORT_SYMBOL 0x8a16bd99 st_sensors_read_info_raw drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x8ad4d7fc st_sensors_set_odr drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xc123baea st_accel_get_settings drivers/iio/accel/st_accel +IIO_ST_SENSORS EXPORT_SYMBOL 0xc74790a4 st_press_get_settings drivers/iio/pressure/st_pressure +IIO_ST_SENSORS EXPORT_SYMBOL 0xcc36ba34 st_sensors_set_dataready_irq drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xe0394f36 st_gyro_common_probe drivers/iio/gyro/st_gyro +IIO_ST_SENSORS EXPORT_SYMBOL 0xe45a8629 st_sensors_verify_id drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xe7b5a5df st_sensors_sysfs_scale_avail drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xeb80bdb0 st_sensors_init_sensor drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xf9524079 st_sensors_set_axis_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xfe550f97 st_sensors_set_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL_GPL 0xf7e0bca8 st_lsm9ds0_probe drivers/iio/imu/st_lsm9ds0/st_lsm9ds0 +IIO_UVIS25 EXPORT_SYMBOL 0x52115bcb st_uvis25_pm_ops drivers/iio/light/st_uvis25_core +IIO_UVIS25 EXPORT_SYMBOL 0x8b82b70d st_uvis25_probe drivers/iio/light/st_uvis25_core +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x4d03dbc4 zpa2326_pm_ops drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x5511fff3 zpa2326_remove drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x64804bf7 zpa2326_isreg_readable drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x8bfdce99 zpa2326_isreg_precious drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0xa050dd3c zpa2326_probe drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0xa7ec1670 zpa2326_isreg_writeable drivers/iio/pressure/zpa2326 +IWLWIFI EXPORT_SYMBOL_GPL 0x01ebb85e iwl_phy_db_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x08c2d37e __iwl_warn drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x0979f9c3 iwl_fw_runtime_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x0df8b649 iwl_fw_start_dbg_conf drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x125178ad iwl_init_paging drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1332e4de iwl_abort_notification_waits drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x133600f2 iwl_finish_nic_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x16bbeaf1 iwl_parse_nvm_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x178ab4de iwl_fw_dbg_collect_trig drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1d149965 iwl_opmode_register drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1de88d5f iwl_sar_get_wrds_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2247b5d2 _iwl_dbg_tlv_time_point drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x24abc0d0 __iwl_info drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2710c362 iwl_dump_desc_assert drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2b8d2a6a iwl_fw_dbg_error_collect drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2f135374 iwl_sar_get_ewrd_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x31f038aa iwl_acpi_get_wifi_pkg_range drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x35033c81 iwl_phy_db_free drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x37956b72 rs_pretty_print_rate drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3c08268d iwl_sar_geo_support drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3de1bdf3 iwl_parse_mei_nvm_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3eb4a0db iwl_fw_runtime_resume drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3f942ae1 iwl_acpi_get_ppag_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x408c185e iwl_configure_rxq drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x41028dce iwl_acpi_get_eckv drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x42a2fa2d iwl_acpi_get_dsm_u8 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x49e0135d iwl_new_rate_from_v1 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x4a247660 iwl_write_direct64 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x4ca634d5 iwl_fw_dbg_collect drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x4f8de388 iwl_read32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x4fe09c29 iwl_trans_send_cmd drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x52a98a6b iwl_read_ppag_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x53b68991 iwl_cmd_groups_verify_sorted drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5504d6ba iwl_write64 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x572f0100 iwl_uefi_get_sgom_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5988395c iwl_notification_wait_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5b9300ed iwl_poll_direct_bit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5c52e109 iwl_opmode_deregister drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x66fa38dd iwl_read_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6700b077 iwl_write_prph_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x67144797 iwl_get_cmd_string drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6a3310b0 iwl_free_fw_paging drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x70436710 iwl_acpi_get_dsm_u32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x71c25cfc iwl_set_soc_latency drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x728d2e6e iwl_clear_bits_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7349ec76 iwl_acpi_get_pwr_limit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x75bbc805 __iwl_dbg drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x75df26d7 iwl_set_bits_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x776221bf iwl_send_phy_db_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7876b37c iwl_poll_bit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x78971d7e iwl_he_is_sgi drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x78cc6a73 iwl_acpi_get_mcc drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x81824ff9 iwl_fw_dbg_read_d3_debug_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x828c6838 iwlwifi_mod_params drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x84bb50e1 iwl_rs_pretty_ant drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x874c77de iwl_fw_rate_idx_to_plcp drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x87fa1637 iwl_fw_dbg_stop_sync drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x8ab5c82a iwl_read_prph_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9038811a iwl_rfi_guid drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x914379fc iwl_acpi_get_object drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9617a23f iwl_write_prph64_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x96a0ee33 __iwl_err drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x96e2c2f7 iwl_fw_dbg_collect_desc drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x998f5df4 iwl_write_prph_delay drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9d127d66 iwl_read_external_nvm drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9d3a5b69 iwl_fw_dbg_stop_restart_recording drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xa280ca7b iwl_get_nvm drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xaec23e48 iwl_read_eeprom drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb1159962 iwl_fw_runtime_suspend drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb37b318c iwl_rs_pretty_bw drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb7d5ffb1 iwl_rate_mcs drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xbafc8994 iwl_wait_notification drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xbfdb4251 __iwl_crit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xc03f8982 iwl_parse_eeprom_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xc1b050a4 iwl_dbg_tlv_del_timers drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xc50b0138 iwl_sar_get_wgds_table drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xc6a33701 iwl_write_direct32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xca443db2 iwl_parse_nvm_mcc_info drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xce0c6460 iwl_phy_db_set_section drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xcfec98d0 iwl_acpi_get_tas drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xd1bcb861 iwl_force_nmi drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xd98397db iwl_write32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xdbacfeee iwl_fwrt_dump_error_logs drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xdc996e3f iwl_acpi_get_lari_config_bitmap drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe0eb5838 iwl_init_notification_wait drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe23fa330 iwl_acpi_is_ppag_approved drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe75b7e77 iwl_notification_wait drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe9d2a38a iwl_pnvm_load drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xea1b26fc iwl_nvm_fixups drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xec20a409 iwl_write8 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xed6edf81 iwl_get_shared_mem_conf drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xeeeb9f4e iwl_set_bits_mask_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xefa22ca2 iwl_sar_select_profile drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf049dce9 iwl_sar_geo_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf414797f iwl_read_direct32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf88964e4 iwl_remove_notification drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xfc1e6f41 iwl_guid drivers/net/wireless/intel/iwlwifi/iwlwifi +LTC2497 EXPORT_SYMBOL 0x11e5f291 ltc2497core_remove drivers/iio/adc/ltc2497-core +LTC2497 EXPORT_SYMBOL 0xa7b24e8f ltc2497core_probe drivers/iio/adc/ltc2497-core +MCB EXPORT_SYMBOL_GPL 0x2665a7c1 mcb_get_resource drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x275383eb mcb_unregister_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x3fb150d6 mcb_free_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x3fea8a86 mcb_request_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x47dbec8a mcb_alloc_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x48e2f091 mcb_device_register drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x623a65b7 chameleon_parse_cells drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7be61816 mcb_get_irq drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xa0b722cc mcb_bus_get drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xa3d2168b mcb_alloc_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xa4a12c05 mcb_bus_put drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xc8057552 __mcb_register_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xcd011fd7 mcb_bus_add_devices drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xeb2c8905 mcb_release_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xed911545 mcb_release_bus drivers/mcb/mcb +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x16c38519 nvme_find_get_ns drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x16d9fe73 nvme_ctrl_from_file drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x41894f09 nvme_passthru_end drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x8b697e70 nvme_put_ns drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0xa519f5c1 nvme_execute_passthru_rq drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0xc3cbdde0 nvme_command_effects drivers/nvme/host/nvme-core +PECI EXPORT_SYMBOL_GPL 0x00f60867 peci_xfer_ep_pci_cfg_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x0b0fc7e1 peci_request_status drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x0f262821 peci_xfer_pkg_cfg_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x26528316 peci_driver_unregister drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x3fbb810f peci_xfer_ep_pci_cfg_local_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x401d21bd peci_xfer_pkg_cfg_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x43f74b3a peci_xfer_ep_pci_cfg_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x4fa9fd6c peci_xfer_pci_cfg_local_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x527969eb peci_xfer_pci_cfg_local_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x5817289c peci_request_alloc drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x690baeee __peci_driver_register drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x6986d7e7 peci_request_free drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x6cacdbe5 peci_xfer_pkg_cfg_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x84eabf7c peci_xfer_get_dib drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x8634815c peci_request_data_readq drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x8dad1aae peci_xfer_ep_mmio32_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x94f628ef peci_xfer_pkg_cfg_readq drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x9d73212a peci_xfer_ep_pci_cfg_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xa23ea842 peci_xfer_ep_pci_cfg_local_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xa4616ebb peci_request_data_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xac92cc2f devm_peci_controller_add drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xadbf48a1 peci_request_data_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xb7392040 peci_xfer_get_temp drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xb9428232 peci_request_dib_read drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xcc6ee3fc peci_request_temp_read drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xd7cbed53 peci_request_data_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xe13feb1f peci_xfer_ep_pci_cfg_local_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xf4f3f705 peci_xfer_pci_cfg_local_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xf721e8ef peci_xfer_ep_mmio64_readl drivers/peci/peci +PECI_CPU EXPORT_SYMBOL_GPL 0x4860e1b8 peci_pcs_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x516ec2f9 peci_pci_local_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x7b3db855 peci_temp_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x9039d223 peci_mmio_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0xf9fe67d4 peci_ep_pci_local_read drivers/peci/peci-cpu +PMBUS EXPORT_SYMBOL_GPL 0x03b931af pmbus_get_fan_rate_device drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x21276efc pmbus_update_fan drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x2231fd9a pmbus_get_debugfs_dir drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x2e538b3d pmbus_clear_cache drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x2fc18848 pmbus_update_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x4b91c0a2 pmbus_set_update drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x5d55f00b pmbus_write_byte drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x67a92695 pmbus_clear_faults drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x6c9e938d pmbus_write_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x8ca6f2d2 pmbus_set_page drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xadbb5bd4 pmbus_read_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xaf8fec95 pmbus_do_probe drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xbd9c4fb2 pmbus_check_word_register drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xc810d926 pmbus_get_fan_rate_cached drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xd3ef518e pmbus_regulator_ops drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xec56fef4 pmbus_read_word_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xf4010fd9 pmbus_check_byte_register drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xff2668c1 pmbus_get_driver_info drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xff803e81 pmbus_write_word_data drivers/hwmon/pmbus/pmbus_core +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x04d1d380 sx_common_probe drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x130e62ad sx_common_read_proximity drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x36f4bf02 sx_common_write_event_config drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x3e1862e8 sx_common_read_event_config drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0xd07d0025 sx_common_events drivers/iio/proximity/sx_common +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0x2b707546 hda_cs_dsp_fw_ids sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0xab13b93b hda_cs_dsp_read_ctl sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0xbe44e036 hda_cs_dsp_control_add sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0xc88735d2 hda_cs_dsp_control_remove sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_CS_DSP_CONTROLS EXPORT_SYMBOL_GPL 0xd33e703e hda_cs_dsp_write_ctl sound/pci/hda/snd-hda-cs-dsp-ctls +SND_HDA_SCODEC_CS35L41 EXPORT_SYMBOL_GPL 0x047238d7 cs35l41_hda_pm_ops sound/pci/hda/snd-hda-scodec-cs35l41 +SND_HDA_SCODEC_CS35L41 EXPORT_SYMBOL_GPL 0x1d84af9a cs35l41_hda_probe sound/pci/hda/snd-hda-scodec-cs35l41 +SND_HDA_SCODEC_CS35L41 EXPORT_SYMBOL_GPL 0x6813dfbd cs35l41_hda_remove sound/pci/hda/snd-hda-scodec-cs35l41 +SND_INTEL_SOUNDWIRE_ACPI EXPORT_SYMBOL 0xbb4f9d1f sdw_intel_acpi_scan sound/hda/snd-intel-sdw-acpi +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0x032fe9b6 cs35l45_pm_ops sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0xdebc3e2d cs35l45_probe sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0xf4c17051 cs35l45_remove sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x3431c8ad cs35l45_get_clk_freq_id sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0xa916e18a cs35l45_i2c_regmap sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0xea2e20c6 cs35l45_spi_regmap sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0xfff1006a cs35l45_apply_patch sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_SOF_XTENSA EXPORT_SYMBOL 0x9d9003e5 sof_xtensa_arch_ops sound/soc/sof/xtensa/snd-sof-xtensa-dsp +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x38127990 sdw_intel_process_wakeen_event drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x45a5b8e8 sdw_intel_startup drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0x5af438eb sdw_intel_enable_irq drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0xaa52eba1 sdw_intel_thread drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0xbb967567 sdw_intel_probe drivers/soundwire/soundwire-intel +SOUNDWIRE_INTEL_INIT EXPORT_SYMBOL 0xdb07d299 sdw_intel_exit drivers/soundwire/soundwire-intel +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x0393545e dw_spi_check_status drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x1349309a dw_spi_update_config drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x2930fde3 dw_spi_set_cs drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x3ad6528b dw_spi_dma_setup_generic drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x75e5710f dw_spi_add_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x9b4814b5 dw_spi_dma_setup_mfld drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0xa40f6b5a dw_spi_resume_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0xb2a6aec9 dw_spi_remove_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0xe5a4dbe0 dw_spi_suspend_host drivers/spi/spi-dw +SUNXI_CCU EXPORT_SYMBOL_GPL 0x0a9821bf ccu_pll_notifier_register vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x19212eb4 ccu_mux_helper_determine_rate vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x215acb3b ccu_frac_helper_disable vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x33527173 ccu_mux_helper_set_parent vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x34a796c2 ccu_nm_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x376eebe1 ccu_frac_helper_has_rate vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x3cca3c4e ccu_gate_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x5087807a ccu_frac_helper_read_rate vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x553cf6ba ccu_sdm_helper_read_rate vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x60e84cc1 ccu_sdm_helper_is_enabled vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x66ae640a ccu_mux_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x67b4f375 ccu_sdm_helper_enable vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x83c753fd ccu_mux_helper_apply_prediv vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x87fcecc6 ccu_sdm_helper_disable vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x8cdb1752 ccu_nkm_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x8d7438cc ccu_gate_helper_is_enabled vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x98224ec7 ccu_reset_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x9a7239d2 ccu_frac_helper_is_enabled vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0x9c8ffe02 ccu_helper_wait_for_lock vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xa0f4dce8 ccu_nkmp_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xba079d1a ccu_mp_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xbb6e851f ccu_mp_mmc_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xbedab8d5 ccu_phase_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xc2378215 ccu_frac_helper_set_rate vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xcdae8a96 ccu_mult_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xd35244af ccu_sdm_helper_has_rate vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xd7ee688c ccu_gate_helper_enable vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xdc3ef86e ccu_mux_helper_get_parent vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xde8a0571 ccu_mux_notifier_register vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xdee13cf4 ccu_frac_helper_enable vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xe2fe75df ccu_nk_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xe395e8eb ccu_div_ops vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xeca4e8ed ccu_gate_helper_disable vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xf1d63af5 ccu_sdm_helper_get_factors vmlinux +SUNXI_CCU EXPORT_SYMBOL_GPL 0xf9946999 devm_sunxi_ccu_probe vmlinux +TEST_FIRMWARE EXPORT_SYMBOL_GPL 0x3dce036c firmware_request_builtin vmlinux +USB_STORAGE EXPORT_SYMBOL_GPL 0x0d8570f3 usb_stor_transparent_scsi_command drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x12f0afdf usb_stor_post_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x137dfdf3 usb_stor_CB_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x1bc3edc2 usb_stor_sense_invalidCDB drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x22777826 usb_stor_CB_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x3fde369f usb_stor_Bulk_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x414b6e6c usb_stor_pre_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x52ce754b usb_stor_reset_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5d298301 usb_stor_bulk_transfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5faba9f7 usb_stor_clear_halt drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x63d15e50 usb_stor_ctrl_transfer drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7726ba80 usb_stor_Bulk_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x9334236a usb_stor_set_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x9446bdcb usb_stor_host_template_init drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xa5253d33 usb_stor_probe2 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xb26ee06b usb_stor_probe1 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xcbd38790 usb_stor_suspend drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xcc78d1a0 usb_stor_disconnect drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xcf877e02 usb_stor_access_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xd6e9808d usb_stor_bulk_transfer_sg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xe84bb835 usb_stor_adjust_quirks drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xe9a6dd4b fill_inquiry_response drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xfaae7dd5 usb_stor_control_msg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xfc4711dd usb_stor_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xfd5e8bec usb_stor_bulk_srb drivers/usb/storage/usb-storage --- linux-gcp-5.19.0.orig/debian.master/abi/arm64/generic-64k.compiler +++ linux-gcp-5.19.0/debian.master/abi/arm64/generic-64k.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 12.2.0-3ubuntu1) 12.2.0 --- linux-gcp-5.19.0.orig/debian.master/abi/arm64/generic-64k.modules +++ linux-gcp-5.19.0/debian.master/abi/arm64/generic-64k.modules @@ -0,0 +1,7184 @@ +3c59x +3w-9xxx +3w-sas +3w-xxxx +6lowpan +6pack +8021q +8139cp +8139too +8250_aspeed_vuart +8250_bcm7271 +8250_exar +8250_men_mcb +8250_pericom +8255 +8255_pci +8390 +842 +842_compress +842_decompress +88pg86x +88pm800 +88pm800-regulator +88pm805 +88pm80x +88pm80x_onkey +88pm8607 +88pm860x-ts +88pm860x_battery +88pm860x_bl +88pm860x_charger +88pm860x_onkey +9p +9pnet +9pnet_fd +9pnet_rdma +9pnet_virtio +9pnet_xen +a100u2w +a3d +a53-pll +a7-pll +a8293 +aacraid +aat2870-regulator +aat2870_bl +abp060mg +ac97_bus +acard-ahci +acecad +acenic +acp_audio_dma +acpi-als +acpi_configfs +acpi_ipmi +acpi_power_meter +acpi_tad +acpiphp_ibm +act8865-regulator +act8945a +act8945a-regulator +act8945a_charger +act_bpf +act_connmark +act_csum +act_ct +act_ctinfo +act_gact +act_gate +act_ipt +act_mirred +act_mpls +act_nat +act_pedit +act_police +act_sample +act_simple +act_skbedit +act_skbmod +act_tunnel_key +act_vlan +ad2s1200 +ad2s1210 +ad2s90 +ad3552r +ad5064 +ad5110 +ad525x_dpot +ad525x_dpot-i2c +ad525x_dpot-spi +ad5272 +ad5360 +ad5380 +ad5398 +ad5421 +ad5446 +ad5449 +ad5504 +ad5592r +ad5592r-base +ad5593r +ad5624r_spi +ad5686 +ad5686-spi +ad5696-i2c +ad5755 +ad5758 +ad5761 +ad5764 +ad5766 +ad5770r +ad5791 +ad5820 +ad5933 +ad7091r-base +ad7091r5 +ad7124 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7192 +ad7266 +ad7280a +ad7291 +ad7292 +ad7293 +ad7298 +ad7303 +ad7314 +ad7414 +ad7418 +ad74413r +ad7476 +ad7606 +ad7606_par +ad7606_spi +ad7746 +ad7766 +ad7768-1 +ad7780 +ad7791 +ad7793 +ad7816 +ad7877 +ad7879 +ad7879-i2c +ad7879-spi +ad7887 +ad7923 +ad7949 +ad799x +ad8366 +ad8801 +ad9389b +ad9467 +ad9523 +ad9832 +ad9834 +ad_sigma_delta +ada4250 +adc-joystick +adc-keys +adc128d818 +adcxx +addi_apci_1032 +addi_apci_1500 +addi_apci_1516 +addi_apci_1564 +addi_apci_16xx +addi_apci_2032 +addi_apci_2200 +addi_apci_3120 +addi_apci_3501 +addi_apci_3xxx +addi_watchdog +ade7854 +ade7854-i2c +ade7854-spi +adf4350 +adf4371 +adf7242 +adfs +adi +adi-axi-adc +adiantum +adin +adin1100 +adis16080 +adis16130 +adis16136 +adis16201 +adis16203 +adis16209 +adis16240 +adis16260 +adis16400 +adis16460 +adis16475 +adis16480 +adis_lib +adjd_s311 +adl_pci6208 +adl_pci7x3x +adl_pci8164 +adl_pci9111 +adl_pci9118 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm1177 +adm1266 +adm1275 +adm8211 +adm9240 +admv1013 +admv1014 +admv4420 +admv8818 +adp1653 +adp5061 +adp5520-keys +adp5520_bl +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +adq12b +adrf6780 +ads7828 +ads7846 +ads7871 +adt7310 +adt7316 +adt7316-i2c +adt7316-spi +adt7410 +adt7411 +adt7462 +adt7470 +adt7475 +adt7x10 +adummy +adutux +adux1020 +adv7170 +adv7175 +adv7180 +adv7183 +adv7343 +adv7393 +adv748x +adv7511 +adv7604 +adv7842 +adv_pci1710 +adv_pci1720 +adv_pci1723 +adv_pci1724 +adv_pci1760 +adv_pci_dio +advansys +adxl313_core +adxl313_i2c +adxl313_spi +adxl34x +adxl34x-i2c +adxl34x-spi +adxl355_core +adxl355_i2c +adxl355_spi +adxl367 +adxl367_i2c +adxl367_spi +adxl372 +adxl372_i2c +adxl372_spi +adxrs290 +adxrs450 +aegis128 +aes-arm64 +aes-ce-blk +aes-ce-ccm +aes-ce-cipher +aes-neon-blk +aes-neon-bs +aes_ti +af9013 +af9033 +af_alg +af_key +af_packet_diag +afe4403 +afe4404 +affs +afs +ah4 +ah6 +ahci +ahci_brcm +ahci_ceva +ahci_mtk +ahci_mvebu +ahci_platform +ahci_qoriq +ahci_seattle +ahci_tegra +ahci_xgene +aht10 +aic79xx +aic7xxx +aic94xx +aio_aio12_8 +aio_iiro_16 +aiptek +aircable +airspy +ak7375 +ak881x +ak8974 +ak8975 +al3010 +al3320a +alcor +alcor_pci +algif_aead +algif_hash +algif_rng +algif_skcipher +alim7101_wdt +allegro +altera-ci +altera-cvp +altera-fpga2sdram +altera-freeze-bridge +altera-hps2fpga +altera-msgdma +altera-pr-ip-core +altera-pr-ip-core-plat +altera-ps-spi +altera-stapl +altera_jtaguart +altera_ps2 +altera_tse +altera_uart +alx +am2315 +am53c974 +am65-cpts +amba-clcd +amba-pl010 +ambakmi +amc6821 +amd +amd-xgbe +amd5536udc_pci +amd8111e +amdgpu +amlogic-gxl-crypto +amlogic_thermal +amphion-vpu +amplc_dio200 +amplc_dio200_common +amplc_dio200_pci +amplc_pc236 +amplc_pc236_common +amplc_pc263 +amplc_pci224 +amplc_pci230 +amplc_pci236 +amplc_pci263 +ams-iaq-core +ams369fg06 +amt +analog +analogix-anx6345 +analogix-anx78xx +analogix_dp +anatop-regulator +ansi_cprng +anx7625 +anybuss_core +ao-cec +ao-cec-g12a +aoe +apbps2 +apcs-msm8916 +apcs-sdx55 +apds9300 +apds9802als +apds990x +apds9960 +apple-dart +apple-mailbox +apple-mfi-fastcharge +apple-rtkit +apple-sart +apple_wdt +appledisplay +appletalk +appletouch +applicom +apr +apss-ipq-pll +apss-ipq6018 +aptina-pll +aqc111 +aquacomputer_d5next +aquantia +ar1021_i2c +ar5523 +ar7part +ar9331 +arasan-nand-controller +arc-rawmode +arc-rimi +arc_emac +arc_ps2 +arc_uart +arcmsr +arcnet +arcpgu +arcx-anybus +arcxcnn_bl +arizona +arizona-haptics +arizona-i2c +arizona-ldo1 +arizona-micsupp +arizona-spi +ark3116 +arkfb +arm-cmn +arm_dmc620_pmu +arm_dsu_pmu +arm_mhu +arm_mhu_db +arm_mhuv2 +arm_scpi +arm_smc_wdt +arm_smccc_trng +arm_smmuv3_pmu +arm_spe_pmu +armada-37xx-cpufreq +armada-37xx-rwtm-mailbox +armada-8k-cpufreq +armada_37xx_wdt +arp_tables +arpt_mangle +arptable_filter +as102_fe +as370-hwmon +as3711-regulator +as3711_bl +as3722-regulator +as3935 +as5011 +as73211 +asc7621 +ascot2e +asix +aspeed-pwm-tacho +aspeed-video +ast +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +at803x +at86rf230 +ata_generic +ata_piix +atbm8830 +atc260x-core +atc260x-i2c +atc260x-onkey +atc260x-poweroff +atc260x-regulator +aten +ath +ath10k_core +ath10k_pci +ath10k_sdio +ath10k_snoc +ath10k_usb +ath11k +ath11k_ahb +ath11k_pci +ath3k +ath5k +ath6kl_core +ath6kl_sdio +ath6kl_usb +ath9k +ath9k_common +ath9k_htc +ath9k_hw +ath9k_pci_owl_loader +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atlantic +atlas-ezo-sensor +atlas-sensor +atm +atmel +atmel-ecc +atmel-flexcom +atmel-hlcdc +atmel-i2c +atmel-sha204a +atmel_captouch +atmel_mxt_ts +atmel_pci +atmtcp +atp870u +atusb +atxp1 +aty128fb +atyfb +au0828 +au8522_common +au8522_decoder +au8522_dig +auo-pixcir-ts +auth_rpcgss +authenc +authencesn +autofs4 +avmfritz +ax25 +ax88179_178a +ax88796b +ax88796c +axg-audio +axi-fan-control +axis-fifo +axp20x +axp20x-i2c +axp20x-pek +axp20x-regulator +axp20x-rsb +axp20x_ac_power +axp20x_adc +axp20x_battery +axp20x_usb_power +axp288_adc +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b43 +b43legacy +b44 +b53_common +b53_mdio +b53_mmap +b53_serdes +b53_spi +b53_srab +ba431-rng +bam_dma +bareudp +batman-adv +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcache +bch +bcm-flexrm-mailbox +bcm-keypad +bcm-pdc-mailbox +bcm-phy-lib +bcm-sba-raid +bcm-sf2 +bcm203x +bcm2711_thermal +bcm2835 +bcm2835-mmal-vchiq +bcm2835-rng +bcm2835-v4l2 +bcm2835_thermal +bcm2835_wdt +bcm3510 +bcm4908_enet +bcm54140 +bcm590xx +bcm590xx-regulator +bcm5974 +bcm63138_nand +bcm6368_nand +bcm63xx_uart +bcm7038_wdt +bcm7xxx +bcm87xx +bcm_crypto_spu +bcm_iproc_adc +bcm_iproc_tsc +bcm_vk +bcma +bcma-hcd +bcmsysport +bd6107 +bd71815-regulator +bd71828-regulator +bd718x7-regulator +bd9571mwv +bd9571mwv-regulator +bd9576-regulator +bd9576_wdt +bd99954-charger +bdc +be2iscsi +be2net +befs +bel-pfe +belkin_sa +berlin2-adc +bfa +bfq +bfs +bfusb +bh1750 +bh1770glc +bh1780 +binder_linux +binfmt_misc +blake2b_generic +block2mtd +blocklayoutdriver +blowfish_common +blowfish_generic +bluefield_edac +bluetooth +bluetooth_6lowpan +bma150 +bma220_spi +bma400_core +bma400_i2c +bma400_spi +bman-test +bmc150-accel-core +bmc150-accel-i2c +bmc150-accel-spi +bmc150_magn +bmc150_magn_i2c +bmc150_magn_spi +bme680_core +bme680_i2c +bme680_spi +bmg160_core +bmg160_i2c +bmg160_spi +bmi088-accel-core +bmi088-accel-spi +bmi160_core +bmi160_i2c +bmi160_spi +bmp280 +bmp280-i2c +bmp280-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bnxt_en +bnxt_re +bochs +bonding +bpa-rs600 +bpa10x +bpck +bpfilter +bpqether +bq2415x_charger +bq24190_charger +bq24257_charger +bq24735-charger +bq2515x_charger +bq256xx_charger +bq25890_charger +bq25980_charger +bq27xxx_battery +bq27xxx_battery_hdq +bq27xxx_battery_i2c +br2684 +br_netfilter +brcmfmac +brcmnand +brcmsmac +brcmstb-avs-cpufreq +brcmstb-usb-pinmap +brcmstb_nand +brcmstb_thermal +brcmutil +brd +bridge +broadcom +bsd_comp +bt819 +bt856 +bt866 +bt878 +btbcm +btcoexist +btintel +btmrvl +btmrvl_sdio +btmtk +btmtksdio +btmtkuart +btqca +btqcomsmd +btrfs +btrsi +btrtl +btsdio +bttv +btusb +bu21013_ts +bu21029_ts +budget +budget-av +budget-ci +budget-core +budget-patch +c67x00 +c6xdigio +c_can +c_can_pci +c_can_platform +ca8210 +caam +caam_jr +caamalg_desc +caamhash_desc +cachefiles +cadence-nand-controller +cadence_wdt +cafe_ccic +cafe_nand +caif +caif_serial +caif_socket +caif_usb +caif_virtio +camcc-sc7180 +camcc-sc7280 +camcc-sdm845 +camcc-sm8250 +camellia_generic +can +can-bcm +can-dev +can-gw +can-isotp +can-j1939 +can-raw +cap11xx +capmode +capsule-loader +carl9170 +carminefb +cassini +cast5_generic +cast6_generic +cast_common +catc +cavium-rng +cavium-rng-vf +cavium_ptp +cb710 +cb710-mmc +cb_pcidas +cb_pcidas64 +cb_pcidda +cb_pcimdas +cb_pcimdda +cc10001_adc +cc2520 +cc770 +cc770_isa +cc770_platform +ccm +ccp +ccp-crypto +ccree +ccs +ccs-pll +ccs811 +cctrng +cdc-acm +cdc-phonet +cdc-wdm +cdc_eem +cdc_ether +cdc_mbim +cdc_ncm +cdc_subset +cdns-csi2rx +cdns-csi2tx +cdns-dphy +cdns-dphy-rx +cdns-dsi +cdns-mhdp8546 +cdns-pltfrm +cdns-usb-common +cdns3 +cdns3-imx +cdns3-pci-wrap +cdns3-ti +cdnsp-udc-pci +cec +cec-gpio +ceph +cfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch +ch341 +ch7006 +ch7322 +ch9200 +ch_ipsec +ch_ktls +chacha-neon +chacha20poly1305 +chacha_generic +chaoskey +charlcd +chcr +chipone-icn6211 +chipone_icn8318 +chipone_icn8505 +chipreg +chnl_net +chromeos_acpi +chromeos_privacy_screen +chromeos_tbmc +chrontel-ch7033 +ci_hdrc +ci_hdrc_imx +ci_hdrc_msm +ci_hdrc_pci +ci_hdrc_tegra +ci_hdrc_usb2 +cicada +cifs +cifs_arc4 +cifs_md4 +cirrus +cirrusfb +clip +clk-apple-nco +clk-axi-clkgen +clk-bcm2711-dvp +clk-bd718x7 +clk-cdce706 +clk-cdce925 +clk-cpu-8996 +clk-cs2000-cp +clk-fsl-flexspi +clk-hi3519 +clk-hi655x +clk-imx8ulp +clk-imx93 +clk-lmk04832 +clk-lochnagar +clk-max77686 +clk-max9485 +clk-palmas +clk-phase +clk-plldig +clk-pwm +clk-qcom +clk-raspberrypi +clk-renesas-pcie +clk-rk808 +clk-rpm +clk-rpmh +clk-s2mps11 +clk-scmi +clk-scpi +clk-si514 +clk-si5341 +clk-si5351 +clk-si544 +clk-si570 +clk-smd-rpm +clk-spmi-pmic-div +clk-sprd +clk-twl6040 +clk-versaclock5 +clk-wm831x +clk-xlnx-clock-wizard +cls_basic +cls_bpf +cls_cgroup +cls_flow +cls_flower +cls_fw +cls_matchall +cls_route +cls_rsvp +cls_rsvp6 +cls_u32 +cm109 +cm32181 +cm3232 +cm3323 +cm3605 +cm36651 +cma3000_d0x +cma3000_d0x_i2c +cmac +cmdlinepart +cmtp +cn10k-rng +cnic +cobra +coda +coda-vpu +colibri-vf50-ts +com20020 +com20020-pci +com90io +com90xx +comedi +comedi_8254 +comedi_8255 +comedi_bond +comedi_example_test +comedi_parport +comedi_pci +comedi_test +comedi_usb +comm +contec_pci_dio +cordic +core +corsair-cpro +corsair-psu +cortina +counter +cp210x +cpcap-adc +cpcap-battery +cpcap-charger +cpcap-pwrbutton +cpcap-regulator +cpia2 +cppc_cpufreq +cpr +cptpf +cptvf +cqhci +cramfs +crc-itu-t +crc32_generic +crc4 +crc7 +crct10dif-ce +crg-hi3516cv300 +crg-hi3798cv200 +cros-ec-anx7688 +cros-ec-cec +cros-ec-regulator +cros-ec-sensorhub +cros_ec +cros_ec_accel_legacy +cros_ec_baro +cros_ec_chardev +cros_ec_debugfs +cros_ec_dev +cros_ec_i2c +cros_ec_keyb +cros_ec_lid_angle +cros_ec_light_prox +cros_ec_lightbar +cros_ec_mkbp_proximity +cros_ec_rpmsg +cros_ec_sensors +cros_ec_sensors_core +cros_ec_spi +cros_ec_sysfs +cros_ec_typec +cros_ec_vbc +cros_kbd_led_backlight +cros_peripheral_charger +cros_usbpd-charger +cros_usbpd_logger +cros_usbpd_notify +cryptd +crypto_engine +crypto_safexcel +crypto_user +cs3308 +cs5345 +cs53l32a +cs_dsp +csiostor +ctucanfd +ctucanfd_pci +ctucanfd_platform +curve25519-generic +cuse +cw1200_core +cw1200_wlan_sdio +cw1200_wlan_spi +cw2015_battery +cx18 +cx18-alsa +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24117 +cx24120 +cx24123 +cx25821 +cx25821-alsa +cx25840 +cx82310_eth +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx8800 +cx8802 +cx88xx +cxacru +cxd2099 +cxd2820r +cxd2841er +cxd2880 +cxd2880-spi +cxgb +cxgb3 +cxgb3i +cxgb4 +cxgb4i +cxgb4vf +cxgbit +cxl_acpi +cxl_core +cxl_mem +cxl_pci +cxl_pmem +cxl_port +cy8ctma140 +cy8ctmg110_ts +cyapatp +cyber2000fb +cyberjack +cypress-sf +cypress_cy7c63 +cypress_firmware +cypress_m8 +cytherm +cyttsp4_core +cyttsp4_i2c +cyttsp4_spi +cyttsp_core +cyttsp_i2c +cyttsp_i2c_common +cyttsp_spi +da280 +da311 +da7280 +da9030_battery +da9034-ts +da903x-regulator +da903x_bl +da9052-battery +da9052-hwmon +da9052-regulator +da9052_bl +da9052_onkey +da9052_tsi +da9052_wdt +da9055-hwmon +da9055-regulator +da9055_onkey +da9055_wdt +da9062-core +da9062-regulator +da9062-thermal +da9062_wdt +da9063-regulator +da9063_onkey +da9063_wdt +da9121-regulator +da9150-charger +da9150-core +da9150-fg +da9150-gpadc +da9210-regulator +da9211-regulator +dac02 +daqboard2000 +das08 +das08_isa +das08_pci +das16 +das16m1 +das1800 +das6402 +das800 +davicom +dax_hmem +dax_pmem +db9 +dc395x +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +ddbridge +ddbridge-dummy-fe +de2104x +decnet +defxx +delta-ahe50dc-fan +denali +denali_dt +denali_pci +des_generic +designware_i2s +device_dax +dfl +dfl-afu +dfl-emif +dfl-fme +dfl-fme-br +dfl-fme-mgr +dfl-fme-region +dfl-n3000-nios +dfl-pci +dht11 +diag +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +digicolor-usart +diskonchip +dispcc-qcm2290 +dispcc-sc7180 +dispcc-sc7280 +dispcc-sdm845 +dispcc-sm6125 +dispcc-sm6350 +dispcc-sm8250 +display-connector +dl2k +dlhl60d +dlink-dir685-touchkeys +dlm +dln2 +dln2-adc +dm-bio-prison +dm-bufio +dm-cache +dm-cache-smq +dm-clone +dm-crypt +dm-delay +dm-ebs +dm-era +dm-flakey +dm-historical-service-time +dm-integrity +dm-io-affinity +dm-log +dm-log-userspace +dm-log-writes +dm-mirror +dm-multipath +dm-persistent-data +dm-queue-length +dm-raid +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dm-switch +dm-thin-pool +dm-unstripe +dm-verity +dm-writecache +dm-zero +dm-zoned +dm1105 +dm9601 +dma-axi-dmac +dmard06 +dmard09 +dmard10 +dmc520_edac +dme1737 +dmfe +dmi-sysfs +dmm32at +dmx3191d +dn_rtmsg +dnet +dp83640 +dp83822 +dp83848 +dp83867 +dp83869 +dp83tc811 +dp83td510 +dpaa2-console +dpaa2-qdma +dpaa2_caam +dpdmai +dpot-dac +dps310 +dps920ab +drbd +drivetemp +drm +drm_cma_helper +drm_display_helper +drm_dp_aux_bus +drm_kms_helper +drm_mipi_dbi +drm_shmem_helper +drm_ttm_helper +drm_vram_helper +drm_xen_front +drv260x +drv2665 +drv2667 +drx39xyj +drxd +drxk +ds1621 +ds1682 +ds1803 +ds1wm +ds2482 +ds2490 +ds2760_battery +ds2780_battery +ds2781_battery +ds2782_battery +ds3000 +ds4424 +ds620 +dsa_core +dsbr100 +dst +dst_ca +dstr +dt2801 +dt2811 +dt2814 +dt2815 +dt2817 +dt282x +dt3000 +dt3155 +dt9812 +dtpm +dummy +dummy-irq +dummy_stm +dvb-as102 +dvb-bt8xx +dvb-core +dvb-pll +dvb-ttpci +dvb-ttusb-budget +dvb-usb +dvb-usb-a800 +dvb-usb-af9005 +dvb-usb-af9005-remote +dvb-usb-af9015 +dvb-usb-af9035 +dvb-usb-anysee +dvb-usb-au6610 +dvb-usb-az6007 +dvb-usb-az6027 +dvb-usb-ce6230 +dvb-usb-cinergyT2 +dvb-usb-cxusb +dvb-usb-dib0700 +dvb-usb-dibusb-common +dvb-usb-dibusb-mb +dvb-usb-dibusb-mc +dvb-usb-dibusb-mc-common +dvb-usb-digitv +dvb-usb-dtt200u +dvb-usb-dtv5100 +dvb-usb-dvbsky +dvb-usb-dw2102 +dvb-usb-ec168 +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-lmedm04 +dvb-usb-m920x +dvb-usb-mxl111sf +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-pctv452e +dvb-usb-rtl28xxu +dvb-usb-technisat-usb2 +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +dvb_dummy_fe +dvb_usb_v2 +dw-axi-dmac-platform +dw-edma +dw-edma-pcie +dw-hdmi +dw-hdmi-ahb-audio +dw-hdmi-cec +dw-hdmi-gp-audio +dw-hdmi-i2s-audio +dw-i3c-master +dw-mipi-dsi +dw-xdata-pcie +dw9714 +dw9768 +dw9807-vcm +dw_dmac +dw_dmac_core +dw_dmac_pci +dw_drm_dsi +dw_mmc +dw_mmc-bluefield +dw_mmc-exynos +dw_mmc-hi3798cv200 +dw_mmc-k3 +dw_mmc-pci +dw_mmc-pltfm +dw_mmc-rockchip +dw_wdt +dwc-xlgmac +dwc2_pci +dwc3 +dwc3-am62 +dwc3-haps +dwc3-imx8mp +dwc3-keystone +dwc3-meson-g12a +dwc3-of-simple +dwc3-pci +dwc3-qcom +dwc3-xilinx +dwmac-altr-socfpga +dwmac-dwc-qos-eth +dwmac-generic +dwmac-imx +dwmac-intel-plat +dwmac-ipq806x +dwmac-loongson +dwmac-mediatek +dwmac-meson +dwmac-meson8b +dwmac-qcom-ethqos +dwmac-rk +dwmac-sun8i +dwmac-visconti +dyna_pci10xx +dynapro +e100 +e1000 +e1000e +e3x0-button +e4000 +earth-pt1 +earth-pt3 +ebt_802_3 +ebt_among +ebt_arp +ebt_arpreply +ebt_dnat +ebt_ip +ebt_ip6 +ebt_limit +ebt_log +ebt_mark +ebt_mark_m +ebt_nflog +ebt_pkttype +ebt_redirect +ebt_snat +ebt_stp +ebt_vlan +ebtable_broute +ebtable_filter +ebtable_nat +ebtables +ec100 +ec_sys +ecc +ecc-mtk +ecdh_generic +ecdsa_generic +echainiv +echo +ecrdsa_generic +edt-ft5x06 +ee1004 +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efa +efct +efi-pstore +efi_test +efibc +efs +egalax_ts +egalax_ts_serial +ehci-brcm +ehci-fsl +ehci-platform +ehset +einj +ektf2127 +elan_i2c +elants_i2c +elo +em28xx +em28xx-alsa +em28xx-dvb +em28xx-rc +em28xx-v4l +em_canid +em_cmp +em_ipset +em_ipt +em_meta +em_nbyte +em_text +em_u32 +emac_rockchip +emc1403 +emc2103 +emc6w201 +emi26 +emi62 +empeg +ems_pci +ems_usb +emu10k1-gp +emxx_udc +ena +enc28j60 +enclosure +encx24j600 +encx24j600-regmap +ene_ir +eni +enic +envelope-detector +epat +epia +epic100 +eql +erofs +error +esas2r +esd_usb2 +esp4 +esp4_offload +esp6 +esp6_offload +esp_scsi +essiv +et1011c +et131x +et8ek8 +etas_es58x +ethoc +etnaviv +evbug +exc3000 +exfat +extcon-adc-jack +extcon-fsa9480 +extcon-gpio +extcon-max14577 +extcon-max3355 +extcon-max77693 +extcon-max77843 +extcon-max8997 +extcon-palmas +extcon-ptn5150 +extcon-qcom-spmi-misc +extcon-rt8973a +extcon-sm5502 +extcon-usb-gpio +extcon-usbc-cros-ec +extcon-usbc-tusb320 +ezusb +f2fs +f71805f +f71882fg +f75375s +f81232 +f81534 +f81601 +failover +fakelb +fan53555 +fan53880 +farsync +fastrpc +faulty +fb_agm1264k-fl +fb_bd663474 +fb_ddc +fb_hx8340bn +fb_hx8347d +fb_hx8353d +fb_hx8357d +fb_ili9163 +fb_ili9320 +fb_ili9325 +fb_ili9340 +fb_ili9341 +fb_ili9481 +fb_ili9486 +fb_pcd8544 +fb_ra8875 +fb_s6d02a1 +fb_s6d1121 +fb_seps525 +fb_sh1106 +fb_ssd1289 +fb_ssd1305 +fb_ssd1306 +fb_ssd1325 +fb_ssd1331 +fb_ssd1351 +fb_st7735r +fb_st7789v +fb_sys_fops +fb_tinylcd +fb_tls8204 +fb_uc1611 +fb_uc1701 +fb_upd161704 +fbtft +fc0011 +fc0012 +fc0013 +fc2580 +fcoe +fcrypt +fdomain +fdomain_pci +fdp +fdp_i2c +fealnx +ff-memless +ffa-module +fieldbus_dev +fintek-cir +firedtv +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +firewire-serial +fit2 +fit3 +fixed +fjes +fl512 +flexcan +fm10k +fm801-gp +fm_drv +forcedeth +fore_200e +fotg210-hcd +fotg210-udc +fou +fou6 +fpga-bridge +fpga-mgr +fpga-region +freevxfs +friq +frpw +fsa4480 +fscache +fsi-core +fsi-master-aspeed +fsi-master-gpio +fsi-master-hub +fsi-occ +fsi-sbefifo +fsi-scom +fsia6b +fsl-dpaa2-eth +fsl-dpaa2-ptp +fsl-dpaa2-switch +fsl-edma +fsl-edma-common +fsl-enetc +fsl-enetc-ierb +fsl-enetc-mdio +fsl-enetc-ptp +fsl-enetc-vf +fsl-ldb +fsl-mc-dpio +fsl-mph-dr-of +fsl-qdma +fsl_dpa +fsl_ifc_nand +fsl_imx8_ddr_perf +fsl_linflexuart +fsl_lpuart +fsl_pq_mdio +fsl_ucc_hdlc +fsp-3y +ftdi-elan +ftdi_sio +ftl +ftm-quaddec +ftsteutates +fujitsu_ts +funcore +funeth +fusb302 +fxas21002c_core +fxas21002c_i2c +fxas21002c_spi +fxls8962af-core +fxls8962af-i2c +fxls8962af-spi +fxos8700_core +fxos8700_i2c +fxos8700_spi +g450_pll +g760a +g762 +g_acm_ms +g_audio +g_cdc +g_dbgp +g_ether +g_ffs +g_hid +g_mass_storage +g_midi +g_ncm +g_nokia +g_printer +g_serial +g_webcam +g_zero +gadgetfs +gamecon +gameport +garmin_gps +garp +gateworks-gsc +gb-audio-apbridgea +gb-audio-codec +gb-audio-gb +gb-audio-manager +gb-audio-module +gb-bootrom +gb-es2 +gb-firmware +gb-gbphy +gb-gpio +gb-hid +gb-i2c +gb-light +gb-log +gb-loopback +gb-power-supply +gb-pwm +gb-raw +gb-sdio +gb-spi +gb-spilib +gb-uart +gb-usb +gb-vibrator +gcc-apq8084 +gcc-ipq4019 +gcc-ipq6018 +gcc-ipq806x +gcc-ipq8074 +gcc-mdm9607 +gcc-mdm9615 +gcc-msm8660 +gcc-msm8916 +gcc-msm8939 +gcc-msm8953 +gcc-msm8960 +gcc-msm8974 +gcc-msm8976 +gcc-msm8994 +gcc-msm8996 +gcc-msm8998 +gcc-qcm2290 +gcc-qcs404 +gcc-sc7180 +gcc-sc7280 +gcc-sc8180x +gcc-sc8280xp +gcc-sdm660 +gcc-sdm845 +gcc-sdx55 +gcc-sdx65 +gcc-sm6115 +gcc-sm6125 +gcc-sm6350 +gcc-sm8150 +gcc-sm8250 +gcc-sm8350 +gcc-sm8450 +gdmtty +gdmulte +ge2d +gemini +gen_probe +generic +generic-adc-battery +genet +geneve +genwqe_card +gf2k +gfs2 +ghash-ce +gianfar_driver +gl518sm +gl520sm +gl620a +gluebi +gm12u320 +gnss +gnss-mtk +gnss-serial +gnss-sirf +gnss-ubx +gnss-usb +go7007 +go7007-loader +go7007-usb +goku_udc +goldfish_battery +goodix_ts +gp2ap002 +gp2ap020a00f +gp8psk-fe +gpi +gpio +gpio-74x164 +gpio-74xx-mmio +gpio-adnp +gpio-adp5520 +gpio-adp5588 +gpio-aggregator +gpio-altera +gpio-altera-a10sr +gpio-amd-fch +gpio-amdpt +gpio-arizona +gpio-bd71815 +gpio-bd71828 +gpio-bd9571mwv +gpio-beeper +gpio-brcmstb +gpio-cadence +gpio-charger +gpio-da9052 +gpio-da9055 +gpio-dln2 +gpio-dwapb +gpio-eic-sprd +gpio-exar +gpio-fan +gpio-grgpio +gpio-gw-pld +gpio-hisi +gpio-hlwd +gpio-ir-recv +gpio-ir-tx +gpio-janz-ttl +gpio-kempld +gpio-logicvc +gpio-lp3943 +gpio-lp873x +gpio-lp87565 +gpio-madera +gpio-max3191x +gpio-max7300 +gpio-max7301 +gpio-max730x +gpio-max732x +gpio-max77620 +gpio-max77650 +gpio-mb86s7x +gpio-mc33880 +gpio-menz127 +gpio-mlxbf +gpio-mlxbf2 +gpio-moxtet +gpio-pca953x +gpio-pca9570 +gpio-pcf857x +gpio-pci-idio-16 +gpio-pcie-idio-24 +gpio-pisosr +gpio-pmic-eic-sprd +gpio-raspberrypi-exp +gpio-rcar +gpio-rdc321x +gpio-regmap +gpio-regulator +gpio-rockchip +gpio-sama5d2-piobu +gpio-sim +gpio-siox +gpio-sl28cpld +gpio-sprd +gpio-syscon +gpio-thunderx +gpio-tpic2810 +gpio-tps65086 +gpio-tps65218 +gpio-tps65912 +gpio-tqmx86 +gpio-twl4030 +gpio-twl6040 +gpio-ucb1400 +gpio-vibra +gpio-viperboard +gpio-virtio +gpio-visconti +gpio-wcd934x +gpio-wm831x +gpio-wm8350 +gpio-wm8994 +gpio-xgene-sb +gpio-xgs-iproc +gpio-xlp +gpio-xra1403 +gpio-zynq +gpio-zynqmp-modepin +gpio_backlight +gpio_decoder +gpio_keys +gpio_keys_polled +gpio_mouse +gpio_wdt +gpmi-nand +gpu-sched +gpucc-msm8998 +gpucc-sc7180 +gpucc-sc7280 +gpucc-sdm660 +gpucc-sdm845 +gpucc-sm6350 +gpucc-sm8150 +gpucc-sm8250 +gr_udc +grace +grcan +gre +greybus +grip +grip_mp +gs1662 +gs_usb +gsc-hwmon +gsc_hpdi +gspca_benq +gspca_conex +gspca_cpia1 +gspca_dtcs033 +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_jl2005bcd +gspca_kinect +gspca_konica +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_nw80x +gspca_ov519 +gspca_ov534 +gspca_ov534_9 +gspca_pac207 +gspca_pac7302 +gspca_pac7311 +gspca_se401 +gspca_sn9c2028 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca1528 +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_sq930x +gspca_stk014 +gspca_stk1135 +gspca_stv0680 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_topro +gspca_touptek +gspca_tv8532 +gspca_vc032x +gspca_vicam +gspca_xirlink_cit +gspca_zc3xx +gtp +gud +guillemot +gunze +gve +habanalabs +hackrf +hamachi +hampshire +hantro-vpu +hanwang +hbmc-am654 +hci +hci_nokia +hci_uart +hci_vhci +hclge +hclgevf +hd3ss3220 +hd44780 +hd44780_common +hdc100x +hdc2010 +hdlc +hdlc_cisco +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdlcd +hdlcdrv +hdma +hdma_mgmt +hdpvr +he +helene +hellcreek_sw +hexium_gemini +hexium_orion +hfcmulti +hfcpci +hfcsusb +hfpll +hfs +hfsplus +hi311x +hi3660-mailbox +hi556 +hi6210-i2s +hi6220-mailbox +hi6220_reset +hi6421-pmic-core +hi6421-regulator +hi6421-spmi-pmic +hi6421v530-regulator +hi6421v600-irq +hi6421v600-regulator +hi655x-pmic +hi655x-regulator +hi8435 +hi846 +hi847 +hibmc-drm +hid +hid-a4tech +hid-accutouch +hid-alps +hid-apple +hid-appleir +hid-asus +hid-aureal +hid-axff +hid-belkin +hid-betopff +hid-bigbenff +hid-cherry +hid-chicony +hid-cmedia +hid-corsair +hid-cougar +hid-cp2112 +hid-creative-sb0540 +hid-cypress +hid-dr +hid-elan +hid-elecom +hid-elo +hid-emsff +hid-ezkey +hid-ft260 +hid-gaff +hid-gembird +hid-generic +hid-gfrm +hid-glorious +hid-google-hammer +hid-gt683r +hid-gyration +hid-holtek-kbd +hid-holtek-mouse +hid-holtekff +hid-hyperv +hid-icade +hid-ite +hid-jabra +hid-kensington +hid-keytouch +hid-kye +hid-lcpower +hid-led +hid-lenovo +hid-letsketch +hid-lg-g15 +hid-logitech +hid-logitech-dj +hid-logitech-hidpp +hid-macally +hid-magicmouse +hid-maltron +hid-mcp2221 +hid-megaworld +hid-mf +hid-microsoft +hid-monterey +hid-multitouch +hid-nintendo +hid-nti +hid-ntrig +hid-ortek +hid-penmount +hid-petalynx +hid-picolcd +hid-pl +hid-plantronics +hid-playstation +hid-primax +hid-prodikeys +hid-razer +hid-redragon +hid-retrode +hid-rmi +hid-roccat +hid-roccat-arvo +hid-roccat-common +hid-roccat-isku +hid-roccat-kone +hid-roccat-koneplus +hid-roccat-konepure +hid-roccat-kovaplus +hid-roccat-lua +hid-roccat-pyra +hid-roccat-ryos +hid-roccat-savu +hid-saitek +hid-samsung +hid-semitek +hid-sensor-accel-3d +hid-sensor-als +hid-sensor-custom +hid-sensor-custom-intel-hinge +hid-sensor-gyro-3d +hid-sensor-hub +hid-sensor-humidity +hid-sensor-iio-common +hid-sensor-incl-3d +hid-sensor-magn-3d +hid-sensor-press +hid-sensor-prox +hid-sensor-rotation +hid-sensor-temperature +hid-sensor-trigger +hid-sigmamicro +hid-sjoy +hid-sony +hid-speedlink +hid-steam +hid-steelseries +hid-sunplus +hid-thrustmaster +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-u2fzero +hid-uclogic +hid-udraw-ps3 +hid-viewsonic +hid-vivaldi +hid-vivaldi-common +hid-waltop +hid-wiimote +hid-xiaomi +hid-xinmo +hid-zpff +hid-zydacron +hideep +hidp +hih6130 +hinic +hip04_eth +hisi-acc-vfio-pci +hisi-rng +hisi-sfc +hisi-spmi-controller +hisi-trng-v2 +hisi504_nand +hisi_femac +hisi_hikey_usb +hisi_hpre +hisi_pcie_pmu +hisi_powerkey +hisi_qm +hisi_sas_main +hisi_sas_v1_hw +hisi_sas_v2_hw +hisi_sas_v3_hw +hisi_sec +hisi_sec2 +hisi_thermal +hisi_uncore_cpa_pmu +hisi_uncore_ddrc_pmu +hisi_uncore_hha_pmu +hisi_uncore_l3c_pmu +hisi_uncore_pa_pmu +hisi_uncore_pmu +hisi_uncore_sllc_pmu +hisi_zip +hix5hd2_gmac +hmc425a +hmc5843_core +hmc5843_i2c +hmc5843_spi +hmc6352 +hms-profinet +hnae +hnae3 +hns-roce-hw-v2 +hns3 +hns_dsaf +hns_enet_drv +hns_mdio +hopper +horus3a +host1x +hostap +hostap_pci +hostap_plx +hp03 +hp206c +hpfs +hpilo +hpsa +hptiop +hpwdt +hsi +hsi_char +hso +hsr +ht16k33 +htc-pasic3 +hte-tegra194 +hte-tegra194-test +hts221 +hts221_i2c +hts221_spi +htu21 +huawei_cdc_ncm +hv_balloon +hv_netvsc +hv_sock +hv_storvsc +hv_utils +hv_vmbus +hwmon-vid +hwpoison-inject +hx711 +hx8357 +hx8357d +hycon-hy46xx +hyperbus-core +hyperv-keyboard +hyperv_drm +hyperv_fb +i2c-algo-bit +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-altera +i2c-amd756 +i2c-amd8111 +i2c-apple +i2c-arb-gpio-challenge +i2c-bcm-iproc +i2c-bcm2835 +i2c-brcmstb +i2c-cbus-gpio +i2c-ccgx-ucsi +i2c-cp2615 +i2c-cros-ec-tunnel +i2c-demux-pinctrl +i2c-designware-pci +i2c-diolan-u2c +i2c-dln2 +i2c-fsi +i2c-gpio +i2c-hid +i2c-hid-acpi +i2c-hid-of +i2c-hid-of-goodix +i2c-hisi +i2c-hix5hd2 +i2c-i801 +i2c-imx +i2c-imx-lpi2c +i2c-isch +i2c-kempld +i2c-matroxfb +i2c-meson +i2c-mlxbf +i2c-mt65xx +i2c-mux +i2c-mux-gpio +i2c-mux-gpmux +i2c-mux-ltc4306 +i2c-mux-mlxcpld +i2c-mux-pca9541 +i2c-mux-pca954x +i2c-mux-pinctrl +i2c-mux-reg +i2c-mv64xxx +i2c-nforce2 +i2c-nomadik +i2c-nvidia-gpu +i2c-ocores +i2c-owl +i2c-parport +i2c-pca-platform +i2c-piix4 +i2c-pxa +i2c-qcom-cci +i2c-qcom-geni +i2c-qup +i2c-rcar +i2c-riic +i2c-rk3x +i2c-robotfuzz-osif +i2c-scmi +i2c-sh_mobile +i2c-simtec +i2c-sis5595 +i2c-sis630 +i2c-sis96x +i2c-slave-eeprom +i2c-smbus +i2c-stub +i2c-synquacer +i2c-taos-evm +i2c-tegra +i2c-tegra-bpmp +i2c-thunderx +i2c-tiny-usb +i2c-versatile +i2c-via +i2c-viapro +i2c-viperboard +i2c-virtio +i2c-xgene-slimpro +i2c-xiic +i2c-xlp9xx +i3c +i3c-master-cdns +i40e +i5k_amb +i6300esb +i740fb +iavf +ib_cm +ib_core +ib_ipoib +ib_iser +ib_isert +ib_mthca +ib_srp +ib_srpt +ib_umad +ib_uverbs +ibm-cffps +ibmaem +ibmpex +icc-bcm-voter +icc-osm-l3 +icc-rpmh +icc-smd-rpm +ice +ice40-spi +icp +icp10100 +icp_multi +icplus +ics932s401 +idma64 +idmouse +idt77252 +idt_89hpesx +idt_gen2 +idt_gen3 +idtcps +ieee802154 +ieee802154_6lowpan +ieee802154_socket +ifb +ifcvf +ife +ifi_canfd +iforce +iforce-serio +iforce-usb +igb +igbvf +igc +igorplugusb +iguanair +ii_pci20kc +iio-mux +iio-rescale +iio-trig-hrtimer +iio-trig-interrupt +iio-trig-loop +iio-trig-sysfs +iio_dummy +iio_hwmon +ila +ili210x +ili9163 +ili9225 +ili922x +ili9320 +ili9341 +ili9486 +ilitek_ts_i2c +imagis +img-ascii-lcd +img-i2s-in +img-i2s-out +img-parallel-out +img-spdif-in +img-spdif-out +imm +imon +imon_raw +ims-pcu +imx-audio-rpmsg +imx-bus +imx-common +imx-cpufreq-dt +imx-dcss +imx-dma +imx-dsp +imx-interconnect +imx-mailbox +imx-media-common +imx-mipi-csis +imx-pcm-dma +imx-pcm-rpmsg +imx-pxp +imx-sdma +imx208 +imx214 +imx219 +imx258 +imx274 +imx290 +imx2_wdt +imx319 +imx334 +imx335 +imx355 +imx412 +imx6q-cpufreq +imx6ul_tsc +imx7-media-csi +imx7d_adc +imx7ulp_wdt +imx8m-ddrc +imx8mm-interconnect +imx8mm_thermal +imx8mn-interconnect +imx8mq-interconnect +imx8mq-mipi-csi2 +imx8qxp-adc +imx_dsp_rproc +imx_keypad +imx_rproc +imx_sc_key +imx_sc_thermal +imx_sc_wdt +imx_thermal +imxfb +ina209 +ina238 +ina2xx +ina2xx-adc +ina3221 +industrialio +industrialio-buffer-cb +industrialio-buffer-dma +industrialio-buffer-dmaengine +industrialio-configfs +industrialio-hw-consumer +industrialio-sw-device +industrialio-sw-trigger +industrialio-triggered-buffer +industrialio-triggered-event +inet_diag +inexio +inftl +initio +input-leds +inspur-ipsps +int51x1 +intel-m10-bmc +intel-m10-bmc-hwmon +intel-nand-controller +intel-qep +intel-xway +intel_th +intel_th_acpi +intel_th_gth +intel_th_msu +intel_th_msu_sink +intel_th_pci +intel_th_pti +intel_th_sth +intel_vr_nor +interact +interrupt-cnt +inv-icm42600 +inv-icm42600-i2c +inv-icm42600-spi +inv-mpu6050 +inv-mpu6050-i2c +inv-mpu6050-spi +io-domain +io_edgeport +io_ti +ionic +iosm +iowarrior +ip5xxx_power +ip6_gre +ip6_tables +ip6_tunnel +ip6_udp_tunnel +ip6_vti +ip6t_NPT +ip6t_REJECT +ip6t_SYNPROXY +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_mh +ip6t_rpfilter +ip6t_rt +ip6t_srh +ip6table_filter +ip6table_mangle +ip6table_nat +ip6table_raw +ip6table_security +ip_gre +ip_set +ip_set_bitmap_ip +ip_set_bitmap_ipmac +ip_set_bitmap_port +ip_set_hash_ip +ip_set_hash_ipmac +ip_set_hash_ipmark +ip_set_hash_ipport +ip_set_hash_ipportip +ip_set_hash_ipportnet +ip_set_hash_mac +ip_set_hash_net +ip_set_hash_netiface +ip_set_hash_netnet +ip_set_hash_netport +ip_set_hash_netportnet +ip_set_list_set +ip_tables +ip_tunnel +ip_vs +ip_vs_dh +ip_vs_fo +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_mh +ip_vs_nq +ip_vs_ovf +ip_vs_pe_sip +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_twos +ip_vs_wlc +ip_vs_wrr +ip_vti +ipa +ipack +ipaq +ipcomp +ipcomp6 +iphase +ipheth +ipip +ipmb_dev_int +ipmi_devintf +ipmi_ipmb +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_ssif +ipmi_watchdog +ipoctal +ipr +iproc-rng200 +iproc_nand +ips +ipt_CLUSTERIP +ipt_ECN +ipt_REJECT +ipt_SYNPROXY +ipt_ah +ipt_rpfilter +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +iptable_security +ipvlan +ipvtap +ipw +ipw2100 +ipw2200 +iqs269a +iqs5xx +iqs620at-temp +iqs621-als +iqs624-pos +iqs626a +iqs62x +iqs62x-keys +iqs7222 +ir-hix5hd2 +ir-imon-decoder +ir-jvc-decoder +ir-kbd-i2c +ir-mce_kbd-decoder +ir-nec-decoder +ir-rc5-decoder +ir-rc6-decoder +ir-rcmm-decoder +ir-sanyo-decoder +ir-sharp-decoder +ir-sony-decoder +ir-spi +ir-usb +ir-xmp-decoder +ir35221 +ir36021 +ir38064 +ir_toy +irdma +irps5401 +irq-bcm7120-l2 +irq-madera +irq-pruss-intc +irq-qcom-mpm +iscsi_boot_sysfs +iscsi_ibft +iscsi_target_mod +iscsi_tcp +isdnhdlc +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl29125 +isl29501 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isl68137 +isl7998x +isl9305 +isofs +isp116x-hcd +isp1704_charger +isp1760 +it87 +it913x +itd1000 +ite-cir +ite-it6505 +ite-it66121 +itg3200 +iuu_phoenix +ivtv +ivtv-alsa +ivtvfb +iw_cm +iw_cxgb4 +iwl3945 +iwl4965 +iwldvm +iwlegacy +iwlmvm +iwlwifi +ix2505v +ixgb +ixgbe +ixgbevf +janz-cmodio +janz-ican3 +jc42 +jedec_probe +jffs2 +jfs +jmb38x_ms +jme +joydev +joydump +jr3_pci +jsa1212 +jsm +k3_bandgap +k3_j72xx_bandgap +k3dma +kafs +kalmia +kaweth +kbic +kbtab +kcm +kcomedilib +ke_counter +keembay-ocs-aes +keembay-ocs-ecc +keembay-ocs-hcu +keembay_wdt +kempld-core +kempld_wdt +kernelcapi +keyspan +keyspan_pda +keyspan_remote +keywrap +kfifo_buf +khadas-mcu +khadas_mcu_fan +kheaders +kirin-drm +kl5kusb105 +kmb-drm +kmem +kmx61 +kobil_sct +komeda +kpss-xcc +ks0108 +ks0127 +ks7010 +ks8842 +ks8851_common +ks8851_par +ks8851_spi +ksmbd +ksz8795 +ksz8795_spi +ksz884x +ksz8863_smi +ksz9477 +ksz9477_i2c +ksz9477_spi +ksz_common +ktd253-backlight +ktti +kvaser_pci +kvaser_pciefd +kvaser_usb +kxcjk-1013 +kxsd9 +kxsd9-i2c +kxsd9-spi +kxtj9 +kyber-iosched +kyrofb +l1oip +l2tp_core +l2tp_debugfs +l2tp_eth +l2tp_ip +l2tp_ip6 +l2tp_netlink +l2tp_ppp +l4f00242t03 +l64781 +lan743x +lan78xx +lan9303-core +lan9303_i2c +lan9303_mdio +lan966x-switch +lan966x_serdes +lanai +lantiq_gswip +lapb +lapbether +lattice-ecp3-config +layerscape_edac_mod +lcc-ipq806x +lcc-mdm9615 +lcc-msm8960 +lcd +lcd2s +ldusb +lec +led-class-flash +led-class-multicolor +led_bl +leds-88pm860x +leds-aat1290 +leds-adp5520 +leds-an30259a +leds-as3645a +leds-aw2013 +leds-bcm6328 +leds-bcm6358 +leds-bd2802 +leds-blinkm +leds-cpcap +leds-cr0014114 +leds-da903x +leds-da9052 +leds-dac124s085 +leds-el15203000 +leds-gpio +leds-is31fl319x +leds-is31fl32xx +leds-ktd2692 +leds-lm3530 +leds-lm3532 +leds-lm3533 +leds-lm355x +leds-lm3601x +leds-lm36274 +leds-lm3642 +leds-lm3692x +leds-lm3697 +leds-lp3944 +leds-lp3952 +leds-lp50xx +leds-lp5521 +leds-lp5523 +leds-lp5562 +leds-lp55xx-common +leds-lp8501 +leds-lp8788 +leds-lp8860 +leds-lt3593 +leds-max77650 +leds-max77693 +leds-max8997 +leds-mc13783 +leds-menf21bmc +leds-mlxreg +leds-mt6323 +leds-mt6360 +leds-pca9532 +leds-pca955x +leds-pca963x +leds-pwm +leds-pwm-multicolor +leds-qcom-lpg +leds-regulator +leds-rt4505 +leds-rt8515 +leds-sc27xx-bltc +leds-sgm3140 +leds-spi-byte +leds-tca6507 +leds-ti-lmu-common +leds-tlc591xx +leds-tps6105x +leds-wm831x-status +leds-wm8350 +ledtrig-activity +ledtrig-audio +ledtrig-backlight +ledtrig-camera +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-netdev +ledtrig-oneshot +ledtrig-pattern +ledtrig-timer +ledtrig-transient +ledtrig-tty +ledtrig-usbport +legousbtower +lg-vl600 +lg2160 +lgdt3305 +lgdt3306a +lgdt330x +lgs8gl5 +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libarc4 +libceph +libchacha +libchacha20poly1305 +libcomposite +libcrc32c +libcurve25519 +libcurve25519-generic +libcxgb +libcxgbi +libdes +libertas +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libpoly1305 +libsas +lightning +lima +line-display +lineage-pem +linear +linkstation-poweroff +liquidio +liquidio_vf +lis3lv02d +lis3lv02d_i2c +liteuart +litex_liteeth +litex_mmc +litex_soc_ctrl +lkkbd +ll_temac +llc +llc2 +llcc-qcom +lm25066 +lm3533-als +lm3533-core +lm3533-ctrlbank +lm3533_bl +lm3560 +lm3630a_bl +lm3639_bl +lm363x-regulator +lm3646 +lm63 +lm70 +lm73 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm8333 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95234 +lm95241 +lm95245 +lmh +lmp91000 +lms283gf05 +lms501kf03 +lnbh25 +lnbh29 +lnbp21 +lnbp22 +lochnagar-hwmon +lochnagar-regulator +lockd +lontium-lt8912b +lontium-lt9211 +lontium-lt9611 +lontium-lt9611uxc +lp +lp3943 +lp3971 +lp3972 +lp855x_bl +lp8727_charger +lp872x +lp873x +lp873x-regulator +lp8755 +lp87565 +lp87565-regulator +lp8788-buck +lp8788-charger +lp8788-ldo +lp8788_adc +lp8788_bl +lpass-gfm-sm8250 +lpassaudiocc-sc7280 +lpasscc-sc7280 +lpasscc-sdm845 +lpasscorecc-sc7180 +lpasscorecc-sc7280 +lpc_ich +lpc_sch +lpddr_cmds +lpfc +lru_cache +lrw +lt3651-charger +ltc1660 +ltc2471 +ltc2485 +ltc2496 +ltc2497 +ltc2497-core +ltc2632 +ltc2688 +ltc2941-battery-gauge +ltc2945 +ltc2947-core +ltc2947-i2c +ltc2947-spi +ltc2978 +ltc2983 +ltc2990 +ltc2992 +ltc3589 +ltc3676 +ltc3815 +ltc4151 +ltc4162-l-charger +ltc4215 +ltc4222 +ltc4245 +ltc4260 +ltc4261 +ltr501 +ltv350qv +lv0104cs +lv5207lp +lvds-codec +lvstest +lxt +lz4 +lz4_compress +lz4hc +lz4hc_compress +m2m-deinterlace +m52790 +m5mols +m62332 +m88ds3103 +m88rs2000 +m88rs6000t +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +m_can +m_can_pci +m_can_platform +mac-celtic +mac-centeuro +mac-croatian +mac-cyrillic +mac-gaelic +mac-greek +mac-iceland +mac-inuit +mac-roman +mac-romanian +mac-turkish +mac80211 +mac80211_hwsim +mac802154 +mac802154_hwsim +macb +macb_pci +machxo2-spi +macmodes +macsec +macvlan +macvtap +madera +madera-i2c +madera-spi +mag3110 +magellan +mailbox-altera +mailbox-test +mailbox-xgene-slimpro +mali-dp +mantis +mantis_core +map_absent +map_funcs +map_ram +map_rom +marvell +marvell-88x2222 +marvell-cesa +marvell10g +marvell_cn10k_ddr_pmu +marvell_cn10k_tad_pmu +marvell_nand +matrix-keymap +matrix_keypad +matrox_w1 +matroxfb_DAC1064 +matroxfb_Ti3026 +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +max1027 +max11100 +max1111 +max1118 +max11801_ts +max1241 +max127 +max1363 +max14577-regulator +max14577_charger +max14656_charger_detector +max15301 +max1586 +max16064 +max16065 +max1619 +max16601 +max1668 +max17040_battery +max17042_battery +max1721x_battery +max197 +max20086-regulator +max20730 +max20751 +max2165 +max2175 +max30100 +max30102 +max3100 +max31722 +max31730 +max31785 +max31790 +max31856 +max31865 +max3420_udc +max3421-hcd +max34440 +max44000 +max44009 +max517 +max5432 +max5481 +max5487 +max5821 +max63xx_wdt +max6620 +max6621 +max6639 +max6642 +max6650 +max6697 +max6875 +max7359_keypad +max77620-regulator +max77620_thermal +max77620_wdt +max77650 +max77650-charger +max77650-onkey +max77650-regulator +max77686-regulator +max77693-haptic +max77693-regulator +max77693_charger +max77714 +max77802-regulator +max77826-regulator +max77976_charger +max8649 +max8660 +max8688 +max8893 +max8903_charger +max8907 +max8907-regulator +max8925-regulator +max8925_bl +max8925_onkey +max8925_power +max8952 +max8973-regulator +max8997-regulator +max8997_charger +max8997_haptic +max8998 +max8998_charger +max9271 +max9286 +max9611 +max96712 +maxim_thermocouple +mb1232 +mb862xxfb +mb86a16 +mb86a20s +mc +mc13783-adc +mc13783-pwrbutton +mc13783-regulator +mc13783_ts +mc13892-regulator +mc13xxx-core +mc13xxx-i2c +mc13xxx-regulator-core +mc13xxx-spi +mc3230 +mc44s803 +mcam-core +mcb +mcb-lpc +mcb-pci +mcba_usb +mceusb +mchp23k256 +mchp48l640 +mcp16502 +mcp251x +mcp251xfd +mcp3021 +mcp320x +mcp3422 +mcp3911 +mcp4018 +mcp41010 +mcp4131 +mcp4531 +mcp4725 +mcp4922 +mcr20a +mcs5000_ts +mcs7830 +mcs_touchkey +mct_u232 +mctp-i2c +mctp-serial +md-cluster +md4 +mdc800 +mdev +mdio +mdio-bcm-unimac +mdio-cavium +mdio-gpio +mdio-hisi-femac +mdio-i2c +mdio-ipq4019 +mdio-ipq8064 +mdio-mscc-miim +mdio-mux-gpio +mdio-mux-meson-g12a +mdio-mux-mmioreg +mdio-mux-multiplexer +mdio-mvusb +mdio-octeon +mdio-thunder +mdio-xgene +mdt_loader +me4000 +me_daq +mediatek +mediatek-cpufreq +mediatek-cpufreq-hw +mediatek-drm +mediatek-drm-hdmi +mediatek-ge +megachips-stdpxxxx-ge-b850v3-fw +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +melfas_mip4 +memory-notifier-error-inject +memstick +men_z135_uart +men_z188_adc +mena21_wdt +menf21bmc +menf21bmc_hwmon +menf21bmc_wdt +menz69_wdt +meson-canvas +meson-drm +meson-gx-mmc +meson-gxl +meson-ir +meson-ir-tx +meson-mx-sdio +meson-rng +meson-vdec +meson_dw_hdmi +meson_gxbb_wdt +meson_nand +meson_saradc +meson_wdt +metro-usb +metronomefb +mf6x4 +mgag200 +mhi +mhi_ep +mhi_net +mhi_pci_generic +mhi_wwan_ctrl +mhi_wwan_mbim +mi0283qt +michael_mic +micrel +microchip +microchip-tcb-capture +microchip_t1 +microread +microread_i2c +microtek +minix +mip6 +mipi-i3c-hci +mite +mk712 +mkiss +ml86v7667 +mlx4_core +mlx4_en +mlx4_ib +mlx5-vfio-pci +mlx5_core +mlx5_ib +mlx5_vdpa +mlx90614 +mlx90632 +mlx_wdt +mlxbf-bootctl +mlxbf-pmc +mlxbf-tmfifo +mlxbf_gige +mlxfw +mlxreg-fan +mlxreg-hotplug +mlxreg-io +mlxreg-lc +mlxsw_core +mlxsw_i2c +mlxsw_minimal +mlxsw_pci +mlxsw_spectrum +mma7455_core +mma7455_i2c +mma7455_spi +mma7660 +mma8450 +mma8452 +mma9551 +mma9551_core +mma9553 +mmc35240 +mmc_hsq +mmc_spi +mmcc-apq8084 +mmcc-msm8960 +mmcc-msm8974 +mmcc-msm8994 +mmcc-msm8996 +mmcc-msm8998 +mmcc-sdm660 +mms114 +mn88443x +mn88472 +mn88473 +mos7720 +mos7840 +most_cdev +most_core +most_dim2 +most_i2c +most_net +most_snd +most_usb +most_video +motorcomm +motorola-cpcap +moxa +moxtet +mp2629 +mp2629_adc +mp2629_charger +mp2888 +mp2975 +mp5023 +mp5416 +mp8859 +mp886x +mpc624 +mpi3mr +mpl115 +mpl115_i2c +mpl115_spi +mpl3115 +mpls_gso +mpls_iptunnel +mpls_router +mpoa +mpq7920 +mpr121_touchkey +mpt3sas +mptbase +mptcp_diag +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mr75203 +mrf24j40 +mrp +ms5611_core +ms5611_i2c +ms5611_spi +ms5637 +ms_block +ms_sensors_i2c +mscc +mscc_felix +mscc_ocelot +mscc_ocelot_switch_lib +mscc_seville +msdos +mse102x +msg2638 +msi001 +msi2500 +msm +msp3400 +mspro_block +mss-sc7180 +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt6311-regulator +mt6315-regulator +mt6323-regulator +mt6358-regulator +mt6359-accdet +mt6359-regulator +mt6360-adc +mt6360-core +mt6360-regulator +mt6360_charger +mt6380-regulator +mt6397 +mt6397-regulator +mt6577_auxadc +mt6779-keypad +mt6797-mt6351 +mt7530 +mt76 +mt76-connac-lib +mt76-sdio +mt76-usb +mt7601u +mt7603e +mt7615-common +mt7615e +mt7663-usb-sdio-common +mt7663s +mt7663u +mt76x0-common +mt76x02-lib +mt76x02-usb +mt76x0e +mt76x0u +mt76x2-common +mt76x2e +mt76x2u +mt7915e +mt7921-common +mt7921e +mt7921s +mt7921u +mt8183-da7219-max98357 +mt8183-mt6358-ts3a227-max98357 +mt8192-mt6359-rt1015-rt5682 +mt8195-mt6359 +mt9m001 +mt9m032 +mt9m111 +mt9p031 +mt9t001 +mt9t112 +mt9v011 +mt9v032 +mt9v111 +mtd +mtd_blkdevs +mtd_dataflash +mtdblock +mtdblock_ro +mtdoops +mtdpstore +mtdram +mtdswap +mtip32xx +mtk-adsp-common +mtk-adsp-ipc +mtk-adsp-mailbox +mtk-btcvsd +mtk-cir +mtk-cmdq-helper +mtk-cmdq-mailbox +mtk-cqdma +mtk-devapc +mtk-hsdma +mtk-pmic-keys +mtk-pmic-wrap +mtk-rng +mtk-sd +mtk-smi +mtk-uart-apdma +mtk-vpu +mtk_nand +mtk_rpmsg +mtk_scp +mtk_scp_ipi +mtk_t7xx +mtk_thermal +mtk_wdt +mtouch +mtu3 +multipath +multiq3 +musb_hdrc +mux-adg792a +mux-adgs1408 +mux-core +mux-gpio +mux-mmio +mv88e6060 +mv88e6xxx +mv_u3d_core +mv_udc +mvmdio +mvneta +mvpp2 +mvsas +mvumi +mwifiex +mwifiex_pcie +mwifiex_sdio +mwifiex_usb +mwl8k +mxb +mxc-jpeg-encdec +mxc4005 +mxc6255 +mxc_nand +mxc_w1 +mxcmmc +mxic_nand +mxl-gpy +mxl111sf-demod +mxl111sf-tuner +mxl301rf +mxl5005s +mxl5007t +mxl5xx +mxl692 +mxser +mxsfb +mxuport +myrb +myri10ge +myrs +n5pf +n_gsm +n_hdlc +nand +nandcore +nandsim +national +natsemi +nau7802 +navman +nbd +nci +nci_spi +nci_uart +nct6683 +nct6775 +nct6775-core +nct6775-i2c +nct7802 +nct7904 +nd_btt +nd_pmem +nd_virtio +ne2k-pci +neofb +net1080 +net2272 +net2280 +net_failover +netconsole +netdevsim +netfs +netjet +netlink_diag +netrom +netsec +netup-unidvb +netxen_nic +newtonkbd +nf_conncount +nf_conntrack +nf_conntrack_amanda +nf_conntrack_bridge +nf_conntrack_broadcast +nf_conntrack_ftp +nf_conntrack_h323 +nf_conntrack_irc +nf_conntrack_netbios_ns +nf_conntrack_netlink +nf_conntrack_pptp +nf_conntrack_sane +nf_conntrack_sip +nf_conntrack_snmp +nf_conntrack_tftp +nf_defrag_ipv4 +nf_defrag_ipv6 +nf_dup_ipv4 +nf_dup_ipv6 +nf_dup_netdev +nf_flow_table +nf_flow_table_inet +nf_log_syslog +nf_nat +nf_nat_amanda +nf_nat_ftp +nf_nat_h323 +nf_nat_irc +nf_nat_pptp +nf_nat_sip +nf_nat_snmp_basic +nf_nat_tftp +nf_reject_ipv4 +nf_reject_ipv6 +nf_socket_ipv4 +nf_socket_ipv6 +nf_synproxy_core +nf_tables +nf_tproxy_ipv4 +nf_tproxy_ipv6 +nfc +nfc_digital +nfcmrvl +nfcmrvl_i2c +nfcmrvl_spi +nfcmrvl_uart +nfcmrvl_usb +nfcsim +nfit +nfnetlink +nfnetlink_acct +nfnetlink_cthelper +nfnetlink_cttimeout +nfnetlink_hook +nfnetlink_log +nfnetlink_osf +nfnetlink_queue +nfp +nfs +nfs_acl +nfs_layout_flexfiles +nfs_layout_nfsv41_files +nfsd +nfsv2 +nfsv3 +nfsv4 +nft_chain_nat +nft_compat +nft_connlimit +nft_ct +nft_dup_ipv4 +nft_dup_ipv6 +nft_dup_netdev +nft_fib +nft_fib_inet +nft_fib_ipv4 +nft_fib_ipv6 +nft_fib_netdev +nft_flow_offload +nft_fwd_netdev +nft_hash +nft_limit +nft_log +nft_masq +nft_meta_bridge +nft_nat +nft_numgen +nft_objref +nft_osf +nft_queue +nft_quota +nft_redir +nft_reject +nft_reject_bridge +nft_reject_inet +nft_reject_ipv4 +nft_reject_ipv6 +nft_reject_netdev +nft_socket +nft_synproxy +nft_tproxy +nft_tunnel +nft_xfrm +nftl +ngene +nhc_dest +nhc_fragment +nhc_hop +nhc_ipv6 +nhc_mobility +nhc_routing +nhc_udp +nhpoly1305 +nhpoly1305-neon +ni_6527 +ni_65xx +ni_660x +ni_670x +ni_at_a2150 +ni_at_ao +ni_atmio +ni_atmio16d +ni_labpc +ni_labpc_common +ni_labpc_pci +ni_pcidio +ni_pcimio +ni_routes_test +ni_routing +ni_tio +ni_tiocmd +ni_usb6501 +nicpf +nicstar +nicvf +nilfs2 +nitro_enclaves +niu +nixge +nlmon +nls_ascii +nls_cp1250 +nls_cp1251 +nls_cp1255 +nls_cp737 +nls_cp775 +nls_cp850 +nls_cp852 +nls_cp855 +nls_cp857 +nls_cp860 +nls_cp861 +nls_cp862 +nls_cp863 +nls_cp864 +nls_cp865 +nls_cp866 +nls_cp869 +nls_cp874 +nls_cp932 +nls_cp936 +nls_cp949 +nls_cp950 +nls_euc-jp +nls_iso8859-1 +nls_iso8859-13 +nls_iso8859-14 +nls_iso8859-15 +nls_iso8859-2 +nls_iso8859-3 +nls_iso8859-4 +nls_iso8859-5 +nls_iso8859-6 +nls_iso8859-7 +nls_iso8859-9 +nls_koi8-r +nls_koi8-ru +nls_koi8-u +nls_utf8 +noa1305 +noon010pc30 +nosy +notifier-error-inject +nouveau +nozomi +npcm750-pwm-fan +nps_enet +ns-thermal +ns558 +ns83820 +nsh +ntb +ntb_hw_epf +ntb_hw_idt +ntb_hw_switchtec +ntb_netdev +ntb_perf +ntb_pingpong +ntb_tool +ntb_transport +ntc_thermistor +ntfs +ntfs3 +ntxec +null_blk +nuvoton-cir +nvec +nvec_kbd +nvec_paz00 +nvec_power +nvec_ps2 +nvidiafb +nvme +nvme-apple +nvme-core +nvme-fabrics +nvme-fc +nvme-loop +nvme-rdma +nvme-tcp +nvmem-apple-efuses +nvmem-bcm-ocotp +nvmem-imx-iim +nvmem-imx-ocotp +nvmem-imx-ocotp-scu +nvmem-layerscape-sfp +nvmem-rave-sp-eeprom +nvmem-reboot-mode +nvmem-rmem +nvmem-rockchip-otp +nvmem-sc27xx-efuse +nvmem_meson_mx_efuse +nvmem_qcom-spmi-sdam +nvmem_qfprom +nvmem_rockchip_efuse +nvmem_snvs_lpgpr +nvmem_sprd_efuse +nvmem_sunxi_sid +nvmet +nvmet-fc +nvmet-rdma +nvmet-tcp +nvsw-sn2201 +nwl-dsi +nxp-c45-tja11xx +nxp-nci +nxp-nci_i2c +nxp-ptn3460 +nxp-tja11xx +nxt200x +nxt6000 +nzxt-kraken2 +nzxt-smart2 +objagg +ocfb +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stack_o2cb +ocfs2_stack_user +ocfs2_stackglue +ocmem +ocrdma +octeon_ep +octeontx-cpt +octeontx-cptvf +of-fpga-region +of_mmc_spi +of_pmem +of_xilinx_wdt +ofb +ofpart +og01a1b +ohci-platform +omap-mailbox +omap-rng +omap2_nand +omap4-keypad +omap_elm +omap_hwspinlock +omfs +omninet +on20 +on26 +onenand +open-dice +opencores-kbd +openvswitch +opt3001 +optee +optee-rng +opticon +option +or51132 +or51211 +orangefs +orinoco +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +oti6858 +otm3225a +otx2_ptp +ov02a10 +ov08d10 +ov13858 +ov13b10 +ov2640 +ov2659 +ov2680 +ov2685 +ov2740 +ov5640 +ov5645 +ov5647 +ov5648 +ov5670 +ov5675 +ov5693 +ov5695 +ov6650 +ov7251 +ov7640 +ov7670 +ov772x +ov7740 +ov8856 +ov8865 +ov9282 +ov9640 +ov9650 +ov9734 +overlay +owl-dma +owl-emac +owl-mmc +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8022 +pa12203001 +palmas-pwrbutton +palmas-regulator +palmas_gpadc +pandora_bl +panel +panel-abt-y030xx067a +panel-arm-versatile +panel-asus-z00t-tm5p5-n35596 +panel-boe-bf060y8m-aj0 +panel-boe-himax8279d +panel-boe-tv101wum-nl6 +panel-dsi-cm +panel-edp +panel-elida-kd35t133 +panel-feixin-k101-im2ba02 +panel-feiyang-fy07024di26a30d +panel-ilitek-ili9322 +panel-ilitek-ili9341 +panel-ilitek-ili9881c +panel-innolux-ej030na +panel-innolux-p079zca +panel-jdi-fhd-r63452 +panel-jdi-lt070me05000 +panel-khadas-ts050 +panel-kingdisplay-kd097d04 +panel-leadtek-ltk050h3146w +panel-leadtek-ltk500hd1829 +panel-lg-lb035q02 +panel-lg-lg4573 +panel-lvds +panel-mantix-mlaf057we51 +panel-mipi-dbi +panel-nec-nl8048hl11 +panel-newvision-nv3052c +panel-novatek-nt35510 +panel-novatek-nt35560 +panel-novatek-nt35950 +panel-novatek-nt36672a +panel-novatek-nt39016 +panel-olimex-lcd-olinuxino +panel-orisetech-otm8009a +panel-osd-osd101t2587-53ts +panel-panasonic-vvx10f034n00 +panel-raspberrypi-touchscreen +panel-raydium-rm67191 +panel-raydium-rm68200 +panel-ronbo-rb070d30 +panel-samsung-atna33xc20 +panel-samsung-db7430 +panel-samsung-ld9040 +panel-samsung-s6d16d0 +panel-samsung-s6d27a1 +panel-samsung-s6e3ha2 +panel-samsung-s6e63j0x03 +panel-samsung-s6e63m0 +panel-samsung-s6e63m0-dsi +panel-samsung-s6e63m0-spi +panel-samsung-s6e88a0-ams452ef01 +panel-samsung-s6e8aa0 +panel-samsung-sofef00 +panel-seiko-43wvf1g +panel-sharp-lq101r1sx01 +panel-sharp-ls037v7dw01 +panel-sharp-ls043t1le01 +panel-sharp-ls060t1sx01 +panel-simple +panel-sitronix-st7701 +panel-sitronix-st7703 +panel-sitronix-st7789v +panel-sony-acx565akm +panel-sony-tulip-truly-nt35521 +panel-tdo-tl070wsh30 +panel-tpo-td028ttec1 +panel-tpo-td043mtea1 +panel-tpo-tpg110 +panel-truly-nt35597 +panel-visionox-rm69299 +panel-widechips-ws2401 +panel-xinpeng-xpp055c272 +panfrost +parade-ps8622 +parade-ps8640 +paride +parkbd +parman +parport +parport_ax88796 +parport_pc +parport_serial +parser_trx +pata_acpi +pata_ali +pata_amd +pata_artop +pata_atiixp +pata_atp867x +pata_cmd640 +pata_cmd64x +pata_cypress +pata_efar +pata_hpt366 +pata_hpt37x +pata_hpt3x2n +pata_hpt3x3 +pata_imx +pata_it8213 +pata_it821x +pata_jmicron +pata_legacy +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_ns87410 +pata_ns87415 +pata_of_platform +pata_oldpiix +pata_opti +pata_optidma +pata_pdc2027x +pata_pdc202xx_old +pata_piccolo +pata_platform +pata_radisys +pata_rdc +pata_rz1000 +pata_sch +pata_serverworks +pata_sil680 +pata_sis +pata_sl82c105 +pata_triflex +pata_via +pc300too +pc87360 +pc87427 +pca9450-regulator +pcap-regulator +pcap_keys +pcap_ts +pcbc +pcd +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pch_udc +pci +pci-epf-ntb +pci-hyperv +pci-hyperv-intf +pci-meson +pci-pf-stub +pci-stub +pci200syn +pcie-apple +pcie-brcmstb +pcie-iproc +pcie-iproc-platform +pcie-mediatek-gen3 +pcie-qcom-ep +pcie-rockchip-host +pcie-tegra194 +pcips2 +pcl711 +pcl724 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcmad +pcmcia_core +pcmcia_rsrc +pcmda12 +pcmmio +pcmuio +pcnet32 +pcrypt +pcs-lynx +pcs_xpcs +pcwd_pci +pcwd_usb +pd +pda_power +pdc_adma +pdr_interface +peak_pci +peak_pciefd +peak_usb +peci +peci-cpu +peci-cputemp +peci-dimmtemp +pegasus +pegasus_notetaker +penmount +pf +pf8x00-regulator +pfr_telemetry +pfr_update +pfuze100-regulator +pg +phantom +phonet +phram +phy-am654-serdes +phy-armada38x-comphy +phy-bcm-kona-usb2 +phy-bcm-ns-usb2 +phy-bcm-ns-usb3 +phy-bcm-ns2-usbdrd +phy-bcm-sr-pcie +phy-bcm-sr-usb +phy-berlin-sata +phy-berlin-usb +phy-brcm-usb-dvr +phy-cadence-salvo +phy-cadence-sierra +phy-cadence-torrent +phy-can-transceiver +phy-cpcap-usb +phy-exynos-usb2 +phy-fsl-imx8-mipi-dphy +phy-fsl-imx8m-pcie +phy-fsl-imx8mq-usb +phy-fsl-lynx-28g +phy-generic +phy-gmii-sel +phy-gpio-vbus-usb +phy-hi3660-usb3 +phy-hi3670-pcie +phy-hi3670-usb3 +phy-hi6220-usb +phy-hisi-inno-usb2 +phy-histb-combphy +phy-intel-keembay-emmc +phy-intel-keembay-usb +phy-isp1301 +phy-j721e-wiz +phy-mapphone-mdm6600 +phy-meson-axg-mipi-dphy +phy-meson-g12a-usb2 +phy-meson-g12a-usb3-pcie +phy-meson-gxl-usb2 +phy-meson8b-usb2 +phy-mtk-hdmi-drv +phy-mtk-mipi-dsi-drv +phy-mtk-tphy +phy-mtk-ufs +phy-mtk-xsphy +phy-mvebu-a3700-comphy +phy-mvebu-a3700-utmi +phy-mvebu-cp110-comphy +phy-mvebu-cp110-utmi +phy-ocelot-serdes +phy-omap-usb2 +phy-pxa-28nm-hsic +phy-pxa-28nm-usb2 +phy-qcom-apq8064-sata +phy-qcom-edp +phy-qcom-ipq4019-usb +phy-qcom-ipq806x-sata +phy-qcom-ipq806x-usb +phy-qcom-pcie2 +phy-qcom-qmp +phy-qcom-qusb2 +phy-qcom-snps-femto-v2 +phy-qcom-usb-hs +phy-qcom-usb-hs-28nm +phy-qcom-usb-hsic +phy-qcom-usb-ss +phy-rcar-gen2 +phy-rcar-gen3-pcie +phy-rcar-gen3-usb2 +phy-rcar-gen3-usb3 +phy-rockchip-dp +phy-rockchip-dphy-rx0 +phy-rockchip-emmc +phy-rockchip-inno-csidphy +phy-rockchip-inno-dsidphy +phy-rockchip-inno-hdmi +phy-rockchip-inno-usb2 +phy-rockchip-naneng-combphy +phy-rockchip-pcie +phy-rockchip-typec +phy-rockchip-usb +phy-sun4i-usb +phy-sun50i-usb3 +phy-sun6i-mipi-dphy +phy-tahvo +phy-tegra-usb +phy-tegra-xusb +phy-tegra194-p2u +phy-tusb1210 +phy-zynqmp +phylink +physmap +pi3usb30532 +pi433 +pim4328 +pinctrl-apple-gpio +pinctrl-apq8064 +pinctrl-apq8084 +pinctrl-axp209 +pinctrl-bcm4908 +pinctrl-da9062 +pinctrl-imx8ulp +pinctrl-imx93 +pinctrl-ipq4019 +pinctrl-ipq6018 +pinctrl-ipq8064 +pinctrl-ipq8074 +pinctrl-keembay +pinctrl-lochnagar +pinctrl-lpass-lpi +pinctrl-madera +pinctrl-max77620 +pinctrl-mcp23s08 +pinctrl-mcp23s08_i2c +pinctrl-mcp23s08_spi +pinctrl-mdm9607 +pinctrl-mdm9615 +pinctrl-meson-s4 +pinctrl-msm8226 +pinctrl-msm8660 +pinctrl-msm8916 +pinctrl-msm8953 +pinctrl-msm8960 +pinctrl-msm8976 +pinctrl-msm8994 +pinctrl-msm8996 +pinctrl-msm8998 +pinctrl-msm8x74 +pinctrl-mt6779 +pinctrl-qcm2290 +pinctrl-qcs404 +pinctrl-qdf2xxx +pinctrl-rk805 +pinctrl-sc7180 +pinctrl-sc7280 +pinctrl-sc7280-lpass-lpi +pinctrl-sc8180x +pinctrl-sc8280xp +pinctrl-sdm660 +pinctrl-sdm845 +pinctrl-sdx55 +pinctrl-sdx65 +pinctrl-sm6115 +pinctrl-sm6125 +pinctrl-sm6350 +pinctrl-sm8150 +pinctrl-sm8250 +pinctrl-sm8250-lpass-lpi +pinctrl-sm8350 +pinctrl-sm8450 +pinctrl-spmi-gpio +pinctrl-spmi-mpp +pinctrl-ssbi-gpio +pinctrl-ssbi-mpp +pinctrl-stmfx +pinctrl-zynqmp +ping +pistachio-internal-dac +pixcir_i2c_ts +pkcs7_test_key +pkcs8_key_parser +pktcdvd +pktgen +pl111_drm +pl172 +pl2303 +pl330 +plat-ram +plat_nand +platform_lcd +platform_mhu +platform_profile +plfxlc +pli1209bc +plip +plusb +pluto2 +plx_dma +plx_pci +pm-notifier-error-inject +pm2fb +pm3fb +pm6764tr +pm80xx +pm8916_wdt +pm8941-pwrkey +pm8xxx-vibrator +pmbus +pmbus_core +pmc551 +pmcraid +pms7003 +pn532_uart +pn533 +pn533_i2c +pn533_usb +pn544 +pn544_i2c +pn_pep +poly1305-neon +poly1305_generic +port100 +powermate +powr1220 +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +ppp_synctty +pppoatm +pppoe +pppox +pps-gpio +pps-ldisc +pps_parport +pptp +prestera +prestera_pci +pretimeout_panic +prism2_usb +pru_rproc +pruss +ps2-gpio +ps2mult +psample +psmouse +psnap +pstore_blk +pstore_zone +psxpad-spi +pt +ptp-qoriq +ptp_clockmatrix +ptp_dte +ptp_idt82p33 +ptp_ines +ptp_kvm +ptp_ocp +pulse8-cec +pulsedlight-lidar-lite-v2 +pv88060-regulator +pv88080-regulator +pv88090-regulator +pvcalls-front +pvpanic +pvpanic-mmio +pvpanic-pci +pvrusb2 +pwc +pwm-atmel-hlcdc +pwm-atmel-tcb +pwm-bcm-iproc +pwm-bcm2835 +pwm-beeper +pwm-berlin +pwm-brcmstb +pwm-cros-ec +pwm-dwc +pwm-fan +pwm-fsl-ftm +pwm-hibvt +pwm-imx-tpm +pwm-imx1 +pwm-imx27 +pwm-iqs620a +pwm-ir-tx +pwm-keembay +pwm-lp3943 +pwm-mediatek +pwm-meson +pwm-mtk-disp +pwm-ntxec +pwm-pca9685 +pwm-raspberrypi-poe +pwm-rcar +pwm-regulator +pwm-renesas-tpu +pwm-rockchip +pwm-sl28cpld +pwm-sprd +pwm-sun4i +pwm-tegra +pwm-tiecap +pwm-tiehrpwm +pwm-twl +pwm-twl-led +pwm-vibra +pwm-visconti +pwm-xilinx +pwm_bl +pwrseq_emmc +pwrseq_sd8787 +pwrseq_simple +pxa168_eth +pxa27x_udc +pxe1610 +pxrc +q54sj108a2 +q6adm +q6afe +q6afe-clocks +q6afe-dai +q6apm-dai +q6apm-lpass-dais +q6asm +q6asm-dai +q6core +q6prm +q6prm-clocks +q6routing +q6sstop-qcs404 +qca8k +qca_7k_common +qcaspi +qcauart +qcaux +qcom-apcs-ipc-mailbox +qcom-camss +qcom-coincell +qcom-cpufreq-hw +qcom-cpufreq-nvmem +qcom-emac +qcom-geni-se +qcom-labibb-regulator +qcom-pm8008 +qcom-pmic-typec +qcom-pon +qcom-rng +qcom-rpmh-regulator +qcom-spmi-adc-tm5 +qcom-spmi-adc5 +qcom-spmi-iadc +qcom-spmi-pmic +qcom-spmi-temp-alarm +qcom-spmi-vadc +qcom-vadc-common +qcom-wdt +qcom-wled +qcom_aoss +qcom_bam_dmux +qcom_common +qcom_edac +qcom_eud +qcom_geni_serial +qcom_glink +qcom_glink_rpm +qcom_glink_smem +qcom_gsbi +qcom_hwspinlock +qcom_nandc +qcom_pil_info +qcom_q6v5 +qcom_q6v5_adsp +qcom_q6v5_mss +qcom_q6v5_pas +qcom_q6v5_wcss +qcom_rpm +qcom_rpm-regulator +qcom_smbb +qcom_smd +qcom_smd-regulator +qcom_spmi-regulator +qcom_stats +qcom_sysmon +qcom_tsens +qcom_usb_vbus-regulator +qcomsmempart +qcrypto +qcserial +qed +qede +qedf +qedi +qedr +qemu_fw_cfg +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qm1d1b0004 +qm1d1c0042 +qmi_helpers +qmi_wwan +qnoc-msm8916 +qnoc-msm8939 +qnoc-msm8974 +qnoc-msm8996 +qnoc-qcm2290 +qnoc-qcs404 +qnoc-sc7180 +qnoc-sc7280 +qnoc-sc8180x +qnoc-sc8280xp +qnoc-sdm660 +qnoc-sdm845 +qnoc-sdx55 +qnoc-sdx65 +qnoc-sm8150 +qnoc-sm8250 +qnoc-sm8350 +qnoc-sm8450 +qnx4 +qnx6 +qoriq-cpufreq +qoriq_thermal +qrtr +qrtr-mhi +qrtr-smd +qrtr-tun +qsemi +qt1010 +qt1050 +qt1070 +qt2160 +qtnfmac +qtnfmac_pcie +quatech2 +quota_tree +quota_v1 +quota_v2 +qwiic-joystick +qxl +r592 +r6040 +r8152 +r8153_ecm +r8169 +r8188eu +r8192e_pci +r8192u_usb +r820t +r852 +r8712u +r8723bs +r8a66597-hcd +r8a66597-udc +radeon +radeonfb +radio-keene +radio-ma901 +radio-maxiradio +radio-mr800 +radio-platform-si4713 +radio-raremono +radio-shark +radio-si470x-common +radio-si470x-i2c +radio-si470x-usb +radio-si476x +radio-tea5764 +radio-usb-si4713 +radio-wl1273 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid_class +rainshadow-cec +ramoops +raspberrypi-cpufreq +raspberrypi-hwmon +raspberrypi-ts +ravb +rave-sp +rave-sp-backlight +rave-sp-pwrbutton +rave-sp-wdt +raw_diag +raw_gadget +raydium_i2c_ts +rbd +rc-adstech-dvb-t-pci +rc-alink-dtu-m +rc-anysee +rc-apac-viewcomp +rc-astrometa-t2hybrid +rc-asus-pc39 +rc-asus-ps3-100 +rc-ati-tv-wonder-hd-600 +rc-ati-x10 +rc-avermedia +rc-avermedia-a16d +rc-avermedia-cardbus +rc-avermedia-dvbt +rc-avermedia-m135a +rc-avermedia-m733a-rm-k6 +rc-avermedia-rm-ks +rc-avertv-303 +rc-azurewave-ad-tu700 +rc-beelink-gs1 +rc-behold +rc-behold-columbus +rc-budget-ci-old +rc-cinergy +rc-cinergy-1400 +rc-core +rc-ct-90405 +rc-d680-dmb +rc-delock-61959 +rc-dib0700-nec +rc-dib0700-rc5 +rc-digitalnow-tinytwin +rc-digittrade +rc-dm1105-nec +rc-dntv-live-dvb-t +rc-dntv-live-dvbt-pro +rc-dtt200u +rc-dvbsky +rc-dvico-mce +rc-dvico-portable +rc-em-terratec +rc-encore-enltv +rc-encore-enltv-fm53 +rc-encore-enltv2 +rc-evga-indtube +rc-eztv +rc-flydvb +rc-flyvideo +rc-fusionhdtv-mce +rc-gadmei-rm008z +rc-geekbox +rc-genius-tvgo-a11mce +rc-gotview7135 +rc-hauppauge +rc-hisi-poplar +rc-hisi-tv-demo +rc-imon-mce +rc-imon-pad +rc-imon-rsc +rc-iodata-bctv7e +rc-it913x-v1 +rc-it913x-v2 +rc-kaiomy +rc-khadas +rc-khamsin +rc-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lme2510 +rc-loopback +rc-manli +rc-mecool-kii-pro +rc-mecool-kiii-pro +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +rc-minix-neo +rc-msi-digivox-ii +rc-msi-digivox-iii +rc-msi-tvanywhere +rc-msi-tvanywhere-plus +rc-nebula +rc-nec-terratec-cinergy-xs +rc-norwood +rc-npgtech +rc-odroid +rc-pctv-sedna +rc-pine64 +rc-pinnacle-color +rc-pinnacle-grey +rc-pinnacle-pctv-hd +rc-pixelview +rc-pixelview-002t +rc-pixelview-mk12 +rc-pixelview-new +rc-powercolor-real-angel +rc-proteus-2309 +rc-purpletv +rc-pv951 +rc-rc6-mce +rc-real-audio-220-32-keys +rc-reddo +rc-snapstream-firefly +rc-streamzap +rc-su3000 +rc-tanix-tx3mini +rc-tanix-tx5max +rc-tbs-nec +rc-technisat-ts35 +rc-technisat-usb2 +rc-terratec-cinergy-c-pci +rc-terratec-cinergy-s2-hd +rc-terratec-cinergy-xs +rc-terratec-slim +rc-terratec-slim-2 +rc-tevii-nec +rc-tivo +rc-total-media-in-hand +rc-total-media-in-hand-02 +rc-trekstor +rc-tt-1500 +rc-twinhan-dtv-cab-ci +rc-twinhan1027 +rc-vega-s9x +rc-videomate-m1f +rc-videomate-s350 +rc-videomate-tv-pvr +rc-videostrong-kii-pro +rc-wetek-hub +rc-wetek-play2 +rc-winfast +rc-winfast-usbii-deluxe +rc-x96max +rc-xbox-360 +rc-xbox-dvd +rc-zx-irdec +rc5t583-regulator +rcar-csi2 +rcar-dmac +rcar-du-drm +rcar-fcp +rcar-isp +rcar-vin +rcar_can +rcar_canfd +rcar_cmm +rcar_drif +rcar_dw_hdmi +rcar_fdp1 +rcar_gen3_thermal +rcar_jpu +rcar_lvds +rcar_mipi_dsi +rcar_rproc +rcar_thermal +rdacm20 +rdacm21 +rdc321x-southbridge +rdma_cm +rdma_rxe +rdma_ucm +rds +rds_rdma +rds_tcp +realtek +realtek-mdio +realtek-smi +reboot-mode +redboot +redrat3 +reed_solomon +regmap-ac97 +regmap-i3c +regmap-sccb +regmap-sdw +regmap-sdw-mbq +regmap-slimbus +regmap-spi-avmm +regmap-spmi +regmap-w1 +regulator-haptic +reiserfs +renesas-nand-controller +renesas-rpc-if +renesas_sdhi_core +renesas_sdhi_internal_dmac +renesas_sdhi_sys_dmac +renesas_usb3 +renesas_usbhs +renesas_wdt +repaper +reset-a10sr +reset-brcmstb +reset-hi3660 +reset-meson-audio-arb +reset-qcom-pdc +reset-raspberrypi +reset-rzg2l-usbphy-ctrl +reset-scmi +reset-ti-sci +reset-ti-syscon +resistive-adc-touch +retu-mfd +retu-pwrbutton +retu_wdt +rfc1051 +rfc1201 +rfcomm +rfd77402 +rfd_ftl +rfkill-gpio +rio-scan +rio_cm +rio_mport_cdev +rionet +rivafb +rj54n1cb0c +rk3399_dmc +rk805-pwrkey +rk808 +rk808-regulator +rk_crypto +rm3100-core +rm3100-i2c +rm3100-spi +rmd160 +rmi_core +rmi_i2c +rmi_smbus +rmi_spi +rmnet +rmtfs_mem +rn5t618 +rn5t618-adc +rn5t618-regulator +rn5t618_power +rn5t618_wdt +rnbd-client +rnbd-server +rndis_host +rndis_wlan +rockchip +rockchip-dfi +rockchip-isp1 +rockchip-nand-controller +rockchip-rga +rockchip-vdec +rockchip_saradc +rockchip_thermal +rockchipdrm +rocker +rohm-bd71828 +rohm-bd718x7 +rohm-bd9576 +rohm-regulator +rohm_bu21023 +romfs +rose +rotary_encoder +rp2 +rpcrdma +rpcsec_gss_krb5 +rpi-panel-attiny-regulator +rpmpd +rpmsg_char +rpmsg_core +rpmsg_ctrl +rpmsg_ns +rpmsg_tty +rpmsg_wwan_ctrl +rpr0521 +rsi_91x +rsi_sdio +rsi_usb +rsmu-i2c +rsmu-spi +rt1719 +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800mmio +rt2800pci +rt2800usb +rt2x00lib +rt2x00mmio +rt2x00pci +rt2x00usb +rt4801-regulator +rt4831 +rt4831-backlight +rt4831-regulator +rt5033 +rt5033-regulator +rt5033_battery +rt5190a-regulator +rt5759-regulator +rt6160-regulator +rt61pci +rt6245-regulator +rt73usb +rt9455_charger +rtc-88pm80x +rtc-88pm860x +rtc-ab-b5ze-s3 +rtc-ab-eoz9 +rtc-abx80x +rtc-armada38x +rtc-as3722 +rtc-bd70528 +rtc-bq32k +rtc-bq4802 +rtc-brcmstb-waketimer +rtc-cadence +rtc-cpcap +rtc-cros-ec +rtc-da9052 +rtc-da9055 +rtc-da9063 +rtc-ds1286 +rtc-ds1302 +rtc-ds1305 +rtc-ds1307 +rtc-ds1343 +rtc-ds1347 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1685 +rtc-ds1742 +rtc-ds2404 +rtc-ds3232 +rtc-em3027 +rtc-fm3130 +rtc-fsl-ftm-alarm +rtc-ftrtc010 +rtc-goldfish +rtc-hid-sensor-time +rtc-hym8563 +rtc-imx-sc +rtc-imxdi +rtc-isl12022 +rtc-isl12026 +rtc-isl1208 +rtc-lp8788 +rtc-m41t80 +rtc-m41t93 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-max6916 +rtc-max77686 +rtc-max8907 +rtc-max8925 +rtc-max8997 +rtc-max8998 +rtc-mc13xxx +rtc-mcp795 +rtc-meson-vrtc +rtc-msm6242 +rtc-mt2712 +rtc-mt6397 +rtc-mt7622 +rtc-mxc +rtc-mxc_v2 +rtc-ntxec +rtc-optee +rtc-palmas +rtc-pcap +rtc-pcf2123 +rtc-pcf2127 +rtc-pcf50633 +rtc-pcf85063 +rtc-pcf8523 +rtc-pcf85363 +rtc-pcf8563 +rtc-pcf8583 +rtc-pl030 +rtc-pl031 +rtc-pm8xxx +rtc-r7301 +rtc-r9701 +rtc-rc5t583 +rtc-rc5t619 +rtc-rk808 +rtc-rp5c01 +rtc-rs5c348 +rtc-rs5c372 +rtc-rv3028 +rtc-rv3029c2 +rtc-rv3032 +rtc-rv8803 +rtc-rx4581 +rtc-rx6110 +rtc-rx8010 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-s5m +rtc-sc27xx +rtc-sd3078 +rtc-sh +rtc-snvs +rtc-stk17ta8 +rtc-tegra +rtc-tps6586x +rtc-tps65910 +rtc-twl +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtc-zynqmp +rtd520 +rti800 +rti802 +rti_wdt +rtl2830 +rtl2832 +rtl2832_sdr +rtl8150 +rtl8187 +rtl8188ee +rtl818x_pci +rtl8192c-common +rtl8192ce +rtl8192cu +rtl8192de +rtl8192ee +rtl8192se +rtl8365mb +rtl8366 +rtl8723-common +rtl8723ae +rtl8723be +rtl8821ae +rtl8xxxu +rtl_pci +rtl_usb +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +rtmv20-regulator +rtq2134-regulator +rtq6752-regulator +rtrs-client +rtrs-core +rtrs-server +rts5208 +rtsx_pci +rtsx_pci_ms +rtsx_pci_sdmmc +rtsx_usb +rtsx_usb_ms +rtsx_usb_sdmmc +rtw88_8723d +rtw88_8723de +rtw88_8821c +rtw88_8821ce +rtw88_8822b +rtw88_8822be +rtw88_8822c +rtw88_8822ce +rtw88_core +rtw88_pci +rtw89_8852a +rtw89_8852ae +rtw89_8852c +rtw89_8852ce +rtw89_core +rtw89_pci +rvu_af +rvu_cptcommon +rvu_cptpf +rvu_cptvf +rvu_mbox +rvu_nicpf +rvu_nicvf +rx51_battery +rxrpc +rz-dmac +rza_wdt +rzg2l_adc +rzg2l_thermal +rzg2l_wdt +rzn1_wdt +s1d13xxxfb +s2250 +s2255drv +s2io +s2mpa01 +s2mps11 +s3fb +s3fwrn5 +s3fwrn5_i2c +s3fwrn82_uart +s526 +s5c73m3 +s5h1409 +s5h1411 +s5h1420 +s5h1432 +s5k4ecgx +s5k5baf +s5k6a3 +s5k6aa +s5m8767 +s626 +s6sy761 +s921 +sa2ul +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7134-go7007 +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +saa7706h +safe_serial +sahara +sample-trace-array +samsung-keypad +samsung-sxgbe +samsung_tty +sata_dwc_460ex +sata_inic162x +sata_mv +sata_nv +sata_promise +sata_qstor +sata_rcar +sata_sil +sata_sil24 +sata_sis +sata_svw +sata_sx4 +sata_uli +sata_via +sata_vsc +savagefb +sb1000 +sbp_target +sbrmi +sbs-battery +sbs-charger +sbs-manager +sbsa_gwdt +sbtsi_temp +sc16is7xx +sc2731-regulator +sc2731_charger +sc27xx-poweroff +sc27xx-vibra +sc27xx_adc +sc27xx_fuel_gauge +sc92031 +sc9860-clk +sc9863a-clk +sca3000 +sca3300 +scd30_core +scd30_i2c +scd30_serial +scd4x +sch5627 +sch5636 +sch56xx-common +sch_atm +sch_cake +sch_cbq +sch_cbs +sch_choke +sch_codel +sch_drr +sch_dsmark +sch_etf +sch_ets +sch_fq +sch_fq_codel +sch_fq_pie +sch_gred +sch_hfsc +sch_hhf +sch_htb +sch_ingress +sch_mqprio +sch_multiq +sch_netem +sch_pie +sch_plug +sch_prio +sch_qfq +sch_red +sch_sfb +sch_sfq +sch_skbprio +sch_taprio +sch_tbf +sch_teql +sci-clk +sclk-div +scmi-cpufreq +scmi-hwmon +scmi-regulator +scmi_iio +scmi_pm_domain +scpi-cpufreq +scpi-hwmon +scpi_pm_domain +scsi_debug +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_spi +scsi_transport_srp +sctp +sctp_diag +sd_adc_modulator +sdhci +sdhci-acpi +sdhci-brcmstb +sdhci-cadence +sdhci-esdhc-imx +sdhci-iproc +sdhci-milbeaut +sdhci-msm +sdhci-of-arasan +sdhci-of-aspeed +sdhci-of-at91 +sdhci-of-dwcmshc +sdhci-of-esdhc +sdhci-of-sparx5 +sdhci-omap +sdhci-pci +sdhci-pltfm +sdhci-pxav3 +sdhci-sprd +sdhci-tegra +sdhci-xenon-driver +sdhci_am654 +sdhci_f_sdh30 +sdio_uart +sensehat-joystick +sensorhub +serial-tegra +serial_ir +serio_raw +sermouse +serpent_generic +serport +ses +sf-pdma +sfc +sfc-falcon +sfc-siena +sfp +sgi_w1 +sgp30 +sgp40 +sh-sci +sh_eth +sh_mmcif +sh_mobile_lcdcfb +sha1-ce +sha2-ce +sha256-arm64 +sha3-ce +sha3_generic +sha512-arm64 +sha512-ce +shark2 +shiftfs +sht15 +sht21 +sht3x +sht4x +shtc1 +si1133 +si1145 +si2157 +si2165 +si2168 +si21xx +si4713 +si476x-core +si7005 +si7020 +sidewinder +sierra +sierra_net +sifive +sii902x +sii9234 +sil-sii8620 +sil164 +silead +simple-bridge +simple-mfd-i2c +simpledrm +simplefb +siox-bus-gpio +siox-core +sis190 +sis5595 +sis900 +sis_i2c +sisfb +sisusbvga +sit +siw +sja1000 +sja1000_isa +sja1000_platform +sja1105 +skfp +skge +sky2 +sky81452 +sky81452-backlight +sky81452-regulator +sl28cpld-hwmon +sl28cpld_wdt +sl811-hcd +slcan +slg51000-regulator +slic_ds26522 +slicoss +slim-qcom-ctrl +slim-qcom-ngd-ctrl +slimbus +slip +slram +sm2_generic +sm3 +sm3-ce +sm3_generic +sm4 +sm4-ce +sm4-ce-cipher +sm4-neon +sm4_generic +sm501 +sm501fb +sm712fb +sm750fb +sm_common +sm_ftl +smartpqi +smb347-charger +smc +smc_diag +smd-rpm +smem +smipcie +smm665 +smp2p +smsc +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc911x +smsc9420 +smsc95xx +smscufx +smsdvb +smsm +smsmdtv +smssdio +smsusb +snd +snd-ac97-codec +snd-acp-config +snd-ad1889 +snd-ak4113 +snd-ak4114 +snd-ak4xxx-adda +snd-ali5451 +snd-aloop +snd-als300 +snd-atiixp +snd-atiixp-modem +snd-au8810 +snd-au8820 +snd-au8830 +snd-aw2 +snd-azt3328 +snd-bcd2000 +snd-bcm2835 +snd-bebob +snd-bt87x +snd-ca0106 +snd-cmipci +snd-compress +snd-cs4281 +snd-cs46xx +snd-cs8427 +snd-ctl-led +snd-ctxfi +snd-darla20 +snd-darla24 +snd-dice +snd-dummy +snd-echo3g +snd-emu10k1 +snd-emu10k1-synth +snd-emu10k1x +snd-emux-synth +snd-ens1370 +snd-ens1371 +snd-es1938 +snd-es1968 +snd-fireface +snd-firewire-digi00x +snd-firewire-lib +snd-firewire-motu +snd-firewire-tascam +snd-fireworks +snd-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-ca0110 +snd-hda-codec-ca0132 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-cs8409 +snd-hda-codec-generic +snd-hda-codec-hdmi +snd-hda-codec-idt +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-core +snd-hda-cs-dsp-ctls +snd-hda-intel +snd-hda-scodec-cs35l41 +snd-hda-scodec-cs35l41-i2c +snd-hda-scodec-cs35l41-spi +snd-hda-tegra +snd-hdsp +snd-hdspm +snd-hrtimer +snd-hwdep +snd-i2c +snd-ice1712 +snd-ice1724 +snd-ice17xx-ak4xxx +snd-indigo +snd-indigodj +snd-indigodjx +snd-indigoio +snd-indigoiox +snd-intel-dspcfg +snd-intel-sdw-acpi +snd-intel8x0 +snd-intel8x0m +snd-isight +snd-korg1212 +snd-layla20 +snd-layla24 +snd-lola +snd-lx6464es +snd-maestro3 +snd-mia +snd-mixart +snd-mixer-oss +snd-mona +snd-mpu401 +snd-mpu401-uart +snd-mtpav +snd-mts64 +snd-nm256 +snd-opl3-lib +snd-opl3-synth +snd-oxfw +snd-oxygen +snd-oxygen-lib +snd-pcm +snd-pcm-dmaengine +snd-pcxhr +snd-portman2x4 +snd-pt2258 +snd-q6apm +snd-q6dsp-common +snd-rawmidi +snd-riptide +snd-rme32 +snd-rme96 +snd-rme9652 +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-midi +snd-seq-midi-emul +snd-seq-midi-event +snd-seq-virmidi +snd-serial-generic +snd-serial-u16550 +snd-soc-63xx +snd-soc-ac97 +snd-soc-acp-da7219mx98357-mach +snd-soc-acp-rt5645-mach +snd-soc-acpi +snd-soc-adau-utils +snd-soc-adau1372 +snd-soc-adau1372-i2c +snd-soc-adau1372-spi +snd-soc-adau1701 +snd-soc-adau1761 +snd-soc-adau1761-i2c +snd-soc-adau1761-spi +snd-soc-adau17x1 +snd-soc-adau7002 +snd-soc-adau7118 +snd-soc-adau7118-hw +snd-soc-adau7118-i2c +snd-soc-adi-axi-i2s +snd-soc-adi-axi-spdif +snd-soc-ak4104 +snd-soc-ak4118 +snd-soc-ak4375 +snd-soc-ak4458 +snd-soc-ak4554 +snd-soc-ak4613 +snd-soc-ak4642 +snd-soc-ak5386 +snd-soc-ak5558 +snd-soc-alc5623 +snd-soc-alc5632 +snd-soc-apq8016-sbc +snd-soc-apq8096 +snd-soc-armada-370-db +snd-soc-audio-graph-card +snd-soc-audio-graph-card2 +snd-soc-audio-graph-card2-custom-sample +snd-soc-aw8738 +snd-soc-bcm2835-i2s +snd-soc-bd28623 +snd-soc-bt-sco +snd-soc-core +snd-soc-cpcap +snd-soc-cros-ec-codec +snd-soc-cs35l32 +snd-soc-cs35l33 +snd-soc-cs35l34 +snd-soc-cs35l35 +snd-soc-cs35l36 +snd-soc-cs35l41 +snd-soc-cs35l41-i2c +snd-soc-cs35l41-lib +snd-soc-cs35l41-spi +snd-soc-cs35l45 +snd-soc-cs35l45-i2c +snd-soc-cs35l45-spi +snd-soc-cs35l45-tables +snd-soc-cs4234 +snd-soc-cs4265 +snd-soc-cs4270 +snd-soc-cs4271 +snd-soc-cs4271-i2c +snd-soc-cs4271-spi +snd-soc-cs42l42 +snd-soc-cs42l51 +snd-soc-cs42l51-i2c +snd-soc-cs42l52 +snd-soc-cs42l56 +snd-soc-cs42l73 +snd-soc-cs42xx8 +snd-soc-cs42xx8-i2c +snd-soc-cs43130 +snd-soc-cs4341 +snd-soc-cs4349 +snd-soc-cs53l30 +snd-soc-cx2072x +snd-soc-da7213 +snd-soc-da7219 +snd-soc-davinci-mcasp +snd-soc-dmic +snd-soc-es7134 +snd-soc-es7241 +snd-soc-es8316 +snd-soc-es8328 +snd-soc-es8328-i2c +snd-soc-es8328-spi +snd-soc-fsi +snd-soc-fsl-asoc-card +snd-soc-fsl-asrc +snd-soc-fsl-aud2htx +snd-soc-fsl-audmix +snd-soc-fsl-easrc +snd-soc-fsl-esai +snd-soc-fsl-micfil +snd-soc-fsl-mqs +snd-soc-fsl-rpmsg +snd-soc-fsl-sai +snd-soc-fsl-spdif +snd-soc-fsl-ssi +snd-soc-fsl-xcvr +snd-soc-gtm601 +snd-soc-hdmi-codec +snd-soc-ics43432 +snd-soc-imx-audmix +snd-soc-imx-audmux +snd-soc-imx-card +snd-soc-imx-es8328 +snd-soc-imx-hdmi +snd-soc-imx-rpmsg +snd-soc-imx-sgtl5000 +snd-soc-imx-spdif +snd-soc-inno-rk3036 +snd-soc-j721e-evm +snd-soc-kirkwood +snd-soc-kmb_platform +snd-soc-lochnagar-sc +snd-soc-lpass-apq8016 +snd-soc-lpass-cdc-dma +snd-soc-lpass-cpu +snd-soc-lpass-hdmi +snd-soc-lpass-ipq806x +snd-soc-lpass-macro-common +snd-soc-lpass-platform +snd-soc-lpass-rx-macro +snd-soc-lpass-sc7180 +snd-soc-lpass-sc7280 +snd-soc-lpass-tx-macro +snd-soc-lpass-va-macro +snd-soc-lpass-wsa-macro +snd-soc-max9759 +snd-soc-max98088 +snd-soc-max98090 +snd-soc-max98357a +snd-soc-max98373 +snd-soc-max98373-i2c +snd-soc-max98373-sdw +snd-soc-max98390 +snd-soc-max98396 +snd-soc-max98504 +snd-soc-max98520 +snd-soc-max9860 +snd-soc-max9867 +snd-soc-max98927 +snd-soc-meson-aiu +snd-soc-meson-axg-fifo +snd-soc-meson-axg-frddr +snd-soc-meson-axg-pdm +snd-soc-meson-axg-sound-card +snd-soc-meson-axg-spdifin +snd-soc-meson-axg-spdifout +snd-soc-meson-axg-tdm-formatter +snd-soc-meson-axg-tdm-interface +snd-soc-meson-axg-tdmin +snd-soc-meson-axg-tdmout +snd-soc-meson-axg-toddr +snd-soc-meson-card-utils +snd-soc-meson-codec-glue +snd-soc-meson-g12a-toacodec +snd-soc-meson-g12a-tohdmitx +snd-soc-meson-gx-sound-card +snd-soc-meson-t9015 +snd-soc-mikroe-proto +snd-soc-msm8916-analog +snd-soc-msm8916-digital +snd-soc-mt6351 +snd-soc-mt6358 +snd-soc-mt6359 +snd-soc-mt6660 +snd-soc-mt6797-afe +snd-soc-mt8183-afe +snd-soc-mt8192-afe +snd-soc-mt8195-afe +snd-soc-mtk-common +snd-soc-nau8315 +snd-soc-nau8540 +snd-soc-nau8810 +snd-soc-nau8821 +snd-soc-nau8822 +snd-soc-nau8824 +snd-soc-pcm1681 +snd-soc-pcm1789-codec +snd-soc-pcm1789-i2c +snd-soc-pcm179x-codec +snd-soc-pcm179x-i2c +snd-soc-pcm179x-spi +snd-soc-pcm186x +snd-soc-pcm186x-i2c +snd-soc-pcm186x-spi +snd-soc-pcm3060 +snd-soc-pcm3060-i2c +snd-soc-pcm3060-spi +snd-soc-pcm3168a +snd-soc-pcm3168a-i2c +snd-soc-pcm3168a-spi +snd-soc-pcm5102a +snd-soc-pcm512x +snd-soc-pcm512x-i2c +snd-soc-pcm512x-spi +snd-soc-qcom-common +snd-soc-rcar +snd-soc-rk3288-hdmi-analog +snd-soc-rk3328 +snd-soc-rk3399-gru-sound +snd-soc-rk817 +snd-soc-rl6231 +snd-soc-rockchip-i2s +snd-soc-rockchip-i2s-tdm +snd-soc-rockchip-max98090 +snd-soc-rockchip-pdm +snd-soc-rockchip-rt5645 +snd-soc-rockchip-spdif +snd-soc-rt1011 +snd-soc-rt1015 +snd-soc-rt1015p +snd-soc-rt1308-sdw +snd-soc-rt1316-sdw +snd-soc-rt5514 +snd-soc-rt5514-spi +snd-soc-rt5616 +snd-soc-rt5631 +snd-soc-rt5640 +snd-soc-rt5645 +snd-soc-rt5659 +snd-soc-rt5663 +snd-soc-rt5677 +snd-soc-rt5677-spi +snd-soc-rt5682 +snd-soc-rt5682-i2c +snd-soc-rt5682-sdw +snd-soc-rt5682s +snd-soc-rt700 +snd-soc-rt711 +snd-soc-rt711-sdca +snd-soc-rt715 +snd-soc-rt715-sdca +snd-soc-rt9120 +snd-soc-rz-ssi +snd-soc-sc7180 +snd-soc-sc7280 +snd-soc-sdm845 +snd-soc-sdw-mockup +snd-soc-sgtl5000 +snd-soc-si476x +snd-soc-sigmadsp +snd-soc-sigmadsp-i2c +snd-soc-sigmadsp-regmap +snd-soc-simple-amplifier +snd-soc-simple-card +snd-soc-simple-card-utils +snd-soc-simple-mux +snd-soc-sm8250 +snd-soc-spdif-rx +snd-soc-spdif-tx +snd-soc-sprd-platform +snd-soc-ssm2305 +snd-soc-ssm2518 +snd-soc-ssm2602 +snd-soc-ssm2602-i2c +snd-soc-ssm2602-spi +snd-soc-ssm4567 +snd-soc-sta32x +snd-soc-sta350 +snd-soc-sti-sas +snd-soc-storm +snd-soc-tas2552 +snd-soc-tas2562 +snd-soc-tas2764 +snd-soc-tas2770 +snd-soc-tas5086 +snd-soc-tas571x +snd-soc-tas5720 +snd-soc-tas5805m +snd-soc-tas6424 +snd-soc-tda7419 +snd-soc-tegra-audio-graph-card +snd-soc-tegra-machine +snd-soc-tegra-pcm +snd-soc-tegra-wm8903 +snd-soc-tegra186-asrc +snd-soc-tegra186-dspk +snd-soc-tegra20-ac97 +snd-soc-tegra20-das +snd-soc-tegra20-i2s +snd-soc-tegra20-spdif +snd-soc-tegra210-admaif +snd-soc-tegra210-adx +snd-soc-tegra210-ahub +snd-soc-tegra210-amx +snd-soc-tegra210-dmic +snd-soc-tegra210-i2s +snd-soc-tegra210-mixer +snd-soc-tegra210-mvc +snd-soc-tegra210-sfc +snd-soc-tegra30-ahub +snd-soc-tegra30-i2s +snd-soc-test-component +snd-soc-tfa9879 +snd-soc-tfa989x +snd-soc-ti-edma +snd-soc-ti-sdma +snd-soc-ti-udma +snd-soc-tlv320adc3xxx +snd-soc-tlv320adcx140 +snd-soc-tlv320aic23 +snd-soc-tlv320aic23-i2c +snd-soc-tlv320aic23-spi +snd-soc-tlv320aic31xx +snd-soc-tlv320aic32x4 +snd-soc-tlv320aic32x4-i2c +snd-soc-tlv320aic32x4-spi +snd-soc-tlv320aic3x +snd-soc-tlv320aic3x-i2c +snd-soc-tlv320aic3x-spi +snd-soc-tpa6130a2 +snd-soc-ts3a227e +snd-soc-tscs42xx +snd-soc-tscs454 +snd-soc-uda1334 +snd-soc-wcd-mbhc +snd-soc-wcd9335 +snd-soc-wcd934x +snd-soc-wcd938x +snd-soc-wcd938x-sdw +snd-soc-wm-adsp +snd-soc-wm-hubs +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8524 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8731-i2c +snd-soc-wm8731-spi +snd-soc-wm8737 +snd-soc-wm8741 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8770 +snd-soc-wm8776 +snd-soc-wm8782 +snd-soc-wm8804 +snd-soc-wm8804-i2c +snd-soc-wm8804-spi +snd-soc-wm8903 +snd-soc-wm8904 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8962 +snd-soc-wm8974 +snd-soc-wm8978 +snd-soc-wm8985 +snd-soc-wm8994 +snd-soc-wm9712 +snd-soc-wsa881x +snd-soc-xlnx-formatter-pcm +snd-soc-xlnx-i2s +snd-soc-xlnx-spdif +snd-soc-xtfpga-i2s +snd-soc-zl38060 +snd-sof +snd-sof-imx8 +snd-sof-imx8m +snd-sof-mt8186 +snd-sof-mt8195 +snd-sof-of +snd-sof-utils +snd-sof-xtensa-dsp +snd-sonicvibes +snd-timer +snd-trident +snd-ua101 +snd-usb-6fire +snd-usb-audio +snd-usb-caiaq +snd-usb-hiface +snd-usb-line6 +snd-usb-pod +snd-usb-podhd +snd-usb-toneport +snd-usb-variax +snd-usbmidi-lib +snd-util-mem +snd-via82xx +snd-via82xx-modem +snd-virmidi +snd-virtuoso +snd-vx-lib +snd-vx222 +snd-ymfpci +snd_xen_front +snic +snps_udc_core +snps_udc_plat +snvs_pwrkey +soc_button_array +socfpga +socfpga-a10 +socinfo +softdog +softing +solo6x10 +solos-pci +sony-btf-mpx +soundcore +soundwire-bus +soundwire-cadence +soundwire-generic-allocation +soundwire-intel +soundwire-qcom +sp2 +sp805_wdt +sp8870 +sp887x +spaceball +spaceorb +sparse-keymap +sparx5-switch +sparx5-temp +spcp8x5 +speakup +speakup_acntsa +speakup_apollo +speakup_audptr +speakup_bns +speakup_decext +speakup_dectlk +speakup_dummy +speakup_ltlk +speakup_soft +speakup_spkout +speakup_txprt +speedfax +speedtch +spi-altera-core +spi-altera-dfl +spi-altera-platform +spi-amd +spi-armada-3700 +spi-axi-spi-engine +spi-bcm-qspi +spi-bcm2835 +spi-bcm2835aux +spi-bitbang +spi-brcmstb-qspi +spi-butterfly +spi-cadence +spi-cadence-quadspi +spi-cadence-xspi +spi-dln2 +spi-dw +spi-dw-mmio +spi-dw-pci +spi-fsi +spi-fsl-dspi +spi-fsl-lpspi +spi-fsl-qspi +spi-geni-qcom +spi-gpio +spi-hisi-kunpeng +spi-hisi-sfc-v3xx +spi-imx +spi-iproc-qspi +spi-lm70llp +spi-loopback-test +spi-meson-spicc +spi-meson-spifc +spi-mt65xx +spi-mtk-nor +spi-mtk-snfi +spi-mux +spi-mxic +spi-nor +spi-nxp-fspi +spi-oc-tiny +spi-orion +spi-pl022 +spi-pxa2xx-pci +spi-pxa2xx-platform +spi-qcom-qspi +spi-qup +spi-rockchip +spi-rockchip-sfc +spi-rpc-if +spi-rspi +spi-sc18is602 +spi-sh-hspi +spi-sh-msiof +spi-sifive +spi-slave-mt27xx +spi-slave-system-control +spi-slave-time +spi-sprd +spi-sprd-adi +spi-sun6i +spi-synquacer +spi-tegra114 +spi-tegra20-sflash +spi-tegra20-slink +spi-tegra210-quad +spi-thunderx +spi-tle62x0 +spi-xcomm +spi-xlp +spi-zynqmp-gqspi +spi_ks8995 +spidev +spinand +spl +spmi +spmi-mtk-pmif +spmi-pmic-arb +sprd-dma +sprd-drm +sprd-iommu +sprd-mailbox +sprd-mcdt +sprd-sc27xx-spi +sprd_hwspinlock +sprd_serial +sprd_thermal +sprd_wdt +sps30 +sps30_i2c +sps30_serial +sr-thermal +sr030pc30 +sr9700 +sr9800 +srf04 +srf08 +ssb +ssb-hcd +ssd1307fb +ssd130x +ssd130x-i2c +ssd130x-spi +ssfdc +ssp_accel_sensor +ssp_gyro_sensor +ssp_iio +sst25l +sstfb +ssu100 +st +st-mipid02 +st-nci +st-nci_i2c +st-nci_spi +st1232 +st21nfca_hci +st21nfca_i2c +st7586 +st7735r +st95hf +st_accel +st_accel_i2c +st_accel_spi +st_drv +st_gyro +st_gyro_i2c +st_gyro_spi +st_lsm6dsx +st_lsm6dsx_i2c +st_lsm6dsx_i3c +st_lsm6dsx_spi +st_lsm9ds0 +st_lsm9ds0_i2c +st_lsm9ds0_spi +st_magn +st_magn_i2c +st_magn_spi +st_pressure +st_pressure_i2c +st_pressure_spi +st_sensors +st_sensors_i2c +st_sensors_spi +st_uvis25_core +st_uvis25_i2c +st_uvis25_spi +starfire +stb0899 +stb6000 +stb6100 +ste10Xp +stex +stinger +stk1160 +stk3310 +stk8312 +stk8ba50 +stkwebcam +stm_console +stm_core +stm_ftrace +stm_heartbeat +stm_p_basic +stm_p_sys-t +stmfts +stmfx +stmmac +stmmac-pci +stmmac-platform +stmpe-adc +stmpe-keypad +stmpe-ts +stowaway +stp +stpddc60 +stpmic1 +stpmic1_onkey +stpmic1_regulator +stpmic1_wdt +stratix10-rsu +stratix10-soc +stratix10-svc +streamzap +streebog_generic +stts751 +stusb160x +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv0910 +stv6110 +stv6110x +stv6111 +sun4i-backend +sun4i-csi +sun4i-drm +sun4i-drm-hdmi +sun4i-frontend +sun4i-gpadc +sun4i-ss +sun4i-tcon +sun4i_tv +sun50i-codec-analog +sun50i-cpufreq-nvmem +sun6i-csi +sun6i-dma +sun6i-rtc-ccu +sun6i_drc +sun6i_hwspinlock +sun6i_mipi_dsi +sun8i-a33-mbus +sun8i-adda-pr-regmap +sun8i-ce +sun8i-codec +sun8i-codec-analog +sun8i-di +sun8i-drm-hdmi +sun8i-mixer +sun8i-rotate +sun8i-ss +sun8i_tcon_top +sun8i_thermal +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrise_co2 +sunrpc +sunxi +sunxi-cedrus +sunxi-cir +sunxi-mmc +sunxi-rsb +sunxi_wdt +sur40 +surface3_spi +surface_acpi_notify +surface_aggregator +surface_aggregator_cdev +surface_aggregator_registry +surface_battery +surface_charger +surface_dtx +surface_gpe +surface_hid +surface_hid_core +surface_hotplug +surface_kbd +surface_platform_profile +svc-i3c-master +svgalib +switchtec +sx8 +sx8654 +sx9310 +sx9324 +sx9360 +sx9500 +sx_common +sy7636a-hwmon +sy7636a-regulator +sy8106a-regulator +sy8824x +sy8827n +sym53c8xx +symbolserial +synaptics_i2c +synaptics_usb +synclink_gt +synopsys_edac +syscon-reboot-mode +syscopyarea +sysfillrect +sysimgblt +sysv +t5403 +tag_ar9331 +tag_brcm +tag_dsa +tag_gswip +tag_hellcreek +tag_ksz +tag_lan9303 +tag_mtk +tag_ocelot +tag_ocelot_8021q +tag_qca +tag_rtl4_a +tag_rtl8_4 +tag_sja1105 +tag_trailer +tag_xrs700x +tap +target_core_file +target_core_iblock +target_core_mod +target_core_pscsi +target_core_user +tc-dwc-g210 +tc-dwc-g210-pci +tc-dwc-g210-pltfrm +tc358743 +tc358762 +tc358764 +tc358767 +tc358768 +tc358775 +tc3589x-keypad +tc654 +tc74 +tc90522 +tca6416-keypad +tca8418_keypad +tcan4x5x +tcm_fc +tcm_loop +tcm_qla2xxx +tcm_usb_gadget +tcp_bbr +tcp_bic +tcp_cdg +tcp_dctcp +tcp_diag +tcp_highspeed +tcp_htcp +tcp_hybla +tcp_illinois +tcp_lp +tcp_nv +tcp_scalable +tcp_vegas +tcp_veno +tcp_westwood +tcp_yeah +tcpci +tcpci_maxim +tcpci_mt6360 +tcpci_rt1711h +tcpm +tcrypt +tcs3414 +tcs3472 +tda10021 +tda10023 +tda10048 +tda1004x +tda10071 +tda10086 +tda18212 +tda18218 +tda18250 +tda18271 +tda18271c2dd +tda1997x +tda665x +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tda9950 +tda998x +tdfxfb +tdo24m +tea575x +tea5761 +tea5767 +tea6415c +tea6420 +team +team_mode_activebackup +team_mode_broadcast +team_mode_loadbalance +team_mode_random +team_mode_roundrobin +tee +tee_bnxt_fw +tef6862 +tegra-aconnect +tegra-bpmp-thermal +tegra-drm +tegra-gmi +tegra-kbc +tegra-vde +tegra-video +tegra-xudc +tegra186-cpufreq +tegra186-gpc-dma +tegra194-cpufreq +tegra210-adma +tegra210-emc +tegra30-devfreq +tegra_cec +tegra_nand +tegra_wdt +tehuti +teranetics +test_blackhole_dev +test_bpf +test_power +tg3 +thc63lvd1024 +thermal-generic-adc +thermal_mmio +thmc50 +ths7303 +ths8200 +thunder_bgx +thunder_xcv +thunderbolt +thunderbolt-net +thunderx-mmc +thunderx2_pmu +thunderx_edac +thunderx_zip +ti-adc081c +ti-adc0832 +ti-adc084s021 +ti-adc108s102 +ti-adc12138 +ti-adc128s052 +ti-adc161s626 +ti-ads1015 +ti-ads124s08 +ti-ads131e08 +ti-ads7950 +ti-ads8344 +ti-ads8688 +ti-am65-cpsw-nuss +ti-cal +ti-dac082s085 +ti-dac5571 +ti-dac7311 +ti-dac7612 +ti-j721e-ufs +ti-lmu +ti-sn65dsi83 +ti-sn65dsi86 +ti-tfp410 +ti-tlc4541 +ti-tpd12s015 +ti-tsc2046 +ti_am335x_adc +ti_am335x_tsc +ti_am335x_tscadc +ti_k3_dsp_remoteproc +ti_k3_r5_remoteproc +ti_sci_pm_domains +ti_usb_3410_5052 +tidss +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +timeriomem-rng +tipc +tlan +tls +tlv320aic23b +tm2-touchkey +tm6000 +tm6000-alsa +tm6000-dvb +tmdc +tmio_mmc_core +tmp006 +tmp007 +tmp102 +tmp103 +tmp108 +tmp117 +tmp401 +tmp421 +tmp464 +tmp513 +toshsd +touchit213 +touchright +touchwin +tpci200 +tpl0102 +tpm_atmel +tpm_ftpm_tee +tpm_i2c_atmel +tpm_i2c_infineon +tpm_i2c_nuvoton +tpm_infineon +tpm_st33zp24 +tpm_st33zp24_i2c +tpm_st33zp24_spi +tpm_tis_i2c_cr50 +tpm_tis_spi +tpm_tis_synquacer +tpm_vtpm_proxy +tps23861 +tps40422 +tps51632-regulator +tps53679 +tps6105x +tps6105x-regulator +tps62360-regulator +tps6286x-regulator +tps65010 +tps65023-regulator +tps6507x +tps6507x-regulator +tps6507x-ts +tps65086 +tps65086-regulator +tps65090-charger +tps65090-regulator +tps65132-regulator +tps65217 +tps65217-regulator +tps65217_bl +tps65217_charger +tps65218 +tps65218-pwrbutton +tps65218-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +tps6598x +tqmx86 +trace-printk +trancevibrator +trf7970a +tridentfb +ts2020 +ts_bm +ts_fsm +ts_kmp +tsc2004 +tsc2005 +tsc2007 +tsc200x-core +tsc40 +tsi721_mport +tsl2550 +tsl2563 +tsl2583 +tsl2591 +tsl2772 +tsl4531 +tsnep +tsys01 +tsys02d +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +ttusbir +ttynull +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tunnel4 +tunnel6 +turbografx +turingcc-qcs404 +turris-mox-rwtm +tvaudio +tveeprom +tvp514x +tvp5150 +tvp7002 +tw2804 +tw5864 +tw68 +tw686x +tw9903 +tw9906 +tw9910 +twidjoy +twl-regulator +twl4030-madc +twl4030-pwrbutton +twl4030-vibra +twl4030_charger +twl4030_keypad +twl4030_madc_battery +twl4030_wdt +twl6030-gpadc +twl6030-regulator +twl6040-vibra +twofish_common +twofish_generic +typec +typec_displayport +typec_nvidia +typec_ucsi +typhoon +u132-hcd +uPD60620 +u_audio +u_ether +u_serial +uacce +uartlite +uas +ubi +ubifs +ubuntu-host +ucan +ucb1400_core +ucb1400_ts +ucc_uart +ucd9000 +ucd9200 +ucs1002_power +ucsi_acpi +ucsi_ccg +uda1342 +udc-core +udc-xilinx +udf +udl +udlfb +udp_diag +udp_tunnel +ueagle-atm +ufs +ufs-hisi +ufs-mediatek +ufs_qcom +ufshcd-core +ufshcd-dwc +ufshcd-pci +ufshcd-pltfrm +ug3105_battery +uhid +uio +uio_aec +uio_cif +uio_dfl +uio_dmem_genirq +uio_hv_generic +uio_mf624 +uio_netx +uio_pci_generic +uio_pdrv_genirq +uio_pruss +uio_sercos3 +uleds +uli526x +ulpi +ums-alauda +ums-cypress +ums-datafab +ums-eneub6250 +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-realtek +ums-sddr09 +ums-sddr55 +ums-usbat +unix_diag +upd64031a +upd64083 +upd78f0730 +us5182d +usb-conn-gpio +usb-dmac +usb-serial-simple +usb-storage +usb251xb +usb3503 +usb4604 +usb8xxx +usb_8dev +usb_debug +usb_f_acm +usb_f_ecm +usb_f_ecm_subset +usb_f_eem +usb_f_fs +usb_f_hid +usb_f_mass_storage +usb_f_midi +usb_f_ncm +usb_f_obex +usb_f_phonet +usb_f_printer +usb_f_rndis +usb_f_serial +usb_f_ss_lb +usb_f_tcm +usb_f_uac1 +usb_f_uac1_legacy +usb_f_uac2 +usb_f_uvc +usb_wwan +usbatm +usbdux +usbduxfast +usbduxsigma +usbhid +usbip-core +usbip-host +usbip-vudc +usbkbd +usblcd +usblp +usbmisc_imx +usbmon +usbmouse +usbnet +usbserial +usbsevseg +usbtest +usbtmc +usbtouchscreen +usbtv +usdhi6rol0 +userio +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +v3d +v4l2-async +v4l2-dv-timings +v4l2-flash-led-class +v4l2-fwnode +v4l2-h264 +v4l2-jpeg +v4l2-mem2mem +v4l2-tpg +v4l2-vp9 +vc4 +vcan +vchiq +vcnl3020 +vcnl4000 +vcnl4035 +vctrl-regulator +vdpa +vdpa_sim +vdpa_sim_blk +vdpa_sim_net +vduse +veml6030 +veml6070 +venus-core +venus-dec +venus-enc +versal-fpga +ves1820 +ves1x93 +veth +vexpress-hwmon +vexpress-regulator +vf610_adc +vf610_dac +vfio +vfio-amba +vfio-fsl-mc +vfio-pci +vfio-pci-core +vfio-platform +vfio-platform-amdxgbe +vfio-platform-base +vfio-platform-calxedaxgmac +vfio_iommu_type1 +vfio_platform_bcmflexrm +vfio_virqfd +vgastate +vgem +vgg2432a4 +vhci-hcd +vhost +vhost_iotlb +vhost_net +vhost_scsi +vhost_vdpa +vhost_vsock +via-rhine +via-sdmmc +via-velocity +via686a +vicodec +video-i2c +video-mux +videobuf-core +videobuf-dma-sg +videobuf-vmalloc +videobuf2-common +videobuf2-dma-contig +videobuf2-dma-sg +videobuf2-dvb +videobuf2-memops +videobuf2-v4l2 +videobuf2-vmalloc +videocc-sc7180 +videocc-sc7280 +videocc-sdm845 +videocc-sm8150 +videocc-sm8250 +videodev +vim2m +vimc +viperboard +viperboard_adc +virt_wifi +virtio-gpu +virtio-rng +virtio_blk +virtio_bt +virtio_crypto +virtio_dma_buf +virtio_input +virtio_mem +virtio_net +virtio_pmem +virtio_rpmsg_bus +virtio_scsi +virtio_snd +virtio_vdpa +virtiofs +virtual +virtual_ncidev +visconti_wdt +visor +vitesse +vitesse-vsc73xx-core +vitesse-vsc73xx-platform +vitesse-vsc73xx-spi +vivid +vkms +vl53l0x-i2c +vl6180 +vmac +vme_fake +vme_tsi148 +vme_user +vme_vmivme7805 +vmgenid +vmk80xx +vmw_vmci +vmw_vsock_virtio_transport +vmw_vsock_virtio_transport_common +vmw_vsock_vmci_transport +vmwgfx +vp27smpx +vp_vdpa +vport-geneve +vport-gre +vport-vxlan +vpx3220 +vqmmc-ipq4019-regulator +vrf +vringh +vs6624 +vsock +vsock_diag +vsock_loopback +vsockmon +vsp1 +vsxxxaa +vt1211 +vt6655_stage +vt6656_stage +vt8231 +vt8623fb +vub300 +vx855 +vxcan +vxge +vxlan +vz89x +w1-gpio +w1_ds2405 +w1_ds2406 +w1_ds2408 +w1_ds2413 +w1_ds2423 +w1_ds2430 +w1_ds2431 +w1_ds2433 +w1_ds2438 +w1_ds250x +w1_ds2780 +w1_ds2781 +w1_ds2805 +w1_ds28e04 +w1_ds28e17 +w1_smem +w1_therm +w5100 +w5100-spi +w5300 +w6692 +w83627ehf +w83627hf +w83773g +w83781d +w83791d +w83792d +w83793 +w83795 +w83l785ts +w83l786ng +wacom +wacom_i2c +wacom_serial4 +wacom_w8001 +walkera0701 +wanxl +warrior +wcd934x +wcn36xx +wcnss_ctrl +wd719x +wdat_wdt +wdt87xx_i2c +wdt_pci +wfx +whiteheat +wil6210 +wilc1000 +wilc1000-sdio +wilc1000-spi +winbond-840 +wire +wireguard +wishbone-serial +wl1251 +wl1251_sdio +wl1251_spi +wl1273-core +wl12xx +wl18xx +wlcore +wlcore_sdio +wlcore_spi +wm831x-dcdc +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x-ts +wm831x_backup +wm831x_bl +wm831x_power +wm831x_wdt +wm8350-hwmon +wm8350-regulator +wm8350_power +wm8350_wdt +wm8400-regulator +wm8739 +wm8775 +wm8994 +wm8994-regulator +wm97xx-ts +wp512 +wusb3801 +wwan_hwsim +x25 +x_tables +xbox_remote +xc2028 +xc4000 +xc5000 +xcbc +xdpe12284 +xdpe152c4 +xen-blkback +xen-evtchn +xen-fbfront +xen-front-pgdir-shbuf +xen-gntalloc +xen-gntdev +xen-hcd +xen-kbdfront +xen-netback +xen-pciback +xen-privcmd +xen-scsiback +xen-scsifront +xen-tpmfront +xen_wdt +xenfs +xfrm4_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_interface +xfrm_ipcomp +xfrm_user +xfs +xgene-dma +xgene-enet +xgene-enet-v2 +xgene-hwmon +xgene-rng +xgene_edac +xhci-histb +xhci-mtk-hcd +xhci-pci +xhci-pci-renesas +xhci-plat-hcd +xhci-tegra +xilinx-ams +xilinx-csi2rxss +xilinx-pr-decoupler +xilinx-spi +xilinx-tpg +xilinx-video +xilinx-vtc +xilinx-xadc +xilinx_can +xilinx_dma +xilinx_dpdma +xilinx_emac +xilinx_emaclite +xilinx_gmii2rgmii +xilinx_sdfec +xilinx_uartps +xilinxfb +xillybus_class +xillybus_core +xillybus_of +xillybus_pcie +xillyusb +xiphera-trng +xircom_cb +xlnx_vcu +xor +xor-neon +xpad +xr_serial +xrs700x +xrs700x_i2c +xrs700x_mdio +xsens_mt +xsk_diag +xt_AUDIT +xt_CHECKSUM +xt_CLASSIFY +xt_CONNSECMARK +xt_CT +xt_DSCP +xt_HL +xt_HMARK +xt_IDLETIMER +xt_LED +xt_LOG +xt_MASQUERADE +xt_NETMAP +xt_NFLOG +xt_NFQUEUE +xt_RATEEST +xt_REDIRECT +xt_SECMARK +xt_TCPMSS +xt_TCPOPTSTRIP +xt_TEE +xt_TPROXY +xt_TRACE +xt_addrtype +xt_bpf +xt_cgroup +xt_cluster +xt_comment +xt_connbytes +xt_connlabel +xt_connlimit +xt_connmark +xt_conntrack +xt_cpu +xt_dccp +xt_devgroup +xt_dscp +xt_ecn +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_ipcomp +xt_iprange +xt_ipvs +xt_l2tp +xt_length +xt_limit +xt_mac +xt_mark +xt_multiport +xt_nat +xt_nfacct +xt_osf +xt_owner +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_rateest +xt_realm +xt_recent +xt_sctp +xt_set +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_tcpudp +xt_time +xt_u32 +xtkbd +xusbatm +xxhash_generic +xz_dec_test +yam +yamaha-yas530 +yealink +yellowfin +yenta_socket +yurex +z3fold +zaurus +zavl +zcommon +zd1201 +zd1211rw +zd1301 +zd1301_demod +zet6223 +zforce_ts +zfs +zhenhua +ziirave_wdt +zinitix +zl10036 +zl10039 +zl10353 +zl6100 +zlua +znvpair +zonefs +zopt2201 +zpa2326 +zpa2326_i2c +zpa2326_spi +zr364xx +zram +zstd +zunicode +zynqmp-aes-gcm +zynqmp-dpsub +zynqmp-fpga +zynqmp-sha +zynqmp_dma +zzstd --- linux-gcp-5.19.0.orig/debian.master/abi/arm64/generic-64k.retpoline +++ linux-gcp-5.19.0/debian.master/abi/arm64/generic-64k.retpoline @@ -0,0 +1 @@ +# RETPOLINE NOT ENABLED --- linux-gcp-5.19.0.orig/debian.master/abi/arm64/generic.compiler +++ linux-gcp-5.19.0/debian.master/abi/arm64/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 12.2.0-3ubuntu1) 12.2.0 --- linux-gcp-5.19.0.orig/debian.master/abi/arm64/generic.modules +++ linux-gcp-5.19.0/debian.master/abi/arm64/generic.modules @@ -0,0 +1,7187 @@ +3c59x +3w-9xxx +3w-sas +3w-xxxx +6lowpan +6pack +8021q +8139cp +8139too +8250_aspeed_vuart +8250_bcm7271 +8250_exar +8250_men_mcb +8250_pericom +8255 +8255_pci +8390 +842 +842_compress +842_decompress +88pg86x +88pm800 +88pm800-regulator +88pm805 +88pm80x +88pm80x_onkey +88pm8607 +88pm860x-ts +88pm860x_battery +88pm860x_bl +88pm860x_charger +88pm860x_onkey +9p +9pnet +9pnet_fd +9pnet_rdma +9pnet_virtio +9pnet_xen +a100u2w +a3d +a53-pll +a7-pll +a8293 +aacraid +aat2870-regulator +aat2870_bl +abp060mg +ac97_bus +acard-ahci +acecad +acenic +acp_audio_dma +acpi-als +acpi_configfs +acpi_ipmi +acpi_power_meter +acpi_tad +acpiphp_ibm +act8865-regulator +act8945a +act8945a-regulator +act8945a_charger +act_bpf +act_connmark +act_csum +act_ct +act_ctinfo +act_gact +act_gate +act_ipt +act_mirred +act_mpls +act_nat +act_pedit +act_police +act_sample +act_simple +act_skbedit +act_skbmod +act_tunnel_key +act_vlan +ad2s1200 +ad2s1210 +ad2s90 +ad3552r +ad5064 +ad5110 +ad525x_dpot +ad525x_dpot-i2c +ad525x_dpot-spi +ad5272 +ad5360 +ad5380 +ad5398 +ad5421 +ad5446 +ad5449 +ad5504 +ad5592r +ad5592r-base +ad5593r +ad5624r_spi +ad5686 +ad5686-spi +ad5696-i2c +ad5755 +ad5758 +ad5761 +ad5764 +ad5766 +ad5770r +ad5791 +ad5820 +ad5933 +ad7091r-base +ad7091r5 +ad7124 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7192 +ad7266 +ad7280a +ad7291 +ad7292 +ad7293 +ad7298 +ad7303 +ad7314 +ad7414 +ad7418 +ad74413r +ad7476 +ad7606 +ad7606_par +ad7606_spi +ad7746 +ad7766 +ad7768-1 +ad7780 +ad7791 +ad7793 +ad7816 +ad7877 +ad7879 +ad7879-i2c +ad7879-spi +ad7887 +ad7923 +ad7949 +ad799x +ad8366 +ad8801 +ad9389b +ad9467 +ad9523 +ad9832 +ad9834 +ad_sigma_delta +ada4250 +adc-joystick +adc-keys +adc128d818 +adcxx +addi_apci_1032 +addi_apci_1500 +addi_apci_1516 +addi_apci_1564 +addi_apci_16xx +addi_apci_2032 +addi_apci_2200 +addi_apci_3120 +addi_apci_3501 +addi_apci_3xxx +addi_watchdog +ade7854 +ade7854-i2c +ade7854-spi +adf4350 +adf4371 +adf7242 +adfs +adi +adi-axi-adc +adiantum +adin +adin1100 +adis16080 +adis16130 +adis16136 +adis16201 +adis16203 +adis16209 +adis16240 +adis16260 +adis16400 +adis16460 +adis16475 +adis16480 +adis_lib +adjd_s311 +adl_pci6208 +adl_pci7x3x +adl_pci8164 +adl_pci9111 +adl_pci9118 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm1177 +adm1266 +adm1275 +adm8211 +adm9240 +admv1013 +admv1014 +admv4420 +admv8818 +adp1653 +adp5061 +adp5520-keys +adp5520_bl +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +adq12b +adrf6780 +ads7828 +ads7846 +ads7871 +adt7310 +adt7316 +adt7316-i2c +adt7316-spi +adt7410 +adt7411 +adt7462 +adt7470 +adt7475 +adt7x10 +adummy +adutux +adux1020 +adv7170 +adv7175 +adv7180 +adv7183 +adv7343 +adv7393 +adv748x +adv7511 +adv7604 +adv7842 +adv_pci1710 +adv_pci1720 +adv_pci1723 +adv_pci1724 +adv_pci1760 +adv_pci_dio +advansys +adxl313_core +adxl313_i2c +adxl313_spi +adxl34x +adxl34x-i2c +adxl34x-spi +adxl355_core +adxl355_i2c +adxl355_spi +adxl367 +adxl367_i2c +adxl367_spi +adxl372 +adxl372_i2c +adxl372_spi +adxrs290 +adxrs450 +aegis128 +aes-arm64 +aes-ce-blk +aes-ce-ccm +aes-ce-cipher +aes-neon-blk +aes-neon-bs +aes_ti +af9013 +af9033 +af_alg +af_key +af_packet_diag +afe4403 +afe4404 +affs +afs +ah4 +ah6 +ahci +ahci_brcm +ahci_ceva +ahci_mtk +ahci_mvebu +ahci_platform +ahci_qoriq +ahci_seattle +ahci_tegra +ahci_xgene +aht10 +aic79xx +aic7xxx +aic94xx +aio_aio12_8 +aio_iiro_16 +aiptek +aircable +airspy +ak7375 +ak881x +ak8974 +ak8975 +al3010 +al3320a +alcor +alcor_pci +algif_aead +algif_hash +algif_rng +algif_skcipher +alim7101_wdt +allegro +altera-ci +altera-cvp +altera-fpga2sdram +altera-freeze-bridge +altera-hps2fpga +altera-msgdma +altera-pr-ip-core +altera-pr-ip-core-plat +altera-ps-spi +altera-stapl +altera_jtaguart +altera_ps2 +altera_tse +altera_uart +alx +am2315 +am53c974 +am65-cpts +amba-clcd +amba-pl010 +ambakmi +amc6821 +amd +amd-xgbe +amd5536udc_pci +amd8111e +amdgpu +amlogic-gxl-crypto +amlogic_thermal +amphion-vpu +amplc_dio200 +amplc_dio200_common +amplc_dio200_pci +amplc_pc236 +amplc_pc236_common +amplc_pc263 +amplc_pci224 +amplc_pci230 +amplc_pci236 +amplc_pci263 +ams-iaq-core +ams369fg06 +amt +analog +analogix-anx6345 +analogix-anx78xx +analogix_dp +anatop-regulator +ansi_cprng +anx7625 +anybuss_core +ao-cec +ao-cec-g12a +aoe +apbps2 +apcs-msm8916 +apcs-sdx55 +apds9300 +apds9802als +apds990x +apds9960 +apple-dart +apple-mailbox +apple-mfi-fastcharge +apple-rtkit +apple-sart +apple_wdt +appledisplay +appletalk +appletouch +applicom +apr +apss-ipq-pll +apss-ipq6018 +aptina-pll +aqc111 +aquacomputer_d5next +aquantia +ar1021_i2c +ar5523 +ar7part +ar9331 +arasan-nand-controller +arc-rawmode +arc-rimi +arc_emac +arc_ps2 +arc_uart +arcmsr +arcnet +arcpgu +arcx-anybus +arcxcnn_bl +arizona +arizona-haptics +arizona-i2c +arizona-ldo1 +arizona-micsupp +arizona-spi +ark3116 +arkfb +arm-cmn +arm_dmc620_pmu +arm_dsu_pmu +arm_mhu +arm_mhu_db +arm_mhuv2 +arm_scpi +arm_smc_wdt +arm_smccc_trng +arm_smmuv3_pmu +arm_spe_pmu +armada-37xx-cpufreq +armada-37xx-rwtm-mailbox +armada-8k-cpufreq +armada_37xx_wdt +arp_tables +arpt_mangle +arptable_filter +as102_fe +as370-hwmon +as3711-regulator +as3711_bl +as3722-regulator +as3935 +as5011 +as73211 +asc7621 +ascot2e +asix +aspeed-pwm-tacho +aspeed-video +ast +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +at803x +at86rf230 +ata_generic +ata_piix +atbm8830 +atc260x-core +atc260x-i2c +atc260x-onkey +atc260x-poweroff +atc260x-regulator +aten +ath +ath10k_core +ath10k_pci +ath10k_sdio +ath10k_snoc +ath10k_usb +ath11k +ath11k_ahb +ath11k_pci +ath3k +ath5k +ath6kl_core +ath6kl_sdio +ath6kl_usb +ath9k +ath9k_common +ath9k_htc +ath9k_hw +ath9k_pci_owl_loader +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atlantic +atlas-ezo-sensor +atlas-sensor +atm +atmel +atmel-ecc +atmel-flexcom +atmel-hlcdc +atmel-i2c +atmel-sha204a +atmel_captouch +atmel_mxt_ts +atmel_pci +atmtcp +atp870u +atusb +atxp1 +aty128fb +atyfb +au0828 +au8522_common +au8522_decoder +au8522_dig +auo-pixcir-ts +auth_rpcgss +authenc +authencesn +autofs4 +avmfritz +ax25 +ax88179_178a +ax88796b +ax88796c +axg-audio +axi-fan-control +axis-fifo +axp20x +axp20x-i2c +axp20x-pek +axp20x-regulator +axp20x-rsb +axp20x_ac_power +axp20x_adc +axp20x_battery +axp20x_usb_power +axp288_adc +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b43 +b43legacy +b44 +b53_common +b53_mdio +b53_mmap +b53_serdes +b53_spi +b53_srab +ba431-rng +bam_dma +bareudp +batman-adv +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcache +bch +bcm-flexrm-mailbox +bcm-keypad +bcm-pdc-mailbox +bcm-phy-lib +bcm-sba-raid +bcm-sf2 +bcm203x +bcm2711_thermal +bcm2835 +bcm2835-mmal-vchiq +bcm2835-rng +bcm2835-v4l2 +bcm2835_thermal +bcm2835_wdt +bcm3510 +bcm4908_enet +bcm54140 +bcm590xx +bcm590xx-regulator +bcm5974 +bcm63138_nand +bcm6368_nand +bcm63xx_uart +bcm7038_wdt +bcm7xxx +bcm87xx +bcm_crypto_spu +bcm_iproc_adc +bcm_iproc_tsc +bcm_vk +bcma +bcma-hcd +bcmsysport +bd6107 +bd71815-regulator +bd71828-regulator +bd718x7-regulator +bd9571mwv +bd9571mwv-regulator +bd9576-regulator +bd9576_wdt +bd99954-charger +bdc +be2iscsi +be2net +befs +bel-pfe +belkin_sa +berlin2-adc +bfa +bfq +bfs +bfusb +bh1750 +bh1770glc +bh1780 +binder_linux +binfmt_misc +blake2b_generic +block2mtd +blocklayoutdriver +blowfish_common +blowfish_generic +bluefield_edac +bluetooth +bluetooth_6lowpan +bma150 +bma220_spi +bma400_core +bma400_i2c +bma400_spi +bman-test +bmc150-accel-core +bmc150-accel-i2c +bmc150-accel-spi +bmc150_magn +bmc150_magn_i2c +bmc150_magn_spi +bme680_core +bme680_i2c +bme680_spi +bmg160_core +bmg160_i2c +bmg160_spi +bmi088-accel-core +bmi088-accel-spi +bmi160_core +bmi160_i2c +bmi160_spi +bmp280 +bmp280-i2c +bmp280-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bnxt_en +bnxt_re +bochs +bonding +bpa-rs600 +bpa10x +bpck +bpfilter +bpqether +bq2415x_charger +bq24190_charger +bq24257_charger +bq24735-charger +bq2515x_charger +bq256xx_charger +bq25890_charger +bq25980_charger +bq27xxx_battery +bq27xxx_battery_hdq +bq27xxx_battery_i2c +br2684 +br_netfilter +brcmfmac +brcmnand +brcmsmac +brcmstb-avs-cpufreq +brcmstb-usb-pinmap +brcmstb_nand +brcmstb_thermal +brcmutil +brd +bridge +broadcom +bsd_comp +bt819 +bt856 +bt866 +bt878 +btbcm +btcoexist +btintel +btmrvl +btmrvl_sdio +btmtk +btmtksdio +btmtkuart +btqca +btqcomsmd +btrfs +btrsi +btrtl +btsdio +bttv +btusb +bu21013_ts +bu21029_ts +budget +budget-av +budget-ci +budget-core +budget-patch +c67x00 +c6xdigio +c_can +c_can_pci +c_can_platform +ca8210 +caam +caam_jr +caamalg_desc +caamhash_desc +cachefiles +cadence-nand-controller +cadence_wdt +cafe_ccic +cafe_nand +caif +caif_serial +caif_socket +caif_usb +caif_virtio +camcc-sc7180 +camcc-sc7280 +camcc-sdm845 +camcc-sm8250 +camellia_generic +can +can-bcm +can-dev +can-gw +can-isotp +can-j1939 +can-raw +cap11xx +capmode +capsule-loader +carl9170 +carminefb +cassini +cast5_generic +cast6_generic +cast_common +catc +cavium-rng +cavium-rng-vf +cavium_ptp +cb710 +cb710-mmc +cb_pcidas +cb_pcidas64 +cb_pcidda +cb_pcimdas +cb_pcimdda +cc10001_adc +cc2520 +cc770 +cc770_isa +cc770_platform +ccm +ccp +ccp-crypto +ccree +ccs +ccs-pll +ccs811 +cctrng +cdc-acm +cdc-phonet +cdc-wdm +cdc_eem +cdc_ether +cdc_mbim +cdc_ncm +cdc_subset +cdns-csi2rx +cdns-csi2tx +cdns-dphy +cdns-dphy-rx +cdns-dsi +cdns-mhdp8546 +cdns-pltfrm +cdns-usb-common +cdns3 +cdns3-imx +cdns3-pci-wrap +cdns3-ti +cdnsp-udc-pci +cec +cec-gpio +ceph +cfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch +ch341 +ch7006 +ch7322 +ch9200 +ch_ipsec +ch_ktls +chacha-neon +chacha20poly1305 +chacha_generic +chaoskey +charlcd +chcr +chipone-icn6211 +chipone_icn8318 +chipone_icn8505 +chipreg +chnl_net +chromeos_acpi +chromeos_privacy_screen +chromeos_tbmc +chrontel-ch7033 +ci_hdrc +ci_hdrc_imx +ci_hdrc_msm +ci_hdrc_pci +ci_hdrc_tegra +ci_hdrc_usb2 +cicada +cifs +cifs_arc4 +cifs_md4 +cirrus +cirrusfb +clip +clk-apple-nco +clk-axi-clkgen +clk-bcm2711-dvp +clk-bd718x7 +clk-cdce706 +clk-cdce925 +clk-cpu-8996 +clk-cs2000-cp +clk-fsl-flexspi +clk-hi3519 +clk-hi655x +clk-imx8ulp +clk-imx93 +clk-lmk04832 +clk-lochnagar +clk-max77686 +clk-max9485 +clk-palmas +clk-phase +clk-plldig +clk-pwm +clk-qcom +clk-raspberrypi +clk-renesas-pcie +clk-rk808 +clk-rpm +clk-rpmh +clk-s2mps11 +clk-scmi +clk-scpi +clk-si514 +clk-si5341 +clk-si5351 +clk-si544 +clk-si570 +clk-smd-rpm +clk-spmi-pmic-div +clk-sprd +clk-twl6040 +clk-versaclock5 +clk-wm831x +clk-xlnx-clock-wizard +cls_basic +cls_bpf +cls_cgroup +cls_flow +cls_flower +cls_fw +cls_matchall +cls_route +cls_rsvp +cls_rsvp6 +cls_u32 +cm109 +cm32181 +cm3232 +cm3323 +cm3605 +cm36651 +cma3000_d0x +cma3000_d0x_i2c +cmac +cmdlinepart +cmtp +cn10k-rng +cnic +cobra +coda +coda-vpu +colibri-vf50-ts +com20020 +com20020-pci +com90io +com90xx +comedi +comedi_8254 +comedi_8255 +comedi_bond +comedi_example_test +comedi_parport +comedi_pci +comedi_test +comedi_usb +comm +contec_pci_dio +cordic +core +corsair-cpro +corsair-psu +cortina +counter +cp210x +cpcap-adc +cpcap-battery +cpcap-charger +cpcap-pwrbutton +cpcap-regulator +cpia2 +cppc_cpufreq +cpr +cptpf +cptvf +cqhci +cramfs +crc-itu-t +crc32_generic +crc4 +crc7 +crct10dif-ce +crg-hi3516cv300 +crg-hi3798cv200 +cros-ec-anx7688 +cros-ec-cec +cros-ec-regulator +cros-ec-sensorhub +cros_ec +cros_ec_accel_legacy +cros_ec_baro +cros_ec_chardev +cros_ec_debugfs +cros_ec_dev +cros_ec_i2c +cros_ec_keyb +cros_ec_lid_angle +cros_ec_light_prox +cros_ec_lightbar +cros_ec_mkbp_proximity +cros_ec_rpmsg +cros_ec_sensors +cros_ec_sensors_core +cros_ec_spi +cros_ec_sysfs +cros_ec_typec +cros_ec_vbc +cros_kbd_led_backlight +cros_peripheral_charger +cros_usbpd-charger +cros_usbpd_logger +cros_usbpd_notify +cryptd +crypto_engine +crypto_safexcel +crypto_user +cs3308 +cs5345 +cs53l32a +cs_dsp +csiostor +ctucanfd +ctucanfd_pci +ctucanfd_platform +curve25519-generic +cuse +cw1200_core +cw1200_wlan_sdio +cw1200_wlan_spi +cw2015_battery +cx18 +cx18-alsa +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24117 +cx24120 +cx24123 +cx25821 +cx25821-alsa +cx25840 +cx82310_eth +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx8800 +cx8802 +cx88xx +cxacru +cxd2099 +cxd2820r +cxd2841er +cxd2880 +cxd2880-spi +cxgb +cxgb3 +cxgb3i +cxgb4 +cxgb4i +cxgb4vf +cxgbit +cxl_acpi +cxl_core +cxl_mem +cxl_pci +cxl_pmem +cxl_port +cy8ctma140 +cy8ctmg110_ts +cyapatp +cyber2000fb +cyberjack +cypress-sf +cypress_cy7c63 +cypress_firmware +cypress_m8 +cytherm +cyttsp4_core +cyttsp4_i2c +cyttsp4_spi +cyttsp_core +cyttsp_i2c +cyttsp_i2c_common +cyttsp_spi +da280 +da311 +da7280 +da9030_battery +da9034-ts +da903x-regulator +da903x_bl +da9052-battery +da9052-hwmon +da9052-regulator +da9052_bl +da9052_onkey +da9052_tsi +da9052_wdt +da9055-hwmon +da9055-regulator +da9055_onkey +da9055_wdt +da9062-core +da9062-regulator +da9062-thermal +da9062_wdt +da9063-regulator +da9063_onkey +da9063_wdt +da9121-regulator +da9150-charger +da9150-core +da9150-fg +da9150-gpadc +da9210-regulator +da9211-regulator +dac02 +daqboard2000 +das08 +das08_isa +das08_pci +das16 +das16m1 +das1800 +das6402 +das800 +davicom +dax_hmem +dax_pmem +db9 +dc395x +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +ddbridge +ddbridge-dummy-fe +de2104x +decnet +defxx +delta-ahe50dc-fan +denali +denali_dt +denali_pci +des_generic +designware_i2s +device_dax +dfl +dfl-afu +dfl-emif +dfl-fme +dfl-fme-br +dfl-fme-mgr +dfl-fme-region +dfl-n3000-nios +dfl-pci +dht11 +diag +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +digicolor-usart +diskonchip +dispcc-qcm2290 +dispcc-sc7180 +dispcc-sc7280 +dispcc-sdm845 +dispcc-sm6125 +dispcc-sm6350 +dispcc-sm8250 +display-connector +dl2k +dlhl60d +dlink-dir685-touchkeys +dlm +dln2 +dln2-adc +dm-bio-prison +dm-bufio +dm-cache +dm-cache-smq +dm-clone +dm-crypt +dm-delay +dm-ebs +dm-era +dm-flakey +dm-historical-service-time +dm-integrity +dm-io-affinity +dm-log +dm-log-userspace +dm-log-writes +dm-mirror +dm-multipath +dm-persistent-data +dm-queue-length +dm-raid +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dm-switch +dm-thin-pool +dm-unstripe +dm-verity +dm-writecache +dm-zero +dm-zoned +dm1105 +dm9601 +dma-axi-dmac +dmard06 +dmard09 +dmard10 +dmc520_edac +dme1737 +dmfe +dmi-sysfs +dmm32at +dmx3191d +dn_rtmsg +dnet +dp83640 +dp83822 +dp83848 +dp83867 +dp83869 +dp83tc811 +dp83td510 +dpaa2-console +dpaa2-qdma +dpaa2_caam +dpdmai +dpot-dac +dps310 +dps920ab +drbd +drivetemp +drm +drm_cma_helper +drm_display_helper +drm_dp_aux_bus +drm_kms_helper +drm_mipi_dbi +drm_shmem_helper +drm_ttm_helper +drm_vram_helper +drm_xen_front +drv260x +drv2665 +drv2667 +drx39xyj +drxd +drxk +ds1621 +ds1682 +ds1803 +ds1wm +ds2482 +ds2490 +ds2760_battery +ds2780_battery +ds2781_battery +ds2782_battery +ds3000 +ds4424 +ds620 +dsa_core +dsbr100 +dst +dst_ca +dstr +dt2801 +dt2811 +dt2814 +dt2815 +dt2817 +dt282x +dt3000 +dt3155 +dt9812 +dtpm +dummy +dummy-irq +dummy_stm +dvb-as102 +dvb-bt8xx +dvb-core +dvb-pll +dvb-ttpci +dvb-ttusb-budget +dvb-usb +dvb-usb-a800 +dvb-usb-af9005 +dvb-usb-af9005-remote +dvb-usb-af9015 +dvb-usb-af9035 +dvb-usb-anysee +dvb-usb-au6610 +dvb-usb-az6007 +dvb-usb-az6027 +dvb-usb-ce6230 +dvb-usb-cinergyT2 +dvb-usb-cxusb +dvb-usb-dib0700 +dvb-usb-dibusb-common +dvb-usb-dibusb-mb +dvb-usb-dibusb-mc +dvb-usb-dibusb-mc-common +dvb-usb-digitv +dvb-usb-dtt200u +dvb-usb-dtv5100 +dvb-usb-dvbsky +dvb-usb-dw2102 +dvb-usb-ec168 +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-lmedm04 +dvb-usb-m920x +dvb-usb-mxl111sf +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-pctv452e +dvb-usb-rtl28xxu +dvb-usb-technisat-usb2 +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +dvb_dummy_fe +dvb_usb_v2 +dw-axi-dmac-platform +dw-edma +dw-edma-pcie +dw-hdmi +dw-hdmi-ahb-audio +dw-hdmi-cec +dw-hdmi-gp-audio +dw-hdmi-i2s-audio +dw-i3c-master +dw-mipi-dsi +dw-xdata-pcie +dw9714 +dw9768 +dw9807-vcm +dw_dmac +dw_dmac_core +dw_dmac_pci +dw_drm_dsi +dw_mmc +dw_mmc-bluefield +dw_mmc-exynos +dw_mmc-hi3798cv200 +dw_mmc-k3 +dw_mmc-pci +dw_mmc-pltfm +dw_mmc-rockchip +dw_wdt +dwc-xlgmac +dwc2_pci +dwc3 +dwc3-am62 +dwc3-haps +dwc3-imx8mp +dwc3-keystone +dwc3-meson-g12a +dwc3-of-simple +dwc3-pci +dwc3-qcom +dwc3-xilinx +dwmac-altr-socfpga +dwmac-dwc-qos-eth +dwmac-generic +dwmac-imx +dwmac-intel-plat +dwmac-ipq806x +dwmac-loongson +dwmac-mediatek +dwmac-meson +dwmac-meson8b +dwmac-qcom-ethqos +dwmac-rk +dwmac-sun8i +dwmac-visconti +dyna_pci10xx +dynapro +e100 +e1000 +e1000e +e3x0-button +e4000 +earth-pt1 +earth-pt3 +ebt_802_3 +ebt_among +ebt_arp +ebt_arpreply +ebt_dnat +ebt_ip +ebt_ip6 +ebt_limit +ebt_log +ebt_mark +ebt_mark_m +ebt_nflog +ebt_pkttype +ebt_redirect +ebt_snat +ebt_stp +ebt_vlan +ebtable_broute +ebtable_filter +ebtable_nat +ebtables +ec100 +ec_sys +ecc +ecc-mtk +ecdh_generic +ecdsa_generic +echainiv +echo +ecrdsa_generic +edt-ft5x06 +ee1004 +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efa +efct +efi-pstore +efi_test +efibc +efs +egalax_ts +egalax_ts_serial +ehci-brcm +ehci-fsl +ehci-platform +ehset +einj +ektf2127 +elan_i2c +elants_i2c +elo +em28xx +em28xx-alsa +em28xx-dvb +em28xx-rc +em28xx-v4l +em_canid +em_cmp +em_ipset +em_ipt +em_meta +em_nbyte +em_text +em_u32 +emac_rockchip +emc1403 +emc2103 +emc6w201 +emi26 +emi62 +empeg +ems_pci +ems_usb +emu10k1-gp +emxx_udc +ena +enc28j60 +enclosure +encx24j600 +encx24j600-regmap +ene_ir +eni +enic +envelope-detector +epat +epia +epic100 +eql +erofs +error +esas2r +esd_usb2 +esp4 +esp4_offload +esp6 +esp6_offload +esp_scsi +essiv +et1011c +et131x +et8ek8 +etas_es58x +ethoc +etnaviv +evbug +exc3000 +exfat +extcon-adc-jack +extcon-fsa9480 +extcon-gpio +extcon-max14577 +extcon-max3355 +extcon-max77693 +extcon-max77843 +extcon-max8997 +extcon-palmas +extcon-ptn5150 +extcon-qcom-spmi-misc +extcon-rt8973a +extcon-sm5502 +extcon-usb-gpio +extcon-usbc-cros-ec +extcon-usbc-tusb320 +ezusb +f2fs +f71805f +f71882fg +f75375s +f81232 +f81534 +f81601 +failover +fakelb +fan53555 +fan53880 +farsync +fastrpc +faulty +fb_agm1264k-fl +fb_bd663474 +fb_ddc +fb_hx8340bn +fb_hx8347d +fb_hx8353d +fb_hx8357d +fb_ili9163 +fb_ili9320 +fb_ili9325 +fb_ili9340 +fb_ili9341 +fb_ili9481 +fb_ili9486 +fb_pcd8544 +fb_ra8875 +fb_s6d02a1 +fb_s6d1121 +fb_seps525 +fb_sh1106 +fb_ssd1289 +fb_ssd1305 +fb_ssd1306 +fb_ssd1325 +fb_ssd1331 +fb_ssd1351 +fb_st7735r +fb_st7789v +fb_sys_fops +fb_tinylcd +fb_tls8204 +fb_uc1611 +fb_uc1701 +fb_upd161704 +fbtft +fc0011 +fc0012 +fc0013 +fc2580 +fcoe +fcrypt +fdomain +fdomain_pci +fdp +fdp_i2c +fealnx +ff-memless +ffa-module +fieldbus_dev +fintek-cir +firedtv +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +firewire-serial +fit2 +fit3 +fixed +fjes +fl512 +flexcan +fm10k +fm801-gp +fm_drv +forcedeth +fore_200e +fotg210-hcd +fotg210-udc +fou +fou6 +fpga-bridge +fpga-mgr +fpga-region +freevxfs +friq +frpw +fsa4480 +fscache +fsi-core +fsi-master-aspeed +fsi-master-gpio +fsi-master-hub +fsi-occ +fsi-sbefifo +fsi-scom +fsia6b +fsl-dpaa2-eth +fsl-dpaa2-ptp +fsl-dpaa2-switch +fsl-edma +fsl-edma-common +fsl-enetc +fsl-enetc-ierb +fsl-enetc-mdio +fsl-enetc-ptp +fsl-enetc-vf +fsl-ldb +fsl-mc-dpio +fsl-mph-dr-of +fsl-qdma +fsl_dpa +fsl_ifc_nand +fsl_imx8_ddr_perf +fsl_linflexuart +fsl_lpuart +fsl_pq_mdio +fsl_ucc_hdlc +fsp-3y +ftdi-elan +ftdi_sio +ftl +ftm-quaddec +ftsteutates +fujitsu_ts +funcore +funeth +fusb302 +fxas21002c_core +fxas21002c_i2c +fxas21002c_spi +fxls8962af-core +fxls8962af-i2c +fxls8962af-spi +fxos8700_core +fxos8700_i2c +fxos8700_spi +g450_pll +g760a +g762 +g_acm_ms +g_audio +g_cdc +g_dbgp +g_ether +g_ffs +g_hid +g_mass_storage +g_midi +g_ncm +g_nokia +g_printer +g_serial +g_webcam +g_zero +gadgetfs +gamecon +gameport +garmin_gps +garp +gateworks-gsc +gb-audio-apbridgea +gb-audio-codec +gb-audio-gb +gb-audio-manager +gb-audio-module +gb-bootrom +gb-es2 +gb-firmware +gb-gbphy +gb-gpio +gb-hid +gb-i2c +gb-light +gb-log +gb-loopback +gb-power-supply +gb-pwm +gb-raw +gb-sdio +gb-spi +gb-spilib +gb-uart +gb-usb +gb-vibrator +gcc-apq8084 +gcc-ipq4019 +gcc-ipq6018 +gcc-ipq806x +gcc-ipq8074 +gcc-mdm9607 +gcc-mdm9615 +gcc-msm8660 +gcc-msm8916 +gcc-msm8939 +gcc-msm8953 +gcc-msm8960 +gcc-msm8974 +gcc-msm8976 +gcc-msm8994 +gcc-msm8996 +gcc-msm8998 +gcc-qcm2290 +gcc-qcs404 +gcc-sc7180 +gcc-sc7280 +gcc-sc8180x +gcc-sc8280xp +gcc-sdm660 +gcc-sdm845 +gcc-sdx55 +gcc-sdx65 +gcc-sm6115 +gcc-sm6125 +gcc-sm6350 +gcc-sm8150 +gcc-sm8250 +gcc-sm8350 +gcc-sm8450 +gdmtty +gdmulte +ge2d +gemini +gen_probe +generic +generic-adc-battery +genet +geneve +genwqe_card +gf2k +gfs2 +ghash-ce +gianfar_driver +gl518sm +gl520sm +gl620a +gluebi +gm12u320 +gnss +gnss-mtk +gnss-serial +gnss-sirf +gnss-ubx +gnss-usb +go7007 +go7007-loader +go7007-usb +goku_udc +goldfish_battery +goodix_ts +gp2ap002 +gp2ap020a00f +gp8psk-fe +gpi +gpio +gpio-74x164 +gpio-74xx-mmio +gpio-adnp +gpio-adp5520 +gpio-adp5588 +gpio-aggregator +gpio-altera +gpio-altera-a10sr +gpio-amd-fch +gpio-amdpt +gpio-arizona +gpio-bd71815 +gpio-bd71828 +gpio-bd9571mwv +gpio-beeper +gpio-brcmstb +gpio-cadence +gpio-charger +gpio-da9052 +gpio-da9055 +gpio-dln2 +gpio-dwapb +gpio-eic-sprd +gpio-exar +gpio-fan +gpio-grgpio +gpio-gw-pld +gpio-hisi +gpio-hlwd +gpio-ir-recv +gpio-ir-tx +gpio-janz-ttl +gpio-kempld +gpio-logicvc +gpio-lp3943 +gpio-lp873x +gpio-lp87565 +gpio-madera +gpio-max3191x +gpio-max7300 +gpio-max7301 +gpio-max730x +gpio-max732x +gpio-max77620 +gpio-max77650 +gpio-mb86s7x +gpio-mc33880 +gpio-menz127 +gpio-mlxbf +gpio-mlxbf2 +gpio-moxtet +gpio-pca953x +gpio-pca9570 +gpio-pcf857x +gpio-pci-idio-16 +gpio-pcie-idio-24 +gpio-pisosr +gpio-pmic-eic-sprd +gpio-raspberrypi-exp +gpio-rcar +gpio-rdc321x +gpio-regmap +gpio-regulator +gpio-rockchip +gpio-sama5d2-piobu +gpio-sim +gpio-siox +gpio-sl28cpld +gpio-sprd +gpio-syscon +gpio-thunderx +gpio-tpic2810 +gpio-tps65086 +gpio-tps65218 +gpio-tps65912 +gpio-tqmx86 +gpio-twl4030 +gpio-twl6040 +gpio-ucb1400 +gpio-vibra +gpio-viperboard +gpio-virtio +gpio-visconti +gpio-wcd934x +gpio-wm831x +gpio-wm8350 +gpio-wm8994 +gpio-xgene-sb +gpio-xgs-iproc +gpio-xlp +gpio-xra1403 +gpio-zynq +gpio-zynqmp-modepin +gpio_backlight +gpio_decoder +gpio_keys +gpio_keys_polled +gpio_mouse +gpio_wdt +gpmi-nand +gpu-sched +gpucc-msm8998 +gpucc-sc7180 +gpucc-sc7280 +gpucc-sdm660 +gpucc-sdm845 +gpucc-sm6350 +gpucc-sm8150 +gpucc-sm8250 +gr_udc +grace +grcan +gre +greybus +grip +grip_mp +gs1662 +gs_usb +gsc-hwmon +gsc_hpdi +gspca_benq +gspca_conex +gspca_cpia1 +gspca_dtcs033 +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_jl2005bcd +gspca_kinect +gspca_konica +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_nw80x +gspca_ov519 +gspca_ov534 +gspca_ov534_9 +gspca_pac207 +gspca_pac7302 +gspca_pac7311 +gspca_se401 +gspca_sn9c2028 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca1528 +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_sq930x +gspca_stk014 +gspca_stk1135 +gspca_stv0680 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_topro +gspca_touptek +gspca_tv8532 +gspca_vc032x +gspca_vicam +gspca_xirlink_cit +gspca_zc3xx +gtp +gud +guillemot +gunze +gve +habanalabs +hackrf +hamachi +hampshire +hantro-vpu +hanwang +hbmc-am654 +hci +hci_nokia +hci_uart +hci_vhci +hclge +hclgevf +hd3ss3220 +hd44780 +hd44780_common +hdc100x +hdc2010 +hdlc +hdlc_cisco +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdlcd +hdlcdrv +hdma +hdma_mgmt +hdpvr +he +helene +hellcreek_sw +hexium_gemini +hexium_orion +hfcmulti +hfcpci +hfcsusb +hfpll +hfs +hfsplus +hi311x +hi3660-mailbox +hi556 +hi6210-i2s +hi6220-mailbox +hi6220_reset +hi6421-pmic-core +hi6421-regulator +hi6421-spmi-pmic +hi6421v530-regulator +hi6421v600-irq +hi6421v600-regulator +hi655x-pmic +hi655x-regulator +hi8435 +hi846 +hi847 +hibmc-drm +hid +hid-a4tech +hid-accutouch +hid-alps +hid-apple +hid-appleir +hid-asus +hid-aureal +hid-axff +hid-belkin +hid-betopff +hid-bigbenff +hid-cherry +hid-chicony +hid-cmedia +hid-corsair +hid-cougar +hid-cp2112 +hid-creative-sb0540 +hid-cypress +hid-dr +hid-elan +hid-elecom +hid-elo +hid-emsff +hid-ezkey +hid-ft260 +hid-gaff +hid-gembird +hid-generic +hid-gfrm +hid-glorious +hid-google-hammer +hid-gt683r +hid-gyration +hid-holtek-kbd +hid-holtek-mouse +hid-holtekff +hid-hyperv +hid-icade +hid-ite +hid-jabra +hid-kensington +hid-keytouch +hid-kye +hid-lcpower +hid-led +hid-lenovo +hid-letsketch +hid-lg-g15 +hid-logitech +hid-logitech-dj +hid-logitech-hidpp +hid-macally +hid-magicmouse +hid-maltron +hid-mcp2221 +hid-megaworld +hid-mf +hid-microsoft +hid-monterey +hid-multitouch +hid-nintendo +hid-nti +hid-ntrig +hid-ortek +hid-penmount +hid-petalynx +hid-picolcd +hid-pl +hid-plantronics +hid-playstation +hid-primax +hid-prodikeys +hid-razer +hid-redragon +hid-retrode +hid-rmi +hid-roccat +hid-roccat-arvo +hid-roccat-common +hid-roccat-isku +hid-roccat-kone +hid-roccat-koneplus +hid-roccat-konepure +hid-roccat-kovaplus +hid-roccat-lua +hid-roccat-pyra +hid-roccat-ryos +hid-roccat-savu +hid-saitek +hid-samsung +hid-semitek +hid-sensor-accel-3d +hid-sensor-als +hid-sensor-custom +hid-sensor-custom-intel-hinge +hid-sensor-gyro-3d +hid-sensor-hub +hid-sensor-humidity +hid-sensor-iio-common +hid-sensor-incl-3d +hid-sensor-magn-3d +hid-sensor-press +hid-sensor-prox +hid-sensor-rotation +hid-sensor-temperature +hid-sensor-trigger +hid-sigmamicro +hid-sjoy +hid-sony +hid-speedlink +hid-steam +hid-steelseries +hid-sunplus +hid-thrustmaster +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-u2fzero +hid-uclogic +hid-udraw-ps3 +hid-viewsonic +hid-vivaldi +hid-vivaldi-common +hid-waltop +hid-wiimote +hid-xiaomi +hid-xinmo +hid-zpff +hid-zydacron +hideep +hidp +hih6130 +hinic +hip04_eth +hisi-acc-vfio-pci +hisi-rng +hisi-sfc +hisi-spmi-controller +hisi-trng-v2 +hisi504_nand +hisi_femac +hisi_hikey_usb +hisi_hpre +hisi_pcie_pmu +hisi_powerkey +hisi_qm +hisi_sas_main +hisi_sas_v1_hw +hisi_sas_v2_hw +hisi_sas_v3_hw +hisi_sec +hisi_sec2 +hisi_thermal +hisi_uncore_cpa_pmu +hisi_uncore_ddrc_pmu +hisi_uncore_hha_pmu +hisi_uncore_l3c_pmu +hisi_uncore_pa_pmu +hisi_uncore_pmu +hisi_uncore_sllc_pmu +hisi_zip +hix5hd2_gmac +hmc425a +hmc5843_core +hmc5843_i2c +hmc5843_spi +hmc6352 +hms-profinet +hnae +hnae3 +hns-roce-hw-v2 +hns3 +hns_dsaf +hns_enet_drv +hns_mdio +hopper +horus3a +host1x +hostap +hostap_pci +hostap_plx +hp03 +hp206c +hpfs +hpilo +hpsa +hptiop +hpwdt +hsi +hsi_char +hso +hsr +ht16k33 +htc-pasic3 +hte-tegra194 +hte-tegra194-test +hts221 +hts221_i2c +hts221_spi +htu21 +huawei_cdc_ncm +hv_balloon +hv_netvsc +hv_sock +hv_storvsc +hv_utils +hv_vmbus +hwmon-vid +hwpoison-inject +hx711 +hx8357 +hx8357d +hycon-hy46xx +hyperbus-core +hyperv-keyboard +hyperv_drm +hyperv_fb +i2c-algo-bit +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-altera +i2c-amd756 +i2c-amd8111 +i2c-apple +i2c-arb-gpio-challenge +i2c-bcm-iproc +i2c-bcm2835 +i2c-brcmstb +i2c-cbus-gpio +i2c-ccgx-ucsi +i2c-cp2615 +i2c-cros-ec-tunnel +i2c-demux-pinctrl +i2c-designware-pci +i2c-diolan-u2c +i2c-dln2 +i2c-fsi +i2c-gpio +i2c-hid +i2c-hid-acpi +i2c-hid-of +i2c-hid-of-goodix +i2c-hisi +i2c-hix5hd2 +i2c-i801 +i2c-imx +i2c-imx-lpi2c +i2c-isch +i2c-kempld +i2c-matroxfb +i2c-meson +i2c-mlxbf +i2c-mt65xx +i2c-mux +i2c-mux-gpio +i2c-mux-gpmux +i2c-mux-ltc4306 +i2c-mux-mlxcpld +i2c-mux-pca9541 +i2c-mux-pca954x +i2c-mux-pinctrl +i2c-mux-reg +i2c-mv64xxx +i2c-nforce2 +i2c-nomadik +i2c-nvidia-gpu +i2c-ocores +i2c-owl +i2c-parport +i2c-pca-platform +i2c-piix4 +i2c-pxa +i2c-qcom-cci +i2c-qcom-geni +i2c-qup +i2c-rcar +i2c-riic +i2c-rk3x +i2c-robotfuzz-osif +i2c-scmi +i2c-sh_mobile +i2c-simtec +i2c-sis5595 +i2c-sis630 +i2c-sis96x +i2c-slave-eeprom +i2c-smbus +i2c-stub +i2c-synquacer +i2c-taos-evm +i2c-tegra +i2c-tegra-bpmp +i2c-thunderx +i2c-tiny-usb +i2c-versatile +i2c-via +i2c-viapro +i2c-viperboard +i2c-virtio +i2c-xgene-slimpro +i2c-xiic +i2c-xlp9xx +i3c +i3c-master-cdns +i40e +i5k_amb +i6300esb +i740fb +iavf +ib_cm +ib_core +ib_ipoib +ib_iser +ib_isert +ib_mthca +ib_srp +ib_srpt +ib_umad +ib_uverbs +ibm-cffps +ibmaem +ibmpex +icc-bcm-voter +icc-osm-l3 +icc-rpmh +icc-smd-rpm +ice +ice40-spi +icp +icp10100 +icp_multi +icplus +ics932s401 +idma64 +idmouse +idt77252 +idt_89hpesx +idt_gen2 +idt_gen3 +idtcps +ieee802154 +ieee802154_6lowpan +ieee802154_socket +ifb +ifcvf +ife +ifi_canfd +iforce +iforce-serio +iforce-usb +igb +igbvf +igc +igorplugusb +iguanair +ii_pci20kc +iio-mux +iio-rescale +iio-trig-hrtimer +iio-trig-interrupt +iio-trig-loop +iio-trig-sysfs +iio_dummy +iio_hwmon +ila +ili210x +ili9163 +ili9225 +ili922x +ili9320 +ili9341 +ili9486 +ilitek_ts_i2c +imagis +img-ascii-lcd +img-i2s-in +img-i2s-out +img-parallel-out +img-spdif-in +img-spdif-out +imm +imon +imon_raw +ims-pcu +imx-audio-rpmsg +imx-bus +imx-common +imx-cpufreq-dt +imx-dcss +imx-dma +imx-dsp +imx-interconnect +imx-mailbox +imx-media-common +imx-mipi-csis +imx-pcm-dma +imx-pcm-rpmsg +imx-pxp +imx-sdma +imx208 +imx214 +imx219 +imx258 +imx274 +imx290 +imx2_wdt +imx319 +imx334 +imx335 +imx355 +imx412 +imx6q-cpufreq +imx6ul_tsc +imx7-media-csi +imx7d_adc +imx7ulp_wdt +imx8m-ddrc +imx8mm-interconnect +imx8mm_thermal +imx8mn-interconnect +imx8mq-interconnect +imx8mq-mipi-csi2 +imx8qxp-adc +imx_dsp_rproc +imx_keypad +imx_rproc +imx_sc_key +imx_sc_thermal +imx_sc_wdt +imx_thermal +imxfb +ina209 +ina238 +ina2xx +ina2xx-adc +ina3221 +industrialio +industrialio-buffer-cb +industrialio-buffer-dma +industrialio-buffer-dmaengine +industrialio-configfs +industrialio-hw-consumer +industrialio-sw-device +industrialio-sw-trigger +industrialio-triggered-buffer +industrialio-triggered-event +inet_diag +inexio +inftl +initio +input-leds +inspur-ipsps +int51x1 +intel-m10-bmc +intel-m10-bmc-hwmon +intel-nand-controller +intel-qep +intel-xway +intel_th +intel_th_acpi +intel_th_gth +intel_th_msu +intel_th_msu_sink +intel_th_pci +intel_th_pti +intel_th_sth +intel_vr_nor +interact +interrupt-cnt +inv-icm42600 +inv-icm42600-i2c +inv-icm42600-spi +inv-mpu6050 +inv-mpu6050-i2c +inv-mpu6050-spi +io-domain +io_edgeport +io_ti +ionic +iosm +iowarrior +ip5xxx_power +ip6_gre +ip6_tables +ip6_tunnel +ip6_udp_tunnel +ip6_vti +ip6t_NPT +ip6t_REJECT +ip6t_SYNPROXY +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_mh +ip6t_rpfilter +ip6t_rt +ip6t_srh +ip6table_filter +ip6table_mangle +ip6table_nat +ip6table_raw +ip6table_security +ip_gre +ip_set +ip_set_bitmap_ip +ip_set_bitmap_ipmac +ip_set_bitmap_port +ip_set_hash_ip +ip_set_hash_ipmac +ip_set_hash_ipmark +ip_set_hash_ipport +ip_set_hash_ipportip +ip_set_hash_ipportnet +ip_set_hash_mac +ip_set_hash_net +ip_set_hash_netiface +ip_set_hash_netnet +ip_set_hash_netport +ip_set_hash_netportnet +ip_set_list_set +ip_tables +ip_tunnel +ip_vs +ip_vs_dh +ip_vs_fo +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_mh +ip_vs_nq +ip_vs_ovf +ip_vs_pe_sip +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_twos +ip_vs_wlc +ip_vs_wrr +ip_vti +ipa +ipack +ipaq +ipcomp +ipcomp6 +iphase +ipheth +ipip +ipmb_dev_int +ipmi_devintf +ipmi_ipmb +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_ssif +ipmi_watchdog +ipoctal +ipr +iproc-rng200 +iproc_nand +ips +ipt_CLUSTERIP +ipt_ECN +ipt_REJECT +ipt_SYNPROXY +ipt_ah +ipt_rpfilter +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +iptable_security +ipvlan +ipvtap +ipw +ipw2100 +ipw2200 +iqs269a +iqs5xx +iqs620at-temp +iqs621-als +iqs624-pos +iqs626a +iqs62x +iqs62x-keys +iqs7222 +ir-hix5hd2 +ir-imon-decoder +ir-jvc-decoder +ir-kbd-i2c +ir-mce_kbd-decoder +ir-nec-decoder +ir-rc5-decoder +ir-rc6-decoder +ir-rcmm-decoder +ir-sanyo-decoder +ir-sharp-decoder +ir-sony-decoder +ir-spi +ir-usb +ir-xmp-decoder +ir35221 +ir36021 +ir38064 +ir_toy +irdma +irps5401 +irq-bcm7120-l2 +irq-madera +irq-pruss-intc +irq-qcom-mpm +iscsi_boot_sysfs +iscsi_ibft +iscsi_target_mod +iscsi_tcp +isdnhdlc +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl29125 +isl29501 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isl68137 +isl7998x +isl9305 +isofs +isp116x-hcd +isp1704_charger +isp1760 +it87 +it913x +itd1000 +ite-cir +ite-it6505 +ite-it66121 +itg3200 +iuu_phoenix +ivtv +ivtv-alsa +ivtvfb +iw_cm +iw_cxgb4 +iwl3945 +iwl4965 +iwldvm +iwlegacy +iwlmvm +iwlwifi +ix2505v +ixgb +ixgbe +ixgbevf +janz-cmodio +janz-ican3 +jc42 +jedec_probe +jffs2 +jfs +jmb38x_ms +jme +joydev +joydump +jr3_pci +jsa1212 +jsm +k3_bandgap +k3_j72xx_bandgap +k3dma +kafs +kalmia +kaweth +kbic +kbtab +kcm +kcomedilib +ke_counter +keembay-ocs-aes +keembay-ocs-ecc +keembay-ocs-hcu +keembay_wdt +kempld-core +kempld_wdt +kernelcapi +keyspan +keyspan_pda +keyspan_remote +keywrap +kfifo_buf +khadas-mcu +khadas_mcu_fan +kheaders +kirin-drm +kl5kusb105 +kmb-drm +kmem +kmx61 +kobil_sct +komeda +kpss-xcc +ks0108 +ks0127 +ks7010 +ks8842 +ks8851_common +ks8851_par +ks8851_spi +ksmbd +ksz8795 +ksz8795_spi +ksz884x +ksz8863_smi +ksz9477 +ksz9477_i2c +ksz9477_spi +ksz_common +ktd253-backlight +ktti +kvaser_pci +kvaser_pciefd +kvaser_usb +kxcjk-1013 +kxsd9 +kxsd9-i2c +kxsd9-spi +kxtj9 +kyber-iosched +kyrofb +l1oip +l2tp_core +l2tp_debugfs +l2tp_eth +l2tp_ip +l2tp_ip6 +l2tp_netlink +l2tp_ppp +l4f00242t03 +l64781 +lan743x +lan78xx +lan9303-core +lan9303_i2c +lan9303_mdio +lan966x-switch +lan966x_serdes +lanai +lantiq_gswip +lapb +lapbether +lattice-ecp3-config +layerscape_edac_mod +lcc-ipq806x +lcc-mdm9615 +lcc-msm8960 +lcd +lcd2s +ldusb +lec +led-class-flash +led-class-multicolor +led_bl +leds-88pm860x +leds-aat1290 +leds-adp5520 +leds-an30259a +leds-as3645a +leds-aw2013 +leds-bcm6328 +leds-bcm6358 +leds-bd2802 +leds-blinkm +leds-cpcap +leds-cr0014114 +leds-da903x +leds-da9052 +leds-dac124s085 +leds-el15203000 +leds-gpio +leds-is31fl319x +leds-is31fl32xx +leds-ktd2692 +leds-lm3530 +leds-lm3532 +leds-lm3533 +leds-lm355x +leds-lm3601x +leds-lm36274 +leds-lm3642 +leds-lm3692x +leds-lm3697 +leds-lp3944 +leds-lp3952 +leds-lp50xx +leds-lp5521 +leds-lp5523 +leds-lp5562 +leds-lp55xx-common +leds-lp8501 +leds-lp8788 +leds-lp8860 +leds-lt3593 +leds-max77650 +leds-max77693 +leds-max8997 +leds-mc13783 +leds-menf21bmc +leds-mlxreg +leds-mt6323 +leds-mt6360 +leds-pca9532 +leds-pca955x +leds-pca963x +leds-pwm +leds-pwm-multicolor +leds-qcom-lpg +leds-regulator +leds-rt4505 +leds-rt8515 +leds-sc27xx-bltc +leds-sgm3140 +leds-spi-byte +leds-tca6507 +leds-ti-lmu-common +leds-tlc591xx +leds-tps6105x +leds-wm831x-status +leds-wm8350 +ledtrig-activity +ledtrig-audio +ledtrig-backlight +ledtrig-camera +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-netdev +ledtrig-oneshot +ledtrig-pattern +ledtrig-timer +ledtrig-transient +ledtrig-tty +ledtrig-usbport +legousbtower +lg-vl600 +lg2160 +lgdt3305 +lgdt3306a +lgdt330x +lgs8gl5 +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libarc4 +libceph +libchacha +libchacha20poly1305 +libcomposite +libcrc32c +libcurve25519 +libcurve25519-generic +libcxgb +libcxgbi +libdes +libertas +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libpoly1305 +libsas +lightning +lima +line-display +lineage-pem +linear +linkstation-poweroff +liquidio +liquidio_vf +lis3lv02d +lis3lv02d_i2c +liteuart +litex_liteeth +litex_mmc +litex_soc_ctrl +lkkbd +ll_temac +llc +llc2 +llcc-qcom +lm25066 +lm3533-als +lm3533-core +lm3533-ctrlbank +lm3533_bl +lm3560 +lm3630a_bl +lm3639_bl +lm363x-regulator +lm3646 +lm63 +lm70 +lm73 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm8333 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95234 +lm95241 +lm95245 +lmh +lmp91000 +lms283gf05 +lms501kf03 +lnbh25 +lnbh29 +lnbp21 +lnbp22 +lochnagar-hwmon +lochnagar-regulator +lockd +lontium-lt8912b +lontium-lt9211 +lontium-lt9611 +lontium-lt9611uxc +lp +lp3943 +lp3971 +lp3972 +lp855x_bl +lp8727_charger +lp872x +lp873x +lp873x-regulator +lp8755 +lp87565 +lp87565-regulator +lp8788-buck +lp8788-charger +lp8788-ldo +lp8788_adc +lp8788_bl +lpass-gfm-sm8250 +lpassaudiocc-sc7280 +lpasscc-sc7280 +lpasscc-sdm845 +lpasscorecc-sc7180 +lpasscorecc-sc7280 +lpc_ich +lpc_sch +lpddr_cmds +lpfc +lru_cache +lrw +lt3651-charger +ltc1660 +ltc2471 +ltc2485 +ltc2496 +ltc2497 +ltc2497-core +ltc2632 +ltc2688 +ltc2941-battery-gauge +ltc2945 +ltc2947-core +ltc2947-i2c +ltc2947-spi +ltc2978 +ltc2983 +ltc2990 +ltc2992 +ltc3589 +ltc3676 +ltc3815 +ltc4151 +ltc4162-l-charger +ltc4215 +ltc4222 +ltc4245 +ltc4260 +ltc4261 +ltr501 +ltv350qv +lv0104cs +lv5207lp +lvds-codec +lvstest +lxt +lz4 +lz4_compress +lz4hc +lz4hc_compress +m2m-deinterlace +m52790 +m5mols +m62332 +m88ds3103 +m88rs2000 +m88rs6000t +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +m_can +m_can_pci +m_can_platform +mac-celtic +mac-centeuro +mac-croatian +mac-cyrillic +mac-gaelic +mac-greek +mac-iceland +mac-inuit +mac-roman +mac-romanian +mac-turkish +mac80211 +mac80211_hwsim +mac802154 +mac802154_hwsim +macb +macb_pci +machxo2-spi +macmodes +macsec +macvlan +macvtap +madera +madera-i2c +madera-spi +mag3110 +magellan +mailbox-altera +mailbox-test +mailbox-xgene-slimpro +mali-dp +mantis +mantis_core +map_absent +map_funcs +map_ram +map_rom +marvell +marvell-88x2222 +marvell-cesa +marvell10g +marvell_cn10k_ddr_pmu +marvell_cn10k_tad_pmu +marvell_nand +matrix-keymap +matrix_keypad +matrox_w1 +matroxfb_DAC1064 +matroxfb_Ti3026 +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +max1027 +max11100 +max1111 +max1118 +max11801_ts +max1241 +max127 +max1363 +max14577-regulator +max14577_charger +max14656_charger_detector +max15301 +max1586 +max16064 +max16065 +max1619 +max16601 +max1668 +max17040_battery +max17042_battery +max1721x_battery +max197 +max20086-regulator +max20730 +max20751 +max2165 +max2175 +max30100 +max30102 +max3100 +max31722 +max31730 +max31785 +max31790 +max31856 +max31865 +max3420_udc +max3421-hcd +max34440 +max44000 +max44009 +max517 +max5432 +max5481 +max5487 +max5821 +max63xx_wdt +max6620 +max6621 +max6639 +max6642 +max6650 +max6697 +max6875 +max7359_keypad +max77620-regulator +max77620_thermal +max77620_wdt +max77650 +max77650-charger +max77650-onkey +max77650-regulator +max77686-regulator +max77693-haptic +max77693-regulator +max77693_charger +max77714 +max77802-regulator +max77826-regulator +max77976_charger +max8649 +max8660 +max8688 +max8893 +max8903_charger +max8907 +max8907-regulator +max8925-regulator +max8925_bl +max8925_onkey +max8925_power +max8952 +max8973-regulator +max8997-regulator +max8997_charger +max8997_haptic +max8998 +max8998_charger +max9271 +max9286 +max9611 +max96712 +maxim_thermocouple +mb1232 +mb862xxfb +mb86a16 +mb86a20s +mc +mc13783-adc +mc13783-pwrbutton +mc13783-regulator +mc13783_ts +mc13892-regulator +mc13xxx-core +mc13xxx-i2c +mc13xxx-regulator-core +mc13xxx-spi +mc3230 +mc44s803 +mcam-core +mcb +mcb-lpc +mcb-pci +mcba_usb +mceusb +mchp23k256 +mchp48l640 +mcp16502 +mcp251x +mcp251xfd +mcp3021 +mcp320x +mcp3422 +mcp3911 +mcp4018 +mcp41010 +mcp4131 +mcp4531 +mcp4725 +mcp4922 +mcr20a +mcs5000_ts +mcs7830 +mcs_touchkey +mct_u232 +mctp-i2c +mctp-serial +md-cluster +md4 +mdc800 +mdev +mdio +mdio-bcm-unimac +mdio-cavium +mdio-gpio +mdio-hisi-femac +mdio-i2c +mdio-ipq4019 +mdio-ipq8064 +mdio-mscc-miim +mdio-mux-gpio +mdio-mux-meson-g12a +mdio-mux-mmioreg +mdio-mux-multiplexer +mdio-mvusb +mdio-octeon +mdio-thunder +mdio-xgene +mdt_loader +me4000 +me_daq +mediatek +mediatek-cpufreq +mediatek-cpufreq-hw +mediatek-drm +mediatek-drm-hdmi +mediatek-ge +megachips-stdpxxxx-ge-b850v3-fw +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +melfas_mip4 +memory-notifier-error-inject +memstick +men_z135_uart +men_z188_adc +mena21_wdt +menf21bmc +menf21bmc_hwmon +menf21bmc_wdt +menz69_wdt +meson-canvas +meson-drm +meson-gx-mmc +meson-gxl +meson-ir +meson-ir-tx +meson-mx-sdio +meson-rng +meson-vdec +meson_dw_hdmi +meson_gxbb_wdt +meson_nand +meson_saradc +meson_wdt +metro-usb +metronomefb +mf6x4 +mgag200 +mhi +mhi_ep +mhi_net +mhi_pci_generic +mhi_wwan_ctrl +mhi_wwan_mbim +mi0283qt +michael_mic +micrel +microchip +microchip-tcb-capture +microchip_t1 +microread +microread_i2c +microtek +minix +mip6 +mipi-i3c-hci +mite +mk712 +mkiss +ml86v7667 +mlx4_core +mlx4_en +mlx4_ib +mlx5-vfio-pci +mlx5_core +mlx5_ib +mlx5_vdpa +mlx90614 +mlx90632 +mlx_wdt +mlxbf-bootctl +mlxbf-pmc +mlxbf-tmfifo +mlxbf_gige +mlxfw +mlxreg-fan +mlxreg-hotplug +mlxreg-io +mlxreg-lc +mlxsw_core +mlxsw_i2c +mlxsw_minimal +mlxsw_pci +mlxsw_spectrum +mma7455_core +mma7455_i2c +mma7455_spi +mma7660 +mma8450 +mma8452 +mma9551 +mma9551_core +mma9553 +mmc35240 +mmc_hsq +mmc_spi +mmcc-apq8084 +mmcc-msm8960 +mmcc-msm8974 +mmcc-msm8994 +mmcc-msm8996 +mmcc-msm8998 +mmcc-sdm660 +mms114 +mn88443x +mn88472 +mn88473 +mos7720 +mos7840 +most_cdev +most_core +most_dim2 +most_i2c +most_net +most_snd +most_usb +most_video +motorcomm +motorola-cpcap +moxa +moxtet +mp2629 +mp2629_adc +mp2629_charger +mp2888 +mp2975 +mp5023 +mp5416 +mp8859 +mp886x +mpc624 +mpi3mr +mpl115 +mpl115_i2c +mpl115_spi +mpl3115 +mpls_gso +mpls_iptunnel +mpls_router +mpoa +mpq7920 +mpr121_touchkey +mpt3sas +mptbase +mptcp_diag +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mr75203 +mrf24j40 +mrp +ms5611_core +ms5611_i2c +ms5611_spi +ms5637 +ms_block +ms_sensors_i2c +mscc +mscc_felix +mscc_ocelot +mscc_ocelot_switch_lib +mscc_seville +msdos +mse102x +msg2638 +msi001 +msi2500 +msm +msp3400 +mspro_block +mss-sc7180 +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt6311-regulator +mt6315-regulator +mt6323-regulator +mt6358-regulator +mt6359-accdet +mt6359-regulator +mt6360-adc +mt6360-core +mt6360-regulator +mt6360_charger +mt6380-regulator +mt6397 +mt6397-regulator +mt6577_auxadc +mt6779-keypad +mt6797-mt6351 +mt7530 +mt76 +mt76-connac-lib +mt76-sdio +mt76-usb +mt7601u +mt7603e +mt7615-common +mt7615e +mt7663-usb-sdio-common +mt7663s +mt7663u +mt76x0-common +mt76x02-lib +mt76x02-usb +mt76x0e +mt76x0u +mt76x2-common +mt76x2e +mt76x2u +mt7915e +mt7921-common +mt7921e +mt7921s +mt7921u +mt8183-da7219-max98357 +mt8183-mt6358-ts3a227-max98357 +mt8192-mt6359-rt1015-rt5682 +mt8195-mt6359 +mt9m001 +mt9m032 +mt9m111 +mt9p031 +mt9t001 +mt9t112 +mt9v011 +mt9v032 +mt9v111 +mtd +mtd_blkdevs +mtd_dataflash +mtdblock +mtdblock_ro +mtdoops +mtdpstore +mtdram +mtdswap +mtip32xx +mtk-adsp-common +mtk-adsp-ipc +mtk-adsp-mailbox +mtk-btcvsd +mtk-cir +mtk-cmdq-helper +mtk-cmdq-mailbox +mtk-cqdma +mtk-devapc +mtk-hsdma +mtk-pmic-keys +mtk-pmic-wrap +mtk-rng +mtk-sd +mtk-smi +mtk-uart-apdma +mtk-vpu +mtk_nand +mtk_rpmsg +mtk_scp +mtk_scp_ipi +mtk_t7xx +mtk_thermal +mtk_wdt +mtouch +mtu3 +multipath +multiq3 +musb_hdrc +mux-adg792a +mux-adgs1408 +mux-core +mux-gpio +mux-mmio +mv88e6060 +mv88e6xxx +mv_u3d_core +mv_udc +mvmdio +mvneta +mvpp2 +mvsas +mvumi +mwifiex +mwifiex_pcie +mwifiex_sdio +mwifiex_usb +mwl8k +mxb +mxc-jpeg-encdec +mxc4005 +mxc6255 +mxc_nand +mxc_w1 +mxcmmc +mxic_nand +mxl-gpy +mxl111sf-demod +mxl111sf-tuner +mxl301rf +mxl5005s +mxl5007t +mxl5xx +mxl692 +mxser +mxsfb +mxuport +myrb +myri10ge +myrs +n5pf +n_gsm +n_hdlc +nand +nandcore +nandsim +national +natsemi +nau7802 +navman +nbd +nci +nci_spi +nci_uart +nct6683 +nct6775 +nct6775-core +nct6775-i2c +nct7802 +nct7904 +nd_btt +nd_pmem +nd_virtio +ne2k-pci +neofb +net1080 +net2272 +net2280 +net_failover +netconsole +netdevsim +netfs +netjet +netlink_diag +netrom +netsec +netup-unidvb +netxen_nic +newtonkbd +nf_conncount +nf_conntrack +nf_conntrack_amanda +nf_conntrack_bridge +nf_conntrack_broadcast +nf_conntrack_ftp +nf_conntrack_h323 +nf_conntrack_irc +nf_conntrack_netbios_ns +nf_conntrack_netlink +nf_conntrack_pptp +nf_conntrack_sane +nf_conntrack_sip +nf_conntrack_snmp +nf_conntrack_tftp +nf_defrag_ipv4 +nf_defrag_ipv6 +nf_dup_ipv4 +nf_dup_ipv6 +nf_dup_netdev +nf_flow_table +nf_flow_table_inet +nf_log_syslog +nf_nat +nf_nat_amanda +nf_nat_ftp +nf_nat_h323 +nf_nat_irc +nf_nat_pptp +nf_nat_sip +nf_nat_snmp_basic +nf_nat_tftp +nf_reject_ipv4 +nf_reject_ipv6 +nf_socket_ipv4 +nf_socket_ipv6 +nf_synproxy_core +nf_tables +nf_tproxy_ipv4 +nf_tproxy_ipv6 +nfc +nfc_digital +nfcmrvl +nfcmrvl_i2c +nfcmrvl_spi +nfcmrvl_uart +nfcmrvl_usb +nfcsim +nfit +nfnetlink +nfnetlink_acct +nfnetlink_cthelper +nfnetlink_cttimeout +nfnetlink_hook +nfnetlink_log +nfnetlink_osf +nfnetlink_queue +nfp +nfs +nfs_acl +nfs_layout_flexfiles +nfs_layout_nfsv41_files +nfsd +nfsv2 +nfsv3 +nfsv4 +nft_chain_nat +nft_compat +nft_connlimit +nft_ct +nft_dup_ipv4 +nft_dup_ipv6 +nft_dup_netdev +nft_fib +nft_fib_inet +nft_fib_ipv4 +nft_fib_ipv6 +nft_fib_netdev +nft_flow_offload +nft_fwd_netdev +nft_hash +nft_limit +nft_log +nft_masq +nft_meta_bridge +nft_nat +nft_numgen +nft_objref +nft_osf +nft_queue +nft_quota +nft_redir +nft_reject +nft_reject_bridge +nft_reject_inet +nft_reject_ipv4 +nft_reject_ipv6 +nft_reject_netdev +nft_socket +nft_synproxy +nft_tproxy +nft_tunnel +nft_xfrm +nftl +ngene +nhc_dest +nhc_fragment +nhc_hop +nhc_ipv6 +nhc_mobility +nhc_routing +nhc_udp +nhpoly1305 +nhpoly1305-neon +ni_6527 +ni_65xx +ni_660x +ni_670x +ni_at_a2150 +ni_at_ao +ni_atmio +ni_atmio16d +ni_labpc +ni_labpc_common +ni_labpc_pci +ni_pcidio +ni_pcimio +ni_routes_test +ni_routing +ni_tio +ni_tiocmd +ni_usb6501 +nicpf +nicstar +nicvf +nilfs2 +nitro_enclaves +niu +nixge +nlmon +nls_ascii +nls_cp1250 +nls_cp1251 +nls_cp1255 +nls_cp737 +nls_cp775 +nls_cp850 +nls_cp852 +nls_cp855 +nls_cp857 +nls_cp860 +nls_cp861 +nls_cp862 +nls_cp863 +nls_cp864 +nls_cp865 +nls_cp866 +nls_cp869 +nls_cp874 +nls_cp932 +nls_cp936 +nls_cp949 +nls_cp950 +nls_euc-jp +nls_iso8859-1 +nls_iso8859-13 +nls_iso8859-14 +nls_iso8859-15 +nls_iso8859-2 +nls_iso8859-3 +nls_iso8859-4 +nls_iso8859-5 +nls_iso8859-6 +nls_iso8859-7 +nls_iso8859-9 +nls_koi8-r +nls_koi8-ru +nls_koi8-u +nls_utf8 +noa1305 +noon010pc30 +nosy +notifier-error-inject +nouveau +nozomi +npcm750-pwm-fan +nps_enet +ns-thermal +ns558 +ns83820 +nsh +ntb +ntb_hw_epf +ntb_hw_idt +ntb_hw_switchtec +ntb_netdev +ntb_perf +ntb_pingpong +ntb_tool +ntb_transport +ntc_thermistor +ntfs +ntfs3 +ntxec +null_blk +nuvoton-cir +nvec +nvec_kbd +nvec_paz00 +nvec_power +nvec_ps2 +nvidiafb +nvme +nvme-apple +nvme-core +nvme-fabrics +nvme-fc +nvme-loop +nvme-rdma +nvme-tcp +nvmem-apple-efuses +nvmem-bcm-ocotp +nvmem-imx-iim +nvmem-imx-ocotp +nvmem-imx-ocotp-scu +nvmem-layerscape-sfp +nvmem-rave-sp-eeprom +nvmem-reboot-mode +nvmem-rmem +nvmem-rockchip-otp +nvmem-sc27xx-efuse +nvmem_meson_efuse +nvmem_meson_mx_efuse +nvmem_qcom-spmi-sdam +nvmem_qfprom +nvmem_rockchip_efuse +nvmem_snvs_lpgpr +nvmem_sprd_efuse +nvmem_sunxi_sid +nvmet +nvmet-fc +nvmet-rdma +nvmet-tcp +nvsw-sn2201 +nwl-dsi +nxp-c45-tja11xx +nxp-nci +nxp-nci_i2c +nxp-ptn3460 +nxp-tja11xx +nxt200x +nxt6000 +nzxt-kraken2 +nzxt-smart2 +objagg +ocfb +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stack_o2cb +ocfs2_stack_user +ocfs2_stackglue +ocmem +ocrdma +octeon_ep +octeontx-cpt +octeontx-cptvf +of-fpga-region +of_mmc_spi +of_pmem +of_xilinx_wdt +ofb +ofpart +og01a1b +ohci-platform +omap-mailbox +omap-rng +omap2_nand +omap4-keypad +omap_elm +omap_hwspinlock +omfs +omninet +on20 +on26 +onenand +open-dice +opencores-kbd +openvswitch +opt3001 +optee +optee-rng +opticon +option +or51132 +or51211 +orangefs +orinoco +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +oti6858 +otm3225a +otx2_ptp +ov02a10 +ov08d10 +ov13858 +ov13b10 +ov2640 +ov2659 +ov2680 +ov2685 +ov2740 +ov5640 +ov5645 +ov5647 +ov5648 +ov5670 +ov5675 +ov5693 +ov5695 +ov6650 +ov7251 +ov7640 +ov7670 +ov772x +ov7740 +ov8856 +ov8865 +ov9282 +ov9640 +ov9650 +ov9734 +overlay +owl-dma +owl-emac +owl-mmc +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8022 +pa12203001 +palmas-pwrbutton +palmas-regulator +palmas_gpadc +pandora_bl +panel +panel-abt-y030xx067a +panel-arm-versatile +panel-asus-z00t-tm5p5-n35596 +panel-boe-bf060y8m-aj0 +panel-boe-himax8279d +panel-boe-tv101wum-nl6 +panel-dsi-cm +panel-edp +panel-elida-kd35t133 +panel-feixin-k101-im2ba02 +panel-feiyang-fy07024di26a30d +panel-ilitek-ili9322 +panel-ilitek-ili9341 +panel-ilitek-ili9881c +panel-innolux-ej030na +panel-innolux-p079zca +panel-jdi-fhd-r63452 +panel-jdi-lt070me05000 +panel-khadas-ts050 +panel-kingdisplay-kd097d04 +panel-leadtek-ltk050h3146w +panel-leadtek-ltk500hd1829 +panel-lg-lb035q02 +panel-lg-lg4573 +panel-lvds +panel-mantix-mlaf057we51 +panel-mipi-dbi +panel-nec-nl8048hl11 +panel-newvision-nv3052c +panel-novatek-nt35510 +panel-novatek-nt35560 +panel-novatek-nt35950 +panel-novatek-nt36672a +panel-novatek-nt39016 +panel-olimex-lcd-olinuxino +panel-orisetech-otm8009a +panel-osd-osd101t2587-53ts +panel-panasonic-vvx10f034n00 +panel-raspberrypi-touchscreen +panel-raydium-rm67191 +panel-raydium-rm68200 +panel-ronbo-rb070d30 +panel-samsung-atna33xc20 +panel-samsung-db7430 +panel-samsung-ld9040 +panel-samsung-s6d16d0 +panel-samsung-s6d27a1 +panel-samsung-s6e3ha2 +panel-samsung-s6e63j0x03 +panel-samsung-s6e63m0 +panel-samsung-s6e63m0-dsi +panel-samsung-s6e63m0-spi +panel-samsung-s6e88a0-ams452ef01 +panel-samsung-s6e8aa0 +panel-samsung-sofef00 +panel-seiko-43wvf1g +panel-sharp-lq101r1sx01 +panel-sharp-ls037v7dw01 +panel-sharp-ls043t1le01 +panel-sharp-ls060t1sx01 +panel-simple +panel-sitronix-st7701 +panel-sitronix-st7703 +panel-sitronix-st7789v +panel-sony-acx565akm +panel-sony-tulip-truly-nt35521 +panel-tdo-tl070wsh30 +panel-tpo-td028ttec1 +panel-tpo-td043mtea1 +panel-tpo-tpg110 +panel-truly-nt35597 +panel-visionox-rm69299 +panel-widechips-ws2401 +panel-xinpeng-xpp055c272 +panfrost +parade-ps8622 +parade-ps8640 +paride +parkbd +parman +parport +parport_ax88796 +parport_pc +parport_serial +parser_trx +pata_acpi +pata_ali +pata_amd +pata_artop +pata_atiixp +pata_atp867x +pata_cmd640 +pata_cmd64x +pata_cypress +pata_efar +pata_hpt366 +pata_hpt37x +pata_hpt3x2n +pata_hpt3x3 +pata_imx +pata_it8213 +pata_it821x +pata_jmicron +pata_legacy +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_ns87410 +pata_ns87415 +pata_of_platform +pata_oldpiix +pata_opti +pata_optidma +pata_pdc2027x +pata_pdc202xx_old +pata_piccolo +pata_platform +pata_radisys +pata_rdc +pata_rz1000 +pata_sch +pata_serverworks +pata_sil680 +pata_sis +pata_sl82c105 +pata_triflex +pata_via +pc300too +pc87360 +pc87427 +pca9450-regulator +pcap-regulator +pcap_keys +pcap_ts +pcbc +pcd +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pch_udc +pci +pci-epf-ntb +pci-hyperv +pci-hyperv-intf +pci-meson +pci-pf-stub +pci-stub +pci200syn +pcie-apple +pcie-brcmstb +pcie-iproc +pcie-iproc-platform +pcie-mediatek-gen3 +pcie-qcom-ep +pcie-rockchip-host +pcie-tegra194 +pcips2 +pcl711 +pcl724 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcmad +pcmcia_core +pcmcia_rsrc +pcmda12 +pcmmio +pcmuio +pcnet32 +pcrypt +pcs-lynx +pcs_xpcs +pcwd_pci +pcwd_usb +pd +pda_power +pdc_adma +pdr_interface +peak_pci +peak_pciefd +peak_usb +peci +peci-cpu +peci-cputemp +peci-dimmtemp +pegasus +pegasus_notetaker +penmount +pf +pf8x00-regulator +pfr_telemetry +pfr_update +pfuze100-regulator +pg +phantom +phonet +phram +phy-am654-serdes +phy-armada38x-comphy +phy-bcm-kona-usb2 +phy-bcm-ns-usb2 +phy-bcm-ns-usb3 +phy-bcm-ns2-usbdrd +phy-bcm-sr-pcie +phy-bcm-sr-usb +phy-berlin-sata +phy-berlin-usb +phy-brcm-usb-dvr +phy-cadence-salvo +phy-cadence-sierra +phy-cadence-torrent +phy-can-transceiver +phy-cpcap-usb +phy-exynos-usb2 +phy-fsl-imx8-mipi-dphy +phy-fsl-imx8m-pcie +phy-fsl-imx8mq-usb +phy-fsl-lynx-28g +phy-generic +phy-gmii-sel +phy-gpio-vbus-usb +phy-hi3660-usb3 +phy-hi3670-pcie +phy-hi3670-usb3 +phy-hi6220-usb +phy-hisi-inno-usb2 +phy-histb-combphy +phy-intel-keembay-emmc +phy-intel-keembay-usb +phy-isp1301 +phy-j721e-wiz +phy-mapphone-mdm6600 +phy-meson-axg-mipi-dphy +phy-meson-g12a-usb2 +phy-meson-g12a-usb3-pcie +phy-meson-gxl-usb2 +phy-meson8b-usb2 +phy-mtk-hdmi-drv +phy-mtk-mipi-dsi-drv +phy-mtk-tphy +phy-mtk-ufs +phy-mtk-xsphy +phy-mvebu-a3700-comphy +phy-mvebu-a3700-utmi +phy-mvebu-cp110-comphy +phy-mvebu-cp110-utmi +phy-ocelot-serdes +phy-omap-usb2 +phy-pxa-28nm-hsic +phy-pxa-28nm-usb2 +phy-qcom-apq8064-sata +phy-qcom-edp +phy-qcom-ipq4019-usb +phy-qcom-ipq806x-sata +phy-qcom-ipq806x-usb +phy-qcom-pcie2 +phy-qcom-qmp +phy-qcom-qusb2 +phy-qcom-snps-femto-v2 +phy-qcom-usb-hs +phy-qcom-usb-hs-28nm +phy-qcom-usb-hsic +phy-qcom-usb-ss +phy-rcar-gen2 +phy-rcar-gen3-pcie +phy-rcar-gen3-usb2 +phy-rcar-gen3-usb3 +phy-rockchip-dp +phy-rockchip-dphy-rx0 +phy-rockchip-emmc +phy-rockchip-inno-csidphy +phy-rockchip-inno-dsidphy +phy-rockchip-inno-hdmi +phy-rockchip-inno-usb2 +phy-rockchip-naneng-combphy +phy-rockchip-pcie +phy-rockchip-typec +phy-rockchip-usb +phy-sun4i-usb +phy-sun50i-usb3 +phy-sun6i-mipi-dphy +phy-tahvo +phy-tegra-usb +phy-tegra-xusb +phy-tegra194-p2u +phy-tusb1210 +phy-zynqmp +phylink +physmap +pi3usb30532 +pi433 +pim4328 +pinctrl-apple-gpio +pinctrl-apq8064 +pinctrl-apq8084 +pinctrl-axp209 +pinctrl-bcm4908 +pinctrl-da9062 +pinctrl-imx8ulp +pinctrl-imx93 +pinctrl-ipq4019 +pinctrl-ipq6018 +pinctrl-ipq8064 +pinctrl-ipq8074 +pinctrl-keembay +pinctrl-lochnagar +pinctrl-lpass-lpi +pinctrl-madera +pinctrl-max77620 +pinctrl-mcp23s08 +pinctrl-mcp23s08_i2c +pinctrl-mcp23s08_spi +pinctrl-mdm9607 +pinctrl-mdm9615 +pinctrl-meson-s4 +pinctrl-msm8226 +pinctrl-msm8660 +pinctrl-msm8916 +pinctrl-msm8953 +pinctrl-msm8960 +pinctrl-msm8976 +pinctrl-msm8994 +pinctrl-msm8996 +pinctrl-msm8998 +pinctrl-msm8x74 +pinctrl-mt6779 +pinctrl-qcm2290 +pinctrl-qcs404 +pinctrl-qdf2xxx +pinctrl-rk805 +pinctrl-sc7180 +pinctrl-sc7280 +pinctrl-sc7280-lpass-lpi +pinctrl-sc8180x +pinctrl-sc8280xp +pinctrl-sdm660 +pinctrl-sdm845 +pinctrl-sdx55 +pinctrl-sdx65 +pinctrl-sm6115 +pinctrl-sm6125 +pinctrl-sm6350 +pinctrl-sm8150 +pinctrl-sm8250 +pinctrl-sm8250-lpass-lpi +pinctrl-sm8350 +pinctrl-sm8450 +pinctrl-spmi-gpio +pinctrl-spmi-mpp +pinctrl-ssbi-gpio +pinctrl-ssbi-mpp +pinctrl-stmfx +pinctrl-zynqmp +ping +pistachio-internal-dac +pixcir_i2c_ts +pkcs7_test_key +pkcs8_key_parser +pktcdvd +pktgen +pl111_drm +pl172 +pl2303 +pl330 +plat-ram +plat_nand +platform_lcd +platform_mhu +platform_profile +plfxlc +pli1209bc +plip +plusb +pluto2 +plx_dma +plx_pci +pm-notifier-error-inject +pm2fb +pm3fb +pm6764tr +pm80xx +pm8916_wdt +pm8941-pwrkey +pm8xxx-vibrator +pmbus +pmbus_core +pmc551 +pmcraid +pms7003 +pn532_uart +pn533 +pn533_i2c +pn533_usb +pn544 +pn544_i2c +pn_pep +poly1305-neon +poly1305_generic +port100 +powermate +powr1220 +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +ppp_synctty +pppoatm +pppoe +pppox +pps-gpio +pps-ldisc +pps_parport +pptp +prestera +prestera_pci +pretimeout_panic +prism2_usb +pru_rproc +pruss +ps2-gpio +ps2mult +psample +psmouse +psnap +pstore_blk +pstore_zone +psxpad-spi +pt +ptp-qoriq +ptp_clockmatrix +ptp_dte +ptp_idt82p33 +ptp_ines +ptp_kvm +ptp_ocp +pulse8-cec +pulsedlight-lidar-lite-v2 +pv88060-regulator +pv88080-regulator +pv88090-regulator +pvcalls-front +pvpanic +pvpanic-mmio +pvpanic-pci +pvrusb2 +pwc +pwm-atmel-hlcdc +pwm-atmel-tcb +pwm-bcm-iproc +pwm-bcm2835 +pwm-beeper +pwm-berlin +pwm-brcmstb +pwm-cros-ec +pwm-dwc +pwm-fan +pwm-fsl-ftm +pwm-hibvt +pwm-imx-tpm +pwm-imx1 +pwm-imx27 +pwm-iqs620a +pwm-ir-tx +pwm-keembay +pwm-lp3943 +pwm-mediatek +pwm-meson +pwm-mtk-disp +pwm-ntxec +pwm-pca9685 +pwm-raspberrypi-poe +pwm-rcar +pwm-regulator +pwm-renesas-tpu +pwm-rockchip +pwm-sl28cpld +pwm-sprd +pwm-sun4i +pwm-tegra +pwm-tiecap +pwm-tiehrpwm +pwm-twl +pwm-twl-led +pwm-vibra +pwm-visconti +pwm-xilinx +pwm_bl +pwrseq_emmc +pwrseq_sd8787 +pwrseq_simple +pxa168_eth +pxa27x_udc +pxe1610 +pxrc +q54sj108a2 +q6adm +q6afe +q6afe-clocks +q6afe-dai +q6apm-dai +q6apm-lpass-dais +q6asm +q6asm-dai +q6core +q6prm +q6prm-clocks +q6routing +q6sstop-qcs404 +qca8k +qca_7k_common +qcaspi +qcauart +qcaux +qcom-apcs-ipc-mailbox +qcom-camss +qcom-coincell +qcom-cpufreq-hw +qcom-cpufreq-nvmem +qcom-emac +qcom-geni-se +qcom-labibb-regulator +qcom-pm8008 +qcom-pmic-typec +qcom-pon +qcom-rng +qcom-rpmh-regulator +qcom-spmi-adc-tm5 +qcom-spmi-adc5 +qcom-spmi-iadc +qcom-spmi-pmic +qcom-spmi-temp-alarm +qcom-spmi-vadc +qcom-vadc-common +qcom-wdt +qcom-wled +qcom_aoss +qcom_bam_dmux +qcom_common +qcom_edac +qcom_eud +qcom_geni_serial +qcom_glink +qcom_glink_rpm +qcom_glink_smem +qcom_gsbi +qcom_hwspinlock +qcom_nandc +qcom_pil_info +qcom_q6v5 +qcom_q6v5_adsp +qcom_q6v5_mss +qcom_q6v5_pas +qcom_q6v5_wcss +qcom_rpm +qcom_rpm-regulator +qcom_smbb +qcom_smd +qcom_smd-regulator +qcom_spmi-regulator +qcom_stats +qcom_sysmon +qcom_tsens +qcom_usb_vbus-regulator +qcomsmempart +qcrypto +qcserial +qed +qede +qedf +qedi +qedr +qemu_fw_cfg +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qm1d1b0004 +qm1d1c0042 +qmi_helpers +qmi_wwan +qnoc-msm8916 +qnoc-msm8939 +qnoc-msm8974 +qnoc-msm8996 +qnoc-qcm2290 +qnoc-qcs404 +qnoc-sc7180 +qnoc-sc7280 +qnoc-sc8180x +qnoc-sc8280xp +qnoc-sdm660 +qnoc-sdm845 +qnoc-sdx55 +qnoc-sdx65 +qnoc-sm8150 +qnoc-sm8250 +qnoc-sm8350 +qnoc-sm8450 +qnx4 +qnx6 +qoriq-cpufreq +qoriq_thermal +qrtr +qrtr-mhi +qrtr-smd +qrtr-tun +qsemi +qt1010 +qt1050 +qt1070 +qt2160 +qtnfmac +qtnfmac_pcie +quatech2 +quota_tree +quota_v1 +quota_v2 +qwiic-joystick +qxl +r592 +r6040 +r8152 +r8153_ecm +r8169 +r8188eu +r8192e_pci +r8192u_usb +r820t +r852 +r8712u +r8723bs +r8a66597-hcd +r8a66597-udc +radeon +radeonfb +radio-keene +radio-ma901 +radio-maxiradio +radio-mr800 +radio-platform-si4713 +radio-raremono +radio-shark +radio-si470x-common +radio-si470x-i2c +radio-si470x-usb +radio-si476x +radio-tea5764 +radio-usb-si4713 +radio-wl1273 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid_class +rainshadow-cec +ramoops +raspberrypi-cpufreq +raspberrypi-hwmon +raspberrypi-ts +ravb +rave-sp +rave-sp-backlight +rave-sp-pwrbutton +rave-sp-wdt +raw_diag +raw_gadget +raydium_i2c_ts +rbd +rc-adstech-dvb-t-pci +rc-alink-dtu-m +rc-anysee +rc-apac-viewcomp +rc-astrometa-t2hybrid +rc-asus-pc39 +rc-asus-ps3-100 +rc-ati-tv-wonder-hd-600 +rc-ati-x10 +rc-avermedia +rc-avermedia-a16d +rc-avermedia-cardbus +rc-avermedia-dvbt +rc-avermedia-m135a +rc-avermedia-m733a-rm-k6 +rc-avermedia-rm-ks +rc-avertv-303 +rc-azurewave-ad-tu700 +rc-beelink-gs1 +rc-behold +rc-behold-columbus +rc-budget-ci-old +rc-cinergy +rc-cinergy-1400 +rc-core +rc-ct-90405 +rc-d680-dmb +rc-delock-61959 +rc-dib0700-nec +rc-dib0700-rc5 +rc-digitalnow-tinytwin +rc-digittrade +rc-dm1105-nec +rc-dntv-live-dvb-t +rc-dntv-live-dvbt-pro +rc-dtt200u +rc-dvbsky +rc-dvico-mce +rc-dvico-portable +rc-em-terratec +rc-encore-enltv +rc-encore-enltv-fm53 +rc-encore-enltv2 +rc-evga-indtube +rc-eztv +rc-flydvb +rc-flyvideo +rc-fusionhdtv-mce +rc-gadmei-rm008z +rc-geekbox +rc-genius-tvgo-a11mce +rc-gotview7135 +rc-hauppauge +rc-hisi-poplar +rc-hisi-tv-demo +rc-imon-mce +rc-imon-pad +rc-imon-rsc +rc-iodata-bctv7e +rc-it913x-v1 +rc-it913x-v2 +rc-kaiomy +rc-khadas +rc-khamsin +rc-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lme2510 +rc-loopback +rc-manli +rc-mecool-kii-pro +rc-mecool-kiii-pro +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +rc-minix-neo +rc-msi-digivox-ii +rc-msi-digivox-iii +rc-msi-tvanywhere +rc-msi-tvanywhere-plus +rc-nebula +rc-nec-terratec-cinergy-xs +rc-norwood +rc-npgtech +rc-odroid +rc-pctv-sedna +rc-pine64 +rc-pinnacle-color +rc-pinnacle-grey +rc-pinnacle-pctv-hd +rc-pixelview +rc-pixelview-002t +rc-pixelview-mk12 +rc-pixelview-new +rc-powercolor-real-angel +rc-proteus-2309 +rc-purpletv +rc-pv951 +rc-rc6-mce +rc-real-audio-220-32-keys +rc-reddo +rc-snapstream-firefly +rc-streamzap +rc-su3000 +rc-tanix-tx3mini +rc-tanix-tx5max +rc-tbs-nec +rc-technisat-ts35 +rc-technisat-usb2 +rc-terratec-cinergy-c-pci +rc-terratec-cinergy-s2-hd +rc-terratec-cinergy-xs +rc-terratec-slim +rc-terratec-slim-2 +rc-tevii-nec +rc-tivo +rc-total-media-in-hand +rc-total-media-in-hand-02 +rc-trekstor +rc-tt-1500 +rc-twinhan-dtv-cab-ci +rc-twinhan1027 +rc-vega-s9x +rc-videomate-m1f +rc-videomate-s350 +rc-videomate-tv-pvr +rc-videostrong-kii-pro +rc-wetek-hub +rc-wetek-play2 +rc-winfast +rc-winfast-usbii-deluxe +rc-x96max +rc-xbox-360 +rc-xbox-dvd +rc-zx-irdec +rc5t583-regulator +rcar-csi2 +rcar-dmac +rcar-du-drm +rcar-fcp +rcar-isp +rcar-vin +rcar_can +rcar_canfd +rcar_cmm +rcar_drif +rcar_dw_hdmi +rcar_fdp1 +rcar_gen3_thermal +rcar_jpu +rcar_lvds +rcar_mipi_dsi +rcar_rproc +rcar_thermal +rdacm20 +rdacm21 +rdc321x-southbridge +rdma_cm +rdma_rxe +rdma_ucm +rds +rds_rdma +rds_tcp +realtek +realtek-mdio +realtek-smi +reboot-mode +redboot +redrat3 +reed_solomon +regmap-ac97 +regmap-i3c +regmap-sccb +regmap-sdw +regmap-sdw-mbq +regmap-slimbus +regmap-spi-avmm +regmap-spmi +regmap-w1 +regulator-haptic +reiserfs +renesas-nand-controller +renesas-rpc-if +renesas_sdhi_core +renesas_sdhi_internal_dmac +renesas_sdhi_sys_dmac +renesas_usb3 +renesas_usbhs +renesas_wdt +repaper +reset-a10sr +reset-brcmstb +reset-hi3660 +reset-meson-audio-arb +reset-qcom-pdc +reset-raspberrypi +reset-rzg2l-usbphy-ctrl +reset-scmi +reset-ti-sci +reset-ti-syscon +resistive-adc-touch +retu-mfd +retu-pwrbutton +retu_wdt +rfc1051 +rfc1201 +rfcomm +rfd77402 +rfd_ftl +rfkill-gpio +rio-scan +rio_cm +rio_mport_cdev +rionet +rivafb +rj54n1cb0c +rk3399_dmc +rk805-pwrkey +rk808 +rk808-regulator +rk_crypto +rm3100-core +rm3100-i2c +rm3100-spi +rmd160 +rmi_core +rmi_i2c +rmi_smbus +rmi_spi +rmnet +rmtfs_mem +rn5t618 +rn5t618-adc +rn5t618-regulator +rn5t618_power +rn5t618_wdt +rnbd-client +rnbd-server +rndis_host +rndis_wlan +rockchip +rockchip-dfi +rockchip-isp1 +rockchip-nand-controller +rockchip-rga +rockchip-vdec +rockchip_saradc +rockchip_thermal +rockchipdrm +rocker +rohm-bd71828 +rohm-bd718x7 +rohm-bd9576 +rohm-regulator +rohm_bu21023 +romfs +rose +rotary_encoder +rp2 +rpcrdma +rpcsec_gss_krb5 +rpi-panel-attiny-regulator +rpmpd +rpmsg_char +rpmsg_core +rpmsg_ctrl +rpmsg_ns +rpmsg_tty +rpmsg_wwan_ctrl +rpr0521 +rsi_91x +rsi_sdio +rsi_usb +rsmu-i2c +rsmu-spi +rt1719 +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800mmio +rt2800pci +rt2800usb +rt2x00lib +rt2x00mmio +rt2x00pci +rt2x00usb +rt4801-regulator +rt4831 +rt4831-backlight +rt4831-regulator +rt5033 +rt5033-regulator +rt5033_battery +rt5190a-regulator +rt5759-regulator +rt6160-regulator +rt61pci +rt6245-regulator +rt73usb +rt9455_charger +rtc-88pm80x +rtc-88pm860x +rtc-ab-b5ze-s3 +rtc-ab-eoz9 +rtc-abx80x +rtc-armada38x +rtc-as3722 +rtc-bd70528 +rtc-bq32k +rtc-bq4802 +rtc-brcmstb-waketimer +rtc-cadence +rtc-cpcap +rtc-cros-ec +rtc-da9052 +rtc-da9055 +rtc-da9063 +rtc-ds1286 +rtc-ds1302 +rtc-ds1305 +rtc-ds1307 +rtc-ds1343 +rtc-ds1347 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1685 +rtc-ds1742 +rtc-ds2404 +rtc-ds3232 +rtc-em3027 +rtc-fm3130 +rtc-fsl-ftm-alarm +rtc-ftrtc010 +rtc-goldfish +rtc-hid-sensor-time +rtc-hym8563 +rtc-imx-sc +rtc-imxdi +rtc-isl12022 +rtc-isl12026 +rtc-isl1208 +rtc-lp8788 +rtc-m41t80 +rtc-m41t93 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-max6916 +rtc-max77686 +rtc-max8907 +rtc-max8925 +rtc-max8997 +rtc-max8998 +rtc-mc13xxx +rtc-mcp795 +rtc-meson-vrtc +rtc-msm6242 +rtc-mt2712 +rtc-mt6397 +rtc-mt7622 +rtc-mxc +rtc-mxc_v2 +rtc-ntxec +rtc-optee +rtc-palmas +rtc-pcap +rtc-pcf2123 +rtc-pcf2127 +rtc-pcf50633 +rtc-pcf85063 +rtc-pcf8523 +rtc-pcf85363 +rtc-pcf8563 +rtc-pcf8583 +rtc-pl030 +rtc-pl031 +rtc-pm8xxx +rtc-r7301 +rtc-r9701 +rtc-rc5t583 +rtc-rc5t619 +rtc-rk808 +rtc-rp5c01 +rtc-rs5c348 +rtc-rs5c372 +rtc-rv3028 +rtc-rv3029c2 +rtc-rv3032 +rtc-rv8803 +rtc-rx4581 +rtc-rx6110 +rtc-rx8010 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-s5m +rtc-sc27xx +rtc-sd3078 +rtc-sh +rtc-snvs +rtc-stk17ta8 +rtc-tegra +rtc-tps6586x +rtc-tps65910 +rtc-twl +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtc-zynqmp +rtd520 +rti800 +rti802 +rti_wdt +rtl2830 +rtl2832 +rtl2832_sdr +rtl8150 +rtl8187 +rtl8188ee +rtl818x_pci +rtl8192c-common +rtl8192ce +rtl8192cu +rtl8192de +rtl8192ee +rtl8192se +rtl8365mb +rtl8366 +rtl8723-common +rtl8723ae +rtl8723be +rtl8821ae +rtl8xxxu +rtl_pci +rtl_usb +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +rtmv20-regulator +rtq2134-regulator +rtq6752-regulator +rtrs-client +rtrs-core +rtrs-server +rts5208 +rtsx_pci +rtsx_pci_ms +rtsx_pci_sdmmc +rtsx_usb +rtsx_usb_ms +rtsx_usb_sdmmc +rtw88_8723d +rtw88_8723de +rtw88_8821c +rtw88_8821ce +rtw88_8822b +rtw88_8822be +rtw88_8822c +rtw88_8822ce +rtw88_core +rtw88_pci +rtw89_8852a +rtw89_8852ae +rtw89_8852c +rtw89_8852ce +rtw89_core +rtw89_pci +rvu_af +rvu_cptcommon +rvu_cptpf +rvu_cptvf +rvu_mbox +rvu_nicpf +rvu_nicvf +rx51_battery +rxrpc +rz-dmac +rza_wdt +rzg2l_adc +rzg2l_thermal +rzg2l_wdt +rzn1_wdt +s1d13xxxfb +s2250 +s2255drv +s2io +s2mpa01 +s2mps11 +s3fb +s3fwrn5 +s3fwrn5_i2c +s3fwrn82_uart +s526 +s5c73m3 +s5h1409 +s5h1411 +s5h1420 +s5h1432 +s5k4ecgx +s5k5baf +s5k6a3 +s5k6aa +s5m8767 +s626 +s6sy761 +s921 +sa2ul +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7134-go7007 +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +saa7706h +safe_serial +sahara +sample-trace-array +samsung-keypad +samsung-sxgbe +samsung_tty +sata_dwc_460ex +sata_inic162x +sata_mv +sata_nv +sata_promise +sata_qstor +sata_rcar +sata_sil +sata_sil24 +sata_sis +sata_svw +sata_sx4 +sata_uli +sata_via +sata_vsc +savagefb +sb1000 +sbp_target +sbrmi +sbs-battery +sbs-charger +sbs-manager +sbsa_gwdt +sbtsi_temp +sc16is7xx +sc2731-regulator +sc2731_charger +sc27xx-poweroff +sc27xx-vibra +sc27xx_adc +sc27xx_fuel_gauge +sc92031 +sc9860-clk +sc9863a-clk +sca3000 +sca3300 +scd30_core +scd30_i2c +scd30_serial +scd4x +sch5627 +sch5636 +sch56xx-common +sch_atm +sch_cake +sch_cbq +sch_cbs +sch_choke +sch_codel +sch_drr +sch_dsmark +sch_etf +sch_ets +sch_fq +sch_fq_codel +sch_fq_pie +sch_gred +sch_hfsc +sch_hhf +sch_htb +sch_ingress +sch_mqprio +sch_multiq +sch_netem +sch_pie +sch_plug +sch_prio +sch_qfq +sch_red +sch_sfb +sch_sfq +sch_skbprio +sch_taprio +sch_tbf +sch_teql +sci-clk +sclk-div +scmi-cpufreq +scmi-hwmon +scmi-regulator +scmi_iio +scmi_pm_domain +scpi-cpufreq +scpi-hwmon +scpi_pm_domain +scsi_debug +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_spi +scsi_transport_srp +sctp +sctp_diag +sd_adc_modulator +sdhci +sdhci-acpi +sdhci-brcmstb +sdhci-cadence +sdhci-esdhc-imx +sdhci-iproc +sdhci-milbeaut +sdhci-msm +sdhci-of-arasan +sdhci-of-aspeed +sdhci-of-at91 +sdhci-of-dwcmshc +sdhci-of-esdhc +sdhci-of-sparx5 +sdhci-omap +sdhci-pci +sdhci-pltfm +sdhci-pxav3 +sdhci-sprd +sdhci-tegra +sdhci-xenon-driver +sdhci_am654 +sdhci_f_sdh30 +sdio_uart +sensehat-joystick +sensorhub +serial-tegra +serial_ir +serio_raw +sermouse +serpent_generic +serport +ses +sf-pdma +sfc +sfc-falcon +sfc-siena +sfp +sgi_w1 +sgp30 +sgp40 +sh-sci +sh_eth +sh_mmcif +sh_mobile_lcdcfb +sha1-ce +sha2-ce +sha256-arm64 +sha3-ce +sha3_generic +sha512-arm64 +sha512-ce +shark2 +shiftfs +sht15 +sht21 +sht3x +sht4x +shtc1 +si1133 +si1145 +si2157 +si2165 +si2168 +si21xx +si4713 +si476x-core +si7005 +si7020 +sidewinder +sierra +sierra_net +sifive +sii902x +sii9234 +sil-sii8620 +sil164 +silead +simple-bridge +simple-mfd-i2c +simpledrm +simplefb +siox-bus-gpio +siox-core +sis190 +sis5595 +sis900 +sis_i2c +sisfb +sisusbvga +sit +siw +sja1000 +sja1000_isa +sja1000_platform +sja1105 +skfp +skge +sky2 +sky81452 +sky81452-backlight +sky81452-regulator +sl28cpld-hwmon +sl28cpld_wdt +sl811-hcd +slcan +slg51000-regulator +slic_ds26522 +slicoss +slim-qcom-ctrl +slim-qcom-ngd-ctrl +slimbus +slip +slram +sm2_generic +sm3 +sm3-ce +sm3_generic +sm4 +sm4-ce +sm4-ce-cipher +sm4-neon +sm4_generic +sm501 +sm501fb +sm712fb +sm750fb +sm_common +sm_ftl +smartpqi +smb347-charger +smc +smc_diag +smd-rpm +smem +smipcie +smm665 +smp2p +smsc +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc911x +smsc9420 +smsc95xx +smscufx +smsdvb +smsm +smsmdtv +smssdio +smsusb +snd +snd-ac97-codec +snd-acp-config +snd-ad1889 +snd-ak4113 +snd-ak4114 +snd-ak4xxx-adda +snd-ali5451 +snd-aloop +snd-als300 +snd-atiixp +snd-atiixp-modem +snd-au8810 +snd-au8820 +snd-au8830 +snd-aw2 +snd-azt3328 +snd-bcd2000 +snd-bcm2835 +snd-bebob +snd-bt87x +snd-ca0106 +snd-cmipci +snd-compress +snd-cs4281 +snd-cs46xx +snd-cs8427 +snd-ctl-led +snd-ctxfi +snd-darla20 +snd-darla24 +snd-dice +snd-dummy +snd-echo3g +snd-emu10k1 +snd-emu10k1-synth +snd-emu10k1x +snd-emux-synth +snd-ens1370 +snd-ens1371 +snd-es1938 +snd-es1968 +snd-fireface +snd-firewire-digi00x +snd-firewire-lib +snd-firewire-motu +snd-firewire-tascam +snd-fireworks +snd-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-ca0110 +snd-hda-codec-ca0132 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-cs8409 +snd-hda-codec-generic +snd-hda-codec-hdmi +snd-hda-codec-idt +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-core +snd-hda-cs-dsp-ctls +snd-hda-intel +snd-hda-scodec-cs35l41 +snd-hda-scodec-cs35l41-i2c +snd-hda-scodec-cs35l41-spi +snd-hda-tegra +snd-hdsp +snd-hdspm +snd-hrtimer +snd-hwdep +snd-i2c +snd-ice1712 +snd-ice1724 +snd-ice17xx-ak4xxx +snd-indigo +snd-indigodj +snd-indigodjx +snd-indigoio +snd-indigoiox +snd-intel-dspcfg +snd-intel-sdw-acpi +snd-intel8x0 +snd-intel8x0m +snd-isight +snd-korg1212 +snd-layla20 +snd-layla24 +snd-lola +snd-lx6464es +snd-maestro3 +snd-mia +snd-mixart +snd-mixer-oss +snd-mona +snd-mpu401 +snd-mpu401-uart +snd-mtpav +snd-mts64 +snd-nm256 +snd-opl3-lib +snd-opl3-synth +snd-oxfw +snd-oxygen +snd-oxygen-lib +snd-pcm +snd-pcm-dmaengine +snd-pcxhr +snd-portman2x4 +snd-pt2258 +snd-q6apm +snd-q6dsp-common +snd-rawmidi +snd-riptide +snd-rme32 +snd-rme96 +snd-rme9652 +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-midi +snd-seq-midi-emul +snd-seq-midi-event +snd-seq-virmidi +snd-serial-generic +snd-serial-u16550 +snd-soc-63xx +snd-soc-ac97 +snd-soc-acp-da7219mx98357-mach +snd-soc-acp-rt5645-mach +snd-soc-acpi +snd-soc-adau-utils +snd-soc-adau1372 +snd-soc-adau1372-i2c +snd-soc-adau1372-spi +snd-soc-adau1701 +snd-soc-adau1761 +snd-soc-adau1761-i2c +snd-soc-adau1761-spi +snd-soc-adau17x1 +snd-soc-adau7002 +snd-soc-adau7118 +snd-soc-adau7118-hw +snd-soc-adau7118-i2c +snd-soc-adi-axi-i2s +snd-soc-adi-axi-spdif +snd-soc-ak4104 +snd-soc-ak4118 +snd-soc-ak4375 +snd-soc-ak4458 +snd-soc-ak4554 +snd-soc-ak4613 +snd-soc-ak4642 +snd-soc-ak5386 +snd-soc-ak5558 +snd-soc-alc5623 +snd-soc-alc5632 +snd-soc-apq8016-sbc +snd-soc-apq8096 +snd-soc-armada-370-db +snd-soc-audio-graph-card +snd-soc-audio-graph-card2 +snd-soc-audio-graph-card2-custom-sample +snd-soc-aw8738 +snd-soc-bcm2835-i2s +snd-soc-bd28623 +snd-soc-bt-sco +snd-soc-core +snd-soc-cpcap +snd-soc-cros-ec-codec +snd-soc-cs35l32 +snd-soc-cs35l33 +snd-soc-cs35l34 +snd-soc-cs35l35 +snd-soc-cs35l36 +snd-soc-cs35l41 +snd-soc-cs35l41-i2c +snd-soc-cs35l41-lib +snd-soc-cs35l41-spi +snd-soc-cs35l45 +snd-soc-cs35l45-i2c +snd-soc-cs35l45-spi +snd-soc-cs35l45-tables +snd-soc-cs4234 +snd-soc-cs4265 +snd-soc-cs4270 +snd-soc-cs4271 +snd-soc-cs4271-i2c +snd-soc-cs4271-spi +snd-soc-cs42l42 +snd-soc-cs42l51 +snd-soc-cs42l51-i2c +snd-soc-cs42l52 +snd-soc-cs42l56 +snd-soc-cs42l73 +snd-soc-cs42xx8 +snd-soc-cs42xx8-i2c +snd-soc-cs43130 +snd-soc-cs4341 +snd-soc-cs4349 +snd-soc-cs53l30 +snd-soc-cx2072x +snd-soc-da7213 +snd-soc-da7219 +snd-soc-davinci-mcasp +snd-soc-dmic +snd-soc-es7134 +snd-soc-es7241 +snd-soc-es8316 +snd-soc-es8328 +snd-soc-es8328-i2c +snd-soc-es8328-spi +snd-soc-fsi +snd-soc-fsl-asoc-card +snd-soc-fsl-asrc +snd-soc-fsl-aud2htx +snd-soc-fsl-audmix +snd-soc-fsl-easrc +snd-soc-fsl-esai +snd-soc-fsl-micfil +snd-soc-fsl-mqs +snd-soc-fsl-rpmsg +snd-soc-fsl-sai +snd-soc-fsl-spdif +snd-soc-fsl-ssi +snd-soc-fsl-xcvr +snd-soc-gtm601 +snd-soc-hdmi-codec +snd-soc-ics43432 +snd-soc-imx-audmix +snd-soc-imx-audmux +snd-soc-imx-card +snd-soc-imx-es8328 +snd-soc-imx-hdmi +snd-soc-imx-rpmsg +snd-soc-imx-sgtl5000 +snd-soc-imx-spdif +snd-soc-inno-rk3036 +snd-soc-j721e-evm +snd-soc-kirkwood +snd-soc-kmb_platform +snd-soc-lochnagar-sc +snd-soc-lpass-apq8016 +snd-soc-lpass-cdc-dma +snd-soc-lpass-cpu +snd-soc-lpass-hdmi +snd-soc-lpass-ipq806x +snd-soc-lpass-macro-common +snd-soc-lpass-platform +snd-soc-lpass-rx-macro +snd-soc-lpass-sc7180 +snd-soc-lpass-sc7280 +snd-soc-lpass-tx-macro +snd-soc-lpass-va-macro +snd-soc-lpass-wsa-macro +snd-soc-max9759 +snd-soc-max98088 +snd-soc-max98090 +snd-soc-max98357a +snd-soc-max98373 +snd-soc-max98373-i2c +snd-soc-max98373-sdw +snd-soc-max98390 +snd-soc-max98396 +snd-soc-max98504 +snd-soc-max98520 +snd-soc-max9860 +snd-soc-max9867 +snd-soc-max98927 +snd-soc-meson-aiu +snd-soc-meson-axg-fifo +snd-soc-meson-axg-frddr +snd-soc-meson-axg-pdm +snd-soc-meson-axg-sound-card +snd-soc-meson-axg-spdifin +snd-soc-meson-axg-spdifout +snd-soc-meson-axg-tdm-formatter +snd-soc-meson-axg-tdm-interface +snd-soc-meson-axg-tdmin +snd-soc-meson-axg-tdmout +snd-soc-meson-axg-toddr +snd-soc-meson-card-utils +snd-soc-meson-codec-glue +snd-soc-meson-g12a-toacodec +snd-soc-meson-g12a-tohdmitx +snd-soc-meson-gx-sound-card +snd-soc-meson-t9015 +snd-soc-mikroe-proto +snd-soc-msm8916-analog +snd-soc-msm8916-digital +snd-soc-mt6351 +snd-soc-mt6358 +snd-soc-mt6359 +snd-soc-mt6660 +snd-soc-mt6797-afe +snd-soc-mt8183-afe +snd-soc-mt8192-afe +snd-soc-mt8195-afe +snd-soc-mtk-common +snd-soc-nau8315 +snd-soc-nau8540 +snd-soc-nau8810 +snd-soc-nau8821 +snd-soc-nau8822 +snd-soc-nau8824 +snd-soc-pcm1681 +snd-soc-pcm1789-codec +snd-soc-pcm1789-i2c +snd-soc-pcm179x-codec +snd-soc-pcm179x-i2c +snd-soc-pcm179x-spi +snd-soc-pcm186x +snd-soc-pcm186x-i2c +snd-soc-pcm186x-spi +snd-soc-pcm3060 +snd-soc-pcm3060-i2c +snd-soc-pcm3060-spi +snd-soc-pcm3168a +snd-soc-pcm3168a-i2c +snd-soc-pcm3168a-spi +snd-soc-pcm5102a +snd-soc-pcm512x +snd-soc-pcm512x-i2c +snd-soc-pcm512x-spi +snd-soc-qcom-common +snd-soc-rcar +snd-soc-rk3288-hdmi-analog +snd-soc-rk3328 +snd-soc-rk3399-gru-sound +snd-soc-rk817 +snd-soc-rl6231 +snd-soc-rockchip-i2s +snd-soc-rockchip-i2s-tdm +snd-soc-rockchip-max98090 +snd-soc-rockchip-pdm +snd-soc-rockchip-rt5645 +snd-soc-rockchip-spdif +snd-soc-rt1011 +snd-soc-rt1015 +snd-soc-rt1015p +snd-soc-rt1308-sdw +snd-soc-rt1316-sdw +snd-soc-rt5514 +snd-soc-rt5514-spi +snd-soc-rt5616 +snd-soc-rt5631 +snd-soc-rt5640 +snd-soc-rt5645 +snd-soc-rt5659 +snd-soc-rt5663 +snd-soc-rt5677 +snd-soc-rt5677-spi +snd-soc-rt5682 +snd-soc-rt5682-i2c +snd-soc-rt5682-sdw +snd-soc-rt5682s +snd-soc-rt700 +snd-soc-rt711 +snd-soc-rt711-sdca +snd-soc-rt715 +snd-soc-rt715-sdca +snd-soc-rt9120 +snd-soc-rz-ssi +snd-soc-sc7180 +snd-soc-sc7280 +snd-soc-sdm845 +snd-soc-sdw-mockup +snd-soc-sgtl5000 +snd-soc-si476x +snd-soc-sigmadsp +snd-soc-sigmadsp-i2c +snd-soc-sigmadsp-regmap +snd-soc-simple-amplifier +snd-soc-simple-card +snd-soc-simple-card-utils +snd-soc-simple-mux +snd-soc-sm8250 +snd-soc-spdif-rx +snd-soc-spdif-tx +snd-soc-sprd-platform +snd-soc-ssm2305 +snd-soc-ssm2518 +snd-soc-ssm2602 +snd-soc-ssm2602-i2c +snd-soc-ssm2602-spi +snd-soc-ssm4567 +snd-soc-sta32x +snd-soc-sta350 +snd-soc-sti-sas +snd-soc-storm +snd-soc-tas2552 +snd-soc-tas2562 +snd-soc-tas2764 +snd-soc-tas2770 +snd-soc-tas5086 +snd-soc-tas571x +snd-soc-tas5720 +snd-soc-tas5805m +snd-soc-tas6424 +snd-soc-tda7419 +snd-soc-tegra-audio-graph-card +snd-soc-tegra-machine +snd-soc-tegra-pcm +snd-soc-tegra-wm8903 +snd-soc-tegra186-asrc +snd-soc-tegra186-dspk +snd-soc-tegra20-ac97 +snd-soc-tegra20-das +snd-soc-tegra20-i2s +snd-soc-tegra20-spdif +snd-soc-tegra210-admaif +snd-soc-tegra210-adx +snd-soc-tegra210-ahub +snd-soc-tegra210-amx +snd-soc-tegra210-dmic +snd-soc-tegra210-i2s +snd-soc-tegra210-mixer +snd-soc-tegra210-mvc +snd-soc-tegra210-sfc +snd-soc-tegra30-ahub +snd-soc-tegra30-i2s +snd-soc-test-component +snd-soc-tfa9879 +snd-soc-tfa989x +snd-soc-ti-edma +snd-soc-ti-sdma +snd-soc-ti-udma +snd-soc-tlv320adc3xxx +snd-soc-tlv320adcx140 +snd-soc-tlv320aic23 +snd-soc-tlv320aic23-i2c +snd-soc-tlv320aic23-spi +snd-soc-tlv320aic31xx +snd-soc-tlv320aic32x4 +snd-soc-tlv320aic32x4-i2c +snd-soc-tlv320aic32x4-spi +snd-soc-tlv320aic3x +snd-soc-tlv320aic3x-i2c +snd-soc-tlv320aic3x-spi +snd-soc-tpa6130a2 +snd-soc-ts3a227e +snd-soc-tscs42xx +snd-soc-tscs454 +snd-soc-uda1334 +snd-soc-wcd-mbhc +snd-soc-wcd9335 +snd-soc-wcd934x +snd-soc-wcd938x +snd-soc-wcd938x-sdw +snd-soc-wm-adsp +snd-soc-wm-hubs +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8524 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8731-i2c +snd-soc-wm8731-spi +snd-soc-wm8737 +snd-soc-wm8741 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8770 +snd-soc-wm8776 +snd-soc-wm8782 +snd-soc-wm8804 +snd-soc-wm8804-i2c +snd-soc-wm8804-spi +snd-soc-wm8903 +snd-soc-wm8904 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8962 +snd-soc-wm8974 +snd-soc-wm8978 +snd-soc-wm8985 +snd-soc-wm8994 +snd-soc-wm9712 +snd-soc-wsa881x +snd-soc-xlnx-formatter-pcm +snd-soc-xlnx-i2s +snd-soc-xlnx-spdif +snd-soc-xtfpga-i2s +snd-soc-zl38060 +snd-sof +snd-sof-imx8 +snd-sof-imx8m +snd-sof-mt8186 +snd-sof-mt8195 +snd-sof-of +snd-sof-utils +snd-sof-xtensa-dsp +snd-sonicvibes +snd-timer +snd-trident +snd-ua101 +snd-usb-6fire +snd-usb-audio +snd-usb-caiaq +snd-usb-hiface +snd-usb-line6 +snd-usb-pod +snd-usb-podhd +snd-usb-toneport +snd-usb-variax +snd-usbmidi-lib +snd-util-mem +snd-via82xx +snd-via82xx-modem +snd-virmidi +snd-virtuoso +snd-vx-lib +snd-vx222 +snd-ymfpci +snd_xen_front +snic +snps_udc_core +snps_udc_plat +snvs_pwrkey +soc_button_array +socfpga +socfpga-a10 +socinfo +softdog +softing +solo6x10 +solos-pci +sony-btf-mpx +soundcore +soundwire-bus +soundwire-cadence +soundwire-generic-allocation +soundwire-intel +soundwire-qcom +sp2 +sp805_wdt +sp8870 +sp887x +spaceball +spaceorb +sparse-keymap +sparx5-switch +sparx5-temp +spcp8x5 +speakup +speakup_acntsa +speakup_apollo +speakup_audptr +speakup_bns +speakup_decext +speakup_dectlk +speakup_dummy +speakup_ltlk +speakup_soft +speakup_spkout +speakup_txprt +speedfax +speedtch +spi-altera-core +spi-altera-dfl +spi-altera-platform +spi-amd +spi-armada-3700 +spi-axi-spi-engine +spi-bcm-qspi +spi-bcm2835 +spi-bcm2835aux +spi-bitbang +spi-brcmstb-qspi +spi-butterfly +spi-cadence +spi-cadence-quadspi +spi-cadence-xspi +spi-dln2 +spi-dw +spi-dw-mmio +spi-dw-pci +spi-fsi +spi-fsl-dspi +spi-fsl-lpspi +spi-fsl-qspi +spi-geni-qcom +spi-gpio +spi-hisi-kunpeng +spi-hisi-sfc-v3xx +spi-imx +spi-iproc-qspi +spi-lm70llp +spi-loopback-test +spi-meson-spicc +spi-meson-spifc +spi-mt65xx +spi-mtk-nor +spi-mtk-snfi +spi-mux +spi-mxic +spi-nor +spi-nxp-fspi +spi-oc-tiny +spi-orion +spi-pl022 +spi-pxa2xx-pci +spi-pxa2xx-platform +spi-qcom-qspi +spi-qup +spi-rockchip +spi-rockchip-sfc +spi-rpc-if +spi-rspi +spi-sc18is602 +spi-sh-hspi +spi-sh-msiof +spi-sifive +spi-slave-mt27xx +spi-slave-system-control +spi-slave-time +spi-sprd +spi-sprd-adi +spi-sun6i +spi-synquacer +spi-tegra114 +spi-tegra20-sflash +spi-tegra20-slink +spi-tegra210-quad +spi-thunderx +spi-tle62x0 +spi-xcomm +spi-xlp +spi-zynqmp-gqspi +spi_ks8995 +spidev +spinand +spl +spmi +spmi-mtk-pmif +spmi-pmic-arb +sprd-dma +sprd-drm +sprd-iommu +sprd-mailbox +sprd-mcdt +sprd-sc27xx-spi +sprd_hwspinlock +sprd_serial +sprd_thermal +sprd_wdt +sps30 +sps30_i2c +sps30_serial +sr-thermal +sr030pc30 +sr9700 +sr9800 +srf04 +srf08 +ssb +ssb-hcd +ssd1307fb +ssd130x +ssd130x-i2c +ssd130x-spi +ssfdc +ssp_accel_sensor +ssp_gyro_sensor +ssp_iio +sst25l +sstfb +ssu100 +st +st-mipid02 +st-nci +st-nci_i2c +st-nci_spi +st1232 +st21nfca_hci +st21nfca_i2c +st7586 +st7735r +st95hf +st_accel +st_accel_i2c +st_accel_spi +st_drv +st_gyro +st_gyro_i2c +st_gyro_spi +st_lsm6dsx +st_lsm6dsx_i2c +st_lsm6dsx_i3c +st_lsm6dsx_spi +st_lsm9ds0 +st_lsm9ds0_i2c +st_lsm9ds0_spi +st_magn +st_magn_i2c +st_magn_spi +st_pressure +st_pressure_i2c +st_pressure_spi +st_sensors +st_sensors_i2c +st_sensors_spi +st_uvis25_core +st_uvis25_i2c +st_uvis25_spi +starfire +stb0899 +stb6000 +stb6100 +ste10Xp +stex +stinger +stk1160 +stk3310 +stk8312 +stk8ba50 +stkwebcam +stm_console +stm_core +stm_ftrace +stm_heartbeat +stm_p_basic +stm_p_sys-t +stmfts +stmfx +stmmac +stmmac-pci +stmmac-platform +stmpe-adc +stmpe-keypad +stmpe-ts +stowaway +stp +stpddc60 +stpmic1 +stpmic1_onkey +stpmic1_regulator +stpmic1_wdt +stratix10-rsu +stratix10-soc +stratix10-svc +streamzap +streebog_generic +stts751 +stusb160x +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv0910 +stv6110 +stv6110x +stv6111 +sun4i-backend +sun4i-csi +sun4i-drm +sun4i-drm-hdmi +sun4i-frontend +sun4i-gpadc +sun4i-ss +sun4i-tcon +sun4i_tv +sun50i-codec-analog +sun50i-cpufreq-nvmem +sun6i-csi +sun6i-dma +sun6i-rtc-ccu +sun6i_drc +sun6i_hwspinlock +sun6i_mipi_dsi +sun8i-a33-mbus +sun8i-adda-pr-regmap +sun8i-ce +sun8i-codec +sun8i-codec-analog +sun8i-di +sun8i-drm-hdmi +sun8i-mixer +sun8i-rotate +sun8i-ss +sun8i_tcon_top +sun8i_thermal +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrise_co2 +sunrpc +sunxi +sunxi-cedrus +sunxi-cir +sunxi-mmc +sunxi-rsb +sunxi_wdt +sur40 +surface3_spi +surface_acpi_notify +surface_aggregator +surface_aggregator_cdev +surface_aggregator_registry +surface_battery +surface_charger +surface_dtx +surface_gpe +surface_hid +surface_hid_core +surface_hotplug +surface_kbd +surface_platform_profile +svc-i3c-master +svgalib +switchtec +sx8 +sx8654 +sx9310 +sx9324 +sx9360 +sx9500 +sx_common +sy7636a-hwmon +sy7636a-regulator +sy8106a-regulator +sy8824x +sy8827n +sym53c8xx +symbolserial +synaptics_i2c +synaptics_usb +synclink_gt +synopsys_edac +syscon-reboot-mode +syscopyarea +sysfillrect +sysimgblt +sysv +t5403 +tag_ar9331 +tag_brcm +tag_dsa +tag_gswip +tag_hellcreek +tag_ksz +tag_lan9303 +tag_mtk +tag_ocelot +tag_ocelot_8021q +tag_qca +tag_rtl4_a +tag_rtl8_4 +tag_sja1105 +tag_trailer +tag_xrs700x +tap +target_core_file +target_core_iblock +target_core_mod +target_core_pscsi +target_core_user +tc-dwc-g210 +tc-dwc-g210-pci +tc-dwc-g210-pltfrm +tc358743 +tc358762 +tc358764 +tc358767 +tc358768 +tc358775 +tc3589x-keypad +tc654 +tc74 +tc90522 +tca6416-keypad +tca8418_keypad +tcan4x5x +tcm_fc +tcm_loop +tcm_qla2xxx +tcm_usb_gadget +tcp_bbr +tcp_bic +tcp_cdg +tcp_dctcp +tcp_diag +tcp_highspeed +tcp_htcp +tcp_hybla +tcp_illinois +tcp_lp +tcp_nv +tcp_scalable +tcp_vegas +tcp_veno +tcp_westwood +tcp_yeah +tcpci +tcpci_maxim +tcpci_mt6360 +tcpci_rt1711h +tcpm +tcrypt +tcs3414 +tcs3472 +tda10021 +tda10023 +tda10048 +tda1004x +tda10071 +tda10086 +tda18212 +tda18218 +tda18250 +tda18271 +tda18271c2dd +tda1997x +tda665x +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tda9950 +tda998x +tdfxfb +tdo24m +tea575x +tea5761 +tea5767 +tea6415c +tea6420 +team +team_mode_activebackup +team_mode_broadcast +team_mode_loadbalance +team_mode_random +team_mode_roundrobin +tee +tee_bnxt_fw +tef6862 +tegra-aconnect +tegra-bpmp-thermal +tegra-drm +tegra-gmi +tegra-kbc +tegra-vde +tegra-video +tegra-xudc +tegra186-cpufreq +tegra186-gpc-dma +tegra194-cpufreq +tegra210-adma +tegra210-emc +tegra30-devfreq +tegra_cec +tegra_nand +tegra_wdt +tehuti +teranetics +test_blackhole_dev +test_bpf +test_power +tg3 +thc63lvd1024 +thermal-generic-adc +thermal_mmio +thmc50 +ths7303 +ths8200 +thunder_bgx +thunder_xcv +thunderbolt +thunderbolt-net +thunderx-mmc +thunderx2_pmu +thunderx_edac +thunderx_zip +ti-adc081c +ti-adc0832 +ti-adc084s021 +ti-adc108s102 +ti-adc12138 +ti-adc128s052 +ti-adc161s626 +ti-ads1015 +ti-ads124s08 +ti-ads131e08 +ti-ads7950 +ti-ads8344 +ti-ads8688 +ti-am65-cpsw-nuss +ti-cal +ti-dac082s085 +ti-dac5571 +ti-dac7311 +ti-dac7612 +ti-j721e-ufs +ti-lmu +ti-sn65dsi83 +ti-sn65dsi86 +ti-tfp410 +ti-tlc4541 +ti-tpd12s015 +ti-tsc2046 +ti_am335x_adc +ti_am335x_tsc +ti_am335x_tscadc +ti_k3_dsp_remoteproc +ti_k3_r5_remoteproc +ti_sci_pm_domains +ti_usb_3410_5052 +tidss +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +timeriomem-rng +tipc +tlan +tls +tlv320aic23b +tm2-touchkey +tm6000 +tm6000-alsa +tm6000-dvb +tmdc +tmio_mmc_core +tmp006 +tmp007 +tmp102 +tmp103 +tmp108 +tmp117 +tmp401 +tmp421 +tmp464 +tmp513 +toshsd +touchit213 +touchright +touchwin +tpci200 +tpl0102 +tpm_atmel +tpm_ftpm_tee +tpm_i2c_atmel +tpm_i2c_infineon +tpm_i2c_nuvoton +tpm_infineon +tpm_st33zp24 +tpm_st33zp24_i2c +tpm_st33zp24_spi +tpm_tis_i2c_cr50 +tpm_tis_spi +tpm_tis_synquacer +tpm_vtpm_proxy +tps23861 +tps40422 +tps51632-regulator +tps53679 +tps6105x +tps6105x-regulator +tps62360-regulator +tps6286x-regulator +tps65010 +tps65023-regulator +tps6507x +tps6507x-regulator +tps6507x-ts +tps65086 +tps65086-regulator +tps65090-charger +tps65090-regulator +tps65132-regulator +tps65217 +tps65217-regulator +tps65217_bl +tps65217_charger +tps65218 +tps65218-pwrbutton +tps65218-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +tps6598x +tqmx86 +trace-printk +trancevibrator +trf7970a +tridentfb +ts2020 +ts_bm +ts_fsm +ts_kmp +tsc2004 +tsc2005 +tsc2007 +tsc200x-core +tsc40 +tsi721_mport +tsl2550 +tsl2563 +tsl2583 +tsl2591 +tsl2772 +tsl4531 +tsnep +tsys01 +tsys02d +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +ttusbir +ttynull +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tunnel4 +tunnel6 +turbografx +turingcc-qcs404 +turris-mox-rwtm +tvaudio +tveeprom +tvp514x +tvp5150 +tvp7002 +tw2804 +tw5864 +tw68 +tw686x +tw9903 +tw9906 +tw9910 +twidjoy +twl-regulator +twl4030-madc +twl4030-pwrbutton +twl4030-vibra +twl4030_charger +twl4030_keypad +twl4030_madc_battery +twl4030_wdt +twl6030-gpadc +twl6030-regulator +twl6040-vibra +twofish_common +twofish_generic +typec +typec_displayport +typec_nvidia +typec_ucsi +typhoon +u132-hcd +uPD60620 +u_audio +u_ether +u_serial +uacce +uartlite +uas +ubi +ubifs +ubuntu-host +ucan +ucb1400_core +ucb1400_ts +ucc_uart +ucd9000 +ucd9200 +ucs1002_power +ucsi_acpi +ucsi_ccg +uda1342 +udc-core +udc-xilinx +udf +udl +udlfb +udp_diag +udp_tunnel +ueagle-atm +ufs +ufs-hisi +ufs-mediatek +ufs_qcom +ufshcd-core +ufshcd-dwc +ufshcd-pci +ufshcd-pltfrm +ug3105_battery +uhid +uio +uio_aec +uio_cif +uio_dfl +uio_dmem_genirq +uio_hv_generic +uio_mf624 +uio_netx +uio_pci_generic +uio_pdrv_genirq +uio_pruss +uio_sercos3 +uleds +uli526x +ulpi +ums-alauda +ums-cypress +ums-datafab +ums-eneub6250 +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-realtek +ums-sddr09 +ums-sddr55 +ums-usbat +unix_diag +upd64031a +upd64083 +upd78f0730 +us5182d +usb-conn-gpio +usb-dmac +usb-serial-simple +usb-storage +usb251xb +usb3503 +usb4604 +usb8xxx +usb_8dev +usb_debug +usb_f_acm +usb_f_ecm +usb_f_ecm_subset +usb_f_eem +usb_f_fs +usb_f_hid +usb_f_mass_storage +usb_f_midi +usb_f_ncm +usb_f_obex +usb_f_phonet +usb_f_printer +usb_f_rndis +usb_f_serial +usb_f_ss_lb +usb_f_tcm +usb_f_uac1 +usb_f_uac1_legacy +usb_f_uac2 +usb_f_uvc +usb_wwan +usbatm +usbdux +usbduxfast +usbduxsigma +usbhid +usbip-core +usbip-host +usbip-vudc +usbkbd +usblcd +usblp +usbmisc_imx +usbmon +usbmouse +usbnet +usbserial +usbsevseg +usbtest +usbtmc +usbtouchscreen +usbtv +usdhi6rol0 +userio +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +v3d +v4l2-async +v4l2-dv-timings +v4l2-flash-led-class +v4l2-fwnode +v4l2-h264 +v4l2-jpeg +v4l2-mem2mem +v4l2-tpg +v4l2-vp9 +vc4 +vcan +vchiq +vcnl3020 +vcnl4000 +vcnl4035 +vctrl-regulator +vdpa +vdpa_sim +vdpa_sim_blk +vdpa_sim_net +vduse +veml6030 +veml6070 +venus-core +venus-dec +venus-enc +versal-fpga +ves1820 +ves1x93 +veth +vexpress-hwmon +vexpress-regulator +vf610_adc +vf610_dac +vfio +vfio-amba +vfio-fsl-mc +vfio-pci +vfio-pci-core +vfio-platform +vfio-platform-amdxgbe +vfio-platform-base +vfio-platform-calxedaxgmac +vfio_iommu_type1 +vfio_platform_bcmflexrm +vfio_virqfd +vgastate +vgem +vgg2432a4 +vhci-hcd +vhost +vhost_iotlb +vhost_net +vhost_scsi +vhost_vdpa +vhost_vsock +via-rhine +via-sdmmc +via-velocity +via686a +vicodec +video-i2c +video-mux +videobuf-core +videobuf-dma-sg +videobuf-vmalloc +videobuf2-common +videobuf2-dma-contig +videobuf2-dma-sg +videobuf2-dvb +videobuf2-memops +videobuf2-v4l2 +videobuf2-vmalloc +videocc-sc7180 +videocc-sc7280 +videocc-sdm845 +videocc-sm8150 +videocc-sm8250 +videodev +vim2m +vimc +viperboard +viperboard_adc +virt_wifi +virtio-gpu +virtio-rng +virtio_blk +virtio_bt +virtio_crypto +virtio_dma_buf +virtio_input +virtio_mem +virtio_net +virtio_pmem +virtio_rpmsg_bus +virtio_scsi +virtio_snd +virtio_vdpa +virtiofs +virtual +virtual_ncidev +visconti_wdt +visor +vitesse +vitesse-vsc73xx-core +vitesse-vsc73xx-platform +vitesse-vsc73xx-spi +vivid +vkms +vl53l0x-i2c +vl6180 +vmac +vme_fake +vme_tsi148 +vme_user +vme_vmivme7805 +vmgenid +vmk80xx +vmw_pvrdma +vmw_vmci +vmw_vsock_virtio_transport +vmw_vsock_virtio_transport_common +vmw_vsock_vmci_transport +vmwgfx +vmxnet3 +vp27smpx +vp_vdpa +vport-geneve +vport-gre +vport-vxlan +vpx3220 +vqmmc-ipq4019-regulator +vrf +vringh +vs6624 +vsock +vsock_diag +vsock_loopback +vsockmon +vsp1 +vsxxxaa +vt1211 +vt6655_stage +vt6656_stage +vt8231 +vt8623fb +vub300 +vx855 +vxcan +vxge +vxlan +vz89x +w1-gpio +w1_ds2405 +w1_ds2406 +w1_ds2408 +w1_ds2413 +w1_ds2423 +w1_ds2430 +w1_ds2431 +w1_ds2433 +w1_ds2438 +w1_ds250x +w1_ds2780 +w1_ds2781 +w1_ds2805 +w1_ds28e04 +w1_ds28e17 +w1_smem +w1_therm +w5100 +w5100-spi +w5300 +w6692 +w83627ehf +w83627hf +w83773g +w83781d +w83791d +w83792d +w83793 +w83795 +w83l785ts +w83l786ng +wacom +wacom_i2c +wacom_serial4 +wacom_w8001 +walkera0701 +wanxl +warrior +wcd934x +wcn36xx +wcnss_ctrl +wd719x +wdat_wdt +wdt87xx_i2c +wdt_pci +wfx +whiteheat +wil6210 +wilc1000 +wilc1000-sdio +wilc1000-spi +winbond-840 +wire +wireguard +wishbone-serial +wl1251 +wl1251_sdio +wl1251_spi +wl1273-core +wl12xx +wl18xx +wlcore +wlcore_sdio +wlcore_spi +wm831x-dcdc +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x-ts +wm831x_backup +wm831x_bl +wm831x_power +wm831x_wdt +wm8350-hwmon +wm8350-regulator +wm8350_power +wm8350_wdt +wm8400-regulator +wm8739 +wm8775 +wm8994 +wm8994-regulator +wm97xx-ts +wp512 +wusb3801 +wwan_hwsim +x25 +x_tables +xbox_remote +xc2028 +xc4000 +xc5000 +xcbc +xdpe12284 +xdpe152c4 +xen-blkback +xen-evtchn +xen-fbfront +xen-front-pgdir-shbuf +xen-gntalloc +xen-gntdev +xen-hcd +xen-kbdfront +xen-netback +xen-pciback +xen-privcmd +xen-scsiback +xen-scsifront +xen-tpmfront +xen_wdt +xenfs +xfrm4_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_interface +xfrm_ipcomp +xfrm_user +xfs +xgene-dma +xgene-enet +xgene-enet-v2 +xgene-hwmon +xgene-rng +xgene_edac +xhci-histb +xhci-mtk-hcd +xhci-pci +xhci-pci-renesas +xhci-plat-hcd +xhci-tegra +xilinx-ams +xilinx-csi2rxss +xilinx-pr-decoupler +xilinx-spi +xilinx-tpg +xilinx-video +xilinx-vtc +xilinx-xadc +xilinx_can +xilinx_dma +xilinx_dpdma +xilinx_emac +xilinx_emaclite +xilinx_gmii2rgmii +xilinx_sdfec +xilinx_uartps +xilinxfb +xillybus_class +xillybus_core +xillybus_of +xillybus_pcie +xillyusb +xiphera-trng +xircom_cb +xlnx_vcu +xor +xor-neon +xpad +xr_serial +xrs700x +xrs700x_i2c +xrs700x_mdio +xsens_mt +xsk_diag +xt_AUDIT +xt_CHECKSUM +xt_CLASSIFY +xt_CONNSECMARK +xt_CT +xt_DSCP +xt_HL +xt_HMARK +xt_IDLETIMER +xt_LED +xt_LOG +xt_MASQUERADE +xt_NETMAP +xt_NFLOG +xt_NFQUEUE +xt_RATEEST +xt_REDIRECT +xt_SECMARK +xt_TCPMSS +xt_TCPOPTSTRIP +xt_TEE +xt_TPROXY +xt_TRACE +xt_addrtype +xt_bpf +xt_cgroup +xt_cluster +xt_comment +xt_connbytes +xt_connlabel +xt_connlimit +xt_connmark +xt_conntrack +xt_cpu +xt_dccp +xt_devgroup +xt_dscp +xt_ecn +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_ipcomp +xt_iprange +xt_ipvs +xt_l2tp +xt_length +xt_limit +xt_mac +xt_mark +xt_multiport +xt_nat +xt_nfacct +xt_osf +xt_owner +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_rateest +xt_realm +xt_recent +xt_sctp +xt_set +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_tcpudp +xt_time +xt_u32 +xtkbd +xusbatm +xxhash_generic +xz_dec_test +yam +yamaha-yas530 +yealink +yellowfin +yenta_socket +yurex +z3fold +zaurus +zavl +zcommon +zd1201 +zd1211rw +zd1301 +zd1301_demod +zet6223 +zforce_ts +zfs +zhenhua +ziirave_wdt +zinitix +zl10036 +zl10039 +zl10353 +zl6100 +zlua +znvpair +zonefs +zopt2201 +zpa2326 +zpa2326_i2c +zpa2326_spi +zr364xx +zram +zstd +zunicode +zynqmp-aes-gcm +zynqmp-dpsub +zynqmp-fpga +zynqmp-sha +zynqmp_dma +zzstd --- linux-gcp-5.19.0.orig/debian.master/abi/arm64/generic.retpoline +++ linux-gcp-5.19.0/debian.master/abi/arm64/generic.retpoline @@ -0,0 +1 @@ +# RETPOLINE NOT ENABLED --- linux-gcp-5.19.0.orig/debian.master/abi/armhf/generic +++ linux-gcp-5.19.0/debian.master/abi/armhf/generic @@ -0,0 +1,25884 @@ +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0x07820a51 crypto_cipher_decrypt_one vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0x45bda278 crypto_cipher_setkey vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0x7fffffff crypto_cipher_encrypt_one vmlinux +CXL EXPORT_SYMBOL_GPL 0x055c6ee3 cxl_mem_active_inc vmlinux +CXL EXPORT_SYMBOL_GPL 0x0926480f is_cxl_memdev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x0949948d cxl_map_component_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x0dc2cc9e __cxl_driver_register drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x1009277a cxl_dev_state_identify drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x10c44abe cxl_decoder_add drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x10f766f3 cxl_decoder_autoremove drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x1beb0ff4 clear_exclusive_cxl_commands drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x1e0cebfb cxl_endpoint_autoremove drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x1e70c816 devm_cxl_enumerate_decoders drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x204bc09e cxl_find_regblock drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x21f36167 cxl_enumerate_cmds drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x2cf23bdf devm_cxl_add_passthrough_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x31fc64d2 cxl_bus_rescan drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x33e2aa93 cxl_mem_active_dec vmlinux +CXL EXPORT_SYMBOL_GPL 0x36e5ded9 cxl_mem_find_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x389c466f is_cxl_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x3b87e82c cxl_endpoint_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x4cb47f6e is_cxl_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x62e34dec cxl_switch_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x66c48d37 is_cxl_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x6a166ffa to_cxl_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x6bf8ade9 devm_cxl_port_enumerate_dports drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x77a6b88e cxl_find_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x790342a8 cxl_root_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_await_media_ready drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_bus_type drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_decoder_add_locked drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_dev_state_create drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_driver_unregister drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_find_dport_by_dev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_hdm_decode_init drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_map_device_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_mbox_send_cmd drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_mem_create_range_info drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_port_to_pci_bus drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_probe_component_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_probe_device_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff devm_cxl_add_dport drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff devm_cxl_add_memdev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff devm_cxl_add_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff devm_cxl_add_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff devm_cxl_add_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff devm_cxl_enumerate_ports drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff devm_cxl_register_pci_bus drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff devm_cxl_setup_hdm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff find_cxl_root drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff is_cxl_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff is_root_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff schedule_cxl_memdev_detach drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff set_exclusive_cxl_commands drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff to_cxl_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff to_cxl_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff to_cxl_port drivers/cxl/core/cxl_core +DMA_BUF EXPORT_SYMBOL_GPL 0x0ca18ad7 dma_buf_attach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x18ec53cc dma_buf_detach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x2cd742d4 dma_buf_get vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x45f58ddf dma_buf_fd vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x4a210b3b dma_buf_vunmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x4caa47cb dma_buf_end_cpu_access vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x4cd9850c dma_buf_mmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x604f9cec dma_buf_unmap_attachment vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x662826d7 dma_buf_move_notify vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x741f2d78 dma_buf_begin_cpu_access vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7521e8e1 dma_buf_pin vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7fffffff dma_buf_dynamic_attach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7fffffff dma_buf_export vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7fffffff dma_buf_map_attachment vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7fffffff dma_buf_put vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7fffffff dma_buf_unpin vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7fffffff dma_buf_vmap vmlinux +DRM_SSD130X EXPORT_SYMBOL_GPL 0x33cf1f58 ssd130x_variants drivers/gpu/drm/solomon/ssd130x +EXPORT_SYMBOL arch/arm/crypto/chacha-neon 0x220b49ab chacha_crypt_arch +EXPORT_SYMBOL arch/arm/crypto/chacha-neon 0x7fffffff chacha_init_arch +EXPORT_SYMBOL arch/arm/crypto/chacha-neon 0x7fffffff hchacha_block_arch +EXPORT_SYMBOL arch/arm/crypto/curve25519-neon 0x3c74a43e curve25519_base_arch +EXPORT_SYMBOL arch/arm/crypto/curve25519-neon 0x7fffffff curve25519_arch +EXPORT_SYMBOL arch/arm/crypto/poly1305-arm 0x1c3e6e5b poly1305_init_arch +EXPORT_SYMBOL arch/arm/crypto/poly1305-arm 0x6ddf27bc poly1305_update_arch +EXPORT_SYMBOL arch/arm/crypto/poly1305-arm 0x7fffffff poly1305_final_arch +EXPORT_SYMBOL arch/arm/crypto/sha256-arm 0x43b7814c crypto_sha256_arm_update +EXPORT_SYMBOL arch/arm/crypto/sha256-arm 0x7fffffff crypto_sha256_arm_finup +EXPORT_SYMBOL arch/arm/lib/xor-neon 0x2e9a6ad4 xor_block_neon_inner +EXPORT_SYMBOL crypto/blake2b_generic 0x7fffffff blake2b_compress_generic +EXPORT_SYMBOL crypto/ecc 0x16e410ff vli_from_be64 +EXPORT_SYMBOL crypto/ecc 0x188a1647 ecc_is_pubkey_valid_full +EXPORT_SYMBOL crypto/ecc 0x1a5faa3a vli_mod_inv +EXPORT_SYMBOL crypto/ecc 0x4c281912 vli_is_zero +EXPORT_SYMBOL crypto/ecc 0x671f7aa5 ecc_is_key_valid +EXPORT_SYMBOL crypto/ecc 0x7c0fbb00 vli_mod_mult_slow +EXPORT_SYMBOL crypto/ecc 0x7fffffff crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0x7fffffff ecc_alloc_point +EXPORT_SYMBOL crypto/ecc 0x7fffffff ecc_free_point +EXPORT_SYMBOL crypto/ecc 0x7fffffff ecc_gen_privkey +EXPORT_SYMBOL crypto/ecc 0x7fffffff ecc_get_curve +EXPORT_SYMBOL crypto/ecc 0x7fffffff ecc_get_curve25519 +EXPORT_SYMBOL crypto/ecc 0x7fffffff ecc_is_pubkey_valid_partial +EXPORT_SYMBOL crypto/ecc 0x7fffffff ecc_make_pub_key +EXPORT_SYMBOL crypto/ecc 0x7fffffff ecc_point_is_zero +EXPORT_SYMBOL crypto/ecc 0x7fffffff ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x7fffffff vli_cmp +EXPORT_SYMBOL crypto/ecc 0x7fffffff vli_from_le64 +EXPORT_SYMBOL crypto/ecc 0x7fffffff vli_num_bits +EXPORT_SYMBOL crypto/ecc 0x7fffffff vli_sub +EXPORT_SYMBOL crypto/nhpoly1305 0x0fe540f7 crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/nhpoly1305 0x2843288d crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/nhpoly1305 0x2867c3df crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/nhpoly1305 0x405a5c14 crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/nhpoly1305 0x7fffffff crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0x7fffffff crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/sha3_generic 0x7f283026 crypto_sha3_update +EXPORT_SYMBOL crypto/sha3_generic 0x7fffffff crypto_sha3_final +EXPORT_SYMBOL crypto/sha3_generic 0x7fffffff crypto_sha3_init +EXPORT_SYMBOL crypto/sm2_generic 0x7fffffff sm2_compute_z_digest +EXPORT_SYMBOL crypto/sm4 0x2b098da5 crypto_sm4_ck +EXPORT_SYMBOL crypto/sm4 0x7931a202 crypto_sm4_fk +EXPORT_SYMBOL crypto/sm4 0x7fffffff crypto_sm4_sbox +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/atm/suni 0x7fffffff suni_init +EXPORT_SYMBOL drivers/bcma/bcma 0x7fffffff bcma_core_dma_translation +EXPORT_SYMBOL drivers/bcma/bcma 0x7fffffff bcma_core_irq +EXPORT_SYMBOL drivers/block/drbd/drbd 0x127a5901 drbd_set_st_err_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x35131b36 drbd_role_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x7730f22d drbd_conn_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x7fffffff drbd_disk_str +EXPORT_SYMBOL drivers/block/paride/paride 0x0b56d305 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0x4267110a pi_register_driver +EXPORT_SYMBOL drivers/block/paride/paride 0x5616b4f2 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x57a646e6 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x7280196d paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x7611296f pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x7fffffff pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x7fffffff pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x7fffffff pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x7fffffff pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x7fffffff pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0x7fffffff pi_unregister_driver +EXPORT_SYMBOL drivers/block/paride/paride 0x7fffffff pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x7fffffff pi_write_regr +EXPORT_SYMBOL drivers/bluetooth/btbcm 0x7fffffff btbcm_patchram +EXPORT_SYMBOL drivers/bluetooth/btrsi 0x146e5743 rsi_bt_ops +EXPORT_SYMBOL drivers/bus/mhi/host/mhi 0x7b9a799f mhi_sync_power_up +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x03bc993e ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0705dd14 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x12dd1e77 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1b97674c ipmi_add_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1f65170f ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x230094ac ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4c2054d7 ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x50f65edf ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x67369b42 ipmi_addr_src_to_str +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x74778a80 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmb_checksum +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x07a13349 kcs_bmc_remove_device +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x1fb9a6aa kcs_bmc_read_data +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x512df4de kcs_bmc_add_device +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x602cc7fa kcs_bmc_read_status +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x68198488 kcs_bmc_register_driver +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x718de2ec kcs_bmc_update_event_mask +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x74174b32 kcs_bmc_write_data +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x7fffffff kcs_bmc_disable_device +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x7fffffff kcs_bmc_enable_device +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x7fffffff kcs_bmc_handle_event +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x7fffffff kcs_bmc_unregister_driver +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x7fffffff kcs_bmc_update_status +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x7fffffff kcs_bmc_write_status +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x43f2fc5a st33zp24_remove +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x7fffffff st33zp24_pm_resume +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x7fffffff st33zp24_pm_suspend +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x7fffffff st33zp24_probe +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0x7fffffff xillybus_cleanup_chrdev +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0x7fffffff xillybus_find_inode +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0x7fffffff xillybus_init_chrdev +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x25978d50 xillybus_isr +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x2e5f03ae xillybus_endpoint_remove +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x7fffffff xillybus_endpoint_discovery +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x7fffffff xillybus_init_endpoint +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0x25c98843 clk_alpha_pll_zonda_ops +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_fixed_lucid_5lpe_ops +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_lucid_5lpe_ops +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_postdiv_lucid_5lpe_ops +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x34b6bcd0 atmel_i2c_probe +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x6c28f9b1 atmel_i2c_init_ecdh_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x7fffffff atmel_i2c_enqueue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x7fffffff atmel_i2c_flush_queue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x7fffffff atmel_i2c_init_genkey_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x7fffffff atmel_i2c_init_random_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x7fffffff atmel_i2c_init_read_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x7fffffff atmel_i2c_send_receive +EXPORT_SYMBOL drivers/crypto/caam/caam 0x37734e06 caam_dpaa2 +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x07045c7f caam_jr_free +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x6c88bb42 split_key_done +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x723ee5e0 caam_jr_enqueue +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x7fffffff caam_jr_alloc +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x7fffffff gen_split_key +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x06717761 cnstr_shdsc_aead_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x09c41809 cnstr_shdsc_gcm_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x4099709e cnstr_shdsc_aead_givencap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x46efe449 cnstr_shdsc_skcipher_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x4b74fe69 cnstr_shdsc_rfc4106_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x4ead8e70 cnstr_shdsc_aead_null_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x6de99a64 cnstr_shdsc_rfc4543_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x756131a7 cnstr_shdsc_aead_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_aead_null_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_chachapoly +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_gcm_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_rfc4106_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_rfc4543_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_skcipher_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_xts_skcipher_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_xts_skcipher_encap +EXPORT_SYMBOL drivers/crypto/caam/caamhash_desc 0x686d05f8 cnstr_shdsc_ahash +EXPORT_SYMBOL drivers/crypto/caam/caamhash_desc 0x7fffffff cnstr_shdsc_sk_hash +EXPORT_SYMBOL drivers/crypto/caam/error 0x2eed504a caam_ptr_sz +EXPORT_SYMBOL drivers/crypto/caam/error 0x623bdc55 caam_strstatus +EXPORT_SYMBOL drivers/crypto/caam/error 0x7fffffff caam_dump_sg +EXPORT_SYMBOL drivers/crypto/caam/error 0x7fffffff caam_imx +EXPORT_SYMBOL drivers/crypto/caam/error 0x7fffffff caam_little_end +EXPORT_SYMBOL drivers/firewire/firewire-core 0x041468c7 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x08d16fa3 fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0f84e51f fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x14b6affc fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x36ec2d2e fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x37d0ae2f fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x476d16b6 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4ed3fcea fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4fb7847c fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0x51282493 fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x556601c3 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x55c6f96b fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x69f08f72 fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7315bda0 fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x76b2732d fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7f321c6d fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_rcode_string +EXPORT_SYMBOL drivers/firmware/imx/imx-dsp 0x47e06e7d imx_dsp_ring_doorbell +EXPORT_SYMBOL drivers/firmware/imx/imx-dsp 0x7fffffff imx_dsp_free_channel +EXPORT_SYMBOL drivers/firmware/imx/imx-dsp 0x7fffffff imx_dsp_request_channel +EXPORT_SYMBOL drivers/fpga/dfl 0x109d21d0 __dfl_driver_register +EXPORT_SYMBOL drivers/fpga/dfl 0x6de60e00 dfl_driver_unregister +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x01c4bba9 drm_dp_lttpr_max_link_rate +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x05eb3bba drm_dp_pcon_hdmi_link_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x06c49551 drm_dp_dsc_sink_line_buf_depth +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x08250ad5 drm_dp_aux_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0b2fbd9e drm_dp_aux_unregister +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0dbeb692 drm_hdcp_update_content_protection +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0e18859c drm_edp_backlight_set_level +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0f898f0a drm_edp_backlight_disable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0fbb8e27 drm_atomic_get_mst_topology_state +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x12f4ad5b drm_dp_read_lttpr_phy_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1605d0ed drm_dp_lttpr_max_lane_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x16a31e16 drm_dp_dpcd_probe +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1709ddcf drm_dp_lttpr_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1744745c drm_dp_dpcd_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x18d3d59c drm_dp_read_sink_count_cap +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1a5bf3ca drm_dsc_dp_rc_buffer_size +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1b0a1fdc drm_dp_lttpr_voltage_swing_level_3_supported +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1cc15f4e drm_dp_cec_unset_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2054513c drm_scdc_get_scrambling_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x21a8b701 drm_dp_cec_register_connector +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x23961837 drm_dp_downstream_max_bpc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x24cb11e3 drm_dp_pcon_hdmi_link_active +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x26815dbc drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x27f71cb6 drm_dp_dual_mode_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x292e977a drm_dp_mst_connector_early_unregister +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x295ace81 drm_dp_mst_reset_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2bf29523 drm_dp_mst_update_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2eefc54b drm_lspcon_get_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2fa94ef2 drm_dp_downstream_444_to_420_conversion +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x31a10808 drm_dp_send_query_stream_enc_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x34df7c17 drm_dp_send_power_updown_phy +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3831b5b3 drm_dp_read_lttpr_common_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x387f6ab0 drm_scdc_set_high_tmds_clock_ratio +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x392a838b drm_dp_downstream_max_dotclock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3a8063f3 drm_dp_dsc_sink_supported_input_bpcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3efd4b0a drm_dp_pcon_frl_configure_1 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x41b1c6b9 drm_dp_read_dpcd_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x41c99020 drm_dp_mst_dump_topology +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4603c416 drm_dp_pcon_dsc_bpp_incr +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x461c0fc9 drm_dp_pcon_convert_rgb_to_ycbcr +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4c123a4f drm_lspcon_set_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4ce1fe41 drm_dp_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4e7569c1 drm_dp_dual_mode_set_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x502e426d drm_dp_mst_atomic_enable_dsc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x51a1db38 drm_dp_pcon_pps_override_buf +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x521a4bf1 drm_dp_read_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5252225c drm_dp_mst_connector_late_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5312df72 drm_dp_vsc_sdp_log +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5407ae9e drm_dp_get_dual_mode_type_name +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x550b6765 drm_hdmi_avi_infoframe_colorimetry +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5665f94d drm_dp_pcon_frl_enable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x582f248e drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x58d8fcaa drm_dsc_pps_payload_pack +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x59f27ed7 drm_dp_pcon_enc_is_dsc_1_2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5afb91df drm_dp_mst_get_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5b62f3ae drm_edp_backlight_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5fcafe34 drm_dp_mst_add_affected_dsc_crtcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x63a477fb drm_dp_downstream_min_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x648d953b drm_dsc_dp_pps_header_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x64e69429 drm_dp_dpcd_read_link_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6615069e drm_dp_dsc_sink_max_slice_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x68d8dce7 drm_dp_downstream_is_tmds +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x68ea50f1 drm_dp_pcon_pps_default +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6a4df8c5 drm_dp_128b132b_eq_interlane_align_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6a4e877a drm_dp_mst_put_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6aacee47 drm_dp_128b132b_link_training_failed +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6b53e216 drm_dp_downstream_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6bcfa480 drm_dp_check_act_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x70360611 drm_dp_get_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7053fa72 drm_dp_get_pcon_max_frl_bw +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x70ca74f6 drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x73011db0 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x76ff6644 drm_dp_lttpr_pre_emphasis_level_3_supported +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x792e28b4 drm_dp_read_downstream_info +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x79393d6b drm_dp_read_desc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7bea182e drm_dp_mst_allocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7d44c92e drm_dp_mst_get_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7dea97d2 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7f06719b drm_dp_set_subconnector_property +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_connector_attach_content_protection_property +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_128b132b_cds_interlane_align_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_128b132b_lane_channel_eq_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_128b132b_lane_symbol_locked +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_128b132b_read_aux_rd_interval +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_atomic_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_atomic_release_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_aux_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_calc_pbn_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_cec_irq +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_cec_set_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_cec_unregister_connector +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_downstream_420_passthrough +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_downstream_debug +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_downstream_id +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_downstream_is_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_downstream_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_downstream_rgb_to_ycbcr_conversion +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_dpcd_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_dpcd_read_phy_link_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_dual_mode_detect +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_dual_mode_get_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_dual_mode_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_dual_mode_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_get_adjust_tx_ffe_preset +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_get_vc_payload_bw +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_lttpr_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_lttpr_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_atomic_check +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_deallocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_detect_port +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_dsc_aux_for_port +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_get_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_hpd_irq +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_topology_mgr_destroy +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_topology_mgr_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_topology_mgr_resume +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_topology_mgr_set_mst +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_topology_mgr_suspend +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_topology_state_funcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_pcon_dsc_max_slice_width +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_pcon_dsc_max_slices +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_pcon_frl_configure_2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_pcon_frl_prepare +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_pcon_hdmi_frl_link_error_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_pcon_is_frl_ready +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_pcon_pps_override_param +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_pcon_reset_frl_config +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_psr_setup_time +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_read_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_read_mst_cap +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_read_sink_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_remote_aux_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_send_real_edid_checksum +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_set_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_start_crc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_stop_crc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_subconnector_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_update_payload_part1 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_update_payload_part2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dsc_compute_rc_parameters +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_edp_backlight_enable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_hdmi_avi_infoframe_bars +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_hdmi_avi_infoframe_content_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_hdmi_infoframe_set_hdr_metadata +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_panel_dp_aux_backlight +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_scdc_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_scdc_set_scrambling +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_scdc_write +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00ee14ba drm_connector_attach_privacy_screen_provider +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0129e03b drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0138e4eb drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03186fa6 drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03681ea7 drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0x046636d9 drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05c4206c drm_framebuffer_unregister_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0628e801 drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x06b813d6 drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0772f850 drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07fb377e drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08abd46a drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08d0cc11 drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0987946b drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x099a649d drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09b662c0 drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x09ce8ca8 drm_display_mode_from_cea_vic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a822716 drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ac75d38 drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c9de3c6 of_drm_find_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0cdab41e drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d9b4753 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0dec43ea drm_connector_attach_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e467486 drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e6b64a3 drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0eb6313c drm_connector_create_privacy_screen_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0efa44d8 drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f14a1aa drm_plane_get_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f7acb66 drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fcf7a9d drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fd60df2 drm_get_connector_status_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fd79c4d drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ff82b4d drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ffaa7e5 drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x102ee6a5 drm_vblank_work_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x107742a9 drm_get_subpixel_order_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10baa425 drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10ea2ca8 drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0x124dde17 drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x12e355ca drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13474b36 drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13a71d1d drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1461baed drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15162dfe drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1532e195 drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x160d0825 drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1620dd3c drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0x162df9c5 drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x176fc989 drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x189edb72 drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a8b073d drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1b609d20 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1be6445d drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c069668 drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1cc86478 drm_crtc_commit_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1d02d9fa drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1de01798 drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ed1d6b9 drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f282eea drm_connector_attach_hdr_output_metadata_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f523364 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f981114 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2032730c drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21caa247 drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x224e6867 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2299be94 drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x22f80d82 drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24792cb9 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24993e50 drm_edid_are_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24a6d251 drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24d124ac drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25122ea5 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2539ea42 drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26a55161 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2744096f drm_prime_sg_to_page_array +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28779e52 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2889e201 drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29f078d1 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a962499 drm_mm_scan_init_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d62b779 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d9fadc0 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e990789 drm_connector_oob_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ed3c600 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f31f2d7 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f92cf79 drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3009698f drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x301fea61 drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3282b828 drm_sysfs_connector_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32a0cc37 drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32d174c8 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x344e1bd9 drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x34831306 drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x355ff996 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3582c345 drm_of_crtc_port_mask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35a77144 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35db1d59 drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3793b7a1 drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x380b5fbb __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38690d99 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x388163e5 drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38a7cf0c drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39093b79 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ab87110 drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b0e5e9c __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cdc37e9 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3d01db03 drm_atomic_print_new_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e12720d drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e3f8c5c drm_prime_get_contiguous_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ed47732 drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f32f28f drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f405489 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3fd2264c drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41648627 drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41f5d48d drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4403a9c3 drm_mode_get_hv_timing +EXPORT_SYMBOL drivers/gpu/drm/drm 0x45067601 drm_aperture_remove_conflicting_framebuffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x455a7e67 drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4575a0ca drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x45b374e2 drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47c29435 drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48320284 drm_panel_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49737ef6 drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4986170c drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a35d30d drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a7b9fab drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4aa63c43 drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c3bb26c drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c58f69a drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4cacab43 drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ce1fe58 drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d73b36c drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4df72cea drm_aperture_remove_conflicting_pci_framebuffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e514a83 drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f233a29 drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f8169e2 drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x508f6138 drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x513072fe __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5144a716 drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x521ad6d0 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0x524617c2 drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x529fe733 drmm_mutex_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x52c5664e drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x55feb618 drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5684a0f6 drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5724c9cb drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5737911a drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57698a50 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57b6efe3 drm_ioctl_flags +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59ae7423 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a05ac62 drm_plane_get_damage_clips_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a3acba2 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5aa75dd5 drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5aaa470a drm_gem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b43f29a drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b49ec1a drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b57bab4 drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c504a41 drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c9ae404 drm_prime_sg_to_dma_addr_array +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d078607 drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e8f662a drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5fa9cdac drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5fc3ef32 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x609122ed drm_vblank_work_cancel_sync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60b9e113 drm_connector_update_privacy_screen +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6145e179 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x617fa11a drm_send_event_timestamp_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6222a642 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x623d2f1e drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x64a232e6 drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65702bd6 drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x660d525c drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x667eab5c drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6683545a drm_connector_attach_privacy_screen_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x679389d4 drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x680b3990 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6850ee5e drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6884f5e8 drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x68d814ce drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69124815 drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x691e2197 drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69b5032a drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69c5ffc9 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a21f040 drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a307c00 __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a4188bc drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a440933 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6aaac421 drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ac01ea8 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ac3a436 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b79d1e2 drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d5fdc8d drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e396f5c drm_mode_plane_set_obj_prop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ea2b98c drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ef2b97e drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ef2f78e drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71221d52 drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x727b44a4 drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72ae63ab drm_atomic_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73eaaf3c drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74c90979 drm_connector_set_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74eaf26b drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76954a60 drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77aae160 drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x780d40e2 drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78425e4e drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78b06240 drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78d98407 drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79245f97 drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79b5c109 drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79bd1e2c drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b45b53a drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b91e54f drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c0d6962 drm_vblank_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c1ff716 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c4a1aa7 drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c545285 drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ceab8ea drm_of_component_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ced75ae drm_connector_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e65b3f2 drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edae4a8 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edf470b drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f71097d drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ff5582c drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drmm_crtc_alloc_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drmm_encoder_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drmm_universal_plane_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff devm_aperture_acquire_from_firmware +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_bridge_chain_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_client_framebuffer_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_client_modeset_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_color_lut_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_atomic_hdr_metadata_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_attach_dp_subconnector_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_attach_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_create_scaling_filter_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_edid_get_panel_id +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_file_get_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_match_cea_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_memcpy_from_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mm_scan_color_evict +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_modeset_acquire_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_object_property_get_default_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_of_find_possible_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_panel_of_backlight +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_plane_create_alpha_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_plane_create_scaling_filter_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_property_replace_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_release_noglobal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_rotation_simplify +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_vblank_work_schedule +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_writeback_connector_init_with_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff of_drm_find_panel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff of_drm_get_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm_cma_helper 0x6fe769c1 drm_gem_cma_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_cma_helper 0x7fffffff drm_gem_cma_prime_import_sg_table_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0294273b drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x03967858 drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x066ed34c drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06b25961 drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x07fb8871 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x086cd68e drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x08cfc830 drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x08d685ea drm_fb_xrgb8888_to_rgb888 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0b444463 drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0ca12a31 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0da4c668 drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0fe2041b __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x11f742a7 drm_fb_xrgb8888_to_rgb888_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1263da79 __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x12c5ab7b drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x19d5477c drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1ea7ffcf drm_gem_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x22309d70 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x22d8a12e drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x234187b8 drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2360c2b0 drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x252d8bd9 drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x262b2703 drm_gem_fb_end_cpu_access +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x262c92a7 drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2803f90c drm_gem_simple_kms_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x282af770 drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x28fb6cbf drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x299e3e3a __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2be2a886 drm_connector_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c05c118 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c3cacc7 drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c8e9e3e drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2cd5a4df drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2cfa8537 drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x352e0673 drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3687a90c drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x36e48939 __drm_gem_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x373f4ff3 drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x378aaaeb drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a9d40f5 __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3ab9e37c drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3ac5faed drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3ad0d50f drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3b1ff5bb drm_gem_simple_kms_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3d6b1dfc drm_fb_xrgb8888_to_xrgb2101010_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x40093757 drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x40e26258 drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4272221c drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x42bbcc25 drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x44095a22 drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x44b55a6d drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x45b02faf drm_gem_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4834906a drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4986513a drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x49dbacba drm_fb_blit_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4b156109 drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4b955e5c drm_fb_memcpy_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4c5a0b45 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x50668351 __drmm_simple_encoder_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x52a608b8 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x55776053 drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x55cba4b7 drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5602f8ba drm_gem_simple_kms_cleanup_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x59829780 drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a651b01 __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5c06ade2 drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5dd9e279 drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5e432a8f drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5fea194a drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x60b7fbd0 drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x60ddc869 drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x60ecc400 drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x66a62323 drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x66c923d3 drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6880bfd1 drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x68c86a9e drm_gem_cleanup_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x68e6860c drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6a1784ac drm_gem_simple_kms_prepare_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b0b9550 drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6d6d2ba3 devm_drm_of_get_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e9c7ebc drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e9cadca drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6fdcbc2d drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x71349633 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x728d3220 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x737739da devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x74ce9eb1 __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x77927df2 __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x78e797c3 drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7949d894 drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7a9a421e drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7ae16bde drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7beb1299 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7bfade76 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7c05b446 drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7d0c50fe drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7e016d38 drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7f9e7861 drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_gem_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_gem_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_clip_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_swab +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_xrgb8888_to_mono +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_xrgb8888_to_rgb332 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_xrgb8888_to_rgb565_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_fb_begin_cpu_access +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_fb_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_fb_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_prepare_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_simple_kms_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_kms_helper_connector_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_rect_rotate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x0c1d3eda mipi_dbi_pipe_update +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x29eaa654 mipi_dbi_command_read +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x2be1bb63 mipi_dbi_command_buf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x41894dbe mipi_dbi_poweron_conditional_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x47fd35e8 mipi_dbi_spi_cmd_max_speed +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x4f0af7a5 mipi_dbi_enable_flush +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x4f55309c mipi_dbi_spi_transfer +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x51032200 mipi_dbi_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x614743ef mipi_dbi_pipe_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7fffffff mipi_dbi_buf_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7fffffff mipi_dbi_command_stackbuf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7fffffff mipi_dbi_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7fffffff mipi_dbi_dev_init_with_formats +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7fffffff mipi_dbi_display_is_on +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7fffffff mipi_dbi_hw_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7fffffff mipi_dbi_poweron_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7fffffff mipi_dbi_spi_init +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x0d8d2f1f drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x1b21bbc9 drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x1b3156e4 drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x43500744 drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x59cc56cf drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x7fe86688 drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x7fffffff drm_gem_ttm_dumb_map_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x7fffffff drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x7fffffff drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x7fffffff drm_gem_ttm_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x7fffffff drm_gem_ttm_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x06c17a78 drmm_vram_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x0bee1737 drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x111719c9 drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x334fd9ea drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x3bb9aebc drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x455730e8 drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x4b86e2f5 drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x59568f54 drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x70dd2f85 drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7fffffff drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7fffffff drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7fffffff drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7fffffff drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7fffffff drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7fffffff drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7fffffff drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/rockchip/rockchipdrm 0x7fffffff rockchip_drm_wait_vact_end +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x04641cd4 drm_sched_entity_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x176fb981 drm_sched_resubmit_jobs_ext +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x189542e9 drm_sched_dependency_optimized +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x239deef5 drm_sched_entity_push_job +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x3273e522 drm_sched_job_add_dependency +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x33dc24a7 drm_sched_pick_best +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x3a8a997b drm_sched_fault +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x400e17ca drm_sched_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x4b9a5002 drm_sched_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x5429e353 to_drm_sched_fence +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x6d8cbbd9 drm_sched_suspend_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x72d61517 drm_sched_increase_karma_ext +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7b284410 drm_sched_job_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_entity_destroy +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_entity_flush +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_entity_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_entity_modify_sched +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_entity_set_priority +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_increase_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_job_add_implicit_dependencies +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_job_arm +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_job_cleanup +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_reset_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_resubmit_jobs +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_resume_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_start +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_stop +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x00f3e73b ttm_bo_vm_dummy_page +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x09260316 ttm_bo_pin +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0a040f5d ttm_range_man_init_nocheck +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x120501d6 ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x138e0bfa ttm_pool_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x17b9394f ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1a71d30c ttm_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1fa62696 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x21109b2f ttm_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x259122c2 ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x260aef40 ttm_kmap_iter_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x29551615 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2c1c00a2 ttm_device_clear_dma_mappings +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x352ba0d6 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x398acb09 ttm_pool_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3b5792a4 ttm_resource_manager_usage +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3bfb649c ttm_range_man_fini_nocheck +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x44894c53 ttm_bo_move_sync_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x473ad4fb ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x47eac59a ttm_bo_vmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4bf29cbe ttm_bo_vm_access +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4d7003e2 ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x597beab1 ttm_bo_vunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5df243fd ttm_lru_bulk_move_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x675852f7 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6e383105 ttm_device_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6fa639a0 ttm_resource_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x729db630 ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x78b18f2d ttm_lru_bulk_move_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x78e21f43 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x79696091 ttm_resource_manager_debug +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7d9e3d84 ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_set_bulk_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_unpin +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_device_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_global_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_kmap_iter_iomap_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_pool_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_resource_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_resource_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_resource_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_resource_manager_create_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_resource_manager_evict_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_resource_manager_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_tt_init +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x0fb9b2cd host1x_device_init +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x35169966 host1x_client_suspend +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x35e5d43c host1x_channel_stop +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x37192592 host1x_client_exit +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x4447eff6 host1x_syncpt_read_max +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x46fa5178 host1x_client_unregister +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x4cf87fde host1x_job_pin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x4e4de4dc host1x_syncpt_request +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x51de13ce host1x_syncpt_base_id +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x53deec85 host1x_bo_pin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x57553ccd host1x_fence_create +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x57a41d6c host1x_job_unpin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x59769780 host1x_syncpt_alloc +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x5d64120b host1x_syncpt_release_vblank_reservation +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x6cdf6c7c host1x_job_add_gather +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x72e78e54 tegra_mipi_start_calibration +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x78538679 host1x_syncpt_read +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7adbcb38 host1x_syncpt_id +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7ecdf5b8 host1x_syncpt_put +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff __host1x_client_init +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff __host1x_client_register +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_bo_unpin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_channel_get +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_channel_put +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_channel_request +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_client_resume +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_device_exit +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_driver_register_full +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_driver_unregister +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_get_dma_mask +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_job_add_wait +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_job_alloc +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_job_get +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_job_put +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_job_submit +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_syncpt_get +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_syncpt_get_base +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_syncpt_get_by_id +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_syncpt_get_by_id_noref +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_syncpt_incr +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_syncpt_incr_max +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_syncpt_read_min +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_syncpt_wait +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff tegra_mipi_disable +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff tegra_mipi_enable +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff tegra_mipi_finish_calibration +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff tegra_mipi_free +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff tegra_mipi_request +EXPORT_SYMBOL drivers/hid/hid 0x2b6aebb6 hid_bus_type +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x2f9e7f8e vid_which_vrm +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x446615bd vid_from_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x01568393 sch56xx_read_virtual_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x7cfe9e14 sch56xx_watchdog_register +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x7fffffff sch56xx_read_virtual_reg12 +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x7fffffff sch56xx_read_virtual_reg16 +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x7fffffff sch56xx_write_virtual_reg +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x7fffffff i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x7fffffff i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x7fffffff i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x53a1da50 i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x7462ad64 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x19bf1395 amd756_smbus +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x10a4c688 qcom_adc5_hw_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x1fcd0103 qcom_adc_tm5_gen2_temp_res_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x39885d6b qcom_adc_tm5_temp_volt_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x401dc869 qcom_vadc_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x47f699dd qcom_adc5_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x4e64cdb9 qcom_adc5_hw_settle_time_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x53546ecd qcom_adc5_avg_samples_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x70e6eca1 qcom_vadc_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x7fffffff qcom_adc5_prescaling_from_dt +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x595d387c iio_triggered_buffer_cleanup +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x7eb9615e iio_triggered_buffer_setup_ext +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x565817de iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x7fffffff iio_kfifo_free +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x1813e44f mpu3050_dev_pm_ops +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x7fffffff mpu3050_common_probe +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x7fffffff mpu3050_common_remove +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x7fffffff hts221_pm_ops +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x7fffffff hts221_probe +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0x195091ee bmi160_regmap_config +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0x7fffffff bmi160_enable_irq +EXPORT_SYMBOL drivers/iio/imu/fxos8700_core 0x11acb8c9 fxos8700_regmap_config +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0x7fffffff st_lsm6dsx_pm_ops +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0x7fffffff st_lsm6dsx_probe +EXPORT_SYMBOL drivers/iio/industrialio 0x06dbf203 iio_get_time_res +EXPORT_SYMBOL drivers/iio/industrialio 0x1389b5de iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x2192b83a __iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x51058e4d iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x5143a641 __iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x5339607f iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0x668f344f iio_trigger_validate_own_device +EXPORT_SYMBOL drivers/iio/industrialio 0x794d5088 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0x7c6d81cf iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_device_get_clock +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_device_set_clock +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_get_time_ns +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_read_mount_matrix +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_trigger_set_immutable +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_trigger_using_own +EXPORT_SYMBOL drivers/iio/industrialio-configfs 0x7fffffff iio_configfs_subsys +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x0492acd0 iio_unregister_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x1bd6d0c6 iio_sw_device_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x21625a10 iio_sw_device_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x5c5741a7 iio_register_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x12fe52f3 iio_register_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x1df2c6c1 iio_sw_trigger_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x2d2b150f iio_unregister_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x7fffffff iio_sw_trigger_destroy +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x14f49ca2 iio_triggered_event_cleanup +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x4aa3368c iio_triggered_event_setup +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x09be261c bmp180_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x6993c08a bmp280_common_probe +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x7fffffff bmp280_dev_pm_ops +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x7fffffff bmp280_regmap_config +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1a4774cc ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x285af29e ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3805060e ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x6a12dda3 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x6d5cc125 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x706e44ac ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x77761ecd ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x794f814c ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7a8c1ba2 ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7fffffff ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7fffffff ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7fffffff ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7fffffff ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7fffffff ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7fffffff ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x000ca942 ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00a702bb ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00aacb42 ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00cd25ea ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x02435176 ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0255b622 ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07595c07 rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x09545f15 rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x09d5db04 rdma_link_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a948e9b ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0cc0661e ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0db5bd32 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0de0e489 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x104a26bd ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x10ef90cb ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x11dc44d0 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x11e2a71e ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x12aa01d9 ib_qp_usecnt_inc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x151c24fd ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1568aa2f rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x15713624 rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x15ac29a1 rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1686c2da ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1692073b rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x16d952cd rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1a55fe4e rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1c2bacc9 rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1d5ed55b ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1fca67aa ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x21d06c16 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x25d8fef5 rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x27504aa3 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x27abd79d ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x282b3512 __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ae79344 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b13007b rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b35eefc rdma_move_grh_sgid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2e067e04 rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2f384613 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x31b1e655 ib_cq_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x36d77562 rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x37a86b59 rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x37e879f4 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3844a002 ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3a9bf1d6 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3cd8f182 ib_dealloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3e3fc6ce rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3eb769a2 ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x402f3e15 ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x405daf4f ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4065ff02 roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x434c5d10 zgid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4490b1a4 rdma_restrack_parent_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4515eef2 rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x456c542e ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45b717d6 __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x464352c5 ib_destroy_wq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x46675efc ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x474c1903 rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x47e8270b ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4820f9e0 ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4bac0c31 rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4c8ff5de rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4deea7e6 ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e155af0 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e90435c ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x504e84b7 ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x51ad6554 rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x520b2638 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x53df7f86 ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55bb02f3 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x57712777 __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58df5b94 ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x59cf998c ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5c2f9d8a rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5d69a559 ib_port_sysfs_get_ibdev_kobj +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x60fa416c rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x613b1e2e ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x614a10e9 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x619292c4 rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61d24c52 ib_rate_to_mbps +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61fb5a29 ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x64371135 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6581ca90 ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x65aa9c24 ib_create_qp_kernel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x66579717 ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x669b7645 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x68209419 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x69befb82 ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d75de20 ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f68b268 ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6ffed77c ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x706d67f3 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x71014f0c ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x722e8c62 ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x73166212 rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x73f55ca4 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x745db242 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x74936179 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x757057d3 rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7644fab6 ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x766d11f1 ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x783a1cd0 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7951ca2a ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x79771e53 rdma_restrack_set_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7995abe4 ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x799affe4 ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7a24610a ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7cf5f730 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7d3d3a75 ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7de2b5a2 rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff __rdma_block_iter_next +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_alloc_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_alloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_cache_gid_parse_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_create_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_event_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_port_immutable_read +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_port_register_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_port_unregister_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_qp_usecnt_dec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_sa_unpack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_wc_status_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_alloc_hw_stats_struct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_free_hw_stats_struct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_query_gid_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_restrack_add +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_restrack_new +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x04a38602 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x0be21544 ib_umem_stop_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x0c47dc7d uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x0d25ac11 uverbs_copy_to_struct_or_zero +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1504aef9 ib_register_peer_memory_client +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1bafa9c4 ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x2310daf2 uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x296738e2 uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x2a727b61 ib_umem_dmabuf_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x36c2c11d ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x39ba2fe2 uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x40b7b1c7 ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x46173f22 ib_umem_odp_map_dma_and_lock +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x4f5079cc ib_umem_get_peer +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5e3036ca ib_umem_dmabuf_map_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5e99c405 ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5ec31463 uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x6264f61e ib_umem_dmabuf_get_pinned +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x6be9c0d1 ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x737c4412 uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7b0e1e19 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7eebf573 ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7f7698e2 _uverbs_get_const_unsigned +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff _uverbs_get_const_signed +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff ib_umem_activate_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff ib_umem_dmabuf_unmap_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff ib_unregister_peer_memory_client +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x142f9348 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x3e027aa3 iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x5e9edc31 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x6f7dc720 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x7fffffff iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x7fffffff iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x7fffffff iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x7fffffff iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x7fffffff iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0324ffef rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x15f3c44d rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x195ca9c1 rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x196b7951 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x23057144 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2902410f rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2c049704 rdma_connect_locked +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x324a31d6 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x391dae7a rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3ecf0486 rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4243b715 rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x441bb31b rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4a9f0fb7 rdma_create_user_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4c0ac6b1 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5ed0627f rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x61aca85c rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6344c63a rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x673f5b08 rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff __rdma_create_kernel_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_lock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_set_min_rnr_timer +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_unlock_handler +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x0c3d2485 rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x32d1f2f6 rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x44096e87 rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x4409e6d2 rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x6645f474 rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x7fffffff rtrs_clt_rdma_cq_direct +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x7fffffff rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x0bd65da4 rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x2510363a sockaddr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x67029a33 rtrs_addr_to_sockaddr +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x6fcf8e76 rtrs_ib_dev_find_or_add +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x7fffffff rtrs_addr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x7fffffff rtrs_rdma_dev_pd_deinit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x7fffffff rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x1243209a rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x1cb76dc5 rtrs_srv_get_path_name +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x2af61dfc rtrs_srv_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x7df0ca6b rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x7fffffff rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x7fffffff rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/input/gameport/gameport 0x70271636 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x77566f5c gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7fffffff __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7fffffff __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7fffffff gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7fffffff gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7fffffff gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7fffffff gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7fffffff gameport_unregister_driver +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x23ec3bd1 iforce_init_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x7fffffff iforce_process_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x7fffffff iforce_send_packet +EXPORT_SYMBOL drivers/input/matrix-keymap 0x7fffffff matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x39171f12 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x5e57e368 ad714x_enable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x7fffffff ad714x_probe +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x665044f4 cma3000_init +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x7fffffff cma3000_exit +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x7fffffff cma3000_resume +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x7fffffff cma3000_suspend +EXPORT_SYMBOL drivers/input/rmi4/rmi_core 0x4ea1f763 rmi_unregister_transport_device +EXPORT_SYMBOL drivers/input/sparse-keymap 0x0877c5b3 sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x4e29e0e5 sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x56773a8d sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0x7fffffff sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0x7fffffff sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x7fffffff ad7879_pm_ops +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x7fffffff ad7879_probe +EXPORT_SYMBOL drivers/interconnect/qcom/icc-smd-rpm 0x7fffffff qnoc_probe +EXPORT_SYMBOL drivers/interconnect/qcom/icc-smd-rpm 0x7fffffff qnoc_remove +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x13cb7410 attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x229bb470 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x368f1a7a capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7fffffff capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7fffffff capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x27c58fd5 isdnhdlc_decode +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x4644eea5 isdnhdlc_out_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x5b835a58 isdnhdlc_rcv_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x7fffffff isdnhdlc_encode +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x43a6306a mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x4c264ac4 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x7fffffff mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x7fffffff mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x7fffffff mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x7fffffff mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03a68066 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x05942cf9 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x09445435 mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2123379a mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x26236de8 mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2fd0da2c mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x30d25b0d mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x312bf3f8 get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x313b1fde mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4456f4be mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4b01a0f8 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x508e74ab queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6047df40 mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x653355fc get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6cb43bdf bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7bc5b472 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7bcb566c recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x01087af0 mISDN_dsp_element_unregister +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x7fffffff dsp_audio_law_to_s32 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x7fffffff dsp_audio_s16_to_law +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x7fffffff mISDN_dsp_element_register +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x0231600a ti_lmu_common_get_brt_res +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x3cd72f42 ti_lmu_common_get_ramp_params +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x54a12ec4 ti_lmu_common_set_ramp +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x7fffffff ti_lmu_common_set_brightness +EXPORT_SYMBOL drivers/mailbox/mtk-cmdq-mailbox 0x7fffffff cmdq_get_shift_pa +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x6d603f9c omap_mbox_enable_irq +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x756cd198 omap_mbox_request_channel +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x7fffffff omap_mbox_disable_irq +EXPORT_SYMBOL drivers/md/dm-log 0x0c83e237 dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x155cbc94 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x64a1d6ae dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0x7fffffff dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x3209ef9c dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x7fffffff dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x7fffffff dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x7fffffff dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x7fffffff dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0x7fffffff dm_snap_origin +EXPORT_SYMBOL drivers/md/raid456 0x6e7ddedf raid5_set_cache_size +EXPORT_SYMBOL drivers/md/raid456 0x7fffffff r5c_journal_mode_set +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x004995cd flexcop_i2c_request +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x055b0818 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x336ebb5c flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7fffffff flexcop_device_exit +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7fffffff flexcop_device_initialize +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7fffffff flexcop_device_kfree +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7fffffff flexcop_dump_reg +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7fffffff flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7fffffff flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7fffffff flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7fffffff flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7fffffff flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7fffffff flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/common/cx2341x 0x15ac1bd0 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/common/cx2341x 0x1b474326 cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/common/cx2341x 0x28240e61 cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/common/cx2341x 0x3b558555 cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/common/cx2341x 0x3e48c7c0 cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/common/cx2341x 0x55aa7c5f cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x6a657b05 cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x7b4dd2cb cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/common/cx2341x 0x7fffffff cx2341x_handler_init +EXPORT_SYMBOL drivers/media/common/cx2341x 0x7fffffff cx2341x_log_status +EXPORT_SYMBOL drivers/media/common/cx2341x 0x7fffffff cx2341x_update +EXPORT_SYMBOL drivers/media/common/cypress_firmware 0x7fffffff cypress_load_firmware +EXPORT_SYMBOL drivers/media/common/ttpci-eeprom 0x442b3758 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/common/ttpci-eeprom 0x693e74ba ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/common/tveeprom 0x0dbf0296 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/common/tveeprom 0x453e39e5 tveeprom_read +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x065246b8 frame_vector_create +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1b700d37 put_vaddr_frames +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1d5f9555 frame_vector_destroy +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x459fe592 vb2_verify_memory_type +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff frame_vector_to_pages +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff frame_vector_to_pfns +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff get_vaddr_frames +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_buffer_in_use +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x2fc9bd23 vb2_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x3d58fa9a vb2_dvb_get_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x421760e4 vb2_dvb_find_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x7fffffff vb2_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x7fffffff vb2_dvb_register_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x7fffffff vb2_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-memops 0x7fffffff vb2_create_framevec +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-memops 0x7fffffff vb2_destroy_framevec +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_querybuf +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x00561790 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08733236 intlog10 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x0c1d02ee dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x11739e26 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1609d70c dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1617836e dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1d74e824 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1e7a8283 dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x214d5b4e dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x229ffd2e dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2a410e1b dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2c12c287 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2f58f6a8 dvb_frontend_resume +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3b93d71a dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3f4452e1 dvb_frontend_suspend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3fd96ba7 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x42d15a1b dvb_ringbuffer_write_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x490edf88 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x557e71bb dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5f2b1d95 intlog2 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_device_get +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_net_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_net_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_register_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_remove_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb-frontends/ascot2e 0x7fffffff ascot2e_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/atbm8830 0x7fffffff atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x00ec5a43 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x0259fffe au8522_get_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x1bc34cc2 au8522_analog_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x20de1535 au8522_readreg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x7fffffff au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x7fffffff au8522_init +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x7fffffff au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x7fffffff au8522_release_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x7fffffff au8522_sleep +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_dig 0x7fffffff au8522_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/bcm3510 0x7fffffff bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22700 0x7fffffff cx22700_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22702 0x7fffffff cx22702_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24110 0x7fffffff cx24110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x0f1b7cd4 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x3f81de03 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24116 0x7fffffff cx24116_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24120 0x7fffffff cx24120_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x7fffffff cx24123_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x7fffffff cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2820r 0x1f11e327 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x0506866b cxd2841er_attach_t_c +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x7fffffff cxd2841er_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2880/cxd2880 0x49b4ab09 cxd2880_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x193cf03b dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x2cac6c53 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x3fdab3b4 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x47e1eafd dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x7fffffff dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x0f99001d dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x15fa48ce dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x29e72a55 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x3eb89160 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mb 0x7fffffff dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x7fffffff dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x7fffffff dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x7fffffff dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x7fffffff dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x7fffffff dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x7fffffff dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x7fffffff dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x7fffffff dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x7fffffff dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x7fffffff dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000p 0x784ece1d dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib8000 0x7fffffff dib8000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x18b926e7 dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x296cc68a dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x2b8d3564 dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x374dc692 dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x54c19584 dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x671c2df4 dib9000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7fffffff dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7fffffff dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7fffffff dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7fffffff dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7fffffff dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7fffffff dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7fffffff dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x18e8b533 dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x210d01dd dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x551c577f dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x7fffffff dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x7fffffff dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/drx39xyj/drx39xyj 0x6de7a963 drx39xxj_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxd 0x393fa350 drxd_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxk 0x7fffffff drxk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ds3000 0x7fffffff ds3000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb-pll 0x01b3fb91 dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x1757a3a7 dvb_dummy_fe_ofdm_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x7fffffff dvb_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x7fffffff dvb_dummy_fe_qpsk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ec100 0x32f782d6 ec100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x70e74321 helene_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x7fffffff helene_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/horus3a 0x05a526a7 horus3a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6405 0x7014ef3f isl6405_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6421 0x7fffffff isl6421_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6423 0x21977788 isl6423_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/itd1000 0x44d4879b itd1000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ix2505v 0x7fffffff ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/l64781 0x1305dcc7 l64781_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lg2160 0x1580f229 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3305 0x4e2fb0a0 lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3306a 0x1a4328c7 lgdt3306a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt330x 0x7fffffff lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gl5 0x7fffffff lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gxx 0x7fffffff lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh25 0x11ded94a lnbh25_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh29 0x0a1d04b3 lnbh29_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x59497edd lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x7fffffff lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp22 0x14057478 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x5408c234 m88ds3103_get_agc_pwm +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x7fffffff m88ds3103_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88rs2000 0x7fffffff m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a16 0x05f267c4 mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a20s 0x03231c79 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt312 0x7fffffff mt312_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt352 0x5bf666cc mt352_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt200x 0x70b02ef1 nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt6000 0x487ab032 nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51132 0x7fffffff or51132_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51211 0x7fffffff or51211_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1409 0x1e9e0a12 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1411 0x7fffffff s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x7eb17736 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x7fffffff s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1432 0x7fffffff s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s921 0x7fffffff s921_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/si21xx 0x7fffffff si21xx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp887x 0x7fffffff sp887x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb0899 0x7fffffff stb0899_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6000 0x7fffffff stb6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6100 0x3896dd25 stb6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0288 0x7fffffff stv0288_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0297 0x11ef7b00 stv0297_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0299 0x7fffffff stv0299_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x219c4fb8 stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x7fffffff stv0367ddb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x7fffffff stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0900 0x77ad1ba5 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv090x 0x603b9e3f stv090x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110 0x13917ade stv6110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110x 0x7fffffff stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10021 0x7fffffff tda10021_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10023 0x3282c95d tda10023_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10048 0x6161815f tda10048_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x7fffffff tda10045_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x7fffffff tda10046_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10086 0x35249f66 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda665x 0x7fffffff tda665x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8083 0x7fffffff tda8083_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8261 0x7fffffff tda8261_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda826x 0x7fffffff tda826x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ts2020 0x4dc9e720 ts2020_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tua6100 0x0d332534 tua6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1820 0x404a4fb2 ves1820_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1x93 0x169c273e ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x25d208c9 zd1301_demod_get_dvb_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x7fffffff zd1301_demod_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10036 0x434d1ee2 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10039 0x3224515d zl10039_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10353 0x7fffffff zl10353_attach +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x5d993471 flexcop_dma_free +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x5f927f63 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x7fffffff flexcop_dma_config +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x7fffffff flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x7fffffff flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x7fffffff flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x7fffffff flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x07b71336 bt878_start +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x14484240 bt878_device_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x50da393f bt878 +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x7fffffff bt878_num +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x7fffffff bt878_stop +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x7293c9d2 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x7a976b42 bttv_sub_register +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x7fffffff bttv_get_pcidev +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x7fffffff bttv_read_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x7fffffff bttv_write_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x38914fd3 dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x3c8d5473 dst_pio_disable +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x43a983fd dst_check_sum +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7fffffff dst_attach +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7fffffff dst_comm_init +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7fffffff dst_error_bailout +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7fffffff dst_error_recovery +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7fffffff rdc_reset_state +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7fffffff read_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7fffffff write_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst_ca 0x7fffffff dst_ca_attach +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x1db0c0c4 cx18_claim_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x7fffffff cx18_ext_init +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x7fffffff cx18_release_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x7fffffff cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x7fffffff cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x6ff7510d altera_ci_tuner_reset +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x7fffffff altera_ci_init +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x7fffffff altera_ci_irq +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x7fffffff altera_ci_release +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x2bd3abbd cx25821_dev_get +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x44b517f5 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x6dcaa61e cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x7fffffff cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x7fffffff cx25821_riscmem_alloc +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x7fffffff cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x7fffffff cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x7fffffff cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x7fffffff cx25821_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x5fff598a vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x7fffffff vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x1cea5e79 cx88_enum_input +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x7fffffff cx88_querycap +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x7fffffff cx88_set_freq +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x7fffffff cx88_video_mux +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x33234444 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x7fffffff cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x7fffffff cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x7fffffff cx8802_get_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x7fffffff cx8802_register_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x7fffffff cx8802_start_dma +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x7fffffff cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x038d915e cx88_risc_buffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x069d9766 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x1a15a974 cx88_ir_stop +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x28788d5f cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x2ba8c536 cx88_reset +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x34410727 cx88_get_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x3eab15ac cx88_vdev_init +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x5321aee4 cx88_set_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x541c863d cx88_core_put +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x5edb7ae5 cx88_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x671a22db cx88_set_scale +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x76fa9bb6 cx88_core_irq +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_audio_thread +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_core_get +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_ir_start +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_newstation +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_shutdown +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_wakeup +EXPORT_SYMBOL drivers/media/pci/ddbridge/ddbridge-dummy-fe 0x7fffffff ddbridge_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x0bb6187e ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x1523e776 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x1d45e769 ivtv_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x551d3ad3 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x652f3675 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x6726a2ec ivtv_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x6b785400 ivtv_vapi_result +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x6eafb864 ivtv_vapi +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x71114d5b ivtv_release_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7a14cbf5 ivtv_claim_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7fffffff ivtv_api +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7fffffff ivtv_ext_init +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7fffffff ivtv_firmware_check +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7fffffff ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7fffffff ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7fffffff ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7fffffff ivtv_udma_setup +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x1211df5d saa7134_devlist +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x2f681c73 saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x40cf2921 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x479311d9 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x4faeeaae saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x540f6154 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x658e4264 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x730c4be3 saa7134_boards +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x78a21f86 saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7f68c76e saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_ts_register +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7fffffff saa_dsp_writel +EXPORT_SYMBOL drivers/media/platform/chips-media/imx-vdoa 0x6671c6ea vdoa_context_configure +EXPORT_SYMBOL drivers/media/platform/chips-media/imx-vdoa 0x787fe8a8 vdoa_device_run +EXPORT_SYMBOL drivers/media/platform/chips-media/imx-vdoa 0x7fe3d6f9 vdoa_context_create +EXPORT_SYMBOL drivers/media/platform/chips-media/imx-vdoa 0x7fffffff vdoa_context_destroy +EXPORT_SYMBOL drivers/media/platform/chips-media/imx-vdoa 0x7fffffff vdoa_wait_for_completion +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-csc 0x12d0fa91 csc_create +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-csc 0x27f7c000 csc_dump_regs +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-csc 0x5faa4ebc csc_set_coeff +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-csc 0x7fffffff csc_set_coeff_bypass +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-sc 0x486ed65f sc_dump_regs +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-sc 0x64a7d78b sc_config_scaler +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-sc 0x699ca8dc sc_create +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-sc 0x7fffffff sc_set_hs_coeffs +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-sc 0x7fffffff sc_set_vs_coeffs +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x142c5640 vpdma_map_desc_buf +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x163e1a86 vpdma_free_desc_buf +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x16471806 vpdma_enable_list_complete_irq +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x16f0b6e4 vpdma_add_cfd_adb +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x1d8a5dbd vpdma_add_abort_channel_ctd +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x1e26321d vpdma_misc_fmts +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x28b17ec9 vpdma_get_list_mask +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x3bb6047d vpdma_create_desc_list +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x49293b26 vpdma_yuv_fmts +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x4c1acd74 vpdma_clear_list_stat +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x4ccc5198 vpdma_unmap_desc_buf +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x50ec40af vpdma_rgb_fmts +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x5118bd7d vpdma_add_sync_on_channel_ctd +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x60708dc6 vpdma_raw_fmts +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x6456c0c6 vpdma_hwlist_release +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x65d23377 vpdma_add_in_dtd +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x664dd09f vpdma_alloc_desc_buf +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x754094d3 vpdma_set_max_size +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_add_cfd_block +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_add_out_dtd +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_create +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_dump_regs +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_free_desc_list +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_get_list_stat +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_hwlist_alloc +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_hwlist_get_priv +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_list_busy +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_list_cleanup +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_rawchan_add_out_dtd +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_reset_desc_list +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_set_bg_color +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_set_frame_start_event +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_set_line_mode +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_submit_descs +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_update_dma_addr +EXPORT_SYMBOL drivers/media/radio/tea575x 0x05ab4f9a snd_tea575x_set_freq +EXPORT_SYMBOL drivers/media/radio/tea575x 0x0eb5b3ab snd_tea575x_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0x3424a93d snd_tea575x_enum_freq_bands +EXPORT_SYMBOL drivers/media/radio/tea575x 0x3d98bfae snd_tea575x_exit +EXPORT_SYMBOL drivers/media/radio/tea575x 0x3ea56624 snd_tea575x_hw_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0x7fffffff snd_tea575x_g_tuner +EXPORT_SYMBOL drivers/media/radio/tea575x 0x7fffffff snd_tea575x_s_hw_freq_seek +EXPORT_SYMBOL drivers/media/rc/rc-core 0x01098f88 ir_raw_encode_scancode +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2d538888 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2fe55cf5 ir_raw_gen_pd +EXPORT_SYMBOL drivers/media/rc/rc-core 0x59fa4717 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7a02ee87 ir_raw_gen_pl +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7fffffff ir_raw_encode_carrier +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7fffffff ir_raw_gen_manchester +EXPORT_SYMBOL drivers/media/tuners/fc0011 0x080d832b fc0011_attach +EXPORT_SYMBOL drivers/media/tuners/fc0012 0x7fffffff fc0012_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x0a949ebb fc0013_rc_cal_reset +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x737fc072 fc0013_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x7fffffff fc0013_rc_cal_add +EXPORT_SYMBOL drivers/media/tuners/max2165 0x7fffffff max2165_attach +EXPORT_SYMBOL drivers/media/tuners/mc44s803 0x7fffffff mc44s803_attach +EXPORT_SYMBOL drivers/media/tuners/mt2060 0x7fffffff mt2060_attach +EXPORT_SYMBOL drivers/media/tuners/mt2131 0x7fffffff mt2131_attach +EXPORT_SYMBOL drivers/media/tuners/mt2266 0x7fffffff mt2266_attach +EXPORT_SYMBOL drivers/media/tuners/mxl5005s 0x7fffffff mxl5005s_attach +EXPORT_SYMBOL drivers/media/tuners/qt1010 0x1f21c0a3 qt1010_attach +EXPORT_SYMBOL drivers/media/tuners/tda18218 0x56bab5ac tda18218_attach +EXPORT_SYMBOL drivers/media/tuners/tuner-types 0x4c48939e tuners +EXPORT_SYMBOL drivers/media/tuners/tuner-types 0x7fffffff tuner_count +EXPORT_SYMBOL drivers/media/tuners/xc2028 0x665a4d8e xc2028_attach +EXPORT_SYMBOL drivers/media/tuners/xc4000 0x2ff6a8ae xc4000_attach +EXPORT_SYMBOL drivers/media/tuners/xc5000 0x7fffffff xc5000_attach +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x7fffffff cx231xx_register_extension +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x7fffffff cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x0f19ae8b dvb_usbv2_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x16207e85 dvb_usbv2_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x5502c6c7 dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x75f6889f dvb_usbv2_probe +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x7ad3f914 dvb_usbv2_reset_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x7fffffff dvb_usbv2_disconnect +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x7fffffff dvb_usbv2_generic_rw_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x7fffffff dvb_usbv2_generic_write_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x7fffffff dvb_usbv2_suspend +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x3a9012da dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x3aa3a4a9 dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x5064e9a0 usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x65d933e3 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x719fd508 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x76bc411d dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x7fffffff dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x093ed01a af9005_rc_decode +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x341530cb rc_map_af9005_table +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x7fffffff rc_map_af9005_table_size +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x0ecfa3fb dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x27e6bff2 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x33b249b1 dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x467df778 dibusb_rc_query +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x635cfa82 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x7fffffff dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x7fffffff dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x7fffffff dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x7fffffff dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x7fffffff rc_map_dibusb_table +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x41da185f dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x7fffffff dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x0fac39e5 em28xx_register_extension +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x0bdb1ba3 go7007_update_board +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x0e537b01 go7007_snd_remove +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x0fa6b649 go7007_read_interrupt +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x19c083f0 go7007_register_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x35b25722 go7007_snd_init +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x42ae0e7c go7007_read_addr +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x5bce4b2e go7007_boot_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x6426c8bf go7007_alloc +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x7fffffff go7007_parse_video_stream +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x467c6e79 gspca_dev_probe +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x679da85b gspca_frame_add +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x6dbc1d26 gspca_disconnect +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x7fffffff gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x7fffffff gspca_debug +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x7fffffff gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x7fffffff gspca_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x7fffffff gspca_resume +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x7fffffff gspca_suspend +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x307d9164 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x7fffffff tm6000_register_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x7fffffff tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x1a80c336 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x3147c2fc ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x03caf3cb v4l2_async_nf_register +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x75926800 v4l2_async_nf_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x7fffffff v4l2_async_nf_init +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x7fffffff v4l2_async_register_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x7fffffff v4l2_async_subdev_nf_register +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x7fffffff v4l2_async_unregister_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x1c0331d6 v4l2_m2m_buf_done_and_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x449a6597 v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x5352d022 v4l2_m2m_resume +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x6ac6fccb v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_suspend +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x02a16eed v4l2_ctrl_subdev_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x030d254f __v4l2_ctrl_modify_range +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0467898e v4l2_query_ext_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x082737e8 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0e2a1c2c v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x130ee00f v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1405eca9 __v4l2_ctrl_s_ctrl_string +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x18ef77da v4l2_ctrl_request_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1cff5948 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x227ab16e v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x23249deb v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2575e321 v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x27502491 v4l2_ctrl_subdev_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x28b12cc9 v4l2_format_info +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x297a6059 __v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2adf4f4c v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2f4f463f v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x315de2cf v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x32d43420 v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x35244c32 __v4l2_ctrl_s_ctrl_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3aa51586 v4l2_querymenu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3bdd0f94 v4l2_prio_change +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4a124024 video_devdata +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4a98b24a v4l2_ctrl_new_std_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x526e942d v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5588351b v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5896ddc3 v4l2_subdev_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x59687ba4 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x59e44b31 v4l2_ctrl_notify +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6217b57e v4l2_ctrl_new_fwnode_properties +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6ad705aa __v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7bf5a371 video_device_alloc +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff __v4l2_ctrl_s_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff __video_register_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_g_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_get_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_handler_init_class +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_new_std_menu_items +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_radio_filter +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_request_complete +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_prio_close +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_prio_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_prio_max +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_queryctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_subdev_call_wrappers +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff video_device_release +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff video_device_release_empty +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff video_ioctl2 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff video_unregister_device +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0x2027ae60 rpcif_sw_init +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0x3bd5e4c1 rpcif_dirmap_read +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0x733e866f rpcif_prepare +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0x7fffffff rpcif_hw_init +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0x7fffffff rpcif_manual_xfer +EXPORT_SYMBOL drivers/memstick/core/memstick 0x0ee9f046 memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3978f69a memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3ab058a6 memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x3eeea001 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x51755aff memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5493973b memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6c5bf3ea memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7e9a0d8c memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7fffffff memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7fffffff memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7fffffff memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7fffffff memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7fffffff memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7fffffff memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x00b51a39 mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x03fad6e5 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x08dcdb0b mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0e785484 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x10b316ce mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x150c0579 mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2340913d mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x28dc0daf mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3d939db9 mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3e84e65f mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x558dceb4 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x55cfabe7 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x57b931af mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x610b257e mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6a31be5e mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6bcd9c41 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6ddad511 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x74a0134a mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x065934d1 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x06a276d8 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1805817f mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2347adb6 mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x401f2db8 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4cb50950 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x57f4014a mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x58c43300 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x615713ab mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x63d68575 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6eac3ddd mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7725be87 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7f5da3de mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_host_attr_groups +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_show_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_suspend +EXPORT_SYMBOL drivers/mfd/axp20x 0x58875f0f axp20x_match_device +EXPORT_SYMBOL drivers/mfd/axp20x 0x7fffffff axp20x_device_probe +EXPORT_SYMBOL drivers/mfd/axp20x 0x7fffffff axp20x_device_remove +EXPORT_SYMBOL drivers/mfd/dln2 0x697eb61d dln2_register_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0x7fffffff dln2_transfer +EXPORT_SYMBOL drivers/mfd/dln2 0x7fffffff dln2_unregister_event_cb +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x12103a9f pasic3_write_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x7fffffff pasic3_read_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x15c5bb11 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x2093ac7a mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x5da2575e mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x6f1191e0 mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x72991cac mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7fffffff mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7fffffff mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7fffffff mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7fffffff mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7fffffff mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7fffffff mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/qcom_rpm 0x7fffffff qcom_rpm_write +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0x0c6ad2cf tps65010_config_vdcdc2 +EXPORT_SYMBOL drivers/mfd/tps65010 0x28485130 tps65010_config_vregs1 +EXPORT_SYMBOL drivers/mfd/tps65010 0x33739de7 tps65010_set_vib +EXPORT_SYMBOL drivers/mfd/tps65010 0x7fffffff tps65010_set_gpio_out_value +EXPORT_SYMBOL drivers/mfd/tps65010 0x7fffffff tps65010_set_led +EXPORT_SYMBOL drivers/mfd/tps65010 0x7fffffff tps65010_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0x7fffffff tps65010_set_vbus_draw +EXPORT_SYMBOL drivers/mfd/wm8994 0x58f9de65 wm1811_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x71aeb9bf wm8994_irq_exit +EXPORT_SYMBOL drivers/mfd/wm8994 0x7fffffff wm8958_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x7fffffff wm8994_base_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x7fffffff wm8994_irq_init +EXPORT_SYMBOL drivers/mfd/wm8994 0x7fffffff wm8994_regmap_config +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x51693680 ad_dpot_probe +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x7fffffff ad_dpot_remove +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x2fb85933 altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x7fffffff c2port_device_register +EXPORT_SYMBOL drivers/misc/c2port/core 0x7fffffff c2port_device_unregister +EXPORT_SYMBOL drivers/misc/tifm_core 0x01d243b5 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x0e56e23e tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x39f86aa1 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x5127f490 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x534f64e3 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x586b05e4 tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x6c1e7dd6 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x7b39e380 tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x7d1ae70e tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x7fffffff tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x7fffffff tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x7fffffff tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x7fffffff tifm_unregister_driver +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x408b3d8f dw_mci_remove +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x4ecda816 dw_mci_probe +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x69c2a44b dw_mci_runtime_suspend +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x7fffffff dw_mci_runtime_resume +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x7fffffff mmc_spi_get_pdata +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x7fffffff mmc_spi_put_pdata +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x45258595 cfi_merge_status +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x4b7334e5 cfi_send_gen_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x7fffffff cfi_build_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x7fffffff cfi_build_cmd_addr +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x7fffffff cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x7fffffff cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x7fffffff cfi_udelay +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x7fffffff cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x7fffffff mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x7fffffff lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x102603bc mtk_ecc_get_parity_bits +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x24351100 mtk_ecc_enable +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x5437e775 mtk_ecc_disable +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x5de55d81 mtk_ecc_get_stats +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x6df58afb mtk_ecc_release +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x6f49e815 of_mtk_ecc_get +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x76e53683 mtk_ecc_wait_done +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x7eb47fa9 mtk_ecc_encode +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x7fffffff mtk_ecc_adjust_strength +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0x19990015 flexonenand_region +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0x7fffffff onenand_addr +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x30db096f denali_calc_ecc_bytes +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x5bd87c71 denali_init +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x75128e20 denali_remove +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x1c225e92 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x28e415e8 free_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x44e6e2e7 arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x450049e5 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x594a6f48 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x5ef7ef3b arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x693c69b3 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x7baf71e1 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x7f4719b0 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x7fffffff arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x7fffffff arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x7fffffff arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x7137b141 com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x787adb45 com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x7fffffff com20020_netdev_ops +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0x02431792 ctucan_resume +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0x2c0da3fb ctucan_suspend +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0x7fffffff ctucan_probe_common +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0020533a b53_br_fast_age +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0a93665f b53_get_tag_protocol +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x1d709ea1 b53_get_ethtool_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x23e1f13b b53_fdb_dump +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x25d698bb b53_get_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x270cb547 b53_get_strings +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x292d05d7 b53_phylink_mac_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2a2c3ed8 b53_disable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x30f69dfb b53_mirror_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x37cfa089 b53_set_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4823b11b b53_phylink_mac_link_up +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4ca381ad b53_get_sset_count +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x50ec271c b53_eee_enable_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x60835ec7 b53_br_flags +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6e16ce9b b53_br_set_stp_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x75efd412 b53_get_ethtool_phy_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7738a731 b53_brcm_hdr_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7a912030 b53_eee_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7cdede59 b53_br_leave +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7ef3ef94 b53_phylink_mac_link_down +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_br_flags_pre +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_br_join +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_configure_vlan +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_enable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_fdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_fdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_imp_vlan_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_mdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_mdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_mirror_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_port_event +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_setup_devlink_resources +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_switch_detect +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_switch_register +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_vlan_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_vlan_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_vlan_filtering +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x16138ed4 b53_serdes_phylink_get_caps +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x16356a0f b53_serdes_phylink_mac_select_pcs +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x23b10d45 b53_serdes_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x7fffffff b53_serdes_link_set +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x7fffffff lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x7fffffff lan9303_register_set +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x7fffffff lan9303_remove +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x7fffffff lan9303_shutdown +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0x6acdab6e ksz8_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0x7fffffff ksz9477_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x08db2fbc ksz_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x4f73d469 ksz_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x556a19a3 ksz_switch_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x16d3104d vsc73xx_shutdown +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x6c521d02 vsc73xx_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x7fffffff vsc73xx_is_addr_valid +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x7fffffff vsc73xx_probe +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x092d9d22 xrs700x_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x5b938eea xrs700x_switch_register +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x62411413 xrs700x_switch_remove +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x7fffffff xrs7003e_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x7fffffff xrs7003f_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x7fffffff xrs7004e_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x7fffffff xrs7004f_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x7fffffff xrs700x_switch_shutdown +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x51c75f5a __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x75cda539 ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7fffffff NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7fffffff ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7fffffff ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7fffffff ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7fffffff ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7fffffff ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7fffffff ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7fffffff ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/aquantia/atlantic/atlantic 0x7fffffff aq_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnxt/bnxt_en 0x0d43e102 bnxt_ulp_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x53a36ba2 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0663aba5 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0a1566c7 t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x16242be3 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x175ab398 cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x194241cf cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x228ce136 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x6aa4ec82 dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x6b47a2a3 cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x78831f0a cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7fffffff cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7fffffff cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7fffffff cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7fffffff t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7fffffff t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7fffffff t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7fffffff t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0f1a5528 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1fbe769f cxgb4_remove_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x20b45531 cxgb4_alloc_sftid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2ae80aad cxgb4_read_tpte +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2c61a2bd cxgb4_smt_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2ef272a0 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2f4f5d1b cxgb4_inline_tx_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3a1d2c01 cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3cf9ba82 cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x41fd1c05 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x454ac9bc cxgb4_port_e2cchan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x47abe7ba cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4cd83646 cxgb4_clip_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4fe326dc cxgb4_get_srq_entry +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50ee5c07 cxgb4_best_aligned_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5181344f cxgb4_read_sge_timestamp +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x53fdee3d cxgb4_l2t_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x640b981a cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x65c751eb cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x73999de5 cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7517fe69 cxgb4_write_partial_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x76069829 cxgb4_update_root_dev_clip +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x768c3cf5 cxgb4_remove_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_check_l2t_valid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_clip_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_create_server6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_create_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_immdata_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_map_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_reclaim_completed_tx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_ring_tx_db +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_smt_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_write_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff t4_cleanup_clip_tbl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x09f2acb6 cxgbi_ppm_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x1bdaafe1 cxgbi_tagmask_set +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x255ab30f cxgb_get_4tuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x40f28223 cxgbi_ppm_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x5bd08c14 cxgb_find_route6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x7bdbad56 cxgbi_ppm_ppod_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x7fffffff cxgb_find_route +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x7fffffff cxgbi_ppm_make_ppod_hdr +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x7fffffff cxgbi_ppm_ppods_reserve +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x17c181cb vnic_dev_get_pdev +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x2e0b9a81 enic_api_devcmd_proxy_by_index +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x7fffffff vnic_dev_get_res +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x7fffffff vnic_dev_get_res_count +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x7fffffff vnic_dev_register +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x7fffffff vnic_dev_unregister +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x371ce53c be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x4e2e10d2 be_roce_mcc_cmd +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x7fffffff be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/freescale/enetc/fsl-enetc-ierb 0x4ab8ca00 enetc_ierb_register_pf +EXPORT_SYMBOL drivers/net/ethernet/freescale/enetc/fsl-enetc-ptp 0x5431a304 enetc_phc_index +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x5a3ec6fc fun_reserve_irqs +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x6ab30573 fun_dev_disable +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x7fffffff fun_dev_enable +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x7fffffff fun_release_irqs +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x0edbf617 hnae_reinit_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x5e1d6cc6 hnae_put_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x7fffffff hnae_ae_register +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x7fffffff hnae_ae_unregister +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x7fffffff hnae_get_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x7fffffff hnae_register_notifier +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x7fffffff hnae_unregister_notifier +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hns_dsaf 0x3ffbe8c9 hns_dsaf_roce_reset +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x09daef8e hnae3_register_ae_dev +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x0bac19a7 hnae3_unregister_ae_dev +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x744e63ce hnae3_unregister_ae_algo +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x7fffffff hnae3_register_ae_algo +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x7fffffff hnae3_register_client +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x7fffffff hnae3_set_client_init_flag +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x7fffffff hnae3_unregister_ae_algo_prepare +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x7fffffff hnae3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x7245ab9a iavf_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x7fffffff iavf_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/ice/ice 0x6dfaeca0 ice_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/intel/ixgbe/ixgbe 0x7fffffff ixgbe_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/marvell/prestera/prestera 0x71c74816 prestera_device_unregister +EXPORT_SYMBOL drivers/net/ethernet/marvell/prestera/prestera 0x7fffffff prestera_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0ccdeb0f mlx4_query_diag_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0d95113d mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1278b482 mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1a22bb19 mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1a4b4a1f mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1ca21bc8 mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x287f9eee mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3ddeb019 mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3e1f2ae4 mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x41d61f1f mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x442d9aba mlx4_get_eqs_per_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x45f46d47 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4a23c92b set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4a810591 mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4d6907e9 mlx4_get_parav_qkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5e4e57c0 mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x66c59798 mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x69918598 mlx4_sync_pkey_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7524484a mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7beee274 mlx4_test_async +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7cd4b7ad mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7df29bb9 mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fdde0b4 mlx4_handle_eth_header_mcast_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff get_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_SET_PORT_user_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_SET_PORT_user_mtu +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_gen_port_state_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x021fb5b9 mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x037d7f0c mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x09fa3983 mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0b238980 mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0ebef3ff mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0f2495df __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0fa1109c mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0fade266 mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x10fcf9e9 mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x12d5d022 mlx5_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x13fa80f7 mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x17a2a602 __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x18304720 mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1b2017c8 mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1c5f34c5 mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1d72c0f8 mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1f5cfdb0 mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x208d2414 mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x25774ecd mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x25d6c2dd mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x26d9be3b mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x270d2e35 mlx5_core_alloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x275ffcaa mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2d6d4527 mlx5_query_ib_port_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2fcc337f __traceiter_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x30f8fe27 mlx5_debugfs_get_dev_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x32dd6950 mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3475821f __SCK__tp_func_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3a9c0f50 mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3c37d8f0 __traceiter_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3c680b09 __traceiter_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e17e399 mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3fc0188b mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x470a9a74 mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x47230fb2 mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x47a7abd2 mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x48dc8463 __traceiter_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4aa9b6cc mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4d5f5c07 __SCK__tp_func_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4d642513 __traceiter_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4e299164 __traceiter_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4e850974 __traceiter_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4ef8bee5 mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5092bedc mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x536a3b1a mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5382231e mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5514f9ba mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x559ac38d __SCK__tp_func_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x57ccd519 mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x587890cd mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x58d5c9a9 mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5c7c4429 mlx5_create_flow_group +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5dd41d61 mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5fe9e20b mlx5_is_roce_on +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x60ba11dd mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x61492bb7 mlx5_rl_are_equal +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6523ddfa mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x655d3df0 mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x65e6854f mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6870d926 mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x68fddb6e mlx5_destroy_flow_group +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6984f028 mlx5_eswitch_get_vport_metadata_for_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6a6e0f52 __traceiter_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6e2c07d6 mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6e46e292 mlx5_vf_put_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6ec532b6 mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x722fa91a mlx5_eswitch_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7261330b __SCK__tp_func_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x735f890c mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7437d61b mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x764de790 __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x767508c1 mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x794e04da __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7b359a09 __SCK__tp_func_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7d91360f mlx5_lag_is_master +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __SCK__tp_func_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __SCK__tp_func_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __SCK__tp_func_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __SCK__tp_func_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __traceiter_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_cmd_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_cmd_do +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_cmd_out_err +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_create_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_lag_get_num_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_lag_get_peer_mdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_lag_is_shared_fdb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_mpfs_add_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_mpfs_del_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_rsc_dump_cmd_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_rsc_dump_cmd_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_rsc_dump_next +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_sriov_blocking_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_sriov_blocking_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_vf_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0x7fffffff mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0137f952 mlxsw_afk_values_add_buf +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02815b77 mlxsw_env_module_port_up +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02dfd3d0 mlxsw_afk_key_info_block_encoding_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x07abcc0c mlxsw_afa_block_append_trap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x087c0c78 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0ca34ccf mlxsw_core_max_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x10d3c264 mlxsw_core_port_is_xm +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x123d3479 mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x14e17bb4 mlxsw_linecards_event_ops_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x15801382 mlxsw_afk_key_info_put +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x18b0ad00 mlxsw_afa_block_append_police +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x19fa5852 mlxsw_core_flush_owq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1c6605f6 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1e091407 mlxsw_core_port_devlink_port_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x202693f0 mlxsw_afa_block_cur_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x21daf3af mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2a4ddd44 mlxsw_env_get_module_power_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x33c00ec4 mlxsw_env_get_module_eeprom +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x36db2152 mlxsw_afa_block_append_mirror +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x38185d87 mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3a09285c mlxsw_core_skb_transmit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3f672008 mlxsw_reg_trans_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4036254f mlxsw_linecards_event_ops_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x406b4614 mlxsw_afa_block_append_counter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x43a9b87e mlxsw_afa_block_terminate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x43dc517a mlxsw_afa_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x44d728a8 mlxsw_core_traps_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x47041e4e mlxsw_afk_key_info_blocks_count_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4b0bae55 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4baba7b6 mlxsw_core_ptp_transmitted +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4e6be521 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x508923e3 mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x51b5769d mlxsw_env_module_overheat_counter_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x55a65610 mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x55ac2237 mlxsw_core_bus_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x57e736af mlxsw_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5a099407 mlxsw_afa_block_append_qos_dscp +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5a939205 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5cf3dd79 mlxsw_core_bus_device_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5ff17b5c mlxsw_afa_block_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x618a30ab mlxsw_afa_block_commit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x63874d4c mlxsw_core_port_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x64944622 mlxsw_core_trap_state_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x65e16da4 mlxsw_afk_key_info_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6929f2b4 mlxsw_env_module_port_map +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73489011 mlxsw_afa_block_append_ip +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x75339042 mlxsw_core_lag_mapping_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77d83398 mlxsw_core_read_frc_l +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x78f27323 mlxsw_core_rx_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7b0bfeec mlxsw_core_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7ca5b4d4 mlxsw_afa_block_append_sampler +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7e08c6e0 mlxsw_core_event_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7f659d4c mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_activity_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_append_allocated_counter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_append_l4port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_append_mcrouter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_append_trap_and_forward +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_continue +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_first_kvdl_index +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_first_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_jump +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afk_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afk_encode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_cpu_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_emad_string_tlv_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_event_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_fw_rev_minor_subminor_validate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_lag_mapping_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_port_eth_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_resources_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_rx_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_schedule_dw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_schedule_work +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_skb_transmit_busy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_trap_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_trap_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_traps_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_env_get_module_eeprom_by_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_env_module_port_down +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_env_module_port_unmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_env_reset_module +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_env_set_module_power_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_reg_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_reg_trans_bulk_wait +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_reg_trans_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_reg_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x5b6b61da mlxsw_i2c_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x7fffffff mlxsw_i2c_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x1bb730b5 mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x7fffffff mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0296a7b6 ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x04b46efa ocelot_sb_occ_max_clear +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0ade7224 ocelot_fdb_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0b4e90be ocelot_get_ethtool_stats +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1128a449 ocelot_sb_tc_pool_bind_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x159fc3a2 ocelot_port_mdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x175e6634 ocelot_mrp_add_ring_role +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x19453204 vsc7514_vcap_is1_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1b10c722 ocelot_get_ts_info +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1b6ae4c3 ocelot_hwstamp_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x215d791e ocelot_ptp_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x26940e5f ocelot_sb_occ_tc_port_bind_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x274a0e05 ocelot_port_fdb_do_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2ee2eeab ocelot_vcap_block_find_filter_by_id +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x334fe083 ocelot_ptp_settime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x34e2c7ce ocelot_init_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3bf296f1 ocelot_set_ageing_time +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3e88cef4 ocelot_port_mdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x413d262b ocelot_port_bridge_flags +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x41517d86 ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4271543f vsc7514_vcap_es0_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4fc1c4d8 ocelot_vlan_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x508c6b0e ocelot_mrp_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x50f802c6 ocelot_port_inject_frame +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x536e8f0a ocelot_devlink_sb_register +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x56152ec1 ocelot_get_txtstamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5b583191 ocelot_hwstamp_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5f706faa ocelot_fdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x65a1d209 ocelot_mact_learn +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x68bc8a0a ocelot_can_inject +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6a870c17 ocelot_vcap_filter_replace +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6ca9428b ocelot_sb_occ_port_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6eced02b ocelot_get_strings +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x70ac6a2b ocelot_fdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x75ebcb08 ocelot_ptp_gettime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7cfcbda6 ocelot_sb_port_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7d9a51d1 ocelot_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7f24d233 ocelot_mact_lookup +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fbf48dd ocelot_port_pre_bridge_flags +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_bridge_stp_state_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_deinit +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_deinit_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_deinit_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_devlink_sb_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_drain_cpu_queue +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_get_sset_count +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_ifh_port_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_init_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_mact_forget +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_mact_learn_streamdata +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_mrp_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_mrp_del_ring_role +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_policer_validate +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_bridge_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_lag_change +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_lag_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_lag_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_set_maxlen +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_txtstamp_request +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_vlan_filtering +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_ptp_adjtime +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_ptp_rx_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_ptp_verify +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_sb_occ_snapshot +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_sb_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_sb_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_sb_port_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_sb_tc_pool_bind_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_vcap_filter_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_vcap_filter_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_vcap_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_vcap_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_vlan_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_vlan_prepare +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_xtr_poll_frame +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_ana_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_dev_gmii_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_ptp_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_qs_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_qsys_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_rew_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_sys_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_vcap_es0_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_vcap_is1_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_vcap_is2_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_vcap_is2_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_vcap_regmap +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x4ac39a1a qed_get_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x4f264472 qed_put_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x7a625f50 qed_get_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x7fffffff qed_get_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x7fffffff qed_put_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x7fffffff qed_put_fcoe_ops +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x101cc564 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x3c3b1321 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x7fffffff hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x7fffffff hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x7fffffff hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/mdio 0x3e17f466 mdio_set_flag +EXPORT_SYMBOL drivers/net/mdio 0x60443957 mdio45_probe +EXPORT_SYMBOL drivers/net/mdio 0x63e0fee5 mdio45_links_ok +EXPORT_SYMBOL drivers/net/mdio 0x7fffffff mdio45_ethtool_gset_npage +EXPORT_SYMBOL drivers/net/mdio 0x7fffffff mdio45_ethtool_ksettings_get_npage +EXPORT_SYMBOL drivers/net/mdio 0x7fffffff mdio45_nway_restart +EXPORT_SYMBOL drivers/net/mdio 0x7fffffff mdio_mii_ioctl +EXPORT_SYMBOL drivers/net/mdio/mdio-mscc-miim 0x7fffffff mscc_miim_setup +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0x6b93afd0 lynx_pcs_create +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0x7fffffff lynx_get_mdio_device +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0x7fffffff lynx_pcs_destroy +EXPORT_SYMBOL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/ppp/pppox 0x459f41de pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0x7fffffff pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0x7fffffff register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0x7fffffff unregister_pppox_proto +EXPORT_SYMBOL drivers/net/sungem_phy 0x7fffffff sungem_phy_probe +EXPORT_SYMBOL drivers/net/team/team 0x0434954d team_options_change_check +EXPORT_SYMBOL drivers/net/team/team 0x13afbdee team_options_unregister +EXPORT_SYMBOL drivers/net/team/team 0x29b99d1e team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0x3f4e2fc0 team_options_register +EXPORT_SYMBOL drivers/net/team/team 0x7a51fdc7 team_option_inst_set_change +EXPORT_SYMBOL drivers/net/team/team 0x7fffffff team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0x7fffffff team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/team/team 0x7fffffff team_modeop_port_enter +EXPORT_SYMBOL drivers/net/usb/usbnet 0x39c36090 usbnet_link_change +EXPORT_SYMBOL drivers/net/usb/usbnet 0x6cf7fbb9 usbnet_device_suggests_idle +EXPORT_SYMBOL drivers/net/usb/usbnet 0x7fffffff usbnet_manage_power +EXPORT_SYMBOL drivers/net/wan/hdlc 0x028f84d8 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x18b84e54 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0x2510c9e4 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x2e105298 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x54d62c60 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x57be1a28 hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x68cd9297 hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x6b49bda7 detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7fffffff hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7fffffff register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0b1ab353 ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x108b188f ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4571aea8 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4bb7e739 dfs_pattern_detector_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4edd4226 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x53c3ddb8 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x56f17605 ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x63bf18d1 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x65c9c29d ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7fffffff ath_bus_type_strings +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7fffffff ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7fffffff ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7fffffff ath_hw_keysetmac +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7fffffff ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7fffffff ath_is_mybeacon +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7fffffff ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7fffffff ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7fffffff ath_regd_find_country_by_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x015e5db2 ath10k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x01ada1d5 ath10k_core_napi_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0477cfcc ath10k_ce_send +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1a511a54 ath10k_ce_enable_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1b8ad75c ath10k_ce_revoke_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1c740ca7 ath10k_htc_notify_tx_completion +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2b62e008 ath10k_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2b69f365 ath10k_ce_rx_update_write_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3262f748 ath10k_ce_completed_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x35338e6d ath10k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3d33673a ath10k_mac_tx_push_pending +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x437bb2cf ath10k_htt_txrx_compl_task +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x480a3fec ath10k_htt_hif_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4dcbecda ath10k_ce_alloc_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x51ee2ddf ath10k_ce_completed_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5275a88d ath10k_core_fetch_board_file +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x574f7de2 ath10k_ce_disable_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5b7379ed ath10k_ce_free_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5c0478f5 ath10k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x62585156 ath10k_coredump_new +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x673e4f59 ath10k_core_unregister +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6e27a3ed ath10k_ce_completed_send_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x719d1dbe ath10k_core_check_dt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x72925cbf ath10k_ce_cancel_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x74e13d28 __ath10k_ce_send_revert +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7504b6aa ath10k_core_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x787fc748 ath10k_core_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x788ea5b9 ath10k_ce_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x79f095a9 ath10k_ce_completed_recv_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7c312c72 ath10k_htc_process_trailer +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff __ath10k_ce_rx_num_free_bufs +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff __tracepoint_ath10k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_bmi_read_memory +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_bmi_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_alloc_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_deinit_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_dump_registers +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_free_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_init_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_num_free_src_entries +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_per_engine_service_any +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_send_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_core_free_board_files +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_core_napi_sync_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_core_register +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_core_start_recovery +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_coredump_get_mem_layout +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_htc_rx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_htc_tx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_htt_rx_hl_indication +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_htt_rx_pktlog_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_htt_t2h_msg_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_print_driver_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x081ff4a6 __tracepoint_ath11k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x0c03912e ath11k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x10e4e8a8 ath11k_pcic_free_irq +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x1c17945f ath11k_ce_get_attr_flags +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x277dde7e ath11k_core_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x28057e53 ath11k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x390b103a ath11k_pcic_init_msi_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x394f012d ath11k_core_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x3a31d775 ath11k_pcic_get_ce_msi_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x41fb06e2 ath11k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x529f87ab ath11k_ce_alloc_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x5e4f35b0 ath11k_qmi_deinit_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x650ba2cd ath11k_pcic_ce_irqs_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x66ce372f ath11k_core_pre_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7074eaeb ath11k_pcic_map_service_to_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x77f5052d ath11k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7beb60bc ath11k_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_ce_cleanup_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_ce_free_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_ce_get_shadow_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_cold_boot_cal +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_core_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_core_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_core_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_debugfs_soc_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_dp_service_srng +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_hal_srng_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_hal_srng_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_pcic_ce_irq_disable_sync +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_pcic_config_irq +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_pcic_ext_irq_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_pcic_ext_irq_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_pcic_get_msi_address +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_pcic_get_user_msi_assignment +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_pcic_read32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_pcic_register_pci_ops +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_pcic_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_pcic_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_pcic_write32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x0c28a908 ath6kl_read_tgt_stats +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1354043d ath6kl_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x175bef8f ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x2977e7b8 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x2bdfb7d6 ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3502feef ath6kl_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x55d4ea84 ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x5c3aff68 ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x74a88df9 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7cc05fe9 ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7fffffff ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7fffffff ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7fffffff ath6kl_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7fffffff ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7fffffff ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7fffffff ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x094e78fa ath9k_cmn_spectral_init_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x0cdcdd42 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x183fe1d2 ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x26d16850 ath9k_cmn_spectral_scan_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x31820f25 ath9k_cmn_debug_modal_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3d8649cd ath9k_cmn_process_rate +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x4160b1c2 ath9k_cmn_rx_accept +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x41aae67b ath9k_cmn_debug_stat_rx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x44a2a85e ath9k_cmn_setup_ht_cap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x4698e978 ath9k_cmn_debug_base_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x5559be41 ath9k_cmn_process_rssi +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x5b7bb20d ath9k_cmn_spectral_deinit_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x663112fc ath9k_cmn_beacon_config_ap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x77a92676 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x77be9714 ath9k_cmn_get_channel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_beacon_config_adhoc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_beacon_config_sta +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_debug_recv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_init_channels_rates +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_reload_chainmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_rx_skb_postprocess +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_spectral_scan_trigger +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath_cmn_process_fft +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00e94aca ath9k_hw_wow_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x06832ceb ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x06ac80be ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x07e58e90 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x08280872 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x083c7896 ath9k_hw_check_nav +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x08a728b4 ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0b055d86 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0d7b42c6 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0e6c7917 ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f4e3313 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f731ad2 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f77dafc ath9k_hw_get_tsf_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x11684f46 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x11973e91 ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x13b90b71 ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1782dbbf ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x17d205af ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x195a5526 ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1e16274b ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1f3e022d ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x207fb3ec ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x20bae71c ar9003_mci_send_wlan_channels +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x230430cb ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x24ae5c7a ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2573abff ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x25861805 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2909f12e ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3006563d ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x353ee34b ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x35d13dd4 ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x36e8dad2 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x37378fe2 ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x38f5e6b4 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3f3ba15e ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x40e95cb6 ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x43c09425 ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4542abe3 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x481b2207 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4938aaaf ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4cd17665 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4ef8be31 ath9k_hw_btcoex_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x579c5d55 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5af0ca4e ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5bdfa576 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x62468e21 ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x62d19d5d ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6410d521 ath9k_hw_wow_apply_pattern +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x679a81e0 ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6b47113b ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6ba60553 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6e0708e5 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x70e04eda ar9003_mci_set_bt_version +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x715d7b66 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x72663244 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x734240a5 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7643b2f0 ath9k_hw_gpio_request_in +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7844c5c1 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7d01da4a ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ar9003_hw_bb_watchdog_check +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ar9003_is_paprd_enabled +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ar9003_mci_get_next_gpm_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_btcoex_set_concur_txprio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_gpio_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_gpio_request_out +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_kill_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_loadnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_resume_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_set_tx_filter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_wow_wakeup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x48a9742b init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x7fffffff atmel_open +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x7fffffff stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1906648e brcmu_boardrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x210adb14 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x236ed518 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x32b80e66 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x45644f4b brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x471788eb brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x646ffe08 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_d11_attach +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_dotrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_pktq_pdeq_match +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x03fd4144 libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1411e39d libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1b61b920 alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x1f3c442d libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x2d0d5903 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x2e776065 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x3adadaff libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x4edfe46f libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x71cada95 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x73102f96 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7b828441 libipw_rx +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7fffffff free_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7fffffff libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7fffffff libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7fffffff libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7fffffff libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7fffffff libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7fffffff libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7fffffff libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7fffffff libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x007d6f6a _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x021308cc il_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x025ac79c il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x02f709e5 il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x04882075 il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x085e1172 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0cd34ae5 il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0d047302 il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x137358ec il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1752377e il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1d21a78d il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1f906550 il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x23d06407 il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x258bbbe8 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x26db4e0a il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2890b00f il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x29648786 il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x31ac38e6 il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x34241e2a il_leds_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3718c4ff il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x37de3bfd il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x381be292 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x38e7b484 il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3b44abe9 il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3cd2ce5a il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3eece08c il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3f45eec9 il_mac_flush +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416bd26a il_debug_level +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x46a361b6 il_mac_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x470f06d8 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4df3a1a1 il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4fdc2dee il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x50451d21 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5312732d il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x53ad1d9e il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x548a3eb4 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5eb3117e il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5fd49f13 il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x617e9d7a il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x64b6a8b2 il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6859101c il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6c10ede8 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6d0dd5df il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6d5ca7a2 il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6e15ae75 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x751acb56 il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7ba23491 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7ccc35c6 il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7eca64a1 il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7f37ed16 il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_apm_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_force_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_free_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_init_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_isr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_set_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_set_rate +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_update_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x16cafecc __traceiter_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1c5036c0 __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3ea8b86b __traceiter_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x466ae44d __SCK__tp_func_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x6ff0d5fc __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7fffffff __SCK__tp_func_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7fffffff __SCK__tp_func_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7fffffff __traceiter_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7fffffff __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x0ad69602 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x364dd578 hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x42dc767c hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x4e53ee73 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x61076fbb hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x728580ea hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fb75891 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x14f036d2 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x3e5b41aa orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x478d84ac __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x618f2ba0 alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x6430c3e1 orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7e2c80b9 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff orinoco_down +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff orinoco_open +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_wcid_key_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0x7fffffff rtl_btc_get_ops_pointer +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x000b5cc8 rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x07bfeb35 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1286801b _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x20aaee6d rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2327d91c _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x250acea2 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2dc8c01e rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x38942869 rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x38af5b27 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3abb8969 rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3b89b50f rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4280f2ca _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x46115a69 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x50206fd5 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5220abd5 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x565758b9 rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x59453514 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5c02f4e1 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5ecc8f69 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x70d667db rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x73e7c72d rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff _rtl92c_phy_dbm_to_txpwr_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff _rtl92c_store_pwrindex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x2a2f5aae rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x7fffffff rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x7fffffff rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x7fffffff rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x30977b60 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x790f9438 rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x7fffffff rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x7fffffff rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0b038e24 channel5g_80m +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0ea9c8db rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x108b274b efuse_shadow_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x123c875a rtl_hal_pwrseqcmdparsing +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x146b8512 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1ad3e256 rtl_process_phyinfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1b60d5d6 efuse_power_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1b945315 rtl_addr_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1c7277f6 rtl_wowlan_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2990c4fb rtl_rfreg_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30a956d7 rtl_query_rxpwrpercentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3ccb5a3d rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x44e6a324 rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4ab39833 rtl_signal_scale_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4aeaee7c rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4b938dc1 rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54824f58 channel5g +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x57694445 rtl_c2hcmd_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x63e85869 rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x67f1ffdd rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6c492798 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff efuse_one_byte_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_bb_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_cmd_send_packet +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_collect_scan_list +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_evm_db_to_percentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_mrate_idx_to_arfr_id +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_rx_ampdu_apply +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8723d 0x7fffffff rtw8723d_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8821c 0x46bb7e97 rtw8821c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0x309b73a8 rtw8822b_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0x7fffffff rtw8822c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x01f7a939 rtw_tx_fill_tx_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x079b52c5 rtw_phy_pwrtrack_need_lck +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x07f6f40c rtw_dump_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x11dd2763 rtw_phy_pwrtrack_thermal_changed +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1b4607c4 rtw_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1c67514e rtw_phy_set_edcca_th +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x20747e86 rtw_parse_tbl_txpwr_lmt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2091c406 rtw_bf_set_gid_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x211ddbaf rtw_phy_pwrtrack_get_delta +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x24eea719 rtw_set_rx_freq_band +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x31ee1031 rtw_bf_cfg_csi_rate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x33b3f3c0 rtw_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x36c5bfca rtw_disable_lps_deep_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3d49d040 rtw_phy_pwrtrack_need_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x41e05596 rtw_rx_stats +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x43e7e94d rtw_rx_fill_rx_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x440b7589 rtw_phy_rf_power_2_rssi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x45e21927 rtw_phy_cfg_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x495dd85d rtw_read8_physical_efuse +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4d909ed0 rtw_phy_pwrtrack_get_pwridx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4f117824 rtw_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x519c8ba9 rtw_rate_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x58210e60 rtw_rate_section +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x59162043 rtw_phy_set_tx_power_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x59e453f9 rtw_fw_do_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5bf97354 rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5c485e80 rtw_phy_pwrtrack_avg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x60847715 rtw_coex_read_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x63c9aa8c rtw_phy_cfg_bb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6abcb690 rtw_dump_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6f54c1ea rtw_tx_write_data_h2c_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x71b0cd0e __rtw_dbg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7ae280dd rtw_bf_remove_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7d34b470 rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7f2ddef3 rtw_coex_write_scbd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff check_hw_ready +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_bf_enable_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_bf_enable_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_bf_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_fw_c2h_cmd_isr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_fw_c2h_cmd_rx_irqsafe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_fw_inform_rfk_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_parse_tbl_bb_pg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_parse_tbl_phy_cond +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_phy_cfg_agc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_phy_cfg_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_phy_config_swing_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_phy_get_tx_power_index +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_phy_load_tables +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_phy_parsing_cfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_phy_read_rf_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_phy_write_rf_reg_mix +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_phy_write_rf_reg_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_power_mode_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_regd_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_register_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_restore_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_set_channel_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_tx_report_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_tx_write_data_rsvd_page_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_unregister_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x0ff01246 rtw_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x17492d20 rtw_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x7fffffff rtw_pci_shutdown +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x7fffffff rtw_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_8852a 0x69aaf66c rtw8852a_chip_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_8852c 0x7fffffff rtw8852c_chip_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x04c16f7c rtw89_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x0602a0c9 rtw89_mac_get_txpwr_cr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x06aa9c1b rtw89_mac_resume_sch_tx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x0a63a959 rtw89_mac_coex_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x0f05daa6 rtw89_mac_cfg_ppdu_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x12fe94aa rtw89_fw_h2c_rf_ntfy_mcc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x147e9afc rtw89_rs_nss_max +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x194e3b9f rtw89_phy_load_txpwr_byrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x1c55e3af rtw89_phy_write_reg3_tbl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x220180c5 rtw89_core_unregister +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x25e5fe8d rtw89_mac_coex_init_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x28a727f6 rtw89_core_napi_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x2c59e64e rtw89_mac_cfg_ctrl_path +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x2d7c68df rtw89_core_napi_start +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x335b9a05 rtw89_mac_enable_bb_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x3c185a89 rtw89_core_napi_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x444ba2b0 rtw89_mac_get_err_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x4e0ce9c6 rtw89_core_fill_txdesc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x4f0c654a rtw89_phy_fill_txpwr_limit_ru +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x517043cf rtw89_phy_write_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x5f8fb245 rtw89_phy_write_rf_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x646564ef rtw89_ser_notify +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x66a18f4c rtw89_core_fill_txdesc_fwcmd_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6dcadcfb rtw89_mac_cfg_gnt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6e8f5a63 rtw89_mac_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7013ee3f rtw89_mac_stop_sch_tx_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x70c3bbcc rtw89_phy_config_rf_reg_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x74d12a39 rtw89_core_rx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7c8d1a22 rtw89_phy_read_txpwr_limit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7f693305 rtw89_mac_cfg_gnt_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff __rtw89_debug +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_btc_ntfy_wl_rfk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_core_fill_txdesc_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_core_napi_stop +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_core_query_rxdesc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_core_register +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_fw_h2c_dctl_sec_cam_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_mac_cfg_ctrl_path_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_mac_disable_bb_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_mac_resume_sch_tx_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_mac_set_err_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_mac_stop_sch_tx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_mac_write_xtal_si +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_phy_fill_txpwr_limit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_phy_get_txsc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_phy_read_rf_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_phy_read_txpwr_byrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_phy_tssi_ctrl_set_bandedge_cfg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_phy_write32_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_rfk_parser +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_rs_idx_max +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x28c8fc7b rtw89_pci_fill_txaddr_info_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x31fdb556 rtw89_pci_enable_intr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x3992d01e rtw89_pci_enable_intr_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x43136789 rtw89_pci_ltr_set_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x56fcf871 rtw89_pci_fill_txaddr_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x5db37398 rtw89_pci_config_intr_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_ch_dma_addr_set +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_ch_dma_addr_set_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_config_intr_mask_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_disable_intr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_disable_intr_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_ltr_set +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_recognize_intrs +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_recognize_intrs_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pm_ops +EXPORT_SYMBOL drivers/net/wireless/rsi/rsi_91x 0x33d15b01 rsi_config_wowlan +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x6dc67dfa wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wl1271_free_tx_id +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wl12xx_is_dummy_packet +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_tx_complete +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x2f4184d8 fdp_nci_probe +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x7fffffff fdp_nci_remove +EXPORT_SYMBOL drivers/nfc/microread/microread 0x7fffffff microread_probe +EXPORT_SYMBOL drivers/nfc/microread/microread 0x7fffffff microread_remove +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x6143302f nxp_nci_fw_recv_frame +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x7fffffff nxp_nci_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x7fffffff nxp_nci_remove +EXPORT_SYMBOL drivers/nfc/pn533/pn533 0x7fffffff pn533_recv_frame +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x48f0a845 pn544_hci_probe +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x7fffffff pn544_hci_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x74dc7281 s3fwrn5_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x774203fc s3fwrn5_phy_set_wake +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x7fffffff s3fwrn5_phy_get_mode +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x7fffffff s3fwrn5_phy_power_ctrl +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x7fffffff s3fwrn5_phy_set_mode +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x7fffffff s3fwrn5_recv_frame +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x7fffffff s3fwrn5_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x08ffa486 ndlc_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x1a5abf7d st_nci_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x3705ca8d st_nci_se_deinit +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x51144be8 ndlc_recv +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x66d4780e ndlc_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x7fffffff ndlc_close +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x7fffffff ndlc_open +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x7fffffff ndlc_send +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x7fffffff st_nci_se_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x7fffffff st_nci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x0faa0e0b st21nfca_apdu_reader_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x14ce7763 st21nfca_hci_probe +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x16c1157f st21nfca_im_send_dep_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x194f91e7 st21nfca_se_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x1cf5d6a6 st21nfca_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x41f302b9 st21nfca_hci_disable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x5060e6e9 st21nfca_tm_send_dep_res +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x5f6cca75 st21nfca_hci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x606193d8 st21nfca_hci_discover_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x66849505 st21nfca_hci_loopback_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x69a901cb st21nfca_im_send_atr_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x70488488 st21nfca_dep_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x77c7f612 st21nfca_hci_enable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7fffffff st21nfca_connectivity_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7fffffff st21nfca_dep_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7fffffff st21nfca_dep_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7fffffff st21nfca_hci_remove +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7fffffff st21nfca_se_init +EXPORT_SYMBOL drivers/ntb/ntb 0x2268675b ntbm_msi_free_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x478e84ce ntb_msi_clear_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x532bcc69 ntb_register_device +EXPORT_SYMBOL drivers/ntb/ntb 0x668f21c4 ntb_msi_peer_trigger +EXPORT_SYMBOL drivers/ntb/ntb 0x6840762c ntb_msi_peer_addr +EXPORT_SYMBOL drivers/ntb/ntb 0x68bebcc2 ntb_link_event +EXPORT_SYMBOL drivers/ntb/ntb 0x70841a3a ntb_default_peer_port_count +EXPORT_SYMBOL drivers/ntb/ntb 0x78603160 ntb_db_event +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff __ntb_register_client +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntb_clear_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntb_default_peer_port_idx +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntb_default_peer_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntb_default_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntb_msg_event +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntb_msi_init +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntb_msi_setup_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntb_set_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntb_unregister_client +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntb_unregister_device +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntbm_msi_request_threaded_irq +EXPORT_SYMBOL drivers/parport/parport 0x17fc789c parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x1d360765 parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x217b5eed parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x28460abc parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x34c49f31 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x3620b721 parport_register_dev_model +EXPORT_SYMBOL drivers/parport/parport 0x3c8fde7e parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x4f30d205 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x4f532424 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x57b15a64 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x60f400df parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x6e205b94 parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x6f8e72b2 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x7cc0125d parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff __parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_del_port +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_read +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_release +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_write +EXPORT_SYMBOL drivers/parport/parport_pc 0x352e4836 parport_pc_unregister_port +EXPORT_SYMBOL drivers/parport/parport_pc 0x7fffffff parport_pc_probe_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x07511c65 pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x1c780fab pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x2b95b664 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x33be74f5 pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x3ada6c3f pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x71648be9 pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7fffffff dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7fffffff pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7fffffff pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7fffffff pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7fffffff pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7fffffff pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x070924c5 pccard_static_ops +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x12bc3b2c cros_ec_register +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x415198b4 cros_ec_suspend +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x59a1c3ab cros_ec_unregister +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x7fffffff cros_ec_irq_thread +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x7fffffff cros_ec_resume +EXPORT_SYMBOL drivers/regulator/rohm-regulator 0x7fffffff rohm_regulator_set_dvs_levels +EXPORT_SYMBOL drivers/rpmsg/qcom_smd 0x3330a1c8 qcom_smd_unregister_edge +EXPORT_SYMBOL drivers/rpmsg/qcom_smd 0x5e781d9d qcom_smd_register_edge +EXPORT_SYMBOL drivers/rpmsg/rpmsg_char 0x6aa123d5 rpmsg_chrdev_eptdev_destroy +EXPORT_SYMBOL drivers/rpmsg/rpmsg_char 0x7a76cf90 rpmsg_chrdev_eptdev_create +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x09108022 rpmsg_trysend +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x160f3a83 rpmsg_trysendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x20e7bfd8 rpmsg_create_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x3678820e rpmsg_poll +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x399fb85b rpmsg_release_channel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x3f6e9fad rpmsg_register_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x4689193e rpmsg_get_mtu +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x4aa8acb1 __register_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x4b437d25 rpmsg_trysend_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x78401f8c rpmsg_send +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x78740860 rpmsg_sendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7885d534 rpmsg_register_device_override +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7fc8ef73 unregister_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7fffffff rpmsg_class +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7fffffff rpmsg_create_channel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7fffffff rpmsg_destroy_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7fffffff rpmsg_find_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7fffffff rpmsg_send_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7fffffff rpmsg_unregister_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_ns 0x7fffffff rpmsg_ns_register_device +EXPORT_SYMBOL drivers/rtc/rtc-ds1685 0x0cb34101 ds1685_rtc_poweroff +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x4a29ab38 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x53af3b0f scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x5c8b819b scsi_esp_template +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x760b170d scsi_esp_register +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x7fffffff scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x0cfc5d04 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x1571266b fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x1803403d fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7bfddffe fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7eed9f70 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x051a876c fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x062c1f47 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x11cc73d9 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x11f974e6 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x14fc6e8b fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x16374dd7 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2246e042 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x28c86010 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2a477086 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2e1602c0 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2e1f7c44 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3ddd8ad9 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3f877981 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x43c3d385 fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4971f162 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4b482772 fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4dc632cd fc_exch_update_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x50677973 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5128cb88 fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x58bf354a fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5ab41f0c fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5d3aa345 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x65e38223 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x66abddb2 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x69089618 fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x78d4b704 fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7f3407a7 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_disc_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_rport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_seq_assign +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_seq_release +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x18841978 sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4ec2e79a sas_resume_ha_no_sync +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x7fffffff sas_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x7fffffff sas_suspend_ha +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x48e7812b mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x7fffffff mraid_mm_adapter_app_handle +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x7fffffff mraid_mm_unregister_adp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x10d79cbe qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x48268482 qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x5127be6e qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x51505aa2 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x5c7dd373 qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x5cb461d6 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x61c26948 qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x75ca8630 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x7f6b31af qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x7fffffff qlt_abort_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x7fffffff qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x7fffffff qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/raid_class 0x73e9ee24 raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0x7fffffff raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x7fffffff raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0bd59eb3 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0d4b98ce fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1f93a951 fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x27d3984e fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2a927e0c fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x33f05e29 fc_find_rport_by_wwpn +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x506bbfde fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x62d52670 fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x63adf151 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x798afc3b fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7bdcb444 scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7fffffff fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7fffffff fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7fffffff fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7fffffff fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7fffffff fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7fffffff fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x097dcc3c sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0fcb7a85 sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x17ab7e41 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x21eef193 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x38fbb058 sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x42cf82c2 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x552cb7db sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x67dd2faa scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x76935e68 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7eea0d6e sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x0a4d91fc spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x727f4a67 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x7fffffff spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x7fffffff spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x7fffffff spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x59e4f8ed srp_rport_put +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x640343af srp_reconnect_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x7fffffff srp_rport_get +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x7fffffff srp_start_tl_fail_timers +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x7fffffff srp_timed_out +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x0597f357 cmdq_pkt_write_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x0d344c47 cmdq_pkt_finalize +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x1adc7386 cmdq_pkt_write_s_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x20cb37a2 cmdq_mbox_create +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x22fbccc1 cmdq_pkt_flush_async +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x29537aaa cmdq_pkt_destroy +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x29cfe8c0 cmdq_pkt_write_s +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x31b45f26 cmdq_pkt_poll +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x437bfc1a cmdq_pkt_assign +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x47ef9293 cmdq_pkt_poll_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x60db9531 cmdq_pkt_wfe +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x64a280fd cmdq_pkt_read_s +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7525fb04 cmdq_pkt_set_event +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7fffffff cmdq_dev_get_client_reg +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7fffffff cmdq_mbox_destroy +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7fffffff cmdq_pkt_clear_event +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7fffffff cmdq_pkt_create +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7fffffff cmdq_pkt_jump +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7fffffff cmdq_pkt_write +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7fffffff cmdq_pkt_write_s_mask_value +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7fffffff cmdq_pkt_write_s_value +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0x4031ce7d of_get_ocmem +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0x7fffffff ocmem_allocate +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0x7fffffff ocmem_free +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0x1c76ea4d pdr_restart_pd +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0x432975e6 pdr_add_lookup +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0x47b2ed49 pdr_handle_alloc +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0x7fffffff pdr_handle_release +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x16807e3a geni_icc_enable +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x17536351 geni_se_get_qup_hw_version +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x249e1e9b geni_icc_get +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x2d75a926 geni_se_resources_off +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x32a880a8 geni_se_config_packing +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x4282d372 geni_se_resources_on +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x551d710a geni_se_init +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x5962db54 geni_se_clk_tbl_get +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x61d20323 geni_se_tx_dma_prep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x67fef873 geni_se_clk_freq_match +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x68bb55f8 geni_se_tx_dma_unprep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7fffffff geni_icc_disable +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7fffffff geni_icc_set_bw +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7fffffff geni_icc_set_tag +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7fffffff geni_se_rx_dma_prep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7fffffff geni_se_rx_dma_unprep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7fffffff geni_se_select_mode +EXPORT_SYMBOL drivers/soc/qcom/qcom_aoss 0x2333aed6 qmp_put +EXPORT_SYMBOL drivers/soc/qcom/qcom_aoss 0x7fffffff qmp_get +EXPORT_SYMBOL drivers/soc/qcom/qcom_aoss 0x7fffffff qmp_send +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x038cb5e2 qmi_add_server +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x133168aa qmi_encode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x21ce5888 qmi_response_type_v01_ei +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x5e80c2cd qmi_add_lookup +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x6f2dc675 qmi_send_indication +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x7c976cc1 qmi_send_response +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x7fffffff qmi_decode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x7fffffff qmi_handle_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x7fffffff qmi_handle_release +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x7fffffff qmi_send_request +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x7fffffff qmi_txn_cancel +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x7fffffff qmi_txn_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x7fffffff qmi_txn_wait +EXPORT_SYMBOL drivers/soc/qcom/smd-rpm 0x46bb046c qcom_rpm_smd_write +EXPORT_SYMBOL drivers/soc/qcom/smem 0x5a710273 qcom_smem_get_free_space +EXPORT_SYMBOL drivers/soc/qcom/smem 0x63ef36e3 qcom_smem_alloc +EXPORT_SYMBOL drivers/soc/qcom/smem 0x694c56fb qcom_smem_virt_to_phys +EXPORT_SYMBOL drivers/soc/qcom/smem 0x7fffffff qcom_smem_get +EXPORT_SYMBOL drivers/soc/qcom/wcnss_ctrl 0x7fffffff qcom_wcnss_open_channel +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x05e824c9 sdw_stream_add_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x165dce96 sdw_master_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x16d1706b sdw_prepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1cb9cd92 sdw_bus_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1deee061 sdw_find_row_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x252c575d sdw_stream_remove_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x289d11a9 sdw_handle_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x37ec762b sdw_bus_prep_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x3b0a8582 sdw_startup_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x49f7d3c9 sdw_bus_exit_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4cde88bf sdw_disable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x60e31fbb sdw_find_col_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x653752f6 sdw_read_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x69e4e03a sdw_write_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6eed2ca4 sdw_bwrite_no_pm_unlocked +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6f95b16b sdw_shutdown_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x71891d59 sdw_deprepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_alloc_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_bread_no_pm_unlocked +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_bus_master_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_bus_master_delete +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_clear_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_cols +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_compare_devid +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_enable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_extract_slave_id +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_nread +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_nwrite +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_read +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_release_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_rows +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_slave_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_slave_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_stream_add_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_stream_remove_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_update +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_update_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_write +EXPORT_SYMBOL drivers/ssb/ssb 0x01922893 ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x13e0672a ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x29905718 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x324bf21c ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x42a90d7e ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x4800ecb1 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x764aac13 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x7846c331 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_set_devtypedata +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x0db15fe6 fbtft_write_gpio8_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x2ba5a169 fbtft_write_vmem16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x3625c5d4 fbtft_register_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x4e97558c fbtft_probe_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x570d0dfa fbtft_write_reg16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x607bad3f fbtft_write_reg16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x617e6046 fbtft_register_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x632d07a3 fbtft_framebuffer_release +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x694c1475 fbtft_write_spi_emulate_9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x6d961a37 fbtft_read_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x791ddc37 fbtft_write_vmem16_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_dbg_hex +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_framebuffer_alloc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_init_display +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_remove_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_unregister_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_unregister_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_write_buf_dc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_write_gpio16_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_write_gpio16_wr_latched +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_write_reg8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_write_reg8_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_write_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_write_vmem16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_write_vmem8_bus8 +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x40f84d0b gbaudio_register_module +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x7fffffff gbaudio_module_update +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x7fffffff gbaudio_unregister_module +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x0344b3e0 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x6ad55318 ade7854_probe +EXPORT_SYMBOL drivers/staging/media/av7110/sp8870 0x147f886c sp8870_attach +EXPORT_SYMBOL drivers/staging/nvec/nvec 0x16c907fc nvec_write_sync +EXPORT_SYMBOL drivers/staging/nvec/nvec 0x7fffffff nvec_write_async +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0b62e55b rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x129ed848 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x13c658c7 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x17c8b776 rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1c4d611c rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1dc80d5a rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22166084 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2ae1f980 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2bc72834 rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2fa62501 rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x365c9f1d rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3888e29a rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3ce8ac73 rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x42be7340 rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4ba836b5 rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5152b8d1 rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5489ae8d rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5e85d9a8 rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x64caed05 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x67464578 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x677df9ce rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x686c4b28 rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x74437aa0 rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff dot11d_channel_map +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x078272e6 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0d3d3df4 ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x10e188e0 ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x111c647e ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x12f28928 ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x20d0549f ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2370d6cd is_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x28204a45 ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x29463550 dot11d_get_max_tx_pwr_in_dbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2b3580a7 ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2e6709b9 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2f3b9aae ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x31fda124 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3981c065 SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x419bb9ce ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x45743a91 ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x47814ee9 rtl8192u_dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4a9c52f3 dot11d_scan_complete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x530c39d5 dot11d_reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x56bcf0f9 ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5bb60163 ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x65e13c19 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6d814bc3 ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6f969041 notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x75c00c18 dot11d_update_country_ie +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff to_legal_channel +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x03d05b52 iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x047dd77e iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x081f75ed iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0ef3f7d7 iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0fb0f0fd iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3185377e iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x35fa1231 iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3d0931de iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3eda32df __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x48c3ff8a iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4cae1d3a iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4fb866a4 iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x53283428 iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5edf02f5 iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x64ae2610 iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x696bfef1 iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6e9fc633 iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x75182016 iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7d187953 iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7ecd44ba iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsi_find_param_from_key +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_thread_check_cpumask +EXPORT_SYMBOL drivers/target/target_core_mod 0x01ac1c61 transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x01b54b0a transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x03bcb3b2 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x078a0d6e target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0c391659 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0x0cc9e3ab target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x121b28d5 passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x1d87492c core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x1e210e8e target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x234a1f45 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x2c4e504c target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x2c704472 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x2e6b01e5 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x39f8db89 transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3c88ea05 target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x3e3c2b97 core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x4349a25e target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x4410f332 __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x45b62c0f target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x51c90a9d spc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x55cd4e4f sbc_dif_verify +EXPORT_SYMBOL drivers/target/target_core_mod 0x59541d2b transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x5b7e85c7 target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x5c8a3466 sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x630d797d transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x6560b9c8 __target_init_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x65dfeede target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0x75d21f14 target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x75e1d66f target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0x7643c44a sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a6a08cc target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a890370 target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0x7cde28e7 target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x7e4372da spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_complete_cmd_with_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_stop_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_tpg_has_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x35fbe1d8 ufshcd_map_desc_id_to_length +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x4ef04076 ufshcd_runtime_resume +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x5ea4dfb1 ufshcd_system_suspend +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_alloc_host +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_get_local_unipro_ver +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_runtime_suspend +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_shutdown +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_system_resume +EXPORT_SYMBOL drivers/ufs/host/tc-dwc-g210 0x02c5d1eb tc_dwc_g210_config_20_bit +EXPORT_SYMBOL drivers/ufs/host/tc-dwc-g210 0x36287f1c tc_dwc_g210_config_40_bit +EXPORT_SYMBOL drivers/ufs/host/ufshcd-dwc 0x7fffffff ufshcd_dwc_dme_set_attrs +EXPORT_SYMBOL drivers/ufs/host/ufshcd-dwc 0x7fffffff ufshcd_dwc_link_startup_notify +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x38435464 usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/gadget/libcomposite 0x7fffffff usb_os_desc_prepare_interf_dir +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x5e656702 sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x07dd110a usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x1a353170 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x230128f2 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x32745050 usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x37d4be3f usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x6616375f usb_wwan_port_remove +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7e479265 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7fffffff usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7fffffff usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7fffffff usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7fffffff usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x07e854bf usb_serial_resume +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x7fffffff usb_serial_suspend +EXPORT_SYMBOL drivers/vdpa/vdpa 0x5895ae8a vdpa_set_status +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x39e83bb2 mtype_get_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x4a5ff84a mtype_get_type_group_id +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x5c9fef36 mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x60867e2f mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x6f72cf58 mdev_get_type_group_id +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x7fffffff mdev_register_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x7fffffff mdev_unregister_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x7fffffff mdev_unregister_driver +EXPORT_SYMBOL drivers/vhost/vhost 0x1f36854b vhost_chr_poll +EXPORT_SYMBOL drivers/vhost/vhost 0x6828b6bb vhost_chr_write_iter +EXPORT_SYMBOL drivers/vhost/vringh 0x102c8234 vringh_iov_push_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x140ceb39 vringh_getdesc_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x221d4624 vringh_abandon_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x261fea85 vringh_set_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x26c60a08 vringh_notify_disable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x2e91ca97 vringh_iov_pull_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x367ce26a vringh_iov_push_user +EXPORT_SYMBOL drivers/vhost/vringh 0x4164520a vringh_notify_enable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x5dfbeba4 vringh_need_notify_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x723ab668 vringh_init_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x79b927f7 vringh_complete_multi_user +EXPORT_SYMBOL drivers/vhost/vringh 0x79c86ceb vringh_need_notify_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x7bda5e6d vringh_iov_push_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x7c007927 vringh_complete_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x7c2e8833 vringh_iov_pull_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_abandon_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_abandon_user +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_complete_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_complete_user +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_getdesc_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_getdesc_user +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_init_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_init_user +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_iov_pull_user +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_kiov_advance +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_need_notify_user +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_notify_disable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_notify_disable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_notify_enable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_notify_enable_user +EXPORT_SYMBOL drivers/video/backlight/lcd 0x298845d0 lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0x46d7e06f lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x7fffffff devm_lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x7fffffff devm_lcd_device_unregister +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x07751bbe svga_tilefill +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x17f3f471 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x1be6dc30 svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x24de5d51 svga_tilecursor +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_check_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_compute_pll +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_get_caps +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_get_tilemax +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_match_format +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_set_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_settile +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_tileblit +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_tilecopy +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_wcrt_multi +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_wseq_multi +EXPORT_SYMBOL drivers/video/fbdev/core/syscopyarea 0x1ca69f14 sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0x344c4a3e sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0x25b20dbf sys_imageblit +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x534b6f18 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x7fffffff cyber2000fb_attach +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x7fffffff cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0x7fffffff mac_find_mode +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0x7fffffff mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x54fb6104 g450_mnp2f +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x673c0db7 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x7fffffff matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x29ec4402 matrox_G100 +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x7fffffff DAC1064_global_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x7fffffff DAC1064_global_restore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x7fffffff matrox_mystique +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_Ti3026 0x5fb5e202 matrox_millennium +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_accel 0x7fffffff matrox_cfbX_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x1000c264 matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x713a4074 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x7fffffff matroxfb_register_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x7fffffff matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x78d98f26 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x7c6c4798 matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x2a52773b matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x2e6dac80 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x5cace9ad matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x7fffffff matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x7fffffff matroxfb_read_pins +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x7fffffff matroxfb_var2my +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x01ea132e dispc_runtime_put +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x03005606 omapdss_get_version +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x0b769c6e dss_mgr_connect +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x2423d741 dispc_ovl_setup +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x2c353a5b dss_install_mgr_ops +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x2d77ad28 omapdss_output_set_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x3082a0b3 dss_feat_get_supported_color_modes +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x308d4dab dss_mgr_unregister_framedone_handler +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x3d36d54d dispc_mgr_set_lcd_config +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x3d6656f6 omap_dss_get_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x3e912096 dss_mgr_set_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x42912b0c dispc_clear_irqstatus +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x45d74ef6 dispc_mgr_enable +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x473b1743 omapdss_unregister_output +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x4bd67a8d dispc_write_irqenable +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x4c33081d omapdss_compat_uninit +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x4ed68e67 omapdss_find_output_from_display +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x4f86ed27 dss_mgr_start_update +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x54f6830a omapdss_get_default_display_name +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x5689afe7 dispc_ovl_enable +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x636b3461 omap_dss_get_num_overlays +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x660ad7bf omap_dss_put_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x66cdd3c9 dispc_mgr_setup +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x6b1a3090 omap_dss_ntsc_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x70e39dae dss_uninstall_mgr_ops +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x718fe3aa omap_dss_find_output +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x71a3227c omap_dss_get_overlay_manager +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7d6ca36a omapdss_find_mgr_from_display +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_free_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_mgr_get_framedone_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_mgr_get_sync_lost_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_mgr_get_vsync_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_mgr_go +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_mgr_go_busy +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_mgr_is_enabled +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_mgr_set_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_ovl_check +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_ovl_enabled +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_ovl_set_channel_out +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_read_irqenable +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_read_irqstatus +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_request_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_runtime_get +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dss_feat_get_num_mgrs +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dss_feat_get_num_ovls +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dss_mgr_disable +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dss_mgr_disconnect +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dss_mgr_enable +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dss_mgr_register_framedone_handler +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dss_mgr_set_lcd_config +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_dispc_register_isr +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_dispc_unregister_isr +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_dss_find_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_dss_find_output_by_port_node +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_dss_get_next_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_dss_get_num_overlay_managers +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_dss_get_output +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_dss_get_overlay +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_dss_pal_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_video_timings_to_videomode +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omapdss_compat_init +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omapdss_default_get_recommended_bpp +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omapdss_default_get_resolution +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omapdss_default_get_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omapdss_is_initialized +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omapdss_output_unset_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omapdss_register_display +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omapdss_register_output +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omapdss_unregister_display +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff videomode_to_omap_video_timings +EXPORT_SYMBOL drivers/video/fbdev/sis/sisfb 0x3037658e sis_malloc +EXPORT_SYMBOL drivers/video/fbdev/sis/sisfb 0x7fffffff sis_free +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0x7fffffff save_vga +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x12103588 is_virtio_dma_buf +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x7c9f9f37 virtio_dma_buf_get_uuid +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x7fffffff virtio_dma_buf_attach +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x7fffffff virtio_dma_buf_export +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x0dd92a35 w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x7fffffff w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x060ec9d3 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x7fffffff w1_ds2781_io +EXPORT_SYMBOL drivers/w1/wire 0x401854a4 w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0x5d7c381d w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x7fffffff w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0x7fffffff w1_unregister_family +EXPORT_SYMBOL fs/fscache/fscache 0x03c9cf95 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x1a0d09e7 fscache_n_write +EXPORT_SYMBOL fs/fscache/fscache 0x1b412660 __fscache_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x1e50252a fscache_end_cookie_access +EXPORT_SYMBOL fs/fscache/fscache 0x1f76d349 fscache_put_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x204e1793 __fscache_acquire_volume +EXPORT_SYMBOL fs/fscache/fscache 0x22932399 __fscache_resize_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x234a140d __traceiter_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x24a2b880 __fscache_use_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x25b5c149 fscache_resume_after_invalidation +EXPORT_SYMBOL fs/fscache/fscache 0x306805d3 __SCK__tp_func_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x36d1e3f6 fscache_withdraw_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x3c6851b4 __fscache_write_to_cache +EXPORT_SYMBOL fs/fscache/fscache 0x4404d2aa fscache_n_no_create_space +EXPORT_SYMBOL fs/fscache/fscache 0x4996bd29 fscache_n_updates +EXPORT_SYMBOL fs/fscache/fscache 0x4bd084ba __SCK__tp_func_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x5dd58438 fscache_withdraw_volume +EXPORT_SYMBOL fs/fscache/fscache 0x5e77a293 fscache_dirty_folio +EXPORT_SYMBOL fs/fscache/fscache 0x60c70f72 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x6b9e2156 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x6e416521 __SCK__tp_func_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x7250605c __tracepoint_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x79c17b43 fscache_addremove_sem +EXPORT_SYMBOL fs/fscache/fscache 0x7c4daa19 fscache_clearance_waiters +EXPORT_SYMBOL fs/fscache/fscache 0x7d37ed2b fscache_caching_failed +EXPORT_SYMBOL fs/fscache/fscache 0x7da7b14c fscache_end_volume_access +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __fscache_begin_read_operation +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __fscache_begin_write_operation +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __fscache_clear_page_bits +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __fscache_relinquish_volume +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __fscache_unuse_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __traceiter_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __traceiter_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __tracepoint_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __tracepoint_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_acquire_cache +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_cookie_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_get_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_n_culled +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_n_no_write_space +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_n_read +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_relinquish_cache +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_wait_for_operation +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_wq +EXPORT_SYMBOL fs/netfs/netfs 0x55930274 netfs_stats_show +EXPORT_SYMBOL fs/netfs/netfs 0x67a6fee6 netfs_subreq_terminated +EXPORT_SYMBOL fs/netfs/netfs 0x7fffffff netfs_read_folio +EXPORT_SYMBOL fs/netfs/netfs 0x7fffffff netfs_readahead +EXPORT_SYMBOL fs/netfs/netfs 0x7fffffff netfs_write_begin +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x06a4faaf qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x221188d5 qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x4cea9830 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x4ebaea62 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x6dd0b5a5 qtree_get_next_id +EXPORT_SYMBOL fs/quota/quota_tree 0x7fffffff qtree_entry_unused +EXPORT_SYMBOL lib/crc-itu-t 0x7fffffff crc_itu_t +EXPORT_SYMBOL lib/crc-itu-t 0x7fffffff crc_itu_t_table +EXPORT_SYMBOL lib/crc7 0x65aaf037 crc7_be_syndrome_table +EXPORT_SYMBOL lib/crc7 0x7fffffff crc7_be +EXPORT_SYMBOL lib/crypto/libarc4 0x2bb32ad1 arc4_setkey +EXPORT_SYMBOL lib/crypto/libarc4 0x7fffffff arc4_crypt +EXPORT_SYMBOL lib/crypto/libchacha 0x7fffffff chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x4c9268e1 xchacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x635b1a76 chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x64375eb4 chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x738d84bf xchacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x7fffffff chacha20poly1305_decrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x7fffffff chacha20poly1305_encrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x12627f15 curve25519_generic +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x4a5a8811 curve25519_null_point +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x7e6fdbfc curve25519_base_point +EXPORT_SYMBOL lib/crypto/libpoly1305 0x021f3700 poly1305_core_blocks +EXPORT_SYMBOL lib/crypto/libpoly1305 0x7fffffff poly1305_core_emit +EXPORT_SYMBOL lib/crypto/libpoly1305 0x7fffffff poly1305_core_setkey +EXPORT_SYMBOL lib/libcrc32c 0x7fffffff crc32c +EXPORT_SYMBOL lib/libcrc32c 0x7fffffff crc32c_impl +EXPORT_SYMBOL lib/lru_cache 0x03f599c7 lc_get_cumulative +EXPORT_SYMBOL lib/lru_cache 0x4feade4b lc_create +EXPORT_SYMBOL lib/lru_cache 0x56fc3ea0 lc_put +EXPORT_SYMBOL lib/lru_cache 0x619ed575 lc_try_get +EXPORT_SYMBOL lib/lru_cache 0x7b43a73a lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_committed +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_del +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_destroy +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_element_by_index +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_find +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_get +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_index_of +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_is_used +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_reset +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_set +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_try_lock +EXPORT_SYMBOL lib/lz4/lz4_compress 0x4f4d78c5 LZ4_compress_default +EXPORT_SYMBOL lib/lz4/lz4_compress 0x5bc92e85 LZ4_compress_destSize +EXPORT_SYMBOL lib/lz4/lz4_compress 0x6004858d LZ4_compress_fast +EXPORT_SYMBOL lib/lz4/lz4_compress 0x635ff76d LZ4_saveDict +EXPORT_SYMBOL lib/lz4/lz4_compress 0x749849d8 LZ4_loadDict +EXPORT_SYMBOL lib/lz4/lz4_compress 0x7fffffff LZ4_compress_fast_continue +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x4cc636f2 LZ4_loadDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x765fd165 LZ4_saveDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x7fffffff LZ4_compress_HC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x7fffffff LZ4_compress_HC_continue +EXPORT_SYMBOL lib/math/cordic 0x7e431c15 cordic_calc_iq +EXPORT_SYMBOL lib/objagg 0x0363233d objagg_obj_raw +EXPORT_SYMBOL lib/objagg 0x067fa594 objagg_create +EXPORT_SYMBOL lib/objagg 0x23865923 objagg_destroy +EXPORT_SYMBOL lib/objagg 0x24ca5ca9 objagg_obj_root_priv +EXPORT_SYMBOL lib/objagg 0x342aefe2 objagg_obj_delta_priv +EXPORT_SYMBOL lib/objagg 0x352633f4 objagg_hints_stats_get +EXPORT_SYMBOL lib/objagg 0x3c58e78f objagg_hints_put +EXPORT_SYMBOL lib/objagg 0x6691f29d objagg_obj_put +EXPORT_SYMBOL lib/objagg 0x7fffffff objagg_hints_get +EXPORT_SYMBOL lib/objagg 0x7fffffff objagg_obj_get +EXPORT_SYMBOL lib/objagg 0x7fffffff objagg_stats_get +EXPORT_SYMBOL lib/objagg 0x7fffffff objagg_stats_put +EXPORT_SYMBOL lib/parman 0x0f518717 parman_prio_init +EXPORT_SYMBOL lib/parman 0x7b03d378 parman_item_add +EXPORT_SYMBOL lib/parman 0x7fffffff parman_create +EXPORT_SYMBOL lib/parman 0x7fffffff parman_destroy +EXPORT_SYMBOL lib/parman 0x7fffffff parman_item_remove +EXPORT_SYMBOL lib/parman 0x7fffffff parman_prio_fini +EXPORT_SYMBOL lib/raid6/raid6_pq 0x0b2c64a3 raid6_vgfmul +EXPORT_SYMBOL lib/raid6/raid6_pq 0x17f54263 raid6_gfexp +EXPORT_SYMBOL lib/raid6/raid6_pq 0x59a2712d raid6_gfinv +EXPORT_SYMBOL lib/raid6/raid6_pq 0x7fffffff raid6_empty_zero_page +EXPORT_SYMBOL lib/raid6/raid6_pq 0x7fffffff raid6_gfexi +EXPORT_SYMBOL lib/raid6/raid6_pq 0x7fffffff raid6_gflog +EXPORT_SYMBOL lib/raid6/raid6_pq 0x7fffffff raid6_gfmul +EXPORT_SYMBOL net/6lowpan/6lowpan 0x0979ccc1 lowpan_register_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0x3db1101e lowpan_register_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0x7fffffff lowpan_nhc_add +EXPORT_SYMBOL net/6lowpan/6lowpan 0x7fffffff lowpan_nhc_del +EXPORT_SYMBOL net/6lowpan/6lowpan 0x7fffffff lowpan_unregister_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0x7fffffff lowpan_unregister_netdevice +EXPORT_SYMBOL net/802/p8022 0x446445be register_8022_client +EXPORT_SYMBOL net/802/p8022 0x7fffffff unregister_8022_client +EXPORT_SYMBOL net/802/psnap 0x29277067 register_snap_client +EXPORT_SYMBOL net/802/psnap 0x5d08397a unregister_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x0f8549b8 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x12d3dfcf p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x1d6c4553 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x21eb6174 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x22a05bbe p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0x234e9ffb p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x2aa119ad p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x2c91da2c p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x2d05a61c p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x32069312 p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x39a1cca8 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x39b7acd3 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0x3c369bd5 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x3d986cf9 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x3f8fd91c v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x4237a84b p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0x4b5f9d94 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x4e449951 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x52f2e0de p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x55c5096d p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x6cd85301 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x706e8cb3 p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x766a15bd p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x769023c7 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x78d3c174 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x7bb32619 p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_read_once +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff v9fs_register_trans +EXPORT_SYMBOL net/appletalk/appletalk 0x02fce69a alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0x2e164013 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0x55ac223d atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0x7fffffff aarp_send_ddp +EXPORT_SYMBOL net/atm/atm 0x19f12400 atm_charge +EXPORT_SYMBOL net/atm/atm 0x1ab30407 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x1f404c8e atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x38b74cda atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x3d66a45f atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x3e101de7 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x4443d399 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x60d53183 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x6b9a3871 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x7fffffff atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x7fffffff atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x7fffffff atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x7fffffff atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0x7fffffff deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x7fffffff sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0x7fffffff sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0x7fffffff vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x7fffffff vcc_process_recv_queue +EXPORT_SYMBOL net/ax25/ax25 0x14cecd59 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x4a9b1649 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x52c7bde0 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x5e2271dd ax25_ip_xmit +EXPORT_SYMBOL net/ax25/ax25 0x6016a496 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x7fffffff ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x7fffffff ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x7fffffff ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x7fffffff ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x7fffffff ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0x7fffffff ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0x7fffffff ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0x7fffffff null_ax25_address +EXPORT_SYMBOL net/bluetooth/bluetooth 0x00a02eb8 __hci_cmd_send +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0718b8b7 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0a1e860d hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0d722203 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1430809b bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x18b8ff09 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1f4b0386 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x214e4265 bt_warn +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2470278f hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2cbf2bd0 hci_cmd_sync_cancel +EXPORT_SYMBOL net/bluetooth/bluetooth 0x2eff48ad hci_alloc_dev_priv +EXPORT_SYMBOL net/bluetooth/bluetooth 0x37d9ba8c hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3e5b4def bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x416f1250 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x428306dc hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x42aa6c56 hci_release_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5983cc44 hci_set_fw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5a8a3f8f hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x686ab9c5 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6aa36754 __hci_cmd_sync_status +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6b94538b __hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6be8c6aa hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6d35c527 hci_mgmt_chan_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x779e39fd hci_reset_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x78082733 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x79985f1d l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7aad008b bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b5ce5c3 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b8c32f1 bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7d9519ae hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7e036918 l2cap_chan_close +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff __hci_cmd_sync_ev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff __hci_cmd_sync_sk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff __hci_cmd_sync_status_sk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_err_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_procfs_cleanup +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_procfs_init +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_sock_wait_ready +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_warn_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_cmd_sync_queue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_recv_diag +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_set_hw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff l2cap_conn_get +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff l2cap_conn_put +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff l2cap_register_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff l2cap_unregister_user +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x58c46417 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x719f5d63 ebt_register_template +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x7fffffff ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x7fffffff ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x7fffffff ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x7fffffff ebt_unregister_template +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x2a09f713 cfpkt_fromnative +EXPORT_SYMBOL net/caif/caif 0x329dbd06 cfpkt_info +EXPORT_SYMBOL net/caif/caif 0x38701a7c cfcnfg_del_phy_layer +EXPORT_SYMBOL net/caif/caif 0x3fa84493 cfpkt_add_head +EXPORT_SYMBOL net/caif/caif 0x40babbe0 cfpkt_extr_head +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x6ac37247 caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0x7fffffff caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x7fffffff caif_enroll_dev +EXPORT_SYMBOL net/caif/caif 0x7fffffff caif_free_client +EXPORT_SYMBOL net/caif/caif 0x7fffffff cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0x7fffffff cfcnfg_set_phy_state +EXPORT_SYMBOL net/caif/caif 0x7fffffff cfpkt_set_prio +EXPORT_SYMBOL net/caif/caif 0x7fffffff get_cfcnfg +EXPORT_SYMBOL net/can/can 0x4e75f685 can_send +EXPORT_SYMBOL net/can/can 0x67ca04fa can_proto_unregister +EXPORT_SYMBOL net/can/can 0x7c3de432 can_rx_register +EXPORT_SYMBOL net/can/can 0x7fffffff can_proto_register +EXPORT_SYMBOL net/can/can 0x7fffffff can_rx_unregister +EXPORT_SYMBOL net/can/can 0x7fffffff can_sock_destruct +EXPORT_SYMBOL net/ceph/libceph 0x0a3c60e0 ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0x0f77d42b ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0x14959c9a ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0x16cc3baf ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0x1c185941 ceph_osdc_call +EXPORT_SYMBOL net/ceph/libceph 0x1cba3f20 ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x20921aff ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x2195c694 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x225f0b73 ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0x229a2832 ceph_auth_handle_svc_reply_done +EXPORT_SYMBOL net/ceph/libceph 0x2397b9dc ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0x27dcd7c5 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x2c40431f ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0x2d53bd8c ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x3039e409 ceph_client_gid +EXPORT_SYMBOL net/ceph/libceph 0x317ac0ee ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0x3522979c ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x37976075 ceph_monc_blocklist_add +EXPORT_SYMBOL net/ceph/libceph 0x38e2b3f2 ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x38f2d94e ceph_file_to_extents +EXPORT_SYMBOL net/ceph/libceph 0x3bbb9ab6 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x3c8d7111 ceph_get_num_objects +EXPORT_SYMBOL net/ceph/libceph 0x3d0f2a7c ceph_oloc_destroy +EXPORT_SYMBOL net/ceph/libceph 0x3d2bcb22 ceph_auth_get_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x3e74696a ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0x41b81ee3 ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0x4440fd16 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x44d51d58 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x45044d94 ceph_find_or_create_string +EXPORT_SYMBOL net/ceph/libceph 0x453b6f4d __ceph_auth_get_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x48b37d7f osd_req_op_xattr_init +EXPORT_SYMBOL net/ceph/libceph 0x4a66f7b6 ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0x4affd6c2 ceph_parse_fsid +EXPORT_SYMBOL net/ceph/libceph 0x4d3898ac ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x4facb5f5 ceph_osdc_list_watchers +EXPORT_SYMBOL net/ceph/libceph 0x502e7cd9 osd_req_op_extent_init +EXPORT_SYMBOL net/ceph/libceph 0x50603ce3 ceph_decode_entity_addrvec +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x581537e3 ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0x592b405f osd_req_op_copy_from_init +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x5b7d43f5 osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0x5d82dd8a ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x602d1f38 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x6098ea75 ceph_auth_handle_bad_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x61625509 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x6367f8c8 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x6431869a ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0x644b6e50 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x665ed0f3 ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0x672158f2 ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x6e88546a osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x6edb8cb7 ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0x740704bb ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0x748a229e ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x76bebac5 ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0x76fa91ff osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0x7ca29c35 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0x7f774b18 ceph_cls_unlock +EXPORT_SYMBOL net/ceph/libceph 0x7fadb563 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x7fc30e0a ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_auth_handle_svc_reply_more +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_cls_lock_info +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_create_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_entity_type_name +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_iterate_extents +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_msg_put +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_oid_printf +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_osdc_put_request +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_osdc_watch +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_pg_to_acting_primary +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_release_string +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_extent_dup_last +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_init +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x441af6ab dccp_syn_ack_timeout +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x7fffffff dccp_req_err +EXPORT_SYMBOL net/hsr/hsr 0x32843a81 is_hsr_master +EXPORT_SYMBOL net/hsr/hsr 0x7fffffff hsr_get_version +EXPORT_SYMBOL net/ieee802154/ieee802154 0x069437e1 wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x1de77a96 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0x51f6658d wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7fffffff wpan_phy_new +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7fffffff wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7fffffff wpan_phy_unregister +EXPORT_SYMBOL net/ipv4/fou 0x19741ae4 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0x3c438677 __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0x48939f15 __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0x7fffffff fou_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0x7fffffff gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x27b5e5d1 ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x7fffffff ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x7fffffff ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x7fffffff ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x7fffffff arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x7fffffff arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x7fffffff arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x7fffffff arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x4af0c17c ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x68c6970c ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x77b250a1 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x7fffffff ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/tunnel4 0x0526be18 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/tunnel4 0x7fffffff xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/udp_tunnel 0x26e74344 udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x0a13fd90 ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x20de2216 ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x55e18845 ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x678eb007 ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x7fffffff ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x7fffffff ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x7fffffff ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x7fffffff ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x7fffffff ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x3b174b0e ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x4db13a0d ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x7f2b2796 ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x7fffffff ip6t_do_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x76d5ab75 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0x7fffffff xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x5e62918d xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x7fffffff xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/lapb/lapb 0x0f2f5394 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x1c12f4f6 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x4603a014 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x7fffffff lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x7fffffff lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x7fffffff lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x7fffffff lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x7fffffff lapb_unregister +EXPORT_SYMBOL net/llc/llc 0x2b711b5e llc_sap_close +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x476bdfda llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0x52d313b3 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x658817bc llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x6797c9b8 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x7fffffff llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0x7fffffff llc_mac_hdr_init +EXPORT_SYMBOL net/mac80211/mac80211 0x03448ce3 ieee80211_rx_ba_timer_expired +EXPORT_SYMBOL net/mac80211/mac80211 0x04f5b7a8 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0x063f5308 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x0670f7b4 ieee80211_mark_rx_ba_filtered_frames +EXPORT_SYMBOL net/mac80211/mac80211 0x067ecd34 ieee80211_next_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x07c9fca8 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x0b6945fc ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x0ebceb0f ieee80211_tx_rate_update +EXPORT_SYMBOL net/mac80211/mac80211 0x0ee66250 ieee80211_schedule_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x11bcd5f1 ieee80211_tx_prepare_skb +EXPORT_SYMBOL net/mac80211/mac80211 0x1798f939 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x183dcd3b ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0x19f37f0d ieee80211_update_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x1a622fa6 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x1a66fc17 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0x23e9e23a ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x23ede496 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x25243e15 ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x2f05a771 ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x327e9b40 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x33b0cb8e ieee80211_txq_schedule_start +EXPORT_SYMBOL net/mac80211/mac80211 0x3aa3b781 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x3b7752fa ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x3e87d831 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x3eef5dad ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x430f4b49 ieee80211_unreserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x450bcc3d ieee80211_alloc_hw_nm +EXPORT_SYMBOL net/mac80211/mac80211 0x4651bd59 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x4939d752 rate_control_set_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x4acf1f05 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x4af9af2e wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x4b19e4e3 __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x4c3710d2 ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0x4c8ec547 ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0x4da91dd5 ieee80211_beacon_set_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0x4e86e434 ieee80211_txq_get_depth +EXPORT_SYMBOL net/mac80211/mac80211 0x52a37a93 ieee80211_nan_func_terminated +EXPORT_SYMBOL net/mac80211/mac80211 0x5434e615 ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x58804227 ieee80211_return_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x5a505380 ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x5db61bff ieee80211_rx_list +EXPORT_SYMBOL net/mac80211/mac80211 0x5e31963f ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x61247a75 ieee80211_send_eosp_nullfunc +EXPORT_SYMBOL net/mac80211/mac80211 0x62db1145 ieee80211_sta_pspoll +EXPORT_SYMBOL net/mac80211/mac80211 0x63368cba ieee80211_tx_status_ext +EXPORT_SYMBOL net/mac80211/mac80211 0x642060dc ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0x6675c5c3 ieee80211_iter_keys_rcu +EXPORT_SYMBOL net/mac80211/mac80211 0x68430cbe ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x69fe3381 ieee80211_get_tx_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x6b2413bd ieee80211_disconnect +EXPORT_SYMBOL net/mac80211/mac80211 0x6b89f851 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x6f997cb8 ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x74515292 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x752ca411 ieee80211_radar_detected +EXPORT_SYMBOL net/mac80211/mac80211 0x7561d262 ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x77cbba0a ieee80211_channel_switch_disconnect +EXPORT_SYMBOL net/mac80211/mac80211 0x7bf7b1bf ieee80211_beacon_update_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0x7cbc037c ieee80211_sta_eosp +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_beacon_cntdwn_is_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_csa_finish +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_get_bssid +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_get_fils_discovery_tmpl +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_get_unsol_bcast_probe_resp_tmpl +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_manage_rx_ba_offl +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_nan_func_match +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_parse_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_report_wowlan_wakeup +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_reserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_rx_napi +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_sta_register_airtime +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_sta_uapsd_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_tdls_oper_request +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_tx_dequeue +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_txq_airtime_check +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_txq_may_transmit +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_wake_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x0ece2c60 ieee802154_free_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x1a928cb5 ieee802154_xmit_hw_error +EXPORT_SYMBOL net/mac802154/mac802154 0x496b79de ieee802154_rx_irqsafe +EXPORT_SYMBOL net/mac802154/mac802154 0x56b75189 ieee802154_wake_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x7fffffff ieee802154_alloc_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x7fffffff ieee802154_configure_durations +EXPORT_SYMBOL net/mac802154/mac802154 0x7fffffff ieee802154_register_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x7fffffff ieee802154_stop_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x7fffffff ieee802154_unregister_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x7fffffff ieee802154_xmit_complete +EXPORT_SYMBOL net/mac802154/mac802154 0x7fffffff ieee802154_xmit_error +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x0237c2bd register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x536cdefc register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x577eb4f1 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x616eb322 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x77646926 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fffffff ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fffffff ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fffffff ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fffffff ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fffffff ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fffffff ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fffffff ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fffffff ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fffffff ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fffffff register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fffffff unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x3b08a8f0 nf_ct_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x41e60cbd nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x7fffffff __nf_ct_ext_find +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0x7fffffff pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x037af016 nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nf_nat 0x34ea73af nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nf_nat 0x7fffffff __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0x7fffffff nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nft_fib 0x7fffffff nft_fib_policy +EXPORT_SYMBOL net/netfilter/x_tables 0x0268d80d xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x064c3767 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x0d7f5fcd xt_alloc_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x0fd86775 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x308c96b8 xt_find_table +EXPORT_SYMBOL net/netfilter/x_tables 0x3bf9d084 xt_check_table_hooks +EXPORT_SYMBOL net/netfilter/x_tables 0x48012e28 xt_check_proc_name +EXPORT_SYMBOL net/netfilter/x_tables 0x58c098bb xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x7adca1b7 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_counters_alloc +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_find_jump_offset +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_unregister_target +EXPORT_SYMBOL net/nfc/hci/hci 0x022e1c67 nfc_hci_reset_pipes_per_host +EXPORT_SYMBOL net/nfc/hci/hci 0x03c78e99 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x1c3d5aab nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x30d59e96 nfc_llc_start +EXPORT_SYMBOL net/nfc/hci/hci 0x3d1692bf nfc_hci_send_cmd_async +EXPORT_SYMBOL net/nfc/hci/hci 0x477e0006 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x496822a0 nfc_hci_reset_pipes +EXPORT_SYMBOL net/nfc/hci/hci 0x74748e68 nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x74fe3670 nfc_hci_result_to_errno +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_driver_failure +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_sak_to_protocol +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_target_discovered +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_llc_stop +EXPORT_SYMBOL net/nfc/nci/nci 0x0603edbf nci_core_conn_create +EXPORT_SYMBOL net/nfc/nci/nci 0x093e1243 nci_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x0c94d7cb nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0x1174dbe2 nci_nfcee_mode_set +EXPORT_SYMBOL net/nfc/nci/nci 0x13ab1562 nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x3a2eaf22 nci_set_config +EXPORT_SYMBOL net/nfc/nci/nci 0x3c0dba29 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x3fa35569 nci_core_reset +EXPORT_SYMBOL net/nfc/nci/nci 0x470ab881 nci_core_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x4becb609 nci_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0x56960b34 nci_core_conn_close +EXPORT_SYMBOL net/nfc/nci/nci 0x6908ea96 nci_hci_open_pipe +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_conn_max_data_pkt_payload_size +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_core_init +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_get_conn_info_by_dest_type_params +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_hci_clear_all_pipes +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_hci_dev_session_init +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_nfcee_discover +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_prop_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_req_complete +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_send_data +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_send_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_to_errno +EXPORT_SYMBOL net/nfc/nfc 0x0da584e5 nfc_driver_failure +EXPORT_SYMBOL net/nfc/nfc 0x1ce88064 nfc_get_local_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x2bef48c9 nfc_vendor_cmd_reply +EXPORT_SYMBOL net/nfc/nfc 0x2d611458 nfc_tm_activated +EXPORT_SYMBOL net/nfc/nfc 0x388cbdf6 nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x39f29e73 __nfc_alloc_vendor_cmd_reply_skb +EXPORT_SYMBOL net/nfc/nfc 0x42aed5d2 nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x4bc193c4 nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x6d6a00ec nfc_tm_deactivated +EXPORT_SYMBOL net/nfc/nfc 0x6fd90f23 nfc_send_to_raw_sock +EXPORT_SYMBOL net/nfc/nfc 0x797a3410 nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x7a12f058 nfc_se_transaction +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_add_se +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_find_se +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_fw_download_done +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_remove_se +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_se_connectivity +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x24523b8c nfc_digital_free_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x7fffffff nfc_digital_allocate_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x7fffffff nfc_digital_register_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x7fffffff nfc_digital_unregister_device +EXPORT_SYMBOL net/phonet/phonet 0x15d02f2d phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x22e89d49 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x413e364f phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x5913c213 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x5d125027 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x7fffffff phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x7fffffff pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x7fffffff pn_sock_unhash +EXPORT_SYMBOL net/rxrpc/rxrpc 0x07af7697 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x147a7e59 rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0x2184fd21 rxrpc_kernel_recv_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x2a0d2b5e rxrpc_kernel_check_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x51a939f5 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x6fb2ff40 rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7702b6ad rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7a980139 rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7fffffff key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7fffffff rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7fffffff rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7fffffff rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7fffffff rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7fffffff rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7fffffff rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7fffffff rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7fffffff rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7fffffff rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/sctp/sctp 0x394b7dd1 sctp_do_peeloff +EXPORT_SYMBOL net/smc/smc 0x3153cc92 __SCK__tp_func_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x3e8645e8 __traceiter_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0x5f700479 __traceiter_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0x6203d4d2 __tracepoint_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x736ba91d __tracepoint_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x7fffffff __SCK__tp_func_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x7fffffff __SCK__tp_func_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0x7fffffff __SCK__tp_func_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0x7fffffff __traceiter_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x7fffffff __traceiter_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x7fffffff __tracepoint_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0x7fffffff __tracepoint_smcr_link_down +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x00023d26 gss_mech_get +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x59f89fe0 gss_mech_put +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x7fffffff gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/sunrpc 0x2f9bc270 svc_pool_stats_open +EXPORT_SYMBOL net/sunrpc/sunrpc 0x7fffffff xdr_restrict_buflen +EXPORT_SYMBOL net/sunrpc/sunrpc 0x7fffffff xdr_truncate_encode +EXPORT_SYMBOL net/tipc/tipc 0x01dec879 tipc_dump_start +EXPORT_SYMBOL net/tipc/tipc 0x68bb8a35 tipc_nl_sk_walk +EXPORT_SYMBOL net/tipc/tipc 0x7fffffff tipc_dump_done +EXPORT_SYMBOL net/tipc/tipc 0x7fffffff tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tls/tls 0x7fffffff tls_get_record +EXPORT_SYMBOL net/wireless/cfg80211 0x002f09a5 __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x01dca7a4 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x01df5cab cfg80211_nan_func_terminated +EXPORT_SYMBOL net/wireless/cfg80211 0x0405ef51 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x0412dbbf cfg80211_any_usable_channels +EXPORT_SYMBOL net/wireless/cfg80211 0x06ca71fd cfg80211_chandef_create +EXPORT_SYMBOL net/wireless/cfg80211 0x0bc86be3 ieee80211_get_num_supported_channels +EXPORT_SYMBOL net/wireless/cfg80211 0x0cc95bc2 ieee80211_s1g_channel_width +EXPORT_SYMBOL net/wireless/cfg80211 0x10fb0350 cfg80211_chandef_dfs_required +EXPORT_SYMBOL net/wireless/cfg80211 0x11408745 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x149f3e3e cfg80211_conn_failed +EXPORT_SYMBOL net/wireless/cfg80211 0x178a719a cfg80211_rx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1c17b10a wiphy_new_nm +EXPORT_SYMBOL net/wireless/cfg80211 0x1ce2497f reg_query_regdb_wmm +EXPORT_SYMBOL net/wireless/cfg80211 0x23541f27 cfg80211_bss_flush +EXPORT_SYMBOL net/wireless/cfg80211 0x2375a606 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x25f38925 __cfg80211_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x294fbfc9 cfg80211_bss_color_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x29afca0f cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x2b5ac49d cfg80211_get_drvinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x2e3258d8 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x2e86b5ce ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x2fcd58f7 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x3557535d cfg80211_rx_assoc_resp +EXPORT_SYMBOL net/wireless/cfg80211 0x3643b80f ieee80211_chandef_to_operating_class +EXPORT_SYMBOL net/wireless/cfg80211 0x38cb594a ieee80211_ie_split_ric +EXPORT_SYMBOL net/wireless/cfg80211 0x3b910c63 cfg80211_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x3caa3e7d cfg80211_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x3dd36204 cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x4201a1d7 cfg80211_rx_unprot_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x429c0c31 ieee80211_bss_get_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x43afadee ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x45da376d cfg80211_report_obss_beacon_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x46ff300c ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x472ab09d cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x4c1b49de regulatory_set_wiphy_regd +EXPORT_SYMBOL net/wireless/cfg80211 0x4c5a55dd cfg80211_update_owe_info_event +EXPORT_SYMBOL net/wireless/cfg80211 0x4d888bc1 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x5584448a ieee80211_channel_to_freq_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x569abc64 cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x5a07c7f5 cfg80211_crit_proto_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x5b0611cc cfg80211_assoc_comeback +EXPORT_SYMBOL net/wireless/cfg80211 0x63790397 get_wiphy_regdom +EXPORT_SYMBOL net/wireless/cfg80211 0x66a18859 cfg80211_unregister_wdev +EXPORT_SYMBOL net/wireless/cfg80211 0x66c62684 cfg80211_external_auth_request +EXPORT_SYMBOL net/wireless/cfg80211 0x6809b703 cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x69c509a3 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x6aec0c0d cfg80211_tx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x6bedf402 ieee80211_freq_khz_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x6e4b47bd cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x72f16e37 wdev_chandef +EXPORT_SYMBOL net/wireless/cfg80211 0x7319c19b cfg80211_sta_opmode_change_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x7384f426 cfg80211_rx_control_port +EXPORT_SYMBOL net/wireless/cfg80211 0x77acd86b cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x78b7aa55 cfg80211_tx_mgmt_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x78dbbd7a cfg80211_iter_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x79b82a71 cfg80211_find_vendor_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x7acb86ed ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x7b10a7b4 cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3ac925 ieee80211_get_vht_max_nss +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff __cfg80211_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff __cfg80211_radar_event +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_abandon_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_background_cac_abort +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_bss_iter +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_cac_event +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_ch_switch_started_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_chandef_compatible +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_chandef_usable +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_chandef_valid +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_check_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_check_station_change +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_connect_done +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_control_port_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_cqm_txe_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_find_elem_match +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_free_nan_func +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_get_ies_channel_number +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_get_p2p_attr +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_get_station +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_iftype_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_inform_bss_data +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_inform_bss_frame_data +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_is_element_inherited +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_merge_profile +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_nan_match +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_port_authorized +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_reg_can_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_reg_can_beacon_relax +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_register_netdevice +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_report_wowlan_wakeup +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_rx_mgmt_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_sched_scan_stopped_locked +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_send_layer2_update +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_sinfo_alloc_tid_stats +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_stop_iface +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_tdls_oper_request +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff ieee80211_data_to_8023_exthdr +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff ieee80211_get_channel_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff ieee80211_mandatory_rates +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff ieee80211_operating_class_to_band +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff reg_initiator_name +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff regulatory_pre_cac_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff regulatory_set_wiphy_regd_sync +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff wiphy_read_of_freq_limits +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff wiphy_rfkill_set_hw_state_reason +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff wiphy_unregister +EXPORT_SYMBOL net/wireless/lib80211 0x2d2f344a lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x3ff4e1a7 lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x6fd28022 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x7fffffff lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x7fffffff lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x7fffffff lib80211_register_crypto_ops +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x7fffffff snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1a724fcc snd_seq_kernel_client_ctl +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3061c52d snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x400c2259 snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6bb71038 snd_seq_delete_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7ac2f329 snd_seq_expand_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7b8699eb snd_seq_event_port_detach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7fffffff snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7fffffff snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7fffffff snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7fffffff snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7fffffff snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x6ea09972 snd_midi_channel_alloc_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x7fffffff snd_midi_channel_free_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x7fffffff snd_midi_channel_set_clear +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x7fffffff snd_midi_process_event +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x1724fb56 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x17fcf66b snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x1cff6e14 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x2f853c43 snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x4d5f7f98 snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x56efbc6b snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x7fffffff snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x70cab927 snd_virmidi_new +EXPORT_SYMBOL sound/core/snd-hwdep 0x7fffffff snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x0a6e3817 snd_rawmidi_proceed +EXPORT_SYMBOL sound/core/snd-rawmidi 0x161b6258 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x187e3a90 snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1c9e6335 snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1dade328 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2bc5e743 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2ee2f2e2 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x32176208 snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x6da647c3 snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7559e76b snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff __snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff __snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-seq-device 0x091def1c snd_seq_autoload_exit +EXPORT_SYMBOL sound/core/snd-seq-device 0x0cf20995 snd_seq_device_new +EXPORT_SYMBOL sound/core/snd-seq-device 0x370a0736 snd_seq_autoload_init +EXPORT_SYMBOL sound/core/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x1d8e4f55 snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x7fffffff snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x0a9f0f06 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x0c1be6cb snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x2b0eba06 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x4615ffbf snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x6d3975d6 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7cda9c3e snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7fffffff snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7fffffff snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7fffffff snd_opl3_new +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x1864c256 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x200fd17f snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x226138b0 snd_vx_threaded_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x6784cfb1 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x6932d716 snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7185a4cb snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7fffffff snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7fffffff snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7fffffff snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7fffffff snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7fffffff snd_vx_suspend +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x20254e45 amdtp_syt_intervals +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2f02ca6a fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x32152664 amdtp_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x44279d7d amdtp_stream_set_parameters +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x45563efd fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x45cc0485 cmp_connection_release +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4e998768 fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x53ca18e8 amdtp_rate_table +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5812fab7 avc_general_get_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x63fedc54 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x786b4cef fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_stream_add_pcm_hw_constraints +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff avc_general_get_plug_info +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff avc_general_set_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff cmp_connection_check_used +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff cmp_connection_reserve +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff snd_fw_transaction +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x030156b5 snd_ak4113_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x3091e38c snd_ak4113_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x482644ec snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x7fffffff snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x7fffffff snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x7fffffff snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x7fffffff snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x7fffffff snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x7fffffff snd_ak4114_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x7fffffff snd_ak4114_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x1babe2f9 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x534a494f snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x7fffffff snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x7fffffff snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x5feadefa snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x7fffffff snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/snd-i2c 0x055aca09 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x2e04ee38 snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x3ec74a5d snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x7fffffff snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x7fffffff snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0x7fffffff snd_i2c_probeaddr +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x04d870e6 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0b76b6c3 snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1b9de7ac snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3a00f5cf snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x41d26d64 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x4b73c81b snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5e44ea64 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x65376c6d snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x74f07955 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7a86bce5 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7fffffff snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7fffffff snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7fffffff snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7fffffff snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7fffffff snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7fffffff snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7fffffff snd_ac97_write +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x06d28503 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x262b3c56 snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x7fffffff snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x033874c3 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x034fc5da oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x278abd86 oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x3db67b10 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x59b79eb1 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x6b1c8533 oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x721362d4 oxygen_update_dac_routing +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x75af2228 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7c6ecd70 oxygen_pci_pm +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_write_uart +EXPORT_SYMBOL sound/soc/amd/acp_audio_dma 0x7fffffff acp_bt_uart_enable +EXPORT_SYMBOL sound/soc/amd/snd-acp-config 0x51edf83d snd_amd_acp_find_config +EXPORT_SYMBOL sound/soc/amd/snd-acp-config 0x6227709e snd_soc_acpi_amd_sof_machines +EXPORT_SYMBOL sound/soc/codecs/snd-soc-adau1372 0x7fffffff adau1372_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-lpass-wsa-macro 0x326bc54d wsa_macro_set_spkr_mode +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x7fffffff pcm3060_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x7fffffff pcm3060_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-rt715 0x7fffffff hda_to_sdw +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x5f63c98a tlv320aic23_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x6139a630 tlv320aic23_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x5d0b5b4d aic32x4_regmap_config +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x746c132c aic32x4_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x7fffffff aic32x4_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic3x 0x7fffffff aic3x_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic3x 0x7fffffff aic3x_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x3695f8ca wcd_mbhc_start +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x3a195ca9 wcd_mbhc_get_impedance +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x789ebe56 wcd_mbhc_set_hph_type +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x7fffffff wcd_dt_parse_mbhc_data +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x7fffffff wcd_mbhc_deinit +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x7fffffff wcd_mbhc_get_hph_type +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x7fffffff wcd_mbhc_init +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x7fffffff wcd_mbhc_stop +EXPORT_SYMBOL sound/soc/mediatek/mt8192/snd-soc-mt8192-afe 0x329f5717 mt8192_afe_gpio_request +EXPORT_SYMBOL sound/soc/mediatek/mt8192/snd-soc-mt8192-afe 0x56261b29 mt8192_afe_gpio_init +EXPORT_SYMBOL sound/soc/qcom/qdsp6/q6afe 0x682649a6 q6afe_vote_lpass_core_hw +EXPORT_SYMBOL sound/soc/qcom/qdsp6/q6afe 0x7fffffff q6afe_unvote_lpass_core_hw +EXPORT_SYMBOL sound/soc/qcom/snd-soc-qcom-common 0x68514e74 qcom_snd_parse_of +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x270e5c8d __snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x7fffffff snd_usbmidi_disconnect +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x7fffffff snd_usbmidi_resume +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x7fffffff snd_usbmidi_suspend +EXPORT_SYMBOL vmlinux 0x00082237 nand_ecc_sw_hamming_calculate +EXPORT_SYMBOL vmlinux 0x00139ae9 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x001ee95a imx_ssi_fiq_base +EXPORT_SYMBOL vmlinux 0x0028bce6 mmc_retune_pause +EXPORT_SYMBOL vmlinux 0x003d3eb6 security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0x00482b72 mmc_retune_timer_stop +EXPORT_SYMBOL vmlinux 0x004cff0c elevator_alloc +EXPORT_SYMBOL vmlinux 0x004d8359 snd_ctl_notify +EXPORT_SYMBOL vmlinux 0x006b5c1a phy_print_status +EXPORT_SYMBOL vmlinux 0x006d5aec xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0x006dff34 snd_ctl_notify_one +EXPORT_SYMBOL vmlinux 0x007bb137 fb_blank +EXPORT_SYMBOL vmlinux 0x007f945c tcp_connect +EXPORT_SYMBOL vmlinux 0x00aac48c tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00cd8c6b __serio_register_driver +EXPORT_SYMBOL vmlinux 0x00d7e722 vme_lm_count +EXPORT_SYMBOL vmlinux 0x00ea2e0a inet_recvmsg +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x0101875a page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x01086901 security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0x010970f8 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x010b9c7b mdiobb_read +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x01156ae4 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x011a9e53 elf_hwcap2 +EXPORT_SYMBOL vmlinux 0x011b1be5 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x0129c4f8 par_io_data_set +EXPORT_SYMBOL vmlinux 0x012b40e0 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0x0149b7ca seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0x01505d85 imx_scu_call_rpc +EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device +EXPORT_SYMBOL vmlinux 0x017de3d5 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0x01812134 kern_unmount +EXPORT_SYMBOL vmlinux 0x01821529 fs_bio_set +EXPORT_SYMBOL vmlinux 0x01830813 kblockd_mod_delayed_work_on +EXPORT_SYMBOL vmlinux 0x018574a1 mb_cache_entry_delete +EXPORT_SYMBOL vmlinux 0x018893bf keyring_alloc +EXPORT_SYMBOL vmlinux 0x01a264db xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x01a8d54b gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x01acc80d ip_options_compile +EXPORT_SYMBOL vmlinux 0x01bf78b5 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x01d220c0 napi_consume_skb +EXPORT_SYMBOL vmlinux 0x01ddb677 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x01e7bf8e textsearch_register +EXPORT_SYMBOL vmlinux 0x01ee624f fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x020416f8 phy_trigger_machine +EXPORT_SYMBOL vmlinux 0x0209f3a7 secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x0218828c neigh_destroy +EXPORT_SYMBOL vmlinux 0x02196324 __aeabi_idiv +EXPORT_SYMBOL vmlinux 0x0230abae bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x02518813 phy_connect +EXPORT_SYMBOL vmlinux 0x025f20a4 param_get_int +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL vmlinux 0x028f6495 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x02a6e5df init_pseudo +EXPORT_SYMBOL vmlinux 0x02c065f8 ucc_set_qe_mux_mii_mng +EXPORT_SYMBOL vmlinux 0x02cad187 unload_nls +EXPORT_SYMBOL vmlinux 0x02df50b0 jiffies +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x02f1f27d bdi_unregister +EXPORT_SYMBOL vmlinux 0x02f36166 bio_split +EXPORT_SYMBOL vmlinux 0x02f79482 nla_reserve +EXPORT_SYMBOL vmlinux 0x03084c89 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x030b1007 register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x0334795d icst307_s2div +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x0344a7d5 __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0x0352db7b ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x0356cc3a inet_release +EXPORT_SYMBOL vmlinux 0x035a839d touchscreen_parse_properties +EXPORT_SYMBOL vmlinux 0x035aaf00 xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x0360d67f make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03815f35 ledtrig_disk_activity +EXPORT_SYMBOL vmlinux 0x03863f21 inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x03995aef single_release +EXPORT_SYMBOL vmlinux 0x03a791cd dentry_path_raw +EXPORT_SYMBOL vmlinux 0x03ad2376 page_get_link +EXPORT_SYMBOL vmlinux 0x03ad27e3 pci_write_config_byte +EXPORT_SYMBOL vmlinux 0x03b019f0 netpoll_setup +EXPORT_SYMBOL vmlinux 0x03b54284 key_revoke +EXPORT_SYMBOL vmlinux 0x03ba39b0 v7_flush_user_cache_all +EXPORT_SYMBOL vmlinux 0x03bc2fa2 kill_fasync +EXPORT_SYMBOL vmlinux 0x03cd48ce inc_node_state +EXPORT_SYMBOL vmlinux 0x03f59151 pci_enable_device +EXPORT_SYMBOL vmlinux 0x03fa521d genphy_c37_read_status +EXPORT_SYMBOL vmlinux 0x03fba701 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x03fbbd31 mipi_dsi_host_register +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x04038732 rawnand_dt_parse_gpio_cs +EXPORT_SYMBOL vmlinux 0x0412acb4 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x04160aae tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x0419591e __sg_free_table +EXPORT_SYMBOL vmlinux 0x042685d7 sg_nents_for_len +EXPORT_SYMBOL vmlinux 0x042d46ad unregister_md_personality +EXPORT_SYMBOL vmlinux 0x0430edb2 tcp_set_rcvlowat +EXPORT_SYMBOL vmlinux 0x04426f14 mem_section +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x044fb722 dev_base_lock +EXPORT_SYMBOL vmlinux 0x0462a0d0 snd_pcm_suspend_all +EXPORT_SYMBOL vmlinux 0x0475c498 param_set_invbool +EXPORT_SYMBOL vmlinux 0x0479aac1 seq_list_next_rcu +EXPORT_SYMBOL vmlinux 0x049186fb __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x049fcefd simple_transaction_get +EXPORT_SYMBOL vmlinux 0x04a13fb9 __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x04ae0988 sg_zero_buffer +EXPORT_SYMBOL vmlinux 0x04b64ea6 nand_read_page_raw +EXPORT_SYMBOL vmlinux 0x04bcc68b tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0x04c6b4c3 __crypto_memneq +EXPORT_SYMBOL vmlinux 0x04cda566 snd_interval_refine +EXPORT_SYMBOL vmlinux 0x04d405d8 qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0x04f0eb20 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x04fcb5dc snd_jack_new +EXPORT_SYMBOL vmlinux 0x04fd85b4 set_security_override +EXPORT_SYMBOL vmlinux 0x0508088e ucs2_strnlen +EXPORT_SYMBOL vmlinux 0x050877b9 dmi_first_match +EXPORT_SYMBOL vmlinux 0x0514a73d xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x051a412f mii_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x051e479c i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x05296842 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x054d7094 mipi_dsi_turn_on_peripheral +EXPORT_SYMBOL vmlinux 0x055aeff1 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x05612b1b gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x05795a67 vm_map_pages +EXPORT_SYMBOL vmlinux 0x058836ac mipi_dsi_generic_read +EXPORT_SYMBOL vmlinux 0x05890e73 fb_set_var +EXPORT_SYMBOL vmlinux 0x0596e716 tcp_poll +EXPORT_SYMBOL vmlinux 0x059e16e1 inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0x05ade6cb fwnode_irq_get_byname +EXPORT_SYMBOL vmlinux 0x05b0caa0 hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0x05b8cfda vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL vmlinux 0x05d8e783 fs_context_for_mount +EXPORT_SYMBOL vmlinux 0x05f70a9c inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0x060b26c2 mark_info_dirty +EXPORT_SYMBOL vmlinux 0x0614c6a5 blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x06381297 close_fd_get_file +EXPORT_SYMBOL vmlinux 0x06400e0c genphy_resume +EXPORT_SYMBOL vmlinux 0x0655cafe md_write_inc +EXPORT_SYMBOL vmlinux 0x0668b595 _kstrtoul +EXPORT_SYMBOL vmlinux 0x06909ef2 rproc_coredump_add_custom_segment +EXPORT_SYMBOL vmlinux 0x069140e5 md_error +EXPORT_SYMBOL vmlinux 0x069adfba nand_ecc_sw_hamming_correct +EXPORT_SYMBOL vmlinux 0x069f3f2b inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x06af6b4c of_n_size_cells +EXPORT_SYMBOL vmlinux 0x06b919de discard_new_inode +EXPORT_SYMBOL vmlinux 0x06ce0724 read_code +EXPORT_SYMBOL vmlinux 0x06cfda3b dquot_acquire +EXPORT_SYMBOL vmlinux 0x06d11488 __bitmap_equal +EXPORT_SYMBOL vmlinux 0x06da150d sock_bindtoindex +EXPORT_SYMBOL vmlinux 0x06e0a94c blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x06f93bb8 devm_arch_io_reserve_memtype_wc +EXPORT_SYMBOL vmlinux 0x06fcd4fc nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x07032b9d blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0x07098248 xz_dec_microlzma_alloc +EXPORT_SYMBOL vmlinux 0x071809e5 __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x0721a737 tcf_qevent_dump +EXPORT_SYMBOL vmlinux 0x072a8f8d __set_fiq_regs +EXPORT_SYMBOL vmlinux 0x072f901c vme_master_rmw +EXPORT_SYMBOL vmlinux 0x073017e3 snd_dma_buffer_mmap +EXPORT_SYMBOL vmlinux 0x0734c2e7 vfs_mkobj +EXPORT_SYMBOL vmlinux 0x0736f69c truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0x07413eef sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x0742a576 dma_resv_iter_next_unlocked +EXPORT_SYMBOL vmlinux 0x075d07d0 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x0762683b xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x07657fbd __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x0778fd13 jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x077af67c init_opal_dev +EXPORT_SYMBOL vmlinux 0x0796f8bd netpoll_print_options +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07b05102 input_open_device +EXPORT_SYMBOL vmlinux 0x07b3069b of_node_name_eq +EXPORT_SYMBOL vmlinux 0x07b86c34 path_is_mountpoint +EXPORT_SYMBOL vmlinux 0x07bbad0a jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d1480a blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x07d60fd9 sockfd_lookup +EXPORT_SYMBOL vmlinux 0x07de5b29 config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0x07e2c085 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x07e8a51d eth_type_trans +EXPORT_SYMBOL vmlinux 0x07eed04f mmc_gpiod_request_cd +EXPORT_SYMBOL vmlinux 0x0800473f __cond_resched +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x08119198 phy_ethtool_get_eee +EXPORT_SYMBOL vmlinux 0x08249512 iwe_stream_add_point +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x083c6040 of_pci_range_to_resource +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x08617165 __quota_error +EXPORT_SYMBOL vmlinux 0x086253a7 ioremap_cache +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x088429f5 skb_copy +EXPORT_SYMBOL vmlinux 0x088ea2b6 vfs_mknod +EXPORT_SYMBOL vmlinux 0x089245e2 ether_setup +EXPORT_SYMBOL vmlinux 0x08b28031 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x08b35139 page_pool_alloc_frag +EXPORT_SYMBOL vmlinux 0x08d66d4b _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x08e39398 cmd_db_read_addr +EXPORT_SYMBOL vmlinux 0x08f150b4 __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0x0910a46d tegra_dfll_runtime_resume +EXPORT_SYMBOL vmlinux 0x092f505d netif_carrier_on +EXPORT_SYMBOL vmlinux 0x095994ce iov_iter_kvec +EXPORT_SYMBOL vmlinux 0x095dd756 sound_class +EXPORT_SYMBOL vmlinux 0x0964b6c3 ll_rw_block +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x098c029b tc6393xb_lcd_mode +EXPORT_SYMBOL vmlinux 0x0994cbed kobject_get +EXPORT_SYMBOL vmlinux 0x099548c9 phy_drivers_register +EXPORT_SYMBOL vmlinux 0x0999c0cc mmc_register_driver +EXPORT_SYMBOL vmlinux 0x09b152e2 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0x09c97bf2 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09e52cb7 snd_pcm_set_ops +EXPORT_SYMBOL vmlinux 0x0a012f73 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0a0f8b61 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x0a1e8769 utf8_casefold_hash +EXPORT_SYMBOL vmlinux 0x0a2ebae9 xfrm_lookup +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a51e9cf devm_iounmap +EXPORT_SYMBOL vmlinux 0x0a60cd4d scm_fp_dup +EXPORT_SYMBOL vmlinux 0x0a8cac35 sync_blockdev_range +EXPORT_SYMBOL vmlinux 0x0a8f4cf8 inode_init_once +EXPORT_SYMBOL vmlinux 0x0a96b96a kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0x0a9b33a4 __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0x0a9c639c blk_stack_limits +EXPORT_SYMBOL vmlinux 0x0aa09d79 omap_vrfb_map_angle +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0ab4c4c1 __netif_napi_del +EXPORT_SYMBOL vmlinux 0x0ab80064 devm_mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x0ac81dfc of_get_cpu_node +EXPORT_SYMBOL vmlinux 0x0aca37f8 snd_seq_root +EXPORT_SYMBOL vmlinux 0x0acc8a95 genphy_read_status_fixed +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ae04e5e d_prune_aliases +EXPORT_SYMBOL vmlinux 0x0ae547ed xxh64_update +EXPORT_SYMBOL vmlinux 0x0aebd82c sock_create_lite +EXPORT_SYMBOL vmlinux 0x0af9d17b nand_scan_with_ids +EXPORT_SYMBOL vmlinux 0x0afa88cb flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0x0b15bafe nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0x0b1b939e kmemdup +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b27e1ea md_write_start +EXPORT_SYMBOL vmlinux 0x0b48677a __kfifo_init +EXPORT_SYMBOL vmlinux 0x0b48dd48 skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0x0b617520 dma_fence_default_wait +EXPORT_SYMBOL vmlinux 0x0b6c0cd9 kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0x0b709411 omap_vrfb_release_ctx +EXPORT_SYMBOL vmlinux 0x0b71ac83 msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b7828f0 mpage_read_folio +EXPORT_SYMBOL vmlinux 0x0b7e25ef kmap_high +EXPORT_SYMBOL vmlinux 0x0b872502 __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x0b8d6068 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x0b8dcf06 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x0b931ef4 pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0x0b9bc0ad tcf_idr_create +EXPORT_SYMBOL vmlinux 0x0ba0b938 vm_brk +EXPORT_SYMBOL vmlinux 0x0bb2098a netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0x0bb3c950 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bf0e4a2 __SCK__tp_func_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x0bf73cf5 seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0x0bf90eac netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0x0c010e6c d_obtain_alias +EXPORT_SYMBOL vmlinux 0x0c04ebcf napi_get_frags +EXPORT_SYMBOL vmlinux 0x0c1e2899 mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c4b8d7f snd_ctl_boolean_mono_info +EXPORT_SYMBOL vmlinux 0x0c62e420 netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0x0c67e3a2 __netif_schedule +EXPORT_SYMBOL vmlinux 0x0c7f82c4 inode_add_bytes +EXPORT_SYMBOL vmlinux 0x0c893b3d of_phy_get_and_connect +EXPORT_SYMBOL vmlinux 0x0c8d53f2 mmc_can_gpio_cd +EXPORT_SYMBOL vmlinux 0x0ca54fee _test_and_set_bit +EXPORT_SYMBOL vmlinux 0x0ca85b14 from_kprojid +EXPORT_SYMBOL vmlinux 0x0cad00c2 ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0x0cb11bc7 __SCK__tp_func_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x0cb5eae1 vme_free_consistent +EXPORT_SYMBOL vmlinux 0x0cb7359d fs_lookup_param +EXPORT_SYMBOL vmlinux 0x0cd01e9a netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0x0cdca063 of_clk_get +EXPORT_SYMBOL vmlinux 0x0cdce87c rfkill_set_hw_state_reason +EXPORT_SYMBOL vmlinux 0x0cdf8041 tcf_qevent_validate_change +EXPORT_SYMBOL vmlinux 0x0d06c617 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d17af16 blkdev_put +EXPORT_SYMBOL vmlinux 0x0d19256f dump_emit +EXPORT_SYMBOL vmlinux 0x0d1b54c1 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x0d207bac scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x0d2ca20f ucc_fast_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0x0d3f57a2 _find_next_bit_le +EXPORT_SYMBOL vmlinux 0x0d419fbb __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x0d471ad6 md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d61d967 pci_set_power_state +EXPORT_SYMBOL vmlinux 0x0d656da5 unix_attach_fds +EXPORT_SYMBOL vmlinux 0x0d688c4e unregister_nls +EXPORT_SYMBOL vmlinux 0x0d7e5dcc tty_register_driver +EXPORT_SYMBOL vmlinux 0x0d85b6bc lru_cache_add +EXPORT_SYMBOL vmlinux 0x0dab4408 input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0x0dba5e9a radix_tree_delete +EXPORT_SYMBOL vmlinux 0x0dc1a78c bin2hex +EXPORT_SYMBOL vmlinux 0x0dde4b85 tcp_mmap +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e1c8804 dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x0e3b517c file_modified +EXPORT_SYMBOL vmlinux 0x0e432911 udp_gro_complete +EXPORT_SYMBOL vmlinux 0x0e5d2250 mdio_device_reset +EXPORT_SYMBOL vmlinux 0x0e5da8f0 utf8_normalize +EXPORT_SYMBOL vmlinux 0x0e5e604c rproc_add_carveout +EXPORT_SYMBOL vmlinux 0x0e775f4b phy_start_cable_test +EXPORT_SYMBOL vmlinux 0x0e850737 blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0x0e85c277 submit_bio +EXPORT_SYMBOL vmlinux 0x0e886cad d_add +EXPORT_SYMBOL vmlinux 0x0e8f1224 ipmr_rule_default +EXPORT_SYMBOL vmlinux 0x0ea3c74e tasklet_kill +EXPORT_SYMBOL vmlinux 0x0ea59195 mdio_device_register +EXPORT_SYMBOL vmlinux 0x0ea593f6 hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0x0eb1c915 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x0eb3e86a tty_unthrottle +EXPORT_SYMBOL vmlinux 0x0eb6eb87 add_taint +EXPORT_SYMBOL vmlinux 0x0eb8c2ce __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0x0ec27c27 snd_card_free +EXPORT_SYMBOL vmlinux 0x0ec5babe vme_dma_free +EXPORT_SYMBOL vmlinux 0x0ec89fdf pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0x0eca3076 vme_dma_list_add +EXPORT_SYMBOL vmlinux 0x0ed7b7bb tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0x0eea0399 strscpy +EXPORT_SYMBOL vmlinux 0x0f06957f allocate_resource +EXPORT_SYMBOL vmlinux 0x0f07c38a netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f0c83c4 ptp_schedule_worker +EXPORT_SYMBOL vmlinux 0x0f16c4dd remove_proc_subtree +EXPORT_SYMBOL vmlinux 0x0f1ad8e2 seq_list_start_rcu +EXPORT_SYMBOL vmlinux 0x0f2ae8b8 phy_get_eee_err +EXPORT_SYMBOL vmlinux 0x0f4c55b0 device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0x0f4cddd5 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x0f655355 vfio_info_add_capability +EXPORT_SYMBOL vmlinux 0x0f6baf8a dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x0f76ea8f adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0f887b48 udp_seq_next +EXPORT_SYMBOL vmlinux 0x0fa0408e debugfs_create_automount +EXPORT_SYMBOL vmlinux 0x0fa3b3a2 snd_pcm_period_elapsed +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fc346ed flush_signals +EXPORT_SYMBOL vmlinux 0x0fd0f592 mutex_trylock +EXPORT_SYMBOL vmlinux 0x0fd30e77 __lock_buffer +EXPORT_SYMBOL vmlinux 0x0fd4ba6b vme_lm_request +EXPORT_SYMBOL vmlinux 0x0fd7929c of_match_device +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0fe55484 iunique +EXPORT_SYMBOL vmlinux 0x0ff178f6 __aeabi_idivmod +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x10018cb0 __pv_offset +EXPORT_SYMBOL vmlinux 0x1012cf82 input_inject_event +EXPORT_SYMBOL vmlinux 0x1012d9b2 trace_event_printf +EXPORT_SYMBOL vmlinux 0x1025009a cpm_muram_alloc_fixed +EXPORT_SYMBOL vmlinux 0x10267aab fget +EXPORT_SYMBOL vmlinux 0x102936ec qe_clock_source +EXPORT_SYMBOL vmlinux 0x10407fe2 bpf_empty_prog_array +EXPORT_SYMBOL vmlinux 0x104fcbac pldmfw_op_pci_match_record +EXPORT_SYMBOL vmlinux 0x1057605e blk_mq_destroy_queue +EXPORT_SYMBOL vmlinux 0x105a3b92 sg_miter_start +EXPORT_SYMBOL vmlinux 0x105fa5b7 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x106f13ab crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x10739f1e swake_up_locked +EXPORT_SYMBOL vmlinux 0x10753e14 seq_putc +EXPORT_SYMBOL vmlinux 0x10791035 input_copy_abs +EXPORT_SYMBOL vmlinux 0x1079ee67 get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x108715d8 complete_request_key +EXPORT_SYMBOL vmlinux 0x10a4f051 pci_pme_capable +EXPORT_SYMBOL vmlinux 0x10b2bc7d tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x10c5cfa1 security_d_instantiate +EXPORT_SYMBOL vmlinux 0x10c67b41 security_cred_getsecid +EXPORT_SYMBOL vmlinux 0x10d34f77 pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x10e18e1d unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x10e279af handle_edge_irq +EXPORT_SYMBOL vmlinux 0x10e4c24c mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0x10e6f74a free_contig_range +EXPORT_SYMBOL vmlinux 0x10ea3314 fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x112ff2dc scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x1130162f request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x114a7bb7 dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0x116fb18d max8925_reg_read +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x119b50e7 elf_check_arch +EXPORT_SYMBOL vmlinux 0x119e496e pci_read_config_dword +EXPORT_SYMBOL vmlinux 0x11b29497 vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0x11c33c0d napi_gro_frags +EXPORT_SYMBOL vmlinux 0x11ced5f7 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x11d01d9b fwnode_irq_get +EXPORT_SYMBOL vmlinux 0x11e0d494 i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11e41a2e unlock_rename +EXPORT_SYMBOL vmlinux 0x11e6fa30 flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0x11f0c301 arp_create +EXPORT_SYMBOL vmlinux 0x11f62efa xp_dma_map +EXPORT_SYMBOL vmlinux 0x11fa2a50 cpumask_any_distribute +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x1210fb32 _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x1218c1c5 would_dump +EXPORT_SYMBOL vmlinux 0x1222af7f security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0x12277afe skb_copy_header +EXPORT_SYMBOL vmlinux 0x12408786 fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x124bad4d kstrtobool +EXPORT_SYMBOL vmlinux 0x12505490 dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0x1262236b nobh_write_end +EXPORT_SYMBOL vmlinux 0x126adad1 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x1273e4c7 snd_dma_alloc_dir_pages +EXPORT_SYMBOL vmlinux 0x12757252 kernel_getsockname +EXPORT_SYMBOL vmlinux 0x128c976a netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0x1295504f __blk_mq_alloc_disk +EXPORT_SYMBOL vmlinux 0x12ae78b8 vfs_create +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +EXPORT_SYMBOL vmlinux 0x12d71bec cdev_device_add +EXPORT_SYMBOL vmlinux 0x12e5ef14 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x12f19edf __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0x12f23468 tso_count_descs +EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x130db649 get_acl +EXPORT_SYMBOL vmlinux 0x131cffcd rproc_add_subdev +EXPORT_SYMBOL vmlinux 0x131f88cd get_tree_bdev +EXPORT_SYMBOL vmlinux 0x13243d4b wl1251_get_platform_data +EXPORT_SYMBOL vmlinux 0x1324f13b xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x1352baba sk_error_report +EXPORT_SYMBOL vmlinux 0x1363e774 block_dirty_folio +EXPORT_SYMBOL vmlinux 0x136994da amba_driver_unregister +EXPORT_SYMBOL vmlinux 0x13756396 filemap_invalidate_lock_two +EXPORT_SYMBOL vmlinux 0x1378c6b7 __traceiter_kmalloc +EXPORT_SYMBOL vmlinux 0x137c154c set_capacity +EXPORT_SYMBOL vmlinux 0x137cc168 migrate_page +EXPORT_SYMBOL vmlinux 0x137ed415 sk_dst_check +EXPORT_SYMBOL vmlinux 0x138508ac snd_timer_instance_free +EXPORT_SYMBOL vmlinux 0x13951711 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x139b4143 clocksource_unregister +EXPORT_SYMBOL vmlinux 0x139cd164 snd_dma_free_pages +EXPORT_SYMBOL vmlinux 0x139cff4b dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x13cc2863 icmp6_send +EXPORT_SYMBOL vmlinux 0x13cead77 __SCK__tp_func_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13d928f5 __SCK__tp_func_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x13ddb2bd vfs_symlink +EXPORT_SYMBOL vmlinux 0x13ed30e8 mptcp_subflow_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x13fa6e55 neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x140cef8e cmxgcr_lock +EXPORT_SYMBOL vmlinux 0x1415b1b0 flow_rule_match_meta +EXPORT_SYMBOL vmlinux 0x142cd976 of_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x1431e271 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x1435887b ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x1435c5ce __SCK__tp_func_kmalloc_node +EXPORT_SYMBOL vmlinux 0x1442f18d netdev_info +EXPORT_SYMBOL vmlinux 0x1451e8e5 vm_zone_stat +EXPORT_SYMBOL vmlinux 0x14532a6a tcp_parse_options +EXPORT_SYMBOL vmlinux 0x1453b552 nand_ecc_sw_bch_get_engine +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x146060ec of_cpu_node_to_id +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x1471cf7a arm_coherent_dma_ops +EXPORT_SYMBOL vmlinux 0x1476d6fb _dev_printk +EXPORT_SYMBOL vmlinux 0x1479cf03 skb_find_text +EXPORT_SYMBOL vmlinux 0x149ef38f of_get_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x14a356fa xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0x14b281d1 param_get_long +EXPORT_SYMBOL vmlinux 0x14d09113 seq_escape_mem +EXPORT_SYMBOL vmlinux 0x14d3eb2f simple_empty +EXPORT_SYMBOL vmlinux 0x14d4a9c5 _change_bit +EXPORT_SYMBOL vmlinux 0x14ff535a blk_mq_start_request +EXPORT_SYMBOL vmlinux 0x1502506b xfrm4_protocol_deregister +EXPORT_SYMBOL vmlinux 0x150e2a4b set_page_dirty +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x1523620b genphy_loopback +EXPORT_SYMBOL vmlinux 0x15240b24 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x157aa268 folio_clear_dirty_for_io +EXPORT_SYMBOL vmlinux 0x15846945 folio_mark_dirty +EXPORT_SYMBOL vmlinux 0x1587e98a udp6_csum_init +EXPORT_SYMBOL vmlinux 0x158ba738 page_pool_update_nid +EXPORT_SYMBOL vmlinux 0x15aa1ce6 device_get_mac_address +EXPORT_SYMBOL vmlinux 0x15b97540 scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0x15bafe29 unregister_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x15be545f ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial +EXPORT_SYMBOL vmlinux 0x15e077d9 inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x15f24cc3 mipi_dsi_dcs_set_display_on +EXPORT_SYMBOL vmlinux 0x15f6d94e ip_fraglist_init +EXPORT_SYMBOL vmlinux 0x15f90688 slhc_init +EXPORT_SYMBOL vmlinux 0x161a2ea2 get_thermal_instance +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x1628e1f3 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x1631c090 pps_unregister_source +EXPORT_SYMBOL vmlinux 0x1632bc21 kvasprintf_const +EXPORT_SYMBOL vmlinux 0x16361716 ip6_xmit +EXPORT_SYMBOL vmlinux 0x163d2417 tegra_io_rail_power_off +EXPORT_SYMBOL vmlinux 0x16525cc4 xa_find +EXPORT_SYMBOL vmlinux 0x16597cd7 snd_timer_open +EXPORT_SYMBOL vmlinux 0x166dd90c eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0x167a8357 configfs_register_default_group +EXPORT_SYMBOL vmlinux 0x1681f3c3 register_sound_special_device +EXPORT_SYMBOL vmlinux 0x1684c2a5 mmc_wait_for_req_done +EXPORT_SYMBOL vmlinux 0x16a77473 copy_page_to_iter +EXPORT_SYMBOL vmlinux 0x16adbf67 down_killable +EXPORT_SYMBOL vmlinux 0x16b50bf8 tso_build_data +EXPORT_SYMBOL vmlinux 0x16b6f94d inet_addr_type_table +EXPORT_SYMBOL vmlinux 0x16e113dd phy_drivers_unregister +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x173a8132 input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0x174342fd tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x17492ae8 seq_vprintf +EXPORT_SYMBOL vmlinux 0x174e98a3 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x17511fca device_match_acpi_handle +EXPORT_SYMBOL vmlinux 0x177a36f8 max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x1786824b sock_set_mark +EXPORT_SYMBOL vmlinux 0x178c4894 qe_upload_firmware +EXPORT_SYMBOL vmlinux 0x178e783a twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x17bdb5c1 sock_edemux +EXPORT_SYMBOL vmlinux 0x17ccf098 reuseport_stop_listen_sock +EXPORT_SYMBOL vmlinux 0x17d891cc mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x17dc7f70 msm_pinctrl_dev_pm_ops +EXPORT_SYMBOL vmlinux 0x17e8f610 pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x17f24439 mipi_dsi_compression_mode +EXPORT_SYMBOL vmlinux 0x17f96cc5 of_mdio_find_device +EXPORT_SYMBOL vmlinux 0x17fa01ea nand_ecc_sw_hamming_init_ctx +EXPORT_SYMBOL vmlinux 0x1803e83d snd_pcm_new +EXPORT_SYMBOL vmlinux 0x181e1437 submit_bh +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x18470487 locks_copy_lock +EXPORT_SYMBOL vmlinux 0x185c32cf sgl_free +EXPORT_SYMBOL vmlinux 0x187884a8 cpm_muram_free +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1896be06 netif_device_attach +EXPORT_SYMBOL vmlinux 0x18ac2c39 generic_write_checks +EXPORT_SYMBOL vmlinux 0x18bd7772 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x18cdde39 rt_dst_alloc +EXPORT_SYMBOL vmlinux 0x18ce4710 proc_create_single_data +EXPORT_SYMBOL vmlinux 0x18d91748 snd_pcm_set_managed_buffer_all +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x18ed033d _dev_emerg +EXPORT_SYMBOL vmlinux 0x18f350b9 genphy_read_master_slave +EXPORT_SYMBOL vmlinux 0x18fe7ad6 pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0x190c1981 __dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x191560e7 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x191fd023 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x193a01e8 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x193ba8c4 block_write_end +EXPORT_SYMBOL vmlinux 0x1949dd76 pci_write_vpd +EXPORT_SYMBOL vmlinux 0x195c8596 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x195eded8 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x19646019 devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x19668813 of_get_parent +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19a36937 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x19b37001 mroute6_is_socket +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19e011ef dump_skip_to +EXPORT_SYMBOL vmlinux 0x19f18e39 arp_tbl +EXPORT_SYMBOL vmlinux 0x1a00ad18 snd_card_new +EXPORT_SYMBOL vmlinux 0x1a103706 __i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x1a183447 pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0x1a20c540 omap_vrfb_supported +EXPORT_SYMBOL vmlinux 0x1a21d691 __ksize +EXPORT_SYMBOL vmlinux 0x1a3e0fb8 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x1a4727df scsi_partsize +EXPORT_SYMBOL vmlinux 0x1a51c881 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0x1a5c3ba6 vfs_fadvise +EXPORT_SYMBOL vmlinux 0x1a65f4ad __arm_ioremap_pfn +EXPORT_SYMBOL vmlinux 0x1a7a8f70 input_allocate_device +EXPORT_SYMBOL vmlinux 0x1a7bc9ef xxh32 +EXPORT_SYMBOL vmlinux 0x1a812712 twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x1a8f07f9 vfs_statfs +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1a9d8fe7 sock_rfree +EXPORT_SYMBOL vmlinux 0x1aa86d18 rdma_dim +EXPORT_SYMBOL vmlinux 0x1ad1f2e7 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0x1ad7b7fe sock_no_mmap +EXPORT_SYMBOL vmlinux 0x1adea4cc bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x1ae5d6ef _dev_notice +EXPORT_SYMBOL vmlinux 0x1aea297d ps2_command +EXPORT_SYMBOL vmlinux 0x1af8932e security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0x1afebe0f tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b0e45f9 dquot_quota_off +EXPORT_SYMBOL vmlinux 0x1b15bd13 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x1b16b0ea cros_ec_cmd_xfer +EXPORT_SYMBOL vmlinux 0x1b20797d mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x1b259dd3 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x1b25f187 __xa_store +EXPORT_SYMBOL vmlinux 0x1b3e246d gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0x1b599ca9 console_start +EXPORT_SYMBOL vmlinux 0x1b5aaf75 sock_wake_async +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b6d1f56 module_layout +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1b79d55e blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0x1b965a53 kunmap_local_indexed +EXPORT_SYMBOL vmlinux 0x1b98e534 vme_master_request +EXPORT_SYMBOL vmlinux 0x1b9d26a4 snd_pcm_new_stream +EXPORT_SYMBOL vmlinux 0x1b9fe760 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x1bad01b5 vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0x1bb67920 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x1bcc4f74 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x1c0235ea ptp_find_pin +EXPORT_SYMBOL vmlinux 0x1c50738f dev_mc_init +EXPORT_SYMBOL vmlinux 0x1c5e3878 icst525_idx2s +EXPORT_SYMBOL vmlinux 0x1c6263af blk_queue_max_secure_erase_sectors +EXPORT_SYMBOL vmlinux 0x1c777c5c dma_fence_add_callback +EXPORT_SYMBOL vmlinux 0x1c791522 netif_schedule_queue +EXPORT_SYMBOL vmlinux 0x1c85a502 register_mii_timestamper +EXPORT_SYMBOL vmlinux 0x1c97502f flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0x1cb7ba92 netif_set_tso_max_size +EXPORT_SYMBOL vmlinux 0x1cbb7608 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x1cc11154 __SCK__tp_func_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x1cc640cc xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x1ccefca5 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x1cd7b2f0 netif_skb_features +EXPORT_SYMBOL vmlinux 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL vmlinux 0x1d028c58 fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0x1d11ae3a devfreq_add_governor +EXPORT_SYMBOL vmlinux 0x1d15fc65 __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x1d1902c9 rtnl_offload_xstats_notify +EXPORT_SYMBOL vmlinux 0x1d6479ee dma_free_attrs +EXPORT_SYMBOL vmlinux 0x1d6f24dd d_find_alias +EXPORT_SYMBOL vmlinux 0x1d7290cd __neigh_create +EXPORT_SYMBOL vmlinux 0x1d74af94 unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0x1d796395 hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0x1d81417f mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0x1d9cac7b mpage_readahead +EXPORT_SYMBOL vmlinux 0x1db2e24b ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x1db49ce8 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x1dc1e59f vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dc7079a xp_can_alloc +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1de59c22 qcom_scm_ice_invalidate_key +EXPORT_SYMBOL vmlinux 0x1de96eb3 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x1e0373fc imx_scu_irq_group_enable +EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x1e155f45 prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0x1e1e140e ns_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1e301bfb tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x1e5d77f7 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x1e6a2a2d vme_new_dma_list +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e79ac46 tso_build_hdr +EXPORT_SYMBOL vmlinux 0x1e96f43d __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ea78448 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x1ea7873b km_state_notify +EXPORT_SYMBOL vmlinux 0x1eb64646 div64_s64 +EXPORT_SYMBOL vmlinux 0x1ec4e6b3 phy_modify_paged_changed +EXPORT_SYMBOL vmlinux 0x1ec5f633 ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1edf91a2 file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0x1ee0b86e iget_failed +EXPORT_SYMBOL vmlinux 0x1ef41b7e qcom_scm_iommu_set_pt_format +EXPORT_SYMBOL vmlinux 0x1ef72008 show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0x1ef8a7ab netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0x1f24bbf2 _copy_from_iter +EXPORT_SYMBOL vmlinux 0x1f27bb30 dquot_file_open +EXPORT_SYMBOL vmlinux 0x1f36e700 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x1f495bbe inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0x1f4d5778 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x1f5338fd dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0x1f57a8a8 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x1f75c559 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x1f8d3d38 __folio_alloc +EXPORT_SYMBOL vmlinux 0x1f992bea devfreq_monitor_start +EXPORT_SYMBOL vmlinux 0x1fa10260 sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fc916cb register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fe4f0d8 get_mem_type +EXPORT_SYMBOL vmlinux 0x1fe8c00f init_special_inode +EXPORT_SYMBOL vmlinux 0x1ff3aa45 mipi_dsi_driver_register_full +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x200036a3 ip_tunnel_metadata_cnt +EXPORT_SYMBOL vmlinux 0x20070ea2 _atomic_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x200b2041 in6addr_any +EXPORT_SYMBOL vmlinux 0x201053bc security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x20280c39 dma_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x203929ee netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0x2042b8a4 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x2072b8b4 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x2084d5a3 netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0x20863404 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x20a744cf hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20b4c7ba generic_fadvise +EXPORT_SYMBOL vmlinux 0x20b6547d generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0x20bc37da genphy_c37_config_aneg +EXPORT_SYMBOL vmlinux 0x20bd2398 fsync_bdev +EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x20f882a7 __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0x20f8ef7b nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0x21021ad2 napi_disable +EXPORT_SYMBOL vmlinux 0x210ef117 devm_release_resource +EXPORT_SYMBOL vmlinux 0x2110e0eb nand_read_oob_std +EXPORT_SYMBOL vmlinux 0x21110dbf mmioset +EXPORT_SYMBOL vmlinux 0x211331fa __divsi3 +EXPORT_SYMBOL vmlinux 0x211b047d blk_set_runtime_active +EXPORT_SYMBOL vmlinux 0x211b63ab __put_user_ns +EXPORT_SYMBOL vmlinux 0x211ee9bc qcom_scm_assign_mem +EXPORT_SYMBOL vmlinux 0x21327588 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x213e4965 ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x215667b2 zstd_get_frame_header +EXPORT_SYMBOL vmlinux 0x216d759a mmiocpy +EXPORT_SYMBOL vmlinux 0x217f83ca udplite_prot +EXPORT_SYMBOL vmlinux 0x21879cf1 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x21910e21 remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0x2193ae9a bio_free_pages +EXPORT_SYMBOL vmlinux 0x219c13e7 tegra_ivc_write_get_next_frame +EXPORT_SYMBOL vmlinux 0x219ffe31 vme_unregister_driver +EXPORT_SYMBOL vmlinux 0x21b5ee5b mmc_gpio_get_ro +EXPORT_SYMBOL vmlinux 0x21bdb523 errseq_check_and_advance +EXPORT_SYMBOL vmlinux 0x21be37e1 hdmi_avi_infoframe_check +EXPORT_SYMBOL vmlinux 0x21c04ae7 pci_match_id +EXPORT_SYMBOL vmlinux 0x21d53512 blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0x21d6ef55 netdev_change_features +EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x21f7eb8f claim_fiq +EXPORT_SYMBOL vmlinux 0x220c7021 tegra_io_pad_power_disable +EXPORT_SYMBOL vmlinux 0x2220bd48 hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x223006a4 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x2231b5f2 dma_map_resource +EXPORT_SYMBOL vmlinux 0x2258d746 netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x226082bc vfs_parse_fs_param_source +EXPORT_SYMBOL vmlinux 0x226ce4af snd_timer_global_free +EXPORT_SYMBOL vmlinux 0x2273db6d padata_alloc_shell +EXPORT_SYMBOL vmlinux 0x2277d558 mx53_revision +EXPORT_SYMBOL vmlinux 0x227a643d get_tz_trend +EXPORT_SYMBOL vmlinux 0x227c9e29 mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0x227d3294 snd_unregister_oss_device +EXPORT_SYMBOL vmlinux 0x227d92da nand_ecc_init_ctx +EXPORT_SYMBOL vmlinux 0x227e2164 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22df283a eth_header_cache +EXPORT_SYMBOL vmlinux 0x22e36666 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x22e41a4d genphy_config_eee_advert +EXPORT_SYMBOL vmlinux 0x22ea69bb inc_node_page_state +EXPORT_SYMBOL vmlinux 0x231d199d sock_setsockopt +EXPORT_SYMBOL vmlinux 0x232b90e3 tc_setup_offload_action +EXPORT_SYMBOL vmlinux 0x232b9fc3 simple_link +EXPORT_SYMBOL vmlinux 0x23304b28 inode_insert5 +EXPORT_SYMBOL vmlinux 0x235dcc18 phy_ethtool_ksettings_get +EXPORT_SYMBOL vmlinux 0x23619cff jiffies_64 +EXPORT_SYMBOL vmlinux 0x2364c85a tasklet_init +EXPORT_SYMBOL vmlinux 0x236bd5eb pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0x236f0cd8 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x238b099f mipi_dsi_packet_format_is_short +EXPORT_SYMBOL vmlinux 0x238b1d20 cros_ec_get_next_event +EXPORT_SYMBOL vmlinux 0x238ed7cd kobject_add +EXPORT_SYMBOL vmlinux 0x23912267 kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c0a857 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x23f1d7a6 page_pool_ethtool_stats_get_count +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x24030cf9 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x2405da44 xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0x2416cc95 iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x24307f91 udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x24324113 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x2458343e ppp_register_channel +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x245c7ab8 param_get_short +EXPORT_SYMBOL vmlinux 0x245d58c6 dev_add_pack +EXPORT_SYMBOL vmlinux 0x246790df idr_for_each +EXPORT_SYMBOL vmlinux 0x246ea205 blake2s_update +EXPORT_SYMBOL vmlinux 0x246ee88e unpin_user_pages +EXPORT_SYMBOL vmlinux 0x2475125c snd_ctl_find_id +EXPORT_SYMBOL vmlinux 0x247a285c blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x24992356 of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x249a6b61 scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x249d75e0 send_sig +EXPORT_SYMBOL vmlinux 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL vmlinux 0x24b3f994 filemap_check_errors +EXPORT_SYMBOL vmlinux 0x24b664ad d_delete +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x24dd755e mmc_retune_unpause +EXPORT_SYMBOL vmlinux 0x24f50211 snd_pcm_stop +EXPORT_SYMBOL vmlinux 0x24f78d17 __scm_destroy +EXPORT_SYMBOL vmlinux 0x250113b4 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x250a0e7a tty_write_room +EXPORT_SYMBOL vmlinux 0x2520d9cc pci_read_config_byte +EXPORT_SYMBOL vmlinux 0x252332f1 __SCK__tp_func_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x253034eb devm_arch_phys_wc_add +EXPORT_SYMBOL vmlinux 0x2535457a vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0x253d5ff0 security_unix_may_send +EXPORT_SYMBOL vmlinux 0x2540f444 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x2568ac17 pci_write_config_word +EXPORT_SYMBOL vmlinux 0x2572b7ba of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0x257ae45c dma_fence_free +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x2587e755 __free_pages +EXPORT_SYMBOL vmlinux 0x258a8178 i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x258bc45e netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x25955a41 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x25b10aa8 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x25c8b716 default_llseek +EXPORT_SYMBOL vmlinux 0x25cd3869 devm_clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x25e58a09 hdmi_avi_infoframe_init +EXPORT_SYMBOL vmlinux 0x25e9d4bd resource_list_free +EXPORT_SYMBOL vmlinux 0x262a08a7 mdiobus_register_device +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x2644d1ba i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x26628c77 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x266ef900 rproc_remove_subdev +EXPORT_SYMBOL vmlinux 0x2671eb48 __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0x268636a9 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x26897b52 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x26899dfd mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0x268b4924 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x2690e6c1 _find_next_zero_bit_le +EXPORT_SYMBOL vmlinux 0x26994f08 ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0x26a76203 eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0x26bb950b __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0x26dc598a pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x26df5259 ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0x26e0031e mmc_sw_reset +EXPORT_SYMBOL vmlinux 0x26f6257d security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0x26fa58f5 skb_ext_add +EXPORT_SYMBOL vmlinux 0x2708b149 register_netdevice +EXPORT_SYMBOL vmlinux 0x270a77c9 vme_unregister_bridge +EXPORT_SYMBOL vmlinux 0x270ac400 sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0x270cf88f dump_stack_lvl +EXPORT_SYMBOL vmlinux 0x27194197 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x27302e0b scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x2730d771 mipi_dsi_generic_write +EXPORT_SYMBOL vmlinux 0x2733eaf7 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0x273dee87 dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0x27479d14 param_free_charp +EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check +EXPORT_SYMBOL vmlinux 0x276850c1 mmc_command_done +EXPORT_SYMBOL vmlinux 0x276a3a44 irq_stat +EXPORT_SYMBOL vmlinux 0x27724971 uart_resume_port +EXPORT_SYMBOL vmlinux 0x27756bc8 scsi_sanitize_inquiry_string +EXPORT_SYMBOL vmlinux 0x277d1e73 input_register_handle +EXPORT_SYMBOL vmlinux 0x2782b393 xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x279b1f34 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27de2fc6 nand_ecc_prepare_io_req +EXPORT_SYMBOL vmlinux 0x27e7f7ff jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x28108e35 current_in_userns +EXPORT_SYMBOL vmlinux 0x28118cb6 __get_user_1 +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x2824f5b2 snd_ctl_remove_id +EXPORT_SYMBOL vmlinux 0x2828d24d of_iomap +EXPORT_SYMBOL vmlinux 0x282b8db3 phy_request_interrupt +EXPORT_SYMBOL vmlinux 0x283d9977 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x28415c55 dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0x284a1486 snd_info_create_card_entry +EXPORT_SYMBOL vmlinux 0x287329ef set_cached_acl +EXPORT_SYMBOL vmlinux 0x2873438a zstd_init_dctx +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x2878e15a idr_destroy +EXPORT_SYMBOL vmlinux 0x2881d7be fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x288f9f2e backlight_device_set_brightness +EXPORT_SYMBOL vmlinux 0x289c775d __find_get_block +EXPORT_SYMBOL vmlinux 0x28d2a7f1 dev_change_flags +EXPORT_SYMBOL vmlinux 0x28f8a7a4 proc_create_seq_private +EXPORT_SYMBOL vmlinux 0x28f94604 __ubsan_handle_builtin_unreachable +EXPORT_SYMBOL vmlinux 0x29029a9b scsi_print_result +EXPORT_SYMBOL vmlinux 0x291b607e vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x293a2e2b xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x293c6d16 d_alloc_name +EXPORT_SYMBOL vmlinux 0x293ee3a8 netdev_notice +EXPORT_SYMBOL vmlinux 0x2948ebe7 dm_put_device +EXPORT_SYMBOL vmlinux 0x295d50ac xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x29604158 napi_busy_loop +EXPORT_SYMBOL vmlinux 0x297a3eb4 vm_mmap +EXPORT_SYMBOL vmlinux 0x297d3423 sk_common_release +EXPORT_SYMBOL vmlinux 0x298d332b ps2_begin_command +EXPORT_SYMBOL vmlinux 0x299a3239 rproc_of_resm_mem_entry_init +EXPORT_SYMBOL vmlinux 0x29a47fe9 dma_fence_wait_any_timeout +EXPORT_SYMBOL vmlinux 0x29a8c113 genphy_soft_reset +EXPORT_SYMBOL vmlinux 0x29bb61d2 of_graph_get_next_endpoint +EXPORT_SYMBOL vmlinux 0x29be51a6 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x29c44efd unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0x29c862b6 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x29ca5756 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x29d3fcca tty_kref_put +EXPORT_SYMBOL vmlinux 0x29d9f26e cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x29df6135 phy_ethtool_get_sset_count +EXPORT_SYMBOL vmlinux 0x29e200fc netdev_reset_tc +EXPORT_SYMBOL vmlinux 0x29e7a880 phy_loopback +EXPORT_SYMBOL vmlinux 0x29fa1cbe page_pool_get_stats +EXPORT_SYMBOL vmlinux 0x29fce0ee snd_pcm_hw_param_first +EXPORT_SYMBOL vmlinux 0x2a09a34d __serio_register_port +EXPORT_SYMBOL vmlinux 0x2a0fc1d7 nf_hook_slow +EXPORT_SYMBOL vmlinux 0x2a156ee9 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x2a1a9a1c genphy_setup_forced +EXPORT_SYMBOL vmlinux 0x2a1cb76b tegra_ivc_init +EXPORT_SYMBOL vmlinux 0x2a1e048d nonseekable_open +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a3aa678 _test_and_clear_bit +EXPORT_SYMBOL vmlinux 0x2a3bf44c mdiobus_get_phy +EXPORT_SYMBOL vmlinux 0x2a451b1f ppp_input +EXPORT_SYMBOL vmlinux 0x2a59b41d tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0x2a5b5568 uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x2a6c07a1 __traceiter_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0x2a7ef249 console_stop +EXPORT_SYMBOL vmlinux 0x2a91ab45 vfs_llseek +EXPORT_SYMBOL vmlinux 0x2a928918 slhc_free +EXPORT_SYMBOL vmlinux 0x2a9a3905 vme_master_get +EXPORT_SYMBOL vmlinux 0x2a9e9102 netif_device_detach +EXPORT_SYMBOL vmlinux 0x2a9faeb4 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2ab4a8f3 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x2ac3b9f2 mmc_run_bkops +EXPORT_SYMBOL vmlinux 0x2ae304dc dma_fence_array_next +EXPORT_SYMBOL vmlinux 0x2afd4aba dma_unmap_page_attrs +EXPORT_SYMBOL vmlinux 0x2b145ff0 __i2c_transfer +EXPORT_SYMBOL vmlinux 0x2b3c796d textsearch_unregister +EXPORT_SYMBOL vmlinux 0x2b478bb6 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x2b4da798 md_register_thread +EXPORT_SYMBOL vmlinux 0x2b58539a locks_delete_block +EXPORT_SYMBOL vmlinux 0x2b58724c devm_of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b68f61d pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x2b7dd098 kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0x2b8482cc dst_release_immediate +EXPORT_SYMBOL vmlinux 0x2b84b1c8 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x2b8e089e vm_map_ram +EXPORT_SYMBOL vmlinux 0x2b9143d0 flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0x2b99722a __cpu_active_mask +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2bc31fa1 xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0x2bc8ece3 tegra_ivc_read_get_next_frame +EXPORT_SYMBOL vmlinux 0x2bdd19cd pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x2bdfc5a7 ip_do_fragment +EXPORT_SYMBOL vmlinux 0x2be9fe68 dev_set_threaded +EXPORT_SYMBOL vmlinux 0x2bff5887 xa_destroy +EXPORT_SYMBOL vmlinux 0x2c19ce71 mmc_can_discard +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c3206a7 dma_pool_create +EXPORT_SYMBOL vmlinux 0x2c329e54 tegra_powergate_sequence_power_up +EXPORT_SYMBOL vmlinux 0x2c42a97b _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x2c5c5d1f phy_attach +EXPORT_SYMBOL vmlinux 0x2c5ceedd fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0x2c5de08a nand_ecc_get_sw_engine +EXPORT_SYMBOL vmlinux 0x2c6b6974 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x2c78c2f6 flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x2c7c8e9a pcibios_min_mem +EXPORT_SYMBOL vmlinux 0x2c7e7636 tso_start +EXPORT_SYMBOL vmlinux 0x2c81ec75 __irq_regs +EXPORT_SYMBOL vmlinux 0x2c82c36a security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x2ca0e6b0 vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0x2cd89b74 inet6_getname +EXPORT_SYMBOL vmlinux 0x2ce56547 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x2cec2c3a finalize_exec +EXPORT_SYMBOL vmlinux 0x2cf5fa0a key_put +EXPORT_SYMBOL vmlinux 0x2cfde9a2 warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d19e4da mr_fill_mroute +EXPORT_SYMBOL vmlinux 0x2d1a69be pci_resize_resource +EXPORT_SYMBOL vmlinux 0x2d1f5eb5 __bforget +EXPORT_SYMBOL vmlinux 0x2d20e5c7 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x2d2a9b21 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x2d30596c from_kqid_munged +EXPORT_SYMBOL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL vmlinux 0x2d39b0a7 kstrdup +EXPORT_SYMBOL vmlinux 0x2d4268ff pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x2d4472c2 zstd_find_frame_compressed_size +EXPORT_SYMBOL vmlinux 0x2d4c773a hdmi_spd_infoframe_init +EXPORT_SYMBOL vmlinux 0x2d4daef5 find_font +EXPORT_SYMBOL vmlinux 0x2d50a651 nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0x2d542312 _dev_info +EXPORT_SYMBOL vmlinux 0x2d560143 seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0x2d5a6b1e eth_header +EXPORT_SYMBOL vmlinux 0x2d66ddf9 udp_skb_destructor +EXPORT_SYMBOL vmlinux 0x2d6fcc06 __kmalloc +EXPORT_SYMBOL vmlinux 0x2d7074ca kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0x2d750955 pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0x2d912bca dmi_get_bios_year +EXPORT_SYMBOL vmlinux 0x2d9587cf pci_iomap_range +EXPORT_SYMBOL vmlinux 0x2d97207b sock_kfree_s +EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2da247aa phy_read_paged +EXPORT_SYMBOL vmlinux 0x2db1b71c zap_page_range +EXPORT_SYMBOL vmlinux 0x2de125c0 page_frag_alloc_align +EXPORT_SYMBOL vmlinux 0x2df16954 rproc_elf_load_rsc_table +EXPORT_SYMBOL vmlinux 0x2e089eca snd_ctl_free_one +EXPORT_SYMBOL vmlinux 0x2e0e022c __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e2fd1a3 tcp_add_backlog +EXPORT_SYMBOL vmlinux 0x2e3cb4f2 simple_rename +EXPORT_SYMBOL vmlinux 0x2e3eb2b1 inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0x2e439142 drm_get_panel_orientation_quirk +EXPORT_SYMBOL vmlinux 0x2e66849b dma_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x2e6e2573 of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x2e790443 inet_del_protocol +EXPORT_SYMBOL vmlinux 0x2e800386 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x2e993713 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL vmlinux 0x2ea36113 ac97_bus_type +EXPORT_SYMBOL vmlinux 0x2ebadc33 pci_disable_device +EXPORT_SYMBOL vmlinux 0x2ebb9e19 snd_power_wait +EXPORT_SYMBOL vmlinux 0x2ebbcaae __folio_lock +EXPORT_SYMBOL vmlinux 0x2ec524ad __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2ecb1ed8 dquot_commit_info +EXPORT_SYMBOL vmlinux 0x2edd3e75 __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x2ede8f92 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0x2edeb3d9 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x2eed5718 irq_domain_set_info +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f22c073 folio_add_lru +EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f333aab imx_scu_get_handle +EXPORT_SYMBOL vmlinux 0x2f366222 tcp_req_err +EXPORT_SYMBOL vmlinux 0x2f42152b elv_rb_del +EXPORT_SYMBOL vmlinux 0x2f50cbf5 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x2f5b0fdb gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0x2f6957bd zstd_end_stream +EXPORT_SYMBOL vmlinux 0x2f69c290 vm_node_stat +EXPORT_SYMBOL vmlinux 0x2f83ab28 rproc_get_by_phandle +EXPORT_SYMBOL vmlinux 0x2fc251af ppp_unit_number +EXPORT_SYMBOL vmlinux 0x2fcbf131 phy_set_max_speed +EXPORT_SYMBOL vmlinux 0x2fdd5ec6 seg6_push_hmac +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x2fedbda2 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x300b17e1 create_empty_buffers +EXPORT_SYMBOL vmlinux 0x300dc93c dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x3023f24f key_unlink +EXPORT_SYMBOL vmlinux 0x302c3a9e dev_pm_opp_unregister_notifier +EXPORT_SYMBOL vmlinux 0x303cd21d vfs_setpos +EXPORT_SYMBOL vmlinux 0x30440c0b generic_perform_write +EXPORT_SYMBOL vmlinux 0x304f8477 __mmap_lock_do_trace_acquire_returned +EXPORT_SYMBOL vmlinux 0x306d20d7 import_iovec +EXPORT_SYMBOL vmlinux 0x30701042 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x30745185 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x3076798a unregister_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0x3094a60b security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x3098be4e scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30d3328c ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0x30d9a471 gen_pool_create +EXPORT_SYMBOL vmlinux 0x30e11a72 release_and_free_resource +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30e9945d free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x30f42fb2 param_ops_ullong +EXPORT_SYMBOL vmlinux 0x30f6a8aa fget_raw +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x314b20c8 scnprintf +EXPORT_SYMBOL vmlinux 0x315322f1 ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0x3158198e netdev_update_features +EXPORT_SYMBOL vmlinux 0x3158bad2 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x316d4a7f prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x317f0837 xp_raw_get_data +EXPORT_SYMBOL vmlinux 0x318ca64f nand_write_page_raw +EXPORT_SYMBOL vmlinux 0x31924d38 pagecache_get_page +EXPORT_SYMBOL vmlinux 0x31a4767f qcom_scm_hdcp_available +EXPORT_SYMBOL vmlinux 0x31b39f66 devm_alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x31bffc0c zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x31dc5d6d page_pool_destroy +EXPORT_SYMBOL vmlinux 0x31eebfcb udp_set_csum +EXPORT_SYMBOL vmlinux 0x31ef7686 inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x32046af3 inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0x3209efe9 tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0x321ce9c9 mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x3221df67 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x322b8812 follow_down_one +EXPORT_SYMBOL vmlinux 0x323267e5 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x3234a906 devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x32372954 inet_del_offload +EXPORT_SYMBOL vmlinux 0x32394d4b qe_issue_cmd +EXPORT_SYMBOL vmlinux 0x323e54cc fb_show_logo +EXPORT_SYMBOL vmlinux 0x32430023 _totalhigh_pages +EXPORT_SYMBOL vmlinux 0x324de467 mdiobus_is_registered_device +EXPORT_SYMBOL vmlinux 0x324e10db of_get_compatible_child +EXPORT_SYMBOL vmlinux 0x32787823 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x32788770 dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0x327c84bf vme_lm_attach +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x328a05f1 strncpy +EXPORT_SYMBOL vmlinux 0x32995741 devm_kvasprintf +EXPORT_SYMBOL vmlinux 0x32a0f445 d_drop +EXPORT_SYMBOL vmlinux 0x32a25108 vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0x32a8a257 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x32b12568 __inc_node_page_state +EXPORT_SYMBOL vmlinux 0x32b4ead7 migrate_page_states +EXPORT_SYMBOL vmlinux 0x32c5f7c9 secpath_set +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32e82757 tcf_register_action +EXPORT_SYMBOL vmlinux 0x32ee1630 cred_fscmp +EXPORT_SYMBOL vmlinux 0x32fc03bf __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0x3319133e dev_alloc_name +EXPORT_SYMBOL vmlinux 0x331bea0d current_time +EXPORT_SYMBOL vmlinux 0x332488b3 phy_device_create +EXPORT_SYMBOL vmlinux 0x3331e032 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x3334319c mipi_dsi_dcs_exit_sleep_mode +EXPORT_SYMBOL vmlinux 0x333aad2e processor +EXPORT_SYMBOL vmlinux 0x3367e547 __netdev_notify_peers +EXPORT_SYMBOL vmlinux 0x337e1aff nexthop_set_hw_flags +EXPORT_SYMBOL vmlinux 0x338714e1 folio_write_one +EXPORT_SYMBOL vmlinux 0x33a57f54 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0x33bddf11 param_ops_short +EXPORT_SYMBOL vmlinux 0x33c5b4d4 dquot_get_state +EXPORT_SYMBOL vmlinux 0x33c680bf dump_align +EXPORT_SYMBOL vmlinux 0x33cbf40d iterate_fd +EXPORT_SYMBOL vmlinux 0x33dbfd93 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x33e3c671 dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33fc2a31 get_user_ifreq +EXPORT_SYMBOL vmlinux 0x341dbfa3 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x3423e9b6 follow_down +EXPORT_SYMBOL vmlinux 0x343ddc9f netif_rx +EXPORT_SYMBOL vmlinux 0x344a6c90 input_unregister_handler +EXPORT_SYMBOL vmlinux 0x34608a5e xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0x34666c3b phy_write_mmd +EXPORT_SYMBOL vmlinux 0x34670f72 __snd_pcm_lib_xfer +EXPORT_SYMBOL vmlinux 0x346b56dc snd_dma_alloc_pages_fallback +EXPORT_SYMBOL vmlinux 0x349b4277 xa_clear_mark +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a04d71 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0x34a31d64 dump_skip +EXPORT_SYMBOL vmlinux 0x34bc171f flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x34c068dd ucc_slow_restart_tx +EXPORT_SYMBOL vmlinux 0x34c3d2d7 folio_wait_private_2 +EXPORT_SYMBOL vmlinux 0x34c7cdbc lookup_bdev +EXPORT_SYMBOL vmlinux 0x34ca145c kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x34d7900d uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue +EXPORT_SYMBOL vmlinux 0x35089160 mmc_card_is_blockaddr +EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x352c05d9 release_resource +EXPORT_SYMBOL vmlinux 0x353e3fa5 __get_user_4 +EXPORT_SYMBOL vmlinux 0x353ed6f5 contig_page_data +EXPORT_SYMBOL vmlinux 0x3554888a buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x3560e651 kmemdup_nul +EXPORT_SYMBOL vmlinux 0x356461c8 rtc_time64_to_tm +EXPORT_SYMBOL vmlinux 0x35665c61 seq_open_private +EXPORT_SYMBOL vmlinux 0x3569bc98 snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL vmlinux 0x357ff594 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x359ab566 qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0x359ba6ae ip_route_input_noref +EXPORT_SYMBOL vmlinux 0x35a78bfe csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35ab6e60 scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x35ea78f5 atomic_io_modify_relaxed +EXPORT_SYMBOL vmlinux 0x35eb47bb get_cached_acl +EXPORT_SYMBOL vmlinux 0x35f47c9b napi_schedule_prep +EXPORT_SYMBOL vmlinux 0x36050803 mmc_gpiod_request_ro +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x3612c10f tmio_core_mmc_enable +EXPORT_SYMBOL vmlinux 0x3628b422 scsi_ioctl +EXPORT_SYMBOL vmlinux 0x362c2689 eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0x364c1f07 get_user_pages +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x36655728 input_get_poll_interval +EXPORT_SYMBOL vmlinux 0x36669fa4 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x3685dcb4 vm_event_states +EXPORT_SYMBOL vmlinux 0x36869011 bio_add_page +EXPORT_SYMBOL vmlinux 0x36af5e35 bpf_sk_lookup_enabled +EXPORT_SYMBOL vmlinux 0x36b9c372 file_update_time +EXPORT_SYMBOL vmlinux 0x36c1ba94 fs_param_is_fd +EXPORT_SYMBOL vmlinux 0x36d64630 pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0x36d69557 ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x36e5a52c __sock_create +EXPORT_SYMBOL vmlinux 0x3711470a stop_tty +EXPORT_SYMBOL vmlinux 0x371e1953 __printk_cpu_sync_wait +EXPORT_SYMBOL vmlinux 0x3725c02a xp_free +EXPORT_SYMBOL vmlinux 0x373fe48c __kfree_skb +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x37681ffd put_fs_context +EXPORT_SYMBOL vmlinux 0x377126fb nand_create_bbt +EXPORT_SYMBOL vmlinux 0x377498e4 zstd_dctx_workspace_bound +EXPORT_SYMBOL vmlinux 0x37887591 mmc_start_request +EXPORT_SYMBOL vmlinux 0x378946bf rproc_boot +EXPORT_SYMBOL vmlinux 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL vmlinux 0x37988e62 mipi_dsi_dcs_set_tear_on +EXPORT_SYMBOL vmlinux 0x37a195a5 rtc_add_groups +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37c19b1b __register_nls +EXPORT_SYMBOL vmlinux 0x37c3a166 kern_path_create +EXPORT_SYMBOL vmlinux 0x37d4b386 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x37db4bb7 phy_ethtool_get_wol +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37dd56cb input_free_device +EXPORT_SYMBOL vmlinux 0x37f614b7 __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x3803845e of_match_node +EXPORT_SYMBOL vmlinux 0x38076dc0 d_alloc +EXPORT_SYMBOL vmlinux 0x380ece03 dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x3829229d tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0x38371995 dm_kobject_release +EXPORT_SYMBOL vmlinux 0x3842b3a6 unix_gc_lock +EXPORT_SYMBOL vmlinux 0x3854774b kstrtoll +EXPORT_SYMBOL vmlinux 0x38675415 thermal_cdev_update +EXPORT_SYMBOL vmlinux 0x386d9ce9 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x3877c490 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x3891ffc8 ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0x389acf0c gpmc_configure +EXPORT_SYMBOL vmlinux 0x389ecf9e __bswapdi2 +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38a9f7c5 in6addr_loopback +EXPORT_SYMBOL vmlinux 0x38bc4d3b _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0x38c10453 mmc_of_parse_clk_phase +EXPORT_SYMBOL vmlinux 0x38d2de7b blk_start_plug +EXPORT_SYMBOL vmlinux 0x38d5ba34 request_key_rcu +EXPORT_SYMBOL vmlinux 0x38de402b call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x38f14936 filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0x38f37da7 nand_ecc_sw_bch_cleanup_ctx +EXPORT_SYMBOL vmlinux 0x38f48af7 put_user_ifreq +EXPORT_SYMBOL vmlinux 0x391ce15f _dev_err +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL vmlinux 0x394ec850 netif_tx_unlock +EXPORT_SYMBOL vmlinux 0x39573b3a prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0x395c82a1 get_tree_nodev +EXPORT_SYMBOL vmlinux 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL vmlinux 0x397e0ec0 __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x398230f7 input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0x3992bc63 __xa_set_mark +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x399ede44 __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x39abf199 blk_cleanup_disk +EXPORT_SYMBOL vmlinux 0x39b3e109 mmc_add_host +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39b57bc1 __do_once_slow_done +EXPORT_SYMBOL vmlinux 0x39b623ea folio_mapping +EXPORT_SYMBOL vmlinux 0x39bb870c __vcalloc +EXPORT_SYMBOL vmlinux 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL vmlinux 0x39bfc2c5 filemap_invalidate_unlock_two +EXPORT_SYMBOL vmlinux 0x39c88fd5 flush_rcu_work +EXPORT_SYMBOL vmlinux 0x39e3706d __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0x39e52b74 snd_jack_set_parent +EXPORT_SYMBOL vmlinux 0x39ec85cc tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x39f0fd3a generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x39f9627a security_inet_conn_established +EXPORT_SYMBOL vmlinux 0x3a00a826 netdev_state_change +EXPORT_SYMBOL vmlinux 0x3a4c323f jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x3a4ed65d nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized +EXPORT_SYMBOL vmlinux 0x3a5616d3 neigh_table_init +EXPORT_SYMBOL vmlinux 0x3a74d980 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x3a7b83ca scsi_device_put +EXPORT_SYMBOL vmlinux 0x3a84fed3 utf8_casefold +EXPORT_SYMBOL vmlinux 0x3a8b9aa2 devm_devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x3a8c821c dquot_disable +EXPORT_SYMBOL vmlinux 0x3ab0c447 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x3ab41aca path_is_under +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3ac124ed kernel_param_lock +EXPORT_SYMBOL vmlinux 0x3ac78b1d __ip_options_compile +EXPORT_SYMBOL vmlinux 0x3ad6fd8e krait_get_l2_indirect_reg +EXPORT_SYMBOL vmlinux 0x3ae62743 ata_std_end_eh +EXPORT_SYMBOL vmlinux 0x3ae78da0 tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0x3b0c6079 kset_unregister +EXPORT_SYMBOL vmlinux 0x3b1f3f38 ping_prot +EXPORT_SYMBOL vmlinux 0x3b2641e0 kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0x3b299067 percpu_counter_set +EXPORT_SYMBOL vmlinux 0x3b31886c remove_proc_entry +EXPORT_SYMBOL vmlinux 0x3b40879d check_zeroed_user +EXPORT_SYMBOL vmlinux 0x3b5a3387 unregister_cdrom +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b644e9f netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0x3b67a8d5 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x3b6c41ea kstrtouint +EXPORT_SYMBOL vmlinux 0x3b707ad5 imx_sc_rm_get_resource_owner +EXPORT_SYMBOL vmlinux 0x3b71cb00 filemap_flush +EXPORT_SYMBOL vmlinux 0x3b7fded2 kthread_bind +EXPORT_SYMBOL vmlinux 0x3bbe3055 __skb_checksum +EXPORT_SYMBOL vmlinux 0x3bbf46ea vga_base +EXPORT_SYMBOL vmlinux 0x3be10562 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3bf5d5df serio_bus +EXPORT_SYMBOL vmlinux 0x3bf81e9c alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c186490 mipi_dsi_picture_parameter_set +EXPORT_SYMBOL vmlinux 0x3c1a2298 iget5_locked +EXPORT_SYMBOL vmlinux 0x3c1d4506 snd_ctl_unregister_ioctl +EXPORT_SYMBOL vmlinux 0x3c24318c __f_setown +EXPORT_SYMBOL vmlinux 0x3c3215c4 qe_immr +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c5fb328 proc_mkdir +EXPORT_SYMBOL vmlinux 0x3c7950d3 devm_ioremap +EXPORT_SYMBOL vmlinux 0x3c7aac35 blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x3c7c8187 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x3c82f0f4 rawnand_sw_bch_correct +EXPORT_SYMBOL vmlinux 0x3c8f6ef0 __xa_insert +EXPORT_SYMBOL vmlinux 0x3c923b5d snd_component_add +EXPORT_SYMBOL vmlinux 0x3c9ea67e tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0x3cc2c2a2 msm_pinctrl_remove +EXPORT_SYMBOL vmlinux 0x3cc96af7 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL vmlinux 0x3cd32e20 mipi_dsi_dcs_write +EXPORT_SYMBOL vmlinux 0x3cd4b289 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x3cde93f6 netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3ce73b91 make_kgid +EXPORT_SYMBOL vmlinux 0x3d02fc09 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x3d08ea9a qdisc_reset +EXPORT_SYMBOL vmlinux 0x3d0e62ce posix_test_lock +EXPORT_SYMBOL vmlinux 0x3d30a204 blk_mq_alloc_disk_for_queue +EXPORT_SYMBOL vmlinux 0x3d3c540f elf_hwcap +EXPORT_SYMBOL vmlinux 0x3d3ce2a5 sg_miter_next +EXPORT_SYMBOL vmlinux 0x3d3fcf2a wireless_send_event +EXPORT_SYMBOL vmlinux 0x3d404ceb __vmalloc_array +EXPORT_SYMBOL vmlinux 0x3d4abd32 ip_defrag +EXPORT_SYMBOL vmlinux 0x3d5d0178 tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0x3d66535f inode_get_bytes +EXPORT_SYMBOL vmlinux 0x3d765041 key_task_permission +EXPORT_SYMBOL vmlinux 0x3d96bf39 fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0x3da0f707 ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0x3db77ba7 rproc_get_by_child +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dce5078 inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0x3dcf1ffa __wake_up +EXPORT_SYMBOL vmlinux 0x3dd878a0 hdmi_avi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x3de6380c dcb_getapp +EXPORT_SYMBOL vmlinux 0x3df853bf passthru_features_check +EXPORT_SYMBOL vmlinux 0x3dfbe4c2 dquot_quota_on +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3dfca719 tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0x3e0974d6 blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0x3e0f5883 snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL vmlinux 0x3e1c3c0f scsi_host_get +EXPORT_SYMBOL vmlinux 0x3e3853fa vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0x3e3bad0a __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x3e46e0b6 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL vmlinux 0x3e503e24 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x3e57eaef __breadahead_gfp +EXPORT_SYMBOL vmlinux 0x3e6689ad seq_open +EXPORT_SYMBOL vmlinux 0x3e7a0bba vfs_create_mount +EXPORT_SYMBOL vmlinux 0x3e82f3e9 get_random_bytes +EXPORT_SYMBOL vmlinux 0x3e94aa98 framebuffer_release +EXPORT_SYMBOL vmlinux 0x3ea1b6e4 __stack_chk_fail +EXPORT_SYMBOL vmlinux 0x3ec80fa0 _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x3ed104a5 xa_set_mark +EXPORT_SYMBOL vmlinux 0x3ef1b3fd vfs_tmpfile +EXPORT_SYMBOL vmlinux 0x3ef6f8b3 unregister_binfmt +EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3f074439 crypto_sha256_update +EXPORT_SYMBOL vmlinux 0x3f0d693b hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0x3f0f452f inode_update_time +EXPORT_SYMBOL vmlinux 0x3f140258 of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0x3f18fca2 wake_up_process +EXPORT_SYMBOL vmlinux 0x3f1f7b24 inet6_release +EXPORT_SYMBOL vmlinux 0x3f266dad misc_deregister +EXPORT_SYMBOL vmlinux 0x3f392889 tegra_ivc_notified +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f4af46f gen_pool_first_fit_order_align +EXPORT_SYMBOL vmlinux 0x3f59a6c7 thermal_zone_device_critical +EXPORT_SYMBOL vmlinux 0x3f62d048 dma_fence_init +EXPORT_SYMBOL vmlinux 0x3f635eb7 netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3fb4a21d xsk_get_pool_from_qid +EXPORT_SYMBOL vmlinux 0x3fbab01a snd_timer_continue +EXPORT_SYMBOL vmlinux 0x3fca0f4f inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3fe71364 amba_release_regions +EXPORT_SYMBOL vmlinux 0x3fea538c hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x3ff05f1b ihold +EXPORT_SYMBOL vmlinux 0x3ff2fd7a blk_pre_runtime_suspend +EXPORT_SYMBOL vmlinux 0x3ffce4ca __traceiter_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x40021556 bio_reset +EXPORT_SYMBOL vmlinux 0x40081913 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x4011c58c kernel_bind +EXPORT_SYMBOL vmlinux 0x401ad1c1 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x401c160e build_skb_around +EXPORT_SYMBOL vmlinux 0x403a93e7 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0x403b5c15 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x404c4ee9 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x40576ae0 __seq_open_private +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x407136b1 __put_user_8 +EXPORT_SYMBOL vmlinux 0x4078dcfd poll_freewait +EXPORT_SYMBOL vmlinux 0x40814f4f page_pool_create +EXPORT_SYMBOL vmlinux 0x40874c11 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x40966a5a inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x409d2f49 tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40b0797d simple_map_init +EXPORT_SYMBOL vmlinux 0x40b50b7e __dquot_free_space +EXPORT_SYMBOL vmlinux 0x40b51c05 __sysfs_match_string +EXPORT_SYMBOL vmlinux 0x40c13b33 vme_irq_free +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d402ad do_wait_intr +EXPORT_SYMBOL vmlinux 0x40d59096 unregister_restart_handler +EXPORT_SYMBOL vmlinux 0x40e25f92 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x40e5f8de rproc_elf_find_loaded_rsc_table +EXPORT_SYMBOL vmlinux 0x40f07981 __ashldi3 +EXPORT_SYMBOL vmlinux 0x40f225b3 i2c_clients_command +EXPORT_SYMBOL vmlinux 0x40fef532 vme_register_bridge +EXPORT_SYMBOL vmlinux 0x40ff0215 find_vma +EXPORT_SYMBOL vmlinux 0x4111b8d7 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x411585be ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x411aa3ea blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x412f893c page_offline_begin +EXPORT_SYMBOL vmlinux 0x4133d24a mdio_driver_register +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x414975dd __genradix_prealloc +EXPORT_SYMBOL vmlinux 0x415c682f iov_iter_discard +EXPORT_SYMBOL vmlinux 0x416c9187 hmm_range_fault +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x418a5367 __scsi_format_command +EXPORT_SYMBOL vmlinux 0x41901707 max8925_set_bits +EXPORT_SYMBOL vmlinux 0x4192b43d init_task +EXPORT_SYMBOL vmlinux 0x41bb84fc dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0x41c1c5a2 genl_notify +EXPORT_SYMBOL vmlinux 0x41c80163 proc_symlink +EXPORT_SYMBOL vmlinux 0x41c8ee70 kern_sys_bpf +EXPORT_SYMBOL vmlinux 0x41ec79c9 validate_slab_cache +EXPORT_SYMBOL vmlinux 0x41ee474c tcf_qevent_init +EXPORT_SYMBOL vmlinux 0x41f288bd blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0x420964e3 __nla_parse +EXPORT_SYMBOL vmlinux 0x421a05cc sock_efree +EXPORT_SYMBOL vmlinux 0x421d4dcf krealloc +EXPORT_SYMBOL vmlinux 0x42201cdd dma_supported +EXPORT_SYMBOL vmlinux 0x422974c8 of_find_mipi_dsi_device_by_node +EXPORT_SYMBOL vmlinux 0x42425642 filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running +EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x4253aa7e down_write +EXPORT_SYMBOL vmlinux 0x42604384 ucs2_strncmp +EXPORT_SYMBOL vmlinux 0x42848567 device_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x428a473b mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x42915379 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x4298b775 v7_flush_kern_cache_all +EXPORT_SYMBOL vmlinux 0x42a267bc d_mark_dontcache +EXPORT_SYMBOL vmlinux 0x42a53102 sock_no_bind +EXPORT_SYMBOL vmlinux 0x42ae54bb devm_extcon_register_notifier_all +EXPORT_SYMBOL vmlinux 0x42cd4d80 phy_start_aneg +EXPORT_SYMBOL vmlinux 0x42defa04 dst_discard_out +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x42f621de xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x431e4cd0 cont_write_begin +EXPORT_SYMBOL vmlinux 0x431ec3a9 __nla_validate +EXPORT_SYMBOL vmlinux 0x432722ba param_ops_ushort +EXPORT_SYMBOL vmlinux 0x4336fcca ucs2_as_utf8 +EXPORT_SYMBOL vmlinux 0x433b6678 dev_load +EXPORT_SYMBOL vmlinux 0x433f20b1 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x433fb25d vfio_register_notifier +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x435a823c inet_accept +EXPORT_SYMBOL vmlinux 0x435bd2ba dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0x436638f2 configfs_register_group +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x4382fb35 d_tmpfile +EXPORT_SYMBOL vmlinux 0x4384eb42 __release_region +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x438980b0 blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0x43a415af unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x43aa1414 fb_pan_display +EXPORT_SYMBOL vmlinux 0x43b646db uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x43ca8b3b netdev_crit +EXPORT_SYMBOL vmlinux 0x43d22fb9 groups_alloc +EXPORT_SYMBOL vmlinux 0x43d42131 snd_ctl_make_virtual_master +EXPORT_SYMBOL vmlinux 0x43d73570 always_delete_dentry +EXPORT_SYMBOL vmlinux 0x43e57231 commit_creds +EXPORT_SYMBOL vmlinux 0x43eca0a4 mmc_cqe_request_done +EXPORT_SYMBOL vmlinux 0x43f9ebc8 slhc_remember +EXPORT_SYMBOL vmlinux 0x43fe83ed ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x44003e36 dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0x4403bbd0 imx_sc_misc_set_control +EXPORT_SYMBOL vmlinux 0x442495c9 tmio_core_mmc_resume +EXPORT_SYMBOL vmlinux 0x44366cfc simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0x443870e6 tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x4443f9b5 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x4445f2a1 sock_set_priority +EXPORT_SYMBOL vmlinux 0x44460096 tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x444cc8ed tcp_md5_needed +EXPORT_SYMBOL vmlinux 0x44525844 ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0x445eb2ce inet_protos +EXPORT_SYMBOL vmlinux 0x4461eb55 gic_nonsecure_priorities +EXPORT_SYMBOL vmlinux 0x4462d35e cpufreq_get_hw_max_freq +EXPORT_SYMBOL vmlinux 0x44643b93 __aeabi_lmul +EXPORT_SYMBOL vmlinux 0x448d3c80 rpmh_write_async +EXPORT_SYMBOL vmlinux 0x44a312b1 __pagevec_release +EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x44bb520e tegra_dfll_resume +EXPORT_SYMBOL vmlinux 0x44c0b82b __do_once_done +EXPORT_SYMBOL vmlinux 0x44c9dc6c percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x44d6a890 flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x44da5d0f __csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x44e07d09 snd_card_free_when_closed +EXPORT_SYMBOL vmlinux 0x44e66ed2 bitmap_print_bitmask_to_buf +EXPORT_SYMBOL vmlinux 0x44e6ca93 devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x45006cee default_red +EXPORT_SYMBOL vmlinux 0x450d9a35 cmd_db_read_slave_id +EXPORT_SYMBOL vmlinux 0x45275539 sock_wmalloc +EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x452c91fd snd_pcm_hw_constraint_step +EXPORT_SYMBOL vmlinux 0x452ec34c pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x45684026 genphy_handle_interrupt_no_ack +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x458d6b5e generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0x458dd351 request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x45bd19de nla_strscpy +EXPORT_SYMBOL vmlinux 0x45bda0d5 system_serial_low +EXPORT_SYMBOL vmlinux 0x45d8ff01 mii_link_ok +EXPORT_SYMBOL vmlinux 0x45e22881 scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x45e90a03 simple_get_link +EXPORT_SYMBOL vmlinux 0x45f5ec83 genphy_read_status +EXPORT_SYMBOL vmlinux 0x45f8ccd6 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL vmlinux 0x45fab664 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x45fdee7f dma_fence_signal_timestamp +EXPORT_SYMBOL vmlinux 0x46047bf2 iov_iter_pipe +EXPORT_SYMBOL vmlinux 0x460f4a34 flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x4615388d snd_ctl_replace +EXPORT_SYMBOL vmlinux 0x461989cb blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x461aec41 param_ops_string +EXPORT_SYMBOL vmlinux 0x46244c03 ns_capable +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x46357e25 skb_free_datagram +EXPORT_SYMBOL vmlinux 0x464eda7d d_move +EXPORT_SYMBOL vmlinux 0x464f87e5 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x465a407a ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0x465e24ff ucs2_utf8size +EXPORT_SYMBOL vmlinux 0x465f950a pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x4663eee5 logfc +EXPORT_SYMBOL vmlinux 0x46642796 inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x466657ec phy_disconnect +EXPORT_SYMBOL vmlinux 0x46669d36 _raw_write_lock_nested +EXPORT_SYMBOL vmlinux 0x46709dd7 pci_disable_ptm +EXPORT_SYMBOL vmlinux 0x46717090 __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0x4675feb7 inet6_del_offload +EXPORT_SYMBOL vmlinux 0x469a6ec7 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x46b5b23d udp_seq_stop +EXPORT_SYMBOL vmlinux 0x46b76610 dev_disable_lro +EXPORT_SYMBOL vmlinux 0x46cbe901 param_set_copystring +EXPORT_SYMBOL vmlinux 0x46ce36d4 vme_register_error_handler +EXPORT_SYMBOL vmlinux 0x46d3b28c __div0 +EXPORT_SYMBOL vmlinux 0x46f54cb3 neigh_parms_release +EXPORT_SYMBOL vmlinux 0x46fdfafa page_pool_put_defragged_page +EXPORT_SYMBOL vmlinux 0x47065c73 cpm_muram_offset +EXPORT_SYMBOL vmlinux 0x4708b106 inet_shutdown +EXPORT_SYMBOL vmlinux 0x47201a81 is_bad_inode +EXPORT_SYMBOL vmlinux 0x4727c50b unix_destruct_scm +EXPORT_SYMBOL vmlinux 0x4727e082 no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0x474dc49d fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x4756260d ida_destroy +EXPORT_SYMBOL vmlinux 0x475d84ef gen_pool_dma_alloc_algo +EXPORT_SYMBOL vmlinux 0x476450a4 dev_add_offload +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x47857067 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x479137ca imx_scu_irq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x4791cb02 end_page_writeback +EXPORT_SYMBOL vmlinux 0x47a0167f scsi_register_interface +EXPORT_SYMBOL vmlinux 0x47a6bfa9 mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0x47add33a fb_prepare_logo +EXPORT_SYMBOL vmlinux 0x47c20f8a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47cf2315 ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0x47d939a0 kmem_cache_create +EXPORT_SYMBOL vmlinux 0x47e70229 v7_flush_user_cache_range +EXPORT_SYMBOL vmlinux 0x47ebe467 may_umount_tree +EXPORT_SYMBOL vmlinux 0x47f757de elf_platform +EXPORT_SYMBOL vmlinux 0x481814c4 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x48363efb pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x4848cfb1 phy_mipi_dphy_get_default_config +EXPORT_SYMBOL vmlinux 0x4849e50f md_reload_sb +EXPORT_SYMBOL vmlinux 0x484f6edf ktime_get_coarse_real_ts64 +EXPORT_SYMBOL vmlinux 0x48572fa4 __module_get +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486132f6 kernel_accept +EXPORT_SYMBOL vmlinux 0x486135b8 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x48661eae register_sysctl_mount_point +EXPORT_SYMBOL vmlinux 0x4871d75d clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x4872a207 refresh_frequency_limits +EXPORT_SYMBOL vmlinux 0x489e8ca1 ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0x48a5b067 __machine_arch_type +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48b99a13 vme_lm_free +EXPORT_SYMBOL vmlinux 0x48caa689 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x48d27375 __bitmap_intersects +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x49127ab0 mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0x4931d3aa inet6_offloads +EXPORT_SYMBOL vmlinux 0x495231ea mul_u64_u64_div_u64 +EXPORT_SYMBOL vmlinux 0x4957ae48 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x495d3119 md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x49871971 _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x498bb131 netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0x498cc7fe input_grab_device +EXPORT_SYMBOL vmlinux 0x49970de8 finish_wait +EXPORT_SYMBOL vmlinux 0x49a0b37e blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0x49a1787c backlight_force_update +EXPORT_SYMBOL vmlinux 0x49bc7ee1 blk_put_queue +EXPORT_SYMBOL vmlinux 0x49d45274 sk_capable +EXPORT_SYMBOL vmlinux 0x49d61380 __traceiter_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x49ebacbd _clear_bit +EXPORT_SYMBOL vmlinux 0x49ecae8f snd_pcm_hw_param_last +EXPORT_SYMBOL vmlinux 0x49f26466 kstrndup +EXPORT_SYMBOL vmlinux 0x49f2f256 __inet_hash +EXPORT_SYMBOL vmlinux 0x4a02f57d ppp_input_error +EXPORT_SYMBOL vmlinux 0x4a078d8e xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x4a3cbc8c phy_attached_info_irq +EXPORT_SYMBOL vmlinux 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL vmlinux 0x4a3fb0e3 find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0x4a4426c5 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x4a57ac72 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x4a6dbe1e folio_mapped +EXPORT_SYMBOL vmlinux 0x4a935f5d jbd2_journal_finish_inode_data_buffers +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4aa66311 mmc_request_done +EXPORT_SYMBOL vmlinux 0x4ad80c36 of_clk_get_by_name +EXPORT_SYMBOL vmlinux 0x4adc4d38 netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0x4ade86b5 hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0x4ae262b6 km_state_expired +EXPORT_SYMBOL vmlinux 0x4ae79632 input_register_handler +EXPORT_SYMBOL vmlinux 0x4ae8ee66 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0x4aeb183d mmc_free_host +EXPORT_SYMBOL vmlinux 0x4af6ddf0 kstrtou16 +EXPORT_SYMBOL vmlinux 0x4b20a4d8 netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0x4b23c734 config_item_get +EXPORT_SYMBOL vmlinux 0x4b2dc7d2 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x4b3d303d pps_lookup_dev +EXPORT_SYMBOL vmlinux 0x4b3f89c0 drop_nlink +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b77708b ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x4b7878ee tcp_seq_next +EXPORT_SYMBOL vmlinux 0x4b8c8892 tegra_dfll_suspend +EXPORT_SYMBOL vmlinux 0x4b8cf67d dev_get_mac_address +EXPORT_SYMBOL vmlinux 0x4b9b6d0f module_put +EXPORT_SYMBOL vmlinux 0x4be61028 sock_alloc +EXPORT_SYMBOL vmlinux 0x4be85a03 memweight +EXPORT_SYMBOL vmlinux 0x4bef0cdc cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0x4bef1c67 empty_name +EXPORT_SYMBOL vmlinux 0x4bfdcefa __memset32 +EXPORT_SYMBOL vmlinux 0x4c0006aa mipi_dsi_set_maximum_return_packet_size +EXPORT_SYMBOL vmlinux 0x4c0330f9 tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0x4c074a4f of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x4c07a1c4 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x4c11a829 save_stack_trace_tsk +EXPORT_SYMBOL vmlinux 0x4c15d4c0 mipi_dsi_dcs_get_pixel_format +EXPORT_SYMBOL vmlinux 0x4c1cca3b cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0x4c275fcb generic_file_mmap +EXPORT_SYMBOL vmlinux 0x4c2ae700 strnstr +EXPORT_SYMBOL vmlinux 0x4c3361cf phy_get_pause +EXPORT_SYMBOL vmlinux 0x4c36998a pci_scan_bus +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c6f544a scsi_done_direct +EXPORT_SYMBOL vmlinux 0x4c7f214a send_sig_mceerr +EXPORT_SYMBOL vmlinux 0x4c83617b xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x4c8480bd address_space_init_once +EXPORT_SYMBOL vmlinux 0x4c892998 xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0x4caef1e6 device_add_disk +EXPORT_SYMBOL vmlinux 0x4cb3a838 snd_unregister_device +EXPORT_SYMBOL vmlinux 0x4cba441d iwe_stream_add_event +EXPORT_SYMBOL vmlinux 0x4cc2854d tegra114_clock_assert_dfll_dvco_reset +EXPORT_SYMBOL vmlinux 0x4cc93f86 __traceiter_spi_transfer_start +EXPORT_SYMBOL vmlinux 0x4cd5532f __d_lookup_done +EXPORT_SYMBOL vmlinux 0x4cd6223e dev_set_mtu +EXPORT_SYMBOL vmlinux 0x4d07c092 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x4d0d163d copy_page +EXPORT_SYMBOL vmlinux 0x4d0db718 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x4d261499 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x4d2f2a5d devm_of_clk_del_provider +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d45d89e udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x4d47b94e tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x4d4c2ada vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0x4d514485 xa_store +EXPORT_SYMBOL vmlinux 0x4d65dc97 param_set_bint +EXPORT_SYMBOL vmlinux 0x4d6ae35f rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0x4d8d76f8 skb_queue_purge +EXPORT_SYMBOL vmlinux 0x4d93e935 fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4d9b6d35 snd_pcm_format_size +EXPORT_SYMBOL vmlinux 0x4dbc27fe sock_init_data_uid +EXPORT_SYMBOL vmlinux 0x4dce47d8 _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0x4de63d04 netdev_offload_xstats_disable +EXPORT_SYMBOL vmlinux 0x4dec6038 memscan +EXPORT_SYMBOL vmlinux 0x4df2ea84 gen_estimator_read +EXPORT_SYMBOL vmlinux 0x4e05bdec mempool_init_node +EXPORT_SYMBOL vmlinux 0x4e11eb63 seq_write +EXPORT_SYMBOL vmlinux 0x4e16a10b file_ns_capable +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e36cdc4 __ubsan_handle_divrem_overflow +EXPORT_SYMBOL vmlinux 0x4e3dc967 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x4e420d49 __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x4e482e4f nand_ecc_sw_hamming_cleanup_ctx +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e73cc63 neigh_connected_output +EXPORT_SYMBOL vmlinux 0x4e7832b4 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x4e7e6115 dev_uc_flush +EXPORT_SYMBOL vmlinux 0x4e80d27c ucc_fast_enable +EXPORT_SYMBOL vmlinux 0x4e9d59f8 __skb_ext_del +EXPORT_SYMBOL vmlinux 0x4eada8f7 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x4ecc766f mount_nodev +EXPORT_SYMBOL vmlinux 0x4ed2ca95 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x4ee13e66 unix_detach_fds +EXPORT_SYMBOL vmlinux 0x4ee98ebd tcp_have_smc +EXPORT_SYMBOL vmlinux 0x4f019976 devm_get_clk_from_child +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f20d80b zstd_min_clevel +EXPORT_SYMBOL vmlinux 0x4f2250ba rtc_tm_to_time64 +EXPORT_SYMBOL vmlinux 0x4f368a4d flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0x4f4d6200 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL vmlinux 0x4f89c9de gpmc_cs_free +EXPORT_SYMBOL vmlinux 0x4fcb3859 xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0x4fd995e7 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x4fe423ff __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0x4fe7acf0 mtd_concat_create +EXPORT_SYMBOL vmlinux 0x4fef3ef4 completion_done +EXPORT_SYMBOL vmlinux 0x4ffb59bf __SCK__tp_func_kfree +EXPORT_SYMBOL vmlinux 0x4ffcc17f fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x502a308f eth_mac_addr +EXPORT_SYMBOL vmlinux 0x502b6647 mempool_create_node +EXPORT_SYMBOL vmlinux 0x502e18ce of_device_register +EXPORT_SYMBOL vmlinux 0x5031d35d vga_put +EXPORT_SYMBOL vmlinux 0x503bd137 snd_interval_ranges +EXPORT_SYMBOL vmlinux 0x5047100f vfs_rmdir +EXPORT_SYMBOL vmlinux 0x5056b3e0 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +EXPORT_SYMBOL vmlinux 0x506e5479 __icmp_send +EXPORT_SYMBOL vmlinux 0x5077e828 clk_bulk_get_all +EXPORT_SYMBOL vmlinux 0x507bfa26 from_kuid +EXPORT_SYMBOL vmlinux 0x5089f45f ip_send_check +EXPORT_SYMBOL vmlinux 0x50944630 seq_list_start_head_rcu +EXPORT_SYMBOL vmlinux 0x5098ae9c of_find_mipi_dsi_host_by_node +EXPORT_SYMBOL vmlinux 0x50a4698c fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0x50a65769 rproc_del +EXPORT_SYMBOL vmlinux 0x50b73ce2 rfkill_find_type +EXPORT_SYMBOL vmlinux 0x50b80992 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x50bd2e0a filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50d035c2 vsscanf +EXPORT_SYMBOL vmlinux 0x50d1e38b tcp_time_wait +EXPORT_SYMBOL vmlinux 0x50d2efdb key_alloc +EXPORT_SYMBOL vmlinux 0x50d71bcf gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0x50e3b709 put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0x50e5d843 flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x50e89f7e dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x50f28458 update_devfreq +EXPORT_SYMBOL vmlinux 0x50f85302 __arm_smccc_hvc +EXPORT_SYMBOL vmlinux 0x50fd6103 dma_fence_signal +EXPORT_SYMBOL vmlinux 0x50fd73f2 iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0x510737ee flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0x5135c2af __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x5138de94 reuseport_alloc +EXPORT_SYMBOL vmlinux 0x51441468 of_get_ddr_timings +EXPORT_SYMBOL vmlinux 0x51480110 __tracepoint_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x5148e6fe dma_resv_reserve_fences +EXPORT_SYMBOL vmlinux 0x514a62ec dq_data_lock +EXPORT_SYMBOL vmlinux 0x51634115 da903x_query_status +EXPORT_SYMBOL vmlinux 0x51641162 opal_unlock_from_suspend +EXPORT_SYMBOL vmlinux 0x517018a2 sgl_alloc_order +EXPORT_SYMBOL vmlinux 0x5177bd55 bio_put +EXPORT_SYMBOL vmlinux 0x51809782 softnet_data +EXPORT_SYMBOL vmlinux 0x518990d2 pci_pme_active +EXPORT_SYMBOL vmlinux 0x519e9ca1 of_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x519f4108 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x51a23fdc scsi_device_resume +EXPORT_SYMBOL vmlinux 0x51a910c0 arm_copy_to_user +EXPORT_SYMBOL vmlinux 0x51ad65c4 icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0x51df0484 pps_register_source +EXPORT_SYMBOL vmlinux 0x51dff1b2 dma_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x51e4e183 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x51e77c97 pfn_valid +EXPORT_SYMBOL vmlinux 0x51ed7c89 neigh_seq_next +EXPORT_SYMBOL vmlinux 0x51f16cdb vfio_info_cap_shift +EXPORT_SYMBOL vmlinux 0x51f1829b snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL vmlinux 0x5203d176 cmd_db_ready +EXPORT_SYMBOL vmlinux 0x521cd3f8 read_cache_page +EXPORT_SYMBOL vmlinux 0x522fb0e4 __hsiphash_unaligned +EXPORT_SYMBOL vmlinux 0x5273f8f9 pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0x52759669 serio_unregister_port +EXPORT_SYMBOL vmlinux 0x528a38b6 md_bitmap_free +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x52ad9f96 netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0x52b6ea5c register_key_type +EXPORT_SYMBOL vmlinux 0x52cf212f forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0x52cf3540 jbd2_fc_end_commit_fallback +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52dc157d register_filesystem +EXPORT_SYMBOL vmlinux 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL vmlinux 0x52efe58d page_mapping +EXPORT_SYMBOL vmlinux 0x52f2850a imx_sc_pm_cpu_start +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x530b1fcc rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x5318bdbd del_gendisk +EXPORT_SYMBOL vmlinux 0x533428f9 genphy_update_link +EXPORT_SYMBOL vmlinux 0x5338184f ethtool_sprintf +EXPORT_SYMBOL vmlinux 0x534815d6 security_path_unlink +EXPORT_SYMBOL vmlinux 0x536060af radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x53642f19 devm_rproc_alloc +EXPORT_SYMBOL vmlinux 0x537f71c7 fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0x53917375 simple_transaction_set +EXPORT_SYMBOL vmlinux 0x5393a16d snd_card_disconnect +EXPORT_SYMBOL vmlinux 0x53a598ba snd_ctl_rename_id +EXPORT_SYMBOL vmlinux 0x53a93dc9 scsi_scan_target +EXPORT_SYMBOL vmlinux 0x53aeb013 hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x53af1de3 mmc_cqe_recovery +EXPORT_SYMBOL vmlinux 0x53c5f44d sg_copy_buffer +EXPORT_SYMBOL vmlinux 0x53f11a3a inet_frags_fini +EXPORT_SYMBOL vmlinux 0x53f8ced7 page_pool_ethtool_stats_get_strings +EXPORT_SYMBOL vmlinux 0x5404f003 configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0x540c5907 mipi_dsi_dcs_set_display_brightness +EXPORT_SYMBOL vmlinux 0x5421a4dc blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x545274f2 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x54578ce6 touchscreen_report_pos +EXPORT_SYMBOL vmlinux 0x5462b0fa devm_devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x54879238 iov_iter_zero +EXPORT_SYMBOL vmlinux 0x548dd49e pci_get_class +EXPORT_SYMBOL vmlinux 0x5496b202 netdev_offload_xstats_get +EXPORT_SYMBOL vmlinux 0x54b1fac6 __ubsan_handle_load_invalid_value +EXPORT_SYMBOL vmlinux 0x54c5f860 tty_unlock +EXPORT_SYMBOL vmlinux 0x54c67293 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x54d9151b of_device_get_match_data +EXPORT_SYMBOL vmlinux 0x54e21eee udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54f6c2a3 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit +EXPORT_SYMBOL vmlinux 0x5509addf cdev_add +EXPORT_SYMBOL vmlinux 0x550fd3bd sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x5530c2b3 inet_csk_accept +EXPORT_SYMBOL vmlinux 0x553ac2e7 dma_map_page_attrs +EXPORT_SYMBOL vmlinux 0x5545a639 ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0x55461e94 md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +EXPORT_SYMBOL vmlinux 0x5562e403 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x55726e50 from_kgid +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x55995c39 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x55abc4b8 jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x55ba53eb ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0x55d7dd4c eth_validate_addr +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x55e5de40 ptp_clock_event +EXPORT_SYMBOL vmlinux 0x55eb869a _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x562193a0 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x563952a3 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x563a9e08 __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x563bedda cfb_imageblit +EXPORT_SYMBOL vmlinux 0x56498087 paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x567a7cd5 do_map_probe +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x56872ef1 devm_memunmap +EXPORT_SYMBOL vmlinux 0x568c180d xp_dma_unmap +EXPORT_SYMBOL vmlinux 0x569e7978 nand_ecc_get_on_host_hw_engine +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56e29502 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x56e6568b of_mdiobus_child_is_phy +EXPORT_SYMBOL vmlinux 0x5724ad7c pm_vt_switch_unregister +EXPORT_SYMBOL vmlinux 0x57282e22 fwnode_mdiobus_register_phy +EXPORT_SYMBOL vmlinux 0x572adefb tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x57341933 shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x57387320 __scm_send +EXPORT_SYMBOL vmlinux 0x5738e979 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x573e2a41 mmc_is_req_done +EXPORT_SYMBOL vmlinux 0x57432a9e mdiobus_write +EXPORT_SYMBOL vmlinux 0x5744124b xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x577255e0 config_item_put +EXPORT_SYMBOL vmlinux 0x577997d7 i2c_del_driver +EXPORT_SYMBOL vmlinux 0x5785ee42 vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0x57ae56aa mii_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x57ceedb1 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0x57d1a915 mdio_device_create +EXPORT_SYMBOL vmlinux 0x57d4c38e devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0x57e5170c qcom_scm_iommu_secure_ptbl_size +EXPORT_SYMBOL vmlinux 0x57e99d84 flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x57f38cdc qe_get_firmware_info +EXPORT_SYMBOL vmlinux 0x57fde6a5 blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x580e65cb __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x58175c8d fs_param_is_blob +EXPORT_SYMBOL vmlinux 0x5818fe3c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x581cde4e up +EXPORT_SYMBOL vmlinux 0x581f98da zlib_inflate +EXPORT_SYMBOL vmlinux 0x5826b0c4 snd_device_new +EXPORT_SYMBOL vmlinux 0x582974d3 __devm_release_region +EXPORT_SYMBOL vmlinux 0x582b6275 xfrm_if_unregister_cb +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x5842dbdf tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x5855b740 __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0x5855f0c5 devm_devfreq_add_governor +EXPORT_SYMBOL vmlinux 0x587b0954 kvasprintf +EXPORT_SYMBOL vmlinux 0x587b892e qe_get_num_of_risc +EXPORT_SYMBOL vmlinux 0x5887ec77 flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58b063c2 param_set_ullong +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58bb0d1e tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x58fad869 __var_waitqueue +EXPORT_SYMBOL vmlinux 0x592b5bd9 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x593269ba fput +EXPORT_SYMBOL vmlinux 0x59431b19 ipv4_specific +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x594e1317 __modsi3 +EXPORT_SYMBOL vmlinux 0x59604fb7 devfreq_monitor_suspend +EXPORT_SYMBOL vmlinux 0x59970928 sync_filesystem +EXPORT_SYMBOL vmlinux 0x599b4888 qe_setbrg +EXPORT_SYMBOL vmlinux 0x59a17bfc tegra114_clock_tune_cpu_trimmers_high +EXPORT_SYMBOL vmlinux 0x59b1d17c pci_add_resource +EXPORT_SYMBOL vmlinux 0x59b7cab6 mempool_resize +EXPORT_SYMBOL vmlinux 0x59cf0b3b zstd_compress_bound +EXPORT_SYMBOL vmlinux 0x59d29dab v7_flush_kern_dcache_area +EXPORT_SYMBOL vmlinux 0x59d93e30 mipi_dsi_driver_unregister +EXPORT_SYMBOL vmlinux 0x59db72cc cqhci_deactivate +EXPORT_SYMBOL vmlinux 0x59e5070d __do_div64 +EXPORT_SYMBOL vmlinux 0x59e77aed tcp_seq_stop +EXPORT_SYMBOL vmlinux 0x59edcda1 elm_decode_bch_error_page +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a0e9e36 __ip_select_ident +EXPORT_SYMBOL vmlinux 0x5a120d20 phy_mac_interrupt +EXPORT_SYMBOL vmlinux 0x5a14de15 radix_tree_insert +EXPORT_SYMBOL vmlinux 0x5a172558 pci_release_regions +EXPORT_SYMBOL vmlinux 0x5a292f55 d_instantiate_anon +EXPORT_SYMBOL vmlinux 0x5a297cda set_nlink +EXPORT_SYMBOL vmlinux 0x5a3e3975 snd_timer_close +EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle +EXPORT_SYMBOL vmlinux 0x5a612b6a ipv6_select_ident +EXPORT_SYMBOL vmlinux 0x5a6a2c49 pci_select_bars +EXPORT_SYMBOL vmlinux 0x5a767aaf ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0x5a7cf9c2 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x5a8bb165 devm_rproc_add +EXPORT_SYMBOL vmlinux 0x5a8cde7e phy_device_register +EXPORT_SYMBOL vmlinux 0x5a99a0d7 flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0x5aa1fbe5 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x5aa3c254 padata_free_shell +EXPORT_SYMBOL vmlinux 0x5ab29095 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x5ab2e8bc simple_recursive_removal +EXPORT_SYMBOL vmlinux 0x5ac1e4a9 fs_param_is_path +EXPORT_SYMBOL vmlinux 0x5ac9bee1 generic_write_end +EXPORT_SYMBOL vmlinux 0x5acb898a backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x5ae1154b __traceiter_kfree +EXPORT_SYMBOL vmlinux 0x5ae1d06d dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x5ae7ab72 input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x5aef0010 of_get_property +EXPORT_SYMBOL vmlinux 0x5af23373 generic_permission +EXPORT_SYMBOL vmlinux 0x5af9d0fd kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0x5b00f90c make_kuid +EXPORT_SYMBOL vmlinux 0x5b04be5a disable_fiq +EXPORT_SYMBOL vmlinux 0x5b062284 gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0x5b0f3058 pcie_print_link_status +EXPORT_SYMBOL vmlinux 0x5b26bc58 timestamp_truncate +EXPORT_SYMBOL vmlinux 0x5b2b160e d_exact_alias +EXPORT_SYMBOL vmlinux 0x5b2ddacf netif_set_tso_max_segs +EXPORT_SYMBOL vmlinux 0x5b2fbf46 key_move +EXPORT_SYMBOL vmlinux 0x5b3f40c7 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x5b46c27f fddi_type_trans +EXPORT_SYMBOL vmlinux 0x5b5830a7 ucc_of_parse_tdm +EXPORT_SYMBOL vmlinux 0x5b7b42a1 noop_fsync +EXPORT_SYMBOL vmlinux 0x5b8dab69 mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0x5ba9632e bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0x5bbe49f4 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x5bc9ee88 inode_set_bytes +EXPORT_SYMBOL vmlinux 0x5bd44fa3 scsi_target_resume +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5bd7f2b5 nf_register_net_hook +EXPORT_SYMBOL vmlinux 0x5bda4214 _raw_read_lock +EXPORT_SYMBOL vmlinux 0x5bdb7603 sock_copy_user_timeval +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5bf8f351 mfd_remove_devices_late +EXPORT_SYMBOL vmlinux 0x5bf922e8 bdevname +EXPORT_SYMBOL vmlinux 0x5c08c585 set_anon_super +EXPORT_SYMBOL vmlinux 0x5c08df93 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x5c0955bf add_watch_to_object +EXPORT_SYMBOL vmlinux 0x5c12dad4 vme_alloc_consistent +EXPORT_SYMBOL vmlinux 0x5c14ad91 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x5c150d13 flow_block_cb_free +EXPORT_SYMBOL vmlinux 0x5c16947f register_netdev +EXPORT_SYMBOL vmlinux 0x5c1e2454 tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0x5c1f470e ppp_channel_index +EXPORT_SYMBOL vmlinux 0x5c2256d9 cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0x5c2300dc do_SAK +EXPORT_SYMBOL vmlinux 0x5c3c7387 kstrtoull +EXPORT_SYMBOL vmlinux 0x5c44138c _dev_crit +EXPORT_SYMBOL vmlinux 0x5c4aa598 folio_migrate_copy +EXPORT_SYMBOL vmlinux 0x5c5069d9 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x5c645437 generic_fill_statx_attr +EXPORT_SYMBOL vmlinux 0x5c716976 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x5c7f1284 int_sqrt64 +EXPORT_SYMBOL vmlinux 0x5c83f880 reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0x5c9284a0 processor_id +EXPORT_SYMBOL vmlinux 0x5c979e3c fault_in_iov_iter_readable +EXPORT_SYMBOL vmlinux 0x5cbd8e69 __crc32c_le +EXPORT_SYMBOL vmlinux 0x5cd7875a block_read_full_folio +EXPORT_SYMBOL vmlinux 0x5cda1478 setup_arg_pages +EXPORT_SYMBOL vmlinux 0x5ce81e77 audit_log +EXPORT_SYMBOL vmlinux 0x5cf309fe tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5d1d6ae5 flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0x5d37d658 dim_park_tired +EXPORT_SYMBOL vmlinux 0x5d3f1adc truncate_setsize +EXPORT_SYMBOL vmlinux 0x5d46c5ea dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d49d8da cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x5d4b68c0 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x5d4d81d7 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x5d50b68d posix_acl_chmod +EXPORT_SYMBOL vmlinux 0x5d5ec929 iov_iter_revert +EXPORT_SYMBOL vmlinux 0x5d5eeb84 pci_iounmap +EXPORT_SYMBOL vmlinux 0x5d63e749 vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0x5d7200c0 md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x5da0c832 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x5dba71d7 sg_last +EXPORT_SYMBOL vmlinux 0x5dcf6341 outer_cache +EXPORT_SYMBOL vmlinux 0x5dd9543c inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x5ddac875 abort_creds +EXPORT_SYMBOL vmlinux 0x5ddba986 free_cgroup_ns +EXPORT_SYMBOL vmlinux 0x5df091f9 setattr_prepare +EXPORT_SYMBOL vmlinux 0x5df385c7 load_nls_default +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e1318be xsk_set_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x5e148b86 md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x5e171310 tcp_release_cb +EXPORT_SYMBOL vmlinux 0x5e207aa5 filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e38c830 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x5e392a05 mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0x5e40c294 page_pool_release_page +EXPORT_SYMBOL vmlinux 0x5e4dbcff pps_event +EXPORT_SYMBOL vmlinux 0x5e556f87 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x5e689fde con_is_visible +EXPORT_SYMBOL vmlinux 0x5e6de149 unpin_user_page +EXPORT_SYMBOL vmlinux 0x5e6f91f9 tegra_powergate_remove_clamping +EXPORT_SYMBOL vmlinux 0x5e7e03a9 xz_dec_microlzma_run +EXPORT_SYMBOL vmlinux 0x5e7e27eb writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x5e7e8b42 devm_clk_put +EXPORT_SYMBOL vmlinux 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL vmlinux 0x5e8820d2 flush_dcache_page +EXPORT_SYMBOL vmlinux 0x5e8c8545 security_sctp_assoc_established +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e97b2fe __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x5ea5c3b9 inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x5eac7d8c param_get_charp +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x5ec88bf6 register_fib_notifier +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed05bf6 hdmi_audio_infoframe_pack +EXPORT_SYMBOL vmlinux 0x5ed2d33f new_inode +EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5edebbaf ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0x5f01f9c5 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x5f091a67 of_graph_get_port_parent +EXPORT_SYMBOL vmlinux 0x5f098b2a in6addr_interfacelocal_allrouters +EXPORT_SYMBOL vmlinux 0x5f0e76ee netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0x5f1f3bea phy_find_first +EXPORT_SYMBOL vmlinux 0x5f2ba55e security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x5f3b74ce blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x5f4864e2 eth_header_parse +EXPORT_SYMBOL vmlinux 0x5f4999d3 genphy_write_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x5f4f5c8b simple_release_fs +EXPORT_SYMBOL vmlinux 0x5f52e84d qcom_scm_pas_metadata_release +EXPORT_SYMBOL vmlinux 0x5f5441c8 __ubsan_handle_alignment_assumption +EXPORT_SYMBOL vmlinux 0x5f754e5a memset +EXPORT_SYMBOL vmlinux 0x5f777a8d netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0x5f80763a dst_dev_put +EXPORT_SYMBOL vmlinux 0x5f97a7ca nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x5fa2c338 inet_frag_find +EXPORT_SYMBOL vmlinux 0x5fb01358 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x5fb79bae dma_fence_array_create +EXPORT_SYMBOL vmlinux 0x5fbc8d12 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0x5fe05a84 f_setown +EXPORT_SYMBOL vmlinux 0x5ff11cc3 pcibios_min_io +EXPORT_SYMBOL vmlinux 0x5ff6bceb dev_uc_add +EXPORT_SYMBOL vmlinux 0x6000fffc blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x6003b632 sk_wait_data +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x600de027 deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x60290ed3 vif_device_init +EXPORT_SYMBOL vmlinux 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL vmlinux 0x602ce7df phy_aneg_done +EXPORT_SYMBOL vmlinux 0x602ea605 param_get_uint +EXPORT_SYMBOL vmlinux 0x6030cc90 snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL vmlinux 0x60347d97 bio_init +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x60371ea2 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x603d0bcd netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0x60533b1a neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x60535ba6 __ps2_command +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x606368ff vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0x608a691b page_address +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x6098f7ed cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton +EXPORT_SYMBOL vmlinux 0x609d8ab5 neigh_direct_output +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a09884 flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60bf45a2 of_get_nand_ecc_user_config +EXPORT_SYMBOL vmlinux 0x60bffe6d div64_u64 +EXPORT_SYMBOL vmlinux 0x60cbaf35 dev_lstats_read +EXPORT_SYMBOL vmlinux 0x60d8ab30 vme_lm_get +EXPORT_SYMBOL vmlinux 0x60d9ef42 tty_port_put +EXPORT_SYMBOL vmlinux 0x60e02309 __traceiter_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x60eb9afe arp_xmit +EXPORT_SYMBOL vmlinux 0x60f58d78 rproc_report_crash +EXPORT_SYMBOL vmlinux 0x61073748 bprm_change_interp +EXPORT_SYMBOL vmlinux 0x6121bd54 dql_init +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x61347034 mb_cache_entry_delete_or_get +EXPORT_SYMBOL vmlinux 0x613d0028 seq_lseek +EXPORT_SYMBOL vmlinux 0x6147fbda of_get_mac_address +EXPORT_SYMBOL vmlinux 0x6156c7f4 net_dim +EXPORT_SYMBOL vmlinux 0x61587c7f dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x61590de7 gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +EXPORT_SYMBOL vmlinux 0x615ce16c page_cache_next_miss +EXPORT_SYMBOL vmlinux 0x6165d7f9 dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0x617d72a4 pci_request_region +EXPORT_SYMBOL vmlinux 0x617f8b7d kill_block_super +EXPORT_SYMBOL vmlinux 0x619ab93e xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0x61a12e06 blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0x61aa94cd dma_resv_replace_fences +EXPORT_SYMBOL vmlinux 0x61b02813 dev_trans_start +EXPORT_SYMBOL vmlinux 0x61b76bb9 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61bbf17e uart_update_timeout +EXPORT_SYMBOL vmlinux 0x61bf1eb2 skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0x61c4352d blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0x61c76b3a proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x61ca84f6 devm_clk_release_clkdev +EXPORT_SYMBOL vmlinux 0x61df398d fifo_set_limit +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x61f060ad nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x6214aef2 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x6215fa63 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x62168bdc kthread_stop +EXPORT_SYMBOL vmlinux 0x621b9343 xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x621f4d54 vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x622f1b79 block_commit_write +EXPORT_SYMBOL vmlinux 0x624bd99f blk_queue_split +EXPORT_SYMBOL vmlinux 0x62678fa1 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x6270820b dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62791110 qdisc_put +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x628a79e7 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x628c4e73 flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0x62973dfe snd_timer_notify +EXPORT_SYMBOL vmlinux 0x62b9567c override_creds +EXPORT_SYMBOL vmlinux 0x62d85b41 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0x62e8d280 phy_get_c45_ids +EXPORT_SYMBOL vmlinux 0x62eb7853 reuseport_migrate_sock +EXPORT_SYMBOL vmlinux 0x62f259ac snd_pcm_release_substream +EXPORT_SYMBOL vmlinux 0x62f576d9 trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0x630240fc jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x630da232 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x6315c42c zstd_get_params +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x6319e96b xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x632a27d1 clk_bulk_get +EXPORT_SYMBOL vmlinux 0x6342f99f mipi_dsi_create_packet +EXPORT_SYMBOL vmlinux 0x6344c1ad ww_mutex_lock +EXPORT_SYMBOL vmlinux 0x6351ac42 zstd_get_error_name +EXPORT_SYMBOL vmlinux 0x63652c71 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x6367976c configfs_unregister_group +EXPORT_SYMBOL vmlinux 0x638eaefb phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0x63902407 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63aa849d vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63c892b8 __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0x63e1a4ca vlan_for_each +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63f17622 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x63ff81cd pci_scan_slot +EXPORT_SYMBOL vmlinux 0x640f15c5 skb_eth_push +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x64236a28 rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0x643c0676 input_match_device_id +EXPORT_SYMBOL vmlinux 0x6442e6c6 ip6_frag_next +EXPORT_SYMBOL vmlinux 0x6458ea2a locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0x646415e4 phy_attached_print +EXPORT_SYMBOL vmlinux 0x647af474 prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x64833350 i2c_smbus_pec +EXPORT_SYMBOL vmlinux 0x6483760d inet_stream_ops +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64ae1788 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x64b7814a param_ops_ulong +EXPORT_SYMBOL vmlinux 0x64fcf314 fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL vmlinux 0x651005b2 make_bad_inode +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x6514c1e6 flow_get_u32_src +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x651bd6ea devm_backlight_device_register +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x653d6122 tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0x65404646 xfrm_unregister_type_offload +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x654386d2 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x65460871 flush_dcache_folio +EXPORT_SYMBOL vmlinux 0x65464c16 clkdev_drop +EXPORT_SYMBOL vmlinux 0x654b855e rproc_put +EXPORT_SYMBOL vmlinux 0x655ff853 jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x6578533e prepare_to_wait +EXPORT_SYMBOL vmlinux 0x657b2e09 mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset +EXPORT_SYMBOL vmlinux 0x658f0f75 d_splice_alias +EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc +EXPORT_SYMBOL vmlinux 0x65a84860 kernel_read +EXPORT_SYMBOL vmlinux 0x65d411e9 idr_get_next +EXPORT_SYMBOL vmlinux 0x65d9e877 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e29ee7 tcf_qevent_handle +EXPORT_SYMBOL vmlinux 0x65f61ca7 rpmh_invalidate +EXPORT_SYMBOL vmlinux 0x662074a4 vme_master_mmap +EXPORT_SYMBOL vmlinux 0x6620801a rproc_detach +EXPORT_SYMBOL vmlinux 0x66231326 km_new_mapping +EXPORT_SYMBOL vmlinux 0x66474aa4 neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0x664da36e scsi_report_opcode +EXPORT_SYMBOL vmlinux 0x665052b1 mmc_of_parse_voltage +EXPORT_SYMBOL vmlinux 0x6657feb3 netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0x665e2513 zstd_max_clevel +EXPORT_SYMBOL vmlinux 0x66657274 kmalloc_order +EXPORT_SYMBOL vmlinux 0x666604c8 cad_pid +EXPORT_SYMBOL vmlinux 0x666863dc par_io_config_pin +EXPORT_SYMBOL vmlinux 0x666d062f pci_choose_state +EXPORT_SYMBOL vmlinux 0x666d3aae genlmsg_put +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x6674bd14 omap_vrfb_request_ctx +EXPORT_SYMBOL vmlinux 0x667e89a2 tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0x66ac2163 keyring_search +EXPORT_SYMBOL vmlinux 0x66aed8c5 csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x66b236e4 free_task +EXPORT_SYMBOL vmlinux 0x66d3f673 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x66e82193 fwnode_iomap +EXPORT_SYMBOL vmlinux 0x66ef8538 sk_alloc +EXPORT_SYMBOL vmlinux 0x6706adc0 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x67092819 resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x670b6d15 devfreq_remove_governor +EXPORT_SYMBOL vmlinux 0x67136e84 inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0x67200e81 mmc_can_trim +EXPORT_SYMBOL vmlinux 0x67393f1b page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0x674911bf mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x675125a4 udp_gro_receive +EXPORT_SYMBOL vmlinux 0x676bbc0f _set_bit +EXPORT_SYMBOL vmlinux 0x67759b5c kobject_del +EXPORT_SYMBOL vmlinux 0x67a7246d release_sock +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b616eb config_item_init_type_name +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67b8a54d param_get_invbool +EXPORT_SYMBOL vmlinux 0x67bb66b6 fasync_helper +EXPORT_SYMBOL vmlinux 0x67ce16a4 fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0x67d27f1e rawnand_sw_bch_cleanup +EXPORT_SYMBOL vmlinux 0x67e07440 d_obtain_root +EXPORT_SYMBOL vmlinux 0x67ea6e61 trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0x67eceb09 __dec_node_page_state +EXPORT_SYMBOL vmlinux 0x67effda8 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x6810696f kernel_write +EXPORT_SYMBOL vmlinux 0x683a670c pci_dev_get +EXPORT_SYMBOL vmlinux 0x6845c537 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x688fd0cb bpf_link_put +EXPORT_SYMBOL vmlinux 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL vmlinux 0x68c497c6 devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0x68c87f60 of_get_next_available_child +EXPORT_SYMBOL vmlinux 0x68d55655 vme_bus_type +EXPORT_SYMBOL vmlinux 0x68db1051 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x68de9516 kunmap_high +EXPORT_SYMBOL vmlinux 0x68e19ea1 ptp_clock_index +EXPORT_SYMBOL vmlinux 0x68e61f15 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x68ea01f7 devm_nvmem_cell_put +EXPORT_SYMBOL vmlinux 0x68f8b6e9 fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0x68f98efd simple_open +EXPORT_SYMBOL vmlinux 0x68fb581a icst307_idx2s +EXPORT_SYMBOL vmlinux 0x6917a77e __traceiter_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x6917f8bc netif_napi_add_weight +EXPORT_SYMBOL vmlinux 0x692094a7 netdev_bonding_info_change +EXPORT_SYMBOL vmlinux 0x69565a53 mipi_dsi_dcs_write_buffer +EXPORT_SYMBOL vmlinux 0x695dd7a6 snd_pcm_lib_ioctl +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x697a56a6 uart_match_port +EXPORT_SYMBOL vmlinux 0x699c6b81 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x69ae2c7f bio_chain +EXPORT_SYMBOL vmlinux 0x69bc5f95 km_policy_expired +EXPORT_SYMBOL vmlinux 0x69c45533 ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x69de8757 vme_check_window +EXPORT_SYMBOL vmlinux 0x69df02f9 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL vmlinux 0x69e51d08 __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a048dd7 blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0x6a0706d4 cpu_user +EXPORT_SYMBOL vmlinux 0x6a16523f dquot_get_next_id +EXPORT_SYMBOL vmlinux 0x6a25a2d4 pci_write_config_dword +EXPORT_SYMBOL vmlinux 0x6a59bbeb done_path_create +EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages +EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x6a6bf76d mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0x6a6e05bf kstrtou8 +EXPORT_SYMBOL vmlinux 0x6a6e22a0 blk_mq_free_tag_set +EXPORT_SYMBOL vmlinux 0x6a790acf write_cache_pages +EXPORT_SYMBOL vmlinux 0x6a7d281a filemap_dirty_folio +EXPORT_SYMBOL vmlinux 0x6a83377f __vfs_removexattr +EXPORT_SYMBOL vmlinux 0x6a8889fe neigh_for_each +EXPORT_SYMBOL vmlinux 0x6a89e53d file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x6a9391b4 dst_destroy +EXPORT_SYMBOL vmlinux 0x6a9a06de nlmsg_notify +EXPORT_SYMBOL vmlinux 0x6ab02d73 skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0x6ac491da param_set_charp +EXPORT_SYMBOL vmlinux 0x6ac5b087 rt_mutex_base_init +EXPORT_SYMBOL vmlinux 0x6ac80c29 __tracepoint_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0x6ad5d0ed linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x6ad6e024 phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x6ad7a335 prepare_creds +EXPORT_SYMBOL vmlinux 0x6ad80afa param_get_hexint +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6af7b21a packing +EXPORT_SYMBOL vmlinux 0x6b0a24da __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b3d6972 request_key_tag +EXPORT_SYMBOL vmlinux 0x6b48f7fc of_get_cpu_state_node +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b604710 lockref_get_not_zero +EXPORT_SYMBOL vmlinux 0x6b67f49f __breadahead +EXPORT_SYMBOL vmlinux 0x6b77eaea jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6b9a4525 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x6b9d980f finish_open +EXPORT_SYMBOL vmlinux 0x6ba13061 sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x6bac0f4d pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x6bb8c16b serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bc89da3 eth_gro_complete +EXPORT_SYMBOL vmlinux 0x6bd1c72e redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x6bef8402 ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x6bf0a055 max8998_update_reg +EXPORT_SYMBOL vmlinux 0x6bf9c5d8 of_translate_address +EXPORT_SYMBOL vmlinux 0x6c03a782 cros_ec_query_all +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c257ac0 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x6c5ff091 netdev_pick_tx +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c80e26d clear_nlink +EXPORT_SYMBOL vmlinux 0x6c810e42 __xa_clear_mark +EXPORT_SYMBOL vmlinux 0x6c854498 user_revoke +EXPORT_SYMBOL vmlinux 0x6c8d9bb6 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x6c949e41 tegra_dfll_unregister +EXPORT_SYMBOL vmlinux 0x6c9d42d4 write_inode_now +EXPORT_SYMBOL vmlinux 0x6ca44d7a pci_enable_ptm +EXPORT_SYMBOL vmlinux 0x6caaaf00 fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0x6caef131 ata_print_version +EXPORT_SYMBOL vmlinux 0x6cb05017 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6cbce29b inode_permission +EXPORT_SYMBOL vmlinux 0x6ccac69d __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x6ccf947c input_register_device +EXPORT_SYMBOL vmlinux 0x6cd2eb1d tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0x6cdff22b __brelse +EXPORT_SYMBOL vmlinux 0x6cf0d67d qe_get_num_of_snums +EXPORT_SYMBOL vmlinux 0x6d02a72f page_pool_put_page_bulk +EXPORT_SYMBOL vmlinux 0x6d1088b8 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d39ce42 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x6d481afe snd_card_register +EXPORT_SYMBOL vmlinux 0x6d53f6a8 netdev_core_stats_alloc +EXPORT_SYMBOL vmlinux 0x6d55f555 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x6d5c4b17 __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x6d5f06e1 ucc_fast_transmit_on_demand +EXPORT_SYMBOL vmlinux 0x6d662533 _find_first_bit_le +EXPORT_SYMBOL vmlinux 0x6d686182 __vfs_getxattr +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6d89b199 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x6d98d9e0 netdev_txq_to_tc +EXPORT_SYMBOL vmlinux 0x6d9d5f67 vme_irq_handler +EXPORT_SYMBOL vmlinux 0x6d9f2003 build_skb +EXPORT_SYMBOL vmlinux 0x6dba9051 xz_dec_microlzma_end +EXPORT_SYMBOL vmlinux 0x6dca4a26 adjust_resource +EXPORT_SYMBOL vmlinux 0x6dca564f simple_setattr +EXPORT_SYMBOL vmlinux 0x6dcf1ce4 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x6dcf857f uuid_null +EXPORT_SYMBOL vmlinux 0x6ddcdbad revert_creds +EXPORT_SYMBOL vmlinux 0x6de938fe sock_kmalloc +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6dff9fab padata_do_serial +EXPORT_SYMBOL vmlinux 0x6e23306f qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0x6e3af01f netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x6e4e7714 dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0x6e6def9f vfio_dma_rw +EXPORT_SYMBOL vmlinux 0x6e70088f netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e7d371e dcache_readdir +EXPORT_SYMBOL vmlinux 0x6e7df214 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x6e8ca5f7 pci_restore_state +EXPORT_SYMBOL vmlinux 0x6e9d581c sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea64d1a register_md_personality +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6ebcd28b __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x6ecdb792 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL vmlinux 0x6efe682a bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0x6f013ecd __init_rwsem +EXPORT_SYMBOL vmlinux 0x6f059ebf __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x6f06fe62 cros_ec_get_host_event +EXPORT_SYMBOL vmlinux 0x6f0a0560 param_ops_bint +EXPORT_SYMBOL vmlinux 0x6f1b037f pci_disable_msix +EXPORT_SYMBOL vmlinux 0x6f5fd617 sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0x6f734f57 netdev_err +EXPORT_SYMBOL vmlinux 0x6f746991 __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0x6f83fba8 hex2bin +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6f9a3416 fwnode_get_phy_id +EXPORT_SYMBOL vmlinux 0x6f9a4736 sock_no_connect +EXPORT_SYMBOL vmlinux 0x6fa6597c set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x6faf1b8e twl6040_reg_read +EXPORT_SYMBOL vmlinux 0x6fb2fad9 serio_open +EXPORT_SYMBOL vmlinux 0x6fb374e6 down_write_killable +EXPORT_SYMBOL vmlinux 0x6fbe4717 idr_replace +EXPORT_SYMBOL vmlinux 0x6fc42109 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x6fc8034a of_phy_find_device +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x6fdb7027 vga_get +EXPORT_SYMBOL vmlinux 0x6fe2107d tcp_check_req +EXPORT_SYMBOL vmlinux 0x6ff4a778 folio_end_private_2 +EXPORT_SYMBOL vmlinux 0x6fff93ea i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x70123aca pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x7013ce78 gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0x7016a6e9 eth_get_headlen +EXPORT_SYMBOL vmlinux 0x702946da ucs2_strlen +EXPORT_SYMBOL vmlinux 0x702a7ee2 mii_check_media +EXPORT_SYMBOL vmlinux 0x703b6bb4 mmc_card_alternative_gpt_sector +EXPORT_SYMBOL vmlinux 0x703f6e47 __ip_dev_find +EXPORT_SYMBOL vmlinux 0x705da535 devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x706633b2 remove_arg_zero +EXPORT_SYMBOL vmlinux 0x70703993 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0x7079cefc dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x70a19105 __of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0x70a2d1cd skb_vlan_untag +EXPORT_SYMBOL vmlinux 0x70a342ee lookup_one_unlocked +EXPORT_SYMBOL vmlinux 0x70d43ccc vfs_get_super +EXPORT_SYMBOL vmlinux 0x70f9ece3 vme_bus_num +EXPORT_SYMBOL vmlinux 0x7107567d make_kprojid +EXPORT_SYMBOL vmlinux 0x711b8a9b __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x71207c81 padata_set_cpumask +EXPORT_SYMBOL vmlinux 0x712110ab proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x71298cf8 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x7137bb36 reuseport_add_sock +EXPORT_SYMBOL vmlinux 0x7153fdd6 twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x7159d4ce tcp_child_process +EXPORT_SYMBOL vmlinux 0x715a5ed0 vprintk +EXPORT_SYMBOL vmlinux 0x71656a0c scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0x716b58cb ioport_resource +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x7182a799 pcibios_fixup_bus +EXPORT_SYMBOL vmlinux 0x719c3d69 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71a968f7 blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x71b92a4a blk_execute_rq +EXPORT_SYMBOL vmlinux 0x71c33930 padata_free +EXPORT_SYMBOL vmlinux 0x71c90087 memcmp +EXPORT_SYMBOL vmlinux 0x71d37b88 add_to_pipe +EXPORT_SYMBOL vmlinux 0x71d935b2 bdev_check_media_change +EXPORT_SYMBOL vmlinux 0x71ef2f8c mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0x71f7de4f proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x71fe8c02 get_fs_type +EXPORT_SYMBOL vmlinux 0x72005410 hdmi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x7206ea32 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x7207221e netlink_net_capable +EXPORT_SYMBOL vmlinux 0x720a27a7 __register_blkdev +EXPORT_SYMBOL vmlinux 0x720be098 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x7216e3da ip_setsockopt +EXPORT_SYMBOL vmlinux 0x721ec013 skb_clone_sk +EXPORT_SYMBOL vmlinux 0x722eb268 pci_request_regions +EXPORT_SYMBOL vmlinux 0x72436161 dm_register_target +EXPORT_SYMBOL vmlinux 0x725f2afe register_shrinker +EXPORT_SYMBOL vmlinux 0x727a3ffe of_graph_get_remote_endpoint +EXPORT_SYMBOL vmlinux 0x72831976 keyring_clear +EXPORT_SYMBOL vmlinux 0x728d68c5 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x72acc8ef blk_post_runtime_suspend +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72c8ff0a flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0x72c90bea jbd2_wait_inode_data +EXPORT_SYMBOL vmlinux 0x72df40b3 kern_unmount_array +EXPORT_SYMBOL vmlinux 0x72e4869c tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x73076315 snd_pci_quirk_lookup_id +EXPORT_SYMBOL vmlinux 0x730b6399 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL vmlinux 0x730f5c97 sk_stop_timer +EXPORT_SYMBOL vmlinux 0x7310b20a __vfs_setxattr +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x73170413 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x7317790e lockref_put_or_lock +EXPORT_SYMBOL vmlinux 0x732dd326 groups_free +EXPORT_SYMBOL vmlinux 0x73401552 tcf_idr_release +EXPORT_SYMBOL vmlinux 0x7359948d vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0x735e6ce6 pci_dev_put +EXPORT_SYMBOL vmlinux 0x73667310 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x737a951f blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x738bccc8 kobject_put +EXPORT_SYMBOL vmlinux 0x73998efa cpm_muram_free_addr +EXPORT_SYMBOL vmlinux 0x7399d4f6 dev_addr_add +EXPORT_SYMBOL vmlinux 0x739fd00f __SCK__tp_func_module_get +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73bd4d88 tty_do_resize +EXPORT_SYMBOL vmlinux 0x73c56198 __mdiobus_write +EXPORT_SYMBOL vmlinux 0x73c62162 max8925_reg_write +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x73e29d7f phy_detach +EXPORT_SYMBOL vmlinux 0x740df8fc mipi_dsi_dcs_set_display_off +EXPORT_SYMBOL vmlinux 0x7410aba2 strreplace +EXPORT_SYMBOL vmlinux 0x7411bf1e no_llseek +EXPORT_SYMBOL vmlinux 0x7412d96b backlight_device_get_by_type +EXPORT_SYMBOL vmlinux 0x74192380 qcom_scm_pas_init_image +EXPORT_SYMBOL vmlinux 0x741fd49d jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x742578a5 wait_for_random_bytes +EXPORT_SYMBOL vmlinux 0x7429e20c kstrtos8 +EXPORT_SYMBOL vmlinux 0x742fc1e7 fault_in_safe_writeable +EXPORT_SYMBOL vmlinux 0x74465f42 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x7451b933 seq_hex_dump +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x7464044a of_device_alloc +EXPORT_SYMBOL vmlinux 0x747b20ee vme_irq_request +EXPORT_SYMBOL vmlinux 0x7483dc59 pci_dev_present +EXPORT_SYMBOL vmlinux 0x748cc482 skb_seq_read +EXPORT_SYMBOL vmlinux 0x74ac158f __phy_read_mmd +EXPORT_SYMBOL vmlinux 0x74b372ee proc_create_data +EXPORT_SYMBOL vmlinux 0x74b8e674 slhc_toss +EXPORT_SYMBOL vmlinux 0x74c104d8 rtc_add_group +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74cbc14a tcp_read_sock +EXPORT_SYMBOL vmlinux 0x74d883e7 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x74e08177 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x74e46dac imx_ssi_fiq_tx_buffer +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74f07b3c mii_check_link +EXPORT_SYMBOL vmlinux 0x74f8eb95 jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0x7505bdef memchr_inv +EXPORT_SYMBOL vmlinux 0x7520c00e unregister_key_type +EXPORT_SYMBOL vmlinux 0x75216f66 sget_fc +EXPORT_SYMBOL vmlinux 0x75344eb9 snd_ctl_add +EXPORT_SYMBOL vmlinux 0x75437897 snd_timer_interrupt +EXPORT_SYMBOL vmlinux 0x755a41d3 vga_remove_vgacon +EXPORT_SYMBOL vmlinux 0x755b9d3b sget +EXPORT_SYMBOL vmlinux 0x7567d381 __get_fiq_regs +EXPORT_SYMBOL vmlinux 0x7577d053 do_clone_file_range +EXPORT_SYMBOL vmlinux 0x757ac0ae cdrom_open +EXPORT_SYMBOL vmlinux 0x757e6313 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x7580d007 padata_alloc +EXPORT_SYMBOL vmlinux 0x75861ee7 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x759a3da0 component_match_add_typed +EXPORT_SYMBOL vmlinux 0x759c1119 kernel_listen +EXPORT_SYMBOL vmlinux 0x75adf405 pci_read_config_word +EXPORT_SYMBOL vmlinux 0x75b3b54e tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0x75b52d09 pcim_iomap +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75c7111a __skb_recv_udp +EXPORT_SYMBOL vmlinux 0x75cac60a bio_uninit +EXPORT_SYMBOL vmlinux 0x75d0deb9 nsecs_to_jiffies64 +EXPORT_SYMBOL vmlinux 0x75d499dd vmcore_add_device_dump +EXPORT_SYMBOL vmlinux 0x75dc0c46 block_truncate_page +EXPORT_SYMBOL vmlinux 0x75e3f314 register_cdrom +EXPORT_SYMBOL vmlinux 0x75e48a97 touch_atime +EXPORT_SYMBOL vmlinux 0x75f05efc cqhci_resume +EXPORT_SYMBOL vmlinux 0x75f26fad pci_remove_bus +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760b3199 __sk_receive_skb +EXPORT_SYMBOL vmlinux 0x7610c29f __mod_lruvec_page_state +EXPORT_SYMBOL vmlinux 0x7618af39 hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0x762ca79f md_cluster_ops +EXPORT_SYMBOL vmlinux 0x7633a235 generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x7643dff1 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x7666cf1f nla_put +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x766bb3f7 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x7671444e flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0x76739d31 mipi_dsi_device_unregister +EXPORT_SYMBOL vmlinux 0x7682ba4e __copy_overflow +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x76a2cff0 rt6_lookup +EXPORT_SYMBOL vmlinux 0x76a5ccf1 jbd2_fc_get_buf +EXPORT_SYMBOL vmlinux 0x76a92723 nf_register_net_hooks +EXPORT_SYMBOL vmlinux 0x76cf47f6 __aeabi_llsl +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76eb5f54 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x76ee43c2 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x77069553 empty_zero_page +EXPORT_SYMBOL vmlinux 0x770f081e __filemap_get_folio +EXPORT_SYMBOL vmlinux 0x77179fc7 file_remove_privs +EXPORT_SYMBOL vmlinux 0x77303294 nand_monolithic_write_page_raw +EXPORT_SYMBOL vmlinux 0x7732159c free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x77331053 generic_key_instantiate +EXPORT_SYMBOL vmlinux 0x77378da6 snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL vmlinux 0x7742efac __post_watch_notification +EXPORT_SYMBOL vmlinux 0x7767ae77 mmc_detect_change +EXPORT_SYMBOL vmlinux 0x7773313d pci_release_resource +EXPORT_SYMBOL vmlinux 0x778da792 mount_bdev +EXPORT_SYMBOL vmlinux 0x7790b394 pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0x7791193f icst525_s2div +EXPORT_SYMBOL vmlinux 0x7792884f cdev_del +EXPORT_SYMBOL vmlinux 0x7793ba27 snd_sgbuf_get_chunk_size +EXPORT_SYMBOL vmlinux 0x77b7a7da dec_node_page_state +EXPORT_SYMBOL vmlinux 0x77bae010 ip_getsockopt +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77d1082e put_ipc_ns +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x77f6f183 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0x77fb37be memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0x7800055b input_get_keycode +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x7827d430 __break_lease +EXPORT_SYMBOL vmlinux 0x784b5bd4 gro_cells_init +EXPORT_SYMBOL vmlinux 0x784f2982 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x78546644 phy_error +EXPORT_SYMBOL vmlinux 0x785da817 skb_dequeue +EXPORT_SYMBOL vmlinux 0x786f150b noop_llseek +EXPORT_SYMBOL vmlinux 0x7874d2d0 pci_read_vpd +EXPORT_SYMBOL vmlinux 0x78779c0b set_fiq_handler +EXPORT_SYMBOL vmlinux 0x787a3141 dcb_setapp +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x78943eab xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0x789c1897 devm_free_irq +EXPORT_SYMBOL vmlinux 0x78a010cf xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78b2f46d twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x78b887ed vsprintf +EXPORT_SYMBOL vmlinux 0x78d16482 simple_write_begin +EXPORT_SYMBOL vmlinux 0x78d3767e netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78e39fa0 generic_file_fsync +EXPORT_SYMBOL vmlinux 0x791b2497 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x793c6bd4 iov_iter_xarray +EXPORT_SYMBOL vmlinux 0x79456942 iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x794765d1 mempool_free +EXPORT_SYMBOL vmlinux 0x79507121 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0x795902d0 security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0x795f2299 __netif_rx +EXPORT_SYMBOL vmlinux 0x796083e2 request_partial_firmware_into_buf +EXPORT_SYMBOL vmlinux 0x79760c01 __inode_add_bytes +EXPORT_SYMBOL vmlinux 0x7985fc35 netdev_warn +EXPORT_SYMBOL vmlinux 0x798c0f1b migrate_page_copy +EXPORT_SYMBOL vmlinux 0x79912b21 con_copy_unimap +EXPORT_SYMBOL vmlinux 0x79be7dc1 config_group_init_type_name +EXPORT_SYMBOL vmlinux 0x79dad2b5 start_tty +EXPORT_SYMBOL vmlinux 0x79de38e8 tcf_block_put +EXPORT_SYMBOL vmlinux 0x79e2152f init_net +EXPORT_SYMBOL vmlinux 0x79e65ca2 __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x79f02a0b scsi_device_get +EXPORT_SYMBOL vmlinux 0x79f1c36c tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x79fa1deb imx_ssi_fiq_rx_buffer +EXPORT_SYMBOL vmlinux 0x79fd34d5 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a0c1de0 pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x7a0cd7ba tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a2ff57e security_current_getsecid_subj +EXPORT_SYMBOL vmlinux 0x7a387a07 __mdiobus_register +EXPORT_SYMBOL vmlinux 0x7a39a051 udp_prot +EXPORT_SYMBOL vmlinux 0x7a3d848a __lock_sock_fast +EXPORT_SYMBOL vmlinux 0x7a3e8a42 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0x7a42fc0f genphy_suspend +EXPORT_SYMBOL vmlinux 0x7a44c000 bitmap_print_list_to_buf +EXPORT_SYMBOL vmlinux 0x7a44c048 thaw_super +EXPORT_SYMBOL vmlinux 0x7a53a06d flow_indr_dev_exists +EXPORT_SYMBOL vmlinux 0x7a607396 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x7a619ee4 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x7a6ce6e1 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x7a758c74 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x7a780733 inet_listen +EXPORT_SYMBOL vmlinux 0x7a79b9f3 __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x7a8fe503 phy_register_fixup +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7aa383bd dev_mc_sync +EXPORT_SYMBOL vmlinux 0x7aa48a8a scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x7aab9345 dev_uc_del +EXPORT_SYMBOL vmlinux 0x7ab1781d __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x7ab4ec54 param_get_byte +EXPORT_SYMBOL vmlinux 0x7ab7b695 ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt +EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7ade9187 gen_pool_dma_alloc +EXPORT_SYMBOL vmlinux 0x7aded2f7 down_write_trylock +EXPORT_SYMBOL vmlinux 0x7ae4c2a7 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x7ae5d317 qe_get_snum +EXPORT_SYMBOL vmlinux 0x7af0d992 register_sound_mixer +EXPORT_SYMBOL vmlinux 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL vmlinux 0x7b0e205f set_page_writeback +EXPORT_SYMBOL vmlinux 0x7b283ce3 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0x7b2a8d26 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x7b2fb85d __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0x7b325e24 tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0x7b46df96 scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b5c8440 vm_munmap +EXPORT_SYMBOL vmlinux 0x7b646554 config_group_find_item +EXPORT_SYMBOL vmlinux 0x7b7bc447 vga_client_register +EXPORT_SYMBOL vmlinux 0x7b8aba58 d_set_d_op +EXPORT_SYMBOL vmlinux 0x7b97f7f3 sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0x7ba3df37 blk_finish_plug +EXPORT_SYMBOL vmlinux 0x7ba5a3b4 tegra_powergate_power_off +EXPORT_SYMBOL vmlinux 0x7bc6791b __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x7bdd355b generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x7c073633 dev_get_flags +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c1c69be mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x7c26fd51 sgl_free_order +EXPORT_SYMBOL vmlinux 0x7c2a8997 inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0x7c2fd861 rproc_add +EXPORT_SYMBOL vmlinux 0x7c32ac57 __traceiter_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x7c34faa3 file_fdatawait_range +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c55f36e get_watch_queue +EXPORT_SYMBOL vmlinux 0x7c72489e locks_remove_posix +EXPORT_SYMBOL vmlinux 0x7c8cea9e key_create_or_update +EXPORT_SYMBOL vmlinux 0x7cc035a7 __ucmpdi2 +EXPORT_SYMBOL vmlinux 0x7cdd846e noop_dirty_folio +EXPORT_SYMBOL vmlinux 0x7cdeeb4d pgprot_user +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +EXPORT_SYMBOL vmlinux 0x7ce28405 inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0x7ce3aaaa cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x7cf35220 vme_master_free +EXPORT_SYMBOL vmlinux 0x7cf93872 nexthop_bucket_set_hw_flags +EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation +EXPORT_SYMBOL vmlinux 0x7d07944c vc_cons +EXPORT_SYMBOL vmlinux 0x7d09596b dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x7d0a60c2 nand_ecc_finish_io_req +EXPORT_SYMBOL vmlinux 0x7d0d173a blk_integrity_register +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d26fe21 key_invalidate +EXPORT_SYMBOL vmlinux 0x7d2ef2b0 down_read_interruptible +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d4fa30c mdio_bus_type +EXPORT_SYMBOL vmlinux 0x7d51b0a2 kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0x7d6c2636 gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0x7d7115ec PageMovable +EXPORT_SYMBOL vmlinux 0x7d7b5749 param_ops_byte +EXPORT_SYMBOL vmlinux 0x7d7be9d1 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x7d7d9f46 deactivate_super +EXPORT_SYMBOL vmlinux 0x7d905f42 sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0x7d9dc71d security_sb_mnt_opts_compat +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7dc5ffa7 tc_skb_ext_tc_disable +EXPORT_SYMBOL vmlinux 0x7dc983e2 ptp_cancel_worker_sync +EXPORT_SYMBOL vmlinux 0x7dccd87b cpufreq_generic_suspend +EXPORT_SYMBOL vmlinux 0x7dcf77bb jbd2_journal_put_journal_head +EXPORT_SYMBOL vmlinux 0x7dda8e13 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7e0ce0c3 up_write +EXPORT_SYMBOL vmlinux 0x7e10823b ww_mutex_trylock +EXPORT_SYMBOL vmlinux 0x7e19b1e3 seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0x7e2fa0f6 nf_log_unset +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e406f29 d_rehash +EXPORT_SYMBOL vmlinux 0x7e6e4262 param_get_bool +EXPORT_SYMBOL vmlinux 0x7e70da4d seq_bprintf +EXPORT_SYMBOL vmlinux 0x7e71fb81 alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0x7e986abe try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x7ead590d vlan_uses_dev +EXPORT_SYMBOL vmlinux 0x7eb6c0b1 dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0x7ec7f1a7 kthread_complete_and_exit +EXPORT_SYMBOL vmlinux 0x7ecd8edc blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0x7ef2936e tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x7efd8c2a generic_read_dir +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f0b4d59 sk_ns_capable +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f34d820 tcp_stream_memory_free +EXPORT_SYMBOL vmlinux 0x7f485084 md_bitmap_update_sb +EXPORT_SYMBOL vmlinux 0x7f4fa2f7 alloc_fcdev +EXPORT_SYMBOL vmlinux 0x7f5635f8 filp_open +EXPORT_SYMBOL vmlinux 0x7f63b31e _memcpy_toio +EXPORT_SYMBOL vmlinux 0x7f72a2b5 ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x7f775920 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0x7f7cff2b sock_create_kern +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7f8ba8ab inet_addr_type +EXPORT_SYMBOL vmlinux 0x7f946a41 generic_copy_file_range +EXPORT_SYMBOL vmlinux 0x7fb6ed5a seq_dentry +EXPORT_SYMBOL vmlinux 0x7fbbf891 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x7fc0da63 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x7fce778e tegra_ivc_total_queue_size +EXPORT_SYMBOL vmlinux 0x7fd84361 input_get_timestamp +EXPORT_SYMBOL vmlinux 0x7fde2edb vme_master_read +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x7ff66f79 mdio_device_remove +EXPORT_SYMBOL vmlinux 0x7fffffff I_BDEV +EXPORT_SYMBOL vmlinux 0x7fffffff LZ4_decompress_fast_continue +EXPORT_SYMBOL vmlinux 0x7fffffff LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0x7fffffff LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0x7fffffff LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0x7fffffff LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x7fffffff LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0x7fffffff __ClearPageMovable +EXPORT_SYMBOL vmlinux 0x7fffffff __SCK__tp_func_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x7fffffff __SCK__tp_func_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x7fffffff __SCK__tp_func_kmalloc +EXPORT_SYMBOL vmlinux 0x7fffffff __SCK__tp_func_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x7fffffff __SCK__tp_func_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0x7fffffff __SCK__tp_func_spi_transfer_start +EXPORT_SYMBOL vmlinux 0x7fffffff __SetPageMovable +EXPORT_SYMBOL vmlinux 0x7fffffff ___pskb_trim +EXPORT_SYMBOL vmlinux 0x7fffffff ___ratelimit +EXPORT_SYMBOL vmlinux 0x7fffffff __aeabi_lasr +EXPORT_SYMBOL vmlinux 0x7fffffff __aeabi_llsr +EXPORT_SYMBOL vmlinux 0x7fffffff __aeabi_uidiv +EXPORT_SYMBOL vmlinux 0x7fffffff __aeabi_uidivmod +EXPORT_SYMBOL vmlinux 0x7fffffff __aeabi_ulcmp +EXPORT_SYMBOL vmlinux 0x7fffffff __alloc_pages +EXPORT_SYMBOL vmlinux 0x7fffffff __alloc_skb +EXPORT_SYMBOL vmlinux 0x7fffffff __arm_smccc_smc +EXPORT_SYMBOL vmlinux 0x7fffffff __ashrdi3 +EXPORT_SYMBOL vmlinux 0x7fffffff __bio_advance +EXPORT_SYMBOL vmlinux 0x7fffffff __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x7fffffff __bitmap_clear +EXPORT_SYMBOL vmlinux 0x7fffffff __bitmap_or +EXPORT_SYMBOL vmlinux 0x7fffffff __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x7fffffff __bitmap_xor +EXPORT_SYMBOL vmlinux 0x7fffffff __blk_alloc_disk +EXPORT_SYMBOL vmlinux 0x7fffffff __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x7fffffff __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x7fffffff __block_write_begin +EXPORT_SYMBOL vmlinux 0x7fffffff __block_write_full_page +EXPORT_SYMBOL vmlinux 0x7fffffff __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x7fffffff __bread_gfp +EXPORT_SYMBOL vmlinux 0x7fffffff __bswapsi2 +EXPORT_SYMBOL vmlinux 0x7fffffff __cap_empty_set +EXPORT_SYMBOL vmlinux 0x7fffffff __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0x7fffffff __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0x7fffffff __check_object_size +EXPORT_SYMBOL vmlinux 0x7fffffff __check_sticky +EXPORT_SYMBOL vmlinux 0x7fffffff __clzsi2 +EXPORT_SYMBOL vmlinux 0x7fffffff __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x7fffffff __cond_resched_rwlock_read +EXPORT_SYMBOL vmlinux 0x7fffffff __cond_resched_rwlock_write +EXPORT_SYMBOL vmlinux 0x7fffffff __cpu_dying_mask +EXPORT_SYMBOL vmlinux 0x7fffffff __cpu_online_mask +EXPORT_SYMBOL vmlinux 0x7fffffff __cpu_present_mask +EXPORT_SYMBOL vmlinux 0x7fffffff __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0x7fffffff __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x7fffffff __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x7fffffff __ctzdi2 +EXPORT_SYMBOL vmlinux 0x7fffffff __ctzsi2 +EXPORT_SYMBOL vmlinux 0x7fffffff __d_drop +EXPORT_SYMBOL vmlinux 0x7fffffff __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x7fffffff __destroy_inode +EXPORT_SYMBOL vmlinux 0x7fffffff __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0x7fffffff __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x7fffffff __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x7fffffff __dev_set_mtu +EXPORT_SYMBOL vmlinux 0x7fffffff __devm_mdiobus_register +EXPORT_SYMBOL vmlinux 0x7fffffff __devm_request_region +EXPORT_SYMBOL vmlinux 0x7fffffff __do_once_slow_start +EXPORT_SYMBOL vmlinux 0x7fffffff __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0x7fffffff __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0x7fffffff __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0x7fffffff __fdget +EXPORT_SYMBOL vmlinux 0x7fffffff __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0x7fffffff __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0x7fffffff __flush_workqueue +EXPORT_SYMBOL vmlinux 0x7fffffff __folio_cancel_dirty +EXPORT_SYMBOL vmlinux 0x7fffffff __folio_start_writeback +EXPORT_SYMBOL vmlinux 0x7fffffff __fput_sync +EXPORT_SYMBOL vmlinux 0x7fffffff __fs_parse +EXPORT_SYMBOL vmlinux 0x7fffffff __generic_file_fsync +EXPORT_SYMBOL vmlinux 0x7fffffff __genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x7fffffff __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0x7fffffff __genradix_ptr +EXPORT_SYMBOL vmlinux 0x7fffffff __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0x7fffffff __get_user_2 +EXPORT_SYMBOL vmlinux 0x7fffffff __get_user_8 +EXPORT_SYMBOL vmlinux 0x7fffffff __getblk_gfp +EXPORT_SYMBOL vmlinux 0x7fffffff __gnu_mcount_nc +EXPORT_SYMBOL vmlinux 0x7fffffff __hw_addr_init +EXPORT_SYMBOL vmlinux 0x7fffffff __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0x7fffffff __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x7fffffff __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x7fffffff __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0x7fffffff __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x7fffffff __inet_stream_connect +EXPORT_SYMBOL vmlinux 0x7fffffff __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x7fffffff __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x7fffffff __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x7fffffff __invalidate_device +EXPORT_SYMBOL vmlinux 0x7fffffff __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x7fffffff __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x7fffffff __kfence_pool +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_free +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_in +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_max_r +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x7fffffff __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0x7fffffff __kmap_local_page_prot +EXPORT_SYMBOL vmlinux 0x7fffffff __kmap_to_page +EXPORT_SYMBOL vmlinux 0x7fffffff __lshrdi3 +EXPORT_SYMBOL vmlinux 0x7fffffff __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x7fffffff __mdiobus_read +EXPORT_SYMBOL vmlinux 0x7fffffff __memset64 +EXPORT_SYMBOL vmlinux 0x7fffffff __mmap_lock_do_trace_released +EXPORT_SYMBOL vmlinux 0x7fffffff __mmap_lock_do_trace_start_locking +EXPORT_SYMBOL vmlinux 0x7fffffff __mod_node_page_state +EXPORT_SYMBOL vmlinux 0x7fffffff __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x7fffffff __module_put_and_kthread_exit +EXPORT_SYMBOL vmlinux 0x7fffffff __muldi3 +EXPORT_SYMBOL vmlinux 0x7fffffff __mutex_init +EXPORT_SYMBOL vmlinux 0x7fffffff __napi_alloc_frag_align +EXPORT_SYMBOL vmlinux 0x7fffffff __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0x7fffffff __napi_schedule +EXPORT_SYMBOL vmlinux 0x7fffffff __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0x7fffffff __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0x7fffffff __netdev_alloc_frag_align +EXPORT_SYMBOL vmlinux 0x7fffffff __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x7fffffff __next_node_in +EXPORT_SYMBOL vmlinux 0x7fffffff __nla_put +EXPORT_SYMBOL vmlinux 0x7fffffff __nla_put_64bit +EXPORT_SYMBOL vmlinux 0x7fffffff __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x7fffffff __nla_reserve +EXPORT_SYMBOL vmlinux 0x7fffffff __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x7fffffff __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x7fffffff __nlmsg_put +EXPORT_SYMBOL vmlinux 0x7fffffff __num_online_cpus +EXPORT_SYMBOL vmlinux 0x7fffffff __of_get_address +EXPORT_SYMBOL vmlinux 0x7fffffff __par_io_config_pin +EXPORT_SYMBOL vmlinux 0x7fffffff __pci_register_driver +EXPORT_SYMBOL vmlinux 0x7fffffff __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x7fffffff __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x7fffffff __phy_resume +EXPORT_SYMBOL vmlinux 0x7fffffff __phy_write_mmd +EXPORT_SYMBOL vmlinux 0x7fffffff __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0x7fffffff __posix_acl_create +EXPORT_SYMBOL vmlinux 0x7fffffff __printk_cpu_sync_put +EXPORT_SYMBOL vmlinux 0x7fffffff __printk_cpu_sync_try_get +EXPORT_SYMBOL vmlinux 0x7fffffff __put_cred +EXPORT_SYMBOL vmlinux 0x7fffffff __put_page +EXPORT_SYMBOL vmlinux 0x7fffffff __put_user_1 +EXPORT_SYMBOL vmlinux 0x7fffffff __put_user_2 +EXPORT_SYMBOL vmlinux 0x7fffffff __put_user_4 +EXPORT_SYMBOL vmlinux 0x7fffffff __pv_phys_pfn_offset +EXPORT_SYMBOL vmlinux 0x7fffffff __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x7fffffff __raw_readsb +EXPORT_SYMBOL vmlinux 0x7fffffff __raw_readsl +EXPORT_SYMBOL vmlinux 0x7fffffff __raw_readsw +EXPORT_SYMBOL vmlinux 0x7fffffff __raw_writesb +EXPORT_SYMBOL vmlinux 0x7fffffff __raw_writesl +EXPORT_SYMBOL vmlinux 0x7fffffff __raw_writesw +EXPORT_SYMBOL vmlinux 0x7fffffff __read_overflow2_field +EXPORT_SYMBOL vmlinux 0x7fffffff __readwrite_bug +EXPORT_SYMBOL vmlinux 0x7fffffff __register_binfmt +EXPORT_SYMBOL vmlinux 0x7fffffff __register_chrdev +EXPORT_SYMBOL vmlinux 0x7fffffff __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x7fffffff __request_module +EXPORT_SYMBOL vmlinux 0x7fffffff __request_region +EXPORT_SYMBOL vmlinux 0x7fffffff __scsi_add_device +EXPORT_SYMBOL vmlinux 0x7fffffff __scsi_execute +EXPORT_SYMBOL vmlinux 0x7fffffff __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x7fffffff __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x7fffffff __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x7fffffff __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x7fffffff __sg_page_iter_dma_next +EXPORT_SYMBOL vmlinux 0x7fffffff __siphash_unaligned +EXPORT_SYMBOL vmlinux 0x7fffffff __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0x7fffffff __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_get_hash +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_gso_segment +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_pad +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x7fffffff __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x7fffffff __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x7fffffff __sw_hweight8 +EXPORT_SYMBOL vmlinux 0x7fffffff __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x7fffffff __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x7fffffff __traceiter_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x7fffffff __traceiter_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x7fffffff __traceiter_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x7fffffff __traceiter_kmalloc_node +EXPORT_SYMBOL vmlinux 0x7fffffff __traceiter_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x7fffffff __traceiter_module_get +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_spi_transfer_start +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x7fffffff __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0x7fffffff __ubsan_handle_out_of_bounds +EXPORT_SYMBOL vmlinux 0x7fffffff __ubsan_handle_shift_out_of_bounds +EXPORT_SYMBOL vmlinux 0x7fffffff __ubsan_handle_type_mismatch +EXPORT_SYMBOL vmlinux 0x7fffffff __ubsan_handle_type_mismatch_v1 +EXPORT_SYMBOL vmlinux 0x7fffffff __udivsi3 +EXPORT_SYMBOL vmlinux 0x7fffffff __udp_disconnect +EXPORT_SYMBOL vmlinux 0x7fffffff __umodsi3 +EXPORT_SYMBOL vmlinux 0x7fffffff __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7fffffff __vmalloc +EXPORT_SYMBOL vmlinux 0x7fffffff __wait_on_bit +EXPORT_SYMBOL vmlinux 0x7fffffff __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff __wake_up_bit +EXPORT_SYMBOL vmlinux 0x7fffffff __warn_flushing_systemwide_wq +EXPORT_SYMBOL vmlinux 0x7fffffff __write_overflow_field +EXPORT_SYMBOL vmlinux 0x7fffffff __xa_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff __xa_erase +EXPORT_SYMBOL vmlinux 0x7fffffff __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x7fffffff __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x7fffffff __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x7fffffff _bcd2bin +EXPORT_SYMBOL vmlinux 0x7fffffff _bin2bcd +EXPORT_SYMBOL vmlinux 0x7fffffff _copy_to_iter +EXPORT_SYMBOL vmlinux 0x7fffffff _dev_alert +EXPORT_SYMBOL vmlinux 0x7fffffff _dev_warn +EXPORT_SYMBOL vmlinux 0x7fffffff _find_first_and_bit +EXPORT_SYMBOL vmlinux 0x7fffffff _find_first_zero_bit_le +EXPORT_SYMBOL vmlinux 0x7fffffff _find_last_bit +EXPORT_SYMBOL vmlinux 0x7fffffff _find_next_bit +EXPORT_SYMBOL vmlinux 0x7fffffff _kstrtol +EXPORT_SYMBOL vmlinux 0x7fffffff _local_bh_enable +EXPORT_SYMBOL vmlinux 0x7fffffff _memset_io +EXPORT_SYMBOL vmlinux 0x7fffffff _page_poisoning_enabled +EXPORT_SYMBOL vmlinux 0x7fffffff _page_poisoning_enabled_early +EXPORT_SYMBOL vmlinux 0x7fffffff _printk +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_spin_lock +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_write_lock +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x7fffffff _snd_ctl_add_follower +EXPORT_SYMBOL vmlinux 0x7fffffff _test_and_change_bit +EXPORT_SYMBOL vmlinux 0x7fffffff _totalram_pages +EXPORT_SYMBOL vmlinux 0x7fffffff abort +EXPORT_SYMBOL vmlinux 0x7fffffff add_device_randomness +EXPORT_SYMBOL vmlinux 0x7fffffff add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x7fffffff add_to_page_cache_lru +EXPORT_SYMBOL vmlinux 0x7fffffff add_wait_queue +EXPORT_SYMBOL vmlinux 0x7fffffff add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x7fffffff alloc_anon_inode +EXPORT_SYMBOL vmlinux 0x7fffffff alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x7fffffff alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0x7fffffff alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x7fffffff alloc_fddidev +EXPORT_SYMBOL vmlinux 0x7fffffff alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0x7fffffff alloc_mdio_bitbang +EXPORT_SYMBOL vmlinux 0x7fffffff alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x7fffffff amba_device_register +EXPORT_SYMBOL vmlinux 0x7fffffff amba_device_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff amba_driver_register +EXPORT_SYMBOL vmlinux 0x7fffffff amba_request_regions +EXPORT_SYMBOL vmlinux 0x7fffffff argv_free +EXPORT_SYMBOL vmlinux 0x7fffffff arm_clear_user +EXPORT_SYMBOL vmlinux 0x7fffffff arm_copy_from_user +EXPORT_SYMBOL vmlinux 0x7fffffff arm_delay_ops +EXPORT_SYMBOL vmlinux 0x7fffffff arm_dma_ops +EXPORT_SYMBOL vmlinux 0x7fffffff arm_elf_read_implies_exec +EXPORT_SYMBOL vmlinux 0x7fffffff arm_heavy_mb +EXPORT_SYMBOL vmlinux 0x7fffffff arp_send +EXPORT_SYMBOL vmlinux 0x7fffffff atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x7fffffff atomic_io_modify +EXPORT_SYMBOL vmlinux 0x7fffffff audit_log_end +EXPORT_SYMBOL vmlinux 0x7fffffff audit_log_format +EXPORT_SYMBOL vmlinux 0x7fffffff audit_log_start +EXPORT_SYMBOL vmlinux 0x7fffffff audit_log_subject_context +EXPORT_SYMBOL vmlinux 0x7fffffff audit_log_task_context +EXPORT_SYMBOL vmlinux 0x7fffffff audit_log_task_info +EXPORT_SYMBOL vmlinux 0x7fffffff autoremove_wake_function +EXPORT_SYMBOL vmlinux 0x7fffffff avenrun +EXPORT_SYMBOL vmlinux 0x7fffffff backlight_device_get_by_name +EXPORT_SYMBOL vmlinux 0x7fffffff backlight_device_register +EXPORT_SYMBOL vmlinux 0x7fffffff backlight_register_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff backlight_unregister_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0x7fffffff bcmp +EXPORT_SYMBOL vmlinux 0x7fffffff bd_abort_claiming +EXPORT_SYMBOL vmlinux 0x7fffffff bdev_end_io_acct +EXPORT_SYMBOL vmlinux 0x7fffffff bdev_start_io_acct +EXPORT_SYMBOL vmlinux 0x7fffffff bdi_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff bdi_put +EXPORT_SYMBOL vmlinux 0x7fffffff bdi_register +EXPORT_SYMBOL vmlinux 0x7fffffff bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x7fffffff begin_new_exec +EXPORT_SYMBOL vmlinux 0x7fffffff bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x7fffffff bh_submit_read +EXPORT_SYMBOL vmlinux 0x7fffffff bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x7fffffff bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x7fffffff bio_alloc_clone +EXPORT_SYMBOL vmlinux 0x7fffffff bio_copy_data +EXPORT_SYMBOL vmlinux 0x7fffffff bio_endio +EXPORT_SYMBOL vmlinux 0x7fffffff bio_init_clone +EXPORT_SYMBOL vmlinux 0x7fffffff bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x7fffffff bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x7fffffff bio_kmalloc +EXPORT_SYMBOL vmlinux 0x7fffffff bioset_exit +EXPORT_SYMBOL vmlinux 0x7fffffff bioset_init +EXPORT_SYMBOL vmlinux 0x7fffffff bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x7fffffff bit_waitqueue +EXPORT_SYMBOL vmlinux 0x7fffffff bitmap_alloc_node +EXPORT_SYMBOL vmlinux 0x7fffffff bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x7fffffff bitmap_bitremap +EXPORT_SYMBOL vmlinux 0x7fffffff bitmap_free +EXPORT_SYMBOL vmlinux 0x7fffffff bitmap_parse +EXPORT_SYMBOL vmlinux 0x7fffffff bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x7fffffff bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0x7fffffff bitmap_remap +EXPORT_SYMBOL vmlinux 0x7fffffff bitmap_zalloc_node +EXPORT_SYMBOL vmlinux 0x7fffffff blackhole_netdev +EXPORT_SYMBOL vmlinux 0x7fffffff blake2s_compress +EXPORT_SYMBOL vmlinux 0x7fffffff blake2s_final +EXPORT_SYMBOL vmlinux 0x7fffffff blk_check_plugged +EXPORT_SYMBOL vmlinux 0x7fffffff blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x7fffffff blk_get_queue +EXPORT_SYMBOL vmlinux 0x7fffffff blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_start_stopped_hw_queues +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0x7fffffff blk_pm_runtime_init +EXPORT_SYMBOL vmlinux 0x7fffffff blk_post_runtime_resume +EXPORT_SYMBOL vmlinux 0x7fffffff blk_pre_runtime_resume +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x7fffffff blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x7fffffff blk_rq_init +EXPORT_SYMBOL vmlinux 0x7fffffff blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x7fffffff blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0x7fffffff blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0x7fffffff blk_sync_queue +EXPORT_SYMBOL vmlinux 0x7fffffff blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x7fffffff blkdev_issue_secure_erase +EXPORT_SYMBOL vmlinux 0x7fffffff blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x7fffffff block_invalidate_folio +EXPORT_SYMBOL vmlinux 0x7fffffff block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x7fffffff block_write_begin +EXPORT_SYMBOL vmlinux 0x7fffffff block_write_full_page +EXPORT_SYMBOL vmlinux 0x7fffffff bmap +EXPORT_SYMBOL vmlinux 0x7fffffff bpf_link_get_from_fd +EXPORT_SYMBOL vmlinux 0x7fffffff bpf_map_get +EXPORT_SYMBOL vmlinux 0x7fffffff bpf_stats_enabled_key +EXPORT_SYMBOL vmlinux 0x7fffffff brioctl_set +EXPORT_SYMBOL vmlinux 0x7fffffff bsearch +EXPORT_SYMBOL vmlinux 0x7fffffff buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0x7fffffff cacheid +EXPORT_SYMBOL vmlinux 0x7fffffff call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff call_fib_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff call_fib_notifiers +EXPORT_SYMBOL vmlinux 0x7fffffff call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x7fffffff call_usermodehelper +EXPORT_SYMBOL vmlinux 0x7fffffff can_do_mlock +EXPORT_SYMBOL vmlinux 0x7fffffff can_nice +EXPORT_SYMBOL vmlinux 0x7fffffff cancel_delayed_work +EXPORT_SYMBOL vmlinux 0x7fffffff capable +EXPORT_SYMBOL vmlinux 0x7fffffff capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0x7fffffff cdc_parse_cdc_header +EXPORT_SYMBOL vmlinux 0x7fffffff cdev_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff cdev_device_del +EXPORT_SYMBOL vmlinux 0x7fffffff cdev_init +EXPORT_SYMBOL vmlinux 0x7fffffff cdev_set_parent +EXPORT_SYMBOL vmlinux 0x7fffffff cdrom_check_events +EXPORT_SYMBOL vmlinux 0x7fffffff cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x7fffffff cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x7fffffff cdrom_release +EXPORT_SYMBOL vmlinux 0x7fffffff cfb_copyarea +EXPORT_SYMBOL vmlinux 0x7fffffff cfb_fillrect +EXPORT_SYMBOL vmlinux 0x7fffffff clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0x7fffffff clear_inode +EXPORT_SYMBOL vmlinux 0x7fffffff clk_add_alias +EXPORT_SYMBOL vmlinux 0x7fffffff clk_bulk_put_all +EXPORT_SYMBOL vmlinux 0x7fffffff clk_get +EXPORT_SYMBOL vmlinux 0x7fffffff clk_get_sys +EXPORT_SYMBOL vmlinux 0x7fffffff clk_hw_get_clk +EXPORT_SYMBOL vmlinux 0x7fffffff clk_register_clkdev +EXPORT_SYMBOL vmlinux 0x7fffffff clkdev_add +EXPORT_SYMBOL vmlinux 0x7fffffff close_fd +EXPORT_SYMBOL vmlinux 0x7fffffff cmd_db_read_aux_data +EXPORT_SYMBOL vmlinux 0x7fffffff color_table +EXPORT_SYMBOL vmlinux 0x7fffffff complete +EXPORT_SYMBOL vmlinux 0x7fffffff complete_all +EXPORT_SYMBOL vmlinux 0x7fffffff component_match_add_release +EXPORT_SYMBOL vmlinux 0x7fffffff con_is_bound +EXPORT_SYMBOL vmlinux 0x7fffffff config_group_init +EXPORT_SYMBOL vmlinux 0x7fffffff config_item_set_name +EXPORT_SYMBOL vmlinux 0x7fffffff configfs_depend_item +EXPORT_SYMBOL vmlinux 0x7fffffff configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0x7fffffff configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0x7fffffff configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0x7fffffff configfs_undepend_item +EXPORT_SYMBOL vmlinux 0x7fffffff configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0x7fffffff console_blank_hook +EXPORT_SYMBOL vmlinux 0x7fffffff console_blanked +EXPORT_SYMBOL vmlinux 0x7fffffff console_conditional_schedule +EXPORT_SYMBOL vmlinux 0x7fffffff console_lock +EXPORT_SYMBOL vmlinux 0x7fffffff console_unlock +EXPORT_SYMBOL vmlinux 0x7fffffff consume_skb +EXPORT_SYMBOL vmlinux 0x7fffffff cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0x7fffffff copy_from_user_toio +EXPORT_SYMBOL vmlinux 0x7fffffff copy_fsxattr_to_user +EXPORT_SYMBOL vmlinux 0x7fffffff copy_page_from_iter +EXPORT_SYMBOL vmlinux 0x7fffffff copy_page_from_iter_atomic +EXPORT_SYMBOL vmlinux 0x7fffffff copy_string_kernel +EXPORT_SYMBOL vmlinux 0x7fffffff cpm_muram_addr +EXPORT_SYMBOL vmlinux 0x7fffffff cpm_muram_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff cpm_muram_dma +EXPORT_SYMBOL vmlinux 0x7fffffff cpu_all_bits +EXPORT_SYMBOL vmlinux 0x7fffffff cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x7fffffff cpu_tlb +EXPORT_SYMBOL vmlinux 0x7fffffff cpufreq_get +EXPORT_SYMBOL vmlinux 0x7fffffff cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x7fffffff cpumask_any_and_distribute +EXPORT_SYMBOL vmlinux 0x7fffffff cpumask_any_but +EXPORT_SYMBOL vmlinux 0x7fffffff cpumask_local_spread +EXPORT_SYMBOL vmlinux 0x7fffffff cpumask_next +EXPORT_SYMBOL vmlinux 0x7fffffff cpumask_next_and +EXPORT_SYMBOL vmlinux 0x7fffffff cqhci_init +EXPORT_SYMBOL vmlinux 0x7fffffff cqhci_irq +EXPORT_SYMBOL vmlinux 0x7fffffff cqhci_pltfm_init +EXPORT_SYMBOL vmlinux 0x7fffffff crc16 +EXPORT_SYMBOL vmlinux 0x7fffffff crc32_be +EXPORT_SYMBOL vmlinux 0x7fffffff crc32_le +EXPORT_SYMBOL vmlinux 0x7fffffff crc32_le_shift +EXPORT_SYMBOL vmlinux 0x7fffffff crc8 +EXPORT_SYMBOL vmlinux 0x7fffffff crc8_populate_lsb +EXPORT_SYMBOL vmlinux 0x7fffffff crc8_populate_msb +EXPORT_SYMBOL vmlinux 0x7fffffff crc_ccitt +EXPORT_SYMBOL vmlinux 0x7fffffff crc_ccitt_false +EXPORT_SYMBOL vmlinux 0x7fffffff crc_t10dif +EXPORT_SYMBOL vmlinux 0x7fffffff crc_t10dif_update +EXPORT_SYMBOL vmlinux 0x7fffffff cros_ec_check_result +EXPORT_SYMBOL vmlinux 0x7fffffff cros_ec_cmd_xfer_status +EXPORT_SYMBOL vmlinux 0x7fffffff cros_ec_prepare_tx +EXPORT_SYMBOL vmlinux 0x7fffffff crypto_aes_inv_sbox +EXPORT_SYMBOL vmlinux 0x7fffffff crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0x7fffffff crypto_kdf108_ctr_generate +EXPORT_SYMBOL vmlinux 0x7fffffff crypto_kdf108_setkey +EXPORT_SYMBOL vmlinux 0x7fffffff crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0x7fffffff crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x7fffffff crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0x7fffffff crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0x7fffffff crypto_sha512_update +EXPORT_SYMBOL vmlinux 0x7fffffff csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x7fffffff csum_partial +EXPORT_SYMBOL vmlinux 0x7fffffff csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x7fffffff current_work +EXPORT_SYMBOL vmlinux 0x7fffffff d_add_ci +EXPORT_SYMBOL vmlinux 0x7fffffff d_alloc_anon +EXPORT_SYMBOL vmlinux 0x7fffffff d_alloc_parallel +EXPORT_SYMBOL vmlinux 0x7fffffff d_find_any_alias +EXPORT_SYMBOL vmlinux 0x7fffffff d_genocide +EXPORT_SYMBOL vmlinux 0x7fffffff d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff d_instantiate +EXPORT_SYMBOL vmlinux 0x7fffffff d_instantiate_new +EXPORT_SYMBOL vmlinux 0x7fffffff d_invalidate +EXPORT_SYMBOL vmlinux 0x7fffffff d_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff d_make_root +EXPORT_SYMBOL vmlinux 0x7fffffff d_path +EXPORT_SYMBOL vmlinux 0x7fffffff d_set_fallthru +EXPORT_SYMBOL vmlinux 0x7fffffff datagram_poll +EXPORT_SYMBOL vmlinux 0x7fffffff dcache_dir_close +EXPORT_SYMBOL vmlinux 0x7fffffff dcache_dir_open +EXPORT_SYMBOL vmlinux 0x7fffffff dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0x7fffffff dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0x7fffffff dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x7fffffff dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0x7fffffff dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x7fffffff dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x7fffffff dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x7fffffff dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x7fffffff default_qdisc_ops +EXPORT_SYMBOL vmlinux 0x7fffffff default_wake_function +EXPORT_SYMBOL vmlinux 0x7fffffff del_timer_sync +EXPORT_SYMBOL vmlinux 0x7fffffff delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x7fffffff dentry_create +EXPORT_SYMBOL vmlinux 0x7fffffff dentry_open +EXPORT_SYMBOL vmlinux 0x7fffffff dev_activate +EXPORT_SYMBOL vmlinux 0x7fffffff dev_addr_del +EXPORT_SYMBOL vmlinux 0x7fffffff dev_addr_mod +EXPORT_SYMBOL vmlinux 0x7fffffff dev_close +EXPORT_SYMBOL vmlinux 0x7fffffff dev_deactivate +EXPORT_SYMBOL vmlinux 0x7fffffff dev_driver_string +EXPORT_SYMBOL vmlinux 0x7fffffff dev_get_by_name +EXPORT_SYMBOL vmlinux 0x7fffffff dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x7fffffff dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0x7fffffff dev_get_iflink +EXPORT_SYMBOL vmlinux 0x7fffffff dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0x7fffffff dev_get_stats +EXPORT_SYMBOL vmlinux 0x7fffffff dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x7fffffff dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x7fffffff dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0x7fffffff dev_mc_add +EXPORT_SYMBOL vmlinux 0x7fffffff dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0x7fffffff dev_mc_del +EXPORT_SYMBOL vmlinux 0x7fffffff dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x7fffffff dev_mc_flush +EXPORT_SYMBOL vmlinux 0x7fffffff dev_open +EXPORT_SYMBOL vmlinux 0x7fffffff dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0x7fffffff dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0x7fffffff dev_pm_opp_register_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff dev_printk_emit +EXPORT_SYMBOL vmlinux 0x7fffffff dev_remove_offload +EXPORT_SYMBOL vmlinux 0x7fffffff dev_remove_pack +EXPORT_SYMBOL vmlinux 0x7fffffff dev_set_alias +EXPORT_SYMBOL vmlinux 0x7fffffff dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0x7fffffff dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x7fffffff dev_uc_init +EXPORT_SYMBOL vmlinux 0x7fffffff dev_uc_sync +EXPORT_SYMBOL vmlinux 0x7fffffff dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0x7fffffff devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_add_device +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_get_freq_range +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_monitor_resume +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_monitor_stop +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_recommended_opp +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_resume_device +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_suspend_device +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_update_interval +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_update_status +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_update_target +EXPORT_SYMBOL vmlinux 0x7fffffff devm_backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff devm_clk_get +EXPORT_SYMBOL vmlinux 0x7fffffff devm_clk_get_optional +EXPORT_SYMBOL vmlinux 0x7fffffff devm_devfreq_add_device +EXPORT_SYMBOL vmlinux 0x7fffffff devm_devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff devm_devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff devm_devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff devm_extcon_register_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff devm_extcon_unregister_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff devm_extcon_unregister_notifier_all +EXPORT_SYMBOL vmlinux 0x7fffffff devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0x7fffffff devm_ioremap_np +EXPORT_SYMBOL vmlinux 0x7fffffff devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0x7fffffff devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0x7fffffff devm_memremap +EXPORT_SYMBOL vmlinux 0x7fffffff devm_mfd_add_devices +EXPORT_SYMBOL vmlinux 0x7fffffff devm_of_find_backlight +EXPORT_SYMBOL vmlinux 0x7fffffff devm_of_iomap +EXPORT_SYMBOL vmlinux 0x7fffffff devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x7fffffff devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0x7fffffff devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x7fffffff devm_register_netdev +EXPORT_SYMBOL vmlinux 0x7fffffff devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0x7fffffff devm_request_resource +EXPORT_SYMBOL vmlinux 0x7fffffff dget_parent +EXPORT_SYMBOL vmlinux 0x7fffffff dim_calc_stats +EXPORT_SYMBOL vmlinux 0x7fffffff dim_on_top +EXPORT_SYMBOL vmlinux 0x7fffffff dim_park_on_top +EXPORT_SYMBOL vmlinux 0x7fffffff dim_turn +EXPORT_SYMBOL vmlinux 0x7fffffff disk_stack_limits +EXPORT_SYMBOL vmlinux 0x7fffffff div64_u64_rem +EXPORT_SYMBOL vmlinux 0x7fffffff div_s64_rem +EXPORT_SYMBOL vmlinux 0x7fffffff dm_get_device +EXPORT_SYMBOL vmlinux 0x7fffffff dm_io +EXPORT_SYMBOL vmlinux 0x7fffffff dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x7fffffff dm_kcopyd_client_flush +EXPORT_SYMBOL vmlinux 0x7fffffff dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x7fffffff dm_read_arg_group +EXPORT_SYMBOL vmlinux 0x7fffffff dm_table_event +EXPORT_SYMBOL vmlinux 0x7fffffff dm_table_get_size +EXPORT_SYMBOL vmlinux 0x7fffffff dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0x7fffffff dm_unregister_target +EXPORT_SYMBOL vmlinux 0x7fffffff dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0x7fffffff dma_async_device_register +EXPORT_SYMBOL vmlinux 0x7fffffff dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_allocate_private_stub +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_array_first +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_array_ops +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_chain_walk +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_describe +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_enable_sw_signaling +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_get_status +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_get_stub +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_match_context +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_release +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_signal_timestamp_locked +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff dma_find_channel +EXPORT_SYMBOL vmlinux 0x7fffffff dma_map_sg_attrs +EXPORT_SYMBOL vmlinux 0x7fffffff dma_pool_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff dma_pool_free +EXPORT_SYMBOL vmlinux 0x7fffffff dma_resv_add_fence +EXPORT_SYMBOL vmlinux 0x7fffffff dma_resv_fini +EXPORT_SYMBOL vmlinux 0x7fffffff dma_resv_init +EXPORT_SYMBOL vmlinux 0x7fffffff dma_resv_iter_first_unlocked +EXPORT_SYMBOL vmlinux 0x7fffffff dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0x7fffffff dma_set_mask +EXPORT_SYMBOL vmlinux 0x7fffffff dma_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x7fffffff dma_sync_wait +EXPORT_SYMBOL vmlinux 0x7fffffff dma_unmap_resource +EXPORT_SYMBOL vmlinux 0x7fffffff dma_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0x7fffffff dmaengine_get +EXPORT_SYMBOL vmlinux 0x7fffffff dmaengine_get_unmap_data +EXPORT_SYMBOL vmlinux 0x7fffffff dmaenginem_async_device_register +EXPORT_SYMBOL vmlinux 0x7fffffff dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0x7fffffff dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x7fffffff dmam_pool_create +EXPORT_SYMBOL vmlinux 0x7fffffff dmi_check_system +EXPORT_SYMBOL vmlinux 0x7fffffff dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x7fffffff dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0x7fffffff dns_query +EXPORT_SYMBOL vmlinux 0x7fffffff do_blank_screen +EXPORT_SYMBOL vmlinux 0x7fffffff do_splice_direct +EXPORT_SYMBOL vmlinux 0x7fffffff do_trace_netlink_extack +EXPORT_SYMBOL vmlinux 0x7fffffff do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0x7fffffff dotdot_name +EXPORT_SYMBOL vmlinux 0x7fffffff down +EXPORT_SYMBOL vmlinux 0x7fffffff down_interruptible +EXPORT_SYMBOL vmlinux 0x7fffffff down_read +EXPORT_SYMBOL vmlinux 0x7fffffff down_read_killable +EXPORT_SYMBOL vmlinux 0x7fffffff down_read_trylock +EXPORT_SYMBOL vmlinux 0x7fffffff down_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff down_trylock +EXPORT_SYMBOL vmlinux 0x7fffffff downgrade_write +EXPORT_SYMBOL vmlinux 0x7fffffff dput +EXPORT_SYMBOL vmlinux 0x7fffffff dqget +EXPORT_SYMBOL vmlinux 0x7fffffff dql_completed +EXPORT_SYMBOL vmlinux 0x7fffffff dql_reset +EXPORT_SYMBOL vmlinux 0x7fffffff dqput +EXPORT_SYMBOL vmlinux 0x7fffffff dqstats +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_commit +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_drop +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_initialize +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_operations +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_release +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_resume +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_scan_active +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_transfer +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0x7fffffff drm_firmware_drivers_only +EXPORT_SYMBOL vmlinux 0x7fffffff drop_super +EXPORT_SYMBOL vmlinux 0x7fffffff drop_super_exclusive +EXPORT_SYMBOL vmlinux 0x7fffffff dst_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff dst_default_metrics +EXPORT_SYMBOL vmlinux 0x7fffffff dst_init +EXPORT_SYMBOL vmlinux 0x7fffffff dst_release +EXPORT_SYMBOL vmlinux 0x7fffffff dump_page +EXPORT_SYMBOL vmlinux 0x7fffffff dup_iter +EXPORT_SYMBOL vmlinux 0x7fffffff ecc_sw_hamming_calculate +EXPORT_SYMBOL vmlinux 0x7fffffff ecc_sw_hamming_correct +EXPORT_SYMBOL vmlinux 0x7fffffff edac_mc_find +EXPORT_SYMBOL vmlinux 0x7fffffff efi +EXPORT_SYMBOL vmlinux 0x7fffffff efi_tpm_final_log_size +EXPORT_SYMBOL vmlinux 0x7fffffff elf_set_personality +EXPORT_SYMBOL vmlinux 0x7fffffff elm_config +EXPORT_SYMBOL vmlinux 0x7fffffff elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0x7fffffff elv_rb_add +EXPORT_SYMBOL vmlinux 0x7fffffff elv_rb_find +EXPORT_SYMBOL vmlinux 0x7fffffff elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x7fffffff elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x7fffffff empty_aops +EXPORT_SYMBOL vmlinux 0x7fffffff enable_fiq +EXPORT_SYMBOL vmlinux 0x7fffffff enable_irq +EXPORT_SYMBOL vmlinux 0x7fffffff end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x7fffffff end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x7fffffff end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x7fffffff errseq_sample +EXPORT_SYMBOL vmlinux 0x7fffffff eth_gro_receive +EXPORT_SYMBOL vmlinux 0x7fffffff eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x7fffffff eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0x7fffffff ethtool_convert_legacy_u32_to_link_mode +EXPORT_SYMBOL vmlinux 0x7fffffff ethtool_get_phc_vclocks +EXPORT_SYMBOL vmlinux 0x7fffffff ethtool_notify +EXPORT_SYMBOL vmlinux 0x7fffffff ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x7fffffff ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x7fffffff ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0x7fffffff ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x7fffffff fault_in_iov_iter_writeable +EXPORT_SYMBOL vmlinux 0x7fffffff fault_in_readable +EXPORT_SYMBOL vmlinux 0x7fffffff fault_in_subpage_writeable +EXPORT_SYMBOL vmlinux 0x7fffffff fault_in_writeable +EXPORT_SYMBOL vmlinux 0x7fffffff fb_add_videomode +EXPORT_SYMBOL vmlinux 0x7fffffff fb_class +EXPORT_SYMBOL vmlinux 0x7fffffff fb_default_cmap +EXPORT_SYMBOL vmlinux 0x7fffffff fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x7fffffff fb_find_best_display +EXPORT_SYMBOL vmlinux 0x7fffffff fb_find_best_mode +EXPORT_SYMBOL vmlinux 0x7fffffff fb_find_mode +EXPORT_SYMBOL vmlinux 0x7fffffff fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0x7fffffff fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x7fffffff fb_get_mode +EXPORT_SYMBOL vmlinux 0x7fffffff fb_get_options +EXPORT_SYMBOL vmlinux 0x7fffffff fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0x7fffffff fb_match_mode +EXPORT_SYMBOL vmlinux 0x7fffffff fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0x7fffffff fb_register_client +EXPORT_SYMBOL vmlinux 0x7fffffff fb_set_cmap +EXPORT_SYMBOL vmlinux 0x7fffffff fb_set_suspend +EXPORT_SYMBOL vmlinux 0x7fffffff fb_unregister_client +EXPORT_SYMBOL vmlinux 0x7fffffff fb_validate_mode +EXPORT_SYMBOL vmlinux 0x7fffffff fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x7fffffff fc_mount +EXPORT_SYMBOL vmlinux 0x7fffffff fd_install +EXPORT_SYMBOL vmlinux 0x7fffffff fib6_info_hw_flags_set +EXPORT_SYMBOL vmlinux 0x7fffffff fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff fiemap_prep +EXPORT_SYMBOL vmlinux 0x7fffffff file_open_root +EXPORT_SYMBOL vmlinux 0x7fffffff file_path +EXPORT_SYMBOL vmlinux 0x7fffffff fileattr_fill_flags +EXPORT_SYMBOL vmlinux 0x7fffffff fileattr_fill_xflags +EXPORT_SYMBOL vmlinux 0x7fffffff filemap_fault +EXPORT_SYMBOL vmlinux 0x7fffffff filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x7fffffff filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x7fffffff filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x7fffffff filemap_fdatawrite_wbc +EXPORT_SYMBOL vmlinux 0x7fffffff filemap_map_pages +EXPORT_SYMBOL vmlinux 0x7fffffff filemap_range_has_page +EXPORT_SYMBOL vmlinux 0x7fffffff filemap_release_folio +EXPORT_SYMBOL vmlinux 0x7fffffff filp_close +EXPORT_SYMBOL vmlinux 0x7fffffff find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x7fffffff find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0x7fffffff find_inode_nowait +EXPORT_SYMBOL vmlinux 0x7fffffff find_inode_rcu +EXPORT_SYMBOL vmlinux 0x7fffffff find_next_clump8 +EXPORT_SYMBOL vmlinux 0x7fffffff finish_no_open +EXPORT_SYMBOL vmlinux 0x7fffffff finish_swait +EXPORT_SYMBOL vmlinux 0x7fffffff fixed_size_llseek +EXPORT_SYMBOL vmlinux 0x7fffffff flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0x7fffffff flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0x7fffffff flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0x7fffffff flow_block_cb_setup_simple +EXPORT_SYMBOL vmlinux 0x7fffffff flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0x7fffffff flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0x7fffffff flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0x7fffffff flow_keys_dissector +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_control +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0x7fffffff flush_delayed_work +EXPORT_SYMBOL vmlinux 0x7fffffff folio_account_redirty +EXPORT_SYMBOL vmlinux 0x7fffffff folio_end_writeback +EXPORT_SYMBOL vmlinux 0x7fffffff folio_mark_accessed +EXPORT_SYMBOL vmlinux 0x7fffffff folio_migrate_flags +EXPORT_SYMBOL vmlinux 0x7fffffff folio_migrate_mapping +EXPORT_SYMBOL vmlinux 0x7fffffff folio_redirty_for_writepage +EXPORT_SYMBOL vmlinux 0x7fffffff folio_unlock +EXPORT_SYMBOL vmlinux 0x7fffffff folio_wait_bit +EXPORT_SYMBOL vmlinux 0x7fffffff folio_wait_bit_killable +EXPORT_SYMBOL vmlinux 0x7fffffff folio_wait_private_2_killable +EXPORT_SYMBOL vmlinux 0x7fffffff follow_pfn +EXPORT_SYMBOL vmlinux 0x7fffffff follow_up +EXPORT_SYMBOL vmlinux 0x7fffffff font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x7fffffff forget_cached_acl +EXPORT_SYMBOL vmlinux 0x7fffffff fortify_panic +EXPORT_SYMBOL vmlinux 0x7fffffff fqdir_exit +EXPORT_SYMBOL vmlinux 0x7fffffff fqdir_init +EXPORT_SYMBOL vmlinux 0x7fffffff free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x7fffffff free_buffer_head +EXPORT_SYMBOL vmlinux 0x7fffffff free_irq +EXPORT_SYMBOL vmlinux 0x7fffffff free_mdio_bitbang +EXPORT_SYMBOL vmlinux 0x7fffffff free_netdev +EXPORT_SYMBOL vmlinux 0x7fffffff free_opal_dev +EXPORT_SYMBOL vmlinux 0x7fffffff freeze_bdev +EXPORT_SYMBOL vmlinux 0x7fffffff freeze_super +EXPORT_SYMBOL vmlinux 0x7fffffff freezing_slow_path +EXPORT_SYMBOL vmlinux 0x7fffffff from_kgid_munged +EXPORT_SYMBOL vmlinux 0x7fffffff from_kprojid_munged +EXPORT_SYMBOL vmlinux 0x7fffffff from_kuid_munged +EXPORT_SYMBOL vmlinux 0x7fffffff fs_context_for_submount +EXPORT_SYMBOL vmlinux 0x7fffffff fs_overflowgid +EXPORT_SYMBOL vmlinux 0x7fffffff fs_param_is_bool +EXPORT_SYMBOL vmlinux 0x7fffffff fs_param_is_enum +EXPORT_SYMBOL vmlinux 0x7fffffff fs_param_is_string +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_fname_alloc_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_ioctl_get_policy +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0x7fffffff full_name_hash +EXPORT_SYMBOL vmlinux 0x7fffffff fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0x7fffffff fuse_mount_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x7fffffff fwnode_mdio_find_device +EXPORT_SYMBOL vmlinux 0x7fffffff fwnode_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0x7fffffff fwnode_phy_find_device +EXPORT_SYMBOL vmlinux 0x7fffffff gen_estimator_active +EXPORT_SYMBOL vmlinux 0x7fffffff gen_kill_estimator +EXPORT_SYMBOL vmlinux 0x7fffffff gen_new_estimator +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x7fffffff gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x7fffffff generate_random_guid +EXPORT_SYMBOL vmlinux 0x7fffffff generate_random_uuid +EXPORT_SYMBOL vmlinux 0x7fffffff generic_block_bmap +EXPORT_SYMBOL vmlinux 0x7fffffff generic_check_addressable +EXPORT_SYMBOL vmlinux 0x7fffffff generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x7fffffff generic_delete_inode +EXPORT_SYMBOL vmlinux 0x7fffffff generic_file_llseek +EXPORT_SYMBOL vmlinux 0x7fffffff generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x7fffffff generic_file_open +EXPORT_SYMBOL vmlinux 0x7fffffff generic_file_read_iter +EXPORT_SYMBOL vmlinux 0x7fffffff generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x7fffffff generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x7fffffff generic_fillattr +EXPORT_SYMBOL vmlinux 0x7fffffff generic_listxattr +EXPORT_SYMBOL vmlinux 0x7fffffff generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0x7fffffff generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x7fffffff generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x7fffffff generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0x7fffffff generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0x7fffffff generic_set_encrypted_ci_d_ops +EXPORT_SYMBOL vmlinux 0x7fffffff generic_setlease +EXPORT_SYMBOL vmlinux 0x7fffffff generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x7fffffff generic_update_time +EXPORT_SYMBOL vmlinux 0x7fffffff generic_write_checks_count +EXPORT_SYMBOL vmlinux 0x7fffffff generic_writepages +EXPORT_SYMBOL vmlinux 0x7fffffff genl_register_family +EXPORT_SYMBOL vmlinux 0x7fffffff genl_unregister_family +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_aneg_done +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_check_and_restart_aneg +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_read_abilities +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_read_lpa +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_read_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x7fffffff get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0x7fffffff get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0x7fffffff get_default_font +EXPORT_SYMBOL vmlinux 0x7fffffff get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x7fffffff get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0x7fffffff get_next_ino +EXPORT_SYMBOL vmlinux 0x7fffffff get_option +EXPORT_SYMBOL vmlinux 0x7fffffff get_options +EXPORT_SYMBOL vmlinux 0x7fffffff get_phy_device +EXPORT_SYMBOL vmlinux 0x7fffffff get_random_u32 +EXPORT_SYMBOL vmlinux 0x7fffffff get_random_u64 +EXPORT_SYMBOL vmlinux 0x7fffffff get_task_cred +EXPORT_SYMBOL vmlinux 0x7fffffff get_tree_keyed +EXPORT_SYMBOL vmlinux 0x7fffffff get_tree_single +EXPORT_SYMBOL vmlinux 0x7fffffff get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0x7fffffff get_unmapped_area +EXPORT_SYMBOL vmlinux 0x7fffffff get_unused_fd_flags +EXPORT_SYMBOL vmlinux 0x7fffffff get_user_pages_remote +EXPORT_SYMBOL vmlinux 0x7fffffff get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x7fffffff get_vm_area +EXPORT_SYMBOL vmlinux 0x7fffffff get_zeroed_page +EXPORT_SYMBOL vmlinux 0x7fffffff gf128mul_4k_bbe +EXPORT_SYMBOL vmlinux 0x7fffffff gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0x7fffffff gf128mul_init_4k_bbe +EXPORT_SYMBOL vmlinux 0x7fffffff gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x7fffffff gf128mul_lle +EXPORT_SYMBOL vmlinux 0x7fffffff gic_pmr_sync +EXPORT_SYMBOL vmlinux 0x7fffffff give_up_console +EXPORT_SYMBOL vmlinux 0x7fffffff global_cursor_default +EXPORT_SYMBOL vmlinux 0x7fffffff gnet_stats_add_basic +EXPORT_SYMBOL vmlinux 0x7fffffff gnet_stats_add_queue +EXPORT_SYMBOL vmlinux 0x7fffffff gnet_stats_basic_sync_init +EXPORT_SYMBOL vmlinux 0x7fffffff gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x7fffffff gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x7fffffff gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x7fffffff gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x7fffffff gpiochip_irq_relres +EXPORT_SYMBOL vmlinux 0x7fffffff gpiochip_irq_reqres +EXPORT_SYMBOL vmlinux 0x7fffffff gpmc_cs_request +EXPORT_SYMBOL vmlinux 0x7fffffff grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x7fffffff gro_cells_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff gro_cells_receive +EXPORT_SYMBOL vmlinux 0x7fffffff groups_sort +EXPORT_SYMBOL vmlinux 0x7fffffff guid_null +EXPORT_SYMBOL vmlinux 0x7fffffff guid_parse +EXPORT_SYMBOL vmlinux 0x7fffffff has_capability +EXPORT_SYMBOL vmlinux 0x7fffffff has_capability_noaudit +EXPORT_SYMBOL vmlinux 0x7fffffff hchacha_block_generic +EXPORT_SYMBOL vmlinux 0x7fffffff hdmi_audio_infoframe_check +EXPORT_SYMBOL vmlinux 0x7fffffff hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0x7fffffff hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0x7fffffff hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0x7fffffff hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0x7fffffff hdmi_spd_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x7fffffff hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x7fffffff hex_asc_upper +EXPORT_SYMBOL vmlinux 0x7fffffff hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff hex_to_bin +EXPORT_SYMBOL vmlinux 0x7fffffff high_memory +EXPORT_SYMBOL vmlinux 0x7fffffff hsiphash_3u32 +EXPORT_SYMBOL vmlinux 0x7fffffff hsiphash_4u32 +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_register_driver +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_transfer +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_transfer_buffer_flags +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_verify_client +EXPORT_SYMBOL vmlinux 0x7fffffff icmp_ndo_send +EXPORT_SYMBOL vmlinux 0x7fffffff icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x7fffffff icst_hz +EXPORT_SYMBOL vmlinux 0x7fffffff icst_hz_to_vco +EXPORT_SYMBOL vmlinux 0x7fffffff ida_alloc_range +EXPORT_SYMBOL vmlinux 0x7fffffff ida_free +EXPORT_SYMBOL vmlinux 0x7fffffff idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x7fffffff idr_get_next_ul +EXPORT_SYMBOL vmlinux 0x7fffffff idr_preload +EXPORT_SYMBOL vmlinux 0x7fffffff iget_locked +EXPORT_SYMBOL vmlinux 0x7fffffff ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x7fffffff igrab +EXPORT_SYMBOL vmlinux 0x7fffffff ilookup +EXPORT_SYMBOL vmlinux 0x7fffffff ilookup5 +EXPORT_SYMBOL vmlinux 0x7fffffff import_single_range +EXPORT_SYMBOL vmlinux 0x7fffffff imx_sc_misc_get_control +EXPORT_SYMBOL vmlinux 0x7fffffff imx_sc_rm_is_resource_owned +EXPORT_SYMBOL vmlinux 0x7fffffff imx_scu_enable_general_irq_channel +EXPORT_SYMBOL vmlinux 0x7fffffff imx_scu_irq_register_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff imx_ssi_fiq_end +EXPORT_SYMBOL vmlinux 0x7fffffff imx_ssi_fiq_start +EXPORT_SYMBOL vmlinux 0x7fffffff in4_pton +EXPORT_SYMBOL vmlinux 0x7fffffff in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0x7fffffff in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0x7fffffff in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0x7fffffff in6addr_sitelocal_allrouters +EXPORT_SYMBOL vmlinux 0x7fffffff in_group_p +EXPORT_SYMBOL vmlinux 0x7fffffff inc_nlink +EXPORT_SYMBOL vmlinux 0x7fffffff inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x7fffffff inet6_add_offload +EXPORT_SYMBOL vmlinux 0x7fffffff inet6_bind +EXPORT_SYMBOL vmlinux 0x7fffffff inet6_ioctl +EXPORT_SYMBOL vmlinux 0x7fffffff inet6_protos +EXPORT_SYMBOL vmlinux 0x7fffffff inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x7fffffff inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x7fffffff inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0x7fffffff inet6addr_validator_notifier_call_chain +EXPORT_SYMBOL vmlinux 0x7fffffff inet_add_offload +EXPORT_SYMBOL vmlinux 0x7fffffff inet_add_protocol +EXPORT_SYMBOL vmlinux 0x7fffffff inet_addr_is_any +EXPORT_SYMBOL vmlinux 0x7fffffff inet_bind +EXPORT_SYMBOL vmlinux 0x7fffffff inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x7fffffff inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0x7fffffff inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x7fffffff inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0x7fffffff inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0x7fffffff inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0x7fffffff inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x7fffffff inet_current_timestamp +EXPORT_SYMBOL vmlinux 0x7fffffff inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x7fffffff inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x7fffffff inet_frag_kill +EXPORT_SYMBOL vmlinux 0x7fffffff inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0x7fffffff inet_frags_init +EXPORT_SYMBOL vmlinux 0x7fffffff inet_getname +EXPORT_SYMBOL vmlinux 0x7fffffff inet_ioctl +EXPORT_SYMBOL vmlinux 0x7fffffff inet_offloads +EXPORT_SYMBOL vmlinux 0x7fffffff inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0x7fffffff inet_put_port +EXPORT_SYMBOL vmlinux 0x7fffffff inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0x7fffffff inet_select_addr +EXPORT_SYMBOL vmlinux 0x7fffffff inet_sendmsg +EXPORT_SYMBOL vmlinux 0x7fffffff inet_sendpage +EXPORT_SYMBOL vmlinux 0x7fffffff inet_sk_set_state +EXPORT_SYMBOL vmlinux 0x7fffffff inet_stream_connect +EXPORT_SYMBOL vmlinux 0x7fffffff inetdev_by_index +EXPORT_SYMBOL vmlinux 0x7fffffff init_cdrom_command +EXPORT_SYMBOL vmlinux 0x7fffffff init_on_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff init_on_free +EXPORT_SYMBOL vmlinux 0x7fffffff init_timer_key +EXPORT_SYMBOL vmlinux 0x7fffffff init_wait_entry +EXPORT_SYMBOL vmlinux 0x7fffffff inode_dio_wait +EXPORT_SYMBOL vmlinux 0x7fffffff inode_init_always +EXPORT_SYMBOL vmlinux 0x7fffffff inode_init_owner +EXPORT_SYMBOL vmlinux 0x7fffffff inode_io_list_del +EXPORT_SYMBOL vmlinux 0x7fffffff inode_needs_sync +EXPORT_SYMBOL vmlinux 0x7fffffff inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x7fffffff inode_nohighmem +EXPORT_SYMBOL vmlinux 0x7fffffff inode_set_flags +EXPORT_SYMBOL vmlinux 0x7fffffff inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x7fffffff inode_to_bdi +EXPORT_SYMBOL vmlinux 0x7fffffff input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x7fffffff input_close_device +EXPORT_SYMBOL vmlinux 0x7fffffff input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0x7fffffff input_event +EXPORT_SYMBOL vmlinux 0x7fffffff input_flush_device +EXPORT_SYMBOL vmlinux 0x7fffffff input_get_new_minor +EXPORT_SYMBOL vmlinux 0x7fffffff input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x7fffffff input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x7fffffff input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0x7fffffff input_release_device +EXPORT_SYMBOL vmlinux 0x7fffffff input_reset_device +EXPORT_SYMBOL vmlinux 0x7fffffff input_set_abs_params +EXPORT_SYMBOL vmlinux 0x7fffffff input_set_capability +EXPORT_SYMBOL vmlinux 0x7fffffff input_set_keycode +EXPORT_SYMBOL vmlinux 0x7fffffff input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0x7fffffff input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0x7fffffff input_set_poll_interval +EXPORT_SYMBOL vmlinux 0x7fffffff input_set_timestamp +EXPORT_SYMBOL vmlinux 0x7fffffff input_setup_polling +EXPORT_SYMBOL vmlinux 0x7fffffff input_unregister_device +EXPORT_SYMBOL vmlinux 0x7fffffff input_unregister_handle +EXPORT_SYMBOL vmlinux 0x7fffffff insert_inode_locked +EXPORT_SYMBOL vmlinux 0x7fffffff insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x7fffffff int_sqrt +EXPORT_SYMBOL vmlinux 0x7fffffff invalidate_disk +EXPORT_SYMBOL vmlinux 0x7fffffff invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x7fffffff io_schedule +EXPORT_SYMBOL vmlinux 0x7fffffff io_schedule_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff io_uring_get_socket +EXPORT_SYMBOL vmlinux 0x7fffffff ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x7fffffff iomem_resource +EXPORT_SYMBOL vmlinux 0x7fffffff ioport_unmap +EXPORT_SYMBOL vmlinux 0x7fffffff ioremap +EXPORT_SYMBOL vmlinux 0x7fffffff ioremap_page +EXPORT_SYMBOL vmlinux 0x7fffffff ioremap_wc +EXPORT_SYMBOL vmlinux 0x7fffffff iounmap +EXPORT_SYMBOL vmlinux 0x7fffffff iov_iter_advance +EXPORT_SYMBOL vmlinux 0x7fffffff iov_iter_alignment +EXPORT_SYMBOL vmlinux 0x7fffffff iov_iter_bvec +EXPORT_SYMBOL vmlinux 0x7fffffff iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0x7fffffff iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0x7fffffff iov_iter_init +EXPORT_SYMBOL vmlinux 0x7fffffff iov_iter_npages +EXPORT_SYMBOL vmlinux 0x7fffffff ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x7fffffff ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x7fffffff ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x7fffffff ip6_frag_init +EXPORT_SYMBOL vmlinux 0x7fffffff ip6_output +EXPORT_SYMBOL vmlinux 0x7fffffff ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x7fffffff ip6tun_encaps +EXPORT_SYMBOL vmlinux 0x7fffffff ip_check_defrag +EXPORT_SYMBOL vmlinux 0x7fffffff ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0x7fffffff ip_frag_init +EXPORT_SYMBOL vmlinux 0x7fffffff ip_frag_next +EXPORT_SYMBOL vmlinux 0x7fffffff ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x7fffffff ip_local_deliver +EXPORT_SYMBOL vmlinux 0x7fffffff ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x7fffffff ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0x7fffffff ip_output +EXPORT_SYMBOL vmlinux 0x7fffffff ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x7fffffff ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0x7fffffff ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0x7fffffff ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0x7fffffff ipmi_dmi_get_slave_addr +EXPORT_SYMBOL vmlinux 0x7fffffff ipmi_platform_add +EXPORT_SYMBOL vmlinux 0x7fffffff iptun_encaps +EXPORT_SYMBOL vmlinux 0x7fffffff iput +EXPORT_SYMBOL vmlinux 0x7fffffff ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x7fffffff ipv6_dev_find +EXPORT_SYMBOL vmlinux 0x7fffffff ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x7fffffff ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0x7fffffff ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0x7fffffff ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0x7fffffff ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0x7fffffff irq_poll_complete +EXPORT_SYMBOL vmlinux 0x7fffffff irq_poll_enable +EXPORT_SYMBOL vmlinux 0x7fffffff irq_poll_init +EXPORT_SYMBOL vmlinux 0x7fffffff irq_set_chip +EXPORT_SYMBOL vmlinux 0x7fffffff irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0x7fffffff is_console_locked +EXPORT_SYMBOL vmlinux 0x7fffffff is_free_buddy_page +EXPORT_SYMBOL vmlinux 0x7fffffff is_module_sig_enforced +EXPORT_SYMBOL vmlinux 0x7fffffff is_subdir +EXPORT_SYMBOL vmlinux 0x7fffffff is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0x7fffffff isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0x7fffffff iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0x7fffffff iter_file_splice_write +EXPORT_SYMBOL vmlinux 0x7fffffff iterate_dir +EXPORT_SYMBOL vmlinux 0x7fffffff iterate_supers_type +EXPORT_SYMBOL vmlinux 0x7fffffff iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x7fffffff iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x7fffffff iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x7fffffff iwe_stream_add_value +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2__journal_start +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_fc_begin_commit +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_fc_end_commit +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_fc_release_bufs +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_fc_wait_bufs +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_grab_journal_head +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_invalidate_folio +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_submit_inode_data_buffers +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_submit_inode_data +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x7fffffff jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x7fffffff jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0x7fffffff jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0x7fffffff kasprintf +EXPORT_SYMBOL vmlinux 0x7fffffff kern_path +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_connect +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_cpustat +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_getpeername +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_neon_begin +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_neon_end +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_param_unlock +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_sendpage +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0x7fffffff key_link +EXPORT_SYMBOL vmlinux 0x7fffffff key_payload_reserve +EXPORT_SYMBOL vmlinux 0x7fffffff key_reject_and_link +EXPORT_SYMBOL vmlinux 0x7fffffff key_type_keyring +EXPORT_SYMBOL vmlinux 0x7fffffff key_update +EXPORT_SYMBOL vmlinux 0x7fffffff key_validate +EXPORT_SYMBOL vmlinux 0x7fffffff keyring_restrict +EXPORT_SYMBOL vmlinux 0x7fffffff kfree_const +EXPORT_SYMBOL vmlinux 0x7fffffff kfree_link +EXPORT_SYMBOL vmlinux 0x7fffffff kfree_sensitive +EXPORT_SYMBOL vmlinux 0x7fffffff kfree_skb_list_reason +EXPORT_SYMBOL vmlinux 0x7fffffff kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x7fffffff kfree_skb_reason +EXPORT_SYMBOL vmlinux 0x7fffffff kill_anon_super +EXPORT_SYMBOL vmlinux 0x7fffffff kill_litter_super +EXPORT_SYMBOL vmlinux 0x7fffffff kill_pgrp +EXPORT_SYMBOL vmlinux 0x7fffffff kill_pid +EXPORT_SYMBOL vmlinux 0x7fffffff km_policy_notify +EXPORT_SYMBOL vmlinux 0x7fffffff km_query +EXPORT_SYMBOL vmlinux 0x7fffffff km_report +EXPORT_SYMBOL vmlinux 0x7fffffff kmalloc_caches +EXPORT_SYMBOL vmlinux 0x7fffffff kmem_cache_alloc_lru +EXPORT_SYMBOL vmlinux 0x7fffffff kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x7fffffff kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff kmem_cache_free +EXPORT_SYMBOL vmlinux 0x7fffffff kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0x7fffffff kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x7fffffff kmem_cache_size +EXPORT_SYMBOL vmlinux 0x7fffffff kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0x7fffffff kobject_init +EXPORT_SYMBOL vmlinux 0x7fffffff kobject_set_name +EXPORT_SYMBOL vmlinux 0x7fffffff krait_set_l2_indirect_reg +EXPORT_SYMBOL vmlinux 0x7fffffff kset_register +EXPORT_SYMBOL vmlinux 0x7fffffff ksize +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtoint +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtos16 +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x7fffffff kthread_create_on_cpu +EXPORT_SYMBOL vmlinux 0x7fffffff kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x7fffffff kthread_create_worker +EXPORT_SYMBOL vmlinux 0x7fffffff kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0x7fffffff kthread_should_stop +EXPORT_SYMBOL vmlinux 0x7fffffff ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0x7fffffff ktime_get_real_ts64 +EXPORT_SYMBOL vmlinux 0x7fffffff kvfree_sensitive +EXPORT_SYMBOL vmlinux 0x7fffffff kvmalloc_node +EXPORT_SYMBOL vmlinux 0x7fffffff kvrealloc +EXPORT_SYMBOL vmlinux 0x7fffffff lease_get_mtime +EXPORT_SYMBOL vmlinux 0x7fffffff lease_modify +EXPORT_SYMBOL vmlinux 0x7fffffff ledtrig_cpu +EXPORT_SYMBOL vmlinux 0x7fffffff ledtrig_mtd_activity +EXPORT_SYMBOL vmlinux 0x7fffffff list_sort +EXPORT_SYMBOL vmlinux 0x7fffffff load_nls +EXPORT_SYMBOL vmlinux 0x7fffffff lock_rename +EXPORT_SYMBOL vmlinux 0x7fffffff lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x7fffffff lockref_get +EXPORT_SYMBOL vmlinux 0x7fffffff lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0x7fffffff lockref_mark_dead +EXPORT_SYMBOL vmlinux 0x7fffffff lockref_put_return +EXPORT_SYMBOL vmlinux 0x7fffffff locks_copy_conflock +EXPORT_SYMBOL vmlinux 0x7fffffff locks_free_lock +EXPORT_SYMBOL vmlinux 0x7fffffff locks_init_lock +EXPORT_SYMBOL vmlinux 0x7fffffff lookup_constant +EXPORT_SYMBOL vmlinux 0x7fffffff lookup_one +EXPORT_SYMBOL vmlinux 0x7fffffff lookup_one_len +EXPORT_SYMBOL vmlinux 0x7fffffff lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0x7fffffff lookup_one_positive_unlocked +EXPORT_SYMBOL vmlinux 0x7fffffff lookup_positive_unlocked +EXPORT_SYMBOL vmlinux 0x7fffffff loops_per_jiffy +EXPORT_SYMBOL vmlinux 0x7fffffff map_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x7fffffff match_hex +EXPORT_SYMBOL vmlinux 0x7fffffff match_octal +EXPORT_SYMBOL vmlinux 0x7fffffff match_strdup +EXPORT_SYMBOL vmlinux 0x7fffffff match_string +EXPORT_SYMBOL vmlinux 0x7fffffff match_u64 +EXPORT_SYMBOL vmlinux 0x7fffffff match_uint +EXPORT_SYMBOL vmlinux 0x7fffffff max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x7fffffff max8998_bulk_read +EXPORT_SYMBOL vmlinux 0x7fffffff max8998_bulk_write +EXPORT_SYMBOL vmlinux 0x7fffffff max8998_read_reg +EXPORT_SYMBOL vmlinux 0x7fffffff max8998_write_reg +EXPORT_SYMBOL vmlinux 0x7fffffff may_setattr +EXPORT_SYMBOL vmlinux 0x7fffffff may_umount +EXPORT_SYMBOL vmlinux 0x7fffffff mb_cache_create +EXPORT_SYMBOL vmlinux 0x7fffffff mb_cache_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff mb_cache_entry_wait_unused +EXPORT_SYMBOL vmlinux 0x7fffffff md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x7fffffff md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x7fffffff md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0x7fffffff md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0x7fffffff md_check_recovery +EXPORT_SYMBOL vmlinux 0x7fffffff md_done_sync +EXPORT_SYMBOL vmlinux 0x7fffffff md_finish_reshape +EXPORT_SYMBOL vmlinux 0x7fffffff md_flush_request +EXPORT_SYMBOL vmlinux 0x7fffffff md_handle_request +EXPORT_SYMBOL vmlinux 0x7fffffff md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x7fffffff md_integrity_register +EXPORT_SYMBOL vmlinux 0x7fffffff md_unregister_thread +EXPORT_SYMBOL vmlinux 0x7fffffff md_update_sb +EXPORT_SYMBOL vmlinux 0x7fffffff md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x7fffffff md_write_end +EXPORT_SYMBOL vmlinux 0x7fffffff mdio_device_free +EXPORT_SYMBOL vmlinux 0x7fffffff mdio_driver_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff mdio_find_bus +EXPORT_SYMBOL vmlinux 0x7fffffff mdiobb_write +EXPORT_SYMBOL vmlinux 0x7fffffff mdiobus_free +EXPORT_SYMBOL vmlinux 0x7fffffff mdiobus_read +EXPORT_SYMBOL vmlinux 0x7fffffff mdiobus_read_nested +EXPORT_SYMBOL vmlinux 0x7fffffff mdiobus_scan +EXPORT_SYMBOL vmlinux 0x7fffffff mdiobus_write_nested +EXPORT_SYMBOL vmlinux 0x7fffffff mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0x7fffffff mem_map +EXPORT_SYMBOL vmlinux 0x7fffffff memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0x7fffffff memcg_sockets_enabled_key +EXPORT_SYMBOL vmlinux 0x7fffffff memchr +EXPORT_SYMBOL vmlinux 0x7fffffff memcpy +EXPORT_SYMBOL vmlinux 0x7fffffff memcpy_and_pad +EXPORT_SYMBOL vmlinux 0x7fffffff memdup_user +EXPORT_SYMBOL vmlinux 0x7fffffff memdup_user_nul +EXPORT_SYMBOL vmlinux 0x7fffffff memmove +EXPORT_SYMBOL vmlinux 0x7fffffff mempool_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x7fffffff mempool_create +EXPORT_SYMBOL vmlinux 0x7fffffff mempool_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff mempool_exit +EXPORT_SYMBOL vmlinux 0x7fffffff mempool_free_pages +EXPORT_SYMBOL vmlinux 0x7fffffff mempool_free_slab +EXPORT_SYMBOL vmlinux 0x7fffffff mempool_init +EXPORT_SYMBOL vmlinux 0x7fffffff mempool_kmalloc +EXPORT_SYMBOL vmlinux 0x7fffffff memremap +EXPORT_SYMBOL vmlinux 0x7fffffff memset16 +EXPORT_SYMBOL vmlinux 0x7fffffff memunmap +EXPORT_SYMBOL vmlinux 0x7fffffff mfd_add_devices +EXPORT_SYMBOL vmlinux 0x7fffffff mfd_cell_enable +EXPORT_SYMBOL vmlinux 0x7fffffff migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0x7fffffff mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0x7fffffff mii_nway_restart +EXPORT_SYMBOL vmlinux 0x7fffffff mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0x7fffffff minmax_running_max +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_attach +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_enter_sleep_mode +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_get_display_brightness +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_get_display_brightness_large +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_get_power_mode +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_nop +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_read +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_set_column_address +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_set_display_brightness_large +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_set_page_address +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_set_pixel_format +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_set_tear_off +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_set_tear_scanline +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_soft_reset +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_detach +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_device_register_full +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_host_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_packet_format_is_long +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_shutdown_peripheral +EXPORT_SYMBOL vmlinux 0x7fffffff misc_register +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_can_erase +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_can_gpio_ro +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_cqe_post_req +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_cqe_start_req +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_erase +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_get_card +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_gpio_get_cd +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_gpio_set_cd_isr +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_gpio_set_cd_wake +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_gpiod_request_cd_irq +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_of_parse +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_put_card +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_release_host +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_remove_host +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_retune_release +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x7fffffff mmput_async +EXPORT_SYMBOL vmlinux 0x7fffffff mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x7fffffff mntget +EXPORT_SYMBOL vmlinux 0x7fffffff mntput +EXPORT_SYMBOL vmlinux 0x7fffffff mod_node_page_state +EXPORT_SYMBOL vmlinux 0x7fffffff mod_timer +EXPORT_SYMBOL vmlinux 0x7fffffff module_refcount +EXPORT_SYMBOL vmlinux 0x7fffffff mount_single +EXPORT_SYMBOL vmlinux 0x7fffffff mount_subtree +EXPORT_SYMBOL vmlinux 0x7fffffff movable_zone +EXPORT_SYMBOL vmlinux 0x7fffffff mpage_writepage +EXPORT_SYMBOL vmlinux 0x7fffffff mpage_writepages +EXPORT_SYMBOL vmlinux 0x7fffffff mq_change_real_num_tx +EXPORT_SYMBOL vmlinux 0x7fffffff mr_dump +EXPORT_SYMBOL vmlinux 0x7fffffff mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0x7fffffff mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0x7fffffff mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0x7fffffff mr_table_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff mr_table_dump +EXPORT_SYMBOL vmlinux 0x7fffffff msleep +EXPORT_SYMBOL vmlinux 0x7fffffff msleep_interruptible +EXPORT_SYMBOL vmlinux 0x7fffffff msm_pinctrl_probe +EXPORT_SYMBOL vmlinux 0x7fffffff mtd_concat_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff mutex_is_locked +EXPORT_SYMBOL vmlinux 0x7fffffff mutex_lock +EXPORT_SYMBOL vmlinux 0x7fffffff mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x7fffffff mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x7fffffff mutex_unlock +EXPORT_SYMBOL vmlinux 0x7fffffff mx51_revision +EXPORT_SYMBOL vmlinux 0x7fffffff mxc_set_irq_fiq +EXPORT_SYMBOL vmlinux 0x7fffffff n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x7fffffff nand_check_erased_ecc_chunk +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_cleanup_ctx +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_get_on_die_hw_engine +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_is_strong_enough +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_put_on_host_hw_engine +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_register_on_host_hw_engine +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_sw_bch_calculate +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_sw_bch_correct +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_sw_bch_init_ctx +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_sw_hamming_get_engine +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_unregister_on_host_hw_engine +EXPORT_SYMBOL vmlinux 0x7fffffff nand_get_set_features_notsupp +EXPORT_SYMBOL vmlinux 0x7fffffff nand_monolithic_read_page_raw +EXPORT_SYMBOL vmlinux 0x7fffffff nand_write_oob_std +EXPORT_SYMBOL vmlinux 0x7fffffff napi_build_skb +EXPORT_SYMBOL vmlinux 0x7fffffff napi_complete_done +EXPORT_SYMBOL vmlinux 0x7fffffff napi_enable +EXPORT_SYMBOL vmlinux 0x7fffffff ndisc_ns_create +EXPORT_SYMBOL vmlinux 0x7fffffff ndisc_send_skb +EXPORT_SYMBOL vmlinux 0x7fffffff ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0x7fffffff ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0x7fffffff ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_app_ns +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_carrier_down +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_event_ns +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_ifdown +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_seq_start +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_update +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_xmit +EXPORT_SYMBOL vmlinux 0x7fffffff net_dim_get_def_rx_moderation +EXPORT_SYMBOL vmlinux 0x7fffffff net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x7fffffff net_ns_barrier +EXPORT_SYMBOL vmlinux 0x7fffffff net_ratelimit +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_adjacent_get_private +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_alert +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_emerg +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_features_change +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_max_backlog +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_name_in_use +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_notify_peers +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_offload_xstats_enable +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_offload_xstats_enabled +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_offload_xstats_push_delta +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_offload_xstats_report_delta +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_offload_xstats_report_used +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_printk +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_sk_get_lowest_dev +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0x7fffffff netif_carrier_off +EXPORT_SYMBOL vmlinux 0x7fffffff netif_inherit_tso_max +EXPORT_SYMBOL vmlinux 0x7fffffff netif_receive_skb +EXPORT_SYMBOL vmlinux 0x7fffffff netif_set_real_num_queues +EXPORT_SYMBOL vmlinux 0x7fffffff netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0x7fffffff netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0x7fffffff netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x7fffffff netif_tx_lock +EXPORT_SYMBOL vmlinux 0x7fffffff netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0x7fffffff netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0x7fffffff netlbl_audit_start +EXPORT_SYMBOL vmlinux 0x7fffffff netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x7fffffff netlink_ack +EXPORT_SYMBOL vmlinux 0x7fffffff netlink_broadcast +EXPORT_SYMBOL vmlinux 0x7fffffff netlink_capable +EXPORT_SYMBOL vmlinux 0x7fffffff netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x7fffffff netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x7fffffff netlink_register_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff netlink_set_err +EXPORT_SYMBOL vmlinux 0x7fffffff netlink_unicast +EXPORT_SYMBOL vmlinux 0x7fffffff netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0x7fffffff netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0x7fffffff netpoll_send_skb +EXPORT_SYMBOL vmlinux 0x7fffffff netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x7fffffff netstamp_needed_key +EXPORT_SYMBOL vmlinux 0x7fffffff next_arg +EXPORT_SYMBOL vmlinux 0x7fffffff nexthop_res_grp_activity_update +EXPORT_SYMBOL vmlinux 0x7fffffff nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff nf_ct_attach +EXPORT_SYMBOL vmlinux 0x7fffffff nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0x7fffffff nf_getsockopt +EXPORT_SYMBOL vmlinux 0x7fffffff nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x7fffffff nf_log_packet +EXPORT_SYMBOL vmlinux 0x7fffffff nf_log_register +EXPORT_SYMBOL vmlinux 0x7fffffff nf_log_set +EXPORT_SYMBOL vmlinux 0x7fffffff nf_log_trace +EXPORT_SYMBOL vmlinux 0x7fffffff nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x7fffffff nf_log_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x7fffffff nf_reinject +EXPORT_SYMBOL vmlinux 0x7fffffff nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x7fffffff nla_append +EXPORT_SYMBOL vmlinux 0x7fffffff nla_find +EXPORT_SYMBOL vmlinux 0x7fffffff nla_memcmp +EXPORT_SYMBOL vmlinux 0x7fffffff nla_memcpy +EXPORT_SYMBOL vmlinux 0x7fffffff nla_policy_len +EXPORT_SYMBOL vmlinux 0x7fffffff nla_put_64bit +EXPORT_SYMBOL vmlinux 0x7fffffff nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x7fffffff nla_strcmp +EXPORT_SYMBOL vmlinux 0x7fffffff nla_strdup +EXPORT_SYMBOL vmlinux 0x7fffffff nmi_panic +EXPORT_SYMBOL vmlinux 0x7fffffff no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0x7fffffff nobh_writepage +EXPORT_SYMBOL vmlinux 0x7fffffff node_states +EXPORT_SYMBOL vmlinux 0x7fffffff noop_qdisc +EXPORT_SYMBOL vmlinux 0x7fffffff nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0x7fffffff notify_change +EXPORT_SYMBOL vmlinux 0x7fffffff ns_capable_setid +EXPORT_SYMBOL vmlinux 0x7fffffff of_chosen +EXPORT_SYMBOL vmlinux 0x7fffffff of_count_phandle_with_args +EXPORT_SYMBOL vmlinux 0x7fffffff of_device_is_available +EXPORT_SYMBOL vmlinux 0x7fffffff of_device_is_big_endian +EXPORT_SYMBOL vmlinux 0x7fffffff of_device_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_all_nodes +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_backlight_by_node +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_compatible_node +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_device_by_node +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_matching_node_and_match +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_net_device_by_node +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_node_by_type +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_node_opts_by_path +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_node_with_property +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_property +EXPORT_SYMBOL vmlinux 0x7fffffff of_get_child_by_name +EXPORT_SYMBOL vmlinux 0x7fffffff of_get_min_tck +EXPORT_SYMBOL vmlinux 0x7fffffff of_get_next_child +EXPORT_SYMBOL vmlinux 0x7fffffff of_get_next_cpu_node +EXPORT_SYMBOL vmlinux 0x7fffffff of_get_next_parent +EXPORT_SYMBOL vmlinux 0x7fffffff of_graph_get_endpoint_by_regs +EXPORT_SYMBOL vmlinux 0x7fffffff of_graph_get_endpoint_count +EXPORT_SYMBOL vmlinux 0x7fffffff of_graph_get_port_by_id +EXPORT_SYMBOL vmlinux 0x7fffffff of_graph_get_remote_node +EXPORT_SYMBOL vmlinux 0x7fffffff of_graph_get_remote_port +EXPORT_SYMBOL vmlinux 0x7fffffff of_graph_get_remote_port_parent +EXPORT_SYMBOL vmlinux 0x7fffffff of_graph_is_present +EXPORT_SYMBOL vmlinux 0x7fffffff of_io_request_and_map +EXPORT_SYMBOL vmlinux 0x7fffffff of_lpddr2_get_info +EXPORT_SYMBOL vmlinux 0x7fffffff of_lpddr3_get_ddr_timings +EXPORT_SYMBOL vmlinux 0x7fffffff of_lpddr3_get_min_tck +EXPORT_SYMBOL vmlinux 0x7fffffff of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0x7fffffff of_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0x7fffffff of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x7fffffff of_node_get +EXPORT_SYMBOL vmlinux 0x7fffffff of_node_name_prefix +EXPORT_SYMBOL vmlinux 0x7fffffff of_node_put +EXPORT_SYMBOL vmlinux 0x7fffffff of_parse_phandle_with_args_map +EXPORT_SYMBOL vmlinux 0x7fffffff of_phy_connect +EXPORT_SYMBOL vmlinux 0x7fffffff of_phy_deregister_fixed_link +EXPORT_SYMBOL vmlinux 0x7fffffff of_phy_is_fixed_link +EXPORT_SYMBOL vmlinux 0x7fffffff of_phy_register_fixed_link +EXPORT_SYMBOL vmlinux 0x7fffffff of_platform_device_create +EXPORT_SYMBOL vmlinux 0x7fffffff of_root +EXPORT_SYMBOL vmlinux 0x7fffffff of_translate_dma_address +EXPORT_SYMBOL vmlinux 0x7fffffff omap_rev +EXPORT_SYMBOL vmlinux 0x7fffffff omap_rtc_power_off_program +EXPORT_SYMBOL vmlinux 0x7fffffff omap_type +EXPORT_SYMBOL vmlinux 0x7fffffff omap_vrfb_adjust_size +EXPORT_SYMBOL vmlinux 0x7fffffff omap_vrfb_max_height +EXPORT_SYMBOL vmlinux 0x7fffffff omap_vrfb_min_phys_size +EXPORT_SYMBOL vmlinux 0x7fffffff omap_vrfb_setup +EXPORT_SYMBOL vmlinux 0x7fffffff on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0x7fffffff oops_in_progress +EXPORT_SYMBOL vmlinux 0x7fffffff open_exec +EXPORT_SYMBOL vmlinux 0x7fffffff open_with_fake_path +EXPORT_SYMBOL vmlinux 0x7fffffff out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x7fffffff overflowuid +EXPORT_SYMBOL vmlinux 0x7fffffff padata_do_parallel +EXPORT_SYMBOL vmlinux 0x7fffffff page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0x7fffffff page_frag_free +EXPORT_SYMBOL vmlinux 0x7fffffff page_mapped +EXPORT_SYMBOL vmlinux 0x7fffffff page_offline_end +EXPORT_SYMBOL vmlinux 0x7fffffff page_pool_ethtool_stats_get +EXPORT_SYMBOL vmlinux 0x7fffffff page_pool_return_skb_page +EXPORT_SYMBOL vmlinux 0x7fffffff page_readlink +EXPORT_SYMBOL vmlinux 0x7fffffff page_symlink +EXPORT_SYMBOL vmlinux 0x7fffffff pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0x7fffffff pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0x7fffffff panic +EXPORT_SYMBOL vmlinux 0x7fffffff panic_notifier_list +EXPORT_SYMBOL vmlinux 0x7fffffff par_io_of_config +EXPORT_SYMBOL vmlinux 0x7fffffff param_array_ops +EXPORT_SYMBOL vmlinux 0x7fffffff param_get_string +EXPORT_SYMBOL vmlinux 0x7fffffff param_get_ullong +EXPORT_SYMBOL vmlinux 0x7fffffff param_get_ulong +EXPORT_SYMBOL vmlinux 0x7fffffff param_get_ushort +EXPORT_SYMBOL vmlinux 0x7fffffff param_ops_bool +EXPORT_SYMBOL vmlinux 0x7fffffff param_ops_charp +EXPORT_SYMBOL vmlinux 0x7fffffff param_ops_hexint +EXPORT_SYMBOL vmlinux 0x7fffffff param_ops_int +EXPORT_SYMBOL vmlinux 0x7fffffff param_ops_invbool +EXPORT_SYMBOL vmlinux 0x7fffffff param_ops_long +EXPORT_SYMBOL vmlinux 0x7fffffff param_ops_uint +EXPORT_SYMBOL vmlinux 0x7fffffff param_set_bool +EXPORT_SYMBOL vmlinux 0x7fffffff param_set_byte +EXPORT_SYMBOL vmlinux 0x7fffffff param_set_hexint +EXPORT_SYMBOL vmlinux 0x7fffffff param_set_int +EXPORT_SYMBOL vmlinux 0x7fffffff param_set_long +EXPORT_SYMBOL vmlinux 0x7fffffff param_set_short +EXPORT_SYMBOL vmlinux 0x7fffffff param_set_uint +EXPORT_SYMBOL vmlinux 0x7fffffff param_set_ulong +EXPORT_SYMBOL vmlinux 0x7fffffff param_set_ushort +EXPORT_SYMBOL vmlinux 0x7fffffff path_get +EXPORT_SYMBOL vmlinux 0x7fffffff path_has_submounts +EXPORT_SYMBOL vmlinux 0x7fffffff path_put +EXPORT_SYMBOL vmlinux 0x7fffffff pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0x7fffffff pci_alloc_dev +EXPORT_SYMBOL vmlinux 0x7fffffff pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x7fffffff pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0x7fffffff pci_assign_resource +EXPORT_SYMBOL vmlinux 0x7fffffff pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x7fffffff pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x7fffffff pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x7fffffff pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x7fffffff pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0x7fffffff pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x7fffffff pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x7fffffff pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x7fffffff pci_bus_type +EXPORT_SYMBOL vmlinux 0x7fffffff pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x7fffffff pci_claim_resource +EXPORT_SYMBOL vmlinux 0x7fffffff pci_clear_master +EXPORT_SYMBOL vmlinux 0x7fffffff pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x7fffffff pci_dev_driver +EXPORT_SYMBOL vmlinux 0x7fffffff pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x7fffffff pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0x7fffffff pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0x7fffffff pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x7fffffff pci_enable_msi +EXPORT_SYMBOL vmlinux 0x7fffffff pci_enable_wake +EXPORT_SYMBOL vmlinux 0x7fffffff pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0x7fffffff pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0x7fffffff pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0x7fffffff pci_find_bus +EXPORT_SYMBOL vmlinux 0x7fffffff pci_find_capability +EXPORT_SYMBOL vmlinux 0x7fffffff pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x7fffffff pci_find_resource +EXPORT_SYMBOL vmlinux 0x7fffffff pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x7fffffff pci_fixup_device +EXPORT_SYMBOL vmlinux 0x7fffffff pci_free_irq +EXPORT_SYMBOL vmlinux 0x7fffffff pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0x7fffffff pci_get_device +EXPORT_SYMBOL vmlinux 0x7fffffff pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0x7fffffff pci_get_slot +EXPORT_SYMBOL vmlinux 0x7fffffff pci_get_subsys +EXPORT_SYMBOL vmlinux 0x7fffffff pci_iomap +EXPORT_SYMBOL vmlinux 0x7fffffff pci_irq_vector +EXPORT_SYMBOL vmlinux 0x7fffffff pci_map_rom +EXPORT_SYMBOL vmlinux 0x7fffffff pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0x7fffffff pci_pci_problems +EXPORT_SYMBOL vmlinux 0x7fffffff pci_read_vpd_any +EXPORT_SYMBOL vmlinux 0x7fffffff pci_rebar_get_possible_sizes +EXPORT_SYMBOL vmlinux 0x7fffffff pci_reenable_device +EXPORT_SYMBOL vmlinux 0x7fffffff pci_release_region +EXPORT_SYMBOL vmlinux 0x7fffffff pci_request_irq +EXPORT_SYMBOL vmlinux 0x7fffffff pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x7fffffff pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x7fffffff pci_save_state +EXPORT_SYMBOL vmlinux 0x7fffffff pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x7fffffff pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0x7fffffff pci_set_master +EXPORT_SYMBOL vmlinux 0x7fffffff pci_set_mwi +EXPORT_SYMBOL vmlinux 0x7fffffff pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x7fffffff pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x7fffffff pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x7fffffff pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0x7fffffff pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x7fffffff pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0x7fffffff pci_write_vpd_any +EXPORT_SYMBOL vmlinux 0x7fffffff pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_get_mps +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_ptm_enabled +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_set_mps +EXPORT_SYMBOL vmlinux 0x7fffffff pcim_enable_device +EXPORT_SYMBOL vmlinux 0x7fffffff pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x7fffffff pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x7fffffff pcim_iounmap +EXPORT_SYMBOL vmlinux 0x7fffffff pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x7fffffff pcim_set_mwi +EXPORT_SYMBOL vmlinux 0x7fffffff pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x7fffffff pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x7fffffff pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x7fffffff peernet2id +EXPORT_SYMBOL vmlinux 0x7fffffff percpu_counter_add_batch +EXPORT_SYMBOL vmlinux 0x7fffffff percpu_counter_sync +EXPORT_SYMBOL vmlinux 0x7fffffff pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x7fffffff pgprot_kernel +EXPORT_SYMBOL vmlinux 0x7fffffff phy_advertise_supported +EXPORT_SYMBOL vmlinux 0x7fffffff phy_attach_direct +EXPORT_SYMBOL vmlinux 0x7fffffff phy_attached_info +EXPORT_SYMBOL vmlinux 0x7fffffff phy_config_aneg +EXPORT_SYMBOL vmlinux 0x7fffffff phy_connect_direct +EXPORT_SYMBOL vmlinux 0x7fffffff phy_device_free +EXPORT_SYMBOL vmlinux 0x7fffffff phy_device_remove +EXPORT_SYMBOL vmlinux 0x7fffffff phy_do_ioctl +EXPORT_SYMBOL vmlinux 0x7fffffff phy_do_ioctl_running +EXPORT_SYMBOL vmlinux 0x7fffffff phy_driver_register +EXPORT_SYMBOL vmlinux 0x7fffffff phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x7fffffff phy_ethtool_get_stats +EXPORT_SYMBOL vmlinux 0x7fffffff phy_ethtool_get_strings +EXPORT_SYMBOL vmlinux 0x7fffffff phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0x7fffffff phy_ethtool_nway_reset +EXPORT_SYMBOL vmlinux 0x7fffffff phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0x7fffffff phy_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x7fffffff phy_ethtool_set_wol +EXPORT_SYMBOL vmlinux 0x7fffffff phy_free_interrupt +EXPORT_SYMBOL vmlinux 0x7fffffff phy_get_internal_delay +EXPORT_SYMBOL vmlinux 0x7fffffff phy_init_eee +EXPORT_SYMBOL vmlinux 0x7fffffff phy_init_hw +EXPORT_SYMBOL vmlinux 0x7fffffff phy_mipi_dphy_config_validate +EXPORT_SYMBOL vmlinux 0x7fffffff phy_modify_paged +EXPORT_SYMBOL vmlinux 0x7fffffff phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0x7fffffff phy_read_mmd +EXPORT_SYMBOL vmlinux 0x7fffffff phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x7fffffff phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x7fffffff phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0x7fffffff phy_reset_after_clk_enable +EXPORT_SYMBOL vmlinux 0x7fffffff phy_resume +EXPORT_SYMBOL vmlinux 0x7fffffff phy_set_asym_pause +EXPORT_SYMBOL vmlinux 0x7fffffff phy_set_sym_pause +EXPORT_SYMBOL vmlinux 0x7fffffff phy_sfp_detach +EXPORT_SYMBOL vmlinux 0x7fffffff phy_sfp_probe +EXPORT_SYMBOL vmlinux 0x7fffffff phy_start +EXPORT_SYMBOL vmlinux 0x7fffffff phy_stop +EXPORT_SYMBOL vmlinux 0x7fffffff phy_support_asym_pause +EXPORT_SYMBOL vmlinux 0x7fffffff phy_support_sym_pause +EXPORT_SYMBOL vmlinux 0x7fffffff phy_suspend +EXPORT_SYMBOL vmlinux 0x7fffffff phy_unregister_fixup +EXPORT_SYMBOL vmlinux 0x7fffffff phy_unregister_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x7fffffff phy_validate_pause +EXPORT_SYMBOL vmlinux 0x7fffffff phy_write_paged +EXPORT_SYMBOL vmlinux 0x7fffffff phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x7fffffff pid_task +EXPORT_SYMBOL vmlinux 0x7fffffff pin_user_pages +EXPORT_SYMBOL vmlinux 0x7fffffff pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0x7fffffff pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x7fffffff pipe_lock +EXPORT_SYMBOL vmlinux 0x7fffffff pipe_unlock +EXPORT_SYMBOL vmlinux 0x7fffffff platform_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x7fffffff pldmfw_flash_image +EXPORT_SYMBOL vmlinux 0x7fffffff pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x7fffffff pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x7fffffff pm860x_set_bits +EXPORT_SYMBOL vmlinux 0x7fffffff pm_vt_switch_required +EXPORT_SYMBOL vmlinux 0x7fffffff poll_initwait +EXPORT_SYMBOL vmlinux 0x7fffffff posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff posix_acl_init +EXPORT_SYMBOL vmlinux 0x7fffffff posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0x7fffffff posix_acl_valid +EXPORT_SYMBOL vmlinux 0x7fffffff posix_lock_file +EXPORT_SYMBOL vmlinux 0x7fffffff ppp_dev_name +EXPORT_SYMBOL vmlinux 0x7fffffff ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x7fffffff ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x7fffffff pr_flush +EXPORT_SYMBOL vmlinux 0x7fffffff probe_irq_off +EXPORT_SYMBOL vmlinux 0x7fffffff probe_irq_on +EXPORT_SYMBOL vmlinux 0x7fffffff proc_create +EXPORT_SYMBOL vmlinux 0x7fffffff proc_create_mount_point +EXPORT_SYMBOL vmlinux 0x7fffffff proc_dobool +EXPORT_SYMBOL vmlinux 0x7fffffff proc_dointvec +EXPORT_SYMBOL vmlinux 0x7fffffff proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x7fffffff proc_dostring +EXPORT_SYMBOL vmlinux 0x7fffffff proc_douintvec +EXPORT_SYMBOL vmlinux 0x7fffffff proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x7fffffff proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x7fffffff proc_remove +EXPORT_SYMBOL vmlinux 0x7fffffff proc_set_size +EXPORT_SYMBOL vmlinux 0x7fffffff proc_set_user +EXPORT_SYMBOL vmlinux 0x7fffffff profile_pc +EXPORT_SYMBOL vmlinux 0x7fffffff proto_register +EXPORT_SYMBOL vmlinux 0x7fffffff proto_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x7fffffff ps2_drain +EXPORT_SYMBOL vmlinux 0x7fffffff ps2_end_command +EXPORT_SYMBOL vmlinux 0x7fffffff ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x7fffffff ps2_init +EXPORT_SYMBOL vmlinux 0x7fffffff ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x7fffffff ps2_sliced_command +EXPORT_SYMBOL vmlinux 0x7fffffff psched_ppscfg_precompute +EXPORT_SYMBOL vmlinux 0x7fffffff psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0x7fffffff pskb_expand_head +EXPORT_SYMBOL vmlinux 0x7fffffff pskb_extract +EXPORT_SYMBOL vmlinux 0x7fffffff pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0x7fffffff ptp_clock_register +EXPORT_SYMBOL vmlinux 0x7fffffff ptp_clock_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff ptp_convert_timestamp +EXPORT_SYMBOL vmlinux 0x7fffffff ptp_find_pin_unlocked +EXPORT_SYMBOL vmlinux 0x7fffffff ptp_get_vclocks_index +EXPORT_SYMBOL vmlinux 0x7fffffff put_cmsg +EXPORT_SYMBOL vmlinux 0x7fffffff put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0x7fffffff put_disk +EXPORT_SYMBOL vmlinux 0x7fffffff put_pages_list +EXPORT_SYMBOL vmlinux 0x7fffffff put_watch_queue +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_cpu_power_down +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_hdcp_req +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_ice_available +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_ice_set_key +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_io_readl +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_io_writel +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_iommu_secure_ptbl_init +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_iommu_set_cp_pool_size +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_is_available +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_lmh_dcvsh +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_lmh_dcvsh_available +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_lmh_profile_change +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_mem_protect_video_var +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_ocmem_lock +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_ocmem_lock_available +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_ocmem_unlock +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_pas_auth_and_reset +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_pas_mem_setup +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_pas_shutdown +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_pas_supported +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_qsmmu500_wait_safe_toggle +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_restore_sec_cfg +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_restore_sec_cfg_available +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_set_cold_boot_addr +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_set_remote_state +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_set_warm_boot_addr +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_hash_add +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_hash_del +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0x7fffffff qe_get_brg_clk +EXPORT_SYMBOL vmlinux 0x7fffffff qe_put_snum +EXPORT_SYMBOL vmlinux 0x7fffffff qid_eq +EXPORT_SYMBOL vmlinux 0x7fffffff qid_valid +EXPORT_SYMBOL vmlinux 0x7fffffff queue_delayed_work_on +EXPORT_SYMBOL vmlinux 0x7fffffff queue_rcu_work +EXPORT_SYMBOL vmlinux 0x7fffffff queue_work_on +EXPORT_SYMBOL vmlinux 0x7fffffff radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x7fffffff radix_tree_iter_delete +EXPORT_SYMBOL vmlinux 0x7fffffff radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0x7fffffff radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0x7fffffff radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0x7fffffff radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x7fffffff radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x7fffffff radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x7fffffff ram_aops +EXPORT_SYMBOL vmlinux 0x7fffffff rational_best_approximation +EXPORT_SYMBOL vmlinux 0x7fffffff rawnand_sw_bch_init +EXPORT_SYMBOL vmlinux 0x7fffffff rawnand_sw_hamming_calculate +EXPORT_SYMBOL vmlinux 0x7fffffff rawnand_sw_hamming_cleanup +EXPORT_SYMBOL vmlinux 0x7fffffff rawnand_sw_hamming_correct +EXPORT_SYMBOL vmlinux 0x7fffffff rawnand_sw_hamming_init +EXPORT_SYMBOL vmlinux 0x7fffffff rb_first +EXPORT_SYMBOL vmlinux 0x7fffffff rb_first_postorder +EXPORT_SYMBOL vmlinux 0x7fffffff rb_insert_color +EXPORT_SYMBOL vmlinux 0x7fffffff rb_last +EXPORT_SYMBOL vmlinux 0x7fffffff rb_next +EXPORT_SYMBOL vmlinux 0x7fffffff rb_prev +EXPORT_SYMBOL vmlinux 0x7fffffff rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x7fffffff rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0x7fffffff rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0x7fffffff read_cache_folio +EXPORT_SYMBOL vmlinux 0x7fffffff read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x7fffffff readahead_expand +EXPORT_SYMBOL vmlinux 0x7fffffff recalc_sigpending +EXPORT_SYMBOL vmlinux 0x7fffffff reciprocal_value +EXPORT_SYMBOL vmlinux 0x7fffffff reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0x7fffffff redraw_screen +EXPORT_SYMBOL vmlinux 0x7fffffff refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0x7fffffff refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x7fffffff refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x7fffffff refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0x7fffffff refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0x7fffffff register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff register_console +EXPORT_SYMBOL vmlinux 0x7fffffff register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff register_framebuffer +EXPORT_SYMBOL vmlinux 0x7fffffff register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x7fffffff register_module_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff register_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0x7fffffff register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x7fffffff register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x7fffffff register_qdisc +EXPORT_SYMBOL vmlinux 0x7fffffff register_quota_format +EXPORT_SYMBOL vmlinux 0x7fffffff register_restart_handler +EXPORT_SYMBOL vmlinux 0x7fffffff register_sound_dsp +EXPORT_SYMBOL vmlinux 0x7fffffff register_sound_special +EXPORT_SYMBOL vmlinux 0x7fffffff register_sysctl +EXPORT_SYMBOL vmlinux 0x7fffffff register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x7fffffff register_sysctl_table +EXPORT_SYMBOL vmlinux 0x7fffffff register_sysrq_key +EXPORT_SYMBOL vmlinux 0x7fffffff register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x7fffffff registered_fb +EXPORT_SYMBOL vmlinux 0x7fffffff regset_get +EXPORT_SYMBOL vmlinux 0x7fffffff regset_get_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0x7fffffff release_fiq +EXPORT_SYMBOL vmlinux 0x7fffffff release_firmware +EXPORT_SYMBOL vmlinux 0x7fffffff release_pages +EXPORT_SYMBOL vmlinux 0x7fffffff remap_pfn_range +EXPORT_SYMBOL vmlinux 0x7fffffff remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x7fffffff remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0x7fffffff remove_wait_queue +EXPORT_SYMBOL vmlinux 0x7fffffff remove_watch_from_object +EXPORT_SYMBOL vmlinux 0x7fffffff rename_lock +EXPORT_SYMBOL vmlinux 0x7fffffff request_firmware +EXPORT_SYMBOL vmlinux 0x7fffffff request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0x7fffffff request_resource +EXPORT_SYMBOL vmlinux 0x7fffffff request_threaded_irq +EXPORT_SYMBOL vmlinux 0x7fffffff reservation_ww_class +EXPORT_SYMBOL vmlinux 0x7fffffff reset_devices +EXPORT_SYMBOL vmlinux 0x7fffffff reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0x7fffffff reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0x7fffffff reuseport_has_conns_set +EXPORT_SYMBOL vmlinux 0x7fffffff reuseport_select_sock +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_blocked +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_register +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_set_states +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_soft_blocked +EXPORT_SYMBOL vmlinux 0x7fffffff rfs_needed +EXPORT_SYMBOL vmlinux 0x7fffffff rio_query_mport +EXPORT_SYMBOL vmlinux 0x7fffffff rpmh_write +EXPORT_SYMBOL vmlinux 0x7fffffff rpmh_write_batch +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_coredump_add_segment +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_coredump_set_elf_info +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_coredump_using_sections +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_da_to_va +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_elf_get_boot_addr +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_elf_load_segments +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_elf_sanity_check +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_free +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_mem_entry_init +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_of_parse_firmware +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_resource_cleanup +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_set_firmware +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_shutdown +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_va_to_pa +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_vq_interrupt +EXPORT_SYMBOL vmlinux 0x7fffffff rps_needed +EXPORT_SYMBOL vmlinux 0x7fffffff rt_dst_clone +EXPORT_SYMBOL vmlinux 0x7fffffff rtc_lock +EXPORT_SYMBOL vmlinux 0x7fffffff rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x7fffffff rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x7fffffff rtnl_create_link +EXPORT_SYMBOL vmlinux 0x7fffffff rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x7fffffff rtnl_lock +EXPORT_SYMBOL vmlinux 0x7fffffff rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0x7fffffff rtnl_notify +EXPORT_SYMBOL vmlinux 0x7fffffff rtnl_trylock +EXPORT_SYMBOL vmlinux 0x7fffffff rtnl_unicast +EXPORT_SYMBOL vmlinux 0x7fffffff rw_verify_area +EXPORT_SYMBOL vmlinux 0x7fffffff sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x7fffffff sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x7fffffff schedule_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff scm_detach_fds +EXPORT_SYMBOL vmlinux 0x7fffffff scmd_printk +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_add_device +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_block_requests +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_cmd_allowed +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_dma_map +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_done +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_host_busy +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_host_put +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_logging_level +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_print_command +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_remove_host +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_remove_target +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_scan_host +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0x7fffffff scsilun_to_int +EXPORT_SYMBOL vmlinux 0x7fffffff sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0x7fffffff secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x7fffffff secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x7fffffff secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0x7fffffff security_binder_transaction +EXPORT_SYMBOL vmlinux 0x7fffffff security_binder_transfer_file +EXPORT_SYMBOL vmlinux 0x7fffffff security_dentry_init_security +EXPORT_SYMBOL vmlinux 0x7fffffff security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0x7fffffff security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0x7fffffff security_inet_conn_request +EXPORT_SYMBOL vmlinux 0x7fffffff security_inode_copy_up +EXPORT_SYMBOL vmlinux 0x7fffffff security_inode_init_security +EXPORT_SYMBOL vmlinux 0x7fffffff security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0x7fffffff security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x7fffffff security_ismaclabel +EXPORT_SYMBOL vmlinux 0x7fffffff security_locked_down +EXPORT_SYMBOL vmlinux 0x7fffffff security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0x7fffffff security_path_mknod +EXPORT_SYMBOL vmlinux 0x7fffffff security_path_rename +EXPORT_SYMBOL vmlinux 0x7fffffff security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0x7fffffff security_sb_remount +EXPORT_SYMBOL vmlinux 0x7fffffff security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x7fffffff security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0x7fffffff security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0x7fffffff security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0x7fffffff security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x7fffffff security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x7fffffff security_sk_clone +EXPORT_SYMBOL vmlinux 0x7fffffff security_sock_graft +EXPORT_SYMBOL vmlinux 0x7fffffff security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x7fffffff security_socket_socketpair +EXPORT_SYMBOL vmlinux 0x7fffffff security_task_getsecid_obj +EXPORT_SYMBOL vmlinux 0x7fffffff security_tun_dev_open +EXPORT_SYMBOL vmlinux 0x7fffffff security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x7fffffff seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x7fffffff seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0x7fffffff send_sig_info +EXPORT_SYMBOL vmlinux 0x7fffffff seq_file_path +EXPORT_SYMBOL vmlinux 0x7fffffff seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0x7fffffff seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0x7fffffff seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0x7fffffff seq_list_next +EXPORT_SYMBOL vmlinux 0x7fffffff seq_list_start +EXPORT_SYMBOL vmlinux 0x7fffffff seq_list_start_head +EXPORT_SYMBOL vmlinux 0x7fffffff seq_pad +EXPORT_SYMBOL vmlinux 0x7fffffff seq_path +EXPORT_SYMBOL vmlinux 0x7fffffff seq_printf +EXPORT_SYMBOL vmlinux 0x7fffffff seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x7fffffff seq_puts +EXPORT_SYMBOL vmlinux 0x7fffffff seq_read +EXPORT_SYMBOL vmlinux 0x7fffffff seq_read_iter +EXPORT_SYMBOL vmlinux 0x7fffffff seq_release +EXPORT_SYMBOL vmlinux 0x7fffffff seq_release_private +EXPORT_SYMBOL vmlinux 0x7fffffff serial8250_do_pm +EXPORT_SYMBOL vmlinux 0x7fffffff serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0x7fffffff serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x7fffffff serial8250_resume_port +EXPORT_SYMBOL vmlinux 0x7fffffff serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0x7fffffff serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0x7fffffff serio_close +EXPORT_SYMBOL vmlinux 0x7fffffff serio_interrupt +EXPORT_SYMBOL vmlinux 0x7fffffff serio_reconnect +EXPORT_SYMBOL vmlinux 0x7fffffff serio_rescan +EXPORT_SYMBOL vmlinux 0x7fffffff serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x7fffffff set_anon_super_fc +EXPORT_SYMBOL vmlinux 0x7fffffff set_bh_page +EXPORT_SYMBOL vmlinux 0x7fffffff set_binfmt +EXPORT_SYMBOL vmlinux 0x7fffffff set_blocksize +EXPORT_SYMBOL vmlinux 0x7fffffff set_create_files_as +EXPORT_SYMBOL vmlinux 0x7fffffff set_current_groups +EXPORT_SYMBOL vmlinux 0x7fffffff set_disk_ro +EXPORT_SYMBOL vmlinux 0x7fffffff set_freezable +EXPORT_SYMBOL vmlinux 0x7fffffff set_groups +EXPORT_SYMBOL vmlinux 0x7fffffff set_posix_acl +EXPORT_SYMBOL vmlinux 0x7fffffff set_user_nice +EXPORT_SYMBOL vmlinux 0x7fffffff setattr_copy +EXPORT_SYMBOL vmlinux 0x7fffffff setup_new_exec +EXPORT_SYMBOL vmlinux 0x7fffffff sg_alloc_append_table_from_pages +EXPORT_SYMBOL vmlinux 0x7fffffff sg_alloc_table +EXPORT_SYMBOL vmlinux 0x7fffffff sg_alloc_table_from_pages_segment +EXPORT_SYMBOL vmlinux 0x7fffffff sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff sg_free_append_table +EXPORT_SYMBOL vmlinux 0x7fffffff sg_free_table +EXPORT_SYMBOL vmlinux 0x7fffffff sg_init_one +EXPORT_SYMBOL vmlinux 0x7fffffff sg_init_table +EXPORT_SYMBOL vmlinux 0x7fffffff sg_miter_skip +EXPORT_SYMBOL vmlinux 0x7fffffff sg_miter_stop +EXPORT_SYMBOL vmlinux 0x7fffffff sg_nents +EXPORT_SYMBOL vmlinux 0x7fffffff sg_next +EXPORT_SYMBOL vmlinux 0x7fffffff sg_split +EXPORT_SYMBOL vmlinux 0x7fffffff sgl_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff sgl_free_n_order +EXPORT_SYMBOL vmlinux 0x7fffffff sha224_final +EXPORT_SYMBOL vmlinux 0x7fffffff sha224_update +EXPORT_SYMBOL vmlinux 0x7fffffff sha256 +EXPORT_SYMBOL vmlinux 0x7fffffff shmem_aops +EXPORT_SYMBOL vmlinux 0x7fffffff should_remove_suid +EXPORT_SYMBOL vmlinux 0x7fffffff shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x7fffffff simple_dentry_operations +EXPORT_SYMBOL vmlinux 0x7fffffff simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x7fffffff simple_dir_operations +EXPORT_SYMBOL vmlinux 0x7fffffff simple_fill_super +EXPORT_SYMBOL vmlinux 0x7fffffff simple_getattr +EXPORT_SYMBOL vmlinux 0x7fffffff simple_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff simple_nosetlease +EXPORT_SYMBOL vmlinux 0x7fffffff simple_pin_fs +EXPORT_SYMBOL vmlinux 0x7fffffff simple_rmdir +EXPORT_SYMBOL vmlinux 0x7fffffff simple_statfs +EXPORT_SYMBOL vmlinux 0x7fffffff simple_strtoll +EXPORT_SYMBOL vmlinux 0x7fffffff simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x7fffffff simple_transaction_read +EXPORT_SYMBOL vmlinux 0x7fffffff simple_transaction_release +EXPORT_SYMBOL vmlinux 0x7fffffff simple_unlink +EXPORT_SYMBOL vmlinux 0x7fffffff single_open +EXPORT_SYMBOL vmlinux 0x7fffffff single_open_size +EXPORT_SYMBOL vmlinux 0x7fffffff siphash_3u32 +EXPORT_SYMBOL vmlinux 0x7fffffff siphash_3u64 +EXPORT_SYMBOL vmlinux 0x7fffffff sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0x7fffffff sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0x7fffffff sk_free +EXPORT_SYMBOL vmlinux 0x7fffffff sk_mc_loop +EXPORT_SYMBOL vmlinux 0x7fffffff sk_net_capable +EXPORT_SYMBOL vmlinux 0x7fffffff sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0x7fffffff sk_reset_timer +EXPORT_SYMBOL vmlinux 0x7fffffff sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x7fffffff sk_stop_timer_sync +EXPORT_SYMBOL vmlinux 0x7fffffff sk_stream_error +EXPORT_SYMBOL vmlinux 0x7fffffff sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x7fffffff sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x7fffffff sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x7fffffff skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x7fffffff skb_append +EXPORT_SYMBOL vmlinux 0x7fffffff skb_checksum +EXPORT_SYMBOL vmlinux 0x7fffffff skb_checksum_help +EXPORT_SYMBOL vmlinux 0x7fffffff skb_checksum_setup +EXPORT_SYMBOL vmlinux 0x7fffffff skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0x7fffffff skb_clone +EXPORT_SYMBOL vmlinux 0x7fffffff skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0x7fffffff skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x7fffffff skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0x7fffffff skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x7fffffff skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0x7fffffff skb_copy_bits +EXPORT_SYMBOL vmlinux 0x7fffffff skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0x7fffffff skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0x7fffffff skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0x7fffffff skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x7fffffff skb_dump +EXPORT_SYMBOL vmlinux 0x7fffffff skb_ensure_writable +EXPORT_SYMBOL vmlinux 0x7fffffff skb_eth_gso_segment +EXPORT_SYMBOL vmlinux 0x7fffffff skb_eth_pop +EXPORT_SYMBOL vmlinux 0x7fffffff skb_expand_head +EXPORT_SYMBOL vmlinux 0x7fffffff skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0x7fffffff skb_flow_dissect_hash +EXPORT_SYMBOL vmlinux 0x7fffffff skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0x7fffffff skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0x7fffffff skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0x7fffffff skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0x7fffffff skb_orphan_partial +EXPORT_SYMBOL vmlinux 0x7fffffff skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0x7fffffff skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x7fffffff skb_pull +EXPORT_SYMBOL vmlinux 0x7fffffff skb_pull_data +EXPORT_SYMBOL vmlinux 0x7fffffff skb_push +EXPORT_SYMBOL vmlinux 0x7fffffff skb_put +EXPORT_SYMBOL vmlinux 0x7fffffff skb_queue_head +EXPORT_SYMBOL vmlinux 0x7fffffff skb_queue_tail +EXPORT_SYMBOL vmlinux 0x7fffffff skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x7fffffff skb_set_owner_w +EXPORT_SYMBOL vmlinux 0x7fffffff skb_split +EXPORT_SYMBOL vmlinux 0x7fffffff skb_store_bits +EXPORT_SYMBOL vmlinux 0x7fffffff skb_trim +EXPORT_SYMBOL vmlinux 0x7fffffff skb_tunnel_check_pmtu +EXPORT_SYMBOL vmlinux 0x7fffffff skb_tx_error +EXPORT_SYMBOL vmlinux 0x7fffffff skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0x7fffffff skb_unlink +EXPORT_SYMBOL vmlinux 0x7fffffff skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x7fffffff skb_vlan_push +EXPORT_SYMBOL vmlinux 0x7fffffff skip_spaces +EXPORT_SYMBOL vmlinux 0x7fffffff slash_name +EXPORT_SYMBOL vmlinux 0x7fffffff slhc_compress +EXPORT_SYMBOL vmlinux 0x7fffffff slhc_uncompress +EXPORT_SYMBOL vmlinux 0x7fffffff smp_call_function +EXPORT_SYMBOL vmlinux 0x7fffffff snd_card_file_add +EXPORT_SYMBOL vmlinux 0x7fffffff snd_card_file_remove +EXPORT_SYMBOL vmlinux 0x7fffffff snd_card_set_id +EXPORT_SYMBOL vmlinux 0x7fffffff snd_compr_free_pages +EXPORT_SYMBOL vmlinux 0x7fffffff snd_compr_malloc_pages +EXPORT_SYMBOL vmlinux 0x7fffffff snd_ctl_boolean_stereo_info +EXPORT_SYMBOL vmlinux 0x7fffffff snd_ctl_enum_info +EXPORT_SYMBOL vmlinux 0x7fffffff snd_ctl_find_numid +EXPORT_SYMBOL vmlinux 0x7fffffff snd_ctl_new1 +EXPORT_SYMBOL vmlinux 0x7fffffff snd_ctl_register_ioctl +EXPORT_SYMBOL vmlinux 0x7fffffff snd_ctl_remove +EXPORT_SYMBOL vmlinux 0x7fffffff snd_device_free +EXPORT_SYMBOL vmlinux 0x7fffffff snd_device_register +EXPORT_SYMBOL vmlinux 0x7fffffff snd_info_create_module_entry +EXPORT_SYMBOL vmlinux 0x7fffffff snd_info_free_entry +EXPORT_SYMBOL vmlinux 0x7fffffff snd_info_get_str +EXPORT_SYMBOL vmlinux 0x7fffffff snd_info_register +EXPORT_SYMBOL vmlinux 0x7fffffff snd_interval_list +EXPORT_SYMBOL vmlinux 0x7fffffff snd_interval_ratnum +EXPORT_SYMBOL vmlinux 0x7fffffff snd_jack_add_new_kctl +EXPORT_SYMBOL vmlinux 0x7fffffff snd_jack_report +EXPORT_SYMBOL vmlinux 0x7fffffff snd_jack_set_key +EXPORT_SYMBOL vmlinux 0x7fffffff snd_lookup_minor_data +EXPORT_SYMBOL vmlinux 0x7fffffff snd_major +EXPORT_SYMBOL vmlinux 0x7fffffff snd_mixer_oss_notify_callback +EXPORT_SYMBOL vmlinux 0x7fffffff snd_oss_info_register +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pci_quirk_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_create_iec958_consumer +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_create_iec958_consumer_hw_params +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_format_unsigned +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_format_width +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_hw_constraint_list +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_hw_constraint_mask64 +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_hw_constraint_ranges +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_hw_limit_rates +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_hw_refine +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_hw_rule_add +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_kernel_ioctl +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_lib_free_pages +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_lib_malloc_pages +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_mmap_data +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_new_internal +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_open_substream +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_period_elapsed_under_stream_lock +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_rate_bit_to_rate +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_set_managed_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_set_sync +EXPORT_SYMBOL vmlinux 0x7fffffff snd_register_device +EXPORT_SYMBOL vmlinux 0x7fffffff snd_register_oss_device +EXPORT_SYMBOL vmlinux 0x7fffffff snd_sgbuf_get_addr +EXPORT_SYMBOL vmlinux 0x7fffffff snd_sgbuf_get_page +EXPORT_SYMBOL vmlinux 0x7fffffff snd_soc_alloc_ac97_component +EXPORT_SYMBOL vmlinux 0x7fffffff snd_timer_global_new +EXPORT_SYMBOL vmlinux 0x7fffffff snd_timer_global_register +EXPORT_SYMBOL vmlinux 0x7fffffff snd_timer_instance_new +EXPORT_SYMBOL vmlinux 0x7fffffff snd_timer_new +EXPORT_SYMBOL vmlinux 0x7fffffff snd_timer_pause +EXPORT_SYMBOL vmlinux 0x7fffffff snd_timer_resolution +EXPORT_SYMBOL vmlinux 0x7fffffff snd_timer_start +EXPORT_SYMBOL vmlinux 0x7fffffff snd_timer_stop +EXPORT_SYMBOL vmlinux 0x7fffffff snprintf +EXPORT_SYMBOL vmlinux 0x7fffffff sock_alloc_file +EXPORT_SYMBOL vmlinux 0x7fffffff sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x7fffffff sock_bind_add +EXPORT_SYMBOL vmlinux 0x7fffffff sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x7fffffff sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x7fffffff sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x7fffffff sock_create +EXPORT_SYMBOL vmlinux 0x7fffffff sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0x7fffffff sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0x7fffffff sock_from_file +EXPORT_SYMBOL vmlinux 0x7fffffff sock_get_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff sock_gettstamp +EXPORT_SYMBOL vmlinux 0x7fffffff sock_i_ino +EXPORT_SYMBOL vmlinux 0x7fffffff sock_i_uid +EXPORT_SYMBOL vmlinux 0x7fffffff sock_init_data +EXPORT_SYMBOL vmlinux 0x7fffffff sock_kzfree_s +EXPORT_SYMBOL vmlinux 0x7fffffff sock_load_diag_module +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_accept +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_getname +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_linger +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_listen +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x7fffffff sock_pfree +EXPORT_SYMBOL vmlinux 0x7fffffff sock_queue_rcv_skb_reason +EXPORT_SYMBOL vmlinux 0x7fffffff sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0x7fffffff sock_recvmsg +EXPORT_SYMBOL vmlinux 0x7fffffff sock_register +EXPORT_SYMBOL vmlinux 0x7fffffff sock_release +EXPORT_SYMBOL vmlinux 0x7fffffff sock_sendmsg +EXPORT_SYMBOL vmlinux 0x7fffffff sock_set_keepalive +EXPORT_SYMBOL vmlinux 0x7fffffff sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0x7fffffff sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0x7fffffff sock_set_reuseport +EXPORT_SYMBOL vmlinux 0x7fffffff sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0x7fffffff sock_wfree +EXPORT_SYMBOL vmlinux 0x7fffffff sort +EXPORT_SYMBOL vmlinux 0x7fffffff sort_r +EXPORT_SYMBOL vmlinux 0x7fffffff splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x7fffffff sscanf +EXPORT_SYMBOL vmlinux 0x7fffffff starget_for_each_device +EXPORT_SYMBOL vmlinux 0x7fffffff stmp_reset_block +EXPORT_SYMBOL vmlinux 0x7fffffff stpcpy +EXPORT_SYMBOL vmlinux 0x7fffffff strcasecmp +EXPORT_SYMBOL vmlinux 0x7fffffff strchrnul +EXPORT_SYMBOL vmlinux 0x7fffffff strcmp +EXPORT_SYMBOL vmlinux 0x7fffffff strcpy +EXPORT_SYMBOL vmlinux 0x7fffffff stream_open +EXPORT_SYMBOL vmlinux 0x7fffffff string_escape_mem +EXPORT_SYMBOL vmlinux 0x7fffffff string_unescape +EXPORT_SYMBOL vmlinux 0x7fffffff strlcat +EXPORT_SYMBOL vmlinux 0x7fffffff strlen +EXPORT_SYMBOL vmlinux 0x7fffffff strncat +EXPORT_SYMBOL vmlinux 0x7fffffff strncmp +EXPORT_SYMBOL vmlinux 0x7fffffff strnlen +EXPORT_SYMBOL vmlinux 0x7fffffff strnlen_user +EXPORT_SYMBOL vmlinux 0x7fffffff strpbrk +EXPORT_SYMBOL vmlinux 0x7fffffff strrchr +EXPORT_SYMBOL vmlinux 0x7fffffff strscpy_pad +EXPORT_SYMBOL vmlinux 0x7fffffff strsep +EXPORT_SYMBOL vmlinux 0x7fffffff strspn +EXPORT_SYMBOL vmlinux 0x7fffffff submit_bio_noacct +EXPORT_SYMBOL vmlinux 0x7fffffff submit_bio_wait +EXPORT_SYMBOL vmlinux 0x7fffffff super_setup_bdi +EXPORT_SYMBOL vmlinux 0x7fffffff super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0x7fffffff swake_up_all +EXPORT_SYMBOL vmlinux 0x7fffffff swake_up_one +EXPORT_SYMBOL vmlinux 0x7fffffff sync_blockdev +EXPORT_SYMBOL vmlinux 0x7fffffff sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff sync_file_create +EXPORT_SYMBOL vmlinux 0x7fffffff sync_file_get_fence +EXPORT_SYMBOL vmlinux 0x7fffffff sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x7fffffff sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x7fffffff synchronize_irq +EXPORT_SYMBOL vmlinux 0x7fffffff synchronize_shrinkers +EXPORT_SYMBOL vmlinux 0x7fffffff sys_tz +EXPORT_SYMBOL vmlinux 0x7fffffff sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0x7fffffff sysctl_fb_tunnels_only_for_init_net +EXPORT_SYMBOL vmlinux 0x7fffffff sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0x7fffffff sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x7fffffff sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0x7fffffff sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0x7fffffff sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0x7fffffff sysctl_vals +EXPORT_SYMBOL vmlinux 0x7fffffff sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0x7fffffff sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x7fffffff system_rev +EXPORT_SYMBOL vmlinux 0x7fffffff system_serial +EXPORT_SYMBOL vmlinux 0x7fffffff system_serial_high +EXPORT_SYMBOL vmlinux 0x7fffffff system_state +EXPORT_SYMBOL vmlinux 0x7fffffff t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0x7fffffff t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0x7fffffff t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0x7fffffff t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0x7fffffff take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0x7fffffff task_work_add +EXPORT_SYMBOL vmlinux 0x7fffffff tasklet_setup +EXPORT_SYMBOL vmlinux 0x7fffffff tasklet_unlock_spin_wait +EXPORT_SYMBOL vmlinux 0x7fffffff tc6393xb_lcd_set_power +EXPORT_SYMBOL vmlinux 0x7fffffff tc_cleanup_offload_action +EXPORT_SYMBOL vmlinux 0x7fffffff tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0x7fffffff tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0x7fffffff tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0x7fffffff tc_skb_ext_tc +EXPORT_SYMBOL vmlinux 0x7fffffff tc_skb_ext_tc_enable +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_action_exec +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_action_update_hw_stats +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_block_get +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_classify +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_em_register +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_exts_change +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_exts_validate_ex +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_idr_search +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_qevent_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_queue_work +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_bpf_bypass_getsockopt +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_close +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_conn_request +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_disconnect +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_filter +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_inbound_md5_hash +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_init_sock +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_ioctl +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_make_synack +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_mtu_to_mss +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_peek_len +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_prot +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_seq_start +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_shutdown +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x7fffffff tegra114_clock_deassert_dfll_dvco_reset +EXPORT_SYMBOL vmlinux 0x7fffffff tegra114_clock_tune_cpu_trimmers_init +EXPORT_SYMBOL vmlinux 0x7fffffff tegra114_clock_tune_cpu_trimmers_low +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_ahb_enable_smmu +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_dfll_register +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_dfll_runtime_suspend +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_fuse_readl +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_io_pad_power_enable +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_io_rail_power_on +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_ivc_align +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_ivc_cleanup +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_ivc_read_advance +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_ivc_reset +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_ivc_write_advance +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_powergate_power_on +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_sku_info +EXPORT_SYMBOL vmlinux 0x7fffffff textsearch_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x7fffffff textsearch_prepare +EXPORT_SYMBOL vmlinux 0x7fffffff thaw_bdev +EXPORT_SYMBOL vmlinux 0x7fffffff thread_group_exited +EXPORT_SYMBOL vmlinux 0x7fffffff timer_reduce +EXPORT_SYMBOL vmlinux 0x7fffffff timespec64_to_jiffies +EXPORT_SYMBOL vmlinux 0x7fffffff tmio_core_mmc_clk_div +EXPORT_SYMBOL vmlinux 0x7fffffff tmio_core_mmc_pwr +EXPORT_SYMBOL vmlinux 0x7fffffff touch_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff touchscreen_set_mt_pos +EXPORT_SYMBOL vmlinux 0x7fffffff trace_print_array_seq +EXPORT_SYMBOL vmlinux 0x7fffffff trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x7fffffff trace_print_flags_seq_u64 +EXPORT_SYMBOL vmlinux 0x7fffffff trace_print_hex_seq +EXPORT_SYMBOL vmlinux 0x7fffffff trace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x7fffffff trace_print_symbols_seq_u64 +EXPORT_SYMBOL vmlinux 0x7fffffff trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0x7fffffff truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x7fffffff truncate_pagecache +EXPORT_SYMBOL vmlinux 0x7fffffff truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x7fffffff try_lookup_one_len +EXPORT_SYMBOL vmlinux 0x7fffffff try_module_get +EXPORT_SYMBOL vmlinux 0x7fffffff try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x7fffffff try_to_release_page +EXPORT_SYMBOL vmlinux 0x7fffffff try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x7fffffff tty_check_change +EXPORT_SYMBOL vmlinux 0x7fffffff tty_devnum +EXPORT_SYMBOL vmlinux 0x7fffffff tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff tty_hangup +EXPORT_SYMBOL vmlinux 0x7fffffff tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x7fffffff tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x7fffffff tty_lock +EXPORT_SYMBOL vmlinux 0x7fffffff tty_name +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_close +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_close_end +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_close_start +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_hangup +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_init +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_open +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x7fffffff tty_register_device +EXPORT_SYMBOL vmlinux 0x7fffffff tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x7fffffff tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0x7fffffff tty_vhangup +EXPORT_SYMBOL vmlinux 0x7fffffff tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x7fffffff twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x7fffffff twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0x7fffffff twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x7fffffff twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x7fffffff twl6040_power +EXPORT_SYMBOL vmlinux 0x7fffffff twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x7fffffff twl_i2c_read +EXPORT_SYMBOL vmlinux 0x7fffffff twl_i2c_write +EXPORT_SYMBOL vmlinux 0x7fffffff twl_rev +EXPORT_SYMBOL vmlinux 0x7fffffff twl_set_regcache_bypass +EXPORT_SYMBOL vmlinux 0x7fffffff uart_add_one_port +EXPORT_SYMBOL vmlinux 0x7fffffff uart_get_divisor +EXPORT_SYMBOL vmlinux 0x7fffffff uart_register_driver +EXPORT_SYMBOL vmlinux 0x7fffffff uart_suspend_port +EXPORT_SYMBOL vmlinux 0x7fffffff uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_fast_disable +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_fast_dump_regs +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_fast_free +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_fast_init +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_slow_disable +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_slow_enable +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_slow_free +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_slow_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_slow_graceful_stop_tx +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_slow_init +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_slow_stop_tx +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_tdm_init +EXPORT_SYMBOL vmlinux 0x7fffffff ucs2_strsize +EXPORT_SYMBOL vmlinux 0x7fffffff udp6_seq_ops +EXPORT_SYMBOL vmlinux 0x7fffffff udp6_set_csum +EXPORT_SYMBOL vmlinux 0x7fffffff udp_disconnect +EXPORT_SYMBOL vmlinux 0x7fffffff udp_encap_disable +EXPORT_SYMBOL vmlinux 0x7fffffff udp_encap_enable +EXPORT_SYMBOL vmlinux 0x7fffffff udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0x7fffffff udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x7fffffff udp_ioctl +EXPORT_SYMBOL vmlinux 0x7fffffff udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x7fffffff udp_poll +EXPORT_SYMBOL vmlinux 0x7fffffff udp_pre_connect +EXPORT_SYMBOL vmlinux 0x7fffffff udp_read_sock +EXPORT_SYMBOL vmlinux 0x7fffffff udp_sendmsg +EXPORT_SYMBOL vmlinux 0x7fffffff udp_seq_ops +EXPORT_SYMBOL vmlinux 0x7fffffff udp_seq_start +EXPORT_SYMBOL vmlinux 0x7fffffff udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x7fffffff udp_table +EXPORT_SYMBOL vmlinux 0x7fffffff udplite_table +EXPORT_SYMBOL vmlinux 0x7fffffff unix_get_socket +EXPORT_SYMBOL vmlinux 0x7fffffff unlock_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff unlock_new_inode +EXPORT_SYMBOL vmlinux 0x7fffffff unlock_page +EXPORT_SYMBOL vmlinux 0x7fffffff unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x7fffffff unpin_user_page_range_dirty_lock +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_blkdev +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_console +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_filesystem +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_netdev +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_quota_format +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_shrinker +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_sound_dsp +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_sound_special +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x7fffffff up_read +EXPORT_SYMBOL vmlinux 0x7fffffff update_region +EXPORT_SYMBOL vmlinux 0x7fffffff user_path_at_empty +EXPORT_SYMBOL vmlinux 0x7fffffff user_path_create +EXPORT_SYMBOL vmlinux 0x7fffffff usleep_range_state +EXPORT_SYMBOL vmlinux 0x7fffffff utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x7fffffff utf8_load +EXPORT_SYMBOL vmlinux 0x7fffffff utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0x7fffffff utf8_strncmp +EXPORT_SYMBOL vmlinux 0x7fffffff utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x7fffffff utf8_unload +EXPORT_SYMBOL vmlinux 0x7fffffff utf8_validate +EXPORT_SYMBOL vmlinux 0x7fffffff utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x7fffffff uuid_is_valid +EXPORT_SYMBOL vmlinux 0x7fffffff uuid_parse +EXPORT_SYMBOL vmlinux 0x7fffffff v7_coherent_kern_range +EXPORT_SYMBOL vmlinux 0x7fffffff vc_resize +EXPORT_SYMBOL vmlinux 0x7fffffff vcalloc +EXPORT_SYMBOL vmlinux 0x7fffffff verify_spi_info +EXPORT_SYMBOL vmlinux 0x7fffffff vesa_modes +EXPORT_SYMBOL vmlinux 0x7fffffff vfio_pin_pages +EXPORT_SYMBOL vmlinux 0x7fffffff vfio_unpin_pages +EXPORT_SYMBOL vmlinux 0x7fffffff vfio_unregister_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff vfree +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_fileattr_get +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_fileattr_set +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_fsync +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_get_fsid +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_get_link +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_get_tree +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_getattr +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_iocb_iter_write +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_ioctl +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_iter_read +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_iter_write +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_link +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_mkdir +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_readlink +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_rename +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_unlink +EXPORT_SYMBOL vmlinux 0x7fffffff vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x7fffffff vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x7fffffff vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0x7fffffff vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0x7fffffff vlan_vid_add +EXPORT_SYMBOL vmlinux 0x7fffffff vlan_vid_del +EXPORT_SYMBOL vmlinux 0x7fffffff vm_brk_flags +EXPORT_SYMBOL vmlinux 0x7fffffff vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x7fffffff vm_insert_page +EXPORT_SYMBOL vmlinux 0x7fffffff vm_insert_pages +EXPORT_SYMBOL vmlinux 0x7fffffff vma_set_file +EXPORT_SYMBOL vmlinux 0x7fffffff vmalloc +EXPORT_SYMBOL vmlinux 0x7fffffff vmalloc_32 +EXPORT_SYMBOL vmlinux 0x7fffffff vmalloc_array +EXPORT_SYMBOL vmlinux 0x7fffffff vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x7fffffff vmap +EXPORT_SYMBOL vmlinux 0x7fffffff vme_bus_error_handler +EXPORT_SYMBOL vmlinux 0x7fffffff vme_dma_free_attribute +EXPORT_SYMBOL vmlinux 0x7fffffff vme_dma_list_exec +EXPORT_SYMBOL vmlinux 0x7fffffff vme_dma_list_free +EXPORT_SYMBOL vmlinux 0x7fffffff vme_dma_pattern_attribute +EXPORT_SYMBOL vmlinux 0x7fffffff vme_dma_pci_attribute +EXPORT_SYMBOL vmlinux 0x7fffffff vme_dma_request +EXPORT_SYMBOL vmlinux 0x7fffffff vme_dma_vme_attribute +EXPORT_SYMBOL vmlinux 0x7fffffff vme_get_size +EXPORT_SYMBOL vmlinux 0x7fffffff vme_init_bridge +EXPORT_SYMBOL vmlinux 0x7fffffff vme_irq_generate +EXPORT_SYMBOL vmlinux 0x7fffffff vme_lm_detach +EXPORT_SYMBOL vmlinux 0x7fffffff vme_lm_set +EXPORT_SYMBOL vmlinux 0x7fffffff vme_master_set +EXPORT_SYMBOL vmlinux 0x7fffffff vme_master_write +EXPORT_SYMBOL vmlinux 0x7fffffff vme_register_driver +EXPORT_SYMBOL vmlinux 0x7fffffff vme_slave_free +EXPORT_SYMBOL vmlinux 0x7fffffff vme_slave_get +EXPORT_SYMBOL vmlinux 0x7fffffff vme_slave_request +EXPORT_SYMBOL vmlinux 0x7fffffff vme_slave_set +EXPORT_SYMBOL vmlinux 0x7fffffff vme_slot_num +EXPORT_SYMBOL vmlinux 0x7fffffff vme_unregister_error_handler +EXPORT_SYMBOL vmlinux 0x7fffffff vmemdup_user +EXPORT_SYMBOL vmlinux 0x7fffffff vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0x7fffffff vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0x7fffffff vprintk_emit +EXPORT_SYMBOL vmlinux 0x7fffffff vscnprintf +EXPORT_SYMBOL vmlinux 0x7fffffff vsnprintf +EXPORT_SYMBOL vmlinux 0x7fffffff vunmap +EXPORT_SYMBOL vmlinux 0x7fffffff vzalloc_node +EXPORT_SYMBOL vmlinux 0x7fffffff wait_for_completion +EXPORT_SYMBOL vmlinux 0x7fffffff wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff wait_for_completion_io +EXPORT_SYMBOL vmlinux 0x7fffffff wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x7fffffff wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff wait_woken +EXPORT_SYMBOL vmlinux 0x7fffffff wake_bit_function +EXPORT_SYMBOL vmlinux 0x7fffffff wake_up_bit +EXPORT_SYMBOL vmlinux 0x7fffffff wake_up_var +EXPORT_SYMBOL vmlinux 0x7fffffff walk_stackframe +EXPORT_SYMBOL vmlinux 0x7fffffff watchdog_register_governor +EXPORT_SYMBOL vmlinux 0x7fffffff watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0x7fffffff wireless_spy_update +EXPORT_SYMBOL vmlinux 0x7fffffff woken_wake_function +EXPORT_SYMBOL vmlinux 0x7fffffff write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x7fffffff ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0x7fffffff xa_erase +EXPORT_SYMBOL vmlinux 0x7fffffff xa_extract +EXPORT_SYMBOL vmlinux 0x7fffffff xa_find_after +EXPORT_SYMBOL vmlinux 0x7fffffff xa_get_mark +EXPORT_SYMBOL vmlinux 0x7fffffff xa_load +EXPORT_SYMBOL vmlinux 0x7fffffff xattr_full_name +EXPORT_SYMBOL vmlinux 0x7fffffff xattr_supported_namespace +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm4_protocol_register +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_init_state +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_input +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_register_km +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_state_free +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_state_update +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x7fffffff xp_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff xp_alloc_batch +EXPORT_SYMBOL vmlinux 0x7fffffff xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0x7fffffff xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0x7fffffff xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x7fffffff xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x7fffffff xsk_tx_completed +EXPORT_SYMBOL vmlinux 0x7fffffff xsk_tx_peek_desc +EXPORT_SYMBOL vmlinux 0x7fffffff xsk_tx_peek_release_desc_batch +EXPORT_SYMBOL vmlinux 0x7fffffff xsk_tx_release +EXPORT_SYMBOL vmlinux 0x7fffffff xsk_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0x7fffffff xxh32_copy_state +EXPORT_SYMBOL vmlinux 0x7fffffff xxh32_update +EXPORT_SYMBOL vmlinux 0x7fffffff xxh64 +EXPORT_SYMBOL vmlinux 0x7fffffff xxh64_copy_state +EXPORT_SYMBOL vmlinux 0x7fffffff xxh64_digest +EXPORT_SYMBOL vmlinux 0x7fffffff xz_dec_microlzma_reset +EXPORT_SYMBOL vmlinux 0x7fffffff xz_dec_reset +EXPORT_SYMBOL vmlinux 0x7fffffff xz_dec_run +EXPORT_SYMBOL vmlinux 0x7fffffff zero_fill_bio +EXPORT_SYMBOL vmlinux 0x7fffffff zero_pfn +EXPORT_SYMBOL vmlinux 0x7fffffff zero_user_segments +EXPORT_SYMBOL vmlinux 0x7fffffff zlib_deflate +EXPORT_SYMBOL vmlinux 0x7fffffff zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0x7fffffff zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0x7fffffff zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0x7fffffff zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x7fffffff zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0x7fffffff zpool_register_driver +EXPORT_SYMBOL vmlinux 0x7fffffff zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_cctx_workspace_bound +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_compress_cctx +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_compress_stream +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_cstream_workspace_bound +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_decompress_dctx +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_decompress_stream +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_dstream_workspace_bound +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_flush_stream +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_get_error_code +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_init_cctx +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_init_cstream +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_init_dstream +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_is_error +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_reset_cstream +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_reset_dstream +EXPORT_SYMBOL_GPL arch/arm/crypto/sha1-arm 0x4dc32b25 sha1_finup_arm +EXPORT_SYMBOL_GPL arch/arm/crypto/sha1-arm 0x7fffffff sha1_update_arm +EXPORT_SYMBOL_GPL crypto/af_alg 0x145e7f3e af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x14b8dd9e af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0x3873c54b af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x40f45f37 af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0x56b711df af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0x6db52a9e af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x70800ddc af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x72a50fab af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x07956f0c async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x05e1674f async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x7fffffff async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x7fffffff async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x7fffffff async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x71eb1097 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x7fffffff __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x7fffffff async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x7fffffff async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x172b4c07 async_xor_offs +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x49d6adfc async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x5fcdb36e async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x7fffffff async_xor_val_offs +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x7fffffff blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x1d2650ed cast5_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x7fffffff __cast5_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x23395ecf cast6_setkey +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x3dbae082 __cast6_decrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x7fffffff __cast6_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x7fffffff __cast6_setkey +EXPORT_SYMBOL_GPL crypto/cast_common 0x5609ce41 cast_s2 +EXPORT_SYMBOL_GPL crypto/cast_common 0x5b17be06 cast_s4 +EXPORT_SYMBOL_GPL crypto/cast_common 0x7fffffff cast_s1 +EXPORT_SYMBOL_GPL crypto/cast_common 0x7fffffff cast_s3 +EXPORT_SYMBOL_GPL crypto/cryptd 0x02db5a43 cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x049700f2 cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x325713ff cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x3e5fab49 cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x586c97ca cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x685d9e2c cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x7068d283 cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x7fffffff cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x7fffffff cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x7fffffff cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x7fffffff cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x7fffffff cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x7fffffff cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x0f4ab866 crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x2e4beb8e crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x4721dd73 crypto_finalize_hash_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x6878e03d crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x6acd1e09 crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x6fe2ab29 crypto_finalize_kpp_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x72d93b9f crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7bec6456 crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7fffffff crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7fffffff crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7fffffff crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7fffffff crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7fffffff crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7fffffff crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7fffffff crypto_transfer_kpp_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x0b1e20d1 simd_register_aeads_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x504cb053 simd_aead_create_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x5c547c04 simd_unregister_skciphers +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x66983e96 simd_skcipher_create +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x7fffffff simd_aead_create +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x7fffffff simd_aead_free +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x7fffffff simd_register_skciphers_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x7fffffff simd_skcipher_create_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x7fffffff simd_skcipher_free +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x7fffffff simd_unregister_aeads +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x33b866ce crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7475be8e crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7fffffff crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x4310f74e serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x4eb4c55e __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x7fffffff __serpent_decrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x7fffffff __serpent_setkey +EXPORT_SYMBOL_GPL crypto/sm3 0x7fffffff sm3_final +EXPORT_SYMBOL_GPL crypto/sm3 0x7fffffff sm3_update +EXPORT_SYMBOL_GPL crypto/sm3_generic 0x0bddca87 sm3_zero_message_hash +EXPORT_SYMBOL_GPL crypto/sm4 0x24e254e8 sm4_expandkey +EXPORT_SYMBOL_GPL crypto/sm4 0x7fffffff sm4_crypt_block +EXPORT_SYMBOL_GPL crypto/twofish_common 0x7fffffff __twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x7fffffff twofish_setkey +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x0606db09 synth_current +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x086330d7 spk_synth_get_index +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x196cfa50 spk_ttyio_ops +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x1d44681b spk_var_store +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x1e39eb14 synth_putws +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x2e7e21d7 speakup_event +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x37a4f555 spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x41677e93 spk_ttyio_synth_probe +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x466f5eb7 synth_putwc +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x4a6990b1 synth_remove +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x71d80a64 spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x76d40046 synth_buffer_skip_nonlatin1 +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7d39b7ff spk_ttyio_release +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff speakup_info +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff spk_do_catch_up_unicode +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff spk_get_var +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff spk_synth_flush +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff spk_ttyio_synth_immediate +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff spk_var_show +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff synth_add +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff synth_printf +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff synth_putwc_s +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff synth_putws_s +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff synth_release_region +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff synth_request_region +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x7fffffff __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0x7fffffff sis_info133_for_sata +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x09917359 charlcd_poke +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x6fd9cc4a charlcd_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x7fffffff charlcd_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x7fffffff charlcd_backlight +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x7fffffff charlcd_free +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x7fffffff charlcd_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x07b26ecc hd44780_common_gotoxy +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x1aa688fd hd44780_common_lines +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x23159a5b hd44780_common_clear_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x30e85287 hd44780_common_shift_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x36dc00a2 hd44780_common_print +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x3c4c183f hd44780_common_home +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x489c89e8 hd44780_common_redefine_char +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x64415593 hd44780_common_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x79e8e259 hd44780_common_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x7fffffff hd44780_common_blink +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x7fffffff hd44780_common_cursor +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x7fffffff hd44780_common_fontsize +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x7fffffff hd44780_common_init_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x7fffffff hd44780_common_shift_cursor +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x14102f23 ks0108_displaystate +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x48a70518 ks0108_writedata +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x4f506333 ks0108_startline +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x6edae968 ks0108_isinited +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x7fffffff ks0108_address +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x7fffffff ks0108_page +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x7fffffff ks0108_writecontrol +EXPORT_SYMBOL_GPL drivers/auxdisplay/line-display 0x1eb5595a linedisp_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/line-display 0x7fffffff linedisp_unregister +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-ac97 0x2cb6d34f regmap_ac97_default_volatile +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-ac97 0x4dd0a46f __devm_regmap_init_ac97 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-ac97 0x7fffffff __regmap_init_ac97 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-i3c 0x6a0d01eb __devm_regmap_init_i3c +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x2dc6c389 __regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x7fffffff __devm_regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x35533281 __devm_regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x7fffffff __regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw-mbq 0x01f30785 __devm_regmap_init_sdw_mbq +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw-mbq 0x7fffffff __regmap_init_sdw_mbq +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x1d54d3fe __devm_regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x5637b80a __regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spi-avmm 0x0e466c21 __regmap_init_spi_avmm +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spi-avmm 0x7fffffff __devm_regmap_init_spi_avmm +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x71369cab __regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x7fffffff __devm_regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x7fffffff __devm_regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x7fffffff __regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x43de0075 __regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x7fffffff __devm_regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x0293a6ca bcma_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x21b2bc60 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x280eb593 bcma_core_pci_power_save +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x498563d1 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x5326b5a4 bcma_chipco_b_mii_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x5b20a521 bcma_chipco_gpio_outen +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x624cd4c3 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x675f9431 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x68664686 bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x70c1d4ea bcma_host_pci_up +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7dc9f233 bcma_find_core_unit +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_chipco_get_alp_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_chipco_gpio_out +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_chipco_pll_read +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_host_pci_down +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_host_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_pmu_get_bus_clock +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x21631f56 btbcm_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x53fd22d5 btbcm_write_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x77050d79 btbcm_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x78080d39 btbcm_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x7fffffff btbcm_finalize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x7fffffff btbcm_read_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x7fffffff btbcm_setup_apple +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x7fffffff btbcm_setup_patchram +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x007c5186 btintel_configure_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x0f74147f btintel_load_ddc_config +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x1626c9e6 btintel_regmap_init +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x21cb1ff6 btintel_set_event_mask_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x27207987 btintel_exit_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x53eb27f3 btintel_set_diag +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x60800dd8 btintel_version_info +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x636e81b3 btintel_read_boot_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x672574b0 btintel_enter_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x72d599fe btintel_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7fffffff btintel_bootup +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7fffffff btintel_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7fffffff btintel_read_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7fffffff btintel_secure_send_result +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7fffffff btintel_send_intel_reset +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7fffffff btintel_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7fffffff btintel_set_quality_report +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x16488326 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x446c4642 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x52fe669e btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x643211aa btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7fffffff btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7fffffff btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7fffffff btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7fffffff btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7fffffff btmrvl_pscan_window_reporting +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7fffffff btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7fffffff btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x40d941d5 btmtk_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x7fffffff btmtk_setup_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x7fffffff btmtk_setup_firmware_79xx +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x34b02eac qca_read_soc_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x4b584bab qca_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x4be8e86d qca_set_bdaddr_rome +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x7fffffff qca_send_pre_shutdown_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x7fffffff qca_uart_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x69abba1b btrtl_set_quirks +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x71753ce0 btrtl_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x7c9b6764 btrtl_setup_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x7fffffff btrtl_free +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x7fffffff btrtl_get_uart_settings +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x7fffffff btrtl_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x7fffffff btrtl_shutdown_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x4655ba7f hci_uart_unregister_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x6ad4afee hci_uart_register_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x7fffffff h4_recv_buf +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x7fffffff hci_uart_tx_wakeup +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x0e7ba34f mhi_ep_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x7fffffff __mhi_ep_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x7fffffff mhi_ep_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x7fffffff mhi_ep_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x7fffffff mhi_ep_queue_is_empty +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x7fffffff mhi_ep_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x7fffffff mhi_ep_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x7fffffff mhi_ep_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x02feda90 mhi_device_get_sync +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x06023e36 mhi_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x09351ebe mhi_free_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x0db41c24 mhi_soc_reset +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x1463d1e4 mhi_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x1864126c mhi_queue_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x2065db40 mhi_prepare_for_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x2aa1c80c mhi_pm_resume +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x3e8dd2bd mhi_poll +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x41048cb6 __mhi_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x448b1c0f mhi_prepare_for_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x4a1f6e25 mhi_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x4daa565a mhi_notify +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x4f1a9d1b mhi_pm_resume_force +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x500c13f1 mhi_pm_suspend +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x67239388 mhi_download_rddm_image +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x6b78cf7a mhi_force_rddm_mode +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x6ef3582e mhi_device_get +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x715f5159 mhi_get_mhi_state +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7f931ae1 mhi_alloc_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_async_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_device_put +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_get_exec_env +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_get_free_desc_count +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_prepare_for_transfer_autoqueue +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_queue_dma +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_queue_is_full +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_unprepare_after_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_unprepare_from_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x0b19e966 moxtet_device_written +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x4b31cb53 moxtet_device_read +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x5e44bc21 __moxtet_register_driver +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x7fffffff moxtet_device_write +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0000139e clk_alpha_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x08f0cc30 clk_is_enabled_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0d10c3c4 clk_enable_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0d678ab9 qcom_reset_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0e5f8a53 clk_pll_sr2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0e98da3d clk_pll_vote_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x17d44071 clk_alpha_pll_hwfsm_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x183be5e6 clk_alpha_pll_agera_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x1a142e7c clk_alpha_pll_fixed_trion_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x1cbd386f clk_rcg_floor_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x1d1645f5 qcom_cc_register_board_clk +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x272f3204 clk_alpha_pll_fixed_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x29c40ae0 clk_alpha_pll_fixed_lucid_evo_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x2a9c7452 clk_rcg_lcc_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x2b0d957d clk_pixel_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x2cae96b3 clk_regmap_div_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x2eda7aff qcom_cc_probe_by_index +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x30bbf987 clk_rcg2_shared_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x310b6341 clk_regmap_mux_closest_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x34a20153 qcom_cc_really_probe +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x3747af55 clk_rcg_bypass2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x395868a1 qcom_find_freq_floor +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x3b15a709 clk_alpha_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x3dfc2dc5 clk_branch_simple_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x405d394a clk_alpha_pll_postdiv_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x418e9cfd clk_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x4b0ed6da clk_ops_hfpll +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x5111f2ad clk_rcg2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x520df3b7 clk_rcg_esc_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x57172323 clk_byte_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x5e6abb22 mux_div_set_src_div +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x615dbb77 clk_branch2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x631939a9 clk_branch2_aon_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x63ee9aa4 clk_alpha_pll_fixed_fabia_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x66922845 clk_branch_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x66c4ddc3 qcom_cc_probe +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x68199825 clk_disable_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x6af41b8b qcom_pll_set_fsm_mode +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x6c069db2 qcom_find_src_index +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7019378d clk_pll_configure_sr_hpm_lp +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x766e9f87 clk_regmap_div_ro_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x787e8234 qcom_find_freq +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x78b81ea0 clk_rcg2_floor_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7d3cc627 qcom_cc_register_sleep_clk +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7e66fd9e clk_regmap_mux_div_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_agera_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_fabia_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_huayra_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_lucid_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_postdiv_fabia_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_postdiv_lucid_evo_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_postdiv_lucid_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_postdiv_ro_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_postdiv_trion_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_regs +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_trion_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_byte2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_dp_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_dyn_rcg_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_edp_pixel_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_fabia_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_gfx3d_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_pll_configure_sr +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_rcg_bypass_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_rcg_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_rcg_pixel_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_trion_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_zonda_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff devm_clk_register_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff gdsc_gx_do_nothing_enable +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff krait_div2_clk_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff krait_mux_clk_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff qcom_cc_map +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff qcom_cc_register_rcg_dfs +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff qcom_find_cfg_index +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x0869bc32 comedi_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x1a76b998 comedi_alloc_spriv +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x1b5d1d67 comedi_set_spriv_auto_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x1e05848e comedi_check_chanlist +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x21102f87 range_0_32mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x21796a2d __comedi_request_region +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2771b563 comedi_alloc_devpriv +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x3283484c comedi_event +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4236eaaf range_4_20mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4328671a comedi_readback_insn_read +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x473f6ccb comedi_nscans_left +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4a90d3ca comedi_buf_read_n_available +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x5a34f072 comedi_request_region +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x5e5888e1 comedi_dio_update_state +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7188fb63 comedi_is_subdevice_running +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x754262e1 comedi_dev_get_from_minor +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x765c7ccc comedi_buf_write_alloc +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x775c3445 comedi_bytes_per_scan +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7ced63d0 comedi_alloc_subdevices +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_alloc_subdev_readback +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_buf_read_alloc +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_buf_read_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_buf_read_samples +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_buf_write_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_buf_write_samples +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_bytes_per_scan_cmd +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_dev_put +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_dio_insn_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_handle_events +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_inc_scan_progress +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_legacy_detach +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_load_firmware +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_nsamples_left +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_set_hw_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_timeout +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff range_0_20mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff range_bipolar10 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff range_unipolar10 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff range_unipolar2_5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff range_unipolar5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x180899a7 comedi_pci_enable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x2806528c comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x78b186fb comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x795fde58 comedi_pci_disable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x7aaac37e comedi_to_pci_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x7fffffff comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x7fffffff comedi_pci_detach +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x7fffffff comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x05c95d4b comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x7fffffff comedi_to_usb_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x7fffffff comedi_to_usb_interface +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x7fffffff comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x7fffffff comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x7fffffff comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/drivers/addi_watchdog 0x79f4a6cf addi_watchdog_reset +EXPORT_SYMBOL_GPL drivers/comedi/drivers/addi_watchdog 0x7fffffff addi_watchdog_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_dio200_common 0x52fcccf4 amplc_dio200_set_enhance +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_dio200_common 0x6e87c027 amplc_dio200_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_pc236_common 0x09f14520 amplc_pc236_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x0baf0af2 comedi_8254_pacer_enable +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x406548a8 comedi_8254_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x41ea068e comedi_8254_cascade_ns_to_timer +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x4bf30389 comedi_8254_set_busy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x4e920c82 comedi_8254_mm_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x519573b0 comedi_8254_status +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x744e86b8 comedi_8254_set_mode +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x7fffffff comedi_8254_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x7fffffff comedi_8254_load +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x7fffffff comedi_8254_ns_to_timer +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x7fffffff comedi_8254_subdevice_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x7fffffff comedi_8254_update_divisors +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x7fffffff comedi_8254_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0x7fffffff subdev_8255_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0x7fffffff subdev_8255_mm_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0x7fffffff subdev_8255_regbase +EXPORT_SYMBOL_GPL drivers/comedi/drivers/das08 0x7fffffff das08_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x0c6696a7 mite_bytes_in_transit +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x13238288 mite_sync_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x1b1f864e mite_done +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x270ee3f2 mite_init_ring_descriptors +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x3197ce0c mite_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x4358e246 mite_release_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x53e8acde mite_free_ring +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x6330a988 mite_dma_arm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x6a16b38d mite_detach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x7c96cc77 mite_request_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x7fffffff mite_ack_linkc +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x7fffffff mite_alloc_ring +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x7fffffff mite_buf_change +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x7fffffff mite_dma_disarm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x7fffffff mite_prep_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x7fffffff mite_request_channel_in_range +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_common 0x7fffffff labpc_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_common 0x7fffffff labpc_common_detach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x076bc308 ni_find_route_source +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x0921123e ni_lookup_route_register +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x1facf7f8 ni_is_cmd_dest +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x64443d67 ni_get_valid_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x6c18c54e ni_count_valid_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x7fffffff ni_assign_device_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x7fffffff ni_find_route_set +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x7fffffff ni_route_set_has_source +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x7fffffff ni_route_to_register +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x7fffffff ni_sort_device_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x1c08283e ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x2189e12a ni_tio_get_soft_copy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x3ac21c3b ni_tio_get_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x4d3aa792 ni_tio_set_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x5134ef06 ni_tio_set_bits +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x5284d328 ni_tio_set_gate_src_raw +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x559e6bf9 ni_tio_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x5e140063 ni_tio_unset_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x76162926 ni_tio_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x7a51123b ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x7fffffff ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x7fffffff ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x7fffffff ni_tio_arm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x7fffffff ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x7fffffff ni_tio_insn_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x7fffffff ni_tio_insn_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x263b0990 ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x2722a591 ni_tio_acknowledge +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x42884d1a ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x42940733 ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x7fffffff ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x7fffffff ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x0752fa15 comedi_get_n_channels +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x147dff86 comedi_find_subdevice_by_type +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x2995ef57 comedi_close +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x7fffffff comedi_dio_bitfield2 +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x7fffffff comedi_dio_config +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x7fffffff comedi_dio_get_config +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x7fffffff comedi_open +EXPORT_SYMBOL_GPL drivers/counter/counter 0x05c49d75 counter_add +EXPORT_SYMBOL_GPL drivers/counter/counter 0x394631e1 counter_put +EXPORT_SYMBOL_GPL drivers/counter/counter 0x4520f347 counter_priv +EXPORT_SYMBOL_GPL drivers/counter/counter 0x4dc7395b devm_counter_add +EXPORT_SYMBOL_GPL drivers/counter/counter 0x547e1538 counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0x64d85817 devm_counter_alloc +EXPORT_SYMBOL_GPL drivers/counter/counter 0x7fffffff counter_alloc +EXPORT_SYMBOL_GPL drivers/counter/counter 0x7fffffff counter_push_event +EXPORT_SYMBOL_GPL drivers/crypto/omap-crypto 0x701db540 omap_crypto_align_sg +EXPORT_SYMBOL_GPL drivers/crypto/omap-crypto 0x7fffffff omap_crypto_cleanup +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x7b5c6ebd dw_edma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x7fffffff dw_edma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x213f90c1 idma32_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x438e5d50 do_dw_dma_enable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x4c28d85f dw_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x7fffffff do_dw_dma_disable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x7fffffff dw_dma_filter +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x7fffffff dw_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x7fffffff idma32_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x00096b87 fsl_edma_cleanup_vchan +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x07ab3da7 fsl_edma_pause +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x1674ca18 fsl_edma_alloc_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x1ffaf77f fsl_edma_setup_regs +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x22c9f4c9 fsl_edma_xfer_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x2779714e fsl_edma_prep_memcpy +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x63a21edc fsl_edma_slave_config +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x682351bb fsl_edma_chan_mux +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x69c9336d fsl_edma_tx_status +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7fffffff fsl_edma_disable_request +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7fffffff fsl_edma_free_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7fffffff fsl_edma_free_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7fffffff fsl_edma_issue_pending +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7fffffff fsl_edma_prep_dma_cyclic +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7fffffff fsl_edma_prep_slave_sg +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7fffffff fsl_edma_resume +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7fffffff fsl_edma_terminate_all +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x1a5b2f71 hidma_mgmt_setup +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x7fffffff hidma_mgmt_init_sys +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0x1e4c0e55 fw_card_read_cycle_time +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0x7fffffff fw_card_release +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0x7fffffff fw_request_get_timestamp +EXPORT_SYMBOL_GPL drivers/firmware/arm_scpi 0x7ef6c915 get_scpi_ops +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x04ea20bf cs_dsp_write_data_word +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x1243fe9f cs_dsp_cleanup_debugfs +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x144d6986 cs_dsp_mem_region_name +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x17901e1d cs_dsp_adsp1_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x21715f56 cs_dsp_adsp2_bus_error +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x38ffd2b8 cs_dsp_adsp1_power_down +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x4e5562f8 cs_dsp_remove_padding +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x594ae58b cs_dsp_set_dspclk +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x62378a9b cs_dsp_init_debugfs +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x65c09848 cs_dsp_remove +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7acbcf5c cs_dsp_halo_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_adsp1_power_up +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_adsp2_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_coeff_read_ctrl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_coeff_write_acked_control +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_coeff_write_ctrl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_find_alg_region +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_get_ctl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_halo_bus_error +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_halo_wdt_expire +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_power_down +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_power_up +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_read_data_word +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_read_raw_data_block +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_run +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_stop +EXPORT_SYMBOL_GPL drivers/firmware/mtk-adsp-ipc 0x7fffffff mtk_adsp_ipc_send +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0x7fffffff alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x065b477a dfl_fpga_enum_info_add_irq +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x0e08faae dfl_fpga_feature_devs_remove +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x17b53484 dfl_fpga_enum_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x1e5222a9 dfl_fpga_cdev_config_ports_vf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x2bc0b54a dfl_feature_ioctl_get_num_irqs +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x2fc39192 dfl_fpga_enum_info_free +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x502efb84 dfl_fpga_port_ops_get +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x68825c24 dfl_fpga_port_ops_add +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x6f713413 dfl_fpga_cdev_assign_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x793ba6de dfl_fpga_set_irq_triggers +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff __dfl_fpga_cdev_find_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_feature_ioctl_set_irq +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_cdev_config_ports_pf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_cdev_release_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_check_port_id +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_dev_feature_init +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_dev_feature_uinit +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_dev_ops_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_dev_ops_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_enum_info_add_dfl +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_feature_devs_enumerate +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_port_ops_del +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_port_ops_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0633c4b9 fpga_bridges_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0b2b884c fpga_bridges_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x1c2a7aae fpga_bridge_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x22726f9c fpga_bridge_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2c8167cf fpga_bridges_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x361a5969 fpga_bridge_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x42ff61cd fpga_bridge_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x5c2150ca fpga_bridge_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x72831a74 fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x7fffffff fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x7fffffff of_fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x7fffffff of_fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x12f5a57c fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x26fa6c77 devm_fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x4387968e fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x5b321626 devm_fpga_mgr_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7fffffff fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7fffffff fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7fffffff fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7fffffff fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7fffffff fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7fffffff fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7fffffff fpga_mgr_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7fffffff fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7fffffff of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x3758d759 fpga_region_program_fpga +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x6c79256c fpga_region_class_find +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x7fffffff fpga_region_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x7fffffff fpga_region_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x7fffffff fpga_region_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x19827c58 fsi_bus_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x3a93847e fsi_slave_claim_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x40261e0b fsi_get_new_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x4e71c7f4 fsi_master_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x5a57d574 fsi_free_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x60a97912 fsi_slave_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x65afd38c fsi_master_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x7fffffff fsi_cdev_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x7fffffff fsi_device_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x7fffffff fsi_device_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x7fffffff fsi_driver_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x7fffffff fsi_driver_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x7fffffff fsi_master_rescan +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x7fffffff fsi_slave_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x7fffffff fsi_slave_release_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-occ 0x3d622b5e fsi_occ_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0x7fffffff sbefifo_parse_status +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0x7fffffff sbefifo_submit +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x04ca84dc gnss_deregister_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x3363f625 gnss_register_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x7311d8d3 gnss_put_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x7fffffff gnss_allocate_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x7fffffff gnss_insert_raw +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x015b6978 gnss_serial_pm_ops +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x73b26008 gnss_serial_free +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x7fffffff gnss_serial_allocate +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x7fffffff gnss_serial_deregister +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x7fffffff gnss_serial_register +EXPORT_SYMBOL_GPL drivers/gpio/gpio-aspeed 0x5dcbe46c aspeed_gpio_copro_set_ops +EXPORT_SYMBOL_GPL drivers/gpio/gpio-aspeed 0x7fffffff aspeed_gpio_copro_grab_gpio +EXPORT_SYMBOL_GPL drivers/gpio/gpio-aspeed 0x7fffffff aspeed_gpio_copro_release_gpio +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x7fffffff __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x7fffffff __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x11c7f453 analogix_dp_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x22f89c2a analogix_dp_start_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x29232caf analogix_dp_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x5685e412 analogix_dp_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x7fffffff analogix_dp_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x7fffffff analogix_dp_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x7fffffff analogix_dp_stop_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x7fffffff analogix_dp_suspend +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x7fffffff anx_dp_aux_transfer +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x09340e05 dw_hdmi_set_channel_count +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x094f6fc5 dw_hdmi_phy_i2c_set_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x1461e227 dw_hdmi_set_channel_status +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x26d629cd dw_hdmi_phy_gen2_reset +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x2d1c0e80 dw_hdmi_setup_rx_sense +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x2f8b72be dw_hdmi_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x2fac9436 dw_hdmi_set_channel_allocation +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x316212a8 dw_hdmi_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x42926f4a dw_hdmi_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x4a9b174f dw_hdmi_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x5665b64f dw_hdmi_set_high_tmds_clock_ratio +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x56f72e25 dw_hdmi_set_sample_non_pcm +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x6712b5a7 dw_hdmi_phy_gen2_txpwron +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7d8a3aee dw_hdmi_phy_i2c_write +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_audio_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_audio_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_phy_gen1_reset +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_phy_gen2_pddq +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_phy_read_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_phy_setup_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_phy_update_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_set_plugged_cb +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_set_sample_rate +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_set_sample_width +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x077442d2 dw_mipi_dsi_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x0d667204 dw_mipi_dsi_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x283e1bba dw_mipi_dsi_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x41361ae4 dw_mipi_dsi_set_slave +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x42ac3b2e dw_mipi_dsi_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_display_helper 0x0cb138fb drm_hdcp_check_ksvs_revoked +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x472d7666 of_dp_aux_depopulate_ep_devices +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x7cd3fc09 __dp_aux_dp_driver_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x7fffffff devm_of_dp_aux_populate_ep_devices +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x7fffffff dp_aux_dp_driver_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x7fffffff of_dp_aux_populate_ep_devices +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x06fff337 drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2643246f drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x48ced681 drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x52ace1fb of_get_drm_panel_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x580b5b56 drm_of_lvds_get_data_mapping +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5fe3122c drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x6289efca drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x65ef6741 drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x6657ec13 drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x668e770e drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x66cf2f64 drm_display_mode_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x67456828 of_get_drm_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_bus_flags_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_display_mode_to_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_of_component_match_add +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_of_encoder_active_endpoint +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_of_find_panel_or_bridge +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_of_lvds_get_dual_link_pixel_order +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x0fbcc5d0 drm_fb_cma_sync_non_coherent +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x12753b44 drm_gem_cma_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x149d4542 drm_gem_cma_vmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x4256e9db drm_fb_cma_get_gem_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x4b2f8b38 drm_gem_cma_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x5b935267 drm_gem_cma_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x75a08d46 drm_gem_cma_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x7fffffff drm_fb_cma_get_gem_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x7fffffff drm_gem_cma_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x7fffffff drm_gem_cma_dumb_create_internal +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x7fffffff drm_gem_cma_free +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x7fffffff drm_gem_cma_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x118ad676 drm_gem_fb_create_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x3273182e drm_bridge_connector_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x565cc958 drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x6cd634bd drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x743efb42 drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x7cf17237 drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_plane_helper_prepare_fb +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x135432c4 drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x6c31e9b6 drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_free +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/imx/imxdrm 0x2f438c90 imx_drm_connector_destroy +EXPORT_SYMBOL_GPL drivers/gpu/drm/imx/imxdrm 0x7fffffff imx_drm_encoder_parse_of +EXPORT_SYMBOL_GPL drivers/gpu/drm/mcde/mcde_drm 0x7fffffff mcde_display_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x2c73cfcf meson_venc_hdmi_venc_repeat +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x6341f275 meson_vclk_vic_supported_freq +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x7fffffff meson_vclk_dmt_supported_freq +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x7fffffff meson_vclk_setup +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x7fffffff meson_venc_hdmi_mode_set +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x7fffffff meson_venc_hdmi_supported_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x7fffffff meson_venc_hdmi_supported_vic +EXPORT_SYMBOL_GPL drivers/gpu/drm/panel/panel-samsung-s6e63m0 0x5b24caba s6e63m0_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/panel/panel-samsung-s6e63m0 0x7fffffff s6e63m0_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/pl111/pl111_drm 0x7fffffff pl111_versatile_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x343ca812 rcar_cmm_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x6cba8881 rcar_cmm_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x7fffffff rcar_cmm_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x7fffffff rcar_cmm_setup +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x5d8c659a rcar_lvds_clk_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x7fffffff rcar_lvds_clk_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x7fffffff rcar_lvds_dual_link +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x7fffffff rcar_lvds_is_connected +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x20a526f9 rockchip_rgb_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x6fc273f9 vop_component_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x7fffffff rockchip_rgb_fini +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x7fffffff vop2_component_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0x7fffffff ssd130x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0x7fffffff ssd130x_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0x7fffffff ssd130x_shutdown +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x01f4ee1f ipu_image_convert_adjust +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x050f0d7b ipu_di_adjust_videomode +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x069af03b ipu_idmac_select_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x07036df2 ipu_ic_calc_csc +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x0728116a ipu_csi_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x09636f96 ipu_set_ic_src_mux +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x0e2c01aa ipu_dmfc_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x0e42bd95 ipu_csi_set_dest +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x0f7105da ipu_image_convert_prepare +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x10d5cd87 ipu_cpmem_set_axi_id +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x118160e1 ipu_ic_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x13952dfe ipu_dmfc_enable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x15ec2ba5 ipu_di_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x164b893a ipu_cpmem_interlaced_scan +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x1711aed0 ipu_srm_dp_update +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x1724cc50 ipu_fsu_link +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x18730251 ipu_rot_mode_to_degrees +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x18aa0dcd ipu_image_convert_abort +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x18df6b03 ipu_idmac_wait_busy +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x1e0c4b9a ipu_ic_task_idma_init +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x1e296e43 ipu_cpmem_set_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x1e71df21 ipu_prg_channel_configure +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x1e729e94 ipu_cpmem_set_resolution +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x1e913d9f ipu_csi_get_window +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x212aecfd ipu_cpmem_get_burstsize +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x2424c9a6 ipu_csi_is_interlaced +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x258a4439 ipu_image_convert_queue +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x28ffe6e5 ipu_idmac_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x296e5604 ipu_prg_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x2cca78fd ipu_idmac_link +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x2cf7ed72 ipu_dc_init_sync +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x2e825a67 ipu_smfc_set_watermark +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x2f92d651 ipu_ic_task_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x2fbc289a ipu_prg_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x3020d65c ipu_prg_max_active_channels +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x30f47b06 ipu_module_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x3166aec7 ipu_dmfc_disable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x39b5827c ipu_idmac_disable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x3d8f18f6 __ipu_ic_calc_csc +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x3dede077 ipu_module_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x3e86ea72 ipu_di_get_num +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x3ecdcc42 ipu_image_convert_sync +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x418a282f ipu_drm_fourcc_to_colorspace +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x42d3d500 ipu_image_convert_unprepare +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x4917f47a ipu_ic_dump +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x492a422d ipu_csi_set_mipi_datatype +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x498b4c7b ipu_image_convert_enum_format +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x49dd3cdb ipu_dump +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x4c179b49 ipu_dp_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x504544d0 ipu_cpmem_set_rotation +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x51475e87 ipu_dmfc_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x51e6540c ipu_cpmem_set_high_priority +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x527f3b94 ipu_smfc_set_burstsize +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x52a47d88 ipu_cpmem_set_yuv_interleaved +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x53de277c ipu_di_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x55767280 ipu_vdi_set_motion +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x580d2f81 ipu_vdi_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x5816be28 ipu_dp_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x5a87cd07 ipu_cpmem_set_stride +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x5b15aea8 ipu_dp_disable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x5cae270a ipu_vdi_unsetup +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x5f0f14d0 ipu_prg_format_supported +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x5ff76ab7 ipu_idmac_clear_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x60bdf2ec ipu_csi_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x623722e2 ipu_ic_task_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x644d2afa ipu_smfc_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x6cfeafe1 ipu_idmac_enable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7068e939 ipu_dc_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x70870a6c ipu_set_csi_src_mux +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x717f2766 ipu_cpmem_set_image +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x733e6195 ipu_idmac_lock_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x747eaf4e ipu_image_convert_verify +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x76671b4a ipu_cpmem_set_burstsize +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7ce0c325 ipu_idmac_get_current_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_cpmem_dump +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_cpmem_set_block_mode +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_cpmem_set_fmt +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_cpmem_set_format_passthrough +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_cpmem_set_format_rgb +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_cpmem_set_uv_offset +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_cpmem_set_yuv_planar_full +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_cpmem_skip_odd_chroma_rows +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_cpmem_zero +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_csi_dump +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_csi_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_csi_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_csi_init_interface +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_csi_set_downsize +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_csi_set_skip_smfc +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_csi_set_test_generator +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_csi_set_window +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dc_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dc_disable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dc_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dc_enable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dc_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_degrees_to_rot_mode +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_di_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_di_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_di_init_sync_panel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dmfc_config_wait4eot +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dp_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dp_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dp_enable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dp_set_global_alpha +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dp_set_window_pos +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dp_setup_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_fsu_unlink +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_get_num +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_ic_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_ic_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_ic_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_ic_task_graphics_init +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_ic_task_init +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_idmac_buffer_is_ready +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_idmac_channel_busy +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_idmac_channel_irq +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_idmac_enable_watermark +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_idmac_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_idmac_set_double_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_idmac_unlink +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_image_convert +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_map_irq +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_pixelformat_to_colorspace +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_prg_channel_configure_pending +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_prg_channel_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_prg_present +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_smfc_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_smfc_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_smfc_map_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_smfc_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_vdi_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_vdi_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_vdi_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_vdi_set_field_order +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_vdi_setup +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x13648d1d gb_connection_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x14028e17 __SCK__tp_func_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x15717e67 gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x158a8186 __tracepoint_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x15d1942f greybus_disabled +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x16dfb5ef greybus_message_sent +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x17880aa5 gb_svc_intf_set_power_mode +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x190f9a46 __traceiter_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x19c8e4e0 __tracepoint_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1fe4ddf4 gb_hd_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x207db51e gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x229dc911 gb_connection_enable_tx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x23d2cd52 greybus_register_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2da18d35 __traceiter_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2f1b2263 gb_connection_latency_tag_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x31b23e58 gb_connection_latency_tag_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x38d6d4c0 __traceiter_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3d3e6426 gb_hd_cport_release_reserved +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x425e7d33 gb_hd_cport_reserve +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5420cad2 gb_connection_destroy +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x60f50030 gb_operation_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6d3bb9ec __SCK__tp_func_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7bfa420b __tracepoint_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7f8db02b gb_connection_create_offloaded +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fda15fc greybus_deregister_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff __SCK__tp_func_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff __SCK__tp_func_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff __SCK__tp_func_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff __SCK__tp_func_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff __traceiter_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff __traceiter_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff __traceiter_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff __tracepoint_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff __tracepoint_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff __tracepoint_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_connection_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_connection_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_connection_disable_forced +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_connection_disable_rx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_connection_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_debugfs_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_hd_output +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_hd_shutdown +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_interface_request_mode_switch +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_operation_cancel +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_operation_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_operation_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_operation_get_payload_size_max +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_operation_request_send +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_operation_request_send_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_operation_response_alloc +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_operation_result +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_operation_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_operation_unidirectional_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff greybus_data_rcvd +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x06a7e731 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0a68151e hid_match_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0b57f590 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19d52f1f hid_quirks_exit +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1e2e45da hidinput_calc_abs_res +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1f4cc15f hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x328e37a8 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x342efac7 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3458aef1 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x34b03d0d hid_hw_open +EXPORT_SYMBOL_GPL drivers/hid/hid 0x42f6bb99 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4709695a hid_driver_resume +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4a81cbba hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4b12e822 hid_hw_raw_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x57a9bb08 hid_hw_stop +EXPORT_SYMBOL_GPL drivers/hid/hid 0x57ee7691 hid_hw_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x619f3eb5 hid_hw_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x63529b70 hid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6be6d2c2 hid_field_extract +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6f1b905a hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6f62925a hid_alloc_report_buf +EXPORT_SYMBOL_GPL drivers/hid/hid 0x759a58ea hid_driver_reset_resume +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7e4df6c4 __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff __hid_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_compare_device_paths +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_driver_suspend +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_dump_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_hw_close +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_hw_start +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_ignore +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_quirks_init +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_setup_resolution_multiplier +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_snto32 +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_validate_values +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x3e4427c8 roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x49010f65 roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x2f4458c7 roccat_common2_sysfs_read +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x3872c5d4 roccat_common2_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x43343cee roccat_common2_sysfs_write +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x46cf23ee roccat_common2_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x7ca8bc55 roccat_common2_send_with_status +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x7fffffff roccat_common2_device_init_struct +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x3246c6ea sensor_hub_remove_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x4bedb8bf sensor_hub_get_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x59240506 sensor_hub_device_open +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x6240b378 sensor_hub_device_close +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x7fffffff hid_sensor_get_usage_index +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x7fffffff sensor_hub_input_attr_get_raw_value +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x7fffffff sensor_hub_input_get_attribute_info +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x7fffffff sensor_hub_register_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x7fffffff sensor_hub_set_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-vivaldi-common 0x5f279e46 vivaldi_input_configured +EXPORT_SYMBOL_GPL drivers/hid/hid-vivaldi-common 0x7fffffff vivaldi_feature_mapping +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x0295ce7e i2c_hid_ll_driver +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x34a7f2bf i2c_hid_core_shutdown +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x7fffffff i2c_hid_core_pm +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x7fffffff i2c_hid_core_probe +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x7fffffff i2c_hid_core_remove +EXPORT_SYMBOL_GPL drivers/hid/uhid 0x25831fd2 uhid_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x797cfaaf usb_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x7fffffff hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hsi/clients/ssi_protocol 0x381d251d ssip_slave_start_tx +EXPORT_SYMBOL_GPL drivers/hsi/clients/ssi_protocol 0x7b0df3d0 ssip_reset_event +EXPORT_SYMBOL_GPL drivers/hsi/clients/ssi_protocol 0x7fffffff ssip_slave_get_master +EXPORT_SYMBOL_GPL drivers/hsi/clients/ssi_protocol 0x7fffffff ssip_slave_running +EXPORT_SYMBOL_GPL drivers/hsi/clients/ssi_protocol 0x7fffffff ssip_slave_stop_tx +EXPORT_SYMBOL_GPL drivers/hsi/controllers/omap_ssi 0x7fffffff ssi_waketest +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x0bc3a709 hsi_new_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x0f43d75a hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x10f06758 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x1226675e hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x18b85e33 hsi_add_clients_from_dt +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x266cb0fb hsi_port_unregister_clients +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x538120db hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5bc42ccb hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_get_channel_id_by_name +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_remove_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x65fa3a57 adt7x10_dev_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x7fffffff adt7x10_probe +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x5cbb5274 ltc2947_core_probe +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x7fffffff ltc2947_of_match +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x7fffffff ltc2947_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x1468d140 nct6775_show_alarm +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x18264eca nct6775_reg_is_word_sized +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x6f3ab87f nct6775_store_beep +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x7fffffff nct6775_probe +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x7fffffff nct6775_show_beep +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x7fffffff nct6775_update_device +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x37e874cb intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x612e416c intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x6f5ec6b6 intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7fffffff intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7fffffff intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7fffffff intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7fffffff intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7fffffff intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7fffffff intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x7fffffff intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x7fffffff intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x7fffffff intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x009d8ecc to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x164e808e stm_source_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x2c3ce5ca stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x45626c8e stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x4f2ce87a stm_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x64abbd0d stm_data_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x7c3c8109 stm_source_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x7fffffff stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x7fffffff stm_unregister_device +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-ccgx-ucsi 0x7fffffff i2c_new_ccgx_ucsi +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x20e7707a i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x6f0a7f25 i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x7fffffff i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x7fffffff i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x14c8782a i2c_register_spd +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x390d1666 i2c_new_slave_host_notify_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x6bff9a8f i2c_free_slave_host_notify_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x7fffffff i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x0438b00e i3c_master_do_daa +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x1428a0f8 i3c_generic_ibi_recycle_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x1bfb1bee i3c_device_disable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x227ce336 i3c_device_free_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x22938241 i3c_device_request_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x2a321115 i3c_master_defslvs_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x387f2ae6 i3c_driver_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x41cf40be i3c_master_get_free_addr +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x4c07359a i3c_device_get_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x4ed399cb i3c_master_disec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x53a076cb i3c_master_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x58a42875 i3c_device_do_priv_xfers +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x6a4f0172 i3c_device_match_id +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x76fe3e05 i3c_generic_ibi_free_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x793ffdb9 i3c_master_entdaa_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff dev_to_i3cdev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_device_enable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_driver_register_with_owner +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_generic_ibi_alloc_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_generic_ibi_get_free_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_master_add_i3c_dev_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_master_enec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_master_queue_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_master_register +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_master_set_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3cdev_to_dev +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x454a83cc devm_adi_axi_adc_conv_register +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x7fffffff adi_axi_adc_conv_priv +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x267c0508 iio_channel_release_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x2a1fab3c iio_channel_stop_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7a711aef iio_channel_start_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7fffffff iio_channel_cb_get_channels +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7fffffff iio_channel_cb_get_iio_dev +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7fffffff iio_channel_cb_set_buffer_watermark +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7fffffff iio_channel_get_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x07e5a299 iio_dma_buffer_set_bytes_per_datum +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x0beb87ee iio_dma_buffer_exit +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x1d75a2a0 iio_dma_buffer_request_update +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x73afffc5 iio_dma_buffer_data_available +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7b93599b iio_dma_buffer_block_done +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7fffffff iio_dma_buffer_block_list_abort +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7fffffff iio_dma_buffer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7fffffff iio_dma_buffer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7fffffff iio_dma_buffer_init +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7fffffff iio_dma_buffer_read +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7fffffff iio_dma_buffer_release +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7fffffff iio_dma_buffer_set_length +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0x7fffffff devm_iio_dmaengine_buffer_setup +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x28e3f6c5 devm_iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x3391543d iio_hw_consumer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x3a00243f iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x7fffffff iio_hw_consumer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x7fffffff iio_hw_consumer_free +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-triggered-buffer 0x704601be devm_iio_triggered_buffer_setup_ext +EXPORT_SYMBOL_GPL drivers/iio/buffer/kfifo_buf 0x24c745d3 devm_iio_kfifo_buffer_setup_ext +EXPORT_SYMBOL_GPL drivers/iio/chemical/sps30 0x7fffffff sps30_probe +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x06e08d45 cros_ec_sensors_read_lpc +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x1e1dcad9 cros_ec_sensors_core_read_avail +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x231b5dc1 cros_ec_sensors_push_data +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x25592f51 cros_ec_motion_send_host_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x3c379f13 cros_ec_sensors_core_register +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x698f1427 cros_ec_sensors_core_write +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7fffffff cros_ec_sensors_capture +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7fffffff cros_ec_sensors_core_init +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7fffffff cros_ec_sensors_core_read +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7fffffff cros_ec_sensors_ext_info +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7fffffff cros_ec_sensors_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7fffffff cros_ec_sensors_read_cmd +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x3901fa46 bmg160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x7fffffff bmg160_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x7fffffff bmg160_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x07413499 fxas21002c_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x6d2bc027 fxas21002c_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x78cbd0d4 fxas21002c_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/imu/bmi160/bmi160_core 0x7fffffff bmi160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/fxos8700_core 0x7fffffff fxos8700_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0x0e607663 inv_icm42600_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0x15683ecd inv_icm42600_regmap_config +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0x38cae065 inv_icm42600_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x3457dab7 inv_mpu_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x5866a638 inv_mpu_pmops +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0134f703 devm_iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0c9185d2 iio_enum_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x13a9e325 iio_get_debugfs_dentry +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x187554cf iio_device_id +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1b092ce1 iio_get_channel_ext_info_count +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1ca8535f devm_of_iio_channel_get_by_name +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1fbb84ac iio_push_to_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x20ce344a iio_format_value +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2674ebc0 of_iio_channel_get_by_name +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26d327c4 iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26f46d27 iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26f6b499 iio_str_to_fixpoint +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2c05678d iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x319c2e22 __devm_iio_trigger_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3261815d devm_iio_device_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x34e4005c iio_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x377aab19 iio_device_attach_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4bdf87fb devm_iio_trigger_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4ede0aad iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x551bec8b devm_iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5a6fcdeb iio_device_get_current_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x69dc95ed iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x71a10154 iio_pop_from_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7411970c iio_read_avail_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x78c5b6fc iio_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7a41401b iio_show_mount_matrix +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7ad18413 iio_validate_scan_mask_onehot +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7c80895e __devm_iio_device_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7c95f150 iio_read_channel_offset +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff devm_iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_buffer_enabled +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_buffer_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_buffer_put +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_convert_raw_to_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_device_claim_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_device_release_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_enum_available_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_enum_write +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_push_to_buffers_with_ts_unaligned +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_read_avail_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_read_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_read_channel_average_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_read_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_read_channel_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_read_channel_processed_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_read_max_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_update_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_write_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_write_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_write_channel_raw +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0x7fffffff ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x0c0a2677 rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x15888de3 rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x3f55f397 rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x534ed82e rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x542cd015 rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x5a7d39f2 rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x7fffffff rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x7fffffff rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x7fffffff rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x7fffffff rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x7fffffff rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x7fffffff rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x7fffffff input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/matrix-keymap 0x7fffffff matrix_keypad_parse_properties +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x66535a18 adxl34x_suspend +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x7025617e adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x7fffffff adxl34x_remove +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x7fffffff adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x25a10248 rmi_2d_sensor_configure_input +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x27936b48 rmi_register_transport_device +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x2e144571 __rmi_register_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x38cade05 rmi_2d_sensor_abs_process +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x3c36c233 rmi_2d_sensor_of_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x443e714c rmi_driver_resume +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x64b5c6cc rmi_unregister_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7051305b rmi_dbg +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7fffffff rmi_2d_sensor_abs_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7fffffff rmi_2d_sensor_rel_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7fffffff rmi_driver_suspend +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7fffffff rmi_of_property_read_u32 +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7fffffff rmi_set_attn_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x010e5d01 cyttsp4_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x1c2dbab4 cyttsp4_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x48e1412f cyttsp4_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x34fd9e0e cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x4f189cd8 cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x7fffffff cyttsp_i2c_read_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x7fffffff cyttsp_i2c_write_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x0b0b1be3 tsc200x_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x2732e3fa tsc200x_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x5e990503 tsc200x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x67852f3f tsc200x_regmap_config +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x125758cb wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x45a31810 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6a41dba3 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x77ffc6f9 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x798ddc6c wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7fffffff wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7fffffff wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7fffffff wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7fffffff wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7fffffff wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7fffffff wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7fffffff wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/interconnect/imx/imx-interconnect 0x7fffffff imx_icc_register +EXPORT_SYMBOL_GPL drivers/interconnect/imx/imx-interconnect 0x7fffffff imx_icc_unregister +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x0b39b783 qcom_icc_bcm_voter_commit +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x2f573302 qcom_icc_bcm_voter_add +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x7fffffff of_bcm_voter_get +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x048c4cfb qcom_icc_rpmh_remove +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x42a3338c qcom_icc_pre_aggregate +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x7fffffff qcom_icc_aggregate +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x7fffffff qcom_icc_bcm_init +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x7fffffff qcom_icc_rpmh_probe +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x7fffffff qcom_icc_set +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x7fffffff qcom_icc_xlate_extended +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-smd-rpm 0x7fffffff qcom_icc_rpm_smd_available +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-smd-rpm 0x7fffffff qcom_icc_rpm_smd_send +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x0f7c9e2a free_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x438d8df2 iova_cache_get +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x48b9ac87 find_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x4a42a414 reserve_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x7fffffff __free_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x7fffffff alloc_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x7fffffff alloc_iova_fast +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x7fffffff free_iova_fast +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x7fffffff init_iova_domain +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x7fffffff iova_cache_put +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x7fffffff iova_domain_init_rcaches +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x7fffffff put_iova_domain +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x0ad9c1d6 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x6506dec3 ipack_put_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x74b3adcd ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x7de3bb1a ipack_bus_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x7fffffff ipack_device_add +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x7fffffff ipack_device_del +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x7fffffff ipack_device_init +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x7fffffff ipack_driver_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x7fffffff ipack_get_device +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x0fcca9b5 led_update_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x52e109bf devm_led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x7fffffff devm_led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x7fffffff led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x7fffffff led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x7fffffff led_get_flash_fault +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x7fffffff led_set_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x7fffffff led_set_flash_timeout +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x07fd9bcc devm_led_classdev_multicolor_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x2d8209ea led_mc_calc_color_components +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x7fffffff devm_led_classdev_multicolor_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x7fffffff led_classdev_multicolor_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x7fffffff led_classdev_multicolor_unregister +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x5e52ad1b lp55xx_init_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x62dd2824 lp55xx_read +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x7fffffff lp55xx_deinit_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x7fffffff lp55xx_is_extclk_used +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x7fffffff lp55xx_of_populate_pdata +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x7fffffff lp55xx_register_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x7fffffff lp55xx_register_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x7fffffff lp55xx_unregister_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x7fffffff lp55xx_update_bits +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x7fffffff lp55xx_write +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-audio 0x3bd45b0d ledtrig_audio_set +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-audio 0x7fffffff ledtrig_audio_get +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-camera 0x749e05f2 ledtrig_flash_ctrl +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-camera 0x7903e46e ledtrig_torch_ctrl +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x05907c93 __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x06bceaa1 __SCK__tp_func_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x092f5d59 __traceiter_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0a62aea7 __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0bc0be45 __SCK__tp_func_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x15f3de09 __SCK__tp_func_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x17a83e40 __traceiter_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x181a1930 __SCK__tp_func_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1b083369 __SCK__tp_func_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1b97ebbe __traceiter_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c599ebe __traceiter_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c83d5b7 __SCK__tp_func_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x21497ca6 __traceiter_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x22ae6324 __SCK__tp_func_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x258b624e __traceiter_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x25bbd6d5 __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2766fb04 __traceiter_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2af60833 __SCK__tp_func_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2d506526 __traceiter_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2f4efd74 __traceiter_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x30556300 __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3079df16 __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x31057c80 __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x40bb3414 __traceiter_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x46c66897 __SCK__tp_func_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4a2d1241 __SCK__tp_func_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x51d0e534 __SCK__tp_func_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5376f7e2 __traceiter_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5a227cbf __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5d9c8fc8 __SCK__tp_func_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5dc90254 __traceiter_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5fd7c423 __SCK__tp_func_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6026e276 __SCK__tp_func_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x628aeadd __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6457cb54 __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x64e39418 __traceiter_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6697827f __SCK__tp_func_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x67abbb76 __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6e74dca7 __SCK__tp_func_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x71388d39 __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7267dab1 __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x72a3de4b __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x79eeb380 __SCK__tp_func_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7b6679bd __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7f6c1e94 __traceiter_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x02194eea dm_bio_prison_free_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x062fe70f dm_cell_unlock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x07992120 dm_bio_detain +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x08f1cb4d dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x17dd39d6 dm_deferred_set_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2eb01e04 dm_deferred_set_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2f3b9d02 dm_bio_prison_alloc_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x34a73239 dm_cell_quiesce_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x5b35151b dm_cell_lock_promote_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6420e8f8 dm_get_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6791a44e dm_deferred_entry_dec +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x753e20b2 dm_bio_prison_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_bio_prison_alloc_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_bio_prison_create_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_bio_prison_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_bio_prison_destroy_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_bio_prison_free_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_cell_error +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_cell_get_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_cell_lock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_cell_promote_or_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_cell_put_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_cell_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_cell_release_no_holder +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_deferred_entry_inc +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_deferred_set_add_work +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x0ad0dc4f dm_bufio_mark_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x111ab12a dm_bufio_mark_partial_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x24772bfe dm_bufio_get +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x2e0774dc dm_bufio_get_block_number +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x3e708dd4 dm_bufio_client_create +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6aebce95 dm_bufio_issue_discard +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6d3f57bd dm_bufio_get_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x72f07bf4 dm_bufio_set_minimum_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x74dcd98c dm_bufio_get_aux_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7c381a76 dm_bufio_get_block_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_client_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_forget +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_forget_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_get_block_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_get_device_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_get_dm_io_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_issue_flush +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_new +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_prefetch +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_read +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_release +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_release_move +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_set_sector_offset +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_write_dirty_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_write_dirty_buffers_async +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x03bb93e0 dm_cache_policy_get_name +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x0efbca4c btracker_promotion_already_present +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5730f8ae dm_cache_policy_create +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5adc2807 btracker_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5b3dc349 dm_cache_policy_get_version +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5d903688 dm_cache_policy_unregister +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5de611a9 btracker_nr_writebacks_queued +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7fffffff btracker_complete +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7fffffff btracker_create +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7fffffff btracker_issue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7fffffff btracker_nr_demotions_queued +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7fffffff btracker_queue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7fffffff dm_cache_policy_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7fffffff dm_cache_policy_get_hint_size +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7fffffff dm_cache_policy_register +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x29b7ad29 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x7fffffff dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x01d2f9ac dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x2a4c832e dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38972f23 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38efaf5a dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3a18389a dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x57e16c3e dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5f4a6e61 dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5f6c34a2 dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7774620f dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d053fc5 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d5e1815 dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0054f69d dm_tm_pre_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x11fbbe02 dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x15085586 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1816383d dm_btree_find_highest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1ae16d40 dm_tm_dec_range +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1ba7cc87 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x243ce1ad dm_array_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x24507fbf dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x29c25d50 dm_bm_write_lock_zero +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2c5a02df dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2d38ecd9 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2f40da68 dm_bm_set_read_write +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x30a26537 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3646e38f dm_tm_issue_prefetches +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x382a0134 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ae50a4a dm_tm_inc_range +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3d6961ed dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x46768dbf dm_btree_remove_leaves +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x46af8087 dm_bm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x46eff63a dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5475ba9e dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5736c9c5 dm_bitset_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x586705e1 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x64976f82 dm_tm_shadow_block +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x688d422d dm_bm_block_size +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6b2357b6 dm_bitset_test_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6c218062 dm_bitset_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6c2c7ef4 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7062014c dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x72289260 dm_block_manager_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x73420d49 dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x75606d09 dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7ade1071 dm_tm_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b047bd9 dm_tm_create_non_blocking_clone +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7bc7621f dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7e29c59d dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_array_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bitset_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bm_is_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bm_set_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bm_write_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_btree_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_btree_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_disk_bitset_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_tm_inc +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_tm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_tm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_tm_with_runs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x02a62857 cec_s_conn_info +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x0e64d4a0 cec_queue_pin_5v_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x25bc3623 cec_transmit_msg +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x2f36d9b3 cec_s_log_addrs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x37a3e023 cec_queue_pin_hpd_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x3c4fce26 cec_delete_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x3ed40727 cec_notifier_parse_hdmi_phandle +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x437ddf27 cec_notifier_cec_adap_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x51985f4c cec_register_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x6575a35f cec_queue_pin_cec_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x669fdab3 cec_received_msg_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_fill_conn_info_from_drm +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_notifier_cec_adap_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_notifier_conn_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_notifier_conn_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_notifier_set_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_notifier_set_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_s_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_s_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_transmit_attempt_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_transmit_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_unregister_adapter +EXPORT_SYMBOL_GPL drivers/media/common/b2c2/b2c2-flexcop 0x66c0289a b2c2_flexcop_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x059368d3 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x1d37ac65 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x2089142a saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x20d59642 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x30b85b93 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x45542426 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x7fffffff saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x7fffffff saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x7fffffff saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x7fffffff saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x7fffffff saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x3edb0c66 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x416dd7dd saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x77225a35 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x7fffffff saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x7fffffff saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x7fffffff saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x7fffffff saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x1e438f18 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x21e86dc7 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x34bf0e61 smscore_translate_msg +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x50b058fc sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x537ae6d7 sms_board_power +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x56b5c840 smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x6163930e smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x63222b29 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7562cdaf sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff sms_board_event +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff sms_get_board +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x03005a48 tpg_alloc +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x040dc7cd tpg_aspect_strings +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x4d1d285c tpg_init +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x517e7ccd tpg_fill_plane_buffer +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x6026aaf0 tpg_log_status +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x6960e899 tpg_s_crop_compose +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x756516e7 tpg_s_fourcc +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7a5d8c0b tpg_update_mv_step +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7fffffff tpg_calc_text_basep +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7fffffff tpg_fillbuffer +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7fffffff tpg_free +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7fffffff tpg_g_color_order +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7fffffff tpg_g_interleaved_plane +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7fffffff tpg_gen_text +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7fffffff tpg_pattern_strings +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7fffffff tpg_reset_source +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7fffffff tpg_set_font +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x00f4b6b9 vb2_core_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x06f1014d __traceiter_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x07729fd4 __SCK__tp_func_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x1c6a4d25 __traceiter_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x258064fe vb2_core_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2b57679c vb2_core_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2d54e9f2 __traceiter_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2f77f938 vb2_core_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2fc3fec6 vb2_core_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x3d8654bd vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x3e0ec154 vb2_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x415d9ecf vb2_thread_stop +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x422d06d7 vb2_core_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x47f7a1b5 vb2_core_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x5a866c29 vb2_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x5f9e9fbf __tracepoint_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x62e60eeb vb2_core_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6672bc31 vb2_core_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6d4fae27 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff __SCK__tp_func_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff __SCK__tp_func_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff __SCK__tp_func_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff __traceiter_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff __tracepoint_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff __tracepoint_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff __tracepoint_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_core_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_core_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_core_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_discard_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_request_buffer_cnt +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_request_object_is_buffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_thread_start +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x7fffffff vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x7fffffff vb2_dma_contig_set_max_seg_size +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-sg 0x7a7a5d30 vb2_dma_sg_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-memops 0x14aeb622 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x0a636b1c vb2_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x114442af vb2_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x184cb9de vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x2b5a7432 vb2_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x2dc426c6 vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x44f9de56 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4c41ac68 vb2_request_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4d3e6124 _vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x50224b09 vb2_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x53077dde vb2_fop_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x59bd8750 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x62f06be1 vb2_find_timestamp +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x69b7f755 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x70d6cce6 vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7ed6d60f vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_fop_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_fop_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_ops_wait_finish +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_ops_wait_prepare +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_queue_change_type +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_queue_init_name +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_request_validate +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_video_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-vmalloc 0x5f7e30cc vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x0c2454ea dvb_module_probe +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x5f61e7ed dvb_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x786ab461 dvb_module_release +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/as102_fe 0x7fffffff as102_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/cx24117 0x4185d4e0 cx24117_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/gp8psk-fe 0x2addfebb gp8psk_fe_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/mxl5xx 0x7fffffff mxl5xx_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv0910 0x7fffffff stv0910_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv6111 0x7fffffff stv6111_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/tda18271c2dd 0x609643ef tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/i2c/aptina-pll 0x30594dd2 aptina_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/ccs-pll 0x7c982506 ccs_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x0b6f38cd max9271_configure_i2c +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x0cfb9773 max9271_set_serial_link +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x54bf5c3f max9271_configure_gmsl_link +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x55a210b1 max9271_set_high_threshold +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x5b03c876 max9271_set_address +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x724196bd max9271_set_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7ad1012d max9271_verify_id +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7fffffff max9271_clear_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7fffffff max9271_disable_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7fffffff max9271_enable_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7fffffff max9271_set_deserializer_address +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7fffffff max9271_set_translation +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7fffffff max9271_wake_up +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0d7efb88 media_create_pad_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2027ce7a media_request_get_by_fd +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x22226cc4 __media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x242ece51 media_request_object_complete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x25c59810 __media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x26995bd3 __media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x29d0b044 media_get_pad_index +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2a73a612 media_device_delete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2b85ee63 media_entity_get_fwnode_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2e4b6854 media_request_object_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3a2e0f55 media_device_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x41ff18f7 media_create_pad_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x49f6ac8b media_create_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5064725b __media_device_register +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x506e48f5 media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5df7bb9e media_graph_walk_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5e5cfb7b media_graph_walk_next +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x65e5c897 media_request_object_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x65e9f332 media_graph_walk_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x683fc32c media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6bdd7db9 media_devnode_create +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x743ebebb __media_device_usb_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7cab5968 media_entity_remote_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7d8003b1 media_devnode_remove +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7faae20e media_device_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff __media_entity_enum_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff __media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff __media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff __media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_create_ancillary_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_device_pci_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_device_register_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_device_register_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_device_unregister +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_device_unregister_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_device_unregister_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_device_usb_allocate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_entity_enum_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_entity_find_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_entity_pads_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_graph_walk_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_request_object_bind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_request_object_find +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_request_object_unbind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_request_put +EXPORT_SYMBOL_GPL drivers/media/pci/cx88/cx88xx 0x5ff7ed81 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x21a5a92e mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x224e64ee mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x24dd2991 mantis_input_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x3c53a591 mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x3fb86851 mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x4104c5a3 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x4818fd72 mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x4caffcb7 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x51ccd51b mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x51ed5482 mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x576bce12 mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x5fc42e8f mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x6e8a0b2d mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7fffffff mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7fffffff mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7fffffff mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7fffffff mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7fffffff mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7fffffff mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x071f173a saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x156f1922 saa7134_s_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x203a8e72 saa7134_ts_buffer_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x410218d9 saa7134_g_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x4ce4dc23 saa7134_s_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x4e11ef07 saa7134_vb2_buffer_queue +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x55355a45 saa7134_g_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x650468bb saa7134_ts_buffer_prepare +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7c22d6ff saa7134_s_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_enum_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_g_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_g_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_querycap +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_querystd +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_s_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_ts_queue_setup +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_ts_start_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_ts_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x247087d2 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x28b38c2d ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x3829a0db ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x72a0baee ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7fffffff ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7fffffff ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7fffffff ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x2fcc2266 mccic_suspend +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x799c84f9 mccic_irq +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x7e661a9a mccic_resume +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x7fffffff mccic_register +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x7fffffff mccic_shutdown +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x5884e70e vpu_get_vdec_hw_capa +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x75f86ffd vpu_get_plat_device +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x7fffffff vpu_get_venc_hw_capa +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x7fffffff vpu_ipi_register +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x7fffffff vpu_ipi_send +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x7fffffff vpu_load_firmware +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x7fffffff vpu_mapping_dm_addr +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x7fffffff vpu_wdt_reg_handler +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x3d858696 rcar_fcp_put +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x4ad5d888 rcar_fcp_enable +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x5fe6f6e8 rcar_fcp_disable +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x7fffffff rcar_fcp_get +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x7fffffff rcar_fcp_get_device +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x41f3d6d0 vsp1_du_unmap_sg +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x73f78575 vsp1_du_map_sg +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x7fffffff vsp1_du_atomic_begin +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x7fffffff vsp1_du_atomic_flush +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x7fffffff vsp1_du_atomic_update +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x7fffffff vsp1_du_init +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x7fffffff vsp1_du_setup_lif +EXPORT_SYMBOL_GPL drivers/media/platform/ti/omap/omap-vout 0x085d8e48 omap_vout_try_window +EXPORT_SYMBOL_GPL drivers/media/platform/ti/omap/omap-vout 0x0a59c11d omap_vout_new_format +EXPORT_SYMBOL_GPL drivers/media/platform/ti/omap/omap-vout 0x0d615dfe omap_vout_default_crop +EXPORT_SYMBOL_GPL drivers/media/platform/ti/omap/omap-vout 0x3739df24 omap_vout_new_window +EXPORT_SYMBOL_GPL drivers/media/platform/ti/omap/omap-vout 0x6e8a3074 omap_vout_new_crop +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x43738fab xvip_set_format_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x4687a556 xvip_clr_or_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x64275056 xvip_cleanup_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x6c5b9902 xvip_clr_and_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x7fffffff xvip_enum_frame_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x7fffffff xvip_enum_mbus_code +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x7fffffff xvip_get_format_by_code +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x7fffffff xvip_get_format_by_fourcc +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x7fffffff xvip_init_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x7fffffff xvip_of_get_format +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x3c16a6b1 xvtc_generator_stop +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x47d7900b xvtc_generator_start +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x68dedfab xvtc_of_get +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x7fffffff xvtc_put +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x7fffffff radio_tea5777_exit +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x7fffffff radio_tea5777_init +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x2717bf79 si470x_start +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x30582dae si470x_set_freq +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x7b09ddcd si470x_stop +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x7fffffff si470x_ctrl_ops +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x7fffffff si470x_viddev_template +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x11b81176 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x24b0bef6 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x28af3c3f rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4fa8b82a rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x5abfac30 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x64eb483e rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7d570534 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff devm_rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff devm_rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff ir_raw_event_store_with_timeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff lirc_scancode_event +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/tuners/mt2063 0x7fffffff mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mt20xx 0x7fffffff microtune_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mxl5007t 0x7fffffff mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/r820t 0x7fffffff r820t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda18271 0x76402801 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda827x 0x1b864bb7 tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x7fffffff tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x7fffffff tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/tuners/tda9887 0x267f640c tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x30333ac4 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x7fffffff tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x36b94f3b tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x7fffffff tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tuner-simple 0x7fffffff simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x04e1dcd6 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x056ce3c6 cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x1c8622b7 cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x1ff626ca cx231xx_get_i2c_adap +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x22808258 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x25cd40bd cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x272e3f75 cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x352e5908 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x43859561 is_fw_load +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x5041b973 cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x52184293 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x5f1569ac cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x6e4abb4d cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7fffffff cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7fffffff cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7fffffff cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7fffffff cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7fffffff cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7fffffff cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7fffffff cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0x7fffffff mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0x7fffffff mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x0299615e em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x08767756 em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x38d8a776 em28xx_find_led +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x55af7d2f em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x58fe0135 em28xx_uninit_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x5ad46f3e em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x71c11207 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x721f7cc7 em28xx_free_device +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x73fc4419 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_alloc_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_boards +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_init_camera +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_init_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_toggle_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x653069a7 tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x7fffffff tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x7fffffff tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x7fffffff tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x7fffffff tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x7fffffff tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x29cb154e __v4l2_async_nf_add_i2c +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x368031ec v4l2_async_nf_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x6bd5d0eb __v4l2_async_nf_add_fwnode_remote +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x7fffffff __v4l2_async_nf_add_fwnode +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x7fffffff __v4l2_async_nf_add_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x01612c0b v4l2_detect_gtf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x08402862 v4l2_print_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x0958448b v4l2_set_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x0af3d134 v4l2_valid_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x2bf67def v4l2_calc_aspect_ratio +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x370cfe6e v4l2_dv_timings_presets +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x3aa68d7a v4l2_find_dv_timings_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x4839762f v4l2_calc_timeperframe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7b6ac78f v4l2_phys_addr_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7fffffff v4l2_detect_cvt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7fffffff v4l2_dv_timings_aspect_ratio +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7fffffff v4l2_enum_dv_timings_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7fffffff v4l2_find_dv_timings_cea861_vic +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7fffffff v4l2_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7fffffff v4l2_hdmi_rx_colorimetry +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7fffffff v4l2_match_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7fffffff v4l2_phys_addr_for_input +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x3ea63457 v4l2_flash_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x7fffffff v4l2_flash_indicator_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x7fffffff v4l2_flash_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x000c422d v4l2_fwnode_connector_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x05f6c918 v4l2_fwnode_endpoint_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x3c2034da v4l2_fwnode_device_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x46b4f15c v4l2_fwnode_put_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x4a4aba2e v4l2_async_register_subdev_sensor +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x5a82be5e v4l2_fwnode_endpoint_alloc_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x612ddce5 v4l2_fwnode_connector_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x7fffffff v4l2_async_nf_parse_fwnode_endpoints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x7fffffff v4l2_fwnode_connector_add_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x7fffffff v4l2_fwnode_endpoint_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x7fffffff v4l2_fwnode_parse_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0x639ecc68 v4l2_h264_init_reflist_builder +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0x6a1429ff v4l2_h264_build_p_ref_list +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0x7fffffff v4l2_h264_build_b_ref_lists +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0x4c847e31 v4l2_jpeg_parse_huffman_tables +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0x5e92a994 v4l2_jpeg_parse_scan_header +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0x7fffffff v4l2_jpeg_parse_frame_header +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0x7fffffff v4l2_jpeg_parse_header +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0x7fffffff v4l2_jpeg_parse_quantization_tables +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x00462bbf v4l2_m2m_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x159898d3 v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x174d8d14 v4l2_m2m_ioctl_stateless_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x1986f3f4 v4l2_m2m_ioctl_try_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x1ae818bc v4l2_m2m_register_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2beab054 v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2c48ad0a v4l2_m2m_ioctl_stateless_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x35a97f85 v4l2_m2m_ioctl_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3969dd1b v4l2_m2m_ioctl_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x41eac957 v4l2_m2m_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x4535d8a5 v4l2_m2m_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x469d888e v4l2_m2m_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x4daca1a5 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x51b06389 v4l2_m2m_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x580e92e7 v4l2_m2m_last_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x59844cdb v4l2_m2m_buf_remove_by_idx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5e79c290 v4l2_m2m_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5fe89596 v4l2_m2m_request_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x63879b7c v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6c3efdb9 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x730f2eae v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x759f0a55 v4l2_m2m_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x789e7b63 v4l2_m2m_update_stop_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x78b2db67 v4l2_m2m_fop_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_buf_copy_metadata +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_buf_remove_by_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_ioctl_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_last_buffer_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_try_schedule +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_unregister_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_update_start_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x4137d90c v4l2_vp9_adapt_coef_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x7fffffff v4l2_vp9_adapt_noncoef_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x7fffffff v4l2_vp9_default_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x7fffffff v4l2_vp9_fw_update_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x7fffffff v4l2_vp9_kf_partition_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x7fffffff v4l2_vp9_kf_uv_mode_prob +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x7fffffff v4l2_vp9_kf_y_mode_prob +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x7fffffff v4l2_vp9_reset_frame_ctx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x7fffffff v4l2_vp9_seg_feat_enabled +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x150ae41d videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x1b09ba51 videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x2b45cd4e videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4003fca5 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4442e01c videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4a518367 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x5428ba83 videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x56c0f808 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x5730545e videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x6a43a912 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x6e8b3114 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7b3f571c videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x2108bb67 videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x349468eb videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x3dbb75b4 videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x53f593f2 videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x7fffffff videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x46ce06de videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x54d70a72 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x7fffffff videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x029b1c3b __v4l2_subdev_init_finalize +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0391f639 v4l2_i2c_subdev_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0a68326d v4l_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0c77e7a9 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x112b1837 v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x11f3044c __SCK__tp_func_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1218ad88 v4l2_subdev_link_validate_default +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1290b81b __traceiter_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x13c0bf00 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x17bd8d75 __v4l2_ctrl_handler_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1d570cfd v4l2_subdev_notify_event +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1d6c662d v4l2_event_subdev_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2256627c v4l2_src_change_event_subdev_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x23834060 v4l2_pipeline_link_notify +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2ae0877b __SCK__tp_func_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2e7126a7 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2ed9acd3 __tracepoint_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2fea6e58 __traceiter_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x301cea1b v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x30a998c5 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x323f0af0 v4l2_pipeline_pm_get +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x374cd366 v4l2_subdev_get_fwnode_pad_1_to_1 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3c5f1f6c v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x411dafb4 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x429483fb v4l2_get_link_freq +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x52d61d6d v4l_vb2q_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x575d459a v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5f39889d v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x659837ad __tracepoint_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6636cefa v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x66c4a256 __v4l2_subdev_state_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x67a1526f v4l2_ctrl_request_hdl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x69d5b89d v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6ce1c95c __SCK__tp_func_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e828edd v4l2_mc_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e9acc41 v4l2_fill_pixfmt_mp +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6f5ed23a __tracepoint_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x72548858 v4l2_create_fwnode_links +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x74272e9b v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x744c66d0 v4l2_src_change_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7b30ba2e __v4l2_subdev_state_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7b78a4bf v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff __SCK__tp_func_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff __traceiter_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff __traceiter_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff __tracepoint_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff __v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff __v4l2_find_nearest_size +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_apply_frmsize_constraints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_create_fwnode_links_to_pad +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_request_hdl_ctrl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_event_wake_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_fill_pixfmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_g_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_pipeline_pm_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_s_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_subdev_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_subdev_get_fmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_subdev_link_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l_disable_media_source +EXPORT_SYMBOL_GPL drivers/memory/ti-emif-sram 0x49a8a623 ti_emif_get_mem_type +EXPORT_SYMBOL_GPL drivers/memory/ti-emif-sram 0x7fffffff ti_emif_copy_pm_function_table +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x2542b5d6 pm80x_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x7fffffff pm80x_deinit +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x7fffffff pm80x_init +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x7fffffff pm80x_regmap_config +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x0dc975b9 arizona_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x35181359 wm5110_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x36f89b2d cs47l24_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x38c0d9b4 wm8997_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x3c8330c2 wm5102_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4048fbbc wm8997_aod +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4939f24f wm8997_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4c087981 wm5110_aod +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4dfa5386 arizona_set_irq_wake +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x6e49277a wm8998_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7e521180 arizona_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fbbf18e wm5102_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff arizona_clk32k_disable +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff arizona_clk32k_enable +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff arizona_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff arizona_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff arizona_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff cs47l24_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff cs47l24_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff wm5110_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff wm5110_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff wm5110_revd_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff wm5110_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff wm8997_irq +EXPORT_SYMBOL_GPL drivers/mfd/atc260x-core 0x4802aa02 atc260x_device_probe +EXPORT_SYMBOL_GPL drivers/mfd/atc260x-core 0x4a79d6c0 atc260x_match_device +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x0fcb72f1 da9150_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x45f401d3 da9150_bulk_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x4fbf56b2 da9150_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x7f01fc8f da9150_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x7fffffff da9150_read_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x7fffffff da9150_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x7fffffff da9150_write_qif +EXPORT_SYMBOL_GPL drivers/mfd/gateworks-gsc 0x7fffffff gsc_read +EXPORT_SYMBOL_GPL drivers/mfd/gateworks-gsc 0x7fffffff gsc_write +EXPORT_SYMBOL_GPL drivers/mfd/iqs62x 0x7fffffff iqs62x_events +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x29e43bef kempld_write8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x354f4a7a kempld_read32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x3a93f8cc kempld_write32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x43710377 kempld_read8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x7fffffff kempld_get_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x7fffffff kempld_read16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x7fffffff kempld_release_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x7fffffff kempld_write16 +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x0c60c623 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x4083962c lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x7fffffff lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x008f55b0 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x4f047792 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x6a27f362 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x78331ccf lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x7c7d2e9a lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x7fffffff lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x7fffffff lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x7fffffff lp3943_read_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x7fffffff lp3943_update_bits +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x7fffffff lp3943_write_byte +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x01135308 cs47l35_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x011e8f48 cs47l35_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f379262 madera_of_match +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x1c35a43d cs47l92_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x1c38787d cs47l92_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x2bb4bfc0 cs47l90_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x2bb96380 cs47l90_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x3361c870 cs47l85_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x336c1430 cs47l85_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x3f1b9529 cs47l90_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x42264e04 cs47l35_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x422b9244 cs47l35_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x5b20e092 madera_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x5d9e7714 madera_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x5f00b931 cs47l92_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x5f0d6571 cs47l92_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x6881a2cc cs47l90_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x688c7e8c cs47l90_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7054d57c cs47l85_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7059093c cs47l85_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7f0e27a8 cs47l85_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7fffffff cs47l15_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7fffffff cs47l15_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7fffffff cs47l15_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7fffffff cs47l15_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7fffffff cs47l15_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7fffffff cs47l35_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7fffffff cs47l92_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7fffffff madera_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7fffffff madera_name_from_type +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x4deccc53 mc13xxx_common_exit +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x7fffffff mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x7fffffff mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x7fffffff mc13xxx_variant_mc13783 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x7fffffff mc13xxx_variant_mc13892 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x7fffffff mc13xxx_variant_mc34708 +EXPORT_SYMBOL_GPL drivers/mfd/motorola-cpcap 0x7fffffff cpcap_sense_virq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x04d50cad pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x107d83d8 pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x166f545c pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x70abc0e8 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x743cf3a7 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7fffffff pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7fffffff pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7fffffff pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7fffffff pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7fffffff pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7fffffff pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x5fb37bb3 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x63cdb8c8 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x2c368ca2 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x7fffffff pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x7fffffff pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x7fffffff pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x7fffffff pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x7fffffff devm_rave_sp_register_event_notifier +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x7fffffff rave_sp_exec +EXPORT_SYMBOL_GPL drivers/mfd/retu-mfd 0x56d1a8c5 retu_read +EXPORT_SYMBOL_GPL drivers/mfd/retu-mfd 0x7fffffff retu_write +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x039223b4 si476x_core_cmd_am_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x0afd2a91 si476x_core_stop +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x0afe9d0d si476x_core_cmd_fm_rds_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x0d6723bf si476x_core_cmd_get_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x12bc91db si476x_core_cmd_zif_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x23320781 si476x_core_cmd_fm_phase_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x234566dc si476x_core_cmd_fm_rds_blockcount +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x270c69a4 si476x_core_cmd_am_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x32c58387 si476x_core_cmd_dig_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x35a7fab2 si476x_core_cmd_agc_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x3835f309 si476x_core_is_a_secondary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x3e3008e6 si476x_core_is_a_primary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x46222b73 si476x_core_cmd_power_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x4e200716 si476x_core_cmd_fm_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x4fcffca7 si476x_core_cmd_power_down +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x75f59fa4 si476x_core_cmd_ic_link_gpo_ctl_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff devm_regmap_init_si476x +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_am_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_am_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_ana_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_fm_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_fm_phase_div_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_fm_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_fm_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_func_info +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_intb_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_set_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_has_am +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_has_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_i2c_xfer +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_is_in_am_receiver_mode +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_is_powered_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_set_power_state +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_start +EXPORT_SYMBOL_GPL drivers/mfd/ssbi 0x2b1bd9ff ssbi_write +EXPORT_SYMBOL_GPL drivers/mfd/ssbi 0x7fffffff ssbi_read +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0x167f9016 stmfx_function_enable +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0x7fffffff stmfx_function_disable +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x197e228d am335x_tsc_se_set_once +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x1f6218f5 am335x_tsc_se_adc_done +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x2f9dabee am335x_tsc_se_set_cache +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x7fffffff am335x_tsc_se_clr +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x48dc412a tps65218_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x68c9926d tps65218_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x7fffffff tps65218_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x7fffffff ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x0a44f062 alcor_write32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x4208564b alcor_read8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x5eedb5b4 alcor_read32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x62a35b86 alcor_write32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x7fffffff alcor_read32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x7fffffff alcor_write16 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x7fffffff alcor_write8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x028870cd rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x08df9a95 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x0cb2a4f1 rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x1143f93b rtsx_pci_dma_map_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x1fffbd18 rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x25c93481 rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x2acb9a5f rtsx_pci_dma_unmap_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x372e954e rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x52bcd2f7 rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x566292ae rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7a1d9a06 rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7d4080c4 rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7f472903 rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_dma_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x0b923f4d rtsx_usb_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x1040dcff rtsx_usb_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x1b282aac rtsx_usb_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x4ae353f2 rtsx_usb_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x4c7ff7f7 rtsx_usb_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x57796135 rtsx_usb_ep0_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7fffffff rtsx_usb_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7fffffff rtsx_usb_ep0_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7fffffff rtsx_usb_get_card_status +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7fffffff rtsx_usb_get_rsp +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7fffffff rtsx_usb_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7fffffff rtsx_usb_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7fffffff rtsx_usb_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x34295572 cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x44448d66 cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x7fffffff cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x7fffffff cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x0b008db0 oslec_hpf_tx +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x296a8983 oslec_update +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x3115970d oslec_create +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x4b711f77 oslec_adaption_mode +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x5909e701 oslec_snapshot +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x780d3f01 oslec_flush +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x7fffffff oslec_free +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x3cb83d5b eeprom_93cx6_multireadb +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d2ff63 eeprom_93cx6_wren +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x7fffffff eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x7fffffff eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x7fffffff eeprom_93cx6_readb +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x7fffffff eeprom_93cx6_write +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x5c2e2802 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x7f72cc5e enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x7fffffff enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x7fffffff enclosure_component_alloc +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x7fffffff enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x7fffffff enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x7fffffff enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x7fffffff enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x0501abbc lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x1049474f lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x14791f27 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x2719ccee lis3lv02d_init_dt +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x6b038714 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x7fffffff lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x7fffffff lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x7fffffff lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/pvpanic/pvpanic 0x7fffffff devm_pvpanic_probe +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x7fffffff st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x7fffffff st_unregister +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x048b5eb9 uacce_remove +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x573e18fd uacce_alloc +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x7fffffff uacce_register +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x2907dcc7 dw_mci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x613c86f2 dw_mci_pltfm_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x7fffffff dw_mci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/renesas_sdhi_core 0x35f7abf7 renesas_sdhi_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/renesas_sdhi_core 0x7fffffff renesas_sdhi_probe +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x0a5b69c4 tmio_mmc_host_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x17aac852 tmio_mmc_do_data_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x27b5967e tmio_mmc_host_runtime_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x378f2335 tmio_mmc_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x5291df14 tmio_mmc_host_free +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x7fffffff tmio_mmc_disable_mmc_irqs +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x7fffffff tmio_mmc_enable_mmc_irqs +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x7fffffff tmio_mmc_host_alloc +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x7fffffff tmio_mmc_host_probe +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x7fffffff tmio_mmc_host_runtime_suspend +EXPORT_SYMBOL_GPL drivers/most/most_core 0x0a825cde channel_has_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x0ef6ff35 most_register_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x162728c4 most_deregister_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x162d3302 most_stop_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0x1860f6b2 most_deregister_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x25c5c548 most_start_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0x3f5bf02f most_register_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0x5ad02502 most_deregister_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7fffffff most_get_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7fffffff most_put_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7fffffff most_register_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7fffffff most_resume_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7fffffff most_stop_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7fffffff most_submit_mbo +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x20920ba6 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x7fffffff cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x7fffffff cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x31e17342 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x7fffffff cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x7fffffff cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x53dfda43 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x4fc68675 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x7fffffff cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x7fffffff cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x4e84c58e hyperbus_register_device +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x7fffffff hyperbus_unregister_device +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x300fda3b onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x7fffffff onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x2a2eeeef brcmnand_pm_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x4fdbe2bc brcmnand_probe +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x7fffffff brcmnand_remove +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/denali 0x7fffffff denali_chip_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/sm_common 0x1786ddf6 sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x460ff5e9 spi_nor_scan +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x7fffffff spi_nor_restore +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x25006112 ubi_leb_read_sg +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x313685e1 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38d43536 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x66011ab6 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7ea3a25b ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x08846d71 mux_chip_unregister +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x0a65c89f mux_state_try_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x0e7ac962 mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x153bfadd mux_control_states +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x1d078acc mux_control_try_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x44241d35 mux_control_put +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x4a6b68fb mux_chip_free +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x4e5ea3b1 mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7cf08396 mux_state_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7f27f917 mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7fffffff devm_mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7fffffff devm_mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7fffffff devm_mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7fffffff devm_mux_state_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7fffffff mux_control_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7fffffff mux_control_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7fffffff mux_state_select_delay +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x7fffffff arcnet_led_event +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x7fffffff devm_arcnet_led_init +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x2032235f c_can_power_up +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x37c8f2ef register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x7c4c7b8b unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x7fffffff alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x7fffffff c_can_power_down +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x7fffffff free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x0b107928 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x79357b00 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x7fffffff alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x7fffffff unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x07cd686a alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x0a988dc9 can_change_state +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x10d892eb can_get_state_str +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x115861ec can_rx_offload_add_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x12fd70d6 can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1e6260f5 can_rx_offload_irq_finish +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x20d7c21c can_rx_offload_threaded_irq_finish +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x2aa9e9a0 safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x340f2758 of_can_transceiver +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x36937e70 can_rx_offload_queue_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4290aac8 can_rx_offload_irq_offload_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x45481a65 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x5ef67493 alloc_candev_mqs +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6047ede6 can_fd_len2dlc +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6053543a can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x63b3f5b0 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7bf8c9e4 can_skb_get_frame_len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7edfcf58 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff alloc_canfd_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_change_mtu +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_fd_dlc2len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_rx_offload_add_manual +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_rx_offload_add_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_rx_offload_del +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_rx_offload_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_rx_offload_irq_offload_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_rx_offload_queue_tail +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff free_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff open_candev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x07537d65 m_can_class_free_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x5353ae3f m_can_class_unregister +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x5fd73383 m_can_class_resume +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x776470c4 m_can_init_ram +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x7fffffff m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x7fffffff m_can_class_get_clocks +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x7fffffff m_can_class_register +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x7fffffff m_can_class_suspend +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49a41bbc register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x7fffffff alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x7fffffff free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x7fffffff unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0x3799ef63 lan9303_indirect_phy_ops +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x09f90e29 ksz_port_vlan_filtering +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x0aac4dd9 ksz_port_bridge_join +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x1b823cd1 ksz_port_fast_age +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x24f04ecd ksz_port_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x26fe9d22 ksz_enable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x36860ce0 ksz_init_mib_timer +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x53e6e506 ksz_port_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x5b89f94e ksz_port_mirror_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x6552464b ksz_port_mdb_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x6790c61e ksz_port_mdb_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x69131f15 ksz_port_fdb_dump +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x6a292de2 ksz_phy_read16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x6f3336a8 ksz_update_port_member +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_get_stats64 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_get_tag_protocol +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_mac_link_down +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_phy_write16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_phylink_get_caps +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_port_bridge_leave +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_port_mirror_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_port_stp_state_set +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_r_mib_stats64 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_switch_chips +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8365mb 0x40309b4a rtl8365mb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x0aa079b7 rtl8366rb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x2c4da910 rtl8366_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x2fe47ff3 rtl8366_reset_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x5a7b8ba6 rtl8366_mc_is_used +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x5d8ad13f rtl8366_enable_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x5dfa16bd rtl8366_set_pvid +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x7ab08a44 rtl8366_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x7fa9fea9 rtl8366_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x7fffffff rtl8366_enable_vlan4k +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x7fffffff rtl8366_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x7fffffff rtl8366_set_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x7fffffff rtl8366_vlan_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/8390/ax88796 0x7fffffff ax_NS8390_reinit +EXPORT_SYMBOL_GPL drivers/net/ethernet/arc/arc_emac 0x08928cca arc_emac_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/arc/arc_emac 0x634140f3 arc_emac_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x7fffffff enetc_hw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x7fffffff enetc_mdio_lock +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x7fffffff enetc_mdio_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x7fffffff enetc_mdio_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x01ff1d63 fun_serv_sched +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x11519536 fun_cq_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x4444a4ed fun_res_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x496a5468 fun_bind +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x5d8f14da fun_serv_stop +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x66b91da0 fun_free_ring_mem +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x7d594d7f fun_submit_admin_sync_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x7fffffff fun_alloc_ring_mem +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x7fffffff fun_get_res_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x7fffffff fun_serv_restart +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x7fffffff fun_sq_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0x1a6da1a0 i40e_client_device_register +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0x2f00ad87 i40e_client_device_unregister +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x7fffffff ice_add_rdma_qset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x7fffffff ice_del_rdma_qset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x7fffffff ice_get_qos_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x7fffffff ice_rdma_request_reset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x7fffffff ice_rdma_update_vsi_filter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x017d57fd mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x03a920f0 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x06a61d5c mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x073e9c99 mlx4_get_base_gid_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x09e41ad5 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0d4af928 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0fdc8ba9 mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1075bb84 mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x107f235a mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x13547483 mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x146f6a51 mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1508e181 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x16c4ceb3 mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1adac514 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1f71fe96 mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1f9c68b6 mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x24bd0725 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2609661f mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x279e25f7 mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2bb7e4bd mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2e94b388 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x305a03f9 mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3146f276 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x36d2f5d2 mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3be57520 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3d71db7d mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3e899f9c mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x40c5122e mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4215ae18 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x44157648 __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x446d7a4e mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4490f147 __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x44abf291 mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x46364105 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4a4316a1 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4a85c174 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4e01e74a mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4f701e1c mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4f8c665a mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5258e19a mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5266a7c7 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x52ff2b23 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x551de9bc mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x55cfab68 mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x56321db2 mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x57f868de mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5ae44f3f mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5d28906e mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5dca5309 mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x607ad8e1 mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x66396389 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6d577e4c mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6db5dc25 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6dbff090 mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x73b36396 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x73ed3ecd mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x79c967b0 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7e928128 mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x00999f9b mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x010389cf mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0248a607 mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x04ca0d46 mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x069772f7 mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0a833ca7 mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0a91bf1e mlx5_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0d2feb25 mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0dc7c03e mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x20eeeeb3 mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x23ff56af mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x274245e4 mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2e05c9e9 mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x32bc7ef0 mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3310720e mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x34301e9a mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x391ff427 mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3ff9a93f mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4b864909 mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4c41b9c4 mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4e237418 mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4edc133c mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4f295c11 mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x50235c73 mlx5_query_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5091d8a0 mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x547802bb mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x647874d1 mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x65b4266f mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x68661113 mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6f615e68 mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x701f8213 mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7221baf4 mlx5_fill_page_frag_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x722ef171 mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x72e2dfad mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x735b93e1 mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x74b2881e mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x78090f5d mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x79f31569 mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7f69af3e mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_fill_page_frag_array_perm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_module_eeprom_by_page +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x7fffffff ks8851_probe_common +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x7fffffff ks8851_remove_common +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x7fffffff ks8851_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x7fffffff ks8851_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0x2695f52f regmap_encx24j600_spi_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0x4be2f862 regmap_encx24j600_spi_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0x7fffffff devm_regmap_init_encx24j600 +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0b9d94f5 ocelot_port_set_default_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0c12ebd6 __ocelot_read_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x112b12e9 ocelot_port_mirror_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1a03d29d ocelot_port_del_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x25930e88 ocelot_migrate_mdbs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x305354c9 ocelot_port_writel +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x383e338c ocelot_port_mirror_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x39684dcb ocelot_port_assign_dsa_8021q_cpu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3b59aa8b __ocelot_write_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3b949a40 ocelot_cls_flower_replace +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4dae6a4d ocelot_port_unassign_dsa_8021q_cpu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x54770f89 ocelot_port_assigned_dsa_8021q_cpu_mask +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5a62a8c0 ocelot_mact_flush +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5b8665a5 __ocelot_bulk_read_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x65d8ee97 ocelot_phylink_mac_link_down +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x66a256c7 ocelot_regfields_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6825e4c2 ocelot_port_get_default_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6b98d64f ocelot_lag_fdb_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x70619bcd ocelot_port_add_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7af3a6aa ocelot_cls_flower_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7c7bf900 ocelot_get_bridge_fwd_mask +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff __ocelot_rmw_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_bridge_num_find +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_cls_flower_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_lag_fdb_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_phylink_mac_link_up +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_get_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_readl +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_rmwl +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_regmap_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/qualcomm/qca_7k_common 0x0b28a9ad qcafrm_create_footer +EXPORT_SYMBOL_GPL drivers/net/ethernet/qualcomm/qca_7k_common 0x2b6ddf3f qcafrm_fsm_decode +EXPORT_SYMBOL_GPL drivers/net/ethernet/qualcomm/qca_7k_common 0x41da0375 qcafrm_create_header +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x545572d4 stmmac_set_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x68f3d2db stmmac_init_tstamp_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x7fffffff stmmac_bus_clks_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x7fffffff stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x7fffffff stmmac_dvr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x7fffffff stmmac_get_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x7fffffff stmmac_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x7fffffff stmmac_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x5a8493c6 stmmac_pltfr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x781e8913 stmmac_remove_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x7a34670b stmmac_pltfr_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x7fffffff stmmac_get_platform_resources +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x7fffffff stmmac_probe_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x33fc6452 w5100_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x64ca93aa w5100_ops_priv +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x7fffffff w5100_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x7fffffff w5100_remove +EXPORT_SYMBOL_GPL drivers/net/geneve 0x7fffffff geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x2c2701c9 ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x7fffffff ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x7fffffff ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x7fffffff ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x7fffffff ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/macsec 0x7fffffff macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x725133b8 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x78f7faca macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x7fffffff macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x7fffffff macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/mdio/mdio-i2c 0x7fffffff mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/mdio/mdio-mux 0x56881cf8 mdio_mux_init +EXPORT_SYMBOL_GPL drivers/net/mdio/mdio-mux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x3214bb92 net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x6c114ae4 net_failover_create +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x0f79a6d4 xpcs_destroy +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x15907bfb xpcs_get_an_mode +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x280a1272 xpcs_get_interfaces +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x5873d522 xpcs_create +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x7fffffff xpcs_config_eee +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x7fffffff xpcs_do_config +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x7fffffff xpcs_link_up +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0c145c1c bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x11cf6f6a bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x1c50f8cc bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x1fe9c360 bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2ccafaa9 bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x3fbd2ef3 bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x4a1f7da0 bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5d68c591 bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x67b14b61 bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x70ea0dbb bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7da3a54c bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_handle_interrupt +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x12135396 phylink_mac_change +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x15c4e3e2 phylink_ethtool_set_pauseparam +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x16ca1a8a phylink_suspend +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x182541a9 phylink_ethtool_ksettings_get +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2ae0cd6b phylink_mii_c45_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x4386cacd phylink_get_linkmodes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x44a0be9c phylink_fwnode_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x4782bbda phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x534d620d phylink_mii_c22_pcs_an_restart +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x57727285 phylink_ethtool_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x59e0695d phylink_speed_down +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5d0c4dcc phylink_speed_up +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x62104126 phylink_ethtool_set_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x6fa426d2 phylink_ethtool_nway_reset +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x76880af7 phylink_connect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_create +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_decode_usxgmii_word +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_destroy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_disconnect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_ethtool_get_pauseparam +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_ethtool_ksettings_set +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_generic_validate +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_get_eee_err +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_init_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_mii_c22_pcs_config +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_mii_c22_pcs_decode_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_mii_c22_pcs_encode_advertisement +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_mii_c22_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_mii_ioctl +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_resume +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_set_port_modes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_start +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_stop +EXPORT_SYMBOL_GPL drivers/net/tap 0x17bab829 tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/tap 0x2cd43725 tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/tap 0x51ed5011 tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x7fffffff tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x7fffffff tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/tap 0x7fffffff tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x7fffffff tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x7fffffff tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0x7fffffff tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x48214fbb usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x678f0460 usbnet_cdc_zte_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x6f2de8a8 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x6fb85fb6 usbnet_cdc_update_filter +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x714785ea usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x7fffffff usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x7fffffff usbnet_ether_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x0ab8112a cdc_ncm_bind_common +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x0be116e7 cdc_ncm_rx_verify_nth32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x185daa00 cdc_ncm_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x25010fb6 cdc_ncm_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x5f5a05e5 cdc_ncm_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x6443b3b4 cdc_ncm_select_altsetting +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x773c284e cdc_ncm_rx_verify_nth16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7fffffff cdc_ncm_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7fffffff cdc_ncm_fill_tx_frame +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7fffffff cdc_ncm_rx_verify_ndp16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7fffffff cdc_ncm_rx_verify_ndp32 +EXPORT_SYMBOL_GPL drivers/net/usb/r8152 0x5e29817b rtl8152_get_version +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x1fbae5e4 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x20b89652 generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x7fffffff rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x7fffffff rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x7fffffff rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x7fffffff rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x100dc456 usbnet_read_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x106ae850 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x15daa24b usbnet_write_cmd_async +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2586b9e7 usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2f43d676 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3156047a usbnet_write_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3a674706 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x3cd61113 usbnet_get_link_ksettings_mii +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x478d6176 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x494e6b48 usbnet_write_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5277d48f usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5403378a usbnet_set_rx_mode +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x54dd4c7a usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x55c15685 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5759bf1e usbnet_read_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x57975253 usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x61a4c7dd usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x623cca59 usbnet_status_start +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x62ae5e41 usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7d5dcc0a usbnet_update_max_qlen +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_get_link_ksettings_internal +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_set_link_ksettings_mii +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_status_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x13da5d0f vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x6cf405f7 vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x7fffffff vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x7fffffff vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0x5e93951e libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x63718b26 il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1fa1ad32 iwl_fw_lookup_notif_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x243d9b03 iwl_fw_lookup_cmd_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5987fe45 iwl_fw_lookup_assert_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x3b7188b1 p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x728ceed9 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x7aa058eb p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x7fffffff p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x7fffffff p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x7fffffff p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x7fffffff p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x7fffffff p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x7fffffff p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x09094c46 lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x1021fa88 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x2e428639 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x341f5762 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x346f7353 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x4ab54f6e lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x760c24ec __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x786ce920 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7fb5624e lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7fffffff lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7fffffff lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7fffffff lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7fffffff lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7fffffff lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7fffffff lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7fffffff lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7fffffff lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x315f0b9e lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x3e96d564 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x7fffffff __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x7fffffff lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x7fffffff lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x7fffffff lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x7fffffff lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x7fffffff lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x7fffffff lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x28cbf732 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x2b587ed5 mwifiex_dnld_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x311fc699 mwifiex_multi_chan_resync +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x47e9e4d5 mwifiex_fw_dump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x50c0da35 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x51c8b816 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5e698635 mwifiex_shutdown_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6c5f1644 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7c5fadf9 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff _mwifiex_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_alloc_dma_align_buf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_deauthenticate_all +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_drv_info_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_main_process +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_prepare_fw_dump_info +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_queue_main_work +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_reinit_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_upload_device_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x03345a90 mt76_get_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0601239d mt76_get_of_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0eae87ea mt76_get_sar_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0f96eedb mt76_alloc_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1420e889 mt76_dma_rx_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1446ff9e mt76_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x14d395b0 mt76_tx_status_unlock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x17f568e9 mt76_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x191c45a4 __mt76_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1ec57b4f __mt76_worker_fn +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x220b6fee mt76_pci_disable_aspm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x22fb6cb5 mt76_rx_aggr_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x240a6e01 mt76_csa_finish +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x27f1ce8c mt76_sta_pre_rcu_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x28bb5f04 mt76_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x290865bd mt76_get_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x35e5cf84 mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x375992cc mt76_get_min_avg_rssi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x38bbb280 __mt76_poll_msec +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3bed2b58 __mt76_mcu_msg_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3df4ae92 mt76_register_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x406ebf2d mt76_sta_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x41387653 __tracepoint_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4594dccd mt76_ethtool_worker +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x476b6014 mt76_queue_tx_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4bb5ed1b mt76_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4d5bb0c8 __tracepoint_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4d66d973 mt76_mcu_send_and_get_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x50a19009 mt76_register_debugfs_fops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x52f1fadc mt76_dma_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x56c622fb mt76_seq_puts_array +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5aae7e09 mt76_tx_status_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5cac4e13 mt76_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5ef4d5f6 mt76_skb_adjust_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x607d047a mt76_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x636d3794 __mt76_set_tx_blocked +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6393c586 __mt76_mcu_send_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x642587ba mt76_tx_status_skb_get +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6463b30e mt76_update_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x676a2a22 mt76_unregister_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x68c875a6 mt76_init_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x69932f70 mt76_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x6e08f0c3 mt76_calculate_default_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x73a15758 __traceiter_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x75c9f3b3 mt76_phy_dfs_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x75e33059 mt76_put_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff __SCK__tp_func_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff __SCK__tp_func_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff __mt76_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff __mt76_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff __traceiter_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_ac_to_hwq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_alloc_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_csa_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_eeprom_override +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_free_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_get_rate_power_limits +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_has_tx_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_init_sar_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_insert_ccmp_hdr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_mcu_get_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_mcu_rx_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_mcu_skb_send_and_get_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_release_buffered_frames +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_rx_aggr_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_set_irq_mask +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_set_stream_caps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_stop_tx_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_sw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_token_consume +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_token_release +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_tx_check_agg_ssn +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_tx_status_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_tx_status_skb_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_tx_status_skb_done +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_tx_worker_run +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_txq_schedule +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_txq_schedule_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_unregister_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_update_survey_active_time +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_wake_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_wcid_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x014b1e4f mt76_connac_mcu_set_rts_thresh +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x04ecefb4 mt76_connac_mcu_reg_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x05ab7f60 mt76_connac_mcu_wtbl_ht_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x075e26b3 mt76_connac_mcu_set_p2p_oppps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x0f19fc27 mt76_connac_mcu_set_mac_enable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x0fc41df5 mt76_connac_mcu_start_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x194d7824 mt76_connac_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x1f7eae1b mt76_connac_mcu_set_rate_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2739d682 mt76_connac_mcu_set_pm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2cccccb5 mt76_connac_mcu_get_nic_capability +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x377afe22 mt76_connac_mcu_add_nested_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x39ab3413 mt76_connac_mcu_sched_scan_enable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x3c18ceb4 mt76_connac_mcu_set_channel_domain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x4484aa01 mt76_connac_mcu_update_arp_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x4fe5ef74 mt76_connac_pm_wake +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x511af902 mt76_connac_mcu_cancel_hw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x53bad316 mt76_connac_mcu_wtbl_generic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x55f00c40 mt76_connac_mcu_wtbl_smps_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x58b9832f mt76_connac_pm_queue_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5f84b654 mt76_connac_mcu_reg_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x69439007 mt76_connac_mcu_sta_uapsd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6ddd8502 mt76_connac_mcu_bss_omac_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x70449262 mt76_connac_mcu_sta_update_hdr_trans +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x725cd988 mt76_connac_mcu_coredump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x79af516d mt76_connac_mcu_init_download +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff __mt76_connac_mcu_alloc_sta_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac2_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_free_pending_tx_skbs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_get_he_phy_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_get_phy_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_add_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_alloc_wtbl_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_beacon_loss_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_bss_basic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_bss_ext_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_chip_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_hw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_patch_sem_ctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_rdd_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_sched_scan_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_set_deep_sleep +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_set_hif_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_set_suspend_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_set_vif_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_sta_ba +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_sta_ba_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_sta_basic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_sta_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_sta_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_start_patch +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_uni_add_bss +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_uni_add_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_update_gtk_rekey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_wtbl_ba_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_wtbl_hdr_trans_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_wtbl_update_hdr_trans +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_pm_dequeue_skbs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_power_save_sched +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_sta_state_dp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_wowlan_support +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x0e9fef76 mt76s_alloc_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x118a961a mt76s_txqs_empty +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x22bd299f mt76s_rmw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x2c390dc3 mt76s_alloc_rx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x530a0e20 mt76s_read_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x5b651c12 mt76s_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x5bb72f20 mt76s_write_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x60653f16 mt76s_rd_rp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x66ead4a5 mt76s_sdio_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x7fffffff mt76s_hw_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x7fffffff mt76s_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x7fffffff mt76s_read_pcr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x7fffffff mt76s_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x7fffffff mt76s_txrx_worker +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x7fffffff mt76s_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x7fffffff mt76s_wr_rp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x03e54898 __mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x364bfa2b ___mt76u_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x37b71b78 mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x58360774 mt76u_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x5d157c15 mt76u_stop_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x793d5aa2 __mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x7fffffff ___mt76u_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x7fffffff mt76u_alloc_mcu_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x7fffffff mt76u_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x7fffffff mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x7fffffff mt76u_queues_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x7fffffff mt76u_read_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x7fffffff mt76u_single_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x7fffffff mt76u_stop_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x04be30e3 mt7615_init_work +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x204ba5ad mt7615_wait_for_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x277a99a7 mt7615_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x2f0c4582 mt7615_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x2f91ce1e mt7615_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3bfe1abc mt7615_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4cf4aecd mt7615_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4ef6acdb mt7622_trigger_hif_int +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x69d6bd3c mt7615_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7a7b7df8 mt7615_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7c342435 mt7615_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7d228177 mt7615_register_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff __mt7663_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_mac_set_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_mcu_fill_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_rx_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_thermal_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_tx_token_put +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_txp_skb_unmap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_unregister_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615e 0x7fffffff mt7615_dma_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x1506ffca mt7663_usb_sdio_reg_map +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x3156384f mt7663_usb_sdio_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x370b75ad mt7663_usb_sdio_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x3cde77c6 mt7663_usb_sdio_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x3e4eb22e mt7663_usb_sdio_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x15b49fc0 mt76x0_phy_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x2124cf1c mt76x0_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x6f175cb0 mt76x0_chip_onoff +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x78fcc7b4 mt76x0_init_hardware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x7e69dd72 mt76x0_set_sar_specs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x7fffffff mt76x0_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x7fffffff mt76x0_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0462ce68 mt76x02_add_rate_power_offset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x05a5c4cf mt76x02_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x09ab1e37 mt76x02_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0a1e15b8 mt76x02_dma_disable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0d4023ec mt76x02_get_max_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0e39e0c1 mt76x02_ext_pa_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1263c1df mt76x02_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x185aa497 mt76x02_init_agc_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1c3356c8 mt76x02_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1d8813e7 mt76x02_mcu_function_select +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1e64b418 mt76x02_mac_set_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x224a41a4 mt76x02_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2ddb4dc6 mt76x02_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2ee3c3cb mt76x02_mac_reset_counters +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x321e2503 mt76x02_get_lna_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x34790b6b mt76x02_sta_rate_tbl_update +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x35d2834d mt76x02_limit_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3909075a mt76x02_mac_cc_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3f087d55 mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x40f832c9 mt76x02_mac_wcid_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x421dc441 mt76x02_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4b3f8524 mt76x02_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4c4570aa mt76x02_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4d119367 mt76x02_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4e0b1e86 mt76x02_enqueue_buffered_bc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x55fd4d94 mt76x02_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x58b31a9e mt76x02_remove_hdr_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x59da6f68 mt76x02_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5bd84fd5 mt76x02_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x61068231 mt76x02_set_ethtool_fwver +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x67c0df35 mt76x02_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x686f7983 mt76x02_dma_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6bcef367 mt76x02_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6f83b02d mt76x02_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7651c5bc mt76x02_phy_set_bw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x765a4e01 mt76x02_phy_set_txdac +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x78a71630 mt76x02_phy_dfs_adjust_agc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7f04c4d5 mt76x02_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_dfs_init_params +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_edcca_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_eeprom_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_eeprom_parse_hw_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_get_efuse_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_get_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_mac_setaddr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_mac_shared_key_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_mcu_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_mcu_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_mcu_set_radio_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_phy_adjust_vga_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_phy_set_band +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_resync_beacon_timer +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_set_coverage_class +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_set_tx_ackto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_tx_set_txpwr_auto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_update_beacon_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02e_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x0b48f045 mt76x02u_mcu_fw_send_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x42b05cc0 mt76x02u_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x50c2eefc mt76x02u_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x7fffffff mt76x02u_exit_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x7fffffff mt76x02u_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x7fffffff mt76x02u_init_mcu +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x7fffffff mt76x02u_mcu_fw_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x7fffffff mt76x02u_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x0f7743a8 mt76x2_phy_update_channel_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x10bae8ce mt76x2_mcu_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x1925c080 mt76x2_mcu_tssi_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x22c9ada8 mt76x2_set_sar_specs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x28e34ba9 mt76x2_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x454baeba mt76x2_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x475fa044 mt76x2_read_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x48ac33eb mt76x2_configure_tx_delay +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x503576a6 mt76x2_apply_gain_adj +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x54a21ccd mt76x2_get_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x6a3cdcf0 mt76x2_reset_wlan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x6fa92746 mt76x2_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7911a1fa mt76x2_get_temp_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76_write_mac_initvals +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76x2_get_power_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76x2_mcu_init_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76x2_mcu_load_cr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76x2_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76x2_phy_set_txpower_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76x2_phy_tssi_compensate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x082fd6ff __mt7921_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x0d4059e5 mt7921_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x2905bafd mt7921_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x2d0ac78a mt7921_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x408636eb mt7921_usb_sdio_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x5a1f5678 mt7921_tx_check_aggr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x5e55705e mt7921_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x63bcf34f mt7921_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x6dc67292 mt7921_mcu_set_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x74c19630 mt7921_mac_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_mac_add_txs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_mac_sta_assoc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_mcu_drv_pmctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_mcu_fill_message +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_mcu_fw_pmctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_usb_sdio_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_usb_sdio_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x40dafdeb chip_wakeup +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x731650ac wilc_netdev_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x7fffffff chip_allow_sleep +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x7fffffff host_sleep_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x7fffffff host_wakeup_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x7fffffff wilc_cfg80211_init +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x7fffffff wilc_handle_isr +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x20bf3f21 qtnf_core_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x31fab83c qtnf_chipid_to_string +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x496c612e qtnf_core_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x62508ece qtnf_classify_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x7fd8f7e8 qtnf_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x7fffffff qtnf_trans_handle_rx_ctl_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x7fffffff qtnf_wake_all_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x00657c5a rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x00d5e484 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0fbc36a0 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x12607d12 rt2800_txstatus_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1a183afb rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2c2e61c5 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x382ec651 rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3a8f55a9 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3fc52123 rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x433626e5 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x45880ecf rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4fbfa68b rt2800_get_key_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x563c5df2 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x5f6d7be7 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x64ce7c9d rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6abd37f0 rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x716c4285 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7189e400 rt2800_txstatus_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x728a7047 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7b8c3353 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_get_txwi_rxwi_size +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_pre_reset_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_txdone_nostatus +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x027bf3cd rt2800mmio_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x07f271cb rt2800mmio_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x12a9a7f3 rt2800mmio_toggle_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x1733f0ef rt2800mmio_init_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2a5eae46 rt2800mmio_init_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2d2e0d7c rt2800mmio_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x32ac3645 rt2800mmio_rxdone_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x33657c28 rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x3d741c87 rt2800mmio_pretbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5028bbb2 rt2800mmio_tbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x51946311 rt2800mmio_queue_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x53075287 rt2800mmio_fill_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fa4db64 rt2800mmio_interrupt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x6923a545 rt2800mmio_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x72add56b rt2800mmio_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7ba3ea68 rt2800mmio_get_dma_done +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7fffffff rt2800mmio_autowake_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7fffffff rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7fffffff rt2800mmio_get_entry_state +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7fffffff rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7fffffff rt2800mmio_txstatus_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7fffffff rt2800mmio_write_tx_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0348b1e0 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0baaf224 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0d38b40a rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x153056fb rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1859a3d7 rt2x00lib_txdone_nomatch +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1c16c4d4 rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1e5fd3cc rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x266393a2 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x270595a4 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x296749f6 rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2dd7702c rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2feb71ae rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3485c101 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3f1494a6 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x43c7d330 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4937b5f3 rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x59b4b56c rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5af99608 rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5b448f1b rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5f81551e rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x607e87ef rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x63f00adf rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6a913377 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6be5ab8d rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x70dfc0a4 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x710d4abd rt2x00lib_set_mac_address +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x19b7b129 rt2x00mmio_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x1ba18b7d rt2x00mmio_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x342b3b00 rt2x00mmio_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x7fffffff rt2x00mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x7fffffff rt2x00mmio_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x7fffffff rt2x00pci_pm_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x7fffffff rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x7fffffff rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x09a6256e rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x0ca61d6b rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x20fff338 rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x228c15e1 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x381eb4c5 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x4a76dd55 rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x4f87e96b rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x5f9f2ef4 rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7fffffff rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7fffffff rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7fffffff rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7fffffff rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7fffffff rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7fffffff rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7fffffff rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7fffffff rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x416f1066 dm_writepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff dm_restorepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff dm_savepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_set_p2p_ps_offload_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x05e685af rtl8723_dm_init_edca_turbo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x0e0fee1a rtl8723_phy_init_bb_rf_reg_def +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x25520daf rtl8723_phy_reload_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x25b01ae0 rtl8723_phy_path_a_standby +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x292a772c rtl8723be_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x2a96a251 rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x3f5bf9c0 rtl8723_phy_calculate_bit_shift +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x40b4cc0e rtl8723ae_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x4737dc75 rtl8723_phy_mac_setting_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x57ea3032 rtl8723_write_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x5b4406cc rtl8723_phy_reload_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6188abc3 rtl8723_phy_pi_mode_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7db40820 rtl8723_enable_fw_download +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_cmd_send_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_dm_init_dynamic_bb_powersaving +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_dm_init_dynamic_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_fw_free_to_go +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_phy_path_a_fill_iqk_matrix +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_phy_path_adda_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_phy_query_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_phy_rf_serial_read +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_phy_rf_serial_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_phy_save_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_phy_set_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_phy_set_sw_chnl_cmdarray +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_save_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0f61677b rtl_set_tx_report +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x14531180 rtl_get_hal_edca_param +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x22037c71 rtl_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x285ca491 rtl_action_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2921a4d4 rtl_btc_status_false +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x29b96918 rtl_update_beacon_work_callback +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2e5382f9 rtl_fill_dummy +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x37b993b4 rtl_global_var +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4666e3d0 rtl_lps_enter +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x46c747c4 rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4821cbe1 rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4ac44096 rtl_efuse_ops_init +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x4faa8a6d rtl_deinit_deferred_work +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5f39875d rtl_tx_mgmt_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x78f2c75e rtl_init_rx_config +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7aad401f rtl_tx_report_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff read_efuse_byte +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_deinit_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_deinit_rfkill +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_fw_block_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_fw_page_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_get_hwinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_init_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_ips_nic_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_lps_change_work_callback +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_p2p_info +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_recognize_peer +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_swlps_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_tid_to_ac +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_tx_ackqueue +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0f5c3ce9 rsi_zone_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x2eac0c1d rsi_hal_device_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x3c004d00 rsi_91x_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x7fffffff rsi_91x_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x7fffffff rsi_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x7fffffff rsi_mac80211_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x7fffffff rsi_read_pkt +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x3c4b6e50 cw1200_core_release +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x66c7e425 cw1200_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x7fffffff cw1200_can_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x7fffffff cw1200_core_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x400cacc0 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x7fffffff wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x7fffffff wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0405e267 wlcore_scan_sched_scan_ssid_list +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x06d3b27e wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x08b9bee9 wlcore_event_rssi_trigger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0b37191d wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x0da7aadd wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20351125 wlcore_get_native_channel_type +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2447f29b wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x249ac2ec wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2b4792b7 wlcore_event_inactive_sta +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3943a33c wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3a1fecd6 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3a3a7902 wlcore_set_scan_chan_params +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3d356599 wl1271_tx_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x43fd18b3 wlcore_cmd_wait_for_event_or_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4ed55dd9 wl12xx_acx_mem_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5643b7ee wl1271_acx_init_mem_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x597bc399 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5e9697bc wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5eca4e24 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x60a929a5 wlcore_scan_sched_scan_results +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x638f97c8 wlcore_cmd_generic_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x67074185 wl12xx_cmd_build_probe_req +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wl1271_acx_pm_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wl1271_acx_set_ht_capabilities +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wl1271_acx_sleep_auth +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wl1271_cmd_data_path +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wl1271_debugfs_update_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wl1271_format_buffer +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wl1271_tx_min_rate_get +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_disable_interrupts_nosync +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_event_ba_rx_constraint +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_event_channel_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_event_dummy_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_event_max_tx_failure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_event_roc_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_event_sched_scan_completed +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_event_soft_gemini_sense +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x3333c4e3 nfcmrvl_nci_recv_frame +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x50916d3a nfcmrvl_nci_register_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x7fffffff nfcmrvl_nci_unregister_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x7fffffff nfcmrvl_parse_dt +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x0391c627 pn53x_register_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x39ce0c6f pn53x_unregister_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x3c33b75d pn533_rx_frame_is_cmd_response +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x6a838e88 pn533_finalize_setup +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x7d4cd659 pn532_i2c_nfc_alloc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x7fffffff pn533_rx_frame_is_ack +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x7fffffff pn53x_common_clean +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x7fffffff pn53x_common_init +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x1070fb2c st_nci_remove +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x53bbe206 st_nci_hci_load_session +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x68a3f57f st_nci_discover_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x7fffffff st_nci_disable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x7fffffff st_nci_enable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x7fffffff st_nci_hci_cmd_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x7fffffff st_nci_hci_event_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x7fffffff st_nci_probe +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x3c999200 st95hf_spi_recv_response +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x454ec88a st95hf_spi_send +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x7fffffff st95hf_spi_recv_echo_res +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x06f94cee ntb_transport_create_queue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x0862001f ntb_transport_tx_free_entry +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x30934216 ntb_transport_max_size +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x32537aca ntb_transport_link_query +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x3d54dbfc ntb_transport_tx_enqueue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x436098aa ntb_transport_link_down +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x548fd6a7 ntb_transport_register_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x679d4352 ntb_transport_unregister_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x7fffffff ntb_transport_free_queue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x7fffffff ntb_transport_link_up +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x7fffffff ntb_transport_qp_num +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x7fffffff ntb_transport_register_client_dev +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x7fffffff ntb_transport_rx_enqueue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x7fffffff ntb_transport_rx_remove +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x7fffffff ntb_transport_unregister_client_dev +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x03f312c1 nvme_start_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x04d88dea nvme_cancel_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x0906cf1f nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x11abc494 __SCK__tp_func_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x12e189bb nvme_stop_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x202a4e1f nvme_wait_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x29e3459b nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2a924460 nvme_delete_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2b940085 nvme_init_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3d7dbed8 nvme_sync_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x403315b2 nvme_cancel_admin_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x409e2d13 __traceiter_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x47908c91 nvme_complete_rq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4d9b9cfd nvme_kill_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4ffb16f5 nvme_setup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x52a8fdb4 nvme_start_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x53a1ca15 nvme_complete_batch_req +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x549e28e7 nvme_host_path_error +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x591dbe9d nvme_set_queue_count +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5a92b060 nvme_stop_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5ff626f4 nvme_wait_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6d66f916 nvme_get_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x74a83a96 nvme_change_ctrl_state +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x76652f1a nvme_disable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x79ba60f7 nvme_stop_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff __nvme_check_ready +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff __nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff admin_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_cancel_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_cleanup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_complete_async_event +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_delete_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_enable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_fail_nonready_command +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_init_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_init_ctrl_finish +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_io_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_remove_namespaces +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_reset_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_sec_submit +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_set_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_start_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_start_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_stop_keep_alive +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_sync_io_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_try_sched_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_unfreeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_uninit_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x04d69f7f nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x0e1f31fe nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x0e336bd7 nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x0f3da65e nvmf_connect_io_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x597c19ac nvmf_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x60425f6e nvmf_reg_read64 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x7a16bced nvmf_ip_options_match +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x7b42443c nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x7fffffff nvmf_connect_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x7fffffff nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x7fffffff nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x0d12e564 nvme_fc_register_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x27581377 nvme_fc_register_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x3884f8b8 nvme_fc_unregister_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x3e33ac54 nvme_fc_rescan_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x6fc23522 nvme_fc_io_getuuid +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x7fffffff nvme_fc_rcv_ls_req +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x7fffffff nvme_fc_set_remoteport_devloss +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x7fffffff nvme_fc_unregister_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x23af17e7 nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x272c78b5 nvmet_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3d1a9621 nvmet_sq_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3e0ef07a nvmet_wq +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7235540a nvmet_req_complete +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7fffffff nvmet_check_transfer_len +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7fffffff nvmet_ctrl_fatal_error +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7fffffff nvmet_req_alloc_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7fffffff nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7fffffff nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7fffffff nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7fffffff nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x0e3c043d nvmet_fc_rcv_ls_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x4a013682 nvmet_fc_invalidate_host +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x55422b47 nvmet_fc_register_targetport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x7fffffff nvmet_fc_rcv_fcp_abort +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x7fffffff nvmet_fc_rcv_fcp_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x7fffffff nvmet_fc_unregister_targetport +EXPORT_SYMBOL_GPL drivers/pci/switch/switchtec 0x7fffffff switchtec_class +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x32502903 tegra_xusb_padctl_get_usb3_companion +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x36a72098 tegra_xusb_padctl_put +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x47c5b9f7 tegra_xusb_padctl_disable_phy_wake +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x4e10ed64 tegra_xusb_padctl_enable_phy_wake +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x66bda8d9 tegra_xusb_padctl_usb3_save_context +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x67d96711 tegra_phy_xusb_utmi_port_reset +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x7fffffff tegra124_xusb_padctl_soc +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x7fffffff tegra_xusb_padctl_disable_phy_sleepwalk +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x7fffffff tegra_xusb_padctl_enable_phy_sleepwalk +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x7fffffff tegra_xusb_padctl_get +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x7fffffff tegra_xusb_padctl_hsic_set_idle +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x7fffffff tegra_xusb_padctl_remote_wake_detected +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x7fffffff tegra_xusb_padctl_set_vbus_override +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x7fffffff tegra_xusb_padctl_usb3_set_lfps_detect +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-control 0x7fffffff omap_control_pcie_pcs +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-control 0x7fffffff omap_control_phy_power +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-control 0x7fffffff omap_control_usb_set_mode +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-usb2 0x00d48f33 omap_usb2_set_comparator +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x1a3b87a4 mcp23s08_probe_one +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x7fffffff mcp23x08_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x7fffffff mcp23x17_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/qcom/pinctrl-lpass-lpi 0x3ced4cb6 lpi_pinctrl_probe +EXPORT_SYMBOL_GPL drivers/pinctrl/qcom/pinctrl-lpass-lpi 0x7fffffff lpi_pinctrl_remove +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x6ba1d25c cros_ec_sensorhub_unregister_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x7fffffff cros_ec_sensorhub_register_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros_usbpd_notify 0x6b1be500 cros_usbpd_unregister_notify +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros_usbpd_notify 0x7fffffff cros_usbpd_register_notify +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x091e4851 reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x1bb2034d reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x46eefd97 devm_reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x7fffffff devm_reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x0fda5f32 bq27xxx_battery_update +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x19d88ac5 bq27xxx_battery_setup +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x7fffffff bq27xxx_battery_teardown +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x42c27d62 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x5fe68cf9 pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x7fffffff pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x0d64d903 ptp_qoriq_adjtime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x2eae82b0 ptp_qoriq_isr +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x4f651398 ptp_qoriq_settime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x7a6a6bb8 ptp_qoriq_gettime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x7fffffff extts_clean_up +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x7fffffff ptp_qoriq_adjfine +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x7fffffff ptp_qoriq_enable +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x7fffffff ptp_qoriq_free +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x7fffffff ptp_qoriq_init +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x418ce19e mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x61f1e672 mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x7fffffff mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x7fffffff mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x7fffffff mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/rohm-regulator 0x63b31bbf rohm_regulator_set_voltage_sel_restricted +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x413b8c3c wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x5d0baaba wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x5ddd9d63 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x6b83f5e3 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x7fffffff wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x7fffffff wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x7fffffff wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x2eb8285d scp_mapping_dm_addr +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x3f978736 scp_put +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x53c28209 scp_get_device +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x72d76d5d scp_get_venc_hw_capa +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x7fffffff scp_get +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x7fffffff scp_get_rproc +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x7fffffff scp_get_vdec_hw_capa +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x0210287a scp_ipi_lock +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x09313652 scp_memcpy_aligned +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x47b4c38f scp_ipi_unregister +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x6fd7455d scp_ipi_unlock +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x7fffffff scp_ipi_register +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x7fffffff scp_ipi_send +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x0fa538df qcom_register_ssr_notifier +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x2d76dff0 qcom_add_glink_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x509d8e48 qcom_remove_smd_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x7fb17bd3 qcom_remove_ssr_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x7fffffff qcom_add_smd_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x7fffffff qcom_add_ssr_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x7fffffff qcom_minidump +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x7fffffff qcom_register_dump_segments +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x7fffffff qcom_remove_glink_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x7fffffff qcom_unregister_ssr_notifier +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_pil_info 0x7fffffff qcom_pil_info_store +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x05eda930 qcom_q6v5_unprepare +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x7fffffff qcom_q6v5_deinit +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x7fffffff qcom_q6v5_init +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x7fffffff qcom_q6v5_panic +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x7fffffff qcom_q6v5_prepare +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x7fffffff qcom_q6v5_request_stop +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x7fffffff qcom_q6v5_wait_for_start +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0x1482d168 qcom_sysmon_shutdown_acked +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0x2f6e02d1 qcom_add_sysmon_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0x7fffffff qcom_remove_sysmon_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/mtk_rpmsg 0x7fffffff mtk_rpmsg_create_rproc_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/mtk_rpmsg 0x7fffffff mtk_rpmsg_destroy_rproc_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x149236da qcom_glink_native_remove +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x7fffffff qcom_glink_native_probe +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x7fffffff qcom_glink_native_unregister +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x7fffffff qcom_glink_ssr_notify +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink_smem 0x72dd75d9 qcom_glink_smem_unregister +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink_smem 0x7fffffff qcom_glink_smem_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x03aaab82 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0f5d2730 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x103d6397 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1320edc7 cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x18e560a6 cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3513020b cxgbi_device_find_by_netdev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x35966b8b cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x374da97a cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3797b50d cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x39d05379 cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x411b6464 cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4162e991 cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x443fa959 cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4741a0ed cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4a04ad80 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4aea0049 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4fab74be cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5d4847f1 cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x663920be cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x66e20bb4 cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x71c421de cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7dbaa2f9 cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_ddp_ppm_setup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_ddp_set_one_ppod +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_device_find_by_netdev_rcu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x295afbc5 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2aa3c6c3 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x3252e0dd fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x643dfed4 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x6a651ffa fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x769a8671 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7bc5ea58 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fb219eb fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x52e90580 fdomain_create +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x7fffffff fdomain_destroy +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x10521a45 iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x56252b43 iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x62726352 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x7fffffff iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x7fffffff iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x7fffffff iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x7fffffff iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0x701b198b fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x130a12fa iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x16c354ea __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2163cc18 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2649e2b3 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x28b9fdd9 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2cd879c8 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x36ceb2f7 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3902f617 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x49820b9c iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x56a4afed iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5f092aa5 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x6093ddf7 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x710594d5 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x730bbf58 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7a8940f2 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7ab4eb3a iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7b83b410 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_conn_queue_recv +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_conn_queue_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_conn_unbind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_host_get_max_scsi_cmds +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_session_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_session_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_suspend_rx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1ae15705 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x28556756 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2d73e1cd iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3d567f0f iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x49c8a707 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4ba6655b iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7171bc67 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fffffff iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fffffff iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fffffff iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fffffff iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fffffff iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fffffff iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fffffff iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fffffff iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fffffff iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fffffff iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0d0826b1 dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x14f5cdc4 sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x15c711d3 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1b30553d sas_clear_task_set +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x24674985 sas_execute_internal_abort_dev +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2506e558 sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x286d675c sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2a42da3c sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x31b48373 sas_lu_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x384a0a6e sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3da49816 sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3dacfde5 sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x43876689 sas_abort_task_set +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x44d07478 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x44e9482a sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4abfbaae sas_ata_wait_after_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4e027bb2 sas_execute_internal_abort_single +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x78d60228 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fda8f5a sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_abort_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_execute_ata_cmd +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_notify_phy_event +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_notify_port_event +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_query_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_fc 0x289a83ed fc_eh_should_retry_cmd +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x028b6f61 __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x058dd416 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x07560c2c iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x097043f7 iscsi_remove_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x11277298 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1312be41 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1699cf47 __traceiter_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x18914d03 iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x18d03853 iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x21dbcb34 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x27bebdc4 iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x280ee39d iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x28dcd161 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2a7dec93 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2a8527a3 __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x30d5c056 iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x338f0d3f __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x33efc3d2 iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x360c242a __traceiter_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x36f7fb70 iscsi_alloc_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3a7e99d1 iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3f1f6830 iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x47bc36ba iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x48c2b3e4 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x538de7c1 iscsi_put_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x584a31ab __SCK__tp_func_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5cc81f95 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x656570ca iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x67233681 iscsi_force_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6e58d843 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6fedaf89 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x717cba41 iscsi_add_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x71b768b0 __SCK__tp_func_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7ced5abd __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff __SCK__tp_func_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff __SCK__tp_func_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff __SCK__tp_func_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff __traceiter_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff __traceiter_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff __traceiter_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_get_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_get_router_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_put_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x3c00dcbc sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x735e9916 sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x7fffffff sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x7fffffff sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x43540fec spi_populate_tag_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x7fffffff spi_populate_sync_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x7fffffff spi_populate_width_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1902178a srp_tmo_valid +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x48563e4b srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x62ccef9c srp_stop_rport_timers +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x7243f5a2 srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x7fffffff srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x7fffffff srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x7fffffff srp_rport_add +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x33791e8a siox_device_connected +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x3c0cd98e siox_master_unregister +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x4f5cc201 siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x7768f61f __siox_driver_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x7fffffff siox_master_alloc +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x7fffffff siox_master_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x01df2730 slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x070c9fec of_slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x08a18a8f slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x0ed7681b slim_get_logical_addr +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x0f67f291 slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x1150aec2 slim_msg_response +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x16175300 slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x1d442d62 slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x3952beec slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x3c5dcff4 slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x42448132 slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x4621c9c4 __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x4ea40120 slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x62865ca2 slimbus_bus +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x70028ae8 slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_device_report_present +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_do_transfer +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_register_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_stream_disable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_writeb +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0x494128eb meson_canvas_alloc +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0x673c5a86 meson_canvas_config +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0x7fffffff meson_canvas_free +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0x7fffffff meson_canvas_get +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x104d5bf5 gpr_alloc_port +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x27bd2a13 __apr_driver_register +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x4e20fb74 gpr_free_port +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x7fffffff apr_driver_unregister +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x7fffffff apr_send_pkt +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x7fffffff aprbus +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x7fffffff gpr_send_pkt +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x7fffffff gpr_send_port_pkt +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x06285798 llcc_slice_deactivate +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x09afc16e llcc_slice_activate +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x14f99b76 llcc_get_slice_id +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x2027e82d llcc_slice_getd +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x62ff6e92 llcc_slice_putd +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x7fffffff llcc_get_slice_size +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x39aeaa9a qcom_mdt_read_metadata +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x45e1cd7c qcom_mdt_get_size +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x7fffffff qcom_mdt_load +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x7fffffff qcom_mdt_load_no_init +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x7fffffff qcom_mdt_pas_init +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x531b2f76 sdw_bus_type +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x7fffffff __sdw_register_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x7fffffff sdw_unregister_driver +EXPORT_SYMBOL_GPL drivers/spi/spi-altera-core 0x3b5941d1 altera_spi_init_master +EXPORT_SYMBOL_GPL drivers/spi/spi-altera-core 0x7fffffff altera_spi_irq +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x0cfb7e3e spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x5f307079 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x767231ca spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x7877077b spi_bitbang_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x7fffffff spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x7fffffff spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x31fc7992 spi_test_run_test +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x7fffffff spi_test_execute_msg +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x7fffffff spi_test_run_tests +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x02b1e157 spmi_controller_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x189cc8c1 spmi_command_wakeup +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x1df65a83 spmi_command_reset +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x323e32ba spmi_controller_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x361c8c4c spmi_command_sleep +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x381a59f5 spmi_device_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x40128c45 spmi_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x480db039 spmi_command_shutdown +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x490e8e0a spmi_ext_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x508093c4 spmi_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x66016fae spmi_device_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7a87da20 spmi_ext_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7fffffff __spmi_driver_register +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7fffffff spmi_controller_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7fffffff spmi_device_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7fffffff spmi_ext_register_readl +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7fffffff spmi_ext_register_writel +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7fffffff spmi_register_zero_write +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0x55e53864 ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x035a4331 anybuss_read_output +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x1c35e32b anybuss_client_driver_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x21531bcf anybuss_write_input +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x249ee612 anybuss_set_power +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x2db628b9 anybuss_start_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x424f6a5c anybuss_send_ext +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x4517aef9 anybuss_send_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x5c8b5a43 anybuss_client_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x66c823c5 anybuss_read_fbctrl +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7fffffff anybuss_finish_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7fffffff anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7fffffff anybuss_host_common_remove +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7fffffff anybuss_recv_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7fffffff devm_anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x03bba3dd fieldbus_dev_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x6bd1c3d8 fieldbus_dev_area_updated +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x7fffffff fieldbus_dev_online_changed +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x7fffffff fieldbus_dev_register +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x0c4dd3f8 gb_audio_apbridgea_stop_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x2b9d7f9b gb_audio_apbridgea_unregister_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x2f06f9d6 gb_audio_apbridgea_stop_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x5c8a8ecd gb_audio_apbridgea_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x6c4b4c93 gb_audio_apbridgea_set_config +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7fffffff gb_audio_apbridgea_prepare_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7fffffff gb_audio_apbridgea_prepare_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7fffffff gb_audio_apbridgea_register_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7fffffff gb_audio_apbridgea_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7fffffff gb_audio_apbridgea_shutdown_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7fffffff gb_audio_apbridgea_shutdown_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7fffffff gb_audio_apbridgea_start_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7fffffff gb_audio_apbridgea_start_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x0835058f gb_audio_gb_set_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x1625de8a gb_audio_gb_deactivate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x248cd97c gb_audio_gb_activate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x3a03ed7c gb_audio_gb_get_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x5e75fbb8 gb_audio_gb_set_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x793ebf2f gb_audio_gb_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x79a8b918 gb_audio_gb_get_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x7fffffff gb_audio_gb_activate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x7fffffff gb_audio_gb_deactivate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x7fffffff gb_audio_gb_disable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x7fffffff gb_audio_gb_enable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x7fffffff gb_audio_gb_get_topology +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x7fffffff gb_audio_gb_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x19e9e6b1 gb_audio_manager_remove_all +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x32e6391e gb_audio_manager_remove +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x5a108b0f gb_audio_manager_add +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x7855ae31 gb_audio_manager_put_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x79eef2f8 gb_audio_manager_dump_all +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x7fffffff gb_audio_manager_dump_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x7fffffff gb_audio_manager_get_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x10509833 gb_gbphy_register_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x7e79f585 gb_gbphy_deregister_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x35ac2ab6 gb_spilib_master_exit +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x7fffffff gb_spilib_master_init +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0x7fffffff adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x1fcec46b imx_media_add_of_subdevs +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x24cf78d3 imx_media_pipeline_pad +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x3975a862 imx_media_capture_device_error +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x3afc4948 imx_media_find_pixel_format +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x496fd704 imx_media_pipeline_set_stream +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x4a09040e imx_media_capture_device_init +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x534ba9e1 imx_media_find_mbus_format +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x54179eee imx_media_free_dma_buf +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x5c8bce0a imx_media_capture_device_remove +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x5f028190 imx_media_init_cfg +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x6b0fcf7a imx_media_capture_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x6e808400 imx_media_add_video_device +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7c492b6f imx_media_dev_notifier_register +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7f57a2e8 imx_media_capture_device_register +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7f869548 imx_media_capture_device_next_buf +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_alloc_dma_buf +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_dev_init +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_enum_mbus_formats +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_enum_pixel_formats +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_find_subdev_by_devname +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_find_subdev_by_fwnode +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_get_pad_fwnode +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_grp_id_to_sd_name +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_init_mbus_fmt +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_mbus_fmt_to_pix_fmt +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_of_add_csi +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_pipeline_csi2_channel +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_pipeline_subdev +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_pipeline_video_device +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_probe_complete +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_try_colorimetry +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x0216c5a1 codec_hevc_setup_buffers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x03262426 amvdec_clear_dos_bits +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x08e6b979 amvdec_set_par_from_dar +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x115655e9 amvdec_am21c_body_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x118a2a9b amvdec_set_canvases +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x19492daa amvdec_abort +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x1cb1e6d9 amvdec_am21c_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x344ac727 amvdec_add_ts +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x4518692e amvdec_get_output_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x4a420743 amvdec_dst_buf_done_idx +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x5613fca6 codec_hevc_free_mmu_headers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x5ff35ee8 amvdec_am21c_head_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x6f49e2b6 amvdec_dst_buf_done_offset +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x728ec2a0 codec_hevc_setup_decode_head +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7fffffff amvdec_dst_buf_done +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7fffffff amvdec_read_dos +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7fffffff amvdec_read_parser +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7fffffff amvdec_remove_ts +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7fffffff amvdec_src_change +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7fffffff amvdec_write_dos +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7fffffff amvdec_write_dos_bits +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7fffffff amvdec_write_parser +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7fffffff codec_hevc_fill_mmu_map +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7fffffff codec_hevc_free_fbc_buffers +EXPORT_SYMBOL_GPL drivers/staging/nvec/nvec 0x3739d04f nvec_register_notifier +EXPORT_SYMBOL_GPL drivers/staging/nvec/nvec 0x7fffffff nvec_msg_free +EXPORT_SYMBOL_GPL drivers/staging/nvec/nvec 0x7fffffff nvec_unregister_notifier +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x1482c605 target_init_cmd +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x30b6f553 target_queue_submission +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x7fffffff target_submit +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x7fffffff target_submit_prep +EXPORT_SYMBOL_GPL drivers/tee/tee 0x05c670b2 tee_shm_pool_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/tee/tee 0x0d3be52e tee_shm_get_from_id +EXPORT_SYMBOL_GPL drivers/tee/tee 0x11743135 tee_client_get_version +EXPORT_SYMBOL_GPL drivers/tee/tee 0x20df8a36 tee_client_close_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0x285fac48 tee_device_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0x3ee5fa74 tee_shm_alloc_kernel_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0x47ef44ed tee_shm_alloc_priv_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0x52ee5e5f tee_client_invoke_func +EXPORT_SYMBOL_GPL drivers/tee/tee 0x6e63c079 tee_bus_type +EXPORT_SYMBOL_GPL drivers/tee/tee 0x79e77f41 teedev_open +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7d5c609b tee_get_drvdata +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7df88971 tee_client_open_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_client_close_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_client_open_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_device_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_device_unregister +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_session_calc_client_uuid +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_shm_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_shm_get_pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_shm_get_va +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_shm_put +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_shm_register_kernel_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff teedev_close_context +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x01d23ee1 tb_property_create_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x084f6ee3 __tb_ring_enqueue +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x0d2e96c2 tb_ring_free +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x12fcaa07 tb_xdomain_release_in_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x21a31526 tb_unregister_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x2704b192 tb_ring_stop +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x2c2c688b tb_xdomain_alloc_in_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x2c5b79b5 tb_xdomain_find_by_route +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x2f304d5a tb_xdomain_enable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x36521060 tb_register_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x393b4f2f tb_property_free_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x3a28ce90 tb_xdomain_response +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x3e6e7265 tb_xdomain_lane_bonding_disable +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x3eb7c101 tb_xdomain_disable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4e415e45 tb_ring_poll +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x603249ed tb_unregister_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x60e34d1b tb_service_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x64b2ed36 tb_register_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x658e3d97 tb_property_add_immediate +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x6ceee74b tb_property_remove +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x6e1e37ed tb_xdomain_alloc_out_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x70e8edb7 tb_ring_alloc_rx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x78de6f01 tb_xdomain_find_by_uuid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_property_add_data +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_property_add_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_property_add_text +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_property_find +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_property_get_next +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_register_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_ring_alloc_tx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_ring_poll_complete +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_ring_start +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_unregister_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_xdomain_lane_bonding_enable +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_xdomain_release_out_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_xdomain_request +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_xdomain_type +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x0231ad84 ufshcd_make_hba_operational +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x0be23976 ufshcd_resume_complete +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x12773b7c ufshcd_link_recovery +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x259444cb ufshcd_hba_enable +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x273114f1 ufshcd_fixup_dev_quirks +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x2d334ae8 ufshcd_dump_regs +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x31309676 ufshcd_release +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x3fe9ed0f ufshcd_dme_get_attr +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x49b70618 ufshcd_uic_hibern8_exit +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x633cdaee ufshcd_suspend_prepare +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x69028700 ufshcd_dme_set_attr +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x6e41647b ufshcd_dealloc_host +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x723b1abf ufshcd_delay_us +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff __ufshcd_suspend_prepare +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_auto_hibern8_update +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_clkgate_delay_set +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_config_pwr_mode +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_dme_configure_adapt +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_hba_stop +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_hold +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_init +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_remove +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_uic_hibern8_enter +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_update_evt_hist +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x54c946de ufshcd_init_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x7fffffff ufshcd_get_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x7fffffff ufshcd_pltfrm_init +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x7fffffff ufshcd_pltfrm_shutdown +EXPORT_SYMBOL_GPL drivers/uio/uio 0x2d404119 __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x352271a3 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0x7fffffff __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x7fffffff uio_unregister_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x17abca0c usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x7fffffff usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x2e4bdd46 cdns_resume +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x53e43dd9 cdns_drd_gadget_on +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x624ddb06 cdns_remove +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x6505eb68 cdns_suspend +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x6a77519b cdns_clear_vbus +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x7f927a4e cdns_drd_gadget_off +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x7fffffff cdns_init +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x7fffffff cdns_power_is_lost +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x7fffffff cdns_set_vbus +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x05fd5225 ci_hdrc_remove_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x1fc20969 ci_hdrc_query_available_role +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x55ff521a ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x7fffffff hw_phymode_configure +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x1adac2d9 imx_usbmisc_hsic_set_clk +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x2cf7197e imx_usbmisc_init +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x3ee34fd1 imx_usbmisc_set_wakeup +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x7a18cbae imx_usbmisc_init_post +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x7fffffff imx_usbmisc_charger_detection +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x7fffffff imx_usbmisc_hsic_set_connect +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x47ab0369 ulpi_unregister_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x7f7a32c2 ulpi_register_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x7fffffff __ulpi_register_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x7fffffff ulpi_read +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x7fffffff ulpi_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x7fffffff ulpi_write +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x13b83be3 g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x37784fa4 u_audio_get_volume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x49be9ba4 u_audio_start_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x4ee178a3 g_audio_setup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x53f9b56b u_audio_get_mute +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x5bcb7710 u_audio_start_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x71fc01f3 u_audio_get_capture_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7938a91d u_audio_set_playback_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7df9591b u_audio_stop_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7fffffff u_audio_get_playback_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7fffffff u_audio_set_capture_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7fffffff u_audio_set_mute +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7fffffff u_audio_set_volume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7fffffff u_audio_stop_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7fffffff u_audio_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x12c7c6cd gether_set_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x20566a20 gether_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x288b0267 gether_get_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x50e3076e gether_set_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x5fe15054 gether_get_host_addr_cdc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x68863b94 gether_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x77245655 gether_set_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7fffffff gether_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7fffffff gether_get_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7fffffff gether_get_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7fffffff gether_get_host_addr_u8 +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7fffffff gether_get_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7fffffff gether_register_netdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7fffffff gether_set_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7fffffff gether_set_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7fffffff gether_setup_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7fffffff gether_setup_name_default +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x0ac4791b gserial_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x33bd476a gserial_resume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x33bfdca2 gserial_alloc_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x43690ef9 gserial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x629ed775 gserial_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x77dbf841 gserial_get_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x7fffffff gs_alloc_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x7fffffff gs_free_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x7fffffff gserial_alloc_line_no_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x7fffffff gserial_free_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x7fffffff gserial_set_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x12772b85 ffs_lock +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x41cafcf0 ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x5cb2d755 ffs_single_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x028f8d2f fsg_lun_fsync_sub +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x141fce2a fsg_common_remove_luns +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1710b539 fsg_fs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1bd875eb fsg_show_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1ccb58f7 fsg_common_set_num_buffers +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x2933ee1d fsg_ss_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x2d4b7673 fsg_show_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x379de988 fsg_store_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x398778e1 fsg_ss_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x3c6a07d0 fsg_common_create_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x423845e4 fsg_ss_bulk_in_comp_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x552d9ce0 fsg_store_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x56344daf fsg_hs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x62e1ee07 fsg_store_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x6acb4179 fsg_common_set_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x6e507b9e fsg_show_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7588065a fsg_common_set_cdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7e26d4a5 fsg_common_set_sysfs +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_common_create_luns +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_common_free_buffers +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_common_remove_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_config_from_params +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_fs_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_fs_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_hs_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_hs_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_intf_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_lun_close +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_lun_open +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_show_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_show_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_show_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_ss_bulk_out_comp_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_ss_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_store_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_store_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_store_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff store_cdrom_address +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x3c367e9b rndis_add_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x51edce90 rndis_set_host_mac +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x5a169bb6 rndis_set_param_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x5d20c030 rndis_rm_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_borrow_net +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_deregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_free_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_get_next_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_msg_parser +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_set_param_medium +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_set_param_vendor +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_signal_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_signal_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_uninit +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0c5865d9 usb_string_ids_tab +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0c589aba usb_validate_langid +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x10e12427 usb_add_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x1118bb22 usb_composite_overwrite_options +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x1b7132ba usb_add_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x25e12805 usb_otg_descriptor_alloc +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x292387c4 usb_ep_autoconfig_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2d39badc usb_get_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e09263f usb_copy_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x342a1aaf usb_ep_autoconfig +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x346160ad usb_composite_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x404c8b31 usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4beb505d usb_gadget_get_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5324914a usb_otg_descriptor_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x6c7f0bfc usb_function_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x6feda100 config_ep_by_speed +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x757ab318 usb_string_ids_n +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff alloc_ep_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff config_ep_by_speed_and_alt +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff unregister_gadget_item +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_add_config_only +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_assign_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_composite_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_descriptor_fillbuf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_ep_autoconfig_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_free_all_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_function_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_function_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_gadget_config_buf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_get_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_gstrings_attach +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_interface_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_put_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_put_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_remove_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_string_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x02a614f7 free_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x0e98b847 gadget_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x17aa8af7 init_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x47643608 udc_remove +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x55c4d934 udc_mask_unused_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x5d01d078 udc_irq +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x7fffffff empty_req_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x7fffffff udc_basic_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x7fffffff udc_enable_dev_setup_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x7fffffff udc_probe +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0x7fffffff renesas_xhci_check_request_fw +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x18aefb25 ezusb_fx1_set_reset +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x7fffffff ezusb_fx1_ihex_firmware_download +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x132cdf25 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x2352ae2a usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x3a5f867f usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x53a84001 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x542705c4 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x6f731b0b usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7fffffff usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7fffffff usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7fffffff usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-am335x-control 0x6488d969 am335x_get_phy_control +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-isp1301 0x7fffffff isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0x1a00105b tegra_usb_phy_postresume +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0x2e1404c6 tegra_usb_phy_preresume +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0x6591895e tegra_ehci_phy_restore_end +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0x687e6973 tegra_ehci_phy_restore_start +EXPORT_SYMBOL_GPL drivers/usb/serial/usb_wwan 0x0ab71243 usb_wwan_port_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x31d9e615 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x358e0585 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x38c0242d usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x41aa0ede usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x58376b93 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x5c91afcc usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x655579d1 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7374848e usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x749a110a usb_serial_generic_tiocmiwait +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7aa1d1c0 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_claim_interface +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_generic_chars_in_buffer +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_generic_get_icount +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_generic_wait_until_sent +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_generic_write_start +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x167a4dd5 dp_altmode_remove +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x7fffffff dp_altmode_probe +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x6f497a3c tcpci_irq +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x7fffffff tcpci_get_tcpm_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x7fffffff tcpci_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x7fffffff tcpci_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x10ec6d2d tcpm_sink_frs +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x3b84657b tcpm_pd_transmit_complete +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x76eeda4b tcpm_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x7fffffff tcpm_cc_change +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x7fffffff tcpm_pd_hard_reset +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x7fffffff tcpm_pd_receive +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x7fffffff tcpm_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x7fffffff tcpm_sourcing_vbus +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x7fffffff tcpm_tcpc_reset +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x7fffffff tcpm_vbus_change +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x028292e5 typec_mux_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x08513e43 __typec_altmode_register_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0ae4522b typec_altmode_vdm +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x100fc534 typec_altmode_notify +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x11b8c3bf typec_altmode2port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1631d8c6 typec_set_mode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1b88a37d typec_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x22309d40 typec_get_fw_cap +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2a1c5710 typec_unregister_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2d1e301d typec_find_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2dfd7c33 fwnode_typec_mux_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x31115a06 typec_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3ab6c7b9 typec_plug_set_num_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3d0351f4 typec_set_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x407157b4 typec_register_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x462dfe4c typec_cable_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x46375308 typec_set_pwr_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x46992395 typec_unregister_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x46e4ffc6 typec_altmode_update_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x47bb9c5b typec_port_register_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4e7a6b62 typec_set_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x513e02a9 fwnode_typec_switch_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x525e015b typec_partner_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x57bb3c7d typec_altmode_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x58cf7dc1 typec_set_vconn_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5b4bf439 typec_cable_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5c411a43 typec_cable_is_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5c6522e5 typec_partner_set_pd_revision +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5e63ce18 typec_altmode_get_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5f67b72f typec_switch_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x602ecffd typec_get_negotiated_svdm_version +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x66b94a40 typec_altmode_get_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6b3d9465 typec_mux_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7064a544 typec_mux_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x72bc0403 typec_unregister_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x73efca55 typec_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7b721e3e typec_partner_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_altmode_attention +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_altmode_enter +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_altmode_exit +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_altmode_put_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_cable_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_find_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_find_port_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_find_port_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_find_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_get_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_match_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_mux_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_mux_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_mux_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_partner_set_num_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_partner_set_svdm_version +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_plug_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_port_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_register_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_register_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_set_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_switch_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_switch_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_unregister_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x17f4f05c ucsi_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x23aae10b ucsi_resume +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x2f894abc ucsi_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x4a9b21cf ucsi_destroy +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x4c863697 ucsi_create +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x7fffffff ucsi_connector_change +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x7fffffff ucsi_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x7fffffff ucsi_register +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x7fffffff ucsi_send_command +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x016dd819 usbip_event_add +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x277d3ec7 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x2d397da8 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x46535128 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x5bc2c69a usbip_in_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7e3ffee3 usbip_recv +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7fffffff dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7fffffff usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7fffffff usbip_dump_header +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7fffffff usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7fffffff usbip_event_happened +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7fffffff usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7fffffff usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7fffffff usbip_start_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7fffffff usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x0db61061 vdpa_unregister_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x198c82d1 vdpa_mgmtdev_unregister +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x2944e89d vdpa_mgmtdev_register +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x4a5c2097 _vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x5268c916 __vdpa_register_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x5eb5c3bc vdpa_get_config +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x7fffffff __vdpa_alloc_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x7fffffff _vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x7fffffff vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x7fffffff vdpa_set_config +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x7fffffff vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa_sim/vdpa_sim 0x7fffffff vdpasim_create +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0x7fffffff mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x0690255f vfio_pci_core_read +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x0814e012 vfio_pci_core_init_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x0c7c8e48 vfio_pci_core_uninit_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x2674a587 vfio_pci_core_match +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x3c990e77 vfio_pci_register_dev_region +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x4416e969 vfio_pci_core_unregister_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x4cf699b8 vfio_pci_core_set_params +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x54288073 vfio_pci_core_request +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x5ec40c2c vfio_pci_core_enable +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7a4d94d0 vfio_pci_core_disable +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7d6cfcd9 vfio_pci_core_finish_enable +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_aer_err_detected +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_close_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_err_handlers +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_ioctl +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_ioctl_feature +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_mmap +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_register_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_sriov_configure +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_write +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x326bb70b vfio_platform_unregister_reset +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x380ca20c vfio_platform_probe_common +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x7fffffff __vfio_platform_register_reset +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x7fffffff vfio_platform_remove_common +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x269114a0 vfio_virqfd_enable +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x7fffffff vfio_virqfd_disable +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x04931f19 vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x052e59e3 vhost_poll_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0d6e858f vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0e9ba43a vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x126c0676 vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x13c37247 vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x197806e7 vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1b4ed263 vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1b862b28 vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1e58a30e vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x30250df4 vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3377f513 vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x377fc1bb vhost_disable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3c38e10e vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3d8f232f vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x409f62c0 vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x455313f2 vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x496f26d9 vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4df758de vhost_set_backend_features +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x51085c1f vhost_work_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x53eda67e vq_meta_prefetch +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5c89f4c6 vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6ca6b48e vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6d5fd10a vhost_vring_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x799f7187 vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_clear_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_dev_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_dev_reset_owner_prepare +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_poll_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x38ff875f vhost_iotlb_add_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x69e872f9 vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7fffffff vhost_iotlb_add_range_ctx +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7fffffff vhost_iotlb_alloc +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7fffffff vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7fffffff vhost_iotlb_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7fffffff vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7fffffff vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x40310f80 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x4eb4b17d ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x60b3023e ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x7fffffff ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x7fffffff ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x7fffffff ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x7fffffff ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_ddc 0x39941360 fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x788d60c3 fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x7fffffff fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x0e145a07 omapdss_of_get_next_endpoint +EXPORT_SYMBOL_GPL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x33cfd253 omapdss_of_get_next_port +EXPORT_SYMBOL_GPL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x3641ea94 omapdss_of_find_source_for_first_ep +EXPORT_SYMBOL_GPL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7aa055fe omapdss_of_get_first_endpoint +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x0cf2262f sis_free_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x7fffffff sis_malloc_new +EXPORT_SYMBOL_GPL drivers/w1/wire 0x48614c88 w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x50e58836 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63757e92 w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7fffffff w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7fffffff w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7fffffff w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7fffffff w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7fffffff w1_touch_bit +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7fffffff w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7fffffff w1_triplet +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7fffffff w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7fffffff w1_write_block +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x1c0519f4 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x403448a0 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4b62826c dlm_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x647d6170 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x7fffffff dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x7fffffff dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x7fffffff dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x0fc86190 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x1ee2bdab lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x58576774 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x7fc72449 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x7fffffff lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x7fffffff nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x7fffffff nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x00d20fa1 __traceiter_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03eacb8c nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0580d485 nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0597021e nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x097f5daa nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0b125fe9 nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0c8f05a3 __tracepoint_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0cf9eec5 nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1383f5a8 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1b064357 nfs_probe_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1ca6674d nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1f093c08 nfs_set_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x204ac0ad nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22d795a8 _nfs_display_fhandle_hash +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x25b2dad8 nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26884ff7 nfs_alloc_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2784eb3d nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x27b5eb32 nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2a572c5b nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2c60e01c nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2cb995bd __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2e603e86 nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2f25f183 nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x31e7914f __tracepoint_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x37b549c0 nfs_alloc_fattr_with_label +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x37cb10c9 nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x37cb4203 nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3854fa2b nfs_flock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39a8fc9f nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3b799ae2 nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3f2690f2 nfs_check_flags +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40739385 nfs_wait_bit_killable +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x417dd814 nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f2c81f nfs4_client_id_uniquifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4514593e nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x46b53940 nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x46b9edf8 register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4785cd7b __traceiter_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4c731c66 nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb9e001 recover_lost_locks +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x500620de nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5018e132 nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51643ed7 nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51892d61 nfs_callback_set_tcpport +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5268a6e4 nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x543f7b96 nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x55aba05a nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x55bec5e0 nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x55dcc714 nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x563d2ec7 nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x571935a6 nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5819c324 __traceiter_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5a69d5d3 nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5aad58a7 nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5b987dc3 nfs_access_get_cached +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5bd123df nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5cc0c9c7 nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5eaa3251 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x619fec6a get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x62901f1c nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6886aa00 nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x69514ca5 nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6b231904 nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6d1bdfb5 nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e578e65 nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e81f032 __SCK__tp_func_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6ec3072b nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x72b8237e nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x73dff4c0 __SCK__tp_func_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x79df8aaf nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7a09025a nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7edf9d64 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff __SCK__tp_func_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff __SCK__tp_func_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff __traceiter_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff max_session_cb_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff max_session_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_check_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_clear_verifier_delegated +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_d_prune_case_insensitive_aliases +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_file_set_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_mkdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_wait_client_init_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_write_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfsiod_workqueue +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff send_implementation_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0x7fffffff nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x042562e2 pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x05b504bf pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x086fa2c3 pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x08b2c467 __SCK__tp_func_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0b5a7e70 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0e4ecb2a nfs4_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0ef4545c __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0fbee7d4 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0ff289f3 __SCK__tp_func_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x10ac0048 __traceiter_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x188ced47 nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x199163f7 __traceiter_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1af2130d pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1b17876f nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1b63fd19 pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1bb52e39 pnfs_error_mark_layout_for_return +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1f3e4be5 nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1f81564f pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2630c453 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x27ad47ea __SCK__tp_func_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x292b7525 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x29ef90c4 nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2e79bf5b __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2e858fb9 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x30a44ac3 __SCK__tp_func_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x380652a1 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3b599ca9 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4259d83e nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4543e9b0 __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x45ab76b3 pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x45c905b4 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x46a7859b pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x49fe9116 nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4e3deb37 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4f1fe550 nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5141d4f7 pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x533c198f __SCK__tp_func_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x55477a75 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x579126b8 __SCK__tp_func_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x594f5778 pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5985198c pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5a4314e9 __SCK__tp_func_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5c53b478 pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5ca3ae2b __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5fa25512 pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x667445c9 nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6f26d050 nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x714b1a50 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x73195c30 pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x75788d96 __traceiter_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x77898edc pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x785c06ab __SCK__tp_func_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x78954796 pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7a4e7f4e __SCK__tp_func_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7cd013a8 __SCK__tp_func_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7d05b1b8 __traceiter_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7d979567 __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __SCK__tp_func_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __SCK__tp_func_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __SCK__tp_func_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __traceiter_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __traceiter_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __traceiter_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __traceiter_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __traceiter_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __traceiter_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __traceiter_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __traceiter_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __traceiter_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs41_maxgetdevinfo_overhead +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_commit_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x49a50344 opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x7fffffff locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x7fffffff locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x138ae87b nfs_stream_decode_acl +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x5c2a5138 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x7c409081 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x7fffffff nfs_stream_encode_acl +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0x410b58b1 nfsd4_ssc_init_umount_work +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x059eea1d o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1cb231d0 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x2e812bed o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x364f639b o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x58c88ff2 o2hb_get_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x687f6251 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6a0c3847 __mlog_printk +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7300e759 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2hb_check_node_heartbeating_no_sem +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2net_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2nm_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x09c985bf dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x4e21dead dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x577c963a dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x6db0a0a2 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7f18ad47 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7fffffff dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7fffffff dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7fffffff dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7fffffff dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x07c2b0b8 ocfs2_kset +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0a726931 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0cfd3fc5 ocfs2_cluster_connect_agnostic +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x1475f64b ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x76f40744 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_stack_glue_set_max_proto_version +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x43cc3d4b pstore_blk_get_config +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x7fffffff register_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x7fffffff unregister_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x4eaca584 unregister_pstore_zone +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x7fffffff register_pstore_zone +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_arc4 0x7fffffff cifs_arc4_crypt +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_arc4 0x7fffffff cifs_arc4_setkey +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0x798f3830 cifs_md4_init +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0x7fffffff cifs_md4_final +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0x7fffffff cifs_md4_update +EXPORT_SYMBOL_GPL lib/842/842_compress 0x7fffffff sw842_compress +EXPORT_SYMBOL_GPL lib/842/842_decompress 0x7fffffff sw842_decompress +EXPORT_SYMBOL_GPL lib/crc4 0x696b3a5a crc4 +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x0105b595 des_encrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x574eda34 des3_ede_decrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x7fffffff des3_ede_encrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x7fffffff des3_ede_expand_key +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x7fffffff des_decrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x7fffffff des_expand_key +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x39e8fa4b poly1305_update_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x4a833012 poly1305_final_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x7fffffff poly1305_init_generic +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x7fffffff notifier_err_inject_dir +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x7fffffff notifier_err_inject_init +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x021957e1 raid6_datap_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x0f8a2742 raid6_2data_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x39a7ce3a raid6_call +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x584fb431 lowpan_header_decompress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x7fffffff lowpan_header_compress +EXPORT_SYMBOL_GPL net/802/garp 0x4418ff4a garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x74473897 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x7fffffff garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x7fffffff garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x7fffffff garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x7fffffff garp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0x29d6dbd5 mrp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0x2db52fa2 mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x7fffffff mrp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0x7fffffff mrp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0x7fffffff mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x7fffffff mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/stp 0x7fffffff stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0x7fffffff stp_proto_unregister +EXPORT_SYMBOL_GPL net/9p/9pnet 0x68c96804 p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0x7fffffff p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/atm/atm 0x7fffffff register_atmdevice_notifier +EXPORT_SYMBOL_GPL net/atm/atm 0x7fffffff unregister_atmdevice_notifier +EXPORT_SYMBOL_GPL net/ax25/ax25 0x7fffffff ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0x7fffffff ax25_defaddr +EXPORT_SYMBOL_GPL net/ax25/ax25 0x7fffffff ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x166fddbe l2cap_chan_create +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x21c262b3 l2cap_chan_set_defaults +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x55165145 l2cap_chan_connect +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x7e252c31 l2cap_chan_put +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x7fffffff bt_debugfs +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x7fffffff l2cap_add_psm +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x7fffffff l2cap_chan_del +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x7fffffff l2cap_chan_list +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x7fffffff l2cap_chan_send +EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0x33d5e844 hidp_hid_driver +EXPORT_SYMBOL_GPL net/bridge/bridge 0x032c33df br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x08b9a69b br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0x0a679397 br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0x0bd24a40 br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0x3ac2313b br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0x472c7ce3 br_vlan_get_info_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x49adc036 br_vlan_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x5e71c24f br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/bridge/bridge 0x60a4270f br_multicast_has_router_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x6e2c5c46 br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0x70c5da5b br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x740f6204 br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_get_ageing_time +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_mst_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_mst_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_mst_get_state +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_port_get_stp_state +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff nf_br_ops +EXPORT_SYMBOL_GPL net/core/failover 0x7fffffff failover_register +EXPORT_SYMBOL_GPL net/core/failover 0x7fffffff failover_slave_unregister +EXPORT_SYMBOL_GPL net/core/failover 0x7fffffff failover_unregister +EXPORT_SYMBOL_GPL net/dccp/dccp 0x11f28cbf dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1800e78c dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1eed4458 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2219fa2a dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x27a37128 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2a39cce9 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2f355349 dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3f6cb4c6 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4a121279 dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4efac2f2 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x3d1017d5 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x3e42ba35 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x4cbbcb7c dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x584da6a1 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x6b8dd876 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x7fffffff dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x03bf9b37 dsa_devlink_region_create +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x08806f38 dsa_fdb_present_in_other_db +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0c6039ac dsa_flush_workqueue +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x15b4ed9b dsa_devlink_resources_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x25032ed9 dsa_switch_resume +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x27cb55da dsa_switch_shutdown +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x31c6a887 dsa_tag_8021q_bridge_join +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x3e19881e dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x3eb66680 dsa_mdb_present_in_other_db +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x417d1fed dsa_8021q_rx_switch_id +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x430b1514 dsa_devlink_params_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x45ca5090 dsa_tag_8021q_bridge_vid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x47888f8f dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x483a6379 dsa_switch_suspend +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x517aade5 dsa_tag_8021q_bridge_leave +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6812a656 dsa_tag_8021q_find_port_by_vbid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6de98e2c dsa_tag_8021q_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6ea958f4 dsa_devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_8021q_rcv +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_8021q_rx_source_port +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_8021q_xmit +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_devlink_param_get +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_devlink_param_set +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_devlink_port_region_create +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_devlink_region_destroy +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_devlink_resource_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_enqueue_skb +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_port_from_netdev +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_port_phylink_mac_change +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_slave_dev_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_switch_find +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_tag_8021q_standalone_vid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_tag_8021q_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_tag_drivers_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_tag_drivers_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_unregister_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff vid_is_dsa_8021q +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x16346b60 ieee802154_hdr_peek_addrs +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x207f08a8 ieee802154_hdr_push +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x49961ab2 ieee802154_hdr_pull +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x7fffffff ieee802154_hdr_peek +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x7fffffff ieee802154_max_payload +EXPORT_SYMBOL_GPL net/ife/ife 0x073e016f ife_decode +EXPORT_SYMBOL_GPL net/ife/ife 0x24375624 ife_encode +EXPORT_SYMBOL_GPL net/ife/ife 0x6210e871 ife_tlv_meta_next +EXPORT_SYMBOL_GPL net/ife/ife 0x67db2029 ife_tlv_meta_decode +EXPORT_SYMBOL_GPL net/ife/ife 0x7fffffff ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x0147a1e2 esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x7a466030 esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x7fffffff esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/gre 0x18d5eb28 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0x7fffffff gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x1a8fa4b7 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x2a467750 inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x3610d17a inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x6509e9e6 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x7f9fbe58 inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x7fffffff inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x7fffffff inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x7fffffff inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x7fffffff inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0x243abbee gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x0c4e0fed ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x0d0dba7d ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x127edceb ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x16e970c3 ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x1c339f12 ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x2ab51415 ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x2debb668 ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x52029def ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x5b8da823 ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x601010aa ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x61e29702 ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7fffffff __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7fffffff ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7fffffff ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7fffffff ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7fffffff ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7fffffff ip_tunnel_siocdevprivate +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x7fffffff arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x6402e606 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x08d7faa3 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x52441e16 nf_defrag_ipv4_disable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0x7fffffff nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x2be5fab1 nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x4107ced4 nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x6b2e9300 nf_reject_skb_v4_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x6fa6b828 nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x6fac4838 nf_reject_skb_v4_tcp_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x7fffffff nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x7fffffff nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0x7fffffff nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x7fffffff nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x7fffffff nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x7fffffff nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x7318257e nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x7fffffff nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x36a1bfe9 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x7e6cab9a tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x7fffffff tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x7fffffff tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x7fffffff tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x066206c1 udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x0e204386 udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x26a862de udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x5c0be942 udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x77c98e09 udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x7fffffff setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x7fffffff udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x7fffffff udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x14783e6f esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x7fffffff esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x7fffffff esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x7fffffff ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x7fffffff ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x7fffffff ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x0df36b79 udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x7fffffff udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x6d275698 ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x0abdd95d nf_defrag_ipv6_disable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x7fffffff nf_ct_frag6_gather +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x7fffffff nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0x3be5f212 nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x2297f5c2 nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x2e3373cd nf_reject_skb_v6_unreach +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x43770068 nf_reject_skb_v6_tcp_reset +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x4888a847 nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x63404d02 nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x7fffffff nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x7fffffff nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0x4bc7032a nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x7fffffff nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x7fffffff nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x7fffffff nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x77d3b5f2 nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x7fffffff nft_fib6_eval +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x059d5945 l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x093f24bf l2tp_recv_common +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x20924ae1 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x51f8e1d4 l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x57c0c347 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x615561bf l2tp_sk_to_tunnel +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x64754539 l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x6f8dda32 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x72c8328e l2tp_session_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x79eb4142 l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_session_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_tunnel_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_tunnel_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_ip 0x2b3459d1 l2tp_ioctl +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x41b449d1 l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x051a15ee ieee80211_iterate_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x16594fac ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x1795a3a3 ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x1e03bfaa ieee80211_color_change_finish +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x2b19994c wdev_to_ieee80211_vif +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x308bc708 ieee80211_update_mu_groups +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x3e29a9d9 ieee80211_calc_tx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x3faa8e19 ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x44b94d86 ieee80211_calc_rx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x45341d9e ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x4b2cc810 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5250cf98 ieee80211_tkip_add_iv +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5683266c ieee80211_iterate_stations_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x59c13bed ieee80211_key_mic_failure +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5e2bfc6a ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6daad347 ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7831043d ieeee80211_obss_color_collision_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_gtk_rekey_add +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_hw_restart_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_iter_chan_contexts_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_iterate_active_interfaces_mtx +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_iterate_stations +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_key_replay +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_remove_key +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_set_key_rx_seq +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x1271385f nla_put_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x2ca73883 mpls_output_possible +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x5537b0b0 mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x5b71152a mpls_dev_mtu +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x7670b536 nla_get_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x7fffffff mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x0eb40c06 ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1e837e6d ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x2204cdcc ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22d966c6 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x2bd14f7b ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x2c27d694 ip_set_match_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x36098286 ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x39a58a6b ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x39ce0459 ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x3c2feacc ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x3fe051b9 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4283cac6 ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4d69f7e3 ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x5257ff6b ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6344eaf6 ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_get_ipaddr6 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x668ba827 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x6ff8391f ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x7fffffff register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x7fffffff unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x319bb2bf nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x4711b7ea nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x5aba9fda nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x7fffffff nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x7fffffff nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x7fffffff nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x7fffffff nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0260d282 nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x05d8267c nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0a204a16 nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0bc00f80 nf_nat_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0df616a4 nf_nat_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x12ac4ebb nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1863768e nf_conn_pernet_ecache +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1d23792b nf_ct_tcp_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1d98cc31 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x203b567d nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2214f4bf nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2252fc58 nf_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x24d9419f nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x28eff409 nf_conntrack_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2b66777e nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2b82622e nf_ct_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2d1a1901 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2db466e4 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2dcb5a48 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2eb05a5d nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2fdf3be9 nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3588a461 nf_ct_remove_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x375e0e35 nf_connlabels_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3b575d89 nf_ct_acct_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3dfd19e0 nf_ct_bridge_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4309084c __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4551d1eb nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x45e62604 nf_ct_set_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x473e385d nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x47a8794e nf_ct_helper_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4c453b35 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4ea258d2 nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5d0aa819 nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5e7f3491 nf_nat_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5fa66f25 nf_ct_netns_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x64f07cad nf_ct_timeout_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x68596a6b nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x685a9b74 nf_conntrack_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6955c75f nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6999c750 nf_ct_netns_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6f4a06ba nf_connlabels_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x72bbfb00 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x78953279 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7dae3a27 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_locks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_delete +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_ecache_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_expect_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_get_id +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_helper_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_seqadj_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_set_auto_assign_helper_warned +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_untimeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_nat_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x7fffffff nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x7fffffff nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x7fffffff nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x119af16b get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x338f18bf set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3726acf0 nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x653844bb set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6a71a553 nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7f54ae0e nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7fffffff nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7fffffff nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7fffffff set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7fffffff set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x7fffffff nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x4a540ce1 nf_nat_pptp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x60a2dc77 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7fffffff ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7fffffff ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7fffffff ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7fffffff ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7fffffff ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7fffffff nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x32f39606 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x029d0399 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x50100ae9 nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x561cfb45 nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x5d07c6cc nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x0b7e9915 nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x11855f1a flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x24c54c85 flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x3105d856 flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x3348987b nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x3d998f6c nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x512e6a33 nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x518a23c8 nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x57747319 nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7437c1b0 flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x76459a74 nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7fffffff flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7fffffff flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7fffffff flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7fffffff nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7fffffff nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7fffffff nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x02193b3e nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x11b77a36 nf_nat_ipv6_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x1cce5dd4 nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x2b0f83b2 nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x2e5b1240 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3a54146a nf_nat_icmpv6_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3bc17c49 nf_nat_masquerade_inet_register_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x642a5ee9 nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7d15d4f4 nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_nat_ipv4_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_nat_masquerade_inet_unregister_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x08cef5e1 synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1927db8d nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1f099794 synproxy_init_timestamp_cookie +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x4eb81a2e synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x5d16d507 synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x5f5217dd nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x6327034b ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x64ebc72f synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7fffffff ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7fffffff nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7fffffff nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7fffffff synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7fffffff synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x025253f4 nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x06c6ca47 nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0be72532 nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0c038c5b nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x200ce3e2 nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2b74cba9 nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2c5212ed nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3251d762 nf_tables_trans_destroy_flush_work +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3268dcd7 __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x32f6070c nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x35e29fc8 nft_meta_get_reduce +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4113ea22 nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x43f99509 nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x44648ebf nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x48cc0bef nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4dcbdcce nft_register_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5d2b9f92 nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x61bd66b7 nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x61bfd19f nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7a2d7811 nft_reg_track_cancel +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7cb470d3 nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7d46c86c nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff __nft_reg_track_cancel +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nf_tables_activate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_expr_reduce_bitwise +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_parse_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_parse_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_reg_track_update +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_request_module +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_set_catchall_gc +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_set_catchall_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x03cab9a4 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x0889e303 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x3aee9a28 nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x4228a96c nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x4d8810b4 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x566275a4 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x7fffffff nfnetlink_broadcast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x7fffffff nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x0ed6056a nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x7fffffff nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x7fffffff nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x7fffffff nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x35eff5e0 nf_osf_fingers +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x7fffffff nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x7fffffff nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x24533e27 nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x7fffffff nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x7fffffff nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x7fffffff nft_fib_reduce +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x7fffffff nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x3646bda7 nft_reject_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x51c2c995 nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x6081751d nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x7fffffff nft_reject_icmp_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x7fffffff nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x0599675d xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x14adf958 xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x394c9fd4 xt_unregister_template +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3f1ef70a xt_tee_enabled +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4340c6c4 xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4c197f52 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4d6a9a93 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4e3e851f xt_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6fb40688 xt_register_template +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x769890ea xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7708f3c8 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7bce4603 xt_data_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_copy_counters +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_percpu_counter_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x7fffffff xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x7fffffff xt_rateest_put +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x76b64a03 nci_spi_allocate_spi +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x7fffffff nci_spi_read +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x7fffffff nci_spi_send +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x0a0ce49d nci_uart_set_config +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x1bf7160c nci_uart_register +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x507dea8c nci_uart_unregister +EXPORT_SYMBOL_GPL net/nsh/nsh 0x4c69c0ee nsh_pop +EXPORT_SYMBOL_GPL net/nsh/nsh 0x6938964a nsh_push +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x01762429 ovs_vport_alloc +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x16bab502 __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x1a75fd70 ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x1c89b2e7 ovs_netdev_link +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x7fffffff ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x7fffffff ovs_vport_free +EXPORT_SYMBOL_GPL net/psample/psample 0x4779ae9d psample_group_take +EXPORT_SYMBOL_GPL net/psample/psample 0x498cc2e7 psample_sample_packet +EXPORT_SYMBOL_GPL net/psample/psample 0x4e42bf54 psample_group_get +EXPORT_SYMBOL_GPL net/psample/psample 0x7fffffff psample_group_put +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x45779c8f qrtr_endpoint_register +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x7fffffff qrtr_endpoint_post +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x7fffffff qrtr_endpoint_unregister +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x7fffffff qrtr_ns_init +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x7fffffff qrtr_ns_remove +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x03f101e5 rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0x04779a2d rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x08295b72 rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x1294e874 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x16a70e6b rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x1a9bfa4a rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x1d3ecf6a rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x29ca5c11 rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0x2b0d543c rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x2f32561d rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x36087aa4 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x3effe63f rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x45a4781e rds_addr_cmp +EXPORT_SYMBOL_GPL net/rds/rds 0x52e5aa98 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x582fe5cf rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x585f567b rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x6e1b3b6e rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0x6f3bd3b5 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x7f387ed8 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_trans_register +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x2ca19f2f pie_process_dequeue +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x59402e0f pie_drop_early +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0x7db7d103 taprio_offload_free +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0x7fffffff taprio_offload_get +EXPORT_SYMBOL_GPL net/sctp/sctp 0x5bfd6974 sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0x7fffffff sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/sctp/sctp 0x7fffffff sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/sctp/sctp 0x7fffffff sctp_transport_traverse_process +EXPORT_SYMBOL_GPL net/smc/smc 0x05c1f094 smc_unhash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x527369b4 smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x55026808 smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0x7f8a41be smc_hash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x7fffffff smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0x7fffffff smc_proto6 +EXPORT_SYMBOL_GPL net/smc/smc 0x7fffffff smcd_alloc_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x7fffffff smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x7fffffff smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0x7fffffff smcd_register_dev +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x38d3dce5 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x482ac5a4 g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x5c1f7402 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x67f8212e svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7026b895 svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7fffffff g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7fffffff gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0022686a rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x015720d7 svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03a5ccb1 svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03a894ae xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05a8c8cb rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0685ad59 rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0b84fea0 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0c28008b rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0db6132a rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0dc7ece6 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0ff73dc0 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x10967bfe rpc_switch_client_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x119e0400 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x13be7c99 svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1670172a xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x174f6833 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1807e7d1 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x194ed7f5 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1d8dcb59 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1dd244f3 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e119a79 rpcauth_get_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e19563b rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e2a651e rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1fb7afad rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x201ac151 svc_rqst_replace_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x207d18f7 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2251a800 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22ac4f39 svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x282724c7 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2997a4b5 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29a5c88a rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2acb210a svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b5842e8 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2cbc6ebb rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d60e430 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2db444dd cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ee10177 rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f61a5a0 svc_xprt_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f8ebbe0 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2fa0db8f rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3019cb86 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30ce44d0 xdr_buf_trim +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31ad9215 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x326c72c0 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x336dad85 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33b1cfc5 rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x347e9e7d xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x375f0273 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x37f2f9d0 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x383da7b0 xdr_expand_hole +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x386aeb98 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3ae87a21 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3b0f92d3 rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3b3ffba2 xprt_unlock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3bb9734b xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3bdf5438 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f2755c2 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f5e3472 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x401e0b84 rpc_sleep_on_priority_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x40d3cdab xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x40e6a852 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4135914f rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4143c0f4 xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x423c747b rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x466366bb xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x46ccc91c xprt_add_backlog +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x493415af rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x49a621a5 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x49ce7642 rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b489b35 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dac77f0 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e5531a0 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e8f6ca7 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x500b590c svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x502f6098 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x522f4bb4 rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x54f4a869 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x565e1195 svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x57aec61c rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x57bf7325 svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58792fe2 xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x59b7d875 bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a5b0106 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b561b3f svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bd3d0be cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c2cc71a xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5d911be2 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5dec0df0 sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5eabb8a1 rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x61212ad2 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6126f260 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x613bb54c rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x631b836b svc_xprt_deferred_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x63b52513 __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x641ac0e1 rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6489f24b svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x65eb2184 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x681b9960 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x684d5e95 rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a04876f xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6b150e93 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c113daa xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6edadf88 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ee9dfaa xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6f49b715 rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6fdfe73f auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x707fc063 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x733aba33 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74200259 rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x760a971c xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x775d8e35 sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b5fd889 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7c9ffc57 xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cc023c7 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f9a708b __xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_prepare_reply_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_encode_result_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_xprt_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_xprt_destroy_all +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_align_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_page_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_reserve_space_vec +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_stream_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_find_transport_ident +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_lock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_wake_up_backlog +EXPORT_SYMBOL_GPL net/tls/tls 0x361ebaa0 tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/tls/tls 0x5d58fc88 tls_validate_xmit_skb +EXPORT_SYMBOL_GPL net/tls/tls 0x7fffffff tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/tls/tls 0x7fffffff tls_encrypt_skb +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x03a81e69 virtio_transport_stream_allow +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1745814a virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1b6f8aff virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x354a311d virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x3be90dfa virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x3ded1e8f virtio_transport_notify_poll_out +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x40af9f6d virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x49d4428e virtio_transport_seqpacket_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4f228737 virtio_transport_connect +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x52fd14bc virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x61adbc4f virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x78b0f436 virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_dgram_allow +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_do_socket_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_seqpacket_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_seqpacket_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_stream_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x04e073d9 vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x08e72d6f vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0a5c430e vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0e9bc9b6 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x1bbd41ce vsock_add_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x1c3a699e vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2b58b403 vsock_remove_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x31049f7d vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3d4b0fca vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x44420515 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x47b2f4c6 vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x480c11e6 vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4b99648c vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x58fcfe2c vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x599a9e9a vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x5babe3fb vsock_assign_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x6e36e243 vsock_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7459f44a vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_addr_validate +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_connected_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_core_unregister +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_find_cid +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_remove_pending +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x05e559e4 cfg80211_pmsr_complete +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x0f8b1179 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x27123602 cfg80211_vendor_cmd_get_sender +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4e99e686 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x69b26205 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fad2bcd cfg80211_pmsr_report +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fffffff cfg80211_shutdown_all_interfaces +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fffffff cfg80211_vendor_cmd_reply +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fffffff cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fffffff cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fffffff cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fffffff cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fffffff cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fffffff cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fffffff cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fffffff cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0049ca83 xfrm_aead_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00c80741 xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0a575945 xfrm_count_pfkey_auth_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x37a02412 xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x5c699441 xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x72395dc1 xfrm_calg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x7a8ca627 xfrm_count_pfkey_enc_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x7fffffff xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x7fffffff xfrm_calg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x7fffffff xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x7fffffff xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x289ba372 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x3da7bcc3 ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x78e12531 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x7fffffff ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0x4a0c7516 xfrm_msg_min +EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0x7fffffff xfrma_policy +EXPORT_SYMBOL_GPL sound/core/seq/snd-seq 0x7fffffff snd_seq_client_ioctl_lock +EXPORT_SYMBOL_GPL sound/core/seq/snd-seq 0x7fffffff snd_seq_client_ioctl_unlock +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x7fffffff __snd_seq_driver_register +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x7fffffff snd_seq_driver_unregister +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x103a4301 amdtp_am824_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x238f0fce amdtp_am824_set_parameters +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x54d1abf4 amdtp_domain_stream_pcm_pointer +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x62a54aee amdtp_domain_destroy +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x6fc44b6d amdtp_am824_midi_trigger +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x73bf0922 amdtp_am824_set_midi_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_am824_add_pcm_hw_constraints +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_am824_set_pcm_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_domain_add_stream +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_domain_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_domain_start +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_domain_stop +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_domain_stream_pcm_ack +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x05636f93 snd_hdac_aligned_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x064e89c8 snd_hdac_stream_start +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x07e32f36 snd_hdac_bus_stop_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0a40692d snd_hdac_bus_init_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0c18131c snd_hdac_stream_set_params +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0c31bf0b snd_hdac_acomp_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1488641f snd_hdac_aligned_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x18a5cfc2 snd_hdac_regmap_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1908c62b snd_hdac_bus_handle_stream_irq +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x21767fa9 snd_hdac_regmap_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2ca3697c snd_hdac_set_codec_wakeup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x32632ad8 _snd_hdac_read_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3954218f snd_hdac_bus_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3bd544c2 snd_hdac_get_active_channels +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3dc30368 snd_hdac_bus_init_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x40c4d120 snd_hdac_acomp_get_eld +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4124710f snd_hdac_get_connections +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x43665035 snd_hdac_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4402c3e9 snd_hdac_register_chmap_ops +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4718bcb3 snd_hdac_bus_update_rirb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4bc93d90 snd_hdac_stream_setup_periods +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4c7ec4b6 snd_hdac_get_ch_alloc_from_ca +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5020dbba snd_hdac_regmap_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x522b499c snd_hdac_bus_stop_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x539b2565 snd_hdac_device_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x53d769a1 snd_hdac_codec_link_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x555d209f hdac_get_device_id +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x564ac693 snd_hdac_bus_link_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5b65192b snd_hdac_stream_setup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c07cb49 snd_hdac_calc_stream_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6088e071 snd_hdac_bus_exec_verb_unlocked +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x64ea5e42 snd_hda_bus_type +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x660f6753 snd_hdac_stream_release +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67767f64 snd_hdac_regmap_add_vendor_verb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67bfe791 snd_hdac_spk_to_chmap +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6b8e32df snd_hdac_regmap_write_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6bcb3951 snd_hdac_sync_audio_rate +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6c94da77 snd_hdac_display_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6ceaf6fe snd_hdac_dsp_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6ff0d9b9 snd_hdac_setup_channel_mapping +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x70e08f4a snd_hdac_device_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x719028d1 snd_hdac_acomp_register_notifier +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x72d83e4d snd_hdac_stream_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7559d497 snd_hdac_bus_send_cmd +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x770745ca snd_hdac_stream_sync_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7716723a snd_hdac_bus_enter_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77c754a8 snd_hdac_chmap_to_spk_mask +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7d681df8 snd_hdac_power_down_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_array_free +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_array_new +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_acomp_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_bus_alloc_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_bus_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_bus_exit_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_bus_free_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_bus_get_response +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_bus_parse_capabilities +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_bus_reset_link +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_check_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_codec_link_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_codec_modalias +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_codec_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_codec_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_device_register +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_device_set_chip_name +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_device_unregister +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_dsp_prepare +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_dsp_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_get_stream +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_get_stream_stripe_ctl +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_get_sub_nodes +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_is_supported_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_override_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_power_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_power_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_power_up_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_print_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_query_supported_pcm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_read_parm_uncached +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_refresh_widgets +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_regmap_read_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_regmap_update_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_regmap_update_raw_once +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_stop_streams +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_stop_streams_and_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_stream_assign +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_stream_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_stream_clear +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_stream_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_stream_stop +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_stream_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_stream_timecounter_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_sync_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x55eba945 snd_intel_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x7fffffff snd_intel_acpi_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x52b671f0 snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x5662c5ca snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x7b37a9b8 snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x7fffffff snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x7fffffff snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x7fffffff snd_ak4113_create +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x00287c4a snd_hda_codec_load_dsp_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0067bb62 snd_hda_enum_helper_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0334c3a1 snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x038e8ff4 snd_hda_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0676f5ac snd_hda_get_input_pin_attr +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0b083d24 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x12e2e90d snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x13e66088 snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x14753ff4 snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x15ba5c4d __snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1660b9ab snd_hda_codec_parse_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x188d9b01 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x18f1db58 snd_hda_get_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x19466d8b snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1b398649 snd_hda_jack_set_gating_jack +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2a099a9d snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2bcc8247 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2d5b54be snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x30ae6dc9 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x321e3557 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x35617fce snd_hda_codec_amp_init_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x37fab0b2 snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38ce402b azx_interrupt +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3a3548c0 snd_hda_codec_eapd_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3b7e379b snd_hda_get_num_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3cb748a1 snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3ef1a2b5 snd_hda_codec_pcm_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x408172ba snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x413ad8f8 snd_hda_jack_poll_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x423d9e61 snd_hda_codec_device_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x456f8789 hda_codec_driver_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x480f3611 snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4876c134 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x49cf43a4 azx_free_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4b6ed7f3 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4b8cd1a7 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4edeecfc snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x50d2d59e snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5173bfe0 snd_hda_codec_update_widgets +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x51f8a650 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x57bf97c0 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x58750423 snd_hda_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x597cce75 snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5a96d773 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5c8348bf snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5dda7d9b snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x603834b8 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x60a81291 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x631f277a snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6515b39d is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x65b669f2 snd_hda_jack_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6b53424e snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6b5cd508 snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6d56b246 snd_hda_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6e3c32f5 __hda_codec_driver_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6f4e4fae snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7091e216 snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x71a22d6f snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x725e8ae3 snd_hda_codec_set_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x75e12657 snd_hda_get_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x75e5be0c azx_get_position +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x760f49b5 azx_stop_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x78306fde snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7f0a66d5 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff azx_bus_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff azx_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff azx_get_pos_lpib +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff azx_get_pos_posbuf +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff azx_init_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff azx_init_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff azx_probe_codecs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff azx_stop_all_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_check_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_amp_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_cleanup_for_unbind +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_device_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_get_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_load_dsp_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_load_dsp_trigger +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_pcm_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_set_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_correct_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_create_dig_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_get_int_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_jack_add_kctl_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_jack_bind_keymap +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_jack_detect_enable_callback_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_jack_detect_state_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_jack_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_jack_set_button_state +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_jack_tbl_get_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_mixer_amp_switch_get_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_pick_pin_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_set_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_pcm_2_1_chmaps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x0383183d snd_hda_gen_line_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x099a0adf snd_hda_gen_add_micmute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x0e2e1955 snd_hda_gen_parse_auto_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x13154e8e snd_hda_gen_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x189c98e1 snd_hda_gen_stream_pm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x3a0d70cd snd_hda_gen_fix_pin_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x425bb9b8 snd_hda_get_path_from_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x43b1108c snd_hda_gen_path_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x4e6f7579 snd_hda_get_path_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x553f7dde snd_hda_gen_spec_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x66d55b9f snd_hda_gen_add_mute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x6b4f3fd9 snd_hda_gen_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x76dc6871 hda_main_out_badness +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7a26da08 snd_hda_gen_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff hda_extra_out_badness +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_activate_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_add_new_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_gen_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_gen_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_gen_check_power_status +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_gen_hp_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_gen_mic_autoswitch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_gen_update_outputs +EXPORT_SYMBOL_GPL sound/soc/codecs/mt6359-accdet 0x55e85981 mt6359_accdet_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau-utils 0x7fffffff adau_calc_pll_cfg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1372 0x3c54153e adau1372_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x7fffffff adau1761_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x7fffffff adau1761_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x07f5400c adau17x1_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x29fb0f91 adau17x1_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x3b57fe60 adau17x1_set_micbias_voltage +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x3f26ea6d adau17x1_precious_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x4186851e adau17x1_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x63492761 adau17x1_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x7ab9f694 adau17x1_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x7fffffff adau17x1_add_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x7fffffff adau17x1_add_widgets +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x7fffffff adau17x1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau7118 0x7fffffff adau7118_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0x2d38e037 cs35l41_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0x448705a6 cs35l41_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0x7fffffff cs35l41_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x024057d2 cs35l41_global_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x1daded68 cs35l41_otp_unpack +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x1f2f0134 cs35l41_test_key_lock +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x21902ea7 cs35l41_regmap_spi +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x24aef8cc cs35l41_register_errata_patch +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x43741be9 cs35l41_safe_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x61e4c433 cs35l41_init_boost +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x70e39c81 cs35l41_configure_cs_dsp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7b03b264 cs35l41_exit_hibernate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7fffffff cs35l41_enter_hibernate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7fffffff cs35l41_gpio_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7fffffff cs35l41_regmap_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7fffffff cs35l41_set_channels +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7fffffff cs35l41_set_cspl_mbox_cmd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7fffffff cs35l41_test_key_unlock +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7fffffff cs35l41_write_fs_errata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x3d7825a0 cs4271_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x7d05786f cs4271_dt_ids +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x7fffffff cs4271_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x375ad98c cs42l51_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x3d20b7cc cs42l51_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x7fffffff cs42l51_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x7fffffff cs42l51_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x7fffffff cs42l51_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x7fffffff cs42l51_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x0245c4f2 cs42xx8_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x55530a48 cs42xx8_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x771921b4 cs42xx8_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7cac7292 cs42888_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7fffffff cs42448_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7fffffff cs42xx8_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x017913c2 da7219_aad_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x7fffffff da7219_aad_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x7fffffff da7219_aad_jack_det +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x7fffffff da7219_aad_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x2053cb26 es8328_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x7fffffff es8328_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-lpass-macro-common 0x7fffffff lpass_macro_pds_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-lpass-macro-common 0x7fffffff lpass_macro_pds_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98090 0x7fffffff max98090_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x0f458611 soc_codec_dev_max98373_sdw +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x4bb172cf max98373_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x7fffffff max98373_slot_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x7fffffff soc_codec_dev_max98373 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x08243729 mt6358_set_mtkaif_calibration_phase +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x2218ece4 mt6358_mtkaif_calibration_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x2c11f8a4 mt6358_set_mtkaif_protocol +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x7fffffff mt6358_mtkaif_calibration_disable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0x32b698af mt6359_set_mtkaif_protocol +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0x3cbf8cef mt6359_mtkaif_calibration_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0x4258043a mt6359_mtkaif_calibration_disable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0x7fffffff mt6359_set_mtkaif_calibration_phase +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8821 0x7fffffff nau8821_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0x483b9ce4 nau8824_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0x7fffffff nau8824_components +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x2225649e pcm1789_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x7cac9adf pcm1789_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x7fffffff pcm1789_common_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0x1999ddf3 pcm179x_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0x7b1c36f7 pcm179x_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x1d68273e pcm186x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x7fffffff pcm186x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x127af4de pcm3168a_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x7fffffff pcm3168a_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x7fffffff pcm3168a_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x7fffffff pcm3168a_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x6cc882be pcm512x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x7fffffff pcm512x_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x7fffffff pcm512x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x7fffffff pcm512x_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x5dc92cdf rl6231_pll_calc +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x70617a04 rl6231_get_clk_info +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x7fffffff rl6231_calc_dmic_clk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x7fffffff rl6231_get_pre_div +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5514-spi 0x554467a3 rt5514_spi_burst_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5514-spi 0x7fffffff rt5514_spi_burst_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x070a180e rt5640_enable_micbias1_for_ovcd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x361e0c84 rt5640_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x7fffffff rt5640_detect_headset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x7fffffff rt5640_disable_micbias1_for_ovcd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x7fffffff rt5640_dmic_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x7fffffff rt5640_set_ovcd_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0x0d772a89 rt5645_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0x7fffffff rt5645_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5659 0x7fffffff rt5659_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5663 0x7fffffff rt5663_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677 0x7fffffff rt5677_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x425a794d rt5677_spi_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x7fffffff rt5677_spi_hotword_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x7fffffff rt5677_spi_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x7fffffff rt5677_spi_write_firmware +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x0b15d791 rt5682_apply_patch_list +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x16ead4f3 rt5682_soc_component_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x26466045 rt5682_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x28730696 rt5682_supply_names +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x34cb1a7a rt5682_aif1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x4e005192 rt5682_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x5c7f84c4 rt5682_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x756c6e11 rt5682_parse_dt +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7fffffff rt5682_aif2_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7fffffff rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7fffffff rt5682_jack_detect_handler +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7fffffff rt5682_reg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7fffffff rt5682_register_dai_clks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7fffffff rt5682_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682s 0x7fffffff rt5682s_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x5fd8fdd9 devm_sigmadsp_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x6f706b03 sigmadsp_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x7fffffff sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x7fffffff sigmadsp_restrict_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x7fffffff sigmadsp_setup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-i2c 0x3d74fd4f devm_sigmadsp_init_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-regmap 0x23a66124 devm_sigmadsp_init_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x0514254d ssm2602_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x7fffffff ssm2602_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic32x4 0x5f6d4007 aic32x4_register_clocks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x674ee78e aic3x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0x0fef9545 ts3a227e_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x432345fb twl6040_hs_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x6e4523ce twl6040_get_trim_value +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x7fffffff twl6040_get_clk_id +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x7fffffff twl6040_get_dl1_gain +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-twl6040 0x7fffffff twl6040_get_hs_step_size +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd-mbhc 0x7fffffff wcd_mbhc_event_notify +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x1f6ae7e9 wcd938x_sdw_set_sdw_stream +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x26d0425e wcd938x_sdw_hw_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x2f0d1c5e wcd938x_sdw_device_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x7fffffff wcd938x_sdw_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x7fffffff wcd938x_swr_get_current_bank +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x0b9b199b wm_adsp2_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x13c19575 wm_adsp2_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x1dba7535 wm_adsp_read_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x1e835d4f wm_adsp_compr_get_caps +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x2cc8035c wm_adsp_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x36f1ef1f wm_adsp2_component_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x4dc25f46 wm_adsp_compr_handle_irq +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x52c16479 wm_halo_wdt_expire +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x5c6947c5 wm_adsp_fw_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x6cd08f34 wm_adsp_compr_open +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x6e2aae0b wm_adsp_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x77b2cc04 wm_adsp_compr_copy +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x78c1e1c7 wm_adsp2_preloader_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7a98a6fe wm_adsp1_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp1_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp2_bus_error +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp2_component_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp2_preloader_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp2_set_dspclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp_compr_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp_early_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp_fw_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp_fw_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp_write_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_halo_bus_error +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_halo_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x16c0528a wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x1cfcaa38 wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x2520c9d3 wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x2d2e3c9d wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x4d42326b wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x5b9baf3c wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x5cd7eb9b wm_hubs_dcs_done +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x757206d5 wm_hubs_spkmix_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x7fffffff wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x7fffffff wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x5cc66d67 wm8731_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x7fffffff wm8731_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x019697dd wm8804_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x1a717f59 wm8804_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x52e23955 wm8804_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x7fffffff wm8804_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x7fffffff wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0x6f013484 wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x5bec9946 wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x7fffffff wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0x6ea9210b fsl_asrc_component +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card 0x33f397c2 audio_graph_parse_of +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0x7dd3e5a4 audio_graph2_link_normal +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0x7fffffff audio_graph2_link_c2c +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0x7fffffff audio_graph2_link_dpcm +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0x7fffffff audio_graph2_parse_of +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x13a3000b asoc_simple_parse_widgets +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x21cbae12 asoc_simple_shutdown +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x34015802 asoc_simple_init_priv +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x3b3bb351 asoc_simple_parse_clk +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x4231c08b asoc_simple_set_dailink_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x45525f51 asoc_simple_canonicalize_cpu +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x4d945bae asoc_graph_card_probe +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x577f49e0 asoc_simple_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x5bd0373a asoc_simple_clean_reference +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x68591779 asoc_simple_startup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7250b9ca asoc_simple_hw_params +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_graph_is_ports0 +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_be_hw_params_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_canonicalize_platform +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_convert_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_init_jack +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_parse_convert +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_parse_routing +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_parse_tdm_width_map +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_remove +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x02d3a475 mtk_memif_set_disable +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x08eb4db0 mtk_dynamic_irq_release +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x0e8fa638 mtk_afe_combine_sub_dai +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x0f7ab2ca mtk_afe_fe_startup +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x188c9620 mtk_memif_set_rate_substream +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x1fde393f mtk_afe_fe_ops +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x21dfc1a6 mtk_afe_fe_prepare +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x269660c9 mtk_afe_pcm_platform +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x2ec843aa mtk_memif_set_pbuf_size +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x312cbf47 mtk_memif_set_format +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x489e3b17 mtk_afe_fe_hw_params +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x66668910 mtk_afe_fe_shutdown +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x69983d9e mtk_afe_resume +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x6bae1c7b mtk_memif_set_addr +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7fffffff mtk_afe_add_sub_dai_control +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7fffffff mtk_afe_fe_hw_free +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7fffffff mtk_afe_fe_trigger +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7fffffff mtk_afe_pcm_new +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7fffffff mtk_afe_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7fffffff mtk_afe_suspend +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7fffffff mtk_dynamic_irq_acquire +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7fffffff mtk_memif_set_channel +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7fffffff mtk_memif_set_enable +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7fffffff mtk_memif_set_rate +EXPORT_SYMBOL_GPL sound/soc/mediatek/mt8195/snd-soc-mt8195-afe 0x40e2f88c mt8195_afe_enable_clk +EXPORT_SYMBOL_GPL sound/soc/mediatek/mt8195/snd-soc-mt8195-afe 0x7fffffff mt8195_afe_disable_clk +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x3b833827 axg_fifo_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x44546d8e axg_fifo_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x4928a172 axg_fifo_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x59dc9bff axg_fifo_pcm_hw_free +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x70761977 axg_fifo_pcm_close +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x7fffffff axg_fifo_pcm_new +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x7fffffff axg_fifo_pcm_open +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x7fffffff axg_fifo_pcm_trigger +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x7fffffff g12a_fifo_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x14468237 axg_tdm_formatter_set_channel_masks +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x314f9f02 axg_tdm_stream_alloc +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x443d22ba axg_tdm_stream_free +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x506c837c axg_tdm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x7c1869df axg_tdm_formatter_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x7fffffff axg_tdm_formatter_event +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x7fffffff axg_tdm_stream_start +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-interface 0x7fffffff axg_tdm_set_tdm_slots +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x73f10bd3 meson_card_set_be_link +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x77546f07 meson_card_set_fe_link +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x7fffffff meson_card_i2s_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x7fffffff meson_card_parse_dai +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x7fffffff meson_card_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x7fffffff meson_card_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x7fffffff meson_card_reallocate_links +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x7fffffff meson_card_remove +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x46cf3ac4 meson_codec_glue_output_startup +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x75e609a6 meson_codec_glue_input_dai_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x7b5f5d63 meson_codec_glue_input_set_fmt +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x7fffffff meson_codec_glue_input_dai_remove +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x7fffffff meson_codec_glue_input_get_data +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x7fffffff meson_codec_glue_input_hw_params +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x132ebb13 q6adm_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x28421460 q6adm_get_copp_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x3b168286 q6adm_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x7fffffff q6adm_matrix_map +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x07a54780 q6afe_cdc_dma_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x369b6eeb q6afe_port_put +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x3b16d6e7 q6afe_port_stop +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x498d993b q6afe_get_port_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x5332304f q6afe_slim_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x66b99662 q6afe_set_lpass_clock +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x7df60063 q6afe_port_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x7fffffff q6afe_hdmi_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x7fffffff q6afe_i2s_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x7fffffff q6afe_port_get_from_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x7fffffff q6afe_port_start +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x7fffffff q6afe_tdm_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x13b7efd9 q6asm_cmd +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x1b6c77fc q6asm_stream_media_format_block_alac +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x25bfa476 q6asm_open_write +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x2b693eed q6asm_stream_media_format_block_wma_v9 +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x4afe6f73 q6asm_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x4fba2f0c q6asm_run_nowait +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x56418ca6 q6asm_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x68db31e2 q6asm_unmap_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x6cec4b17 q6asm_stream_remove_trailing_silence +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_audio_client_alloc +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_audio_client_free +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_cmd_nowait +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_enc_cfg_blk_pcm_format_support +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_get_session_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_media_format_block_multi_ch_pcm +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_open_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_run +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_stream_media_format_block_ape +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_stream_media_format_block_flac +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_stream_media_format_block_wma_v10 +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_stream_remove_initial_silence +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_write_async +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6core 0x7e52e977 q6core_is_adsp_ready +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6core 0x7fffffff q6core_get_svc_api_info +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6prm 0x5510c8c0 q6prm_set_lpass_clock +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6prm 0x7fffffff q6prm_unvote_lpass_core_hw +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6prm 0x7fffffff q6prm_vote_lpass_core_hw +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6routing 0x5b75f756 q6routing_stream_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6routing 0x7fffffff q6routing_stream_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x0425ba67 audioreach_get_container_first_module +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x07096300 audioreach_graph_send_cmd_sync +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x08b1a616 q6apm_graph_flush +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x0f8d51fa audioreach_get_container_next_module +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x145cf8f6 audioreach_alloc_apm_cmd_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x1613c749 q6apm_graph_start +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x1f7c1391 audioreach_gain_set_vol_ctrl +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x206a2c27 q6apm_write_async +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x20db903d audioreach_graph_free_buf +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x29db8554 q6apm_graph_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x2cafe69e audioreach_set_media_format +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x2d7f6fc1 q6apm_graph_get_rx_shmem_module_iid +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x3b33eeca audioreach_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x4063c478 audioreach_shared_memory_send_eos +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x423ef2ed q6apm_graph_stop +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x5543dd66 audioreach_alloc_apm_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x56b121a5 audioreach_get_container_last_module +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x64dc5171 audioreach_alloc_cmd_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7f4d39c8 audioreach_alloc_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff audioreach_alloc_graph_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff audioreach_send_cmd_sync +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff audioreach_tplg_init +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff q6apm_graph_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff q6apm_graph_media_format_pcm +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff q6apm_graph_media_format_shmem +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff q6apm_graph_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff q6apm_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff q6apm_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff q6apm_unmap_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0x0f44f2b2 q6dsp_clock_dev_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0x17142e58 q6dsp_map_channels +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0x600c8fe9 q6dsp_audio_ports_of_xlate_dai_name +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0x7fffffff q6dsp_audio_ports_set_config +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cdc-dma 0x56a3facc asoc_qcom_lpass_cdc_dma_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x2ce730fd asoc_qcom_lpass_cpu_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x41c4fb68 asoc_qcom_lpass_cpu_platform_shutdown +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x7fffffff asoc_qcom_lpass_cpu_dai_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x7fffffff asoc_qcom_lpass_cpu_platform_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x7fffffff asoc_qcom_lpass_cpu_platform_remove +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x7fffffff lpass_cpu_pcm_new +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-hdmi 0x7fffffff asoc_qcom_lpass_hdmi_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-platform 0x77ed5f79 asoc_qcom_lpass_platform_register +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-machine 0x7fffffff tegra_asoc_machine_init +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-machine 0x7fffffff tegra_asoc_machine_probe +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x121aa505 tegra_pcm_construct +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x2b336f95 tegra_pcm_open +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x3f9272bc tegra_pcm_close +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x5793de1a tegra_pcm_platform_register_with_chan_names +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x7fffffff devm_tegra_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x7fffffff tegra_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x7fffffff tegra_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x7fffffff tegra_pcm_platform_unregister +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x7fffffff tegra_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra20-das 0x0d54c9b9 tegra20_das_connect_dap_to_dac +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra20-das 0x7fffffff tegra20_das_connect_dac_to_dap +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra20-das 0x7fffffff tegra20_das_connect_dap_to_dap +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x386bbc30 tegra30_ahub_allocate_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x55a40206 tegra30_ahub_disable_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x5d7237ff tegra30_ahub_set_cif +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x6060e6f9 tegra30_ahub_allocate_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x6fe20143 tegra30_ahub_set_rx_cif_source +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x7fffffff tegra124_ahub_set_cif +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x7fffffff tegra30_ahub_disable_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x7fffffff tegra30_ahub_enable_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x7fffffff tegra30_ahub_enable_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x7fffffff tegra30_ahub_free_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x7fffffff tegra30_ahub_free_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x7fffffff tegra30_ahub_unset_rx_cif_source +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-omap-mcbsp 0x2b668508 omap_mcbsp_st_add_controls +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-omap-mcpdm 0x7fffffff omap_mcpdm_configure_dn_offsets +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-edma 0x44d4d202 edma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-sdma 0x01948c7a sdma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-udma 0x37db646c udma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x0953199f line6_resume +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x0e74c0fd line6_write_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x19a86fc0 line6_read_serial_number +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x202a1b1b line6_midi_id +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x22ce947b line6_send_raw_message_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x3af185ef line6_init_pcm +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x3fc4fc4f line6_init_midi +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x452e906b line6_read_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x5e21b223 line6_send_sysex_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x790dfdbc line6_pcm_release +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7f1414dd line6_send_raw_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7fffffff line6_alloc_sysex_buffer +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7fffffff line6_disconnect +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7fffffff line6_pcm_acquire +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7fffffff line6_probe +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7fffffff line6_suspend +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7fffffff line6_version_request_async +EXPORT_SYMBOL_GPL virt/lib/irqbypass 0x3fe35aea irq_bypass_unregister_consumer +EXPORT_SYMBOL_GPL virt/lib/irqbypass 0x418873cc irq_bypass_register_producer +EXPORT_SYMBOL_GPL virt/lib/irqbypass 0x7fffffff irq_bypass_register_consumer +EXPORT_SYMBOL_GPL virt/lib/irqbypass 0x7fffffff irq_bypass_unregister_producer +EXPORT_SYMBOL_GPL vmlinux 0x0000f79a devfreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x00010d0b vchan_tx_submit +EXPORT_SYMBOL_GPL vmlinux 0x0007e75e espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0x002a0b10 fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0x002fb3dd pm_clk_remove_clk +EXPORT_SYMBOL_GPL vmlinux 0x00436469 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x004618d8 validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x0053e821 tracepoint_probe_register_prio_may_exist +EXPORT_SYMBOL_GPL vmlinux 0x005baf81 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x00632780 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x007f1810 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x00b446f4 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL vmlinux 0x00b71b58 sdhci_switch_external_dma +EXPORT_SYMBOL_GPL vmlinux 0x00bfe7c4 hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x00cc0078 xhci_reset_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0x00cdcc04 ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0x00d4c500 usb_decode_interval +EXPORT_SYMBOL_GPL vmlinux 0x00d8a269 tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x011c4b4a pm_runtime_get_if_active +EXPORT_SYMBOL_GPL vmlinux 0x01232100 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0x0130b402 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x0138c44d dev_pm_qos_update_user_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x013922e1 dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0x01497e37 gadget_find_ep_by_name +EXPORT_SYMBOL_GPL vmlinux 0x014b7e41 __mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x014e8186 cpu_scale +EXPORT_SYMBOL_GPL vmlinux 0x0154d637 tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0x01594edc clk_hw_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x0171e3f5 devl_rate_leaf_create +EXPORT_SYMBOL_GPL vmlinux 0x01866a57 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x01879793 perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0x018f056f device_add +EXPORT_SYMBOL_GPL vmlinux 0x01baea82 dev_coredumpm +EXPORT_SYMBOL_GPL vmlinux 0x01c0c9c5 folio_wait_stable +EXPORT_SYMBOL_GPL vmlinux 0x01c6cb0c cpu_cluster_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x01e1102e pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01e5fd18 ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x01ed89ed snd_soc_unregister_component_by_driver +EXPORT_SYMBOL_GPL vmlinux 0x0200568c __regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x0203183a sdhci_dumpregs +EXPORT_SYMBOL_GPL vmlinux 0x0207a6c6 reset_control_bulk_acquire +EXPORT_SYMBOL_GPL vmlinux 0x0221e713 extcon_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x022b1f3b is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x0240c2f7 nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0x0240f492 mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0x026f3380 btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0x027abae0 synth_event_create +EXPORT_SYMBOL_GPL vmlinux 0x028026bc perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0x028f5d96 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x0291eeb0 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x02b485fb of_usb_update_otg_caps +EXPORT_SYMBOL_GPL vmlinux 0x02c4c456 rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0x02c5c501 power_supply_find_ocv2cap_table +EXPORT_SYMBOL_GPL vmlinux 0x02c894c2 bdev_alignment_offset +EXPORT_SYMBOL_GPL vmlinux 0x02ca29de sec_irq_init +EXPORT_SYMBOL_GPL vmlinux 0x02e662ab dt_init_idle_driver +EXPORT_SYMBOL_GPL vmlinux 0x02ea61a6 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x02f13c02 set_secondary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x0302e913 mmc_cmdq_enable +EXPORT_SYMBOL_GPL vmlinux 0x0304deaa dapm_mark_endpoints_dirty +EXPORT_SYMBOL_GPL vmlinux 0x030d67ae gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0x0312b3b0 reset_controller_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x031325b6 dev_pm_qos_hide_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x03164d2c irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x0319ef04 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x0321cdbf of_alias_get_highest_id +EXPORT_SYMBOL_GPL vmlinux 0x032949c6 genphy_c45_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x032a86c0 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x032de469 user_describe +EXPORT_SYMBOL_GPL vmlinux 0x03315f0c btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0333c1cb lp8788_read_byte +EXPORT_SYMBOL_GPL vmlinux 0x033832c7 usb_amd_hang_symptom_quirk +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x03440880 serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x0358628b phy_set_media +EXPORT_SYMBOL_GPL vmlinux 0x036bb262 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x036d8e9b klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x0388a87a of_phandle_iterator_next +EXPORT_SYMBOL_GPL vmlinux 0x038f5b7a cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x03a46c7e phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x03aa2ad4 ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0x03b2623e __tracepoint_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x03d0c194 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x0402f7ba ahci_platform_disable_clks +EXPORT_SYMBOL_GPL vmlinux 0x04060cc4 devm_regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x0412332f rcar_rst_set_rproc_boot_addr +EXPORT_SYMBOL_GPL vmlinux 0x0415bc57 devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x041c2740 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL vmlinux 0x0423fde9 gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x0428e2ea blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0x042dac7e devm_bitmap_zalloc +EXPORT_SYMBOL_GPL vmlinux 0x0433e419 iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x044a78cc crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x0450401d crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0x0465a073 regmap_reg_in_ranges +EXPORT_SYMBOL_GPL vmlinux 0x046dee92 bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0x046f359e of_overlay_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x04759762 serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x048d446e devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0x049f11d9 cpuidle_unregister +EXPORT_SYMBOL_GPL vmlinux 0x049ff56d platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x04a4dd7b power_supply_get_property_from_supplier +EXPORT_SYMBOL_GPL vmlinux 0x04a78480 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x04a8b384 mtd_ooblayout_find_eccregion +EXPORT_SYMBOL_GPL vmlinux 0x04ae4635 trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0x04b6cacb regmap_attach_dev +EXPORT_SYMBOL_GPL vmlinux 0x04c41c60 devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04c8aebf console_verbose +EXPORT_SYMBOL_GPL vmlinux 0x04cdd9cf snd_pcm_hw_constraint_eld +EXPORT_SYMBOL_GPL vmlinux 0x04d9aceb inode_dax +EXPORT_SYMBOL_GPL vmlinux 0x04dcce4e remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x04e1b99f snd_pcm_std_chmaps +EXPORT_SYMBOL_GPL vmlinux 0x04e8e734 of_irq_parse_and_map_pci +EXPORT_SYMBOL_GPL vmlinux 0x05040081 devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0x050f8a12 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x0510e01b devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0x051a0bc1 stack_depot_fetch +EXPORT_SYMBOL_GPL vmlinux 0x052b4013 register_vmcore_cb +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x053d738a __SCK__tp_func_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x0543cf1d tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0x054c732f fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x055394dd usb_get_role_switch_default_mode +EXPORT_SYMBOL_GPL vmlinux 0x0557bcd0 device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x055a378a vfio_register_iommu_driver +EXPORT_SYMBOL_GPL vmlinux 0x056090fe dev_pm_domain_detach +EXPORT_SYMBOL_GPL vmlinux 0x05610897 of_changeset_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0563364a of_reconfig_get_state_change +EXPORT_SYMBOL_GPL vmlinux 0x05641313 imx_clk_hw_sscg_pll +EXPORT_SYMBOL_GPL vmlinux 0x0585b7cc of_reserved_mem_lookup +EXPORT_SYMBOL_GPL vmlinux 0x05883efb __traceiter_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x058b67a5 ahci_platform_init_host +EXPORT_SYMBOL_GPL vmlinux 0x058e5310 devlink_port_linecard_set +EXPORT_SYMBOL_GPL vmlinux 0x05926a5e pci_iomap_wc_range +EXPORT_SYMBOL_GPL vmlinux 0x05a0f893 rio_set_port_lockout +EXPORT_SYMBOL_GPL vmlinux 0x05a1077c __traceiter_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x05a12e98 __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x05a16291 pm_clk_add +EXPORT_SYMBOL_GPL vmlinux 0x05a460b3 rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x05a51e86 bio_end_io_acct_remapped +EXPORT_SYMBOL_GPL vmlinux 0x05a924bd snd_soc_dai_compr_startup +EXPORT_SYMBOL_GPL vmlinux 0x05b053b6 evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0x05b4e4f8 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x05c93cab __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x05c9f6f7 cpufreq_freq_transition_begin +EXPORT_SYMBOL_GPL vmlinux 0x05e62687 dbs_update +EXPORT_SYMBOL_GPL vmlinux 0x05e6464d report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0x06024945 devm_irq_domain_create_sim +EXPORT_SYMBOL_GPL vmlinux 0x060abbf2 hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0x06122337 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x06154697 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x061cd2fd pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL vmlinux 0x0625f101 __traceiter_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x0626da5f od_unregister_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x06286bea of_usb_host_tpl_support +EXPORT_SYMBOL_GPL vmlinux 0x062f5fc0 ata_sas_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x06456ebb usb_hub_find_child +EXPORT_SYMBOL_GPL vmlinux 0x064be0c1 __regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x0652086f usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x0674c79a sm501_unit_power +EXPORT_SYMBOL_GPL vmlinux 0x068721b8 ata_sas_tport_delete +EXPORT_SYMBOL_GPL vmlinux 0x068e76b3 gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x06942d5d serial8250_em485_start_tx +EXPORT_SYMBOL_GPL vmlinux 0x06a19cc0 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x06a1f0e4 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x06a5aa4b bio_trim +EXPORT_SYMBOL_GPL vmlinux 0x06a7a968 genpd_dev_pm_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x06b53bd2 memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0x06b8aa91 of_usb_get_dr_mode_by_phy +EXPORT_SYMBOL_GPL vmlinux 0x06bde660 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06cf309b scsi_device_from_queue +EXPORT_SYMBOL_GPL vmlinux 0x06d142db of_add_property +EXPORT_SYMBOL_GPL vmlinux 0x06d1c125 snd_soc_bytes_tlv_callback +EXPORT_SYMBOL_GPL vmlinux 0x06d2b195 btree_init +EXPORT_SYMBOL_GPL vmlinux 0x06d9c3b4 snd_soc_new_ac97_component +EXPORT_SYMBOL_GPL vmlinux 0x06e92aea nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0x06eac34f verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x06fe00be sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0x070593e6 icc_enable +EXPORT_SYMBOL_GPL vmlinux 0x071009f8 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x0713645c hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x073559c5 fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x07392b1f crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0x073df4ba perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0x07483e13 cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0x0753a320 sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x0756a31c register_platform_power_off +EXPORT_SYMBOL_GPL vmlinux 0x075be30b pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0x075f25f5 bio_blkcg_css +EXPORT_SYMBOL_GPL vmlinux 0x076356e7 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x076951fd blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x07721777 extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x077aa142 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x07944d66 dax_inode +EXPORT_SYMBOL_GPL vmlinux 0x07ad0e1a ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07bb71b1 snd_pcm_stream_lock +EXPORT_SYMBOL_GPL vmlinux 0x07be6905 net_inc_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x07c3a135 badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0x07d60c79 __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x07dbd2e9 usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL vmlinux 0x07e041fe regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x07e07042 mtk_mmsys_ddp_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x07f5bfed __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x07fe8d7a clk_hw_register_composite +EXPORT_SYMBOL_GPL vmlinux 0x07ff0c79 bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0x080fb8e4 is_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x08106a53 devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x08192b9f fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x0827c423 snd_dmaengine_pcm_open_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x082cf2d8 snd_soc_info_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0x08384264 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x083f76c3 fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x0849478b regulator_set_suspend_voltage +EXPORT_SYMBOL_GPL vmlinux 0x085f97c6 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x087d59e0 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL vmlinux 0x087f5dc5 wm831x_of_match +EXPORT_SYMBOL_GPL vmlinux 0x08871639 __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x0897fb97 vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x0899f34e crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0x089f50c5 pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x08a6d1b9 pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x08a88a9f __SCK__tp_func_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x08b513b8 devl_port_register +EXPORT_SYMBOL_GPL vmlinux 0x08d3c5a9 adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x08d46d52 snd_soc_limit_volume +EXPORT_SYMBOL_GPL vmlinux 0x08d5c1c1 regmap_write_async +EXPORT_SYMBOL_GPL vmlinux 0x08ed6cb0 blk_mq_wait_quiesce_done +EXPORT_SYMBOL_GPL vmlinux 0x08f57f06 devm_led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x08fbc11a adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x08ff9ed4 pci_vpd_alloc +EXPORT_SYMBOL_GPL vmlinux 0x090375c0 phy_restore_page +EXPORT_SYMBOL_GPL vmlinux 0x09077a71 of_clk_get_parent_name +EXPORT_SYMBOL_GPL vmlinux 0x091105a8 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x09138663 rio_add_device +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x0944407e usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x09492220 musb_mailbox +EXPORT_SYMBOL_GPL vmlinux 0x094c3d2d snd_soc_dai_link_set_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x094dbbf4 devm_tegra_memory_controller_get +EXPORT_SYMBOL_GPL vmlinux 0x096a377f ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x097438fe blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x097fa724 mdiobus_modify +EXPORT_SYMBOL_GPL vmlinux 0x09877e8d md_submit_discard_bio +EXPORT_SYMBOL_GPL vmlinux 0x0992d44d cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x09a13d16 usb_ep_enable +EXPORT_SYMBOL_GPL vmlinux 0x09a8b03b fscrypt_set_bio_crypt_ctx +EXPORT_SYMBOL_GPL vmlinux 0x09ac1387 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x09b46729 usb_wakeup_enabled_descendants +EXPORT_SYMBOL_GPL vmlinux 0x09b51cc2 rio_pw_enable +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09b9681d elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0x09bba50d fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x09e001bf pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x09e53260 __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x09e913c1 snd_pcm_alt_chmaps +EXPORT_SYMBOL_GPL vmlinux 0x09f710b9 snd_soc_component_compr_trigger +EXPORT_SYMBOL_GPL vmlinux 0x0a0d0e66 pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x0a2023e1 __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0x0a243e02 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x0a27456f ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x0a2d38a4 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x0a3408e4 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0x0a37a5f4 serial8250_read_char +EXPORT_SYMBOL_GPL vmlinux 0x0a4132b2 sysfs_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x0a5f8831 trace_array_init_printk +EXPORT_SYMBOL_GPL vmlinux 0x0a68d6f3 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a6c8d19 i2c_slave_register +EXPORT_SYMBOL_GPL vmlinux 0x0a73cfa7 regmap_get_raw_read_max +EXPORT_SYMBOL_GPL vmlinux 0x0ab2349b pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0x0ab4bfe4 __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0x0ac728af usb_of_get_interface_node +EXPORT_SYMBOL_GPL vmlinux 0x0ad54bc9 splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0x0ad7c7b9 ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x0aeadea5 fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x0aecdec4 ahci_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x0af0499f virtio_device_restore +EXPORT_SYMBOL_GPL vmlinux 0x0af388a0 sdhci_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0x0afe56b4 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b0e3438 ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0x0b160466 mmput +EXPORT_SYMBOL_GPL vmlinux 0x0b19b18f register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x0b2970fe klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x0b3506aa ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0x0b3b6d62 cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0x0b439e8d ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x0b460086 device_iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0x0b4a8834 musb_writeb +EXPORT_SYMBOL_GPL vmlinux 0x0b57411d regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x0b5c242d sk_psock_init +EXPORT_SYMBOL_GPL vmlinux 0x0b6ccaa5 register_mtd_blktrans +EXPORT_SYMBOL_GPL vmlinux 0x0b6e15fc rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0x0b6e986b __traceiter_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x0b7b523d ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x0b9b9ba7 da9052_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x0b9c10c4 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0ba1ce1e put_pid +EXPORT_SYMBOL_GPL vmlinux 0x0ba5d493 pci_host_common_remove +EXPORT_SYMBOL_GPL vmlinux 0x0bab14ea nand_deselect_target +EXPORT_SYMBOL_GPL vmlinux 0x0bb028d4 hisi_clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x0bb69c7a xhci_ext_cap_init +EXPORT_SYMBOL_GPL vmlinux 0x0bb791ef dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x0bbb77fc mtk_free_clk_data +EXPORT_SYMBOL_GPL vmlinux 0x0bdcb7bc snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL vmlinux 0x0bee1f82 of_dma_xlate_by_chan_id +EXPORT_SYMBOL_GPL vmlinux 0x0bf0fb7d __sdhci_read_caps +EXPORT_SYMBOL_GPL vmlinux 0x0bf32478 __SCK__tp_func_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c18a5dd balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x0c251710 mtd_read +EXPORT_SYMBOL_GPL vmlinux 0x0c2fe12c sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x0c303f52 bch_encode +EXPORT_SYMBOL_GPL vmlinux 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x0c36fc8b usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x0c3acb4a key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0x0c3c83da nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0x0c4298f4 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x0c468731 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x0c4ef21d sdhci_reset +EXPORT_SYMBOL_GPL vmlinux 0x0c625788 snd_soc_component_force_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x0c7d3821 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x0c88c1c3 pci_vpd_find_id_string +EXPORT_SYMBOL_GPL vmlinux 0x0ca352a8 fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x0ca61f60 sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x0cbab9e0 sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x0cc9d36c iommu_group_claim_dma_owner +EXPORT_SYMBOL_GPL vmlinux 0x0ccd7ac5 snd_soc_register_card +EXPORT_SYMBOL_GPL vmlinux 0x0ce144fc device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x0ce20966 dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0x0cf8bcfc inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x0cfe98ff addrconf_add_linklocal +EXPORT_SYMBOL_GPL vmlinux 0x0d0e9d42 snd_pcm_add_chmap_ctls +EXPORT_SYMBOL_GPL vmlinux 0x0d120dbb sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x0d13d32c input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x0d27775f ehci_adjust_port_wakeup_flags +EXPORT_SYMBOL_GPL vmlinux 0x0d280d92 fixed_phy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0d3e3481 bch_free +EXPORT_SYMBOL_GPL vmlinux 0x0d3f2fac __traceiter_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x0d4138f3 snd_dmaengine_pcm_trigger +EXPORT_SYMBOL_GPL vmlinux 0x0d459213 work_on_cpu_safe +EXPORT_SYMBOL_GPL vmlinux 0x0d4961de nf_log_buf_open +EXPORT_SYMBOL_GPL vmlinux 0x0d58c22a sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x0d5a39b5 sk_msg_is_readable +EXPORT_SYMBOL_GPL vmlinux 0x0d76af3e wwan_create_port +EXPORT_SYMBOL_GPL vmlinux 0x0d7cc113 __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0x0d7e3039 __traceiter_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x0da19ea7 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x0da260c8 fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x0dbc0c0e fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x0dcb3ee8 divider_recalc_rate +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0dfdfd15 xhci_resume +EXPORT_SYMBOL_GPL vmlinux 0x0e03a1fe snd_soc_find_dai +EXPORT_SYMBOL_GPL vmlinux 0x0e097467 bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x0e0c6a7d crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0x0e29f9a7 topology_update_thermal_pressure +EXPORT_SYMBOL_GPL vmlinux 0x0e38c4e0 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x0e396160 snd_soc_dapm_update_dai +EXPORT_SYMBOL_GPL vmlinux 0x0e51f13c gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0x0e557588 dapm_clock_event +EXPORT_SYMBOL_GPL vmlinux 0x0e5b4975 __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x0e5cc9d7 xdp_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x0e5e204d event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0x0e636fc6 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x0e6caf92 regulator_set_active_discharge_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0e791dab mtk_pinconf_drive_set_raw +EXPORT_SYMBOL_GPL vmlinux 0x0e7d687a virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0x0e83151f unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x0e8a574a cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x0e968f92 __get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x0ebac269 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x0ed30357 phy_pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x0ee864bb cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x0eeb5417 __kprobe_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x0ef737cf bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0x0efe490e clk_register_composite +EXPORT_SYMBOL_GPL vmlinux 0x0efff8c4 skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f2da3dc rdma_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x0f3fb0fa dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x0f405961 mmc_cmdq_disable +EXPORT_SYMBOL_GPL vmlinux 0x0f41ecbd usb_add_gadget_udc_release +EXPORT_SYMBOL_GPL vmlinux 0x0f452a47 __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x0f4c574f pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0x0f5ac426 of_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0x0f6a3f32 ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x0f797a14 rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x0f7ca236 dmi_memdev_name +EXPORT_SYMBOL_GPL vmlinux 0x0f8b123a register_btf_id_dtor_kfuncs +EXPORT_SYMBOL_GPL vmlinux 0x0f8e46a8 skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0x0f97eeca clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x0fa795cd perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0x0fb32fce snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL vmlinux 0x0fb8b75d ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0fb90957 snd_soc_unregister_component +EXPORT_SYMBOL_GPL vmlinux 0x0fc9f6d0 dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x0fd4610e kmem_dump_obj +EXPORT_SYMBOL_GPL vmlinux 0x0fd6b68d scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0x0fd7142d i2c_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x0fed2bc4 pm_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x0ffc36c3 of_genpd_add_provider_simple +EXPORT_SYMBOL_GPL vmlinux 0x100359e4 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0x1005439d mtk_eint_find_irq +EXPORT_SYMBOL_GPL vmlinux 0x10057e6a __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x10220cad dw_pcie_link_up +EXPORT_SYMBOL_GPL vmlinux 0x102e7afc kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x103b4547 spi_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x1043cac3 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0x10535b88 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1056b0d5 synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0x105b39b4 snd_dma_buffer_sync +EXPORT_SYMBOL_GPL vmlinux 0x105d3f5c usb_gadget_udc_reset +EXPORT_SYMBOL_GPL vmlinux 0x1066dd7f iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x106ad9e1 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x106b3ac1 nanddev_bbt_update +EXPORT_SYMBOL_GPL vmlinux 0x106bfcef platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x10702458 component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0x107eed37 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x1082e573 crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x108d0ee2 sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0x10919735 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x1095af8c cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x10ab356f user_read +EXPORT_SYMBOL_GPL vmlinux 0x10ac7362 phy_exit +EXPORT_SYMBOL_GPL vmlinux 0x10d61741 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x10d9f317 stack_depot_init +EXPORT_SYMBOL_GPL vmlinux 0x10e32c80 pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0x10e9a21a irq_domain_create_legacy +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x10eefc46 devm_pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x1102b964 ata_host_put +EXPORT_SYMBOL_GPL vmlinux 0x1104c4d5 trace_seq_puts +EXPORT_SYMBOL_GPL vmlinux 0x1104fd12 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x11091291 nand_extract_bits +EXPORT_SYMBOL_GPL vmlinux 0x114a3740 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x11526c9a meson_clk_pll_ops +EXPORT_SYMBOL_GPL vmlinux 0x11530914 tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0x1156c0bf __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x116fa0d4 pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x11739943 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x11767292 genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL vmlinux 0x117cc266 regmap_field_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x119f9a4a ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x11a98654 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x11b1aad4 pci_iov_get_pf_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x11b4f6dc devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0x11b9aca9 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x11c13553 md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x11e72f40 genphy_c45_pma_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1206638a snd_ac97_reset +EXPORT_SYMBOL_GPL vmlinux 0x1210370c irq_generic_chip_ops +EXPORT_SYMBOL_GPL vmlinux 0x1212912e crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0x121d958a unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x122ce299 sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0x1231b06e crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0x1234e483 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x1235f62c stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0x124f58e8 is_software_node +EXPORT_SYMBOL_GPL vmlinux 0x125ae694 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x12682ad7 devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x128135d7 xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0x12833632 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x128b90f9 devm_extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x129334ae sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0x12a17921 set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x12a433bc xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x12baf2bd __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x12c6602c sdhci_get_cd_nogpio +EXPORT_SYMBOL_GPL vmlinux 0x12d4174f sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x12d61166 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x1317644c blk_next_bio +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131c3dac __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x131fc516 dma_map_sgtable +EXPORT_SYMBOL_GPL vmlinux 0x1326e320 virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x133e0c39 musb_queue_resume_work +EXPORT_SYMBOL_GPL vmlinux 0x13470ba9 bgpio_init +EXPORT_SYMBOL_GPL vmlinux 0x134aac54 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x13573323 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x135745ab pinctrl_generic_get_group_name +EXPORT_SYMBOL_GPL vmlinux 0x136209db power_supply_reg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13640660 get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x136ef111 pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x1381933c extcon_set_state +EXPORT_SYMBOL_GPL vmlinux 0x1381d4f3 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x13849034 dpcm_end_walk_at_be +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x139cf3ab bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0x13c37a03 page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0x13d0d8a2 handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x13edf44c driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x13eeb417 smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x1403ad09 cpufreq_add_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x140fd041 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x141489a5 sdio_retune_release +EXPORT_SYMBOL_GPL vmlinux 0x14164084 led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x141c9d39 pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x142ccf26 usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x14313359 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x1432a1a8 led_stop_software_blink +EXPORT_SYMBOL_GPL vmlinux 0x1435550b vfio_init_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x1440ed06 usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x144c7f92 led_compose_name +EXPORT_SYMBOL_GPL vmlinux 0x1451a9d2 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x145fc7ac pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x1460f975 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x1467d479 device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0x146a07a7 crypto_create_tfm_node +EXPORT_SYMBOL_GPL vmlinux 0x1470093f get_governor_parent_kobj +EXPORT_SYMBOL_GPL vmlinux 0x14964ed5 strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0x149afa35 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x14a98a21 cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x14be1d5e ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0x14dad4ca devm_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x14deba58 regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x14e6dec6 iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x14e82176 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x14efca0d blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0x151bf994 mtd_erase +EXPORT_SYMBOL_GPL vmlinux 0x152b4ed2 snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x1550efdf inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x1558e0d0 sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0x1570b0a7 __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x15886f48 hte_disable_ts +EXPORT_SYMBOL_GPL vmlinux 0x158c2d0a cpufreq_enable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x159077e3 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x1592fd25 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1595990b disk_update_readahead +EXPORT_SYMBOL_GPL vmlinux 0x1596331e virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0x159d5a81 devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0x15ab2790 __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x15abfaba crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0x15ade1cc filter_irq_stacks +EXPORT_SYMBOL_GPL vmlinux 0x15b1c82b spi_mem_dirmap_write +EXPORT_SYMBOL_GPL vmlinux 0x15c0a0b6 nand_get_large_page_hamming_ooblayout +EXPORT_SYMBOL_GPL vmlinux 0x15c3b698 sock_map_close +EXPORT_SYMBOL_GPL vmlinux 0x15c876e2 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x15ccba7a imx_pinctrl_probe +EXPORT_SYMBOL_GPL vmlinux 0x15cd23bc wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x15cf1146 xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x15d686f9 virtio_device_freeze +EXPORT_SYMBOL_GPL vmlinux 0x15debb03 devm_clk_hw_register_fixed_factor_index +EXPORT_SYMBOL_GPL vmlinux 0x15e7308d fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0x15eca580 percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x16019558 fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x161990b4 serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0x162fa616 ata_std_sched_eh +EXPORT_SYMBOL_GPL vmlinux 0x163fa5ef wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x16422a6e xdp_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x1646204b pm_runtime_force_suspend +EXPORT_SYMBOL_GPL vmlinux 0x16472ffe serial8250_do_startup +EXPORT_SYMBOL_GPL vmlinux 0x16571cdb dev_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x1659a47f rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x166e9ac6 snd_soc_dai_active +EXPORT_SYMBOL_GPL vmlinux 0x167be244 device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0x167d430d devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x168505a8 dma_resv_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x1687ec20 tty_get_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x1690b503 usb_role_switch_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x169572a2 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x169b185f verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0x169b457b srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x16add22e cpufreq_dbs_governor_stop +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16daa10f nand_ecc_init_req_tweaking +EXPORT_SYMBOL_GPL vmlinux 0x16dfbf36 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x16eeaab5 regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x16f12913 mctp_register_netdev +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x17153c7f devm_hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x172d54a5 ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x17317acd devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0x17346ff7 gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0x17352aae ahci_reset_em +EXPORT_SYMBOL_GPL vmlinux 0x1735ab58 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x1736e2f9 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x173b0f76 nand_gpio_waitrdy +EXPORT_SYMBOL_GPL vmlinux 0x174c6274 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x176031a7 devlink_fmsg_string_put +EXPORT_SYMBOL_GPL vmlinux 0x1776fb29 musb_set_peripheral +EXPORT_SYMBOL_GPL vmlinux 0x17777646 pinctrl_force_sleep +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x1784f385 snd_soc_link_compr_set_params +EXPORT_SYMBOL_GPL vmlinux 0x178bcbbe crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x178d5441 arm_iommu_release_mapping +EXPORT_SYMBOL_GPL vmlinux 0x179f5c81 pl08x_filter_id +EXPORT_SYMBOL_GPL vmlinux 0x17a4f298 __devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x17ac4f92 scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0x17ae4250 serial8250_update_uartclk +EXPORT_SYMBOL_GPL vmlinux 0x17bb02ce virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0x17d90dae extcon_get_extcon_dev +EXPORT_SYMBOL_GPL vmlinux 0x17f1f5b6 mtd_write_oob +EXPORT_SYMBOL_GPL vmlinux 0x17f40bbf debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x18011723 vp_legacy_set_queue_address +EXPORT_SYMBOL_GPL vmlinux 0x18112c1b dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0x1811f7b7 lp8788_write_byte +EXPORT_SYMBOL_GPL vmlinux 0x181e44c4 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x182656cc platform_has +EXPORT_SYMBOL_GPL vmlinux 0x18351429 devm_clk_get_prepared +EXPORT_SYMBOL_GPL vmlinux 0x18428692 __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x1850aaa6 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x18543411 clk_hw_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x18615d35 efivar_supports_writes +EXPORT_SYMBOL_GPL vmlinux 0x18619524 gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0x186f82ec call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x18717808 ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x18728b60 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x1872ec4b pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x187ecff8 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x1880581b dev_pm_opp_find_freq_exact +EXPORT_SYMBOL_GPL vmlinux 0x188bbc58 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x188ef8c2 phy_10gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x18a09bb0 lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0x18b1551a imx_clk_fracn_gppll +EXPORT_SYMBOL_GPL vmlinux 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x18e8c440 arch_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x18f70e66 snd_soc_component_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x190320bd udp_abort +EXPORT_SYMBOL_GPL vmlinux 0x190a7209 mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0x190c4d69 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x1914a8e1 mtd_get_device_size +EXPORT_SYMBOL_GPL vmlinux 0x1916a46b mtk_mutex_get +EXPORT_SYMBOL_GPL vmlinux 0x191e8345 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x1921431b meson_clk_pcie_pll_ops +EXPORT_SYMBOL_GPL vmlinux 0x19304f30 reset_control_get_count +EXPORT_SYMBOL_GPL vmlinux 0x193d9386 sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0x194132fa zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x19424a51 snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x194dd751 alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0x195da375 watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0x196862c8 dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0x1968d8e3 netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0x197060d6 blk_crypto_evict_key +EXPORT_SYMBOL_GPL vmlinux 0x19728f56 devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1972bf63 vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0x197ef92b nanddev_mtd_max_bad_blocks +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19b3466f device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x19b80b98 devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x19bcc035 fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0x19bf3327 of_pci_range_parser_one +EXPORT_SYMBOL_GPL vmlinux 0x19c20269 soc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x19c20b63 snd_card_add_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0x19de8069 ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x19e81304 btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19fde26b dev_pm_opp_of_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x19fe16a5 hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x1a073a45 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a114b31 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x1a146ec3 usb_ep_type_string +EXPORT_SYMBOL_GPL vmlinux 0x1a234eaf __traceiter_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1a246347 icc_provider_del +EXPORT_SYMBOL_GPL vmlinux 0x1a266232 __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x1a267fa8 bch_init +EXPORT_SYMBOL_GPL vmlinux 0x1a3e323e pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x1a408041 crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0x1a44572f rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0x1a45c74b pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x1a51c36c pci_pio_to_address +EXPORT_SYMBOL_GPL vmlinux 0x1a649f96 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x1a67fa37 tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a79ed9f crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x1a7d73f4 pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0x1a7e90e9 folio_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x1a83eea0 component_release_of +EXPORT_SYMBOL_GPL vmlinux 0x1a92e448 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x1a9be8ba pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0x1a9e07ec of_dma_is_coherent +EXPORT_SYMBOL_GPL vmlinux 0x1ac138fd hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x1ac6844f led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x1ac90940 spi_delay_exec +EXPORT_SYMBOL_GPL vmlinux 0x1ac9485d devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0x1aca6964 bpf_trace_run11 +EXPORT_SYMBOL_GPL vmlinux 0x1ad5d37d scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x1ad6231b kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1b01f43b meson8_pmx_ops +EXPORT_SYMBOL_GPL vmlinux 0x1b0fd4bd mtd_unlock +EXPORT_SYMBOL_GPL vmlinux 0x1b1400c2 tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0x1b15a8b7 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x1b1c0746 pci_epc_map_msi_irq +EXPORT_SYMBOL_GPL vmlinux 0x1b470e8f ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x1b4d0446 nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x1b5059ce ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x1b5b3252 crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0x1b6fcef3 xhci_get_ep_ctx +EXPORT_SYMBOL_GPL vmlinux 0x1b8822d8 pinctrl_gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x1b92977d mtk_pinconf_bias_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x1b92e41d inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x1b9409ef of_pci_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0x1baa55d5 meson_clk_pll_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x1bc16b6d bio_poll +EXPORT_SYMBOL_GPL vmlinux 0x1bc40a8d gpmc_omap_get_nand_ops +EXPORT_SYMBOL_GPL vmlinux 0x1bc5eebe pinctrl_gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x1bcb18a4 blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0x1bcd0c01 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x1bcfc9c2 tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0x1bd426f8 pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1bd7bb69 led_update_brightness +EXPORT_SYMBOL_GPL vmlinux 0x1bdf3800 md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x1bf1b951 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x1bf5f10f snd_soc_dapm_del_routes +EXPORT_SYMBOL_GPL vmlinux 0x1c01e03d __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x1c0a0e19 mtd_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1c13c5a5 ahci_platform_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x1c162d54 metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1c18e5ba irq_chip_retrigger_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x1c380c80 gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x1c3b2fed ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x1c43ae7c regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1c47bddd crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0x1c4da7cf pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1c5541bd cpufreq_boost_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c5ff742 clk_get_phase +EXPORT_SYMBOL_GPL vmlinux 0x1c7394d9 of_clk_hw_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0x1c78ac3b devl_assert_locked +EXPORT_SYMBOL_GPL vmlinux 0x1c78b15e vfio_file_enforced_coherent +EXPORT_SYMBOL_GPL vmlinux 0x1c7b7baa blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x1c7bb1ec blk_mark_disk_dead +EXPORT_SYMBOL_GPL vmlinux 0x1c7be59c __traceiter_map +EXPORT_SYMBOL_GPL vmlinux 0x1c7dc8c6 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c812eab alloc_dax +EXPORT_SYMBOL_GPL vmlinux 0x1c85b7ed device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c8c18d2 crypto_alloc_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x1c918bad mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x1c9dddb9 fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x1c9df7b2 blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0x1ca17f4b ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x1cbd92b0 cpu_mitigations_off +EXPORT_SYMBOL_GPL vmlinux 0x1ccdc362 xdp_master_redirect +EXPORT_SYMBOL_GPL vmlinux 0x1cdf4efb copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x1cefdfa2 dev_pm_opp_put_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x1cfaf990 dma_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x1cfb8ed4 rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x1cfc8d3e fwnode_get_phy_node +EXPORT_SYMBOL_GPL vmlinux 0x1cfcd303 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x1cfe4101 clkdev_hw_create +EXPORT_SYMBOL_GPL vmlinux 0x1d158b52 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x1d1719f6 mctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x1d1d6ebd ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d29b9e1 decode_rs8 +EXPORT_SYMBOL_GPL vmlinux 0x1d39ec81 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x1d467214 __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x1d5059b4 bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x1d5ed776 pm_clk_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1d5f506a udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0x1d6696b0 mtk_mutex_disable +EXPORT_SYMBOL_GPL vmlinux 0x1d6ec8b4 blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0x1d6f799e __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1d77f6b3 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x1d94a218 dmi_memdev_handle +EXPORT_SYMBOL_GPL vmlinux 0x1d962047 usb_hcd_amd_remote_wakeup_quirk +EXPORT_SYMBOL_GPL vmlinux 0x1da593dc serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x1da70d6b anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x1db1a988 dev_pm_opp_is_turbo +EXPORT_SYMBOL_GPL vmlinux 0x1db44bdd scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x1db69982 xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0x1dbe19d9 devm_rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x1dc17bf9 rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0x1de0c62e ahci_platform_enable_resources +EXPORT_SYMBOL_GPL vmlinux 0x1df5eb21 amba_device_put +EXPORT_SYMBOL_GPL vmlinux 0x1dfa5dbd mpi_invm +EXPORT_SYMBOL_GPL vmlinux 0x1dfce577 __traceiter_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x1e0670c6 reset_control_release +EXPORT_SYMBOL_GPL vmlinux 0x1e08671a of_resolve_phandles +EXPORT_SYMBOL_GPL vmlinux 0x1e0be52f debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x1e153ae6 scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x1e27b1af modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x1e311054 rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x1e3448d2 phy_remove_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1e3597ea devm_thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x1e3a12b6 nand_write_data_op +EXPORT_SYMBOL_GPL vmlinux 0x1e4491d7 __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x1e45b40f __sock_recv_cmsgs +EXPORT_SYMBOL_GPL vmlinux 0x1e53f827 stack_depot_print +EXPORT_SYMBOL_GPL vmlinux 0x1e618dfc devlink_port_attrs_set +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e7d6157 freezer_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x1e882e8b mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x1e8fac8e wireless_nlevent_flush +EXPORT_SYMBOL_GPL vmlinux 0x1e986551 sdhci_setup_host +EXPORT_SYMBOL_GPL vmlinux 0x1e9c590a usb_find_common_endpoints_reverse +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ec662f1 of_irq_find_parent +EXPORT_SYMBOL_GPL vmlinux 0x1ed137a4 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x1ed9920d blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x1ee0b658 bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0x1ee31b89 tegra_bpmp_mrq_is_supported +EXPORT_SYMBOL_GPL vmlinux 0x1efd4d3a serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1f05dc96 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x1f141392 fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x1f1d01d6 netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0x1f27db7e iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0x1f37dab6 cpufreq_cpu_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x1f38a4f6 mpi_set_highbit +EXPORT_SYMBOL_GPL vmlinux 0x1f449588 mctrl_gpio_disable_ms +EXPORT_SYMBOL_GPL vmlinux 0x1f4704a5 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f582ed1 ahci_shost_groups +EXPORT_SYMBOL_GPL vmlinux 0x1f587abf bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x1f5fc4a5 cpu_latency_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0x1f72a35a mptcp_pm_get_local_addr_max +EXPORT_SYMBOL_GPL vmlinux 0x1f774f46 cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f9aa84c fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x1fbc9e3f __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x1fca0b38 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x1fdb8f87 dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x1febbafa qcom_smem_state_get +EXPORT_SYMBOL_GPL vmlinux 0x1ff4435c fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x1ff63cda spi_controller_dma_map_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x1ffbf8e7 phy_save_page +EXPORT_SYMBOL_GPL vmlinux 0x1ffdbf4b usb_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x2003fe42 of_platform_default_populate +EXPORT_SYMBOL_GPL vmlinux 0x2009e400 devlink_info_board_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x200a507e power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x2020aefc stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0x2039f635 regmap_field_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x20619b9b devlink_param_register +EXPORT_SYMBOL_GPL vmlinux 0x206af112 platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0x20832a3b ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x2096a0de power_supply_charge_behaviour_show +EXPORT_SYMBOL_GPL vmlinux 0x209f4b47 irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x20ae217b snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL vmlinux 0x20ae220b debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x20cbb283 blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0x20e5d77f efivar_entry_add +EXPORT_SYMBOL_GPL vmlinux 0x20fb5e3f snd_soc_info_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x20fd27ef sb800_prefetch +EXPORT_SYMBOL_GPL vmlinux 0x2100ff41 tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x21087621 mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x211d2011 snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL vmlinux 0x2121e989 crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x213d60ba ping_hash +EXPORT_SYMBOL_GPL vmlinux 0x213efc5f __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x21563e68 stack_depot_snprint +EXPORT_SYMBOL_GPL vmlinux 0x215dd642 devm_register_restart_handler +EXPORT_SYMBOL_GPL vmlinux 0x2167d0c0 inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0x216a8fe2 usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x217028db clk_hw_is_prepared +EXPORT_SYMBOL_GPL vmlinux 0x21726652 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x217ee22a tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0x2181b0a1 usb_bus_idr_lock +EXPORT_SYMBOL_GPL vmlinux 0x218eb852 devm_register_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x2190f155 mxic_ecc_get_pipelined_engine +EXPORT_SYMBOL_GPL vmlinux 0x219167dd handle_fasteoi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x21a563da clk_get_accuracy +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21b12f3f trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0x21c9cc2c sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21d1cd35 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x21d2219a snd_soc_card_jack_new +EXPORT_SYMBOL_GPL vmlinux 0x21d37489 imx_obtain_fixed_clk_hw +EXPORT_SYMBOL_GPL vmlinux 0x21d90254 vp_modern_get_driver_features +EXPORT_SYMBOL_GPL vmlinux 0x21dacf65 device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x21dfe62d __traceiter_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x21e7c5e7 nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0x21eb457a sdhci_set_power_noreg +EXPORT_SYMBOL_GPL vmlinux 0x22079ce2 dev_pm_opp_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x220ce70c kvm_arm_hyp_service_available +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x22148e02 snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL vmlinux 0x221db774 devm_clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2222b758 inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x222c494b crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x223e215c rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0x224b23dd irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x225f9870 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x226841e4 iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x228c9b4f vp_legacy_get_features +EXPORT_SYMBOL_GPL vmlinux 0x228d49a2 of_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x22ab7517 devl_unlock +EXPORT_SYMBOL_GPL vmlinux 0x22b1b340 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x22b6a58a usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL vmlinux 0x22b7abbf tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x22bea2be mptcp_get_reset_option +EXPORT_SYMBOL_GPL vmlinux 0x22bf66f7 cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0x22c2b88f snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL vmlinux 0x22c670a4 of_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x22cf4878 crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22e0495d unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x22e6315c ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x22f0bdfc ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x22feaddf ahci_platform_suspend +EXPORT_SYMBOL_GPL vmlinux 0x230d25a7 pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0x230f8ddf pci_dev_lock +EXPORT_SYMBOL_GPL vmlinux 0x231066dc xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x23122eef devm_power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x2314ae22 __sdhci_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x231e919f noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0x2328d0ac ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x232e3cfd crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0x23412816 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x23666d59 __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x2366b10b nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0x237330ab pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0x237476c4 dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0x2379ef08 icc_nodes_remove +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23935d9d __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x23950433 efivar_variable_is_removable +EXPORT_SYMBOL_GPL vmlinux 0x2396c7f0 clk_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x239bbfae of_pci_get_max_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x23a69d20 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x23a7765c kthread_park +EXPORT_SYMBOL_GPL vmlinux 0x23b7ef84 xas_pause +EXPORT_SYMBOL_GPL vmlinux 0x23d8fa1e virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x23db9810 pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0x23dd8978 i2c_new_scanned_device +EXPORT_SYMBOL_GPL vmlinux 0x23f1bd3a imx_clk_hw_pfdv2 +EXPORT_SYMBOL_GPL vmlinux 0x2421097b mpi_const +EXPORT_SYMBOL_GPL vmlinux 0x242faddc irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x2449a7f1 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x244bda65 pinctrl_utils_add_map_configs +EXPORT_SYMBOL_GPL vmlinux 0x244e8db3 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x2457e350 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x2459a6c2 tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x2460aeec serial8250_rpm_get +EXPORT_SYMBOL_GPL vmlinux 0x246b84a4 r9a06g032_sysctrl_set_dmamux +EXPORT_SYMBOL_GPL vmlinux 0x247e1658 snd_soc_get_strobe +EXPORT_SYMBOL_GPL vmlinux 0x24858d3b devm_hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x248bc867 raw_notifier_call_chain_robust +EXPORT_SYMBOL_GPL vmlinux 0x24901d2e unmap_mapping_pages +EXPORT_SYMBOL_GPL vmlinux 0x24ad11db wakeup_sources_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x24c82133 xas_store +EXPORT_SYMBOL_GPL vmlinux 0x24cfdc65 sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24dbaa39 nvmem_cell_read_u32 +EXPORT_SYMBOL_GPL vmlinux 0x24dbbaf7 tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24f39c39 reset_control_reset +EXPORT_SYMBOL_GPL vmlinux 0x24f63dcf ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x24fc50f4 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2504f828 platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0x250ada31 phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x2516bbe8 __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x251cc5ff sdhci_start_signal_voltage_switch +EXPORT_SYMBOL_GPL vmlinux 0x2523a920 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x2524b4f0 mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0x252bb79a spi_take_timestamp_post +EXPORT_SYMBOL_GPL vmlinux 0x25379e73 clk_set_min_rate +EXPORT_SYMBOL_GPL vmlinux 0x253e8d29 devm_irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x253eab65 lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x254f68e3 _snd_pcm_stream_lock_irqsave +EXPORT_SYMBOL_GPL vmlinux 0x2568722a switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x2571aff3 dev_pm_opp_get_max_clock_latency +EXPORT_SYMBOL_GPL vmlinux 0x2576e861 mxic_ecc_get_pipelined_ops +EXPORT_SYMBOL_GPL vmlinux 0x257c52e4 spi_slave_abort +EXPORT_SYMBOL_GPL vmlinux 0x258dfe61 genphy_c45_pma_baset1_read_master_slave +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x25a287fd sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x25b35027 pcie_reset_flr +EXPORT_SYMBOL_GPL vmlinux 0x25bbfa9a security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x25d28019 dev_pm_opp_get_of_node +EXPORT_SYMBOL_GPL vmlinux 0x25e58593 pinmux_generic_add_function +EXPORT_SYMBOL_GPL vmlinux 0x25eea68b raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x25f164b5 spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x26057a8d synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0x260662c6 serial8250_em485_stop_tx +EXPORT_SYMBOL_GPL vmlinux 0x2609df71 tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x2647cfe8 gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x265bbef9 kexec_crash_loaded +EXPORT_SYMBOL_GPL vmlinux 0x265e611d __clk_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x266866b4 __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x26695218 snd_dmaengine_pcm_close_release_chan +EXPORT_SYMBOL_GPL vmlinux 0x266a4b08 tasklet_unlock +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x26889006 clk_hw_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x269c8287 sdhci_pltfm_register +EXPORT_SYMBOL_GPL vmlinux 0x269dd7c0 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x26a54418 ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26c547c0 bL_switcher_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26ca436a devm_regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x26d63465 mtk_pinconf_bias_disable_set +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x26ef0e73 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x26f625ca wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x270007cb of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x272314f2 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x272e9d77 hisi_reset_exit +EXPORT_SYMBOL_GPL vmlinux 0x2734197f musb_readb +EXPORT_SYMBOL_GPL vmlinux 0x273ac4b9 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x2740a68e __irq_alloc_domain_generic_chips +EXPORT_SYMBOL_GPL vmlinux 0x27497402 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x278308f6 serial8250_do_get_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x2791f26c gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0x27996753 devm_power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x279c9854 rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x27a39a50 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x27b1b929 sampling_rate_store +EXPORT_SYMBOL_GPL vmlinux 0x27b23620 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x27b3fdff regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x27b8aade skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x27cba29c extcon_get_property_capability +EXPORT_SYMBOL_GPL vmlinux 0x27e28716 blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x27fe5f8b __devm_of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x2807b380 vp_modern_generation +EXPORT_SYMBOL_GPL vmlinux 0x2812b997 of_clk_del_provider +EXPORT_SYMBOL_GPL vmlinux 0x281826f8 skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0x28259da8 kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x282cdabc usb_led_activity +EXPORT_SYMBOL_GPL vmlinux 0x282cedca cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0x283ffe9f imx_check_clk_hws +EXPORT_SYMBOL_GPL vmlinux 0x286443c5 sdhci_pltfm_free +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x28700e4d usb_phy_roothub_suspend +EXPORT_SYMBOL_GPL vmlinux 0x287527f7 ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0x288058bc nand_prog_page_end_op +EXPORT_SYMBOL_GPL vmlinux 0x2882d40e usb_role_switch_unregister +EXPORT_SYMBOL_GPL vmlinux 0x28a622c9 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x28aa6a67 call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x28ab4fb9 pinctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x28ad7ceb pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x28b030d2 of_overlay_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x28d02314 skb_copy_ubufs +EXPORT_SYMBOL_GPL vmlinux 0x28e9841b cpts_unregister +EXPORT_SYMBOL_GPL vmlinux 0x28f2cac2 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x28f7108d shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0x28f7df52 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x29057eb5 clk_hw_get_parent_index +EXPORT_SYMBOL_GPL vmlinux 0x290b86c4 dev_pm_opp_unregister_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x291123ea __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0x291876f3 mpi_ec_get_affine +EXPORT_SYMBOL_GPL vmlinux 0x292591ae cros_ec_get_sensor_count +EXPORT_SYMBOL_GPL vmlinux 0x292c8eb6 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x2936664f of_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0x2937727c regulator_get_linear_step +EXPORT_SYMBOL_GPL vmlinux 0x2939769d dmaengine_desc_attach_metadata +EXPORT_SYMBOL_GPL vmlinux 0x293cbe43 dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x294ed340 usb_gadget_vbus_draw +EXPORT_SYMBOL_GPL vmlinux 0x295a2670 clk_regmap_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x295b982a hisi_clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x295c454c gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0x2960a6c2 ahci_ops +EXPORT_SYMBOL_GPL vmlinux 0x2963ecdd ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x296da6e5 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x29727d25 of_pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0x2981a22e wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0x2996fd60 ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0x299ee5af blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0x29a65b6f pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x29a76043 rio_del_device +EXPORT_SYMBOL_GPL vmlinux 0x29ab4887 usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x29afd47f sdio_retune_crc_enable +EXPORT_SYMBOL_GPL vmlinux 0x29b41daf pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x29bc9565 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x29c523a8 mmc_get_ext_csd +EXPORT_SYMBOL_GPL vmlinux 0x29cc7f17 irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x29cf2470 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x29eadd6c bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x29ecfaf4 irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x29eef303 nand_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x29f38741 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x2a01f1ce usb_gadget_activate +EXPORT_SYMBOL_GPL vmlinux 0x2a08e629 crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x2a2aea17 clk_fixed_rate_ops +EXPORT_SYMBOL_GPL vmlinux 0x2a2cffe0 kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x2a312524 genphy_c45_read_pma +EXPORT_SYMBOL_GPL vmlinux 0x2a37ea11 imx_clk_hw_frac_pll +EXPORT_SYMBOL_GPL vmlinux 0x2a3dc738 serial8250_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x2a470914 of_thermal_get_ntrips +EXPORT_SYMBOL_GPL vmlinux 0x2a4ec21d regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x2a5641ee component_add +EXPORT_SYMBOL_GPL vmlinux 0x2a564a21 task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0x2a5c4a28 clk_register_mux_table +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a640334 crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0x2a6438e2 devm_clk_hw_get_clk +EXPORT_SYMBOL_GPL vmlinux 0x2a7316da __SCK__tp_func_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x2a732f54 mtk_clk_gate_ops_no_setclr_inv +EXPORT_SYMBOL_GPL vmlinux 0x2a87e81d irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x2a88ac05 nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0x2a8de3da relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x2a976d1c dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x2aab2bb1 thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x2ab3ce2c tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0x2ab482c1 genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x2ab9587d of_phy_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x2ad051b5 devlink_alloc_ns +EXPORT_SYMBOL_GPL vmlinux 0x2ad17b73 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x2aefb667 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x2af4c032 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x2b08ca72 nand_read_page_op +EXPORT_SYMBOL_GPL vmlinux 0x2b15df6c wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x2b1b8344 dma_resv_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x2b239b17 iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0x2b3e595a gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x2b42d8c9 skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0x2b4509dd devlink_health_reporter_state_update +EXPORT_SYMBOL_GPL vmlinux 0x2b4916da blk_mq_hctx_set_fq_lock_class +EXPORT_SYMBOL_GPL vmlinux 0x2b5be635 fat_time_fat2unix +EXPORT_SYMBOL_GPL vmlinux 0x2b607e7e ata_scsi_dma_need_drain +EXPORT_SYMBOL_GPL vmlinux 0x2b6150fb power_supply_temp2resist_simple +EXPORT_SYMBOL_GPL vmlinux 0x2b684413 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x2b68bedc input_class +EXPORT_SYMBOL_GPL vmlinux 0x2b841f28 pci_iomap_wc +EXPORT_SYMBOL_GPL vmlinux 0x2b952517 clk_has_parent +EXPORT_SYMBOL_GPL vmlinux 0x2b986fe0 snd_soc_put_volsw +EXPORT_SYMBOL_GPL vmlinux 0x2ba130f1 pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x2ba5659d crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x2bb3042b vp_legacy_config_vector +EXPORT_SYMBOL_GPL vmlinux 0x2bdee17a mtk_pinconf_adv_drive_set_raw +EXPORT_SYMBOL_GPL vmlinux 0x2bdf5ab0 pm_wakeup_pending +EXPORT_SYMBOL_GPL vmlinux 0x2be5030f copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x2c01cd15 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x2c071711 umd_load_blob +EXPORT_SYMBOL_GPL vmlinux 0x2c0b2eee dev_pm_opp_xlate_required_opp +EXPORT_SYMBOL_GPL vmlinux 0x2c1b5fc4 __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0x2c1ba89a virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c250d64 list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0x2c2a3ff8 ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c388acb virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x2c45b426 component_del +EXPORT_SYMBOL_GPL vmlinux 0x2c481cd2 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x2c481f74 mtk_eint_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x2c4ca775 iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0x2c5026d1 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x2c53f98f tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0x2c58c9fa snd_soc_dapm_dai_free_widgets +EXPORT_SYMBOL_GPL vmlinux 0x2c66ac85 devlink_info_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x2c7a2d42 dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0x2c7cee5e vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c817702 snd_soc_jack_report +EXPORT_SYMBOL_GPL vmlinux 0x2c81a826 imx_1443x_pll +EXPORT_SYMBOL_GPL vmlinux 0x2c890ea0 regmap_get_raw_write_max +EXPORT_SYMBOL_GPL vmlinux 0x2c8dd6b8 edac_mem_types +EXPORT_SYMBOL_GPL vmlinux 0x2c97f13f device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x2c97f8a2 of_reconfig_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2ca27ddd regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x2cb1991e sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x2cb489d5 crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0x2cb9abeb bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x2cd6f417 pcie_aspm_capable +EXPORT_SYMBOL_GPL vmlinux 0x2cda2a40 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x2ce61f33 __SCK__tp_func_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x2cf7e624 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x2d016883 regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x2d02aae0 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x2d03f3a3 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x2d0d7513 reset_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2d1a0c4b usb_gen_phy_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d1b0d5c dev_pm_opp_add +EXPORT_SYMBOL_GPL vmlinux 0x2d1c6af2 of_remove_property +EXPORT_SYMBOL_GPL vmlinux 0x2d1ec36b thermal_zone_unbind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x2d223a28 rio_map_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x2d284371 phy_pm_runtime_put_sync +EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current +EXPORT_SYMBOL_GPL vmlinux 0x2d2e703d of_mm_gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x2d368c4c nand_subop_get_addr_start_off +EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts +EXPORT_SYMBOL_GPL vmlinux 0x2d448140 snd_devm_alloc_dir_pages +EXPORT_SYMBOL_GPL vmlinux 0x2d54aa3a component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0x2d54bc59 tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0x2d5f69b3 rcu_read_unlock_strict +EXPORT_SYMBOL_GPL vmlinux 0x2d609547 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x2db03808 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x2db67d4a owl_sps_set_pg +EXPORT_SYMBOL_GPL vmlinux 0x2dba9af7 mmc_regulator_set_ocr +EXPORT_SYMBOL_GPL vmlinux 0x2dc7bc09 blk_crypto_intersect_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x2dcfc53a crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0x2dd17f0d icc_node_add +EXPORT_SYMBOL_GPL vmlinux 0x2ddd5b55 devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0x2e028ae6 rcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x2e10c6be sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e3bdaf4 tty_kopen_shared +EXPORT_SYMBOL_GPL vmlinux 0x2e4261f6 snmp_get_cpu_field64 +EXPORT_SYMBOL_GPL vmlinux 0x2e4cc2f8 balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x2e4ddddc fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0x2e593eb5 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x2e66298c __SCK__tp_func_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x2e6e44ba proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0x2e6ec443 crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x2e922d04 snd_soc_of_parse_audio_simple_widgets +EXPORT_SYMBOL_GPL vmlinux 0x2e9973b4 regmap_noinc_write +EXPORT_SYMBOL_GPL vmlinux 0x2ea03e99 tegra_bpmp_transfer_atomic +EXPORT_SYMBOL_GPL vmlinux 0x2ea15a18 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x2ea920a1 __spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x2eb06d8f snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ecf5856 rio_get_comptag +EXPORT_SYMBOL_GPL vmlinux 0x2eee8635 free_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x2eef5ab1 fscrypt_dio_supported +EXPORT_SYMBOL_GPL vmlinux 0x2ef8684f __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x2efa597d devm_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x2f0bb71b gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x2f0d9053 usb_otg_state_string +EXPORT_SYMBOL_GPL vmlinux 0x2f1a3300 crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x2f1ea064 __SCK__tp_func_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x2f25a2fc pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0x2f270c3e ohci_hub_status_data +EXPORT_SYMBOL_GPL vmlinux 0x2f28d446 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x2f37f7b7 mtk_pinconf_adv_pull_get +EXPORT_SYMBOL_GPL vmlinux 0x2f40bfd9 ti_cm_get_macid +EXPORT_SYMBOL_GPL vmlinux 0x2f4a6b12 devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0x2f4bedfa __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0x2f5208a9 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x2f59e2e2 sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x2f5d0018 dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x2f63e634 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2f6f4ddb sched_set_normal +EXPORT_SYMBOL_GPL vmlinux 0x2f6febe5 cpufreq_dbs_governor_start +EXPORT_SYMBOL_GPL vmlinux 0x2f7353d6 usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x2f804d19 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x2f80a762 blk_clear_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x2fa6db20 raw_abort +EXPORT_SYMBOL_GPL vmlinux 0x2fa8858d tegra_xusb_padctl_legacy_remove +EXPORT_SYMBOL_GPL vmlinux 0x2fade0be synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x2fb47493 blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0x2fc1e0fe kmem_valid_obj +EXPORT_SYMBOL_GPL vmlinux 0x2fc80225 regulator_get_error_flags +EXPORT_SYMBOL_GPL vmlinux 0x2fcba9a1 crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0x2fcfd2c3 dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0x2fe464ca usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x2fee86c0 iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x30096d57 insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x3009d0ec cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x301f46e2 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x302917ec ioc_find_get_icq +EXPORT_SYMBOL_GPL vmlinux 0x302fdd9d fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0x3030fd5e __devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0x303568fb regulator_get_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x3044513e pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x3045fd97 of_pci_parse_bus_range +EXPORT_SYMBOL_GPL vmlinux 0x3047f190 mtk_clk_unregister_fixed_clks +EXPORT_SYMBOL_GPL vmlinux 0x30497973 usb_role_switch_find_by_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x3053ba31 fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x306679f5 wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0x30672c2c crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x30693bb7 imx_audmux_v1_configure_port +EXPORT_SYMBOL_GPL vmlinux 0x3069e46b scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x30758a21 device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0x30767cae bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0x30791488 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x307cdf48 sdhci_alloc_host +EXPORT_SYMBOL_GPL vmlinux 0x3088902b snd_soc_bytes_info_ext +EXPORT_SYMBOL_GPL vmlinux 0x3097385c crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0x309fb9a7 vchan_init +EXPORT_SYMBOL_GPL vmlinux 0x30a262dc look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0x30a2b5f5 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x30b2c89b mtd_pairing_groups +EXPORT_SYMBOL_GPL vmlinux 0x30d25ccd pci_generic_ecam_ops +EXPORT_SYMBOL_GPL vmlinux 0x30ff678f snd_card_rw_proc_new +EXPORT_SYMBOL_GPL vmlinux 0x31019477 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x310b6270 alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0x310d04c8 genphy_c45_read_lpa +EXPORT_SYMBOL_GPL vmlinux 0x310f58b1 paste_selection +EXPORT_SYMBOL_GPL vmlinux 0x311d76c8 __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x311f0320 rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x31336f22 trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0x313ea5fd ipi_send_single +EXPORT_SYMBOL_GPL vmlinux 0x31420e17 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x31434550 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x3152d7eb mbox_client_peek_data +EXPORT_SYMBOL_GPL vmlinux 0x3153f56f snd_soc_link_compr_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x315c33c6 elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0x316031cf tpm_tis_core_init +EXPORT_SYMBOL_GPL vmlinux 0x31623d31 tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0x31753aba device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x3187490a __SCK__tp_func_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x3192d768 cpufreq_remove_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x31981839 spi_finalize_current_transfer +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31afffdb mtk_mux_clr_set_upd_ops +EXPORT_SYMBOL_GPL vmlinux 0x31ba055f nand_read_oob_op +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31d8122a irq_domain_disconnect_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x31eca934 devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x31f3ce6f ima_inode_hash +EXPORT_SYMBOL_GPL vmlinux 0x31f9d882 imx_pcm_fiq_init +EXPORT_SYMBOL_GPL vmlinux 0x31fd5dbf rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0x31fe5f99 pm_clk_suspend +EXPORT_SYMBOL_GPL vmlinux 0x32065172 sdhci_get_property +EXPORT_SYMBOL_GPL vmlinux 0x321a0219 iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0x3224daed musb_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x323a93e2 inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x324ad1df to_software_node +EXPORT_SYMBOL_GPL vmlinux 0x324f0442 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x325e5118 rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0x3275b24d clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0x327bd6e9 of_pm_clk_add_clks +EXPORT_SYMBOL_GPL vmlinux 0x327fcdee pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0x32836981 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x328cdee9 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x32a107a4 snd_soc_register_component +EXPORT_SYMBOL_GPL vmlinux 0x32aa89e7 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x32abd690 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x32be2df3 arm_iommu_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32dfd8e2 fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0x32e31286 powercap_unregister_control_type +EXPORT_SYMBOL_GPL vmlinux 0x32e3f45b sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x32fbec40 nanddev_bbt_init +EXPORT_SYMBOL_GPL vmlinux 0x330d5fce phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL vmlinux 0x330f6116 set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x33208b59 snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0x3335ae32 freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x333912fa component_compare_of +EXPORT_SYMBOL_GPL vmlinux 0x33484dc9 cpts_release +EXPORT_SYMBOL_GPL vmlinux 0x334fcce5 __devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x337268f9 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3380dae8 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x3382af8b i2c_detect_slave_mode +EXPORT_SYMBOL_GPL vmlinux 0x338883ad pinctrl_generic_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x338954b1 nf_route +EXPORT_SYMBOL_GPL vmlinux 0x3391345f of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x3396e182 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x339d659d dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x33a63e88 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x33b1ce0b proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0x33b46aa6 uart_parse_earlycon +EXPORT_SYMBOL_GPL vmlinux 0x33c029c0 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x33cc6bd9 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x33cd2cd6 cpu_latency_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x33e9e0a2 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x33efc8c8 trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x34033f45 espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0x3417d1b9 pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0x341bde63 __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0x341ca172 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x34244b2f pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x3424cc85 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x344253c7 mvebu_mbus_get_pcie_mem_aperture +EXPORT_SYMBOL_GPL vmlinux 0x344361a1 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0x3448cabb irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0x344bd03b devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0x3450ad94 mpi_set_ui +EXPORT_SYMBOL_GPL vmlinux 0x345878cb usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x345baad0 gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0x3461ba36 usb_bus_idr +EXPORT_SYMBOL_GPL vmlinux 0x3461e4e6 imx_unregister_hw_clocks +EXPORT_SYMBOL_GPL vmlinux 0x3463db8f power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x3464f439 of_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x34692def dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x347a7a3c mtk_pinconf_adv_pull_set +EXPORT_SYMBOL_GPL vmlinux 0x348a140b vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x349af138 sbitmap_queue_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x349f2f77 mtd_add_partition +EXPORT_SYMBOL_GPL vmlinux 0x34a3c292 genphy_c45_pma_baset1_setup_master_slave +EXPORT_SYMBOL_GPL vmlinux 0x34a7b142 __SCK__tp_func_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x34ac50a4 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x34ae14cc driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x34b796e3 snd_ctl_disconnect_layer +EXPORT_SYMBOL_GPL vmlinux 0x34be70fd mptcp_token_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x34c37bb7 snd_dmaengine_pcm_prepare_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x34cf8838 nand_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x34db3c08 __devm_regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x34e96b9c pm_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x34f51514 __traceiter_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x34f5ecb0 __clk_hw_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x34f91aec securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x34fdd655 mtk_hw_set_value +EXPORT_SYMBOL_GPL vmlinux 0x34fdf958 iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0x34ff09cb iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x34ff4e83 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x350002a5 sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x350f6ce5 tasklet_unlock_wait +EXPORT_SYMBOL_GPL vmlinux 0x350f9bc9 firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0x351db3d7 of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x352af523 irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0x352b0f8f fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0x352b3813 maxim_charger_calc_reg_current +EXPORT_SYMBOL_GPL vmlinux 0x352df7f3 handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0x352dff2d regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x35302b8e __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x3549c383 debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0x354e8185 pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0x35522db7 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x3558772e usb_phy_generic_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3565a929 utf8_data_table +EXPORT_SYMBOL_GPL vmlinux 0x35681ae3 __tracepoint_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0x3580166d regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x35876e65 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x358cf3ae ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x358ff60f twl_get_hfclk_rate +EXPORT_SYMBOL_GPL vmlinux 0x35a1e5d5 xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0x35b12fec regmap_fields_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x35b79a9a kobject_move +EXPORT_SYMBOL_GPL vmlinux 0x35cfab06 icc_set_tag +EXPORT_SYMBOL_GPL vmlinux 0x35d2742d __traceiter_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x35e658f0 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x35efc47f __trace_trigger_soft_disabled +EXPORT_SYMBOL_GPL vmlinux 0x35efdc96 devm_hte_register_chip +EXPORT_SYMBOL_GPL vmlinux 0x36187dc6 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x361b0ca4 virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0x361ea58e serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x36266b44 vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0x362b97a9 icc_link_create +EXPORT_SYMBOL_GPL vmlinux 0x3633821c device_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x36356eda tegra124_clk_set_emc_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x363884a3 misc_cg_uncharge +EXPORT_SYMBOL_GPL vmlinux 0x363fdf6a cpts_misc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x365871cd pinctrl_force_default +EXPORT_SYMBOL_GPL vmlinux 0x365989e5 imx_1416x_pll +EXPORT_SYMBOL_GPL vmlinux 0x36604259 governor_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x36662075 devm_clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x3677d849 amba_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x367adf39 iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x36898d6f gpiod_remove_hogs +EXPORT_SYMBOL_GPL vmlinux 0x369051c9 crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0x369390be alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x36aac785 usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x36aba74e clk_register_hisi_phase +EXPORT_SYMBOL_GPL vmlinux 0x36bc15a1 debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x36c379b8 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x36c591e9 gpiochip_generic_request +EXPORT_SYMBOL_GPL vmlinux 0x36cfc651 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x36f08ffe to_of_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x36f6608b inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0x36f7a60c snd_soc_dapm_sync_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x37040039 power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x370bba9c gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0x370d935b usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x371632eb __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x371e8c5d nand_change_read_column_op +EXPORT_SYMBOL_GPL vmlinux 0x374a9821 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x3754cf3f of_irq_get +EXPORT_SYMBOL_GPL vmlinux 0x37595cb3 meson_clk_mpll_ops +EXPORT_SYMBOL_GPL vmlinux 0x375bd803 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x37621f9c nanddev_bbt_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x3762debb fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0x37743b64 iomap_dio_complete +EXPORT_SYMBOL_GPL vmlinux 0x377bbcbc pm_suspend_target_state +EXPORT_SYMBOL_GPL vmlinux 0x377c8b82 irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0x37a8c5d1 rockchip_pcie_get_phys +EXPORT_SYMBOL_GPL vmlinux 0x37ac32f3 nand_ecc_choose_conf +EXPORT_SYMBOL_GPL vmlinux 0x37adf3a5 devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x37bcea21 mbox_request_channel_byname +EXPORT_SYMBOL_GPL vmlinux 0x37c71296 ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x37d915c4 da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x37e24815 hwmon_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x37f98356 ext_pi_type3_crc64 +EXPORT_SYMBOL_GPL vmlinux 0x37fb286a snd_soc_component_compr_copy +EXPORT_SYMBOL_GPL vmlinux 0x38096539 __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0x380dde36 power_supply_batinfo_ocv2cap +EXPORT_SYMBOL_GPL vmlinux 0x381ecfe6 usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x38266436 sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0x38268b62 icc_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x382897ca ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x382de1bd extcon_unregister_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x383672eb ata_platform_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x384b7edb cpufreq_generic_attr +EXPORT_SYMBOL_GPL vmlinux 0x384dc29b mtk_hw_get_value +EXPORT_SYMBOL_GPL vmlinux 0x386ceff3 devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0x386ddcf4 vp_legacy_probe +EXPORT_SYMBOL_GPL vmlinux 0x387fd8de spi_mem_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x38962587 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x389e5996 edac_mc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x38a352c0 edac_mc_free +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38b38593 ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x38c0c9e4 btree_update +EXPORT_SYMBOL_GPL vmlinux 0x38cab653 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x38e1fde7 mpi_set +EXPORT_SYMBOL_GPL vmlinux 0x38e2725d uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x38e5bc5a clk_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x38edbc73 blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0x38f19581 fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0x38f5e04a dev_pm_qos_expose_flags +EXPORT_SYMBOL_GPL vmlinux 0x38f99023 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x38fd46ba ata_dev_set_feature +EXPORT_SYMBOL_GPL vmlinux 0x390ba2ea clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x3913ed06 snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL vmlinux 0x391a3692 l3mdev_table_lookup_register +EXPORT_SYMBOL_GPL vmlinux 0x3945ff5e scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0x394e6a00 power_supply_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x395d13b8 usb_phy_gen_create_phy +EXPORT_SYMBOL_GPL vmlinux 0x3960a7d5 irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x396d2576 usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x397196bb pinctrl_find_gpio_range_from_pin_nolock +EXPORT_SYMBOL_GPL vmlinux 0x397e2142 __SCK__tp_func_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x39899e95 of_get_videomode +EXPORT_SYMBOL_GPL vmlinux 0x398a8755 pm_genpd_remove +EXPORT_SYMBOL_GPL vmlinux 0x3993c1af devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39aa4888 usb_role_string +EXPORT_SYMBOL_GPL vmlinux 0x39abc210 __auxiliary_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x39bbe020 dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0x39c19f7f tegra_mc_get_emem_device_count +EXPORT_SYMBOL_GPL vmlinux 0x39c32aca __SCK__tp_func_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x39c901d8 mtk_pinconf_bias_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x39d28ff3 lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0x39e1563b strp_stop +EXPORT_SYMBOL_GPL vmlinux 0x39f1e05a register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x39f3d996 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3a144d7e pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x3a163a5c device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x3a17efce sdhci_set_ios +EXPORT_SYMBOL_GPL vmlinux 0x3a199e6b devm_regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x3a1b5fe2 devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3a1ff8d3 clk_mux_val_to_index +EXPORT_SYMBOL_GPL vmlinux 0x3a2c84d9 pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0x3a2e7fe1 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a59e1c6 usb_hcd_start_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x3a687efa of_genpd_parse_idle_states +EXPORT_SYMBOL_GPL vmlinux 0x3a6ba6bb pinctrl_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x3a71eda5 user_update +EXPORT_SYMBOL_GPL vmlinux 0x3a7c19e9 fork_usermode_driver +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3aa71cf5 page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0x3ab70944 list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3ad6bc20 imx_pcm_dma_init +EXPORT_SYMBOL_GPL vmlinux 0x3ada06b1 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x3adc0e54 phy_get +EXPORT_SYMBOL_GPL vmlinux 0x3ae86134 crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0x3aee0105 tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3af10ea4 hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x3b0714f7 fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0x3b0728bf fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x3b0e30a3 strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0x3b1916cb usb_control_msg_send +EXPORT_SYMBOL_GPL vmlinux 0x3b1e9218 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x3b22ead5 of_changeset_action +EXPORT_SYMBOL_GPL vmlinux 0x3b36c927 devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x3b496184 sdhci_cqe_disable +EXPORT_SYMBOL_GPL vmlinux 0x3b4c240a display_timings_release +EXPORT_SYMBOL_GPL vmlinux 0x3b64b8d6 usb_gadget_map_request_by_dev +EXPORT_SYMBOL_GPL vmlinux 0x3b6637db of_get_named_gpio_flags +EXPORT_SYMBOL_GPL vmlinux 0x3b6ed6f5 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x3b72ebc4 do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x3b922190 switchdev_bridge_port_unoffload +EXPORT_SYMBOL_GPL vmlinux 0x3b97cbef xas_find +EXPORT_SYMBOL_GPL vmlinux 0x3b9cb3aa musb_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3b9e4bfa bpf_trace_run12 +EXPORT_SYMBOL_GPL vmlinux 0x3ba8402a i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x3bb2267a gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0x3bb2fe8f snd_soc_component_set_jack +EXPORT_SYMBOL_GPL vmlinux 0x3bb9ffea snd_dmaengine_pcm_pointer_no_residue +EXPORT_SYMBOL_GPL vmlinux 0x3bc73d60 perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0x3bc9f8e0 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3c10ff25 tegra_bpmp_transfer +EXPORT_SYMBOL_GPL vmlinux 0x3c177332 kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0x3c1b83c5 mpc8xxx_spi_tx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c1dd6c0 platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x3c2b68f7 of_changeset_apply +EXPORT_SYMBOL_GPL vmlinux 0x3c2f99be pinctrl_find_gpio_range_from_pin +EXPORT_SYMBOL_GPL vmlinux 0x3c30cd5d pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x3c36f045 stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0x3c3c85d8 __SCK__tp_func_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x3c4522fa nand_get_large_page_ooblayout +EXPORT_SYMBOL_GPL vmlinux 0x3c5e6ca6 fuse_conn_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c72724e usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x3c7e266a bio_add_zone_append_page +EXPORT_SYMBOL_GPL vmlinux 0x3c864287 dev_pm_opp_of_register_em +EXPORT_SYMBOL_GPL vmlinux 0x3c96996c pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0x3c977a87 iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0x3c99f01f sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x3ca9ca0d devlink_rate_nodes_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3cbc7fe2 vfio_mig_get_next_state +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cd1b510 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x3cdff220 sdhci_calc_clk +EXPORT_SYMBOL_GPL vmlinux 0x3cf00f4b mtk_clk_gate_ops_setclr +EXPORT_SYMBOL_GPL vmlinux 0x3d0107c8 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x3d05d0ef attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x3d0e4a5b perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x3d10bfd8 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x3d338747 vp_legacy_queue_vector +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d395b9f dev_pm_enable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x3d42cda5 mtd_writev +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d59aeed dev_fill_forward_path +EXPORT_SYMBOL_GPL vmlinux 0x3d5a1c3f pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x3d5c4e6b snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL vmlinux 0x3d815303 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x3d866e05 __SCK__tp_func_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x3d9bbf75 wwan_port_txon +EXPORT_SYMBOL_GPL vmlinux 0x3db48a49 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x3dbb4b02 ahci_platform_disable_regulators +EXPORT_SYMBOL_GPL vmlinux 0x3dc32978 ahci_platform_enable_clks +EXPORT_SYMBOL_GPL vmlinux 0x3dc754fa blk_queue_zone_write_granularity +EXPORT_SYMBOL_GPL vmlinux 0x3dd5fa0b usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3dfc7f7a free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0x3e2461ee __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x3e27065b usb_ep_set_wedge +EXPORT_SYMBOL_GPL vmlinux 0x3e31d9c3 net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x3e413619 sdio_retune_crc_disable +EXPORT_SYMBOL_GPL vmlinux 0x3e46d802 mtk_pinconf_drive_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x3e47fdbd devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x3e4f36f7 tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0x3e50997c gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x3e5231c3 snd_soc_put_strobe +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e742e4b devm_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x3e75c860 ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x3e803ec7 tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0x3e85ac26 blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x3e8fd49b dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x3e976334 crypto_boot_test_finished +EXPORT_SYMBOL_GPL vmlinux 0x3ec40239 idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0x3ed89e3d hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3ef3fe96 genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL vmlinux 0x3efcee68 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x3f060887 __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x3f0a6d20 io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0x3f20d69d usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x3f3b75cb devm_hwmon_sanitize_name +EXPORT_SYMBOL_GPL vmlinux 0x3f491f49 reset_control_bulk_reset +EXPORT_SYMBOL_GPL vmlinux 0x3f497012 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x3f50ff5b devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0x3f5a73d1 skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x3f839346 devm_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3f84f7b5 ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3fb7afe5 nvmem_cell_read_variable_le_u32 +EXPORT_SYMBOL_GPL vmlinux 0x3fbce00f devm_register_power_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x3fe6c346 devlink_fmsg_binary_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x3fea029c hisi_clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x3ff2e349 hte_request_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x3ff3a0bb snd_dmaengine_pcm_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x3ffde93e pinctrl_dev_get_devname +EXPORT_SYMBOL_GPL vmlinux 0x400a1458 irq_domain_create_simple +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x40596b14 devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x40597a88 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x405bba1e otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0x4065d168 pm_print_active_wakeup_sources +EXPORT_SYMBOL_GPL vmlinux 0x406c4cb1 hrtimer_resolution +EXPORT_SYMBOL_GPL vmlinux 0x4071b517 out_of_line_wait_on_bit_timeout +EXPORT_SYMBOL_GPL vmlinux 0x407e7207 usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x4082f95f pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0x4084b9a4 devm_pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0x4099f919 tun_ptr_free +EXPORT_SYMBOL_GPL vmlinux 0x409a6ddb spi_delay_to_ns +EXPORT_SYMBOL_GPL vmlinux 0x40a23395 register_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x40a3ae2c bpf_trace_run1 +EXPORT_SYMBOL_GPL vmlinux 0x40b37456 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x40bb4fea devm_usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x40c3c8d1 __tracepoint_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x40cdc3ff pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x40cebb80 dev_pm_disable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x40d51ead gpiochip_add_pin_range +EXPORT_SYMBOL_GPL vmlinux 0x40d72754 ftrace_set_filter_ips +EXPORT_SYMBOL_GPL vmlinux 0x40e2b383 __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x40e5ca5e icc_put +EXPORT_SYMBOL_GPL vmlinux 0x40e8f3a3 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x40f0683e reset_control_put +EXPORT_SYMBOL_GPL vmlinux 0x40f8b94e ring_buffer_iter_dropped +EXPORT_SYMBOL_GPL vmlinux 0x40f8bd4e klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4100a662 clk_get_scaled_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x411c9563 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x411fd114 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x412402d1 fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x412cd966 blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x412d54be ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0x413182fa device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0x413680bb ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x4143acdf pm_genpd_opp_to_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x414538e6 synth_event_add_field_str +EXPORT_SYMBOL_GPL vmlinux 0x414b4e32 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x414d119a videomode_from_timings +EXPORT_SYMBOL_GPL vmlinux 0x4152d45f sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x416d7173 devlink_rate_leaf_create +EXPORT_SYMBOL_GPL vmlinux 0x416f2678 i2c_dw_validate_speed +EXPORT_SYMBOL_GPL vmlinux 0x41702044 dapm_pinctrl_event +EXPORT_SYMBOL_GPL vmlinux 0x417bbc81 sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x417fe450 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x4191bb86 ata_qc_get_active +EXPORT_SYMBOL_GPL vmlinux 0x419851dc phy_select_page +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x41a592ca regulator_list_hardware_vsel +EXPORT_SYMBOL_GPL vmlinux 0x41aa145b uprobe_register +EXPORT_SYMBOL_GPL vmlinux 0x41aaca31 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x41b9a6e6 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x41c30f3a trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0x41ccd51c snd_soc_of_parse_tdm_slot +EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x41ef7671 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x41f68f9c of_irq_parse_one +EXPORT_SYMBOL_GPL vmlinux 0x41f79b4d tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0x42041512 i2c_get_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4205ad24 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x4207931e l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0x420f3d01 nvmem_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x42114e45 inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x42221fb5 devm_clk_get_enabled +EXPORT_SYMBOL_GPL vmlinux 0x422fb589 gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0x423949be __mmc_poll_for_busy +EXPORT_SYMBOL_GPL vmlinux 0x42635d55 pm_suspend_global_flags +EXPORT_SYMBOL_GPL vmlinux 0x4267542e xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x426a6b71 cpts_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x427310ad inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x42905a77 irq_gc_noop +EXPORT_SYMBOL_GPL vmlinux 0x429c3f9c reboot_mode +EXPORT_SYMBOL_GPL vmlinux 0x429d699d stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x42e372a9 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x42e7a297 scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x42efb127 nvmem_del_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x42f728aa mctrl_gpio_get_outputs +EXPORT_SYMBOL_GPL vmlinux 0x42f8ab18 virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0x42f9b26b snd_ctl_register_layer +EXPORT_SYMBOL_GPL vmlinux 0x430d2625 rio_add_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x430d88ec __traceiter_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x431c93b4 mptcp_subflow_init_cookie_req +EXPORT_SYMBOL_GPL vmlinux 0x4320c797 pwm_free +EXPORT_SYMBOL_GPL vmlinux 0x43303407 component_master_del +EXPORT_SYMBOL_GPL vmlinux 0x4340a26b i2c_client_type +EXPORT_SYMBOL_GPL vmlinux 0x43454ab8 of_irq_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x43574920 of_clk_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x43600dd6 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x43601848 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x436c7176 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL vmlinux 0x436d817f mpi_clear_bit +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4392de97 l3mdev_table_lookup_unregister +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43af5a1b stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x43c106ef vfio_register_emulated_iommu_dev +EXPORT_SYMBOL_GPL vmlinux 0x43c4814a udp_bpf_update_proto +EXPORT_SYMBOL_GPL vmlinux 0x43ceaba1 device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x43d49b0a regmap_mmio_attach_clk +EXPORT_SYMBOL_GPL vmlinux 0x43dfd261 __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x43ee81f1 ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x43f76749 pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0x43f81957 clk_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x43f92edd wait_for_initramfs +EXPORT_SYMBOL_GPL vmlinux 0x4401e6c2 mpi_cmpabs +EXPORT_SYMBOL_GPL vmlinux 0x4407fb4b __irq_resolve_mapping +EXPORT_SYMBOL_GPL vmlinux 0x44116c6e bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x4414ec44 follow_pte +EXPORT_SYMBOL_GPL vmlinux 0x44163865 devm_regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x441b69da devfreq_get_devfreq_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x442c8973 regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x442deaa9 poll_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x4439bcd2 __SCK__tp_func_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x443c06b7 __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x444a6a5c pwm_get_chip_data +EXPORT_SYMBOL_GPL vmlinux 0x444f1735 cpu_pm_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x445fb50c transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x446c9ae9 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0x446efa08 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x4473fa72 sdhci_pltfm_resume +EXPORT_SYMBOL_GPL vmlinux 0x447cc01b rio_enable_rx_tx_port +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x4484f44f generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x448c8257 nanddev_isbad +EXPORT_SYMBOL_GPL vmlinux 0x4493fa50 of_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x449646fa devm_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0x44ab57a4 of_hwspin_lock_get_id_byname +EXPORT_SYMBOL_GPL vmlinux 0x44b83e00 vfio_info_cap_add +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44c7fb64 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x44cb2fb3 snd_soc_dai_compr_ack +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44d2d9ff sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0x44d74d69 __devm_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x4504d96a dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x45051f45 regmap_async_complete_cb +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x4520518a snd_device_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x4520fef6 pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x45370b73 of_console_check +EXPORT_SYMBOL_GPL vmlinux 0x45558f56 clk_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x455a9299 devm_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0x455dfed7 irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x4560e3c8 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x4561f990 qcom_smem_state_unregister +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x457d76fd rio_mport_get_feature +EXPORT_SYMBOL_GPL vmlinux 0x457e0a39 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x458df475 dev_pm_opp_find_bw_ceil +EXPORT_SYMBOL_GPL vmlinux 0x459b5dca tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0x45a747b0 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x45ae23fc crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x45f9ed49 kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0x45ff8535 trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0x46011f92 snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x46109243 scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0x46226cd4 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x4625bdcf phy_pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x462e238d mtk_clk_unregister_plls +EXPORT_SYMBOL_GPL vmlinux 0x463ec36c vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0x46407165 devfreq_event_set_event +EXPORT_SYMBOL_GPL vmlinux 0x46607078 mtd_point +EXPORT_SYMBOL_GPL vmlinux 0x4664aa8c edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x466d0f2a __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x466e5342 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x467aa025 device_link_del +EXPORT_SYMBOL_GPL vmlinux 0x467f5de4 tpm_tis_remove +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x468ec976 thermal_zone_of_get_sensor_id +EXPORT_SYMBOL_GPL vmlinux 0x46a47721 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x46aaf361 ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x46ac26b0 mptcp_pm_get_add_addr_signal_max +EXPORT_SYMBOL_GPL vmlinux 0x46bb4265 snd_soc_component_compr_get_caps +EXPORT_SYMBOL_GPL vmlinux 0x46bc4830 fscrypt_symlink_getattr +EXPORT_SYMBOL_GPL vmlinux 0x46bcb80c devm_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x46c06c19 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x46c5be22 clk_multiplier_ops +EXPORT_SYMBOL_GPL vmlinux 0x46d524c4 crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0x46d703a6 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x46db5401 xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x46e59db6 power_supply_get_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x46e7b24f pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x46edec82 genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x470cff24 bpf_trace_run3 +EXPORT_SYMBOL_GPL vmlinux 0x471dbb96 i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4723fa6e devm_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0x472a7c8a ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0x472c9419 fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0x47314cbb pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x47317949 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x47494d71 usb_get_dr_mode +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x476fa1b5 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL vmlinux 0x4777cdf8 filemap_read +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x478e81f8 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x47925794 idr_find +EXPORT_SYMBOL_GPL vmlinux 0x479cc4d0 serial8250_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x479f7d4b clk_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x47aad3b9 have_governor_per_policy +EXPORT_SYMBOL_GPL vmlinux 0x47bd138d snd_soc_component_compr_free +EXPORT_SYMBOL_GPL vmlinux 0x47beb1b0 sock_map_destroy +EXPORT_SYMBOL_GPL vmlinux 0x47c92c70 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x47de0dc7 clk_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x47dea766 kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0x47e1e1a8 rio_unmap_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x47f08cb7 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x47f4ac07 md_stop +EXPORT_SYMBOL_GPL vmlinux 0x47f6b4da class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x47f7a94f devm_pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x47fed44a netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0x4800c194 dm_audit_log_bio +EXPORT_SYMBOL_GPL vmlinux 0x48020c1c irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0x4802276d dmaengine_desc_set_metadata_len +EXPORT_SYMBOL_GPL vmlinux 0x480305ca kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x481f9b7d mpi_mulm +EXPORT_SYMBOL_GPL vmlinux 0x48203853 em_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x48237ba5 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x484779ef __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x4853dcd1 __traceiter_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x4855b179 kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0x485f6c56 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL vmlinux 0x486ba5c2 crc64_rocksoft_generic +EXPORT_SYMBOL_GPL vmlinux 0x486c5879 pm_clk_resume +EXPORT_SYMBOL_GPL vmlinux 0x4870aa9f snd_soc_unregister_dai +EXPORT_SYMBOL_GPL vmlinux 0x48777c72 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x489199c1 ulpi_viewport_access_ops +EXPORT_SYMBOL_GPL vmlinux 0x4898224b nfs42_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0x48a3d20b mctrl_gpio_get +EXPORT_SYMBOL_GPL vmlinux 0x48ac05d6 __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x48ae3879 dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0x48aeb9aa fixup_user_fault +EXPORT_SYMBOL_GPL vmlinux 0x48b2055b __tracepoint_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x48b9f4c5 __class_register +EXPORT_SYMBOL_GPL vmlinux 0x48c15163 devm_qcom_smem_state_get +EXPORT_SYMBOL_GPL vmlinux 0x48c32847 __SCK__tp_func_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x48cce5b7 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x48dac35e __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x48e7ab6a rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4925b178 kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0x49326ef6 irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4934bdd0 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x493650dc irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0x4942c5ac blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0x494e1069 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x495e0341 dev_pm_opp_get_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x49608959 migrate_disable +EXPORT_SYMBOL_GPL vmlinux 0x497dca67 ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x497fb768 devm_nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x49830f0e __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x4983ad60 icc_sync_state +EXPORT_SYMBOL_GPL vmlinux 0x498865b1 mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x4991d4db tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0x49931e6f skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x499a4fc4 devm_platform_get_irqs_affinity +EXPORT_SYMBOL_GPL vmlinux 0x499b530a virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0x49bc3340 snd_soc_component_exit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x49cd25ed alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x49d96707 freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x49de22d1 led_init_default_state_get +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49fcec3b fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x4a101e86 virtio_check_mem_acc_cb +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a2c9ad8 crc64_rocksoft +EXPORT_SYMBOL_GPL vmlinux 0x4a571ecd md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0x4a691f3c gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0x4a700bd6 fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0x4a7773f0 i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL vmlinux 0x4a7b54c5 snd_soc_info_volsw_range +EXPORT_SYMBOL_GPL vmlinux 0x4a7d0c0f irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0x4a7e2fb0 of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x4a81e2e7 wakeup_sources_walk_start +EXPORT_SYMBOL_GPL vmlinux 0x4a95ad2f scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x4a96b388 _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x4aac4ead da9052_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x4ac77b9a mtk_mux_gate_clr_set_upd_ops +EXPORT_SYMBOL_GPL vmlinux 0x4ae7104b mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x4aeb2672 sdhci_set_power_and_bus_voltage +EXPORT_SYMBOL_GPL vmlinux 0x4b15319b ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x4b1654a7 pm_clk_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4b1d8538 skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x4b2f8b95 devm_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x4b39334a fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0x4b44ea58 dev_pm_opp_get_max_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0x4b51f74c ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x4b57640d device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x4b6cfbd4 xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0x4b9ad52d bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x4baabc96 __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x4bbbfe8e get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x4bbe2cd1 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x4bbed0c0 ahci_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x4bc70f4e ip_route_output_key_hash +EXPORT_SYMBOL_GPL vmlinux 0x4bc892e0 gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0x4bd570ed regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4bd9726e strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x4bdb8dcc housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4be2c83d blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0x4c168bf8 snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL vmlinux 0x4c2bbd47 dev_pm_opp_get_opp_count +EXPORT_SYMBOL_GPL vmlinux 0x4c549b36 __traceiter_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x4c55afb1 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x4c7252d6 mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0x4c768e86 dev_pm_opp_disable +EXPORT_SYMBOL_GPL vmlinux 0x4c7a8b37 pinctrl_utils_add_config +EXPORT_SYMBOL_GPL vmlinux 0x4c842605 crypto_register_scomps +EXPORT_SYMBOL_GPL vmlinux 0x4c8b1cb9 efivar_entry_find +EXPORT_SYMBOL_GPL vmlinux 0x4ca1659d dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x4ca5545b proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0x4ca5f7ab usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x4cacb19b fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0x4cb27100 ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x4cb81fda __SCK__tp_func_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x4cbd69d7 badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0x4cc50615 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4cea6fc6 devm_regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x4ceba78d umd_unload_blob +EXPORT_SYMBOL_GPL vmlinux 0x4cf24332 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x4cfeb89d rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d03b96e vchan_find_desc +EXPORT_SYMBOL_GPL vmlinux 0x4d219aea mtk_is_virt_gpio +EXPORT_SYMBOL_GPL vmlinux 0x4d2269a7 bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0x4d2d9e41 of_clk_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0x4d38f1e0 bL_switcher_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4d3a0696 __SCK__tp_func_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x4d4689d0 get_device +EXPORT_SYMBOL_GPL vmlinux 0x4d48b8b5 __virtio_unbreak_device +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d6ea6a9 vfio_file_set_kvm +EXPORT_SYMBOL_GPL vmlinux 0x4d70602e __traceiter_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x4d7272e4 migrate_enable +EXPORT_SYMBOL_GPL vmlinux 0x4d781017 sdhci_start_tuning +EXPORT_SYMBOL_GPL vmlinux 0x4d7c2c2a perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x4d8d553f fscrypt_add_test_dummy_key +EXPORT_SYMBOL_GPL vmlinux 0x4d923d0d pinctrl_parse_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x4d96ce20 crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4dc07355 of_devfreq_cooling_register_power +EXPORT_SYMBOL_GPL vmlinux 0x4dc2aaa5 crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4de17ab3 usb_state_string +EXPORT_SYMBOL_GPL vmlinux 0x4de2381e register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x4de416c0 msg_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0x4dfe32d3 devm_extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x4dff61e5 wwan_port_txoff +EXPORT_SYMBOL_GPL vmlinux 0x4e20db53 phy_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x4e222f37 snd_ctl_sync_vmaster +EXPORT_SYMBOL_GPL vmlinux 0x4e2860b7 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x4e2ef14b ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x4e4b6cca ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x4e4e3f1b sdhci_set_data_timeout_irq +EXPORT_SYMBOL_GPL vmlinux 0x4e53e4c4 devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x4e6581cd iommu_map +EXPORT_SYMBOL_GPL vmlinux 0x4e77fb74 rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x4e8a277b wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x4e8c99ea device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x4e9849d1 hisi_clk_register_phase +EXPORT_SYMBOL_GPL vmlinux 0x4ea284d1 dm_hold +EXPORT_SYMBOL_GPL vmlinux 0x4eabcdb4 sdhci_set_power +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4ec0fac2 __devm_clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x4ec1bfb0 mmc_regulator_get_supply +EXPORT_SYMBOL_GPL vmlinux 0x4ec4d86f devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0x4ece3ec2 crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0x4ed232c8 debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0x4ee9b32c ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x4eea6535 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x4eeeb0e6 get_tree_mtd +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4ef9c338 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x4efcf021 mpi_normalize +EXPORT_SYMBOL_GPL vmlinux 0x4f18d9c7 snd_soc_remove_pcm_runtime +EXPORT_SYMBOL_GPL vmlinux 0x4f21f7bc ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0x4f221155 __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x4f3564b5 of_genpd_del_provider +EXPORT_SYMBOL_GPL vmlinux 0x4f3ba219 blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0x4f4936e4 __traceiter_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0x4f64c85f xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0x4f68672c add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4f6d57a7 ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x4f70bfee __traceiter_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x4f72a987 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0x4f7b027b noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x4f8d1a54 ata_ncq_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0x4f8fc747 crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0x4f927657 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x4f98d766 cpu_pm_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4f9cff9e pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x4fa1782d snd_soc_tdm_params_to_bclk +EXPORT_SYMBOL_GPL vmlinux 0x4fa35bdf dev_pm_opp_get_required_pstate +EXPORT_SYMBOL_GPL vmlinux 0x4fb0be2c clk_hw_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4fb9b3e4 gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4ff95955 devm_clk_get_optional_prepared +EXPORT_SYMBOL_GPL vmlinux 0x500c8195 mxic_ecc_process_data_pipelined +EXPORT_SYMBOL_GPL vmlinux 0x5019bef5 usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x5021c229 dmi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x50289ce9 mmc_regulator_set_vqmmc +EXPORT_SYMBOL_GPL vmlinux 0x503eeebb synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x50434792 regmap_get_val_endian +EXPORT_SYMBOL_GPL vmlinux 0x5048ae06 phy_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x50616e69 devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0x50665445 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x50703085 pinctrl_generic_get_group +EXPORT_SYMBOL_GPL vmlinux 0x5086c2d9 mvebu_mbus_get_dram_win_info +EXPORT_SYMBOL_GPL vmlinux 0x508afef4 usb_anchor_suspend_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x5093c240 gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0x5096d647 scsi_alloc_request +EXPORT_SYMBOL_GPL vmlinux 0x509a21dd crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x509d5f55 clk_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x50a3b412 irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x50b348b8 page_cache_sync_ra +EXPORT_SYMBOL_GPL vmlinux 0x50b51049 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x50b88f41 usb_get_gadget_udc_name +EXPORT_SYMBOL_GPL vmlinux 0x50be08d6 nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0x50bf31e2 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x50c89f23 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x50caca60 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x50d1fb78 udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0x50dc8437 __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x50e412d5 altr_sysmgr_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x50e62682 snd_soc_suspend +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50ec4642 of_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x51131321 icc_get_name +EXPORT_SYMBOL_GPL vmlinux 0x51153b89 __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0x51186717 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x511c23cf mtd_wunit_to_pairing_info +EXPORT_SYMBOL_GPL vmlinux 0x5121e180 tcp_sendmsg_locked +EXPORT_SYMBOL_GPL vmlinux 0x5128b9b5 dax_recovery_write +EXPORT_SYMBOL_GPL vmlinux 0x51379137 usb_urb_ep_type_check +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x514b4f61 blk_mq_sched_mark_restart_hctx +EXPORT_SYMBOL_GPL vmlinux 0x515b390f __SCK__tp_func_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x516b7d8b dev_err_probe +EXPORT_SYMBOL_GPL vmlinux 0x5180f35a crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x518403ff __traceiter_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x518b841a icc_get +EXPORT_SYMBOL_GPL vmlinux 0x518cff98 pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0x51991b38 mtk_mutex_enable +EXPORT_SYMBOL_GPL vmlinux 0x51a348cc usb_role_switch_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x51b076cc irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0x51ba5e39 sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0x51be7898 pinmux_generic_get_function_count +EXPORT_SYMBOL_GPL vmlinux 0x51ccd7fa pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x51f38069 gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x52073255 bus_register +EXPORT_SYMBOL_GPL vmlinux 0x52252316 clk_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x5236497d trace_clock +EXPORT_SYMBOL_GPL vmlinux 0x52500f07 __traceiter_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x525be224 serdev_device_get_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x52641615 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x526bcf2a wwan_port_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x52701755 platform_clear +EXPORT_SYMBOL_GPL vmlinux 0x5273796e __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x527c5798 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52ba5959 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52d10352 mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x52d9e593 gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0x52dcaabe of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x52e6c02f __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0x52ec337a devm_irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x530a0ca1 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x5314aebd usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x53277b15 wwan_register_ops +EXPORT_SYMBOL_GPL vmlinux 0x5335fb70 mtd_ooblayout_count_freebytes +EXPORT_SYMBOL_GPL vmlinux 0x533a72e7 snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL vmlinux 0x533ce0fa devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0x533dc8f5 device_move +EXPORT_SYMBOL_GPL vmlinux 0x534125a9 fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0x53436952 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x53449d74 regulator_get_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x534f93c5 ethnl_cable_test_fault_length +EXPORT_SYMBOL_GPL vmlinux 0x5354402e rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x535b4266 regmap_parse_val +EXPORT_SYMBOL_GPL vmlinux 0x536822e3 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x536cfbc4 pinconf_generic_parse_dt_config +EXPORT_SYMBOL_GPL vmlinux 0x537252cf __SCK__tp_func_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x538634c1 pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x5387c039 pinctrl_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL vmlinux 0x538f61c0 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x539cf691 thermal_zone_get_slope +EXPORT_SYMBOL_GPL vmlinux 0x53a13806 irq_domain_create_sim +EXPORT_SYMBOL_GPL vmlinux 0x53a56400 blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x53d7c01e __traceiter_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x53e18d98 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x53ea75a6 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x53ff35e2 fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0x5406b84a crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x54172702 cci_disable_port_by_cpu +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x5426c295 trace_add_event_call +EXPORT_SYMBOL_GPL vmlinux 0x5427fba3 iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0x5435454c divider_ro_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x5436a2c4 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x5447a97a nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x54490b2b sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x54550c95 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x5472d902 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x5478ec8d ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x547ea619 fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x548c929c pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x54943a14 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x5498f0ce sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x54a25da2 qcom_smem_state_put +EXPORT_SYMBOL_GPL vmlinux 0x54da6af3 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x5506ad5c fsverity_ioctl_read_metadata +EXPORT_SYMBOL_GPL vmlinux 0x550947c4 crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x550bbba3 static_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x550f3e05 i2c_freq_mode_string +EXPORT_SYMBOL_GPL vmlinux 0x551acea4 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x551b0403 balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0x55339365 flush_delayed_fput +EXPORT_SYMBOL_GPL vmlinux 0x55372889 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x553b49a4 cpufreq_get_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x553f0954 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x55417264 unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x554c2f8d __percpu_init_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x555a8a67 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x556e4390 clk_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x5581e767 mbox_chan_txdone +EXPORT_SYMBOL_GPL vmlinux 0x55929818 devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0x559b38e1 pinconf_generic_dt_free_map +EXPORT_SYMBOL_GPL vmlinux 0x559e7026 compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0x55a15381 __devm_clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x55a98e28 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x55b181af pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0x55ba135e inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x55c76a23 ksys_sync_helper +EXPORT_SYMBOL_GPL vmlinux 0x55d04acb snd_soc_component_compr_get_params +EXPORT_SYMBOL_GPL vmlinux 0x55d6e495 nanddev_isreserved +EXPORT_SYMBOL_GPL vmlinux 0x55e29c6a rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x55e2c51b aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x55ec0b69 xhci_drop_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x55fc85f9 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x560bb2c9 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x560ff7eb samsung_sdi_battery_get_info +EXPORT_SYMBOL_GPL vmlinux 0x56173654 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x561835eb init_rs_non_canonical +EXPORT_SYMBOL_GPL vmlinux 0x562314b4 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x56256e8a orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x562e9d4c tegra_mc_probe_device +EXPORT_SYMBOL_GPL vmlinux 0x562f8aa9 snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x5632e63d nand_subop_get_num_addr_cyc +EXPORT_SYMBOL_GPL vmlinux 0x5634e95f __ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x56389ec4 virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0x563c1d8f device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x5653a2ea dev_pm_opp_get_freq +EXPORT_SYMBOL_GPL vmlinux 0x566957c9 tps65912_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x566cf8d2 kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0x566f20cb cpufreq_table_index_unsorted +EXPORT_SYMBOL_GPL vmlinux 0x568280ab pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0x5684a296 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x5684a5d8 add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0x5697fa0a sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0x56a6a76c net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x56b0e5af ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x56b6c74c devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x56b8a17c debugfs_lookup_and_remove +EXPORT_SYMBOL_GPL vmlinux 0x56bb81ca debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0x56ce2343 ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x56cf94ec regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x56e9103b cpu_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x56ea78ee crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0x56fbb130 no_hash_pointers +EXPORT_SYMBOL_GPL vmlinux 0x5700c16d spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x571636b9 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x571f761e mtk_eint_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x572f990f snd_soc_set_ac97_ops_of_reset +EXPORT_SYMBOL_GPL vmlinux 0x5756a1b1 irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x577d131b pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x5782e67d iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x5788f3c4 __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0x5790e7a0 pci_unlock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0x57969755 xhci_run +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57a231cc usb_decode_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x57a875a5 get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0x57cbdb37 snd_dmaengine_pcm_close +EXPORT_SYMBOL_GPL vmlinux 0x57d2c8e0 rockchip_register_softrst +EXPORT_SYMBOL_GPL vmlinux 0x57d4050a xhci_get_endpoint_index +EXPORT_SYMBOL_GPL vmlinux 0x57e99ee6 cros_ec_check_features +EXPORT_SYMBOL_GPL vmlinux 0x57f1665d snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL vmlinux 0x57f576b9 mpi_ec_curve_point +EXPORT_SYMBOL_GPL vmlinux 0x580e83ee irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x581bae1f dw_pcie_ep_reset_bar +EXPORT_SYMBOL_GPL vmlinux 0x581d2245 gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x581f45c2 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x58271377 devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0x5830a383 vp_legacy_get_driver_features +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x583b76d7 snd_soc_dapm_free +EXPORT_SYMBOL_GPL vmlinux 0x58425747 devl_rate_leaf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x58437d0c subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x584d83ab __iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x58631dab imx_audmux_v2_configure_port +EXPORT_SYMBOL_GPL vmlinux 0x586bc7ee mtd_unpoint +EXPORT_SYMBOL_GPL vmlinux 0x5873a469 of_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x587ac04d cpufreq_show_cpus +EXPORT_SYMBOL_GPL vmlinux 0x587ca792 tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0x5890cf82 of_clk_add_provider +EXPORT_SYMBOL_GPL vmlinux 0x58a28376 tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0x58b01db8 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x58be4ea2 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x58c181bc icc_provider_add +EXPORT_SYMBOL_GPL vmlinux 0x58c32c3b misc_cg_try_charge +EXPORT_SYMBOL_GPL vmlinux 0x58c349c8 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x58ca2786 sdhci_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x58d274db devm_of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x58d5b70b __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x58db1176 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x58f0308a clk_regmap_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x59187393 ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0x59192b55 virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0x5919b034 power_supply_get_property +EXPORT_SYMBOL_GPL vmlinux 0x59255141 reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x5949b457 relay_open +EXPORT_SYMBOL_GPL vmlinux 0x594d9540 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x59551cc1 atomic_notifier_chain_register_unique_prio +EXPORT_SYMBOL_GPL vmlinux 0x5986d190 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0x5988875b led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x5990367d rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x5995fbd3 fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0x59a1fab8 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x59b2b975 regmap_irq_get_domain +EXPORT_SYMBOL_GPL vmlinux 0x59b5def6 clk_regmap_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0x59b93454 disk_alloc_independent_access_ranges +EXPORT_SYMBOL_GPL vmlinux 0x59c43dc9 __traceiter_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x59cc9272 devfreq_cooling_em_register +EXPORT_SYMBOL_GPL vmlinux 0x59d2bd6d irq_gc_set_wake +EXPORT_SYMBOL_GPL vmlinux 0x59d79fca regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x59e63c85 sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x59f32720 mpi_subm +EXPORT_SYMBOL_GPL vmlinux 0x5a006c46 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x5a03e601 tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0x5a08e13a put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x5a12e60c __SCK__tp_func_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a2b80ed edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0x5a2b9dc6 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x5a482aa5 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a4a6d8b nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x5a63cd05 trace_array_printk +EXPORT_SYMBOL_GPL vmlinux 0x5a65ce14 usb_phy_get_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a71a29f dev_pm_opp_adjust_voltage +EXPORT_SYMBOL_GPL vmlinux 0x5a750b69 fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a84abe5 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x5a8e279f dev_pm_opp_get_max_volt_latency +EXPORT_SYMBOL_GPL vmlinux 0x5a9c4d71 get_net_ns_by_fd +EXPORT_SYMBOL_GPL vmlinux 0x5aa1dfed sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0x5aa826c8 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x5ab09745 edac_get_owner +EXPORT_SYMBOL_GPL vmlinux 0x5ab2d34c __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x5ad7616d tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x5aee0b4b mtd_panic_write +EXPORT_SYMBOL_GPL vmlinux 0x5af762f1 snd_fasync_free +EXPORT_SYMBOL_GPL vmlinux 0x5b001de2 ohci_resume +EXPORT_SYMBOL_GPL vmlinux 0x5b17c126 rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b27d7a8 skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0x5b29bf8e inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x5b316080 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0x5b3bdea8 alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0x5b602b86 devfreq_event_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x5b6707c2 sdhci_request_atomic +EXPORT_SYMBOL_GPL vmlinux 0x5b7e2a31 mtk_pinconf_adv_drive_set +EXPORT_SYMBOL_GPL vmlinux 0x5b82d911 devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5b8a1bfd snd_soc_dapm_disable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x5b994e71 ima_measure_critical_data +EXPORT_SYMBOL_GPL vmlinux 0x5ba428f2 of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x5ba9c87f blk_crypto_keyslot_index +EXPORT_SYMBOL_GPL vmlinux 0x5bae983f debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0x5bb11fc3 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x5bbb9b73 mtk_clk_register_muxes +EXPORT_SYMBOL_GPL vmlinux 0x5bbba9f2 __traceiter_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0x5bc950fe regulator_irq_helper_cancel +EXPORT_SYMBOL_GPL vmlinux 0x5bcc0df7 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5bd0748f crypto_del_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x5bdae35b usb_phy_roothub_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x5bdbac4e rcu_unexpedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x5be57241 fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0x5bec8227 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL vmlinux 0x5bee5840 tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0x5bf9fa9e platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0x5bfdf3cf devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x5c122cd1 tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x5c1d95b7 get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x5c22b032 blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0x5c2f1546 devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0x5c309e65 hibernate_quiet_exec +EXPORT_SYMBOL_GPL vmlinux 0x5c3bbd06 __SCK__tp_func_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x5c4dd5d1 qcom_smem_state_register +EXPORT_SYMBOL_GPL vmlinux 0x5c5a1b16 tick_broadcast_control +EXPORT_SYMBOL_GPL vmlinux 0x5c642f34 iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0x5c724709 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x5c773f0a ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x5c7c17ef serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x5c82016e __SCK__tp_func_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x5c87f8e2 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x5c8d4b57 encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x5c9c6a76 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x5ca01320 devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5cad8fc3 power_supply_ocv2cap_simple +EXPORT_SYMBOL_GPL vmlinux 0x5cadbd1c of_genpd_remove_last +EXPORT_SYMBOL_GPL vmlinux 0x5caf19a2 folio_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x5cafcccc of_icc_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x5cc2a511 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x5ce90bb4 scmi_protocol_register +EXPORT_SYMBOL_GPL vmlinux 0x5cede0a7 xdp_flush_frame_bulk +EXPORT_SYMBOL_GPL vmlinux 0x5cf0edcf clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x5cfe0c64 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x5d02bb59 dma_resv_get_singleton +EXPORT_SYMBOL_GPL vmlinux 0x5d0a0eff __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x5d0b4b38 dma_request_chan_by_mask +EXPORT_SYMBOL_GPL vmlinux 0x5d0b7339 tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x5d23318b sm501_modify_reg +EXPORT_SYMBOL_GPL vmlinux 0x5d2a015a devfreq_event_get_edev_count +EXPORT_SYMBOL_GPL vmlinux 0x5d2bc42a reset_control_rearm +EXPORT_SYMBOL_GPL vmlinux 0x5d3196ea cpuidle_get_cpu_driver +EXPORT_SYMBOL_GPL vmlinux 0x5d344db3 device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x5d3508f1 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x5d374188 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x5d39d840 pwm_adjust_config +EXPORT_SYMBOL_GPL vmlinux 0x5d3ce478 dev_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x5d41c6cc kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0x5d49eae4 devm_pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x5d4bf724 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x5d6fa589 crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0x5d7693cb platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0x5d82a5b8 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d95cef1 tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0x5da2d0e2 __traceiter_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x5da4d94e sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5dae9d1a do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0x5ddbec05 regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x5df1fc6a rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x5dfbc6ff __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x5dff6fda x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0x5e0daf3f pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0x5e11a451 __traceiter_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x5e29bc97 tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0x5e3c606d devm_pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x5e45e45f of_pci_dma_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0x5e504919 __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e581fa1 ahci_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x5e5c8a1e devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0x5e67b71d evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0x5e6a0f71 crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x5e6b9127 usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x5e798ffb divider_get_val +EXPORT_SYMBOL_GPL vmlinux 0x5e815de4 rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5e869f0f xhci_dbg_trace +EXPORT_SYMBOL_GPL vmlinux 0x5e8957b7 nand_status_op +EXPORT_SYMBOL_GPL vmlinux 0x5e8d1f80 get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x5ea267ef blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0x5ea75e4d device_link_add +EXPORT_SYMBOL_GPL vmlinux 0x5eac2981 mtk_clk_register_composites +EXPORT_SYMBOL_GPL vmlinux 0x5eae5408 clk_is_enabled_when_prepared +EXPORT_SYMBOL_GPL vmlinux 0x5eb417e0 __SCK__tp_func_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x5ec2319a mtk_mutex_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x5ece45fb cpufreq_dbs_governor_limits +EXPORT_SYMBOL_GPL vmlinux 0x5ee42391 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5efc5458 msi_unlock_descs +EXPORT_SYMBOL_GPL vmlinux 0x5f142fbe crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x5f1e39f7 ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x5f1ec905 fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x5f1f3a21 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x5f383ae0 pm_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x5f64d456 sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0x5f66e4bf fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f6f4e77 snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL vmlinux 0x5f8d3f24 devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x5f914035 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x5f978d05 xdp_build_skb_from_frame +EXPORT_SYMBOL_GPL vmlinux 0x5f9e630f crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0x5fa625ed mpi_ec_mul_point +EXPORT_SYMBOL_GPL vmlinux 0x5faaff83 dev_pm_opp_find_bw_floor +EXPORT_SYMBOL_GPL vmlinux 0x5fab8285 start_poll_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x5fb1aecf peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5fb9a161 thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0x5fbb3467 pm_clk_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5fbd093f mmc_pwrseq_register +EXPORT_SYMBOL_GPL vmlinux 0x5fc1bb86 crypto_grab_kpp +EXPORT_SYMBOL_GPL vmlinux 0x5fcbc5c4 bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0x5fccd6ab srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x5fd22264 i2c_dw_probe_master +EXPORT_SYMBOL_GPL vmlinux 0x5fe12e23 key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0x5fe1fab7 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x5fea1d81 pinctrl_pm_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0x5ff46320 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x5ffb9b99 gpiochip_remove_pin_ranges +EXPORT_SYMBOL_GPL vmlinux 0x5ffbd42b mmc_poll_for_busy +EXPORT_SYMBOL_GPL vmlinux 0x5ffe9aa7 __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x60091316 clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x600b1d10 usb_del_gadget_udc +EXPORT_SYMBOL_GPL vmlinux 0x601ac941 snd_soc_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x60236fa9 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x6028a06c genphy_c45_pma_resume +EXPORT_SYMBOL_GPL vmlinux 0x60300d22 mtk_clk_gate_ops_setclr_inv +EXPORT_SYMBOL_GPL vmlinux 0x60310a97 gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x6039b2cb mmc_sanitize +EXPORT_SYMBOL_GPL vmlinux 0x6041cfda usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x60606431 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0x6060ee96 housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0x60616ffd ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x60671345 software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x606b4aba devlink_linecard_provision_set +EXPORT_SYMBOL_GPL vmlinux 0x6075d0c7 omap_tll_init +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x6083ab93 devm_hte_request_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x608b29f1 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60aad291 security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x60ae0922 power_supply_vbat2ri +EXPORT_SYMBOL_GPL vmlinux 0x60b21252 rio_local_set_device_id +EXPORT_SYMBOL_GPL vmlinux 0x60b8cb80 ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0x60bb964b usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x60c08e16 pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0x60c2594b crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x60d1f07a bpf_trace_run7 +EXPORT_SYMBOL_GPL vmlinux 0x60e0d0aa fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x60f1292c snd_soc_component_compr_set_metadata +EXPORT_SYMBOL_GPL vmlinux 0x60f38679 sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x60f90c69 irq_domain_update_bus_token +EXPORT_SYMBOL_GPL vmlinux 0x60fb4e75 rdev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x6102d73f sata_lpm_ignore_phy_events +EXPORT_SYMBOL_GPL vmlinux 0x610a752e get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0x61123cd1 tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0x611803cd wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x612adac0 shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0x612b4ee8 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x61452e8c i2c_dw_adjust_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x614782f1 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x614adcb7 of_overlay_remove_all +EXPORT_SYMBOL_GPL vmlinux 0x616a5658 ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0x617574f3 fscrypt_set_bio_crypt_ctx_bh +EXPORT_SYMBOL_GPL vmlinux 0x6177fc53 nand_change_write_column_op +EXPORT_SYMBOL_GPL vmlinux 0x617a2833 sbitmap_queue_recalculate_wake_batch +EXPORT_SYMBOL_GPL vmlinux 0x617b3139 ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0x618180e8 pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0x6181e79f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0x618bfcc7 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x61900950 spi_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x6197040a irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0x6198dfea __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6199ad5d crypto_has_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x61a6c44f sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x61a9b7a6 snd_devm_card_new +EXPORT_SYMBOL_GPL vmlinux 0x61ba4dfb blk_stat_disable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x61be7fdd inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x61c1ca29 __SCK__tp_func_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x61cbc6fc sdhci_remove_host +EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x61f6efe8 snd_soc_lookup_component +EXPORT_SYMBOL_GPL vmlinux 0x620eb0b6 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x6214a228 devm_regmap_field_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x62172287 dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0x621a6d5c serial8250_init_port +EXPORT_SYMBOL_GPL vmlinux 0x622704f8 dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0x622c7922 register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x62377a7b blk_io_schedule +EXPORT_SYMBOL_GPL vmlinux 0x6246a629 synchronize_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x624ecfca fuse_dev_fiq_ops +EXPORT_SYMBOL_GPL vmlinux 0x6257dda7 clk_rate_exclusive_get +EXPORT_SYMBOL_GPL vmlinux 0x6259d291 clk_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x625be818 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x62738eee blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0x628c7e7e power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x62a1ad1a dev_attr_ncq_prio_enable +EXPORT_SYMBOL_GPL vmlinux 0x62a8b4c8 crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62bb9fc5 bpf_trace_run6 +EXPORT_SYMBOL_GPL vmlinux 0x62c884d9 ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0x62cd84ca fscrypt_mergeable_bio +EXPORT_SYMBOL_GPL vmlinux 0x62d0e2a6 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x62e5ecab synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0x63090722 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x630c6ffd relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x63149c59 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x63150e06 clk_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x63197685 s2idle_wake +EXPORT_SYMBOL_GPL vmlinux 0x631cb29d skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0x6320063f gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x633cb2c6 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x634b9d42 __SCK__tp_func_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x635163f8 tps65912_device_exit +EXPORT_SYMBOL_GPL vmlinux 0x6363f3e9 devfreq_event_enable_edev +EXPORT_SYMBOL_GPL vmlinux 0x63710396 devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0x637d5d1a br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0x63808708 xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0x6382839d of_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x6389f004 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x63a50f17 device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0x63adbf92 encode_rs8 +EXPORT_SYMBOL_GPL vmlinux 0x63b68ff6 sdhci_execute_tuning +EXPORT_SYMBOL_GPL vmlinux 0x63ba93d3 page_cache_async_ra +EXPORT_SYMBOL_GPL vmlinux 0x63baa76f sdhci_set_clock +EXPORT_SYMBOL_GPL vmlinux 0x63bfec83 dev_pm_opp_put_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x63c08029 clk_bulk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x63c52ac6 dev_pm_opp_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x63de391d phy_check_downshift +EXPORT_SYMBOL_GPL vmlinux 0x63e03263 param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x63e543ca phy_10gbit_fec_features +EXPORT_SYMBOL_GPL vmlinux 0x63f483f2 irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0x64081f7b bpfilter_umh_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x640ea407 nfs_ssc_register +EXPORT_SYMBOL_GPL vmlinux 0x641ba698 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x64256424 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0x6426464b do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x64290992 snd_card_ref +EXPORT_SYMBOL_GPL vmlinux 0x642b59ec devfreq_get_devfreq_by_node +EXPORT_SYMBOL_GPL vmlinux 0x6432701a phy_reset +EXPORT_SYMBOL_GPL vmlinux 0x64334fff kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0x64411794 rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x644bfdcf trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0x644e7646 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x645867b7 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x647537f3 pl320_ipc_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x648c5825 devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0x648eac21 __spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x6493a2df rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0x6496896e snd_soc_info_volsw +EXPORT_SYMBOL_GPL vmlinux 0x6499ca92 copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x649a326b snd_soc_unregister_card +EXPORT_SYMBOL_GPL vmlinux 0x64a2c7e7 meson_clk_mpll_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x64c07d32 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0x64c3d9b3 tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x64c45a1e pskb_put +EXPORT_SYMBOL_GPL vmlinux 0x64ca4f1a subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x64edef3d iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0x64f08ead da9052_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x650abf53 mmc_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0x651d10e5 ktime_get_tai_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x65280b38 snd_soc_free_ac97_component +EXPORT_SYMBOL_GPL vmlinux 0x65284995 efi_capsule_update +EXPORT_SYMBOL_GPL vmlinux 0x652967d5 account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x652b6601 scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0x65306e71 edac_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0x6531a37f mpi_add +EXPORT_SYMBOL_GPL vmlinux 0x65506d3f dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x655294ef l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0x65537437 freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x655bc9e1 mtd_erase_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x65698aae pinconf_generic_dump_config +EXPORT_SYMBOL_GPL vmlinux 0x656b00be sdhci_cqe_enable +EXPORT_SYMBOL_GPL vmlinux 0x656e1fd1 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x6571d1fa wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x6582ebd2 __traceiter_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x658e2acf __traceiter_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x659cc187 serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0x65ac5eda iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d41a66 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x65d4f644 usb_control_msg_recv +EXPORT_SYMBOL_GPL vmlinux 0x65d5ff1b ahci_init_controller +EXPORT_SYMBOL_GPL vmlinux 0x65db8e61 pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0x65def01d mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0x65e8472f scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x65ee0e31 page_cache_ra_unbounded +EXPORT_SYMBOL_GPL vmlinux 0x660141ee pm_clk_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x660eb6bd devlink_free +EXPORT_SYMBOL_GPL vmlinux 0x660ee10b fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0x66123376 __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x6649552c posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x665e92a0 clk_set_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x666991f3 sdhci_adma_write_desc +EXPORT_SYMBOL_GPL vmlinux 0x6675ef67 of_hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x66868764 bpf_trace_run9 +EXPORT_SYMBOL_GPL vmlinux 0x668e169c debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x66922558 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x669594ad musb_clearw +EXPORT_SYMBOL_GPL vmlinux 0x66a20022 nanddev_markbad +EXPORT_SYMBOL_GPL vmlinux 0x66a372b0 netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0x66afb446 device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x66b26b2b clk_hw_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0x66b41274 pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66bfcd25 i2c_parse_fw_timings +EXPORT_SYMBOL_GPL vmlinux 0x66c53f7e devm_snd_soc_register_component +EXPORT_SYMBOL_GPL vmlinux 0x66ce6fbf dma_get_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x66cf0ee3 vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x66d0f832 l3mdev_ifindex_lookup_by_table_id +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66d9b01e scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x66e536fa perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0x66e66e7f iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0x66fc9987 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x6703903b register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x670768f3 wwan_unregister_ops +EXPORT_SYMBOL_GPL vmlinux 0x6709da3e crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x670c3c3c usb_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x673e8507 devm_extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x67429c91 __SCK__tp_func_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x67488e2f __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0x674a5dd0 omap_iommu_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0x6759230c fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0x67719497 of_css +EXPORT_SYMBOL_GPL vmlinux 0x6781513c __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x678b43cc dma_resv_test_signaled +EXPORT_SYMBOL_GPL vmlinux 0x678fd03f nanddev_bbt_set_block_status +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x679cdbce pci_find_host_bridge +EXPORT_SYMBOL_GPL vmlinux 0x67a68232 blk_mq_alloc_sq_tag_set +EXPORT_SYMBOL_GPL vmlinux 0x67bf66c7 led_init_core +EXPORT_SYMBOL_GPL vmlinux 0x67c27dfd rockchip_clk_of_add_provider +EXPORT_SYMBOL_GPL vmlinux 0x67ced6df dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x67dbbb8b __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x67ddfdb9 nand_prog_page_begin_op +EXPORT_SYMBOL_GPL vmlinux 0x67f5fb4f sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x6801f2a6 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x681356e2 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x682b8518 of_dma_router_register +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x683a2ddd register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x683accd4 mpc8xxx_spi_tx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0x68489efe ahci_start_engine +EXPORT_SYMBOL_GPL vmlinux 0x685a1b3f extcon_find_edev_by_node +EXPORT_SYMBOL_GPL vmlinux 0x685bb852 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x687525ba badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0x68758fda nvmem_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x687bbe26 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x687f9bad sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0x687fca31 imx6q_cpuidle_fec_irqs_used +EXPORT_SYMBOL_GPL vmlinux 0x688d8910 pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x68b85a67 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x68c083ef pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x68e2bf50 __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x68e7d8b4 of_clk_get_parent_count +EXPORT_SYMBOL_GPL vmlinux 0x68e8acdd gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL vmlinux 0x6913865a trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x6926ca24 regulator_set_pull_down_regmap +EXPORT_SYMBOL_GPL vmlinux 0x692a4f08 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0x69388018 dma_resv_iter_first +EXPORT_SYMBOL_GPL vmlinux 0x6945725e mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0x695bf5e9 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x69637b2c __traceiter_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x696484de ahci_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x696f1e43 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0x696f2b63 of_changeset_init +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x69819f67 led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x6982dc77 rockchip_pcie_enable_clocks +EXPORT_SYMBOL_GPL vmlinux 0x698360ae __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x6994cce6 phy_pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x69a79079 rio_mport_initialize +EXPORT_SYMBOL_GPL vmlinux 0x69a999ce snd_ctl_get_preferred_subdevice +EXPORT_SYMBOL_GPL vmlinux 0x69b4f170 gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69d28eac mtk_clk_unregister_composites +EXPORT_SYMBOL_GPL vmlinux 0x69dd4869 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x69e047a8 crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x69e83605 mc146818_get_time +EXPORT_SYMBOL_GPL vmlinux 0x69ee2220 linear_range_get_selector_high +EXPORT_SYMBOL_GPL vmlinux 0x69f40d0f bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x69f501e8 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x69fa4cab crypto_shash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x69fe66b4 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x6a043276 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x6a055e2a snd_soc_component_async_complete +EXPORT_SYMBOL_GPL vmlinux 0x6a05b65b fb_videomode_from_videomode +EXPORT_SYMBOL_GPL vmlinux 0x6a19d11d input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x6a20134d ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x6a29e5d2 irq_force_affinity +EXPORT_SYMBOL_GPL vmlinux 0x6a3219ba rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x6a460dc5 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0x6a4f623b mmu_notifier_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x6a58649a platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x6a64cecc pci_epc_put +EXPORT_SYMBOL_GPL vmlinux 0x6a76832a key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0x6a7ef6cf nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0x6a930e99 tegra_bpmp_free_mrq +EXPORT_SYMBOL_GPL vmlinux 0x6a9eee88 devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x6aa5e412 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0x6ab65731 iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0x6abfec36 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x6add6341 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x6adee227 blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x6ae5d51e xhci_gen_setup +EXPORT_SYMBOL_GPL vmlinux 0x6ae76cdf ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x6af8c6dc musb_writel +EXPORT_SYMBOL_GPL vmlinux 0x6b032e2e devm_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x6b05786b regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x6b0a8e87 devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0x6b0e35d1 mtd_ooblayout_get_databytes +EXPORT_SYMBOL_GPL vmlinux 0x6b14e7a1 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x6b17df14 serial8250_do_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x6b198c77 led_colors +EXPORT_SYMBOL_GPL vmlinux 0x6b1a847e root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6b1ebf09 ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x6b20b347 sbitmap_queue_show +EXPORT_SYMBOL_GPL vmlinux 0x6b334acc trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0x6b36e07d devlink_linecard_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6b39851f dev_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0x6b413c9b sfp_link_down +EXPORT_SYMBOL_GPL vmlinux 0x6b47f8a4 hisi_clk_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x6b49b9ea unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x6b4a24fd devm_phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0x6b637d74 __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0x6b7b2472 iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0x6b81c38b power_supply_unreg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6b86b38a shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0x6b8eb159 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x6b8fc4f1 iomap_read_folio +EXPORT_SYMBOL_GPL vmlinux 0x6b99d828 fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0x6ba77519 dev_pm_opp_get_power +EXPORT_SYMBOL_GPL vmlinux 0x6baa828e devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x6bac3b4b tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0x6bb68d69 rockchip_clk_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6bbad26e __folio_lock_killable +EXPORT_SYMBOL_GPL vmlinux 0x6bcdedc0 mpi_point_init +EXPORT_SYMBOL_GPL vmlinux 0x6bcf00aa device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6bdd680c snd_pcm_fill_iec958_consumer_hw_params +EXPORT_SYMBOL_GPL vmlinux 0x6bfafd7c blk_crypto_has_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x6c0d0232 add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0x6c29cf44 exportfs_decode_fh_raw +EXPORT_SYMBOL_GPL vmlinux 0x6c2bfbe1 devm_mipi_dsi_attach +EXPORT_SYMBOL_GPL vmlinux 0x6c3ebd74 usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6c43b737 ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x6c4b6684 reset_control_assert +EXPORT_SYMBOL_GPL vmlinux 0x6c5ad0cd kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x6c6e98e0 phy_init +EXPORT_SYMBOL_GPL vmlinux 0x6c7b435f mc146818_does_rtc_work +EXPORT_SYMBOL_GPL vmlinux 0x6c88ab1e edac_pci_add_device +EXPORT_SYMBOL_GPL vmlinux 0x6c8ebd2b of_property_read_variable_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x6c956075 __SCK__tp_func_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x6c96f31d rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x6c9c3fef snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL vmlinux 0x6c9cd126 dev_pm_opp_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x6ca1f6c2 devm_regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6ca3b842 pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6ca7a785 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x6cad72c5 __reset_control_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x6cb157f6 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x6ccc0352 power_supply_put_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x6ccf5977 udp_tunnel_nic_ops +EXPORT_SYMBOL_GPL vmlinux 0x6cd17e49 zs_pool_stats +EXPORT_SYMBOL_GPL vmlinux 0x6cd20d6c serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x6cd96910 __kmap_local_pfn_prot +EXPORT_SYMBOL_GPL vmlinux 0x6cdd4b20 nexthop_select_path +EXPORT_SYMBOL_GPL vmlinux 0x6ce53ebf devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x6cecfddd rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x6cee77f7 crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0x6cf1e8a9 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x6cfecf98 pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x6d09843f copy_bpf_fprog_from_user +EXPORT_SYMBOL_GPL vmlinux 0x6d0ae550 pinctrl_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6d1279d1 gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x6d1c30c2 phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0x6d207e08 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x6d2703e1 of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d421dc7 devm_spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x6d42a285 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x6d467b08 arm_smccc_1_1_get_conduit +EXPORT_SYMBOL_GPL vmlinux 0x6d4739da dev_pm_opp_find_freq_ceil +EXPORT_SYMBOL_GPL vmlinux 0x6d47d7cf dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6d5eae14 nf_queue +EXPORT_SYMBOL_GPL vmlinux 0x6d61f8f9 snd_soc_dai_get_channel_map +EXPORT_SYMBOL_GPL vmlinux 0x6d6d74f2 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d7832b7 __stack_depot_save +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d8747a0 scatterwalk_ffwd +EXPORT_SYMBOL_GPL vmlinux 0x6d9a9c93 snd_soc_component_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0x6da1b666 acct_bioset_exit +EXPORT_SYMBOL_GPL vmlinux 0x6da59797 regulator_set_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x6db91085 irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6dc43f43 imx6q_cpuidle_fec_irqs_unused +EXPORT_SYMBOL_GPL vmlinux 0x6dcaec7e synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0x6dcb6a07 ata_port_classify +EXPORT_SYMBOL_GPL vmlinux 0x6dd1b8a7 parse_OID +EXPORT_SYMBOL_GPL vmlinux 0x6dd5680d sprint_symbol_build_id +EXPORT_SYMBOL_GPL vmlinux 0x6ddcc4a3 bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0x6de4c0e0 rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x6de5e17e usb_gadget_register_driver_owner +EXPORT_SYMBOL_GPL vmlinux 0x6dffee70 pm_genpd_init +EXPORT_SYMBOL_GPL vmlinux 0x6e09d93d __SCK__tp_func_map +EXPORT_SYMBOL_GPL vmlinux 0x6e1f50cf usb_of_has_combined_node +EXPORT_SYMBOL_GPL vmlinux 0x6e27c074 ptp_msg_is_sync +EXPORT_SYMBOL_GPL vmlinux 0x6e3347ec devlink_priv +EXPORT_SYMBOL_GPL vmlinux 0x6e34b75f regulator_set_load +EXPORT_SYMBOL_GPL vmlinux 0x6e353c26 mpi_rshift +EXPORT_SYMBOL_GPL vmlinux 0x6e39cf44 fuse_mount_remove +EXPORT_SYMBOL_GPL vmlinux 0x6e3dbd9c apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x6e4695c0 sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6e5ab5df xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x6e5cb200 nand_reset_op +EXPORT_SYMBOL_GPL vmlinux 0x6e635087 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x6e679321 xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0x6e683693 x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6e9071d1 vp_legacy_get_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x6e94031c __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0x6eb1c8ba nvmem_device_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6ee990d1 lpddr2_jedec_manufacturer +EXPORT_SYMBOL_GPL vmlinux 0x6ef071b2 ahci_set_em_messages +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6f0942c3 __traceiter_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f18cbca regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x6f1cbcf6 register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x6f2017de misc_cg_set_capacity +EXPORT_SYMBOL_GPL vmlinux 0x6f29f506 pci_host_common_probe +EXPORT_SYMBOL_GPL vmlinux 0x6f6b52e9 __ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x6f7e6040 irq_has_action +EXPORT_SYMBOL_GPL vmlinux 0x6f89d3d6 __traceiter_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x6f8c90e6 devm_led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6f9c8906 __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6fb7e313 asic3_write_register +EXPORT_SYMBOL_GPL vmlinux 0x6fbbc1b9 skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6fcf5ff2 of_thermal_get_trip_points +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions +EXPORT_SYMBOL_GPL vmlinux 0x7016744a usb_choose_configuration +EXPORT_SYMBOL_GPL vmlinux 0x7021a748 devres_add +EXPORT_SYMBOL_GPL vmlinux 0x70240944 clk_hw_register_gate2 +EXPORT_SYMBOL_GPL vmlinux 0x704065f1 __hwspin_trylock +EXPORT_SYMBOL_GPL vmlinux 0x7051d447 housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0x70694606 dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL vmlinux 0x70813856 nfs42_ssc_register +EXPORT_SYMBOL_GPL vmlinux 0x708e2b0e rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x70986349 gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x709aebb9 tps65217_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x70bbb4b8 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x70bdd17c gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x70be753a tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0x70c52dc5 nf_skb_duplicated +EXPORT_SYMBOL_GPL vmlinux 0x70c6d827 mc146818_set_time +EXPORT_SYMBOL_GPL vmlinux 0x70c868a5 dw_pcie_ep_raise_msi_irq +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70e24953 percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0x70ea35dc perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x70ed9997 devm_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x711c90c4 em_dev_unregister_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x711cc0b2 syscon_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x712a75e2 fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x71342223 stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x7141ae47 dev_pm_domain_start +EXPORT_SYMBOL_GPL vmlinux 0x7145544f mtk_clk_unregister_gates +EXPORT_SYMBOL_GPL vmlinux 0x71568dd4 scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0x715a43ce priv_to_devlink +EXPORT_SYMBOL_GPL vmlinux 0x715a4f37 __wake_up_pollfree +EXPORT_SYMBOL_GPL vmlinux 0x715f237d tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71724493 mctrl_gpio_enable_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x718250d4 usb_gen_phy_init +EXPORT_SYMBOL_GPL vmlinux 0x71925004 snd_soc_runtime_action +EXPORT_SYMBOL_GPL vmlinux 0x7195940a mctrl_gpio_disable_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x719a5e41 musb_readw +EXPORT_SYMBOL_GPL vmlinux 0x719e17ff clk_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71a12bc6 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x71a20f4a __SCK__tp_func_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x71a9a3ab mtk_mutex_acquire +EXPORT_SYMBOL_GPL vmlinux 0x71aa247a netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71b15008 lwtunnel_valid_encap_type +EXPORT_SYMBOL_GPL vmlinux 0x71b6715f inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x71b6cf94 dst_cache_reset_now +EXPORT_SYMBOL_GPL vmlinux 0x71b7e6bb ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x71c0c4a7 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x71c8faa0 phy_pm_runtime_get_sync +EXPORT_SYMBOL_GPL vmlinux 0x71cc5119 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x71d53bde pci_bridge_emul_conf_read +EXPORT_SYMBOL_GPL vmlinux 0x71e05f27 gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x71e9de82 mtd_ooblayout_set_eccbytes +EXPORT_SYMBOL_GPL vmlinux 0x71faa227 fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7204325f wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x720d0c5f ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x72170f79 devm_hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x7233bbd4 cpufreq_freq_transition_end +EXPORT_SYMBOL_GPL vmlinux 0x7236bdf8 ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0x723e2349 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x7243a12b usb_hub_claim_port +EXPORT_SYMBOL_GPL vmlinux 0x7252c68b netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x725ab212 usb_phy_set_charger_state +EXPORT_SYMBOL_GPL vmlinux 0x7262702b sfp_get_module_eeprom_by_page +EXPORT_SYMBOL_GPL vmlinux 0x7265f2b0 pci_vpd_check_csum +EXPORT_SYMBOL_GPL vmlinux 0x72672e71 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL vmlinux 0x7276f4eb device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x72899571 iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0x728a5f99 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x72ac9421 pm_runtime_force_resume +EXPORT_SYMBOL_GPL vmlinux 0x72aec3fb tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x72b299e1 efi_capsule_supported +EXPORT_SYMBOL_GPL vmlinux 0x72b32481 dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0x72bdb683 __regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x72ccbea6 usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x72d5eede pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x73081990 snd_soc_of_get_slot_mask +EXPORT_SYMBOL_GPL vmlinux 0x731183f5 raw_v6_match +EXPORT_SYMBOL_GPL vmlinux 0x732f0917 ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x73324655 dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0x73357aa8 power_supply_set_property +EXPORT_SYMBOL_GPL vmlinux 0x7351fcb1 devlink_remote_reload_actions_performed +EXPORT_SYMBOL_GPL vmlinux 0x7376c946 fbcon_modechange_possible +EXPORT_SYMBOL_GPL vmlinux 0x73788296 serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0x737ef0db spi_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x739c2627 cpufreq_dbs_governor_init +EXPORT_SYMBOL_GPL vmlinux 0x739fe87c vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73ad7254 nand_op_parser_exec_op +EXPORT_SYMBOL_GPL vmlinux 0x73b17ed1 mtk_pinconf_drive_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x73b86875 __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x73b98231 asymmetric_key_generate_id +EXPORT_SYMBOL_GPL vmlinux 0x73b984ee msi_first_desc +EXPORT_SYMBOL_GPL vmlinux 0x73c705ca trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73d99189 uprobe_register_refctr +EXPORT_SYMBOL_GPL vmlinux 0x73f9c8c0 dev_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0x73fae215 gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0x73ff48ad bpf_trace_run5 +EXPORT_SYMBOL_GPL vmlinux 0x7405c1aa crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x7417d647 dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x741bfec2 dev_pm_opp_detach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x74236f47 __traceiter_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x74251934 dev_attr_ncq_prio_supported +EXPORT_SYMBOL_GPL vmlinux 0x742e60c0 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x74372a79 iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x7440b316 crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0x74429594 strp_done +EXPORT_SYMBOL_GPL vmlinux 0x744c4098 devm_of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x744e1e1a tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x74573aa4 meson_pmx_get_funcs_count +EXPORT_SYMBOL_GPL vmlinux 0x745c782a efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x745d9ec8 dev_pm_opp_find_freq_floor +EXPORT_SYMBOL_GPL vmlinux 0x74683c66 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7490912d auxiliary_device_init +EXPORT_SYMBOL_GPL vmlinux 0x749fea57 bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x74a845b8 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x74a9f0b5 vfio_uninit_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x74b25075 crypto_stats_rng_seed +EXPORT_SYMBOL_GPL vmlinux 0x74b56250 ehci_resume +EXPORT_SYMBOL_GPL vmlinux 0x74b5ea68 lcm_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74cae82f device_show_int +EXPORT_SYMBOL_GPL vmlinux 0x74dcf1d2 devm_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x74f4560d regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x74feb0af vivaldi_function_row_physmap_show +EXPORT_SYMBOL_GPL vmlinux 0x7502538d __devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x7513b5ec __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x752b9734 sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0x754efd03 __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0x75564034 pinctrl_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0x755ae3c8 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x757c1bbb housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0x758b89d0 snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x759139cb of_pci_check_probe_only +EXPORT_SYMBOL_GPL vmlinux 0x7591838c devres_get +EXPORT_SYMBOL_GPL vmlinux 0x75a20292 crypto_comp_compress +EXPORT_SYMBOL_GPL vmlinux 0x75ab590b dev_pm_opp_sync_regulators +EXPORT_SYMBOL_GPL vmlinux 0x75b043ea clk_gate_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x75b0e71d wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x75b0fe1f con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x75ba60c5 __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x75bf6cc0 is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0x75c1e28e dev_pm_opp_of_find_icc_paths +EXPORT_SYMBOL_GPL vmlinux 0x75d6c99b __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x75d9118a dm_audit_log_ti +EXPORT_SYMBOL_GPL vmlinux 0x75dc842b ext_pi_type1_crc64 +EXPORT_SYMBOL_GPL vmlinux 0x75dd4ebe of_overlay_remove +EXPORT_SYMBOL_GPL vmlinux 0x75e51945 __SCK__tp_func_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x75e8b7e8 mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0x75e8f224 disk_uevent +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x75ed246d register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x75ef4820 meson_pmx_get_func_name +EXPORT_SYMBOL_GPL vmlinux 0x75ef5e01 sched_setattr_nocheck +EXPORT_SYMBOL_GPL vmlinux 0x75fb9062 arch_timer_read_counter +EXPORT_SYMBOL_GPL vmlinux 0x761634e1 __cci_control_port_by_device +EXPORT_SYMBOL_GPL vmlinux 0x7622f998 sdhci_pltfm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x763293db iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0x76379de7 scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x763a55eb device_driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x765676ff usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x765af157 serial8250_do_set_divisor +EXPORT_SYMBOL_GPL vmlinux 0x7664637f fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0x7674639d regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x7681946c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x768ccc0f dev_pm_set_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x7694f454 ping_close +EXPORT_SYMBOL_GPL vmlinux 0x7697d582 usb_add_gadget +EXPORT_SYMBOL_GPL vmlinux 0x76a8d626 mtd_device_parse_register +EXPORT_SYMBOL_GPL vmlinux 0x76d9b876 clk_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x76de5a78 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x76e10a88 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x76ea5ea5 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x76f35a7b ahci_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0x76f54d6c __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0x76f58a71 regmap_field_bulk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x76fcc195 bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0x76ff7b4e serial8250_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x7706992d dev_pm_qos_flags +EXPORT_SYMBOL_GPL vmlinux 0x7711bec6 screen_pos +EXPORT_SYMBOL_GPL vmlinux 0x771c3cb2 net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0x771dfcee cpu_topology +EXPORT_SYMBOL_GPL vmlinux 0x7720eafc gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0x773f2713 clk_hw_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x774d2fd6 dev_pm_genpd_set_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x7757b51a clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x775f9b08 blk_crypto_update_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x7767d860 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x778cd0b9 pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x77920980 vfio_register_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x7797d873 __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0x779cb2d1 ahci_stop_engine +EXPORT_SYMBOL_GPL vmlinux 0x77a24e76 of_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0x77a402ac i2c_of_match_device +EXPORT_SYMBOL_GPL vmlinux 0x77ae495d usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x77b46ffb usb_ep_set_maxpacket_limit +EXPORT_SYMBOL_GPL vmlinux 0x77c9339f rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x77d2a416 vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL vmlinux 0x77d2ac91 deregister_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x7803b2c4 wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0x780cb6b3 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x780d33ac dev_pm_opp_find_freq_ceil_by_volt +EXPORT_SYMBOL_GPL vmlinux 0x78147cef skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0x78176ba1 devlink_param_unregister +EXPORT_SYMBOL_GPL vmlinux 0x781d9df0 ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x782980a6 irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x7834c019 phy_10gbit_full_features +EXPORT_SYMBOL_GPL vmlinux 0x784ebf60 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7858d8d8 pwm_set_chip_data +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x786070df nand_erase_op +EXPORT_SYMBOL_GPL vmlinux 0x78652145 io_uring_cmd_done +EXPORT_SYMBOL_GPL vmlinux 0x7880951e extcon_register_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x78897731 kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x789072b4 irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0x7895419e of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x78a6708e gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0x78b6e0ea mctrl_gpio_init_noauto +EXPORT_SYMBOL_GPL vmlinux 0x78d59d95 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x78d8443d crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0x78ddb76b dmi_match +EXPORT_SYMBOL_GPL vmlinux 0x793d3dad irq_gc_ack_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x79470a2c TSS_authhmac +EXPORT_SYMBOL_GPL vmlinux 0x794954d6 extcon_get_edev_name +EXPORT_SYMBOL_GPL vmlinux 0x794a0461 rockchip_pcie_disable_clocks +EXPORT_SYMBOL_GPL vmlinux 0x794b7271 orderly_reboot +EXPORT_SYMBOL_GPL vmlinux 0x7951c9d8 page_endio +EXPORT_SYMBOL_GPL vmlinux 0x7963da74 fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x796bec48 __devm_spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x796fe64f spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x79a2f4da __mtd_next_device +EXPORT_SYMBOL_GPL vmlinux 0x79a98cbb omap_iommu_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0x79abceb8 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL vmlinux 0x79b0016d usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x79b4abd1 __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x79cc0cac __tracepoint_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x79d9940a sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79e3e6ca tcp_bpf_update_proto +EXPORT_SYMBOL_GPL vmlinux 0x79ec6467 mtd_block_isreserved +EXPORT_SYMBOL_GPL vmlinux 0x79f14997 of_pci_get_devfn +EXPORT_SYMBOL_GPL vmlinux 0x79f49854 sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0x79fd28b5 snd_soc_of_parse_pin_switches +EXPORT_SYMBOL_GPL vmlinux 0x7a07af80 perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0x7a1133e8 rio_request_mport_dma +EXPORT_SYMBOL_GPL vmlinux 0x7a1e0095 snd_soc_close_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x7a2e34cc invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x7a48d06c cpu_latency_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x7a5534e5 devm_mipi_dsi_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x7a5a02cb lwtunnel_get_encap_size +EXPORT_SYMBOL_GPL vmlinux 0x7a5ae79b scmi_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7a690f3e ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x7a73e605 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7a76b35d fsverity_verify_page +EXPORT_SYMBOL_GPL vmlinux 0x7a7f1396 zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7a81e6d4 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7aa7f971 net_selftest +EXPORT_SYMBOL_GPL vmlinux 0x7ac10ad8 icst_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7acc838d snd_pcm_stream_unlock_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ad02a41 asn1_encode_tag +EXPORT_SYMBOL_GPL vmlinux 0x7ad1ded1 pinctrl_register_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7ad8981f snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL vmlinux 0x7ad9979e ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x7adb76f1 dev_pm_opp_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x7ae02f7b zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x7af2e1a7 pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0x7af8c456 blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0x7b0e12e4 fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0x7b118a34 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x7b12cceb devm_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0x7b178afe unlock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7b247038 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x7b32aaec wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x7b44178e kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x7b44908d usb_add_phy_dev +EXPORT_SYMBOL_GPL vmlinux 0x7b4cab51 devm_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x7b4f4f26 fb_deferred_io_mmap +EXPORT_SYMBOL_GPL vmlinux 0x7b536d97 mtk_clk_gate_ops_no_setclr +EXPORT_SYMBOL_GPL vmlinux 0x7b590fa5 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b5c616d bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x7b68ce95 metadata_dst_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x7b7d9cfc dev_pm_opp_remove_all_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x7b8910f4 kfence_sample_interval +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7b9e58be imx8ulp_clk_hw_composite +EXPORT_SYMBOL_GPL vmlinux 0x7baccef1 snd_soc_resume +EXPORT_SYMBOL_GPL vmlinux 0x7bb045a7 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x7bc645aa devm_devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x7bc649fa clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x7bda9ce0 spi_controller_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7be96bb1 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7bed9fed nfs_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7bf2967f tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0x7c0713eb devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x7c076a8e vfs_inode_has_locks +EXPORT_SYMBOL_GPL vmlinux 0x7c18e717 aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0x7c291e86 show_rcu_tasks_trace_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0x7c3d8a4b icc_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0x7c417624 extcon_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7c4826a2 snd_soc_add_component_controls +EXPORT_SYMBOL_GPL vmlinux 0x7c5968da disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7c66621d efivar_entry_size +EXPORT_SYMBOL_GPL vmlinux 0x7c69c063 thermal_cooling_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7c6b4ac2 of_get_fb_videomode +EXPORT_SYMBOL_GPL vmlinux 0x7c80a0c6 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x7c85fe9a ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0x7c92265b usb_gadget_set_state +EXPORT_SYMBOL_GPL vmlinux 0x7c983a5d dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x7c9a7371 clk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7c9c690f sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x7ca1ca31 pinctrl_generic_get_group_count +EXPORT_SYMBOL_GPL vmlinux 0x7ca64a0b __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL_GPL vmlinux 0x7cbf39ce acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7cc4fcda irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0x7cd1b5ff i2c_match_id +EXPORT_SYMBOL_GPL vmlinux 0x7cd6f042 cpufreq_get_current_driver +EXPORT_SYMBOL_GPL vmlinux 0x7ce73d72 find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7cf61a89 of_reserved_mem_device_init_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7d00cfa1 fwnode_connection_find_matches +EXPORT_SYMBOL_GPL vmlinux 0x7d034b44 __regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x7d05bc85 __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x7d08f022 iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0x7d23fe57 pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0x7d333e5c snd_soc_new_compress +EXPORT_SYMBOL_GPL vmlinux 0x7d3ec733 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0x7d4ff68d virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0x7d57a344 __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d5afe09 receive_fd +EXPORT_SYMBOL_GPL vmlinux 0x7d699770 dev_pm_opp_get_level +EXPORT_SYMBOL_GPL vmlinux 0x7d76baad relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0x7d8d03da usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x7d90f49c dma_get_any_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x7d991f30 nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x7db56127 devm_of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0x7db94c9d phy_led_trigger_change_speed +EXPORT_SYMBOL_GPL vmlinux 0x7dd1c36e nvmem_add_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x7dd64775 pinctrl_remove_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7de39e07 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7df07616 fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0x7dff1ef1 edac_device_add_device +EXPORT_SYMBOL_GPL vmlinux 0x7e0ebc72 fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x7e174528 mbox_send_message +EXPORT_SYMBOL_GPL vmlinux 0x7e2d0f5a ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x7e2fabcf __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x7e3bdecd __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x7e3fb02a mtk_pinconf_bias_set_combo +EXPORT_SYMBOL_GPL vmlinux 0x7e44311d genphy_c45_read_link +EXPORT_SYMBOL_GPL vmlinux 0x7e451f6b wakeup_sources_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x7e5cf53f md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x7e5db80b pstore_name_to_type +EXPORT_SYMBOL_GPL vmlinux 0x7e5ea803 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e6d2e97 snd_dmaengine_pcm_open +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e84b2bd pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0x7e89828e dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x7e8db034 iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0x7e917894 __SCK__tp_func_unmap +EXPORT_SYMBOL_GPL vmlinux 0x7e92313d pinmux_generic_remove_function +EXPORT_SYMBOL_GPL vmlinux 0x7e960440 component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0x7eaa0e89 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x7eb00a3f usb_gadget_giveback_request +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7ec26baf mtk_pinconf_bias_get_combo +EXPORT_SYMBOL_GPL vmlinux 0x7ec9f48d mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x7ed67f52 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x7eda12d9 ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x7edd9fd4 mtk_pinconf_bias_get +EXPORT_SYMBOL_GPL vmlinux 0x7ede47f5 fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0x7ee7af4a __clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x7eea6b8b pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0x7efa54ca ohci_restart +EXPORT_SYMBOL_GPL vmlinux 0x7f00bdac devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0x7f059733 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x7f0ff3b9 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x7f1ad240 regulator_desc_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x7f2623ee mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x7f2e260a snd_soc_get_dai_name +EXPORT_SYMBOL_GPL vmlinux 0x7f370a56 devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0x7f54973b skb_gso_validate_network_len +EXPORT_SYMBOL_GPL vmlinux 0x7f5bdb3e crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0x7f6b07f2 ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f84f35d rcu_gp_slow_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7f8dd2bb bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x7f8f878a device_create +EXPORT_SYMBOL_GPL vmlinux 0x7faa6ba9 snd_soc_dai_compr_trigger +EXPORT_SYMBOL_GPL vmlinux 0x7fafdec9 clk_fixed_factor_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fb03ae7 ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fb7a797 xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0x7fbc7c80 of_dma_configure_id +EXPORT_SYMBOL_GPL vmlinux 0x7fca3c84 snd_soc_bytes_get +EXPORT_SYMBOL_GPL vmlinux 0x7ff0d934 ata_pci_shutdown_one +EXPORT_SYMBOL_GPL vmlinux 0x7ff255fd usb_get_maximum_ssp_rate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_block_split +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __alloc_pages_bulk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __auxiliary_device_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __blk_trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __cci_control_port_by_index +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __class_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __clk_get_hw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __clk_get_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __clk_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __clk_mux_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __clk_mux_determine_rate_closest +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __device_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __devm_clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __devm_reset_control_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __devm_rtc_register_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __fscrypt_inode_uses_inline_crypto +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __fscrypt_prepare_readdir +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __fscrypt_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __hwspin_lock_timeout +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __hwspin_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __imx8m_clk_hw_composite +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __irq_apply_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __irq_domain_alloc_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __irq_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __kprobe_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __ktime_divns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __of_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __register_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __sdhci_add_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_block_split +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_unmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __xas_next +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __xdp_build_skb_from_frame +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff _snd_pcm_stream_lock_irqsave_nested +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff acct_bioset_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff add_wait_queue_priority +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_check_ready +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_do_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_do_softreset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_handle_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_ignore_sss +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_kick_engine +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_platform_disable_phys +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_platform_disable_resources +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_platform_enable_phys +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_platform_enable_regulators +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_platform_get_resources +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_platform_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_platform_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_platform_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_print_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_reset_controller +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_save_initial_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_start_fis_rx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alarm_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alarm_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alarmtimer_get_rtcdev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alloc_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff amba_bustype +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff amba_device_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff anon_inode_getfd_secure +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff arm_check_condition +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff arm_iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff arm_iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff arm_smccc_get_version +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff asic3_read_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff asn1_encode_boolean +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff asn1_encode_integer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff asn1_encode_octet_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff asn1_encode_oid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff asn1_encode_sequence +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_common_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_get_cmd_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sas_port_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sas_tport_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff auxiliary_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff auxiliary_find_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bL_switch_request_cb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bL_switcher_get_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bL_switcher_put_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bL_switcher_trace_trigger +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bch_decode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bd_prepare_to_claim +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bdev_discard_alignment +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bio_start_io_acct +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bio_start_io_acct_time +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_crypto_profile_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_crypto_profile_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_crypto_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_crypto_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_fill_rwbs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_complete_request_remote +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_end_request_batch +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkcg_get_fc_appid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkcg_set_fc_appid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blocking_notifier_call_chain_robust +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blocking_notifier_chain_register_unique_prio +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_fentry_test1 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_master_redirect_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_offload_dev_netdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_preload_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_trace_run10 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_trace_run2 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_trace_run4 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_trace_run8 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bprintf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_last +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_merge +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff call_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cci_ace_get_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cci_probed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cgroup_get_e_css +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cgroup_get_from_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_bulk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_fractional_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_gate_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_get_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_get_num_parents +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_get_parent_by_index +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_rate_is_protected +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_unregister_composite +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_is_match +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_mux_determine_rate_flags +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_mux_index_to_val +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_rate_exclusive_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_register_divider_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_regmap_gate_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_regmap_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_regmap_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_save_context +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_set_max_rate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_set_phase +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_set_rate_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clkdev_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff component_compare_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff component_compare_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cookie_tcp_reqsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpts_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpts_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpts_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpu_cluster_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpu_latency_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpu_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_dbs_governor_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_disable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_driver_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_driver_resolve_freq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_enable_boost_support +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_freq_attr_scaling_boost_freqs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_frequency_table_get_index +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_generic_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_generic_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_generic_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_policy_transition_delay_us +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_update_limits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpuidle_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crc64_be +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crc64_rocksoft_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff create_signature +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cros_ec_command +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_alloc_acomp_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_alloc_tfm_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_wait_for_test +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff da9052_disable_irq_nosync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff da9052_request_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff da9055_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dapm_kcontrol_get_value +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dapm_regulator_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debug_locks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debug_locks_off +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff decode_rs16 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff deregister_mtd_blktrans +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_coredumpsg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_coredumpv +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_fetch_sw_netstats +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_get_tstats64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_clear_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_domain_attach +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_domain_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_domain_attach_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_domain_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_genpd_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_genpd_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_genpd_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_genpd_set_next_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_genpd_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_find_level_ceil +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_find_level_exact +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_free_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_get_suspend_opp_freq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_init_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_of_add_table_noclk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_of_cpumask_add_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_of_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_of_get_opp_desc_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_of_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_put_clkname +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_put_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_put_regulators +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_set_opp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_set_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_set_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_qos_expose_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_qos_hide_flags +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_set_dedicated_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_set_dedicated_wake_irq_reverse +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_xdp_prog_count +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devfreq_event_disable_edev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devfreq_event_get_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devfreq_event_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devfreq_event_reset_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_add_software_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_attach +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_create_managed_software_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_del +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_match_any +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_match_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_phy_find_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_property_present +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_rename +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_set_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devices_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devl_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devl_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devl_rate_nodes_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_dpipe_entry_clear +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_dpipe_header_ipv4 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_dpipe_header_ipv6 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_flash_update_timeout_notify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_fmsg_arr_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_fmsg_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_fmsg_u8_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_health_reporter_priv +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_linecard_activate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_linecard_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_linecard_deactivate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_linecard_provision_clear +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_linecard_provision_fail +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_net +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_port_attrs_pci_sf_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_port_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_port_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_port_region_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_port_type_eth_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_rate_leaf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_set_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_to_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_bitmap_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_blk_crypto_profile_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_clk_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_clk_bulk_get_all +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_clk_get_optional_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_extcon_dev_allocate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_fwnode_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_i2c_add_adapter +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_kasprintf_strarray +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_krealloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_of_phy_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_phy_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_pm_opp_of_add_table_noclk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regmap_add_irq_chip_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regmap_field_bulk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regmap_init_vexpress_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regulator_irq_helper +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_rtc_allocate_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_rtc_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_snd_soc_register_card +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_tegra_core_dev_init_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_usb_get_phy_by_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_usb_get_phy_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devres_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devres_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff disk_force_media_change +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff disk_set_independent_access_ranges +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff divider_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff divider_ro_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff divider_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_copy_name_and_uuid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_get_reserved_rq_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_submit_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_alloc_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_async_device_channel_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_async_device_channel_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_free_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_get_slave_caps +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_mmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_mmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_resv_describe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_resv_get_fences +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_vmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_vunmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dmaengine_desc_get_metadata_ptr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dmaengine_unmap_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dmi_available +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dmi_memdev_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dmi_memdev_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dpm_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff driver_deferred_probe_check_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff driver_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff driver_set_override +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dtpm_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dtpm_destroy_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dummy_con +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw8250_do_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw8250_setup_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_ep_raise_legacy_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_own_conf_map_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dynevent_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_device_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_device_handle_ce_count +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_device_handle_ue_count +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_has_mcs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_layer_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_mc_add_mc_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_mc_del_mc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_mod_work +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_pci_del_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_pci_handle_npe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_pci_handle_pe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_raw_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_stop_work +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivar_entry_iter_begin +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivar_entry_iter_end +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivar_entry_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivar_entry_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivar_entry_set_get_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivar_entry_set_safe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivar_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivar_validate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivars_kobject +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivars_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivars_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ehci_handshake +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ehci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ehci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ehci_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ehci_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ehci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff elfcorehdr_addr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff elv_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff em_dev_register_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff em_pd_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ethnl_cable_test_result +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ethnl_cable_test_step +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ethtool_params_from_link_mode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ethtool_set_ethtool_phy_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff eventfd_ctx_do_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff extcon_get_property +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff extcon_get_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff extcon_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff extcon_set_property +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff extcon_set_property_capability +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff extcon_set_property_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff extcon_set_state_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff extcon_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff exynos_get_pmu_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fb_deferred_io_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff filemap_add_folio +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff filemap_range_has_writeback +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff find_mci_by_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff finish_rcuwait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fixed_phy_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff flush_work +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff folio_invalidate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff folio_wait_writeback +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff folio_wait_writeback_killable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff free_rs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff freq_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff freq_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fs_umode_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fs_umode_to_ftype +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_d_revalidate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_dummy_policies_equal +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_limit_io_blocks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_mergeable_bio_bh +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_parse_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_prepare_new_inode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_set_context +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsl8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsverity_enqueue_verify_work +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsverity_ioctl_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ftrace_free_filter +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_init_fs_context_submount +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_request_end +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fw_devlink_purge_absent_suppliers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_graph_get_endpoint_count +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_graph_get_remote_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gcd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gen10g_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff generic_handle_domain_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff generic_handle_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff genpd_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff genphy_c45_aneg_done +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff genphy_c45_baset1_read_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff genphy_c45_fast_retrain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff genphy_c45_loopback +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff genphy_c45_read_mdix +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff genphy_c45_read_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_cpu_idle_time +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_mtd_device_nm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_net_ns_by_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_state_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gov_attr_set_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gov_attr_set_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gov_attr_set_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gov_update_cpu_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_add_pingroup_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_irq_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_disable_hw_timestamp_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_enable_hw_timestamp_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpmc_omap_onenand_set_timings +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff handle_fasteoi_ack_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff handle_fasteoi_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hibernation_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hisi_clk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hisi_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hisi_clk_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hisi_clk_register_gate_sep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hisi_reset_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff host1x_context_device_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hte_enable_ts +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hte_get_clk_src_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hte_init_line_attr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hte_push_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hte_ts_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hte_ts_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hw_protection_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hwmon_sanitize_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hwrng_msleep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_adapter_depth +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_dw_configure_master +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_dw_prepare_clk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_new_client_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_recover_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_slave_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_slave_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_bulk_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_link_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_node_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_node_del +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_node_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_std_aggregate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icmp_build_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icst_clk_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff idr_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ima_file_check +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx93_clk_composite_flags +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx_1443x_dram_pll +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx_ccm_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx_clk_hw_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx_clk_hw_pllv4 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx_dev_clk_hw_pll14xx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx_fracn_gppll +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx_pcm_fiq_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx_pinctrl_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff init_rs_gfp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff input_device_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff int_active_memcg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff io_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff io_uring_cmd_complete_in_task +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iocb_bio_iopoll +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_dio_bio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_invalidate_folio +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_release_folio +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_enable_nesting +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_dma_owner_claimed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_release_dma_owner +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_set_iommudata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_set_pgtable_quirks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip4_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_input +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip_icmp_error_rfc4884 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip_tunnel_unneed_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ipi_get_hwirq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ipi_send_mask +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iptunnel_metadata_reply +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ipv4_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_check_status_bit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_chip_release_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_chip_set_vcpu_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_remove_sim +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_set_hwirq_and_chip +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_gc_mask_clr_bit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_gc_mask_disable_reg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_gc_mask_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_gc_unmask_enable_reg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_get_default_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_get_domain_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_set_affinity +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kasprintf_strarray +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kernel_can_power_off +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff key_being_used_for +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kfree_strarray +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kgdb_register_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kgdb_unregister_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kick_process +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kill_dax +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kill_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kill_mtd_super +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff klist_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff klist_next +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff klist_prev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff klist_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kpp_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kprobe_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kprobe_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_func +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_parkme +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ktime_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ktime_get_real_seconds +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kvfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kvm_arch_ptp_get_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lcm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_blink_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_blink_set_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_classdev_notify_brightness_hw_changed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_get_default_pattern +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_set_brightness +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_set_brightness_nopm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_set_brightness_nosleep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_set_brightness_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_sysfs_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_sysfs_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_trigger_blink_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_trigger_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_trigger_rename_static +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_trigger_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linear_range_get_max_value +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linear_range_get_selector_low +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linear_range_get_selector_low_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linear_range_get_selector_within +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linear_range_get_value +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linear_range_get_value_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linear_range_values_in_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linear_range_values_in_range_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linkmode_set_pause +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lochnagar_update_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff locks_owner_has_blockers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lp8788_read_multi_bytes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lp8788_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lpddr2_jedec_addressing_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lpddr2_jedec_min_tck +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lpddr2_jedec_timings +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lwtunnel_output +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff maxim_charger_currents +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mbox_chan_received_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mbox_client_txdone +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mbox_flush +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mc146818_avoid_UIP +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mcore_booted +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mcpm_is_available +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mctp_unregister_netdev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mctrl_gpio_enable_ms +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mctrl_gpio_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mctrl_gpio_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mctrl_gpio_to_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md5_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md_account_bio +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md_run +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mdio_bus_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mem_dump_obj +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff meson8_aobus_parse_dt_extra +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff meson_a1_parse_dt_extra +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff meson_pinctrl_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff meson_pmx_get_groups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff misc_cg_res_total_usage +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff misc_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff misc_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mmc_crypto_prepare_req +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mmc_crypto_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mmc_pwrseq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mmc_send_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mod_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpc8xxx_spi_rx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpc8xxx_spi_rx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpc8xxx_spi_rx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpc8xxx_spi_strmode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpc8xxx_spi_tx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_addm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_clear +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_ec_add_points +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_ec_deinit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_ec_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_point_free_parts +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_point_new +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_point_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_print +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_scanval +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_sub_ui +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_test_bit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mptcp_diag_fill_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mptcp_pm_get_add_addr_accept_max +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mptcp_pm_get_subflows_max +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mptcp_token_get_sock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff msg_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff msg_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff msi_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff msi_lock_descs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff msi_next_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_block_isbad +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_block_markbad +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_check_expert_analysis_mode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_del_partition +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_is_locked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_ooblayout_count_eccbytes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_ooblayout_ecc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_ooblayout_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_ooblayout_get_eccbytes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_ooblayout_set_databytes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_pairing_info_to_wunit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_read_oob +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_table_mutex +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_alloc_clk_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_build_eint +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_clk_register_factors +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_clk_register_fixed_clks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_clk_register_gates +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_clk_register_plls +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_clk_unregister_factors +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_clk_unregister_muxes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_eint_do_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_eint_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_mmsys_ddp_connect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_mutex_add_comp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_mutex_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_mutex_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_mutex_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_mutex_remove_comp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_adv_drive_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_adv_drive_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_bias_disable_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_bias_disable_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_bias_disable_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_bias_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_drive_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_drive_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_drive_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff musb_clearb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff musb_readl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff musb_root_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff musb_set_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff musb_writew +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mv_mbus_dram_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mv_mbus_dram_info_nooverlap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mvebu_mbus_add_window_by_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mvebu_mbus_add_window_remap_by_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mvebu_mbus_del_window +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mvebu_mbus_get_io_win_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mvebu_mbus_get_pcie_io_aperture +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mxic_ecc_put_pipelined_engine +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff name_to_dev_t +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_decode_ext_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_ecc_cleanup_req_tweaking +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_ecc_restore_req +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_ecc_tweak_req +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_get_small_page_ooblayout +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_prog_page_op +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_read_data_op +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_read_page_hwecc_oob_first +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_readid_op +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_select_target +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_soft_waitrdy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_subop_get_data_len +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_subop_get_data_start_off +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nanddev_bbt_get_block_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nanddev_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nanddev_ecc_engine_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nanddev_ecc_engine_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nanddev_erase +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nanddev_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nanddev_mtd_erase +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ndo_dflt_bridge_getlink +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff net_dec_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff net_selftest_get_count +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff net_selftest_get_strings +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff netdev_xmit_skip_txqueue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff netif_carrier_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_hooks_lwtunnel_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_hooks_lwtunnel_sysctl_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_log_buf_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nfs_ssc_client_tbl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nl_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff no_action +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff null_dailink_component +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_add_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_cell_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_cell_read_u16 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_cell_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_cell_read_u8 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_cell_read_variable_le_u64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_del_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_device_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_device_find +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_device_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_device_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff od_register_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_changeset_revert +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_clk_hw_simple_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_clk_parent_fill +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_clk_src_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_clk_src_simple_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_detach_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_device_request_module +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_genpd_add_provider_onecell +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_get_display_timing +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_get_display_timings +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_get_pci_domain_nr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_get_required_opp_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_hte_req_count +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_i2c_get_board_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_icc_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_icc_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_icc_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_irq_parse_raw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_irq_to_resource_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_map_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_mm_gpiochip_add_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_msi_configure +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_overlay_fdt_apply +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_pci_get_slot_power_limit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_pci_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_phandle_args_to_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_phandle_iterator_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_platform_device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_property_count_elems_of_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_property_read_string_helper +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_property_read_u32_index +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_property_read_u64_index +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_property_read_variable_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_property_read_variable_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_property_read_variable_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_pwm_single_xlate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_pwm_xlate_with_flags +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_reconfig_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_reserved_mem_device_init_by_idx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_reserved_mem_device_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_thermal_is_trip_valid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_usb_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ohci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ohci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ohci_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ohci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff omap_iommu_restore_ctx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff omap_iommu_save_ctx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff omap_tll_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff omap_tll_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff palmas_ext_control_req_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff param_set_uint_minmax +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_aer_clear_nonfatal_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_bridge_emul_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_bridge_emul_conf_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_bridge_emul_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_dev_trylock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_dev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_ecam_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_ecam_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_ecam_map_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_get_next_free_bar +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epf_add_vepf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epf_remove_vepf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epf_type_add_cfs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_find_dvsec_capability +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_find_vsec_capability +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_get_dsn +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_iov_vf_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_iov_virtfn_devfn +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_pri_supported +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_remap_cfgspace +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_user_read_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_vpd_find_ro_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pcie_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pcie_port_find_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff percpu_ref_is_zero +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_10gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_basic_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_basic_t1_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_configure +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_create_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_driver_is_genphy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_fibre_port_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_gbit_fibre_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_led_triggers_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_led_triggers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_power_off +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_power_on +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_set_mode_ext +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_set_speed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_speed_down +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_speed_to_str +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_speed_up +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_start_machine +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_validate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pids_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pin_get_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinconf_generic_dt_node_to_map +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinconf_generic_dt_subnode_to_map +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_add_gpio_ranges +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_count_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_dev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_dev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_find_and_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_generic_add_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_generic_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_gpio_can_use_line +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_gpio_set_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_lookup_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_pm_select_idle_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_pm_select_sleep_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_select_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_unregister_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_utils_add_map_mux +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_utils_free_map +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_utils_reserve_map +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ping_bind +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ping_err +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinmux_generic_get_function +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinmux_generic_get_function_groups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinmux_generic_get_function_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pl320_ipc_transmit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pl320_ipc_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_get_mem_or_io +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_irqchip_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_clk_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_genpd_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_runtime_set_memalloc_noio +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_runtime_suspended_time +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_suspend_default_s2idle +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_system_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_wakeup_dev_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_wakeup_ws_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff policy_has_boost_freq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff poll_state_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_group_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_battery_bti_in_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_charge_behaviour_parse +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_external_power_changed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_get_maintenance_charging_setting +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_property_is_writeable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff powercap_register_control_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff powercap_register_zone +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff powercap_unregister_zone +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff probes_decode_arm_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff proc_dou8vec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff prof_on +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pstore_type_to_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pstore_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ptp_parse_header +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff public_key_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff put_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff put_io_context +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pwm_apply_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pwm_capture +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pwm_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pwm_request_from_chip +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pwmchip_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff qcom_smem_state_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff random_get_entropy_fallback +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff raw_v4_match +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff raw_v6_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_all_qs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_barrier_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_check_boost_fail +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_exp_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_gp_is_expedited +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_gp_slow_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rdev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff read_current_timer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regcache_drop_region +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff region_intersects +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_btf_kfunc_id_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_add_irq_chip_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_async_complete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_can_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_check_range_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_field_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_fields_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_get_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_get_max_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_get_reg_stride +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_mmio_detach_clk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_multi_reg_write_bypassed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_noinc_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_raw_write_async +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_test_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_allow_bypass +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_bulk_set_supply_names +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_desc_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_get_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_get_hardware_vsel_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_get_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_irq_helper +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_irq_map_event_simple +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_is_equal +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_list_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_list_voltage_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_map_voltage_ascend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_map_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_map_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_set_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_set_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_set_ramp_delay_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_set_soft_start_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_set_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_set_voltage_time_sel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_suspend_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_suspend_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff relay_close +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff reset_control_acquire +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff reset_control_bulk_assert +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff reset_control_bulk_deassert +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff reset_control_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff reset_control_bulk_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff reset_control_deassert +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff reset_control_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff reset_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff return_address +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_dropped_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_iter_advance +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_add_net +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_alloc_net +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_del_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_dma_prep_xfer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_free_net +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_init_mports +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_lock_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_map_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_mport_chk_dev_access +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_mport_class +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_mport_get_efb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_mport_get_physefb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_register_mport +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_register_scan +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_route_add_entry +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_route_clr_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_route_get_entry +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_unlock_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_unmap_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_unregister_mport +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_unregister_scan +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_clk_protect_critical +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_clk_register_armclk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_clk_register_branches +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_clk_register_ddrclk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_clk_register_plls +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_pcie_cfg_configuration_accesses +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_pcie_deinit_phys +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_pcie_init_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_pcie_parse_dt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_pmu_block +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_pmu_unblock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_register_restart_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rt_mutex_lock_killable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff run_dax +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sbitmap_weight +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sch_frag_xmit_hook +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sched_set_fifo +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sched_set_fifo_low +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff schedule_hrtimeout_range_clock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scmi_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scmi_protocol_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_build_sense +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_add_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_cleanup_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_cqe_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_enable_clk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_enable_sdio_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_enable_v4_mode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_end_tuning +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_free_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_pltfm_clk_get_max_clock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_pltfm_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_reset_tuning +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_set_bus_width +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_set_uhs_signaling +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_retune_hold_now +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_signal_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff security_kernel_post_load_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sed_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff seq_buf_printf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_do_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_do_set_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_em485_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_em485_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_get_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_rpm_get_tx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_rpm_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_rpm_put_tx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_rx_dma_flush +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff set_capacity_and_notify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff set_dax_nocache +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff set_dax_nomc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sfp_upstream_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff show_rcu_tasks_rude_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff simple_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff simple_rename_exchange +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_msg_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skcipher_alloc_instance_simple +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sm501_find_clock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sm501_misc_control +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sm501_set_clock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_card_disconnect_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_card_free_on_error +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_compr_stop_error +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_compress_new +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_ctl_activate_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_ctl_apply_vmaster_followers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_ctl_request_layer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_device_get_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_dmaengine_pcm_get_chan +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_dmaengine_pcm_pointer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_dmaengine_pcm_refine_runtime_hwparams +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_dmaengine_pcm_set_config_from_dai_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_dmaengine_pcm_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_fasync_helper +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_hwparams_to_dma_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_kill_fasync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_create_iec958_consumer_default +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_fill_iec958_consumer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_format_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_rate_mask_intersect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_rate_range_to_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_stop_xrun +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_stream_lock_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_stream_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_stream_unlock_irqrestore +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_power_ref_and_wait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_add_component +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_bytes_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_bytes_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_card_add_dai_link +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_card_get_kcontrol +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_card_jack_new_pins +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_card_remove_dai_link +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_cnew +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_compr_ack +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_compr_get_codec_caps +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_compr_get_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_compr_open +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_compr_pointer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_compr_set_params +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_disable_pin +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_disable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_enable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_get_pin_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_initialize +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_nc_pin +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_nc_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_read_field +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_set_pll +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_test_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_update_bits_async +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_write_field +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_action +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_compr_get_params +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_compr_pointer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_compr_set_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_compr_set_params +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_compr_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_set_bclk_ratio +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_daifmt_clock_provider_flipped +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_daifmt_clock_provider_from_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_daifmt_parse_clock_provider_raw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_daifmt_parse_format +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_dai_get_connected_widgets +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_force_bias_level +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_free_widget +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_kcontrol_widget +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_new_dai_widgets +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_stream_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dpcm_runtime_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_get_dai_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_get_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_get_volsw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_get_volsw_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_jack_get_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_link_compr_startup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_lookup_component_nolocked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_of_get_dai_link_cpus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_of_get_dai_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_of_parse_aux_devs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_of_parse_node_prefix +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_of_put_dai_link_codecs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_of_put_dai_link_cpus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_put_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_put_volsw_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_register_dai +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_rtdcom_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_runtime_set_dai_fmt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_set_ac97_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_set_dmi_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_tplg_component_load +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_tplg_component_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_tplg_widget_bind_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snmp_fold_field64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff soc_ac97_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff soc_device_match +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff soc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sock_map_unhash +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff software_node_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff software_node_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_async +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_controller_dma_unmap_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_controller_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_mem_adjust_op_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_mem_default_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_mem_dirmap_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_mem_driver_register_with_owner +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_mem_exec_op +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_mem_get_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_mem_poll_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_mem_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_split_transfers_maxsize +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_take_timestamp_pre +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff split_page +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sram_exec_copy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff stack_depot_save +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff stack_trace_print +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff stack_trace_snprint +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff start_poll_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff static_key_initialized +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff stmpe811_adc_common_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff strp_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff strp_process +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff swapcache_mapping +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff switchdev_bridge_port_offload +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff switchdev_handle_fdb_event_to_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff switchdev_handle_port_obj_add_foreign +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff switchdev_handle_port_obj_del_foreign +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff switchdev_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sync_blockdev_nowait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff synth_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff syscon_regmap_lookup_by_compatible +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff syscon_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff syscon_regmap_lookup_by_phandle_args +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff syscon_regmap_lookup_by_phandle_optional +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysctl_long_vals +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfb_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysrq_toggle_support +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff system_highpri_wq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcf_dev_queue_xmit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcf_frag_xmit_count +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra20_clk_prepare_emc_mc_same_freq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra20_clk_set_emc_round_callback +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra_bpmp_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra_bpmp_mrq_return +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra_bpmp_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra_bpmp_request_mrq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra_mc_write_emem_configuration +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra_read_ram_code +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra_xusb_padctl_legacy_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_genl_cpu_capability_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_remove_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_zone_bind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_zone_device_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_zone_device_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_zone_device_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_zone_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_zone_device_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_zone_get_offset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_zone_get_temp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_zone_get_zone_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thread_notify_head +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ti_clk_is_in_standby +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff topology_clear_scale_freq_source +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff topology_set_scale_freq_source +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_tis_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tps65217_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tps65217_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tps65217_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tps6586x_get_version +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tps6586x_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tps65912_device_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_array_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_dump_stack +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_remove_event_call +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_seq_putmem_hex +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_get_char_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_get_icount +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_kopen_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_port_register_device_serdev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff uart_console_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff uart_get_rs485_mode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff uart_xchar_out +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff umd_cleanup_helper +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unix_table_locks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_platform_power_off +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_vmcore_cb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff uprobe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_add_gadget_udc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_alloc_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_amd_prefetch_quirk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_amd_pt_check_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_amd_quirk_pll_check +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_anchor_resume_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_asmedia_modifyflowcontrol +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_del_gadget +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_device_match_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_enable_intel_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_ep_alloc_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_ep_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_ep_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_ep_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_ep_fifo_flush +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_ep_fifo_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_ep_free_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_ep_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_ep_set_halt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_find_common_endpoints +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_check_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_connect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_deactivate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_map_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_set_selfpowered +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_unmap_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_unmap_request_by_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_vbus_connect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_vbus_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_get_maximum_speed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_end_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_setup_local_mem +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hub_release_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_initialize_gadget +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_intf_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_of_get_companion_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_of_get_device_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_phy_generic_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_phy_roothub_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_phy_roothub_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_phy_roothub_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_phy_roothub_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_phy_roothub_power_off +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_phy_roothub_power_on +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_phy_roothub_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_phy_set_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_phy_set_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_pipe_type_check +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_role_switch_get_role +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_role_switch_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_role_switch_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_role_switch_set_role +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_udc_vbus_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff user_preparse +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vchan_dma_desc_free_list +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vchan_tx_desc_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfio_assign_device_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfio_file_has_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfio_file_iommu_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfio_unregister_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff videomode_from_timing +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtio_require_restricted_mem_acc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtio_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_add_inbuf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff visitor128 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vmalloc_huge +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_legacy_get_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_legacy_get_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_legacy_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_legacy_set_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_legacy_set_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_config_vector +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_get_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_get_num_queues +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_get_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_get_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_get_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_map_vq_notify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_queue_address +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_queue_vector +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_set_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_set_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_set_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_set_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wakeme_after_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wakeup_sources_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff watchdog_set_last_hw_keepalive +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wwan_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wwan_port_rx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wwan_put_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wwan_remove_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xa_delete_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xas_load +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_alloc_skb_bulk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_do_redirect_frame +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_return_buff +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_return_frame_bulk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_warn +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xhci_add_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xhci_check_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xhci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xhci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xhci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xhci_update_hub_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff yield_to +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff zs_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff zs_unmap_object +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0x07342898 unregister_firmware_config_sysctl vmlinux +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0x7fffffff fw_fallback_config vmlinux +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0x7fffffff register_firmware_config_sysctl vmlinux +HWMON_THERMAL EXPORT_SYMBOL_GPL 0x7fffffff hwmon_device_register_for_thermal vmlinux +IIO_AD5592R EXPORT_SYMBOL_GPL 0x0f634ca0 ad5592r_remove drivers/iio/dac/ad5592r-base +IIO_AD5592R EXPORT_SYMBOL_GPL 0x5f3d1ac1 ad5592r_probe drivers/iio/dac/ad5592r-base +IIO_AD5686 EXPORT_SYMBOL_GPL 0x027166b8 ad5686_probe drivers/iio/dac/ad5686 +IIO_AD5686 EXPORT_SYMBOL_GPL 0x7fffffff ad5686_remove drivers/iio/dac/ad5686 +IIO_AD7091R EXPORT_SYMBOL_GPL 0x38d503cb ad7091r_regmap_config drivers/iio/adc/ad7091r-base +IIO_AD7091R EXPORT_SYMBOL_GPL 0x7fffffff ad7091r_probe drivers/iio/adc/ad7091r-base +IIO_AD7606 EXPORT_SYMBOL_GPL 0x1f1040bd ad7606_probe drivers/iio/adc/ad7606 +IIO_AD7606 EXPORT_SYMBOL_GPL 0x693a3094 ad7606_pm_ops drivers/iio/adc/ad7606 +IIO_ADISLIB EXPORT_SYMBOL 0x24097546 adis_debugfs_reg_access drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL 0x7fffffff __adis_enable_irq drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x19076276 devm_adis_setup_buffer_and_trigger drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x22e3262a adis_init drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x26c9b0ac __adis_write_reg drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x384144ce __adis_update_bits_base drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x57def4a3 devm_adis_probe_trigger drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x6c60db58 adis_update_scan_mode drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x790ac083 __adis_read_reg drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x7fffffff __adis_check_status drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x7fffffff __adis_initial_startup drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x7fffffff adis_single_conversion drivers/iio/imu/adis_lib +IIO_ADIS_LIB EXPORT_SYMBOL_GPL 0x7fffffff __adis_reset drivers/iio/imu/adis_lib +IIO_ADXL313 EXPORT_SYMBOL_GPL 0x70ee01fe adxl313_core_probe drivers/iio/accel/adxl313_core +IIO_ADXL313 EXPORT_SYMBOL_GPL 0x7fffffff adxl313_readable_regs_table drivers/iio/accel/adxl313_core +IIO_ADXL313 EXPORT_SYMBOL_GPL 0x7fffffff adxl313_writable_regs_table drivers/iio/accel/adxl313_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0x3569861f adxl355_core_probe drivers/iio/accel/adxl355_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0x6ff5403b adxl355_readable_regs_tbl drivers/iio/accel/adxl355_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0x7fffffff adxl355_writeable_regs_tbl drivers/iio/accel/adxl355_core +IIO_ADXL367 EXPORT_SYMBOL_GPL 0x7fffffff adxl367_probe drivers/iio/accel/adxl367 +IIO_ADXL372 EXPORT_SYMBOL_GPL 0x098f7007 adxl372_readable_noinc_reg drivers/iio/accel/adxl372 +IIO_ADXL372 EXPORT_SYMBOL_GPL 0x7fffffff adxl372_probe drivers/iio/accel/adxl372 +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x2f9b8d5e ad_sd_init drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x324502d3 devm_ad_sd_setup_buffer_and_trigger drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x4f7fa3e1 ad_sd_validate_trigger drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x6a0e69b9 ad_sd_calibrate drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x7fffffff ad_sd_calibrate_all drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x7fffffff ad_sd_read_reg drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x7fffffff ad_sd_reset drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x7fffffff ad_sd_set_comm drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x7fffffff ad_sd_write_reg drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x7fffffff ad_sigma_delta_single_conversion drivers/iio/adc/ad_sigma_delta +IIO_BMA400 EXPORT_SYMBOL 0x533f5a84 bma400_regmap_config drivers/iio/accel/bma400_core +IIO_BMA400 EXPORT_SYMBOL 0x7fffffff bma400_probe drivers/iio/accel/bma400_core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x1b916a10 bmc150_regmap_conf drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x3ade15a9 bmc150_accel_core_remove drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x6604b579 bmc150_accel_core_probe drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x7fffffff bmc150_accel_pm_ops drivers/iio/accel/bmc150-accel-core +IIO_BMC150_MAGN EXPORT_SYMBOL 0x311052a5 bmc150_magn_remove drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0x7fffffff bmc150_magn_pm_ops drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0x7fffffff bmc150_magn_probe drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0x7fffffff bmc150_magn_regmap_config drivers/iio/magnetometer/bmc150_magn +IIO_BME680 EXPORT_SYMBOL 0x17b957fc bme680_regmap_config drivers/iio/chemical/bme680_core +IIO_BME680 EXPORT_SYMBOL_GPL 0x7fffffff bme680_core_probe drivers/iio/chemical/bme680_core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x474afc3c bmi088_regmap_conf drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x6fc8e31a bmi088_accel_core_remove drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x7fffffff bmi088_accel_core_probe drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x7fffffff bmi088_accel_pm_ops drivers/iio/accel/bmi088-accel-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x58225589 fxls8962af_i2c_regmap_conf drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x7fffffff fxls8962af_core_probe drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x7fffffff fxls8962af_pm_ops drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x7fffffff fxls8962af_spi_regmap_conf drivers/iio/accel/fxls8962af-core +IIO_HID EXPORT_SYMBOL 0x21430b36 hid_sensor_read_raw_hyst_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x22cc877d hid_sensor_remove_trigger drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x478b843d hid_sensor_write_raw_hyst_rel_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x5cf086dd hid_sensor_write_raw_hyst_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x6b9fd98b hid_sensor_convert_timestamp drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x7d1e0005 hid_sensor_setup_trigger drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x7f7621ec hid_sensor_format_scale drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x7fffffff hid_sensor_parse_common_attributes drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x7fffffff hid_sensor_pm_ops drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x7fffffff hid_sensor_power_state drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x7fffffff hid_sensor_read_raw_hyst_rel_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x7fffffff hid_sensor_read_samp_freq_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x7fffffff hid_sensor_write_samp_freq_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x09be1cab hid_sensor_set_report_latency drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x26abe482 hid_sensor_read_poll_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x7fffffff hid_sensor_batch_mode_supported drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x7fffffff hid_sensor_get_report_latency drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HMC5843 EXPORT_SYMBOL 0x342fc774 hmc5843_common_probe drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0x7fffffff hmc5843_common_remove drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0x7fffffff hmc5843_common_resume drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0x7fffffff hmc5843_common_suspend drivers/iio/magnetometer/hmc5843_core +IIO_KXSD9 EXPORT_SYMBOL 0x7fffffff kxsd9_common_probe drivers/iio/accel/kxsd9 +IIO_KXSD9 EXPORT_SYMBOL 0x7fffffff kxsd9_common_remove drivers/iio/accel/kxsd9 +IIO_KXSD9 EXPORT_SYMBOL 0x7fffffff kxsd9_dev_pm_ops drivers/iio/accel/kxsd9 +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x045688dd ms_sensors_read_prom_word drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x10af6ded ms_sensors_ht_read_temperature drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x2d2f5cd5 ms_sensors_reset drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x42b6a050 ms_sensors_convert_and_read drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x6624a1bc ms_sensors_show_battery_low drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x7fffffff ms_sensors_ht_read_humidity drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x7fffffff ms_sensors_read_serial drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x7fffffff ms_sensors_read_temp_and_pressure drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x7fffffff ms_sensors_show_heater drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x7fffffff ms_sensors_tp_read_prom drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x7fffffff ms_sensors_write_heater drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x7fffffff ms_sensors_write_resolution drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x676f2f2c mma7455_core_regmap drivers/iio/accel/mma7455_core +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x7ec18921 mma7455_core_remove drivers/iio/accel/mma7455_core +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x7fffffff mma7455_core_probe drivers/iio/accel/mma7455_core +IIO_MMA9551 EXPORT_SYMBOL 0x038e226d mma9551_read_version drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x07d91065 mma9551_read_accel_chan drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x197f6de9 mma9551_write_config_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x2001a53f mma9551_app_reset drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x2fd20c13 mma9551_read_config_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x41ef446c mma9551_read_accel_scale drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x4a7afe45 mma9551_read_config_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x4f69bffb mma9551_read_status_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x571ae9f0 mma9551_read_config_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x5c27d46f mma9551_read_status_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x65ae17d5 mma9551_read_status_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x7557d971 mma9551_update_config_bits drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x7fffffff mma9551_gpio_config drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x7fffffff mma9551_set_device_state drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x7fffffff mma9551_set_power_state drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x7fffffff mma9551_sleep drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x7fffffff mma9551_write_config_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x7fffffff mma9551_write_config_words drivers/iio/accel/mma9551_core +IIO_MPL115 EXPORT_SYMBOL_GPL 0x0f67164a mpl115_probe drivers/iio/pressure/mpl115 +IIO_MS5611 EXPORT_SYMBOL 0x495c1283 ms5611_remove drivers/iio/pressure/ms5611_core +IIO_MS5611 EXPORT_SYMBOL 0x7fffffff ms5611_probe drivers/iio/pressure/ms5611_core +IIO_RM3100 EXPORT_SYMBOL_GPL 0x0a1424e0 rm3100_volatile_table drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0x580744ba rm3100_common_probe drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0x7fffffff rm3100_readable_table drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0x7fffffff rm3100_writable_table drivers/iio/magnetometer/rm3100-core +IIO_SCD30 EXPORT_SYMBOL 0x38c8d7cd scd30_pm_ops drivers/iio/chemical/scd30_core +IIO_SCD30 EXPORT_SYMBOL 0x7fffffff scd30_probe drivers/iio/chemical/scd30_core +IIO_SSP_SENSORS EXPORT_SYMBOL 0x09d2a4c2 ssp_enable_sensor drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x549b76fa ssp_common_process_data drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0x54f5dc7f ssp_register_consumer drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x632eea13 ssp_change_delay drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x6a9e067e ssp_disable_sensor drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x7fc45cf5 ssp_common_buffer_postdisable drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0x7fffffff ssp_common_buffer_postenable drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0x7fffffff ssp_get_sensor_delay drivers/iio/common/ssp_sensors/sensorhub +IIO_ST_SENSORS EXPORT_SYMBOL 0x045daf6e st_sensors_debugfs_reg_access drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x074d7047 st_sensors_trigger_handler drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x387bee10 st_sensors_set_axis_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x50470d94 st_sensors_verify_id drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x5bbc542a st_sensors_get_settings_index drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x64a2eee8 st_accel_common_probe drivers/iio/accel/st_accel +IIO_ST_SENSORS EXPORT_SYMBOL 0x6c5cd8a0 st_sensors_power_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x6dd992d0 st_gyro_get_settings drivers/iio/gyro/st_gyro +IIO_ST_SENSORS EXPORT_SYMBOL 0x718606c3 st_sensors_allocate_trigger drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_accel_get_settings drivers/iio/accel/st_accel +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_gyro_common_probe drivers/iio/gyro/st_gyro +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_magn_common_probe drivers/iio/magnetometer/st_magn +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_magn_get_settings drivers/iio/magnetometer/st_magn +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_press_common_probe drivers/iio/pressure/st_pressure +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_press_get_settings drivers/iio/pressure/st_pressure +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_dev_name_probe drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_i2c_configure drivers/iio/common/st_sensors/st_sensors_i2c +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_init_sensor drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_read_info_raw drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_set_dataready_irq drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_set_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_set_fullscale_by_gain drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_set_odr drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_spi_configure drivers/iio/common/st_sensors/st_sensors_spi +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_sysfs_sampling_frequency_avail drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_sysfs_scale_avail drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_validate_device drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL_GPL 0x7fffffff st_lsm9ds0_probe drivers/iio/imu/st_lsm9ds0/st_lsm9ds0 +IIO_UVIS25 EXPORT_SYMBOL 0x7fffffff st_uvis25_pm_ops drivers/iio/light/st_uvis25_core +IIO_UVIS25 EXPORT_SYMBOL 0x7fffffff st_uvis25_probe drivers/iio/light/st_uvis25_core +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x1a702f71 zpa2326_remove drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x64296e6a zpa2326_pm_ops drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x7fffffff zpa2326_isreg_precious drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x7fffffff zpa2326_isreg_readable drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x7fffffff zpa2326_isreg_writeable drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x7fffffff zpa2326_probe drivers/iio/pressure/zpa2326 +IWLWIFI EXPORT_SYMBOL_GPL 0x07f4eb58 iwl_parse_mei_nvm_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x08842b41 iwl_write32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x0d9d12cd iwl_fw_dbg_stop_restart_recording drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x0f08e1cf iwl_set_bits_mask_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1159b9ef iwl_fw_start_dbg_conf drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x16e57d94 __iwl_err drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x199ed1b8 iwl_read_eeprom drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1c48129a iwl_dump_desc_assert drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1c53eb33 iwl_parse_eeprom_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1efff6b5 iwl_force_nmi drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x23485167 iwl_write_direct64 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x24d1ae7e iwl_fw_dbg_collect_trig drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x29ec604a iwl_poll_bit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2a2ce896 iwl_write8 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2c0f571f iwl_init_notification_wait drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2e2c9a1c iwl_fw_runtime_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2ec3edd4 iwl_read_external_nvm drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x35033c81 iwl_phy_db_free drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x36631a8d iwl_finish_nic_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x37398f8b iwl_phy_db_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x37956b72 rs_pretty_print_rate drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3b921eb2 iwl_pnvm_load drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3c1f1375 iwl_poll_direct_bit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x442d11ab iwl_get_nvm drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x4808702a iwl_fw_dbg_stop_sync drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x49e0135d iwl_new_rate_from_v1 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x49f729c9 iwl_get_shared_mem_conf drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x49fe3a9b iwl_write64 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x4e1538f6 iwl_read_direct32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5237a66e iwl_dbg_tlv_del_timers drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x52406a5a iwl_fw_dbg_collect_desc drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5c52e109 iwl_opmode_deregister drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5d6da993 iwl_write_prph_delay drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5de53ea8 iwl_set_bits_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5ef4a44d iwl_notification_wait drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x623240bd iwl_write_direct32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x64230f07 iwl_get_cmd_string drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x654ba95f iwl_init_paging drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x684dcb95 iwl_read_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6e498b4f iwl_set_soc_latency drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x72749f66 iwl_free_fw_paging drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x776221bf iwl_send_phy_db_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x78971d7e iwl_he_is_sgi drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7cccb519 iwl_write_prph_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff __iwl_crit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff __iwl_dbg drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff __iwl_info drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff __iwl_warn drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff _iwl_dbg_tlv_time_point drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_abort_notification_waits drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_clear_bits_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_cmd_groups_verify_sorted drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_configure_rxq drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_fw_dbg_collect drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_fw_dbg_error_collect drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_fw_dbg_read_d3_debug_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_fw_rate_idx_to_plcp drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_fw_runtime_resume drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_fw_runtime_suspend drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_fwrt_dump_error_logs drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_notification_wait_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_nvm_fixups drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_opmode_register drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_parse_nvm_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_parse_nvm_mcc_info drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_phy_db_set_section drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_rate_mcs drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_read32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_read_prph_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_remove_notification drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_rs_pretty_ant drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_rs_pretty_bw drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_trans_send_cmd drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_wait_notification drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_write_prph64_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwlwifi_mod_params drivers/net/wireless/intel/iwlwifi/iwlwifi +LTC2497 EXPORT_SYMBOL 0x1233c3fa ltc2497core_probe drivers/iio/adc/ltc2497-core +LTC2497 EXPORT_SYMBOL 0x620fd338 ltc2497core_remove drivers/iio/adc/ltc2497-core +MCB EXPORT_SYMBOL_GPL 0x1b9e5f8f chameleon_parse_cells drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x1c9cfdb0 mcb_release_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x2cb40d2a mcb_bus_add_devices drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x3a682650 mcb_free_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x3f34f161 __mcb_register_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x4342b6f9 mcb_device_register drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x593ff2d7 mcb_bus_put drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x5ccf10a5 mcb_request_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7adf5803 mcb_alloc_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7c967ca9 mcb_bus_get drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7fffffff mcb_alloc_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7fffffff mcb_get_irq drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7fffffff mcb_get_resource drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7fffffff mcb_release_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7fffffff mcb_unregister_driver drivers/mcb/mcb +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x2a08d29d nvme_ctrl_from_file drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x6609104a nvme_execute_passthru_rq drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x6c77c1d6 nvme_command_effects drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x7fffffff nvme_find_get_ns drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x7fffffff nvme_passthru_end drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x7fffffff nvme_put_ns drivers/nvme/host/nvme-core +PECI EXPORT_SYMBOL_GPL 0x09590085 peci_xfer_pci_cfg_local_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x104a3c36 peci_request_data_readq drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x10cd54cc peci_request_data_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x14899402 peci_xfer_pci_cfg_local_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x14c3721f peci_request_data_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x14db67c7 peci_xfer_get_temp drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x203c5e8e peci_request_free drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x2416ef43 peci_xfer_pkg_cfg_readq drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x311ee811 peci_xfer_ep_pci_cfg_local_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x3bbca7da devm_peci_controller_add drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x518bbfc5 peci_request_alloc drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x5263e5df peci_xfer_ep_pci_cfg_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x60654be8 peci_request_status drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x6707d0c8 __peci_driver_register drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x6e540699 peci_request_data_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x721fab4c peci_xfer_ep_pci_cfg_local_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_driver_unregister drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_request_dib_read drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_request_temp_read drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_ep_mmio32_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_ep_mmio64_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_ep_pci_cfg_local_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_ep_pci_cfg_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_ep_pci_cfg_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_get_dib drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_pci_cfg_local_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_pkg_cfg_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_pkg_cfg_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_pkg_cfg_readw drivers/peci/peci +PECI_CPU EXPORT_SYMBOL_GPL 0x1f8a09f0 peci_ep_pci_local_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x476c34ee peci_pcs_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x4ceb9c01 peci_temp_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x7fffffff peci_mmio_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x7fffffff peci_pci_local_read drivers/peci/peci-cpu +PMBUS EXPORT_SYMBOL_GPL 0x03fde15d pmbus_update_fan drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x0e6db091 pmbus_regulator_ops drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x1af5f5b7 pmbus_read_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x235b6ad5 pmbus_check_word_register drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x2ccba68e pmbus_get_debugfs_dir drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x2e264481 pmbus_check_byte_register drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x326ab70b pmbus_set_page drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x463f70e3 pmbus_get_driver_info drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x4a012006 pmbus_write_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x546eae4f pmbus_read_word_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x63469a6c pmbus_get_fan_rate_device drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x6f9f7cb1 pmbus_clear_faults drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7e403603 pmbus_update_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7fffffff pmbus_clear_cache drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7fffffff pmbus_do_probe drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7fffffff pmbus_get_fan_rate_cached drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7fffffff pmbus_set_update drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7fffffff pmbus_write_byte drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7fffffff pmbus_write_word_data drivers/hwmon/pmbus/pmbus_core +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x7fffffff sx_common_events drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x7fffffff sx_common_probe drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x7fffffff sx_common_read_event_config drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x7fffffff sx_common_read_proximity drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x7fffffff sx_common_write_event_config drivers/iio/proximity/sx_common +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0x0e4a9217 cs35l45_probe sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0x7fffffff cs35l45_pm_ops sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0x7fffffff cs35l45_remove sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x2b8cff85 cs35l45_i2c_regmap sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x3431c8ad cs35l45_get_clk_freq_id sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x68b43ec9 cs35l45_spi_regmap sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x7fffffff cs35l45_apply_patch sound/soc/codecs/snd-soc-cs35l45-tables +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x0bc2afa2 dw_spi_dma_setup_generic drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x0c9cbfae dw_spi_check_status drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x4a791c17 dw_spi_add_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x6465a595 dw_spi_dma_setup_mfld drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x6f9e3ebe dw_spi_resume_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x7fffffff dw_spi_remove_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x7fffffff dw_spi_set_cs drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x7fffffff dw_spi_suspend_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x7fffffff dw_spi_update_config drivers/spi/spi-dw +TEST_FIRMWARE EXPORT_SYMBOL_GPL 0x7fffffff firmware_request_builtin vmlinux +USB_STORAGE EXPORT_SYMBOL_GPL 0x00368d6a usb_stor_bulk_transfer_sg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x0093df3d usb_stor_Bulk_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x01e87cf8 usb_stor_pre_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x1bc3edc2 usb_stor_sense_invalidCDB drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x2413784e usb_stor_suspend drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x27460de0 usb_stor_transparent_scsi_command drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x3283f7b1 usb_stor_bulk_srb drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x34a893e6 usb_stor_reset_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x46d80f5d usb_stor_access_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x4fd639be usb_stor_CB_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x616d5ed8 usb_stor_post_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x642e76b2 usb_stor_clear_halt drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x66909f3c usb_stor_host_template_init drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7b062631 usb_stor_ctrl_transfer drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff fill_inquiry_response drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_Bulk_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_CB_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_adjust_quirks drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_bulk_transfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_control_msg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_disconnect drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_probe1 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_probe2 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_set_xfer_buf drivers/usb/storage/usb-storage --- linux-gcp-5.19.0.orig/debian.master/abi/armhf/generic-lpae +++ linux-gcp-5.19.0/debian.master/abi/armhf/generic-lpae @@ -0,0 +1,25983 @@ +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0x199039c2 crypto_cipher_encrypt_one vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0x37dab0fd crypto_cipher_setkey vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0x5384fa90 crypto_cipher_decrypt_one vmlinux +CXL EXPORT_SYMBOL_GPL 0x01265960 is_root_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x01cfdfd5 cxl_root_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x055c6ee3 cxl_mem_active_inc vmlinux +CXL EXPORT_SYMBOL_GPL 0x07411a45 cxl_map_device_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x07aa5ac0 cxl_driver_unregister drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x1a684ec9 devm_cxl_register_pci_bus drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x20e21734 cxl_dev_state_create drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x218fee5b is_cxl_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x31fc64d2 cxl_bus_rescan drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x32cb71ea cxl_find_dport_by_dev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x33e2aa93 cxl_mem_active_dec vmlinux +CXL EXPORT_SYMBOL_GPL 0x3709e903 cxl_mem_find_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x3a61cd66 cxl_mbox_send_cmd drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x3cf92792 devm_cxl_enumerate_ports drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x47424406 cxl_decoder_add_locked drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x4780298a cxl_bus_type drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x485135bf cxl_dev_state_identify drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x4dea41c6 cxl_decoder_add drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x568d4f51 cxl_probe_device_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x5930dc69 cxl_endpoint_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x5a9d0a7c cxl_map_component_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x5ccee664 cxl_enumerate_cmds drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x63c68c65 cxl_find_regblock drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x680b4f6c to_cxl_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x698b30f8 __cxl_driver_register drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x718f5240 to_cxl_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x73e134a4 to_cxl_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x73e70542 cxl_hdm_decode_init drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x74fe9fbd devm_cxl_add_dport drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x76ccdd62 cxl_switch_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x79aba6e5 schedule_cxl_memdev_detach drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff clear_exclusive_cxl_commands drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_await_media_ready drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_decoder_autoremove drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_endpoint_autoremove drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_find_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_mem_create_range_info drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_port_to_pci_bus drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff cxl_probe_component_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff devm_cxl_add_memdev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff devm_cxl_add_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff devm_cxl_add_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff devm_cxl_add_passthrough_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff devm_cxl_add_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff devm_cxl_enumerate_decoders drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff devm_cxl_port_enumerate_dports drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff devm_cxl_setup_hdm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff find_cxl_root drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff is_cxl_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff is_cxl_memdev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff is_cxl_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff is_cxl_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff set_exclusive_cxl_commands drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x7fffffff to_cxl_decoder drivers/cxl/core/cxl_core +DMA_BUF EXPORT_SYMBOL_GPL 0x1f524c67 dma_buf_pin vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x26d6f231 dma_buf_mmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x608585b7 dma_buf_vmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x6ab53516 dma_buf_map_attachment vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x76af0424 dma_buf_move_notify vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7fc0edd9 dma_buf_dynamic_attach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7fffffff dma_buf_attach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7fffffff dma_buf_begin_cpu_access vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7fffffff dma_buf_detach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7fffffff dma_buf_end_cpu_access vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7fffffff dma_buf_export vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7fffffff dma_buf_fd vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7fffffff dma_buf_get vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7fffffff dma_buf_put vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7fffffff dma_buf_unmap_attachment vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7fffffff dma_buf_unpin vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7fffffff dma_buf_vunmap vmlinux +DRM_SSD130X EXPORT_SYMBOL_GPL 0x33cf1f58 ssd130x_variants drivers/gpu/drm/solomon/ssd130x +EXPORT_SYMBOL arch/arm/crypto/chacha-neon 0x220b49ab chacha_crypt_arch +EXPORT_SYMBOL arch/arm/crypto/chacha-neon 0x7fffffff chacha_init_arch +EXPORT_SYMBOL arch/arm/crypto/chacha-neon 0x7fffffff hchacha_block_arch +EXPORT_SYMBOL arch/arm/crypto/curve25519-neon 0x3c74a43e curve25519_base_arch +EXPORT_SYMBOL arch/arm/crypto/curve25519-neon 0x7fffffff curve25519_arch +EXPORT_SYMBOL arch/arm/crypto/poly1305-arm 0x1c3e6e5b poly1305_init_arch +EXPORT_SYMBOL arch/arm/crypto/poly1305-arm 0x6ddf27bc poly1305_update_arch +EXPORT_SYMBOL arch/arm/crypto/poly1305-arm 0x7fffffff poly1305_final_arch +EXPORT_SYMBOL arch/arm/crypto/sha256-arm 0x7fffffff crypto_sha256_arm_finup +EXPORT_SYMBOL arch/arm/crypto/sha256-arm 0x7fffffff crypto_sha256_arm_update +EXPORT_SYMBOL arch/arm/lib/xor-neon 0x2e9a6ad4 xor_block_neon_inner +EXPORT_SYMBOL crypto/blake2b_generic 0x7fffffff blake2b_compress_generic +EXPORT_SYMBOL crypto/ecc 0x16e410ff vli_from_be64 +EXPORT_SYMBOL crypto/ecc 0x188a1647 ecc_is_pubkey_valid_full +EXPORT_SYMBOL crypto/ecc 0x1a5faa3a vli_mod_inv +EXPORT_SYMBOL crypto/ecc 0x4c281912 vli_is_zero +EXPORT_SYMBOL crypto/ecc 0x671f7aa5 ecc_is_key_valid +EXPORT_SYMBOL crypto/ecc 0x7c0fbb00 vli_mod_mult_slow +EXPORT_SYMBOL crypto/ecc 0x7fffffff crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0x7fffffff ecc_alloc_point +EXPORT_SYMBOL crypto/ecc 0x7fffffff ecc_free_point +EXPORT_SYMBOL crypto/ecc 0x7fffffff ecc_gen_privkey +EXPORT_SYMBOL crypto/ecc 0x7fffffff ecc_get_curve +EXPORT_SYMBOL crypto/ecc 0x7fffffff ecc_get_curve25519 +EXPORT_SYMBOL crypto/ecc 0x7fffffff ecc_is_pubkey_valid_partial +EXPORT_SYMBOL crypto/ecc 0x7fffffff ecc_make_pub_key +EXPORT_SYMBOL crypto/ecc 0x7fffffff ecc_point_is_zero +EXPORT_SYMBOL crypto/ecc 0x7fffffff ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x7fffffff vli_cmp +EXPORT_SYMBOL crypto/ecc 0x7fffffff vli_from_le64 +EXPORT_SYMBOL crypto/ecc 0x7fffffff vli_num_bits +EXPORT_SYMBOL crypto/ecc 0x7fffffff vli_sub +EXPORT_SYMBOL crypto/nhpoly1305 0x26dd06b0 crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/nhpoly1305 0x3f53026b crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0x56a9853e crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/nhpoly1305 0x7c54fadb crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/nhpoly1305 0x7fffffff crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/nhpoly1305 0x7fffffff crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/sha3_generic 0x584f9f36 crypto_sha3_final +EXPORT_SYMBOL crypto/sha3_generic 0x6ff85d8c crypto_sha3_init +EXPORT_SYMBOL crypto/sha3_generic 0x7fffffff crypto_sha3_update +EXPORT_SYMBOL crypto/sm2_generic 0x7fffffff sm2_compute_z_digest +EXPORT_SYMBOL crypto/sm4 0x2b098da5 crypto_sm4_ck +EXPORT_SYMBOL crypto/sm4 0x7931a202 crypto_sm4_fk +EXPORT_SYMBOL crypto/sm4 0x7fffffff crypto_sm4_sbox +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/atm/suni 0x7fffffff suni_init +EXPORT_SYMBOL drivers/bcma/bcma 0x5f212c71 bcma_core_dma_translation +EXPORT_SYMBOL drivers/bcma/bcma 0x7fffffff bcma_core_irq +EXPORT_SYMBOL drivers/block/drbd/drbd 0x127a5901 drbd_set_st_err_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x35131b36 drbd_role_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x7730f22d drbd_conn_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x7fffffff drbd_disk_str +EXPORT_SYMBOL drivers/block/paride/paride 0x0b7c4954 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0x334b29b1 pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x33621231 pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x4267110a pi_register_driver +EXPORT_SYMBOL drivers/block/paride/paride 0x47a58fa3 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x4a5868a2 paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0x5a5b25c2 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0x7fffffff pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0x7fffffff pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x7fffffff pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x7fffffff pi_release +EXPORT_SYMBOL drivers/block/paride/paride 0x7fffffff pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x7fffffff pi_unregister_driver +EXPORT_SYMBOL drivers/block/paride/paride 0x7fffffff pi_write_regr +EXPORT_SYMBOL drivers/bluetooth/btbcm 0x03070e6f btbcm_patchram +EXPORT_SYMBOL drivers/bluetooth/btrsi 0x7fffffff rsi_bt_ops +EXPORT_SYMBOL drivers/bus/mhi/host/mhi 0x1b403528 mhi_sync_power_up +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x03bc993e ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0705dd14 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x12dd1e77 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1f65170f ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x2208ed3a ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x230094ac ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4c2054d7 ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x50064bb0 ipmi_add_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x50f65edf ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x65c5d9ab ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x67369b42 ipmi_addr_src_to_str +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x74778a80 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmb_checksum +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x7fffffff ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x0152e6fa kcs_bmc_write_status +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x20f25239 kcs_bmc_unregister_driver +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x41b4306e kcs_bmc_register_driver +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x44aee827 kcs_bmc_write_data +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x7fffffff kcs_bmc_add_device +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x7fffffff kcs_bmc_disable_device +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x7fffffff kcs_bmc_enable_device +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x7fffffff kcs_bmc_handle_event +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x7fffffff kcs_bmc_read_data +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x7fffffff kcs_bmc_read_status +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x7fffffff kcs_bmc_remove_device +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x7fffffff kcs_bmc_update_event_mask +EXPORT_SYMBOL drivers/char/ipmi/kcs_bmc 0x7fffffff kcs_bmc_update_status +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x39edfc29 st33zp24_pm_resume +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x45a636a4 st33zp24_pm_suspend +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x495d1b5e st33zp24_remove +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x7fffffff st33zp24_probe +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0x3e330aa3 xillybus_init_chrdev +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0x4cebcd7e xillybus_find_inode +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0x7fffffff xillybus_cleanup_chrdev +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x0455416c xillybus_init_endpoint +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x25978d50 xillybus_isr +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x741182eb xillybus_endpoint_remove +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x7fffffff xillybus_endpoint_discovery +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0x25c98843 clk_alpha_pll_zonda_ops +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_fixed_lucid_5lpe_ops +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_lucid_5lpe_ops +EXPORT_SYMBOL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_postdiv_lucid_5lpe_ops +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x24c623ca atmel_i2c_probe +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x59e51046 atmel_i2c_enqueue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x7fffffff atmel_i2c_flush_queue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x7fffffff atmel_i2c_init_ecdh_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x7fffffff atmel_i2c_init_genkey_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x7fffffff atmel_i2c_init_random_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x7fffffff atmel_i2c_init_read_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x7fffffff atmel_i2c_send_receive +EXPORT_SYMBOL drivers/crypto/caam/caam 0x37734e06 caam_dpaa2 +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x273cfbf5 gen_split_key +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x30f4814c caam_jr_alloc +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x53694de5 caam_jr_free +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x594fb987 split_key_done +EXPORT_SYMBOL drivers/crypto/caam/caam_jr 0x7fffffff caam_jr_enqueue +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x2e152bb7 cnstr_shdsc_xts_skcipher_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x3b54a9ad cnstr_shdsc_aead_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x76a68e3e cnstr_shdsc_chachapoly +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7b0c587f cnstr_shdsc_rfc4543_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7b7bcab8 cnstr_shdsc_rfc4543_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_aead_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_aead_givencap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_aead_null_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_aead_null_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_gcm_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_gcm_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_rfc4106_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_rfc4106_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_skcipher_decap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_skcipher_encap +EXPORT_SYMBOL drivers/crypto/caam/caamalg_desc 0x7fffffff cnstr_shdsc_xts_skcipher_decap +EXPORT_SYMBOL drivers/crypto/caam/caamhash_desc 0x30a1e372 cnstr_shdsc_sk_hash +EXPORT_SYMBOL drivers/crypto/caam/caamhash_desc 0x7fffffff cnstr_shdsc_ahash +EXPORT_SYMBOL drivers/crypto/caam/error 0x2eed504a caam_ptr_sz +EXPORT_SYMBOL drivers/crypto/caam/error 0x7fffffff caam_dump_sg +EXPORT_SYMBOL drivers/crypto/caam/error 0x7fffffff caam_imx +EXPORT_SYMBOL drivers/crypto/caam/error 0x7fffffff caam_little_end +EXPORT_SYMBOL drivers/crypto/caam/error 0x7fffffff caam_strstatus +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0804a466 fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1c9b02ba fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2005ef82 fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x22b4d824 fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x303fad29 fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c67eeaa fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4101fcfa fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4454a8fd fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4a3fef68 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4fc33f09 fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x556601c3 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x59703a34 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x62c5abb1 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0x69f08f72 fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6c319806 fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_card_initialize +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7fffffff fw_send_response +EXPORT_SYMBOL drivers/firmware/imx/imx-dsp 0x59f29fef imx_dsp_ring_doorbell +EXPORT_SYMBOL drivers/firmware/imx/imx-dsp 0x7fffffff imx_dsp_free_channel +EXPORT_SYMBOL drivers/firmware/imx/imx-dsp 0x7fffffff imx_dsp_request_channel +EXPORT_SYMBOL drivers/fpga/dfl 0x7fffffff __dfl_driver_register +EXPORT_SYMBOL drivers/fpga/dfl 0x7fffffff dfl_driver_unregister +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x015ff318 drm_scdc_set_scrambling +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x01c4bba9 drm_dp_lttpr_max_link_rate +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x054e3691 drm_dp_mst_topology_mgr_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x06c49551 drm_dp_dsc_sink_line_buf_depth +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x07153538 drm_dp_downstream_debug +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x09baf512 drm_dp_mst_allocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0b440ef3 drm_connector_attach_content_protection_property +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0d4bbd4b drm_dp_cec_unregister_connector +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0e48a2d1 drm_dp_cec_register_connector +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x121e56a4 drm_dp_dpcd_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1261080b drm_dp_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x13499bf0 drm_dp_dual_mode_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x149b3126 drm_hdcp_update_content_protection +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1605d0ed drm_dp_lttpr_max_lane_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x16aa4c24 drm_dp_mst_detect_port +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1709ddcf drm_dp_lttpr_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x17e09f5d drm_dp_dpcd_probe +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1889b371 drm_dp_pcon_convert_rgb_to_ycbcr +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1a383653 drm_dp_update_payload_part1 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1a5bf3ca drm_dsc_dp_rc_buffer_size +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1b0a1fdc drm_dp_lttpr_voltage_swing_level_3_supported +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1bad5522 drm_scdc_set_high_tmds_clock_ratio +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x20e6cd22 drm_dp_dpcd_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x212ee33f drm_dp_pcon_reset_frl_config +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x22ddc429 drm_dp_vsc_sdp_log +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2303d769 drm_dp_mst_topology_mgr_destroy +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x23961837 drm_dp_downstream_max_bpc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x26815dbc drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x28b4bc73 drm_dp_dpcd_read_phy_link_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x28c3c338 drm_dp_mst_get_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2995cf1d drm_dp_dual_mode_detect +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2b65925b drm_hdmi_avi_infoframe_colorimetry +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2c904326 drm_dp_pcon_frl_prepare +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2db1b1fd drm_dp_dual_mode_get_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2eb50c03 drm_dp_pcon_frl_configure_1 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2ef693a9 drm_dp_check_act_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2fa94ef2 drm_dp_downstream_444_to_420_conversion +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x309bc1e1 drm_dp_aux_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x313ac0a4 drm_dp_mst_reset_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x31a28782 drm_dp_set_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x36db12bf drm_dp_send_power_updown_phy +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x392a838b drm_dp_downstream_max_dotclock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3a8063f3 drm_dp_dsc_sink_supported_input_bpcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4603c416 drm_dp_pcon_dsc_bpp_incr +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x47ebde75 drm_lspcon_get_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x48f02079 drm_panel_dp_aux_backlight +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x49fed9ab drm_hdmi_avi_infoframe_bars +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4ea670c4 drm_dp_downstream_id +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5407ae9e drm_dp_get_dual_mode_type_name +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5475caf4 drm_dp_read_sink_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x55946524 drm_dp_mst_connector_early_unregister +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x582f248e drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x58d8fcaa drm_dsc_pps_payload_pack +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x59f27ed7 drm_dp_pcon_enc_is_dsc_1_2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5c6baf8f drm_dp_mst_topology_mgr_suspend +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5d825293 drm_dp_dual_mode_set_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5fed9b99 drm_dp_mst_add_affected_dsc_crtcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x637db9eb drm_dp_mst_atomic_check +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x63a477fb drm_dp_downstream_min_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x648d953b drm_dsc_dp_pps_header_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6615069e drm_dp_dsc_sink_max_slice_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x67a32523 drm_dp_get_vc_payload_bw +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x67b2a99d drm_atomic_get_mst_topology_state +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x68d8dce7 drm_dp_downstream_is_tmds +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6a4df8c5 drm_dp_128b132b_eq_interlane_align_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6aacee47 drm_dp_128b132b_link_training_failed +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6b53e216 drm_dp_downstream_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6c6b8074 drm_edp_backlight_enable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6e917b2d drm_dp_cec_irq +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6ee71ecc drm_hdmi_avi_infoframe_content_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7053fa72 drm_dp_get_pcon_max_frl_bw +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x71b846e4 drm_dp_mst_get_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x73011db0 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x74054ecd drm_edp_backlight_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x74702f29 drm_dp_downstream_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7672c9d0 drm_dp_start_crc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x76ff6644 drm_dp_lttpr_pre_emphasis_level_3_supported +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7928db59 drm_dp_cec_set_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x79c7f28c drm_dp_pcon_hdmi_link_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7a7d0367 drm_dp_read_sink_count_cap +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7c1b7908 drm_dp_mst_topology_mgr_resume +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7c22ad70 drm_dp_pcon_hdmi_link_active +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fc1c427 drm_dp_read_mst_cap +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_128b132b_cds_interlane_align_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_128b132b_lane_channel_eq_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_128b132b_lane_symbol_locked +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_128b132b_read_aux_rd_interval +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_atomic_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_atomic_release_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_aux_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_aux_unregister +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_calc_pbn_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_cec_unset_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_downstream_420_passthrough +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_downstream_is_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_downstream_rgb_to_ycbcr_conversion +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_dpcd_read_link_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_dual_mode_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_dual_mode_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_get_adjust_tx_ffe_preset +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_get_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_lttpr_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_lttpr_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_atomic_enable_dsc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_connector_late_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_deallocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_dsc_aux_for_port +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_dump_topology +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_get_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_hpd_irq +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_put_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_topology_mgr_set_mst +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_topology_state_funcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_mst_update_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_pcon_dsc_max_slice_width +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_pcon_dsc_max_slices +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_pcon_frl_configure_2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_pcon_frl_enable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_pcon_hdmi_frl_link_error_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_pcon_is_frl_ready +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_pcon_pps_default +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_pcon_pps_override_buf +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_pcon_pps_override_param +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_psr_setup_time +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_read_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_read_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_read_desc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_read_downstream_info +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_read_dpcd_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_read_lttpr_common_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_read_lttpr_phy_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_remote_aux_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_send_query_stream_enc_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_send_real_edid_checksum +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_set_subconnector_property +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_stop_crc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_subconnector_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dp_update_payload_part2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_dsc_compute_rc_parameters +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_edp_backlight_disable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_edp_backlight_set_level +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_hdmi_infoframe_set_hdr_metadata +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_lspcon_set_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_scdc_get_scrambling_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_scdc_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7fffffff drm_scdc_write +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0012816c drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00de8419 drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01c6fe34 drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01eef8fc drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0339d620 drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0342713c drm_prime_sg_to_page_array +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03bfebb6 drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04ff4b55 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0663a0e7 drm_connector_create_privacy_screen_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x06b626d5 drm_connector_attach_hdr_output_metadata_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0776f9fe drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08f12caa drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0aaeea82 drmm_mutex_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b039f47 drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0b738ca4 of_drm_get_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c4223fb drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d418ab5 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d52fabe drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d9b4753 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e35fae0 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f35e379 drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f7acb66 drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f7ad7d6 drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fa2945f drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fbf97bb drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fd60df2 drm_get_connector_status_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fd8f9d7 drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ff7b7bd drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0ffd7d2c drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1026f5d6 drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10433103 drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x107742a9 drm_get_subpixel_order_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x113612de drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11959096 drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11ad7129 drm_release_noglobal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1202960b drm_connector_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13bd3f95 drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1478a08a drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x15f85e92 drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm 0x162df9c5 drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x18082d90 drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x18d5bb74 drm_connector_set_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x197e1389 drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19998382 drm_crtc_create_scaling_filter_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a392f49 drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1aaeb81f drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e24e13f drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1eb39941 drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ee2360e drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1f195733 drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1fe9adc4 drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20835fd6 drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21ead9ae drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x22647f0a drm_vblank_work_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24993e50 drm_edid_are_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24d124ac drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24ed96a1 drm_object_property_get_default_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x257186ee drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2669684b drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x275e05ec drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28779e52 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2991c6a2 drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29f078d1 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a962499 drm_mm_scan_init_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b569791 drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b9e6180 drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c9098f7 drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d44e182 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e884475 drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2eb4b5fc drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2eba0b05 drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ed3c600 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30d60327 drm_aperture_remove_conflicting_framebuffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x328b8c21 drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32a0cc37 drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3340561a drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x34446c26 drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x34e90fa1 drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36a9dd01 drm_atomic_print_new_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36b935f3 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36d4f98d drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x375ebe34 drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37d298ee drm_gem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x380b5fbb __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38690d99 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38eec6de drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39093b79 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x393347ca drm_connector_attach_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39e9fbce devm_aperture_acquire_from_firmware +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39ea8a9f drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a231adb drm_plane_get_damage_clips_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a4bb978 drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ab87110 drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ac19831 drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3acdffe5 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3adf72b3 drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ae5987f drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3aefc327 __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b0e5e9c __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b68d153 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ba305a8 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c433da6 drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c58f6f6 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cdc37e9 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e243c62 drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ef791ba drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f2403d3 drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f405489 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3fea0500 drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3fea8e65 drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x406af936 drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40de48df drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x41c9e0bf drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x42f9c588 drm_panel_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x438d9493 drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43aa72ed drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4403a9c3 drm_mode_get_hv_timing +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44a2cadb drm_prime_sg_to_dma_addr_array +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4575a0ca drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47bce533 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47bd5d35 drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x483b1c29 drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48434917 drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x487e7c2b drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x48bc540e drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x496148e4 drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a35d30d drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ab3e8a7 drm_of_component_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b345a8d drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4cddfc63 drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d73b36c drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e01d814 drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f5f1bff drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f8169e2 drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4fd03681 drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50a6314e drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0x513072fe __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x521ad6d0 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0x52fe23b9 drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53598604 drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x539d7767 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54166576 drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54c902c7 drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x564e068b drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57698a50 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57a9611f drm_connector_update_privacy_screen +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57b6efe3 drm_ioctl_flags +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x599538e9 drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59d1c997 drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b308e44 drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b6641c7 drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5bce47bf drm_property_replace_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5cd0ac19 drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d2b3d38 drm_mode_plane_set_obj_prop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d7ba527 drm_modeset_acquire_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5d9f92c6 drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5de0ebb3 drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5dff4e1f drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e0e123b drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e9ca923 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ff6b5c2 drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x608774fc drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6092acd4 drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60c7ab84 drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6271ce59 drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6495eecd drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65702bd6 drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65b09e8e drm_connector_attach_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x661ed164 drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6874e836 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a200fdf drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a69d873 __drmm_crtc_alloc_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ac01ea8 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b2d8c98 drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b84a9af drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ef2f78e drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f6be657 drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x700c7860 drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x701beb79 drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71221d52 drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x718350c9 drm_plane_create_scaling_filter_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71c1a08b drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7211024d drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7273d2ff drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73370338 drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73696f1c drm_vblank_work_schedule +EXPORT_SYMBOL drivers/gpu/drm/drm 0x74eaf26b drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x75a2ee8c drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7751e0b3 drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x778b097f drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77a5c82a drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77d6ec9e drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77e4ba9d drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ac2ce00 drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b293f26 drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7bebdca7 drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c4933cb drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c545285 drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c69ee05 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e0e1f9e drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e65b3f2 drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edf470b drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7eef3c89 drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7f3a668a drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drmm_encoder_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff __drmm_universal_plane_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_aperture_remove_conflicting_pci_framebuffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_bridge_chain_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_client_framebuffer_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_client_modeset_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_color_lut_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_atomic_hdr_metadata_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_attach_dp_subconnector_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_attach_privacy_screen_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_attach_privacy_screen_provider +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_oob_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_commit_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_display_mode_from_cea_vic +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_edid_get_panel_id +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_file_get_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_framebuffer_unregister_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_match_cea_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_memcpy_from_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mm_scan_color_evict +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_of_crtc_port_mask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_of_find_possible_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_panel_of_backlight +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_plane_create_alpha_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_plane_get_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_prime_get_contiguous_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_rotation_simplify +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_send_event_timestamp_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_sysfs_connector_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_vblank_work_cancel_sync +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_vblank_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drm_writeback_connector_init_with_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff of_drm_find_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7fffffff of_drm_find_panel +EXPORT_SYMBOL drivers/gpu/drm/drm_cma_helper 0x01359399 drm_gem_cma_prime_import_sg_table_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_cma_helper 0x7423fd03 drm_gem_cma_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01925968 __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x01d447ff drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0263267d drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x03cd6beb drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x04c24ec1 drm_gem_cleanup_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x058e84db drm_fb_xrgb8888_to_xrgb2101010_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x07582dd6 drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x089752f8 drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0ac6f9a1 drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0b16881b drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0b6485c1 drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0d54c84a drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0edaf82d drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0fb3879b drm_fb_blit_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0fc20547 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0ffce3d2 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x14019298 drm_gem_simple_kms_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x16d6fd90 drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x18db07f0 drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x19e706cd drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1a40560b drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1af9aa5f drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1c90119a drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1d53c1e6 drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1e2437a2 drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1e36cc57 drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1fdc7f0b drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1fed7a93 drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x206c2a3b __drm_gem_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2101f77f drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x212b1d0e drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x23417cd8 drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x24604782 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x27029adc drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x28370ff6 drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x286da054 drm_fb_xrgb8888_to_rgb888_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2b46444e drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2bac2940 drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c048bb7 drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2e5e8bd5 drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2f9d7444 drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3091250a drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x30e52e08 __drmm_simple_encoder_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x315d2b6d drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x31fd37a3 drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x327ae743 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x33a5d344 drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3509cabd drm_fb_xrgb8888_to_rgb565_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3545a00c drm_connector_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x36c95379 drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3820a4ee drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x399b57ae drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3d8a05c0 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3e0af4dd drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3ea49b85 drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3f0213b5 drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3f19d9d8 drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x40f85c90 drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x41441ede drm_atomic_helper_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x415f3fec __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x42539d2f drm_fb_xrgb8888_to_rgb888 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x443428c3 drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x45065fde drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x45095eef drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x46f9106e drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4834906a drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x48e16f00 drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4b401730 drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4d27a71f drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4e0bf64c drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4e9f6a56 drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x50ce0ab6 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x561bc912 drm_gem_fb_begin_cpu_access +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x56665bab drm_gem_simple_kms_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x57aa6d5a drm_gem_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a05f5cc drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a52e806 __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5bec611c drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5ccc3e84 drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5cfe57a4 __drm_gem_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5d5863e3 drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5d8c8851 drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5e47b6fa drm_fb_memcpy_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5e4998bd drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x657c6ff2 drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x66a633c3 drm_gem_fb_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x66e613e3 __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x674ba7fe drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x68a09a17 drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b0b9550 drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b7bd589 drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6d26865c drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e6f9c6c drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e999b29 drm_gem_simple_kms_cleanup_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6ed80874 drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6edf2907 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7018fcc7 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x72602bd5 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7334aab7 drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x78d11c3f drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7dc748b0 drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7ddb2384 drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7e016d38 drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7e29117e drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7e37ae36 __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7e81aa94 drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff __drm_gem_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff devm_drm_of_get_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_clip_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_swab +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_xrgb8888_to_mono +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_fb_xrgb8888_to_rgb332 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_fb_end_cpu_access +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_fb_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_prepare_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_simple_kms_prepare_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_simple_kms_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_kms_helper_connector_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_rect_rotate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x121501eb mipi_dbi_display_is_on +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x1c73825d mipi_dbi_buf_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x2370c7ad mipi_dbi_enable_flush +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x36c5bcc4 mipi_dbi_spi_cmd_max_speed +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x4774631d mipi_dbi_command_read +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x515b0d55 mipi_dbi_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x5efd10f6 mipi_dbi_spi_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x67d8ae02 mipi_dbi_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x69f3234d mipi_dbi_spi_transfer +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7fffffff mipi_dbi_command_buf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7fffffff mipi_dbi_command_stackbuf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7fffffff mipi_dbi_dev_init_with_formats +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7fffffff mipi_dbi_hw_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7fffffff mipi_dbi_pipe_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7fffffff mipi_dbi_pipe_update +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7fffffff mipi_dbi_poweron_conditional_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7fffffff mipi_dbi_poweron_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x11386f0f drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x1822623a drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x1a4cf9b1 drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x6ce2f38f drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x1352b3e1 drm_gem_ttm_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x2e7e5721 drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x50b996e1 drm_gem_ttm_dumb_map_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x7fffffff drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x7fffffff drm_gem_ttm_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x1145de72 drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x150bc4c1 drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x2d31f3ac drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x3b621f89 drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x47ced4f5 drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x4a06da3c drmm_vram_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x560c87b9 drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x63e42653 drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7fffffff drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7fffffff drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7fffffff drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7fffffff drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7fffffff drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7fffffff drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7fffffff drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x7fffffff drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/rockchip/rockchipdrm 0x330e5692 rockchip_drm_wait_vact_end +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x0db2ddde drm_sched_suspend_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x29877bbd drm_sched_job_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x2af51b5b drm_sched_resubmit_jobs_ext +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x2b36d3fd drm_sched_stop +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x3596ad3e drm_sched_fault +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x3ebb6e81 to_drm_sched_fence +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x4e024089 drm_sched_resume_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x5bab9877 drm_sched_entity_push_job +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x72db9775 drm_sched_job_add_dependency +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7a25668b drm_sched_entity_set_priority +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7afaf64c drm_sched_entity_flush +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_dependency_optimized +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_entity_destroy +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_entity_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_entity_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_entity_modify_sched +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_increase_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_increase_karma_ext +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_job_add_implicit_dependencies +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_job_arm +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_job_cleanup +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_pick_best +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_reset_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_resubmit_jobs +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7fffffff drm_sched_start +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x00d4283c ttm_range_man_init_nocheck +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0de476c2 ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x13790457 ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x14c013d6 ttm_bo_move_sync_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x14c097eb ttm_resource_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1814834d ttm_resource_manager_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1a71d30c ttm_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x23adff16 ttm_bo_vm_access +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x24f87ae1 ttm_bo_vmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x34dd7c5c ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3b8441b9 ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3bd173ce ttm_pool_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x454d6fa4 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4afacd66 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4cdb9dd9 ttm_resource_manager_create_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4fbc509a ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x55bf19d4 ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x56c8777b ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5f90cfb8 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x66adcf02 ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6e4f7b6f ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x70097692 ttm_kmap_iter_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x720447b0 ttm_global_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x75c1a361 ttm_pool_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x777ba054 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7a91e590 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7b49680f ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7bd474cc ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7eea6ce7 ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fcfae8f ttm_pool_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_pin +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_set_bulk_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_unpin +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_vm_dummy_page +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_bo_vunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_device_clear_dma_mappings +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_device_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_device_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_kmap_iter_iomap_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_lru_bulk_move_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_lru_bulk_move_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_range_man_fini_nocheck +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_resource_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_resource_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_resource_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_resource_manager_debug +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_resource_manager_evict_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_resource_manager_usage +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7fffffff ttm_tt_init +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x0466252b host1x_syncpt_get +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x060018b2 host1x_channel_request +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x061d284d host1x_syncpt_release_vblank_reservation +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x072cfd92 host1x_channel_stop +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x08ebada5 host1x_job_get +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x0f51a2c0 host1x_syncpt_read +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x15e82fd2 host1x_syncpt_wait +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x1c8d556b host1x_syncpt_get_by_id_noref +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x1cd2d1eb host1x_syncpt_incr_max +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x3211888e host1x_client_resume +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x365c3c69 host1x_job_submit +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x39f2cb23 host1x_job_pin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x3dfd071b host1x_driver_register_full +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x401ed2e0 host1x_syncpt_get_by_id +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x4dfa1957 host1x_syncpt_get_base +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x51de13ce host1x_syncpt_base_id +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x57553ccd host1x_fence_create +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x5a9f39a9 host1x_device_exit +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x5b8526d8 host1x_syncpt_put +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x689f3cce host1x_job_put +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x6bf356f8 host1x_client_suspend +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x72e78e54 tegra_mipi_start_calibration +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x754becac host1x_channel_get +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7687adbe host1x_client_exit +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff __host1x_client_init +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff __host1x_client_register +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_bo_pin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_bo_unpin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_channel_put +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_client_unregister +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_device_init +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_driver_unregister +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_get_dma_mask +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_job_add_gather +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_job_add_wait +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_job_alloc +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_job_unpin +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_syncpt_alloc +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_syncpt_id +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_syncpt_incr +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_syncpt_read_max +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_syncpt_read_min +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff host1x_syncpt_request +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff tegra_mipi_disable +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff tegra_mipi_enable +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff tegra_mipi_finish_calibration +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff tegra_mipi_free +EXPORT_SYMBOL drivers/gpu/host1x/host1x 0x7fffffff tegra_mipi_request +EXPORT_SYMBOL drivers/hid/hid 0x474141ce hid_bus_type +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x2f9e7f8e vid_which_vrm +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x446615bd vid_from_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x01568393 sch56xx_read_virtual_reg +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x7fffffff sch56xx_read_virtual_reg12 +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x7fffffff sch56xx_read_virtual_reg16 +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x7fffffff sch56xx_watchdog_register +EXPORT_SYMBOL drivers/hwmon/sch56xx-common 0x7fffffff sch56xx_write_virtual_reg +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x07f93376 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x7fffffff i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x7fffffff i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x0615fb8d i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x7fffffff i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x7fffffff amd756_smbus +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x10a4c688 qcom_adc5_hw_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x1fcd0103 qcom_adc_tm5_gen2_temp_res_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x39885d6b qcom_adc_tm5_temp_volt_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x401dc869 qcom_vadc_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x47f699dd qcom_adc5_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x4e64cdb9 qcom_adc5_hw_settle_time_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x53546ecd qcom_adc5_avg_samples_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x70e6eca1 qcom_vadc_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x7fffffff qcom_adc5_prescaling_from_dt +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x63b594eb iio_triggered_buffer_cleanup +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x7fffffff iio_triggered_buffer_setup_ext +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x552c2c8c iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0x7475f8cc iio_kfifo_free +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x7489ac8f mpu3050_common_remove +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x783fe495 mpu3050_common_probe +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x7fffffff mpu3050_dev_pm_ops +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x0c86d610 hts221_pm_ops +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x26ee096c hts221_probe +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0x4f89f848 bmi160_regmap_config +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0x7fffffff bmi160_enable_irq +EXPORT_SYMBOL drivers/iio/imu/fxos8700_core 0x7fffffff fxos8700_regmap_config +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0x0b356fb4 st_lsm6dsx_probe +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0x684b2cff st_lsm6dsx_pm_ops +EXPORT_SYMBOL drivers/iio/industrialio 0x0f54436c iio_trigger_validate_own_device +EXPORT_SYMBOL drivers/iio/industrialio 0x1299476f iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x1749c9ef iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x25a29da5 iio_device_get_clock +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x3a5f3384 iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x3c12761d iio_read_mount_matrix +EXPORT_SYMBOL drivers/iio/industrialio 0x3f2b77e3 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0x5a1bf49f iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x6210dd81 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x6c09515a iio_trigger_set_immutable +EXPORT_SYMBOL drivers/iio/industrialio 0x7738fc67 iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x790277ef iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff __iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff __iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_device_set_clock +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_get_time_ns +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_get_time_res +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0x7fffffff iio_trigger_using_own +EXPORT_SYMBOL drivers/iio/industrialio-configfs 0x7fffffff iio_configfs_subsys +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x00d49d86 iio_sw_device_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x3e5c3090 iio_sw_device_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x7fffffff iio_register_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x7fffffff iio_unregister_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x1c3fbb91 iio_sw_trigger_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x5cecb0af iio_unregister_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x7fffffff iio_register_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x7fffffff iio_sw_trigger_destroy +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x7fffffff iio_triggered_event_cleanup +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x7fffffff iio_triggered_event_setup +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x32ccdc11 bmp280_dev_pm_ops +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x5cf342f6 bmp180_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x6f2b6dd2 bmp280_common_probe +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x7fffffff bmp280_regmap_config +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x02900ec6 ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x05d62366 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0ca2f542 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x4ad3c8f9 ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x4e08f557 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x735927c3 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7fffffff ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7fffffff ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7fffffff ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7fffffff ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7fffffff ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7fffffff ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7fffffff ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7fffffff ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x7fffffff ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00cd25ea ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x01b880f9 rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x02f86ae8 rdma_link_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x062a84f9 ib_port_immutable_read +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x066cf0e5 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x069da4cc ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0714f1e1 ib_qp_usecnt_dec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x09811267 rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0b3aad9e rdma_restrack_parent_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0bd124ba ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0d749cf3 ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0deff278 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0eb6b139 ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0feba3b2 rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1332687c ib_create_qp_kernel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1392609f rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x13b88c12 ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x187f6ad7 ib_destroy_wq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x188ee9fc rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1ab4ea9f ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b037462 __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b8a759e rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1d9286b5 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x20c41729 rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22d4eb33 ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x23041ee3 __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b93cb24 rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ea317a3 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2f384613 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x314c9037 ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x31ba1b4c ib_port_unregister_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x33bb231d ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x34578d20 ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x35587003 rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x35c61a88 ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x36a9293d ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x39e2bfbf rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3a0362e2 rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3b6bee39 ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3ccf6460 _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3cf64ba4 ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3e0b06bf ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3e267181 ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3edeeb1e ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3faa07b8 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4007153f rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4052742a rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x41cf03de rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4265d648 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x434c5d10 zgid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x43a21f55 ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45f9ec63 rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4715be23 rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x47e0b748 rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x48f21ce8 rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4b04f00b ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4c7ed37b ib_cq_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4ca9f206 ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4d2d7f8b ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4d427ef1 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e155af0 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e35e4f3 ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e90435c ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x520b2638 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x523ae3aa rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55bb02f3 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5690b107 ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x569c7c7c ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x57c7f80d ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58df5b94 ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x59b5fd24 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5afe3c0f ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5f74ed1a ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5fa4df46 rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x613b1e2e ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x616ea62e ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61d24c52 ib_rate_to_mbps +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x63251663 ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6581ca90 ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x65d75505 rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x665fa60c rdma_restrack_new +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x66832d0f ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6c29a14e ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6c98115c ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6d44581c ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6e2df2b0 rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x727d5c1c ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7350f9c5 __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x759ab93c ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x76165443 rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x76f40972 ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7883deb9 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7902a996 rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x79bba0f5 ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x79fcad16 ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7aa0052d ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7ac7dfa3 ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7c13659b ib_dealloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7cc694e6 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7d632b28 ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7e505597 rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7ebafb4f rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fa9fd3e rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fc364ca ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff __rdma_block_iter_next +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_alloc_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_alloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_cache_gid_parse_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_create_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_event_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_port_register_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_port_sysfs_get_ibdev_kobj +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_qp_usecnt_inc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_sa_unpack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ib_wc_status_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_alloc_hw_stats_struct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_free_hw_stats_struct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_move_grh_sgid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_query_gid_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_restrack_add +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_restrack_set_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fffffff roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x009ee160 uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x04b102e9 uverbs_copy_to_struct_or_zero +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x237aee30 ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x26514319 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x27bd38ba uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x36d72c6d ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3708de2b ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3761dd8e ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x388b2d84 ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3d3f4ac9 ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x40263412 ib_umem_get_peer +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x461583cb ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x4f34596f flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x54aec691 _uverbs_get_const_signed +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5c042c24 uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5d3dbc9f ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x6371cb86 ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x6a3ae652 uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x72083dbc ib_umem_activate_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x73f19bf9 uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fb13625 ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff _uverbs_get_const_unsigned +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff ib_register_peer_memory_client +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff ib_umem_dmabuf_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff ib_umem_dmabuf_get_pinned +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff ib_umem_dmabuf_map_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff ib_umem_dmabuf_unmap_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff ib_umem_odp_map_dma_and_lock +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff ib_umem_stop_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff ib_unregister_peer_memory_client +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7fffffff uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x01cfdda6 iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x59cb5168 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x72566292 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x7fffffff iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x7fffffff iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x7fffffff iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x7fffffff iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x7fffffff iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x7fffffff iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0b0a7247 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0e032bd1 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x11ec90de rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x12f582c3 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1902cfeb rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1de4c586 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x21c1fffb rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x264113d1 rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x34c6ef9f rdma_unlock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3d8fad19 rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x46eef0d7 rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4949a457 rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x49bc776a rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x621df810 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x66ab0a9a rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6ebb596b rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x71fe0556 rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x75f024fe rdma_lock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x78b013ef rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fae3504 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff __rdma_create_kernel_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_connect_locked +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_create_user_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_set_min_rnr_timer +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7fffffff rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x0971d7c5 rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x581aa9a2 rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x7edbef1a rtrs_clt_rdma_cq_direct +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x7fffffff rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x7fffffff rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x7fffffff rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x7fffffff rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x105d3ce6 rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x2510363a sockaddr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x67029a33 rtrs_addr_to_sockaddr +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x78171d72 rtrs_ib_dev_find_or_add +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x7fffffff rtrs_addr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x7fffffff rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x7fffffff rtrs_rdma_dev_pd_deinit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x1fcebe9e rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x2e2eb64a rtrs_srv_get_path_name +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x38508093 rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x788ca58e rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x7fffffff rtrs_srv_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x7fffffff rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/input/gameport/gameport 0x06e712b3 __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x128d4de7 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x213b2c28 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0x39166064 gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x43aa9d24 __gameport_register_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x54702753 gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7fffffff gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7fffffff gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x7fffffff gameport_unregister_port +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x2b8d863a iforce_init_device +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x7fffffff iforce_process_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x7fffffff iforce_send_packet +EXPORT_SYMBOL drivers/input/matrix-keymap 0x7fffffff matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x1276d8f5 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0x564fc7be ad714x_probe +EXPORT_SYMBOL drivers/input/misc/ad714x 0x7fffffff ad714x_enable +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x47fc05af cma3000_init +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x7fffffff cma3000_exit +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x7fffffff cma3000_resume +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x7fffffff cma3000_suspend +EXPORT_SYMBOL drivers/input/rmi4/rmi_core 0x4b961962 rmi_unregister_transport_device +EXPORT_SYMBOL drivers/input/sparse-keymap 0x1820fb3e sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0x6eb69ea7 sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x7fffffff sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x7fffffff sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0x7fffffff sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x0b35e8c8 ad7879_pm_ops +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x7fffffff ad7879_probe +EXPORT_SYMBOL drivers/interconnect/qcom/icc-smd-rpm 0x1ab6f1ab qnoc_probe +EXPORT_SYMBOL drivers/interconnect/qcom/icc-smd-rpm 0x4c7571ac qnoc_remove +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x6bc7502c capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7b03e9c8 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7fffffff attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7fffffff capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x7fffffff detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x27c58fd5 isdnhdlc_decode +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x4644eea5 isdnhdlc_out_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x5b835a58 isdnhdlc_rcv_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x7fffffff isdnhdlc_encode +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x4bd3d7ec mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x76564c8f mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x7e57bc65 mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x7fffffff mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x7fffffff mISDNisar_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x7fffffff mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03a68066 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x214adb0e recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x26236de8 mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x269e9066 mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2a919866 bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x30d25b0d mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x313b1fde mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3948548c recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x448d6a08 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5b5196a7 bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5bafaa6e mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6047df40 mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x618c2df3 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x70199bc8 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x78e2fefb recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7a6a36bf mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x7fffffff recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x01087af0 mISDN_dsp_element_unregister +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x7fffffff dsp_audio_law_to_s32 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x7fffffff dsp_audio_s16_to_law +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x7fffffff mISDN_dsp_element_register +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x54a12ec4 ti_lmu_common_set_ramp +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x7fffffff ti_lmu_common_get_brt_res +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x7fffffff ti_lmu_common_get_ramp_params +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x7fffffff ti_lmu_common_set_brightness +EXPORT_SYMBOL drivers/mailbox/mtk-cmdq-mailbox 0x7a5a36f4 cmdq_get_shift_pa +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x1321f1fe omap_mbox_enable_irq +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x3416aa16 omap_mbox_disable_irq +EXPORT_SYMBOL drivers/mailbox/omap-mailbox 0x7fffffff omap_mbox_request_channel +EXPORT_SYMBOL drivers/md/dm-log 0x091408fa dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x5901868a dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0x7fffffff dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x7fffffff dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x40031944 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x64a7763d dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x7fffffff dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x7fffffff dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x7fffffff dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x7fffffff dm_snap_cow +EXPORT_SYMBOL drivers/md/raid456 0x2395ea00 r5c_journal_mode_set +EXPORT_SYMBOL drivers/md/raid456 0x7fffffff raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x02302aa0 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x0533dc7c flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x0ff48a89 flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x1181b6d9 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x1784d6f9 flexcop_dump_reg +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x248d7691 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x470c9a99 flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x60d59a97 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7b186733 flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7fffffff flexcop_device_exit +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7fffffff flexcop_device_initialize +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7fffffff flexcop_device_kfree +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x7fffffff flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/common/cx2341x 0x00a3db8a cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/common/cx2341x 0x15ac1bd0 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/common/cx2341x 0x28240e61 cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/common/cx2341x 0x55aa7c5f cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x5f6e4aea cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/common/cx2341x 0x6a657b05 cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x7b4dd2cb cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/common/cx2341x 0x7fffffff cx2341x_handler_init +EXPORT_SYMBOL drivers/media/common/cx2341x 0x7fffffff cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/common/cx2341x 0x7fffffff cx2341x_log_status +EXPORT_SYMBOL drivers/media/common/cx2341x 0x7fffffff cx2341x_update +EXPORT_SYMBOL drivers/media/common/cypress_firmware 0x7fffffff cypress_load_firmware +EXPORT_SYMBOL drivers/media/common/ttpci-eeprom 0x23e95ec6 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/common/ttpci-eeprom 0x693e74ba ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/common/tveeprom 0x0dbf0296 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/common/tveeprom 0x36263081 tveeprom_read +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x065246b8 frame_vector_create +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1b700d37 put_vaddr_frames +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1d5f9555 frame_vector_destroy +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x2e676e2b vb2_verify_memory_type +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff frame_vector_to_pages +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff frame_vector_to_pfns +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff get_vaddr_frames +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_buffer_in_use +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x0abd2623 vb2_dvb_register_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x6053bc12 vb2_dvb_get_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x7fffffff vb2_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x7fffffff vb2_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x7fffffff vb2_dvb_find_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x7fffffff vb2_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-memops 0x7fffffff vb2_create_framevec +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-memops 0x7fffffff vb2_destroy_framevec +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-v4l2 0x51ad5f2a vb2_querybuf +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x05580cd9 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08733236 intlog10 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x0977874b dvb_frontend_suspend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x0e6dfb38 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x127b0fce dvb_frontend_resume +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1609d70c dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1ba00260 dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1e7a8283 dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1f36b2be dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x214d5b4e dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x28ca3b8d dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x29c1f1bf dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2c12c287 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2c9b0eae dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x2e06a61b dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x35cbb077 dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3b93d71a dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3fd96ba7 dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3fe8ff59 dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x42d15a1b dvb_ringbuffer_write_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5e00f885 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5f2b1d95 intlog2 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6baa0d9f dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6ff21bc3 dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7ac3b9d0 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_device_get +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_net_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_register_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_remove_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb-frontends/ascot2e 0x7fffffff ascot2e_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/atbm8830 0x7fffffff atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x41e9327c au8522_writereg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x490d774f au8522_readreg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x575fe2b1 au8522_sleep +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x6f6ec212 au8522_release_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x715651e7 au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x7fffffff au8522_analog_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x7fffffff au8522_get_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x7fffffff au8522_init +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x7fffffff au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_dig 0x7fffffff au8522_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/bcm3510 0x7fffffff bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22700 0x52cb70f2 cx22700_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22702 0x7fffffff cx22702_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24110 0x49db3a9d cx24110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x7fffffff cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x7fffffff cx24113_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24116 0x035c3e8b cx24116_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24120 0x40133099 cx24120_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x66fd088c cx24123_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x7fffffff cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2820r 0x7fffffff cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x39389959 cxd2841er_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x7847b1bb cxd2841er_attach_t_c +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2880/cxd2880 0x7fffffff cxd2880_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x553eb923 dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x7fffffff dib0070_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x7fffffff dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x7fffffff dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x7fffffff dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x1a308b2b dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x30c91a86 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x30eafa36 dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x3120ebc5 dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x472e81af dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x6a834825 dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x737d1b43 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7fffffff dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mb 0x7fffffff dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x23d04036 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x48616378 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x7fffffff dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x7fffffff dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x7fffffff dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x7fffffff dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x1249379f dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x61c4614f dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x7fffffff dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x7fffffff dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000p 0x576608f9 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib8000 0x7fffffff dib8000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x0c5a8473 dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x10ccf4da dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x3ad33b52 dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x597edc0f dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x59e5519f dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7ceab1df dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7fffffff dib9000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7fffffff dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7fffffff dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7fffffff dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7fffffff dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7fffffff dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x7fffffff dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x017fc34c dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x2c04de1f dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x3695c288 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x7fffffff dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x7fffffff dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/drx39xyj/drx39xyj 0x49337bf4 drx39xxj_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxd 0x7fffffff drxd_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxk 0x395c1dde drxk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ds3000 0x4433a9f1 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb-pll 0x7fffffff dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x0c3a733e dvb_dummy_fe_ofdm_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x7fffffff dvb_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x7fffffff dvb_dummy_fe_qpsk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ec100 0x7fffffff ec100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x3bc1243c helene_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x7fffffff helene_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/horus3a 0x33448e77 horus3a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6405 0x7fffffff isl6405_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6421 0x7fffffff isl6421_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6423 0x2de76dfa isl6423_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/itd1000 0x59b611a6 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ix2505v 0x7fffffff ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/l64781 0x2e6769c2 l64781_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lg2160 0x06fc2c98 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3305 0x08e1092a lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3306a 0x7fffffff lgdt3306a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt330x 0x627690c0 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gl5 0x0b336c7e lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gxx 0x312cd258 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh25 0x5f0be8d6 lnbh25_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh29 0x7fffffff lnbh29_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x7fffffff lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x7fffffff lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp22 0x7fffffff lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x17258591 m88ds3103_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x7fffffff m88ds3103_get_agc_pwm +EXPORT_SYMBOL drivers/media/dvb-frontends/m88rs2000 0x24e0eed4 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a16 0x7fffffff mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a20s 0x0a8c0fdd mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt312 0x7fffffff mt312_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt352 0x7fffffff mt352_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt200x 0x7fffffff nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt6000 0x7fffffff nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51132 0x4c0f2c7a or51132_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51211 0x7ae3b1a6 or51211_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1409 0x7fffffff s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1411 0x7fffffff s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x28ad5151 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x576d5576 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1432 0x7fffffff s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s921 0x263cada1 s921_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/si21xx 0x7fffffff si21xx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp887x 0x14be2101 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb0899 0x16a0c4ba stb0899_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6000 0x0f6713ed stb6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6100 0x7fffffff stb6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0288 0x7fffffff stv0288_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0297 0x7fffffff stv0297_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0299 0x0fa3afee stv0299_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x50138d41 stv0367ddb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x60e3937b stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x7fffffff stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0900 0x7fffffff stv0900_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv090x 0x7fffffff stv090x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110 0x425faca0 stv6110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110x 0x58a6fab3 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10021 0x422623fa tda10021_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10023 0x7fffffff tda10023_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10048 0x6ffefb4e tda10048_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x08c86af5 tda10046_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x33457581 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10086 0x4ee87d99 tda10086_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda665x 0x3a632934 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8083 0x3dca84b4 tda8083_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8261 0x7fffffff tda8261_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda826x 0x0f5792d6 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ts2020 0x7fffffff ts2020_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tua6100 0x7fffffff tua6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1820 0x541ee9fb ves1820_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1x93 0x1f33349a ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x07a7604f zd1301_demod_get_dvb_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x7fffffff zd1301_demod_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10036 0x7fffffff zl10036_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10039 0x153ffd52 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10353 0x7fffffff zl10353_attach +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x3754672d flexcop_dma_free +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x44c4cc34 flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x7fffffff flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x7fffffff flexcop_dma_config +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x7fffffff flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x7fffffff flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x7fffffff flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x5abfc64d bt878_start +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x7fffffff bt878 +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x7fffffff bt878_device_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x7fffffff bt878_num +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x7fffffff bt878_stop +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x7fffffff bttv_get_pcidev +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x7fffffff bttv_read_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x7fffffff bttv_sub_register +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x7fffffff bttv_sub_unregister +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x7fffffff bttv_write_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x00b50c4b dst_pio_disable +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x43a983fd dst_check_sum +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x447f2cef dst_error_recovery +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x5c8ec0d1 dst_error_bailout +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7125dcc9 read_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x748878ef dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7fffffff dst_attach +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7fffffff dst_comm_init +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7fffffff rdc_reset_state +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x7fffffff write_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst_ca 0x7fffffff dst_ca_attach +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x0d2a2d11 cx18_claim_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x0ded62d8 cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x1342ac15 cx18_release_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x3b4c0c4a cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x7fffffff cx18_ext_init +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x6ff7510d altera_ci_tuner_reset +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x7fffffff altera_ci_init +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x7fffffff altera_ci_irq +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x7fffffff altera_ci_release +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x2801348f cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x44b517f5 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x6d78e64f cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x79831050 cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x7fffffff cx25821_dev_get +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x7fffffff cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x7fffffff cx25821_riscmem_alloc +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x7fffffff cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x7fffffff cx25821_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x711dfbba vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x7fffffff vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x3530badc cx88_enum_input +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x64225b11 cx88_set_freq +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x735ebba5 cx88_video_mux +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x7fffffff cx88_querycap +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x1132175f cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x41272c43 cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x4f717ce1 cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x51104f25 cx8802_buf_queue +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x7fffffff cx8802_get_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x7fffffff cx8802_register_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x7fffffff cx8802_start_dma +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x041d836b cx88_wakeup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x15e0f3bf cx88_vdev_init +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x2b40deac cx88_set_scale +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x3df6ce38 cx88_core_get +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x4e9e9364 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x506bae6e cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x5edb7ae5 cx88_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x60233fdc cx88_newstation +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x6da2eeb9 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_audio_thread +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_core_irq +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_core_put +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_get_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_ir_start +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_ir_stop +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_reset +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_risc_buffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_set_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_shutdown +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7fffffff cx88_sram_channels +EXPORT_SYMBOL drivers/media/pci/ddbridge/ddbridge-dummy-fe 0x7fffffff ddbridge_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x027ec5e3 ivtv_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x1b2e690c ivtv_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x1d932de7 ivtv_release_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x259ca59a ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x31a66f86 ivtv_udma_setup +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x36de6196 ivtv_ext_init +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x56530d97 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x5cfbcaf0 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x699117c2 ivtv_vapi +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x6ec1c7a4 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7fffffff ivtv_api +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7fffffff ivtv_claim_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7fffffff ivtv_firmware_check +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7fffffff ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7fffffff ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7fffffff ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7fffffff ivtv_vapi_result +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x075a7d59 saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x1211df5d saa7134_devlist +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x235284aa saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x2a10d5bd saa_dsp_writel +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x35c1af08 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x617ed9d1 saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x730c4be3 saa7134_boards +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7f68c76e saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_set_gpio +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_ts_register +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/platform/chips-media/imx-vdoa 0x6671c6ea vdoa_context_configure +EXPORT_SYMBOL drivers/media/platform/chips-media/imx-vdoa 0x6ce9e4a5 vdoa_device_run +EXPORT_SYMBOL drivers/media/platform/chips-media/imx-vdoa 0x7fe3d6f9 vdoa_context_create +EXPORT_SYMBOL drivers/media/platform/chips-media/imx-vdoa 0x7fffffff vdoa_context_destroy +EXPORT_SYMBOL drivers/media/platform/chips-media/imx-vdoa 0x7fffffff vdoa_wait_for_completion +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-csc 0x28dee389 csc_dump_regs +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-csc 0x3dc58faf csc_set_coeff +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-csc 0x570f8abd csc_set_coeff_bypass +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-csc 0x7fffffff csc_create +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-sc 0x21b9b6b8 sc_set_hs_coeffs +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-sc 0x5ed12025 sc_create +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-sc 0x729931ed sc_set_vs_coeffs +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-sc 0x7fffffff sc_config_scaler +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-sc 0x7fffffff sc_dump_regs +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x07464bcf vpdma_add_cfd_block +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x132ca3bb vpdma_list_busy +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x1d513b04 vpdma_clear_list_stat +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x1e26321d vpdma_misc_fmts +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x1ee5d41c vpdma_add_in_dtd +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x3269c1e2 vpdma_add_sync_on_channel_ctd +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x3ab97eb5 vpdma_map_desc_buf +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x3b3f4afb vpdma_create_desc_list +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x48edbd90 vpdma_set_line_mode +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x49293b26 vpdma_yuv_fmts +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x4b80e1ca vpdma_set_frame_start_event +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x50ec40af vpdma_rgb_fmts +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x5772a9bf vpdma_unmap_desc_buf +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x5954a942 vpdma_create +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x60708dc6 vpdma_raw_fmts +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x690077b3 vpdma_hwlist_release +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x6ea95e2f vpdma_free_desc_buf +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x6edb7125 vpdma_get_list_mask +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x73ae3d42 vpdma_add_cfd_adb +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x77b38560 vpdma_set_max_size +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7a4fd3c1 vpdma_enable_list_complete_irq +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_add_abort_channel_ctd +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_add_out_dtd +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_alloc_desc_buf +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_dump_regs +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_free_desc_list +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_get_list_stat +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_hwlist_alloc +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_hwlist_get_priv +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_list_cleanup +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_rawchan_add_out_dtd +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_reset_desc_list +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_set_bg_color +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_submit_descs +EXPORT_SYMBOL drivers/media/platform/ti/vpe/ti-vpdma 0x7fffffff vpdma_update_dma_addr +EXPORT_SYMBOL drivers/media/radio/tea575x 0x072e61ed snd_tea575x_s_hw_freq_seek +EXPORT_SYMBOL drivers/media/radio/tea575x 0x2b2a3995 snd_tea575x_enum_freq_bands +EXPORT_SYMBOL drivers/media/radio/tea575x 0x49a9ec1c snd_tea575x_g_tuner +EXPORT_SYMBOL drivers/media/radio/tea575x 0x5853433a snd_tea575x_hw_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0x5e7bdae8 snd_tea575x_exit +EXPORT_SYMBOL drivers/media/radio/tea575x 0x7fffffff snd_tea575x_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0x7fffffff snd_tea575x_set_freq +EXPORT_SYMBOL drivers/media/rc/rc-core 0x01098f88 ir_raw_encode_scancode +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2985a3fd ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2fe55cf5 ir_raw_gen_pd +EXPORT_SYMBOL drivers/media/rc/rc-core 0x52092b20 ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7a02ee87 ir_raw_gen_pl +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7fffffff ir_raw_encode_carrier +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7fffffff ir_raw_gen_manchester +EXPORT_SYMBOL drivers/media/tuners/fc0011 0x7fffffff fc0011_attach +EXPORT_SYMBOL drivers/media/tuners/fc0012 0x7fffffff fc0012_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x1617b915 fc0013_rc_cal_add +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x388ec5fd fc0013_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x73b9f621 fc0013_rc_cal_reset +EXPORT_SYMBOL drivers/media/tuners/max2165 0x7fffffff max2165_attach +EXPORT_SYMBOL drivers/media/tuners/mc44s803 0x03f87b43 mc44s803_attach +EXPORT_SYMBOL drivers/media/tuners/mt2060 0x16bb1d27 mt2060_attach +EXPORT_SYMBOL drivers/media/tuners/mt2131 0x0b278f2f mt2131_attach +EXPORT_SYMBOL drivers/media/tuners/mt2266 0x542f6785 mt2266_attach +EXPORT_SYMBOL drivers/media/tuners/mxl5005s 0x076be49f mxl5005s_attach +EXPORT_SYMBOL drivers/media/tuners/qt1010 0x7fffffff qt1010_attach +EXPORT_SYMBOL drivers/media/tuners/tda18218 0x077463d2 tda18218_attach +EXPORT_SYMBOL drivers/media/tuners/tuner-types 0x4c48939e tuners +EXPORT_SYMBOL drivers/media/tuners/tuner-types 0x7fffffff tuner_count +EXPORT_SYMBOL drivers/media/tuners/xc2028 0x0305df78 xc2028_attach +EXPORT_SYMBOL drivers/media/tuners/xc4000 0x039b0564 xc4000_attach +EXPORT_SYMBOL drivers/media/tuners/xc5000 0x7df37496 xc5000_attach +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x32eebbc5 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x7fffffff cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x23236c78 dvb_usbv2_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x444957cb dvb_usbv2_suspend +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x482a5226 dvb_usbv2_reset_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x68baaa37 dvb_usbv2_probe +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x78cb4cce dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x7fffffff dvb_usbv2_disconnect +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x7fffffff dvb_usbv2_generic_rw_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x7fffffff dvb_usbv2_generic_write_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x7fffffff dvb_usbv2_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x3948a607 dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x65d933e3 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x65efa98c dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x7fffffff dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x7fffffff dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x7fffffff dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x7fffffff usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x341530cb rc_map_af9005_table +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x7fffffff af9005_rc_decode +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x7fffffff rc_map_af9005_table_size +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x206b8a29 dibusb_rc_query +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x2d68e733 dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x589a4859 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x7fffffff dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x7fffffff dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x7fffffff dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x7fffffff dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x7fffffff dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x7fffffff dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x7fffffff rc_map_dibusb_table +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x39333987 dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x7fffffff dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x2cfe1005 em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_register_extension +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x352f730a go7007_update_board +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x3a92c043 go7007_snd_remove +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x4ad8ee01 go7007_read_interrupt +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x5f055759 go7007_boot_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x7fffffff go7007_alloc +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x7fffffff go7007_parse_video_stream +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x7fffffff go7007_read_addr +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x7fffffff go7007_register_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x7fffffff go7007_snd_init +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x0109c90c gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x36c50e54 gspca_suspend +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x3fa5691f gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x48019dec gspca_frame_add +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x6b825dd9 gspca_dev_probe +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x7fffffff gspca_debug +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x7fffffff gspca_disconnect +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x7fffffff gspca_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x7fffffff gspca_resume +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x7fffffff tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x7fffffff tm6000_register_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0x7fffffff tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x4e661c69 ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0x65a11da3 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x148bac5a v4l2_async_subdev_nf_register +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x673dfd44 v4l2_async_nf_init +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x76dcd080 v4l2_async_nf_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x7fffffff v4l2_async_nf_register +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x7fffffff v4l2_async_register_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x7fffffff v4l2_async_unregister_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x5352d022 v4l2_m2m_resume +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x699ea403 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_buf_done_and_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_suspend +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x082737e8 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x089758db v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0c5d0240 v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1203dd6b video_ioctl2 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1c5e035e __v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1d37c89b v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x237d292b v4l2_ctrl_handler_init_class +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x24a5d1dc video_device_alloc +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x28b12cc9 v4l2_format_info +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2b19c675 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2dc0aff9 v4l2_ctrl_new_fwnode_properties +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2f4382eb v4l2_querymenu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x315de2cf v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x32d43420 v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3bdd0f94 v4l2_prio_change +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4064cfb5 v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4999adbf __v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x57b46c85 v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5f471afe v4l2_query_ext_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x62504fb5 __v4l2_ctrl_s_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6a945e10 v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6ab72b6d v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6dce6cab __video_register_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x70cbe129 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x724e076e v4l2_ctrl_radio_filter +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x72d42f9f v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7ec107aa __v4l2_ctrl_s_ctrl_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff __v4l2_ctrl_modify_range +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff __v4l2_ctrl_s_ctrl_string +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_g_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_get_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_new_std_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_new_std_menu_items +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_notify +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_request_complete +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_request_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_subdev_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_subdev_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_prio_close +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_prio_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_prio_max +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_queryctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_subdev_call_wrappers +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_subdev_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff video_devdata +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff video_device_release +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff video_device_release_empty +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x7fffffff video_unregister_device +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0x279e9d1a rpcif_manual_xfer +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0x2b3fe72a rpcif_hw_init +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0x780ef39b rpcif_sw_init +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0x7fffffff rpcif_dirmap_read +EXPORT_SYMBOL drivers/memory/renesas-rpc-if 0x7fffffff rpcif_prepare +EXPORT_SYMBOL drivers/memstick/core/memstick 0x0b2bd36c memstick_register_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x26ec87f8 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x31cbc3d3 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4a4e5778 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x51cb13f8 memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x68b684e3 memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x6e2e2c7e memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x707593c1 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x77263b3f memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7fffffff memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7fffffff memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7fffffff memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7fffffff memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x7fffffff memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x08bc12b4 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x113368a1 mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1bb919a8 mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1c793706 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1d17743f mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1d216d23 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1e8dab4b mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1f3b868a mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x219631f9 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2486be51 mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2abbc8aa mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x3d036e9f mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5b61a9f8 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x610b257e mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6d2c67f6 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6fb36343 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7145b6c2 mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x74a0134a mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x79565206 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x7fffffff mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x02d051a0 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x09a987dd mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x1f0cb40f mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x28231a5d mptscsih_host_attr_groups +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x2fa920d3 mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x35a7b119 mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3cf7a82c mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x58ef04a9 mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x60da572f mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x657ad9d6 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x705552ce mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x77d76f38 mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7f3bcada mptscsih_event_process +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_show_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7fffffff mptscsih_suspend +EXPORT_SYMBOL drivers/mfd/axp20x 0x7fffffff axp20x_device_probe +EXPORT_SYMBOL drivers/mfd/axp20x 0x7fffffff axp20x_device_remove +EXPORT_SYMBOL drivers/mfd/axp20x 0x7fffffff axp20x_match_device +EXPORT_SYMBOL drivers/mfd/dln2 0x10fd12c6 dln2_register_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0x6f3e8e31 dln2_unregister_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0x7fffffff dln2_transfer +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x66d17cdc pasic3_write_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x7b6c9071 pasic3_read_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x07eb5353 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x1aa99f6a mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x2c9ee2c4 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x32051caa mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x726a6494 mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x78f6a610 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7fffffff mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7fffffff mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7fffffff mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7fffffff mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x7fffffff mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/qcom_rpm 0x7fffffff qcom_rpm_write +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0x0c6ad2cf tps65010_config_vdcdc2 +EXPORT_SYMBOL drivers/mfd/tps65010 0x28485130 tps65010_config_vregs1 +EXPORT_SYMBOL drivers/mfd/tps65010 0x33739de7 tps65010_set_vib +EXPORT_SYMBOL drivers/mfd/tps65010 0x7fffffff tps65010_set_gpio_out_value +EXPORT_SYMBOL drivers/mfd/tps65010 0x7fffffff tps65010_set_led +EXPORT_SYMBOL drivers/mfd/tps65010 0x7fffffff tps65010_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0x7fffffff tps65010_set_vbus_draw +EXPORT_SYMBOL drivers/mfd/wm8994 0x37045ad7 wm8994_base_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x44b392f6 wm8958_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x4e3bd4d7 wm8994_irq_init +EXPORT_SYMBOL drivers/mfd/wm8994 0x7689296f wm8994_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x7fffffff wm1811_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x7fffffff wm8994_irq_exit +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x13ee022d ad_dpot_remove +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x62948d82 ad_dpot_probe +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x2fb85933 altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x3a9e77e1 c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0x68e807b3 c2port_device_register +EXPORT_SYMBOL drivers/misc/tifm_core 0x10cd4577 tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x342d1490 tifm_free_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x372507f2 tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0x39f86aa1 tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x4c4826e8 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0x50fe64a3 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x5c6d6f6d tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0x7fffffff tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x7fffffff tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x7fffffff tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x7fffffff tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x7fffffff tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x7fffffff tifm_unregister_driver +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x19344fa3 dw_mci_runtime_suspend +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x35cad34e dw_mci_remove +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x7fffffff dw_mci_probe +EXPORT_SYMBOL drivers/mmc/host/dw_mmc 0x7fffffff dw_mci_runtime_resume +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x2b1e6c9e mmc_spi_get_pdata +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0x7fffffff mmc_spi_put_pdata +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x1f0bee65 cfi_send_gen_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x23027823 cfi_build_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x46a17fca cfi_merge_status +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x508d9516 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x7fffffff cfi_build_cmd_addr +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x7fffffff cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x7fffffff cfi_udelay +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x7fffffff cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0x7fffffff mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x7fffffff lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x102603bc mtk_ecc_get_parity_bits +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x5437e775 mtk_ecc_disable +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x5de55d81 mtk_ecc_get_stats +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x6df58afb mtk_ecc_release +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x76e53683 mtk_ecc_wait_done +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x7fffffff mtk_ecc_adjust_strength +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x7fffffff mtk_ecc_enable +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x7fffffff mtk_ecc_encode +EXPORT_SYMBOL drivers/mtd/nand/ecc-mtk 0x7fffffff of_mtk_ecc_get +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0x248880a1 flexonenand_region +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0x46d7fa1e onenand_addr +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x1c18c916 denali_remove +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x30db096f denali_calc_ecc_bytes +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x7fffffff denali_init +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x00780bc6 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x104c2557 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x10536172 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x229bd4a1 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x28ec85c0 arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x3f37b692 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x50070020 free_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x593c0b15 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x674c3c66 alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x7fffffff arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x7fffffff arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x7fffffff arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x09470943 com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x7fffffff com20020_check +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x7fffffff com20020_netdev_ops +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0x14e92646 ctucan_resume +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0x7fffffff ctucan_probe_common +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0x7fffffff ctucan_suspend +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x039e25e1 b53_br_join +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0a009374 b53_eee_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0f978de3 b53_get_ethtool_phy_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x11014266 b53_vlan_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x16dba6a3 b53_get_strings +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x1e906bcb b53_set_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2fa919ae b53_phylink_mac_link_down +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x339cfeaf b53_port_event +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3d5ff27a b53_vlan_filtering +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4226efb3 b53_fdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x4c509a50 b53_imp_vlan_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x57c7c365 b53_mirror_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x590cd8c2 b53_brcm_hdr_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x5f75aa54 b53_get_sset_count +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x60e3d888 b53_get_tag_protocol +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x669c04b4 b53_br_leave +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x6dbcef4d b53_disable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x70f6e54d b53_phylink_mac_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_br_fast_age +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_br_flags +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_br_flags_pre +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_br_set_stp_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_configure_vlan +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_eee_enable_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_enable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_fdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_fdb_dump +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_get_ethtool_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_get_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_mdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_mdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_mirror_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_phylink_mac_link_up +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_setup_devlink_resources +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_switch_detect +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_switch_register +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7fffffff b53_vlan_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x06eafcde b53_serdes_link_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x6260867e b53_serdes_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x7fffffff b53_serdes_phylink_get_caps +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x7fffffff b53_serdes_phylink_mac_select_pcs +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x090e3dd3 lan9303_shutdown +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x5dbb558d lan9303_remove +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x7fffffff lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x7fffffff lan9303_register_set +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0x399b087b ksz8_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0x7fffffff ksz9477_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x1f00bc18 ksz_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x5a0da0ab ksz_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_switch_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x20b66c94 vsc73xx_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x6b375820 vsc73xx_shutdown +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x7fffffff vsc73xx_is_addr_valid +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x7fffffff vsc73xx_probe +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x13c22e57 xrs700x_switch_remove +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x19989cd0 xrs700x_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x2582e003 xrs700x_switch_register +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x7fffffff xrs7003e_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x7fffffff xrs7003f_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x7fffffff xrs7004e_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x7fffffff xrs7004f_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x7fffffff xrs700x_switch_shutdown +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x163eadd9 ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x199d2bac ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x4f63611f NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x5e46832c ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x679f95a5 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x72caa59e ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7fffffff __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7fffffff ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7fffffff ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x7fffffff ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/aquantia/atlantic/atlantic 0x7fffffff aq_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnxt/bnxt_en 0x7fffffff bnxt_ulp_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x1104fe46 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x03032bee cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0f9c9cb5 t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x14881303 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x2f29d1cb cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x3c88250d cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x3f91300e cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4f8beb92 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x50c6e922 t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x6acd2f8a cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x6c80d8ad dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x70a6c7b1 cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7fffffff cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7fffffff cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7fffffff cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7fffffff cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7fffffff t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x00fb3b4b cxgb4_get_srq_entry +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0f1a5528 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x15f9b230 cxgb4_port_e2cchan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x163d9336 cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x1ef57a10 cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x211228f5 cxgb4_smt_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2444512f cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x24668b86 t4_cleanup_clip_tbl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x2f2c3996 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3b647129 cxgb4_ring_tx_db +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3c7901b3 cxgb4_clip_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3d343f34 cxgb4_immdata_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4509e36f cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x47ca16b3 cxgb4_write_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x48787001 cxgb4_read_tpte +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4a89bd3f cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4cd86a51 cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4d5b28fc cxgb4_map_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50ee5c07 cxgb4_best_aligned_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x529e468d cxgb4_clip_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x54dcdc30 cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5d22a3df cxgb4_create_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x5faa6713 cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6117fa62 cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x697485e2 cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x797a4b33 cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fca152d cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_alloc_sftid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_check_l2t_valid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_create_server6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_inline_tx_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_l2t_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_read_sge_timestamp +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_reclaim_completed_tx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_remove_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_remove_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_smt_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_update_root_dev_clip +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7fffffff cxgb4_write_partial_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x1bdaafe1 cxgbi_tagmask_set +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x255ab30f cxgb_get_4tuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x2c028ef2 cxgbi_ppm_ppod_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x32d517c4 cxgbi_ppm_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x3a0b8bc9 cxgbi_ppm_make_ppod_hdr +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x5d8f8347 cxgb_find_route6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x7a489cb0 cxgbi_ppm_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x7e93e06d cxgbi_ppm_ppods_reserve +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x7fffffff cxgb_find_route +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x63d270a5 vnic_dev_unregister +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x65aa9672 vnic_dev_get_res_count +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x7fffffff enic_api_devcmd_proxy_by_index +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x7fffffff vnic_dev_get_pdev +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x7fffffff vnic_dev_get_res +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x7fffffff vnic_dev_register +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x0fcd7a7e be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x4e2e10d2 be_roce_mcc_cmd +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x596ee2d5 be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/freescale/enetc/fsl-enetc-ierb 0x7fffffff enetc_ierb_register_pf +EXPORT_SYMBOL drivers/net/ethernet/freescale/enetc/fsl-enetc-ptp 0x5431a304 enetc_phc_index +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x37470167 fun_reserve_irqs +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x7fffffff fun_dev_disable +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x7fffffff fun_dev_enable +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x7fffffff fun_release_irqs +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x7fffffff hnae_ae_register +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x7fffffff hnae_ae_unregister +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x7fffffff hnae_get_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x7fffffff hnae_put_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x7fffffff hnae_register_notifier +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x7fffffff hnae_reinit_handle +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hnae 0x7fffffff hnae_unregister_notifier +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns/hns_dsaf 0x7fffffff hns_dsaf_roce_reset +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x001031de hnae3_register_ae_dev +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x0374dd84 hnae3_unregister_ae_algo_prepare +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x2949f8a2 hnae3_register_ae_algo +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x3f5fb3e5 hnae3_unregister_ae_dev +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x5e2f300c hnae3_set_client_init_flag +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x7fffffff hnae3_register_client +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x7fffffff hnae3_unregister_ae_algo +EXPORT_SYMBOL drivers/net/ethernet/hisilicon/hns3/hnae3 0x7fffffff hnae3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x7fffffff iavf_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x7fffffff iavf_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/ice/ice 0x6dfaeca0 ice_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/intel/ixgbe/ixgbe 0x7fffffff ixgbe_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/marvell/prestera/prestera 0x3e29f38b prestera_device_register +EXPORT_SYMBOL drivers/net/ethernet/marvell/prestera/prestera 0x7fffffff prestera_device_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0c8e25c5 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0e345d2d set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0f664ec2 mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x13a26db1 mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1415a7a1 mlx4_gen_port_state_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1e5ac607 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x20579c24 mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x24854f3d mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2fb2d9ce mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x39c4af58 mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3b1b34df mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3dc6e0df mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x47fa85fc set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4842e7e6 mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x53040a31 mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x53b23a17 mlx4_SET_PORT_user_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5826ea28 mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5ed8e9fa mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6738f434 mlx4_sync_pkey_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x77ddee8a mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x78545a68 mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7a079118 mlx4_get_parav_qkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7a8369ba mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7f483d51 mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fb1607a mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fdde0b4 mlx4_handle_eth_header_mcast_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff get_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_SET_PORT_user_mtu +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_eqs_per_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_query_diag_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_test_async +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0031c62f mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0132c349 mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x05e490a4 mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x094d73aa mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0a755296 mlx5_vf_put_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0bd87750 mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0dd5f6a0 mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0f2495df __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x101f02d0 mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1048a16e mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x10d70b7c mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x144ca0e5 mlx5_cmd_out_err +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x14b7bbd2 mlx5_debugfs_get_dev_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x17a2a602 __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1909c43b mlx5_lag_is_shared_fdb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1db787dc mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1fbf356e mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2341e379 mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x23d61f62 mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x243fbc50 mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2590722f mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x27e7d8e6 mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2942b18c mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2b340161 mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2d22105e mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2e01f9e9 mlx5_core_alloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2eac5e77 mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3475821f __SCK__tp_func_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x355af51d mlx5_lag_get_num_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x36090bdb __traceiter_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x36e6ea55 mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x380073ac mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3a488011 mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3a6fb886 mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3c72f0aa mlx5_mpfs_add_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3cbce097 mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3eebcb2c mlx5_sriov_blocking_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x40f34ec6 mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x416cb9e7 mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x44b497f4 mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x469a66cb mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x476a0ab4 mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4af28c13 mlx5_is_roce_on +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4b518d56 mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4d5f5c07 __SCK__tp_func_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5048d7f8 mlx5_cmd_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x517539e0 mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x51b2ab3c __traceiter_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x52b5e610 mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x52ff1f4b __traceiter_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x53740d94 mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x55239627 mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x559ac38d __SCK__tp_func_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x55a513ee mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x56136732 mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x579c90c5 mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x585441e8 mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x595bec96 mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5c6e0bb2 mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5cb705d3 mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5de1b09f mlx5_rsc_dump_cmd_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5f853c02 mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5ff3835c mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x60152706 mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x60a3adb3 mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x60d0fe0e mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x61492bb7 mlx5_rl_are_equal +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x65365d93 mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x65e659f2 mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x66c26b06 mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x679a428f mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6842aaaf mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x68b7ad15 mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x69e42263 mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6d691ef0 mlx5_cmd_do +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7261330b __SCK__tp_func_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x72e652ae mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7358ed10 mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x739b573b mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x74a15d5b mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x752f9a7d mlx5_rsc_dump_next +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x764de790 __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x77ea850f mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x794e04da __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7b359a09 __SCK__tp_func_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7db5310c mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7f13ed88 __traceiter_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fc3016f mlx5_create_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __SCK__tp_func_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __SCK__tp_func_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __SCK__tp_func_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __SCK__tp_func_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __traceiter_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __traceiter_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __traceiter_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __traceiter_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __traceiter_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_create_flow_group +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_destroy_flow_group +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eswitch_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eswitch_get_vport_metadata_for_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_lag_get_peer_mdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_lag_is_master +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_mpfs_del_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_ib_port_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_rsc_dump_cmd_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_sriov_blocking_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_vf_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0x7fffffff mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0137f952 mlxsw_afk_values_add_buf +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02815b77 mlxsw_env_module_port_up +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02dfd3d0 mlxsw_afk_key_info_block_encoding_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x07abcc0c mlxsw_afa_block_append_trap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x087c0c78 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x088c47d5 mlxsw_core_skb_transmit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0ca34ccf mlxsw_core_max_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0f72bcc2 mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x10d3c264 mlxsw_core_port_is_xm +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x116fa910 mlxsw_core_ptp_transmitted +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x14e17bb4 mlxsw_linecards_event_ops_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x15801382 mlxsw_afk_key_info_put +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x18b0ad00 mlxsw_afa_block_append_police +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x19fa5852 mlxsw_core_flush_owq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1c6605f6 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1e091407 mlxsw_core_port_devlink_port_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1e7e7d42 mlxsw_core_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x202693f0 mlxsw_afa_block_cur_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x21daf3af mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2a4ddd44 mlxsw_env_get_module_power_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x326c1d2e mlxsw_core_rx_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x38185d87 mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3c108881 mlxsw_core_trap_state_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3f672008 mlxsw_reg_trans_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4036254f mlxsw_linecards_event_ops_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x406b4614 mlxsw_afa_block_append_counter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x43a9b87e mlxsw_afa_block_terminate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x47041e4e mlxsw_afk_key_info_blocks_count_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4b0bae55 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4e6be521 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x508923e3 mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x51b5769d mlxsw_env_module_overheat_counter_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5496a8da mlxsw_afa_block_append_mirror +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x55a65610 mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x55c5b7e1 mlxsw_core_traps_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x57e736af mlxsw_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5a099407 mlxsw_afa_block_append_qos_dscp +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5a939205 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5cf3dd79 mlxsw_core_bus_device_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5ff17b5c mlxsw_afa_block_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x618a30ab mlxsw_afa_block_commit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x63874d4c mlxsw_core_port_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x65e16da4 mlxsw_afk_key_info_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6656d338 mlxsw_core_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6929f2b4 mlxsw_env_module_port_map +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73489011 mlxsw_afa_block_append_ip +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x75339042 mlxsw_core_lag_mapping_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77d83398 mlxsw_core_read_frc_l +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7b0bfeec mlxsw_core_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7ca5b4d4 mlxsw_afa_block_append_sampler +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7e08c6e0 mlxsw_core_event_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7f659d4c mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_activity_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_append_allocated_counter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_append_l4port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_append_mcrouter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_append_trap_and_forward +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_continue +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_first_kvdl_index +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_first_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_block_jump +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afa_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afk_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_afk_encode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_bus_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_cpu_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_emad_string_tlv_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_event_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_fw_rev_minor_subminor_validate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_lag_mapping_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_port_eth_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_resources_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_rx_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_schedule_dw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_schedule_work +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_skb_transmit_busy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_trap_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_trap_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_core_traps_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_env_get_module_eeprom +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_env_get_module_eeprom_by_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_env_module_port_down +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_env_module_port_unmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_env_reset_module +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_env_set_module_power_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_reg_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_reg_trans_bulk_wait +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_reg_trans_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7fffffff mlxsw_reg_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x7fffffff mlxsw_i2c_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x7fffffff mlxsw_i2c_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x348ff37a mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x7fffffff mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x00dee45b ocelot_deinit_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x02071e9b ocelot_vcap_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x031d75df ocelot_port_bridge_flags +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0601b6a2 ocelot_init_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0f399d4d ocelot_port_set_maxlen +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1034c39d ocelot_port_vlan_filtering +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x14644903 ocelot_init_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x14e76929 ocelot_ptp_rx_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x162a308e ocelot_xtr_poll_frame +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x19453204 vsc7514_vcap_is1_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1b304cb5 ocelot_port_lag_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1c0d71bc ocelot_sb_tc_pool_bind_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1dd168c5 ocelot_get_ts_info +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1f82ea89 ocelot_port_bridge_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x26e6f199 ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x274a0e05 ocelot_port_fdb_do_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x279977a9 ocelot_port_mdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2cd0a46c ocelot_sb_occ_max_clear +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2d3af181 ocelot_drain_cpu_queue +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2ee2eeab ocelot_vcap_block_find_filter_by_id +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x357dbf37 ocelot_get_txtstamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x393e4dac ocelot_ptp_verify +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x395ddac3 ocelot_hwstamp_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3a1b7c1a ocelot_mrp_del_ring_role +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3cc5fa73 ocelot_port_pre_bridge_flags +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3ff8d4b3 ocelot_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x40209ecf ocelot_fdb_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x420c0fbc ocelot_sb_port_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4271543f vsc7514_vcap_es0_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4315ee0e ocelot_hwstamp_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x47f703f5 ocelot_fdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x51361705 ocelot_bridge_stp_state_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x555ccd61 ocelot_ptp_adjtime +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x5c81a2ff ocelot_mrp_add_ring_role +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x67582f7d ocelot_devlink_sb_register +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x68748904 ocelot_deinit +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x693ae199 ocelot_sb_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6aa21cc4 ocelot_vcap_filter_replace +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6ba34391 ocelot_get_strings +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6fe00788 ocelot_sb_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x74adb196 ocelot_deinit_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7a54e1d5 ocelot_port_txtstamp_request +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7e5a482a ocelot_vcap_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7f4ccc0a ocelot_sb_occ_snapshot +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_can_inject +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_devlink_sb_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_fdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_get_ethtool_stats +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_get_sset_count +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_ifh_port_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_mact_forget +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_mact_learn +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_mact_learn_streamdata +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_mact_lookup +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_mrp_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_mrp_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_policer_validate +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_inject_frame +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_lag_change +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_lag_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_mdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_ptp_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_ptp_gettime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_ptp_settime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_sb_occ_port_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_sb_occ_tc_port_bind_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_sb_port_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_sb_tc_pool_bind_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_set_ageing_time +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_vcap_filter_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_vcap_filter_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_vlan_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_vlan_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_vlan_prepare +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_ana_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_dev_gmii_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_ptp_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_qs_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_qsys_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_rew_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_sys_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_vcap_es0_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_vcap_is1_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_vcap_is2_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_vcap_is2_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff vsc7514_vcap_regmap +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x1bf6e924 qed_get_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x4f264472 qed_put_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x6abdde9b qed_get_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x7fffffff qed_get_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x7fffffff qed_put_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x7fffffff qed_put_fcoe_ops +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x0fda1573 hdlcdrv_register +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x57420227 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x603646c1 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x7fffffff hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x7fffffff hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/mdio 0x3e17f466 mdio_set_flag +EXPORT_SYMBOL drivers/net/mdio 0x60443957 mdio45_probe +EXPORT_SYMBOL drivers/net/mdio 0x63e0fee5 mdio45_links_ok +EXPORT_SYMBOL drivers/net/mdio 0x7fffffff mdio45_ethtool_gset_npage +EXPORT_SYMBOL drivers/net/mdio 0x7fffffff mdio45_ethtool_ksettings_get_npage +EXPORT_SYMBOL drivers/net/mdio 0x7fffffff mdio45_nway_restart +EXPORT_SYMBOL drivers/net/mdio 0x7fffffff mdio_mii_ioctl +EXPORT_SYMBOL drivers/net/mdio/mdio-mscc-miim 0x7fffffff mscc_miim_setup +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0x303012ca lynx_get_mdio_device +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0x7fffffff lynx_pcs_create +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0x7fffffff lynx_pcs_destroy +EXPORT_SYMBOL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/ppp/pppox 0x7fffffff pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0x7fffffff pppox_unbind_sock +EXPORT_SYMBOL drivers/net/ppp/pppox 0x7fffffff register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0x7fffffff unregister_pppox_proto +EXPORT_SYMBOL drivers/net/sungem_phy 0x7fffffff sungem_phy_probe +EXPORT_SYMBOL drivers/net/team/team 0x2ea216fe team_options_unregister +EXPORT_SYMBOL drivers/net/team/team 0x34084b46 team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0x37fbc7a1 team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/team/team 0x7fffffff team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0x7fffffff team_modeop_port_enter +EXPORT_SYMBOL drivers/net/team/team 0x7fffffff team_option_inst_set_change +EXPORT_SYMBOL drivers/net/team/team 0x7fffffff team_options_change_check +EXPORT_SYMBOL drivers/net/team/team 0x7fffffff team_options_register +EXPORT_SYMBOL drivers/net/usb/usbnet 0x0587feb2 usbnet_manage_power +EXPORT_SYMBOL drivers/net/usb/usbnet 0x7fffffff usbnet_device_suggests_idle +EXPORT_SYMBOL drivers/net/usb/usbnet 0x7fffffff usbnet_link_change +EXPORT_SYMBOL drivers/net/wan/hdlc 0x09fa9bba detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x2fc1a976 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wan/hdlc 0x3092022d register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x4ac0e9ca hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x552f9970 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x741ccbf2 hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7b3bfd92 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7fffffff attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7fffffff hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0x7fffffff unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0613a92d ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0b1ab353 ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x108b188f ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x279db2bf ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x2cdecd2d ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4571aea8 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x54ab8524 ath_hw_keysetmac +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x5cda405d ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x5de9a924 ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7fffffff ath_bus_type_strings +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7fffffff ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7fffffff ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7fffffff ath_is_mybeacon +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7fffffff ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7fffffff ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7fffffff ath_regd_find_country_by_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7fffffff ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x7fffffff dfs_pattern_detector_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x015e5db2 ath10k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x092beaa4 ath10k_ce_dump_registers +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0c0b9a8f ath10k_core_register +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0e897c07 ath10k_ce_deinit_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x13f4e182 ath10k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x14420024 ath10k_htt_rx_hl_indication +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2913f6e7 ath10k_ce_disable_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2962fa73 ath10k_ce_completed_send_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3382ce79 ath10k_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x37cf3aa7 ath10k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3ecd8c69 ath10k_htc_rx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3f759a87 ath10k_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x417e4bba ath10k_ce_free_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x44e3996c ath10k_core_napi_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x4dd0be8b ath10k_ce_per_engine_service_any +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5372591d ath10k_ce_rx_update_write_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x53db542f ath10k_print_driver_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x55df4631 ath10k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x5b8762cc ath10k_ce_cancel_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x60df8b56 ath10k_htc_notify_tx_completion +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x652dc47a ath10k_ce_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6577f4a2 ath10k_htc_process_trailer +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6611a4e2 __ath10k_ce_rx_num_free_bufs +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x68af3b30 ath10k_ce_alloc_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x72557852 ath10k_mac_tx_push_pending +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7d7993db ath10k_bmi_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7d992189 ath10k_bmi_read_memory +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff __ath10k_ce_send_revert +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff __tracepoint_ath10k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_alloc_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_completed_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_completed_recv_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_completed_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_enable_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_free_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_init_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_num_free_src_entries +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_revoke_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_send +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_ce_send_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_core_check_dt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_core_fetch_board_file +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_core_free_board_files +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_core_napi_sync_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_core_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_core_start_recovery +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_core_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_core_unregister +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_coredump_get_mem_layout +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_coredump_new +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_htc_tx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_htt_hif_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_htt_rx_pktlog_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_htt_t2h_msg_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_htt_txrx_compl_task +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7fffffff ath10k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x081ff4a6 __tracepoint_ath11k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x09bf3622 ath11k_ce_get_attr_flags +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x0bae6766 ath11k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x0f2e347a ath11k_pcic_get_ce_msi_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x16bcb322 ath11k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x19ea8c60 ath11k_pcic_free_irq +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x203b7b3e ath11k_core_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x2a463b50 ath11k_hal_srng_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x2a9e8db7 ath11k_core_pre_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x34401c6c ath11k_pcic_get_msi_address +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x4c03eda5 ath11k_pcic_ce_irqs_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x53c7a030 ath11k_pcic_ext_irq_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x57aad6eb ath11k_pcic_write32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x5aa49e07 ath11k_pcic_map_service_to_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x5ceea6e6 ath11k_pcic_config_irq +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x65d92ca4 ath11k_pcic_get_user_msi_assignment +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x66023c2e ath11k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x666596cd ath11k_core_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x692e775f ath11k_ce_cleanup_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x694c14aa ath11k_qmi_deinit_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7020f324 ath11k_pcic_init_msi_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x70c07c98 ath11k_pcic_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_ce_alloc_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_ce_free_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_ce_get_shadow_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_cold_boot_cal +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_core_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_core_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_core_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_debugfs_soc_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_dp_service_srng +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_hal_srng_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_pcic_ce_irq_disable_sync +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_pcic_ext_irq_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_pcic_read32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_pcic_register_pci_ops +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x7fffffff ath11k_pcic_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x100f471d ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1354043d ath6kl_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x2be333ab ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x30752492 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3502feef ath6kl_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4e21f37c ath6kl_read_tgt_stats +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x57125e31 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x6f05c027 ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7fffffff ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7fffffff ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7fffffff ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7fffffff ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7fffffff ath6kl_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7fffffff ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7fffffff ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7fffffff ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x0cde19c4 ath9k_cmn_get_channel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x178df3ec ath9k_cmn_rx_skb_postprocess +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x188e8037 ath9k_cmn_process_rssi +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x332a49f2 ath9k_cmn_init_channels_rates +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3df09420 ath9k_cmn_debug_base_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x3e61a081 ath9k_cmn_spectral_scan_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x41aae67b ath9k_cmn_debug_stat_rx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x522c9352 ath9k_cmn_spectral_init_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x524abb54 ath9k_cmn_spectral_deinit_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x5b50ca55 ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x5ce4ef88 ath9k_cmn_reload_chainmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x65b63bd3 ath9k_cmn_spectral_scan_trigger +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_beacon_config_adhoc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_beacon_config_ap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_beacon_config_sta +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_debug_modal_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_debug_recv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_process_rate +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_rx_accept +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_setup_ht_cap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x7fffffff ath_cmn_process_fft +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0055da68 ar9003_is_paprd_enabled +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x006461a1 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0258eef2 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x08c93cfe ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x09a78cf9 ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x09c3b679 ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0c8323f2 ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f77dafc ath9k_hw_get_tsf_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0feaabb4 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1441f9ea ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x16852bd0 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1949a55b ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1fbee51d ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x21bad3cd ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x23a3e745 ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x23a8c33f ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2551fa25 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x28e2cf5d ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2940067c ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2ec53828 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3033ddf8 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3550e176 ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x37203d91 ath9k_hw_wow_wakeup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x373b77d1 ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x428bbf73 ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x44742d65 ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x44efeda5 ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4bd7a0e8 ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4fa7cd32 ath9k_hw_wow_apply_pattern +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x503f7438 ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x50bd14ef ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x51afcc38 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x53f9ad0c ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x57084b80 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x57bc2cd0 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x588fc593 ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5923be14 ar9003_mci_send_wlan_channels +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5db7819d ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5e78bc5f ath9k_hw_kill_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6064a685 ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x64245bd0 ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6520b72c ath9k_hw_gpio_request_out +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x65ac3bed ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x66c2ebd8 ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x696ecbd8 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x69c7d785 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6a9bb9d1 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6cea0d46 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6e41ee88 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x70672f46 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x710daded ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x769828ff ath9k_hw_loadnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x779a3e1f ar9003_hw_bb_watchdog_check +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x799921ce ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7e082f5b ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7e09ffe4 ar9003_mci_get_next_gpm_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fee88e6 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ar9003_mci_set_bt_version +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_btcoex_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_btcoex_set_concur_txprio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_check_nav +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_gpio_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_gpio_request_in +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_resume_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_set_tx_filter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_wow_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7fffffff ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x1450883d stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x67e9ced5 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x7fffffff atmel_open +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1576b9d8 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1906648e brcmu_boardrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1a682c88 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x6cf7224c brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x6d8c8cbc brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x78e1c869 brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_d11_attach +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_dotrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_pktq_pdeq_match +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x7fffffff brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x0c1ff5ba alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x250c9978 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x26cefb28 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x284c7293 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x2d02599a libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x3139e1b9 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x32807fff libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x5869968c libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x5a7be435 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x654e51a0 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6b30a838 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6d31de03 libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x71086e94 free_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7fffffff libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7fffffff libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7fffffff libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7fffffff libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7fffffff libipw_rx +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7fffffff libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x7fffffff libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0124e413 il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x044e1af5 il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0c0aeee5 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0f2b5ead il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x1409a133 il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x16265cfe il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x16d7fd4c _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x17242b45 il_init_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x19405a36 il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x20869b81 il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x23a06e20 il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x287f4b19 il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2946fac9 il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2bf7eea6 il_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2bfd72c0 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2d5e82c3 il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2ec8f394 il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x34a98235 il_leds_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x390517a9 il_mac_flush +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x397e5e60 il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3ec32717 il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416bd26a il_debug_level +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x42f3b14e il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x433abc60 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x43a6917e il_free_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4503b563 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x47adbecc il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4ae66682 il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x55c3ad60 il_mac_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x56fec7fe il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x571d20fe il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x57bfabe9 il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x65baa4c4 il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x67c16cd7 il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x70478ed8 il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7c7dd777 il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7cec98c1 il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7e887c34 il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7edba78b il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_apm_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_force_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_isr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_set_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_set_rate +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_update_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1c5036c0 __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x466ae44d __SCK__tp_func_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x6ff0d5fc __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7e60358e __traceiter_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7fffffff __SCK__tp_func_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7fffffff __SCK__tp_func_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7fffffff __traceiter_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7fffffff __traceiter_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x7fffffff __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x0ad69602 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x0f3664b5 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x20680b63 hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x2396cf3c hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x2a63bfbf hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x3fc4c4e0 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x45028d1c hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x465de69f hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x624a7e34 hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x67922581 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x6f8db634 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fb75891 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fffffff prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x11a729a7 free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x13050b08 __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x2eb6c80d orinoco_open +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x338052c5 __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x34a293b8 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x5128600e orinoco_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x5f163184 orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x65bf049c orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x6699b951 orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x7fffffff orinoco_up +EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0x7bc614cb mt76_wcid_key_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0x7fffffff rtl_btc_get_ops_pointer +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x03a8cc76 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x05cf960b _rtl92c_store_pwrindex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0bdf2a7a _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x10cdbe31 rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1e13e6f8 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1ee08e86 rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x22e974f9 _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2327d91c _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x391533f9 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3c6eb278 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3d658b45 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3f77b10c rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x4b17f261 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x50b9eda5 _rtl92c_phy_dbm_to_txpwr_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5616472b rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5a30513c rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5c5db477 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x614f5ce1 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x626b497e rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x6f5566c2 rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x72b7925b rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x733aab28 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x7fffffff rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x7fffffff rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x7fffffff rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x7fffffff rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x418050e8 rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x484fa67b rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x6323fc46 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x7fffffff rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x06ab468c rtl_hal_pwrseqcmdparsing +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x09be4ec7 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0b038e24 channel5g_80m +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0e040575 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x11f2a328 rtl_collect_scan_list +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1b945315 rtl_addr_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1c7277f6 rtl_wowlan_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2bcdad1c rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2ef4689b rtl_process_phyinfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30a956d7 rtl_query_rxpwrpercentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x320f3846 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3aa24dc1 efuse_one_byte_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3c761d1c efuse_shadow_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3d3ec7ac rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x418342a3 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x46c3a4b1 rtl_rx_ampdu_apply +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x521a76ed rtl_signal_scale_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x545adc40 rtl_cmd_send_packet +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54824f58 channel5g +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x55beee26 rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5e03eb36 rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x663a12d1 rtl_bb_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x696155ad rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x708d89de rtl_rfreg_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7ac0817c rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7f259444 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff efuse_power_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_c2hcmd_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_evm_db_to_percentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_mrate_idx_to_arfr_id +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8723d 0x7fffffff rtw8723d_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8821c 0x4861047e rtw8821c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0x3e410941 rtw8822b_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0x7fffffff rtw8822c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0086a4d2 rtw_parse_tbl_phy_cond +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0e90d332 rtw_phy_cfg_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0fdc749f rtw_bf_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x10068e71 rtw_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x11ab673a rtw_power_mode_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1832f2ec rtw_bf_set_gid_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1a756242 rtw_rx_stats +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x1f7791ed rtw_phy_parsing_cfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x256b88a2 rtw_fw_do_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2ef9d198 rtw_register_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x33b3f3c0 rtw_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3418e720 rtw_dump_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x36c5bfca rtw_disable_lps_deep_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4136f984 rtw_fw_c2h_cmd_rx_irqsafe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x43676ccf rtw_phy_set_edcca_th +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x440b7589 rtw_phy_rf_power_2_rssi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4636abe3 rtw_phy_cfg_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x463b9981 rtw_tx_report_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x519c8ba9 rtw_rate_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x523a7fbd rtw_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5310b4a5 rtw_phy_write_rf_reg_mix +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x58210e60 rtw_rate_section +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x588ab8c9 rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x59536ef9 rtw_phy_pwrtrack_need_lck +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x59982fc1 rtw_coex_write_scbd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5a34d48c rtw_parse_tbl_txpwr_lmt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5c7214e8 rtw_phy_cfg_agc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5cced949 rtw_rx_fill_rx_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5f539154 rtw_phy_write_rf_reg_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x620f2c89 rtw_restore_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6240f8f8 rtw_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6600ea07 rtw_phy_pwrtrack_thermal_changed +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6a165ec3 rtw_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6bbe8f8a rtw_fw_c2h_cmd_isr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6ca326dc rtw_bf_enable_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6e04e37d rtw_parse_tbl_bb_pg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6f6d5d4b rtw_bf_remove_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6f89256d rtw_fw_inform_rfk_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x71179efd rtw_phy_read_rf_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x713876f1 rtw_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x76f11ff4 __rtw_dbg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7d327700 rtw_phy_get_tx_power_index +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff check_hw_ready +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_bf_cfg_csi_rate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_bf_enable_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_coex_read_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_dump_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_phy_cfg_bb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_phy_config_swing_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_phy_load_tables +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_phy_pwrtrack_avg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_phy_pwrtrack_get_delta +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_phy_pwrtrack_get_pwridx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_phy_pwrtrack_need_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_phy_set_tx_power_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_read8_physical_efuse +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_regd_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_set_channel_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_set_rx_freq_band +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_tx_fill_tx_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_tx_write_data_h2c_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_tx_write_data_rsvd_page_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x7fffffff rtw_unregister_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x2213f7ba rtw_pci_shutdown +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x3b913d5d rtw_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x7fffffff rtw_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x7fffffff rtw_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_8852a 0x7fffffff rtw8852a_chip_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_8852c 0x2a1fe9ef rtw8852c_chip_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x03fdbe03 rtw89_phy_write_rf_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x08af249f rtw89_phy_write_reg3_tbl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x147e9afc rtw89_rs_nss_max +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x150e8c30 rtw89_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x16206e29 rtw89_core_rx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x1857d7ee rtw89_mac_coex_init_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x2157911d rtw89_mac_resume_sch_tx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x23f92bf7 rtw89_phy_write_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x24420d8e rtw89_fw_h2c_dctl_sec_cam_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x2526dc8f rtw89_core_fill_txdesc_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x2a06ee3f rtw89_mac_enable_bb_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x3e69a35d rtw89_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x4321609b rtw89_mac_cfg_gnt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x474e49cb rtw89_phy_get_txsc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x4cbfcc79 rtw89_phy_read_txpwr_byrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x527944e5 rtw89_mac_stop_sch_tx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x52d57217 rtw89_mac_disable_bb_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x556bc3fe rtw89_rfk_parser +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x59174e99 rtw89_core_query_rxdesc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x5b1a4a86 rtw89_core_fill_txdesc_fwcmd_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x619fae70 rtw89_mac_cfg_ctrl_path +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x61fccca9 rtw89_phy_fill_txpwr_limit_ru +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x65896263 rtw89_btc_ntfy_wl_rfk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x69cdd41b rtw89_mac_cfg_gnt_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6d40e19d rtw89_core_napi_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6e8f5a63 rtw89_mac_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6e9ce99c rtw89_core_fill_txdesc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6f38aa34 rtw89_mac_get_err_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6f523a9c rtw89_phy_read_txpwr_limit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7199e4d1 rtw89_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7d5751cd __rtw89_debug +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_core_napi_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_core_napi_start +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_core_napi_stop +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_core_register +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_core_unregister +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_fw_h2c_rf_ntfy_mcc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_mac_cfg_ctrl_path_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_mac_cfg_ppdu_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_mac_coex_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_mac_get_txpwr_cr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_mac_resume_sch_tx_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_mac_set_err_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_mac_stop_sch_tx_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_mac_write_xtal_si +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_phy_config_rf_reg_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_phy_fill_txpwr_limit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_phy_load_txpwr_byrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_phy_read_rf_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_phy_tssi_ctrl_set_bandedge_cfg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_phy_write32_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_rs_idx_max +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7fffffff rtw89_ser_notify +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x104de8e6 rtw89_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x26d619b8 rtw89_pci_enable_intr_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x30a1adf2 rtw89_pci_fill_txaddr_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x587ed3e4 rtw89_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x634edf8c rtw89_pci_recognize_intrs_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7197d698 rtw89_pci_enable_intr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_ch_dma_addr_set +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_ch_dma_addr_set_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_config_intr_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_config_intr_mask_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_disable_intr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_disable_intr_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_fill_txaddr_info_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_ltr_set +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_ltr_set_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pci_recognize_intrs +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7fffffff rtw89_pm_ops +EXPORT_SYMBOL drivers/net/wireless/rsi/rsi_91x 0x1f8e5a42 rsi_config_wowlan +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x0f7c463d wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x4dc12352 wl12xx_is_dummy_packet +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x541b7be0 wl1271_free_tx_id +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_tx_complete +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x442eb8b2 fdp_nci_probe +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x7fffffff fdp_nci_remove +EXPORT_SYMBOL drivers/nfc/microread/microread 0x51e4c19b microread_probe +EXPORT_SYMBOL drivers/nfc/microread/microread 0x6dc9ebed microread_remove +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x19ab1ff1 nxp_nci_fw_recv_frame +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x7fffffff nxp_nci_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x7fffffff nxp_nci_remove +EXPORT_SYMBOL drivers/nfc/pn533/pn533 0x7fffffff pn533_recv_frame +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x0a23494a pn544_hci_probe +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0x7fffffff pn544_hci_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x20411e7b s3fwrn5_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x37293430 s3fwrn5_recv_frame +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x533d3441 s3fwrn5_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x774203fc s3fwrn5_phy_set_wake +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x7fffffff s3fwrn5_phy_get_mode +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x7fffffff s3fwrn5_phy_power_ctrl +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x7fffffff s3fwrn5_phy_set_mode +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x07c0b070 st_nci_se_io +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x1c8e1e3a st_nci_se_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x2394d965 ndlc_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x38654457 ndlc_open +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x5e58f172 st_nci_se_deinit +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x632bc409 ndlc_close +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x7fffffff ndlc_recv +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x7fffffff ndlc_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x7fffffff ndlc_send +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x7fffffff st_nci_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x1f6d99e1 st21nfca_se_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x4f2ab870 st21nfca_hci_remove +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x5a4979de st21nfca_im_send_atr_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x5e57f4a5 st21nfca_dep_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x74bc9060 st21nfca_hci_discover_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x76a66a33 st21nfca_hci_probe +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7d04003b st21nfca_dep_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7fffffff st21nfca_apdu_reader_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7fffffff st21nfca_connectivity_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7fffffff st21nfca_dep_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7fffffff st21nfca_hci_disable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7fffffff st21nfca_hci_enable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7fffffff st21nfca_hci_loopback_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7fffffff st21nfca_hci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7fffffff st21nfca_im_send_dep_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7fffffff st21nfca_se_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7fffffff st21nfca_tm_send_dep_res +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7fffffff st21nfca_vendor_cmds_init +EXPORT_SYMBOL drivers/ntb/ntb 0x0b286d17 ntb_default_peer_port_idx +EXPORT_SYMBOL drivers/ntb/ntb 0x0e00ab22 ntbm_msi_request_threaded_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x1bf39043 ntb_msi_clear_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x3075c0ba ntb_msg_event +EXPORT_SYMBOL drivers/ntb/ntb 0x453f7ae9 ntb_default_peer_port_count +EXPORT_SYMBOL drivers/ntb/ntb 0x46c0843e ntb_default_peer_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0x682d1cfa ntb_unregister_device +EXPORT_SYMBOL drivers/ntb/ntb 0x6e83306b ntb_msi_peer_addr +EXPORT_SYMBOL drivers/ntb/ntb 0x78594692 ntb_register_device +EXPORT_SYMBOL drivers/ntb/ntb 0x7efba977 ntb_db_event +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff __ntb_register_client +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntb_clear_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntb_default_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntb_link_event +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntb_msi_init +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntb_msi_peer_trigger +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntb_msi_setup_mws +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntb_set_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntb_unregister_client +EXPORT_SYMBOL drivers/ntb/ntb 0x7fffffff ntbm_msi_free_irq +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x7cf12844 nvdimm_namespace_attach_btt +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x7fffffff nvdimm_namespace_detach_btt +EXPORT_SYMBOL drivers/parport/parport 0x128ea17d parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x14f6e574 parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x2b695450 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x38ccd31f parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x44135dbf parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x48906eea parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x490fd4da __parport_register_driver +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x4de7d913 parport_register_dev_model +EXPORT_SYMBOL drivers/parport/parport 0x593c8636 parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x5ea25275 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x6180cc2d parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x6fd334c3 parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x784c0d1f parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_claim +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_del_port +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_read +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_release +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0x7fffffff parport_write +EXPORT_SYMBOL drivers/parport/parport_pc 0x7fffffff parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0x7fffffff parport_pc_unregister_port +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x152fda33 pcmcia_get_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x1c780fab pcmcia_socket_list_rwsem +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x212db8d2 pcmcia_socket_list +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x35cf7948 pcmcia_unregister_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x4387a093 pcmcia_register_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x504ae783 pccard_register_pcmcia +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x52ba58a1 pcmcia_put_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x54ea8300 pcmcia_reset_card +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7fffffff dead_socket +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7fffffff pcmcia_get_socket_by_nr +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7fffffff pcmcia_parse_events +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7fffffff pcmcia_parse_uevents +EXPORT_SYMBOL drivers/pcmcia/pcmcia_core 0x7fffffff pcmcia_socket_class +EXPORT_SYMBOL drivers/pcmcia/pcmcia_rsrc 0x57710d2a pccard_static_ops +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x0014cb74 cros_ec_register +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x5088d02a cros_ec_suspend +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x7fffffff cros_ec_irq_thread +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x7fffffff cros_ec_resume +EXPORT_SYMBOL drivers/platform/chrome/cros_ec 0x7fffffff cros_ec_unregister +EXPORT_SYMBOL drivers/regulator/rohm-regulator 0x7fffffff rohm_regulator_set_dvs_levels +EXPORT_SYMBOL drivers/rpmsg/qcom_smd 0x3330a1c8 qcom_smd_unregister_edge +EXPORT_SYMBOL drivers/rpmsg/qcom_smd 0x7fffffff qcom_smd_register_edge +EXPORT_SYMBOL drivers/rpmsg/rpmsg_char 0x7fffffff rpmsg_chrdev_eptdev_create +EXPORT_SYMBOL drivers/rpmsg/rpmsg_char 0x7fffffff rpmsg_chrdev_eptdev_destroy +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x08ac68e5 rpmsg_trysend_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x0bfef70e rpmsg_find_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x128354db rpmsg_release_channel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x15f5f91a unregister_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x28b3bce1 rpmsg_register_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x2f596b47 rpmsg_class +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x3572271e rpmsg_send +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x463bc840 __register_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x52dd1f7b rpmsg_get_mtu +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7ca741ce rpmsg_sendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7fffffff rpmsg_create_channel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7fffffff rpmsg_create_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7fffffff rpmsg_destroy_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7fffffff rpmsg_poll +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7fffffff rpmsg_register_device_override +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7fffffff rpmsg_send_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7fffffff rpmsg_trysend +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7fffffff rpmsg_trysendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7fffffff rpmsg_unregister_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_ns 0x29c9370e rpmsg_ns_register_device +EXPORT_SYMBOL drivers/rtc/rtc-ds1685 0x7fffffff ds1685_rtc_poweroff +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x1329b8d2 scsi_esp_template +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x1b1d1f3f scsi_esp_register +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x4a29ab38 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x7cd6510f scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x7fffffff scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x107a653b fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x181b9fa1 fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x44fc01c5 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x67016632 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x67eec080 fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x6a11b9f7 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x051a876c fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0ca57ea8 fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x16894ac4 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1c2402b3 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1c6bd7c4 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1c790c1c fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x20c1e6d4 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2a477086 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x356f5302 fc_exch_update_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3b2ab960 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4185371c fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4a56d950 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x54773eb7 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5ab41f0c fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5b141754 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5b76ea89 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5d3aa345 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x63755c0c fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x65e38223 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x66b340e9 fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x66f0b2ab fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x69089618 fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6a4cde24 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6ed63598 fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6fae0322 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x73b499d0 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7bf7ce00 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7ebcf544 fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7f3407a7 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_disc_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_rport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_seq_assign +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_seq_release +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fffffff libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x1db3e190 sas_resume_ha_no_sync +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x7fffffff sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x7fffffff sas_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x7fffffff sas_suspend_ha +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x1bb66628 mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x7fffffff mraid_mm_adapter_app_handle +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0x7fffffff mraid_mm_unregister_adp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x10ffa314 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x1385ebd6 qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x1971cf8f qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x1cdc9c9c qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x279589e6 qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x500602bd qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x687e0281 qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x6c1fc92d qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x744dd76b qlt_abort_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x79425640 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x7fffffff qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x7fffffff qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/raid_class 0x739115cb raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x7fffffff raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0x7fffffff raid_component_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x0fe2ab36 fc_find_rport_by_wwpn +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x12213682 fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1a49bdbe fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x332fbe52 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x67d29ec3 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6ccb2355 fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x6fd33fda fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7257f3cf fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x78bdff6f fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7fffffff fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7fffffff fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7fffffff fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7fffffff fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7fffffff fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7fffffff fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7fffffff fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7fffffff scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x115f18a4 sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x1e81611e scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2db7f37a sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x2ef8993e sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x484f1c38 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x510b9354 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x642e0d75 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x67beb0cf sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7b46b154 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x7fffffff scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x01f8b2e9 spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x7f4af57d spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x7fffffff spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x7fffffff spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x7fffffff spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x5eb2f030 srp_reconnect_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x6acef10f srp_rport_get +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x7fffffff srp_rport_put +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x7fffffff srp_start_tl_fail_timers +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x7fffffff srp_timed_out +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x0f1c30e9 cmdq_pkt_poll +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x1e7fbd0e cmdq_pkt_set_event +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x1f75694f cmdq_pkt_write_s_value +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x25789b60 cmdq_pkt_write +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x331080d7 cmdq_pkt_clear_event +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x3f534bca cmdq_pkt_write_s_mask_value +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x44529db4 cmdq_pkt_poll_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x4bef25aa cmdq_pkt_assign +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x5e605e5d cmdq_pkt_write_s_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x66907959 cmdq_pkt_create +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x707fc9be cmdq_pkt_write_mask +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7fffffff cmdq_dev_get_client_reg +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7fffffff cmdq_mbox_create +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7fffffff cmdq_mbox_destroy +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7fffffff cmdq_pkt_destroy +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7fffffff cmdq_pkt_finalize +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7fffffff cmdq_pkt_flush_async +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7fffffff cmdq_pkt_jump +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7fffffff cmdq_pkt_read_s +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7fffffff cmdq_pkt_wfe +EXPORT_SYMBOL drivers/soc/mediatek/mtk-cmdq-helper 0x7fffffff cmdq_pkt_write_s +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0x7fffffff ocmem_allocate +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0x7fffffff ocmem_free +EXPORT_SYMBOL drivers/soc/qcom/ocmem 0x7fffffff of_get_ocmem +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0x1c76ea4d pdr_restart_pd +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0x432975e6 pdr_add_lookup +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0x47b2ed49 pdr_handle_alloc +EXPORT_SYMBOL drivers/soc/qcom/pdr_interface 0x7fffffff pdr_handle_release +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x0d0a80c5 geni_se_clk_tbl_get +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x1d09ed49 geni_se_tx_dma_unprep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x24cfb776 geni_icc_enable +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x303aa8cd geni_icc_get +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x5b9153fb geni_se_rx_dma_prep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x5c958e01 geni_se_tx_dma_prep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x72dc2f76 geni_se_config_packing +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7364e669 geni_se_rx_dma_unprep +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x75830bad geni_se_select_mode +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7af70ad5 geni_se_init +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7e60f3db geni_se_resources_off +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7fffffff geni_icc_disable +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7fffffff geni_icc_set_bw +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7fffffff geni_icc_set_tag +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7fffffff geni_se_clk_freq_match +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7fffffff geni_se_get_qup_hw_version +EXPORT_SYMBOL drivers/soc/qcom/qcom-geni-se 0x7fffffff geni_se_resources_on +EXPORT_SYMBOL drivers/soc/qcom/qcom_aoss 0x2333aed6 qmp_put +EXPORT_SYMBOL drivers/soc/qcom/qcom_aoss 0x7fffffff qmp_get +EXPORT_SYMBOL drivers/soc/qcom/qcom_aoss 0x7fffffff qmp_send +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x036cdda9 qmi_txn_cancel +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x133168aa qmi_encode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x21ce5888 qmi_response_type_v01_ei +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x38d5dfd5 qmi_send_request +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x3a7ac4db qmi_txn_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x3b1df823 qmi_handle_release +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x3f5336e9 qmi_handle_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x41a34d6a qmi_txn_wait +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x6b52c4bf qmi_add_lookup +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x7fffffff qmi_add_server +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x7fffffff qmi_decode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x7fffffff qmi_send_indication +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x7fffffff qmi_send_response +EXPORT_SYMBOL drivers/soc/qcom/smd-rpm 0x46bb046c qcom_rpm_smd_write +EXPORT_SYMBOL drivers/soc/qcom/smem 0x5a710273 qcom_smem_get_free_space +EXPORT_SYMBOL drivers/soc/qcom/smem 0x63ef36e3 qcom_smem_alloc +EXPORT_SYMBOL drivers/soc/qcom/smem 0x7fffffff qcom_smem_get +EXPORT_SYMBOL drivers/soc/qcom/smem 0x7fffffff qcom_smem_virt_to_phys +EXPORT_SYMBOL drivers/soc/qcom/wcnss_ctrl 0x7fffffff qcom_wcnss_open_channel +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x0f7392f7 sdw_nread +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x0fce8cda sdw_extract_slave_id +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x11846d4d sdw_slave_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x16d1706b sdw_prepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1deee061 sdw_find_row_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x24b7fcf8 sdw_slave_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x29a293af sdw_read +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x2cd44f25 sdw_write_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x37e2b5e7 sdw_stream_add_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x3b0a8582 sdw_startup_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x40a6669f sdw_stream_remove_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x41a18ea5 sdw_write +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x43f6fde5 sdw_nwrite +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x48dd0ac5 sdw_clear_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4cde88bf sdw_disable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x5166e710 sdw_read_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x553aeca5 sdw_stream_add_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x58fc45a1 sdw_stream_remove_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x5a7928dd sdw_update_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x60e31fbb sdw_find_col_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6a974840 sdw_update +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6f95b16b sdw_shutdown_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x71891d59 sdw_deprepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7dbf7c69 sdw_bus_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_alloc_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_bread_no_pm_unlocked +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_bus_exit_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_bus_master_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_bus_master_delete +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_bus_prep_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_bwrite_no_pm_unlocked +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_cols +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_compare_devid +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_enable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_handle_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_master_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_release_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7fffffff sdw_rows +EXPORT_SYMBOL drivers/ssb/ssb 0x09de8633 __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0x1415b00a ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x29311049 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x39c8a5e5 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0x466e59fd ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0x4c6ceb26 ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0x4cbd7b80 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x4f807fe8 ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x5897c835 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0x6e359c70 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_driver_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x7fffffff ssb_set_devtypedata +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x01abf2ce fbtft_write_vmem16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x07cd209a fbtft_write_gpio8_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x0c51c2a1 fbtft_probe_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x1e402769 fbtft_write_spi_emulate_9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x219292ec fbtft_write_vmem16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x234a1832 fbtft_write_reg8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x38ba8c89 fbtft_write_vmem16_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x3fc97e43 fbtft_register_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x4e7b5058 fbtft_write_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x71eccad4 fbtft_framebuffer_release +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7719ac2f fbtft_write_vmem8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7f7247fd fbtft_unregister_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_dbg_hex +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_framebuffer_alloc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_init_display +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_read_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_register_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_remove_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_unregister_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_write_buf_dc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_write_gpio16_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_write_gpio16_wr_latched +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_write_reg16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_write_reg16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x7fffffff fbtft_write_reg8_bus9 +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x6941c6e2 gbaudio_register_module +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x7146d2df gbaudio_module_update +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x7fffffff gbaudio_unregister_module +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0x7fffffff adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x1f2f0840 ade7854_probe +EXPORT_SYMBOL drivers/staging/media/av7110/sp8870 0x7fffffff sp8870_attach +EXPORT_SYMBOL drivers/staging/nvec/nvec 0x7fffffff nvec_write_async +EXPORT_SYMBOL drivers/staging/nvec/nvec 0x7fffffff nvec_write_sync +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x016619b0 rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x05487a28 rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x091004b8 rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0ea60f21 notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0f2dba13 RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1052cbfb rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x16e91f0f rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x17e3a171 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1a136dbd rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x1e3d0e25 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22166084 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x273a157c rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x3954afb2 rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x40d8d096 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x452f5578 rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4df7a59e rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x526252c8 rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x61e7e11c rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x68a76209 rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x6be3a16b rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7894712d rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x78ef23ba rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7d3ea0c3 free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff dot11d_channel_map +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7fffffff rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x03e27d1c ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0975ca37 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0c0262e2 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0d79e27d ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1fd1a8c9 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x20e39c84 ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3347124a ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3d67b557 ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x420cb41d ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x47c7f49a ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x49d08c17 ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4b5100a8 HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x52dc737a ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x5dcbb35a ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6125cb90 ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x66a19410 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x69bb84c3 rtl8192u_dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x73242604 SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x747f39ee to_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x77d3cc75 dot11d_update_country_ie +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff dot11d_get_max_tx_pwr_in_dbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff dot11d_reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff dot11d_scan_complete +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff is_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fffffff notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x068669dd iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x115223c2 iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x1598b6a2 iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x180ababb iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x18972dfe iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x19b5ab9a iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x25b0f4ee iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x27f18955 iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x2b3e9e62 iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3078b64e iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x33627696 iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x440f6ebd iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x46286e38 iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4d780d9e iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x53296735 iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x622d176c iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6ecf6234 iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x70f2e6c1 iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7c5a6834 iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7d526f39 iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsi_find_param_from_key +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_thread_check_cpumask +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7fffffff iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/target_core_mod 0x00992e37 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x03bb4ba3 target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x08ceb34a core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x0bfce17f transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x1943e928 sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x1e0090bf target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x1f8b97ad target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0x203dd0d5 target_tpg_has_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x2138a243 transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x273c26a0 core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x2a8d3927 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x326a4b23 transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x345e0257 transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3e5b687c target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0x3faa0a02 transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0x41705832 sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0x45892ca7 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x47a30520 transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x4c3fbfe9 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x4ce52b08 core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0x4dcd1779 target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x5b4e62fa target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x5bd65146 sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0x62cf4016 __target_init_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x638bffb7 target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x6816774a sbc_dif_verify +EXPORT_SYMBOL drivers/target/target_core_mod 0x69df03c2 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x712049d5 target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0x764cb446 target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a1d0d3c target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7bf67156 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x7d4dfdc0 target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff spc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_complete_cmd_with_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_stop_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fffffff transport_wait_for_tasks +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x0879e61e ufshcd_shutdown +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x1d1f9dd6 ufshcd_runtime_suspend +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x3880ee40 ufshcd_runtime_resume +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x4950cbc1 ufshcd_map_desc_id_to_length +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x59174dec ufshcd_system_resume +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x69746d2b ufshcd_alloc_host +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_get_local_unipro_ver +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_system_suspend +EXPORT_SYMBOL drivers/ufs/host/tc-dwc-g210 0x2eb6e9f1 tc_dwc_g210_config_20_bit +EXPORT_SYMBOL drivers/ufs/host/tc-dwc-g210 0x3417c6f1 tc_dwc_g210_config_40_bit +EXPORT_SYMBOL drivers/ufs/host/ufshcd-dwc 0x54f786a9 ufshcd_dwc_link_startup_notify +EXPORT_SYMBOL drivers/ufs/host/ufshcd-dwc 0x7fffffff ufshcd_dwc_dme_set_attrs +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x7fffffff usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/gadget/libcomposite 0x7fffffff usb_os_desc_prepare_interf_dir +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0x7fffffff sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x24dab19d usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x27d68fa5 usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x28de4a9b usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x34373a61 usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x46da2f3f usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x5481ea33 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7fffffff usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7fffffff usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7fffffff usb_wwan_port_remove +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7fffffff usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x7fffffff usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x6fa118eb usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0x7fffffff usb_serial_resume +EXPORT_SYMBOL drivers/vdpa/vdpa 0x79bdd34b vdpa_set_status +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x126226a2 mtype_get_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x4c2e0156 mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x659b703c mtype_get_type_group_id +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x7553c4f3 mdev_get_type_group_id +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x7bb21f80 mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x7fffffff mdev_register_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x7fffffff mdev_unregister_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x7fffffff mdev_unregister_driver +EXPORT_SYMBOL drivers/vhost/vhost 0x7fffffff vhost_chr_poll +EXPORT_SYMBOL drivers/vhost/vhost 0x7fffffff vhost_chr_write_iter +EXPORT_SYMBOL drivers/vhost/vringh 0x102c8234 vringh_iov_push_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x140ceb39 vringh_getdesc_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x221d4624 vringh_abandon_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x261fea85 vringh_set_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x26c60a08 vringh_notify_disable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x2e91ca97 vringh_iov_pull_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x367ce26a vringh_iov_push_user +EXPORT_SYMBOL drivers/vhost/vringh 0x4164520a vringh_notify_enable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x5dfbeba4 vringh_need_notify_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x723ab668 vringh_init_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x79b927f7 vringh_complete_multi_user +EXPORT_SYMBOL drivers/vhost/vringh 0x79c86ceb vringh_need_notify_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x7bda5e6d vringh_iov_push_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x7c007927 vringh_complete_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x7c2e8833 vringh_iov_pull_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_abandon_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_abandon_user +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_complete_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_complete_user +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_getdesc_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_getdesc_user +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_init_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_init_user +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_iov_pull_user +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_kiov_advance +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_need_notify_user +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_notify_disable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_notify_disable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_notify_enable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x7fffffff vringh_notify_enable_user +EXPORT_SYMBOL drivers/video/backlight/lcd 0x1340ccee devm_lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0x19925dcb lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x7fffffff devm_lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x7fffffff lcd_device_unregister +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x0fd99882 svga_get_tilemax +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x17f3f471 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x1be6dc30 svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x26e3b168 svga_settile +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x40e96b1f svga_get_caps +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x72da3550 svga_tileblit +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_check_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_compute_pll +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_match_format +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_set_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_tilecopy +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_tilecursor +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_tilefill +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_wcrt_multi +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x7fffffff svga_wseq_multi +EXPORT_SYMBOL drivers/video/fbdev/core/syscopyarea 0x6ef6202d sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0x471595e4 sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0x7fffffff sys_imageblit +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x52f5f43d cyber2000fb_attach +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x534b6f18 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x7fffffff cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0x1b8626ee mac_find_mode +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL drivers/video/fbdev/macmodes 0x7fffffff mac_map_monitor_sense +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x27aab7bf matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x7fffffff g450_mnp2f +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x7fffffff matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x22d085c4 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x533636ab DAC1064_global_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x7fffffff matrox_G100 +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x7fffffff matrox_mystique +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_Ti3026 0x3cfb3119 matrox_millennium +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_accel 0x7fffffff matrox_cfbX_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x7df46874 matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x7fffffff matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x7fffffff matroxfb_register_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x7fffffff matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x79e385b1 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x7fffffff matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x2d09dd4e matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x59f69ea2 matroxfb_read_pins +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x7fffffff matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x7fffffff matroxfb_var2my +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x7fffffff matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x7fffffff matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x00a20a27 omapdss_output_unset_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x00d37866 omap_dss_get_output +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x01ea132e dispc_runtime_put +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x03005606 omapdss_get_version +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x03bb654f omapdss_register_display +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x087c654a dss_mgr_enable +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x3082a0b3 dss_feat_get_supported_color_modes +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x322fd3f9 dss_mgr_disable +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x37e4e8a1 omap_dss_find_output +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x3a50573f dispc_ovl_check +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x3b431555 omapdss_output_set_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x3d36d54d dispc_mgr_set_lcd_config +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x3df618cb dss_mgr_set_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x42912b0c dispc_clear_irqstatus +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x45d74ef6 dispc_mgr_enable +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x47c54de6 omap_dss_find_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x4bd67a8d dispc_write_irqenable +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x4c33081d omapdss_compat_uninit +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x4e642219 dss_install_mgr_ops +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x51e1d250 dss_mgr_disconnect +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x54f6830a omapdss_get_default_display_name +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x5689afe7 dispc_ovl_enable +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x5d44f893 omapdss_find_mgr_from_display +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x636b3461 omap_dss_get_num_overlays +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x663293bf omap_dss_put_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x66cdd3c9 dispc_mgr_setup +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x66d68cdf omapdss_default_get_resolution +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x6b1a3090 omap_dss_ntsc_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x70e39dae dss_uninstall_mgr_ops +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x72af1399 omapdss_find_output_from_display +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_free_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_mgr_get_framedone_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_mgr_get_sync_lost_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_mgr_get_vsync_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_mgr_go +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_mgr_go_busy +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_mgr_is_enabled +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_mgr_set_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_ovl_enabled +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_ovl_set_channel_out +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_ovl_setup +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_read_irqenable +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_read_irqstatus +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_request_irq +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dispc_runtime_get +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dss_feat_get_num_mgrs +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dss_feat_get_num_ovls +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dss_mgr_connect +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dss_mgr_register_framedone_handler +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dss_mgr_set_lcd_config +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dss_mgr_start_update +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff dss_mgr_unregister_framedone_handler +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_dispc_register_isr +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_dispc_unregister_isr +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_dss_find_output_by_port_node +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_dss_get_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_dss_get_next_device +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_dss_get_num_overlay_managers +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_dss_get_overlay +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_dss_get_overlay_manager +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_dss_pal_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omap_video_timings_to_videomode +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omapdss_compat_init +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omapdss_default_get_recommended_bpp +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omapdss_default_get_timings +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omapdss_is_initialized +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omapdss_register_output +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omapdss_unregister_display +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omapdss_unregister_output +EXPORT_SYMBOL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff videomode_to_omap_video_timings +EXPORT_SYMBOL drivers/video/fbdev/sis/sisfb 0x3037658e sis_malloc +EXPORT_SYMBOL drivers/video/fbdev/sis/sisfb 0x7fffffff sis_free +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0x7fffffff save_vga +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x279d3f7b is_virtio_dma_buf +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x76f69340 virtio_dma_buf_export +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x7fffffff virtio_dma_buf_attach +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x7fffffff virtio_dma_buf_get_uuid +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x6182c6be w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0x7fffffff w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x53c820eb w1_ds2781_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x70d2c43b w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/wire 0x432ad3d9 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x4332e866 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x65ee316a w1_remove_master_device +EXPORT_SYMBOL drivers/w1/wire 0x7fffffff w1_register_family +EXPORT_SYMBOL fs/fscache/fscache 0x04c26dbd __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x1138c221 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x13aa8cd8 fscache_withdraw_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x187dc3b9 fscache_resume_after_invalidation +EXPORT_SYMBOL fs/fscache/fscache 0x1a0d09e7 fscache_n_write +EXPORT_SYMBOL fs/fscache/fscache 0x1a598025 __fscache_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x1c2861cf __fscache_begin_write_operation +EXPORT_SYMBOL fs/fscache/fscache 0x1d3c424a fscache_acquire_cache +EXPORT_SYMBOL fs/fscache/fscache 0x234a140d __traceiter_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x240dce1c fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x24d81932 fscache_end_volume_access +EXPORT_SYMBOL fs/fscache/fscache 0x281b5d85 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x28400bfa fscache_end_cookie_access +EXPORT_SYMBOL fs/fscache/fscache 0x28d2b4fe fscache_wait_for_operation +EXPORT_SYMBOL fs/fscache/fscache 0x28fd80f0 __fscache_write_to_cache +EXPORT_SYMBOL fs/fscache/fscache 0x306805d3 __SCK__tp_func_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x4404d2aa fscache_n_no_create_space +EXPORT_SYMBOL fs/fscache/fscache 0x4996bd29 fscache_n_updates +EXPORT_SYMBOL fs/fscache/fscache 0x4bd084ba __SCK__tp_func_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x56f03cdb fscache_cookie_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x64560402 __fscache_relinquish_volume +EXPORT_SYMBOL fs/fscache/fscache 0x6871e5cc __fscache_begin_read_operation +EXPORT_SYMBOL fs/fscache/fscache 0x6e416521 __SCK__tp_func_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x7234ad9e fscache_put_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x7250605c __tracepoint_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x79c17b43 fscache_addremove_sem +EXPORT_SYMBOL fs/fscache/fscache 0x7c4daa19 fscache_clearance_waiters +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __fscache_acquire_volume +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __fscache_clear_page_bits +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __fscache_resize_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __fscache_unuse_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __fscache_use_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __traceiter_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __traceiter_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __tracepoint_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff __tracepoint_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_caching_failed +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_dirty_folio +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_get_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_n_culled +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_n_no_write_space +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_n_read +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_relinquish_cache +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_withdraw_volume +EXPORT_SYMBOL fs/fscache/fscache 0x7fffffff fscache_wq +EXPORT_SYMBOL fs/netfs/netfs 0x21231769 netfs_write_begin +EXPORT_SYMBOL fs/netfs/netfs 0x5ac16d86 netfs_stats_show +EXPORT_SYMBOL fs/netfs/netfs 0x7fffffff netfs_read_folio +EXPORT_SYMBOL fs/netfs/netfs 0x7fffffff netfs_readahead +EXPORT_SYMBOL fs/netfs/netfs 0x7fffffff netfs_subreq_terminated +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x37d755da qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x463b0fce qtree_get_next_id +EXPORT_SYMBOL fs/quota/quota_tree 0x6ebc4727 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x7c9b6617 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x7fffffff qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x7fffffff qtree_write_dquot +EXPORT_SYMBOL lib/crc-itu-t 0x7fffffff crc_itu_t +EXPORT_SYMBOL lib/crc-itu-t 0x7fffffff crc_itu_t_table +EXPORT_SYMBOL lib/crc7 0x65aaf037 crc7_be_syndrome_table +EXPORT_SYMBOL lib/crc7 0x7fffffff crc7_be +EXPORT_SYMBOL lib/crypto/libarc4 0x2bb32ad1 arc4_setkey +EXPORT_SYMBOL lib/crypto/libarc4 0x7fffffff arc4_crypt +EXPORT_SYMBOL lib/crypto/libchacha 0x7fffffff chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x4c9268e1 xchacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x635b1a76 chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x64375eb4 chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x738d84bf xchacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x7fffffff chacha20poly1305_decrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x7fffffff chacha20poly1305_encrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x12627f15 curve25519_generic +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x4a5a8811 curve25519_null_point +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x7e6fdbfc curve25519_base_point +EXPORT_SYMBOL lib/crypto/libpoly1305 0x021f3700 poly1305_core_blocks +EXPORT_SYMBOL lib/crypto/libpoly1305 0x7fffffff poly1305_core_emit +EXPORT_SYMBOL lib/crypto/libpoly1305 0x7fffffff poly1305_core_setkey +EXPORT_SYMBOL lib/libcrc32c 0x7fffffff crc32c +EXPORT_SYMBOL lib/libcrc32c 0x7fffffff crc32c_impl +EXPORT_SYMBOL lib/lru_cache 0x03f599c7 lc_get_cumulative +EXPORT_SYMBOL lib/lru_cache 0x4092e01e lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0x4feade4b lc_create +EXPORT_SYMBOL lib/lru_cache 0x56fc3ea0 lc_put +EXPORT_SYMBOL lib/lru_cache 0x619ed575 lc_try_get +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_committed +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_del +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_destroy +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_element_by_index +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_find +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_get +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_index_of +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_is_used +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_reset +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_set +EXPORT_SYMBOL lib/lru_cache 0x7fffffff lc_try_lock +EXPORT_SYMBOL lib/lz4/lz4_compress 0x4f4d78c5 LZ4_compress_default +EXPORT_SYMBOL lib/lz4/lz4_compress 0x5bc92e85 LZ4_compress_destSize +EXPORT_SYMBOL lib/lz4/lz4_compress 0x6004858d LZ4_compress_fast +EXPORT_SYMBOL lib/lz4/lz4_compress 0x635ff76d LZ4_saveDict +EXPORT_SYMBOL lib/lz4/lz4_compress 0x749849d8 LZ4_loadDict +EXPORT_SYMBOL lib/lz4/lz4_compress 0x7fffffff LZ4_compress_fast_continue +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x4cc636f2 LZ4_loadDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x765fd165 LZ4_saveDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x7fffffff LZ4_compress_HC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x7fffffff LZ4_compress_HC_continue +EXPORT_SYMBOL lib/math/cordic 0x7e431c15 cordic_calc_iq +EXPORT_SYMBOL lib/objagg 0x0363233d objagg_obj_raw +EXPORT_SYMBOL lib/objagg 0x067fa594 objagg_create +EXPORT_SYMBOL lib/objagg 0x23865923 objagg_destroy +EXPORT_SYMBOL lib/objagg 0x24ca5ca9 objagg_obj_root_priv +EXPORT_SYMBOL lib/objagg 0x342aefe2 objagg_obj_delta_priv +EXPORT_SYMBOL lib/objagg 0x352633f4 objagg_hints_stats_get +EXPORT_SYMBOL lib/objagg 0x3c58e78f objagg_hints_put +EXPORT_SYMBOL lib/objagg 0x6691f29d objagg_obj_put +EXPORT_SYMBOL lib/objagg 0x7fffffff objagg_hints_get +EXPORT_SYMBOL lib/objagg 0x7fffffff objagg_obj_get +EXPORT_SYMBOL lib/objagg 0x7fffffff objagg_stats_get +EXPORT_SYMBOL lib/objagg 0x7fffffff objagg_stats_put +EXPORT_SYMBOL lib/parman 0x0f518717 parman_prio_init +EXPORT_SYMBOL lib/parman 0x7b03d378 parman_item_add +EXPORT_SYMBOL lib/parman 0x7fffffff parman_create +EXPORT_SYMBOL lib/parman 0x7fffffff parman_destroy +EXPORT_SYMBOL lib/parman 0x7fffffff parman_item_remove +EXPORT_SYMBOL lib/parman 0x7fffffff parman_prio_fini +EXPORT_SYMBOL lib/raid6/raid6_pq 0x0b2c64a3 raid6_vgfmul +EXPORT_SYMBOL lib/raid6/raid6_pq 0x17f54263 raid6_gfexp +EXPORT_SYMBOL lib/raid6/raid6_pq 0x59a2712d raid6_gfinv +EXPORT_SYMBOL lib/raid6/raid6_pq 0x7fffffff raid6_empty_zero_page +EXPORT_SYMBOL lib/raid6/raid6_pq 0x7fffffff raid6_gfexi +EXPORT_SYMBOL lib/raid6/raid6_pq 0x7fffffff raid6_gflog +EXPORT_SYMBOL lib/raid6/raid6_pq 0x7fffffff raid6_gfmul +EXPORT_SYMBOL net/6lowpan/6lowpan 0x169af8b3 lowpan_register_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0x52fd25f0 lowpan_nhc_add +EXPORT_SYMBOL net/6lowpan/6lowpan 0x6c0f3377 lowpan_nhc_del +EXPORT_SYMBOL net/6lowpan/6lowpan 0x71e06ae3 lowpan_unregister_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0x7fffffff lowpan_register_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0x7fffffff lowpan_unregister_netdev +EXPORT_SYMBOL net/802/p8022 0x3ab63c4f register_8022_client +EXPORT_SYMBOL net/802/p8022 0x7fffffff unregister_8022_client +EXPORT_SYMBOL net/802/psnap 0x743222b1 unregister_snap_client +EXPORT_SYMBOL net/802/psnap 0x7a0212c1 register_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x03156bb4 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x04924d74 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x05099c3d p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x17e0de58 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x1f859394 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x22a05bbe p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0x24561b9f p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0x289ac199 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x2ced9d97 p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x3144d05c p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0x3a175862 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0x3ae7619f p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x3d3596ec p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x3d986cf9 p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x493e4633 p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0x4d13e69e p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x4d57fa43 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x50442849 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x535c41cb p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x647b27d4 p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0x6eb46637 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x70d1df43 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_read_once +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x7fffffff v9fs_unregister_trans +EXPORT_SYMBOL net/appletalk/appletalk 0x7862986d aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0x7fffffff alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0x7fffffff atalk_find_dev_addr +EXPORT_SYMBOL net/appletalk/appletalk 0x7fffffff atrtr_get_dev +EXPORT_SYMBOL net/atm/atm 0x02e17a6e register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x0e6a5aed atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x10e7834a deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0x128fa572 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x40e27172 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x40e8440f atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x4443d399 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x6b9a3871 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0x7fffffff atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0x7fffffff atm_charge +EXPORT_SYMBOL net/atm/atm 0x7fffffff atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0x7fffffff atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x7fffffff atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x7fffffff atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0x7fffffff atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0x7fffffff sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0x7fffffff sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0x7fffffff vcc_process_recv_queue +EXPORT_SYMBOL net/ax25/ax25 0x11e1e59f ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0x130a90a6 ax25_linkfail_release +EXPORT_SYMBOL net/ax25/ax25 0x14987078 ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x14cecd59 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x7fffffff ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x7fffffff ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0x7fffffff ax25_ip_xmit +EXPORT_SYMBOL net/ax25/ax25 0x7fffffff ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0x7fffffff ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x7fffffff ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0x7fffffff ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0x7fffffff ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0x7fffffff null_ax25_address +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0718b8b7 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0d181103 __hci_cmd_sync_status +EXPORT_SYMBOL net/bluetooth/bluetooth 0x10430210 hci_cmd_sync_cancel +EXPORT_SYMBOL net/bluetooth/bluetooth 0x18c92598 bt_procfs_cleanup +EXPORT_SYMBOL net/bluetooth/bluetooth 0x21035c88 hci_mgmt_chan_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x214e4265 bt_warn +EXPORT_SYMBOL net/bluetooth/bluetooth 0x25a844fa l2cap_conn_get +EXPORT_SYMBOL net/bluetooth/bluetooth 0x27cd9dc4 l2cap_unregister_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x282e42ba l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0x35993ff8 hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3ab08c0c hci_cmd_sync_queue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x4dc92a89 hci_alloc_dev_priv +EXPORT_SYMBOL net/bluetooth/bluetooth 0x521946df hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x535f0c40 __hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x550d646d bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5e502e1c __hci_cmd_sync_status_sk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x60bff150 __hci_cmd_send +EXPORT_SYMBOL net/bluetooth/bluetooth 0x62eb379b bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x65c8737f bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6af6267c bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7071a34e hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x77fc161b bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7808b804 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7aad008b bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b5ce5c3 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b8c32f1 bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7d258501 hci_recv_diag +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7d934116 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7e1f7e6b hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7e933421 bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff __hci_cmd_sync_ev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff __hci_cmd_sync_sk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_err_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_procfs_init +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_sock_wait_ready +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff bt_warn_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_release_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_reset_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_set_fw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_set_hw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff l2cap_chan_close +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff l2cap_conn_put +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7fffffff l2cap_register_user +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x62057a23 ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x67c20911 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x7fffffff ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x7fffffff ebt_register_template +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x7fffffff ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x7fffffff ebt_unregister_template +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x1c74aa7b caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x2a09f713 cfpkt_fromnative +EXPORT_SYMBOL net/caif/caif 0x329dbd06 cfpkt_info +EXPORT_SYMBOL net/caif/caif 0x38701a7c cfcnfg_del_phy_layer +EXPORT_SYMBOL net/caif/caif 0x3a6da767 caif_enroll_dev +EXPORT_SYMBOL net/caif/caif 0x3fa84493 cfpkt_add_head +EXPORT_SYMBOL net/caif/caif 0x40babbe0 cfpkt_extr_head +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x7fffffff caif_disconnect_client +EXPORT_SYMBOL net/caif/caif 0x7fffffff caif_free_client +EXPORT_SYMBOL net/caif/caif 0x7fffffff cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0x7fffffff cfcnfg_set_phy_state +EXPORT_SYMBOL net/caif/caif 0x7fffffff cfpkt_set_prio +EXPORT_SYMBOL net/caif/caif 0x7fffffff get_cfcnfg +EXPORT_SYMBOL net/can/can 0x256a33fa can_rx_register +EXPORT_SYMBOL net/can/can 0x4a4fbe84 can_send +EXPORT_SYMBOL net/can/can 0x4e367661 can_proto_register +EXPORT_SYMBOL net/can/can 0x7377e0db can_rx_unregister +EXPORT_SYMBOL net/can/can 0x7fffffff can_proto_unregister +EXPORT_SYMBOL net/can/can 0x7fffffff can_sock_destruct +EXPORT_SYMBOL net/ceph/libceph 0x01f51117 osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x0a3c60e0 ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0x0b3811cf ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x1454ca91 ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x15aeb6df osd_req_op_extent_init +EXPORT_SYMBOL net/ceph/libceph 0x1b124fc1 ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x1bb09e29 ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x1c3b24fa osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x1cba3f20 ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0x1db244b8 ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0x1f734839 ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0x1faaa754 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x20eb554b ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x214077b6 ceph_cls_lock_info +EXPORT_SYMBOL net/ceph/libceph 0x229acce0 osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x24183fc7 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x2438b038 ceph_osdc_list_watchers +EXPORT_SYMBOL net/ceph/libceph 0x253e7716 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0x257098d5 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x2711bef1 ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0x3046e504 ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0x3160255d ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/ceph/libceph 0x317ac0ee ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0x341b70f0 ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x34226feb ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0x35145b8e ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0x3522979c ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x3808a9a1 osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x38f2d94e ceph_file_to_extents +EXPORT_SYMBOL net/ceph/libceph 0x3abf967e ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x3c8d7111 ceph_get_num_objects +EXPORT_SYMBOL net/ceph/libceph 0x3d0f2a7c ceph_oloc_destroy +EXPORT_SYMBOL net/ceph/libceph 0x410601fd ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0x45044d94 ceph_find_or_create_string +EXPORT_SYMBOL net/ceph/libceph 0x4583d861 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x466e9960 ceph_auth_handle_bad_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x4673256b ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0x4726551b ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0x4affd6c2 ceph_parse_fsid +EXPORT_SYMBOL net/ceph/libceph 0x4baea413 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x4cf2c9d4 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x4e6c32f0 ceph_auth_handle_svc_reply_more +EXPORT_SYMBOL net/ceph/libceph 0x4f112744 ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0x50603ce3 ceph_decode_entity_addrvec +EXPORT_SYMBOL net/ceph/libceph 0x539c0d18 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0x5663b15a ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x587ca113 ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x610b6b45 ceph_cls_unlock +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x6431869a ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0x644b6e50 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x65430c52 ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0x6a0cee5b ceph_monc_blocklist_add +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x6adc3ae5 osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0x6e8b0927 osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0x6edb8cb7 ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0x71fb8d66 osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0x726c1229 ceph_msg_put +EXPORT_SYMBOL net/ceph/libceph 0x735cf217 ceph_osdc_call +EXPORT_SYMBOL net/ceph/libceph 0x749e1b74 ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0x75a8ddfe ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0x75c023b0 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x760e82d2 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x766e0483 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x7ae21173 ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0x7c2f56a7 osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0x7cfb1b4f ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x7febf7c8 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff __ceph_auth_get_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_auth_get_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_auth_handle_svc_reply_done +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_client_gid +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_create_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_entity_type_name +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_iterate_extents +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_oid_printf +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_osdc_put_request +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_osdc_watch +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_pg_to_acting_primary +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_release_string +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_copy_from_init +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_extent_dup_last +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_init +EXPORT_SYMBOL net/ceph/libceph 0x7fffffff osd_req_op_xattr_init +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x32ed517b dccp_syn_ack_timeout +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x7fffffff dccp_req_err +EXPORT_SYMBOL net/hsr/hsr 0x086be214 is_hsr_master +EXPORT_SYMBOL net/hsr/hsr 0x4408fcc4 hsr_get_version +EXPORT_SYMBOL net/ieee802154/ieee802154 0x0f0b6cfe wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0x567288e0 wpan_phy_new +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7fffffff wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7fffffff wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7fffffff wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0x7fffffff wpan_phy_register +EXPORT_SYMBOL net/ipv4/fou 0x01b6d37c __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0x19741ae4 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0x7fffffff __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0x7fffffff fou_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0x7fffffff gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x34464353 ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x518f3551 ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x7fffffff ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x7fffffff ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x7fffffff arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x7fffffff arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x7fffffff arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x7fffffff arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x3553f100 ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x7fffffff ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x7fffffff ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x7fffffff ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/tunnel4 0x7fffffff xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0x7fffffff xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/udp_tunnel 0x2f1f2bf5 udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x0224308e ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x12099eea ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x258deda1 ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x67f7af4f ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x7fffffff ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x7fffffff ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x7fffffff ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x7fffffff ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x7fffffff ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x339e8c4e ip6t_register_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x38534f8b ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x5f28f11c ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x7fffffff ip6t_do_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x0ff6e2f0 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0x4fcafe35 xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x7fffffff xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x7fffffff xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/lapb/lapb 0x15beb02d lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0x19e42938 lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0x60280835 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x65aa9b4c lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x7fffffff lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x7fffffff lapb_getparms +EXPORT_SYMBOL net/lapb/lapb 0x7fffffff lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x7fffffff lapb_setparms +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x6d250b19 llc_sap_close +EXPORT_SYMBOL net/llc/llc 0x786ba673 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0x7fffffff llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x7fffffff llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0x7fffffff llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x7fffffff llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x7fffffff llc_set_station_handler +EXPORT_SYMBOL net/mac80211/mac80211 0x002b2155 ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0x04af178a ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x0557739a ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x063f5308 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x068b4745 ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0x09c41b88 ieee80211_mark_rx_ba_filtered_frames +EXPORT_SYMBOL net/mac80211/mac80211 0x0b18a68d ieee80211_get_unsol_bcast_probe_resp_tmpl +EXPORT_SYMBOL net/mac80211/mac80211 0x0c8cadc1 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x0cefad78 ieee80211_nan_func_terminated +EXPORT_SYMBOL net/mac80211/mac80211 0x0da6cc6b ieee80211_schedule_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x0db7efc4 ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x102ecb29 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x165e9720 ieee80211_rx_ba_timer_expired +EXPORT_SYMBOL net/mac80211/mac80211 0x183dcd3b ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0x19f37f0d ieee80211_update_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x1a66fc17 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0x1ad88fcf ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x1b4c63dd ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0x1b923c37 ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x226dc01b ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0x287b0ab1 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x2896ff58 ieee80211_rx_napi +EXPORT_SYMBOL net/mac80211/mac80211 0x303f954b ieee80211_beacon_cntdwn_is_complete +EXPORT_SYMBOL net/mac80211/mac80211 0x3612f8ff ieee80211_reserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x37a4b89d ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x3d5a4059 ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x3f03790e ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0x4405cfe6 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x44ea457e ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0x451d8ec6 ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x48c59a29 ieee80211_csa_finish +EXPORT_SYMBOL net/mac80211/mac80211 0x4a82778c ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0x55bfabda ieee80211_send_eosp_nullfunc +EXPORT_SYMBOL net/mac80211/mac80211 0x5ed16bf1 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x5ef3e771 rate_control_set_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x5f588062 ieee80211_tx_rate_update +EXPORT_SYMBOL net/mac80211/mac80211 0x616aba83 ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0x63508511 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x65883d4d ieee80211_return_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x6741a93b __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x6999a669 ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0x6d099de9 ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x6d3a9ee1 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x716face3 ieee80211_tdls_oper_request +EXPORT_SYMBOL net/mac80211/mac80211 0x73e51606 ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x745d59bc ieee80211_nan_func_match +EXPORT_SYMBOL net/mac80211/mac80211 0x74d487ab ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0x7905f80d ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x7944deec __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x794ffcc5 ieee80211_get_fils_discovery_tmpl +EXPORT_SYMBOL net/mac80211/mac80211 0x7b639156 ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0x7c333482 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_alloc_hw_nm +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_beacon_set_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_beacon_update_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_channel_switch_disconnect +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_disconnect +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_get_bssid +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_get_tx_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_iter_keys_rcu +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_manage_rx_ba_offl +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_next_txq +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_parse_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_radar_detected +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_report_wowlan_wakeup +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_rx_list +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_sta_eosp +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_sta_pspoll +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_sta_register_airtime +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_sta_uapsd_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_tx_dequeue +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_tx_prepare_skb +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_tx_status_ext +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_txq_airtime_check +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_txq_get_depth +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_txq_may_transmit +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_txq_schedule_start +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff ieee80211_unreserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x7fffffff wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x60afd09a ieee802154_xmit_complete +EXPORT_SYMBOL net/mac802154/mac802154 0x7fffffff ieee802154_alloc_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x7fffffff ieee802154_configure_durations +EXPORT_SYMBOL net/mac802154/mac802154 0x7fffffff ieee802154_free_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x7fffffff ieee802154_register_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x7fffffff ieee802154_rx_irqsafe +EXPORT_SYMBOL net/mac802154/mac802154 0x7fffffff ieee802154_stop_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x7fffffff ieee802154_unregister_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x7fffffff ieee802154_wake_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x7fffffff ieee802154_xmit_error +EXPORT_SYMBOL net/mac802154/mac802154 0x7fffffff ieee802154_xmit_hw_error +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x03620408 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x06bfef4a ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1bd7939f register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1daf7df7 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x262f2b08 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x27dd2b60 ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x4ebad4e6 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x5164aa68 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x681b5b19 ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x78407fb1 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fffffff ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fffffff ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fffffff ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fffffff ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fffffff ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7fffffff unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x2460a432 nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x3b08a8f0 nf_ct_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x7fffffff __nf_ct_ext_find +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0x7fffffff pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x5e03d247 nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nf_nat 0x7fffffff __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0x7fffffff nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0x7fffffff nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nft_fib 0x7fffffff nft_fib_policy +EXPORT_SYMBOL net/netfilter/x_tables 0x0d7f5fcd xt_alloc_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x1a4393d2 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x1f8a03d3 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x3bf9d084 xt_check_table_hooks +EXPORT_SYMBOL net/netfilter/x_tables 0x48012e28 xt_check_proc_name +EXPORT_SYMBOL net/netfilter/x_tables 0x7e9a615d xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_counters_alloc +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_find_jump_offset +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_find_table +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x7fffffff xt_unregister_matches +EXPORT_SYMBOL net/nfc/hci/hci 0x02ada5ac nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x09a2a675 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x16cfc6ba nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0x38b20972 nfc_llc_stop +EXPORT_SYMBOL net/nfc/hci/hci 0x3b0e26c4 nfc_hci_target_discovered +EXPORT_SYMBOL net/nfc/hci/hci 0x478f8674 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x54494d7d nfc_hci_reset_pipes_per_host +EXPORT_SYMBOL net/nfc/hci/hci 0x59131470 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/hci/hci 0x74fe3670 nfc_hci_result_to_errno +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_driver_failure +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_reset_pipes +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_sak_to_protocol +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_send_cmd_async +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0x7fffffff nfc_llc_start +EXPORT_SYMBOL net/nfc/nci/nci 0x17a9a2d9 nci_nfcee_mode_set +EXPORT_SYMBOL net/nfc/nci/nci 0x21be93f1 nci_req_complete +EXPORT_SYMBOL net/nfc/nci/nci 0x24398c56 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0x258385c7 nci_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0x3b1a96d8 nci_core_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x3c4bb2d5 nci_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0x3d4b772f nci_conn_max_data_pkt_payload_size +EXPORT_SYMBOL net/nfc/nci/nci 0x5682afa4 nci_hci_clear_all_pipes +EXPORT_SYMBOL net/nfc/nci/nci 0x6459d06e nci_core_conn_close +EXPORT_SYMBOL net/nfc/nci/nci 0x6970abf8 nci_get_conn_info_by_dest_type_params +EXPORT_SYMBOL net/nfc/nci/nci 0x6fa786e0 nci_set_config +EXPORT_SYMBOL net/nfc/nci/nci 0x7e79a36a nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_core_conn_create +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_core_init +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_core_reset +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_hci_dev_session_init +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_hci_open_pipe +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_hci_set_param +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_nfcee_discover +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_prop_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_send_data +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_send_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x7fffffff nci_to_errno +EXPORT_SYMBOL net/nfc/nfc 0x1cf4b739 nfc_find_se +EXPORT_SYMBOL net/nfc/nfc 0x2f8f15c8 nfc_tm_deactivated +EXPORT_SYMBOL net/nfc/nfc 0x52035210 nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x5a06819c nfc_remove_se +EXPORT_SYMBOL net/nfc/nfc 0x680af62a nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0x6a767129 nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0x750f0799 nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff __nfc_alloc_vendor_cmd_reply_skb +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_add_se +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_class +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_driver_failure +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_fw_download_done +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_get_local_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_se_connectivity +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_se_transaction +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_send_to_raw_sock +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_tm_activated +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x7fffffff nfc_vendor_cmd_reply +EXPORT_SYMBOL net/nfc/nfc_digital 0x63767908 nfc_digital_unregister_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x74c41eb3 nfc_digital_allocate_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x7fffffff nfc_digital_free_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x7fffffff nfc_digital_register_device +EXPORT_SYMBOL net/phonet/phonet 0x211cc177 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0x45c50770 pn_sock_unhash +EXPORT_SYMBOL net/phonet/phonet 0x586f9b89 phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x5fe98b4a pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0x657eee0c pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x7fffffff phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0x7fffffff phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x7fffffff pn_sock_get_port +EXPORT_SYMBOL net/rxrpc/rxrpc 0x07a280f6 rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/rxrpc/rxrpc 0x14ef7b6c rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x14f2cbb4 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x199f109a rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0x1b599127 rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0x1cfdf5f9 rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x52784b12 rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/rxrpc/rxrpc 0x5446a613 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x59e18822 rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0x643bdcda rxrpc_kernel_check_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7d48cf33 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7fffffff rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7fffffff rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7fffffff rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7fffffff rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7fffffff rxrpc_kernel_recv_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7fffffff rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x7fffffff rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/sctp/sctp 0x7fffffff sctp_do_peeloff +EXPORT_SYMBOL net/smc/smc 0x01fec82f __traceiter_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x12616ffc __traceiter_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0x3153cc92 __SCK__tp_func_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x32e3f119 __traceiter_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0x6203d4d2 __tracepoint_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x736ba91d __tracepoint_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x7fffffff __SCK__tp_func_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x7fffffff __SCK__tp_func_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0x7fffffff __SCK__tp_func_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0x7fffffff __traceiter_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x7fffffff __tracepoint_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0x7fffffff __tracepoint_smcr_link_down +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x29e6ca4d gss_mech_get +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x7a7b73de gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x7fffffff gss_mech_put +EXPORT_SYMBOL net/sunrpc/sunrpc 0x205d6e85 xdr_restrict_buflen +EXPORT_SYMBOL net/sunrpc/sunrpc 0x7fffffff svc_pool_stats_open +EXPORT_SYMBOL net/sunrpc/sunrpc 0x7fffffff xdr_truncate_encode +EXPORT_SYMBOL net/tipc/tipc 0x33c32d5f tipc_dump_start +EXPORT_SYMBOL net/tipc/tipc 0x4595ea7b tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tipc/tipc 0x7fffffff tipc_dump_done +EXPORT_SYMBOL net/tipc/tipc 0x7fffffff tipc_nl_sk_walk +EXPORT_SYMBOL net/tls/tls 0x7fffffff tls_get_record +EXPORT_SYMBOL net/wireless/cfg80211 0x02a6f0e4 regulatory_set_wiphy_regd_sync +EXPORT_SYMBOL net/wireless/cfg80211 0x04776067 cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x04febf8f cfg80211_nan_func_terminated +EXPORT_SYMBOL net/wireless/cfg80211 0x06ca71fd cfg80211_chandef_create +EXPORT_SYMBOL net/wireless/cfg80211 0x09458eb3 cfg80211_rx_control_port +EXPORT_SYMBOL net/wireless/cfg80211 0x09a2a8dd cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x0a46b28e cfg80211_sched_scan_stopped_locked +EXPORT_SYMBOL net/wireless/cfg80211 0x0a775080 cfg80211_send_layer2_update +EXPORT_SYMBOL net/wireless/cfg80211 0x0aefa318 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x0b472bde cfg80211_bss_color_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x0cc95bc2 ieee80211_s1g_channel_width +EXPORT_SYMBOL net/wireless/cfg80211 0x0ebc4dfc cfg80211_unregister_wdev +EXPORT_SYMBOL net/wireless/cfg80211 0x0fe14809 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0x1399d11a cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0x13e38d76 cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x15e0269b cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x1729393a wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x17846270 wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x1982503b ieee80211_get_num_supported_channels +EXPORT_SYMBOL net/wireless/cfg80211 0x1a5056a9 ieee80211_get_channel_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x1b38aaa4 cfg80211_check_station_change +EXPORT_SYMBOL net/wireless/cfg80211 0x1c9e5995 cfg80211_inform_bss_frame_data +EXPORT_SYMBOL net/wireless/cfg80211 0x1ce2497f reg_query_regdb_wmm +EXPORT_SYMBOL net/wireless/cfg80211 0x1ec07d79 cfg80211_rx_assoc_resp +EXPORT_SYMBOL net/wireless/cfg80211 0x1fd0e221 ieee80211_data_to_8023_exthdr +EXPORT_SYMBOL net/wireless/cfg80211 0x263e638e cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0x2e532141 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x2fc23867 cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x32fb9c8a cfg80211_ch_switch_started_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x3643b80f ieee80211_chandef_to_operating_class +EXPORT_SYMBOL net/wireless/cfg80211 0x38cb594a ieee80211_ie_split_ric +EXPORT_SYMBOL net/wireless/cfg80211 0x3ab21301 cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x3ec2ae5f cfg80211_reg_can_beacon_relax +EXPORT_SYMBOL net/wireless/cfg80211 0x429c0c31 ieee80211_bss_get_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x43afadee ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x4561fed5 __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x46ff300c ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x47e55d48 __cfg80211_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x4832e3a4 cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x492bdff6 cfg80211_get_drvinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x4d888bc1 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x5005a3b4 wiphy_new_nm +EXPORT_SYMBOL net/wireless/cfg80211 0x511a79ae cfg80211_assoc_comeback +EXPORT_SYMBOL net/wireless/cfg80211 0x54368f4e cfg80211_register_netdevice +EXPORT_SYMBOL net/wireless/cfg80211 0x54de4197 regulatory_pre_cac_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x5584448a ieee80211_channel_to_freq_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x569d1ab9 cfg80211_chandef_usable +EXPORT_SYMBOL net/wireless/cfg80211 0x58fbf844 cfg80211_crit_proto_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x5cc9fcc2 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x5ced617b cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x5dbb27aa cfg80211_stop_iface +EXPORT_SYMBOL net/wireless/cfg80211 0x5dc7cd36 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x5f26def9 cfg80211_control_port_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x5f5aa08c cfg80211_check_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x5fac22c8 regulatory_set_wiphy_regd +EXPORT_SYMBOL net/wireless/cfg80211 0x62faaa99 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x63b9e947 cfg80211_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x682626de wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x69a8ea23 cfg80211_update_owe_info_event +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6bedf402 ieee80211_freq_khz_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x6c353b34 wiphy_read_of_freq_limits +EXPORT_SYMBOL net/wireless/cfg80211 0x6efeaf11 cfg80211_conn_failed +EXPORT_SYMBOL net/wireless/cfg80211 0x7013bfc9 regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x758a4785 cfg80211_rx_unprot_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x75955ee2 cfg80211_iftype_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x75c15c9a ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0x79b82a71 cfg80211_find_vendor_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x7acb86ed ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3ac925 ieee80211_get_vht_max_nss +EXPORT_SYMBOL net/wireless/cfg80211 0x7e8da277 cfg80211_inform_bss_data +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff __cfg80211_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff __cfg80211_radar_event +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_abandon_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_any_usable_channels +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_background_cac_abort +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_bss_flush +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_bss_iter +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_cac_event +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_chandef_compatible +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_chandef_dfs_required +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_chandef_valid +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_connect_done +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_cqm_txe_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_external_auth_request +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_find_elem_match +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_free_nan_func +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_get_ies_channel_number +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_get_p2p_attr +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_get_station +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_is_element_inherited +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_iter_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_merge_profile +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_nan_match +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_port_authorized +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_reg_can_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_report_obss_beacon_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_report_wowlan_wakeup +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_rx_mgmt_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_rx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_sinfo_alloc_tid_stats +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_sta_opmode_change_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_tdls_oper_request +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_tx_mgmt_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_tx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff get_wiphy_regdom +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff ieee80211_mandatory_rates +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff ieee80211_operating_class_to_band +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff reg_initiator_name +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff wdev_chandef +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0x7fffffff wiphy_rfkill_set_hw_state_reason +EXPORT_SYMBOL net/wireless/lib80211 0x1a64b4d1 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL net/wireless/lib80211 0x4064ca3f lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x5d546bfa lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0x7fffffff lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x7fffffff lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x7fffffff lib80211_unregister_crypto_ops +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x7fffffff snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1a724fcc snd_seq_kernel_client_ctl +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3061c52d snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6928999c snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6bb71038 snd_seq_delete_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7ac2f329 snd_seq_expand_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7b8699eb snd_seq_event_port_detach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7fffffff snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7fffffff snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7fffffff snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7fffffff snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7fffffff snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x6ea09972 snd_midi_channel_alloc_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x7fffffff snd_midi_channel_free_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x7fffffff snd_midi_channel_set_clear +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x7fffffff snd_midi_process_event +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x1724fb56 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x17fcf66b snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x1cff6e14 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x2f853c43 snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x4d5f7f98 snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x56efbc6b snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x7fffffff snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x7309c37d snd_virmidi_new +EXPORT_SYMBOL sound/core/snd-hwdep 0x7fffffff snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x06eaabb0 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x15ebc0ae __snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1867510e snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x1c2e3a94 snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x2588d285 snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x3c75c66c snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff __snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_proceed +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x7fffffff snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-seq-device 0x091def1c snd_seq_autoload_exit +EXPORT_SYMBOL sound/core/snd-seq-device 0x370a0736 snd_seq_autoload_init +EXPORT_SYMBOL sound/core/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/snd-seq-device 0x7fffffff snd_seq_device_new +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x7fffffff snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x7fffffff snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x227cfa75 snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x48c16e60 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x503da649 snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x6d81e97f snd_opl3_reset +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x76c10825 snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7fffffff snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7fffffff snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7fffffff snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7fffffff snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x226138b0 snd_vx_threaded_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x2d434bbf snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x527b35d2 snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x5f6d326a snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x69ffbd0a snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7fffffff snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7fffffff snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7fffffff snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7fffffff snd_vx_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7fffffff snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x7fffffff snd_vx_setup_firmware +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x04ed82af avc_general_set_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x0e127e0b amdtp_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x142750e5 cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x15b54097 iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x172fd302 cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1f2ab508 amdtp_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x20254e45 amdtp_syt_intervals +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x2256a56e amdtp_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x352f589a cmp_connection_release +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x378b52f1 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3d14f234 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x40b5bf2b amdtp_stream_set_parameters +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4a8abc50 avc_general_get_plug_info +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4e8702bd amdtp_stream_add_pcm_hw_constraints +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x51419226 fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x53ca18e8 amdtp_rate_table +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x56d8dacc cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x576be8a0 cmp_connection_check_used +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5a9b6214 cmp_connection_reserve +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x61d6a9fe amdtp_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x62eecf63 snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x744ebe83 amdtp_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff avc_general_get_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff cmp_connection_establish +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x7fffffff iso_packets_buffer_destroy +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x6f4796e2 snd_ak4113_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0x7fffffff snd_ak4113_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x4633d5a3 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x46cf7d4b snd_ak4114_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x4b9037cf snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x71246707 snd_ak4114_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x7fffffff snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x7fffffff snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x7fffffff snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x7fffffff snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x0bfb9903 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x4a79f9ed snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x6465bf53 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x7fffffff snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x53c0c789 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0x66f577cd snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x7eae9c84 snd_cs8427_iec958_active +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x7fffffff snd_cs8427_create +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x7fffffff snd_cs8427_iec958_build +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x7fffffff snd_cs8427_iec958_pcm +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x7fffffff snd_cs8427_init +EXPORT_SYMBOL sound/i2c/snd-cs8427 0x7fffffff snd_cs8427_reg_write +EXPORT_SYMBOL sound/i2c/snd-i2c 0x10d0a0dc snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x11743d21 snd_i2c_device_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x53abb405 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x7fffffff snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x7fffffff snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0x7fffffff snd_i2c_probeaddr +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x1d215e94 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2748c2b4 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x2ac0b699 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x326f6329 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3f95755c snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x6f53ada6 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x750cf8c3 snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7fc19354 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7fffffff snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7fffffff snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7fffffff snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7fffffff snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7fffffff snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7fffffff snd_ac97_read +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7fffffff snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7fffffff snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x7fffffff snd_ac97_update +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x021cf34c snd_emu10k1_voice_free +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x43971c66 snd_emu10k1_synth_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x6623b682 snd_emu10k1_memblk_map +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x73f0c5a9 snd_emu10k1_voice_alloc +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x7e444520 snd_emu10k1_ptr_write +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x7fffffff snd_emu10k1_ptr_read +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x7fffffff snd_emu10k1_synth_bzero +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x7fffffff snd_emu10k1_synth_copy_from_user +EXPORT_SYMBOL sound/pci/emu10k1/snd-emu10k1 0x7fffffff snd_emu10k1_synth_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x1b6d2320 snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x6a4501ac snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x7fffffff snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x09901c2f oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x1326f72d oxygen_pci_pm +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x2ba911a6 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x316460aa oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x327dc493 oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4908809b oxygen_reset_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4cb8cc08 oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x623e2f21 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x6a13e097 oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x73be29b2 oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_update_dac_routing +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7fffffff oxygen_write_uart +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x3549915c snd_trident_free_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x5b3ec379 snd_trident_start_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x7fffffff snd_trident_alloc_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x7fffffff snd_trident_stop_voice +EXPORT_SYMBOL sound/pci/trident/snd-trident 0x7fffffff snd_trident_write_voice_regs +EXPORT_SYMBOL sound/soc/amd/acp_audio_dma 0x7fffffff acp_bt_uart_enable +EXPORT_SYMBOL sound/soc/amd/snd-acp-config 0x24751dd7 snd_amd_acp_find_config +EXPORT_SYMBOL sound/soc/amd/snd-acp-config 0x7fffffff snd_soc_acpi_amd_sof_machines +EXPORT_SYMBOL sound/soc/codecs/snd-soc-adau1372 0x7541682c adau1372_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-lpass-wsa-macro 0x2c22bcf5 wsa_macro_set_spkr_mode +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x7fffffff pcm3060_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x7fffffff pcm3060_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-rt715 0x7fffffff hda_to_sdw +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x46f25efc tlv320aic23_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x69de9173 tlv320aic23_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x09c67a26 aic32x4_regmap_config +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x37a1479c aic32x4_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x7fffffff aic32x4_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic3x 0x7fffffff aic3x_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic3x 0x7fffffff aic3x_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x3a195ca9 wcd_mbhc_get_impedance +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x72632cfa wcd_dt_parse_mbhc_data +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x789ebe56 wcd_mbhc_set_hph_type +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x7fffffff wcd_mbhc_deinit +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x7fffffff wcd_mbhc_get_hph_type +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x7fffffff wcd_mbhc_init +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x7fffffff wcd_mbhc_start +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x7fffffff wcd_mbhc_stop +EXPORT_SYMBOL sound/soc/mediatek/mt8192/snd-soc-mt8192-afe 0x793b30a3 mt8192_afe_gpio_request +EXPORT_SYMBOL sound/soc/mediatek/mt8192/snd-soc-mt8192-afe 0x7fffffff mt8192_afe_gpio_init +EXPORT_SYMBOL sound/soc/qcom/qdsp6/q6afe 0x7fffffff q6afe_unvote_lpass_core_hw +EXPORT_SYMBOL sound/soc/qcom/qdsp6/q6afe 0x7fffffff q6afe_vote_lpass_core_hw +EXPORT_SYMBOL sound/soc/qcom/snd-soc-qcom-common 0x2a9ca00c qcom_snd_parse_of +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x008a37a2 snd_emux_new +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x1a4c42f7 snd_emux_free +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x655cb202 snd_sf_linear_to_log +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x6b49bf43 snd_emux_lock_voice +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x7fffffff snd_emux_register +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x7fffffff snd_emux_terminate_all +EXPORT_SYMBOL sound/synth/emux/snd-emux-synth 0x7fffffff snd_emux_unlock_voice +EXPORT_SYMBOL sound/synth/snd-util-mem 0x17b16e1d snd_util_mem_avail +EXPORT_SYMBOL sound/synth/snd-util-mem 0x2d2c67a0 snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x7fffffff __snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x7fffffff __snd_util_mem_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x7fffffff __snd_util_memblk_new +EXPORT_SYMBOL sound/synth/snd-util-mem 0x7fffffff snd_util_mem_alloc +EXPORT_SYMBOL sound/synth/snd-util-mem 0x7fffffff snd_util_memhdr_free +EXPORT_SYMBOL sound/synth/snd-util-mem 0x7fffffff snd_util_memhdr_new +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x7fffffff __snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x7fffffff snd_usbmidi_disconnect +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x7fffffff snd_usbmidi_resume +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x7fffffff snd_usbmidi_suspend +EXPORT_SYMBOL vmlinux 0x00043b95 ip_output +EXPORT_SYMBOL vmlinux 0x000a3c2f qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x000bb7e8 debugfs_create_automount +EXPORT_SYMBOL vmlinux 0x0017eb7f mr_fill_mroute +EXPORT_SYMBOL vmlinux 0x001ce8a1 netdev_features_change +EXPORT_SYMBOL vmlinux 0x001ee95a imx_ssi_fiq_base +EXPORT_SYMBOL vmlinux 0x003d3eb6 security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0x004d29bd dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0x005746e1 snd_register_device +EXPORT_SYMBOL vmlinux 0x005896c5 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x007286de of_chosen +EXPORT_SYMBOL vmlinux 0x0072a479 iov_iter_kvec +EXPORT_SYMBOL vmlinux 0x009fe3cd dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00b8321a phy_attach +EXPORT_SYMBOL vmlinux 0x00d21202 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x00d7e722 vme_lm_count +EXPORT_SYMBOL vmlinux 0x00e04562 scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x00eea2cd page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x0106dce5 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x010f8550 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x01139ffc max_mapnr +EXPORT_SYMBOL vmlinux 0x01156ae4 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x011a9e53 elf_hwcap2 +EXPORT_SYMBOL vmlinux 0x0129c4f8 par_io_data_set +EXPORT_SYMBOL vmlinux 0x014965ed i2c_del_driver +EXPORT_SYMBOL vmlinux 0x01505d85 imx_scu_call_rpc +EXPORT_SYMBOL vmlinux 0x01513fae ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x0153ca64 ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device +EXPORT_SYMBOL vmlinux 0x017de3d5 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0x01830813 kblockd_mod_delayed_work_on +EXPORT_SYMBOL vmlinux 0x018574a1 mb_cache_entry_delete +EXPORT_SYMBOL vmlinux 0x019b0733 sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x01bf55fc paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x01bf78b5 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x01e56f39 mmc_cqe_start_req +EXPORT_SYMBOL vmlinux 0x01ff3835 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x0209f3a7 secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x02196324 __aeabi_idiv +EXPORT_SYMBOL vmlinux 0x02248148 pci_match_id +EXPORT_SYMBOL vmlinux 0x025a8d02 __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x026cad92 pci_map_rom +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x0282d653 dev_get_flags +EXPORT_SYMBOL vmlinux 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL vmlinux 0x02925e0a sock_init_data_uid +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x02a3973e may_setattr +EXPORT_SYMBOL vmlinux 0x02ac45bf thermal_cdev_update +EXPORT_SYMBOL vmlinux 0x02b29b68 mmc_wait_for_req_done +EXPORT_SYMBOL vmlinux 0x02be5332 page_pool_alloc_frag +EXPORT_SYMBOL vmlinux 0x02c065f8 ucc_set_qe_mux_mii_mng +EXPORT_SYMBOL vmlinux 0x02d54a57 page_pool_get_stats +EXPORT_SYMBOL vmlinux 0x02ee26c1 free_pages_exact +EXPORT_SYMBOL vmlinux 0x02f79482 nla_reserve +EXPORT_SYMBOL vmlinux 0x032538e3 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x0334795d icst307_s2div +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x03362cfd tegra_dfll_suspend +EXPORT_SYMBOL vmlinux 0x033e6a19 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x0360d67f make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x03788840 blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x037fa875 nf_log_unset +EXPORT_SYMBOL vmlinux 0x03815f35 ledtrig_disk_activity +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x03a5ef9d phy_connect +EXPORT_SYMBOL vmlinux 0x03a92f40 mr_dump +EXPORT_SYMBOL vmlinux 0x03ba39b0 v7_flush_user_cache_all +EXPORT_SYMBOL vmlinux 0x03cc0828 __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0x03fba701 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x04078c0b always_delete_dentry +EXPORT_SYMBOL vmlinux 0x040bf2b6 netlink_broadcast +EXPORT_SYMBOL vmlinux 0x0412acb4 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x043112a0 pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x04369ee3 __dev_set_mtu +EXPORT_SYMBOL vmlinux 0x04426f14 mem_section +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x044fb722 dev_base_lock +EXPORT_SYMBOL vmlinux 0x0458f804 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x0462b9b2 nf_reinject +EXPORT_SYMBOL vmlinux 0x04637748 clk_bulk_get_all +EXPORT_SYMBOL vmlinux 0x04688036 cdrom_release +EXPORT_SYMBOL vmlinux 0x0479aac1 seq_list_next_rcu +EXPORT_SYMBOL vmlinux 0x0487e4c7 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x0498eeed __snd_pcm_lib_xfer +EXPORT_SYMBOL vmlinux 0x04a00d45 snd_jack_set_key +EXPORT_SYMBOL vmlinux 0x04c3e379 md_bitmap_update_sb +EXPORT_SYMBOL vmlinux 0x04c6b4c3 __crypto_memneq +EXPORT_SYMBOL vmlinux 0x04c8a150 mipi_dsi_dcs_enter_sleep_mode +EXPORT_SYMBOL vmlinux 0x04cda566 snd_interval_refine +EXPORT_SYMBOL vmlinux 0x04d3e732 file_open_root +EXPORT_SYMBOL vmlinux 0x04ed23e8 give_up_console +EXPORT_SYMBOL vmlinux 0x04f47376 snd_pcm_set_managed_buffer +EXPORT_SYMBOL vmlinux 0x04f840f3 snd_timer_global_free +EXPORT_SYMBOL vmlinux 0x04fd85b4 set_security_override +EXPORT_SYMBOL vmlinux 0x0508088e ucs2_strnlen +EXPORT_SYMBOL vmlinux 0x050877b9 dmi_first_match +EXPORT_SYMBOL vmlinux 0x051c6195 mipi_dsi_detach +EXPORT_SYMBOL vmlinux 0x052236ab pci_remove_bus +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x053cbb74 devm_extcon_unregister_notifier_all +EXPORT_SYMBOL vmlinux 0x05414699 poll_freewait +EXPORT_SYMBOL vmlinux 0x05416fb1 param_ops_ulong +EXPORT_SYMBOL vmlinux 0x054179f6 max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x05428ef4 generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x05681e15 skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0x05939d56 ip_local_deliver +EXPORT_SYMBOL vmlinux 0x0596cd92 __fs_parse +EXPORT_SYMBOL vmlinux 0x05b0caa0 hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0x05b8cfda vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL vmlinux 0x05c4fcc0 proc_create_data +EXPORT_SYMBOL vmlinux 0x05cd617e gen_pool_dma_alloc +EXPORT_SYMBOL vmlinux 0x05d6f8d1 ip_do_fragment +EXPORT_SYMBOL vmlinux 0x060e7a42 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0618b8fc unregister_qdisc +EXPORT_SYMBOL vmlinux 0x062c4156 udp6_set_csum +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x0634e886 pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0x064dc67c mpage_readahead +EXPORT_SYMBOL vmlinux 0x06550b89 nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x065b3038 tegra_dfll_runtime_resume +EXPORT_SYMBOL vmlinux 0x06640f2d netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0x0668b595 _kstrtoul +EXPORT_SYMBOL vmlinux 0x066fec8b __dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x067863ed genphy_write_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x0686f15e mmc_detect_change +EXPORT_SYMBOL vmlinux 0x06919e48 _dev_err +EXPORT_SYMBOL vmlinux 0x069be8da dqget +EXPORT_SYMBOL vmlinux 0x069c50ef dev_mc_flush +EXPORT_SYMBOL vmlinux 0x06a3e0fc snd_card_free_when_closed +EXPORT_SYMBOL vmlinux 0x06aa95aa put_cmsg +EXPORT_SYMBOL vmlinux 0x06d11488 __bitmap_equal +EXPORT_SYMBOL vmlinux 0x06d8e987 ihold +EXPORT_SYMBOL vmlinux 0x06dc9276 __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0x06f26d14 generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0x06fdf861 jbd2_fc_release_bufs +EXPORT_SYMBOL vmlinux 0x0702a23e tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x07065bd3 flush_dcache_page +EXPORT_SYMBOL vmlinux 0x07098248 xz_dec_microlzma_alloc +EXPORT_SYMBOL vmlinux 0x071809e5 __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x0721331a fb_prepare_logo +EXPORT_SYMBOL vmlinux 0x072a0f5c set_anon_super +EXPORT_SYMBOL vmlinux 0x072a8f8d __set_fiq_regs +EXPORT_SYMBOL vmlinux 0x072f901c vme_master_rmw +EXPORT_SYMBOL vmlinux 0x07504e5d sock_wake_async +EXPORT_SYMBOL vmlinux 0x075a518b devm_arch_phys_wc_add +EXPORT_SYMBOL vmlinux 0x0776454a dma_map_sg_attrs +EXPORT_SYMBOL vmlinux 0x077af67c init_opal_dev +EXPORT_SYMBOL vmlinux 0x0782cb2f from_kuid_munged +EXPORT_SYMBOL vmlinux 0x0790c68e simple_release_fs +EXPORT_SYMBOL vmlinux 0x0791b7f6 of_get_next_available_child +EXPORT_SYMBOL vmlinux 0x079271e6 vme_bus_num +EXPORT_SYMBOL vmlinux 0x07941789 __of_get_address +EXPORT_SYMBOL vmlinux 0x0797325d qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0x07a01cf1 netdev_info +EXPORT_SYMBOL vmlinux 0x07a7638a __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07aacd17 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x07b09833 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x07b6c3b3 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x07bf92e9 scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x07c6be5b unregister_filesystem +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07dcddc0 of_graph_get_remote_node +EXPORT_SYMBOL vmlinux 0x07e2c085 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0x07f2ecbd inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0x07f57478 pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0x07fa4fa0 simple_recursive_removal +EXPORT_SYMBOL vmlinux 0x0800473f __cond_resched +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x08086899 try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x08196968 dev_close +EXPORT_SYMBOL vmlinux 0x08249512 iwe_stream_add_point +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x08326783 __traceiter_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x08376c18 mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x08432f81 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x08489426 of_graph_get_next_endpoint +EXPORT_SYMBOL vmlinux 0x0858cf9d skb_eth_pop +EXPORT_SYMBOL vmlinux 0x085c119a input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0x08697e8f md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x087d7d76 sock_efree +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x08a9b748 mipi_dsi_driver_unregister +EXPORT_SYMBOL vmlinux 0x08b05e42 tcp_inbound_md5_hash +EXPORT_SYMBOL vmlinux 0x08b9ada8 devm_request_resource +EXPORT_SYMBOL vmlinux 0x08ca0132 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0x08d2a209 mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0x08d66d4b _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0x08d83614 folio_wait_private_2_killable +EXPORT_SYMBOL vmlinux 0x08e39398 cmd_db_read_addr +EXPORT_SYMBOL vmlinux 0x090ebf02 snd_pcm_hw_constraint_mask64 +EXPORT_SYMBOL vmlinux 0x0912b0f1 tty_port_hangup +EXPORT_SYMBOL vmlinux 0x0925cce8 vme_init_bridge +EXPORT_SYMBOL vmlinux 0x09263fd7 vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0x09451929 phy_write_mmd +EXPORT_SYMBOL vmlinux 0x094998c6 inet_recvmsg +EXPORT_SYMBOL vmlinux 0x0959e0ec snd_info_create_module_entry +EXPORT_SYMBOL vmlinux 0x097614c6 igrab +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x097d9911 folio_mapped +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x098e2e14 km_policy_expired +EXPORT_SYMBOL vmlinux 0x099c52fe lease_get_mtime +EXPORT_SYMBOL vmlinux 0x09a1a0f1 generic_file_open +EXPORT_SYMBOL vmlinux 0x09a5d57d tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x09a874db dma_resv_iter_first_unlocked +EXPORT_SYMBOL vmlinux 0x09ae0faa iget5_locked +EXPORT_SYMBOL vmlinux 0x09af8d91 param_ops_long +EXPORT_SYMBOL vmlinux 0x09b01ed2 pci_request_region +EXPORT_SYMBOL vmlinux 0x09b152e2 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0x09b7adc4 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x09b9d8e1 get_watch_queue +EXPORT_SYMBOL vmlinux 0x09c2cff2 t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0x09c7fe16 configfs_unregister_group +EXPORT_SYMBOL vmlinux 0x09cda927 configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09e18ae6 mmc_retune_timer_stop +EXPORT_SYMBOL vmlinux 0x0a012f73 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0a1a8868 phy_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x0a1e8769 utf8_casefold_hash +EXPORT_SYMBOL vmlinux 0x0a3131f6 strnchr +EXPORT_SYMBOL vmlinux 0x0a5572a6 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x0a5868a9 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x0a60eb4b kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0x0a630980 pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0x0a88761f user_path_at_empty +EXPORT_SYMBOL vmlinux 0x0a8b3576 mount_nodev +EXPORT_SYMBOL vmlinux 0x0a96b96a kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0x0a9c639c blk_stack_limits +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0ae547ed xxh64_update +EXPORT_SYMBOL vmlinux 0x0ae79976 tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0x0aec61f7 mipi_dsi_dcs_set_tear_scanline +EXPORT_SYMBOL vmlinux 0x0afe1e2f rtnl_notify +EXPORT_SYMBOL vmlinux 0x0b03bf08 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x0b1b939e kmemdup +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b230081 dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0x0b3bd4e2 input_set_capability +EXPORT_SYMBOL vmlinux 0x0b401748 security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0x0b48677a __kfifo_init +EXPORT_SYMBOL vmlinux 0x0b56a37d page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0x0b5f0936 mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0x0b617520 dma_fence_default_wait +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b816d42 nand_get_set_features_notsupp +EXPORT_SYMBOL vmlinux 0x0b86153c ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0x0b9a83aa dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0x0b9b9946 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x0ba0b938 vm_brk +EXPORT_SYMBOL vmlinux 0x0ba2bfc5 inet6_protos +EXPORT_SYMBOL vmlinux 0x0bbaf9d2 fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bc4ba1e serio_unregister_port +EXPORT_SYMBOL vmlinux 0x0bd8ddf5 iterate_supers_type +EXPORT_SYMBOL vmlinux 0x0bdb5ebc mipi_dsi_device_unregister +EXPORT_SYMBOL vmlinux 0x0bdc3c94 mipi_dsi_dcs_soft_reset +EXPORT_SYMBOL vmlinux 0x0bef7cf4 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x0bf0e4a2 __SCK__tp_func_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x0bf4ac58 kernel_getpeername +EXPORT_SYMBOL vmlinux 0x0bf76273 lookup_positive_unlocked +EXPORT_SYMBOL vmlinux 0x0bf966ec show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0x0bfa8a55 page_cache_next_miss +EXPORT_SYMBOL vmlinux 0x0c0d3fd4 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x0c125f26 of_node_put +EXPORT_SYMBOL vmlinux 0x0c1faed7 phy_config_aneg +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c27df6a tcf_block_put +EXPORT_SYMBOL vmlinux 0x0c28ef4d mdiobus_write_nested +EXPORT_SYMBOL vmlinux 0x0c4904af dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x0c56261c set_disk_ro +EXPORT_SYMBOL vmlinux 0x0c5d362b inode_init_once +EXPORT_SYMBOL vmlinux 0x0c65c260 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x0c8084e7 copy_string_kernel +EXPORT_SYMBOL vmlinux 0x0ca54fee _test_and_set_bit +EXPORT_SYMBOL vmlinux 0x0ca94d93 tty_write_room +EXPORT_SYMBOL vmlinux 0x0cab6745 mipi_dsi_dcs_get_power_mode +EXPORT_SYMBOL vmlinux 0x0cb11bc7 __SCK__tp_func_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x0cb22f28 mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0x0cd0853f crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0x0cd14e5b neigh_parms_release +EXPORT_SYMBOL vmlinux 0x0cd62a5c make_kgid +EXPORT_SYMBOL vmlinux 0x0cdce87c rfkill_set_hw_state_reason +EXPORT_SYMBOL vmlinux 0x0cdfa5a6 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x0cf4002a jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d1701b2 ipmr_rule_default +EXPORT_SYMBOL vmlinux 0x0d1b54c1 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x0d233fe3 input_event +EXPORT_SYMBOL vmlinux 0x0d246a14 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x0d2ca20f ucc_fast_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0x0d3f57a2 _find_next_bit_le +EXPORT_SYMBOL vmlinux 0x0d4627ae backlight_device_set_brightness +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d951332 netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0x0da56ff1 of_get_cpu_state_node +EXPORT_SYMBOL vmlinux 0x0db08513 fwnode_get_phy_id +EXPORT_SYMBOL vmlinux 0x0dba5e9a radix_tree_delete +EXPORT_SYMBOL vmlinux 0x0dbbb676 t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0x0dc1a78c bin2hex +EXPORT_SYMBOL vmlinux 0x0dd0e8eb dma_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x0dd495d3 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x0dd6c031 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL vmlinux 0x0ddec4e8 fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x0de0ddbc pci_set_mwi +EXPORT_SYMBOL vmlinux 0x0de34a4f __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x0deece5a blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x0e036260 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x0e0a08a5 simple_unlink +EXPORT_SYMBOL vmlinux 0x0e16c93b vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e1c8804 dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x0e257e7a dma_find_channel +EXPORT_SYMBOL vmlinux 0x0e30edff dst_discard_out +EXPORT_SYMBOL vmlinux 0x0e370c7b tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0x0e5da8f0 utf8_normalize +EXPORT_SYMBOL vmlinux 0x0e6b78ea netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0x0e809a28 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x0e851f1a pci_write_vpd_any +EXPORT_SYMBOL vmlinux 0x0e8f8685 ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x0e941980 tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0x0e98d5e9 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x0ea3c74e tasklet_kill +EXPORT_SYMBOL vmlinux 0x0ea593f6 hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0x0eafd213 bdev_start_io_acct +EXPORT_SYMBOL vmlinux 0x0eb6eb87 add_taint +EXPORT_SYMBOL vmlinux 0x0ec0aac5 fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x0ec5babe vme_dma_free +EXPORT_SYMBOL vmlinux 0x0ee22d65 eth_gro_complete +EXPORT_SYMBOL vmlinux 0x0eea0399 strscpy +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f1ad8e2 seq_list_start_rcu +EXPORT_SYMBOL vmlinux 0x0f26bd7d mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0x0f2addc8 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x0f415c76 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x0f566cba kmem_cache_size +EXPORT_SYMBOL vmlinux 0x0f586b60 backlight_device_get_by_name +EXPORT_SYMBOL vmlinux 0x0f655355 vfio_info_add_capability +EXPORT_SYMBOL vmlinux 0x0f76d596 fwnode_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0f8943db dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0x0f985d20 nd_btt_arena_is_valid +EXPORT_SYMBOL vmlinux 0x0fb21a1b tty_port_tty_get +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fd0f592 mutex_trylock +EXPORT_SYMBOL vmlinux 0x0fd81a62 dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0fdb7b2a get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x0fe1bd65 dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0x0fea2229 netdev_bonding_info_change +EXPORT_SYMBOL vmlinux 0x0ff178f6 __aeabi_idivmod +EXPORT_SYMBOL vmlinux 0x0ff18a2f inode_init_owner +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x10018cb0 __pv_offset +EXPORT_SYMBOL vmlinux 0x1004acdf neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x100bce92 jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0x10170b2c napi_gro_flush +EXPORT_SYMBOL vmlinux 0x1023e854 vga_client_register +EXPORT_SYMBOL vmlinux 0x1025009a cpm_muram_alloc_fixed +EXPORT_SYMBOL vmlinux 0x102936ec qe_clock_source +EXPORT_SYMBOL vmlinux 0x1035c7c2 __release_region +EXPORT_SYMBOL vmlinux 0x10416216 netdev_update_features +EXPORT_SYMBOL vmlinux 0x104790e2 security_task_getsecid_obj +EXPORT_SYMBOL vmlinux 0x106246dd d_rehash +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x106f13ab crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x10708f97 blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0x10739f1e swake_up_locked +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x1094fa47 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x109a1041 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x10b97ba5 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x10bc0234 dma_pool_create +EXPORT_SYMBOL vmlinux 0x10c67b41 security_cred_getsecid +EXPORT_SYMBOL vmlinux 0x10cf616a nand_ecc_finish_io_req +EXPORT_SYMBOL vmlinux 0x10d4f30d xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x10e6f74a free_contig_range +EXPORT_SYMBOL vmlinux 0x10ea86a0 flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0x10f1905f security_path_unlink +EXPORT_SYMBOL vmlinux 0x10f54206 init_net +EXPORT_SYMBOL vmlinux 0x11033b58 mroute6_is_socket +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x11098293 pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x110ecf53 folio_end_writeback +EXPORT_SYMBOL vmlinux 0x11319c65 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x114002fd dev_mc_add +EXPORT_SYMBOL vmlinux 0x1143873f rpmh_write_batch +EXPORT_SYMBOL vmlinux 0x114798a4 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x11658493 inet_sendmsg +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x118ae7c7 nand_ecc_sw_hamming_correct +EXPORT_SYMBOL vmlinux 0x1198d6f8 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0x119b50e7 elf_check_arch +EXPORT_SYMBOL vmlinux 0x11a7b395 jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x11c3e530 input_register_device +EXPORT_SYMBOL vmlinux 0x11c765e6 pps_register_source +EXPORT_SYMBOL vmlinux 0x11e0275f napi_consume_skb +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11fa2a50 cpumask_any_distribute +EXPORT_SYMBOL vmlinux 0x11ffdfee ucc_slow_stop_tx +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x1210fb32 _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0x12156cc3 configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0x121eda0e devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0x12225cfe i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x1222af7f security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0x122c71ef dump_align +EXPORT_SYMBOL vmlinux 0x122eb50b devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x1230682c free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x12333182 dev_driver_string +EXPORT_SYMBOL vmlinux 0x1246999b nobh_write_end +EXPORT_SYMBOL vmlinux 0x124bad4d kstrtobool +EXPORT_SYMBOL vmlinux 0x124c2b7d __put_user_ns +EXPORT_SYMBOL vmlinux 0x124d0c64 __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0x127da270 mmc_card_is_blockaddr +EXPORT_SYMBOL vmlinux 0x127f1c3c __devm_mdiobus_register +EXPORT_SYMBOL vmlinux 0x12827367 sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x128e44e5 mmc_can_gpio_cd +EXPORT_SYMBOL vmlinux 0x1292149b tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x129367ca gpiochip_irq_reqres +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +EXPORT_SYMBOL vmlinux 0x12ce9c8c fwnode_mdiobus_register_phy +EXPORT_SYMBOL vmlinux 0x12e0b27b netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0x12f19edf __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x12fdda0a arm_dma_ops +EXPORT_SYMBOL vmlinux 0x130a6313 iov_iter_bvec +EXPORT_SYMBOL vmlinux 0x130adb90 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x130ea94e scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x13110126 request_resource +EXPORT_SYMBOL vmlinux 0x13243d4b wl1251_get_platform_data +EXPORT_SYMBOL vmlinux 0x13342cf9 __netif_napi_del +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x136231a1 vme_dma_request +EXPORT_SYMBOL vmlinux 0x1371da00 cdrom_open +EXPORT_SYMBOL vmlinux 0x1378c6b7 __traceiter_kmalloc +EXPORT_SYMBOL vmlinux 0x13956b87 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x1396af39 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x1397c8c0 phy_ethtool_get_eee +EXPORT_SYMBOL vmlinux 0x13b56f17 sock_wfree +EXPORT_SYMBOL vmlinux 0x13b920b3 ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x13cead77 __SCK__tp_func_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13d928f5 __SCK__tp_func_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x13f42152 system_entering_hibernation +EXPORT_SYMBOL vmlinux 0x13fcbc9e generic_file_llseek +EXPORT_SYMBOL vmlinux 0x1408b0be generic_file_fsync +EXPORT_SYMBOL vmlinux 0x140cef8e cmxgcr_lock +EXPORT_SYMBOL vmlinux 0x142109bc zpool_register_driver +EXPORT_SYMBOL vmlinux 0x1421d8cd gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0x1435c5ce __SCK__tp_func_kmalloc_node +EXPORT_SYMBOL vmlinux 0x1448bbeb genphy_update_link +EXPORT_SYMBOL vmlinux 0x144e98f6 mtd_concat_destroy +EXPORT_SYMBOL vmlinux 0x1451e8e5 vm_zone_stat +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x1465e05c mii_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x146cbbb0 find_inode_rcu +EXPORT_SYMBOL vmlinux 0x1471df1d simple_dir_operations +EXPORT_SYMBOL vmlinux 0x1474080d gpiochip_irq_relres +EXPORT_SYMBOL vmlinux 0x1486978a gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0x148a5f9d netif_tx_lock +EXPORT_SYMBOL vmlinux 0x149c044b twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0x14af9b2f dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0x14d0bfdd udplite_prot +EXPORT_SYMBOL vmlinux 0x14d4a9c5 _change_bit +EXPORT_SYMBOL vmlinux 0x14e6d5de __neigh_create +EXPORT_SYMBOL vmlinux 0x1510d23e sock_bind_add +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x1523976b elv_rb_del +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x153df9f0 max8998_bulk_write +EXPORT_SYMBOL vmlinux 0x1541a570 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x1559e1ef phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0x1564fdc1 mntput +EXPORT_SYMBOL vmlinux 0x1565086d generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x1569190f max8925_set_bits +EXPORT_SYMBOL vmlinux 0x156989b6 kill_pgrp +EXPORT_SYMBOL vmlinux 0x1588f327 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x15ae2dc3 ptp_clock_unregister +EXPORT_SYMBOL vmlinux 0x15b662f3 open_exec +EXPORT_SYMBOL vmlinux 0x15bafe29 unregister_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x15bdceb5 __f_setown +EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial +EXPORT_SYMBOL vmlinux 0x15d036b2 ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x15d05397 dev_mc_del +EXPORT_SYMBOL vmlinux 0x15e7e114 eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0x15f90688 slhc_init +EXPORT_SYMBOL vmlinux 0x161ab5a1 __netif_rx +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x1628e1f3 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x162c75c1 snd_mixer_oss_notify_callback +EXPORT_SYMBOL vmlinux 0x16312f32 devm_devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x1632bc21 kvasprintf_const +EXPORT_SYMBOL vmlinux 0x16369c25 sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x163d2417 tegra_io_rail_power_off +EXPORT_SYMBOL vmlinux 0x16525cc4 xa_find +EXPORT_SYMBOL vmlinux 0x165656ac kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x167de76b phy_trigger_machine +EXPORT_SYMBOL vmlinux 0x169baa83 file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x16adbf67 down_killable +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x16e73be6 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x16ea719b ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x16f24b00 from_kprojid +EXPORT_SYMBOL vmlinux 0x16f3eb05 flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0x173ace3c __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0x175c370b __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0x1776962f sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x178c4894 qe_upload_firmware +EXPORT_SYMBOL vmlinux 0x179aeb25 tcf_qevent_validate_change +EXPORT_SYMBOL vmlinux 0x17af6cce __scm_destroy +EXPORT_SYMBOL vmlinux 0x18117c70 touch_atime +EXPORT_SYMBOL vmlinux 0x182c328d mmc_release_host +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x185e4830 shmem_aops +EXPORT_SYMBOL vmlinux 0x1862dbb5 pci_rebar_get_possible_sizes +EXPORT_SYMBOL vmlinux 0x187664fd sg_miter_start +EXPORT_SYMBOL vmlinux 0x187884a8 cpm_muram_free +EXPORT_SYMBOL vmlinux 0x187a63c1 generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x18cd9bbe devfreq_resume_device +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x18f2ab5d _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL vmlinux 0x191c3ef8 fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0x193e16d1 seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0x193eef4d tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x195c8596 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0x197cc8d0 snd_sgbuf_get_page +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL vmlinux 0x199e5e7e skb_expand_head +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19a6168d gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x19a84a24 ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0x19a97652 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x19aa2565 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL vmlinux 0x19b6fb9d vme_slot_num +EXPORT_SYMBOL vmlinux 0x19bcdac5 locks_remove_posix +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19be8778 rtc_add_group +EXPORT_SYMBOL vmlinux 0x19c619dd md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0x19f18343 ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0x19f6075c read_code +EXPORT_SYMBOL vmlinux 0x19fcadbe xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x1a21d691 __ksize +EXPORT_SYMBOL vmlinux 0x1a263c78 amba_driver_register +EXPORT_SYMBOL vmlinux 0x1a264c3c call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x1a26effe hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0x1a34ccde block_read_full_folio +EXPORT_SYMBOL vmlinux 0x1a377376 d_drop +EXPORT_SYMBOL vmlinux 0x1a4196f9 __genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x1a43bef5 netdev_offload_xstats_get +EXPORT_SYMBOL vmlinux 0x1a4a67b9 init_pseudo +EXPORT_SYMBOL vmlinux 0x1a5f1d5c twl6040_reg_read +EXPORT_SYMBOL vmlinux 0x1a65f4ad __arm_ioremap_pfn +EXPORT_SYMBOL vmlinux 0x1a7bc9ef xxh32 +EXPORT_SYMBOL vmlinux 0x1a8257ad param_set_byte +EXPORT_SYMBOL vmlinux 0x1a8cec51 unix_attach_fds +EXPORT_SYMBOL vmlinux 0x1a9813b7 of_device_unregister +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1a9bbb1a get_vm_area +EXPORT_SYMBOL vmlinux 0x1a9c9cd9 nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0x1aa43176 do_map_probe +EXPORT_SYMBOL vmlinux 0x1aa86d18 rdma_dim +EXPORT_SYMBOL vmlinux 0x1ad1f2e7 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0x1af97c39 xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0x1afaf2c8 param_ops_ullong +EXPORT_SYMBOL vmlinux 0x1afc30e8 mipi_dsi_dcs_set_display_on +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b1c736f mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x1b1cfc92 dst_init +EXPORT_SYMBOL vmlinux 0x1b25f187 __xa_store +EXPORT_SYMBOL vmlinux 0x1b5a2742 scsi_device_put +EXPORT_SYMBOL vmlinux 0x1b5a7689 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x1b5aa68d add_to_page_cache_lru +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b754a3b sock_create +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1b7e300d jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0x1b820d37 import_iovec +EXPORT_SYMBOL vmlinux 0x1b965a53 kunmap_local_indexed +EXPORT_SYMBOL vmlinux 0x1bb67920 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x1bcdaf25 vfs_get_link +EXPORT_SYMBOL vmlinux 0x1beef739 refresh_frequency_limits +EXPORT_SYMBOL vmlinux 0x1c5e3878 icst525_idx2s +EXPORT_SYMBOL vmlinux 0x1c62319f of_node_name_eq +EXPORT_SYMBOL vmlinux 0x1c72cfeb end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x1c777c5c dma_fence_add_callback +EXPORT_SYMBOL vmlinux 0x1cb1375a migrate_page_copy +EXPORT_SYMBOL vmlinux 0x1cb9180c inet_bind +EXPORT_SYMBOL vmlinux 0x1cbf758e free_buffer_head +EXPORT_SYMBOL vmlinux 0x1cc11154 __SCK__tp_func_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x1ccefca5 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x1cd09d96 netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0x1cdc3346 follow_up +EXPORT_SYMBOL vmlinux 0x1d0029ed mipi_dsi_dcs_set_display_brightness_large +EXPORT_SYMBOL vmlinux 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL vmlinux 0x1d265d6b jbd2_wait_inode_data +EXPORT_SYMBOL vmlinux 0x1d316c8b tcp_parse_options +EXPORT_SYMBOL vmlinux 0x1d37eeed ioremap +EXPORT_SYMBOL vmlinux 0x1d3d8978 register_netdev +EXPORT_SYMBOL vmlinux 0x1d5a7c0c phy_resume +EXPORT_SYMBOL vmlinux 0x1d5b67de xfrm_init_state +EXPORT_SYMBOL vmlinux 0x1d793f2a tcf_qevent_destroy +EXPORT_SYMBOL vmlinux 0x1d796395 hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0x1d829f08 of_find_property +EXPORT_SYMBOL vmlinux 0x1d8d93c3 phy_support_sym_pause +EXPORT_SYMBOL vmlinux 0x1d961d41 d_make_root +EXPORT_SYMBOL vmlinux 0x1da9ddab iov_iter_discard +EXPORT_SYMBOL vmlinux 0x1daee677 input_inject_event +EXPORT_SYMBOL vmlinux 0x1db7911a snd_pcm_suspend_all +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1de59c22 qcom_scm_ice_invalidate_key +EXPORT_SYMBOL vmlinux 0x1de67f9b qcom_scm_io_writel +EXPORT_SYMBOL vmlinux 0x1dea0633 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0x1dfaa4dd efi +EXPORT_SYMBOL vmlinux 0x1e0373fc imx_scu_irq_group_enable +EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x1e0af518 security_binder_transfer_file +EXPORT_SYMBOL vmlinux 0x1e0c1cfd sg_alloc_append_table_from_pages +EXPORT_SYMBOL vmlinux 0x1e14fe39 tegra_dfll_unregister +EXPORT_SYMBOL vmlinux 0x1e1c2bfa of_get_child_by_name +EXPORT_SYMBOL vmlinux 0x1e1e140e ns_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1e233c27 blk_mq_destroy_queue +EXPORT_SYMBOL vmlinux 0x1e32aba0 devfreq_update_target +EXPORT_SYMBOL vmlinux 0x1e33d957 snd_pcm_lib_free_pages +EXPORT_SYMBOL vmlinux 0x1e5284e4 vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x1e584af0 crypto_kdf108_ctr_generate +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e7ad0c4 phy_device_free +EXPORT_SYMBOL vmlinux 0x1e96f43d __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x1e994dab key_type_keyring +EXPORT_SYMBOL vmlinux 0x1e9de2f9 kernel_write +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ea0c7b8 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x1ea2696d dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x1ea2961d can_nice +EXPORT_SYMBOL vmlinux 0x1eaa853b security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0x1eb50bad rproc_add_subdev +EXPORT_SYMBOL vmlinux 0x1eb64646 div64_s64 +EXPORT_SYMBOL vmlinux 0x1ed6f7bc of_phy_connect +EXPORT_SYMBOL vmlinux 0x1ed7eb60 __sg_free_table +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1ef0d9bf set_bh_page +EXPORT_SYMBOL vmlinux 0x1ef19dc8 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x1ef41b7e qcom_scm_iommu_set_pt_format +EXPORT_SYMBOL vmlinux 0x1ef8091b netdev_pick_tx +EXPORT_SYMBOL vmlinux 0x1f268663 dst_release +EXPORT_SYMBOL vmlinux 0x1f274009 xsk_get_pool_from_qid +EXPORT_SYMBOL vmlinux 0x1f38ff97 pci_pme_capable +EXPORT_SYMBOL vmlinux 0x1f4d5778 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0x1f55d456 seq_release +EXPORT_SYMBOL vmlinux 0x1f70318b filemap_check_errors +EXPORT_SYMBOL vmlinux 0x1f73e452 xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x1f74f2d7 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x1f772e63 phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0x1f9603a4 simple_setattr +EXPORT_SYMBOL vmlinux 0x1f9bc1d3 sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0x1fa80194 get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0x1faa38a3 neigh_for_each +EXPORT_SYMBOL vmlinux 0x1fb64f6e of_get_mac_address +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fbe1801 locks_init_lock +EXPORT_SYMBOL vmlinux 0x1fcb9662 request_partial_firmware_into_buf +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1ff76d56 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x200036a3 ip_tunnel_metadata_cnt +EXPORT_SYMBOL vmlinux 0x200039b0 vfs_mkobj +EXPORT_SYMBOL vmlinux 0x20021b3f __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x20070ea2 _atomic_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x2009d5d8 pci_iounmap +EXPORT_SYMBOL vmlinux 0x200b2041 in6addr_any +EXPORT_SYMBOL vmlinux 0x2029cf93 kobject_init +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x2061c689 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x20726e1b __alloc_skb +EXPORT_SYMBOL vmlinux 0x2072b8b4 unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20c9d0b0 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x20d7bc96 devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0x20db662c param_ops_uint +EXPORT_SYMBOL vmlinux 0x20e313cc pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x20ee2b32 dentry_path_raw +EXPORT_SYMBOL vmlinux 0x20f9a804 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0x21110dbf mmioset +EXPORT_SYMBOL vmlinux 0x211331fa __divsi3 +EXPORT_SYMBOL vmlinux 0x212f237d _dev_notice +EXPORT_SYMBOL vmlinux 0x213a738d memregion_alloc +EXPORT_SYMBOL vmlinux 0x213e4965 ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x21417610 mdio_device_free +EXPORT_SYMBOL vmlinux 0x214f2b21 vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0x2155aeb0 nf_log_trace +EXPORT_SYMBOL vmlinux 0x215667b2 zstd_get_frame_header +EXPORT_SYMBOL vmlinux 0x215d8b4f neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x216d759a mmiocpy +EXPORT_SYMBOL vmlinux 0x2172c553 ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x2175b344 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x217b2724 skb_clone +EXPORT_SYMBOL vmlinux 0x218e600b pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0x21bdb523 errseq_check_and_advance +EXPORT_SYMBOL vmlinux 0x21be37e1 hdmi_avi_infoframe_check +EXPORT_SYMBOL vmlinux 0x21c43749 component_match_add_release +EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x21eaf49e __netlink_dump_start +EXPORT_SYMBOL vmlinux 0x21f7eb8f claim_fiq +EXPORT_SYMBOL vmlinux 0x220c7021 tegra_io_pad_power_disable +EXPORT_SYMBOL vmlinux 0x22157e5f omap_rtc_power_off_program +EXPORT_SYMBOL vmlinux 0x2220bd48 hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x22533c4a folio_wait_bit +EXPORT_SYMBOL vmlinux 0x225c5816 wake_up_process +EXPORT_SYMBOL vmlinux 0x2277d558 mx53_revision +EXPORT_SYMBOL vmlinux 0x227ad8ea skb_pull +EXPORT_SYMBOL vmlinux 0x228ee980 blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0x22ae9c01 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22df9ff4 dev_remove_offload +EXPORT_SYMBOL vmlinux 0x22e923a2 inc_node_state +EXPORT_SYMBOL vmlinux 0x23093e77 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x231d27c9 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0x2338662f dm_put_device +EXPORT_SYMBOL vmlinux 0x234317b4 __phy_resume +EXPORT_SYMBOL vmlinux 0x234e87e1 gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0x2350e51a snd_compr_free_pages +EXPORT_SYMBOL vmlinux 0x2351c45d __quota_error +EXPORT_SYMBOL vmlinux 0x2353f5f5 tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0x23592ade bio_init_clone +EXPORT_SYMBOL vmlinux 0x2364c85a tasklet_init +EXPORT_SYMBOL vmlinux 0x236837ea sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x236d2293 ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0x2388eb58 flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0x238b099f mipi_dsi_packet_format_is_short +EXPORT_SYMBOL vmlinux 0x2390b33f phy_validate_pause +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23e7a7bd dump_skip_to +EXPORT_SYMBOL vmlinux 0x23f1d7a6 page_pool_ethtool_stats_get_count +EXPORT_SYMBOL vmlinux 0x23f2f842 netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x24078ddd input_release_device +EXPORT_SYMBOL vmlinux 0x2407a0e0 i2c_verify_client +EXPORT_SYMBOL vmlinux 0x2417497d __breadahead_gfp +EXPORT_SYMBOL vmlinux 0x241b5677 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x2427a250 set_binfmt +EXPORT_SYMBOL vmlinux 0x242d463e jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x244eeec9 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x24632749 __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0x246790df idr_for_each +EXPORT_SYMBOL vmlinux 0x246ea205 blake2s_update +EXPORT_SYMBOL vmlinux 0x248dc160 kobject_del +EXPORT_SYMBOL vmlinux 0x24a766a8 fddi_type_trans +EXPORT_SYMBOL vmlinux 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL vmlinux 0x24bd06df ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x24d7c4e9 snd_ctl_boolean_mono_info +EXPORT_SYMBOL vmlinux 0x24da5cf1 pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0x250113b4 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x25091957 __module_get +EXPORT_SYMBOL vmlinux 0x251b3255 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x252278a6 tcp_init_sock +EXPORT_SYMBOL vmlinux 0x252332f1 __SCK__tp_func_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x252c0a8d rt_mutex_base_init +EXPORT_SYMBOL vmlinux 0x252ec08a __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x252ee9f7 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x254f2600 dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0x256b7cf9 scsi_host_busy +EXPORT_SYMBOL vmlinux 0x2574854b module_layout +EXPORT_SYMBOL vmlinux 0x257ae45c dma_fence_free +EXPORT_SYMBOL vmlinux 0x257d9700 phy_ethtool_get_wol +EXPORT_SYMBOL vmlinux 0x257e1163 pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x2590e8c7 dm_table_event +EXPORT_SYMBOL vmlinux 0x25bbf1bc simple_rename +EXPORT_SYMBOL vmlinux 0x25e4871b key_reject_and_link +EXPORT_SYMBOL vmlinux 0x25e58a09 hdmi_avi_infoframe_init +EXPORT_SYMBOL vmlinux 0x25e9d4bd resource_list_free +EXPORT_SYMBOL vmlinux 0x25f23a52 mmc_remove_host +EXPORT_SYMBOL vmlinux 0x260a095a __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x260ebf64 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x262af7a6 inode_insert5 +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x2656725f tcp_close +EXPORT_SYMBOL vmlinux 0x2659fca9 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x2663ad35 unpin_user_pages +EXPORT_SYMBOL vmlinux 0x26670d88 finish_open +EXPORT_SYMBOL vmlinux 0x266e408d seq_putc +EXPORT_SYMBOL vmlinux 0x267c7bb3 tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0x2688bed2 posix_test_lock +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x26897b52 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x2690e6c1 _find_next_zero_bit_le +EXPORT_SYMBOL vmlinux 0x26988bff sync_file_create +EXPORT_SYMBOL vmlinux 0x26a15cd4 skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0x26ad5531 mr_table_alloc +EXPORT_SYMBOL vmlinux 0x26bb950b __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0x26d3ed3f ps2_init +EXPORT_SYMBOL vmlinux 0x26eafaa3 md_write_start +EXPORT_SYMBOL vmlinux 0x270cf88f dump_stack_lvl +EXPORT_SYMBOL vmlinux 0x27116ddf mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0x2733eaf7 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0x27479d14 param_free_charp +EXPORT_SYMBOL vmlinux 0x2755e543 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x275dfee4 ucc_slow_free +EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check +EXPORT_SYMBOL vmlinux 0x276a13e2 dma_map_resource +EXPORT_SYMBOL vmlinux 0x27756bc8 scsi_sanitize_inquiry_string +EXPORT_SYMBOL vmlinux 0x2782b393 xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27931966 sock_no_connect +EXPORT_SYMBOL vmlinux 0x279c0f1a path_put +EXPORT_SYMBOL vmlinux 0x27b97768 dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27cdca93 pci_add_resource +EXPORT_SYMBOL vmlinux 0x27cfde1a security_inode_init_security +EXPORT_SYMBOL vmlinux 0x27d1b27e bio_copy_data +EXPORT_SYMBOL vmlinux 0x27d8bf42 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x27e15adc reuseport_select_sock +EXPORT_SYMBOL vmlinux 0x27f4d6e3 ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0x27f50eee napi_get_frags +EXPORT_SYMBOL vmlinux 0x27fae69f vfs_link +EXPORT_SYMBOL vmlinux 0x280533d6 pci_release_regions +EXPORT_SYMBOL vmlinux 0x28055e2f dev_uc_del +EXPORT_SYMBOL vmlinux 0x2805d9c4 ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0x28118cb6 __get_user_1 +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x2823156c submit_bio +EXPORT_SYMBOL vmlinux 0x2830d4e4 __dec_node_page_state +EXPORT_SYMBOL vmlinux 0x28345b1e snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL vmlinux 0x2859e627 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x286e692d xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x2873438a zstd_init_dctx +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x2878e15a idr_destroy +EXPORT_SYMBOL vmlinux 0x28952e10 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x28a7b26d phy_set_sym_pause +EXPORT_SYMBOL vmlinux 0x28b74601 mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0x28ce97b2 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x28dc9455 import_single_range +EXPORT_SYMBOL vmlinux 0x28e1af3d inet_accept +EXPORT_SYMBOL vmlinux 0x28f06f2c mmput_async +EXPORT_SYMBOL vmlinux 0x28f06f73 peernet2id +EXPORT_SYMBOL vmlinux 0x28f94604 __ubsan_handle_builtin_unreachable +EXPORT_SYMBOL vmlinux 0x28f9b55e ipv6_select_ident +EXPORT_SYMBOL vmlinux 0x28fca161 of_clk_get +EXPORT_SYMBOL vmlinux 0x290ca879 register_key_type +EXPORT_SYMBOL vmlinux 0x291dbc8c xfrm_register_type +EXPORT_SYMBOL vmlinux 0x2937bbdc vfio_unregister_notifier +EXPORT_SYMBOL vmlinux 0x2945309a ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0x294e19dc vfs_get_tree +EXPORT_SYMBOL vmlinux 0x29604158 napi_busy_loop +EXPORT_SYMBOL vmlinux 0x296520e8 param_set_ullong +EXPORT_SYMBOL vmlinux 0x297ca62e rproc_free +EXPORT_SYMBOL vmlinux 0x299fe165 pci_restore_state +EXPORT_SYMBOL vmlinux 0x29a47fe9 dma_fence_wait_any_timeout +EXPORT_SYMBOL vmlinux 0x29ab2d7d bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x29ad0b9b ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x29cca460 datagram_poll +EXPORT_SYMBOL vmlinux 0x29d3b648 neigh_lookup +EXPORT_SYMBOL vmlinux 0x29d9f26e cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x29fc8042 snd_dma_alloc_dir_pages +EXPORT_SYMBOL vmlinux 0x2a049c6b security_path_rename +EXPORT_SYMBOL vmlinux 0x2a0c24e6 generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0x2a149769 nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0x2a2a6a55 devfreq_update_status +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a3aa678 _test_and_clear_bit +EXPORT_SYMBOL vmlinux 0x2a4c5bd4 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x2a5263c5 get_tz_trend +EXPORT_SYMBOL vmlinux 0x2a63c8fc of_lpddr3_get_min_tck +EXPORT_SYMBOL vmlinux 0x2a7f8620 __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x2a9085e0 free_mdio_bitbang +EXPORT_SYMBOL vmlinux 0x2a928918 slhc_free +EXPORT_SYMBOL vmlinux 0x2a9a3905 vme_master_get +EXPORT_SYMBOL vmlinux 0x2aa0e4fc strncasecmp +EXPORT_SYMBOL vmlinux 0x2aa25880 tcp_check_req +EXPORT_SYMBOL vmlinux 0x2aa4f474 snd_pcm_new_internal +EXPORT_SYMBOL vmlinux 0x2ae26aba pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x2ae304dc dma_fence_array_next +EXPORT_SYMBOL vmlinux 0x2ae68b66 snd_pcm_hw_param_last +EXPORT_SYMBOL vmlinux 0x2aff19e2 set_posix_acl +EXPORT_SYMBOL vmlinux 0x2b06cb64 genphy_soft_reset +EXPORT_SYMBOL vmlinux 0x2b07c8ba gro_cells_init +EXPORT_SYMBOL vmlinux 0x2b14e7c4 vfs_iter_write +EXPORT_SYMBOL vmlinux 0x2b1c5ee0 rawnand_sw_hamming_cleanup +EXPORT_SYMBOL vmlinux 0x2b1da9f9 _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0x2b31bdc4 cdev_device_add +EXPORT_SYMBOL vmlinux 0x2b4d3d75 dm_get_device +EXPORT_SYMBOL vmlinux 0x2b500d07 blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0x2b558325 udp_seq_ops +EXPORT_SYMBOL vmlinux 0x2b627360 neigh_update +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b6a0f69 phy_attached_info_irq +EXPORT_SYMBOL vmlinux 0x2b77ecc3 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x2b7d7265 find_inode_nowait +EXPORT_SYMBOL vmlinux 0x2b97b28d skb_append +EXPORT_SYMBOL vmlinux 0x2b99722a __cpu_active_mask +EXPORT_SYMBOL vmlinux 0x2b9b2495 kernel_read +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba3c390 fs_bio_set +EXPORT_SYMBOL vmlinux 0x2bba495f serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0x2bc2b901 input_register_handle +EXPORT_SYMBOL vmlinux 0x2be0f12d dql_completed +EXPORT_SYMBOL vmlinux 0x2be3fd08 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x2bedb80d snd_timer_resolution +EXPORT_SYMBOL vmlinux 0x2bf7e315 con_copy_unimap +EXPORT_SYMBOL vmlinux 0x2bff5887 xa_destroy +EXPORT_SYMBOL vmlinux 0x2c026821 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x2c0420aa netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x2c0c18e3 proc_mkdir +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c329e54 tegra_powergate_sequence_power_up +EXPORT_SYMBOL vmlinux 0x2c42a97b _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x2c54b9fd security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x2c56cb48 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x2c5ed688 dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0x2c6b6974 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x2c756976 uart_resume_port +EXPORT_SYMBOL vmlinux 0x2c7aa916 pci_release_resource +EXPORT_SYMBOL vmlinux 0x2c7c3d6d __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0x2c7c8e9a pcibios_min_mem +EXPORT_SYMBOL vmlinux 0x2c81ec75 __irq_regs +EXPORT_SYMBOL vmlinux 0x2c82c36a security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x2c950f45 dev_uc_add +EXPORT_SYMBOL vmlinux 0x2c9a3ae9 input_reset_device +EXPORT_SYMBOL vmlinux 0x2cbb8940 unpin_user_page_range_dirty_lock +EXPORT_SYMBOL vmlinux 0x2cbe3573 bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x2cd0d077 vme_irq_generate +EXPORT_SYMBOL vmlinux 0x2ce53aa1 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x2ceb9569 genphy_read_status +EXPORT_SYMBOL vmlinux 0x2cef25d4 d_tmpfile +EXPORT_SYMBOL vmlinux 0x2cf02bb5 register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x2cfde9a2 warn_slowpath_fmt +EXPORT_SYMBOL vmlinux 0x2cff7cb6 pci_claim_resource +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d16a028 simple_lookup +EXPORT_SYMBOL vmlinux 0x2d210679 udp_prot +EXPORT_SYMBOL vmlinux 0x2d211670 inode_to_bdi +EXPORT_SYMBOL vmlinux 0x2d22616e tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0x2d2bf12d generic_fill_statx_attr +EXPORT_SYMBOL vmlinux 0x2d30596c from_kqid_munged +EXPORT_SYMBOL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL vmlinux 0x2d36c19d inet_del_protocol +EXPORT_SYMBOL vmlinux 0x2d39b0a7 kstrdup +EXPORT_SYMBOL vmlinux 0x2d3cb57e hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x2d4472c2 zstd_find_frame_compressed_size +EXPORT_SYMBOL vmlinux 0x2d4c773a hdmi_spd_infoframe_init +EXPORT_SYMBOL vmlinux 0x2d4daef5 find_font +EXPORT_SYMBOL vmlinux 0x2d6fcc06 __kmalloc +EXPORT_SYMBOL vmlinux 0x2d852cab __mdiobus_write +EXPORT_SYMBOL vmlinux 0x2d912bca dmi_get_bios_year +EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2dade767 dquot_drop +EXPORT_SYMBOL vmlinux 0x2db09003 snd_timer_instance_new +EXPORT_SYMBOL vmlinux 0x2dd18bb0 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x2dd29dcd mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x2dd61e83 alloc_fddidev +EXPORT_SYMBOL vmlinux 0x2de125c0 page_frag_alloc_align +EXPORT_SYMBOL vmlinux 0x2e0a95c6 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x2e0c614d of_match_node +EXPORT_SYMBOL vmlinux 0x2e1141ee freezing_slow_path +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e33669b kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x2e439142 drm_get_panel_orientation_quirk +EXPORT_SYMBOL vmlinux 0x2e7c72be seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0x2e8259bc tty_port_close_start +EXPORT_SYMBOL vmlinux 0x2e83a5af msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0x2e8aa580 blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0x2e929029 config_item_set_name +EXPORT_SYMBOL vmlinux 0x2ea96f50 rawnand_sw_bch_cleanup +EXPORT_SYMBOL vmlinux 0x2ec10da0 cdrom_check_events +EXPORT_SYMBOL vmlinux 0x2ec39a9e pci_dev_put +EXPORT_SYMBOL vmlinux 0x2ec524ad __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2edb10d0 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x2edeb3d9 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0x2ef9cb76 flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f11f4a2 __scsi_add_device +EXPORT_SYMBOL vmlinux 0x2f1254d1 ucc_tdm_init +EXPORT_SYMBOL vmlinux 0x2f127391 phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x2f1749df genphy_aneg_done +EXPORT_SYMBOL vmlinux 0x2f1eaf21 par_io_of_config +EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f333aab imx_scu_get_handle +EXPORT_SYMBOL vmlinux 0x2f3de7fd of_get_ddr_timings +EXPORT_SYMBOL vmlinux 0x2f425458 snd_sgbuf_get_addr +EXPORT_SYMBOL vmlinux 0x2f50cbf5 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x2f5b0fdb gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0x2f61f324 tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0x2f6957bd zstd_end_stream +EXPORT_SYMBOL vmlinux 0x2f69c290 vm_node_stat +EXPORT_SYMBOL vmlinux 0x2f73aac2 jbd2_fc_end_commit +EXPORT_SYMBOL vmlinux 0x2f748694 mdio_device_reset +EXPORT_SYMBOL vmlinux 0x2f7754a8 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2f856503 skb_clone_sk +EXPORT_SYMBOL vmlinux 0x2fa65b1b iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x2fab5b8b nand_ecc_is_strong_enough +EXPORT_SYMBOL vmlinux 0x2fbaa96b eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0x2fbe4cb6 vm_insert_page +EXPORT_SYMBOL vmlinux 0x2fc7ffc9 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x2fd690b4 iov_iter_alignment +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x302592f4 msm_pinctrl_remove +EXPORT_SYMBOL vmlinux 0x302f278d device_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x30418838 task_work_add +EXPORT_SYMBOL vmlinux 0x3056098c bio_chain +EXPORT_SYMBOL vmlinux 0x3057e7a5 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x30701042 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x30745185 wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30a87e2f md_bitmap_free +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30ad183c genphy_resume +EXPORT_SYMBOL vmlinux 0x30b36b01 cpu_user +EXPORT_SYMBOL vmlinux 0x30b613fe tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x30bfa837 devm_mfd_add_devices +EXPORT_SYMBOL vmlinux 0x30d9a471 gen_pool_create +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30eb0ebf md_error +EXPORT_SYMBOL vmlinux 0x30f8ab9a bio_put +EXPORT_SYMBOL vmlinux 0x311026fa register_sound_dsp +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x314966c4 xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0x314b20c8 scnprintf +EXPORT_SYMBOL vmlinux 0x31502711 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x3152edbc mod_node_page_state +EXPORT_SYMBOL vmlinux 0x3164b741 mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0x31719351 rproc_get_by_child +EXPORT_SYMBOL vmlinux 0x3178126d udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x317a2d9f mnt_set_expiry +EXPORT_SYMBOL vmlinux 0x318235d1 __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x31a4767f qcom_scm_hdcp_available +EXPORT_SYMBOL vmlinux 0x31bb9e32 zap_page_range +EXPORT_SYMBOL vmlinux 0x31c1622d pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0x31c300eb blk_mq_start_stopped_hw_queues +EXPORT_SYMBOL vmlinux 0x31ef1bd0 register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x3200e6ca napi_complete_done +EXPORT_SYMBOL vmlinux 0x32139644 vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0x321d7f2b dentry_open +EXPORT_SYMBOL vmlinux 0x321e25b1 register_mii_timestamper +EXPORT_SYMBOL vmlinux 0x3221df67 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x3234c7c1 free_cgroup_ns +EXPORT_SYMBOL vmlinux 0x32378a8b mmc_can_discard +EXPORT_SYMBOL vmlinux 0x32394d4b qe_issue_cmd +EXPORT_SYMBOL vmlinux 0x3239dd9c elm_config +EXPORT_SYMBOL vmlinux 0x32430023 _totalhigh_pages +EXPORT_SYMBOL vmlinux 0x3248c161 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x32585fdc current_time +EXPORT_SYMBOL vmlinux 0x32787823 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x327b7c8c iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0x327c84bf vme_lm_attach +EXPORT_SYMBOL vmlinux 0x32829685 iterate_fd +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x3285b8b0 vm_map_ram +EXPORT_SYMBOL vmlinux 0x328a05f1 strncpy +EXPORT_SYMBOL vmlinux 0x328e0bbc filemap_invalidate_lock_two +EXPORT_SYMBOL vmlinux 0x32a87f5e devm_devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x32b5fe46 mmc_of_parse +EXPORT_SYMBOL vmlinux 0x32b9cd7b rproc_mem_entry_init +EXPORT_SYMBOL vmlinux 0x32c1a1af arp_tbl +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32d3bd22 __filemap_get_folio +EXPORT_SYMBOL vmlinux 0x32ee1630 cred_fscmp +EXPORT_SYMBOL vmlinux 0x32f59e96 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x3314851e is_subdir +EXPORT_SYMBOL vmlinux 0x33219850 cdev_add +EXPORT_SYMBOL vmlinux 0x33233549 generic_fadvise +EXPORT_SYMBOL vmlinux 0x3333f303 ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x33437da0 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x335216fd cfb_imageblit +EXPORT_SYMBOL vmlinux 0x3370b32d __inode_add_bytes +EXPORT_SYMBOL vmlinux 0x338c1161 __mod_node_page_state +EXPORT_SYMBOL vmlinux 0x33940cb8 elv_rb_add +EXPORT_SYMBOL vmlinux 0x339f07fd skb_find_text +EXPORT_SYMBOL vmlinux 0x33b381d1 dev_addr_del +EXPORT_SYMBOL vmlinux 0x33b7c673 netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0x33c1f6d5 kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0x33c75fc3 dst_release_immediate +EXPORT_SYMBOL vmlinux 0x33d92b84 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x33dbfd93 tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33fb4bd4 devm_memremap +EXPORT_SYMBOL vmlinux 0x33fc2a31 get_user_ifreq +EXPORT_SYMBOL vmlinux 0x34146a5b tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x341dbfa3 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x342ac12c try_module_get +EXPORT_SYMBOL vmlinux 0x344e1ae5 mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0x34521ff2 kern_unmount +EXPORT_SYMBOL vmlinux 0x345791ef param_get_hexint +EXPORT_SYMBOL vmlinux 0x34588da7 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x346237ed tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x3465e94f dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0x347686bb setup_arg_pages +EXPORT_SYMBOL vmlinux 0x349b4277 xa_clear_mark +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a0373d register_filesystem +EXPORT_SYMBOL vmlinux 0x34a04d71 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0x34a8e81a vif_device_init +EXPORT_SYMBOL vmlinux 0x34c7cdbc lookup_bdev +EXPORT_SYMBOL vmlinux 0x34ca145c kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0x34cd08fb mii_ethtool_gset +EXPORT_SYMBOL vmlinux 0x34d33836 mdio_driver_unregister +EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue +EXPORT_SYMBOL vmlinux 0x35050bc8 flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0x3515b58c netif_device_attach +EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x35204996 xp_can_alloc +EXPORT_SYMBOL vmlinux 0x3535dc84 devm_backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x353e3fa5 __get_user_4 +EXPORT_SYMBOL vmlinux 0x3545bb97 bdev_check_media_change +EXPORT_SYMBOL vmlinux 0x354746bd kernel_accept +EXPORT_SYMBOL vmlinux 0x355a7fd1 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x355dff10 d_path +EXPORT_SYMBOL vmlinux 0x355f52ab dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x35601f84 devm_get_clk_from_child +EXPORT_SYMBOL vmlinux 0x35608d2d vme_register_bridge +EXPORT_SYMBOL vmlinux 0x3560e651 kmemdup_nul +EXPORT_SYMBOL vmlinux 0x356461c8 rtc_time64_to_tm +EXPORT_SYMBOL vmlinux 0x3578c0da devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0x357a1095 nand_ecc_sw_bch_correct +EXPORT_SYMBOL vmlinux 0x3582ccb2 fs_param_is_enum +EXPORT_SYMBOL vmlinux 0x358a84fb jbd2_fc_get_buf +EXPORT_SYMBOL vmlinux 0x358ed506 devm_release_resource +EXPORT_SYMBOL vmlinux 0x3590a7fd folio_end_private_2 +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35aa98b0 phy_request_interrupt +EXPORT_SYMBOL vmlinux 0x35bb510c dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0x35c49f19 dma_resv_add_fence +EXPORT_SYMBOL vmlinux 0x35c792ff pci_disable_ptm +EXPORT_SYMBOL vmlinux 0x35c79d37 ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0x35c92dec invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x35cc71b8 mmc_retune_release +EXPORT_SYMBOL vmlinux 0x35dce439 km_policy_notify +EXPORT_SYMBOL vmlinux 0x35dec863 of_graph_get_endpoint_count +EXPORT_SYMBOL vmlinux 0x35ea78f5 atomic_io_modify_relaxed +EXPORT_SYMBOL vmlinux 0x36008ec6 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x360b1afe probe_irq_mask +EXPORT_SYMBOL vmlinux 0x3612c10f tmio_core_mmc_enable +EXPORT_SYMBOL vmlinux 0x361b4abd blk_mq_alloc_disk_for_queue +EXPORT_SYMBOL vmlinux 0x361b7eea netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0x36289dea __vfs_getxattr +EXPORT_SYMBOL vmlinux 0x3630ef45 tcp_release_cb +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x3684ae3b xsk_tx_peek_release_desc_batch +EXPORT_SYMBOL vmlinux 0x369e8212 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x36af5e35 bpf_sk_lookup_enabled +EXPORT_SYMBOL vmlinux 0x36c7a1c5 mq_change_real_num_tx +EXPORT_SYMBOL vmlinux 0x36d69557 ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x36dd310e md_update_sb +EXPORT_SYMBOL vmlinux 0x37064a25 of_device_alloc +EXPORT_SYMBOL vmlinux 0x37105d00 __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0x371e1953 __printk_cpu_sync_wait +EXPORT_SYMBOL vmlinux 0x3721e157 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x37387d23 generic_mii_ioctl +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x3754f6ff devfreq_suspend_device +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x376df1df folio_wait_private_2 +EXPORT_SYMBOL vmlinux 0x376e5a8d xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0x37717419 lock_rename +EXPORT_SYMBOL vmlinux 0x377498e4 zstd_dctx_workspace_bound +EXPORT_SYMBOL vmlinux 0x3774dd3a load_nls +EXPORT_SYMBOL vmlinux 0x3775e8fd migrate_page +EXPORT_SYMBOL vmlinux 0x377b5d91 inet_getname +EXPORT_SYMBOL vmlinux 0x37814426 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL vmlinux 0x37a8ace7 pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0x37a93371 fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0x37b022f9 sg_split +EXPORT_SYMBOL vmlinux 0x37b46020 fs_param_is_bool +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37db8f19 dmi_get_date +EXPORT_SYMBOL vmlinux 0x37e2e67b bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0x37eaaf49 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x37f614b7 __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x38180745 pci_write_config_word +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x38360cc0 skb_dump +EXPORT_SYMBOL vmlinux 0x3837e12f __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0x3842b3a6 unix_gc_lock +EXPORT_SYMBOL vmlinux 0x3854774b kstrtoll +EXPORT_SYMBOL vmlinux 0x38678b9c skb_copy_header +EXPORT_SYMBOL vmlinux 0x386d9ce9 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x3891ffc8 ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0x38921957 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x389acf0c gpmc_configure +EXPORT_SYMBOL vmlinux 0x389b3017 rawnand_sw_hamming_init +EXPORT_SYMBOL vmlinux 0x389ecf9e __bswapdi2 +EXPORT_SYMBOL vmlinux 0x38a53e78 nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38a9f7c5 in6addr_loopback +EXPORT_SYMBOL vmlinux 0x38ac4ced tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0x38b505b0 blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0x38c18357 devm_of_iomap +EXPORT_SYMBOL vmlinux 0x38db51f4 blk_cleanup_disk +EXPORT_SYMBOL vmlinux 0x38de402b call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0x38e775f7 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x38f48af7 put_user_ifreq +EXPORT_SYMBOL vmlinux 0x390a6682 registered_fb +EXPORT_SYMBOL vmlinux 0x392254d9 pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0x3927bda1 pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL vmlinux 0x3957ba67 bioset_exit +EXPORT_SYMBOL vmlinux 0x395d811d km_new_mapping +EXPORT_SYMBOL vmlinux 0x3960a962 tcf_exts_change +EXPORT_SYMBOL vmlinux 0x396ec192 __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL vmlinux 0x3985d702 phy_find_first +EXPORT_SYMBOL vmlinux 0x3992bc63 __xa_set_mark +EXPORT_SYMBOL vmlinux 0x39938d94 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x39a43dda mdiobus_write +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39b8ac0d proc_create_seq_private +EXPORT_SYMBOL vmlinux 0x39bb870c __vcalloc +EXPORT_SYMBOL vmlinux 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL vmlinux 0x39c88fd5 flush_rcu_work +EXPORT_SYMBOL vmlinux 0x39c97e7a mipi_dsi_generic_read +EXPORT_SYMBOL vmlinux 0x39cd57e4 kill_pid +EXPORT_SYMBOL vmlinux 0x39d5f55f inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x39e8fb66 unlock_new_inode +EXPORT_SYMBOL vmlinux 0x3a0a2d6f devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x3a13f54a sgl_alloc +EXPORT_SYMBOL vmlinux 0x3a2658c6 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x3a2f6702 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x3a386941 fs_param_is_fd +EXPORT_SYMBOL vmlinux 0x3a498ca0 kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized +EXPORT_SYMBOL vmlinux 0x3a64ff87 vfs_tmpfile +EXPORT_SYMBOL vmlinux 0x3a6960c7 nf_register_net_hook +EXPORT_SYMBOL vmlinux 0x3a844392 md_register_thread +EXPORT_SYMBOL vmlinux 0x3a8486f2 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x3a84fed3 utf8_casefold +EXPORT_SYMBOL vmlinux 0x3a937af5 tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x3aa18273 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0x3aa81685 km_query +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3ac9d058 unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x3ad6fd8e krait_get_l2_indirect_reg +EXPORT_SYMBOL vmlinux 0x3ae0f0b1 config_item_get +EXPORT_SYMBOL vmlinux 0x3aea2fee elm_decode_bch_error_page +EXPORT_SYMBOL vmlinux 0x3aefa7e5 sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0x3af2ddb6 vfs_get_fsid +EXPORT_SYMBOL vmlinux 0x3b0735f0 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0x3b07983d fb_set_var +EXPORT_SYMBOL vmlinux 0x3b26853a seq_lseek +EXPORT_SYMBOL vmlinux 0x3b299067 percpu_counter_set +EXPORT_SYMBOL vmlinux 0x3b40879d check_zeroed_user +EXPORT_SYMBOL vmlinux 0x3b5902cc of_find_backlight_by_node +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b6c41ea kstrtouint +EXPORT_SYMBOL vmlinux 0x3b707ad5 imx_sc_rm_get_resource_owner +EXPORT_SYMBOL vmlinux 0x3b79993f tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x3b8250ae input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x3b9fae62 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x3ba5a648 noop_fsync +EXPORT_SYMBOL vmlinux 0x3baefb1b netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0x3bbb5b39 inc_node_page_state +EXPORT_SYMBOL vmlinux 0x3bbf46ea vga_base +EXPORT_SYMBOL vmlinux 0x3bc5d0fb clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0x3bc6d097 memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0x3bca8da2 pmem_should_map_pages +EXPORT_SYMBOL vmlinux 0x3be39688 of_device_is_available +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3becb5fd nf_hook_slow +EXPORT_SYMBOL vmlinux 0x3bf55c4d devm_clk_release_clkdev +EXPORT_SYMBOL vmlinux 0x3c0b5353 blk_post_runtime_resume +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c3215c4 qe_immr +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c4437b5 serio_close +EXPORT_SYMBOL vmlinux 0x3c60315c ioremap_cache +EXPORT_SYMBOL vmlinux 0x3c8c818b input_setup_polling +EXPORT_SYMBOL vmlinux 0x3c8f6ef0 __xa_insert +EXPORT_SYMBOL vmlinux 0x3c8f6f80 pci_alloc_dev +EXPORT_SYMBOL vmlinux 0x3ca5b276 dmaenginem_async_device_register +EXPORT_SYMBOL vmlinux 0x3cbd3da2 rproc_resource_cleanup +EXPORT_SYMBOL vmlinux 0x3cbece34 dma_resv_iter_next_unlocked +EXPORT_SYMBOL vmlinux 0x3cbed38a snd_card_register +EXPORT_SYMBOL vmlinux 0x3cc2c3fa of_get_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x3cd5897c tso_build_hdr +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3d071c04 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x3d0bf18d __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x3d25f66b misc_register +EXPORT_SYMBOL vmlinux 0x3d3c540f elf_hwcap +EXPORT_SYMBOL vmlinux 0x3d404ceb __vmalloc_array +EXPORT_SYMBOL vmlinux 0x3d510ae6 filp_open +EXPORT_SYMBOL vmlinux 0x3d6b9a89 to_nd_btt +EXPORT_SYMBOL vmlinux 0x3d752d62 locks_copy_lock +EXPORT_SYMBOL vmlinux 0x3d786e48 freeze_bdev +EXPORT_SYMBOL vmlinux 0x3da4a4fc filemap_fault +EXPORT_SYMBOL vmlinux 0x3dab374b vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x3db38e1b md_reload_sb +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dcf1ffa __wake_up +EXPORT_SYMBOL vmlinux 0x3dd878a0 hdmi_avi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x3de08975 dquot_transfer +EXPORT_SYMBOL vmlinux 0x3df336a9 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x3df528bc validate_slab_cache +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3dffede0 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x3e009d20 vme_bus_error_handler +EXPORT_SYMBOL vmlinux 0x3e1113d2 kernel_getsockname +EXPORT_SYMBOL vmlinux 0x3e1620a7 tcp_filter +EXPORT_SYMBOL vmlinux 0x3e348e70 freeze_super +EXPORT_SYMBOL vmlinux 0x3e3bad0a __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x3e3d6c12 ps2_handle_response +EXPORT_SYMBOL vmlinux 0x3e4a66fd pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x3e82f3e9 get_random_bytes +EXPORT_SYMBOL vmlinux 0x3e89e060 dev_addr_mod +EXPORT_SYMBOL vmlinux 0x3e9ff7fe cdev_alloc +EXPORT_SYMBOL vmlinux 0x3ea1b6e4 __stack_chk_fail +EXPORT_SYMBOL vmlinux 0x3ea20931 page_pool_put_defragged_page +EXPORT_SYMBOL vmlinux 0x3ea90089 rproc_coredump_add_custom_segment +EXPORT_SYMBOL vmlinux 0x3ec30060 dma_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0x3ec80fa0 _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x3ed104a5 xa_set_mark +EXPORT_SYMBOL vmlinux 0x3ed2e834 phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x3ed577ce fb_firmware_edid +EXPORT_SYMBOL vmlinux 0x3ede01ac param_set_int +EXPORT_SYMBOL vmlinux 0x3eeeab6b tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3f03e104 d_add +EXPORT_SYMBOL vmlinux 0x3f0eeda0 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x3f1e10a0 dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0x3f316efe cros_ec_get_host_event +EXPORT_SYMBOL vmlinux 0x3f40329a snd_timer_new +EXPORT_SYMBOL vmlinux 0x3f437111 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f45f465 tegra_ivc_reset +EXPORT_SYMBOL vmlinux 0x3f4af46f gen_pool_first_fit_order_align +EXPORT_SYMBOL vmlinux 0x3f5c3992 vlan_vid_del +EXPORT_SYMBOL vmlinux 0x3f60b396 kmem_cache_create +EXPORT_SYMBOL vmlinux 0x3f62d048 dma_fence_init +EXPORT_SYMBOL vmlinux 0x3f68d464 da903x_query_status +EXPORT_SYMBOL vmlinux 0x3f71c956 twl6040_set_pll +EXPORT_SYMBOL vmlinux 0x3f7c7fe9 __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0x3f856f8d folio_mapping +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3f994979 dquot_initialize +EXPORT_SYMBOL vmlinux 0x3fa121ef vfs_fsync +EXPORT_SYMBOL vmlinux 0x3fb9797c forget_cached_acl +EXPORT_SYMBOL vmlinux 0x3fbf3c89 vme_slave_set +EXPORT_SYMBOL vmlinux 0x3fc22846 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x3fc7b31c kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0x3fcfbdd7 alloc_mdio_bitbang +EXPORT_SYMBOL vmlinux 0x3fd6f6da tcp_make_synack +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3fea538c hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x400f791f rpmh_write_async +EXPORT_SYMBOL vmlinux 0x401262a6 blk_execute_rq +EXPORT_SYMBOL vmlinux 0x402059ac vfs_rename +EXPORT_SYMBOL vmlinux 0x4027830c snd_pcm_hw_param_first +EXPORT_SYMBOL vmlinux 0x403a93e7 radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0x4047e9b2 tty_port_close_end +EXPORT_SYMBOL vmlinux 0x4051ee7b xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0x4059792f print_hex_dump +EXPORT_SYMBOL vmlinux 0x407136b1 __put_user_8 +EXPORT_SYMBOL vmlinux 0x4073177d t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0x4078c37b xsk_set_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x40843c55 get_cached_acl +EXPORT_SYMBOL vmlinux 0x408c74b1 snd_pcm_hw_constraint_ranges +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x409b7058 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x40a600b9 tcp_time_wait +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40b1f3fc md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x40b51c05 __sysfs_match_string +EXPORT_SYMBOL vmlinux 0x40c06919 twl6040_power +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d402ad do_wait_intr +EXPORT_SYMBOL vmlinux 0x40d59096 unregister_restart_handler +EXPORT_SYMBOL vmlinux 0x40f07981 __ashldi3 +EXPORT_SYMBOL vmlinux 0x4115a842 cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x412214c0 max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x412f893c page_offline_begin +EXPORT_SYMBOL vmlinux 0x4134bc86 discard_new_inode +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x414975dd __genradix_prealloc +EXPORT_SYMBOL vmlinux 0x4155c0ce security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0x415b1d56 tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0x416c7705 kobject_set_name +EXPORT_SYMBOL vmlinux 0x41725d88 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x417d3d40 get_mem_type +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x418a5367 __scsi_format_command +EXPORT_SYMBOL vmlinux 0x418f7084 get_tree_bdev +EXPORT_SYMBOL vmlinux 0x41bb273f jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0x41bb84fc dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0x41c829ba fwnode_irq_get_byname +EXPORT_SYMBOL vmlinux 0x41c8ee70 kern_sys_bpf +EXPORT_SYMBOL vmlinux 0x41eb546c nlmsg_notify +EXPORT_SYMBOL vmlinux 0x41ecbce8 input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0x4203135d sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x420964e3 __nla_parse +EXPORT_SYMBOL vmlinux 0x420b52ab flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0x421920e9 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x421d4dcf krealloc +EXPORT_SYMBOL vmlinux 0x421e39c2 page_pool_destroy +EXPORT_SYMBOL vmlinux 0x4224b059 netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0x4230a8d7 sg_nents_for_len +EXPORT_SYMBOL vmlinux 0x42393bb6 kthread_stop +EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running +EXPORT_SYMBOL vmlinux 0x424d1d0e map_destroy +EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x424d98a9 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x4251b390 con_is_visible +EXPORT_SYMBOL vmlinux 0x4253aa7e down_write +EXPORT_SYMBOL vmlinux 0x42604384 ucs2_strncmp +EXPORT_SYMBOL vmlinux 0x4277e42a cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x4297675b fwnode_irq_get +EXPORT_SYMBOL vmlinux 0x4298b775 v7_flush_kern_cache_all +EXPORT_SYMBOL vmlinux 0x429dd8aa scsi_remove_host +EXPORT_SYMBOL vmlinux 0x42b2aa75 vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0x42cabd07 pci_get_device +EXPORT_SYMBOL vmlinux 0x42ccd2ca mmc_gpio_get_ro +EXPORT_SYMBOL vmlinux 0x42d117d3 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x42d8642c pci_irq_vector +EXPORT_SYMBOL vmlinux 0x42ea3d11 vfio_dma_rw +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x42f45c09 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0x42fad61a devm_arch_io_reserve_memtype_wc +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x430356b4 rproc_coredump_using_sections +EXPORT_SYMBOL vmlinux 0x431ec3a9 __nla_validate +EXPORT_SYMBOL vmlinux 0x4336fcca ucs2_as_utf8 +EXPORT_SYMBOL vmlinux 0x43393792 of_translate_address +EXPORT_SYMBOL vmlinux 0x4340263f ndisc_ns_create +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x437be471 prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x4398e691 tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0x439ade70 user_revoke +EXPORT_SYMBOL vmlinux 0x43ca815e __of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0x43cba86e flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0x43d22fb9 groups_alloc +EXPORT_SYMBOL vmlinux 0x43e57231 commit_creds +EXPORT_SYMBOL vmlinux 0x43f9ebc8 slhc_remember +EXPORT_SYMBOL vmlinux 0x43fe8f9b sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0x4403bbd0 imx_sc_misc_set_control +EXPORT_SYMBOL vmlinux 0x4405caa5 i2c_clients_command +EXPORT_SYMBOL vmlinux 0x442495c9 tmio_core_mmc_resume +EXPORT_SYMBOL vmlinux 0x442b7591 devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x443240ef param_get_invbool +EXPORT_SYMBOL vmlinux 0x44366cfc simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0x443bd058 cqhci_resume +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x444cc8ed tcp_md5_needed +EXPORT_SYMBOL vmlinux 0x4461c5d6 scsi_print_result +EXPORT_SYMBOL vmlinux 0x4461eb55 gic_nonsecure_priorities +EXPORT_SYMBOL vmlinux 0x4462d35e cpufreq_get_hw_max_freq +EXPORT_SYMBOL vmlinux 0x44643b93 __aeabi_lmul +EXPORT_SYMBOL vmlinux 0x446e5cd1 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x4471040a empty_zero_page +EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x44b5a488 md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x44b777de block_commit_write +EXPORT_SYMBOL vmlinux 0x44bba857 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL vmlinux 0x44c2d112 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x44c9dc6c percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0x44da5d0f __csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x44e65252 tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0x44e66ed2 bitmap_print_bitmask_to_buf +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44fab301 of_find_node_with_property +EXPORT_SYMBOL vmlinux 0x44ff6480 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x45006cee default_red +EXPORT_SYMBOL vmlinux 0x4502107c bdi_register +EXPORT_SYMBOL vmlinux 0x450d9a35 cmd_db_read_slave_id +EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x453ebd91 vfs_get_super +EXPORT_SYMBOL vmlinux 0x454adf6c dec_node_page_state +EXPORT_SYMBOL vmlinux 0x454ed9df shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x45506951 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x455461fb mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x4558ed92 rproc_report_crash +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x458c27bd start_tty +EXPORT_SYMBOL vmlinux 0x45976c09 kfree_skb_list_reason +EXPORT_SYMBOL vmlinux 0x45b09450 dma_supported +EXPORT_SYMBOL vmlinux 0x45bd19de nla_strscpy +EXPORT_SYMBOL vmlinux 0x45bda0d5 system_serial_low +EXPORT_SYMBOL vmlinux 0x45d73376 dev_set_mtu +EXPORT_SYMBOL vmlinux 0x45ea479c phy_free_interrupt +EXPORT_SYMBOL vmlinux 0x45fdee7f dma_fence_signal_timestamp +EXPORT_SYMBOL vmlinux 0x4600a9d6 __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x46012a22 lookup_one_positive_unlocked +EXPORT_SYMBOL vmlinux 0x460f4a34 flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x46139eae mmc_retune_unpause +EXPORT_SYMBOL vmlinux 0x461a1323 skb_copy_expand +EXPORT_SYMBOL vmlinux 0x461d16ca sg_nents +EXPORT_SYMBOL vmlinux 0x46244c03 ns_capable +EXPORT_SYMBOL vmlinux 0x4627a981 pci_disable_msix +EXPORT_SYMBOL vmlinux 0x462a2e75 match_strlcpy +EXPORT_SYMBOL vmlinux 0x46320e6b input_unregister_device +EXPORT_SYMBOL vmlinux 0x464ddf94 devfreq_add_device +EXPORT_SYMBOL vmlinux 0x465dfbf7 _dev_emerg +EXPORT_SYMBOL vmlinux 0x465e24ff ucs2_utf8size +EXPORT_SYMBOL vmlinux 0x46669d36 _raw_write_lock_nested +EXPORT_SYMBOL vmlinux 0x467ed0dc tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x469a6ec7 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x46ac2212 jbd2_journal_put_journal_head +EXPORT_SYMBOL vmlinux 0x46b702a1 skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0x46bbe52e mipi_dsi_shutdown_peripheral +EXPORT_SYMBOL vmlinux 0x46c9bbe3 kmap_high +EXPORT_SYMBOL vmlinux 0x46d3b28c __div0 +EXPORT_SYMBOL vmlinux 0x46de6fb1 __skb_ext_del +EXPORT_SYMBOL vmlinux 0x46f09464 icmp_ndo_send +EXPORT_SYMBOL vmlinux 0x46f48d48 configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0x47065c73 cpm_muram_offset +EXPORT_SYMBOL vmlinux 0x471def74 twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x47281a4a fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0x472a1662 pm_vt_switch_unregister +EXPORT_SYMBOL vmlinux 0x473023b4 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0x4735f290 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0x473d225c snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL vmlinux 0x4756260d ida_destroy +EXPORT_SYMBOL vmlinux 0x4757f392 rproc_detach +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x477b7a27 vfs_fadvise +EXPORT_SYMBOL vmlinux 0x4787b730 qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0x478f80f9 fwnode_mdio_find_device +EXPORT_SYMBOL vmlinux 0x479137ca imx_scu_irq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x4793513f bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x47b45d36 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x47b8fdaf security_socket_socketpair +EXPORT_SYMBOL vmlinux 0x47bf8b75 vfs_symlink +EXPORT_SYMBOL vmlinux 0x47c087b7 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x47c20f8a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47d92c03 mipi_dsi_dcs_get_pixel_format +EXPORT_SYMBOL vmlinux 0x47e70229 v7_flush_user_cache_range +EXPORT_SYMBOL vmlinux 0x47f757de elf_platform +EXPORT_SYMBOL vmlinux 0x47ff659d gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x48074c22 dquot_disable +EXPORT_SYMBOL vmlinux 0x481039ce inetdev_by_index +EXPORT_SYMBOL vmlinux 0x4811f484 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0x481814c4 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x48198fe3 csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x48211a92 timestamp_truncate +EXPORT_SYMBOL vmlinux 0x483650a5 ppp_register_channel +EXPORT_SYMBOL vmlinux 0x4843342f pagecache_get_page +EXPORT_SYMBOL vmlinux 0x4845aa0c dma_unmap_resource +EXPORT_SYMBOL vmlinux 0x4848cfb1 phy_mipi_dphy_get_default_config +EXPORT_SYMBOL vmlinux 0x484a6395 con_is_bound +EXPORT_SYMBOL vmlinux 0x484d559a pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x484f6edf ktime_get_coarse_real_ts64 +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486500bb inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x48661eae register_sysctl_mount_point +EXPORT_SYMBOL vmlinux 0x4871d75d clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x4886b229 tegra_ivc_write_get_next_frame +EXPORT_SYMBOL vmlinux 0x488f865f uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0x48a3fc08 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x48a5b067 __machine_arch_type +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48aeb5c1 serio_reconnect +EXPORT_SYMBOL vmlinux 0x48b99a13 vme_lm_free +EXPORT_SYMBOL vmlinux 0x48c3c365 sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0x48c3fd49 pneigh_lookup +EXPORT_SYMBOL vmlinux 0x48d27375 __bitmap_intersects +EXPORT_SYMBOL vmlinux 0x48d6cbcd tcp_peek_len +EXPORT_SYMBOL vmlinux 0x49037cbc processor +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x49046e7c __free_pages +EXPORT_SYMBOL vmlinux 0x4908ec78 vmap +EXPORT_SYMBOL vmlinux 0x490a800e blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0x490f1937 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x491d2253 pci_assign_resource +EXPORT_SYMBOL vmlinux 0x492ab3c8 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x495231ea mul_u64_u64_div_u64 +EXPORT_SYMBOL vmlinux 0x495dde33 mmc_cqe_request_done +EXPORT_SYMBOL vmlinux 0x497115e6 kthread_create_on_cpu +EXPORT_SYMBOL vmlinux 0x4976e6f5 netdev_name_in_use +EXPORT_SYMBOL vmlinux 0x49871971 _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x49894d72 request_key_rcu +EXPORT_SYMBOL vmlinux 0x49933f4c input_set_timestamp +EXPORT_SYMBOL vmlinux 0x49970de8 finish_wait +EXPORT_SYMBOL vmlinux 0x499f0ecf nd_sb_checksum +EXPORT_SYMBOL vmlinux 0x49a7a104 security_sk_clone +EXPORT_SYMBOL vmlinux 0x49b66fd6 xsk_tx_peek_desc +EXPORT_SYMBOL vmlinux 0x49c0926f __traceiter_module_get +EXPORT_SYMBOL vmlinux 0x49c29b4e phy_read_mmd +EXPORT_SYMBOL vmlinux 0x49d0ec64 mount_subtree +EXPORT_SYMBOL vmlinux 0x49d61380 __traceiter_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x49e14e96 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0x49e2bff8 proto_register +EXPORT_SYMBOL vmlinux 0x49ebacbd _clear_bit +EXPORT_SYMBOL vmlinux 0x49f26466 kstrndup +EXPORT_SYMBOL vmlinux 0x49f98082 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x49ff1c3a netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x4a08c255 dma_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x4a1530a5 nand_ecc_init_ctx +EXPORT_SYMBOL vmlinux 0x4a20d720 phy_sfp_probe +EXPORT_SYMBOL vmlinux 0x4a3b1cdf nvdimm_namespace_disk_name +EXPORT_SYMBOL vmlinux 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL vmlinux 0x4a603961 netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0x4a6c5997 nand_ecc_get_on_die_hw_engine +EXPORT_SYMBOL vmlinux 0x4a7e20c8 sk_wait_data +EXPORT_SYMBOL vmlinux 0x4a93576a ucc_fast_free +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4a9a22e5 ip_check_defrag +EXPORT_SYMBOL vmlinux 0x4aa36692 ppp_input_error +EXPORT_SYMBOL vmlinux 0x4ab4a228 devm_ioremap +EXPORT_SYMBOL vmlinux 0x4ade86b5 hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0x4af388a4 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x4af6ddf0 kstrtou16 +EXPORT_SYMBOL vmlinux 0x4b050e23 inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0x4b23769c blk_integrity_compare +EXPORT_SYMBOL vmlinux 0x4b33ffbf sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x4b3e159a napi_disable +EXPORT_SYMBOL vmlinux 0x4b50843e netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0x4b59966c devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x4b5f365c tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b60c262 netlink_capable +EXPORT_SYMBOL vmlinux 0x4b8a8174 security_dentry_init_security +EXPORT_SYMBOL vmlinux 0x4b991a35 blk_pre_runtime_resume +EXPORT_SYMBOL vmlinux 0x4babb8b0 __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0x4bb06b22 tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0x4bb0c148 rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0x4be85a03 memweight +EXPORT_SYMBOL vmlinux 0x4bef1c67 empty_name +EXPORT_SYMBOL vmlinux 0x4bf75ed1 linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x4bf992a0 tty_check_change +EXPORT_SYMBOL vmlinux 0x4bfdcefa __memset32 +EXPORT_SYMBOL vmlinux 0x4bfe14ca bio_split +EXPORT_SYMBOL vmlinux 0x4c110721 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x4c1cca3b cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0x4c2ae700 strnstr +EXPORT_SYMBOL vmlinux 0x4c316cd1 add_watch_to_object +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c6c6036 nf_log_register +EXPORT_SYMBOL vmlinux 0x4c784fc2 try_to_release_page +EXPORT_SYMBOL vmlinux 0x4cba441d iwe_stream_add_event +EXPORT_SYMBOL vmlinux 0x4cc2854d tegra114_clock_assert_dfll_dvco_reset +EXPORT_SYMBOL vmlinux 0x4d0d163d copy_page +EXPORT_SYMBOL vmlinux 0x4d0f98c1 __netif_schedule +EXPORT_SYMBOL vmlinux 0x4d23ff0a mtd_concat_create +EXPORT_SYMBOL vmlinux 0x4d28215a tty_port_destroy +EXPORT_SYMBOL vmlinux 0x4d3286ad __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x4d399f4b cros_ec_prepare_tx +EXPORT_SYMBOL vmlinux 0x4d3c153f sigprocmask +EXPORT_SYMBOL vmlinux 0x4d45d89e udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x4d4d94e6 devfreq_monitor_start +EXPORT_SYMBOL vmlinux 0x4d514485 xa_store +EXPORT_SYMBOL vmlinux 0x4d9033bb zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4d9b6d35 snd_pcm_format_size +EXPORT_SYMBOL vmlinux 0x4da0c60b skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x4dbafb58 inet_add_offload +EXPORT_SYMBOL vmlinux 0x4dce47d8 _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0x4dd81f44 mipi_dsi_dcs_set_display_brightness +EXPORT_SYMBOL vmlinux 0x4dddcc81 mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0x4dec6038 memscan +EXPORT_SYMBOL vmlinux 0x4df2ea84 gen_estimator_read +EXPORT_SYMBOL vmlinux 0x4df43e18 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x4e05bdec mempool_init_node +EXPORT_SYMBOL vmlinux 0x4e25a35a pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x4e2b76ef buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x4e2e74c1 qcom_scm_io_readl +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e36cdc4 __ubsan_handle_divrem_overflow +EXPORT_SYMBOL vmlinux 0x4e43613d register_sound_special +EXPORT_SYMBOL vmlinux 0x4e4745ed scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x4e5c2c77 km_report +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4ea3dc0b serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x4eada8f7 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x4ec60cb1 of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0x4edc439a file_modified +EXPORT_SYMBOL vmlinux 0x4ee98ebd tcp_have_smc +EXPORT_SYMBOL vmlinux 0x4efe19ac blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x4f05f018 neigh_xmit +EXPORT_SYMBOL vmlinux 0x4f0ba30b tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x4f0c6702 seq_printf +EXPORT_SYMBOL vmlinux 0x4f0fc3ae of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x4f1ba73a __ip_select_ident +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f1e0842 blk_rq_init +EXPORT_SYMBOL vmlinux 0x4f20a5e0 blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0x4f20d80b zstd_min_clevel +EXPORT_SYMBOL vmlinux 0x4f2250ba rtc_tm_to_time64 +EXPORT_SYMBOL vmlinux 0x4f2dfb53 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x4f339a64 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x4f4efb08 rproc_boot +EXPORT_SYMBOL vmlinux 0x4f5e30b4 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0x4f7ecd5e filemap_invalidate_unlock_two +EXPORT_SYMBOL vmlinux 0x4f80eba3 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL vmlinux 0x4f82aded xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0x4f89c9de gpmc_cs_free +EXPORT_SYMBOL vmlinux 0x4f8d4231 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x4fcd5178 of_n_size_cells +EXPORT_SYMBOL vmlinux 0x4fef3d7b tegra_ivc_init +EXPORT_SYMBOL vmlinux 0x4fef3ef4 completion_done +EXPORT_SYMBOL vmlinux 0x4ff7cc3c dev_printk_emit +EXPORT_SYMBOL vmlinux 0x4ffb59bf __SCK__tp_func_kfree +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x500a1a2f ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0x500e79cb blk_queue_max_secure_erase_sectors +EXPORT_SYMBOL vmlinux 0x50132873 vfs_ioctl +EXPORT_SYMBOL vmlinux 0x50283cac devm_kvasprintf +EXPORT_SYMBOL vmlinux 0x50288a40 serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0x5028c57d begin_new_exec +EXPORT_SYMBOL vmlinux 0x50293b20 register_sound_mixer +EXPORT_SYMBOL vmlinux 0x502b6647 mempool_create_node +EXPORT_SYMBOL vmlinux 0x503600c7 vfs_setpos +EXPORT_SYMBOL vmlinux 0x503bd137 snd_interval_ranges +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +EXPORT_SYMBOL vmlinux 0x507de6a6 rproc_add +EXPORT_SYMBOL vmlinux 0x5081ba27 nexthop_set_hw_flags +EXPORT_SYMBOL vmlinux 0x5089f45f ip_send_check +EXPORT_SYMBOL vmlinux 0x5092e96a blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x50931a80 pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x50944630 seq_list_start_head_rcu +EXPORT_SYMBOL vmlinux 0x50a4698c fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0x50b55f99 netdev_state_change +EXPORT_SYMBOL vmlinux 0x50b5da23 put_fs_context +EXPORT_SYMBOL vmlinux 0x50b73ce2 rfkill_find_type +EXPORT_SYMBOL vmlinux 0x50b78390 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x50b80992 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50bf50fd __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x50d035c2 vsscanf +EXPORT_SYMBOL vmlinux 0x50d71bcf gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0x50d87ee0 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0x50f85302 __arm_smccc_hvc +EXPORT_SYMBOL vmlinux 0x50fd6103 dma_fence_signal +EXPORT_SYMBOL vmlinux 0x5119e1d0 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0x511f142b devfreq_remove_governor +EXPORT_SYMBOL vmlinux 0x51238992 inet_frags_init +EXPORT_SYMBOL vmlinux 0x512e891c posix_acl_chmod +EXPORT_SYMBOL vmlinux 0x513bd99a xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x513ef240 pci_dev_driver +EXPORT_SYMBOL vmlinux 0x51480110 __tracepoint_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x514a62ec dq_data_lock +EXPORT_SYMBOL vmlinux 0x515305a2 wireless_send_event +EXPORT_SYMBOL vmlinux 0x515a99d1 setattr_copy +EXPORT_SYMBOL vmlinux 0x5163521a skb_queue_purge +EXPORT_SYMBOL vmlinux 0x51641162 opal_unlock_from_suspend +EXPORT_SYMBOL vmlinux 0x51679d22 mii_check_media +EXPORT_SYMBOL vmlinux 0x516aac88 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x519578f7 hmm_range_fault +EXPORT_SYMBOL vmlinux 0x51a910c0 arm_copy_to_user +EXPORT_SYMBOL vmlinux 0x51aa2c72 snd_component_add +EXPORT_SYMBOL vmlinux 0x51e77c97 pfn_valid +EXPORT_SYMBOL vmlinux 0x51f16cdb vfio_info_cap_shift +EXPORT_SYMBOL vmlinux 0x51fff388 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0x5203d176 cmd_db_ready +EXPORT_SYMBOL vmlinux 0x521fff50 mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x522fb0e4 __hsiphash_unaligned +EXPORT_SYMBOL vmlinux 0x524b31ea param_ops_short +EXPORT_SYMBOL vmlinux 0x526c3a6c jiffies +EXPORT_SYMBOL vmlinux 0x527894f0 unregister_shrinker +EXPORT_SYMBOL vmlinux 0x528c709d simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x528dbcbb ethtool_get_phc_vclocks +EXPORT_SYMBOL vmlinux 0x5294ac79 seq_file_path +EXPORT_SYMBOL vmlinux 0x52d23b42 mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL vmlinux 0x52f2850a imx_sc_pm_cpu_start +EXPORT_SYMBOL vmlinux 0x53027541 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x5305cff5 __register_chrdev +EXPORT_SYMBOL vmlinux 0x5309a351 tc6393xb_lcd_set_power +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x531886d0 of_get_cpu_node +EXPORT_SYMBOL vmlinux 0x5338184f ethtool_sprintf +EXPORT_SYMBOL vmlinux 0x533b11ac genl_notify +EXPORT_SYMBOL vmlinux 0x533fb51d folio_mark_accessed +EXPORT_SYMBOL vmlinux 0x5340530f proc_create_mount_point +EXPORT_SYMBOL vmlinux 0x5349b2e2 dquot_commit +EXPORT_SYMBOL vmlinux 0x536060af radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x537b38b7 register_framebuffer +EXPORT_SYMBOL vmlinux 0x53918fac dma_resv_fini +EXPORT_SYMBOL vmlinux 0x53aeb013 hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x53b7315d bdi_alloc +EXPORT_SYMBOL vmlinux 0x53f381f5 of_phy_get_and_connect +EXPORT_SYMBOL vmlinux 0x53f8ced7 page_pool_ethtool_stats_get_strings +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x5447ea96 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x54542f28 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x547633bd end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x5491fcb6 eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0x549e201d of_find_mipi_dsi_host_by_node +EXPORT_SYMBOL vmlinux 0x54a08b38 dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0x54a4ba2b scsi_remove_target +EXPORT_SYMBOL vmlinux 0x54a9800c param_ops_bool +EXPORT_SYMBOL vmlinux 0x54b0cd1d inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0x54b1fac6 __ubsan_handle_load_invalid_value +EXPORT_SYMBOL vmlinux 0x54c4babf seq_open +EXPORT_SYMBOL vmlinux 0x54c8aa50 phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0x54cb4444 register_md_personality +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54e89058 capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0x54f55812 console_stop +EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit +EXPORT_SYMBOL vmlinux 0x5514b698 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x55358636 netpoll_setup +EXPORT_SYMBOL vmlinux 0x553c2aff vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x553cedb8 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x554482ca serio_open +EXPORT_SYMBOL vmlinux 0x5545a639 ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +EXPORT_SYMBOL vmlinux 0x55522095 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x556051aa n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x55610511 default_qdisc_ops +EXPORT_SYMBOL vmlinux 0x5562e403 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x559e0393 mipi_dsi_dcs_write_buffer +EXPORT_SYMBOL vmlinux 0x55b3b106 __inet_hash +EXPORT_SYMBOL vmlinux 0x55bad8be alloc_buffer_head +EXPORT_SYMBOL vmlinux 0x55bed1af __module_put_and_kthread_exit +EXPORT_SYMBOL vmlinux 0x55ce8b51 xp_dma_map +EXPORT_SYMBOL vmlinux 0x55d8b59e mipi_dsi_dcs_nop +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x55e8b0ef vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0x55eb7e5c tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x55eb869a _raw_read_trylock +EXPORT_SYMBOL vmlinux 0x5608c6df phy_read_paged +EXPORT_SYMBOL vmlinux 0x560f04de jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x561a21bf of_match_device +EXPORT_SYMBOL vmlinux 0x561c2d3d is_bad_inode +EXPORT_SYMBOL vmlinux 0x56200414 dput +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x56390598 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x563952a3 kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0x56406513 ptp_cancel_worker_sync +EXPORT_SYMBOL vmlinux 0x5643c434 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x5648d379 param_get_ullong +EXPORT_SYMBOL vmlinux 0x56546b11 tty_do_resize +EXPORT_SYMBOL vmlinux 0x565671a6 input_free_device +EXPORT_SYMBOL vmlinux 0x565f82e1 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0x5678821e pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x5689a2b0 skb_vlan_push +EXPORT_SYMBOL vmlinux 0x568b83b1 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0x569af675 kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0x56a004e1 skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0x56a23c9a eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x56c150b1 __inc_node_page_state +EXPORT_SYMBOL vmlinux 0x56c72948 pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0x56c76ec3 mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56cc324b truncate_setsize +EXPORT_SYMBOL vmlinux 0x56df326b snd_dma_buffer_mmap +EXPORT_SYMBOL vmlinux 0x56e1ab7d scm_detach_fds +EXPORT_SYMBOL vmlinux 0x570efa7c generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x5726d108 tty_name +EXPORT_SYMBOL vmlinux 0x572a4253 __udp_disconnect +EXPORT_SYMBOL vmlinux 0x5733f705 netif_inherit_tso_max +EXPORT_SYMBOL vmlinux 0x57438f33 skb_ext_add +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x57537046 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x57637eb5 clk_get +EXPORT_SYMBOL vmlinux 0x57660334 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x576990e5 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x5770303d sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0x577d9170 rio_query_mport +EXPORT_SYMBOL vmlinux 0x578097bf jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x57ba073f generic_fillattr +EXPORT_SYMBOL vmlinux 0x57c2406c blk_mq_start_request +EXPORT_SYMBOL vmlinux 0x57c95047 forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0x57ce3b82 xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0x57ceedb1 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0x57d8588b phy_mac_interrupt +EXPORT_SYMBOL vmlinux 0x57e5170c qcom_scm_iommu_secure_ptbl_size +EXPORT_SYMBOL vmlinux 0x57eed6c5 kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x57f38cdc qe_get_firmware_info +EXPORT_SYMBOL vmlinux 0x58023273 pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0x5809dab0 vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0x58109899 km_state_notify +EXPORT_SYMBOL vmlinux 0x5818fe3c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x581c6030 arp_create +EXPORT_SYMBOL vmlinux 0x581cde4e up +EXPORT_SYMBOL vmlinux 0x581f98da zlib_inflate +EXPORT_SYMBOL vmlinux 0x582b6275 xfrm_if_unregister_cb +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x583ce735 param_get_uint +EXPORT_SYMBOL vmlinux 0x584463d4 security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0x584c7c64 of_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x586048e0 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0x586d8616 __scm_send +EXPORT_SYMBOL vmlinux 0x587b0954 kvasprintf +EXPORT_SYMBOL vmlinux 0x587b892e qe_get_num_of_risc +EXPORT_SYMBOL vmlinux 0x5898daf3 fb_class +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58c7e299 proc_set_size +EXPORT_SYMBOL vmlinux 0x58cb983a ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x58d8d2b7 input_flush_device +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x58ea0c9a dev_get_iflink +EXPORT_SYMBOL vmlinux 0x58fad869 __var_waitqueue +EXPORT_SYMBOL vmlinux 0x590c51bf in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x591cea56 skb_checksum_setup +EXPORT_SYMBOL vmlinux 0x5928e7b1 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0x592b5bd9 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x592eb649 filemap_range_has_page +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x594e1317 __modsi3 +EXPORT_SYMBOL vmlinux 0x59511b59 flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x59548e56 mipi_dsi_compression_mode +EXPORT_SYMBOL vmlinux 0x59552924 jbd2_submit_inode_data +EXPORT_SYMBOL vmlinux 0x5984901c thread_group_exited +EXPORT_SYMBOL vmlinux 0x59871448 input_close_device +EXPORT_SYMBOL vmlinux 0x599b4888 qe_setbrg +EXPORT_SYMBOL vmlinux 0x59a17bfc tegra114_clock_tune_cpu_trimmers_high +EXPORT_SYMBOL vmlinux 0x59a30fa4 tegra_ivc_read_advance +EXPORT_SYMBOL vmlinux 0x59b438ec __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x59b7cab6 mempool_resize +EXPORT_SYMBOL vmlinux 0x59cf0b3b zstd_compress_bound +EXPORT_SYMBOL vmlinux 0x59d29dab v7_flush_kern_dcache_area +EXPORT_SYMBOL vmlinux 0x59e5070d __do_div64 +EXPORT_SYMBOL vmlinux 0x59f6e51c nvdimm_bus_lock +EXPORT_SYMBOL vmlinux 0x59fc3baa __sk_receive_skb +EXPORT_SYMBOL vmlinux 0x5a0429b5 pcim_set_mwi +EXPORT_SYMBOL vmlinux 0x5a049f30 update_region +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a14de15 radix_tree_insert +EXPORT_SYMBOL vmlinux 0x5a1817f9 invalidate_disk +EXPORT_SYMBOL vmlinux 0x5a1a56a4 pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0x5a37495c d_invalidate +EXPORT_SYMBOL vmlinux 0x5a451cbb softnet_data +EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle +EXPORT_SYMBOL vmlinux 0x5a51a819 filemap_fdatawrite_wbc +EXPORT_SYMBOL vmlinux 0x5a7d35f5 snd_pcm_release_substream +EXPORT_SYMBOL vmlinux 0x5a831179 skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0x5a8df9de register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x5a980d6f key_link +EXPORT_SYMBOL vmlinux 0x5a99a0d7 flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0x5aa4669a param_set_ulong +EXPORT_SYMBOL vmlinux 0x5aa9b23b __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x5ae1154b __traceiter_kfree +EXPORT_SYMBOL vmlinux 0x5af1df32 vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0x5b04be5a disable_fiq +EXPORT_SYMBOL vmlinux 0x5b062284 gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0x5b2237b3 vme_bus_type +EXPORT_SYMBOL vmlinux 0x5b27e8e6 proc_create_single_data +EXPORT_SYMBOL vmlinux 0x5b41adb3 nand_ecc_put_on_host_hw_engine +EXPORT_SYMBOL vmlinux 0x5b497a2b netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0x5b5280a3 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x5b54903b qcom_scm_pas_mem_setup +EXPORT_SYMBOL vmlinux 0x5b60ad9b qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0x5bbe49f4 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x5bd0909d genphy_setup_forced +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5bda4214 _raw_read_lock +EXPORT_SYMBOL vmlinux 0x5bdab269 jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x5bdb7603 sock_copy_user_timeval +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5bfcdde4 __i2c_transfer +EXPORT_SYMBOL vmlinux 0x5c050a40 simple_map_init +EXPORT_SYMBOL vmlinux 0x5c1e5b1d param_get_bool +EXPORT_SYMBOL vmlinux 0x5c2ef9d5 io_uring_get_socket +EXPORT_SYMBOL vmlinux 0x5c3c7387 kstrtoull +EXPORT_SYMBOL vmlinux 0x5c4b98d3 vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0x5c5ef6a8 pci_enable_ptm +EXPORT_SYMBOL vmlinux 0x5c716976 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x5c76c999 fixed_size_llseek +EXPORT_SYMBOL vmlinux 0x5c7843b7 xsk_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0x5c791309 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0x5c7f1284 int_sqrt64 +EXPORT_SYMBOL vmlinux 0x5c9284a0 processor_id +EXPORT_SYMBOL vmlinux 0x5ca5fea0 mmc_cqe_post_req +EXPORT_SYMBOL vmlinux 0x5cbd8e69 __crc32c_le +EXPORT_SYMBOL vmlinux 0x5cc3e87f write_inode_now +EXPORT_SYMBOL vmlinux 0x5ccb33aa dst_alloc +EXPORT_SYMBOL vmlinux 0x5cd7c01c pci_resize_resource +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5cff155b jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x5d0026df __i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x5d01fce6 set_page_writeback +EXPORT_SYMBOL vmlinux 0x5d088d61 scsi_target_resume +EXPORT_SYMBOL vmlinux 0x5d14a80e ip_frag_init +EXPORT_SYMBOL vmlinux 0x5d20b04d mdio_find_bus +EXPORT_SYMBOL vmlinux 0x5d363fda ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x5d37d658 dim_park_tired +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d512088 amba_release_regions +EXPORT_SYMBOL vmlinux 0x5d515151 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x5d6a2e9e kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x5d6a55ed snd_pcm_set_managed_buffer_all +EXPORT_SYMBOL vmlinux 0x5d6e1eb8 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x5d765a9e neigh_seq_start +EXPORT_SYMBOL vmlinux 0x5d80e8fa generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x5d82b444 nand_read_oob_std +EXPORT_SYMBOL vmlinux 0x5d99b8d3 vme_irq_handler +EXPORT_SYMBOL vmlinux 0x5dafa0d4 kill_litter_super +EXPORT_SYMBOL vmlinux 0x5db786f0 rproc_coredump_set_elf_info +EXPORT_SYMBOL vmlinux 0x5dbb77d0 dm_io +EXPORT_SYMBOL vmlinux 0x5dcf6341 outer_cache +EXPORT_SYMBOL vmlinux 0x5dd211dc register_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0x5ddac875 abort_creds +EXPORT_SYMBOL vmlinux 0x5de64ff4 folio_account_redirty +EXPORT_SYMBOL vmlinux 0x5e078111 scsi_scan_host +EXPORT_SYMBOL vmlinux 0x5e079ae1 __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e1790b5 fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0x5e2df6a2 ww_mutex_trylock +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e382897 pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0x5e42bc3a sk_free +EXPORT_SYMBOL vmlinux 0x5e539fb0 vga_remove_vgacon +EXPORT_SYMBOL vmlinux 0x5e54e5b9 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x5e585844 devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0x5e6f91f9 tegra_powergate_remove_clamping +EXPORT_SYMBOL vmlinux 0x5e7e03a9 xz_dec_microlzma_run +EXPORT_SYMBOL vmlinux 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL vmlinux 0x5e8a6f0a netif_carrier_on +EXPORT_SYMBOL vmlinux 0x5e8dfd90 sock_no_accept +EXPORT_SYMBOL vmlinux 0x5e946146 block_write_end +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e980394 ata_std_end_eh +EXPORT_SYMBOL vmlinux 0x5e9d4372 mipi_dsi_host_unregister +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ebf6ea3 __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x5ec2b92b dup_iter +EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed05bf6 hdmi_audio_infoframe_pack +EXPORT_SYMBOL vmlinux 0x5ed3bbd1 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5eed7262 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x5f098b2a in6addr_interfacelocal_allrouters +EXPORT_SYMBOL vmlinux 0x5f16bf3f pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x5f2ba55e security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x5f2c9501 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x5f2cb0cb reuseport_add_sock +EXPORT_SYMBOL vmlinux 0x5f5441c8 __ubsan_handle_alignment_assumption +EXPORT_SYMBOL vmlinux 0x5f5ef1e5 pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0x5f6b889c rproc_va_to_pa +EXPORT_SYMBOL vmlinux 0x5f754e5a memset +EXPORT_SYMBOL vmlinux 0x5f921d25 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x5fb01358 alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x5fb81f3c fiemap_prep +EXPORT_SYMBOL vmlinux 0x5ff11cc3 pcibios_min_io +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x600e6126 sk_alloc +EXPORT_SYMBOL vmlinux 0x6019236e mii_check_gmii_support +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x602c96f0 copy_to_user_fromio +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x607062ba md_done_sync +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x6098f7ed cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL vmlinux 0x60aed060 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x60b07dd7 snd_pcm_new +EXPORT_SYMBOL vmlinux 0x60bffe6d div64_u64 +EXPORT_SYMBOL vmlinux 0x60c6de62 md_integrity_register +EXPORT_SYMBOL vmlinux 0x60d5c72d phy_device_remove +EXPORT_SYMBOL vmlinux 0x60d8ab30 vme_lm_get +EXPORT_SYMBOL vmlinux 0x61128d91 pci_fixup_device +EXPORT_SYMBOL vmlinux 0x61226fb1 __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x61230dba scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x61347034 mb_cache_entry_delete_or_get +EXPORT_SYMBOL vmlinux 0x6136fcbf md_unregister_thread +EXPORT_SYMBOL vmlinux 0x613bf785 tcp_mtu_to_mss +EXPORT_SYMBOL vmlinux 0x614e85fb pci_get_class +EXPORT_SYMBOL vmlinux 0x615327ee folio_migrate_mapping +EXPORT_SYMBOL vmlinux 0x6156c7f4 net_dim +EXPORT_SYMBOL vmlinux 0x6157f687 remove_watch_from_object +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +EXPORT_SYMBOL vmlinux 0x6164da2f rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0x618a0826 snd_timer_start +EXPORT_SYMBOL vmlinux 0x619139cd blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x61b76bb9 smp_call_function_many +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61c5c37e napi_build_skb +EXPORT_SYMBOL vmlinux 0x61c76b3a proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x61dfdc52 reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x61ee1387 iov_iter_xarray +EXPORT_SYMBOL vmlinux 0x61fab985 devfreq_update_interval +EXPORT_SYMBOL vmlinux 0x620aaaf9 snd_device_register +EXPORT_SYMBOL vmlinux 0x6214aef2 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x62430298 of_get_nand_ecc_user_config +EXPORT_SYMBOL vmlinux 0x62471091 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x624738e8 file_ns_capable +EXPORT_SYMBOL vmlinux 0x625b4e4d seq_read_iter +EXPORT_SYMBOL vmlinux 0x626baa2a bprm_change_interp +EXPORT_SYMBOL vmlinux 0x626fbaba folio_unlock +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62792e78 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x627f14ff seq_vprintf +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x62880e10 dma_set_mask +EXPORT_SYMBOL vmlinux 0x62910092 generic_update_time +EXPORT_SYMBOL vmlinux 0x62a7194c netdev_core_stats_alloc +EXPORT_SYMBOL vmlinux 0x62ab9022 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x62b9567c override_creds +EXPORT_SYMBOL vmlinux 0x62cf7042 balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0x62d1b93e of_platform_device_create +EXPORT_SYMBOL vmlinux 0x62d3fb85 pci_request_irq +EXPORT_SYMBOL vmlinux 0x62d8ce0d jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0x62f576d9 trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0x630580ad xsk_tx_release +EXPORT_SYMBOL vmlinux 0x63076a8e tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0x6310a826 qcom_scm_pas_init_image +EXPORT_SYMBOL vmlinux 0x6315c42c zstd_get_params +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x632998b2 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x633a13f0 sock_queue_rcv_skb_reason +EXPORT_SYMBOL vmlinux 0x6342f99f mipi_dsi_create_packet +EXPORT_SYMBOL vmlinux 0x63441561 vfs_unlink +EXPORT_SYMBOL vmlinux 0x6346d0fc wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x6351ac42 zstd_get_error_name +EXPORT_SYMBOL vmlinux 0x636463dc inet6_ioctl +EXPORT_SYMBOL vmlinux 0x636ee43e tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x63785d8d __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x63810be7 insert_inode_locked +EXPORT_SYMBOL vmlinux 0x6385d829 input_set_keycode +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63a9f6dc rproc_of_resm_mem_entry_init +EXPORT_SYMBOL vmlinux 0x63b3763c jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x63b480b6 pps_event +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63c85c71 __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x63c9e8f0 mipi_dsi_dcs_read +EXPORT_SYMBOL vmlinux 0x63cdba08 dev_set_alias +EXPORT_SYMBOL vmlinux 0x63d88359 dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0x63e23d37 mmc_of_parse_voltage +EXPORT_SYMBOL vmlinux 0x63e32fc2 of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63f23d15 __skb_pad +EXPORT_SYMBOL vmlinux 0x63f7c87c iunique +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x642e1b65 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0x644f44a3 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x6455d53a set_user_nice +EXPORT_SYMBOL vmlinux 0x647af474 prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x64833350 i2c_smbus_pec +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64add786 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x64b5ee24 vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0x64bd0fb3 dev_mc_sync +EXPORT_SYMBOL vmlinux 0x64c789e8 finish_no_open +EXPORT_SYMBOL vmlinux 0x64ca5f51 lookup_one_unlocked +EXPORT_SYMBOL vmlinux 0x64cd7ec0 fasync_helper +EXPORT_SYMBOL vmlinux 0x64e2a002 seq_dentry +EXPORT_SYMBOL vmlinux 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x6513d54e ll_rw_block +EXPORT_SYMBOL vmlinux 0x6514c1e6 flow_get_u32_src +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x651eb57d snd_pcm_lib_malloc_pages +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x652bd95a __brelse +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65464c16 clkdev_drop +EXPORT_SYMBOL vmlinux 0x654e31ab inode_init_always +EXPORT_SYMBOL vmlinux 0x656aa79e rawnand_sw_bch_init +EXPORT_SYMBOL vmlinux 0x6578533e prepare_to_wait +EXPORT_SYMBOL vmlinux 0x657a7ff5 serio_rescan +EXPORT_SYMBOL vmlinux 0x657cd88d tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0x65855f54 __sk_dst_check +EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset +EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc +EXPORT_SYMBOL vmlinux 0x65a48eb3 __ClearPageMovable +EXPORT_SYMBOL vmlinux 0x65a4cf09 nf_log_packet +EXPORT_SYMBOL vmlinux 0x65ba43bb ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x65d411e9 idr_get_next +EXPORT_SYMBOL vmlinux 0x65d9e877 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e3be07 init_task +EXPORT_SYMBOL vmlinux 0x65fe4894 mmc_add_host +EXPORT_SYMBOL vmlinux 0x660d2d3f dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x660f29d6 rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x662b6e64 udp_skb_destructor +EXPORT_SYMBOL vmlinux 0x6639de50 submit_bio_wait +EXPORT_SYMBOL vmlinux 0x66474aa4 neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0x665e2513 zstd_max_clevel +EXPORT_SYMBOL vmlinux 0x66657274 kmalloc_order +EXPORT_SYMBOL vmlinux 0x666863dc par_io_config_pin +EXPORT_SYMBOL vmlinux 0x666cdb60 md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x667b41bd filemap_flush +EXPORT_SYMBOL vmlinux 0x668bb9e4 __d_lookup_done +EXPORT_SYMBOL vmlinux 0x66aed8c5 csum_partial_copy_from_user +EXPORT_SYMBOL vmlinux 0x66c4139d sock_alloc_file +EXPORT_SYMBOL vmlinux 0x66d222a6 udp_set_csum +EXPORT_SYMBOL vmlinux 0x66de910e udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x66e1e138 mmc_free_host +EXPORT_SYMBOL vmlinux 0x670a1724 snd_ctl_unregister_ioctl +EXPORT_SYMBOL vmlinux 0x67139521 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x67284bbe security_path_mknod +EXPORT_SYMBOL vmlinux 0x67412d2f ucc_slow_enable +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x676bbc0f _set_bit +EXPORT_SYMBOL vmlinux 0x678b96ec dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x67b0e482 cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67c7010b sync_filesystem +EXPORT_SYMBOL vmlinux 0x67ea2c91 pldmfw_op_pci_match_record +EXPORT_SYMBOL vmlinux 0x67ea6e61 trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0x67fcd2ea deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x67fdecf2 phy_print_status +EXPORT_SYMBOL vmlinux 0x680d6942 kset_register +EXPORT_SYMBOL vmlinux 0x680e4c4b scsi_device_get +EXPORT_SYMBOL vmlinux 0x68124fd8 sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0x68163e03 sg_miter_next +EXPORT_SYMBOL vmlinux 0x681970ea vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x681e9b79 vme_lm_request +EXPORT_SYMBOL vmlinux 0x683237c3 mpage_writepage +EXPORT_SYMBOL vmlinux 0x6857acd8 input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0x68604fa0 pci_write_config_byte +EXPORT_SYMBOL vmlinux 0x686a062a security_inet_conn_established +EXPORT_SYMBOL vmlinux 0x686ecc0e snd_card_file_add +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x687bc746 tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0x688ade11 nd_dev_to_uuid +EXPORT_SYMBOL vmlinux 0x689235cc sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x68956f1e max8925_reg_read +EXPORT_SYMBOL vmlinux 0x68a11012 bpf_link_put +EXPORT_SYMBOL vmlinux 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL vmlinux 0x68a3bd45 dev_uc_init +EXPORT_SYMBOL vmlinux 0x68ade11a devm_register_netdev +EXPORT_SYMBOL vmlinux 0x68b71e8e pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x68b8bfd9 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0x68b9e41e filemap_map_pages +EXPORT_SYMBOL vmlinux 0x68c97be4 netdev_offload_xstats_push_delta +EXPORT_SYMBOL vmlinux 0x68d67391 xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x68d8cb2c dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0x68dc467c tcp_seq_next +EXPORT_SYMBOL vmlinux 0x68dfa19d truncate_pagecache +EXPORT_SYMBOL vmlinux 0x68f7bed9 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0x68fb581a icst307_idx2s +EXPORT_SYMBOL vmlinux 0x690630df inet_stream_ops +EXPORT_SYMBOL vmlinux 0x6917a77e __traceiter_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x69187277 iov_iter_revert +EXPORT_SYMBOL vmlinux 0x691938f8 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0x692560d6 dev_uc_sync +EXPORT_SYMBOL vmlinux 0x6929ffc0 param_ops_ushort +EXPORT_SYMBOL vmlinux 0x69425296 pci_read_config_word +EXPORT_SYMBOL vmlinux 0x6953c357 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x697a54cf dma_resv_init +EXPORT_SYMBOL vmlinux 0x697ca772 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0x697cb0fb sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0x698c94e6 xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0x69b40260 backlight_device_get_by_type +EXPORT_SYMBOL vmlinux 0x69b4a285 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0x69dc6d00 poll_initwait +EXPORT_SYMBOL vmlinux 0x69de8757 vme_check_window +EXPORT_SYMBOL vmlinux 0x69e51d08 __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x69e9804c mfd_remove_devices +EXPORT_SYMBOL vmlinux 0x6a00f209 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x6a03751f sgl_free_order +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a25b3eb __mmap_lock_do_trace_acquire_returned +EXPORT_SYMBOL vmlinux 0x6a297758 kill_block_super +EXPORT_SYMBOL vmlinux 0x6a36a8f8 skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0x6a3bee65 snd_timer_open +EXPORT_SYMBOL vmlinux 0x6a4d6f1d __skb_recv_udp +EXPORT_SYMBOL vmlinux 0x6a5b5919 get_user_pages_remote +EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages +EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x6a602673 mmc_gpiod_request_cd +EXPORT_SYMBOL vmlinux 0x6a627089 kobject_put +EXPORT_SYMBOL vmlinux 0x6a62b4cf netif_receive_skb +EXPORT_SYMBOL vmlinux 0x6a631a8f scsi_done_direct +EXPORT_SYMBOL vmlinux 0x6a64a72a netlink_net_capable +EXPORT_SYMBOL vmlinux 0x6a6e05bf kstrtou8 +EXPORT_SYMBOL vmlinux 0x6a7c42ea cqhci_pltfm_init +EXPORT_SYMBOL vmlinux 0x6a8831e0 jiffies_64 +EXPORT_SYMBOL vmlinux 0x6a989bcb __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x6aa11aa6 sgl_free_n_order +EXPORT_SYMBOL vmlinux 0x6ab02d73 skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0x6ab59572 send_sig +EXPORT_SYMBOL vmlinux 0x6ac80c29 __tracepoint_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0x6ad7a335 prepare_creds +EXPORT_SYMBOL vmlinux 0x6add5c9a dmi_find_device +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6af7b21a packing +EXPORT_SYMBOL vmlinux 0x6afa2e43 mmc_can_gpio_ro +EXPORT_SYMBOL vmlinux 0x6b25ea22 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x6b26f4cf skb_checksum +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b498efc serial8250_do_pm +EXPORT_SYMBOL vmlinux 0x6b4e55db inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b604710 lockref_get_not_zero +EXPORT_SYMBOL vmlinux 0x6b6190d9 fb_blank +EXPORT_SYMBOL vmlinux 0x6b719644 __mmap_lock_do_trace_start_locking +EXPORT_SYMBOL vmlinux 0x6b76f65f jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x6b7b8480 pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6b979384 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x6b9a4525 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x6b9d77bb bdevname +EXPORT_SYMBOL vmlinux 0x6bb7a761 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0x6bb93d9e sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x6bbf358d ip_frag_next +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6be9ebd3 _snd_ctl_add_follower +EXPORT_SYMBOL vmlinux 0x6bf31015 mipi_dsi_dcs_set_tear_on +EXPORT_SYMBOL vmlinux 0x6bf5cf07 pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x6bf7d3c2 sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0x6c1397e5 inet_del_offload +EXPORT_SYMBOL vmlinux 0x6c14313b param_ops_string +EXPORT_SYMBOL vmlinux 0x6c1668ed mdio_device_register +EXPORT_SYMBOL vmlinux 0x6c1ce5ce strcspn +EXPORT_SYMBOL vmlinux 0x6c257ac0 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x6c2688bc iput +EXPORT_SYMBOL vmlinux 0x6c3ff9bb inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0x6c4bd1bc netif_rx +EXPORT_SYMBOL vmlinux 0x6c4f3514 dmaengine_get_unmap_data +EXPORT_SYMBOL vmlinux 0x6c5968e1 fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c73c01c kern_unmount_array +EXPORT_SYMBOL vmlinux 0x6c810e42 __xa_clear_mark +EXPORT_SYMBOL vmlinux 0x6c87396f ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0x6c93270f __serio_register_port +EXPORT_SYMBOL vmlinux 0x6c9a0a55 inet_ioctl +EXPORT_SYMBOL vmlinux 0x6caae680 fb_get_mode +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6ce9f920 __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x6cf0d67d qe_get_num_of_snums +EXPORT_SYMBOL vmlinux 0x6d0160a8 d_set_d_op +EXPORT_SYMBOL vmlinux 0x6d13022f flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0x6d243cb0 phy_ethtool_get_sset_count +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d2a2486 page_mapped +EXPORT_SYMBOL vmlinux 0x6d2c9dff skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0x6d2d3a45 snd_pcm_hw_refine +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d4699e7 pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0x6d54c6f3 tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0x6d5bcc35 __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0x6d625bba nand_ecc_sw_hamming_get_engine +EXPORT_SYMBOL vmlinux 0x6d662533 _find_first_bit_le +EXPORT_SYMBOL vmlinux 0x6d6720cd scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6d830922 kfree_skb_reason +EXPORT_SYMBOL vmlinux 0x6d89b199 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x6d91fc27 of_get_compatible_child +EXPORT_SYMBOL vmlinux 0x6d92a71d snd_card_free +EXPORT_SYMBOL vmlinux 0x6d9344ad inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0x6daff194 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x6dba9051 xz_dec_microlzma_end +EXPORT_SYMBOL vmlinux 0x6dcf857f uuid_null +EXPORT_SYMBOL vmlinux 0x6dd83de9 clk_hw_get_clk +EXPORT_SYMBOL vmlinux 0x6dd96df2 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x6ddcdbad revert_creds +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6df50f97 dquot_commit_info +EXPORT_SYMBOL vmlinux 0x6dfa6294 of_root +EXPORT_SYMBOL vmlinux 0x6e0e202b scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x6e1258ff dev_change_flags +EXPORT_SYMBOL vmlinux 0x6e180630 __kfree_skb +EXPORT_SYMBOL vmlinux 0x6e3f8e23 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x6e4268e4 xfrm_state_update +EXPORT_SYMBOL vmlinux 0x6e4318fd filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0x6e448a9b kthread_bind +EXPORT_SYMBOL vmlinux 0x6e4e7714 dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0x6e4f4f0c pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0x6e526a4a ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x6e706118 devm_alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea65ae2 seq_puts +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6ec8a12e redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x6ecdb792 __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x6ef75b41 pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL vmlinux 0x6f013ecd __init_rwsem +EXPORT_SYMBOL vmlinux 0x6f24dd5b pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0x6f36eda7 tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0x6f5b4c67 netif_skb_features +EXPORT_SYMBOL vmlinux 0x6f5f246d netdev_err +EXPORT_SYMBOL vmlinux 0x6f6794b0 i2c_transfer_buffer_flags +EXPORT_SYMBOL vmlinux 0x6f773f0a noop_dirty_folio +EXPORT_SYMBOL vmlinux 0x6f77a70f of_get_next_cpu_node +EXPORT_SYMBOL vmlinux 0x6f83fba8 hex2bin +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6f903fd7 pci_iomap_range +EXPORT_SYMBOL vmlinux 0x6f914f54 rawnand_dt_parse_gpio_cs +EXPORT_SYMBOL vmlinux 0x6fa008fd mdio_device_create +EXPORT_SYMBOL vmlinux 0x6fa6597c set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x6fadd866 nf_log_set +EXPORT_SYMBOL vmlinux 0x6fb374e6 down_write_killable +EXPORT_SYMBOL vmlinux 0x6fb4f17c vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0x6fbe4717 idr_replace +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fcf6c27 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x6fd24721 tcf_idr_search +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x6fe0fb64 netdev_txq_to_tc +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x702946da ucs2_strlen +EXPORT_SYMBOL vmlinux 0x70442931 __traceiter_spi_transfer_start +EXPORT_SYMBOL vmlinux 0x7047fe2e snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL vmlinux 0x70526d85 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x705764d9 set_cached_acl +EXPORT_SYMBOL vmlinux 0x70703993 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0x7087eec6 xfrm_input +EXPORT_SYMBOL vmlinux 0x7096878f tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x70981e9b skb_dequeue +EXPORT_SYMBOL vmlinux 0x7099ebb5 flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0x70afa974 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x70ba919e sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x70d65102 nd_btt_probe +EXPORT_SYMBOL vmlinux 0x70dd2073 blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x70fc99e0 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x711b8a9b __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x712110ab proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x7133b3c3 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x714117c4 scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0x7152b03f netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0x715a5ed0 vprintk +EXPORT_SYMBOL vmlinux 0x7166a96c pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x718e5590 release_pages +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71a7967a elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0x71a941c0 inet_protos +EXPORT_SYMBOL vmlinux 0x71c90087 memcmp +EXPORT_SYMBOL vmlinux 0x71c96d70 devm_of_clk_del_provider +EXPORT_SYMBOL vmlinux 0x71dbf49c pci_request_regions +EXPORT_SYMBOL vmlinux 0x71ebe9dd pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x71f7de4f proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x72005410 hdmi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x720a27a7 __register_blkdev +EXPORT_SYMBOL vmlinux 0x720cd6c5 pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x72310bdb inet_csk_accept +EXPORT_SYMBOL vmlinux 0x723612a6 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x72447594 mipi_dsi_generic_write +EXPORT_SYMBOL vmlinux 0x72656aed scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0x7279c8b6 __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x729dfd6d pci_enable_device +EXPORT_SYMBOL vmlinux 0x72a50966 ucc_fast_disable +EXPORT_SYMBOL vmlinux 0x72b766dc twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0x72b80a53 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72c00f7e crypto_sha256_update +EXPORT_SYMBOL vmlinux 0x72e03567 ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72f34a60 kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0x73029c92 t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0x73037574 xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0x7305a98b unregister_netdev +EXPORT_SYMBOL vmlinux 0x73076315 snd_pci_quirk_lookup_id +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x7317790e lockref_put_or_lock +EXPORT_SYMBOL vmlinux 0x732dd326 groups_free +EXPORT_SYMBOL vmlinux 0x73349ff0 crypto_sha512_update +EXPORT_SYMBOL vmlinux 0x73599b46 dget_parent +EXPORT_SYMBOL vmlinux 0x735bc3ab __sock_create +EXPORT_SYMBOL vmlinux 0x7370599a devm_memunmap +EXPORT_SYMBOL vmlinux 0x737a0666 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x737b8959 thaw_super +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x7387c2fa tcf_idr_create +EXPORT_SYMBOL vmlinux 0x738d5de3 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x73998efa cpm_muram_free_addr +EXPORT_SYMBOL vmlinux 0x739fd00f __SCK__tp_func_module_get +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73b5242f mdiobus_scan +EXPORT_SYMBOL vmlinux 0x73c303e2 qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0x73c60a21 ip_defrag +EXPORT_SYMBOL vmlinux 0x73c79a3e configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0x73d4e5c0 I_BDEV +EXPORT_SYMBOL vmlinux 0x73e20c1c strlcpy +EXPORT_SYMBOL vmlinux 0x73f79363 blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0x740695fe ucc_of_parse_tdm +EXPORT_SYMBOL vmlinux 0x7410aba2 strreplace +EXPORT_SYMBOL vmlinux 0x7413c41a xfrm_register_km +EXPORT_SYMBOL vmlinux 0x742578a5 wait_for_random_bytes +EXPORT_SYMBOL vmlinux 0x7429e20c kstrtos8 +EXPORT_SYMBOL vmlinux 0x742ad38f jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x742fc1e7 fault_in_safe_writeable +EXPORT_SYMBOL vmlinux 0x7452bd61 skb_seq_read +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x7483dc59 pci_dev_present +EXPORT_SYMBOL vmlinux 0x74b8e674 slhc_toss +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74d207ea fs_context_for_mount +EXPORT_SYMBOL vmlinux 0x74e46dac imx_ssi_fiq_tx_buffer +EXPORT_SYMBOL vmlinux 0x74e5791c xfrm_state_free +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74fe4c1a module_put +EXPORT_SYMBOL vmlinux 0x7505bdef memchr_inv +EXPORT_SYMBOL vmlinux 0x751d9d8d fput +EXPORT_SYMBOL vmlinux 0x753074e2 __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0x755306ee migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0x7555efbc tcf_action_update_hw_stats +EXPORT_SYMBOL vmlinux 0x75641302 snd_ctl_rename_id +EXPORT_SYMBOL vmlinux 0x7567d381 __get_fiq_regs +EXPORT_SYMBOL vmlinux 0x75687b0a xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0x756c41e5 dev_get_stats +EXPORT_SYMBOL vmlinux 0x757dd9f3 folio_wait_bit_killable +EXPORT_SYMBOL vmlinux 0x75823951 skb_eth_gso_segment +EXPORT_SYMBOL vmlinux 0x758d7d4c snd_ctl_free_one +EXPORT_SYMBOL vmlinux 0x759338c6 misc_deregister +EXPORT_SYMBOL vmlinux 0x7595ac8a mdiobus_free +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75d0deb9 nsecs_to_jiffies64 +EXPORT_SYMBOL vmlinux 0x75d499dd vmcore_add_device_dump +EXPORT_SYMBOL vmlinux 0x75e00b4e qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x75fed357 elevator_alloc +EXPORT_SYMBOL vmlinux 0x75ff7a36 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x760363ac dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x76088d88 path_get +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x76143282 fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x7618af39 hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0x7631e99b phy_drivers_register +EXPORT_SYMBOL vmlinux 0x7633dfb5 input_unregister_handler +EXPORT_SYMBOL vmlinux 0x76388c19 folio_write_one +EXPORT_SYMBOL vmlinux 0x7643658e input_unregister_handle +EXPORT_SYMBOL vmlinux 0x7646c677 update_devfreq +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x764826e7 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0x764b6083 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x7666cf1f nla_put +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x7682ba4e __copy_overflow +EXPORT_SYMBOL vmlinux 0x76962c08 xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x76a58911 snd_pcm_kernel_ioctl +EXPORT_SYMBOL vmlinux 0x76a6385e reuseport_stop_listen_sock +EXPORT_SYMBOL vmlinux 0x76b2f1ab seq_release_private +EXPORT_SYMBOL vmlinux 0x76b446fc generic_write_checks +EXPORT_SYMBOL vmlinux 0x76cf47f6 __aeabi_llsl +EXPORT_SYMBOL vmlinux 0x76cf9531 kunmap_high +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76d85e33 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0x76da1054 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x76e8b587 pci_release_region +EXPORT_SYMBOL vmlinux 0x76eb5f54 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x76fce113 tcf_qevent_handle +EXPORT_SYMBOL vmlinux 0x7732159c free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x77358855 iomem_resource +EXPORT_SYMBOL vmlinux 0x7735cdda remove_arg_zero +EXPORT_SYMBOL vmlinux 0x775bdbe4 unix_get_socket +EXPORT_SYMBOL vmlinux 0x775c6ebc md_cluster_ops +EXPORT_SYMBOL vmlinux 0x7775dc53 xfrm_unregister_type_offload +EXPORT_SYMBOL vmlinux 0x77796145 bio_uninit +EXPORT_SYMBOL vmlinux 0x7783a17b super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0x7791193f icst525_s2div +EXPORT_SYMBOL vmlinux 0x77943df6 __d_drop +EXPORT_SYMBOL vmlinux 0x77a0df47 bio_add_page +EXPORT_SYMBOL vmlinux 0x77a9e6b7 phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77cff1c8 put_disk +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x77ef9dd5 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0x77f6f183 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x78227ee7 param_ops_int +EXPORT_SYMBOL vmlinux 0x782a3f5a inode_nohighmem +EXPORT_SYMBOL vmlinux 0x782c048e neigh_direct_output +EXPORT_SYMBOL vmlinux 0x78331174 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x785bdcea zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x7863b3be simple_link +EXPORT_SYMBOL vmlinux 0x78779c0b set_fiq_handler +EXPORT_SYMBOL vmlinux 0x787ddb66 __bread_gfp +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x789000e7 rawnand_sw_hamming_calculate +EXPORT_SYMBOL vmlinux 0x7897c45b ether_setup +EXPORT_SYMBOL vmlinux 0x789f6f8d scsi_rescan_device +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78a251d9 config_group_init +EXPORT_SYMBOL vmlinux 0x78b887ed vsprintf +EXPORT_SYMBOL vmlinux 0x78d03213 param_set_copystring +EXPORT_SYMBOL vmlinux 0x78d88ed1 qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x79014383 unix_detach_fds +EXPORT_SYMBOL vmlinux 0x7903a450 xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x79047096 phy_reset_after_clk_enable +EXPORT_SYMBOL vmlinux 0x7909109f mipi_dsi_driver_register_full +EXPORT_SYMBOL vmlinux 0x7918e10a devm_extcon_register_notifier_all +EXPORT_SYMBOL vmlinux 0x791b2497 nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x791d9f67 fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0x794153da write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x794765d1 mempool_free +EXPORT_SYMBOL vmlinux 0x795ac491 reuseport_alloc +EXPORT_SYMBOL vmlinux 0x7965caaf vfs_iter_read +EXPORT_SYMBOL vmlinux 0x79723522 input_register_handler +EXPORT_SYMBOL vmlinux 0x7983d86d fault_in_iov_iter_readable +EXPORT_SYMBOL vmlinux 0x79ba9b85 vga_get +EXPORT_SYMBOL vmlinux 0x79bfa858 cros_ec_check_result +EXPORT_SYMBOL vmlinux 0x79dc58da sg_alloc_table_from_pages_segment +EXPORT_SYMBOL vmlinux 0x79de9926 tcp_stream_memory_free +EXPORT_SYMBOL vmlinux 0x79fa1deb imx_ssi_fiq_rx_buffer +EXPORT_SYMBOL vmlinux 0x7a099364 ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a10bee0 register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x7a183f62 iptun_encaps +EXPORT_SYMBOL vmlinux 0x7a188b0e mii_check_link +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a20bf00 devm_clk_get +EXPORT_SYMBOL vmlinux 0x7a2ff57e security_current_getsecid_subj +EXPORT_SYMBOL vmlinux 0x7a3b4160 get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0x7a3e8a42 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0x7a44c000 bitmap_print_list_to_buf +EXPORT_SYMBOL vmlinux 0x7a4632f7 skb_set_owner_w +EXPORT_SYMBOL vmlinux 0x7a53a06d flow_indr_dev_exists +EXPORT_SYMBOL vmlinux 0x7a6c3fcb secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0x7a701c18 mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0x7a7811c1 vfs_statfs +EXPORT_SYMBOL vmlinux 0x7a834bf0 simple_write_begin +EXPORT_SYMBOL vmlinux 0x7a8fbece qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7a963608 vfs_readlink +EXPORT_SYMBOL vmlinux 0x7a968137 ucc_slow_restart_tx +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7aa67ce9 snd_timer_notify +EXPORT_SYMBOL vmlinux 0x7aa72941 dquot_quota_on +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7abc20e8 snd_pcm_period_elapsed_under_stream_lock +EXPORT_SYMBOL vmlinux 0x7ac7542e inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt +EXPORT_SYMBOL vmlinux 0x7ad50006 pps_unregister_source +EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7aded2f7 down_write_trylock +EXPORT_SYMBOL vmlinux 0x7ae5d317 qe_get_snum +EXPORT_SYMBOL vmlinux 0x7af32263 __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL vmlinux 0x7b0e5d0b _dev_alert +EXPORT_SYMBOL vmlinux 0x7b1edd52 dev_load +EXPORT_SYMBOL vmlinux 0x7b283ce3 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0x7b2fb85d __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b5c8440 vm_munmap +EXPORT_SYMBOL vmlinux 0x7b684378 md_write_end +EXPORT_SYMBOL vmlinux 0x7b6bbfc1 __kmap_to_page +EXPORT_SYMBOL vmlinux 0x7b72d0b7 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x7b83b1af netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0x7b92a8a8 snd_jack_set_parent +EXPORT_SYMBOL vmlinux 0x7b92f289 simple_fill_super +EXPORT_SYMBOL vmlinux 0x7ba5a3b4 tegra_powergate_power_off +EXPORT_SYMBOL vmlinux 0x7bb3fb3d unregister_nls +EXPORT_SYMBOL vmlinux 0x7bb53c5e no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0x7bbd8084 genl_register_family +EXPORT_SYMBOL vmlinux 0x7bc8a70d tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0x7bc96644 vfs_fileattr_get +EXPORT_SYMBOL vmlinux 0x7c00a6a9 cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c243ba2 dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0x7c25384e device_match_acpi_handle +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c48f95a __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x7c5ac0a8 d_splice_alias +EXPORT_SYMBOL vmlinux 0x7c66adcb simple_transaction_release +EXPORT_SYMBOL vmlinux 0x7c7b63f4 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x7c7d7613 devm_backlight_device_register +EXPORT_SYMBOL vmlinux 0x7c893e0b kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0x7c8c2210 tc_setup_offload_action +EXPORT_SYMBOL vmlinux 0x7c8cea9e key_create_or_update +EXPORT_SYMBOL vmlinux 0x7c965df5 thaw_bdev +EXPORT_SYMBOL vmlinux 0x7c9ca58f __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x7c9cc8d6 phy_register_fixup +EXPORT_SYMBOL vmlinux 0x7ca0dfef snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL vmlinux 0x7ca81f01 clk_bulk_get +EXPORT_SYMBOL vmlinux 0x7cae6d8c tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x7cc035a7 __ucmpdi2 +EXPORT_SYMBOL vmlinux 0x7cc212c7 tcp_add_backlog +EXPORT_SYMBOL vmlinux 0x7cdce2c2 user_path_create +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +EXPORT_SYMBOL vmlinux 0x7ce28187 ac97_bus_type +EXPORT_SYMBOL vmlinux 0x7cf35220 vme_master_free +EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d1621ee inet_addr_type_table +EXPORT_SYMBOL vmlinux 0x7d19a759 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x7d22f6a6 gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0x7d2ef2b0 down_read_interruptible +EXPORT_SYMBOL vmlinux 0x7d32bdf0 dump_page +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d4d2fa2 copy_page_from_iter_atomic +EXPORT_SYMBOL vmlinux 0x7d4dc09c __traceiter_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x7d578821 __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0x7d5fd00e mipi_dsi_host_register +EXPORT_SYMBOL vmlinux 0x7d8ce431 snd_device_new +EXPORT_SYMBOL vmlinux 0x7da15eae xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7dc5ffa7 tc_skb_ext_tc_disable +EXPORT_SYMBOL vmlinux 0x7dcc7ba8 phy_advertise_supported +EXPORT_SYMBOL vmlinux 0x7dd6727c snd_sgbuf_get_chunk_size +EXPORT_SYMBOL vmlinux 0x7dd67ae9 netdev_alert +EXPORT_SYMBOL vmlinux 0x7de0f041 sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0x7dedbe60 blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0x7def7668 sock_register +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7dfebd4c snd_ctl_remove_id +EXPORT_SYMBOL vmlinux 0x7e0c90f7 cpu_tlb +EXPORT_SYMBOL vmlinux 0x7e0ce0c3 up_write +EXPORT_SYMBOL vmlinux 0x7e0f4cc7 tso_build_data +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e4e01e8 rfkill_alloc +EXPORT_SYMBOL vmlinux 0x7e66d6b9 is_nvdimm_bus_locked +EXPORT_SYMBOL vmlinux 0x7e876a00 pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x7e96f179 dma_unmap_page_attrs +EXPORT_SYMBOL vmlinux 0x7e986abe try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x7ec4f3f5 phy_ethtool_get_strings +EXPORT_SYMBOL vmlinux 0x7ec68985 register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x7ec7f1a7 kthread_complete_and_exit +EXPORT_SYMBOL vmlinux 0x7ecd27d2 inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0x7ee7aede textsearch_destroy +EXPORT_SYMBOL vmlinux 0x7eef414d inet_addr_type +EXPORT_SYMBOL vmlinux 0x7efd74e4 skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f07cf87 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x7f0ce0ff phy_driver_register +EXPORT_SYMBOL vmlinux 0x7f19beb4 dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f2bd903 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0x7f569982 bdi_unregister +EXPORT_SYMBOL vmlinux 0x7f5b4fe4 sg_free_table +EXPORT_SYMBOL vmlinux 0x7f63b31e _memcpy_toio +EXPORT_SYMBOL vmlinux 0x7f775920 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0x7f794569 mipi_dsi_dcs_set_page_address +EXPORT_SYMBOL vmlinux 0x7f7e18ad __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7f7ff01a seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0x7f9faa09 blk_sync_queue +EXPORT_SYMBOL vmlinux 0x7faa3363 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x7fab6065 flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0x7fb10723 km_state_expired +EXPORT_SYMBOL vmlinux 0x7fbc8eda flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x7fcc925e inode_set_bytes +EXPORT_SYMBOL vmlinux 0x7fce778e tegra_ivc_total_queue_size +EXPORT_SYMBOL vmlinux 0x7fd598fd jbd2__journal_start +EXPORT_SYMBOL vmlinux 0x7fde2edb vme_master_read +EXPORT_SYMBOL vmlinux 0x7fdfdc1e mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x7fffffff LZ4_decompress_fast_continue +EXPORT_SYMBOL vmlinux 0x7fffffff LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0x7fffffff LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0x7fffffff LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0x7fffffff LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x7fffffff LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0x7fffffff PageMovable +EXPORT_SYMBOL vmlinux 0x7fffffff __SCK__tp_func_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x7fffffff __SCK__tp_func_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x7fffffff __SCK__tp_func_kmalloc +EXPORT_SYMBOL vmlinux 0x7fffffff __SCK__tp_func_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x7fffffff __SCK__tp_func_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0x7fffffff __SCK__tp_func_spi_transfer_start +EXPORT_SYMBOL vmlinux 0x7fffffff __SetPageMovable +EXPORT_SYMBOL vmlinux 0x7fffffff ___pskb_trim +EXPORT_SYMBOL vmlinux 0x7fffffff ___ratelimit +EXPORT_SYMBOL vmlinux 0x7fffffff __aeabi_lasr +EXPORT_SYMBOL vmlinux 0x7fffffff __aeabi_llsr +EXPORT_SYMBOL vmlinux 0x7fffffff __aeabi_uidiv +EXPORT_SYMBOL vmlinux 0x7fffffff __aeabi_uidivmod +EXPORT_SYMBOL vmlinux 0x7fffffff __aeabi_ulcmp +EXPORT_SYMBOL vmlinux 0x7fffffff __alloc_pages +EXPORT_SYMBOL vmlinux 0x7fffffff __arm_smccc_smc +EXPORT_SYMBOL vmlinux 0x7fffffff __ashrdi3 +EXPORT_SYMBOL vmlinux 0x7fffffff __bforget +EXPORT_SYMBOL vmlinux 0x7fffffff __bio_advance +EXPORT_SYMBOL vmlinux 0x7fffffff __bitmap_andnot +EXPORT_SYMBOL vmlinux 0x7fffffff __bitmap_clear +EXPORT_SYMBOL vmlinux 0x7fffffff __bitmap_or +EXPORT_SYMBOL vmlinux 0x7fffffff __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0x7fffffff __bitmap_xor +EXPORT_SYMBOL vmlinux 0x7fffffff __blk_alloc_disk +EXPORT_SYMBOL vmlinux 0x7fffffff __blk_mq_alloc_disk +EXPORT_SYMBOL vmlinux 0x7fffffff __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x7fffffff __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x7fffffff __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x7fffffff __block_write_begin +EXPORT_SYMBOL vmlinux 0x7fffffff __block_write_full_page +EXPORT_SYMBOL vmlinux 0x7fffffff __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x7fffffff __breadahead +EXPORT_SYMBOL vmlinux 0x7fffffff __break_lease +EXPORT_SYMBOL vmlinux 0x7fffffff __bswapsi2 +EXPORT_SYMBOL vmlinux 0x7fffffff __cap_empty_set +EXPORT_SYMBOL vmlinux 0x7fffffff __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0x7fffffff __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0x7fffffff __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0x7fffffff __check_object_size +EXPORT_SYMBOL vmlinux 0x7fffffff __check_sticky +EXPORT_SYMBOL vmlinux 0x7fffffff __clzsi2 +EXPORT_SYMBOL vmlinux 0x7fffffff __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x7fffffff __cond_resched_rwlock_read +EXPORT_SYMBOL vmlinux 0x7fffffff __cond_resched_rwlock_write +EXPORT_SYMBOL vmlinux 0x7fffffff __cpu_dying_mask +EXPORT_SYMBOL vmlinux 0x7fffffff __cpu_online_mask +EXPORT_SYMBOL vmlinux 0x7fffffff __cpu_present_mask +EXPORT_SYMBOL vmlinux 0x7fffffff __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0x7fffffff __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x7fffffff __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x7fffffff __ctzdi2 +EXPORT_SYMBOL vmlinux 0x7fffffff __ctzsi2 +EXPORT_SYMBOL vmlinux 0x7fffffff __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x7fffffff __destroy_inode +EXPORT_SYMBOL vmlinux 0x7fffffff __devm_release_region +EXPORT_SYMBOL vmlinux 0x7fffffff __devm_request_region +EXPORT_SYMBOL vmlinux 0x7fffffff __do_once_done +EXPORT_SYMBOL vmlinux 0x7fffffff __do_once_slow_done +EXPORT_SYMBOL vmlinux 0x7fffffff __do_once_slow_start +EXPORT_SYMBOL vmlinux 0x7fffffff __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x7fffffff __dquot_free_space +EXPORT_SYMBOL vmlinux 0x7fffffff __dquot_transfer +EXPORT_SYMBOL vmlinux 0x7fffffff __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0x7fffffff __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x7fffffff __fdget +EXPORT_SYMBOL vmlinux 0x7fffffff __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0x7fffffff __find_get_block +EXPORT_SYMBOL vmlinux 0x7fffffff __flush_workqueue +EXPORT_SYMBOL vmlinux 0x7fffffff __folio_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff __folio_cancel_dirty +EXPORT_SYMBOL vmlinux 0x7fffffff __folio_lock +EXPORT_SYMBOL vmlinux 0x7fffffff __folio_start_writeback +EXPORT_SYMBOL vmlinux 0x7fffffff __fput_sync +EXPORT_SYMBOL vmlinux 0x7fffffff __generic_file_fsync +EXPORT_SYMBOL vmlinux 0x7fffffff __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x7fffffff __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0x7fffffff __genradix_ptr +EXPORT_SYMBOL vmlinux 0x7fffffff __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0x7fffffff __get_user_2 +EXPORT_SYMBOL vmlinux 0x7fffffff __get_user_8 +EXPORT_SYMBOL vmlinux 0x7fffffff __getblk_gfp +EXPORT_SYMBOL vmlinux 0x7fffffff __gnu_mcount_nc +EXPORT_SYMBOL vmlinux 0x7fffffff __hw_addr_init +EXPORT_SYMBOL vmlinux 0x7fffffff __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0x7fffffff __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x7fffffff __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0x7fffffff __icmp_send +EXPORT_SYMBOL vmlinux 0x7fffffff __inet_stream_connect +EXPORT_SYMBOL vmlinux 0x7fffffff __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x7fffffff __invalidate_device +EXPORT_SYMBOL vmlinux 0x7fffffff __ip_dev_find +EXPORT_SYMBOL vmlinux 0x7fffffff __ip_options_compile +EXPORT_SYMBOL vmlinux 0x7fffffff __kfence_pool +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_free +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_in +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_max_r +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0x7fffffff __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x7fffffff __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0x7fffffff __kmap_local_page_prot +EXPORT_SYMBOL vmlinux 0x7fffffff __lock_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff __lock_sock_fast +EXPORT_SYMBOL vmlinux 0x7fffffff __lshrdi3 +EXPORT_SYMBOL vmlinux 0x7fffffff __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x7fffffff __mdiobus_read +EXPORT_SYMBOL vmlinux 0x7fffffff __mdiobus_register +EXPORT_SYMBOL vmlinux 0x7fffffff __memset64 +EXPORT_SYMBOL vmlinux 0x7fffffff __mmap_lock_do_trace_released +EXPORT_SYMBOL vmlinux 0x7fffffff __mod_lruvec_page_state +EXPORT_SYMBOL vmlinux 0x7fffffff __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x7fffffff __muldi3 +EXPORT_SYMBOL vmlinux 0x7fffffff __mutex_init +EXPORT_SYMBOL vmlinux 0x7fffffff __napi_alloc_frag_align +EXPORT_SYMBOL vmlinux 0x7fffffff __napi_schedule +EXPORT_SYMBOL vmlinux 0x7fffffff __nd_driver_register +EXPORT_SYMBOL vmlinux 0x7fffffff __neigh_event_send +EXPORT_SYMBOL vmlinux 0x7fffffff __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0x7fffffff __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0x7fffffff __netdev_alloc_frag_align +EXPORT_SYMBOL vmlinux 0x7fffffff __netdev_notify_peers +EXPORT_SYMBOL vmlinux 0x7fffffff __next_node_in +EXPORT_SYMBOL vmlinux 0x7fffffff __nla_put +EXPORT_SYMBOL vmlinux 0x7fffffff __nla_put_64bit +EXPORT_SYMBOL vmlinux 0x7fffffff __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x7fffffff __nla_reserve +EXPORT_SYMBOL vmlinux 0x7fffffff __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x7fffffff __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x7fffffff __nlmsg_put +EXPORT_SYMBOL vmlinux 0x7fffffff __num_online_cpus +EXPORT_SYMBOL vmlinux 0x7fffffff __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0x7fffffff __pagevec_release +EXPORT_SYMBOL vmlinux 0x7fffffff __par_io_config_pin +EXPORT_SYMBOL vmlinux 0x7fffffff __pci_register_driver +EXPORT_SYMBOL vmlinux 0x7fffffff __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x7fffffff __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x7fffffff __phy_read_mmd +EXPORT_SYMBOL vmlinux 0x7fffffff __phy_write_mmd +EXPORT_SYMBOL vmlinux 0x7fffffff __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0x7fffffff __posix_acl_create +EXPORT_SYMBOL vmlinux 0x7fffffff __post_watch_notification +EXPORT_SYMBOL vmlinux 0x7fffffff __printk_cpu_sync_put +EXPORT_SYMBOL vmlinux 0x7fffffff __printk_cpu_sync_try_get +EXPORT_SYMBOL vmlinux 0x7fffffff __ps2_command +EXPORT_SYMBOL vmlinux 0x7fffffff __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0x7fffffff __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x7fffffff __put_cred +EXPORT_SYMBOL vmlinux 0x7fffffff __put_page +EXPORT_SYMBOL vmlinux 0x7fffffff __put_user_1 +EXPORT_SYMBOL vmlinux 0x7fffffff __put_user_2 +EXPORT_SYMBOL vmlinux 0x7fffffff __put_user_4 +EXPORT_SYMBOL vmlinux 0x7fffffff __pv_phys_pfn_offset +EXPORT_SYMBOL vmlinux 0x7fffffff __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x7fffffff __raw_readsb +EXPORT_SYMBOL vmlinux 0x7fffffff __raw_readsl +EXPORT_SYMBOL vmlinux 0x7fffffff __raw_readsw +EXPORT_SYMBOL vmlinux 0x7fffffff __raw_writesb +EXPORT_SYMBOL vmlinux 0x7fffffff __raw_writesl +EXPORT_SYMBOL vmlinux 0x7fffffff __raw_writesw +EXPORT_SYMBOL vmlinux 0x7fffffff __read_overflow2_field +EXPORT_SYMBOL vmlinux 0x7fffffff __readwrite_bug +EXPORT_SYMBOL vmlinux 0x7fffffff __register_binfmt +EXPORT_SYMBOL vmlinux 0x7fffffff __register_nls +EXPORT_SYMBOL vmlinux 0x7fffffff __request_module +EXPORT_SYMBOL vmlinux 0x7fffffff __request_region +EXPORT_SYMBOL vmlinux 0x7fffffff __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x7fffffff __scsi_execute +EXPORT_SYMBOL vmlinux 0x7fffffff __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x7fffffff __seq_open_private +EXPORT_SYMBOL vmlinux 0x7fffffff __serio_register_driver +EXPORT_SYMBOL vmlinux 0x7fffffff __sg_page_iter_dma_next +EXPORT_SYMBOL vmlinux 0x7fffffff __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0x7fffffff __siphash_unaligned +EXPORT_SYMBOL vmlinux 0x7fffffff __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0x7fffffff __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0x7fffffff __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_checksum +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_get_hash +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_gso_segment +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0x7fffffff __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x7fffffff __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x7fffffff __sw_hweight8 +EXPORT_SYMBOL vmlinux 0x7fffffff __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x7fffffff __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x7fffffff __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff __traceiter_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x7fffffff __traceiter_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x7fffffff __traceiter_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x7fffffff __traceiter_kmalloc_node +EXPORT_SYMBOL vmlinux 0x7fffffff __traceiter_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x7fffffff __traceiter_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0x7fffffff __traceiter_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_spi_transfer_start +EXPORT_SYMBOL vmlinux 0x7fffffff __tracepoint_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x7fffffff __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0x7fffffff __ubsan_handle_out_of_bounds +EXPORT_SYMBOL vmlinux 0x7fffffff __ubsan_handle_shift_out_of_bounds +EXPORT_SYMBOL vmlinux 0x7fffffff __ubsan_handle_type_mismatch +EXPORT_SYMBOL vmlinux 0x7fffffff __ubsan_handle_type_mismatch_v1 +EXPORT_SYMBOL vmlinux 0x7fffffff __udivsi3 +EXPORT_SYMBOL vmlinux 0x7fffffff __umodsi3 +EXPORT_SYMBOL vmlinux 0x7fffffff __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7fffffff __vfs_removexattr +EXPORT_SYMBOL vmlinux 0x7fffffff __vfs_setxattr +EXPORT_SYMBOL vmlinux 0x7fffffff __vmalloc +EXPORT_SYMBOL vmlinux 0x7fffffff __wait_on_bit +EXPORT_SYMBOL vmlinux 0x7fffffff __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff __wake_up_bit +EXPORT_SYMBOL vmlinux 0x7fffffff __warn_flushing_systemwide_wq +EXPORT_SYMBOL vmlinux 0x7fffffff __write_overflow_field +EXPORT_SYMBOL vmlinux 0x7fffffff __xa_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff __xa_erase +EXPORT_SYMBOL vmlinux 0x7fffffff __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x7fffffff __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x7fffffff __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x7fffffff __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x7fffffff _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x7fffffff _bcd2bin +EXPORT_SYMBOL vmlinux 0x7fffffff _bin2bcd +EXPORT_SYMBOL vmlinux 0x7fffffff _copy_from_iter +EXPORT_SYMBOL vmlinux 0x7fffffff _copy_to_iter +EXPORT_SYMBOL vmlinux 0x7fffffff _dev_crit +EXPORT_SYMBOL vmlinux 0x7fffffff _dev_info +EXPORT_SYMBOL vmlinux 0x7fffffff _dev_printk +EXPORT_SYMBOL vmlinux 0x7fffffff _dev_warn +EXPORT_SYMBOL vmlinux 0x7fffffff _find_first_and_bit +EXPORT_SYMBOL vmlinux 0x7fffffff _find_first_zero_bit_le +EXPORT_SYMBOL vmlinux 0x7fffffff _find_last_bit +EXPORT_SYMBOL vmlinux 0x7fffffff _find_next_bit +EXPORT_SYMBOL vmlinux 0x7fffffff _kstrtol +EXPORT_SYMBOL vmlinux 0x7fffffff _local_bh_enable +EXPORT_SYMBOL vmlinux 0x7fffffff _memset_io +EXPORT_SYMBOL vmlinux 0x7fffffff _page_poisoning_enabled +EXPORT_SYMBOL vmlinux 0x7fffffff _page_poisoning_enabled_early +EXPORT_SYMBOL vmlinux 0x7fffffff _printk +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_spin_lock +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_write_lock +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0x7fffffff _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x7fffffff _test_and_change_bit +EXPORT_SYMBOL vmlinux 0x7fffffff _totalram_pages +EXPORT_SYMBOL vmlinux 0x7fffffff abort +EXPORT_SYMBOL vmlinux 0x7fffffff add_device_randomness +EXPORT_SYMBOL vmlinux 0x7fffffff add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x7fffffff add_to_pipe +EXPORT_SYMBOL vmlinux 0x7fffffff add_wait_queue +EXPORT_SYMBOL vmlinux 0x7fffffff add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0x7fffffff address_space_init_once +EXPORT_SYMBOL vmlinux 0x7fffffff adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0x7fffffff adjust_resource +EXPORT_SYMBOL vmlinux 0x7fffffff alloc_anon_inode +EXPORT_SYMBOL vmlinux 0x7fffffff alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0x7fffffff alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0x7fffffff alloc_fcdev +EXPORT_SYMBOL vmlinux 0x7fffffff alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0x7fffffff alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0x7fffffff allocate_resource +EXPORT_SYMBOL vmlinux 0x7fffffff amba_device_register +EXPORT_SYMBOL vmlinux 0x7fffffff amba_device_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff amba_driver_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff amba_request_regions +EXPORT_SYMBOL vmlinux 0x7fffffff argv_free +EXPORT_SYMBOL vmlinux 0x7fffffff arm_clear_user +EXPORT_SYMBOL vmlinux 0x7fffffff arm_coherent_dma_ops +EXPORT_SYMBOL vmlinux 0x7fffffff arm_copy_from_user +EXPORT_SYMBOL vmlinux 0x7fffffff arm_delay_ops +EXPORT_SYMBOL vmlinux 0x7fffffff arm_dma_zone_size +EXPORT_SYMBOL vmlinux 0x7fffffff arm_elf_read_implies_exec +EXPORT_SYMBOL vmlinux 0x7fffffff arm_heavy_mb +EXPORT_SYMBOL vmlinux 0x7fffffff arp_send +EXPORT_SYMBOL vmlinux 0x7fffffff arp_xmit +EXPORT_SYMBOL vmlinux 0x7fffffff ata_print_version +EXPORT_SYMBOL vmlinux 0x7fffffff atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x7fffffff atomic_io_modify +EXPORT_SYMBOL vmlinux 0x7fffffff audit_log +EXPORT_SYMBOL vmlinux 0x7fffffff audit_log_end +EXPORT_SYMBOL vmlinux 0x7fffffff audit_log_format +EXPORT_SYMBOL vmlinux 0x7fffffff audit_log_start +EXPORT_SYMBOL vmlinux 0x7fffffff audit_log_subject_context +EXPORT_SYMBOL vmlinux 0x7fffffff audit_log_task_context +EXPORT_SYMBOL vmlinux 0x7fffffff audit_log_task_info +EXPORT_SYMBOL vmlinux 0x7fffffff autoremove_wake_function +EXPORT_SYMBOL vmlinux 0x7fffffff avenrun +EXPORT_SYMBOL vmlinux 0x7fffffff backlight_device_register +EXPORT_SYMBOL vmlinux 0x7fffffff backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff backlight_force_update +EXPORT_SYMBOL vmlinux 0x7fffffff backlight_register_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff backlight_unregister_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff bcmp +EXPORT_SYMBOL vmlinux 0x7fffffff bd_abort_claiming +EXPORT_SYMBOL vmlinux 0x7fffffff bdev_end_io_acct +EXPORT_SYMBOL vmlinux 0x7fffffff bdi_put +EXPORT_SYMBOL vmlinux 0x7fffffff bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x7fffffff bh_submit_read +EXPORT_SYMBOL vmlinux 0x7fffffff bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x7fffffff bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x7fffffff bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x7fffffff bio_alloc_clone +EXPORT_SYMBOL vmlinux 0x7fffffff bio_endio +EXPORT_SYMBOL vmlinux 0x7fffffff bio_free_pages +EXPORT_SYMBOL vmlinux 0x7fffffff bio_init +EXPORT_SYMBOL vmlinux 0x7fffffff bio_integrity_prep +EXPORT_SYMBOL vmlinux 0x7fffffff bio_kmalloc +EXPORT_SYMBOL vmlinux 0x7fffffff bio_reset +EXPORT_SYMBOL vmlinux 0x7fffffff bioset_init +EXPORT_SYMBOL vmlinux 0x7fffffff bioset_integrity_create +EXPORT_SYMBOL vmlinux 0x7fffffff bit_waitqueue +EXPORT_SYMBOL vmlinux 0x7fffffff bitmap_alloc_node +EXPORT_SYMBOL vmlinux 0x7fffffff bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0x7fffffff bitmap_bitremap +EXPORT_SYMBOL vmlinux 0x7fffffff bitmap_free +EXPORT_SYMBOL vmlinux 0x7fffffff bitmap_parse +EXPORT_SYMBOL vmlinux 0x7fffffff bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x7fffffff bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0x7fffffff bitmap_remap +EXPORT_SYMBOL vmlinux 0x7fffffff bitmap_zalloc_node +EXPORT_SYMBOL vmlinux 0x7fffffff blackhole_netdev +EXPORT_SYMBOL vmlinux 0x7fffffff blake2s_compress +EXPORT_SYMBOL vmlinux 0x7fffffff blake2s_final +EXPORT_SYMBOL vmlinux 0x7fffffff blk_check_plugged +EXPORT_SYMBOL vmlinux 0x7fffffff blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0x7fffffff blk_finish_plug +EXPORT_SYMBOL vmlinux 0x7fffffff blk_get_queue +EXPORT_SYMBOL vmlinux 0x7fffffff blk_limits_io_min +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_free_tag_set +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0x7fffffff blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0x7fffffff blk_pm_runtime_init +EXPORT_SYMBOL vmlinux 0x7fffffff blk_post_runtime_suspend +EXPORT_SYMBOL vmlinux 0x7fffffff blk_pre_runtime_suspend +EXPORT_SYMBOL vmlinux 0x7fffffff blk_put_queue +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_io_min +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_split +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x7fffffff blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0x7fffffff blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0x7fffffff blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x7fffffff blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x7fffffff blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x7fffffff blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x7fffffff blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x7fffffff blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0x7fffffff blk_set_runtime_active +EXPORT_SYMBOL vmlinux 0x7fffffff blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0x7fffffff blk_start_plug +EXPORT_SYMBOL vmlinux 0x7fffffff blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0x7fffffff blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x7fffffff blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x7fffffff blkdev_issue_secure_erase +EXPORT_SYMBOL vmlinux 0x7fffffff blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x7fffffff blkdev_put +EXPORT_SYMBOL vmlinux 0x7fffffff block_dirty_folio +EXPORT_SYMBOL vmlinux 0x7fffffff block_invalidate_folio +EXPORT_SYMBOL vmlinux 0x7fffffff block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x7fffffff block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x7fffffff block_truncate_page +EXPORT_SYMBOL vmlinux 0x7fffffff block_write_begin +EXPORT_SYMBOL vmlinux 0x7fffffff block_write_full_page +EXPORT_SYMBOL vmlinux 0x7fffffff bmap +EXPORT_SYMBOL vmlinux 0x7fffffff bpf_empty_prog_array +EXPORT_SYMBOL vmlinux 0x7fffffff bpf_link_get_from_fd +EXPORT_SYMBOL vmlinux 0x7fffffff bpf_map_get +EXPORT_SYMBOL vmlinux 0x7fffffff bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0x7fffffff bpf_stats_enabled_key +EXPORT_SYMBOL vmlinux 0x7fffffff brioctl_set +EXPORT_SYMBOL vmlinux 0x7fffffff bsearch +EXPORT_SYMBOL vmlinux 0x7fffffff buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0x7fffffff build_skb +EXPORT_SYMBOL vmlinux 0x7fffffff build_skb_around +EXPORT_SYMBOL vmlinux 0x7fffffff cacheid +EXPORT_SYMBOL vmlinux 0x7fffffff cad_pid +EXPORT_SYMBOL vmlinux 0x7fffffff call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff call_fib_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff call_fib_notifiers +EXPORT_SYMBOL vmlinux 0x7fffffff call_usermodehelper +EXPORT_SYMBOL vmlinux 0x7fffffff can_do_mlock +EXPORT_SYMBOL vmlinux 0x7fffffff cancel_delayed_work +EXPORT_SYMBOL vmlinux 0x7fffffff capable +EXPORT_SYMBOL vmlinux 0x7fffffff cdc_parse_cdc_header +EXPORT_SYMBOL vmlinux 0x7fffffff cdev_del +EXPORT_SYMBOL vmlinux 0x7fffffff cdev_device_del +EXPORT_SYMBOL vmlinux 0x7fffffff cdev_init +EXPORT_SYMBOL vmlinux 0x7fffffff cdev_set_parent +EXPORT_SYMBOL vmlinux 0x7fffffff cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0x7fffffff cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x7fffffff cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x7fffffff cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0x7fffffff cfb_copyarea +EXPORT_SYMBOL vmlinux 0x7fffffff cfb_fillrect +EXPORT_SYMBOL vmlinux 0x7fffffff clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0x7fffffff clear_inode +EXPORT_SYMBOL vmlinux 0x7fffffff clear_nlink +EXPORT_SYMBOL vmlinux 0x7fffffff clk_add_alias +EXPORT_SYMBOL vmlinux 0x7fffffff clk_bulk_put_all +EXPORT_SYMBOL vmlinux 0x7fffffff clk_get_sys +EXPORT_SYMBOL vmlinux 0x7fffffff clk_register_clkdev +EXPORT_SYMBOL vmlinux 0x7fffffff clkdev_add +EXPORT_SYMBOL vmlinux 0x7fffffff clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x7fffffff clocksource_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff close_fd +EXPORT_SYMBOL vmlinux 0x7fffffff close_fd_get_file +EXPORT_SYMBOL vmlinux 0x7fffffff cmd_db_read_aux_data +EXPORT_SYMBOL vmlinux 0x7fffffff color_table +EXPORT_SYMBOL vmlinux 0x7fffffff complete +EXPORT_SYMBOL vmlinux 0x7fffffff complete_all +EXPORT_SYMBOL vmlinux 0x7fffffff complete_request_key +EXPORT_SYMBOL vmlinux 0x7fffffff component_match_add_typed +EXPORT_SYMBOL vmlinux 0x7fffffff config_group_find_item +EXPORT_SYMBOL vmlinux 0x7fffffff config_group_init_type_name +EXPORT_SYMBOL vmlinux 0x7fffffff config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0x7fffffff config_item_init_type_name +EXPORT_SYMBOL vmlinux 0x7fffffff config_item_put +EXPORT_SYMBOL vmlinux 0x7fffffff configfs_depend_item +EXPORT_SYMBOL vmlinux 0x7fffffff configfs_register_default_group +EXPORT_SYMBOL vmlinux 0x7fffffff configfs_register_group +EXPORT_SYMBOL vmlinux 0x7fffffff configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0x7fffffff configfs_undepend_item +EXPORT_SYMBOL vmlinux 0x7fffffff console_blank_hook +EXPORT_SYMBOL vmlinux 0x7fffffff console_blanked +EXPORT_SYMBOL vmlinux 0x7fffffff console_conditional_schedule +EXPORT_SYMBOL vmlinux 0x7fffffff console_lock +EXPORT_SYMBOL vmlinux 0x7fffffff console_start +EXPORT_SYMBOL vmlinux 0x7fffffff console_unlock +EXPORT_SYMBOL vmlinux 0x7fffffff consume_skb +EXPORT_SYMBOL vmlinux 0x7fffffff cont_write_begin +EXPORT_SYMBOL vmlinux 0x7fffffff contig_page_data +EXPORT_SYMBOL vmlinux 0x7fffffff cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0x7fffffff copy_from_user_toio +EXPORT_SYMBOL vmlinux 0x7fffffff copy_fsxattr_to_user +EXPORT_SYMBOL vmlinux 0x7fffffff copy_page_from_iter +EXPORT_SYMBOL vmlinux 0x7fffffff copy_page_to_iter +EXPORT_SYMBOL vmlinux 0x7fffffff cpm_muram_addr +EXPORT_SYMBOL vmlinux 0x7fffffff cpm_muram_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff cpm_muram_dma +EXPORT_SYMBOL vmlinux 0x7fffffff cpu_all_bits +EXPORT_SYMBOL vmlinux 0x7fffffff cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x7fffffff cpufreq_generic_suspend +EXPORT_SYMBOL vmlinux 0x7fffffff cpufreq_get +EXPORT_SYMBOL vmlinux 0x7fffffff cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0x7fffffff cpumask_any_and_distribute +EXPORT_SYMBOL vmlinux 0x7fffffff cpumask_any_but +EXPORT_SYMBOL vmlinux 0x7fffffff cpumask_local_spread +EXPORT_SYMBOL vmlinux 0x7fffffff cpumask_next +EXPORT_SYMBOL vmlinux 0x7fffffff cpumask_next_and +EXPORT_SYMBOL vmlinux 0x7fffffff cqhci_deactivate +EXPORT_SYMBOL vmlinux 0x7fffffff cqhci_init +EXPORT_SYMBOL vmlinux 0x7fffffff cqhci_irq +EXPORT_SYMBOL vmlinux 0x7fffffff crc16 +EXPORT_SYMBOL vmlinux 0x7fffffff crc32_be +EXPORT_SYMBOL vmlinux 0x7fffffff crc32_le +EXPORT_SYMBOL vmlinux 0x7fffffff crc32_le_shift +EXPORT_SYMBOL vmlinux 0x7fffffff crc8 +EXPORT_SYMBOL vmlinux 0x7fffffff crc8_populate_lsb +EXPORT_SYMBOL vmlinux 0x7fffffff crc8_populate_msb +EXPORT_SYMBOL vmlinux 0x7fffffff crc_ccitt +EXPORT_SYMBOL vmlinux 0x7fffffff crc_ccitt_false +EXPORT_SYMBOL vmlinux 0x7fffffff crc_t10dif +EXPORT_SYMBOL vmlinux 0x7fffffff crc_t10dif_update +EXPORT_SYMBOL vmlinux 0x7fffffff create_empty_buffers +EXPORT_SYMBOL vmlinux 0x7fffffff cros_ec_cmd_xfer +EXPORT_SYMBOL vmlinux 0x7fffffff cros_ec_cmd_xfer_status +EXPORT_SYMBOL vmlinux 0x7fffffff cros_ec_get_next_event +EXPORT_SYMBOL vmlinux 0x7fffffff cros_ec_query_all +EXPORT_SYMBOL vmlinux 0x7fffffff crypto_aes_inv_sbox +EXPORT_SYMBOL vmlinux 0x7fffffff crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0x7fffffff crypto_kdf108_setkey +EXPORT_SYMBOL vmlinux 0x7fffffff crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0x7fffffff crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x7fffffff crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0x7fffffff csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0x7fffffff csum_partial +EXPORT_SYMBOL vmlinux 0x7fffffff csum_partial_copy_nocheck +EXPORT_SYMBOL vmlinux 0x7fffffff current_in_userns +EXPORT_SYMBOL vmlinux 0x7fffffff current_work +EXPORT_SYMBOL vmlinux 0x7fffffff d_add_ci +EXPORT_SYMBOL vmlinux 0x7fffffff d_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff d_alloc_anon +EXPORT_SYMBOL vmlinux 0x7fffffff d_alloc_name +EXPORT_SYMBOL vmlinux 0x7fffffff d_alloc_parallel +EXPORT_SYMBOL vmlinux 0x7fffffff d_delete +EXPORT_SYMBOL vmlinux 0x7fffffff d_exact_alias +EXPORT_SYMBOL vmlinux 0x7fffffff d_find_alias +EXPORT_SYMBOL vmlinux 0x7fffffff d_genocide +EXPORT_SYMBOL vmlinux 0x7fffffff d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff d_instantiate +EXPORT_SYMBOL vmlinux 0x7fffffff d_instantiate_anon +EXPORT_SYMBOL vmlinux 0x7fffffff d_instantiate_new +EXPORT_SYMBOL vmlinux 0x7fffffff d_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff d_mark_dontcache +EXPORT_SYMBOL vmlinux 0x7fffffff d_move +EXPORT_SYMBOL vmlinux 0x7fffffff d_obtain_alias +EXPORT_SYMBOL vmlinux 0x7fffffff d_obtain_root +EXPORT_SYMBOL vmlinux 0x7fffffff d_prune_aliases +EXPORT_SYMBOL vmlinux 0x7fffffff d_set_fallthru +EXPORT_SYMBOL vmlinux 0x7fffffff dcache_dir_close +EXPORT_SYMBOL vmlinux 0x7fffffff dcache_dir_open +EXPORT_SYMBOL vmlinux 0x7fffffff dcache_readdir +EXPORT_SYMBOL vmlinux 0x7fffffff dcb_getapp +EXPORT_SYMBOL vmlinux 0x7fffffff dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0x7fffffff dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x7fffffff dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0x7fffffff dcb_setapp +EXPORT_SYMBOL vmlinux 0x7fffffff dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x7fffffff dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0x7fffffff deactivate_super +EXPORT_SYMBOL vmlinux 0x7fffffff dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x7fffffff default_llseek +EXPORT_SYMBOL vmlinux 0x7fffffff default_wake_function +EXPORT_SYMBOL vmlinux 0x7fffffff del_gendisk +EXPORT_SYMBOL vmlinux 0x7fffffff del_timer_sync +EXPORT_SYMBOL vmlinux 0x7fffffff delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x7fffffff dentry_create +EXPORT_SYMBOL vmlinux 0x7fffffff dev_activate +EXPORT_SYMBOL vmlinux 0x7fffffff dev_add_offload +EXPORT_SYMBOL vmlinux 0x7fffffff dev_add_pack +EXPORT_SYMBOL vmlinux 0x7fffffff dev_addr_add +EXPORT_SYMBOL vmlinux 0x7fffffff dev_alloc_name +EXPORT_SYMBOL vmlinux 0x7fffffff dev_deactivate +EXPORT_SYMBOL vmlinux 0x7fffffff dev_disable_lro +EXPORT_SYMBOL vmlinux 0x7fffffff dev_get_by_index +EXPORT_SYMBOL vmlinux 0x7fffffff dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x7fffffff dev_get_by_name +EXPORT_SYMBOL vmlinux 0x7fffffff dev_get_mac_address +EXPORT_SYMBOL vmlinux 0x7fffffff dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0x7fffffff dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x7fffffff dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x7fffffff dev_lstats_read +EXPORT_SYMBOL vmlinux 0x7fffffff dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x7fffffff dev_mc_init +EXPORT_SYMBOL vmlinux 0x7fffffff dev_open +EXPORT_SYMBOL vmlinux 0x7fffffff dev_pm_opp_register_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff dev_pm_opp_unregister_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0x7fffffff dev_remove_pack +EXPORT_SYMBOL vmlinux 0x7fffffff dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x7fffffff dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x7fffffff dev_set_threaded +EXPORT_SYMBOL vmlinux 0x7fffffff dev_trans_start +EXPORT_SYMBOL vmlinux 0x7fffffff dev_uc_flush +EXPORT_SYMBOL vmlinux 0x7fffffff dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x7fffffff dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0x7fffffff devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_add_governor +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_get_freq_range +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_monitor_resume +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_monitor_stop +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_monitor_suspend +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_recommended_opp +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x7fffffff devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff device_add_disk +EXPORT_SYMBOL vmlinux 0x7fffffff device_get_mac_address +EXPORT_SYMBOL vmlinux 0x7fffffff device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0x7fffffff devm_clk_get_optional +EXPORT_SYMBOL vmlinux 0x7fffffff devm_clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x7fffffff devm_clk_put +EXPORT_SYMBOL vmlinux 0x7fffffff devm_devfreq_add_device +EXPORT_SYMBOL vmlinux 0x7fffffff devm_devfreq_add_governor +EXPORT_SYMBOL vmlinux 0x7fffffff devm_devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff devm_devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x7fffffff devm_devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff devm_extcon_register_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff devm_extcon_unregister_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff devm_free_irq +EXPORT_SYMBOL vmlinux 0x7fffffff devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0x7fffffff devm_ioremap_np +EXPORT_SYMBOL vmlinux 0x7fffffff devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0x7fffffff devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0x7fffffff devm_iounmap +EXPORT_SYMBOL vmlinux 0x7fffffff devm_mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x7fffffff devm_nvmem_cell_put +EXPORT_SYMBOL vmlinux 0x7fffffff devm_of_find_backlight +EXPORT_SYMBOL vmlinux 0x7fffffff devm_of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x7fffffff devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x7fffffff devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0x7fffffff devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x7fffffff devm_rproc_add +EXPORT_SYMBOL vmlinux 0x7fffffff devm_rproc_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff dim_calc_stats +EXPORT_SYMBOL vmlinux 0x7fffffff dim_on_top +EXPORT_SYMBOL vmlinux 0x7fffffff dim_park_on_top +EXPORT_SYMBOL vmlinux 0x7fffffff dim_turn +EXPORT_SYMBOL vmlinux 0x7fffffff disk_stack_limits +EXPORT_SYMBOL vmlinux 0x7fffffff div64_u64_rem +EXPORT_SYMBOL vmlinux 0x7fffffff div_s64_rem +EXPORT_SYMBOL vmlinux 0x7fffffff dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0x7fffffff dm_kcopyd_client_flush +EXPORT_SYMBOL vmlinux 0x7fffffff dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x7fffffff dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x7fffffff dm_kobject_release +EXPORT_SYMBOL vmlinux 0x7fffffff dm_read_arg_group +EXPORT_SYMBOL vmlinux 0x7fffffff dm_register_target +EXPORT_SYMBOL vmlinux 0x7fffffff dm_table_get_md +EXPORT_SYMBOL vmlinux 0x7fffffff dm_table_get_size +EXPORT_SYMBOL vmlinux 0x7fffffff dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0x7fffffff dma_async_device_register +EXPORT_SYMBOL vmlinux 0x7fffffff dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_allocate_private_stub +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_array_create +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_array_first +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_array_ops +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_chain_walk +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_describe +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_enable_sw_signaling +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_get_status +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_get_stub +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_match_context +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_release +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_signal_timestamp_locked +EXPORT_SYMBOL vmlinux 0x7fffffff dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff dma_free_attrs +EXPORT_SYMBOL vmlinux 0x7fffffff dma_map_page_attrs +EXPORT_SYMBOL vmlinux 0x7fffffff dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0x7fffffff dma_pool_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0x7fffffff dma_resv_replace_fences +EXPORT_SYMBOL vmlinux 0x7fffffff dma_resv_reserve_fences +EXPORT_SYMBOL vmlinux 0x7fffffff dma_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x7fffffff dma_sync_single_for_device +EXPORT_SYMBOL vmlinux 0x7fffffff dma_sync_wait +EXPORT_SYMBOL vmlinux 0x7fffffff dmaengine_get +EXPORT_SYMBOL vmlinux 0x7fffffff dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x7fffffff dmi_check_system +EXPORT_SYMBOL vmlinux 0x7fffffff dmi_get_system_info +EXPORT_SYMBOL vmlinux 0x7fffffff dmi_name_in_vendors +EXPORT_SYMBOL vmlinux 0x7fffffff dns_query +EXPORT_SYMBOL vmlinux 0x7fffffff do_SAK +EXPORT_SYMBOL vmlinux 0x7fffffff do_blank_screen +EXPORT_SYMBOL vmlinux 0x7fffffff do_clone_file_range +EXPORT_SYMBOL vmlinux 0x7fffffff do_splice_direct +EXPORT_SYMBOL vmlinux 0x7fffffff do_trace_netlink_extack +EXPORT_SYMBOL vmlinux 0x7fffffff do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0x7fffffff done_path_create +EXPORT_SYMBOL vmlinux 0x7fffffff dotdot_name +EXPORT_SYMBOL vmlinux 0x7fffffff down +EXPORT_SYMBOL vmlinux 0x7fffffff down_interruptible +EXPORT_SYMBOL vmlinux 0x7fffffff down_read +EXPORT_SYMBOL vmlinux 0x7fffffff down_read_killable +EXPORT_SYMBOL vmlinux 0x7fffffff down_read_trylock +EXPORT_SYMBOL vmlinux 0x7fffffff down_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff down_trylock +EXPORT_SYMBOL vmlinux 0x7fffffff downgrade_write +EXPORT_SYMBOL vmlinux 0x7fffffff dql_init +EXPORT_SYMBOL vmlinux 0x7fffffff dql_reset +EXPORT_SYMBOL vmlinux 0x7fffffff dqput +EXPORT_SYMBOL vmlinux 0x7fffffff dqstats +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_acquire +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_file_open +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_get_next_id +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_get_state +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_operations +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_quota_off +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_release +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_resume +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_scan_active +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x7fffffff dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x7fffffff drm_firmware_drivers_only +EXPORT_SYMBOL vmlinux 0x7fffffff drop_nlink +EXPORT_SYMBOL vmlinux 0x7fffffff drop_super +EXPORT_SYMBOL vmlinux 0x7fffffff drop_super_exclusive +EXPORT_SYMBOL vmlinux 0x7fffffff dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x7fffffff dst_default_metrics +EXPORT_SYMBOL vmlinux 0x7fffffff dst_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff dst_dev_put +EXPORT_SYMBOL vmlinux 0x7fffffff dump_emit +EXPORT_SYMBOL vmlinux 0x7fffffff dump_skip +EXPORT_SYMBOL vmlinux 0x7fffffff ecc_sw_hamming_calculate +EXPORT_SYMBOL vmlinux 0x7fffffff ecc_sw_hamming_correct +EXPORT_SYMBOL vmlinux 0x7fffffff edac_mc_find +EXPORT_SYMBOL vmlinux 0x7fffffff efi_tpm_final_log_size +EXPORT_SYMBOL vmlinux 0x7fffffff elf_set_personality +EXPORT_SYMBOL vmlinux 0x7fffffff elv_rb_find +EXPORT_SYMBOL vmlinux 0x7fffffff empty_aops +EXPORT_SYMBOL vmlinux 0x7fffffff enable_fiq +EXPORT_SYMBOL vmlinux 0x7fffffff enable_irq +EXPORT_SYMBOL vmlinux 0x7fffffff end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x7fffffff end_page_writeback +EXPORT_SYMBOL vmlinux 0x7fffffff errseq_sample +EXPORT_SYMBOL vmlinux 0x7fffffff eth_get_headlen +EXPORT_SYMBOL vmlinux 0x7fffffff eth_gro_receive +EXPORT_SYMBOL vmlinux 0x7fffffff eth_header +EXPORT_SYMBOL vmlinux 0x7fffffff eth_header_cache +EXPORT_SYMBOL vmlinux 0x7fffffff eth_header_parse +EXPORT_SYMBOL vmlinux 0x7fffffff eth_mac_addr +EXPORT_SYMBOL vmlinux 0x7fffffff eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0x7fffffff eth_type_trans +EXPORT_SYMBOL vmlinux 0x7fffffff eth_validate_addr +EXPORT_SYMBOL vmlinux 0x7fffffff ethtool_convert_legacy_u32_to_link_mode +EXPORT_SYMBOL vmlinux 0x7fffffff ethtool_notify +EXPORT_SYMBOL vmlinux 0x7fffffff ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x7fffffff f_setown +EXPORT_SYMBOL vmlinux 0x7fffffff fault_in_iov_iter_writeable +EXPORT_SYMBOL vmlinux 0x7fffffff fault_in_readable +EXPORT_SYMBOL vmlinux 0x7fffffff fault_in_subpage_writeable +EXPORT_SYMBOL vmlinux 0x7fffffff fault_in_writeable +EXPORT_SYMBOL vmlinux 0x7fffffff fb_add_videomode +EXPORT_SYMBOL vmlinux 0x7fffffff fb_default_cmap +EXPORT_SYMBOL vmlinux 0x7fffffff fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0x7fffffff fb_find_best_display +EXPORT_SYMBOL vmlinux 0x7fffffff fb_find_best_mode +EXPORT_SYMBOL vmlinux 0x7fffffff fb_find_mode +EXPORT_SYMBOL vmlinux 0x7fffffff fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0x7fffffff fb_get_options +EXPORT_SYMBOL vmlinux 0x7fffffff fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0x7fffffff fb_match_mode +EXPORT_SYMBOL vmlinux 0x7fffffff fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0x7fffffff fb_pan_display +EXPORT_SYMBOL vmlinux 0x7fffffff fb_register_client +EXPORT_SYMBOL vmlinux 0x7fffffff fb_set_suspend +EXPORT_SYMBOL vmlinux 0x7fffffff fb_show_logo +EXPORT_SYMBOL vmlinux 0x7fffffff fb_unregister_client +EXPORT_SYMBOL vmlinux 0x7fffffff fb_validate_mode +EXPORT_SYMBOL vmlinux 0x7fffffff fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x7fffffff fc_mount +EXPORT_SYMBOL vmlinux 0x7fffffff fd_install +EXPORT_SYMBOL vmlinux 0x7fffffff fget +EXPORT_SYMBOL vmlinux 0x7fffffff fget_raw +EXPORT_SYMBOL vmlinux 0x7fffffff fib6_info_hw_flags_set +EXPORT_SYMBOL vmlinux 0x7fffffff fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x7fffffff fifo_set_limit +EXPORT_SYMBOL vmlinux 0x7fffffff file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0x7fffffff file_fdatawait_range +EXPORT_SYMBOL vmlinux 0x7fffffff file_path +EXPORT_SYMBOL vmlinux 0x7fffffff file_remove_privs +EXPORT_SYMBOL vmlinux 0x7fffffff file_update_time +EXPORT_SYMBOL vmlinux 0x7fffffff fileattr_fill_flags +EXPORT_SYMBOL vmlinux 0x7fffffff fileattr_fill_xflags +EXPORT_SYMBOL vmlinux 0x7fffffff filemap_dirty_folio +EXPORT_SYMBOL vmlinux 0x7fffffff filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0x7fffffff filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0x7fffffff filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x7fffffff filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x7fffffff filemap_release_folio +EXPORT_SYMBOL vmlinux 0x7fffffff filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x7fffffff filp_close +EXPORT_SYMBOL vmlinux 0x7fffffff finalize_exec +EXPORT_SYMBOL vmlinux 0x7fffffff find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0x7fffffff find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0x7fffffff find_next_clump8 +EXPORT_SYMBOL vmlinux 0x7fffffff find_vma +EXPORT_SYMBOL vmlinux 0x7fffffff finish_swait +EXPORT_SYMBOL vmlinux 0x7fffffff flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0x7fffffff flow_block_cb_free +EXPORT_SYMBOL vmlinux 0x7fffffff flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0x7fffffff flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0x7fffffff flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff flow_block_cb_setup_simple +EXPORT_SYMBOL vmlinux 0x7fffffff flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0x7fffffff flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0x7fffffff flow_keys_dissector +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_control +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_meta +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0x7fffffff flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0x7fffffff flush_dcache_folio +EXPORT_SYMBOL vmlinux 0x7fffffff flush_delayed_work +EXPORT_SYMBOL vmlinux 0x7fffffff flush_signals +EXPORT_SYMBOL vmlinux 0x7fffffff folio_add_lru +EXPORT_SYMBOL vmlinux 0x7fffffff folio_clear_dirty_for_io +EXPORT_SYMBOL vmlinux 0x7fffffff folio_mark_dirty +EXPORT_SYMBOL vmlinux 0x7fffffff folio_migrate_copy +EXPORT_SYMBOL vmlinux 0x7fffffff folio_migrate_flags +EXPORT_SYMBOL vmlinux 0x7fffffff folio_redirty_for_writepage +EXPORT_SYMBOL vmlinux 0x7fffffff follow_down +EXPORT_SYMBOL vmlinux 0x7fffffff follow_down_one +EXPORT_SYMBOL vmlinux 0x7fffffff follow_pfn +EXPORT_SYMBOL vmlinux 0x7fffffff font_vga_8x16 +EXPORT_SYMBOL vmlinux 0x7fffffff fortify_panic +EXPORT_SYMBOL vmlinux 0x7fffffff fqdir_exit +EXPORT_SYMBOL vmlinux 0x7fffffff fqdir_init +EXPORT_SYMBOL vmlinux 0x7fffffff framebuffer_release +EXPORT_SYMBOL vmlinux 0x7fffffff free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x7fffffff free_irq +EXPORT_SYMBOL vmlinux 0x7fffffff free_netdev +EXPORT_SYMBOL vmlinux 0x7fffffff free_opal_dev +EXPORT_SYMBOL vmlinux 0x7fffffff free_task +EXPORT_SYMBOL vmlinux 0x7fffffff from_kgid +EXPORT_SYMBOL vmlinux 0x7fffffff from_kgid_munged +EXPORT_SYMBOL vmlinux 0x7fffffff from_kprojid_munged +EXPORT_SYMBOL vmlinux 0x7fffffff from_kuid +EXPORT_SYMBOL vmlinux 0x7fffffff fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0x7fffffff fs_context_for_submount +EXPORT_SYMBOL vmlinux 0x7fffffff fs_lookup_param +EXPORT_SYMBOL vmlinux 0x7fffffff fs_overflowgid +EXPORT_SYMBOL vmlinux 0x7fffffff fs_param_is_blob +EXPORT_SYMBOL vmlinux 0x7fffffff fs_param_is_path +EXPORT_SYMBOL vmlinux 0x7fffffff fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0x7fffffff fs_param_is_string +EXPORT_SYMBOL vmlinux 0x7fffffff fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0x7fffffff fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_fname_alloc_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_ioctl_get_policy +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0x7fffffff fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0x7fffffff fsync_bdev +EXPORT_SYMBOL vmlinux 0x7fffffff full_name_hash +EXPORT_SYMBOL vmlinux 0x7fffffff fuse_mount_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0x7fffffff fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x7fffffff fwnode_iomap +EXPORT_SYMBOL vmlinux 0x7fffffff fwnode_phy_find_device +EXPORT_SYMBOL vmlinux 0x7fffffff gen_estimator_active +EXPORT_SYMBOL vmlinux 0x7fffffff gen_kill_estimator +EXPORT_SYMBOL vmlinux 0x7fffffff gen_new_estimator +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_dma_alloc_algo +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0x7fffffff gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x7fffffff gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x7fffffff generate_random_guid +EXPORT_SYMBOL vmlinux 0x7fffffff generate_random_uuid +EXPORT_SYMBOL vmlinux 0x7fffffff generic_block_bmap +EXPORT_SYMBOL vmlinux 0x7fffffff generic_check_addressable +EXPORT_SYMBOL vmlinux 0x7fffffff generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x7fffffff generic_copy_file_range +EXPORT_SYMBOL vmlinux 0x7fffffff generic_delete_inode +EXPORT_SYMBOL vmlinux 0x7fffffff generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x7fffffff generic_file_read_iter +EXPORT_SYMBOL vmlinux 0x7fffffff generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x7fffffff generic_key_instantiate +EXPORT_SYMBOL vmlinux 0x7fffffff generic_listxattr +EXPORT_SYMBOL vmlinux 0x7fffffff generic_perform_write +EXPORT_SYMBOL vmlinux 0x7fffffff generic_permission +EXPORT_SYMBOL vmlinux 0x7fffffff generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x7fffffff generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x7fffffff generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0x7fffffff generic_read_dir +EXPORT_SYMBOL vmlinux 0x7fffffff generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0x7fffffff generic_set_encrypted_ci_d_ops +EXPORT_SYMBOL vmlinux 0x7fffffff generic_setlease +EXPORT_SYMBOL vmlinux 0x7fffffff generic_write_checks_count +EXPORT_SYMBOL vmlinux 0x7fffffff generic_write_end +EXPORT_SYMBOL vmlinux 0x7fffffff generic_writepages +EXPORT_SYMBOL vmlinux 0x7fffffff genl_unregister_family +EXPORT_SYMBOL vmlinux 0x7fffffff genlmsg_put +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_c37_config_aneg +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_c37_read_status +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_check_and_restart_aneg +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_config_eee_advert +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_handle_interrupt_no_ack +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_loopback +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_read_abilities +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_read_lpa +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_read_master_slave +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_read_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_read_status_fixed +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x7fffffff genphy_suspend +EXPORT_SYMBOL vmlinux 0x7fffffff get_acl +EXPORT_SYMBOL vmlinux 0x7fffffff get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0x7fffffff get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0x7fffffff get_default_font +EXPORT_SYMBOL vmlinux 0x7fffffff get_fs_type +EXPORT_SYMBOL vmlinux 0x7fffffff get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0x7fffffff get_jiffies_64 +EXPORT_SYMBOL vmlinux 0x7fffffff get_next_ino +EXPORT_SYMBOL vmlinux 0x7fffffff get_option +EXPORT_SYMBOL vmlinux 0x7fffffff get_options +EXPORT_SYMBOL vmlinux 0x7fffffff get_phy_device +EXPORT_SYMBOL vmlinux 0x7fffffff get_random_u32 +EXPORT_SYMBOL vmlinux 0x7fffffff get_random_u64 +EXPORT_SYMBOL vmlinux 0x7fffffff get_task_cred +EXPORT_SYMBOL vmlinux 0x7fffffff get_thermal_instance +EXPORT_SYMBOL vmlinux 0x7fffffff get_tree_keyed +EXPORT_SYMBOL vmlinux 0x7fffffff get_tree_nodev +EXPORT_SYMBOL vmlinux 0x7fffffff get_tree_single +EXPORT_SYMBOL vmlinux 0x7fffffff get_unmapped_area +EXPORT_SYMBOL vmlinux 0x7fffffff get_unused_fd_flags +EXPORT_SYMBOL vmlinux 0x7fffffff get_user_pages +EXPORT_SYMBOL vmlinux 0x7fffffff get_zeroed_page +EXPORT_SYMBOL vmlinux 0x7fffffff gf128mul_4k_bbe +EXPORT_SYMBOL vmlinux 0x7fffffff gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0x7fffffff gf128mul_init_4k_bbe +EXPORT_SYMBOL vmlinux 0x7fffffff gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x7fffffff gf128mul_lle +EXPORT_SYMBOL vmlinux 0x7fffffff gic_pmr_sync +EXPORT_SYMBOL vmlinux 0x7fffffff global_cursor_default +EXPORT_SYMBOL vmlinux 0x7fffffff gnet_stats_add_basic +EXPORT_SYMBOL vmlinux 0x7fffffff gnet_stats_add_queue +EXPORT_SYMBOL vmlinux 0x7fffffff gnet_stats_basic_sync_init +EXPORT_SYMBOL vmlinux 0x7fffffff gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x7fffffff gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x7fffffff gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0x7fffffff gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x7fffffff gpmc_cs_request +EXPORT_SYMBOL vmlinux 0x7fffffff gro_cells_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff gro_cells_receive +EXPORT_SYMBOL vmlinux 0x7fffffff gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0x7fffffff groups_sort +EXPORT_SYMBOL vmlinux 0x7fffffff guid_null +EXPORT_SYMBOL vmlinux 0x7fffffff guid_parse +EXPORT_SYMBOL vmlinux 0x7fffffff handle_edge_irq +EXPORT_SYMBOL vmlinux 0x7fffffff has_capability +EXPORT_SYMBOL vmlinux 0x7fffffff has_capability_noaudit +EXPORT_SYMBOL vmlinux 0x7fffffff hchacha_block_generic +EXPORT_SYMBOL vmlinux 0x7fffffff hdmi_audio_infoframe_check +EXPORT_SYMBOL vmlinux 0x7fffffff hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0x7fffffff hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0x7fffffff hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0x7fffffff hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0x7fffffff hdmi_spd_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x7fffffff hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x7fffffff hex_asc_upper +EXPORT_SYMBOL vmlinux 0x7fffffff hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff hex_to_bin +EXPORT_SYMBOL vmlinux 0x7fffffff high_memory +EXPORT_SYMBOL vmlinux 0x7fffffff hsiphash_3u32 +EXPORT_SYMBOL vmlinux 0x7fffffff hsiphash_4u32 +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_register_driver +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x7fffffff i2c_transfer +EXPORT_SYMBOL vmlinux 0x7fffffff icmp6_send +EXPORT_SYMBOL vmlinux 0x7fffffff icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0x7fffffff icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0x7fffffff icst_hz +EXPORT_SYMBOL vmlinux 0x7fffffff icst_hz_to_vco +EXPORT_SYMBOL vmlinux 0x7fffffff ida_alloc_range +EXPORT_SYMBOL vmlinux 0x7fffffff ida_free +EXPORT_SYMBOL vmlinux 0x7fffffff idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x7fffffff idr_get_next_ul +EXPORT_SYMBOL vmlinux 0x7fffffff idr_preload +EXPORT_SYMBOL vmlinux 0x7fffffff iget_failed +EXPORT_SYMBOL vmlinux 0x7fffffff iget_locked +EXPORT_SYMBOL vmlinux 0x7fffffff ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x7fffffff ilookup +EXPORT_SYMBOL vmlinux 0x7fffffff ilookup5 +EXPORT_SYMBOL vmlinux 0x7fffffff ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x7fffffff imx_sc_misc_get_control +EXPORT_SYMBOL vmlinux 0x7fffffff imx_sc_rm_is_resource_owned +EXPORT_SYMBOL vmlinux 0x7fffffff imx_scu_enable_general_irq_channel +EXPORT_SYMBOL vmlinux 0x7fffffff imx_scu_irq_register_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff imx_ssi_fiq_end +EXPORT_SYMBOL vmlinux 0x7fffffff imx_ssi_fiq_start +EXPORT_SYMBOL vmlinux 0x7fffffff in4_pton +EXPORT_SYMBOL vmlinux 0x7fffffff in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0x7fffffff in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0x7fffffff in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0x7fffffff in6addr_sitelocal_allrouters +EXPORT_SYMBOL vmlinux 0x7fffffff in_group_p +EXPORT_SYMBOL vmlinux 0x7fffffff inc_nlink +EXPORT_SYMBOL vmlinux 0x7fffffff inet6_add_offload +EXPORT_SYMBOL vmlinux 0x7fffffff inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x7fffffff inet6_bind +EXPORT_SYMBOL vmlinux 0x7fffffff inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0x7fffffff inet6_del_offload +EXPORT_SYMBOL vmlinux 0x7fffffff inet6_getname +EXPORT_SYMBOL vmlinux 0x7fffffff inet6_offloads +EXPORT_SYMBOL vmlinux 0x7fffffff inet6_release +EXPORT_SYMBOL vmlinux 0x7fffffff inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0x7fffffff inet6addr_validator_notifier_call_chain +EXPORT_SYMBOL vmlinux 0x7fffffff inet_add_protocol +EXPORT_SYMBOL vmlinux 0x7fffffff inet_addr_is_any +EXPORT_SYMBOL vmlinux 0x7fffffff inet_confirm_addr +EXPORT_SYMBOL vmlinux 0x7fffffff inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0x7fffffff inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x7fffffff inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x7fffffff inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0x7fffffff inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0x7fffffff inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0x7fffffff inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0x7fffffff inet_current_timestamp +EXPORT_SYMBOL vmlinux 0x7fffffff inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x7fffffff inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x7fffffff inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff inet_frag_find +EXPORT_SYMBOL vmlinux 0x7fffffff inet_frag_kill +EXPORT_SYMBOL vmlinux 0x7fffffff inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0x7fffffff inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0x7fffffff inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x7fffffff inet_listen +EXPORT_SYMBOL vmlinux 0x7fffffff inet_offloads +EXPORT_SYMBOL vmlinux 0x7fffffff inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0x7fffffff inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x7fffffff inet_put_port +EXPORT_SYMBOL vmlinux 0x7fffffff inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0x7fffffff inet_register_protosw +EXPORT_SYMBOL vmlinux 0x7fffffff inet_release +EXPORT_SYMBOL vmlinux 0x7fffffff inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0x7fffffff inet_select_addr +EXPORT_SYMBOL vmlinux 0x7fffffff inet_sendpage +EXPORT_SYMBOL vmlinux 0x7fffffff inet_shutdown +EXPORT_SYMBOL vmlinux 0x7fffffff inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x7fffffff inet_sk_set_state +EXPORT_SYMBOL vmlinux 0x7fffffff inet_stream_connect +EXPORT_SYMBOL vmlinux 0x7fffffff inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0x7fffffff inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x7fffffff init_cdrom_command +EXPORT_SYMBOL vmlinux 0x7fffffff init_on_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff init_on_free +EXPORT_SYMBOL vmlinux 0x7fffffff init_special_inode +EXPORT_SYMBOL vmlinux 0x7fffffff init_timer_key +EXPORT_SYMBOL vmlinux 0x7fffffff init_wait_entry +EXPORT_SYMBOL vmlinux 0x7fffffff inode_add_bytes +EXPORT_SYMBOL vmlinux 0x7fffffff inode_dio_wait +EXPORT_SYMBOL vmlinux 0x7fffffff inode_get_bytes +EXPORT_SYMBOL vmlinux 0x7fffffff inode_io_list_del +EXPORT_SYMBOL vmlinux 0x7fffffff inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x7fffffff inode_permission +EXPORT_SYMBOL vmlinux 0x7fffffff inode_set_flags +EXPORT_SYMBOL vmlinux 0x7fffffff inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x7fffffff inode_update_time +EXPORT_SYMBOL vmlinux 0x7fffffff input_allocate_device +EXPORT_SYMBOL vmlinux 0x7fffffff input_copy_abs +EXPORT_SYMBOL vmlinux 0x7fffffff input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0x7fffffff input_get_keycode +EXPORT_SYMBOL vmlinux 0x7fffffff input_get_new_minor +EXPORT_SYMBOL vmlinux 0x7fffffff input_get_poll_interval +EXPORT_SYMBOL vmlinux 0x7fffffff input_get_timestamp +EXPORT_SYMBOL vmlinux 0x7fffffff input_grab_device +EXPORT_SYMBOL vmlinux 0x7fffffff input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x7fffffff input_match_device_id +EXPORT_SYMBOL vmlinux 0x7fffffff input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0x7fffffff input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x7fffffff input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0x7fffffff input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x7fffffff input_open_device +EXPORT_SYMBOL vmlinux 0x7fffffff input_set_abs_params +EXPORT_SYMBOL vmlinux 0x7fffffff input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0x7fffffff input_set_poll_interval +EXPORT_SYMBOL vmlinux 0x7fffffff insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x7fffffff int_sqrt +EXPORT_SYMBOL vmlinux 0x7fffffff io_schedule +EXPORT_SYMBOL vmlinux 0x7fffffff io_schedule_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x7fffffff ioport_resource +EXPORT_SYMBOL vmlinux 0x7fffffff ioport_unmap +EXPORT_SYMBOL vmlinux 0x7fffffff ioremap_page +EXPORT_SYMBOL vmlinux 0x7fffffff ioremap_wc +EXPORT_SYMBOL vmlinux 0x7fffffff iounmap +EXPORT_SYMBOL vmlinux 0x7fffffff iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0x7fffffff iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0x7fffffff iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff iov_iter_init +EXPORT_SYMBOL vmlinux 0x7fffffff iov_iter_npages +EXPORT_SYMBOL vmlinux 0x7fffffff iov_iter_pipe +EXPORT_SYMBOL vmlinux 0x7fffffff iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x7fffffff iov_iter_zero +EXPORT_SYMBOL vmlinux 0x7fffffff ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x7fffffff ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0x7fffffff ip6_frag_next +EXPORT_SYMBOL vmlinux 0x7fffffff ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x7fffffff ip6_output +EXPORT_SYMBOL vmlinux 0x7fffffff ip6_xmit +EXPORT_SYMBOL vmlinux 0x7fffffff ip6tun_encaps +EXPORT_SYMBOL vmlinux 0x7fffffff ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0x7fffffff ip_fraglist_init +EXPORT_SYMBOL vmlinux 0x7fffffff ip_getsockopt +EXPORT_SYMBOL vmlinux 0x7fffffff ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x7fffffff ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0x7fffffff ip_options_compile +EXPORT_SYMBOL vmlinux 0x7fffffff ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0x7fffffff ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x7fffffff ip_route_input_noref +EXPORT_SYMBOL vmlinux 0x7fffffff ip_setsockopt +EXPORT_SYMBOL vmlinux 0x7fffffff ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0x7fffffff ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0x7fffffff ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0x7fffffff ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0x7fffffff ipmi_dmi_get_slave_addr +EXPORT_SYMBOL vmlinux 0x7fffffff ipmi_platform_add +EXPORT_SYMBOL vmlinux 0x7fffffff ipv4_specific +EXPORT_SYMBOL vmlinux 0x7fffffff ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0x7fffffff ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0x7fffffff ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x7fffffff ipv6_dev_find +EXPORT_SYMBOL vmlinux 0x7fffffff ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0x7fffffff ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0x7fffffff ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0x7fffffff ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0x7fffffff ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0x7fffffff irq_domain_set_info +EXPORT_SYMBOL vmlinux 0x7fffffff irq_poll_complete +EXPORT_SYMBOL vmlinux 0x7fffffff irq_poll_enable +EXPORT_SYMBOL vmlinux 0x7fffffff irq_poll_init +EXPORT_SYMBOL vmlinux 0x7fffffff irq_set_chip +EXPORT_SYMBOL vmlinux 0x7fffffff irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0x7fffffff irq_stat +EXPORT_SYMBOL vmlinux 0x7fffffff is_console_locked +EXPORT_SYMBOL vmlinux 0x7fffffff is_free_buddy_page +EXPORT_SYMBOL vmlinux 0x7fffffff is_module_sig_enforced +EXPORT_SYMBOL vmlinux 0x7fffffff is_nd_btt +EXPORT_SYMBOL vmlinux 0x7fffffff is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0x7fffffff isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0x7fffffff iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0x7fffffff iter_file_splice_write +EXPORT_SYMBOL vmlinux 0x7fffffff iterate_dir +EXPORT_SYMBOL vmlinux 0x7fffffff iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x7fffffff iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x7fffffff iwe_stream_add_value +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_fc_begin_commit +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_fc_end_commit_fallback +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_fc_wait_bufs +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_finish_inode_data_buffers +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_grab_journal_head +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_invalidate_folio +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_journal_submit_inode_data_buffers +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x7fffffff jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x7fffffff jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x7fffffff jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0x7fffffff jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0x7fffffff kasprintf +EXPORT_SYMBOL vmlinux 0x7fffffff kern_path +EXPORT_SYMBOL vmlinux 0x7fffffff kern_path_create +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_bind +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_connect +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_cpustat +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_listen +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_neon_begin +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_neon_end +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_param_lock +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_param_unlock +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0x7fffffff kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x7fffffff key_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x7fffffff key_invalidate +EXPORT_SYMBOL vmlinux 0x7fffffff key_move +EXPORT_SYMBOL vmlinux 0x7fffffff key_put +EXPORT_SYMBOL vmlinux 0x7fffffff key_revoke +EXPORT_SYMBOL vmlinux 0x7fffffff key_task_permission +EXPORT_SYMBOL vmlinux 0x7fffffff key_unlink +EXPORT_SYMBOL vmlinux 0x7fffffff key_update +EXPORT_SYMBOL vmlinux 0x7fffffff key_validate +EXPORT_SYMBOL vmlinux 0x7fffffff keyring_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff keyring_clear +EXPORT_SYMBOL vmlinux 0x7fffffff keyring_restrict +EXPORT_SYMBOL vmlinux 0x7fffffff keyring_search +EXPORT_SYMBOL vmlinux 0x7fffffff kfree_const +EXPORT_SYMBOL vmlinux 0x7fffffff kfree_link +EXPORT_SYMBOL vmlinux 0x7fffffff kfree_sensitive +EXPORT_SYMBOL vmlinux 0x7fffffff kill_anon_super +EXPORT_SYMBOL vmlinux 0x7fffffff kill_fasync +EXPORT_SYMBOL vmlinux 0x7fffffff kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0x7fffffff kmalloc_caches +EXPORT_SYMBOL vmlinux 0x7fffffff kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff kmem_cache_alloc_lru +EXPORT_SYMBOL vmlinux 0x7fffffff kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0x7fffffff kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x7fffffff kobject_add +EXPORT_SYMBOL vmlinux 0x7fffffff kobject_get +EXPORT_SYMBOL vmlinux 0x7fffffff krait_set_l2_indirect_reg +EXPORT_SYMBOL vmlinux 0x7fffffff kset_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff ksize +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtoint +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtos16 +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0x7fffffff kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x7fffffff kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0x7fffffff kthread_create_worker +EXPORT_SYMBOL vmlinux 0x7fffffff kthread_should_stop +EXPORT_SYMBOL vmlinux 0x7fffffff ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0x7fffffff ktime_get_real_ts64 +EXPORT_SYMBOL vmlinux 0x7fffffff kvfree_sensitive +EXPORT_SYMBOL vmlinux 0x7fffffff kvmalloc_node +EXPORT_SYMBOL vmlinux 0x7fffffff kvrealloc +EXPORT_SYMBOL vmlinux 0x7fffffff lease_modify +EXPORT_SYMBOL vmlinux 0x7fffffff ledtrig_cpu +EXPORT_SYMBOL vmlinux 0x7fffffff ledtrig_mtd_activity +EXPORT_SYMBOL vmlinux 0x7fffffff list_sort +EXPORT_SYMBOL vmlinux 0x7fffffff load_nls_default +EXPORT_SYMBOL vmlinux 0x7fffffff lock_sock_nested +EXPORT_SYMBOL vmlinux 0x7fffffff lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x7fffffff lockref_get +EXPORT_SYMBOL vmlinux 0x7fffffff lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0x7fffffff lockref_mark_dead +EXPORT_SYMBOL vmlinux 0x7fffffff lockref_put_return +EXPORT_SYMBOL vmlinux 0x7fffffff locks_copy_conflock +EXPORT_SYMBOL vmlinux 0x7fffffff locks_delete_block +EXPORT_SYMBOL vmlinux 0x7fffffff locks_free_lock +EXPORT_SYMBOL vmlinux 0x7fffffff locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0x7fffffff logfc +EXPORT_SYMBOL vmlinux 0x7fffffff lookup_constant +EXPORT_SYMBOL vmlinux 0x7fffffff lookup_one +EXPORT_SYMBOL vmlinux 0x7fffffff lookup_one_len +EXPORT_SYMBOL vmlinux 0x7fffffff lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0x7fffffff loops_per_jiffy +EXPORT_SYMBOL vmlinux 0x7fffffff lru_cache_add +EXPORT_SYMBOL vmlinux 0x7fffffff make_bad_inode +EXPORT_SYMBOL vmlinux 0x7fffffff make_kprojid +EXPORT_SYMBOL vmlinux 0x7fffffff make_kuid +EXPORT_SYMBOL vmlinux 0x7fffffff mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x7fffffff mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0x7fffffff mark_info_dirty +EXPORT_SYMBOL vmlinux 0x7fffffff mark_page_accessed +EXPORT_SYMBOL vmlinux 0x7fffffff match_hex +EXPORT_SYMBOL vmlinux 0x7fffffff match_octal +EXPORT_SYMBOL vmlinux 0x7fffffff match_strdup +EXPORT_SYMBOL vmlinux 0x7fffffff match_string +EXPORT_SYMBOL vmlinux 0x7fffffff match_u64 +EXPORT_SYMBOL vmlinux 0x7fffffff match_uint +EXPORT_SYMBOL vmlinux 0x7fffffff max8925_reg_write +EXPORT_SYMBOL vmlinux 0x7fffffff max8998_bulk_read +EXPORT_SYMBOL vmlinux 0x7fffffff max8998_read_reg +EXPORT_SYMBOL vmlinux 0x7fffffff max8998_update_reg +EXPORT_SYMBOL vmlinux 0x7fffffff max8998_write_reg +EXPORT_SYMBOL vmlinux 0x7fffffff may_umount +EXPORT_SYMBOL vmlinux 0x7fffffff may_umount_tree +EXPORT_SYMBOL vmlinux 0x7fffffff mb_cache_create +EXPORT_SYMBOL vmlinux 0x7fffffff mb_cache_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff mb_cache_entry_wait_unused +EXPORT_SYMBOL vmlinux 0x7fffffff md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0x7fffffff md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x7fffffff md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x7fffffff md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x7fffffff md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x7fffffff md_check_recovery +EXPORT_SYMBOL vmlinux 0x7fffffff md_finish_reshape +EXPORT_SYMBOL vmlinux 0x7fffffff md_flush_request +EXPORT_SYMBOL vmlinux 0x7fffffff md_handle_request +EXPORT_SYMBOL vmlinux 0x7fffffff md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0x7fffffff md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x7fffffff md_write_inc +EXPORT_SYMBOL vmlinux 0x7fffffff mdio_bus_type +EXPORT_SYMBOL vmlinux 0x7fffffff mdio_device_remove +EXPORT_SYMBOL vmlinux 0x7fffffff mdio_driver_register +EXPORT_SYMBOL vmlinux 0x7fffffff mdiobb_read +EXPORT_SYMBOL vmlinux 0x7fffffff mdiobb_write +EXPORT_SYMBOL vmlinux 0x7fffffff mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x7fffffff mdiobus_get_phy +EXPORT_SYMBOL vmlinux 0x7fffffff mdiobus_is_registered_device +EXPORT_SYMBOL vmlinux 0x7fffffff mdiobus_read +EXPORT_SYMBOL vmlinux 0x7fffffff mdiobus_read_nested +EXPORT_SYMBOL vmlinux 0x7fffffff mdiobus_register_device +EXPORT_SYMBOL vmlinux 0x7fffffff mem_map +EXPORT_SYMBOL vmlinux 0x7fffffff memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0x7fffffff memcg_sockets_enabled_key +EXPORT_SYMBOL vmlinux 0x7fffffff memchr +EXPORT_SYMBOL vmlinux 0x7fffffff memcpy +EXPORT_SYMBOL vmlinux 0x7fffffff memcpy_and_pad +EXPORT_SYMBOL vmlinux 0x7fffffff memdup_user +EXPORT_SYMBOL vmlinux 0x7fffffff memdup_user_nul +EXPORT_SYMBOL vmlinux 0x7fffffff memmove +EXPORT_SYMBOL vmlinux 0x7fffffff mempool_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0x7fffffff mempool_create +EXPORT_SYMBOL vmlinux 0x7fffffff mempool_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff mempool_exit +EXPORT_SYMBOL vmlinux 0x7fffffff mempool_free_pages +EXPORT_SYMBOL vmlinux 0x7fffffff mempool_free_slab +EXPORT_SYMBOL vmlinux 0x7fffffff mempool_init +EXPORT_SYMBOL vmlinux 0x7fffffff mempool_kmalloc +EXPORT_SYMBOL vmlinux 0x7fffffff memregion_free +EXPORT_SYMBOL vmlinux 0x7fffffff memremap +EXPORT_SYMBOL vmlinux 0x7fffffff memset16 +EXPORT_SYMBOL vmlinux 0x7fffffff memunmap +EXPORT_SYMBOL vmlinux 0x7fffffff mfd_add_devices +EXPORT_SYMBOL vmlinux 0x7fffffff mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x7fffffff mfd_cell_enable +EXPORT_SYMBOL vmlinux 0x7fffffff mfd_remove_devices_late +EXPORT_SYMBOL vmlinux 0x7fffffff migrate_page_states +EXPORT_SYMBOL vmlinux 0x7fffffff mii_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x7fffffff mii_ethtool_sset +EXPORT_SYMBOL vmlinux 0x7fffffff mii_link_ok +EXPORT_SYMBOL vmlinux 0x7fffffff mii_nway_restart +EXPORT_SYMBOL vmlinux 0x7fffffff mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0x7fffffff mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0x7fffffff minmax_running_max +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_attach +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_exit_sleep_mode +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_get_display_brightness +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_get_display_brightness_large +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_set_column_address +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_set_display_off +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_set_pixel_format +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_set_tear_off +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_dcs_write +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_device_register_full +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_packet_format_is_long +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_picture_parameter_set +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_set_maximum_return_packet_size +EXPORT_SYMBOL vmlinux 0x7fffffff mipi_dsi_turn_on_peripheral +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_alloc_host +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_can_erase +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_can_trim +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_card_alternative_gpt_sector +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_command_done +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_cqe_recovery +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_erase +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_get_card +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_gpio_get_cd +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_gpio_set_cd_isr +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_gpio_set_cd_wake +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_gpiod_request_cd_irq +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_gpiod_request_ro +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_is_req_done +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_of_parse_clk_phase +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_put_card +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_register_driver +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_request_done +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_retune_pause +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_run_bkops +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_start_request +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_sw_reset +EXPORT_SYMBOL vmlinux 0x7fffffff mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x7fffffff mntget +EXPORT_SYMBOL vmlinux 0x7fffffff mod_timer +EXPORT_SYMBOL vmlinux 0x7fffffff mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x7fffffff module_refcount +EXPORT_SYMBOL vmlinux 0x7fffffff mount_bdev +EXPORT_SYMBOL vmlinux 0x7fffffff mount_single +EXPORT_SYMBOL vmlinux 0x7fffffff movable_zone +EXPORT_SYMBOL vmlinux 0x7fffffff mpage_read_folio +EXPORT_SYMBOL vmlinux 0x7fffffff mpage_writepages +EXPORT_SYMBOL vmlinux 0x7fffffff mptcp_subflow_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0x7fffffff mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0x7fffffff mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0x7fffffff mr_table_dump +EXPORT_SYMBOL vmlinux 0x7fffffff mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0x7fffffff msleep +EXPORT_SYMBOL vmlinux 0x7fffffff msleep_interruptible +EXPORT_SYMBOL vmlinux 0x7fffffff msm_pinctrl_dev_pm_ops +EXPORT_SYMBOL vmlinux 0x7fffffff msm_pinctrl_probe +EXPORT_SYMBOL vmlinux 0x7fffffff mutex_is_locked +EXPORT_SYMBOL vmlinux 0x7fffffff mutex_lock +EXPORT_SYMBOL vmlinux 0x7fffffff mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x7fffffff mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x7fffffff mutex_unlock +EXPORT_SYMBOL vmlinux 0x7fffffff mx51_revision +EXPORT_SYMBOL vmlinux 0x7fffffff mxc_set_irq_fiq +EXPORT_SYMBOL vmlinux 0x7fffffff nand_check_erased_ecc_chunk +EXPORT_SYMBOL vmlinux 0x7fffffff nand_create_bbt +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_cleanup_ctx +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_get_on_host_hw_engine +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_get_sw_engine +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_prepare_io_req +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_register_on_host_hw_engine +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_sw_bch_calculate +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_sw_bch_cleanup_ctx +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_sw_bch_get_engine +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_sw_bch_init_ctx +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_sw_hamming_calculate +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_sw_hamming_cleanup_ctx +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_sw_hamming_init_ctx +EXPORT_SYMBOL vmlinux 0x7fffffff nand_ecc_unregister_on_host_hw_engine +EXPORT_SYMBOL vmlinux 0x7fffffff nand_monolithic_read_page_raw +EXPORT_SYMBOL vmlinux 0x7fffffff nand_monolithic_write_page_raw +EXPORT_SYMBOL vmlinux 0x7fffffff nand_read_page_raw +EXPORT_SYMBOL vmlinux 0x7fffffff nand_scan_with_ids +EXPORT_SYMBOL vmlinux 0x7fffffff nand_write_oob_std +EXPORT_SYMBOL vmlinux 0x7fffffff nand_write_page_raw +EXPORT_SYMBOL vmlinux 0x7fffffff napi_enable +EXPORT_SYMBOL vmlinux 0x7fffffff napi_schedule_prep +EXPORT_SYMBOL vmlinux 0x7fffffff nd_btt_version +EXPORT_SYMBOL vmlinux 0x7fffffff nd_device_notify +EXPORT_SYMBOL vmlinux 0x7fffffff nd_device_register +EXPORT_SYMBOL vmlinux 0x7fffffff nd_device_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff nd_integrity_init +EXPORT_SYMBOL vmlinux 0x7fffffff nd_region_acquire_lane +EXPORT_SYMBOL vmlinux 0x7fffffff nd_region_release_lane +EXPORT_SYMBOL vmlinux 0x7fffffff nd_region_to_nstype +EXPORT_SYMBOL vmlinux 0x7fffffff ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0x7fffffff ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_app_ns +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_carrier_down +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_connected_output +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_event_ns +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_ifdown +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_resolve_output +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_seq_next +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x7fffffff neigh_table_init +EXPORT_SYMBOL vmlinux 0x7fffffff net_dim_get_def_rx_moderation +EXPORT_SYMBOL vmlinux 0x7fffffff net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x7fffffff net_ns_barrier +EXPORT_SYMBOL vmlinux 0x7fffffff net_ratelimit +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_adjacent_get_private +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_change_features +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_crit +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_emerg +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_max_backlog +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_notice +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_notify_peers +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_offload_xstats_disable +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_offload_xstats_enable +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_offload_xstats_enabled +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_offload_xstats_report_delta +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_offload_xstats_report_used +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_printk +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_reset_tc +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_sk_get_lowest_dev +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0x7fffffff netdev_warn +EXPORT_SYMBOL vmlinux 0x7fffffff netif_carrier_off +EXPORT_SYMBOL vmlinux 0x7fffffff netif_device_detach +EXPORT_SYMBOL vmlinux 0x7fffffff netif_napi_add_weight +EXPORT_SYMBOL vmlinux 0x7fffffff netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0x7fffffff netif_schedule_queue +EXPORT_SYMBOL vmlinux 0x7fffffff netif_set_real_num_queues +EXPORT_SYMBOL vmlinux 0x7fffffff netif_set_tso_max_segs +EXPORT_SYMBOL vmlinux 0x7fffffff netif_set_tso_max_size +EXPORT_SYMBOL vmlinux 0x7fffffff netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x7fffffff netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0x7fffffff netif_tx_unlock +EXPORT_SYMBOL vmlinux 0x7fffffff netlbl_audit_start +EXPORT_SYMBOL vmlinux 0x7fffffff netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x7fffffff netlink_ack +EXPORT_SYMBOL vmlinux 0x7fffffff netlink_ns_capable +EXPORT_SYMBOL vmlinux 0x7fffffff netlink_register_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff netlink_set_err +EXPORT_SYMBOL vmlinux 0x7fffffff netlink_unicast +EXPORT_SYMBOL vmlinux 0x7fffffff netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x7fffffff netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0x7fffffff netpoll_print_options +EXPORT_SYMBOL vmlinux 0x7fffffff netpoll_send_skb +EXPORT_SYMBOL vmlinux 0x7fffffff netpoll_send_udp +EXPORT_SYMBOL vmlinux 0x7fffffff netstamp_needed_key +EXPORT_SYMBOL vmlinux 0x7fffffff new_inode +EXPORT_SYMBOL vmlinux 0x7fffffff next_arg +EXPORT_SYMBOL vmlinux 0x7fffffff nexthop_bucket_set_hw_flags +EXPORT_SYMBOL vmlinux 0x7fffffff nexthop_res_grp_activity_update +EXPORT_SYMBOL vmlinux 0x7fffffff nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff nf_ct_attach +EXPORT_SYMBOL vmlinux 0x7fffffff nf_getsockopt +EXPORT_SYMBOL vmlinux 0x7fffffff nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0x7fffffff nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x7fffffff nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x7fffffff nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x7fffffff nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x7fffffff nf_log_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff nf_register_net_hooks +EXPORT_SYMBOL vmlinux 0x7fffffff nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0x7fffffff nf_setsockopt +EXPORT_SYMBOL vmlinux 0x7fffffff nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0x7fffffff nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0x7fffffff nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0x7fffffff nla_append +EXPORT_SYMBOL vmlinux 0x7fffffff nla_find +EXPORT_SYMBOL vmlinux 0x7fffffff nla_memcmp +EXPORT_SYMBOL vmlinux 0x7fffffff nla_memcpy +EXPORT_SYMBOL vmlinux 0x7fffffff nla_policy_len +EXPORT_SYMBOL vmlinux 0x7fffffff nla_put_64bit +EXPORT_SYMBOL vmlinux 0x7fffffff nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x7fffffff nla_strcmp +EXPORT_SYMBOL vmlinux 0x7fffffff nla_strdup +EXPORT_SYMBOL vmlinux 0x7fffffff nmi_panic +EXPORT_SYMBOL vmlinux 0x7fffffff no_llseek +EXPORT_SYMBOL vmlinux 0x7fffffff no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0x7fffffff nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x7fffffff nobh_writepage +EXPORT_SYMBOL vmlinux 0x7fffffff node_states +EXPORT_SYMBOL vmlinux 0x7fffffff nonseekable_open +EXPORT_SYMBOL vmlinux 0x7fffffff noop_llseek +EXPORT_SYMBOL vmlinux 0x7fffffff noop_qdisc +EXPORT_SYMBOL vmlinux 0x7fffffff notify_change +EXPORT_SYMBOL vmlinux 0x7fffffff ns_capable_setid +EXPORT_SYMBOL vmlinux 0x7fffffff nvdimm_bus_unlock +EXPORT_SYMBOL vmlinux 0x7fffffff nvdimm_check_and_set_ro +EXPORT_SYMBOL vmlinux 0x7fffffff nvdimm_namespace_capacity +EXPORT_SYMBOL vmlinux 0x7fffffff nvdimm_namespace_common_probe +EXPORT_SYMBOL vmlinux 0x7fffffff nvdimm_namespace_locked +EXPORT_SYMBOL vmlinux 0x7fffffff of_clk_get_by_name +EXPORT_SYMBOL vmlinux 0x7fffffff of_count_phandle_with_args +EXPORT_SYMBOL vmlinux 0x7fffffff of_cpu_node_to_id +EXPORT_SYMBOL vmlinux 0x7fffffff of_device_get_match_data +EXPORT_SYMBOL vmlinux 0x7fffffff of_device_is_big_endian +EXPORT_SYMBOL vmlinux 0x7fffffff of_device_is_compatible +EXPORT_SYMBOL vmlinux 0x7fffffff of_device_register +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_all_nodes +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_compatible_node +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_device_by_node +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_matching_node_and_match +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_mipi_dsi_device_by_node +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_net_device_by_node +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0x7fffffff of_find_node_opts_by_path +EXPORT_SYMBOL vmlinux 0x7fffffff of_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x7fffffff of_get_min_tck +EXPORT_SYMBOL vmlinux 0x7fffffff of_get_next_child +EXPORT_SYMBOL vmlinux 0x7fffffff of_get_next_parent +EXPORT_SYMBOL vmlinux 0x7fffffff of_get_parent +EXPORT_SYMBOL vmlinux 0x7fffffff of_get_property +EXPORT_SYMBOL vmlinux 0x7fffffff of_graph_get_endpoint_by_regs +EXPORT_SYMBOL vmlinux 0x7fffffff of_graph_get_port_by_id +EXPORT_SYMBOL vmlinux 0x7fffffff of_graph_get_port_parent +EXPORT_SYMBOL vmlinux 0x7fffffff of_graph_get_remote_endpoint +EXPORT_SYMBOL vmlinux 0x7fffffff of_graph_get_remote_port +EXPORT_SYMBOL vmlinux 0x7fffffff of_graph_get_remote_port_parent +EXPORT_SYMBOL vmlinux 0x7fffffff of_graph_is_present +EXPORT_SYMBOL vmlinux 0x7fffffff of_io_request_and_map +EXPORT_SYMBOL vmlinux 0x7fffffff of_iomap +EXPORT_SYMBOL vmlinux 0x7fffffff of_lpddr2_get_info +EXPORT_SYMBOL vmlinux 0x7fffffff of_lpddr3_get_ddr_timings +EXPORT_SYMBOL vmlinux 0x7fffffff of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0x7fffffff of_mdio_find_device +EXPORT_SYMBOL vmlinux 0x7fffffff of_mdiobus_child_is_phy +EXPORT_SYMBOL vmlinux 0x7fffffff of_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0x7fffffff of_mdiobus_register +EXPORT_SYMBOL vmlinux 0x7fffffff of_n_addr_cells +EXPORT_SYMBOL vmlinux 0x7fffffff of_node_get +EXPORT_SYMBOL vmlinux 0x7fffffff of_node_name_prefix +EXPORT_SYMBOL vmlinux 0x7fffffff of_parse_phandle_with_args_map +EXPORT_SYMBOL vmlinux 0x7fffffff of_pci_range_to_resource +EXPORT_SYMBOL vmlinux 0x7fffffff of_phy_deregister_fixed_link +EXPORT_SYMBOL vmlinux 0x7fffffff of_phy_find_device +EXPORT_SYMBOL vmlinux 0x7fffffff of_phy_is_fixed_link +EXPORT_SYMBOL vmlinux 0x7fffffff of_phy_register_fixed_link +EXPORT_SYMBOL vmlinux 0x7fffffff omap_rev +EXPORT_SYMBOL vmlinux 0x7fffffff omap_type +EXPORT_SYMBOL vmlinux 0x7fffffff on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0x7fffffff oops_in_progress +EXPORT_SYMBOL vmlinux 0x7fffffff open_with_fake_path +EXPORT_SYMBOL vmlinux 0x7fffffff out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0x7fffffff overflowuid +EXPORT_SYMBOL vmlinux 0x7fffffff padata_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff padata_alloc_shell +EXPORT_SYMBOL vmlinux 0x7fffffff padata_do_parallel +EXPORT_SYMBOL vmlinux 0x7fffffff padata_do_serial +EXPORT_SYMBOL vmlinux 0x7fffffff padata_free +EXPORT_SYMBOL vmlinux 0x7fffffff padata_free_shell +EXPORT_SYMBOL vmlinux 0x7fffffff padata_set_cpumask +EXPORT_SYMBOL vmlinux 0x7fffffff page_address +EXPORT_SYMBOL vmlinux 0x7fffffff page_frag_free +EXPORT_SYMBOL vmlinux 0x7fffffff page_get_link +EXPORT_SYMBOL vmlinux 0x7fffffff page_mapping +EXPORT_SYMBOL vmlinux 0x7fffffff page_offline_end +EXPORT_SYMBOL vmlinux 0x7fffffff page_pool_create +EXPORT_SYMBOL vmlinux 0x7fffffff page_pool_ethtool_stats_get +EXPORT_SYMBOL vmlinux 0x7fffffff page_pool_put_page_bulk +EXPORT_SYMBOL vmlinux 0x7fffffff page_pool_release_page +EXPORT_SYMBOL vmlinux 0x7fffffff page_pool_return_skb_page +EXPORT_SYMBOL vmlinux 0x7fffffff page_pool_update_nid +EXPORT_SYMBOL vmlinux 0x7fffffff page_readlink +EXPORT_SYMBOL vmlinux 0x7fffffff page_symlink +EXPORT_SYMBOL vmlinux 0x7fffffff page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x7fffffff page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x7fffffff pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0x7fffffff pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0x7fffffff panic +EXPORT_SYMBOL vmlinux 0x7fffffff panic_notifier_list +EXPORT_SYMBOL vmlinux 0x7fffffff param_array_ops +EXPORT_SYMBOL vmlinux 0x7fffffff param_get_byte +EXPORT_SYMBOL vmlinux 0x7fffffff param_get_charp +EXPORT_SYMBOL vmlinux 0x7fffffff param_get_int +EXPORT_SYMBOL vmlinux 0x7fffffff param_get_long +EXPORT_SYMBOL vmlinux 0x7fffffff param_get_short +EXPORT_SYMBOL vmlinux 0x7fffffff param_get_string +EXPORT_SYMBOL vmlinux 0x7fffffff param_get_ulong +EXPORT_SYMBOL vmlinux 0x7fffffff param_get_ushort +EXPORT_SYMBOL vmlinux 0x7fffffff param_ops_bint +EXPORT_SYMBOL vmlinux 0x7fffffff param_ops_byte +EXPORT_SYMBOL vmlinux 0x7fffffff param_ops_charp +EXPORT_SYMBOL vmlinux 0x7fffffff param_ops_hexint +EXPORT_SYMBOL vmlinux 0x7fffffff param_set_bint +EXPORT_SYMBOL vmlinux 0x7fffffff param_set_bool +EXPORT_SYMBOL vmlinux 0x7fffffff param_set_charp +EXPORT_SYMBOL vmlinux 0x7fffffff param_set_hexint +EXPORT_SYMBOL vmlinux 0x7fffffff param_set_invbool +EXPORT_SYMBOL vmlinux 0x7fffffff param_set_long +EXPORT_SYMBOL vmlinux 0x7fffffff param_set_short +EXPORT_SYMBOL vmlinux 0x7fffffff param_set_uint +EXPORT_SYMBOL vmlinux 0x7fffffff param_set_ushort +EXPORT_SYMBOL vmlinux 0x7fffffff passthru_features_check +EXPORT_SYMBOL vmlinux 0x7fffffff path_has_submounts +EXPORT_SYMBOL vmlinux 0x7fffffff path_is_mountpoint +EXPORT_SYMBOL vmlinux 0x7fffffff path_is_under +EXPORT_SYMBOL vmlinux 0x7fffffff pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x7fffffff pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0x7fffffff pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x7fffffff pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x7fffffff pci_bus_type +EXPORT_SYMBOL vmlinux 0x7fffffff pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x7fffffff pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x7fffffff pci_choose_state +EXPORT_SYMBOL vmlinux 0x7fffffff pci_clear_master +EXPORT_SYMBOL vmlinux 0x7fffffff pci_dev_get +EXPORT_SYMBOL vmlinux 0x7fffffff pci_disable_device +EXPORT_SYMBOL vmlinux 0x7fffffff pci_disable_msi +EXPORT_SYMBOL vmlinux 0x7fffffff pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0x7fffffff pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x7fffffff pci_enable_msi +EXPORT_SYMBOL vmlinux 0x7fffffff pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0x7fffffff pci_enable_wake +EXPORT_SYMBOL vmlinux 0x7fffffff pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0x7fffffff pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0x7fffffff pci_find_bus +EXPORT_SYMBOL vmlinux 0x7fffffff pci_find_capability +EXPORT_SYMBOL vmlinux 0x7fffffff pci_find_resource +EXPORT_SYMBOL vmlinux 0x7fffffff pci_free_irq +EXPORT_SYMBOL vmlinux 0x7fffffff pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0x7fffffff pci_get_slot +EXPORT_SYMBOL vmlinux 0x7fffffff pci_get_subsys +EXPORT_SYMBOL vmlinux 0x7fffffff pci_iomap +EXPORT_SYMBOL vmlinux 0x7fffffff pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0x7fffffff pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0x7fffffff pci_pci_problems +EXPORT_SYMBOL vmlinux 0x7fffffff pci_pme_active +EXPORT_SYMBOL vmlinux 0x7fffffff pci_read_config_byte +EXPORT_SYMBOL vmlinux 0x7fffffff pci_read_config_dword +EXPORT_SYMBOL vmlinux 0x7fffffff pci_read_vpd +EXPORT_SYMBOL vmlinux 0x7fffffff pci_read_vpd_any +EXPORT_SYMBOL vmlinux 0x7fffffff pci_reenable_device +EXPORT_SYMBOL vmlinux 0x7fffffff pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x7fffffff pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x7fffffff pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x7fffffff pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x7fffffff pci_save_state +EXPORT_SYMBOL vmlinux 0x7fffffff pci_scan_bus +EXPORT_SYMBOL vmlinux 0x7fffffff pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0x7fffffff pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x7fffffff pci_scan_slot +EXPORT_SYMBOL vmlinux 0x7fffffff pci_select_bars +EXPORT_SYMBOL vmlinux 0x7fffffff pci_set_master +EXPORT_SYMBOL vmlinux 0x7fffffff pci_set_power_state +EXPORT_SYMBOL vmlinux 0x7fffffff pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x7fffffff pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x7fffffff pci_write_config_dword +EXPORT_SYMBOL vmlinux 0x7fffffff pci_write_vpd +EXPORT_SYMBOL vmlinux 0x7fffffff pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x7fffffff pcibios_fixup_bus +EXPORT_SYMBOL vmlinux 0x7fffffff pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_get_mps +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_print_link_status +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_ptm_enabled +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_set_mps +EXPORT_SYMBOL vmlinux 0x7fffffff pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x7fffffff pcim_enable_device +EXPORT_SYMBOL vmlinux 0x7fffffff pcim_iomap +EXPORT_SYMBOL vmlinux 0x7fffffff pcim_iounmap +EXPORT_SYMBOL vmlinux 0x7fffffff pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x7fffffff pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x7fffffff percpu_counter_add_batch +EXPORT_SYMBOL vmlinux 0x7fffffff percpu_counter_sync +EXPORT_SYMBOL vmlinux 0x7fffffff pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x7fffffff pgprot_kernel +EXPORT_SYMBOL vmlinux 0x7fffffff pgprot_user +EXPORT_SYMBOL vmlinux 0x7fffffff phy_aneg_done +EXPORT_SYMBOL vmlinux 0x7fffffff phy_attach_direct +EXPORT_SYMBOL vmlinux 0x7fffffff phy_attached_info +EXPORT_SYMBOL vmlinux 0x7fffffff phy_attached_print +EXPORT_SYMBOL vmlinux 0x7fffffff phy_connect_direct +EXPORT_SYMBOL vmlinux 0x7fffffff phy_detach +EXPORT_SYMBOL vmlinux 0x7fffffff phy_device_create +EXPORT_SYMBOL vmlinux 0x7fffffff phy_device_register +EXPORT_SYMBOL vmlinux 0x7fffffff phy_disconnect +EXPORT_SYMBOL vmlinux 0x7fffffff phy_do_ioctl +EXPORT_SYMBOL vmlinux 0x7fffffff phy_do_ioctl_running +EXPORT_SYMBOL vmlinux 0x7fffffff phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff phy_drivers_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff phy_error +EXPORT_SYMBOL vmlinux 0x7fffffff phy_ethtool_get_stats +EXPORT_SYMBOL vmlinux 0x7fffffff phy_ethtool_ksettings_get +EXPORT_SYMBOL vmlinux 0x7fffffff phy_ethtool_nway_reset +EXPORT_SYMBOL vmlinux 0x7fffffff phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0x7fffffff phy_ethtool_set_wol +EXPORT_SYMBOL vmlinux 0x7fffffff phy_get_c45_ids +EXPORT_SYMBOL vmlinux 0x7fffffff phy_get_eee_err +EXPORT_SYMBOL vmlinux 0x7fffffff phy_get_internal_delay +EXPORT_SYMBOL vmlinux 0x7fffffff phy_get_pause +EXPORT_SYMBOL vmlinux 0x7fffffff phy_init_eee +EXPORT_SYMBOL vmlinux 0x7fffffff phy_init_hw +EXPORT_SYMBOL vmlinux 0x7fffffff phy_loopback +EXPORT_SYMBOL vmlinux 0x7fffffff phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x7fffffff phy_mipi_dphy_config_validate +EXPORT_SYMBOL vmlinux 0x7fffffff phy_modify_paged +EXPORT_SYMBOL vmlinux 0x7fffffff phy_modify_paged_changed +EXPORT_SYMBOL vmlinux 0x7fffffff phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0x7fffffff phy_set_asym_pause +EXPORT_SYMBOL vmlinux 0x7fffffff phy_set_max_speed +EXPORT_SYMBOL vmlinux 0x7fffffff phy_sfp_detach +EXPORT_SYMBOL vmlinux 0x7fffffff phy_start +EXPORT_SYMBOL vmlinux 0x7fffffff phy_start_aneg +EXPORT_SYMBOL vmlinux 0x7fffffff phy_start_cable_test +EXPORT_SYMBOL vmlinux 0x7fffffff phy_stop +EXPORT_SYMBOL vmlinux 0x7fffffff phy_support_asym_pause +EXPORT_SYMBOL vmlinux 0x7fffffff phy_suspend +EXPORT_SYMBOL vmlinux 0x7fffffff phy_unregister_fixup +EXPORT_SYMBOL vmlinux 0x7fffffff phy_unregister_fixup_for_uid +EXPORT_SYMBOL vmlinux 0x7fffffff phy_write_paged +EXPORT_SYMBOL vmlinux 0x7fffffff pid_task +EXPORT_SYMBOL vmlinux 0x7fffffff pin_user_pages +EXPORT_SYMBOL vmlinux 0x7fffffff ping_prot +EXPORT_SYMBOL vmlinux 0x7fffffff pipe_lock +EXPORT_SYMBOL vmlinux 0x7fffffff pipe_unlock +EXPORT_SYMBOL vmlinux 0x7fffffff platform_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x7fffffff pldmfw_flash_image +EXPORT_SYMBOL vmlinux 0x7fffffff pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0x7fffffff pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x7fffffff pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0x7fffffff pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x7fffffff pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x7fffffff pm_vt_switch_required +EXPORT_SYMBOL vmlinux 0x7fffffff pmem_sector_size +EXPORT_SYMBOL vmlinux 0x7fffffff pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x7fffffff posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff posix_acl_init +EXPORT_SYMBOL vmlinux 0x7fffffff posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0x7fffffff posix_acl_valid +EXPORT_SYMBOL vmlinux 0x7fffffff posix_lock_file +EXPORT_SYMBOL vmlinux 0x7fffffff ppp_channel_index +EXPORT_SYMBOL vmlinux 0x7fffffff ppp_dev_name +EXPORT_SYMBOL vmlinux 0x7fffffff ppp_input +EXPORT_SYMBOL vmlinux 0x7fffffff ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x7fffffff ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x7fffffff ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x7fffffff ppp_unit_number +EXPORT_SYMBOL vmlinux 0x7fffffff pps_lookup_dev +EXPORT_SYMBOL vmlinux 0x7fffffff pr_flush +EXPORT_SYMBOL vmlinux 0x7fffffff prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x7fffffff prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0x7fffffff probe_irq_off +EXPORT_SYMBOL vmlinux 0x7fffffff probe_irq_on +EXPORT_SYMBOL vmlinux 0x7fffffff proc_create +EXPORT_SYMBOL vmlinux 0x7fffffff proc_dobool +EXPORT_SYMBOL vmlinux 0x7fffffff proc_dointvec +EXPORT_SYMBOL vmlinux 0x7fffffff proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x7fffffff proc_dostring +EXPORT_SYMBOL vmlinux 0x7fffffff proc_douintvec +EXPORT_SYMBOL vmlinux 0x7fffffff proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x7fffffff proc_remove +EXPORT_SYMBOL vmlinux 0x7fffffff proc_set_user +EXPORT_SYMBOL vmlinux 0x7fffffff proc_symlink +EXPORT_SYMBOL vmlinux 0x7fffffff profile_pc +EXPORT_SYMBOL vmlinux 0x7fffffff proto_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff ps2_begin_command +EXPORT_SYMBOL vmlinux 0x7fffffff ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x7fffffff ps2_command +EXPORT_SYMBOL vmlinux 0x7fffffff ps2_drain +EXPORT_SYMBOL vmlinux 0x7fffffff ps2_end_command +EXPORT_SYMBOL vmlinux 0x7fffffff ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x7fffffff ps2_sliced_command +EXPORT_SYMBOL vmlinux 0x7fffffff psched_ppscfg_precompute +EXPORT_SYMBOL vmlinux 0x7fffffff psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0x7fffffff pskb_extract +EXPORT_SYMBOL vmlinux 0x7fffffff ptp_clock_event +EXPORT_SYMBOL vmlinux 0x7fffffff ptp_clock_index +EXPORT_SYMBOL vmlinux 0x7fffffff ptp_clock_register +EXPORT_SYMBOL vmlinux 0x7fffffff ptp_convert_timestamp +EXPORT_SYMBOL vmlinux 0x7fffffff ptp_find_pin +EXPORT_SYMBOL vmlinux 0x7fffffff ptp_find_pin_unlocked +EXPORT_SYMBOL vmlinux 0x7fffffff ptp_get_vclocks_index +EXPORT_SYMBOL vmlinux 0x7fffffff ptp_schedule_worker +EXPORT_SYMBOL vmlinux 0x7fffffff put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0x7fffffff put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0x7fffffff put_ipc_ns +EXPORT_SYMBOL vmlinux 0x7fffffff put_pages_list +EXPORT_SYMBOL vmlinux 0x7fffffff put_watch_queue +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_assign_mem +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_cpu_power_down +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_hdcp_req +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_ice_available +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_ice_set_key +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_iommu_secure_ptbl_init +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_iommu_set_cp_pool_size +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_is_available +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_lmh_dcvsh +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_lmh_dcvsh_available +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_lmh_profile_change +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_mem_protect_video_var +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_ocmem_lock +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_ocmem_lock_available +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_ocmem_unlock +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_pas_auth_and_reset +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_pas_metadata_release +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_pas_shutdown +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_pas_supported +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_qsmmu500_wait_safe_toggle +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_restore_sec_cfg +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_restore_sec_cfg_available +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_set_cold_boot_addr +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_set_remote_state +EXPORT_SYMBOL vmlinux 0x7fffffff qcom_scm_set_warm_boot_addr +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_hash_add +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_hash_del +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_put +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_put_stab +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_reset +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0x7fffffff qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0x7fffffff qe_get_brg_clk +EXPORT_SYMBOL vmlinux 0x7fffffff qe_put_snum +EXPORT_SYMBOL vmlinux 0x7fffffff qid_eq +EXPORT_SYMBOL vmlinux 0x7fffffff qid_valid +EXPORT_SYMBOL vmlinux 0x7fffffff queue_delayed_work_on +EXPORT_SYMBOL vmlinux 0x7fffffff queue_rcu_work +EXPORT_SYMBOL vmlinux 0x7fffffff queue_work_on +EXPORT_SYMBOL vmlinux 0x7fffffff radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x7fffffff radix_tree_iter_delete +EXPORT_SYMBOL vmlinux 0x7fffffff radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0x7fffffff radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0x7fffffff radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0x7fffffff radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x7fffffff radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x7fffffff radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x7fffffff ram_aops +EXPORT_SYMBOL vmlinux 0x7fffffff rational_best_approximation +EXPORT_SYMBOL vmlinux 0x7fffffff rawnand_sw_bch_correct +EXPORT_SYMBOL vmlinux 0x7fffffff rawnand_sw_hamming_correct +EXPORT_SYMBOL vmlinux 0x7fffffff rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x7fffffff rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff rb_first +EXPORT_SYMBOL vmlinux 0x7fffffff rb_first_postorder +EXPORT_SYMBOL vmlinux 0x7fffffff rb_insert_color +EXPORT_SYMBOL vmlinux 0x7fffffff rb_last +EXPORT_SYMBOL vmlinux 0x7fffffff rb_next +EXPORT_SYMBOL vmlinux 0x7fffffff rb_prev +EXPORT_SYMBOL vmlinux 0x7fffffff rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x7fffffff rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0x7fffffff read_cache_folio +EXPORT_SYMBOL vmlinux 0x7fffffff read_cache_page +EXPORT_SYMBOL vmlinux 0x7fffffff read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x7fffffff readahead_expand +EXPORT_SYMBOL vmlinux 0x7fffffff recalc_sigpending +EXPORT_SYMBOL vmlinux 0x7fffffff reciprocal_value +EXPORT_SYMBOL vmlinux 0x7fffffff reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0x7fffffff redraw_screen +EXPORT_SYMBOL vmlinux 0x7fffffff refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0x7fffffff refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x7fffffff refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x7fffffff refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0x7fffffff refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0x7fffffff register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff register_cdrom +EXPORT_SYMBOL vmlinux 0x7fffffff register_console +EXPORT_SYMBOL vmlinux 0x7fffffff register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff register_fib_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff register_module_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff register_netdevice +EXPORT_SYMBOL vmlinux 0x7fffffff register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x7fffffff register_qdisc +EXPORT_SYMBOL vmlinux 0x7fffffff register_quota_format +EXPORT_SYMBOL vmlinux 0x7fffffff register_restart_handler +EXPORT_SYMBOL vmlinux 0x7fffffff register_shrinker +EXPORT_SYMBOL vmlinux 0x7fffffff register_sound_special_device +EXPORT_SYMBOL vmlinux 0x7fffffff register_sysctl +EXPORT_SYMBOL vmlinux 0x7fffffff register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x7fffffff register_sysctl_table +EXPORT_SYMBOL vmlinux 0x7fffffff register_sysrq_key +EXPORT_SYMBOL vmlinux 0x7fffffff regset_get +EXPORT_SYMBOL vmlinux 0x7fffffff regset_get_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff release_and_free_resource +EXPORT_SYMBOL vmlinux 0x7fffffff release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0x7fffffff release_fiq +EXPORT_SYMBOL vmlinux 0x7fffffff release_firmware +EXPORT_SYMBOL vmlinux 0x7fffffff release_resource +EXPORT_SYMBOL vmlinux 0x7fffffff release_sock +EXPORT_SYMBOL vmlinux 0x7fffffff remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x7fffffff remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0x7fffffff remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0x7fffffff remove_proc_entry +EXPORT_SYMBOL vmlinux 0x7fffffff remove_proc_subtree +EXPORT_SYMBOL vmlinux 0x7fffffff remove_wait_queue +EXPORT_SYMBOL vmlinux 0x7fffffff rename_lock +EXPORT_SYMBOL vmlinux 0x7fffffff request_firmware +EXPORT_SYMBOL vmlinux 0x7fffffff request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0x7fffffff request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x7fffffff request_key_tag +EXPORT_SYMBOL vmlinux 0x7fffffff request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x7fffffff request_threaded_irq +EXPORT_SYMBOL vmlinux 0x7fffffff reservation_ww_class +EXPORT_SYMBOL vmlinux 0x7fffffff reset_devices +EXPORT_SYMBOL vmlinux 0x7fffffff resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x7fffffff reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0x7fffffff reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0x7fffffff reuseport_has_conns_set +EXPORT_SYMBOL vmlinux 0x7fffffff reuseport_migrate_sock +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_blocked +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_register +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_set_states +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x7fffffff rfkill_soft_blocked +EXPORT_SYMBOL vmlinux 0x7fffffff rfs_needed +EXPORT_SYMBOL vmlinux 0x7fffffff rpmh_invalidate +EXPORT_SYMBOL vmlinux 0x7fffffff rpmh_write +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_add_carveout +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_coredump_add_segment +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_da_to_va +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_del +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_elf_find_loaded_rsc_table +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_elf_get_boot_addr +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_elf_load_rsc_table +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_elf_load_segments +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_elf_sanity_check +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_get_by_phandle +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_of_parse_firmware +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_put +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_remove_subdev +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_set_firmware +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_shutdown +EXPORT_SYMBOL vmlinux 0x7fffffff rproc_vq_interrupt +EXPORT_SYMBOL vmlinux 0x7fffffff rps_needed +EXPORT_SYMBOL vmlinux 0x7fffffff rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0x7fffffff rt6_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff rt_dst_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff rt_dst_clone +EXPORT_SYMBOL vmlinux 0x7fffffff rtc_add_groups +EXPORT_SYMBOL vmlinux 0x7fffffff rtc_lock +EXPORT_SYMBOL vmlinux 0x7fffffff rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x7fffffff rtnl_create_link +EXPORT_SYMBOL vmlinux 0x7fffffff rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x7fffffff rtnl_lock +EXPORT_SYMBOL vmlinux 0x7fffffff rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0x7fffffff rtnl_offload_xstats_notify +EXPORT_SYMBOL vmlinux 0x7fffffff rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x7fffffff rtnl_trylock +EXPORT_SYMBOL vmlinux 0x7fffffff rtnl_unicast +EXPORT_SYMBOL vmlinux 0x7fffffff rw_verify_area +EXPORT_SYMBOL vmlinux 0x7fffffff save_stack_trace_tsk +EXPORT_SYMBOL vmlinux 0x7fffffff sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x7fffffff schedule_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff scm_fp_dup +EXPORT_SYMBOL vmlinux 0x7fffffff scmd_printk +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_add_device +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_block_requests +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_cmd_allowed +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_device_resume +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_dma_map +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_done +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_host_get +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_host_put +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_ioctl +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_logging_level +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_partsize +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_print_command +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_register_driver +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_register_interface +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_remove_device +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_report_opcode +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_scan_target +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0x7fffffff scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0x7fffffff scsilun_to_int +EXPORT_SYMBOL vmlinux 0x7fffffff sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0x7fffffff sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0x7fffffff secpath_set +EXPORT_SYMBOL vmlinux 0x7fffffff secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0x7fffffff secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0x7fffffff security_binder_transaction +EXPORT_SYMBOL vmlinux 0x7fffffff security_d_instantiate +EXPORT_SYMBOL vmlinux 0x7fffffff security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0x7fffffff security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0x7fffffff security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0x7fffffff security_inode_copy_up +EXPORT_SYMBOL vmlinux 0x7fffffff security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0x7fffffff security_ismaclabel +EXPORT_SYMBOL vmlinux 0x7fffffff security_locked_down +EXPORT_SYMBOL vmlinux 0x7fffffff security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x7fffffff security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0x7fffffff security_sb_mnt_opts_compat +EXPORT_SYMBOL vmlinux 0x7fffffff security_sb_remount +EXPORT_SYMBOL vmlinux 0x7fffffff security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x7fffffff security_sctp_assoc_established +EXPORT_SYMBOL vmlinux 0x7fffffff security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0x7fffffff security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0x7fffffff security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x7fffffff security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x7fffffff security_sock_graft +EXPORT_SYMBOL vmlinux 0x7fffffff security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x7fffffff security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0x7fffffff security_tun_dev_open +EXPORT_SYMBOL vmlinux 0x7fffffff security_unix_may_send +EXPORT_SYMBOL vmlinux 0x7fffffff security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x7fffffff seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x7fffffff seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0x7fffffff seg6_push_hmac +EXPORT_SYMBOL vmlinux 0x7fffffff send_sig_info +EXPORT_SYMBOL vmlinux 0x7fffffff send_sig_mceerr +EXPORT_SYMBOL vmlinux 0x7fffffff seq_bprintf +EXPORT_SYMBOL vmlinux 0x7fffffff seq_escape_mem +EXPORT_SYMBOL vmlinux 0x7fffffff seq_hex_dump +EXPORT_SYMBOL vmlinux 0x7fffffff seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0x7fffffff seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0x7fffffff seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0x7fffffff seq_list_next +EXPORT_SYMBOL vmlinux 0x7fffffff seq_list_start +EXPORT_SYMBOL vmlinux 0x7fffffff seq_list_start_head +EXPORT_SYMBOL vmlinux 0x7fffffff seq_open_private +EXPORT_SYMBOL vmlinux 0x7fffffff seq_pad +EXPORT_SYMBOL vmlinux 0x7fffffff seq_path +EXPORT_SYMBOL vmlinux 0x7fffffff seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x7fffffff seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x7fffffff seq_read +EXPORT_SYMBOL vmlinux 0x7fffffff seq_write +EXPORT_SYMBOL vmlinux 0x7fffffff serial8250_resume_port +EXPORT_SYMBOL vmlinux 0x7fffffff serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x7fffffff serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0x7fffffff serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0x7fffffff serio_bus +EXPORT_SYMBOL vmlinux 0x7fffffff serio_interrupt +EXPORT_SYMBOL vmlinux 0x7fffffff set_anon_super_fc +EXPORT_SYMBOL vmlinux 0x7fffffff set_blocksize +EXPORT_SYMBOL vmlinux 0x7fffffff set_capacity +EXPORT_SYMBOL vmlinux 0x7fffffff set_create_files_as +EXPORT_SYMBOL vmlinux 0x7fffffff set_current_groups +EXPORT_SYMBOL vmlinux 0x7fffffff set_freezable +EXPORT_SYMBOL vmlinux 0x7fffffff set_groups +EXPORT_SYMBOL vmlinux 0x7fffffff set_nlink +EXPORT_SYMBOL vmlinux 0x7fffffff set_page_dirty +EXPORT_SYMBOL vmlinux 0x7fffffff setattr_prepare +EXPORT_SYMBOL vmlinux 0x7fffffff setup_new_exec +EXPORT_SYMBOL vmlinux 0x7fffffff sg_copy_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff sg_free_append_table +EXPORT_SYMBOL vmlinux 0x7fffffff sg_init_one +EXPORT_SYMBOL vmlinux 0x7fffffff sg_init_table +EXPORT_SYMBOL vmlinux 0x7fffffff sg_last +EXPORT_SYMBOL vmlinux 0x7fffffff sg_miter_skip +EXPORT_SYMBOL vmlinux 0x7fffffff sg_miter_stop +EXPORT_SYMBOL vmlinux 0x7fffffff sg_next +EXPORT_SYMBOL vmlinux 0x7fffffff sg_zero_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff sget +EXPORT_SYMBOL vmlinux 0x7fffffff sget_fc +EXPORT_SYMBOL vmlinux 0x7fffffff sgl_alloc_order +EXPORT_SYMBOL vmlinux 0x7fffffff sgl_free +EXPORT_SYMBOL vmlinux 0x7fffffff sha224_final +EXPORT_SYMBOL vmlinux 0x7fffffff sha224_update +EXPORT_SYMBOL vmlinux 0x7fffffff sha256 +EXPORT_SYMBOL vmlinux 0x7fffffff should_remove_suid +EXPORT_SYMBOL vmlinux 0x7fffffff shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x7fffffff simple_dentry_operations +EXPORT_SYMBOL vmlinux 0x7fffffff simple_empty +EXPORT_SYMBOL vmlinux 0x7fffffff simple_get_link +EXPORT_SYMBOL vmlinux 0x7fffffff simple_getattr +EXPORT_SYMBOL vmlinux 0x7fffffff simple_nosetlease +EXPORT_SYMBOL vmlinux 0x7fffffff simple_open +EXPORT_SYMBOL vmlinux 0x7fffffff simple_rmdir +EXPORT_SYMBOL vmlinux 0x7fffffff simple_statfs +EXPORT_SYMBOL vmlinux 0x7fffffff simple_strtoll +EXPORT_SYMBOL vmlinux 0x7fffffff simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x7fffffff simple_transaction_get +EXPORT_SYMBOL vmlinux 0x7fffffff simple_transaction_read +EXPORT_SYMBOL vmlinux 0x7fffffff simple_transaction_set +EXPORT_SYMBOL vmlinux 0x7fffffff single_open +EXPORT_SYMBOL vmlinux 0x7fffffff single_open_size +EXPORT_SYMBOL vmlinux 0x7fffffff single_release +EXPORT_SYMBOL vmlinux 0x7fffffff siphash_3u32 +EXPORT_SYMBOL vmlinux 0x7fffffff siphash_3u64 +EXPORT_SYMBOL vmlinux 0x7fffffff sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0x7fffffff sk_capable +EXPORT_SYMBOL vmlinux 0x7fffffff sk_common_release +EXPORT_SYMBOL vmlinux 0x7fffffff sk_dst_check +EXPORT_SYMBOL vmlinux 0x7fffffff sk_error_report +EXPORT_SYMBOL vmlinux 0x7fffffff sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0x7fffffff sk_mc_loop +EXPORT_SYMBOL vmlinux 0x7fffffff sk_net_capable +EXPORT_SYMBOL vmlinux 0x7fffffff sk_ns_capable +EXPORT_SYMBOL vmlinux 0x7fffffff sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0x7fffffff sk_reset_timer +EXPORT_SYMBOL vmlinux 0x7fffffff sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x7fffffff sk_stop_timer +EXPORT_SYMBOL vmlinux 0x7fffffff sk_stop_timer_sync +EXPORT_SYMBOL vmlinux 0x7fffffff sk_stream_error +EXPORT_SYMBOL vmlinux 0x7fffffff sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x7fffffff sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0x7fffffff skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x7fffffff skb_checksum_help +EXPORT_SYMBOL vmlinux 0x7fffffff skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0x7fffffff skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0x7fffffff skb_copy +EXPORT_SYMBOL vmlinux 0x7fffffff skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0x7fffffff skb_copy_bits +EXPORT_SYMBOL vmlinux 0x7fffffff skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0x7fffffff skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x7fffffff skb_ensure_writable +EXPORT_SYMBOL vmlinux 0x7fffffff skb_eth_push +EXPORT_SYMBOL vmlinux 0x7fffffff skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0x7fffffff skb_flow_dissect_hash +EXPORT_SYMBOL vmlinux 0x7fffffff skb_free_datagram +EXPORT_SYMBOL vmlinux 0x7fffffff skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0x7fffffff skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0x7fffffff skb_orphan_partial +EXPORT_SYMBOL vmlinux 0x7fffffff skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0x7fffffff skb_pull_data +EXPORT_SYMBOL vmlinux 0x7fffffff skb_push +EXPORT_SYMBOL vmlinux 0x7fffffff skb_put +EXPORT_SYMBOL vmlinux 0x7fffffff skb_queue_head +EXPORT_SYMBOL vmlinux 0x7fffffff skb_queue_tail +EXPORT_SYMBOL vmlinux 0x7fffffff skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x7fffffff skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x7fffffff skb_split +EXPORT_SYMBOL vmlinux 0x7fffffff skb_store_bits +EXPORT_SYMBOL vmlinux 0x7fffffff skb_trim +EXPORT_SYMBOL vmlinux 0x7fffffff skb_tunnel_check_pmtu +EXPORT_SYMBOL vmlinux 0x7fffffff skb_tx_error +EXPORT_SYMBOL vmlinux 0x7fffffff skb_unlink +EXPORT_SYMBOL vmlinux 0x7fffffff skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x7fffffff skb_vlan_untag +EXPORT_SYMBOL vmlinux 0x7fffffff skip_spaces +EXPORT_SYMBOL vmlinux 0x7fffffff slash_name +EXPORT_SYMBOL vmlinux 0x7fffffff slhc_compress +EXPORT_SYMBOL vmlinux 0x7fffffff slhc_uncompress +EXPORT_SYMBOL vmlinux 0x7fffffff smp_call_function +EXPORT_SYMBOL vmlinux 0x7fffffff snd_card_disconnect +EXPORT_SYMBOL vmlinux 0x7fffffff snd_card_file_remove +EXPORT_SYMBOL vmlinux 0x7fffffff snd_card_new +EXPORT_SYMBOL vmlinux 0x7fffffff snd_card_set_id +EXPORT_SYMBOL vmlinux 0x7fffffff snd_compr_malloc_pages +EXPORT_SYMBOL vmlinux 0x7fffffff snd_ctl_add +EXPORT_SYMBOL vmlinux 0x7fffffff snd_ctl_enum_info +EXPORT_SYMBOL vmlinux 0x7fffffff snd_ctl_find_id +EXPORT_SYMBOL vmlinux 0x7fffffff snd_ctl_find_numid +EXPORT_SYMBOL vmlinux 0x7fffffff snd_ctl_make_virtual_master +EXPORT_SYMBOL vmlinux 0x7fffffff snd_ctl_new1 +EXPORT_SYMBOL vmlinux 0x7fffffff snd_ctl_notify +EXPORT_SYMBOL vmlinux 0x7fffffff snd_ctl_notify_one +EXPORT_SYMBOL vmlinux 0x7fffffff snd_ctl_register_ioctl +EXPORT_SYMBOL vmlinux 0x7fffffff snd_ctl_remove +EXPORT_SYMBOL vmlinux 0x7fffffff snd_ctl_replace +EXPORT_SYMBOL vmlinux 0x7fffffff snd_device_free +EXPORT_SYMBOL vmlinux 0x7fffffff snd_dma_alloc_pages_fallback +EXPORT_SYMBOL vmlinux 0x7fffffff snd_dma_free_pages +EXPORT_SYMBOL vmlinux 0x7fffffff snd_info_create_card_entry +EXPORT_SYMBOL vmlinux 0x7fffffff snd_info_free_entry +EXPORT_SYMBOL vmlinux 0x7fffffff snd_info_get_str +EXPORT_SYMBOL vmlinux 0x7fffffff snd_info_register +EXPORT_SYMBOL vmlinux 0x7fffffff snd_interval_list +EXPORT_SYMBOL vmlinux 0x7fffffff snd_interval_ratnum +EXPORT_SYMBOL vmlinux 0x7fffffff snd_jack_add_new_kctl +EXPORT_SYMBOL vmlinux 0x7fffffff snd_jack_new +EXPORT_SYMBOL vmlinux 0x7fffffff snd_jack_report +EXPORT_SYMBOL vmlinux 0x7fffffff snd_lookup_minor_data +EXPORT_SYMBOL vmlinux 0x7fffffff snd_major +EXPORT_SYMBOL vmlinux 0x7fffffff snd_oss_info_register +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pci_quirk_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_create_iec958_consumer +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_create_iec958_consumer_hw_params +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_format_unsigned +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_format_width +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_hw_constraint_list +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_hw_constraint_step +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_hw_limit_rates +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_hw_rule_add +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_hw_rule_noresample +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_lib_ioctl +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_mmap_data +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_new_stream +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_open_substream +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_period_elapsed +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_rate_bit_to_rate +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_set_ops +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_set_sync +EXPORT_SYMBOL vmlinux 0x7fffffff snd_pcm_stop +EXPORT_SYMBOL vmlinux 0x7fffffff snd_power_wait +EXPORT_SYMBOL vmlinux 0x7fffffff snd_register_oss_device +EXPORT_SYMBOL vmlinux 0x7fffffff snd_seq_root +EXPORT_SYMBOL vmlinux 0x7fffffff snd_soc_alloc_ac97_component +EXPORT_SYMBOL vmlinux 0x7fffffff snd_timer_close +EXPORT_SYMBOL vmlinux 0x7fffffff snd_timer_continue +EXPORT_SYMBOL vmlinux 0x7fffffff snd_timer_global_new +EXPORT_SYMBOL vmlinux 0x7fffffff snd_timer_global_register +EXPORT_SYMBOL vmlinux 0x7fffffff snd_timer_instance_free +EXPORT_SYMBOL vmlinux 0x7fffffff snd_timer_interrupt +EXPORT_SYMBOL vmlinux 0x7fffffff snd_timer_pause +EXPORT_SYMBOL vmlinux 0x7fffffff snd_timer_stop +EXPORT_SYMBOL vmlinux 0x7fffffff snd_unregister_device +EXPORT_SYMBOL vmlinux 0x7fffffff snd_unregister_oss_device +EXPORT_SYMBOL vmlinux 0x7fffffff snprintf +EXPORT_SYMBOL vmlinux 0x7fffffff sock_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff sock_bindtoindex +EXPORT_SYMBOL vmlinux 0x7fffffff sock_create_kern +EXPORT_SYMBOL vmlinux 0x7fffffff sock_create_lite +EXPORT_SYMBOL vmlinux 0x7fffffff sock_edemux +EXPORT_SYMBOL vmlinux 0x7fffffff sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0x7fffffff sock_from_file +EXPORT_SYMBOL vmlinux 0x7fffffff sock_get_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff sock_gettstamp +EXPORT_SYMBOL vmlinux 0x7fffffff sock_i_ino +EXPORT_SYMBOL vmlinux 0x7fffffff sock_i_uid +EXPORT_SYMBOL vmlinux 0x7fffffff sock_init_data +EXPORT_SYMBOL vmlinux 0x7fffffff sock_kfree_s +EXPORT_SYMBOL vmlinux 0x7fffffff sock_kmalloc +EXPORT_SYMBOL vmlinux 0x7fffffff sock_kzfree_s +EXPORT_SYMBOL vmlinux 0x7fffffff sock_load_diag_module +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_bind +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_getname +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_linger +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_listen +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_mmap +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x7fffffff sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x7fffffff sock_pfree +EXPORT_SYMBOL vmlinux 0x7fffffff sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x7fffffff sock_recvmsg +EXPORT_SYMBOL vmlinux 0x7fffffff sock_release +EXPORT_SYMBOL vmlinux 0x7fffffff sock_rfree +EXPORT_SYMBOL vmlinux 0x7fffffff sock_sendmsg +EXPORT_SYMBOL vmlinux 0x7fffffff sock_set_keepalive +EXPORT_SYMBOL vmlinux 0x7fffffff sock_set_mark +EXPORT_SYMBOL vmlinux 0x7fffffff sock_set_priority +EXPORT_SYMBOL vmlinux 0x7fffffff sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0x7fffffff sock_set_reuseport +EXPORT_SYMBOL vmlinux 0x7fffffff sock_setsockopt +EXPORT_SYMBOL vmlinux 0x7fffffff sock_wmalloc +EXPORT_SYMBOL vmlinux 0x7fffffff sockfd_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff sort +EXPORT_SYMBOL vmlinux 0x7fffffff sort_r +EXPORT_SYMBOL vmlinux 0x7fffffff sound_class +EXPORT_SYMBOL vmlinux 0x7fffffff sscanf +EXPORT_SYMBOL vmlinux 0x7fffffff starget_for_each_device +EXPORT_SYMBOL vmlinux 0x7fffffff stmp_reset_block +EXPORT_SYMBOL vmlinux 0x7fffffff stop_tty +EXPORT_SYMBOL vmlinux 0x7fffffff stpcpy +EXPORT_SYMBOL vmlinux 0x7fffffff strcasecmp +EXPORT_SYMBOL vmlinux 0x7fffffff strchrnul +EXPORT_SYMBOL vmlinux 0x7fffffff strcmp +EXPORT_SYMBOL vmlinux 0x7fffffff strcpy +EXPORT_SYMBOL vmlinux 0x7fffffff stream_open +EXPORT_SYMBOL vmlinux 0x7fffffff string_escape_mem +EXPORT_SYMBOL vmlinux 0x7fffffff string_unescape +EXPORT_SYMBOL vmlinux 0x7fffffff strlcat +EXPORT_SYMBOL vmlinux 0x7fffffff strlen +EXPORT_SYMBOL vmlinux 0x7fffffff strncat +EXPORT_SYMBOL vmlinux 0x7fffffff strncmp +EXPORT_SYMBOL vmlinux 0x7fffffff strnlen +EXPORT_SYMBOL vmlinux 0x7fffffff strnlen_user +EXPORT_SYMBOL vmlinux 0x7fffffff strpbrk +EXPORT_SYMBOL vmlinux 0x7fffffff strrchr +EXPORT_SYMBOL vmlinux 0x7fffffff strscpy_pad +EXPORT_SYMBOL vmlinux 0x7fffffff strsep +EXPORT_SYMBOL vmlinux 0x7fffffff strspn +EXPORT_SYMBOL vmlinux 0x7fffffff submit_bh +EXPORT_SYMBOL vmlinux 0x7fffffff submit_bio_noacct +EXPORT_SYMBOL vmlinux 0x7fffffff super_setup_bdi +EXPORT_SYMBOL vmlinux 0x7fffffff swake_up_all +EXPORT_SYMBOL vmlinux 0x7fffffff swake_up_one +EXPORT_SYMBOL vmlinux 0x7fffffff sync_blockdev +EXPORT_SYMBOL vmlinux 0x7fffffff sync_blockdev_range +EXPORT_SYMBOL vmlinux 0x7fffffff sync_file_get_fence +EXPORT_SYMBOL vmlinux 0x7fffffff synchronize_irq +EXPORT_SYMBOL vmlinux 0x7fffffff synchronize_shrinkers +EXPORT_SYMBOL vmlinux 0x7fffffff sys_tz +EXPORT_SYMBOL vmlinux 0x7fffffff sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0x7fffffff sysctl_fb_tunnels_only_for_init_net +EXPORT_SYMBOL vmlinux 0x7fffffff sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0x7fffffff sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x7fffffff sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0x7fffffff sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0x7fffffff sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0x7fffffff sysctl_vals +EXPORT_SYMBOL vmlinux 0x7fffffff sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0x7fffffff sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x7fffffff system_rev +EXPORT_SYMBOL vmlinux 0x7fffffff system_serial +EXPORT_SYMBOL vmlinux 0x7fffffff system_serial_high +EXPORT_SYMBOL vmlinux 0x7fffffff system_state +EXPORT_SYMBOL vmlinux 0x7fffffff take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0x7fffffff tasklet_setup +EXPORT_SYMBOL vmlinux 0x7fffffff tasklet_unlock_spin_wait +EXPORT_SYMBOL vmlinux 0x7fffffff tc6393xb_lcd_mode +EXPORT_SYMBOL vmlinux 0x7fffffff tc_cleanup_offload_action +EXPORT_SYMBOL vmlinux 0x7fffffff tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0x7fffffff tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0x7fffffff tc_skb_ext_tc +EXPORT_SYMBOL vmlinux 0x7fffffff tc_skb_ext_tc_enable +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_action_exec +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_block_get +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_classify +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_em_register +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_exts_validate_ex +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_generic_walker +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_idr_release +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_qevent_dump +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_qevent_init +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_queue_work +EXPORT_SYMBOL vmlinux 0x7fffffff tcf_register_action +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_bpf_bypass_getsockopt +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_child_process +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_conn_request +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_connect +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_ioctl +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_mmap +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_poll +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_prot +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_read_sock +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_req_err +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_seq_start +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_seq_stop +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_set_rcvlowat +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x7fffffff tegra114_clock_deassert_dfll_dvco_reset +EXPORT_SYMBOL vmlinux 0x7fffffff tegra114_clock_tune_cpu_trimmers_init +EXPORT_SYMBOL vmlinux 0x7fffffff tegra114_clock_tune_cpu_trimmers_low +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_ahb_enable_smmu +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_dfll_register +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_dfll_resume +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_dfll_runtime_suspend +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_fuse_readl +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_io_pad_power_enable +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_io_rail_power_on +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_ivc_align +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_ivc_cleanup +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_ivc_notified +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_ivc_read_get_next_frame +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_ivc_write_advance +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_powergate_power_on +EXPORT_SYMBOL vmlinux 0x7fffffff tegra_sku_info +EXPORT_SYMBOL vmlinux 0x7fffffff textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x7fffffff textsearch_register +EXPORT_SYMBOL vmlinux 0x7fffffff textsearch_unregister +EXPORT_SYMBOL vmlinux 0x7fffffff thermal_zone_device_critical +EXPORT_SYMBOL vmlinux 0x7fffffff timer_reduce +EXPORT_SYMBOL vmlinux 0x7fffffff timespec64_to_jiffies +EXPORT_SYMBOL vmlinux 0x7fffffff tmio_core_mmc_clk_div +EXPORT_SYMBOL vmlinux 0x7fffffff tmio_core_mmc_pwr +EXPORT_SYMBOL vmlinux 0x7fffffff to_ndd +EXPORT_SYMBOL vmlinux 0x7fffffff touch_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff touchscreen_parse_properties +EXPORT_SYMBOL vmlinux 0x7fffffff touchscreen_report_pos +EXPORT_SYMBOL vmlinux 0x7fffffff touchscreen_set_mt_pos +EXPORT_SYMBOL vmlinux 0x7fffffff trace_event_printf +EXPORT_SYMBOL vmlinux 0x7fffffff trace_print_array_seq +EXPORT_SYMBOL vmlinux 0x7fffffff trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x7fffffff trace_print_flags_seq_u64 +EXPORT_SYMBOL vmlinux 0x7fffffff trace_print_hex_seq +EXPORT_SYMBOL vmlinux 0x7fffffff trace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0x7fffffff trace_print_symbols_seq_u64 +EXPORT_SYMBOL vmlinux 0x7fffffff trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0x7fffffff truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0x7fffffff try_lookup_one_len +EXPORT_SYMBOL vmlinux 0x7fffffff try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x7fffffff tso_count_descs +EXPORT_SYMBOL vmlinux 0x7fffffff tso_start +EXPORT_SYMBOL vmlinux 0x7fffffff tty_devnum +EXPORT_SYMBOL vmlinux 0x7fffffff tty_hangup +EXPORT_SYMBOL vmlinux 0x7fffffff tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x7fffffff tty_kref_put +EXPORT_SYMBOL vmlinux 0x7fffffff tty_lock +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_close +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_init +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_open +EXPORT_SYMBOL vmlinux 0x7fffffff tty_port_put +EXPORT_SYMBOL vmlinux 0x7fffffff tty_register_device +EXPORT_SYMBOL vmlinux 0x7fffffff tty_register_driver +EXPORT_SYMBOL vmlinux 0x7fffffff tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x7fffffff tty_unlock +EXPORT_SYMBOL vmlinux 0x7fffffff tty_unregister_device +EXPORT_SYMBOL vmlinux 0x7fffffff tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x7fffffff tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0x7fffffff tty_unthrottle +EXPORT_SYMBOL vmlinux 0x7fffffff tty_vhangup +EXPORT_SYMBOL vmlinux 0x7fffffff twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x7fffffff twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0x7fffffff twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0x7fffffff twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0x7fffffff twl6040_reg_write +EXPORT_SYMBOL vmlinux 0x7fffffff twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x7fffffff twl_i2c_read +EXPORT_SYMBOL vmlinux 0x7fffffff twl_i2c_write +EXPORT_SYMBOL vmlinux 0x7fffffff twl_rev +EXPORT_SYMBOL vmlinux 0x7fffffff twl_set_regcache_bypass +EXPORT_SYMBOL vmlinux 0x7fffffff uart_add_one_port +EXPORT_SYMBOL vmlinux 0x7fffffff uart_get_divisor +EXPORT_SYMBOL vmlinux 0x7fffffff uart_match_port +EXPORT_SYMBOL vmlinux 0x7fffffff uart_register_driver +EXPORT_SYMBOL vmlinux 0x7fffffff uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x7fffffff uart_suspend_port +EXPORT_SYMBOL vmlinux 0x7fffffff uart_unregister_driver +EXPORT_SYMBOL vmlinux 0x7fffffff uart_update_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff uart_write_wakeup +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_fast_dump_regs +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_fast_enable +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_fast_init +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_fast_transmit_on_demand +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_slow_disable +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_slow_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_slow_graceful_stop_tx +EXPORT_SYMBOL vmlinux 0x7fffffff ucc_slow_init +EXPORT_SYMBOL vmlinux 0x7fffffff ucs2_strsize +EXPORT_SYMBOL vmlinux 0x7fffffff udp6_csum_init +EXPORT_SYMBOL vmlinux 0x7fffffff udp6_seq_ops +EXPORT_SYMBOL vmlinux 0x7fffffff udp_disconnect +EXPORT_SYMBOL vmlinux 0x7fffffff udp_encap_disable +EXPORT_SYMBOL vmlinux 0x7fffffff udp_encap_enable +EXPORT_SYMBOL vmlinux 0x7fffffff udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0x7fffffff udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x7fffffff udp_gro_complete +EXPORT_SYMBOL vmlinux 0x7fffffff udp_gro_receive +EXPORT_SYMBOL vmlinux 0x7fffffff udp_ioctl +EXPORT_SYMBOL vmlinux 0x7fffffff udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x7fffffff udp_lib_rehash +EXPORT_SYMBOL vmlinux 0x7fffffff udp_poll +EXPORT_SYMBOL vmlinux 0x7fffffff udp_pre_connect +EXPORT_SYMBOL vmlinux 0x7fffffff udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0x7fffffff udp_read_sock +EXPORT_SYMBOL vmlinux 0x7fffffff udp_seq_next +EXPORT_SYMBOL vmlinux 0x7fffffff udp_seq_start +EXPORT_SYMBOL vmlinux 0x7fffffff udp_seq_stop +EXPORT_SYMBOL vmlinux 0x7fffffff udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x7fffffff udp_table +EXPORT_SYMBOL vmlinux 0x7fffffff udplite_table +EXPORT_SYMBOL vmlinux 0x7fffffff unix_destruct_scm +EXPORT_SYMBOL vmlinux 0x7fffffff unload_nls +EXPORT_SYMBOL vmlinux 0x7fffffff unlock_buffer +EXPORT_SYMBOL vmlinux 0x7fffffff unlock_page +EXPORT_SYMBOL vmlinux 0x7fffffff unlock_rename +EXPORT_SYMBOL vmlinux 0x7fffffff unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x7fffffff unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x7fffffff unpin_user_page +EXPORT_SYMBOL vmlinux 0x7fffffff unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_binfmt +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_blkdev +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_cdrom +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_console +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_key_type +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_md_personality +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_mtd_chip_driver +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_quota_format +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_sound_dsp +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_sound_special +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x7fffffff unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x7fffffff up_read +EXPORT_SYMBOL vmlinux 0x7fffffff usleep_range_state +EXPORT_SYMBOL vmlinux 0x7fffffff utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0x7fffffff utf8_load +EXPORT_SYMBOL vmlinux 0x7fffffff utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0x7fffffff utf8_strncmp +EXPORT_SYMBOL vmlinux 0x7fffffff utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x7fffffff utf8_unload +EXPORT_SYMBOL vmlinux 0x7fffffff utf8_validate +EXPORT_SYMBOL vmlinux 0x7fffffff utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x7fffffff uuid_is_valid +EXPORT_SYMBOL vmlinux 0x7fffffff uuid_parse +EXPORT_SYMBOL vmlinux 0x7fffffff v7_coherent_kern_range +EXPORT_SYMBOL vmlinux 0x7fffffff vc_cons +EXPORT_SYMBOL vmlinux 0x7fffffff vc_resize +EXPORT_SYMBOL vmlinux 0x7fffffff vcalloc +EXPORT_SYMBOL vmlinux 0x7fffffff verify_spi_info +EXPORT_SYMBOL vmlinux 0x7fffffff vesa_modes +EXPORT_SYMBOL vmlinux 0x7fffffff vfio_pin_pages +EXPORT_SYMBOL vmlinux 0x7fffffff vfio_register_notifier +EXPORT_SYMBOL vmlinux 0x7fffffff vfio_unpin_pages +EXPORT_SYMBOL vmlinux 0x7fffffff vfree +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_create +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_create_mount +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_fileattr_set +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_getattr +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_iocb_iter_write +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_llseek +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_mkdir +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_mknod +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_parse_fs_param_source +EXPORT_SYMBOL vmlinux 0x7fffffff vfs_rmdir +EXPORT_SYMBOL vmlinux 0x7fffffff vga_put +EXPORT_SYMBOL vmlinux 0x7fffffff vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x7fffffff vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x7fffffff vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x7fffffff vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0x7fffffff vlan_for_each +EXPORT_SYMBOL vmlinux 0x7fffffff vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0x7fffffff vlan_uses_dev +EXPORT_SYMBOL vmlinux 0x7fffffff vlan_vid_add +EXPORT_SYMBOL vmlinux 0x7fffffff vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x7fffffff vm_brk_flags +EXPORT_SYMBOL vmlinux 0x7fffffff vm_event_states +EXPORT_SYMBOL vmlinux 0x7fffffff vm_insert_pages +EXPORT_SYMBOL vmlinux 0x7fffffff vm_map_pages +EXPORT_SYMBOL vmlinux 0x7fffffff vm_mmap +EXPORT_SYMBOL vmlinux 0x7fffffff vma_set_file +EXPORT_SYMBOL vmlinux 0x7fffffff vmalloc +EXPORT_SYMBOL vmlinux 0x7fffffff vmalloc_32 +EXPORT_SYMBOL vmlinux 0x7fffffff vmalloc_array +EXPORT_SYMBOL vmlinux 0x7fffffff vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x7fffffff vme_alloc_consistent +EXPORT_SYMBOL vmlinux 0x7fffffff vme_dma_free_attribute +EXPORT_SYMBOL vmlinux 0x7fffffff vme_dma_list_add +EXPORT_SYMBOL vmlinux 0x7fffffff vme_dma_list_exec +EXPORT_SYMBOL vmlinux 0x7fffffff vme_dma_list_free +EXPORT_SYMBOL vmlinux 0x7fffffff vme_dma_pattern_attribute +EXPORT_SYMBOL vmlinux 0x7fffffff vme_dma_pci_attribute +EXPORT_SYMBOL vmlinux 0x7fffffff vme_dma_vme_attribute +EXPORT_SYMBOL vmlinux 0x7fffffff vme_free_consistent +EXPORT_SYMBOL vmlinux 0x7fffffff vme_get_size +EXPORT_SYMBOL vmlinux 0x7fffffff vme_irq_free +EXPORT_SYMBOL vmlinux 0x7fffffff vme_irq_request +EXPORT_SYMBOL vmlinux 0x7fffffff vme_lm_detach +EXPORT_SYMBOL vmlinux 0x7fffffff vme_lm_set +EXPORT_SYMBOL vmlinux 0x7fffffff vme_master_mmap +EXPORT_SYMBOL vmlinux 0x7fffffff vme_master_request +EXPORT_SYMBOL vmlinux 0x7fffffff vme_master_set +EXPORT_SYMBOL vmlinux 0x7fffffff vme_master_write +EXPORT_SYMBOL vmlinux 0x7fffffff vme_new_dma_list +EXPORT_SYMBOL vmlinux 0x7fffffff vme_register_driver +EXPORT_SYMBOL vmlinux 0x7fffffff vme_register_error_handler +EXPORT_SYMBOL vmlinux 0x7fffffff vme_slave_free +EXPORT_SYMBOL vmlinux 0x7fffffff vme_slave_get +EXPORT_SYMBOL vmlinux 0x7fffffff vme_slave_request +EXPORT_SYMBOL vmlinux 0x7fffffff vme_unregister_bridge +EXPORT_SYMBOL vmlinux 0x7fffffff vme_unregister_driver +EXPORT_SYMBOL vmlinux 0x7fffffff vme_unregister_error_handler +EXPORT_SYMBOL vmlinux 0x7fffffff vmemdup_user +EXPORT_SYMBOL vmlinux 0x7fffffff vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0x7fffffff vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0x7fffffff vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0x7fffffff vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0x7fffffff vprintk_emit +EXPORT_SYMBOL vmlinux 0x7fffffff vscnprintf +EXPORT_SYMBOL vmlinux 0x7fffffff vsnprintf +EXPORT_SYMBOL vmlinux 0x7fffffff vunmap +EXPORT_SYMBOL vmlinux 0x7fffffff vzalloc_node +EXPORT_SYMBOL vmlinux 0x7fffffff wait_for_completion +EXPORT_SYMBOL vmlinux 0x7fffffff wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff wait_for_completion_io +EXPORT_SYMBOL vmlinux 0x7fffffff wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x7fffffff wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0x7fffffff wait_woken +EXPORT_SYMBOL vmlinux 0x7fffffff wake_bit_function +EXPORT_SYMBOL vmlinux 0x7fffffff wake_up_bit +EXPORT_SYMBOL vmlinux 0x7fffffff wake_up_var +EXPORT_SYMBOL vmlinux 0x7fffffff walk_stackframe +EXPORT_SYMBOL vmlinux 0x7fffffff watchdog_register_governor +EXPORT_SYMBOL vmlinux 0x7fffffff watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0x7fffffff wireless_spy_update +EXPORT_SYMBOL vmlinux 0x7fffffff woken_wake_function +EXPORT_SYMBOL vmlinux 0x7fffffff would_dump +EXPORT_SYMBOL vmlinux 0x7fffffff write_cache_pages +EXPORT_SYMBOL vmlinux 0x7fffffff writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x7fffffff writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x7fffffff ww_mutex_lock +EXPORT_SYMBOL vmlinux 0x7fffffff ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x7fffffff xa_erase +EXPORT_SYMBOL vmlinux 0x7fffffff xa_extract +EXPORT_SYMBOL vmlinux 0x7fffffff xa_find_after +EXPORT_SYMBOL vmlinux 0x7fffffff xa_get_mark +EXPORT_SYMBOL vmlinux 0x7fffffff xa_get_order +EXPORT_SYMBOL vmlinux 0x7fffffff xa_load +EXPORT_SYMBOL vmlinux 0x7fffffff xa_store_range +EXPORT_SYMBOL vmlinux 0x7fffffff xattr_full_name +EXPORT_SYMBOL vmlinux 0x7fffffff xattr_supported_namespace +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm4_protocol_deregister +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm4_protocol_register +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_state_add +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0x7fffffff xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0x7fffffff xp_alloc +EXPORT_SYMBOL vmlinux 0x7fffffff xp_alloc_batch +EXPORT_SYMBOL vmlinux 0x7fffffff xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0x7fffffff xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0x7fffffff xp_dma_unmap +EXPORT_SYMBOL vmlinux 0x7fffffff xp_free +EXPORT_SYMBOL vmlinux 0x7fffffff xp_raw_get_data +EXPORT_SYMBOL vmlinux 0x7fffffff xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x7fffffff xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x7fffffff xsk_tx_completed +EXPORT_SYMBOL vmlinux 0x7fffffff xxh32_copy_state +EXPORT_SYMBOL vmlinux 0x7fffffff xxh32_update +EXPORT_SYMBOL vmlinux 0x7fffffff xxh64 +EXPORT_SYMBOL vmlinux 0x7fffffff xxh64_copy_state +EXPORT_SYMBOL vmlinux 0x7fffffff xxh64_digest +EXPORT_SYMBOL vmlinux 0x7fffffff xz_dec_microlzma_reset +EXPORT_SYMBOL vmlinux 0x7fffffff xz_dec_reset +EXPORT_SYMBOL vmlinux 0x7fffffff xz_dec_run +EXPORT_SYMBOL vmlinux 0x7fffffff zero_fill_bio +EXPORT_SYMBOL vmlinux 0x7fffffff zero_pfn +EXPORT_SYMBOL vmlinux 0x7fffffff zero_user_segments +EXPORT_SYMBOL vmlinux 0x7fffffff zlib_deflate +EXPORT_SYMBOL vmlinux 0x7fffffff zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0x7fffffff zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0x7fffffff zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0x7fffffff zlib_inflateReset +EXPORT_SYMBOL vmlinux 0x7fffffff zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_cctx_workspace_bound +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_compress_cctx +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_compress_stream +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_cstream_workspace_bound +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_decompress_dctx +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_decompress_stream +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_dstream_workspace_bound +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_flush_stream +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_get_error_code +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_init_cctx +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_init_cstream +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_init_dstream +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_is_error +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_reset_cstream +EXPORT_SYMBOL vmlinux 0x7fffffff zstd_reset_dstream +EXPORT_SYMBOL_GPL arch/arm/crypto/sha1-arm 0x5692a5ec sha1_update_arm +EXPORT_SYMBOL_GPL arch/arm/crypto/sha1-arm 0x7d8a30df sha1_finup_arm +EXPORT_SYMBOL_GPL crypto/af_alg 0x19173494 af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0x1ff6aaa9 af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x3d62f6f0 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x3e5e5bd8 af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0x6a907335 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x7fffffff af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0x7fffffff async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x54dd79b1 async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x7fffffff async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x2ead3760 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x43b238f2 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x3578b229 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x638a0984 async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x7fffffff async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x7fffffff async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x464f19e0 async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x70f13cb5 async_xor_val_offs +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x7fffffff async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x7fffffff async_xor_offs +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x7fffffff blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x1f6c9382 cast5_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x7fffffff __cast5_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x3dbae082 __cast6_decrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x7fffffff __cast6_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x7fffffff __cast6_setkey +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x7fffffff cast6_setkey +EXPORT_SYMBOL_GPL crypto/cast_common 0x5609ce41 cast_s2 +EXPORT_SYMBOL_GPL crypto/cast_common 0x5b17be06 cast_s4 +EXPORT_SYMBOL_GPL crypto/cast_common 0x7fffffff cast_s1 +EXPORT_SYMBOL_GPL crypto/cast_common 0x7fffffff cast_s3 +EXPORT_SYMBOL_GPL crypto/cryptd 0x15bff801 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x2b59fe72 cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x2ca02583 cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x3990f44a cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x61a35a32 cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x7e59de54 cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x7fffffff cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x7fffffff cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x7fffffff cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x7fffffff cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x7fffffff cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x7fffffff cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x7fffffff cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x035548ef crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x14a2433f crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x409b6209 crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x60eab0d3 crypto_transfer_kpp_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x66b9c099 crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7fffffff crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7fffffff crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7fffffff crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7fffffff crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7fffffff crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7fffffff crypto_finalize_hash_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7fffffff crypto_finalize_kpp_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7fffffff crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7fffffff crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7fffffff crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x1243b4ac simd_unregister_skciphers +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x31da4153 simd_register_skciphers_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x504cb053 simd_aead_create_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x66983e96 simd_skcipher_create +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x69e4aebc simd_unregister_aeads +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x7fffffff simd_aead_create +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x7fffffff simd_aead_free +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x7fffffff simd_register_aeads_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x7fffffff simd_skcipher_create_compat +EXPORT_SYMBOL_GPL crypto/crypto_simd 0x7fffffff simd_skcipher_free +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x33b866ce crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7475be8e crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7fffffff crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x19ad7f57 serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x4eb4c55e __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x7fffffff __serpent_decrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x7fffffff __serpent_setkey +EXPORT_SYMBOL_GPL crypto/sm3 0x7fffffff sm3_final +EXPORT_SYMBOL_GPL crypto/sm3 0x7fffffff sm3_update +EXPORT_SYMBOL_GPL crypto/sm3_generic 0x0bddca87 sm3_zero_message_hash +EXPORT_SYMBOL_GPL crypto/sm4 0x24e254e8 sm4_expandkey +EXPORT_SYMBOL_GPL crypto/sm4 0x7fffffff sm4_crypt_block +EXPORT_SYMBOL_GPL crypto/twofish_common 0x7fffffff __twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0x7fffffff twofish_setkey +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x1b92189b spk_var_show +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x1e39eb14 synth_putws +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x276ed57b spk_ttyio_ops +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x2e7e21d7 speakup_event +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x32dd3a49 spk_synth_flush +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x364059cc synth_remove +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x4150fc26 synth_add +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x466f5eb7 synth_putwc +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x4b2d108c spk_var_store +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x68119e6e spk_synth_get_index +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x76d40046 synth_buffer_skip_nonlatin1 +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff speakup_info +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff spk_do_catch_up_unicode +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff spk_get_var +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff spk_ttyio_release +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff spk_ttyio_synth_immediate +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff spk_ttyio_synth_probe +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff synth_current +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff synth_printf +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff synth_putwc_s +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff synth_putws_s +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff synth_release_region +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7fffffff synth_request_region +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0x267781da __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0x3b9158aa sis_info133_for_sata +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x09917359 charlcd_poke +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x6fd9cc4a charlcd_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x7fffffff charlcd_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x7fffffff charlcd_backlight +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x7fffffff charlcd_free +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x7fffffff charlcd_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x07b26ecc hd44780_common_gotoxy +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x1aa688fd hd44780_common_lines +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x23159a5b hd44780_common_clear_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x30e85287 hd44780_common_shift_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x36dc00a2 hd44780_common_print +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x3c4c183f hd44780_common_home +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x489c89e8 hd44780_common_redefine_char +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x64415593 hd44780_common_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x79e8e259 hd44780_common_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x7fffffff hd44780_common_blink +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x7fffffff hd44780_common_cursor +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x7fffffff hd44780_common_fontsize +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x7fffffff hd44780_common_init_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x7fffffff hd44780_common_shift_cursor +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x14102f23 ks0108_displaystate +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x48a70518 ks0108_writedata +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x4f506333 ks0108_startline +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x6edae968 ks0108_isinited +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x7fffffff ks0108_address +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x7fffffff ks0108_page +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x7fffffff ks0108_writecontrol +EXPORT_SYMBOL_GPL drivers/auxdisplay/line-display 0x4cbf35a8 linedisp_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/line-display 0x7fffffff linedisp_unregister +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-ac97 0x02cbccba __devm_regmap_init_ac97 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-ac97 0x75bf5cc9 regmap_ac97_default_volatile +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-ac97 0x7fffffff __regmap_init_ac97 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-i3c 0x7fffffff __devm_regmap_init_i3c +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x433cb7e5 __devm_regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x7fffffff __regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x7fffffff __devm_regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x7fffffff __regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw-mbq 0x7fffffff __devm_regmap_init_sdw_mbq +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw-mbq 0x7fffffff __regmap_init_sdw_mbq +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x0bcdc915 __regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x7fffffff __devm_regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spi-avmm 0x032b2695 __devm_regmap_init_spi_avmm +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spi-avmm 0x7fffffff __regmap_init_spi_avmm +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x7fffffff __devm_regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x7fffffff __devm_regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x7fffffff __regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x7fffffff __regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x7fffffff __devm_regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x7fffffff __regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x0481b842 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x09b45b07 bcma_host_pci_up +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x2b604212 bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x2f23a9fe bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x3106c6eb bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x34db19fa bcma_chipco_pll_read +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x59221b1e bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6366ebcc bcma_host_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x661a71b1 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x79502d0e bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_chipco_b_mii_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_chipco_get_alp_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_chipco_gpio_out +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_chipco_gpio_outen +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_core_pci_power_save +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_find_core_unit +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_host_pci_down +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_pmu_get_bus_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7fffffff bcma_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x2cbfa19f btbcm_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x40c986e5 btbcm_finalize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x46b4e66d btbcm_setup_apple +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x64dbafdb btbcm_read_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x74f12875 btbcm_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x79f399e7 btbcm_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x7fffffff btbcm_setup_patchram +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x7fffffff btbcm_write_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x0c470dc9 btintel_load_ddc_config +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x0f877bea btintel_read_boot_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x2ba993f1 btintel_bootup +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x2cd5d7f8 btintel_set_event_mask_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x341cf688 btintel_secure_send_result +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x370f2aba btintel_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x3ec58bf7 btintel_send_intel_reset +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x3f29e71d btintel_read_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x53089621 btintel_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x612d0226 btintel_enter_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x628dc744 btintel_set_diag +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7fffffff btintel_configure_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7fffffff btintel_exit_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7fffffff btintel_regmap_init +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7fffffff btintel_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7fffffff btintel_set_quality_report +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7fffffff btintel_version_info +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x1a97e8f5 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x1d7bc1fa btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x26a0e85d btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x5aaa69e4 btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7fffffff btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7fffffff btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7fffffff btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7fffffff btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7fffffff btmrvl_pscan_window_reporting +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7fffffff btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7fffffff btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x09c6faf6 btmtk_setup_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x5ae0592c btmtk_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x7fffffff btmtk_setup_firmware_79xx +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x31dac61b qca_uart_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x47ddd546 qca_set_bdaddr_rome +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x7fffffff qca_read_soc_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x7fffffff qca_send_pre_shutdown_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x7fffffff qca_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x04985ac2 btrtl_set_quirks +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x4d58c081 btrtl_shutdown_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x57d3646d btrtl_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x7fffffff btrtl_free +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x7fffffff btrtl_get_uart_settings +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x7fffffff btrtl_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x7fffffff btrtl_setup_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x7beb875d hci_uart_tx_wakeup +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x7fffffff h4_recv_buf +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x7fffffff hci_uart_register_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x7fffffff hci_uart_unregister_device +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x198878e6 mhi_ep_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x50f0326f __mhi_ep_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x6002976e mhi_ep_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x625083e7 mhi_ep_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x7fffffff mhi_ep_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x7fffffff mhi_ep_queue_is_empty +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x7fffffff mhi_ep_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x7fffffff mhi_ep_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x05c2ddd0 mhi_download_rddm_image +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x06f9eeca mhi_unprepare_after_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x10512cc2 mhi_device_get_sync +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x210dfdb5 mhi_notify +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x27a8245b mhi_prepare_for_transfer_autoqueue +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x28087d58 mhi_force_rddm_mode +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x2eec6e7e mhi_poll +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x3fd917d7 mhi_pm_suspend +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x4b1375ae mhi_prepare_for_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x55adcda6 mhi_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x60a4c20f mhi_queue_is_full +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x623c75a7 mhi_free_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x6819054d mhi_get_exec_env +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x6ac40e39 mhi_get_free_desc_count +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7171ea47 mhi_async_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x73e04b52 mhi_pm_resume +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x76f79193 mhi_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff __mhi_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_alloc_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_device_get +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_device_put +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_get_mhi_state +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_pm_resume_force +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_prepare_for_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_queue_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_queue_dma +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_soc_reset +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7fffffff mhi_unprepare_from_transfer +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x03c78888 moxtet_device_write +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x338d1198 moxtet_device_read +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x65f5044c moxtet_device_written +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x751d4e9d __moxtet_register_driver +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0000139e clk_alpha_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x08f0cc30 clk_is_enabled_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0d10c3c4 clk_enable_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0d678ab9 qcom_reset_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0e5f8a53 clk_pll_sr2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x0e98da3d clk_pll_vote_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x17d44071 clk_alpha_pll_hwfsm_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x183be5e6 clk_alpha_pll_agera_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x1a142e7c clk_alpha_pll_fixed_trion_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x1cbd386f clk_rcg_floor_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x272f3204 clk_alpha_pll_fixed_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x29c40ae0 clk_alpha_pll_fixed_lucid_evo_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x2a9c7452 clk_rcg_lcc_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x2b0d957d clk_pixel_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x2cae96b3 clk_regmap_div_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x306e7e8c qcom_cc_probe +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x30bbf987 clk_rcg2_shared_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x310b6341 clk_regmap_mux_closest_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x3747af55 clk_rcg_bypass2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x395868a1 qcom_find_freq_floor +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x3b15a709 clk_alpha_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x3d9d67cc qcom_cc_probe_by_index +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x3dfc2dc5 clk_branch_simple_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x405d394a clk_alpha_pll_postdiv_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x418e9cfd clk_pll_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x4b0ed6da clk_ops_hfpll +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x5111f2ad clk_rcg2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x520df3b7 clk_rcg_esc_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x57172323 clk_byte_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x5e6abb22 mux_div_set_src_div +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x60e2e044 qcom_cc_register_sleep_clk +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x615dbb77 clk_branch2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x631939a9 clk_branch2_aon_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x63ee9aa4 clk_alpha_pll_fixed_fabia_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x66922845 clk_branch_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x68199825 clk_disable_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x6af41b8b qcom_pll_set_fsm_mode +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x6c069db2 qcom_find_src_index +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7019378d clk_pll_configure_sr_hpm_lp +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x766e9f87 clk_regmap_div_ro_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7737d034 qcom_cc_map +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x787e8234 qcom_find_freq +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x78b81ea0 clk_rcg2_floor_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7b0ae2d4 devm_clk_register_regmap +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7cf80f95 qcom_cc_register_board_clk +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7e66fd9e clk_regmap_mux_div_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_agera_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_fabia_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_huayra_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_lucid_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_postdiv_fabia_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_postdiv_lucid_evo_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_postdiv_lucid_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_postdiv_ro_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_postdiv_trion_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_regs +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_alpha_pll_trion_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_byte2_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_dp_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_dyn_rcg_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_edp_pixel_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_fabia_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_gfx3d_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_pll_configure_sr +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_rcg_bypass_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_rcg_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_rcg_pixel_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_trion_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff clk_zonda_pll_configure +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff gdsc_gx_do_nothing_enable +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff krait_div2_clk_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff krait_mux_clk_ops +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff qcom_cc_really_probe +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff qcom_cc_register_rcg_dfs +EXPORT_SYMBOL_GPL drivers/clk/qcom/clk-qcom 0x7fffffff qcom_find_cfg_index +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x093d0205 comedi_alloc_devpriv +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x1519e561 comedi_buf_write_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x15e405f6 comedi_dev_put +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x1e285110 comedi_dio_insn_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x21102f87 range_0_32mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x233a87fa __comedi_request_region +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x27aa3e4d comedi_buf_read_n_available +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2c6c35bc comedi_check_chanlist +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x3b54c48b comedi_buf_read_samples +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x41336b8a comedi_bytes_per_scan_cmd +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4236eaaf range_4_20mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x43de4ffd comedi_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x455940e6 comedi_request_region +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x48dd09a8 comedi_alloc_subdevices +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4b09638b comedi_event +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x551d248c comedi_nscans_left +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x56d1f674 comedi_load_firmware +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x5714550e comedi_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x5acb0d84 comedi_buf_write_samples +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x5eaadf1d comedi_inc_scan_progress +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x61940137 comedi_buf_write_alloc +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x6311247d comedi_legacy_detach +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x753ece66 comedi_is_subdevice_running +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7e8627cf comedi_set_spriv_auto_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_alloc_spriv +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_alloc_subdev_readback +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_buf_read_alloc +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_buf_read_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_bytes_per_scan +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_dev_get_from_minor +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_dio_update_state +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_handle_events +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_nsamples_left +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_readback_insn_read +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_set_hw_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff comedi_timeout +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff range_0_20mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff range_bipolar10 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff range_unipolar10 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff range_unipolar2_5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x7fffffff range_unipolar5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x0a886461 comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x3eb19c12 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x4925c164 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x64af372d comedi_pci_disable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x7fffffff comedi_pci_detach +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x7fffffff comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x7fffffff comedi_pci_enable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x7fffffff comedi_to_pci_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x13343ed2 comedi_to_usb_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x4587233e comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x7fffffff comedi_to_usb_interface +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x7fffffff comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x7fffffff comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x7fffffff comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/drivers/addi_watchdog 0x738d5dd1 addi_watchdog_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/addi_watchdog 0x79f4a6cf addi_watchdog_reset +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_dio200_common 0x01ed52f7 amplc_dio200_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_dio200_common 0x7fffffff amplc_dio200_set_enhance +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_pc236_common 0x086e6f1c amplc_pc236_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x0ddbdea5 comedi_8254_status +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x3da7b256 comedi_8254_ns_to_timer +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x4a58505d comedi_8254_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x561b0040 comedi_8254_pacer_enable +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x5e4d2128 comedi_8254_mm_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x63e0a44a comedi_8254_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x67ab58eb comedi_8254_set_mode +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x6c25baa3 comedi_8254_update_divisors +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x6e62bac3 comedi_8254_set_busy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x7fffffff comedi_8254_cascade_ns_to_timer +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x7fffffff comedi_8254_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x7fffffff comedi_8254_load +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x7fffffff comedi_8254_subdevice_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0x024b6f1f subdev_8255_regbase +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0x0dee5b93 subdev_8255_mm_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0x7fffffff subdev_8255_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/das08 0x7fffffff das08_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x107e1f2a mite_alloc_ring +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x1e0683b6 mite_free_ring +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x2540d3b4 mite_bytes_in_transit +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x25c927d0 mite_buf_change +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x3994fc93 mite_dma_arm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x3b7ab4aa mite_ack_linkc +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x46b21387 mite_detach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x4a5c1969 mite_dma_disarm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x5e8c619d mite_release_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x67a919ee mite_init_ring_descriptors +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x6c4ea8cf mite_request_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x71da30a9 mite_request_channel_in_range +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x7cf21891 mite_prep_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x7fffffff mite_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x7fffffff mite_done +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x7fffffff mite_sync_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_common 0x42ec9960 labpc_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_common 0x7fffffff labpc_common_detach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x076bc308 ni_find_route_source +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x0921123e ni_lookup_route_register +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x1facf7f8 ni_is_cmd_dest +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x64443d67 ni_get_valid_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x6c18c54e ni_count_valid_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x7fffffff ni_assign_device_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x7fffffff ni_find_route_set +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x7fffffff ni_route_set_has_source +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x7fffffff ni_route_to_register +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x7fffffff ni_sort_device_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x0e53ed6e ni_tio_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x104cf3b0 ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x1f485977 ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x212b02ba ni_tio_set_bits +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x26469cb3 ni_tio_get_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x4b2f1fb2 ni_tio_get_soft_copy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x535d421c ni_tio_arm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x7fffffff ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x7fffffff ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x7fffffff ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x7fffffff ni_tio_insn_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x7fffffff ni_tio_insn_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x7fffffff ni_tio_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x7fffffff ni_tio_set_gate_src_raw +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x7fffffff ni_tio_set_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x7fffffff ni_tio_unset_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x08220b8e ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x275c868b ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x2a9a35b8 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x43769ec9 ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x7202964c ni_tio_acknowledge +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x7ae5df87 ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x0a32f111 comedi_dio_config +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x167dea24 comedi_find_subdevice_by_type +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x1a25b6ac comedi_close +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x29f21409 comedi_dio_get_config +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x6f66aa3a comedi_get_n_channels +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x7fffffff comedi_dio_bitfield2 +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x7fffffff comedi_open +EXPORT_SYMBOL_GPL drivers/counter/counter 0x0758d068 counter_add +EXPORT_SYMBOL_GPL drivers/counter/counter 0x6f05ec5a counter_alloc +EXPORT_SYMBOL_GPL drivers/counter/counter 0x70d62326 counter_priv +EXPORT_SYMBOL_GPL drivers/counter/counter 0x79dde431 devm_counter_alloc +EXPORT_SYMBOL_GPL drivers/counter/counter 0x7e02f789 counter_push_event +EXPORT_SYMBOL_GPL drivers/counter/counter 0x7fffffff counter_put +EXPORT_SYMBOL_GPL drivers/counter/counter 0x7fffffff counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0x7fffffff devm_counter_add +EXPORT_SYMBOL_GPL drivers/crypto/omap-crypto 0x5c2673e4 omap_crypto_cleanup +EXPORT_SYMBOL_GPL drivers/crypto/omap-crypto 0x7fffffff omap_crypto_align_sg +EXPORT_SYMBOL_GPL drivers/dax/device_dax 0x451b6191 dev_dax_probe +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x327eb3e4 dw_edma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x7fffffff dw_edma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x03b6d554 do_dw_dma_enable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x51f7348b idma32_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x6629635c dw_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x7abaf5f3 do_dw_dma_disable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x7fffffff dw_dma_filter +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x7fffffff dw_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x7fffffff idma32_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x05cedfcc fsl_edma_setup_regs +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x06cfa292 fsl_edma_slave_config +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x10572929 fsl_edma_pause +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x2c5ab208 fsl_edma_cleanup_vchan +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x4087f762 fsl_edma_prep_memcpy +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x575ae500 fsl_edma_terminate_all +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x5c4146f1 fsl_edma_issue_pending +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x6cfe5e78 fsl_edma_tx_status +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x6e43f8be fsl_edma_free_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7fffffff fsl_edma_alloc_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7fffffff fsl_edma_chan_mux +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7fffffff fsl_edma_disable_request +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7fffffff fsl_edma_free_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7fffffff fsl_edma_prep_dma_cyclic +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7fffffff fsl_edma_prep_slave_sg +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7fffffff fsl_edma_resume +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7fffffff fsl_edma_xfer_desc +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x1c475525 hidma_mgmt_setup +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x7fffffff hidma_mgmt_init_sys +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0x7fffffff fw_card_read_cycle_time +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0x7fffffff fw_card_release +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0x7fffffff fw_request_get_timestamp +EXPORT_SYMBOL_GPL drivers/firmware/arm_scpi 0x7fffffff get_scpi_ops +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x05a3c1d3 cs_dsp_power_down +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x08e37c59 cs_dsp_read_raw_data_block +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x144d6986 cs_dsp_mem_region_name +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x483f8546 cs_dsp_halo_bus_error +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x4a163802 cs_dsp_run +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x4e5562f8 cs_dsp_remove_padding +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x5035acbb cs_dsp_adsp2_bus_error +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x536bd34e cs_dsp_adsp2_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x631eea12 cs_dsp_write_data_word +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x66898ffd cs_dsp_stop +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x74dd833a cs_dsp_init_debugfs +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7c0010c3 cs_dsp_coeff_read_ctrl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_adsp1_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_adsp1_power_down +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_adsp1_power_up +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_cleanup_debugfs +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_coeff_write_acked_control +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_coeff_write_ctrl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_find_alg_region +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_get_ctl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_halo_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_halo_wdt_expire +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_power_up +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_read_data_word +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_remove +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7fffffff cs_dsp_set_dspclk +EXPORT_SYMBOL_GPL drivers/firmware/mtk-adsp-ipc 0x6d933080 mtk_adsp_ipc_send +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0x7fffffff alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x3037278d dfl_fpga_cdev_config_ports_pf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x3a7dfef8 dfl_fpga_dev_feature_init +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x3b070c74 dfl_fpga_enum_info_add_dfl +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x3c76d08b dfl_fpga_cdev_config_ports_vf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x3ea64e26 dfl_fpga_enum_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x400de1a5 dfl_fpga_enum_info_add_irq +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x4082327e dfl_fpga_feature_devs_enumerate +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x57788386 dfl_fpga_set_irq_triggers +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x663d9180 dfl_feature_ioctl_set_irq +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7528581e dfl_fpga_dev_feature_uinit +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff __dfl_fpga_cdev_find_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_feature_ioctl_get_num_irqs +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_cdev_assign_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_cdev_release_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_check_port_id +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_dev_ops_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_dev_ops_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_enum_info_free +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_feature_devs_remove +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_port_ops_add +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_port_ops_del +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_port_ops_get +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7fffffff dfl_fpga_port_ops_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0633c4b9 fpga_bridges_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0773379d fpga_bridge_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0b2b884c fpga_bridges_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2c8167cf fpga_bridges_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x70657026 of_fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x7e918c88 fpga_bridge_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x7fffffff fpga_bridge_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x7fffffff fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x7fffffff fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x7fffffff fpga_bridge_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x7fffffff fpga_bridge_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x7fffffff of_fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x1541ffc5 fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x223c2924 of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x2641ac5e fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x3d5cd3c0 fpga_mgr_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x411ec6e8 fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x601d9ed9 devm_fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x629f1f3e fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x63200e4f fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x673bcc0b fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7fffffff devm_fpga_mgr_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7fffffff fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7fffffff fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7fffffff fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x43cd8f68 fpga_region_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x5449501b fpga_region_program_fpga +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x7fffffff fpga_region_class_find +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x7fffffff fpga_region_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x7fffffff fpga_region_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x0aa99fad fsi_master_rescan +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x0ff951aa fsi_master_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x3a93847e fsi_slave_claim_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x40567ba5 fsi_get_new_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x480b31bb fsi_driver_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x4c75b957 fsi_driver_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x5a57d574 fsi_free_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x60a97912 fsi_slave_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x7fffffff fsi_bus_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x7fffffff fsi_cdev_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x7fffffff fsi_device_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x7fffffff fsi_device_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x7fffffff fsi_master_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x7fffffff fsi_slave_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x7fffffff fsi_slave_release_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-occ 0x0ba18c14 fsi_occ_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0x04e714bb sbefifo_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0x7fffffff sbefifo_parse_status +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x0ea1a3a3 gnss_register_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x1b9b6534 gnss_insert_raw +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x6dfd3b46 gnss_deregister_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x6f878b99 gnss_put_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x7d0b6146 gnss_allocate_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x2ecccf81 gnss_serial_free +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x3ffd74fc gnss_serial_pm_ops +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x7fffffff gnss_serial_allocate +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x7fffffff gnss_serial_deregister +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x7fffffff gnss_serial_register +EXPORT_SYMBOL_GPL drivers/gpio/gpio-aspeed 0x5dcbe46c aspeed_gpio_copro_set_ops +EXPORT_SYMBOL_GPL drivers/gpio/gpio-aspeed 0x7fffffff aspeed_gpio_copro_grab_gpio +EXPORT_SYMBOL_GPL drivers/gpio/gpio-aspeed 0x7fffffff aspeed_gpio_copro_release_gpio +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x1fa36fb4 __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0x34b310d7 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x36a0630e analogix_dp_start_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x36bad58b analogix_dp_suspend +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x3c864290 analogix_dp_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x78494794 analogix_dp_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x7fffffff analogix_dp_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x7fffffff analogix_dp_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x7fffffff analogix_dp_stop_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x7fffffff analogix_dp_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x7fffffff anx_dp_aux_transfer +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x09340e05 dw_hdmi_set_channel_count +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x094f6fc5 dw_hdmi_phy_i2c_set_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x1461e227 dw_hdmi_set_channel_status +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x26d629cd dw_hdmi_phy_gen2_reset +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x2d1c0e80 dw_hdmi_setup_rx_sense +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x2fac9436 dw_hdmi_set_channel_allocation +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x316212a8 dw_hdmi_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x42926f4a dw_hdmi_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x4a9b174f dw_hdmi_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x5665b64f dw_hdmi_set_high_tmds_clock_ratio +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x56f72e25 dw_hdmi_set_sample_non_pcm +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x6712b5a7 dw_hdmi_phy_gen2_txpwron +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x797cfb9b dw_hdmi_set_plugged_cb +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x79fc0b33 dw_hdmi_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7d8a3aee dw_hdmi_phy_i2c_write +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_audio_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_audio_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_phy_gen1_reset +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_phy_gen2_pddq +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_phy_read_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_phy_setup_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_phy_update_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_set_sample_rate +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7fffffff dw_hdmi_set_sample_width +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x0d667204 dw_mipi_dsi_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x41361ae4 dw_mipi_dsi_set_slave +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x42ac3b2e dw_mipi_dsi_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x7fffffff dw_mipi_dsi_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi 0x7fffffff dw_mipi_dsi_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_display_helper 0x19aa0eef drm_hdcp_check_ksvs_revoked +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x2acc5245 of_dp_aux_depopulate_ep_devices +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x2e189ba8 __dp_aux_dp_driver_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x695b935a of_dp_aux_populate_ep_devices +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x7fffffff devm_of_dp_aux_populate_ep_devices +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x7fffffff dp_aux_dp_driver_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x00182d47 drm_of_find_panel_or_bridge +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x05cf20dd drm_of_encoder_active_endpoint +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x0cc81f22 drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1ac7efeb drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x2206f346 of_get_drm_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x342f3d2a drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4dde1541 drm_of_component_match_add +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4ebfd509 of_get_drm_panel_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x5427b7cc drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x6638117d drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x66cf2f64 drm_display_mode_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_bus_flags_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_display_mode_to_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_of_lvds_get_data_mapping +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7fffffff drm_of_lvds_get_dual_link_pixel_order +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x324652f8 drm_gem_cma_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x3694cfdc drm_gem_cma_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x40375c5e drm_gem_cma_vmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x79ba1b5a drm_gem_cma_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x7fffffff drm_fb_cma_get_gem_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x7fffffff drm_fb_cma_get_gem_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x7fffffff drm_fb_cma_sync_non_coherent +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x7fffffff drm_gem_cma_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x7fffffff drm_gem_cma_dumb_create_internal +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x7fffffff drm_gem_cma_free +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x7fffffff drm_gem_cma_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x7fffffff drm_gem_cma_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x0693b001 drm_bridge_connector_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x129dd559 drm_gem_fb_create_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x2bb74e1f drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x3e6b839f drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x5109fc0a drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x72d37fda drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x7bc38bf8 drm_gem_plane_helper_prepare_fb +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x7fffffff drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x11a1051c drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x3f3fe7ae drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x52c8c15d drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x54862e5a drm_gem_shmem_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_free +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x7fffffff drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/imx/imxdrm 0x0820e3bf imx_drm_connector_destroy +EXPORT_SYMBOL_GPL drivers/gpu/drm/imx/imxdrm 0x7fffffff imx_drm_encoder_parse_of +EXPORT_SYMBOL_GPL drivers/gpu/drm/mcde/mcde_drm 0x7fffffff mcde_display_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x2c73cfcf meson_venc_hdmi_venc_repeat +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x2e1af8d8 meson_vclk_setup +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x562879ee meson_venc_hdmi_mode_set +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x7fffffff meson_vclk_dmt_supported_freq +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x7fffffff meson_vclk_vic_supported_freq +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x7fffffff meson_venc_hdmi_supported_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/meson/meson-drm 0x7fffffff meson_venc_hdmi_supported_vic +EXPORT_SYMBOL_GPL drivers/gpu/drm/panel/panel-samsung-s6e63m0 0x63dcb1d8 s6e63m0_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/panel/panel-samsung-s6e63m0 0x7fffffff s6e63m0_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/pl111/pl111_drm 0x2a2a74eb pl111_versatile_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x582b41a1 rcar_cmm_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x6e0bd065 rcar_cmm_setup +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x7fffffff rcar_cmm_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_cmm 0x7fffffff rcar_cmm_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x46f33d55 rcar_lvds_clk_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x7132da0e rcar_lvds_is_connected +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x7fffffff rcar_lvds_clk_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/rcar-du/rcar_lvds 0x7fffffff rcar_lvds_dual_link +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x185c51f2 vop2_component_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x24f42066 rockchip_rgb_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x7c7d4f0c vop_component_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/rockchip/rockchipdrm 0x7fffffff rockchip_rgb_fini +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0x290b31b1 ssd130x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0x46d5c68d ssd130x_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0x7fffffff ssd130x_shutdown +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x02cee6c0 ipu_cpmem_get_burstsize +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x050f0d7b ipu_di_adjust_videomode +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x067dc30d ipu_image_convert_prepare +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x06977221 ipu_set_csi_src_mux +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x07036df2 ipu_ic_calc_csc +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x0728116a ipu_csi_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x078360a2 ipu_dc_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x07dc2d4b ipu_cpmem_set_resolution +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x08095c03 ipu_set_ic_src_mux +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x0e42bd95 ipu_csi_set_dest +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x0fa8833c ipu_fsu_unlink +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x118160e1 ipu_ic_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x12017094 ipu_idmac_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x125d155b ipu_idmac_channel_busy +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x13952dfe ipu_dmfc_enable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x15ec2ba5 ipu_di_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x16fd156c ipu_cpmem_zero +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x18730251 ipu_rot_mode_to_degrees +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x18aa0dcd ipu_image_convert_abort +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x195a2dc6 ipu_cpmem_set_burstsize +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x1a668c13 ipu_map_irq +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x1ba37b65 ipu_image_convert +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x1da81315 ipu_dc_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x1e913d9f ipu_csi_get_window +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x20a99086 ipu_smfc_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x20fb8dba ipu_prg_channel_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x2424c9a6 ipu_csi_is_interlaced +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x2b9455a8 ipu_idmac_set_double_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x2c441bd1 ipu_idmac_wait_busy +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x2cf7ed72 ipu_dc_init_sync +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x2d02e4f7 ipu_cpmem_set_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x2e825a67 ipu_smfc_set_watermark +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x2f92d651 ipu_ic_task_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x3020d65c ipu_prg_max_active_channels +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x3166aec7 ipu_dmfc_disable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x34a77331 ipu_cpmem_set_axi_id +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x372f8afd ipu_cpmem_set_format_rgb +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x37330c97 ipu_csi_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x38636300 ipu_cpmem_skip_odd_chroma_rows +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x387da251 ipu_idmac_select_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x3b2cbf9b ipu_di_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x3d8f18f6 __ipu_ic_calc_csc +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x3e86ea72 ipu_di_get_num +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x413451e5 ipu_prg_channel_configure +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x418a282f ipu_drm_fourcc_to_colorspace +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x4211ca61 ipu_prg_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x42d3d500 ipu_image_convert_unprepare +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x4323d7d8 ipu_prg_format_supported +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x4917f47a ipu_ic_dump +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x492a422d ipu_csi_set_mipi_datatype +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x498b4c7b ipu_image_convert_enum_format +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x4aac605c ipu_dp_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x4c179b49 ipu_dp_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x4d1181e6 ipu_idmac_lock_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x51475e87 ipu_dmfc_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x527f3b94 ipu_smfc_set_burstsize +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x53de277c ipu_di_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x55767280 ipu_vdi_set_motion +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x5802dba0 ipu_vdi_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x580d2f81 ipu_vdi_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x59b10126 ipu_cpmem_set_high_priority +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x5b15aea8 ipu_dp_disable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x5b7b7a00 ipu_prg_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x5cae270a ipu_vdi_unsetup +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x60bdf2ec ipu_csi_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x623722e2 ipu_ic_task_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x62ca48c8 ipu_cpmem_interlaced_scan +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x62d5a797 ipu_idmac_unlink +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x63856c4c ipu_ic_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x66bcc2f6 ipu_cpmem_set_rotation +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7068e939 ipu_dc_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7118e192 ipu_prg_present +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x731a49f5 ipu_cpmem_set_format_passthrough +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7348a662 ipu_prg_channel_configure_pending +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x781712ac ipu_idmac_enable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x78abf697 ipu_idmac_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7f7c576c ipu_cpmem_set_uv_offset +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_cpmem_dump +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_cpmem_set_block_mode +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_cpmem_set_fmt +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_cpmem_set_image +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_cpmem_set_stride +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_cpmem_set_yuv_interleaved +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_cpmem_set_yuv_planar_full +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_csi_dump +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_csi_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_csi_init_interface +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_csi_set_downsize +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_csi_set_skip_smfc +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_csi_set_test_generator +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_csi_set_window +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dc_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dc_disable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dc_enable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_degrees_to_rot_mode +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_di_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_di_init_sync_panel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dmfc_config_wait4eot +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dmfc_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dp_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dp_enable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dp_get +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dp_set_global_alpha +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dp_set_window_pos +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dp_setup_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_dump +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_fsu_link +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_get_num +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_ic_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_ic_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_ic_task_graphics_init +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_ic_task_idma_init +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_ic_task_init +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_idmac_buffer_is_ready +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_idmac_channel_irq +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_idmac_clear_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_idmac_disable_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_idmac_enable_watermark +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_idmac_get_current_buffer +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_idmac_link +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_image_convert_adjust +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_image_convert_queue +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_image_convert_sync +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_image_convert_verify +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_module_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_module_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_pixelformat_to_colorspace +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_smfc_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_smfc_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_smfc_map_channel +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_smfc_put +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_srm_dp_update +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_vdi_disable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_vdi_enable +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_vdi_set_field_order +EXPORT_SYMBOL_GPL drivers/gpu/ipu-v3/imx-ipu-v3 0x7fffffff ipu_vdi_setup +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x00201b48 gb_connection_destroy +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x05521e7d gb_connection_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x06e1c2af gb_hd_shutdown +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x07177533 __traceiter_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x14028e17 __SCK__tp_func_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x158a8186 __tracepoint_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x15d1942f greybus_disabled +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x164c8150 gb_svc_intf_set_power_mode +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x189a83ef greybus_data_rcvd +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x19c8e4e0 __tracepoint_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x26e3f323 gb_hd_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3112e25e gb_connection_disable_rx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3481e560 gb_hd_cport_reserve +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x357b80e4 gb_operation_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x35a6d354 gb_operation_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x367346cc gb_operation_response_alloc +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x36b26b2b gb_connection_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3b6533aa gb_connection_enable_tx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x42966687 __traceiter_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x44c3770c gb_operation_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x47b41aba __traceiter_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x553cea4e gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x565f4f40 gb_operation_unidirectional_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x56d2e506 gb_hd_output +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5d0920ee gb_interface_request_mode_switch +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6618046f gb_operation_request_send +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6d3bb9ec __SCK__tp_func_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x71bd0eb1 gb_operation_cancel +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7778075e gb_operation_get_payload_size_max +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7bfa420b __tracepoint_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7bfcf07d __traceiter_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7e14e99b __traceiter_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff __SCK__tp_func_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff __SCK__tp_func_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff __SCK__tp_func_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff __SCK__tp_func_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff __traceiter_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff __tracepoint_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff __tracepoint_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff __tracepoint_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_connection_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_connection_create_offloaded +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_connection_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_connection_disable_forced +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_connection_latency_tag_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_connection_latency_tag_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_debugfs_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_hd_cport_release_reserved +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_operation_request_send_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_operation_result +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff gb_operation_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff greybus_deregister_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff greybus_message_sent +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7fffffff greybus_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x08d0dce6 hid_hw_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0a77f275 hid_hw_raw_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0ec574a2 hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19d52f1f hid_quirks_exit +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1af388bc hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1faef2a6 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x238bb8d4 hid_hw_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x253191f9 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x33b6f00b hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x366941d5 hid_hw_close +EXPORT_SYMBOL_GPL drivers/hid/hid 0x369a833e hidinput_calc_abs_res +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4102827b hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x485b28ad hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0x493f11ec hid_dump_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x50428e52 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x507f0896 hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x59930091 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5e65fa1a hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x61ea7632 hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x626d84f4 hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x62d38ccc hid_hw_open +EXPORT_SYMBOL_GPL drivers/hid/hid 0x67c16c8c hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x6c95c9f7 hid_hw_stop +EXPORT_SYMBOL_GPL drivers/hid/hid 0x702e71b6 hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7444798f hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7ce2bb49 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7d8c17f9 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff __hid_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_alloc_report_buf +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_compare_device_paths +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_driver_reset_resume +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_driver_resume +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_driver_suspend +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_field_extract +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_hw_start +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_ignore +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_match_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_quirks_init +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_setup_resolution_multiplier +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_snto32 +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hid_validate_values +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7fffffff hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x3e4427c8 roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x5e5d4371 roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x45cde86c roccat_common2_device_init_struct +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x57b3a2a8 roccat_common2_send_with_status +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x6ecc503c roccat_common2_sysfs_write +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x6f9e3466 roccat_common2_sysfs_read +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x7fffffff roccat_common2_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x7fffffff roccat_common2_send +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x3c40a980 sensor_hub_input_get_attribute_info +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x404ab773 sensor_hub_device_close +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x5638f88f sensor_hub_input_attr_get_raw_value +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x791eedf7 sensor_hub_set_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x7fffffff hid_sensor_get_usage_index +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x7fffffff sensor_hub_device_open +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x7fffffff sensor_hub_get_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x7fffffff sensor_hub_register_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x7fffffff sensor_hub_remove_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-vivaldi-common 0x581ffbbc vivaldi_feature_mapping +EXPORT_SYMBOL_GPL drivers/hid/hid-vivaldi-common 0x5dfa9dd4 vivaldi_input_configured +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x2e37ee44 i2c_hid_core_shutdown +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x3a9cb085 i2c_hid_ll_driver +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x6ee4a190 i2c_hid_core_remove +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x72a75684 i2c_hid_core_probe +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x7fffffff i2c_hid_core_pm +EXPORT_SYMBOL_GPL drivers/hid/uhid 0x4732d170 uhid_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x3789f4ee hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x7fffffff usb_hid_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x0b73448f hsi_remove_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x245f05db hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x366f3185 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x59ccc13e hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x60f3896f hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x67bc0d6b hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7510b00d hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7b6744b0 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7bfd6b36 hsi_get_channel_id_by_name +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_add_clients_from_dt +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_new_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_port_unregister_clients +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x7fffffff hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x6ec0ccdf adt7x10_probe +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x7fffffff adt7x10_dev_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x5cbb5274 ltc2947_core_probe +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x7fffffff ltc2947_of_match +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x7fffffff ltc2947_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x5553b82c nct6775_show_beep +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x7fffffff nct6775_probe +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x7fffffff nct6775_reg_is_word_sized +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x7fffffff nct6775_show_alarm +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x7fffffff nct6775_store_beep +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x7fffffff nct6775_update_device +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x5326ea60 intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x5d0a5829 intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x684f9c62 intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7fffffff intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7fffffff intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7fffffff intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7fffffff intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7fffffff intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x7fffffff intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x31405a7e intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x7fffffff intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x7fffffff intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x03c29fd4 stm_source_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x0650845b stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x06903549 stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x29352237 stm_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x7fffffff stm_data_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x7fffffff stm_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x7fffffff stm_source_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x7fffffff stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x7fffffff to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-ccgx-ucsi 0x6e84dea1 i2c_new_ccgx_ucsi +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x4b1794ff i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x629e448d i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x6c98c51e i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x7fffffff i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x49af88bc i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x71aa5154 i2c_register_spd +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x7fffffff i2c_free_slave_host_notify_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x7fffffff i2c_new_slave_host_notify_device +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x04b4c6a9 i3c_generic_ibi_get_free_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x0a03142b i3c_master_enec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x0cfc7df9 i3c_device_match_id +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x1c0348a7 i3c_generic_ibi_alloc_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x212ab162 i3c_master_register +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x27685ae3 i3c_master_add_i3c_dev_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x34c21ad7 i3c_master_do_daa +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x47106cee i3c_master_defslvs_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x6eb16632 i3c_device_free_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x74b20c2a i3c_device_get_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x76fe3e05 i3c_generic_ibi_free_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff dev_to_i3cdev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_device_disable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_device_do_priv_xfers +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_device_enable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_device_request_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_driver_register_with_owner +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_driver_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_generic_ibi_recycle_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_master_disec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_master_entdaa_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_master_get_free_addr +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_master_queue_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_master_set_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3c_master_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7fffffff i3cdev_to_dev +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x6f0b9f65 adi_axi_adc_conv_priv +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x7fffffff devm_adi_axi_adc_conv_register +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x11cc2335 iio_channel_cb_get_iio_dev +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x267c0508 iio_channel_release_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x2a1fab3c iio_channel_stop_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x6b9e85d8 iio_channel_cb_get_channels +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7a711aef iio_channel_start_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7fffffff iio_channel_cb_set_buffer_watermark +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7fffffff iio_channel_get_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x09cdefde iio_dma_buffer_set_bytes_per_datum +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x12ab0326 iio_dma_buffer_read +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x1f9881f8 iio_dma_buffer_request_update +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x22a6eb2c iio_dma_buffer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x3008f422 iio_dma_buffer_block_done +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x5bdf81a3 iio_dma_buffer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x5fc46ae1 iio_dma_buffer_exit +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7fffffff iio_dma_buffer_block_list_abort +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7fffffff iio_dma_buffer_data_available +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7fffffff iio_dma_buffer_init +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7fffffff iio_dma_buffer_release +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7fffffff iio_dma_buffer_set_length +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0x7fffffff devm_iio_dmaengine_buffer_setup +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x3391543d iio_hw_consumer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x40adc254 iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x65640853 devm_iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x7fffffff iio_hw_consumer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x7fffffff iio_hw_consumer_free +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-triggered-buffer 0x7fffffff devm_iio_triggered_buffer_setup_ext +EXPORT_SYMBOL_GPL drivers/iio/buffer/kfifo_buf 0x0bb81bb4 devm_iio_kfifo_buffer_setup_ext +EXPORT_SYMBOL_GPL drivers/iio/chemical/sps30 0x42188095 sps30_probe +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x0d18d1ca cros_ec_motion_send_host_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x4b3a3541 cros_ec_sensors_core_read_avail +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7fffffff cros_ec_sensors_capture +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7fffffff cros_ec_sensors_core_init +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7fffffff cros_ec_sensors_core_read +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7fffffff cros_ec_sensors_core_register +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7fffffff cros_ec_sensors_core_write +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7fffffff cros_ec_sensors_ext_info +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7fffffff cros_ec_sensors_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7fffffff cros_ec_sensors_push_data +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7fffffff cros_ec_sensors_read_cmd +EXPORT_SYMBOL_GPL drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core 0x7fffffff cros_ec_sensors_read_lpc +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x403b5537 bmg160_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x63191998 bmg160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x7fffffff bmg160_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x3246ec7f fxas21002c_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x7fffffff fxas21002c_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x7fffffff fxas21002c_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/imu/bmi160/bmi160_core 0x7fffffff bmi160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/fxos8700_core 0x04d6a7e6 fxos8700_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0x001f9615 inv_icm42600_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0x7d627d13 inv_icm42600_regmap_config +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0x7fffffff inv_icm42600_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x7fffffff inv_mpu_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x7fffffff inv_mpu_pmops +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x043b4bc7 iio_device_release_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x09a07cc0 iio_buffer_enabled +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0d1ecc73 iio_enum_available_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x18ecc55f __devm_iio_device_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x19c70d41 iio_update_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x20ce344a iio_format_value +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26f6b499 iio_str_to_fixpoint +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2ee2cdbe iio_device_id +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x33b7c56d iio_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x36fbfaeb iio_device_claim_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x38d67942 iio_validate_scan_mask_onehot +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x42b7299e devm_iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x461fdcf6 iio_read_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4630c7f3 iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x46db98e7 of_iio_channel_get_by_name +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x491c8be4 iio_read_max_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4fa7b1c4 iio_get_debugfs_dentry +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x549622e1 iio_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x54d3e444 iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x5ae5d054 iio_push_to_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6504520f iio_pop_from_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x67cf04f6 iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x69be16c3 iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x71904966 iio_get_channel_ext_info_count +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x77af3d23 iio_buffer_put +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7adce071 iio_write_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7c726818 iio_convert_raw_to_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7cc05624 devm_of_iio_channel_get_by_name +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff __devm_iio_trigger_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff devm_iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff devm_iio_device_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff devm_iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff devm_iio_trigger_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_buffer_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_device_attach_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_device_get_current_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_enum_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_enum_write +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_push_to_buffers_with_ts_unaligned +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_read_avail_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_read_avail_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_read_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_read_channel_average_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_read_channel_offset +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_read_channel_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_read_channel_processed_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_show_mount_matrix +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_write_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7fffffff iio_write_channel_raw +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0x7fffffff ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x029f3b80 rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x0f7ffa45 rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x18e87cd3 rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x2d96fbb7 rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x5aace086 rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x63870397 rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x6491bd2c rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x797a3351 rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x7fffffff rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x7fffffff rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x7fffffff rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x7fffffff rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x2d7ab42a input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/matrix-keymap 0x7fffffff matrix_keypad_parse_properties +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x66535a18 adxl34x_suspend +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x7fffffff adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x7fffffff adxl34x_remove +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x7fffffff adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x01858ca1 rmi_set_attn_data +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x1139400b rmi_2d_sensor_abs_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x1f1e398e rmi_unregister_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x436db2de rmi_dbg +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x6b71825a __rmi_register_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x6f66c83d rmi_driver_suspend +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7fffffff rmi_2d_sensor_abs_process +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7fffffff rmi_2d_sensor_configure_input +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7fffffff rmi_2d_sensor_of_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7fffffff rmi_2d_sensor_rel_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7fffffff rmi_driver_resume +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7fffffff rmi_of_property_read_u32 +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x7fffffff rmi_register_transport_device +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x6d8b13f4 cyttsp4_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x706128bd cyttsp4_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x7fffffff cyttsp4_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x70c2648a cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x7fffffff cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x7fffffff cyttsp_i2c_read_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x7fffffff cyttsp_i2c_write_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x6018bee4 tsc200x_regmap_config +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x7fffffff tsc200x_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x7fffffff tsc200x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x7fffffff tsc200x_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x2fa7d7a9 wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x4cbe290e wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x53a0f0dd wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6811b5f9 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6a40cfb8 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x6de17f9c wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x715c2cb5 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x77fed2e2 wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7fffffff wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7fffffff wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7fffffff wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x7fffffff wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/interconnect/imx/imx-interconnect 0x434c085c imx_icc_register +EXPORT_SYMBOL_GPL drivers/interconnect/imx/imx-interconnect 0x7fffffff imx_icc_unregister +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x0b39b783 qcom_icc_bcm_voter_commit +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x2f573302 qcom_icc_bcm_voter_add +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-bcm-voter 0x7fffffff of_bcm_voter_get +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x4ec633eb qcom_icc_pre_aggregate +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x7fffffff qcom_icc_aggregate +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x7fffffff qcom_icc_bcm_init +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x7fffffff qcom_icc_rpmh_probe +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x7fffffff qcom_icc_rpmh_remove +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x7fffffff qcom_icc_set +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-rpmh 0x7fffffff qcom_icc_xlate_extended +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-smd-rpm 0x7fffffff qcom_icc_rpm_smd_available +EXPORT_SYMBOL_GPL drivers/interconnect/qcom/icc-smd-rpm 0x7fffffff qcom_icc_rpm_smd_send +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x0f7c9e2a free_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x438d8df2 iova_cache_get +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x48b9ac87 find_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x4a42a414 reserve_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x7fffffff __free_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x7fffffff alloc_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x7fffffff alloc_iova_fast +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x7fffffff free_iova_fast +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x7fffffff init_iova_domain +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x7fffffff iova_cache_put +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x7fffffff iova_domain_init_rcaches +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x7fffffff put_iova_domain +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x15805f44 ipack_driver_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x2c9da4c2 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x2db37b26 ipack_device_add +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x632b8a63 ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x68e7c9a2 ipack_device_del +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x7145cf79 ipack_put_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x7fffffff ipack_bus_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x7fffffff ipack_device_init +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x7fffffff ipack_get_device +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x1c52c770 led_set_flash_timeout +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x29301a59 led_get_flash_fault +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x3c399174 devm_led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x71cfa881 led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x77355e6d devm_led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x7fffffff led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x7fffffff led_set_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x7fffffff led_update_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x2e29bd1f devm_led_classdev_multicolor_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x4946edca devm_led_classdev_multicolor_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x77c64ffe led_mc_calc_color_components +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x7fffffff led_classdev_multicolor_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x7fffffff led_classdev_multicolor_unregister +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x044c9291 lp55xx_of_populate_pdata +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x06f7f9da lp55xx_read +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x0ad4ff02 lp55xx_is_extclk_used +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x31497fd4 lp55xx_write +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x3c7d0419 lp55xx_register_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x502e24d8 lp55xx_register_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x671decb0 lp55xx_deinit_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x78577d7b lp55xx_update_bits +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x7fffffff lp55xx_init_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x7fffffff lp55xx_unregister_sysfs +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-audio 0x3bd45b0d ledtrig_audio_set +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-audio 0x7fffffff ledtrig_audio_get +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-camera 0x749e05f2 ledtrig_flash_ctrl +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-camera 0x7903e46e ledtrig_torch_ctrl +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x00dea3fc __traceiter_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x05907c93 __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x06bceaa1 __SCK__tp_func_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x07ebcc98 __traceiter_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0a62aea7 __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0bc0be45 __SCK__tp_func_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x15f3de09 __SCK__tp_func_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1798e673 __traceiter_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x17a83e40 __traceiter_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x181a1930 __SCK__tp_func_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1b083369 __SCK__tp_func_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c599ebe __traceiter_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c83d5b7 __SCK__tp_func_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x22ae6324 __SCK__tp_func_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x25bbd6d5 __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2766fb04 __traceiter_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2af60833 __SCK__tp_func_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2cd46d2a __traceiter_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2e6c12a7 __traceiter_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x30556300 __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3079df16 __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x31057c80 __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x350c6c70 __traceiter_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3f71c77a __traceiter_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x45f7519f __traceiter_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x46c66897 __SCK__tp_func_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4a2d1241 __SCK__tp_func_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x51d0e534 __SCK__tp_func_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x553357b8 __traceiter_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x58cc87e4 __traceiter_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5a227cbf __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5d9c8fc8 __SCK__tp_func_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5fbd6296 __traceiter_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5fd7c423 __SCK__tp_func_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6026e276 __SCK__tp_func_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x628aeadd __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6342122d __traceiter_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6457cb54 __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x64e39418 __traceiter_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6697827f __SCK__tp_func_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x67abbb76 __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6e74dca7 __SCK__tp_func_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7119c1ae __traceiter_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x71388d39 __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7267dab1 __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x72a3de4b __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x750e6ea8 __traceiter_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x79eeb380 __SCK__tp_func_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7a8521af __traceiter_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7b6679bd __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __SCK__tp_func_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __traceiter_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7fffffff __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x08e092cb dm_get_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x11ee6cdc dm_cell_release_no_holder +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x17dd39d6 dm_deferred_set_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x1aca9996 dm_bio_prison_alloc_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x1b3d055a dm_cell_error +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2eb01e04 dm_deferred_set_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x320c7777 dm_bio_prison_free_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x3b748056 dm_cell_lock_promote_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x56ea0c76 dm_cell_put_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6791a44e dm_deferred_entry_dec +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x69536ef0 dm_cell_get_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x74cc380d dm_cell_unlock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x753e20b2 dm_bio_prison_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7896d9b1 dm_cell_promote_or_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7ce4a7f1 dm_cell_lock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7f640a74 dm_cell_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_bio_detain +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_bio_prison_alloc_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_bio_prison_create_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_bio_prison_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_bio_prison_destroy_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_bio_prison_free_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_cell_quiesce_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_deferred_entry_inc +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7fffffff dm_deferred_set_add_work +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x0ad0dc4f dm_bufio_mark_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x111ab12a dm_bufio_mark_partial_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x24772bfe dm_bufio_get +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x2b877141 dm_bufio_client_create +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x2e0774dc dm_bufio_get_block_number +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6aebce95 dm_bufio_issue_discard +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6d3f57bd dm_bufio_get_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x72f07bf4 dm_bufio_set_minimum_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x74dcd98c dm_bufio_get_aux_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7c381a76 dm_bufio_get_block_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_client_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_forget +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_forget_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_get_block_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_get_device_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_get_dm_io_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_issue_flush +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_new +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_prefetch +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_read +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_release +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_release_move +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_set_sector_offset +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_write_dirty_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7fffffff dm_bufio_write_dirty_buffers_async +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x03bb93e0 dm_cache_policy_get_name +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x0efbca4c btracker_promotion_already_present +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5730f8ae dm_cache_policy_create +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5adc2807 btracker_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5b3dc349 dm_cache_policy_get_version +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5de611a9 btracker_nr_writebacks_queued +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7fffffff btracker_complete +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7fffffff btracker_create +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7fffffff btracker_issue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7fffffff btracker_nr_demotions_queued +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7fffffff btracker_queue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7fffffff dm_cache_policy_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7fffffff dm_cache_policy_get_hint_size +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7fffffff dm_cache_policy_register +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7fffffff dm_cache_policy_unregister +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x2cb70db9 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x6d9c8741 dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x01d2f9ac dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x1c51a515 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38972f23 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38efaf5a dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3a18389a dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x57e16c3e dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5f4a6e61 dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7774620f dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d053fc5 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d5e1815 dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7e454eac dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7fffffff dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0054f69d dm_tm_pre_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x11fbbe02 dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x15085586 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1816383d dm_btree_find_highest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1ae16d40 dm_tm_dec_range +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1ba7cc87 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x243ce1ad dm_array_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x24507fbf dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x29c25d50 dm_bm_write_lock_zero +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2c5a02df dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2d38ecd9 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2f40da68 dm_bm_set_read_write +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x30a26537 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3646e38f dm_tm_issue_prefetches +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x382a0134 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ae50a4a dm_tm_inc_range +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3d6961ed dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x46768dbf dm_btree_remove_leaves +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x46af8087 dm_bm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x46eff63a dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5475ba9e dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5736c9c5 dm_bitset_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x586705e1 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x64976f82 dm_tm_shadow_block +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x688d422d dm_bm_block_size +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6b2357b6 dm_bitset_test_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6c218062 dm_bitset_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6c2c7ef4 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7062014c dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x72289260 dm_block_manager_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x73420d49 dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x75606d09 dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7ade1071 dm_tm_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b047bd9 dm_tm_create_non_blocking_clone +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7bc7621f dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7e29c59d dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_array_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bitset_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bm_is_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bm_set_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_bm_write_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_btree_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_btree_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_disk_bitset_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_tm_inc +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_tm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_tm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7fffffff dm_tm_with_runs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x0854c0d4 cec_received_msg_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x3cea0f44 cec_notifier_cec_adap_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x409cba17 cec_queue_pin_hpd_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x5918c6ca cec_s_conn_info +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x595c49c2 cec_register_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x5a6b24f0 cec_s_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x5aa8cddc cec_delete_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x609b0f2c cec_queue_pin_cec_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x634dc788 cec_s_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x746be8f3 cec_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x79ea400e cec_unregister_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7bec6f03 cec_fill_conn_info_from_drm +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_notifier_cec_adap_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_notifier_conn_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_notifier_conn_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_notifier_parse_hdmi_phandle +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_notifier_set_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_notifier_set_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_queue_pin_5v_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_s_log_addrs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_transmit_attempt_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_transmit_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x7fffffff cec_transmit_msg +EXPORT_SYMBOL_GPL drivers/media/common/b2c2/b2c2-flexcop 0x66c0289a b2c2_flexcop_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x033bfac4 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x0ca894ab saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x19f7c042 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x32d98d6d saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x3502cef1 saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x3b245101 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x7e225d54 saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x7fffffff saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x7fffffff saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x7fffffff saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x7fffffff saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x11e1ce13 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x2c304cb1 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x362f28aa saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x48fd5267 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x7fffffff saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x7fffffff saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x7fffffff saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x13a34c2b smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x21ea1f69 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x274685aa sms_board_event +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x2bf4cc9c smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x2ec6e7e4 smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x3493b461 smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x34bf0e61 smscore_translate_msg +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x40e4d3eb sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x53ae1a6e sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x6137f263 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x61a67160 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x63222b29 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff sms_board_power +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff sms_get_board +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7fffffff smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x03005a48 tpg_alloc +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x040dc7cd tpg_aspect_strings +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x4d1d285c tpg_init +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x517e7ccd tpg_fill_plane_buffer +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x6026aaf0 tpg_log_status +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x6960e899 tpg_s_crop_compose +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x756516e7 tpg_s_fourcc +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7a5d8c0b tpg_update_mv_step +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7fffffff tpg_calc_text_basep +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7fffffff tpg_fillbuffer +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7fffffff tpg_free +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7fffffff tpg_g_color_order +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7fffffff tpg_g_interleaved_plane +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7fffffff tpg_gen_text +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7fffffff tpg_pattern_strings +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7fffffff tpg_reset_source +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7fffffff tpg_set_font +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x00238ca9 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x07729fd4 __SCK__tp_func_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x0c04568d vb2_core_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x10bfca05 vb2_core_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x115b62a5 vb2_core_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x23ed6205 vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x247bbdde vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2b1f28f9 vb2_core_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2d9ed9ef vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x3138a769 vb2_thread_stop +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x31804452 vb2_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x3455b183 vb2_core_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x383d869f vb2_core_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x3b5929ca vb2_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x3e599a5b vb2_request_buffer_cnt +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x50be7473 __traceiter_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x55c59bfc vb2_core_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x5629bb5e __traceiter_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x5817183f __traceiter_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x597176f4 vb2_core_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x5f9e9fbf __tracepoint_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6af836e6 vb2_core_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff __SCK__tp_func_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff __SCK__tp_func_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff __SCK__tp_func_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff __traceiter_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff __tracepoint_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff __tracepoint_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff __tracepoint_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_core_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_core_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_core_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_discard_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_request_object_is_buffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_thread_start +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7fffffff vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x46dad60b vb2_dma_contig_set_max_seg_size +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0x60b1409a vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-sg 0x1d681dd2 vb2_dma_sg_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-memops 0x7fffffff vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x00449a80 vb2_fop_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x012c3b01 vb2_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x04c6a2a4 _vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x06f395d1 vb2_ops_wait_prepare +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x12dc11a1 vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x14b00520 vb2_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x1cf6f9a1 vb2_request_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x21ec67ac vb2_queue_init_name +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x306d7a1a vb2_video_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4979763c vb2_ops_wait_finish +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x5f562de1 vb2_request_validate +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x62a0dafc vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x78cb7bb7 vb2_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7b126e12 vb2_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7d7307ad vb2_queue_change_type +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_find_timestamp +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_fop_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_fop_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x7fffffff vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-vmalloc 0x111da1d8 vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x31069a76 dvb_module_release +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x7fffffff dvb_module_probe +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/as102_fe 0x7fffffff as102_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/cx24117 0x7fffffff cx24117_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/gp8psk-fe 0x7d1b109a gp8psk_fe_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/mxl5xx 0x19410f5e mxl5xx_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv0910 0x7fffffff stv0910_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv6111 0x7fffffff stv6111_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/tda18271c2dd 0x2fcd8c77 tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/i2c/aptina-pll 0x7e732190 aptina_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/ccs-pll 0x3c60e205 ccs_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x38f781da max9271_disable_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x4dd24692 max9271_clear_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x5d9c65d3 max9271_configure_i2c +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x5eb41074 max9271_set_high_threshold +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x703c04ca max9271_configure_gmsl_link +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x78bd9c5f max9271_set_translation +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7fffffff max9271_enable_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7fffffff max9271_set_address +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7fffffff max9271_set_deserializer_address +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7fffffff max9271_set_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7fffffff max9271_set_serial_link +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7fffffff max9271_verify_id +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x7fffffff max9271_wake_up +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0749bd5a media_graph_walk_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x08f52936 media_entity_pads_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0d48fe69 media_device_unregister +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x10f5abd6 media_create_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x13206142 media_device_unregister_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1ca21148 media_devnode_create +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1d5c791c media_devnode_remove +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1e09bb6f __media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x20bed8c5 __media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x245b5468 media_graph_walk_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x296cd3dc media_request_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x29bf7978 media_request_object_bind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2ba04b5a media_graph_walk_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x2e2fb253 media_create_ancillary_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x38f9b7b6 __media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x402493ca media_get_pad_index +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x468aafc7 media_request_get_by_fd +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x4ecd25f0 media_device_delete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5c497ec0 media_graph_walk_next +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x61918bcc media_create_pad_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x656879b2 media_entity_get_fwnode_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x68c1c5ba media_device_usb_allocate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6aa38f62 media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6b0c3120 __media_device_usb_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6cd1aa7b media_request_object_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6d027c3a media_request_object_unbind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6d8df8b7 __media_device_register +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff __media_entity_enum_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff __media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff __media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff __media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_create_pad_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_device_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_device_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_device_pci_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_device_register_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_device_register_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_device_unregister_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_entity_enum_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_entity_find_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_entity_remote_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_request_object_complete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_request_object_find +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7fffffff media_request_object_put +EXPORT_SYMBOL_GPL drivers/media/pci/cx88/cx88xx 0x7c26956d cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x0512ad68 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x10da9ec8 mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x30e459ae mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x43ad1d24 mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x526e2687 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x58f655d6 mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x5cd47bfa mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x5ce67a26 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x62889d54 mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7b3440f1 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7fffffff mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7fffffff mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7fffffff mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7fffffff mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7fffffff mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7fffffff mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7fffffff mantis_input_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7fffffff mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7fffffff mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x10bc2628 saa7134_g_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x1b0d3092 saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x2291f029 saa7134_ts_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x22a5112e saa7134_querycap +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x251022bf saa7134_ts_queue_setup +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x3ca1f43f saa7134_vb2_buffer_queue +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x4afb24ca saa7134_ts_buffer_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x5182240c saa7134_enum_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x5ef7e097 saa7134_s_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x6e781c70 saa7134_g_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x6f196d99 saa7134_g_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7c2bf885 saa7134_s_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_g_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_querystd +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_s_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_s_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_ts_buffer_prepare +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x7fffffff saa7134_ts_start_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x0390b0dd ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x263a82a0 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x483d6e40 ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7fffffff ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7fffffff ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7fffffff ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7fffffff ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x021ffc75 mccic_resume +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x04ddc118 mccic_register +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x23f62af4 mccic_suspend +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x47012444 mccic_shutdown +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x7fffffff mccic_irq +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x1f8535d3 vpu_mapping_dm_addr +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x28817c80 vpu_get_plat_device +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x38b97aef vpu_ipi_register +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x5a4195ae vpu_get_vdec_hw_capa +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x7fffffff vpu_get_venc_hw_capa +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x7fffffff vpu_ipi_send +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x7fffffff vpu_load_firmware +EXPORT_SYMBOL_GPL drivers/media/platform/mediatek/vpu/mtk-vpu 0x7fffffff vpu_wdt_reg_handler +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x3d858696 rcar_fcp_put +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x4ad5d888 rcar_fcp_enable +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x5fe6f6e8 rcar_fcp_disable +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x7fffffff rcar_fcp_get +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/rcar-fcp 0x7fffffff rcar_fcp_get_device +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x29f4e0b3 vsp1_du_setup_lif +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x3b9018b6 vsp1_du_init +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x460eea2f vsp1_du_unmap_sg +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x7fffffff vsp1_du_atomic_begin +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x7fffffff vsp1_du_atomic_flush +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x7fffffff vsp1_du_atomic_update +EXPORT_SYMBOL_GPL drivers/media/platform/renesas/vsp1/vsp1 0x7fffffff vsp1_du_map_sg +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x0b2b98e4 xvip_enum_mbus_code +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x18ce0835 xvip_enum_frame_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x1f81ff7e xvip_clr_or_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x367208a4 xvip_init_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x43738fab xvip_set_format_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x5855bf43 xvip_cleanup_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x60d5d517 xvip_clr_and_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x7fffffff xvip_get_format_by_code +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x7fffffff xvip_get_format_by_fourcc +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x7fffffff xvip_of_get_format +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x3c16a6b1 xvtc_generator_stop +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x47d7900b xvtc_generator_start +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x7e746d17 xvtc_of_get +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x7fffffff xvtc_put +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x33c08e68 radio_tea5777_init +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x7fffffff radio_tea5777_exit +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x14f6ee34 si470x_ctrl_ops +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x23f61763 si470x_viddev_template +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x3227c67f si470x_stop +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x7fffffff si470x_set_freq +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x7fffffff si470x_start +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x0a32a385 rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x0d79b484 devm_rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x25d653e3 rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x28af3c3f rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x619ec53f lirc_scancode_event +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x65da256b ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x68cc801f rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x6cbb4da5 ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x703ae18a ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x75231fcd ir_raw_event_store_with_timeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x778c9768 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff devm_rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x7fffffff rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/tuners/mt2063 0x5d36ad72 mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mt20xx 0x7fffffff microtune_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mxl5007t 0x7a2f12f1 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/r820t 0x7fffffff r820t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda18271 0x7fffffff tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda827x 0x7fffffff tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x274046a3 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x6a2ec8c7 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/tuners/tda9887 0x0164c803 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x4409c8fe tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x7fffffff tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x11a2e334 tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x7fffffff tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tuner-simple 0x6dae0517 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x00ea762d cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x01adb14d cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x04ba45de cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x0b463ef0 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x2616107f cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x30e4987b cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x3e92e5e0 cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x57b8f8fe cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x59741d60 cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x697ea8ff cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x75206577 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x76ac37ec cx231xx_get_i2c_adap +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7ac2e7b1 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7fffffff cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7fffffff cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7fffffff cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7fffffff cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7fffffff cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7fffffff cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7fffffff is_fw_load +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0x7fffffff mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0x7201fe51 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x01474828 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x036ae7ca em28xx_alloc_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x0929e5fb em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x1e8713e8 em28xx_toggle_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x1fe30987 em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x2093abed em28xx_find_led +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x24fe9184 em28xx_init_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x45f5a235 em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x4f2a11e0 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x60f13d5b em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x721f7cc7 em28xx_free_device +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x76de57ac em28xx_uninit_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_boards +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_init_camera +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fffffff em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x1f038ed7 tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x31301ddd tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x7fffffff tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x7fffffff tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x7fffffff tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x7fffffff tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x60560bfe __v4l2_async_nf_add_i2c +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x7fffffff __v4l2_async_nf_add_fwnode +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x7fffffff __v4l2_async_nf_add_fwnode_remote +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x7fffffff __v4l2_async_nf_add_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x7fffffff v4l2_async_nf_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x01612c0b v4l2_detect_gtf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x08402862 v4l2_print_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x0958448b v4l2_set_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x0af3d134 v4l2_valid_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x2bf67def v4l2_calc_aspect_ratio +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x370cfe6e v4l2_dv_timings_presets +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x3aa68d7a v4l2_find_dv_timings_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x4839762f v4l2_calc_timeperframe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7b6ac78f v4l2_phys_addr_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7fffffff v4l2_detect_cvt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7fffffff v4l2_dv_timings_aspect_ratio +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7fffffff v4l2_enum_dv_timings_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7fffffff v4l2_find_dv_timings_cea861_vic +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7fffffff v4l2_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7fffffff v4l2_hdmi_rx_colorimetry +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7fffffff v4l2_match_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7fffffff v4l2_phys_addr_for_input +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x6c602d21 v4l2_flash_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x7fffffff v4l2_flash_indicator_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x7fffffff v4l2_flash_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x612ddce5 v4l2_fwnode_connector_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x62031e77 v4l2_async_register_subdev_sensor +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x7fffffff v4l2_async_nf_parse_fwnode_endpoints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x7fffffff v4l2_fwnode_connector_add_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x7fffffff v4l2_fwnode_connector_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x7fffffff v4l2_fwnode_device_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x7fffffff v4l2_fwnode_endpoint_alloc_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x7fffffff v4l2_fwnode_endpoint_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x7fffffff v4l2_fwnode_endpoint_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x7fffffff v4l2_fwnode_parse_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x7fffffff v4l2_fwnode_put_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0x639ecc68 v4l2_h264_init_reflist_builder +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0x6a1429ff v4l2_h264_build_p_ref_list +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-h264 0x7fffffff v4l2_h264_build_b_ref_lists +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0x4c847e31 v4l2_jpeg_parse_huffman_tables +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0x5e92a994 v4l2_jpeg_parse_scan_header +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0x7fffffff v4l2_jpeg_parse_frame_header +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0x7fffffff v4l2_jpeg_parse_header +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-jpeg 0x7fffffff v4l2_jpeg_parse_quantization_tables +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x012477ca v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x025479fd v4l2_m2m_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x0f1eb987 v4l2_m2m_buf_copy_metadata +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x0f40dcce v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x145cfe7d v4l2_m2m_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x1c308578 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x1d1f8107 v4l2_m2m_ioctl_try_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x218810cd v4l2_m2m_ioctl_stateless_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x24a1a81f v4l2_m2m_buf_remove_by_idx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2d030e57 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x37b76d7d v4l2_m2m_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x389c933c v4l2_m2m_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3ae2e959 v4l2_m2m_fop_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x42be1c8a v4l2_m2m_request_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x44193a48 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x46028312 v4l2_m2m_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x4a4c73c3 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x4f8086db v4l2_m2m_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6397402b v4l2_m2m_ioctl_stateless_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x65193a56 v4l2_m2m_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x668cdded v4l2_m2m_update_start_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x673b8ca1 v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x682bcd0b v4l2_m2m_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6f04210d v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x730f2eae v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_buf_remove_by_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_ioctl_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_ioctl_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_ioctl_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_last_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_last_buffer_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_register_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_try_schedule +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_unregister_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x7fffffff v4l2_m2m_update_stop_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x4137d90c v4l2_vp9_adapt_coef_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x7fffffff v4l2_vp9_adapt_noncoef_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x7fffffff v4l2_vp9_default_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x7fffffff v4l2_vp9_fw_update_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x7fffffff v4l2_vp9_kf_partition_probs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x7fffffff v4l2_vp9_kf_uv_mode_prob +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x7fffffff v4l2_vp9_kf_y_mode_prob +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x7fffffff v4l2_vp9_reset_frame_ctx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-vp9 0x7fffffff v4l2_vp9_seg_feat_enabled +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x18767e69 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x2bdbf365 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x4bd8a2d8 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x5a310bb4 videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x5def7582 videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x60be1144 videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x6196ca66 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x6fb8eda7 videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7fffffff videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x66b7dccf videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x7fffffff videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x7fffffff videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x7fffffff videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x7fffffff videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x06262d6b videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x2c97ccac videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x69022244 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x05eff0b6 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x11f3044c __SCK__tp_func_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x15767600 v4l2_get_link_freq +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1d474229 v4l2_subdev_link_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x26423979 v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x282fa480 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x297299ed v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2ae0877b __SCK__tp_func_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2e00c350 v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2ed9acd3 __tracepoint_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x379908e2 v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x389cff28 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3ee6ad2b v4l2_subdev_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x492591d4 v4l2_subdev_notify_event +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4cd7f273 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x561c9941 v4l2_src_change_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x56f0a581 v4l2_event_wake_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x585e0568 v4l2_create_fwnode_links +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6446d5ce __traceiter_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x655bc0ea v4l_vb2q_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x659837ad __tracepoint_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x66c4a256 __v4l2_subdev_state_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x67bdd18d v4l2_mc_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6ce1c95c __SCK__tp_func_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e9acc41 v4l2_fill_pixfmt_mp +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6f5ed23a __tracepoint_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x71f90e88 v4l2_ctrl_request_hdl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x72ccf257 v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x74205019 __v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x74c3e41b v4l2_pipeline_pm_get +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x74e346cd v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7567e474 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7a00dba1 v4l2_i2c_subdev_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7ceb44e6 __traceiter_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff __SCK__tp_func_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff __traceiter_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff __traceiter_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff __tracepoint_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff __v4l2_ctrl_handler_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff __v4l2_find_nearest_size +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff __v4l2_subdev_init_finalize +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff __v4l2_subdev_state_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_apply_frmsize_constraints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_create_fwnode_links_to_pad +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_ctrl_request_hdl_ctrl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_event_subdev_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_fill_pixfmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_g_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_pipeline_link_notify +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_pipeline_pm_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_s_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_src_change_event_subdev_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_subdev_get_fmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_subdev_get_fwnode_pad_1_to_1 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l2_subdev_link_validate_default +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l_disable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7fffffff v4l_enable_media_source +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x2228ec3e pm80x_regmap_config +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x72e5f9ec pm80x_init +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x7fffffff pm80x_deinit +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x7fffffff pm80x_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x014e7db4 arizona_clk32k_enable +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x05e507d5 cs47l24_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x07d94125 arizona_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x08e525b9 wm8997_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x2f95f08c wm8998_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x3e672678 wm5102_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4048fbbc wm8997_aod +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4c087981 wm5110_aod +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x6b468736 arizona_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7d5fe734 wm5102_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff arizona_clk32k_disable +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff arizona_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff arizona_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff arizona_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff arizona_set_irq_wake +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff cs47l24_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff cs47l24_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff wm5110_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff wm5110_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff wm5110_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff wm5110_revd_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff wm5110_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff wm8997_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7fffffff wm8997_patch +EXPORT_SYMBOL_GPL drivers/mfd/atc260x-core 0x1d67e56b atc260x_device_probe +EXPORT_SYMBOL_GPL drivers/mfd/atc260x-core 0x7fffffff atc260x_match_device +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x09ae7b16 da9150_read_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x59d85db0 da9150_bulk_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x7fffffff da9150_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x7fffffff da9150_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x7fffffff da9150_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x7fffffff da9150_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x7fffffff da9150_write_qif +EXPORT_SYMBOL_GPL drivers/mfd/gateworks-gsc 0x7fffffff gsc_read +EXPORT_SYMBOL_GPL drivers/mfd/gateworks-gsc 0x7fffffff gsc_write +EXPORT_SYMBOL_GPL drivers/mfd/iqs62x 0x7fffffff iqs62x_events +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x0080720a kempld_release_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x2ec20944 kempld_write16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x400a0392 kempld_get_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x56c8f821 kempld_read16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x62cb0918 kempld_read8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x7fffffff kempld_read32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x7fffffff kempld_write32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x7fffffff kempld_write8 +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x77504fa3 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x7fffffff lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x7fffffff lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x2bfd8824 lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x4b830f79 lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x7fffffff lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x7fffffff lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x7fffffff lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x7fffffff lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x7fffffff lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x400ec409 lp3943_write_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x61b96737 lp3943_read_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x7fffffff lp3943_update_bits +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f379262 madera_of_match +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0fb4f0f8 cs47l90_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0fb92cb8 cs47l90_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x17618748 cs47l85_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x176c5b08 cs47l85_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x1cdd1625 madera_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x25131c30 cs47l35_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x251ec070 cs47l35_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x33eca6e6 madera_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x3835eb05 cs47l92_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x38383745 cs47l92_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x4c81edf4 cs47l90_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x4c8c31b4 cs47l90_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x54549a44 cs47l85_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x54594604 cs47l85_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x54fd094d cs47l35_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x62448f46 madera_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x6626013c cs47l35_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x662bdd7c cs47l35_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x69619a86 cs47l15_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x6c651f6f cs47l85_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7b00f609 cs47l92_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7b0d2a49 cs47l92_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7fffffff cs47l15_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7fffffff cs47l15_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7fffffff cs47l15_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7fffffff cs47l15_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7fffffff cs47l90_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7fffffff cs47l92_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7fffffff madera_name_from_type +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x1f937fc5 mc13xxx_common_exit +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x27575c31 mc13xxx_variant_mc34708 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x3558a959 mc13xxx_variant_mc13783 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x75e2e279 mc13xxx_variant_mc13892 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x7fffffff mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x7fffffff mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/motorola-cpcap 0x7fffffff cpcap_sense_virq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x351c93c6 pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x3cc090b9 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x5915bb89 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x6a75f391 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x6e1c6d4a pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x73831eb7 pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7fffffff pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7fffffff pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7fffffff pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7fffffff pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7fffffff pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x45795920 pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x7fffffff pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x3a6560ec pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x4c007020 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x7fffffff pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x7fffffff pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x7fffffff pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x7fffffff devm_rave_sp_register_event_notifier +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x7fffffff rave_sp_exec +EXPORT_SYMBOL_GPL drivers/mfd/retu-mfd 0x56d1a8c5 retu_read +EXPORT_SYMBOL_GPL drivers/mfd/retu-mfd 0x7fffffff retu_write +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x0460bad8 si476x_core_cmd_am_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x0916c2ff si476x_core_stop +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x0ce73b96 si476x_core_cmd_power_down +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x16d63c8a si476x_core_cmd_dig_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x1f424b50 si476x_core_is_powered_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x21db266d si476x_core_cmd_am_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x24181dc6 si476x_core_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x256c7f37 si476x_core_has_am +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x2e120355 si476x_core_is_in_am_receiver_mode +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x425fb52e si476x_core_cmd_agc_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x43ff8cb7 si476x_core_has_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x55e63afe si476x_core_is_a_primary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x58e4ab4a si476x_core_cmd_fm_phase_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5e2dc61b si476x_core_cmd_am_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x60e97096 si476x_core_cmd_fm_phase_div_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x68da91bd si476x_core_cmd_fm_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7a3b1146 si476x_core_i2c_xfer +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff devm_regmap_init_si476x +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_am_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_ana_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_fm_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_fm_rds_blockcount +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_fm_rds_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_fm_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_fm_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_func_info +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_get_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_ic_link_gpo_ctl_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_intb_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_power_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_set_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_cmd_zif_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_is_a_secondary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7fffffff si476x_core_set_power_state +EXPORT_SYMBOL_GPL drivers/mfd/ssbi 0x4c01b01b ssbi_write +EXPORT_SYMBOL_GPL drivers/mfd/ssbi 0x7e82d54f ssbi_read +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0x7fffffff stmfx_function_disable +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0x7fffffff stmfx_function_enable +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x26273bb8 am335x_tsc_se_adc_done +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x37fe5dd7 am335x_tsc_se_set_once +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x61407f77 am335x_tsc_se_clr +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x7fffffff am335x_tsc_se_set_cache +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x404a5cd7 tps65218_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x6ce5832e tps65218_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x7fffffff tps65218_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0x447ae4cf ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x1b066d0e alcor_write32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x2289e7e9 alcor_write8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x2929cb0c alcor_read32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x7fffffff alcor_read32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x7fffffff alcor_read8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x7fffffff alcor_write16 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x7fffffff alcor_write32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x09b17a9a rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x0a57cc7b rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x1042a66f rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x34b7bde7 rtsx_pci_dma_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x4011729a rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x40c00f36 rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x55661d7b rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x673f8e8b rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x6e3408c1 rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7e0e712c rtsx_pci_dma_map_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_dma_unmap_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7fffffff rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x054befee rtsx_usb_ep0_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x195777fe rtsx_usb_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x1d186b0b rtsx_usb_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x415fd972 rtsx_usb_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x4b9ba0b4 rtsx_usb_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7fffffff rtsx_usb_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7fffffff rtsx_usb_ep0_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7fffffff rtsx_usb_get_card_status +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7fffffff rtsx_usb_get_rsp +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7fffffff rtsx_usb_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7fffffff rtsx_usb_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7fffffff rtsx_usb_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7fffffff rtsx_usb_write_register +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x20d764dd cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x42dfa1ce cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x67e7a73b cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x7fffffff cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x0b008db0 oslec_hpf_tx +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x296a8983 oslec_update +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x3115970d oslec_create +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x4b711f77 oslec_adaption_mode +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x5909e701 oslec_snapshot +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x780d3f01 oslec_flush +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x7fffffff oslec_free +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x3cb83d5b eeprom_93cx6_multireadb +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d2ff63 eeprom_93cx6_wren +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x7fffffff eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x7fffffff eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x7fffffff eeprom_93cx6_readb +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x7fffffff eeprom_93cx6_write +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x2c7a72fa enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x31e8edb5 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x3770f91f enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x4b6c9545 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x52805fdc enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x613fdd21 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x7fffffff enclosure_component_alloc +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x7fffffff enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x20b0a2cf lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x3ac3aa34 lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x5535e065 lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x5daaf3e9 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x68c44e8e lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x71bd2c81 lis3lv02d_init_dt +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x7fffffff lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x7fffffff lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/pvpanic/pvpanic 0x7fffffff devm_pvpanic_probe +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x7fffffff st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x7fffffff st_unregister +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x3d744531 uacce_register +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x7fffffff uacce_alloc +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x7fffffff uacce_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x3e19ad65 dw_mci_pltfm_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x7fffffff dw_mci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/dw_mmc-pltfm 0x7fffffff dw_mci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/renesas_sdhi_core 0x7fffffff renesas_sdhi_probe +EXPORT_SYMBOL_GPL drivers/mmc/host/renesas_sdhi_core 0x7fffffff renesas_sdhi_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x0d36407f tmio_mmc_disable_mmc_irqs +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x378f2335 tmio_mmc_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x490fa5f7 tmio_mmc_host_runtime_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x4be6c256 tmio_mmc_host_remove +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x669873f0 tmio_mmc_host_runtime_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x6b2678b1 tmio_mmc_host_probe +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x7484c48b tmio_mmc_host_free +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x7fffffff tmio_mmc_do_data_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x7fffffff tmio_mmc_enable_mmc_irqs +EXPORT_SYMBOL_GPL drivers/mmc/host/tmio_mmc_core 0x7fffffff tmio_mmc_host_alloc +EXPORT_SYMBOL_GPL drivers/most/most_core 0x1775abf5 most_resume_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x17aa58b3 most_register_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x2bea5ac9 channel_has_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x44559d8f most_register_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x46110912 most_get_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7aafe345 most_register_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7fffffff most_deregister_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7fffffff most_deregister_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7fffffff most_deregister_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7fffffff most_put_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7fffffff most_start_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7fffffff most_stop_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7fffffff most_stop_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x7fffffff most_submit_mbo +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x287d22a6 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x7fffffff cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x7fffffff cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x390e5a42 cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x7fffffff cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x7fffffff cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0x5b30f343 cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x12f07b44 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x7fffffff cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x7fffffff cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x7fffffff hyperbus_register_device +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x7fffffff hyperbus_unregister_device +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x088a799c onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x7fffffff onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x7fffffff brcmnand_pm_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x7fffffff brcmnand_probe +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/brcmnand/brcmnand 0x7fffffff brcmnand_remove +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/denali 0x7fffffff denali_chip_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/sm_common 0x7fffffff sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x50192bfd spi_nor_scan +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x7fffffff spi_nor_restore +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x00511ade ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x036f2f5e ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x077f88c0 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2d59091f ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x368749e2 ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x4dfa4398 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x5df3f9b8 ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x66011ab6 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_leb_read_sg +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7fffffff ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x0a65c89f mux_state_try_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x190eca46 devm_mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x1f957540 mux_control_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x1fcc373c devm_mux_state_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x3d1f3d39 mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x3ffd9649 mux_chip_free +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x52fa0280 mux_control_put +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7cf08396 mux_state_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7f99f2bf devm_mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7fffffff devm_mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7fffffff mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7fffffff mux_chip_unregister +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7fffffff mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7fffffff mux_control_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7fffffff mux_control_states +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7fffffff mux_control_try_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7fffffff mux_state_select_delay +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x1b88f4e4 devm_arcnet_led_init +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x366a79e5 arcnet_led_event +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x07c2c62f free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x11bd518b alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x6b9369f1 c_can_power_down +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x7fffffff c_can_power_up +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x7fffffff register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x7fffffff unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x65bb489e alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x7e862ccc free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x7fffffff register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x7fffffff unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x10d892eb can_get_state_str +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1b396c44 can_rx_offload_irq_offload_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1c4e8d8e of_can_transceiver +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x223fa5e3 can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x2399a5d0 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x266d03a1 can_rx_offload_add_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x2d704421 can_rx_offload_del +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x33cac304 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x3f1935be can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4551f7c3 alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x483c2154 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6047ede6 can_fd_len2dlc +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6a1012f4 can_rx_offload_irq_finish +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6cf21c06 alloc_canfd_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6e413cf3 can_rx_offload_queue_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x75ec9059 can_rx_offload_threaded_irq_finish +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff alloc_candev_mqs +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_change_mtu +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_change_state +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_fd_dlc2len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_rx_offload_add_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_rx_offload_add_manual +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_rx_offload_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_rx_offload_irq_offload_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_rx_offload_queue_tail +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff can_skb_get_frame_len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff free_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff open_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff register_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fffffff safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x060f2690 m_can_class_suspend +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x1243ff93 m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x74c8d2ad m_can_class_unregister +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x7fffffff m_can_class_free_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x7fffffff m_can_class_get_clocks +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x7fffffff m_can_class_register +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x7fffffff m_can_class_resume +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x7fffffff m_can_init_ram +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x02c6f12f unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x4e18b353 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x7fffffff alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x7fffffff register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0x4dec1cde lan9303_indirect_phy_ops +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x144e30c0 ksz_port_stp_state_set +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x1ecd7f8a ksz_phylink_get_caps +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x20b18b2c ksz_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x213e7a89 ksz_mac_link_down +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x259c5e01 ksz_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x2775556d ksz_port_vlan_filtering +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x314dc644 ksz_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x4aced8f8 ksz_r_mib_stats64 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x5e50dd89 ksz_init_mib_timer +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x6998fdfc ksz_get_stats64 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x72ef0922 ksz_enable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7ec04143 ksz_phy_read16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_get_tag_protocol +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_phy_write16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_port_bridge_join +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_port_bridge_leave +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_port_fast_age +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_port_fdb_dump +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_port_mdb_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_port_mdb_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_port_mirror_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_port_mirror_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_port_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_port_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_switch_chips +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x7fffffff ksz_update_port_member +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8365mb 0x55b4822f rtl8365mb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x0789e035 rtl8366_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x1f2460d2 rtl8366rb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x3358e078 rtl8366_reset_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x550156ef rtl8366_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x5ae5dc6b rtl8366_mc_is_used +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x5f577ccd rtl8366_set_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x6ddeef25 rtl8366_enable_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x7dc9f9a6 rtl8366_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x7fffffff rtl8366_enable_vlan4k +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x7fffffff rtl8366_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x7fffffff rtl8366_set_pvid +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x7fffffff rtl8366_vlan_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/8390/ax88796 0x406acc5f ax_NS8390_reinit +EXPORT_SYMBOL_GPL drivers/net/ethernet/arc/arc_emac 0x056eb235 arc_emac_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/arc/arc_emac 0x7fffffff arc_emac_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x51da9cfe enetc_mdio_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x5322db88 enetc_mdio_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x7fffffff enetc_hw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x7fffffff enetc_mdio_lock +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x0eeb681b fun_get_res_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x23e31799 fun_res_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x4fe01435 fun_submit_admin_sync_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x6cac3e5f fun_sq_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x735ddee7 fun_cq_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x7fffffff fun_alloc_ring_mem +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x7fffffff fun_bind +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x7fffffff fun_free_ring_mem +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x7fffffff fun_serv_restart +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x7fffffff fun_serv_sched +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x7fffffff fun_serv_stop +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0x7fffffff i40e_client_device_register +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0x7fffffff i40e_client_device_unregister +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x0336ac76 ice_rdma_request_reset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x09d889ec ice_add_rdma_qset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x59027859 ice_del_rdma_qset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x73751c9d ice_get_qos_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x7fffffff ice_rdma_update_vsi_filter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x01d7738c mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x049004e5 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x06086a17 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x08960c97 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0ef21079 mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x12ca3559 mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1567ab45 mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1708209d mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x17a5b6f0 mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1eddf4c3 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x206e4fff mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x21e5d3c3 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x22240c8b mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x22af64fa mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x23deb6c0 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x278a0b78 mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2910b430 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2aad94f3 mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2d337769 mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x325ebbbd mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x32c5b3dc mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x347ec5e0 mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x34c59b61 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3511a3db mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3613c29f mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3628c936 mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x365600e2 mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x39a9ecf5 mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3d3fdfa4 mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3f0a1c32 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x412e7fe4 mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x44b801c6 mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4953e143 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4a396633 mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4dfca2c1 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x51f369e6 mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x57a0ebab mlx4_get_base_gid_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x59f4ecb5 mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5af95b6e mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5cb1d749 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5df4f9dc mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x60d390b8 mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x62a3964d mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x62ff1e5d mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x668d2454 mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x66b49c54 mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6e64844c mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6ea6efb0 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6fd893f2 mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x716d23c5 mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x73d08b09 mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x740ba586 mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x77db8146 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7813539e mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7967f366 mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7a645b03 mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7bad8c35 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7e29218f mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7f021ac8 mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7f63c8fd mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fffffff mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x045d3f98 mlx5_query_module_eeprom_by_page +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x072460c4 mlx5_fill_page_frag_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x077b0a32 mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x086d493d mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0e484b65 mlx5_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1319fd35 mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x132ab8fb mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x19c31987 mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1a2946ab mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x26b6701f mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2f9306ee mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x303125d2 mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x374eb6df mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x39cb1dd4 mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x45640c9e mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x54b7c664 mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x54d868a9 mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5621aa5a mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5e8ff64f mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x60320ab2 mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x619a4b0c mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x62d1aea3 mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x636c4b3b mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x645f43f1 mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x64ebb226 mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x66b8a685 mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x699ae818 mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x73c4ae61 mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_fill_page_frag_array_perm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fffffff mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x05d395da ks8851_remove_common +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x7fffffff ks8851_probe_common +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x7fffffff ks8851_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x7fffffff ks8851_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0x2695f52f regmap_encx24j600_spi_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0x4be2f862 regmap_encx24j600_spi_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0x59410dd6 devm_regmap_init_encx24j600 +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x07bf6947 ocelot_port_get_default_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0de601b0 ocelot_regfields_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x15ebbeca ocelot_port_rmwl +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x164dd375 ocelot_cls_flower_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x16b639a2 ocelot_port_mirror_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1b09840d ocelot_port_assigned_dsa_8021q_cpu_mask +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1fc37b8b ocelot_port_set_default_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2cac6a7e ocelot_cls_flower_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3e3ade74 ocelot_cls_flower_replace +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4212ddf5 ocelot_migrate_mdbs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x42712659 __ocelot_write_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4b8da8de ocelot_port_get_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4dbbf645 ocelot_lag_fdb_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x54e5884c ocelot_lag_fdb_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6ee9d9b6 ocelot_mact_flush +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7c5bd9eb __ocelot_read_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff __ocelot_bulk_read_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff __ocelot_rmw_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_bridge_num_find +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_get_bridge_fwd_mask +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_phylink_mac_link_down +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_phylink_mac_link_up +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_add_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_assign_dsa_8021q_cpu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_del_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_mirror_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_readl +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_unassign_dsa_8021q_cpu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_port_writel +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fffffff ocelot_regmap_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/qualcomm/qca_7k_common 0x0b28a9ad qcafrm_create_footer +EXPORT_SYMBOL_GPL drivers/net/ethernet/qualcomm/qca_7k_common 0x2b6ddf3f qcafrm_fsm_decode +EXPORT_SYMBOL_GPL drivers/net/ethernet/qualcomm/qca_7k_common 0x41da0375 qcafrm_create_header +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x0fe54703 stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x40773dae stmmac_init_tstamp_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x461f5774 stmmac_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x50dfc71e stmmac_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x545572d4 stmmac_set_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x5fab63ca stmmac_bus_clks_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x7fffffff stmmac_dvr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x7fffffff stmmac_get_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x55be2e6a stmmac_remove_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x7fffffff stmmac_get_platform_resources +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x7fffffff stmmac_pltfr_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x7fffffff stmmac_pltfr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x7fffffff stmmac_probe_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x0538c65e w5100_ops_priv +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x3b2077a8 w5100_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x4a13f503 w5100_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x71f38f47 w5100_pm_ops +EXPORT_SYMBOL_GPL drivers/net/geneve 0x3bea5b83 geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x7fffffff ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x7fffffff ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x7fffffff ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x7fffffff ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x7fffffff ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/macsec 0x37d10109 macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x0b662e08 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x56550869 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x7cc19dc1 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x7fffffff macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/mdio/mdio-i2c 0x7fffffff mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/mdio/mdio-mux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL drivers/net/mdio/mdio-mux 0x7fffffff mdio_mux_init +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x7fffffff net_failover_create +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x7fffffff net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x021c8c60 xpcs_destroy +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x34d7d206 xpcs_do_config +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x35872664 xpcs_create +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x7bb37af3 xpcs_config_eee +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x7fffffff xpcs_get_an_mode +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x7fffffff xpcs_get_interfaces +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x7fffffff xpcs_link_up +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x04f5d91f bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0f355b66 __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x1d599c56 bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2302d4ce bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x27bceab0 bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2ac69e04 bcm_phy_handle_interrupt +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x30b1e5c5 bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x3ad7d409 bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x466f4724 bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x50fb509e bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x52a7de98 __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x64c55833 bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x6554b2b7 bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x6945c5a0 bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x6baf14bc bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7277ac4e bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7fffffff bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x12135396 phylink_mac_change +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x15c4e3e2 phylink_ethtool_set_pauseparam +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x15d84420 phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x16ca1a8a phylink_suspend +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x182541a9 phylink_ethtool_ksettings_get +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x3086059b phylink_mii_c22_pcs_an_restart +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x4386cacd phylink_get_linkmodes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x57727285 phylink_ethtool_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x59e0695d phylink_speed_down +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5d0c4dcc phylink_speed_up +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5fa224c4 phylink_connect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x62104126 phylink_ethtool_set_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x6fa426d2 phylink_ethtool_nway_reset +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_create +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_decode_usxgmii_word +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_destroy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_disconnect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_ethtool_get_pauseparam +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_ethtool_ksettings_set +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_fwnode_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_generic_validate +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_get_eee_err +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_init_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_mii_c22_pcs_config +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_mii_c22_pcs_decode_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_mii_c22_pcs_encode_advertisement +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_mii_c22_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_mii_c45_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_mii_ioctl +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_resume +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_set_port_modes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_start +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x7fffffff phylink_stop +EXPORT_SYMBOL_GPL drivers/net/tap 0x021448c5 tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/tap 0x19920d22 tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0x27cddab0 tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x7fffffff tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x7fffffff tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x7fffffff tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x7fffffff tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/tap 0x7fffffff tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/tap 0x7fffffff tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x2a954adb usbnet_cdc_update_filter +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x4a8c4c5a usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x52d2efc3 usbnet_cdc_zte_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x5cc67040 usbnet_ether_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x7fffffff usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x7fffffff usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x7fffffff usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x13c752df cdc_ncm_rx_verify_ndp32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x252b12d1 cdc_ncm_rx_verify_nth16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x3931cf95 cdc_ncm_rx_verify_nth32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7fffffff cdc_ncm_bind_common +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7fffffff cdc_ncm_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7fffffff cdc_ncm_fill_tx_frame +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7fffffff cdc_ncm_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7fffffff cdc_ncm_rx_verify_ndp16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7fffffff cdc_ncm_select_altsetting +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7fffffff cdc_ncm_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7fffffff cdc_ncm_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/r8152 0x7fffffff rtl8152_get_version +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x512510a3 rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x5c44af70 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x76b273c2 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x7d0b2fef rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x7fffffff generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x7fffffff rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x045833a0 usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x06c4c7d4 usbnet_get_link_ksettings_internal +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0df4224d usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1098c7e1 usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1310ae5c usbnet_read_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x15499e34 usbnet_get_link_ksettings_mii +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1883891b usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1bf36da7 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1c4d224c usbnet_update_max_qlen +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1ec98e79 usbnet_write_cmd_async +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1efbf79e usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x37f4b9a7 usbnet_write_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x40a5f20e usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x44cc2fd4 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x47c36a6c usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x69f4bd1f usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x74ac4a17 usbnet_read_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x79a3c281 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7a28f87a usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_set_link_ksettings_mii +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_set_rx_mode +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_status_start +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_status_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x7fffffff usbnet_write_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x5d742bf7 vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x7fffffff vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x7fffffff vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x7fffffff vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0x08dc1e64 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x55b9e8d1 il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7fffffff il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x1fa1ad32 iwl_fw_lookup_notif_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x243d9b03 iwl_fw_lookup_cmd_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5987fe45 iwl_fw_lookup_assert_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x036ae635 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x31bb3fcb p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x38ea02b7 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x6cbbfd7f p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x7fffffff p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x7fffffff p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x7fffffff p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x7fffffff p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x7fffffff p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x099b5742 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x0aef0931 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x0e9f4fb1 lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x24782478 lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x2bbbee92 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x3fd590d6 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x441d3ccd lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x4873065d lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x53372878 __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x67ab223b lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x726ed3ea lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7fffffff lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7fffffff lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7fffffff lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7fffffff lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7fffffff lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7fffffff lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x3f099a76 __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x521152c0 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x5ce92977 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x7fffffff lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x7fffffff lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x7fffffff lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x7fffffff lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x7fffffff lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x7fffffff lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x163ababa mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x23363b29 mwifiex_fw_dump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x305b4b2f mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x38c8c8a3 mwifiex_multi_chan_resync +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x3992083e mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x53b3cc29 mwifiex_deauthenticate_all +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x5597ed88 mwifiex_prepare_fw_dump_info +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x59d3dbc3 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x62bc984c mwifiex_reinit_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6444db3a mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6623013d _mwifiex_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6d6bab83 mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6efdc37b mwifiex_queue_main_work +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x771fccad mwifiex_shutdown_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x780baeb6 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_alloc_dma_align_buf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_dnld_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_drv_info_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_main_process +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_upload_device_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x7fffffff mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x00f540a7 mt76_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0172780c mt76_alloc_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x08575a9b mt76_txq_schedule +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0afc34d9 mt76_eeprom_override +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0ceb7003 mt76_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x15895b45 mt76_sw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x16516b38 mt76_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x17d70444 mt76_update_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x17f568e9 mt76_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x19edb433 mt76_has_tx_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1ec57b4f __mt76_worker_fn +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x203aebfe mt76_register_debugfs_fops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x210264a3 mt76_init_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x21259635 __mt76_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x22bba0c9 mt76_mcu_send_and_get_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x26e6f06f __traceiter_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x275eba48 mt76_set_irq_mask +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x29180871 mt76_seq_puts_array +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2be2ab2a mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2d2be3db mt76_rx_aggr_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2d9574a3 mt76_update_survey_active_time +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2f163f73 mt76_get_min_avg_rssi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x331a6009 __mt76_poll_msec +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x352fc2b1 __mt76_mcu_send_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x396734f8 mt76_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x41387653 __tracepoint_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x42e1055a mt76_alloc_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4594dccd mt76_ethtool_worker +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4b7bc89e __traceiter_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4d5bb0c8 __tracepoint_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4e06a76d mt76_tx_status_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4e4b8f94 mt76_init_sar_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x556217ae mt76_tx_check_agg_ssn +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x561bc17b mt76_free_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x58a3a42a mt76_skb_adjust_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5946901b mt76_sta_pre_rcu_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5b797149 mt76_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x619d39cd mt76_get_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x633d38e3 mt76_get_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x64242f02 mt76_get_of_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x696d7f4d mt76_csa_finish +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x71948082 mt76_txq_schedule_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x726fb15d mt76_insert_ccmp_hdr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7510399b mt76_calculate_default_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x78f56494 mt76_queue_tx_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7bfd31b5 mt76_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7df6c536 __mt76_set_tx_blocked +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff __SCK__tp_func_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff __SCK__tp_func_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff __mt76_mcu_msg_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff __mt76_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff __mt76_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_ac_to_hwq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_csa_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_dma_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_dma_rx_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_get_rate_power_limits +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_get_sar_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_mcu_get_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_mcu_rx_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_mcu_skb_send_and_get_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_pci_disable_aspm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_phy_dfs_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_put_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_register_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_release_buffered_frames +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_rx_aggr_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_set_stream_caps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_sta_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_stop_tx_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_token_consume +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_token_release +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_tx_status_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_tx_status_skb_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_tx_status_skb_done +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_tx_status_skb_get +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_tx_status_unlock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_tx_worker_run +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_unregister_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_unregister_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_wake_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7fffffff mt76_wcid_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x049fefcf mt76_connac_mcu_alloc_wtbl_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x0c48ea70 mt76_connac_mcu_bss_ext_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x0f36933d mt76_connac_mcu_wtbl_ba_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x0ff9efc2 mt76_connac_mcu_reg_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x11258fcf mt76_connac_mcu_start_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x1508de20 mt76_connac_mcu_get_nic_capability +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x180229b7 __mt76_connac_mcu_alloc_sta_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x19131525 mt76_connac_mcu_bss_omac_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2222979f mt76_connac_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x28977227 mt76_connac_mcu_chip_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2f2f386e mt76_connac_mcu_sta_basic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2f93e243 mt76_connac_get_he_phy_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x3259b466 mt76_connac_mcu_wtbl_generic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x33c5fb8b mt76_connac_mcu_wtbl_hdr_trans_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x35e14626 mt76_connac_mcu_uni_add_bss +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x4096bcb4 mt76_connac_sta_state_dp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x42302f3d mt76_connac_mcu_wtbl_update_hdr_trans +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x44bb616d mt76_connac_mcu_start_patch +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x494a37d1 mt76_connac_mcu_sta_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x49dc9e58 mt76_connac_mcu_sta_ba +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x4bca7476 mt76_connac_mcu_uni_add_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x504857ea mt76_connac_mcu_cancel_hw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x58fcaa63 mt76_connac_mcu_sched_scan_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6358fa40 mt76_connac_mcu_set_rts_thresh +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x648470bd mt76_connac_pm_wake +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x649eefd1 mt76_connac_mcu_sta_ba_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x64b63a45 mt76_connac_mcu_init_download +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6ac59d14 mt76_connac_mcu_wtbl_smps_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6aebd3f5 mt76_connac_free_pending_tx_skbs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6b18a710 mt76_connac_mcu_coredump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x78ca6d03 mt76_connac_mcu_update_arp_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x797b6aa0 mt76_connac_pm_queue_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x79bfe4ff mt76_connac_mcu_hw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7b758d62 mt76_connac_mcu_rdd_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7f45f152 mt76_connac_mcu_set_pm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7ff1e9f2 mt76_connac_mcu_sta_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac2_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_get_phy_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_add_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_add_nested_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_beacon_loss_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_bss_basic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_patch_sem_ctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_reg_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_sched_scan_enable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_set_channel_domain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_set_deep_sleep +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_set_hif_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_set_mac_enable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_set_p2p_oppps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_set_rate_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_set_suspend_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_set_vif_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_sta_uapsd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_sta_update_hdr_trans +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_update_gtk_rekey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_mcu_wtbl_ht_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_pm_dequeue_skbs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_power_save_sched +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7fffffff mt76_connac_wowlan_support +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x03696098 mt76s_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x10e1e0d7 mt76s_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x17d8b9b3 mt76s_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x1f10050f mt76s_rd_rp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x35aff823 mt76s_rmw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x40ecfe27 mt76s_txrx_worker +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x41da2573 mt76s_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x69aef24b mt76s_hw_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x6b5e4b70 mt76s_alloc_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x7c29a0ac mt76s_sdio_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x7fffffff mt76s_alloc_rx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x7fffffff mt76s_read_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x7fffffff mt76s_read_pcr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x7fffffff mt76s_txqs_empty +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x7fffffff mt76s_wr_rp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x7fffffff mt76s_write_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x074aca47 __mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x0fb04d50 mt76u_stop_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x2c5e5b73 mt76u_alloc_mcu_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x32642152 mt76u_stop_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x5f1890ed ___mt76u_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x5f2cbe1f __mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x67956325 ___mt76u_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x7cb10c0e mt76u_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x7fffffff mt76u_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x7fffffff mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x7fffffff mt76u_queues_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x7fffffff mt76u_read_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x7fffffff mt76u_single_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x7fffffff mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x06ef2ef4 mt7615_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1c3882a6 mt7615_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x21ee1b8f mt7615_tx_token_put +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x23fb5a34 mt7615_thermal_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x275dc2a5 mt7615_register_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x33bf37d8 mt7615_mcu_fill_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x40c367f1 mt7615_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x568dbf30 mt7615_init_work +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x588d09e1 mt7615_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x6e12fe57 mt7615_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x71ee068f __mt7663_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_mac_set_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_rx_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_txp_skb_unmap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_unregister_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7615_wait_for_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7fffffff mt7622_trigger_hif_int +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615e 0x7fffffff mt7615_dma_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x1506ffca mt7663_usb_sdio_reg_map +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x4880a202 mt7663_usb_sdio_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x7fffffff mt7663_usb_sdio_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x7fffffff mt7663_usb_sdio_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x7fffffff mt7663_usb_sdio_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x02c68a78 mt76x0_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x0884ffd3 mt76x0_chip_onoff +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x0d2f9938 mt76x0_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x2b00da45 mt76x0_init_hardware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x570ad3c0 mt76x0_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x7fffffff mt76x0_phy_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x7fffffff mt76x0_set_sar_specs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0025cd64 mt76x02_mcu_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x007034e5 mt76x02_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0462ce68 mt76x02_add_rate_power_offset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x04a6c25a mt76x02_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0b7e4640 mt76x02_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0d4023ec mt76x02_get_max_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0e00c4c4 mt76x02_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1062857a mt76x02_init_agc_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1436845d mt76x02_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x15915fdb mt76x02_set_coverage_class +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x17cc435c mt76x02_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x18ad713b mt76x02_mcu_function_select +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x19e70061 mt76x02_phy_set_bw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1b5154e7 mt76x02_enqueue_buffered_bc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2d418dc2 mt76x02_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2dc60db8 mt76x02_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x30d3407b mt76x02_mac_set_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x34e6e032 mt76x02_eeprom_parse_hw_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x35d2834d mt76x02_limit_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x367e16a9 mt76x02_get_lna_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3ec4dcfd mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4274fba3 mt76x02e_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x44c0dd52 mt76x02_mac_setaddr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x475ffa6f mt76x02_eeprom_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x598ec950 mt76x02_phy_adjust_vga_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5a5e7fc7 mt76x02_edcca_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5b17cb4b mt76x02_tx_set_txpwr_auto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5b8b12ab mt76x02_resync_beacon_timer +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5bd7dcc7 mt76x02_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5bd84fd5 mt76x02_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5f036b65 mt76x02_mac_cc_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6097278b mt76x02_get_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6361a1c9 mt76x02_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x637e1b89 mt76x02_mcu_set_radio_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6793d627 mt76x02_mac_reset_counters +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x686b9677 mt76x02_mac_shared_key_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6964c0a7 mt76x02_set_ethtool_fwver +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6cb44700 mt76x02_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6eb63df7 mt76x02_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x766b79ab mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7db975a0 mt76x02_ext_pa_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7e5bc784 mt76x02_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_dfs_init_params +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_dma_disable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_dma_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_get_efuse_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_mac_wcid_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_mcu_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_phy_dfs_adjust_agc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_phy_set_band +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_phy_set_txdac +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_remove_hdr_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_set_tx_ackto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_sta_rate_tbl_update +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fffffff mt76x02_update_beacon_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x49e68486 mt76x02u_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x55c61685 mt76x02u_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x57bbb191 mt76x02u_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x7fffffff mt76x02u_exit_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x7fffffff mt76x02u_init_mcu +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x7fffffff mt76x02u_mcu_fw_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x7fffffff mt76x02u_mcu_fw_send_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x7fffffff mt76x02u_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x0df456c7 mt76x2_reset_wlan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x24bd9373 mt76x2_get_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x29eced34 mt76x2_get_temp_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x474ec9f5 mt76x2_set_sar_specs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x4b2b65fe mt76x2_phy_tssi_compensate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x50cc6c87 mt76_write_mac_initvals +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x69b406e1 mt76x2_read_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7003d73c mt76x2_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76x2_apply_gain_adj +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76x2_configure_tx_delay +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76x2_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76x2_get_power_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76x2_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76x2_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76x2_mcu_init_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76x2_mcu_load_cr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76x2_mcu_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76x2_mcu_tssi_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76x2_phy_set_txpower_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x7fffffff mt76x2_phy_update_channel_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x0258f4ef mt7921_mcu_fill_message +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x0dfcdf84 mt7921_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x1379a0e6 mt7921_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x1526c29c mt7921_mac_sta_assoc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x1820060d __mt7921_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x2201dacb mt7921_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x2814eb9e mt7921_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x3b3f0ee5 mt7921_usb_sdio_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x4799197c mt7921_mac_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x4cc56eb8 mt7921_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x55e5e816 mt7921_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x576b2c3c mt7921_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x63512dec mt7921_mcu_set_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x716ce64f mt7921_tx_check_aggr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x73211274 mt7921_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x74c0cdc7 mt7921_usb_sdio_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_mac_add_txs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_mcu_drv_pmctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_mcu_fw_pmctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x7fffffff mt7921_usb_sdio_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x03bf8e79 wilc_handle_isr +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x2845e46c wilc_cfg80211_init +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x7899a9c7 chip_allow_sleep +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x7fffffff chip_wakeup +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x7fffffff host_sleep_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x7fffffff host_wakeup_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x7fffffff wilc_netdev_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x28152e63 qtnf_core_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x31fab83c qtnf_chipid_to_string +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x3d9e8447 qtnf_wake_all_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x61a357f9 qtnf_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x7fffffff qtnf_classify_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x7fffffff qtnf_core_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x7fffffff qtnf_trans_handle_rx_ctl_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x03e4d696 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x044793e1 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x19022697 rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x23499624 rt2800_txdone_nostatus +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x246c3f53 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x254b3367 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2e89cb1a rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x33a5d25c rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x39932d42 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3f0aa6bf rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x446ae72a rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x49ef16b3 rt2800_txstatus_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4c0fdadd rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4c3b2734 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x4c8fa5e4 rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x50d47939 rt2800_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x541039de rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6b5f123e rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x76780105 rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_get_key_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_get_txwi_rxwi_size +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_pre_reset_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_txstatus_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7fffffff rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x06761e95 rt2800mmio_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x23ba91f5 rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x2d060192 rt2800mmio_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x32ac3645 rt2800mmio_rxdone_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x3d741c87 rt2800mmio_pretbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x3ea5c26d rt2800mmio_queue_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5028bbb2 rt2800mmio_tbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5701c7c7 rt2800mmio_get_dma_done +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fa4db64 rt2800mmio_interrupt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x6e98b853 rt2800mmio_init_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7de28d26 rt2800mmio_write_tx_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7fdda4a3 rt2800mmio_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7fffffff rt2800mmio_autowake_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7fffffff rt2800mmio_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7fffffff rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7fffffff rt2800mmio_fill_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7fffffff rt2800mmio_get_entry_state +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7fffffff rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7fffffff rt2800mmio_init_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7fffffff rt2800mmio_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7fffffff rt2800mmio_toggle_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x7fffffff rt2800mmio_txstatus_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x01b8499e rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0b96af71 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x10042d90 rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1012541e rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1d69420c rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x21cfccd5 rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x26478a7b rt2x00mac_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2bdda3ed rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3988f898 rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4e93966d rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4ef88d0e rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5103c8dc rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5f6cbf22 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x64c165fb rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x65af5d49 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6a1f9427 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6cba15b5 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x6eca8885 rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00lib_set_mac_address +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00lib_txdone_nomatch +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7fffffff rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x118226b8 rt2x00mmio_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x3f1a71e9 rt2x00mmio_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x66c8255f rt2x00mmio_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x7fffffff rt2x00mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x7fffffff rt2x00mmio_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x0574d2cd rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x69a57ef9 rt2x00pci_pm_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x7fffffff rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x1452636d rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x30dd97b1 rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x436e5107 rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x4d18ec30 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x68030e9b rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7216fc34 rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7665754c rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7c4c1ad1 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7fffffff rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7fffffff rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7fffffff rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7fffffff rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7fffffff rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7fffffff rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7fffffff rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x7fffffff rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2657bf68 dm_writepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3c6fc987 dm_savepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x55c7e20b rtl92c_set_p2p_ps_offload_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7fffffff dm_restorepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x0dd0d4d8 rtl8723_phy_reload_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x107f07bd rtl8723_phy_query_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x107f7917 rtl8723_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1418691c rtl8723_phy_path_a_standby +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x19294da9 rtl8723_phy_rf_serial_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1afcdd4d rtl8723_dm_init_dynamic_bb_powersaving +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1b3b072e rtl8723_fw_free_to_go +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x2e9f1211 rtl8723_write_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x337c2a7f rtl8723_phy_set_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x36c70042 rtl8723ae_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x3f5bf9c0 rtl8723_phy_calculate_bit_shift +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x48c151b0 rtl8723_dm_init_edca_turbo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x4bbd280c rtl8723_dm_init_dynamic_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x4c141b4e rtl8723_phy_reload_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x524c3c4e rtl8723_phy_path_a_fill_iqk_matrix +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x525d6353 rtl8723_phy_pi_mode_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x624fa74f rtl8723_phy_path_adda_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x6f96e59a rtl8723_phy_save_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_cmd_send_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_enable_fw_download +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_phy_init_bb_rf_reg_def +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_phy_mac_setting_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_phy_rf_serial_read +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_phy_set_sw_chnl_cmdarray +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723_save_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x7fffffff rtl8723be_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x036a7a62 rtl_action_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0491a193 rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x148f221b rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1f2c9521 rtl_ips_nic_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x26a61b3b rtl_get_hwinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2921a4d4 rtl_btc_status_false +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x29b96918 rtl_update_beacon_work_callback +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2e2bca57 rtl_tx_mgmt_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2e5382f9 rtl_fill_dummy +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x34fffb08 rtl_deinit_rfkill +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x37b993b4 rtl_global_var +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5248f4aa rtl_tx_report_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x58940099 rtl_init_rx_config +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x737978aa rtl_efuse_ops_init +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x780199fa rtl_get_hal_edca_param +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x79dbda3b rtl_recognize_peer +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff read_efuse_byte +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_deinit_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_deinit_deferred_work +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_fw_block_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_fw_page_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_init_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_lps_change_work_callback +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_lps_enter +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_p2p_info +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_set_tx_report +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_swlps_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_tid_to_ac +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7fffffff rtl_tx_ackqueue +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0f5c3ce9 rsi_zone_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x26e51715 rsi_91x_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x6d74c903 rsi_91x_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x7fffffff rsi_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x7fffffff rsi_hal_device_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x7fffffff rsi_mac80211_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x7fffffff rsi_read_pkt +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x7fffffff cw1200_can_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x7fffffff cw1200_core_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x7fffffff cw1200_core_release +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x7fffffff cw1200_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x7fffffff wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x7fffffff wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0x7fffffff wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x00649a94 wlcore_event_roc_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x06d3b27e wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1edf9687 wl1271_acx_set_ht_capabilities +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20351125 wlcore_get_native_channel_type +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x213626a5 wlcore_event_soft_gemini_sense +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x23269974 wl1271_acx_pm_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x29b1ae1c wl1271_acx_sleep_auth +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2df66b51 wlcore_event_rssi_trigger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x361e35f1 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3bb1d2aa wlcore_disable_interrupts_nosync +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3f554a36 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x405021fb wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x414d37eb wlcore_set_scan_chan_params +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4350fdd7 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4a574c2c wlcore_scan_sched_scan_ssid_list +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4ca63b44 wl12xx_acx_mem_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x549daf1a wlcore_event_channel_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5bb5f07f wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5c62b497 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5cccfa74 wl1271_debugfs_update_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x62463be1 wl1271_tx_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x65de0135 wl1271_tx_min_rate_get +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x6cf812cc wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x729173b7 wlcore_event_max_tx_failure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x73fd888f wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x75e1c902 wlcore_event_sched_scan_completed +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wl1271_acx_init_mem_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wl1271_cmd_data_path +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wl1271_format_buffer +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wl12xx_cmd_build_probe_req +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_cmd_generic_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_cmd_wait_for_event_or_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_event_ba_rx_constraint +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_event_dummy_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_event_inactive_sta +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_scan_sched_scan_results +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7fffffff wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x17ac1538 nfcmrvl_parse_dt +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x7fffffff nfcmrvl_nci_recv_frame +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x7fffffff nfcmrvl_nci_register_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x7fffffff nfcmrvl_nci_unregister_dev +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x05173d75 pn533_finalize_setup +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x36e44b4a pn53x_common_clean +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x43c9d641 pn53x_register_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x4b045ee8 pn53x_unregister_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x7ed952c5 pn53x_common_init +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x7fffffff pn532_i2c_nfc_alloc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x7fffffff pn533_rx_frame_is_ack +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x7fffffff pn533_rx_frame_is_cmd_response +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x02dfa7bc st_nci_probe +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x2effac2e st_nci_hci_event_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x2fbc3448 st_nci_hci_load_session +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x362b86bc st_nci_disable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x7f5d21bf st_nci_discover_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x7fffffff st_nci_enable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x7fffffff st_nci_hci_cmd_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x7fffffff st_nci_remove +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x261b2f99 st95hf_spi_recv_echo_res +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x5dff854f st95hf_spi_send +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x6cd5be56 st95hf_spi_recv_response +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x0862001f ntb_transport_tx_free_entry +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x30934216 ntb_transport_max_size +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x32537aca ntb_transport_link_query +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x3d54dbfc ntb_transport_tx_enqueue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x436098aa ntb_transport_link_down +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x4dbf9113 ntb_transport_register_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x51b82f31 ntb_transport_create_queue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x7fffffff ntb_transport_free_queue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x7fffffff ntb_transport_link_up +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x7fffffff ntb_transport_qp_num +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x7fffffff ntb_transport_register_client_dev +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x7fffffff ntb_transport_rx_enqueue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x7fffffff ntb_transport_rx_remove +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x7fffffff ntb_transport_unregister_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x7fffffff ntb_transport_unregister_client_dev +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0x268798cf virtio_pmem_host_ack +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0x7fffffff async_pmem_flush +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x00899183 nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x00a8a90d nvme_init_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x0a231c16 nvme_host_path_error +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x11abc494 __SCK__tp_func_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1deac6b6 nvme_cancel_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1fdf528b nvme_unfreeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x20879ba9 nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x20e7e14c nvme_start_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2311e5ec __nvme_check_ready +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x30d018e7 nvme_start_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3b3db106 nvme_stop_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3cc3551f __nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3ebd1c19 nvme_kill_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3f2512cd nvme_get_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x41165499 nvme_reset_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4759253b nvme_start_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4c203938 nvme_cleanup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x512df546 nvme_stop_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x581d16c9 nvme_complete_rq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5e247b76 nvme_stop_keep_alive +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6c997c25 nvme_disable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6d93bd6d nvme_sync_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6e7caf77 nvme_init_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x738a20d8 nvme_delete_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7c2420a1 nvme_uninit_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7e071d64 nvme_complete_async_event +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff __traceiter_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff admin_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_cancel_admin_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_cancel_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_change_ctrl_state +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_complete_batch_req +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_delete_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_enable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_fail_nonready_command +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_init_ctrl_finish +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_io_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_remove_namespaces +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_sec_submit +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_set_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_set_queue_count +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_setup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_start_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_stop_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_sync_io_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_try_sched_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_wait_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fffffff nvme_wait_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x047947f3 nvmf_ip_options_match +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x0e1f31fe nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x70c8f784 nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x7159b71f nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x75fc7f08 nvmf_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x7c716ca9 nvmf_connect_io_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x7fffffff nvmf_connect_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x7fffffff nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x7fffffff nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x7fffffff nvmf_reg_read64 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x7fffffff nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x0d12e564 nvme_fc_register_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x26227c42 nvme_fc_register_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x3884f8b8 nvme_fc_unregister_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x3e33ac54 nvme_fc_rescan_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x58e312f7 nvme_fc_io_getuuid +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x7fffffff nvme_fc_rcv_ls_req +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x7fffffff nvme_fc_set_remoteport_devloss +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x7fffffff nvme_fc_unregister_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x0a9c2957 nvmet_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x1bcbd40e nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x31fb2e4d nvmet_req_alloc_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3e0ef07a nvmet_wq +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x66b08016 nvmet_ctrl_fatal_error +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7461be80 nvmet_req_complete +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7a50b392 nvmet_check_transfer_len +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7fffffff nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7fffffff nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7fffffff nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7fffffff nvmet_sq_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x7fffffff nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x0b98123d nvmet_fc_rcv_ls_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x1048b92a nvmet_fc_rcv_fcp_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x4a013682 nvmet_fc_invalidate_host +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x7a770606 nvmet_fc_register_targetport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x7fa5302a nvmet_fc_rcv_fcp_abort +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x7fffffff nvmet_fc_unregister_targetport +EXPORT_SYMBOL_GPL drivers/pci/switch/switchtec 0x67c56bb7 switchtec_class +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x03549566 tegra_xusb_padctl_enable_phy_sleepwalk +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x068569c2 tegra_xusb_padctl_disable_phy_sleepwalk +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x39525ab3 tegra_xusb_padctl_remote_wake_detected +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x42da0a4d tegra_xusb_padctl_disable_phy_wake +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x55acbbbb tegra_xusb_padctl_get +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x58e2328b tegra_xusb_padctl_get_usb3_companion +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x68867f5e tegra_xusb_padctl_put +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x6d750edc tegra_xusb_padctl_usb3_set_lfps_detect +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x7fffffff tegra124_xusb_padctl_soc +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x7fffffff tegra_phy_xusb_utmi_port_reset +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x7fffffff tegra_xusb_padctl_enable_phy_wake +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x7fffffff tegra_xusb_padctl_hsic_set_idle +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x7fffffff tegra_xusb_padctl_set_vbus_override +EXPORT_SYMBOL_GPL drivers/phy/tegra/phy-tegra-xusb 0x7fffffff tegra_xusb_padctl_usb3_save_context +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-control 0x19852cbd omap_control_phy_power +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-control 0x5577f5e0 omap_control_usb_set_mode +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-control 0x7fffffff omap_control_pcie_pcs +EXPORT_SYMBOL_GPL drivers/phy/ti/phy-omap-usb2 0x00d48f33 omap_usb2_set_comparator +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x7fffffff mcp23s08_probe_one +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x7fffffff mcp23x08_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x7fffffff mcp23x17_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/qcom/pinctrl-lpass-lpi 0x23974b72 lpi_pinctrl_probe +EXPORT_SYMBOL_GPL drivers/pinctrl/qcom/pinctrl-lpass-lpi 0x51b5d7cd lpi_pinctrl_remove +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x7fffffff cros_ec_sensorhub_register_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros-ec-sensorhub 0x7fffffff cros_ec_sensorhub_unregister_push_data +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros_usbpd_notify 0x6b1be500 cros_usbpd_unregister_notify +EXPORT_SYMBOL_GPL drivers/platform/chrome/cros_usbpd_notify 0x7fffffff cros_usbpd_register_notify +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x7fffffff devm_reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x7fffffff devm_reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x7fffffff reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x7fffffff reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x5092d82e bq27xxx_battery_teardown +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x59879e3a bq27xxx_battery_setup +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x7fffffff bq27xxx_battery_update +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x3eea0dcb pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x74006c7d pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x7fffffff pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x07d73425 ptp_qoriq_settime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x0b48bf3e ptp_qoriq_init +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x18c889cf ptp_qoriq_enable +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x2eae82b0 ptp_qoriq_isr +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x72695648 extts_clean_up +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x7fffffff ptp_qoriq_adjfine +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x7fffffff ptp_qoriq_adjtime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x7fffffff ptp_qoriq_free +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x7fffffff ptp_qoriq_gettime +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x148c64b2 mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x6e531681 mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x7fffffff mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x7fffffff mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x7fffffff mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/rohm-regulator 0x033ce5d6 rohm_regulator_set_voltage_sel_restricted +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x10551ee3 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x33381b71 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x79ab9837 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x7fffffff wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x7fffffff wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x7fffffff wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x1075b587 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x05d9f765 scp_get +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x0610b7a9 scp_put +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x7150dc7e scp_get_device +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x7fffffff scp_get_rproc +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x7fffffff scp_get_vdec_hw_capa +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x7fffffff scp_get_venc_hw_capa +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp 0x7fffffff scp_mapping_dm_addr +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x02d7da03 scp_ipi_lock +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x04dc04d0 scp_ipi_unlock +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x09313652 scp_memcpy_aligned +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x11c6d490 scp_ipi_register +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x77fe0b1e scp_ipi_send +EXPORT_SYMBOL_GPL drivers/remoteproc/mtk_scp_ipi 0x7fffffff scp_ipi_unregister +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x0fa538df qcom_register_ssr_notifier +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x71e80418 qcom_add_ssr_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x7fffffff qcom_add_glink_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x7fffffff qcom_add_smd_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x7fffffff qcom_minidump +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x7fffffff qcom_register_dump_segments +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x7fffffff qcom_remove_glink_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x7fffffff qcom_remove_smd_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x7fffffff qcom_remove_ssr_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_common 0x7fffffff qcom_unregister_ssr_notifier +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_pil_info 0x7fffffff qcom_pil_info_store +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x215201e3 qcom_q6v5_prepare +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x35fe00a6 qcom_q6v5_init +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x40b189ba qcom_q6v5_panic +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x5d4f6a88 qcom_q6v5_wait_for_start +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x7fffffff qcom_q6v5_deinit +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x7fffffff qcom_q6v5_request_stop +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_q6v5 0x7fffffff qcom_q6v5_unprepare +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0x1482d168 qcom_sysmon_shutdown_acked +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0x7fffffff qcom_add_sysmon_subdev +EXPORT_SYMBOL_GPL drivers/remoteproc/qcom_sysmon 0x7fffffff qcom_remove_sysmon_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/mtk_rpmsg 0x7fffffff mtk_rpmsg_create_rproc_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/mtk_rpmsg 0x7fffffff mtk_rpmsg_destroy_rproc_subdev +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x149236da qcom_glink_native_remove +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x7fffffff qcom_glink_native_probe +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x7fffffff qcom_glink_native_unregister +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x7fffffff qcom_glink_ssr_notify +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink_smem 0x105b3457 qcom_glink_smem_register +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink_smem 0x72dd75d9 qcom_glink_smem_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x047bf1d2 cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x06546037 cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0d741383 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0eee5216 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1413ef56 cxgbi_ddp_ppm_setup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x162520da cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x264ac683 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2af338fe cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4323e331 cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4451935c cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x45278a71 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x48286c2f cxgbi_device_find_by_netdev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x4f19caae cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5f7e7f76 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x64cfd1cd cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x67e350f2 cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7d84100e cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7efb3f28 cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_ddp_set_one_ppod +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_device_find_by_netdev_rcu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fffffff cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0398242e fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x085c1057 fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x0e0c5ddb fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2a39ab2c fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x39a59a00 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4f88c842 fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5c94fa08 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x6398d531 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x6569bd72 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x6d706deb fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7cc3bb92 fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7fffffff fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x35310e71 fdomain_destroy +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x585037e0 fdomain_create +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x08b54c37 iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x0d4ef44b iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x76616bd8 iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x7fffffff iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x7fffffff iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x7fffffff iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x7fffffff iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0x701b198b fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x052d4620 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x089ba7c9 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x158e287a iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x163011c8 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x18479bca iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x19be7588 iscsi_session_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1f1fbe0c iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x21f93afc iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2398da8b iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x342587a6 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x370b2b76 iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x40f3ad81 iscsi_session_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x46f32186 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x505535f1 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x50cad8ab iscsi_conn_queue_recv +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x529e7c18 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x596224a9 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x597e7c03 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5a2b934f iscsi_host_get_max_scsi_cmds +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5f671b31 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x64c86d60 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x67550233 iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x772314d1 iscsi_conn_queue_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7a32ada4 iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7a9f701b iscsi_conn_unbind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7c344eed iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_suspend_rx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7fffffff iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0e3b642b iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2576405d iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x32124e4c iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3e7db434 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x43766638 iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x46d035c8 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6ac204ce iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6c78ff10 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7e10acb5 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fffffff iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fffffff iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fffffff iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fffffff iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fffffff iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fffffff iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fffffff iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x7fffffff iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x04438717 sas_execute_internal_abort_single +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0f53194a sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x18132c3d sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x25886998 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3d05d83e sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x42767a19 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4412832f sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x639dcf0d sas_execute_internal_abort_dev +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6950fcb8 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7579d9f1 sas_notify_phy_event +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x799e8465 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7b4296d9 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7b56715d sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_abort_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_abort_task_set +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_ata_wait_after_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_clear_task_set +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_execute_ata_cmd +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_lu_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_notify_port_event +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_query_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x7fffffff sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_fc 0x7fffffff fc_eh_should_retry_cmd +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x028b6f61 __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x035cd919 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x088d67a3 __traceiter_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0f942899 iscsi_alloc_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x17255816 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x17c0cd75 iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1f05f4f8 __traceiter_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2a8527a3 __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2b07b7fc iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2e2dd077 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2f384263 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2fa41055 iscsi_get_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3003ad09 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x338f0d3f __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x39d40107 iscsi_force_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3b91ef85 __traceiter_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3c1633c9 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x46b5bb9d __traceiter_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4abfc3c8 iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x55102d6c iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5595e93f iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x57eb3507 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x584a31ab __SCK__tp_func_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5d052435 iscsi_put_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5d3019ce iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x71b768b0 __SCK__tp_func_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x76930fb0 iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x79001aa6 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7ced5abd __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff __SCK__tp_func_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff __SCK__tp_func_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff __SCK__tp_func_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff __traceiter_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_add_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_get_router_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_put_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_remove_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7fffffff iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x2ce07c52 sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x5b0030c0 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x7fffffff sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x7fffffff sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x7fffffff spi_populate_sync_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x7fffffff spi_populate_tag_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x7fffffff spi_populate_width_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x08ddabfa srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1902178a srp_tmo_valid +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x24240ed7 srp_stop_rport_timers +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x3c46c1a9 srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x5e01f3e0 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x7fffffff srp_remove_host +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x7fffffff srp_rport_del +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x1601c475 siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x2e40a83a __siox_driver_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x31e90af3 siox_master_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x7fffffff siox_device_connected +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x7fffffff siox_master_alloc +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x7fffffff siox_master_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x2a5fd3b4 slim_msg_response +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x364123bc slim_stream_disable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x3bfafb1f slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x5630a87c slim_register_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x565205ce of_slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x5aa39bfe slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x5c5f9f31 slim_device_report_present +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6d46d66b __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_do_transfer +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_get_logical_addr +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_writeb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x7fffffff slimbus_bus +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0x0fc75712 meson_canvas_get +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0x494128eb meson_canvas_alloc +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0x673c5a86 meson_canvas_config +EXPORT_SYMBOL_GPL drivers/soc/amlogic/meson-canvas 0x7fffffff meson_canvas_free +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x0691d996 __apr_driver_register +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x7fffffff apr_driver_unregister +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x7fffffff apr_send_pkt +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x7fffffff aprbus +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x7fffffff gpr_alloc_port +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x7fffffff gpr_free_port +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x7fffffff gpr_send_pkt +EXPORT_SYMBOL_GPL drivers/soc/qcom/apr 0x7fffffff gpr_send_port_pkt +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x06285798 llcc_slice_deactivate +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x09afc16e llcc_slice_activate +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x14f99b76 llcc_get_slice_id +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x2027e82d llcc_slice_getd +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x62ff6e92 llcc_slice_putd +EXPORT_SYMBOL_GPL drivers/soc/qcom/llcc-qcom 0x7fffffff llcc_get_slice_size +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x03c4bfd4 qcom_mdt_load_no_init +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x45e1cd7c qcom_mdt_get_size +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x6f404e33 qcom_mdt_read_metadata +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x7fffffff qcom_mdt_load +EXPORT_SYMBOL_GPL drivers/soc/qcom/mdt_loader 0x7fffffff qcom_mdt_pas_init +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x79581e4f sdw_unregister_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x7fffffff __sdw_register_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x7fffffff sdw_bus_type +EXPORT_SYMBOL_GPL drivers/spi/spi-altera-core 0x7fffffff altera_spi_init_master +EXPORT_SYMBOL_GPL drivers/spi/spi-altera-core 0x7fffffff altera_spi_irq +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x1e55104f spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x3711fae9 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x41c4d62e spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x7fffffff spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x7fffffff spi_bitbang_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x7fffffff spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x0c104229 spi_test_run_test +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x7fffffff spi_test_execute_msg +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x7fffffff spi_test_run_tests +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x0df745fc spmi_register_zero_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x1ddbcf12 spmi_controller_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x1fd3755e spmi_device_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x32b00b5d spmi_ext_register_readl +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x3677058f spmi_device_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x46e48b26 spmi_controller_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x4c7a279e spmi_ext_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x5942fd3f spmi_ext_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7fffffff __spmi_driver_register +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7fffffff spmi_command_reset +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7fffffff spmi_command_shutdown +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7fffffff spmi_command_sleep +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7fffffff spmi_command_wakeup +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7fffffff spmi_controller_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7fffffff spmi_device_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7fffffff spmi_ext_register_writel +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7fffffff spmi_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x7fffffff spmi_register_write +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0x2bb8ef98 ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x0dea09ed anybuss_recv_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x3414f215 anybuss_read_output +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x356644cf anybuss_send_ext +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7fffffff anybuss_client_driver_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7fffffff anybuss_client_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7fffffff anybuss_finish_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7fffffff anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7fffffff anybuss_host_common_remove +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7fffffff anybuss_read_fbctrl +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7fffffff anybuss_send_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7fffffff anybuss_set_power +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7fffffff anybuss_start_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7fffffff anybuss_write_input +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x7fffffff devm_anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x2894bbe5 fieldbus_dev_online_changed +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x57d6d42e fieldbus_dev_area_updated +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x6c25fc83 fieldbus_dev_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x7fffffff fieldbus_dev_unregister +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x185a2690 gb_audio_apbridgea_register_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x43b97267 gb_audio_apbridgea_start_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x46b8d376 gb_audio_apbridgea_prepare_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x716746b8 gb_audio_apbridgea_start_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x74cb2419 gb_audio_apbridgea_shutdown_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7e1edfbd gb_audio_apbridgea_stop_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7fffffff gb_audio_apbridgea_prepare_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7fffffff gb_audio_apbridgea_set_config +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7fffffff gb_audio_apbridgea_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7fffffff gb_audio_apbridgea_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7fffffff gb_audio_apbridgea_shutdown_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7fffffff gb_audio_apbridgea_stop_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x7fffffff gb_audio_apbridgea_unregister_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x16ffe1a5 gb_audio_gb_get_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x2760d86a gb_audio_gb_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x35c99aea gb_audio_gb_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x753cedeb gb_audio_gb_get_topology +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x7fffffff gb_audio_gb_activate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x7fffffff gb_audio_gb_activate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x7fffffff gb_audio_gb_deactivate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x7fffffff gb_audio_gb_deactivate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x7fffffff gb_audio_gb_disable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x7fffffff gb_audio_gb_enable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x7fffffff gb_audio_gb_get_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x7fffffff gb_audio_gb_set_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x7fffffff gb_audio_gb_set_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x19e9e6b1 gb_audio_manager_remove_all +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x32e6391e gb_audio_manager_remove +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x5a108b0f gb_audio_manager_add +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x79eef2f8 gb_audio_manager_dump_all +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x7a436cb0 gb_audio_manager_put_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x7fffffff gb_audio_manager_dump_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x7fffffff gb_audio_manager_get_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x00824400 gb_gbphy_deregister_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x7fffffff gb_gbphy_register_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x18d956e1 gb_spilib_master_init +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x7fffffff gb_spilib_master_exit +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0x5b62054c adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x11b489e8 imx_media_capture_device_unregister +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x13597b52 imx_media_dev_init +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x14589337 imx_media_capture_device_init +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x20fdabfc imx_media_find_subdev_by_devname +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x21671e03 imx_media_dev_notifier_register +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x3afc4948 imx_media_find_pixel_format +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x3ccec22c imx_media_probe_complete +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x45266280 imx_media_pipeline_video_device +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x4c373e06 imx_media_init_cfg +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x534ba9e1 imx_media_find_mbus_format +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x5fb22ddd imx_media_capture_device_error +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x6d990876 imx_media_add_video_device +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7758b481 imx_media_capture_device_remove +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7f5fbde9 imx_media_add_of_subdevs +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_alloc_dma_buf +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_capture_device_next_buf +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_capture_device_register +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_enum_mbus_formats +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_enum_pixel_formats +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_find_subdev_by_fwnode +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_free_dma_buf +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_get_pad_fwnode +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_grp_id_to_sd_name +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_init_mbus_fmt +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_mbus_fmt_to_pix_fmt +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_of_add_csi +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_pipeline_csi2_channel +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_pipeline_pad +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_pipeline_set_stream +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_pipeline_subdev +EXPORT_SYMBOL_GPL drivers/staging/media/imx/imx-media-common 0x7fffffff imx_media_try_colorimetry +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x02ef6c7b amvdec_remove_ts +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x0ff6ec63 amvdec_add_ts +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x115655e9 amvdec_am21c_body_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x160c295e amvdec_write_dos +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x1738f188 amvdec_dst_buf_done_offset +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x1cb1e6d9 amvdec_am21c_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x2f9d76d4 codec_hevc_fill_mmu_map +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x4aa9b4d4 amvdec_dst_buf_done_idx +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x4e5cdf75 amvdec_read_parser +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x524bfe3e amvdec_clear_dos_bits +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x582a57fb amvdec_write_parser +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x5ff35ee8 amvdec_am21c_head_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x60f0a8f8 amvdec_src_change +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x6544af93 amvdec_get_output_size +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x6be0c245 codec_hevc_setup_decode_head +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x6efdb84f codec_hevc_setup_buffers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7fffffff amvdec_abort +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7fffffff amvdec_dst_buf_done +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7fffffff amvdec_read_dos +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7fffffff amvdec_set_canvases +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7fffffff amvdec_set_par_from_dar +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7fffffff amvdec_write_dos_bits +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7fffffff codec_hevc_free_fbc_buffers +EXPORT_SYMBOL_GPL drivers/staging/media/meson/vdec/meson-vdec 0x7fffffff codec_hevc_free_mmu_headers +EXPORT_SYMBOL_GPL drivers/staging/nvec/nvec 0x23006ccd nvec_unregister_notifier +EXPORT_SYMBOL_GPL drivers/staging/nvec/nvec 0x2e248923 nvec_msg_free +EXPORT_SYMBOL_GPL drivers/staging/nvec/nvec 0x7fffffff nvec_register_notifier +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x1ed8271a target_submit +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x2e95b82b target_submit_prep +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x7fffffff target_init_cmd +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x7fffffff target_queue_submission +EXPORT_SYMBOL_GPL drivers/tee/tee 0x02f734c4 tee_device_unregister +EXPORT_SYMBOL_GPL drivers/tee/tee 0x0576fb2b tee_shm_free +EXPORT_SYMBOL_GPL drivers/tee/tee 0x216563a8 tee_client_close_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x28da7f4e tee_shm_get_pa +EXPORT_SYMBOL_GPL drivers/tee/tee 0x329b760f tee_client_open_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x3f135c18 tee_client_close_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0x4196a87b tee_bus_type +EXPORT_SYMBOL_GPL drivers/tee/tee 0x4c4af3dc tee_shm_register_kernel_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0x538f785f tee_client_invoke_func +EXPORT_SYMBOL_GPL drivers/tee/tee 0x66d44c91 tee_client_open_session +EXPORT_SYMBOL_GPL drivers/tee/tee 0x6f5bb1d2 tee_shm_get_from_id +EXPORT_SYMBOL_GPL drivers/tee/tee 0x793427d5 teedev_close_context +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_client_get_version +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_device_alloc +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_device_register +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_get_drvdata +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_session_calc_client_uuid +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_shm_alloc_kernel_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_shm_alloc_priv_buf +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_shm_get_va +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_shm_pool_alloc_res_mem +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff tee_shm_put +EXPORT_SYMBOL_GPL drivers/tee/tee 0x7fffffff teedev_open +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x01d23ee1 tb_property_create_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x0d9cc429 tb_xdomain_response +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x0e5aa6b6 tb_unregister_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x1cbeecfe __tb_ring_enqueue +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x1e308159 tb_register_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x21a31526 tb_unregister_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x267f6007 tb_ring_alloc_rx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x31ca79d3 tb_xdomain_release_in_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x36521060 tb_register_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x38f14a35 tb_xdomain_request +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x393b4f2f tb_property_free_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x39a6a8d2 tb_xdomain_lane_bonding_disable +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x42dfe7fe tb_xdomain_release_out_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4e3603e0 tb_ring_poll +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x603249ed tb_unregister_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x64b377b5 tb_xdomain_alloc_in_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x658e3d97 tb_property_add_immediate +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x6ceee74b tb_property_remove +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x76274acf tb_ring_free +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x786d9e6d tb_xdomain_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_property_add_data +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_property_add_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_property_add_text +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_property_find +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_property_get_next +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_register_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_ring_alloc_tx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_ring_poll_complete +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_ring_start +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_ring_stop +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_service_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_xdomain_alloc_out_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_xdomain_disable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_xdomain_enable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_xdomain_find_by_route +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_xdomain_find_by_uuid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x7fffffff tb_xdomain_lane_bonding_enable +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x01c765e6 ufshcd_auto_hibern8_update +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x11a412b2 ufshcd_release +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x2185eb0a ufshcd_dealloc_host +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x2254df08 ufshcd_hold +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x2b657433 ufshcd_uic_hibern8_exit +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x389aa182 ufshcd_config_pwr_mode +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x3d5491e6 ufshcd_dme_set_attr +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x3f15df50 ufshcd_make_hba_operational +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x47f5f1bb ufshcd_init +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x4af14f14 ufshcd_dme_get_attr +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x55ac9870 ufshcd_hba_stop +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x6a59a402 ufshcd_suspend_prepare +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x6d0a48fc ufshcd_update_evt_hist +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x723b1abf ufshcd_delay_us +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7ccdc8c0 ufshcd_dump_regs +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7ee55f9f ufshcd_hba_enable +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff __ufshcd_suspend_prepare +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_clkgate_delay_set +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_dme_configure_adapt +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_fixup_dev_quirks +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_link_recovery +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_remove +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_resume_complete +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7fffffff ufshcd_uic_hibern8_enter +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x54c946de ufshcd_init_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x777e0641 ufshcd_pltfrm_shutdown +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x7fffffff ufshcd_get_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x7fffffff ufshcd_pltfrm_init +EXPORT_SYMBOL_GPL drivers/uio/uio 0x3b33fba5 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0x62019381 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x78ed4af4 __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x7fffffff __uio_register_device +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x00fedc2e usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x39ef7af9 usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x0eae40f0 cdns_init +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x2d74cd16 cdns_resume +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x385f471f cdns_power_is_lost +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x3fd64418 cdns_remove +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x7fffffff cdns_clear_vbus +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x7fffffff cdns_drd_gadget_off +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x7fffffff cdns_drd_gadget_on +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x7fffffff cdns_set_vbus +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x7fffffff cdns_suspend +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x0b8d68ea ci_hdrc_query_available_role +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x7fffffff ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x7fffffff ci_hdrc_remove_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x7fffffff hw_phymode_configure +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x1932cd51 imx_usbmisc_init_post +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x261c7da4 imx_usbmisc_hsic_set_clk +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x61aaf5d9 imx_usbmisc_init +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x7fffffff imx_usbmisc_charger_detection +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x7fffffff imx_usbmisc_hsic_set_connect +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x7fffffff imx_usbmisc_set_wakeup +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x0deb4bd4 ulpi_register_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x5ffb2f55 ulpi_write +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x7fffffff __ulpi_register_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x7fffffff ulpi_read +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x7fffffff ulpi_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x7fffffff ulpi_unregister_interface +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x05094375 u_audio_stop_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x130fcccb u_audio_set_volume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x2a6ed361 u_audio_get_playback_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x3136308e u_audio_set_mute +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x34dda1b6 u_audio_set_playback_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x5310fd65 g_audio_setup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x70f81d00 u_audio_get_capture_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x790ebd10 u_audio_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7fffffff g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7fffffff u_audio_get_mute +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7fffffff u_audio_get_volume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7fffffff u_audio_set_capture_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7fffffff u_audio_start_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7fffffff u_audio_start_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7fffffff u_audio_stop_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x0a06041b gether_set_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x286bceb3 gether_get_host_addr_u8 +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x3e40153c gether_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x434c3434 gether_get_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x4a349247 gether_set_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x55d33950 gether_register_netdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x73ff1e13 gether_get_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x746e697c gether_get_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7c7f6273 gether_set_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7d990e74 gether_setup_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7fffffff gether_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7fffffff gether_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7fffffff gether_get_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7fffffff gether_get_host_addr_cdc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7fffffff gether_set_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7fffffff gether_set_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7fffffff gether_setup_name_default +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x2b0e69a9 gserial_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x33bfdca2 gserial_alloc_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x4a3df9d0 gs_alloc_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x60ea48a0 gs_free_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x77dbf841 gserial_get_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x7fffffff gserial_alloc_line_no_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x7fffffff gserial_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x7fffffff gserial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x7fffffff gserial_free_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x7fffffff gserial_resume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x7fffffff gserial_set_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x12772b85 ffs_lock +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x338f98b3 ffs_single_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x7fffffff ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1191bddf fsg_show_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x141fce2a fsg_common_remove_luns +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1710b539 fsg_fs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1883303e fsg_common_remove_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1ccb58f7 fsg_common_set_num_buffers +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x2933ee1d fsg_ss_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x2f600eee fsg_store_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x398778e1 fsg_ss_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x3c6a07d0 fsg_common_create_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x423845e4 fsg_ss_bulk_in_comp_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x459cf56b fsg_store_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x56344daf fsg_hs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x5acc43ce fsg_show_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x6acb4179 fsg_common_set_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x777b1442 fsg_store_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7e26d4a5 fsg_common_set_sysfs +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_common_create_luns +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_common_free_buffers +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_common_set_cdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_config_from_params +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_fs_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_fs_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_hs_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_hs_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_intf_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_lun_close +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_lun_fsync_sub +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_lun_open +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_show_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_show_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_show_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_show_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_ss_bulk_out_comp_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_ss_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_store_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_store_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff fsg_store_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7fffffff store_cdrom_address +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x0b2f11ea rndis_msg_parser +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x54eb1b3b rndis_set_param_vendor +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x6113964d rndis_rm_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x68c5a1f7 rndis_free_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x71ee596a rndis_add_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7315fe3b rndis_signal_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_borrow_net +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_deregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_get_next_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_set_host_mac +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_set_param_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_set_param_medium +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_signal_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x7fffffff rndis_uninit +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x04ccf513 usb_gstrings_attach +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0c589aba usb_validate_langid +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0cb7e477 usb_ep_autoconfig_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x1148eb28 usb_get_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x12159155 usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2660063c unregister_gadget_item +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e09263f usb_copy_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e9fe085 usb_add_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2f9ad679 usb_interface_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4b997e63 usb_function_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4beb505d usb_gadget_get_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4dc727fe usb_string_ids_tab +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x574a00fc usb_string_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5d38d684 usb_otg_descriptor_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x6516aa19 config_ep_by_speed +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x6831269c usb_function_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x6fa691ec usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x6fd6c80d usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff alloc_ep_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff config_ep_by_speed_and_alt +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_add_config_only +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_add_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_assign_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_composite_overwrite_options +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_composite_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_composite_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_descriptor_fillbuf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_ep_autoconfig +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_ep_autoconfig_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_free_all_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_function_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_gadget_config_buf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_get_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_otg_descriptor_alloc +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_put_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_put_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_remove_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fffffff usb_string_ids_n +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x0b6469d8 gadget_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x21f72491 udc_remove +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x25bd7280 init_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x47cfd2a4 udc_mask_unused_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x51d93a93 udc_enable_dev_setup_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x59cbbbe7 udc_basic_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x5d01d078 udc_irq +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x67e21ad9 free_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x76e09610 udc_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x7fffffff empty_req_queue +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0x54a4815c renesas_xhci_check_request_fw +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x7fffffff ezusb_fx1_ihex_firmware_download +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x7fffffff ezusb_fx1_set_reset +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x025ed581 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x6b230864 usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x6e45af39 usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x6f795b30 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7d2a66d8 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7fffffff ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7fffffff usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7fffffff usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x7fffffff usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-am335x-control 0x1d016d84 am335x_get_phy_control +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-isp1301 0x6412d5cf isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0x629cd9c3 tegra_usb_phy_preresume +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0x7fffffff tegra_ehci_phy_restore_end +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0x7fffffff tegra_ehci_phy_restore_start +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-tegra-usb 0x7fffffff tegra_usb_phy_postresume +EXPORT_SYMBOL_GPL drivers/usb/serial/usb_wwan 0x7fffffff usb_wwan_port_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0c39c54c usb_serial_generic_write_start +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x0dc76ccd usb_serial_generic_chars_in_buffer +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x28896fe4 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x46a869bc usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x4ddfddf2 usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x6e26a3d3 usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7cd46732 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7d2862de usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_claim_interface +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_generic_get_icount +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_generic_tiocmiwait +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_generic_wait_until_sent +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7fffffff usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x7fffffff dp_altmode_probe +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x7fffffff dp_altmode_remove +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x6f497a3c tcpci_irq +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x70f07b9f tcpci_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x7fffffff tcpci_get_tcpm_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x7fffffff tcpci_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x0b3aa901 tcpm_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x10ec6d2d tcpm_sink_frs +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x3b84657b tcpm_pd_transmit_complete +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x76eeda4b tcpm_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x7fffffff tcpm_cc_change +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x7fffffff tcpm_pd_hard_reset +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x7fffffff tcpm_pd_receive +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x7fffffff tcpm_sourcing_vbus +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x7fffffff tcpm_tcpc_reset +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x7fffffff tcpm_vbus_change +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x092ff893 typec_cable_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x17f4444b __typec_altmode_register_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1adca30a typec_get_negotiated_svdm_version +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1b1a05c9 typec_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1f5f0f13 typec_match_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1fb6f76f typec_altmode_notify +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x20bce648 typec_mux_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2d1e301d typec_find_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x31dade95 typec_altmode_get_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x32eecc4f typec_port_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3f716fc2 typec_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3fc1dfaa typec_cable_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x407c4ba6 typec_partner_set_num_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x40ba917f typec_register_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x40d753e5 typec_plug_set_num_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x419fd224 typec_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x471d4257 typec_altmode_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x49d7b3d0 typec_partner_set_svdm_version +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4c5a3b6c typec_mux_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4eb1275f typec_register_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x550ca2eb typec_partner_set_pd_revision +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x571e2d49 typec_get_fw_cap +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5c70c677 typec_altmode_update_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x68f2fa2d typec_altmode_vdm +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6b3d9465 typec_mux_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7c3c44bc typec_unregister_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7d5dafe9 typec_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff fwnode_typec_mux_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff fwnode_typec_switch_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_altmode2port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_altmode_attention +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_altmode_enter +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_altmode_exit +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_altmode_get_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_altmode_put_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_cable_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_cable_is_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_find_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_find_port_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_find_port_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_find_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_get_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_mux_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_mux_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_mux_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_partner_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_partner_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_plug_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_port_register_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_register_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_set_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_set_mode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_set_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_set_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_set_pwr_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_set_vconn_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_switch_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_switch_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_switch_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_unregister_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_unregister_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7fffffff typec_unregister_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x1e6a6505 ucsi_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x7e7eb148 ucsi_resume +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x7fffffff ucsi_connector_change +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x7fffffff ucsi_create +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x7fffffff ucsi_destroy +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x7fffffff ucsi_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x7fffffff ucsi_register +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x7fffffff ucsi_send_command +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x7fffffff ucsi_unregister +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x2b8bab5f dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x349e39e1 usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x41bcba6c usbip_start_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x44bf384d usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x4cd779bf usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x5e51e13b usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x6c82d69d usbip_recv +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7fffffff usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7fffffff usbip_dump_header +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7fffffff usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7fffffff usbip_event_add +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7fffffff usbip_event_happened +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7fffffff usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7fffffff usbip_in_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7fffffff usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x228d35b2 vdpa_unregister_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x273d1e41 vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x2fe3ed5b vdpa_mgmtdev_unregister +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x63febb38 vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x7fffffff __vdpa_alloc_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x7fffffff __vdpa_register_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x7fffffff _vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x7fffffff _vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x7fffffff vdpa_get_config +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x7fffffff vdpa_mgmtdev_register +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x7fffffff vdpa_set_config +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa_sim/vdpa_sim 0x2a5578b7 vdpasim_create +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0x16a49738 mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x0bce8d55 vfio_pci_core_unregister_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x0fa3ec99 vfio_pci_core_uninit_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x13e4bb7a vfio_pci_register_dev_region +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x2caedbef vfio_pci_core_write +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x3807be55 vfio_pci_core_read +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x3e811798 vfio_pci_core_init_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x472c803b vfio_pci_core_aer_err_detected +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x4c474a51 vfio_pci_core_disable +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x4cf699b8 vfio_pci_core_set_params +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x5209f5e2 vfio_pci_core_sriov_configure +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_close_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_enable +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_err_handlers +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_finish_enable +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_ioctl +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_ioctl_feature +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_match +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_mmap +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_register_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x7fffffff vfio_pci_core_request +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x332164bd vfio_platform_probe_common +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x6a60faf7 vfio_platform_unregister_reset +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x768e8950 __vfio_platform_register_reset +EXPORT_SYMBOL_GPL drivers/vfio/platform/vfio-platform-base 0x7fffffff vfio_platform_remove_common +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x56cf9323 vfio_virqfd_enable +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x7fffffff vfio_virqfd_disable +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x01fb35af vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x027b1f03 vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0473d2b6 vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x06cfd671 vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x08e35eea vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x09270c3f vhost_set_backend_features +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0fd10c22 vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1b2b04e2 vhost_work_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x25d5cc5e vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x262eb0cc vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x2688be00 vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x2a2478c5 vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x2bee7112 vhost_poll_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x2de04d24 vhost_dev_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x38bb4743 vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3ce387d2 vhost_disable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x40eef6c9 vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x43df5b47 vq_meta_prefetch +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4828e95d vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5115d6a1 vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5147342a vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x52d694a0 vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5592015d vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x56cda858 vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6e476d06 vhost_clear_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x75f07ee8 vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x77f990b8 vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_dev_reset_owner_prepare +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_poll_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_vring_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7fffffff vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x38ff875f vhost_iotlb_add_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x69e872f9 vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7fffffff vhost_iotlb_add_range_ctx +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7fffffff vhost_iotlb_alloc +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7fffffff vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7fffffff vhost_iotlb_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7fffffff vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x7fffffff vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x073d0f81 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x0f958dae ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x1f0d78fd ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x765cb78e ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x79ac0d58 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x7fffffff ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x7fffffff ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_ddc 0x7fffffff fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x0fe2aa41 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x3545377c fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x19b5ea2c omapdss_of_get_first_endpoint +EXPORT_SYMBOL_GPL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x26ad4aa2 omapdss_of_find_source_for_first_ep +EXPORT_SYMBOL_GPL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omapdss_of_get_next_endpoint +EXPORT_SYMBOL_GPL drivers/video/fbdev/omap2/omapfb/dss/omapdss 0x7fffffff omapdss_of_get_next_port +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x3e9fcaec sis_free_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x6b7c103a sis_malloc_new +EXPORT_SYMBOL_GPL drivers/w1/wire 0x1b49b1e2 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x2a2bbb8b w1_touch_bit +EXPORT_SYMBOL_GPL drivers/w1/wire 0x2d0566d8 w1_read_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x48c404b9 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63757e92 w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7413a0a6 w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7fffffff w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7fffffff w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7fffffff w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7fffffff w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7fffffff w1_triplet +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7fffffff w1_write_block +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x406db9d8 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4b62826c dlm_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x647d6170 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x7fffffff dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x7fffffff dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x7fffffff dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x7fffffff dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x2662122b nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x468ec2e5 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x7fffffff lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x7fffffff lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x7fffffff nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x7fffffff nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x7fffffff nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0365f249 nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03eacb8c nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x052b8a22 nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x06b42bee nfs_set_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x086548db nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x094a0239 nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0ada78d0 nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0c8f05a3 __tracepoint_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0d3ab922 nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0f66152a nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x148b9a1b nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x15dee2ef nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x15f7b453 nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1ca1f7d2 nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1cb1c0ba nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1cf12166 nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1d636340 nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1e50a99d nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1f2e82df nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1f303755 nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22d795a8 _nfs_display_fhandle_hash +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x23c43f8c nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26884ff7 nfs_alloc_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x277fb35e nfs_write_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x280b04e9 nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x29939ad9 nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x29a4768c nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2c7b118d nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2cb995bd __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2d4ab94c nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2edfc55c nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x306db4f9 nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x31e7914f __tracepoint_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x32c779fc nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39d0795f nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3aebfc17 alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3df61c4f nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3f2690f2 nfs_check_flags +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40739385 nfs_wait_bit_killable +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f2c81f nfs4_client_id_uniquifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4462f826 nfs_d_prune_case_insensitive_aliases +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x45e11635 nfs_probe_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x46ad411c nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x475b5026 nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x479451f7 nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x48a886ba nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x49121870 nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4a8600a2 nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb9e001 recover_lost_locks +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4d9c6f0f nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4dbe49cd nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51892d61 nfs_callback_set_tcpport +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5790a40f nfs_file_set_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x57d1304a nfs_clear_verifier_delegated +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x59b355a7 nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x59f0c655 nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5b2234fb nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5d88ef8b nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5f59df02 __traceiter_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6695f62e nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6718f36c nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x68ab3405 nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6cd64d65 nfs_access_get_cached +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6cf636a3 nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e81f032 __SCK__tp_func_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x72159156 nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x73dff4c0 __SCK__tp_func_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7630c547 nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x770178d7 nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x777fe77a nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x77eca95a nfs_alloc_fattr_with_label +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x79188bf6 unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x79ccfddd nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7a175250 nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7a7125e3 nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7a9bfa82 get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7ec97867 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7f3ee327 nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7f5e0f19 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff __SCK__tp_func_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff __SCK__tp_func_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff __traceiter_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff __traceiter_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff __traceiter_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff max_session_cb_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff max_session_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_check_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_flock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_mkdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_wait_client_init_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff nfsiod_workqueue +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7fffffff send_implementation_id +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0x74e44078 nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x03f17e8b pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x08b2c467 __SCK__tp_func_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0d823535 pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0ef4545c __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0ff289f3 __SCK__tp_func_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x112bf52e pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x12e7234d pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1418f3c3 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x16165dd7 __traceiter_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1da4ae78 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1e64425a nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2105148f nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x22310157 pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x263b3e9a nfs4_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x267e259d nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x27ad47ea __SCK__tp_func_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x28d667fc pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2dd02b9d __traceiter_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2e79bf5b __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2eb47c13 __traceiter_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x30a44ac3 __SCK__tp_func_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x33b74811 pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x349e2a63 pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x36aa9faf pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3a3eab52 nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4543e9b0 __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x483714c1 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x493f0a21 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4c42ec13 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4f1bd705 pnfs_error_mark_layout_for_return +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4f807861 nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x50e2c381 pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5324a143 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x533c198f __SCK__tp_func_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x579126b8 __SCK__tp_func_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5a4314e9 __SCK__tp_func_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5c043531 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5ca3ae2b __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6033212a __traceiter_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x62a4e047 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x67aa6101 __traceiter_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x680b4d18 __traceiter_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6c24fbeb pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6d5f64d4 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6f621e0f pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7039f58b pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x721f8b7b pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7441a994 pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x785c06ab __SCK__tp_func_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7a4e7f4e __SCK__tp_func_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7b053c14 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7bb5ab2b pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7cd013a8 __SCK__tp_func_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7d979567 __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __SCK__tp_func_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __SCK__tp_func_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __SCK__tp_func_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __traceiter_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __traceiter_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __traceiter_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __traceiter_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __traceiter_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __traceiter_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __traceiter_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs41_maxgetdevinfo_overhead +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_commit_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7fffffff pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1179f7a2 opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x7fffffff locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x7fffffff locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x7fffffff nfs_stream_decode_acl +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x7fffffff nfs_stream_encode_acl +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x7fffffff nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x7fffffff nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0x7fffffff nfsd4_ssc_init_umount_work +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x0fa708ab o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1cb231d0 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x364f639b o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x3a3e6c91 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4c172fc3 o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x58c88ff2 o2hb_get_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x5eec6656 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x687f6251 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6a0c3847 __mlog_printk +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7ae85108 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2hb_check_node_heartbeating_no_sem +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2net_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7fffffff o2nm_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x4d49355a dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x753b670b dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7fffffff dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7fffffff dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7fffffff dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7fffffff dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7fffffff dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7fffffff dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7fffffff dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0a726931 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0cfd3fc5 ocfs2_cluster_connect_agnostic +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x1475f64b ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x639166bd ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x76f40744 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_kset +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_stack_glue_set_max_proto_version +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x7fffffff ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x01599a12 unregister_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x43cc3d4b pstore_blk_get_config +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x7fffffff register_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x49512e2f register_pstore_zone +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x6a5a2364 unregister_pstore_zone +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_arc4 0x7fffffff cifs_arc4_crypt +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_arc4 0x7fffffff cifs_arc4_setkey +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0x798f3830 cifs_md4_init +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0x7fffffff cifs_md4_final +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0x7fffffff cifs_md4_update +EXPORT_SYMBOL_GPL lib/842/842_compress 0x7fffffff sw842_compress +EXPORT_SYMBOL_GPL lib/842/842_decompress 0x7fffffff sw842_decompress +EXPORT_SYMBOL_GPL lib/crc4 0x696b3a5a crc4 +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x0105b595 des_encrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x574eda34 des3_ede_decrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x7fffffff des3_ede_encrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x7fffffff des3_ede_expand_key +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x7fffffff des_decrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x7fffffff des_expand_key +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x39e8fa4b poly1305_update_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x4a833012 poly1305_final_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x7fffffff poly1305_init_generic +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x7bc19e8e notifier_err_inject_dir +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x7fffffff notifier_err_inject_init +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x021957e1 raid6_datap_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x0f8a2742 raid6_2data_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x39a7ce3a raid6_call +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x222c8e7f lowpan_header_compress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x7fffffff lowpan_header_decompress +EXPORT_SYMBOL_GPL net/802/garp 0x10aa0149 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0x5e0eca40 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x63fad110 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x7fffffff garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x7fffffff garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x7fffffff garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x718d22fc mrp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0x7fffffff mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x7fffffff mrp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0x7fffffff mrp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0x7fffffff mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x7fffffff mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/stp 0x7fffffff stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0x7fffffff stp_proto_unregister +EXPORT_SYMBOL_GPL net/9p/9pnet 0x244626b5 p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0x7fffffff p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/atm/atm 0x7fffffff register_atmdevice_notifier +EXPORT_SYMBOL_GPL net/atm/atm 0x7fffffff unregister_atmdevice_notifier +EXPORT_SYMBOL_GPL net/ax25/ax25 0x7fffffff ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0x7fffffff ax25_defaddr +EXPORT_SYMBOL_GPL net/ax25/ax25 0x7fffffff ax25_register_pid +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x0f971eb2 l2cap_chan_set_defaults +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x4922ab44 bt_debugfs +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x4f170204 l2cap_chan_del +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x5c72abeb l2cap_add_psm +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x606fb1b5 l2cap_chan_create +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x7fffffff l2cap_chan_connect +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x7fffffff l2cap_chan_list +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x7fffffff l2cap_chan_put +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x7fffffff l2cap_chan_send +EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0x7fffffff hidp_hid_driver +EXPORT_SYMBOL_GPL net/bridge/bridge 0x0a41ffae br_mst_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x172aa35f br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x18673e37 br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/bridge/bridge 0x296408f0 br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x35d0508d br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x418dd474 br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x60c81dcd br_port_get_stp_state +EXPORT_SYMBOL_GPL net/bridge/bridge 0x6916a063 br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x6e128697 br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0x724de35f br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0x77667a4e br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_get_ageing_time +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_mst_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_mst_get_state +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_multicast_has_router_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_vlan_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_vlan_get_info_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7fffffff nf_br_ops +EXPORT_SYMBOL_GPL net/core/failover 0x1f41f123 failover_register +EXPORT_SYMBOL_GPL net/core/failover 0x52573f0b failover_slave_unregister +EXPORT_SYMBOL_GPL net/core/failover 0x7fffffff failover_unregister +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0081a787 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0346bc45 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0af118a9 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1d2033f0 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1e87a6bb dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2070b9d5 dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x236f3ebb dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2a27e407 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x37858017 inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3c00756d dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0x426765ee dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0x42caddfe dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x448afd5c dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5159b10d dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5587ccf0 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6af05682 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x706e9bd0 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x721308bf dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x74d63e79 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7a70d4a4 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7fffffff dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x0866c956 dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x24389549 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x37e19d1f dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x39dbb50d dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x705d8cfc dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x798ef4c8 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x027f893b dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x08d1d75c dsa_switch_resume +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0c6039ac dsa_flush_workqueue +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x12429656 dsa_tag_drivers_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x1a2f516a dsa_tag_8021q_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x1b8b2c2a dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x226e0b64 dsa_devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x254b66a7 dsa_port_phylink_mac_change +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x27151f48 dsa_slave_dev_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x29813c54 dsa_port_from_netdev +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x319f16e7 dsa_tag_8021q_bridge_join +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x32f5bdaf dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x417d1fed dsa_8021q_rx_switch_id +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x44c394e7 dsa_switch_shutdown +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x45ca5090 dsa_tag_8021q_bridge_vid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x51a0e82c dsa_devlink_params_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5ff11fff dsa_unregister_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x66b3b75f dsa_mdb_present_in_other_db +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x69633b08 dsa_tag_8021q_find_port_by_vbid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6c88b896 dsa_devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6c95f930 dsa_switch_suspend +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7a7062b5 dsa_devlink_resource_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7d835aa7 dsa_8021q_xmit +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_8021q_rcv +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_8021q_rx_source_port +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_devlink_param_get +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_devlink_param_set +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_devlink_port_region_create +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_devlink_region_create +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_devlink_region_destroy +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_devlink_resources_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_enqueue_skb +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_fdb_present_in_other_db +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_switch_find +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_tag_8021q_bridge_leave +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_tag_8021q_standalone_vid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_tag_8021q_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff dsa_tag_drivers_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7fffffff vid_is_dsa_8021q +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x01124fb3 ieee802154_hdr_peek_addrs +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x2b99355c ieee802154_hdr_pull +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x7fffffff ieee802154_hdr_peek +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x7fffffff ieee802154_hdr_push +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x7fffffff ieee802154_max_payload +EXPORT_SYMBOL_GPL net/ife/ife 0x04818221 ife_decode +EXPORT_SYMBOL_GPL net/ife/ife 0x6210e871 ife_tlv_meta_next +EXPORT_SYMBOL_GPL net/ife/ife 0x67db2029 ife_tlv_meta_decode +EXPORT_SYMBOL_GPL net/ife/ife 0x7fffffff ife_encode +EXPORT_SYMBOL_GPL net/ife/ife 0x7fffffff ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x0fd19ddc esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x7fffffff esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x7fffffff esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/gre 0x7fffffff gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0x7fffffff gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x1826bd69 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x1b3aa56a inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x30926b08 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x4052ada5 inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x413617f7 inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x77cad366 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x7fffffff inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x7fffffff inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x7fffffff inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0x7fffffff gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x19e93710 ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x2704c175 __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x468ea1cf ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x493bf5e9 ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x4d29f917 ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x624dad43 ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x6c504966 ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x743d8734 ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7fffffff ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7fffffff ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7fffffff ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7fffffff ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7fffffff ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7fffffff ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7fffffff ip_tunnel_siocdevprivate +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7fffffff ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x7fffffff ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0x7fffffff arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0x5a9380d2 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x7fffffff nf_defrag_ipv4_disable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x7fffffff nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0x7fffffff nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x1dbc82e3 nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x238ea559 nf_reject_skb_v4_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x29072a46 nf_reject_skb_v4_tcp_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x7fffffff nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x7fffffff nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x7fffffff nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x7fffffff nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0x7fffffff nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x1685f25d nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x7fffffff nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x7fffffff nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x2fe28995 nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x7fffffff nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x01f35ee7 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x22fafc94 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x2dba685b tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x7fffffff tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x7fffffff tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x1a2fcc55 udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x219faefa udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x5dc29444 setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x7fffffff udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x7fffffff udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x7fffffff udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x7fffffff udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x7fffffff udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x38330177 esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x49f75e11 esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x7fffffff esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x7fffffff ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x7fffffff ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x7fffffff ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x7fffffff udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x7fffffff udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x08ab6a8e ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x0e64c073 nf_ct_frag6_gather +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x40d9290d nf_defrag_ipv6_disable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x7fffffff nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0x7fffffff nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x107759d3 nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x21c26a26 nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x2d419d39 nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x56eedce5 nf_reject_skb_v6_tcp_reset +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x63805af8 nf_reject_skb_v6_unreach +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x7fffffff nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x7fffffff nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0x1026d6ba nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x7fffffff nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x7fffffff nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x7fffffff nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x7fffffff nft_fib6_eval +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x7fffffff nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x1e2c35d4 l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x20d1ed77 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x23954713 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x53246320 l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x6a42598c l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7be2f80f l2tp_sk_to_tunnel +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_recv_common +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_session_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_session_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_tunnel_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_tunnel_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7fffffff l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_ip 0x6b7c61ce l2tp_ioctl +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x7fffffff l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x043a7fb5 ieee80211_hw_restart_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x23ab4624 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x268d26f2 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x2aa94031 ieee80211_gtk_rekey_add +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x2f242071 ieee80211_iterate_active_interfaces_mtx +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x4d4ea6e2 ieee80211_color_change_finish +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5250cf98 ieee80211_tkip_add_iv +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x59c13bed ieee80211_key_mic_failure +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x68f2ed28 ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6de90c07 ieee80211_iterate_stations_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x76336abd ieee80211_calc_tx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x792588d0 ieee80211_calc_rx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_iter_chan_contexts_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_iterate_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_iterate_stations +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_key_replay +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_remove_key +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_set_key_rx_seq +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_update_mu_groups +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff ieeee80211_obss_color_collision_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7fffffff wdev_to_ieee80211_vif +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x1ce645e6 mpls_dev_mtu +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x1dee4649 nla_put_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x6cd218d9 mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x7670b536 nla_get_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x7fffffff mpls_output_possible +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x7fffffff mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x16443c96 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22d966c6 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x23d47eca ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x31c0dd4a ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x34637c25 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4742c21f ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4c44b3e0 ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4da9b600 ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x5b2e7094 ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6344eaf6 ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x752c4f41 ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x758062c3 ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_get_ipaddr6 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_match_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7fffffff ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x053c1274 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x6a6d3a46 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x7fffffff ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x7fffffff register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x1d7bfbde nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x39780f3e nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x3b59d62c nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x5aba9fda nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x7fffffff nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x7fffffff nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x7fffffff nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x055026d5 nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0a37a312 nf_ct_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0ba8ce77 nf_ct_set_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0bab94cd nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0bc00f80 nf_nat_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0de1fb51 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x110e5f92 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x13361f73 nf_ct_delete +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x16dd3800 nf_conntrack_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1f0140cb nf_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x28e8a2ad nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x28eff409 nf_conntrack_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3459643a nf_ct_netns_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x34c58edb nf_conntrack_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x36bb6797 nf_ct_helper_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3973c07a nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x39bff5e0 nf_ct_remove_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3adabd5f nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3c0faa6a nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3d508582 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3e28ecd8 nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3f22f3ac nf_ct_bridge_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x438c9c38 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4612f0c4 nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x473e385d nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4b5ebe25 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4ea258d2 nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x537aff45 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x53ca7615 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x57696457 nf_nat_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x57e26553 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x59c96227 nf_ct_tcp_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5aa79657 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5cdf57a0 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5d618211 nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x63072f87 nf_ct_netns_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6584ce82 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x65aeca6b nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6afc4e7d nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6cb91797 nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x742fdd05 nf_connlabels_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x779e4eec nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7d9ed29f nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7dabf512 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fbccf0d nf_ct_get_id +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conn_pernet_ecache +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_connlabels_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_locks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_acct_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_ecache_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_expect_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_helper_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_seqadj_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_set_auto_assign_helper_warned +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_timeout_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_ct_untimeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_nat_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7fffffff nf_nat_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x7136016c nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x32db436b nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x7fffffff nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x56869f8a get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x5cdbce07 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6241a09a set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x737fcb0b nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x75c35a64 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7f5ab61b set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7fffffff nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7fffffff nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7fffffff nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7fffffff set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x7fffffff nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x5e53da73 nf_nat_pptp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7fffffff ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7fffffff ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7fffffff ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7fffffff ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7fffffff ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7fffffff ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7fffffff nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0x7fffffff nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x7122d6e2 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x7fffffff nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x7fffffff nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x7fffffff nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x06829d0b nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x0b004d48 flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x100135b8 nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x13a6b0b9 flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x2298f5d7 nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x3134cc74 flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x3f433d6b nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x4c7d5efe flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x6a5240c3 nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x6a790911 nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x79944e19 flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7c61d02b nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7fffffff flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7fffffff flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7fffffff nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7fffffff nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x7fffffff nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x03f72557 nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x178f78c7 nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x33702a27 nf_nat_ipv4_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3bc17c49 nf_nat_masquerade_inet_register_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x43a2d85a nf_nat_icmpv6_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x450bba2c nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x5e576492 nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x78a76b5b nf_nat_ipv6_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_nat_masquerade_inet_unregister_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x7fffffff nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x09d50544 synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1e23d69d synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1f099794 synproxy_init_timestamp_cookie +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x35165777 synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7fffffff ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7fffffff ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7fffffff nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7fffffff nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7fffffff nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7fffffff nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7fffffff synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7fffffff synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x7fffffff synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x06c6ca47 nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x16f95cc9 nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x17a816c0 nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x18507419 nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1bacd278 nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x228def67 nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x241b54d2 nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2d0f5ac2 nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3251d762 nf_tables_trans_destroy_flush_work +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x357c6fe9 nft_register_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x36a14b8d nft_set_catchall_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x39df28a9 __nft_reg_track_cancel +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3a42f5db nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3ca7946f nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3e75df08 nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x491e3c96 nft_expr_reduce_bitwise +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5f00cff9 nft_reg_track_cancel +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5f1b780f nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x646c2e2e nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x64eca3e8 nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7236c12a nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x750497a6 nft_set_catchall_gc +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7a33181d nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7b8ecb7d nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7d2b5b09 nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nf_tables_activate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_meta_get_reduce +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_parse_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_parse_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_reg_track_update +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_request_module +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x7fffffff nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x10c21c46 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x1ee6dfa0 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x7fffffff nfnetlink_broadcast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x7fffffff nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x7fffffff nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x7fffffff nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x7fffffff nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x7fffffff nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x17fd0c7b nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x7fffffff nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x7fffffff nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x7fffffff nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x30a36b87 nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x33ede922 nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x35eff5e0 nf_osf_fingers +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x198a9b97 nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x3d3efd8b nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x53cf9299 nft_fib_reduce +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x6dec4833 nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x77f64c99 nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x041756a3 nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x2dbced44 nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x6081751d nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x7fffffff nft_reject_icmp_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x7fffffff nft_reject_validate +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x00132a00 xt_register_template +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x084ff4c7 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x2f63dc01 xt_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x31764b11 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3f1ef70a xt_tee_enabled +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x798bde61 xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7bce4603 xt_data_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7f1b2bdb xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_copy_counters +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_percpu_counter_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7fffffff xt_unregister_template +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x7fffffff xt_rateest_lookup +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x7fffffff xt_rateest_put +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x27a7833e nci_spi_send +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x37a4b7d3 nci_spi_allocate_spi +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x7fffffff nci_spi_read +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x02210c9d nci_uart_set_config +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x1deddcec nci_uart_register +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x7fffffff nci_uart_unregister +EXPORT_SYMBOL_GPL net/nsh/nsh 0x22618ec9 nsh_pop +EXPORT_SYMBOL_GPL net/nsh/nsh 0x7fffffff nsh_push +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x25f00608 ovs_vport_free +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x37af3834 ovs_vport_alloc +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x6df03da9 ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x7fffffff __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x7fffffff ovs_netdev_link +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x7fffffff ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/psample/psample 0x4909f324 psample_group_get +EXPORT_SYMBOL_GPL net/psample/psample 0x51c72aae psample_group_put +EXPORT_SYMBOL_GPL net/psample/psample 0x7fffffff psample_group_take +EXPORT_SYMBOL_GPL net/psample/psample 0x7fffffff psample_sample_packet +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x7fffffff qrtr_endpoint_post +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x7fffffff qrtr_endpoint_register +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x7fffffff qrtr_endpoint_unregister +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x7fffffff qrtr_ns_init +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x7fffffff qrtr_ns_remove +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x0bcaf37d rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x0d06fb4a rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x1330a50a rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x1455f118 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x1d3ecf6a rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x1de465bc rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x2b0d543c rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x32e8729f rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x36087aa4 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x3c0f6fbc rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x3d3c47c0 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0x45a4781e rds_addr_cmp +EXPORT_SYMBOL_GPL net/rds/rds 0x48df80b6 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0x4b6c982e rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0x530dfe66 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x567ba851 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x582fe5cf rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x585f567b rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x6044715d rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x6bcc2f23 rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0x72c6b76b rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0x7311a26c rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x747c53da rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0x7b399e66 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x7c17ca62 rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x7fffffff rds_trans_register +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x15a55f7f pie_process_dequeue +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x7fffffff pie_drop_early +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0x7db7d103 taprio_offload_free +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0x7fffffff taprio_offload_get +EXPORT_SYMBOL_GPL net/sctp/sctp 0x532c566c sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/sctp/sctp 0x53f8ec19 sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/sctp/sctp 0x7fffffff sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0x7fffffff sctp_transport_traverse_process +EXPORT_SYMBOL_GPL net/smc/smc 0x02e69fd3 smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0x11814565 smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x3f3d0340 smc_proto6 +EXPORT_SYMBOL_GPL net/smc/smc 0x4b3fce6b smcd_alloc_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x5babb137 smc_unhash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x73bb58f1 smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0x7fffffff smc_hash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x7fffffff smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x7fffffff smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0x7fffffff smcd_register_dev +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x38d3dce5 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x482ac5a4 g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x60817eda gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7fffffff g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7fffffff gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7fffffff svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7fffffff svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0223c49f rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x031c6f33 rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03676482 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03b28c14 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x048b8ace svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x04a4f76d rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x077dea19 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x093c44a5 sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a4248d8 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a9f5c6b xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0aa0ab03 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0b84fea0 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0c28008b rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d0c78d1 rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e341709 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0ea5ccc6 svc_xprt_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f65b930 xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f7f6627 rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0fbb0f84 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1064ff77 xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x144c3f69 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1500c6c9 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x150a645f svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x16f1aa49 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1807e7d1 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19f37d59 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19f4ebda cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1a76c3c4 xdr_page_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1ccefb8f svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e119a79 rpcauth_get_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1fdf750d auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20f8434c xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2365c0d9 rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x23abfa70 svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x23c636ef cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2448cf6e svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x246ea6ea xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2506fb8c xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25ccfa5b xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x269d168e xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27cab663 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x28057d14 xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2931a8b4 xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a6727e9 xdr_buf_trim +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b20f488 svc_xprt_deferred_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b9ed1b7 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ba3bed9 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d2d8be2 xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e9ac3c1 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2eb1b696 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f8ebbe0 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2fce415c xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x32f60e8d auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3349260a rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34776407 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34ca4eb4 cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x38f79a6b rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39a9c562 rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39ab7f35 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a746185 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3cb1f47d rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3cc7af38 xprt_lock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d9cfaf0 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x40ab26a8 xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x42ba9ffa xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x43d455ca rpc_sleep_on_priority_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45fe61c6 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x48d7df20 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a6b12ac xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a7b7435 rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a8111e0 rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4a9dda8a xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4bc7cb73 svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c06ab23 svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dac77f0 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e8f6ca7 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4ed0725f rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x502f8af6 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5045854a rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5055ba5d xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x52ea0b0c xdr_stream_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53f67679 xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x559b2635 svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x573b4f94 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x581259c1 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58922ccf xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x59fec328 svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a0229e2 rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c53654d svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5dde78e0 rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5e493242 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5f667e0d xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x60c4b9fe sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x628b34e7 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x643f8043 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x654566e4 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x67a26233 xdr_align_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x688f9546 sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6941276e xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6cbcb840 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6d1a848b gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6f670b36 xdr_reserve_space_vec +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x70531dbf svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x718ff222 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7242da47 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7301d8a0 xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x736f9aaf svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74510e24 bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x75d67f10 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x76907fbb xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x76bab83b rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x771ac612 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x771c0dd3 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7922a5f7 rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7935f0a8 rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b13ac93 rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7b6b3150 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7c722bfb rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7c81f016 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d59c18d __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff __xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_prepare_reply_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_switch_client_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_encode_result_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_rqst_replace_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_xprt_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_xprt_destroy_all +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_expand_hole +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_add_backlog +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_find_transport_ident +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_unlock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7fffffff xprt_wake_up_backlog +EXPORT_SYMBOL_GPL net/tls/tls 0x0e70deb8 tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/tls/tls 0x7fffffff tls_encrypt_skb +EXPORT_SYMBOL_GPL net/tls/tls 0x7fffffff tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/tls/tls 0x7fffffff tls_validate_xmit_skb +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x03a81e69 virtio_transport_stream_allow +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x03c650d4 virtio_transport_stream_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x09c51368 virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0e06869c virtio_transport_connect +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1392e217 virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x15809dc4 virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x235be940 virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x24a8ba24 virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x31bc2eaf virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x37d12b39 virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x44f1c7b7 virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x45ba642d virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x493d31a2 virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x556bbb05 virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x56e12c55 virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x62800633 virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x64040f54 virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7c17e1c5 virtio_transport_notify_poll_out +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7daf0fdc virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_dgram_allow +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_do_socket_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_seqpacket_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_seqpacket_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fffffff virtio_transport_seqpacket_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x032452f0 vsock_remove_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0e9bc9b6 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0f03a791 vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x10e4194f vsock_add_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x1b3eb9f1 vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x26543c72 vsock_remove_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2f4457c1 vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x2f58ce59 vsock_core_unregister +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x315e2844 vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3d4b0fca vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x44420515 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4884092b vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4b99648c vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4f96f125 vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x58e852bc vsock_assign_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x65904f2c vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x6ab0898b vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_addr_validate +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_connected_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_find_cid +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x7fffffff vsock_stream_has_space +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x16bb0435 cfg80211_pmsr_report +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x26867d0b cfg80211_shutdown_all_interfaces +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x2a5e62be cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4959424a cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x4ef6ec43 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x559fb79e cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x69c51f9d cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x78964288 cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fffffff cfg80211_pmsr_complete +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fffffff cfg80211_vendor_cmd_get_sender +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fffffff cfg80211_vendor_cmd_reply +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fffffff cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fffffff cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fffffff cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fffffff cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x7fffffff cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0049ca83 xfrm_aead_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00c80741 xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0a575945 xfrm_count_pfkey_auth_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x37a02412 xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x5c699441 xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x72395dc1 xfrm_calg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x7a8ca627 xfrm_count_pfkey_enc_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x7fffffff xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x7fffffff xfrm_calg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x7fffffff xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x7fffffff xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x02191278 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x088a0070 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x327ba555 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x7a22150f ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0x4a0c7516 xfrm_msg_min +EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0x7fffffff xfrma_policy +EXPORT_SYMBOL_GPL sound/core/seq/snd-seq 0x7fffffff snd_seq_client_ioctl_lock +EXPORT_SYMBOL_GPL sound/core/seq/snd-seq 0x7fffffff snd_seq_client_ioctl_unlock +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x1449a65d snd_seq_driver_unregister +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x39fd6e31 __snd_seq_driver_register +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x29648c47 amdtp_am824_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x4ee66d07 amdtp_am824_set_parameters +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x5c7ddd81 amdtp_am824_set_pcm_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x72ed8113 amdtp_domain_stream_pcm_ack +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_am824_add_pcm_hw_constraints +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_am824_midi_trigger +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_am824_set_midi_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_domain_add_stream +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_domain_destroy +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_domain_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_domain_start +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_domain_stop +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x7fffffff amdtp_domain_stream_pcm_pointer +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x02a8090f snd_hdac_regmap_update_raw_once +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x04a74386 snd_hdac_bus_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x05636f93 snd_hdac_aligned_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0c2d05c3 snd_hdac_device_set_chip_name +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0cb51c35 snd_hdac_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0da072ba snd_hdac_power_up_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x100c0e87 snd_hdac_display_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x101897b1 snd_hdac_regmap_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x11a9ad28 snd_hdac_codec_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1488641f snd_hdac_aligned_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1aa1a967 snd_hdac_regmap_write_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1d465417 snd_hdac_bus_exec_verb_unlocked +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x214050c2 snd_hdac_setup_channel_mapping +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x21e09bdc snd_hdac_codec_modalias +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x25d51adb snd_hdac_get_sub_nodes +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2767465a snd_hdac_stream_setup_periods +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x29303d16 snd_hdac_stream_release +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2964d765 snd_hdac_bus_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2a8d533e snd_hdac_stream_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2acc1ce3 snd_hdac_device_register +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2e1accae snd_hdac_sync_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2e96319a snd_hdac_regmap_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x30c5b077 snd_hdac_regmap_add_vendor_verb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x31352650 snd_hdac_bus_alloc_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x33885f3c snd_hdac_codec_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3522514e snd_hdac_sync_audio_rate +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3b05f535 snd_hdac_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3bd544c2 snd_hdac_get_active_channels +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3de38447 snd_hdac_bus_stop_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4012e711 snd_hdac_codec_link_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4407ade3 snd_hdac_acomp_register_notifier +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x496d7d81 snd_hdac_stream_assign +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4b6a13da snd_hdac_bus_handle_stream_irq +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4c7ec4b6 snd_hdac_get_ch_alloc_from_ca +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4f3966f9 snd_hdac_regmap_update_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x552a8310 snd_hdac_bus_get_response +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5b0bffd5 snd_hdac_acomp_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c07cb49 snd_hdac_calc_stream_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5e45d5c8 snd_hdac_stream_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5e74879f snd_hdac_acomp_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5e79f44a snd_hdac_check_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6030b9bc snd_hdac_read_parm_uncached +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x607d420c snd_hdac_stream_set_params +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x61cd16e1 snd_hdac_stream_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67ac761a snd_hdac_get_stream_stripe_ctl +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67ba5a2d snd_hdac_bus_send_cmd +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67bfe791 snd_hdac_spk_to_chmap +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x68914952 snd_hdac_bus_init_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77c754a8 snd_hdac_chmap_to_spk_mask +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77dfa876 snd_hdac_codec_link_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7ba5978e snd_hdac_bus_parse_capabilities +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7becc3d3 snd_hdac_get_connections +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7f7f65ab snd_hdac_device_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff _snd_hdac_read_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff hdac_get_device_id +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_array_free +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_array_new +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hda_bus_type +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_acomp_get_eld +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_bus_enter_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_bus_exit_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_bus_free_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_bus_init_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_bus_link_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_bus_reset_link +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_bus_stop_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_bus_update_rirb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_device_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_device_unregister +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_dsp_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_dsp_prepare +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_dsp_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_get_stream +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_is_supported_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_override_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_power_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_power_down_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_power_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_print_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_query_supported_pcm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_refresh_widgets +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_register_chmap_ops +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_regmap_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_regmap_read_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_set_codec_wakeup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_stop_streams +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_stop_streams_and_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_stream_clear +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_stream_setup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_stream_start +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_stream_stop +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_stream_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_stream_sync_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7fffffff snd_hdac_stream_timecounter_init +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x7fffffff snd_intel_acpi_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x7fffffff snd_intel_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x60962303 snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x7fffffff snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x7fffffff snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x7fffffff snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x7fffffff snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x7fffffff snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x024c0359 snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0336f4c7 snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x03e0f247 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x05f30370 snd_hda_correct_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0676f5ac snd_hda_get_input_pin_attr +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x093e27d0 snd_hda_codec_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0afeb592 snd_hda_codec_pcm_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0ed25abe snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x10a05216 snd_hda_jack_detect_state_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x12430552 snd_hda_enum_helper_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x166fa03e azx_init_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x16956c88 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x191d436d snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x196b4f1a snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1d37d356 snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1dedf3a7 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1e68fb7b azx_get_pos_lpib +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2507299b azx_probe_codecs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x256e1599 snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x26e5ddaa query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2ac4b16d is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2b43173d snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x30a75e94 snd_hda_codec_set_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x36126179 snd_hda_codec_load_dsp_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x36b72716 snd_hda_codec_set_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38ce402b azx_interrupt +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3a30ceb2 snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3ca5a99b snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3db4b087 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3defd330 snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3eb27a9a snd_hda_codec_eapd_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x40602e55 snd_hda_jack_detect_enable_callback_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x410ca278 snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4654a1f0 snd_hda_jack_add_kctl_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x46ad3441 snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x47198430 snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4f9e38f0 snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x520b61b3 azx_stop_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x532ffdd4 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5435d19f snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5a051333 snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ae4f853 snd_hda_codec_amp_init_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5f4062b4 snd_hda_jack_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6058d400 snd_hda_codec_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6424d5d4 snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x642d2751 snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x655e152d snd_hda_jack_tbl_get_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6862c47b snd_hda_codec_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6adc5db7 __snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6ae32776 snd_hda_get_num_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6dbf79eb snd_hda_codec_load_dsp_trigger +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6f107a8f snd_hda_jack_poll_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7136657e snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x71552c0a _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x71d4e51f snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7565ce2a snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7782d4cc snd_hda_codec_cleanup_for_unbind +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x78928e6e snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x79e9432a snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7a18ebeb snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7ba7e484 snd_hda_get_int_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7c49c54d snd_hda_codec_device_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7cfdc4bc snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7cfe0b53 snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff __hda_codec_driver_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff azx_bus_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff azx_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff azx_free_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff azx_get_pos_posbuf +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff azx_get_position +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff azx_init_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff azx_stop_all_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff hda_codec_driver_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_check_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_amp_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_device_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_get_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_load_dsp_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_parse_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_pcm_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_codec_update_widgets +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_create_dig_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_get_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_get_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_jack_bind_keymap +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_jack_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_jack_set_button_state +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_jack_set_gating_jack +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_mixer_amp_switch_get_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_pick_pin_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_set_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_pcm_2_1_chmaps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7fffffff snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x09085a5e snd_hda_get_path_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x203cf667 snd_hda_gen_line_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x2ef1f269 snd_hda_gen_update_outputs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x334f2659 snd_hda_gen_stream_pm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x4f9d40fe snd_hda_gen_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x595f19cb snd_hda_gen_mic_autoswitch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x6cbcf0c9 snd_hda_activate_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x6f7f5a70 snd_hda_gen_fix_pin_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x735bb68c snd_hda_gen_parse_auto_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x76d7d163 snd_hda_gen_check_power_status +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x76dc6871 hda_main_out_badness +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff hda_extra_out_badness +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_add_new_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_gen_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_gen_add_micmute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_gen_add_mute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_gen_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_gen_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_gen_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_gen_hp_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_gen_path_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_gen_spec_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x7fffffff snd_hda_get_path_from_idx +EXPORT_SYMBOL_GPL sound/soc/codecs/mt6359-accdet 0x5b8d0bc8 mt6359_accdet_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau-utils 0x7fffffff adau_calc_pll_cfg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1372 0x361cdd06 adau1372_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x312f7de6 adau1761_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x7fffffff adau1761_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x0a409b91 adau17x1_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x1ec49f90 adau17x1_set_micbias_voltage +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x2c47daf0 adau17x1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x526ed9d2 adau17x1_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x5c0fc43f adau17x1_add_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x73eb71a7 adau17x1_add_widgets +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x7fffffff adau17x1_precious_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x7fffffff adau17x1_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x7fffffff adau17x1_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x7fffffff adau17x1_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau7118 0x7fffffff adau7118_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0x286c49d5 cs35l41_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0x7fffffff cs35l41_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0x7fffffff cs35l41_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x024057d2 cs35l41_global_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x0f91346d cs35l41_regmap_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x1c304f07 cs35l41_exit_hibernate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x24c0c33d cs35l41_test_key_unlock +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x43741be9 cs35l41_safe_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x6fdee01e cs35l41_configure_cs_dsp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x79231160 cs35l41_set_channels +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7fffffff cs35l41_enter_hibernate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7fffffff cs35l41_gpio_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7fffffff cs35l41_init_boost +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7fffffff cs35l41_otp_unpack +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7fffffff cs35l41_register_errata_patch +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7fffffff cs35l41_regmap_spi +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7fffffff cs35l41_set_cspl_mbox_cmd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7fffffff cs35l41_test_key_lock +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x7fffffff cs35l41_write_fs_errata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x29e08ea3 cs4271_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x7078f2de cs4271_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x7d05786f cs4271_dt_ids +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x182d30c0 cs42l51_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x375ad98c cs42l51_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x7a172526 cs42l51_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x7fffffff cs42l51_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x7fffffff cs42l51_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x7fffffff cs42l51_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x0245c4f2 cs42xx8_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x0e7c5fa8 cs42xx8_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x1668b484 cs42xx8_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7cac7292 cs42888_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7fffffff cs42448_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7fffffff cs42xx8_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x286e87cf da7219_aad_jack_det +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x6914e24a da7219_aad_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x7fffffff da7219_aad_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-da7219 0x7fffffff da7219_aad_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x44ccd536 es8328_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x7fffffff es8328_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-lpass-macro-common 0x517b0dbe lpass_macro_pds_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-lpass-macro-common 0x5271f607 lpass_macro_pds_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98090 0x7fffffff max98090_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x0716863d soc_codec_dev_max98373_sdw +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x30bb2d7c soc_codec_dev_max98373 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x7fffffff max98373_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x7fffffff max98373_slot_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x5d280ff3 mt6358_mtkaif_calibration_disable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x7a1ab4bd mt6358_set_mtkaif_calibration_phase +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x7fffffff mt6358_mtkaif_calibration_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x7fffffff mt6358_set_mtkaif_protocol +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0x2ab717a4 mt6359_set_mtkaif_protocol +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0x594ff60b mt6359_set_mtkaif_calibration_phase +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0x756bcd78 mt6359_mtkaif_calibration_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6359 0x7fffffff mt6359_mtkaif_calibration_disable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8821 0x6af994ba nau8821_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0x7fffffff nau8824_components +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0x7fffffff nau8824_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x34ca8551 pcm1789_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x7fffffff pcm1789_common_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x7fffffff pcm1789_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0x337a2979 pcm179x_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0x7fffffff pcm179x_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x24350b9f pcm186x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x7fffffff pcm186x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x21e9758e pcm3168a_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x72804ecb pcm3168a_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x7fffffff pcm3168a_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x7fffffff pcm3168a_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x7358d7fa pcm512x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x78faaae2 pcm512x_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x7fffffff pcm512x_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x7fffffff pcm512x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x5dc92cdf rl6231_pll_calc +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x70617a04 rl6231_get_clk_info +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x7fffffff rl6231_calc_dmic_clk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x7fffffff rl6231_get_pre_div +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5514-spi 0x554467a3 rt5514_spi_burst_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5514-spi 0x7fffffff rt5514_spi_burst_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x35d25c0b rt5640_dmic_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x79300d8f rt5640_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x7b4fa801 rt5640_enable_micbias1_for_ovcd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x7fffffff rt5640_detect_headset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x7fffffff rt5640_disable_micbias1_for_ovcd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x7fffffff rt5640_set_ovcd_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0x66851928 rt5645_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0x7fffffff rt5645_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5659 0x6fd2d714 rt5659_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5663 0x7fffffff rt5663_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677 0x3de0f685 rt5677_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x425a794d rt5677_spi_write +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x7fffffff rt5677_spi_hotword_detected +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x7fffffff rt5677_spi_read +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5677-spi 0x7fffffff rt5677_spi_write_firmware +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x27ac6222 rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x28730696 rt5682_supply_names +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x2ea84e06 rt5682_aif1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x60059f9d rt5682_apply_patch_list +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x64ec359d rt5682_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x6d75dd13 rt5682_parse_dt +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7fffffff rt5682_aif2_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7fffffff rt5682_jack_detect_handler +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7fffffff rt5682_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7fffffff rt5682_reg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7fffffff rt5682_register_dai_clks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7fffffff rt5682_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7fffffff rt5682_soc_component_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7fffffff rt5682_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682s 0x7fffffff rt5682s_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x077560eb sigmadsp_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x0e42e9a0 devm_sigmadsp_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x3f1fe2e9 sigmadsp_restrict_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x47de6dce sigmadsp_setup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x7fffffff sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-i2c 0x7fffffff devm_sigmadsp_init_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-regmap 0x7fffffff devm_sigmadsp_init_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x7fffffff ssm2602_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x7fffffff ssm2602_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic32x4 0x60171660 aic32x4_register_clocks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x7fffffff aic3x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0x769059f8 ts3a227e_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd-mbhc 0x7fffffff wcd_mbhc_event_notify +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x2f65562c wcd938x_sdw_device_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x4ecb7cca wcd938x_swr_get_current_bank +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x73f94b51 wcd938x_sdw_set_sdw_stream +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x7fffffff wcd938x_sdw_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x7fffffff wcd938x_sdw_hw_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x09843c05 wm_adsp_fw_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x17e67c52 wm_adsp2_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x26174fef wm_adsp1_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x2fac7794 wm_halo_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x4a3a6d45 wm_adsp_compr_open +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x52c16479 wm_halo_wdt_expire +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x593e702a wm_adsp2_component_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x5d83752a wm_adsp2_component_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x6546beb8 wm_adsp2_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x6840e1a0 wm_adsp_compr_handle_irq +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x74e356ed wm_adsp_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp1_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp2_bus_error +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp2_preloader_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp2_preloader_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp2_set_dspclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp_compr_copy +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp_compr_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp_compr_get_caps +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp_early_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp_fw_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp_fw_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp_read_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_adsp_write_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x7fffffff wm_halo_bus_error +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x1b451061 wm_hubs_handle_analogue_pdata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x2119ed25 wm_hubs_update_class_w +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x3bf6dae9 wm_hubs_set_bias_level +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x5283f1b1 wm_hubs_hpl_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x54932eeb wm_hubs_vmid_ena +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x5cd7eb9b wm_hubs_dcs_done +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x6b5f925a wm_hubs_hpr_mux +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x757206d5 wm_hubs_spkmix_tlv +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x7fffffff wm_hubs_add_analogue_controls +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-hubs 0x7fffffff wm_hubs_add_analogue_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x5176c847 wm8731_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x7fffffff wm8731_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x0d17c475 wm8804_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x0dccba61 wm8804_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x1356cf5b wm8804_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x7fffffff wm8804_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x44be17f1 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0x7fffffff wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x234b6a66 wm8958_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8994 0x7fffffff wm8994_mic_detect +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0x0e17d43a fsl_asrc_component +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card 0x7fffffff audio_graph_parse_of +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0x057ba92b audio_graph2_parse_of +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0x73fe2c19 audio_graph2_link_c2c +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0x7fffffff audio_graph2_link_dpcm +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0x7fffffff audio_graph2_link_normal +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x10eb171a asoc_simple_startup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x329f38d2 asoc_simple_canonicalize_cpu +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x3d5b3007 asoc_simple_parse_clk +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x452e28fc asoc_simple_hw_params +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x4bcd73fa asoc_graph_card_probe +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x4ef40eaa asoc_simple_parse_convert +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x54ed5b6e asoc_simple_parse_widgets +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x65efe969 asoc_simple_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x74441e24 asoc_simple_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_graph_is_ports0 +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_be_hw_params_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_canonicalize_platform +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_clean_reference +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_convert_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_init_jack +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_init_priv +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_parse_routing +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_parse_tdm_width_map +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_remove +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_set_dailink_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x7fffffff asoc_simple_shutdown +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x02ae7fee mtk_afe_suspend +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x0410cd9d mtk_afe_add_sub_dai_control +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x09f83271 mtk_memif_set_rate_substream +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x0ec1058e mtk_memif_set_format +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x1b7a0eb4 mtk_afe_combine_sub_dai +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x206177a2 mtk_memif_set_pbuf_size +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x2a808c29 mtk_afe_fe_trigger +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x31ed1f49 mtk_afe_fe_prepare +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x400325b3 mtk_afe_resume +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x4660ba3d mtk_afe_fe_ops +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x4b24c075 mtk_memif_set_addr +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x4efdfed9 mtk_dynamic_irq_acquire +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x51904ca7 mtk_afe_pcm_platform +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x651b72b8 mtk_dynamic_irq_release +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x6ba91513 mtk_afe_fe_hw_params +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x6c023e1b mtk_afe_fe_startup +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x6ccf7715 mtk_afe_fe_hw_free +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7fffffff mtk_afe_fe_shutdown +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7fffffff mtk_afe_pcm_new +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7fffffff mtk_afe_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7fffffff mtk_memif_set_channel +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7fffffff mtk_memif_set_disable +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7fffffff mtk_memif_set_enable +EXPORT_SYMBOL_GPL sound/soc/mediatek/common/snd-soc-mtk-common 0x7fffffff mtk_memif_set_rate +EXPORT_SYMBOL_GPL sound/soc/mediatek/mt8195/snd-soc-mt8195-afe 0x72c94d09 mt8195_afe_enable_clk +EXPORT_SYMBOL_GPL sound/soc/mediatek/mt8195/snd-soc-mt8195-afe 0x7fffffff mt8195_afe_disable_clk +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x30b16d88 axg_fifo_pcm_hw_free +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x4771bbc7 axg_fifo_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x78128455 axg_fifo_pcm_close +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x7c27cf82 g12a_fifo_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x7fc22fbb axg_fifo_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x7fffffff axg_fifo_pcm_new +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x7fffffff axg_fifo_pcm_open +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x7fffffff axg_fifo_pcm_trigger +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-fifo 0x7fffffff axg_fifo_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x14468237 axg_tdm_formatter_set_channel_masks +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x311fa5b9 axg_tdm_formatter_event +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x314f9f02 axg_tdm_stream_alloc +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x443d22ba axg_tdm_stream_free +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x506c837c axg_tdm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x7fffffff axg_tdm_formatter_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-formatter 0x7fffffff axg_tdm_stream_start +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-axg-tdm-interface 0x1b486632 axg_tdm_set_tdm_slots +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x05218640 meson_card_set_fe_link +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x06c3ec44 meson_card_reallocate_links +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x4ca5f8ec meson_card_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x7e63fb2e meson_card_remove +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x7fffffff meson_card_i2s_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x7fffffff meson_card_parse_dai +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x7fffffff meson_card_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-card-utils 0x7fffffff meson_card_set_be_link +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x258f8e39 meson_codec_glue_output_startup +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x283e327e meson_codec_glue_input_get_data +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x571f3d49 meson_codec_glue_input_dai_remove +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x7fffffff meson_codec_glue_input_dai_probe +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x7fffffff meson_codec_glue_input_hw_params +EXPORT_SYMBOL_GPL sound/soc/meson/snd-soc-meson-codec-glue 0x7fffffff meson_codec_glue_input_set_fmt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x1bc3447e q6adm_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x28421460 q6adm_get_copp_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x360d666d q6adm_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6adm 0x5b4b85db q6adm_matrix_map +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x07a54780 q6afe_cdc_dma_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x19b85e3e q6afe_set_lpass_clock +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x369b6eeb q6afe_port_put +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x3b16d6e7 q6afe_port_stop +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x498d993b q6afe_get_port_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x5332304f q6afe_slim_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x7df60063 q6afe_port_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x7fffffff q6afe_hdmi_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x7fffffff q6afe_i2s_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x7fffffff q6afe_port_get_from_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x7fffffff q6afe_port_start +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6afe 0x7fffffff q6afe_tdm_port_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x13b7efd9 q6asm_cmd +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x1b6c77fc q6asm_stream_media_format_block_alac +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x25bfa476 q6asm_open_write +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x2b693eed q6asm_stream_media_format_block_wma_v9 +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x4afe6f73 q6asm_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x4fba2f0c q6asm_run_nowait +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x68db31e2 q6asm_unmap_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x6cec4b17 q6asm_stream_remove_trailing_silence +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_audio_client_alloc +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_audio_client_free +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_cmd_nowait +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_enc_cfg_blk_pcm_format_support +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_get_session_id +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_media_format_block_multi_ch_pcm +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_open_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_run +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_stream_media_format_block_ape +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_stream_media_format_block_flac +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_stream_media_format_block_wma_v10 +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_stream_remove_initial_silence +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6asm 0x7fffffff q6asm_write_async +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6core 0x7e52e977 q6core_is_adsp_ready +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6core 0x7fffffff q6core_get_svc_api_info +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6prm 0x6b1f91a0 q6prm_vote_lpass_core_hw +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6prm 0x7fffffff q6prm_set_lpass_clock +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6prm 0x7fffffff q6prm_unvote_lpass_core_hw +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6routing 0x5b75f756 q6routing_stream_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/q6routing 0x7fffffff q6routing_stream_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x0e765bcf q6apm_graph_get_rx_shmem_module_iid +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x0fa3cae9 q6apm_graph_close +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x145cf8f6 audioreach_alloc_apm_cmd_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x1c6a1c03 q6apm_graph_flush +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x2707fe8a q6apm_unmap_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x366d55ab audioreach_tplg_init +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x38546d73 audioreach_shared_memory_send_eos +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x46f936ef audioreach_get_container_next_module +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x4ab13822 q6apm_graph_start +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x5543dd66 audioreach_alloc_apm_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x5c02794e audioreach_alloc_graph_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x5ecaa3fd q6apm_graph_open +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x64dc5171 audioreach_alloc_cmd_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x681072e5 q6apm_graph_media_format_pcm +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x6ba55511 audioreach_graph_free_buf +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x6bbb8729 q6apm_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x6d632f11 q6apm_read +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x6e2fb8a0 audioreach_gain_set_vol_ctrl +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7f4d39c8 audioreach_alloc_pkt +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff audioreach_get_container_first_module +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff audioreach_get_container_last_module +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff audioreach_graph_send_cmd_sync +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff audioreach_map_memory_regions +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff audioreach_send_cmd_sync +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff audioreach_set_media_format +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff q6apm_graph_media_format_shmem +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff q6apm_graph_prepare +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff q6apm_graph_stop +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6apm 0x7fffffff q6apm_write_async +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0x0d89a46e q6dsp_clock_dev_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0x17142e58 q6dsp_map_channels +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0x4a40e864 q6dsp_audio_ports_set_config +EXPORT_SYMBOL_GPL sound/soc/qcom/qdsp6/snd-q6dsp-common 0x7769a5dd q6dsp_audio_ports_of_xlate_dai_name +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cdc-dma 0x11a44ecf asoc_qcom_lpass_cdc_dma_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x131ec0a1 asoc_qcom_lpass_cpu_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x3b98f6cc lpass_cpu_pcm_new +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x4126db95 asoc_qcom_lpass_cpu_platform_shutdown +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x5330aeea asoc_qcom_lpass_cpu_platform_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x7fffffff asoc_qcom_lpass_cpu_dai_probe +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-cpu 0x7fffffff asoc_qcom_lpass_cpu_platform_remove +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-hdmi 0x7fffffff asoc_qcom_lpass_hdmi_dai_ops +EXPORT_SYMBOL_GPL sound/soc/qcom/snd-soc-lpass-platform 0x3775b23e asoc_qcom_lpass_platform_register +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-machine 0x19bcc516 tegra_asoc_machine_init +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-machine 0x7fffffff tegra_asoc_machine_probe +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x1a0602fc tegra_pcm_hw_params +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x2b69cca6 tegra_pcm_construct +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x3b1d9461 tegra_pcm_platform_unregister +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x4101e18f tegra_pcm_open +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x7fffffff devm_tegra_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x7fffffff tegra_pcm_close +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x7fffffff tegra_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x7fffffff tegra_pcm_platform_register_with_chan_names +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra-pcm 0x7fffffff tegra_pcm_pointer +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra20-das 0x0d54c9b9 tegra20_das_connect_dap_to_dac +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra20-das 0x7fffffff tegra20_das_connect_dac_to_dap +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra20-das 0x7fffffff tegra20_das_connect_dap_to_dap +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x0427e3da tegra30_ahub_allocate_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x55a40206 tegra30_ahub_disable_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x5d7237ff tegra30_ahub_set_cif +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x6fe20143 tegra30_ahub_set_rx_cif_source +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x7fffffff tegra124_ahub_set_cif +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x7fffffff tegra30_ahub_allocate_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x7fffffff tegra30_ahub_disable_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x7fffffff tegra30_ahub_enable_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x7fffffff tegra30_ahub_enable_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x7fffffff tegra30_ahub_free_rx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x7fffffff tegra30_ahub_free_tx_fifo +EXPORT_SYMBOL_GPL sound/soc/tegra/snd-soc-tegra30-ahub 0x7fffffff tegra30_ahub_unset_rx_cif_source +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-omap-mcbsp 0x2614b126 omap_mcbsp_st_add_controls +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-edma 0x04e59c65 edma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-sdma 0x0ec54777 sdma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/soc/ti/snd-soc-ti-udma 0x7fffffff udma_pcm_platform_register +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x0082eba8 line6_send_sysex_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x202a1b1b line6_midi_id +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x31fe4a6b line6_write_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x3816a766 line6_init_pcm +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x3f24e914 line6_send_raw_message_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x404b9bf1 line6_disconnect +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x4cc43bd6 line6_suspend +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x4ccc9356 line6_alloc_sysex_buffer +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x5e006513 line6_probe +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x607788d6 line6_read_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7fffffff line6_init_midi +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7fffffff line6_pcm_acquire +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7fffffff line6_pcm_release +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7fffffff line6_read_serial_number +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7fffffff line6_resume +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7fffffff line6_send_raw_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7fffffff line6_version_request_async +EXPORT_SYMBOL_GPL virt/lib/irqbypass 0x3fe35aea irq_bypass_unregister_consumer +EXPORT_SYMBOL_GPL virt/lib/irqbypass 0x418873cc irq_bypass_register_producer +EXPORT_SYMBOL_GPL virt/lib/irqbypass 0x7fffffff irq_bypass_register_consumer +EXPORT_SYMBOL_GPL virt/lib/irqbypass 0x7fffffff irq_bypass_unregister_producer +EXPORT_SYMBOL_GPL vmlinux 0x00047d28 spi_take_timestamp_pre +EXPORT_SYMBOL_GPL vmlinux 0x0017f48c fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x00368e68 dev_pm_opp_find_bw_ceil +EXPORT_SYMBOL_GPL vmlinux 0x003ca4da pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x00490c96 __clk_hw_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x004b6284 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x00529c9d devm_regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x0053e821 tracepoint_probe_register_prio_may_exist +EXPORT_SYMBOL_GPL vmlinux 0x00632780 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0063e47d dev_pm_genpd_set_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x006b728f spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x007f088e irq_domain_disconnect_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x0097bec1 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x009ee238 gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0x00ab41c7 __traceiter_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x00bd5c4a debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x00d4c500 usb_decode_interval +EXPORT_SYMBOL_GPL vmlinux 0x00e807fb dev_get_tstats64 +EXPORT_SYMBOL_GPL vmlinux 0x00eee03f fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x00f55413 lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0x00fcf2dc nvmem_device_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x0115dcf3 regulator_map_voltage_ascend +EXPORT_SYMBOL_GPL vmlinux 0x011fe6a2 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x012103cb da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x0127e73c devfreq_event_disable_edev +EXPORT_SYMBOL_GPL vmlinux 0x012cbf67 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0x013bb4ab apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0x0144fea9 clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x014e8186 cpu_scale +EXPORT_SYMBOL_GPL vmlinux 0x01504f1a snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL vmlinux 0x016db70e aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0x0171e3f5 devl_rate_leaf_create +EXPORT_SYMBOL_GPL vmlinux 0x01856c27 gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x01866a57 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x018f6ddf mtd_point +EXPORT_SYMBOL_GPL vmlinux 0x0191cd43 strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0x01b016fe mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x01b12bfb usb_ep_free_request +EXPORT_SYMBOL_GPL vmlinux 0x01bc3456 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x01c308a4 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x01c6cb0c cpu_cluster_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x01cbcc9d pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x01d64777 __traceiter_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x01db9cee irq_get_domain_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01e3af09 clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0x01f0d5c9 mtk_is_virt_gpio +EXPORT_SYMBOL_GPL vmlinux 0x020420de nvdimm_clear_poison +EXPORT_SYMBOL_GPL vmlinux 0x0207a6c6 reset_control_bulk_acquire +EXPORT_SYMBOL_GPL vmlinux 0x022080ef perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0x022fcd47 dev_pm_opp_sync_regulators +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x02418487 efivar_entry_set +EXPORT_SYMBOL_GPL vmlinux 0x024b99e8 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x024be55d ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0259e2a8 cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0x025d30b3 tpm_tis_core_init +EXPORT_SYMBOL_GPL vmlinux 0x0260c1d8 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x026ac99e devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0x026f3380 btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0x02804813 rio_local_set_device_id +EXPORT_SYMBOL_GPL vmlinux 0x028a5ae0 fscrypt_dio_supported +EXPORT_SYMBOL_GPL vmlinux 0x02a3994e extcon_get_property +EXPORT_SYMBOL_GPL vmlinux 0x02aae1a7 iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x02acae3e edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x02c5c501 power_supply_find_ocv2cap_table +EXPORT_SYMBOL_GPL vmlinux 0x02cb4826 mtk_clk_register_gates +EXPORT_SYMBOL_GPL vmlinux 0x02d9aca7 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x02ea61a6 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x02ea9e2f __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0x02ed05bb snd_soc_component_compr_free +EXPORT_SYMBOL_GPL vmlinux 0x0312b3b0 reset_controller_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0312e7b8 nand_get_large_page_hamming_ooblayout +EXPORT_SYMBOL_GPL vmlinux 0x0321cdbf of_alias_get_highest_id +EXPORT_SYMBOL_GPL vmlinux 0x03245641 trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0x03297499 phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x032afb3f bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0x03315f0c btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0x033832c7 usb_amd_hang_symptom_quirk +EXPORT_SYMBOL_GPL vmlinux 0x0340bc9a elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x0348a7a6 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x036d8e9b klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x037017c7 security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0x0371f681 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x037e55b3 usb_add_gadget_udc +EXPORT_SYMBOL_GPL vmlinux 0x0387daa6 snd_soc_component_exit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0390336a regmap_write_async +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x03b2623e __tracepoint_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x03c49ae9 pwm_free +EXPORT_SYMBOL_GPL vmlinux 0x03ce5e2e device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x03f18087 to_of_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x03f469fa mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0x0404fbb3 irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x0405ebdc snd_compress_new +EXPORT_SYMBOL_GPL vmlinux 0x0406a89e snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL vmlinux 0x04072fe8 seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0x0409d06b clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x0412332f rcar_rst_set_rproc_boot_addr +EXPORT_SYMBOL_GPL vmlinux 0x041e5286 usb_control_msg_recv +EXPORT_SYMBOL_GPL vmlinux 0x04222b0f ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0x042eca42 crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x043675cd of_property_read_variable_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x04386c8b usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x04491a9a __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0x0464ddf2 regulator_set_pull_down_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0465a073 regmap_reg_in_ranges +EXPORT_SYMBOL_GPL vmlinux 0x046f359e of_overlay_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x04704e83 devm_clk_get_optional_enabled +EXPORT_SYMBOL_GPL vmlinux 0x047548ad fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0x047b52c4 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x047e3566 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x048d446e devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0x0499c697 regulator_irq_map_event_simple +EXPORT_SYMBOL_GPL vmlinux 0x04a6d5eb of_reserved_mem_lookup +EXPORT_SYMBOL_GPL vmlinux 0x04a6db5a pm_runtime_get_if_active +EXPORT_SYMBOL_GPL vmlinux 0x04ae4635 trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0x04c0aeb7 tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x04c41c60 devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04c8aebf console_verbose +EXPORT_SYMBOL_GPL vmlinux 0x04ccc4b7 serial8250_get_port +EXPORT_SYMBOL_GPL vmlinux 0x04cde0f7 ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x04d86512 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x04e1b99f snd_pcm_std_chmaps +EXPORT_SYMBOL_GPL vmlinux 0x0501b344 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0x05040081 devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0x051a0bc1 stack_depot_fetch +EXPORT_SYMBOL_GPL vmlinux 0x052b4013 register_vmcore_cb +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x053d738a __SCK__tp_func_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x05429fc7 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05610897 of_changeset_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0562bf87 icc_disable +EXPORT_SYMBOL_GPL vmlinux 0x05641313 imx_clk_hw_sscg_pll +EXPORT_SYMBOL_GPL vmlinux 0x05682928 powercap_register_zone +EXPORT_SYMBOL_GPL vmlinux 0x056914c1 usb_phy_roothub_alloc +EXPORT_SYMBOL_GPL vmlinux 0x057085b3 securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x05749bb2 dev_pm_opp_get_suspend_opp_freq +EXPORT_SYMBOL_GPL vmlinux 0x058310bc __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x05883efb __traceiter_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x058e5310 devlink_port_linecard_set +EXPORT_SYMBOL_GPL vmlinux 0x059bd5de class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x05a12e98 __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x05b85325 switchdev_handle_fdb_event_to_device +EXPORT_SYMBOL_GPL vmlinux 0x05c93cab __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x05dba0d2 perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0x05e0c871 usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x05e1c53d power_supply_external_power_changed +EXPORT_SYMBOL_GPL vmlinux 0x05eb7523 led_sysfs_enable +EXPORT_SYMBOL_GPL vmlinux 0x05f44942 sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x05fceb99 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x060e6464 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x06122337 atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x061c0315 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL vmlinux 0x0626da5f od_unregister_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x063b55c3 ahci_handle_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x06452117 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x064d7a1c ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x0655699b devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x0681c03b tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0x06899788 rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0x069b4bec debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x06af4462 devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0x06b52aec blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0x06b53bd2 memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06d2b195 btree_init +EXPORT_SYMBOL_GPL vmlinux 0x06d5aba8 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x06dfe7d4 of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x06e2ef94 tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x06e92aea nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0x06e9fd6d xhci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x06ec30f4 crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0x070a20c7 phy_pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x070bf8b8 iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0x07116365 spi_mem_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x0713645c hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x072c1514 bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0x07315125 fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0x07418f8f ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x07483e13 cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0x0756a31c register_platform_power_off +EXPORT_SYMBOL_GPL vmlinux 0x075764c3 gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x076356e7 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x07721095 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x0775f71b pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x078beeb9 usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x07a1b93c devm_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0x07a323d1 mxic_ecc_process_data_pipelined +EXPORT_SYMBOL_GPL vmlinux 0x07a77425 tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0x07a7d67d blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07a7e676 phy_init +EXPORT_SYMBOL_GPL vmlinux 0x07ab1100 aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07bddb04 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x07be6905 net_inc_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x07c400c7 rockchip_pcie_parse_dt +EXPORT_SYMBOL_GPL vmlinux 0x07e9ee8d tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x07ea896c phy_power_on +EXPORT_SYMBOL_GPL vmlinux 0x07f3a233 mtk_mmsys_ddp_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x07f5bfed __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x080096bc tps65912_device_exit +EXPORT_SYMBOL_GPL vmlinux 0x0803b39a snd_soc_component_read +EXPORT_SYMBOL_GPL vmlinux 0x080b609b usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x081ae405 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0x081d42c2 md_submit_discard_bio +EXPORT_SYMBOL_GPL vmlinux 0x08351aa6 skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x08382003 clk_mux_determine_rate_flags +EXPORT_SYMBOL_GPL vmlinux 0x08393f46 virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0x0849950d rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x0855d80c crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0x08653478 tps65217_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x086e51a5 serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0x087948bb rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x087f5dc5 wm831x_of_match +EXPORT_SYMBOL_GPL vmlinux 0x088d7a1e sdhci_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0x08970d4f synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0x08a5b1af rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x08a88a9f __SCK__tp_func_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x08b32329 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x08b513b8 devl_port_register +EXPORT_SYMBOL_GPL vmlinux 0x08d2028e spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0x08d7a56d ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x08eaccc0 dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x08f27347 nl_table +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x09354077 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x093f310d of_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x093f6250 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0x0946fae3 phy_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x0947d369 vp_legacy_get_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x09492220 musb_mailbox +EXPORT_SYMBOL_GPL vmlinux 0x094d61f4 __devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0x09678c13 auxiliary_device_init +EXPORT_SYMBOL_GPL vmlinux 0x097a2a04 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x0989d07a virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0x09ae7a5e phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09bafcc0 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x09bb25d2 raw_abort +EXPORT_SYMBOL_GPL vmlinux 0x09c06523 snd_soc_dapm_free_widget +EXPORT_SYMBOL_GPL vmlinux 0x09c273a4 nand_get_small_page_ooblayout +EXPORT_SYMBOL_GPL vmlinux 0x09d38c42 mpc8xxx_spi_tx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0x09db9ab5 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0x09dca0d7 blk_mq_alloc_sq_tag_set +EXPORT_SYMBOL_GPL vmlinux 0x09dcd2a1 pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0x09dd19a2 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x09e53260 __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x09e913c1 snd_pcm_alt_chmaps +EXPORT_SYMBOL_GPL vmlinux 0x0a018261 platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0x0a0d8137 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x0a3408e4 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0x0a3c72c9 crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x0a42f412 regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0x0a470b8f sdhci_enable_clk +EXPORT_SYMBOL_GPL vmlinux 0x0a5f4ffd crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0a601a2b hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x0a6b6096 sdhci_set_uhs_signaling +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a6c6ce6 regulator_set_suspend_voltage +EXPORT_SYMBOL_GPL vmlinux 0x0a6fcb86 omap_iommu_restore_ctx +EXPORT_SYMBOL_GPL vmlinux 0x0a70d45c led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x0a71b6eb edac_pci_del_device +EXPORT_SYMBOL_GPL vmlinux 0x0a7dc82a ahci_platform_enable_resources +EXPORT_SYMBOL_GPL vmlinux 0x0a88cf57 rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x0a8af62d crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x0a8c3b4b usb_ep_set_halt +EXPORT_SYMBOL_GPL vmlinux 0x0a8dee5a debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0x0a8e1573 pm_clk_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0a9d7af7 sock_map_close +EXPORT_SYMBOL_GPL vmlinux 0x0aa4d57b platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x0ab3f1a9 da9052_disable_irq_nosync +EXPORT_SYMBOL_GPL vmlinux 0x0ab95ade snd_pcm_stream_unlock_irqrestore +EXPORT_SYMBOL_GPL vmlinux 0x0abe4c6d fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0x0acc4af7 skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0x0acfe2e7 usb_ep_set_wedge +EXPORT_SYMBOL_GPL vmlinux 0x0ade38d6 lp8788_read_multi_bytes +EXPORT_SYMBOL_GPL vmlinux 0x0ae556df __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x0aea6264 usb_initialize_gadget +EXPORT_SYMBOL_GPL vmlinux 0x0afd6cab extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x0affc1e2 snd_soc_dapm_init +EXPORT_SYMBOL_GPL vmlinux 0x0b04404d register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x0b0529c2 ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b1087b9 dev_pm_opp_get_level +EXPORT_SYMBOL_GPL vmlinux 0x0b16f43f crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0x0b19b18f register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x0b266e64 sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0x0b2970fe klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x0b2db2d5 remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x0b2fd9ae pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0x0b329484 devm_pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0b3cc5b8 follow_pte +EXPORT_SYMBOL_GPL vmlinux 0x0b4613fc dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x0b4a8834 musb_writeb +EXPORT_SYMBOL_GPL vmlinux 0x0b56f189 mxic_ecc_put_pipelined_engine +EXPORT_SYMBOL_GPL vmlinux 0x0b68ce3f hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x0b6bae1b device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x0b722a24 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0b72a3de snd_soc_free_ac97_component +EXPORT_SYMBOL_GPL vmlinux 0x0b768480 power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x0b7bff03 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0x0b8602b7 usb_hcd_amd_remote_wakeup_quirk +EXPORT_SYMBOL_GPL vmlinux 0x0b860770 misc_cg_uncharge +EXPORT_SYMBOL_GPL vmlinux 0x0b8969fa dma_resv_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x0b927181 phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL vmlinux 0x0b967ffe __auxiliary_device_add +EXPORT_SYMBOL_GPL vmlinux 0x0bad434b skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x0baeeac5 lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0x0bb028d4 hisi_clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x0bb73bc7 __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x0bb797fe sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0x0bb99a5a dmaengine_desc_set_metadata_len +EXPORT_SYMBOL_GPL vmlinux 0x0bba2f21 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0bbb77fc mtk_free_clk_data +EXPORT_SYMBOL_GPL vmlinux 0x0bc0844b acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0bd78240 regulator_get_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0bda5428 mmc_poll_for_busy +EXPORT_SYMBOL_GPL vmlinux 0x0bda5519 free_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x0bded385 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x0bef88d5 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x0bf32478 __SCK__tp_func_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x0bf523b9 phy_put +EXPORT_SYMBOL_GPL vmlinux 0x0bf7da65 rockchip_register_softrst +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0bff00c0 pinctrl_find_and_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x0c1dca0c __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x0c2ea756 vmf_insert_pfn_pmd_prot +EXPORT_SYMBOL_GPL vmlinux 0x0c303f52 bch_encode +EXPORT_SYMBOL_GPL vmlinux 0x0c31d608 l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x0c35ac80 crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0x0c5d22a1 regulator_get_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x0c764439 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x0c83ddd9 devm_regmap_add_irq_chip_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x0c88c1c3 pci_vpd_find_id_string +EXPORT_SYMBOL_GPL vmlinux 0x0c892acf usb_role_switch_register +EXPORT_SYMBOL_GPL vmlinux 0x0c8fad29 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0c8fb946 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x0c96434a snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL vmlinux 0x0c9b23a9 of_pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0x0ca3f99b ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0x0cc9d36c iommu_group_claim_dma_owner +EXPORT_SYMBOL_GPL vmlinux 0x0cd7fe8a irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x0cde4bdd __of_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x0ce93a3c __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0cfd11ba iomap_dio_bio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x0d02b4b2 gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x0d1823ea dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x0d35b51a srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x0d3e3481 bch_free +EXPORT_SYMBOL_GPL vmlinux 0x0d459213 work_on_cpu_safe +EXPORT_SYMBOL_GPL vmlinux 0x0d4961de nf_log_buf_open +EXPORT_SYMBOL_GPL vmlinux 0x0d52e134 start_poll_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x0d83c868 thermal_zone_get_slope +EXPORT_SYMBOL_GPL vmlinux 0x0d8b9af9 shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x0d90d784 usb_ep_fifo_flush +EXPORT_SYMBOL_GPL vmlinux 0x0d98152f __traceiter_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x0dad3755 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x0db9ae96 tegra_bpmp_request_mrq +EXPORT_SYMBOL_GPL vmlinux 0x0dcb3ee8 divider_recalc_rate +EXPORT_SYMBOL_GPL vmlinux 0x0dd1bc60 pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0de06dea of_irq_parse_one +EXPORT_SYMBOL_GPL vmlinux 0x0de2934c sdhci_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x0de5be24 disk_alloc_independent_access_ranges +EXPORT_SYMBOL_GPL vmlinux 0x0de909b5 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0x0df59de1 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x0dfc1003 irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x0dfd3e25 dummy_con +EXPORT_SYMBOL_GPL vmlinux 0x0dfe79b3 l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0x0e0c6a7d crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0x0e25be06 pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0x0e29f9a7 topology_update_thermal_pressure +EXPORT_SYMBOL_GPL vmlinux 0x0e3c62c9 blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x0e47397b nand_ecc_init_req_tweaking +EXPORT_SYMBOL_GPL vmlinux 0x0e48c883 clk_hw_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x0e4bdb6a pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0x0e579311 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x0e58f5f5 dev_pm_qos_hide_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x0e5b4975 __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x0e5cc9d7 xdp_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x0e87cd47 iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x0e8a574a cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x0ed7ab41 sch_frag_xmit_hook +EXPORT_SYMBOL_GPL vmlinux 0x0edbfce5 static_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x0edc26c0 filemap_add_folio +EXPORT_SYMBOL_GPL vmlinux 0x0ee504fc crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x0eeb5417 __kprobe_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x0eefb674 param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x0ef5b314 ping_hash +EXPORT_SYMBOL_GPL vmlinux 0x0efcaab8 fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0x0f12ed11 devm_krealloc +EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f1cb12f perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0x0f2be247 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x0f2da3dc rdma_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x0f38ad29 devm_rtc_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x0f3c520a fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x0f452a47 __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x0f49621d cpts_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x0f5f71d7 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x0f62f5fd badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0x0f68a4fd sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x0f6a3f32 ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x0f7ca236 dmi_memdev_name +EXPORT_SYMBOL_GPL vmlinux 0x0f80a5de sched_set_fifo +EXPORT_SYMBOL_GPL vmlinux 0x0fabd7e8 dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0x0fad596b pm_clk_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0fc06a92 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x0fc3f774 genphy_c45_baset1_read_status +EXPORT_SYMBOL_GPL vmlinux 0x0fc5a449 ata_sas_tport_add +EXPORT_SYMBOL_GPL vmlinux 0x0fd2d192 crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x0fd4610e kmem_dump_obj +EXPORT_SYMBOL_GPL vmlinux 0x0fdaa168 netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0x0fe3b279 __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x0ff0483d cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0x100359e4 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101b84ba cpts_register +EXPORT_SYMBOL_GPL vmlinux 0x1028142b mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0x102b6903 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x103235e3 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x1033ce27 spi_async +EXPORT_SYMBOL_GPL vmlinux 0x103a434a ethnl_cable_test_fault_length +EXPORT_SYMBOL_GPL vmlinux 0x103d079b usb_gadget_set_selfpowered +EXPORT_SYMBOL_GPL vmlinux 0x103d08fa usb_get_maximum_ssp_rate +EXPORT_SYMBOL_GPL vmlinux 0x1043cac3 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0x105c5c52 da9052_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x10635233 snd_dmaengine_pcm_set_config_from_dai_data +EXPORT_SYMBOL_GPL vmlinux 0x106ad9e1 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x109b9cf3 snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x10acb180 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x10af779f hisi_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x10af8e10 desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0x10bde107 devm_pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x10d1c67d devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x10d24603 cpufreq_freq_transition_end +EXPORT_SYMBOL_GPL vmlinux 0x10d9f317 stack_depot_init +EXPORT_SYMBOL_GPL vmlinux 0x10db65b8 pm_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x1101d078 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0x1104c4d5 trace_seq_puts +EXPORT_SYMBOL_GPL vmlinux 0x1105e4df pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x11091291 nand_extract_bits +EXPORT_SYMBOL_GPL vmlinux 0x110f34a2 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL vmlinux 0x1113209a pinctrl_generic_add_group +EXPORT_SYMBOL_GPL vmlinux 0x112b07d8 mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0x114a3740 __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x114fe79d bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0x11526c9a meson_clk_pll_ops +EXPORT_SYMBOL_GPL vmlinux 0x117f9744 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x1183c86c edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0x1189a758 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0x119225d4 strp_init +EXPORT_SYMBOL_GPL vmlinux 0x119a7b6f inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x11b07abd pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x11b854ee pinctrl_enable +EXPORT_SYMBOL_GPL vmlinux 0x11b8a4a8 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x11c1f345 ohci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x11e015a4 snd_soc_dapm_update_dai +EXPORT_SYMBOL_GPL vmlinux 0x120538a0 iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x121bc934 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x121d958a unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x121fd8d8 pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x122562b7 blk_crypto_has_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x122be74d soc_ac97_ops +EXPORT_SYMBOL_GPL vmlinux 0x12310a75 scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0x1231219b fsl8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x123354b0 bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x1234e483 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x12444fa7 edac_mc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x124a37e8 usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x126b08cb crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0x127ea270 tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x128135d7 xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0x128813f5 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x128af867 gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0x12931972 iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0x129334ae sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0x12974f6e phy_led_trigger_change_speed +EXPORT_SYMBOL_GPL vmlinux 0x1299df71 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x12a64f26 clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x12a8afb5 sk_psock_init +EXPORT_SYMBOL_GPL vmlinux 0x12ae82eb vp_modern_set_features +EXPORT_SYMBOL_GPL vmlinux 0x12bd96f3 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x12c6ba28 regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x12cee48a rio_get_comptag +EXPORT_SYMBOL_GPL vmlinux 0x12d90b4d pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x1315ae69 fsverity_ioctl_enable +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x132e005d __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x1354fbe1 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x136209db power_supply_reg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13640660 get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x136d7b88 ahci_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x137b7c80 clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0x1381d4f3 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x13894710 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x139364f0 of_cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x13bcec38 component_compare_dev +EXPORT_SYMBOL_GPL vmlinux 0x13c23cb9 mmc_get_ext_csd +EXPORT_SYMBOL_GPL vmlinux 0x13c638ee devm_hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x13d18f4d pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x13d7ae7f ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x13daa83c serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x13f4605b page_cache_sync_ra +EXPORT_SYMBOL_GPL vmlinux 0x13fdee9a pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x13fe77d7 gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x1403ad09 cpufreq_add_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x141333fc tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x141a5bd5 mmc_cmdq_disable +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x141f4e4e devlink_net +EXPORT_SYMBOL_GPL vmlinux 0x143c1c7e zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x144d6774 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x145d1eeb gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0x14719a23 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x148eaf1b pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x14901fad spi_controller_resume +EXPORT_SYMBOL_GPL vmlinux 0x149217ce icc_put +EXPORT_SYMBOL_GPL vmlinux 0x14a98a21 cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x14ad27ef pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0x14ae8f68 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x14b24157 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x14b90ce0 trace_remove_event_call +EXPORT_SYMBOL_GPL vmlinux 0x14cf7a81 usb_hub_find_child +EXPORT_SYMBOL_GPL vmlinux 0x14d47507 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x14da76db devm_devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x14dcb473 akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x14dd66f7 meson_pinctrl_probe +EXPORT_SYMBOL_GPL vmlinux 0x14fe4d41 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0x150139ac mtd_ooblayout_count_eccbytes +EXPORT_SYMBOL_GPL vmlinux 0x15093d37 rdev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x1512feec crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x1524dd4e apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x152bb0f7 snd_card_rw_proc_new +EXPORT_SYMBOL_GPL vmlinux 0x152eb486 pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0x15301afa fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x153685dd cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x15408f9a device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x1542d2ef __traceiter_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x15500829 devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x1550efdf inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x15645487 clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x156a5819 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x156ac10e syscon_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x1570e53f event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0x15886f48 hte_disable_ts +EXPORT_SYMBOL_GPL vmlinux 0x158c53f8 extcon_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x158ee10c list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0x15923adf register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x1593d0f1 ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0x159d5a81 devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0x15ab2790 __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x15ade1cc filter_irq_stacks +EXPORT_SYMBOL_GPL vmlinux 0x15b28e2e snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL vmlinux 0x15eca580 percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x15f12202 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x15f1f38b debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x15f3bb0b crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0x15fbc022 perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0x15fcefcf ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x160f32b3 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x16132fa2 cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x161664be gpiochip_irq_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0x1617d393 metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0x161a7861 device_set_node +EXPORT_SYMBOL_GPL vmlinux 0x162277ff crypto_wait_for_test +EXPORT_SYMBOL_GPL vmlinux 0x16273d24 thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x162b916b snd_soc_component_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x16393063 phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL vmlinux 0x16422a6e xdp_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x164e15b3 perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0x164ea1a1 rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0x16616a52 pinctrl_remove_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x16643dd7 ima_inode_hash +EXPORT_SYMBOL_GPL vmlinux 0x16775772 mtd_ooblayout_ecc +EXPORT_SYMBOL_GPL vmlinux 0x167d430d devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x167ee726 crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0x1683b350 sdhci_pltfm_register +EXPORT_SYMBOL_GPL vmlinux 0x1687ec20 tty_get_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x1690b503 usb_role_switch_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x1690be07 of_platform_device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x169b185f verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0x16a2320b fwnode_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x16a670a0 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x16a7f61b pl08x_filter_id +EXPORT_SYMBOL_GPL vmlinux 0x16ad4bcd genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL vmlinux 0x16c69fe9 snd_power_ref_and_wait +EXPORT_SYMBOL_GPL vmlinux 0x16ccb00f sdhci_free_host +EXPORT_SYMBOL_GPL vmlinux 0x16cff694 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x16d8951e regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x16d9f9ff pci_remap_cfgspace +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16dd4c7d nfs42_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0x16dfbf36 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x170e4c92 sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0x1726753e devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x1736486e ata_platform_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x173f3d6d snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL vmlinux 0x1744532a dev_pm_opp_get_max_volt_latency +EXPORT_SYMBOL_GPL vmlinux 0x174c6274 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x17537452 watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0x176031a7 devlink_fmsg_string_put +EXPORT_SYMBOL_GPL vmlinux 0x176058bc transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x176e910e irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0x1779aea6 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x17a90bfe device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x17b87544 snd_soc_new_compress +EXPORT_SYMBOL_GPL vmlinux 0x17b8cba8 serdev_device_get_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x17bde396 devm_hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x17d2a4a4 nfs42_ssc_register +EXPORT_SYMBOL_GPL vmlinux 0x17d52fcd cpts_misc_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x17ee2fae fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0x17f9c35a pinctrl_dev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x17f9dace regulator_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x18045491 fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0x1809a3c0 ioc_find_get_icq +EXPORT_SYMBOL_GPL vmlinux 0x1810a81b vp_legacy_remove +EXPORT_SYMBOL_GPL vmlinux 0x182656cc platform_has +EXPORT_SYMBOL_GPL vmlinux 0x182665b2 ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x182c84d6 dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0x182e35e6 i2c_new_client_device +EXPORT_SYMBOL_GPL vmlinux 0x1837c772 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x183898a5 virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0x18428692 __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x1844c966 trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x184c4716 irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0x1853ce23 __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x18615d35 efivar_supports_writes +EXPORT_SYMBOL_GPL vmlinux 0x1887584e pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x18886d62 devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x188ef8c2 phy_10gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x189ad408 device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x189f6679 gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0x18aefdfc device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x18b1551a imx_clk_fracn_gppll +EXPORT_SYMBOL_GPL vmlinux 0x18b71f0c snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL vmlinux 0x18bab327 addrconf_add_linklocal +EXPORT_SYMBOL_GPL vmlinux 0x18c0d5a9 snd_soc_component_disable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x18c1b795 pwm_request +EXPORT_SYMBOL_GPL vmlinux 0x18c9f5f7 watchdog_set_last_hw_keepalive +EXPORT_SYMBOL_GPL vmlinux 0x18e03596 devm_of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x18e8c440 arch_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x18ecae59 snd_dmaengine_pcm_unregister +EXPORT_SYMBOL_GPL vmlinux 0x18f59347 ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x18fa8c4d pm_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x190a0f49 nand_op_parser_exec_op +EXPORT_SYMBOL_GPL vmlinux 0x1921431b meson_clk_pcie_pll_ops +EXPORT_SYMBOL_GPL vmlinux 0x194132fa zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x194dd751 alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0x1964592d fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0x1965ccd0 regulator_set_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x196de47f gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x19728f56 devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x19917c11 pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x199cbadb crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0x19a141dd usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19a4bbc5 dev_pm_opp_of_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x19a533c9 clk_hw_rate_is_protected +EXPORT_SYMBOL_GPL vmlinux 0x19a67ce2 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x19ab9779 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x19b00e22 blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x19b1f46f usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0x19c20269 soc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x19e81304 btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19ef8aab fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0x1a02bc4c tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x1a073a45 __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a12b996 of_changeset_action +EXPORT_SYMBOL_GPL vmlinux 0x1a146ec3 usb_ep_type_string +EXPORT_SYMBOL_GPL vmlinux 0x1a19c836 mtk_eint_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x1a266232 __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x1a267fa8 bch_init +EXPORT_SYMBOL_GPL vmlinux 0x1a28032a __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x1a2c94eb bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0x1a2d16b7 platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0x1a4a377c pinctrl_generic_get_group_count +EXPORT_SYMBOL_GPL vmlinux 0x1a4cd5be ata_scsi_dma_need_drain +EXPORT_SYMBOL_GPL vmlinux 0x1a4dba27 mtk_pinconf_adv_pull_set +EXPORT_SYMBOL_GPL vmlinux 0x1a524b58 regmap_field_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x1a552842 pwm_request_from_chip +EXPORT_SYMBOL_GPL vmlinux 0x1a63f28b nand_reset +EXPORT_SYMBOL_GPL vmlinux 0x1a65e1eb regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a7451eb sdhci_start_tuning +EXPORT_SYMBOL_GPL vmlinux 0x1a768143 bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x1a775b76 debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0x1a779641 __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0x1a8086e1 fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0x1a830f91 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x1a8f9036 pwmchip_remove +EXPORT_SYMBOL_GPL vmlinux 0x1a970b94 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x1aaf8958 cookie_tcp_reqsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1ac9485d devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0x1ad97029 devm_regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x1ae88c73 skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0x1af16761 report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0x1af1ff4d rio_unregister_scan +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1af293e8 param_set_uint_minmax +EXPORT_SYMBOL_GPL vmlinux 0x1b0318a3 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x1b04e9d1 pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x1b0a6e45 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x1b0cf2e0 sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x1b3d7326 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1b45b8f0 folio_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x1b4989bc regulator_set_voltage_time_sel +EXPORT_SYMBOL_GPL vmlinux 0x1b49e15a dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1b5059ce ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x1b553eaa pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x1b8822d8 pinctrl_gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x1b8b2e75 ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0x1b8ba133 percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0x1b8c03ac virtio_device_restore +EXPORT_SYMBOL_GPL vmlinux 0x1b92e41d inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x1b94d2a7 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x1baa55d5 meson_clk_pll_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x1baaca47 snd_dmaengine_pcm_close_release_chan +EXPORT_SYMBOL_GPL vmlinux 0x1bbd84e3 sdhci_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x1bbe64b0 nand_prog_page_begin_op +EXPORT_SYMBOL_GPL vmlinux 0x1bc40a8d gpmc_omap_get_nand_ops +EXPORT_SYMBOL_GPL vmlinux 0x1bc5eebe pinctrl_gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x1bd88036 subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x1be02ce0 snd_soc_runtime_action +EXPORT_SYMBOL_GPL vmlinux 0x1bee4974 sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x1bf2ce09 regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x1c01e03d __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x1c052f60 sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0x1c0de71c class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x1c12fcb5 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x1c1f750c dev_pm_opp_enable +EXPORT_SYMBOL_GPL vmlinux 0x1c2e2a71 pci_user_read_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x1c2e9db0 snd_soc_component_write_field +EXPORT_SYMBOL_GPL vmlinux 0x1c3b5577 of_pci_get_devfn +EXPORT_SYMBOL_GPL vmlinux 0x1c5541bd cpufreq_boost_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1c5af644 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c5ff742 clk_get_phase +EXPORT_SYMBOL_GPL vmlinux 0x1c6720cf devm_extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x1c78ac3b devl_assert_locked +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c812eab alloc_dax +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c946b4f vp_modern_get_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x1ca065ef cgroup_get_from_id +EXPORT_SYMBOL_GPL vmlinux 0x1cab4701 skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0x1cb306ca driver_set_override +EXPORT_SYMBOL_GPL vmlinux 0x1cb8ffc1 pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x1cbc35d9 snd_soc_dai_link_set_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x1cbd92b0 cpu_mitigations_off +EXPORT_SYMBOL_GPL vmlinux 0x1cdf4efb copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x1cea3104 rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0x1cef9a22 usb_phy_generic_register +EXPORT_SYMBOL_GPL vmlinux 0x1cf56b4c of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1cf6e701 trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0x1cfe4101 clkdev_hw_create +EXPORT_SYMBOL_GPL vmlinux 0x1d1bcab5 __mtd_next_device +EXPORT_SYMBOL_GPL vmlinux 0x1d1bcbdd device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d25bc06 xhci_reset_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0x1d27d374 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x1d29b9e1 decode_rs8 +EXPORT_SYMBOL_GPL vmlinux 0x1d326af7 pm_clk_remove_clk +EXPORT_SYMBOL_GPL vmlinux 0x1d46485e dapm_pinctrl_event +EXPORT_SYMBOL_GPL vmlinux 0x1d4af59f page_cache_async_ra +EXPORT_SYMBOL_GPL vmlinux 0x1d57e8e9 genphy_c45_read_mdix +EXPORT_SYMBOL_GPL vmlinux 0x1d6696b0 mtk_mutex_disable +EXPORT_SYMBOL_GPL vmlinux 0x1d678a71 dev_pm_clear_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1d880975 scmi_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x1d8a083c lp8788_read_byte +EXPORT_SYMBOL_GPL vmlinux 0x1d94a218 dmi_memdev_handle +EXPORT_SYMBOL_GPL vmlinux 0x1d9c724f devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0x1db3c74d kthread_func +EXPORT_SYMBOL_GPL vmlinux 0x1dfa5dbd mpi_invm +EXPORT_SYMBOL_GPL vmlinux 0x1e042d5b pinctrl_dev_get_devname +EXPORT_SYMBOL_GPL vmlinux 0x1e0670c6 reset_control_release +EXPORT_SYMBOL_GPL vmlinux 0x1e06e9ed rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x1e0c304a bdev_discard_alignment +EXPORT_SYMBOL_GPL vmlinux 0x1e134afb trace_add_event_call +EXPORT_SYMBOL_GPL vmlinux 0x1e18b432 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x1e3a697e strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0x1e3b5184 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x1e3ef4d9 trace_array_init_printk +EXPORT_SYMBOL_GPL vmlinux 0x1e4491d7 __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x1e47148e tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0x1e504d92 tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x1e530bdb pm_runtime_force_suspend +EXPORT_SYMBOL_GPL vmlinux 0x1e53f827 stack_depot_print +EXPORT_SYMBOL_GPL vmlinux 0x1e5d8792 sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x1e618dfc devlink_port_attrs_set +EXPORT_SYMBOL_GPL vmlinux 0x1e6fcefa device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x1e7420f5 pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x1e75fdb7 watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0x1e7849a7 regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e7d6157 freezer_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x1e8f18a0 snd_soc_dai_compr_pointer +EXPORT_SYMBOL_GPL vmlinux 0x1e8fac8e wireless_nlevent_flush +EXPORT_SYMBOL_GPL vmlinux 0x1e90d1eb snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL vmlinux 0x1e91bc5c __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x1e9c590a usb_find_common_endpoints_reverse +EXPORT_SYMBOL_GPL vmlinux 0x1e9e1c9a __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1e9efb66 component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0x1ea20fdf screen_pos +EXPORT_SYMBOL_GPL vmlinux 0x1ea83718 power_supply_set_property +EXPORT_SYMBOL_GPL vmlinux 0x1eaccc00 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x1ead3e62 ahci_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x1eb519b9 snd_soc_component_read_field +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebbfcd2 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ec6899e perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0x1f346d68 usb_gadget_udc_reset +EXPORT_SYMBOL_GPL vmlinux 0x1f38a4f6 mpi_set_highbit +EXPORT_SYMBOL_GPL vmlinux 0x1f3f0497 __xdp_build_skb_from_frame +EXPORT_SYMBOL_GPL vmlinux 0x1f449588 mctrl_gpio_disable_ms +EXPORT_SYMBOL_GPL vmlinux 0x1f4704a5 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0x1f4cf05f devm_of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f5fc4a5 cpu_latency_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0x1f6eed4c ahci_platform_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x1f71f048 gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0x1f749d7c devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x1f760479 proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0x1f774f46 cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f85ef1d spi_take_timestamp_post +EXPORT_SYMBOL_GPL vmlinux 0x1f8ea736 gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x1f8fff99 pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0x1f98c0b3 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0x1f99524d phy_remove_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x1fa65721 fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x1faa82e6 __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x1fb80b89 pm_clk_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x1fb88da7 snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL vmlinux 0x1fca0b38 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x1fca0b71 fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x1fcb0bcb platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1fcb78ba dev_pm_opp_find_freq_ceil +EXPORT_SYMBOL_GPL vmlinux 0x1fd7a0a5 iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x1ff87f9e i2c_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x2009e400 devlink_info_board_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x202a044f iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0x20324d48 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x20421b5a get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0x2057ab08 of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0x20619b9b devlink_param_register +EXPORT_SYMBOL_GPL vmlinux 0x20663fda split_page +EXPORT_SYMBOL_GPL vmlinux 0x206b46c9 sdhci_get_cd_nogpio +EXPORT_SYMBOL_GPL vmlinux 0x20771649 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x208720db __phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x208f8965 nand_write_data_op +EXPORT_SYMBOL_GPL vmlinux 0x20935ea6 tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0x20a6bd49 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x20a6e133 dmaengine_desc_get_metadata_ptr +EXPORT_SYMBOL_GPL vmlinux 0x20ab9cae add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0x20afad18 of_get_fb_videomode +EXPORT_SYMBOL_GPL vmlinux 0x20c6ad55 usb_gadget_vbus_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x20d5ac29 pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x20d66d2b of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x20f5a0ae devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x2101fb57 pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0x21072dae pin_get_name +EXPORT_SYMBOL_GPL vmlinux 0x21087621 mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x21150dcb sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x211f671d fuse_conn_destroy +EXPORT_SYMBOL_GPL vmlinux 0x212ecd4b of_reserved_mem_device_init_by_name +EXPORT_SYMBOL_GPL vmlinux 0x21332501 page_endio +EXPORT_SYMBOL_GPL vmlinux 0x21494650 mvebu_mbus_get_dram_win_info +EXPORT_SYMBOL_GPL vmlinux 0x21497d9b bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0x214ac3f3 cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0x214d118c usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x214d7a42 of_msi_configure +EXPORT_SYMBOL_GPL vmlinux 0x214e9361 device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x21563e68 stack_depot_snprint +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x21726652 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x2181b0a1 usb_bus_idr_lock +EXPORT_SYMBOL_GPL vmlinux 0x21881c76 of_irq_parse_raw +EXPORT_SYMBOL_GPL vmlinux 0x2193b756 sysfs_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x21a410a1 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x21a563da clk_get_accuracy +EXPORT_SYMBOL_GPL vmlinux 0x21a9138a rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21bdb7f0 __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x21cbc3d0 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0x21cc46f8 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21cff89e ti_cm_get_macid +EXPORT_SYMBOL_GPL vmlinux 0x21fbb656 gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x22046c16 cpufreq_freq_attr_scaling_boost_freqs +EXPORT_SYMBOL_GPL vmlinux 0x220ce70c kvm_arm_hyp_service_available +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x221f63ce iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0x2222b69f generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x2238fe9e i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x223f6eb9 nvmem_cell_read_u16 +EXPORT_SYMBOL_GPL vmlinux 0x2244633c input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0x224594a5 pm_clk_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x224caa5a pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0x22510e35 perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x226ee222 device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x228f8275 of_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x2297a63f extcon_set_state +EXPORT_SYMBOL_GPL vmlinux 0x22a80508 dbs_update +EXPORT_SYMBOL_GPL vmlinux 0x22ab7517 devl_unlock +EXPORT_SYMBOL_GPL vmlinux 0x22b448f4 gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x22c6c1f3 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x22c7baff bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0x22cd7231 irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x22d54d6e __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22ef28dd bpfilter_umh_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x22f13386 pm_runtime_set_memalloc_noio +EXPORT_SYMBOL_GPL vmlinux 0x23003e18 snd_soc_of_parse_audio_simple_widgets +EXPORT_SYMBOL_GPL vmlinux 0x2308d372 strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x2309efee dm_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x2311d929 ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0x231f42f6 of_remove_property +EXPORT_SYMBOL_GPL vmlinux 0x23412816 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x23414501 user_read +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x23666d59 __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x2368d679 __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x236faf53 net_selftest +EXPORT_SYMBOL_GPL vmlinux 0x2372d9aa rio_unregister_mport +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23935d9d __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x23950433 efivar_variable_is_removable +EXPORT_SYMBOL_GPL vmlinux 0x2396c7f0 clk_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x23a56fb7 rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x23ab97b5 reset_control_get_count +EXPORT_SYMBOL_GPL vmlinux 0x23aeb99e sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x23b08f0f regulator_suspend_enable +EXPORT_SYMBOL_GPL vmlinux 0x23b36693 ahci_reset_controller +EXPORT_SYMBOL_GPL vmlinux 0x23b7ef84 xas_pause +EXPORT_SYMBOL_GPL vmlinux 0x23be8e42 gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0x23d30575 cpufreq_generic_attr +EXPORT_SYMBOL_GPL vmlinux 0x23d8db5c io_uring_cmd_complete_in_task +EXPORT_SYMBOL_GPL vmlinux 0x23f1bd3a imx_clk_hw_pfdv2 +EXPORT_SYMBOL_GPL vmlinux 0x23f50d12 xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0x23f8663e efivars_kobject +EXPORT_SYMBOL_GPL vmlinux 0x2407a0bc snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x241b6092 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x2421097b mpi_const +EXPORT_SYMBOL_GPL vmlinux 0x242f71b6 power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x24453713 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0x244639cf ahci_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x244ebea8 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0x24658a65 pci_ecam_create +EXPORT_SYMBOL_GPL vmlinux 0x246b84a4 r9a06g032_sysctrl_set_dmamux +EXPORT_SYMBOL_GPL vmlinux 0x2478fa67 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x2479a52c get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x24863bfc crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0x248bc867 raw_notifier_call_chain_robust +EXPORT_SYMBOL_GPL vmlinux 0x248e42dc pci_iov_get_pf_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x24a89c37 pinconf_generic_dump_config +EXPORT_SYMBOL_GPL vmlinux 0x24ad11db wakeup_sources_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x24af071b devm_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0x24c82133 xas_store +EXPORT_SYMBOL_GPL vmlinux 0x24cdee1b efivar_entry_add +EXPORT_SYMBOL_GPL vmlinux 0x24d06f91 snd_soc_set_dmi_name +EXPORT_SYMBOL_GPL vmlinux 0x24d0fd07 sec_irq_init +EXPORT_SYMBOL_GPL vmlinux 0x24d91273 rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24e102c4 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24f39c39 reset_control_reset +EXPORT_SYMBOL_GPL vmlinux 0x24f63dcf ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x24f903bd tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0x24f9e12e mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x24fa6a9d crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0x24fc50f4 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24fccc3a bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x250b41e1 nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x2516bbe8 __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x251a170f genphy_c45_read_pma +EXPORT_SYMBOL_GPL vmlinux 0x251bf12a iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0x25211324 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x2523086a platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x25276be7 sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x253152ff stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0x25379e73 clk_set_min_rate +EXPORT_SYMBOL_GPL vmlinux 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x25533f1d dw8250_setup_port +EXPORT_SYMBOL_GPL vmlinux 0x2574c9e8 show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x25799722 usb_get_maximum_speed +EXPORT_SYMBOL_GPL vmlinux 0x25853d3b iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0x258d2583 fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x25b9ba32 sdhci_pltfm_clk_get_max_clock +EXPORT_SYMBOL_GPL vmlinux 0x25bbfa9a security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x25d0bc23 da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0x25d34039 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x25d35d2b nanddev_mtd_erase +EXPORT_SYMBOL_GPL vmlinux 0x25e8161f tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0x25f1047c ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x2602e966 nanddev_ecc_engine_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x2613b526 phy_set_media +EXPORT_SYMBOL_GPL vmlinux 0x264a1b5d snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x265bbef9 kexec_crash_loaded +EXPORT_SYMBOL_GPL vmlinux 0x2664fb50 nanddev_bbt_set_block_status +EXPORT_SYMBOL_GPL vmlinux 0x266a4b08 tasklet_unlock +EXPORT_SYMBOL_GPL vmlinux 0x2673ccf4 xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x26743cb6 snd_soc_tplg_component_remove +EXPORT_SYMBOL_GPL vmlinux 0x2675849a sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x2679b1ba wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x26927e2e pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x269f7f44 proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0x26a9b415 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26bca5cd pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x26bcdea1 ata_pci_shutdown_one +EXPORT_SYMBOL_GPL vmlinux 0x26c04015 da9052_request_irq +EXPORT_SYMBOL_GPL vmlinux 0x26c547c0 bL_switcher_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x26c56b4a usb_phy_set_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26cf6a80 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x26d7122d wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0x26d80db9 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x26d84c89 regulator_list_voltage_table +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x26ee5a05 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x26f84fe1 pinconf_generic_dt_node_to_map +EXPORT_SYMBOL_GPL vmlinux 0x27137015 usb_hcd_end_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x272729ae of_dma_xlate_by_chan_id +EXPORT_SYMBOL_GPL vmlinux 0x272e9d77 hisi_reset_exit +EXPORT_SYMBOL_GPL vmlinux 0x2734197f musb_readb +EXPORT_SYMBOL_GPL vmlinux 0x273de577 nand_readid_op +EXPORT_SYMBOL_GPL vmlinux 0x274dd1a3 sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x27580ce1 ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x2767642b power_supply_get_property_from_supplier +EXPORT_SYMBOL_GPL vmlinux 0x2769b946 regmap_fields_read +EXPORT_SYMBOL_GPL vmlinux 0x277fd9e0 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0x2781e843 vp_modern_get_driver_features +EXPORT_SYMBOL_GPL vmlinux 0x2785f9c9 msi_first_desc +EXPORT_SYMBOL_GPL vmlinux 0x278e9ede iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0x278f16f2 pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0x2797b492 extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x279b373a dma_resv_test_signaled +EXPORT_SYMBOL_GPL vmlinux 0x279f3155 gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x27a13dc2 devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x27a3b869 gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0x27b0dc5b netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0x27c29bc4 bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x27d64673 devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x27e767b9 tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27f5bf3a irq_gc_ack_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x2802246e get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0x2803296d debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x2808b1a5 snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL vmlinux 0x282cdabc usb_led_activity +EXPORT_SYMBOL_GPL vmlinux 0x28315546 genphy_c45_loopback +EXPORT_SYMBOL_GPL vmlinux 0x283ffe9f imx_check_clk_hws +EXPORT_SYMBOL_GPL vmlinux 0x2847c0db crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x284a1761 snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL vmlinux 0x284a2ffb irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x28682599 device_move +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x287c45b2 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x2882d40e usb_role_switch_unregister +EXPORT_SYMBOL_GPL vmlinux 0x288ae827 fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x2891100b dev_err_probe +EXPORT_SYMBOL_GPL vmlinux 0x28995681 bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0x28a7db63 nd_fletcher64 +EXPORT_SYMBOL_GPL vmlinux 0x28aa6a67 call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x28ab4fb9 pinctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x28b030d2 of_overlay_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x28c12054 vp_modern_probe +EXPORT_SYMBOL_GPL vmlinux 0x28eb95da devm_extcon_dev_allocate +EXPORT_SYMBOL_GPL vmlinux 0x28f7df52 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x28f91d04 usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x28fcdb5e iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x2902f6d6 vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0x2903ed5e iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x29041eaa task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0x291123ea __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0x291264ea pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0x291876f3 mpi_ec_get_affine +EXPORT_SYMBOL_GPL vmlinux 0x292c0ebb snd_soc_component_nc_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x293f10f9 meson8_pmx_ops +EXPORT_SYMBOL_GPL vmlinux 0x2945bc46 misc_cg_try_charge +EXPORT_SYMBOL_GPL vmlinux 0x2946c3a0 mmc_regulator_get_supply +EXPORT_SYMBOL_GPL vmlinux 0x294f13af power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0x295a2670 clk_regmap_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x295b982a hisi_clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x295c39d4 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x296f4ee5 wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0x298272c8 usb_phy_get_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x29865ca7 is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0x298763fa snd_soc_dapm_new_dai_widgets +EXPORT_SYMBOL_GPL vmlinux 0x298db758 host1x_context_device_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x298dde7b inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x29a1cfc9 tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x29bb6df6 inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x29c409c0 clk_register_divider_table +EXPORT_SYMBOL_GPL vmlinux 0x29cf2470 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x29f3a513 gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x29f85974 dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0x29fd5808 find_vpid +EXPORT_SYMBOL_GPL vmlinux 0x2a030347 devres_release +EXPORT_SYMBOL_GPL vmlinux 0x2a29acff led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x2a2aea17 clk_fixed_rate_ops +EXPORT_SYMBOL_GPL vmlinux 0x2a314a94 ext_pi_type3_crc64 +EXPORT_SYMBOL_GPL vmlinux 0x2a37ea11 imx_clk_hw_frac_pll +EXPORT_SYMBOL_GPL vmlinux 0x2a45281e genphy_c45_read_link +EXPORT_SYMBOL_GPL vmlinux 0x2a45daaa ehci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x2a533fd4 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a718017 imx_pcm_fiq_exit +EXPORT_SYMBOL_GPL vmlinux 0x2a7316da __SCK__tp_func_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x2a732f54 mtk_clk_gate_ops_no_setclr_inv +EXPORT_SYMBOL_GPL vmlinux 0x2a82a575 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0x2a9249bc md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x2a97576b serial8250_do_get_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x2a976d1c dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x2aadad1a efi_capsule_update +EXPORT_SYMBOL_GPL vmlinux 0x2ae446a9 pinmux_generic_get_function_count +EXPORT_SYMBOL_GPL vmlinux 0x2ae4bbde inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x2afe5594 device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0x2aff9cea sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x2b24a3b8 pci_dev_lock +EXPORT_SYMBOL_GPL vmlinux 0x2b4509dd devlink_health_reporter_state_update +EXPORT_SYMBOL_GPL vmlinux 0x2b506b55 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x2b5ddd94 soc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x2b6150fb power_supply_temp2resist_simple +EXPORT_SYMBOL_GPL vmlinux 0x2b6274cb is_swiotlb_active +EXPORT_SYMBOL_GPL vmlinux 0x2b652fc5 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x2b67adad srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x2b7d736a mctp_unregister_netdev +EXPORT_SYMBOL_GPL vmlinux 0x2b952517 clk_has_parent +EXPORT_SYMBOL_GPL vmlinux 0x2baccb77 irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x2bb0845e bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0x2bb9f479 sb800_prefetch +EXPORT_SYMBOL_GPL vmlinux 0x2bd78488 dma_async_device_channel_register +EXPORT_SYMBOL_GPL vmlinux 0x2bdc7c8c xhci_get_ep_ctx +EXPORT_SYMBOL_GPL vmlinux 0x2bdf5ab0 pm_wakeup_pending +EXPORT_SYMBOL_GPL vmlinux 0x2be5030f copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x2be8182d ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x2beaf7f5 pci_ecam_free +EXPORT_SYMBOL_GPL vmlinux 0x2c01ec93 dev_pm_opp_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x2c072ec4 skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x2c114ced dma_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x2c134c2b gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0x2c185b50 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c308a2d da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x2c33a504 snd_soc_find_dai +EXPORT_SYMBOL_GPL vmlinux 0x2c399793 pci_ecam_map_bus +EXPORT_SYMBOL_GPL vmlinux 0x2c42ed52 l3mdev_table_lookup_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2c4aa63b usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x2c509e83 unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x2c5e8fee perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0x2c60860e hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x2c65c19b css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0x2c66ac85 devlink_info_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x2c733614 nvmem_cell_read_u8 +EXPORT_SYMBOL_GPL vmlinux 0x2c764e96 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL vmlinux 0x2c767811 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x2c7d514e kpp_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c81a826 imx_1443x_pll +EXPORT_SYMBOL_GPL vmlinux 0x2c8dd6b8 edac_mem_types +EXPORT_SYMBOL_GPL vmlinux 0x2c900c0b serial8250_em485_stop_tx +EXPORT_SYMBOL_GPL vmlinux 0x2c97c770 __traceiter_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x2c97f8a2 of_reconfig_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2ca2ef5b rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0x2cac458c extcon_get_extcon_dev +EXPORT_SYMBOL_GPL vmlinux 0x2cb44ea0 acct_bioset_init +EXPORT_SYMBOL_GPL vmlinux 0x2cc509f2 fuse_init_fs_context_submount +EXPORT_SYMBOL_GPL vmlinux 0x2cc76742 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x2cc80f93 irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x2cc84d51 vfio_register_iommu_driver +EXPORT_SYMBOL_GPL vmlinux 0x2cd4252a dev_pm_opp_put_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x2cd7e0a3 devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0x2ce61f33 __SCK__tp_func_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x2ce9451a snd_soc_component_compr_set_metadata +EXPORT_SYMBOL_GPL vmlinux 0x2cec4a15 ahci_reset_em +EXPORT_SYMBOL_GPL vmlinux 0x2cfa3af9 md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x2cfa5ea7 __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2d01ac78 tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0x2d034595 smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x2d0ccbcd sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d24cdc0 of_property_read_variable_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x2d25569d ata_common_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current +EXPORT_SYMBOL_GPL vmlinux 0x2d368c4c nand_subop_get_addr_start_off +EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts +EXPORT_SYMBOL_GPL vmlinux 0x2d46137a switchdev_bridge_port_offload +EXPORT_SYMBOL_GPL vmlinux 0x2d521983 bpf_trace_run10 +EXPORT_SYMBOL_GPL vmlinux 0x2d526a7c filemap_range_has_writeback +EXPORT_SYMBOL_GPL vmlinux 0x2d5f69b3 rcu_read_unlock_strict +EXPORT_SYMBOL_GPL vmlinux 0x2d609547 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x2d65a776 sdhci_cqe_disable +EXPORT_SYMBOL_GPL vmlinux 0x2d690212 netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0x2d7e95ac crypto_alloc_acomp_node +EXPORT_SYMBOL_GPL vmlinux 0x2d929252 ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0x2da80dd4 do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x2daa8696 omap_iommu_save_ctx +EXPORT_SYMBOL_GPL vmlinux 0x2db67d4a owl_sps_set_pg +EXPORT_SYMBOL_GPL vmlinux 0x2db83013 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x2db88076 genphy_c45_pma_baset1_setup_master_slave +EXPORT_SYMBOL_GPL vmlinux 0x2dd068b1 pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0x2ddd5b55 devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0x2df25e9e ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0x2df6d649 __cci_control_port_by_device +EXPORT_SYMBOL_GPL vmlinux 0x2df9850e usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x2dfba337 device_property_present +EXPORT_SYMBOL_GPL vmlinux 0x2dfeb3fb hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0x2e028ae6 rcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x2e083d24 msi_next_desc +EXPORT_SYMBOL_GPL vmlinux 0x2e18643c unregister_nvdimm_pmu +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e398ab0 devm_led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2e3fdc8a dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x2e4261f6 snmp_get_cpu_field64 +EXPORT_SYMBOL_GPL vmlinux 0x2e4a9b74 kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0x2e55dec3 snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL vmlinux 0x2e5c31dc mmc_regulator_set_ocr +EXPORT_SYMBOL_GPL vmlinux 0x2e66298c __SCK__tp_func_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x2e7f94ad usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x2e8700e8 vp_legacy_get_features +EXPORT_SYMBOL_GPL vmlinux 0x2e8ee58e regulator_get_linear_step +EXPORT_SYMBOL_GPL vmlinux 0x2e9205fe pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x2e946e1b usb_phy_set_event +EXPORT_SYMBOL_GPL vmlinux 0x2e97b40e deregister_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0x2e99c68f of_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x2e9bd736 phy_save_page +EXPORT_SYMBOL_GPL vmlinux 0x2e9fa875 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0x2ea1022b xhci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x2ea5b736 tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x2eb3d4b7 tty_port_register_device_serdev +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ec18f1e ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x2ed8897f dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0x2f0c35e6 snd_soc_dai_compr_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x2f0d9053 usb_otg_state_string +EXPORT_SYMBOL_GPL vmlinux 0x2f1ea064 __SCK__tp_func_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x2f49020c devm_usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0x2f497a11 snd_soc_component_update_bits_async +EXPORT_SYMBOL_GPL vmlinux 0x2f5cd3dd mvebu_mbus_add_window_by_id +EXPORT_SYMBOL_GPL vmlinux 0x2f63e634 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x2f759df9 phy_check_downshift +EXPORT_SYMBOL_GPL vmlinux 0x2f9dc11e usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x2fade0be synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x2fb02adb metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2fbdcbad __clk_mux_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x2fc1e0fe kmem_valid_obj +EXPORT_SYMBOL_GPL vmlinux 0x2fcfe4dc spi_mem_default_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x2fe4fc29 debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x3007c57d blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x3008c43a nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x300a372d devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x301296a5 of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x3014957c dev_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0x3027a082 virtio_device_freeze +EXPORT_SYMBOL_GPL vmlinux 0x303982de cpufreq_driver_resolve_freq +EXPORT_SYMBOL_GPL vmlinux 0x303be9d8 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x3044f5db tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x3047f190 mtk_clk_unregister_fixed_clks +EXPORT_SYMBOL_GPL vmlinux 0x30552355 power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x305620d9 tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x30588627 iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x3066750c ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x30693bb7 imx_audmux_v1_configure_port +EXPORT_SYMBOL_GPL vmlinux 0x306e0ac4 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x30748a22 devfreq_event_reset_event +EXPORT_SYMBOL_GPL vmlinux 0x3079e6e9 mvebu_mbus_add_window_remap_by_id +EXPORT_SYMBOL_GPL vmlinux 0x308618d9 crypto_alloc_tfm_node +EXPORT_SYMBOL_GPL vmlinux 0x308a302f gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0x30964928 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x30a262dc look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0x30a2b5f5 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x30b3b8a9 pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0x30c5168f genphy_c45_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x30c87d18 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0x30caac75 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x30d4e116 __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x30d565f2 bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0x30def34f snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0x30e641df __traceiter_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x30e84829 sched_setattr_nocheck +EXPORT_SYMBOL_GPL vmlinux 0x30eb4985 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0x30ef8161 device_create +EXPORT_SYMBOL_GPL vmlinux 0x30f10002 musb_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x30f5fd8a of_clk_hw_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0x30f93ae8 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0x30ff2fde tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0x310101f2 elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0x31012648 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x31019477 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x3107e482 snd_ctl_get_preferred_subdevice +EXPORT_SYMBOL_GPL vmlinux 0x310b6270 alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0x31238600 xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x3124c170 blk_crypto_evict_key +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x313445e4 pcie_reset_flr +EXPORT_SYMBOL_GPL vmlinux 0x3135a119 sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0x31384cb5 dev_pm_qos_hide_flags +EXPORT_SYMBOL_GPL vmlinux 0x313ea5fd ipi_send_single +EXPORT_SYMBOL_GPL vmlinux 0x3143a9b1 devm_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x3152126e gov_attr_set_init +EXPORT_SYMBOL_GPL vmlinux 0x3157fcea devm_devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x31636c79 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x3165426a trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0x316806a0 gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0x3170e79c balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x31863bf3 rockchip_pcie_cfg_configuration_accesses +EXPORT_SYMBOL_GPL vmlinux 0x3187490a __SCK__tp_func_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x318f5573 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x3192d768 cpufreq_remove_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x3198f0e2 smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x319a373b snd_soc_dai_active +EXPORT_SYMBOL_GPL vmlinux 0x319d759d devm_extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31afffdb mtk_mux_clr_set_upd_ops +EXPORT_SYMBOL_GPL vmlinux 0x31b98aa3 ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31dd9865 spi_split_transfers_maxsize +EXPORT_SYMBOL_GPL vmlinux 0x31f8db1a __regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x3204e6de uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x320e2858 regmap_field_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x3219b9a5 irq_gc_unmask_enable_reg +EXPORT_SYMBOL_GPL vmlinux 0x3224b2a9 mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0x32300023 trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0x323847b6 devm_phy_create +EXPORT_SYMBOL_GPL vmlinux 0x324b798f genphy_c45_read_status +EXPORT_SYMBOL_GPL vmlinux 0x32580a50 regmap_mmio_attach_clk +EXPORT_SYMBOL_GPL vmlinux 0x325a5e1e gov_attr_set_get +EXPORT_SYMBOL_GPL vmlinux 0x325f14e1 ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0x3260d3bd gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0x32836981 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x32ae76df __efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0x32b02040 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x32b8f95d fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32c78885 fsverity_verify_page +EXPORT_SYMBOL_GPL vmlinux 0x32cbafc4 efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0x32cda530 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x32da879a devlink_port_type_eth_set +EXPORT_SYMBOL_GPL vmlinux 0x32eee78c devm_namespace_disable +EXPORT_SYMBOL_GPL vmlinux 0x330f6116 set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x33149b2a crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0x3328c6c2 devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0x332b4e9b ip4_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x332cf836 pinctrl_count_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x3335ae32 freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x3342986e mctp_register_netdev +EXPORT_SYMBOL_GPL vmlinux 0x3353a4d3 pci_iomap_wc +EXPORT_SYMBOL_GPL vmlinux 0x335b3eb1 of_thermal_get_trip_points +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x3372c8e3 pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0x3376e63c fwnode_graph_get_remote_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x33850ce3 irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0x338566bb ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x339b5355 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x33a83244 fuse_dev_fiq_ops +EXPORT_SYMBOL_GPL vmlinux 0x33b3b603 anon_inode_getfd_secure +EXPORT_SYMBOL_GPL vmlinux 0x33ca82d4 tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0x33cd2cd6 cpu_latency_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x33cf3071 nanddev_init +EXPORT_SYMBOL_GPL vmlinux 0x33d30528 snd_soc_get_dai_id +EXPORT_SYMBOL_GPL vmlinux 0x33d8a31a skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0x33dd685e sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x33e73297 driver_deferred_probe_check_state +EXPORT_SYMBOL_GPL vmlinux 0x33e9e0a2 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x33efc8c8 trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x33f1ae37 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x33f3c1d9 mtk_hw_get_value +EXPORT_SYMBOL_GPL vmlinux 0x33f3d08d component_del +EXPORT_SYMBOL_GPL vmlinux 0x340adf96 pci_find_dvsec_capability +EXPORT_SYMBOL_GPL vmlinux 0x3418350b scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x344361a1 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0x34440804 dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0x344bd03b devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0x3450ad94 mpi_set_ui +EXPORT_SYMBOL_GPL vmlinux 0x3461ba36 usb_bus_idr +EXPORT_SYMBOL_GPL vmlinux 0x3461e4e6 imx_unregister_hw_clocks +EXPORT_SYMBOL_GPL vmlinux 0x34628ff2 auxiliary_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x34656908 fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0x346f8972 snd_soc_component_compr_get_codec_caps +EXPORT_SYMBOL_GPL vmlinux 0x3471fae8 dev_attr_ncq_prio_supported +EXPORT_SYMBOL_GPL vmlinux 0x347fb78e tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0x34952db5 fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x349f917c edac_mc_free +EXPORT_SYMBOL_GPL vmlinux 0x34a2d86e lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0x34a7b142 __SCK__tp_func_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x34ac50a4 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x34bf2b54 dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x34c9ea64 ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0x34d02821 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0x34d73b91 devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x34dad60c i2c_slave_event +EXPORT_SYMBOL_GPL vmlinux 0x34de7c0c ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x34e263e8 rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x350f6ce5 tasklet_unlock_wait +EXPORT_SYMBOL_GPL vmlinux 0x3515c195 pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0x35185ba0 spi_finalize_current_transfer +EXPORT_SYMBOL_GPL vmlinux 0x351ca590 vp_modern_get_num_queues +EXPORT_SYMBOL_GPL vmlinux 0x3528b5f4 wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x352add12 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x352b3813 maxim_charger_calc_reg_current +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3533cff0 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x35374b16 dmi_kobj +EXPORT_SYMBOL_GPL vmlinux 0x35430f8c iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x3554becb ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x3559165a snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL vmlinux 0x35622b6d tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x3565a929 utf8_data_table +EXPORT_SYMBOL_GPL vmlinux 0x35681ae3 __tracepoint_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0x35707839 irq_gc_mask_set_bit +EXPORT_SYMBOL_GPL vmlinux 0x357803b5 of_console_check +EXPORT_SYMBOL_GPL vmlinux 0x3581221e iptunnel_metadata_reply +EXPORT_SYMBOL_GPL vmlinux 0x358a86ab ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x358ff60f twl_get_hfclk_rate +EXPORT_SYMBOL_GPL vmlinux 0x3590eaff nvdimm_security_setup_events +EXPORT_SYMBOL_GPL vmlinux 0x35a0d817 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x35a93499 serial8250_rx_dma_flush +EXPORT_SYMBOL_GPL vmlinux 0x35af5ed2 devm_clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x35d217a1 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x35d81ae9 iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x35f4a8b6 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x35fc9a28 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x360ae071 meson_a1_parse_dt_extra +EXPORT_SYMBOL_GPL vmlinux 0x36152141 __regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x36226c29 nanddev_isbad +EXPORT_SYMBOL_GPL vmlinux 0x3622990b mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0x36235725 nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x36356eda tegra124_clk_set_emc_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x3637c9fb set_capacity_and_notify +EXPORT_SYMBOL_GPL vmlinux 0x363df4d6 mtd_ooblayout_set_eccbytes +EXPORT_SYMBOL_GPL vmlinux 0x3640f0cd usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0x36547816 of_usb_update_otg_caps +EXPORT_SYMBOL_GPL vmlinux 0x365989e5 imx_1416x_pll +EXPORT_SYMBOL_GPL vmlinux 0x36709748 wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0x367feb96 dev_pm_opp_unregister_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x36898d6f gpiod_remove_hogs +EXPORT_SYMBOL_GPL vmlinux 0x36916b3d usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x36b71eda posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x36db4c6e rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0x36f6608b inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3723e71a spi_controller_dma_map_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x372ed98f __nvdimm_create +EXPORT_SYMBOL_GPL vmlinux 0x37377134 tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x373af281 fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x37595cb3 meson_clk_mpll_ops +EXPORT_SYMBOL_GPL vmlinux 0x3768c394 balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0x37743b64 iomap_dio_complete +EXPORT_SYMBOL_GPL vmlinux 0x3774a422 __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0x37773856 snd_ctl_sync_vmaster +EXPORT_SYMBOL_GPL vmlinux 0x377bbcbc pm_suspend_target_state +EXPORT_SYMBOL_GPL vmlinux 0x377e9ac0 of_hwspin_lock_get_id_byname +EXPORT_SYMBOL_GPL vmlinux 0x3787ca94 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x378940d3 irq_gc_set_wake +EXPORT_SYMBOL_GPL vmlinux 0x378c74a0 of_icc_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x37be2eca null_dailink_component +EXPORT_SYMBOL_GPL vmlinux 0x37d0ce34 dev_pm_qos_expose_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x37e3010f proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0x37f50b89 snd_soc_of_parse_node_prefix +EXPORT_SYMBOL_GPL vmlinux 0x3805ca33 mtd_unlock +EXPORT_SYMBOL_GPL vmlinux 0x380dde36 power_supply_batinfo_ocv2cap +EXPORT_SYMBOL_GPL vmlinux 0x3815b8f9 crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0x38268b62 icc_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x3829998f switchdev_bridge_port_unoffload +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x38413a6c max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x38443526 device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x384da78e regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0x3871aec7 fat_time_fat2unix +EXPORT_SYMBOL_GPL vmlinux 0x38817808 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x3887a1a4 devm_extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x38a9c2c7 input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38ab67c8 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x38b2c7b3 serial8250_init_port +EXPORT_SYMBOL_GPL vmlinux 0x38b97009 regulator_get_hardware_vsel_register +EXPORT_SYMBOL_GPL vmlinux 0x38bcbc5e fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0x38c02ab0 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x38c0c9e4 btree_update +EXPORT_SYMBOL_GPL vmlinux 0x38c474a5 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0x38c9f0de regmap_raw_write_async +EXPORT_SYMBOL_GPL vmlinux 0x38d7083f devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x38e1fde7 mpi_set +EXPORT_SYMBOL_GPL vmlinux 0x38e3bc1b led_trigger_read +EXPORT_SYMBOL_GPL vmlinux 0x38e5bc5a clk_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x38eee643 scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0x390265aa ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x391c3abd mctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x391f7399 edac_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0x3924cc8e regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x3959c5d0 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x3966730d do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0x3966f65a __traceiter_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x396a7588 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x3977ae79 devm_pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x397dc241 irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x397e2142 __SCK__tp_func_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x399d19da del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0x399d73d1 dev_pm_opp_find_freq_floor +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39aa4888 usb_role_string +EXPORT_SYMBOL_GPL vmlinux 0x39b2cb00 blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0x39bb52c5 snd_soc_card_add_dai_link +EXPORT_SYMBOL_GPL vmlinux 0x39c32aca __SCK__tp_func_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x39d392b0 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x39d4efbd thermal_zone_get_offset +EXPORT_SYMBOL_GPL vmlinux 0x39d857b4 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x39dbe224 of_usb_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x39f1aa07 snd_pcm_hw_constraint_eld +EXPORT_SYMBOL_GPL vmlinux 0x3a14f027 sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x3a1ff8d3 clk_mux_val_to_index +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a560cd9 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3a60053b virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0x3a75d34e tps65217_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x3a977828 dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x3a97cc6b nanddev_bbt_get_block_status +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3aaec1c2 musb_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x3ab70944 list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0x3abc1bef rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x3ac68f5d snd_soc_set_ac97_ops_of_reset +EXPORT_SYMBOL_GPL vmlinux 0x3acc14e8 iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3aced81a ohci_setup +EXPORT_SYMBOL_GPL vmlinux 0x3ad06875 __reset_control_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x3adc5642 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x3aeea589 __traceiter_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x3af2532f snd_dmaengine_pcm_open_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x3b01bee7 clk_register_mux_table +EXPORT_SYMBOL_GPL vmlinux 0x3b0714f7 fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0x3b07572a regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3b08a01d rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0x3b193fbb relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x3b217f36 sk_msg_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x3b28d1bc register_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0x3b490649 ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x3b4c240a display_timings_release +EXPORT_SYMBOL_GPL vmlinux 0x3b59596b of_genpd_remove_last +EXPORT_SYMBOL_GPL vmlinux 0x3b97cbef xas_find +EXPORT_SYMBOL_GPL vmlinux 0x3b9aaaf7 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x3baaaf5d xhci_drop_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x3bb1623e l3mdev_ifindex_lookup_by_table_id +EXPORT_SYMBOL_GPL vmlinux 0x3bb7a54c led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0x3bc55f7f phy_speed_up +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3be0b2c5 of_clk_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3bf1f2d7 fwnode_graph_get_endpoint_count +EXPORT_SYMBOL_GPL vmlinux 0x3bf39aa7 snd_ctl_activate_id +EXPORT_SYMBOL_GPL vmlinux 0x3c07ecbb genphy_c45_fast_retrain +EXPORT_SYMBOL_GPL vmlinux 0x3c0d27d6 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c2168a9 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x3c2b68f7 of_changeset_apply +EXPORT_SYMBOL_GPL vmlinux 0x3c3565f9 thermal_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x3c38a5fd nand_prog_page_op +EXPORT_SYMBOL_GPL vmlinux 0x3c3c85d8 __SCK__tp_func_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x3c454317 serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0x3c56b055 ip6_input +EXPORT_SYMBOL_GPL vmlinux 0x3c58c7b3 ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x3c5b0875 altr_sysmgr_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x3c61ee30 register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c72724e usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x3c779d83 inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x3c841e2f nand_read_data_op +EXPORT_SYMBOL_GPL vmlinux 0x3ca2e3c3 pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x3ca6ca1c bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0x3ca9ca0d devlink_rate_nodes_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3cac58d3 netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0x3cbb7138 gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0x3cc01f09 nvmem_device_find +EXPORT_SYMBOL_GPL vmlinux 0x3cc404de snd_soc_tplg_component_load +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cd1b510 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x3cd7e6a4 serial8250_em485_start_tx +EXPORT_SYMBOL_GPL vmlinux 0x3cdc3a6c serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0x3ce92820 dev_pm_opp_find_bw_floor +EXPORT_SYMBOL_GPL vmlinux 0x3cf00f4b mtk_clk_gate_ops_setclr +EXPORT_SYMBOL_GPL vmlinux 0x3d0818ac nvmem_cell_read_variable_le_u64 +EXPORT_SYMBOL_GPL vmlinux 0x3d0a799f crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d3a96fb espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d564371 ata_sas_tport_delete +EXPORT_SYMBOL_GPL vmlinux 0x3d625ad0 mtk_clk_register_muxes +EXPORT_SYMBOL_GPL vmlinux 0x3d6bd359 rio_register_mport +EXPORT_SYMBOL_GPL vmlinux 0x3d81d21c usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0x3d866e05 __SCK__tp_func_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x3d8f155f extcon_get_state +EXPORT_SYMBOL_GPL vmlinux 0x3d9bbf75 wwan_port_txon +EXPORT_SYMBOL_GPL vmlinux 0x3da2eb73 trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3da67968 rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0x3dae9adc regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x3db48a49 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x3dc1b851 ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x3de7f128 __percpu_init_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3dfaf3e2 phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3e06f687 pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x3e0d4cfd device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3e31d9c3 net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x3e48ca3a snd_soc_of_parse_pin_switches +EXPORT_SYMBOL_GPL vmlinux 0x3e4aa0f7 device_register +EXPORT_SYMBOL_GPL vmlinux 0x3e4f36f7 tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0x3e5d06a6 is_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x3e5dc1e5 pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0x3e617eb2 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x3e6705c7 skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x3e6c331e debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x3e6cf380 sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e79e6b1 add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0x3e86f6cd set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x3e976334 crypto_boot_test_finished +EXPORT_SYMBOL_GPL vmlinux 0x3ea06a7b gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x3ead4253 kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0x3eb8bf1f snd_soc_info_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x3eba9463 regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x3ec3cba3 phy_select_page +EXPORT_SYMBOL_GPL vmlinux 0x3ec40239 idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0x3ec818f2 dmaengine_unmap_put +EXPORT_SYMBOL_GPL vmlinux 0x3edd986e ehci_resume +EXPORT_SYMBOL_GPL vmlinux 0x3eeba03c __traceiter_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x3eef468c devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3f02eeab dma_free_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x3f060887 __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x3f21e4c5 dev_pm_domain_set +EXPORT_SYMBOL_GPL vmlinux 0x3f491f49 reset_control_bulk_reset +EXPORT_SYMBOL_GPL vmlinux 0x3f499adf nand_status_op +EXPORT_SYMBOL_GPL vmlinux 0x3f4baa11 pm_genpd_opp_to_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x3f4c1718 cros_ec_check_features +EXPORT_SYMBOL_GPL vmlinux 0x3f57ab54 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x3f5aa3b5 regmap_fields_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x3f670866 ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0x3f6eda3a crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x3f7afcd1 mmc_crypto_prepare_req +EXPORT_SYMBOL_GPL vmlinux 0x3f842366 __traceiter_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3fac687e __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x3fb040e0 dma_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x3fb4ec2a devm_phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0x3fc0391f ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x3fd6e897 devfreq_get_devfreq_by_node +EXPORT_SYMBOL_GPL vmlinux 0x3fe670b3 phy_get +EXPORT_SYMBOL_GPL vmlinux 0x3fe6c346 devlink_fmsg_binary_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x3fea029c hisi_clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x3ff2e349 hte_request_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x3ffa3eda iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x400bbc67 pci_epf_remove_vepf +EXPORT_SYMBOL_GPL vmlinux 0x4016bff6 nand_read_oob_op +EXPORT_SYMBOL_GPL vmlinux 0x402641e1 musb_queue_resume_work +EXPORT_SYMBOL_GPL vmlinux 0x402c2ee8 __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x402c48c8 class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x40301553 get_device +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x40530715 regmap_irq_get_domain +EXPORT_SYMBOL_GPL vmlinux 0x4058b05b __virtio_unbreak_device +EXPORT_SYMBOL_GPL vmlinux 0x4065d168 pm_print_active_wakeup_sources +EXPORT_SYMBOL_GPL vmlinux 0x406c4cb1 hrtimer_resolution +EXPORT_SYMBOL_GPL vmlinux 0x4071b517 out_of_line_wait_on_bit_timeout +EXPORT_SYMBOL_GPL vmlinux 0x4071d326 icc_nodes_remove +EXPORT_SYMBOL_GPL vmlinux 0x4076a5e1 tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0x407ba06d regulator_list_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x407fe4b9 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x4082f95f pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0x4083fb81 skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0x4084366c pci_find_vsec_capability +EXPORT_SYMBOL_GPL vmlinux 0x408cc6f6 __traceiter_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x408fbbfc gpiod_enable_hw_timestamp_ns +EXPORT_SYMBOL_GPL vmlinux 0x4099f919 tun_ptr_free +EXPORT_SYMBOL_GPL vmlinux 0x409fd637 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x40a23395 register_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x40a48abf devm_clk_get_enabled +EXPORT_SYMBOL_GPL vmlinux 0x40a84cfb crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x40bd7616 nvdimm_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x40bfc4fe fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0x40c3c8d1 __tracepoint_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x40cc0cef phy_start_machine +EXPORT_SYMBOL_GPL vmlinux 0x40d72754 ftrace_set_filter_ips +EXPORT_SYMBOL_GPL vmlinux 0x40d8a27f mxic_ecc_get_pipelined_ops +EXPORT_SYMBOL_GPL vmlinux 0x40e87d86 pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x40ecda45 vchan_find_desc +EXPORT_SYMBOL_GPL vmlinux 0x40f0683e reset_control_put +EXPORT_SYMBOL_GPL vmlinux 0x40f8b94e ring_buffer_iter_dropped +EXPORT_SYMBOL_GPL vmlinux 0x40f8bd4e klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x4100a662 clk_get_scaled_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x4111cb0f mmc_send_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0x41133c3e sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x411fb07c __traceiter_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x412b7bfc fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x412ce80b serial8250_rpm_put +EXPORT_SYMBOL_GPL vmlinux 0x412d54be ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0x412e1d4f led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x4135ed2c dm_audit_log_bio +EXPORT_SYMBOL_GPL vmlinux 0x413976e8 tty_get_icount +EXPORT_SYMBOL_GPL vmlinux 0x4139b9a9 dev_pm_opp_get_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x413a90e2 fb_deferred_io_mmap +EXPORT_SYMBOL_GPL vmlinux 0x414538e6 synth_event_add_field_str +EXPORT_SYMBOL_GPL vmlinux 0x414b2f0d devm_tegra_memory_controller_get +EXPORT_SYMBOL_GPL vmlinux 0x414d119a videomode_from_timings +EXPORT_SYMBOL_GPL vmlinux 0x41509fe8 __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x4151860b devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x415319c8 __kmap_local_pfn_prot +EXPORT_SYMBOL_GPL vmlinux 0x4164b0c5 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4165a42d ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4169549f mtk_pinconf_drive_set +EXPORT_SYMBOL_GPL vmlinux 0x41698604 cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0x416d7173 devlink_rate_leaf_create +EXPORT_SYMBOL_GPL vmlinux 0x4170f4c2 blk_mq_complete_request_remote +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x41873d9c wwan_port_rx +EXPORT_SYMBOL_GPL vmlinux 0x41884098 __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x419464a4 device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0x41960869 tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x41aae3ff xdp_do_redirect_frame +EXPORT_SYMBOL_GPL vmlinux 0x41b4dfb8 mtk_pinconf_bias_set +EXPORT_SYMBOL_GPL vmlinux 0x41b9a6e6 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x41c30f3a trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0x41ed0bc8 of_devfreq_cooling_register_power +EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x42041512 i2c_get_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x42044b4a dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x4205ad24 cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x42096ec0 disk_update_readahead +EXPORT_SYMBOL_GPL vmlinux 0x420d5ab8 pwm_adjust_config +EXPORT_SYMBOL_GPL vmlinux 0x420f3d01 nvmem_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4224397f crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0x422ee124 rio_route_add_entry +EXPORT_SYMBOL_GPL vmlinux 0x422f5379 power_supply_charge_behaviour_show +EXPORT_SYMBOL_GPL vmlinux 0x423c8a85 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x423ecea8 register_mtd_blktrans +EXPORT_SYMBOL_GPL vmlinux 0x4243b924 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x424af2bb device_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x42635d55 pm_suspend_global_flags +EXPORT_SYMBOL_GPL vmlinux 0x4266b5e4 usb_enable_intel_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x429c3f9c reboot_mode +EXPORT_SYMBOL_GPL vmlinux 0x429d302f debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x42ac8c27 icc_get_name +EXPORT_SYMBOL_GPL vmlinux 0x42ca26ec crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0x42cc582f snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL vmlinux 0x42ce6c44 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x42d1d2dd handle_fasteoi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x42e7713d usb_gadget_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x42eb5735 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x42efb127 nvmem_del_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x42f4ac3e vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x42f52ed5 tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0x42f728aa mctrl_gpio_get_outputs +EXPORT_SYMBOL_GPL vmlinux 0x42fd1106 cpufreq_dbs_governor_start +EXPORT_SYMBOL_GPL vmlinux 0x42fd1ea7 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x43039a44 badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0x430d88ec __traceiter_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x431303e9 spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4347651b gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0x43478e62 __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x435fddb8 nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0x4360b962 snd_soc_dai_compr_trigger +EXPORT_SYMBOL_GPL vmlinux 0x436d817f mpi_clear_bit +EXPORT_SYMBOL_GPL vmlinux 0x4372f3c2 sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x43a3a057 clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43b1e9ce pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0x43c77179 cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x43cca2d8 reset_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x43dfd261 __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x43e53806 xhci_run +EXPORT_SYMBOL_GPL vmlinux 0x43f0df98 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0x43f81957 clk_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x43f92edd wait_for_initramfs +EXPORT_SYMBOL_GPL vmlinux 0x43fafafa sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x43fd6520 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x4401e6c2 mpi_cmpabs +EXPORT_SYMBOL_GPL vmlinux 0x440386d7 __class_register +EXPORT_SYMBOL_GPL vmlinux 0x440a66fd usb_phy_set_charger_state +EXPORT_SYMBOL_GPL vmlinux 0x44219817 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4425918d amba_bustype +EXPORT_SYMBOL_GPL vmlinux 0x442de496 regulator_map_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x442deaa9 poll_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x44398199 mvebu_mbus_del_window +EXPORT_SYMBOL_GPL vmlinux 0x4439bcd2 __SCK__tp_func_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x44417e13 tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x444f1735 cpu_pm_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4459d6e1 rio_unmap_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x445dd246 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x446ed9e4 fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0x447428d1 is_nvdimm_sync +EXPORT_SYMBOL_GPL vmlinux 0x4482569b scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44935150 __traceiter_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x44a40581 gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x44b20254 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x44b83e00 vfio_info_cap_add +EXPORT_SYMBOL_GPL vmlinux 0x44b85995 snd_soc_dpcm_runtime_update +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44ccab91 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44f09c9b __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x4516cd46 pwm_get_chip_data +EXPORT_SYMBOL_GPL vmlinux 0x45172d64 dev_pm_opp_is_turbo +EXPORT_SYMBOL_GPL vmlinux 0x4519355e devm_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x4533a143 ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x45341779 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x4548f87e dev_pm_opp_set_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x454f0e96 __put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x45558f56 clk_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x455ceab2 pinconf_generic_parse_dt_config +EXPORT_SYMBOL_GPL vmlinux 0x4561f990 qcom_smem_state_unregister +EXPORT_SYMBOL_GPL vmlinux 0x456512d6 __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x459a2a9c task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0x459f9ebd devm_clk_hw_register_fixed_factor_index +EXPORT_SYMBOL_GPL vmlinux 0x45be577b xdp_return_frame_bulk +EXPORT_SYMBOL_GPL vmlinux 0x45c2c5fd ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0x45c769fa inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x45c7c5a7 security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x45d07221 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0x45d7eb92 snd_soc_put_volsw_range +EXPORT_SYMBOL_GPL vmlinux 0x45daaa46 __reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x45dfa533 ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x45dffd2d mtd_ooblayout_count_freebytes +EXPORT_SYMBOL_GPL vmlinux 0x45e40d9d of_irq_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x45e86b1e ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x45f8e322 umd_cleanup_helper +EXPORT_SYMBOL_GPL vmlinux 0x45ff8535 trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x460d8ef5 sm501_unit_power +EXPORT_SYMBOL_GPL vmlinux 0x46127fe1 __iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x4613bcc8 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x461c5232 snd_soc_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x4622a6c5 kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x4622c8c4 component_add +EXPORT_SYMBOL_GPL vmlinux 0x462e238d mtk_clk_unregister_plls +EXPORT_SYMBOL_GPL vmlinux 0x46300e95 dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0x4633762b tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0x464269f8 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x46486982 skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0x4658c0e4 ahci_start_engine +EXPORT_SYMBOL_GPL vmlinux 0x465f74d7 __irq_domain_alloc_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x46621327 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x4665e2fd tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x466e5342 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4685102f sdhci_enable_v4_mode +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x46a60ca1 arm_iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x46af42b8 get_net_ns_by_id +EXPORT_SYMBOL_GPL vmlinux 0x46b2088a devm_register_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x46b7f9af transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x46c06c19 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x46c5be22 clk_multiplier_ops +EXPORT_SYMBOL_GPL vmlinux 0x46ffd4ce ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0x4711b7eb blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x471fd98d irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x47293792 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x473113b1 ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x47317949 crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x4733a959 sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0x4737aeba component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0x473d35e0 xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x47715809 regmap_field_read +EXPORT_SYMBOL_GPL vmlinux 0x478370f8 __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x478e81f8 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x478f4996 __traceiter_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x47925794 idr_find +EXPORT_SYMBOL_GPL vmlinux 0x47937669 snd_soc_dapm_del_routes +EXPORT_SYMBOL_GPL vmlinux 0x479f7d4b clk_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x47a3597c pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0x47aad3b9 have_governor_per_policy +EXPORT_SYMBOL_GPL vmlinux 0x47abbae7 tegra_bpmp_mrq_is_supported +EXPORT_SYMBOL_GPL vmlinux 0x47b40935 tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0x47ba9db3 input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x47c80836 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x47d04381 uart_get_rs485_mode +EXPORT_SYMBOL_GPL vmlinux 0x47d87b85 nvdimm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x47dbff5f snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL vmlinux 0x47de0dc7 clk_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x47e58052 i2c_adapter_depth +EXPORT_SYMBOL_GPL vmlinux 0x47ee6060 vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL vmlinux 0x48020c1c irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0x48023ed1 device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x480305ca kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x48031bc0 serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0x480ef8f0 bpf_offload_dev_netdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x481f9b7d mpi_mulm +EXPORT_SYMBOL_GPL vmlinux 0x481fde60 pinctrl_lookup_state +EXPORT_SYMBOL_GPL vmlinux 0x48203853 em_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x4823f78f bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4833db79 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x484779ef __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0x4852a839 tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0x4855c737 serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x485ae717 vchan_dma_desc_free_list +EXPORT_SYMBOL_GPL vmlinux 0x486ba5c2 crc64_rocksoft_generic +EXPORT_SYMBOL_GPL vmlinux 0x48770e34 fscrypt_add_test_dummy_key +EXPORT_SYMBOL_GPL vmlinux 0x487f352c gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x487f8b0c hte_push_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x48805086 __hwspin_unlock +EXPORT_SYMBOL_GPL vmlinux 0x48936076 modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x489441af pci_find_host_bridge +EXPORT_SYMBOL_GPL vmlinux 0x48a3d20b mctrl_gpio_get +EXPORT_SYMBOL_GPL vmlinux 0x48ac05d6 __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x48aec276 sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x48b2055b __tracepoint_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x48c32847 __SCK__tp_func_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x48d00541 da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x48e38783 pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x48f7887e sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0x48faef62 find_mci_by_dev +EXPORT_SYMBOL_GPL vmlinux 0x49000ee8 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0x490a4f29 kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x4912272f irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0x492e16f1 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x49326ef6 irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4934bdd0 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x493f7faa dev_pm_domain_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x49434a19 regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x494fceb6 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0x4950c0a3 mtd_pairing_groups +EXPORT_SYMBOL_GPL vmlinux 0x49604033 ndo_dflt_bridge_getlink +EXPORT_SYMBOL_GPL vmlinux 0x49608959 migrate_disable +EXPORT_SYMBOL_GPL vmlinux 0x4965a9eb dev_pm_genpd_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4974770f crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x49830f0e __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x4988c090 fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x499b6425 scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0x49a7935a cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x49bc272e srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x49c17135 rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x49cd25ed alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x49d96707 freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x49d9f030 usb_ep_fifo_status +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49eb7c91 cpufreq_generic_init +EXPORT_SYMBOL_GPL vmlinux 0x49fe3ebb sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0x4a02dcfa regulator_suspend_disable +EXPORT_SYMBOL_GPL vmlinux 0x4a0c14b0 blk_crypto_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a1efe75 meson_pmx_get_func_name +EXPORT_SYMBOL_GPL vmlinux 0x4a28c82d irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0x4a2c9ad8 crc64_rocksoft +EXPORT_SYMBOL_GPL vmlinux 0x4a2f3ae6 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x4a31f380 component_compare_of +EXPORT_SYMBOL_GPL vmlinux 0x4a33506c usb_gadget_vbus_connect +EXPORT_SYMBOL_GPL vmlinux 0x4a53b680 devfreq_event_get_edev_count +EXPORT_SYMBOL_GPL vmlinux 0x4a81061b mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4ac3d523 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x4ac77b9a mtk_mux_gate_clr_set_upd_ops +EXPORT_SYMBOL_GPL vmlinux 0x4ad26019 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x4adf7fad attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4af190ca tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x4b0d1cbe fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0x4b3012db kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0x4b51f74c ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x4b638bee wakeup_sources_walk_start +EXPORT_SYMBOL_GPL vmlinux 0x4b6bddd4 usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL vmlinux 0x4b6c9dcd pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x4b76eea7 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4b7da13d sdhci_cqe_irq +EXPORT_SYMBOL_GPL vmlinux 0x4b893cd8 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x4b932844 devm_snd_soc_register_component +EXPORT_SYMBOL_GPL vmlinux 0x4bad94f1 sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x4bb7e755 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x4bbe2cd1 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0x4bc19fac power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x4bc8bcd7 dma_resv_get_singleton +EXPORT_SYMBOL_GPL vmlinux 0x4bce41e1 rio_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x4bd465c6 of_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x4bdb8dcc housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4be555fd usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x4bfa2aa0 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x4bfb051c mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0x4bfcb8b5 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x4bfce8b6 rio_set_port_lockout +EXPORT_SYMBOL_GPL vmlinux 0x4c1a40d6 mptcp_pm_get_add_addr_signal_max +EXPORT_SYMBOL_GPL vmlinux 0x4c1e95ea mbox_chan_received_data +EXPORT_SYMBOL_GPL vmlinux 0x4c234129 nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0x4c3e86a4 wwan_put_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x4c3feac4 fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x4c507391 mmc_regulator_set_vqmmc +EXPORT_SYMBOL_GPL vmlinux 0x4c549b36 __traceiter_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x4c649a27 ahci_platform_disable_phys +EXPORT_SYMBOL_GPL vmlinux 0x4c67e00a of_get_display_timings +EXPORT_SYMBOL_GPL vmlinux 0x4c6cb562 dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x4c70bee1 mpc8xxx_spi_rx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0x4ca04c5d phy_pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x4ca78fd1 msi_unlock_descs +EXPORT_SYMBOL_GPL vmlinux 0x4cb27100 ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x4cb81fda __SCK__tp_func_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x4cc1043d __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x4cd3d39c uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x4cd9e20f of_irq_find_parent +EXPORT_SYMBOL_GPL vmlinux 0x4cda2605 dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0x4ce9aaba mtk_eint_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4cee2c75 device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x4cf24332 __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x4cf90ac2 put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x4cfbbcaf usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d07863b devm_of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x4d160fdc devm_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0x4d179c77 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x4d185248 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0x4d23dded rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x4d281278 pinctrl_find_gpio_range_from_pin +EXPORT_SYMBOL_GPL vmlinux 0x4d38f1e0 bL_switcher_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4d3a0696 __SCK__tp_func_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x4d44323b dev_coredumpv +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d57fd60 devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x4d60bebe snd_dmaengine_pcm_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x4d679e3d event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d7272e4 migrate_enable +EXPORT_SYMBOL_GPL vmlinux 0x4d8c5b96 wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0x4d8e0810 pci_epc_map_msi_irq +EXPORT_SYMBOL_GPL vmlinux 0x4d951919 gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0x4da35620 i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL vmlinux 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4db0362c tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0x4dc62423 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0x4dd22feb blk_queue_zone_write_granularity +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4de0b1d1 account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x4de17ab3 usb_state_string +EXPORT_SYMBOL_GPL vmlinux 0x4de2381e register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x4df09e14 component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0x4df4738b fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0x4dff61e5 wwan_port_txoff +EXPORT_SYMBOL_GPL vmlinux 0x4e02d5c8 blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0x4e28d1b9 dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0x4e2de395 snd_soc_get_volsw_range +EXPORT_SYMBOL_GPL vmlinux 0x4e4a667c cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x4e53e4c4 devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x4e58bb5a mtk_pinconf_drive_set_raw +EXPORT_SYMBOL_GPL vmlinux 0x4e5924bc bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0x4e5afd6f iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0x4e761b25 uprobe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4e7ae288 snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x4e83a4c9 sdhci_pltfm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4e84cc7e efivars_register +EXPORT_SYMBOL_GPL vmlinux 0x4e918404 decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x4e9413d1 dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0x4e9bd8eb imx_pinctrl_probe +EXPORT_SYMBOL_GPL vmlinux 0x4e9f0448 ata_qc_get_active +EXPORT_SYMBOL_GPL vmlinux 0x4ea68ea5 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4ead9601 serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0x4ebbde62 __regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x4eca8f8f sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0x4ecae4cc rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x4ed96ca4 dw8250_do_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x4eddd2fe tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x4ee7da50 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0x4eea67fe page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4efcf021 mpi_normalize +EXPORT_SYMBOL_GPL vmlinux 0x4efe6765 mmc_crypto_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x4f0a83da da9052_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x4f203b1f subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x4f221155 __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x4f3ba219 blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0x4f423721 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x4f57fe06 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x4f5fb849 rio_dma_prep_xfer +EXPORT_SYMBOL_GPL vmlinux 0x4f5ff5fb device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0x4f65004b raw_v4_match +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4f6e0f47 of_pci_range_parser_one +EXPORT_SYMBOL_GPL vmlinux 0x4f72a987 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0x4f7de20b sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x4f867b0f regulator_set_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4f870510 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x4f933eb0 ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4f98d766 cpu_pm_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4fa1782d snd_soc_tdm_params_to_bclk +EXPORT_SYMBOL_GPL vmlinux 0x4faa17ba sm501_modify_reg +EXPORT_SYMBOL_GPL vmlinux 0x4faf0b34 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x4fc648ba nanddev_bbt_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x4fcce6c3 rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4ff4345b __traceiter_map +EXPORT_SYMBOL_GPL vmlinux 0x5002bec0 ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0x5008239d filemap_read +EXPORT_SYMBOL_GPL vmlinux 0x500c1e94 serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0x503eeebb synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x504886e7 pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x505a7119 __traceiter_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x50616e69 devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0x50647fef ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0x506a1641 devm_regmap_field_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x506ab3a9 usb_ep_queue +EXPORT_SYMBOL_GPL vmlinux 0x5074416c dma_get_slave_caps +EXPORT_SYMBOL_GPL vmlinux 0x507f6f58 fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x5089b07d badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0x508afef4 usb_anchor_suspend_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x509d5f55 clk_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x50b88f41 usb_get_gadget_udc_name +EXPORT_SYMBOL_GPL vmlinux 0x50c25ae5 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x50c89f23 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x50cb9fc7 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x50d3e808 nvdimm_flush +EXPORT_SYMBOL_GPL vmlinux 0x50e07de8 dm_audit_log_ti +EXPORT_SYMBOL_GPL vmlinux 0x50e4a460 pinctrl_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50ec12d9 devm_register_restart_handler +EXPORT_SYMBOL_GPL vmlinux 0x50f739a1 devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x50fbee77 irq_chip_retrigger_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x51153b89 __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0x5115aa1d folio_wait_stable +EXPORT_SYMBOL_GPL vmlinux 0x511e95d1 i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x5122e6fa thermal_cooling_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5128b9b5 dax_recovery_write +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x5142f49f dev_pm_opp_set_opp +EXPORT_SYMBOL_GPL vmlinux 0x5147593d kick_process +EXPORT_SYMBOL_GPL vmlinux 0x515b390f __SCK__tp_func_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x516012cb mptcp_pm_get_subflows_max +EXPORT_SYMBOL_GPL vmlinux 0x518e232d fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x51991b38 mtk_mutex_enable +EXPORT_SYMBOL_GPL vmlinux 0x519c2d75 inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x51a348cc usb_role_switch_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x51aef14b extcon_sync +EXPORT_SYMBOL_GPL vmlinux 0x51b546ed of_dma_configure_id +EXPORT_SYMBOL_GPL vmlinux 0x51b6d6b2 device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0x51d1deae virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0x51ec767a sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x51f0ed35 __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x51f1af27 nd_region_dev +EXPORT_SYMBOL_GPL vmlinux 0x51f5cde9 fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0x52045600 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x52066243 fscrypt_mergeable_bio +EXPORT_SYMBOL_GPL vmlinux 0x521ccc47 ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x52228515 regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x52252316 clk_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x5229242d pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0x52327169 __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0x5235c909 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x5236497d trace_clock +EXPORT_SYMBOL_GPL vmlinux 0x5241954d da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x5261322c rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0x526448c5 pm_wakeup_ws_event +EXPORT_SYMBOL_GPL vmlinux 0x526bcf2a wwan_port_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x52701755 platform_clear +EXPORT_SYMBOL_GPL vmlinux 0x52890d56 genphy_c45_read_lpa +EXPORT_SYMBOL_GPL vmlinux 0x528b390e led_blink_set_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52c995f4 snd_soc_component_nc_pin +EXPORT_SYMBOL_GPL vmlinux 0x52d39e69 kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x52e403f4 wwan_unregister_ops +EXPORT_SYMBOL_GPL vmlinux 0x52e5b461 iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0x52e67eb6 dev_pm_opp_of_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x530ac2e2 handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0x53139af2 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x5317a243 tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0x531b7bb8 serial8250_rpm_put_tx +EXPORT_SYMBOL_GPL vmlinux 0x53247c17 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x5324cf26 sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x5325db23 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x532db355 usb_gadget_activate +EXPORT_SYMBOL_GPL vmlinux 0x5339362b nanddev_markbad +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x53640494 compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0x536822e3 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x536fe2ba regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x537252cf __SCK__tp_func_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x53851023 __spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x53893491 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL vmlinux 0x538f92c2 uart_console_device +EXPORT_SYMBOL_GPL vmlinux 0x5390573b vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0x53933778 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x53a022da mtd_read_oob +EXPORT_SYMBOL_GPL vmlinux 0x53b2a50e dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x53b6b034 thermal_zone_bind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x53bbfe02 ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x53bcc5e0 kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x53bfc903 em_dev_unregister_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x53cae3c2 irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0x53cb3f73 tcp_bpf_update_proto +EXPORT_SYMBOL_GPL vmlinux 0x53d7c01e __traceiter_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x53f6993b input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x53fc054f nand_prog_page_end_op +EXPORT_SYMBOL_GPL vmlinux 0x5411f4e2 irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0x5412abfb cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0x54172702 cci_disable_port_by_cpu +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x541dea7a __traceiter_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x5420ab42 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x5435454c divider_ro_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x544057f5 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0x54546575 clk_hw_is_prepared +EXPORT_SYMBOL_GPL vmlinux 0x5481e092 of_genpd_del_provider +EXPORT_SYMBOL_GPL vmlinux 0x548c407f public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0x549348c9 rio_del_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x5497e121 genphy_c45_aneg_done +EXPORT_SYMBOL_GPL vmlinux 0x549a0c65 spi_slave_abort +EXPORT_SYMBOL_GPL vmlinux 0x549f0dd3 thermal_zone_device_register +EXPORT_SYMBOL_GPL vmlinux 0x54a2052c sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL vmlinux 0x54a25da2 qcom_smem_state_put +EXPORT_SYMBOL_GPL vmlinux 0x54a6af82 snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x54bef728 snd_soc_component_compr_pointer +EXPORT_SYMBOL_GPL vmlinux 0x54d4771b snd_device_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x54e65b74 pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x54eb7c38 blk_stat_disable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x54f32d4e devm_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x54f869a3 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0x54fa030e relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x54fccc40 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x550f3e05 i2c_freq_mode_string +EXPORT_SYMBOL_GPL vmlinux 0x550ff360 xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0x55339365 flush_delayed_fput +EXPORT_SYMBOL_GPL vmlinux 0x55391052 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x553b49a4 cpufreq_get_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x553bdf77 lochnagar_update_config +EXPORT_SYMBOL_GPL vmlinux 0x55417264 unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x555a873e usb_gadget_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x55650dcc rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0x55694359 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x556957f6 snd_soc_dai_compr_startup +EXPORT_SYMBOL_GPL vmlinux 0x556e4390 clk_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x557b9ee1 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x5585f858 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0x559bb136 sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x55b257f0 pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0x55c76a23 ksys_sync_helper +EXPORT_SYMBOL_GPL vmlinux 0x55d328d2 irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0x55e121d5 securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x55e49cb2 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x55f549ad snd_dmaengine_pcm_trigger +EXPORT_SYMBOL_GPL vmlinux 0x55fcc24b devres_find +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x560d9088 set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0x560f2050 ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0x561150c7 inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x56143cfb pci_pri_supported +EXPORT_SYMBOL_GPL vmlinux 0x56173654 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x561835eb init_rs_non_canonical +EXPORT_SYMBOL_GPL vmlinux 0x56256e8a orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x5632e63d nand_subop_get_num_addr_cyc +EXPORT_SYMBOL_GPL vmlinux 0x5633c0c0 sdhci_calc_clk +EXPORT_SYMBOL_GPL vmlinux 0x563aecd2 devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x565b7b65 gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x5666334c tps65912_device_init +EXPORT_SYMBOL_GPL vmlinux 0x567128fc device_phy_find_device +EXPORT_SYMBOL_GPL vmlinux 0x5674bf7a mmc_cmdq_enable +EXPORT_SYMBOL_GPL vmlinux 0x568020d0 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x56872fae udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0x569094c3 irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x56a6a76c net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x56b63670 lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x56be99f2 thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0x56d46c9d efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x56e9103b cpu_pm_enter +EXPORT_SYMBOL_GPL vmlinux 0x56f800e2 fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0x56f95657 pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x56fbb130 no_hash_pointers +EXPORT_SYMBOL_GPL vmlinux 0x56febff2 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x57019778 rio_mport_get_feature +EXPORT_SYMBOL_GPL vmlinux 0x5705076f io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0x57092750 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x5736c7e4 of_thermal_is_trip_valid +EXPORT_SYMBOL_GPL vmlinux 0x573bf724 fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x573f376d exportfs_decode_fh_raw +EXPORT_SYMBOL_GPL vmlinux 0x57426ae1 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x5751bba0 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x5753ff8a udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0x57878765 ehci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5790e7a0 pci_unlock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0x579622c0 __usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57a231cc usb_decode_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x57b02330 hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x57b22d84 kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x57d4050a xhci_get_endpoint_index +EXPORT_SYMBOL_GPL vmlinux 0x57d516fd inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x57e1d030 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x57e5951f cgroup_get_e_css +EXPORT_SYMBOL_GPL vmlinux 0x57f061b1 nand_change_read_column_op +EXPORT_SYMBOL_GPL vmlinux 0x57f576b9 mpi_ec_curve_point +EXPORT_SYMBOL_GPL vmlinux 0x57fbebd1 of_property_read_variable_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x580b8f2d __spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x58122307 devm_regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x5813a33c ahci_platform_enable_phys +EXPORT_SYMBOL_GPL vmlinux 0x5827ca8d pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0x582c43cd sm501_misc_control +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x58329902 trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0x58425747 devl_rate_leaf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x58631dab imx_audmux_v2_configure_port +EXPORT_SYMBOL_GPL vmlinux 0x58642d52 devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x587ac04d cpufreq_show_cpus +EXPORT_SYMBOL_GPL vmlinux 0x589ab91a fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0x58c1ece8 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x58d1eb9f led_trigger_blink_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x58db1176 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x58f0308a clk_regmap_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x58fdbd7e snd_dmaengine_pcm_refine_runtime_hwparams +EXPORT_SYMBOL_GPL vmlinux 0x590fe3e2 cpts_release +EXPORT_SYMBOL_GPL vmlinux 0x592987ae irq_get_default_host +EXPORT_SYMBOL_GPL vmlinux 0x593f51a4 of_mm_gpiochip_add_data +EXPORT_SYMBOL_GPL vmlinux 0x59413a9a sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x5947ca28 sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0x5954a3cc extcon_find_edev_by_node +EXPORT_SYMBOL_GPL vmlinux 0x59551cc1 atomic_notifier_chain_register_unique_prio +EXPORT_SYMBOL_GPL vmlinux 0x59593d4c edac_device_handle_ue_count +EXPORT_SYMBOL_GPL vmlinux 0x59610834 of_clk_get_parent_name +EXPORT_SYMBOL_GPL vmlinux 0x59664f2a of_usb_get_dr_mode_by_phy +EXPORT_SYMBOL_GPL vmlinux 0x5979e084 pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0x597a86f0 dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0x5986d190 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0x59908e16 phy_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x599c13de xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0x59a1fab8 ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x59a35603 pinctrl_add_gpio_ranges +EXPORT_SYMBOL_GPL vmlinux 0x59a471b3 vp_modern_generation +EXPORT_SYMBOL_GPL vmlinux 0x59b5def6 clk_regmap_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0x59b7a75c usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x59c43dc9 __traceiter_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x59c5b251 __fscrypt_inode_uses_inline_crypto +EXPORT_SYMBOL_GPL vmlinux 0x59ca83d5 iommu_enable_nesting +EXPORT_SYMBOL_GPL vmlinux 0x59d2c48c disk_force_media_change +EXPORT_SYMBOL_GPL vmlinux 0x59dc01b1 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x59de5c00 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x59e49fb0 serial8250_do_set_divisor +EXPORT_SYMBOL_GPL vmlinux 0x59e7313e __traceiter_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x59e76b08 evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x59f32720 mpi_subm +EXPORT_SYMBOL_GPL vmlinux 0x59ff17fc dev_pm_genpd_set_next_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x5a0d932c fork_usermode_driver +EXPORT_SYMBOL_GPL vmlinux 0x5a12e60c __SCK__tp_func_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a368f9e wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x5a4345cc devm_power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a557da3 net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0x5a60d70e serial8250_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a7096e9 __of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a87a75d pm_genpd_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x5aa0a9d9 ahci_platform_resume +EXPORT_SYMBOL_GPL vmlinux 0x5aa7e5de cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0x5ab09745 edac_get_owner +EXPORT_SYMBOL_GPL vmlinux 0x5aba5756 regulator_get_error_flags +EXPORT_SYMBOL_GPL vmlinux 0x5ac84d00 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x5ad32b68 hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5ada9bea snd_soc_of_put_dai_link_cpus +EXPORT_SYMBOL_GPL vmlinux 0x5adf6019 spi_mem_get_name +EXPORT_SYMBOL_GPL vmlinux 0x5ae83c07 iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0x5af762f1 snd_fasync_free +EXPORT_SYMBOL_GPL vmlinux 0x5afb591d dev_pm_set_dedicated_wake_irq_reverse +EXPORT_SYMBOL_GPL vmlinux 0x5afcd632 ethnl_cable_test_step +EXPORT_SYMBOL_GPL vmlinux 0x5aff26ff usb_gadget_map_request_by_dev +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b2dce8d __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0x5b316080 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0x5b3bdea8 alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0x5b41f5b5 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x5b4957c5 ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x5b6b0329 swiotlb_max_segment +EXPORT_SYMBOL_GPL vmlinux 0x5b6c4eee perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0x5b7c1604 usb_add_gadget_udc_release +EXPORT_SYMBOL_GPL vmlinux 0x5b7ca1f1 posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0x5b7f557a mtd_ooblayout_set_databytes +EXPORT_SYMBOL_GPL vmlinux 0x5b82d911 devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5b90c85b mtd_block_isreserved +EXPORT_SYMBOL_GPL vmlinux 0x5b96e5ae __traceiter_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x5b994e71 ima_measure_critical_data +EXPORT_SYMBOL_GPL vmlinux 0x5b99e19c devm_regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5ba9c87f blk_crypto_keyslot_index +EXPORT_SYMBOL_GPL vmlinux 0x5baacb5d devm_led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x5baebbd9 nvdimm_in_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x5bbdfa26 scatterwalk_ffwd +EXPORT_SYMBOL_GPL vmlinux 0x5bc16c6a __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x5bc950fe regulator_irq_helper_cancel +EXPORT_SYMBOL_GPL vmlinux 0x5bcc0df7 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5bcfefcb nd_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x5bd0748f crypto_del_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x5bd52ecf usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x5bdae35b usb_phy_roothub_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x5bdbac4e rcu_unexpedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x5c0cc9ae crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0x5c12bc29 l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0x5c15202d __put_net +EXPORT_SYMBOL_GPL vmlinux 0x5c2f1546 devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0x5c309e65 hibernate_quiet_exec +EXPORT_SYMBOL_GPL vmlinux 0x5c3bbd06 __SCK__tp_func_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x5c5a1b16 tick_broadcast_control +EXPORT_SYMBOL_GPL vmlinux 0x5c683a94 extcon_get_edev_name +EXPORT_SYMBOL_GPL vmlinux 0x5c70942f phy_pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x5c724709 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x5c7d7c09 snd_soc_component_compr_trigger +EXPORT_SYMBOL_GPL vmlinux 0x5c82016e __SCK__tp_func_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x5c845f14 bpf_trace_run12 +EXPORT_SYMBOL_GPL vmlinux 0x5c84d1f6 mvebu_mbus_get_io_win_info +EXPORT_SYMBOL_GPL vmlinux 0x5c8cb7b8 dapm_clock_event +EXPORT_SYMBOL_GPL vmlinux 0x5c9643b6 iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0x5c98e7ae regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x5c99d54e edac_device_handle_ce_count +EXPORT_SYMBOL_GPL vmlinux 0x5ca01320 devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5ca04770 fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0x5cad8fc3 power_supply_ocv2cap_simple +EXPORT_SYMBOL_GPL vmlinux 0x5cadaa15 vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0x5cb306c7 fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0x5cc2a511 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x5cd34a6a usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x5cd550a5 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x5ceb9748 to_nvdimm_bus +EXPORT_SYMBOL_GPL vmlinux 0x5cede0a7 xdp_flush_frame_bulk +EXPORT_SYMBOL_GPL vmlinux 0x5cf2e983 ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x5cf4466c xdp_build_skb_from_frame +EXPORT_SYMBOL_GPL vmlinux 0x5cfb6c6d device_attach +EXPORT_SYMBOL_GPL vmlinux 0x5cfbdd42 gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x5d00452a tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x5d0a0eff __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x5d0b42ef pinmux_generic_remove_function +EXPORT_SYMBOL_GPL vmlinux 0x5d113e45 of_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0x5d1241fa virtio_check_mem_acc_cb +EXPORT_SYMBOL_GPL vmlinux 0x5d297356 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x5d2bc42a reset_control_rearm +EXPORT_SYMBOL_GPL vmlinux 0x5d2f81b3 regulator_desc_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x5d30efb4 snd_soc_card_remove_dai_link +EXPORT_SYMBOL_GPL vmlinux 0x5d340077 devres_get +EXPORT_SYMBOL_GPL vmlinux 0x5d3508f1 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x5d6b6eec of_property_read_u64_index +EXPORT_SYMBOL_GPL vmlinux 0x5d6fd72a sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0x5d82a5b8 tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d89209a __traceiter_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x5d90280e pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x5d99a006 syscon_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x5da2d0e2 __traceiter_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5db4314f component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0x5dbfe8c6 pwm_set_chip_data +EXPORT_SYMBOL_GPL vmlinux 0x5ddcc44b snd_soc_link_compr_set_params +EXPORT_SYMBOL_GPL vmlinux 0x5ddeb867 tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5dff6fda x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0x5e00ea33 ehci_reset +EXPORT_SYMBOL_GPL vmlinux 0x5e04f5bb usb_gadget_unmap_request +EXPORT_SYMBOL_GPL vmlinux 0x5e14e6b6 snd_devm_alloc_dir_pages +EXPORT_SYMBOL_GPL vmlinux 0x5e272913 of_property_count_elems_of_size +EXPORT_SYMBOL_GPL vmlinux 0x5e39bada debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x5e3e16fc sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x5e49f43e vp_legacy_set_queue_address +EXPORT_SYMBOL_GPL vmlinux 0x5e4d54f1 usb_control_msg_send +EXPORT_SYMBOL_GPL vmlinux 0x5e504919 __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e5c8a1e devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0x5e5defc3 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0x5e5ff0d0 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x5e60e0f7 crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0x5e67b71d evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0x5e70aabc __traceiter_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x5e76ea21 mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5e78b7ff device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0x5e798ffb divider_get_val +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5e957966 phy_power_off +EXPORT_SYMBOL_GPL vmlinux 0x5e96e614 rio_mport_chk_dev_access +EXPORT_SYMBOL_GPL vmlinux 0x5e9d6c68 adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5e9d93c5 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x5eac2981 mtk_clk_register_composites +EXPORT_SYMBOL_GPL vmlinux 0x5eae5408 clk_is_enabled_when_prepared +EXPORT_SYMBOL_GPL vmlinux 0x5eb417e0 __SCK__tp_func_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x5eb9c2ae __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0x5ec2319a mtk_mutex_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x5ed433b1 bpf_trace_run7 +EXPORT_SYMBOL_GPL vmlinux 0x5ef1787a debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x5ef751ea nvmem_add_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x5f23e3fa insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x5f26fb96 device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x5f288f12 dev_pm_opp_get_power +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f736e1d md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0x5f755b70 ohci_hub_status_data +EXPORT_SYMBOL_GPL vmlinux 0x5f7f9d85 i2c_dw_probe_master +EXPORT_SYMBOL_GPL vmlinux 0x5f8b0c15 __bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0x5f8d3f24 devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x5f8e17b2 tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0x5f9b873f mxic_ecc_get_pipelined_engine +EXPORT_SYMBOL_GPL vmlinux 0x5fa00f18 noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0x5fa625ed mpi_ec_mul_point +EXPORT_SYMBOL_GPL vmlinux 0x5fb1aa4e irq_domain_create_legacy +EXPORT_SYMBOL_GPL vmlinux 0x5fc294ef usb_ep_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x5fc70474 scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0x5fd11da3 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x5fd249c3 pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0x5fd4eb67 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x5fe12e23 key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0x5ffe9aa7 __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x60036b08 pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0x6003d485 snd_soc_limit_volume +EXPORT_SYMBOL_GPL vmlinux 0x60054c3a dma_mmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x6008c91e platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0x60091316 clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x6011eb03 rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0x60210921 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x60300d22 mtk_clk_gate_ops_setclr_inv +EXPORT_SYMBOL_GPL vmlinux 0x6031bc0e usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0x6040a708 irq_domain_update_bus_token +EXPORT_SYMBOL_GPL vmlinux 0x604172f4 fscrypt_prepare_new_inode +EXPORT_SYMBOL_GPL vmlinux 0x60606431 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0x6060ee96 housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0x60618e14 ahci_platform_ops +EXPORT_SYMBOL_GPL vmlinux 0x60671345 software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x606b4aba devlink_linecard_provision_set +EXPORT_SYMBOL_GPL vmlinux 0x606e4327 edac_device_add_device +EXPORT_SYMBOL_GPL vmlinux 0x6075d0c7 omap_tll_init +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x6085843b dev_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0x60905a00 gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0x609156e9 fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60ae0922 power_supply_vbat2ri +EXPORT_SYMBOL_GPL vmlinux 0x60b5c0cf snd_soc_component_compr_open +EXPORT_SYMBOL_GPL vmlinux 0x60b82b56 bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0x60bb3d2b regulator_set_load +EXPORT_SYMBOL_GPL vmlinux 0x60c90f8f crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x60fbf27b regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x610cb644 __efivar_entry_delete +EXPORT_SYMBOL_GPL vmlinux 0x6123b73a regmap_parse_val +EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x612b7977 __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x612df3d1 of_pm_clk_add_clks +EXPORT_SYMBOL_GPL vmlinux 0x613048cb gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x6132f0a0 bio_start_io_acct +EXPORT_SYMBOL_GPL vmlinux 0x614782f1 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0x614adcb7 of_overlay_remove_all +EXPORT_SYMBOL_GPL vmlinux 0x616efba7 l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0x61806d0e serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x6181e79f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0x6198dfea __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6199ad5d crypto_has_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x619e149d crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0x61a5d010 fscrypt_parse_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x61b9ca06 tty_kopen_shared +EXPORT_SYMBOL_GPL vmlinux 0x61bd69bc platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x61c1ca29 __SCK__tp_func_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x61c2a859 nand_ecc_tweak_req +EXPORT_SYMBOL_GPL vmlinux 0x61e5bcaf sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x61e6f3f4 hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x61ee7dc5 nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x620571f1 of_icc_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x6206caa9 strp_stop +EXPORT_SYMBOL_GPL vmlinux 0x621eb946 rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0x6221be57 icc_link_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6225fd0e nvdimm_bus_register +EXPORT_SYMBOL_GPL vmlinux 0x622c7922 register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x62314390 blk_mq_wait_quiesce_done +EXPORT_SYMBOL_GPL vmlinux 0x62377a7b blk_io_schedule +EXPORT_SYMBOL_GPL vmlinux 0x6246a629 synchronize_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x6249d94a of_phandle_iterator_init +EXPORT_SYMBOL_GPL vmlinux 0x6253c932 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x6257dda7 clk_rate_exclusive_get +EXPORT_SYMBOL_GPL vmlinux 0x6259d291 clk_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x6263b94f snd_soc_of_parse_tdm_slot +EXPORT_SYMBOL_GPL vmlinux 0x626477d6 pinconf_generic_dt_free_map +EXPORT_SYMBOL_GPL vmlinux 0x629abb7d __clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x62a8d704 md_start +EXPORT_SYMBOL_GPL vmlinux 0x62a9c1f0 irq_gc_mask_clr_bit +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62bf7476 md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x62c33f00 crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x62c75b99 pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0x62d0e2a6 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x62e7ec29 dm_copy_name_and_uuid +EXPORT_SYMBOL_GPL vmlinux 0x62f2ff63 pm_genpd_init +EXPORT_SYMBOL_GPL vmlinux 0x62fc2fc3 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x63090722 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x63150e06 clk_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x63197685 s2idle_wake +EXPORT_SYMBOL_GPL vmlinux 0x6319eeee blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0x63372a0a scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x6337d46e disk_set_independent_access_ranges +EXPORT_SYMBOL_GPL vmlinux 0x633cb2c6 register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x633df511 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x634b9d42 __SCK__tp_func_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x6352b809 regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x635a115d paste_selection +EXPORT_SYMBOL_GPL vmlinux 0x63710396 devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0x637c1a8d unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x63808708 xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0x63826508 __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x63880f81 musb_set_peripheral +EXPORT_SYMBOL_GPL vmlinux 0x63a03424 pinctrl_pm_select_sleep_state +EXPORT_SYMBOL_GPL vmlinux 0x63a8ebf4 ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x63adbf92 encode_rs8 +EXPORT_SYMBOL_GPL vmlinux 0x63afc309 devm_of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x63bd2462 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x63c08029 clk_bulk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x63e18c64 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x63e543ca phy_10gbit_fec_features +EXPORT_SYMBOL_GPL vmlinux 0x63e6c1e8 bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0x63faf641 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0x63fcf4a8 mtk_pinconf_adv_drive_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x6410bac9 snd_soc_bytes_get +EXPORT_SYMBOL_GPL vmlinux 0x64256424 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0x6429e474 ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x642ea52b fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0x64334fff kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0x643d29d1 vfio_file_enforced_coherent +EXPORT_SYMBOL_GPL vmlinux 0x644bfdcf trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0x64533940 __traceiter_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x645bc78f irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0x645f6ca7 sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0x646f91ec file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x647537f3 pl320_ipc_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6475494e skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0x647d7aec regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0x64881579 espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0x6499ca92 copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x64a2c7e7 meson_clk_mpll_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x64b6de2a __traceiter_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0x64c07d32 btree_remove +EXPORT_SYMBOL_GPL vmlinux 0x64d4cbbe crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x64dccc4c perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0x64e0e2ad pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0x64e13ca7 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x651d10e5 ktime_get_tai_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x65227701 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x6531a37f mpi_add +EXPORT_SYMBOL_GPL vmlinux 0x65406698 ahci_print_info +EXPORT_SYMBOL_GPL vmlinux 0x65506d3f dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x65537437 freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x655f84b0 device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x656f1abd dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x65733cd2 dev_pm_opp_get_freq +EXPORT_SYMBOL_GPL vmlinux 0x65770d7a fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x658d603f crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0x6590608e fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x659fd0bc fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0x65b51d7d rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x65bee259 irq_chip_set_vcpu_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d70f8a pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0x65de6933 blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0x6607af47 lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0x660eb6bd devlink_free +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x661a2d4d anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x661aa877 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0x6628d69a dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0x6629110a shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0x6632b327 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x66424e94 mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x66485c46 __traceiter_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x665e92a0 clk_set_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x66655fc6 regmap_multi_reg_write_bypassed +EXPORT_SYMBOL_GPL vmlinux 0x6679057f sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x66826357 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x668ee402 devlink_to_dev +EXPORT_SYMBOL_GPL vmlinux 0x669594ad musb_clearw +EXPORT_SYMBOL_GPL vmlinux 0x669af8cf device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x66ae0d7e dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0x66b26b2b clk_hw_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66c9cf69 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66db6849 bpf_trace_run8 +EXPORT_SYMBOL_GPL vmlinux 0x66fae962 kill_mtd_super +EXPORT_SYMBOL_GPL vmlinux 0x66fc2bc0 badrange_add +EXPORT_SYMBOL_GPL vmlinux 0x66fcab8d dev_pm_opp_put +EXPORT_SYMBOL_GPL vmlinux 0x6703903b register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x670ac6af gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0x671451cb mpc8xxx_spi_rx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x671dab40 screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0x671fe9fe kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0x672614f8 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x672dadeb nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x672eab14 virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0x6740280b pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x67429c91 __SCK__tp_func_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x67465e57 snd_soc_info_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0x674e461d irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x675cf4d3 mctrl_gpio_init +EXPORT_SYMBOL_GPL vmlinux 0x677095b8 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x6771590c blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x6779ca8f devm_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x677bb069 clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0x6781513c __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67987265 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x67a359e0 subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x67b2b8f5 ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x67da5581 __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x6803604e rdev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x680657dd usb_phy_roothub_resume +EXPORT_SYMBOL_GPL vmlinux 0x6807309c ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x68076a28 l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0x68144de9 ext_pi_type1_crc64 +EXPORT_SYMBOL_GPL vmlinux 0x6824d60a iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x683b8ffe cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0x683c688b mtd_panic_write +EXPORT_SYMBOL_GPL vmlinux 0x68497666 snd_soc_set_ac97_ops +EXPORT_SYMBOL_GPL vmlinux 0x685acc6f blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x68667c35 tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0x68758502 mtd_writev +EXPORT_SYMBOL_GPL vmlinux 0x68758fda nvmem_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x6879c927 crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0x687fca31 imx6q_cpuidle_fec_irqs_used +EXPORT_SYMBOL_GPL vmlinux 0x6891880b cros_ec_get_sensor_count +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x68a0dfd2 scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x68a2393c snd_soc_dai_set_bclk_ratio +EXPORT_SYMBOL_GPL vmlinux 0x68a5834a crypto_register_scomps +EXPORT_SYMBOL_GPL vmlinux 0x68ae2d43 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x68b1cc59 gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x68c97fde of_platform_default_populate +EXPORT_SYMBOL_GPL vmlinux 0x6909af53 devm_otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0x690e42f7 ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL vmlinux 0x691156ce of_gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0x6913865a trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x692a4f08 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0x69386db6 blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0x693af88b gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x693d310a extcon_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6945725e mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0x6948e56d usb_asmedia_modifyflowcontrol +EXPORT_SYMBOL_GPL vmlinux 0x694e99a5 kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0x695269e7 regulator_set_ramp_delay_regmap +EXPORT_SYMBOL_GPL vmlinux 0x695bf5e9 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0x695e979f devm_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x69637b2c __traceiter_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x696e5f43 ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0x696e86e2 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x696f2b63 of_changeset_init +EXPORT_SYMBOL_GPL vmlinux 0x6977917d devm_bitmap_alloc +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6991d668 sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x69921935 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x699985fa netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x69b343d3 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0x69b5b5a2 devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69d28eac mtk_clk_unregister_composites +EXPORT_SYMBOL_GPL vmlinux 0x69d6a903 irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x69e21500 mptcp_diag_fill_info +EXPORT_SYMBOL_GPL vmlinux 0x69e24514 usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x69e452e9 kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x69e83605 mc146818_get_time +EXPORT_SYMBOL_GPL vmlinux 0x69ee2220 linear_range_get_selector_high +EXPORT_SYMBOL_GPL vmlinux 0x69f31464 da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x69f32c34 sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x6a05b65b fb_videomode_from_videomode +EXPORT_SYMBOL_GPL vmlinux 0x6a140b70 vfio_mig_get_next_state +EXPORT_SYMBOL_GPL vmlinux 0x6a1482d7 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x6a1cc520 dev_pm_opp_detach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x6a22331e imx_obtain_fixed_clk_hw +EXPORT_SYMBOL_GPL vmlinux 0x6a29e5d2 irq_force_affinity +EXPORT_SYMBOL_GPL vmlinux 0x6a367b0f scmi_protocol_register +EXPORT_SYMBOL_GPL vmlinux 0x6a460dc5 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0x6a4f623b mmu_notifier_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x6a5b025e regmap_attach_dev +EXPORT_SYMBOL_GPL vmlinux 0x6a6af426 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6a6ecf9a iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0x6a727bee sdhci_switch_external_dma +EXPORT_SYMBOL_GPL vmlinux 0x6a99427d extcon_set_state_sync +EXPORT_SYMBOL_GPL vmlinux 0x6a9b3891 devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x6a9b9280 fbcon_modechange_possible +EXPORT_SYMBOL_GPL vmlinux 0x6aa59962 snd_soc_close_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x6aa5e412 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0x6aa8f819 otg_ulpi_create +EXPORT_SYMBOL_GPL vmlinux 0x6ab3729c gpiochip_generic_request +EXPORT_SYMBOL_GPL vmlinux 0x6ab8ef18 dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6ac7a81f nand_select_target +EXPORT_SYMBOL_GPL vmlinux 0x6ad90385 bpf_trace_run11 +EXPORT_SYMBOL_GPL vmlinux 0x6ade1c95 snd_soc_component_compr_ack +EXPORT_SYMBOL_GPL vmlinux 0x6ae8101b clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x6af67da8 fscrypt_mergeable_bio_bh +EXPORT_SYMBOL_GPL vmlinux 0x6af8c6dc musb_writel +EXPORT_SYMBOL_GPL vmlinux 0x6b06ae8b sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x6b07829a fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x6b198c77 led_colors +EXPORT_SYMBOL_GPL vmlinux 0x6b27cc80 iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0x6b334acc trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0x6b36e07d devlink_linecard_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6b413c9b sfp_link_down +EXPORT_SYMBOL_GPL vmlinux 0x6b47f8a4 hisi_clk_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x6b490440 gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0x6b69fca7 usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x6b70e0e4 genphy_c45_pma_baset1_read_master_slave +EXPORT_SYMBOL_GPL vmlinux 0x6b81c38b power_supply_unreg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6b85e03f devm_namespace_enable +EXPORT_SYMBOL_GPL vmlinux 0x6b8aeeab ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0x6b8dad26 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x6baa78da __fscrypt_prepare_readdir +EXPORT_SYMBOL_GPL vmlinux 0x6baa828e devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x6bb04338 rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0x6bb43837 nvmem_cell_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x6bb95287 tty_kopen_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x6bbe7a01 blk_crypto_profile_init +EXPORT_SYMBOL_GPL vmlinux 0x6bc31a18 mmc_pwrseq_register +EXPORT_SYMBOL_GPL vmlinux 0x6bc357f2 register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x6bc60609 pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0x6bcb71d7 relay_close +EXPORT_SYMBOL_GPL vmlinux 0x6bcdedc0 mpi_point_init +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6bdaf213 __traceiter_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x6bdd680c snd_pcm_fill_iec958_consumer_hw_params +EXPORT_SYMBOL_GPL vmlinux 0x6beb97b0 pinctrl_utils_add_map_configs +EXPORT_SYMBOL_GPL vmlinux 0x6c1856d2 dma_alloc_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x6c2fcb4b create_signature +EXPORT_SYMBOL_GPL vmlinux 0x6c375e09 crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6c43b737 ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x6c4b6684 reset_control_assert +EXPORT_SYMBOL_GPL vmlinux 0x6c525118 devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x6c52b730 snd_pcm_stream_unlock_irq +EXPORT_SYMBOL_GPL vmlinux 0x6c54d663 iomap_invalidate_folio +EXPORT_SYMBOL_GPL vmlinux 0x6c5534e5 edac_mc_add_mc_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x6c5ad0cd kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x6c615b7b __hwspin_trylock +EXPORT_SYMBOL_GPL vmlinux 0x6c70332d crypto_unregister_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x6c7b435f mc146818_does_rtc_work +EXPORT_SYMBOL_GPL vmlinux 0x6c8610bc skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0x6c956075 __SCK__tp_func_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x6c965533 omap_iommu_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6caaf9f4 hisi_clk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6caf78de blkcg_get_fc_appid +EXPORT_SYMBOL_GPL vmlinux 0x6cbdd644 sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0x6cd17e49 zs_pool_stats +EXPORT_SYMBOL_GPL vmlinux 0x6cd414bd ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x6cde1165 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x6cf45608 blk_mark_disk_dead +EXPORT_SYMBOL_GPL vmlinux 0x6cf77689 fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0x6d003643 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x6d023263 qcom_smem_state_register +EXPORT_SYMBOL_GPL vmlinux 0x6d09843f copy_bpf_fprog_from_user +EXPORT_SYMBOL_GPL vmlinux 0x6d0ae550 pinctrl_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d467b08 arm_smccc_1_1_get_conduit +EXPORT_SYMBOL_GPL vmlinux 0x6d4d4cb3 spi_controller_suspend +EXPORT_SYMBOL_GPL vmlinux 0x6d579600 crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0x6d5b8219 devm_pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x6d6b0f98 pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0x6d6b2e0f ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x6d6d74f2 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d73bfa7 synth_event_create +EXPORT_SYMBOL_GPL vmlinux 0x6d7832b7 __stack_depot_save +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d804475 nvdimm_has_flush +EXPORT_SYMBOL_GPL vmlinux 0x6d833417 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0x6d911630 xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x6d9149ee dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x6d916c6a nand_ecc_restore_req +EXPORT_SYMBOL_GPL vmlinux 0x6da4b901 snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6dbc4617 of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0x6dbdc3b0 icc_sync_state +EXPORT_SYMBOL_GPL vmlinux 0x6dc43f43 imx6q_cpuidle_fec_irqs_unused +EXPORT_SYMBOL_GPL vmlinux 0x6dcc0df9 device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x6dd1b8a7 parse_OID +EXPORT_SYMBOL_GPL vmlinux 0x6dd1d64a snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL vmlinux 0x6dd5680d sprint_symbol_build_id +EXPORT_SYMBOL_GPL vmlinux 0x6dd627f1 snd_soc_component_test_bits +EXPORT_SYMBOL_GPL vmlinux 0x6de0fe45 dma_request_chan_by_mask +EXPORT_SYMBOL_GPL vmlinux 0x6de42f0a inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6de9458a snd_soc_get_strobe +EXPORT_SYMBOL_GPL vmlinux 0x6dfbf3bd tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0x6e031aa5 rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x6e09d93d __SCK__tp_func_map +EXPORT_SYMBOL_GPL vmlinux 0x6e1e56e8 gen10g_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x6e2a6fda ata_port_classify +EXPORT_SYMBOL_GPL vmlinux 0x6e2bfea9 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x6e3347ec devlink_priv +EXPORT_SYMBOL_GPL vmlinux 0x6e353c26 mpi_rshift +EXPORT_SYMBOL_GPL vmlinux 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x6e42c2ba device_del +EXPORT_SYMBOL_GPL vmlinux 0x6e51e2ca ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0x6e635087 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x6e6368a3 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x6e679321 xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0x6e683693 x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x6e6ac389 __phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x6e6bd447 cpuidle_get_cpu_driver +EXPORT_SYMBOL_GPL vmlinux 0x6e6ea796 rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6e7a48b4 i2c_dw_adjust_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x6e8446db snd_soc_component_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x6e85962c of_pci_get_slot_power_limit +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6e92acfe icmp_build_probe +EXPORT_SYMBOL_GPL vmlinux 0x6e9316ea wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0x6ea600d7 i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x6ea84d92 iocb_bio_iopoll +EXPORT_SYMBOL_GPL vmlinux 0x6eae6749 kthread_park +EXPORT_SYMBOL_GPL vmlinux 0x6eb15d9a devm_qcom_smem_state_get +EXPORT_SYMBOL_GPL vmlinux 0x6eb61294 dev_pm_opp_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x6eb614db of_clk_src_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0x6eb88cc8 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ec43206 __traceiter_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x6ec72d0c kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6ee990d1 lpddr2_jedec_manufacturer +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6f031ff9 pm_clk_remove +EXPORT_SYMBOL_GPL vmlinux 0x6f094449 edac_pci_handle_npe +EXPORT_SYMBOL_GPL vmlinux 0x6f0acb76 umd_load_blob +EXPORT_SYMBOL_GPL vmlinux 0x6f1216a4 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f149467 of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x6f18cdbf disk_uevent +EXPORT_SYMBOL_GPL vmlinux 0x6f2017de misc_cg_set_capacity +EXPORT_SYMBOL_GPL vmlinux 0x6f354641 nand_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x6f3ed2a3 sdhci_pltfm_free +EXPORT_SYMBOL_GPL vmlinux 0x6f4873b9 vp_legacy_get_driver_features +EXPORT_SYMBOL_GPL vmlinux 0x6f48ecd6 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x6f490b43 vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0x6f592b49 kill_device +EXPORT_SYMBOL_GPL vmlinux 0x6f611bc0 xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0x6f6b52e9 __ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x6f725de8 nand_ecc_choose_conf +EXPORT_SYMBOL_GPL vmlinux 0x6f7a4861 blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x6f7e6040 irq_has_action +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6fafe53c of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x6fb7e313 asic3_write_register +EXPORT_SYMBOL_GPL vmlinux 0x6fbaed3c dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x6fcd8a13 usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6fd3cf1d usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x6fdff7fd simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x6ff4e396 __fscrypt_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions +EXPORT_SYMBOL_GPL vmlinux 0x7010df94 crypto_alloc_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x701c2a7b pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x702151b1 usb_amd_pt_check_port +EXPORT_SYMBOL_GPL vmlinux 0x7022806f ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0x70240944 clk_hw_register_gate2 +EXPORT_SYMBOL_GPL vmlinux 0x70336436 snd_soc_card_jack_new_pins +EXPORT_SYMBOL_GPL vmlinux 0x7039b8ef alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x70499642 devm_pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0x704b440c ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x7057d8c8 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL vmlinux 0x7064a796 find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7084edd1 nand_reset_op +EXPORT_SYMBOL_GPL vmlinux 0x708ca813 ehci_adjust_port_wakeup_flags +EXPORT_SYMBOL_GPL vmlinux 0x7093caaf md_run +EXPORT_SYMBOL_GPL vmlinux 0x70990689 fixup_user_fault +EXPORT_SYMBOL_GPL vmlinux 0x70c52dc5 nf_skb_duplicated +EXPORT_SYMBOL_GPL vmlinux 0x70c6d827 mc146818_set_time +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70d24479 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x70e24953 percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0x70e82e5e register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x71018320 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0x7104cb0b dev_pm_qos_flags +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x710cff13 register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x710df87b acct_bioset_exit +EXPORT_SYMBOL_GPL vmlinux 0x710ed2eb ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0x711ac047 sdhci_add_host +EXPORT_SYMBOL_GPL vmlinux 0x712e2d9e skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x713e1cea raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x713fa43b serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x7141696a dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x7144aad2 of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x7145544f mtk_clk_unregister_gates +EXPORT_SYMBOL_GPL vmlinux 0x7150e99c dev_pm_opp_of_find_icc_paths +EXPORT_SYMBOL_GPL vmlinux 0x7156caf1 tegra_bpmp_mrq_return +EXPORT_SYMBOL_GPL vmlinux 0x715a43ce priv_to_devlink +EXPORT_SYMBOL_GPL vmlinux 0x715a4f37 __wake_up_pollfree +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x7169c204 skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x71724493 mctrl_gpio_enable_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x7173250b __clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x7195940a mctrl_gpio_disable_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x719a5e41 musb_readw +EXPORT_SYMBOL_GPL vmlinux 0x719e17ff clk_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71a20f4a __SCK__tp_func_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x71a8fca3 icc_link_create +EXPORT_SYMBOL_GPL vmlinux 0x71a97c1b policy_has_boost_freq +EXPORT_SYMBOL_GPL vmlinux 0x71a9a3ab mtk_mutex_acquire +EXPORT_SYMBOL_GPL vmlinux 0x71ac8817 dev_pm_opp_find_level_exact +EXPORT_SYMBOL_GPL vmlinux 0x71b15008 lwtunnel_valid_encap_type +EXPORT_SYMBOL_GPL vmlinux 0x71b6cf94 dst_cache_reset_now +EXPORT_SYMBOL_GPL vmlinux 0x71b8eb73 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x71bbea02 spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x71be933b dev_pm_opp_get_opp_count +EXPORT_SYMBOL_GPL vmlinux 0x71c0c4a7 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x71c2cbe8 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0x71d53bde pci_bridge_emul_conf_read +EXPORT_SYMBOL_GPL vmlinux 0x71e436c9 of_hte_req_count +EXPORT_SYMBOL_GPL vmlinux 0x71f522a4 crypto_shash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x71fe89ec dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x72010495 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0x721ba9b8 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x721bc04d usb_phy_gen_create_phy +EXPORT_SYMBOL_GPL vmlinux 0x72338d93 uprobe_register_refctr +EXPORT_SYMBOL_GPL vmlinux 0x72364bc1 free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0x7236bdf8 ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0x723c6e4c cpts_unregister +EXPORT_SYMBOL_GPL vmlinux 0x723e8513 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x72459bdf pci_iomap_wc_range +EXPORT_SYMBOL_GPL vmlinux 0x724ab555 of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x725dcbdf dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0x7262702b sfp_get_module_eeprom_by_page +EXPORT_SYMBOL_GPL vmlinux 0x7265f2b0 pci_vpd_check_csum +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x728437e5 usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x72885b48 snd_soc_put_volsw +EXPORT_SYMBOL_GPL vmlinux 0x7290212d crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x729dbe6b sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x72b299e1 efi_capsule_supported +EXPORT_SYMBOL_GPL vmlinux 0x72be62b1 devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x72daa924 usb_gadget_connect +EXPORT_SYMBOL_GPL vmlinux 0x72e9bd78 put_device +EXPORT_SYMBOL_GPL vmlinux 0x73041aba irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x7311d81e tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0x731b5896 __xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0x7335912a cpufreq_frequency_table_get_index +EXPORT_SYMBOL_GPL vmlinux 0x7348293b edac_pci_handle_pe +EXPORT_SYMBOL_GPL vmlinux 0x734f341b sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x7351fcb1 devlink_remote_reload_actions_performed +EXPORT_SYMBOL_GPL vmlinux 0x73547b88 regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x737010f1 wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0x7382962e dev_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0x7384723e usb_device_match_id +EXPORT_SYMBOL_GPL vmlinux 0x7387b4d4 devm_phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7397afe5 mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x7398ff35 of_reserved_mem_device_release +EXPORT_SYMBOL_GPL vmlinux 0x739c5107 fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73ac1358 pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0x73b98231 asymmetric_key_generate_id +EXPORT_SYMBOL_GPL vmlinux 0x73c93a88 crypto_create_tfm_node +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73d210d9 tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0x73e6697c serial8250_update_uartclk +EXPORT_SYMBOL_GPL vmlinux 0x73eaa81f of_hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x74145989 dpcm_end_walk_at_be +EXPORT_SYMBOL_GPL vmlinux 0x7419a9e4 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x741cccc3 of_usb_host_tpl_support +EXPORT_SYMBOL_GPL vmlinux 0x741f9c57 md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x743cc2cf blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0x74445267 bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0x7447fd89 devm_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0x744ecba7 bpf_trace_run4 +EXPORT_SYMBOL_GPL vmlinux 0x7451cac0 wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0x745c2f3f regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x746eba66 mtk_pinconf_adv_drive_set_raw +EXPORT_SYMBOL_GPL vmlinux 0x749391fb serial8250_em485_config +EXPORT_SYMBOL_GPL vmlinux 0x7495ef52 led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x74b3419a bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x74b5ea68 lcm_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x74b706ca gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x74babf8e sdhci_pltfm_resume +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74bd10e0 pinmux_generic_get_function +EXPORT_SYMBOL_GPL vmlinux 0x74cf8767 skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x74f017e9 iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0x74fdf865 genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL vmlinux 0x74fe65ee fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x74feb0af vivaldi_function_row_physmap_show +EXPORT_SYMBOL_GPL vmlinux 0x750099d1 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x7503d761 virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0x75116c97 snd_soc_dapm_dai_get_connected_widgets +EXPORT_SYMBOL_GPL vmlinux 0x7513b5ec __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x751a8e37 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x751f2081 __devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x751faf9e pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x75293cd7 virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7533047f devm_rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x755ae3c8 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x75624e39 check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0x757c1bbb housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0x759139cb of_pci_check_probe_only +EXPORT_SYMBOL_GPL vmlinux 0x75a49b34 dpm_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x75aa74ad dma_resv_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x75ac0015 rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x75acca1b devm_snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL vmlinux 0x75bf6cc0 is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0x75cc637b nvmem_device_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x75dd4ebe of_overlay_remove +EXPORT_SYMBOL_GPL vmlinux 0x75dee61c of_get_videomode +EXPORT_SYMBOL_GPL vmlinux 0x75e51945 __SCK__tp_func_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x75e94d85 of_device_request_module +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x75fb9062 arch_timer_read_counter +EXPORT_SYMBOL_GPL vmlinux 0x7600b45a iommu_map +EXPORT_SYMBOL_GPL vmlinux 0x76096b7b blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x7612f41c sdio_retune_release +EXPORT_SYMBOL_GPL vmlinux 0x7618643e led_trigger_rename_static +EXPORT_SYMBOL_GPL vmlinux 0x7625f804 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0x762a8119 snd_pcm_stream_lock +EXPORT_SYMBOL_GPL vmlinux 0x7637c5fa folio_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x763a90aa srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x764170a5 wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x7669ff05 gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x766c8ff0 do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x767ca69a usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0x7681946c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x768da472 efivar_entry_set_get_size +EXPORT_SYMBOL_GPL vmlinux 0x76945c62 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x76b29892 pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x76b961f1 dev_pm_opp_get_max_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0x76befb68 register_btf_kfunc_id_set +EXPORT_SYMBOL_GPL vmlinux 0x76d9b876 clk_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x76e10a88 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x76e89e2c efivars_unregister +EXPORT_SYMBOL_GPL vmlinux 0x76eeae93 ethnl_cable_test_result +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x76f54d6c __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0x76fba120 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x7700f288 __irq_alloc_domain_generic_chips +EXPORT_SYMBOL_GPL vmlinux 0x770834ed fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0x771dfcee cpu_topology +EXPORT_SYMBOL_GPL vmlinux 0x771eae71 icc_provider_add +EXPORT_SYMBOL_GPL vmlinux 0x7725a0ec of_clk_add_provider +EXPORT_SYMBOL_GPL vmlinux 0x77377b12 irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x773c685e usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0x773f2713 clk_hw_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x7740b989 extcon_get_property_capability +EXPORT_SYMBOL_GPL vmlinux 0x77428b23 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x774efaf8 irq_generic_chip_ops +EXPORT_SYMBOL_GPL vmlinux 0x77511ff3 nvdimm_to_bus +EXPORT_SYMBOL_GPL vmlinux 0x7757b51a clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7761cb34 sdhci_set_clock +EXPORT_SYMBOL_GPL vmlinux 0x77701482 regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x777f806c thermal_zone_device_disable +EXPORT_SYMBOL_GPL vmlinux 0x77814f1f fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x77855bdb dev_pm_opp_of_get_opp_desc_node +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x7797d873 __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0x77a69870 thermal_zone_unbind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x77ae495d usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x77b2349d snd_card_free_on_error +EXPORT_SYMBOL_GPL vmlinux 0x77b58827 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0x77c4c31f crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0x77ca0ab9 snd_device_initialize +EXPORT_SYMBOL_GPL vmlinux 0x77ccc87f devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x77cde88d usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x77d499db sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x77e7b022 tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0x77ee4fbf of_property_read_string_helper +EXPORT_SYMBOL_GPL vmlinux 0x77f38b3e inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x78176ba1 devlink_param_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7824ee54 sbitmap_queue_show +EXPORT_SYMBOL_GPL vmlinux 0x782e3674 clk_hw_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x7834c019 phy_10gbit_full_features +EXPORT_SYMBOL_GPL vmlinux 0x78465080 of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x7855fbc7 fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x7857749b ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x7860f23f rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0x786336dc class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x788a9190 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x78924f58 regcache_drop_region +EXPORT_SYMBOL_GPL vmlinux 0x789401c7 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x78c64dff rockchip_clk_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x78ddb76b dmi_match +EXPORT_SYMBOL_GPL vmlinux 0x78e6754c usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x78e9e5f7 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x78ecf001 phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0x78ee8b6f rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0x78f39ec9 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x78f62b77 genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x79098f95 iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0x790c527b rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0x790c663a sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x791bd3fc usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0x7928ade7 fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x79470a2c TSS_authhmac +EXPORT_SYMBOL_GPL vmlinux 0x79499888 nanddev_isreserved +EXPORT_SYMBOL_GPL vmlinux 0x794a0461 rockchip_pcie_disable_clocks +EXPORT_SYMBOL_GPL vmlinux 0x794b7271 orderly_reboot +EXPORT_SYMBOL_GPL vmlinux 0x795261b7 i2c_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x795577ae find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0x7956bed7 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x79610efd rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x79676261 mbox_flush +EXPORT_SYMBOL_GPL vmlinux 0x79800b46 ahci_save_initial_config +EXPORT_SYMBOL_GPL vmlinux 0x79817ff7 of_pci_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0x798a4c84 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x798a9838 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0x799df638 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x79a5c4fb sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x79ae1789 pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0x79b31dce crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x79c15764 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x79cc0cac __tracepoint_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x79cec525 regulator_set_soft_start_regmap +EXPORT_SYMBOL_GPL vmlinux 0x79d1eca1 dw_pcie_link_up +EXPORT_SYMBOL_GPL vmlinux 0x79d3f89e dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x79d98e05 devm_clk_hw_get_clk +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79e24a3c nand_soft_waitrdy +EXPORT_SYMBOL_GPL vmlinux 0x79e6908c br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0x7a0273f3 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x7a1025ba snd_soc_rtdcom_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7a18b3ac pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0x7a1c483c fwnode_get_phy_node +EXPORT_SYMBOL_GPL vmlinux 0x7a2134e8 spi_mem_dirmap_write +EXPORT_SYMBOL_GPL vmlinux 0x7a27c564 clk_hw_get_flags +EXPORT_SYMBOL_GPL vmlinux 0x7a3f2079 sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x7a41553a cpufreq_freq_transition_begin +EXPORT_SYMBOL_GPL vmlinux 0x7a41b9f2 usb_ep_set_maxpacket_limit +EXPORT_SYMBOL_GPL vmlinux 0x7a48d06c cpu_latency_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x7a4afd53 mbox_client_txdone +EXPORT_SYMBOL_GPL vmlinux 0x7a4f58fd mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x7a4fba66 wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0x7a55b630 reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x7a56b34c register_nvdimm_pmu +EXPORT_SYMBOL_GPL vmlinux 0x7a5cd6bc nand_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0x7a618cca gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x7a725575 led_put +EXPORT_SYMBOL_GPL vmlinux 0x7a735925 of_pwm_xlate_with_flags +EXPORT_SYMBOL_GPL vmlinux 0x7a73e605 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7a75e12d get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x7a7f1396 zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7aa76d7d dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0x7ac10ad8 icst_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x7ac27848 switchdev_handle_port_obj_del_foreign +EXPORT_SYMBOL_GPL vmlinux 0x7ac3fbe9 dev_pm_opp_xlate_required_opp +EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7acb08cb amba_device_put +EXPORT_SYMBOL_GPL vmlinux 0x7ad02a41 asn1_encode_tag +EXPORT_SYMBOL_GPL vmlinux 0x7ad1ded1 pinctrl_register_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7ada9471 sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0x7ae8b88e device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x7afde3e4 of_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x7b012803 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x7b163832 debugfs_lookup_and_remove +EXPORT_SYMBOL_GPL vmlinux 0x7b178afe unlock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7b2e2cdf usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0x7b3197ca int_active_memcg +EXPORT_SYMBOL_GPL vmlinux 0x7b31d7db device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7b3e50d8 ahci_platform_init_host +EXPORT_SYMBOL_GPL vmlinux 0x7b46f719 irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0x7b4a2bc1 alloc_io_pgtable_ops +EXPORT_SYMBOL_GPL vmlinux 0x7b536d97 mtk_clk_gate_ops_no_setclr +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b737356 receive_fd +EXPORT_SYMBOL_GPL vmlinux 0x7b8910f4 kfence_sample_interval +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7b995fda devm_thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x7b9e58be imx8ulp_clk_hw_composite +EXPORT_SYMBOL_GPL vmlinux 0x7ba83813 kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x7bb045a7 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x7bb39a2e gpmc_omap_onenand_set_timings +EXPORT_SYMBOL_GPL vmlinux 0x7bba8f27 of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x7bbe2170 pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0x7bc83b5f clk_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x7bcebcf6 devm_kasprintf_strarray +EXPORT_SYMBOL_GPL vmlinux 0x7bcfec8f kthread_data +EXPORT_SYMBOL_GPL vmlinux 0x7be89624 usb_gadget_giveback_request +EXPORT_SYMBOL_GPL vmlinux 0x7bf2b8a3 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7bf2e067 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x7bfe9945 of_mm_gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x7c0a353d pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7c1bdddb get_governor_parent_kobj +EXPORT_SYMBOL_GPL vmlinux 0x7c1c996a dev_pm_opp_put_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x7c1da2e4 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0x7c277115 platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0x7c28526f fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0x7c291e86 show_rcu_tasks_trace_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0x7c3d8a4b icc_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0x7c3fa550 efivar_entry_size +EXPORT_SYMBOL_GPL vmlinux 0x7c48cd90 ahci_platform_resume_host +EXPORT_SYMBOL_GPL vmlinux 0x7c49d8b8 kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x7c5444f1 pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0x7c5968da disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7c72ed6f syscon_regmap_lookup_by_phandle_args +EXPORT_SYMBOL_GPL vmlinux 0x7c7d672f of_css +EXPORT_SYMBOL_GPL vmlinux 0x7c8ca9e3 devm_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x7c983a5d dmi_walk +EXPORT_SYMBOL_GPL vmlinux 0x7c9a7371 clk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7c9da611 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7ca64a0b __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL_GPL vmlinux 0x7cb291eb ahci_set_em_messages +EXPORT_SYMBOL_GPL vmlinux 0x7cba515a __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x7cbe1710 inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x7cd6246f device_rename +EXPORT_SYMBOL_GPL vmlinux 0x7cd6f042 cpufreq_get_current_driver +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7d00c65b nd_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x7d00f76f usb_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x7d1b8adb regulator_desc_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x7d1d37cd device_add_software_node +EXPORT_SYMBOL_GPL vmlinux 0x7d41e048 tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0x7d4927c9 iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0x7d4b0b3a of_pci_get_max_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x7d52992a vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d68f31d raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x7d6ef9a1 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0x7d792ea8 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x7dbf522d ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0x7dc0a7ac irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x7dcd0ba8 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7ddf0b51 sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x7de39e07 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7dfeabdc sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0x7e07231c extcon_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x7e18ac30 fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x7e3bdecd __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x7e406c58 snd_soc_unregister_component_by_driver +EXPORT_SYMBOL_GPL vmlinux 0x7e41f6a2 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x7e5259af usb_gen_phy_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x7e5870f7 iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x7e5db80b pstore_name_to_type +EXPORT_SYMBOL_GPL vmlinux 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e6b1d48 irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0x7e794ebc rockchip_clk_register_armclk +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e917894 __SCK__tp_func_unmap +EXPORT_SYMBOL_GPL vmlinux 0x7e924f37 __traceiter_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x7e94a79a ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0x7eafad50 phy_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x7eb52436 vfio_file_has_dev +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7ebaf6ba fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x7ecfac08 fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x7eea6b8b pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0x7eee097b skcipher_alloc_instance_simple +EXPORT_SYMBOL_GPL vmlinux 0x7ef6f69e __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7f00bdac devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0x7f2623ee mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x7f33ec8d devres_add +EXPORT_SYMBOL_GPL vmlinux 0x7f4b6ba8 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x7f4caeb0 hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x7f4f8c36 sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x7f510d32 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x7f5169f9 devm_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x7f550ec3 usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL vmlinux 0x7f60f04b pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x7f64746c ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0x7f64fbc8 devm_nvdimm_memremap +EXPORT_SYMBOL_GPL vmlinux 0x7f6f44ba of_i2c_get_board_info +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f84f35d rcu_gp_slow_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7f8dd2bb bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x7f90d542 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x7fafdec9 clk_fixed_factor_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fc1dcaf i2c_client_type +EXPORT_SYMBOL_GPL vmlinux 0x7fd9a882 icc_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fea66d9 ping_bind +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff PageHeadHuge +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff PageHuge +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_block_split +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __SCK__tp_func_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __alloc_pages_bulk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __auxiliary_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __blk_trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __cci_control_port_by_index +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __clk_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __clk_get_hw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __clk_get_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __clk_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __clk_mux_determine_rate_closest +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __device_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __devm_clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __devm_clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __devm_clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __devm_of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __devm_regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __devm_reset_control_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __devm_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __devm_rtc_register_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __devm_spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __efivar_entry_iter +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __folio_lock_killable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __hwspin_lock_timeout +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __imx8m_clk_hw_composite +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __irq_apply_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __irq_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __irq_resolve_mapping +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __kprobe_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __ktime_divns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __mmc_poll_for_busy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __register_mtd_parser +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __sdhci_add_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __sdhci_read_caps +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __sdhci_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __sock_recv_cmsgs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __trace_trigger_soft_disabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_block_split +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_unmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __traceiter_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __tracepoint_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __xas_next +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff _snd_pcm_stream_lock_irqsave +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff _snd_pcm_stream_lock_irqsave_nested +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff add_wait_queue_priority +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_check_ready +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_do_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_do_softreset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_ignore_sss +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_init_controller +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_kick_engine +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_platform_disable_clks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_platform_disable_regulators +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_platform_disable_resources +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_platform_enable_clks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_platform_enable_regulators +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_platform_get_resources +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_platform_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_shost_groups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_start_fis_rx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ahci_stop_engine +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alarm_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alarm_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alarmtimer_get_rtcdev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff amba_device_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff amba_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff arm_check_condition +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff arm_iommu_create_mapping +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff arm_iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff arm_iommu_release_mapping +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff arm_smccc_get_version +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff asic3_read_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff asn1_encode_boolean +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff asn1_encode_integer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff asn1_encode_octet_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff asn1_encode_oid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff asn1_encode_sequence +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_dev_set_feature +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_get_cmd_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_host_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_ncq_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sas_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sas_port_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_std_sched_eh +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff auxiliary_find_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bL_switch_request_cb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bL_switcher_get_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bL_switcher_put_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bL_switcher_trace_trigger +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff badrange_forget +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff badrange_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bch_decode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bd_prepare_to_claim +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bdev_alignment_offset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bgpio_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bio_add_zone_append_page +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bio_blkcg_css +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bio_end_io_acct_remapped +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bio_poll +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bio_start_io_acct_time +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bio_trim +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_clear_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_crypto_intersect_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_crypto_profile_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_crypto_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_crypto_update_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_fill_rwbs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_end_request_batch +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_hctx_set_fq_lock_class +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_sched_mark_restart_hctx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_next_bio +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkcg_set_fc_appid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blocking_notifier_call_chain_robust +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blocking_notifier_chain_register_unique_prio +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_fentry_test1 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_master_redirect_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_preload_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_trace_run1 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_trace_run2 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_trace_run3 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_trace_run5 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_trace_run6 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_trace_run9 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bprintf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_last +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_merge +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bus_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff call_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cci_ace_get_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cci_probed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_bulk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_fractional_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_gate_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_gate_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_get_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_get_num_parents +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_get_parent_by_index +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_get_parent_index +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_register_composite +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_unregister_composite +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_hw_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_is_match +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_mux_index_to_val +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_rate_exclusive_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_register_composite +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_register_hisi_phase +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_regmap_gate_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_regmap_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_regmap_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_save_context +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_set_max_rate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_set_phase +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_set_rate_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clk_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clkdev_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff component_compare_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff component_master_del +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff component_release_of +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpts_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpts_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpu_cluster_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpu_latency_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpu_pm_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_cpu_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_dbs_governor_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_dbs_governor_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_dbs_governor_limits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_dbs_governor_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_disable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_driver_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_enable_boost_support +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_enable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_generic_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_generic_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_policy_transition_delay_us +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_table_index_unsorted +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpufreq_update_limits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpuidle_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpuidle_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crc64_be +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crc64_rocksoft_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff cros_ec_command +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_comp_compress +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_grab_kpp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_rng_seed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff da9052_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff da9055_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dapm_kcontrol_get_value +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dapm_mark_endpoints_dirty +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dapm_regulator_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dax_inode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debug_locks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debug_locks_off +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff decode_rs16 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_attr_ncq_prio_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_coredumpm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_coredumpsg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_fetch_sw_netstats +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_fill_forward_path +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_disable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_domain_attach +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_domain_attach_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_domain_detach +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_domain_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_enable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_genpd_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_genpd_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_genpd_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_adjust_voltage +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_find_freq_ceil_by_volt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_find_freq_exact +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_find_level_ceil +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_free_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_get_max_clock_latency +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_get_of_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_get_required_pstate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_init_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_of_add_table_noclk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_of_cpumask_add_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_of_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_of_register_em +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_put_clkname +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_put_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_put_regulators +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_remove_all_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_set_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_qos_expose_flags +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_qos_update_user_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_set_dedicated_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_pm_set_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dev_xdp_prog_count +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devfreq_cooling_em_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devfreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devfreq_event_enable_edev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devfreq_event_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devfreq_event_get_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devfreq_event_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devfreq_event_set_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devfreq_get_devfreq_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_create_managed_software_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_link_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_link_del +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_match_any +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_match_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_show_int +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devices_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devl_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devl_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devl_rate_nodes_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_alloc_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_dpipe_entry_clear +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_dpipe_header_ipv4 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_dpipe_header_ipv6 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_flash_update_timeout_notify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_fmsg_arr_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_fmsg_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_fmsg_u8_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_health_reporter_priv +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_linecard_activate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_linecard_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_linecard_deactivate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_linecard_provision_clear +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_linecard_provision_fail +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_port_attrs_pci_sf_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_port_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_port_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_port_region_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_rate_leaf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_set_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_bitmap_zalloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_blk_crypto_profile_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_clk_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_clk_bulk_get_all +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_clk_get_optional_prepared +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_clk_get_prepared +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_fwnode_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_hte_register_chip +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_hte_request_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_hwmon_sanitize_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_i2c_add_adapter +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_irq_domain_create_sim +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_mipi_dsi_attach +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_mipi_dsi_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_of_phy_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_platform_get_irqs_affinity +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_pm_opp_of_add_table_noclk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_register_power_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regmap_field_bulk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regmap_init_vexpress_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regulator_irq_helper +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regulator_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_rtc_allocate_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_snd_soc_register_card +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_tegra_core_dev_init_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_usb_get_phy_by_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_usb_get_phy_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devres_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff divider_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff divider_ro_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff divider_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_disk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_get_reserved_rq_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_hold +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_submit_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_async_device_channel_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_get_any_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_get_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_map_sgtable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_mmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_resv_describe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_resv_get_fences +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_resv_iter_first +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_vmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_vunmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dmaengine_desc_attach_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dmi_available +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dmi_memdev_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dmi_memdev_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff driver_find +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff driver_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dt_init_idle_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dtpm_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dtpm_destroy_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_ep_raise_legacy_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_ep_raise_msi_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_ep_reset_bar +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_own_conf_map_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff dynevent_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_device_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_has_mcs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_layer_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_mc_del_mc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_mod_work +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_pci_add_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_raw_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff edac_stop_work +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivar_entry_find +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivar_entry_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivar_entry_iter_begin +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivar_entry_iter_end +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivar_entry_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivar_entry_set_safe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivar_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff efivar_validate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ehci_handshake +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ehci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ehci_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff elfcorehdr_addr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff elv_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff em_dev_register_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff em_pd_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ethtool_params_from_link_mode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ethtool_set_ethtool_phy_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff eventfd_ctx_do_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff extcon_register_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff extcon_set_property +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff extcon_set_property_capability +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff extcon_set_property_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff extcon_unregister_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff exynos_get_pmu_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fb_deferred_io_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff finish_rcuwait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fixed_phy_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fixed_phy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff flush_work +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff folio_invalidate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff folio_wait_writeback +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff folio_wait_writeback_killable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff free_rs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff freq_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff freq_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fs_umode_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fs_umode_to_ftype +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_d_revalidate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_dummy_policies_equal +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_limit_io_blocks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_set_bio_crypt_ctx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_set_bio_crypt_ctx_bh +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_set_context +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fscrypt_symlink_getattr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsverity_enqueue_verify_work +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsverity_ioctl_read_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ftrace_free_filter +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_mount_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_request_end +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fw_devlink_purge_absent_suppliers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_connection_find_matches +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff fwnode_usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gadget_find_ep_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gcd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff generic_handle_domain_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff generic_handle_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff genpd_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff genpd_dev_pm_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff genphy_c45_pma_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff genphy_c45_pma_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_cpu_idle_time +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_mtd_device_nm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_net_ns_by_fd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_state_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff get_tree_mtd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gov_attr_set_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gov_update_cpu_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff governor_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_add_pin_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_add_pingroup_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_remove_pin_ranges +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_disable_hw_timestamp_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff handle_fasteoi_ack_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff handle_fasteoi_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hibernation_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hisi_clk_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hisi_clk_register_gate_sep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hisi_clk_register_phase +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hisi_reset_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hte_enable_ts +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hte_get_clk_src_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hte_init_line_attr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hte_ts_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hte_ts_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hugetlb_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hugetlb_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hw_protection_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hwmon_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hwmon_sanitize_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hwrng_msleep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_detect_slave_mode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_dw_configure_master +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_dw_prepare_clk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_dw_validate_speed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_match_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_new_scanned_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_of_match_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_parse_fw_timings +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_recover_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_slave_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff i2c_slave_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_bulk_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_node_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_node_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_node_del +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_node_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_provider_del +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_set_tag +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icc_std_aggregate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff icst_clk_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff idr_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ima_file_check +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx93_clk_composite_flags +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx_1443x_dram_pll +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx_ccm_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx_clk_hw_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx_clk_hw_pllv4 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx_dev_clk_hw_pll14xx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx_fracn_gppll +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx_pcm_dma_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx_pcm_fiq_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff imx_pinctrl_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff init_rs_gfp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff inode_dax +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff input_class +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff input_device_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff io_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff io_uring_cmd_done +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_read_folio +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_release_folio +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_dma_owner_claimed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_release_dma_owner +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_set_iommudata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_set_pgtable_quirks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip_icmp_error_rfc4884 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip_route_output_key_hash +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip_tunnel_unneed_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ipi_get_hwirq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ipi_send_mask +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ipv4_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_check_status_bit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_chip_release_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_create_sim +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_create_simple +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_remove_sim +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_set_hwirq_and_chip +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_gc_mask_disable_reg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_gc_noop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_set_affinity +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff is_software_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kasprintf_strarray +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kernel_can_power_off +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff key_being_used_for +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kfree_strarray +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kgdb_register_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kgdb_unregister_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kill_dax +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff klist_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff klist_next +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff klist_prev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff klist_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kobject_move +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kprobe_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kprobe_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_parkme +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ktime_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ktime_get_real_seconds +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kvfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff kvm_arch_ptp_get_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff l3mdev_table_lookup_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lcm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_blink_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_classdev_notify_brightness_hw_changed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_compose_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_get_default_pattern +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_init_core +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_init_default_state_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_set_brightness +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_set_brightness_nopm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_set_brightness_nosleep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_set_brightness_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_stop_software_blink +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_sysfs_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_trigger_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff led_update_brightness +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linear_hugepage_index +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linear_range_get_max_value +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linear_range_get_selector_low +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linear_range_get_selector_low_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linear_range_get_selector_within +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linear_range_get_value +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linear_range_get_value_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linear_range_values_in_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linear_range_values_in_range_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff linkmode_set_pause +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff locks_owner_has_blockers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lp8788_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lp8788_write_byte +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lpddr2_jedec_addressing_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lpddr2_jedec_min_tck +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lpddr2_jedec_timings +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lwtunnel_get_encap_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lwtunnel_output +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff maxim_charger_currents +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mbox_chan_txdone +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mbox_client_peek_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mbox_request_channel_byname +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mbox_send_message +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mc146818_avoid_UIP +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mcore_booted +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mcpm_is_available +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mctrl_gpio_enable_ms +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mctrl_gpio_init_noauto +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mctrl_gpio_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mctrl_gpio_to_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md5_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md_account_bio +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md_new_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mddev_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mdio_bus_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mdiobus_modify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mem_dump_obj +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff meson8_aobus_parse_dt_extra +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff meson_pmx_get_funcs_count +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff meson_pmx_get_groups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff metadata_dst_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff misc_cg_res_total_usage +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff misc_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff misc_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mmc_pwrseq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mmc_sanitize +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mmc_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mmput +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mod_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpc8xxx_spi_rx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpc8xxx_spi_strmode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpc8xxx_spi_tx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpc8xxx_spi_tx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_addm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_clear +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_ec_add_points +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_ec_deinit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_ec_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_point_free_parts +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_point_new +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_point_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_print +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_scanval +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_sub_ui +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_test_bit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mptcp_get_reset_option +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mptcp_pm_get_add_addr_accept_max +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mptcp_pm_get_local_addr_max +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mptcp_subflow_init_cookie_req +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mptcp_token_get_sock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mptcp_token_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff msg_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff msg_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff msg_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff msi_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff msi_lock_descs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_add_partition +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_block_isbad +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_block_markbad +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_check_expert_analysis_mode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_del_partition +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_device_parse_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_erase +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_erase_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_get_device_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_get_user_prot_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_is_locked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_ooblayout_find_eccregion +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_ooblayout_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_ooblayout_get_databytes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_ooblayout_get_eccbytes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_pairing_info_to_wunit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_table_mutex +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_unpoint +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_write_oob +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtd_wunit_to_pairing_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_alloc_clk_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_build_eint +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_clk_register_factors +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_clk_register_fixed_clks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_clk_register_plls +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_clk_unregister_factors +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_clk_unregister_muxes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_eint_do_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_eint_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_eint_find_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_hw_set_value +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_mmsys_ddp_connect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_mutex_add_comp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_mutex_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_mutex_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_mutex_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_mutex_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_mutex_remove_comp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_adv_drive_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_adv_drive_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_adv_pull_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_bias_disable_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_bias_disable_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_bias_disable_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_bias_disable_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_bias_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_bias_get_combo +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_bias_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_bias_set_combo +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_bias_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_drive_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_drive_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_drive_get_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mtk_pinconf_drive_set_rev1 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff musb_clearb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff musb_readl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff musb_root_disconnect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff musb_set_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff musb_writew +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mv_mbus_dram_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mv_mbus_dram_info_nooverlap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mvebu_mbus_get_pcie_io_aperture +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff mvebu_mbus_get_pcie_mem_aperture +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff name_to_dev_t +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_change_write_column_op +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_decode_ext_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_deselect_target +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_ecc_cleanup_req_tweaking +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_erase_op +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_get_large_page_ooblayout +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_gpio_waitrdy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_read_page_hwecc_oob_first +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_read_page_op +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_subop_get_data_len +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nand_subop_get_data_start_off +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nanddev_bbt_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nanddev_bbt_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nanddev_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nanddev_ecc_engine_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nanddev_erase +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nanddev_mtd_max_bad_blocks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nd_cmd_bus_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nd_cmd_dimm_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nd_cmd_in_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nd_cmd_out_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff net_dec_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff net_selftest_get_count +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff net_selftest_get_strings +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff netdev_xmit_skip_txqueue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff netif_carrier_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nexthop_select_path +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_hooks_lwtunnel_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_hooks_lwtunnel_sysctl_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_log_buf_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nf_route +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nfs_ssc_client_tbl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nfs_ssc_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nfs_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff no_action +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvdimm_badblocks_populate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvdimm_bus_add_badrange +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvdimm_bus_check_dimm_count +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvdimm_bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvdimm_cmd_mask +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvdimm_delete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvdimm_has_cache +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvdimm_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvdimm_pmem_region_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvdimm_region_notify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvdimm_volatile_region_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_add_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_cell_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_cell_read_u32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_cell_read_variable_le_u32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_del_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_device_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_device_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff nvmem_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff od_register_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_add_property +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_changeset_revert +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_clk_del_provider +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_clk_get_parent_count +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_clk_hw_simple_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_clk_parent_fill +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_clk_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_clk_src_simple_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_detach_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_dma_is_coherent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_dma_router_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_genpd_add_provider_onecell +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_genpd_add_provider_simple +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_genpd_parse_idle_states +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_get_display_timing +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_get_named_gpio_flags +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_get_pci_domain_nr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_get_required_opp_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_icc_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_icc_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_irq_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_irq_parse_and_map_pci +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_irq_to_resource_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_map_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_overlay_fdt_apply +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_pci_dma_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_pci_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_pci_parse_bus_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_phandle_args_to_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_phandle_iterator_next +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_phy_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_property_read_u32_index +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_property_read_variable_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_pwm_single_xlate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_reconfig_get_state_change +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_reconfig_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_reserved_mem_device_init_by_idx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_resolve_phandles +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff of_thermal_get_ntrips +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ohci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ohci_restart +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ohci_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ohci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff omap_iommu_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff omap_tll_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff omap_tll_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff page_cache_ra_unbounded +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff palmas_ext_control_req_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_aer_clear_nonfatal_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_bridge_emul_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_bridge_emul_conf_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_bridge_emul_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_dev_trylock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_dev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_get_next_free_bar +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epf_add_vepf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epf_type_add_cfs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_generic_ecam_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_get_dsn +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_host_common_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_host_common_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_iov_vf_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_iov_virtfn_devfn +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_pio_to_address +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_vpd_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_vpd_find_ro_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pcie_aspm_capable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pcie_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pcie_port_find_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff percpu_ref_is_zero +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_10gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_basic_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_basic_t1_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_configure +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_create_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_driver_is_genphy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_fibre_port_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_gbit_fibre_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_led_triggers_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_led_triggers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_pm_runtime_get_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_pm_runtime_put_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_restore_page +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_set_mode_ext +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_set_speed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_speed_down +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_speed_to_str +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff phy_validate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pids_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinconf_generic_dt_subnode_to_map +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_dev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_find_gpio_range_from_pin_nolock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_force_default +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_force_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_generic_get_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_generic_get_group_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_generic_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_generic_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_gpio_can_use_line +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_gpio_set_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_parse_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_pm_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_pm_select_idle_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_select_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_unregister_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_utils_add_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_utils_add_map_mux +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_utils_free_map +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinctrl_utils_reserve_map +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ping_close +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ping_err +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinmux_generic_add_function +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinmux_generic_get_function_groups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pinmux_generic_get_function_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pl320_ipc_transmit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pl320_ipc_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_get_mem_or_io +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_irqchip_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_clk_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_clk_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_clk_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_genpd_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_relax +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_runtime_force_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_runtime_suspended_time +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_suspend_default_s2idle +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_system_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pm_wakeup_dev_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff poll_state_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_group_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_battery_bti_in_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_charge_behaviour_parse +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_get_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_get_maintenance_charging_setting +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_get_property +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_property_is_writeable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_put_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff powercap_register_control_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff powercap_unregister_control_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff powercap_unregister_zone +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff probes_decode_arm_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff proc_dou8vec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff prof_on +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pskb_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pstore_type_to_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pstore_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ptp_msg_is_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ptp_parse_header +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff public_key_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff put_io_context +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff put_mtd_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pwm_apply_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pwm_capture +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pwm_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff qcom_smem_state_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff qcom_smem_state_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff random_get_entropy_fallback +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff raw_v6_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff raw_v6_match +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_all_qs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_barrier_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_check_boost_fail +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_exp_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_gp_is_expedited +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_gp_slow_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff read_current_timer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_btf_id_dtor_kfuncs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_add_irq_chip_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_async_complete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_async_complete_cb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_can_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_check_range_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_field_bulk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_get_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_get_max_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_get_raw_read_max +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_get_raw_write_max +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_get_reg_stride +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_get_val_endian +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_mmio_detach_clk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_noinc_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_noinc_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_test_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_allow_bypass +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_bulk_set_supply_names +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_get_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_get_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_irq_helper +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_is_equal +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_list_hardware_vsel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_map_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_set_active_discharge_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_set_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_set_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff relay_open +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff reset_control_acquire +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff reset_control_bulk_assert +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff reset_control_bulk_deassert +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff reset_control_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff reset_control_bulk_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff reset_control_deassert +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff reset_control_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff reset_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff return_address +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_dropped_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_iter_advance +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_add_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_add_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_add_net +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_alloc_net +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_del_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_enable_rx_tx_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_free_net +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_init_mports +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_lock_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_map_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_map_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_mport_class +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_mport_get_efb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_mport_get_physefb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_mport_initialize +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_pw_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_register_scan +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_request_mport_dma +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_route_clr_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_route_get_entry +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_unlock_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_unmap_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_clk_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_clk_of_add_provider +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_clk_protect_critical +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_clk_register_branches +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_clk_register_ddrclk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_clk_register_plls +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_pcie_deinit_phys +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_pcie_enable_clocks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_pcie_get_phys +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_pcie_init_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_pmu_block +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_pmu_unblock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rockchip_register_restart_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rt_mutex_lock_killable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff run_dax +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sampling_rate_store +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff samsung_sdi_battery_get_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sata_lpm_ignore_phy_events +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff save_stack_trace +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sbitmap_queue_recalculate_wake_batch +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sbitmap_queue_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sbitmap_weight +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sched_clock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sched_set_fifo_low +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sched_set_normal +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff schedule_hrtimeout_range_clock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scmi_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scmi_protocol_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_alloc_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_build_sense +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_device_from_queue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_adma_write_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_alloc_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_cleanup_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_cqe_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_dumpregs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_enable_sdio_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_end_tuning +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_execute_tuning +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_get_property +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_pltfm_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_remove_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_request_atomic +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_reset_tuning +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_set_bus_width +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_set_data_timeout_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_set_ios +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_set_power +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_set_power_and_bus_voltage +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_set_power_noreg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_setup_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdhci_start_signal_voltage_switch +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_retune_crc_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_retune_crc_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_retune_hold_now +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_signal_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff security_kernel_post_load_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sed_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff seq_buf_printf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_do_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_do_set_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_do_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_do_startup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_em485_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_read_char +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_release_dma +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_rpm_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_rpm_get_tx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff set_dax_nocache +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff set_dax_nomc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff set_secondary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sfp_upstream_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff show_rcu_tasks_rude_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff simple_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff simple_rename_exchange +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_msg_is_readable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_copy_ubufs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_gso_validate_network_len +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sm501_find_clock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sm501_set_clock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_ac97_reset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_card_add_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_card_disconnect_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_card_ref +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_compr_stop_error +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_ctl_apply_vmaster_followers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_ctl_disconnect_layer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_ctl_register_layer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_ctl_request_layer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_device_get_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_devm_card_new +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_dma_buffer_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_dmaengine_pcm_close +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_dmaengine_pcm_get_chan +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_dmaengine_pcm_open +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_dmaengine_pcm_pointer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_dmaengine_pcm_pointer_no_residue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_dmaengine_pcm_prepare_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_fasync_helper +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_hwparams_to_dma_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_kill_fasync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_add_chmap_ctls +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_create_iec958_consumer_default +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_fill_iec958_consumer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_format_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_rate_mask_intersect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_rate_range_to_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_stop_xrun +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_stream_lock_irq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_pcm_stream_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_add_card_controls +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_add_component +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_add_component_controls +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_bytes_info +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_bytes_info_ext +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_bytes_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_bytes_tlv_callback +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_card_get_kcontrol +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_card_jack_new +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_cnew +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_async_complete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_compr_copy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_compr_get_caps +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_compr_get_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_compr_get_params +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_compr_set_params +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_disable_pin +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_enable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_force_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_get_pin_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_initialize +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_set_jack +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_set_pll +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_component_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_action +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_compr_ack +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_compr_get_params +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_compr_set_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_compr_set_params +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_get_channel_map +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_daifmt_clock_provider_flipped +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_daifmt_clock_provider_from_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_daifmt_parse_clock_provider_raw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_daifmt_parse_format +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_dai_free_widgets +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_disable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_force_bias_level +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_kcontrol_widget +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_stream_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_sync +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_sync_unlocked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_debugfs_root +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_get_dai_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_get_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_get_volsw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_info_volsw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_info_volsw_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_jack_get_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_jack_report +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_link_compr_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_link_compr_startup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_lookup_component +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_lookup_component_nolocked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_new_ac97_component +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_of_get_dai_link_cpus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_of_get_dai_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_of_get_slot_mask +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_of_parse_aux_devs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_of_put_dai_link_codecs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_put_enum_double +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_put_strobe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_register_card +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_register_component +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_register_dai +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_remove_pcm_runtime +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_runtime_set_dai_fmt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_tplg_widget_bind_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_unregister_card +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_unregister_component +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snd_soc_unregister_dai +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff snmp_fold_field64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff soc_device_match +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sock_map_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sock_map_unhash +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff software_node_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff software_node_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_controller_dma_unmap_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_delay_exec +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_delay_to_ns +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_mem_adjust_op_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_mem_dirmap_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_mem_driver_register_with_owner +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_mem_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_mem_exec_op +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_mem_poll_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sram_exec_copy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff stack_depot_save +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff stack_trace_print +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff stack_trace_snprint +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff start_poll_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff static_key_initialized +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff stmpe811_adc_common_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff strp_done +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff strp_process +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff swapcache_mapping +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff switchdev_handle_port_obj_add_foreign +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff switchdev_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sync_blockdev_nowait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff synth_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff syscon_regmap_lookup_by_compatible +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff syscon_regmap_lookup_by_phandle_optional +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysctl_long_vals +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfb_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff sysrq_toggle_support +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff system_highpri_wq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcf_dev_queue_xmit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcf_frag_xmit_count +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_sendmsg_locked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra20_clk_prepare_emc_mc_same_freq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra20_clk_set_emc_round_callback +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra_bpmp_free_mrq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra_bpmp_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra_bpmp_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra_bpmp_transfer +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra_bpmp_transfer_atomic +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra_mc_get_emem_device_count +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra_mc_probe_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra_mc_write_emem_configuration +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra_read_ram_code +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra_xusb_padctl_legacy_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tegra_xusb_padctl_legacy_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_genl_cpu_capability_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_remove_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_zone_device_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_zone_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_zone_device_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_zone_get_temp +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_zone_get_zone_by_name +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_zone_of_get_sensor_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thp_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff thread_notify_head +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ti_clk_is_in_standby +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff to_nd_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff to_nd_region +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff to_nvdimm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff to_nvdimm_bus_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff to_software_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff topology_clear_scale_freq_source +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff topology_set_scale_freq_source +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_tis_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpm_tis_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tps65217_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tps65217_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tps6586x_get_version +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tps6586x_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tps65912_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_array_printk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_array_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_dump_stack +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_seq_putmem_hex +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_get_char_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff uart_parse_earlycon +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff uart_xchar_out +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff udp_abort +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff udp_bpf_update_proto +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff udp_tunnel_nic_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff ulpi_viewport_access_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff umd_unload_blob +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unix_table_locks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unmap_mapping_pages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_mtd_user +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_platform_power_off +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff unregister_vmcore_cb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff uprobe_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_add_gadget +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_add_phy_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_alloc_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_amd_prefetch_quirk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_amd_quirk_pll_check +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_anchor_resume_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_choose_configuration +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_del_gadget +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_del_gadget_udc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_ep_alloc_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_ep_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_ep_disable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_ep_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_find_common_endpoints +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_check_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_deactivate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_map_request +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_register_driver_owner +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_set_state +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_unmap_request_by_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_vbus_draw +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gadget_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_gen_phy_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_get_dr_mode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_get_role_switch_default_mode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_setup_local_mem +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcd_start_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hub_claim_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_hub_release_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_intf_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_of_get_companion_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_of_get_device_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_of_get_interface_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_of_has_combined_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_phy_generic_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_phy_roothub_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_phy_roothub_exit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_phy_roothub_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_phy_roothub_power_off +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_phy_roothub_power_on +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_phy_roothub_suspend +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_pipe_type_check +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_role_switch_find_by_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_role_switch_get_role +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_role_switch_put +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_role_switch_set_role +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_string +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_udc_vbus_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_urb_ep_type_check +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_wakeup_enabled_descendants +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff user_describe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff user_preparse +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff user_update +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vchan_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vchan_tx_desc_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vchan_tx_submit +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfio_assign_device_set +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfio_file_iommu_group +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfio_file_set_kvm +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfio_init_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfio_register_emulated_iommu_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfio_register_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfio_uninit_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfio_unregister_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfs_inode_has_locks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff videomode_from_timing +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtio_require_restricted_mem_acc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtio_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_add_inbuf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff visitor128 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vmalloc_huge +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_legacy_config_vector +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_legacy_get_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_legacy_get_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_legacy_probe +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_legacy_queue_vector +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_legacy_set_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_legacy_set_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_config_vector +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_get_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_get_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_get_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_map_vq_notify +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_queue_address +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_queue_vector +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_remove +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_set_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_set_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vp_modern_set_status +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wakeme_after_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wakeup_sources_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wakeup_sources_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wwan_create_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wwan_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wwan_register_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff wwan_remove_port +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xa_delete_node +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xas_load +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xas_split +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xas_split_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_alloc_skb_bulk +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_master_redirect +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_return_buff +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xdp_warn +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xhci_add_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xhci_check_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xhci_dbg_trace +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xhci_ext_cap_init +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xhci_gen_setup +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xhci_resume +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xhci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff xhci_update_hub_device +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff yield_to +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff zs_free +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0x7fffffff zs_unmap_object +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0x07342898 unregister_firmware_config_sysctl vmlinux +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0x7fffffff fw_fallback_config vmlinux +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0x7fffffff register_firmware_config_sysctl vmlinux +HWMON_THERMAL EXPORT_SYMBOL_GPL 0x124171e1 hwmon_device_register_for_thermal vmlinux +IIO_AD5592R EXPORT_SYMBOL_GPL 0x4441d545 ad5592r_probe drivers/iio/dac/ad5592r-base +IIO_AD5592R EXPORT_SYMBOL_GPL 0x7fffffff ad5592r_remove drivers/iio/dac/ad5592r-base +IIO_AD5686 EXPORT_SYMBOL_GPL 0x2ba45b57 ad5686_remove drivers/iio/dac/ad5686 +IIO_AD5686 EXPORT_SYMBOL_GPL 0x4664f7cc ad5686_probe drivers/iio/dac/ad5686 +IIO_AD7091R EXPORT_SYMBOL_GPL 0x0736dc7f ad7091r_regmap_config drivers/iio/adc/ad7091r-base +IIO_AD7091R EXPORT_SYMBOL_GPL 0x2ed51b52 ad7091r_probe drivers/iio/adc/ad7091r-base +IIO_AD7606 EXPORT_SYMBOL_GPL 0x70e40078 ad7606_probe drivers/iio/adc/ad7606 +IIO_AD7606 EXPORT_SYMBOL_GPL 0x7fffffff ad7606_pm_ops drivers/iio/adc/ad7606 +IIO_ADISLIB EXPORT_SYMBOL 0x4fd781fb adis_debugfs_reg_access drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL 0x7fffffff __adis_enable_irq drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x0c069b04 adis_single_conversion drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x2bfe290c __adis_read_reg drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x42386bbf adis_update_scan_mode drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x524f0b80 adis_init drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x645f9c28 devm_adis_probe_trigger drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x6f94cdf6 devm_adis_setup_buffer_and_trigger drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x791fb231 __adis_write_reg drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x7bc3a51d __adis_check_status drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x7fffffff __adis_initial_startup drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x7fffffff __adis_update_bits_base drivers/iio/imu/adis_lib +IIO_ADIS_LIB EXPORT_SYMBOL_GPL 0x57c5cae0 __adis_reset drivers/iio/imu/adis_lib +IIO_ADXL313 EXPORT_SYMBOL_GPL 0x7fffffff adxl313_core_probe drivers/iio/accel/adxl313_core +IIO_ADXL313 EXPORT_SYMBOL_GPL 0x7fffffff adxl313_readable_regs_table drivers/iio/accel/adxl313_core +IIO_ADXL313 EXPORT_SYMBOL_GPL 0x7fffffff adxl313_writable_regs_table drivers/iio/accel/adxl313_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0x6ff5403b adxl355_readable_regs_tbl drivers/iio/accel/adxl355_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0x7fffffff adxl355_core_probe drivers/iio/accel/adxl355_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0x7fffffff adxl355_writeable_regs_tbl drivers/iio/accel/adxl355_core +IIO_ADXL367 EXPORT_SYMBOL_GPL 0x26623b0f adxl367_probe drivers/iio/accel/adxl367 +IIO_ADXL372 EXPORT_SYMBOL_GPL 0x2e589b1b adxl372_probe drivers/iio/accel/adxl372 +IIO_ADXL372 EXPORT_SYMBOL_GPL 0x48cf5016 adxl372_readable_noinc_reg drivers/iio/accel/adxl372 +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x176089ec ad_sd_read_reg drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x188989bc ad_sd_set_comm drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x1d063c81 devm_ad_sd_setup_buffer_and_trigger drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x43485374 ad_sd_init drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x437fc55d ad_sd_reset drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x5d5c8103 ad_sd_calibrate_all drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x7fffffff ad_sd_calibrate drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x7fffffff ad_sd_validate_trigger drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x7fffffff ad_sd_write_reg drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x7fffffff ad_sigma_delta_single_conversion drivers/iio/adc/ad_sigma_delta +IIO_BMA400 EXPORT_SYMBOL 0x05e63322 bma400_regmap_config drivers/iio/accel/bma400_core +IIO_BMA400 EXPORT_SYMBOL 0x0a2ed74e bma400_probe drivers/iio/accel/bma400_core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x2ded73a8 bmc150_accel_core_probe drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x59754c67 bmc150_accel_pm_ops drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x7fffffff bmc150_accel_core_remove drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x7fffffff bmc150_regmap_conf drivers/iio/accel/bmc150-accel-core +IIO_BMC150_MAGN EXPORT_SYMBOL 0x3bd80404 bmc150_magn_remove drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0x77c362b4 bmc150_magn_pm_ops drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0x7fffffff bmc150_magn_probe drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0x7fffffff bmc150_magn_regmap_config drivers/iio/magnetometer/bmc150_magn +IIO_BME680 EXPORT_SYMBOL 0x2fd44f67 bme680_regmap_config drivers/iio/chemical/bme680_core +IIO_BME680 EXPORT_SYMBOL_GPL 0x7fffffff bme680_core_probe drivers/iio/chemical/bme680_core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x5fac3278 bmi088_accel_core_remove drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x7fffffff bmi088_accel_core_probe drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x7fffffff bmi088_accel_pm_ops drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x7fffffff bmi088_regmap_conf drivers/iio/accel/bmi088-accel-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x064c106d fxls8962af_core_probe drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x5ec91e14 fxls8962af_i2c_regmap_conf drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x7fffffff fxls8962af_pm_ops drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x7fffffff fxls8962af_spi_regmap_conf drivers/iio/accel/fxls8962af-core +IIO_HID EXPORT_SYMBOL 0x0b987997 hid_sensor_remove_trigger drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x121db854 hid_sensor_write_raw_hyst_rel_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x2a8dda33 hid_sensor_parse_common_attributes drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x307c12a0 hid_sensor_read_samp_freq_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x31f48606 hid_sensor_setup_trigger drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x52caeef8 hid_sensor_read_raw_hyst_rel_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x66f61fff hid_sensor_read_raw_hyst_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x736d7bff hid_sensor_pm_ops drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x7f7621ec hid_sensor_format_scale drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x7fffffff hid_sensor_convert_timestamp drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x7fffffff hid_sensor_power_state drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x7fffffff hid_sensor_write_raw_hyst_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x7fffffff hid_sensor_write_samp_freq_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x012458f7 hid_sensor_get_report_latency drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x2fe55350 hid_sensor_batch_mode_supported drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x7fffffff hid_sensor_read_poll_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x7fffffff hid_sensor_set_report_latency drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HMC5843 EXPORT_SYMBOL 0x3cf29667 hmc5843_common_suspend drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0x7fffffff hmc5843_common_probe drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0x7fffffff hmc5843_common_remove drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0x7fffffff hmc5843_common_resume drivers/iio/magnetometer/hmc5843_core +IIO_KXSD9 EXPORT_SYMBOL 0x5b4979c9 kxsd9_dev_pm_ops drivers/iio/accel/kxsd9 +IIO_KXSD9 EXPORT_SYMBOL 0x7fffffff kxsd9_common_probe drivers/iio/accel/kxsd9 +IIO_KXSD9 EXPORT_SYMBOL 0x7fffffff kxsd9_common_remove drivers/iio/accel/kxsd9 +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x0091e531 ms_sensors_ht_read_humidity drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x045688dd ms_sensors_read_prom_word drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x0e3741b4 ms_sensors_show_battery_low drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x2d2f5cd5 ms_sensors_reset drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x34bce4e0 ms_sensors_read_serial drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x42b6a050 ms_sensors_convert_and_read drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x4e469557 ms_sensors_read_temp_and_pressure drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x5629be45 ms_sensors_ht_read_temperature drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x7fffffff ms_sensors_show_heater drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x7fffffff ms_sensors_tp_read_prom drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x7fffffff ms_sensors_write_heater drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x7fffffff ms_sensors_write_resolution drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x208d84b4 mma7455_core_probe drivers/iio/accel/mma7455_core +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x6a85d0ce mma7455_core_regmap drivers/iio/accel/mma7455_core +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x71217eb9 mma7455_core_remove drivers/iio/accel/mma7455_core +IIO_MMA9551 EXPORT_SYMBOL 0x03d2b4c0 mma9551_read_accel_chan drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x1aefff22 mma9551_read_status_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x1bfff50b mma9551_read_status_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x1d8b0025 mma9551_read_config_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x38c3ebc4 mma9551_gpio_config drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x41ef446c mma9551_read_accel_scale drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x44f1b847 mma9551_app_reset drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x50efa50b mma9551_write_config_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x540b0f72 mma9551_set_device_state drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x692d4ae7 mma9551_read_status_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x7be55ba5 mma9551_write_config_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x7fffffff mma9551_read_config_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x7fffffff mma9551_read_config_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x7fffffff mma9551_read_version drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x7fffffff mma9551_set_power_state drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x7fffffff mma9551_sleep drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x7fffffff mma9551_update_config_bits drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x7fffffff mma9551_write_config_byte drivers/iio/accel/mma9551_core +IIO_MPL115 EXPORT_SYMBOL_GPL 0x2dde1020 mpl115_probe drivers/iio/pressure/mpl115 +IIO_MS5611 EXPORT_SYMBOL 0x0fd36ff2 ms5611_remove drivers/iio/pressure/ms5611_core +IIO_MS5611 EXPORT_SYMBOL 0x7fffffff ms5611_probe drivers/iio/pressure/ms5611_core +IIO_RM3100 EXPORT_SYMBOL_GPL 0x0a1424e0 rm3100_volatile_table drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0x23ea47e1 rm3100_common_probe drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0x7fffffff rm3100_readable_table drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0x7fffffff rm3100_writable_table drivers/iio/magnetometer/rm3100-core +IIO_SCD30 EXPORT_SYMBOL 0x6e1c9c7c scd30_probe drivers/iio/chemical/scd30_core +IIO_SCD30 EXPORT_SYMBOL 0x7fffffff scd30_pm_ops drivers/iio/chemical/scd30_core +IIO_SSP_SENSORS EXPORT_SYMBOL 0x0057c66d ssp_register_consumer drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x217f8927 ssp_enable_sensor drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x2394c5b7 ssp_common_buffer_postenable drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0x7c4bf7f6 ssp_get_sensor_delay drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x7fffffff ssp_change_delay drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x7fffffff ssp_common_buffer_postdisable drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0x7fffffff ssp_common_process_data drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0x7fffffff ssp_disable_sensor drivers/iio/common/ssp_sensors/sensorhub +IIO_ST_SENSORS EXPORT_SYMBOL 0x074d7047 st_sensors_trigger_handler drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x1acdfe7a st_sensors_set_odr drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x23a0c5ea st_sensors_sysfs_scale_avail drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x26e18ce3 st_sensors_dev_name_probe drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x27f12cca st_sensors_set_fullscale_by_gain drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x2919567e st_sensors_i2c_configure drivers/iio/common/st_sensors/st_sensors_i2c +IIO_ST_SENSORS EXPORT_SYMBOL 0x342af6ed st_sensors_allocate_trigger drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x353e5633 st_sensors_power_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x38d5af06 st_gyro_common_probe drivers/iio/gyro/st_gyro +IIO_ST_SENSORS EXPORT_SYMBOL 0x50a0f94d st_sensors_set_axis_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x5fcb3859 st_magn_common_probe drivers/iio/magnetometer/st_magn +IIO_ST_SENSORS EXPORT_SYMBOL 0x7265b0a9 st_sensors_validate_device drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x785d28a1 st_gyro_get_settings drivers/iio/gyro/st_gyro +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fdb20c6 st_sensors_spi_configure drivers/iio/common/st_sensors/st_sensors_spi +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_accel_common_probe drivers/iio/accel/st_accel +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_accel_get_settings drivers/iio/accel/st_accel +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_magn_get_settings drivers/iio/magnetometer/st_magn +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_press_common_probe drivers/iio/pressure/st_pressure +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_press_get_settings drivers/iio/pressure/st_pressure +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_debugfs_reg_access drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_get_settings_index drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_init_sensor drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_read_info_raw drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_set_dataready_irq drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_set_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_sysfs_sampling_frequency_avail drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7fffffff st_sensors_verify_id drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL_GPL 0x7fffffff st_lsm9ds0_probe drivers/iio/imu/st_lsm9ds0/st_lsm9ds0 +IIO_UVIS25 EXPORT_SYMBOL 0x2be72b30 st_uvis25_probe drivers/iio/light/st_uvis25_core +IIO_UVIS25 EXPORT_SYMBOL 0x3a2a6f0c st_uvis25_pm_ops drivers/iio/light/st_uvis25_core +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x030898ff zpa2326_probe drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x0ddc8d1a zpa2326_isreg_readable drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x5adbdc4c zpa2326_pm_ops drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x7fffffff zpa2326_isreg_precious drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x7fffffff zpa2326_isreg_writeable drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x7fffffff zpa2326_remove drivers/iio/pressure/zpa2326 +IWLWIFI EXPORT_SYMBOL_GPL 0x00393a49 iwl_get_nvm drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x004a11a7 iwl_configure_rxq drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x08c7c9c4 iwl_read_external_nvm drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x162f1bfb iwl_force_nmi drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1900c6ce iwl_get_cmd_string drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1c48129a iwl_dump_desc_assert drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2bf03d14 __iwl_crit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2c0f571f iwl_init_notification_wait drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2e21de40 iwl_fw_dbg_stop_sync drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x33acbbeb iwl_write_direct64 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x35033c81 iwl_phy_db_free drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x36fd6c6d iwl_write8 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x37956b72 rs_pretty_print_rate drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3812cb92 iwl_write_prph64_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3ac213ba iwl_poll_direct_bit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3b07db77 iwl_write_direct32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x42eed88c iwl_write32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x46f6e924 iwl_cmd_groups_verify_sorted drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x484a26c5 iwl_fw_runtime_resume drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x4942bc08 iwl_parse_nvm_mcc_info drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x49e0135d iwl_new_rate_from_v1 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x4a45b810 iwl_write64 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x4d55cebc iwl_opmode_register drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x53ff1553 iwl_read_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x568c9f71 iwl_fw_dbg_collect_trig drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5c52e109 iwl_opmode_deregister drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5d9f6039 iwl_init_paging drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5ef4a44d iwl_notification_wait drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6df2e264 iwl_free_fw_paging drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x776221bf iwl_send_phy_db_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x78971d7e iwl_he_is_sgi drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7a761302 iwl_finish_nic_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7eee4a29 iwl_fwrt_dump_error_logs drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff __iwl_dbg drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff __iwl_err drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff __iwl_info drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff __iwl_warn drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff _iwl_dbg_tlv_time_point drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_abort_notification_waits drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_clear_bits_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_dbg_tlv_del_timers drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_fw_dbg_collect drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_fw_dbg_collect_desc drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_fw_dbg_error_collect drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_fw_dbg_read_d3_debug_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_fw_dbg_stop_restart_recording drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_fw_rate_idx_to_plcp drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_fw_runtime_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_fw_runtime_suspend drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_fw_start_dbg_conf drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_get_shared_mem_conf drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_notification_wait_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_nvm_fixups drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_parse_eeprom_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_parse_mei_nvm_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_parse_nvm_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_phy_db_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_phy_db_set_section drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_pnvm_load drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_poll_bit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_rate_mcs drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_read32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_read_direct32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_read_eeprom drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_read_prph_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_remove_notification drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_rs_pretty_ant drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_rs_pretty_bw drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_set_bits_mask_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_set_bits_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_set_soc_latency drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_trans_send_cmd drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_wait_notification drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_write_prph_delay drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwl_write_prph_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7fffffff iwlwifi_mod_params drivers/net/wireless/intel/iwlwifi/iwlwifi +LTC2497 EXPORT_SYMBOL 0x7fffffff ltc2497core_probe drivers/iio/adc/ltc2497-core +LTC2497 EXPORT_SYMBOL 0x7fffffff ltc2497core_remove drivers/iio/adc/ltc2497-core +MCB EXPORT_SYMBOL_GPL 0x0029554e mcb_bus_get drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x269e60ce mcb_free_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x44cd90f1 mcb_alloc_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x688c42b2 __mcb_register_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7d3c9af1 mcb_request_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7fffffff chameleon_parse_cells drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7fffffff mcb_alloc_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7fffffff mcb_bus_add_devices drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7fffffff mcb_bus_put drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7fffffff mcb_device_register drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7fffffff mcb_get_irq drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7fffffff mcb_get_resource drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7fffffff mcb_release_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7fffffff mcb_release_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x7fffffff mcb_unregister_driver drivers/mcb/mcb +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x227d23d6 nvme_execute_passthru_rq drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x5cecdd1d nvme_ctrl_from_file drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x63dca6ae nvme_command_effects drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x70e173e1 nvme_passthru_end drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x7fffffff nvme_find_get_ns drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x7fffffff nvme_put_ns drivers/nvme/host/nvme-core +PECI EXPORT_SYMBOL_GPL 0x01699eb4 peci_request_data_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x025ed68d peci_xfer_ep_pci_cfg_local_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x06d65b25 peci_request_data_readq drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x415f95d0 peci_xfer_ep_pci_cfg_local_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x4bf846e1 peci_xfer_ep_pci_cfg_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x58cb55ff peci_xfer_pci_cfg_local_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x5bbe1404 devm_peci_controller_add drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x69a17738 peci_xfer_pkg_cfg_readq drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x73d8890f peci_xfer_get_dib drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7ec232f0 peci_xfer_get_temp drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff __peci_driver_register drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_driver_unregister drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_request_alloc drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_request_data_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_request_data_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_request_dib_read drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_request_free drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_request_status drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_request_temp_read drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_ep_mmio32_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_ep_mmio64_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_ep_pci_cfg_local_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_ep_pci_cfg_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_ep_pci_cfg_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_pci_cfg_local_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_pci_cfg_local_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_pkg_cfg_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_pkg_cfg_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7fffffff peci_xfer_pkg_cfg_readw drivers/peci/peci +PECI_CPU EXPORT_SYMBOL_GPL 0x20e0ecf4 peci_pci_local_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x465f8aa7 peci_mmio_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x4fed7525 peci_temp_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x7d848440 peci_ep_pci_local_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x7fffffff peci_pcs_read drivers/peci/peci-cpu +PMBUS EXPORT_SYMBOL_GPL 0x0ad6d8e2 pmbus_update_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x2c96ef8b pmbus_update_fan drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x2ce46ef3 pmbus_clear_faults drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x2d484a29 pmbus_write_word_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x30ba73bb pmbus_clear_cache drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x40addac2 pmbus_get_fan_rate_device drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x564924c5 pmbus_check_word_register drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x66c9653b pmbus_read_word_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7c06399f pmbus_get_debugfs_dir drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7fffffff pmbus_check_byte_register drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7fffffff pmbus_do_probe drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7fffffff pmbus_get_driver_info drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7fffffff pmbus_get_fan_rate_cached drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7fffffff pmbus_read_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7fffffff pmbus_regulator_ops drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7fffffff pmbus_set_page drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7fffffff pmbus_set_update drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7fffffff pmbus_write_byte drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x7fffffff pmbus_write_byte_data drivers/hwmon/pmbus/pmbus_core +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x1bda87e9 sx_common_probe drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x25489aad sx_common_write_event_config drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x7fffffff sx_common_events drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x7fffffff sx_common_read_event_config drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x7fffffff sx_common_read_proximity drivers/iio/proximity/sx_common +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0x08d96e05 cs35l45_remove sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0x7fffffff cs35l45_pm_ops sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0x7fffffff cs35l45_probe sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x3431c8ad cs35l45_get_clk_freq_id sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x7fffffff cs35l45_apply_patch sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x7fffffff cs35l45_i2c_regmap sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x7fffffff cs35l45_spi_regmap sound/soc/codecs/snd-soc-cs35l45-tables +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x499edd0f dw_spi_resume_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x7b349bb2 dw_spi_suspend_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x7fffffff dw_spi_add_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x7fffffff dw_spi_check_status drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x7fffffff dw_spi_dma_setup_generic drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x7fffffff dw_spi_dma_setup_mfld drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x7fffffff dw_spi_remove_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x7fffffff dw_spi_set_cs drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x7fffffff dw_spi_update_config drivers/spi/spi-dw +TEST_FIRMWARE EXPORT_SYMBOL_GPL 0x7fffffff firmware_request_builtin vmlinux +USB_STORAGE EXPORT_SYMBOL_GPL 0x0a6b6fd1 fill_inquiry_response drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x0ade16c5 usb_stor_bulk_transfer_sg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x0c8b7f15 usb_stor_clear_halt drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x18effe76 usb_stor_probe1 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x1bc3edc2 usb_stor_sense_invalidCDB drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x3bcf5441 usb_stor_post_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x4c158601 usb_stor_Bulk_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x51b9b691 usb_stor_bulk_srb drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x60cae2ce usb_stor_transparent_scsi_command drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x6781a44c usb_stor_disconnect drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x793e4aa9 usb_stor_adjust_quirks drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_Bulk_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_CB_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_CB_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_access_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_bulk_transfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_control_msg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_ctrl_transfer drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_host_template_init drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_pre_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_probe2 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_reset_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_set_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7fffffff usb_stor_suspend drivers/usb/storage/usb-storage --- linux-gcp-5.19.0.orig/debian.master/abi/armhf/generic-lpae.compiler +++ linux-gcp-5.19.0/debian.master/abi/armhf/generic-lpae.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 12.2.0-3ubuntu1) 12.2.0 --- linux-gcp-5.19.0.orig/debian.master/abi/armhf/generic-lpae.modules +++ linux-gcp-5.19.0/debian.master/abi/armhf/generic-lpae.modules @@ -0,0 +1,6781 @@ +3w-9xxx +3w-sas +3w-xxxx +6lowpan +6pack +8021q +8139cp +8139too +8250_aspeed_vuart +8250_dw +8250_exar +8250_men_mcb +8250_pericom +8255 +8255_pci +8390 +842 +842_compress +842_decompress +88pg86x +88pm800 +88pm800-regulator +88pm805 +88pm80x +88pm80x_onkey +88pm8607 +88pm860x-ts +88pm860x_battery +88pm860x_bl +88pm860x_charger +88pm860x_onkey +9p +9pnet +9pnet_fd +9pnet_rdma +9pnet_virtio +a100u2w +a3d +a53-pll +a7-pll +a8293 +aacraid +aat2870-regulator +aat2870_bl +abp060mg +acard-ahci +acecad +acenic +acer-ec-a500 +acer_a500_battery +acp_audio_dma +act8865-regulator +act8945a +act8945a-regulator +act8945a_charger +act_bpf +act_connmark +act_csum +act_ct +act_ctinfo +act_gact +act_gate +act_ipt +act_mirred +act_mpls +act_nat +act_pedit +act_police +act_sample +act_simple +act_skbedit +act_skbmod +act_tunnel_key +act_vlan +ad2s1200 +ad2s1210 +ad2s90 +ad3552r +ad5064 +ad5110 +ad525x_dpot +ad525x_dpot-i2c +ad525x_dpot-spi +ad5272 +ad5360 +ad5380 +ad5398 +ad5421 +ad5446 +ad5449 +ad5504 +ad5592r +ad5592r-base +ad5593r +ad5624r_spi +ad5686 +ad5686-spi +ad5696-i2c +ad5755 +ad5758 +ad5761 +ad5764 +ad5766 +ad5770r +ad5791 +ad5820 +ad5933 +ad7091r-base +ad7091r5 +ad7124 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7192 +ad7266 +ad7280a +ad7291 +ad7292 +ad7293 +ad7298 +ad7303 +ad7314 +ad7414 +ad7418 +ad74413r +ad7476 +ad7606 +ad7606_par +ad7606_spi +ad7746 +ad7766 +ad7768-1 +ad7780 +ad7791 +ad7793 +ad7816 +ad7877 +ad7879 +ad7879-i2c +ad7879-spi +ad7887 +ad7923 +ad7949 +ad799x +ad8366 +ad8801 +ad9389b +ad9467 +ad9523 +ad9832 +ad9834 +ad_sigma_delta +ada4250 +adc-joystick +adc-keys +adc128d818 +adcxx +addi_apci_1032 +addi_apci_1500 +addi_apci_1516 +addi_apci_1564 +addi_apci_16xx +addi_apci_2032 +addi_apci_2200 +addi_apci_3120 +addi_apci_3501 +addi_apci_3xxx +addi_watchdog +ade7854 +ade7854-i2c +ade7854-spi +adf4350 +adf4371 +adf7242 +adfs +adi +adi-axi-adc +adiantum +adin +adin1100 +adis16080 +adis16130 +adis16136 +adis16201 +adis16203 +adis16209 +adis16240 +adis16260 +adis16400 +adis16460 +adis16475 +adis16480 +adis_lib +adjd_s311 +adl_pci6208 +adl_pci7x3x +adl_pci8164 +adl_pci9111 +adl_pci9118 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm1177 +adm1266 +adm1275 +adm8211 +adm9240 +admv1013 +admv4420 +adp1653 +adp5061 +adp5520-keys +adp5520_bl +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +adq12b +adrf6780 +ads7828 +ads7846 +ads7871 +adt7310 +adt7316 +adt7316-i2c +adt7316-spi +adt7410 +adt7411 +adt7462 +adt7470 +adt7475 +adt7x10 +adummy +adutux +adux1020 +adv7170 +adv7175 +adv7180 +adv7183 +adv7343 +adv7393 +adv748x +adv7511 +adv7604 +adv7842 +adv_pci1710 +adv_pci1720 +adv_pci1723 +adv_pci1724 +adv_pci1760 +adv_pci_dio +advansys +adxl313_core +adxl313_i2c +adxl313_spi +adxl34x +adxl34x-i2c +adxl34x-spi +adxl355_core +adxl355_i2c +adxl355_spi +adxl367 +adxl367_i2c +adxl367_spi +adxl372 +adxl372_i2c +adxl372_spi +adxrs290 +adxrs450 +aegis128 +aes-arm +aes-arm-bs +aes-arm-ce +aes_ti +af9013 +af9033 +af_alg +af_key +af_packet_diag +afe4403 +afe4404 +affs +afs +ah4 +ah6 +ahci +ahci_ceva +ahci_dm816 +ahci_mtk +ahci_mvebu +ahci_qoriq +ahci_tegra +aht10 +aic79xx +aic7xxx +aic94xx +aio_aio12_8 +aio_iiro_16 +aiptek +aircable +airspy +ak7375 +ak881x +ak8974 +ak8975 +al3010 +al3320a +alcor +alcor_pci +algif_aead +algif_hash +algif_rng +algif_skcipher +alim7101_wdt +altera-ci +altera-cvp +altera-fpga2sdram +altera-freeze-bridge +altera-hps2fpga +altera-msgdma +altera-pr-ip-core +altera-pr-ip-core-plat +altera-ps-spi +altera-stapl +altera_jtaguart +altera_ps2 +altera_tse +altera_uart +alx +am2315 +am35x +am53c974 +amba-clcd +amba-pl010 +ambakmi +amc6821 +amd +amd5536udc_pci +amd8111e +amdgpu +amlogic-gxl-crypto +amlogic_thermal +amphion-vpu +amplc_dio200 +amplc_dio200_common +amplc_dio200_pci +amplc_pc236 +amplc_pc236_common +amplc_pc263 +amplc_pci224 +amplc_pci230 +amplc_pci236 +amplc_pci263 +ams-iaq-core +ams369fg06 +amt +analog +analogix-anx6345 +analogix-anx78xx +analogix_dp +anatop-regulator +ansi_cprng +anx7625 +anybuss_core +ao-cec +ao-cec-g12a +aoe +apbps2 +apcs-msm8916 +apcs-sdx55 +apds9300 +apds9802als +apds990x +apds9960 +apple-mfi-fastcharge +appledisplay +appletalk +appletouch +applicom +apr +apss-ipq-pll +apss-ipq6018 +aptina-pll +aqc111 +aquacomputer_d5next +aquantia +ar1021_i2c +ar5523 +ar7part +ar9331 +arasan-nand-controller +arc-rawmode +arc-rimi +arc_emac +arc_ps2 +arc_uart +arcmsr +arcnet +arcpgu +arcx-anybus +arcxcnn_bl +arizona +arizona-haptics +arizona-i2c +arizona-ldo1 +arizona-micsupp +arizona-spi +ark3116 +arkfb +arm_mhu +arm_mhu_db +arm_mhuv2 +arm_scpi +arm_smc_wdt +arm_smccc_trng +armada +armada-37xx-cpufreq +armada-37xx-rwtm-mailbox +armada-8k-cpufreq +armada_37xx_wdt +arp_tables +arpt_mangle +arptable_filter +artpec6_crypto +as102_fe +as370-hwmon +as3711-regulator +as3711_bl +as3722-regulator +as3935 +as5011 +as73211 +asc7621 +ascot2e +asix +aspeed-lpc-ctrl +aspeed-lpc-snoop +aspeed-p2a-ctrl +aspeed-pwm-tacho +aspeed-uart-routing +aspeed-vhub +aspeed-video +aspeed_adc +aspeed_edac +aspeed_gfx +ast +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +at803x +at86rf230 +ata_generic +ata_piix +atbm8830 +atc260x-core +atc260x-i2c +atc260x-onkey +atc260x-poweroff +atc260x-regulator +aten +ath +ath10k_core +ath10k_pci +ath10k_sdio +ath10k_snoc +ath10k_usb +ath11k +ath11k_ahb +ath11k_pci +ath3k +ath5k +ath6kl_core +ath6kl_sdio +ath6kl_usb +ath9k +ath9k_common +ath9k_htc +ath9k_hw +ath9k_pci_owl_loader +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atlantic +atlas-ezo-sensor +atlas-sensor +atm +atmel +atmel-ecc +atmel-flexcom +atmel-hlcdc +atmel-hlcdc-dc +atmel-i2c +atmel-sha204a +atmel_captouch +atmel_mxt_ts +atmel_pci +atmtcp +atp870u +atusb +atxp1 +aty128fb +atyfb +au0828 +au8522_common +au8522_decoder +au8522_dig +auo-pixcir-ts +auth_rpcgss +authenc +authencesn +autofs4 +avmfritz +ax25 +ax88179_178a +ax88796 +ax88796b +ax88796c +axi-fan-control +axis-fifo +axp20x +axp20x-i2c +axp20x-pek +axp20x-regulator +axp20x_ac_power +axp20x_adc +axp20x_battery +axp20x_usb_power +axp288_adc +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b43 +b43legacy +b44 +b53_common +b53_mdio +b53_mmap +b53_serdes +b53_spi +b53_srab +bL_switcher_dummy_if +ba431-rng +bam_dma +bareudp +batman-adv +baycom_epp +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcache +bcm-keypad +bcm-phy-lib +bcm-sf2 +bcm203x +bcm3510 +bcm47xxsflash +bcm54140 +bcm590xx +bcm590xx-regulator +bcm5974 +bcm63138_nand +bcm6368_nand +bcm7xxx +bcm87xx +bcm_vk +bcma +bcma-hcd +bcmsysport +bd6107 +bd71815-regulator +bd71828-regulator +bd718x7-regulator +bd9571mwv +bd9571mwv-regulator +bd9576-regulator +bd9576_wdt +bd99954-charger +bdc +be2iscsi +be2net +befs +bel-pfe +belkin_sa +berlin2-adc +bfa +bfq +bfs +bfusb +bh1750 +bh1770glc +bh1780 +binder_linux +binfmt_misc +blake2b-neon +blake2b_generic +block2mtd +blocklayoutdriver +blowfish_common +blowfish_generic +bluetooth +bluetooth_6lowpan +bma150 +bma220_spi +bma400_core +bma400_i2c +bma400_spi +bmc150-accel-core +bmc150-accel-i2c +bmc150-accel-spi +bmc150_magn +bmc150_magn_i2c +bmc150_magn_spi +bme680_core +bme680_i2c +bme680_spi +bmg160_core +bmg160_i2c +bmg160_spi +bmi088-accel-core +bmi088-accel-spi +bmi160_core +bmi160_i2c +bmi160_spi +bmp280 +bmp280-i2c +bmp280-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bnxt_en +bochs +bonding +bpa-rs600 +bpa10x +bpck +bpck6 +bpfilter +bpqether +bq2415x_charger +bq24190_charger +bq24257_charger +bq24735-charger +bq2515x_charger +bq256xx_charger +bq25890_charger +bq25980_charger +bq27xxx_battery +bq27xxx_battery_hdq +bq27xxx_battery_i2c +br2684 +br_netfilter +brcmfmac +brcmnand +brcmsmac +brcmstb_nand +brcmutil +brd +bridge +broadcom +bsd_comp +bt-bmc +bt819 +bt856 +bt866 +bt878 +btbcm +btcoexist +btintel +btmrvl +btmrvl_sdio +btmtk +btmtksdio +btmtkuart +btqca +btqcomsmd +btrfs +btrsi +btrtl +btsdio +bttv +btusb +bu21013_ts +bu21029_ts +budget +budget-av +budget-ci +budget-core +budget-patch +c67x00 +c6xdigio +c_can +c_can_pci +c_can_platform +ca8210 +caam +caam_jr +caamalg_desc +caamhash_desc +cachefiles +cadence-nand-controller +cadence_wdt +cafe_ccic +cafe_nand +caif +caif_serial +caif_socket +caif_usb +caif_virtio +camcc-sc7180 +camcc-sc7280 +camcc-sdm845 +camcc-sm8250 +camellia_generic +can +can-bcm +can-dev +can-gw +can-isotp +can-j1939 +can-raw +cap11xx +capmode +capsule-loader +carl9170 +carminefb +cassini +cast5_generic +cast6_generic +cast_common +catc +cb710 +cb710-mmc +cb_pcidas +cb_pcidas64 +cb_pcidda +cb_pcimdas +cb_pcimdda +cc10001_adc +cc2520 +cc770 +cc770_isa +cc770_platform +ccm +ccree +ccs +ccs-pll +ccs811 +cctrng +cdc-acm +cdc-phonet +cdc-wdm +cdc_eem +cdc_ether +cdc_mbim +cdc_ncm +cdc_subset +cdns-csi2rx +cdns-csi2tx +cdns-dphy +cdns-dphy-rx +cdns-dsi +cdns-mhdp8546 +cdns-pltfrm +cdns-usb-common +cdns3 +cdns3-imx +cec +ceph +cfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch +ch341 +ch7006 +ch7322 +ch9200 +ch_ipsec +ch_ktls +chacha-neon +chacha20poly1305 +chacha_generic +chaoskey +charlcd +chcr +chipone-icn6211 +chipone_icn8318 +chnl_net +chrontel-ch7033 +ci_hdrc +ci_hdrc_imx +ci_hdrc_msm +ci_hdrc_pci +ci_hdrc_tegra +ci_hdrc_usb2 +cicada +cifs +cifs_arc4 +cifs_md4 +cirrus +cirrusfb +clip +clk-axi-clkgen +clk-bd718x7 +clk-cdce706 +clk-cdce925 +clk-cs2000-cp +clk-hi3519 +clk-hi655x +clk-imx8ulp +clk-imx93 +clk-lmk04832 +clk-lochnagar +clk-max77686 +clk-max9485 +clk-palmas +clk-pwm +clk-qcom +clk-renesas-pcie +clk-rk808 +clk-rpm +clk-rpmh +clk-s2mps11 +clk-scmi +clk-scpi +clk-si514 +clk-si5341 +clk-si5351 +clk-si544 +clk-si570 +clk-smd-rpm +clk-spmi-pmic-div +clk-twl6040 +clk-versaclock5 +clk-wm831x +clk-xlnx-clock-wizard +cls_basic +cls_bpf +cls_cgroup +cls_flow +cls_flower +cls_fw +cls_matchall +cls_route +cls_rsvp +cls_rsvp6 +cls_u32 +cm109 +cm32181 +cm3232 +cm3323 +cm3605 +cm36651 +cma3000_d0x +cma3000_d0x_i2c +cmac +cmtp +cnic +cobra +coda +coda-vpu +colibri-vf50-ts +com20020 +com20020-pci +com90io +com90xx +comedi +comedi_8254 +comedi_8255 +comedi_bond +comedi_example_test +comedi_parport +comedi_pci +comedi_test +comedi_usb +comm +contec_pci_dio +cordic +core +corsair-cpro +corsair-psu +cortina +counter +cp210x +cpcap-adc +cpcap-battery +cpcap-charger +cpcap-pwrbutton +cpcap-regulator +cpia2 +cppi41 +cpr +cramfs +crc-itu-t +crc32-arm-ce +crc32_generic +crc4 +crc7 +crct10dif-arm-ce +crg-hi3516cv300 +crg-hi3798cv200 +cros-ec-anx7688 +cros-ec-cec +cros-ec-regulator +cros-ec-sensorhub +cros_ec +cros_ec_accel_legacy +cros_ec_baro +cros_ec_chardev +cros_ec_debugfs +cros_ec_dev +cros_ec_i2c +cros_ec_keyb +cros_ec_lid_angle +cros_ec_light_prox +cros_ec_lightbar +cros_ec_mkbp_proximity +cros_ec_rpmsg +cros_ec_sensors +cros_ec_sensors_core +cros_ec_spi +cros_ec_sysfs +cros_ec_typec +cros_ec_vbc +cros_peripheral_charger +cros_usbpd-charger +cros_usbpd_logger +cros_usbpd_notify +cryptd +crypto_engine +crypto_safexcel +crypto_simd +crypto_user +cs3308 +cs5345 +cs53l32a +cs89x0 +cs_dsp +csiostor +ctucanfd +ctucanfd_pci +ctucanfd_platform +curve25519-generic +curve25519-neon +cuse +cw1200_core +cw1200_wlan_sdio +cw1200_wlan_spi +cw2015_battery +cx18 +cx18-alsa +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24117 +cx24120 +cx24123 +cx25821 +cx25821-alsa +cx25840 +cx82310_eth +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx8800 +cx8802 +cx88xx +cxacru +cxd2099 +cxd2820r +cxd2841er +cxd2880 +cxd2880-spi +cxgb +cxgb3 +cxgb3i +cxgb4 +cxgb4i +cxgb4vf +cxgbit +cxl_core +cxl_mem +cxl_pci +cxl_pmem +cxl_port +cy8ctma140 +cy8ctmg110_ts +cyapatp +cyber2000fb +cyberjack +cypress-sf +cypress_cy7c63 +cypress_firmware +cypress_m8 +cytherm +cyttsp4_core +cyttsp4_i2c +cyttsp4_spi +cyttsp_core +cyttsp_i2c +cyttsp_i2c_common +cyttsp_spi +da280 +da311 +da7280 +da9030_battery +da9034-ts +da903x-regulator +da903x_bl +da9052-battery +da9052-hwmon +da9052-regulator +da9052_bl +da9052_onkey +da9052_tsi +da9052_wdt +da9055-hwmon +da9055-regulator +da9055_onkey +da9055_wdt +da9062-core +da9062-regulator +da9062-thermal +da9062_wdt +da9063-regulator +da9063_onkey +da9063_wdt +da9121-regulator +da9150-charger +da9150-core +da9150-fg +da9150-gpadc +da9210-regulator +da9211-regulator +dac02 +daqboard2000 +das08 +das08_isa +das08_pci +das16 +das16m1 +das1800 +das6402 +das800 +davicom +db9 +dc395x +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +ddbridge +ddbridge-dummy-fe +de2104x +decnet +defxx +delta-ahe50dc-fan +denali +denali_dt +denali_pci +des_generic +designware_i2s +device_dax +dfl +dfl-afu +dfl-emif +dfl-fme +dfl-fme-br +dfl-fme-mgr +dfl-fme-region +dfl-n3000-nios +dfl-pci +dht11 +diag +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +digicolor-usart +diskonchip +dispcc-qcm2290 +dispcc-sc7180 +dispcc-sc7280 +dispcc-sdm845 +dispcc-sm6125 +dispcc-sm6350 +dispcc-sm8250 +display-connector +dl2k +dlhl60d +dlink-dir685-touchkeys +dlm +dln2 +dln2-adc +dm-bio-prison +dm-bufio +dm-cache +dm-cache-smq +dm-clone +dm-crypt +dm-delay +dm-era +dm-flakey +dm-historical-service-time +dm-integrity +dm-io-affinity +dm-log +dm-log-userspace +dm-log-writes +dm-mirror +dm-multipath +dm-persistent-data +dm-queue-length +dm-raid +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dm-switch +dm-thin-pool +dm-unstripe +dm-verity +dm-writecache +dm-zero +dm-zoned +dm1105 +dm9000 +dm9051 +dm9601 +dma-axi-dmac +dmard06 +dmard09 +dmard10 +dme1737 +dmfe +dmi-sysfs +dmm32at +dmx3191d +dn_rtmsg +dnet +dove_thermal +dp83640 +dp83822 +dp83848 +dp83867 +dp83869 +dp83tc811 +dp83td510 +dpot-dac +dps310 +dps920ab +drbd +drivetemp +drm +drm_cma_helper +drm_display_helper +drm_dp_aux_bus +drm_kms_helper +drm_mipi_dbi +drm_shmem_helper +drm_ttm_helper +drm_vram_helper +drv260x +drv2665 +drv2667 +drx39xyj +drxd +drxk +ds1621 +ds1682 +ds1803 +ds1wm +ds2482 +ds2490 +ds2760_battery +ds2780_battery +ds2781_battery +ds2782_battery +ds3000 +ds4424 +ds620 +dsa_core +dsbr100 +dst +dst_ca +dstr +dt2801 +dt2811 +dt2814 +dt2815 +dt2817 +dt282x +dt3000 +dt3155 +dt9812 +dtpm +dummy +dummy-irq +dummy_stm +dvb-as102 +dvb-bt8xx +dvb-core +dvb-pll +dvb-ttpci +dvb-ttusb-budget +dvb-usb +dvb-usb-a800 +dvb-usb-af9005 +dvb-usb-af9005-remote +dvb-usb-af9015 +dvb-usb-af9035 +dvb-usb-anysee +dvb-usb-au6610 +dvb-usb-az6007 +dvb-usb-az6027 +dvb-usb-ce6230 +dvb-usb-cinergyT2 +dvb-usb-cxusb +dvb-usb-dib0700 +dvb-usb-dibusb-common +dvb-usb-dibusb-mb +dvb-usb-dibusb-mc +dvb-usb-dibusb-mc-common +dvb-usb-digitv +dvb-usb-dtt200u +dvb-usb-dtv5100 +dvb-usb-dvbsky +dvb-usb-dw2102 +dvb-usb-ec168 +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-lmedm04 +dvb-usb-m920x +dvb-usb-mxl111sf +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-pctv452e +dvb-usb-rtl28xxu +dvb-usb-technisat-usb2 +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +dvb_dummy_fe +dvb_usb_v2 +dw-axi-dmac-platform +dw-edma +dw-edma-pcie +dw-hdmi +dw-hdmi-ahb-audio +dw-hdmi-cec +dw-hdmi-gp-audio +dw-hdmi-i2s-audio +dw-i3c-master +dw-mipi-dsi +dw-xdata-pcie +dw9714 +dw9768 +dw9807-vcm +dw_dmac +dw_dmac_core +dw_dmac_pci +dw_hdmi-imx +dw_mipi_dsi-stm +dw_mmc +dw_mmc-bluefield +dw_mmc-exynos +dw_mmc-hi3798cv200 +dw_mmc-k3 +dw_mmc-pci +dw_mmc-pltfm +dw_mmc-rockchip +dw_wdt +dwc-xlgmac +dwc2_pci +dwc3 +dwc3-haps +dwc3-meson-g12a +dwc3-of-simple +dwc3-omap +dwc3-qcom +dwmac-altr-socfpga +dwmac-dwc-qos-eth +dwmac-generic +dwmac-imx +dwmac-intel-plat +dwmac-ipq806x +dwmac-loongson +dwmac-mediatek +dwmac-meson +dwmac-meson8b +dwmac-qcom-ethqos +dwmac-rk +dyna_pci10xx +dynapro +e100 +e1000 +e1000e +e3x0-button +e4000 +earth-pt1 +earth-pt3 +ebt_802_3 +ebt_among +ebt_arp +ebt_arpreply +ebt_dnat +ebt_ip +ebt_ip6 +ebt_limit +ebt_log +ebt_mark +ebt_mark_m +ebt_nflog +ebt_pkttype +ebt_redirect +ebt_snat +ebt_stp +ebt_vlan +ebtable_broute +ebtable_filter +ebtable_nat +ebtables +ec100 +ecc +ecc-mtk +ecdh_generic +ecdsa_generic +echainiv +echo +ecrdsa_generic +edt-ft5x06 +ee1004 +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efct +efi-pstore +efi_test +efibc +efs +egalax_ts +egalax_ts_serial +ehci-fsl +ehci-npcm7xx +ehci-omap +ehci-platform +ehset +ektf2127 +elan_i2c +elants_i2c +elo +em28xx +em28xx-alsa +em28xx-dvb +em28xx-rc +em28xx-v4l +em_canid +em_cmp +em_ipset +em_ipt +em_meta +em_nbyte +em_text +em_u32 +emac_rockchip +emc1403 +emc2103 +emc6w201 +emi26 +emi62 +emif +empeg +ems_pci +ems_usb +emu10k1-gp +ena +enc28j60 +enclosure +encx24j600 +encx24j600-regmap +eni +enic +envelope-detector +epat +epia +epic100 +eql +erofs +error +esas2r +esd_usb2 +esp4 +esp4_offload +esp6 +esp6_offload +esp_scsi +essiv +et1011c +et131x +et8ek8 +etas_es58x +ethoc +etnaviv +evbug +exc3000 +exfat +extcon-adc-jack +extcon-fsa9480 +extcon-gpio +extcon-max14577 +extcon-max3355 +extcon-max77693 +extcon-max77843 +extcon-max8997 +extcon-palmas +extcon-ptn5150 +extcon-qcom-spmi-misc +extcon-rt8973a +extcon-sm5502 +extcon-usb-gpio +extcon-usbc-cros-ec +extcon-usbc-tusb320 +exynosdrm +ezusb +f2fs +f71805f +f71882fg +f75375s +f81232 +f81534 +f81601 +failover +fakelb +fan53555 +fan53880 +farsync +fastrpc +faulty +fb_agm1264k-fl +fb_bd663474 +fb_ddc +fb_hx8340bn +fb_hx8347d +fb_hx8353d +fb_hx8357d +fb_ili9163 +fb_ili9320 +fb_ili9325 +fb_ili9340 +fb_ili9341 +fb_ili9481 +fb_ili9486 +fb_pcd8544 +fb_ra8875 +fb_s6d02a1 +fb_s6d1121 +fb_seps525 +fb_sh1106 +fb_ssd1289 +fb_ssd1305 +fb_ssd1306 +fb_ssd1325 +fb_ssd1331 +fb_ssd1351 +fb_st7735r +fb_st7789v +fb_sys_fops +fb_tinylcd +fb_tls8204 +fb_uc1611 +fb_uc1701 +fb_upd161704 +fbtft +fc0011 +fc0012 +fc0013 +fc2580 +fcoe +fcrypt +fdomain +fdomain_pci +fdp +fdp_i2c +fealnx +ff-memless +fieldbus_dev +firedtv +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +firewire-serial +fit2 +fit3 +fl512 +flexcan +fm10k +fm801-gp +fm_drv +forcedeth +fore_200e +fotg210-hcd +fotg210-udc +fou +fou6 +fpga-bridge +fpga-mgr +fpga-region +freevxfs +friq +frpw +fsa4480 +fscache +fsi-core +fsi-master-aspeed +fsi-master-ast-cf +fsi-master-gpio +fsi-master-hub +fsi-occ +fsi-sbefifo +fsi-scom +fsia6b +fsl-dcu-drm +fsl-edma +fsl-edma-common +fsl-enetc +fsl-enetc-ierb +fsl-enetc-mdio +fsl-enetc-ptp +fsl-enetc-vf +fsl-ldb +fsl-mph-dr-of +fsl-qdma +fsl_imx8_ddr_perf +fsl_linflexuart +fsl_lpuart +fsl_pq_mdio +fsl_ucc_hdlc +fsp-3y +ftdi-elan +ftdi_sio +ftgmac100 +ftl +ftm-quaddec +ftmac100 +ftsteutates +ftwdt010_wdt +fujitsu_ts +funcore +funeth +fusb302 +fxas21002c_core +fxas21002c_i2c +fxas21002c_spi +fxls8962af-core +fxls8962af-i2c +fxls8962af-spi +fxos8700_core +fxos8700_i2c +fxos8700_spi +g450_pll +g760a +g762 +g_acm_ms +g_audio +g_cdc +g_dbgp +g_ether +g_ffs +g_hid +g_mass_storage +g_midi +g_ncm +g_nokia +g_printer +g_serial +g_webcam +g_zero +gadgetfs +gamecon +gameport +garmin_gps +garp +gateworks-gsc +gb-audio-apbridgea +gb-audio-codec +gb-audio-gb +gb-audio-manager +gb-audio-module +gb-bootrom +gb-es2 +gb-firmware +gb-gbphy +gb-gpio +gb-hid +gb-i2c +gb-light +gb-log +gb-loopback +gb-power-supply +gb-pwm +gb-raw +gb-sdio +gb-spi +gb-spilib +gb-uart +gb-usb +gb-vibrator +gcc-apq8084 +gcc-ipq4019 +gcc-ipq6018 +gcc-ipq806x +gcc-ipq8074 +gcc-mdm9607 +gcc-mdm9615 +gcc-msm8660 +gcc-msm8916 +gcc-msm8939 +gcc-msm8953 +gcc-msm8960 +gcc-msm8974 +gcc-msm8976 +gcc-msm8994 +gcc-msm8996 +gcc-msm8998 +gcc-qcm2290 +gcc-qcs404 +gcc-sc7180 +gcc-sc7280 +gcc-sc8180x +gcc-sc8280xp +gcc-sdm660 +gcc-sdm845 +gcc-sdx55 +gcc-sdx65 +gcc-sm6115 +gcc-sm6125 +gcc-sm6350 +gcc-sm8150 +gcc-sm8250 +gcc-sm8350 +gcc-sm8450 +gdmtty +gdmulte +ge2d +gemini +gen_probe +generic +generic-adc-battery +genet +geneve +gf2k +gfs2 +ghash-arm-ce +gianfar_driver +gl518sm +gl520sm +gl620a +gluebi +gm12u320 +gnss +gnss-mtk +gnss-serial +gnss-sirf +gnss-ubx +gnss-usb +go7007 +go7007-loader +go7007-usb +goku_udc +goldfish_battery +goodix_ts +gp2ap002 +gp2ap020a00f +gp8psk-fe +gpi +gpio +gpio-74x164 +gpio-74xx-mmio +gpio-adnp +gpio-adp5520 +gpio-adp5588 +gpio-aggregator +gpio-altera +gpio-altera-a10sr +gpio-amd-fch +gpio-arizona +gpio-aspeed +gpio-bd71815 +gpio-bd71828 +gpio-bd9571mwv +gpio-beeper +gpio-cadence +gpio-charger +gpio-da9052 +gpio-da9055 +gpio-dln2 +gpio-dwapb +gpio-en7523 +gpio-exar +gpio-fan +gpio-grgpio +gpio-gw-pld +gpio-hlwd +gpio-ir-recv +gpio-ir-tx +gpio-janz-ttl +gpio-kempld +gpio-logicvc +gpio-lp3943 +gpio-lp873x +gpio-lp87565 +gpio-madera +gpio-max3191x +gpio-max7300 +gpio-max7301 +gpio-max730x +gpio-max732x +gpio-max77620 +gpio-max77650 +gpio-mb86s7x +gpio-mc33880 +gpio-menz127 +gpio-moxtet +gpio-pca953x +gpio-pca9570 +gpio-pcf857x +gpio-pci-idio-16 +gpio-pcie-idio-24 +gpio-pisosr +gpio-rcar +gpio-rdc321x +gpio-regulator +gpio-rockchip +gpio-sama5d2-piobu +gpio-sim +gpio-siox +gpio-syscon +gpio-tpic2810 +gpio-tps65086 +gpio-tps65218 +gpio-tps65912 +gpio-ts4800 +gpio-ts4900 +gpio-ucb1400 +gpio-vibra +gpio-viperboard +gpio-virtio +gpio-wcd934x +gpio-wm831x +gpio-wm8350 +gpio-wm8994 +gpio-xra1403 +gpio_backlight +gpio_decoder +gpio_keys +gpio_keys_polled +gpio_mouse +gpio_wdt +gpmi-nand +gpu-sched +gpucc-msm8998 +gpucc-sc7180 +gpucc-sc7280 +gpucc-sdm660 +gpucc-sdm845 +gpucc-sm6350 +gpucc-sm8150 +gpucc-sm8250 +gr_udc +grace +grcan +gre +greybus +grip +grip_mp +gs1662 +gs_usb +gsc-hwmon +gsc_hpdi +gspca_benq +gspca_conex +gspca_cpia1 +gspca_dtcs033 +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_jl2005bcd +gspca_kinect +gspca_konica +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_nw80x +gspca_ov519 +gspca_ov534 +gspca_ov534_9 +gspca_pac207 +gspca_pac7302 +gspca_pac7311 +gspca_se401 +gspca_sn9c2028 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca1528 +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_sq930x +gspca_stk014 +gspca_stk1135 +gspca_stv0680 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_topro +gspca_touptek +gspca_tv8532 +gspca_vc032x +gspca_vicam +gspca_xirlink_cit +gspca_zc3xx +gtp +gud +guillemot +gunze +gve +gxp-wdt +habanalabs +hackrf +hamachi +hampshire +hantro-vpu +hanwang +hci +hci_nokia +hci_uart +hci_vhci +hclge +hclgevf +hd3ss3220 +hd44780 +hd44780_common +hdc100x +hdc2010 +hdlc +hdlc_cisco +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdlcd +hdlcdrv +hdma +hdma_mgmt +hdpvr +he +helene +hellcreek_sw +hexium_gemini +hexium_orion +hfcmulti +hfcpci +hfcsusb +hfpll +hfs +hfsplus +hi311x +hi3660-mailbox +hi556 +hi6210-i2s +hi6220-mailbox +hi6220_reset +hi6421-pmic-core +hi6421-regulator +hi6421-spmi-pmic +hi6421v530-regulator +hi6421v600-irq +hi6421v600-regulator +hi655x-pmic +hi655x-regulator +hi8435 +hi846 +hi847 +hid +hid-a4tech +hid-accutouch +hid-alps +hid-apple +hid-appleir +hid-asus +hid-aureal +hid-axff +hid-belkin +hid-betopff +hid-bigbenff +hid-cherry +hid-chicony +hid-cmedia +hid-corsair +hid-cougar +hid-cp2112 +hid-creative-sb0540 +hid-cypress +hid-dr +hid-elan +hid-elecom +hid-elo +hid-emsff +hid-ezkey +hid-ft260 +hid-gaff +hid-gembird +hid-generic +hid-gfrm +hid-glorious +hid-google-hammer +hid-gt683r +hid-gyration +hid-holtek-kbd +hid-holtek-mouse +hid-holtekff +hid-icade +hid-ite +hid-jabra +hid-kensington +hid-keytouch +hid-kye +hid-lcpower +hid-led +hid-lenovo +hid-letsketch +hid-lg-g15 +hid-logitech +hid-logitech-dj +hid-logitech-hidpp +hid-macally +hid-magicmouse +hid-maltron +hid-mcp2221 +hid-megaworld +hid-mf +hid-microsoft +hid-monterey +hid-multitouch +hid-nintendo +hid-nti +hid-ntrig +hid-ortek +hid-penmount +hid-petalynx +hid-picolcd +hid-pl +hid-plantronics +hid-playstation +hid-primax +hid-prodikeys +hid-razer +hid-redragon +hid-retrode +hid-rmi +hid-roccat +hid-roccat-arvo +hid-roccat-common +hid-roccat-isku +hid-roccat-kone +hid-roccat-koneplus +hid-roccat-konepure +hid-roccat-kovaplus +hid-roccat-lua +hid-roccat-pyra +hid-roccat-ryos +hid-roccat-savu +hid-saitek +hid-samsung +hid-semitek +hid-sensor-accel-3d +hid-sensor-als +hid-sensor-custom +hid-sensor-custom-intel-hinge +hid-sensor-gyro-3d +hid-sensor-hub +hid-sensor-humidity +hid-sensor-iio-common +hid-sensor-incl-3d +hid-sensor-magn-3d +hid-sensor-press +hid-sensor-prox +hid-sensor-rotation +hid-sensor-temperature +hid-sensor-trigger +hid-sigmamicro +hid-sjoy +hid-sony +hid-speedlink +hid-steam +hid-steelseries +hid-sunplus +hid-thrustmaster +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-u2fzero +hid-uclogic +hid-udraw-ps3 +hid-viewsonic +hid-vivaldi +hid-vivaldi-common +hid-waltop +hid-wiimote +hid-xiaomi +hid-xinmo +hid-zpff +hid-zydacron +hideep +hidp +highbank-cpufreq +highbank_l2_edac +highbank_mc_edac +hih6130 +hip04_eth +hisi-rng +hisi-sfc +hisi-spmi-controller +hisi504_nand +hisi_femac +hisi_hikey_usb +hisi_powerkey +hisi_thermal +hix5hd2_gmac +hmc425a +hmc5843_core +hmc5843_i2c +hmc5843_spi +hmc6352 +hms-profinet +hnae +hnae3 +hns_dsaf +hns_enet_drv +hns_mdio +hopper +horus3a +host1x +hostap +hostap_pci +hostap_plx +hp03 +hp206c +hpfs +hpilo +hpsa +hptiop +hsi +hsi_char +hso +hsr +ht16k33 +htc-pasic3 +hts221 +hts221_i2c +hts221_spi +htu21 +huawei_cdc_ncm +hwmon-vid +hx711 +hx8357 +hx8357d +hycon-hy46xx +hyperbus-core +i2c-algo-bit +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-altera +i2c-amd756 +i2c-amd8111 +i2c-arb-gpio-challenge +i2c-aspeed +i2c-axxia +i2c-cbus-gpio +i2c-ccgx-ucsi +i2c-cp2615 +i2c-cros-ec-tunnel +i2c-demux-pinctrl +i2c-designware-pci +i2c-diolan-u2c +i2c-dln2 +i2c-fsi +i2c-gpio +i2c-hid +i2c-hid-of +i2c-hid-of-goodix +i2c-hix5hd2 +i2c-i801 +i2c-imx-lpi2c +i2c-isch +i2c-kempld +i2c-matroxfb +i2c-meson +i2c-mt65xx +i2c-mux +i2c-mux-gpio +i2c-mux-gpmux +i2c-mux-ltc4306 +i2c-mux-mlxcpld +i2c-mux-pca9541 +i2c-mux-pca954x +i2c-mux-pinctrl +i2c-mux-reg +i2c-mv64xxx +i2c-nforce2 +i2c-nomadik +i2c-npcm7xx +i2c-nvidia-gpu +i2c-ocores +i2c-owl +i2c-parport +i2c-pca-platform +i2c-piix4 +i2c-pxa +i2c-qcom-cci +i2c-qcom-geni +i2c-qup +i2c-rcar +i2c-riic +i2c-rk3x +i2c-robotfuzz-osif +i2c-sh_mobile +i2c-simtec +i2c-sis5595 +i2c-sis630 +i2c-sis96x +i2c-slave-eeprom +i2c-smbus +i2c-stub +i2c-taos-evm +i2c-tegra +i2c-tegra-bpmp +i2c-tiny-usb +i2c-versatile +i2c-via +i2c-viapro +i2c-viperboard +i2c-virtio +i2c-xiic +i3c +i3c-master-cdns +i40e +i5k_amb +i6300esb +i740fb +iavf +ib_cm +ib_core +ib_ipoib +ib_iser +ib_isert +ib_mthca +ib_srp +ib_srpt +ib_umad +ib_uverbs +ibm-cffps +ibmaem +ibmpex +icc-bcm-voter +icc-osm-l3 +icc-rpmh +icc-smd-rpm +ice +ice40-spi +icp10100 +icp_multi +icplus +ics932s401 +idma64 +idmouse +idt77252 +idt_89hpesx +idt_gen2 +idt_gen3 +idtcps +ieee802154 +ieee802154_6lowpan +ieee802154_socket +ifb +ifcvf +ife +ifi_canfd +iforce +iforce-serio +iforce-usb +igb +igbvf +igc +igorplugusb +iguanair +ii_pci20kc +iio-mux +iio-rescale +iio-trig-hrtimer +iio-trig-interrupt +iio-trig-loop +iio-trig-sysfs +iio_dummy +iio_hwmon +ila +ili210x +ili9163 +ili9225 +ili922x +ili9320 +ili9341 +ili9486 +ilitek_ts_i2c +imagis +img-ascii-lcd +img-i2s-in +img-i2s-out +img-parallel-out +img-spdif-in +img-spdif-out +imm +imon +imon_raw +impa7 +ims-pcu +imx-audio-rpmsg +imx-bus +imx-cpufreq-dt +imx-dma +imx-dsp +imx-interconnect +imx-ipu-v3 +imx-ldb +imx-mailbox +imx-media-common +imx-mipi-csis +imx-pcm-rpmsg +imx-pxp +imx-rngc +imx-sdma +imx-tve +imx-vdoa +imx208 +imx214 +imx219 +imx258 +imx274 +imx290 +imx2_wdt +imx319 +imx334 +imx335 +imx355 +imx412 +imx6-media +imx6-media-csi +imx6-mipi-csi2 +imx6q-cpufreq +imx6ul_tsc +imx7-media-csi +imx7d_adc +imx7ulp_wdt +imx8m-ddrc +imx8mm-interconnect +imx8mm_thermal +imx8mn-interconnect +imx8mq-interconnect +imx8mq-mipi-csi2 +imx8qxp-adc +imx_dsp_rproc +imx_keypad +imx_rproc +imx_sc_key +imx_sc_thermal +imx_sc_wdt +imx_thermal +imxdrm +imxfb +ina209 +ina238 +ina2xx +ina2xx-adc +ina3221 +industrialio +industrialio-buffer-cb +industrialio-buffer-dma +industrialio-buffer-dmaengine +industrialio-configfs +industrialio-hw-consumer +industrialio-sw-device +industrialio-sw-trigger +industrialio-triggered-buffer +industrialio-triggered-event +inet_diag +inexio +inftl +initio +input-leds +inspur-ipsps +int51x1 +intel-m10-bmc +intel-m10-bmc-hwmon +intel-nand-controller +intel-qep +intel-xway +intel_th +intel_th_gth +intel_th_msu +intel_th_msu_sink +intel_th_pci +intel_th_pti +intel_th_sth +intel_vr_nor +interact +interrupt-cnt +inv-icm42600 +inv-icm42600-i2c +inv-icm42600-spi +inv-mpu6050 +inv-mpu6050-i2c +inv-mpu6050-spi +io-domain +io_edgeport +io_ti +iosm +iova +iowarrior +ip5xxx_power +ip6_gre +ip6_tables +ip6_tunnel +ip6_udp_tunnel +ip6_vti +ip6t_NPT +ip6t_REJECT +ip6t_SYNPROXY +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_mh +ip6t_rpfilter +ip6t_rt +ip6t_srh +ip6table_filter +ip6table_mangle +ip6table_nat +ip6table_raw +ip6table_security +ip_gre +ip_set +ip_set_bitmap_ip +ip_set_bitmap_ipmac +ip_set_bitmap_port +ip_set_hash_ip +ip_set_hash_ipmac +ip_set_hash_ipmark +ip_set_hash_ipport +ip_set_hash_ipportip +ip_set_hash_ipportnet +ip_set_hash_mac +ip_set_hash_net +ip_set_hash_netiface +ip_set_hash_netnet +ip_set_hash_netport +ip_set_hash_netportnet +ip_set_list_set +ip_tables +ip_tunnel +ip_vs +ip_vs_dh +ip_vs_fo +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_mh +ip_vs_nq +ip_vs_ovf +ip_vs_pe_sip +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_twos +ip_vs_wlc +ip_vs_wrr +ip_vti +ipa +ipack +ipaq +ipcomp +ipcomp6 +iphase +ipheth +ipip +ipmb_dev_int +ipmi_devintf +ipmi_ipmb +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_ssif +ipmi_watchdog +ipoctal +ipr +iproc_nand +ips +ipt_CLUSTERIP +ipt_ECN +ipt_REJECT +ipt_SYNPROXY +ipt_ah +ipt_rpfilter +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +iptable_security +ipvlan +ipvtap +ipw +ipw2100 +ipw2200 +iqs269a +iqs5xx +iqs620at-temp +iqs621-als +iqs624-pos +iqs626a +iqs62x +iqs62x-keys +iqs7222 +ir-hix5hd2 +ir-imon-decoder +ir-jvc-decoder +ir-kbd-i2c +ir-mce_kbd-decoder +ir-nec-decoder +ir-rc5-decoder +ir-rc6-decoder +ir-rcmm-decoder +ir-rx51 +ir-sanyo-decoder +ir-sharp-decoder +ir-sony-decoder +ir-spi +ir-usb +ir-xmp-decoder +ir35221 +ir36021 +ir38064 +ir_toy +irdma +irps5401 +irq-madera +irq-pruss-intc +irq-qcom-mpm +irq-ts4800 +irqbypass +iscsi_boot_sysfs +iscsi_target_mod +iscsi_tcp +isdnhdlc +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl29125 +isl29501 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isl68137 +isl7998x +isl9305 +isofs +isp116x-hcd +isp1704_charger +isp1760 +it87 +it913x +itd1000 +ite-it6505 +ite-it66121 +itg3200 +iuu_phoenix +ivtv +ivtv-alsa +ivtvfb +iw_cm +iw_cxgb4 +iwl3945 +iwl4965 +iwldvm +iwlegacy +iwlmvm +iwlwifi +ix2505v +ixgb +ixgbe +ixgbevf +janz-cmodio +janz-ican3 +jc42 +jedec_probe +jffs2 +jfs +jmb38x_ms +jme +joydev +joydump +jr3_pci +jsa1212 +jsm +k3dma +kafs +kalmia +kaweth +kbic +kbtab +kcm +kcomedilib +kcs_bmc +kcs_bmc_aspeed +kcs_bmc_cdev_ipmi +kcs_bmc_npcm7xx +kcs_bmc_serio +ke_counter +kempld-core +kempld_wdt +kernelcapi +keyspan +keyspan_pda +keyspan_remote +keywrap +kfifo_buf +khadas-mcu +khadas_mcu_fan +kheaders +kl5kusb105 +kmx61 +kobil_sct +komeda +kpss-xcc +krait-cc +ks0108 +ks0127 +ks7010 +ks8842 +ks8851_common +ks8851_par +ks8851_spi +ksmbd +ksz8795 +ksz8795_spi +ksz884x +ksz8863_smi +ksz9477 +ksz9477_i2c +ksz9477_spi +ksz_common +ktd253-backlight +ktti +kvaser_pci +kvaser_pciefd +kvaser_usb +kxcjk-1013 +kxsd9 +kxsd9-i2c +kxsd9-spi +kxtj9 +kyber-iosched +kyrofb +l1oip +l2tp_core +l2tp_debugfs +l2tp_eth +l2tp_ip +l2tp_ip6 +l2tp_netlink +l2tp_ppp +l4f00242t03 +l64781 +lan743x +lan78xx +lan9303-core +lan9303_i2c +lan9303_mdio +lan966x-switch +lan966x_serdes +lanai +lantiq_gswip +lapb +lapbether +lattice-ecp3-config +lcc-ipq806x +lcc-mdm9615 +lcc-msm8960 +lcd +lcd2s +ldusb +lec +led-class-flash +led-class-multicolor +led_bl +leds-88pm860x +leds-aat1290 +leds-acer-a500 +leds-adp5520 +leds-an30259a +leds-as3645a +leds-aw2013 +leds-bcm6328 +leds-bcm6358 +leds-bd2802 +leds-blinkm +leds-cpcap +leds-cr0014114 +leds-da903x +leds-da9052 +leds-dac124s085 +leds-el15203000 +leds-gpio +leds-is31fl319x +leds-is31fl32xx +leds-ktd2692 +leds-lm3530 +leds-lm3532 +leds-lm3533 +leds-lm355x +leds-lm3601x +leds-lm36274 +leds-lm3642 +leds-lm3692x +leds-lm3697 +leds-lp3944 +leds-lp3952 +leds-lp50xx +leds-lp5521 +leds-lp5523 +leds-lp5562 +leds-lp55xx-common +leds-lp8501 +leds-lp8788 +leds-lp8860 +leds-lt3593 +leds-max77650 +leds-max77693 +leds-max8997 +leds-mc13783 +leds-menf21bmc +leds-mlxreg +leds-mt6323 +leds-mt6360 +leds-ns2 +leds-pca9532 +leds-pca955x +leds-pca963x +leds-pm8058 +leds-pwm +leds-pwm-multicolor +leds-qcom-lpg +leds-regulator +leds-rt4505 +leds-rt8515 +leds-sgm3140 +leds-spi-byte +leds-tca6507 +leds-ti-lmu-common +leds-tlc591xx +leds-tps6105x +leds-turris-omnia +leds-wm831x-status +leds-wm8350 +ledtrig-activity +ledtrig-audio +ledtrig-backlight +ledtrig-camera +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-netdev +ledtrig-oneshot +ledtrig-pattern +ledtrig-timer +ledtrig-transient +ledtrig-tty +ledtrig-usbport +legousbtower +lg-vl600 +lg2160 +lgdt3305 +lgdt3306a +lgdt330x +lgs8gl5 +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libarc4 +libceph +libchacha +libchacha20poly1305 +libcomposite +libcrc32c +libcurve25519 +libcurve25519-generic +libcxgb +libcxgbi +libdes +libertas +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libpoly1305 +libsas +lightning +lima +line-display +lineage-pem +linear +linkstation-poweroff +lis3lv02d +lis3lv02d_i2c +lis3lv02d_spi +liteuart +litex_liteeth +litex_mmc +litex_soc_ctrl +lkkbd +ll_temac +llc +llc2 +llcc-qcom +lm25066 +lm3533-als +lm3533-core +lm3533-ctrlbank +lm3533_bl +lm3560 +lm3630a_bl +lm3639_bl +lm363x-regulator +lm3646 +lm63 +lm70 +lm73 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm8333 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95234 +lm95241 +lm95245 +lmh +lmp91000 +lms283gf05 +lms501kf03 +lnbh25 +lnbh29 +lnbp21 +lnbp22 +lochnagar-hwmon +lochnagar-regulator +lockd +lontium-lt8912b +lontium-lt9211 +lontium-lt9611 +lontium-lt9611uxc +lp +lp3943 +lp3971 +lp3972 +lp855x_bl +lp8727_charger +lp872x +lp873x +lp873x-regulator +lp8755 +lp87565 +lp87565-regulator +lp8788-buck +lp8788-charger +lp8788-ldo +lp8788_adc +lp8788_bl +lpass-gfm-sm8250 +lpassaudiocc-sc7280 +lpasscc-sc7280 +lpasscc-sdm845 +lpasscorecc-sc7180 +lpasscorecc-sc7280 +lpc_ich +lpc_sch +lpddr2_nvm +lpddr_cmds +lpfc +lru_cache +lrw +lt3651-charger +ltc1660 +ltc2471 +ltc2485 +ltc2496 +ltc2497 +ltc2497-core +ltc2632 +ltc2688 +ltc2941-battery-gauge +ltc2945 +ltc2947-core +ltc2947-i2c +ltc2947-spi +ltc2978 +ltc2983 +ltc2990 +ltc2992 +ltc3589 +ltc3676 +ltc3815 +ltc4151 +ltc4162-l-charger +ltc4215 +ltc4222 +ltc4245 +ltc4260 +ltc4261 +ltr501 +ltv350qv +lv0104cs +lv5207lp +lvds-codec +lvstest +lxt +lz4 +lz4_compress +lz4hc +lz4hc_compress +m2m-deinterlace +m52790 +m5mols +m62332 +m88ds3103 +m88rs2000 +m88rs6000t +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +m_can +m_can_pci +m_can_platform +mac-celtic +mac-centeuro +mac-croatian +mac-cyrillic +mac-gaelic +mac-greek +mac-iceland +mac-inuit +mac-roman +mac-romanian +mac-turkish +mac80211 +mac80211_hwsim +mac802154 +mac802154_hwsim +macb +macb_pci +machxo2-spi +macmodes +macsec +macvlan +macvtap +madera +madera-i2c +madera-spi +mag3110 +magellan +mailbox-altera +mailbox-test +mali-dp +mantis +mantis_core +map_absent +map_ram +map_rom +marvell +marvell-88x2222 +marvell-cesa +marvell10g +marvell_nand +matrix-keymap +matrix_keypad +matrox_w1 +matroxfb_DAC1064 +matroxfb_Ti3026 +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +max1027 +max11100 +max1111 +max1118 +max11801_ts +max1241 +max127 +max1363 +max14577-regulator +max14577_charger +max14656_charger_detector +max15301 +max1586 +max16064 +max16065 +max1619 +max16601 +max1668 +max17040_battery +max17042_battery +max1721x_battery +max197 +max20086-regulator +max20730 +max20751 +max2165 +max2175 +max30100 +max30102 +max3100 +max31722 +max31730 +max31785 +max31790 +max31856 +max31865 +max3420_udc +max3421-hcd +max34440 +max44000 +max44009 +max517 +max5432 +max5481 +max5487 +max5821 +max63xx_wdt +max6620 +max6621 +max6639 +max6642 +max6650 +max6697 +max6875 +max7359_keypad +max77620-regulator +max77620_thermal +max77620_wdt +max77650 +max77650-charger +max77650-onkey +max77650-regulator +max77686-regulator +max77693-haptic +max77693-regulator +max77693_charger +max77714 +max77802-regulator +max77826-regulator +max77976_charger +max8649 +max8660 +max8688 +max8893 +max8903_charger +max8907 +max8907-regulator +max8925-regulator +max8925_bl +max8925_onkey +max8925_power +max8952 +max8973-regulator +max8997-regulator +max8997_charger +max8997_haptic +max8998 +max8998_charger +max9271 +max9286 +max9611 +max96712 +maxim_thermocouple +mb1232 +mb862xxfb +mb86a16 +mb86a20s +mc +mc13783-adc +mc13783-pwrbutton +mc13783-regulator +mc13783_ts +mc13892-regulator +mc13xxx-core +mc13xxx-i2c +mc13xxx-regulator-core +mc13xxx-spi +mc3230 +mc44s803 +mcam-core +mcb +mcb-lpc +mcb-pci +mcba_usb +mcde_drm +mceusb +mchp23k256 +mchp48l640 +mcp16502 +mcp251x +mcp251xfd +mcp3021 +mcp320x +mcp3422 +mcp3911 +mcp4018 +mcp41010 +mcp4131 +mcp4531 +mcp4725 +mcp4922 +mcr20a +mcs5000_ts +mcs7830 +mcs_touchkey +mct_u232 +mctp-i2c +mctp-serial +md-cluster +md4 +mdc800 +mdev +mdio +mdio-aspeed +mdio-bcm-unimac +mdio-gpio +mdio-hisi-femac +mdio-i2c +mdio-ipq4019 +mdio-ipq8064 +mdio-mscc-miim +mdio-mux +mdio-mux-gpio +mdio-mux-meson-g12a +mdio-mux-mmioreg +mdio-mux-multiplexer +mdio-mvusb +mdt_loader +me4000 +me_daq +mediatek +mediatek-cpufreq +mediatek-cpufreq-hw +mediatek-drm +mediatek-drm-hdmi +mediatek-ge +megachips-stdpxxxx-ge-b850v3-fw +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +melfas_mip4 +memstick +men_z135_uart +men_z188_adc +mena21_wdt +menf21bmc +menf21bmc_hwmon +menf21bmc_wdt +menz69_wdt +meson-canvas +meson-drm +meson-gx-mmc +meson-gxl +meson-ir +meson-ir-tx +meson-mx-sdhc +meson-mx-sdio +meson-rng +meson-vdec +meson_dw_hdmi +meson_gxbb_wdt +meson_mx_ao_arc +meson_nand +meson_saradc +meson_wdt +metro-usb +metronomefb +mf6x4 +mgag200 +mhi +mhi_ep +mhi_net +mhi_pci_generic +mhi_wwan_ctrl +mhi_wwan_mbim +mi0283qt +michael_mic +micrel +microchip +microchip-tcb-capture +microchip_t1 +microread +microread_i2c +microtek +milbeaut-hdmac +milbeaut-xdmac +milbeaut_usio +minix +mip6 +mipi-i3c-hci +mite +mk712 +mkiss +ml86v7667 +mlx4_core +mlx4_en +mlx4_ib +mlx5-vfio-pci +mlx5_core +mlx5_ib +mlx5_vdpa +mlx90614 +mlx90632 +mlx_wdt +mlxfw +mlxreg-fan +mlxreg-hotplug +mlxreg-io +mlxreg-lc +mlxsw_core +mlxsw_i2c +mlxsw_minimal +mlxsw_pci +mlxsw_spectrum +mma7455_core +mma7455_i2c +mma7455_spi +mma7660 +mma8450 +mma8452 +mma9551 +mma9551_core +mma9553 +mmc35240 +mmc_spi +mmcc-apq8084 +mmcc-msm8960 +mmcc-msm8974 +mmcc-msm8994 +mmcc-msm8996 +mmcc-msm8998 +mmcc-sdm660 +mms114 +mn88443x +mn88472 +mn88473 +mos7720 +mos7840 +most_cdev +most_core +most_dim2 +most_i2c +most_net +most_snd +most_usb +most_video +motorcomm +motorola-cpcap +moxa +moxtet +mp2629 +mp2629_adc +mp2629_charger +mp2888 +mp2975 +mp5023 +mp5416 +mp8859 +mp886x +mpc624 +mpi3mr +mpl115 +mpl115_i2c +mpl115_spi +mpl3115 +mpls_gso +mpls_iptunnel +mpls_router +mpoa +mpq7920 +mpr121_touchkey +mpt3sas +mptbase +mptcp_diag +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mr75203 +mrf24j40 +mrp +ms5611_core +ms5611_i2c +ms5611_spi +ms5637 +ms_block +ms_sensors_i2c +msc313e_wdt +mscc +mscc_felix +mscc_ocelot +mscc_ocelot_switch_lib +mscc_seville +msdos +mse102x +msg2638 +msi001 +msi2500 +msm +msp3400 +mspro_block +mss-sc7180 +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt6311-regulator +mt6315-regulator +mt6323-regulator +mt6358-regulator +mt6359-accdet +mt6359-regulator +mt6360-adc +mt6360-core +mt6360-regulator +mt6360_charger +mt6380-regulator +mt6397 +mt6397-regulator +mt6577_auxadc +mt6779-keypad +mt6797-mt6351 +mt7530 +mt76 +mt76-connac-lib +mt76-sdio +mt76-usb +mt7601u +mt7603e +mt7615-common +mt7615e +mt7663-usb-sdio-common +mt7663s +mt7663u +mt76x0-common +mt76x02-lib +mt76x02-usb +mt76x0e +mt76x0u +mt76x2-common +mt76x2e +mt76x2u +mt7915e +mt7921-common +mt7921e +mt7921s +mt7921u +mt8183-da7219-max98357 +mt8183-mt6358-ts3a227-max98357 +mt8192-mt6359-rt1015-rt5682 +mt8195-mt6359 +mt9m001 +mt9m032 +mt9m111 +mt9p031 +mt9t001 +mt9t112 +mt9v011 +mt9v032 +mt9v111 +mtd_dataflash +mtdoops +mtdpstore +mtdram +mtdswap +mtip32xx +mtk-adsp-ipc +mtk-adsp-mailbox +mtk-btcvsd +mtk-cir +mtk-cmdq-helper +mtk-cmdq-mailbox +mtk-cqdma +mtk-devapc +mtk-hsdma +mtk-pmic-keys +mtk-pmic-wrap +mtk-rng +mtk-sd +mtk-smi +mtk-uart-apdma +mtk-vpu +mtk_nand +mtk_rpmsg +mtk_scp +mtk_scp_ipi +mtk_t7xx +mtk_thermal +mtk_wdt +mtouch +mtu3 +multipath +multiq3 +musb_dsps +mux-adg792a +mux-adgs1408 +mux-core +mux-gpio +mux-mmio +mv643xx_eth +mv88e6060 +mv88e6xxx +mv_u3d_core +mv_udc +mvmdio +mvneta +mvpp2 +mvsas +mvsdio +mvumi +mwifiex +mwifiex_pcie +mwifiex_sdio +mwifiex_usb +mwl8k +mxb +mxc-jpeg-encdec +mxc4005 +mxc6255 +mxc_nand +mxc_w1 +mxcmmc +mxic_nand +mxl-gpy +mxl111sf-demod +mxl111sf-tuner +mxl301rf +mxl5005s +mxl5007t +mxl5xx +mxl692 +mxser +mxsfb +mxuport +myrb +myri10ge +myrs +n_gsm +n_hdlc +nandsim +national +natsemi +nau7802 +navman +nbd +nbpfaxi +nci +nci_spi +nci_uart +nct6683 +nct6775 +nct6775-core +nct6775-i2c +nct7802 +nct7904 +nd_btt +nd_pmem +nd_virtio +ne2k-pci +neofb +net1080 +net2272 +net2280 +net_failover +netconsole +netdevsim +netfs +netjet +netlink_diag +netrom +netup-unidvb +netxen_nic +newtonkbd +nf_conncount +nf_conntrack +nf_conntrack_amanda +nf_conntrack_bridge +nf_conntrack_broadcast +nf_conntrack_ftp +nf_conntrack_h323 +nf_conntrack_irc +nf_conntrack_netbios_ns +nf_conntrack_netlink +nf_conntrack_pptp +nf_conntrack_sane +nf_conntrack_sip +nf_conntrack_snmp +nf_conntrack_tftp +nf_defrag_ipv4 +nf_defrag_ipv6 +nf_dup_ipv4 +nf_dup_ipv6 +nf_dup_netdev +nf_flow_table +nf_flow_table_inet +nf_log_syslog +nf_nat +nf_nat_amanda +nf_nat_ftp +nf_nat_h323 +nf_nat_irc +nf_nat_pptp +nf_nat_sip +nf_nat_snmp_basic +nf_nat_tftp +nf_reject_ipv4 +nf_reject_ipv6 +nf_socket_ipv4 +nf_socket_ipv6 +nf_synproxy_core +nf_tables +nf_tproxy_ipv4 +nf_tproxy_ipv6 +nfc +nfc_digital +nfcmrvl +nfcmrvl_i2c +nfcmrvl_spi +nfcmrvl_uart +nfcmrvl_usb +nfcsim +nfnetlink +nfnetlink_acct +nfnetlink_cthelper +nfnetlink_cttimeout +nfnetlink_hook +nfnetlink_log +nfnetlink_osf +nfnetlink_queue +nfp +nfs +nfs_acl +nfs_layout_flexfiles +nfs_layout_nfsv41_files +nfsd +nfsv2 +nfsv3 +nfsv4 +nft_chain_nat +nft_compat +nft_connlimit +nft_ct +nft_dup_ipv4 +nft_dup_ipv6 +nft_dup_netdev +nft_fib +nft_fib_inet +nft_fib_ipv4 +nft_fib_ipv6 +nft_fib_netdev +nft_flow_offload +nft_fwd_netdev +nft_hash +nft_limit +nft_log +nft_masq +nft_meta_bridge +nft_nat +nft_numgen +nft_objref +nft_osf +nft_queue +nft_quota +nft_redir +nft_reject +nft_reject_bridge +nft_reject_inet +nft_reject_ipv4 +nft_reject_ipv6 +nft_reject_netdev +nft_socket +nft_synproxy +nft_tproxy +nft_tunnel +nft_xfrm +nftl +ngene +nhc_dest +nhc_fragment +nhc_hop +nhc_ipv6 +nhc_mobility +nhc_routing +nhc_udp +nhpoly1305 +nhpoly1305-neon +ni_6527 +ni_65xx +ni_660x +ni_670x +ni_at_a2150 +ni_at_ao +ni_atmio +ni_atmio16d +ni_labpc +ni_labpc_common +ni_labpc_pci +ni_pcidio +ni_pcimio +ni_routes_test +ni_routing +ni_tio +ni_tiocmd +ni_usb6501 +nicstar +nilfs2 +niu +nixge +nlmon +nls_ascii +nls_cp1250 +nls_cp1251 +nls_cp1255 +nls_cp737 +nls_cp775 +nls_cp850 +nls_cp852 +nls_cp855 +nls_cp857 +nls_cp860 +nls_cp861 +nls_cp862 +nls_cp863 +nls_cp864 +nls_cp865 +nls_cp866 +nls_cp869 +nls_cp874 +nls_cp932 +nls_cp936 +nls_cp949 +nls_cp950 +nls_euc-jp +nls_iso8859-1 +nls_iso8859-13 +nls_iso8859-14 +nls_iso8859-15 +nls_iso8859-2 +nls_iso8859-3 +nls_iso8859-4 +nls_iso8859-5 +nls_iso8859-6 +nls_iso8859-7 +nls_iso8859-9 +nls_koi8-r +nls_koi8-ru +nls_koi8-u +nls_utf8 +noa1305 +noon010pc30 +nosy +notifier-error-inject +nouveau +nozomi +npcm-rng +npcm750-pwm-fan +npcm_adc +nps_enet +ns558 +ns83820 +nsh +nsp32 +ntb +ntb_hw_epf +ntb_hw_idt +ntb_hw_switchtec +ntb_netdev +ntb_perf +ntb_pingpong +ntb_tool +ntb_transport +ntc_thermistor +ntfs +ntfs3 +ntxec +null_blk +nvec +nvec_kbd +nvec_paz00 +nvec_power +nvec_ps2 +nvidiafb +nvme +nvme-core +nvme-fabrics +nvme-fc +nvme-loop +nvme-rdma +nvme-tcp +nvmem-imx-iim +nvmem-imx-ocotp +nvmem-imx-ocotp-scu +nvmem-rave-sp-eeprom +nvmem-reboot-mode +nvmem-rmem +nvmem-rockchip-otp +nvmem_meson_mx_efuse +nvmem_qcom-spmi-sdam +nvmem_qfprom +nvmem_rockchip_efuse +nvmem_snvs_lpgpr +nvmet +nvmet-fc +nvmet-rdma +nvmet-tcp +nvsw-sn2201 +nwl-dsi +nxp-c45-tja11xx +nxp-nci +nxp-nci_i2c +nxp-ptn3460 +nxp-tja11xx +nxt200x +nxt6000 +nzxt-kraken2 +nzxt-smart2 +objagg +ocfb +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stack_o2cb +ocfs2_stack_user +ocfs2_stackglue +ocmem +ocrdma +of-fpga-region +of_mmc_spi +of_pmem +of_xilinx_wdt +ofb +og01a1b +ohci-platform +omap +omap-aes-driver +omap-crypto +omap-des +omap-mailbox +omap-ocp2scp +omap-rng +omap-sham +omap2430 +omap2fb +omap4-keypad +omap_hdq +omap_hwspinlock +omap_remoteproc +omap_wdt +omapdss +omfs +omninet +on20 +on26 +onenand +open-dice +opencores-kbd +openvswitch +opt3001 +optee +optee-rng +opticon +option +or51132 +or51211 +orangefs +orinoco +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +orion_nand +orion_wdt +oti6858 +otm3225a +ov02a10 +ov08d10 +ov13858 +ov13b10 +ov2640 +ov2659 +ov2680 +ov2685 +ov5640 +ov5645 +ov5647 +ov5648 +ov5670 +ov5675 +ov5693 +ov5695 +ov6650 +ov7251 +ov7640 +ov7670 +ov772x +ov7740 +ov8856 +ov8865 +ov9282 +ov9640 +ov9650 +overlay +owl-dma +owl-emac +owl-mmc +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8022 +pa12203001 +palmas-pwrbutton +palmas-regulator +palmas_gpadc +pandora_bl +panel +panel-abt-y030xx067a +panel-arm-versatile +panel-asus-z00t-tm5p5-n35596 +panel-boe-bf060y8m-aj0 +panel-boe-himax8279d +panel-boe-tv101wum-nl6 +panel-dsi-cm +panel-edp +panel-elida-kd35t133 +panel-feixin-k101-im2ba02 +panel-feiyang-fy07024di26a30d +panel-ilitek-ili9322 +panel-ilitek-ili9341 +panel-ilitek-ili9881c +panel-innolux-ej030na +panel-innolux-p079zca +panel-jdi-fhd-r63452 +panel-jdi-lt070me05000 +panel-khadas-ts050 +panel-kingdisplay-kd097d04 +panel-leadtek-ltk050h3146w +panel-leadtek-ltk500hd1829 +panel-lg-lb035q02 +panel-lg-lg4573 +panel-lvds +panel-mantix-mlaf057we51 +panel-mipi-dbi +panel-nec-nl8048hl11 +panel-newvision-nv3052c +panel-novatek-nt35510 +panel-novatek-nt35560 +panel-novatek-nt35950 +panel-novatek-nt36672a +panel-novatek-nt39016 +panel-olimex-lcd-olinuxino +panel-orisetech-otm8009a +panel-osd-osd101t2587-53ts +panel-panasonic-vvx10f034n00 +panel-raspberrypi-touchscreen +panel-raydium-rm67191 +panel-raydium-rm68200 +panel-ronbo-rb070d30 +panel-samsung-atna33xc20 +panel-samsung-db7430 +panel-samsung-ld9040 +panel-samsung-s6d16d0 +panel-samsung-s6d27a1 +panel-samsung-s6e3ha2 +panel-samsung-s6e63j0x03 +panel-samsung-s6e63m0 +panel-samsung-s6e63m0-dsi +panel-samsung-s6e63m0-spi +panel-samsung-s6e88a0-ams452ef01 +panel-samsung-s6e8aa0 +panel-samsung-sofef00 +panel-seiko-43wvf1g +panel-sharp-lq101r1sx01 +panel-sharp-ls037v7dw01 +panel-sharp-ls043t1le01 +panel-sharp-ls060t1sx01 +panel-simple +panel-sitronix-st7701 +panel-sitronix-st7703 +panel-sitronix-st7789v +panel-sony-acx565akm +panel-sony-tulip-truly-nt35521 +panel-tdo-tl070wsh30 +panel-tpo-td028ttec1 +panel-tpo-td043mtea1 +panel-tpo-tpg110 +panel-truly-nt35597 +panel-visionox-rm69299 +panel-widechips-ws2401 +panel-xinpeng-xpp055c272 +panfrost +parade-ps8622 +parade-ps8640 +parallel-display +paride +parkbd +parman +parport +parport_ax88796 +parport_pc +parport_serial +parser_trx +pata_ali +pata_amd +pata_artop +pata_atiixp +pata_atp867x +pata_cmd640 +pata_cmd64x +pata_cypress +pata_efar +pata_hpt366 +pata_hpt37x +pata_hpt3x2n +pata_hpt3x3 +pata_imx +pata_it8213 +pata_it821x +pata_jmicron +pata_legacy +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_ns87410 +pata_ns87415 +pata_of_platform +pata_oldpiix +pata_opti +pata_optidma +pata_pdc2027x +pata_pdc202xx_old +pata_piccolo +pata_platform +pata_radisys +pata_rdc +pata_rz1000 +pata_sch +pata_serverworks +pata_sil680 +pata_sis +pata_sl82c105 +pata_triflex +pata_via +pbias-regulator +pc300too +pc87360 +pc87427 +pca9450-regulator +pcap-regulator +pcap_keys +pcap_ts +pcbc +pcd +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pch_udc +pci +pci-dra7xx +pci-epf-ntb +pci-pf-stub +pci-stub +pci200syn +pcie-mediatek-gen3 +pcie-qcom-ep +pcie-rockchip-host +pcips2 +pcl711 +pcl724 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcmad +pcmcia_core +pcmcia_rsrc +pcmda12 +pcmmio +pcmuio +pcnet32 +pcrypt +pcs-lynx +pcs_xpcs +pcwd_pci +pcwd_usb +pd +pda_power +pdc_adma +pdr_interface +peak_pci +peak_pciefd +peak_usb +peci +peci-aspeed +peci-cpu +peci-cputemp +peci-dimmtemp +pegasus +pegasus_notetaker +penmount +pf +pf8x00-regulator +pfuze100-regulator +pg +phantom +phonet +phram +phy-am335x +phy-am335x-control +phy-armada38x-comphy +phy-bcm-kona-usb2 +phy-berlin-sata +phy-berlin-usb +phy-cadence-salvo +phy-cadence-sierra +phy-cadence-torrent +phy-can-transceiver +phy-cpcap-usb +phy-dm816x-usb +phy-exynos-usb2 +phy-gpio-vbus-usb +phy-hix5hd2-sata +phy-isp1301 +phy-mapphone-mdm6600 +phy-meson-axg-mipi-dphy +phy-meson-g12a-usb2 +phy-meson-g12a-usb3-pcie +phy-meson-gxl-usb2 +phy-meson8-hdmi-tx +phy-meson8b-usb2 +phy-mtk-hdmi-drv +phy-mtk-mipi-dsi-drv +phy-mtk-tphy +phy-mtk-ufs +phy-mtk-xsphy +phy-mvebu-a3700-comphy +phy-mvebu-a3700-utmi +phy-mvebu-cp110-comphy +phy-mvebu-cp110-utmi +phy-ocelot-serdes +phy-omap-control +phy-omap-usb2 +phy-pxa-28nm-hsic +phy-pxa-28nm-usb2 +phy-qcom-apq8064-sata +phy-qcom-edp +phy-qcom-ipq4019-usb +phy-qcom-ipq806x-sata +phy-qcom-ipq806x-usb +phy-qcom-pcie2 +phy-qcom-qmp +phy-qcom-qusb2 +phy-qcom-snps-femto-v2 +phy-qcom-usb-hs +phy-qcom-usb-hs-28nm +phy-qcom-usb-hsic +phy-qcom-usb-ss +phy-rcar-gen2 +phy-rcar-gen3-pcie +phy-rcar-gen3-usb2 +phy-rcar-gen3-usb3 +phy-rockchip-dp +phy-rockchip-dphy-rx0 +phy-rockchip-emmc +phy-rockchip-inno-csidphy +phy-rockchip-inno-dsidphy +phy-rockchip-inno-hdmi +phy-rockchip-inno-usb2 +phy-rockchip-naneng-combphy +phy-rockchip-pcie +phy-rockchip-typec +phy-rockchip-usb +phy-tahvo +phy-tegra-usb +phy-tegra-xusb +phy-ti-pipe3 +phy-tusb1210 +phy-twl4030-usb +phy-twl6030-usb +phylink +physmap +pi3usb30532 +pi433 +pim4328 +pinctrl-apq8064 +pinctrl-apq8084 +pinctrl-axp209 +pinctrl-da9062 +pinctrl-imx8ulp +pinctrl-imx93 +pinctrl-ipq4019 +pinctrl-ipq6018 +pinctrl-ipq8064 +pinctrl-ipq8074 +pinctrl-lochnagar +pinctrl-lpass-lpi +pinctrl-madera +pinctrl-max77620 +pinctrl-mcp23s08 +pinctrl-mcp23s08_i2c +pinctrl-mcp23s08_spi +pinctrl-mdm9607 +pinctrl-mdm9615 +pinctrl-msm8226 +pinctrl-msm8660 +pinctrl-msm8916 +pinctrl-msm8953 +pinctrl-msm8960 +pinctrl-msm8976 +pinctrl-msm8994 +pinctrl-msm8996 +pinctrl-msm8998 +pinctrl-msm8x74 +pinctrl-qcm2290 +pinctrl-qcs404 +pinctrl-rk805 +pinctrl-sc7180 +pinctrl-sc7280 +pinctrl-sc7280-lpass-lpi +pinctrl-sc8180x +pinctrl-sc8280xp +pinctrl-sdm660 +pinctrl-sdm845 +pinctrl-sdx55 +pinctrl-sdx65 +pinctrl-sm6115 +pinctrl-sm6125 +pinctrl-sm6350 +pinctrl-sm8150 +pinctrl-sm8250 +pinctrl-sm8250-lpass-lpi +pinctrl-sm8350 +pinctrl-sm8450 +pinctrl-spmi-gpio +pinctrl-spmi-mpp +pinctrl-ssbi-gpio +pinctrl-ssbi-mpp +pinctrl-stmfx +ping +pistachio-internal-dac +pixcir_i2c_ts +pkcs7_test_key +pkcs8_key_parser +pktcdvd +pktgen +pl111_drm +pl172 +pl2303 +pl330 +pl353-smc +pl35x-nand-controller +plat-ram +plat_nand +platform_lcd +platform_mhu +plfxlc +pli1209bc +plip +plusb +pluto2 +plx_dma +plx_pci +pm-notifier-error-inject +pm2fb +pm3fb +pm6764tr +pm80xx +pm8916_wdt +pm8941-pwrkey +pm8xxx-vibrator +pmbus +pmbus_core +pmc551 +pmcraid +pmic8xxx-keypad +pmic8xxx-pwrkey +pms7003 +pn532_uart +pn533 +pn533_i2c +pn533_usb +pn544 +pn544_i2c +pn_pep +poly1305-arm +poly1305_generic +port100 +powermate +powr1220 +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +ppp_synctty +pppoatm +pppoe +pppox +pps-gpio +pps-ldisc +pps_parport +pptp +prestera +prestera_pci +pretimeout_panic +prism2_usb +pru_rproc +pruss +ps2-gpio +ps2mult +psample +psmouse +psnap +pstore_blk +pstore_zone +psxpad-spi +pt +ptp-qoriq +ptp_clockmatrix +ptp_idt82p33 +ptp_ines +ptp_kvm +ptp_ocp +pulse8-cec +pulsedlight-lidar-lite-v2 +pv88060-regulator +pv88080-regulator +pv88090-regulator +pvpanic +pvpanic-mmio +pvpanic-pci +pvrusb2 +pwc +pwm-atmel-hlcdc +pwm-atmel-tcb +pwm-beeper +pwm-berlin +pwm-cros-ec +pwm-dwc +pwm-fan +pwm-fsl-ftm +pwm-hibvt +pwm-imx-tpm +pwm-imx1 +pwm-imx27 +pwm-iqs620a +pwm-ir-tx +pwm-lp3943 +pwm-mediatek +pwm-meson +pwm-mtk-disp +pwm-ntxec +pwm-omap-dmtimer +pwm-pca9685 +pwm-rcar +pwm-regulator +pwm-renesas-tpu +pwm-rockchip +pwm-tegra +pwm-tiecap +pwm-tiehrpwm +pwm-twl +pwm-twl-led +pwm-vibra +pwm-xilinx +pwm_bl +pwrseq_emmc +pwrseq_sd8787 +pwrseq_simple +pxa168_eth +pxa27x_udc +pxe1610 +pxrc +q54sj108a2 +q6adm +q6afe +q6afe-clocks +q6afe-dai +q6apm-dai +q6apm-lpass-dais +q6asm +q6asm-dai +q6core +q6prm +q6prm-clocks +q6routing +q6sstop-qcs404 +qca8k +qca_7k_common +qcaspi +qcauart +qcaux +qcom-apcs-ipc-mailbox +qcom-coincell +qcom-cpufreq-hw +qcom-cpufreq-nvmem +qcom-emac +qcom-geni-se +qcom-labibb-regulator +qcom-pm8008 +qcom-pm8xxx +qcom-pm8xxx-xoadc +qcom-pmic-typec +qcom-pon +qcom-rng +qcom-rpmh-regulator +qcom-spmi-adc-tm5 +qcom-spmi-adc5 +qcom-spmi-iadc +qcom-spmi-pmic +qcom-spmi-temp-alarm +qcom-spmi-vadc +qcom-vadc-common +qcom-wdt +qcom-wled +qcom_aoss +qcom_bam_dmux +qcom_common +qcom_edac +qcom_eud +qcom_geni_serial +qcom_glink +qcom_glink_rpm +qcom_glink_smem +qcom_gsbi +qcom_hwspinlock +qcom_nandc +qcom_pil_info +qcom_q6v5 +qcom_q6v5_adsp +qcom_q6v5_mss +qcom_q6v5_pas +qcom_q6v5_wcss +qcom_rpm +qcom_rpm-regulator +qcom_smbb +qcom_smd +qcom_smd-regulator +qcom_spmi-regulator +qcom_stats +qcom_sysmon +qcom_tsens +qcom_usb_vbus-regulator +qcomsmempart +qcrypto +qcserial +qed +qede +qedf +qedi +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qm1d1b0004 +qm1d1c0042 +qmi_helpers +qmi_wwan +qnoc-msm8916 +qnoc-msm8939 +qnoc-msm8974 +qnoc-msm8996 +qnoc-qcm2290 +qnoc-qcs404 +qnoc-sc7180 +qnoc-sc7280 +qnoc-sc8180x +qnoc-sc8280xp +qnoc-sdm660 +qnoc-sdm845 +qnoc-sdx55 +qnoc-sdx65 +qnoc-sm8150 +qnoc-sm8250 +qnoc-sm8350 +qnoc-sm8450 +qnx4 +qnx6 +qrtr +qrtr-mhi +qrtr-smd +qrtr-tun +qsemi +qt1010 +qt1050 +qt1070 +qt2160 +qtnfmac +qtnfmac_pcie +quatech2 +quota_tree +quota_v1 +quota_v2 +qwiic-joystick +qxl +r592 +r6040 +r8152 +r8153_ecm +r8169 +r8188eu +r8192e_pci +r8192u_usb +r820t +r852 +r8712u +r8723bs +r8a66597-hcd +r8a66597-udc +radeon +radeonfb +radio-keene +radio-ma901 +radio-maxiradio +radio-mr800 +radio-platform-si4713 +radio-raremono +radio-shark +radio-si470x-common +radio-si470x-i2c +radio-si470x-usb +radio-si476x +radio-tea5764 +radio-usb-si4713 +radio-wl1273 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid_class +rainshadow-cec +ravb +rave-sp +rave-sp-backlight +rave-sp-pwrbutton +rave-sp-wdt +raw_diag +raw_gadget +raydium_i2c_ts +rbd +rc-adstech-dvb-t-pci +rc-alink-dtu-m +rc-anysee +rc-apac-viewcomp +rc-astrometa-t2hybrid +rc-asus-pc39 +rc-asus-ps3-100 +rc-ati-tv-wonder-hd-600 +rc-ati-x10 +rc-avermedia +rc-avermedia-a16d +rc-avermedia-cardbus +rc-avermedia-dvbt +rc-avermedia-m135a +rc-avermedia-m733a-rm-k6 +rc-avermedia-rm-ks +rc-avertv-303 +rc-azurewave-ad-tu700 +rc-beelink-gs1 +rc-behold +rc-behold-columbus +rc-budget-ci-old +rc-cinergy +rc-cinergy-1400 +rc-core +rc-ct-90405 +rc-d680-dmb +rc-delock-61959 +rc-dib0700-nec +rc-dib0700-rc5 +rc-digitalnow-tinytwin +rc-digittrade +rc-dm1105-nec +rc-dntv-live-dvb-t +rc-dntv-live-dvbt-pro +rc-dtt200u +rc-dvbsky +rc-dvico-mce +rc-dvico-portable +rc-em-terratec +rc-encore-enltv +rc-encore-enltv-fm53 +rc-encore-enltv2 +rc-evga-indtube +rc-eztv +rc-flydvb +rc-flyvideo +rc-fusionhdtv-mce +rc-gadmei-rm008z +rc-geekbox +rc-genius-tvgo-a11mce +rc-gotview7135 +rc-hauppauge +rc-hisi-poplar +rc-hisi-tv-demo +rc-imon-mce +rc-imon-pad +rc-imon-rsc +rc-iodata-bctv7e +rc-it913x-v1 +rc-it913x-v2 +rc-kaiomy +rc-khadas +rc-khamsin +rc-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lme2510 +rc-loopback +rc-manli +rc-mecool-kii-pro +rc-mecool-kiii-pro +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +rc-minix-neo +rc-msi-digivox-ii +rc-msi-digivox-iii +rc-msi-tvanywhere +rc-msi-tvanywhere-plus +rc-nebula +rc-nec-terratec-cinergy-xs +rc-norwood +rc-npgtech +rc-odroid +rc-pctv-sedna +rc-pine64 +rc-pinnacle-color +rc-pinnacle-grey +rc-pinnacle-pctv-hd +rc-pixelview +rc-pixelview-002t +rc-pixelview-mk12 +rc-pixelview-new +rc-powercolor-real-angel +rc-proteus-2309 +rc-purpletv +rc-pv951 +rc-rc6-mce +rc-real-audio-220-32-keys +rc-reddo +rc-snapstream-firefly +rc-streamzap +rc-su3000 +rc-tanix-tx3mini +rc-tanix-tx5max +rc-tbs-nec +rc-technisat-ts35 +rc-technisat-usb2 +rc-terratec-cinergy-c-pci +rc-terratec-cinergy-s2-hd +rc-terratec-cinergy-xs +rc-terratec-slim +rc-terratec-slim-2 +rc-tevii-nec +rc-tivo +rc-total-media-in-hand +rc-total-media-in-hand-02 +rc-trekstor +rc-tt-1500 +rc-twinhan-dtv-cab-ci +rc-twinhan1027 +rc-vega-s9x +rc-videomate-m1f +rc-videomate-s350 +rc-videomate-tv-pvr +rc-videostrong-kii-pro +rc-wetek-hub +rc-wetek-play2 +rc-winfast +rc-winfast-usbii-deluxe +rc-x96max +rc-xbox-360 +rc-xbox-dvd +rc-zx-irdec +rc5t583-regulator +rcar-csi2 +rcar-dmac +rcar-du-drm +rcar-fcp +rcar-gyroadc +rcar-isp +rcar-vin +rcar_can +rcar_canfd +rcar_cmm +rcar_drif +rcar_dw_hdmi +rcar_fdp1 +rcar_gen3_thermal +rcar_jpu +rcar_lvds +rcar_mipi_dsi +rcar_rproc +rcar_thermal +rdacm20 +rdacm21 +rdc321x-southbridge +rdma_cm +rdma_ucm +rds +rds_rdma +rds_tcp +realtek +realtek-mdio +realtek-smi +reboot-mode +redboot +redrat3 +regmap-ac97 +regmap-i3c +regmap-sccb +regmap-sdw +regmap-sdw-mbq +regmap-slimbus +regmap-spi-avmm +regmap-spmi +regmap-w1 +regulator-haptic +reiserfs +renesas-ceu +renesas-nand-controller +renesas-rpc-if +renesas_sdhi_core +renesas_sdhi_internal_dmac +renesas_sdhi_sys_dmac +renesas_usb3 +renesas_usbhs +renesas_wdt +repaper +reset-a10sr +reset-hi3660 +reset-meson-audio-arb +reset-qcom-pdc +reset-scmi +reset-ti-syscon +resistive-adc-touch +retu-mfd +retu-pwrbutton +retu_wdt +rfc1051 +rfc1201 +rfcomm +rfd77402 +rfd_ftl +rfkill-gpio +rio-scan +rio_cm +rio_mport_cdev +rionet +rivafb +rj54n1cb0c +rk3399_dmc +rk805-pwrkey +rk808 +rk808-regulator +rk_crypto +rm3100-core +rm3100-i2c +rm3100-spi +rmd160 +rmi_core +rmi_i2c +rmi_smbus +rmi_spi +rmnet +rmobile-reset +rmtfs_mem +rn5t618 +rn5t618-adc +rn5t618-regulator +rn5t618_power +rn5t618_wdt +rnbd-client +rnbd-server +rndis_host +rndis_wlan +rockchip +rockchip-dfi +rockchip-isp1 +rockchip-nand-controller +rockchip-rga +rockchip-vdec +rockchip_saradc +rockchip_thermal +rockchipdrm +rocker +rohm-bd71828 +rohm-bd718x7 +rohm-bd9576 +rohm-regulator +rohm_bu21023 +romfs +rose +rotary_encoder +rp2 +rpcrdma +rpcsec_gss_krb5 +rpi-panel-attiny-regulator +rpmpd +rpmsg_char +rpmsg_core +rpmsg_ctrl +rpmsg_ns +rpmsg_tty +rpmsg_wwan_ctrl +rpr0521 +rsi_91x +rsi_sdio +rsi_usb +rsmu-i2c +rsmu-spi +rt1719 +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800mmio +rt2800pci +rt2800usb +rt2x00lib +rt2x00mmio +rt2x00pci +rt2x00usb +rt4801-regulator +rt4831 +rt4831-backlight +rt4831-regulator +rt5033 +rt5033-regulator +rt5033_battery +rt5190a-regulator +rt5759-regulator +rt6160-regulator +rt61pci +rt6245-regulator +rt73usb +rt9455_charger +rtc-88pm80x +rtc-88pm860x +rtc-ab-b5ze-s3 +rtc-ab-eoz9 +rtc-abx80x +rtc-armada38x +rtc-as3722 +rtc-aspeed +rtc-bd70528 +rtc-bq32k +rtc-bq4802 +rtc-cadence +rtc-cmos +rtc-cpcap +rtc-cros-ec +rtc-da9052 +rtc-da9055 +rtc-da9063 +rtc-ds1286 +rtc-ds1302 +rtc-ds1305 +rtc-ds1307 +rtc-ds1343 +rtc-ds1347 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1685 +rtc-ds1742 +rtc-ds2404 +rtc-ds3232 +rtc-em3027 +rtc-fm3130 +rtc-ftrtc010 +rtc-goldfish +rtc-hid-sensor-time +rtc-hym8563 +rtc-imx-sc +rtc-imxdi +rtc-isl12022 +rtc-isl12026 +rtc-isl1208 +rtc-lp8788 +rtc-m41t80 +rtc-m41t93 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-max6916 +rtc-max77686 +rtc-max8907 +rtc-max8925 +rtc-max8997 +rtc-max8998 +rtc-mc13xxx +rtc-mcp795 +rtc-meson +rtc-meson-vrtc +rtc-msc313 +rtc-msm6242 +rtc-mt2712 +rtc-mt6397 +rtc-mt7622 +rtc-mxc +rtc-mxc_v2 +rtc-ntxec +rtc-optee +rtc-palmas +rtc-pcap +rtc-pcf2123 +rtc-pcf2127 +rtc-pcf50633 +rtc-pcf85063 +rtc-pcf85363 +rtc-pcf8563 +rtc-pcf8583 +rtc-pl030 +rtc-pm8xxx +rtc-r7301 +rtc-r9701 +rtc-rc5t583 +rtc-rc5t619 +rtc-rk808 +rtc-rp5c01 +rtc-rs5c348 +rtc-rs5c372 +rtc-rv3028 +rtc-rv3029c2 +rtc-rv3032 +rtc-rv8803 +rtc-rx4581 +rtc-rx6110 +rtc-rx8010 +rtc-rx8025 +rtc-rx8581 +rtc-rzn1 +rtc-s35390a +rtc-s5m +rtc-sd3078 +rtc-sh +rtc-snvs +rtc-stk17ta8 +rtc-tegra +rtc-tps6586x +rtc-tps65910 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtc-zynqmp +rtd520 +rti800 +rti802 +rtl2830 +rtl2832 +rtl2832_sdr +rtl8150 +rtl8187 +rtl8188ee +rtl818x_pci +rtl8192c-common +rtl8192ce +rtl8192cu +rtl8192de +rtl8192ee +rtl8192se +rtl8365mb +rtl8366 +rtl8723-common +rtl8723ae +rtl8723be +rtl8821ae +rtl8xxxu +rtl_pci +rtl_usb +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +rtmv20-regulator +rtq2134-regulator +rtq6752-regulator +rtrs-client +rtrs-core +rtrs-server +rts5208 +rtsx_pci +rtsx_pci_ms +rtsx_pci_sdmmc +rtsx_usb +rtsx_usb_ms +rtsx_usb_sdmmc +rtw88_8723d +rtw88_8723de +rtw88_8821c +rtw88_8821ce +rtw88_8822b +rtw88_8822be +rtw88_8822c +rtw88_8822ce +rtw88_core +rtw88_pci +rtw89_8852a +rtw89_8852ae +rtw89_8852c +rtw89_8852ce +rtw89_core +rtw89_pci +rx51_battery +rxrpc +rza_wdt +rzg2l_thermal +rzg2l_wdt +rzn1-dmamux +rzn1_wdt +s1d13xxxfb +s2250 +s2255drv +s2io +s2mpa01 +s2mps11 +s3fb +s3fwrn5 +s3fwrn5_i2c +s3fwrn82_uart +s526 +s5c73m3 +s5h1409 +s5h1411 +s5h1420 +s5h1432 +s5k4ecgx +s5k5baf +s5k6a3 +s5k6aa +s5m8767 +s626 +s6sy761 +s921 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7134-go7007 +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +saa7706h +safe_serial +sahara +sample-trace-array +samsung-keypad +samsung-sxgbe +samsung_tty +sata_dwc_460ex +sata_inic162x +sata_mv +sata_nv +sata_promise +sata_qstor +sata_rcar +sata_sil +sata_sil24 +sata_sis +sata_svw +sata_sx4 +sata_uli +sata_via +sata_vsc +savagefb +sbp_target +sbrmi +sbs-battery +sbs-charger +sbs-manager +sbtsi_temp +sc16is7xx +sc92031 +sca3000 +sca3300 +scd30_core +scd30_i2c +scd30_serial +scd4x +sch5627 +sch5636 +sch56xx-common +sch_atm +sch_cake +sch_cbq +sch_cbs +sch_choke +sch_codel +sch_drr +sch_dsmark +sch_etf +sch_ets +sch_fq +sch_fq_codel +sch_fq_pie +sch_gred +sch_hfsc +sch_hhf +sch_htb +sch_ingress +sch_mqprio +sch_multiq +sch_netem +sch_pie +sch_plug +sch_prio +sch_qfq +sch_red +sch_sfb +sch_sfq +sch_skbprio +sch_taprio +sch_tbf +sch_teql +scmi-cpufreq +scmi-hwmon +scmi-regulator +scmi_iio +scmi_pm_domain +scpi-cpufreq +scpi-hwmon +scpi_pm_domain +scsi_debug +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_spi +scsi_transport_srp +sctp +sctp_diag +sd_adc_modulator +sdhci-cadence +sdhci-dove +sdhci-milbeaut +sdhci-msm +sdhci-of-arasan +sdhci-of-aspeed +sdhci-of-at91 +sdhci-of-dwcmshc +sdhci-of-esdhc +sdhci-omap +sdhci-pci +sdhci-pxav3 +sdhci-tegra +sdhci-xenon-driver +sdhci_am654 +sdhci_f_sdh30 +sdio_uart +sensehat-joystick +sensorhub +serial-tegra +serial_ir +serio_raw +sermouse +serpent_generic +serport +ses +sf-pdma +sfc +sfc-falcon +sfc-siena +sfp +sgi_w1 +sgp30 +sgp40 +sh-sci +sh_eth +sh_mmcif +sh_mobile_lcdcfb +sha1-arm +sha1-arm-ce +sha1-arm-neon +sha2-arm-ce +sha256-arm +sha3_generic +sha512-arm +shark2 +sharpslpart +shiftfs +sht15 +sht21 +sht3x +sht4x +shtc1 +si1133 +si1145 +si2157 +si2165 +si2168 +si21xx +si4713 +si476x-core +si7005 +si7020 +sidewinder +sierra +sierra_net +sifive +sii902x +sii9234 +sil-sii8620 +sil164 +silead +simple-bridge +simple-mfd-i2c +simpledrm +simplefb +siox-bus-gpio +siox-core +sis190 +sis5595 +sis900 +sis_i2c +sisfb +sisusbvga +sit +sja1000 +sja1000_isa +sja1000_platform +sja1105 +skfp +skge +sky2 +sky81452 +sky81452-backlight +sky81452-regulator +sl811-hcd +slcan +slg51000-regulator +slic_ds26522 +slicoss +slim-qcom-ctrl +slim-qcom-ngd-ctrl +slimbus +slip +slram +sm2_generic +sm3 +sm3_generic +sm4 +sm4_generic +sm501fb +sm712fb +sm750fb +sm_common +sm_ftl +smartpqi +smb347-charger +smc +smc911x +smc_diag +smd-rpm +smem +smipcie +smm665 +smp2p +smsc +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc911x +smsc9420 +smsc95xx +smscufx +smsdvb +smsm +smsmdtv +smssdio +smsusb +snd-aaci +snd-ac97-codec +snd-acp-config +snd-ad1889 +snd-ak4113 +snd-ak4114 +snd-ak4xxx-adda +snd-ali5451 +snd-aloop +snd-als300 +snd-atiixp +snd-atiixp-modem +snd-au8810 +snd-au8820 +snd-au8830 +snd-aw2 +snd-azt3328 +snd-bcd2000 +snd-bebob +snd-bt87x +snd-ca0106 +snd-cmipci +snd-cs4281 +snd-cs46xx +snd-cs8427 +snd-ctl-led +snd-ctxfi +snd-darla20 +snd-darla24 +snd-dice +snd-dummy +snd-echo3g +snd-emu10k1 +snd-emu10k1-synth +snd-emu10k1x +snd-emux-synth +snd-ens1370 +snd-ens1371 +snd-es1938 +snd-es1968 +snd-fireface +snd-firewire-digi00x +snd-firewire-lib +snd-firewire-motu +snd-firewire-tascam +snd-fireworks +snd-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-ca0110 +snd-hda-codec-ca0132 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-cs8409 +snd-hda-codec-generic +snd-hda-codec-hdmi +snd-hda-codec-idt +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-core +snd-hda-intel +snd-hda-tegra +snd-hdsp +snd-hdspm +snd-hrtimer +snd-hwdep +snd-i2c +snd-ice1712 +snd-ice1724 +snd-ice17xx-ak4xxx +snd-indigo +snd-indigodj +snd-indigodjx +snd-indigoio +snd-indigoiox +snd-intel-dspcfg +snd-intel8x0 +snd-intel8x0m +snd-isight +snd-korg1212 +snd-layla20 +snd-layla24 +snd-lola +snd-maestro3 +snd-mia +snd-mixart +snd-mixer-oss +snd-mona +snd-mpu401 +snd-mpu401-uart +snd-mtpav +snd-mts64 +snd-nm256 +snd-opl3-lib +snd-opl3-synth +snd-oxfw +snd-oxygen +snd-oxygen-lib +snd-pcxhr +snd-portman2x4 +snd-pt2258 +snd-q6apm +snd-q6dsp-common +snd-rawmidi +snd-riptide +snd-rme32 +snd-rme96 +snd-rme9652 +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-midi +snd-seq-midi-emul +snd-seq-midi-event +snd-seq-virmidi +snd-serial-generic +snd-serial-u16550 +snd-soc-63xx +snd-soc-ac97 +snd-soc-acp-rt5645-mach +snd-soc-adau-utils +snd-soc-adau1372 +snd-soc-adau1372-i2c +snd-soc-adau1372-spi +snd-soc-adau1701 +snd-soc-adau1761 +snd-soc-adau1761-i2c +snd-soc-adau1761-spi +snd-soc-adau17x1 +snd-soc-adau7002 +snd-soc-adau7118 +snd-soc-adau7118-hw +snd-soc-adau7118-i2c +snd-soc-adi-axi-i2s +snd-soc-adi-axi-spdif +snd-soc-ak4104 +snd-soc-ak4118 +snd-soc-ak4375 +snd-soc-ak4458 +snd-soc-ak4554 +snd-soc-ak4613 +snd-soc-ak4642 +snd-soc-ak5386 +snd-soc-ak5558 +snd-soc-alc5623 +snd-soc-alc5632 +snd-soc-apq8016-sbc +snd-soc-apq8096 +snd-soc-armada-370-db +snd-soc-audio-graph-card +snd-soc-audio-graph-card2 +snd-soc-audio-graph-card2-custom-sample +snd-soc-aw8738 +snd-soc-bd28623 +snd-soc-bt-sco +snd-soc-cpcap +snd-soc-cros-ec-codec +snd-soc-cs35l32 +snd-soc-cs35l33 +snd-soc-cs35l34 +snd-soc-cs35l35 +snd-soc-cs35l36 +snd-soc-cs35l41 +snd-soc-cs35l41-i2c +snd-soc-cs35l41-lib +snd-soc-cs35l41-spi +snd-soc-cs35l45 +snd-soc-cs35l45-i2c +snd-soc-cs35l45-spi +snd-soc-cs35l45-tables +snd-soc-cs4234 +snd-soc-cs4265 +snd-soc-cs4270 +snd-soc-cs4271 +snd-soc-cs4271-i2c +snd-soc-cs4271-spi +snd-soc-cs42l42 +snd-soc-cs42l51 +snd-soc-cs42l51-i2c +snd-soc-cs42l52 +snd-soc-cs42l56 +snd-soc-cs42l73 +snd-soc-cs42xx8 +snd-soc-cs42xx8-i2c +snd-soc-cs43130 +snd-soc-cs4341 +snd-soc-cs4349 +snd-soc-cs53l30 +snd-soc-cx2072x +snd-soc-da7213 +snd-soc-da7219 +snd-soc-davinci-mcasp +snd-soc-dmic +snd-soc-es7134 +snd-soc-es7241 +snd-soc-es8316 +snd-soc-es8328 +snd-soc-es8328-i2c +snd-soc-es8328-spi +snd-soc-eukrea-tlv320 +snd-soc-fsi +snd-soc-fsl-asoc-card +snd-soc-fsl-asrc +snd-soc-fsl-aud2htx +snd-soc-fsl-audmix +snd-soc-fsl-easrc +snd-soc-fsl-esai +snd-soc-fsl-micfil +snd-soc-fsl-mqs +snd-soc-fsl-rpmsg +snd-soc-fsl-sai +snd-soc-fsl-spdif +snd-soc-fsl-xcvr +snd-soc-gtm601 +snd-soc-hdmi-codec +snd-soc-ics43432 +snd-soc-imx-audmix +snd-soc-imx-card +snd-soc-imx-es8328 +snd-soc-imx-hdmi +snd-soc-imx-rpmsg +snd-soc-imx-spdif +snd-soc-inno-rk3036 +snd-soc-kirkwood +snd-soc-lochnagar-sc +snd-soc-lpass-apq8016 +snd-soc-lpass-cdc-dma +snd-soc-lpass-cpu +snd-soc-lpass-hdmi +snd-soc-lpass-ipq806x +snd-soc-lpass-macro-common +snd-soc-lpass-platform +snd-soc-lpass-rx-macro +snd-soc-lpass-sc7180 +snd-soc-lpass-sc7280 +snd-soc-lpass-tx-macro +snd-soc-lpass-va-macro +snd-soc-lpass-wsa-macro +snd-soc-max9759 +snd-soc-max98088 +snd-soc-max98090 +snd-soc-max98357a +snd-soc-max98373 +snd-soc-max98373-i2c +snd-soc-max98373-sdw +snd-soc-max98390 +snd-soc-max98396 +snd-soc-max98504 +snd-soc-max98520 +snd-soc-max9860 +snd-soc-max9867 +snd-soc-max98927 +snd-soc-meson-aiu +snd-soc-meson-axg-fifo +snd-soc-meson-axg-frddr +snd-soc-meson-axg-pdm +snd-soc-meson-axg-sound-card +snd-soc-meson-axg-spdifin +snd-soc-meson-axg-spdifout +snd-soc-meson-axg-tdm-formatter +snd-soc-meson-axg-tdm-interface +snd-soc-meson-axg-tdmin +snd-soc-meson-axg-tdmout +snd-soc-meson-axg-toddr +snd-soc-meson-card-utils +snd-soc-meson-codec-glue +snd-soc-meson-g12a-toacodec +snd-soc-meson-g12a-tohdmitx +snd-soc-meson-gx-sound-card +snd-soc-meson-t9015 +snd-soc-mikroe-proto +snd-soc-msm8916-analog +snd-soc-msm8916-digital +snd-soc-mt6351 +snd-soc-mt6358 +snd-soc-mt6359 +snd-soc-mt6660 +snd-soc-mt6797-afe +snd-soc-mt8183-afe +snd-soc-mt8192-afe +snd-soc-mt8195-afe +snd-soc-mtk-common +snd-soc-nau8315 +snd-soc-nau8540 +snd-soc-nau8810 +snd-soc-nau8821 +snd-soc-nau8822 +snd-soc-nau8824 +snd-soc-omap-mcbsp +snd-soc-pcm1681 +snd-soc-pcm1789-codec +snd-soc-pcm1789-i2c +snd-soc-pcm179x-codec +snd-soc-pcm179x-i2c +snd-soc-pcm179x-spi +snd-soc-pcm186x +snd-soc-pcm186x-i2c +snd-soc-pcm186x-spi +snd-soc-pcm3060 +snd-soc-pcm3060-i2c +snd-soc-pcm3060-spi +snd-soc-pcm3168a +snd-soc-pcm3168a-i2c +snd-soc-pcm3168a-spi +snd-soc-pcm5102a +snd-soc-pcm512x +snd-soc-pcm512x-i2c +snd-soc-pcm512x-spi +snd-soc-qcom-common +snd-soc-rcar +snd-soc-rk3288-hdmi-analog +snd-soc-rk3328 +snd-soc-rk3399-gru-sound +snd-soc-rk817 +snd-soc-rl6231 +snd-soc-rockchip-i2s +snd-soc-rockchip-i2s-tdm +snd-soc-rockchip-max98090 +snd-soc-rockchip-pdm +snd-soc-rockchip-rt5645 +snd-soc-rockchip-spdif +snd-soc-rt1011 +snd-soc-rt1015 +snd-soc-rt1015p +snd-soc-rt1308-sdw +snd-soc-rt1316-sdw +snd-soc-rt5514 +snd-soc-rt5514-spi +snd-soc-rt5616 +snd-soc-rt5631 +snd-soc-rt5640 +snd-soc-rt5645 +snd-soc-rt5659 +snd-soc-rt5663 +snd-soc-rt5677 +snd-soc-rt5677-spi +snd-soc-rt5682 +snd-soc-rt5682-i2c +snd-soc-rt5682-sdw +snd-soc-rt5682s +snd-soc-rt700 +snd-soc-rt711 +snd-soc-rt711-sdca +snd-soc-rt715 +snd-soc-rt715-sdca +snd-soc-rt9120 +snd-soc-sc7180 +snd-soc-sc7280 +snd-soc-sdm845 +snd-soc-sdw-mockup +snd-soc-si476x +snd-soc-sigmadsp +snd-soc-sigmadsp-i2c +snd-soc-sigmadsp-regmap +snd-soc-simple-amplifier +snd-soc-simple-card +snd-soc-simple-card-utils +snd-soc-simple-mux +snd-soc-sm8250 +snd-soc-spdif-rx +snd-soc-spdif-tx +snd-soc-ssm2305 +snd-soc-ssm2518 +snd-soc-ssm2602 +snd-soc-ssm2602-i2c +snd-soc-ssm2602-spi +snd-soc-ssm4567 +snd-soc-sta32x +snd-soc-sta350 +snd-soc-sti-sas +snd-soc-storm +snd-soc-tas2552 +snd-soc-tas2562 +snd-soc-tas2764 +snd-soc-tas2770 +snd-soc-tas5086 +snd-soc-tas571x +snd-soc-tas5720 +snd-soc-tas5805m +snd-soc-tas6424 +snd-soc-tda7419 +snd-soc-tegra-audio-graph-card +snd-soc-tegra-machine +snd-soc-tegra-pcm +snd-soc-tegra-wm8903 +snd-soc-tegra186-asrc +snd-soc-tegra186-dspk +snd-soc-tegra20-ac97 +snd-soc-tegra20-das +snd-soc-tegra20-i2s +snd-soc-tegra20-spdif +snd-soc-tegra210-admaif +snd-soc-tegra210-adx +snd-soc-tegra210-ahub +snd-soc-tegra210-amx +snd-soc-tegra210-dmic +snd-soc-tegra210-i2s +snd-soc-tegra210-mixer +snd-soc-tegra210-mvc +snd-soc-tegra210-sfc +snd-soc-tegra30-ahub +snd-soc-tegra30-i2s +snd-soc-test-component +snd-soc-tfa9879 +snd-soc-tfa989x +snd-soc-ti-edma +snd-soc-ti-sdma +snd-soc-ti-udma +snd-soc-tlv320adc3xxx +snd-soc-tlv320adcx140 +snd-soc-tlv320aic23 +snd-soc-tlv320aic23-i2c +snd-soc-tlv320aic23-spi +snd-soc-tlv320aic31xx +snd-soc-tlv320aic32x4 +snd-soc-tlv320aic32x4-i2c +snd-soc-tlv320aic32x4-spi +snd-soc-tlv320aic3x +snd-soc-tlv320aic3x-i2c +snd-soc-tlv320aic3x-spi +snd-soc-tpa6130a2 +snd-soc-ts3a227e +snd-soc-tscs42xx +snd-soc-tscs454 +snd-soc-uda1334 +snd-soc-wcd-mbhc +snd-soc-wcd9335 +snd-soc-wcd934x +snd-soc-wcd938x +snd-soc-wcd938x-sdw +snd-soc-wm-adsp +snd-soc-wm-hubs +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8524 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8731-i2c +snd-soc-wm8731-spi +snd-soc-wm8737 +snd-soc-wm8741 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8770 +snd-soc-wm8776 +snd-soc-wm8782 +snd-soc-wm8804 +snd-soc-wm8804-i2c +snd-soc-wm8804-spi +snd-soc-wm8903 +snd-soc-wm8904 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8962 +snd-soc-wm8974 +snd-soc-wm8978 +snd-soc-wm8985 +snd-soc-wm8994 +snd-soc-wm9712 +snd-soc-wsa881x +snd-soc-xlnx-formatter-pcm +snd-soc-xlnx-i2s +snd-soc-xlnx-spdif +snd-soc-xtfpga-i2s +snd-soc-zl38060 +snd-sonicvibes +snd-trident +snd-ua101 +snd-usb-6fire +snd-usb-audio +snd-usb-caiaq +snd-usb-hiface +snd-usb-line6 +snd-usb-pod +snd-usb-podhd +snd-usb-toneport +snd-usb-variax +snd-usbmidi-lib +snd-util-mem +snd-via82xx +snd-via82xx-modem +snd-virmidi +snd-virtuoso +snd-vx-lib +snd-vx222 +snd-ymfpci +snic +snps_udc_core +snps_udc_plat +snvs_pwrkey +socfpga +socfpga-a10 +socinfo +softdog +softing +solo6x10 +solos-pci +sony-btf-mpx +soundwire-bus +soundwire-qcom +sp2 +sp805_wdt +sp8870 +sp887x +spaceball +spaceorb +sparse-keymap +spcp8x5 +speakup +speakup_acntsa +speakup_apollo +speakup_audptr +speakup_bns +speakup_decext +speakup_dectlk +speakup_dummy +speakup_ltlk +speakup_soft +speakup_spkout +speakup_txprt +speedfax +speedtch +spi-altera-core +spi-altera-dfl +spi-altera-platform +spi-amd +spi-armada-3700 +spi-aspeed-smc +spi-axi-spi-engine +spi-bitbang +spi-butterfly +spi-cadence +spi-cadence-quadspi +spi-cadence-xspi +spi-dln2 +spi-dw +spi-dw-mmio +spi-dw-pci +spi-fsi +spi-fsl-dspi +spi-fsl-lpspi +spi-fsl-qspi +spi-geni-qcom +spi-gpio +spi-imx +spi-lm70llp +spi-loopback-test +spi-meson-spicc +spi-meson-spifc +spi-mt65xx +spi-mtk-nor +spi-mtk-snfi +spi-mux +spi-mxic +spi-nor +spi-npcm-fiu +spi-npcm-pspi +spi-nxp-fspi +spi-oc-tiny +spi-orion +spi-pl022 +spi-pxa2xx-pci +spi-pxa2xx-platform +spi-qcom-qspi +spi-qup +spi-rockchip +spi-rockchip-sfc +spi-rpc-if +spi-rspi +spi-sc18is602 +spi-sh-hspi +spi-sh-msiof +spi-sifive +spi-slave-mt27xx +spi-slave-system-control +spi-slave-time +spi-tegra114 +spi-tegra20-sflash +spi-tegra20-slink +spi-tegra210-quad +spi-ti-qspi +spi-tle62x0 +spi-xcomm +spi-zynqmp-gqspi +spi_ks8995 +spidev +spinand +spmi +spmi-mtk-pmif +spmi-pmic-arb +sprd_serial +sps30 +sps30_i2c +sps30_serial +sr030pc30 +sr9700 +sr9800 +srf04 +srf08 +ssb +ssb-hcd +ssbi +ssd1307fb +ssd130x +ssd130x-i2c +ssd130x-spi +ssfdc +ssp_accel_sensor +ssp_gyro_sensor +ssp_iio +sst25l +sstfb +ssu100 +st +st-asc +st-mipid02 +st-nci +st-nci_i2c +st-nci_spi +st1232 +st21nfca_hci +st21nfca_i2c +st7586 +st7735r +st95hf +st_accel +st_accel_i2c +st_accel_spi +st_drv +st_gyro +st_gyro_i2c +st_gyro_spi +st_lsm6dsx +st_lsm6dsx_i2c +st_lsm6dsx_i3c +st_lsm6dsx_spi +st_lsm9ds0 +st_lsm9ds0_i2c +st_lsm9ds0_spi +st_magn +st_magn_i2c +st_magn_spi +st_pressure +st_pressure_i2c +st_pressure_spi +st_sensors +st_sensors_i2c +st_sensors_spi +st_uvis25_core +st_uvis25_i2c +st_uvis25_spi +starfire +stb0899 +stb6000 +stb6100 +ste10Xp +stex +stinger +stk1160 +stk3310 +stk8312 +stk8ba50 +stkwebcam +stm-drm +stm_console +stm_core +stm_ftrace +stm_heartbeat +stm_p_basic +stm_p_sys-t +stmfts +stmfx +stmmac +stmmac-pci +stmmac-platform +stmpe-adc +stmpe-keypad +stmpe-ts +stowaway +stp +stpddc60 +stpmic1 +stpmic1_onkey +stpmic1_regulator +stpmic1_wdt +streamzap +streebog_generic +stts751 +stusb160x +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv0910 +stv6110 +stv6110x +stv6111 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrise_co2 +sunrpc +sur40 +surface3_spi +svc-i3c-master +svgalib +switchtec +sx8 +sx8654 +sx9310 +sx9324 +sx9360 +sx9500 +sx_common +sy7636a-hwmon +sy7636a-regulator +sy8106a-regulator +sy8824x +sy8827n +sym53c8xx +symbolserial +synaptics_i2c +synaptics_usb +synclink_gt +synopsys_edac +syscon-reboot-mode +syscopyarea +sysfillrect +sysimgblt +sysv +t5403 +tag_ar9331 +tag_brcm +tag_dsa +tag_gswip +tag_hellcreek +tag_ksz +tag_lan9303 +tag_mtk +tag_ocelot +tag_ocelot_8021q +tag_qca +tag_rtl4_a +tag_rtl8_4 +tag_sja1105 +tag_trailer +tag_xrs700x +tap +target_core_file +target_core_iblock +target_core_mod +target_core_pscsi +target_core_user +tc-dwc-g210 +tc-dwc-g210-pci +tc-dwc-g210-pltfrm +tc358743 +tc358762 +tc358764 +tc358767 +tc358768 +tc358775 +tc3589x-keypad +tc654 +tc74 +tc90522 +tca6416-keypad +tca8418_keypad +tcan4x5x +tcm_fc +tcm_loop +tcm_qla2xxx +tcm_usb_gadget +tcp_bbr +tcp_bic +tcp_cdg +tcp_dctcp +tcp_diag +tcp_highspeed +tcp_htcp +tcp_hybla +tcp_illinois +tcp_lp +tcp_nv +tcp_scalable +tcp_vegas +tcp_veno +tcp_westwood +tcp_yeah +tcpci +tcpci_maxim +tcpci_mt6360 +tcpci_rt1711h +tcpm +tcrypt +tcs3414 +tcs3472 +tda10021 +tda10023 +tda10048 +tda1004x +tda10071 +tda10086 +tda18212 +tda18218 +tda18250 +tda18271 +tda18271c2dd +tda1997x +tda665x +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tda9950 +tda998x +tdfxfb +tdo24m +tea575x +tea5761 +tea5767 +tea6415c +tea6420 +team +team_mode_activebackup +team_mode_broadcast +team_mode_loadbalance +team_mode_random +team_mode_roundrobin +tee +tef6862 +tegra-bpmp-thermal +tegra-drm +tegra-gmi +tegra-kbc +tegra-vde +tegra-video +tegra-xudc +tegra186-cpufreq +tegra186-gpc-dma +tegra30-devfreq +tegra30-tsensor +tegra_cec +tegra_nand +tegra_wdt +tehuti +teranetics +test-kprobes +test_blackhole_dev +test_bpf +test_power +tg3 +thc63lvd1024 +thermal-generic-adc +thermal_mmio +thmc50 +ths7303 +ths8200 +thunderbolt +thunderbolt-net +ti-adc081c +ti-adc0832 +ti-adc084s021 +ti-adc108s102 +ti-adc12138 +ti-adc128s052 +ti-adc161s626 +ti-ads1015 +ti-ads124s08 +ti-ads131e08 +ti-ads7950 +ti-ads8344 +ti-ads8688 +ti-cal +ti-csc +ti-dac082s085 +ti-dac5571 +ti-dac7311 +ti-dac7612 +ti-lmu +ti-sc +ti-sn65dsi83 +ti-sn65dsi86 +ti-tfp410 +ti-tlc4541 +ti-tpd12s015 +ti-tsc2046 +ti-vpdma +ti-vpe +ti_am335x_adc +ti_am335x_tsc +ti_am335x_tscadc +ti_cpsw_new +ti_edac +ti_hecc +ti_usb_3410_5052 +tidss +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +tilcdc +timeriomem-rng +tipc +tlan +tls +tlv320aic23b +tm2-touchkey +tm6000 +tm6000-alsa +tm6000-dvb +tmdc +tmio_mmc +tmio_mmc_core +tmio_nand +tmiofb +tmp006 +tmp007 +tmp102 +tmp103 +tmp108 +tmp117 +tmp401 +tmp421 +tmp464 +tmp513 +toshsd +touchit213 +touchright +touchwin +tpci200 +tpl0102 +tpm_ftpm_tee +tpm_i2c_atmel +tpm_i2c_infineon +tpm_i2c_nuvoton +tpm_st33zp24 +tpm_st33zp24_i2c +tpm_st33zp24_spi +tpm_tis_i2c_cr50 +tpm_tis_spi +tpm_vtpm_proxy +tps23861 +tps40422 +tps51632-regulator +tps53679 +tps6105x +tps6105x-regulator +tps62360-regulator +tps6286x-regulator +tps65010 +tps65023-regulator +tps6507x +tps6507x-regulator +tps6507x-ts +tps65086 +tps65086-regulator +tps65090-charger +tps65090-regulator +tps65132-regulator +tps65217_bl +tps65217_charger +tps65218 +tps65218-pwrbutton +tps65218-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +tps6598x +tqmx86 +trace-printk +trancevibrator +trf7970a +tridentfb +ts2020 +ts4800-ts +ts4800_wdt +ts_bm +ts_fsm +ts_kmp +tsc2004 +tsc2005 +tsc2007 +tsc200x-core +tsc40 +tsi721_mport +tsl2550 +tsl2563 +tsl2583 +tsl2591 +tsl2772 +tsl4531 +tsnep +tsys01 +tsys02d +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +ttusbir +ttynull +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tunnel4 +tunnel6 +turbografx +turingcc-qcs404 +turris-mox-rwtm +tusb6010 +tvaudio +tve200_drm +tveeprom +tvp514x +tvp5150 +tvp7002 +tw2804 +tw5864 +tw68 +tw686x +tw9903 +tw9906 +tw9910 +twidjoy +twl4030-madc +twl4030-pwrbutton +twl4030-vibra +twl4030_charger +twl4030_keypad +twl4030_madc_battery +twl4030_wdt +twl6030-gpadc +twl6040-vibra +twofish_common +twofish_generic +typec +typec_displayport +typec_nvidia +typec_ucsi +typhoon +u132-hcd +uPD60620 +u_audio +u_ether +u_serial +uacce +uartlite +uas +ubi +ubifs +ubuntu-host +ucan +ucb1400_core +ucb1400_ts +ucc_uart +ucd9000 +ucd9200 +ucs1002_power +ucsi_ccg +uda1342 +udc-xilinx +udf +udl +udlfb +udp_diag +udp_tunnel +ueagle-atm +ufs +ufs-hisi +ufs-mediatek +ufs_qcom +ufshcd-core +ufshcd-dwc +ufshcd-pci +ufshcd-pltfrm +ug3105_battery +uhid +uio +uio_aec +uio_cif +uio_dfl +uio_dmem_genirq +uio_mf624 +uio_netx +uio_pci_generic +uio_pdrv_genirq +uio_pruss +uio_sercos3 +uleds +uli526x +ulpi +ums-alauda +ums-cypress +ums-datafab +ums-eneub6250 +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-realtek +ums-sddr09 +ums-sddr55 +ums-usbat +unix_diag +upd64031a +upd64083 +upd78f0730 +us5182d +usb-conn-gpio +usb-dmac +usb-serial-simple +usb-storage +usb251xb +usb3503 +usb4604 +usb8xxx +usb_8dev +usb_debug +usb_f_acm +usb_f_ecm +usb_f_ecm_subset +usb_f_eem +usb_f_fs +usb_f_hid +usb_f_mass_storage +usb_f_midi +usb_f_ncm +usb_f_obex +usb_f_phonet +usb_f_printer +usb_f_rndis +usb_f_serial +usb_f_ss_lb +usb_f_tcm +usb_f_uac1 +usb_f_uac1_legacy +usb_f_uac2 +usb_f_uvc +usb_wwan +usbatm +usbdux +usbduxfast +usbduxsigma +usbhid +usbip-core +usbip-host +usbip-vudc +usbkbd +usblcd +usblp +usbmisc_imx +usbmon +usbmouse +usbnet +usbserial +usbsevseg +usbtest +usbtmc +usbtouchscreen +usbtv +usdhi6rol0 +userio +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +v4l2-async +v4l2-dv-timings +v4l2-flash-led-class +v4l2-fwnode +v4l2-h264 +v4l2-jpeg +v4l2-mem2mem +v4l2-tpg +v4l2-vp9 +vcan +vcnl3020 +vcnl4000 +vcnl4035 +vctrl-regulator +vdpa +vdpa_sim +vdpa_sim_blk +vdpa_sim_net +vduse +veml6030 +veml6070 +ves1820 +ves1x93 +veth +vexpress-hwmon +vexpress-regulator +vexpress-spc-cpufreq +vf610_adc +vf610_dac +vfio-amba +vfio-pci +vfio-pci-core +vfio-platform +vfio-platform-amdxgbe +vfio-platform-base +vfio-platform-calxedaxgmac +vfio_virqfd +vgastate +vgem +vgg2432a4 +vhci-hcd +vhost +vhost_iotlb +vhost_net +vhost_scsi +vhost_vdpa +vhost_vsock +via-rhine +via-sdmmc +via-velocity +via686a +vicodec +video-i2c +video-mux +videobuf-core +videobuf-dma-sg +videobuf-vmalloc +videobuf2-common +videobuf2-dma-contig +videobuf2-dma-sg +videobuf2-dvb +videobuf2-memops +videobuf2-v4l2 +videobuf2-vmalloc +videocc-sc7180 +videocc-sc7280 +videocc-sdm845 +videocc-sm8150 +videocc-sm8250 +videodev +vim2m +vimc +viperboard +viperboard_adc +virt_wifi +virtio-gpu +virtio-rng +virtio_blk +virtio_bt +virtio_crypto +virtio_dma_buf +virtio_input +virtio_net +virtio_pmem +virtio_rpmsg_bus +virtio_scsi +virtio_snd +virtio_vdpa +virtiofs +virtual +virtual_ncidev +visor +vitesse +vitesse-vsc73xx-core +vitesse-vsc73xx-platform +vitesse-vsc73xx-spi +vivid +vkms +vl53l0x-i2c +vl6180 +vmac +vme_fake +vme_tsi148 +vme_user +vme_vmivme7805 +vmk80xx +vmw_pvrdma +vmw_vsock_virtio_transport +vmw_vsock_virtio_transport_common +vmxnet3 +vp27smpx +vp_vdpa +vport-geneve +vport-gre +vport-vxlan +vpx3220 +vqmmc-ipq4019-regulator +vrf +vringh +vs6624 +vsock +vsock_diag +vsock_loopback +vsockmon +vsp1 +vsxxxaa +vt1211 +vt6655_stage +vt6656_stage +vt8231 +vt8623fb +vub300 +vx855 +vxcan +vxge +vxlan +vz89x +w1-gpio +w1_ds2405 +w1_ds2406 +w1_ds2408 +w1_ds2413 +w1_ds2423 +w1_ds2430 +w1_ds2431 +w1_ds2433 +w1_ds2438 +w1_ds250x +w1_ds2780 +w1_ds2781 +w1_ds2805 +w1_ds28e04 +w1_ds28e17 +w1_smem +w1_therm +w5100 +w5100-spi +w5300 +w6692 +w83627ehf +w83627hf +w83773g +w83781d +w83791d +w83792d +w83793 +w83795 +w83l785ts +w83l786ng +wacom +wacom_i2c +wacom_serial4 +wacom_w8001 +walkera0701 +wanxl +warrior +wcd934x +wcn36xx +wcnss_ctrl +wd719x +wdt87xx_i2c +wdt_pci +wfx +whiteheat +wil6210 +wilc1000 +wilc1000-sdio +wilc1000-spi +winbond-840 +wire +wireguard +wishbone-serial +wl1251 +wl1251_sdio +wl1251_spi +wl1273-core +wl12xx +wl18xx +wlcore +wlcore_sdio +wlcore_spi +wm831x-dcdc +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x-ts +wm831x_backup +wm831x_bl +wm831x_power +wm831x_wdt +wm8350-hwmon +wm8350-regulator +wm8350_power +wm8350_wdt +wm8400-regulator +wm8739 +wm8775 +wm8994 +wm8994-regulator +wm97xx-ts +wp512 +wusb3801 +wwan_hwsim +x25 +x_tables +xbox_remote +xc2028 +xc4000 +xc5000 +xcbc +xdpe12284 +xdpe152c4 +xfrm4_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_interface +xfrm_ipcomp +xfrm_user +xfs +xgmac +xhci-histb +xhci-mtk-hcd +xhci-pci +xhci-pci-renesas +xhci-plat-hcd +xhci-tegra +xilinx-csi2rxss +xilinx-pr-decoupler +xilinx-spi +xilinx-tpg +xilinx-video +xilinx-vtc +xilinx-xadc +xilinx_dpdma +xilinx_emac +xilinx_emaclite +xilinx_gmii2rgmii +xilinx_sdfec +xilinx_uartps +xillybus_class +xillybus_core +xillybus_of +xillybus_pcie +xillyusb +xiphera-trng +xircom_cb +xlnx_vcu +xor +xor-neon +xpad +xr_serial +xrs700x +xrs700x_i2c +xrs700x_mdio +xsens_mt +xsk_diag +xt_AUDIT +xt_CHECKSUM +xt_CLASSIFY +xt_CONNSECMARK +xt_CT +xt_DSCP +xt_HL +xt_HMARK +xt_IDLETIMER +xt_LED +xt_LOG +xt_MASQUERADE +xt_NETMAP +xt_NFLOG +xt_NFQUEUE +xt_RATEEST +xt_REDIRECT +xt_SECMARK +xt_TCPMSS +xt_TCPOPTSTRIP +xt_TEE +xt_TPROXY +xt_TRACE +xt_addrtype +xt_bpf +xt_cgroup +xt_cluster +xt_comment +xt_connbytes +xt_connlabel +xt_connlimit +xt_connmark +xt_conntrack +xt_cpu +xt_dccp +xt_devgroup +xt_dscp +xt_ecn +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_ipcomp +xt_iprange +xt_ipvs +xt_l2tp +xt_length +xt_limit +xt_mac +xt_mark +xt_multiport +xt_nat +xt_nfacct +xt_osf +xt_owner +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_rateest +xt_realm +xt_recent +xt_sctp +xt_set +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_tcpudp +xt_time +xt_u32 +xtkbd +xusbatm +xxhash_generic +xz_dec_test +yam +yamaha-yas530 +yealink +yellowfin +yenta_socket +yurex +z3fold +zaurus +zd1201 +zd1211rw +zd1301 +zd1301_demod +zet6223 +zforce_ts +zhenhua +ziirave_wdt +zinitix +zl10036 +zl10039 +zl10353 +zl6100 +zonefs +zopt2201 +zpa2326 +zpa2326_i2c +zpa2326_spi +zr364xx +zram +zstd --- linux-gcp-5.19.0.orig/debian.master/abi/armhf/generic-lpae.retpoline +++ linux-gcp-5.19.0/debian.master/abi/armhf/generic-lpae.retpoline @@ -0,0 +1 @@ +# RETPOLINE NOT ENABLED --- linux-gcp-5.19.0.orig/debian.master/abi/armhf/generic.compiler +++ linux-gcp-5.19.0/debian.master/abi/armhf/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 12.2.0-3ubuntu1) 12.2.0 --- linux-gcp-5.19.0.orig/debian.master/abi/armhf/generic.modules +++ linux-gcp-5.19.0/debian.master/abi/armhf/generic.modules @@ -0,0 +1,6782 @@ +3w-9xxx +3w-sas +3w-xxxx +6lowpan +6pack +8021q +8139cp +8139too +8250_aspeed_vuart +8250_dw +8250_exar +8250_men_mcb +8250_pericom +8255 +8255_pci +8390 +842 +842_compress +842_decompress +88pg86x +88pm800 +88pm800-regulator +88pm805 +88pm80x +88pm80x_onkey +88pm8607 +88pm860x-ts +88pm860x_battery +88pm860x_bl +88pm860x_charger +88pm860x_onkey +9p +9pnet +9pnet_fd +9pnet_rdma +9pnet_virtio +a100u2w +a3d +a53-pll +a7-pll +a8293 +aacraid +aat2870-regulator +aat2870_bl +abp060mg +acard-ahci +acecad +acenic +acer-ec-a500 +acer_a500_battery +acp_audio_dma +act8865-regulator +act8945a +act8945a-regulator +act8945a_charger +act_bpf +act_connmark +act_csum +act_ct +act_ctinfo +act_gact +act_gate +act_ipt +act_mirred +act_mpls +act_nat +act_pedit +act_police +act_sample +act_simple +act_skbedit +act_skbmod +act_tunnel_key +act_vlan +ad2s1200 +ad2s1210 +ad2s90 +ad3552r +ad5064 +ad5110 +ad525x_dpot +ad525x_dpot-i2c +ad525x_dpot-spi +ad5272 +ad5360 +ad5380 +ad5398 +ad5421 +ad5446 +ad5449 +ad5504 +ad5592r +ad5592r-base +ad5593r +ad5624r_spi +ad5686 +ad5686-spi +ad5696-i2c +ad5755 +ad5758 +ad5761 +ad5764 +ad5766 +ad5770r +ad5791 +ad5820 +ad5933 +ad7091r-base +ad7091r5 +ad7124 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7192 +ad7266 +ad7280a +ad7291 +ad7292 +ad7293 +ad7298 +ad7303 +ad7314 +ad7414 +ad7418 +ad74413r +ad7476 +ad7606 +ad7606_par +ad7606_spi +ad7746 +ad7766 +ad7768-1 +ad7780 +ad7791 +ad7793 +ad7816 +ad7877 +ad7879 +ad7879-i2c +ad7879-spi +ad7887 +ad7923 +ad7949 +ad799x +ad8366 +ad8801 +ad9389b +ad9467 +ad9523 +ad9832 +ad9834 +ad_sigma_delta +ada4250 +adc-joystick +adc-keys +adc128d818 +adcxx +addi_apci_1032 +addi_apci_1500 +addi_apci_1516 +addi_apci_1564 +addi_apci_16xx +addi_apci_2032 +addi_apci_2200 +addi_apci_3120 +addi_apci_3501 +addi_apci_3xxx +addi_watchdog +ade7854 +ade7854-i2c +ade7854-spi +adf4350 +adf4371 +adf7242 +adfs +adi +adi-axi-adc +adiantum +adin +adin1100 +adis16080 +adis16130 +adis16136 +adis16201 +adis16203 +adis16209 +adis16240 +adis16260 +adis16400 +adis16460 +adis16475 +adis16480 +adis_lib +adjd_s311 +adl_pci6208 +adl_pci7x3x +adl_pci8164 +adl_pci9111 +adl_pci9118 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm1177 +adm1266 +adm1275 +adm8211 +adm9240 +admv1013 +admv4420 +adp1653 +adp5061 +adp5520-keys +adp5520_bl +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +adq12b +adrf6780 +ads7828 +ads7846 +ads7871 +adt7310 +adt7316 +adt7316-i2c +adt7316-spi +adt7410 +adt7411 +adt7462 +adt7470 +adt7475 +adt7x10 +adummy +adutux +adux1020 +adv7170 +adv7175 +adv7180 +adv7183 +adv7343 +adv7393 +adv748x +adv7511 +adv7604 +adv7842 +adv_pci1710 +adv_pci1720 +adv_pci1723 +adv_pci1724 +adv_pci1760 +adv_pci_dio +advansys +adxl313_core +adxl313_i2c +adxl313_spi +adxl34x +adxl34x-i2c +adxl34x-spi +adxl355_core +adxl355_i2c +adxl355_spi +adxl367 +adxl367_i2c +adxl367_spi +adxl372 +adxl372_i2c +adxl372_spi +adxrs290 +adxrs450 +aegis128 +aes-arm +aes-arm-bs +aes-arm-ce +aes_ti +af9013 +af9033 +af_alg +af_key +af_packet_diag +afe4403 +afe4404 +affs +afs +ah4 +ah6 +ahci +ahci_ceva +ahci_dm816 +ahci_mtk +ahci_mvebu +ahci_qoriq +ahci_tegra +aht10 +aic79xx +aic7xxx +aic94xx +aio_aio12_8 +aio_iiro_16 +aiptek +aircable +airspy +ak7375 +ak881x +ak8974 +ak8975 +al3010 +al3320a +alcor +alcor_pci +algif_aead +algif_hash +algif_rng +algif_skcipher +alim7101_wdt +altera-ci +altera-cvp +altera-fpga2sdram +altera-freeze-bridge +altera-hps2fpga +altera-msgdma +altera-pr-ip-core +altera-pr-ip-core-plat +altera-ps-spi +altera-stapl +altera_jtaguart +altera_ps2 +altera_tse +altera_uart +alx +am2315 +am35x +am53c974 +amba-clcd +amba-pl010 +ambakmi +amc6821 +amd +amd5536udc_pci +amd8111e +amdgpu +amlogic-gxl-crypto +amlogic_thermal +amphion-vpu +amplc_dio200 +amplc_dio200_common +amplc_dio200_pci +amplc_pc236 +amplc_pc236_common +amplc_pc263 +amplc_pci224 +amplc_pci230 +amplc_pci236 +amplc_pci263 +ams-iaq-core +ams369fg06 +amt +analog +analogix-anx6345 +analogix-anx78xx +analogix_dp +anatop-regulator +ansi_cprng +anx7625 +anybuss_core +ao-cec +ao-cec-g12a +aoe +apbps2 +apcs-msm8916 +apcs-sdx55 +apds9300 +apds9802als +apds990x +apds9960 +apple-mfi-fastcharge +appledisplay +appletalk +appletouch +applicom +apr +apss-ipq-pll +apss-ipq6018 +aptina-pll +aqc111 +aquacomputer_d5next +aquantia +ar1021_i2c +ar5523 +ar7part +ar9331 +arasan-nand-controller +arc-rawmode +arc-rimi +arc_emac +arc_ps2 +arc_uart +arcmsr +arcnet +arcpgu +arcx-anybus +arcxcnn_bl +arizona +arizona-haptics +arizona-i2c +arizona-ldo1 +arizona-micsupp +arizona-spi +ark3116 +arkfb +arm_mhu +arm_mhu_db +arm_mhuv2 +arm_scpi +arm_smc_wdt +arm_smccc_trng +armada +armada-37xx-cpufreq +armada-37xx-rwtm-mailbox +armada-8k-cpufreq +armada_37xx_wdt +arp_tables +arpt_mangle +arptable_filter +artpec6_crypto +as102_fe +as370-hwmon +as3711-regulator +as3711_bl +as3722-regulator +as3935 +as5011 +as73211 +asc7621 +ascot2e +asix +aspeed-lpc-ctrl +aspeed-lpc-snoop +aspeed-p2a-ctrl +aspeed-pwm-tacho +aspeed-uart-routing +aspeed-vhub +aspeed-video +aspeed_adc +aspeed_edac +aspeed_gfx +ast +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +at803x +at86rf230 +ata_generic +ata_piix +atbm8830 +atc260x-core +atc260x-i2c +atc260x-onkey +atc260x-poweroff +atc260x-regulator +aten +ath +ath10k_core +ath10k_pci +ath10k_sdio +ath10k_snoc +ath10k_usb +ath11k +ath11k_ahb +ath11k_pci +ath3k +ath5k +ath6kl_core +ath6kl_sdio +ath6kl_usb +ath9k +ath9k_common +ath9k_htc +ath9k_hw +ath9k_pci_owl_loader +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atlantic +atlas-ezo-sensor +atlas-sensor +atm +atmel +atmel-ecc +atmel-flexcom +atmel-hlcdc +atmel-hlcdc-dc +atmel-i2c +atmel-sha204a +atmel_captouch +atmel_mxt_ts +atmel_pci +atmtcp +atp870u +atusb +atxp1 +aty128fb +atyfb +au0828 +au8522_common +au8522_decoder +au8522_dig +auo-pixcir-ts +auth_rpcgss +authenc +authencesn +autofs4 +avmfritz +ax25 +ax88179_178a +ax88796 +ax88796b +ax88796c +axi-fan-control +axis-fifo +axp20x +axp20x-i2c +axp20x-pek +axp20x-regulator +axp20x_ac_power +axp20x_adc +axp20x_battery +axp20x_usb_power +axp288_adc +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b43 +b43legacy +b44 +b53_common +b53_mdio +b53_mmap +b53_serdes +b53_spi +b53_srab +bL_switcher_dummy_if +ba431-rng +bam_dma +bareudp +batman-adv +baycom_epp +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcache +bcm-keypad +bcm-phy-lib +bcm-sf2 +bcm203x +bcm3510 +bcm47xxsflash +bcm54140 +bcm590xx +bcm590xx-regulator +bcm5974 +bcm63138_nand +bcm6368_nand +bcm7xxx +bcm87xx +bcm_vk +bcma +bcma-hcd +bcmsysport +bd6107 +bd71815-regulator +bd71828-regulator +bd718x7-regulator +bd9571mwv +bd9571mwv-regulator +bd9576-regulator +bd9576_wdt +bd99954-charger +bdc +be2iscsi +be2net +befs +bel-pfe +belkin_sa +berlin2-adc +bfa +bfq +bfs +bfusb +bh1750 +bh1770glc +bh1780 +binder_linux +binfmt_misc +blake2b-neon +blake2b_generic +block2mtd +blocklayoutdriver +blowfish_common +blowfish_generic +bluetooth +bluetooth_6lowpan +bma150 +bma220_spi +bma400_core +bma400_i2c +bma400_spi +bmc150-accel-core +bmc150-accel-i2c +bmc150-accel-spi +bmc150_magn +bmc150_magn_i2c +bmc150_magn_spi +bme680_core +bme680_i2c +bme680_spi +bmg160_core +bmg160_i2c +bmg160_spi +bmi088-accel-core +bmi088-accel-spi +bmi160_core +bmi160_i2c +bmi160_spi +bmp280 +bmp280-i2c +bmp280-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bnxt_en +bochs +bonding +bpa-rs600 +bpa10x +bpck +bpck6 +bpfilter +bpqether +bq2415x_charger +bq24190_charger +bq24257_charger +bq24735-charger +bq2515x_charger +bq256xx_charger +bq25890_charger +bq25980_charger +bq27xxx_battery +bq27xxx_battery_hdq +bq27xxx_battery_i2c +br2684 +br_netfilter +brcmfmac +brcmnand +brcmsmac +brcmstb_nand +brcmutil +brd +bridge +broadcom +bsd_comp +bt-bmc +bt819 +bt856 +bt866 +bt878 +btbcm +btcoexist +btintel +btmrvl +btmrvl_sdio +btmtk +btmtksdio +btmtkuart +btqca +btqcomsmd +btrfs +btrsi +btrtl +btsdio +bttv +btusb +bu21013_ts +bu21029_ts +budget +budget-av +budget-ci +budget-core +budget-patch +c67x00 +c6xdigio +c_can +c_can_pci +c_can_platform +ca8210 +caam +caam_jr +caamalg_desc +caamhash_desc +cachefiles +cadence-nand-controller +cadence_wdt +cafe_ccic +cafe_nand +caif +caif_serial +caif_socket +caif_usb +caif_virtio +camcc-sc7180 +camcc-sc7280 +camcc-sdm845 +camcc-sm8250 +camellia_generic +can +can-bcm +can-dev +can-gw +can-isotp +can-j1939 +can-raw +cap11xx +capmode +capsule-loader +carl9170 +carminefb +cassini +cast5_generic +cast6_generic +cast_common +catc +cb710 +cb710-mmc +cb_pcidas +cb_pcidas64 +cb_pcidda +cb_pcimdas +cb_pcimdda +cc10001_adc +cc2520 +cc770 +cc770_isa +cc770_platform +ccm +ccree +ccs +ccs-pll +ccs811 +cctrng +cdc-acm +cdc-phonet +cdc-wdm +cdc_eem +cdc_ether +cdc_mbim +cdc_ncm +cdc_subset +cdns-csi2rx +cdns-csi2tx +cdns-dphy +cdns-dphy-rx +cdns-dsi +cdns-mhdp8546 +cdns-pltfrm +cdns-usb-common +cdns3 +cdns3-imx +cec +ceph +cfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch +ch341 +ch7006 +ch7322 +ch9200 +ch_ipsec +ch_ktls +chacha-neon +chacha20poly1305 +chacha_generic +chaoskey +charlcd +chcr +chipone-icn6211 +chipone_icn8318 +chnl_net +chrontel-ch7033 +ci_hdrc +ci_hdrc_imx +ci_hdrc_msm +ci_hdrc_pci +ci_hdrc_tegra +ci_hdrc_usb2 +cicada +cifs +cifs_arc4 +cifs_md4 +cirrus +cirrusfb +clip +clk-axi-clkgen +clk-bd718x7 +clk-cdce706 +clk-cdce925 +clk-cs2000-cp +clk-hi3519 +clk-hi655x +clk-imx8ulp +clk-imx93 +clk-lmk04832 +clk-lochnagar +clk-max77686 +clk-max9485 +clk-palmas +clk-pwm +clk-qcom +clk-renesas-pcie +clk-rk808 +clk-rpm +clk-rpmh +clk-s2mps11 +clk-scmi +clk-scpi +clk-si514 +clk-si5341 +clk-si5351 +clk-si544 +clk-si570 +clk-smd-rpm +clk-spmi-pmic-div +clk-twl6040 +clk-versaclock5 +clk-wm831x +clk-xlnx-clock-wizard +cls_basic +cls_bpf +cls_cgroup +cls_flow +cls_flower +cls_fw +cls_matchall +cls_route +cls_rsvp +cls_rsvp6 +cls_u32 +cm109 +cm32181 +cm3232 +cm3323 +cm3605 +cm36651 +cma3000_d0x +cma3000_d0x_i2c +cmac +cmt_speech +cmtp +cnic +cobra +coda +coda-vpu +colibri-vf50-ts +com20020 +com20020-pci +com90io +com90xx +comedi +comedi_8254 +comedi_8255 +comedi_bond +comedi_example_test +comedi_parport +comedi_pci +comedi_test +comedi_usb +comm +contec_pci_dio +cordic +core +corsair-cpro +corsair-psu +cortina +counter +cp210x +cpcap-adc +cpcap-battery +cpcap-charger +cpcap-pwrbutton +cpcap-regulator +cpia2 +cppi41 +cpr +cramfs +crc-itu-t +crc32-arm-ce +crc32_generic +crc4 +crc7 +crct10dif-arm-ce +crg-hi3516cv300 +crg-hi3798cv200 +cros-ec-anx7688 +cros-ec-cec +cros-ec-regulator +cros-ec-sensorhub +cros_ec +cros_ec_accel_legacy +cros_ec_baro +cros_ec_chardev +cros_ec_debugfs +cros_ec_dev +cros_ec_i2c +cros_ec_keyb +cros_ec_lid_angle +cros_ec_light_prox +cros_ec_lightbar +cros_ec_mkbp_proximity +cros_ec_rpmsg +cros_ec_sensors +cros_ec_sensors_core +cros_ec_spi +cros_ec_sysfs +cros_ec_typec +cros_ec_vbc +cros_peripheral_charger +cros_usbpd-charger +cros_usbpd_logger +cros_usbpd_notify +cryptd +crypto_engine +crypto_safexcel +crypto_simd +crypto_user +cs3308 +cs5345 +cs53l32a +cs89x0 +cs_dsp +csiostor +ctucanfd +ctucanfd_pci +ctucanfd_platform +curve25519-generic +curve25519-neon +cuse +cw1200_core +cw1200_wlan_sdio +cw1200_wlan_spi +cw2015_battery +cx18 +cx18-alsa +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24117 +cx24120 +cx24123 +cx25821 +cx25821-alsa +cx25840 +cx82310_eth +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx8800 +cx8802 +cx88xx +cxacru +cxd2099 +cxd2820r +cxd2841er +cxd2880 +cxd2880-spi +cxgb +cxgb3 +cxgb3i +cxgb4 +cxgb4i +cxgb4vf +cxgbit +cxl_core +cxl_mem +cxl_pci +cxl_port +cy8ctma140 +cy8ctmg110_ts +cyapatp +cyber2000fb +cyberjack +cypress-sf +cypress_cy7c63 +cypress_firmware +cypress_m8 +cytherm +cyttsp4_core +cyttsp4_i2c +cyttsp4_spi +cyttsp_core +cyttsp_i2c +cyttsp_i2c_common +cyttsp_spi +da280 +da311 +da7280 +da8xx-fb +da9030_battery +da9034-ts +da903x-regulator +da903x_bl +da9052-battery +da9052-hwmon +da9052-regulator +da9052_bl +da9052_onkey +da9052_tsi +da9052_wdt +da9055-hwmon +da9055-regulator +da9055_onkey +da9055_wdt +da9062-core +da9062-regulator +da9062-thermal +da9062_wdt +da9063-regulator +da9063_onkey +da9063_wdt +da9121-regulator +da9150-charger +da9150-core +da9150-fg +da9150-gpadc +da9210-regulator +da9211-regulator +dac02 +daqboard2000 +das08 +das08_isa +das08_pci +das16 +das16m1 +das1800 +das6402 +das800 +davicom +db9 +dc395x +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +ddbridge +ddbridge-dummy-fe +de2104x +decnet +defxx +delta-ahe50dc-fan +denali +denali_dt +denali_pci +des_generic +designware_i2s +dfl +dfl-afu +dfl-emif +dfl-fme +dfl-fme-br +dfl-fme-mgr +dfl-fme-region +dfl-n3000-nios +dfl-pci +dht11 +diag +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +digicolor-usart +diskonchip +dispcc-qcm2290 +dispcc-sc7180 +dispcc-sc7280 +dispcc-sdm845 +dispcc-sm6125 +dispcc-sm6350 +dispcc-sm8250 +display-connector +dl2k +dlhl60d +dlink-dir685-touchkeys +dlm +dln2 +dln2-adc +dm-bio-prison +dm-bufio +dm-cache +dm-cache-smq +dm-clone +dm-crypt +dm-delay +dm-era +dm-flakey +dm-historical-service-time +dm-integrity +dm-io-affinity +dm-log +dm-log-userspace +dm-log-writes +dm-mirror +dm-multipath +dm-persistent-data +dm-queue-length +dm-raid +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dm-switch +dm-thin-pool +dm-unstripe +dm-verity +dm-writecache +dm-zero +dm-zoned +dm1105 +dm9000 +dm9051 +dm9601 +dma-axi-dmac +dmard06 +dmard09 +dmard10 +dme1737 +dmfe +dmi-sysfs +dmm32at +dmx3191d +dn_rtmsg +dnet +dove_thermal +dp83640 +dp83822 +dp83848 +dp83867 +dp83869 +dp83tc811 +dp83td510 +dpot-dac +dps310 +dps920ab +drbd +drivetemp +drm +drm_cma_helper +drm_display_helper +drm_dp_aux_bus +drm_kms_helper +drm_mipi_dbi +drm_shmem_helper +drm_ttm_helper +drm_vram_helper +drv260x +drv2665 +drv2667 +drx39xyj +drxd +drxk +ds1621 +ds1682 +ds1803 +ds1wm +ds2482 +ds2490 +ds2760_battery +ds2780_battery +ds2781_battery +ds2782_battery +ds3000 +ds4424 +ds620 +dsa_core +dsbr100 +dst +dst_ca +dstr +dt2801 +dt2811 +dt2814 +dt2815 +dt2817 +dt282x +dt3000 +dt3155 +dt9812 +dtpm +dummy +dummy-irq +dummy_stm +dvb-as102 +dvb-bt8xx +dvb-core +dvb-pll +dvb-ttpci +dvb-ttusb-budget +dvb-usb +dvb-usb-a800 +dvb-usb-af9005 +dvb-usb-af9005-remote +dvb-usb-af9015 +dvb-usb-af9035 +dvb-usb-anysee +dvb-usb-au6610 +dvb-usb-az6007 +dvb-usb-az6027 +dvb-usb-ce6230 +dvb-usb-cinergyT2 +dvb-usb-cxusb +dvb-usb-dib0700 +dvb-usb-dibusb-common +dvb-usb-dibusb-mb +dvb-usb-dibusb-mc +dvb-usb-dibusb-mc-common +dvb-usb-digitv +dvb-usb-dtt200u +dvb-usb-dtv5100 +dvb-usb-dvbsky +dvb-usb-dw2102 +dvb-usb-ec168 +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-lmedm04 +dvb-usb-m920x +dvb-usb-mxl111sf +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-pctv452e +dvb-usb-rtl28xxu +dvb-usb-technisat-usb2 +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +dvb_dummy_fe +dvb_usb_v2 +dw-axi-dmac-platform +dw-edma +dw-edma-pcie +dw-hdmi +dw-hdmi-ahb-audio +dw-hdmi-cec +dw-hdmi-gp-audio +dw-hdmi-i2s-audio +dw-i3c-master +dw-mipi-dsi +dw-xdata-pcie +dw9714 +dw9768 +dw9807-vcm +dw_dmac +dw_dmac_core +dw_dmac_pci +dw_hdmi-imx +dw_mipi_dsi-stm +dw_mmc +dw_mmc-bluefield +dw_mmc-exynos +dw_mmc-hi3798cv200 +dw_mmc-k3 +dw_mmc-pci +dw_mmc-pltfm +dw_mmc-rockchip +dw_wdt +dwc-xlgmac +dwc2_pci +dwc3 +dwc3-haps +dwc3-meson-g12a +dwc3-of-simple +dwc3-omap +dwc3-qcom +dwmac-altr-socfpga +dwmac-dwc-qos-eth +dwmac-generic +dwmac-imx +dwmac-intel-plat +dwmac-ipq806x +dwmac-loongson +dwmac-mediatek +dwmac-meson +dwmac-meson8b +dwmac-qcom-ethqos +dwmac-rk +dyna_pci10xx +dynapro +e100 +e1000 +e1000e +e3x0-button +e4000 +earth-pt1 +earth-pt3 +ebt_802_3 +ebt_among +ebt_arp +ebt_arpreply +ebt_dnat +ebt_ip +ebt_ip6 +ebt_limit +ebt_log +ebt_mark +ebt_mark_m +ebt_nflog +ebt_pkttype +ebt_redirect +ebt_snat +ebt_stp +ebt_vlan +ebtable_broute +ebtable_filter +ebtable_nat +ebtables +ec100 +ecc +ecc-mtk +ecdh_generic +ecdsa_generic +echainiv +echo +ecrdsa_generic +edt-ft5x06 +ee1004 +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efct +efi-pstore +efi_test +efibc +efs +egalax_ts +egalax_ts_serial +ehci-fsl +ehci-npcm7xx +ehci-omap +ehci-platform +ehset +ektf2127 +elan_i2c +elants_i2c +elo +em28xx +em28xx-alsa +em28xx-dvb +em28xx-rc +em28xx-v4l +em_canid +em_cmp +em_ipset +em_ipt +em_meta +em_nbyte +em_text +em_u32 +emac_rockchip +emc1403 +emc2103 +emc6w201 +emi26 +emi62 +emif +empeg +ems_pci +ems_usb +emu10k1-gp +ena +enc28j60 +enclosure +encx24j600 +encx24j600-regmap +eni +enic +envelope-detector +epat +epia +epic100 +eql +erofs +error +esas2r +esd_usb2 +esp4 +esp4_offload +esp6 +esp6_offload +esp_scsi +essiv +et1011c +et131x +et8ek8 +etas_es58x +ethoc +etnaviv +evbug +exc3000 +exfat +extcon-adc-jack +extcon-fsa9480 +extcon-gpio +extcon-max14577 +extcon-max3355 +extcon-max77693 +extcon-max77843 +extcon-max8997 +extcon-palmas +extcon-ptn5150 +extcon-qcom-spmi-misc +extcon-rt8973a +extcon-sm5502 +extcon-usb-gpio +extcon-usbc-cros-ec +extcon-usbc-tusb320 +exynosdrm +ezusb +f2fs +f71805f +f71882fg +f75375s +f81232 +f81534 +f81601 +failover +fakelb +fan53555 +fan53880 +farsync +fastrpc +faulty +fb_agm1264k-fl +fb_bd663474 +fb_ddc +fb_hx8340bn +fb_hx8347d +fb_hx8353d +fb_hx8357d +fb_ili9163 +fb_ili9320 +fb_ili9325 +fb_ili9340 +fb_ili9341 +fb_ili9481 +fb_ili9486 +fb_pcd8544 +fb_ra8875 +fb_s6d02a1 +fb_s6d1121 +fb_seps525 +fb_sh1106 +fb_ssd1289 +fb_ssd1305 +fb_ssd1306 +fb_ssd1325 +fb_ssd1331 +fb_ssd1351 +fb_st7735r +fb_st7789v +fb_sys_fops +fb_tinylcd +fb_tls8204 +fb_uc1611 +fb_uc1701 +fb_upd161704 +fbtft +fc0011 +fc0012 +fc0013 +fc2580 +fcoe +fcrypt +fdomain +fdomain_pci +fdp +fdp_i2c +fealnx +ff-memless +fieldbus_dev +firedtv +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +firewire-serial +fit2 +fit3 +fl512 +flexcan +fm10k +fm801-gp +fm_drv +forcedeth +fore_200e +fotg210-hcd +fotg210-udc +fou +fou6 +fpga-bridge +fpga-mgr +fpga-region +freevxfs +friq +frpw +fsa4480 +fscache +fsi-core +fsi-master-aspeed +fsi-master-ast-cf +fsi-master-gpio +fsi-master-hub +fsi-occ +fsi-sbefifo +fsi-scom +fsia6b +fsl-dcu-drm +fsl-edma +fsl-edma-common +fsl-enetc +fsl-enetc-ierb +fsl-enetc-mdio +fsl-enetc-ptp +fsl-enetc-vf +fsl-ldb +fsl-mph-dr-of +fsl-qdma +fsl_imx8_ddr_perf +fsl_linflexuart +fsl_lpuart +fsl_pq_mdio +fsl_ucc_hdlc +fsp-3y +ftdi-elan +ftdi_sio +ftgmac100 +ftl +ftm-quaddec +ftmac100 +ftsteutates +ftwdt010_wdt +fujitsu_ts +funcore +funeth +fusb300_udc +fusb302 +fxas21002c_core +fxas21002c_i2c +fxas21002c_spi +fxls8962af-core +fxls8962af-i2c +fxls8962af-spi +fxos8700_core +fxos8700_i2c +fxos8700_spi +g450_pll +g760a +g762 +g_acm_ms +g_audio +g_cdc +g_dbgp +g_ether +g_ffs +g_hid +g_mass_storage +g_midi +g_ncm +g_nokia +g_printer +g_serial +g_webcam +g_zero +gadgetfs +gamecon +gameport +garmin_gps +garp +gateworks-gsc +gb-audio-apbridgea +gb-audio-codec +gb-audio-gb +gb-audio-manager +gb-audio-module +gb-bootrom +gb-es2 +gb-firmware +gb-gbphy +gb-gpio +gb-hid +gb-i2c +gb-light +gb-log +gb-loopback +gb-power-supply +gb-pwm +gb-raw +gb-sdio +gb-spi +gb-spilib +gb-uart +gb-usb +gb-vibrator +gcc-apq8084 +gcc-ipq4019 +gcc-ipq6018 +gcc-ipq806x +gcc-ipq8074 +gcc-mdm9607 +gcc-mdm9615 +gcc-msm8660 +gcc-msm8916 +gcc-msm8939 +gcc-msm8953 +gcc-msm8960 +gcc-msm8974 +gcc-msm8976 +gcc-msm8994 +gcc-msm8996 +gcc-msm8998 +gcc-qcm2290 +gcc-qcs404 +gcc-sc7180 +gcc-sc7280 +gcc-sc8180x +gcc-sc8280xp +gcc-sdm660 +gcc-sdm845 +gcc-sdx55 +gcc-sdx65 +gcc-sm6115 +gcc-sm6125 +gcc-sm6350 +gcc-sm8150 +gcc-sm8250 +gcc-sm8350 +gcc-sm8450 +gdmtty +gdmulte +ge2d +gemini +gen_probe +generic +generic-adc-battery +genet +geneve +gf2k +gfs2 +ghash-arm-ce +gianfar_driver +gl518sm +gl520sm +gl620a +gluebi +gm12u320 +gnss +gnss-mtk +gnss-serial +gnss-sirf +gnss-ubx +gnss-usb +go7007 +go7007-loader +go7007-usb +goku_udc +goldfish_battery +goodix_ts +gp2ap002 +gp2ap020a00f +gp8psk-fe +gpi +gpio +gpio-74x164 +gpio-74xx-mmio +gpio-adnp +gpio-adp5520 +gpio-adp5588 +gpio-aggregator +gpio-altera +gpio-altera-a10sr +gpio-amd-fch +gpio-arizona +gpio-aspeed +gpio-bd71815 +gpio-bd71828 +gpio-bd9571mwv +gpio-beeper +gpio-cadence +gpio-charger +gpio-da9052 +gpio-da9055 +gpio-dln2 +gpio-dwapb +gpio-en7523 +gpio-exar +gpio-fan +gpio-grgpio +gpio-gw-pld +gpio-hlwd +gpio-ir-recv +gpio-ir-tx +gpio-janz-ttl +gpio-kempld +gpio-logicvc +gpio-lp3943 +gpio-lp873x +gpio-lp87565 +gpio-madera +gpio-max3191x +gpio-max7300 +gpio-max7301 +gpio-max730x +gpio-max732x +gpio-max77620 +gpio-max77650 +gpio-mb86s7x +gpio-mc33880 +gpio-menz127 +gpio-moxtet +gpio-pca953x +gpio-pca9570 +gpio-pcf857x +gpio-pci-idio-16 +gpio-pcie-idio-24 +gpio-pisosr +gpio-rcar +gpio-rdc321x +gpio-regulator +gpio-rockchip +gpio-sama5d2-piobu +gpio-sim +gpio-siox +gpio-syscon +gpio-tpic2810 +gpio-tps65086 +gpio-tps65218 +gpio-tps65912 +gpio-ts4800 +gpio-ts4900 +gpio-ucb1400 +gpio-vibra +gpio-viperboard +gpio-virtio +gpio-wcd934x +gpio-wm831x +gpio-wm8350 +gpio-wm8994 +gpio-xra1403 +gpio_backlight +gpio_decoder +gpio_keys +gpio_keys_polled +gpio_mouse +gpio_wdt +gpmi-nand +gpu-sched +gpucc-msm8998 +gpucc-sc7180 +gpucc-sc7280 +gpucc-sdm660 +gpucc-sdm845 +gpucc-sm6350 +gpucc-sm8150 +gpucc-sm8250 +gr_udc +grace +grcan +gre +greybus +grip +grip_mp +gs1662 +gs_usb +gsc-hwmon +gsc_hpdi +gspca_benq +gspca_conex +gspca_cpia1 +gspca_dtcs033 +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_jl2005bcd +gspca_kinect +gspca_konica +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_nw80x +gspca_ov519 +gspca_ov534 +gspca_ov534_9 +gspca_pac207 +gspca_pac7302 +gspca_pac7311 +gspca_se401 +gspca_sn9c2028 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca1528 +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_sq930x +gspca_stk014 +gspca_stk1135 +gspca_stv0680 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_topro +gspca_touptek +gspca_tv8532 +gspca_vc032x +gspca_vicam +gspca_xirlink_cit +gspca_zc3xx +gtp +gud +guillemot +gunze +gve +gxp-wdt +habanalabs +hackrf +hamachi +hampshire +hantro-vpu +hanwang +hci +hci_nokia +hci_uart +hci_vhci +hclge +hclgevf +hd3ss3220 +hd44780 +hd44780_common +hdc100x +hdc2010 +hdlc +hdlc_cisco +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdlcd +hdlcdrv +hdma +hdma_mgmt +hdpvr +he +helene +hellcreek_sw +hexium_gemini +hexium_orion +hfcmulti +hfcpci +hfcsusb +hfpll +hfs +hfsplus +hi311x +hi3660-mailbox +hi556 +hi6210-i2s +hi6220-mailbox +hi6220_reset +hi6421-pmic-core +hi6421-regulator +hi6421-spmi-pmic +hi6421v530-regulator +hi6421v600-irq +hi6421v600-regulator +hi655x-pmic +hi655x-regulator +hi8435 +hi846 +hi847 +hid +hid-a4tech +hid-accutouch +hid-alps +hid-apple +hid-appleir +hid-asus +hid-aureal +hid-axff +hid-belkin +hid-betopff +hid-bigbenff +hid-cherry +hid-chicony +hid-cmedia +hid-corsair +hid-cougar +hid-cp2112 +hid-creative-sb0540 +hid-cypress +hid-dr +hid-elan +hid-elecom +hid-elo +hid-emsff +hid-ezkey +hid-ft260 +hid-gaff +hid-gembird +hid-generic +hid-gfrm +hid-glorious +hid-google-hammer +hid-gt683r +hid-gyration +hid-holtek-kbd +hid-holtek-mouse +hid-holtekff +hid-icade +hid-ite +hid-jabra +hid-kensington +hid-keytouch +hid-kye +hid-lcpower +hid-led +hid-lenovo +hid-letsketch +hid-lg-g15 +hid-logitech +hid-logitech-dj +hid-logitech-hidpp +hid-macally +hid-magicmouse +hid-maltron +hid-mcp2221 +hid-megaworld +hid-mf +hid-microsoft +hid-monterey +hid-multitouch +hid-nintendo +hid-nti +hid-ntrig +hid-ortek +hid-penmount +hid-petalynx +hid-picolcd +hid-pl +hid-plantronics +hid-playstation +hid-primax +hid-prodikeys +hid-razer +hid-redragon +hid-retrode +hid-rmi +hid-roccat +hid-roccat-arvo +hid-roccat-common +hid-roccat-isku +hid-roccat-kone +hid-roccat-koneplus +hid-roccat-konepure +hid-roccat-kovaplus +hid-roccat-lua +hid-roccat-pyra +hid-roccat-ryos +hid-roccat-savu +hid-saitek +hid-samsung +hid-semitek +hid-sensor-accel-3d +hid-sensor-als +hid-sensor-custom +hid-sensor-custom-intel-hinge +hid-sensor-gyro-3d +hid-sensor-hub +hid-sensor-humidity +hid-sensor-iio-common +hid-sensor-incl-3d +hid-sensor-magn-3d +hid-sensor-press +hid-sensor-prox +hid-sensor-rotation +hid-sensor-temperature +hid-sensor-trigger +hid-sigmamicro +hid-sjoy +hid-sony +hid-speedlink +hid-steam +hid-steelseries +hid-sunplus +hid-thrustmaster +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-u2fzero +hid-uclogic +hid-udraw-ps3 +hid-viewsonic +hid-vivaldi +hid-vivaldi-common +hid-waltop +hid-wiimote +hid-xiaomi +hid-xinmo +hid-zpff +hid-zydacron +hideep +hidp +hifn_795x +highbank-cpufreq +highbank_l2_edac +highbank_mc_edac +hih6130 +hip04_eth +hisi-rng +hisi-sfc +hisi-spmi-controller +hisi504_nand +hisi_femac +hisi_hikey_usb +hisi_powerkey +hisi_thermal +hix5hd2_gmac +hmc425a +hmc5843_core +hmc5843_i2c +hmc5843_spi +hmc6352 +hms-profinet +hnae +hnae3 +hns_dsaf +hns_enet_drv +hns_mdio +hopper +horus3a +host1x +hostap +hostap_pci +hostap_plx +hp03 +hp206c +hpfs +hpilo +hpsa +hptiop +hsi +hsi_char +hso +hsr +ht16k33 +htc-pasic3 +hts221 +hts221_i2c +hts221_spi +htu21 +huawei_cdc_ncm +hwmon-vid +hx711 +hx8357 +hx8357d +hycon-hy46xx +hyperbus-core +i2c-algo-bit +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-altera +i2c-amd756 +i2c-amd8111 +i2c-arb-gpio-challenge +i2c-aspeed +i2c-cbus-gpio +i2c-ccgx-ucsi +i2c-cp2615 +i2c-cros-ec-tunnel +i2c-demux-pinctrl +i2c-designware-pci +i2c-diolan-u2c +i2c-dln2 +i2c-fsi +i2c-gpio +i2c-hid +i2c-hid-of +i2c-hid-of-goodix +i2c-hix5hd2 +i2c-i801 +i2c-imx-lpi2c +i2c-isch +i2c-kempld +i2c-matroxfb +i2c-meson +i2c-mt65xx +i2c-mux +i2c-mux-gpio +i2c-mux-gpmux +i2c-mux-ltc4306 +i2c-mux-mlxcpld +i2c-mux-pca9541 +i2c-mux-pca954x +i2c-mux-pinctrl +i2c-mux-reg +i2c-mv64xxx +i2c-nforce2 +i2c-nomadik +i2c-npcm7xx +i2c-nvidia-gpu +i2c-ocores +i2c-owl +i2c-parport +i2c-pca-platform +i2c-piix4 +i2c-pxa +i2c-qcom-cci +i2c-qcom-geni +i2c-qup +i2c-rcar +i2c-riic +i2c-rk3x +i2c-robotfuzz-osif +i2c-sh_mobile +i2c-simtec +i2c-sis5595 +i2c-sis630 +i2c-sis96x +i2c-slave-eeprom +i2c-smbus +i2c-stub +i2c-taos-evm +i2c-tegra +i2c-tegra-bpmp +i2c-tiny-usb +i2c-versatile +i2c-via +i2c-viapro +i2c-viperboard +i2c-virtio +i2c-xiic +i3c +i3c-master-cdns +i40e +i5k_amb +i6300esb +i740fb +iavf +ib_cm +ib_core +ib_ipoib +ib_iser +ib_isert +ib_mthca +ib_srp +ib_srpt +ib_umad +ib_uverbs +ibm-cffps +ibmaem +ibmpex +icc-bcm-voter +icc-osm-l3 +icc-rpmh +icc-smd-rpm +ice +ice40-spi +icp10100 +icp_multi +icplus +ics932s401 +idma64 +idmouse +idt77252 +idt_89hpesx +idt_gen2 +idt_gen3 +idtcps +ieee802154 +ieee802154_6lowpan +ieee802154_socket +ifb +ifcvf +ife +ifi_canfd +iforce +iforce-serio +iforce-usb +igb +igbvf +igc +igorplugusb +iguanair +ii_pci20kc +iio-mux +iio-rescale +iio-trig-hrtimer +iio-trig-interrupt +iio-trig-loop +iio-trig-sysfs +iio_dummy +iio_hwmon +ila +ili210x +ili9163 +ili9225 +ili922x +ili9320 +ili9341 +ili9486 +ilitek_ts_i2c +imagis +img-ascii-lcd +img-i2s-in +img-i2s-out +img-parallel-out +img-spdif-in +img-spdif-out +imm +imon +imon_raw +impa7 +ims-pcu +imx-audio-rpmsg +imx-bus +imx-cpufreq-dt +imx-dma +imx-dsp +imx-interconnect +imx-ipu-v3 +imx-ldb +imx-mailbox +imx-media-common +imx-mipi-csis +imx-pcm-rpmsg +imx-pxp +imx-rngc +imx-sdma +imx-tve +imx-vdoa +imx208 +imx214 +imx219 +imx258 +imx274 +imx290 +imx2_wdt +imx319 +imx334 +imx335 +imx355 +imx412 +imx6-media +imx6-media-csi +imx6-mipi-csi2 +imx6q-cpufreq +imx6ul_tsc +imx7-media-csi +imx7d_adc +imx7ulp_wdt +imx8m-ddrc +imx8mm-interconnect +imx8mm_thermal +imx8mn-interconnect +imx8mq-interconnect +imx8mq-mipi-csi2 +imx8qxp-adc +imx_dsp_rproc +imx_keypad +imx_rproc +imx_sc_key +imx_sc_thermal +imx_sc_wdt +imx_thermal +imxdrm +imxfb +ina209 +ina238 +ina2xx +ina2xx-adc +ina3221 +industrialio +industrialio-buffer-cb +industrialio-buffer-dma +industrialio-buffer-dmaengine +industrialio-configfs +industrialio-hw-consumer +industrialio-sw-device +industrialio-sw-trigger +industrialio-triggered-buffer +industrialio-triggered-event +inet_diag +inexio +inftl +initio +input-leds +inspur-ipsps +int51x1 +intel-m10-bmc +intel-m10-bmc-hwmon +intel-nand-controller +intel-qep +intel-xway +intel_th +intel_th_gth +intel_th_msu +intel_th_msu_sink +intel_th_pci +intel_th_pti +intel_th_sth +intel_vr_nor +interact +interrupt-cnt +inv-icm42600 +inv-icm42600-i2c +inv-icm42600-spi +inv-mpu6050 +inv-mpu6050-i2c +inv-mpu6050-spi +io-domain +io_edgeport +io_ti +iosm +iova +iowarrior +ip5xxx_power +ip6_gre +ip6_tables +ip6_tunnel +ip6_udp_tunnel +ip6_vti +ip6t_NPT +ip6t_REJECT +ip6t_SYNPROXY +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_mh +ip6t_rpfilter +ip6t_rt +ip6t_srh +ip6table_filter +ip6table_mangle +ip6table_nat +ip6table_raw +ip6table_security +ip_gre +ip_set +ip_set_bitmap_ip +ip_set_bitmap_ipmac +ip_set_bitmap_port +ip_set_hash_ip +ip_set_hash_ipmac +ip_set_hash_ipmark +ip_set_hash_ipport +ip_set_hash_ipportip +ip_set_hash_ipportnet +ip_set_hash_mac +ip_set_hash_net +ip_set_hash_netiface +ip_set_hash_netnet +ip_set_hash_netport +ip_set_hash_netportnet +ip_set_list_set +ip_tables +ip_tunnel +ip_vs +ip_vs_dh +ip_vs_fo +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_mh +ip_vs_nq +ip_vs_ovf +ip_vs_pe_sip +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_twos +ip_vs_wlc +ip_vs_wrr +ip_vti +ipa +ipack +ipaq +ipcomp +ipcomp6 +iphase +ipheth +ipip +ipmb_dev_int +ipmi_devintf +ipmi_ipmb +ipmi_msghandler +ipmi_poweroff +ipmi_si +ipmi_ssif +ipmi_watchdog +ipoctal +ipr +iproc_nand +ips +ipt_CLUSTERIP +ipt_ECN +ipt_REJECT +ipt_SYNPROXY +ipt_ah +ipt_rpfilter +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +iptable_security +ipvlan +ipvtap +ipw +ipw2100 +ipw2200 +iqs269a +iqs5xx +iqs620at-temp +iqs621-als +iqs624-pos +iqs626a +iqs62x +iqs62x-keys +iqs7222 +ir-hix5hd2 +ir-imon-decoder +ir-jvc-decoder +ir-kbd-i2c +ir-mce_kbd-decoder +ir-nec-decoder +ir-rc5-decoder +ir-rc6-decoder +ir-rcmm-decoder +ir-rx51 +ir-sanyo-decoder +ir-sharp-decoder +ir-sony-decoder +ir-spi +ir-usb +ir-xmp-decoder +ir35221 +ir36021 +ir38064 +ir_toy +irdma +irps5401 +irq-madera +irq-pruss-intc +irq-qcom-mpm +irq-ts4800 +irqbypass +iscsi_boot_sysfs +iscsi_target_mod +iscsi_tcp +isdnhdlc +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl29125 +isl29501 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isl68137 +isl7998x +isl9305 +isofs +isp116x-hcd +isp1704_charger +isp1760 +it87 +it913x +itd1000 +ite-it6505 +ite-it66121 +itg3200 +iuu_phoenix +ivtv +ivtv-alsa +ivtvfb +iw_cm +iw_cxgb4 +iwl3945 +iwl4965 +iwldvm +iwlegacy +iwlmvm +iwlwifi +ix2505v +ixgb +ixgbe +ixgbevf +janz-cmodio +janz-ican3 +jc42 +jedec_probe +jffs2 +jfs +jmb38x_ms +jme +joydev +joydump +jr3_pci +jsa1212 +jsm +k3dma +kafs +kalmia +kaweth +kbic +kbtab +kcm +kcomedilib +kcs_bmc +kcs_bmc_aspeed +kcs_bmc_cdev_ipmi +kcs_bmc_npcm7xx +kcs_bmc_serio +ke_counter +kempld-core +kempld_wdt +kernelcapi +keyspan +keyspan_pda +keyspan_remote +keywrap +kfifo_buf +khadas-mcu +khadas_mcu_fan +kheaders +kl5kusb105 +kmx61 +kobil_sct +komeda +kpss-xcc +krait-cc +ks0108 +ks0127 +ks7010 +ks8842 +ks8851_common +ks8851_par +ks8851_spi +ksmbd +ksz8795 +ksz8795_spi +ksz884x +ksz8863_smi +ksz9477 +ksz9477_i2c +ksz9477_spi +ksz_common +ktd253-backlight +ktti +kvaser_pci +kvaser_pciefd +kvaser_usb +kxcjk-1013 +kxsd9 +kxsd9-i2c +kxsd9-spi +kxtj9 +kyber-iosched +kyrofb +l1oip +l2tp_core +l2tp_debugfs +l2tp_eth +l2tp_ip +l2tp_ip6 +l2tp_netlink +l2tp_ppp +l4f00242t03 +l64781 +lan743x +lan78xx +lan9303-core +lan9303_i2c +lan9303_mdio +lan966x-switch +lan966x_serdes +lanai +lantiq_gswip +lapb +lapbether +lattice-ecp3-config +lcc-ipq806x +lcc-mdm9615 +lcc-msm8960 +lcd +lcd2s +ldusb +lec +led-class-flash +led-class-multicolor +led_bl +leds-88pm860x +leds-aat1290 +leds-acer-a500 +leds-adp5520 +leds-an30259a +leds-as3645a +leds-aw2013 +leds-bcm6328 +leds-bcm6358 +leds-bd2802 +leds-blinkm +leds-cpcap +leds-cr0014114 +leds-da903x +leds-da9052 +leds-dac124s085 +leds-el15203000 +leds-gpio +leds-is31fl319x +leds-is31fl32xx +leds-ktd2692 +leds-lm3530 +leds-lm3532 +leds-lm3533 +leds-lm355x +leds-lm3601x +leds-lm36274 +leds-lm3642 +leds-lm3692x +leds-lm3697 +leds-lp3944 +leds-lp3952 +leds-lp50xx +leds-lp5521 +leds-lp5523 +leds-lp5562 +leds-lp55xx-common +leds-lp8501 +leds-lp8788 +leds-lp8860 +leds-lt3593 +leds-max77650 +leds-max77693 +leds-max8997 +leds-mc13783 +leds-menf21bmc +leds-mlxreg +leds-mt6323 +leds-mt6360 +leds-ns2 +leds-pca9532 +leds-pca955x +leds-pca963x +leds-pm8058 +leds-pwm +leds-pwm-multicolor +leds-qcom-lpg +leds-regulator +leds-rt4505 +leds-rt8515 +leds-sgm3140 +leds-spi-byte +leds-tca6507 +leds-ti-lmu-common +leds-tlc591xx +leds-tps6105x +leds-turris-omnia +leds-wm831x-status +leds-wm8350 +ledtrig-activity +ledtrig-audio +ledtrig-backlight +ledtrig-camera +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-netdev +ledtrig-oneshot +ledtrig-pattern +ledtrig-timer +ledtrig-transient +ledtrig-tty +ledtrig-usbport +legousbtower +lg-vl600 +lg2160 +lgdt3305 +lgdt3306a +lgdt330x +lgs8gl5 +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libarc4 +libceph +libchacha +libchacha20poly1305 +libcomposite +libcrc32c +libcurve25519 +libcurve25519-generic +libcxgb +libcxgbi +libdes +libertas +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libpoly1305 +libsas +lightning +lima +line-display +lineage-pem +linear +linkstation-poweroff +lis3lv02d +lis3lv02d_i2c +lis3lv02d_spi +liteuart +litex_liteeth +litex_mmc +litex_soc_ctrl +lkkbd +ll_temac +llc +llc2 +llcc-qcom +lm25066 +lm3533-als +lm3533-core +lm3533-ctrlbank +lm3533_bl +lm3560 +lm3630a_bl +lm3639_bl +lm363x-regulator +lm3646 +lm63 +lm70 +lm73 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm8333 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95234 +lm95241 +lm95245 +lmh +lmp91000 +lms283gf05 +lms501kf03 +lnbh25 +lnbh29 +lnbp21 +lnbp22 +lochnagar-hwmon +lochnagar-regulator +lockd +lontium-lt8912b +lontium-lt9211 +lontium-lt9611 +lontium-lt9611uxc +lp +lp3943 +lp3971 +lp3972 +lp855x_bl +lp8727_charger +lp872x +lp873x +lp873x-regulator +lp8755 +lp87565 +lp87565-regulator +lp8788-buck +lp8788-charger +lp8788-ldo +lp8788_adc +lp8788_bl +lpass-gfm-sm8250 +lpassaudiocc-sc7280 +lpasscc-sc7280 +lpasscc-sdm845 +lpasscorecc-sc7180 +lpasscorecc-sc7280 +lpc_ich +lpc_sch +lpddr2_nvm +lpddr_cmds +lpfc +lru_cache +lrw +lt3651-charger +ltc1660 +ltc2471 +ltc2485 +ltc2496 +ltc2497 +ltc2497-core +ltc2632 +ltc2688 +ltc2941-battery-gauge +ltc2945 +ltc2947-core +ltc2947-i2c +ltc2947-spi +ltc2978 +ltc2983 +ltc2990 +ltc2992 +ltc3589 +ltc3676 +ltc3815 +ltc4151 +ltc4162-l-charger +ltc4215 +ltc4222 +ltc4245 +ltc4260 +ltc4261 +ltr501 +ltv350qv +lv0104cs +lv5207lp +lvds-codec +lvstest +lxt +lz4 +lz4_compress +lz4hc +lz4hc_compress +m2m-deinterlace +m52790 +m5mols +m62332 +m88ds3103 +m88rs2000 +m88rs6000t +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +m_can +m_can_pci +m_can_platform +mac-celtic +mac-centeuro +mac-croatian +mac-cyrillic +mac-gaelic +mac-greek +mac-iceland +mac-inuit +mac-roman +mac-romanian +mac-turkish +mac80211 +mac80211_hwsim +mac802154 +mac802154_hwsim +macb +macb_pci +machxo2-spi +macmodes +macsec +macvlan +macvtap +madera +madera-i2c +madera-spi +mag3110 +magellan +mailbox-altera +mailbox-test +mali-dp +mantis +mantis_core +map_absent +map_ram +map_rom +marvell +marvell-88x2222 +marvell-cesa +marvell10g +marvell_nand +matrix-keymap +matrix_keypad +matrox_w1 +matroxfb_DAC1064 +matroxfb_Ti3026 +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +max1027 +max11100 +max1111 +max1118 +max11801_ts +max1241 +max127 +max1363 +max14577-regulator +max14577_charger +max14656_charger_detector +max15301 +max1586 +max16064 +max16065 +max1619 +max16601 +max1668 +max17040_battery +max17042_battery +max1721x_battery +max197 +max20086-regulator +max20730 +max20751 +max2165 +max2175 +max30100 +max30102 +max3100 +max31722 +max31730 +max31785 +max31790 +max31856 +max31865 +max3420_udc +max3421-hcd +max34440 +max44000 +max44009 +max517 +max5432 +max5481 +max5487 +max5821 +max63xx_wdt +max6620 +max6621 +max6639 +max6642 +max6650 +max6697 +max6875 +max7359_keypad +max77620-regulator +max77620_thermal +max77620_wdt +max77650 +max77650-charger +max77650-onkey +max77650-regulator +max77686-regulator +max77693-haptic +max77693-regulator +max77693_charger +max77714 +max77802-regulator +max77826-regulator +max77976_charger +max8649 +max8660 +max8688 +max8893 +max8903_charger +max8907 +max8907-regulator +max8925-regulator +max8925_bl +max8925_onkey +max8925_power +max8952 +max8973-regulator +max8997-regulator +max8997_charger +max8997_haptic +max8998 +max8998_charger +max9271 +max9286 +max9611 +max96712 +maxim_thermocouple +mb1232 +mb862xxfb +mb86a16 +mb86a20s +mc +mc13783-adc +mc13783-pwrbutton +mc13783-regulator +mc13783_ts +mc13892-regulator +mc13xxx-core +mc13xxx-i2c +mc13xxx-regulator-core +mc13xxx-spi +mc3230 +mc44s803 +mcam-core +mcb +mcb-lpc +mcb-pci +mcba_usb +mcde_drm +mceusb +mchp23k256 +mchp48l640 +mcp16502 +mcp251x +mcp251xfd +mcp3021 +mcp320x +mcp3422 +mcp3911 +mcp4018 +mcp41010 +mcp4131 +mcp4531 +mcp4725 +mcp4922 +mcr20a +mcs5000_ts +mcs7830 +mcs_touchkey +mct_u232 +mctp-i2c +mctp-serial +md-cluster +md4 +mdc800 +mdev +mdio +mdio-aspeed +mdio-bcm-unimac +mdio-gpio +mdio-hisi-femac +mdio-i2c +mdio-ipq4019 +mdio-ipq8064 +mdio-mscc-miim +mdio-mux +mdio-mux-gpio +mdio-mux-meson-g12a +mdio-mux-mmioreg +mdio-mux-multiplexer +mdio-mvusb +mdt_loader +me4000 +me_daq +mediatek +mediatek-cpufreq +mediatek-cpufreq-hw +mediatek-drm +mediatek-drm-hdmi +mediatek-ge +megachips-stdpxxxx-ge-b850v3-fw +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +melfas_mip4 +memstick +men_z135_uart +men_z188_adc +mena21_wdt +menf21bmc +menf21bmc_hwmon +menf21bmc_wdt +menz69_wdt +meson-canvas +meson-drm +meson-gx-mmc +meson-gxl +meson-ir +meson-ir-tx +meson-mx-sdhc +meson-mx-sdio +meson-rng +meson-vdec +meson_dw_hdmi +meson_gxbb_wdt +meson_mx_ao_arc +meson_nand +meson_saradc +meson_wdt +metro-usb +metronomefb +mf6x4 +mgag200 +mhi +mhi_ep +mhi_net +mhi_pci_generic +mhi_wwan_ctrl +mhi_wwan_mbim +mi0283qt +michael_mic +micrel +microchip +microchip-tcb-capture +microchip_t1 +microread +microread_i2c +microtek +milbeaut-hdmac +milbeaut-xdmac +milbeaut_usio +minix +mip6 +mipi-i3c-hci +mite +mk712 +mkiss +ml86v7667 +mlx4_core +mlx4_en +mlx4_ib +mlx5-vfio-pci +mlx5_core +mlx5_ib +mlx5_vdpa +mlx90614 +mlx90632 +mlx_wdt +mlxfw +mlxreg-fan +mlxreg-hotplug +mlxreg-io +mlxreg-lc +mlxsw_core +mlxsw_i2c +mlxsw_minimal +mlxsw_pci +mlxsw_spectrum +mma7455_core +mma7455_i2c +mma7455_spi +mma7660 +mma8450 +mma8452 +mma9551 +mma9551_core +mma9553 +mmc35240 +mmc_spi +mmcc-apq8084 +mmcc-msm8960 +mmcc-msm8974 +mmcc-msm8994 +mmcc-msm8996 +mmcc-msm8998 +mmcc-sdm660 +mms114 +mn88443x +mn88472 +mn88473 +mos7720 +mos7840 +most_cdev +most_core +most_dim2 +most_i2c +most_net +most_snd +most_usb +most_video +motorcomm +motorola-cpcap +moxa +moxtet +mp2629 +mp2629_adc +mp2629_charger +mp2888 +mp2975 +mp5023 +mp5416 +mp8859 +mp886x +mpc624 +mpi3mr +mpl115 +mpl115_i2c +mpl115_spi +mpl3115 +mpls_gso +mpls_iptunnel +mpls_router +mpoa +mpq7920 +mpr121_touchkey +mpt3sas +mptbase +mptcp_diag +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mr75203 +mrf24j40 +mrp +ms5611_core +ms5611_i2c +ms5611_spi +ms5637 +ms_block +ms_sensors_i2c +msc313e_wdt +mscc +mscc_felix +mscc_ocelot +mscc_ocelot_switch_lib +mscc_seville +msdos +mse102x +msg2638 +msi001 +msi2500 +msm +msp3400 +mspro_block +mss-sc7180 +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt6311-regulator +mt6315-regulator +mt6323-regulator +mt6358-regulator +mt6359-accdet +mt6359-regulator +mt6360-adc +mt6360-core +mt6360-regulator +mt6360_charger +mt6380-regulator +mt6397 +mt6397-regulator +mt6577_auxadc +mt6779-keypad +mt6797-mt6351 +mt7530 +mt76 +mt76-connac-lib +mt76-sdio +mt76-usb +mt7601u +mt7603e +mt7615-common +mt7615e +mt7663-usb-sdio-common +mt7663s +mt7663u +mt76x0-common +mt76x02-lib +mt76x02-usb +mt76x0e +mt76x0u +mt76x2-common +mt76x2e +mt76x2u +mt7915e +mt7921-common +mt7921e +mt7921s +mt7921u +mt8183-da7219-max98357 +mt8183-mt6358-ts3a227-max98357 +mt8192-mt6359-rt1015-rt5682 +mt8195-mt6359 +mt9m001 +mt9m032 +mt9m111 +mt9p031 +mt9t001 +mt9t112 +mt9v011 +mt9v032 +mt9v111 +mtd_dataflash +mtdoops +mtdpstore +mtdram +mtdswap +mtip32xx +mtk-adsp-ipc +mtk-adsp-mailbox +mtk-btcvsd +mtk-cir +mtk-cmdq-helper +mtk-cmdq-mailbox +mtk-cqdma +mtk-devapc +mtk-hsdma +mtk-pmic-keys +mtk-pmic-wrap +mtk-rng +mtk-sd +mtk-smi +mtk-uart-apdma +mtk-vpu +mtk_nand +mtk_rpmsg +mtk_scp +mtk_scp_ipi +mtk_t7xx +mtk_thermal +mtk_wdt +mtouch +mtu3 +multipath +multiq3 +musb_dsps +mux-adg792a +mux-adgs1408 +mux-core +mux-gpio +mux-mmio +mv643xx_eth +mv88e6060 +mv88e6xxx +mv_u3d_core +mv_udc +mvmdio +mvneta +mvpp2 +mvsas +mvsdio +mvumi +mwifiex +mwifiex_pcie +mwifiex_sdio +mwifiex_usb +mwl8k +mxb +mxc-jpeg-encdec +mxc4005 +mxc6255 +mxc_nand +mxc_w1 +mxcmmc +mxic_nand +mxl-gpy +mxl111sf-demod +mxl111sf-tuner +mxl301rf +mxl5005s +mxl5007t +mxl5xx +mxl692 +mxser +mxsfb +mxuport +myrb +myri10ge +myrs +n_gsm +n_hdlc +nandsim +national +natsemi +nau7802 +navman +nbd +nbpfaxi +nci +nci_spi +nci_uart +nct6683 +nct6775 +nct6775-core +nct6775-i2c +nct7802 +nct7904 +ne2k-pci +neofb +net1080 +net2272 +net2280 +net_failover +netconsole +netdevsim +netfs +netjet +netlink_diag +netrom +netup-unidvb +netxen_nic +newtonkbd +nf_conncount +nf_conntrack +nf_conntrack_amanda +nf_conntrack_bridge +nf_conntrack_broadcast +nf_conntrack_ftp +nf_conntrack_h323 +nf_conntrack_irc +nf_conntrack_netbios_ns +nf_conntrack_netlink +nf_conntrack_pptp +nf_conntrack_sane +nf_conntrack_sip +nf_conntrack_snmp +nf_conntrack_tftp +nf_defrag_ipv4 +nf_defrag_ipv6 +nf_dup_ipv4 +nf_dup_ipv6 +nf_dup_netdev +nf_flow_table +nf_flow_table_inet +nf_log_syslog +nf_nat +nf_nat_amanda +nf_nat_ftp +nf_nat_h323 +nf_nat_irc +nf_nat_pptp +nf_nat_sip +nf_nat_snmp_basic +nf_nat_tftp +nf_reject_ipv4 +nf_reject_ipv6 +nf_socket_ipv4 +nf_socket_ipv6 +nf_synproxy_core +nf_tables +nf_tproxy_ipv4 +nf_tproxy_ipv6 +nfc +nfc_digital +nfcmrvl +nfcmrvl_i2c +nfcmrvl_spi +nfcmrvl_uart +nfcmrvl_usb +nfcsim +nfnetlink +nfnetlink_acct +nfnetlink_cthelper +nfnetlink_cttimeout +nfnetlink_hook +nfnetlink_log +nfnetlink_osf +nfnetlink_queue +nfp +nfs +nfs_acl +nfs_layout_flexfiles +nfs_layout_nfsv41_files +nfsd +nfsv2 +nfsv3 +nfsv4 +nft_chain_nat +nft_compat +nft_connlimit +nft_ct +nft_dup_ipv4 +nft_dup_ipv6 +nft_dup_netdev +nft_fib +nft_fib_inet +nft_fib_ipv4 +nft_fib_ipv6 +nft_fib_netdev +nft_flow_offload +nft_fwd_netdev +nft_hash +nft_limit +nft_log +nft_masq +nft_meta_bridge +nft_nat +nft_numgen +nft_objref +nft_osf +nft_queue +nft_quota +nft_redir +nft_reject +nft_reject_bridge +nft_reject_inet +nft_reject_ipv4 +nft_reject_ipv6 +nft_reject_netdev +nft_socket +nft_synproxy +nft_tproxy +nft_tunnel +nft_xfrm +nftl +ngene +nhc_dest +nhc_fragment +nhc_hop +nhc_ipv6 +nhc_mobility +nhc_routing +nhc_udp +nhpoly1305 +nhpoly1305-neon +ni_6527 +ni_65xx +ni_660x +ni_670x +ni_at_a2150 +ni_at_ao +ni_atmio +ni_atmio16d +ni_labpc +ni_labpc_common +ni_labpc_pci +ni_pcidio +ni_pcimio +ni_routes_test +ni_routing +ni_tio +ni_tiocmd +ni_usb6501 +nicstar +nilfs2 +niu +nixge +nlmon +nls_ascii +nls_cp1250 +nls_cp1251 +nls_cp1255 +nls_cp737 +nls_cp775 +nls_cp850 +nls_cp852 +nls_cp855 +nls_cp857 +nls_cp860 +nls_cp861 +nls_cp862 +nls_cp863 +nls_cp864 +nls_cp865 +nls_cp866 +nls_cp869 +nls_cp874 +nls_cp932 +nls_cp936 +nls_cp949 +nls_cp950 +nls_euc-jp +nls_iso8859-1 +nls_iso8859-13 +nls_iso8859-14 +nls_iso8859-15 +nls_iso8859-2 +nls_iso8859-3 +nls_iso8859-4 +nls_iso8859-5 +nls_iso8859-6 +nls_iso8859-7 +nls_iso8859-9 +nls_koi8-r +nls_koi8-ru +nls_koi8-u +nls_utf8 +noa1305 +nokia-modem +noon010pc30 +nosy +notifier-error-inject +nouveau +nozomi +npcm-rng +npcm750-pwm-fan +npcm_adc +nps_enet +ns558 +ns83820 +nsh +nsp32 +ntb +ntb_hw_epf +ntb_hw_idt +ntb_hw_switchtec +ntb_netdev +ntb_perf +ntb_pingpong +ntb_tool +ntb_transport +ntc_thermistor +ntfs +ntfs3 +ntxec +null_blk +nvec +nvec_kbd +nvec_paz00 +nvec_power +nvec_ps2 +nvidiafb +nvme +nvme-core +nvme-fabrics +nvme-fc +nvme-loop +nvme-rdma +nvme-tcp +nvmem-imx-iim +nvmem-imx-ocotp +nvmem-imx-ocotp-scu +nvmem-rave-sp-eeprom +nvmem-reboot-mode +nvmem-rmem +nvmem-rockchip-otp +nvmem_meson_mx_efuse +nvmem_qcom-spmi-sdam +nvmem_qfprom +nvmem_rockchip_efuse +nvmem_snvs_lpgpr +nvmet +nvmet-fc +nvmet-rdma +nvmet-tcp +nvsw-sn2201 +nwl-dsi +nxp-c45-tja11xx +nxp-nci +nxp-nci_i2c +nxp-ptn3460 +nxp-tja11xx +nxt200x +nxt6000 +nzxt-kraken2 +nzxt-smart2 +objagg +ocfb +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stack_o2cb +ocfs2_stack_user +ocfs2_stackglue +ocmem +ocrdma +of-fpga-region +of_mmc_spi +of_xilinx_wdt +ofb +og01a1b +ohci-platform +omap +omap-aes-driver +omap-crypto +omap-des +omap-mailbox +omap-ocp2scp +omap-rng +omap-sham +omap-vout +omap2430 +omap2fb +omap3-isp +omap3-rom-rng +omap4-iss +omap4-keypad +omap_hdq +omap_hwspinlock +omap_remoteproc +omap_ssi +omap_wdt +omapdss +omfs +omninet +on20 +on26 +onenand +onenand_omap2 +open-dice +opencores-kbd +openvswitch +opt3001 +optee +optee-rng +opticon +option +or51132 +or51211 +orangefs +orinoco +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +orion_nand +orion_wdt +oti6858 +otm3225a +ov02a10 +ov08d10 +ov13858 +ov13b10 +ov2640 +ov2659 +ov2680 +ov2685 +ov5640 +ov5645 +ov5647 +ov5648 +ov5670 +ov5675 +ov5693 +ov5695 +ov6650 +ov7251 +ov7640 +ov7670 +ov772x +ov7740 +ov8856 +ov8865 +ov9282 +ov9640 +ov9650 +overlay +owl-dma +owl-emac +owl-mmc +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8022 +pa12203001 +palmas-pwrbutton +palmas-regulator +palmas_gpadc +pandora_bl +panel +panel-abt-y030xx067a +panel-arm-versatile +panel-asus-z00t-tm5p5-n35596 +panel-boe-bf060y8m-aj0 +panel-boe-himax8279d +panel-boe-tv101wum-nl6 +panel-dsi-cm +panel-edp +panel-elida-kd35t133 +panel-feixin-k101-im2ba02 +panel-feiyang-fy07024di26a30d +panel-ilitek-ili9322 +panel-ilitek-ili9341 +panel-ilitek-ili9881c +panel-innolux-ej030na +panel-innolux-p079zca +panel-jdi-fhd-r63452 +panel-jdi-lt070me05000 +panel-khadas-ts050 +panel-kingdisplay-kd097d04 +panel-leadtek-ltk050h3146w +panel-leadtek-ltk500hd1829 +panel-lg-lb035q02 +panel-lg-lg4573 +panel-lvds +panel-mantix-mlaf057we51 +panel-mipi-dbi +panel-nec-nl8048hl11 +panel-newvision-nv3052c +panel-novatek-nt35510 +panel-novatek-nt35560 +panel-novatek-nt35950 +panel-novatek-nt36672a +panel-novatek-nt39016 +panel-olimex-lcd-olinuxino +panel-orisetech-otm8009a +panel-osd-osd101t2587-53ts +panel-panasonic-vvx10f034n00 +panel-raspberrypi-touchscreen +panel-raydium-rm67191 +panel-raydium-rm68200 +panel-ronbo-rb070d30 +panel-samsung-atna33xc20 +panel-samsung-db7430 +panel-samsung-ld9040 +panel-samsung-s6d16d0 +panel-samsung-s6d27a1 +panel-samsung-s6e3ha2 +panel-samsung-s6e63j0x03 +panel-samsung-s6e63m0 +panel-samsung-s6e63m0-dsi +panel-samsung-s6e63m0-spi +panel-samsung-s6e88a0-ams452ef01 +panel-samsung-s6e8aa0 +panel-samsung-sofef00 +panel-seiko-43wvf1g +panel-sharp-lq101r1sx01 +panel-sharp-ls037v7dw01 +panel-sharp-ls043t1le01 +panel-sharp-ls060t1sx01 +panel-simple +panel-sitronix-st7701 +panel-sitronix-st7703 +panel-sitronix-st7789v +panel-sony-acx565akm +panel-sony-tulip-truly-nt35521 +panel-tdo-tl070wsh30 +panel-tpo-td028ttec1 +panel-tpo-td043mtea1 +panel-tpo-tpg110 +panel-truly-nt35597 +panel-visionox-rm69299 +panel-widechips-ws2401 +panel-xinpeng-xpp055c272 +panfrost +parade-ps8622 +parade-ps8640 +parallel-display +paride +parkbd +parman +parport +parport_ax88796 +parport_pc +parport_serial +parser_trx +pata_ali +pata_amd +pata_artop +pata_atiixp +pata_atp867x +pata_cmd640 +pata_cmd64x +pata_cypress +pata_efar +pata_hpt366 +pata_hpt37x +pata_hpt3x2n +pata_hpt3x3 +pata_imx +pata_it8213 +pata_it821x +pata_jmicron +pata_legacy +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_ns87410 +pata_ns87415 +pata_of_platform +pata_oldpiix +pata_opti +pata_optidma +pata_pdc2027x +pata_pdc202xx_old +pata_piccolo +pata_platform +pata_radisys +pata_rdc +pata_rz1000 +pata_sch +pata_serverworks +pata_sil680 +pata_sis +pata_sl82c105 +pata_triflex +pata_via +pbias-regulator +pc300too +pc87360 +pc87427 +pca9450-regulator +pcap-regulator +pcap_keys +pcap_ts +pcbc +pcd +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pch_udc +pci +pci-dra7xx +pci-epf-ntb +pci-pf-stub +pci-stub +pci200syn +pcie-mediatek-gen3 +pcie-qcom-ep +pcie-rockchip-host +pcips2 +pcl711 +pcl724 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcmad +pcmcia_core +pcmcia_rsrc +pcmda12 +pcmmio +pcmuio +pcnet32 +pcrypt +pcs-lynx +pcs_xpcs +pcwd_pci +pcwd_usb +pd +pda_power +pdc_adma +pdr_interface +peak_pci +peak_pciefd +peak_usb +peci +peci-aspeed +peci-cpu +peci-cputemp +peci-dimmtemp +pegasus +pegasus_notetaker +penmount +pf +pf8x00-regulator +pfuze100-regulator +pg +phantom +phonet +phram +phy-am335x +phy-am335x-control +phy-armada38x-comphy +phy-bcm-kona-usb2 +phy-berlin-sata +phy-berlin-usb +phy-cadence-salvo +phy-cadence-sierra +phy-cadence-torrent +phy-can-transceiver +phy-cpcap-usb +phy-dm816x-usb +phy-exynos-usb2 +phy-gpio-vbus-usb +phy-hix5hd2-sata +phy-isp1301 +phy-mapphone-mdm6600 +phy-meson-axg-mipi-dphy +phy-meson-g12a-usb2 +phy-meson-g12a-usb3-pcie +phy-meson-gxl-usb2 +phy-meson8-hdmi-tx +phy-meson8b-usb2 +phy-mtk-hdmi-drv +phy-mtk-mipi-dsi-drv +phy-mtk-tphy +phy-mtk-ufs +phy-mtk-xsphy +phy-mvebu-a3700-comphy +phy-mvebu-a3700-utmi +phy-mvebu-cp110-comphy +phy-mvebu-cp110-utmi +phy-ocelot-serdes +phy-omap-control +phy-omap-usb2 +phy-pxa-28nm-hsic +phy-pxa-28nm-usb2 +phy-qcom-apq8064-sata +phy-qcom-edp +phy-qcom-ipq4019-usb +phy-qcom-ipq806x-sata +phy-qcom-ipq806x-usb +phy-qcom-pcie2 +phy-qcom-qmp +phy-qcom-qusb2 +phy-qcom-snps-femto-v2 +phy-qcom-usb-hs +phy-qcom-usb-hs-28nm +phy-qcom-usb-hsic +phy-qcom-usb-ss +phy-rcar-gen2 +phy-rcar-gen3-pcie +phy-rcar-gen3-usb2 +phy-rcar-gen3-usb3 +phy-rockchip-dp +phy-rockchip-dphy-rx0 +phy-rockchip-emmc +phy-rockchip-inno-csidphy +phy-rockchip-inno-dsidphy +phy-rockchip-inno-hdmi +phy-rockchip-inno-usb2 +phy-rockchip-naneng-combphy +phy-rockchip-pcie +phy-rockchip-typec +phy-rockchip-usb +phy-tahvo +phy-tegra-usb +phy-tegra-xusb +phy-ti-pipe3 +phy-tusb1210 +phy-twl4030-usb +phy-twl6030-usb +phylink +physmap +pi3usb30532 +pi433 +pim4328 +pinctrl-apq8064 +pinctrl-apq8084 +pinctrl-axp209 +pinctrl-da9062 +pinctrl-imx8ulp +pinctrl-imx93 +pinctrl-ipq4019 +pinctrl-ipq6018 +pinctrl-ipq8064 +pinctrl-ipq8074 +pinctrl-lochnagar +pinctrl-lpass-lpi +pinctrl-madera +pinctrl-max77620 +pinctrl-mcp23s08 +pinctrl-mcp23s08_i2c +pinctrl-mcp23s08_spi +pinctrl-mdm9607 +pinctrl-mdm9615 +pinctrl-msm8226 +pinctrl-msm8660 +pinctrl-msm8916 +pinctrl-msm8953 +pinctrl-msm8960 +pinctrl-msm8976 +pinctrl-msm8994 +pinctrl-msm8996 +pinctrl-msm8998 +pinctrl-msm8x74 +pinctrl-qcm2290 +pinctrl-qcs404 +pinctrl-rk805 +pinctrl-sc7180 +pinctrl-sc7280 +pinctrl-sc7280-lpass-lpi +pinctrl-sc8180x +pinctrl-sc8280xp +pinctrl-sdm660 +pinctrl-sdm845 +pinctrl-sdx55 +pinctrl-sdx65 +pinctrl-sm6115 +pinctrl-sm6125 +pinctrl-sm6350 +pinctrl-sm8150 +pinctrl-sm8250 +pinctrl-sm8250-lpass-lpi +pinctrl-sm8350 +pinctrl-sm8450 +pinctrl-spmi-gpio +pinctrl-spmi-mpp +pinctrl-ssbi-gpio +pinctrl-ssbi-mpp +pinctrl-stmfx +ping +pistachio-internal-dac +pixcir_i2c_ts +pkcs7_test_key +pkcs8_key_parser +pktcdvd +pktgen +pl111_drm +pl172 +pl2303 +pl330 +pl353-smc +pl35x-nand-controller +plat-ram +plat_nand +platform_lcd +platform_mhu +plfxlc +pli1209bc +plip +plusb +pluto2 +plx_dma +plx_pci +pm-notifier-error-inject +pm2fb +pm3fb +pm6764tr +pm80xx +pm8916_wdt +pm8941-pwrkey +pm8xxx-vibrator +pmbus +pmbus_core +pmc551 +pmcraid +pmic8xxx-keypad +pmic8xxx-pwrkey +pms7003 +pn532_uart +pn533 +pn533_i2c +pn533_usb +pn544 +pn544_i2c +pn_pep +poly1305-arm +poly1305_generic +port100 +powermate +powr1220 +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +ppp_synctty +pppoatm +pppoe +pppox +pps-gpio +pps-ldisc +pps_parport +pptp +prestera +prestera_pci +pretimeout_panic +prism2_usb +pru_rproc +pruss +ps2-gpio +ps2mult +psample +psmouse +psnap +pstore_blk +pstore_zone +psxpad-spi +pt +ptp-qoriq +ptp_clockmatrix +ptp_idt82p33 +ptp_ines +ptp_kvm +ptp_ocp +pulse8-cec +pulsedlight-lidar-lite-v2 +pv88060-regulator +pv88080-regulator +pv88090-regulator +pvpanic +pvpanic-mmio +pvpanic-pci +pvrusb2 +pwc +pwm-atmel-hlcdc +pwm-atmel-tcb +pwm-beeper +pwm-berlin +pwm-cros-ec +pwm-dwc +pwm-fan +pwm-fsl-ftm +pwm-hibvt +pwm-imx-tpm +pwm-imx1 +pwm-imx27 +pwm-iqs620a +pwm-ir-tx +pwm-lp3943 +pwm-mediatek +pwm-meson +pwm-mtk-disp +pwm-ntxec +pwm-omap-dmtimer +pwm-pca9685 +pwm-rcar +pwm-regulator +pwm-renesas-tpu +pwm-rockchip +pwm-tegra +pwm-tiecap +pwm-tiehrpwm +pwm-twl +pwm-twl-led +pwm-vibra +pwm-xilinx +pwm_bl +pwrseq_emmc +pwrseq_sd8787 +pwrseq_simple +pxa168_eth +pxa27x_udc +pxe1610 +pxrc +q54sj108a2 +q6adm +q6afe +q6afe-clocks +q6afe-dai +q6apm-dai +q6apm-lpass-dais +q6asm +q6asm-dai +q6core +q6prm +q6prm-clocks +q6routing +q6sstop-qcs404 +qca8k +qca_7k_common +qcaspi +qcauart +qcaux +qcom-apcs-ipc-mailbox +qcom-coincell +qcom-cpufreq-hw +qcom-cpufreq-nvmem +qcom-emac +qcom-geni-se +qcom-labibb-regulator +qcom-pm8008 +qcom-pm8xxx +qcom-pm8xxx-xoadc +qcom-pmic-typec +qcom-pon +qcom-rng +qcom-rpmh-regulator +qcom-spmi-adc-tm5 +qcom-spmi-adc5 +qcom-spmi-iadc +qcom-spmi-pmic +qcom-spmi-temp-alarm +qcom-spmi-vadc +qcom-vadc-common +qcom-wdt +qcom-wled +qcom_adm +qcom_aoss +qcom_bam_dmux +qcom_common +qcom_edac +qcom_eud +qcom_geni_serial +qcom_glink +qcom_glink_rpm +qcom_glink_smem +qcom_gsbi +qcom_hwspinlock +qcom_nandc +qcom_pil_info +qcom_q6v5 +qcom_q6v5_adsp +qcom_q6v5_mss +qcom_q6v5_pas +qcom_q6v5_wcss +qcom_rpm +qcom_rpm-regulator +qcom_smbb +qcom_smd +qcom_smd-regulator +qcom_spmi-regulator +qcom_stats +qcom_sysmon +qcom_tsens +qcom_usb_vbus-regulator +qcomsmempart +qcrypto +qcserial +qed +qede +qedf +qedi +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qm1d1b0004 +qm1d1c0042 +qmi_helpers +qmi_wwan +qnoc-msm8916 +qnoc-msm8939 +qnoc-msm8974 +qnoc-msm8996 +qnoc-qcm2290 +qnoc-qcs404 +qnoc-sc7180 +qnoc-sc7280 +qnoc-sc8180x +qnoc-sc8280xp +qnoc-sdm660 +qnoc-sdm845 +qnoc-sdx55 +qnoc-sdx65 +qnoc-sm8150 +qnoc-sm8250 +qnoc-sm8350 +qnoc-sm8450 +qnx4 +qnx6 +qrtr +qrtr-mhi +qrtr-smd +qrtr-tun +qsemi +qt1010 +qt1050 +qt1070 +qt2160 +qtnfmac +qtnfmac_pcie +quatech2 +quota_tree +quota_v1 +quota_v2 +qwiic-joystick +qxl +r592 +r6040 +r8152 +r8153_ecm +r8169 +r8188eu +r8192e_pci +r8192u_usb +r820t +r852 +r8712u +r8723bs +r8a66597-hcd +r8a66597-udc +radeon +radeonfb +radio-keene +radio-ma901 +radio-maxiradio +radio-mr800 +radio-platform-si4713 +radio-raremono +radio-shark +radio-si470x-common +radio-si470x-i2c +radio-si470x-usb +radio-si476x +radio-tea5764 +radio-usb-si4713 +radio-wl1273 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid_class +rainshadow-cec +ravb +rave-sp +rave-sp-backlight +rave-sp-pwrbutton +rave-sp-wdt +raw_diag +raw_gadget +raydium_i2c_ts +rbd +rc-adstech-dvb-t-pci +rc-alink-dtu-m +rc-anysee +rc-apac-viewcomp +rc-astrometa-t2hybrid +rc-asus-pc39 +rc-asus-ps3-100 +rc-ati-tv-wonder-hd-600 +rc-ati-x10 +rc-avermedia +rc-avermedia-a16d +rc-avermedia-cardbus +rc-avermedia-dvbt +rc-avermedia-m135a +rc-avermedia-m733a-rm-k6 +rc-avermedia-rm-ks +rc-avertv-303 +rc-azurewave-ad-tu700 +rc-beelink-gs1 +rc-behold +rc-behold-columbus +rc-budget-ci-old +rc-cinergy +rc-cinergy-1400 +rc-core +rc-ct-90405 +rc-d680-dmb +rc-delock-61959 +rc-dib0700-nec +rc-dib0700-rc5 +rc-digitalnow-tinytwin +rc-digittrade +rc-dm1105-nec +rc-dntv-live-dvb-t +rc-dntv-live-dvbt-pro +rc-dtt200u +rc-dvbsky +rc-dvico-mce +rc-dvico-portable +rc-em-terratec +rc-encore-enltv +rc-encore-enltv-fm53 +rc-encore-enltv2 +rc-evga-indtube +rc-eztv +rc-flydvb +rc-flyvideo +rc-fusionhdtv-mce +rc-gadmei-rm008z +rc-geekbox +rc-genius-tvgo-a11mce +rc-gotview7135 +rc-hauppauge +rc-hisi-poplar +rc-hisi-tv-demo +rc-imon-mce +rc-imon-pad +rc-imon-rsc +rc-iodata-bctv7e +rc-it913x-v1 +rc-it913x-v2 +rc-kaiomy +rc-khadas +rc-khamsin +rc-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lme2510 +rc-loopback +rc-manli +rc-mecool-kii-pro +rc-mecool-kiii-pro +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +rc-minix-neo +rc-msi-digivox-ii +rc-msi-digivox-iii +rc-msi-tvanywhere +rc-msi-tvanywhere-plus +rc-nebula +rc-nec-terratec-cinergy-xs +rc-norwood +rc-npgtech +rc-odroid +rc-pctv-sedna +rc-pine64 +rc-pinnacle-color +rc-pinnacle-grey +rc-pinnacle-pctv-hd +rc-pixelview +rc-pixelview-002t +rc-pixelview-mk12 +rc-pixelview-new +rc-powercolor-real-angel +rc-proteus-2309 +rc-purpletv +rc-pv951 +rc-rc6-mce +rc-real-audio-220-32-keys +rc-reddo +rc-snapstream-firefly +rc-streamzap +rc-su3000 +rc-tanix-tx3mini +rc-tanix-tx5max +rc-tbs-nec +rc-technisat-ts35 +rc-technisat-usb2 +rc-terratec-cinergy-c-pci +rc-terratec-cinergy-s2-hd +rc-terratec-cinergy-xs +rc-terratec-slim +rc-terratec-slim-2 +rc-tevii-nec +rc-tivo +rc-total-media-in-hand +rc-total-media-in-hand-02 +rc-trekstor +rc-tt-1500 +rc-twinhan-dtv-cab-ci +rc-twinhan1027 +rc-vega-s9x +rc-videomate-m1f +rc-videomate-s350 +rc-videomate-tv-pvr +rc-videostrong-kii-pro +rc-wetek-hub +rc-wetek-play2 +rc-winfast +rc-winfast-usbii-deluxe +rc-x96max +rc-xbox-360 +rc-xbox-dvd +rc-zx-irdec +rc5t583-regulator +rcar-csi2 +rcar-dmac +rcar-du-drm +rcar-fcp +rcar-gyroadc +rcar-isp +rcar-vin +rcar_can +rcar_canfd +rcar_cmm +rcar_drif +rcar_dw_hdmi +rcar_fdp1 +rcar_gen3_thermal +rcar_jpu +rcar_lvds +rcar_mipi_dsi +rcar_rproc +rcar_thermal +rdacm20 +rdacm21 +rdc321x-southbridge +rdma_cm +rdma_ucm +rds +rds_rdma +rds_tcp +realtek +realtek-mdio +realtek-smi +reboot-mode +redboot +redrat3 +regmap-ac97 +regmap-i3c +regmap-sccb +regmap-sdw +regmap-sdw-mbq +regmap-slimbus +regmap-spi-avmm +regmap-spmi +regmap-w1 +regulator-haptic +reiserfs +renesas-ceu +renesas-nand-controller +renesas-rpc-if +renesas_sdhi_core +renesas_sdhi_internal_dmac +renesas_sdhi_sys_dmac +renesas_usb3 +renesas_usbhs +renesas_wdt +repaper +reset-a10sr +reset-hi3660 +reset-meson-audio-arb +reset-qcom-pdc +reset-scmi +reset-ti-syscon +resistive-adc-touch +retu-mfd +retu-pwrbutton +retu_wdt +rfc1051 +rfc1201 +rfcomm +rfd77402 +rfd_ftl +rfkill-gpio +rio-scan +rio_cm +rio_mport_cdev +rionet +rivafb +rj54n1cb0c +rk3399_dmc +rk805-pwrkey +rk808 +rk808-regulator +rk_crypto +rm3100-core +rm3100-i2c +rm3100-spi +rmd160 +rmi_core +rmi_i2c +rmi_smbus +rmi_spi +rmnet +rmobile-reset +rmtfs_mem +rn5t618 +rn5t618-adc +rn5t618-regulator +rn5t618_power +rn5t618_wdt +rnbd-client +rnbd-server +rndis_host +rndis_wlan +rockchip +rockchip-dfi +rockchip-isp1 +rockchip-nand-controller +rockchip-rga +rockchip-vdec +rockchip_saradc +rockchip_thermal +rockchipdrm +rocker +rohm-bd71828 +rohm-bd718x7 +rohm-bd9576 +rohm-regulator +rohm_bu21023 +romfs +rose +rotary_encoder +rp2 +rpcrdma +rpcsec_gss_krb5 +rpi-panel-attiny-regulator +rpmpd +rpmsg_char +rpmsg_core +rpmsg_ctrl +rpmsg_ns +rpmsg_tty +rpmsg_wwan_ctrl +rpr0521 +rsi_91x +rsi_sdio +rsi_usb +rsmu-i2c +rsmu-spi +rt1719 +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800mmio +rt2800pci +rt2800usb +rt2x00lib +rt2x00mmio +rt2x00pci +rt2x00usb +rt4801-regulator +rt4831 +rt4831-backlight +rt4831-regulator +rt5033 +rt5033-regulator +rt5033_battery +rt5190a-regulator +rt5759-regulator +rt6160-regulator +rt61pci +rt6245-regulator +rt73usb +rt9455_charger +rtc-88pm80x +rtc-88pm860x +rtc-ab-b5ze-s3 +rtc-ab-eoz9 +rtc-abx80x +rtc-armada38x +rtc-as3722 +rtc-aspeed +rtc-bd70528 +rtc-bq32k +rtc-bq4802 +rtc-cadence +rtc-cmos +rtc-cpcap +rtc-cros-ec +rtc-da9052 +rtc-da9055 +rtc-da9063 +rtc-ds1286 +rtc-ds1302 +rtc-ds1305 +rtc-ds1307 +rtc-ds1343 +rtc-ds1347 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1685 +rtc-ds1742 +rtc-ds2404 +rtc-ds3232 +rtc-em3027 +rtc-fm3130 +rtc-ftrtc010 +rtc-goldfish +rtc-hid-sensor-time +rtc-hym8563 +rtc-imx-sc +rtc-imxdi +rtc-isl12022 +rtc-isl12026 +rtc-isl1208 +rtc-lp8788 +rtc-m41t80 +rtc-m41t93 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-max6916 +rtc-max77686 +rtc-max8907 +rtc-max8925 +rtc-max8997 +rtc-max8998 +rtc-mc13xxx +rtc-mcp795 +rtc-meson +rtc-meson-vrtc +rtc-msc313 +rtc-msm6242 +rtc-mt2712 +rtc-mt6397 +rtc-mt7622 +rtc-mxc +rtc-mxc_v2 +rtc-ntxec +rtc-optee +rtc-palmas +rtc-pcap +rtc-pcf2123 +rtc-pcf2127 +rtc-pcf50633 +rtc-pcf85063 +rtc-pcf85363 +rtc-pcf8563 +rtc-pcf8583 +rtc-pl030 +rtc-pm8xxx +rtc-r7301 +rtc-r9701 +rtc-rc5t583 +rtc-rc5t619 +rtc-rk808 +rtc-rp5c01 +rtc-rs5c348 +rtc-rs5c372 +rtc-rv3028 +rtc-rv3029c2 +rtc-rv3032 +rtc-rv8803 +rtc-rx4581 +rtc-rx6110 +rtc-rx8010 +rtc-rx8025 +rtc-rx8581 +rtc-rzn1 +rtc-s35390a +rtc-s5m +rtc-sd3078 +rtc-sh +rtc-snvs +rtc-stk17ta8 +rtc-tegra +rtc-tps6586x +rtc-tps65910 +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtc-zynqmp +rtd520 +rti800 +rti802 +rtl2830 +rtl2832 +rtl2832_sdr +rtl8150 +rtl8187 +rtl8188ee +rtl818x_pci +rtl8192c-common +rtl8192ce +rtl8192cu +rtl8192de +rtl8192ee +rtl8192se +rtl8365mb +rtl8366 +rtl8723-common +rtl8723ae +rtl8723be +rtl8821ae +rtl8xxxu +rtl_pci +rtl_usb +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +rtmv20-regulator +rtq2134-regulator +rtq6752-regulator +rtrs-client +rtrs-core +rtrs-server +rts5208 +rtsx_pci +rtsx_pci_ms +rtsx_pci_sdmmc +rtsx_usb +rtsx_usb_ms +rtsx_usb_sdmmc +rtw88_8723d +rtw88_8723de +rtw88_8821c +rtw88_8821ce +rtw88_8822b +rtw88_8822be +rtw88_8822c +rtw88_8822ce +rtw88_core +rtw88_pci +rtw89_8852a +rtw89_8852ae +rtw89_8852c +rtw89_8852ce +rtw89_core +rtw89_pci +rx51_battery +rxrpc +rza_wdt +rzg2l_thermal +rzg2l_wdt +rzn1-dmamux +rzn1_wdt +s1d13xxxfb +s2250 +s2255drv +s2io +s2mpa01 +s2mps11 +s3fb +s3fwrn5 +s3fwrn5_i2c +s3fwrn82_uart +s526 +s5c73m3 +s5h1409 +s5h1411 +s5h1420 +s5h1432 +s5k4ecgx +s5k5baf +s5k6a3 +s5k6aa +s5m8767 +s626 +s6sy761 +s921 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7134-go7007 +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +saa7706h +safe_serial +sahara +sample-trace-array +samsung-keypad +samsung-sxgbe +samsung_tty +sata_dwc_460ex +sata_inic162x +sata_mv +sata_nv +sata_promise +sata_qstor +sata_rcar +sata_sil +sata_sil24 +sata_sis +sata_svw +sata_sx4 +sata_uli +sata_via +sata_vsc +savagefb +sbp_target +sbrmi +sbs-battery +sbs-charger +sbs-manager +sbtsi_temp +sc16is7xx +sc92031 +sca3000 +sca3300 +scd30_core +scd30_i2c +scd30_serial +scd4x +sch5627 +sch5636 +sch56xx-common +sch_atm +sch_cake +sch_cbq +sch_cbs +sch_choke +sch_codel +sch_drr +sch_dsmark +sch_etf +sch_ets +sch_fq +sch_fq_codel +sch_fq_pie +sch_gred +sch_hfsc +sch_hhf +sch_htb +sch_ingress +sch_mqprio +sch_multiq +sch_netem +sch_pie +sch_plug +sch_prio +sch_qfq +sch_red +sch_sfb +sch_sfq +sch_skbprio +sch_taprio +sch_tbf +sch_teql +scmi-cpufreq +scmi-hwmon +scmi-regulator +scmi_iio +scmi_pm_domain +scpi-cpufreq +scpi-hwmon +scpi_pm_domain +scsi_debug +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_spi +scsi_transport_srp +sctp +sctp_diag +sd_adc_modulator +sdhci-cadence +sdhci-dove +sdhci-milbeaut +sdhci-msm +sdhci-of-arasan +sdhci-of-aspeed +sdhci-of-at91 +sdhci-of-dwcmshc +sdhci-of-esdhc +sdhci-omap +sdhci-pci +sdhci-pxav3 +sdhci-tegra +sdhci-xenon-driver +sdhci_am654 +sdhci_f_sdh30 +sdio_uart +sensehat-joystick +sensorhub +serial-tegra +serial_ir +serio_raw +sermouse +serpent_generic +serport +ses +sf-pdma +sfc +sfc-falcon +sfc-siena +sfp +sgi_w1 +sgp30 +sgp40 +sh-sci +sh_eth +sh_mmcif +sh_mobile_lcdcfb +sha1-arm +sha1-arm-ce +sha1-arm-neon +sha2-arm-ce +sha256-arm +sha3_generic +sha512-arm +shark2 +sharpslpart +shiftfs +sht15 +sht21 +sht3x +sht4x +shtc1 +si1133 +si1145 +si2157 +si2165 +si2168 +si21xx +si4713 +si476x-core +si7005 +si7020 +sidewinder +sierra +sierra_net +sifive +sii902x +sii9234 +sil-sii8620 +sil164 +silead +simple-bridge +simple-mfd-i2c +simpledrm +simplefb +siox-bus-gpio +siox-core +sis190 +sis5595 +sis900 +sis_i2c +sisfb +sisusbvga +sit +sja1000 +sja1000_isa +sja1000_platform +sja1105 +skfp +skge +sky2 +sky81452 +sky81452-backlight +sky81452-regulator +sl811-hcd +slcan +slg51000-regulator +slic_ds26522 +slicoss +slim-qcom-ctrl +slim-qcom-ngd-ctrl +slimbus +slip +slram +sm2_generic +sm3 +sm3_generic +sm4 +sm4_generic +sm501fb +sm712fb +sm750fb +sm_common +sm_ftl +smartpqi +smb347-charger +smc +smc911x +smc_diag +smd-rpm +smem +smipcie +smm665 +smp2p +smsc +smsc47b397 +smsc47m1 +smsc47m192 +smsc75xx +smsc911x +smsc9420 +smsc95xx +smscufx +smsdvb +smsm +smsmdtv +smssdio +smsusb +snd-aaci +snd-ac97-codec +snd-acp-config +snd-ad1889 +snd-ak4113 +snd-ak4114 +snd-ak4xxx-adda +snd-aloop +snd-atiixp +snd-atiixp-modem +snd-au8810 +snd-au8820 +snd-au8830 +snd-aw2 +snd-bcd2000 +snd-bebob +snd-bt87x +snd-ca0106 +snd-cmipci +snd-cs4281 +snd-cs46xx +snd-ctl-led +snd-ctxfi +snd-darla20 +snd-darla24 +snd-dice +snd-dummy +snd-echo3g +snd-ens1370 +snd-ens1371 +snd-fireface +snd-firewire-digi00x +snd-firewire-lib +snd-firewire-motu +snd-firewire-tascam +snd-fireworks +snd-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-ca0110 +snd-hda-codec-ca0132 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-cs8409 +snd-hda-codec-generic +snd-hda-codec-hdmi +snd-hda-codec-idt +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-core +snd-hda-intel +snd-hda-tegra +snd-hdsp +snd-hdspm +snd-hrtimer +snd-hwdep +snd-i2c +snd-ice1724 +snd-ice17xx-ak4xxx +snd-indigo +snd-indigodj +snd-indigodjx +snd-indigoio +snd-indigoiox +snd-intel-dspcfg +snd-intel8x0 +snd-intel8x0m +snd-isight +snd-korg1212 +snd-layla20 +snd-layla24 +snd-lola +snd-mia +snd-mixart +snd-mixer-oss +snd-mona +snd-mpu401 +snd-mpu401-uart +snd-mtpav +snd-mts64 +snd-nm256 +snd-opl3-lib +snd-opl3-synth +snd-oxfw +snd-oxygen +snd-oxygen-lib +snd-pcxhr +snd-portman2x4 +snd-pt2258 +snd-q6apm +snd-q6dsp-common +snd-rawmidi +snd-riptide +snd-rme32 +snd-rme96 +snd-rme9652 +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-midi +snd-seq-midi-emul +snd-seq-midi-event +snd-seq-virmidi +snd-serial-generic +snd-serial-u16550 +snd-soc-63xx +snd-soc-ac97 +snd-soc-acp-rt5645-mach +snd-soc-adau-utils +snd-soc-adau1372 +snd-soc-adau1372-i2c +snd-soc-adau1372-spi +snd-soc-adau1701 +snd-soc-adau1761 +snd-soc-adau1761-i2c +snd-soc-adau1761-spi +snd-soc-adau17x1 +snd-soc-adau7002 +snd-soc-adau7118 +snd-soc-adau7118-hw +snd-soc-adau7118-i2c +snd-soc-adi-axi-i2s +snd-soc-adi-axi-spdif +snd-soc-ak4104 +snd-soc-ak4118 +snd-soc-ak4375 +snd-soc-ak4458 +snd-soc-ak4554 +snd-soc-ak4613 +snd-soc-ak4642 +snd-soc-ak5386 +snd-soc-ak5558 +snd-soc-alc5623 +snd-soc-alc5632 +snd-soc-apq8016-sbc +snd-soc-apq8096 +snd-soc-armada-370-db +snd-soc-audio-graph-card +snd-soc-audio-graph-card2 +snd-soc-audio-graph-card2-custom-sample +snd-soc-aw8738 +snd-soc-bd28623 +snd-soc-bt-sco +snd-soc-cpcap +snd-soc-cros-ec-codec +snd-soc-cs35l32 +snd-soc-cs35l33 +snd-soc-cs35l34 +snd-soc-cs35l35 +snd-soc-cs35l36 +snd-soc-cs35l41 +snd-soc-cs35l41-i2c +snd-soc-cs35l41-lib +snd-soc-cs35l41-spi +snd-soc-cs35l45 +snd-soc-cs35l45-i2c +snd-soc-cs35l45-spi +snd-soc-cs35l45-tables +snd-soc-cs4234 +snd-soc-cs4265 +snd-soc-cs4270 +snd-soc-cs4271 +snd-soc-cs4271-i2c +snd-soc-cs4271-spi +snd-soc-cs42l42 +snd-soc-cs42l51 +snd-soc-cs42l51-i2c +snd-soc-cs42l52 +snd-soc-cs42l56 +snd-soc-cs42l73 +snd-soc-cs42xx8 +snd-soc-cs42xx8-i2c +snd-soc-cs43130 +snd-soc-cs4341 +snd-soc-cs4349 +snd-soc-cs53l30 +snd-soc-cx2072x +snd-soc-da7213 +snd-soc-da7219 +snd-soc-davinci-mcasp +snd-soc-dmic +snd-soc-es7134 +snd-soc-es7241 +snd-soc-es8316 +snd-soc-es8328 +snd-soc-es8328-i2c +snd-soc-es8328-spi +snd-soc-eukrea-tlv320 +snd-soc-fsi +snd-soc-fsl-asoc-card +snd-soc-fsl-asrc +snd-soc-fsl-aud2htx +snd-soc-fsl-audmix +snd-soc-fsl-easrc +snd-soc-fsl-esai +snd-soc-fsl-micfil +snd-soc-fsl-mqs +snd-soc-fsl-rpmsg +snd-soc-fsl-sai +snd-soc-fsl-spdif +snd-soc-fsl-xcvr +snd-soc-gtm601 +snd-soc-hdmi-codec +snd-soc-ics43432 +snd-soc-imx-audmix +snd-soc-imx-card +snd-soc-imx-es8328 +snd-soc-imx-hdmi +snd-soc-imx-rpmsg +snd-soc-imx-spdif +snd-soc-inno-rk3036 +snd-soc-kirkwood +snd-soc-lochnagar-sc +snd-soc-lpass-apq8016 +snd-soc-lpass-cdc-dma +snd-soc-lpass-cpu +snd-soc-lpass-hdmi +snd-soc-lpass-ipq806x +snd-soc-lpass-macro-common +snd-soc-lpass-platform +snd-soc-lpass-rx-macro +snd-soc-lpass-sc7180 +snd-soc-lpass-sc7280 +snd-soc-lpass-tx-macro +snd-soc-lpass-va-macro +snd-soc-lpass-wsa-macro +snd-soc-max9759 +snd-soc-max98088 +snd-soc-max98090 +snd-soc-max98357a +snd-soc-max98373 +snd-soc-max98373-i2c +snd-soc-max98373-sdw +snd-soc-max98390 +snd-soc-max98396 +snd-soc-max98504 +snd-soc-max98520 +snd-soc-max9860 +snd-soc-max9867 +snd-soc-max98927 +snd-soc-meson-aiu +snd-soc-meson-axg-fifo +snd-soc-meson-axg-frddr +snd-soc-meson-axg-pdm +snd-soc-meson-axg-sound-card +snd-soc-meson-axg-spdifin +snd-soc-meson-axg-spdifout +snd-soc-meson-axg-tdm-formatter +snd-soc-meson-axg-tdm-interface +snd-soc-meson-axg-tdmin +snd-soc-meson-axg-tdmout +snd-soc-meson-axg-toddr +snd-soc-meson-card-utils +snd-soc-meson-codec-glue +snd-soc-meson-g12a-toacodec +snd-soc-meson-g12a-tohdmitx +snd-soc-meson-gx-sound-card +snd-soc-meson-t9015 +snd-soc-mikroe-proto +snd-soc-msm8916-analog +snd-soc-msm8916-digital +snd-soc-mt6351 +snd-soc-mt6358 +snd-soc-mt6359 +snd-soc-mt6660 +snd-soc-mt6797-afe +snd-soc-mt8183-afe +snd-soc-mt8192-afe +snd-soc-mt8195-afe +snd-soc-mtk-common +snd-soc-nau8315 +snd-soc-nau8540 +snd-soc-nau8810 +snd-soc-nau8821 +snd-soc-nau8822 +snd-soc-nau8824 +snd-soc-omap-abe-twl6040 +snd-soc-omap-dmic +snd-soc-omap-mcbsp +snd-soc-omap-mcpdm +snd-soc-omap-twl4030 +snd-soc-omap3pandora +snd-soc-pcm1681 +snd-soc-pcm1789-codec +snd-soc-pcm1789-i2c +snd-soc-pcm179x-codec +snd-soc-pcm179x-i2c +snd-soc-pcm179x-spi +snd-soc-pcm186x +snd-soc-pcm186x-i2c +snd-soc-pcm186x-spi +snd-soc-pcm3060 +snd-soc-pcm3060-i2c +snd-soc-pcm3060-spi +snd-soc-pcm3168a +snd-soc-pcm3168a-i2c +snd-soc-pcm3168a-spi +snd-soc-pcm5102a +snd-soc-pcm512x +snd-soc-pcm512x-i2c +snd-soc-pcm512x-spi +snd-soc-qcom-common +snd-soc-rcar +snd-soc-rk3288-hdmi-analog +snd-soc-rk3328 +snd-soc-rk3399-gru-sound +snd-soc-rk817 +snd-soc-rl6231 +snd-soc-rockchip-i2s +snd-soc-rockchip-i2s-tdm +snd-soc-rockchip-max98090 +snd-soc-rockchip-pdm +snd-soc-rockchip-rt5645 +snd-soc-rockchip-spdif +snd-soc-rt1011 +snd-soc-rt1015 +snd-soc-rt1015p +snd-soc-rt1308-sdw +snd-soc-rt1316-sdw +snd-soc-rt5514 +snd-soc-rt5514-spi +snd-soc-rt5616 +snd-soc-rt5631 +snd-soc-rt5640 +snd-soc-rt5645 +snd-soc-rt5659 +snd-soc-rt5663 +snd-soc-rt5677 +snd-soc-rt5677-spi +snd-soc-rt5682 +snd-soc-rt5682-i2c +snd-soc-rt5682-sdw +snd-soc-rt5682s +snd-soc-rt700 +snd-soc-rt711 +snd-soc-rt711-sdca +snd-soc-rt715 +snd-soc-rt715-sdca +snd-soc-rt9120 +snd-soc-rx51 +snd-soc-sc7180 +snd-soc-sc7280 +snd-soc-sdm845 +snd-soc-sdw-mockup +snd-soc-si476x +snd-soc-sigmadsp +snd-soc-sigmadsp-i2c +snd-soc-sigmadsp-regmap +snd-soc-simple-amplifier +snd-soc-simple-card +snd-soc-simple-card-utils +snd-soc-simple-mux +snd-soc-sm8250 +snd-soc-spdif-rx +snd-soc-spdif-tx +snd-soc-ssm2305 +snd-soc-ssm2518 +snd-soc-ssm2602 +snd-soc-ssm2602-i2c +snd-soc-ssm2602-spi +snd-soc-ssm4567 +snd-soc-sta32x +snd-soc-sta350 +snd-soc-sti-sas +snd-soc-storm +snd-soc-tas2552 +snd-soc-tas2562 +snd-soc-tas2764 +snd-soc-tas2770 +snd-soc-tas5086 +snd-soc-tas571x +snd-soc-tas5720 +snd-soc-tas5805m +snd-soc-tas6424 +snd-soc-tda7419 +snd-soc-tegra-audio-graph-card +snd-soc-tegra-machine +snd-soc-tegra-pcm +snd-soc-tegra-wm8903 +snd-soc-tegra186-asrc +snd-soc-tegra186-dspk +snd-soc-tegra20-ac97 +snd-soc-tegra20-das +snd-soc-tegra20-i2s +snd-soc-tegra20-spdif +snd-soc-tegra210-admaif +snd-soc-tegra210-adx +snd-soc-tegra210-ahub +snd-soc-tegra210-amx +snd-soc-tegra210-dmic +snd-soc-tegra210-i2s +snd-soc-tegra210-mixer +snd-soc-tegra210-mvc +snd-soc-tegra210-sfc +snd-soc-tegra30-ahub +snd-soc-tegra30-i2s +snd-soc-test-component +snd-soc-tfa9879 +snd-soc-tfa989x +snd-soc-ti-edma +snd-soc-ti-sdma +snd-soc-ti-udma +snd-soc-tlv320adc3xxx +snd-soc-tlv320adcx140 +snd-soc-tlv320aic23 +snd-soc-tlv320aic23-i2c +snd-soc-tlv320aic23-spi +snd-soc-tlv320aic31xx +snd-soc-tlv320aic32x4 +snd-soc-tlv320aic32x4-i2c +snd-soc-tlv320aic32x4-spi +snd-soc-tlv320aic3x +snd-soc-tlv320aic3x-i2c +snd-soc-tlv320aic3x-spi +snd-soc-tpa6130a2 +snd-soc-ts3a227e +snd-soc-tscs42xx +snd-soc-tscs454 +snd-soc-twl4030 +snd-soc-twl6040 +snd-soc-uda1334 +snd-soc-wcd-mbhc +snd-soc-wcd9335 +snd-soc-wcd934x +snd-soc-wcd938x +snd-soc-wcd938x-sdw +snd-soc-wm-adsp +snd-soc-wm-hubs +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8524 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8731-i2c +snd-soc-wm8731-spi +snd-soc-wm8737 +snd-soc-wm8741 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8770 +snd-soc-wm8776 +snd-soc-wm8782 +snd-soc-wm8804 +snd-soc-wm8804-i2c +snd-soc-wm8804-spi +snd-soc-wm8903 +snd-soc-wm8904 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8962 +snd-soc-wm8974 +snd-soc-wm8978 +snd-soc-wm8985 +snd-soc-wm8994 +snd-soc-wm9712 +snd-soc-wsa881x +snd-soc-xlnx-formatter-pcm +snd-soc-xlnx-i2s +snd-soc-xlnx-spdif +snd-soc-xtfpga-i2s +snd-soc-zl38060 +snd-ua101 +snd-usb-6fire +snd-usb-audio +snd-usb-caiaq +snd-usb-hiface +snd-usb-line6 +snd-usb-pod +snd-usb-podhd +snd-usb-toneport +snd-usb-variax +snd-usbmidi-lib +snd-via82xx +snd-via82xx-modem +snd-virmidi +snd-virtuoso +snd-vx-lib +snd-vx222 +snd-ymfpci +snic +snps_udc_core +snps_udc_plat +snvs_pwrkey +socfpga +socfpga-a10 +socinfo +softdog +softing +solo6x10 +solos-pci +sony-btf-mpx +soundwire-bus +soundwire-qcom +sp2 +sp805_wdt +sp8870 +sp887x +spaceball +spaceorb +sparse-keymap +spcp8x5 +speakup +speakup_acntsa +speakup_apollo +speakup_audptr +speakup_bns +speakup_decext +speakup_dectlk +speakup_dummy +speakup_ltlk +speakup_soft +speakup_spkout +speakup_txprt +speedfax +speedtch +spi-altera-core +spi-altera-dfl +spi-altera-platform +spi-amd +spi-armada-3700 +spi-aspeed-smc +spi-axi-spi-engine +spi-bitbang +spi-butterfly +spi-cadence +spi-cadence-quadspi +spi-cadence-xspi +spi-dln2 +spi-dw +spi-dw-mmio +spi-dw-pci +spi-fsi +spi-fsl-dspi +spi-fsl-lpspi +spi-fsl-qspi +spi-geni-qcom +spi-gpio +spi-imx +spi-lm70llp +spi-loopback-test +spi-meson-spicc +spi-meson-spifc +spi-mt65xx +spi-mtk-nor +spi-mtk-snfi +spi-mux +spi-mxic +spi-nor +spi-npcm-fiu +spi-npcm-pspi +spi-nxp-fspi +spi-oc-tiny +spi-orion +spi-pl022 +spi-pxa2xx-pci +spi-pxa2xx-platform +spi-qcom-qspi +spi-qup +spi-rockchip +spi-rockchip-sfc +spi-rpc-if +spi-rspi +spi-sc18is602 +spi-sh-hspi +spi-sh-msiof +spi-sifive +spi-slave-mt27xx +spi-slave-system-control +spi-slave-time +spi-tegra114 +spi-tegra20-sflash +spi-tegra20-slink +spi-tegra210-quad +spi-ti-qspi +spi-tle62x0 +spi-xcomm +spi-zynqmp-gqspi +spi_ks8995 +spidev +spinand +spmi +spmi-mtk-pmif +spmi-pmic-arb +sprd_serial +sps30 +sps30_i2c +sps30_serial +sr030pc30 +sr9700 +sr9800 +srf04 +srf08 +ssb +ssb-hcd +ssbi +ssd1307fb +ssd130x +ssd130x-i2c +ssd130x-spi +ssfdc +ssi_protocol +ssp_accel_sensor +ssp_gyro_sensor +ssp_iio +sst25l +sstfb +ssu100 +st +st-asc +st-mipid02 +st-nci +st-nci_i2c +st-nci_spi +st1232 +st21nfca_hci +st21nfca_i2c +st7586 +st7735r +st95hf +st_accel +st_accel_i2c +st_accel_spi +st_drv +st_gyro +st_gyro_i2c +st_gyro_spi +st_lsm6dsx +st_lsm6dsx_i2c +st_lsm6dsx_i3c +st_lsm6dsx_spi +st_lsm9ds0 +st_lsm9ds0_i2c +st_lsm9ds0_spi +st_magn +st_magn_i2c +st_magn_spi +st_pressure +st_pressure_i2c +st_pressure_spi +st_sensors +st_sensors_i2c +st_sensors_spi +st_uvis25_core +st_uvis25_i2c +st_uvis25_spi +starfire +stb0899 +stb6000 +stb6100 +ste10Xp +stex +stinger +stk1160 +stk3310 +stk8312 +stk8ba50 +stkwebcam +stm-drm +stm_console +stm_core +stm_ftrace +stm_heartbeat +stm_p_basic +stm_p_sys-t +stmfts +stmfx +stmmac +stmmac-pci +stmmac-platform +stmpe-adc +stmpe-keypad +stmpe-ts +stowaway +stp +stpddc60 +stpmic1 +stpmic1_onkey +stpmic1_regulator +stpmic1_wdt +streamzap +streebog_generic +stts751 +stusb160x +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv0910 +stv6110 +stv6110x +stv6111 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrise_co2 +sunrpc +sur40 +surface3_spi +svc-i3c-master +svgalib +switchtec +sx8 +sx8654 +sx9310 +sx9324 +sx9360 +sx9500 +sx_common +sy7636a-hwmon +sy7636a-regulator +sy8106a-regulator +sy8824x +sy8827n +sym53c8xx +symbolserial +synaptics_i2c +synaptics_usb +synclink_gt +synopsys_edac +syscon-reboot-mode +syscopyarea +sysfillrect +sysimgblt +sysv +t5403 +tag_ar9331 +tag_brcm +tag_dsa +tag_gswip +tag_hellcreek +tag_ksz +tag_lan9303 +tag_mtk +tag_ocelot +tag_ocelot_8021q +tag_qca +tag_rtl4_a +tag_rtl8_4 +tag_sja1105 +tag_trailer +tag_xrs700x +tap +target_core_file +target_core_iblock +target_core_mod +target_core_pscsi +target_core_user +tc-dwc-g210 +tc-dwc-g210-pci +tc-dwc-g210-pltfrm +tc358743 +tc358762 +tc358764 +tc358767 +tc358768 +tc358775 +tc3589x-keypad +tc654 +tc74 +tc90522 +tca6416-keypad +tca8418_keypad +tcan4x5x +tcm_fc +tcm_loop +tcm_qla2xxx +tcm_usb_gadget +tcp_bbr +tcp_bic +tcp_cdg +tcp_dctcp +tcp_diag +tcp_highspeed +tcp_htcp +tcp_hybla +tcp_illinois +tcp_lp +tcp_nv +tcp_scalable +tcp_vegas +tcp_veno +tcp_westwood +tcp_yeah +tcpci +tcpci_maxim +tcpci_mt6360 +tcpci_rt1711h +tcpm +tcrypt +tcs3414 +tcs3472 +tda10021 +tda10023 +tda10048 +tda1004x +tda10071 +tda10086 +tda18212 +tda18218 +tda18250 +tda18271 +tda18271c2dd +tda1997x +tda665x +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tda9950 +tda998x +tdfxfb +tdo24m +tea575x +tea5761 +tea5767 +tea6415c +tea6420 +team +team_mode_activebackup +team_mode_broadcast +team_mode_loadbalance +team_mode_random +team_mode_roundrobin +tee +tef6862 +tegra-bpmp-thermal +tegra-drm +tegra-gmi +tegra-kbc +tegra-vde +tegra-video +tegra-xudc +tegra186-cpufreq +tegra30-devfreq +tegra30-tsensor +tegra_cec +tegra_nand +tegra_wdt +tehuti +teranetics +test-kprobes +test_blackhole_dev +test_bpf +test_power +tg3 +thc63lvd1024 +thermal-generic-adc +thermal_mmio +thmc50 +ths7303 +ths8200 +thunderbolt +thunderbolt-net +ti-adc081c +ti-adc0832 +ti-adc084s021 +ti-adc108s102 +ti-adc12138 +ti-adc128s052 +ti-adc161s626 +ti-ads1015 +ti-ads124s08 +ti-ads131e08 +ti-ads7950 +ti-ads8344 +ti-ads8688 +ti-cal +ti-csc +ti-dac082s085 +ti-dac5571 +ti-dac7311 +ti-dac7612 +ti-emif-sram +ti-eqep +ti-lmu +ti-sc +ti-sn65dsi83 +ti-sn65dsi86 +ti-tfp410 +ti-tlc4541 +ti-tpd12s015 +ti-tsc2046 +ti-vpdma +ti-vpe +ti_am335x_adc +ti_am335x_tsc +ti_am335x_tscadc +ti_cpsw_new +ti_davinci_emac +ti_edac +ti_hecc +ti_usb_3410_5052 +tidss +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +tilcdc +timeriomem-rng +tipc +tlan +tls +tlv320aic23b +tm2-touchkey +tm6000 +tm6000-alsa +tm6000-dvb +tmdc +tmio_mmc +tmio_mmc_core +tmio_nand +tmiofb +tmp006 +tmp007 +tmp102 +tmp103 +tmp108 +tmp117 +tmp401 +tmp421 +tmp464 +tmp513 +toshsd +touchit213 +touchright +touchwin +tpci200 +tpl0102 +tpm_ftpm_tee +tpm_i2c_atmel +tpm_i2c_infineon +tpm_i2c_nuvoton +tpm_st33zp24 +tpm_st33zp24_i2c +tpm_st33zp24_spi +tpm_tis_i2c_cr50 +tpm_tis_spi +tpm_vtpm_proxy +tps23861 +tps40422 +tps51632-regulator +tps53679 +tps6105x +tps6105x-regulator +tps62360-regulator +tps6286x-regulator +tps65010 +tps65023-regulator +tps6507x +tps6507x-regulator +tps6507x-ts +tps65086 +tps65086-regulator +tps65090-charger +tps65090-regulator +tps65132-regulator +tps65217_bl +tps65217_charger +tps65218 +tps65218-pwrbutton +tps65218-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +tps6598x +tqmx86 +trace-printk +trancevibrator +trf7970a +tridentfb +ts2020 +ts4800-ts +ts4800_wdt +ts_bm +ts_fsm +ts_kmp +tsc2004 +tsc2005 +tsc2007 +tsc200x-core +tsc40 +tsi721_mport +tsl2550 +tsl2563 +tsl2583 +tsl2591 +tsl2772 +tsl4531 +tsnep +tsys01 +tsys02d +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +ttusbir +ttynull +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tunnel4 +tunnel6 +turbografx +turingcc-qcs404 +turris-mox-rwtm +tusb6010 +tvaudio +tve200_drm +tveeprom +tvp514x +tvp5150 +tvp7002 +tw2804 +tw5864 +tw68 +tw686x +tw9903 +tw9906 +tw9910 +twidjoy +twl4030-madc +twl4030-pwrbutton +twl4030-vibra +twl4030_charger +twl4030_keypad +twl4030_madc_battery +twl4030_wdt +twl6030-gpadc +twl6040-vibra +twofish_common +twofish_generic +typec +typec_displayport +typec_nvidia +typec_ucsi +typhoon +u132-hcd +uPD60620 +u_audio +u_ether +u_serial +uacce +uartlite +uas +ubi +ubifs +ubuntu-host +ucan +ucb1400_core +ucb1400_ts +ucc_uart +ucd9000 +ucd9200 +ucs1002_power +ucsi_ccg +uda1342 +udc-xilinx +udf +udl +udlfb +udp_diag +udp_tunnel +ueagle-atm +ufs +ufs-hisi +ufs-mediatek +ufs_qcom +ufshcd-core +ufshcd-dwc +ufshcd-pci +ufshcd-pltfrm +ug3105_battery +uhid +uio +uio_aec +uio_cif +uio_dfl +uio_dmem_genirq +uio_mf624 +uio_netx +uio_pci_generic +uio_pdrv_genirq +uio_pruss +uio_sercos3 +uleds +uli526x +ulpi +ums-alauda +ums-cypress +ums-datafab +ums-eneub6250 +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-realtek +ums-sddr09 +ums-sddr55 +ums-usbat +unix_diag +upd64031a +upd64083 +upd78f0730 +us5182d +usb-conn-gpio +usb-dmac +usb-serial-simple +usb-storage +usb251xb +usb3503 +usb4604 +usb8xxx +usb_8dev +usb_debug +usb_f_acm +usb_f_ecm +usb_f_ecm_subset +usb_f_eem +usb_f_fs +usb_f_hid +usb_f_mass_storage +usb_f_midi +usb_f_ncm +usb_f_obex +usb_f_phonet +usb_f_printer +usb_f_rndis +usb_f_serial +usb_f_ss_lb +usb_f_tcm +usb_f_uac1 +usb_f_uac1_legacy +usb_f_uac2 +usb_f_uvc +usb_wwan +usbatm +usbdux +usbduxfast +usbduxsigma +usbhid +usbip-core +usbip-host +usbip-vudc +usbkbd +usblcd +usblp +usbmisc_imx +usbmon +usbmouse +usbnet +usbserial +usbsevseg +usbtest +usbtmc +usbtouchscreen +usbtv +usdhi6rol0 +userio +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +v4l2-async +v4l2-dv-timings +v4l2-flash-led-class +v4l2-fwnode +v4l2-h264 +v4l2-jpeg +v4l2-mem2mem +v4l2-tpg +v4l2-vp9 +vcan +vcnl3020 +vcnl4000 +vcnl4035 +vctrl-regulator +vdpa +vdpa_sim +vdpa_sim_blk +vdpa_sim_net +vduse +veml6030 +veml6070 +ves1820 +ves1x93 +veth +vexpress-hwmon +vexpress-regulator +vexpress-spc-cpufreq +vf610_adc +vf610_dac +vfio-amba +vfio-pci +vfio-pci-core +vfio-platform +vfio-platform-amdxgbe +vfio-platform-base +vfio-platform-calxedaxgmac +vfio_virqfd +vgastate +vgem +vgg2432a4 +vhci-hcd +vhost +vhost_iotlb +vhost_net +vhost_scsi +vhost_vdpa +vhost_vsock +via-rhine +via-sdmmc +via-velocity +via686a +vicodec +video-i2c +video-mux +videobuf-core +videobuf-dma-sg +videobuf-vmalloc +videobuf2-common +videobuf2-dma-contig +videobuf2-dma-sg +videobuf2-dvb +videobuf2-memops +videobuf2-v4l2 +videobuf2-vmalloc +videocc-sc7180 +videocc-sc7280 +videocc-sdm845 +videocc-sm8150 +videocc-sm8250 +videodev +vim2m +vimc +viperboard +viperboard_adc +virt_wifi +virtio-gpu +virtio-rng +virtio_blk +virtio_bt +virtio_crypto +virtio_dma_buf +virtio_input +virtio_net +virtio_rpmsg_bus +virtio_scsi +virtio_snd +virtio_vdpa +virtiofs +virtual +virtual_ncidev +visor +vitesse +vitesse-vsc73xx-core +vitesse-vsc73xx-platform +vitesse-vsc73xx-spi +vivid +vkms +vl53l0x-i2c +vl6180 +vmac +vme_fake +vme_tsi148 +vme_user +vme_vmivme7805 +vmk80xx +vmw_pvrdma +vmw_vsock_virtio_transport +vmw_vsock_virtio_transport_common +vmxnet3 +vp27smpx +vp_vdpa +vport-geneve +vport-gre +vport-vxlan +vpx3220 +vqmmc-ipq4019-regulator +vrf +vringh +vs6624 +vsock +vsock_diag +vsock_loopback +vsockmon +vsp1 +vsxxxaa +vt1211 +vt6655_stage +vt6656_stage +vt8231 +vt8623fb +vub300 +vx855 +vxcan +vxge +vxlan +vz89x +w1-gpio +w1_ds2405 +w1_ds2406 +w1_ds2408 +w1_ds2413 +w1_ds2423 +w1_ds2430 +w1_ds2431 +w1_ds2433 +w1_ds2438 +w1_ds250x +w1_ds2780 +w1_ds2781 +w1_ds2805 +w1_ds28e04 +w1_ds28e17 +w1_smem +w1_therm +w5100 +w5100-spi +w5300 +w6692 +w83627ehf +w83627hf +w83773g +w83781d +w83791d +w83792d +w83793 +w83795 +w83l785ts +w83l786ng +wacom +wacom_i2c +wacom_serial4 +wacom_w8001 +walkera0701 +wanxl +warrior +wcd934x +wcn36xx +wcnss_ctrl +wd719x +wdt87xx_i2c +wdt_pci +wfx +whiteheat +wil6210 +wilc1000 +wilc1000-sdio +wilc1000-spi +winbond-840 +wire +wireguard +wishbone-serial +wkup_m3_rproc +wl1251 +wl1251_sdio +wl1251_spi +wl1273-core +wl12xx +wl18xx +wlcore +wlcore_sdio +wlcore_spi +wm831x-dcdc +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x-ts +wm831x_backup +wm831x_bl +wm831x_power +wm831x_wdt +wm8350-hwmon +wm8350-regulator +wm8350_power +wm8350_wdt +wm8400-regulator +wm8739 +wm8775 +wm8994 +wm8994-regulator +wm97xx-ts +wp512 +wusb3801 +wwan_hwsim +x25 +x_tables +xbox_remote +xc2028 +xc4000 +xc5000 +xcbc +xdpe12284 +xdpe152c4 +xfrm4_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_interface +xfrm_ipcomp +xfrm_user +xfs +xgmac +xhci-histb +xhci-mtk-hcd +xhci-pci +xhci-pci-renesas +xhci-plat-hcd +xhci-tegra +xilinx-csi2rxss +xilinx-pr-decoupler +xilinx-spi +xilinx-tpg +xilinx-video +xilinx-vtc +xilinx-xadc +xilinx_dpdma +xilinx_emac +xilinx_emaclite +xilinx_gmii2rgmii +xilinx_sdfec +xilinx_uartps +xillybus_class +xillybus_core +xillybus_of +xillybus_pcie +xillyusb +xiphera-trng +xircom_cb +xlnx_vcu +xor +xor-neon +xpad +xr_serial +xrs700x +xrs700x_i2c +xrs700x_mdio +xsens_mt +xsk_diag +xt_AUDIT +xt_CHECKSUM +xt_CLASSIFY +xt_CONNSECMARK +xt_CT +xt_DSCP +xt_HL +xt_HMARK +xt_IDLETIMER +xt_LED +xt_LOG +xt_MASQUERADE +xt_NETMAP +xt_NFLOG +xt_NFQUEUE +xt_RATEEST +xt_REDIRECT +xt_SECMARK +xt_TCPMSS +xt_TCPOPTSTRIP +xt_TEE +xt_TPROXY +xt_TRACE +xt_addrtype +xt_bpf +xt_cgroup +xt_cluster +xt_comment +xt_connbytes +xt_connlabel +xt_connlimit +xt_connmark +xt_conntrack +xt_cpu +xt_dccp +xt_devgroup +xt_dscp +xt_ecn +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_ipcomp +xt_iprange +xt_ipvs +xt_l2tp +xt_length +xt_limit +xt_mac +xt_mark +xt_multiport +xt_nat +xt_nfacct +xt_osf +xt_owner +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_rateest +xt_realm +xt_recent +xt_sctp +xt_set +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_tcpudp +xt_time +xt_u32 +xtkbd +xusbatm +xxhash_generic +xz_dec_test +yam +yamaha-yas530 +yealink +yellowfin +yenta_socket +yurex +z3fold +zaurus +zd1201 +zd1211rw +zd1301 +zd1301_demod +zet6223 +zforce_ts +zhenhua +ziirave_wdt +zinitix +zl10036 +zl10039 +zl10353 +zl6100 +zonefs +zopt2201 +zpa2326 +zpa2326_i2c +zpa2326_spi +zr364xx +zram +zstd --- linux-gcp-5.19.0.orig/debian.master/abi/armhf/generic.retpoline +++ linux-gcp-5.19.0/debian.master/abi/armhf/generic.retpoline @@ -0,0 +1 @@ +# RETPOLINE NOT ENABLED --- linux-gcp-5.19.0.orig/debian.master/abi/fwinfo +++ linux-gcp-5.19.0/debian.master/abi/fwinfo @@ -0,0 +1,2053 @@ +firmware: 3826.arm +firmware: 3com/typhoon.bin +firmware: 6fire/dmx6fireap.ihx +firmware: 6fire/dmx6firecf.bin +firmware: 6fire/dmx6firel2.ihx +firmware: BCM2033-FW.bin +firmware: BCM2033-MD.hex +firmware: BT3CPCC.bin +firmware: RTL8192E/boot.img +firmware: RTL8192E/data.img +firmware: RTL8192E/main.img +firmware: RTL8192U/boot.img +firmware: RTL8192U/data.img +firmware: RTL8192U/main.img +firmware: acenic/tg1.bin +firmware: acenic/tg2.bin +firmware: adaptec/starfire_rx.bin +firmware: adaptec/starfire_tx.bin +firmware: advansys/3550.bin +firmware: advansys/38C0800.bin +firmware: advansys/38C1600.bin +firmware: advansys/mcode.bin +firmware: agere_ap_fw.bin +firmware: agere_sta_fw.bin +firmware: aic94xx-seq.fw +firmware: amd/amd_sev_fam17h_model0xh.sbin +firmware: amd/amd_sev_fam17h_model3xh.sbin +firmware: amd/amd_sev_fam19h_model0xh.sbin +firmware: amdgpu/aldebaran_cap.bin +firmware: amdgpu/aldebaran_mec.bin +firmware: amdgpu/aldebaran_mec2.bin +firmware: amdgpu/aldebaran_rlc.bin +firmware: amdgpu/aldebaran_sdma.bin +firmware: amdgpu/aldebaran_smc.bin +firmware: amdgpu/aldebaran_sos.bin +firmware: amdgpu/aldebaran_ta.bin +firmware: amdgpu/aldebaran_vcn.bin +firmware: amdgpu/arcturus_asd.bin +firmware: amdgpu/arcturus_gpu_info.bin +firmware: amdgpu/arcturus_mec.bin +firmware: amdgpu/arcturus_rlc.bin +firmware: amdgpu/arcturus_sdma.bin +firmware: amdgpu/arcturus_smc.bin +firmware: amdgpu/arcturus_sos.bin +firmware: amdgpu/arcturus_ta.bin +firmware: amdgpu/arcturus_vcn.bin +firmware: amdgpu/banks_k_2_smc.bin +firmware: amdgpu/beige_goby_ce.bin +firmware: amdgpu/beige_goby_dmcub.bin +firmware: amdgpu/beige_goby_me.bin +firmware: amdgpu/beige_goby_mec.bin +firmware: amdgpu/beige_goby_mec2.bin +firmware: amdgpu/beige_goby_pfp.bin +firmware: amdgpu/beige_goby_rlc.bin +firmware: amdgpu/beige_goby_sdma.bin +firmware: amdgpu/beige_goby_smc.bin +firmware: amdgpu/beige_goby_sos.bin +firmware: amdgpu/beige_goby_ta.bin +firmware: amdgpu/beige_goby_vcn.bin +firmware: amdgpu/bonaire_ce.bin +firmware: amdgpu/bonaire_k_smc.bin +firmware: amdgpu/bonaire_mc.bin +firmware: amdgpu/bonaire_me.bin +firmware: amdgpu/bonaire_mec.bin +firmware: amdgpu/bonaire_pfp.bin +firmware: amdgpu/bonaire_rlc.bin +firmware: amdgpu/bonaire_sdma.bin +firmware: amdgpu/bonaire_sdma1.bin +firmware: amdgpu/bonaire_smc.bin +firmware: amdgpu/bonaire_uvd.bin +firmware: amdgpu/bonaire_vce.bin +firmware: amdgpu/carrizo_ce.bin +firmware: amdgpu/carrizo_me.bin +firmware: amdgpu/carrizo_mec.bin +firmware: amdgpu/carrizo_mec2.bin +firmware: amdgpu/carrizo_pfp.bin +firmware: amdgpu/carrizo_rlc.bin +firmware: amdgpu/carrizo_sdma.bin +firmware: amdgpu/carrizo_sdma1.bin +firmware: amdgpu/carrizo_uvd.bin +firmware: amdgpu/carrizo_vce.bin +firmware: amdgpu/cyan_skillfish2_ce.bin +firmware: amdgpu/cyan_skillfish2_me.bin +firmware: amdgpu/cyan_skillfish2_mec.bin +firmware: amdgpu/cyan_skillfish2_mec2.bin +firmware: amdgpu/cyan_skillfish2_pfp.bin +firmware: amdgpu/cyan_skillfish2_rlc.bin +firmware: amdgpu/cyan_skillfish2_sdma.bin +firmware: amdgpu/cyan_skillfish2_sdma1.bin +firmware: amdgpu/dcn_3_1_5_dmcub.bin +firmware: amdgpu/dcn_3_1_6_dmcub.bin +firmware: amdgpu/dimgrey_cavefish_ce.bin +firmware: amdgpu/dimgrey_cavefish_dmcub.bin +firmware: amdgpu/dimgrey_cavefish_me.bin +firmware: amdgpu/dimgrey_cavefish_mec.bin +firmware: amdgpu/dimgrey_cavefish_mec2.bin +firmware: amdgpu/dimgrey_cavefish_pfp.bin +firmware: amdgpu/dimgrey_cavefish_rlc.bin +firmware: amdgpu/dimgrey_cavefish_sdma.bin +firmware: amdgpu/dimgrey_cavefish_smc.bin +firmware: amdgpu/dimgrey_cavefish_sos.bin +firmware: amdgpu/dimgrey_cavefish_ta.bin +firmware: amdgpu/dimgrey_cavefish_vcn.bin +firmware: amdgpu/fiji_ce.bin +firmware: amdgpu/fiji_me.bin +firmware: amdgpu/fiji_mec.bin +firmware: amdgpu/fiji_mec2.bin +firmware: amdgpu/fiji_pfp.bin +firmware: amdgpu/fiji_rlc.bin +firmware: amdgpu/fiji_sdma.bin +firmware: amdgpu/fiji_sdma1.bin +firmware: amdgpu/fiji_smc.bin +firmware: amdgpu/fiji_uvd.bin +firmware: amdgpu/fiji_vce.bin +firmware: amdgpu/gc_10_3_6_ce.bin +firmware: amdgpu/gc_10_3_6_me.bin +firmware: amdgpu/gc_10_3_6_mec.bin +firmware: amdgpu/gc_10_3_6_mec2.bin +firmware: amdgpu/gc_10_3_6_pfp.bin +firmware: amdgpu/gc_10_3_6_rlc.bin +firmware: amdgpu/gc_10_3_7_ce.bin +firmware: amdgpu/gc_10_3_7_me.bin +firmware: amdgpu/gc_10_3_7_mec.bin +firmware: amdgpu/gc_10_3_7_mec2.bin +firmware: amdgpu/gc_10_3_7_pfp.bin +firmware: amdgpu/gc_10_3_7_rlc.bin +firmware: amdgpu/gc_11_0_0_imu.bin +firmware: amdgpu/gc_11_0_0_me.bin +firmware: amdgpu/gc_11_0_0_mec.bin +firmware: amdgpu/gc_11_0_0_mes.bin +firmware: amdgpu/gc_11_0_0_mes1.bin +firmware: amdgpu/gc_11_0_0_pfp.bin +firmware: amdgpu/gc_11_0_0_rlc.bin +firmware: amdgpu/gc_11_0_0_toc.bin +firmware: amdgpu/gc_11_0_1_imu.bin +firmware: amdgpu/gc_11_0_1_me.bin +firmware: amdgpu/gc_11_0_1_mec.bin +firmware: amdgpu/gc_11_0_1_mes.bin +firmware: amdgpu/gc_11_0_1_mes1.bin +firmware: amdgpu/gc_11_0_1_pfp.bin +firmware: amdgpu/gc_11_0_1_rlc.bin +firmware: amdgpu/gc_11_0_2_imu.bin +firmware: amdgpu/gc_11_0_2_me.bin +firmware: amdgpu/gc_11_0_2_mec.bin +firmware: amdgpu/gc_11_0_2_mes.bin +firmware: amdgpu/gc_11_0_2_mes1.bin +firmware: amdgpu/gc_11_0_2_pfp.bin +firmware: amdgpu/gc_11_0_2_rlc.bin +firmware: amdgpu/green_sardine_asd.bin +firmware: amdgpu/green_sardine_ce.bin +firmware: amdgpu/green_sardine_dmcub.bin +firmware: amdgpu/green_sardine_me.bin +firmware: amdgpu/green_sardine_mec.bin +firmware: amdgpu/green_sardine_mec2.bin +firmware: amdgpu/green_sardine_pfp.bin +firmware: amdgpu/green_sardine_rlc.bin +firmware: amdgpu/green_sardine_sdma.bin +firmware: amdgpu/green_sardine_ta.bin +firmware: amdgpu/green_sardine_vcn.bin +firmware: amdgpu/hainan_ce.bin +firmware: amdgpu/hainan_k_smc.bin +firmware: amdgpu/hainan_mc.bin +firmware: amdgpu/hainan_me.bin +firmware: amdgpu/hainan_pfp.bin +firmware: amdgpu/hainan_rlc.bin +firmware: amdgpu/hainan_smc.bin +firmware: amdgpu/hawaii_ce.bin +firmware: amdgpu/hawaii_k_smc.bin +firmware: amdgpu/hawaii_mc.bin +firmware: amdgpu/hawaii_me.bin +firmware: amdgpu/hawaii_mec.bin +firmware: amdgpu/hawaii_pfp.bin +firmware: amdgpu/hawaii_rlc.bin +firmware: amdgpu/hawaii_sdma.bin +firmware: amdgpu/hawaii_sdma1.bin +firmware: amdgpu/hawaii_smc.bin +firmware: amdgpu/hawaii_uvd.bin +firmware: amdgpu/hawaii_vce.bin +firmware: amdgpu/ip_discovery.bin +firmware: amdgpu/kabini_ce.bin +firmware: amdgpu/kabini_me.bin +firmware: amdgpu/kabini_mec.bin +firmware: amdgpu/kabini_pfp.bin +firmware: amdgpu/kabini_rlc.bin +firmware: amdgpu/kabini_sdma.bin +firmware: amdgpu/kabini_sdma1.bin +firmware: amdgpu/kabini_uvd.bin +firmware: amdgpu/kabini_vce.bin +firmware: amdgpu/kaveri_ce.bin +firmware: amdgpu/kaveri_me.bin +firmware: amdgpu/kaveri_mec.bin +firmware: amdgpu/kaveri_mec2.bin +firmware: amdgpu/kaveri_pfp.bin +firmware: amdgpu/kaveri_rlc.bin +firmware: amdgpu/kaveri_sdma.bin +firmware: amdgpu/kaveri_sdma1.bin +firmware: amdgpu/kaveri_uvd.bin +firmware: amdgpu/kaveri_vce.bin +firmware: amdgpu/mullins_ce.bin +firmware: amdgpu/mullins_me.bin +firmware: amdgpu/mullins_mec.bin +firmware: amdgpu/mullins_pfp.bin +firmware: amdgpu/mullins_rlc.bin +firmware: amdgpu/mullins_sdma.bin +firmware: amdgpu/mullins_sdma1.bin +firmware: amdgpu/mullins_uvd.bin +firmware: amdgpu/mullins_vce.bin +firmware: amdgpu/navi10_asd.bin +firmware: amdgpu/navi10_ce.bin +firmware: amdgpu/navi10_me.bin +firmware: amdgpu/navi10_mec.bin +firmware: amdgpu/navi10_mec2.bin +firmware: amdgpu/navi10_mes.bin +firmware: amdgpu/navi10_pfp.bin +firmware: amdgpu/navi10_rlc.bin +firmware: amdgpu/navi10_sdma.bin +firmware: amdgpu/navi10_sdma1.bin +firmware: amdgpu/navi10_smc.bin +firmware: amdgpu/navi10_sos.bin +firmware: amdgpu/navi10_ta.bin +firmware: amdgpu/navi10_vcn.bin +firmware: amdgpu/navi12_asd.bin +firmware: amdgpu/navi12_cap.bin +firmware: amdgpu/navi12_ce.bin +firmware: amdgpu/navi12_dmcu.bin +firmware: amdgpu/navi12_gpu_info.bin +firmware: amdgpu/navi12_me.bin +firmware: amdgpu/navi12_mec.bin +firmware: amdgpu/navi12_mec2.bin +firmware: amdgpu/navi12_pfp.bin +firmware: amdgpu/navi12_rlc.bin +firmware: amdgpu/navi12_sdma.bin +firmware: amdgpu/navi12_sdma1.bin +firmware: amdgpu/navi12_smc.bin +firmware: amdgpu/navi12_sos.bin +firmware: amdgpu/navi12_ta.bin +firmware: amdgpu/navi12_vcn.bin +firmware: amdgpu/navi14_asd.bin +firmware: amdgpu/navi14_ce.bin +firmware: amdgpu/navi14_ce_wks.bin +firmware: amdgpu/navi14_me.bin +firmware: amdgpu/navi14_me_wks.bin +firmware: amdgpu/navi14_mec.bin +firmware: amdgpu/navi14_mec2.bin +firmware: amdgpu/navi14_mec2_wks.bin +firmware: amdgpu/navi14_mec_wks.bin +firmware: amdgpu/navi14_pfp.bin +firmware: amdgpu/navi14_pfp_wks.bin +firmware: amdgpu/navi14_rlc.bin +firmware: amdgpu/navi14_sdma.bin +firmware: amdgpu/navi14_sdma1.bin +firmware: amdgpu/navi14_smc.bin +firmware: amdgpu/navi14_sos.bin +firmware: amdgpu/navi14_ta.bin +firmware: amdgpu/navi14_vcn.bin +firmware: amdgpu/navy_flounder_ce.bin +firmware: amdgpu/navy_flounder_dmcub.bin +firmware: amdgpu/navy_flounder_me.bin +firmware: amdgpu/navy_flounder_mec.bin +firmware: amdgpu/navy_flounder_mec2.bin +firmware: amdgpu/navy_flounder_pfp.bin +firmware: amdgpu/navy_flounder_rlc.bin +firmware: amdgpu/navy_flounder_sdma.bin +firmware: amdgpu/navy_flounder_smc.bin +firmware: amdgpu/navy_flounder_sos.bin +firmware: amdgpu/navy_flounder_ta.bin +firmware: amdgpu/navy_flounder_vcn.bin +firmware: amdgpu/oland_ce.bin +firmware: amdgpu/oland_k_smc.bin +firmware: amdgpu/oland_mc.bin +firmware: amdgpu/oland_me.bin +firmware: amdgpu/oland_pfp.bin +firmware: amdgpu/oland_rlc.bin +firmware: amdgpu/oland_smc.bin +firmware: amdgpu/oland_uvd.bin +firmware: amdgpu/picasso_asd.bin +firmware: amdgpu/picasso_ce.bin +firmware: amdgpu/picasso_gpu_info.bin +firmware: amdgpu/picasso_me.bin +firmware: amdgpu/picasso_mec.bin +firmware: amdgpu/picasso_mec2.bin +firmware: amdgpu/picasso_pfp.bin +firmware: amdgpu/picasso_rlc.bin +firmware: amdgpu/picasso_rlc_am4.bin +firmware: amdgpu/picasso_sdma.bin +firmware: amdgpu/picasso_ta.bin +firmware: amdgpu/picasso_vcn.bin +firmware: amdgpu/pitcairn_ce.bin +firmware: amdgpu/pitcairn_k_smc.bin +firmware: amdgpu/pitcairn_mc.bin +firmware: amdgpu/pitcairn_me.bin +firmware: amdgpu/pitcairn_pfp.bin +firmware: amdgpu/pitcairn_rlc.bin +firmware: amdgpu/pitcairn_smc.bin +firmware: amdgpu/pitcairn_uvd.bin +firmware: amdgpu/polaris10_ce.bin +firmware: amdgpu/polaris10_ce_2.bin +firmware: amdgpu/polaris10_k2_smc.bin +firmware: amdgpu/polaris10_k_mc.bin +firmware: amdgpu/polaris10_k_smc.bin +firmware: amdgpu/polaris10_mc.bin +firmware: amdgpu/polaris10_me.bin +firmware: amdgpu/polaris10_me_2.bin +firmware: amdgpu/polaris10_mec.bin +firmware: amdgpu/polaris10_mec2.bin +firmware: amdgpu/polaris10_mec2_2.bin +firmware: amdgpu/polaris10_mec_2.bin +firmware: amdgpu/polaris10_pfp.bin +firmware: amdgpu/polaris10_pfp_2.bin +firmware: amdgpu/polaris10_rlc.bin +firmware: amdgpu/polaris10_sdma.bin +firmware: amdgpu/polaris10_sdma1.bin +firmware: amdgpu/polaris10_smc.bin +firmware: amdgpu/polaris10_smc_sk.bin +firmware: amdgpu/polaris10_uvd.bin +firmware: amdgpu/polaris10_vce.bin +firmware: amdgpu/polaris11_ce.bin +firmware: amdgpu/polaris11_ce_2.bin +firmware: amdgpu/polaris11_k2_smc.bin +firmware: amdgpu/polaris11_k_mc.bin +firmware: amdgpu/polaris11_k_smc.bin +firmware: amdgpu/polaris11_mc.bin +firmware: amdgpu/polaris11_me.bin +firmware: amdgpu/polaris11_me_2.bin +firmware: amdgpu/polaris11_mec.bin +firmware: amdgpu/polaris11_mec2.bin +firmware: amdgpu/polaris11_mec2_2.bin +firmware: amdgpu/polaris11_mec_2.bin +firmware: amdgpu/polaris11_pfp.bin +firmware: amdgpu/polaris11_pfp_2.bin +firmware: amdgpu/polaris11_rlc.bin +firmware: amdgpu/polaris11_sdma.bin +firmware: amdgpu/polaris11_sdma1.bin +firmware: amdgpu/polaris11_smc.bin +firmware: amdgpu/polaris11_smc_sk.bin +firmware: amdgpu/polaris11_uvd.bin +firmware: amdgpu/polaris11_vce.bin +firmware: amdgpu/polaris12_32_mc.bin +firmware: amdgpu/polaris12_ce.bin +firmware: amdgpu/polaris12_ce_2.bin +firmware: amdgpu/polaris12_k_mc.bin +firmware: amdgpu/polaris12_k_smc.bin +firmware: amdgpu/polaris12_mc.bin +firmware: amdgpu/polaris12_me.bin +firmware: amdgpu/polaris12_me_2.bin +firmware: amdgpu/polaris12_mec.bin +firmware: amdgpu/polaris12_mec2.bin +firmware: amdgpu/polaris12_mec2_2.bin +firmware: amdgpu/polaris12_mec_2.bin +firmware: amdgpu/polaris12_pfp.bin +firmware: amdgpu/polaris12_pfp_2.bin +firmware: amdgpu/polaris12_rlc.bin +firmware: amdgpu/polaris12_sdma.bin +firmware: amdgpu/polaris12_sdma1.bin +firmware: amdgpu/polaris12_smc.bin +firmware: amdgpu/polaris12_uvd.bin +firmware: amdgpu/polaris12_vce.bin +firmware: amdgpu/psp_13_0_0_sos.bin +firmware: amdgpu/psp_13_0_5_ta.bin +firmware: amdgpu/psp_13_0_5_toc.bin +firmware: amdgpu/psp_13_0_7_sos.bin +firmware: amdgpu/psp_13_0_8_ta.bin +firmware: amdgpu/psp_13_0_8_toc.bin +firmware: amdgpu/raven2_asd.bin +firmware: amdgpu/raven2_ce.bin +firmware: amdgpu/raven2_gpu_info.bin +firmware: amdgpu/raven2_me.bin +firmware: amdgpu/raven2_mec.bin +firmware: amdgpu/raven2_mec2.bin +firmware: amdgpu/raven2_pfp.bin +firmware: amdgpu/raven2_rlc.bin +firmware: amdgpu/raven2_sdma.bin +firmware: amdgpu/raven2_ta.bin +firmware: amdgpu/raven2_vcn.bin +firmware: amdgpu/raven_asd.bin +firmware: amdgpu/raven_ce.bin +firmware: amdgpu/raven_dmcu.bin +firmware: amdgpu/raven_gpu_info.bin +firmware: amdgpu/raven_kicker_rlc.bin +firmware: amdgpu/raven_me.bin +firmware: amdgpu/raven_mec.bin +firmware: amdgpu/raven_mec2.bin +firmware: amdgpu/raven_pfp.bin +firmware: amdgpu/raven_rlc.bin +firmware: amdgpu/raven_sdma.bin +firmware: amdgpu/raven_ta.bin +firmware: amdgpu/raven_vcn.bin +firmware: amdgpu/renoir_asd.bin +firmware: amdgpu/renoir_ce.bin +firmware: amdgpu/renoir_dmcub.bin +firmware: amdgpu/renoir_me.bin +firmware: amdgpu/renoir_mec.bin +firmware: amdgpu/renoir_pfp.bin +firmware: amdgpu/renoir_rlc.bin +firmware: amdgpu/renoir_sdma.bin +firmware: amdgpu/renoir_ta.bin +firmware: amdgpu/renoir_vcn.bin +firmware: amdgpu/sdma_5_2_6.bin +firmware: amdgpu/sdma_5_2_7.bin +firmware: amdgpu/sdma_6_0_0.bin +firmware: amdgpu/sdma_6_0_1.bin +firmware: amdgpu/sdma_6_0_2.bin +firmware: amdgpu/si58_mc.bin +firmware: amdgpu/sienna_cichlid_cap.bin +firmware: amdgpu/sienna_cichlid_ce.bin +firmware: amdgpu/sienna_cichlid_dmcub.bin +firmware: amdgpu/sienna_cichlid_me.bin +firmware: amdgpu/sienna_cichlid_mec.bin +firmware: amdgpu/sienna_cichlid_mec2.bin +firmware: amdgpu/sienna_cichlid_mes.bin +firmware: amdgpu/sienna_cichlid_mes1.bin +firmware: amdgpu/sienna_cichlid_pfp.bin +firmware: amdgpu/sienna_cichlid_rlc.bin +firmware: amdgpu/sienna_cichlid_sdma.bin +firmware: amdgpu/sienna_cichlid_smc.bin +firmware: amdgpu/sienna_cichlid_sos.bin +firmware: amdgpu/sienna_cichlid_ta.bin +firmware: amdgpu/sienna_cichlid_vcn.bin +firmware: amdgpu/smu_13_0_0.bin +firmware: amdgpu/smu_13_0_7.bin +firmware: amdgpu/stoney_ce.bin +firmware: amdgpu/stoney_me.bin +firmware: amdgpu/stoney_mec.bin +firmware: amdgpu/stoney_pfp.bin +firmware: amdgpu/stoney_rlc.bin +firmware: amdgpu/stoney_sdma.bin +firmware: amdgpu/stoney_uvd.bin +firmware: amdgpu/stoney_vce.bin +firmware: amdgpu/tahiti_ce.bin +firmware: amdgpu/tahiti_mc.bin +firmware: amdgpu/tahiti_me.bin +firmware: amdgpu/tahiti_pfp.bin +firmware: amdgpu/tahiti_rlc.bin +firmware: amdgpu/tahiti_smc.bin +firmware: amdgpu/tahiti_uvd.bin +firmware: amdgpu/tonga_ce.bin +firmware: amdgpu/tonga_k_smc.bin +firmware: amdgpu/tonga_mc.bin +firmware: amdgpu/tonga_me.bin +firmware: amdgpu/tonga_mec.bin +firmware: amdgpu/tonga_mec2.bin +firmware: amdgpu/tonga_pfp.bin +firmware: amdgpu/tonga_rlc.bin +firmware: amdgpu/tonga_sdma.bin +firmware: amdgpu/tonga_sdma1.bin +firmware: amdgpu/tonga_smc.bin +firmware: amdgpu/tonga_uvd.bin +firmware: amdgpu/tonga_vce.bin +firmware: amdgpu/topaz_ce.bin +firmware: amdgpu/topaz_k_smc.bin +firmware: amdgpu/topaz_mc.bin +firmware: amdgpu/topaz_me.bin +firmware: amdgpu/topaz_mec.bin +firmware: amdgpu/topaz_pfp.bin +firmware: amdgpu/topaz_rlc.bin +firmware: amdgpu/topaz_sdma.bin +firmware: amdgpu/topaz_sdma1.bin +firmware: amdgpu/topaz_smc.bin +firmware: amdgpu/vangogh_asd.bin +firmware: amdgpu/vangogh_ce.bin +firmware: amdgpu/vangogh_dmcub.bin +firmware: amdgpu/vangogh_me.bin +firmware: amdgpu/vangogh_mec.bin +firmware: amdgpu/vangogh_mec2.bin +firmware: amdgpu/vangogh_pfp.bin +firmware: amdgpu/vangogh_rlc.bin +firmware: amdgpu/vangogh_sdma.bin +firmware: amdgpu/vangogh_toc.bin +firmware: amdgpu/vangogh_vcn.bin +firmware: amdgpu/vcn_3_1_2.bin +firmware: amdgpu/vcn_4_0_0.bin +firmware: amdgpu/vcn_4_0_4.bin +firmware: amdgpu/vega10_acg_smc.bin +firmware: amdgpu/vega10_asd.bin +firmware: amdgpu/vega10_cap.bin +firmware: amdgpu/vega10_ce.bin +firmware: amdgpu/vega10_gpu_info.bin +firmware: amdgpu/vega10_me.bin +firmware: amdgpu/vega10_mec.bin +firmware: amdgpu/vega10_mec2.bin +firmware: amdgpu/vega10_pfp.bin +firmware: amdgpu/vega10_rlc.bin +firmware: amdgpu/vega10_sdma.bin +firmware: amdgpu/vega10_sdma1.bin +firmware: amdgpu/vega10_smc.bin +firmware: amdgpu/vega10_sos.bin +firmware: amdgpu/vega10_uvd.bin +firmware: amdgpu/vega10_vce.bin +firmware: amdgpu/vega12_asd.bin +firmware: amdgpu/vega12_ce.bin +firmware: amdgpu/vega12_gpu_info.bin +firmware: amdgpu/vega12_me.bin +firmware: amdgpu/vega12_mec.bin +firmware: amdgpu/vega12_mec2.bin +firmware: amdgpu/vega12_pfp.bin +firmware: amdgpu/vega12_rlc.bin +firmware: amdgpu/vega12_sdma.bin +firmware: amdgpu/vega12_sdma1.bin +firmware: amdgpu/vega12_smc.bin +firmware: amdgpu/vega12_sos.bin +firmware: amdgpu/vega12_uvd.bin +firmware: amdgpu/vega12_vce.bin +firmware: amdgpu/vega20_asd.bin +firmware: amdgpu/vega20_ce.bin +firmware: amdgpu/vega20_me.bin +firmware: amdgpu/vega20_mec.bin +firmware: amdgpu/vega20_mec2.bin +firmware: amdgpu/vega20_pfp.bin +firmware: amdgpu/vega20_rlc.bin +firmware: amdgpu/vega20_sdma.bin +firmware: amdgpu/vega20_sdma1.bin +firmware: amdgpu/vega20_smc.bin +firmware: amdgpu/vega20_sos.bin +firmware: amdgpu/vega20_ta.bin +firmware: amdgpu/vega20_uvd.bin +firmware: amdgpu/vega20_vce.bin +firmware: amdgpu/vegam_ce.bin +firmware: amdgpu/vegam_me.bin +firmware: amdgpu/vegam_mec.bin +firmware: amdgpu/vegam_mec2.bin +firmware: amdgpu/vegam_pfp.bin +firmware: amdgpu/vegam_rlc.bin +firmware: amdgpu/vegam_sdma.bin +firmware: amdgpu/vegam_sdma1.bin +firmware: amdgpu/vegam_smc.bin +firmware: amdgpu/vegam_uvd.bin +firmware: amdgpu/vegam_vce.bin +firmware: amdgpu/verde_ce.bin +firmware: amdgpu/verde_k_smc.bin +firmware: amdgpu/verde_mc.bin +firmware: amdgpu/verde_me.bin +firmware: amdgpu/verde_pfp.bin +firmware: amdgpu/verde_rlc.bin +firmware: amdgpu/verde_smc.bin +firmware: amdgpu/verde_uvd.bin +firmware: amdgpu/yellow_carp_ce.bin +firmware: amdgpu/yellow_carp_dmcub.bin +firmware: amdgpu/yellow_carp_me.bin +firmware: amdgpu/yellow_carp_mec.bin +firmware: amdgpu/yellow_carp_mec2.bin +firmware: amdgpu/yellow_carp_pfp.bin +firmware: amdgpu/yellow_carp_rlc.bin +firmware: amdgpu/yellow_carp_sdma.bin +firmware: amdgpu/yellow_carp_ta.bin +firmware: amdgpu/yellow_carp_toc.bin +firmware: amdgpu/yellow_carp_vcn.bin +firmware: ar5523.bin +firmware: asihpi/dsp5000.bin +firmware: asihpi/dsp6200.bin +firmware: asihpi/dsp6205.bin +firmware: asihpi/dsp6400.bin +firmware: asihpi/dsp6600.bin +firmware: asihpi/dsp8700.bin +firmware: asihpi/dsp8900.bin +firmware: ast_dp501_fw.bin +firmware: ath10k/QCA6174/hw2.1/board-2.bin +firmware: ath10k/QCA6174/hw2.1/board.bin +firmware: ath10k/QCA6174/hw2.1/firmware-4.bin +firmware: ath10k/QCA6174/hw2.1/firmware-5.bin +firmware: ath10k/QCA6174/hw3.0/board-2.bin +firmware: ath10k/QCA6174/hw3.0/board.bin +firmware: ath10k/QCA6174/hw3.0/firmware-4.bin +firmware: ath10k/QCA6174/hw3.0/firmware-5.bin +firmware: ath10k/QCA6174/hw3.0/firmware-6.bin +firmware: ath10k/QCA9377/hw1.0/board.bin +firmware: ath10k/QCA9377/hw1.0/firmware-5.bin +firmware: ath10k/QCA9377/hw1.0/firmware-6.bin +firmware: ath10k/QCA9887/hw1.0/board-2.bin +firmware: ath10k/QCA9887/hw1.0/board.bin +firmware: ath10k/QCA9887/hw1.0/firmware-5.bin +firmware: ath10k/QCA988X/hw2.0/board-2.bin +firmware: ath10k/QCA988X/hw2.0/board.bin +firmware: ath10k/QCA988X/hw2.0/firmware-2.bin +firmware: ath10k/QCA988X/hw2.0/firmware-3.bin +firmware: ath10k/QCA988X/hw2.0/firmware-4.bin +firmware: ath10k/QCA988X/hw2.0/firmware-5.bin +firmware: ath11k/QCA6390/hw2.0/amss.bin +firmware: ath11k/QCA6390/hw2.0/board-2.bin +firmware: ath11k/QCA6390/hw2.0/m3.bin +firmware: ath3k-1.fw +firmware: ath6k/AR6003/hw2.0/athwlan.bin.z77 +firmware: ath6k/AR6003/hw2.0/bdata.SD31.bin +firmware: ath6k/AR6003/hw2.0/bdata.bin +firmware: ath6k/AR6003/hw2.0/data.patch.bin +firmware: ath6k/AR6003/hw2.0/otp.bin.z77 +firmware: ath6k/AR6003/hw2.1.1/athwlan.bin +firmware: ath6k/AR6003/hw2.1.1/bdata.SD31.bin +firmware: ath6k/AR6003/hw2.1.1/bdata.bin +firmware: ath6k/AR6003/hw2.1.1/data.patch.bin +firmware: ath6k/AR6003/hw2.1.1/otp.bin +firmware: ath6k/AR6004/hw1.0/bdata.DB132.bin +firmware: ath6k/AR6004/hw1.0/bdata.bin +firmware: ath6k/AR6004/hw1.0/fw.ram.bin +firmware: ath6k/AR6004/hw1.1/bdata.DB132.bin +firmware: ath6k/AR6004/hw1.1/bdata.bin +firmware: ath6k/AR6004/hw1.1/fw.ram.bin +firmware: ath6k/AR6004/hw1.2/bdata.bin +firmware: ath6k/AR6004/hw1.2/fw.ram.bin +firmware: ath6k/AR6004/hw1.3/bdata.bin +firmware: ath6k/AR6004/hw1.3/fw.ram.bin +firmware: ath9k_htc/htc_7010-1.4.0.fw +firmware: ath9k_htc/htc_9271-1.4.0.fw +firmware: atmel/wilc1000_wifi_firmware-1.bin +firmware: atmel_at76c502-wpa.bin +firmware: atmel_at76c502.bin +firmware: atmel_at76c502_3com-wpa.bin +firmware: atmel_at76c502_3com.bin +firmware: atmel_at76c502d-wpa.bin +firmware: atmel_at76c502d.bin +firmware: atmel_at76c502e-wpa.bin +firmware: atmel_at76c502e.bin +firmware: atmel_at76c503-i3861.bin +firmware: atmel_at76c503-i3863.bin +firmware: atmel_at76c503-rfmd-acc.bin +firmware: atmel_at76c503-rfmd.bin +firmware: atmel_at76c504-wpa.bin +firmware: atmel_at76c504.bin +firmware: atmel_at76c504_2958-wpa.bin +firmware: atmel_at76c504_2958.bin +firmware: atmel_at76c504a_2958-wpa.bin +firmware: atmel_at76c504a_2958.bin +firmware: atmel_at76c505-rfmd.bin +firmware: atmel_at76c505-rfmd2958.bin +firmware: atmel_at76c505a-rfmd2958.bin +firmware: atmel_at76c505amx-rfmd.bin +firmware: atmel_at76c506-wpa.bin +firmware: atmel_at76c506.bin +firmware: atsc_denver.inp +firmware: av7110/bootcode.bin +firmware: b43/ucode11.fw +firmware: b43/ucode13.fw +firmware: b43/ucode14.fw +firmware: b43/ucode15.fw +firmware: b43/ucode16_lp.fw +firmware: b43/ucode16_mimo.fw +firmware: b43/ucode24_lcn.fw +firmware: b43/ucode25_lcn.fw +firmware: b43/ucode25_mimo.fw +firmware: b43/ucode26_mimo.fw +firmware: b43/ucode29_mimo.fw +firmware: b43/ucode30_mimo.fw +firmware: b43/ucode33_lcn40.fw +firmware: b43/ucode40.fw +firmware: b43/ucode42.fw +firmware: b43/ucode5.fw +firmware: b43/ucode9.fw +firmware: b43legacy/ucode2.fw +firmware: b43legacy/ucode4.fw +firmware: bfubase.frm +firmware: bnx2/bnx2-mips-06-6.2.3.fw +firmware: bnx2/bnx2-mips-09-6.2.1b.fw +firmware: bnx2/bnx2-rv2p-06-6.0.15.fw +firmware: bnx2/bnx2-rv2p-09-6.0.17.fw +firmware: bnx2/bnx2-rv2p-09ax-6.0.17.fw +firmware: bnx2x/bnx2x-e1-7.13.15.0.fw +firmware: bnx2x/bnx2x-e1-7.13.21.0.fw +firmware: bnx2x/bnx2x-e1h-7.13.15.0.fw +firmware: bnx2x/bnx2x-e1h-7.13.21.0.fw +firmware: bnx2x/bnx2x-e2-7.13.15.0.fw +firmware: bnx2x/bnx2x-e2-7.13.21.0.fw +firmware: brcm/bcm43xx-0.fw +firmware: brcm/bcm43xx_hdr-0.fw +firmware: brcm/brcmfmac*-pcie.*.bin +firmware: brcm/brcmfmac*-pcie.*.txt +firmware: brcm/brcmfmac*-pcie.txt +firmware: brcm/brcmfmac*-sdio.*.bin +firmware: brcm/brcmfmac*-sdio.*.txt +firmware: brcm/brcmfmac43012-sdio.bin +firmware: brcm/brcmfmac43012-sdio.clm_blob +firmware: brcm/brcmfmac43143-sdio.bin +firmware: brcm/brcmfmac43143.bin +firmware: brcm/brcmfmac43236b.bin +firmware: brcm/brcmfmac43241b0-sdio.bin +firmware: brcm/brcmfmac43241b4-sdio.bin +firmware: brcm/brcmfmac43241b5-sdio.bin +firmware: brcm/brcmfmac43242a.bin +firmware: brcm/brcmfmac4329-sdio.bin +firmware: brcm/brcmfmac4330-sdio.bin +firmware: brcm/brcmfmac4334-sdio.bin +firmware: brcm/brcmfmac43340-sdio.bin +firmware: brcm/brcmfmac4335-sdio.bin +firmware: brcm/brcmfmac43362-sdio.bin +firmware: brcm/brcmfmac4339-sdio.bin +firmware: brcm/brcmfmac43430-sdio.bin +firmware: brcm/brcmfmac43430-sdio.clm_blob +firmware: brcm/brcmfmac43430a0-sdio.bin +firmware: brcm/brcmfmac43430b0-sdio.bin +firmware: brcm/brcmfmac43455-sdio.bin +firmware: brcm/brcmfmac43455-sdio.clm_blob +firmware: brcm/brcmfmac43456-sdio.bin +firmware: brcm/brcmfmac4350-pcie.bin +firmware: brcm/brcmfmac4350c2-pcie.bin +firmware: brcm/brcmfmac4354-sdio.bin +firmware: brcm/brcmfmac4354-sdio.clm_blob +firmware: brcm/brcmfmac4356-pcie.bin +firmware: brcm/brcmfmac4356-pcie.clm_blob +firmware: brcm/brcmfmac4356-sdio.bin +firmware: brcm/brcmfmac4356-sdio.clm_blob +firmware: brcm/brcmfmac43569.bin +firmware: brcm/brcmfmac43570-pcie.bin +firmware: brcm/brcmfmac43570-pcie.clm_blob +firmware: brcm/brcmfmac4358-pcie.bin +firmware: brcm/brcmfmac4359-pcie.bin +firmware: brcm/brcmfmac4359-sdio.bin +firmware: brcm/brcmfmac43602-pcie.bin +firmware: brcm/brcmfmac4364-pcie.bin +firmware: brcm/brcmfmac4365b-pcie.bin +firmware: brcm/brcmfmac4365c-pcie.bin +firmware: brcm/brcmfmac4366b-pcie.bin +firmware: brcm/brcmfmac4366c-pcie.bin +firmware: brcm/brcmfmac4371-pcie.bin +firmware: brcm/brcmfmac4373-sdio.bin +firmware: brcm/brcmfmac4373-sdio.clm_blob +firmware: brcm/brcmfmac4373.bin +firmware: brcm/brcmfmac43752-sdio.bin +firmware: brcm/brcmfmac43752-sdio.clm_blob +firmware: c218tunx.cod +firmware: c320tunx.cod +firmware: cadence/mhdp8546.bin +firmware: carl9170-1.fw +firmware: cavium/cnn55xx_se.fw +firmware: cbfw-3.2.5.1.bin +firmware: cis/3CCFEM556.cis +firmware: cis/3CXEM556.cis +firmware: cis/COMpad2.cis +firmware: cis/COMpad4.cis +firmware: cis/DP83903.cis +firmware: cis/LA-PCM.cis +firmware: cis/MT5634ZLX.cis +firmware: cis/NE2K.cis +firmware: cis/PCMLM28.cis +firmware: cis/PE-200.cis +firmware: cis/PE520.cis +firmware: cis/RS-COM-2P.cis +firmware: cis/SW_555_SER.cis +firmware: cis/SW_7xx_SER.cis +firmware: cis/SW_8xx_SER.cis +firmware: cis/tamarack.cis +firmware: cmmb_ming_app.inp +firmware: cmmb_vega_12mhz.inp +firmware: cmmb_venice_12mhz.inp +firmware: comedi/jr3pci.idm +firmware: cp204unx.cod +firmware: cpia2/stv0672_vp4.bin +firmware: cs46xx/cwc4630 +firmware: cs46xx/cwcasync +firmware: cs46xx/cwcbinhack +firmware: cs46xx/cwcdma +firmware: cs46xx/cwcsnoop +firmware: ct2fw-3.2.5.1.bin +firmware: ctefx-desktop.bin +firmware: ctefx-r3di.bin +firmware: ctefx.bin +firmware: ctfw-3.2.5.1.bin +firmware: cxgb3/ael2005_opt_edc.bin +firmware: cxgb3/ael2005_twx_edc.bin +firmware: cxgb3/ael2020_twx_edc.bin +firmware: cxgb3/t3b_psram-1.1.0.bin +firmware: cxgb3/t3c_psram-1.1.0.bin +firmware: cxgb3/t3fw-7.12.0.bin +firmware: cxgb4/t4fw.bin +firmware: cxgb4/t5fw.bin +firmware: cxgb4/t6fw.bin +firmware: daqboard2000_firmware.bin +firmware: digiface_firmware.bin +firmware: digiface_firmware_rev11.bin +firmware: dvb-cx18-mpc718-mt352.fw +firmware: dvb-demod-m88ds3103.fw +firmware: dvb-demod-m88ds3103b.fw +firmware: dvb-demod-m88rs6000.fw +firmware: dvb-demod-mn88472-02.fw +firmware: dvb-demod-mn88473-01.fw +firmware: dvb-demod-mxl692.fw +firmware: dvb-demod-si2165.fw +firmware: dvb-demod-si2168-a20-01.fw +firmware: dvb-demod-si2168-a30-01.fw +firmware: dvb-demod-si2168-b40-01.fw +firmware: dvb-demod-si2168-d60-01.fw +firmware: dvb-fe-af9013.fw +firmware: dvb-fe-cx24117.fw +firmware: dvb-fe-drxj-mc-1.0.8.fw +firmware: dvb-fe-ds3000.fw +firmware: dvb-fe-tda10071.fw +firmware: dvb-fe-xc4000-1.4.1.fw +firmware: dvb-fe-xc4000-1.4.fw +firmware: dvb-fe-xc5000-1.6.114.fw +firmware: dvb-fe-xc5000c-4.1.30.7.fw +firmware: dvb-tuner-si2141-a10-01.fw +firmware: dvb-tuner-si2157-a30-01.fw +firmware: dvb-tuner-si2158-a20-01.fw +firmware: dvb-usb-af9015.fw +firmware: dvb-usb-af9035-02.fw +firmware: dvb-usb-dib0700-1.20.fw +firmware: dvb-usb-dw2101.fw +firmware: dvb-usb-dw2102.fw +firmware: dvb-usb-dw2104.fw +firmware: dvb-usb-dw3101.fw +firmware: dvb-usb-ec168.fw +firmware: dvb-usb-it9135-01.fw +firmware: dvb-usb-it9135-02.fw +firmware: dvb-usb-it9303-01.fw +firmware: dvb-usb-lme2510-lg.fw +firmware: dvb-usb-lme2510-s0194.fw +firmware: dvb-usb-lme2510c-lg.fw +firmware: dvb-usb-lme2510c-rs2000.fw +firmware: dvb-usb-lme2510c-s0194.fw +firmware: dvb-usb-lme2510c-s7395.fw +firmware: dvb-usb-p1100.fw +firmware: dvb-usb-p7500.fw +firmware: dvb-usb-s630.fw +firmware: dvb-usb-s660.fw +firmware: dvb-usb-terratec-h7-az6007.fw +firmware: dvb_driver_si2141_rom60.fw +firmware: dvb_driver_si2141_rom61.fw +firmware: dvb_driver_si2146_rom11.fw +firmware: dvb_driver_si2147_rom50.fw +firmware: dvb_driver_si2148_rom32.fw +firmware: dvb_driver_si2148_rom33.fw +firmware: dvb_driver_si2157_rom50.fw +firmware: dvb_driver_si2158_rom51.fw +firmware: dvb_driver_si2177_rom50.fw +firmware: dvb_driver_si2178_rom50.fw +firmware: dvb_nova_12mhz.inp +firmware: dvb_nova_12mhz_b0.inp +firmware: dvb_rio.inp +firmware: dvbh_rio.inp +firmware: e100/d101m_ucode.bin +firmware: e100/d101s_ucode.bin +firmware: e100/d102e_ucode.bin +firmware: ea/3g_asic.fw +firmware: ea/darla20_dsp.fw +firmware: ea/darla24_dsp.fw +firmware: ea/echo3g_dsp.fw +firmware: ea/gina20_dsp.fw +firmware: ea/gina24_301_asic.fw +firmware: ea/gina24_301_dsp.fw +firmware: ea/gina24_361_asic.fw +firmware: ea/gina24_361_dsp.fw +firmware: ea/indigo_dj_dsp.fw +firmware: ea/indigo_djx_dsp.fw +firmware: ea/indigo_dsp.fw +firmware: ea/indigo_io_dsp.fw +firmware: ea/indigo_iox_dsp.fw +firmware: ea/layla20_asic.fw +firmware: ea/layla20_dsp.fw +firmware: ea/layla24_1_asic.fw +firmware: ea/layla24_2A_asic.fw +firmware: ea/layla24_2S_asic.fw +firmware: ea/layla24_dsp.fw +firmware: ea/loader_dsp.fw +firmware: ea/mia_dsp.fw +firmware: ea/mona_2_asic.fw +firmware: ea/mona_301_1_asic_48.fw +firmware: ea/mona_301_1_asic_96.fw +firmware: ea/mona_301_dsp.fw +firmware: ea/mona_361_1_asic_48.fw +firmware: ea/mona_361_1_asic_96.fw +firmware: ea/mona_361_dsp.fw +firmware: edgeport/boot.fw +firmware: edgeport/boot2.fw +firmware: edgeport/down.fw +firmware: edgeport/down2.fw +firmware: edgeport/down3.bin +firmware: emi26/bitstream.fw +firmware: emi26/firmware.fw +firmware: emi26/loader.fw +firmware: emi62/bitstream.fw +firmware: emi62/loader.fw +firmware: emi62/spdif.fw +firmware: emu/audio_dock.fw +firmware: emu/emu0404.fw +firmware: emu/emu1010_notebook.fw +firmware: emu/emu1010b.fw +firmware: emu/hana.fw +firmware: emu/micro_dock.fw +firmware: ene-ub6250/ms_init.bin +firmware: ene-ub6250/ms_rdwr.bin +firmware: ene-ub6250/msp_rdwr.bin +firmware: ene-ub6250/sd_init1.bin +firmware: ene-ub6250/sd_init2.bin +firmware: ene-ub6250/sd_rdwr.bin +firmware: ess/maestro3_assp_kernel.fw +firmware: ess/maestro3_assp_minisrc.fw +firmware: f2255usb.bin +firmware: fm_radio.inp +firmware: fm_radio_rio.inp +firmware: fw.ram.bin +firmware: go7007/go7007fw.bin +firmware: go7007/go7007tv.bin +firmware: go7007/lr192.fw +firmware: go7007/px-m402u.fw +firmware: go7007/px-tv402u.fw +firmware: go7007/s2250-1.fw +firmware: go7007/s2250-2.fw +firmware: go7007/wis-startrek.fw +firmware: hfi1_dc8051.fw +firmware: hfi1_fabric.fw +firmware: hfi1_pcie.fw +firmware: hfi1_sbus.fw +firmware: i915/adlp_dmc_ver2_16.bin +firmware: i915/adlp_guc_69.0.3.bin +firmware: i915/adlp_guc_70.1.1.bin +firmware: i915/adls_dmc_ver2_01.bin +firmware: i915/bxt_dmc_ver1_07.bin +firmware: i915/bxt_guc_70.1.1.bin +firmware: i915/bxt_huc_2.0.0.bin +firmware: i915/cml_guc_70.1.1.bin +firmware: i915/cml_huc_4.0.0.bin +firmware: i915/dg1_dmc_ver2_02.bin +firmware: i915/dg1_guc_70.1.1.bin +firmware: i915/dg1_huc_7.9.3.bin +firmware: i915/dg2_guc_70.1.2.bin +firmware: i915/ehl_guc_70.1.1.bin +firmware: i915/ehl_huc_9.0.0.bin +firmware: i915/glk_dmc_ver1_04.bin +firmware: i915/glk_guc_70.1.1.bin +firmware: i915/glk_huc_4.0.0.bin +firmware: i915/icl_dmc_ver1_09.bin +firmware: i915/icl_guc_70.1.1.bin +firmware: i915/icl_huc_9.0.0.bin +firmware: i915/kbl_dmc_ver1_04.bin +firmware: i915/kbl_guc_70.1.1.bin +firmware: i915/kbl_huc_4.0.0.bin +firmware: i915/rkl_dmc_ver2_03.bin +firmware: i915/skl_dmc_ver1_27.bin +firmware: i915/skl_guc_70.1.1.bin +firmware: i915/skl_huc_2.0.0.bin +firmware: i915/tgl_dmc_ver2_12.bin +firmware: i915/tgl_guc_69.0.3.bin +firmware: i915/tgl_guc_70.1.1.bin +firmware: i915/tgl_huc_7.9.3.bin +firmware: icom_asc.bin +firmware: icom_call_setup.bin +firmware: icom_res_dce.bin +firmware: idt82p33xxx.bin +firmware: ifpp.bin +firmware: imx/sdma/sdma-imx6q.bin +firmware: imx/sdma/sdma-imx7d.bin +firmware: inside-secure/eip197_minifw/ifpp.bin +firmware: inside-secure/eip197_minifw/ipue.bin +firmware: inside-secure/eip197b/ifpp.bin +firmware: inside-secure/eip197b/ipue.bin +firmware: inside-secure/eip197d/ifpp.bin +firmware: inside-secure/eip197d/ipue.bin +firmware: intel/ibt-11-5.ddc +firmware: intel/ibt-11-5.sfi +firmware: intel/ibt-12-16.ddc +firmware: intel/ibt-12-16.sfi +firmware: intel/ice/ddp/ice.pkg +firmware: ipue.bin +firmware: ipw2100-1.3-i.fw +firmware: ipw2100-1.3-p.fw +firmware: ipw2100-1.3.fw +firmware: ipw2200-bss.fw +firmware: ipw2200-ibss.fw +firmware: ipw2200-sniffer.fw +firmware: isci/isci_firmware.bin +firmware: isdbt_nova_12mhz.inp +firmware: isdbt_nova_12mhz_b0.inp +firmware: isdbt_pele.inp +firmware: isdbt_rio.inp +firmware: isdn/ISAR.BIN +firmware: isight.fw +firmware: isl3886pci +firmware: isl3886usb +firmware: isl3887usb +firmware: iwlwifi-100-5.ucode +firmware: iwlwifi-1000-5.ucode +firmware: iwlwifi-105-6.ucode +firmware: iwlwifi-135-6.ucode +firmware: iwlwifi-2000-6.ucode +firmware: iwlwifi-2030-6.ucode +firmware: iwlwifi-3160-17.ucode +firmware: iwlwifi-3168-29.ucode +firmware: iwlwifi-3945-2.ucode +firmware: iwlwifi-4965-2.ucode +firmware: iwlwifi-5000-5.ucode +firmware: iwlwifi-5150-2.ucode +firmware: iwlwifi-6000-6.ucode +firmware: iwlwifi-6000g2a-6.ucode +firmware: iwlwifi-6000g2b-6.ucode +firmware: iwlwifi-6050-5.ucode +firmware: iwlwifi-7260-17.ucode +firmware: iwlwifi-7265-17.ucode +firmware: iwlwifi-7265D-29.ucode +firmware: iwlwifi-8000C-36.ucode +firmware: iwlwifi-8265-36.ucode +firmware: iwlwifi-9000-pu-b0-jf-b0-46.ucode +firmware: iwlwifi-9260-th-b0-jf-b0-46.ucode +firmware: iwlwifi-BzBnj-a0-fm-a0-72.ucode +firmware: iwlwifi-BzBnj-a0-fm4-a0-72.ucode +firmware: iwlwifi-BzBnj-a0-gf-a0-72.ucode +firmware: iwlwifi-BzBnj-a0-gf4-a0-72.ucode +firmware: iwlwifi-BzBnj-a0-hr-b0-72.ucode +firmware: iwlwifi-Qu-b0-hr-b0-72.ucode +firmware: iwlwifi-Qu-b0-jf-b0-72.ucode +firmware: iwlwifi-Qu-c0-hr-b0-72.ucode +firmware: iwlwifi-QuQnj-b0-hr-b0-72.ucode +firmware: iwlwifi-QuQnj-b0-jf-b0-72.ucode +firmware: iwlwifi-QuZ-a0-hr-b0-72.ucode +firmware: iwlwifi-QuZ-a0-jf-b0-72.ucode +firmware: iwlwifi-SoSnj-a0-gf-a0-72.ucode +firmware: iwlwifi-SoSnj-a0-gf4-a0-72.ucode +firmware: iwlwifi-SoSnj-a0-hr-b0-72.ucode +firmware: iwlwifi-SoSnj-a0-jf-b0-72.ucode +firmware: iwlwifi-SoSnj-a0-mr-a0-72.ucode +firmware: iwlwifi-bz-a0-fm-a0-72.ucode +firmware: iwlwifi-bz-a0-gf-a0-72.ucode +firmware: iwlwifi-bz-a0-gf4-a0-72.ucode +firmware: iwlwifi-bz-a0-hr-b0-72.ucode +firmware: iwlwifi-bz-a0-mr-a0-72.ucode +firmware: iwlwifi-cc-a0-72.ucode +firmware: iwlwifi-gl-a0-fm-a0-72.ucode +firmware: iwlwifi-ma-a0-fm-a0-72.ucode +firmware: iwlwifi-ma-a0-gf-a0-72.ucode +firmware: iwlwifi-ma-a0-gf4-a0-72.ucode +firmware: iwlwifi-ma-a0-hr-b0-72.ucode +firmware: iwlwifi-ma-a0-mr-a0-72.ucode +firmware: iwlwifi-so-a0-gf-a0-72.ucode +firmware: iwlwifi-so-a0-hr-b0-72.ucode +firmware: iwlwifi-so-a0-jf-b0-72.ucode +firmware: iwlwifi-ty-a0-gf-a0-72.ucode +firmware: kaweth/new_code.bin +firmware: kaweth/new_code_fix.bin +firmware: kaweth/trigger_code.bin +firmware: kaweth/trigger_code_fix.bin +firmware: keyspan/mpr.fw +firmware: keyspan/usa18x.fw +firmware: keyspan/usa19.fw +firmware: keyspan/usa19qi.fw +firmware: keyspan/usa19qw.fw +firmware: keyspan/usa19w.fw +firmware: keyspan/usa28.fw +firmware: keyspan/usa28x.fw +firmware: keyspan/usa28xa.fw +firmware: keyspan/usa28xb.fw +firmware: keyspan/usa49w.fw +firmware: keyspan/usa49wlc.fw +firmware: keyspan_pda/keyspan_pda.fw +firmware: keyspan_pda/xircom_pgs.fw +firmware: korg/k1212.dsp +firmware: ks7010sd.rom +firmware: lantiq/xrx200_phy11g_a14.bin +firmware: lantiq/xrx200_phy11g_a22.bin +firmware: lantiq/xrx200_phy22f_a14.bin +firmware: lantiq/xrx200_phy22f_a22.bin +firmware: lantiq/xrx300_phy11g_a21.bin +firmware: lantiq/xrx300_phy22f_a21.bin +firmware: lattice-ecp3.bit +firmware: lbtf_usb.bin +firmware: lgs8g75.fw +firmware: libertas/cf8305.bin +firmware: libertas/cf8381.bin +firmware: libertas/cf8381_helper.bin +firmware: libertas/cf8385.bin +firmware: libertas/cf8385_helper.bin +firmware: libertas/gspi8385.bin +firmware: libertas/gspi8385_helper.bin +firmware: libertas/gspi8385_hlp.bin +firmware: libertas/gspi8686.bin +firmware: libertas/gspi8686_hlp.bin +firmware: libertas/gspi8686_v9.bin +firmware: libertas/gspi8686_v9_helper.bin +firmware: libertas/gspi8688.bin +firmware: libertas/gspi8688_helper.bin +firmware: libertas/sd8385.bin +firmware: libertas/sd8385_helper.bin +firmware: libertas/sd8686_v8.bin +firmware: libertas/sd8686_v8_helper.bin +firmware: libertas/sd8686_v9.bin +firmware: libertas/sd8686_v9_helper.bin +firmware: libertas/sd8688.bin +firmware: libertas/sd8688_helper.bin +firmware: libertas/usb8388.bin +firmware: libertas/usb8388_v5.bin +firmware: libertas/usb8388_v9.bin +firmware: libertas/usb8682.bin +firmware: libertas_cs.fw +firmware: libertas_cs_helper.fw +firmware: liquidio/lio_210nv_nic.bin +firmware: liquidio/lio_210sv_nic.bin +firmware: liquidio/lio_23xx_nic.bin +firmware: liquidio/lio_410nv_nic.bin +firmware: me2600_firmware.bin +firmware: me4000_firmware.bin +firmware: mediatek/BT_RAM_CODE_MT7961_1_2_hdr.bin +firmware: mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin +firmware: mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin +firmware: mediatek/WIFI_RAM_CODE_MT7922_1.bin +firmware: mediatek/WIFI_RAM_CODE_MT7961_1.bin +firmware: mediatek/mt7610e.bin +firmware: mediatek/mt7610u.bin +firmware: mediatek/mt7615_cr4.bin +firmware: mediatek/mt7615_n9.bin +firmware: mediatek/mt7615_rom_patch.bin +firmware: mediatek/mt7622_n9.bin +firmware: mediatek/mt7622_rom_patch.bin +firmware: mediatek/mt7622pr2h.bin +firmware: mediatek/mt7650e.bin +firmware: mediatek/mt7663_n9_rebb.bin +firmware: mediatek/mt7663_n9_v3.bin +firmware: mediatek/mt7663pr2h.bin +firmware: mediatek/mt7663pr2h_rebb.bin +firmware: mediatek/mt7668pr2h.bin +firmware: mediatek/mt7915_rom_patch.bin +firmware: mediatek/mt7915_wa.bin +firmware: mediatek/mt7915_wm.bin +firmware: mediatek/mt7916_rom_patch.bin +firmware: mediatek/mt7916_wa.bin +firmware: mediatek/mt7916_wm.bin +firmware: mediatek/mt7986_rom_patch.bin +firmware: mediatek/mt7986_rom_patch_mt7975.bin +firmware: mediatek/mt7986_wa.bin +firmware: mediatek/mt7986_wm.bin +firmware: mediatek/mt7986_wm_mt7975.bin +firmware: mellanox/lc_ini_bundle_2010_1006.bin +firmware: mellanox/mlxsw_spectrum-13.2010.1006.mfa2 +firmware: mellanox/mlxsw_spectrum2-29.2010.1006.mfa2 +firmware: mellanox/mlxsw_spectrum3-30.2010.1006.mfa2 +firmware: microchip/mscc_vsc8574_revb_int8051_29e8.bin +firmware: microchip/mscc_vsc8584_revb_int8051_fb48.bin +firmware: mixart/miXart8.elf +firmware: mixart/miXart8.xlx +firmware: mixart/miXart8AES.xlx +firmware: moxa/moxa-1110.fw +firmware: moxa/moxa-1130.fw +firmware: moxa/moxa-1131.fw +firmware: moxa/moxa-1150.fw +firmware: moxa/moxa-1151.fw +firmware: mrvl/sd8688.bin +firmware: mrvl/sd8688_helper.bin +firmware: mrvl/sd8786_uapsta.bin +firmware: mrvl/sd8787_uapsta.bin +firmware: mrvl/sd8797_uapsta.bin +firmware: mrvl/sd8887_uapsta.bin +firmware: mrvl/sd8897_uapsta.bin +firmware: mrvl/sd8987_uapsta.bin +firmware: mrvl/sdiouart8997_combo_v4.bin +firmware: mrvl/sdsd8977_combo_v2.bin +firmware: mrvl/sdsd8997_combo_v4.bin +firmware: mrvl/usb8766_uapsta.bin +firmware: mrvl/usb8797_uapsta.bin +firmware: mrvl/usb8801_uapsta.bin +firmware: mrvl/usbusb8997_combo_v4.bin +firmware: mt7601u.bin +firmware: mt7603_e1.bin +firmware: mt7603_e2.bin +firmware: mt7628_e1.bin +firmware: mt7628_e2.bin +firmware: mt7662.bin +firmware: mt7662_rom_patch.bin +firmware: mts_cdma.fw +firmware: mts_edge.fw +firmware: mts_gsm.fw +firmware: mts_mt9234mu.fw +firmware: mts_mt9234zba.fw +firmware: multiface_firmware.bin +firmware: multiface_firmware_rev11.bin +firmware: mwl8k/fmimage_8363.fw +firmware: mwl8k/fmimage_8366.fw +firmware: mwl8k/fmimage_8366_ap-3.fw +firmware: mwl8k/fmimage_8687.fw +firmware: mwl8k/helper_8363.fw +firmware: mwl8k/helper_8366.fw +firmware: mwl8k/helper_8687.fw +firmware: myri10ge_eth_z8e.dat +firmware: myri10ge_ethp_z8e.dat +firmware: myri10ge_rss_eth_z8e.dat +firmware: myri10ge_rss_ethp_z8e.dat +firmware: netronome/nic_AMDA0058-0011_2x40.nffw +firmware: netronome/nic_AMDA0058-0012_2x40.nffw +firmware: netronome/nic_AMDA0081-0001_1x40.nffw +firmware: netronome/nic_AMDA0081-0001_4x10.nffw +firmware: netronome/nic_AMDA0096-0001_2x10.nffw +firmware: netronome/nic_AMDA0097-0001_2x40.nffw +firmware: netronome/nic_AMDA0097-0001_4x10_1x40.nffw +firmware: netronome/nic_AMDA0097-0001_8x10.nffw +firmware: netronome/nic_AMDA0099-0001_1x10_1x25.nffw +firmware: netronome/nic_AMDA0099-0001_2x10.nffw +firmware: netronome/nic_AMDA0099-0001_2x25.nffw +firmware: ni6534a.bin +firmware: niscrb01.bin +firmware: niscrb02.bin +firmware: nvidia/gk20a/fecs_data.bin +firmware: nvidia/gk20a/fecs_inst.bin +firmware: nvidia/gk20a/gpccs_data.bin +firmware: nvidia/gk20a/gpccs_inst.bin +firmware: nvidia/gk20a/sw_bundle_init.bin +firmware: nvidia/gk20a/sw_ctx.bin +firmware: nvidia/gk20a/sw_method_init.bin +firmware: nvidia/gk20a/sw_nonctx.bin +firmware: nvidia/gm200/acr/bl.bin +firmware: nvidia/gm200/acr/ucode_load.bin +firmware: nvidia/gm200/acr/ucode_unload.bin +firmware: nvidia/gm200/gr/fecs_bl.bin +firmware: nvidia/gm200/gr/fecs_data.bin +firmware: nvidia/gm200/gr/fecs_inst.bin +firmware: nvidia/gm200/gr/fecs_sig.bin +firmware: nvidia/gm200/gr/gpccs_bl.bin +firmware: nvidia/gm200/gr/gpccs_data.bin +firmware: nvidia/gm200/gr/gpccs_inst.bin +firmware: nvidia/gm200/gr/gpccs_sig.bin +firmware: nvidia/gm200/gr/sw_bundle_init.bin +firmware: nvidia/gm200/gr/sw_ctx.bin +firmware: nvidia/gm200/gr/sw_method_init.bin +firmware: nvidia/gm200/gr/sw_nonctx.bin +firmware: nvidia/gm204/acr/bl.bin +firmware: nvidia/gm204/acr/ucode_load.bin +firmware: nvidia/gm204/acr/ucode_unload.bin +firmware: nvidia/gm204/gr/fecs_bl.bin +firmware: nvidia/gm204/gr/fecs_data.bin +firmware: nvidia/gm204/gr/fecs_inst.bin +firmware: nvidia/gm204/gr/fecs_sig.bin +firmware: nvidia/gm204/gr/gpccs_bl.bin +firmware: nvidia/gm204/gr/gpccs_data.bin +firmware: nvidia/gm204/gr/gpccs_inst.bin +firmware: nvidia/gm204/gr/gpccs_sig.bin +firmware: nvidia/gm204/gr/sw_bundle_init.bin +firmware: nvidia/gm204/gr/sw_ctx.bin +firmware: nvidia/gm204/gr/sw_method_init.bin +firmware: nvidia/gm204/gr/sw_nonctx.bin +firmware: nvidia/gm206/acr/bl.bin +firmware: nvidia/gm206/acr/ucode_load.bin +firmware: nvidia/gm206/acr/ucode_unload.bin +firmware: nvidia/gm206/gr/fecs_bl.bin +firmware: nvidia/gm206/gr/fecs_data.bin +firmware: nvidia/gm206/gr/fecs_inst.bin +firmware: nvidia/gm206/gr/fecs_sig.bin +firmware: nvidia/gm206/gr/gpccs_bl.bin +firmware: nvidia/gm206/gr/gpccs_data.bin +firmware: nvidia/gm206/gr/gpccs_inst.bin +firmware: nvidia/gm206/gr/gpccs_sig.bin +firmware: nvidia/gm206/gr/sw_bundle_init.bin +firmware: nvidia/gm206/gr/sw_ctx.bin +firmware: nvidia/gm206/gr/sw_method_init.bin +firmware: nvidia/gm206/gr/sw_nonctx.bin +firmware: nvidia/gm20b/acr/bl.bin +firmware: nvidia/gm20b/acr/ucode_load.bin +firmware: nvidia/gm20b/gr/fecs_bl.bin +firmware: nvidia/gm20b/gr/fecs_data.bin +firmware: nvidia/gm20b/gr/fecs_inst.bin +firmware: nvidia/gm20b/gr/fecs_sig.bin +firmware: nvidia/gm20b/gr/gpccs_data.bin +firmware: nvidia/gm20b/gr/gpccs_inst.bin +firmware: nvidia/gm20b/gr/sw_bundle_init.bin +firmware: nvidia/gm20b/gr/sw_ctx.bin +firmware: nvidia/gm20b/gr/sw_method_init.bin +firmware: nvidia/gm20b/gr/sw_nonctx.bin +firmware: nvidia/gm20b/pmu/desc.bin +firmware: nvidia/gm20b/pmu/image.bin +firmware: nvidia/gm20b/pmu/sig.bin +firmware: nvidia/gp100/acr/bl.bin +firmware: nvidia/gp100/acr/ucode_load.bin +firmware: nvidia/gp100/acr/ucode_unload.bin +firmware: nvidia/gp100/gr/fecs_bl.bin +firmware: nvidia/gp100/gr/fecs_data.bin +firmware: nvidia/gp100/gr/fecs_inst.bin +firmware: nvidia/gp100/gr/fecs_sig.bin +firmware: nvidia/gp100/gr/gpccs_bl.bin +firmware: nvidia/gp100/gr/gpccs_data.bin +firmware: nvidia/gp100/gr/gpccs_inst.bin +firmware: nvidia/gp100/gr/gpccs_sig.bin +firmware: nvidia/gp100/gr/sw_bundle_init.bin +firmware: nvidia/gp100/gr/sw_ctx.bin +firmware: nvidia/gp100/gr/sw_method_init.bin +firmware: nvidia/gp100/gr/sw_nonctx.bin +firmware: nvidia/gp102/acr/bl.bin +firmware: nvidia/gp102/acr/ucode_load.bin +firmware: nvidia/gp102/acr/ucode_unload.bin +firmware: nvidia/gp102/acr/unload_bl.bin +firmware: nvidia/gp102/gr/fecs_bl.bin +firmware: nvidia/gp102/gr/fecs_data.bin +firmware: nvidia/gp102/gr/fecs_inst.bin +firmware: nvidia/gp102/gr/fecs_sig.bin +firmware: nvidia/gp102/gr/gpccs_bl.bin +firmware: nvidia/gp102/gr/gpccs_data.bin +firmware: nvidia/gp102/gr/gpccs_inst.bin +firmware: nvidia/gp102/gr/gpccs_sig.bin +firmware: nvidia/gp102/gr/sw_bundle_init.bin +firmware: nvidia/gp102/gr/sw_ctx.bin +firmware: nvidia/gp102/gr/sw_method_init.bin +firmware: nvidia/gp102/gr/sw_nonctx.bin +firmware: nvidia/gp102/nvdec/scrubber.bin +firmware: nvidia/gp102/sec2/desc-1.bin +firmware: nvidia/gp102/sec2/desc.bin +firmware: nvidia/gp102/sec2/image-1.bin +firmware: nvidia/gp102/sec2/image.bin +firmware: nvidia/gp102/sec2/sig-1.bin +firmware: nvidia/gp102/sec2/sig.bin +firmware: nvidia/gp104/acr/bl.bin +firmware: nvidia/gp104/acr/ucode_load.bin +firmware: nvidia/gp104/acr/ucode_unload.bin +firmware: nvidia/gp104/acr/unload_bl.bin +firmware: nvidia/gp104/gr/fecs_bl.bin +firmware: nvidia/gp104/gr/fecs_data.bin +firmware: nvidia/gp104/gr/fecs_inst.bin +firmware: nvidia/gp104/gr/fecs_sig.bin +firmware: nvidia/gp104/gr/gpccs_bl.bin +firmware: nvidia/gp104/gr/gpccs_data.bin +firmware: nvidia/gp104/gr/gpccs_inst.bin +firmware: nvidia/gp104/gr/gpccs_sig.bin +firmware: nvidia/gp104/gr/sw_bundle_init.bin +firmware: nvidia/gp104/gr/sw_ctx.bin +firmware: nvidia/gp104/gr/sw_method_init.bin +firmware: nvidia/gp104/gr/sw_nonctx.bin +firmware: nvidia/gp104/nvdec/scrubber.bin +firmware: nvidia/gp104/sec2/desc-1.bin +firmware: nvidia/gp104/sec2/desc.bin +firmware: nvidia/gp104/sec2/image-1.bin +firmware: nvidia/gp104/sec2/image.bin +firmware: nvidia/gp104/sec2/sig-1.bin +firmware: nvidia/gp104/sec2/sig.bin +firmware: nvidia/gp106/acr/bl.bin +firmware: nvidia/gp106/acr/ucode_load.bin +firmware: nvidia/gp106/acr/ucode_unload.bin +firmware: nvidia/gp106/acr/unload_bl.bin +firmware: nvidia/gp106/gr/fecs_bl.bin +firmware: nvidia/gp106/gr/fecs_data.bin +firmware: nvidia/gp106/gr/fecs_inst.bin +firmware: nvidia/gp106/gr/fecs_sig.bin +firmware: nvidia/gp106/gr/gpccs_bl.bin +firmware: nvidia/gp106/gr/gpccs_data.bin +firmware: nvidia/gp106/gr/gpccs_inst.bin +firmware: nvidia/gp106/gr/gpccs_sig.bin +firmware: nvidia/gp106/gr/sw_bundle_init.bin +firmware: nvidia/gp106/gr/sw_ctx.bin +firmware: nvidia/gp106/gr/sw_method_init.bin +firmware: nvidia/gp106/gr/sw_nonctx.bin +firmware: nvidia/gp106/nvdec/scrubber.bin +firmware: nvidia/gp106/sec2/desc-1.bin +firmware: nvidia/gp106/sec2/desc.bin +firmware: nvidia/gp106/sec2/image-1.bin +firmware: nvidia/gp106/sec2/image.bin +firmware: nvidia/gp106/sec2/sig-1.bin +firmware: nvidia/gp106/sec2/sig.bin +firmware: nvidia/gp107/acr/bl.bin +firmware: nvidia/gp107/acr/ucode_load.bin +firmware: nvidia/gp107/acr/ucode_unload.bin +firmware: nvidia/gp107/acr/unload_bl.bin +firmware: nvidia/gp107/gr/fecs_bl.bin +firmware: nvidia/gp107/gr/fecs_data.bin +firmware: nvidia/gp107/gr/fecs_inst.bin +firmware: nvidia/gp107/gr/fecs_sig.bin +firmware: nvidia/gp107/gr/gpccs_bl.bin +firmware: nvidia/gp107/gr/gpccs_data.bin +firmware: nvidia/gp107/gr/gpccs_inst.bin +firmware: nvidia/gp107/gr/gpccs_sig.bin +firmware: nvidia/gp107/gr/sw_bundle_init.bin +firmware: nvidia/gp107/gr/sw_ctx.bin +firmware: nvidia/gp107/gr/sw_method_init.bin +firmware: nvidia/gp107/gr/sw_nonctx.bin +firmware: nvidia/gp107/nvdec/scrubber.bin +firmware: nvidia/gp107/sec2/desc-1.bin +firmware: nvidia/gp107/sec2/desc.bin +firmware: nvidia/gp107/sec2/image-1.bin +firmware: nvidia/gp107/sec2/image.bin +firmware: nvidia/gp107/sec2/sig-1.bin +firmware: nvidia/gp107/sec2/sig.bin +firmware: nvidia/gp108/acr/bl.bin +firmware: nvidia/gp108/acr/ucode_load.bin +firmware: nvidia/gp108/acr/ucode_unload.bin +firmware: nvidia/gp108/acr/unload_bl.bin +firmware: nvidia/gp108/gr/fecs_bl.bin +firmware: nvidia/gp108/gr/fecs_data.bin +firmware: nvidia/gp108/gr/fecs_inst.bin +firmware: nvidia/gp108/gr/fecs_sig.bin +firmware: nvidia/gp108/gr/gpccs_bl.bin +firmware: nvidia/gp108/gr/gpccs_data.bin +firmware: nvidia/gp108/gr/gpccs_inst.bin +firmware: nvidia/gp108/gr/gpccs_sig.bin +firmware: nvidia/gp108/gr/sw_bundle_init.bin +firmware: nvidia/gp108/gr/sw_ctx.bin +firmware: nvidia/gp108/gr/sw_method_init.bin +firmware: nvidia/gp108/gr/sw_nonctx.bin +firmware: nvidia/gp108/nvdec/scrubber.bin +firmware: nvidia/gp108/sec2/desc.bin +firmware: nvidia/gp108/sec2/image.bin +firmware: nvidia/gp108/sec2/sig.bin +firmware: nvidia/gp10b/acr/bl.bin +firmware: nvidia/gp10b/acr/ucode_load.bin +firmware: nvidia/gp10b/gr/fecs_bl.bin +firmware: nvidia/gp10b/gr/fecs_data.bin +firmware: nvidia/gp10b/gr/fecs_inst.bin +firmware: nvidia/gp10b/gr/fecs_sig.bin +firmware: nvidia/gp10b/gr/gpccs_bl.bin +firmware: nvidia/gp10b/gr/gpccs_data.bin +firmware: nvidia/gp10b/gr/gpccs_inst.bin +firmware: nvidia/gp10b/gr/gpccs_sig.bin +firmware: nvidia/gp10b/gr/sw_bundle_init.bin +firmware: nvidia/gp10b/gr/sw_ctx.bin +firmware: nvidia/gp10b/gr/sw_method_init.bin +firmware: nvidia/gp10b/gr/sw_nonctx.bin +firmware: nvidia/gp10b/pmu/desc.bin +firmware: nvidia/gp10b/pmu/image.bin +firmware: nvidia/gp10b/pmu/sig.bin +firmware: nvidia/gv100/acr/bl.bin +firmware: nvidia/gv100/acr/ucode_load.bin +firmware: nvidia/gv100/acr/ucode_unload.bin +firmware: nvidia/gv100/acr/unload_bl.bin +firmware: nvidia/gv100/gr/fecs_bl.bin +firmware: nvidia/gv100/gr/fecs_data.bin +firmware: nvidia/gv100/gr/fecs_inst.bin +firmware: nvidia/gv100/gr/fecs_sig.bin +firmware: nvidia/gv100/gr/gpccs_bl.bin +firmware: nvidia/gv100/gr/gpccs_data.bin +firmware: nvidia/gv100/gr/gpccs_inst.bin +firmware: nvidia/gv100/gr/gpccs_sig.bin +firmware: nvidia/gv100/gr/sw_bundle_init.bin +firmware: nvidia/gv100/gr/sw_ctx.bin +firmware: nvidia/gv100/gr/sw_method_init.bin +firmware: nvidia/gv100/gr/sw_nonctx.bin +firmware: nvidia/gv100/nvdec/scrubber.bin +firmware: nvidia/gv100/sec2/desc.bin +firmware: nvidia/gv100/sec2/image.bin +firmware: nvidia/gv100/sec2/sig.bin +firmware: nvidia/tegra124/vic03_ucode.bin +firmware: nvidia/tegra124/xusb.bin +firmware: nvidia/tegra186/nvdec.bin +firmware: nvidia/tegra186/vic04_ucode.bin +firmware: nvidia/tegra186/xusb.bin +firmware: nvidia/tegra194/nvdec.bin +firmware: nvidia/tegra194/vic.bin +firmware: nvidia/tegra194/xusb.bin +firmware: nvidia/tegra210/nvdec.bin +firmware: nvidia/tegra210/vic04_ucode.bin +firmware: nvidia/tegra210/xusb.bin +firmware: nvidia/tu102/acr/bl.bin +firmware: nvidia/tu102/acr/ucode_ahesasc.bin +firmware: nvidia/tu102/acr/ucode_asb.bin +firmware: nvidia/tu102/acr/ucode_unload.bin +firmware: nvidia/tu102/acr/unload_bl.bin +firmware: nvidia/tu102/gr/fecs_bl.bin +firmware: nvidia/tu102/gr/fecs_data.bin +firmware: nvidia/tu102/gr/fecs_inst.bin +firmware: nvidia/tu102/gr/fecs_sig.bin +firmware: nvidia/tu102/gr/gpccs_bl.bin +firmware: nvidia/tu102/gr/gpccs_data.bin +firmware: nvidia/tu102/gr/gpccs_inst.bin +firmware: nvidia/tu102/gr/gpccs_sig.bin +firmware: nvidia/tu102/gr/sw_bundle_init.bin +firmware: nvidia/tu102/gr/sw_ctx.bin +firmware: nvidia/tu102/gr/sw_method_init.bin +firmware: nvidia/tu102/gr/sw_nonctx.bin +firmware: nvidia/tu102/nvdec/scrubber.bin +firmware: nvidia/tu102/sec2/desc.bin +firmware: nvidia/tu102/sec2/image.bin +firmware: nvidia/tu102/sec2/sig.bin +firmware: nvidia/tu104/acr/bl.bin +firmware: nvidia/tu104/acr/ucode_ahesasc.bin +firmware: nvidia/tu104/acr/ucode_asb.bin +firmware: nvidia/tu104/acr/ucode_unload.bin +firmware: nvidia/tu104/acr/unload_bl.bin +firmware: nvidia/tu104/gr/fecs_bl.bin +firmware: nvidia/tu104/gr/fecs_data.bin +firmware: nvidia/tu104/gr/fecs_inst.bin +firmware: nvidia/tu104/gr/fecs_sig.bin +firmware: nvidia/tu104/gr/gpccs_bl.bin +firmware: nvidia/tu104/gr/gpccs_data.bin +firmware: nvidia/tu104/gr/gpccs_inst.bin +firmware: nvidia/tu104/gr/gpccs_sig.bin +firmware: nvidia/tu104/gr/sw_bundle_init.bin +firmware: nvidia/tu104/gr/sw_ctx.bin +firmware: nvidia/tu104/gr/sw_method_init.bin +firmware: nvidia/tu104/gr/sw_nonctx.bin +firmware: nvidia/tu104/nvdec/scrubber.bin +firmware: nvidia/tu104/sec2/desc.bin +firmware: nvidia/tu104/sec2/image.bin +firmware: nvidia/tu104/sec2/sig.bin +firmware: nvidia/tu106/acr/bl.bin +firmware: nvidia/tu106/acr/ucode_ahesasc.bin +firmware: nvidia/tu106/acr/ucode_asb.bin +firmware: nvidia/tu106/acr/ucode_unload.bin +firmware: nvidia/tu106/acr/unload_bl.bin +firmware: nvidia/tu106/gr/fecs_bl.bin +firmware: nvidia/tu106/gr/fecs_data.bin +firmware: nvidia/tu106/gr/fecs_inst.bin +firmware: nvidia/tu106/gr/fecs_sig.bin +firmware: nvidia/tu106/gr/gpccs_bl.bin +firmware: nvidia/tu106/gr/gpccs_data.bin +firmware: nvidia/tu106/gr/gpccs_inst.bin +firmware: nvidia/tu106/gr/gpccs_sig.bin +firmware: nvidia/tu106/gr/sw_bundle_init.bin +firmware: nvidia/tu106/gr/sw_ctx.bin +firmware: nvidia/tu106/gr/sw_method_init.bin +firmware: nvidia/tu106/gr/sw_nonctx.bin +firmware: nvidia/tu106/nvdec/scrubber.bin +firmware: nvidia/tu106/sec2/desc.bin +firmware: nvidia/tu106/sec2/image.bin +firmware: nvidia/tu106/sec2/sig.bin +firmware: nvidia/tu116/acr/bl.bin +firmware: nvidia/tu116/acr/ucode_ahesasc.bin +firmware: nvidia/tu116/acr/ucode_asb.bin +firmware: nvidia/tu116/acr/ucode_unload.bin +firmware: nvidia/tu116/acr/unload_bl.bin +firmware: nvidia/tu116/gr/fecs_bl.bin +firmware: nvidia/tu116/gr/fecs_data.bin +firmware: nvidia/tu116/gr/fecs_inst.bin +firmware: nvidia/tu116/gr/fecs_sig.bin +firmware: nvidia/tu116/gr/gpccs_bl.bin +firmware: nvidia/tu116/gr/gpccs_data.bin +firmware: nvidia/tu116/gr/gpccs_inst.bin +firmware: nvidia/tu116/gr/gpccs_sig.bin +firmware: nvidia/tu116/gr/sw_bundle_init.bin +firmware: nvidia/tu116/gr/sw_ctx.bin +firmware: nvidia/tu116/gr/sw_method_init.bin +firmware: nvidia/tu116/gr/sw_nonctx.bin +firmware: nvidia/tu116/nvdec/scrubber.bin +firmware: nvidia/tu116/sec2/desc.bin +firmware: nvidia/tu116/sec2/image.bin +firmware: nvidia/tu116/sec2/sig.bin +firmware: nvidia/tu117/acr/bl.bin +firmware: nvidia/tu117/acr/ucode_ahesasc.bin +firmware: nvidia/tu117/acr/ucode_asb.bin +firmware: nvidia/tu117/acr/ucode_unload.bin +firmware: nvidia/tu117/acr/unload_bl.bin +firmware: nvidia/tu117/gr/fecs_bl.bin +firmware: nvidia/tu117/gr/fecs_data.bin +firmware: nvidia/tu117/gr/fecs_inst.bin +firmware: nvidia/tu117/gr/fecs_sig.bin +firmware: nvidia/tu117/gr/gpccs_bl.bin +firmware: nvidia/tu117/gr/gpccs_data.bin +firmware: nvidia/tu117/gr/gpccs_inst.bin +firmware: nvidia/tu117/gr/gpccs_sig.bin +firmware: nvidia/tu117/gr/sw_bundle_init.bin +firmware: nvidia/tu117/gr/sw_ctx.bin +firmware: nvidia/tu117/gr/sw_method_init.bin +firmware: nvidia/tu117/gr/sw_nonctx.bin +firmware: nvidia/tu117/nvdec/scrubber.bin +firmware: nvidia/tu117/sec2/desc.bin +firmware: nvidia/tu117/sec2/image.bin +firmware: nvidia/tu117/sec2/sig.bin +firmware: orinoco_ezusb_fw +firmware: ositech/Xilinx7OD.bin +firmware: pca200e.bin +firmware: pca200e_ecd.bin2 +firmware: pcxhr/dspb1222e.b56 +firmware: pcxhr/dspb1222hr.b56 +firmware: pcxhr/dspb882e.b56 +firmware: pcxhr/dspb882hr.b56 +firmware: pcxhr/dspb924.b56 +firmware: pcxhr/dspd1222.d56 +firmware: pcxhr/dspd222.d56 +firmware: pcxhr/dspd882.d56 +firmware: pcxhr/dspe882.e56 +firmware: pcxhr/dspe924.e56 +firmware: pcxhr/xlxc1222e.dat +firmware: pcxhr/xlxc1222hr.dat +firmware: pcxhr/xlxc222.dat +firmware: pcxhr/xlxc882e.dat +firmware: pcxhr/xlxc882hr.dat +firmware: pcxhr/xlxc924.dat +firmware: pcxhr/xlxint.dat +firmware: phanfw.bin +firmware: plfxlc/lifi-x.bin +firmware: prism2_ru.fw +firmware: prism_ap_fw.bin +firmware: prism_sta_fw.bin +firmware: qat_4xxx.bin +firmware: qat_4xxx_mmp.bin +firmware: qat_895xcc.bin +firmware: qat_895xcc_mmp.bin +firmware: qat_c3xxx.bin +firmware: qat_c3xxx_mmp.bin +firmware: qat_c62x.bin +firmware: qat_c62x_mmp.bin +firmware: qcom/a300_pfp.fw +firmware: qcom/a300_pm4.fw +firmware: qcom/a330_pfp.fw +firmware: qcom/a330_pm4.fw +firmware: qcom/a420_pfp.fw +firmware: qcom/a420_pm4.fw +firmware: qcom/a530_pfp.fw +firmware: qcom/a530_pm4.fw +firmware: qcom/a530_zap.b00 +firmware: qcom/a530_zap.b01 +firmware: qcom/a530_zap.b02 +firmware: qcom/a530_zap.mdt +firmware: qcom/a530v3_gpmu.fw2 +firmware: qcom/a630_gmu.bin +firmware: qcom/a630_sqe.fw +firmware: qcom/a630_zap.mbn +firmware: qed/qed_init_values_zipped-8.59.1.0.bin +firmware: ql2100_fw.bin +firmware: ql2200_fw.bin +firmware: ql2300_fw.bin +firmware: ql2322_fw.bin +firmware: ql2400_fw.bin +firmware: ql2500_fw.bin +firmware: qlogic/1040.bin +firmware: qlogic/12160.bin +firmware: qlogic/1280.bin +firmware: qlogic/sd7220.fw +firmware: r8a779x_usb3_v1.dlmem +firmware: r8a779x_usb3_v2.dlmem +firmware: r8a779x_usb3_v3.dlmem +firmware: radeon/ARUBA_me.bin +firmware: radeon/ARUBA_pfp.bin +firmware: radeon/ARUBA_rlc.bin +firmware: radeon/BARTS_mc.bin +firmware: radeon/BARTS_me.bin +firmware: radeon/BARTS_pfp.bin +firmware: radeon/BARTS_smc.bin +firmware: radeon/BONAIRE_ce.bin +firmware: radeon/BONAIRE_mc.bin +firmware: radeon/BONAIRE_mc2.bin +firmware: radeon/BONAIRE_me.bin +firmware: radeon/BONAIRE_mec.bin +firmware: radeon/BONAIRE_pfp.bin +firmware: radeon/BONAIRE_rlc.bin +firmware: radeon/BONAIRE_sdma.bin +firmware: radeon/BONAIRE_smc.bin +firmware: radeon/BONAIRE_uvd.bin +firmware: radeon/BONAIRE_vce.bin +firmware: radeon/BTC_rlc.bin +firmware: radeon/CAICOS_mc.bin +firmware: radeon/CAICOS_me.bin +firmware: radeon/CAICOS_pfp.bin +firmware: radeon/CAICOS_smc.bin +firmware: radeon/CAYMAN_mc.bin +firmware: radeon/CAYMAN_me.bin +firmware: radeon/CAYMAN_pfp.bin +firmware: radeon/CAYMAN_rlc.bin +firmware: radeon/CAYMAN_smc.bin +firmware: radeon/CEDAR_me.bin +firmware: radeon/CEDAR_pfp.bin +firmware: radeon/CEDAR_rlc.bin +firmware: radeon/CEDAR_smc.bin +firmware: radeon/CYPRESS_me.bin +firmware: radeon/CYPRESS_pfp.bin +firmware: radeon/CYPRESS_rlc.bin +firmware: radeon/CYPRESS_smc.bin +firmware: radeon/CYPRESS_uvd.bin +firmware: radeon/HAINAN_ce.bin +firmware: radeon/HAINAN_mc.bin +firmware: radeon/HAINAN_mc2.bin +firmware: radeon/HAINAN_me.bin +firmware: radeon/HAINAN_pfp.bin +firmware: radeon/HAINAN_rlc.bin +firmware: radeon/HAINAN_smc.bin +firmware: radeon/HAWAII_ce.bin +firmware: radeon/HAWAII_mc.bin +firmware: radeon/HAWAII_mc2.bin +firmware: radeon/HAWAII_me.bin +firmware: radeon/HAWAII_mec.bin +firmware: radeon/HAWAII_pfp.bin +firmware: radeon/HAWAII_rlc.bin +firmware: radeon/HAWAII_sdma.bin +firmware: radeon/HAWAII_smc.bin +firmware: radeon/JUNIPER_me.bin +firmware: radeon/JUNIPER_pfp.bin +firmware: radeon/JUNIPER_rlc.bin +firmware: radeon/JUNIPER_smc.bin +firmware: radeon/KABINI_ce.bin +firmware: radeon/KABINI_me.bin +firmware: radeon/KABINI_mec.bin +firmware: radeon/KABINI_pfp.bin +firmware: radeon/KABINI_rlc.bin +firmware: radeon/KABINI_sdma.bin +firmware: radeon/KAVERI_ce.bin +firmware: radeon/KAVERI_me.bin +firmware: radeon/KAVERI_mec.bin +firmware: radeon/KAVERI_pfp.bin +firmware: radeon/KAVERI_rlc.bin +firmware: radeon/KAVERI_sdma.bin +firmware: radeon/MULLINS_ce.bin +firmware: radeon/MULLINS_me.bin +firmware: radeon/MULLINS_mec.bin +firmware: radeon/MULLINS_pfp.bin +firmware: radeon/MULLINS_rlc.bin +firmware: radeon/MULLINS_sdma.bin +firmware: radeon/OLAND_ce.bin +firmware: radeon/OLAND_mc.bin +firmware: radeon/OLAND_mc2.bin +firmware: radeon/OLAND_me.bin +firmware: radeon/OLAND_pfp.bin +firmware: radeon/OLAND_rlc.bin +firmware: radeon/OLAND_smc.bin +firmware: radeon/PALM_me.bin +firmware: radeon/PALM_pfp.bin +firmware: radeon/PITCAIRN_ce.bin +firmware: radeon/PITCAIRN_mc.bin +firmware: radeon/PITCAIRN_mc2.bin +firmware: radeon/PITCAIRN_me.bin +firmware: radeon/PITCAIRN_pfp.bin +firmware: radeon/PITCAIRN_rlc.bin +firmware: radeon/PITCAIRN_smc.bin +firmware: radeon/R100_cp.bin +firmware: radeon/R200_cp.bin +firmware: radeon/R300_cp.bin +firmware: radeon/R420_cp.bin +firmware: radeon/R520_cp.bin +firmware: radeon/R600_me.bin +firmware: radeon/R600_pfp.bin +firmware: radeon/R600_rlc.bin +firmware: radeon/R600_uvd.bin +firmware: radeon/R700_rlc.bin +firmware: radeon/REDWOOD_me.bin +firmware: radeon/REDWOOD_pfp.bin +firmware: radeon/REDWOOD_rlc.bin +firmware: radeon/REDWOOD_smc.bin +firmware: radeon/RS600_cp.bin +firmware: radeon/RS690_cp.bin +firmware: radeon/RS780_me.bin +firmware: radeon/RS780_pfp.bin +firmware: radeon/RS780_uvd.bin +firmware: radeon/RV610_me.bin +firmware: radeon/RV610_pfp.bin +firmware: radeon/RV620_me.bin +firmware: radeon/RV620_pfp.bin +firmware: radeon/RV630_me.bin +firmware: radeon/RV630_pfp.bin +firmware: radeon/RV635_me.bin +firmware: radeon/RV635_pfp.bin +firmware: radeon/RV670_me.bin +firmware: radeon/RV670_pfp.bin +firmware: radeon/RV710_me.bin +firmware: radeon/RV710_pfp.bin +firmware: radeon/RV710_smc.bin +firmware: radeon/RV710_uvd.bin +firmware: radeon/RV730_me.bin +firmware: radeon/RV730_pfp.bin +firmware: radeon/RV730_smc.bin +firmware: radeon/RV740_smc.bin +firmware: radeon/RV770_me.bin +firmware: radeon/RV770_pfp.bin +firmware: radeon/RV770_smc.bin +firmware: radeon/RV770_uvd.bin +firmware: radeon/SUMO2_me.bin +firmware: radeon/SUMO2_pfp.bin +firmware: radeon/SUMO_me.bin +firmware: radeon/SUMO_pfp.bin +firmware: radeon/SUMO_rlc.bin +firmware: radeon/SUMO_uvd.bin +firmware: radeon/TAHITI_ce.bin +firmware: radeon/TAHITI_mc.bin +firmware: radeon/TAHITI_mc2.bin +firmware: radeon/TAHITI_me.bin +firmware: radeon/TAHITI_pfp.bin +firmware: radeon/TAHITI_rlc.bin +firmware: radeon/TAHITI_smc.bin +firmware: radeon/TAHITI_uvd.bin +firmware: radeon/TAHITI_vce.bin +firmware: radeon/TURKS_mc.bin +firmware: radeon/TURKS_me.bin +firmware: radeon/TURKS_pfp.bin +firmware: radeon/TURKS_smc.bin +firmware: radeon/VERDE_ce.bin +firmware: radeon/VERDE_mc.bin +firmware: radeon/VERDE_mc2.bin +firmware: radeon/VERDE_me.bin +firmware: radeon/VERDE_pfp.bin +firmware: radeon/VERDE_rlc.bin +firmware: radeon/VERDE_smc.bin +firmware: radeon/banks_k_2_smc.bin +firmware: radeon/bonaire_ce.bin +firmware: radeon/bonaire_k_smc.bin +firmware: radeon/bonaire_mc.bin +firmware: radeon/bonaire_me.bin +firmware: radeon/bonaire_mec.bin +firmware: radeon/bonaire_pfp.bin +firmware: radeon/bonaire_rlc.bin +firmware: radeon/bonaire_sdma.bin +firmware: radeon/bonaire_smc.bin +firmware: radeon/bonaire_uvd.bin +firmware: radeon/hainan_ce.bin +firmware: radeon/hainan_k_smc.bin +firmware: radeon/hainan_mc.bin +firmware: radeon/hainan_me.bin +firmware: radeon/hainan_pfp.bin +firmware: radeon/hainan_rlc.bin +firmware: radeon/hainan_smc.bin +firmware: radeon/hawaii_ce.bin +firmware: radeon/hawaii_k_smc.bin +firmware: radeon/hawaii_mc.bin +firmware: radeon/hawaii_me.bin +firmware: radeon/hawaii_mec.bin +firmware: radeon/hawaii_pfp.bin +firmware: radeon/hawaii_rlc.bin +firmware: radeon/hawaii_sdma.bin +firmware: radeon/hawaii_smc.bin +firmware: radeon/kabini_ce.bin +firmware: radeon/kabini_me.bin +firmware: radeon/kabini_mec.bin +firmware: radeon/kabini_pfp.bin +firmware: radeon/kabini_rlc.bin +firmware: radeon/kabini_sdma.bin +firmware: radeon/kaveri_ce.bin +firmware: radeon/kaveri_me.bin +firmware: radeon/kaveri_mec.bin +firmware: radeon/kaveri_mec2.bin +firmware: radeon/kaveri_pfp.bin +firmware: radeon/kaveri_rlc.bin +firmware: radeon/kaveri_sdma.bin +firmware: radeon/mullins_ce.bin +firmware: radeon/mullins_me.bin +firmware: radeon/mullins_mec.bin +firmware: radeon/mullins_pfp.bin +firmware: radeon/mullins_rlc.bin +firmware: radeon/mullins_sdma.bin +firmware: radeon/oland_ce.bin +firmware: radeon/oland_k_smc.bin +firmware: radeon/oland_mc.bin +firmware: radeon/oland_me.bin +firmware: radeon/oland_pfp.bin +firmware: radeon/oland_rlc.bin +firmware: radeon/oland_smc.bin +firmware: radeon/pitcairn_ce.bin +firmware: radeon/pitcairn_k_smc.bin +firmware: radeon/pitcairn_mc.bin +firmware: radeon/pitcairn_me.bin +firmware: radeon/pitcairn_pfp.bin +firmware: radeon/pitcairn_rlc.bin +firmware: radeon/pitcairn_smc.bin +firmware: radeon/si58_mc.bin +firmware: radeon/tahiti_ce.bin +firmware: radeon/tahiti_mc.bin +firmware: radeon/tahiti_me.bin +firmware: radeon/tahiti_pfp.bin +firmware: radeon/tahiti_rlc.bin +firmware: radeon/tahiti_smc.bin +firmware: radeon/verde_ce.bin +firmware: radeon/verde_k_smc.bin +firmware: radeon/verde_mc.bin +firmware: radeon/verde_me.bin +firmware: radeon/verde_pfp.bin +firmware: radeon/verde_rlc.bin +firmware: radeon/verde_smc.bin +firmware: regulatory.db +firmware: regulatory.db.p7s +firmware: renesas_usb_fw.mem +firmware: riptide.hex +firmware: rockchip/dptx.bin +firmware: rp2.fw +firmware: rpm_firmware.bin +firmware: rs9113_wlan_qspi.rps +firmware: rt2561.bin +firmware: rt2561s.bin +firmware: rt2661.bin +firmware: rt2860.bin +firmware: rt2870.bin +firmware: rt73.bin +firmware: rtl_bt/rtl8723a_fw.bin +firmware: rtl_bt/rtl8723b_config.bin +firmware: rtl_bt/rtl8723b_fw.bin +firmware: rtl_bt/rtl8723bs_config.bin +firmware: rtl_bt/rtl8723bs_fw.bin +firmware: rtl_bt/rtl8723ds_config.bin +firmware: rtl_bt/rtl8723ds_fw.bin +firmware: rtl_bt/rtl8761a_config.bin +firmware: rtl_bt/rtl8761a_fw.bin +firmware: rtl_bt/rtl8821a_config.bin +firmware: rtl_bt/rtl8821a_fw.bin +firmware: rtl_bt/rtl8822b_config.bin +firmware: rtl_bt/rtl8822b_fw.bin +firmware: rtl_bt/rtl8852au_config.bin +firmware: rtl_bt/rtl8852au_fw.bin +firmware: rtl_bt/rtl8852bu_config.bin +firmware: rtl_bt/rtl8852bu_fw.bin +firmware: rtl_bt/rtl8852cu_config.bin +firmware: rtl_bt/rtl8852cu_fw.bin +firmware: rtl_nic/rtl8105e-1.fw +firmware: rtl_nic/rtl8106e-1.fw +firmware: rtl_nic/rtl8106e-2.fw +firmware: rtl_nic/rtl8107e-1.fw +firmware: rtl_nic/rtl8107e-2.fw +firmware: rtl_nic/rtl8125a-3.fw +firmware: rtl_nic/rtl8125b-2.fw +firmware: rtl_nic/rtl8153a-2.fw +firmware: rtl_nic/rtl8153a-3.fw +firmware: rtl_nic/rtl8153a-4.fw +firmware: rtl_nic/rtl8153b-2.fw +firmware: rtl_nic/rtl8153c-1.fw +firmware: rtl_nic/rtl8156a-2.fw +firmware: rtl_nic/rtl8156b-2.fw +firmware: rtl_nic/rtl8168d-1.fw +firmware: rtl_nic/rtl8168d-2.fw +firmware: rtl_nic/rtl8168e-1.fw +firmware: rtl_nic/rtl8168e-2.fw +firmware: rtl_nic/rtl8168e-3.fw +firmware: rtl_nic/rtl8168f-1.fw +firmware: rtl_nic/rtl8168f-2.fw +firmware: rtl_nic/rtl8168fp-3.fw +firmware: rtl_nic/rtl8168g-2.fw +firmware: rtl_nic/rtl8168g-3.fw +firmware: rtl_nic/rtl8168h-1.fw +firmware: rtl_nic/rtl8168h-2.fw +firmware: rtl_nic/rtl8402-1.fw +firmware: rtl_nic/rtl8411-1.fw +firmware: rtl_nic/rtl8411-2.fw +firmware: rtlwifi/rtl8188efw.bin +firmware: rtlwifi/rtl8188eufw.bin +firmware: rtlwifi/rtl8192cfw.bin +firmware: rtlwifi/rtl8192cfwU.bin +firmware: rtlwifi/rtl8192cfwU_B.bin +firmware: rtlwifi/rtl8192cufw.bin +firmware: rtlwifi/rtl8192cufw_A.bin +firmware: rtlwifi/rtl8192cufw_B.bin +firmware: rtlwifi/rtl8192cufw_TMSC.bin +firmware: rtlwifi/rtl8192defw.bin +firmware: rtlwifi/rtl8192eefw.bin +firmware: rtlwifi/rtl8192eu_nic.bin +firmware: rtlwifi/rtl8192sefw.bin +firmware: rtlwifi/rtl8712u.bin +firmware: rtlwifi/rtl8723aufw_A.bin +firmware: rtlwifi/rtl8723aufw_B.bin +firmware: rtlwifi/rtl8723aufw_B_NoBT.bin +firmware: rtlwifi/rtl8723befw.bin +firmware: rtlwifi/rtl8723befw_36.bin +firmware: rtlwifi/rtl8723bu_bt.bin +firmware: rtlwifi/rtl8723bu_nic.bin +firmware: rtlwifi/rtl8723efw.bin +firmware: rtlwifi/rtl8821aefw.bin +firmware: rtlwifi/rtl8821aefw_29.bin +firmware: rtw88/rtw8723d_fw.bin +firmware: rtw88/rtw8821c_fw.bin +firmware: rtw88/rtw8822b_fw.bin +firmware: rtw88/rtw8822c_fw.bin +firmware: rtw88/rtw8822c_wow_fw.bin +firmware: rtw89/rtw8852a_fw.bin +firmware: rtw89/rtw8852c_fw.bin +firmware: s5k4ecgx.bin +firmware: sd8385.bin +firmware: sd8385_helper.bin +firmware: sd8686.bin +firmware: sd8686_helper.bin +firmware: sd8688.bin +firmware: sd8688_helper.bin +firmware: slicoss/gbdownload.sys +firmware: slicoss/gbrcvucode.sys +firmware: slicoss/oasisdownload.sys +firmware: slicoss/oasisrcvucode.sys +firmware: sms1xxx-hcw-55xxx-dvbt-02.fw +firmware: sms1xxx-hcw-55xxx-isdbt-02.fw +firmware: sms1xxx-nova-a-dvbt-01.fw +firmware: sms1xxx-nova-b-dvbt-01.fw +firmware: sms1xxx-stellar-dvbt-01.fw +firmware: softing-4.6/bcard.bin +firmware: softing-4.6/bcard2.bin +firmware: softing-4.6/cancard.bin +firmware: softing-4.6/cancrd2.bin +firmware: softing-4.6/cansja.bin +firmware: softing-4.6/ldcard.bin +firmware: softing-4.6/ldcard2.bin +firmware: solos-FPGA.bin +firmware: solos-Firmware.bin +firmware: solos-db-FPGA.bin +firmware: sun/cassini.bin +firmware: symbol_sp24t_prim_fw +firmware: symbol_sp24t_sec_fw +firmware: tdmb_denver.inp +firmware: tdmb_nova_12mhz.inp +firmware: tdmb_nova_12mhz_b0.inp +firmware: tehuti/bdx.bin +firmware: ti-connectivity/wl1251-fw.bin +firmware: ti-connectivity/wl1251-nvs.bin +firmware: ti-connectivity/wl127x-fw-5-mr.bin +firmware: ti-connectivity/wl127x-fw-5-plt.bin +firmware: ti-connectivity/wl127x-fw-5-sr.bin +firmware: ti-connectivity/wl128x-fw-5-mr.bin +firmware: ti-connectivity/wl128x-fw-5-plt.bin +firmware: ti-connectivity/wl128x-fw-5-sr.bin +firmware: ti-connectivity/wl18xx-fw-4.bin +firmware: ti_3410.fw +firmware: ti_5052.fw +firmware: tigon/tg3.bin +firmware: tigon/tg3_tso.bin +firmware: tigon/tg3_tso5.bin +firmware: ttusb-budget/dspbootcode.bin +firmware: ueagle-atm/930-fpga.bin +firmware: ueagle-atm/CMV4i.bin +firmware: ueagle-atm/CMV4i.bin.v2 +firmware: ueagle-atm/CMV4p.bin +firmware: ueagle-atm/CMV4p.bin.v2 +firmware: ueagle-atm/CMV9i.bin +firmware: ueagle-atm/CMV9i.bin.v2 +firmware: ueagle-atm/CMV9p.bin +firmware: ueagle-atm/CMV9p.bin.v2 +firmware: ueagle-atm/CMVei.bin +firmware: ueagle-atm/CMVei.bin.v2 +firmware: ueagle-atm/CMVep.bin +firmware: ueagle-atm/CMVep.bin.v2 +firmware: ueagle-atm/DSP4i.bin +firmware: ueagle-atm/DSP4p.bin +firmware: ueagle-atm/DSP9i.bin +firmware: ueagle-atm/DSP9p.bin +firmware: ueagle-atm/DSPei.bin +firmware: ueagle-atm/DSPep.bin +firmware: ueagle-atm/adi930.fw +firmware: ueagle-atm/eagle.fw +firmware: ueagle-atm/eagleI.fw +firmware: ueagle-atm/eagleII.fw +firmware: ueagle-atm/eagleIII.fw +firmware: ueagle-atm/eagleIV.fw +firmware: usb8388.bin +firmware: usbdux_firmware.bin +firmware: usbduxfast_firmware.bin +firmware: usbduxsigma_firmware.bin +firmware: v4l-cx231xx-avcore-01.fw +firmware: v4l-cx23418-apu.fw +firmware: v4l-cx23418-cpu.fw +firmware: v4l-cx23418-dig.fw +firmware: v4l-cx2341x-dec.fw +firmware: v4l-cx2341x-enc.fw +firmware: v4l-cx2341x-init.mpg +firmware: v4l-cx23885-avcore-01.fw +firmware: v4l-cx23885-enc.fw +firmware: v4l-cx25840.fw +firmware: v4l-pvrusb2-24xxx-01.fw +firmware: v4l-pvrusb2-29xxx-01.fw +firmware: v4l-pvrusb2-73xxx-01.fw +firmware: vicam/firmware.fw +firmware: vntwusb.fw +firmware: vpdma-1b8.bin +firmware: vx/bd56002.boot +firmware: vx/bd563s3.boot +firmware: vx/bd563v2.boot +firmware: vx/bx_1_vp4.b56 +firmware: vx/bx_1_vxp.b56 +firmware: vx/l_1_v22.d56 +firmware: vx/l_1_vp4.d56 +firmware: vx/l_1_vx2.d56 +firmware: vx/l_1_vxp.d56 +firmware: vx/x1_1_vp4.xlx +firmware: vx/x1_1_vx2.xlx +firmware: vx/x1_1_vxp.xlx +firmware: vx/x1_2_v22.xlx +firmware: vxge/X3fw-pxe.ncf +firmware: vxge/X3fw.ncf +firmware: wd719x-risc.bin +firmware: wd719x-wcs.bin +firmware: whiteheat.fw +firmware: whiteheat_loader.fw +firmware: wil6210.brd +firmware: wil6210.fw +firmware: wil6210_sparrow_plus.fw +firmware: wil6436.brd +firmware: wil6436.fw +firmware: wlan/prima/WCNSS_qcom_wlan_nv.bin +firmware: xc3028-v27.fw +firmware: xc3028L-v36.fw +firmware: yam/1200.bin +firmware: yam/9600.bin +firmware: yamaha/ds1_ctrl.fw +firmware: yamaha/ds1_dsp.fw +firmware: yamaha/ds1e_ctrl.fw +firmware: zd1201-ap.fw +firmware: zd1201.fw +firmware: zd1211/zd1211_ub +firmware: zd1211/zd1211_uphr +firmware: zd1211/zd1211_ur +firmware: zd1211/zd1211b_ub +firmware: zd1211/zd1211b_uphr +firmware: zd1211/zd1211b_ur --- linux-gcp-5.19.0.orig/debian.master/abi/ppc64el/generic +++ linux-gcp-5.19.0/debian.master/abi/ppc64el/generic @@ -0,0 +1,25234 @@ +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0x6e9fabc7 crypto_cipher_decrypt_one vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0x886d6d5f crypto_cipher_setkey vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0x9a5473fa crypto_cipher_encrypt_one vmlinux +CXL EXPORT_SYMBOL_GPL 0x04d93fe7 is_root_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x055c6ee3 cxl_mem_active_inc vmlinux +CXL EXPORT_SYMBOL_GPL 0x099e33c6 devm_cxl_setup_hdm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x16c5d159 cxl_probe_device_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x23a03d4a cxl_decoder_autoremove drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x26e1c7b7 schedule_cxl_memdev_detach drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x29633733 clear_exclusive_cxl_commands drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x30c26b6f devm_cxl_enumerate_ports drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x31fc64d2 cxl_bus_rescan drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x33e2aa93 cxl_mem_active_dec vmlinux +CXL EXPORT_SYMBOL_GPL 0x37dc64b0 cxl_mem_find_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x3c2e922a cxl_map_component_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x4c7e545c cxl_await_media_ready drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x5a3f7277 devm_cxl_add_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x632821c6 to_cxl_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x6371f2df cxl_mbox_send_cmd drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x642eff8d is_cxl_memdev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x649d1eef to_cxl_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x67cc19bf devm_cxl_add_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x690731a3 cxl_dev_state_create drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x6c010ea2 cxl_find_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x70371a07 cxl_decoder_add drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x74a4ea3f devm_cxl_enumerate_decoders drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x74b005c8 is_cxl_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x837b0751 devm_cxl_add_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x87227753 is_cxl_nvdimm drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x949988e6 cxl_enumerate_cmds drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x9b5ebb0f cxl_bus_type drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0x9e9d3c39 cxl_decoder_add_locked drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xabc15863 cxl_hdm_decode_init drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xaea96a57 __cxl_driver_register drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xb115b6fa to_cxl_nvdimm_bridge drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xb2075347 devm_cxl_add_memdev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xbcf6ce62 cxl_dev_state_identify drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xc327f316 set_exclusive_cxl_commands drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xc9b8c49c cxl_find_dport_by_dev drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xca0e9331 is_cxl_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xcbca4fd5 to_cxl_port drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xcc25cfcc cxl_port_to_pci_bus drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xcdbdde38 cxl_endpoint_autoremove drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xcdf2fa72 cxl_map_device_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xce7f0e88 devm_cxl_add_dport drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xcea390a1 devm_cxl_add_passthrough_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xcedeba80 find_cxl_root drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xd4fba0f8 cxl_probe_component_regs drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xd6bb1e36 cxl_driver_unregister drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xdbbf1862 cxl_mem_create_range_info drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xe05f28f5 is_cxl_decoder drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xe3e6c679 cxl_switch_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xef1c951d cxl_root_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xefca105a devm_cxl_port_enumerate_dports drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xfac76780 cxl_find_regblock drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xfdd7ffc4 cxl_endpoint_decoder_alloc drivers/cxl/core/cxl_core +CXL EXPORT_SYMBOL_GPL 0xff07c247 devm_cxl_register_pci_bus drivers/cxl/core/cxl_core +DMA_BUF EXPORT_SYMBOL_GPL 0x0338e4a9 dma_buf_put vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x049abf4d dma_buf_move_notify vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x098bad15 dma_buf_dynamic_attach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x2da2c9b1 dma_buf_export vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x35cb8c6b dma_buf_unmap_attachment vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x523408a4 dma_buf_get vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x525309a7 dma_buf_map_attachment vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x5382a5cc dma_buf_pin vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x57598435 dma_buf_begin_cpu_access vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x5b2a9588 dma_buf_detach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x829cbe69 dma_buf_vunmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xb057bbce dma_buf_fd vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xb19edda2 dma_buf_mmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xc54a000f dma_buf_unpin vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xc554df0c dma_buf_end_cpu_access vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xe3cd741c dma_buf_vmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xfe84a3ba dma_buf_attach vmlinux +DRM_SSD130X EXPORT_SYMBOL_GPL 0x33cf1f58 ssd130x_variants drivers/gpu/drm/solomon/ssd130x +EXPORT_SYMBOL arch/powerpc/kvm/kvm 0x87528038 kvmppc_core_queue_syscall +EXPORT_SYMBOL arch/powerpc/platforms/pseries/hvcserver 0x913f1e6d hvcs_get_partner_info +EXPORT_SYMBOL arch/powerpc/platforms/pseries/hvcserver 0xa73464c7 hvcs_register_connection +EXPORT_SYMBOL arch/powerpc/platforms/pseries/hvcserver 0xbdf97f58 hvcs_free_connection +EXPORT_SYMBOL arch/powerpc/platforms/pseries/hvcserver 0xc39c3704 hvcs_free_partner_info +EXPORT_SYMBOL crypto/blake2b_generic 0x32e24c8a blake2b_compress_generic +EXPORT_SYMBOL crypto/ecc 0x16e410ff vli_from_be64 +EXPORT_SYMBOL crypto/ecc 0x188a1647 ecc_is_pubkey_valid_full +EXPORT_SYMBOL crypto/ecc 0x1a5faa3a vli_mod_inv +EXPORT_SYMBOL crypto/ecc 0x4c281912 vli_is_zero +EXPORT_SYMBOL crypto/ecc 0x671f7aa5 ecc_is_key_valid +EXPORT_SYMBOL crypto/ecc 0x7c0fbb00 vli_mod_mult_slow +EXPORT_SYMBOL crypto/ecc 0x8261eccb ecc_get_curve25519 +EXPORT_SYMBOL crypto/ecc 0x8e688192 ecc_alloc_point +EXPORT_SYMBOL crypto/ecc 0x90cdc197 ecc_free_point +EXPORT_SYMBOL crypto/ecc 0x9263b417 ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x92668805 vli_cmp +EXPORT_SYMBOL crypto/ecc 0x932b6ff7 vli_num_bits +EXPORT_SYMBOL crypto/ecc 0x9f6efabd vli_sub +EXPORT_SYMBOL crypto/ecc 0xa76b31a2 crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0xb10fc19e ecc_get_curve +EXPORT_SYMBOL crypto/ecc 0xd6315f31 ecc_gen_privkey +EXPORT_SYMBOL crypto/ecc 0xd94c8eb5 ecc_point_is_zero +EXPORT_SYMBOL crypto/ecc 0xde867c29 ecc_is_pubkey_valid_partial +EXPORT_SYMBOL crypto/ecc 0xeac9b99a vli_from_le64 +EXPORT_SYMBOL crypto/ecc 0xed4ae15e ecc_make_pub_key +EXPORT_SYMBOL crypto/nhpoly1305 0x3dbd5d63 crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/nhpoly1305 0x528e6519 crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/nhpoly1305 0x54a77498 crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/nhpoly1305 0x6a03cf6c crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0x955744c6 crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/nhpoly1305 0xa0344394 crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/sha3_generic 0x4e7b757f crypto_sha3_update +EXPORT_SYMBOL crypto/sha3_generic 0x8e010673 crypto_sha3_final +EXPORT_SYMBOL crypto/sha3_generic 0xc1a5d79e crypto_sha3_init +EXPORT_SYMBOL crypto/sm2_generic 0x75f75d15 sm2_compute_z_digest +EXPORT_SYMBOL crypto/sm4 0x2b098da5 crypto_sm4_ck +EXPORT_SYMBOL crypto/sm4 0x7931a202 crypto_sm4_fk +EXPORT_SYMBOL crypto/sm4 0xf4fd3bd2 crypto_sm4_sbox +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/atm/suni 0x165c7349 suni_init +EXPORT_SYMBOL drivers/bcma/bcma 0x48e1124a bcma_core_irq +EXPORT_SYMBOL drivers/bcma/bcma 0x49d42f1f bcma_core_dma_translation +EXPORT_SYMBOL drivers/block/drbd/drbd 0x127a5901 drbd_set_st_err_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x35131b36 drbd_role_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x7730f22d drbd_conn_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0xaf27bebf drbd_disk_str +EXPORT_SYMBOL drivers/block/paride/paride 0x048cf25f pi_write_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x109032fa pi_read_block +EXPORT_SYMBOL drivers/block/paride/paride 0x1fb95d51 pi_disconnect +EXPORT_SYMBOL drivers/block/paride/paride 0x4267110a pi_register_driver +EXPORT_SYMBOL drivers/block/paride/paride 0x4857e32e pi_init +EXPORT_SYMBOL drivers/block/paride/paride 0x50ac4835 pi_do_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0x626494ae pi_read_regr +EXPORT_SYMBOL drivers/block/paride/paride 0x844f43ad pi_connect +EXPORT_SYMBOL drivers/block/paride/paride 0xb21ba07d pi_unregister_driver +EXPORT_SYMBOL drivers/block/paride/paride 0xcbd4aa30 paride_unregister +EXPORT_SYMBOL drivers/block/paride/paride 0xcfc3e604 paride_register +EXPORT_SYMBOL drivers/block/paride/paride 0xd3a3ada5 pi_write_block +EXPORT_SYMBOL drivers/block/paride/paride 0xd3cc8a70 pi_schedule_claimed +EXPORT_SYMBOL drivers/block/paride/paride 0xd7a2435b pi_release +EXPORT_SYMBOL drivers/bluetooth/btbcm 0x772e5ec7 btbcm_patchram +EXPORT_SYMBOL drivers/bluetooth/btrsi 0xbab16efd rsi_bt_ops +EXPORT_SYMBOL drivers/bus/mhi/host/mhi 0xef515eff mhi_sync_power_up +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x03bc993e ipmi_set_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0705dd14 ipmi_register_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x0bfbf01e ipmi_get_smi_info +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x12dd1e77 ipmi_set_maintenance_mode +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x1f65170f ipmi_alloc_smi_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x230094ac ipmi_smi_watchdog_pretimeout +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x465e8ecf ipmi_smi_watcher_unregister +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4c2054d7 ipmi_request_settime +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x4e73c0c0 ipmi_smi_watcher_register +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x50f65edf ipmi_set_gets_events +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x67369b42 ipmi_addr_src_to_str +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x74778a80 ipmi_get_my_LUN +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x804f922a ipmi_addr_length +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x80aa4656 ipmi_free_recv_msg +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x89a5279a ipmi_get_version +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0x96a6e5e8 ipmi_smi_msg_received +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xa107d476 ipmi_add_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xaca90ebd ipmi_request_supply_msgs +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xae71627d ipmi_create_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xd54a5050 ipmi_unregister_for_cmd +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4330a39 ipmi_unregister_smi +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe4f4665b ipmi_validate_addr +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xe98c507d ipmb_checksum +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xec1c2a90 ipmi_get_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf388b18b ipmi_destroy_user +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xf5531bea ipmi_poll_interface +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfaaa4831 ipmi_set_my_address +EXPORT_SYMBOL drivers/char/ipmi/ipmi_msghandler 0xfe0f2369 ipmi_get_maintenance_mode +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x126b8556 st33zp24_remove +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x6e190809 st33zp24_pm_suspend +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0x8b649eb7 st33zp24_pm_resume +EXPORT_SYMBOL drivers/char/tpm/st33zp24/tpm_st33zp24 0xdb973a21 st33zp24_probe +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0x1eef9047 xillybus_init_chrdev +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0x549121ac xillybus_cleanup_chrdev +EXPORT_SYMBOL drivers/char/xillybus/xillybus_class 0xd85adae4 xillybus_find_inode +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x1cdc3f31 xillybus_endpoint_discovery +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x2405d77b xillybus_init_endpoint +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x25978d50 xillybus_isr +EXPORT_SYMBOL drivers/char/xillybus/xillybus_core 0x543bcf3f xillybus_endpoint_remove +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x154bf5bd atmel_i2c_probe +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0x80a11b1d atmel_i2c_init_read_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc6540f97 atmel_i2c_enqueue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc71ed50c atmel_i2c_init_genkey_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xc80f14e8 atmel_i2c_flush_queue +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xe3a94985 atmel_i2c_send_receive +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xf283e995 atmel_i2c_init_random_cmd +EXPORT_SYMBOL drivers/crypto/atmel-i2c 0xfaab573f atmel_i2c_init_ecdh_cmd +EXPORT_SYMBOL drivers/firewire/firewire-core 0x003ef9d8 fw_core_remove_card +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0068159c fw_iso_context_queue_flush +EXPORT_SYMBOL drivers/firewire/firewire-core 0x02cd83cc fw_iso_resource_manage +EXPORT_SYMBOL drivers/firewire/firewire-core 0x0bc6094c fw_core_remove_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x1d1ecdef fw_core_handle_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0x230f3cd2 fw_iso_context_start +EXPORT_SYMBOL drivers/firewire/firewire-core 0x2885fec5 fw_get_request_speed +EXPORT_SYMBOL drivers/firewire/firewire-core 0x39d89396 fw_fill_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3a771e39 fw_core_add_descriptor +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3b08a19e fw_core_add_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3c56ef91 fw_workqueue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x3dc31293 fw_iso_context_flush_completions +EXPORT_SYMBOL drivers/firewire/firewire-core 0x4afe4fca fw_device_enable_phys_dma +EXPORT_SYMBOL drivers/firewire/firewire-core 0x6dc50487 fw_csr_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7039aee0 fw_iso_context_queue +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7615be01 fw_iso_context_create +EXPORT_SYMBOL drivers/firewire/firewire-core 0x7cf85381 fw_iso_context_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0x830f731c fw_card_add +EXPORT_SYMBOL drivers/firewire/firewire-core 0x86468d44 fw_rcode_string +EXPORT_SYMBOL drivers/firewire/firewire-core 0x8ca408c3 fw_send_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xadf32e31 fw_run_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xaedf84ce fw_high_memory_region +EXPORT_SYMBOL drivers/firewire/firewire-core 0xbc5e25b3 fw_core_remove_address_handler +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc00e60e1 fw_bus_type +EXPORT_SYMBOL drivers/firewire/firewire-core 0xc1af0b12 fw_core_handle_request +EXPORT_SYMBOL drivers/firewire/firewire-core 0xd766582d fw_iso_buffer_destroy +EXPORT_SYMBOL drivers/firewire/firewire-core 0xdc3c94f2 fw_iso_buffer_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe16bb04f fw_schedule_bus_reset +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe3fde125 fw_csr_iterator_next +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe47ffeb0 fw_core_handle_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xe80e5087 fw_csr_iterator_init +EXPORT_SYMBOL drivers/firewire/firewire-core 0xec9d3279 fw_send_response +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf1aa5965 fw_iso_context_stop +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf6651253 fw_cancel_transaction +EXPORT_SYMBOL drivers/firewire/firewire-core 0xf9e7e20e fw_card_initialize +EXPORT_SYMBOL drivers/fpga/dfl 0x87299647 dfl_driver_unregister +EXPORT_SYMBOL drivers/fpga/dfl 0xd900900e __dfl_driver_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x00029a65 drm_dp_dpcd_probe +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x01c4bba9 drm_dp_lttpr_max_link_rate +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0348c486 drm_dp_cec_set_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x055fcd2c drm_dp_dual_mode_detect +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x05795dc6 drm_scdc_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x066fb447 drm_dp_mst_get_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x06c49551 drm_dp_dsc_sink_line_buf_depth +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0949aced drm_dp_pcon_hdmi_link_active +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x09912fd5 drm_dp_downstream_debug +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0afd1a2a drm_dp_mst_dump_topology +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0fbf6f31 drm_dp_mst_get_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x0feb385e drm_hdmi_avi_infoframe_bars +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x11686b76 drm_dp_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x12f68f7f drm_dp_mst_atomic_check +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x13da748d drm_dp_aux_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x148f41cb drm_dp_pcon_is_frl_ready +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1605d0ed drm_dp_lttpr_max_lane_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x16c627c2 drm_dp_dpcd_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1709ddcf drm_dp_lttpr_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1a2aad31 drm_dp_send_power_updown_phy +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1a486054 drm_dp_dual_mode_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1a5bf3ca drm_dsc_dp_rc_buffer_size +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1a857b89 drm_connector_attach_content_protection_property +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1b0a1fdc drm_dp_lttpr_voltage_swing_level_3_supported +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x1de483c3 drm_dp_read_dpcd_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x23961837 drm_dp_downstream_max_bpc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x26815dbc drm_dp_link_rate_to_bw_code +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2983949b drm_hdmi_infoframe_set_hdr_metadata +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2c68a384 drm_scdc_set_scrambling +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x2fa94ef2 drm_dp_downstream_444_to_420_conversion +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x306db96b drm_dp_vsc_sdp_log +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x33e6da30 drm_dp_pcon_frl_configure_1 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x34b34875 drm_dp_read_sink_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x37ec39de drm_dp_get_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x38473bf3 drm_dp_cec_register_connector +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x392a838b drm_dp_downstream_max_dotclock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3a8063f3 drm_dp_dsc_sink_supported_input_bpcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3cc3260b drm_dp_pcon_hdmi_link_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x3d5b9753 drm_lspcon_set_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x404d902a drm_dp_dual_mode_set_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x45cc4e75 drm_dp_mst_deallocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4603c416 drm_dp_pcon_dsc_bpp_incr +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x461fe97a drm_dp_dual_mode_get_tmds_output +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x495a5ec6 drm_dp_mst_atomic_enable_dsc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4cd1f74a drm_dp_aux_unregister +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4ee4eed9 drm_dp_mst_topology_mgr_resume +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x4f627d07 drm_dp_read_sink_count_cap +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x51fceceb drm_scdc_set_high_tmds_clock_ratio +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5334ef61 drm_dp_atomic_find_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5407ae9e drm_dp_get_dual_mode_type_name +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x542fd899 drm_dp_cec_unset_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x566a0b8b drm_dp_dpcd_read_link_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x566f3f3e drm_dp_mst_topology_mgr_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x57017ace drm_dp_pcon_pps_override_param +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x57cd1431 drm_dp_send_query_stream_enc_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x582f248e drm_dp_get_adjust_request_pre_emphasis +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x58d8fcaa drm_dsc_pps_payload_pack +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5915e9cc drm_atomic_get_mst_topology_state +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x59f27ed7 drm_dp_pcon_enc_is_dsc_1_2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x5de944e6 drm_dp_mst_update_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6138fc85 drm_scdc_get_scrambling_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x63a477fb drm_dp_downstream_min_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x648d953b drm_dsc_dp_pps_header_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6504ba13 drm_dp_dpcd_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x658264a6 drm_dp_mst_connector_late_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6615069e drm_dp_dsc_sink_max_slice_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x66430d38 drm_dp_downstream_id +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x68d8dce7 drm_dp_downstream_is_tmds +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6a4df8c5 drm_dp_128b132b_eq_interlane_align_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6aacee47 drm_dp_128b132b_link_training_failed +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6b53e216 drm_dp_downstream_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x6f5819d6 drm_dp_mst_dsc_aux_for_port +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7053fa72 drm_dp_get_pcon_max_frl_bw +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x713eacb8 drm_lspcon_get_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x71ace35a drm_panel_dp_aux_backlight +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x73011db0 drm_dp_bw_code_to_link_rate +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x732cdc7b drm_dp_send_real_edid_checksum +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x76ff6644 drm_dp_lttpr_pre_emphasis_level_3_supported +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x77e66ec3 drm_dp_read_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x7d4a0b03 drm_dp_mst_topology_mgr_set_mst +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x80eb70bd drm_hdmi_avi_infoframe_colorimetry +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x879cbadf drm_dp_mst_reset_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x890d4632 drm_dp_pcon_convert_rgb_to_ycbcr +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8ca2d9e4 drm_dp_calc_pbn_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x8d701329 drm_dp_clock_recovery_ok +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x90f1e3c1 drm_edp_backlight_disable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x91447fad drm_dp_pcon_frl_configure_2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x92b9835e drm_dp_128b132b_cds_interlane_align_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x93267901 drm_dp_update_payload_part1 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9533e95c drm_dp_dual_mode_write +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9a9381ac drm_dp_check_act_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9bfdc801 drm_dp_mst_get_edid +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0x9e42e0c7 drm_dp_aux_register +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa1fefe6a drm_dp_psr_setup_time +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa4196008 drm_dp_pcon_hdmi_frl_link_error_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa4f68939 drm_dp_cec_irq +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa7c6ceca drm_dp_mst_connector_early_unregister +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa7d42e9b drm_edp_backlight_enable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xa91fc6f1 drm_dp_mst_hpd_irq +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xad2fd8e5 drm_hdcp_update_content_protection +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xadb1f578 drm_dp_read_lttpr_phy_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xaf267620 drm_dp_lttpr_count +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb3c540fa drm_dp_mst_allocate_vcpi +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb4965f75 drm_dp_pcon_pps_override_buf +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb5d0770c drm_dp_mst_topology_state_funcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb6e2a8a1 drm_dp_get_vc_payload_bw +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xb742914d drm_dp_mst_add_affected_dsc_crtcs +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xbb7d64cd drm_edp_backlight_set_level +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xbc996cb6 drm_dp_lttpr_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xbe67248b drm_dp_cec_unregister_connector +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xbf99a038 drm_dp_read_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc020c0c1 drm_dp_pcon_dsc_max_slice_width +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc2176797 drm_dp_mst_topology_mgr_destroy +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc32031a5 drm_dp_mst_detect_port +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc56b81fb drm_dp_link_train_clock_recovery_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc5c99a79 drm_dp_get_adjust_request_voltage +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc79ecffb drm_dp_downstream_is_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xc8b6a8ae drm_dp_128b132b_lane_channel_eq_done +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xcac30e5b drm_dp_read_lttpr_common_caps +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xccf54d5e drm_dp_get_adjust_tx_ffe_preset +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xcf3f1982 drm_dp_mst_topology_mgr_suspend +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd0658cc4 drm_dp_pcon_reset_frl_config +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd10f1a26 drm_dp_pcon_frl_enable +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd12f4761 drm_dp_start_crc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd3a0e9fb drm_dp_stop_crc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd598e552 drm_dp_128b132b_read_aux_rd_interval +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd5a95eae drm_dp_128b132b_lane_symbol_locked +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xd9ed7717 drm_dp_read_mst_cap +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xdaa94773 drm_dp_update_payload_part2 +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xdb7f7d3a drm_dp_set_phy_test_pattern +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xdd04587f drm_edp_backlight_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe22db046 drm_dp_dual_mode_max_tmds_clock +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe38e88a8 drm_dp_read_downstream_info +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe5360b84 drm_dp_pcon_dsc_max_slices +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe74e6ca0 drm_dp_read_desc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xe9ff71c8 drm_dp_remote_aux_init +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xeb1c3efd drm_dp_dpcd_read_phy_link_status +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xedcf81ce drm_dp_channel_eq_ok +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf5a089ed drm_dp_pcon_frl_prepare +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf68741fb drm_dp_subconnector_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf689ad25 drm_dp_downstream_420_passthrough +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf817393b drm_scdc_read +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xf93647d1 drm_dp_pcon_pps_default +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfa953954 drm_dp_link_train_channel_eq_delay +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfb1a7a5a drm_dp_downstream_rgb_to_ycbcr_conversion +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfb422e48 drm_dp_atomic_release_vcpi_slots +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfb62b0fe drm_dp_set_subconnector_property +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfc064dcf drm_dp_mst_put_port_malloc +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfcb1466b drm_dp_downstream_mode +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfd0e9e1f drm_hdmi_avi_infoframe_content_type +EXPORT_SYMBOL drivers/gpu/drm/display/drm_display_helper 0xfe12bcb9 drm_dsc_compute_rc_parameters +EXPORT_SYMBOL drivers/gpu/drm/drm 0x004e83dd drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00928497 drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0123567c drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x014589f4 drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01df39f7 drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03c63897 __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03f46c8a drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0414c0a0 drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x052f7251 drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x056a852f drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x06e648c8 drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07d33e43 drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0822e445 drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x08352e86 drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x084e6e8d drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x092f23b5 drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a8b8c1b drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c4bf8d4 drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d1b4a92 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d9b4753 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0df74279 drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e29ae80 drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0eada1d4 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f7acb66 drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fd60df2 drm_get_connector_status_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x107742a9 drm_get_subpixel_order_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10c7a66b __drmm_crtc_alloc_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x110b25c8 drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11495bb2 of_drm_find_panel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x117e2efa drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x11ec0351 drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1340ae09 drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1340e47f drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1561bde7 drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x162df9c5 drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1960d383 drm_color_lut_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0x196dd4ea drm_atomic_print_new_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x19823de1 drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a8488fe drm_connector_attach_privacy_screen_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1afaeea1 drm_panel_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1bb8e396 drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1c123439 drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1da70795 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1de54ebd drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1df04a2d drm_object_property_get_default_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e07cd90 drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e4213f7 drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e832cfb drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1ef11014 drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0x204d2b11 drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x20afa31b drm_connector_attach_hdr_output_metadata_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2295bdf5 drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x22ee6738 drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2311746e drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24993e50 drm_edid_are_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24d124ac drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24d221db drm_mode_plane_set_obj_prop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24d2b9a1 drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24e94ee2 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25394d9f drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x253bd3ac drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x258481a9 drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26387430 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26472c32 drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26a4d24a __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26d5b626 drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26ed213a drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28305dbc drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28659d7e drm_connector_update_privacy_screen +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28779e52 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x289ec00d drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28eb141c drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29f078d1 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29f5de87 drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a962499 drm_mm_scan_init_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ac4b0a7 drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2b51f703 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2dee5b2e devm_aperture_acquire_from_firmware +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2eccd96f drm_of_component_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ed3c600 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3010fb46 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30c65586 drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32a0cc37 drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32e0beb8 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33ea31e7 drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x352b3dc7 drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x361b4dc9 drm_crtc_create_scaling_filter_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3630e912 drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x366a7593 drm_plane_get_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38690d99 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3995f76c drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39b497b2 drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39cca02e drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a0c7241 drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a759ac6 drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a7b5ebc drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3aaf2a0c drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ab87110 drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b0e5e9c __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3bcb7d0e drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3c4a72ee drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cbd27da drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cdc37e9 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e2f52d2 drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3e686b5a drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f211584 drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f405489 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ffe2081 drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x405c09b7 drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x421d290f drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0x436c11b8 drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4403a9c3 drm_mode_get_hv_timing +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44a2cadb drm_prime_sg_to_dma_addr_array +EXPORT_SYMBOL drivers/gpu/drm/drm 0x453ed322 drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4575a0ca drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x46415031 drm_connector_attach_privacy_screen_provider +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4649421a drm_send_event_timestamp_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47450a0d drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47e4bd66 drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x483c6ee1 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4888d3fb drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49027c65 drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0x49d7af5a drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a214036 drm_bridge_chain_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a29fdde drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a35d30d drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b685ea1 __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4becd110 drm_connector_set_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c349b82 drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c67f40b drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4c935dfe drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4cf528de drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4da7c875 drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e25c090 drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e48af27 drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e877075 drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ec81fb3 __drmm_encoder_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4fc72ab2 drm_panel_of_backlight +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4fcfaddf drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x506fd7de drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50c7b86a drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50eb3408 drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x513072fe __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51a684d1 drm_of_crtc_port_mask +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51fdc680 drm_edid_get_panel_id +EXPORT_SYMBOL drivers/gpu/drm/drm 0x520d88e3 drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x521ad6d0 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5287a73f drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5297edea drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x52c1a069 drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x53e72dda drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x54253eb0 drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56e76ff1 drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x56fa6755 __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57698a50 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57b6efe3 drm_ioctl_flags +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57dad725 drm_connector_attach_dp_subconnector_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57f3ab01 drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x596ccb5f drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a5cd426 drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5aec6af7 drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b4e3cc6 drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b664561 drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e5ffcde drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5e66aa57 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f32059f drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f94edbc drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x602ef289 drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x604692c4 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6058c722 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6150e36f drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0x629183a9 drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65702bd6 drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65a8c51c drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6677a3bb drm_framebuffer_unregister_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66aa4126 drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x67fbd951 drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6858bc2e drm_aperture_remove_conflicting_pci_framebuffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ac01ea8 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6be11f56 drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c3ce089 drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c4cc6ac drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6c61f039 drm_prime_sg_to_page_array +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ca4e06f drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d44368a drm_modeset_acquire_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d58d43a drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d9af596 drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6dd3b401 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ef2f78e drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f8d0311 drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x702da259 drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x71a71c39 drm_release_noglobal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x726def4b drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72d9a6a9 drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x759376f2 drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x75c42ca5 drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76157af6 drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76bbc9a8 drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x76f1db36 drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0x771a0702 drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77398ea5 drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x790c9ea4 drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x79925fbc drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b420931 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7b9024a0 drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c545285 drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c8be08a drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7cd48bc7 drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e3fe815 drm_mode_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e65b3f2 drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ed8fc22 drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edf470b drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ee8c851 drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80c40faa drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0x80eb0216 drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8140f33b drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81c74ff0 drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83523553 drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x836a0701 drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x838bfa37 drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83b154e8 drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83fae886 drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8440cb51 drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0x84c89552 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8567861c drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8593efa6 drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x867fda60 drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0x86dae462 drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x86e6227a drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8737d444 drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x87795c7d drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x889b4cbd drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x88eee36c drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8907ac9c drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8953ee89 drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89765418 drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8a3484e5 drm_plane_create_scaling_filter_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b1e6537 drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8b517508 drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8bf6630e drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d2ca9af drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d72789e drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d974388 drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8eda9c35 drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8efe4fec drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x900e6795 drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95997d49 drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95dc4443 drm_connector_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x95ea5437 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96a62e0a drm_gem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x972680c9 drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9790a9e9 drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97fe5ce6 drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98397613 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99f9fdcb drm_plane_get_damage_clips_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9a010e42 drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ab9b1dc drm_plane_create_alpha_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ad52f38 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b285573 drm_match_cea_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b95c885 drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b9de1c1 drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c0b6bc4 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9cabcc2b drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ce050be drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9db97adf drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e0984a4 drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e7b1f04 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e8368f3 drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e8de75e drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fc1f8a2 drm_property_replace_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa0e715e0 drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1302248 drm_connector_atomic_hdr_metadata_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa21de7ec drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa24377c1 drm_crtc_commit_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa248afde drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa29f7a16 drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa38c4c94 drm_memcpy_from_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa3aaf50c drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa412ee32 drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa486e942 drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa4a2dd88 drm_gem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa609fadc drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6357872 drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa759dd32 drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa847f0ce drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa88fb92f drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8b138f9 drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa94a409f drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa97cb47b drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa9a06efc drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa38d02f drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa7dce2a drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaba31317 drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad4e902b drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad612d15 drm_connector_attach_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae277372 __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae285f09 drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae31ac30 drm_connector_oob_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf1811f3 drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf5296a5 drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xafcb14de drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0b05ff5 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb116063b drm_vblank_work_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb11ac7a7 __drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1418409 drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb22dfd68 drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2dfc6db drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb2f056ba __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3d74a6d drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4032484 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb555d90b drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6127243 drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb77f7717 drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb80ff0af drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9cad492 __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbb5971e5 drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbbeae9e9 drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbbfe3ab1 drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc101d5b drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc53ba45 drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbce7b167 drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd06c712 drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbec0ca95 drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc176ea72 drm_writeback_connector_init_with_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2847f30 drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc2d4c155 drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc333b5bf drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc33b453d drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3c4c11d drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc413a261 drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5cc59a0 drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5dc264b drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6cdfa53 drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc70d7365 drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc7928514 drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc82fa8f5 drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8772ba2 drm_of_find_possible_crtcs +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc883a284 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc942723d drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc9c75bca drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc9e5b7da drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca190085 drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca43806e drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcabf4b31 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcac2685d drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcb5caae3 drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcc5ff6ab drm_file_get_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0xccc59759 drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd071514 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdb99cc9 drm_mode_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xce7ce1f4 drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcef5b29a drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcf3f200d drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd01567ba drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd05fda43 drm_prime_get_contiguous_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13f9985 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd31d350c drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3611c7a __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd4d74cc5 drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd509bcd9 drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd62f7637 drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd680a377 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd6ab1e03 drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7190c88 drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd79d12a2 drm_aperture_remove_conflicting_framebuffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7a9cf42 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd83020af drm_client_framebuffer_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9714c4a drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda7e2868 drm_sysfs_connector_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda80f983 drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda99818e of_drm_find_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb1652c4 drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb73c537 drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdcca352f drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0xddc34deb drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdef158a8 drm_vblank_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf3f760d drm_mm_scan_color_evict +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf666902 drm_rotation_simplify +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdfe5bbee drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe036b225 drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0525792 drm_vblank_work_schedule +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe1121f83 of_drm_get_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe317082a __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe43b5e1e drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe4ce5e90 drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5461eee drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe5b6ec85 drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe607c64e drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a034df drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe919f0c6 drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea00fe81 __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea314fb3 drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea68d5d0 drm_atomic_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea69c49f drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeaa4f75d drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec12af74 __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec51a608 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec6535f1 drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0xece0ac0c drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed97ed02 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0xee19b622 drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeef45242 drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeef8d9f5 drm_client_modeset_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf00d9b9f drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0517d7a drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf166ef8b drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf196167e drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1b5340a drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1c0a1e4 drm_connector_create_privacy_screen_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1efe1b4 drm_display_mode_from_cea_vic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2d960df drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2e36bdc drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2f449bb drm_connector_attach_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3333488 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf406e46a drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf4b6bffb drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf5fb3b8e drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf6b465f2 drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf824c7db __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf89116ec __drmm_universal_plane_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa4e53bb drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb33ad46 drmm_mutex_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb521e00 drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb6e8f5e drm_vblank_work_cancel_sync +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc806a72 drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfcd57462 drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd28d577 drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfeb953b1 __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfef35602 drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff242526 drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffe5068a drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm_cma_helper 0x5a217b71 drm_gem_cma_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_cma_helper 0xff055ea7 drm_gem_cma_prime_import_sg_table_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0053a1a6 drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x00fcd21a drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x04f0878e drm_gem_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x062d3552 drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06c1eff4 drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06f5297a drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0befce9b drm_gem_simple_kms_prepare_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0bf03b7d drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0e2287b1 drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0e51aa1f drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0f05d8f8 drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0f371d66 drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0f439c81 __drmm_simple_encoder_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0fd14f06 drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0fd2d263 drm_fb_xrgb8888_to_mono +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1048f9d5 drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x12305db4 __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x12ae64b9 drm_gem_simple_kms_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x16138342 drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1b9a7ca6 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1c5fca52 drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1cc2ad43 drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1dd9d403 drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1ef0a90a drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x20b6d5ed drm_gem_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x20e70aac drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x20ed7143 drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x24573444 drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2645a058 devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x271bd6de __drm_gem_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x28315689 drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x28498632 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2b452fb9 drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c20e981 drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2db501cd drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2dd8aea3 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2e51fdf0 drm_fb_xrgb8888_to_xrgb2101010_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x30a996fe drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x31231ad2 drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x316254b6 drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x347f3c49 drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x36568e4e drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x379250e7 drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3795878d drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x390bc569 drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3c57f9ad drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3fe06e87 drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x411d4263 drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x42ac63cb drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4338c4d6 drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4370d5f2 drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x45074be0 drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x45fd3d95 drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x46a50bec drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x474a4ebe drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x47b6fb4f __drm_gem_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x48e9c10e devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x49573cbc drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4ae649ef drm_fb_swab +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4bfe778b drm_gem_simple_kms_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4e34c655 drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4f42fb8e __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x500bff8f drm_fb_xrgb8888_to_rgb888_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x503771cd drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x514622b1 drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x517fb255 drm_fb_xrgb8888_to_rgb888 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x51dd5303 drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x53c52d7e drm_kms_helper_connector_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x56ce88eb drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x58a33e23 drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x596a9b58 drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5ac13fdf __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5c1dac43 drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5c7bba75 drm_gem_simple_kms_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x60bc7ad1 __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6676aea6 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x668e2af3 __drm_gem_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x682da90f drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x68fe4ace drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6976c792 drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6ad6bd4a drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6cee4374 drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x71c72b41 drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x71d4ee47 __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x729a6a0c drm_gem_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76e0f2a4 drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x78ecd95e drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7a1fd779 devm_drm_of_get_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7c96c175 drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7cb70cc5 drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7d5ee7e4 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7d7f9dc4 __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7dc27dad drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7e1423d4 drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7e8a2974 drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7ed5dd4d drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7eed3665 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x80f3ef5a drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x82cb615c drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x83ba5952 __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x871ab41a drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x880b395f drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x88e900a9 __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8b2ab733 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8c50b2eb drm_gem_fb_end_cpu_access +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8cab71b1 __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8f92f24f __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x90d1fe04 drm_fb_xrgb8888_to_rgb332 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x913c7989 drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x913d84cb drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x914ca49c __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x91fec1cc drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92efae8c drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x937787c1 drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x94e39d7b drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x95ea1287 drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x99e44bd3 drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x99fd20aa drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa32b17ba drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa34b0071 drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa3ea6fd9 __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa4768b48 drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa47a58cf drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa9480bfb drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaa55960a drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xab8fdc7a drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xad6bcefa drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb053adda drm_rect_rotate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb0c8d1ad drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb1238b4f drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb20b4eaf drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb387c752 drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb6c42fa0 drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb7b7983a drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xba8ad610 drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbb74664f drm_fb_xrgb8888_to_rgb565_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbefe8ae6 drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbf30eb34 drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc24adc01 drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc252df93 drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc65c03b6 drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc860616d drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc8869b3c drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc9d2971b drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xca6eef93 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcaf02796 drm_gem_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcb2340b8 drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcbca3514 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcd4c52d3 drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcef3a0bf drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcf11a549 drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcf4305fd __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd031a4e6 drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd1be80cc drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd3330d26 drm_atomic_helper_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd7004584 drm_gem_prepare_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd8b87907 drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd8d4fb45 drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd90731f8 drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdacb51f0 drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdd0a2c9c drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdd933138 drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xde883e66 drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdebab7bf drm_connector_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdfa3393f drm_fb_blit_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdfdefa4f __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe042492d drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe12b9b17 drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe392c68a drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe4209e31 drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe504a13b drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe5bc6205 drm_gem_fb_begin_cpu_access +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe65bfb5f drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe6638c1e drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe773d39d drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe8bf586f drm_gem_fb_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe94d7486 drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xee7da103 drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeeb9f577 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf00633c1 drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf06da729 drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf0a6e129 drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf17b0058 drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf30db916 drm_fb_clip_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf5500eda drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf71311bb drm_gem_cleanup_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf7cb6240 drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf84273e9 drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf871ea60 drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf8adc0cd drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf98bab25 drm_fb_memcpy_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf9e3bfa7 drm_gem_simple_kms_cleanup_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfad4d99d drm_gem_fb_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfb52554a drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfdc2db0a drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfefba36f __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x023f06df mipi_dbi_dev_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x09f51cea mipi_dbi_poweron_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x1c4e5cc7 mipi_dbi_spi_cmd_max_speed +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x1fa0ec2f mipi_dbi_command_read +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x4030bd12 mipi_dbi_pipe_update +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x428de2d8 mipi_dbi_spi_transfer +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x4f901145 mipi_dbi_hw_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x5795b6b1 mipi_dbi_display_is_on +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x6537014c mipi_dbi_spi_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0x7420a061 mipi_dbi_buf_copy +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xb25526c5 mipi_dbi_poweron_conditional_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xcb126582 mipi_dbi_enable_flush +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xe8566182 mipi_dbi_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xf038c951 mipi_dbi_dev_init_with_formats +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xf3ae9ba9 mipi_dbi_pipe_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xf3fd49ed mipi_dbi_command_stackbuf +EXPORT_SYMBOL drivers/gpu/drm/drm_mipi_dbi 0xff780155 mipi_dbi_command_buf +EXPORT_SYMBOL drivers/gpu/drm/drm_panel_orientation_quirks 0x2e439142 drm_get_panel_orientation_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x1a1a828c drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x2e3ff7a2 drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x2f692ca1 drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x6c686c5b drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x6d1e8c90 drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x6d866a37 drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xae22f784 drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xdf374259 drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xe2f89923 drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xfe7e6783 drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x07e0fc8f drm_gem_ttm_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x1d4ac3c8 drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x242cb2f7 drm_gem_ttm_dumb_map_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x2ae90f81 drm_gem_ttm_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x2c549f3b drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x0b10be6c drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x1dd2cf7f drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x3d2cfa97 drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x4fdf8b42 drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x51cb82f6 drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x5fea0230 drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x6c9f5ed9 drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x88be2528 drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x8f055e3c drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x91773dea drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x97afff29 drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x9a527830 drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xbe421732 drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xc563e791 drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xe4b3dd44 drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xed1b1cfa drmm_vram_helper_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x042743c1 drm_sched_reset_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x0ac00e20 drm_sched_entity_destroy +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x0adff89c drm_sched_resubmit_jobs +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x35589649 to_drm_sched_fence +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x47452442 drm_sched_entity_push_job +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x48cdb194 drm_sched_job_add_implicit_dependencies +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x4d8613d1 drm_sched_entity_modify_sched +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x5281f679 drm_sched_job_add_dependency +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x5fbb8043 drm_sched_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x6134be0d drm_sched_entity_set_priority +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x6450234c drm_sched_start +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x6f179e9c drm_sched_entity_flush +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x719e98ce drm_sched_job_arm +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x7e885d1b drm_sched_entity_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x85836bf9 drm_sched_fault +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x8ba03921 drm_sched_suspend_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0x99174a87 drm_sched_dependency_optimized +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xa93e9e2f drm_sched_job_init +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xb1e2d560 drm_sched_job_cleanup +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xb68f3c18 drm_sched_pick_best +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xbb71cb52 drm_sched_fini +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xc92f1863 drm_sched_resubmit_jobs_ext +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xd7502703 drm_sched_stop +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xe34b926a drm_sched_increase_karma +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xe829de3b drm_sched_resume_timeout +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xfc85dc5d drm_sched_increase_karma_ext +EXPORT_SYMBOL drivers/gpu/drm/scheduler/gpu-sched 0xfccc6559 drm_sched_entity_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0043efb3 ttm_lru_bulk_move_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x006c7ba0 ttm_agp_tt_create +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0174671e ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x035acf25 ttm_bo_vunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x05d265a0 ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0e54cda3 ttm_range_man_init_nocheck +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x13b19b0c ttm_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x141ed191 ttm_bo_set_bulk_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1a71d30c ttm_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1e91976d ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2006e910 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2609dcdc ttm_device_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x283901a4 ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2bbdae34 ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2c29a433 ttm_pool_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2e9b0cc1 ttm_kmap_iter_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2f128a86 ttm_agp_is_bound +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x346d9a57 ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x399d60ab ttm_bo_vm_access +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4623cc14 ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4e04987f ttm_device_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x52701b7d ttm_bo_move_sync_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x538f4721 ttm_resource_manager_usage +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x55a26b31 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5b15d453 ttm_bo_vmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5b5e743a ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5f263760 ttm_kmap_iter_iomap_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5f5d3c6c ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5fbd69e0 ttm_range_man_fini_nocheck +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x60decb1a ttm_bo_pin +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x62b790fc ttm_agp_bind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x63d63908 ttm_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x65a38158 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x686a9598 ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6a99b4d9 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6ca11073 ttm_resource_manager_debug +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6d38cfe2 ttm_bo_unpin +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7a15fc95 ttm_resource_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x84a05977 ttm_agp_unbind +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x936b8e34 ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x939213b1 ttm_resource_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9719a28f ttm_pool_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9841c9a3 ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9e898aa2 ttm_resource_manager_evict_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x9e97bca7 ttm_resource_manager_create_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa25bc6d0 ttm_bo_vm_dummy_page +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa7f665c1 ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa95af7fc ttm_device_clear_dma_mappings +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xaa8b3f2c ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xad1a9d57 ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb0b767d9 ttm_resource_manager_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb0e5bff2 ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb368512f ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbcb236ae ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xcd2dcb34 ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd155a525 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd274b002 ttm_agp_destroy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd46de77a ttm_resource_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd5672ff8 ttm_pool_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe3135f7e ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe985e781 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xea576780 ttm_lru_bulk_move_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xeebeade2 ttm_global_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xeef3c357 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf5be3eee ttm_resource_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf60bd19b ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xfa6210a4 ttm_bo_mem_space +EXPORT_SYMBOL drivers/hid/hid 0xed8540f9 hid_bus_type +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x2f9e7f8e vid_which_vrm +EXPORT_SYMBOL drivers/hwmon/hwmon-vid 0x446615bd vid_from_reg +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xc1e7568d i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xc7b6d7ed i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xe4adef29 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x08f39f41 i2c_pca_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-pca 0x7edbb8ec i2c_pca_add_bus +EXPORT_SYMBOL drivers/i2c/busses/i2c-amd756 0x04811a1c amd756_smbus +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x10a4c688 qcom_adc5_hw_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x1fcd0103 qcom_adc_tm5_gen2_temp_res_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x39885d6b qcom_adc_tm5_temp_volt_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x401dc869 qcom_vadc_scale +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x47f699dd qcom_adc5_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x4e64cdb9 qcom_adc5_hw_settle_time_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x53546ecd qcom_adc5_avg_samples_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0x70e6eca1 qcom_vadc_decimation_from_dt +EXPORT_SYMBOL drivers/iio/adc/qcom-vadc-common 0xc61e7a34 qcom_adc5_prescaling_from_dt +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x713206e2 iio_triggered_buffer_cleanup +EXPORT_SYMBOL drivers/iio/buffer/industrialio-triggered-buffer 0x76a1ca3a iio_triggered_buffer_setup_ext +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xa555b412 iio_kfifo_allocate +EXPORT_SYMBOL drivers/iio/buffer/kfifo_buf 0xd78468dc iio_kfifo_free +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0x355052e2 mpu3050_common_probe +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0xf998ce0a mpu3050_dev_pm_ops +EXPORT_SYMBOL drivers/iio/gyro/mpu3050 0xfd2067d5 mpu3050_common_remove +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x291e0d0c hts221_pm_ops +EXPORT_SYMBOL drivers/iio/humidity/hts221 0x84951940 hts221_probe +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xa2d4569d bmi160_regmap_config +EXPORT_SYMBOL drivers/iio/imu/bmi160/bmi160_core 0xca19cfae bmi160_enable_irq +EXPORT_SYMBOL drivers/iio/imu/fxos8700_core 0x6fdc7a01 fxos8700_regmap_config +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0x01c4ca5c st_lsm6dsx_pm_ops +EXPORT_SYMBOL drivers/iio/imu/st_lsm6dsx/st_lsm6dsx 0xacc5941c st_lsm6dsx_probe +EXPORT_SYMBOL drivers/iio/industrialio 0x13bf6185 iio_trigger_poll_chained +EXPORT_SYMBOL drivers/iio/industrialio 0x1c640d57 iio_trigger_validate_own_device +EXPORT_SYMBOL drivers/iio/industrialio 0x2420e8ca iio_trigger_using_own +EXPORT_SYMBOL drivers/iio/industrialio 0x29a618da iio_device_alloc +EXPORT_SYMBOL drivers/iio/industrialio 0x29cea8ef iio_trigger_free +EXPORT_SYMBOL drivers/iio/industrialio 0x2bf9fcba iio_read_const_attr +EXPORT_SYMBOL drivers/iio/industrialio 0x2cd7c72d iio_read_mount_matrix +EXPORT_SYMBOL drivers/iio/industrialio 0x2d6bcdcb iio_trigger_generic_data_rdy_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x31842fe4 iio_push_event +EXPORT_SYMBOL drivers/iio/industrialio 0x3c4a6410 iio_trigger_set_immutable +EXPORT_SYMBOL drivers/iio/industrialio 0x528af7eb iio_bus_type +EXPORT_SYMBOL drivers/iio/industrialio 0x6c3f16c9 iio_device_get_clock +EXPORT_SYMBOL drivers/iio/industrialio 0x7dc3973d __iio_trigger_register +EXPORT_SYMBOL drivers/iio/industrialio 0x83b47a7e iio_device_free +EXPORT_SYMBOL drivers/iio/industrialio 0x85134485 iio_buffer_init +EXPORT_SYMBOL drivers/iio/industrialio 0x8cba866c iio_trigger_poll +EXPORT_SYMBOL drivers/iio/industrialio 0x9cec7a97 iio_trigger_notify_done +EXPORT_SYMBOL drivers/iio/industrialio 0xb7c538e7 iio_get_time_res +EXPORT_SYMBOL drivers/iio/industrialio 0xbb38a805 __iio_device_register +EXPORT_SYMBOL drivers/iio/industrialio 0xc2b6975f iio_device_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xd01a820e iio_trigger_unregister +EXPORT_SYMBOL drivers/iio/industrialio 0xd47931b7 iio_get_time_ns +EXPORT_SYMBOL drivers/iio/industrialio 0xdf76bbeb iio_pollfunc_store_time +EXPORT_SYMBOL drivers/iio/industrialio 0xf0c2000f iio_device_set_clock +EXPORT_SYMBOL drivers/iio/industrialio 0xf187228d iio_trigger_alloc +EXPORT_SYMBOL drivers/iio/industrialio-configfs 0x30eaf9e9 iio_configfs_subsys +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x17835611 iio_sw_device_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x6e2cc05a iio_unregister_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x7d30a749 iio_register_sw_device_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-device 0x8b9914f2 iio_sw_device_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0x0c114ae1 iio_register_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xafe01a9d iio_sw_trigger_destroy +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xc5125992 iio_sw_trigger_create +EXPORT_SYMBOL drivers/iio/industrialio-sw-trigger 0xd6e76719 iio_unregister_sw_trigger_type +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0x88c35fb6 iio_triggered_event_cleanup +EXPORT_SYMBOL drivers/iio/industrialio-triggered-event 0xec31a8aa iio_triggered_event_setup +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x51ba2786 bmp280_regmap_config +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0x5b433ab2 bmp280_dev_pm_ops +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xb64ff753 bmp280_common_probe +EXPORT_SYMBOL drivers/iio/pressure/bmp280 0xbb3cfae4 bmp180_regmap_config +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x1776a43c ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x210dc0ef ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x231f96eb ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x355301aa ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x3d9b0188 ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x4c48ae01 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x5840c8c1 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x59a9e318 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x80d7141d ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x86c457ad ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xba341d56 ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xbde47cea ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xdf43e5a5 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe2e9dd08 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xe444b628 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00236780 rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x00cd25ea ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x02370750 _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x02464cdd ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x035f96f0 rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x040c06e0 ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x04b267db ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06bf6dfc rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x07272aed ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x08e61403 ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0958d9eb rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x099facf6 rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a23f32a rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a28bdef rdma_alloc_hw_stats_struct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0ab812ea rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x116cde7a rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x12ac2fab rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x15d9bb68 ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x167128d6 ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1722c3a0 rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x17847410 ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1a43971f rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b037462 __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b745a6c ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1c023aa0 rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1e2f2107 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1f28c50a ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2059afa3 ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x20d3e885 rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2214ed3a rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x22f3cf93 ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2387172b rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x23b40385 ib_port_sysfs_get_ibdev_kobj +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x24e56c76 rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x25bd7d7c ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x26b9b8f8 rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x279d853d ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2880923c ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x29c6c033 rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b0ef8c3 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2ee6619d ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x33d04351 rdma_restrack_add +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x34666cc0 rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x37264e89 ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x37b3cf80 rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x37f599cf rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x37f9d244 ib_port_immutable_read +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c6bf983 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c876bf5 ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3db45717 ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3efe89a2 rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f931c90 ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x41a4bf91 ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x420ff96a rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x434c5d10 zgid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4488f05f rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x470f18c9 rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4773d2cb ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4b889551 ib_qp_usecnt_dec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e155af0 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e90435c ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e91b766 ib_create_qp_kernel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4ee4e4ec ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4ef5205a rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4f90d83a rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4fa6dfec ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50eec77d rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x52b8a76c rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x532448a9 __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x538e67e9 ib_qp_usecnt_inc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55bb02f3 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55dc77e4 ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x57486c91 rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x57774fe3 rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58df5b94 ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5a88bc02 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5e91825f ib_cq_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5f5a4225 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6136aab7 ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x613b1e2e ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61d24c52 ib_rate_to_mbps +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6486a361 ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x65b0444e ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x66150ffd rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x686bb2f7 ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6acf23d2 ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x71a03fac ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x72bc42fd ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x73baf9a2 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x74ee39e4 ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x74fffce8 ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x77b2db23 rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7860914b ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x79141a63 ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7921a66f ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7bac529f rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7e079aed ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7e6d9d31 rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7e759c38 ib_port_unregister_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7f1fef64 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7f831337 ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7fc86157 rdma_restrack_new +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x82a0cc68 ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x82c6a2f1 ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x83b45572 ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x84747b26 ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x85625dce ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86a1fa81 ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86cef180 rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8a58f078 ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8ad3d20b ib_port_register_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8c73843d rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8c8163e4 ib_create_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e7528da __rdma_block_iter_next +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8fd21e88 rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90e807c7 ib_cache_gid_parse_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x93fb488f ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x943682d4 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x95801474 rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x95b8b3d8 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9602659d ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x975ff2b9 ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9992ea5b ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9ab60cd5 rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9b40bc5f ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9bac2a07 ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9cfc6a61 ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9e3cb8fd ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9f16f02e rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa2e8fa25 ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa432baf6 ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa59d2a71 rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa68b782c rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa6e8205a ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa936c233 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xab8f1ba1 ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xadd1924d ib_dealloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xadda3576 rdma_restrack_parent_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae810034 rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae956dce ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb17c6fa7 ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb18819b9 roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb2e5f5e5 rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb36e4148 ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb37b0ba2 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb457d04c ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb48e992d ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb53964ec ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb54617c5 rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7852a05 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7d0b97a ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb96419f1 ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xba74c0f1 ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbf07dfa4 __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc0484bc3 ib_destroy_wq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc0a6fef0 rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc37ec7e5 ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc4529808 ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc454e022 ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc569de7d rdma_move_grh_sgid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc789baf9 rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc7d02926 rdma_restrack_set_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc903b2d3 ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcb88ba5c rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcd293466 rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcd94f1c7 rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcddb9603 ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcfbc053b ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd224494c rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd272c670 ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd34635d0 rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd520381c rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd65ac7e2 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6636ca6 rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd68d3f6d ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd75e8e99 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd848907f ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd8aca3dc rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd98a6875 ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd9f36770 ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda790a4e ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xde3164ff ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdf68b6fc rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe216e49d ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe30f4f8a ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe3999fb2 ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5840ec6 ib_wc_status_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5a78c1e ib_sa_unpack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7b52e5f mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe8e8427b rdma_link_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9e799fc ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeba9233b __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xebd41c09 ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xec390658 ib_alloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xecac9d17 ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xef4be647 __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xefb0b60d ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf00d2546 ib_alloc_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf0255e50 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf07bdad4 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf197be0a ib_dma_virt_map_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf30183aa ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf3305129 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5dedb30 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf60e5ed0 rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6141955 ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6245ad6 ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf69b874f rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6ed3334 ib_event_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf74ccb9a rdma_free_hw_stats_struct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf8971974 ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf923d91b ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfcbfe643 ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xff3d570c rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xff4a557a ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xffff3074 rdma_query_gid_table +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x002e471f ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x03817758 ib_umem_dmabuf_unmap_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x0dad56f5 uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x10c86cfe _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x11018db6 uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x186dda7a uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x242935a9 ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x278ece68 ib_umem_stop_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x2bea3691 ib_umem_dmabuf_map_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x342e3301 uverbs_copy_to_struct_or_zero +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x349fdb1b ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x37b937eb _uverbs_get_const_unsigned +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3d883fc3 ib_umem_dmabuf_get_pinned +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x4fb8f44c uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x574e27a1 ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x57a98d2f ib_umem_activate_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x582255ef ib_register_peer_memory_client +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x59421d84 _uverbs_get_const_signed +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5ae6b589 ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x76284ff1 uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x78add33d ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x85cde0d4 ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x88a24d82 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8edcf8bd uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x907df2da uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x9105407b ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x92dd0409 flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x93528e92 flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x9b6a877d ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xb4fbc81b ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbde5c050 ib_unregister_peer_memory_client +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc0255f8e uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc3a52a67 ib_umem_get_peer +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xcd886ae6 uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd69a6da5 ib_umem_dmabuf_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd72c35ad ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe748ced8 ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf7391a44 ib_umem_odp_map_dma_and_lock +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x252244a6 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x318f9112 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x76023b3c iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x8f55353b iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xa6520528 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xdff73aa0 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xe142ae3e iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3df871f iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xfc8f3200 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x007f6dc4 rdma_unlock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x02d646dd rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x03fed368 rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0e3132bb rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0fcee4b7 rdma_create_user_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x148f62fe rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1cf6e3b2 rdma_connect_locked +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x31e7ad78 rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x3900949f rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x45b29d3f rdma_lock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x51737f2d rdma_set_min_rnr_timer +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x59e8fb70 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x60f065c3 rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6d61e09c rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x766b1050 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7e9c792d rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x80ee2739 rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x837baa36 rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8515fcef rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x87707cfd __rdma_create_kernel_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x8fe9b179 rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x907df803 rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x98c44db7 rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa2b703fd rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa4c508c5 rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa6ceb137 rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc37b429a rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc51e5011 rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc96f752f rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcdce5b01 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd41de65a rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xe24c0b9f rdma_listen +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xed7c27a7 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf5858724 rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xfd3a9a4f rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x062d24b6 rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x2dfa5ac7 rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x3cd54c9d rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x5455964b rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x9250cedf rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xa876b669 rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xf3449ba9 rtrs_clt_rdma_cq_direct +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x242a8646 rtrs_addr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x2ca81fe3 rtrs_ib_dev_find_or_add +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x5b01e41d sockaddr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x62d7262b rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x7468ac3a rtrs_rdma_dev_pd_deinit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x84776255 rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x887302f3 rtrs_addr_to_sockaddr +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x0dd8cb42 rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x4eda85ad rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x59d2ba6e rtrs_srv_get_path_name +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x7f083a1a rtrs_srv_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xaa59c4ff rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0xcb499edb rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/input/gameport/gameport 0x04a40ded gameport_open +EXPORT_SYMBOL drivers/input/gameport/gameport 0x5085abf6 gameport_unregister_port +EXPORT_SYMBOL drivers/input/gameport/gameport 0x5d46de51 gameport_start_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0x606f6a69 gameport_unregister_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0x8dd1990a __gameport_register_driver +EXPORT_SYMBOL drivers/input/gameport/gameport 0xdf2df7d3 gameport_close +EXPORT_SYMBOL drivers/input/gameport/gameport 0xe88a202b gameport_stop_polling +EXPORT_SYMBOL drivers/input/gameport/gameport 0xf5e18a2b gameport_set_phys +EXPORT_SYMBOL drivers/input/gameport/gameport 0xfab1debd __gameport_register_port +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x307b3bbd iforce_process_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x653de226 iforce_send_packet +EXPORT_SYMBOL drivers/input/joystick/iforce/iforce 0x899bc27b iforce_init_device +EXPORT_SYMBOL drivers/input/matrix-keymap 0xfc20c5bb matrix_keypad_build_keymap +EXPORT_SYMBOL drivers/input/misc/ad714x 0x2da6dc91 ad714x_probe +EXPORT_SYMBOL drivers/input/misc/ad714x 0x759ead45 ad714x_disable +EXPORT_SYMBOL drivers/input/misc/ad714x 0xc799364b ad714x_enable +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x4ed3e3f7 cma3000_init +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x892d76b2 cma3000_resume +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0x89d9444e cma3000_exit +EXPORT_SYMBOL drivers/input/misc/cma3000_d0x 0xca3f100a cma3000_suspend +EXPORT_SYMBOL drivers/input/rmi4/rmi_core 0x6fe462a8 rmi_unregister_transport_device +EXPORT_SYMBOL drivers/input/sparse-keymap 0x0b8538e2 sparse_keymap_report_event +EXPORT_SYMBOL drivers/input/sparse-keymap 0x1deb6e33 sparse_keymap_entry_from_keycode +EXPORT_SYMBOL drivers/input/sparse-keymap 0x3501d076 sparse_keymap_report_entry +EXPORT_SYMBOL drivers/input/sparse-keymap 0x64f3f396 sparse_keymap_setup +EXPORT_SYMBOL drivers/input/sparse-keymap 0x75f2185e sparse_keymap_entry_from_scancode +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x0336665b ad7879_pm_ops +EXPORT_SYMBOL drivers/input/touchscreen/ad7879 0x9a5cc49e ad7879_probe +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x141d0b50 capi_ctr_handle_message +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x78aa121d capi_ctr_down +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x86e861aa attach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0x990a2f23 detach_capi_ctr +EXPORT_SYMBOL drivers/isdn/capi/kernelcapi 0xb057a756 capi_ctr_ready +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x27c58fd5 isdnhdlc_decode +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x4644eea5 isdnhdlc_out_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0x5b835a58 isdnhdlc_rcv_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/isdnhdlc 0xef4ee223 isdnhdlc_encode +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x25012582 mISDNipac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x2e301e19 mISDNisac_init +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0x5f3d6ee9 mISDNisac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNipac 0xa03e576f mISDNipac_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0x2fc34d8d mISDNisar_irq +EXPORT_SYMBOL drivers/isdn/hardware/mISDN/mISDNisar 0xc69700ba mISDNisar_init +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x03a68066 mISDN_FsmRestartTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x1aaee996 recv_Bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x2348cc3c mISDN_FsmFree +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x26236de8 mISDN_clock_update +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x30d25b0d mISDN_FsmDelTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x30db391b mISDN_ctrl_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x313b1fde mISDN_FsmAddTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x36d82fa8 mISDN_register_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x3ca4365e bchannel_get_rxbuf +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x40ec092c mISDN_initdchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x46e92f07 mISDN_unregister_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x49ce1cb6 mISDNDevName4ch +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x4d7c398e mISDN_freebchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x50c2230c mISDN_FsmChangeState +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x580a6ac6 mISDN_clear_bchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x588886a6 l1_event +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x5bb874a4 dchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x6047df40 mISDN_FsmInitTimer +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x706bb476 create_l1 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x761a2c77 mISDN_initbchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x799279f1 queue_ch_frame +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x8eac1b1f get_next_bframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x91a81f19 get_next_dframe +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9821d5c1 recv_Dchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0x9c928457 mISDN_FsmNew +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xa4e8c12f mISDN_freedchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xaf47f3b5 recv_Echannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xb9dfe1a0 mISDN_register_device +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc0355926 recv_Dchannel +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xc3401729 mISDN_register_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd285995f mISDN_clock_get +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xd5145151 mISDN_FsmEvent +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xdf8ec270 recv_Bchannel_skb +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xe8f617eb mISDN_unregister_clock +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xf3913fab bchannel_senddata +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_core 0xfa3d6c0d mISDN_unregister_Bprotocol +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x01087af0 mISDN_dsp_element_unregister +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0x93df9e4b dsp_audio_law_to_s32 +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb07a21b8 dsp_audio_s16_to_law +EXPORT_SYMBOL drivers/isdn/mISDN/mISDN_dsp 0xb98308d8 mISDN_dsp_element_register +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x09e3395e ti_lmu_common_get_ramp_params +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0x54a12ec4 ti_lmu_common_set_ramp +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xced72aae ti_lmu_common_set_brightness +EXPORT_SYMBOL drivers/leds/leds-ti-lmu-common 0xe20b68ee ti_lmu_common_get_brt_res +EXPORT_SYMBOL drivers/md/dm-log 0x0f601757 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-log 0x3421280b dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0x38446313 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0xa3371788 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0x01ba721c dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x20d63e00 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x69979792 dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0x890bf02a dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/dm-snapshot 0xae5577e2 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0xd0188424 dm_snap_origin +EXPORT_SYMBOL drivers/md/raid456 0x046e87af r5c_journal_mode_set +EXPORT_SYMBOL drivers/md/raid456 0xe97141d2 raid5_set_cache_size +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x04eda1ea flexcop_dump_reg +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x20b735a6 flexcop_pass_dmx_packets +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x2aa44609 flexcop_sram_ctrl +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x50e54ede flexcop_device_kmalloc +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x786fdb81 flexcop_device_exit +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x78e2daae flexcop_device_initialize +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x83f5e191 flexcop_wan_set_speed +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0x94669854 flexcop_pid_feed_control +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xa291bd9b flexcop_sram_set_dest +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xa311607e flexcop_pass_dmx_data +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xb2d69484 flexcop_device_kfree +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xe292fb16 flexcop_i2c_request +EXPORT_SYMBOL drivers/media/common/b2c2/b2c2-flexcop 0xefc746ce flexcop_eeprom_check_mac_addr +EXPORT_SYMBOL drivers/media/common/cx2341x 0x07234706 cx2341x_handler_setup +EXPORT_SYMBOL drivers/media/common/cx2341x 0x15ac1bd0 cx2341x_ctrl_query +EXPORT_SYMBOL drivers/media/common/cx2341x 0x28240e61 cx2341x_ctrl_get_menu +EXPORT_SYMBOL drivers/media/common/cx2341x 0x55aa7c5f cx2341x_mpeg_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x6a657b05 cx2341x_ext_ctrls +EXPORT_SYMBOL drivers/media/common/cx2341x 0x7b4dd2cb cx2341x_fill_defaults +EXPORT_SYMBOL drivers/media/common/cx2341x 0x97eebbc7 cx2341x_handler_init +EXPORT_SYMBOL drivers/media/common/cx2341x 0xc702489f cx2341x_handler_set_50hz +EXPORT_SYMBOL drivers/media/common/cx2341x 0xdbc5583a cx2341x_update +EXPORT_SYMBOL drivers/media/common/cx2341x 0xdff2e71b cx2341x_handler_set_busy +EXPORT_SYMBOL drivers/media/common/cx2341x 0xe1fe1432 cx2341x_log_status +EXPORT_SYMBOL drivers/media/common/cypress_firmware 0x2772d3f7 cypress_load_firmware +EXPORT_SYMBOL drivers/media/common/ttpci-eeprom 0x65bd7957 ttpci_eeprom_parse_mac +EXPORT_SYMBOL drivers/media/common/ttpci-eeprom 0x693e74ba ttpci_eeprom_decode_mac +EXPORT_SYMBOL drivers/media/common/tveeprom 0x0dbf0296 tveeprom_hauppauge_analog +EXPORT_SYMBOL drivers/media/common/tveeprom 0x4bf06773 tveeprom_read +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x065246b8 frame_vector_create +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1b700d37 put_vaddr_frames +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x1d5f9555 frame_vector_destroy +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x6688ed31 vb2_verify_memory_type +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0x8378750a vb2_buffer_in_use +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xc2d9e090 get_vaddr_frames +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xc5e5573a frame_vector_to_pages +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-common 0xdffb744b frame_vector_to_pfns +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0x8b6dcc0f vb2_dvb_register_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xa41648dd vb2_dvb_dealloc_frontends +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xb0b02ecd vb2_dvb_get_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xb7295d4c vb2_dvb_find_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xdb77ce67 vb2_dvb_unregister_bus +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-dvb 0xfe4d12db vb2_dvb_alloc_frontend +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-memops 0xa21fa765 vb2_create_framevec +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-memops 0xccd197c7 vb2_destroy_framevec +EXPORT_SYMBOL drivers/media/common/videobuf2/videobuf2-v4l2 0xc6004035 vb2_querybuf +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x064fd246 dvb_ringbuffer_read_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08733236 intlog10 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x08f83fec dvb_dmxdev_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x0b863f03 dvb_dmxdev_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x101c30f5 dvb_remove_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x1023bcd7 dvb_frontend_resume +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x113b5999 dvb_net_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x15052806 dvb_dmx_swfilter_204 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x21b99d2e dvb_net_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x29d58443 dvb_ringbuffer_empty +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3aad435f dvb_register_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x3b93d71a dvb_frontend_sleep_until +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x4502c3be dvb_ringbuffer_flush +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x52eb4a92 dvb_register_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5830a49a dvb_ringbuffer_flush_spinlock_wakeup +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x59a6eadd dvb_unregister_adapter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x5f2b1d95 intlog2 +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x66a68864 dvb_ringbuffer_avail +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x66bd7694 dvb_ringbuffer_free +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6ab6aac6 dvb_dmx_swfilter +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6e8f003a dvb_generic_open +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x6ef5628b dvb_ringbuffer_read +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7214ae36 dvb_ca_en50221_frda_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x782e58f9 dvb_register_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7c358dcb dvb_ca_en50221_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x7d5725a8 dvb_generic_ioctl +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x82878c35 dvb_ringbuffer_write +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8597c7d0 dvb_generic_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8b856f8f dvb_ca_en50221_camready_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x8fd6e094 dvb_dmx_swfilter_packets +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9dffb35d dvb_dmx_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0x9e787c04 dvb_ca_en50221_camchange_irq +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xa1ab1077 dvb_frontend_detach +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb2ee8d2b dvb_device_get +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xb5a3524f dvb_ringbuffer_init +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xba4beba0 dvb_ca_en50221_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xbc05d026 dvb_dmx_release +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xc5b7aa57 dvb_unregister_device +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xce748c8d dvb_ringbuffer_write_user +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xdbe5a8bd dvb_frontend_suspend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xe02577f7 dvb_unregister_frontend +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xed056cde dvb_dmx_swfilter_raw +EXPORT_SYMBOL drivers/media/dvb-core/dvb-core 0xf127150d dvb_frontend_reinitialise +EXPORT_SYMBOL drivers/media/dvb-frontends/ascot2e 0xed8456cb ascot2e_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/atbm8830 0xebb1865c atbm8830_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x0f710370 au8522_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x1845a41b au8522_led_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x582c1209 au8522_init +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x5f33f80c au8522_release_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0x63a1f42b au8522_readreg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xa2f08481 au8522_get_state +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xbcd57f4b au8522_sleep +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xed0e0310 au8522_writereg +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_common 0xfb43a66f au8522_analog_i2c_gate_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/au8522_dig 0xcc583447 au8522_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/bcm3510 0xead023ad bcm3510_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22700 0x1bfb71ba cx22700_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx22702 0x48458176 cx22702_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24110 0xbff5e615 cx24110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x0b9f46a3 cx24113_agc_callback +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24113 0x935d7473 cx24113_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24116 0xe3d50b3b cx24116_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24120 0x440d66d3 cx24120_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0x6c2ef8ae cx24123_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cx24123 0xa3937a98 cx24123_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2820r 0x42fd0d58 cxd2820r_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x0953d365 cxd2841er_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2841er 0x451ad4e2 cxd2841er_attach_t_c +EXPORT_SYMBOL drivers/media/dvb-frontends/cxd2880/cxd2880 0x8a47c073 cxd2880_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x01b2c49a dib0070_ctrl_agc_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x49bc4918 dib0070_set_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x60689db5 dib0070_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0x89db973f dib0070_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0070 0xda3f812a dib0070_get_rf_output +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x1bbac930 dib0090_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x278363a7 dib0090_update_tuning_table_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x2b11de92 dib0090_dcc_freq +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x5686deb6 dib0090_get_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x57216274 dib0090_gain_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x6995178e dib0090_set_vga +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x6ea8a88d dib0090_update_rframp_7090 +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x71a7ff14 dib0090_set_tune_state +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x7f4972fc dib0090_get_wbd_target +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0x8ca62f44 dib0090_pwm_gain_reset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xaef45d92 dib0090_get_wbd_offset +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xcc0d867a dib0090_fw_register +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xcd260c47 dib0090_set_switch +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xe5a5434f dib0090_get_current_gain +EXPORT_SYMBOL drivers/media/dvb-frontends/dib0090 0xfd0c2fe2 dib0090_set_dc_servo +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mb 0x1a54001c dib3000mb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x0c850061 dib3000mc_get_tuner_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x2be4e869 dib3000mc_pid_control +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x3c0f3431 dib3000mc_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x67e3d456 dib3000mc_pid_parse +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0x6ca18da6 dib3000mc_set_config +EXPORT_SYMBOL drivers/media/dvb-frontends/dib3000mc 0xb8d98929 dib3000mc_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x40f19b54 dib7000m_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0x7cde2c0c dib7000m_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xd2fce8a7 dib7000m_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000m 0xf0c67b49 dib7000m_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib7000p 0x6ce3bd06 dib7000p_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib8000 0xd52a47df dib8000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x007be2d4 dib9000_fw_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x1733e6bd dib9000_firmware_post_pll_init +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x202599b6 dib9000_get_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x32c05f59 dib9000_get_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x32e8059b dib9000_i2c_enumeration +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x53a57f8f dib9000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x79749346 dib9000_fw_pid_filter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0x8bdd7e72 dib9000_get_tuner_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xc6f5c118 dib9000_fw_set_component_bus_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xcca00f70 dib9000_set_slave_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xd27582fd dib9000_set_gpio +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xe81f0d26 dib9000_set_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/dib9000 0xfc171bf0 dib9000_get_component_bus_interface +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x08212650 dibx000_i2c_set_speed +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x1cb0c825 dibx000_init_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x3b30619f dibx000_reset_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0x71416dda dibx000_exit_i2c_master +EXPORT_SYMBOL drivers/media/dvb-frontends/dibx000_common 0xd861312d dibx000_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/drx39xyj/drx39xyj 0x1c6436a1 drx39xxj_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxd 0x76b3d14a drxd_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/drxk 0xc9944f12 drxk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ds3000 0xb5a3a2b4 ds3000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb-pll 0x7757150e dvb_pll_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x3721a222 dvb_dummy_fe_qpsk_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0x9cef864a dvb_dummy_fe_ofdm_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/dvb_dummy_fe 0xac413f53 dvb_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ec100 0x3f4c5bf1 ec100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x1d4eccab helene_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/helene 0x3e034986 helene_attach_s +EXPORT_SYMBOL drivers/media/dvb-frontends/horus3a 0x6807a183 horus3a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6405 0x1470c9ac isl6405_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6421 0x618ac45a isl6421_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/isl6423 0x0b98db6c isl6423_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/itd1000 0x766bc895 itd1000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ix2505v 0x0f9399dc ix2505v_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/l64781 0x9d54fd19 l64781_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lg2160 0x19d157a2 lg2160_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3305 0x9782a95d lgdt3305_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt3306a 0xd986f268 lgdt3306a_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgdt330x 0x8c4fb253 lgdt330x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gl5 0x5153fac0 lgs8gl5_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lgs8gxx 0x0c0fcf87 lgs8gxx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh25 0x50b8c3d7 lnbh25_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbh29 0xd3989784 lnbh29_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x33f3a4b3 lnbh24_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp21 0x40c870fe lnbp21_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/lnbp22 0xb73858a9 lnbp22_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x3e0c19cd m88ds3103_get_agc_pwm +EXPORT_SYMBOL drivers/media/dvb-frontends/m88ds3103 0x81a574df m88ds3103_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/m88rs2000 0xa960bc37 m88rs2000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a16 0xef48b3fe mb86a16_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mb86a20s 0x45e37db3 mb86a20s_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt312 0xb4d7b919 mt312_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/mt352 0xd26f2618 mt352_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt200x 0x2500f21e nxt200x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/nxt6000 0x8d51f07d nxt6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51132 0xd38c3ac8 or51132_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/or51211 0x33f9d9d3 or51211_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1409 0x0d1b6173 s5h1409_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1411 0x8ce5d132 s5h1411_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x176c37b6 s5h1420_get_tuner_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1420 0x254fda29 s5h1420_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s5h1432 0x02e79dad s5h1432_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/s921 0xe3b47f0c s921_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/si21xx 0x4908dca6 si21xx_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/sp887x 0xdba280b3 sp887x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb0899 0x37616877 stb0899_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6000 0x22051188 stb6000_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stb6100 0xbad1625c stb6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0288 0x910549a9 stv0288_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0297 0xe5f7fb4d stv0297_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0299 0x85512342 stv0299_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x05341c1d stv0367ddb_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0x76404f78 stv0367cab_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0367 0xa2fcfa3a stv0367ter_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv0900 0x68060974 stv0900_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv090x 0xb6cfee45 stv090x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110 0x3dc3589a stv6110_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/stv6110x 0xc7fcf588 stv6110x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10021 0x24d83efe tda10021_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10023 0xae4a89b4 tda10023_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10048 0x3d4c7118 tda10048_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0x1314955f tda10046_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda1004x 0xe7774305 tda10045_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda10086 0xe01ae85d tda10086_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda665x 0x45ba73d1 tda665x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8083 0x048aa96b tda8083_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda8261 0x600b8025 tda8261_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tda826x 0x2afe30f5 tda826x_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ts2020 0x3b4ed53e ts2020_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/tua6100 0x843fe4ed tua6100_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1820 0x93fc1f6f ves1820_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/ves1x93 0x0d3883d1 ves1x93_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0x47c7ca32 zd1301_demod_get_dvb_frontend +EXPORT_SYMBOL drivers/media/dvb-frontends/zd1301_demod 0xdad8e68c zd1301_demod_get_i2c_adapter +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10036 0x669e2d41 zl10036_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10039 0x65d5e8b6 zl10039_attach +EXPORT_SYMBOL drivers/media/dvb-frontends/zl10353 0xad208924 zl10353_attach +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x0854e9f7 flexcop_dma_allocate +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x0e5ec5b1 flexcop_dma_free +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x32a5ab9f flexcop_dma_control_timer_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x5990a5ff flexcop_dma_xfer_control +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x84aabb8b flexcop_dma_config_timer +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x91fcd7c6 flexcop_dma_control_size_irq +EXPORT_SYMBOL drivers/media/pci/b2c2/b2c2-flexcop-pci 0x9280ddb8 flexcop_dma_config +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x1b5b54ed bt878_stop +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x36a39e8a bt878_device_control +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x82c84409 bt878_start +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0x9b54654b bt878 +EXPORT_SYMBOL drivers/media/pci/bt8xx/bt878 0xd5d0bdef bt878_num +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x11dc4b6d bttv_gpio_enable +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x5f8790c8 bttv_get_pcidev +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x71c87479 bttv_sub_register +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0x8ecf4acc bttv_write_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0xbcf2d2fb bttv_read_gpio +EXPORT_SYMBOL drivers/media/pci/bt8xx/bttv 0xf1266226 bttv_sub_unregister +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x1427ff1a rdc_reset_state +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x1a76b94b dst_comm_init +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x33a1015c write_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x3f29550d dst_wait_dst_ready +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x43a983fd dst_check_sum +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x457dda0c dst_pio_disable +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x77e81d69 dst_error_recovery +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x830f0bf2 read_dst +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0x8e6555b9 dst_attach +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst 0xaade2ad5 dst_error_bailout +EXPORT_SYMBOL drivers/media/pci/bt8xx/dst_ca 0xbbf697ec dst_ca_attach +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x10dd836a cx18_ext_init +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x2cdea06d cx18_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x4a51ebce cx18_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0x75b55243 cx18_release_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xba78f562 cx18_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/cx18/cx18 0xc53f6c34 cx18_claim_stream +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0x6ff7510d altera_ci_tuner_reset +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0xbd2ab821 altera_ci_init +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0xdb3faf38 altera_ci_release +EXPORT_SYMBOL drivers/media/pci/cx23885/altera-ci 0xe66b9812 altera_ci_irq +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x19be4110 cx25821_sram_channel_setup_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x3776ec40 cx25821_riscmem_alloc +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x408822ff cx25821_dev_unregister +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x44b517f5 cx25821_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x4e299eee cx25821_risc_databuffer_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0x8fa4fa97 cx25821_set_gpiopin_direction +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xa14c878f cx25821_sram_channel_dump_audio +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xe9050411 cx25821_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx25821/cx25821 0xf9042681 cx25821_dev_get +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x17896b09 vp3054_i2c_remove +EXPORT_SYMBOL drivers/media/pci/cx88/cx88-vp3054-i2c 0x4b729bbc vp3054_i2c_probe +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x2a146498 cx88_video_mux +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x3491da10 cx88_querycap +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x9bd9d17f cx88_enum_input +EXPORT_SYMBOL drivers/media/pci/cx88/cx8800 0x9cb50912 cx88_set_freq +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x0314d275 cx8802_register_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x254559b3 cx8802_get_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x30355b4a cx8802_unregister_driver +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x49f5d89d cx8802_buf_queue +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x6a80e677 cx8802_buf_prepare +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0x99bfdefb cx8802_cancel_buffers +EXPORT_SYMBOL drivers/media/pci/cx88/cx8802 0xeb73a54f cx8802_start_dma +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x15115d34 cx88_core_irq +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x17c1ca40 cx88_set_tvaudio +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x199e2448 cx88_set_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x28fa656a cx88_vdev_init +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x2a07f80b cx88_shutdown +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x2eeaa7bc cx88_risc_databuffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x5edb7ae5 cx88_print_irqbits +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x60263260 cx88_set_scale +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x6141c8c5 cx88_tuner_callback +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x7240aed7 cx88_sram_channel_setup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x73c707bc cx88_core_get +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x73dbbd53 cx88_core_put +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x768ba8b8 cx88_ir_stop +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x823d1774 cx88_wakeup +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x8d88137a cx88_sram_channels +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x904b8696 cx88_audio_thread +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x9175d73b cx88_dsp_detect_stereo_sap +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0x9e800c2a cx88_ir_start +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xade2c006 cx88_set_tvnorm +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xb628bf0e cx88_risc_buffer +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xc2588a41 cx88_sram_channel_dump +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xdbe38913 cx88_get_stereo +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xec95b8ec cx88_reset +EXPORT_SYMBOL drivers/media/pci/cx88/cx88xx 0xf4cb9669 cx88_newstation +EXPORT_SYMBOL drivers/media/pci/ddbridge/ddbridge-dummy-fe 0xb3cdc99b ddbridge_dummy_fe_qam_attach +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x09bcdc91 ivtv_stop_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x14f67530 ivtv_debug +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x1f073ce6 ivtv_init_on_first_open +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x314eecae ivtv_release_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x39475488 ivtv_ext_init +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x45138e5e ivtv_vapi +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x58217a90 ivtv_reset_ir_gpio +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x7f6fbda2 ivtv_udma_prepare +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x8656d3b7 ivtv_set_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x86e60884 ivtv_vapi_result +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x948cb176 ivtv_firmware_check +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0x9b3a5e0e ivtv_udma_setup +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xa8417751 ivtv_udma_alloc +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xb0704af4 ivtv_clear_irq_mask +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xc5437c10 ivtv_api +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xd63095b2 ivtv_claim_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xf65200b1 ivtv_start_v4l2_encode_stream +EXPORT_SYMBOL drivers/media/pci/ivtv/ivtv 0xf7c2d597 ivtv_udma_unmap +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x04e83446 saa7134_tuner_callback +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x0ab3bfaf saa7134_dmasound_init +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x1211df5d saa7134_devlist +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x283ab104 saa7134_ts_register +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x35e439ca saa7134_pgtable_free +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x4e418c3a saa7134_devlist_lock +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x604df333 saa7134_set_dmabits +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x71f9c7a5 saa7134_pgtable_build +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x730c4be3 saa7134_boards +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7dc815e5 saa7134_ts_unregister +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x7e9165cf saa7134_tvaudio_setmute +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0x84af28b9 saa7134_pgtable_alloc +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xbc24c2c2 saa_dsp_writel +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xfc581d5a saa7134_dmasound_exit +EXPORT_SYMBOL drivers/media/pci/saa7134/saa7134 0xfe84ce92 saa7134_set_gpio +EXPORT_SYMBOL drivers/media/radio/tea575x 0x23de927d snd_tea575x_g_tuner +EXPORT_SYMBOL drivers/media/radio/tea575x 0x24497a99 snd_tea575x_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0x8af5f3aa snd_tea575x_s_hw_freq_seek +EXPORT_SYMBOL drivers/media/radio/tea575x 0x9a394cd7 snd_tea575x_set_freq +EXPORT_SYMBOL drivers/media/radio/tea575x 0xa3ad95c4 snd_tea575x_enum_freq_bands +EXPORT_SYMBOL drivers/media/radio/tea575x 0xcea0f328 snd_tea575x_hw_init +EXPORT_SYMBOL drivers/media/radio/tea575x 0xf0f714f9 snd_tea575x_exit +EXPORT_SYMBOL drivers/media/rc/rc-core 0x01098f88 ir_raw_encode_scancode +EXPORT_SYMBOL drivers/media/rc/rc-core 0x18b9fe40 ir_raw_handler_unregister +EXPORT_SYMBOL drivers/media/rc/rc-core 0x2fe55cf5 ir_raw_gen_pd +EXPORT_SYMBOL drivers/media/rc/rc-core 0x7a02ee87 ir_raw_gen_pl +EXPORT_SYMBOL drivers/media/rc/rc-core 0xaf3163ec ir_raw_handler_register +EXPORT_SYMBOL drivers/media/rc/rc-core 0xb5516017 ir_raw_encode_carrier +EXPORT_SYMBOL drivers/media/rc/rc-core 0xce3696f3 ir_raw_gen_manchester +EXPORT_SYMBOL drivers/media/tuners/fc0011 0xaa554f93 fc0011_attach +EXPORT_SYMBOL drivers/media/tuners/fc0012 0xe7fbef1d fc0012_attach +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x0badf05b fc0013_rc_cal_add +EXPORT_SYMBOL drivers/media/tuners/fc0013 0x1a7a030c fc0013_rc_cal_reset +EXPORT_SYMBOL drivers/media/tuners/fc0013 0xa1b702fe fc0013_attach +EXPORT_SYMBOL drivers/media/tuners/max2165 0x6cb6f6f3 max2165_attach +EXPORT_SYMBOL drivers/media/tuners/mc44s803 0x46f5729d mc44s803_attach +EXPORT_SYMBOL drivers/media/tuners/mt2060 0x37378fec mt2060_attach +EXPORT_SYMBOL drivers/media/tuners/mt2131 0xb8f8ee45 mt2131_attach +EXPORT_SYMBOL drivers/media/tuners/mt2266 0x48ae661d mt2266_attach +EXPORT_SYMBOL drivers/media/tuners/mxl5005s 0x02afe4c6 mxl5005s_attach +EXPORT_SYMBOL drivers/media/tuners/qt1010 0x6504a36d qt1010_attach +EXPORT_SYMBOL drivers/media/tuners/tda18218 0xd0ca755b tda18218_attach +EXPORT_SYMBOL drivers/media/tuners/tuner-types 0x4c48939e tuners +EXPORT_SYMBOL drivers/media/tuners/tuner-types 0xc2821775 tuner_count +EXPORT_SYMBOL drivers/media/tuners/xc2028 0xb375a638 xc2028_attach +EXPORT_SYMBOL drivers/media/tuners/xc4000 0xcf3e8cb7 xc4000_attach +EXPORT_SYMBOL drivers/media/tuners/xc5000 0xbdd83a3d xc5000_attach +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0x4794bc1d cx231xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/cx231xx/cx231xx 0xc03a24b0 cx231xx_register_extension +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x032845bc dvb_usbv2_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x4555dadb dvb_usbv2_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x5d57d7e9 dvb_usbv2_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x886380d1 dvb_usbv2_reset_resume +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x90d9918c dvb_usbv2_generic_rw_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0x93a9e987 dvb_usbv2_suspend +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xa87349fe dvb_usbv2_generic_write_locked +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xc34b1a14 dvb_usbv2_probe +EXPORT_SYMBOL drivers/media/usb/dvb-usb-v2/dvb_usb_v2 0xfc9ec6ba dvb_usbv2_disconnect +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x125b9d35 dvb_usb_device_init +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0x8b6f5395 dvb_usb_get_hexline +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xa8bc9b1a dvb_usb_device_exit +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xb1f07c5f usb_cypress_load_firmware +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xcb6ea594 dvb_usb_generic_write +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xcbaea93a dvb_usb_nec_rc_key_to_event +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb 0xd4e75a3e dvb_usb_generic_rw +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x341530cb rc_map_af9005_table +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0x62626144 af9005_rc_decode +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-af9005-remote 0xd4e288db rc_map_af9005_table_size +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x090f7808 dibusb_pid_filter +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x1d664dff dibusb_read_eeprom_byte +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x35f9b43a dibusb_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x3ad0833a dibusb2_0_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x8617c257 dibusb_power_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x93822ecb rc_map_dibusb_table +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0x98582af2 dibusb_pid_filter_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xab6359ef dibusb2_0_streaming_ctrl +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xb3279f80 dibusb_rc_query +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-common 0xda0ae3b2 dibusb_i2c_algo +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0x674085dd dibusb_dib3000mc_tuner_attach +EXPORT_SYMBOL drivers/media/usb/dvb-usb/dvb-usb-dibusb-mc-common 0xbee7edcf dibusb_dib3000mc_frontend_attach +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x4aa24c6f em28xx_unregister_extension +EXPORT_SYMBOL drivers/media/usb/em28xx/em28xx 0x4e17a051 em28xx_register_extension +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x25ec1da6 go7007_boot_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x2e62f3d7 go7007_alloc +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0x5e6abfb9 go7007_parse_video_stream +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xa6d11fe0 go7007_register_encoder +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xa76c037f go7007_read_interrupt +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xbff4f40c go7007_read_addr +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xd63e067c go7007_snd_init +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xe4c50ecb go7007_snd_remove +EXPORT_SYMBOL drivers/media/usb/go7007/go7007 0xeeaacd31 go7007_update_board +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x12d97529 gspca_disconnect +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x3fb53631 gspca_suspend +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x67ee901a gspca_dev_probe2 +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x6abbdc26 gspca_resume +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x83a90898 gspca_expo_autogain +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0x9670af2c gspca_debug +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xce1cf217 gspca_dev_probe +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xec357e86 gspca_frame_add +EXPORT_SYMBOL drivers/media/usb/gspca/gspca_main 0xef66aeb3 gspca_coarse_grained_expo_autogain +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0xbf69a3a4 tm6000_init_digital_mode +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0xeaa895ed tm6000_unregister_extension +EXPORT_SYMBOL drivers/media/usb/tm6000/tm6000 0xf78d696e tm6000_register_extension +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0xc4f8a0b1 ttusbdecfe_dvbs_attach +EXPORT_SYMBOL drivers/media/usb/ttusb-dec/ttusbdecfe 0xef3fa17b ttusbdecfe_dvbt_attach +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x07f0fce1 v4l2_async_unregister_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x09ebf0f0 v4l2_async_subdev_nf_register +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x47a3d46d v4l2_async_nf_register +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0x609c84bb v4l2_async_nf_init +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0xbe2b2b92 v4l2_async_nf_unregister +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-async 0xd10a1107 v4l2_async_register_subdev +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x2949c624 v4l2_m2m_get_vq +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x459e133f v4l2_m2m_get_curr_priv +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x5352d022 v4l2_m2m_resume +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x73df211c v4l2_m2m_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0x795b7548 v4l2_m2m_buf_done_and_job_finish +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xb3606e0a v4l2_m2m_mmap +EXPORT_SYMBOL drivers/media/v4l2-core/v4l2-mem2mem 0xf626dd03 v4l2_m2m_suspend +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x05c0dbc4 v4l2_subdev_call_wrappers +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0614dd5a v4l2_video_std_frame_period +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x082737e8 v4l2_ctrl_merge +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x0a94e74e __v4l2_ctrl_modify_range +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x107e51d8 video_device_release_empty +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x123959a1 v4l2_type_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x16244fe5 v4l2_prio_check +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x16db2c14 v4l2_ctrl_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1a436493 v4l2_querymenu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1ab2f515 v4l2_g_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1ad48317 video_device_release +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x1d49945b v4l2_ctrl_new_std_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2342f1ae v4l2_prio_open +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x27ab57a1 v4l2_s_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x28b12cc9 v4l2_format_info +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2940a2d3 v4l2_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x2b569eb0 __v4l2_ctrl_s_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x315de2cf v4l2_ctrl_get_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x31b9ac2b video_devdata +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x32d43420 v4l2_ctrl_get_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x33347197 __v4l2_ctrl_s_ctrl_string +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x34b0b7be v4l2_ctrl_new_custom +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x38792abc v4l2_ctrl_activate +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3adbd595 v4l2_field_names +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3b294517 video_device_alloc +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3bdd0f94 v4l2_prio_change +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3f06195b v4l2_ctrl_new_fwnode_properties +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x3fa5e8d8 v4l2_ctrl_handler_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x46008ddc v4l2_ctrl_sub_ev_ops +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x467bf6ac video_ioctl2 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x494016e0 v4l2_ctrl_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x4b906eb5 v4l2_ctrl_poll +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x566f952a v4l2_ctrl_notify +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x58b04b18 v4l2_ctrl_handler_init_class +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x59329743 v4l2_subdev_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x5c8537cf __v4l2_ctrl_s_ctrl_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x61f0d97d v4l2_ctrl_g_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x657fc34a v4l2_ctrl_request_complete +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x6f1734dd v4l2_ctrl_radio_filter +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x763d7ed2 v4l2_ctrl_new_std_menu_items +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8106095a v4l2_prio_max +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x893e9d61 v4l2_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x89e3897d v4l2_ctrl_query_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x8d25f3df v4l2_ctrl_new_std_compound +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x91006bb4 v4l2_ctrl_subdev_subscribe_event +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x99718e00 v4l2_ctrl_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0x9a8af23b __v4l2_ctrl_grab +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa0291110 v4l2_ctrl_fill +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa25f5277 v4l2_ctrl_add_handler +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa2c8b59a v4l2_query_ext_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xa4917717 v4l2_ctrl_g_ctrl_int64 +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xaa5d4ddf v4l2_ctrl_auto_cluster +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xaf8e0957 v4l2_queryctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb18a9ce6 __video_register_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb194c738 v4l2_try_ext_ctrls +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb50fac3d v4l2_ctrl_find +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xb77b0159 v4l2_prio_init +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xbc5671dc v4l_printk_ioctl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc33b3372 v4l2_ctrl_subdev_log_status +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xc94be983 __v4l2_ctrl_s_ctrl +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xcda04a5b v4l2_prio_close +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd11eed4f video_unregister_device +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd16d9c01 v4l2_ctrl_get_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd2138c9d v4l2_ctrl_new_int_menu +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xd65cec7d v4l2_ctrl_handler_free +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xde6c4c73 v4l2_ctrl_request_setup +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xe2b92059 v4l2_video_std_construct +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xed65dbac v4l2_ctrl_new_std +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf3251e7b v4l2_norm_to_name +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xf50fecbc v4l2_ctrl_replace +EXPORT_SYMBOL drivers/media/v4l2-core/videodev 0xffddec59 v4l2_ctrl_handler_setup +EXPORT_SYMBOL drivers/memstick/core/memstick 0x0d34b3e3 memstick_alloc_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x13309ad9 memstick_unregister_driver +EXPORT_SYMBOL drivers/memstick/core/memstick 0x2c006a1f memstick_next_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0x2e474c7f memstick_suspend_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x36a44a58 memstick_add_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x4a4e5778 memstick_init_req_sg +EXPORT_SYMBOL drivers/memstick/core/memstick 0x5f9744cf memstick_set_rw_addr +EXPORT_SYMBOL drivers/memstick/core/memstick 0x880ec805 memstick_remove_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0x9f99614c memstick_detect_change +EXPORT_SYMBOL drivers/memstick/core/memstick 0xa50309b4 memstick_resume_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xae50437c memstick_init_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xaf7266d1 memstick_new_req +EXPORT_SYMBOL drivers/memstick/core/memstick 0xdc8b37ed memstick_free_host +EXPORT_SYMBOL drivers/memstick/core/memstick 0xe545b653 memstick_register_driver +EXPORT_SYMBOL drivers/memstick/host/r592 0x52f1b23b memstick_debug_get_tpc_name +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0263413c mpt_get_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0b0690bb mpt_resume +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x0dfbefdb mpt_detach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1245a014 mpt_event_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x1dd0fb25 mptbase_sas_persist_operation +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x2326d8a7 mpt_put_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x23822382 mpt_put_msg_frame_hi_pri +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x35ff3c42 mpt_HardResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x47a6f9b8 mpt_reset_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4cc6f39b mpt_alloc_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x4e03873d mpt_halt_firmware +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x502108d0 mpt_fwfault_debug +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x5fc005a6 mpt_raid_phys_disk_pg1 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x610b257e mpt_reset_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x6bca4267 mpt_findImVolumes +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x71cc642a mpt_raid_phys_disk_get_num_paths +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x74a0134a mpt_device_driver_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x774ace22 mpt_verify_adapter +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x83899735 mpt_set_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0x981efe92 mpt_deregister +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa1fa6704 mpt_print_ioc_summary +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xa3c9061d mpt_Soft_Hard_ResetHandler +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xac6204b2 mpt_attach +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xad07b97d mpt_clear_taskmgmt_in_progress_flag +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb1b5d4b1 mpt_raid_phys_disk_pg0 +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb8720b21 mpt_GetIocState +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xb90ae3c5 mpt_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xbf432437 mpt_send_handshake_request +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd0d3f42f mpt_device_driver_register +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd41b5e3b mpt_free_msg_frame +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xd5d68536 mpt_free_fw_memory +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xdd805159 ioc_list +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe0682b94 mpt_suspend +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe50d795f mpt_config +EXPORT_SYMBOL drivers/message/fusion/mptbase 0xe6c1e126 mpt_event_deregister +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x014c5bd1 mptscsih_slave_configure +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x26cab52e mptscsih_suspend +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x3bc497bb mptscsih_scandv_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x416f5fb8 mptscsih_get_scsi_lookup +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x41931d86 mptscsih_dev_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x48094ecc mptscsih_IssueTaskMgmt +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x4d624a67 mptscsih_abort +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x5db7fac0 mptscsih_is_phys_disk +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x6f887397 mptscsih_slave_destroy +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x7015f611 mptscsih_raid_id_to_num +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x725576b4 mptscsih_resume +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x79031bb0 mptscsih_bus_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x8806119a mptscsih_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x94cd0810 mptscsih_host_attr_groups +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x99b41378 mptscsih_ioc_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0x9c5d8505 mptscsih_show_info +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xacf08517 mptscsih_remove +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xd28b4cc4 mptscsih_bios_param +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xde0e706a mptscsih_flush_running_cmds +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xdf0f517e mptscsih_host_reset +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe1c31ec2 mptscsih_taskmgmt_response_code +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe2fb3365 mptscsih_change_queue_depth +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xe67b0787 mptscsih_qcmd +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xed3c6e46 mptscsih_shutdown +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xef1f9002 mptscsih_io_done +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xef5a498a mptscsih_taskmgmt_complete +EXPORT_SYMBOL drivers/message/fusion/mptscsih 0xf5683823 mptscsih_event_process +EXPORT_SYMBOL drivers/mfd/axp20x 0x371cb04b axp20x_device_remove +EXPORT_SYMBOL drivers/mfd/axp20x 0xae91cb85 axp20x_match_device +EXPORT_SYMBOL drivers/mfd/axp20x 0xb4200d70 axp20x_device_probe +EXPORT_SYMBOL drivers/mfd/dln2 0x07110075 dln2_register_event_cb +EXPORT_SYMBOL drivers/mfd/dln2 0xe4fc2d7f dln2_transfer +EXPORT_SYMBOL drivers/mfd/dln2 0xfce2e730 dln2_unregister_event_cb +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0x0ab2e0db pasic3_write_register +EXPORT_SYMBOL drivers/mfd/htc-pasic3 0xe4c3174d pasic3_read_register +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x01b1ae62 mc13xxx_unlock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x28c007a7 mc13xxx_irq_unmask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x3a66c922 mc13xxx_irq_free +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x5292fa17 mc13xxx_irq_request +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x749b91ff mc13xxx_reg_read +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0x80c7aa92 mc13xxx_irq_mask +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xb0060577 mc13xxx_get_flags +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xc909fdfc mc13xxx_reg_write +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xcf5d8dcf mc13xxx_reg_rmw +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xdc1a3d21 mc13xxx_lock +EXPORT_SYMBOL drivers/mfd/mc13xxx-core 0xfbb9b7fa mc13xxx_irq_status +EXPORT_SYMBOL drivers/mfd/tps65010 0x02d4ad0f tps65013_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0x0c6ad2cf tps65010_config_vdcdc2 +EXPORT_SYMBOL drivers/mfd/tps65010 0x28485130 tps65010_config_vregs1 +EXPORT_SYMBOL drivers/mfd/tps65010 0x33739de7 tps65010_set_vib +EXPORT_SYMBOL drivers/mfd/tps65010 0x9fd44c69 tps65010_set_led +EXPORT_SYMBOL drivers/mfd/tps65010 0xb14080cc tps65010_set_low_pwr +EXPORT_SYMBOL drivers/mfd/tps65010 0xd5bb106d tps65010_set_vbus_draw +EXPORT_SYMBOL drivers/mfd/tps65010 0xe99b3f36 tps65010_set_gpio_out_value +EXPORT_SYMBOL drivers/mfd/wm8994 0x174964ef wm8994_irq_init +EXPORT_SYMBOL drivers/mfd/wm8994 0x197a0587 wm8958_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x2b40be1e wm8994_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x424ac463 wm8994_base_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0x861807aa wm1811_regmap_config +EXPORT_SYMBOL drivers/mfd/wm8994 0xcf5dbe8b wm8994_irq_exit +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x4176b1a7 ad_dpot_probe +EXPORT_SYMBOL drivers/misc/ad525x_dpot 0x633a6d4c ad_dpot_remove +EXPORT_SYMBOL drivers/misc/altera-stapl/altera-stapl 0x5bafa76e altera_init +EXPORT_SYMBOL drivers/misc/c2port/core 0x58c743ca c2port_device_unregister +EXPORT_SYMBOL drivers/misc/c2port/core 0x7e06eb2d c2port_device_register +EXPORT_SYMBOL drivers/misc/tifm_core 0x0b7472ff tifm_unmap_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0x0ffb277f tifm_queue_work +EXPORT_SYMBOL drivers/misc/tifm_core 0x34ac8fb1 tifm_remove_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x5a2928cd tifm_alloc_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0x8d2eae7d tifm_eject +EXPORT_SYMBOL drivers/misc/tifm_core 0x9f30d441 tifm_alloc_device +EXPORT_SYMBOL drivers/misc/tifm_core 0xb0826e65 tifm_register_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xba7e8bb3 tifm_add_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xc283efb6 tifm_has_ms_pif +EXPORT_SYMBOL drivers/misc/tifm_core 0xc87fd19b tifm_free_adapter +EXPORT_SYMBOL drivers/misc/tifm_core 0xda768b2b tifm_map_sg +EXPORT_SYMBOL drivers/misc/tifm_core 0xe3d07858 tifm_unregister_driver +EXPORT_SYMBOL drivers/misc/tifm_core 0xee4cae51 tifm_free_device +EXPORT_SYMBOL drivers/mmc/host/cqhci 0x321582ad cqhci_pltfm_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xab20a9db cqhci_init +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xd2b3547d cqhci_resume +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xd5b9171a cqhci_deactivate +EXPORT_SYMBOL drivers/mmc/host/cqhci 0xec1e46d0 cqhci_irq +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0xd83397f6 mmc_spi_get_pdata +EXPORT_SYMBOL drivers/mmc/host/of_mmc_spi 0xe6257cc1 mmc_spi_put_pdata +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x93cc4dfc cfi_build_cmd_addr +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0x9e5a17ad cfi_varsize_frob +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xa645acf1 cfi_build_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xae9bef3b cfi_send_gen_cmd +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xcb8e0fcc cfi_merge_status +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xd3ded887 cfi_read_pri +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xfebd2476 cfi_fixup +EXPORT_SYMBOL drivers/mtd/chips/cfi_util 0xff9fa623 cfi_udelay +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0x29798dd3 unregister_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xa750b4a8 register_mtd_chip_driver +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xbacfd1e9 do_map_probe +EXPORT_SYMBOL drivers/mtd/chips/chipreg 0xde4d7b9d map_destroy +EXPORT_SYMBOL drivers/mtd/chips/gen_probe 0xbf299c19 mtd_do_chip_probe +EXPORT_SYMBOL drivers/mtd/lpddr/lpddr_cmds 0x903b043f lpddr_cmdset +EXPORT_SYMBOL drivers/mtd/maps/map_funcs 0xc8939b2c simple_map_init +EXPORT_SYMBOL drivers/mtd/mtd 0xbaeaa140 mtd_concat_destroy +EXPORT_SYMBOL drivers/mtd/mtd 0xc41866dd mtd_concat_create +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x0705a9e7 nand_ecc_get_sw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x0d464275 nand_ecc_sw_hamming_calculate +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x23d5bbf2 nand_ecc_get_on_die_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x24114f91 nand_ecc_unregister_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x3847b099 nand_ecc_finish_io_req +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x48693dc9 nand_ecc_sw_hamming_cleanup_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x4cead317 nand_ecc_prepare_io_req +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x539df37e nand_ecc_sw_bch_init_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x65db3357 nand_ecc_sw_hamming_get_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x83056308 nand_ecc_sw_bch_get_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x8cb342ee nand_ecc_sw_hamming_correct +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x99661c0b nand_ecc_init_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x9a2f6837 nand_ecc_get_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x9a764fae of_get_nand_ecc_user_config +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0x9e6db784 nand_ecc_sw_bch_calculate +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xc4c6ef79 nand_ecc_cleanup_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xd3cdea16 nand_ecc_sw_bch_cleanup_ctx +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xd4168dc7 nand_ecc_is_strong_enough +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xd560313d nand_ecc_sw_bch_correct +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xe43454c8 nand_ecc_register_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xe6db989b ecc_sw_hamming_correct +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xf5762719 nand_ecc_put_on_host_hw_engine +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xff4351b0 ecc_sw_hamming_calculate +EXPORT_SYMBOL drivers/mtd/nand/nandcore 0xff7fac07 nand_ecc_sw_hamming_init_ctx +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0x8eaeaa3a onenand_addr +EXPORT_SYMBOL drivers/mtd/nand/onenand/onenand 0xceb2bac0 flexonenand_region +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x30db096f denali_calc_ecc_bytes +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0x89110e13 denali_remove +EXPORT_SYMBOL drivers/mtd/nand/raw/denali 0xa4ba040e denali_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x058dda08 rawnand_sw_hamming_cleanup +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x064cfaa6 rawnand_sw_bch_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x5911bf69 nand_read_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x60647304 nand_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x68fb57ae rawnand_sw_hamming_calculate +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x7b6b8806 rawnand_sw_bch_correct +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x85638740 nand_monolithic_read_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0x8ecbb3b8 nand_check_erased_ecc_chunk +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xaa6a441d rawnand_dt_parse_gpio_cs +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xbd0496b4 nand_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xc2c5ae6c rawnand_sw_hamming_init +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xcda82af2 nand_write_oob_std +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xd0c2f1cb nand_monolithic_write_page_raw +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xd363b00d nand_get_set_features_notsupp +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xd87a429b rawnand_sw_hamming_correct +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xdaa300fd nand_create_bbt +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xebe549bc nand_scan_with_ids +EXPORT_SYMBOL drivers/mtd/nand/raw/nand 0xffa837c7 rawnand_sw_bch_cleanup +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x1259d3bc alloc_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x338e40e6 arc_proto_map +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x4d67d375 arc_raw_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x60f75a2f free_arcdev +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x6534792a arcnet_debug +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x81e4b3e2 arc_proto_default +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x8fb34168 arcnet_close +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0x9deb39eb arcnet_timeout +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xe517b3d3 arcnet_open +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xecb730b0 arcnet_interrupt +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xf1d51572 arcnet_send_packet +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xf31447e4 arc_bcast_proto +EXPORT_SYMBOL drivers/net/arcnet/arcnet 0xfdc97cce arcnet_unregister_proto +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x00e694b6 com20020_found +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x8e3abff7 com20020_netdev_ops +EXPORT_SYMBOL drivers/net/arcnet/com20020 0x996b2154 com20020_check +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0x846d7b39 ctucan_resume +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0xe4c7be8e ctucan_probe_common +EXPORT_SYMBOL drivers/net/can/ctucanfd/ctucanfd 0xfe41946c ctucan_suspend +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0cc8daaf b53_mirror_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x0db3dbe5 b53_mdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x13f8f7ee b53_br_flags +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x16887656 b53_mirror_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x1b49fbac b53_fdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x21eef277 b53_br_join +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x273abb81 b53_get_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x2933335a b53_imp_vlan_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3245590a b53_disable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x34caf3d3 b53_switch_register +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x3df23adb b53_get_ethtool_phy_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x446a3857 b53_eee_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x527e850a b53_phylink_mac_link_down +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x65f2b0ff b53_vlan_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7bac46eb b53_get_strings +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x7d122e44 b53_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0x974afe40 b53_vlan_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xaa975560 b53_mdb_add +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xad6e5ecd b53_get_tag_protocol +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb0b9abe3 b53_fdb_del +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb2238810 b53_port_event +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb4f9514e b53_get_sset_count +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb622329d b53_configure_vlan +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb6e0e7a1 b53_switch_detect +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xb86bf7c0 b53_setup_devlink_resources +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xbeba4d08 b53_set_mac_eee +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xbf24e9ac b53_fdb_dump +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc5efe023 b53_get_ethtool_stats +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xc7632ea5 b53_br_leave +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd090cdb4 b53_enable_port +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd222c3d5 b53_br_fast_age +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd41788b9 b53_eee_enable_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd7781a21 b53_phylink_mac_link_up +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd91cb3cc b53_brcm_hdr_setup +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xd9fb1512 b53_br_flags_pre +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xdc433a2b b53_vlan_filtering +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xf3944595 b53_phylink_mac_config +EXPORT_SYMBOL drivers/net/dsa/b53/b53_common 0xfe21402c b53_br_set_stp_state +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x30e9ea16 b53_serdes_phylink_get_caps +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x41104cd6 b53_serdes_init +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0x92677dfb b53_serdes_link_set +EXPORT_SYMBOL drivers/net/dsa/b53/b53_serdes 0xd744ab26 b53_serdes_phylink_mac_select_pcs +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0x584e7985 lan9303_shutdown +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xa0771b03 lan9303_remove +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xada83f40 lan9303_register_set +EXPORT_SYMBOL drivers/net/dsa/lan9303-core 0xfb0b792c lan9303_probe +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz8795 0xcc2f8166 ksz8_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz9477 0xd8d1b50d ksz9477_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x41271f0d ksz_switch_register +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0x5305d7e6 ksz_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/microchip/ksz_common 0xc6516116 ksz_switch_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x8d1574c8 vsc73xx_remove +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0x99d242fe vsc73xx_is_addr_valid +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0xf01b7d58 vsc73xx_shutdown +EXPORT_SYMBOL drivers/net/dsa/vitesse-vsc73xx-core 0xf8f3b8aa vsc73xx_probe +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x06dce48b xrs700x_switch_register +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x07e5eab7 xrs700x_switch_alloc +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x3f4cb890 xrs700x_switch_remove +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x5ede00ee xrs700x_switch_shutdown +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x83b7b667 xrs7003f_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0x8972bf7e xrs7004f_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xb25facfa xrs7003e_info +EXPORT_SYMBOL drivers/net/dsa/xrs700x/xrs700x 0xb89aa5e3 xrs7004e_info +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x0c79f408 ei_poll +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x119721ac ei_interrupt +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x153c6221 NS8390_init +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x1c0135c7 __alloc_ei_netdev +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x35b2e147 ei_set_multicast_list +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x39b501cf ei_start_xmit +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x3eccc941 ei_open +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x3f70d67d ei_tx_timeout +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0x51cd7b68 ei_close +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xa91a5fb6 ei_netdev_ops +EXPORT_SYMBOL drivers/net/ethernet/8390/8390 0xa997b91d ei_get_stats +EXPORT_SYMBOL drivers/net/ethernet/aquantia/atlantic/atlantic 0x9b089d76 aq_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/broadcom/bnxt/bnxt_en 0x27f948f0 bnxt_ulp_probe +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0x636af174 cnic_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/broadcom/cnic 0xac76d783 cnic_register_driver +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0x0a8afe54 cavium_ptp_get +EXPORT_SYMBOL drivers/net/ethernet/cavium/common/cavium_ptp 0x2f21b23c cavium_ptp_put +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x0d8be5fd bgx_lmac_rx_tx_enable +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x34eeb48a bgx_set_dmac_cam_filter +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x42264715 bgx_get_lmac_count +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x46cdf933 bgx_config_timestamping +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x539ca253 bgx_get_lmac_mac +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x60cd1f2f bgx_lmac_get_pfc +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x6ca2152d bgx_lmac_set_pfc +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x716fd7f0 bgx_reset_xcast_mode +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0x72b238e4 bgx_get_rx_stats +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xbe654297 bgx_get_tx_stats +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xc397f585 bgx_lmac_internal_loopback +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xc82be691 bgx_get_map +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xd8ed0bcc bgx_set_lmac_mac +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xf101d1b2 bgx_get_lmac_link_state +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_bgx 0xff987a02 bgx_set_xcast_mode +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_xcv 0x13912e4b xcv_init_hw +EXPORT_SYMBOL drivers/net/ethernet/cavium/thunder/thunder_xcv 0x4f739dc0 xcv_setup_link +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x01269f25 cxgb3_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0b62836c dev2t3cdev +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x0da8da4e cxgb3_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x29c683cb cxgb3_register_client +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x2a3d1da7 cxgb3_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x39381d8f cxgb3_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x3e7bcb45 cxgb3_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x4f4879e2 t3_l2e_free +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7a2f8a2a t3_l2t_send_slow +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x7bc2093e t3_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0x8e27aff2 cxgb3_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xbd6d46e0 cxgb3_insert_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xc1cc5a15 t3_l2t_send_event +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xda08d807 cxgb3_queue_tid_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xdb194a0d cxgb3_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb3/cxgb3 0xfc94c343 t3_register_cpl_handler +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x047f9313 t4_cleanup_clip_tbl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x066bd60d cxgb4_update_root_dev_clip +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x0f1a5528 cxgb4_unregister_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x11079e92 cxgb4_write_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x18ebef0b cxgb4_port_chan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x216fdd6c cxgb4_alloc_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x23aac8b0 cxgb4_immdata_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x28b15748 cxgb4_read_sge_timestamp +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x3bf89779 cxgb4_reclaim_completed_tx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x41ea9b97 cxgb4_sync_txq_pidx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4910cb9e cxgb4_create_server6 +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x49431fe4 cxgb4_alloc_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x4bfceeab cxgb4_l2t_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50125ffd cxgb4_ring_tx_db +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x50ee5c07 cxgb4_best_aligned_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6014407d cxgb4_remove_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x6c3d9284 cxgb4_alloc_sftid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7501f0b6 cxgb4_dbfifo_count +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x75b68356 cxgb4_check_l2t_valid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x760d26ef cxgb4_create_server +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x7ec005a7 cxgb4_write_partial_sgl +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x84a79d13 cxgb4_ofld_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x87361dd6 cxgb4_get_srq_entry +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x873fad28 cxgb4_clip_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x87779b91 cxgb4_bar2_sge_qregs +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8797bd60 cxgb4_iscsi_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x8f57f6c9 cxgb4_smt_alloc_switching +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x90bc6d41 cxgb4_register_uld +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x91ce1888 cxgb4_inline_tx_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x91e16614 cxgb4_free_stid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9445a1e9 cxgb4_free_atid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x94d1a3b9 cxgb4_map_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x94ec65fa cxgb4_remove_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x96601c8d cxgb4_clip_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9b390a41 cxgb4_port_idx +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0x9da46e46 cxgb4_port_e2cchan +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xa69e9f49 cxgb4_port_viid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xb5d4fc6e cxgb4_get_tcp_stats +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc06fa5f1 cxgb4_remove_tid +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc3078aca cxgb4_l2t_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xc7d97513 cxgb4_select_ntuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xd69a0294 cxgb4_best_mtu +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe05eabc5 cxgb4_pktgl_to_skb +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xe0aabbd0 cxgb4_l2t_get +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xed1f7487 cxgb4_create_server_filter +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf1fb0fde cxgb4_smt_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf6eb8f14 cxgb4_l2t_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xf784bc7e cxgb4_crypto_send +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfb8250bc cxgb4_read_tpte +EXPORT_SYMBOL drivers/net/ethernet/chelsio/cxgb4/cxgb4 0xfdcd3824 cxgb4_flush_eq_cache +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x1bdaafe1 cxgbi_tagmask_set +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x255ab30f cxgb_get_4tuple +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x4aa17f69 cxgbi_ppm_ppods_reserve +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x67277c14 cxgb_find_route +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0x9c9ac788 cxgbi_ppm_init +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xdfc1bdc4 cxgbi_ppm_make_ppod_hdr +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xe88c6492 cxgbi_ppm_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xf79a217f cxgbi_ppm_ppod_release +EXPORT_SYMBOL drivers/net/ethernet/chelsio/libcxgb/libcxgb 0xfe12600c cxgb_find_route6 +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x633a8d74 vnic_dev_get_res_count +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x703f3323 enic_api_devcmd_proxy_by_index +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x781cdb6a vnic_dev_unregister +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x9615460d vnic_dev_get_res +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0x9a988fcb vnic_dev_register +EXPORT_SYMBOL drivers/net/ethernet/cisco/enic/enic 0xcc5630fe vnic_dev_get_pdev +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x4e2e10d2 be_roce_mcc_cmd +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0x5f41da57 be_roce_register_driver +EXPORT_SYMBOL drivers/net/ethernet/emulex/benet/be2net 0xdc803e02 be_roce_unregister_driver +EXPORT_SYMBOL drivers/net/ethernet/freescale/enetc/fsl-enetc-ierb 0xc7ee891f enetc_ierb_register_pf +EXPORT_SYMBOL drivers/net/ethernet/freescale/enetc/fsl-enetc-ptp 0x5431a304 enetc_phc_index +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x1f06bca5 fun_dev_disable +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0x6d9fbebf fun_release_irqs +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0xbcc33da5 fun_dev_enable +EXPORT_SYMBOL drivers/net/ethernet/fungible/funcore/funcore 0xdffcaf6a fun_reserve_irqs +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0x9ac857b6 iavf_unregister_client +EXPORT_SYMBOL drivers/net/ethernet/intel/iavf/iavf 0xccb326d2 iavf_register_client +EXPORT_SYMBOL drivers/net/ethernet/intel/ice/ice 0x965ff908 ice_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/intel/ixgbe/ixgbe 0xbaa35511 ixgbe_xdp_locking_key +EXPORT_SYMBOL drivers/net/ethernet/marvell/prestera/prestera 0x425b50b9 prestera_device_register +EXPORT_SYMBOL drivers/net/ethernet/marvell/prestera/prestera 0x9bd95ffa prestera_device_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0461ca1b mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0b9d4b04 mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0f1ed7b9 mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x11cfc87b mlx4_get_parav_qkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1cf0ab1b mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1d540409 mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x222df097 mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3773a9de mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3a31b0ef mlx4_get_eqs_per_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3b7f4608 mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3c0bf5b2 mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x427fab90 mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x42fc383e mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4324f9d8 mlx4_query_diag_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x480c4140 set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x53eced6e set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5a774d3e mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5ece3dbb mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5f766bab mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x674e08f0 mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6e55a742 mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x791d46e6 mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7bceac88 mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7ee52d03 mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fdde0b4 mlx4_handle_eth_header_mcast_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x94d893ab mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x971776bf mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9ba79e59 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9deb3c66 mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa60c32ff mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa7b2305a mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xaee578ce mlx4_sync_pkey_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb6db1c4b mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbaa2d569 get_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc56d2bc4 mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc9c4c852 mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd00cac27 mlx4_gen_port_state_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd04573a2 mlx4_SET_PORT_user_mtu +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd214548b mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdb8f9529 mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdf7e11d9 mlx4_test_async +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeb6d49ee mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xed7bfd54 mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf063d4b9 mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfa0445e4 mlx4_SET_PORT_user_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x011dac42 mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x01676914 mlx5_lag_get_peer_mdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0238da12 mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x039a1bc1 mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x06ad0d57 mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x076d5efa mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0a3639dd mlx5_mpfs_add_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0a8c8ba0 mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0b6d1f4d mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0cb23d8a mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0cce88b9 mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0d5e146e mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0e0b119a mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x105232a4 mlx5_lag_is_master +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1168cd37 mlx5_eswitch_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x12cfbdd9 mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x14e33da2 __traceiter_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x190e70a3 mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e38486c __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e503b79 mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1ea3777d mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x227d2233 mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x22bce683 __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x25e1e167 mlx5_cmd_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2640240b mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x26f26382 mlx5_eswitch_get_vport_metadata_for_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x27b5685b mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2b299bd1 mlx5_debugfs_get_dev_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2bf560dd mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2c37cf09 mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2d582513 mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2f2d5b97 mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2f432098 mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2f50235b mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x32fc77d1 __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3315f54b mlx5_vf_put_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x33e30676 mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3475821f __SCK__tp_func_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x367c2178 mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x38c1c913 mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x396566d0 mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x39e4952a mlx5_rsc_dump_cmd_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3da47994 mlx5_mpfs_del_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3df7509e mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3ed26aca __traceiter_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3f11572b mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3f9d000f mlx5_core_alloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3ff65c92 mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4356b8a7 mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x45795186 mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4618c723 mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4cf7e09e mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4d395fc4 mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4d5f5c07 __SCK__tp_func_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4e8404e7 mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x559ac38d __SCK__tp_func_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x59f184e5 mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5a2d5338 __traceiter_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5bcd7898 mlx5_lag_get_num_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5c146789 mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5e732f5b mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6123155c mlx5_sriov_blocking_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x61492bb7 mlx5_rl_are_equal +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6228f625 mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x65a23ecd mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6875a74b mlx5_lag_is_shared_fdb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x68cb5a64 __traceiter_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6b1fdb8e mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6c583529 mlx5_query_ib_port_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6f14b7a1 mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6fd7cba6 mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7250205b mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7261330b __SCK__tp_func_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x732c14c4 mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x73e13c26 __traceiter_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x757574ac mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x77d21b9e mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x78112e07 mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7af9293e mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7b359a09 __SCK__tp_func_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7c2ed66c mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7f5caaeb mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fd709fe __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x82692cda mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x82f3762b mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x84bd40c5 mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x85d954eb mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x872e7c67 __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8a8ac746 mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8b67f1c0 mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8c6e61ad mlx5_create_flow_group +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8ca01bd9 mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x90e54846 __traceiter_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x91416c3d mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x91870b25 mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9300254e __traceiter_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x935279a3 mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x945a1d30 mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96eb2c99 mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9745ea77 mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x97511fe3 mlx5_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9b3bb0f3 mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d13db13 mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d6135dc __SCK__tp_func_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa6057ae7 mlx5_cmd_out_err +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa78a66b7 mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xad6815cd mlx5_rsc_dump_cmd_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xafb0170d __traceiter_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb009f8bc mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb0569933 mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb24700ce mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb400dc06 mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb4119f02 mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb5a8279c mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb72cffaf __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb893b105 mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb8ab4754 mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbb475e47 __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbdcea230 mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbf6efe07 mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc19fc644 mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc23f89bb mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc2de2db5 mlx5_is_roce_on +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc50a28a2 mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc6e2fde4 mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc2828cc mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd1978c87 mlx5_destroy_flow_group +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd6c3be3d __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd7ae114f mlx5_cmd_do +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd802bf7d mlx5_create_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd81236c7 mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdd4249c4 mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe0432751 mlx5_rsc_dump_next +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe2bd07de mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe3474788 mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe36360c5 __traceiter_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe47d1dac mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe4e09c2b __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe5b04a45 mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe5fcf4c5 mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe8c3279f mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xea76fb2b mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeb9a8bcf __SCK__tp_func_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xed352304 mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xee6dd327 mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf1eb03c3 mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf573ef5d mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf591c842 mlx5_vf_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf649cbae mlx5_sriov_blocking_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf7ef3ca5 mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf88d57b1 __SCK__tp_func_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf97212cb mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf999a439 mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfa27c4d7 mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfba40dbf mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfc8e744e __SCK__tp_func_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfcb00c68 mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfebdf3dc mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xff1ab173 mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0xaf1a42d8 mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0137f952 mlxsw_afk_values_add_buf +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02815b77 mlxsw_env_module_port_up +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02dfd3d0 mlxsw_afk_key_info_block_encoding_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x07abcc0c mlxsw_afa_block_append_trap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x087c0c78 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0ca34ccf mlxsw_core_max_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x10d3c264 mlxsw_core_port_is_xm +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x14e17bb4 mlxsw_linecards_event_ops_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x15801382 mlxsw_afk_key_info_put +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x17833157 mlxsw_env_reset_module +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x18b0ad00 mlxsw_afa_block_append_police +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x19fa5852 mlxsw_core_flush_owq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1ba9a70b mlxsw_core_rx_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1c6605f6 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1cb8f858 mlxsw_reg_trans_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x202693f0 mlxsw_afa_block_cur_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x21daf3af mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2a4ddd44 mlxsw_env_get_module_power_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x315eafd1 mlxsw_core_trap_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x38185d87 mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4036254f mlxsw_linecards_event_ops_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x406b4614 mlxsw_afa_block_append_counter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x43a9b87e mlxsw_afa_block_terminate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x47041e4e mlxsw_afk_key_info_blocks_count_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x484489a4 mlxsw_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4a9e3580 mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4b0bae55 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4e6be521 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5019c7c6 mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x508923e3 mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x51b5769d mlxsw_env_module_overheat_counter_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x55a65610 mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x58d3cb62 mlxsw_core_ptp_transmitted +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5a099407 mlxsw_afa_block_append_qos_dscp +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5a939205 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5cf3dd79 mlxsw_core_bus_device_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5ff17b5c mlxsw_afa_block_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x618a30ab mlxsw_afa_block_commit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x63874d4c mlxsw_core_port_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6393daff mlxsw_core_trap_state_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x65e16da4 mlxsw_afk_key_info_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x68120413 mlxsw_core_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6929f2b4 mlxsw_env_module_port_map +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73489011 mlxsw_afa_block_append_ip +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x75339042 mlxsw_core_lag_mapping_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77d83398 mlxsw_core_read_frc_l +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7b0bfeec mlxsw_core_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7b3d23b0 mlxsw_afa_block_append_mirror +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7ca5b4d4 mlxsw_afa_block_append_sampler +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7e08c6e0 mlxsw_core_event_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7f659d4c mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x827a2f1f mlxsw_afa_block_jump +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x829e8851 mlxsw_afa_block_first_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x834f2138 mlxsw_core_rx_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x83fb69af mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x858c30d0 mlxsw_afa_block_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8854d198 mlxsw_reg_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x902c3533 mlxsw_core_schedule_dw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x950a1607 mlxsw_core_port_eth_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x963cfb6a mlxsw_core_resources_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x9641f7b1 mlxsw_env_get_module_eeprom +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x97035a9c mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x97e62e6e mlxsw_env_get_module_eeprom_by_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x98bfa19b mlxsw_env_set_module_power_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x996c5d6d mlxsw_reg_trans_bulk_wait +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x9cbf026d mlxsw_afa_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x9e41f494 mlxsw_afk_encode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa4cec3c7 mlxsw_core_bus_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7765e88 mlxsw_reg_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xac1074a5 mlxsw_core_skb_transmit_busy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xaf79cab9 mlxsw_core_trap_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb6517b2e mlxsw_afa_block_append_trap_and_forward +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb68e9fa8 mlxsw_env_module_port_unmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb6b40684 mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb7686727 mlxsw_core_skb_transmit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xba05b3b0 mlxsw_core_emad_string_tlv_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbc222a8d mlxsw_afk_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfb7df3c mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xc9dc65ba mlxsw_core_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xcbab836f mlxsw_core_fw_rev_minor_subminor_validate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xcbd64375 mlxsw_afa_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd0032f00 mlxsw_core_port_devlink_port_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd28256cf mlxsw_afa_block_append_allocated_counter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd71566b9 mlxsw_core_schedule_work +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd7a93413 mlxsw_core_event_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd84eb6b0 mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd9f711ae mlxsw_afa_block_append_mcrouter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdab47342 mlxsw_core_traps_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdc31781e mlxsw_reg_trans_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdc415cf1 mlxsw_afa_block_continue +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdc8374bb mlxsw_core_traps_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xde4e211f mlxsw_afa_block_append_l4port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeab0691 mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeb1dc2e mlxsw_afa_block_first_kvdl_index +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe16986dd mlxsw_afa_block_activity_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe5540be5 mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xecab212a mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xed2801d4 mlxsw_env_module_port_down +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xeda7a5d0 mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf82bdc70 mlxsw_core_lag_mapping_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xff007c25 mlxsw_core_cpu_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0x15364573 mlxsw_i2c_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_i2c 0xf9c3dcb7 mlxsw_i2c_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x8777d66a mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x9fe3f4b6 mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x04a821fa ocelot_vcap_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0bdd5a31 ocelot_port_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x0e297522 ocelot_fdb_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x11cbfa06 ocelot_vcap_filter_replace +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1261d862 ocelot_sb_tc_pool_bind_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x14fa51c5 ocelot_mact_lookup +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x19453204 vsc7514_vcap_is1_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x1d975361 ocelot_vlan_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x21f28f38 ocelot_vlan_prepare +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x22f31724 ocelot_get_sset_count +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x274a0e05 ocelot_port_fdb_do_dump +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2a94d05d ocelot_mrp_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2b09847e ocelot_vcap_filter_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2bc8e6dc ocelot_init +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2ee2eeab ocelot_vcap_block_find_filter_by_id +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x2f4cd767 ocelot_mrp_add_ring_role +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x351d5340 ocelot_get_strings +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x38512f8f ocelot_port_lag_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x402d44ec ocelot_ptp_adjtime +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x40af666d ocelot_port_set_maxlen +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4271543f vsc7514_vcap_es0_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x42b61604 ocelot_mact_learn_streamdata +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4e6b3485 ocelot_get_ethtool_stats +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x643375f4 ocelot_port_lag_change +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x67bc5111 ocelot_vcap_policer_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x695068c5 ocelot_deinit_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6c25b705 ocelot_ptp_verify +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6f306238 ocelot_vcap_filter_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x70bd31bb ocelot_mrp_del_ring_role +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x72e11393 ocelot_get_txtstamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x745f7f09 ocelot_init_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x77221a17 ocelot_policer_validate +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7ad1c12a ocelot_port_mdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7ff3ed3f ocelot_port_bridge_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x80a75405 vsc7514_vcap_is2_keys +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8114ff06 ocelot_init_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x8c0ebf0d ocelot_devlink_sb_unregister +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9002d990 ocelot_sb_occ_snapshot +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x90cbb220 vsc7514_vcap_is2_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9241f400 ocelot_mact_learn +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9381969d vsc7514_ana_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x94997d27 ocelot_port_vlan_filtering +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x987b5d83 ocelot_hwstamp_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9a56aba6 ocelot_sb_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9bc31113 ocelot_bridge_stp_state_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9c4f7abb ocelot_sb_tc_pool_bind_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9ccfde2a ocelot_hwstamp_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9d442141 vsc7514_rew_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9d849a52 ocelot_devlink_sb_register +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9f3aacd5 ocelot_set_ageing_time +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa329805c ocelot_sb_port_pool_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa386baf3 ocelot_fdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa5b15aa9 ocelot_can_inject +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa74bb0d8 ocelot_deinit +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa8413d7e vsc7514_sys_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xae9899cb ocelot_port_bridge_join +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb1bff65a ocelot_sb_occ_max_clear +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb30c4b92 vsc7514_ptp_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb9cf23c0 ocelot_drain_cpu_queue +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb9d4e71a ocelot_sb_port_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbaf3ae71 ocelot_xtr_poll_frame +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbb4d935d ocelot_ptp_settime64 +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbba17367 vsc7514_qsys_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xbf48ddc1 vsc7514_qs_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc22d450d ocelot_port_inject_frame +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc24b9620 ocelot_sb_occ_port_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc328e8b0 ocelot_port_pre_bridge_flags +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc34b3c91 ocelot_deinit_port +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc53dfb67 ocelot_sb_pool_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc892b94d ocelot_sb_occ_tc_port_bind_get +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xcd7e30ba ocelot_ptp_enable +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xceed5e7e vsc7514_dev_gmii_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd0ebefd9 ocelot_ifh_port_set +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd33c9eed ocelot_get_max_mtu +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd49e0933 ocelot_ptp_rx_timestamp +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd687a545 vsc7514_vcap_es0_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd6eef848 ocelot_ptp_adjfine +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd7f6accd ocelot_port_bridge_flags +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xd85669fc ocelot_port_lag_leave +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xdbb4d459 ocelot_get_ts_info +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xdc68cf8d ocelot_port_txtstamp_request +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xdf382220 ocelot_vlan_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe4b54a9a ocelot_mrp_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe52e756b ocelot_port_policer_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe58be018 ocelot_fdb_add +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xea1b5ac9 vsc7514_vcap_regmap +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xecaa97fb vsc7514_vcap_is1_actions +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xed1eec29 ocelot_mact_forget +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xee71a9d6 ocelot_port_mdb_del +EXPORT_SYMBOL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xfa36412d ocelot_ptp_gettime64 +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x2fac56bd qed_get_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x4f264472 qed_put_iscsi_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x667609db qed_get_rdma_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x67632f1c qed_get_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x992e03d0 qed_put_fcoe_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0x9eeeef48 qed_put_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qed/qed 0xc45b131f qed_get_eth_ops +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0x116ec501 qede_rdma_register_driver +EXPORT_SYMBOL drivers/net/ethernet/qlogic/qede/qede 0x8d3d8471 qede_rdma_unregister_driver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x225e23b3 hdlcdrv_arbitrate +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x300b98a1 hdlcdrv_unregister +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0x50c571fd hdlcdrv_transmitter +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xd639c3d4 hdlcdrv_receiver +EXPORT_SYMBOL drivers/net/hamradio/hdlcdrv 0xe9991948 hdlcdrv_register +EXPORT_SYMBOL drivers/net/mdio 0x3e17f466 mdio_set_flag +EXPORT_SYMBOL drivers/net/mdio 0x60443957 mdio45_probe +EXPORT_SYMBOL drivers/net/mdio 0x63e0fee5 mdio45_links_ok +EXPORT_SYMBOL drivers/net/mdio 0xaadfd1af mdio45_ethtool_ksettings_get_npage +EXPORT_SYMBOL drivers/net/mdio 0xb79a54ee mdio45_nway_restart +EXPORT_SYMBOL drivers/net/mdio 0xcdbdeca7 mdio45_ethtool_gset_npage +EXPORT_SYMBOL drivers/net/mdio 0xdaceb7a6 mdio_mii_ioctl +EXPORT_SYMBOL drivers/net/mdio/mdio-bitbang 0x28bfb28f free_mdio_bitbang +EXPORT_SYMBOL drivers/net/mdio/mdio-bitbang 0x8cd4ac72 mdiobb_write +EXPORT_SYMBOL drivers/net/mdio/mdio-bitbang 0xd2400b9e alloc_mdio_bitbang +EXPORT_SYMBOL drivers/net/mdio/mdio-bitbang 0xd9714536 mdiobb_read +EXPORT_SYMBOL drivers/net/mdio/mdio-cavium 0x0bac06d8 cavium_mdiobus_write +EXPORT_SYMBOL drivers/net/mdio/mdio-cavium 0xf225f80e cavium_mdiobus_read +EXPORT_SYMBOL drivers/net/mdio/mdio-mscc-miim 0xd594e4ee mscc_miim_setup +EXPORT_SYMBOL drivers/net/mii 0x04a5c0a6 mii_ethtool_set_link_ksettings +EXPORT_SYMBOL drivers/net/mii 0x051534bd mii_ethtool_sset +EXPORT_SYMBOL drivers/net/mii 0x113d4b88 mii_check_media +EXPORT_SYMBOL drivers/net/mii 0x2f13a487 mii_link_ok +EXPORT_SYMBOL drivers/net/mii 0x49391234 mii_nway_restart +EXPORT_SYMBOL drivers/net/mii 0x688ef13b generic_mii_ioctl +EXPORT_SYMBOL drivers/net/mii 0x7d5e3cd8 mii_check_link +EXPORT_SYMBOL drivers/net/mii 0x97962b5a mii_ethtool_gset +EXPORT_SYMBOL drivers/net/mii 0xafdd707a mii_check_gmii_support +EXPORT_SYMBOL drivers/net/mii 0xbb7e0c2c mii_ethtool_get_link_ksettings +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0x0b39dceb lynx_pcs_create +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0x31602b06 lynx_get_mdio_device +EXPORT_SYMBOL drivers/net/pcs/pcs-lynx 0xa6bf0e9e lynx_pcs_destroy +EXPORT_SYMBOL drivers/net/phy/bcm-phy-lib 0x4006bc8c bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/ppp/pppox 0x354ca033 pppox_compat_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0x37d12843 register_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0x6bf7e61e pppox_ioctl +EXPORT_SYMBOL drivers/net/ppp/pppox 0xe0ff7a18 unregister_pppox_proto +EXPORT_SYMBOL drivers/net/ppp/pppox 0xf8c6f93a pppox_unbind_sock +EXPORT_SYMBOL drivers/net/sungem_phy 0xcd4d9705 sungem_phy_probe +EXPORT_SYMBOL drivers/net/team/team 0x06ad2800 team_modeop_port_enter +EXPORT_SYMBOL drivers/net/team/team 0x0e3fc323 team_option_inst_set_change +EXPORT_SYMBOL drivers/net/team/team 0x3b6ec0b3 team_options_register +EXPORT_SYMBOL drivers/net/team/team 0x7121a618 team_mode_unregister +EXPORT_SYMBOL drivers/net/team/team 0x970f9e2a team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/team/team 0xa821f880 team_options_change_check +EXPORT_SYMBOL drivers/net/team/team 0xdb94ed8f team_options_unregister +EXPORT_SYMBOL drivers/net/team/team 0xf2915612 team_mode_register +EXPORT_SYMBOL drivers/net/usb/usbnet 0x41d08033 usbnet_link_change +EXPORT_SYMBOL drivers/net/usb/usbnet 0xba5ac3a9 usbnet_device_suggests_idle +EXPORT_SYMBOL drivers/net/usb/usbnet 0xdf7354f9 usbnet_manage_power +EXPORT_SYMBOL drivers/net/wan/hdlc 0x03127fd6 register_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x57d295f8 attach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0x5a28bc2c hdlc_ioctl +EXPORT_SYMBOL drivers/net/wan/hdlc 0x8afdcbe9 hdlc_start_xmit +EXPORT_SYMBOL drivers/net/wan/hdlc 0x8d528fc8 unregister_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xb2162a8d hdlc_open +EXPORT_SYMBOL drivers/net/wan/hdlc 0xdc13dabd detach_hdlc_protocol +EXPORT_SYMBOL drivers/net/wan/hdlc 0xe0b4b341 unregister_hdlc_device +EXPORT_SYMBOL drivers/net/wan/hdlc 0xea9f337e hdlc_close +EXPORT_SYMBOL drivers/net/wan/hdlc 0xf1308eb8 alloc_hdlcdev +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x0b1ab353 ath_regd_get_band_ctl +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x1080c7ae ath_reg_notifier_apply +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x108b188f ath_is_49ghz_allowed +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x2273dc53 ath_regd_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x2e255679 ath_hw_keyreset +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x4571aea8 ath_is_world_regd +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x6f717a4c ath_hw_setbssidmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x79807311 ath_hw_get_listen_time +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x84e5cad7 ath_hw_keysetmac +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0x9c0a59b1 ath_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xa18f224e ath_regd_find_country_by_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb120088d ath_key_delete +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xb6588ba6 ath_bus_type_strings +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xcf8aef16 ath_key_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xd0cad5ba dfs_pattern_detector_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xe56af78a ath_rxbuf_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xf345c9db ath_is_mybeacon +EXPORT_SYMBOL drivers/net/wireless/ath/ath 0xfa9917c2 ath_hw_cycle_counters_update +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x011e86f7 ath10k_bmi_read_memory +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x015e5db2 ath10k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x03ce5e07 ath10k_core_unregister +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0428576c ath10k_htc_rx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x0533e3b8 ath10k_ce_dump_registers +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x1318b7b0 ath10k_print_driver_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x2281b643 ath10k_ce_free_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x248dc454 ath10k_ce_disable_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x27885aea __ath10k_ce_send_revert +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x382e7cbc ath10k_ce_alloc_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x3c362a21 ath10k_ce_deinit_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x40ce5044 ath10k_ce_revoke_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x43c85761 ath10k_ce_init_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x44bd41d2 ath10k_ce_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x45240455 ath10k_core_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x50910ed5 ath10k_bmi_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x553449bb ath10k_ce_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x55d39fb2 ath10k_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x567eb248 ath10k_ce_num_free_src_entries +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x64913bc3 ath10k_ce_completed_recv_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x64fa6b1c ath10k_coredump_get_mem_layout +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x685df510 ath10k_htc_notify_tx_completion +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x6c66634b ath10k_core_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7271dc51 ath10k_core_napi_sync_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x742864e0 ath10k_mac_tx_push_pending +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x75c692be ath10k_ce_completed_send_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x76d57954 ath10k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7b694e89 ath10k_ce_per_engine_service_any +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x7e5fdf8d ath10k_ce_free_rri +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x899ca8fb ath10k_core_start_recovery +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x8b0bb92d ath10k_ce_completed_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x95b9f4c3 ath10k_core_check_dt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x99a04bb5 ath10k_htt_hif_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9d600f45 ath10k_ce_completed_recv_next_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0x9eb54ae1 ath10k_coredump_new +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa1e4849a __tracepoint_ath10k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa245413d ath10k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa4c827a4 ath10k_htt_txrx_compl_task +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa8105b1f ath10k_ce_rx_update_write_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xa8c6d686 ath10k_ce_send +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xaa7efb6c ath10k_ce_cancel_send_next +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xaf709384 ath10k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb17d4546 ath10k_htt_rx_hl_indication +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xb485f873 ath10k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xc826fa98 ath10k_ce_enable_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xce6aa89f ath10k_htc_process_trailer +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xcfc7f96d ath10k_core_napi_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd30dc220 ath10k_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xd9fabfef ath10k_htc_tx_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xde5a946f ath10k_htt_rx_pktlog_completion_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe210cea5 __ath10k_ce_rx_num_free_bufs +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe4c5914d ath10k_ce_alloc_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe6406fdf ath10k_ce_send_nolock +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xe73c0516 ath10k_core_free_board_files +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf0e2a13b ath10k_htt_t2h_msg_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf37d9cbe ath10k_core_fetch_board_file +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xf775b78c ath10k_core_register +EXPORT_SYMBOL drivers/net/wireless/ath/ath10k/ath10k_core 0xffc5eecf ath10k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x011b74b1 ath11k_pcic_register_pci_ops +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x07e633d6 ath11k_pcic_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x10cfb40b ath11k_core_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x12428e3a ath11k_hal_srng_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x16d1263f ath11k_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x265fff3e ath11k_pcic_free_irq +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x2b3dca7d ath11k_core_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x31d3d65b ath11k_core_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x37dd389d ath11k_dp_service_srng +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x3ff21680 ath11k_pcic_ext_irq_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x4eaa23a6 ath11k_core_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x5452ecdc ath11k_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x588f208d ath11k_pcic_init_msi_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x5da5a33a ath11k_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x606a5b5a __tracepoint_ath11k_log_dbg +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x69e2ae8b ath11k_pcic_map_service_to_pipe +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x70994ebb ath11k_pcic_read32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x82fbd691 ath11k_ce_get_shadow_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x93bd70fb ath11k_ce_rx_post_buf +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x9c51bcc4 ath11k_debug_mask +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0x9d5df3f3 ath11k_pcic_write32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xa829d167 ath11k_hal_srng_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xaa1924a2 ath11k_ce_cleanup_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xaa5eaacf ath11k_pcic_ce_irqs_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xaa6e94c2 ath11k_core_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xac63e72e ath11k_pcic_get_ce_msi_idx +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xaf6e9797 ath11k_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xb4c24651 ath11k_qmi_deinit_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xbd87e461 ath11k_pcic_ce_irq_disable_sync +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xc09825ba ath11k_ce_per_engine_service +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xc31eda07 ath11k_core_pre_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xcd30cad2 ath11k_pcic_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xd4ceb8d1 ath11k_pcic_get_msi_address +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xd625b41a ath11k_ce_free_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xe0c1bc1d ath11k_pcic_config_irq +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xe3485d11 ath11k_ce_alloc_pipes +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xe76c384a ath11k_debugfs_soc_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf0197188 ath11k_cold_boot_cal +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf1068ece ath11k_pcic_ext_irq_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf2a8cfc8 ath11k_ce_get_attr_flags +EXPORT_SYMBOL drivers/net/wireless/ath/ath11k/ath11k 0xf373f323 ath11k_pcic_get_user_msi_assignment +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1354043d ath6kl_warn +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x1660541d ath6kl_core_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x3502feef ath6kl_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x468b1bfe ath6kl_core_destroy +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x4ea5dbfb ath6kl_cfg80211_resume +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x5061d987 ath6kl_stop_txrx +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7da0b26e ath6kl_core_rx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x7e0db9e6 ath6kl_core_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x83cd6604 ath6kl_cfg80211_suspend +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x8df52e15 ath6kl_core_create +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0x91cfb84a ath6kl_hif_rw_comp_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb881b1a9 ath6kl_printk +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xb9a689dd ath6kl_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xc05b97ef ath6kl_hif_intr_bh_handler +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xc82b228e ath6kl_core_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath6kl/ath6kl_core 0xce04fd44 ath6kl_read_tgt_stats +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x0169d946 ath9k_cmn_beacon_config_sta +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x22275481 ath9k_cmn_process_rssi +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x2258f481 ath9k_cmn_debug_recv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x41aae67b ath9k_cmn_debug_stat_rx +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x46593de4 ath9k_cmn_get_hw_crypto_keytype +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x487533d6 ath9k_cmn_spectral_deinit_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x54ec6295 ath_cmn_process_fft +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x59cfcc60 ath9k_cmn_setup_ht_cap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x6f9fe0dc ath9k_cmn_debug_phy_err +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x80307f06 ath9k_cmn_init_crypto +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x896a04a9 ath9k_cmn_process_rate +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0x8c6e2d6c ath9k_cmn_spectral_scan_config +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xaf6ba687 ath9k_cmn_rx_accept +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xafd570af ath9k_cmn_spectral_scan_trigger +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xc87cd578 ath9k_cmn_reload_chainmask +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xce4762bc ath9k_cmn_debug_base_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd2981357 ath9k_cmn_count_streams +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xd7b2b4ce ath9k_cmn_debug_modal_eeprom +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xe1b11e82 ath9k_cmn_init_channels_rates +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xe5d696a7 ath9k_cmn_get_channel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xef33536c ath9k_cmn_beacon_config_adhoc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf268d2eb ath9k_cmn_beacon_config_ap +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf621a2cf ath9k_cmn_spectral_init_debug +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf7ded2c3 ath9k_cmn_rx_skb_postprocess +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_common 0xf8f9b3dc ath9k_cmn_update_txpow +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x00553530 ath9k_hw_set_tsfadjust +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x02d5429e ath9k_hw_setup_statusring +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0937e567 ath9k_hw_setuprxdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0ce0a9c1 ar9003_is_paprd_enabled +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0e03285f ath9k_hw_init +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0e42af87 ath9k_hw_addrxbuf_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x0f77dafc ath9k_hw_get_tsf_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x10bf0494 ath9k_hw_resettxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x13a4c7d9 ath_gen_timer_isr +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x13d7f815 ath9k_hw_init_btcoex_hw +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x172ab510 ath9k_hw_setpower +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x17ef648a ath9k_hw_txstart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x19dbef64 ar9003_paprd_create_curve +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1b173ee5 ath9k_hw_btcoex_init_scheme +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1cd09ac7 ath9k_hw_gpio_get +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x1fe78dd3 ar9003_paprd_populate_single_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x208805d5 ath_gen_timer_alloc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x24c380b9 ath9k_hw_gpio_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2555645e ath9k_hw_updatetxtriglevel +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x261618da ath9k_hw_beaconq_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x27c4e998 ar9003_mci_state +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x29e359c4 ath9k_hw_abort_tx_dma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x29f256f9 ath9k_hw_getchan_noise +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2aeb58d4 ar9003_mci_setup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x2d70f40a ar9003_hw_bb_watchdog_dbg_info +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x315568b7 ath9k_hw_setmcastfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x36c20101 ath9k_hw_wait +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x39496d1a ar9003_mci_set_bt_version +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x3ce20bca ath9k_hw_set_gpio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4247e852 ar9003_get_pll_sqsum_dvc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x43783fe6 ar9003_paprd_is_done +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x43db69ca ath9k_hw_check_alive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x44553b2f ath9k_hw_btcoex_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4699528a ath9k_hw_puttxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x47b2a572 ar9003_hw_bb_watchdog_check +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x48149d03 ath9k_hw_setrxabort +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x494e0c94 ath9k_hw_gen_timer_start +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4b6f9d44 ath9k_hw_abortpcurecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x4fb7731b ar9003_paprd_setup_gain_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x582d7aa6 ath9k_hw_set_tx_filter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5a9e50da ath9k_hw_deinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x5b9565b5 ath9k_hw_set_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x61856671 ath9k_hw_releasetxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x62f5e54f ath9k_hw_stopdmarecv +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x63d9397d ath9k_hw_check_nav +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x64aed9c1 ath9k_hw_computetxtime +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x65b3935c ath9k_hw_setantenna +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6618f3a3 ath9k_hw_kill_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x67643a33 ath9k_hw_init_global_settings +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x69f16263 ath9k_hw_gettsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x6abcaac0 ath9k_hw_gettxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x718d60eb ath9k_hw_disable_mib_counters +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x73804f29 ath9k_hw_wow_apply_pattern +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7ad9d337 ath_gen_timer_free +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7c00ef82 ath9k_hw_setrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7df3bc22 ath9k_hw_btcoex_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x7ee35007 ath9k_hw_beaconinit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x80258b31 ath9k_hw_reset_calvalid +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x81e22996 ath9k_hw_startpcureceive +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x8f5b5de5 ath9k_hw_process_rxdesc_edma +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x930f5e83 ar9003_mci_cleanup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x98fafd2b ath9k_hw_setopmode +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9add814d ath9k_hw_wow_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9ec7151e ath9k_hw_btcoex_init_mci +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9fc238cb ath9k_hw_write_associd +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0x9ff805aa ath9k_hw_getrxfilter +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa0ef1be3 ath9k_hw_reset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa129ec57 ath9k_hw_btcoex_bt_stomp +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa745dc61 ar9003_paprd_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa923006b ath9k_hw_gpio_request_in +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xa9fd7b20 ath9k_hw_set_txpowerlimit +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xac3e5d23 ar9003_mci_get_interrupt +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xafb17ff2 ath9k_hw_btcoex_enable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xafb272c3 ath9k_hw_get_txq_props +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb2fd4dd9 ath9k_hw_btcoex_init_3wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb3c8ff44 ath9k_hw_btcoex_set_weight +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb646098c ath9k_hw_disable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb9419e04 ath9k_hw_gen_timer_stop +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xb96af518 ath9k_hw_stop_dma_queue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbab100b1 ar9003_mci_send_wlan_channels +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xbe55165e ath9k_hw_putrxbuf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc11bb22f ath9k_hw_set_sta_beacon_timers +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc4a1242e ath9k_hw_numtxpending +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc5d81e42 ath9k_hw_getnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc6824b0c ath9k_hw_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc7a789e1 ath9k_hw_set_rx_bufsize +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xc7faa5c4 ath9k_hw_phy_disable +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd2d5be53 ath9k_hw_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd411cb57 ath9k_hw_bstuck_nfcal +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd4de62f5 ath9k_hw_gettsf32 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xd85e408d ath9k_hw_rxprocdesc +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe0dadddb ath9k_hw_btcoex_init_2wire +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe1c19aa1 ath9k_hw_resume_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe2c34b76 ath9k_hw_btcoex_set_concur_txprio +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe627809d ath9k_hw_ani_monitor +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xe6d37102 ath9k_hw_loadnf +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xec1c7988 ar9003_mci_get_next_gpm_offset +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xecdd722b ath9k_hw_settsf64 +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xed57f4e5 ar9003_paprd_init_table +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf0081b1e ath9k_hw_wow_wakeup +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf0581f16 ath9k_hw_gpio_request_out +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf3e714d9 ar9003_hw_disable_phy_restart +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf7037642 ath9k_hw_enable_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xf7aa925d ath9k_hw_setuptxqueue +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfc4aef2b ar9003_mci_send_message +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfd595952 ath9k_hw_name +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xff189710 ath9k_hw_set_interrupts +EXPORT_SYMBOL drivers/net/wireless/ath/ath9k/ath9k_hw 0xfffcb1b8 ath9k_hw_intrpend +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0x426cbe6a stop_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xbec68739 init_atmel_card +EXPORT_SYMBOL drivers/net/wireless/atmel/atmel 0xc8eb4d19 atmel_open +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x0c5761d8 brcmu_pktq_pdeq_match +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1906648e brcmu_boardrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x1f8149e7 brcmu_pkt_buf_free_skb +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x3cff5e04 brcmu_pktq_init +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x4d048507 brcmu_pktq_peek_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x937254f9 brcmu_pktq_pdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x9c1ea746 brcmu_pktq_mlen +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0x9ef95275 brcmu_pktq_flush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xa17c0ccf brcmu_dotrev_str +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xa9fbfbcd brcmu_pktq_penq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xab4fb988 brcmu_pktq_pflush +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xb326ad21 brcmu_pktq_mdeq +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xbb6bb099 brcmu_pktq_penq_head +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xd6217d91 brcmu_d11_attach +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xfa8d38f8 brcmu_pktq_pdeq_tail +EXPORT_SYMBOL drivers/net/wireless/broadcom/brcm80211/brcmutil/brcmutil 0xfff84154 brcmu_pkt_buf_get_skb +EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0x0e8534ef init_airo_card +EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0x2cd0a8ff stop_airo_card +EXPORT_SYMBOL drivers/net/wireless/cisco/airo 0x90a48d84 reset_airo_card +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x13fc3dbb libipw_freq_to_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x19c47e77 libipw_rx_mgt +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x3bfe70f7 libipw_txb_free +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x413f657c libipw_get_channel_flags +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x63b2bff9 libipw_networks_age +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6850b64b libipw_wx_set_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x6aec968b libipw_is_valid_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x73056d49 libipw_get_channel +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x8e3dfd08 libipw_set_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0x988889bf alloc_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xa15f315e libipw_rx +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xbe4d0530 libipw_wx_get_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xc0a4797b libipw_channel_to_freq +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xc5f9eeee libipw_channel_to_index +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xcaaac672 libipw_wx_get_encode +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xce030d72 libipw_get_geo +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xdde43dc1 libipw_xmit +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xe7a0b979 libipw_wx_set_encodeext +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xfbae9fc1 free_libipw +EXPORT_SYMBOL drivers/net/wireless/intel/ipw2x00/libipw 0xfebe6918 libipw_wx_get_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x02452e69 il_scan_cancel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x03206606 il_hdl_pm_debug_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x05c83d19 il_hdl_spectrum_measurement +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0841df9a il_mac_sta_remove +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x0f8732ff il_send_bt_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x175f375f il_irq_handle_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x17d9f2f9 il_free_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x20f14baf il_init_geos +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x24dfaabb il_rx_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x25769975 il_restore_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x26c04ca3 il_eeprom_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2bf7eea6 il_queue_space +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2e2e7073 il_tx_cmd_protection +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x2f121377 il_setup_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x30915181 il_pm_ops +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3138984c il_tx_queue_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x31ca7b3c il_setup_rx_scan_handlers +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x339b95b9 _il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x38d05bf7 il_get_lowest_plcp +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x3cc6b46b il_power_initialize +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4034421a il_add_beacon_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x416bd26a il_debug_level +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x455f59d9 il_send_cmd_pdu_async +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x49cfcc7a il_send_cmd_sync +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4efe75dd il_mac_change_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x4fb22c2f il_mac_conf_tx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x544c3f38 il_free_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5856435a il_cancel_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x58736d40 il_tx_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5ae62e6c il_mac_reset_tsf +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5c71c3c6 il_rd_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5ce3f40d il_is_ht40_tx_allowed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5dc0a266 il_send_cmd_pdu +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x5df511b6 il_leds_exit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x630c149c il_full_rxon_required +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x646a7a0d il_read_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6639f73b il_send_stats_request +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6c2462ea il_free_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6dc04619 il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x73e28867 il_eeprom_query_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x748dd20e il_eeprom_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7a9f9b7c il_send_rxon_timing +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x88227804 il_tx_cmd_complete +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8ccd730c il_scan_cancel_timeout +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8d0049c0 il_update_stats +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8d404297 il_set_rxon_ht +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x8d48ee89 il_init_scan_params +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x937f6871 il_set_rate +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9a71f401 il_clear_ucode_stations +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9c16af35 il_tx_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9cc714af il_bg_watchdog +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9cff99a6 il_tx_queue_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9d682b4f il_get_single_channel_number +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x9d7f7142 il_set_rxon_channel +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa07f8611 il_clear_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa29679d3 il_send_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa3889c5a il_mac_add_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa4466f23 il_set_tx_power +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa83801e3 il_set_rxon_hwcrypto +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xa9ff9f5e il_cmd_queue_free +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xaae47a56 il_txq_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xac414639 il_set_flags_for_band +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xae022502 il_leds_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xaec72e7f il_force_reset +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xaf30414a il_dbgfs_unregister +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb514acb7 il_add_station_common +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb5c105d5 il_init_channel_map +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb65510a3 il_get_cmd_string +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb74b4b20 il_mac_hw_scan +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb7bd33ff il_isr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb867a39f il_poll_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xb8bea009 il_power_update_mode +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbb1adbd4 il_rx_queue_alloc +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbb539421 il_send_lq_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbbbb2537 il_alloc_txq_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbe6e0e7f il_hdl_pm_sleep +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbeb93242 il_write_targ_mem +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbfcb4b49 il_dbgfs_register +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xbfed8c17 il_connection_init_rx_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc3a31216 il_setup_scan_deferred_work +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc42576e4 il_mac_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc5b1dd2d il_hdl_error +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xc8ef9eb8 il_rx_queue_update_write_ptr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xcd8374f1 il_get_passive_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd02e3a67 il_mac_bss_info_changed +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd179ef72 il_check_rxon_cmd +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd86cd209 il_eeprom_query16 +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd9315096 il_hdl_csa +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdc9707b7 il_chswitch_done +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdd856cc6 il_wr_prph +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xde8e03dd il_fill_probe_req +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xdf8c883d il_usecs_to_beacons +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe1d97df8 il_mac_flush +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe27f6b14 il_send_add_sta +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe576bcdd il_get_active_dwell_time +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe6f5ab58 il_cmd_queue_unmap +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xe76b9e59 il_set_decrypted_flag +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xeffa9539 il_get_channel_info +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf1a6fcb4 il_get_free_ucode_key_idx +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf652212b il_mac_config +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xf70a693b il_bcast_addr +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfa9322e4 _il_apm_stop +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xfdac0690 il_apm_init +EXPORT_SYMBOL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xff7e7092 il_set_bit +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x166ef846 __traceiter_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x36a862e9 __tracepoint_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x3d23c104 __tracepoint_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x4028d16f __traceiter_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x466ae44d __SCK__tp_func_iwlwifi_dev_ucode_wrap_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x742af889 __traceiter_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x970bf4ef __SCK__tp_func_iwlwifi_dev_ucode_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xaaafbd3e __tracepoint_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intel/iwlwifi/iwlwifi 0xd1e69877 __SCK__tp_func_iwlwifi_dev_ucode_cont_event +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x012cf887 hostap_remove_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x2316014a hostap_info_init +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x4aee0f3b hostap_set_encryption +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x4d9fa226 hostap_handle_sta_tx_exc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x645eb398 hostap_set_hostapd_sta +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x67295470 hostap_80211_ops +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x68d1199a hostap_set_hostapd +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x6c2922c0 hostap_set_auth_algs +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x75934c58 hostap_set_multicast_list_queue +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x79849242 hostap_setup_dev +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7c8e115a prism2_update_comms_qual +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x7fb75891 hostap_dump_rx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x84a5a13e hostap_free_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x85224b0a hostap_check_sta_fw_version +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x8c113c58 hostap_info_process +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9626363a hostap_remove_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0x9c861a5d hostap_init_ap_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xaa4168b7 hostap_add_interface +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xb4b77c8b hostap_80211_get_hdrlen +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc3c1ce22 hostap_init_proc +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xc7b7a4e6 hostap_80211_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xca1f51fd hostap_set_antsel +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xd25160ab hostap_set_word +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xe5b863d7 hostap_master_start_xmit +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xe5c6bd48 hostap_init_data +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xeb5448f5 hostap_set_string +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xf478cba4 hostap_get_porttype +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xf91c03e2 hostap_dump_tx_header +EXPORT_SYMBOL drivers/net/wireless/intersil/hostap/hostap 0xfa75c8ce hostap_set_roaming +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x0f5c4cb0 orinoco_process_xmit_skb +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x1551a56a orinoco_change_mtu +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x383ddb8c orinoco_tx_timeout +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x3de87915 orinoco_open +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x48c68da8 orinoco_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x4d82678a orinoco_set_multicast_list +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x5d7b5e7e alloc_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x5e7e9496 orinoco_if_add +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x620be3db orinoco_if_del +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x8f6121f6 orinoco_down +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0x9c37c3f4 orinoco_up +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xa8c56480 __orinoco_ev_rx +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xc29737d4 hermes_struct_init +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xd80e66f1 __orinoco_ev_info +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xdd8f4ebf free_orinocodev +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xe5cf449d orinoco_stop +EXPORT_SYMBOL drivers/net/wireless/intersil/orinoco/orinoco 0xffe27bca orinoco_interrupt +EXPORT_SYMBOL drivers/net/wireless/mediatek/mt76/mt76 0x46f625eb mt76_wcid_key_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/btcoexist/btcoexist 0xf31273b5 rtl_btc_get_ops_pointer +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x0c1e553f rtl92c_phy_ap_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1104aa27 rtl8192_phy_check_is_legal_rfpath +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1b71cde2 rtl92c_phy_set_rfpath_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1bf20949 _rtl92c_phy_fw_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x1f0e8b86 rtl92c_phy_set_io_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x2327d91c _rtl92c_phy_calculate_bit_shift +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x39ecbaf6 rtl92c_phy_set_io +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x3fd03b58 rtl92c_set_fw_rsvdpagepkt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x40b2be68 rtl92c_dm_watchdog +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x41219af7 rtl92c_phy_lc_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x42239a98 rtl92c_dm_init_rate_adaptive_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x46b97dd4 rtl92c_phy_iq_calibrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5633b4a4 rtl92c_phy_set_txpower_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5acbbb7a rtl92c_phy_sw_chnl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x5bb1530e _rtl92c_phy_rf_serial_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7727058d _rtl92c_phy_init_bb_rf_register_definition +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x7f531e9f rtl92c_phy_rf_config +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x805308a7 _rtl92c_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x86f60273 rtl92c_dm_write_dig +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x8e20ef86 rtl92c_dm_init_edca_turbo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x911eacf2 rtl92c_dm_bt_coexist +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9470c65f rtl92ce_phy_set_rf_on +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x99e2b0e5 rtl92c_set_fw_joinbss_report_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x9ea074ee _rtl92c_phy_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa2d89612 _rtl92c_phy_dbm_to_txpwr_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xa4b931c2 rtl92c_fill_h2c_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xab840f73 rtl92c_dm_check_txpower_tracking +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xafc31f95 rtl92c_bt_rssi_state_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb2572809 rtl92c_download_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xb5320cca _rtl92c_phy_set_rf_sleep +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xba6487b0 rtl92c_phy_update_txpower_dbm +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbea1dac7 rtl92c_dm_rf_saving +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xcb6e5ef1 rtl92c_firmware_selfreset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xcfc30ac4 _rtl92c_phy_bb8192c_config_parafile +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xd408bf28 rtl92c_set_fw_pwrmode_cmd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe1019768 rtl92c_phy_query_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe43779ed rtl92c_phy_set_bb_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe49b14b9 rtl92c_dm_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe82d20ee rtl92c_phy_sw_chnl_callback +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xe8b09f6a rtl92c_phy_set_bw_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xed79c844 _rtl92c_store_pwrindex_diffrate_offset +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xf8cea772 _rtl92c_phy_fw_rf_serial_write +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x2bed3c1e rtl_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x387cc219 rtl_pci_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0x65880f4a rtl_pci_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_pci 0xe286a05b rtl_pci_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x5a1e57ea rtl_usb_disconnect +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0x6f40b1d7 rtl_usb_resume +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xcd7278e7 rtl_usb_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtl_usb 0xffba3147 rtl_usb_suspend +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x08656a87 rtl_bb_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x08a11312 rtl_cam_get_free_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0b038e24 channel5g_80m +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x116dc3c7 rtl_cam_delete_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x1b945315 rtl_addr_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x20ae94e0 rtl_signal_scale_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x22875b51 rtl_cmd_send_packet +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2b8c5f0a rtlwifi_rate_mapping +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x30a956d7 rtl_query_rxpwrpercentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3b3b750c rtl_send_smps_action +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x3c05d1b7 efuse_read_1byte +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x54824f58 channel5g +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x557a53bf efuse_shadow_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x59702dda rtl_c2hcmd_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x59ef9b57 rtl_mrate_idx_to_arfr_id +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x702a27e7 rtl_get_tcb_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x72aeaf17 rtl_rx_ampdu_apply +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7e7d6798 rtl_cam_add_one_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x83b0ec7b rtl_phy_scan_operation_backup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x85c80539 rtl_cam_reset_all_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x8ea60059 rtl_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x906ff464 rtl_init_rfkill +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x92547797 rtl_cam_empty_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x9bd3e39b rtl_cam_mark_invalid +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa89908b7 efuse_power_switch +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb41c581f rtl_collect_scan_list +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xb918bf2d rtl_efuse_shadow_map_update +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xc9752cf9 rtl_ps_disable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd530cdea rtl_ps_enable_nic +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xddc0759d rtl_cam_del_entry +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xea77ce08 rtl_process_phyinfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xeb12c326 rtl_hal_pwrseqcmdparsing +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xebedfe5f rtl_wowlan_fw_cb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xed7c8cf2 rtl_evm_db_to_percentage +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xee2ee4c2 rtl_dm_diginit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf5815390 efuse_one_byte_read +EXPORT_SYMBOL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xffc600c8 rtl_rfreg_delay +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8723d 0x26bc96c7 rtw8723d_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8821c 0xbb7ce14a rtw8821c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822b 0xcd5cec75 rtw8822b_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_8822c 0x229e874b rtw8822c_hw_spec +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x084c342f rtw_phy_parsing_cfo +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x08e9a799 rtw_phy_cfg_bb +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0d14c82f rtw_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x0f0a3b99 rtw_tx_write_data_h2c_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x14a02aff rtw_bf_remove_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x198b91aa rtw_phy_pwrtrack_need_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x291eff12 rtw_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2c0b599d rtw_phy_get_tx_power_index +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x2ee9b59e rtw_phy_cfg_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x33b3f3c0 rtw_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x3452855f rtw_phy_cfg_agc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x36c5bfca rtw_disable_lps_deep_mode +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x396a8cd0 rtw_parse_tbl_bb_pg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x42ab8d54 rtw_phy_pwrtrack_need_lck +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x440b7589 rtw_phy_rf_power_2_rssi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4def4002 rtw_tx_fill_tx_desc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x4f52e5ab rtw_phy_pwrtrack_thermal_changed +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x519c8ba9 rtw_rate_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5631763a rtw_phy_write_rf_reg_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x58210e60 rtw_rate_section +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5b6c0bd3 rtw_bf_enable_bfee_su +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x5e93301b rtw_phy_config_swing_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6239c9bb rtw_dump_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x64f4efeb rtw_fw_c2h_cmd_rx_irqsafe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x655a45c0 rtw_power_mode_change +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x678a9c48 rtw_tx_write_data_rsvd_page_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x67bc4c3b rtw_phy_set_tx_power_level +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x694f7391 rtw_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x6b08b549 rtw_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x74114113 rtw_regd_get +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x746a9a90 rtw_rx_stats +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x81a1d4ee rtw_phy_load_tables +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x82d8e96c rtw_parse_tbl_txpwr_lmt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x832239f0 rtw_bf_set_gid_table +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x86d4795d rtw_set_channel_mac +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8722da03 rtw_fw_inform_rfk_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x876eac48 __rtw_dbg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8a83b074 rtw_rx_fill_rx_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x8bb2424f rtw_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9225c23c rtw_phy_cfg_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x935574bb rtw_phy_write_rf_reg_mix +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x939e7d7f rtw_read8_physical_efuse +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0x9ea77105 rtw_phy_set_edcca_th +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa8daea7e rtw_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xa93bd01c rtw_bf_remove_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xac841821 rtw_parse_tbl_phy_cond +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb0b73da6 rtw_restore_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb23980df rtw_tx_report_enqueue +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb601c0f0 rtw_phy_pwrtrack_get_delta +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xb9372889 rtw_coex_read_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xba462283 rtw_coex_write_scbd +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xba8fe9c1 rtw_bf_phy_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xc0d9d491 rtw_bf_enable_bfee_mu +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xd259a1e4 rtw_register_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xdc8508de rtw_phy_pwrtrack_get_pwridx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xdd929bd7 rtw_fw_do_iqk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xdf1ec24e rtw_phy_read_rf_sipi +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe361cf7a rtw_fw_c2h_cmd_isr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe8af0b70 rtw_coex_write_indirect_reg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xe9763782 rtw_dump_fw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xec81bf02 rtw_phy_pwrtrack_avg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xecaebaa8 rtw_set_rx_freq_band +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf01e5bb3 rtw_bf_cfg_csi_rate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf46c8cef check_hw_ready +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_core 0xf57bb89f rtw_unregister_hw +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x01427e79 rtw_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x33bf027a rtw_pci_shutdown +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0x76ebba24 rtw_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw88/rtw88_pci 0xa6022b59 rtw_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_8852a 0x5fbd2913 rtw8852a_chip_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_8852c 0xb386b78c rtw8852c_chip_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x02bff04d __rtw89_debug +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x0525be1c rtw89_phy_write32_idx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x0ba53343 rtw89_core_rx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x116a7c4f rtw89_mac_disable_bb_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x147e9afc rtw89_rs_nss_max +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x16699430 rtw89_mac_get_err_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x18770b16 rtw89_mac_resume_sch_tx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x199e326f rtw89_core_fill_txdesc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x23ece9e5 rtw89_mac_resume_sch_tx_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x2a938f0b rtw89_phy_load_txpwr_byrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x363cbe38 rtw89_mac_stop_sch_tx_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x3c97d02a rtw89_mac_cfg_ctrl_path +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x435b0707 rtw89_core_register +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x44116c57 rtw89_mac_coex_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x442e3ce8 rtw89_mac_cfg_ppdu_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x44b460a0 rtw89_phy_tssi_ctrl_set_bandedge_cfg +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x45d49a96 rtw89_core_napi_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x46108e97 rtw89_core_init +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x46dca723 rtw89_phy_write_rf_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x4ba84799 rtw89_core_query_rxdesc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x4c4f6638 rtw89_phy_fill_txpwr_limit_ru +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x50520c6a rtw89_mac_write_xtal_si +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x51e13285 rtw89_mac_set_err_status +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6e8f5a63 rtw89_mac_size +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6f245d5f rtw89_core_fill_txdesc_fwcmd_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x6f3060b3 rtw89_ser_notify +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7c49f039 rtw89_phy_read_txpwr_byrate +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x7e3d7fdc rtw89_phy_get_txsc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x853ba281 rtw89_phy_write_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x866609fe rtw89_mac_cfg_gnt_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x88988fd8 rtw89_phy_config_rf_reg_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x89c21228 rtw89_rfk_parser +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x8a774981 rtw89_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x8b1410e3 rtw89_core_napi_stop +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x8e6b8f81 rtw89_core_napi_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x923e079b rtw89_core_deinit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x9362caa2 rtw89_phy_read_txpwr_limit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x978eba6c rtw89_mac_enable_bb_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x9c287b82 rtw89_mac_cfg_gnt +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0x9d26fa8a rtw89_mac_stop_sch_tx +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xa1d6f086 rtw89_phy_fill_txpwr_limit +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xa554a0a5 rtw89_btc_ntfy_wl_rfk +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xa8472278 rtw89_core_fill_txdesc_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xb72064fa rtw89_phy_write_reg3_tbl +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xb775377f rtw89_chip_info_setup +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xbce1c22c rtw89_mac_coex_init_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xc030412f rtw89_phy_read_rf +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xc7ba6335 rtw89_core_napi_start +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xc95534b0 rtw89_rs_idx_max +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xcb6c71eb rtw89_mac_cfg_ctrl_path_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xcbbdbe4e rtw89_phy_read_rf_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xccaf8e6b rtw89_fw_h2c_rf_ntfy_mcc +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe3f57b04 rtw89_debug_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xe8e09c86 rtw89_core_unregister +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xfb98719c rtw89_mac_get_txpwr_cr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_core 0xfd7f5789 rtw89_fw_h2c_dctl_sec_cam_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x09734ee0 rtw89_pci_recognize_intrs_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x122ff634 rtw89_pci_fill_txaddr_info +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x2783d36f rtw89_pci_remove +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x59481da0 rtw89_pci_enable_intr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x6dd572f8 rtw89_pci_probe +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7afdf5c4 rtw89_pci_enable_intr_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x7e5dc934 rtw89_pm_ops +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x83adbe2a rtw89_pci_ltr_set +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x8735b4ac rtw89_pci_recognize_intrs +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0x9ce0961b rtw89_pci_ch_dma_addr_set +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xc9b70083 rtw89_pci_config_intr_mask +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xca1191c8 rtw89_pci_config_intr_mask_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xd539a7c6 rtw89_pci_disable_intr_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xe1728849 rtw89_pci_ltr_set_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xf1c6f498 rtw89_pci_disable_intr +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xf630d9a9 rtw89_pci_ch_dma_addr_set_v1 +EXPORT_SYMBOL drivers/net/wireless/realtek/rtw89/rtw89_pci 0xfe1f5088 rtw89_pci_fill_txaddr_info_v1 +EXPORT_SYMBOL drivers/net/wireless/rsi/rsi_91x 0x92c9f921 rsi_config_wowlan +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x011f3cf8 wlcore_tx_complete +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0x39452ac4 wl1271_free_tx_id +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xa42092b3 wl12xx_is_dummy_packet +EXPORT_SYMBOL drivers/net/wireless/ti/wlcore/wlcore 0xe7d0bda9 wlcore_calc_packet_alignment +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x4d5926b5 fdp_nci_probe +EXPORT_SYMBOL drivers/nfc/fdp/fdp 0x875e774c fdp_nci_remove +EXPORT_SYMBOL drivers/nfc/microread/microread 0x2e993480 microread_probe +EXPORT_SYMBOL drivers/nfc/microread/microread 0x95963261 microread_remove +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x1df6cc31 nxp_nci_probe +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0x8030cb4f nxp_nci_remove +EXPORT_SYMBOL drivers/nfc/nxp-nci/nxp-nci 0xb3e8857a nxp_nci_fw_recv_frame +EXPORT_SYMBOL drivers/nfc/pn533/pn533 0xea7e8066 pn533_recv_frame +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0xef32e740 pn544_hci_probe +EXPORT_SYMBOL drivers/nfc/pn544/pn544 0xf1cf2ccb pn544_hci_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x60268279 s3fwrn5_recv_frame +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x774203fc s3fwrn5_phy_set_wake +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0x9f8c8bfd s3fwrn5_phy_power_ctrl +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xb1f9b509 s3fwrn5_probe +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xc20d429f s3fwrn5_remove +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xedb12f10 s3fwrn5_phy_set_mode +EXPORT_SYMBOL drivers/nfc/s3fwrn5/s3fwrn5 0xf2ab60da s3fwrn5_phy_get_mode +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x5d4ed861 st_nci_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x62faaadf ndlc_send +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x675abde8 st_nci_se_deinit +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x78a20f0d ndlc_probe +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0x87a46eb7 ndlc_remove +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xa1bb2a5a ndlc_recv +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xacef7be4 st_nci_se_io +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xdb108152 st_nci_se_init +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xe2b3107f ndlc_close +EXPORT_SYMBOL drivers/nfc/st-nci/st-nci 0xf9e96f4f ndlc_open +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x2245144b st21nfca_hci_disable_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x2a8bd15e st21nfca_se_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x2e7f2e0f st21nfca_dep_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x5bc11109 st21nfca_tm_send_dep_res +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x5c9d222e st21nfca_se_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x6a292c2f st21nfca_apdu_reader_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x6d6b9f20 st21nfca_hci_loopback_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x6eeb9ebe st21nfca_dep_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x6f0cae9a st21nfca_vendor_cmds_init +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x7bab6ae3 st21nfca_hci_probe +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0x9feb7e0b st21nfca_im_send_dep_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xa1f7abb4 st21nfca_hci_discover_se +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xbaff4c3f st21nfca_hci_se_io +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xcb85501b st21nfca_connectivity_event_received +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xd240c8aa st21nfca_im_send_atr_req +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xd617f8ec st21nfca_hci_remove +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xe480c9a3 st21nfca_dep_deinit +EXPORT_SYMBOL drivers/nfc/st21nfca/st21nfca_hci 0xf6215fa1 st21nfca_hci_enable_se +EXPORT_SYMBOL drivers/ntb/ntb 0x17329caf ntb_set_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x1797845f ntb_default_peer_port_count +EXPORT_SYMBOL drivers/ntb/ntb 0x19c0a635 ntb_register_device +EXPORT_SYMBOL drivers/ntb/ntb 0x2c6acfe6 ntb_clear_ctx +EXPORT_SYMBOL drivers/ntb/ntb 0x3547500c ntbm_msi_request_threaded_irq +EXPORT_SYMBOL drivers/ntb/ntb 0x4e63d6d8 ntb_msi_peer_trigger +EXPORT_SYMBOL drivers/ntb/ntb 0x4fba26ad ntb_unregister_device +EXPORT_SYMBOL drivers/ntb/ntb 0x56722a8e ntb_link_event +EXPORT_SYMBOL drivers/ntb/ntb 0x6a50c36a ntb_unregister_client +EXPORT_SYMBOL drivers/ntb/ntb 0x7cef3326 ntb_msi_init +EXPORT_SYMBOL drivers/ntb/ntb 0x7e2189c2 __ntb_register_client +EXPORT_SYMBOL drivers/ntb/ntb 0xa3f3e60f ntb_msi_setup_mws +EXPORT_SYMBOL drivers/ntb/ntb 0xa3fa4242 ntb_default_peer_port_idx +EXPORT_SYMBOL drivers/ntb/ntb 0xa5c91621 ntbm_msi_free_irq +EXPORT_SYMBOL drivers/ntb/ntb 0xa6080d9d ntb_msi_clear_mws +EXPORT_SYMBOL drivers/ntb/ntb 0xc9622cbe ntb_msi_peer_addr +EXPORT_SYMBOL drivers/ntb/ntb 0xcb068fdb ntb_default_peer_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0xd45a8892 ntb_db_event +EXPORT_SYMBOL drivers/ntb/ntb 0xd73c57b2 ntb_default_port_number +EXPORT_SYMBOL drivers/ntb/ntb 0xeae07602 ntb_msg_event +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0x4a17bb41 nvdimm_namespace_attach_btt +EXPORT_SYMBOL drivers/nvdimm/nd_btt 0xea3ce9ec nvdimm_namespace_detach_btt +EXPORT_SYMBOL drivers/parport/parport 0x065127e8 parport_find_number +EXPORT_SYMBOL drivers/parport/parport 0x099ea7ba parport_ieee1284_ecp_read_data +EXPORT_SYMBOL drivers/parport/parport 0x1f3573e3 parport_write +EXPORT_SYMBOL drivers/parport/parport 0x21238c20 parport_ieee1284_epp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x4740ac63 parport_negotiate +EXPORT_SYMBOL drivers/parport/parport 0x48ff478a parport_wait_event +EXPORT_SYMBOL drivers/parport/parport 0x4cb58757 parport_announce_port +EXPORT_SYMBOL drivers/parport/parport 0x4d2a941b parport_ieee1284_interrupt +EXPORT_SYMBOL drivers/parport/parport 0x4eeee375 parport_ieee1284_read_nibble +EXPORT_SYMBOL drivers/parport/parport 0x52137444 parport_find_base +EXPORT_SYMBOL drivers/parport/parport 0x5791865a parport_register_port +EXPORT_SYMBOL drivers/parport/parport 0x5e3a3912 parport_irq_handler +EXPORT_SYMBOL drivers/parport/parport 0x611453c7 parport_ieee1284_ecp_write_data +EXPORT_SYMBOL drivers/parport/parport 0x62158f58 parport_wait_peripheral +EXPORT_SYMBOL drivers/parport/parport 0x7a3fd5f2 parport_get_port +EXPORT_SYMBOL drivers/parport/parport 0x869be810 parport_ieee1284_write_compat +EXPORT_SYMBOL drivers/parport/parport 0x89be14aa parport_set_timeout +EXPORT_SYMBOL drivers/parport/parport 0x9d3638ab parport_claim_or_block +EXPORT_SYMBOL drivers/parport/parport 0x9fe59eb0 parport_claim +EXPORT_SYMBOL drivers/parport/parport 0xacdb3330 parport_ieee1284_epp_read_data +EXPORT_SYMBOL drivers/parport/parport 0xaec2f1e5 parport_ieee1284_epp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xbd323a78 parport_remove_port +EXPORT_SYMBOL drivers/parport/parport 0xbd3cb78a parport_ieee1284_read_byte +EXPORT_SYMBOL drivers/parport/parport 0xbdcbc938 parport_unregister_device +EXPORT_SYMBOL drivers/parport/parport 0xbfc0a305 parport_put_port +EXPORT_SYMBOL drivers/parport/parport 0xc054e3b8 parport_ieee1284_epp_read_addr +EXPORT_SYMBOL drivers/parport/parport 0xc4cf072b parport_register_dev_model +EXPORT_SYMBOL drivers/parport/parport 0xccf64aed parport_release +EXPORT_SYMBOL drivers/parport/parport 0xd65c00e4 parport_unregister_driver +EXPORT_SYMBOL drivers/parport/parport 0xe85e696f parport_read +EXPORT_SYMBOL drivers/parport/parport 0xeef52e02 parport_ieee1284_ecp_write_addr +EXPORT_SYMBOL drivers/parport/parport 0xf65a2990 parport_del_port +EXPORT_SYMBOL drivers/parport/parport 0xf9faaa56 __parport_register_driver +EXPORT_SYMBOL drivers/parport/parport_pc 0xbd4a246b parport_pc_probe_port +EXPORT_SYMBOL drivers/parport/parport_pc 0xf8be3038 parport_pc_unregister_port +EXPORT_SYMBOL drivers/regulator/rohm-regulator 0x040c174a rohm_regulator_set_dvs_levels +EXPORT_SYMBOL drivers/rpmsg/rpmsg_char 0x19caa4b0 rpmsg_chrdev_eptdev_destroy +EXPORT_SYMBOL drivers/rpmsg/rpmsg_char 0xa8f682cf rpmsg_chrdev_eptdev_create +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x02397a4b __register_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x0780169f rpmsg_send +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x14bb20b2 rpmsg_poll +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x31595a6e rpmsg_class +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x31db222c rpmsg_trysend +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x37c426fc rpmsg_create_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x3925da21 rpmsg_register_device_override +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x4041ca49 rpmsg_release_channel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x4065e491 rpmsg_send_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x43dac1e5 unregister_rpmsg_driver +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x7823a4f3 rpmsg_destroy_ept +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x84e17095 rpmsg_trysendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0x987c1baf rpmsg_get_mtu +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xa11818ad rpmsg_unregister_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xa25640fc rpmsg_register_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xb21dbe5f rpmsg_find_device +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xc89c9582 rpmsg_sendto +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xdc3c9dc2 rpmsg_create_channel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_core 0xdcba9ce9 rpmsg_trysend_offchannel +EXPORT_SYMBOL drivers/rpmsg/rpmsg_ns 0x4fb0f3b8 rpmsg_ns_register_device +EXPORT_SYMBOL drivers/rtc/rtc-ds1685 0x00d6bb7d ds1685_rtc_poweroff +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x01d1a60b scsi_esp_template +EXPORT_SYMBOL drivers/scsi/esp_scsi 0x4a29ab38 scsi_esp_intr +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xa55462c7 scsi_esp_unregister +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xea886e69 scsi_esp_register +EXPORT_SYMBOL drivers/scsi/esp_scsi 0xeb205aab scsi_esp_cmd +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x046bddfb fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x1c4392f5 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x27bdeda5 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x2bb038c8 fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x4a476766 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x69c0fe0f fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x732fffb7 fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x9d6e946f fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x9f26196b fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xd2a6ba30 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xd92c97a9 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x09dc2f99 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0ba40959 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0cfce31b fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x127ec528 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x13dd16b3 fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x175caf9f fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1954dc23 fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1d18ea61 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1dd534e0 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x211ab275 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22edabc6 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22f19e3f fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x231f15c1 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x27f2a991 fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2db20bf1 fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x365554a3 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x383767c9 fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3ad0e849 fc_exch_update_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3cc3b7c5 fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x40b7f9f2 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x484c7898 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x486b53c8 fc_disc_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x48e5c50a fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4c06ad3d fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x557fbb9f fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x647532ca fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7374c4fc fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x738c6f4a fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x75c273ea fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x78c64fe0 fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x797f7c7b fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7f3407a7 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x811811e0 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8abcea83 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8d23a263 fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8f8e4641 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x98ad2bec fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x98f0753e fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9b21d4aa fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9d50ed7e fc_rport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa1bcd198 fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa7539948 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0ddd5a1 fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0f28ee5 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb1c78fa7 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb80df0c5 fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb9c352d9 fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc1cbdfb1 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc43a9f39 fc_seq_assign +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xce9101a9 fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcea41267 fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcea74baa fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd4946547 fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd69d8424 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd98f5bb0 fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdb0b21b5 fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe437629c libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xea1ca525 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xeba919c4 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xebef59db fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xed2c130f fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf1238d4e fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf689e662 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfa4667d1 fc_seq_release +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfd6628a4 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4ad52ad0 sas_suspend_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x7d0294dd sas_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xbd529635 sas_resume_ha_no_sync +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xc42ede5c sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0xa21fafb9 mraid_mm_adapter_app_handle +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0xa5924f1e mraid_mm_register_adp +EXPORT_SYMBOL drivers/scsi/megaraid/megaraid_mm 0xb2cf7c01 mraid_mm_unregister_adp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x031b3d66 qlt_stop_phase2 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x035a0bf4 qlt_free_mcmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x20e51937 qlt_stop_phase1 +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x4cf875ca qlt_rdy_to_xfer +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x67c6ddb7 qlt_xmit_tm_rsp +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0x7ad638b2 qlt_free_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xce1e3709 qlt_lport_deregister +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xceee5c96 qlt_abort_cmd +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xd2511b99 qlt_enable_vha +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xd6a29efd qlt_unreg_sess +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xddf08297 qlt_lport_register +EXPORT_SYMBOL drivers/scsi/qla2xxx/qla2xxx 0xe1b39bd0 qlt_xmit_response +EXPORT_SYMBOL drivers/scsi/raid_class 0x7e558e67 raid_class_release +EXPORT_SYMBOL drivers/scsi/raid_class 0x8de844e4 raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0xf35e8fb0 raid_class_attach +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x1350379e fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x22f5a725 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2c5f24db fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3bfa303c fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x44913d43 fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x505690fe fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5e5709c4 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7d4eb32a fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x8d4630af scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x9ad4f0f6 fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc08db4fa fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xcc8c8493 fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xd9541e5d fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xdbc696bb fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe25f0e90 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf098c3ec fc_find_rport_by_wwpn +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf2e915c4 fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x016e4768 scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0206fbe9 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0af1a7c4 sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x130b932a sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3462a53b sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x38313d2a sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3d402b0e sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3ef6ff6f sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x44cd9256 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4d5a87f4 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4fa8c2f5 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x55bd9548 sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x5ad91448 sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6708c27d sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6ab5a0a3 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6cc7d483 sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6e808b1a sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x75027a2e sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x885a06a4 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x9ef4d0c1 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa0b9ee54 sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xa45ace7d sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xad88b8c3 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbb250de1 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbc975ffc sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbe55376e scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd5c86717 sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xe1e559da sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xeb31862d sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x0c7581ba spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x200a36ff spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x2fe70a54 spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3ca0ffdd spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x97a39fd6 spi_dv_device +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x014c3fe5 qmi_send_indication +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x0ef12cc9 qmi_encode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x21ce5888 qmi_response_type_v01_ei +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x4c7a04ad qmi_txn_cancel +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x68772745 qmi_decode_message +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x8ae0eaab qmi_txn_wait +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0x8f8f4851 qmi_add_lookup +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xabb846b6 qmi_handle_release +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xc6ec0620 qmi_handle_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xcf6309ad qmi_send_response +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xf4b630d2 qmi_txn_init +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xfccf9f56 qmi_send_request +EXPORT_SYMBOL drivers/soc/qcom/qmi_helpers 0xfe9b6e35 qmi_add_server +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x01b16a75 sdw_bus_master_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x16d1706b sdw_prepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x1deee061 sdw_find_row_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x2080f22f sdw_nwrite +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x21735ca6 sdw_bread_no_pm_unlocked +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x257f278d sdw_slave_add +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x2f442dbb sdw_stream_remove_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x32b216d7 sdw_read +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x39fd53a6 sdw_compare_devid +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x3b0a8582 sdw_startup_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x3d44d6ea sdw_stream_add_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x4cde88bf sdw_disable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x51d2f604 sdw_write +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x60e31fbb sdw_find_col_index +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x67faa2cd sdw_master_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x6f95b16b sdw_shutdown_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x706455f2 sdw_bwrite_no_pm_unlocked +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x71891d59 sdw_deprepare_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7b9a2d29 sdw_update_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x7bf22dad sdw_update +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x97ef634d sdw_nread +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0x9e122d79 sdw_alloc_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xa5ed5992 sdw_extract_slave_id +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xac01332c sdw_bus_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb1c01ef0 sdw_clear_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb4bde4fa sdw_bus_exit_clk_stop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb6d5a07f sdw_stream_add_master +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb87df919 sdw_read_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xb95fd274 sdw_write_no_pm +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xba54b904 sdw_cols +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xbbec2c2e sdw_enable_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xc3cb7290 sdw_handle_slave_status +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xceb822b0 sdw_stream_remove_slave +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xd0c74024 sdw_slave_read_prop +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xd5ad67a1 sdw_bus_master_delete +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xda5bce09 sdw_release_stream +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf53ba0b8 sdw_rows +EXPORT_SYMBOL drivers/soundwire/soundwire-bus 0xf8cdecde sdw_bus_prep_clk_stop +EXPORT_SYMBOL drivers/ssb/ssb 0x05f0f4d2 ssb_dma_translation +EXPORT_SYMBOL drivers/ssb/ssb 0x19183b89 ssb_bus_may_powerdown +EXPORT_SYMBOL drivers/ssb/ssb 0x2ab7f2a8 ssb_pcicore_dev_irqvecs_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x3ad363be ssb_device_is_enabled +EXPORT_SYMBOL drivers/ssb/ssb 0x3c3e988c ssb_device_enable +EXPORT_SYMBOL drivers/ssb/ssb 0x5b483fa0 ssb_chipco_gpio_control +EXPORT_SYMBOL drivers/ssb/ssb 0x60a230aa ssb_pmu_set_ldo_paref +EXPORT_SYMBOL drivers/ssb/ssb 0x77290149 ssb_bus_unregister +EXPORT_SYMBOL drivers/ssb/ssb 0x879a0e40 ssb_commit_settings +EXPORT_SYMBOL drivers/ssb/ssb 0x9935e71f ssb_bus_suspend +EXPORT_SYMBOL drivers/ssb/ssb 0x9ef3b6f1 ssb_pcihost_register +EXPORT_SYMBOL drivers/ssb/ssb 0xa79b795f ssb_pmu_set_ldo_voltage +EXPORT_SYMBOL drivers/ssb/ssb 0xb027a1ca ssb_bus_powerup +EXPORT_SYMBOL drivers/ssb/ssb 0xb99a0d98 ssb_set_devtypedata +EXPORT_SYMBOL drivers/ssb/ssb 0xba6a649c ssb_bus_resume +EXPORT_SYMBOL drivers/ssb/ssb 0xbc1c68c5 ssb_clockspeed +EXPORT_SYMBOL drivers/ssb/ssb 0xbec26c1b __ssb_driver_register +EXPORT_SYMBOL drivers/ssb/ssb 0xcabcb247 ssb_bus_sdiobus_register +EXPORT_SYMBOL drivers/ssb/ssb 0xcb17f1cb ssb_admatch_base +EXPORT_SYMBOL drivers/ssb/ssb 0xd7b045e3 ssb_device_disable +EXPORT_SYMBOL drivers/ssb/ssb 0xdfc7c6ef ssb_admatch_size +EXPORT_SYMBOL drivers/ssb/ssb 0xe715c582 ssb_driver_unregister +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x0f9b83b9 fbtft_write_vmem8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x10557b00 fbtft_unregister_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x17d43314 fbtft_framebuffer_release +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x195c28f1 fbtft_write_spi_emulate_9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x442cfc97 fbtft_read_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x48aac369 fbtft_write_reg16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x70dce079 fbtft_remove_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x71579446 fbtft_dbg_hex +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x734f1191 fbtft_write_reg8_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x746b0c06 fbtft_write_spi +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x775c5a82 fbtft_write_gpio8_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x826b84c4 fbtft_probe_common +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x90c10fcd fbtft_write_vmem16_bus16 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0x9e0b40ec fbtft_write_reg8_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xb346d0b9 fbtft_write_gpio16_wr_latched +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xb443f540 fbtft_init_display +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xbb9118e4 fbtft_register_framebuffer +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xbf9438ac fbtft_register_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xc9d43ae2 fbtft_write_vmem16_bus9 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xce574e1f fbtft_write_vmem16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xcf41e9a2 fbtft_unregister_backlight +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xda8002fd fbtft_write_gpio16_wr +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xec36c2b4 fbtft_write_reg16_bus8 +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xf193e8aa fbtft_write_buf_dc +EXPORT_SYMBOL drivers/staging/fbtft/fbtft 0xfc032135 fbtft_framebuffer_alloc +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x31b2e3f7 gbaudio_register_module +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0x7629e100 gbaudio_module_update +EXPORT_SYMBOL drivers/staging/greybus/gb-audio-codec 0xff744146 gbaudio_unregister_module +EXPORT_SYMBOL drivers/staging/iio/addac/adt7316 0xc844f764 adt7316_probe +EXPORT_SYMBOL drivers/staging/iio/meter/ade7854 0x258d5fe5 ade7854_probe +EXPORT_SYMBOL drivers/staging/media/av7110/sp8870 0xbd0df073 sp8870_attach +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x01e8403f RemovePeerTS +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x07bb6472 rtllib_wx_get_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x086838f7 rtllib_wx_set_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x08d9d1c6 rtllib_start_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0ab8c1fe rtllib_act_scanning +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x0cd59465 rtllib_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22166084 rt_global_debug_component +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x221ff3b0 rtllib_wx_set_mlme +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x22292759 rtllib_wx_set_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x2edaa84c rtllib_wx_set_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x32d82991 rtllib_rx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x331df894 rtllib_wx_get_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4186669a rtllib_sta_ps_send_null_frame +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4630386c rtllib_wx_get_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4b5b03a2 rtllib_get_beacon +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4d09dad8 rtllib_wx_set_rawtx +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4de1f190 rtllib_wx_set_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x4e450097 rtllib_wx_set_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x509c34be rtllib_wx_set_encode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x54b0a7b7 notify_wx_assoc_event +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x5e4c4443 dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x611bab98 rtllib_wx_get_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x68359b78 rtllib_wx_set_encode_ext +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7955c43a rtllib_wx_get_wap +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x795a0b86 rtllib_softmac_start_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x7af1353d rtllib_wx_get_rts +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x801b976f rtllib_wx_set_essid +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x868a67dd rtllib_wx_get_rate +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x89afb1d6 rtllib_softmac_stop_protocol +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0x8c68c909 rtllib_wx_get_name +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa038f766 rtllib_wx_get_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa45b1ac6 rtllib_start_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa5482415 rtllib_stop_scan +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xa589d444 rtllib_wx_get_power +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb2709134 rtllib_xmit +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xb38036ae dot11d_channel_map +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc6bce154 rtllib_MgntDisconnect +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc7ac3aaa free_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xc94b6409 rtllib_wx_set_mode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xcdbf03a1 rtllib_stop_scan_syncro +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdb493458 rtllib_stop_send_beacons +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xdf78f620 rtllib_wlan_frequencies +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe6d7f31c HT_update_self_and_peer_setting +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe7066434 rtllib_reset_queue +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xe7f8c02f alloc_rtllib +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xee60f7fd rtllib_wx_set_freq +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf117c83b rtllib_wx_set_gen_ie +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf137d93e rtllib_ps_tx_ack +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xf2b870ff rtllib_wx_set_auth +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfb5073e9 rtllib_DisableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192e/rtllib 0xfc51a1ee rtllib_EnableIntelPromiscuousMode +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x03003f86 ieee80211_stop_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0abc40ca ieee80211_rx_mgt_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x0cb63bf5 ieee80211_wx_set_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x12339193 ieee80211_wx_set_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x13493748 ieee80211_softmac_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1401efa5 ieee80211_wx_get_name_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x148fee3d ieee80211_wx_set_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x15a2da32 ieee80211_wx_get_mode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x172ad261 ieee80211_wx_get_essid_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1b0a09d1 ieee80211_stop_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1b59734f ieee80211_wx_set_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1d66a0ff ieee80211_is_shortslot_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x1dbeea89 ieee80211_start_scan_syncro_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2348bee7 ieee80211_softmac_start_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2b622ad7 notify_wx_assoc_event_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2c0b0abe ieee80211_wx_set_gen_ie_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x2c36fad3 ieee80211_wx_get_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x35221b14 ieee80211_wx_set_scan_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3cc1eba1 ieee80211_wx_set_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x3e7f6671 SendDisassociation_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4021e615 ieee80211_wx_set_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x409cafe9 ieee80211_start_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x44165d37 ieee80211_wx_get_rts_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x45161566 ieee80211_wake_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x46d6e79a ieee80211_disassociate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x4cf911e6 ieee80211_wx_set_auth_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x593507d2 ieee80211_wx_get_freq_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6238b109 ieee80211_get_beacon_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x638ec5d9 ieee80211_wx_get_wap_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6ce00df1 dot11d_get_max_tx_pwr_in_dbm +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x6e6cece6 ieee80211_rx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7952269f ieee80211_softmac_xmit_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x7fc930dd ieee80211_wpa_supplicant_ioctl_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x8d904598 dot11d_update_country_ie +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x95420b46 ieee80211_txb_free_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x95537162 ieee80211_wx_get_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0x9592cf86 rtl8192u_dot11d_init +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa21fb681 ieee80211_wx_set_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xa706f573 ieee80211_wx_get_power_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xaf0f24f2 to_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc15a7669 ieee80211_wx_get_encode_ext_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc370a43e ieee80211_wlan_frequencies_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc6894b05 ieee80211_reset_queue_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xc6e5fb11 ieee80211_wx_set_encode_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd0ded23b ieee80211_stop_send_beacons_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xd54893c1 ieee80211_ps_tx_ack_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xdef53650 ieee80211_softmac_stop_protocol_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe1dcb60b ieee80211_wx_set_rawtx_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xe3f2e2ba dot11d_reset +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xea1684d3 ieee80211_wx_set_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xecc5fb1b ieee80211_is_54g_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf2bb9921 ieee80211_wx_set_mlme_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf2e1dd6a HTUpdateSelfAndPeerSetting +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf3026514 ieee80211_wx_get_rate_rsl +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf3ed57e9 is_legal_channel +EXPORT_SYMBOL drivers/staging/rtl8192u/r8192u_usb 0xf7eceb87 dot11d_scan_complete +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0d8d3ca8 iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x0f1cd2d3 iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x10325ee1 iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x13128294 iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x38abad97 iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3d7872b4 iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x40a2c66c iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x44babe60 __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x4b64940f iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x57bf6d28 iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5b668edb iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5dc9821a iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x607bfaf9 iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x65022f83 iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6bcab536 iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6e9d3da4 iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6ea5f700 iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x74125fec iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x79a6ff49 iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x88ad3d77 iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8a0208a0 iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8b89fadc iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8d768ab9 iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8fee62e9 iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x98827e53 iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa02ba0e3 iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa247f944 iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa5d59c47 iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xa98c4787 iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xaaa58ac0 iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb6e3ba36 iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc28f5707 iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc2a4e303 iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd367ebb2 iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd65a1dcf iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd8fce07d iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xdbd7cf3b iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xdbfb510b iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xdf7544ef iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe18b14e0 iscsit_thread_check_cpumask +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xec3ec52b iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xec81799b iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf34332f0 iscsi_find_param_from_key +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf565527e iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xfa918525 iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xfaf56ff8 iscsit_aborted_task +EXPORT_SYMBOL drivers/target/target_core_mod 0x01bbb839 transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x041ef3b2 passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0e1bec84 transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x112d8fad target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x1c63f127 target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x26ea2bb8 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0x3043f1d8 target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x337d30c3 target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0x33e386df core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x376956c0 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x3b752c9f core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x3e5e676e target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0x40837c9e spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0x45043d03 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x48b4e0b9 spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x4bd1dcd6 target_complete_cmd_with_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x4d5f4bfa target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x4e1d1732 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0x4e556c04 target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x518ad0e9 sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0x51b15997 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x557c9140 __target_init_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x56475bc4 target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0x58c2f4a6 target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0x5934889e core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0x5b813ade core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0x614797a9 transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x626d9104 __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x638bffb7 target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x663274be passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x714c64ca spc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x71b7c1b4 transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0x73dab089 target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x77764cfd transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a1d0d3c target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a20beca transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0x7b5d1c54 transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fd85bd6 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0x8271b7ca target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0x8d59e0ef transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x8ef92c73 target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x91917016 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x9de57001 sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0xa20b2e50 passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0xa5205bd1 sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xa72c7a7a core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0xa9cf09ad transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xac1dd023 target_tpg_has_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xb322a70a transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xb36dc650 target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xb3c224b8 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xb7953262 target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0xb7ad7998 target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xb9f8eaed target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xbef10a5d transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0xc0b7440c target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xc780efd8 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xc938d5ed core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0xca28cb2c sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0xcfacdc17 target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xd0a60614 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0xd9fd36c7 spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0xdab862e5 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xdcf069ab target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0xdef1c1d5 target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0xe0e6206f transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0xe6796e59 transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0xe8efe05b transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xe92a1f0b target_stop_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xea78e139 target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xedc91dac target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0xf038b8ef sbc_dif_verify +EXPORT_SYMBOL drivers/target/target_core_mod 0xf29fa319 transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3c2dfe0 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xfe996462 sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0xff975754 transport_free_session +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x0ab2cc94 ufshcd_get_local_unipro_ver +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x14b60fba ufshcd_map_desc_id_to_length +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x2a0a4429 ufshcd_runtime_suspend +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x2cd8b5ee ufshcd_shutdown +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x328f8e2b ufshcd_system_resume +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x480633d4 ufshcd_system_suspend +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0x69224a3f ufshcd_alloc_host +EXPORT_SYMBOL drivers/ufs/core/ufshcd-core 0xe3e5ac77 ufshcd_runtime_resume +EXPORT_SYMBOL drivers/ufs/host/tc-dwc-g210 0x39f4e6e0 tc_dwc_g210_config_40_bit +EXPORT_SYMBOL drivers/ufs/host/tc-dwc-g210 0x604fcd3f tc_dwc_g210_config_20_bit +EXPORT_SYMBOL drivers/ufs/host/ufshcd-dwc 0x3ae0ccef ufshcd_dwc_dme_set_attrs +EXPORT_SYMBOL drivers/ufs/host/ufshcd-dwc 0xb84be07b ufshcd_dwc_link_startup_notify +EXPORT_SYMBOL drivers/usb/class/cdc-wdm 0x3f490d2f usb_cdc_wdm_register +EXPORT_SYMBOL drivers/usb/gadget/libcomposite 0x6fc10da0 usb_os_desc_prepare_interf_dir +EXPORT_SYMBOL drivers/usb/host/sl811-hcd 0xf883d5c4 sl811h_driver +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x07db268c usb_wwan_tiocmset +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x0850a9ef usb_wwan_open +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x2e7eddad usb_wwan_write_room +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x411382b2 usb_wwan_resume +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x882f22a6 usb_wwan_suspend +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0x9824469e usb_wwan_close +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xac710789 usb_wwan_port_remove +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xe7d12b43 usb_wwan_tiocmget +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xead2e944 usb_wwan_write +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf1c8dc1f usb_wwan_dtr_rts +EXPORT_SYMBOL drivers/usb/serial/usb_wwan 0xf5a09867 usb_wwan_chars_in_buffer +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xc884db99 usb_serial_suspend +EXPORT_SYMBOL drivers/usb/serial/usbserial 0xdbaadeac usb_serial_resume +EXPORT_SYMBOL drivers/vdpa/vdpa 0xaa034672 vdpa_set_status +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x1a2ef46c mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x4474e908 mtype_get_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x9884691d mdev_get_type_group_id +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xab012017 mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xb0b36bec mdev_register_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xc8f68a75 mdev_unregister_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xce3a0aaa mdev_unregister_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xe7d98ed4 mtype_get_type_group_id +EXPORT_SYMBOL drivers/vhost/vhost 0x1507031c vhost_chr_poll +EXPORT_SYMBOL drivers/vhost/vhost 0x3845ecfa vhost_chr_write_iter +EXPORT_SYMBOL drivers/vhost/vringh 0x03f16e62 vringh_notify_enable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x0498feb9 vringh_init_user +EXPORT_SYMBOL drivers/vhost/vringh 0x04fde01d vringh_notify_disable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x17958c34 vringh_notify_disable_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x1d3f5a75 vringh_complete_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x29f5fa0d vringh_complete_user +EXPORT_SYMBOL drivers/vhost/vringh 0x33e11a49 vringh_init_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x3973a07c vringh_getdesc_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x3b304ebb vringh_iov_push_user +EXPORT_SYMBOL drivers/vhost/vringh 0x3d44657b vringh_need_notify_user +EXPORT_SYMBOL drivers/vhost/vringh 0x42cb4111 vringh_abandon_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x4311cd91 vringh_iov_pull_user +EXPORT_SYMBOL drivers/vhost/vringh 0x4a6c3df7 vringh_abandon_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x4db86f30 vringh_notify_disable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x4fc577dc vringh_set_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0x5e661a87 vringh_notify_enable_user +EXPORT_SYMBOL drivers/vhost/vringh 0x660779c8 vringh_kiov_advance +EXPORT_SYMBOL drivers/vhost/vringh 0x6769867f vringh_need_notify_kern +EXPORT_SYMBOL drivers/vhost/vringh 0x91c18462 vringh_abandon_user +EXPORT_SYMBOL drivers/vhost/vringh 0x97fa07e9 vringh_iov_push_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xb0b57107 vringh_notify_enable_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xc62aa61e vringh_complete_multi_user +EXPORT_SYMBOL drivers/vhost/vringh 0xc9d39032 vringh_iov_push_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xc9fb475c vringh_complete_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xd9cd6edc vringh_iov_pull_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xde804bb9 vringh_iov_pull_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xe583840f vringh_need_notify_iotlb +EXPORT_SYMBOL drivers/vhost/vringh 0xe674e8b2 vringh_getdesc_user +EXPORT_SYMBOL drivers/vhost/vringh 0xe7204e1a vringh_init_kern +EXPORT_SYMBOL drivers/vhost/vringh 0xea03b482 vringh_getdesc_iotlb +EXPORT_SYMBOL drivers/video/backlight/lcd 0x64b4f194 devm_lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x6b728db5 lcd_device_register +EXPORT_SYMBOL drivers/video/backlight/lcd 0x8a86b708 devm_lcd_device_unregister +EXPORT_SYMBOL drivers/video/backlight/lcd 0x90e8457b lcd_device_unregister +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x050592bf svga_tilecursor +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x0653e53a svga_settile +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x1060261e svga_tilefill +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x17f3f471 svga_set_default_seq_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x1be6dc30 svga_set_textmode_vga_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x1ed16caa svga_get_tilemax +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x4ab38ef2 svga_set_default_crt_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x4e6e78d8 svga_get_caps +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x83a41489 svga_set_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x84c337c2 svga_wcrt_multi +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x84c97d2a svga_match_format +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0x84fd9afc svga_tilecopy +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xb0ab2b2e svga_check_timings +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xd22ca511 svga_set_default_atc_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xd6ec2c44 svga_compute_pll +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xdcc5a013 svga_wseq_multi +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xe28d2a49 svga_set_default_gfx_regs +EXPORT_SYMBOL drivers/video/fbdev/core/svgalib 0xef726fdf svga_tileblit +EXPORT_SYMBOL drivers/video/fbdev/core/syscopyarea 0x6167e3b5 sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0x3c12a879 sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0x58647f66 sys_imageblit +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x0cc3ede5 cyber2000fb_detach +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x3628532d cyber2000fb_attach +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0x534b6f18 cyber2000fb_disable_extregs +EXPORT_SYMBOL drivers/video/fbdev/cyber2000fb 0xb39f68d1 cyber2000fb_enable_extregs +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x6321a3c5 matroxfb_g450_setpll_cond +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0x941bd2d5 g450_mnp2f +EXPORT_SYMBOL drivers/video/fbdev/matrox/g450_pll 0xcdee8119 matroxfb_g450_setclk +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x2b7c2bac matrox_G100 +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x2e07a1d5 DAC1064_global_restore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0x5162179d DAC1064_global_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_DAC1064 0xc6e401b1 matrox_mystique +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_Ti3026 0xd90547ca matrox_millennium +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_accel 0x58b23382 matrox_cfbX_init +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x15d6d4ef matroxfb_unregister_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x181a7b80 matroxfb_register_driver +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x2fb87ae8 matroxfb_enable_irq +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_base 0x32907f7b matroxfb_wait_for_sync +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x4fc92a21 matroxfb_g450_shutdown +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_g450 0x9dbff11d matroxfb_g450_connect +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x20384242 matroxfb_DAC_in +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x25cf8049 matroxfb_PLL_calcclock +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x33af8e67 matroxfb_vgaHWrestore +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0x7a903b77 matroxfb_vgaHWinit +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xc708a17e matroxfb_read_pins +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xcdc90c64 matroxfb_var2my +EXPORT_SYMBOL drivers/video/fbdev/matrox/matroxfb_misc 0xdee9f427 matroxfb_DAC_out +EXPORT_SYMBOL drivers/video/fbdev/sis/sisfb 0x3037658e sis_malloc +EXPORT_SYMBOL drivers/video/fbdev/sis/sisfb 0xfe963115 sis_free +EXPORT_SYMBOL drivers/video/vgastate 0x686de290 restore_vga +EXPORT_SYMBOL drivers/video/vgastate 0xe7a2620e save_vga +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x06d4cc94 virtio_dma_buf_export +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x3de0240d virtio_dma_buf_attach +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x54455bf9 is_virtio_dma_buf +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0xb6dc199f virtio_dma_buf_get_uuid +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xc614ebee w1_ds2780_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2780 0xdb112ee3 w1_ds2780_io +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0x14ac9b68 w1_ds2781_eeprom_cmd +EXPORT_SYMBOL drivers/w1/slaves/w1_ds2781 0xf9e64b0e w1_ds2781_io +EXPORT_SYMBOL drivers/w1/wire 0x07230554 w1_unregister_family +EXPORT_SYMBOL drivers/w1/wire 0x69e48f47 w1_add_master_device +EXPORT_SYMBOL drivers/w1/wire 0x74586f49 w1_register_family +EXPORT_SYMBOL drivers/w1/wire 0x862d4168 w1_remove_master_device +EXPORT_SYMBOL fs/fscache/fscache 0x160a324b fscache_addremove_sem +EXPORT_SYMBOL fs/fscache/fscache 0x1a0d09e7 fscache_n_write +EXPORT_SYMBOL fs/fscache/fscache 0x1a25cfa0 __tracepoint_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x1f2960dd fscache_put_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x234a140d __traceiter_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x2451c665 fscache_withdraw_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x2f6498ea fscache_cookie_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x306805d3 __SCK__tp_func_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x39674879 __tracepoint_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x39a432f5 fscache_dirty_folio +EXPORT_SYMBOL fs/fscache/fscache 0x4404d2aa fscache_n_no_create_space +EXPORT_SYMBOL fs/fscache/fscache 0x45014f2c fscache_get_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x4996bd29 fscache_n_updates +EXPORT_SYMBOL fs/fscache/fscache 0x4bd084ba __SCK__tp_func_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x4c059ed9 __fscache_write_to_cache +EXPORT_SYMBOL fs/fscache/fscache 0x4fd19a59 __fscache_acquire_volume +EXPORT_SYMBOL fs/fscache/fscache 0x60b23e15 fscache_relinquish_cache +EXPORT_SYMBOL fs/fscache/fscache 0x68cd663e fscache_end_volume_access +EXPORT_SYMBOL fs/fscache/fscache 0x6c5e41e7 __tracepoint_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x6cc21497 __fscache_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0x6e416521 __SCK__tp_func_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x72209ccb __fscache_clear_page_bits +EXPORT_SYMBOL fs/fscache/fscache 0x727dc677 fscache_acquire_cache +EXPORT_SYMBOL fs/fscache/fscache 0x755f9e70 fscache_wait_for_operation +EXPORT_SYMBOL fs/fscache/fscache 0x77944169 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x8a1426ba fscache_withdraw_volume +EXPORT_SYMBOL fs/fscache/fscache 0x8f402372 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x90d447f3 fscache_n_culled +EXPORT_SYMBOL fs/fscache/fscache 0x92ba6879 __fscache_use_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x9ffefcb2 fscache_n_read +EXPORT_SYMBOL fs/fscache/fscache 0xa22fd660 __fscache_begin_write_operation +EXPORT_SYMBOL fs/fscache/fscache 0xae6040a5 __traceiter_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0xbca46908 fscache_wq +EXPORT_SYMBOL fs/fscache/fscache 0xbef3d9ce __fscache_begin_read_operation +EXPORT_SYMBOL fs/fscache/fscache 0xbfe3059f fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0xc0420f7c fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xcce11a60 fscache_n_no_write_space +EXPORT_SYMBOL fs/fscache/fscache 0xd74d9f88 fscache_caching_failed +EXPORT_SYMBOL fs/fscache/fscache 0xdcb87498 __traceiter_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0xdecb0727 __fscache_relinquish_volume +EXPORT_SYMBOL fs/fscache/fscache 0xe9355746 fscache_clearance_waiters +EXPORT_SYMBOL fs/fscache/fscache 0xeaecd859 __fscache_resize_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xf06f59aa __fscache_unuse_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xf4f1b282 fscache_end_cookie_access +EXPORT_SYMBOL fs/fscache/fscache 0xf5c7099f fscache_resume_after_invalidation +EXPORT_SYMBOL fs/fscache/fscache 0xf9375e90 __fscache_relinquish_cookie +EXPORT_SYMBOL fs/netfs/netfs 0x066d4fd6 netfs_subreq_terminated +EXPORT_SYMBOL fs/netfs/netfs 0x529d0d43 netfs_write_begin +EXPORT_SYMBOL fs/netfs/netfs 0x5a54f196 netfs_readahead +EXPORT_SYMBOL fs/netfs/netfs 0x856e6a18 netfs_stats_show +EXPORT_SYMBOL fs/netfs/netfs 0xae6cd163 netfs_read_folio +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x63f90be6 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x70bf97cd qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0x824d873b qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x98708709 qtree_delete_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xcd83d976 qtree_get_next_id +EXPORT_SYMBOL fs/quota/quota_tree 0xdea4f794 qtree_write_dquot +EXPORT_SYMBOL lib/crc-itu-t 0x09a34a2b crc_itu_t +EXPORT_SYMBOL lib/crc-itu-t 0xd819a524 crc_itu_t_table +EXPORT_SYMBOL lib/crc7 0x65aaf037 crc7_be_syndrome_table +EXPORT_SYMBOL lib/crc7 0xba55d23e crc7_be +EXPORT_SYMBOL lib/crc8 0x9c5d5b94 crc8 +EXPORT_SYMBOL lib/crc8 0xaa8106bc crc8_populate_msb +EXPORT_SYMBOL lib/crc8 0xc3cd034d crc8_populate_lsb +EXPORT_SYMBOL lib/crypto/libarc4 0x2bb32ad1 arc4_setkey +EXPORT_SYMBOL lib/crypto/libarc4 0xcd47fcc4 arc4_crypt +EXPORT_SYMBOL lib/crypto/libchacha 0xcec122d7 chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x147c3f2e chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x37b34b92 chacha20poly1305_encrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x521c7102 xchacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x5b19e187 chacha20poly1305_decrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xc20134e7 chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xce15a526 xchacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x12627f15 curve25519_generic +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x4a5a8811 curve25519_null_point +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x7e6fdbfc curve25519_base_point +EXPORT_SYMBOL lib/crypto/libpoly1305 0x021f3700 poly1305_core_blocks +EXPORT_SYMBOL lib/crypto/libpoly1305 0xbcb90cb3 poly1305_core_emit +EXPORT_SYMBOL lib/crypto/libpoly1305 0xd45b9cf4 poly1305_core_setkey +EXPORT_SYMBOL lib/libcrc32c 0x89a0cd52 crc32c_impl +EXPORT_SYMBOL lib/libcrc32c 0xb15b4109 crc32c +EXPORT_SYMBOL lib/lru_cache 0x0641307b lc_destroy +EXPORT_SYMBOL lib/lru_cache 0x098d2ed9 lc_try_get +EXPORT_SYMBOL lib/lru_cache 0x2d47ac83 lc_committed +EXPORT_SYMBOL lib/lru_cache 0x2f3dcecb lc_index_of +EXPORT_SYMBOL lib/lru_cache 0x4522d82a lc_reset +EXPORT_SYMBOL lib/lru_cache 0x4cf5f5a8 lc_is_used +EXPORT_SYMBOL lib/lru_cache 0x5752f31b lc_del +EXPORT_SYMBOL lib/lru_cache 0x7257beee lc_element_by_index +EXPORT_SYMBOL lib/lru_cache 0x9134feb7 lc_get +EXPORT_SYMBOL lib/lru_cache 0xb672aa97 lc_create +EXPORT_SYMBOL lib/lru_cache 0xbdfabafa lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0xbfbe53d5 lc_get_cumulative +EXPORT_SYMBOL lib/lru_cache 0xc3a98c1d lc_try_lock +EXPORT_SYMBOL lib/lru_cache 0xcc979a91 lc_set +EXPORT_SYMBOL lib/lru_cache 0xefec290a lc_find +EXPORT_SYMBOL lib/lru_cache 0xf4122685 lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0xfd525ec7 lc_put +EXPORT_SYMBOL lib/lz4/lz4_compress 0x4f4d78c5 LZ4_compress_default +EXPORT_SYMBOL lib/lz4/lz4_compress 0x5bc92e85 LZ4_compress_destSize +EXPORT_SYMBOL lib/lz4/lz4_compress 0x6004858d LZ4_compress_fast +EXPORT_SYMBOL lib/lz4/lz4_compress 0x635ff76d LZ4_saveDict +EXPORT_SYMBOL lib/lz4/lz4_compress 0x749849d8 LZ4_loadDict +EXPORT_SYMBOL lib/lz4/lz4_compress 0xf9eced44 LZ4_compress_fast_continue +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x38f7b6e0 LZ4_compress_HC_continue +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x93ff008c LZ4_loadDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x9cef495b LZ4_saveDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0xddf86133 LZ4_compress_HC +EXPORT_SYMBOL lib/math/cordic 0x7e431c15 cordic_calc_iq +EXPORT_SYMBOL lib/objagg 0x0363233d objagg_obj_raw +EXPORT_SYMBOL lib/objagg 0x23865923 objagg_destroy +EXPORT_SYMBOL lib/objagg 0x24ca5ca9 objagg_obj_root_priv +EXPORT_SYMBOL lib/objagg 0x342aefe2 objagg_obj_delta_priv +EXPORT_SYMBOL lib/objagg 0x352633f4 objagg_hints_stats_get +EXPORT_SYMBOL lib/objagg 0x3c58e78f objagg_hints_put +EXPORT_SYMBOL lib/objagg 0x6691f29d objagg_obj_put +EXPORT_SYMBOL lib/objagg 0x679e8cc2 objagg_create +EXPORT_SYMBOL lib/objagg 0xb17ab162 objagg_obj_get +EXPORT_SYMBOL lib/objagg 0xdaa3ee68 objagg_stats_get +EXPORT_SYMBOL lib/objagg 0xf5511527 objagg_stats_put +EXPORT_SYMBOL lib/objagg 0xfaa9d1a8 objagg_hints_get +EXPORT_SYMBOL lib/parman 0x0f518717 parman_prio_init +EXPORT_SYMBOL lib/parman 0x7b03d378 parman_item_add +EXPORT_SYMBOL lib/parman 0x8b7e26f5 parman_item_remove +EXPORT_SYMBOL lib/parman 0xc3e2d892 parman_create +EXPORT_SYMBOL lib/parman 0xc6a3d260 parman_prio_fini +EXPORT_SYMBOL lib/parman 0xca39ae6a parman_destroy +EXPORT_SYMBOL lib/raid6/raid6_pq 0x0b2c64a3 raid6_vgfmul +EXPORT_SYMBOL lib/raid6/raid6_pq 0x17f54263 raid6_gfexp +EXPORT_SYMBOL lib/raid6/raid6_pq 0x59a2712d raid6_gfinv +EXPORT_SYMBOL lib/raid6/raid6_pq 0xc8e3332b raid6_gflog +EXPORT_SYMBOL lib/raid6/raid6_pq 0xcc4ee841 raid6_gfexi +EXPORT_SYMBOL lib/raid6/raid6_pq 0xd91319d6 raid6_gfmul +EXPORT_SYMBOL lib/raid6/raid6_pq 0xefc78e77 raid6_empty_zero_page +EXPORT_SYMBOL net/6lowpan/6lowpan 0x0d6aa726 lowpan_register_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0x27056198 lowpan_register_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0x37d1604c lowpan_nhc_del +EXPORT_SYMBOL net/6lowpan/6lowpan 0x447b0784 lowpan_unregister_netdevice +EXPORT_SYMBOL net/6lowpan/6lowpan 0xc6ddb29f lowpan_unregister_netdev +EXPORT_SYMBOL net/6lowpan/6lowpan 0xdf42cae7 lowpan_nhc_add +EXPORT_SYMBOL net/802/p8022 0xaea5b7b6 register_8022_client +EXPORT_SYMBOL net/802/p8022 0xbd7ae19f unregister_8022_client +EXPORT_SYMBOL net/802/psnap 0xa49acead unregister_snap_client +EXPORT_SYMBOL net/802/psnap 0xb1f3524d register_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x0231a501 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x05ea0ce3 p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0x0acbc311 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x10fc2092 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0x18dd72c4 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x237c0999 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0x2822b625 p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x4aa0b161 p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x4bc11cac p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0x4e3ff1e1 p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x506775f2 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x5765190b p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0x5e0c4d45 p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0x62e25923 p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0x6465bf45 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x6512362f p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x6a94cb65 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x6b696e8d p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x6f8d746b p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0x8cacebc8 v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0x8d3ef9be v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x9040672e p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x93a94fa9 p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0x984c5e73 p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0x9ecb4702 p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0xa2bf7f29 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0xa2cb51e5 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0xa3175772 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0xa4facb32 p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0xa8277320 p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0xb42adbf5 p9_client_read_once +EXPORT_SYMBOL net/9p/9pnet 0xb5d7e2da p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xb79f25fd p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0xba6061d1 p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0xbb085df4 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0xc38070ff p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0xc9d63277 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0xcc815452 v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0xce00d612 p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0xd384c683 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xd76c24ff p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xe311d1fa p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xe8d35734 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0xebe8a949 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0xf279584a v9fs_get_default_trans +EXPORT_SYMBOL net/9p/9pnet 0xfb0411b1 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0xfe5de847 p9_client_read +EXPORT_SYMBOL net/appletalk/appletalk 0xab7031df aarp_send_ddp +EXPORT_SYMBOL net/appletalk/appletalk 0xbcf3c8f3 atrtr_get_dev +EXPORT_SYMBOL net/appletalk/appletalk 0xc530606e alloc_ltalkdev +EXPORT_SYMBOL net/appletalk/appletalk 0xc8770103 atalk_find_dev_addr +EXPORT_SYMBOL net/atm/atm 0x251c882d atm_dev_signal_change +EXPORT_SYMBOL net/atm/atm 0x26709a4a atm_dev_lookup +EXPORT_SYMBOL net/atm/atm 0x2cc2d52d vcc_hash +EXPORT_SYMBOL net/atm/atm 0x3e65a385 atm_charge +EXPORT_SYMBOL net/atm/atm 0x4443d399 atm_proc_root +EXPORT_SYMBOL net/atm/atm 0x72414a92 vcc_insert_socket +EXPORT_SYMBOL net/atm/atm 0x78122200 vcc_release_async +EXPORT_SYMBOL net/atm/atm 0x81e7acc7 atm_dev_release_vccs +EXPORT_SYMBOL net/atm/atm 0x951090d7 atm_dev_register +EXPORT_SYMBOL net/atm/atm 0x9feaf287 sonet_subtract_stats +EXPORT_SYMBOL net/atm/atm 0xa88c25b0 atm_dev_deregister +EXPORT_SYMBOL net/atm/atm 0xaa024146 sonet_copy_stats +EXPORT_SYMBOL net/atm/atm 0xae3fe1de atm_alloc_charge +EXPORT_SYMBOL net/atm/atm 0xb4dc1908 atm_init_aal5 +EXPORT_SYMBOL net/atm/atm 0xbc954f83 register_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xca87b453 vcc_sklist_lock +EXPORT_SYMBOL net/atm/atm 0xe3cbf445 deregister_atm_ioctl +EXPORT_SYMBOL net/atm/atm 0xf49bc67a atm_pcr_goal +EXPORT_SYMBOL net/atm/atm 0xf6f45fb9 vcc_process_recv_queue +EXPORT_SYMBOL net/ax25/ax25 0x14cecd59 ax25_display_timer +EXPORT_SYMBOL net/ax25/ax25 0x242852b9 ax25_uid_policy +EXPORT_SYMBOL net/ax25/ax25 0x3a90862b ax25_header_ops +EXPORT_SYMBOL net/ax25/ax25 0x3db4dab2 ax25_listen_release +EXPORT_SYMBOL net/ax25/ax25 0x4502c65a asc2ax +EXPORT_SYMBOL net/ax25/ax25 0x53dea1ff ax2asc +EXPORT_SYMBOL net/ax25/ax25 0x6de74955 ax25_find_cb +EXPORT_SYMBOL net/ax25/ax25 0x81ed99c3 ax25_ip_xmit +EXPORT_SYMBOL net/ax25/ax25 0x8ede9e26 ax25_protocol_release +EXPORT_SYMBOL net/ax25/ax25 0xc1444946 ax25cmp +EXPORT_SYMBOL net/ax25/ax25 0xd43ecbf1 null_ax25_address +EXPORT_SYMBOL net/ax25/ax25 0xddb6c299 ax25_linkfail_register +EXPORT_SYMBOL net/ax25/ax25 0xea338416 ax25_send_frame +EXPORT_SYMBOL net/ax25/ax25 0xee02e420 ax25_findbyuid +EXPORT_SYMBOL net/ax25/ax25 0xfd7be4ce ax25_listen_register +EXPORT_SYMBOL net/ax25/ax25 0xfe25433c ax25_linkfail_release +EXPORT_SYMBOL net/bluetooth/bluetooth 0x03c69cfe bt_procfs_init +EXPORT_SYMBOL net/bluetooth/bluetooth 0x05808ecc bt_accept_dequeue +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0718b8b7 bt_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0a7a2815 hci_suspend_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x0f572b19 hci_set_hw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0x121c9d4d hci_free_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x12287d9e bt_sock_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0x1c98e971 hci_unregister_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x214e4265 bt_warn +EXPORT_SYMBOL net/bluetooth/bluetooth 0x320cac4b bt_accept_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3446fe0a hci_reset_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x38f8b9b3 l2cap_conn_put +EXPORT_SYMBOL net/bluetooth/bluetooth 0x3e314ed5 hci_register_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x437f0822 hci_register_cb +EXPORT_SYMBOL net/bluetooth/bluetooth 0x43cad0fe bt_sock_link +EXPORT_SYMBOL net/bluetooth/bluetooth 0x54e7a5c0 hci_cmd_sync_cancel +EXPORT_SYMBOL net/bluetooth/bluetooth 0x565c6822 hci_recv_frame +EXPORT_SYMBOL net/bluetooth/bluetooth 0x570011e2 hci_mgmt_chan_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x58eddde6 bt_sock_wait_state +EXPORT_SYMBOL net/bluetooth/bluetooth 0x5e5b259b hci_release_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x617a54b4 l2cap_chan_close +EXPORT_SYMBOL net/bluetooth/bluetooth 0x688be970 __hci_cmd_sync_status_sk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x6b644553 hci_conn_check_secure +EXPORT_SYMBOL net/bluetooth/bluetooth 0x76762c91 hci_conn_security +EXPORT_SYMBOL net/bluetooth/bluetooth 0x77336a1c __hci_cmd_sync_sk +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7a7a45e4 bt_sock_ioctl +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7aad008b bt_to_errno +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b5ce5c3 baswap +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7b8c32f1 bt_err +EXPORT_SYMBOL net/bluetooth/bluetooth 0x7e6cb13c l2cap_unregister_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8b718f12 hci_unregister_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8cf5b5b5 hci_recv_diag +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8e89922a __hci_cmd_sync_ev +EXPORT_SYMBOL net/bluetooth/bluetooth 0x8fea24bd bt_sock_unregister +EXPORT_SYMBOL net/bluetooth/bluetooth 0x98221694 bt_sock_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0x98a7d95e bt_sock_reclassify_lock +EXPORT_SYMBOL net/bluetooth/bluetooth 0x9bca39c5 bt_procfs_cleanup +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa380745a l2cap_register_user +EXPORT_SYMBOL net/bluetooth/bluetooth 0xa6a2b7b8 bt_sock_stream_recvmsg +EXPORT_SYMBOL net/bluetooth/bluetooth 0xaf8f6ece l2cap_conn_get +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb43573a1 hci_alloc_dev_priv +EXPORT_SYMBOL net/bluetooth/bluetooth 0xb8637af9 bt_accept_enqueue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xcd4622e6 hci_mgmt_chan_register +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd135263e hci_set_fw_info +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd3c46a96 l2cap_is_socket +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd3d3186d hci_cmd_sync +EXPORT_SYMBOL net/bluetooth/bluetooth 0xd7613212 bt_err_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xddacccf6 bt_warn_ratelimited +EXPORT_SYMBOL net/bluetooth/bluetooth 0xde8c50a0 __hci_cmd_send +EXPORT_SYMBOL net/bluetooth/bluetooth 0xed038391 hci_cmd_sync_queue +EXPORT_SYMBOL net/bluetooth/bluetooth 0xef176a1e __hci_cmd_sync_status +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf168123b hci_conn_switch_role +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf2dd293d bt_sock_unlink +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf4af77fc hci_get_route +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf84d6214 bt_sock_poll +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf8677f84 hci_resume_dev +EXPORT_SYMBOL net/bluetooth/bluetooth 0xf8a1973f bt_sock_wait_ready +EXPORT_SYMBOL net/bluetooth/bluetooth 0xfc4449d6 __hci_cmd_sync +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x0e7821ec ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x2fd1bbe8 ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x554076e4 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x5d8a7bbe ebt_unregister_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xae08db7e ebt_register_template +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xcccbb7aa ebt_unregister_template +EXPORT_SYMBOL net/caif/caif 0x1446b60a caif_client_register_refcnt +EXPORT_SYMBOL net/caif/caif 0x2a09f713 cfpkt_fromnative +EXPORT_SYMBOL net/caif/caif 0x329dbd06 cfpkt_info +EXPORT_SYMBOL net/caif/caif 0x38701a7c cfcnfg_del_phy_layer +EXPORT_SYMBOL net/caif/caif 0x3fa84493 cfpkt_add_head +EXPORT_SYMBOL net/caif/caif 0x40babbe0 cfpkt_extr_head +EXPORT_SYMBOL net/caif/caif 0x4a237e57 cfpkt_tonative +EXPORT_SYMBOL net/caif/caif 0x7f33c849 get_cfcnfg +EXPORT_SYMBOL net/caif/caif 0x839ddb7b cfcnfg_set_phy_state +EXPORT_SYMBOL net/caif/caif 0x8d180bd4 caif_connect_client +EXPORT_SYMBOL net/caif/caif 0x8f79ede7 caif_enroll_dev +EXPORT_SYMBOL net/caif/caif 0x9e3e305d cfpkt_set_prio +EXPORT_SYMBOL net/caif/caif 0xac433b57 cfcnfg_add_phy_layer +EXPORT_SYMBOL net/caif/caif 0xb7b6874e caif_free_client +EXPORT_SYMBOL net/caif/caif 0xc661ea5f caif_disconnect_client +EXPORT_SYMBOL net/can/can 0x0b6427ce can_rx_unregister +EXPORT_SYMBOL net/can/can 0x8e4152ac can_send +EXPORT_SYMBOL net/can/can 0x954662b7 can_proto_unregister +EXPORT_SYMBOL net/can/can 0x96ed41aa can_sock_destruct +EXPORT_SYMBOL net/can/can 0x9b09c052 can_proto_register +EXPORT_SYMBOL net/can/can 0xe16014f7 can_rx_register +EXPORT_SYMBOL net/ceph/libceph 0x072401e1 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0x08b0a0b2 ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0x08f63819 osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x0c4463b0 osd_req_op_extent_dup_last +EXPORT_SYMBOL net/ceph/libceph 0x0cf31865 ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x0fb59811 ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0x10056a03 ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x11f40026 osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x1208f2f5 ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0x1334e5e8 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x14801c99 ceph_auth_handle_svc_reply_done +EXPORT_SYMBOL net/ceph/libceph 0x165b1948 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0x1e6fb4cf ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0x1eb30234 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0x1fdda336 osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x23c15cd1 ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x27ab7b01 ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x2a6b4e46 ceph_osdc_put_request +EXPORT_SYMBOL net/ceph/libceph 0x2a983d26 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x2aca1f03 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0x2fa9f9a5 osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0x2fc8af9f osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x3253b25a osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0x38f2d94e ceph_file_to_extents +EXPORT_SYMBOL net/ceph/libceph 0x38fb69d1 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0x3bb3da25 ceph_pg_to_acting_primary +EXPORT_SYMBOL net/ceph/libceph 0x3c8d7111 ceph_get_num_objects +EXPORT_SYMBOL net/ceph/libceph 0x417a9131 ceph_oloc_destroy +EXPORT_SYMBOL net/ceph/libceph 0x420480fa ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0x43ba179e osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0x46094f26 ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x46b3190d ceph_osdc_watch +EXPORT_SYMBOL net/ceph/libceph 0x4728b340 ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x4973ee72 ceph_msg_put +EXPORT_SYMBOL net/ceph/libceph 0x4affd6c2 ceph_parse_fsid +EXPORT_SYMBOL net/ceph/libceph 0x4cf4b0aa ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x50603ce3 ceph_decode_entity_addrvec +EXPORT_SYMBOL net/ceph/libceph 0x529fe05b ceph_cls_unlock +EXPORT_SYMBOL net/ceph/libceph 0x53b88f14 ceph_auth_get_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x53bde46a ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5932dcc8 ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0x59762e96 ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x5aaee326 osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x5bb74485 ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0x6075ef04 ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x6259d052 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x68457844 osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x6c1eac00 ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0x6c65e94b ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0x6f1b4c4a osd_req_op_copy_from_init +EXPORT_SYMBOL net/ceph/libceph 0x6f730838 ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0x71c87f25 ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0x733bf2c0 ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0x7355826b osd_req_op_extent_init +EXPORT_SYMBOL net/ceph/libceph 0x78248813 osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x7b7325e7 ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x81b07dbd ceph_monc_blocklist_add +EXPORT_SYMBOL net/ceph/libceph 0x8474b139 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x86702e7a ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0x86fca7e4 ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x8726b77e ceph_osdc_list_watchers +EXPORT_SYMBOL net/ceph/libceph 0x88fa161d ceph_auth_handle_bad_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x89e3c3af osd_req_op_xattr_init +EXPORT_SYMBOL net/ceph/libceph 0x8c140973 ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x8e96f99b ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x92230db4 ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0x93f10b7f ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0x96a97805 ceph_client_gid +EXPORT_SYMBOL net/ceph/libceph 0x987d3968 ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x988fa323 ceph_auth_handle_svc_reply_more +EXPORT_SYMBOL net/ceph/libceph 0x9bc6b539 ceph_find_or_create_string +EXPORT_SYMBOL net/ceph/libceph 0x9ca95932 ceph_create_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x9d9f4516 ceph_osdc_call +EXPORT_SYMBOL net/ceph/libceph 0x9f058e8f ceph_cls_lock_info +EXPORT_SYMBOL net/ceph/libceph 0x9fbba67f ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0x9fefa3cb ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0xa2de73c1 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xa31cc864 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0xa32f4196 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0xa5153a09 ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0xa61bb992 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0xa6685a2c ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xa698f998 ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0xa6e25c58 ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0xa7261927 ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0xaa26810e ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0xaa598c07 ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0xad703657 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xaee3e448 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0xaf4f8dd9 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb2137b62 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb72c162e ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xb8592dd8 __ceph_auth_get_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xbb244f0b ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0xbc4d4cb4 osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0xbcb89124 ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0xbd2f79ae ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0xbd48114e ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0xbe3879aa ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0xc0c5f9d8 osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0xc1a2a6d3 ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0xc1d83f9a __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xc366bfa1 ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0xc4892119 osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xc509f35a ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0xc763f2e1 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0xca80437b ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0xcba6aee6 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xce7abe05 ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0xd18360f2 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xd33fc2bc ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0xd3b0db2e ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0xd4d736db ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0xd4eb7735 ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0xd6e053a5 ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0xd893e4c6 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0xdcb39285 ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0xdf6ef4a1 ceph_oid_printf +EXPORT_SYMBOL net/ceph/libceph 0xdfc091f9 ceph_entity_type_name +EXPORT_SYMBOL net/ceph/libceph 0xe022108c ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0xe1c93f0c ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0xe44aaf69 osd_req_op_init +EXPORT_SYMBOL net/ceph/libceph 0xe6cc1764 osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/ceph/libceph 0xe76e7226 ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0xee120c03 ceph_release_string +EXPORT_SYMBOL net/ceph/libceph 0xeef6cfa3 ceph_iterate_extents +EXPORT_SYMBOL net/ceph/libceph 0xefce3c3b ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0xefce991c ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0xf03fe862 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0xf420cbb7 ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0xf6def5e8 ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xfae26ee5 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0xfb68dc03 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0xfb9e5960 ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0xfc08e952 ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x2fc76373 dccp_req_err +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xc6279e52 dccp_syn_ack_timeout +EXPORT_SYMBOL net/hsr/hsr 0x5af0a56d hsr_get_version +EXPORT_SYMBOL net/hsr/hsr 0x9c419af1 is_hsr_master +EXPORT_SYMBOL net/ieee802154/ieee802154 0x5db0af46 wpan_phy_for_each +EXPORT_SYMBOL net/ieee802154/ieee802154 0x96a76971 wpan_phy_unregister +EXPORT_SYMBOL net/ieee802154/ieee802154 0xc8c6f72a wpan_phy_register +EXPORT_SYMBOL net/ieee802154/ieee802154 0xe8b6d935 wpan_phy_find +EXPORT_SYMBOL net/ieee802154/ieee802154 0xf5d58d54 wpan_phy_free +EXPORT_SYMBOL net/ieee802154/ieee802154 0xf8b56aa9 wpan_phy_new +EXPORT_SYMBOL net/ipv4/fou 0x1757d1a4 fou_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0x2822a756 __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0xd4819581 __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0xf13914b3 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0x52a491e8 gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x49560e6e ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x7d2bf5d3 ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xda92ed2f ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xf56499b6 ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x5b2939eb arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x71be5205 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xb7ca29ef arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xc4ec5f08 arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x28f958e6 ipt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x5267ec3e ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x83e40083 ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0xe381af76 ipt_register_table +EXPORT_SYMBOL net/ipv4/tunnel4 0x888666da xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0xb8f2c0f5 xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/udp_tunnel 0x3a1a8cef udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x0d945b42 ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x452e98ca ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x4e541342 ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x51a76a50 ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x6d0a2c0d ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x6fd2c4b4 ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xa74e7c81 ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xb5ca20d6 ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xfb0febec ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x4de2a5b6 ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x5b65e209 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x7990847f ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xce5c7f78 ip6t_register_table +EXPORT_SYMBOL net/ipv6/tunnel6 0xab1c421c xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/tunnel6 0xe2e7063d xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x7221a9d4 xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xf33b0683 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/lapb/lapb 0x03f52e67 lapb_disconnect_request +EXPORT_SYMBOL net/lapb/lapb 0x2f1e8b93 lapb_setparms +EXPORT_SYMBOL net/lapb/lapb 0x4cec1727 lapb_data_received +EXPORT_SYMBOL net/lapb/lapb 0x7476be4a lapb_register +EXPORT_SYMBOL net/lapb/lapb 0x81ddd322 lapb_connect_request +EXPORT_SYMBOL net/lapb/lapb 0x9a19bfc5 lapb_unregister +EXPORT_SYMBOL net/lapb/lapb 0xa4ec3e2d lapb_data_request +EXPORT_SYMBOL net/lapb/lapb 0xc2406a80 lapb_getparms +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x3f5dd7d9 llc_add_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x5eeef68e llc_sap_close +EXPORT_SYMBOL net/llc/llc 0x695cce41 llc_sap_open +EXPORT_SYMBOL net/llc/llc 0x75a53487 llc_mac_hdr_init +EXPORT_SYMBOL net/llc/llc 0x999c94bf llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0xa60da461 llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0xaa46a7e8 llc_sap_find +EXPORT_SYMBOL net/mac80211/mac80211 0x01a6a4ce ieee80211_connection_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x020dea26 ieee80211_tx_status_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x0283900c ieee80211_stop_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x02f1d4fe ieee80211_iter_keys +EXPORT_SYMBOL net/mac80211/mac80211 0x063f5308 ieee80211_get_tkip_p1k_iv +EXPORT_SYMBOL net/mac80211/mac80211 0x081bafd5 ieee80211_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x08db45ab ieee80211_sta_register_airtime +EXPORT_SYMBOL net/mac80211/mac80211 0x0957ab2b ieee80211_pspoll_get +EXPORT_SYMBOL net/mac80211/mac80211 0x0c5177e9 ieee80211_get_tx_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x0cc25003 ieee80211_get_unsol_bcast_probe_resp_tmpl +EXPORT_SYMBOL net/mac80211/mac80211 0x0f3921d9 ieee80211_txq_may_transmit +EXPORT_SYMBOL net/mac80211/mac80211 0x17c41bb5 rate_control_set_rates +EXPORT_SYMBOL net/mac80211/mac80211 0x1803b6fe ieee80211_report_wowlan_wakeup +EXPORT_SYMBOL net/mac80211/mac80211 0x183dcd3b ieee80211_get_key_rx_seq +EXPORT_SYMBOL net/mac80211/mac80211 0x191917fb __ieee80211_get_rx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x19f37f0d ieee80211_update_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x1a66fc17 ieee80211_get_tkip_rx_p1k +EXPORT_SYMBOL net/mac80211/mac80211 0x1adf20c5 ieee80211_radar_detected +EXPORT_SYMBOL net/mac80211/mac80211 0x1ca73eb8 ieee80211_ctstoself_get +EXPORT_SYMBOL net/mac80211/mac80211 0x1efb31ce ieee80211_tx_status_ext +EXPORT_SYMBOL net/mac80211/mac80211 0x224e39d2 wiphy_to_ieee80211_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x251632ae ieee80211_send_bar +EXPORT_SYMBOL net/mac80211/mac80211 0x29778345 ieee80211_rts_get +EXPORT_SYMBOL net/mac80211/mac80211 0x2e03175e ieee80211_queue_delayed_work +EXPORT_SYMBOL net/mac80211/mac80211 0x3040ab07 ieee80211_manage_rx_ba_offl +EXPORT_SYMBOL net/mac80211/mac80211 0x3297b10d __ieee80211_get_tx_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0x3502d438 ieee80211_sta_eosp +EXPORT_SYMBOL net/mac80211/mac80211 0x35ff5e98 ieee80211_report_low_ack +EXPORT_SYMBOL net/mac80211/mac80211 0x380a7302 ieee80211_disable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x383f6880 ieee80211_enable_rssi_reports +EXPORT_SYMBOL net/mac80211/mac80211 0x3ad1fa16 ieee80211_beacon_loss +EXPORT_SYMBOL net/mac80211/mac80211 0x436de0de ieee80211_unregister_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x45623c57 ieee80211_tx_prepare_skb +EXPORT_SYMBOL net/mac80211/mac80211 0x47fbb8b0 ieee80211_generic_frame_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x48b38748 ieee80211_tdls_oper_request +EXPORT_SYMBOL net/mac80211/mac80211 0x493deb05 ieee80211_stop_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x4dbd64fe ieee80211_txq_airtime_check +EXPORT_SYMBOL net/mac80211/mac80211 0x503a2a56 ieee80211_start_tx_ba_cb_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x528dd06b ieee80211_queue_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0x5307de04 ieee80211_scan_completed +EXPORT_SYMBOL net/mac80211/mac80211 0x56c69142 ieee80211_get_buffered_bc +EXPORT_SYMBOL net/mac80211/mac80211 0x5e679a5e ieee80211_rx_irqsafe +EXPORT_SYMBOL net/mac80211/mac80211 0x5e724597 ieee80211_nullfunc_get +EXPORT_SYMBOL net/mac80211/mac80211 0x5f570d86 ieee80211_rts_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x6bbf6249 ieee80211_cqm_rssi_notify +EXPORT_SYMBOL net/mac80211/mac80211 0x6ca32f7e ieee80211_beacon_set_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0x6cd53413 ieee80211_stop_rx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x71ad9179 ieee80211_beacon_get_template +EXPORT_SYMBOL net/mac80211/mac80211 0x744dbe8b ieee80211_proberesp_get +EXPORT_SYMBOL net/mac80211/mac80211 0x761fc45a ieee80211_unreserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x7997cf1b ieee80211_ap_probereq_get +EXPORT_SYMBOL net/mac80211/mac80211 0x7b4113b7 ieee80211_tx_dequeue +EXPORT_SYMBOL net/mac80211/mac80211 0x7e31d60f ieee80211_ctstoself_duration +EXPORT_SYMBOL net/mac80211/mac80211 0x7efe0b6f ieee80211_disconnect +EXPORT_SYMBOL net/mac80211/mac80211 0x7f33d142 ieee80211_reserve_tid +EXPORT_SYMBOL net/mac80211/mac80211 0x8260ba17 ieee80211_rate_control_register +EXPORT_SYMBOL net/mac80211/mac80211 0x8415d2b9 ieee80211_queue_work +EXPORT_SYMBOL net/mac80211/mac80211 0x858c0f40 ieee80211_rate_control_unregister +EXPORT_SYMBOL net/mac80211/mac80211 0x8f0c2f68 ieee80211_restart_hw +EXPORT_SYMBOL net/mac80211/mac80211 0x94cc84b0 ieee80211_start_tx_ba_session +EXPORT_SYMBOL net/mac80211/mac80211 0x991a0ca0 ieee80211_parse_p2p_noa +EXPORT_SYMBOL net/mac80211/mac80211 0x9ddc1d0e ieee80211_sta_block_awake +EXPORT_SYMBOL net/mac80211/mac80211 0xa41ac085 ieee80211_stop_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xa6d669f1 ieee80211_chswitch_done +EXPORT_SYMBOL net/mac80211/mac80211 0xa6e6441d ieee80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/mac80211/mac80211 0xa95cbca9 ieee80211_beacon_update_cntdwn +EXPORT_SYMBOL net/mac80211/mac80211 0xa97442f0 ieee80211_rx_list +EXPORT_SYMBOL net/mac80211/mac80211 0xaa3d4e8d ieee80211_sched_scan_results +EXPORT_SYMBOL net/mac80211/mac80211 0xab2c4a2c ieee80211_tx_status_8023 +EXPORT_SYMBOL net/mac80211/mac80211 0xab658c4b ieee80211_schedule_txq +EXPORT_SYMBOL net/mac80211/mac80211 0xab80fb07 ieee80211_nan_func_terminated +EXPORT_SYMBOL net/mac80211/mac80211 0xadfcc6eb ieee80211_mark_rx_ba_filtered_frames +EXPORT_SYMBOL net/mac80211/mac80211 0xb42390a2 ieee80211_sta_pspoll +EXPORT_SYMBOL net/mac80211/mac80211 0xb5056c66 __ieee80211_get_radio_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xb5d1e3b8 ieee80211_sta_ps_transition +EXPORT_SYMBOL net/mac80211/mac80211 0xb8473a70 ieee80211_stop_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xb88c8e9a ieee80211_beacon_cntdwn_is_complete +EXPORT_SYMBOL net/mac80211/mac80211 0xbbd10af9 ieee80211_sta_uapsd_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xbcd19bb6 __ieee80211_create_tpt_led_trigger +EXPORT_SYMBOL net/mac80211/mac80211 0xbfb61be7 ieee80211_free_txskb +EXPORT_SYMBOL net/mac80211/mac80211 0xc057739b ieee80211_rx_ba_timer_expired +EXPORT_SYMBOL net/mac80211/mac80211 0xc1a16e3c ieee80211_next_txq +EXPORT_SYMBOL net/mac80211/mac80211 0xc1f0c3aa ieee80211_iter_keys_rcu +EXPORT_SYMBOL net/mac80211/mac80211 0xc3967749 ieee80211_sched_scan_stopped +EXPORT_SYMBOL net/mac80211/mac80211 0xc3e58981 ieee80211_return_txq +EXPORT_SYMBOL net/mac80211/mac80211 0xc5cb99b9 ieee80211_get_tkip_p2k +EXPORT_SYMBOL net/mac80211/mac80211 0xca45057b ieee80211_csa_finish +EXPORT_SYMBOL net/mac80211/mac80211 0xcb643734 ieee80211_nan_func_match +EXPORT_SYMBOL net/mac80211/mac80211 0xcd75f5a2 ieee80211_tx_rate_update +EXPORT_SYMBOL net/mac80211/mac80211 0xceb93ce3 ieee80211_channel_switch_disconnect +EXPORT_SYMBOL net/mac80211/mac80211 0xcf6e6706 ieee80211_register_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xcfebbbb5 ieee80211_send_eosp_nullfunc +EXPORT_SYMBOL net/mac80211/mac80211 0xdb72b321 ieee80211_get_fils_discovery_tmpl +EXPORT_SYMBOL net/mac80211/mac80211 0xdeab316d ieee80211_beacon_get_tim +EXPORT_SYMBOL net/mac80211/mac80211 0xdf2e4a20 ieee80211_wake_queue +EXPORT_SYMBOL net/mac80211/mac80211 0xdf323085 ieee80211_alloc_hw_nm +EXPORT_SYMBOL net/mac80211/mac80211 0xe2a79706 ieee80211_txq_schedule_start +EXPORT_SYMBOL net/mac80211/mac80211 0xe5752af3 ieee80211_get_bssid +EXPORT_SYMBOL net/mac80211/mac80211 0xe5bec68a ieee80211_wake_queues +EXPORT_SYMBOL net/mac80211/mac80211 0xe99d8991 ieee80211_tx_status +EXPORT_SYMBOL net/mac80211/mac80211 0xeb01b037 ieee80211_txq_get_depth +EXPORT_SYMBOL net/mac80211/mac80211 0xec48c604 ieee80211_sta_set_buffered +EXPORT_SYMBOL net/mac80211/mac80211 0xf23a3c9f __ieee80211_get_assoc_led_name +EXPORT_SYMBOL net/mac80211/mac80211 0xf312e888 ieee80211_find_sta +EXPORT_SYMBOL net/mac80211/mac80211 0xf41d587e ieee80211_free_hw +EXPORT_SYMBOL net/mac80211/mac80211 0xf473fbc6 ieee80211_rx_napi +EXPORT_SYMBOL net/mac802154/mac802154 0x1749c89b ieee802154_unregister_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x1b5d5415 ieee802154_rx_irqsafe +EXPORT_SYMBOL net/mac802154/mac802154 0x219568f4 ieee802154_free_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x28624b4f ieee802154_configure_durations +EXPORT_SYMBOL net/mac802154/mac802154 0x409ba105 ieee802154_xmit_error +EXPORT_SYMBOL net/mac802154/mac802154 0x4e2590eb ieee802154_register_hw +EXPORT_SYMBOL net/mac802154/mac802154 0x57fef72b ieee802154_wake_queue +EXPORT_SYMBOL net/mac802154/mac802154 0x947d862e ieee802154_alloc_hw +EXPORT_SYMBOL net/mac802154/mac802154 0xa2d509fe ieee802154_stop_queue +EXPORT_SYMBOL net/mac802154/mac802154 0xb6a263bf ieee802154_xmit_complete +EXPORT_SYMBOL net/mac802154/mac802154 0xe91041a1 ieee802154_xmit_hw_error +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x062b29ef unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x18bd589f ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1a179826 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1de32efc register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x244ea9ed ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x59126866 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x5ee25d49 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x5f7b2544 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x77dd340e ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x77f67154 ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x926f8559 ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb7e4354c ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc297ea73 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc9aa6fce register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xfbe24413 ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x3b08a8f0 nf_ct_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x7f0516ad nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x89d99ee1 __nf_ct_ext_find +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0xf2a36612 pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x9e97e979 nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nf_nat 0xaf50117d nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0xe96c745c nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nf_nat 0xffeb34f2 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nft_fib 0xb3c36947 nft_fib_policy +EXPORT_SYMBOL net/netfilter/x_tables 0x0d7f5fcd xt_alloc_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x1d5d9dfe xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0x3bf9d084 xt_check_table_hooks +EXPORT_SYMBOL net/netfilter/x_tables 0x3cf0a91c xt_find_table +EXPORT_SYMBOL net/netfilter/x_tables 0x48012e28 xt_check_proc_name +EXPORT_SYMBOL net/netfilter/x_tables 0x50873741 xt_compat_init_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x6234f1a0 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x858e2210 xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x8a66062b xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x977fd4bf xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xa25fc115 xt_compat_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0xaaa74d0b xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xca98a511 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0xcb3e91cc xt_counters_alloc +EXPORT_SYMBOL net/netfilter/x_tables 0xd0254554 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xd87ae60d xt_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0xdaa5fc31 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0xe204e042 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xe7f59d03 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0xfef779fa xt_find_jump_offset +EXPORT_SYMBOL net/nfc/hci/hci 0x037163fd nfc_hci_send_event +EXPORT_SYMBOL net/nfc/hci/hci 0x0dfba79c nfc_hci_get_param +EXPORT_SYMBOL net/nfc/hci/hci 0x18034b67 nfc_hci_recv_frame +EXPORT_SYMBOL net/nfc/hci/hci 0x1f6b0af3 nfc_hci_free_device +EXPORT_SYMBOL net/nfc/hci/hci 0x27fcf052 nfc_hci_reset_pipes +EXPORT_SYMBOL net/nfc/hci/hci 0x3028014f nfc_hci_disconnect_all_gates +EXPORT_SYMBOL net/nfc/hci/hci 0x3cc33454 nfc_hci_disconnect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0x3f97ca21 nfc_hci_register_device +EXPORT_SYMBOL net/nfc/hci/hci 0x603ee586 nfc_hci_unregister_device +EXPORT_SYMBOL net/nfc/hci/hci 0x604e5cd4 nfc_hci_target_discovered +EXPORT_SYMBOL net/nfc/hci/hci 0x74fe3670 nfc_hci_result_to_errno +EXPORT_SYMBOL net/nfc/hci/hci 0xad3180c6 nfc_hci_connect_gate +EXPORT_SYMBOL net/nfc/hci/hci 0xb0c9334e nfc_hci_get_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xb86a0820 nfc_hci_allocate_device +EXPORT_SYMBOL net/nfc/hci/hci 0xbb1a2688 nfc_hci_set_clientdata +EXPORT_SYMBOL net/nfc/hci/hci 0xcb70651a nfc_llc_stop +EXPORT_SYMBOL net/nfc/hci/hci 0xcceebf7d nfc_hci_driver_failure +EXPORT_SYMBOL net/nfc/hci/hci 0xd750a720 nfc_hci_reset_pipes_per_host +EXPORT_SYMBOL net/nfc/hci/hci 0xdbf11740 nfc_hci_send_cmd_async +EXPORT_SYMBOL net/nfc/hci/hci 0xdd231c55 nfc_hci_sak_to_protocol +EXPORT_SYMBOL net/nfc/hci/hci 0xe14c4bd1 nfc_llc_start +EXPORT_SYMBOL net/nfc/hci/hci 0xf88e467e nfc_hci_set_param +EXPORT_SYMBOL net/nfc/hci/hci 0xffd19a56 nfc_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x03567444 nci_core_conn_create +EXPORT_SYMBOL net/nfc/nci/nci 0x10184ee8 nci_core_reset +EXPORT_SYMBOL net/nfc/nci/nci 0x204397cc nci_register_device +EXPORT_SYMBOL net/nfc/nci/nci 0x2589b071 nci_unregister_device +EXPORT_SYMBOL net/nfc/nci/nci 0x289c00dd nci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x29f463c7 nci_hci_clear_all_pipes +EXPORT_SYMBOL net/nfc/nci/nci 0x3a350f3f nci_req_complete +EXPORT_SYMBOL net/nfc/nci/nci 0x3b3e9cb0 nci_nfcee_mode_set +EXPORT_SYMBOL net/nfc/nci/nci 0x3dcb162d nci_free_device +EXPORT_SYMBOL net/nfc/nci/nci 0x407f5d35 nci_core_init +EXPORT_SYMBOL net/nfc/nci/nci 0x5480226d nci_nfcc_loopback +EXPORT_SYMBOL net/nfc/nci/nci 0x57ffdf9b nci_core_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x5f9cbab4 nci_set_config +EXPORT_SYMBOL net/nfc/nci/nci 0x69679cd6 nci_allocate_device +EXPORT_SYMBOL net/nfc/nci/nci 0x7c339405 nci_hci_dev_session_init +EXPORT_SYMBOL net/nfc/nci/nci 0x7e9ea400 nci_hci_connect_gate +EXPORT_SYMBOL net/nfc/nci/nci 0x802d6123 nci_recv_frame +EXPORT_SYMBOL net/nfc/nci/nci 0x8bc98d06 nci_core_conn_close +EXPORT_SYMBOL net/nfc/nci/nci 0x9928dc7b nci_hci_send_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0x9fa2e38f nci_send_frame +EXPORT_SYMBOL net/nfc/nci/nci 0xa3085e58 nci_get_conn_info_by_dest_type_params +EXPORT_SYMBOL net/nfc/nci/nci 0xafebbccd nci_hci_open_pipe +EXPORT_SYMBOL net/nfc/nci/nci 0xba490602 nci_to_errno +EXPORT_SYMBOL net/nfc/nci/nci 0xc08f1134 nci_hci_get_param +EXPORT_SYMBOL net/nfc/nci/nci 0xcb54bbaf nci_conn_max_data_pkt_payload_size +EXPORT_SYMBOL net/nfc/nci/nci 0xce599738 nci_prop_cmd +EXPORT_SYMBOL net/nfc/nci/nci 0xcf6c93a7 nci_hci_send_event +EXPORT_SYMBOL net/nfc/nci/nci 0xdfc1eb2a nci_nfcee_discover +EXPORT_SYMBOL net/nfc/nci/nci 0xfb09e0dd nci_send_data +EXPORT_SYMBOL net/nfc/nci/nci 0xfb9bb034 nci_hci_set_param +EXPORT_SYMBOL net/nfc/nfc 0x06889e72 nfc_targets_found +EXPORT_SYMBOL net/nfc/nfc 0x158e293f nfc_set_remote_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x1662c0cd nfc_find_se +EXPORT_SYMBOL net/nfc/nfc 0x28165fca nfc_proto_register +EXPORT_SYMBOL net/nfc/nfc 0x372d20fb nfc_get_local_general_bytes +EXPORT_SYMBOL net/nfc/nfc 0x38de3372 nfc_fw_download_done +EXPORT_SYMBOL net/nfc/nfc 0x40bb78b5 nfc_unregister_device +EXPORT_SYMBOL net/nfc/nfc 0x79bf1dee nfc_add_se +EXPORT_SYMBOL net/nfc/nfc 0x7abb54c7 nfc_send_to_raw_sock +EXPORT_SYMBOL net/nfc/nfc 0x8ff00e1e nfc_register_device +EXPORT_SYMBOL net/nfc/nfc 0x90e0165d nfc_remove_se +EXPORT_SYMBOL net/nfc/nfc 0xa170a68a nfc_alloc_recv_skb +EXPORT_SYMBOL net/nfc/nfc 0xad7e0e45 nfc_driver_failure +EXPORT_SYMBOL net/nfc/nfc 0xb3bddfac nfc_se_connectivity +EXPORT_SYMBOL net/nfc/nfc 0xb4206a4e nfc_proto_unregister +EXPORT_SYMBOL net/nfc/nfc 0xb6df9358 __nfc_alloc_vendor_cmd_reply_skb +EXPORT_SYMBOL net/nfc/nfc 0xb7ed9b78 nfc_se_transaction +EXPORT_SYMBOL net/nfc/nfc 0xbf31a8d3 nfc_tm_data_received +EXPORT_SYMBOL net/nfc/nfc 0xca0c890b nfc_dep_link_is_up +EXPORT_SYMBOL net/nfc/nfc 0xd5c51bd5 nfc_vendor_cmd_reply +EXPORT_SYMBOL net/nfc/nfc 0xd9eaa89a nfc_target_lost +EXPORT_SYMBOL net/nfc/nfc 0xecf31535 nfc_tm_deactivated +EXPORT_SYMBOL net/nfc/nfc 0xf4118ca7 nfc_class +EXPORT_SYMBOL net/nfc/nfc 0xf9cfa0ef nfc_allocate_device +EXPORT_SYMBOL net/nfc/nfc 0xfb77f316 nfc_tm_activated +EXPORT_SYMBOL net/nfc/nfc_digital 0x1f733262 nfc_digital_register_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x324298ab nfc_digital_allocate_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x6407c439 nfc_digital_free_device +EXPORT_SYMBOL net/nfc/nfc_digital 0x76793e34 nfc_digital_unregister_device +EXPORT_SYMBOL net/phonet/phonet 0x5429dc16 pn_skb_send +EXPORT_SYMBOL net/phonet/phonet 0x6f34d5bc phonet_header_ops +EXPORT_SYMBOL net/phonet/phonet 0x7e426c11 pn_sock_get_port +EXPORT_SYMBOL net/phonet/phonet 0x8f857498 phonet_stream_ops +EXPORT_SYMBOL net/phonet/phonet 0x967233a8 phonet_proto_unregister +EXPORT_SYMBOL net/phonet/phonet 0xa73aa579 phonet_proto_register +EXPORT_SYMBOL net/phonet/phonet 0xb334fc27 pn_sock_hash +EXPORT_SYMBOL net/phonet/phonet 0xb7f5a4f6 pn_sock_unhash +EXPORT_SYMBOL net/rxrpc/rxrpc 0x01a81ad0 rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0x0e221437 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x1deb43a2 rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0x2b4ea3bb rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x36147904 rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x45ae2fbf key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0x5a85c1de rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0x65e3196b rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x70e66d4a rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0x8c8070fc rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/rxrpc/rxrpc 0xa39fd064 rxrpc_kernel_recv_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0xb2cdbe97 rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0xb53ce1f1 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xb926b24d rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0xb9aa53af rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/rxrpc/rxrpc 0xcef94c81 rxrpc_kernel_abort_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd34f7608 rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0xf4c5af1c rxrpc_kernel_check_life +EXPORT_SYMBOL net/sctp/sctp 0x885b2920 sctp_do_peeloff +EXPORT_SYMBOL net/smc/smc 0x1b1e06e1 __tracepoint_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x1d281413 __traceiter_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0x3153cc92 __SCK__tp_func_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x3ae366a3 __traceiter_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x8989d6ae __tracepoint_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x99bf1b00 __tracepoint_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0xa5084294 __traceiter_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0xb3f2d173 __SCK__tp_func_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0xcd9701fe __tracepoint_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0xe7dacb8d __SCK__tp_func_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0xfb8cae0f __SCK__tp_func_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0xfd368606 __traceiter_smc_rx_recvmsg +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x075f23ac gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x55bb9e0d gss_mech_put +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xf2b0879e gss_mech_get +EXPORT_SYMBOL net/sunrpc/sunrpc 0x4c8b799a svc_pool_stats_open +EXPORT_SYMBOL net/sunrpc/sunrpc 0x5f8205f8 xdr_restrict_buflen +EXPORT_SYMBOL net/sunrpc/sunrpc 0x9435a195 xdr_truncate_encode +EXPORT_SYMBOL net/tipc/tipc 0x9b3d0ca9 tipc_dump_done +EXPORT_SYMBOL net/tipc/tipc 0xbcbe8d41 tipc_dump_start +EXPORT_SYMBOL net/tipc/tipc 0xc734733e tipc_nl_sk_walk +EXPORT_SYMBOL net/tipc/tipc 0xef871f6b tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tls/tls 0xfdee6207 tls_get_record +EXPORT_SYMBOL net/wireless/cfg80211 0x0225bdff cfg80211_assoc_comeback +EXPORT_SYMBOL net/wireless/cfg80211 0x06ca71fd cfg80211_chandef_create +EXPORT_SYMBOL net/wireless/cfg80211 0x08508d19 cfg80211_pmksa_candidate_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x0994d503 cfg80211_reg_can_beacon +EXPORT_SYMBOL net/wireless/cfg80211 0x0ba362c9 cfg80211_abandon_assoc +EXPORT_SYMBOL net/wireless/cfg80211 0x0bac0eb1 cfg80211_cqm_txe_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x0cc95bc2 ieee80211_s1g_channel_width +EXPORT_SYMBOL net/wireless/cfg80211 0x0de60a53 cfg80211_sched_scan_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0x117aca91 cfg80211_merge_profile +EXPORT_SYMBOL net/wireless/cfg80211 0x12f0ea30 cfg80211_assoc_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x12faad8f cfg80211_auth_timeout +EXPORT_SYMBOL net/wireless/cfg80211 0x1879fcbd bridge_tunnel_header +EXPORT_SYMBOL net/wireless/cfg80211 0x19b24887 cfg80211_inform_bss_frame_data +EXPORT_SYMBOL net/wireless/cfg80211 0x1b5a3a7e cfg80211_sinfo_alloc_tid_stats +EXPORT_SYMBOL net/wireless/cfg80211 0x1ce2497f reg_query_regdb_wmm +EXPORT_SYMBOL net/wireless/cfg80211 0x1ef7b0fc cfg80211_chandef_usable +EXPORT_SYMBOL net/wireless/cfg80211 0x2314affa cfg80211_gtk_rekey_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x275269b3 ieee80211_ie_split_ric +EXPORT_SYMBOL net/wireless/cfg80211 0x275c97f0 cfg80211_get_ies_channel_number +EXPORT_SYMBOL net/wireless/cfg80211 0x2850184f cfg80211_ref_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x2a366351 cfg80211_mgmt_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x2a6ae16e ieee80211_get_hdrlen_from_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x2dc7d93c cfg80211_chandef_dfs_required +EXPORT_SYMBOL net/wireless/cfg80211 0x2ec42bee cfg80211_rx_unprot_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0x2fbc0ac5 cfg80211_rx_mgmt_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x321b99b3 cfg80211_control_port_tx_status +EXPORT_SYMBOL net/wireless/cfg80211 0x347c8695 cfg80211_report_obss_beacon_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x3643b80f ieee80211_chandef_to_operating_class +EXPORT_SYMBOL net/wireless/cfg80211 0x39d75d38 wiphy_apply_custom_regulatory +EXPORT_SYMBOL net/wireless/cfg80211 0x429c0c31 ieee80211_bss_get_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x429ea279 cfg80211_ch_switch_started_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x43afadee ieee80211_radiotap_iterator_init +EXPORT_SYMBOL net/wireless/cfg80211 0x43cabd9b cfg80211_new_sta +EXPORT_SYMBOL net/wireless/cfg80211 0x43f67e5e cfg80211_cac_event +EXPORT_SYMBOL net/wireless/cfg80211 0x45a47da7 cfg80211_notify_new_peer_candidate +EXPORT_SYMBOL net/wireless/cfg80211 0x46ff300c ieee80211_get_response_rate +EXPORT_SYMBOL net/wireless/cfg80211 0x47163dfa cfg80211_rx_unexpected_4addr_frame +EXPORT_SYMBOL net/wireless/cfg80211 0x495829c8 cfg80211_sched_scan_results +EXPORT_SYMBOL net/wireless/cfg80211 0x49c68362 regulatory_pre_cac_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x4af2adb2 cfg80211_unregister_wdev +EXPORT_SYMBOL net/wireless/cfg80211 0x4b58766a cfg80211_scan_done +EXPORT_SYMBOL net/wireless/cfg80211 0x4d888bc1 cfg80211_calculate_bitrate +EXPORT_SYMBOL net/wireless/cfg80211 0x4f344606 cfg80211_inform_bss_data +EXPORT_SYMBOL net/wireless/cfg80211 0x4f9ad24c cfg80211_register_netdevice +EXPORT_SYMBOL net/wireless/cfg80211 0x52e08571 cfg80211_check_station_change +EXPORT_SYMBOL net/wireless/cfg80211 0x547bccd8 cfg80211_ready_on_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x5584448a ieee80211_channel_to_freq_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x55f1828f wiphy_rfkill_set_hw_state_reason +EXPORT_SYMBOL net/wireless/cfg80211 0x5727545d cfg80211_rx_control_port +EXPORT_SYMBOL net/wireless/cfg80211 0x5a1d3e0a cfg80211_tx_mgmt_expired +EXPORT_SYMBOL net/wireless/cfg80211 0x5b6bb021 ieee80211_get_channel_khz +EXPORT_SYMBOL net/wireless/cfg80211 0x5cc412ce cfg80211_stop_iface +EXPORT_SYMBOL net/wireless/cfg80211 0x60515b99 cfg80211_check_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x61b03ca8 cfg80211_any_usable_channels +EXPORT_SYMBOL net/wireless/cfg80211 0x620400a5 cfg80211_bss_color_notify +EXPORT_SYMBOL net/wireless/cfg80211 0x63081709 cfg80211_del_sta_sinfo +EXPORT_SYMBOL net/wireless/cfg80211 0x63c9bba3 cfg80211_background_cac_abort +EXPORT_SYMBOL net/wireless/cfg80211 0x69b18f43 rfc1042_header +EXPORT_SYMBOL net/wireless/cfg80211 0x6bedf402 ieee80211_freq_khz_to_channel +EXPORT_SYMBOL net/wireless/cfg80211 0x6dfc6333 cfg80211_ft_event +EXPORT_SYMBOL net/wireless/cfg80211 0x6fd4da41 __cfg80211_send_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0x718788ab cfg80211_put_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x72301306 cfg80211_bss_flush +EXPORT_SYMBOL net/wireless/cfg80211 0x74bcf162 cfg80211_get_station +EXPORT_SYMBOL net/wireless/cfg80211 0x75527fa0 cfg80211_iter_combinations +EXPORT_SYMBOL net/wireless/cfg80211 0x79b82a71 cfg80211_find_vendor_elem +EXPORT_SYMBOL net/wireless/cfg80211 0x7acb86ed ieee80211_radiotap_iterator_next +EXPORT_SYMBOL net/wireless/cfg80211 0x7c3ac925 ieee80211_get_vht_max_nss +EXPORT_SYMBOL net/wireless/cfg80211 0x7c9cf9cb wiphy_rfkill_start_polling +EXPORT_SYMBOL net/wireless/cfg80211 0x7e985482 freq_reg_info +EXPORT_SYMBOL net/wireless/cfg80211 0x7ef39823 ieee80211_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0x81553680 cfg80211_probe_status +EXPORT_SYMBOL net/wireless/cfg80211 0x822ad375 cfg80211_send_layer2_update +EXPORT_SYMBOL net/wireless/cfg80211 0x829893c4 cfg80211_classify8021d +EXPORT_SYMBOL net/wireless/cfg80211 0x830f4a1e cfg80211_iftype_allowed +EXPORT_SYMBOL net/wireless/cfg80211 0x869f1f78 cfg80211_roamed +EXPORT_SYMBOL net/wireless/cfg80211 0x8bf19eb1 cfg80211_unlink_bss +EXPORT_SYMBOL net/wireless/cfg80211 0x8f48ab9a wiphy_unregister +EXPORT_SYMBOL net/wireless/cfg80211 0x8fa02936 cfg80211_free_nan_func +EXPORT_SYMBOL net/wireless/cfg80211 0x927067d1 cfg80211_conn_failed +EXPORT_SYMBOL net/wireless/cfg80211 0x93394a35 cfg80211_ibss_joined +EXPORT_SYMBOL net/wireless/cfg80211 0x93b2de50 cfg80211_disconnected +EXPORT_SYMBOL net/wireless/cfg80211 0x93b8661e regulatory_hint +EXPORT_SYMBOL net/wireless/cfg80211 0x96484e58 cfg80211_sched_scan_stopped_locked +EXPORT_SYMBOL net/wireless/cfg80211 0x97b516c7 ieee80211_mandatory_rates +EXPORT_SYMBOL net/wireless/cfg80211 0x98ae39a4 cfg80211_nan_func_terminated +EXPORT_SYMBOL net/wireless/cfg80211 0x9d6cba30 cfg80211_find_elem_match +EXPORT_SYMBOL net/wireless/cfg80211 0x9e64675f ieee80211_get_num_supported_channels +EXPORT_SYMBOL net/wireless/cfg80211 0x9f0ac758 cfg80211_reg_can_beacon_relax +EXPORT_SYMBOL net/wireless/cfg80211 0xa16a5c09 cfg80211_update_owe_info_event +EXPORT_SYMBOL net/wireless/cfg80211 0xa7d80a26 regulatory_set_wiphy_regd +EXPORT_SYMBOL net/wireless/cfg80211 0xa875bafa cfg80211_rx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xa9ec9b94 __cfg80211_radar_event +EXPORT_SYMBOL net/wireless/cfg80211 0xac60448b cfg80211_tx_mlme_mgmt +EXPORT_SYMBOL net/wireless/cfg80211 0xada5c0d0 wiphy_free +EXPORT_SYMBOL net/wireless/cfg80211 0xaf9953d1 cfg80211_tdls_oper_request +EXPORT_SYMBOL net/wireless/cfg80211 0xb5a7945d cfg80211_connect_done +EXPORT_SYMBOL net/wireless/cfg80211 0xb5f2f290 regulatory_set_wiphy_regd_sync +EXPORT_SYMBOL net/wireless/cfg80211 0xbd2ab07b __cfg80211_alloc_event_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xc2120701 cfg80211_cqm_rssi_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xc21a674d ieee80211_data_to_8023_exthdr +EXPORT_SYMBOL net/wireless/cfg80211 0xc4b4fc27 cfg80211_chandef_valid +EXPORT_SYMBOL net/wireless/cfg80211 0xc6312929 wiphy_read_of_freq_limits +EXPORT_SYMBOL net/wireless/cfg80211 0xc7cd44be cfg80211_cqm_beacon_loss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xcc1a7c48 cfg80211_is_element_inherited +EXPORT_SYMBOL net/wireless/cfg80211 0xccbe234e cfg80211_external_auth_request +EXPORT_SYMBOL net/wireless/cfg80211 0xccc40aa7 cfg80211_nan_match +EXPORT_SYMBOL net/wireless/cfg80211 0xcd90df42 cfg80211_port_authorized +EXPORT_SYMBOL net/wireless/cfg80211 0xd06886f5 cfg80211_sta_opmode_change_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xd2b7f138 cfg80211_crit_proto_stopped +EXPORT_SYMBOL net/wireless/cfg80211 0xd341f2fe cfg80211_michael_mic_failure +EXPORT_SYMBOL net/wireless/cfg80211 0xd48c40fd cfg80211_report_wowlan_wakeup +EXPORT_SYMBOL net/wireless/cfg80211 0xd507cf94 ieee80211_amsdu_to_8023s +EXPORT_SYMBOL net/wireless/cfg80211 0xd56d55f3 ieee80211_get_mesh_hdrlen +EXPORT_SYMBOL net/wireless/cfg80211 0xd605ef7a wiphy_new_nm +EXPORT_SYMBOL net/wireless/cfg80211 0xd6d4ec40 cfg80211_cqm_pktloss_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xd97eaad4 cfg80211_chandef_compatible +EXPORT_SYMBOL net/wireless/cfg80211 0xdb32e10e cfg80211_get_drvinfo +EXPORT_SYMBOL net/wireless/cfg80211 0xdba126c1 reg_initiator_name +EXPORT_SYMBOL net/wireless/cfg80211 0xdd756e93 wiphy_register +EXPORT_SYMBOL net/wireless/cfg80211 0xe04236c8 cfg80211_bss_iter +EXPORT_SYMBOL net/wireless/cfg80211 0xe3d3599d wdev_chandef +EXPORT_SYMBOL net/wireless/cfg80211 0xe433b94c cfg80211_rx_spurious_frame +EXPORT_SYMBOL net/wireless/cfg80211 0xe83bb007 cfg80211_get_bss +EXPORT_SYMBOL net/wireless/cfg80211 0xf163cbf6 __cfg80211_alloc_reply_skb +EXPORT_SYMBOL net/wireless/cfg80211 0xf3ce4c2e cfg80211_remain_on_channel_expired +EXPORT_SYMBOL net/wireless/cfg80211 0xf40bc2f5 ieee80211_operating_class_to_band +EXPORT_SYMBOL net/wireless/cfg80211 0xf40f3cfc cfg80211_ch_switch_notify +EXPORT_SYMBOL net/wireless/cfg80211 0xf5596d89 cfg80211_get_p2p_attr +EXPORT_SYMBOL net/wireless/cfg80211 0xf95e2c19 get_wiphy_regdom +EXPORT_SYMBOL net/wireless/cfg80211 0xfac5c51e cfg80211_rx_assoc_resp +EXPORT_SYMBOL net/wireless/lib80211 0x18b5de1b lib80211_unregister_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x2763fa50 lib80211_register_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x40593e46 lib80211_get_crypto_ops +EXPORT_SYMBOL net/wireless/lib80211 0x6335cb0a lib80211_crypt_info_free +EXPORT_SYMBOL net/wireless/lib80211 0x7be781e8 lib80211_crypt_info_init +EXPORT_SYMBOL net/wireless/lib80211 0xcc9a5ac9 lib80211_crypt_delayed_deinit +EXPORT_SYMBOL sound/ac97_bus 0x3bf19f6c ac97_bus_type +EXPORT_SYMBOL sound/core/oss/snd-mixer-oss 0x46580538 snd_mixer_oss_ioctl_card +EXPORT_SYMBOL sound/core/seq/snd-seq 0x1a724fcc snd_seq_kernel_client_ctl +EXPORT_SYMBOL sound/core/seq/snd-seq 0x2d5699eb snd_seq_kernel_client_write_poll +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3061c52d snd_use_lock_sync_helper +EXPORT_SYMBOL sound/core/seq/snd-seq 0x320f8f31 snd_seq_kernel_client_enqueue +EXPORT_SYMBOL sound/core/seq/snd-seq 0x3fb4d161 snd_seq_kernel_client_dispatch +EXPORT_SYMBOL sound/core/seq/snd-seq 0x6bb71038 snd_seq_delete_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7ac2f329 snd_seq_expand_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0x7b8699eb snd_seq_event_port_detach +EXPORT_SYMBOL sound/core/seq/snd-seq 0xb8e448a0 snd_seq_set_queue_tempo +EXPORT_SYMBOL sound/core/seq/snd-seq 0xbd94e54f snd_seq_create_kernel_client +EXPORT_SYMBOL sound/core/seq/snd-seq 0xe934da1d snd_seq_dump_var_event +EXPORT_SYMBOL sound/core/seq/snd-seq 0xf0b34c02 snd_seq_event_port_attach +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x6ea09972 snd_midi_channel_alloc_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0x833a3e07 snd_midi_channel_set_clear +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xb9948d2c snd_midi_channel_free_set +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-emul 0xf912f0c8 snd_midi_process_event +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x072d978b snd_midi_event_new +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x13a17752 snd_midi_event_reset_encode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x2eed26bf snd_midi_event_no_status +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x4d5ca523 snd_midi_event_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0x592f6e9b snd_midi_event_free +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xddcf2191 snd_midi_event_encode_byte +EXPORT_SYMBOL sound/core/seq/snd-seq-midi-event 0xe60fb228 snd_midi_event_reset_decode +EXPORT_SYMBOL sound/core/seq/snd-seq-virmidi 0x3ef73e0f snd_virmidi_new +EXPORT_SYMBOL sound/core/snd 0x18e1683f snd_dma_program +EXPORT_SYMBOL sound/core/snd 0x191e88cf snd_dma_pointer +EXPORT_SYMBOL sound/core/snd 0x198788b4 snd_lookup_oss_minor_data +EXPORT_SYMBOL sound/core/snd 0x1d061c99 snd_power_wait +EXPORT_SYMBOL sound/core/snd 0x1ffd21d8 snd_unregister_device +EXPORT_SYMBOL sound/core/snd 0x208c73aa snd_info_create_module_entry +EXPORT_SYMBOL sound/core/snd 0x221a1e51 snd_jack_add_new_kctl +EXPORT_SYMBOL sound/core/snd 0x24a94b26 snd_info_get_line +EXPORT_SYMBOL sound/core/snd 0x30e936cc snd_mixer_oss_notify_callback +EXPORT_SYMBOL sound/core/snd 0x32351461 snd_ctl_notify +EXPORT_SYMBOL sound/core/snd 0x342a2354 copy_to_user_fromio +EXPORT_SYMBOL sound/core/snd 0x37ec6751 snd_ctl_register_ioctl +EXPORT_SYMBOL sound/core/snd 0x3971b4df snd_ecards_limit +EXPORT_SYMBOL sound/core/snd 0x39e00517 snd_ctl_notify_one +EXPORT_SYMBOL sound/core/snd 0x400f9155 snd_ctl_free_one +EXPORT_SYMBOL sound/core/snd 0x45f630ab snd_ctl_add +EXPORT_SYMBOL sound/core/snd 0x48d30122 snd_info_register +EXPORT_SYMBOL sound/core/snd 0x4a3ea5c0 snd_request_card +EXPORT_SYMBOL sound/core/snd 0x4fba50e0 snd_ctl_rename_id +EXPORT_SYMBOL sound/core/snd 0x5d6e55b8 snd_ctl_boolean_stereo_info +EXPORT_SYMBOL sound/core/snd 0x60785624 snd_card_set_id +EXPORT_SYMBOL sound/core/snd 0x6156b450 snd_pci_quirk_lookup +EXPORT_SYMBOL sound/core/snd 0x621aca9e snd_ctl_register_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x6463715d snd_card_file_add +EXPORT_SYMBOL sound/core/snd 0x70c15ac1 snd_dma_disable +EXPORT_SYMBOL sound/core/snd 0x73076315 snd_pci_quirk_lookup_id +EXPORT_SYMBOL sound/core/snd 0x80fc0f2f snd_jack_new +EXPORT_SYMBOL sound/core/snd 0x858c6c23 snd_unregister_oss_device +EXPORT_SYMBOL sound/core/snd 0x87206058 snd_ctl_unregister_ioctl_compat +EXPORT_SYMBOL sound/core/snd 0x8d0bd656 snd_card_new +EXPORT_SYMBOL sound/core/snd 0x8df3789f snd_oss_info_register +EXPORT_SYMBOL sound/core/snd 0x8e3ca366 snd_register_oss_device +EXPORT_SYMBOL sound/core/snd 0x8f595b11 snd_major +EXPORT_SYMBOL sound/core/snd 0x92c52c00 snd_device_register +EXPORT_SYMBOL sound/core/snd 0x94c1f70a snd_ctl_find_id +EXPORT_SYMBOL sound/core/snd 0x9ca01a41 snd_ctl_replace +EXPORT_SYMBOL sound/core/snd 0x9e6d79f8 snd_info_get_str +EXPORT_SYMBOL sound/core/snd 0xa08c28a0 snd_card_free_when_closed +EXPORT_SYMBOL sound/core/snd 0xa69254f7 snd_ctl_remove_id +EXPORT_SYMBOL sound/core/snd 0xaa987f8a snd_seq_root +EXPORT_SYMBOL sound/core/snd 0xafc89084 snd_ctl_make_virtual_master +EXPORT_SYMBOL sound/core/snd 0xb251a6d1 _snd_ctl_add_follower +EXPORT_SYMBOL sound/core/snd 0xb2e5ae4a snd_lookup_minor_data +EXPORT_SYMBOL sound/core/snd 0xb9683eaa snd_jack_report +EXPORT_SYMBOL sound/core/snd 0xba89f381 snd_info_free_entry +EXPORT_SYMBOL sound/core/snd 0xbac6615d snd_register_device +EXPORT_SYMBOL sound/core/snd 0xbf962704 snd_ctl_unregister_ioctl +EXPORT_SYMBOL sound/core/snd 0xc5a6d10b release_and_free_resource +EXPORT_SYMBOL sound/core/snd 0xca74b368 snd_ctl_boolean_mono_info +EXPORT_SYMBOL sound/core/snd 0xcc6a729f snd_ctl_enum_info +EXPORT_SYMBOL sound/core/snd 0xcff2dc9d snd_device_new +EXPORT_SYMBOL sound/core/snd 0xd32f2725 snd_card_disconnect +EXPORT_SYMBOL sound/core/snd 0xd6e14f00 snd_ctl_remove +EXPORT_SYMBOL sound/core/snd 0xd786ce7c snd_ctl_new1 +EXPORT_SYMBOL sound/core/snd 0xe087ab70 snd_ctl_find_numid +EXPORT_SYMBOL sound/core/snd 0xe21e626a snd_info_create_card_entry +EXPORT_SYMBOL sound/core/snd 0xe7113f20 snd_component_add +EXPORT_SYMBOL sound/core/snd 0xea444bc4 snd_card_register +EXPORT_SYMBOL sound/core/snd 0xf5e34373 snd_jack_set_parent +EXPORT_SYMBOL sound/core/snd 0xf872d313 snd_device_free +EXPORT_SYMBOL sound/core/snd 0xfc4a401a snd_card_file_remove +EXPORT_SYMBOL sound/core/snd 0xfca3e051 snd_jack_set_key +EXPORT_SYMBOL sound/core/snd 0xfe004ae1 snd_card_free +EXPORT_SYMBOL sound/core/snd 0xfffd89db copy_from_user_toio +EXPORT_SYMBOL sound/core/snd-compress 0x58b51d11 snd_compr_malloc_pages +EXPORT_SYMBOL sound/core/snd-compress 0xb2359d58 snd_compr_free_pages +EXPORT_SYMBOL sound/core/snd-hwdep 0x07a2fe97 snd_hwdep_new +EXPORT_SYMBOL sound/core/snd-pcm 0x0283dfe3 _snd_pcm_hw_params_any +EXPORT_SYMBOL sound/core/snd-pcm 0x04cda566 snd_interval_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x0e99f298 snd_pcm_hw_param_last +EXPORT_SYMBOL sound/core/snd-pcm 0x0fc41f88 snd_pcm_hw_constraint_list +EXPORT_SYMBOL sound/core/snd-pcm 0x0fca0624 snd_dma_alloc_dir_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x11eba48e snd_pcm_create_iec958_consumer_hw_params +EXPORT_SYMBOL sound/core/snd-pcm 0x12edd9da snd_pcm_hw_constraint_mask64 +EXPORT_SYMBOL sound/core/snd-pcm 0x1342aad1 snd_pcm_set_sync +EXPORT_SYMBOL sound/core/snd-pcm 0x1d027e4b snd_pcm_format_signed +EXPORT_SYMBOL sound/core/snd-pcm 0x208a86ab snd_pcm_lib_preallocate_pages_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0x27624e8a snd_pcm_stop +EXPORT_SYMBOL sound/core/snd-pcm 0x2be48d04 snd_pcm_suspend_all +EXPORT_SYMBOL sound/core/snd-pcm 0x2c20b555 snd_pcm_set_ops +EXPORT_SYMBOL sound/core/snd-pcm 0x2d0b7aba snd_pcm_hw_rule_add +EXPORT_SYMBOL sound/core/snd-pcm 0x2f0af131 snd_pcm_new_stream +EXPORT_SYMBOL sound/core/snd-pcm 0x3355ce28 snd_pcm_release_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x3796bdcc snd_pcm_format_little_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x3955628c snd_sgbuf_get_page +EXPORT_SYMBOL sound/core/snd-pcm 0x39bf9301 _snd_pcm_hw_param_setempty +EXPORT_SYMBOL sound/core/snd-pcm 0x44c5970d snd_pcm_lib_mmap_iomem +EXPORT_SYMBOL sound/core/snd-pcm 0x48904b96 snd_pcm_hw_constraint_msbits +EXPORT_SYMBOL sound/core/snd-pcm 0x4f816e9b snd_pcm_format_big_endian +EXPORT_SYMBOL sound/core/snd-pcm 0x503bd137 snd_interval_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0x51a6171a snd_pcm_set_managed_buffer_all +EXPORT_SYMBOL sound/core/snd-pcm 0x52e3e4a5 snd_pcm_hw_param_value +EXPORT_SYMBOL sound/core/snd-pcm 0x534392fe snd_pcm_open_substream +EXPORT_SYMBOL sound/core/snd-pcm 0x53a258c9 snd_dma_buffer_mmap +EXPORT_SYMBOL sound/core/snd-pcm 0x53aa9427 snd_dma_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x56423ad0 snd_pcm_hw_constraint_ratdens +EXPORT_SYMBOL sound/core/snd-pcm 0x5e7f4920 snd_pcm_format_set_silence +EXPORT_SYMBOL sound/core/snd-pcm 0x614adc85 snd_pcm_hw_constraint_integer +EXPORT_SYMBOL sound/core/snd-pcm 0x650f8603 snd_pcm_format_silence_64 +EXPORT_SYMBOL sound/core/snd-pcm 0x6585babd snd_pcm_hw_param_first +EXPORT_SYMBOL sound/core/snd-pcm 0x68a24153 snd_pcm_format_physical_width +EXPORT_SYMBOL sound/core/snd-pcm 0x69255f54 snd_pcm_hw_limit_rates +EXPORT_SYMBOL sound/core/snd-pcm 0x6e086556 snd_pcm_hw_constraint_step +EXPORT_SYMBOL sound/core/snd-pcm 0x6e896b8a snd_pcm_mmap_data +EXPORT_SYMBOL sound/core/snd-pcm 0x6ef8fcd8 snd_pcm_format_linear +EXPORT_SYMBOL sound/core/snd-pcm 0x70d2cd25 snd_pcm_hw_refine +EXPORT_SYMBOL sound/core/snd-pcm 0x742c944e snd_pcm_set_managed_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x774ca241 snd_pcm_period_elapsed +EXPORT_SYMBOL sound/core/snd-pcm 0x7b4bb90e snd_pcm_lib_malloc_pages +EXPORT_SYMBOL sound/core/snd-pcm 0x834dc955 snd_pcm_format_size +EXPORT_SYMBOL sound/core/snd-pcm 0x83d96c6f snd_pcm_kernel_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0x8531d507 _snd_pcm_lib_alloc_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0x90a21883 snd_pcm_hw_constraint_pow2 +EXPORT_SYMBOL sound/core/snd-pcm 0x94098ff8 snd_interval_list +EXPORT_SYMBOL sound/core/snd-pcm 0x9b5eae0a snd_pcm_hw_constraint_ranges +EXPORT_SYMBOL sound/core/snd-pcm 0xa4811818 snd_pcm_lib_ioctl +EXPORT_SYMBOL sound/core/snd-pcm 0xa61aa028 snd_pcm_format_unsigned +EXPORT_SYMBOL sound/core/snd-pcm 0xaa50638a snd_pcm_hw_constraint_minmax +EXPORT_SYMBOL sound/core/snd-pcm 0xac437f7b snd_interval_ratnum +EXPORT_SYMBOL sound/core/snd-pcm 0xb9638db4 snd_pcm_rate_to_rate_bit +EXPORT_SYMBOL sound/core/snd-pcm 0xbaef15b9 snd_pcm_hw_rule_noresample +EXPORT_SYMBOL sound/core/snd-pcm 0xbe1b81e3 snd_pcm_new_internal +EXPORT_SYMBOL sound/core/snd-pcm 0xc3c848c7 snd_pcm_new +EXPORT_SYMBOL sound/core/snd-pcm 0xc89258ff snd_pcm_lib_get_vmalloc_page +EXPORT_SYMBOL sound/core/snd-pcm 0xda3ffae4 snd_dma_alloc_pages_fallback +EXPORT_SYMBOL sound/core/snd-pcm 0xdd27fcfb __snd_pcm_lib_xfer +EXPORT_SYMBOL sound/core/snd-pcm 0xe1324b84 snd_pcm_hw_constraint_ratnums +EXPORT_SYMBOL sound/core/snd-pcm 0xe2dade1f snd_pcm_create_iec958_consumer +EXPORT_SYMBOL sound/core/snd-pcm 0xe31a21b1 snd_pcm_period_elapsed_under_stream_lock +EXPORT_SYMBOL sound/core/snd-pcm 0xe56a9336 snd_pcm_format_width +EXPORT_SYMBOL sound/core/snd-pcm 0xeca2135c snd_pcm_lib_preallocate_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xef491ef8 snd_pcm_lib_free_vmalloc_buffer +EXPORT_SYMBOL sound/core/snd-pcm 0xf25a991d snd_pcm_lib_preallocate_free_for_all +EXPORT_SYMBOL sound/core/snd-pcm 0xf9610d1d snd_sgbuf_get_addr +EXPORT_SYMBOL sound/core/snd-pcm 0xfe5ba0df snd_pcm_lib_free_pages +EXPORT_SYMBOL sound/core/snd-pcm 0xff6104d0 snd_pcm_rate_bit_to_rate +EXPORT_SYMBOL sound/core/snd-pcm 0xff798d76 snd_sgbuf_get_chunk_size +EXPORT_SYMBOL sound/core/snd-rawmidi 0x06adffb1 snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0x15e2c8d9 snd_rawmidi_output_params +EXPORT_SYMBOL sound/core/snd-rawmidi 0x22308ddd snd_rawmidi_set_ops +EXPORT_SYMBOL sound/core/snd-rawmidi 0x29a54fbd snd_rawmidi_info_select +EXPORT_SYMBOL sound/core/snd-rawmidi 0x39778a00 snd_rawmidi_kernel_write +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4c413df1 snd_rawmidi_proceed +EXPORT_SYMBOL sound/core/snd-rawmidi 0x4f3bccdf snd_rawmidi_transmit_empty +EXPORT_SYMBOL sound/core/snd-rawmidi 0x5edda66b snd_rawmidi_kernel_read +EXPORT_SYMBOL sound/core/snd-rawmidi 0x67e655a4 snd_rawmidi_transmit +EXPORT_SYMBOL sound/core/snd-rawmidi 0x69a344c3 snd_rawmidi_drop_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0x8e3f3994 snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa4d9f058 snd_rawmidi_drain_output +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa6962efa snd_rawmidi_receive +EXPORT_SYMBOL sound/core/snd-rawmidi 0xa9e1df9a snd_rawmidi_kernel_open +EXPORT_SYMBOL sound/core/snd-rawmidi 0xb69b4e3b snd_rawmidi_kernel_release +EXPORT_SYMBOL sound/core/snd-rawmidi 0xbacd5640 snd_rawmidi_new +EXPORT_SYMBOL sound/core/snd-rawmidi 0xdb0e467f snd_rawmidi_drain_input +EXPORT_SYMBOL sound/core/snd-rawmidi 0xec8c02c3 __snd_rawmidi_transmit_ack +EXPORT_SYMBOL sound/core/snd-rawmidi 0xf2eea791 __snd_rawmidi_transmit_peek +EXPORT_SYMBOL sound/core/snd-rawmidi 0xfd7c76c8 snd_rawmidi_input_params +EXPORT_SYMBOL sound/core/snd-seq-device 0x091def1c snd_seq_autoload_exit +EXPORT_SYMBOL sound/core/snd-seq-device 0x306ba57b snd_seq_device_new +EXPORT_SYMBOL sound/core/snd-seq-device 0x370a0736 snd_seq_autoload_init +EXPORT_SYMBOL sound/core/snd-seq-device 0x6339b6d0 snd_seq_device_load_drivers +EXPORT_SYMBOL sound/core/snd-timer 0x10a90134 snd_timer_open +EXPORT_SYMBOL sound/core/snd-timer 0x42a79a11 snd_timer_global_register +EXPORT_SYMBOL sound/core/snd-timer 0x48dea819 snd_timer_start +EXPORT_SYMBOL sound/core/snd-timer 0x49382d1b snd_timer_interrupt +EXPORT_SYMBOL sound/core/snd-timer 0x565aaeac snd_timer_global_free +EXPORT_SYMBOL sound/core/snd-timer 0x5c5d92bf snd_timer_global_new +EXPORT_SYMBOL sound/core/snd-timer 0x7c92ae9e snd_timer_instance_new +EXPORT_SYMBOL sound/core/snd-timer 0x94f4dc23 snd_timer_close +EXPORT_SYMBOL sound/core/snd-timer 0xa447497d snd_timer_pause +EXPORT_SYMBOL sound/core/snd-timer 0xaa837c37 snd_timer_resolution +EXPORT_SYMBOL sound/core/snd-timer 0xbc99b8bf snd_timer_new +EXPORT_SYMBOL sound/core/snd-timer 0xbd12f8fe snd_timer_continue +EXPORT_SYMBOL sound/core/snd-timer 0xc5c28011 snd_timer_stop +EXPORT_SYMBOL sound/core/snd-timer 0xdea017b4 snd_timer_instance_free +EXPORT_SYMBOL sound/core/snd-timer 0xe3aa5ffa snd_timer_notify +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0x6d629c59 snd_mpu401_uart_interrupt_tx +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc0fec227 snd_mpu401_uart_interrupt +EXPORT_SYMBOL sound/drivers/mpu401/snd-mpu401-uart 0xc866935a snd_mpu401_uart_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x01437937 snd_opl3_hwdep_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x05060a19 snd_opl3_regmap +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x1a482107 snd_opl3_find_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x284f8a6b snd_opl3_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x44f95a41 snd_opl3_timer_new +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x7da010ec snd_opl3_create +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0x92afba2f snd_opl3_interrupt +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xcfc6fa2a snd_opl3_init +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xf44485e1 snd_opl3_load_patch +EXPORT_SYMBOL sound/drivers/opl3/snd-opl3-lib 0xfc737cf7 snd_opl3_reset +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x226138b0 snd_vx_threaded_irq_handler +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x44d5c40f snd_vx_suspend +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x5793d829 snd_vx_dsp_load +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x59b3678a snd_vx_free_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x5e1491b4 snd_vx_dsp_boot +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x80ad9482 snd_vx_load_boot_image +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x9249cc02 snd_vx_create +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0x9cbbfc89 snd_vx_resume +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xa45e187a snd_vx_check_reg_bit +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xe7aeadbe snd_vx_setup_firmware +EXPORT_SYMBOL sound/drivers/vx/snd-vx-lib 0xf1f04d23 snd_vx_irq_handler +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x041c3580 cmp_connection_release +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x1003ac23 amdtp_stream_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x19c935a7 amdtp_stream_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x20254e45 amdtp_syt_intervals +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x23bbf535 fw_iso_resources_allocate +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x33af3733 cmp_connection_reserve +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x37b505b3 fw_iso_resources_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x3bd1ef81 amdtp_stream_set_parameters +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4863ef4e avc_general_set_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x4ca230a7 amdtp_stream_pcm_prepare +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x52b0d550 amdtp_stream_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x53ca18e8 amdtp_rate_table +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x55b331d3 iso_packets_buffer_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5dd11d62 fw_iso_resources_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x5e4c5748 avc_general_get_plug_info +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x64c0bee2 fw_iso_resources_free +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x88ddb2c5 cmp_connection_break +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x8d217a68 cmp_connection_update +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0x94e36ac3 iso_packets_buffer_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xa46ae6ca avc_general_get_sig_fmt +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xb92d7665 amdtp_stream_get_max_payload +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc0a70574 cmp_connection_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc0d19496 amdtp_stream_add_pcm_hw_constraints +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xc61175b1 amdtp_stream_pcm_abort +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xcb8f4a96 fcp_bus_reset +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd0e607e2 snd_fw_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd2050e3b cmp_connection_check_used +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd8fb67d5 fcp_avc_transaction +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xd9666803 fw_iso_resources_destroy +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xe47c60a2 cmp_connection_init +EXPORT_SYMBOL sound/firewire/snd-firewire-lib 0xfd84a190 cmp_connection_establish +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0xbd8b5594 snd_ak4113_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4113 0xc0c7ef54 snd_ak4113_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x0aa60597 snd_ak4114_resume +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x28d8af45 snd_ak4114_create +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x3dd6b8f9 snd_ak4114_check_rate_and_errors +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x69ae3f91 snd_ak4114_reinit +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0x7dbf3b86 snd_ak4114_build +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xaa643177 snd_ak4114_reg_write +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xb382031a snd_ak4114_suspend +EXPORT_SYMBOL sound/i2c/other/snd-ak4114 0xd229596c snd_ak4114_external_rate +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x16781c58 snd_akm4xxx_reset +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x16878374 snd_akm4xxx_build_controls +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x38f53ea1 snd_akm4xxx_init +EXPORT_SYMBOL sound/i2c/other/snd-ak4xxx-adda 0x73d51f71 snd_akm4xxx_write +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xd7890b42 snd_pt2258_reset +EXPORT_SYMBOL sound/i2c/other/snd-pt2258 0xe6c96b0b snd_pt2258_build_controls +EXPORT_SYMBOL sound/i2c/snd-i2c 0x1f65020e snd_i2c_bus_create +EXPORT_SYMBOL sound/i2c/snd-i2c 0x30b48a8d snd_i2c_probeaddr +EXPORT_SYMBOL sound/i2c/snd-i2c 0x3bd7e4f2 snd_i2c_sendbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0x9308fa5e snd_i2c_readbytes +EXPORT_SYMBOL sound/i2c/snd-i2c 0xa6d3c3d7 snd_i2c_device_free +EXPORT_SYMBOL sound/i2c/snd-i2c 0xc192028a snd_i2c_device_create +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x0b69cec3 snd_sbmixer_read +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x110c5284 snd_sbmixer_suspend +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x1820a6ba snd_sbmixer_new +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x61484f41 snd_sbmixer_write +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x72e9dd56 snd_sbdsp_command +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x831fc29e snd_sbmixer_resume +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x84471b0b snd_sbdsp_get_byte +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x87e3847d snd_sbmixer_add_ctl +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0x8d1d2987 snd_sbdsp_reset +EXPORT_SYMBOL sound/isa/sb/snd-sb-common 0xc6e4b986 snd_sbdsp_create +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x036c600e snd_ac97_set_rate +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x0ee389c6 snd_ac97_update_bits +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x12666a47 snd_ac97_pcm_close +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3e653175 snd_ac97_write +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3e888255 snd_ac97_update_power +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x3f201d7d snd_ac97_suspend +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x482a4613 snd_ac97_get_short_name +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x5a0b5e5e snd_ac97_tune_hardware +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0x8146550c snd_ac97_mixer +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xa17e7444 snd_ac97_resume +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xad3f1511 snd_ac97_pcm_assign +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xbe05d933 snd_ac97_bus +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xbf19c8cc snd_ac97_pcm_double_rate_rules +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd4f58967 snd_ac97_pcm_open +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xd7706678 snd_ac97_update +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xdda24f8f snd_ac97_write_cache +EXPORT_SYMBOL sound/pci/ac97/snd-ac97-codec 0xf8085118 snd_ac97_read +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0x889a3afb snd_ice1712_akm4xxx_init +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xd3c2307a snd_ice1712_akm4xxx_free +EXPORT_SYMBOL sound/pci/ice1712/snd-ice17xx-ak4xxx 0xe44b54f5 snd_ice1712_akm4xxx_build_controls +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x0988bc83 oxygen_pci_shutdown +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x3ba8c6d2 oxygen_read8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x4f3b33a2 oxygen_write_ac97_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x53d9e059 oxygen_write8_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x5e8eedb8 oxygen_write32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x6d735aac oxygen_read32 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x6e4e1b4c oxygen_write_i2c +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x74509221 oxygen_read16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x76babf7e oxygen_read_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x7f558ec6 oxygen_write16 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x83cb6738 oxygen_pci_pm +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x8665b742 oxygen_write_spi +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0x94c0f752 oxygen_write32_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xa41bd4ae oxygen_update_dac_routing +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xb21203b5 oxygen_write_ac97 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xc6e9c17b oxygen_write_uart +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xcc84bdd2 oxygen_pci_probe +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xd506af4f oxygen_write16_masked +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xef2421d6 oxygen_write8 +EXPORT_SYMBOL sound/pci/oxygen/snd-oxygen-lib 0xf6a5302f oxygen_reset_uart +EXPORT_SYMBOL sound/soc/amd/acp_audio_dma 0xf2cc2cce acp_bt_uart_enable +EXPORT_SYMBOL sound/soc/amd/snd-acp-config 0x4339623d snd_soc_acpi_amd_sof_machines +EXPORT_SYMBOL sound/soc/amd/snd-acp-config 0xcfd6a678 snd_amd_acp_find_config +EXPORT_SYMBOL sound/soc/codecs/snd-soc-adau1372 0xe9787d4e adau1372_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-lpass-wsa-macro 0x4dd5a25f wsa_macro_set_spkr_mode +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0x11f9b3d2 pcm3060_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-pcm3060 0xc838fefd pcm3060_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-rt715 0xed2acb24 hda_to_sdw +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0x0da29e8a tlv320aic23_regmap +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic23 0xc7986c98 tlv320aic23_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0x7ba18511 aic32x4_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0xbae71e3c aic32x4_regmap_config +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic32x4 0xc4941067 aic32x4_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic3x 0x26037bc7 aic3x_remove +EXPORT_SYMBOL sound/soc/codecs/snd-soc-tlv320aic3x 0xe86d5a7d aic3x_probe +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x3a195ca9 wcd_mbhc_get_impedance +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0x789ebe56 wcd_mbhc_set_hph_type +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xa5758a49 wcd_mbhc_get_hph_type +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xae8ff9e4 wcd_mbhc_start +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xbd1487ab wcd_mbhc_init +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xc77d3b9e wcd_dt_parse_mbhc_data +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xd094df47 wcd_mbhc_deinit +EXPORT_SYMBOL sound/soc/codecs/snd-soc-wcd-mbhc 0xe2beca26 wcd_mbhc_stop +EXPORT_SYMBOL sound/soc/snd-soc-core 0x7c11f506 snd_soc_alloc_ac97_component +EXPORT_SYMBOL sound/soundcore 0x401cf111 register_sound_special +EXPORT_SYMBOL sound/soundcore 0x7afc9d8a unregister_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x8d468526 register_sound_mixer +EXPORT_SYMBOL sound/soundcore 0x99c95fa5 unregister_sound_special +EXPORT_SYMBOL sound/soundcore 0xa282d598 sound_class +EXPORT_SYMBOL sound/soundcore 0xc7202b9d register_sound_special_device +EXPORT_SYMBOL sound/soundcore 0xcd083b10 unregister_sound_dsp +EXPORT_SYMBOL sound/soundcore 0xe1fa5ceb register_sound_dsp +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x0b868d8e __snd_usbmidi_create +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x16756dc0 snd_usbmidi_input_start +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0x63343b1d snd_usbmidi_input_stop +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xb2af19e1 snd_usbmidi_resume +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xbed43a41 snd_usbmidi_suspend +EXPORT_SYMBOL sound/usb/snd-usbmidi-lib 0xd9d2bb03 snd_usbmidi_disconnect +EXPORT_SYMBOL vmlinux 0x00148653 vsnprintf +EXPORT_SYMBOL vmlinux 0x0026fb75 agp_alloc_page_array +EXPORT_SYMBOL vmlinux 0x0033079c scm_detach_fds +EXPORT_SYMBOL vmlinux 0x003a7a96 h_ipi_redirect +EXPORT_SYMBOL vmlinux 0x004050da phy_ethtool_ksettings_get +EXPORT_SYMBOL vmlinux 0x004857e8 generic_fillattr +EXPORT_SYMBOL vmlinux 0x00640c5c blk_mq_alloc_disk_for_queue +EXPORT_SYMBOL vmlinux 0x006d3c52 tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0x008f490b tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0x009249fe gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00d7e722 vme_lm_count +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x01156ae4 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x0129c4f8 par_io_data_set +EXPORT_SYMBOL vmlinux 0x0140c525 gen_pool_create +EXPORT_SYMBOL vmlinux 0x0147812c kblockd_mod_delayed_work_on +EXPORT_SYMBOL vmlinux 0x0148da89 vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0x0151d8bd setup_arg_pages +EXPORT_SYMBOL vmlinux 0x01553c5e input_free_device +EXPORT_SYMBOL vmlinux 0x015fc29b pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0x01609e3d radix__flush_tlb_page +EXPORT_SYMBOL vmlinux 0x016be051 gpiochip_irq_relres +EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device +EXPORT_SYMBOL vmlinux 0x017c1c47 __dev_set_mtu +EXPORT_SYMBOL vmlinux 0x017de3d5 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0x018574a1 mb_cache_entry_delete +EXPORT_SYMBOL vmlinux 0x0188cd88 vme_alloc_consistent +EXPORT_SYMBOL vmlinux 0x018fbf38 of_parse_phandle_with_args_map +EXPORT_SYMBOL vmlinux 0x0194d25c skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0x01982074 xa_set_mark +EXPORT_SYMBOL vmlinux 0x01998768 dquot_get_next_id +EXPORT_SYMBOL vmlinux 0x01bf55fc paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x01e80408 timer_interrupt +EXPORT_SYMBOL vmlinux 0x01eb3b11 kernel_accept +EXPORT_SYMBOL vmlinux 0x01ec3b0d xfrm4_protocol_register +EXPORT_SYMBOL vmlinux 0x01ed6022 eth_header +EXPORT_SYMBOL vmlinux 0x01f1d3e6 simple_pin_fs +EXPORT_SYMBOL vmlinux 0x01fcce75 mmc_gpio_set_cd_isr +EXPORT_SYMBOL vmlinux 0x0200b110 pps_register_source +EXPORT_SYMBOL vmlinux 0x0201a877 tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0x0209f3a7 secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x021f1f3d mmc_gpio_set_cd_wake +EXPORT_SYMBOL vmlinux 0x0228925f iowrite64_hi_lo +EXPORT_SYMBOL vmlinux 0x023c5c89 md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x024380ac twl6040_get_pll +EXPORT_SYMBOL vmlinux 0x02450bec import_iovec +EXPORT_SYMBOL vmlinux 0x0248efd3 kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0x024e21fc unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x0256ff1f softnet_data +EXPORT_SYMBOL vmlinux 0x025a514e __mdiobus_register +EXPORT_SYMBOL vmlinux 0x025c1602 __debugger_sstep +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x02775e76 netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x029fcfb3 abort_creds +EXPORT_SYMBOL vmlinux 0x02a50641 tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0x02ac4985 __getblk_gfp +EXPORT_SYMBOL vmlinux 0x02b3a92d try_wait_for_completion +EXPORT_SYMBOL vmlinux 0x02b8ab42 sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x02c065f8 ucc_set_qe_mux_mii_mng +EXPORT_SYMBOL vmlinux 0x02c07b3d d_lookup +EXPORT_SYMBOL vmlinux 0x02c3c40e __debugger_break_match +EXPORT_SYMBOL vmlinux 0x02c5b246 tcp_connect +EXPORT_SYMBOL vmlinux 0x02df50b0 jiffies +EXPORT_SYMBOL vmlinux 0x030b0273 tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x03160e1c fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x0316b137 path_get +EXPORT_SYMBOL vmlinux 0x03260f98 lookup_one_unlocked +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x033ab463 register_fib_notifier +EXPORT_SYMBOL vmlinux 0x0356070e pcie_print_link_status +EXPORT_SYMBOL vmlinux 0x0360d67f make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x03724303 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03815f35 ledtrig_disk_activity +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x03f28f77 mount_nodev +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x040c5b2d no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0x040ca17d input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x040ebc44 param_ops_ullong +EXPORT_SYMBOL vmlinux 0x042e919c kthread_bind +EXPORT_SYMBOL vmlinux 0x04336822 scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x043c86cf kernel_listen +EXPORT_SYMBOL vmlinux 0x043cdb65 bio_reset +EXPORT_SYMBOL vmlinux 0x044154c6 tc_skb_ext_tc +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x04679125 eth_mac_addr +EXPORT_SYMBOL vmlinux 0x046ce173 sock_edemux +EXPORT_SYMBOL vmlinux 0x0474520b seq_vprintf +EXPORT_SYMBOL vmlinux 0x0474edef kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x0479aac1 seq_list_next_rcu +EXPORT_SYMBOL vmlinux 0x0482d356 tty_devnum +EXPORT_SYMBOL vmlinux 0x04863e28 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x04896c68 xp_raw_get_data +EXPORT_SYMBOL vmlinux 0x0489ab0c _raw_read_lock_irq +EXPORT_SYMBOL vmlinux 0x048edead key_type_keyring +EXPORT_SYMBOL vmlinux 0x04b8e39e ppp_register_net_channel +EXPORT_SYMBOL vmlinux 0x04cde1e3 __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x04e1b263 ns_capable_setid +EXPORT_SYMBOL vmlinux 0x04ea5d10 ksize +EXPORT_SYMBOL vmlinux 0x04eaefa2 genl_unregister_family +EXPORT_SYMBOL vmlinux 0x04f158be cpu_sibling_map +EXPORT_SYMBOL vmlinux 0x05186ca4 flush_icache_range +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x05290bc0 sock_no_accept +EXPORT_SYMBOL vmlinux 0x0541e878 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x0560533a genl_notify +EXPORT_SYMBOL vmlinux 0x058037fe sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x058df385 dev_deactivate +EXPORT_SYMBOL vmlinux 0x05980d0e redraw_screen +EXPORT_SYMBOL vmlinux 0x05a04c65 skb_seq_read +EXPORT_SYMBOL vmlinux 0x05af46ad disk_stack_limits +EXPORT_SYMBOL vmlinux 0x05ca290a dma_resv_iter_first_unlocked +EXPORT_SYMBOL vmlinux 0x05cc0007 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x05cf5baf vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x05fae0fb mipi_dsi_dcs_nop +EXPORT_SYMBOL vmlinux 0x06093a08 dma_fence_signal_timestamp_locked +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x063385dd get_tree_single +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x063fbb83 ns_capable +EXPORT_SYMBOL vmlinux 0x0649c047 rt_mutex_base_init +EXPORT_SYMBOL vmlinux 0x065bc7e9 phy_get_eee_err +EXPORT_SYMBOL vmlinux 0x0668b595 _kstrtoul +EXPORT_SYMBOL vmlinux 0x067b4431 xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x06a86bc1 iowrite16 +EXPORT_SYMBOL vmlinux 0x06bd5c5e pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x06ce507f mq_change_real_num_tx +EXPORT_SYMBOL vmlinux 0x06d11488 __bitmap_equal +EXPORT_SYMBOL vmlinux 0x06e20cfb noop_qdisc +EXPORT_SYMBOL vmlinux 0x06f677c3 _raw_spin_unlock_bh +EXPORT_SYMBOL vmlinux 0x07098248 xz_dec_microlzma_alloc +EXPORT_SYMBOL vmlinux 0x072bd31c twl6040_set_bits +EXPORT_SYMBOL vmlinux 0x072f901c vme_master_rmw +EXPORT_SYMBOL vmlinux 0x073fec1f pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x074368db md_write_inc +EXPORT_SYMBOL vmlinux 0x074a0c1d alloc_fcdev +EXPORT_SYMBOL vmlinux 0x0755077f kobject_add +EXPORT_SYMBOL vmlinux 0x075fbb3c dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0x075fbe8e reuseport_select_sock +EXPORT_SYMBOL vmlinux 0x078f36ab sock_alloc_file +EXPORT_SYMBOL vmlinux 0x07a0295b sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0x07a7384e radix__local_flush_tlb_page +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07a89651 timestamp_truncate +EXPORT_SYMBOL vmlinux 0x07b2f73c tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x07ba42d5 configfs_depend_item +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d0e2de tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0x07d54a5b udp6_set_csum +EXPORT_SYMBOL vmlinux 0x07da2d63 backlight_device_unregister +EXPORT_SYMBOL vmlinux 0x07f0014e xp_free +EXPORT_SYMBOL vmlinux 0x07f57478 pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0x07f89ee7 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0x0800473f __cond_resched +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x08249512 iwe_stream_add_point +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x082ce866 do_splice_direct +EXPORT_SYMBOL vmlinux 0x083eb21c rfkill_unregister +EXPORT_SYMBOL vmlinux 0x084b448c km_policy_notify +EXPORT_SYMBOL vmlinux 0x08500164 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x0854d25c sock_setsockopt +EXPORT_SYMBOL vmlinux 0x08584889 rproc_elf_find_loaded_rsc_table +EXPORT_SYMBOL vmlinux 0x0868f0f7 param_get_hexint +EXPORT_SYMBOL vmlinux 0x0871790a __skb_gso_segment +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x08855390 da903x_query_status +EXPORT_SYMBOL vmlinux 0x08986a95 of_graph_get_port_by_id +EXPORT_SYMBOL vmlinux 0x08a8dedf user_revoke +EXPORT_SYMBOL vmlinux 0x08c026bc rtnl_unicast +EXPORT_SYMBOL vmlinux 0x08e4112f phy_mac_interrupt +EXPORT_SYMBOL vmlinux 0x090f28b5 grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x0924bccb xfrm_input +EXPORT_SYMBOL vmlinux 0x092fe9df rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x093290f0 scsi_host_busy +EXPORT_SYMBOL vmlinux 0x094446ac napi_schedule_prep +EXPORT_SYMBOL vmlinux 0x0944f7f0 phy_modify_paged +EXPORT_SYMBOL vmlinux 0x094ae9e9 sock_no_getname +EXPORT_SYMBOL vmlinux 0x094f4c1e __brelse +EXPORT_SYMBOL vmlinux 0x095d0d1b phy_sfp_probe +EXPORT_SYMBOL vmlinux 0x0961b991 folio_write_one +EXPORT_SYMBOL vmlinux 0x0964e5a0 xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0x096a7e99 mutex_lock +EXPORT_SYMBOL vmlinux 0x09721f85 genphy_c37_read_status +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x098435b0 blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x09945309 i2c_smbus_read_byte_data +EXPORT_SYMBOL vmlinux 0x0998cc3c hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0x09bbfa33 kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x09bd2d9d nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0x09cbbd52 xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0x09ce9a31 __put_page +EXPORT_SYMBOL vmlinux 0x09cf6156 vio_enable_interrupts +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09dd5df8 inode_get_bytes +EXPORT_SYMBOL vmlinux 0x09f3848d tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x0a012f73 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0a19dfbb rproc_put +EXPORT_SYMBOL vmlinux 0x0a1e8769 utf8_casefold_hash +EXPORT_SYMBOL vmlinux 0x0a245f81 pci_set_master +EXPORT_SYMBOL vmlinux 0x0a394019 km_query +EXPORT_SYMBOL vmlinux 0x0a4004c6 md_update_sb +EXPORT_SYMBOL vmlinux 0x0a692b33 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x0a770832 register_memory_notifier +EXPORT_SYMBOL vmlinux 0x0a7a255f agp_generic_create_gatt_table +EXPORT_SYMBOL vmlinux 0x0a84b15d zstd_init_cctx +EXPORT_SYMBOL vmlinux 0x0a96e707 unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0x0a9c639c blk_stack_limits +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0aa82f66 read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x0acf7679 dma_issue_pending_all +EXPORT_SYMBOL vmlinux 0x0af62058 jbd2_journal_put_journal_head +EXPORT_SYMBOL vmlinux 0x0b0f865c setattr_prepare +EXPORT_SYMBOL vmlinux 0x0b148bf8 input_event +EXPORT_SYMBOL vmlinux 0x0b19b445 ioread8 +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b28e38f page_pool_destroy +EXPORT_SYMBOL vmlinux 0x0b2e1ec7 h_get_mpp +EXPORT_SYMBOL vmlinux 0x0b330954 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x0b5f7981 iov_iter_zero +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b784bf0 get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0x0b8a6338 neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x0b9de4fd mmc_wait_for_cmd +EXPORT_SYMBOL vmlinux 0x0ba0b938 vm_brk +EXPORT_SYMBOL vmlinux 0x0ba42d62 tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0x0bb6ce3d inet6_protos +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bd210f0 folio_wait_bit +EXPORT_SYMBOL vmlinux 0x0bf0e4a2 __SCK__tp_func_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x0bf31475 __inc_node_page_state +EXPORT_SYMBOL vmlinux 0x0bf36885 do_wait_intr +EXPORT_SYMBOL vmlinux 0x0bfc1d1a check_zeroed_user +EXPORT_SYMBOL vmlinux 0x0c04fe89 qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c2e9af6 devm_clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x0c3c9163 seq_path +EXPORT_SYMBOL vmlinux 0x0c6bdc3f vme_master_read +EXPORT_SYMBOL vmlinux 0x0c79d82f netpoll_print_options +EXPORT_SYMBOL vmlinux 0x0c79f2be netdev_offload_xstats_enable +EXPORT_SYMBOL vmlinux 0x0c93ca7c datagram_poll +EXPORT_SYMBOL vmlinux 0x0cb11bc7 __SCK__tp_func_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x0cb12092 xa_destroy +EXPORT_SYMBOL vmlinux 0x0cc4b4b6 crc_ccitt_false +EXPORT_SYMBOL vmlinux 0x0cd5835b ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x0cdce87c rfkill_set_hw_state_reason +EXPORT_SYMBOL vmlinux 0x0ce22ff3 fwnode_iomap +EXPORT_SYMBOL vmlinux 0x0ceef8de __ClearPageMovable +EXPORT_SYMBOL vmlinux 0x0cf5ad55 jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0x0cf98ca0 __xa_alloc +EXPORT_SYMBOL vmlinux 0x0cfcef94 dquot_drop +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d0a5789 _raw_write_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x0d112874 configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0x0d2ca20f ucc_fast_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0x0d2cfdeb dev_remove_offload +EXPORT_SYMBOL vmlinux 0x0d327ed5 pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x0d333b64 zstd_end_stream +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d58205f pmem_should_map_pages +EXPORT_SYMBOL vmlinux 0x0d6a38e7 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x0d7e482c of_find_all_nodes +EXPORT_SYMBOL vmlinux 0x0d86e7b0 xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x0d9b6efc xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0x0dac3188 page_pool_release_page +EXPORT_SYMBOL vmlinux 0x0db55a20 reuseport_alloc +EXPORT_SYMBOL vmlinux 0x0dca2725 inet_offloads +EXPORT_SYMBOL vmlinux 0x0dd84745 unregister_netdev +EXPORT_SYMBOL vmlinux 0x0de75a16 ppp_input +EXPORT_SYMBOL vmlinux 0x0df81d67 nf_setsockopt +EXPORT_SYMBOL vmlinux 0x0e14227d mmc_cqe_request_done +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e2224c0 folio_end_private_2 +EXPORT_SYMBOL vmlinux 0x0e2e4fab xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x0e34fac3 nd_device_register +EXPORT_SYMBOL vmlinux 0x0e4262c6 __siphash_unaligned +EXPORT_SYMBOL vmlinux 0x0e46b5b9 mpage_read_folio +EXPORT_SYMBOL vmlinux 0x0e4b13fa gnet_stats_basic_sync_init +EXPORT_SYMBOL vmlinux 0x0e54b0b5 of_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x0e594a0b vme_slave_request +EXPORT_SYMBOL vmlinux 0x0e83af8b dev_get_stats +EXPORT_SYMBOL vmlinux 0x0e89e223 neigh_seq_start +EXPORT_SYMBOL vmlinux 0x0e8a02dd wait_for_key_construction +EXPORT_SYMBOL vmlinux 0x0e9cf00a locks_copy_conflock +EXPORT_SYMBOL vmlinux 0x0e9e05d6 make_kprojid +EXPORT_SYMBOL vmlinux 0x0ea3c74e tasklet_kill +EXPORT_SYMBOL vmlinux 0x0ea593f6 hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0x0eb20c6a tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0x0eb6eb87 add_taint +EXPORT_SYMBOL vmlinux 0x0ec5babe vme_dma_free +EXPORT_SYMBOL vmlinux 0x0ed8aeae rtnl_offload_xstats_notify +EXPORT_SYMBOL vmlinux 0x0eddd4ac pcim_enable_device +EXPORT_SYMBOL vmlinux 0x0efc5ced mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f15c085 jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0x0f1ad8e2 seq_list_start_rcu +EXPORT_SYMBOL vmlinux 0x0f1b59a7 padata_alloc +EXPORT_SYMBOL vmlinux 0x0f37dc0f devm_extcon_register_notifier +EXPORT_SYMBOL vmlinux 0x0f3c866a is_free_buddy_page +EXPORT_SYMBOL vmlinux 0x0f4267ae unix_attach_fds +EXPORT_SYMBOL vmlinux 0x0f756676 mmc_cqe_post_req +EXPORT_SYMBOL vmlinux 0x0f75ff43 dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0f89ce1c dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0x0f93c104 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x0f973b83 pm860x_bulk_read +EXPORT_SYMBOL vmlinux 0x0f9bb05e simple_transaction_release +EXPORT_SYMBOL vmlinux 0x0f9f5980 sg_alloc_table_from_pages_segment +EXPORT_SYMBOL vmlinux 0x0fab1ab0 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fc88834 folio_wait_private_2 +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0fd95a31 simple_rmdir +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x1025009a cpm_muram_alloc_fixed +EXPORT_SYMBOL vmlinux 0x102936ec qe_clock_source +EXPORT_SYMBOL vmlinux 0x1035c7c2 __release_region +EXPORT_SYMBOL vmlinux 0x10391eb7 show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0x104d4d56 tty_register_driver +EXPORT_SYMBOL vmlinux 0x1057a279 bsearch +EXPORT_SYMBOL vmlinux 0x105b4da6 devm_release_resource +EXPORT_SYMBOL vmlinux 0x105bdf1c __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x1083e0a0 sock_set_mark +EXPORT_SYMBOL vmlinux 0x10a4e10a kern_path_create +EXPORT_SYMBOL vmlinux 0x10a996f6 pci_reenable_device +EXPORT_SYMBOL vmlinux 0x10a9e25a pm_vt_switch_unregister +EXPORT_SYMBOL vmlinux 0x10c6ab00 of_platform_bus_probe +EXPORT_SYMBOL vmlinux 0x10c94100 tcp_init_sock +EXPORT_SYMBOL vmlinux 0x10d242ba clear_inode +EXPORT_SYMBOL vmlinux 0x10d96c64 crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x10e0f124 __pud_index_size +EXPORT_SYMBOL vmlinux 0x10e6f74a free_contig_range +EXPORT_SYMBOL vmlinux 0x10f38112 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x11107ab0 csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x111fa7c9 qe_pin_set_dedicated +EXPORT_SYMBOL vmlinux 0x11319e3f reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0x11375103 dma_fence_array_next +EXPORT_SYMBOL vmlinux 0x1149845a param_set_int +EXPORT_SYMBOL vmlinux 0x116627c9 ioremap_prot +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x1182d83a cpuidle_disable +EXPORT_SYMBOL vmlinux 0x1193b513 zpool_register_driver +EXPORT_SYMBOL vmlinux 0x1194c7c9 neigh_parms_release +EXPORT_SYMBOL vmlinux 0x119ef1f0 mmc_gpio_get_cd +EXPORT_SYMBOL vmlinux 0x11a8313c security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0x11b5409e __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x11c872bd pnv_cxl_release_hwirqs +EXPORT_SYMBOL vmlinux 0x11d189b1 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x11d5cc48 reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0x11de7c04 phy_attached_info_irq +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11f30dc7 backlight_device_get_by_name +EXPORT_SYMBOL vmlinux 0x11f96bc3 security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x11ffdfee ucc_slow_stop_tx +EXPORT_SYMBOL vmlinux 0x11fff7ef pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0x12023434 ps2_end_command +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x120b5f3e blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0x120c6c2c i2c_smbus_write_block_data +EXPORT_SYMBOL vmlinux 0x1213b196 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0x1217208d register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x122ce437 arp_send +EXPORT_SYMBOL vmlinux 0x124bad4d kstrtobool +EXPORT_SYMBOL vmlinux 0x12769d3b fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0x12a88158 xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0x12ab0071 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x12c05d95 vme_dma_list_exec +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +EXPORT_SYMBOL vmlinux 0x12d87804 i2c_smbus_write_byte +EXPORT_SYMBOL vmlinux 0x12e3c528 vm_insert_pages +EXPORT_SYMBOL vmlinux 0x12e5ef0c rtas_set_power_level +EXPORT_SYMBOL vmlinux 0x12ed6cf5 dev_set_threaded +EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x12f7f6eb free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0x12faaa4b inet6_ioctl +EXPORT_SYMBOL vmlinux 0x1310df14 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0x13110126 request_resource +EXPORT_SYMBOL vmlinux 0x1322098c platform_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x13239368 fsl_lbc_ctrl_dev +EXPORT_SYMBOL vmlinux 0x13243d4b wl1251_get_platform_data +EXPORT_SYMBOL vmlinux 0x133eed38 gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x138da35f mipi_dsi_driver_unregister +EXPORT_SYMBOL vmlinux 0x1392bbd4 ip_defrag +EXPORT_SYMBOL vmlinux 0x13951357 security_inet_conn_established +EXPORT_SYMBOL vmlinux 0x139acc04 dquot_commit_info +EXPORT_SYMBOL vmlinux 0x139d12e1 vif_device_init +EXPORT_SYMBOL vmlinux 0x139f2189 __kfifo_alloc +EXPORT_SYMBOL vmlinux 0x13b41558 fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0x13c49cc2 _copy_from_user +EXPORT_SYMBOL vmlinux 0x13c4a0bb vga_set_legacy_decoding +EXPORT_SYMBOL vmlinux 0x13ce133f filemap_map_pages +EXPORT_SYMBOL vmlinux 0x13cead77 __SCK__tp_func_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13d0b9da ps2_sendbyte +EXPORT_SYMBOL vmlinux 0x13d928f5 __SCK__tp_func_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x13e1b2d5 current_stack_frame +EXPORT_SYMBOL vmlinux 0x13f53da6 CMO_PageSize +EXPORT_SYMBOL vmlinux 0x13f855f5 ps2_drain +EXPORT_SYMBOL vmlinux 0x1409e5dc phy_support_sym_pause +EXPORT_SYMBOL vmlinux 0x142076a8 rproc_of_resm_mem_entry_init +EXPORT_SYMBOL vmlinux 0x1421ec6e unregister_console +EXPORT_SYMBOL vmlinux 0x142a4345 mipi_dsi_generic_read +EXPORT_SYMBOL vmlinux 0x1435c5ce __SCK__tp_func_kmalloc_node +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x14640bfa inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0x146e23b4 migrate_page +EXPORT_SYMBOL vmlinux 0x147e0857 gen_pool_dma_alloc_algo +EXPORT_SYMBOL vmlinux 0x1481dfc9 neigh_app_ns +EXPORT_SYMBOL vmlinux 0x1483e079 devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0x149054d8 inet_add_protocol +EXPORT_SYMBOL vmlinux 0x14a233b8 mmc_can_gpio_cd +EXPORT_SYMBOL vmlinux 0x14a2b413 gen_pool_first_fit_order_align +EXPORT_SYMBOL vmlinux 0x14a8b364 xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x14b81d84 cfb_imageblit +EXPORT_SYMBOL vmlinux 0x14c67e3e tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0x14d1a0c7 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x14f364b3 scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x14f44c33 key_revoke +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x153317ff fiemap_prep +EXPORT_SYMBOL vmlinux 0x153529b6 seq_printf +EXPORT_SYMBOL vmlinux 0x154376c5 xsk_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x156dfce4 dquot_get_state +EXPORT_SYMBOL vmlinux 0x158249ac __folio_lock +EXPORT_SYMBOL vmlinux 0x15b7a7c8 crypto_sha1_update +EXPORT_SYMBOL vmlinux 0x15bafe29 unregister_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial +EXPORT_SYMBOL vmlinux 0x15c04719 con_copy_unimap +EXPORT_SYMBOL vmlinux 0x15f44eb8 xsk_set_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x15f90688 slhc_init +EXPORT_SYMBOL vmlinux 0x1608bbc1 devm_of_find_backlight +EXPORT_SYMBOL vmlinux 0x160bd45c rtas_token +EXPORT_SYMBOL vmlinux 0x160bfc49 xp_alloc +EXPORT_SYMBOL vmlinux 0x160e84be mmc_retune_pause +EXPORT_SYMBOL vmlinux 0x161d1bcf pci_request_irq +EXPORT_SYMBOL vmlinux 0x16286538 iowrite64be_lo_hi +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x1628e1f3 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x1632bc21 kvasprintf_const +EXPORT_SYMBOL vmlinux 0x165ef2a7 pci_dev_driver +EXPORT_SYMBOL vmlinux 0x1666e48a jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0x167c5967 print_hex_dump +EXPORT_SYMBOL vmlinux 0x167f2072 max8925_set_bits +EXPORT_SYMBOL vmlinux 0x1682d19f rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x168f728c always_delete_dentry +EXPORT_SYMBOL vmlinux 0x169938c1 __sysfs_match_string +EXPORT_SYMBOL vmlinux 0x16a644c2 __serio_register_port +EXPORT_SYMBOL vmlinux 0x16c24737 fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0x16c68cbc tcf_action_exec +EXPORT_SYMBOL vmlinux 0x16d2dc3d netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0x16ded1eb inet_frag_kill +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x16f028f9 fwnode_mdio_find_device +EXPORT_SYMBOL vmlinux 0x16f8ec4d qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x17216ade proc_create +EXPORT_SYMBOL vmlinux 0x1731aa1c devm_iounmap +EXPORT_SYMBOL vmlinux 0x1731bd53 remove_proc_entry +EXPORT_SYMBOL vmlinux 0x17615fe1 dma_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x17648396 dev_base_lock +EXPORT_SYMBOL vmlinux 0x17693b4a __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x176e9037 ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0x17717178 mntget +EXPORT_SYMBOL vmlinux 0x178c4894 qe_upload_firmware +EXPORT_SYMBOL vmlinux 0x178efd83 simple_nosetlease +EXPORT_SYMBOL vmlinux 0x178f8b12 ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0x1791c299 skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0x17aaced3 import_single_range +EXPORT_SYMBOL vmlinux 0x17c7f18f vm_mmap +EXPORT_SYMBOL vmlinux 0x17e2c256 uart_suspend_port +EXPORT_SYMBOL vmlinux 0x17ef3544 swake_up_one +EXPORT_SYMBOL vmlinux 0x17f341a0 i8042_lock_chip +EXPORT_SYMBOL vmlinux 0x17f6c56b __traceiter_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x17f7a63f tty_unthrottle +EXPORT_SYMBOL vmlinux 0x1822c235 dev_driver_string +EXPORT_SYMBOL vmlinux 0x18255c0d __init_rwsem +EXPORT_SYMBOL vmlinux 0x1828aa95 sg_miter_skip +EXPORT_SYMBOL vmlinux 0x18340a8f nf_hook_slow +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x186ca1f5 genphy_aneg_done +EXPORT_SYMBOL vmlinux 0x186d7188 remove_proc_subtree +EXPORT_SYMBOL vmlinux 0x187884a8 cpm_muram_free +EXPORT_SYMBOL vmlinux 0x187a362f request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0x18842777 read_cache_folio +EXPORT_SYMBOL vmlinux 0x18867d2b rproc_boot +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x18a17f84 tty_vhangup +EXPORT_SYMBOL vmlinux 0x18a8de0c key_reject_and_link +EXPORT_SYMBOL vmlinux 0x18a961b3 devm_devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x18ba1795 pci_clear_master +EXPORT_SYMBOL vmlinux 0x18c2bb55 phy_get_c45_ids +EXPORT_SYMBOL vmlinux 0x18c7e572 uart_register_driver +EXPORT_SYMBOL vmlinux 0x18dcd954 pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x18ec8377 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x18eda15e register_netdev +EXPORT_SYMBOL vmlinux 0x18fca40a blk_finish_plug +EXPORT_SYMBOL vmlinux 0x18fef596 pci_set_power_state +EXPORT_SYMBOL vmlinux 0x18ff2351 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x190ee910 of_find_node_opts_by_path +EXPORT_SYMBOL vmlinux 0x193e3c2e tty_port_open +EXPORT_SYMBOL vmlinux 0x193ea0af vio_unregister_device +EXPORT_SYMBOL vmlinux 0x193f3011 d_move +EXPORT_SYMBOL vmlinux 0x1945becc simple_dir_operations +EXPORT_SYMBOL vmlinux 0x19567d06 vfio_info_cap_shift +EXPORT_SYMBOL vmlinux 0x196a5a99 radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x19751eb5 tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x1991e221 xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0x199c4ec1 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19a7168c rw_verify_area +EXPORT_SYMBOL vmlinux 0x19b16b34 up_read +EXPORT_SYMBOL vmlinux 0x19b4324b i2c_clients_command +EXPORT_SYMBOL vmlinux 0x19b60e7c pci_disable_ptm +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19ce07f6 vga_client_register +EXPORT_SYMBOL vmlinux 0x19d68628 xa_get_mark +EXPORT_SYMBOL vmlinux 0x19d73b38 netdev_reset_tc +EXPORT_SYMBOL vmlinux 0x19f747b0 blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0x19f74ca1 __mdiobus_write +EXPORT_SYMBOL vmlinux 0x1a14b521 get_user_pages +EXPORT_SYMBOL vmlinux 0x1a2e4ea1 seq_read_iter +EXPORT_SYMBOL vmlinux 0x1a36a221 lease_modify +EXPORT_SYMBOL vmlinux 0x1a398119 config_item_set_name +EXPORT_SYMBOL vmlinux 0x1a4627ab netdev_features_change +EXPORT_SYMBOL vmlinux 0x1a6167bf input_set_poll_interval +EXPORT_SYMBOL vmlinux 0x1a6ead86 __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0x1a70b675 mmc_set_data_timeout +EXPORT_SYMBOL vmlinux 0x1a777e9f sg_alloc_append_table_from_pages +EXPORT_SYMBOL vmlinux 0x1a7aac93 skb_flow_dissect_hash +EXPORT_SYMBOL vmlinux 0x1a7da22a tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1a9e7ee0 of_device_alloc +EXPORT_SYMBOL vmlinux 0x1aa2b3f1 tlbie_capable +EXPORT_SYMBOL vmlinux 0x1ac5d3cb strcspn +EXPORT_SYMBOL vmlinux 0x1ae64dac inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0x1aef6376 md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0x1af62a99 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x1afdc244 mutex_trylock +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b0f6c97 __alloc_pages +EXPORT_SYMBOL vmlinux 0x1b162f27 pnv_cxl_release_hwirq_ranges +EXPORT_SYMBOL vmlinux 0x1b27845f mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0x1b479d74 framebuffer_release +EXPORT_SYMBOL vmlinux 0x1b5c1477 tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0x1b625d33 enable_kernel_vsx +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1b8b95ad i8042_unlock_chip +EXPORT_SYMBOL vmlinux 0x1b8e981c iw_handler_set_thrspy +EXPORT_SYMBOL vmlinux 0x1ba3165d misc_deregister +EXPORT_SYMBOL vmlinux 0x1ba59527 __kmalloc_node +EXPORT_SYMBOL vmlinux 0x1baae9d6 dma_fence_init +EXPORT_SYMBOL vmlinux 0x1bb05a95 sget_fc +EXPORT_SYMBOL vmlinux 0x1bb51249 tcp_have_smc +EXPORT_SYMBOL vmlinux 0x1bb67920 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x1bc8db16 qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x1bc96301 xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0x1bd59dbe vme_free_consistent +EXPORT_SYMBOL vmlinux 0x1bee7937 __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x1c13ed5f __dev_remove_pack +EXPORT_SYMBOL vmlinux 0x1c1f2149 dev_alloc_name +EXPORT_SYMBOL vmlinux 0x1c36fa97 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x1c3e02e4 memcmp +EXPORT_SYMBOL vmlinux 0x1c680c20 mipi_dsi_dcs_set_tear_scanline +EXPORT_SYMBOL vmlinux 0x1c78f5f2 dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0x1c7cfdb1 __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x1ca1b1be radix_tree_delete +EXPORT_SYMBOL vmlinux 0x1ca527fa ioread64be_hi_lo +EXPORT_SYMBOL vmlinux 0x1ca91f96 dst_dev_put +EXPORT_SYMBOL vmlinux 0x1cc11154 __SCK__tp_func_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x1ccefca5 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x1cde0a51 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0x1ce15d0a __irq_regs +EXPORT_SYMBOL vmlinux 0x1cff74a7 kvmppc_hv_find_lock_hpte +EXPORT_SYMBOL vmlinux 0x1d060366 ptp_cancel_worker_sync +EXPORT_SYMBOL vmlinux 0x1d07e365 memdup_user_nul +EXPORT_SYMBOL vmlinux 0x1d10bb97 scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x1d13c940 rproc_da_to_va +EXPORT_SYMBOL vmlinux 0x1d335db2 security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0x1d4ec6ab kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0x1d5cedae __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x1d669a8b __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0x1d77e6ac generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x1d8545d5 mipi_dsi_dcs_write_buffer +EXPORT_SYMBOL vmlinux 0x1d86d76f devm_register_netdev +EXPORT_SYMBOL vmlinux 0x1d8edd01 dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0x1d9672bd fault_in_subpage_writeable +EXPORT_SYMBOL vmlinux 0x1dc55ae1 ww_mutex_lock +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dd25cf0 single_open +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1df49575 xattr_supported_namespace +EXPORT_SYMBOL vmlinux 0x1df80f91 tso_count_descs +EXPORT_SYMBOL vmlinux 0x1dfddab3 __bswapdi2 +EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x1e0cf514 is_nd_pfn +EXPORT_SYMBOL vmlinux 0x1e1992cc __memset64 +EXPORT_SYMBOL vmlinux 0x1e1d311a get_phy_device +EXPORT_SYMBOL vmlinux 0x1e1e140e ns_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1e283290 fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x1e3ed328 iov_iter_discard +EXPORT_SYMBOL vmlinux 0x1e6adaa0 bitmap_print_bitmask_to_buf +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e6d56d2 mmc_add_host +EXPORT_SYMBOL vmlinux 0x1e754f13 scsi_target_resume +EXPORT_SYMBOL vmlinux 0x1e837226 jbd2_fc_release_bufs +EXPORT_SYMBOL vmlinux 0x1e875885 add_wait_queue +EXPORT_SYMBOL vmlinux 0x1e921ace do_SAK +EXPORT_SYMBOL vmlinux 0x1e95cdf2 skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1eba6ef8 __phy_write_mmd +EXPORT_SYMBOL vmlinux 0x1ec934bc mmc_retune_timer_stop +EXPORT_SYMBOL vmlinux 0x1ed7eb60 __sg_free_table +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1eec0d12 devm_ioremap +EXPORT_SYMBOL vmlinux 0x1f021f8a md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x1f03b50d dns_query +EXPORT_SYMBOL vmlinux 0x1f0714e3 kernel_bind +EXPORT_SYMBOL vmlinux 0x1f174bff skb_pull_data +EXPORT_SYMBOL vmlinux 0x1f20b495 block_read_full_folio +EXPORT_SYMBOL vmlinux 0x1f2d1982 skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x1f40db44 blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0x1f687a19 of_get_child_by_name +EXPORT_SYMBOL vmlinux 0x1f744dd0 iput +EXPORT_SYMBOL vmlinux 0x1f74af1b security_dentry_init_security +EXPORT_SYMBOL vmlinux 0x1f815046 pm860x_reg_write +EXPORT_SYMBOL vmlinux 0x1fa81df7 tcp_seq_stop +EXPORT_SYMBOL vmlinux 0x1fa973e6 phy_ethtool_set_wol +EXPORT_SYMBOL vmlinux 0x1fb56df6 elv_rb_del +EXPORT_SYMBOL vmlinux 0x1fb71039 eth_gro_receive +EXPORT_SYMBOL vmlinux 0x1fb9e59b tcp_sendpage +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fca138c mmc_hw_reset +EXPORT_SYMBOL vmlinux 0x1fd07fff kdb_grepping_flag +EXPORT_SYMBOL vmlinux 0x1fd510b5 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x1fe08e39 invalidate_disk +EXPORT_SYMBOL vmlinux 0x1feff17f scsi_mode_sense +EXPORT_SYMBOL vmlinux 0x1fffbdf5 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x200b2041 in6addr_any +EXPORT_SYMBOL vmlinux 0x201dfc84 blk_start_plug +EXPORT_SYMBOL vmlinux 0x2036b85b fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0x203de0ad of_get_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x20719caa discard_new_inode +EXPORT_SYMBOL vmlinux 0x2088467c i2c_transfer_buffer_flags +EXPORT_SYMBOL vmlinux 0x209265d4 param_ops_charp +EXPORT_SYMBOL vmlinux 0x209d260c generic_file_write_iter +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20b93b95 __ip_options_compile +EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x20f1ba53 phy_find_first +EXPORT_SYMBOL vmlinux 0x210f76bb mipi_dsi_dcs_set_display_on +EXPORT_SYMBOL vmlinux 0x213a738d memregion_alloc +EXPORT_SYMBOL vmlinux 0x213e4965 ps2_is_keyboard_id +EXPORT_SYMBOL vmlinux 0x21554ee8 filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0x21579f4d rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x21643854 ppp_unregister_channel +EXPORT_SYMBOL vmlinux 0x216a66b4 devfreq_monitor_resume +EXPORT_SYMBOL vmlinux 0x216d4de7 devm_extcon_unregister_notifier_all +EXPORT_SYMBOL vmlinux 0x218e600b pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0x21a14edb pipe_unlock +EXPORT_SYMBOL vmlinux 0x21b27305 generic_set_encrypted_ci_d_ops +EXPORT_SYMBOL vmlinux 0x21b60242 bit_waitqueue +EXPORT_SYMBOL vmlinux 0x21bdb523 errseq_check_and_advance +EXPORT_SYMBOL vmlinux 0x21be37e1 hdmi_avi_infoframe_check +EXPORT_SYMBOL vmlinux 0x21c045d0 single_open_size +EXPORT_SYMBOL vmlinux 0x21d5092f phy_device_register +EXPORT_SYMBOL vmlinux 0x21daaac1 sk_error_report +EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x22079571 vme_irq_free +EXPORT_SYMBOL vmlinux 0x22168216 tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0x221f28d7 input_inject_event +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x225d1590 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x2294bf92 posix_test_lock +EXPORT_SYMBOL vmlinux 0x22967a6f ndisc_ns_create +EXPORT_SYMBOL vmlinux 0x22acdddc devm_memunmap +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22c3866b dev_disable_lro +EXPORT_SYMBOL vmlinux 0x22dee641 genphy_config_eee_advert +EXPORT_SYMBOL vmlinux 0x2310ae4d pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0x232485e6 clk_hw_get_clk +EXPORT_SYMBOL vmlinux 0x2327d2c0 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x23282210 of_phy_deregister_fixed_link +EXPORT_SYMBOL vmlinux 0x233917d1 mac_vmode_to_var +EXPORT_SYMBOL vmlinux 0x233a8188 agp_create_memory +EXPORT_SYMBOL vmlinux 0x233cab92 cpumask_next +EXPORT_SYMBOL vmlinux 0x235c60a4 free_cgroup_ns +EXPORT_SYMBOL vmlinux 0x23619cff jiffies_64 +EXPORT_SYMBOL vmlinux 0x2364c85a tasklet_init +EXPORT_SYMBOL vmlinux 0x2365f733 prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0x23672887 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x2372ed7b dev_close +EXPORT_SYMBOL vmlinux 0x23792644 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x238119fb ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0x238b099f mipi_dsi_packet_format_is_short +EXPORT_SYMBOL vmlinux 0x238ba4f0 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x2392d2e8 __traceiter_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x239713a5 phys_mem_access_prot +EXPORT_SYMBOL vmlinux 0x23b2721d netlink_unicast +EXPORT_SYMBOL vmlinux 0x23b5b617 mempool_create +EXPORT_SYMBOL vmlinux 0x23b975a3 netdev_pick_tx +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23c1b3cc textsearch_unregister +EXPORT_SYMBOL vmlinux 0x23c67a94 ppp_register_compressor +EXPORT_SYMBOL vmlinux 0x23d8c203 zero_fill_bio +EXPORT_SYMBOL vmlinux 0x23daa989 mipi_dsi_create_packet +EXPORT_SYMBOL vmlinux 0x23db66a8 pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x241a46e9 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x2420fb6f mr_table_alloc +EXPORT_SYMBOL vmlinux 0x244076c8 tcp_mmap +EXPORT_SYMBOL vmlinux 0x24412a26 __scm_send +EXPORT_SYMBOL vmlinux 0x24428be5 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x2461a23e vio_cmo_set_dev_desired +EXPORT_SYMBOL vmlinux 0x24640695 security_sk_clone +EXPORT_SYMBOL vmlinux 0x24777a4d pci_request_region +EXPORT_SYMBOL vmlinux 0x24836da8 dma_async_device_unregister +EXPORT_SYMBOL vmlinux 0x2484adc3 __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0x24949870 genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x24a10b81 skb_queue_tail +EXPORT_SYMBOL vmlinux 0x24b133c3 pci_write_config_word +EXPORT_SYMBOL vmlinux 0x24ba1cfd param_set_long +EXPORT_SYMBOL vmlinux 0x24c20d8e pci_write_vpd_any +EXPORT_SYMBOL vmlinux 0x24c8f6fd ppc_md +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x24d71f5d vme_register_bridge +EXPORT_SYMBOL vmlinux 0x24ec7f09 cdrom_release +EXPORT_SYMBOL vmlinux 0x24f2b13c truncate_setsize +EXPORT_SYMBOL vmlinux 0x24f9f5e0 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0x24fcc4c7 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0x2505bf18 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x25064f23 dma_resv_reserve_fences +EXPORT_SYMBOL vmlinux 0x250788f0 rename_lock +EXPORT_SYMBOL vmlinux 0x252332f1 __SCK__tp_func_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x253ad8be zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0x254c9287 ioremap +EXPORT_SYMBOL vmlinux 0x255232b8 __devm_release_region +EXPORT_SYMBOL vmlinux 0x2554701c of_find_mipi_dsi_host_by_node +EXPORT_SYMBOL vmlinux 0x257285b6 sock_i_uid +EXPORT_SYMBOL vmlinux 0x257a54f1 __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x2581a2be ll_rw_block +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x2584d583 md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x259ed865 tcf_qevent_dump +EXPORT_SYMBOL vmlinux 0x25b0bbf5 twl6040_power +EXPORT_SYMBOL vmlinux 0x25c00eac unpin_user_page +EXPORT_SYMBOL vmlinux 0x25d22f68 uart_remove_one_port +EXPORT_SYMBOL vmlinux 0x25e58a09 hdmi_avi_infoframe_init +EXPORT_SYMBOL vmlinux 0x25e9d4bd resource_list_free +EXPORT_SYMBOL vmlinux 0x26075448 phy_ethtool_get_eee +EXPORT_SYMBOL vmlinux 0x260a095a __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x2615f9d2 unix_destruct_scm +EXPORT_SYMBOL vmlinux 0x26179a56 devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x263c3152 bcmp +EXPORT_SYMBOL vmlinux 0x266b05de iterate_dir +EXPORT_SYMBOL vmlinux 0x266e87cf mipi_dsi_attach +EXPORT_SYMBOL vmlinux 0x2674db4a fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x2678e012 flush_signals +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x26897b52 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x26a051fb locks_delete_block +EXPORT_SYMBOL vmlinux 0x26acdf03 mipi_dsi_host_register +EXPORT_SYMBOL vmlinux 0x26baf5c0 dma_async_tx_descriptor_init +EXPORT_SYMBOL vmlinux 0x26bb4951 __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0x26e298e0 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x26f8f0b8 iowrite16be +EXPORT_SYMBOL vmlinux 0x27050a7f neigh_direct_output +EXPORT_SYMBOL vmlinux 0x270cf88f dump_stack_lvl +EXPORT_SYMBOL vmlinux 0x27108d55 netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0x272a8933 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x2733eaf7 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0x2745af71 mmc_can_gpio_ro +EXPORT_SYMBOL vmlinux 0x27479d14 param_free_charp +EXPORT_SYMBOL vmlinux 0x275dfee4 ucc_slow_free +EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check +EXPORT_SYMBOL vmlinux 0x2764f3c4 __netif_rx +EXPORT_SYMBOL vmlinux 0x27756bc8 scsi_sanitize_inquiry_string +EXPORT_SYMBOL vmlinux 0x277ecee1 down_write +EXPORT_SYMBOL vmlinux 0x2782b393 xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x2783ad0f vfio_register_notifier +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x278dc470 elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0x278df2a5 folio_add_lru +EXPORT_SYMBOL vmlinux 0x2798692d dquot_scan_active +EXPORT_SYMBOL vmlinux 0x27a15933 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0x27bb438d tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0x27bbb1e0 generic_setlease +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27bc1742 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x27c9d1f9 __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x27cdca93 pci_add_resource +EXPORT_SYMBOL vmlinux 0x27cf5e13 skb_append +EXPORT_SYMBOL vmlinux 0x27ed876e unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x27f10fa1 phy_init_eee +EXPORT_SYMBOL vmlinux 0x27f32684 locks_init_lock +EXPORT_SYMBOL vmlinux 0x27f87b41 has_capability +EXPORT_SYMBOL vmlinux 0x28179815 dev_pm_opp_unregister_notifier +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x281b0749 nd_dev_to_uuid +EXPORT_SYMBOL vmlinux 0x282f8618 netpoll_setup +EXPORT_SYMBOL vmlinux 0x285960ce md_register_thread +EXPORT_SYMBOL vmlinux 0x28659c3f xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x2866f5c3 __breadahead_gfp +EXPORT_SYMBOL vmlinux 0x286f7bfc pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x287c078b file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0x2885bb29 __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x288edae2 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x288fa94b xattr_full_name +EXPORT_SYMBOL vmlinux 0x288fd670 tcf_qevent_destroy +EXPORT_SYMBOL vmlinux 0x28939a62 i2c_verify_adapter +EXPORT_SYMBOL vmlinux 0x289eab77 set_page_writeback +EXPORT_SYMBOL vmlinux 0x28b4099f blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0x28cc74bf __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0x28f94604 __ubsan_handle_builtin_unreachable +EXPORT_SYMBOL vmlinux 0x290182e3 skb_find_text +EXPORT_SYMBOL vmlinux 0x2915c217 register_framebuffer +EXPORT_SYMBOL vmlinux 0x2928bab0 pmem_sector_size +EXPORT_SYMBOL vmlinux 0x292a4699 pci_save_state +EXPORT_SYMBOL vmlinux 0x29411d80 devm_of_iomap +EXPORT_SYMBOL vmlinux 0x29604158 napi_busy_loop +EXPORT_SYMBOL vmlinux 0x29625563 __devm_request_region +EXPORT_SYMBOL vmlinux 0x29760636 eth_type_trans +EXPORT_SYMBOL vmlinux 0x2982b8d4 shmem_aops +EXPORT_SYMBOL vmlinux 0x299ff460 super_setup_bdi +EXPORT_SYMBOL vmlinux 0x29a9628e unregister_shrinker +EXPORT_SYMBOL vmlinux 0x29b0f360 tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0x29b28b0b fsync_bdev +EXPORT_SYMBOL vmlinux 0x29ce1145 sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0x29d7e699 nf_log_trace +EXPORT_SYMBOL vmlinux 0x29e1e204 hdmi_audio_infoframe_pack +EXPORT_SYMBOL vmlinux 0x29e93ebf key_invalidate +EXPORT_SYMBOL vmlinux 0x29ffef82 cdrom_open +EXPORT_SYMBOL vmlinux 0x2a303d4d check_signature +EXPORT_SYMBOL vmlinux 0x2a411fdf fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0x2a426884 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0x2a63a196 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x2a71e9b7 alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0x2a866b98 udp6_csum_init +EXPORT_SYMBOL vmlinux 0x2a8a0b96 page_frag_alloc_align +EXPORT_SYMBOL vmlinux 0x2a8e32b1 _raw_spin_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x2a928918 slhc_free +EXPORT_SYMBOL vmlinux 0x2a9a3905 vme_master_get +EXPORT_SYMBOL vmlinux 0x2aabcdc8 vmalloc_array +EXPORT_SYMBOL vmlinux 0x2abe6563 ps2_sliced_command +EXPORT_SYMBOL vmlinux 0x2acaafed ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x2add5df1 key_link +EXPORT_SYMBOL vmlinux 0x2ae8cf8d config_item_get +EXPORT_SYMBOL vmlinux 0x2af02f20 memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0x2af4e03b skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0x2b022d46 mmc_start_request +EXPORT_SYMBOL vmlinux 0x2b3170eb dst_release +EXPORT_SYMBOL vmlinux 0x2b5f9229 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0x2b64d0bc rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b6d879c dma_fence_array_create +EXPORT_SYMBOL vmlinux 0x2b83bea3 param_set_ushort +EXPORT_SYMBOL vmlinux 0x2b8dbbd0 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x2b9486fc devm_devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2bcd6971 pagecache_get_page +EXPORT_SYMBOL vmlinux 0x2bdc5e8f gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x2c03e4d4 ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0x2c057a8d freeze_bdev +EXPORT_SYMBOL vmlinux 0x2c19bec3 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x2c22fee2 put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0x2c24ce51 insert_inode_locked +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c330bd1 kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0x2c39b839 pm860x_page_reg_write +EXPORT_SYMBOL vmlinux 0x2c4188d0 nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x2c41ce09 vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0x2c5c1d71 iget_locked +EXPORT_SYMBOL vmlinux 0x2c6055ec page_get_link +EXPORT_SYMBOL vmlinux 0x2c82c36a security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x2c89fbff dma_supported +EXPORT_SYMBOL vmlinux 0x2c90c48a fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0x2c94f474 filemap_alloc_folio +EXPORT_SYMBOL vmlinux 0x2cca74d7 netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0x2ccd059a dim_on_top +EXPORT_SYMBOL vmlinux 0x2cd49250 __pci_register_driver +EXPORT_SYMBOL vmlinux 0x2cdc8e43 scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0x2cdff684 security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x2ce6fc51 flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0x2cec4763 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x2cf15bb0 serio_open +EXPORT_SYMBOL vmlinux 0x2cf32053 dcache_dir_close +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d192c70 sg_zero_buffer +EXPORT_SYMBOL vmlinux 0x2d1dd99c new_inode +EXPORT_SYMBOL vmlinux 0x2d2d75f1 __find_get_block +EXPORT_SYMBOL vmlinux 0x2d30596c from_kqid_munged +EXPORT_SYMBOL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL vmlinux 0x2d39b0a7 kstrdup +EXPORT_SYMBOL vmlinux 0x2d4ba920 agp_generic_alloc_by_type +EXPORT_SYMBOL vmlinux 0x2d4c773a hdmi_spd_infoframe_init +EXPORT_SYMBOL vmlinux 0x2d4daef5 find_font +EXPORT_SYMBOL vmlinux 0x2d7df11c tcf_exts_change +EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2da3fc18 vc_resize +EXPORT_SYMBOL vmlinux 0x2dabdffd devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x2db5687c inet_addr_type_table +EXPORT_SYMBOL vmlinux 0x2dc4e156 prepare_to_wait +EXPORT_SYMBOL vmlinux 0x2dc6acad ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0x2dcdea36 chip_to_vas_id +EXPORT_SYMBOL vmlinux 0x2dce19f1 __wait_on_bit +EXPORT_SYMBOL vmlinux 0x2e12f519 of_graph_get_remote_endpoint +EXPORT_SYMBOL vmlinux 0x2e1ca751 clk_put +EXPORT_SYMBOL vmlinux 0x2e1fab2f _raw_read_unlock_irqrestore +EXPORT_SYMBOL vmlinux 0x2e299585 from_kuid_munged +EXPORT_SYMBOL vmlinux 0x2e2b40d2 strncat +EXPORT_SYMBOL vmlinux 0x2e2d9984 bio_uninit +EXPORT_SYMBOL vmlinux 0x2e2fa0ab dquot_release +EXPORT_SYMBOL vmlinux 0x2e579367 filemap_dirty_folio +EXPORT_SYMBOL vmlinux 0x2e5c55f9 mmc_of_parse_clk_phase +EXPORT_SYMBOL vmlinux 0x2e5f0be6 sk_stop_timer +EXPORT_SYMBOL vmlinux 0x2e5fe036 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x2e7a9d2a follow_down +EXPORT_SYMBOL vmlinux 0x2e865dbd mount_subtree +EXPORT_SYMBOL vmlinux 0x2e8c6dd5 skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x2eb8a2ed mipi_dsi_dcs_exit_sleep_mode +EXPORT_SYMBOL vmlinux 0x2ec5399a ppp_unit_number +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2ed0cc14 pps_lookup_dev +EXPORT_SYMBOL vmlinux 0x2ed60238 d_make_root +EXPORT_SYMBOL vmlinux 0x2ee4c2b1 hdmi_avi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x2eee3cf1 d_invalidate +EXPORT_SYMBOL vmlinux 0x2f000c44 __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f1254d1 ucc_tdm_init +EXPORT_SYMBOL vmlinux 0x2f155d6c set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x2f198101 d_rehash +EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f5671c7 poll_freewait +EXPORT_SYMBOL vmlinux 0x2f7754a8 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2f8264bd gtm_get_timer16 +EXPORT_SYMBOL vmlinux 0x2f88c5d7 try_lookup_one_len +EXPORT_SYMBOL vmlinux 0x2fae96de rtas_data_buf_lock +EXPORT_SYMBOL vmlinux 0x2fb5109a dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0x2fc2f008 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x2fc606e5 __fs_parse +EXPORT_SYMBOL vmlinux 0x2fc78fcc xa_erase +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x2ff1812f jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0x2ff892ed tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x2ffae7d6 pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0x2fff3b76 pcim_set_mwi +EXPORT_SYMBOL vmlinux 0x303c514e tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x30450b50 request_firmware +EXPORT_SYMBOL vmlinux 0x304c8410 register_shrinker +EXPORT_SYMBOL vmlinux 0x3058ea5f scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x305cf10a security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0x306f73b6 sock_release +EXPORT_SYMBOL vmlinux 0x30802a06 get_tree_bdev +EXPORT_SYMBOL vmlinux 0x3081df41 netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0x3092a337 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30b1b938 dev_activate +EXPORT_SYMBOL vmlinux 0x30b8b35c cpu_to_chip_id +EXPORT_SYMBOL vmlinux 0x30c7a2de follow_down_one +EXPORT_SYMBOL vmlinux 0x30de3ab0 pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0x30f1875c jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x30f50823 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0x311c2e1e bio_endio +EXPORT_SYMBOL vmlinux 0x311fd254 __vfs_getxattr +EXPORT_SYMBOL vmlinux 0x3125e3f8 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x3127eed4 blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0x312cf672 dup_iter +EXPORT_SYMBOL vmlinux 0x3174b18b generic_error_remove_page +EXPORT_SYMBOL vmlinux 0x3187a192 page_mapping +EXPORT_SYMBOL vmlinux 0x318c2442 ip_local_deliver +EXPORT_SYMBOL vmlinux 0x31a62e28 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x31b1a41c __debugger_fault_handler +EXPORT_SYMBOL vmlinux 0x31bac99b arch_free_page +EXPORT_SYMBOL vmlinux 0x31ddeaa4 mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0x31eff074 nd_region_to_nstype +EXPORT_SYMBOL vmlinux 0x31f085aa mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0x32087b61 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x3216872e tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0x3217c3a3 __memset32 +EXPORT_SYMBOL vmlinux 0x3218004e iter_file_splice_write +EXPORT_SYMBOL vmlinux 0x321f1255 input_set_timestamp +EXPORT_SYMBOL vmlinux 0x322103c4 ip_frag_init +EXPORT_SYMBOL vmlinux 0x3221df67 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x32242da1 generic_listxattr +EXPORT_SYMBOL vmlinux 0x32394d4b qe_issue_cmd +EXPORT_SYMBOL vmlinux 0x3240eb3f __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0x327a7bda flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0x327b623a netif_set_tso_max_size +EXPORT_SYMBOL vmlinux 0x327c3c12 tcp_peek_len +EXPORT_SYMBOL vmlinux 0x327c84bf vme_lm_attach +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x328f3b08 input_get_poll_interval +EXPORT_SYMBOL vmlinux 0x32934f68 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0x32b7d5b2 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0x32bcb559 __breadahead +EXPORT_SYMBOL vmlinux 0x32c7195c serio_close +EXPORT_SYMBOL vmlinux 0x32ca6ab6 vga_get +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32e676a8 kset_register +EXPORT_SYMBOL vmlinux 0x32e73b5a skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0x32f6617c key_validate +EXPORT_SYMBOL vmlinux 0x32fd4bef of_get_compatible_child +EXPORT_SYMBOL vmlinux 0x330cde00 mmc_can_trim +EXPORT_SYMBOL vmlinux 0x3312c9fe flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x331822f3 vfs_setpos +EXPORT_SYMBOL vmlinux 0x332d5cab skb_tunnel_check_pmtu +EXPORT_SYMBOL vmlinux 0x33736a1d __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0x33953a7a km_state_expired +EXPORT_SYMBOL vmlinux 0x33a0f299 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0x33a918eb fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0x33a927d3 max8925_bulk_write +EXPORT_SYMBOL vmlinux 0x33ac3a7d ata_std_end_eh +EXPORT_SYMBOL vmlinux 0x33b6e793 md_reload_sb +EXPORT_SYMBOL vmlinux 0x33b84f74 copy_page +EXPORT_SYMBOL vmlinux 0x33d2e63f pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0x33de9ae5 inet6_offloads +EXPORT_SYMBOL vmlinux 0x33f0768c cpufreq_quick_get_max +EXPORT_SYMBOL vmlinux 0x33fc2a31 get_user_ifreq +EXPORT_SYMBOL vmlinux 0x33fcf44a __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x3402dc8b __write_overflow_field +EXPORT_SYMBOL vmlinux 0x342b8a6a clear_nlink +EXPORT_SYMBOL vmlinux 0x342eeac5 dquot_operations +EXPORT_SYMBOL vmlinux 0x3436c697 mipi_dsi_dcs_read +EXPORT_SYMBOL vmlinux 0x344dd2ec devfreq_monitor_stop +EXPORT_SYMBOL vmlinux 0x345c8916 strict_msr_control +EXPORT_SYMBOL vmlinux 0x34702788 blk_integrity_register +EXPORT_SYMBOL vmlinux 0x34799cb6 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x34a0f781 pnv_cxl_ioda_msi_setup +EXPORT_SYMBOL vmlinux 0x34affb1f md_error +EXPORT_SYMBOL vmlinux 0x34bf2c9c rfkill_alloc +EXPORT_SYMBOL vmlinux 0x34c7cdbc lookup_bdev +EXPORT_SYMBOL vmlinux 0x34cb3f2e phy_drivers_register +EXPORT_SYMBOL vmlinux 0x34e1f75d dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue +EXPORT_SYMBOL vmlinux 0x34fdb0ea __of_parse_phandle_with_args +EXPORT_SYMBOL vmlinux 0x3500c064 inet_addr_type +EXPORT_SYMBOL vmlinux 0x3502575e udp_set_csum +EXPORT_SYMBOL vmlinux 0x350a1d29 kmem_cache_free +EXPORT_SYMBOL vmlinux 0x350b419c inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x35257e6c epapr_hypercall_start +EXPORT_SYMBOL vmlinux 0x352bb201 xa_store +EXPORT_SYMBOL vmlinux 0x352db4e2 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x35313ebd agp_generic_enable +EXPORT_SYMBOL vmlinux 0x3539f11b match_strlcpy +EXPORT_SYMBOL vmlinux 0x3547ce23 md_done_sync +EXPORT_SYMBOL vmlinux 0x354cdf78 input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x35517b95 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x3552ea32 __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x35557fe2 pnv_pci_get_phb_node +EXPORT_SYMBOL vmlinux 0x3557dc49 rproc_get_by_phandle +EXPORT_SYMBOL vmlinux 0x356461c8 rtc_time64_to_tm +EXPORT_SYMBOL vmlinux 0x3570dd02 of_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x3573e0d0 radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0x3575144a param_get_int +EXPORT_SYMBOL vmlinux 0x3579452e netdev_emerg +EXPORT_SYMBOL vmlinux 0x3582799f netif_set_tso_max_segs +EXPORT_SYMBOL vmlinux 0x3589f70a d_obtain_alias +EXPORT_SYMBOL vmlinux 0x358d60bc netdev_state_change +EXPORT_SYMBOL vmlinux 0x359749ec dev_mc_del +EXPORT_SYMBOL vmlinux 0x3599d1b8 of_mdio_find_device +EXPORT_SYMBOL vmlinux 0x35a87c88 phy_free_interrupt +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35b80f2a blk_rq_map_user +EXPORT_SYMBOL vmlinux 0x35e83030 agp_generic_alloc_pages +EXPORT_SYMBOL vmlinux 0x35f97f54 mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0x35ff8999 pci_iounmap +EXPORT_SYMBOL vmlinux 0x361c826b blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0x361d74d3 rproc_add_subdev +EXPORT_SYMBOL vmlinux 0x362ed8f8 tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x3643d68f __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365d3f3a tcp_poll +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x36614887 forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0x36739316 pci_release_resource +EXPORT_SYMBOL vmlinux 0x369e050b iw_handler_get_thrspy +EXPORT_SYMBOL vmlinux 0x36b95828 pid_task +EXPORT_SYMBOL vmlinux 0x36c7d2fe dma_fence_default_wait +EXPORT_SYMBOL vmlinux 0x36d291b1 kfree_skb_reason +EXPORT_SYMBOL vmlinux 0x36d48eba eeh_dev_release +EXPORT_SYMBOL vmlinux 0x36e4e8f6 xfrm_register_type +EXPORT_SYMBOL vmlinux 0x36e73204 generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0x36eaafe2 __cpu_active_mask +EXPORT_SYMBOL vmlinux 0x371d2130 check_legacy_ioport +EXPORT_SYMBOL vmlinux 0x371e1953 __printk_cpu_sync_wait +EXPORT_SYMBOL vmlinux 0x372232f8 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x372e4092 gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0x37383edd rtas_get_power_level +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x376979c9 skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0x376aacc3 ucc_of_parse_tdm +EXPORT_SYMBOL vmlinux 0x376d2196 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x37706355 mdiobus_get_phy +EXPORT_SYMBOL vmlinux 0x377fa428 ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0x37a5e05a netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0x37b232ee file_modified +EXPORT_SYMBOL vmlinux 0x37b8b39e screen_info +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37bf98d2 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x37cc9c23 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0x37d723b0 sg_miter_stop +EXPORT_SYMBOL vmlinux 0x37dc334d fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0x37deb930 inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0x37e3dc94 lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x37f40aa5 _raw_write_lock_irq +EXPORT_SYMBOL vmlinux 0x38026cb6 complete +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x382fcedf ethtool_notify +EXPORT_SYMBOL vmlinux 0x3835132a seq_bprintf +EXPORT_SYMBOL vmlinux 0x38381bc9 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x383f8368 ilookup5 +EXPORT_SYMBOL vmlinux 0x384242fd fs_param_is_enum +EXPORT_SYMBOL vmlinux 0x384718a8 qdisc_put +EXPORT_SYMBOL vmlinux 0x384fe501 vmemmap +EXPORT_SYMBOL vmlinux 0x3854774b kstrtoll +EXPORT_SYMBOL vmlinux 0x387c5626 seg6_push_hmac +EXPORT_SYMBOL vmlinux 0x3885251c jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x38870de4 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0x3891ffc8 ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0x389617b0 LZ4_decompress_fast_continue +EXPORT_SYMBOL vmlinux 0x389944cd skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x389a2da5 mdio_driver_register +EXPORT_SYMBOL vmlinux 0x389b688d nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38a9f7c5 in6addr_loopback +EXPORT_SYMBOL vmlinux 0x38da41b5 register_cdrom +EXPORT_SYMBOL vmlinux 0x38de28cd revert_creds +EXPORT_SYMBOL vmlinux 0x38f47f12 bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0x38f48af7 put_user_ifreq +EXPORT_SYMBOL vmlinux 0x38f508e4 of_device_unregister +EXPORT_SYMBOL vmlinux 0x38fb9933 tty_std_termios +EXPORT_SYMBOL vmlinux 0x3905756b jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0x391df80a netstamp_needed_key +EXPORT_SYMBOL vmlinux 0x3939f8f0 rfkill_pause_polling +EXPORT_SYMBOL vmlinux 0x393ed21c sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL vmlinux 0x394a337e nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0x3955fcf6 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0x39593be1 ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x3966d65b bdi_alloc +EXPORT_SYMBOL vmlinux 0x396b2a43 agp_generic_mask_memory +EXPORT_SYMBOL vmlinux 0x3975e415 __scsi_execute +EXPORT_SYMBOL vmlinux 0x397c1433 key_payload_reserve +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x399ad043 __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x399ca4b6 dev_open +EXPORT_SYMBOL vmlinux 0x399f43fc netpoll_send_skb +EXPORT_SYMBOL vmlinux 0x39a7887d serio_unregister_port +EXPORT_SYMBOL vmlinux 0x39b02f4f jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39b89aca vfs_fsync +EXPORT_SYMBOL vmlinux 0x39bf6f48 set_cached_acl +EXPORT_SYMBOL vmlinux 0x39cef8ed nvdimm_namespace_disk_name +EXPORT_SYMBOL vmlinux 0x39d95ca4 zstd_reset_cstream +EXPORT_SYMBOL vmlinux 0x39dd57af __phy_resume +EXPORT_SYMBOL vmlinux 0x39e2d8ee dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0x39e2e743 generic_file_fsync +EXPORT_SYMBOL vmlinux 0x39f9e18c dma_fence_wait_any_timeout +EXPORT_SYMBOL vmlinux 0x3a1003b5 skb_clone_sk +EXPORT_SYMBOL vmlinux 0x3a10fe9d handle_edge_irq +EXPORT_SYMBOL vmlinux 0x3a13f54a sgl_alloc +EXPORT_SYMBOL vmlinux 0x3a141a3b of_root +EXPORT_SYMBOL vmlinux 0x3a2f6702 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x3a344600 cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized +EXPORT_SYMBOL vmlinux 0x3a74ee6f fs_param_is_bool +EXPORT_SYMBOL vmlinux 0x3a820175 sock_create_lite +EXPORT_SYMBOL vmlinux 0x3a875620 __xa_store +EXPORT_SYMBOL vmlinux 0x3ab61dad do_clone_file_range +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3ab98195 neigh_xmit +EXPORT_SYMBOL vmlinux 0x3acbf48d generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x3ada5d5f __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0x3ae34aeb zstd_init_dctx +EXPORT_SYMBOL vmlinux 0x3b0ad506 ip_fraglist_init +EXPORT_SYMBOL vmlinux 0x3b2a529d stream_open +EXPORT_SYMBOL vmlinux 0x3b321462 LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0x3b4c7321 skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0x3b4f45bc dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b6c41ea kstrtouint +EXPORT_SYMBOL vmlinux 0x3b7b48f4 page_mapped +EXPORT_SYMBOL vmlinux 0x3b8c80d0 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x3bb019b1 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x3bbed9a5 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x3bc3a8f6 of_phy_find_device +EXPORT_SYMBOL vmlinux 0x3bd45313 devm_memremap +EXPORT_SYMBOL vmlinux 0x3bdac837 ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3bf0605f inet6_bind +EXPORT_SYMBOL vmlinux 0x3bfb09fa gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0x3c04828f folio_wait_bit_killable +EXPORT_SYMBOL vmlinux 0x3c0d9646 simple_statfs +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c3215c4 qe_immr +EXPORT_SYMBOL vmlinux 0x3c345b5d finish_no_open +EXPORT_SYMBOL vmlinux 0x3c379878 mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c489e00 poll_initwait +EXPORT_SYMBOL vmlinux 0x3c5ae4a8 __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0x3c78a5ff linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x3c890d58 kernel_read +EXPORT_SYMBOL vmlinux 0x3c984188 jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x3cbb940b zstd_init_dstream +EXPORT_SYMBOL vmlinux 0x3cc2a802 bdi_put +EXPORT_SYMBOL vmlinux 0x3cc39bb3 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0x3cdbec34 __block_write_begin +EXPORT_SYMBOL vmlinux 0x3ce1240a input_copy_abs +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cfe9e5e vfs_rmdir +EXPORT_SYMBOL vmlinux 0x3d77cf37 ip_check_defrag +EXPORT_SYMBOL vmlinux 0x3d82be76 of_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0x3d9fc8a1 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x3dabf271 memcg_sockets_enabled_key +EXPORT_SYMBOL vmlinux 0x3dac779a bpf_sk_lookup_enabled +EXPORT_SYMBOL vmlinux 0x3dad9978 cancel_delayed_work +EXPORT_SYMBOL vmlinux 0x3db0a06d nvdimm_namespace_common_probe +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3df8a16a tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x3dfb86b9 resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e07b971 alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0x3e2e8ec5 ip6_output +EXPORT_SYMBOL vmlinux 0x3e3bad0a __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x3e5f75b7 nd_btt_version +EXPORT_SYMBOL vmlinux 0x3e62f93a sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0x3e6be375 sock_bindtoindex +EXPORT_SYMBOL vmlinux 0x3e9d071f param_ops_int +EXPORT_SYMBOL vmlinux 0x3ea1b6e4 __stack_chk_fail +EXPORT_SYMBOL vmlinux 0x3ea2d2c1 I_BDEV +EXPORT_SYMBOL vmlinux 0x3eabf792 gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0x3ec545e8 param_set_short +EXPORT_SYMBOL vmlinux 0x3edd76ee devm_arch_io_reserve_memtype_wc +EXPORT_SYMBOL vmlinux 0x3ef33ef5 fb_get_mode +EXPORT_SYMBOL vmlinux 0x3efa7885 of_node_get +EXPORT_SYMBOL vmlinux 0x3efd8bac netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3f03dc1a of_read_drc_info_cell +EXPORT_SYMBOL vmlinux 0x3f0b8874 skb_push +EXPORT_SYMBOL vmlinux 0x3f0eabd2 xxh64_update +EXPORT_SYMBOL vmlinux 0x3f16adfb readahead_expand +EXPORT_SYMBOL vmlinux 0x3f34644d zstd_dstream_workspace_bound +EXPORT_SYMBOL vmlinux 0x3f3f0231 ip_route_input_noref +EXPORT_SYMBOL vmlinux 0x3f406a3b enable_kernel_altivec +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f4eabb8 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x3f6b29de mntput +EXPORT_SYMBOL vmlinux 0x3f7e617f __next_node_in +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3f8b9349 dqput +EXPORT_SYMBOL vmlinux 0x3f97f5a5 kmem_cache_alloc_lru +EXPORT_SYMBOL vmlinux 0x3f9f8dd5 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0x3fac9934 mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0x3fb1931a dev_uc_add +EXPORT_SYMBOL vmlinux 0x3fbf3c89 vme_slave_set +EXPORT_SYMBOL vmlinux 0x3fc27fa7 scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0x3fd5ba8d vme_bus_error_handler +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3fe2ccbe memweight +EXPORT_SYMBOL vmlinux 0x3fead0cb skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0x3ff93288 folio_end_writeback +EXPORT_SYMBOL vmlinux 0x402214c7 phy_init_hw +EXPORT_SYMBOL vmlinux 0x402b6070 mr_table_dump +EXPORT_SYMBOL vmlinux 0x40315f7a skb_copy_header +EXPORT_SYMBOL vmlinux 0x405726ea dmam_pool_create +EXPORT_SYMBOL vmlinux 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL vmlinux 0x40700977 configfs_register_default_group +EXPORT_SYMBOL vmlinux 0x4071ad18 logfc +EXPORT_SYMBOL vmlinux 0x40812f2f kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0x408ac0c4 __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0x409114c8 phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0x4093d203 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40cb3d84 cpumask_any_distribute +EXPORT_SYMBOL vmlinux 0x40cc3a57 seq_hex_dump +EXPORT_SYMBOL vmlinux 0x40cf3eb4 unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d59096 unregister_restart_handler +EXPORT_SYMBOL vmlinux 0x40db067a dma_unmap_page_attrs +EXPORT_SYMBOL vmlinux 0x40edb69a mfd_remove_devices_late +EXPORT_SYMBOL vmlinux 0x40f2d61d devfreq_update_interval +EXPORT_SYMBOL vmlinux 0x40f76a86 __vcalloc +EXPORT_SYMBOL vmlinux 0x4113f2aa ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x41151d11 ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x412a762e inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0x412f893c page_offline_begin +EXPORT_SYMBOL vmlinux 0x41383b56 sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0x413be8e9 param_ops_bint +EXPORT_SYMBOL vmlinux 0x41472f4a folio_account_redirty +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x4158c50c skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0x4158cb93 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x416e8b44 dev_add_offload +EXPORT_SYMBOL vmlinux 0x4178504f vlan_uses_dev +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x4191ed5d __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0x419da4b6 param_set_copystring +EXPORT_SYMBOL vmlinux 0x41abd4db _raw_write_trylock +EXPORT_SYMBOL vmlinux 0x41ae718a __percpu_counter_init +EXPORT_SYMBOL vmlinux 0x41b4e2b7 dump_skip_to +EXPORT_SYMBOL vmlinux 0x41b91841 of_get_next_available_child +EXPORT_SYMBOL vmlinux 0x41c73fd9 skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x41c8ee70 kern_sys_bpf +EXPORT_SYMBOL vmlinux 0x41d2ef2c cdev_alloc +EXPORT_SYMBOL vmlinux 0x41e60c57 __mmap_lock_do_trace_start_locking +EXPORT_SYMBOL vmlinux 0x41ed3709 get_random_bytes +EXPORT_SYMBOL vmlinux 0x41eeb100 scsi_print_command +EXPORT_SYMBOL vmlinux 0x420964e3 __nla_parse +EXPORT_SYMBOL vmlinux 0x421cadee security_socket_socketpair +EXPORT_SYMBOL vmlinux 0x4230a8d7 sg_nents_for_len +EXPORT_SYMBOL vmlinux 0x4232545c qdisc_reset +EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running +EXPORT_SYMBOL vmlinux 0x4249b622 pci_release_region +EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x42568cff xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x426cb015 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x42736793 _raw_spin_trylock_bh +EXPORT_SYMBOL vmlinux 0x429b002f add_to_page_cache_lru +EXPORT_SYMBOL vmlinux 0x429de5b2 edac_mc_find +EXPORT_SYMBOL vmlinux 0x42c52566 sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x42cdb9c0 of_find_node_by_name +EXPORT_SYMBOL vmlinux 0x42d7cf1a sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x42dd963b tcp_prot +EXPORT_SYMBOL vmlinux 0x42f030bd dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x42f3fe34 tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x42f852d8 i2c_add_adapter +EXPORT_SYMBOL vmlinux 0x4302b5d6 kill_litter_super +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x43062331 is_nd_dax +EXPORT_SYMBOL vmlinux 0x430e726b phy_connect +EXPORT_SYMBOL vmlinux 0x43104e96 vfs_mkobj +EXPORT_SYMBOL vmlinux 0x431ec3a9 __nla_validate +EXPORT_SYMBOL vmlinux 0x431ee76d kill_pgrp +EXPORT_SYMBOL vmlinux 0x43223582 pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0x4324f754 mmc_gpiod_request_cd +EXPORT_SYMBOL vmlinux 0x4331fe9f phy_set_max_speed +EXPORT_SYMBOL vmlinux 0x4338db36 netdev_bonding_info_change +EXPORT_SYMBOL vmlinux 0x4346334d inet_sendpage +EXPORT_SYMBOL vmlinux 0x434c82b5 mroute6_is_socket +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x4353d052 freeze_super +EXPORT_SYMBOL vmlinux 0x4355fdf1 inet_getname +EXPORT_SYMBOL vmlinux 0x436a3095 mipi_dsi_driver_register_full +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x4380343e vlan_vid_add +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x43a4938f vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x43a97999 setup_new_exec +EXPORT_SYMBOL vmlinux 0x43b18f96 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0x43bdaf52 sk_wait_data +EXPORT_SYMBOL vmlinux 0x43c267b3 posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0x43c82edf wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0x43c831d3 sk_free +EXPORT_SYMBOL vmlinux 0x43d22fb9 groups_alloc +EXPORT_SYMBOL vmlinux 0x43d5be2d dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0x43edb6b0 inet_recvmsg +EXPORT_SYMBOL vmlinux 0x43f9ebc8 slhc_remember +EXPORT_SYMBOL vmlinux 0x4411dd4d remove_arg_zero +EXPORT_SYMBOL vmlinux 0x4423edb1 page_pool_create +EXPORT_SYMBOL vmlinux 0x443f21c3 remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x444ba272 _dev_crit +EXPORT_SYMBOL vmlinux 0x445adf7b blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0x4462d35e cpufreq_get_hw_max_freq +EXPORT_SYMBOL vmlinux 0x4463638f unregister_binfmt +EXPORT_SYMBOL vmlinux 0x446dec79 inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0x4488bc8a prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x4490218a blk_execute_rq +EXPORT_SYMBOL vmlinux 0x4492abd4 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0x44954155 devm_nvmem_cell_put +EXPORT_SYMBOL vmlinux 0x449c95b3 drop_super +EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x44b42da9 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0x44ddf176 page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0x44e03d3a gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0x44e0896e mmc_erase_group_aligned +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44f873d2 inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0x45006cee default_red +EXPORT_SYMBOL vmlinux 0x450bd37e __pmd_index_size +EXPORT_SYMBOL vmlinux 0x450d640b dma_fence_enable_sw_signaling +EXPORT_SYMBOL vmlinux 0x452287df gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0x45235daf rproc_get_by_child +EXPORT_SYMBOL vmlinux 0x45295c82 request_key_tag +EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x452d4173 bio_copy_data +EXPORT_SYMBOL vmlinux 0x4534a2cf brioctl_set +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x4542fdbc kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x45474787 ether_setup +EXPORT_SYMBOL vmlinux 0x45502b1f migrate_vma_finalize +EXPORT_SYMBOL vmlinux 0x45535485 xxh32_update +EXPORT_SYMBOL vmlinux 0x45665d49 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x45726296 xp_dma_unmap +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x457f26ae dma_unmap_resource +EXPORT_SYMBOL vmlinux 0x45888085 blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0x458ee2e2 of_find_node_with_property +EXPORT_SYMBOL vmlinux 0x45dcd2d5 of_find_i2c_adapter_by_node +EXPORT_SYMBOL vmlinux 0x45edbabe netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0x45f596f1 _dev_err +EXPORT_SYMBOL vmlinux 0x45f6c038 mipi_dsi_detach +EXPORT_SYMBOL vmlinux 0x46001d34 percpu_counter_add_batch +EXPORT_SYMBOL vmlinux 0x460738a7 freezing_slow_path +EXPORT_SYMBOL vmlinux 0x460f4a34 flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x461296c3 sg_miter_next +EXPORT_SYMBOL vmlinux 0x461d16ca sg_nents +EXPORT_SYMBOL vmlinux 0x461ebfa0 __copy_tofrom_user +EXPORT_SYMBOL vmlinux 0x462aaf2f pci_read_vpd_any +EXPORT_SYMBOL vmlinux 0x463d2424 skb_queue_head +EXPORT_SYMBOL vmlinux 0x46451cee zstd_get_frame_header +EXPORT_SYMBOL vmlinux 0x4653225a fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0x46632bbe dma_fence_allocate_private_stub +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x466eb80f dm_kobject_release +EXPORT_SYMBOL vmlinux 0x4674ec42 __pgd_val_bits +EXPORT_SYMBOL vmlinux 0x467df16d netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0x469a6ec7 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x46a14ba9 sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0x46c47fb6 __node_distance +EXPORT_SYMBOL vmlinux 0x46c7bfeb icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0x46d5beb7 input_set_capability +EXPORT_SYMBOL vmlinux 0x46f0c3ad get_watch_queue +EXPORT_SYMBOL vmlinux 0x46f25801 nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0x46f9f2b5 xa_find_after +EXPORT_SYMBOL vmlinux 0x47065c73 cpm_muram_offset +EXPORT_SYMBOL vmlinux 0x472a7084 __napi_schedule +EXPORT_SYMBOL vmlinux 0x475ba5d1 scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x477104e2 fifo_set_limit +EXPORT_SYMBOL vmlinux 0x4771d001 seq_write +EXPORT_SYMBOL vmlinux 0x4772c5f7 netdev_update_features +EXPORT_SYMBOL vmlinux 0x47790bfe __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x477d53f6 nvdimm_check_and_set_ro +EXPORT_SYMBOL vmlinux 0x478330be dma_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0x479f3f0f inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x47c20f8a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0x47c48af3 store_fp_state +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47cfd825 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0x47d74c6e blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x47ee79c9 flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0x47f2d347 inet_protos +EXPORT_SYMBOL vmlinux 0x480368fd tcp_check_req +EXPORT_SYMBOL vmlinux 0x4805b4d2 clk_bulk_get +EXPORT_SYMBOL vmlinux 0x480aa2f7 flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0x481814c4 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x481aef2a configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0x4822b79b skb_store_bits +EXPORT_SYMBOL vmlinux 0x48283af8 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0x4829a47e memcpy +EXPORT_SYMBOL vmlinux 0x4829cf6b fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0x483db813 would_dump +EXPORT_SYMBOL vmlinux 0x4841bdee strnchr +EXPORT_SYMBOL vmlinux 0x4848cfb1 phy_mipi_dphy_get_default_config +EXPORT_SYMBOL vmlinux 0x484ae5f5 bio_alloc_clone +EXPORT_SYMBOL vmlinux 0x484f6edf ktime_get_coarse_real_ts64 +EXPORT_SYMBOL vmlinux 0x4859b8bb rtc_year_days +EXPORT_SYMBOL vmlinux 0x486c17db __xa_erase +EXPORT_SYMBOL vmlinux 0x4871d75d clk_hw_register_clkdev +EXPORT_SYMBOL vmlinux 0x489f0042 vfs_unlink +EXPORT_SYMBOL vmlinux 0x489f6e0b rdma_dim +EXPORT_SYMBOL vmlinux 0x48a4337a phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48b2ce90 dquot_acquire +EXPORT_SYMBOL vmlinux 0x48b99a13 vme_lm_free +EXPORT_SYMBOL vmlinux 0x48ca165c blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0x48d27375 __bitmap_intersects +EXPORT_SYMBOL vmlinux 0x48dc8e6f pci_clear_mwi +EXPORT_SYMBOL vmlinux 0x48ee3e04 genphy_write_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x48f5f51a xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0x48fec0cb inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x4901f240 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x490980dc vme_lm_request +EXPORT_SYMBOL vmlinux 0x492f122a dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x494111d9 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x495231ea mul_u64_u64_div_u64 +EXPORT_SYMBOL vmlinux 0x49527d2f nexthop_set_hw_flags +EXPORT_SYMBOL vmlinux 0x496da56b tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0x498cd15e scsi_scan_target +EXPORT_SYMBOL vmlinux 0x499bfc6d __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x499f0ecf nd_sb_checksum +EXPORT_SYMBOL vmlinux 0x49b43c40 qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x49d718bf scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x49e09db8 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0x49e6ad58 skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0x49e83293 pci_set_mwi +EXPORT_SYMBOL vmlinux 0x4a192bc7 inode_add_bytes +EXPORT_SYMBOL vmlinux 0x4a370023 vm_map_ram +EXPORT_SYMBOL vmlinux 0x4a453f53 iowrite32 +EXPORT_SYMBOL vmlinux 0x4a55c8ea ioremap_wc +EXPORT_SYMBOL vmlinux 0x4a5bda96 mr_fill_mroute +EXPORT_SYMBOL vmlinux 0x4a93576a ucc_fast_free +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4aabc6df is_subdir +EXPORT_SYMBOL vmlinux 0x4ab6f98c of_count_phandle_with_args +EXPORT_SYMBOL vmlinux 0x4abbc809 iget_failed +EXPORT_SYMBOL vmlinux 0x4abbd8f6 devfreq_add_governor +EXPORT_SYMBOL vmlinux 0x4ac4cacc neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x4acaf52e device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0x4acb134f __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0x4ad2a57a opal_event_request +EXPORT_SYMBOL vmlinux 0x4adb0a1a fput +EXPORT_SYMBOL vmlinux 0x4ae4195e blk_cleanup_disk +EXPORT_SYMBOL vmlinux 0x4aea463f crc32_le_shift +EXPORT_SYMBOL vmlinux 0x4aecac07 mdiobus_read +EXPORT_SYMBOL vmlinux 0x4af6ddf0 kstrtou16 +EXPORT_SYMBOL vmlinux 0x4b0069f4 nla_put_64bit +EXPORT_SYMBOL vmlinux 0x4b010147 blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0x4b085dbf agp3_generic_configure +EXPORT_SYMBOL vmlinux 0x4b0caaee skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0x4b382465 bpf_link_get_from_fd +EXPORT_SYMBOL vmlinux 0x4b3a2d26 ipv6_dev_find +EXPORT_SYMBOL vmlinux 0x4b3c53b8 netdev_txq_to_tc +EXPORT_SYMBOL vmlinux 0x4b5ec15b gpiochip_irq_reqres +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4ba8aced pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x4bdc638f sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x4bde4958 neigh_table_clear +EXPORT_SYMBOL vmlinux 0x4be33079 __mmap_lock_do_trace_released +EXPORT_SYMBOL vmlinux 0x4be510e2 inode_set_bytes +EXPORT_SYMBOL vmlinux 0x4bef1c67 empty_name +EXPORT_SYMBOL vmlinux 0x4c199a03 fwnode_mdiobus_register_phy +EXPORT_SYMBOL vmlinux 0x4c3ebcec jbd2__journal_start +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c48ac05 ppp_output_wakeup +EXPORT_SYMBOL vmlinux 0x4c5f1f65 __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0x4c7653fa jbd2_wait_inode_data +EXPORT_SYMBOL vmlinux 0x4c77f20e gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0x4c856f54 __destroy_inode +EXPORT_SYMBOL vmlinux 0x4c88d766 devm_clk_release_clkdev +EXPORT_SYMBOL vmlinux 0x4c8f8959 mipi_dsi_dcs_set_pixel_format +EXPORT_SYMBOL vmlinux 0x4cabd54b try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x4cba441d iwe_stream_add_event +EXPORT_SYMBOL vmlinux 0x4cba92e1 tso_build_data +EXPORT_SYMBOL vmlinux 0x4cbf3df7 vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0x4cc1d4ee devm_clk_get_optional +EXPORT_SYMBOL vmlinux 0x4cc4ebb5 peernet2id +EXPORT_SYMBOL vmlinux 0x4cc6534b cpu_l2_cache_map +EXPORT_SYMBOL vmlinux 0x4cdcf93f crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0x4ce47ca2 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x4ceb422a srp_timed_out +EXPORT_SYMBOL vmlinux 0x4cf55acb seq_read +EXPORT_SYMBOL vmlinux 0x4d04637c registered_fb +EXPORT_SYMBOL vmlinux 0x4d061110 xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0x4d086f9d skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0x4d0b5ba9 netdev_offload_xstats_enabled +EXPORT_SYMBOL vmlinux 0x4d103890 netdev_core_stats_alloc +EXPORT_SYMBOL vmlinux 0x4d103d8c key_unlink +EXPORT_SYMBOL vmlinux 0x4d2a848e dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x4d5bd116 nexthop_bucket_set_hw_flags +EXPORT_SYMBOL vmlinux 0x4d636075 inc_node_page_state +EXPORT_SYMBOL vmlinux 0x4d65cbd5 csum_ipv6_magic +EXPORT_SYMBOL vmlinux 0x4d6ae35f rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0x4d76500d notify_change +EXPORT_SYMBOL vmlinux 0x4d78b867 dma_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0x4d8b8834 netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0x4d924f20 memremap +EXPORT_SYMBOL vmlinux 0x4d95d6d1 memcpy_flushcache +EXPORT_SYMBOL vmlinux 0x4d97f9d4 blkdev_put +EXPORT_SYMBOL vmlinux 0x4d9b1d21 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4db385a3 ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0x4dc6e8ac phy_start_cable_test +EXPORT_SYMBOL vmlinux 0x4df02057 crc32_be +EXPORT_SYMBOL vmlinux 0x4df2ea84 gen_estimator_read +EXPORT_SYMBOL vmlinux 0x4e07b830 netif_napi_add_weight +EXPORT_SYMBOL vmlinux 0x4e3163f6 dquot_file_open +EXPORT_SYMBOL vmlinux 0x4e332902 nla_append +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e36cdc4 __ubsan_handle_divrem_overflow +EXPORT_SYMBOL vmlinux 0x4e4ce2fd clocksource_unregister +EXPORT_SYMBOL vmlinux 0x4e5254ec __mmc_claim_host +EXPORT_SYMBOL vmlinux 0x4e547048 __kmalloc_node_track_caller +EXPORT_SYMBOL vmlinux 0x4e561177 invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e7ff165 ppp_input_error +EXPORT_SYMBOL vmlinux 0x4e9a1653 tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0x4e9ae02c udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x4eada8f7 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x4eb7ae3d hvc_get_chars +EXPORT_SYMBOL vmlinux 0x4ec54e78 bitmap_to_arr32 +EXPORT_SYMBOL vmlinux 0x4ec87ca3 arp_tbl +EXPORT_SYMBOL vmlinux 0x4ecac4a6 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0x4ed1d290 touch_buffer +EXPORT_SYMBOL vmlinux 0x4eddf401 block_truncate_page +EXPORT_SYMBOL vmlinux 0x4ee70f9d vio_h_cop_sync +EXPORT_SYMBOL vmlinux 0x4ee79552 bpf_map_get +EXPORT_SYMBOL vmlinux 0x4eeb1446 devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x4efb31bd locks_copy_lock +EXPORT_SYMBOL vmlinux 0x4efc6ead sget +EXPORT_SYMBOL vmlinux 0x4f04d2d7 posix_acl_chmod +EXPORT_SYMBOL vmlinux 0x4f0bc6b8 ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0x4f12d548 vma_alloc_folio +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f20d80b zstd_min_clevel +EXPORT_SYMBOL vmlinux 0x4f2250ba rtc_tm_to_time64 +EXPORT_SYMBOL vmlinux 0x4f331a96 jbd2_fc_begin_commit +EXPORT_SYMBOL vmlinux 0x4f3456a7 inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0x4f44d594 nd_device_unregister +EXPORT_SYMBOL vmlinux 0x4f4b97ab xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x4f5bf686 __check_sticky +EXPORT_SYMBOL vmlinux 0x4f7a01c1 scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0x4f7d4df1 proc_set_size +EXPORT_SYMBOL vmlinux 0x4f8cf699 find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0x4f9955fa ip_frag_next +EXPORT_SYMBOL vmlinux 0x4fa60bfd qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0x4fa65563 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x4fc92d1a pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0x4fd6591d bd_abort_claiming +EXPORT_SYMBOL vmlinux 0x4fda1208 key_move +EXPORT_SYMBOL vmlinux 0x4fdee897 i8042_command +EXPORT_SYMBOL vmlinux 0x4fe645c2 skb_copy +EXPORT_SYMBOL vmlinux 0x4fe7adce neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x4ffb59a7 pin_user_pages +EXPORT_SYMBOL vmlinux 0x4ffb59bf __SCK__tp_func_kfree +EXPORT_SYMBOL vmlinux 0x500190b5 inode_insert5 +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x500c1f9e simple_transaction_get +EXPORT_SYMBOL vmlinux 0x5015720d d_prune_aliases +EXPORT_SYMBOL vmlinux 0x5021f499 fb_class +EXPORT_SYMBOL vmlinux 0x5049ed8e blk_sync_queue +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x5067c0bb set_user_nice +EXPORT_SYMBOL vmlinux 0x5068a25e try_module_get +EXPORT_SYMBOL vmlinux 0x50697ff4 bio_add_page +EXPORT_SYMBOL vmlinux 0x5069f7ec inet_stream_ops +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +EXPORT_SYMBOL vmlinux 0x5079c9d7 __pte_index_size +EXPORT_SYMBOL vmlinux 0x507cd705 nvdimm_bus_unlock +EXPORT_SYMBOL vmlinux 0x5089f45f ip_send_check +EXPORT_SYMBOL vmlinux 0x509281b1 vio_unregister_driver +EXPORT_SYMBOL vmlinux 0x5092e84e __read_overflow2_field +EXPORT_SYMBOL vmlinux 0x50943806 vme_register_driver +EXPORT_SYMBOL vmlinux 0x50944630 seq_list_start_head_rcu +EXPORT_SYMBOL vmlinux 0x509b6291 _dev_emerg +EXPORT_SYMBOL vmlinux 0x509e7b78 blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0x50a4698c fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0x50b04638 audit_log +EXPORT_SYMBOL vmlinux 0x50b56086 path_has_submounts +EXPORT_SYMBOL vmlinux 0x50b73ce2 rfkill_find_type +EXPORT_SYMBOL vmlinux 0x50b80992 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50cf7585 hex2bin +EXPORT_SYMBOL vmlinux 0x50d035c2 vsscanf +EXPORT_SYMBOL vmlinux 0x50f662a2 put_watch_queue +EXPORT_SYMBOL vmlinux 0x50f91491 __genradix_ptr +EXPORT_SYMBOL vmlinux 0x510128cd max8925_bulk_read +EXPORT_SYMBOL vmlinux 0x5102a80e xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0x510633b8 elv_rb_find +EXPORT_SYMBOL vmlinux 0x510985bc __nd_driver_register +EXPORT_SYMBOL vmlinux 0x510ef41e serio_interrupt +EXPORT_SYMBOL vmlinux 0x5112ea30 release_sock +EXPORT_SYMBOL vmlinux 0x5121ff8f mdio_device_reset +EXPORT_SYMBOL vmlinux 0x5125587a register_console +EXPORT_SYMBOL vmlinux 0x512badd2 tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0x513089e5 fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0x513afc28 napi_gro_flush +EXPORT_SYMBOL vmlinux 0x513eafe3 tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x51494930 update_region +EXPORT_SYMBOL vmlinux 0x515ebac3 file_update_time +EXPORT_SYMBOL vmlinux 0x5160a4a5 pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x51641162 opal_unlock_from_suspend +EXPORT_SYMBOL vmlinux 0x51686c98 mmc_get_card +EXPORT_SYMBOL vmlinux 0x516a37f9 pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x517a8dc7 sock_wake_async +EXPORT_SYMBOL vmlinux 0x518d2bcf pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x519934a8 __blk_mq_alloc_disk +EXPORT_SYMBOL vmlinux 0x519bb3e7 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0x51de613a __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0x51e295c1 tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0x51e5b40d simple_open +EXPORT_SYMBOL vmlinux 0x51f2d83a cdc_parse_cdc_header +EXPORT_SYMBOL vmlinux 0x51f59768 serial8250_do_set_termios +EXPORT_SYMBOL vmlinux 0x51fc07fb phy_ethtool_nway_reset +EXPORT_SYMBOL vmlinux 0x52120089 blk_set_runtime_active +EXPORT_SYMBOL vmlinux 0x523040f7 of_graph_get_remote_node +EXPORT_SYMBOL vmlinux 0x523c08b7 sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0x525db41a csum_partial_copy_generic +EXPORT_SYMBOL vmlinux 0x526eef2c hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0x526fc8e1 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0x527c774a dquot_quota_off +EXPORT_SYMBOL vmlinux 0x52872d58 vfs_rename +EXPORT_SYMBOL vmlinux 0x52983a4f vme_master_write +EXPORT_SYMBOL vmlinux 0x52abbcfd ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0x52b4a854 nf_log_unset +EXPORT_SYMBOL vmlinux 0x52b72efb mmc_retune_unpause +EXPORT_SYMBOL vmlinux 0x52bd6876 scsi_partsize +EXPORT_SYMBOL vmlinux 0x52c5a818 dev_addr_mod +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52dcb85b __traceiter_kmalloc +EXPORT_SYMBOL vmlinux 0x52e896fd mmu_feature_keys +EXPORT_SYMBOL vmlinux 0x52ecbc75 crc_ccitt +EXPORT_SYMBOL vmlinux 0x52f0c00e pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x52f672d1 dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0x5308e350 __vmalloc_start +EXPORT_SYMBOL vmlinux 0x530b1e98 pm_suspend +EXPORT_SYMBOL vmlinux 0x53244726 elevator_alloc +EXPORT_SYMBOL vmlinux 0x532663f7 of_device_is_big_endian +EXPORT_SYMBOL vmlinux 0x532bf7ce __lock_sock_fast +EXPORT_SYMBOL vmlinux 0x5338184f ethtool_sprintf +EXPORT_SYMBOL vmlinux 0x5339f5cc pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x533ccd3f unregister_md_personality +EXPORT_SYMBOL vmlinux 0x5340ef13 rproc_coredump_using_sections +EXPORT_SYMBOL vmlinux 0x534abac0 param_ops_byte +EXPORT_SYMBOL vmlinux 0x5350e8d1 param_get_ushort +EXPORT_SYMBOL vmlinux 0x536068bb unregister_nls +EXPORT_SYMBOL vmlinux 0x5363032e write_inode_now +EXPORT_SYMBOL vmlinux 0x5364bf39 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x5379a4a2 seq_dentry +EXPORT_SYMBOL vmlinux 0x53a69258 ps2_begin_command +EXPORT_SYMBOL vmlinux 0x53ca0d70 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0x53d0549e security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x53d6d562 vm_map_pages +EXPORT_SYMBOL vmlinux 0x54066388 inode_io_list_del +EXPORT_SYMBOL vmlinux 0x5412c7c7 up +EXPORT_SYMBOL vmlinux 0x541e7733 xor_altivec_4 +EXPORT_SYMBOL vmlinux 0x542a4541 lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0x543cce69 dcache_readdir +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x544f16c0 from_kgid +EXPORT_SYMBOL vmlinux 0x54640f18 dst_discard_out +EXPORT_SYMBOL vmlinux 0x54925481 i8042_install_filter +EXPORT_SYMBOL vmlinux 0x5493b4c3 setattr_copy +EXPORT_SYMBOL vmlinux 0x549671fa iov_iter_revert +EXPORT_SYMBOL vmlinux 0x54a83537 reuseport_add_sock +EXPORT_SYMBOL vmlinux 0x54b1fac6 __ubsan_handle_load_invalid_value +EXPORT_SYMBOL vmlinux 0x54c15a91 phy_ethtool_get_wol +EXPORT_SYMBOL vmlinux 0x54d9e0f2 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x54e07a33 phy_attach_direct +EXPORT_SYMBOL vmlinux 0x54e3d5fd __pmd_frag_nr +EXPORT_SYMBOL vmlinux 0x54e3ebbc PageMovable +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x54fd0809 __dquot_free_space +EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit +EXPORT_SYMBOL vmlinux 0x5508535d tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x5510b9a2 migrate_page_copy +EXPORT_SYMBOL vmlinux 0x5513d441 inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x551cbcb1 inet6_getname +EXPORT_SYMBOL vmlinux 0x5538f550 eth_header_cache +EXPORT_SYMBOL vmlinux 0x55398bd6 fwnode_get_phy_id +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +EXPORT_SYMBOL vmlinux 0x55503be8 __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0x55686530 __arch_clear_user +EXPORT_SYMBOL vmlinux 0x556b5d62 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x55762a6e inode_init_always +EXPORT_SYMBOL vmlinux 0x5576732f tcp_parse_options +EXPORT_SYMBOL vmlinux 0x557e8488 napi_gro_frags +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x559421f3 d_exact_alias +EXPORT_SYMBOL vmlinux 0x559663a5 inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0x55a104bc inet_dgram_ops +EXPORT_SYMBOL vmlinux 0x55aa3c8f __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x55c3cff8 phy_driver_register +EXPORT_SYMBOL vmlinux 0x55ceb0a1 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x55e5ee64 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0x562e9776 fsl_lbc_find +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x56470118 __warn_printk +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x56ac2a7c _atomic_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x56c2b95b rtas_progress +EXPORT_SYMBOL vmlinux 0x56c3db64 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56cdb8d3 tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0x56d0ed6c i2c_put_adapter +EXPORT_SYMBOL vmlinux 0x56db2a99 inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x56e9fa1c xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0x56f6c7de lockref_get_not_zero +EXPORT_SYMBOL vmlinux 0x571228fa tcf_idr_release +EXPORT_SYMBOL vmlinux 0x572ae748 dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x57575f08 dmaengine_put +EXPORT_SYMBOL vmlinux 0x575fef9f arp_create +EXPORT_SYMBOL vmlinux 0x5761f4db ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0x576358a7 neigh_event_ns +EXPORT_SYMBOL vmlinux 0x57642cd5 vfs_get_tree +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x5792f848 strlcpy +EXPORT_SYMBOL vmlinux 0x57bbe09b i2c_register_driver +EXPORT_SYMBOL vmlinux 0x57bdb3e2 pskb_expand_head +EXPORT_SYMBOL vmlinux 0x57c10181 pci_pme_capable +EXPORT_SYMBOL vmlinux 0x57c40d0f phy_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x57db8fd6 utf8_normalize +EXPORT_SYMBOL vmlinux 0x57f38cdc qe_get_firmware_info +EXPORT_SYMBOL vmlinux 0x57f9ac7d __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x5818fe3c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x581f98da zlib_inflate +EXPORT_SYMBOL vmlinux 0x582702c2 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0x58272b1d prepare_creds +EXPORT_SYMBOL vmlinux 0x582b6275 xfrm_if_unregister_cb +EXPORT_SYMBOL vmlinux 0x5838f6c9 rtc_valid_tm +EXPORT_SYMBOL vmlinux 0x5840c036 agp_generic_free_by_type +EXPORT_SYMBOL vmlinux 0x587367a5 kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x5877efe7 unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x587b0954 kvasprintf +EXPORT_SYMBOL vmlinux 0x587b892e qe_get_num_of_risc +EXPORT_SYMBOL vmlinux 0x587e992b of_device_get_match_data +EXPORT_SYMBOL vmlinux 0x587f22d7 devmap_managed_key +EXPORT_SYMBOL vmlinux 0x5897a21d file_ns_capable +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58ccbb45 flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x58d45bec sock_queue_rcv_skb_reason +EXPORT_SYMBOL vmlinux 0x58d86620 skb_free_datagram +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x58eae8e9 dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x594bf15b ioport_map +EXPORT_SYMBOL vmlinux 0x594c1716 __folio_start_writeback +EXPORT_SYMBOL vmlinux 0x595d0946 empty_zero_page +EXPORT_SYMBOL vmlinux 0x595d8002 hdmi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x596ba765 xfrm_register_km +EXPORT_SYMBOL vmlinux 0x59757699 refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0x59853a0d jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x59894fa7 down_write_trylock +EXPORT_SYMBOL vmlinux 0x5992037e iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0x599a3365 max8998_read_reg +EXPORT_SYMBOL vmlinux 0x599b4888 qe_setbrg +EXPORT_SYMBOL vmlinux 0x599fb41c kvmalloc_node +EXPORT_SYMBOL vmlinux 0x59a2f0ee packing +EXPORT_SYMBOL vmlinux 0x59a849d1 devm_get_clk_from_child +EXPORT_SYMBOL vmlinux 0x59b4ac3e tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x59d22f62 srp_rport_put +EXPORT_SYMBOL vmlinux 0x59e36c48 dm_register_target +EXPORT_SYMBOL vmlinux 0x59f79935 single_release +EXPORT_SYMBOL vmlinux 0x59fb4741 iov_iter_alignment +EXPORT_SYMBOL vmlinux 0x5a025f7b arch_local_irq_restore +EXPORT_SYMBOL vmlinux 0x5a032030 gtm_put_timer16 +EXPORT_SYMBOL vmlinux 0x5a088923 up_write +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a165082 mmc_set_blocklen +EXPORT_SYMBOL vmlinux 0x5a290250 hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x5a320b35 netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0x5a414ad0 skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x5a44f8cb __crypto_memneq +EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle +EXPORT_SYMBOL vmlinux 0x5a747a44 scsi_remove_device +EXPORT_SYMBOL vmlinux 0x5a7d5a96 kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0x5a921311 strncmp +EXPORT_SYMBOL vmlinux 0x5a99a0d7 flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0x5a9f1d63 memmove +EXPORT_SYMBOL vmlinux 0x5aa07348 neigh_table_init +EXPORT_SYMBOL vmlinux 0x5ab00381 pm860x_page_bulk_read +EXPORT_SYMBOL vmlinux 0x5ab312c1 dget_parent +EXPORT_SYMBOL vmlinux 0x5ab97069 keyring_search +EXPORT_SYMBOL vmlinux 0x5ac7d5e0 lru_cache_add +EXPORT_SYMBOL vmlinux 0x5ad20d47 mdiobus_read_nested +EXPORT_SYMBOL vmlinux 0x5ad8d29f dst_alloc +EXPORT_SYMBOL vmlinux 0x5ae1154b __traceiter_kfree +EXPORT_SYMBOL vmlinux 0x5ae8eb36 bprm_change_interp +EXPORT_SYMBOL vmlinux 0x5b1add5d tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x5b21d36b rproc_del +EXPORT_SYMBOL vmlinux 0x5b3e9bca file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x5b43f1f1 rtas_service_present +EXPORT_SYMBOL vmlinux 0x5b48a4be backlight_force_update +EXPORT_SYMBOL vmlinux 0x5b4aaab7 tcp_child_process +EXPORT_SYMBOL vmlinux 0x5b4fa204 vfs_getattr +EXPORT_SYMBOL vmlinux 0x5b56860c vm_munmap +EXPORT_SYMBOL vmlinux 0x5b5f71b5 filemap_flush +EXPORT_SYMBOL vmlinux 0x5b6fc64b __mod_node_page_state +EXPORT_SYMBOL vmlinux 0x5b760467 proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x5b895359 register_netdevice +EXPORT_SYMBOL vmlinux 0x5b8b826e follow_pfn +EXPORT_SYMBOL vmlinux 0x5b9828c5 dma_spin_lock +EXPORT_SYMBOL vmlinux 0x5ba7dd75 mdio_driver_unregister +EXPORT_SYMBOL vmlinux 0x5bb62cd2 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0x5bc3175f phy_suspend +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5bdb7603 sock_copy_user_timeval +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5bed695b dev_mc_sync +EXPORT_SYMBOL vmlinux 0x5c07bdc2 path_is_under +EXPORT_SYMBOL vmlinux 0x5c29ae04 genphy_read_abilities +EXPORT_SYMBOL vmlinux 0x5c2e04b0 vme_bus_type +EXPORT_SYMBOL vmlinux 0x5c39d42b find_inode_rcu +EXPORT_SYMBOL vmlinux 0x5c3a8a4d folio_wait_private_2_killable +EXPORT_SYMBOL vmlinux 0x5c3c7387 kstrtoull +EXPORT_SYMBOL vmlinux 0x5c3e80d4 vlan_for_each +EXPORT_SYMBOL vmlinux 0x5c4eecd6 vfs_fadvise +EXPORT_SYMBOL vmlinux 0x5c50e2de config_item_init_type_name +EXPORT_SYMBOL vmlinux 0x5c7c6f0b ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0x5c905b8a xmon +EXPORT_SYMBOL vmlinux 0x5c933a60 vfs_tmpfile +EXPORT_SYMBOL vmlinux 0x5c9fad7f serial8250_do_pm +EXPORT_SYMBOL vmlinux 0x5cb645ba skb_ext_add +EXPORT_SYMBOL vmlinux 0x5cb6e3c5 nvdimm_bus_lock +EXPORT_SYMBOL vmlinux 0x5cb8a2c8 d_alloc +EXPORT_SYMBOL vmlinux 0x5cbc2f67 mipi_dsi_dcs_soft_reset +EXPORT_SYMBOL vmlinux 0x5cc2e252 devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0x5cc3fad3 igrab +EXPORT_SYMBOL vmlinux 0x5cea2d5e devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5d0f427f blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0x5d18d1b6 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x5d28e9cf sync_file_create +EXPORT_SYMBOL vmlinux 0x5d3a6483 vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x5d44d4f4 genphy_handle_interrupt_no_ack +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d611685 param_array_ops +EXPORT_SYMBOL vmlinux 0x5d935f04 blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x5d9c755f mdiobus_scan +EXPORT_SYMBOL vmlinux 0x5da3d0b9 scsi_print_result +EXPORT_SYMBOL vmlinux 0x5dbe948f vme_unregister_bridge +EXPORT_SYMBOL vmlinux 0x5dbf6458 devm_mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x5df49be6 radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e17a339 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x5e2d36ff netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0x5e3207aa end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x5e3726a7 netdev_name_in_use +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e386fcd free_netdev +EXPORT_SYMBOL vmlinux 0x5e3a81fc fscrypt_ioctl_get_policy +EXPORT_SYMBOL vmlinux 0x5e4a5bb0 security_binder_transfer_file +EXPORT_SYMBOL vmlinux 0x5e5ab12f con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x5e60397f scmd_printk +EXPORT_SYMBOL vmlinux 0x5e664b94 hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x5e7b7218 __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x5e7e9d86 flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0x5e81a4e6 jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0x5e8a3db9 i2c_transfer +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5e95b4a6 make_kuid +EXPORT_SYMBOL vmlinux 0x5e99dfca uaccess_flush_key +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5eb9f179 vme_irq_handler +EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed67945 ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5eddb914 lockref_put_return +EXPORT_SYMBOL vmlinux 0x5ee42fcb no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0x5ee5451c param_get_long +EXPORT_SYMBOL vmlinux 0x5efdd68b __tracepoint_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x5f098b2a in6addr_interfacelocal_allrouters +EXPORT_SYMBOL vmlinux 0x5f0b1ba9 mmc_of_parse_voltage +EXPORT_SYMBOL vmlinux 0x5f1550fe scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x5f2ba55e security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x5f4e5894 md_bitmap_update_sb +EXPORT_SYMBOL vmlinux 0x5f5441c8 __ubsan_handle_alignment_assumption +EXPORT_SYMBOL vmlinux 0x5f5c52b3 tcp_close +EXPORT_SYMBOL vmlinux 0x5f6b889c rproc_va_to_pa +EXPORT_SYMBOL vmlinux 0x5f6f9e16 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x5f78a480 mach_pseries +EXPORT_SYMBOL vmlinux 0x5f7aea97 mdiobus_write_nested +EXPORT_SYMBOL vmlinux 0x5f8a2728 isa_io_base +EXPORT_SYMBOL vmlinux 0x5f99383a ioread64_hi_lo +EXPORT_SYMBOL vmlinux 0x5fa96741 mount_bdev +EXPORT_SYMBOL vmlinux 0x5fb22284 skb_kill_datagram +EXPORT_SYMBOL vmlinux 0x5fb516f8 xa_find +EXPORT_SYMBOL vmlinux 0x5fbb4b00 mipi_dsi_dcs_set_tear_on +EXPORT_SYMBOL vmlinux 0x5fc67252 ioread16_rep +EXPORT_SYMBOL vmlinux 0x5fc72f0e alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x5fee1b2a dma_find_channel +EXPORT_SYMBOL vmlinux 0x5ff48486 fs_bio_set +EXPORT_SYMBOL vmlinux 0x5ffe041e pcibios_fixup_bus +EXPORT_SYMBOL vmlinux 0x600006f5 tso_build_hdr +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x6016531a gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x6025f9e3 dquot_resume +EXPORT_SYMBOL vmlinux 0x602ab1e5 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x6037a2f8 skb_checksum_setup +EXPORT_SYMBOL vmlinux 0x6047b7b2 devfreq_resume_device +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x605cdf31 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0x60608975 buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0x608249d9 dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0x608d0267 zstd_get_error_code +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x60956a2d dev_set_mtu +EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a3a17c flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0x60b5edff jbd2_fc_end_commit_fallback +EXPORT_SYMBOL vmlinux 0x60ba52ad fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x60c32933 compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0x60cb50d0 dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0x60d18a90 bpf_link_put +EXPORT_SYMBOL vmlinux 0x60d8ab30 vme_lm_get +EXPORT_SYMBOL vmlinux 0x60de2dff agp3_generic_tlbflush +EXPORT_SYMBOL vmlinux 0x60ee1bba bio_add_pc_page +EXPORT_SYMBOL vmlinux 0x60eeb489 pci_restore_state +EXPORT_SYMBOL vmlinux 0x60f3176e devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0x60f49b26 mipi_dsi_dcs_set_display_brightness_large +EXPORT_SYMBOL vmlinux 0x61119db7 phy_ethtool_get_stats +EXPORT_SYMBOL vmlinux 0x6115375c agp_allocate_memory +EXPORT_SYMBOL vmlinux 0x6118dc26 start_thread +EXPORT_SYMBOL vmlinux 0x6121bd54 dql_init +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x612f42ec max8925_reg_read +EXPORT_SYMBOL vmlinux 0x61347034 mb_cache_entry_delete_or_get +EXPORT_SYMBOL vmlinux 0x61349c11 netdev_offload_xstats_push_delta +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +EXPORT_SYMBOL vmlinux 0x618911fc numa_node +EXPORT_SYMBOL vmlinux 0x61956d8c ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0x61986b8e __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x619cb7dd simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x61b5f4e3 devm_devfreq_add_device +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61b8a10c pm8606_osc_enable +EXPORT_SYMBOL vmlinux 0x61c09467 genphy_c37_config_aneg +EXPORT_SYMBOL vmlinux 0x61c1ab51 iterate_supers_type +EXPORT_SYMBOL vmlinux 0x61cb246f _raw_write_lock +EXPORT_SYMBOL vmlinux 0x61de9e14 tcp_seq_start +EXPORT_SYMBOL vmlinux 0x61e139ef d_mark_dontcache +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x61f3b0fa tcp_release_cb +EXPORT_SYMBOL vmlinux 0x61f842a7 xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0x620306f2 xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x62037a4d of_graph_get_port_parent +EXPORT_SYMBOL vmlinux 0x6214aef2 cpufreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x62335f99 nf_log_register +EXPORT_SYMBOL vmlinux 0x62495703 seq_open_private +EXPORT_SYMBOL vmlinux 0x626847e8 set_bh_page +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x62747f32 radix__flush_tlb_range +EXPORT_SYMBOL vmlinux 0x627ee2e6 ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0x6280f5d8 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x628bffc1 __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x628f45b3 tso_start +EXPORT_SYMBOL vmlinux 0x62931eb5 netif_skb_features +EXPORT_SYMBOL vmlinux 0x62b06c30 finish_open +EXPORT_SYMBOL vmlinux 0x62bfa023 generic_fill_statx_attr +EXPORT_SYMBOL vmlinux 0x62d6031e sock_kzfree_s +EXPORT_SYMBOL vmlinux 0x62dfda83 dev_lstats_read +EXPORT_SYMBOL vmlinux 0x6315c42c zstd_get_params +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x631adeb9 vme_dma_list_add +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x632acf09 csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0x632c961f validate_slab_cache +EXPORT_SYMBOL vmlinux 0x634ab60f deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x63605acf drop_nlink +EXPORT_SYMBOL vmlinux 0x636b1c3c __neigh_create +EXPORT_SYMBOL vmlinux 0x636f0fab rproc_set_firmware +EXPORT_SYMBOL vmlinux 0x6376c4b2 __SetPageMovable +EXPORT_SYMBOL vmlinux 0x63885f33 to_nd_btt +EXPORT_SYMBOL vmlinux 0x639e2a9c generic_perform_write +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63bffd8e neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63d4bdbf inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63f2ea14 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x63f60bde xfrm_state_update +EXPORT_SYMBOL vmlinux 0x63fee6d6 pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0x63ff023f flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x643f3068 __tracepoint_spi_transfer_stop +EXPORT_SYMBOL vmlinux 0x64468406 tcp_conn_request +EXPORT_SYMBOL vmlinux 0x644c0511 pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0x64539a71 skb_checksum +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x64831cb8 xa_extract +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x649c9a32 touchscreen_parse_properties +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64aa92bf refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x64add76b tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0x64bbc288 string_unescape +EXPORT_SYMBOL vmlinux 0x64bf5454 sock_kmalloc +EXPORT_SYMBOL vmlinux 0x64cd1c40 inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0x64e70bbe blk_mq_free_tag_set +EXPORT_SYMBOL vmlinux 0x64e92984 __blk_alloc_disk +EXPORT_SYMBOL vmlinux 0x64ef5791 reuseport_stop_listen_sock +EXPORT_SYMBOL vmlinux 0x64f48fda iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x65045e10 kmem_cache_create +EXPORT_SYMBOL vmlinux 0x6504a996 fb_set_var +EXPORT_SYMBOL vmlinux 0x650b8ef1 unregister_cdrom +EXPORT_SYMBOL vmlinux 0x650fe3fc d_add +EXPORT_SYMBOL vmlinux 0x65124fa0 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0x6513433d get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x6514c1e6 flow_get_u32_src +EXPORT_SYMBOL vmlinux 0x65180707 ww_mutex_trylock +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x652ce9aa nla_memcmp +EXPORT_SYMBOL vmlinux 0x652e5288 __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0x653022fb skb_dequeue +EXPORT_SYMBOL vmlinux 0x653a2e83 blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0x653fd827 dm_put_device +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65464c16 clkdev_drop +EXPORT_SYMBOL vmlinux 0x654bd16b rproc_coredump_set_elf_info +EXPORT_SYMBOL vmlinux 0x655d7611 msi_bitmap_alloc_hwirqs +EXPORT_SYMBOL vmlinux 0x655e0b65 page_pool_return_skb_page +EXPORT_SYMBOL vmlinux 0x656c1a0e string_escape_mem +EXPORT_SYMBOL vmlinux 0x656e4a6e snprintf +EXPORT_SYMBOL vmlinux 0x657b9994 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0x65873462 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x65897306 kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0x658bf924 tty_port_put +EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset +EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc +EXPORT_SYMBOL vmlinux 0x65abf448 xfrm_state_add +EXPORT_SYMBOL vmlinux 0x65c0ba4c __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x65d9e877 cpufreq_register_notifier +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65e0d6d7 memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x65eea1a5 sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0x65f3fbef register_key_type +EXPORT_SYMBOL vmlinux 0x65f5797b xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x65f795d6 vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x65f7b852 inet_select_addr +EXPORT_SYMBOL vmlinux 0x6633f972 __traceiter_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x663e6da1 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0x66453244 nd_btt_arena_is_valid +EXPORT_SYMBOL vmlinux 0x665e2513 zstd_max_clevel +EXPORT_SYMBOL vmlinux 0x66628bf3 ip_tunnel_metadata_cnt +EXPORT_SYMBOL vmlinux 0x666863dc par_io_config_pin +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x66820b50 genphy_read_lpa +EXPORT_SYMBOL vmlinux 0x66abfd2f netlink_ack +EXPORT_SYMBOL vmlinux 0x66b3b516 crypto_kdf108_setkey +EXPORT_SYMBOL vmlinux 0x66b4cc41 kmemdup +EXPORT_SYMBOL vmlinux 0x66c2a4d9 skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x66c44cae ping_prot +EXPORT_SYMBOL vmlinux 0x66ca02ee cpumask_any_but +EXPORT_SYMBOL vmlinux 0x66d58a96 lookup_one_len +EXPORT_SYMBOL vmlinux 0x66d76ac8 flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0x67020c4a pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x67070fb8 of_find_device_by_node +EXPORT_SYMBOL vmlinux 0x67168cd0 skb_orphan_partial +EXPORT_SYMBOL vmlinux 0x6719c6c3 napi_disable +EXPORT_SYMBOL vmlinux 0x671be094 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0x671d9e5a __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x671fb047 filp_close +EXPORT_SYMBOL vmlinux 0x6738a06c vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0x673f815e agp_bridges +EXPORT_SYMBOL vmlinux 0x67412d2f ucc_slow_enable +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x677b3fcd xfrm6_rcv +EXPORT_SYMBOL vmlinux 0x678b96ec dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x679bd30d generic_write_checks +EXPORT_SYMBOL vmlinux 0x679e1eda md_finish_reshape +EXPORT_SYMBOL vmlinux 0x67a6e555 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x67a9a1d4 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x67b08207 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67fc472c gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0x680fc8ff pm_vt_switch_required +EXPORT_SYMBOL vmlinux 0x681a4e86 mipi_dsi_dcs_set_tear_off +EXPORT_SYMBOL vmlinux 0x681c0c99 vfs_mknod +EXPORT_SYMBOL vmlinux 0x681efaf9 inet_release +EXPORT_SYMBOL vmlinux 0x68226c6f phy_ethtool_get_sset_count +EXPORT_SYMBOL vmlinux 0x682b2665 security_sctp_assoc_established +EXPORT_SYMBOL vmlinux 0x6832af00 textsearch_prepare +EXPORT_SYMBOL vmlinux 0x685687b0 idr_replace +EXPORT_SYMBOL vmlinux 0x685a8a61 i2c_smbus_write_word_data +EXPORT_SYMBOL vmlinux 0x68678fb1 tcf_unregister_action +EXPORT_SYMBOL vmlinux 0x686818bb down_read +EXPORT_SYMBOL vmlinux 0x6871c711 tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0x687b6a16 kdbgetsymval +EXPORT_SYMBOL vmlinux 0x68860d1c radix__local_flush_tlb_mm +EXPORT_SYMBOL vmlinux 0x688f658e phy_stop +EXPORT_SYMBOL vmlinux 0x68a30ffe shared_processor +EXPORT_SYMBOL vmlinux 0x68acc5bd kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0x68b60d4a xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0x68c3f6be scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x68c45f47 can_nice +EXPORT_SYMBOL vmlinux 0x68c68407 of_find_property +EXPORT_SYMBOL vmlinux 0x68dcf627 vfs_get_link +EXPORT_SYMBOL vmlinux 0x69059013 rproc_detach +EXPORT_SYMBOL vmlinux 0x690855f2 get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0x6909440b __pgd_table_size +EXPORT_SYMBOL vmlinux 0x690f8f48 migrate_vma_setup +EXPORT_SYMBOL vmlinux 0x6914860c phy_error +EXPORT_SYMBOL vmlinux 0x6917a77e __traceiter_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x692d5fae mipi_dsi_device_unregister +EXPORT_SYMBOL vmlinux 0x693f11a9 irq_set_chip +EXPORT_SYMBOL vmlinux 0x694288bd pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0x69443e84 generic_read_dir +EXPORT_SYMBOL vmlinux 0x694e852e __alloc_skb +EXPORT_SYMBOL vmlinux 0x6950c6a9 __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0x69585523 __ksize +EXPORT_SYMBOL vmlinux 0x695b1132 secpath_set +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x6971447a rtc_month_days +EXPORT_SYMBOL vmlinux 0x697ed5f0 memcpy_and_pad +EXPORT_SYMBOL vmlinux 0x698b9533 input_register_handle +EXPORT_SYMBOL vmlinux 0x69902d0e __module_get +EXPORT_SYMBOL vmlinux 0x69bbf6ad i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL vmlinux 0x69dc9597 udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x69dd3b5b crc32_le +EXPORT_SYMBOL vmlinux 0x69de8757 vme_check_window +EXPORT_SYMBOL vmlinux 0x69e99d95 mmc_free_host +EXPORT_SYMBOL vmlinux 0x69f4e123 dma_map_resource +EXPORT_SYMBOL vmlinux 0x69f71948 i2c_smbus_read_byte +EXPORT_SYMBOL vmlinux 0x69feaa7a unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0x6a03751f sgl_free_order +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a128b75 proc_mkdir +EXPORT_SYMBOL vmlinux 0x6a19f00f ptp_clock_event +EXPORT_SYMBOL vmlinux 0x6a42709f kmem_cache_size +EXPORT_SYMBOL vmlinux 0x6a456879 tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0x6a4fa9db inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0x6a56f0dd ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages +EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a6e05bf kstrtou8 +EXPORT_SYMBOL vmlinux 0x6a82d8f8 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x6a98c582 genphy_suspend +EXPORT_SYMBOL vmlinux 0x6aa11aa6 sgl_free_n_order +EXPORT_SYMBOL vmlinux 0x6aac354e jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x6ab5b138 i2c_get_adapter +EXPORT_SYMBOL vmlinux 0x6ad38b50 seq_escape_mem +EXPORT_SYMBOL vmlinux 0x6ade6454 trace_print_array_seq +EXPORT_SYMBOL vmlinux 0x6aedc7f3 inet_listen +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6af1eae4 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0x6affcd9f dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x6b0a912b ptp_clock_unregister +EXPORT_SYMBOL vmlinux 0x6b10bee1 _copy_to_user +EXPORT_SYMBOL vmlinux 0x6b1f5c8c try_to_release_page +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b5ff116 generic_permission +EXPORT_SYMBOL vmlinux 0x6b734a75 kobject_set_name +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b858580 set_create_files_as +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6ba2828b bdevname +EXPORT_SYMBOL vmlinux 0x6ba376ec sk_alloc +EXPORT_SYMBOL vmlinux 0x6baa25f4 nf_log_set +EXPORT_SYMBOL vmlinux 0x6bbcfaaf max8998_bulk_read +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bc85c44 try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x6bd27fe4 phy_start +EXPORT_SYMBOL vmlinux 0x6bd9a1a4 dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0x6bdeab7f down_read_interruptible +EXPORT_SYMBOL vmlinux 0x6be16674 uart_resume_port +EXPORT_SYMBOL vmlinux 0x6be38b7e __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0x6bf181c1 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x6bf49262 _raw_write_unlock_bh +EXPORT_SYMBOL vmlinux 0x6c06059d scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0x6c08004d msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0x6c1b8faf rt6_lookup +EXPORT_SYMBOL vmlinux 0x6c28be5a vfio_info_add_capability +EXPORT_SYMBOL vmlinux 0x6c351077 d_instantiate_new +EXPORT_SYMBOL vmlinux 0x6c553e10 serial8250_register_8250_port +EXPORT_SYMBOL vmlinux 0x6c5804f3 tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0x6c5dae23 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c67897a ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0x6c6d21df from_kgid_munged +EXPORT_SYMBOL vmlinux 0x6c7643e5 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x6c7a0323 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x6c9da9ad rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x6ca41fbf bdev_end_io_acct +EXPORT_SYMBOL vmlinux 0x6ca86c9b rproc_elf_load_rsc_table +EXPORT_SYMBOL vmlinux 0x6cb283ec blk_put_queue +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6cc09945 ioread32_rep +EXPORT_SYMBOL vmlinux 0x6cccf01d truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x6cdcee40 skb_clone +EXPORT_SYMBOL vmlinux 0x6ce3bafb pcim_iounmap +EXPORT_SYMBOL vmlinux 0x6cecc88c mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0x6cf0d67d qe_get_num_of_snums +EXPORT_SYMBOL vmlinux 0x6d08951e mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x6d26b9ea set_disk_ro +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d3d886c i2c_smbus_read_block_data +EXPORT_SYMBOL vmlinux 0x6d58f69e agp3_generic_sizes +EXPORT_SYMBOL vmlinux 0x6d73c7e5 truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6d8266c2 security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0x6d8ccf04 dm_table_get_size +EXPORT_SYMBOL vmlinux 0x6d8f2642 genlmsg_put +EXPORT_SYMBOL vmlinux 0x6daa8e00 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x6db88152 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x6dba9051 xz_dec_microlzma_end +EXPORT_SYMBOL vmlinux 0x6dc0758d pci_pme_active +EXPORT_SYMBOL vmlinux 0x6dc56795 ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0x6dc70194 ptp_clock_index +EXPORT_SYMBOL vmlinux 0x6dcf857f uuid_null +EXPORT_SYMBOL vmlinux 0x6dd7acc8 sock_no_connect +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6df3876c wireless_spy_update +EXPORT_SYMBOL vmlinux 0x6df6d582 devfreq_remove_governor +EXPORT_SYMBOL vmlinux 0x6e075440 kernel_param_lock +EXPORT_SYMBOL vmlinux 0x6e1e6688 generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0x6e1ffb3d blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x6e25c874 netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0x6e35d0dc block_write_begin +EXPORT_SYMBOL vmlinux 0x6e4f59d8 dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0x6e5768c8 of_translate_address +EXPORT_SYMBOL vmlinux 0x6e5b714d vme_irq_generate +EXPORT_SYMBOL vmlinux 0x6e5b8651 xz_dec_run +EXPORT_SYMBOL vmlinux 0x6e5c6324 dma_resv_replace_fences +EXPORT_SYMBOL vmlinux 0x6e640405 kill_pid +EXPORT_SYMBOL vmlinux 0x6e6ba496 vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e7bcff7 md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x6e7e01e5 blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0x6e93cef4 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x6e9a448d __pte_frag_nr +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea22a59 unregister_qdisc +EXPORT_SYMBOL vmlinux 0x6ea2ad2b __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6ec3c82f clk_get +EXPORT_SYMBOL vmlinux 0x6ec42860 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0x6eed5ade kern_unmount_array +EXPORT_SYMBOL vmlinux 0x6ef712e0 kobject_init +EXPORT_SYMBOL vmlinux 0x6f08b1c6 mempool_exit +EXPORT_SYMBOL vmlinux 0x6f0d8ac8 sync_inodes_sb +EXPORT_SYMBOL vmlinux 0x6f0dd8a8 iw_handler_set_spy +EXPORT_SYMBOL vmlinux 0x6f1283ee idr_for_each +EXPORT_SYMBOL vmlinux 0x6f192c42 arp_xmit +EXPORT_SYMBOL vmlinux 0x6f343762 input_grab_device +EXPORT_SYMBOL vmlinux 0x6f4230ce tcp_req_err +EXPORT_SYMBOL vmlinux 0x6f43f72f pcim_iomap +EXPORT_SYMBOL vmlinux 0x6f4a59e4 sort_r +EXPORT_SYMBOL vmlinux 0x6f6104fc netdev_sk_get_lowest_dev +EXPORT_SYMBOL vmlinux 0x6f7e9f8f filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0x6f841220 tcp_ioctl +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6f92fd3a ps2_handle_ack +EXPORT_SYMBOL vmlinux 0x6fb49676 queue_rcu_work +EXPORT_SYMBOL vmlinux 0x6fb95257 jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0x6fcb87a1 touch_softlockup_watchdog +EXPORT_SYMBOL vmlinux 0x6fd545fe agp_generic_remove_memory +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x6fdb9cf7 scsi_remove_host +EXPORT_SYMBOL vmlinux 0x6fef80f2 skb_eth_gso_segment +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x70078b1a vfio_unpin_pages +EXPORT_SYMBOL vmlinux 0x7011ec67 pci_resize_resource +EXPORT_SYMBOL vmlinux 0x70252c00 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x70262f14 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x702c067e simple_get_link +EXPORT_SYMBOL vmlinux 0x703346f4 proc_remove +EXPORT_SYMBOL vmlinux 0x703602e8 rc5t583_ext_power_req_config +EXPORT_SYMBOL vmlinux 0x703ee124 netdev_notify_peers +EXPORT_SYMBOL vmlinux 0x704115b3 qe_usb_clock_set +EXPORT_SYMBOL vmlinux 0x7049a0fe phy_drivers_unregister +EXPORT_SYMBOL vmlinux 0x7054a3e4 request_dma +EXPORT_SYMBOL vmlinux 0x706b5a02 inode_init_once +EXPORT_SYMBOL vmlinux 0x706cc294 dump_skip +EXPORT_SYMBOL vmlinux 0x706cc5dd tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0x707e48e4 md_check_recovery +EXPORT_SYMBOL vmlinux 0x707f4cb1 vfs_get_fsid +EXPORT_SYMBOL vmlinux 0x70830802 netdev_offload_xstats_get +EXPORT_SYMBOL vmlinux 0x70858923 to_nd_pfn +EXPORT_SYMBOL vmlinux 0x708897df backlight_device_register +EXPORT_SYMBOL vmlinux 0x708ce9a8 phy_connect_direct +EXPORT_SYMBOL vmlinux 0x708dd4f3 pm8606_osc_disable +EXPORT_SYMBOL vmlinux 0x70a748f7 finalize_exec +EXPORT_SYMBOL vmlinux 0x70ba0be8 dev_uc_del +EXPORT_SYMBOL vmlinux 0x70c28793 fc_mount +EXPORT_SYMBOL vmlinux 0x70ce8481 super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0x70e41463 d_drop +EXPORT_SYMBOL vmlinux 0x70e8819c phy_print_status +EXPORT_SYMBOL vmlinux 0x70f36afb device_get_mac_address +EXPORT_SYMBOL vmlinux 0x70f8d4a7 mdiobus_is_registered_device +EXPORT_SYMBOL vmlinux 0x7103acd6 jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0x710499c7 sock_pfree +EXPORT_SYMBOL vmlinux 0x710929e9 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x7131bf58 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x71380ac8 cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0x7145b7b7 pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0x714df03f tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x715a1a8f pipe_lock +EXPORT_SYMBOL vmlinux 0x715a5ed0 vprintk +EXPORT_SYMBOL vmlinux 0x7169cd0a of_find_i2c_device_by_node +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x7180db37 phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0x7183d544 sock_init_data +EXPORT_SYMBOL vmlinux 0x7186f151 posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x7194b54c scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0x7199f832 cpumask_any_and_distribute +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71ad0660 pci_domain_nr +EXPORT_SYMBOL vmlinux 0x71ada8e0 dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0x71ae2a9d mmc_wait_for_req_done +EXPORT_SYMBOL vmlinux 0x71be1067 blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0x71bf12d3 xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0x71d10994 rtnl_notify +EXPORT_SYMBOL vmlinux 0x71dbc141 netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0x71dd7abe __bio_advance +EXPORT_SYMBOL vmlinux 0x71df4241 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x71fc29fe sock_rfree +EXPORT_SYMBOL vmlinux 0x720a27a7 __register_blkdev +EXPORT_SYMBOL vmlinux 0x721afa50 noop_llseek +EXPORT_SYMBOL vmlinux 0x721d10cc __i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0x7235e251 netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0x7249a78b textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x724eb081 xsk_get_pool_from_qid +EXPORT_SYMBOL vmlinux 0x72560d0e proc_symlink +EXPORT_SYMBOL vmlinux 0x725d4d14 jbd2_fc_end_commit +EXPORT_SYMBOL vmlinux 0x725e1964 devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0x72608c0e do_uaccess_flush +EXPORT_SYMBOL vmlinux 0x72a50966 ucc_fast_disable +EXPORT_SYMBOL vmlinux 0x72b243d4 free_dma +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72bd24e3 fb_set_suspend +EXPORT_SYMBOL vmlinux 0x72c98139 __arch_hweight64 +EXPORT_SYMBOL vmlinux 0x72e07fb7 param_ops_string +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72ee200a __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0x72f2e960 blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0x72fdca2f generic_file_read_iter +EXPORT_SYMBOL vmlinux 0x730043d2 dev_load +EXPORT_SYMBOL vmlinux 0x730081e9 mod_node_page_state +EXPORT_SYMBOL vmlinux 0x730d0afb has_capability_noaudit +EXPORT_SYMBOL vmlinux 0x73109446 down_interruptible +EXPORT_SYMBOL vmlinux 0x7315a4e9 twl6030_mmc_card_detect_config +EXPORT_SYMBOL vmlinux 0x7315c4a2 eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0x731a747a pci_io_base +EXPORT_SYMBOL vmlinux 0x732dd326 groups_free +EXPORT_SYMBOL vmlinux 0x7336e2f4 rproc_report_crash +EXPORT_SYMBOL vmlinux 0x733fb28e md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x734a7780 lock_sock_nested +EXPORT_SYMBOL vmlinux 0x73531024 kthread_create_on_node +EXPORT_SYMBOL vmlinux 0x736513e5 fb_validate_mode +EXPORT_SYMBOL vmlinux 0x736997d7 netdev_printk +EXPORT_SYMBOL vmlinux 0x736b13e8 inode_to_bdi +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x738fd1c4 pci_select_bars +EXPORT_SYMBOL vmlinux 0x73998efa cpm_muram_free_addr +EXPORT_SYMBOL vmlinux 0x739fd00f __SCK__tp_func_module_get +EXPORT_SYMBOL vmlinux 0x73a0445b blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x73a88432 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73abc5fc current_time +EXPORT_SYMBOL vmlinux 0x73aebe66 tcp_disconnect +EXPORT_SYMBOL vmlinux 0x73b2e30c xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x73e69f03 netdev_info +EXPORT_SYMBOL vmlinux 0x73ed600c blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x7410aba2 strreplace +EXPORT_SYMBOL vmlinux 0x7412ed5b kvfree_sensitive +EXPORT_SYMBOL vmlinux 0x74181e23 dquot_destroy +EXPORT_SYMBOL vmlinux 0x742578a5 wait_for_random_bytes +EXPORT_SYMBOL vmlinux 0x7429cfa3 flow_rule_match_control +EXPORT_SYMBOL vmlinux 0x7429e20c kstrtos8 +EXPORT_SYMBOL vmlinux 0x7439fd86 radix_tree_lookup +EXPORT_SYMBOL vmlinux 0x743a6c3a fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x7454da01 proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x747c472d netdev_warn +EXPORT_SYMBOL vmlinux 0x7483dc59 pci_dev_present +EXPORT_SYMBOL vmlinux 0x748842e0 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x74916a4e flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0x74a2b4a1 kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0x74b4b1ee jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x74b8e674 slhc_toss +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74c4ad1d keyring_clear +EXPORT_SYMBOL vmlinux 0x74c69f32 tty_hung_up_p +EXPORT_SYMBOL vmlinux 0x74da2d5b giveup_altivec +EXPORT_SYMBOL vmlinux 0x74dfdfae jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74f1cd69 __cpu_present_mask +EXPORT_SYMBOL vmlinux 0x74f4e9f2 nvdimm_namespace_locked +EXPORT_SYMBOL vmlinux 0x75041eb3 param_get_string +EXPORT_SYMBOL vmlinux 0x75207e86 rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0x75242f91 udp_disconnect +EXPORT_SYMBOL vmlinux 0x7530d93a skb_checksum_help +EXPORT_SYMBOL vmlinux 0x7535c3ab mmput_async +EXPORT_SYMBOL vmlinux 0x7538b132 agp_off +EXPORT_SYMBOL vmlinux 0x7552028a thread_group_exited +EXPORT_SYMBOL vmlinux 0x755f4ba3 blake2s_compress_generic +EXPORT_SYMBOL vmlinux 0x757e6360 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x75808505 neigh_update +EXPORT_SYMBOL vmlinux 0x75821bb0 send_sig_info +EXPORT_SYMBOL vmlinux 0x75aa6ca1 __kernel_virt_start +EXPORT_SYMBOL vmlinux 0x75bd0deb set_anon_super_fc +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75c6af31 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0x75d0deb9 nsecs_to_jiffies64 +EXPORT_SYMBOL vmlinux 0x75d499dd vmcore_add_device_dump +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x7610754a __register_nls +EXPORT_SYMBOL vmlinux 0x7618af39 hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0x7624249e dim_park_tired +EXPORT_SYMBOL vmlinux 0x763c5b24 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x76454900 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x765ff474 crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x766a9862 nf_register_net_hooks +EXPORT_SYMBOL vmlinux 0x766dd696 touchscreen_report_pos +EXPORT_SYMBOL vmlinux 0x7682ba4e __copy_overflow +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x76cc5cb8 dm_unregister_target +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76e9c0de __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x76f14bac vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x76fa2121 scsi_print_sense +EXPORT_SYMBOL vmlinux 0x7709c7ba scsi_device_put +EXPORT_SYMBOL vmlinux 0x77234d37 downgrade_write +EXPORT_SYMBOL vmlinux 0x772e47a0 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0x7732159c free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x77338818 of_chosen +EXPORT_SYMBOL vmlinux 0x77358855 iomem_resource +EXPORT_SYMBOL vmlinux 0x773b3cea tcf_qevent_handle +EXPORT_SYMBOL vmlinux 0x773fa409 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0x775f8299 mmc_gpiod_request_cd_irq +EXPORT_SYMBOL vmlinux 0x776272e1 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x7771dd4a pci_scan_slot +EXPORT_SYMBOL vmlinux 0x77a615ba vm_node_stat +EXPORT_SYMBOL vmlinux 0x77b7b17e devm_request_resource +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77d1e7a9 qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0x77ddb14c param_ops_ushort +EXPORT_SYMBOL vmlinux 0x77e7396d kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x77f183e9 __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0x77f24ca7 blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0x77fee50d register_sysctl_table +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x7824cd9b neigh_proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x783d1dc0 mipi_dsi_device_register_full +EXPORT_SYMBOL vmlinux 0x7846af3e __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x7862a80d eth_header_cache_update +EXPORT_SYMBOL vmlinux 0x7864c89e pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0x786c6050 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x787457ed netlink_set_err +EXPORT_SYMBOL vmlinux 0x787a5830 srp_reconnect_rport +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x78851d2f _outsb +EXPORT_SYMBOL vmlinux 0x78a055b1 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78a9e905 _numa_mem_ +EXPORT_SYMBOL vmlinux 0x78b3d6d1 flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0x78b887ed vsprintf +EXPORT_SYMBOL vmlinux 0x78bfc7ae fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0x78c2ea5d netif_schedule_queue +EXPORT_SYMBOL vmlinux 0x78d7e341 of_graph_get_remote_port_parent +EXPORT_SYMBOL vmlinux 0x78d8a653 __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x78ddd60d netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0x78decafa make_bad_inode +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78e72707 refresh_frequency_limits +EXPORT_SYMBOL vmlinux 0x79240aa2 phy_attached_info +EXPORT_SYMBOL vmlinux 0x79280ffb con_is_bound +EXPORT_SYMBOL vmlinux 0x792f8fa7 jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x7938b3ae crypto_sha512_update +EXPORT_SYMBOL vmlinux 0x79581232 blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0x7959e0f8 inc_node_state +EXPORT_SYMBOL vmlinux 0x79716c11 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0x7981bb88 fb_pan_display +EXPORT_SYMBOL vmlinux 0x7984eefc key_update +EXPORT_SYMBOL vmlinux 0x79a33f85 vme_get_size +EXPORT_SYMBOL vmlinux 0x79aac071 __devm_mdiobus_register +EXPORT_SYMBOL vmlinux 0x79aaf4f1 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0x79b451d1 phy_advertise_supported +EXPORT_SYMBOL vmlinux 0x79bc8ae3 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x79c77b6e dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x79d6e540 __cpu_dying_mask +EXPORT_SYMBOL vmlinux 0x79f8362c invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a1ad0d1 __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a24aeeb read_cache_page +EXPORT_SYMBOL vmlinux 0x7a2c881a truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0x7a2d6c97 __debugger_ipi +EXPORT_SYMBOL vmlinux 0x7a2ff57e security_current_getsecid_subj +EXPORT_SYMBOL vmlinux 0x7a371b30 begin_new_exec +EXPORT_SYMBOL vmlinux 0x7a53a06d flow_indr_dev_exists +EXPORT_SYMBOL vmlinux 0x7a676c12 unregister_key_type +EXPORT_SYMBOL vmlinux 0x7a6b018e vc_cons +EXPORT_SYMBOL vmlinux 0x7a71741f __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0x7a74ff8a rproc_of_parse_firmware +EXPORT_SYMBOL vmlinux 0x7a7ca267 sk_common_release +EXPORT_SYMBOL vmlinux 0x7a7de0d6 mempool_init_node +EXPORT_SYMBOL vmlinux 0x7a89f209 bdi_register +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7a968137 ucc_slow_restart_tx +EXPORT_SYMBOL vmlinux 0x7a9cd11e dev_mc_add +EXPORT_SYMBOL vmlinux 0x7aa0414e kset_unregister +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7aaa4f0a ptp_find_pin_unlocked +EXPORT_SYMBOL vmlinux 0x7ab5f8c3 _insw_ns +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7aba86db node_to_cpumask_map +EXPORT_SYMBOL vmlinux 0x7abdb6c8 tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0x7abfd1c3 drop_super_exclusive +EXPORT_SYMBOL vmlinux 0x7ac99f49 pci_free_irq +EXPORT_SYMBOL vmlinux 0x7acce1c7 input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt +EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7ae5d317 qe_get_snum +EXPORT_SYMBOL vmlinux 0x7aff5872 pci_scan_bus +EXPORT_SYMBOL vmlinux 0x7b165a7b qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0x7b2dd59b xfrm_init_replay +EXPORT_SYMBOL vmlinux 0x7b334aeb seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0x7b34a379 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x7b37d4a7 _find_first_zero_bit +EXPORT_SYMBOL vmlinux 0x7b3efaf6 pm860x_reg_read +EXPORT_SYMBOL vmlinux 0x7b422bde pci_read_vpd +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b70eb94 cdev_device_del +EXPORT_SYMBOL vmlinux 0x7b744fd7 phy_write_paged +EXPORT_SYMBOL vmlinux 0x7babe858 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0x7bbccd05 nr_node_ids +EXPORT_SYMBOL vmlinux 0x7bcf8172 devm_backlight_device_register +EXPORT_SYMBOL vmlinux 0x7bd457f4 security_inode_copy_up +EXPORT_SYMBOL vmlinux 0x7bd8f50d radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0x7be79b7d input_unregister_handle +EXPORT_SYMBOL vmlinux 0x7bed09d2 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x7beef58b register_md_personality +EXPORT_SYMBOL vmlinux 0x7befa3a7 folio_alloc +EXPORT_SYMBOL vmlinux 0x7c1066d3 __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c2ff90b phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0x7c46233a cpufreq_quick_get +EXPORT_SYMBOL vmlinux 0x7c515fab xfrm_lookup +EXPORT_SYMBOL vmlinux 0x7c528892 tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0x7c63a098 radix_tree_insert +EXPORT_SYMBOL vmlinux 0x7c66dffa simple_release_fs +EXPORT_SYMBOL vmlinux 0x7c6fb751 mipi_dsi_dcs_get_pixel_format +EXPORT_SYMBOL vmlinux 0x7c7107fd of_device_is_available +EXPORT_SYMBOL vmlinux 0x7c75265b __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0x7c86e0ce tcf_block_get +EXPORT_SYMBOL vmlinux 0x7c9ca58f __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x7cafd294 netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0x7cc12c52 of_phy_register_fixed_link +EXPORT_SYMBOL vmlinux 0x7ccd7585 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0x7cce52a0 eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0x7ccec940 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +EXPORT_SYMBOL vmlinux 0x7ce58981 kvrealloc +EXPORT_SYMBOL vmlinux 0x7ce74f2c xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x7cf35220 vme_master_free +EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation +EXPORT_SYMBOL vmlinux 0x7d008316 jbd2_journal_grab_journal_head +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d316164 misc_register +EXPORT_SYMBOL vmlinux 0x7d39b8b1 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d501e0a netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0x7d5e1008 __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x7d5ee36a generic_fadvise +EXPORT_SYMBOL vmlinux 0x7d74d522 kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x7d845f0e _raw_spin_lock_irq +EXPORT_SYMBOL vmlinux 0x7da8f93b xor_altivec_2 +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7dc29279 scsi_register_driver +EXPORT_SYMBOL vmlinux 0x7dc5ffa7 tc_skb_ext_tc_disable +EXPORT_SYMBOL vmlinux 0x7dc686bd gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0x7dc97879 rtas_get_error_log_max +EXPORT_SYMBOL vmlinux 0x7dca2088 netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0x7dcd10c3 scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0x7dd1e896 input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0x7dd7d828 netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0x7dd920fa free_buffer_head +EXPORT_SYMBOL vmlinux 0x7debb4db ip_setsockopt +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7df6a07f netif_set_real_num_queues +EXPORT_SYMBOL vmlinux 0x7dfc8277 isa_mem_base +EXPORT_SYMBOL vmlinux 0x7dfcbd70 seq_open +EXPORT_SYMBOL vmlinux 0x7e07473d devfreq_get_freq_range +EXPORT_SYMBOL vmlinux 0x7e089a22 mac_find_mode +EXPORT_SYMBOL vmlinux 0x7e13cad5 dma_resv_init +EXPORT_SYMBOL vmlinux 0x7e2d6436 ida_free +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e33ea24 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x7e434011 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0x7e477d8f adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0x7e4cdc54 __cond_resched_rwlock_write +EXPORT_SYMBOL vmlinux 0x7e50ebef mmc_gpio_get_ro +EXPORT_SYMBOL vmlinux 0x7e592fc5 xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0x7e59b5ee mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0x7e5ac945 netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0x7e628bb3 submit_bh +EXPORT_SYMBOL vmlinux 0x7e669f9c shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0x7e6c997a jbd2_journal_finish_inode_data_buffers +EXPORT_SYMBOL vmlinux 0x7e7edfaf xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0x7e7f34c9 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x7e881078 devm_rproc_add +EXPORT_SYMBOL vmlinux 0x7e8d6e5e scsi_report_opcode +EXPORT_SYMBOL vmlinux 0x7e9c2ce5 dm_table_event +EXPORT_SYMBOL vmlinux 0x7e9d7f81 inet6_release +EXPORT_SYMBOL vmlinux 0x7ea29532 mmc_detect_card_removed +EXPORT_SYMBOL vmlinux 0x7eb964ab netpoll_cleanup +EXPORT_SYMBOL vmlinux 0x7eeb6523 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x7ef4f5df register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f0e9f8d sk_net_capable +EXPORT_SYMBOL vmlinux 0x7f146756 bio_split +EXPORT_SYMBOL vmlinux 0x7f17ede6 xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x7f19e998 ps2_cmd_aborted +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f2520db scsi_scan_host +EXPORT_SYMBOL vmlinux 0x7f3e168b __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x7f405b81 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x7f471655 netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0x7f52071a net_dim +EXPORT_SYMBOL vmlinux 0x7f5b4fe4 sg_free_table +EXPORT_SYMBOL vmlinux 0x7f63d046 cpufreq_generic_suspend +EXPORT_SYMBOL vmlinux 0x7f675e61 rproc_shutdown +EXPORT_SYMBOL vmlinux 0x7f71fb97 xa_load +EXPORT_SYMBOL vmlinux 0x7f775920 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0x7f7aff6e balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7f89c0ba get_thermal_instance +EXPORT_SYMBOL vmlinux 0x7f8cd32d tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0x7f8f2257 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x7fb50cd9 mark_page_accessed +EXPORT_SYMBOL vmlinux 0x7fbaa05c kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0x7fcf0729 dma_fence_array_first +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x7ff2be9b gro_cells_receive +EXPORT_SYMBOL vmlinux 0x8009e77d migrate_vma_pages +EXPORT_SYMBOL vmlinux 0x803ddbb6 __posix_acl_create +EXPORT_SYMBOL vmlinux 0x8056db6d __mmap_lock_do_trace_acquire_returned +EXPORT_SYMBOL vmlinux 0x805e5fd6 sock_register +EXPORT_SYMBOL vmlinux 0x8073f82b ip_output +EXPORT_SYMBOL vmlinux 0x8080f889 max8998_write_reg +EXPORT_SYMBOL vmlinux 0x8088b139 dev_get_by_name +EXPORT_SYMBOL vmlinux 0x808ca733 of_translate_dma_address +EXPORT_SYMBOL vmlinux 0x809712ff hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x80a98a1b ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x80ae335b inet_del_offload +EXPORT_SYMBOL vmlinux 0x80afe275 put_cmsg +EXPORT_SYMBOL vmlinux 0x80b1d40b __put_user_ns +EXPORT_SYMBOL vmlinux 0x80ca5026 _bin2bcd +EXPORT_SYMBOL vmlinux 0x80d68d3e fb_register_client +EXPORT_SYMBOL vmlinux 0x80db4132 mipi_dsi_dcs_get_power_mode +EXPORT_SYMBOL vmlinux 0x80e5f86f fscrypt_fname_alloc_buffer +EXPORT_SYMBOL vmlinux 0x80ef519e thermal_zone_device_critical +EXPORT_SYMBOL vmlinux 0x810bef7e sg_free_append_table +EXPORT_SYMBOL vmlinux 0x8111980a tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x8112b3d2 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x8115accb nexthop_res_grp_activity_update +EXPORT_SYMBOL vmlinux 0x81188c30 match_string +EXPORT_SYMBOL vmlinux 0x81533963 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x816347c6 agp_device_command +EXPORT_SYMBOL vmlinux 0x816b3485 vm_insert_page +EXPORT_SYMBOL vmlinux 0x8174203d is_nd_btt +EXPORT_SYMBOL vmlinux 0x818416e1 scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x8186d58d vlan_vid_del +EXPORT_SYMBOL vmlinux 0x818edf97 cpm_muram_alloc +EXPORT_SYMBOL vmlinux 0x81a0642d __register_chrdev +EXPORT_SYMBOL vmlinux 0x81a07f4e _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0x81a1eb59 utf8_unload +EXPORT_SYMBOL vmlinux 0x81b20e8b ucc_fast_transmit_on_demand +EXPORT_SYMBOL vmlinux 0x81c0a84f rtas_set_indicator +EXPORT_SYMBOL vmlinux 0x81c5aa4d inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x81c85301 nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0x81ce0902 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x81cf22e8 agp_generic_free_gatt_table +EXPORT_SYMBOL vmlinux 0x81db43b9 jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81e37da9 serial8250_set_isa_configurator +EXPORT_SYMBOL vmlinux 0x820c47b8 of_get_parent +EXPORT_SYMBOL vmlinux 0x8213224f tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0x821559d6 __vmalloc_end +EXPORT_SYMBOL vmlinux 0x821743d8 __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x82248dec backlight_device_get_by_type +EXPORT_SYMBOL vmlinux 0x822abeef pci_get_class +EXPORT_SYMBOL vmlinux 0x823964ce unpin_user_page_range_dirty_lock +EXPORT_SYMBOL vmlinux 0x823caa00 blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0x823ea220 fd_install +EXPORT_SYMBOL vmlinux 0x824640c1 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL vmlinux 0x8246c2e5 elv_rb_add +EXPORT_SYMBOL vmlinux 0x8252f0cb load_nls_default +EXPORT_SYMBOL vmlinux 0x825bf613 dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x828dfc98 xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x829231f9 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x82b40c67 __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x82babd70 unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x82c87ad5 nr_online_nodes +EXPORT_SYMBOL vmlinux 0x82cba53b km_state_notify +EXPORT_SYMBOL vmlinux 0x82def727 tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x82ea5418 agp_backend_acquire +EXPORT_SYMBOL vmlinux 0x82ec5a6e napi_build_skb +EXPORT_SYMBOL vmlinux 0x82f0b7fe __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0x82f48ad3 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0x82f4adbd _copy_from_iter +EXPORT_SYMBOL vmlinux 0x8321c314 io_uring_get_socket +EXPORT_SYMBOL vmlinux 0x8333c28e config_group_find_item +EXPORT_SYMBOL vmlinux 0x833513e7 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x833a6ee3 param_get_byte +EXPORT_SYMBOL vmlinux 0x834658ac cmxgcr_lock +EXPORT_SYMBOL vmlinux 0x8347123f netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x835b71cd udp_read_sock +EXPORT_SYMBOL vmlinux 0x8361bee2 netdev_change_features +EXPORT_SYMBOL vmlinux 0x837a2223 __kfree_skb +EXPORT_SYMBOL vmlinux 0x837b7b09 __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0x837b829b vfs_mkdir +EXPORT_SYMBOL vmlinux 0x8382466d unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0x8384cc91 cdrom_check_events +EXPORT_SYMBOL vmlinux 0x838d2bc8 siphash_3u32 +EXPORT_SYMBOL vmlinux 0x838de657 flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0x839266b1 blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x83992fb2 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0x83b2094d __cond_resched_rwlock_read +EXPORT_SYMBOL vmlinux 0x83ba8346 udplite_prot +EXPORT_SYMBOL vmlinux 0x83c9c186 alloc_anon_inode +EXPORT_SYMBOL vmlinux 0x840342c6 sgl_free +EXPORT_SYMBOL vmlinux 0x8409d6ca blk_pre_runtime_resume +EXPORT_SYMBOL vmlinux 0x8412353c xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x841473af audit_log_start +EXPORT_SYMBOL vmlinux 0x84176b7f vme_unregister_driver +EXPORT_SYMBOL vmlinux 0x842c8e9d ioread16 +EXPORT_SYMBOL vmlinux 0x84478dae gro_cells_init +EXPORT_SYMBOL vmlinux 0x845e13e1 xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x846a4f05 xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0x8474c8d1 of_get_cpu_node +EXPORT_SYMBOL vmlinux 0x8478f2f5 vme_register_error_handler +EXPORT_SYMBOL vmlinux 0x84823cf3 nla_strscpy +EXPORT_SYMBOL vmlinux 0x848bebea fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0x848d372e iowrite8 +EXPORT_SYMBOL vmlinux 0x84952a77 dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0x84a0ca4d bitmap_zalloc_node +EXPORT_SYMBOL vmlinux 0x84aeb25f dm_table_get_mode +EXPORT_SYMBOL vmlinux 0x84bd69bf dq_data_lock +EXPORT_SYMBOL vmlinux 0x84c03e9a rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0x84c1ad08 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x84cd3fdc __post_watch_notification +EXPORT_SYMBOL vmlinux 0x84d19106 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0x84f0bbb2 add_to_pipe +EXPORT_SYMBOL vmlinux 0x84f3c134 proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x8523131c set_capacity +EXPORT_SYMBOL vmlinux 0x85231a80 dump_page +EXPORT_SYMBOL vmlinux 0x85250ccc xa_store_range +EXPORT_SYMBOL vmlinux 0x8525d654 pldmfw_flash_image +EXPORT_SYMBOL vmlinux 0x8526541b make_kgid +EXPORT_SYMBOL vmlinux 0x852b221f nf_register_sockopt +EXPORT_SYMBOL vmlinux 0x8530e5f1 udp_poll +EXPORT_SYMBOL vmlinux 0x8538c5b7 simple_rename +EXPORT_SYMBOL vmlinux 0x85649fae md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x857121e4 genphy_check_and_restart_aneg +EXPORT_SYMBOL vmlinux 0x85771d49 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0x858c0146 zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x8591d7d5 ledtrig_mtd_activity +EXPORT_SYMBOL vmlinux 0x8597eb47 plpar_hcall +EXPORT_SYMBOL vmlinux 0x859f557e pci_irq_vector +EXPORT_SYMBOL vmlinux 0x85b5e625 rfkill_set_states +EXPORT_SYMBOL vmlinux 0x85bd1608 __request_region +EXPORT_SYMBOL vmlinux 0x85d14718 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x85d53731 page_pool_put_page_bulk +EXPORT_SYMBOL vmlinux 0x85da2062 dev_printk_emit +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85e189b5 dput +EXPORT_SYMBOL vmlinux 0x85efc7e0 zero_pfn +EXPORT_SYMBOL vmlinux 0x85f2cbf4 mmc_put_card +EXPORT_SYMBOL vmlinux 0x85fe5f73 xsk_tx_peek_release_desc_batch +EXPORT_SYMBOL vmlinux 0x86100ab4 t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0x862c8035 bitmap_alloc_node +EXPORT_SYMBOL vmlinux 0x863a276a color_table +EXPORT_SYMBOL vmlinux 0x863c5da4 mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0x865b81b4 skb_ensure_writable +EXPORT_SYMBOL vmlinux 0x867c5319 __traceiter_dma_fence_emit +EXPORT_SYMBOL vmlinux 0x868448a0 padata_free +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x86a8bf60 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x86aedf02 ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x86b1026f proc_douintvec +EXPORT_SYMBOL vmlinux 0x86b45a9b mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x86d52ba5 lookup_constant +EXPORT_SYMBOL vmlinux 0x86db1cbb rtas_flash_term_hook +EXPORT_SYMBOL vmlinux 0x86dd708d tc_skb_ext_tc_enable +EXPORT_SYMBOL vmlinux 0x86e24dbe scsi_add_device +EXPORT_SYMBOL vmlinux 0x86e93ef0 may_umount +EXPORT_SYMBOL vmlinux 0x86fa21a1 blackhole_netdev +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x86fc28ae seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0x87036453 pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0x87137a92 inode_dio_wait +EXPORT_SYMBOL vmlinux 0x871664bc pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0x872a5283 gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0x87346a40 clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0x87386f41 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0x873a53ea __arch_hweight8 +EXPORT_SYMBOL vmlinux 0x8756c914 do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0x87592313 mdio_device_free +EXPORT_SYMBOL vmlinux 0x8761c87b rps_needed +EXPORT_SYMBOL vmlinux 0x876f2775 scsi_done_direct +EXPORT_SYMBOL vmlinux 0x87761528 __traceiter_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x8780e3d1 debugfs_create_automount +EXPORT_SYMBOL vmlinux 0x8787dce9 fb_prepare_logo +EXPORT_SYMBOL vmlinux 0x879f761b register_quota_format +EXPORT_SYMBOL vmlinux 0x87a21cb3 __ubsan_handle_out_of_bounds +EXPORT_SYMBOL vmlinux 0x87a352f5 fs_context_for_mount +EXPORT_SYMBOL vmlinux 0x87b8798d sg_next +EXPORT_SYMBOL vmlinux 0x87c2f4a2 blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x87d54b76 vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0x8806489c device_match_acpi_handle +EXPORT_SYMBOL vmlinux 0x880810cc __i2c_transfer +EXPORT_SYMBOL vmlinux 0x8810754a _find_first_bit +EXPORT_SYMBOL vmlinux 0x881bad5e phy_mipi_dphy_config_validate +EXPORT_SYMBOL vmlinux 0x882e277b input_get_timestamp +EXPORT_SYMBOL vmlinux 0x88465cad _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0x88661fc0 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0x88822d38 unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x8888f1fe xxh32 +EXPORT_SYMBOL vmlinux 0x889916ac request_partial_firmware_into_buf +EXPORT_SYMBOL vmlinux 0x88993295 dma_fence_match_context +EXPORT_SYMBOL vmlinux 0x88ad7061 input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x88ce2bdd fs_param_is_string +EXPORT_SYMBOL vmlinux 0x88db9f48 __check_object_size +EXPORT_SYMBOL vmlinux 0x88e1d0f0 page_frag_free +EXPORT_SYMBOL vmlinux 0x88e73c03 crypto_sha256_update +EXPORT_SYMBOL vmlinux 0x88e82854 insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x88f3bd37 rproc_elf_sanity_check +EXPORT_SYMBOL vmlinux 0x88ff3cd0 gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0x8904ea97 param_set_charp +EXPORT_SYMBOL vmlinux 0x89097604 tcf_qevent_init +EXPORT_SYMBOL vmlinux 0x8914c964 __scsi_add_device +EXPORT_SYMBOL vmlinux 0x89525270 rproc_elf_load_segments +EXPORT_SYMBOL vmlinux 0x895577b0 numa_cpu_lookup_table +EXPORT_SYMBOL vmlinux 0x8963d40f d_set_d_op +EXPORT_SYMBOL vmlinux 0x896b4e94 pci_enable_ptm +EXPORT_SYMBOL vmlinux 0x89898459 kvm_irq_bypass +EXPORT_SYMBOL vmlinux 0x8993dae0 submit_bio_wait +EXPORT_SYMBOL vmlinux 0x89a54633 jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x89aa6232 eth_get_headlen +EXPORT_SYMBOL vmlinux 0x89c6e090 inet6_del_offload +EXPORT_SYMBOL vmlinux 0x89d27cd6 pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x8a0119f7 put_fs_context +EXPORT_SYMBOL vmlinux 0x8a106b6a fault_in_iov_iter_readable +EXPORT_SYMBOL vmlinux 0x8a1899de netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0x8a30088a netif_inherit_tso_max +EXPORT_SYMBOL vmlinux 0x8a362caa dma_fence_signal_timestamp +EXPORT_SYMBOL vmlinux 0x8a364866 unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x8a36667b tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0x8a3703c8 sync_blockdev +EXPORT_SYMBOL vmlinux 0x8a47043d LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0x8a490c90 rfkill_set_sw_state +EXPORT_SYMBOL vmlinux 0x8a54050b __pud_cache_index +EXPORT_SYMBOL vmlinux 0x8a7094ba vm_brk_flags +EXPORT_SYMBOL vmlinux 0x8a780e8f of_node_to_nid +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a83342a dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x8a9211a6 skb_vlan_untag +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8aaa5787 mipi_dsi_dcs_write +EXPORT_SYMBOL vmlinux 0x8ab00ab3 phy_ethtool_get_strings +EXPORT_SYMBOL vmlinux 0x8ac3334b net_dim_get_def_rx_moderation +EXPORT_SYMBOL vmlinux 0x8ac3bb12 dma_fence_get_stub +EXPORT_SYMBOL vmlinux 0x8ac743de sg_copy_buffer +EXPORT_SYMBOL vmlinux 0x8acec534 __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0x8ad32f02 __generic_file_fsync +EXPORT_SYMBOL vmlinux 0x8ad39905 dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0x8ae328f3 dm_table_get_md +EXPORT_SYMBOL vmlinux 0x8ae71a72 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x8aeec782 devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0x8af2c05b qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0x8b0088d1 LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x8b1a896c inode_permission +EXPORT_SYMBOL vmlinux 0x8b1fef4a tty_lock +EXPORT_SYMBOL vmlinux 0x8b266603 vfs_create +EXPORT_SYMBOL vmlinux 0x8b38d7df sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0x8b423b16 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x8b5a4723 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b6769bb tty_port_close +EXPORT_SYMBOL vmlinux 0x8b693406 tcf_register_action +EXPORT_SYMBOL vmlinux 0x8b7ef2a2 pci_remove_bus +EXPORT_SYMBOL vmlinux 0x8b8059bd in_group_p +EXPORT_SYMBOL vmlinux 0x8b910be2 errseq_sample +EXPORT_SYMBOL vmlinux 0x8b95ba41 dma_fence_signal +EXPORT_SYMBOL vmlinux 0x8ba9c109 blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x8bc4b6ef folio_redirty_for_writepage +EXPORT_SYMBOL vmlinux 0x8bc71943 vga_put +EXPORT_SYMBOL vmlinux 0x8bdfc47c __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x8be189ab ucc_slow_disable +EXPORT_SYMBOL vmlinux 0x8bf99d22 netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0x8c30bf67 zstd_dctx_workspace_bound +EXPORT_SYMBOL vmlinux 0x8c51753a watchdog_register_governor +EXPORT_SYMBOL vmlinux 0x8c521eb5 blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0x8c8569cb kstrtoint +EXPORT_SYMBOL vmlinux 0x8ca28f6c sock_create +EXPORT_SYMBOL vmlinux 0x8ca57cfe generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0x8caf9305 uuid_is_valid +EXPORT_SYMBOL vmlinux 0x8cc15d06 generic_delete_inode +EXPORT_SYMBOL vmlinux 0x8cc53d20 __par_io_config_pin +EXPORT_SYMBOL vmlinux 0x8cc691a9 set_binfmt +EXPORT_SYMBOL vmlinux 0x8cc79cab iowrite16_rep +EXPORT_SYMBOL vmlinux 0x8cccc9ee inet_stream_connect +EXPORT_SYMBOL vmlinux 0x8cd62994 xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x8cf529d1 skb_eth_pop +EXPORT_SYMBOL vmlinux 0x8cf6c32b inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x8d09a688 param_set_byte +EXPORT_SYMBOL vmlinux 0x8d12c01f flow_block_cb_free +EXPORT_SYMBOL vmlinux 0x8d2753bc radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x8d46b5a4 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x8d490561 ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x8d4f12d4 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0x8d50216b ___pskb_trim +EXPORT_SYMBOL vmlinux 0x8d55bb8a qid_eq +EXPORT_SYMBOL vmlinux 0x8d606c88 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0x8d657d96 pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0x8d6872c4 pci_read_config_byte +EXPORT_SYMBOL vmlinux 0x8d73278e hex_asc_upper +EXPORT_SYMBOL vmlinux 0x8d7687fa pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0x8d9ce724 trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0x8d9e7d3f xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0x8dca8379 fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0x8dd2375e i2c_smbus_write_byte_data +EXPORT_SYMBOL vmlinux 0x8dd565b4 vga_remove_vgacon +EXPORT_SYMBOL vmlinux 0x8dd8101e tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x8dd9dee3 input_set_keycode +EXPORT_SYMBOL vmlinux 0x8ddd8aad schedule_timeout +EXPORT_SYMBOL vmlinux 0x8df4a7bc pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x8df4afd9 qe_put_snum +EXPORT_SYMBOL vmlinux 0x8df92f66 memchr_inv +EXPORT_SYMBOL vmlinux 0x8df9dd10 guid_null +EXPORT_SYMBOL vmlinux 0x8e142d91 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x8e159f7d d_instantiate +EXPORT_SYMBOL vmlinux 0x8e3e0f7d fault_in_readable +EXPORT_SYMBOL vmlinux 0x8e437412 __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x8e495e02 configfs_unregister_group +EXPORT_SYMBOL vmlinux 0x8e4c60a3 cpm_muram_dma +EXPORT_SYMBOL vmlinux 0x8e516edf mipi_dsi_dcs_enter_sleep_mode +EXPORT_SYMBOL vmlinux 0x8e6e2aba mmc_is_req_done +EXPORT_SYMBOL vmlinux 0x8e84562c tcp_rcv_established +EXPORT_SYMBOL vmlinux 0x8e8b0757 pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0x8e93bd24 security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x8ea2a317 vfs_llseek +EXPORT_SYMBOL vmlinux 0x8ec45b30 start_tty +EXPORT_SYMBOL vmlinux 0x8ec9b0da kill_block_super +EXPORT_SYMBOL vmlinux 0x8ed3efbb phy_get_internal_delay +EXPORT_SYMBOL vmlinux 0x8eec42b2 __debugger_bpt +EXPORT_SYMBOL vmlinux 0x8ef53b7b generic_update_time +EXPORT_SYMBOL vmlinux 0x8f01afd6 twl6030_interrupt_mask +EXPORT_SYMBOL vmlinux 0x8f26dab2 pps_unregister_source +EXPORT_SYMBOL vmlinux 0x8f68da79 __cpu_online_mask +EXPORT_SYMBOL vmlinux 0x8f7259c2 srp_start_tl_fail_timers +EXPORT_SYMBOL vmlinux 0x8f78483f agp_generic_insert_memory +EXPORT_SYMBOL vmlinux 0x8f7e5ac7 vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0x8f8b7b35 init_pseudo +EXPORT_SYMBOL vmlinux 0x8f996a30 ethtool_convert_legacy_u32_to_link_mode +EXPORT_SYMBOL vmlinux 0x8fcedb6e __vio_register_driver +EXPORT_SYMBOL vmlinux 0x8fe9d189 sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0x8ff89ed0 seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x90006be6 dm_kcopyd_client_flush +EXPORT_SYMBOL vmlinux 0x9001f61e vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x90159984 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x9023361b proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0x902d8722 vme_slave_get +EXPORT_SYMBOL vmlinux 0x903d8002 configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0x903d97df sock_recvmsg +EXPORT_SYMBOL vmlinux 0x905409a0 phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0x905418fd kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0x905695ab sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0x90576ec4 vmemdup_user +EXPORT_SYMBOL vmlinux 0x906ecfa4 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x90919128 file_fdatawait_range +EXPORT_SYMBOL vmlinux 0x9092a793 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0x909d9472 param_get_ullong +EXPORT_SYMBOL vmlinux 0x90ba912b __nla_put_64bit +EXPORT_SYMBOL vmlinux 0x90bdb457 set_nlink +EXPORT_SYMBOL vmlinux 0x90c8994d xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0x90e5c20e __register_binfmt +EXPORT_SYMBOL vmlinux 0x90ebd4e8 dentry_open +EXPORT_SYMBOL vmlinux 0x90fa6b4e pci_claim_resource +EXPORT_SYMBOL vmlinux 0x910d8667 block_dirty_folio +EXPORT_SYMBOL vmlinux 0x9133020e ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0x91466d62 d_delete +EXPORT_SYMBOL vmlinux 0x915e1208 tb_ticks_per_usec +EXPORT_SYMBOL vmlinux 0x9166fada strncpy +EXPORT_SYMBOL vmlinux 0x9166fc03 __flush_workqueue +EXPORT_SYMBOL vmlinux 0x916758a3 node_states +EXPORT_SYMBOL vmlinux 0x9168c033 rtas_get_sensor +EXPORT_SYMBOL vmlinux 0x916de422 proto_register +EXPORT_SYMBOL vmlinux 0x919c58f3 __clzsi2 +EXPORT_SYMBOL vmlinux 0x919d1163 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x91a488ac __netdev_alloc_frag_align +EXPORT_SYMBOL vmlinux 0x91a6d5a3 blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0x91a7b1da qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x91e1b36d unlock_page +EXPORT_SYMBOL vmlinux 0x91e70a13 simple_dentry_operations +EXPORT_SYMBOL vmlinux 0x91e81470 cdev_add +EXPORT_SYMBOL vmlinux 0x91ebe753 kernel_param_unlock +EXPORT_SYMBOL vmlinux 0x91f4d6a1 security_locked_down +EXPORT_SYMBOL vmlinux 0x91f68ea1 __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x91fcc8ab pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x920202bf pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x920c59af netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0x92128357 __put_devmap_managed_page_refs +EXPORT_SYMBOL vmlinux 0x92184446 devfreq_monitor_start +EXPORT_SYMBOL vmlinux 0x92281465 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0x922de7b2 fqdir_init +EXPORT_SYMBOL vmlinux 0x922f45a6 __bitmap_clear +EXPORT_SYMBOL vmlinux 0x9233f254 remap_pfn_range +EXPORT_SYMBOL vmlinux 0x923b1276 dmaengine_get +EXPORT_SYMBOL vmlinux 0x923cfdc0 component_match_add_release +EXPORT_SYMBOL vmlinux 0x92499a46 end_page_writeback +EXPORT_SYMBOL vmlinux 0x924df109 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x92512b48 tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0x9251f0d2 wait_for_completion +EXPORT_SYMBOL vmlinux 0x9258c776 hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x9259967f vme_init_bridge +EXPORT_SYMBOL vmlinux 0x92675c70 scsi_device_get +EXPORT_SYMBOL vmlinux 0x927b8b6d mmc_register_driver +EXPORT_SYMBOL vmlinux 0x928b8016 t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0x92905154 simple_recursive_removal +EXPORT_SYMBOL vmlinux 0x9291cd3b memdup_user +EXPORT_SYMBOL vmlinux 0x92997ed8 _printk +EXPORT_SYMBOL vmlinux 0x929ca23a __serio_register_driver +EXPORT_SYMBOL vmlinux 0x92b25955 unix_detach_fds +EXPORT_SYMBOL vmlinux 0x92b9b180 slash_name +EXPORT_SYMBOL vmlinux 0x92c2db6a add_watch_to_object +EXPORT_SYMBOL vmlinux 0x92d5838e request_threaded_irq +EXPORT_SYMBOL vmlinux 0x92ec510d jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x92fa5abb vme_lm_detach +EXPORT_SYMBOL vmlinux 0x92facad6 simple_write_begin +EXPORT_SYMBOL vmlinux 0x92fdd816 generic_write_checks_count +EXPORT_SYMBOL vmlinux 0x93022ba6 __scsi_format_command +EXPORT_SYMBOL vmlinux 0x9305f8e6 cpufreq_get +EXPORT_SYMBOL vmlinux 0x9307946e devfreq_remove_device +EXPORT_SYMBOL vmlinux 0x9323cb8d xsk_tx_peek_desc +EXPORT_SYMBOL vmlinux 0x9326a948 tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0x9350dab2 inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0x9351dd57 tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0x9353a7d8 n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x936960cb ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x937209a6 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x937733e3 qid_valid +EXPORT_SYMBOL vmlinux 0x93862df6 sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0x939c07ec netif_tx_unlock +EXPORT_SYMBOL vmlinux 0x939c850c tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x93a64dbe phy_register_fixup +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93aaf572 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x93b3fc74 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x93d70e94 devm_alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x93e7fb01 netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0x93fba37b param_ops_uint +EXPORT_SYMBOL vmlinux 0x93fd7e0b take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0x9412f6bf mmc_command_done +EXPORT_SYMBOL vmlinux 0x941599b9 eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0x9422a66f cdrom_ioctl +EXPORT_SYMBOL vmlinux 0x9428f816 dim_turn +EXPORT_SYMBOL vmlinux 0x9436eb11 pps_event +EXPORT_SYMBOL vmlinux 0x943d1279 i2c_smbus_read_word_data +EXPORT_SYMBOL vmlinux 0x944375db _totalram_pages +EXPORT_SYMBOL vmlinux 0x944a564d is_console_locked +EXPORT_SYMBOL vmlinux 0x9465132f i2c_verify_client +EXPORT_SYMBOL vmlinux 0x94667988 trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x946a23b5 default_amr +EXPORT_SYMBOL vmlinux 0x9494fa7b touch_atime +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x949a9b76 dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x94a329c6 bdi_unregister +EXPORT_SYMBOL vmlinux 0x94a5fd84 proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0x94a9a4aa _raw_spin_lock_irqsave +EXPORT_SYMBOL vmlinux 0x94b1d3eb skb_dump +EXPORT_SYMBOL vmlinux 0x94bf03ca utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x94c5e1ca ipv6_select_ident +EXPORT_SYMBOL vmlinux 0x94e50ad4 call_fib_notifier +EXPORT_SYMBOL vmlinux 0x94eca2a5 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x94f27437 phy_attached_print +EXPORT_SYMBOL vmlinux 0x94f3c65e pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0x94fc7628 security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0x9507c90f copy_fsxattr_to_user +EXPORT_SYMBOL vmlinux 0x950c8d0b is_nvdimm_bus_locked +EXPORT_SYMBOL vmlinux 0x9514151a _mcount +EXPORT_SYMBOL vmlinux 0x951f2e52 mmc_cqe_start_req +EXPORT_SYMBOL vmlinux 0x95280412 sk_ns_capable +EXPORT_SYMBOL vmlinux 0x9539a85e agp_alloc_bridge +EXPORT_SYMBOL vmlinux 0x953d2426 utf8_strncmp +EXPORT_SYMBOL vmlinux 0x954cef6f init_on_alloc +EXPORT_SYMBOL vmlinux 0x954df0bb of_get_ibm_chip_id +EXPORT_SYMBOL vmlinux 0x954f099c idr_preload +EXPORT_SYMBOL vmlinux 0x955e8368 xor_altivec_5 +EXPORT_SYMBOL vmlinux 0x958014c1 block_invalidate_folio +EXPORT_SYMBOL vmlinux 0x95b45053 input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0x95b67864 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x95c6c48a qe_pin_set_gpio +EXPORT_SYMBOL vmlinux 0x95cb39fc default_qdisc_ops +EXPORT_SYMBOL vmlinux 0x95d71583 init_special_inode +EXPORT_SYMBOL vmlinux 0x95e2fbcc __phy_read_mmd +EXPORT_SYMBOL vmlinux 0x95fd65a4 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0x9601afb5 generic_key_instantiate +EXPORT_SYMBOL vmlinux 0x9602f69c dma_map_page_attrs +EXPORT_SYMBOL vmlinux 0x96095282 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0x961b11e8 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x961b951c mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0x961ecbe6 nobh_truncate_page +EXPORT_SYMBOL vmlinux 0x962c4977 clkdev_add +EXPORT_SYMBOL vmlinux 0x964b734a rproc_free +EXPORT_SYMBOL vmlinux 0x967d58c6 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x96848186 scnprintf +EXPORT_SYMBOL vmlinux 0x969184e8 skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0x9696f2e7 jbd2_submit_inode_data +EXPORT_SYMBOL vmlinux 0x969987fc lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0x969f154d trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0x96a3e105 copy_page_to_iter +EXPORT_SYMBOL vmlinux 0x96b29254 strncasecmp +EXPORT_SYMBOL vmlinux 0x96c17136 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96d35491 napi_gro_receive +EXPORT_SYMBOL vmlinux 0x96fab350 dim_park_on_top +EXPORT_SYMBOL vmlinux 0x96fe910a devm_mfd_add_devices +EXPORT_SYMBOL vmlinux 0x97099093 register_qdisc +EXPORT_SYMBOL vmlinux 0x971ec27c hvc_put_chars +EXPORT_SYMBOL vmlinux 0x9720d95c filemap_check_errors +EXPORT_SYMBOL vmlinux 0x972a125a ptp_clock_register +EXPORT_SYMBOL vmlinux 0x972aca3f jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0x9730cb94 kmem_cache_alloc_node_trace +EXPORT_SYMBOL vmlinux 0x973c09e5 __pgd_index_size +EXPORT_SYMBOL vmlinux 0x974e4f96 input_reset_device +EXPORT_SYMBOL vmlinux 0x9759733f inet_sock_destruct +EXPORT_SYMBOL vmlinux 0x976406bd remove_watch_from_object +EXPORT_SYMBOL vmlinux 0x97934ecf del_timer_sync +EXPORT_SYMBOL vmlinux 0x9797455e kern_path +EXPORT_SYMBOL vmlinux 0x97a57333 crc_t10dif_update +EXPORT_SYMBOL vmlinux 0x97adb487 utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x97afe068 build_skb +EXPORT_SYMBOL vmlinux 0x97bdfa60 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x97cdfaf6 skb_trim +EXPORT_SYMBOL vmlinux 0x97e55234 netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0x97ed2212 __tracepoint_spi_transfer_start +EXPORT_SYMBOL vmlinux 0x97f03d6f vio_cmo_entitlement_update +EXPORT_SYMBOL vmlinux 0x9802e000 iunique +EXPORT_SYMBOL vmlinux 0x98141829 flow_rule_match_meta +EXPORT_SYMBOL vmlinux 0x9829fc11 __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0x982a7402 configfs_undepend_item +EXPORT_SYMBOL vmlinux 0x98313c8d bio_free_pages +EXPORT_SYMBOL vmlinux 0x98425a92 dquot_quota_on +EXPORT_SYMBOL vmlinux 0x984a163f of_device_register +EXPORT_SYMBOL vmlinux 0x984bb083 uart_match_port +EXPORT_SYMBOL vmlinux 0x984bf1fe ppp_unregister_compressor +EXPORT_SYMBOL vmlinux 0x984ecb5b blk_mq_destroy_queue +EXPORT_SYMBOL vmlinux 0x9851cad3 dev_trans_start +EXPORT_SYMBOL vmlinux 0x985b14fd percpu_counter_set +EXPORT_SYMBOL vmlinux 0x98a2675a phy_loopback +EXPORT_SYMBOL vmlinux 0x98af827e get_user_pages_remote +EXPORT_SYMBOL vmlinux 0x98b3e4af nd_integrity_init +EXPORT_SYMBOL vmlinux 0x98c89ade security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x98cc1418 netdev_alert +EXPORT_SYMBOL vmlinux 0x98cf60b3 strlen +EXPORT_SYMBOL vmlinux 0x98da3362 phy_set_sym_pause +EXPORT_SYMBOL vmlinux 0x98e508ef ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x98ee0c8d netdev_notice +EXPORT_SYMBOL vmlinux 0x990374f6 _copy_to_iter +EXPORT_SYMBOL vmlinux 0x9905586d genphy_update_link +EXPORT_SYMBOL vmlinux 0x99100462 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0x991c418a cdev_init +EXPORT_SYMBOL vmlinux 0x992fcf28 udp_seq_ops +EXPORT_SYMBOL vmlinux 0x9930b935 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x9939eba0 backlight_unregister_notifier +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x99593fae cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0x9965460e __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x9974a9b0 tty_do_resize +EXPORT_SYMBOL vmlinux 0x9984414f key_alloc +EXPORT_SYMBOL vmlinux 0x9996477b __nla_put +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99a5c185 __d_drop +EXPORT_SYMBOL vmlinux 0x99a85de0 blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0x99b424de f_setown +EXPORT_SYMBOL vmlinux 0x99ceb805 simple_setattr +EXPORT_SYMBOL vmlinux 0x99d472b1 net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x99d9e8b0 pci_bus_type +EXPORT_SYMBOL vmlinux 0x99daa9bf try_offline_node +EXPORT_SYMBOL vmlinux 0x99dfe89a jbd2_journal_load +EXPORT_SYMBOL vmlinux 0x99f92f28 uart_get_divisor +EXPORT_SYMBOL vmlinux 0x99f9638f __napi_alloc_frag_align +EXPORT_SYMBOL vmlinux 0x9a05ce76 udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0x9a0c3a18 vme_unregister_error_handler +EXPORT_SYMBOL vmlinux 0x9a1b1bf4 dev_mc_init +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a3cf28d tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x9a583306 netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x9a7ece5d pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x9aaeefce sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x9aaff277 crypto_kdf108_ctr_generate +EXPORT_SYMBOL vmlinux 0x9acde112 gtm_ack_timer16 +EXPORT_SYMBOL vmlinux 0x9ad16ec8 folio_mark_dirty +EXPORT_SYMBOL vmlinux 0x9ae47436 _find_last_bit +EXPORT_SYMBOL vmlinux 0x9af4a341 sock_efree +EXPORT_SYMBOL vmlinux 0x9afd7d6f iov_iter_bvec +EXPORT_SYMBOL vmlinux 0x9b1b41e7 _dev_warn +EXPORT_SYMBOL vmlinux 0x9b24d4da seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL vmlinux 0x9b290da7 posix_lock_file +EXPORT_SYMBOL vmlinux 0x9b33e0d7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x9b4170da devfreq_monitor_suspend +EXPORT_SYMBOL vmlinux 0x9b496b21 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x9b991dcc devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0x9baaef4a tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0x9bb4e317 ioread32be +EXPORT_SYMBOL vmlinux 0x9bbc2627 xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x9bd048a5 cpumask_next_and +EXPORT_SYMBOL vmlinux 0x9bea2401 irq_domain_set_info +EXPORT_SYMBOL vmlinux 0x9c149f21 __netif_schedule +EXPORT_SYMBOL vmlinux 0x9c16a5c0 nd_region_release_lane +EXPORT_SYMBOL vmlinux 0x9c1925ff skb_copy_expand +EXPORT_SYMBOL vmlinux 0x9c1d6175 udp_prot +EXPORT_SYMBOL vmlinux 0x9c46973c tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x9c4bbf4a blk_pre_runtime_suspend +EXPORT_SYMBOL vmlinux 0x9c5a2ada ucc_fast_dump_regs +EXPORT_SYMBOL vmlinux 0x9c857d32 sock_bind_add +EXPORT_SYMBOL vmlinux 0x9c86b9ab fileattr_fill_flags +EXPORT_SYMBOL vmlinux 0x9c8cd9c9 ip_options_compile +EXPORT_SYMBOL vmlinux 0x9cab34a6 rfkill_set_led_trigger_name +EXPORT_SYMBOL vmlinux 0x9cc06025 md_write_end +EXPORT_SYMBOL vmlinux 0x9ccf7171 vme_dma_pci_attribute +EXPORT_SYMBOL vmlinux 0x9cd302bb vfs_parse_fs_param_source +EXPORT_SYMBOL vmlinux 0x9cdfb3f7 sysctl_fb_tunnels_only_for_init_net +EXPORT_SYMBOL vmlinux 0x9ce769e7 flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x9cf2d9a1 pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x9cf4c4f4 pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0x9d0d6206 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x9d14983a ppc_enable_pmcs +EXPORT_SYMBOL vmlinux 0x9d2031a4 kthread_complete_and_exit +EXPORT_SYMBOL vmlinux 0x9d20b55f tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0x9d265c3e dump_emit +EXPORT_SYMBOL vmlinux 0x9d26675e zstd_cstream_workspace_bound +EXPORT_SYMBOL vmlinux 0x9d27a65e sock_no_linger +EXPORT_SYMBOL vmlinux 0x9d2ab8ac __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x9d2e7707 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9d31d4f3 dev_remove_pack +EXPORT_SYMBOL vmlinux 0x9d45502d update_devfreq +EXPORT_SYMBOL vmlinux 0x9d52b647 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x9d624c43 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0x9d6d027a no_llseek +EXPORT_SYMBOL vmlinux 0x9d7ad0c8 __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x9d7f9a58 textsearch_destroy +EXPORT_SYMBOL vmlinux 0x9d96a9b0 mmu_hash_ops +EXPORT_SYMBOL vmlinux 0x9d9e3b5d sockfd_lookup +EXPORT_SYMBOL vmlinux 0x9da04dbd scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x9da87cce input_release_device +EXPORT_SYMBOL vmlinux 0x9dbeb608 noop_dirty_folio +EXPORT_SYMBOL vmlinux 0x9dbef713 unload_nls +EXPORT_SYMBOL vmlinux 0x9dc992b0 sock_wfree +EXPORT_SYMBOL vmlinux 0x9dd8bc17 _dev_alert +EXPORT_SYMBOL vmlinux 0x9dd8dd57 load_fp_state +EXPORT_SYMBOL vmlinux 0x9de145b6 block_write_end +EXPORT_SYMBOL vmlinux 0x9de706b5 mempool_destroy +EXPORT_SYMBOL vmlinux 0x9df1aa94 __d_lookup_done +EXPORT_SYMBOL vmlinux 0x9e09df23 fget_raw +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0fa5ae hsiphash_3u32 +EXPORT_SYMBOL vmlinux 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL vmlinux 0x9e355161 tcp_seq_next +EXPORT_SYMBOL vmlinux 0x9e4ae2a6 tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x9e4da44f unregister_quota_format +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e60815b prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e6d3173 input_unregister_device +EXPORT_SYMBOL vmlinux 0x9e6f9988 xp_dma_map +EXPORT_SYMBOL vmlinux 0x9e775621 mipi_dsi_dcs_set_page_address +EXPORT_SYMBOL vmlinux 0x9e90d8df blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0x9e97375d rtas_busy_delay_time +EXPORT_SYMBOL vmlinux 0x9e9eab95 devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x9e9fdd9d memunmap +EXPORT_SYMBOL vmlinux 0x9eacf8a5 kstrndup +EXPORT_SYMBOL vmlinux 0x9ead63d5 mfd_cell_disable +EXPORT_SYMBOL vmlinux 0x9ebd7df2 mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0x9ec0e639 twl6030_interrupt_unmask +EXPORT_SYMBOL vmlinux 0x9ec22e11 dquot_alloc +EXPORT_SYMBOL vmlinux 0x9ec6ca96 ktime_get_real_ts64 +EXPORT_SYMBOL vmlinux 0x9ece6f89 iterate_fd +EXPORT_SYMBOL vmlinux 0x9ecff882 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x9ed0a289 __xfrm_init_state +EXPORT_SYMBOL vmlinux 0x9ed74d1c jbd2_journal_invalidate_folio +EXPORT_SYMBOL vmlinux 0x9ed978de vme_lm_set +EXPORT_SYMBOL vmlinux 0x9ef9d48c iov_iter_kvec +EXPORT_SYMBOL vmlinux 0x9f06ff33 free_task +EXPORT_SYMBOL vmlinux 0x9f0d4d7f ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x9f0da287 phy_reset_after_clk_enable +EXPORT_SYMBOL vmlinux 0x9f1db9a8 config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0x9f209ec0 inet_bind +EXPORT_SYMBOL vmlinux 0x9f3455e4 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f50b770 keyring_restrict +EXPORT_SYMBOL vmlinux 0x9f54ead7 gro_cells_destroy +EXPORT_SYMBOL vmlinux 0x9f7097f6 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9fa7184a cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x9fad518e irq_stat +EXPORT_SYMBOL vmlinux 0x9fb41842 netdev_offload_xstats_report_delta +EXPORT_SYMBOL vmlinux 0x9fb83171 agp_bridge +EXPORT_SYMBOL vmlinux 0x9fbb5869 gen_new_estimator +EXPORT_SYMBOL vmlinux 0x9fbbe465 vmap +EXPORT_SYMBOL vmlinux 0x9fbc2e03 fs_context_for_submount +EXPORT_SYMBOL vmlinux 0x9fbe14c6 inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0x9fbfc4a4 empty_aops +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9fe7ceef param_set_ullong +EXPORT_SYMBOL vmlinux 0x9feba4db from_kprojid_munged +EXPORT_SYMBOL vmlinux 0x9feed7ce timer_reduce +EXPORT_SYMBOL vmlinux 0x9ffa3a75 netdev_max_backlog +EXPORT_SYMBOL vmlinux 0xa0165259 migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0xa01a0791 scsi_register_interface +EXPORT_SYMBOL vmlinux 0xa01d3df6 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0xa0262284 radix_tree_iter_delete +EXPORT_SYMBOL vmlinux 0xa033d747 next_arg +EXPORT_SYMBOL vmlinux 0xa03a0123 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0xa0436e98 in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0xa0579598 mmc_request_done +EXPORT_SYMBOL vmlinux 0xa057df8f twl_set_regcache_bypass +EXPORT_SYMBOL vmlinux 0xa05986bc __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0xa05b6be2 psched_ppscfg_precompute +EXPORT_SYMBOL vmlinux 0xa07a37f0 memchr +EXPORT_SYMBOL vmlinux 0xa07d1b3c tasklet_setup +EXPORT_SYMBOL vmlinux 0xa0821370 dst_release_immediate +EXPORT_SYMBOL vmlinux 0xa084749a __bitmap_or +EXPORT_SYMBOL vmlinux 0xa093d5df block_page_mkwrite +EXPORT_SYMBOL vmlinux 0xa095e02e generic_check_addressable +EXPORT_SYMBOL vmlinux 0xa0ae1e73 siphash_3u64 +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0baf722 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xa0bf4522 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0xa0d87339 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xa0dad88e netdev_adjacent_get_private +EXPORT_SYMBOL vmlinux 0xa0eae826 smp_call_function +EXPORT_SYMBOL vmlinux 0xa0ebd14c sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xa0ebd437 hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0xa0f6a483 ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa10c532f giveup_all +EXPORT_SYMBOL vmlinux 0xa120e187 commit_creds +EXPORT_SYMBOL vmlinux 0xa12a7d67 flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0xa16b1cc7 of_find_compatible_node +EXPORT_SYMBOL vmlinux 0xa16fbd76 mmc_calc_max_discard +EXPORT_SYMBOL vmlinux 0xa17cfe7f skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0xa1b8f774 security_binder_transaction +EXPORT_SYMBOL vmlinux 0xa1d3fd42 netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0xa1d405e5 vfs_statfs +EXPORT_SYMBOL vmlinux 0xa1e89cad sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xa1eaa2cd mempool_init +EXPORT_SYMBOL vmlinux 0xa20206f8 phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0xa2060911 inet_current_timestamp +EXPORT_SYMBOL vmlinux 0xa2060c07 uart_unregister_driver +EXPORT_SYMBOL vmlinux 0xa21a95dc get_vm_area +EXPORT_SYMBOL vmlinux 0xa2298afd vme_dma_list_free +EXPORT_SYMBOL vmlinux 0xa23da579 noop_fsync +EXPORT_SYMBOL vmlinux 0xa23ffc04 groups_sort +EXPORT_SYMBOL vmlinux 0xa24ba7b9 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xa24f23d8 __request_module +EXPORT_SYMBOL vmlinux 0xa251abd5 nobh_write_end +EXPORT_SYMBOL vmlinux 0xa2543913 skb_eth_push +EXPORT_SYMBOL vmlinux 0xa263892b fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0xa2660e90 __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xa26fcbac tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xa28cfcc0 gen_estimator_active +EXPORT_SYMBOL vmlinux 0xa293dd57 pm860x_bulk_write +EXPORT_SYMBOL vmlinux 0xa29983cf tc_setup_offload_action +EXPORT_SYMBOL vmlinux 0xa2a3d0d9 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xa2bbed37 crash_shutdown_register +EXPORT_SYMBOL vmlinux 0xa2d0ebf1 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0xa2d7ec8d __SCK__tp_func_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xa2f89125 fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0xa31639a2 phy_do_ioctl_running +EXPORT_SYMBOL vmlinux 0xa326c0f7 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0xa3295308 tcf_generic_walker +EXPORT_SYMBOL vmlinux 0xa333177b __filemap_get_folio +EXPORT_SYMBOL vmlinux 0xa3336026 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0xa34d09b6 mpage_writepage +EXPORT_SYMBOL vmlinux 0xa34ea576 trace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xa34f9571 mount_single +EXPORT_SYMBOL vmlinux 0xa35510ee inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0xa35854e2 simple_unlink +EXPORT_SYMBOL vmlinux 0xa366ff8d xa_get_order +EXPORT_SYMBOL vmlinux 0xa37884f4 ip6tun_encaps +EXPORT_SYMBOL vmlinux 0xa3820b23 phy_start_aneg +EXPORT_SYMBOL vmlinux 0xa38e691a ioremap_bot +EXPORT_SYMBOL vmlinux 0xa398d46f memcpy_page_flushcache +EXPORT_SYMBOL vmlinux 0xa39b4cf2 udelay +EXPORT_SYMBOL vmlinux 0xa3a6b163 flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0xa3be8342 __ubsan_handle_type_mismatch +EXPORT_SYMBOL vmlinux 0xa3cefaa0 blake2s_update +EXPORT_SYMBOL vmlinux 0xa3deb11f pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xa3fba052 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0xa3fd6c24 xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0xa3fea172 sha224_final +EXPORT_SYMBOL vmlinux 0xa40107b3 filp_open +EXPORT_SYMBOL vmlinux 0xa402ea91 scsi_ioctl +EXPORT_SYMBOL vmlinux 0xa4224988 mr_dump +EXPORT_SYMBOL vmlinux 0xa427c944 devm_clk_get +EXPORT_SYMBOL vmlinux 0xa453fa05 dma_set_mask +EXPORT_SYMBOL vmlinux 0xa458c78c posix_acl_valid +EXPORT_SYMBOL vmlinux 0xa467f622 init_net +EXPORT_SYMBOL vmlinux 0xa473c2f0 pci_assign_resource +EXPORT_SYMBOL vmlinux 0xa47cf1ae sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xa47d25a8 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0xa4835d52 md_flush_request +EXPORT_SYMBOL vmlinux 0xa488d6dd __traceiter_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0xa490d185 dev_change_flags +EXPORT_SYMBOL vmlinux 0xa4940a20 flush_dcache_icache_page +EXPORT_SYMBOL vmlinux 0xa49a9b46 mempool_alloc +EXPORT_SYMBOL vmlinux 0xa4a0e5de dev_uc_flush +EXPORT_SYMBOL vmlinux 0xa4b089a6 ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0xa4b82dd2 bdev_check_media_change +EXPORT_SYMBOL vmlinux 0xa4b94fea iowrite8_rep +EXPORT_SYMBOL vmlinux 0xa4d4f0e6 global_cache_flush +EXPORT_SYMBOL vmlinux 0xa4d7cb92 dev_mc_flush +EXPORT_SYMBOL vmlinux 0xa4d942fb folio_clear_dirty_for_io +EXPORT_SYMBOL vmlinux 0xa4e5d7d7 skb_unlink +EXPORT_SYMBOL vmlinux 0xa4f11191 __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0xa50326d9 sg_miter_start +EXPORT_SYMBOL vmlinux 0xa50a3da7 _find_next_bit +EXPORT_SYMBOL vmlinux 0xa5148c7b call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0xa524175b __put_cred +EXPORT_SYMBOL vmlinux 0xa5432b37 locks_free_lock +EXPORT_SYMBOL vmlinux 0xa5526619 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa55c3275 pci_get_slot +EXPORT_SYMBOL vmlinux 0xa561b9e2 vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0xa581f992 rproc_mem_entry_init +EXPORT_SYMBOL vmlinux 0xa59c7b68 dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0xa5bc4061 register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0xa5c05100 devfreq_add_device +EXPORT_SYMBOL vmlinux 0xa5cc314e iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0xa5ccfe2a cdev_device_add +EXPORT_SYMBOL vmlinux 0xa5d10990 jbd2_journal_start +EXPORT_SYMBOL vmlinux 0xa5db2eb9 input_get_keycode +EXPORT_SYMBOL vmlinux 0xa5e340f5 input_register_device +EXPORT_SYMBOL vmlinux 0xa5f79747 xfrm_state_free +EXPORT_SYMBOL vmlinux 0xa6153324 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xa61ced89 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0xa62572d9 md_integrity_register +EXPORT_SYMBOL vmlinux 0xa62db81e i2c_del_driver +EXPORT_SYMBOL vmlinux 0xa6351fd3 scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0xa635d2a6 profile_pc +EXPORT_SYMBOL vmlinux 0xa63edec4 scsi_host_put +EXPORT_SYMBOL vmlinux 0xa648e561 __ubsan_handle_shift_out_of_bounds +EXPORT_SYMBOL vmlinux 0xa64c7249 __printk_cpu_sync_try_get +EXPORT_SYMBOL vmlinux 0xa6579f21 __pud_val_bits +EXPORT_SYMBOL vmlinux 0xa6587ee3 vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0xa65972b8 _memcpy_toio +EXPORT_SYMBOL vmlinux 0xa668c02d of_get_next_cpu_node +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa68d3ee3 d_splice_alias +EXPORT_SYMBOL vmlinux 0xa6982c1f bioset_exit +EXPORT_SYMBOL vmlinux 0xa6993f10 iw_handler_get_spy +EXPORT_SYMBOL vmlinux 0xa6a1cac4 phy_config_aneg +EXPORT_SYMBOL vmlinux 0xa6a5531a dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0xa6affb6c mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0xa6c89c52 md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0xa6e95542 of_graph_get_remote_port +EXPORT_SYMBOL vmlinux 0xa6eab077 __invalidate_device +EXPORT_SYMBOL vmlinux 0xa6fc3d03 __traceiter_module_get +EXPORT_SYMBOL vmlinux 0xa71d2e2c ioread16be +EXPORT_SYMBOL vmlinux 0xa71dc26e __traceiter_mmap_lock_released +EXPORT_SYMBOL vmlinux 0xa72e0945 device_get_ethdev_address +EXPORT_SYMBOL vmlinux 0xa73dc74e inet_add_offload +EXPORT_SYMBOL vmlinux 0xa74c3183 netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0xa74c9877 refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0xa7516a2b jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0xa758b4c3 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0xa75c2039 of_node_name_eq +EXPORT_SYMBOL vmlinux 0xa76084bc __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0xa7761422 tcp_make_synack +EXPORT_SYMBOL vmlinux 0xa77b1ed6 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xa77bfd29 register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0xa77fc9cd twl6040_reg_read +EXPORT_SYMBOL vmlinux 0xa7884ea3 filemap_release_folio +EXPORT_SYMBOL vmlinux 0xa78af5f3 ioread32 +EXPORT_SYMBOL vmlinux 0xa78c6986 tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0xa79bff2d hpage_shift +EXPORT_SYMBOL vmlinux 0xa7a439e8 __netif_napi_del +EXPORT_SYMBOL vmlinux 0xa7c45e7e rproc_coredump_add_custom_segment +EXPORT_SYMBOL vmlinux 0xa7d1f5c5 ata_print_version +EXPORT_SYMBOL vmlinux 0xa7e87316 vfs_iocb_iter_write +EXPORT_SYMBOL vmlinux 0xa7ec1202 devm_ioport_map +EXPORT_SYMBOL vmlinux 0xa7eedcc4 call_usermodehelper +EXPORT_SYMBOL vmlinux 0xa7f4d831 agp_put_bridge +EXPORT_SYMBOL vmlinux 0xa7f7d578 param_ops_short +EXPORT_SYMBOL vmlinux 0xa7fab390 devfreq_unregister_notifier +EXPORT_SYMBOL vmlinux 0xa818540f cpufreq_get_policy +EXPORT_SYMBOL vmlinux 0xa818f81b generic_copy_file_range +EXPORT_SYMBOL vmlinux 0xa82057b6 pci_disable_device +EXPORT_SYMBOL vmlinux 0xa8393fa1 give_up_console +EXPORT_SYMBOL vmlinux 0xa843805a get_unused_fd_flags +EXPORT_SYMBOL vmlinux 0xa84474aa _raw_write_lock_irqsave +EXPORT_SYMBOL vmlinux 0xa84ce9e0 crypto_aes_inv_sbox +EXPORT_SYMBOL vmlinux 0xa84ff7ba of_phy_is_fixed_link +EXPORT_SYMBOL vmlinux 0xa85336f5 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xa8694ecd kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xa8896319 __xa_clear_mark +EXPORT_SYMBOL vmlinux 0xa8a83aba uart_write_wakeup +EXPORT_SYMBOL vmlinux 0xa8b4afb6 kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0xa8caa845 clk_bulk_put_all +EXPORT_SYMBOL vmlinux 0xa8cb7b39 get_fs_type +EXPORT_SYMBOL vmlinux 0xa8dbd17f devm_of_mdiobus_register +EXPORT_SYMBOL vmlinux 0xa8f6c843 ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0xa8f82170 iov_iter_init +EXPORT_SYMBOL vmlinux 0xa8fe7763 fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0xa90ca0de flush_rcu_work +EXPORT_SYMBOL vmlinux 0xa90ee7fe of_iomap +EXPORT_SYMBOL vmlinux 0xa916b694 strnlen +EXPORT_SYMBOL vmlinux 0xa92172ab fixed_size_llseek +EXPORT_SYMBOL vmlinux 0xa9228967 genphy_setup_forced +EXPORT_SYMBOL vmlinux 0xa924b4aa __traceiter_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0xa9331d53 blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0xa9359691 __traceiter_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0xa958db19 xp_alloc_batch +EXPORT_SYMBOL vmlinux 0xa95b47b0 filemap_fault +EXPORT_SYMBOL vmlinux 0xa965ca81 reciprocal_value +EXPORT_SYMBOL vmlinux 0xa976957d bitmap_remap +EXPORT_SYMBOL vmlinux 0xa983d979 of_get_cpu_state_node +EXPORT_SYMBOL vmlinux 0xa9beb5b1 __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0xa9c9dc3e tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0xa9db2fec skb_expand_head +EXPORT_SYMBOL vmlinux 0xa9dffce5 mempool_free +EXPORT_SYMBOL vmlinux 0xa9f31876 dev_uc_sync +EXPORT_SYMBOL vmlinux 0xa9fd1a87 folio_mapping +EXPORT_SYMBOL vmlinux 0xaa03e619 radix__flush_all_mm +EXPORT_SYMBOL vmlinux 0xaa0c318b vscnprintf +EXPORT_SYMBOL vmlinux 0xaa0d3630 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0xaa19e4aa _kstrtol +EXPORT_SYMBOL vmlinux 0xaa327a81 eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0xaa3f6f04 radix__flush_tlb_kernel_range +EXPORT_SYMBOL vmlinux 0xaa4172b3 pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0xaa4fbfc0 padata_do_serial +EXPORT_SYMBOL vmlinux 0xaa6002a7 uart_add_one_port +EXPORT_SYMBOL vmlinux 0xaa6f23ad rfkill_get_led_trigger_name +EXPORT_SYMBOL vmlinux 0xaa75c1d8 phy_read_paged +EXPORT_SYMBOL vmlinux 0xaa7a00d7 security_path_mknod +EXPORT_SYMBOL vmlinux 0xaa7bd92e dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0xaa9179c4 ida_alloc_range +EXPORT_SYMBOL vmlinux 0xaaa48cf2 sock_no_listen +EXPORT_SYMBOL vmlinux 0xaaa4b9bc hchacha_block_generic +EXPORT_SYMBOL vmlinux 0xaaa9c132 bio_init +EXPORT_SYMBOL vmlinux 0xaab2ee91 complete_all +EXPORT_SYMBOL vmlinux 0xaad0ae78 __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0xaad6d92f rfkill_init_sw_state +EXPORT_SYMBOL vmlinux 0xaad8c7d6 default_wake_function +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab0df098 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0xab22d791 dquot_quota_sync +EXPORT_SYMBOL vmlinux 0xab25dd26 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xab3697e4 irq_poll_init +EXPORT_SYMBOL vmlinux 0xab3a7659 nd_pfn_probe +EXPORT_SYMBOL vmlinux 0xab3b75ea vme_dma_pattern_attribute +EXPORT_SYMBOL vmlinux 0xab3e6227 seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0xab57a8ba dev_set_alias +EXPORT_SYMBOL vmlinux 0xab5fed4c vfs_iter_read +EXPORT_SYMBOL vmlinux 0xab63baa5 unregister_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xab6d5b3b hex_to_bin +EXPORT_SYMBOL vmlinux 0xab781570 fb_get_options +EXPORT_SYMBOL vmlinux 0xab862836 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0xabac53fe pci_write_config_byte +EXPORT_SYMBOL vmlinux 0xabbeea24 simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0xabf32f29 utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0xac04654f _dev_info +EXPORT_SYMBOL vmlinux 0xac06057e rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0xac0fae2b vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0xac1a55be unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0xac27501a proc_create_mount_point +EXPORT_SYMBOL vmlinux 0xac27543d mipi_dsi_dcs_get_display_brightness_large +EXPORT_SYMBOL vmlinux 0xac3201b0 udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0xac40185c pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0xac430423 __pmd_val_bits +EXPORT_SYMBOL vmlinux 0xac59b0dc blk_queue_split +EXPORT_SYMBOL vmlinux 0xac5b8cf6 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0xac5fcec0 in4_pton +EXPORT_SYMBOL vmlinux 0xac7644e4 rtc_add_groups +EXPORT_SYMBOL vmlinux 0xac7b30de jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0xac8926d2 security_d_instantiate +EXPORT_SYMBOL vmlinux 0xaca365c3 devfreq_update_status +EXPORT_SYMBOL vmlinux 0xaca8855d nd_dax_probe +EXPORT_SYMBOL vmlinux 0xacab29b7 seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0xacc9b1d5 inet_frags_init +EXPORT_SYMBOL vmlinux 0xacd81eb3 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xacddd806 ptp_get_vclocks_index +EXPORT_SYMBOL vmlinux 0xace43fc7 blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf649bf audit_log_task_info +EXPORT_SYMBOL vmlinux 0xacfaa161 twl6040_set_pll +EXPORT_SYMBOL vmlinux 0xacfe5e87 simple_transaction_read +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad089b83 phy_validate_pause +EXPORT_SYMBOL vmlinux 0xad128dc1 __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0xad16836a max8925_reg_write +EXPORT_SYMBOL vmlinux 0xad1c6706 __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0xad261be5 inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0xad280411 blkdev_issue_secure_erase +EXPORT_SYMBOL vmlinux 0xad3131c3 d_path +EXPORT_SYMBOL vmlinux 0xad34e84e inet_sendmsg +EXPORT_SYMBOL vmlinux 0xad357133 __traceiter_kmalloc_node +EXPORT_SYMBOL vmlinux 0xad3fb67f fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0xad50cebb i8253_lock +EXPORT_SYMBOL vmlinux 0xad612115 xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0xad73041f autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xad848431 inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0xad86e51d dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0xad8a54b1 tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0xad91e1bf of_graph_get_endpoint_count +EXPORT_SYMBOL vmlinux 0xadae6df8 blake2s_final +EXPORT_SYMBOL vmlinux 0xadb00770 wireless_send_event +EXPORT_SYMBOL vmlinux 0xadbc8f62 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xadbecb18 blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0xadbeed61 mipi_dsi_packet_format_is_long +EXPORT_SYMBOL vmlinux 0xadc044b7 vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL vmlinux 0xadc8678b simple_getattr +EXPORT_SYMBOL vmlinux 0xadc9ed7d inet_put_port +EXPORT_SYMBOL vmlinux 0xadd139d4 rfs_needed +EXPORT_SYMBOL vmlinux 0xadeb67f9 tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0xadecade3 dec_node_page_state +EXPORT_SYMBOL vmlinux 0xadfdfcef __bitmap_andnot +EXPORT_SYMBOL vmlinux 0xae04012c __vmalloc +EXPORT_SYMBOL vmlinux 0xae1e6d1d netif_rx +EXPORT_SYMBOL vmlinux 0xae2f57a1 kernel_connect +EXPORT_SYMBOL vmlinux 0xae316c11 icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0xae4265ab __do_once_slow_done +EXPORT_SYMBOL vmlinux 0xae4c8439 __pte_table_size +EXPORT_SYMBOL vmlinux 0xae551485 inet6_add_offload +EXPORT_SYMBOL vmlinux 0xae58540c __dev_queue_xmit +EXPORT_SYMBOL vmlinux 0xae5b2f60 pcie_set_mps +EXPORT_SYMBOL vmlinux 0xae60e926 xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0xae709f23 nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0xae72c653 vfs_fileattr_get +EXPORT_SYMBOL vmlinux 0xae933e73 cfb_copyarea +EXPORT_SYMBOL vmlinux 0xaeac049a generate_random_guid +EXPORT_SYMBOL vmlinux 0xaead1eac inetdev_by_index +EXPORT_SYMBOL vmlinux 0xaeb77f14 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0xaeca8967 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xaed6c7de kern_unmount +EXPORT_SYMBOL vmlinux 0xaed9d07f __netlink_dump_start +EXPORT_SYMBOL vmlinux 0xaef126c4 devfreq_update_target +EXPORT_SYMBOL vmlinux 0xaef5e026 config_group_init +EXPORT_SYMBOL vmlinux 0xaf158fce security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0xaf1a0d6a splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0xaf2d17b7 submit_bio +EXPORT_SYMBOL vmlinux 0xaf339e30 __nlmsg_put +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf4d70ee file_remove_privs +EXPORT_SYMBOL vmlinux 0xaf509757 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0xaf5e3228 of_get_mac_address +EXPORT_SYMBOL vmlinux 0xaf71e9c0 tty_register_device +EXPORT_SYMBOL vmlinux 0xafaa7653 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0xafc06bcd wait_for_completion_io +EXPORT_SYMBOL vmlinux 0xafc08054 dotdot_name +EXPORT_SYMBOL vmlinux 0xafc3e9e9 __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0xafc6c68e zstd_is_error +EXPORT_SYMBOL vmlinux 0xafc6ecc7 neigh_ifdown +EXPORT_SYMBOL vmlinux 0xafca6254 reuseport_migrate_sock +EXPORT_SYMBOL vmlinux 0xafd008ab tty_port_close_end +EXPORT_SYMBOL vmlinux 0xafe99079 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xafecaece init_task +EXPORT_SYMBOL vmlinux 0xafefcaab console_stop +EXPORT_SYMBOL vmlinux 0xb00036c1 dev_get_iflink +EXPORT_SYMBOL vmlinux 0xb008fb35 tcf_idr_create +EXPORT_SYMBOL vmlinux 0xb01559ab scsi_rescan_device +EXPORT_SYMBOL vmlinux 0xb01bebf9 xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb067b3e6 fwnode_irq_get_byname +EXPORT_SYMBOL vmlinux 0xb06be062 fwnode_irq_get +EXPORT_SYMBOL vmlinux 0xb08cc567 __ps2_command +EXPORT_SYMBOL vmlinux 0xb0a0da0c rational_best_approximation +EXPORT_SYMBOL vmlinux 0xb0abd837 copy_page_from_iter +EXPORT_SYMBOL vmlinux 0xb0b9a986 _dev_notice +EXPORT_SYMBOL vmlinux 0xb0bde8a0 complete_request_key +EXPORT_SYMBOL vmlinux 0xb0c76281 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0xb0d7455d vio_get_attribute +EXPORT_SYMBOL vmlinux 0xb0d812d8 task_work_add +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0e2df8f security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0xb0f313e7 filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0xb1056dc0 neigh_destroy +EXPORT_SYMBOL vmlinux 0xb10e7df4 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0xb117808b stop_tty +EXPORT_SYMBOL vmlinux 0xb11bd171 vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0xb12258e4 mmc_run_bkops +EXPORT_SYMBOL vmlinux 0xb12cbacb fb_unregister_client +EXPORT_SYMBOL vmlinux 0xb147a855 dql_reset +EXPORT_SYMBOL vmlinux 0xb14ab1ef hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0xb14fc46a find_next_clump8 +EXPORT_SYMBOL vmlinux 0xb15bd8fa tb_ticks_per_sec +EXPORT_SYMBOL vmlinux 0xb15f8231 pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0xb170791d kernel_getpeername +EXPORT_SYMBOL vmlinux 0xb179f8d0 mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0xb186a8e0 tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0xb190f717 pci_enable_msi +EXPORT_SYMBOL vmlinux 0xb19d55df fsl_upm_run_pattern +EXPORT_SYMBOL vmlinux 0xb1c0eebb tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1c5c64e gtm_set_exact_timer16 +EXPORT_SYMBOL vmlinux 0xb1ddf995 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xb200c09b simple_fill_super +EXPORT_SYMBOL vmlinux 0xb204cdf8 seq_release +EXPORT_SYMBOL vmlinux 0xb21171f0 devfreq_suspend_device +EXPORT_SYMBOL vmlinux 0xb215a043 of_get_property +EXPORT_SYMBOL vmlinux 0xb21f41e2 thermal_cdev_update +EXPORT_SYMBOL vmlinux 0xb22305d5 vme_dma_request +EXPORT_SYMBOL vmlinux 0xb22e16d5 radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0xb23027c1 kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xb23ac325 tty_port_init +EXPORT_SYMBOL vmlinux 0xb25c13dd __quota_error +EXPORT_SYMBOL vmlinux 0xb2635052 node_data +EXPORT_SYMBOL vmlinux 0xb2722171 ip6_frag_next +EXPORT_SYMBOL vmlinux 0xb283a698 security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0xb29e9b9d tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0xb2a0e58b netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0xb2acc4cd __msr_check_and_clear +EXPORT_SYMBOL vmlinux 0xb2acd9e5 free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0xb2c6db3e pci_find_bus +EXPORT_SYMBOL vmlinux 0xb2dac6c7 dquot_disable +EXPORT_SYMBOL vmlinux 0xb2e3f1a9 gnet_stats_add_basic +EXPORT_SYMBOL vmlinux 0xb2ed0cf2 skb_pull +EXPORT_SYMBOL vmlinux 0xb2f35c6a xxh64 +EXPORT_SYMBOL vmlinux 0xb2fcb56d queue_delayed_work_on +EXPORT_SYMBOL vmlinux 0xb2ff0ee7 iov_iter_npages +EXPORT_SYMBOL vmlinux 0xb308c97d wait_woken +EXPORT_SYMBOL vmlinux 0xb30b9822 vme_master_set +EXPORT_SYMBOL vmlinux 0xb31cca18 input_close_device +EXPORT_SYMBOL vmlinux 0xb320cc0e sg_init_one +EXPORT_SYMBOL vmlinux 0xb3258f79 __ubsan_handle_type_mismatch_v1 +EXPORT_SYMBOL vmlinux 0xb325a448 __module_put_and_kthread_exit +EXPORT_SYMBOL vmlinux 0xb32d52b9 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0xb3469e0e shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0xb350f6f2 dqstats +EXPORT_SYMBOL vmlinux 0xb3539f0b mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0xb35c8ca3 skb_put +EXPORT_SYMBOL vmlinux 0xb361c799 flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0xb3687850 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xb381f99d i8042_remove_filter +EXPORT_SYMBOL vmlinux 0xb383f28c of_graph_get_endpoint_by_regs +EXPORT_SYMBOL vmlinux 0xb3ae80f2 __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0xb3beee0e xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0xb3d2c76d scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0xb3e3ac95 _raw_read_lock +EXPORT_SYMBOL vmlinux 0xb3f0de55 xz_dec_microlzma_run +EXPORT_SYMBOL vmlinux 0xb3f49446 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0xb3f548ad kmemdup_nul +EXPORT_SYMBOL vmlinux 0xb3f7646e kthread_should_stop +EXPORT_SYMBOL vmlinux 0xb3f940a1 sock_alloc +EXPORT_SYMBOL vmlinux 0xb40a73a8 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0xb40da4e8 inode_init_owner +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb432fa28 mipi_dsi_host_unregister +EXPORT_SYMBOL vmlinux 0xb4347bd9 netif_device_detach +EXPORT_SYMBOL vmlinux 0xb439860d d_genocide +EXPORT_SYMBOL vmlinux 0xb4424b2b proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0xb44478a6 qe_pin_free +EXPORT_SYMBOL vmlinux 0xb45f3735 unregister_filesystem +EXPORT_SYMBOL vmlinux 0xb4648dae padata_alloc_shell +EXPORT_SYMBOL vmlinux 0xb473e2c2 lockref_get +EXPORT_SYMBOL vmlinux 0xb47be20e pseries_disable_reloc_on_exc +EXPORT_SYMBOL vmlinux 0xb487210c __nla_reserve +EXPORT_SYMBOL vmlinux 0xb48d4d22 security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0xb492b1ef sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0xb494d42b fs_param_is_path +EXPORT_SYMBOL vmlinux 0xb49c3027 __skb_ext_del +EXPORT_SYMBOL vmlinux 0xb4d198ce jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0xb4f13d2a abort +EXPORT_SYMBOL vmlinux 0xb4f7b8df of_mdiobus_register +EXPORT_SYMBOL vmlinux 0xb50a042d mipi_dsi_generic_write +EXPORT_SYMBOL vmlinux 0xb513881d xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0xb517f0ff prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0xb539b516 dma_fence_array_ops +EXPORT_SYMBOL vmlinux 0xb53ae8ea of_match_device +EXPORT_SYMBOL vmlinux 0xb555f9f3 gtm_get_specific_timer16 +EXPORT_SYMBOL vmlinux 0xb567f9b5 mpage_readahead +EXPORT_SYMBOL vmlinux 0xb571b8ea folio_migrate_flags +EXPORT_SYMBOL vmlinux 0xb58aeaab kernel_cpustat +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5a94144 i2c_del_adapter +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5b63711 fileattr_fill_xflags +EXPORT_SYMBOL vmlinux 0xb5b65bcd devm_extcon_unregister_notifier +EXPORT_SYMBOL vmlinux 0xb5c82dbb alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0xb5e73116 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xb5f00222 md_handle_request +EXPORT_SYMBOL vmlinux 0xb5fc1f12 dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0xb600afb5 param_set_bint +EXPORT_SYMBOL vmlinux 0xb6072c40 tcf_block_put +EXPORT_SYMBOL vmlinux 0xb62e6f6c pci_find_resource +EXPORT_SYMBOL vmlinux 0xb633f115 irq_poll_enable +EXPORT_SYMBOL vmlinux 0xb6361231 mutex_is_locked +EXPORT_SYMBOL vmlinux 0xb6426c0f fs_param_is_blob +EXPORT_SYMBOL vmlinux 0xb64d04ce qdisc_hash_add +EXPORT_SYMBOL vmlinux 0xb665f115 get_cached_acl +EXPORT_SYMBOL vmlinux 0xb66e96d8 netlbl_audit_start +EXPORT_SYMBOL vmlinux 0xb6741e77 seq_release_private +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb67b8903 dev_get_flags +EXPORT_SYMBOL vmlinux 0xb67fec0e uuid_parse +EXPORT_SYMBOL vmlinux 0xb6936ffe _bcd2bin +EXPORT_SYMBOL vmlinux 0xb6981ba0 dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0xb69c4fdf napi_enable +EXPORT_SYMBOL vmlinux 0xb69d70f3 zap_page_range +EXPORT_SYMBOL vmlinux 0xb6a6685a seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0xb6acaa13 phy_sfp_detach +EXPORT_SYMBOL vmlinux 0xb6b23de9 fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0xb6bfd56d vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0xb6c78f26 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xb6cb556a _find_first_and_bit +EXPORT_SYMBOL vmlinux 0xb6d5b40a of_find_net_device_by_node +EXPORT_SYMBOL vmlinux 0xb6e36ce2 psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0xb6fae8e9 tty_unlock +EXPORT_SYMBOL vmlinux 0xb6fc9092 eth_validate_addr +EXPORT_SYMBOL vmlinux 0xb6fde909 close_fd +EXPORT_SYMBOL vmlinux 0xb70289d9 call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0xb71589f0 skip_spaces +EXPORT_SYMBOL vmlinux 0xb716323e set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0xb71ed69f __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0xb720e1ab mem_section +EXPORT_SYMBOL vmlinux 0xb73232ad alloc_fddidev +EXPORT_SYMBOL vmlinux 0xb7487f80 pci_iomap +EXPORT_SYMBOL vmlinux 0xb749332d pnv_cxl_alloc_hwirqs +EXPORT_SYMBOL vmlinux 0xb74d06af inet_sk_set_state +EXPORT_SYMBOL vmlinux 0xb7667156 netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0xb7688155 ucc_slow_init +EXPORT_SYMBOL vmlinux 0xb77179a5 blk_rq_init +EXPORT_SYMBOL vmlinux 0xb781a0c4 twl6030_mmc_card_detect +EXPORT_SYMBOL vmlinux 0xb78debe3 LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0xb7997a75 is_bad_inode +EXPORT_SYMBOL vmlinux 0xb79c6154 devm_of_clk_del_provider +EXPORT_SYMBOL vmlinux 0xb7a58915 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0xb7c0f443 sort +EXPORT_SYMBOL vmlinux 0xb7c6db70 sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0xb7d0dfcd tcf_exts_validate +EXPORT_SYMBOL vmlinux 0xb7d2ef3d gen_pool_dma_alloc +EXPORT_SYMBOL vmlinux 0xb7e65a5e devfreq_recommended_opp +EXPORT_SYMBOL vmlinux 0xb7eb4b93 bioset_integrity_create +EXPORT_SYMBOL vmlinux 0xb80b4a18 zstd_compress_bound +EXPORT_SYMBOL vmlinux 0xb8217bc0 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xb82622d5 to_nd_dax +EXPORT_SYMBOL vmlinux 0xb851d2c6 of_cpu_node_to_id +EXPORT_SYMBOL vmlinux 0xb85283b2 devm_devfreq_add_governor +EXPORT_SYMBOL vmlinux 0xb868ac5c register_sysrq_key +EXPORT_SYMBOL vmlinux 0xb869c1bd __traceiter_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xb86c1ea0 param_set_ulong +EXPORT_SYMBOL vmlinux 0xb86c29f2 mfd_remove_devices +EXPORT_SYMBOL vmlinux 0xb8707908 tcf_idr_search +EXPORT_SYMBOL vmlinux 0xb8957afb dst_init +EXPORT_SYMBOL vmlinux 0xb897a3a1 lock_rename +EXPORT_SYMBOL vmlinux 0xb89a4b6f nf_log_packet +EXPORT_SYMBOL vmlinux 0xb89b6e6b guid_parse +EXPORT_SYMBOL vmlinux 0xb8a74142 scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xb8b043f2 kfree_link +EXPORT_SYMBOL vmlinux 0xb8b2a962 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0xb8b9f817 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0xb8cfe175 iptun_encaps +EXPORT_SYMBOL vmlinux 0xb8d224d7 devm_kvasprintf +EXPORT_SYMBOL vmlinux 0xb8ff71b0 __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0xb8ff72ee filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xb9056bb6 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xb907513f unpoison_memory +EXPORT_SYMBOL vmlinux 0xb911bb58 minmax_running_max +EXPORT_SYMBOL vmlinux 0xb916a537 simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xb91beeb2 netpoll_parse_options +EXPORT_SYMBOL vmlinux 0xb91e93ad xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0xb922f350 skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0xb94339c4 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0xb9478d90 hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0xb94f5210 mmc_cqe_recovery +EXPORT_SYMBOL vmlinux 0xb96c4f9e audit_log_subject_context +EXPORT_SYMBOL vmlinux 0xb97220ff bitmap_parse +EXPORT_SYMBOL vmlinux 0xb979a5c1 tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0xb996ee32 param_get_bool +EXPORT_SYMBOL vmlinux 0xb9a83f34 __inet_hash +EXPORT_SYMBOL vmlinux 0xb9c1a52b fs_param_is_fd +EXPORT_SYMBOL vmlinux 0xb9de864d vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0xb9e8e2cc in6addr_sitelocal_allrouters +EXPORT_SYMBOL vmlinux 0xb9ee84fb ram_aops +EXPORT_SYMBOL vmlinux 0xba0676e2 vm_zone_stat +EXPORT_SYMBOL vmlinux 0xba087bd6 nla_reserve +EXPORT_SYMBOL vmlinux 0xba1008c8 __crc32c_le +EXPORT_SYMBOL vmlinux 0xba38a3dd inet_shutdown +EXPORT_SYMBOL vmlinux 0xba3b830c dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba53adab nla_policy_len +EXPORT_SYMBOL vmlinux 0xba67a355 nmi_panic +EXPORT_SYMBOL vmlinux 0xba691c85 _insb +EXPORT_SYMBOL vmlinux 0xba707a78 qe_get_brg_clk +EXPORT_SYMBOL vmlinux 0xba76af71 rproc_coredump_add_segment +EXPORT_SYMBOL vmlinux 0xba77f468 __vfs_removexattr +EXPORT_SYMBOL vmlinux 0xba8f48c6 param_ops_long +EXPORT_SYMBOL vmlinux 0xba9efce8 unix_get_socket +EXPORT_SYMBOL vmlinux 0xbac35553 backlight_device_set_brightness +EXPORT_SYMBOL vmlinux 0xbade0308 pci_find_hose_for_OF_device +EXPORT_SYMBOL vmlinux 0xbaf5c585 dst_destroy +EXPORT_SYMBOL vmlinux 0xbaff8e3f __inode_add_bytes +EXPORT_SYMBOL vmlinux 0xbb0540aa zlib_inflateReset +EXPORT_SYMBOL vmlinux 0xbb0b51a2 block_write_full_page +EXPORT_SYMBOL vmlinux 0xbb1086cc cdev_del +EXPORT_SYMBOL vmlinux 0xbb24f607 init_cdrom_command +EXPORT_SYMBOL vmlinux 0xbb2e72db bio_chain +EXPORT_SYMBOL vmlinux 0xbb3e9e90 __pmd_table_size +EXPORT_SYMBOL vmlinux 0xbb43342f simple_transaction_set +EXPORT_SYMBOL vmlinux 0xbb4507a2 pci_fixup_device +EXPORT_SYMBOL vmlinux 0xbb4f4766 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xbb502af2 kthread_create_on_cpu +EXPORT_SYMBOL vmlinux 0xbb75fc61 dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xbb761d20 cont_write_begin +EXPORT_SYMBOL vmlinux 0xbb7b414e gtm_stop_timer16 +EXPORT_SYMBOL vmlinux 0xbb83256a neigh_resolve_output +EXPORT_SYMBOL vmlinux 0xbb87404e from_kuid +EXPORT_SYMBOL vmlinux 0xbba0bdca machine_id +EXPORT_SYMBOL vmlinux 0xbba75607 down_killable +EXPORT_SYMBOL vmlinux 0xbbdf47a7 genphy_read_status_fixed +EXPORT_SYMBOL vmlinux 0xbbe02118 icmp6_send +EXPORT_SYMBOL vmlinux 0xbbe75fd7 skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0xbbe80fdb kmalloc_order +EXPORT_SYMBOL vmlinux 0xbc1f09cd request_key_rcu +EXPORT_SYMBOL vmlinux 0xbc316de4 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0xbc42c17f mutex_unlock +EXPORT_SYMBOL vmlinux 0xbc4314a8 sock_no_mmap +EXPORT_SYMBOL vmlinux 0xbc45c808 input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0xbc485c4f d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0xbc49d094 d_set_fallthru +EXPORT_SYMBOL vmlinux 0xbc4d9a68 ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0xbc4dcfdf rproc_add_carveout +EXPORT_SYMBOL vmlinux 0xbc5546bd page_pool_alloc_frag +EXPORT_SYMBOL vmlinux 0xbc57ec4e set_anon_super +EXPORT_SYMBOL vmlinux 0xbc619ec6 tcf_em_register +EXPORT_SYMBOL vmlinux 0xbc62b910 mipi_dsi_dcs_set_column_address +EXPORT_SYMBOL vmlinux 0xbc64c75f get_tree_nodev +EXPORT_SYMBOL vmlinux 0xbc982b06 eeh_subsystem_flags +EXPORT_SYMBOL vmlinux 0xbca764ee pci_alloc_dev +EXPORT_SYMBOL vmlinux 0xbca9aea9 param_get_ulong +EXPORT_SYMBOL vmlinux 0xbcab6ee6 sscanf +EXPORT_SYMBOL vmlinux 0xbcb627bd netif_device_attach +EXPORT_SYMBOL vmlinux 0xbcdac172 dma_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0xbcecbe2b write_dirty_buffer +EXPORT_SYMBOL vmlinux 0xbcefae58 ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0xbcf2ff15 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0xbcf54e7f _raw_write_lock_bh +EXPORT_SYMBOL vmlinux 0xbd010223 kfree_skb_list_reason +EXPORT_SYMBOL vmlinux 0xbd0cb16e qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0xbd37de78 seq_file_path +EXPORT_SYMBOL vmlinux 0xbd393ca3 ioread64be_lo_hi +EXPORT_SYMBOL vmlinux 0xbd462b55 __kfifo_init +EXPORT_SYMBOL vmlinux 0xbd510091 ppp_dev_name +EXPORT_SYMBOL vmlinux 0xbd628752 __tracepoint_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0xbd64663b mipi_dsi_compression_mode +EXPORT_SYMBOL vmlinux 0xbd6841d4 crc16 +EXPORT_SYMBOL vmlinux 0xbd6bfb48 flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0xbd702b12 mdio_device_create +EXPORT_SYMBOL vmlinux 0xbd798649 dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0xbd92817b __seq_open_private +EXPORT_SYMBOL vmlinux 0xbdb7af0d send_sig +EXPORT_SYMBOL vmlinux 0xbdbf89e9 napi_complete_done +EXPORT_SYMBOL vmlinux 0xbdc97277 scm_fp_dup +EXPORT_SYMBOL vmlinux 0xbdcb0c24 mdio_find_bus +EXPORT_SYMBOL vmlinux 0xbdd089a3 netdev_offload_xstats_disable +EXPORT_SYMBOL vmlinux 0xbdd59566 vio_disable_interrupts +EXPORT_SYMBOL vmlinux 0xbde3c669 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0xbdeb8d13 jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0xbded4237 __skb_get_hash +EXPORT_SYMBOL vmlinux 0xbe0d8363 xsk_tx_release +EXPORT_SYMBOL vmlinux 0xbe118c52 __tracepoint_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0xbe164b3b tcp_read_sock +EXPORT_SYMBOL vmlinux 0xbe237ca2 devm_free_irq +EXPORT_SYMBOL vmlinux 0xbe29794a tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0xbe2abce6 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0xbe461081 pneigh_lookup +EXPORT_SYMBOL vmlinux 0xbe4eb6ed secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xbe51c998 sock_sendmsg +EXPORT_SYMBOL vmlinux 0xbe530ee9 agp_generic_alloc_user +EXPORT_SYMBOL vmlinux 0xbe5a24e9 xxh32_copy_state +EXPORT_SYMBOL vmlinux 0xbe6a8c96 zstd_cctx_workspace_bound +EXPORT_SYMBOL vmlinux 0xbe7d132a set_posix_acl +EXPORT_SYMBOL vmlinux 0xbe892306 xsk_tx_completed +EXPORT_SYMBOL vmlinux 0xbe8f0ef2 of_node_put +EXPORT_SYMBOL vmlinux 0xbe93fcf6 of_match_node +EXPORT_SYMBOL vmlinux 0xbeb99017 jbd2_fc_get_buf +EXPORT_SYMBOL vmlinux 0xbed9b853 flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0xbedb1653 generic_file_open +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbf118c63 fddi_type_trans +EXPORT_SYMBOL vmlinux 0xbf1289df page_readlink +EXPORT_SYMBOL vmlinux 0xbf24d3f4 vfs_ioctl +EXPORT_SYMBOL vmlinux 0xbf25f81e bio_put +EXPORT_SYMBOL vmlinux 0xbf3076ff pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0xbf596f45 _insl_ns +EXPORT_SYMBOL vmlinux 0xbf59c419 posix_acl_init +EXPORT_SYMBOL vmlinux 0xbf637581 secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0xbf6908b2 _raw_spin_lock +EXPORT_SYMBOL vmlinux 0xbf7220f4 config_item_put +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbf9c1f6e con_is_visible +EXPORT_SYMBOL vmlinux 0xbfae9e07 utf8_validate +EXPORT_SYMBOL vmlinux 0xbfc0d310 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xbfc177bc iowrite32_rep +EXPORT_SYMBOL vmlinux 0xbfe6733b vme_slot_num +EXPORT_SYMBOL vmlinux 0xbfe92ab2 agp_find_bridge +EXPORT_SYMBOL vmlinux 0xbff3f973 devm_devfreq_remove_device +EXPORT_SYMBOL vmlinux 0xbff8182c plpar_hcall_norets +EXPORT_SYMBOL vmlinux 0xc00e8047 genphy_read_status +EXPORT_SYMBOL vmlinux 0xc01bcb02 __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0xc029fd2a flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0xc031ed81 vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0xc0364007 fault_in_writeable +EXPORT_SYMBOL vmlinux 0xc039ed3b param_set_invbool +EXPORT_SYMBOL vmlinux 0xc0715ac1 pci_find_capability +EXPORT_SYMBOL vmlinux 0xc0763484 rfkill_blocked +EXPORT_SYMBOL vmlinux 0xc078d22c zstd_init_cstream +EXPORT_SYMBOL vmlinux 0xc07b0863 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0xc0954478 nla_put +EXPORT_SYMBOL vmlinux 0xc0aea334 generic_writepages +EXPORT_SYMBOL vmlinux 0xc0afb5d7 cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0xc0b346d8 opal_nx_coproc_init +EXPORT_SYMBOL vmlinux 0xc0b47942 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0xc0caa912 vga_con +EXPORT_SYMBOL vmlinux 0xc0d6d78f __var_waitqueue +EXPORT_SYMBOL vmlinux 0xc0f2722c udp6_seq_ops +EXPORT_SYMBOL vmlinux 0xc0fe9137 __printk_cpu_sync_put +EXPORT_SYMBOL vmlinux 0xc0ff12fb nla_strdup +EXPORT_SYMBOL vmlinux 0xc0ff21c1 input_get_new_minor +EXPORT_SYMBOL vmlinux 0xc1198662 __warn_flushing_systemwide_wq +EXPORT_SYMBOL vmlinux 0xc134b38b ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0xc135e48d scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0xc1466e4a unpin_user_pages +EXPORT_SYMBOL vmlinux 0xc1514a3b free_irq +EXPORT_SYMBOL vmlinux 0xc15ae652 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xc16be39d iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xc17eacc4 scsi_dma_map +EXPORT_SYMBOL vmlinux 0xc1a2b839 of_find_node_by_type +EXPORT_SYMBOL vmlinux 0xc1aed260 dma_fence_describe +EXPORT_SYMBOL vmlinux 0xc1c0418e xfrm_init_state +EXPORT_SYMBOL vmlinux 0xc1c161e1 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0xc1ce2bd1 gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0xc1d5d504 scsi_cmd_allowed +EXPORT_SYMBOL vmlinux 0xc1d6db7a qe_pin_request +EXPORT_SYMBOL vmlinux 0xc1d8cfaf __fdget +EXPORT_SYMBOL vmlinux 0xc1e4b583 param_get_uint +EXPORT_SYMBOL vmlinux 0xc2010560 file_path +EXPORT_SYMBOL vmlinux 0xc2130302 of_io_request_and_map +EXPORT_SYMBOL vmlinux 0xc22027db i2c_smbus_xfer +EXPORT_SYMBOL vmlinux 0xc22467f2 of_device_is_compatible +EXPORT_SYMBOL vmlinux 0xc22cf143 inet_ioctl +EXPORT_SYMBOL vmlinux 0xc2317264 blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0xc2424641 agp3_generic_cleanup +EXPORT_SYMBOL vmlinux 0xc2490212 _raw_read_lock_bh +EXPORT_SYMBOL vmlinux 0xc256b176 pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0xc258f18b filemap_fdatawrite_wbc +EXPORT_SYMBOL vmlinux 0xc259672a ip6_xmit +EXPORT_SYMBOL vmlinux 0xc259aae2 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0xc26f097e input_open_device +EXPORT_SYMBOL vmlinux 0xc273a50b blkdev_compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0xc275b4ba of_phy_get_and_connect +EXPORT_SYMBOL vmlinux 0xc27c92e2 inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0xc27dc044 nonseekable_open +EXPORT_SYMBOL vmlinux 0xc2818b37 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0xc29bf967 strspn +EXPORT_SYMBOL vmlinux 0xc29c6ca0 capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0xc2c0ae35 pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0xc2d48846 thaw_bdev +EXPORT_SYMBOL vmlinux 0xc2d72f68 security_sock_graft +EXPORT_SYMBOL vmlinux 0xc2db46c2 of_clk_get_by_name +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2e8ff4d __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0xc3055d20 usleep_range_state +EXPORT_SYMBOL vmlinux 0xc3065421 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0xc30e98ca of_pci_range_to_resource +EXPORT_SYMBOL vmlinux 0xc310b981 strnstr +EXPORT_SYMBOL vmlinux 0xc31ab10b inet_csk_accept +EXPORT_SYMBOL vmlinux 0xc31db0ce is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0xc32c71af register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xc32cac4a rproc_resource_cleanup +EXPORT_SYMBOL vmlinux 0xc33ee4ba ilookup5_nowait +EXPORT_SYMBOL vmlinux 0xc352640c ipmr_rule_default +EXPORT_SYMBOL vmlinux 0xc367c90b get_acl +EXPORT_SYMBOL vmlinux 0xc36cd389 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0xc375a9ae dentry_path_raw +EXPORT_SYMBOL vmlinux 0xc37cb073 key_task_permission +EXPORT_SYMBOL vmlinux 0xc37f9c6e cpufreq_update_policy +EXPORT_SYMBOL vmlinux 0xc38c83b8 mod_timer +EXPORT_SYMBOL vmlinux 0xc3b7b4e6 input_register_handler +EXPORT_SYMBOL vmlinux 0xc3c24008 folio_migrate_mapping +EXPORT_SYMBOL vmlinux 0xc3c288fa sk_dst_check +EXPORT_SYMBOL vmlinux 0xc3c37185 cpu_rmap_update +EXPORT_SYMBOL vmlinux 0xc3c52ae8 of_get_next_parent +EXPORT_SYMBOL vmlinux 0xc3e4e40c phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xc3ee7ff9 genphy_loopback +EXPORT_SYMBOL vmlinux 0xc408449b ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0xc4126942 tcp_inbound_md5_hash +EXPORT_SYMBOL vmlinux 0xc415cc8c mmc_can_erase +EXPORT_SYMBOL vmlinux 0xc41bc980 iwe_stream_add_value +EXPORT_SYMBOL vmlinux 0xc41f2b8b msi_bitmap_free_hwirqs +EXPORT_SYMBOL vmlinux 0xc4212ab9 qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xc446150d del_gendisk +EXPORT_SYMBOL vmlinux 0xc44b2409 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0xc452212c utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0xc4649d91 netlink_net_capable +EXPORT_SYMBOL vmlinux 0xc4689ffd trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0xc46c6cc0 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0xc4708199 cpm_muram_addr +EXPORT_SYMBOL vmlinux 0xc4777aa9 __ctzsi2 +EXPORT_SYMBOL vmlinux 0xc4866275 mmc_card_is_blockaddr +EXPORT_SYMBOL vmlinux 0xc48b4bcc current_in_userns +EXPORT_SYMBOL vmlinux 0xc4ae915e arch_touch_nmi_watchdog +EXPORT_SYMBOL vmlinux 0xc4afe3ac netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0xc4cdf48f _raw_read_unlock_bh +EXPORT_SYMBOL vmlinux 0xc4ce175f unlock_buffer +EXPORT_SYMBOL vmlinux 0xc4ce6f65 vme_master_request +EXPORT_SYMBOL vmlinux 0xc4d0e458 pci_enable_device +EXPORT_SYMBOL vmlinux 0xc4f1abb8 dcb_getapp +EXPORT_SYMBOL vmlinux 0xc51a3640 down_write_killable +EXPORT_SYMBOL vmlinux 0xc5332321 md_cluster_ops +EXPORT_SYMBOL vmlinux 0xc54ee009 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc5583105 tcf_exts_validate_ex +EXPORT_SYMBOL vmlinux 0xc5616685 vfio_pin_pages +EXPORT_SYMBOL vmlinux 0xc5625a33 iget5_locked +EXPORT_SYMBOL vmlinux 0xc5675ec0 dev_addr_add +EXPORT_SYMBOL vmlinux 0xc56c3609 xz_dec_microlzma_reset +EXPORT_SYMBOL vmlinux 0xc572a9f3 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0xc575ade4 vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0xc5883ef6 folio_mark_accessed +EXPORT_SYMBOL vmlinux 0xc58d5a90 kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0xc595fa02 mipi_dsi_shutdown_peripheral +EXPORT_SYMBOL vmlinux 0xc599a772 security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc5a1d4a4 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0xc5a3367a __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xc5a396fd udplite_table +EXPORT_SYMBOL vmlinux 0xc5b6f236 queue_work_on +EXPORT_SYMBOL vmlinux 0xc5cb933c security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0xc5d1effc __bforget +EXPORT_SYMBOL vmlinux 0xc5d9c46c agp_try_unsupported_boot +EXPORT_SYMBOL vmlinux 0xc5e74216 release_resource +EXPORT_SYMBOL vmlinux 0xc5f19886 nf_log_unregister +EXPORT_SYMBOL vmlinux 0xc5f7e801 sg_last +EXPORT_SYMBOL vmlinux 0xc608d292 agp_unbind_memory +EXPORT_SYMBOL vmlinux 0xc60d0620 __num_online_cpus +EXPORT_SYMBOL vmlinux 0xc61b13d5 security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0xc61b8087 idr_destroy +EXPORT_SYMBOL vmlinux 0xc61ca65e iowrite64be_hi_lo +EXPORT_SYMBOL vmlinux 0xc61dbb59 netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc633d82d phy_unregister_fixup +EXPORT_SYMBOL vmlinux 0xc6369552 sync_file_get_fence +EXPORT_SYMBOL vmlinux 0xc65af6e2 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0xc65e4e97 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0xc6603bcc skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0xc660bafa dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0xc664b528 mempool_create_node +EXPORT_SYMBOL vmlinux 0xc666a132 crc_t10dif +EXPORT_SYMBOL vmlinux 0xc66a8304 cpu_rmap_add +EXPORT_SYMBOL vmlinux 0xc67af65b register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0xc683cf53 of_n_size_cells +EXPORT_SYMBOL vmlinux 0xc6b688bf tty_port_destroy +EXPORT_SYMBOL vmlinux 0xc6cb465a __kfifo_max_r +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6d09aa9 release_firmware +EXPORT_SYMBOL vmlinux 0xc6d220d1 rtas_busy_delay +EXPORT_SYMBOL vmlinux 0xc6d6af46 ppc_pci_io +EXPORT_SYMBOL vmlinux 0xc6f3b3fc refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0xc6f46339 init_timer_key +EXPORT_SYMBOL vmlinux 0xc6faa06c rt_dst_alloc +EXPORT_SYMBOL vmlinux 0xc70e92af devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0xc715b441 sock_from_file +EXPORT_SYMBOL vmlinux 0xc7208c3a serial8250_resume_port +EXPORT_SYMBOL vmlinux 0xc722a12e hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0xc730250b path_put +EXPORT_SYMBOL vmlinux 0xc748dfb1 jbd2_fc_wait_bufs +EXPORT_SYMBOL vmlinux 0xc760ff96 iov_iter_pipe +EXPORT_SYMBOL vmlinux 0xc767bfd9 pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0xc7816bea pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xc781bd9f rfkill_resume_polling +EXPORT_SYMBOL vmlinux 0xc7856a3d inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc79e3252 ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7c1107a LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0xc7d094b5 dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xc7dafbab tc_cleanup_offload_action +EXPORT_SYMBOL vmlinux 0xc7f34787 pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0xc7f484b1 ida_destroy +EXPORT_SYMBOL vmlinux 0xc8312c20 mdiobus_register_device +EXPORT_SYMBOL vmlinux 0xc836e7ca flow_keys_dissector +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc8569cc2 key_put +EXPORT_SYMBOL vmlinux 0xc859a615 dcb_setapp +EXPORT_SYMBOL vmlinux 0xc872fd85 in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0xc8827b75 sysctl_vals +EXPORT_SYMBOL vmlinux 0xc8885593 blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0xc88d2989 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0xc890c008 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xc8a91f5b cpumask_local_spread +EXPORT_SYMBOL vmlinux 0xc8bc1186 inet6_register_protosw +EXPORT_SYMBOL vmlinux 0xc8c167b3 tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0xc8ccdd1d phy_resume +EXPORT_SYMBOL vmlinux 0xc8dcc62a krealloc +EXPORT_SYMBOL vmlinux 0xc8f5a95a wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xc916dd46 __SCK__tp_func_kmalloc +EXPORT_SYMBOL vmlinux 0xc955cb2c down_trylock +EXPORT_SYMBOL vmlinux 0xc9634df9 in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0xc972449f mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0xc97d7443 wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0xc9813af6 __skb_checksum +EXPORT_SYMBOL vmlinux 0xc9822234 clk_register_clkdev +EXPORT_SYMBOL vmlinux 0xc99e2a55 twl_rev +EXPORT_SYMBOL vmlinux 0xc9bbf670 blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0xc9d7967a __sk_receive_skb +EXPORT_SYMBOL vmlinux 0xc9dc3d79 __pte_frag_size_shift +EXPORT_SYMBOL vmlinux 0xc9df055a xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xc9e02755 tty_write_room +EXPORT_SYMBOL vmlinux 0xca07ce07 flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0xca122f2b ethtool_get_phc_vclocks +EXPORT_SYMBOL vmlinux 0xca1648d4 zstd_decompress_dctx +EXPORT_SYMBOL vmlinux 0xca18bf28 input_flush_device +EXPORT_SYMBOL vmlinux 0xca1f4680 pci_get_subsys +EXPORT_SYMBOL vmlinux 0xca21ebd3 bitmap_free +EXPORT_SYMBOL vmlinux 0xca3b28c6 store_vr_state +EXPORT_SYMBOL vmlinux 0xca431c05 wake_bit_function +EXPORT_SYMBOL vmlinux 0xca47aa05 nf_reinject +EXPORT_SYMBOL vmlinux 0xca5f3154 radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0xca65c911 devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0xca8c938f address_space_init_once +EXPORT_SYMBOL vmlinux 0xca9360b5 rb_next +EXPORT_SYMBOL vmlinux 0xca95bb5f pci_dev_get +EXPORT_SYMBOL vmlinux 0xca9dbb44 vfio_dma_rw +EXPORT_SYMBOL vmlinux 0xca9efeb7 tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0xcabb9b46 kobject_del +EXPORT_SYMBOL vmlinux 0xcacb4e78 tty_check_change +EXPORT_SYMBOL vmlinux 0xcad1c491 inode_nohighmem +EXPORT_SYMBOL vmlinux 0xcaf3331f tty_unregister_device +EXPORT_SYMBOL vmlinux 0xcb0288ea ledtrig_cpu +EXPORT_SYMBOL vmlinux 0xcb0a5174 vfs_iter_write +EXPORT_SYMBOL vmlinux 0xcb2ea0b5 finish_wait +EXPORT_SYMBOL vmlinux 0xcb30f6fc dcache_dir_open +EXPORT_SYMBOL vmlinux 0xcb37132c security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0xcb3ae215 call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xcb3c8a7d ___ratelimit +EXPORT_SYMBOL vmlinux 0xcb3d1a37 rtc_add_group +EXPORT_SYMBOL vmlinux 0xcb3ff0c2 get_tree_keyed +EXPORT_SYMBOL vmlinux 0xcb4ab1b6 vfs_link +EXPORT_SYMBOL vmlinux 0xcb4dd8d1 mmc_alloc_host +EXPORT_SYMBOL vmlinux 0xcb52831a nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0xcb54da6f ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0xcb66db37 agp_backend_release +EXPORT_SYMBOL vmlinux 0xcb745ec7 netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0xcbbdf955 udp_gro_receive +EXPORT_SYMBOL vmlinux 0xcbbf0a6f audit_log_task_context +EXPORT_SYMBOL vmlinux 0xcbc3b94e eeh_check_failure +EXPORT_SYMBOL vmlinux 0xcbc83d30 alloc_pages +EXPORT_SYMBOL vmlinux 0xcbcc1f6b param_set_bool +EXPORT_SYMBOL vmlinux 0xcbcf0968 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0xcbd4898c fortify_panic +EXPORT_SYMBOL vmlinux 0xcbdbde47 __debugger_iabr_match +EXPORT_SYMBOL vmlinux 0xcbed7dde block_commit_write +EXPORT_SYMBOL vmlinux 0xcbee68bc dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0xcbf5cf09 mach_powernv +EXPORT_SYMBOL vmlinux 0xcbfb33e4 init_opal_dev +EXPORT_SYMBOL vmlinux 0xcc23002a hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xcc248d26 serial8250_suspend_port +EXPORT_SYMBOL vmlinux 0xcc2687cf seq_lseek +EXPORT_SYMBOL vmlinux 0xcc328a5c reservation_ww_class +EXPORT_SYMBOL vmlinux 0xcc3e6ae6 pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0xcc411ed1 ptp_convert_timestamp +EXPORT_SYMBOL vmlinux 0xcc445ceb __sg_page_iter_dma_next +EXPORT_SYMBOL vmlinux 0xcc465047 simple_lookup +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5d22d9 can_do_mlock +EXPORT_SYMBOL vmlinux 0xcc626c2c completion_done +EXPORT_SYMBOL vmlinux 0xcc64b052 serio_unregister_driver +EXPORT_SYMBOL vmlinux 0xcc901f82 genphy_read_mmd_unsupported +EXPORT_SYMBOL vmlinux 0xcca3cba9 input_allocate_device +EXPORT_SYMBOL vmlinux 0xccb6eac8 dma_fence_free +EXPORT_SYMBOL vmlinux 0xccb80d3d to_ndd +EXPORT_SYMBOL vmlinux 0xccc66e43 security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0xccc74e27 input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0xccd243ce inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0xccd4c999 __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0xccd76092 tcf_action_update_hw_stats +EXPORT_SYMBOL vmlinux 0xcce485d3 __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0xcce64ac5 may_umount_tree +EXPORT_SYMBOL vmlinux 0xccfb9e07 dst_default_metrics +EXPORT_SYMBOL vmlinux 0xccfd2ebc scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0xcd124150 create_empty_buffers +EXPORT_SYMBOL vmlinux 0xcd1cc9aa pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0xcd256667 tcp_md5_needed +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd379a72 twl6040_reg_write +EXPORT_SYMBOL vmlinux 0xcd3d4377 __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0xcd3e2d4e inet6_add_protocol +EXPORT_SYMBOL vmlinux 0xcd434056 neigh_for_each +EXPORT_SYMBOL vmlinux 0xcd5a4308 keyring_alloc +EXPORT_SYMBOL vmlinux 0xcd7b6452 padata_do_parallel +EXPORT_SYMBOL vmlinux 0xcd826c23 rt_dst_clone +EXPORT_SYMBOL vmlinux 0xcd86c87f __cond_resched_lock +EXPORT_SYMBOL vmlinux 0xcd886477 tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0xcd906ffa vio_register_device_node +EXPORT_SYMBOL vmlinux 0xcda7b218 call_fib_notifiers +EXPORT_SYMBOL vmlinux 0xcda87909 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0xcdb6562a __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0xcdc0349c add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xcdc153bc xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0xcdc39c9e security_ismaclabel +EXPORT_SYMBOL vmlinux 0xcdcf4cb2 bh_submit_read +EXPORT_SYMBOL vmlinux 0xcde77bcc free_opal_dev +EXPORT_SYMBOL vmlinux 0xcdee038f _raw_spin_trylock +EXPORT_SYMBOL vmlinux 0xcdfe0a16 __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xce18bbe1 fsl_lbc_addr +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce2c6db6 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xce35a51c blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0xce443924 lease_get_mtime +EXPORT_SYMBOL vmlinux 0xce4496bf kill_fasync +EXPORT_SYMBOL vmlinux 0xce4cdb8e fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xce4d709e param_set_uint +EXPORT_SYMBOL vmlinux 0xce4e47b6 __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0xce53aa61 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce66e95d max8998_bulk_write +EXPORT_SYMBOL vmlinux 0xce731b34 ucc_slow_get_qe_cr_subblock +EXPORT_SYMBOL vmlinux 0xce740f82 fb_find_mode +EXPORT_SYMBOL vmlinux 0xce807151 idr_get_next +EXPORT_SYMBOL vmlinux 0xce8815bc pci_release_regions +EXPORT_SYMBOL vmlinux 0xce910775 input_match_device_id +EXPORT_SYMBOL vmlinux 0xce914ef6 md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0xce9e4b16 phy_device_free +EXPORT_SYMBOL vmlinux 0xcea13239 proc_dobool +EXPORT_SYMBOL vmlinux 0xceaa72ab ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0xceab0311 strchrnul +EXPORT_SYMBOL vmlinux 0xceade55a user_path_at_empty +EXPORT_SYMBOL vmlinux 0xcebd3ca7 __sk_dst_check +EXPORT_SYMBOL vmlinux 0xcec5feeb cur_cpu_spec +EXPORT_SYMBOL vmlinux 0xcec766f1 __memset16 +EXPORT_SYMBOL vmlinux 0xced2d07c pci_write_vpd +EXPORT_SYMBOL vmlinux 0xced2fd8c register_mii_timestamper +EXPORT_SYMBOL vmlinux 0xcee3e869 netif_tx_lock +EXPORT_SYMBOL vmlinux 0xceeba656 tcp_stream_memory_free +EXPORT_SYMBOL vmlinux 0xcef2e92d tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0xcefcd99a serial8250_unregister_port +EXPORT_SYMBOL vmlinux 0xcf0cf433 fwnode_mdiobus_phy_device_register +EXPORT_SYMBOL vmlinux 0xcf33c3a9 agp_generic_type_to_mask_type +EXPORT_SYMBOL vmlinux 0xcf3b69b3 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xcf3e5e28 flush_all_to_thread +EXPORT_SYMBOL vmlinux 0xcf414e0f inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0xcf50df22 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0xcf69b32c fasync_helper +EXPORT_SYMBOL vmlinux 0xcf910b4f get_unmapped_area +EXPORT_SYMBOL vmlinux 0xcf92da66 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0xcf96e4d6 request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0xcf9a189a down_timeout +EXPORT_SYMBOL vmlinux 0xcf9b558d touchscreen_set_mt_pos +EXPORT_SYMBOL vmlinux 0xcfa1678c mmc_unregister_driver +EXPORT_SYMBOL vmlinux 0xcfc3ada9 ps2_command +EXPORT_SYMBOL vmlinux 0xcfd3a9a0 rtnl_configure_link +EXPORT_SYMBOL vmlinux 0xcfd884a8 __hsiphash_unaligned +EXPORT_SYMBOL vmlinux 0xcfd92e68 dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0xd014f497 dma_async_device_register +EXPORT_SYMBOL vmlinux 0xd0315d96 security_path_unlink +EXPORT_SYMBOL vmlinux 0xd040ab1f netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0xd04c1a64 sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0xd0654aba woken_wake_function +EXPORT_SYMBOL vmlinux 0xd066ea84 pci_choose_state +EXPORT_SYMBOL vmlinux 0xd06f136d fget +EXPORT_SYMBOL vmlinux 0xd0760fc0 kfree_sensitive +EXPORT_SYMBOL vmlinux 0xd07686c8 of_n_addr_cells +EXPORT_SYMBOL vmlinux 0xd082eb5d pci_dev_put +EXPORT_SYMBOL vmlinux 0xd083041b jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0xd0befd12 textsearch_register +EXPORT_SYMBOL vmlinux 0xd0bfb8b0 pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0xd0fe8d51 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0xd0fef3b2 agp_free_key +EXPORT_SYMBOL vmlinux 0xd1006f45 __sock_create +EXPORT_SYMBOL vmlinux 0xd103535c netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0xd10f36ec skb_set_owner_w +EXPORT_SYMBOL vmlinux 0xd1262886 rtas_data_buf +EXPORT_SYMBOL vmlinux 0xd12a72be eth_gro_complete +EXPORT_SYMBOL vmlinux 0xd12e82f3 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xd13b232a put_ipc_ns +EXPORT_SYMBOL vmlinux 0xd17f9f47 ip6_frag_init +EXPORT_SYMBOL vmlinux 0xd199a342 devm_devfreq_register_opp_notifier +EXPORT_SYMBOL vmlinux 0xd19c1b7d pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0xd19caaac ilookup +EXPORT_SYMBOL vmlinux 0xd1a83098 dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0xd1ada28a pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0xd1b2e307 passthru_features_check +EXPORT_SYMBOL vmlinux 0xd1d87e92 scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0xd1e7bdfc pci_map_rom +EXPORT_SYMBOL vmlinux 0xd1f210d7 mipi_dsi_set_maximum_return_packet_size +EXPORT_SYMBOL vmlinux 0xd1f5f94e dev_addr_del +EXPORT_SYMBOL vmlinux 0xd2151b62 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xd21c5139 iowrite64_lo_hi +EXPORT_SYMBOL vmlinux 0xd21cb5c8 vfs_readlink +EXPORT_SYMBOL vmlinux 0xd23e780e clk_bulk_get_all +EXPORT_SYMBOL vmlinux 0xd24108d4 rfkill_soft_blocked +EXPORT_SYMBOL vmlinux 0xd242bd5b flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0xd2486bbe unlock_new_inode +EXPORT_SYMBOL vmlinux 0xd2582f8f __SCK__tp_func_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd263c721 kobject_put +EXPORT_SYMBOL vmlinux 0xd27b25dd blk_check_plugged +EXPORT_SYMBOL vmlinux 0xd2800691 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd29972ef nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0xd2ada0b6 dquot_free_inode +EXPORT_SYMBOL vmlinux 0xd2c016f4 __udp_disconnect +EXPORT_SYMBOL vmlinux 0xd2c99738 __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0xd2d66885 __fput_sync +EXPORT_SYMBOL vmlinux 0xd2d88506 netdev_offload_xstats_report_used +EXPORT_SYMBOL vmlinux 0xd2da1048 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xd2dc2a64 inc_nlink +EXPORT_SYMBOL vmlinux 0xd2deff31 blk_mq_start_request +EXPORT_SYMBOL vmlinux 0xd2df8b93 __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0xd2e2a9d0 hdmi_spd_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0xd31ccb06 of_machine_is_compatible +EXPORT_SYMBOL vmlinux 0xd32e0292 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0xd33e2781 mmc_of_parse +EXPORT_SYMBOL vmlinux 0xd34f2673 tcp_add_backlog +EXPORT_SYMBOL vmlinux 0xd352ef5e __inet_stream_connect +EXPORT_SYMBOL vmlinux 0xd3530d81 filemap_invalidate_lock_two +EXPORT_SYMBOL vmlinux 0xd3538844 seq_pad +EXPORT_SYMBOL vmlinux 0xd3543063 memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0xd356c7cd vfio_unregister_notifier +EXPORT_SYMBOL vmlinux 0xd35a6d31 mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xd36dc10c get_random_u32 +EXPORT_SYMBOL vmlinux 0xd36e3d59 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0xd37cbe97 __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0xd380a224 __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0xd3a88f68 arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0xd3b4014d inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0xd3b49a05 blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0xd3bf1ef9 sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0xd3cbafec napi_get_frags +EXPORT_SYMBOL vmlinux 0xd3cbe560 pci_iomap_range +EXPORT_SYMBOL vmlinux 0xd3e74325 agp_generic_alloc_page +EXPORT_SYMBOL vmlinux 0xd3f64f86 pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0xd406d266 fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xd41a807d devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0xd425c8b7 pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0xd434e02f blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xd4429d20 dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0xd44ba824 dmaengine_get_unmap_data +EXPORT_SYMBOL vmlinux 0xd45a6782 flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0xd45cc6ca bin2hex +EXPORT_SYMBOL vmlinux 0xd480a4c8 module_layout +EXPORT_SYMBOL vmlinux 0xd48aee2c ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0xd48fdeef dql_completed +EXPORT_SYMBOL vmlinux 0xd4921f62 flow_block_cb_setup_simple +EXPORT_SYMBOL vmlinux 0xd49ac016 mipi_dsi_dcs_set_display_off +EXPORT_SYMBOL vmlinux 0xd4a844a9 fwnode_phy_find_device +EXPORT_SYMBOL vmlinux 0xd4b0dde7 __skb_recv_udp +EXPORT_SYMBOL vmlinux 0xd4bb4a82 inet6addr_validator_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd4be3c16 proc_create_single_data +EXPORT_SYMBOL vmlinux 0xd4c34c88 ptp_find_pin +EXPORT_SYMBOL vmlinux 0xd4c4efac d_alloc_anon +EXPORT_SYMBOL vmlinux 0xd4d7c068 fsl_upm_find +EXPORT_SYMBOL vmlinux 0xd4dbb265 dma_map_sg_attrs +EXPORT_SYMBOL vmlinux 0xd4de4f26 dm_io +EXPORT_SYMBOL vmlinux 0xd4ea53c3 phy_detach +EXPORT_SYMBOL vmlinux 0xd4eea929 inet_accept +EXPORT_SYMBOL vmlinux 0xd4fa5a87 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0xd4fd0ec2 radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0xd518d6b7 kthread_create_worker +EXPORT_SYMBOL vmlinux 0xd519b028 vfs_create_mount +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd529f474 filemap_range_has_page +EXPORT_SYMBOL vmlinux 0xd52a64df __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0xd53fe053 ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0xd541c984 locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0xd55b4599 pci_disable_msix +EXPORT_SYMBOL vmlinux 0xd55fa416 forget_cached_acl +EXPORT_SYMBOL vmlinux 0xd5755bf8 trace_event_printf +EXPORT_SYMBOL vmlinux 0xd57baee0 __netdev_notify_peers +EXPORT_SYMBOL vmlinux 0xd58b2147 mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0xd5a045d7 sock_set_keepalive +EXPORT_SYMBOL vmlinux 0xd5a70065 security_inode_init_security +EXPORT_SYMBOL vmlinux 0xd5ace3d3 get_task_cred +EXPORT_SYMBOL vmlinux 0xd5b12f7d radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0xd5b3d0d5 xxh64_copy_state +EXPORT_SYMBOL vmlinux 0xd5be130e cpu_core_map +EXPORT_SYMBOL vmlinux 0xd5d013b7 mipi_dsi_dcs_get_display_brightness +EXPORT_SYMBOL vmlinux 0xd5d288ac bio_init_clone +EXPORT_SYMBOL vmlinux 0xd60249c0 mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0xd602927b register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xd6045c89 giveup_fpu +EXPORT_SYMBOL vmlinux 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0xd61013cc nf_register_net_hook +EXPORT_SYMBOL vmlinux 0xd61c2a91 of_find_mipi_dsi_device_by_node +EXPORT_SYMBOL vmlinux 0xd63cd60c proto_unregister +EXPORT_SYMBOL vmlinux 0xd64d0c6d blk_post_runtime_suspend +EXPORT_SYMBOL vmlinux 0xd65c21f8 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0xd66c8184 add_device_randomness +EXPORT_SYMBOL vmlinux 0xd680ff8c writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xd6841dda netif_receive_skb +EXPORT_SYMBOL vmlinux 0xd6847255 dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0xd68600a4 napi_consume_skb +EXPORT_SYMBOL vmlinux 0xd688716b dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xd68c5a1f adjust_resource +EXPORT_SYMBOL vmlinux 0xd6900764 pci_read_config_word +EXPORT_SYMBOL vmlinux 0xd69052db scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0xd69948fb proc_dointvec +EXPORT_SYMBOL vmlinux 0xd6a91f54 twl_i2c_read +EXPORT_SYMBOL vmlinux 0xd6b0cbe6 udp_seq_start +EXPORT_SYMBOL vmlinux 0xd6b29f76 lookup_one_positive_unlocked +EXPORT_SYMBOL vmlinux 0xd6bb8c1e max8998_update_reg +EXPORT_SYMBOL vmlinux 0xd6bde284 component_match_add_typed +EXPORT_SYMBOL vmlinux 0xd6d39d3c set_blocksize +EXPORT_SYMBOL vmlinux 0xd6ea283b qdisc_hash_del +EXPORT_SYMBOL vmlinux 0xd6eaaea1 full_name_hash +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6fd4053 __arch_hweight32 +EXPORT_SYMBOL vmlinux 0xd6fde043 is_module_sig_enforced +EXPORT_SYMBOL vmlinux 0xd700d850 ihold +EXPORT_SYMBOL vmlinux 0xd70d35a1 gf128mul_4k_bbe +EXPORT_SYMBOL vmlinux 0xd70e849e pci_match_id +EXPORT_SYMBOL vmlinux 0xd713611f phy_do_ioctl +EXPORT_SYMBOL vmlinux 0xd7184c04 vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0xd738ca1b phy_unregister_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd739213e of_create_pci_dev +EXPORT_SYMBOL vmlinux 0xd73c8c2b synchronize_shrinkers +EXPORT_SYMBOL vmlinux 0xd7482f05 vcalloc +EXPORT_SYMBOL vmlinux 0xd74d8bc4 __scm_destroy +EXPORT_SYMBOL vmlinux 0xd750d9fb nd_region_acquire_lane +EXPORT_SYMBOL vmlinux 0xd76acb81 filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0xd76fdace inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0xd777b1ab km_report +EXPORT_SYMBOL vmlinux 0xd786c0ea plpar_hcall9 +EXPORT_SYMBOL vmlinux 0xd7896b58 kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0xd7987177 utf8_load +EXPORT_SYMBOL vmlinux 0xd7a60a1c mfd_cell_enable +EXPORT_SYMBOL vmlinux 0xd7b064e9 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0xd7cd1b9c xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0xd7d280ad irq_poll_complete +EXPORT_SYMBOL vmlinux 0xd7d9c076 release_pages +EXPORT_SYMBOL vmlinux 0xd7da2d53 fqdir_exit +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7ea7094 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xd7ebda43 uart_update_timeout +EXPORT_SYMBOL vmlinux 0xd7f0ef02 d_instantiate_anon +EXPORT_SYMBOL vmlinux 0xd7f5ce82 skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0xd80378ed cdev_set_parent +EXPORT_SYMBOL vmlinux 0xd810fadb __ip_dev_find +EXPORT_SYMBOL vmlinux 0xd81b56bf invalidate_bdev +EXPORT_SYMBOL vmlinux 0xd8249d35 should_remove_suid +EXPORT_SYMBOL vmlinux 0xd83cdc99 udp_skb_destructor +EXPORT_SYMBOL vmlinux 0xd8548b30 gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0xd8895f57 icmp_ndo_send +EXPORT_SYMBOL vmlinux 0xd88d6692 follow_up +EXPORT_SYMBOL vmlinux 0xd896c172 put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd8a994eb scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0xd8b2f4a3 netdev_crit +EXPORT_SYMBOL vmlinux 0xd8b43edc mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0xd8b61304 get_default_font +EXPORT_SYMBOL vmlinux 0xd8bf52a0 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0xd90882b1 register_filesystem +EXPORT_SYMBOL vmlinux 0xd90c7bc0 scsi_device_resume +EXPORT_SYMBOL vmlinux 0xd91f6ab6 strnlen_user +EXPORT_SYMBOL vmlinux 0xd923e3bf dma_fence_add_callback +EXPORT_SYMBOL vmlinux 0xd9337113 mfd_add_devices +EXPORT_SYMBOL vmlinux 0xd93427b3 __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0xd949709e unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0xd9858368 d_add_ci +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd985fdb2 sk_stream_error +EXPORT_SYMBOL vmlinux 0xd98c34fa __dquot_transfer +EXPORT_SYMBOL vmlinux 0xd9a1dc63 md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0xd9a347b0 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0xd9b8eaea __SCK__tp_func_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xd9bac924 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0xd9c42a53 sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0xd9c96876 starget_for_each_device +EXPORT_SYMBOL vmlinux 0xd9d64802 padata_free_shell +EXPORT_SYMBOL vmlinux 0xd9d8e61d par_io_of_config +EXPORT_SYMBOL vmlinux 0xd9d8fd16 register_restart_handler +EXPORT_SYMBOL vmlinux 0xd9d952d1 crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0xd9f0ca61 sock_create_kern +EXPORT_SYMBOL vmlinux 0xd9f2175a agp_generic_destroy_pages +EXPORT_SYMBOL vmlinux 0xd9fd5415 vme_bus_num +EXPORT_SYMBOL vmlinux 0xda297b7d netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0xda36e533 page_symlink +EXPORT_SYMBOL vmlinux 0xda3b60f0 dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0xda3d10a8 security_tun_dev_open +EXPORT_SYMBOL vmlinux 0xda69bd3c copy_string_kernel +EXPORT_SYMBOL vmlinux 0xda9fe7a6 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0xdaa3714d ppp_register_channel +EXPORT_SYMBOL vmlinux 0xdac4913a bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0xdad1fc3f zstd_flush_stream +EXPORT_SYMBOL vmlinux 0xdae10d9f dma_pool_create +EXPORT_SYMBOL vmlinux 0xdae5552e ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0xdaec288d pr_flush +EXPORT_SYMBOL vmlinux 0xdaecefe5 serio_reconnect +EXPORT_SYMBOL vmlinux 0xdaf93160 skb_vlan_push +EXPORT_SYMBOL vmlinux 0xdb1e7f2d mipi_dsi_dcs_set_display_brightness +EXPORT_SYMBOL vmlinux 0xdb2abde4 __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0xdb311b9e build_skb_around +EXPORT_SYMBOL vmlinux 0xdb3f1500 sk_capable +EXPORT_SYMBOL vmlinux 0xdb68bbad rfkill_destroy +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb7b06a4 close_fd_get_file +EXPORT_SYMBOL vmlinux 0xdb7e025a dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0xdb8227b1 dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0xdb849abf security_task_getsecid_obj +EXPORT_SYMBOL vmlinux 0xdb9adb47 config_group_init_type_name +EXPORT_SYMBOL vmlinux 0xdbb14407 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xdbbb0591 rproc_alloc +EXPORT_SYMBOL vmlinux 0xdbdf6c92 ioport_resource +EXPORT_SYMBOL vmlinux 0xdbe440e1 tcf_classify +EXPORT_SYMBOL vmlinux 0xdbebf260 jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0xdbf3110e gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0xdbfa0017 cpu_all_bits +EXPORT_SYMBOL vmlinux 0xdc11df62 nobh_writepage +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc1a2d2f km_new_mapping +EXPORT_SYMBOL vmlinux 0xdc2d256c flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0xdc3cde61 page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc3fcbcb __mutex_init +EXPORT_SYMBOL vmlinux 0xdc49c198 reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0xdc512134 backlight_register_notifier +EXPORT_SYMBOL vmlinux 0xdc568cf0 dquot_initialize +EXPORT_SYMBOL vmlinux 0xdc6fa739 user_path_create +EXPORT_SYMBOL vmlinux 0xdc75cec9 phy_aneg_done +EXPORT_SYMBOL vmlinux 0xdc7a0fc9 dm_get_device +EXPORT_SYMBOL vmlinux 0xdc9498dd down +EXPORT_SYMBOL vmlinux 0xdcac4521 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0xdcb3e5f1 mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0xdcb764ad memset +EXPORT_SYMBOL vmlinux 0xdcbf86b3 input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0xdccf39c2 hmm_range_fault +EXPORT_SYMBOL vmlinux 0xdcdc0040 slhc_compress +EXPORT_SYMBOL vmlinux 0xdce5468e md_set_array_sectors +EXPORT_SYMBOL vmlinux 0xdcf5a505 sock_no_bind +EXPORT_SYMBOL vmlinux 0xdd026c4b pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0xdd2c169b mb_cache_create +EXPORT_SYMBOL vmlinux 0xdd467bd2 tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0xdd52eec4 input_setup_polling +EXPORT_SYMBOL vmlinux 0xdd64e639 strscpy +EXPORT_SYMBOL vmlinux 0xdd76e33a pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0xdd849d51 scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0xdd951a1d of_platform_device_create +EXPORT_SYMBOL vmlinux 0xddb3769b lockref_mark_dead +EXPORT_SYMBOL vmlinux 0xddcca2df netlink_broadcast +EXPORT_SYMBOL vmlinux 0xdddab0e2 sock_gettstamp +EXPORT_SYMBOL vmlinux 0xde06edff agp_generic_destroy_page +EXPORT_SYMBOL vmlinux 0xde3c706e __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xde4465d5 devm_rproc_alloc +EXPORT_SYMBOL vmlinux 0xde45d085 folio_migrate_copy +EXPORT_SYMBOL vmlinux 0xde45d92b pcibus_to_node +EXPORT_SYMBOL vmlinux 0xde461484 set_groups +EXPORT_SYMBOL vmlinux 0xde4d4ace dim_calc_stats +EXPORT_SYMBOL vmlinux 0xde57cea6 dma_free_attrs +EXPORT_SYMBOL vmlinux 0xde66f446 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xde6ffe3f pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0xde78ba26 skb_queue_purge +EXPORT_SYMBOL vmlinux 0xde7cd709 rtas +EXPORT_SYMBOL vmlinux 0xde91448c load_vr_state +EXPORT_SYMBOL vmlinux 0xde9b17ed agp3_generic_fetch_size +EXPORT_SYMBOL vmlinux 0xdea94f44 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0xded39a6b gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xdeea2d51 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0xdeeb424c nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0xdef52925 mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0xdef7c893 fb_match_mode +EXPORT_SYMBOL vmlinux 0xdf00b5d7 percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0xdf0c31a7 find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0xdf1afa71 configfs_register_group +EXPORT_SYMBOL vmlinux 0xdf256037 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0xdf2c2742 rb_last +EXPORT_SYMBOL vmlinux 0xdf327599 from_kprojid +EXPORT_SYMBOL vmlinux 0xdf43211d t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0xdf4ac4e4 tcp_set_rcvlowat +EXPORT_SYMBOL vmlinux 0xdf516385 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0xdf54a1da tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xdf54a8f7 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdf66b42d flow_rule_alloc +EXPORT_SYMBOL vmlinux 0xdf6c5a5a dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0xdf761328 device_add_disk +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf93b9d8 timespec64_to_jiffies +EXPORT_SYMBOL vmlinux 0xdf9a4f5e security_sb_remount +EXPORT_SYMBOL vmlinux 0xdfae1543 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0xdfb344a3 iov_iter_xarray +EXPORT_SYMBOL vmlinux 0xdfb605cc of_clk_get +EXPORT_SYMBOL vmlinux 0xdfc12ef1 zstd_decompress_stream +EXPORT_SYMBOL vmlinux 0xdfc81993 put_disk +EXPORT_SYMBOL vmlinux 0xdfcc992c current_work +EXPORT_SYMBOL vmlinux 0xdfd1c3cd nvdimm_namespace_capacity +EXPORT_SYMBOL vmlinux 0xdfddb954 nf_getsockopt +EXPORT_SYMBOL vmlinux 0xdff536e1 sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0xdff905e5 vme_slave_free +EXPORT_SYMBOL vmlinux 0xdffc80fc vesa_modes +EXPORT_SYMBOL vmlinux 0xe0059cc8 sock_i_ino +EXPORT_SYMBOL vmlinux 0xe0091d7a input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0xe00a611c agp_free_memory +EXPORT_SYMBOL vmlinux 0xe022e639 gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0xe02a6566 ps2_init +EXPORT_SYMBOL vmlinux 0xe0419ac4 kstrtos16 +EXPORT_SYMBOL vmlinux 0xe062d97e paca_ptrs +EXPORT_SYMBOL vmlinux 0xe06e3abc get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0xe070019a __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0xe080e8f0 set_current_groups +EXPORT_SYMBOL vmlinux 0xe0840703 phy_modify_paged_changed +EXPORT_SYMBOL vmlinux 0xe08e95c8 fault_in_iov_iter_writeable +EXPORT_SYMBOL vmlinux 0xe091c977 list_sort +EXPORT_SYMBOL vmlinux 0xe0987518 nd_pfn_validate +EXPORT_SYMBOL vmlinux 0xe0a323f6 __do_once_slow_start +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0b4a14f rproc_add +EXPORT_SYMBOL vmlinux 0xe0bf8edc ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0xe0c49a83 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0xe0caeb21 inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0xe0d02f67 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0xe0d171a3 alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xe0dba5f6 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0xe0e864af phy_attach +EXPORT_SYMBOL vmlinux 0xe0ed1c8d get_agp_version +EXPORT_SYMBOL vmlinux 0xe0f77ac0 xp_can_alloc +EXPORT_SYMBOL vmlinux 0xe1078f0e param_get_charp +EXPORT_SYMBOL vmlinux 0xe117512d param_get_invbool +EXPORT_SYMBOL vmlinux 0xe11c1526 neigh_lookup +EXPORT_SYMBOL vmlinux 0xe123f3d9 dma_fence_release +EXPORT_SYMBOL vmlinux 0xe12bda79 vme_dma_free_attribute +EXPORT_SYMBOL vmlinux 0xe14164d3 xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0xe162f3b5 __icmp_send +EXPORT_SYMBOL vmlinux 0xe18c721b ip_do_fragment +EXPORT_SYMBOL vmlinux 0xe1af72c0 flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0xe1bef007 netlink_ns_capable +EXPORT_SYMBOL vmlinux 0xe1d43b84 _raw_write_lock_nested +EXPORT_SYMBOL vmlinux 0xe1dcf64a audit_log_format +EXPORT_SYMBOL vmlinux 0xe1deb206 ps2_handle_response +EXPORT_SYMBOL vmlinux 0xe1df1220 sock_set_priority +EXPORT_SYMBOL vmlinux 0xe1dfba47 vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0xe1ea27c8 tcp_time_wait +EXPORT_SYMBOL vmlinux 0xe1f56410 __bread_gfp +EXPORT_SYMBOL vmlinux 0xe2055c97 __vfs_setxattr +EXPORT_SYMBOL vmlinux 0xe21d57db uart_get_baud_rate +EXPORT_SYMBOL vmlinux 0xe21f18ac __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0xe2304303 mac_map_monitor_sense +EXPORT_SYMBOL vmlinux 0xe25d20d3 __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0xe26a01c9 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0xe273d75d alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0xe279d05d dquot_commit +EXPORT_SYMBOL vmlinux 0xe27f756c tty_name +EXPORT_SYMBOL vmlinux 0xe28b4c03 thaw_super +EXPORT_SYMBOL vmlinux 0xe29fb96e agp_bind_memory +EXPORT_SYMBOL vmlinux 0xe2b6622b tcp_recvmsg +EXPORT_SYMBOL vmlinux 0xe2c3693f fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xe2d28f08 fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2d792b5 dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0xe2d996dd xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0xe2e33bb9 unlock_rename +EXPORT_SYMBOL vmlinux 0xe2e391ad nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0xe2f68834 find_vma +EXPORT_SYMBOL vmlinux 0xe3183c69 genl_register_family +EXPORT_SYMBOL vmlinux 0xe32ab4d8 xxh64_digest +EXPORT_SYMBOL vmlinux 0xe32ac151 pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0xe32ee280 security_sb_mnt_opts_compat +EXPORT_SYMBOL vmlinux 0xe33ab46a jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0xe33cc232 sk_mc_loop +EXPORT_SYMBOL vmlinux 0xe3419758 udp_seq_stop +EXPORT_SYMBOL vmlinux 0xe3477939 of_graph_is_present +EXPORT_SYMBOL vmlinux 0xe34e8b26 sk_stop_timer_sync +EXPORT_SYMBOL vmlinux 0xe3845d9d locks_remove_posix +EXPORT_SYMBOL vmlinux 0xe39b2ea5 sha256 +EXPORT_SYMBOL vmlinux 0xe3c93900 ata_scsi_cmd_error_handler +EXPORT_SYMBOL vmlinux 0xe3cdb069 md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0xe3ce51a5 sync_inode_metadata +EXPORT_SYMBOL vmlinux 0xe3ec2f2b alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0xe3f29f70 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0xe3feba56 tasklet_unlock_spin_wait +EXPORT_SYMBOL vmlinux 0xe3ff2c41 get_random_u64 +EXPORT_SYMBOL vmlinux 0xe419bc99 iowrite32be +EXPORT_SYMBOL vmlinux 0xe4214767 __f_setown +EXPORT_SYMBOL vmlinux 0xe423ffe2 vme_master_mmap +EXPORT_SYMBOL vmlinux 0xe42a214e console_start +EXPORT_SYMBOL vmlinux 0xe42ac025 seq_putc +EXPORT_SYMBOL vmlinux 0xe4329092 __ctzdi2 +EXPORT_SYMBOL vmlinux 0xe4459748 dma_resv_add_fence +EXPORT_SYMBOL vmlinux 0xe45d4532 mipi_dsi_turn_on_peripheral +EXPORT_SYMBOL vmlinux 0xe4980b25 devm_backlight_device_unregister +EXPORT_SYMBOL vmlinux 0xe4a851ce neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0xe4ad5b84 pci_get_device +EXPORT_SYMBOL vmlinux 0xe4af8ea7 vio_find_node +EXPORT_SYMBOL vmlinux 0xe4ba316c mptcp_subflow_reqsk_alloc +EXPORT_SYMBOL vmlinux 0xe4bc2c2f hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0xe4d22f84 __ip_select_ident +EXPORT_SYMBOL vmlinux 0xe4da3ce7 agp_enable +EXPORT_SYMBOL vmlinux 0xe4e35e72 blk_pm_runtime_init +EXPORT_SYMBOL vmlinux 0xe4e7cff3 tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0xe4efb700 register_sysctl +EXPORT_SYMBOL vmlinux 0xe5052c35 gtm_set_timer16 +EXPORT_SYMBOL vmlinux 0xe516d86e input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe52e4b75 inet_frag_find +EXPORT_SYMBOL vmlinux 0xe551ca94 udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0xe58090ca security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0xe58fe84d jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0xe590dea3 sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0xe59c8b27 bioset_init +EXPORT_SYMBOL vmlinux 0xe5a68528 ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0xe5ac9c84 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0xe5afabd5 phy_set_asym_pause +EXPORT_SYMBOL vmlinux 0xe5b18786 __skb_pad +EXPORT_SYMBOL vmlinux 0xe5b29090 inet_del_protocol +EXPORT_SYMBOL vmlinux 0xe5bdccb3 pldmfw_op_pci_match_record +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe5d0bd84 __lock_buffer +EXPORT_SYMBOL vmlinux 0xe5d71a61 __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0xe5df15a3 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0xe5febe39 sock_init_data_uid +EXPORT_SYMBOL vmlinux 0xe60b40b7 open_with_fake_path +EXPORT_SYMBOL vmlinux 0xe60d7cc2 tcf_qevent_validate_change +EXPORT_SYMBOL vmlinux 0xe613a798 inet_addr_is_any +EXPORT_SYMBOL vmlinux 0xe6141cf2 skb_tx_error +EXPORT_SYMBOL vmlinux 0xe64a398c iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0xe6550092 utf8_casefold +EXPORT_SYMBOL vmlinux 0xe65e150e pnv_cxl_get_irq_count +EXPORT_SYMBOL vmlinux 0xe6607137 jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0xe67f64cb of_find_backlight_by_node +EXPORT_SYMBOL vmlinux 0xe68d9203 __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0xe694077f gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0xe6b7c070 submit_bio_noacct +EXPORT_SYMBOL vmlinux 0xe6ccf095 generic_write_end +EXPORT_SYMBOL vmlinux 0xe6d2458e do_trace_netlink_extack +EXPORT_SYMBOL vmlinux 0xe6d611af phy_support_asym_pause +EXPORT_SYMBOL vmlinux 0xe6ed48c6 register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0xe6f9c0fd sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0xe703d69f of_mdio_find_bus +EXPORT_SYMBOL vmlinux 0xe712e18e rio_query_mport +EXPORT_SYMBOL vmlinux 0xe7333f9b radix__flush_tlb_mm +EXPORT_SYMBOL vmlinux 0xe7442d24 dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0xe74438e9 agp_collect_device_status +EXPORT_SYMBOL vmlinux 0xe76335c5 __debugger +EXPORT_SYMBOL vmlinux 0xe789455b param_ops_bool +EXPORT_SYMBOL vmlinux 0xe79451c0 netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0xe796ecac __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xe79a2e0e set_page_dirty +EXPORT_SYMBOL vmlinux 0xe7aecccd page_cache_next_miss +EXPORT_SYMBOL vmlinux 0xe7c2ced7 get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0xe7ce7439 _memcpy_fromio +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7d7f5ff filemap_invalidate_unlock_two +EXPORT_SYMBOL vmlinux 0xe7f9c25f load_nls +EXPORT_SYMBOL vmlinux 0xe83010e9 neigh_carrier_down +EXPORT_SYMBOL vmlinux 0xe849ecab pci_scan_single_device +EXPORT_SYMBOL vmlinux 0xe8672e4f genphy_read_master_slave +EXPORT_SYMBOL vmlinux 0xe878cc22 radix_tree_tagged +EXPORT_SYMBOL vmlinux 0xe886aa6f vfs_fileattr_set +EXPORT_SYMBOL vmlinux 0xe88802ee folio_unlock +EXPORT_SYMBOL vmlinux 0xe8a63c2c cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0xe8a9edf2 xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0xe8b5c3c3 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xe8b80834 security_cred_getsecid +EXPORT_SYMBOL vmlinux 0xe8b9e339 param_get_short +EXPORT_SYMBOL vmlinux 0xe8d54c77 xa_clear_mark +EXPORT_SYMBOL vmlinux 0xe8d61ef0 pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0xe8da88a4 proc_create_seq_private +EXPORT_SYMBOL vmlinux 0xe8dbb642 may_setattr +EXPORT_SYMBOL vmlinux 0xe8df7267 dev_get_mac_address +EXPORT_SYMBOL vmlinux 0xe909997a bitmap_print_list_to_buf +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe9284440 d_alloc_parallel +EXPORT_SYMBOL vmlinux 0xe9477c23 pci_read_config_dword +EXPORT_SYMBOL vmlinux 0xe94f1342 phy_device_remove +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe959c77e tcp_filter +EXPORT_SYMBOL vmlinux 0xe9732d87 d_find_alias +EXPORT_SYMBOL vmlinux 0xe975e92b blk_get_queue +EXPORT_SYMBOL vmlinux 0xe9774d96 cad_pid +EXPORT_SYMBOL vmlinux 0xe9a46397 simple_empty +EXPORT_SYMBOL vmlinux 0xe9aaf799 vm_event_states +EXPORT_SYMBOL vmlinux 0xe9b2e190 proc_set_user +EXPORT_SYMBOL vmlinux 0xe9b4e2d3 page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xe9d4938d clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0xe9dc12a4 zstd_get_error_name +EXPORT_SYMBOL vmlinux 0xe9dc3164 flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0xe9e3a6e3 xfrm_unregister_type_offload +EXPORT_SYMBOL vmlinux 0xe9e75287 generic_block_bmap +EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0xe9fbb27a mdio_device_register +EXPORT_SYMBOL vmlinux 0xe9fc8b01 gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0xea3c8e4e scsilun_to_int +EXPORT_SYMBOL vmlinux 0xea426e43 mempool_resize +EXPORT_SYMBOL vmlinux 0xea4550b1 __block_write_full_page +EXPORT_SYMBOL vmlinux 0xea607d6d send_sig_mceerr +EXPORT_SYMBOL vmlinux 0xea6f9a36 zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0xea7356e2 done_path_create +EXPORT_SYMBOL vmlinux 0xea778fab sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0xea80392f on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0xeab24923 netdev_err +EXPORT_SYMBOL vmlinux 0xeab45c0f nd_btt_probe +EXPORT_SYMBOL vmlinux 0xeab4c181 kernel_getsockname +EXPORT_SYMBOL vmlinux 0xead03a46 devm_extcon_register_notifier_all +EXPORT_SYMBOL vmlinux 0xeadf42b2 module_refcount +EXPORT_SYMBOL vmlinux 0xeadf5574 mmc_retune_release +EXPORT_SYMBOL vmlinux 0xeae18f75 wake_up_process +EXPORT_SYMBOL vmlinux 0xeae8d9e4 bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0xeafc141f __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeb233a45 __kmalloc +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb3e8011 twl6040_clear_bits +EXPORT_SYMBOL vmlinux 0xeb44339a free_pages_exact +EXPORT_SYMBOL vmlinux 0xeb6fdddf tty_kref_put +EXPORT_SYMBOL vmlinux 0xeb74a124 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0xeb7cd9e3 __dec_node_page_state +EXPORT_SYMBOL vmlinux 0xeb8c7b7b cxl_use_count +EXPORT_SYMBOL vmlinux 0xeb8f2d4f __pmd_frag_size_shift +EXPORT_SYMBOL vmlinux 0xeb94a3c1 flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0xeb9e913d sgl_alloc_order +EXPORT_SYMBOL vmlinux 0xeb9eef52 match_uint +EXPORT_SYMBOL vmlinux 0xeba2a1f7 rtas_indicator_present +EXPORT_SYMBOL vmlinux 0xeba590c1 of_node_name_prefix +EXPORT_SYMBOL vmlinux 0xeba79a3a inode_set_flags +EXPORT_SYMBOL vmlinux 0xebd32cdd dma_fence_get_status +EXPORT_SYMBOL vmlinux 0xebd373e8 dev_pm_opp_register_notifier +EXPORT_SYMBOL vmlinux 0xebd79fbb km_policy_expired +EXPORT_SYMBOL vmlinux 0xebe36e64 skb_split +EXPORT_SYMBOL vmlinux 0xec09bf31 ip_getsockopt +EXPORT_SYMBOL vmlinux 0xec1b39bc set_security_override +EXPORT_SYMBOL vmlinux 0xec27bb96 of_find_matching_node_and_match +EXPORT_SYMBOL vmlinux 0xec33c668 __SCK__tp_func_spi_transfer_start +EXPORT_SYMBOL vmlinux 0xec4a0ce5 genphy_soft_reset +EXPORT_SYMBOL vmlinux 0xec4d9e3a clk_get_sys +EXPORT_SYMBOL vmlinux 0xec4fb493 remove_wait_queue +EXPORT_SYMBOL vmlinux 0xec9361c1 dev_get_by_index +EXPORT_SYMBOL vmlinux 0xec97ead8 __kernel_io_start +EXPORT_SYMBOL vmlinux 0xec9c2d70 watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0xecaad0a3 d_obtain_root +EXPORT_SYMBOL vmlinux 0xecc340ee pcie_ptm_enabled +EXPORT_SYMBOL vmlinux 0xecca3a4f twl6040_get_sysclk +EXPORT_SYMBOL vmlinux 0xecddb3d5 pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0xecdf9c69 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xece0f6e3 _dev_printk +EXPORT_SYMBOL vmlinux 0xece3bc14 __do_once_done +EXPORT_SYMBOL vmlinux 0xece784c2 rb_first +EXPORT_SYMBOL vmlinux 0xecfba725 neigh_connected_output +EXPORT_SYMBOL vmlinux 0xecfdaf20 pnv_cxl_alloc_hwirq_ranges +EXPORT_SYMBOL vmlinux 0xed12897c mmc_sw_reset +EXPORT_SYMBOL vmlinux 0xed313b8f xfrm_user_policy +EXPORT_SYMBOL vmlinux 0xed3557f4 dev_uc_init +EXPORT_SYMBOL vmlinux 0xed63dcb9 module_put +EXPORT_SYMBOL vmlinux 0xed656e30 udp_encap_disable +EXPORT_SYMBOL vmlinux 0xed684d47 mipi_dsi_picture_parameter_set +EXPORT_SYMBOL vmlinux 0xed6d6a45 __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0xed71ccc3 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0xed83248b security_unix_may_send +EXPORT_SYMBOL vmlinux 0xed8b4098 kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0xed9ef090 phy_device_create +EXPORT_SYMBOL vmlinux 0xeda6775e netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0xeda9e5da file_open_root +EXPORT_SYMBOL vmlinux 0xedb5b8f5 unix_gc_lock +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedd17b31 sock_get_timeout +EXPORT_SYMBOL vmlinux 0xede5ba07 serio_rescan +EXPORT_SYMBOL vmlinux 0xedf6f526 unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0xedf97ce0 clk_add_alias +EXPORT_SYMBOL vmlinux 0xee2a336f dev_add_pack +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee58e970 fb_add_videomode +EXPORT_SYMBOL vmlinux 0xee59b9f1 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xee665faf add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0xee782bb4 serio_bus +EXPORT_SYMBOL vmlinux 0xee847e56 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0xee883b06 __vmalloc_array +EXPORT_SYMBOL vmlinux 0xee8c02e9 vprintk_emit +EXPORT_SYMBOL vmlinux 0xee8d74d6 jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0xee8ef74e down_read_killable +EXPORT_SYMBOL vmlinux 0xee91879b rb_first_postorder +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeeab32cc twl6040_get_vibralr_status +EXPORT_SYMBOL vmlinux 0xeeb80c11 sock_wmalloc +EXPORT_SYMBOL vmlinux 0xeeb82877 dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0xeebcc77b phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0xeed5bcca __pud_table_size +EXPORT_SYMBOL vmlinux 0xeee06c5c fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0xeee75d91 ucc_fast_init +EXPORT_SYMBOL vmlinux 0xeef3730d phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0xeef495fe truncate_pagecache +EXPORT_SYMBOL vmlinux 0xeeff2850 refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0xef00ab5f generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0xef04549f md_write_start +EXPORT_SYMBOL vmlinux 0xef0c2294 reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0xef27a635 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL vmlinux 0xef374128 fb_blank +EXPORT_SYMBOL vmlinux 0xef3c27e8 mmc_wait_for_req +EXPORT_SYMBOL vmlinux 0xef542b37 pnv_phb_to_cxl_mode +EXPORT_SYMBOL vmlinux 0xef61f384 mmc_can_discard +EXPORT_SYMBOL vmlinux 0xef648b2b __mdiobus_read +EXPORT_SYMBOL vmlinux 0xef71a22c wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0xef7de3b0 mdio_device_remove +EXPORT_SYMBOL vmlinux 0xef854929 bpf_empty_prog_array +EXPORT_SYMBOL vmlinux 0xef9b6b48 get_tz_trend +EXPORT_SYMBOL vmlinux 0xefacd9fa fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0xefaf2e4f tcf_queue_work +EXPORT_SYMBOL vmlinux 0xefce911d phy_disconnect +EXPORT_SYMBOL vmlinux 0xefddbc54 sync_blockdev_range +EXPORT_SYMBOL vmlinux 0xefe150eb eth_header_parse +EXPORT_SYMBOL vmlinux 0xefebd6a7 security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xefeefc09 __SCK__tp_func_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xefef297d __break_lease +EXPORT_SYMBOL vmlinux 0xeff47306 mmc_remove_host +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf024f7cf consume_skb +EXPORT_SYMBOL vmlinux 0xf02be880 inode_update_time +EXPORT_SYMBOL vmlinux 0xf0329ad1 down_read_trylock +EXPORT_SYMBOL vmlinux 0xf03597ff request_firmware_nowait +EXPORT_SYMBOL vmlinux 0xf0388a23 simple_link +EXPORT_SYMBOL vmlinux 0xf0483f00 security_path_mkdir +EXPORT_SYMBOL vmlinux 0xf06038a3 mdiobus_write +EXPORT_SYMBOL vmlinux 0xf060fbc5 __genphy_config_aneg +EXPORT_SYMBOL vmlinux 0xf07350bd proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0xf073c7a5 ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0xf077bcbb ipmi_platform_add +EXPORT_SYMBOL vmlinux 0xf07fe9a0 lockref_put_or_lock +EXPORT_SYMBOL vmlinux 0xf086156b xor_altivec_3 +EXPORT_SYMBOL vmlinux 0xf097672a configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0xf0981a1d seq_puts +EXPORT_SYMBOL vmlinux 0xf09b5d9a get_zeroed_page +EXPORT_SYMBOL vmlinux 0xf0bfbf99 devm_devfreq_register_notifier +EXPORT_SYMBOL vmlinux 0xf0c2d63a devfreq_unregister_opp_notifier +EXPORT_SYMBOL vmlinux 0xf0d3ede6 proc_create_data +EXPORT_SYMBOL vmlinux 0xf0e08338 pskb_extract +EXPORT_SYMBOL vmlinux 0xf0fd8b23 param_ops_ulong +EXPORT_SYMBOL vmlinux 0xf10a4057 regset_get +EXPORT_SYMBOL vmlinux 0xf110d1cb pseries_enable_reloc_on_exc +EXPORT_SYMBOL vmlinux 0xf1120ebb mmc_can_secure_erase_trim +EXPORT_SYMBOL vmlinux 0xf11dd46e _page_poisoning_enabled_early +EXPORT_SYMBOL vmlinux 0xf130b788 udp_seq_next +EXPORT_SYMBOL vmlinux 0xf13185e0 mmc_detect_change +EXPORT_SYMBOL vmlinux 0xf133623b seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0xf1349228 swake_up_locked +EXPORT_SYMBOL vmlinux 0xf152cf75 folio_mapped +EXPORT_SYMBOL vmlinux 0xf181a4bc sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1969a8e __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xf19ef167 pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0xf1a65f7b zstd_reset_dstream +EXPORT_SYMBOL vmlinux 0xf1d18e90 _outsw_ns +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e046cc panic +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf2098933 udp_lib_rehash +EXPORT_SYMBOL vmlinux 0xf22080cf of_graph_get_next_endpoint +EXPORT_SYMBOL vmlinux 0xf226df06 phy_trigger_machine +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf241461f __xa_insert +EXPORT_SYMBOL vmlinux 0xf2628676 zstd_compress_cctx +EXPORT_SYMBOL vmlinux 0xf271d043 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0xf273b56f mpage_writepages +EXPORT_SYMBOL vmlinux 0xf27d08d6 blk_queue_max_secure_erase_sectors +EXPORT_SYMBOL vmlinux 0xf28cf0ae __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf294e591 pci_rebar_get_possible_sizes +EXPORT_SYMBOL vmlinux 0xf29df442 pm860x_set_bits +EXPORT_SYMBOL vmlinux 0xf29f8515 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0xf2a3a6e3 __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0xf2a3e3ec mark_info_dirty +EXPORT_SYMBOL vmlinux 0xf2a965d0 vma_set_file +EXPORT_SYMBOL vmlinux 0xf2b27f4d ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0xf2b6b67e rproc_remove_subdev +EXPORT_SYMBOL vmlinux 0xf2c43f3f zlib_deflate +EXPORT_SYMBOL vmlinux 0xf2d8aa19 vfs_symlink +EXPORT_SYMBOL vmlinux 0xf2dad8ea pci_request_regions +EXPORT_SYMBOL vmlinux 0xf2e5bd87 security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0xf2f53617 memregion_free +EXPORT_SYMBOL vmlinux 0xf2fc28f6 rproc_elf_get_boot_addr +EXPORT_SYMBOL vmlinux 0xf305c4e6 sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0xf3107926 sha224_update +EXPORT_SYMBOL vmlinux 0xf31a160b dquot_transfer +EXPORT_SYMBOL vmlinux 0xf31c7b37 scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0xf328873a of_phy_connect +EXPORT_SYMBOL vmlinux 0xf3291f27 __folio_alloc +EXPORT_SYMBOL vmlinux 0xf3387542 tty_port_hangup +EXPORT_SYMBOL vmlinux 0xf33f803e lookup_one +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf34f3bc3 dma_fence_chain_walk +EXPORT_SYMBOL vmlinux 0xf353a698 register_module_notifier +EXPORT_SYMBOL vmlinux 0xf36f42a9 slhc_uncompress +EXPORT_SYMBOL vmlinux 0xf37fc045 finish_swait +EXPORT_SYMBOL vmlinux 0xf385781e udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0xf38bc2a2 __free_pages +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf3932313 mb_cache_entry_wait_unused +EXPORT_SYMBOL vmlinux 0xf39de339 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0xf39f2605 phy_read_mmd +EXPORT_SYMBOL vmlinux 0xf3a57892 release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xf3a60cc3 regset_get_alloc +EXPORT_SYMBOL vmlinux 0xf3afc959 jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0xf3b03e15 scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0xf3b7f646 dma_resv_fini +EXPORT_SYMBOL vmlinux 0xf3bc3481 clocksource_change_rating +EXPORT_SYMBOL vmlinux 0xf3c59624 rproc_vq_interrupt +EXPORT_SYMBOL vmlinux 0xf3e0e1df allocate_resource +EXPORT_SYMBOL vmlinux 0xf3e675bf cfb_fillrect +EXPORT_SYMBOL vmlinux 0xf3e6b013 crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0xf3f0eec3 flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0xf40a812b ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0xf425e18d sync_filesystem +EXPORT_SYMBOL vmlinux 0xf42d64ca proc_dostring +EXPORT_SYMBOL vmlinux 0xf445b33c serio_unregister_child_port +EXPORT_SYMBOL vmlinux 0xf44a904a net_ns_barrier +EXPORT_SYMBOL vmlinux 0xf46664fc nd_device_notify +EXPORT_SYMBOL vmlinux 0xf472017a swake_up_all +EXPORT_SYMBOL vmlinux 0xf474c21c bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0xf474fdcb kfree_const +EXPORT_SYMBOL vmlinux 0xf4766a4c devm_ioport_unmap +EXPORT_SYMBOL vmlinux 0xf49dcc9d tcp_mtu_to_mss +EXPORT_SYMBOL vmlinux 0xf4a6a37f udp_pre_connect +EXPORT_SYMBOL vmlinux 0xf4c2897a jbd2_journal_submit_inode_data_buffers +EXPORT_SYMBOL vmlinux 0xf4c4919c kthread_stop +EXPORT_SYMBOL vmlinux 0xf4cb7e1d generic_ro_fops +EXPORT_SYMBOL vmlinux 0xf4db35bc stpcpy +EXPORT_SYMBOL vmlinux 0xf4dc9018 decrementer_clockevent +EXPORT_SYMBOL vmlinux 0xf4df0099 cred_fscmp +EXPORT_SYMBOL vmlinux 0xf4e1a3b3 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0xf4e521df clear_user_page +EXPORT_SYMBOL vmlinux 0xf4ec3f8e param_ops_hexint +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf515c59f netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xf524a412 open_exec +EXPORT_SYMBOL vmlinux 0xf53affcb netlink_capable +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf53f722e trace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0xf54133b8 kobject_get +EXPORT_SYMBOL vmlinux 0xf5488fd9 idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0xf55b3b3d __arch_hweight16 +EXPORT_SYMBOL vmlinux 0xf5881f0e fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0xf591753d nf_hooks_needed +EXPORT_SYMBOL vmlinux 0xf5a20ed2 __genradix_prealloc +EXPORT_SYMBOL vmlinux 0xf5a3d9a4 __mod_lruvec_page_state +EXPORT_SYMBOL vmlinux 0xf5a62ecc _memset_io +EXPORT_SYMBOL vmlinux 0xf5ac19df of_mdiobus_child_is_phy +EXPORT_SYMBOL vmlinux 0xf5c49675 d_alloc_name +EXPORT_SYMBOL vmlinux 0xf5c8a2e2 srp_rport_get +EXPORT_SYMBOL vmlinux 0xf5e1558d crash_shutdown_unregister +EXPORT_SYMBOL vmlinux 0xf5e7ea40 ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0xf5ec3166 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0xf6080258 sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0xf60a1f99 deactivate_super +EXPORT_SYMBOL vmlinux 0xf6150d63 __xa_set_mark +EXPORT_SYMBOL vmlinux 0xf615e567 kernel_write +EXPORT_SYMBOL vmlinux 0xf62c39fe ucc_slow_graceful_stop_tx +EXPORT_SYMBOL vmlinux 0xf630bdd7 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0xf6424663 udp_ioctl +EXPORT_SYMBOL vmlinux 0xf643d104 hsiphash_4u32 +EXPORT_SYMBOL vmlinux 0xf6492b2f mdiobus_free +EXPORT_SYMBOL vmlinux 0xf652cd3b register_sysctl_mount_point +EXPORT_SYMBOL vmlinux 0xf65dd045 bio_kmalloc +EXPORT_SYMBOL vmlinux 0xf665f74f sock_load_diag_module +EXPORT_SYMBOL vmlinux 0xf667a31e vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0xf676e157 agp_copy_info +EXPORT_SYMBOL vmlinux 0xf68285c0 register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xf69037f0 phy_write_mmd +EXPORT_SYMBOL vmlinux 0xf69d4a58 default_llseek +EXPORT_SYMBOL vmlinux 0xf6aea57b copy_page_from_iter_atomic +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6f9d58d init_on_free +EXPORT_SYMBOL vmlinux 0xf6fc8791 __bitmap_xor +EXPORT_SYMBOL vmlinux 0xf707c9e6 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xf72c274b devm_arch_phys_wc_add +EXPORT_SYMBOL vmlinux 0xf7370f56 system_state +EXPORT_SYMBOL vmlinux 0xf738d1be register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xf744da14 bmap +EXPORT_SYMBOL vmlinux 0xf76e4e94 mmc_card_alternative_gpt_sector +EXPORT_SYMBOL vmlinux 0xf770598a xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0xf77337a1 hdmi_audio_infoframe_check +EXPORT_SYMBOL vmlinux 0xf7820b4a mmc_erase +EXPORT_SYMBOL vmlinux 0xf7a61323 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xf7b24c88 sock_set_reuseport +EXPORT_SYMBOL vmlinux 0xf7b5390b validate_sp +EXPORT_SYMBOL vmlinux 0xf7b57e93 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0xf7c2df39 __wake_up_bit +EXPORT_SYMBOL vmlinux 0xf7c48778 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0xf7d31de9 kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0xf7d403d9 netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0xf7e72dd9 reuseport_has_conns_set +EXPORT_SYMBOL vmlinux 0xf7fa543d flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0xf7fc33f0 dma_resv_iter_next_unlocked +EXPORT_SYMBOL vmlinux 0xf7fe0ecd dqget +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf812a62f dev_uc_unsync +EXPORT_SYMBOL vmlinux 0xf812cff6 memscan +EXPORT_SYMBOL vmlinux 0xf812e574 _raw_read_lock_irqsave +EXPORT_SYMBOL vmlinux 0xf8279c01 md_bitmap_free +EXPORT_SYMBOL vmlinux 0xf8295eff jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82ec573 rb_prev +EXPORT_SYMBOL vmlinux 0xf84bd6ee bpf_stats_enabled_key +EXPORT_SYMBOL vmlinux 0xf888ca21 sg_init_table +EXPORT_SYMBOL vmlinux 0xf8afb6e0 __of_get_address +EXPORT_SYMBOL vmlinux 0xf8c24e76 __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0xf8d07858 bitmap_from_arr32 +EXPORT_SYMBOL vmlinux 0xf8d2bc2c zstd_find_frame_compressed_size +EXPORT_SYMBOL vmlinux 0xf8da9731 udp_gro_complete +EXPORT_SYMBOL vmlinux 0xf8e1115e _outsl_ns +EXPORT_SYMBOL vmlinux 0xf8e73fc5 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xf8f61ebc wake_up_var +EXPORT_SYMBOL vmlinux 0xf90517fe bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0xf91f43e4 vfs_get_super +EXPORT_SYMBOL vmlinux 0xf939901e mmc_gpiod_request_ro +EXPORT_SYMBOL vmlinux 0xf93fd09c fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xf94781ed security_path_rename +EXPORT_SYMBOL vmlinux 0xf9560a56 kill_anon_super +EXPORT_SYMBOL vmlinux 0xf9722676 twl_i2c_write +EXPORT_SYMBOL vmlinux 0xf988cd34 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xf98bef9f input_unregister_handler +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9b1cdcd smp_call_function_many +EXPORT_SYMBOL vmlinux 0xf9c0b663 strlcat +EXPORT_SYMBOL vmlinux 0xf9ca2eb4 kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0xf9d2502a vme_new_dma_list +EXPORT_SYMBOL vmlinux 0xfa08c34a page_offline_end +EXPORT_SYMBOL vmlinux 0xfa0aa651 pci_write_config_dword +EXPORT_SYMBOL vmlinux 0xfa2e5f32 i2c_smbus_pec +EXPORT_SYMBOL vmlinux 0xfa36d386 ppp_channel_index +EXPORT_SYMBOL vmlinux 0xfa490df0 page_pool_put_defragged_page +EXPORT_SYMBOL vmlinux 0xfa525ac5 tty_hangup +EXPORT_SYMBOL vmlinux 0xfa599bb2 netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xfa6fc1a0 skb_copy_bits +EXPORT_SYMBOL vmlinux 0xfa811b0a xfrm4_protocol_deregister +EXPORT_SYMBOL vmlinux 0xfa915a11 scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0xfa9c2ece _raw_read_trylock +EXPORT_SYMBOL vmlinux 0xfaaa12d0 _page_poisoning_enabled +EXPORT_SYMBOL vmlinux 0xfab91f9b find_inode_nowait +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfaf71e81 kmalloc_caches +EXPORT_SYMBOL vmlinux 0xfb232c7e idr_get_next_ul +EXPORT_SYMBOL vmlinux 0xfb24312e dump_align +EXPORT_SYMBOL vmlinux 0xfb348fea fault_in_safe_writeable +EXPORT_SYMBOL vmlinux 0xfb384d37 kasprintf +EXPORT_SYMBOL vmlinux 0xfb40c381 nlmsg_notify +EXPORT_SYMBOL vmlinux 0xfb4b0800 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0xfb5dbca9 tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb6e7849 phy_get_pause +EXPORT_SYMBOL vmlinux 0xfb70e0ba of_find_node_by_phandle +EXPORT_SYMBOL vmlinux 0xfb7af6b2 phy_request_interrupt +EXPORT_SYMBOL vmlinux 0xfba7ddd2 match_u64 +EXPORT_SYMBOL vmlinux 0xfba99ab7 md_unregister_thread +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbab1bb1 ioread8_rep +EXPORT_SYMBOL vmlinux 0xfbac8da6 netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0xfbad3cf0 scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0xfbb04789 fuse_mount_destroy +EXPORT_SYMBOL vmlinux 0xfbb8a761 strscpy_pad +EXPORT_SYMBOL vmlinux 0xfbbbf7ab flush_dcache_folio +EXPORT_SYMBOL vmlinux 0xfbc4f89e io_schedule_timeout +EXPORT_SYMBOL vmlinux 0xfbc5d668 get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0xfc198352 override_creds +EXPORT_SYMBOL vmlinux 0xfc22a968 scsi_block_requests +EXPORT_SYMBOL vmlinux 0xfc22b999 __folio_cancel_dirty +EXPORT_SYMBOL vmlinux 0xfc2b31a3 blk_mq_start_stopped_hw_queues +EXPORT_SYMBOL vmlinux 0xfc382645 __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0xfc39e32f ioport_unmap +EXPORT_SYMBOL vmlinux 0xfc421e79 gnet_stats_add_queue +EXPORT_SYMBOL vmlinux 0xfc55ca40 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0xfc9c1add qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0xfca6ffa9 mmc_release_host +EXPORT_SYMBOL vmlinux 0xfcb27ff0 percpu_counter_sync +EXPORT_SYMBOL vmlinux 0xfcb6237d write_cache_pages +EXPORT_SYMBOL vmlinux 0xfcc9153e of_get_next_child +EXPORT_SYMBOL vmlinux 0xfccabb36 scsi_remove_target +EXPORT_SYMBOL vmlinux 0xfcce2f7d ucc_fast_enable +EXPORT_SYMBOL vmlinux 0xfcd059d4 t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0xfcd1819a hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0xfce328ee devm_clk_put +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfcf7f9a5 ptp_schedule_worker +EXPORT_SYMBOL vmlinux 0xfd084230 radix__flush_pmd_tlb_range +EXPORT_SYMBOL vmlinux 0xfd0b508f __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0xfd19289c fib6_info_hw_flags_set +EXPORT_SYMBOL vmlinux 0xfd20dd1e pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0xfd34eae2 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0xfd5006ba devm_ioremap_np +EXPORT_SYMBOL vmlinux 0xfd67e14f configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0xfd7309c5 pcie_get_mps +EXPORT_SYMBOL vmlinux 0xfd8500a3 ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0xfd87da1f of_scan_pci_bridge +EXPORT_SYMBOL vmlinux 0xfd90efb3 genphy_resume +EXPORT_SYMBOL vmlinux 0xfdbd830f dentry_create +EXPORT_SYMBOL vmlinux 0xfdcc8a0e fb_find_best_display +EXPORT_SYMBOL vmlinux 0xfdd0b03d gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0xfdd26036 pci_enable_wake +EXPORT_SYMBOL vmlinux 0xfdd4216d pcibios_align_resource +EXPORT_SYMBOL vmlinux 0xfdd6bbad __wake_up +EXPORT_SYMBOL vmlinux 0xfdd79d43 flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0xfddbfc8e dmaenginem_async_device_register +EXPORT_SYMBOL vmlinux 0xfde6aa7c __pagevec_release +EXPORT_SYMBOL vmlinux 0xfded48ed enable_kernel_fp +EXPORT_SYMBOL vmlinux 0xfdfcdd5f __csum_partial +EXPORT_SYMBOL vmlinux 0xfdff84a6 vme_irq_request +EXPORT_SYMBOL vmlinux 0xfe029963 unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xfe052363 ioread64_lo_hi +EXPORT_SYMBOL vmlinux 0xfe07b3ea blk_post_runtime_resume +EXPORT_SYMBOL vmlinux 0xfe17d8d1 padata_set_cpumask +EXPORT_SYMBOL vmlinux 0xfe1d2e94 key_create_or_update +EXPORT_SYMBOL vmlinux 0xfe2836ee bdev_start_io_acct +EXPORT_SYMBOL vmlinux 0xfe290e5e blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0xfe319711 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0xfe41121c fb_show_logo +EXPORT_SYMBOL vmlinux 0xfe487975 init_wait_entry +EXPORT_SYMBOL vmlinux 0xfe493637 path_is_mountpoint +EXPORT_SYMBOL vmlinux 0xfe4a48c3 fs_lookup_param +EXPORT_SYMBOL vmlinux 0xfe4b0821 migrate_page_states +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe6895e7 lookup_positive_unlocked +EXPORT_SYMBOL vmlinux 0xfe6a42cc sock_kfree_s +EXPORT_SYMBOL vmlinux 0xfe835d98 scsi_done +EXPORT_SYMBOL vmlinux 0xfe916dc6 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0xfea0832e pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0xfeb5d0aa verify_spi_info +EXPORT_SYMBOL vmlinux 0xfec8d843 page_pool_update_nid +EXPORT_SYMBOL vmlinux 0xfedcdb60 seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0xfee8de6a _raw_spin_lock_bh +EXPORT_SYMBOL vmlinux 0xfeebc7c4 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xfefc2ecc generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0xfefcb98e vme_dma_vme_attribute +EXPORT_SYMBOL vmlinux 0xff05b17a phy_driver_unregister +EXPORT_SYMBOL vmlinux 0xff1765c7 rtas_call +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff282521 rfkill_register +EXPORT_SYMBOL vmlinux 0xff2cfc43 dma_sync_single_for_device +EXPORT_SYMBOL vmlinux 0xff2f9594 pci_disable_link_state +EXPORT_SYMBOL vmlinux 0xff3a4f74 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0xff43281b ipv4_specific +EXPORT_SYMBOL vmlinux 0xff609d0c xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff69e325 scsi_host_get +EXPORT_SYMBOL vmlinux 0xff705275 nf_ct_attach +EXPORT_SYMBOL vmlinux 0xff78f5b5 d_tmpfile +EXPORT_SYMBOL vmlinux 0xff81f9f3 inet_frags_fini +EXPORT_SYMBOL vmlinux 0xff9095d4 param_set_hexint +EXPORT_SYMBOL vmlinux 0xff97e747 __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0xffc4f200 zstd_compress_stream +EXPORT_SYMBOL vmlinux 0xffc86af0 dma_sync_wait +EXPORT_SYMBOL vmlinux 0xffcc4ec7 tcp_bpf_bypass_getsockopt +EXPORT_SYMBOL vmlinux 0xffe43913 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0xffe6697e mnt_set_expiry +EXPORT_SYMBOL vmlinux 0xffe690fd udp_table +EXPORT_SYMBOL vmlinux 0xffeeb99f __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0xffeedf6a delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0xfffa4690 drm_firmware_drivers_only +EXPORT_SYMBOL vmlinux 0xfffb9896 __dec_zone_page_state +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x014212b0 kvmppc_pr_ops +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x01b15d1b kvmppc_xive_push_vcpu +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x02e5aee4 file_is_kvm +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x04aee54d kvm_vcpu_is_visible_gfn +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x07602246 gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x07d233ee kvmppc_kvm_pv +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x0811fae4 kvm_vcpu_unmap +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x106197e3 kvmppc_handle_load +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x1094815a kvm_vcpu_halt +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x15d70e95 kvmppc_xive_set_mapped +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x175bd6e1 kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x197b1be8 kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x1ebab19c mark_page_dirty_in_slot +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x2018b88f kvm_write_guest_cached +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x220d6134 kvmppc_h_stuff_tce +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x223e88a4 kvm_vcpu_write_guest +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x2376de41 gfn_to_pfn +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x2430b7c3 kvmppc_core_dequeue_dec +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x2903c1ef kvm_clear_guest +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x29622cc8 kvm_vcpu_mark_page_dirty +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x34ebe7cb kvm_read_guest +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x372f4f33 kvm_is_visible_gfn +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x38c07941 kvmppc_core_queue_inst_storage +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x39fd83db halt_poll_ns_shrink +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x3cbaf964 gfn_to_memslot +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x3ee8fec2 kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x40b821ef kvm_vcpu_write_guest_page +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x424f5484 kvm_read_guest_cached +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x4340eb7b kvm_vcpu_gfn_to_pfn +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x44c100ab __SCK__tp_func_kvm_ppc_instr +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x4632f830 kvm_put_kvm_no_destroy +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x46878a70 kvm_release_page_clean +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x49287c91 kvmppc_core_prepare_to_enter +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x4c6e4432 kvmppc_prepare_to_enter +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x4e3fd1b4 kvm_release_pfn_clean +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x50f05a8e kvmppc_h_put_tce +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x51570761 kvm_write_guest +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x57faede2 gfn_to_hva +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x59ba456e kvmppc_ld +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x59e640c0 halt_poll_ns +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x5b290869 kvmppc_sanity_check +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x5cf0fa9f gfn_to_pfn_prot +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x5d35eb50 kvm_vcpu_kick +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x5d967dd3 kvm_read_guest_page +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x5fb8848b halt_poll_ns_grow_start +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x61407068 kvmppc_xics_rm_complete +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x617ccf0b kvm_write_guest_offset_cached +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x63063fd9 kvmppc_xive_xics_hcall +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x64730211 kvmppc_gpa_to_pfn +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x65b1feab vcpu_put +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x6620e750 __tracepoint_kvm_ppc_instr +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x6892e3c3 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x6af7af73 kvm_vcpu_read_guest_atomic +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x6dfd5193 kvm_get_running_vcpu +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x73911214 kvm_vcpu_gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x75a9d9e9 kvmppc_set_msr +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x7818b7cb kvmppc_xics_clr_mapped +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x79b1c7ee kvm_destroy_vcpus +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x79c7334a kvmppc_book3s_queue_irqprio +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x7afe324e halt_poll_ns_grow +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x7c94c99a kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x7cf35292 kvmppc_emulate_mmio +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x7d3b3e08 __traceiter_kvm_ppc_instr +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x7d48d9ae kvm_debugfs_dir +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x8082a64a kvm_io_bus_get_dev +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x8102ab8d kvmppc_handle_store +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x8122a59f kvmppc_xics_hcall +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x8193b2da kvmppc_core_queue_data_storage +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x89a5ec3b kvmppc_st +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0x8e953419 kvm_put_kvm +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xa1c4231f kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xa713e29b kvm_flush_remote_tlbs +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xa8244431 mark_page_dirty +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xa9ac7e7d __gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xab59d373 kvmppc_free_lpid +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xac948d61 kvm_read_guest_offset_cached +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xacdf19be kvmppc_xive_rearm_escalation +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xaebdc7ec kvm_irq_has_notifier +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xb0458a70 gfn_to_hva_memslot +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xb26ebacd kvmppc_core_queue_machine_check +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xb41a681f kvmppc_h_logical_ci_load +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xbac2b29e kvm_get_kvm +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xbf1d4b24 kvmppc_core_queue_dec +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xc0db35eb kvmppc_load_last_inst +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xc732a089 kvmppc_h_put_tce_indirect +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xc779fa9a kvmppc_xive_clr_mapped +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xca673016 kvm_vcpu_gfn_to_page +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xcb71aade kvm_vcpu_wake_up +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xcc44961f kvmppc_alloc_lpid +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xcee2820f kvmppc_hv_ops +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xd0db299d kvm_vcpu_map +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xd2d07237 kvmppc_core_queue_program +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xdd34421b kvm_get_kvm_safe +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xde70fa33 kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xe557c15d kvm_vcpu_read_guest_page +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xe893bfb8 gfn_to_page +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xea493540 kvmppc_h_logical_ci_store +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xec0dce1e gfn_to_pfn_memslot_atomic +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xed4a8012 kvmppc_rtas_hcall +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xedec02e6 kvm_init +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xedf55e19 kvmppc_xive_pull_vcpu +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xf04d30a1 __kvm_set_memory_region +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xf06b16c2 kvm_vcpu_gfn_to_hva +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xf3650fa3 kvm_vcpu_read_guest +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xf4da3546 kvmppc_init_lpid +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xf554d274 kvm_get_dirty_log +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xf84bb342 kvmppc_h_get_tce +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xf8acaa7e kvm_io_bus_write +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xf8f00375 gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xf8f68b08 kvm_write_guest_page +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xf91ca617 vcpu_load +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xfb8ad3f0 kvmppc_core_pending_dec +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xfd0398ae kvmppc_xics_set_mapped +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xfd6dfe02 kvm_make_all_cpus_request +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm 0xff53b0ad kvm_release_page_dirty +EXPORT_SYMBOL_GPL arch/powerpc/kvm/kvm-pr 0x5c525451 kvmppc_emulate_instruction +EXPORT_SYMBOL_GPL crypto/af_alg 0x02f1ae92 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x05b4ba47 af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x145ddd94 af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0x1c35de97 af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0x2e00087b af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x48da7e67 af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0x5241675f af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x5b0baef6 af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0x64ed828b af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/af_alg 0x79c7d03d af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0x7d300fad af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0x8517aac6 af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x8571f2b9 af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0xc604e017 af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0xcb07c83e af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xd33f5746 af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0xd4ff9e09 af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xec66880f af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xfdd49e00 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x357ab7f5 async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x8194570b async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x759c0df7 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0x9e624fbf async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x4d9c703d async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x57a6aec7 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x8a45a795 async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0xe1bc7684 __async_tx_find_channel +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x28cc9cb0 async_xor_offs +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x61cf2dcd async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x8c8633c5 async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xe9a056a7 async_xor_val_offs +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0xec290d93 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xcac70600 cast5_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xef81a4af __cast5_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x3dbae082 __cast6_decrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x545d18e9 cast6_setkey +EXPORT_SYMBOL_GPL crypto/cast6_generic 0xcfce512f __cast6_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0xd76a5716 __cast6_setkey +EXPORT_SYMBOL_GPL crypto/cast_common 0x5609ce41 cast_s2 +EXPORT_SYMBOL_GPL crypto/cast_common 0x5b17be06 cast_s4 +EXPORT_SYMBOL_GPL crypto/cast_common 0xb9cba57f cast_s3 +EXPORT_SYMBOL_GPL crypto/cast_common 0xbd3e7542 cast_s1 +EXPORT_SYMBOL_GPL crypto/cryptd 0x0e54c97d cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x371a97c2 cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x417b96e2 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x426f1185 cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x461a7c0f cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x5a8b163f cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x79e0d19d cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0x80d72a92 cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0x8e7f20ca cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x97fb6ec1 cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xb4e4bd26 cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xc9339fd7 cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0xd7ef666e cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x013a9c04 crypto_finalize_kpp_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x054fbc6e crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x1486be09 crypto_finalize_hash_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x60f63794 crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x80c8269c crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x8c118f21 crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xa21a73c0 crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xa6ae966e crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xad35ffd6 crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xaf5db03f crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xb0ca5410 crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xc33d6f1b crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xdf92ee2f crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xe0aa2905 crypto_transfer_kpp_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xf9cf8b5d crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x33b866ce crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7475be8e crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0xb230d2ec crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x4eb4c55e __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x7959f7f6 serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xbcc074f3 __serpent_decrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xd4c9681a __serpent_setkey +EXPORT_SYMBOL_GPL crypto/sm3 0xa98edad1 sm3_update +EXPORT_SYMBOL_GPL crypto/sm3 0xf04338f9 sm3_final +EXPORT_SYMBOL_GPL crypto/sm3_generic 0x0bddca87 sm3_zero_message_hash +EXPORT_SYMBOL_GPL crypto/sm4 0x24e254e8 sm4_expandkey +EXPORT_SYMBOL_GPL crypto/sm4 0xfa81970e sm4_crypt_block +EXPORT_SYMBOL_GPL crypto/twofish_common 0x949ddb6b twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe22b7787 __twofish_setkey +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x0ef1d765 speakup_info +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x1e39eb14 synth_putws +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x2c83993d spk_synth_get_index +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x30a7b1f5 spk_synth_is_alive_restart +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x363cb220 synth_add +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x40314288 synth_remove +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x41a160e5 synth_buffer_empty +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x4449e1dd synth_buffer_clear +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x466f5eb7 synth_putwc +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x49d5fdef spk_ttyio_synth_probe +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x67074ccf spk_ttyio_ops +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x7475aac5 spk_ttyio_release +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x76d40046 synth_buffer_skip_nonlatin1 +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x84dad068 synth_buffer_getc +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x8aecfdb4 spk_var_show +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x8c82dfca synth_request_region +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0x8fe0db01 synth_putwc_s +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xa13ff4c3 spk_ttyio_synth_immediate +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xaadb0612 synth_buffer_peek +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xba0088e0 speakup_event +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xbbd15a51 speakup_start_ttys +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xc1cac50e spk_do_catch_up_unicode +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xc319c604 synth_putws_s +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xc6a06d16 spk_get_var +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xd199ec9f spk_synth_flush +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xd6215582 spk_do_catch_up +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xd8fd86cf synth_release_region +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xde2872dc spk_var_store +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xe194d0ef synth_printf +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xebaa8144 synth_current +EXPORT_SYMBOL_GPL drivers/accessibility/speakup/speakup 0xfa064920 spk_synth_is_alive_nop +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x0066af43 ahci_save_initial_config +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x028fb5b3 ahci_stop_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x08071461 ahci_do_softreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x189a4129 ahci_start_fis_rx +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x1d840f88 ahci_fill_cmd_slot +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x1dd11464 ahci_do_hardreset +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x1e9b1572 ahci_qc_issue +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x32528682 ahci_set_em_messages +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x4b4ecbdc ahci_reset_em +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x4edbc02f ahci_handle_port_intr +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x5d255d78 ahci_pmp_retry_srst_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x6213e964 ahci_sdev_groups +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x76a084aa ahci_host_activate +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x8a213cf3 ahci_init_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x9244c397 ahci_shost_groups +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x92695993 ahci_port_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci 0x940be719 ahci_reset_controller +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xa4b62436 ahci_dev_classify +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xae7c9386 ahci_start_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xb79056e8 ahci_error_handler +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xbdaf6e77 ahci_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xc69a8dec ahci_kick_engine +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xca1e565e ahci_print_info +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xe2c9e7b1 ahci_check_ready +EXPORT_SYMBOL_GPL drivers/ata/libahci 0xea50dad3 ahci_ignore_sss +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x0e0b114c ahci_platform_disable_clks +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x35612dc0 ahci_platform_disable_phys +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x3b7feb84 ahci_platform_enable_regulators +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x4275fbb7 ahci_platform_get_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x771f0e73 ahci_platform_ops +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x7add4cd9 ahci_platform_resume +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x8d52a3af ahci_platform_disable_regulators +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x945d6492 ahci_platform_enable_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x9b0ffb6a ahci_platform_enable_phys +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0x9cd7a5ce ahci_platform_suspend +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xa065c7e6 ahci_platform_enable_clks +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xbddfbba5 ahci_platform_suspend_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xc1db2f39 ahci_platform_resume_host +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xdd22f976 ahci_platform_shutdown +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xdf3872ad ahci_platform_disable_resources +EXPORT_SYMBOL_GPL drivers/ata/libahci_platform 0xf0d62503 ahci_platform_init_host +EXPORT_SYMBOL_GPL drivers/ata/pata_platform 0xaa04bde5 __pata_platform_probe +EXPORT_SYMBOL_GPL drivers/ata/pata_sis 0xea9ef480 sis_info133_for_sata +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x09917359 charlcd_poke +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x6fd9cc4a charlcd_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0x8b45326c charlcd_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xd3e29970 charlcd_backlight +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xf3304696 charlcd_free +EXPORT_SYMBOL_GPL drivers/auxdisplay/charlcd 0xf883c540 charlcd_unregister +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x07b26ecc hd44780_common_gotoxy +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x1aa688fd hd44780_common_lines +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x23159a5b hd44780_common_clear_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x30e85287 hd44780_common_shift_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x36dc00a2 hd44780_common_print +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x3c4c183f hd44780_common_home +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x489c89e8 hd44780_common_redefine_char +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x64415593 hd44780_common_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x79e8e259 hd44780_common_alloc +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x8585e5fd hd44780_common_blink +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0x8d4f3fa4 hd44780_common_init_display +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0xa22afdaa hd44780_common_cursor +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0xc369090d hd44780_common_shift_cursor +EXPORT_SYMBOL_GPL drivers/auxdisplay/hd44780_common 0xf360d788 hd44780_common_fontsize +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x14102f23 ks0108_displaystate +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x48a70518 ks0108_writedata +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x4f506333 ks0108_startline +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0x6edae968 ks0108_isinited +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xbf4774db ks0108_writecontrol +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xedde6df2 ks0108_page +EXPORT_SYMBOL_GPL drivers/auxdisplay/ks0108 0xfee8ef7b ks0108_address +EXPORT_SYMBOL_GPL drivers/auxdisplay/line-display 0x1d255310 linedisp_register +EXPORT_SYMBOL_GPL drivers/auxdisplay/line-display 0x9f192f79 linedisp_unregister +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-i3c 0x18c32704 __devm_regmap_init_i3c +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0x2e378f12 __regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sccb 0xd87c4034 __devm_regmap_init_sccb +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0x83b47ca4 __devm_regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw 0xccf57b94 __regmap_init_sdw +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw-mbq 0x254347b0 __regmap_init_sdw_mbq +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-sdw-mbq 0xdf268bd1 __devm_regmap_init_sdw_mbq +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0x017020a9 __regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-slimbus 0xd208af25 __devm_regmap_init_slimbus +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spi-avmm 0x83138068 __regmap_init_spi_avmm +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spi-avmm 0xb90b0878 __devm_regmap_init_spi_avmm +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x1853f2ec __devm_regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x5bc2e9e4 __devm_regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x743a8e71 __regmap_init_spmi_base +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-spmi 0x8f48e0d0 __regmap_init_spmi_ext +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x25576fcc __devm_regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-w1 0x6381d8c3 __regmap_init_w1 +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x02667bbd bcma_chipco_get_alp_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x171d89dd bcma_pmu_get_bus_clock +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x19390945 bcma_driver_unregister +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x23a38eb2 bcma_find_core_unit +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x33585dce bcma_chipco_chipctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x5365b2d8 bcma_core_enable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x582b173a bcma_chipco_gpio_out +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x595bd0a2 bcma_core_is_enabled +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x6200426c bcma_core_set_clockmode +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7229645c bcma_core_pll_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7a131384 bcma_host_pci_up +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x7b8480f2 bcma_core_pci_power_save +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x894d3cfa bcma_chipco_pll_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x939b5d0c bcma_host_pci_down +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0x9b4e5cee bcma_host_pci_irq_ctl +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa125c593 bcma_chipco_gpio_control +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xa8ea1ca5 bcma_chipco_pll_read +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xb8c78e46 bcma_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc44b466b bcma_core_disable +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc494e7b8 bcma_chipco_gpio_outen +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xc4d1ba32 bcma_chipco_pll_write +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xd318e0c9 bcma_chipco_regctl_maskset +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xe77b8938 __bcma_driver_register +EXPORT_SYMBOL_GPL drivers/bcma/bcma 0xf2b1bd61 bcma_chipco_b_mii_write +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x093f5e21 btbcm_setup_patchram +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x27f2954c btbcm_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x3e35d076 btbcm_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0x80da0944 btbcm_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xb2033d43 btbcm_read_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xb4cd43b9 btbcm_finalize +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xb6d7d327 btbcm_write_pcm_int_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btbcm 0xbe32bb1e btbcm_setup_apple +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x07897ede btintel_send_intel_reset +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x23e68410 btintel_load_ddc_config +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x37704c1e btintel_set_quality_report +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x577ca122 btintel_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x5f43ba28 btintel_bootup +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x7d7287a4 btintel_enter_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0x9aa3f532 btintel_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xa02fd016 btintel_set_diag +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xa08eafb2 btintel_regmap_init +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xa92bc3b4 btintel_secure_send_result +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xbf1c5556 btintel_version_info +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xbfe39ca5 btintel_configure_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xd0ced654 btintel_set_event_mask_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xd9c3bb6b btintel_read_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xeb9c3b5c btintel_exit_mfg +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xfde25848 btintel_check_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btintel 0xfe0fa6cd btintel_read_boot_params +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x0b2590c3 btmrvl_send_module_cfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x0d56fe14 btmrvl_send_hscfg_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x18da6ab3 btmrvl_pscan_window_reporting +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x3121d58e btmrvl_enable_ps +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x42b56b2e btmrvl_check_evtpkt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x4f8684ef btmrvl_process_event +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x74d15e49 btmrvl_add_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7b8d8404 btmrvl_enable_hs +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x7f2d823f btmrvl_remove_card +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0x9f861135 btmrvl_interrupt +EXPORT_SYMBOL_GPL drivers/bluetooth/btmrvl 0xec7b0a69 btmrvl_register_hdev +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x48ad0a04 btmtk_setup_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0x639159c2 btmtk_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btmtk 0xa3842047 btmtk_setup_firmware_79xx +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x0338d1f9 qca_read_soc_version +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x119b838c qca_set_bdaddr_rome +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x3636a13d qca_send_pre_shutdown_cmd +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0x3c349240 qca_set_bdaddr +EXPORT_SYMBOL_GPL drivers/bluetooth/btqca 0xe8dca2cb qca_uart_setup +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x20a8fe0c btrtl_get_uart_settings +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x33d98ad8 btrtl_initialize +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0x6cbda7e5 btrtl_setup_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xaf78f260 btrtl_free +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xcb9f4113 btrtl_shutdown_realtek +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xe24ad8bd btrtl_download_firmware +EXPORT_SYMBOL_GPL drivers/bluetooth/btrtl 0xf7e83a7d btrtl_set_quirks +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x24fc00e9 hci_uart_tx_wakeup +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0x9c8f67e3 hci_uart_unregister_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xce434aa9 hci_uart_register_device +EXPORT_SYMBOL_GPL drivers/bluetooth/hci_uart 0xe94b3f3c h4_recv_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x5595d5f8 mhi_ep_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x7428ec92 mhi_ep_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0x914c5025 mhi_ep_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xb5318a89 mhi_ep_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xd39851ba __mhi_ep_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xdd179092 mhi_ep_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xdf4fe602 mhi_ep_queue_is_empty +EXPORT_SYMBOL_GPL drivers/bus/mhi/ep/mhi_ep 0xfb257198 mhi_ep_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x0ee09f83 __mhi_driver_register +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x1548c66e mhi_queue_is_full +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x24b15bcc mhi_pm_resume +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x278c2977 mhi_poll +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x39cabcc2 mhi_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x3f6b3eea mhi_device_put +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x41151a99 mhi_device_get_sync +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x438ed582 mhi_queue_dma +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x45455227 mhi_pm_suspend +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x48d0df7e mhi_driver_unregister +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x5787126a mhi_unregister_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x60a35c50 mhi_get_exec_env +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x74becdb7 mhi_device_get +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x7939fb69 mhi_force_rddm_mode +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x82d1fb56 mhi_unprepare_after_power_down +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0x8926b291 mhi_prepare_for_transfer_autoqueue +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xa12453ed mhi_unprepare_from_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xb4fb5d8a mhi_queue_buf +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xb8c0d754 mhi_notify +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xc403a67b mhi_prepare_for_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xc897b3da mhi_register_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xcb247fb1 mhi_queue_skb +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xce78dd11 mhi_download_rddm_image +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xcf4211c8 mhi_async_power_up +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xd3ccacff mhi_get_mhi_state +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xdb1f2f9a mhi_free_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xdea575b0 mhi_prepare_for_transfer +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xdf53e326 mhi_alloc_controller +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xe763d89f mhi_get_free_desc_count +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xe90bb863 mhi_pm_resume_force +EXPORT_SYMBOL_GPL drivers/bus/mhi/host/mhi 0xfffdfc89 mhi_soc_reset +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x424efa9d moxtet_device_write +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x4d572d90 moxtet_device_written +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0x98b2455f __moxtet_register_driver +EXPORT_SYMBOL_GPL drivers/bus/moxtet 0xab7e800e moxtet_device_read +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x05715712 comedi_buf_write_samples +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x08fc5d53 comedi_bytes_per_scan +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x0cd330f4 range_unknown +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x1c5b5c31 comedi_request_region +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x1e05033c comedi_bytes_per_scan_cmd +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x1fe4d29c comedi_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x202ab5f4 comedi_legacy_detach +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x21102f87 range_0_32mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2224a688 comedi_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x296dbb7c comedi_set_spriv_auto_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2b229186 comedi_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2bd042a0 comedi_event +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x2f0ad9d3 range_bipolar5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x34b55c95 comedi_is_subdevice_running +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x36aa96fb comedi_check_chanlist +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x3964d619 comedi_readback_insn_read +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x3b5957b3 comedi_buf_read_n_available +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x3e0bef8a comedi_buf_write_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x404dcf22 comedi_dev_put +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x415bfe52 comedi_alloc_subdevices +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x418e2b38 comedi_alloc_spriv +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4236eaaf range_4_20mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4fe634f3 range_bipolar2_5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x4fef5350 comedi_inc_scan_progress +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x54b78e40 comedi_buf_read_free +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x569247b8 comedi_buf_read_samples +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x6045932e comedi_dio_insn_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x70cd2350 comedi_handle_events +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x78067bde comedi_set_hw_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x8113872c range_unipolar10 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x84177935 comedi_alloc_devpriv +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x861b636e comedi_dio_update_state +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x8e25a60a comedi_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x95428453 comedi_dev_get_from_minor +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0x9dc7b61b comedi_buf_read_alloc +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xa9974143 __comedi_request_region +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xb1043fb8 comedi_alloc_subdev_readback +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xb5ee4310 comedi_timeout +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xb679cebc range_0_20mA +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xbb52fc7f range_bipolar10 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xbdbe75c6 range_unipolar2_5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xdb2044b2 range_unipolar5 +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xdc7249b6 comedi_load_firmware +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xe29121d0 comedi_nsamples_left +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xe61c21d4 comedi_buf_write_alloc +EXPORT_SYMBOL_GPL drivers/comedi/comedi 0xfa4ad489 comedi_nscans_left +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x5e73ae8c comedi_pci_detach +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x70f23b07 comedi_pci_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x82fdb9c7 comedi_pci_disable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x86e9d6eb comedi_pci_enable +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0x9e7e79de comedi_to_pci_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0xc8549d09 comedi_pci_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0xdff14481 comedi_pci_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi_pci 0xe652536e comedi_pci_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x5bb87439 comedi_to_usb_dev +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x6ed5ea57 comedi_usb_auto_unconfig +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x7639a6dd comedi_usb_auto_config +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0x939e691a comedi_to_usb_interface +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0xc071a4fc comedi_usb_driver_register +EXPORT_SYMBOL_GPL drivers/comedi/comedi_usb 0xecab2273 comedi_usb_driver_unregister +EXPORT_SYMBOL_GPL drivers/comedi/drivers/addi_watchdog 0x79f4a6cf addi_watchdog_reset +EXPORT_SYMBOL_GPL drivers/comedi/drivers/addi_watchdog 0xab07e4c6 addi_watchdog_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_dio200_common 0x65e9a7a1 amplc_dio200_set_enhance +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_dio200_common 0xe359ca68 amplc_dio200_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/amplc_pc236_common 0x6571af5f amplc_pc236_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x2af28b15 comedi_8254_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x4f63408b comedi_8254_set_mode +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x4f687131 comedi_8254_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x567ca044 comedi_8254_status +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x920da39a comedi_8254_ns_to_timer +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x92a19ea0 comedi_8254_update_divisors +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x9877d2bb comedi_8254_set_busy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0x9e5e278d comedi_8254_load +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xad965e37 comedi_8254_cascade_ns_to_timer +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xda40f2fb comedi_8254_mm_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xda43d22a comedi_8254_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xed829838 comedi_8254_subdevice_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8254 0xf35da685 comedi_8254_pacer_enable +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0x213f7d84 subdev_8255_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0x24e416db subdev_8255_regbase +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_8255 0x377fdd6c subdev_8255_mm_init +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0x12fba874 comedi_isadma_disable +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0x1cb1dc73 comedi_isadma_alloc +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0x4a17474e comedi_isadma_disable_on_sample +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0x7bf8bad5 comedi_isadma_poll +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0x814c0da3 comedi_isadma_free +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0xca784d4b comedi_isadma_set_mode +EXPORT_SYMBOL_GPL drivers/comedi/drivers/comedi_isadma 0xea878430 comedi_isadma_program +EXPORT_SYMBOL_GPL drivers/comedi/drivers/das08 0x4e6d2594 das08_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x1b541fff mite_prep_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x379ae08c mite_sync_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x3eb1c317 mite_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x3faac5bb mite_release_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x456ffb24 mite_ack_linkc +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x57f1b90b mite_done +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x60a8a3e3 mite_alloc_ring +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x7fdabcf8 mite_free_ring +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x876411fd mite_request_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x8f5b605e mite_buf_change +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0x9033652e mite_dma_arm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xb148f0a8 mite_request_channel_in_range +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xbc0065f6 mite_init_ring_descriptors +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xbc8d4b11 mite_detach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xbd24e796 mite_dma_disarm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/mite 0xe4038c2e mite_bytes_in_transit +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_common 0x255b57a3 labpc_common_detach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_common 0x7745412a labpc_common_attach +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_isadma 0x1a09943e labpc_setup_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_isadma 0x2ac5a43b labpc_init_dma_chan +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_isadma 0x5ae90fbc labpc_handle_dma_status +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_isadma 0x7cff9fde labpc_free_dma_chan +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_labpc_isadma 0xab1d87fe labpc_drain_dma +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x076bc308 ni_find_route_source +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x0921123e ni_lookup_route_register +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x1facf7f8 ni_is_cmd_dest +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x64443d67 ni_get_valid_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x6c18c54e ni_count_valid_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x85e75c94 ni_assign_device_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x863a306d ni_sort_device_routes +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x8ab47ba4 ni_route_set_has_source +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0x8f0f0901 ni_find_route_set +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_routing 0xb3e302a3 ni_route_to_register +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x027b1d49 ni_tio_get_soft_copy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x05517534 ni_tio_set_gate_src +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x0afd73c4 ni_tio_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x3f5807df ni_gpct_device_construct +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x46b34a1c ni_tio_unset_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x4797cb65 ni_tio_init_counter +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x6133c91f ni_tio_get_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x8440b0ae ni_tio_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x86251caa ni_tio_arm +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x954ba556 ni_tio_insn_config +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0x9b108f5a ni_tio_set_gate_src_raw +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xa7bf1f24 ni_tio_set_routing +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xab159527 ni_tio_insn_read +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xc3ad4079 ni_tio_insn_write +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xd1ecfec0 ni_tio_set_bits +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tio 0xe5ac33ef ni_gpct_device_destroy +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x0c81f3cf ni_tio_cancel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x66397754 ni_tio_handle_interrupt +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x73b98a9c ni_tio_cmd +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0x7a207d95 ni_tio_cmdtest +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0xe2db1dbd ni_tio_set_mite_channel +EXPORT_SYMBOL_GPL drivers/comedi/drivers/ni_tiocmd 0xe369c2cd ni_tio_acknowledge +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x005096e0 comedi_dio_bitfield2 +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x00bd58c4 comedi_open +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0x1f5b0aee comedi_close +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0xa0afda6c comedi_dio_get_config +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0xd9166fec comedi_dio_config +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0xe6d2b820 comedi_find_subdevice_by_type +EXPORT_SYMBOL_GPL drivers/comedi/kcomedilib/kcomedilib 0xeba88404 comedi_get_n_channels +EXPORT_SYMBOL_GPL drivers/counter/counter 0x0bddc340 counter_unregister +EXPORT_SYMBOL_GPL drivers/counter/counter 0x441c7ab0 counter_add +EXPORT_SYMBOL_GPL drivers/counter/counter 0x62400966 counter_alloc +EXPORT_SYMBOL_GPL drivers/counter/counter 0x91d99480 counter_put +EXPORT_SYMBOL_GPL drivers/counter/counter 0xb33615a7 counter_push_event +EXPORT_SYMBOL_GPL drivers/counter/counter 0xbefa605a counter_priv +EXPORT_SYMBOL_GPL drivers/counter/counter 0xe095cb50 devm_counter_add +EXPORT_SYMBOL_GPL drivers/counter/counter 0xf3894722 devm_counter_alloc +EXPORT_SYMBOL_GPL drivers/crypto/nx/nx-compress 0x0e035ceb nx842_crypto_compress +EXPORT_SYMBOL_GPL drivers/crypto/nx/nx-compress 0x3fbccefb nx842_crypto_decompress +EXPORT_SYMBOL_GPL drivers/crypto/nx/nx-compress 0x9d8a6641 nx842_crypto_init +EXPORT_SYMBOL_GPL drivers/crypto/nx/nx-compress 0xe4bc6298 nx842_crypto_exit +EXPORT_SYMBOL_GPL drivers/dax/device_dax 0x0dfe7cc9 dev_dax_probe +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x3e3ed2dc dw_edma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw-edma/dw-edma 0x563966b0 dw_edma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x03cf6f55 dw_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x65d88f50 do_dw_dma_enable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x8ca464b6 dw_dma_filter +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0x8ec1bf25 do_dw_dma_disable +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xbb436fdb dw_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xd228dac1 idma32_dma_probe +EXPORT_SYMBOL_GPL drivers/dma/dw/dw_dmac_core 0xdd33023a idma32_dma_remove +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x022deee3 fsl_edma_alloc_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x0c78da87 fsl_edma_tx_status +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x17a72fa6 fsl_edma_issue_pending +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x365492d3 fsl_edma_slave_config +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x4abfc866 fsl_edma_cleanup_vchan +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x5f5a90d4 fsl_edma_prep_slave_sg +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x60c9b9c1 fsl_edma_resume +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x7d299bc3 fsl_edma_prep_memcpy +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x869c700b fsl_edma_free_chan_resources +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0x97ca4097 fsl_edma_pause +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xa2a24bc3 fsl_edma_setup_regs +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xa3d58568 fsl_edma_free_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xb996e447 fsl_edma_prep_dma_cyclic +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xde2e7a24 fsl_edma_terminate_all +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xf2948957 fsl_edma_chan_mux +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xf2d9fac8 fsl_edma_xfer_desc +EXPORT_SYMBOL_GPL drivers/dma/fsl-edma-common 0xfd6cd30f fsl_edma_disable_request +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x27194797 hidma_mgmt_init_sys +EXPORT_SYMBOL_GPL drivers/dma/qcom/hdma_mgmt 0x2c6a0515 hidma_mgmt_setup +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x00db1943 vchan_tx_desc_free +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x06ae9558 vchan_tx_submit +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0x3b49511c vchan_dma_desc_free_list +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0xb907a398 vchan_find_desc +EXPORT_SYMBOL_GPL drivers/dma/virt-dma 0xba88a1b5 vchan_init +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0x2bf29437 fw_card_read_cycle_time +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xabb5547d fw_request_get_timestamp +EXPORT_SYMBOL_GPL drivers/firewire/firewire-core 0xe86fb5c7 fw_card_release +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x13d52eee cs_dsp_stop +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x144d6986 cs_dsp_mem_region_name +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x1ed14814 cs_dsp_adsp2_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x20ae35bf cs_dsp_adsp1_power_up +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x2b798820 cs_dsp_write_data_word +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x3424dd0f cs_dsp_get_ctl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x3456ae12 cs_dsp_halo_bus_error +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x385db2c4 cs_dsp_power_down +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x494f68e6 cs_dsp_adsp1_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x4e5562f8 cs_dsp_remove_padding +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x608a4fc8 cs_dsp_read_raw_data_block +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x6fa6e5a6 cs_dsp_coeff_write_ctrl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x7041f2fb cs_dsp_remove +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0x76eb3131 cs_dsp_read_data_word +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xa0ba10a2 cs_dsp_coeff_write_acked_control +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xa606869e cs_dsp_init_debugfs +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xba5ad8a7 cs_dsp_adsp2_bus_error +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xbaca0f9b cs_dsp_coeff_read_ctrl +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xbb3d3ed3 cs_dsp_find_alg_region +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xc1815275 cs_dsp_halo_init +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xd356075b cs_dsp_set_dspclk +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xd8d76ecc cs_dsp_adsp1_power_down +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xdc176300 cs_dsp_halo_wdt_expire +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xe3d12064 cs_dsp_run +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xed02f682 cs_dsp_cleanup_debugfs +EXPORT_SYMBOL_GPL drivers/firmware/cirrus/cs_dsp 0xfa68bd6e cs_dsp_power_up +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0xf94d8e22 alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x0695b5d3 dfl_fpga_port_ops_del +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x142aec26 dfl_fpga_port_ops_put +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x174dded0 __dfl_fpga_cdev_find_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x1b226eef dfl_fpga_port_ops_get +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x1b4b2106 dfl_fpga_cdev_assign_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x274a79ee dfl_fpga_dev_feature_uinit +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x2872527c dfl_fpga_feature_devs_enumerate +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x2c390db6 dfl_fpga_cdev_config_ports_vf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x352abb16 dfl_fpga_dev_ops_register +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x3a8b0d2d dfl_feature_ioctl_set_irq +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x7e4357df dfl_fpga_enum_info_free +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x8839c51b dfl_feature_ioctl_get_num_irqs +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x8bea297d dfl_fpga_check_port_id +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x8fa9d6c6 dfl_fpga_cdev_config_ports_pf +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x92d94aab dfl_fpga_enum_info_add_irq +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x94f58f64 dfl_fpga_feature_devs_remove +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0x993a37c1 dfl_fpga_enum_info_add_dfl +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xc1097e33 dfl_fpga_enum_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xc3d077e3 dfl_fpga_port_ops_add +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xc61d2181 dfl_fpga_cdev_release_port +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xde858a00 dfl_fpga_dev_feature_init +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xe765b472 dfl_fpga_dev_ops_unregister +EXPORT_SYMBOL_GPL drivers/fpga/dfl 0xf94cf9a1 dfl_fpga_set_irq_triggers +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0633c4b9 fpga_bridges_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0b2b884c fpga_bridges_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x0c954781 of_fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x2c8167cf fpga_bridges_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x673aaf73 fpga_bridge_enable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x75bc3ee1 fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0x8269614c fpga_bridge_disable +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xac3dba52 fpga_bridge_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xc82b520a fpga_bridge_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xcaaecbd5 fpga_bridge_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xdf4171e7 fpga_bridge_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-bridge 0xf5a6f975 of_fpga_bridge_get_to_list +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x1e733f51 fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x1f6da5cd devm_fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x224f357b fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x55cfc7f6 fpga_mgr_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x6dfb3967 devm_fpga_mgr_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x97d1d927 fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xa35f8188 fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xb211d439 fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xb9ee7498 of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xc5a82ebb fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xc73af414 fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xd2468334 fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xdc58caed fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x03f71a46 fpga_region_class_find +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x919c6901 fpga_region_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x954f7cb3 fpga_region_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0x9a114b66 fpga_region_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-region 0xad2380ed fpga_region_program_fpga +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x2a6359b9 fsi_device_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x3a93847e fsi_slave_claim_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x41be7cd9 fsi_cdev_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x58226331 fsi_get_new_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x5a57d574 fsi_free_minor +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x78060f23 fsi_slave_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0x7ab33f36 fsi_device_read +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xa3c671a4 fsi_driver_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xb5c080a6 fsi_master_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xbb1b07f0 fsi_driver_register +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xc5d93094 fsi_master_unregister +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xce22aee2 fsi_slave_release_range +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xd942f235 fsi_slave_write +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xe40f6123 fsi_master_rescan +EXPORT_SYMBOL_GPL drivers/fsi/fsi-core 0xe56fad50 fsi_bus_type +EXPORT_SYMBOL_GPL drivers/fsi/fsi-occ 0x0762511e fsi_occ_submit +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0xd4a90eed sbefifo_parse_status +EXPORT_SYMBOL_GPL drivers/fsi/fsi-sbefifo 0xfaa157f7 sbefifo_submit +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0x976c451c gnss_allocate_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xb78e091b gnss_insert_raw +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xd543fb6e gnss_deregister_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xd7f1d1c2 gnss_put_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss 0xe1a34f2b gnss_register_device +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x3cae2a0c gnss_serial_deregister +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x49cd85c6 gnss_serial_free +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0x80fc8feb gnss_serial_pm_ops +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xc69a0a61 gnss_serial_register +EXPORT_SYMBOL_GPL drivers/gnss/gnss-serial 0xef969291 gnss_serial_allocate +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xa79790a2 __max730x_probe +EXPORT_SYMBOL_GPL drivers/gpio/gpio-max730x 0xe962e9ad __max730x_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x1297740b analogix_dp_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x26574c06 analogix_dp_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x3ee0dd60 anx_dp_aux_transfer +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x512114f0 analogix_dp_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x512ca560 analogix_dp_suspend +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0x53a43515 analogix_dp_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xaf26901e analogix_dp_stop_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xf42afbe1 analogix_dp_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/analogix/analogix_dp 0xf668239d analogix_dp_start_crc +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x09340e05 dw_hdmi_set_channel_count +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x094f6fc5 dw_hdmi_phy_i2c_set_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x1461e227 dw_hdmi_set_channel_status +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x26d629cd dw_hdmi_phy_gen2_reset +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x2d1c0e80 dw_hdmi_setup_rx_sense +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x2fac9436 dw_hdmi_set_channel_allocation +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x316212a8 dw_hdmi_unbind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x42926f4a dw_hdmi_resume +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x4a9b174f dw_hdmi_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x5665b64f dw_hdmi_set_high_tmds_clock_ratio +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x56f72e25 dw_hdmi_set_sample_non_pcm +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x6712b5a7 dw_hdmi_phy_gen2_txpwron +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x7d8a3aee dw_hdmi_phy_i2c_write +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x8dcd6f43 dw_hdmi_set_sample_rate +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x8fae7515 dw_hdmi_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x96f3e250 dw_hdmi_set_sample_width +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0x9b44a60b dw_hdmi_phy_gen2_pddq +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xc47d80da dw_hdmi_bind +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xc59f9e6f dw_hdmi_phy_gen1_reset +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xce27012a dw_hdmi_audio_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xd6968220 dw_hdmi_phy_setup_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xd8fe547b dw_hdmi_audio_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xdafa1790 dw_hdmi_phy_read_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xf5922009 dw_hdmi_phy_update_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/bridge/synopsys/dw-hdmi 0xfa1433b5 dw_hdmi_set_plugged_cb +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_display_helper 0x365332a2 drm_hdcp_check_ksvs_revoked +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x513a19a1 of_dp_aux_populate_ep_devices +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x7108482f __dp_aux_dp_driver_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x7fce0758 of_dp_aux_depopulate_ep_devices +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0x879dddfd dp_aux_dp_driver_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/display/drm_dp_aux_bus 0xfa485faa devm_of_dp_aux_populate_ep_devices +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x0f5d5477 drm_of_find_panel_or_bridge +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x161819da drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x1ac333da drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4fd86b91 drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x58523554 drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x66cf2f64 drm_display_mode_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x715a511b drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7c3756be drm_of_lvds_get_data_mapping +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x91a09a4a drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x9486121c drm_of_encoder_active_endpoint +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x9c94d4e0 drm_of_lvds_get_dual_link_pixel_order +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa4fbc747 of_get_drm_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xad885165 drm_bus_flags_from_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb4732807 drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xb985c998 drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xbf476e2f drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd06880f4 of_get_drm_panel_display_mode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe10a56b7 drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe2786243 drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf6994083 drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xfe9f72f3 drm_display_mode_to_videomode +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xff8cf0a7 drm_of_component_match_add +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xffce2f87 drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x3ecc4b2a drm_fb_cma_sync_non_coherent +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x4690f14f drm_gem_cma_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x49530122 drm_gem_cma_dumb_create_internal +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x6d0a3939 drm_gem_cma_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x7f6db45f drm_gem_cma_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0x86e0c2a2 drm_gem_cma_free +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xab2ad5ae drm_fb_cma_get_gem_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xab4096b0 drm_gem_cma_vmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xb859747a drm_gem_cma_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xdecbd500 drm_fb_cma_get_gem_addr +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xe370bc54 drm_gem_cma_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_cma_helper 0xfb107aa5 drm_gem_cma_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x0b859aca drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x6ac2124f drm_gem_fb_create_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x71dbf1fe drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x98ed685d drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xac93d47f drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xb6035c4a drm_gem_plane_helper_prepare_fb +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xc63c923b drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xd14bb500 drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xee86e150 drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xf866a30c drm_bridge_connector_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x18e0d83d drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x5101cf9c drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x5ab5de40 drm_gem_shmem_free +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x612544c5 drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x75b8b62b drm_gem_shmem_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x8f45db4d drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x9b28124b drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xa602daef drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/panel/panel-samsung-s6e63m0 0x97a68f14 s6e63m0_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/panel/panel-samsung-s6e63m0 0xe4e4cedb s6e63m0_remove +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0x331cae49 ssd130x_shutdown +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0x3b680df0 ssd130x_probe +EXPORT_SYMBOL_GPL drivers/gpu/drm/solomon/ssd130x 0x7b0c5fe5 ssd130x_remove +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x02f46d26 __tracepoint_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x04efb343 greybus_message_sent +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x062006e8 gb_operation_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0a722f69 gb_connection_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x0b229210 gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x14028e17 __SCK__tp_func_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x15d1942f greybus_disabled +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x1ca1e153 greybus_deregister_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2789c907 gb_debugfs_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x28ad7350 gb_connection_latency_tag_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2d0b08c6 __traceiter_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x2f432391 gb_interface_request_mode_switch +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3227a017 gb_operation_unidirectional_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3550f94e gb_operation_request_send +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x37b5ea23 greybus_data_rcvd +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3b0c1555 gb_connection_enable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x3b655058 __traceiter_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x4ebbf13d gb_hd_shutdown +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x544a6b4a gb_connection_create_offloaded +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x547878e4 gb_operation_result +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x54c2e2f8 gb_connection_create_flags +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5ad3f2d7 __tracepoint_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x5c0a8043 __tracepoint_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6143ce71 gb_operation_get_payload_size_max +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6213634d __tracepoint_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6578a811 greybus_register_driver +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6b49bf84 gb_hd_cport_release_reserved +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6cf3488c gb_hd_cport_reserve +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x6d3bb9ec __SCK__tp_func_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x7b35e39f gb_connection_disable_rx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x81e221fb __SCK__tp_func_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x8246dd4c gb_operation_request_send_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x85290f7d gb_connection_latency_tag_disable +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x89f514a1 __SCK__tp_func_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x8bcedd57 gb_svc_intf_set_power_mode +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x95a6612e gb_operation_get +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x98a135f5 gb_connection_enable_tx +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x9e4608e7 gb_connection_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0x9fe7c69a gb_operation_sync_timeout +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa26e35a9 gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa416e2da __tracepoint_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xa9efdf1c gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xb1b31f3e __traceiter_gb_message_submit +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xc99e9b41 __traceiter_gb_hd_add +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xcbe21261 gb_operation_response_alloc +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xce0ee4cf __traceiter_gb_hd_create +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd3e646d9 __tracepoint_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xd475f35e gb_connection_destroy +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xda63cd61 gb_operation_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xeac79e1a __SCK__tp_func_gb_hd_del +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xebb06fe9 gb_hd_put +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xebba3dc5 __traceiter_gb_hd_in +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xef4dc173 gb_operation_cancel +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf107a122 __SCK__tp_func_gb_hd_release +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xf1da6f03 gb_hd_output +EXPORT_SYMBOL_GPL drivers/greybus/greybus 0xfb8f0b1a gb_connection_disable_forced +EXPORT_SYMBOL_GPL drivers/hid/hid 0x00230df3 hid_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x05495392 hid_debug +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0bc0ba38 hidinput_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x0e6de4d3 hid_allocate_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x125772f4 hidinput_get_led_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x17da06e0 hid_alloc_report_buf +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19d52f1f hid_quirks_exit +EXPORT_SYMBOL_GPL drivers/hid/hid 0x19dc4866 hid_destroy_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1a7e3019 hid_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x1d37da8f hidraw_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x221811b1 hid_driver_reset_resume +EXPORT_SYMBOL_GPL drivers/hid/hid 0x22d56278 hidraw_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2bf2093e hid_compare_device_paths +EXPORT_SYMBOL_GPL drivers/hid/hid 0x2cf4c5e4 hid_check_keys_pressed +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3272f2a8 hid_ignore +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3538452d hid_resolv_usage +EXPORT_SYMBOL_GPL drivers/hid/hid 0x3f4f0d4e hid_hw_start +EXPORT_SYMBOL_GPL drivers/hid/hid 0x43e2b873 hidinput_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x4579004d hid_lookup_quirk +EXPORT_SYMBOL_GPL drivers/hid/hid 0x50b0c507 hid_hw_stop +EXPORT_SYMBOL_GPL drivers/hid/hid 0x51a53872 hid_unregister_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0x572c774d hid_register_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x593ea78f hid_set_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5968b502 hid_input_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5c6bdd15 hid_parse_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5c8c50ff hid_driver_suspend +EXPORT_SYMBOL_GPL drivers/hid/hid 0x5dcbe8c7 hidinput_calc_abs_res +EXPORT_SYMBOL_GPL drivers/hid/hid 0x64d3f831 hid_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x69fb94c6 hidinput_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0x7986cd41 hid_hw_open +EXPORT_SYMBOL_GPL drivers/hid/hid 0x79bc5944 hid_field_extract +EXPORT_SYMBOL_GPL drivers/hid/hid 0x836bfd6f hid_debug_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8b13a8b8 hid_snto32 +EXPORT_SYMBOL_GPL drivers/hid/hid 0x8cb707a4 hid_dump_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x920e5050 hid_hw_output_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9e76b85a hid_validate_values +EXPORT_SYMBOL_GPL drivers/hid/hid 0x9fb944df hidinput_count_leds +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa4cfae93 hid_hw_raw_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0xa525a378 hid_dump_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb7dc2e8e hid_add_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb92a48fb hid_report_raw_event +EXPORT_SYMBOL_GPL drivers/hid/hid 0xb932f55c hid_open_report +EXPORT_SYMBOL_GPL drivers/hid/hid 0xbc43a812 hid_driver_resume +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc1c4341f hid_dump_input +EXPORT_SYMBOL_GPL drivers/hid/hid 0xc2579737 hid_dump_field +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe2eb9a9d __hid_register_driver +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe5e8ebd8 hid_hw_close +EXPORT_SYMBOL_GPL drivers/hid/hid 0xe626c01f hid_setup_resolution_multiplier +EXPORT_SYMBOL_GPL drivers/hid/hid 0xee402734 hid_hw_request +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf4b5871a hidraw_connect +EXPORT_SYMBOL_GPL drivers/hid/hid 0xf8b9fd43 hid_match_device +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfa355613 hid_quirks_init +EXPORT_SYMBOL_GPL drivers/hid/hid 0xfc94d668 __hid_request +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x2f622ea1 roccat_disconnect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x3e4427c8 roccat_report_event +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat 0x4ece8289 roccat_connect +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x0f759526 roccat_common2_sysfs_write +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x38259763 roccat_common2_receive +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x39b58d62 roccat_common2_device_init_struct +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0x5329a9e5 roccat_common2_send +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xad3b6078 roccat_common2_sysfs_read +EXPORT_SYMBOL_GPL drivers/hid/hid-roccat-common 0xba3a0c7f roccat_common2_send_with_status +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x07d7e734 sensor_hub_set_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x0fd44a4d sensor_hub_input_attr_get_raw_value +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x12b63724 sensor_hub_remove_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x31456efa sensor_hub_device_open +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x68bd9eda sensor_hub_device_close +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0x89054acb sensor_hub_get_feature +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xb6fbd83a sensor_hub_input_get_attribute_info +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xf2e4947c sensor_hub_register_callback +EXPORT_SYMBOL_GPL drivers/hid/hid-sensor-hub 0xf6e7dbe2 hid_sensor_get_usage_index +EXPORT_SYMBOL_GPL drivers/hid/hid-vivaldi-common 0x5eea037a vivaldi_input_configured +EXPORT_SYMBOL_GPL drivers/hid/hid-vivaldi-common 0xc99291c1 vivaldi_feature_mapping +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x138452b6 i2c_hid_ll_driver +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x351fd4dc i2c_hid_core_probe +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x4e9c2259 i2c_hid_core_pm +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0x991960c6 i2c_hid_core_remove +EXPORT_SYMBOL_GPL drivers/hid/i2c-hid/i2c-hid 0xfbcee8b8 i2c_hid_core_shutdown +EXPORT_SYMBOL_GPL drivers/hid/uhid 0x0abb783e uhid_hid_driver +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x81eed0fd hiddev_hid_event +EXPORT_SYMBOL_GPL drivers/hid/usbhid/usbhid 0x97ec5475 usb_hid_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x0f4c9852 hsi_new_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x13199721 hsi_alloc_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x149cd779 hsi_unregister_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x1c277597 hsi_register_port_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x2af89adb hsi_put_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x46afb2fb hsi_get_channel_id_by_name +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x48cc1f7d hsi_event +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5210a5bf hsi_board_list +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x55286504 hsi_release_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x5e48dc21 hsi_async +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6b5abecc hsi_free_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x6c2b2fa8 hsi_alloc_msg +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x8bfff47f hsi_register_client_driver +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0x9951c00f hsi_add_clients_from_dt +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xa73d3558 hsi_claim_port +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xb4e34427 hsi_register_controller +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe2b1f889 hsi_remove_client +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xe3516c37 hsi_port_unregister_clients +EXPORT_SYMBOL_GPL drivers/hsi/hsi 0xeb8ca987 hsi_unregister_port_event +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0x33ce5fb0 adt7x10_probe +EXPORT_SYMBOL_GPL drivers/hwmon/adt7x10 0xd84c3fa7 adt7x10_dev_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x5cbb5274 ltc2947_core_probe +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0x9d74fd9a ltc2947_pm_ops +EXPORT_SYMBOL_GPL drivers/hwmon/ltc2947-core 0xbc54f93e ltc2947_of_match +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x2c5df098 nct6775_probe +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x3a395661 nct6775_show_alarm +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x510b285d nct6775_store_beep +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0x8c1682e2 nct6775_show_beep +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xc373ebcb nct6775_update_device +EXPORT_SYMBOL_GPL drivers/hwmon/nct6775-core 0xd3ce11b9 nct6775_reg_is_word_sized +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x1484bf7c intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x2f42b419 intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x482e90ab intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x58dad744 intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x6e36b4a0 intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x9d29e394 intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xb33933bd intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xca4dd330 intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xdd84eedc intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x0224895f intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x0b108847 intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0xcadfae1f intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x3195d21f stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x382e2d42 stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x50ef61b5 stm_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x5312d165 stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x81ccf5d7 to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xa692b14d stm_source_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xb8ad4dad stm_source_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xcaae7760 stm_data_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xe4ebb427 stm_unregister_device +EXPORT_SYMBOL_GPL drivers/i2c/busses/i2c-ccgx-ucsi 0xf08e9135 i2c_new_ccgx_ucsi +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x394eb8b8 i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xa7c77509 i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xcc093699 i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xdda9d6e4 i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-smbus 0x0e54578b i2c_handle_smbus_alert +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x004669fb i3c_master_disec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x07d5d6b4 i3c_device_get_info +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x1e809a05 i3c_master_enec_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x33fbbdcd i3c_master_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x3aed2429 i3c_master_queue_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x429acb7a i3c_device_do_priv_xfers +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x547815cb i3c_driver_unregister +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x5504f8a8 i3c_master_do_daa +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x5564c05f i3c_master_add_i3c_dev_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x626040f3 i3c_device_disable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7467b5b4 i3c_device_free_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x76fe3e05 i3c_generic_ibi_free_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x7f18bede i3c_generic_ibi_alloc_pool +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x8974f2d0 i3c_device_enable_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x8ff14da0 i3c_generic_ibi_recycle_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0x906927f5 i3c_master_entdaa_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xa792c352 i3c_generic_ibi_get_free_slot +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xab04a36a i3c_device_match_id +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xae1dc41a i3c_driver_register_with_owner +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xb21d9646 i3c_device_request_ibi +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xb512b767 i3cdev_to_dev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xd838faac i3c_master_register +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe49ae606 i3c_master_get_free_addr +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe6fa6f78 i3c_master_defslvs_locked +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xe7f0a91f dev_to_i3cdev +EXPORT_SYMBOL_GPL drivers/i3c/i3c 0xf764836d i3c_master_set_info +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x1d3b5396 adi_axi_adc_conv_priv +EXPORT_SYMBOL_GPL drivers/iio/adc/adi-axi-adc 0x8487fb5b devm_adi_axi_adc_conv_register +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x267c0508 iio_channel_release_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x2a1fab3c iio_channel_stop_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x7a711aef iio_channel_start_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x88f279e8 iio_channel_cb_get_iio_dev +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x92836baf iio_channel_get_all_cb +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0x9acf62ab iio_channel_cb_set_buffer_watermark +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-cb 0xbb6028ab iio_channel_cb_get_channels +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x0022077f iio_dma_buffer_request_update +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x03acd865 iio_dma_buffer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x0df6f717 iio_dma_buffer_set_length +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x4b891986 iio_dma_buffer_read +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x4c458653 iio_dma_buffer_exit +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x4ee3cfe6 iio_dma_buffer_block_done +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x77bef4a4 iio_dma_buffer_data_available +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x7bd4927e iio_dma_buffer_release +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0x939dec59 iio_dma_buffer_init +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xd16869a6 iio_dma_buffer_set_bytes_per_datum +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xdc312846 iio_dma_buffer_block_list_abort +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dma 0xfa48cbcd iio_dma_buffer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-buffer-dmaengine 0x687f6fa5 devm_iio_dmaengine_buffer_setup +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x3391543d iio_hw_consumer_disable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x4d82923a devm_iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x55eb6669 iio_hw_consumer_alloc +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0x9671bc15 iio_hw_consumer_free +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-hw-consumer 0xbf358fa9 iio_hw_consumer_enable +EXPORT_SYMBOL_GPL drivers/iio/buffer/industrialio-triggered-buffer 0xf64c8049 devm_iio_triggered_buffer_setup_ext +EXPORT_SYMBOL_GPL drivers/iio/buffer/kfifo_buf 0xfff8348a devm_iio_kfifo_buffer_setup_ext +EXPORT_SYMBOL_GPL drivers/iio/chemical/sps30 0xe3f16f79 sps30_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x054ecbc0 bmg160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0x73d18397 bmg160_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/gyro/bmg160_core 0xd48aba7c bmg160_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x921028ae fxas21002c_core_probe +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0x9a0edd15 fxas21002c_core_remove +EXPORT_SYMBOL_GPL drivers/iio/gyro/fxas21002c_core 0xa8c45311 fxas21002c_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/imu/bmi160/bmi160_core 0xf71e7d78 bmi160_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/fxos8700_core 0x1ff8fd75 fxos8700_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0x0237dd12 inv_icm42600_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0x68db45f4 inv_icm42600_regmap_config +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_icm42600/inv-icm42600 0xcc5c57fd inv_icm42600_pm_ops +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0x4959d174 inv_mpu_core_probe +EXPORT_SYMBOL_GPL drivers/iio/imu/inv_mpu6050/inv-mpu6050 0xbeb07be9 inv_mpu_pmops +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x014be52c iio_write_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0ac26e9b iio_write_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0b8cd9df iio_get_channel_ext_info_count +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x0e3d5c2f iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x123d6d7c devm_iio_device_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1b6eba17 iio_read_channel_offset +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x1ee13de7 iio_read_max_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x228f851b devm_of_iio_channel_get_by_name +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x26f6b499 iio_str_to_fixpoint +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x28460927 iio_push_to_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x285c4f26 iio_buffer_enabled +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2a703fd9 iio_channel_release +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x2c9e5fb0 iio_pop_from_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x3bcc914a devm_iio_trigger_alloc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x434ee46b iio_device_claim_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4561a312 iio_buffer_put +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x48ceb4c6 iio_read_avail_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4a009e00 iio_channel_release_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4b4ffd18 iio_read_channel_average_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4b776563 iio_get_debugfs_dentry +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4bc30edb iio_device_release_direct_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x4dce7dd4 iio_format_value +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x56efac13 of_iio_channel_get_by_name +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x6cc498c9 iio_convert_raw_to_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x70955bbf iio_alloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x7ebef72a iio_buffer_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x87ad69f9 iio_get_channel_type +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8af05fcf iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8b16d962 iio_read_channel_processed_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x8ca7e67c iio_enum_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9262617e iio_read_channel_raw +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x95aacdbf iio_push_to_buffers_with_ts_unaligned +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0x9f1fb57e iio_device_get_current_mode +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xb0e4b92e iio_map_array_unregister +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbc50bea6 iio_update_buffers +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbcc85d55 __devm_iio_device_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xbe2a767d iio_read_channel_scale +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc451fcd2 iio_show_mount_matrix +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xc5ddd64d iio_read_channel_processed +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xca9464ab devm_iio_channel_get_all +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd0f6630f devm_iio_map_array_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd314e759 iio_read_avail_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xd80c3de5 iio_read_channel_attribute +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xda94e5f2 iio_write_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xdc5970ca iio_device_id +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe477141c iio_validate_scan_mask_onehot +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe8fac6d2 iio_dealloc_pollfunc +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xe9c47bd1 iio_enum_write +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xedb32f6b iio_device_attach_buffer +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf2401eef iio_enum_available_read +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf6ab33ea iio_read_channel_ext_info +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf6c94e0c __devm_iio_trigger_register +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xf7515de1 devm_iio_channel_get +EXPORT_SYMBOL_GPL drivers/iio/industrialio 0xfda6a44a iio_channel_get +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x07e4f978 rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x2bc83a6e rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x3a41a288 rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x49549b18 rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x49702f5a rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x524f2894 rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x87cf39b5 rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x90538468 rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x957f35f5 rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xb09badb4 rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xe7e31782 rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xedc1ba56 rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/input/ff-memless 0x05ff6d42 input_ff_create_memless +EXPORT_SYMBOL_GPL drivers/input/matrix-keymap 0xcb068c69 matrix_keypad_parse_properties +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0x66535a18 adxl34x_suspend +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xba062c90 adxl34x_probe +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xe4586827 adxl34x_resume +EXPORT_SYMBOL_GPL drivers/input/misc/adxl34x 0xec511022 adxl34x_remove +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x2931aaea rmi_driver_resume +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x3b69c25f rmi_2d_sensor_of_probe +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x422ea5a3 rmi_register_transport_device +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x46cbc674 rmi_2d_sensor_abs_process +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x4dc4eb8b rmi_driver_suspend +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x71fca17d rmi_2d_sensor_configure_input +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x785ac4cf rmi_dbg +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x8ed2c704 rmi_set_attn_data +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0x99807c94 rmi_2d_sensor_rel_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xa1961dba __rmi_register_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xb9927552 rmi_unregister_function_handler +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xc4b2650f rmi_2d_sensor_abs_report +EXPORT_SYMBOL_GPL drivers/input/rmi4/rmi_core 0xcd7eab46 rmi_of_property_read_u32 +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0x4f0931e8 cyttsp4_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xc56bd660 cyttsp4_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp4_core 0xd658b640 cyttsp4_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0x35f73020 cyttsp_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_core 0xabb55f7d cyttsp_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0x26d79778 cyttsp_i2c_read_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/cyttsp_i2c_common 0xbf513d74 cyttsp_i2c_write_block_data +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x05aecbca tsc200x_probe +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x0c68a7d7 tsc200x_remove +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x278e13af tsc200x_pm_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/tsc200x-core 0x8e6a0ee2 tsc200x_regmap_config +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x29e56aed wm9712_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x345b77b7 wm9705_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x4fd3a990 wm97xx_reg_write +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x59d400ef wm97xx_reg_read +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x5e904284 wm97xx_config_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x8577a3cd wm97xx_read_aux_adc +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0x9223eedf wm97xx_set_gpio +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xad2fbdc7 wm97xx_unregister_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xb883bf45 wm97xx_set_suspend_mode +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xc53effab wm97xx_register_mach_ops +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xe54f6a73 wm9713_codec +EXPORT_SYMBOL_GPL drivers/input/touchscreen/wm97xx-ts 0xea66bda6 wm97xx_get_gpio +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x42acbf2f free_iova_fast +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x438d8df2 iova_cache_get +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x5a7ce630 alloc_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x651f2a1d iova_domain_init_rcaches +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x695e804c __free_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x826ad319 alloc_iova_fast +EXPORT_SYMBOL_GPL drivers/iommu/iova 0x91c07a28 reserve_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0xbb0cc449 free_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0xbd08f9e0 find_iova +EXPORT_SYMBOL_GPL drivers/iommu/iova 0xc7061ef3 iova_cache_put +EXPORT_SYMBOL_GPL drivers/iommu/iova 0xcefe03d4 init_iova_domain +EXPORT_SYMBOL_GPL drivers/iommu/iova 0xef4d8133 put_iova_domain +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x1fef42b8 ipack_bus_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x35858e8f ipack_driver_unregister +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x67225add ipack_device_init +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x76ee9826 ipack_get_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0x99bf90dd ipack_driver_register +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xb316173b ipack_device_del +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xc55f4f1d ipack_device_add +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xcf0c5faf ipack_put_device +EXPORT_SYMBOL_GPL drivers/ipack/ipack 0xf6c12e48 ipack_bus_register +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x2ec4f39b led_update_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x63574e56 devm_led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0x819d2545 led_classdev_flash_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xcbf7ae37 devm_led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xdb75b5e0 led_classdev_flash_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xe03f88a1 led_set_flash_brightness +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xf3701d6c led_get_flash_fault +EXPORT_SYMBOL_GPL drivers/leds/led-class-flash 0xf3a1c9f7 led_set_flash_timeout +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x0de49ee0 devm_led_classdev_multicolor_unregister +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x252b2629 led_mc_calc_color_components +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0x4800e3c7 devm_led_classdev_multicolor_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0xab965ffc led_classdev_multicolor_register_ext +EXPORT_SYMBOL_GPL drivers/leds/led-class-multicolor 0xde488487 led_classdev_multicolor_unregister +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x063cb469 lp55xx_read +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x0b1777d0 lp55xx_init_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x811143df lp55xx_register_leds +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0x814936cc lp55xx_deinit_device +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xa53f504d lp55xx_is_extclk_used +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xac1a0705 lp55xx_unregister_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xbd3932a3 lp55xx_of_populate_pdata +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xc2978141 lp55xx_register_sysfs +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xcddded92 lp55xx_update_bits +EXPORT_SYMBOL_GPL drivers/leds/leds-lp55xx-common 0xda125548 lp55xx_write +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-audio 0x3bd45b0d ledtrig_audio_set +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-audio 0xce593c22 ledtrig_audio_get +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-camera 0x749e05f2 ledtrig_flash_ctrl +EXPORT_SYMBOL_GPL drivers/leds/trigger/ledtrig-camera 0x7903e46e ledtrig_torch_ctrl +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x0a0527be wf_register_client +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x14ad2cd7 wf_put_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x14d58388 wf_register_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x61c36ea6 wf_unregister_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x75147afa wf_set_overtemp +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x7aa08bc8 wf_register_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x7e981190 wf_put_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x8f6cbdb1 wf_get_control +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0x943039c7 wf_unregister_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xaf834a7b wf_get_sensor +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xbcace2a5 wf_unregister_client +EXPORT_SYMBOL_GPL drivers/macintosh/windfarm_core 0xed82a14f wf_clear_overtemp +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x051b2215 __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x06bceaa1 __SCK__tp_func_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0826e917 __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0b896162 __traceiter_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0bc0be45 __SCK__tp_func_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0f29fccb __traceiter_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x106d39fb __traceiter_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x15f3de09 __SCK__tp_func_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x16ea7222 __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x17a83e40 __traceiter_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x181a1930 __SCK__tp_func_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x191717af __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1934a9a9 __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1b083369 __SCK__tp_func_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c599ebe __traceiter_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c71a406 __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c83d5b7 __SCK__tp_func_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x22ae6324 __SCK__tp_func_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x247094cb __traceiter_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2766fb04 __traceiter_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x284a6bff __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2909bc5d __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2a0e014e __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2af60833 __SCK__tp_func_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3257d343 __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3472bb78 __traceiter_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x35e4f42f __traceiter_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x46bfabee __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x46c66897 __SCK__tp_func_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x478ea3e5 __traceiter_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x488aca90 __traceiter_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4a2d1241 __SCK__tp_func_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5143cfd6 __traceiter_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x51d0e534 __SCK__tp_func_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x53b5e5e3 __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x58d629e8 __traceiter_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5cc8cb86 __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5d9c8fc8 __SCK__tp_func_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5fd7c423 __SCK__tp_func_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6026e276 __SCK__tp_func_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x64e39418 __traceiter_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6697827f __SCK__tp_func_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x684963da __traceiter_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x690dd415 __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6be33fab __traceiter_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6e74dca7 __SCK__tp_func_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6f3a1496 __traceiter_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x79eeb380 __SCK__tp_func_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7a3c0ac3 __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x80e3881d __SCK__tp_func_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x830df522 __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x862dfa21 __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x8ad20d61 __SCK__tp_func_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x902cb523 __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9865dbc4 __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x989d5d60 __traceiter_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9a6f4d9f __SCK__tp_func_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9ce21c84 __SCK__tp_func_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa14fdbcf __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa187023e __SCK__tp_func_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa2730991 __traceiter_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa64134e4 __SCK__tp_func_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa8243525 __traceiter_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa842a5c8 __SCK__tp_func_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa88998d6 __traceiter_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xad6440b4 __traceiter_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xae4d62ea __traceiter_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb5a62a8c __traceiter_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb912ae0b __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xba843c3f __SCK__tp_func_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbb9060b5 __traceiter_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbbc80c6c __traceiter_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbc268695 __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc1857470 __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc78d7102 __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc8ae4213 __SCK__tp_func_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xce48d6f4 __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xda06fe86 __SCK__tp_func_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xdd4108bc __traceiter_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xdd75bce3 __traceiter_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe16c06b3 __SCK__tp_func_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe202b8e6 __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xec29e22a __traceiter_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xec92a163 __SCK__tp_func_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xed37c90e __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xee55d047 __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xef7eec02 __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf6249e5f __SCK__tp_func_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf865c1a2 __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfa980ef9 __traceiter_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfb3d6c67 __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfd6b5d80 __SCK__tp_func_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfeb91e63 __traceiter_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x17dd39d6 dm_deferred_set_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x1de28de9 dm_bio_prison_free_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x26f61068 dm_cell_put_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2d2659d5 dm_cell_release_no_holder +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2e587166 dm_cell_error +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2e59b749 dm_bio_detain +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2eaf2afa dm_cell_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2eb01e04 dm_deferred_set_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x426d937c dm_cell_get_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x4c2db58b dm_bio_prison_alloc_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x58f0d459 dm_bio_prison_alloc_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x5f0a1e11 dm_cell_lock_promote_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x5f629594 dm_get_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6791a44e dm_deferred_entry_dec +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x753e20b2 dm_bio_prison_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x7672a689 dm_cell_lock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x8fa22485 dm_cell_promote_or_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xab816db7 dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xace9b57b dm_bio_prison_destroy_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb6d5c65d dm_deferred_set_add_work +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb70b342a dm_bio_prison_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xbaa5e4d4 dm_bio_prison_free_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xca2e3a88 dm_deferred_entry_inc +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xd7496422 dm_cell_unlock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xd7a236fd dm_cell_quiesce_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xd99e003d dm_bio_prison_create_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x0ad0dc4f dm_bufio_mark_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x111ab12a dm_bufio_mark_partial_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x24772bfe dm_bufio_get +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x2e0774dc dm_bufio_get_block_number +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x31b2c5b6 dm_bufio_client_create +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6aebce95 dm_bufio_issue_discard +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6d3f57bd dm_bufio_get_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x72f07bf4 dm_bufio_set_minimum_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x74dcd98c dm_bufio_get_aux_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7c381a76 dm_bufio_get_block_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x867e87eb dm_bufio_get_dm_io_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xa82b2066 dm_bufio_write_dirty_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xb04f56ab dm_bufio_read +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xb2438d54 dm_bufio_release_move +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc0d7df85 dm_bufio_new +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc90df7e5 dm_bufio_prefetch +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc9a3422d dm_bufio_write_dirty_buffers_async +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xcd2ba798 dm_bufio_forget +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd4bddf5c dm_bufio_issue_flush +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd991e3b9 dm_bufio_get_device_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xe6024e59 dm_bufio_release +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xebcc64a4 dm_bufio_get_block_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xeca7949e dm_bufio_client_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xed3283a4 dm_bufio_set_sector_offset +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xf241a6eb dm_bufio_forget_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x0efbca4c btracker_promotion_already_present +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x547db67c dm_cache_policy_register +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5adc2807 btracker_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5de611a9 btracker_nr_writebacks_queued +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x7890d535 dm_cache_policy_get_name +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x87bee547 btracker_queue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x890723f7 dm_cache_policy_get_version +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xa070c429 dm_cache_policy_unregister +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xa2365f44 btracker_issue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xa7eadcb5 btracker_complete +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xadbefda4 dm_cache_policy_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xbf1a2968 btracker_create +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xccfe6409 btracker_nr_demotions_queued +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xcf8c2590 dm_cache_policy_get_hint_size +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xe1bdae47 dm_cache_policy_create +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x1338fdfe dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0x505eaa30 dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x01d2f9ac dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38972f23 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38efaf5a dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3a18389a dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x57e16c3e dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5caef02f dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5f4a6e61 dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x73f36a75 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7774620f dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7ab0ba0f dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d053fc5 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d5e1815 dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x8d724dde dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa53387c7 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa83588eb dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xbe38a431 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xcc880729 dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd8aa4284 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf92b8a3d dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfcc937c9 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfd93482e dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0054f69d dm_tm_pre_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x11fbbe02 dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x15085586 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1816383d dm_btree_find_highest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1ae16d40 dm_tm_dec_range +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1ba7cc87 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x243ce1ad dm_array_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x24507fbf dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2bc1a8d9 dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2c5a02df dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2d38ecd9 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2f40da68 dm_bm_set_read_write +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x30a26537 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x30c37cc0 dm_bm_write_lock_zero +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3646e38f dm_tm_issue_prefetches +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x382a0134 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ae50a4a dm_tm_inc_range +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3d6961ed dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x46768dbf dm_btree_remove_leaves +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x4f477261 dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5375ca71 dm_bm_write_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5475ba9e dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5736c9c5 dm_bitset_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x586705e1 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x688d422d dm_bm_block_size +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6b2357b6 dm_bitset_test_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6c218062 dm_bitset_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6c2c7ef4 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7062014c dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x72289260 dm_block_manager_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x73420d49 dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x75606d09 dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x79bdc649 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7ade1071 dm_tm_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b047bd9 dm_tm_create_non_blocking_clone +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b6b3af5 dm_bm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7bc7621f dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7e29c59d dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x87c934be dm_tm_inc +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88295b96 dm_tm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88998224 dm_disk_bitset_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88a5c035 dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8db6f8f0 dm_tm_with_runs +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8f5eefee dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x925f421d dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9290e07a dm_tm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x932a6ffc dm_tm_shadow_block +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9341b376 dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x95a52abd dm_bm_is_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9718cffa dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9955fef4 dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9ced228c dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9e798e22 dm_bm_set_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa29d4c0c dm_bitset_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2a74861 dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa9cf611b dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb3d7482b dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb6879c01 dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb720ee73 dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc0d7c2d1 dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc0fadb13 dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc36559ad dm_btree_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd237b9fb dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd39c0246 dm_btree_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xdf3a4e7d dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe781f874 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe8438eb5 dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf82dba90 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xfce51d79 dm_array_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xfdf63e93 dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x0225379c cec_s_log_addrs +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x0bd58682 cec_queue_pin_cec_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x14c3e966 cec_unregister_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x15fd9f33 cec_fill_conn_info_from_drm +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x27a872e8 cec_register_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x2a732f40 cec_queue_pin_5v_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x2b639b34 cec_transmit_attempt_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x38daf479 cec_transmit_msg +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x46cafa99 cec_s_conn_info +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x509ba7fa cec_notifier_conn_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x55b1687f cec_s_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x668b5abe cec_queue_pin_hpd_event +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x73db5baf cec_notifier_cec_adap_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x8ac01c6b cec_notifier_parse_hdmi_phandle +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x8bead917 cec_allocate_adapter +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0x916be9fd cec_notifier_cec_adap_register +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xa01fbb6b cec_notifier_set_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xaee236c6 cec_notifier_conn_unregister +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xbe4de675 cec_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xc142323d cec_received_msg_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xc16f2887 cec_notifier_set_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xedf459e7 cec_transmit_done_ts +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf42b5f41 cec_s_phys_addr_from_edid +EXPORT_SYMBOL_GPL drivers/media/cec/core/cec 0xf6938d31 cec_delete_adapter +EXPORT_SYMBOL_GPL drivers/media/common/b2c2/b2c2-flexcop 0x66c0289a b2c2_flexcop_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x1b19bb42 saa7146_pgtable_build_single +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x2719095e saa7146_vmalloc_build_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x4ff31340 saa7146_register_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x6bca53a1 saa7146_i2c_adapter_prepare +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x6f3613b6 saa7146_vfree_destroy_pgtable +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x73267d71 saa7146_pgtable_alloc +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0x749ef7ae saa7146_setgpio +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xb7092d90 saa7146_pgtable_free +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xe3cd9b5c saa7146_debug +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xec388bab saa7146_wait_for_debi_done +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146 0xef70f8f4 saa7146_unregister_extension +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x1a2298b2 saa7146_register_device +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x20197554 saa7146_stop_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x41b0e377 saa7146_vv_release +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x44fb01c8 saa7146_start_preview +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x598e4dbd saa7146_set_hps_source_and_sync +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0x7ffccefd saa7146_vv_init +EXPORT_SYMBOL_GPL drivers/media/common/saa7146/saa7146_vv 0xe3e9bd41 saa7146_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x05a2573d smscore_set_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x21e36bf2 smscore_registry_getmode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x34bf0e61 smscore_translate_msg +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x37d91069 smsendian_handle_tx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x4230bc54 smscore_getbuffer +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x45284ae9 smsendian_handle_rx_message +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x46edbaf1 smscore_onresponse +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x4ac747f4 smscore_register_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x6fc46c30 smscore_get_device_mode +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x74ee9098 sms_board_load_modules +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x7c576277 smsendian_handle_message_header +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x844539ae sms_get_board +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x87c2ffac smscore_register_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x8c32bcb1 sms_board_event +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x99a81ab3 smsclient_sendrequest +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x99b995cb sms_board_lna_control +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x9ba22140 smscore_get_board_id +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0x9e010871 smscore_register_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xafff6f04 smscore_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xb43a51ff sms_board_power +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbbdb5c42 smscore_unregister_client +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xbf49f7cb smscore_start_device +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xc67d0f95 sms_board_led_feedback +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xe3fef00b smscore_unregister_hotplug +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xedc3c7f5 sms_board_setup +EXPORT_SYMBOL_GPL drivers/media/common/siano/smsmdtv 0xfa3b0ec0 smscore_putbuffer +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x03005a48 tpg_alloc +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x040dc7cd tpg_aspect_strings +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x4d1d285c tpg_init +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x517e7ccd tpg_fill_plane_buffer +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x6026aaf0 tpg_log_status +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x6960e899 tpg_s_crop_compose +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x756516e7 tpg_s_fourcc +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x7a5d8c0b tpg_update_mv_step +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x86b4ddf7 tpg_reset_source +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0x975a1e29 tpg_g_interleaved_plane +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xaa5503d9 tpg_set_font +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xb40fae23 tpg_g_color_order +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xc6110b6e tpg_free +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xc6808be7 tpg_calc_text_basep +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xce8159bb tpg_pattern_strings +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xf4aef3a4 tpg_gen_text +EXPORT_SYMBOL_GPL drivers/media/common/v4l2-tpg/v4l2-tpg 0xf65c5e46 tpg_fillbuffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x07026a7b __traceiter_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x07729fd4 __SCK__tp_func_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x217a77ba __traceiter_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x24451812 __tracepoint_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2593782f __tracepoint_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x2b3c02d0 vb2_core_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x374e4a6c vb2_thread_stop +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x56c83c20 vb2_core_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x630b24d3 __tracepoint_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x64bc45c8 vb2_plane_vaddr +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x6badd14e vb2_core_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x7998b2a0 vb2_request_buffer_cnt +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x82801381 vb2_queue_error +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x83ab23a3 vb2_core_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8ddb0f56 vb2_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0x8f1237be vb2_core_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xa6fadfbe vb2_request_object_is_buffer +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xabd4e3a6 vb2_discard_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb0821d14 __traceiter_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb6f4b031 __SCK__tp_func_vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xb9d2df39 __SCK__tp_func_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc7b45aa4 __SCK__tp_func_vb2_buf_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xc8b25fc7 vb2_core_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd48b2b6a vb2_core_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd579675e vb2_core_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xd5c55756 vb2_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xe158298b vb2_core_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xe9fe4a0e vb2_core_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xeabf6f0a vb2_buffer_done +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xef9da2fe __traceiter_vb2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf05cca5a vb2_core_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf0d0ace6 vb2_plane_cookie +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf5327b37 vb2_wait_for_all_buffers +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf6c53100 vb2_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xf703a3f9 __tracepoint_vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xfa24b049 vb2_core_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-common 0xfff4bb73 vb2_thread_start +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0xc4e42bb0 vb2_dma_contig_set_max_seg_size +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-contig 0xc7db086a vb2_dma_contig_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-dma-sg 0x978fc7b2 vb2_dma_sg_memops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-memops 0xc0268255 vb2_common_vm_ops +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x07121a1c vb2_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x0854bf2b vb2_find_timestamp +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x1ce10e26 vb2_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x3bc83d93 vb2_video_unregister_device +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x446e2288 _vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x4795fe07 vb2_queue_change_type +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x6562fc8f vb2_fop_write +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x692fcbf4 vb2_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x6dc64ac4 vb2_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x72500ffc vb2_fop_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x82cdfe57 vb2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0x95d81190 vb2_request_queue +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa316eff5 vb2_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa6687b4f vb2_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xa7b00a12 vb2_request_validate +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xab5aa31e vb2_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xad42d7d4 vb2_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xae01cbde vb2_fop_read +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xb4437955 vb2_ops_wait_prepare +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc61f8d06 vb2_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc7814ffb vb2_ops_wait_finish +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xc8bc6b38 vb2_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xcb38c3db vb2_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xcca2d2be vb2_queue_release +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xd3b4f731 vb2_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xdcedd50e vb2_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe0e65f9f vb2_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe251eb20 vb2_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe43349e2 vb2_expbuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xe639f35f vb2_fop_poll +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xf179586e vb2_queue_init +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xfb5260fd vb2_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xfe43e182 vb2_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-v4l2 0xff12fd2f vb2_queue_init_name +EXPORT_SYMBOL_GPL drivers/media/common/videobuf2/videobuf2-vmalloc 0x5c25275a vb2_vmalloc_memops +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0x0eb9fcb9 dvb_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xa2302412 dvb_module_release +EXPORT_SYMBOL_GPL drivers/media/dvb-core/dvb-core 0xeb124496 dvb_module_probe +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/as102_fe 0x5c6bd998 as102_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/cx24117 0x54856212 cx24117_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/gp8psk-fe 0x54c476cb gp8psk_fe_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/mxl5xx 0x73bd75c2 mxl5xx_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv0910 0x83daee4d stv0910_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/stv6111 0x567f3f89 stv6111_attach +EXPORT_SYMBOL_GPL drivers/media/dvb-frontends/tda18271c2dd 0xe7a7fb3e tda18271c2dd_attach +EXPORT_SYMBOL_GPL drivers/media/i2c/aptina-pll 0x399a1ed2 aptina_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/ccs-pll 0x15f08bdf ccs_pll_calculate +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x022f73ec max9271_set_address +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x0d632141 max9271_clear_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x2bd4bf40 max9271_wake_up +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x30c5807b max9271_configure_i2c +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x35be4367 max9271_verify_id +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x40c35b82 max9271_enable_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x4d16fece max9271_set_deserializer_address +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x6d44ca05 max9271_configure_gmsl_link +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x8a7092dd max9271_disable_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x8c3e94cb max9271_set_gpios +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0x990658a1 max9271_set_translation +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xab13e808 max9271_set_serial_link +EXPORT_SYMBOL_GPL drivers/media/i2c/max9271 0xbc96972b max9271_set_high_threshold +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x02ed1541 __media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x08575a9b media_request_object_find +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0c5eaf92 media_entity_get_fwnode_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x0fb54158 media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x1892840d media_request_object_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x20b711ca media_create_pad_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x24ac989c media_device_delete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x3056b33c media_device_unregister_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x5fff2c9f media_device_register_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x602967f2 media_graph_walk_next +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x64af2811 media_get_pad_index +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x653af73f media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6672ed63 media_entity_remote_pad +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x67ce7fc1 media_create_pad_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x68d79efc media_request_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6998953d media_entity_remove_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x6e4461c4 media_request_object_complete +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7bb13c0d media_device_register_entity +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7bdf1e5a media_device_usb_allocate +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x7d026fe4 media_device_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x809a8b70 media_graph_walk_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x87fb4e0b media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8980a9e6 media_request_object_put +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x8db8d9e2 media_request_get_by_fd +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9805501f media_graph_walk_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9dc6c1ae media_create_ancillary_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0x9ff97f41 media_device_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xa83d7ff6 media_create_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xac9dcb31 media_device_unregister +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xb1c26aa0 media_device_pci_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xba57f433 __media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xbe218142 media_request_object_bind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc0d53cd6 __media_entity_setup_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xc6e4d806 media_request_object_unbind +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd5ecc882 media_entity_find_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd6991e34 __media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd6c333b3 media_device_unregister_entity_notify +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xd7797f34 media_devnode_create +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xde23069c __media_remove_intf_links +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xde984a66 media_pipeline_start +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xdf7ab125 media_remove_intf_link +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe5ceecd6 media_entity_enum_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xe6caa42a __media_device_usb_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xebc78a00 media_graph_walk_cleanup +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xee4addaf __media_device_register +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf696b0ea media_devnode_remove +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf8a62767 __media_pipeline_stop +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xf9152286 media_entity_pads_init +EXPORT_SYMBOL_GPL drivers/media/mc/mc 0xfc781c47 __media_entity_enum_init +EXPORT_SYMBOL_GPL drivers/media/pci/cx88/cx88xx 0xa4abe707 cx88_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x04e30540 mantis_dma_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x0afcdb38 mantis_uart_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x0bec3cd6 mantis_dvb_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x16698219 mantis_uart_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x23c5255f mantis_frontend_soft_reset +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x2891970e mantis_i2c_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x39e9b008 mantis_get_mac +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x4ab710b5 mantis_pci_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x511761d7 mantis_ca_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x64280aab mantis_frontend_power +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x6a193d97 mantis_ca_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x7ff5cc8c mantis_pci_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x93edd6d3 mantis_i2c_init +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0x9b01f187 mantis_input_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xb0907d0b mantis_dvb_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xb4dcb4d3 mantis_stream_control +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xbf9f449d mantis_dma_exit +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xde588e29 mantis_gpio_set_bits +EXPORT_SYMBOL_GPL drivers/media/pci/mantis/mantis_core 0xe8b1cce9 mantis_input_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x012cf8a6 saa7134_g_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x1b451a81 saa7134_s_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x1ca89c42 saa7134_g_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x2e344993 saa7134_s_tuner +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x31c6e205 saa7134_ts_buffer_init +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x35b95f61 saa7134_g_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x35d3ae9a saa7134_s_std +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x3d781063 saa7134_querystd +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x52ba4aaa saa7134_ts_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x55d17c2e saa7134_ts_qops +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x5af1655a saa7134_s_frequency +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x63d4c64a saa7134_querycap +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x65cebd96 saa7134_ts_buffer_prepare +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0x80e4db51 saa7134_enum_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xb34b3def saa7134_g_input +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xb508dc92 saa7134_ts_queue_setup +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xdd4c7c4a saa7134_ts_start_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xf33938a2 saa7134_stop_streaming +EXPORT_SYMBOL_GPL drivers/media/pci/saa7134/saa7134 0xf876e39f saa7134_vb2_buffer_queue +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x0f822e5e ttpci_budget_irq10_handler +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x49403d8f ttpci_budget_debiwrite +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x6a502d94 ttpci_budget_set_video_port +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0x7948c222 budget_debug +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xa6a28788 ttpci_budget_init_hooks +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xcb3990f2 ttpci_budget_debiread +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xe00e1aa5 ttpci_budget_init +EXPORT_SYMBOL_GPL drivers/media/pci/ttpci/budget-core 0xef3f48f5 ttpci_budget_deinit +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x170fef16 mccic_register +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x7e68293d mccic_shutdown +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0x9f90b119 mccic_resume +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0xde41b884 mccic_irq +EXPORT_SYMBOL_GPL drivers/media/platform/marvell/mcam-core 0xfa140548 mccic_suspend +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x008c062b xvip_of_get_format +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x0c7d3324 xvip_clr_or_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x18b29710 xvip_clr_and_set +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x43738fab xvip_set_format_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0x89f90f00 xvip_enum_frame_size +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xa8be34c6 xvip_enum_mbus_code +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xb67940fb xvip_get_format_by_fourcc +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xbb326cc8 xvip_init_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xd5685269 xvip_cleanup_resources +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-video 0xe08e6063 xvip_get_format_by_code +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x3c16a6b1 xvtc_generator_stop +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x44677a00 xvtc_of_get +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0x47d7900b xvtc_generator_start +EXPORT_SYMBOL_GPL drivers/media/platform/xilinx/xilinx-vtc 0xa8a0f912 xvtc_put +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0x9356c7a0 radio_tea5777_init +EXPORT_SYMBOL_GPL drivers/media/radio/shark2 0xb9e18205 radio_tea5777_exit +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x435c70e2 si470x_ctrl_ops +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x558d181d si470x_stop +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x5b7f427b si470x_set_freq +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0x8876ad0b si470x_viddev_template +EXPORT_SYMBOL_GPL drivers/media/radio/si470x/radio-si470x-common 0xe4356484 si470x_start +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x013f0eb6 ir_raw_event_handle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x01fcd79d rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x1687e3ac rc_keyup +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x27bc3662 lirc_scancode_event +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x27bd4a12 ir_raw_event_store_with_timeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x3283fe5e devm_rc_allocate_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4082a5d0 ir_raw_event_store_edge +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x4cbe50e2 rc_unregister_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x71789797 rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x775cbfaf rc_repeat +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x87070261 devm_rc_register_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0x8d720c16 ir_raw_event_store_with_filter +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xad171efa rc_keydown_notimeout +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xadeb7ac2 ir_raw_event_set_idle +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xaf1c6040 rc_map_register +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb07c07de rc_keydown +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xb5e22b45 rc_g_keycode_from_table +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xbef1458e rc_map_get +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xca739fa4 rc_free_device +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xd7875151 rc_map_unregister +EXPORT_SYMBOL_GPL drivers/media/rc/rc-core 0xf7fd1582 ir_raw_event_store +EXPORT_SYMBOL_GPL drivers/media/tuners/mt2063 0xefc5bb4e mt2063_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mt20xx 0x7ad38216 microtune_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/mxl5007t 0x1b9e4d02 mxl5007t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/r820t 0xdc775ed8 r820t_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda18271 0xa552ef85 tda18271_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda827x 0x56ef619c tda827x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0x7cd03fc3 tda829x_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tda8290 0xe6f79023 tda829x_probe +EXPORT_SYMBOL_GPL drivers/media/tuners/tda9887 0xad17c8d3 tda9887_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0x8bf6ce1c tea5761_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5761 0xc19f7412 tea5761_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0x11409207 tea5767_autodetection +EXPORT_SYMBOL_GPL drivers/media/tuners/tea5767 0xf788126c tea5767_attach +EXPORT_SYMBOL_GPL drivers/media/tuners/tuner-simple 0xaff26586 simple_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x017ea7c7 cx231xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x1364ea58 cx231xx_dev_uninit +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x167f340b cx231xx_disable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x1910c61f cx231xx_dev_init +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x1a9f5ba4 cx231xx_send_gpio_cmd +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x1f4c94d5 cx231xx_init_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x4e7b6033 cx231xx_uninit_vbi_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x5160b647 cx231xx_uninit_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x6267260f cx231xx_enable_i2c_port_3 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7aa573fa cx231xx_send_usb_command +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x7ffb8ab1 cx231xx_unmute_audio +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x81c1e3fd cx231xx_init_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0x8726fdf9 cx231xx_get_i2c_adap +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xa33f5602 cx231xx_set_alt_setting +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xaf8bb994 cx231xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xcfc41d4a cx231xx_uninit_bulk +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xd74f6f1f is_fw_load +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xe22d6813 cx231xx_demod_reset +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xe306739e cx231xx_init_isoc +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xe314ee07 cx231xx_enable656 +EXPORT_SYMBOL_GPL drivers/media/usb/cx231xx/cx231xx 0xfc43c8bf cx231xx_capture_start +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-demod 0x2665faea mxl111sf_demod_attach +EXPORT_SYMBOL_GPL drivers/media/usb/dvb-usb-v2/mxl111sf-tuner 0xcfe23bf0 mxl111sf_tuner_attach +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x0b3ddd99 em28xx_audio_setup +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x152f9f6e em28xx_write_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x2ce67cd2 em28xx_find_led +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x37728758 em28xx_gpio_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x45e338fb em28xx_init_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x5acbe0da em28xx_init_camera +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x70dd54fa em28xx_alloc_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x721f7cc7 em28xx_free_device +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7784c47b em28xx_read_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x7fc8652c em28xx_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x85cc2593 em28xx_toggle_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x8a6559a1 em28xx_set_mode +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x921d7c65 em28xx_boards +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x947e218f em28xx_write_regs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0x96729604 em28xx_write_reg_bits +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xac18c78b em28xx_read_reg +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xb92724aa em28xx_uninit_usb_xfer +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xbff0a224 em28xx_stop_urbs +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xc17aa175 em28xx_write_ac97 +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xc78476f5 em28xx_audio_analog_set +EXPORT_SYMBOL_GPL drivers/media/usb/em28xx/em28xx 0xda1a8c46 em28xx_setup_xc3028 +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x1d61923b tm6000_set_reg_mask +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x2309a6d6 tm6000_xc5000_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x87fd67ef tm6000_set_audio_bitrate +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0x89b611dd tm6000_debug +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xbda1c07e tm6000_get_reg +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xdff8e89d tm6000_tuner_callback +EXPORT_SYMBOL_GPL drivers/media/usb/tm6000/tm6000 0xf34eed43 tm6000_set_reg +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x0a68ac2a __v4l2_async_nf_add_i2c +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x27a3121e __v4l2_async_nf_add_fwnode +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0x60975236 __v4l2_async_nf_add_fwnode_remote +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0xd787fcb8 __v4l2_async_nf_add_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-async 0xe14b8839 v4l2_async_nf_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x01612c0b v4l2_detect_gtf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x08402862 v4l2_print_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x0958448b v4l2_set_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x0af3d134 v4l2_valid_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x2bf67def v4l2_calc_aspect_ratio +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x370cfe6e v4l2_dv_timings_presets +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x3aa68d7a v4l2_find_dv_timings_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x4839762f v4l2_calc_timeperframe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x7b6ac78f v4l2_phys_addr_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x8f8d4341 v4l2_get_edid_phys_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0x922ecd29 v4l2_enum_dv_timings_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xa97e00eb v4l2_detect_cvt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xae575c8f v4l2_phys_addr_for_input +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xd034392d v4l2_match_dv_timings +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xef15cc44 v4l2_hdmi_rx_colorimetry +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xf56238f4 v4l2_find_dv_timings_cea861_vic +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-dv-timings 0xff585440 v4l2_dv_timings_aspect_ratio +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x402e0b64 v4l2_flash_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0x6e0d4564 v4l2_flash_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-flash-led-class 0xa8bfb471 v4l2_flash_indicator_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x08b24e63 v4l2_fwnode_parse_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x21924477 v4l2_fwnode_endpoint_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x2e2c7610 v4l2_fwnode_connector_add_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x49bda7c2 v4l2_async_register_subdev_sensor +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x612ddce5 v4l2_fwnode_connector_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x630946e5 v4l2_fwnode_endpoint_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x6b3b8127 v4l2_fwnode_connector_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0x93c04b90 v4l2_fwnode_put_link +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xc4220ea5 v4l2_fwnode_endpoint_alloc_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xd722ca41 v4l2_async_nf_parse_fwnode_endpoints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-fwnode 0xdfe504c1 v4l2_fwnode_device_parse +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x0355f0a0 v4l2_m2m_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x043fde04 v4l2_m2m_ioctl_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x0d2843f2 v4l2_m2m_ctx_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x166d1daf v4l2_m2m_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x1b65ce59 v4l2_m2m_last_buffer_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x2002a120 v4l2_m2m_update_stop_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x29c6dd9d v4l2_m2m_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x338a8122 v4l2_m2m_ioctl_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x3e2bba47 v4l2_m2m_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x40fdb7c0 v4l2_m2m_next_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x442f9759 v4l2_m2m_register_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x48eba51c v4l2_m2m_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x53282de7 v4l2_m2m_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x5e36628b v4l2_m2m_ioctl_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x67f7f1b5 v4l2_m2m_update_start_streaming_state +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x6aeff430 v4l2_m2m_ioctl_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x728531a1 v4l2_m2m_ioctl_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x730f2eae v4l2_m2m_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x73354f4e v4l2_m2m_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x73e37f2f v4l2_m2m_request_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x74860cb5 v4l2_m2m_fop_poll +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x777521ae v4l2_m2m_buf_remove_by_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x795cd004 v4l2_m2m_ioctl_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x843e6d1a v4l2_m2m_buf_copy_metadata +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x8bd06da1 v4l2_m2m_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0x9ec73f4e v4l2_m2m_ioctl_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xa52a9c4b v4l2_m2m_ioctl_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xaab391b1 v4l2_m2m_ioctl_stateless_try_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xaefaae1d v4l2_m2m_ioctl_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xbc038ceb v4l2_m2m_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xbc655dab v4l2_m2m_fop_mmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc0484eaf v4l2_m2m_ioctl_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc4a3e56b v4l2_m2m_ioctl_stateless_decoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xc6fca5ad v4l2_m2m_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xca267e72 v4l2_m2m_buf_remove_by_idx +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xcd18399b v4l2_m2m_ioctl_try_encoder_cmd +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xce2f7884 v4l2_m2m_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xcfe86399 v4l2_m2m_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xd01fd37a v4l2_m2m_buf_remove +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xdd1b8e79 v4l2_m2m_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xe72414e6 v4l2_m2m_ioctl_expbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xeaae057b v4l2_m2m_ioctl_prepare_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xeccafe83 v4l2_m2m_last_buf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xefe8ec57 v4l2_m2m_ctx_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf13ff84d v4l2_m2m_unregister_media_controller +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xf6645de9 v4l2_m2m_create_bufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/v4l2-mem2mem 0xfe29bd81 v4l2_m2m_try_schedule +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x01ca4383 videobuf_waiton +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x036f82e8 videobuf_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x03c1d744 videobuf_querybuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x0425be4c videobuf_read_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x05438a97 videobuf_queue_is_busy +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x0994c8d9 videobuf_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x0a73eb29 videobuf_poll_stream +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x0d96360b videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x3bdd33d9 __videobuf_mmap_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x446cc787 videobuf_streamoff +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x463049dd videobuf_read_one +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x5ac97293 videobuf_queue_core_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x5b3ec7d4 videobuf_streamon +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x63f94254 videobuf_mmap_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x6b63b893 videobuf_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x7022ec0d videobuf_mmap_mapper +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x87a24381 videobuf_read_stop +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x9559cad6 videobuf_queue_to_vaddr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0x9b436cad videobuf_queue_cancel +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xa88dbdef videobuf_read_start +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xa9e5b12f videobuf_iolock +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xc2575bf9 videobuf_next_field +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xd66a520d videobuf_reqbufs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-core 0xd8e770ab videobuf_alloc_vb +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x47eefe8d videobuf_dma_unmap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x51ab06ca videobuf_to_dma +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x553a86d0 videobuf_sg_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x661167e3 videobuf_queue_sg_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-dma-sg 0x6ef9999f videobuf_dma_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x7329b879 videobuf_queue_vmalloc_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0x8776472a videobuf_vmalloc_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videobuf-vmalloc 0xe3806835 videobuf_to_vmalloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x026b38ee v4l_vb2q_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x078874a7 v4l2_event_pending +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x0c33e8b4 v4l2_src_change_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x11ed1dc6 v4l2_fh_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x11f3044c __SCK__tp_func_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x138ee7e0 v4l2_i2c_subdev_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1423c5f1 v4l2_device_register +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x178130c0 v4l2_subdev_link_validate_default +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1901bd47 v4l2_compat_ioctl32 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1eb623c4 v4l2_spi_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x1f09fbed v4l_disable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x20b2a14c v4l2_ctrl_request_hdl_ctrl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x28b573b6 __v4l2_ctrl_handler_setup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x29d97468 v4l2_fh_open +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2ae0877b __SCK__tp_func_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x2e585232 __v4l2_subdev_state_alloc +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x30e74586 v4l2_get_link_freq +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x3a8cd3b5 v4l2_event_unsubscribe_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x452f53b1 __tracepoint_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x46ac032f __tracepoint_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x4746cd90 v4l2_device_unregister_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x476c2213 v4l2_device_set_name +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x491317ce v4l2_ctrl_request_hdl_find +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x49b4b77f v4l2_fh_is_singular +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x580f0a13 v4l2_spi_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5a55208f __traceiter_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5a627ca7 v4l2_pipeline_pm_get +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5acff25f v4l2_fh_add +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x5cf34a65 v4l2_event_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x60d1a980 v4l2_device_unregister +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6245f980 v4l2_fh_del +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x63b5b7df v4l2_g_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6a2de036 __tracepoint_vb2_v4l2_buf_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6bfa4243 v4l2_event_dequeue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6ce1c95c __SCK__tp_func_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6e9acc41 v4l2_fill_pixfmt_mp +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6f0be808 __traceiter_vb2_v4l2_buf_done +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x6fc60de9 v4l2_pipeline_link_notify +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x7da7b25e v4l2_i2c_new_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x80feba79 v4l2_mc_create_media_graph +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x815a69c4 v4l2_subdev_get_fwnode_pad_1_to_1 +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x8b263d7e v4l_enable_media_source +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x95b9ad6d v4l2_create_fwnode_links +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x990dfe1b __traceiter_vb2_v4l2_dqbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x99951b19 v4l2_s_parm_cap +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9a1c4685 v4l2_i2c_subdev_init +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9fd16f48 __v4l2_subdev_state_free +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0x9fef35ac v4l2_apply_frmsize_constraints +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa0cbbd0f v4l2_event_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xa7365105 __traceiter_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xaafdf713 v4l2_subdev_notify_event +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xacb32380 v4l2_device_register_subdev +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xaff3a21f v4l2_event_subdev_unsubscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb0615ca3 v4l2_i2c_new_subdev_board +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb8bf5b79 v4l2_fh_exit +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xb993c0cb v4l2_event_queue +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xbf6edf78 v4l2_src_change_event_subdev_subscribe +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc33adb92 __v4l2_device_register_subdev_nodes +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xc742d6e8 __tracepoint_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcb73181d v4l2_create_fwnode_links_to_pad +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xcc501597 v4l2_fill_pixfmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xceede609 v4l2_device_disconnect +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xde70da35 __v4l2_subdev_init_finalize +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe09d261a v4l2_event_queue_fh +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe2822320 __v4l2_find_nearest_size +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe5a33113 __SCK__tp_func_vb2_v4l2_qbuf +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe79cff73 v4l2_subdev_get_fmt +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xe826e624 v4l2_subdev_link_validate +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xeabfc680 v4l2_event_wake_all +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xebcc86c8 v4l2_subdev_cleanup +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf2a353ac v4l2_i2c_tuner_addrs +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf2a75066 v4l2_fh_release +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf3b24ac0 v4l2_device_put +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xf5ef842e v4l_bound_align_image +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfd913ae4 v4l2_i2c_subdev_addr +EXPORT_SYMBOL_GPL drivers/media/v4l2-core/videodev 0xfef1d19d v4l2_pipeline_pm_put +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x25469736 pm80x_regmap_config +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0x25814738 pm80x_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xd99fd720 pm80x_deinit +EXPORT_SYMBOL_GPL drivers/mfd/88pm80x 0xe3e45c62 pm80x_init +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x0c24f7d6 cs47l24_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x143649b6 arizona_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x1707e549 arizona_clk32k_enable +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x38236ca4 wm5110_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4048fbbc wm8997_aod +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x44da9ba7 wm5110_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x4c087981 wm5110_aod +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x5a16f9c8 cs47l24_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x5ed98f70 wm8997_patch +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7089e2a1 arizona_set_irq_wake +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x7b1bade8 wm5110_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x8648f9d5 wm5102_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x8dac1f06 arizona_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0x97ba2f21 wm8998_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xa176970e arizona_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xa6b70564 wm8997_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xa727bd3b cs47l24_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xaaf78759 wm5110_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xb0cafa14 wm8997_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xc5703899 wm5102_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xc81b43ab wm5110_revd_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xf73b9ac8 arizona_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xfa7033a1 arizona_request_irq +EXPORT_SYMBOL_GPL drivers/mfd/arizona 0xff309478 arizona_clk32k_disable +EXPORT_SYMBOL_GPL drivers/mfd/atc260x-core 0x15aa338c atc260x_device_probe +EXPORT_SYMBOL_GPL drivers/mfd/atc260x-core 0xcb942616 atc260x_match_device +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x1961e634 da9150_bulk_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x2d3a6c6b da9150_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x3a334c42 da9150_write_qif +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x6449f213 da9150_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0x7f820d23 da9150_bulk_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xc86b430c da9150_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/da9150-core 0xdc17ff75 da9150_read_qif +EXPORT_SYMBOL_GPL drivers/mfd/gateworks-gsc 0xa142a524 gsc_read +EXPORT_SYMBOL_GPL drivers/mfd/gateworks-gsc 0xb7abd1c4 gsc_write +EXPORT_SYMBOL_GPL drivers/mfd/iqs62x 0xa436f4de iqs62x_events +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x07565a51 kempld_read16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x318a5823 kempld_get_mutex +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x32faabc0 kempld_read8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x4cafd292 kempld_write8 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0x51bdbf54 kempld_read32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xb7c2293b kempld_write16 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xbe3b2024 kempld_write32 +EXPORT_SYMBOL_GPL drivers/mfd/kempld-core 0xc30a274e kempld_release_mutex +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x21584a18 lm3533_write +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0x3dd81d2d lm3533_read +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-core 0xd70fd303 lm3533_update +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x1613bd26 lm3533_ctrlbank_enable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x4189388e lm3533_ctrlbank_disable +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x57528c1b lm3533_ctrlbank_set_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0x5b79a162 lm3533_ctrlbank_set_max_current +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xa87e48b6 lm3533_ctrlbank_get_brightness +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xeee4d3ed lm3533_ctrlbank_get_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lm3533-ctrlbank 0xfc9cc8b5 lm3533_ctrlbank_set_pwm +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0x2ede14e7 lp3943_read_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0xbf14f6cb lp3943_write_byte +EXPORT_SYMBOL_GPL drivers/mfd/lp3943 0xdc739442 lp3943_update_bits +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0a1758b0 cs47l85_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0a1a84f0 cs47l85_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x0f379262 madera_of_match +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x12c22f00 cs47l90_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x12cff340 cs47l90_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x201e7acc cs47l92_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x24260773 madera_dev_init +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x254334fd cs47l92_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x254ee8bd cs47l92_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x3865c3c8 cs47l35_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x38681f88 cs47l35_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x492245bc cs47l85_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x492f99fc cs47l85_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x51f7320c cs47l90_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x51faee4c cs47l90_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x54038777 cs47l15_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x667629f1 cs47l92_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x667bf5b1 cs47l92_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x6a501cbe madera_dev_exit +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7b50dec4 cs47l35_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0x7b5d0284 cs47l35_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xa6a857f6 cs47l35_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xb1937408 cs47l15_32bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xb19ea848 cs47l15_16bit_i2c_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xb933b4b1 madera_pm_ops +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xbca3a291 cs47l85_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xe9ceb59f cs47l90_patch +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xebe384cb madera_name_from_type +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xf2a66904 cs47l15_16bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/madera 0xf2abb544 cs47l15_32bit_spi_regmap +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x3515d753 mc13xxx_common_exit +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x365236bf mc13xxx_variant_mc13892 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x64e788f7 mc13xxx_variant_mc34708 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x6eab7ec5 mc13xxx_common_init +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0x76e87d9f mc13xxx_variant_mc13783 +EXPORT_SYMBOL_GPL drivers/mfd/mc13xxx-core 0xb75c35b7 mc13xxx_adc_do_conversion +EXPORT_SYMBOL_GPL drivers/mfd/motorola-cpcap 0xa226dbe8 cpcap_sense_virq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x2baf455c pcf50633_write_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x2fc73c85 pcf50633_irq_mask_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x4caa83c4 pcf50633_register_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7c77866d pcf50633_read_block +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x7ea63fb3 pcf50633_free_irq +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0x984bb258 pcf50633_reg_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xa684289b pcf50633_reg_set_bit_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xb7057e2b pcf50633_reg_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xc316625b pcf50633_irq_unmask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xee6717ea pcf50633_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633 0xef78c722 pcf50633_irq_mask +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0x3dbb9c4c pcf50633_adc_sync_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-adc 0xc0a8e1b8 pcf50633_adc_async_read +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x00cfbbae pcf50633_gpio_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0x8140fe43 pcf50633_gpio_invert_get +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xa1295581 pcf50633_gpio_power_supply_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xb93d069f pcf50633_gpio_set +EXPORT_SYMBOL_GPL drivers/mfd/pcf50633-gpio 0xbe36720f pcf50633_gpio_invert_set +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x3c5203c4 devm_rave_sp_register_event_notifier +EXPORT_SYMBOL_GPL drivers/mfd/rave-sp 0x43e53ef9 rave_sp_exec +EXPORT_SYMBOL_GPL drivers/mfd/retu-mfd 0x56d1a8c5 retu_read +EXPORT_SYMBOL_GPL drivers/mfd/retu-mfd 0xa074c8b6 retu_write +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x1536a133 si476x_core_cmd_intb_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x193ae67f si476x_core_cmd_fm_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x1e486f40 si476x_core_cmd_fm_rds_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x23b1e93c si476x_core_cmd_fm_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x23b4d372 si476x_core_cmd_fm_phase_div_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x28096c70 si476x_core_cmd_fm_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x3e5424be si476x_core_cmd_power_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x44340654 si476x_core_cmd_ana_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5a4cd05f si476x_core_cmd_am_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5e749c19 si476x_core_cmd_power_down +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x5ffd4c70 si476x_core_cmd_am_acf_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x680808b3 si476x_core_cmd_agc_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x681a82d4 si476x_core_cmd_ic_link_gpo_ctl_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7ab5d979 si476x_core_has_am +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x7abdff91 si476x_core_cmd_func_info +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x8aa497be si476x_core_set_power_state +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x9157107a si476x_core_is_powered_up +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x920fae8d si476x_core_cmd_fm_rsq_status +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x983c889d si476x_core_is_a_primary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x99980d4f si476x_core_i2c_xfer +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0x99aed559 si476x_core_is_in_am_receiver_mode +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xa0d1076f si476x_core_cmd_get_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xa245712c si476x_core_cmd_fm_rds_blockcount +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xa56510f8 si476x_core_cmd_fm_phase_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xb49d5972 si476x_core_cmd_set_property +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xba0e29c5 devm_regmap_init_si476x +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xbeca7ce4 si476x_core_has_diversity +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xd31c8eab si476x_core_cmd_dig_audio_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xd66391ab si476x_core_stop +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xd9c38ccb si476x_core_cmd_zif_pin_cfg +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xdce51815 si476x_core_cmd_am_tune_freq +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xde093eb2 si476x_core_cmd_am_seek_start +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xe7abe430 si476x_core_is_a_secondary_tuner +EXPORT_SYMBOL_GPL drivers/mfd/si476x-core 0xf57f032a si476x_core_start +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x1e562898 sm501_set_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x59311f0b sm501_find_clock +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x7031d2d8 sm501_modify_reg +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x8dfc6146 sm501_unit_power +EXPORT_SYMBOL_GPL drivers/mfd/sm501 0x93b26163 sm501_misc_control +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0xbd168d9f stmfx_function_enable +EXPORT_SYMBOL_GPL drivers/mfd/stmfx 0xbfe1ab3a stmfx_function_disable +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x05972f1c am335x_tsc_se_adc_done +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x68f892ec am335x_tsc_se_set_cache +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0x9ae8f9dd am335x_tsc_se_set_once +EXPORT_SYMBOL_GPL drivers/mfd/ti_am335x_tscadc 0xac90ff8c am335x_tsc_se_clr +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x28cce9f0 tps65218_reg_write +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0x46bc6434 tps65218_set_bits +EXPORT_SYMBOL_GPL drivers/mfd/tps65218 0xd563d2af tps65218_clear_bits +EXPORT_SYMBOL_GPL drivers/mfd/ucb1400_core 0xda308d93 ucb1400_adc_read +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x04c43e8c alcor_write16 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x087c0742 alcor_read32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x3071a88b alcor_write8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x3a2ce6f3 alcor_write32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x4c2c1ccb alcor_write32be +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0x7e8b3eef alcor_read32 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/alcor_pci 0xecaf0868 alcor_read8 +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x0ca1a9cb rtsx_pci_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x20c4f6b0 rtsx_pci_write_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x2307d63f rtsx_pci_dma_unmap_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x27cd5b1f rtsx_pci_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x43f40b84 rtsx_pci_send_cmd_no_wait +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x4ebe27cf rtsx_pci_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x5b3eae69 rtsx_pci_card_exist +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x65fcfcd9 rtsx_pci_card_power_on +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x680dd284 rtsx_pci_card_power_off +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x690069f7 rtsx_pci_stop_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x6cc62512 rtsx_pci_switch_output_voltage +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x7382ca00 rtsx_pci_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x85403cbb rtsx_pci_start_run +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0x8b37bff7 rtsx_pci_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xa8791d02 rtsx_pci_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xb587cf3f rtsx_pci_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xbc558511 rtsx_pci_complete_unfinished_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xc196e67b rtsx_pci_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd0124188 rtsx_pci_dma_transfer +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd0ebbc0f rtsx_pci_card_pull_ctl_enable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xd5027e33 rtsx_pci_read_phy_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe4a86991 rtsx_pci_dma_map_sg +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xe4b5ac53 rtsx_pci_card_pull_ctl_disable +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_pci 0xebb7ac6a rtsx_pci_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x1a6e1abe rtsx_usb_card_exclusive_check +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x3df5b4d0 rtsx_usb_switch_clock +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x401d947a rtsx_usb_send_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x574f2f40 rtsx_usb_add_cmd +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x648bf0f9 rtsx_usb_transfer_data +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x6d892eb1 rtsx_usb_read_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x6e0b5e3f rtsx_usb_write_ppbuf +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7a7f1d54 rtsx_usb_ep0_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x7d694720 rtsx_usb_write_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x91b93746 rtsx_usb_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0x9e3d933f rtsx_usb_ep0_read_register +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xa42d92cd rtsx_usb_get_card_status +EXPORT_SYMBOL_GPL drivers/misc/cardreader/rtsx_usb 0xd1d0880c rtsx_usb_get_rsp +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x4cb1365d cb710_set_irq_handler +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0x8083c395 cb710_sg_dwiter_write_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xe850cff6 cb710_sg_dwiter_read_next_block +EXPORT_SYMBOL_GPL drivers/misc/cb710/cb710 0xf9eb975c cb710_pci_update_config_reg +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x099488ef cxl_get_priv +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x163c7993 cxl_context_events_pending +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x198fb0e4 cxl_release_context +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x20790258 cxl_psa_map +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x2ca14b94 cxl_pci_to_cfg_record +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x2cf581c9 cxl_fd_release +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x2ee73ed3 cxl_start_work +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x344589d1 cxl_fops_get_context +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x37617355 cxl_perst_reloads_same_image +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x3f131615 cxl_afu_reset +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x4e879fe9 cxllib_get_PE_attributes +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x52e93e38 cxl_fd_open +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x5b981301 cxl_allocate_afu_irqs +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x5dbf2ac8 cxl_process_element +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x603e4639 cxl_get_fd +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x6846e285 cxl_start_context +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x6e4923ab cxl_stop_context +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x7155a826 cxllib_switch_phb_mode +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x7ca50024 cxl_fd_ioctl +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x80e18c64 cxl_fd_read +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x8551d6a0 cxl_unmap_afu_irq +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x861b2eb3 cxl_map_afu_irq +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x8740bc47 cxl_psa_unmap +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x8a115894 cxl_set_priv +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0x8f881dd2 cxl_set_driver_ops +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xa40d1e04 cxl_pci_to_afu +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xa5d26fae cxl_dev_context_init +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xc87b098b cxllib_slot_is_supported +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xc8b1ef48 cxl_read_adapter_vpd +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xcf0b8471 cxl_get_context +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xd8c13198 cxl_fd_mmap +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xe0251e43 cxl_free_afu_irqs +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xe04c5af7 cxllib_set_device_dma +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xea7b29b2 cxllib_handle_fault +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xef57470f cxllib_get_xsl_config +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xf52c71b4 cxl_fd_poll +EXPORT_SYMBOL_GPL drivers/misc/cxl/cxl 0xf534d824 cxl_set_master +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x0b008db0 oslec_hpf_tx +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x296a8983 oslec_update +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x3115970d oslec_create +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x4b711f77 oslec_adaption_mode +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x5909e701 oslec_snapshot +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x780d3f01 oslec_flush +EXPORT_SYMBOL_GPL drivers/misc/echo/echo 0x84eba96d oslec_free +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x3cb83d5b eeprom_93cx6_multireadb +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x63d2ff63 eeprom_93cx6_wren +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x870b53e9 eeprom_93cx6_write +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0x884deb9d eeprom_93cx6_read +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0xc9c6bb25 eeprom_93cx6_readb +EXPORT_SYMBOL_GPL drivers/misc/eeprom/eeprom_93cx6 0xff7a0fdf eeprom_93cx6_multiread +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x070d1851 enclosure_add_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x536588f5 enclosure_remove_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x696af723 enclosure_for_each_device +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0x90b8f6f8 enclosure_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xb82529a4 enclosure_component_alloc +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xd56eb0d9 enclosure_unregister +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xebe66d55 enclosure_component_register +EXPORT_SYMBOL_GPL drivers/misc/enclosure 0xf24b3955 enclosure_find +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x3a11133f lis3lv02d_poweroff +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x50c093c4 lis3lv02d_poweron +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x6f6cc5a2 lis3_dev +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0x732e43fc lis3lv02d_init_dt +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xb8dc18b3 lis3lv02d_remove_fs +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xc99aded6 lis3lv02d_joystick_enable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xca57bd2e lis3lv02d_joystick_disable +EXPORT_SYMBOL_GPL drivers/misc/lis3lv02d/lis3lv02d 0xd3475eaf lis3lv02d_init_device +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x00329712 ocxl_afu_irq_alloc +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x08a7fe28 ocxl_global_mmio_clear64 +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x16869078 ocxl_function_fetch_afu +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x17e4359b ocxl_context_detach +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x1abbb4ae ocxl_function_close +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x1b9742ef ocxl_config_set_afu_pasid +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x224477bf ocxl_global_mmio_write64 +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x28929560 ocxl_afu_put +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x2b00d980 ocxl_afu_get_private +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x2d2e1142 ocxl_config_read_afu +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x2d876dd2 ocxl_link_remove_pe +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x32804b59 ocxl_context_free +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x3965260f ocxl_function_afu_list +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x40049cea ocxl_link_add_pe +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x40af2ab7 ocxl_config_get_actag_info +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x47bb439f ocxl_context_alloc +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x487d4747 ocxl_global_mmio_clear32 +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x522718c3 ocxl_irq_set_handler +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x5d8814ea ocxl_link_free_irq +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x5da2f572 ocxl_afu_irq_get_addr +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x629eced0 ocxl_global_mmio_write32 +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x6c06a880 ocxl_afu_get +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x6cd29c41 ocxl_afu_config +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x7a4032d9 ocxl_config_set_afu_actag +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0x956ee902 ocxl_global_mmio_read64 +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xa393aff2 ocxl_config_read_function +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xa3c135cd ocxl_afu_irq_free +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xa41a9094 ocxl_global_mmio_set64 +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xa5ab0229 ocxl_config_set_TL +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xc2b7ffa9 ocxl_config_terminate_pasid +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xc5b6d598 ocxl_global_mmio_read32 +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xcecb053f ocxl_function_open +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xd57e0fa7 ocxl_link_irq_alloc +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xde9f1375 ocxl_link_release +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xe4c029fb ocxl_global_mmio_set32 +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xe76815d9 ocxl_afu_set_private +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xeb20e01c ocxl_context_attach +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xeda4b110 ocxl_config_set_afu_state +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xf069e10c ocxl_function_config +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xf8693d73 ocxl_link_setup +EXPORT_SYMBOL_GPL drivers/misc/ocxl/ocxl 0xf8ba7e54 ocxl_config_set_actag +EXPORT_SYMBOL_GPL drivers/misc/pvpanic/pvpanic 0x639130d7 devm_pvpanic_probe +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x91401317 st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xc3503d7f st_unregister +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0x0f004f11 uacce_register +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0xdfb55386 uacce_remove +EXPORT_SYMBOL_GPL drivers/misc/uacce/uacce 0xe668d410 uacce_alloc +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x07a78bab sdhci_end_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x0973441c sdhci_cqe_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x10505442 sdhci_reset_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1512d3be sdhci_send_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1b7b0057 sdhci_enable_v4_mode +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x1c3ed7cb sdhci_start_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x30687929 sdhci_set_bus_width +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x35de2639 __sdhci_set_timeout +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x4124ab88 sdhci_runtime_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x460b528d sdhci_cleanup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x4e713f19 sdhci_set_data_timeout_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x53978a16 sdhci_cqe_disable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x53f94ff2 sdhci_set_power +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x57c31a80 sdhci_reset +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x585c02b2 sdhci_request +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x5b8f524e sdhci_set_uhs_signaling +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6214ac6d sdhci_cqe_enable +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6d9fdac6 sdhci_suspend_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6fd804b8 sdhci_runtime_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x6fed06c8 sdhci_set_power_noreg +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x7099b582 sdhci_get_cd_nogpio +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x74d9b41c __sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x804e29ed sdhci_switch_external_dma +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x85342435 sdhci_resume_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x8c2686ce sdhci_remove_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0x9c71f763 sdhci_setup_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa1257c89 sdhci_add_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa4938c89 sdhci_dumpregs +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xa5ae92fe sdhci_enable_sdio_irq +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xadb4c5a9 sdhci_enable_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb2297c27 __sdhci_read_caps +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xb236b6d2 sdhci_start_signal_voltage_switch +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xbd4f19bd sdhci_alloc_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xc9484c82 sdhci_request_atomic +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xd0c64e57 sdhci_execute_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xdd1baeda sdhci_set_power_and_bus_voltage +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe0633763 sdhci_abort_tuning +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xe141187e sdhci_set_ios +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xeb1a940d sdhci_adma_write_desc +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xebdfad4d sdhci_calc_clk +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xf23f8150 sdhci_set_clock +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci 0xfdbd2854 sdhci_free_host +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x01739251 sdhci_pltfm_resume +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x0b050a67 sdhci_get_property +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x0ecb4675 sdhci_pltfm_register +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x0f557491 sdhci_pltfm_unregister +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x4e82ee6d sdhci_pltfm_init +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x583035e8 sdhci_pltfm_free +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x6bb8ec8d sdhci_pltfm_suspend +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0x77304ffa sdhci_pltfm_pmops +EXPORT_SYMBOL_GPL drivers/mmc/host/sdhci-pltfm 0xe4bbf7c1 sdhci_pltfm_clk_get_max_clock +EXPORT_SYMBOL_GPL drivers/most/most_core 0x05acea3b most_submit_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x0674b7d2 most_start_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0x11808adb most_get_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x2bf5b564 most_stop_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0x4dd057ce most_register_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0x775e4a30 channel_has_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x77f6cba1 most_register_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x87414404 most_put_mbo +EXPORT_SYMBOL_GPL drivers/most/most_core 0x8e63b32e most_deregister_interface +EXPORT_SYMBOL_GPL drivers/most/most_core 0x9bb6c7b1 most_deregister_component +EXPORT_SYMBOL_GPL drivers/most/most_core 0xa1c4482c most_stop_channel +EXPORT_SYMBOL_GPL drivers/most/most_core 0xbbb9959c most_resume_enqueue +EXPORT_SYMBOL_GPL drivers/most/most_core 0xbc617f84 most_register_configfs_subsys +EXPORT_SYMBOL_GPL drivers/most/most_core 0xe892e0b0 most_deregister_configfs_subsys +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x517e0006 cfi_cmdset_0001 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x6e5725ee cfi_cmdset_0003 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0001 0x93490078 cfi_cmdset_0200 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x0f91fcca cfi_cmdset_0006 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x71c3b71a cfi_cmdset_0002 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0002 0x823a789c cfi_cmdset_0701 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_cmdset_0020 0xe004d19d cfi_cmdset_0020 +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x58737e75 cfi_qry_present +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0x95ebc912 cfi_qry_mode_off +EXPORT_SYMBOL_GPL drivers/mtd/chips/cfi_util 0xef330850 cfi_qry_mode_on +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0x732fb6f3 hyperbus_register_device +EXPORT_SYMBOL_GPL drivers/mtd/hyperbus/hyperbus-core 0xb76ca289 hyperbus_unregister_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0c2cf296 mtd_table_mutex +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0c5f0f78 mtd_ooblayout_count_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x0da368de mtd_block_markbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x1c1666a5 unregister_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2704f4c2 get_mtd_device_nm +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x2ca503a4 mtd_pairing_info_to_wunit +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x313813ac __put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x33f75751 mtd_unlock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x374cc21d register_mtd_user +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3a911d30 mtd_block_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x3de8c7f4 mtd_unpoint +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x496b53a7 mtd_kmalloc_up_to +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4a1ee8d9 mtd_get_user_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4acc966e mtd_device_unregister +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4afafb3c mtd_ooblayout_set_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4c0f4eb1 mtd_writev +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x4eb813bf mtd_device_parse_register +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x525da885 mtd_ooblayout_ecc +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x526155f2 mtd_block_isbad +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x53238d3a mtd_ooblayout_free +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x53bedfa9 mtd_point +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5511eb00 mtd_lock_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x565fa8f0 mtd_ooblayout_find_eccregion +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x5db4b6eb mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6c631d35 mtd_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x6ed8d98d mtd_is_locked +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x748e64e1 __register_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x7497d979 mtd_write_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8af1d2c0 mtd_add_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x8f6191fc get_tree_mtd +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9270dd4c mtd_ooblayout_get_eccbytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x94264673 mtd_erase_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x96d8ac49 mtd_ooblayout_count_freebytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0x9c135096 mtd_ooblayout_get_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa5b0b5cc mtd_get_device_size +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xa9ac68d4 __get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb16c124f put_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb53b87b4 __mtd_next_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb7075882 mtd_check_expert_analysis_mode +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xb7bfa63e mtd_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xbf47e104 mtd_lock +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc6039099 mtd_wunit_to_pairing_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xc75b465f mtd_read +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xce58bf71 mtd_del_partition +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd4b4c671 mtd_read_user_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xd7a2deed mtd_write_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xda69d9d0 mtd_read_oob +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xddfe10dd mtd_get_fact_prot_info +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xdf22ce62 kill_mtd_super +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe12c283b get_mtd_device +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe2769ed9 deregister_mtd_parser +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xe6954a7a mtd_read_fact_prot_reg +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xea57c40a mtd_ooblayout_set_databytes +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xef79ec87 mtd_panic_write +EXPORT_SYMBOL_GPL drivers/mtd/mtd 0xfffe69b3 mtd_pairing_groups +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x5cb0669a del_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0x93e8b542 deregister_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xb97a602a add_mtd_blktrans_dev +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xd47515e3 mtd_blktrans_cease_background +EXPORT_SYMBOL_GPL drivers/mtd/mtd_blkdevs 0xf38760ed register_mtd_blktrans +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x01f377ac nanddev_bbt_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x09af0cf0 nanddev_bbt_update +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x0c4953c4 nanddev_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x121c3cf3 nand_get_small_page_ooblayout +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x17b526b3 mxic_ecc_process_data_pipelined +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x19787970 nanddev_ecc_engine_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x29ee22f0 nand_ecc_cleanup_req_tweaking +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x2a3ae876 mxic_ecc_get_pipelined_ops +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x2b168be3 nanddev_mtd_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x2d0cbb86 nanddev_isbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x316ada70 nanddev_ecc_engine_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x31ef99b0 nand_ecc_restore_req +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x35683bcd nanddev_isreserved +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x3f861c6b nanddev_bbt_set_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x6f558eef mxic_ecc_put_pipelined_engine +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x7f7930a2 nanddev_markbad +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x97946161 nanddev_bbt_get_block_status +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0x9ce13685 nanddev_mtd_max_bad_blocks +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xbfdac058 nanddev_erase +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xccb5b62e nand_get_large_page_ooblayout +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xd1b6c33b nand_get_large_page_hamming_ooblayout +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xd1d7c86f nanddev_bbt_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xe81e2bfb nand_ecc_init_req_tweaking +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xe8b5711c nand_ecc_tweak_req +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xefe7638c mxic_ecc_get_pipelined_engine +EXPORT_SYMBOL_GPL drivers/mtd/nand/nandcore 0xfe9ce9a5 nanddev_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0x01c67e29 onenand_scan +EXPORT_SYMBOL_GPL drivers/mtd/nand/onenand/onenand 0xd276c943 onenand_release +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/denali 0x9cc6c640 denali_chip_init +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x049eab39 nand_select_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x06232c3a nand_reset +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x0863a675 nand_deselect_target +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x11091291 nand_extract_bits +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x17f2bd80 nand_ecc_choose_conf +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x18baccaa nand_change_read_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x236de086 nand_read_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x26ced7bb nand_erase_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x2d368c4c nand_subop_get_addr_start_off +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5632e63d nand_subop_get_num_addr_cyc +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x5ce9305a nand_read_oob_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x746e6863 nand_prog_page_end_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x7ad9c396 nand_change_write_column_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0x856d1fec nand_reset_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xa6099be2 nand_wait_ready +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xac70635f nand_gpio_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xbd0e88a9 nand_cleanup +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xc5b2fc39 nand_decode_ext_id +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xc7bf4720 nand_status_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xca652bfa nand_read_page_hwecc_oob_first +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xccb200d3 nand_readid_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd02f719b nand_prog_page_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd3c672b8 nand_subop_get_data_len +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd41ff2ac nand_subop_get_data_start_off +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xd9785ec1 nand_read_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xe84792b0 nand_soft_waitrdy +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xe99e2525 nand_write_data_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xea43abd6 nand_prog_page_begin_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/nand 0xff878e2a nand_op_parser_exec_op +EXPORT_SYMBOL_GPL drivers/mtd/nand/raw/sm_common 0x3e289a60 sm_register_device +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x6ef1299c spi_nor_restore +EXPORT_SYMBOL_GPL drivers/mtd/spi-nor/spi-nor 0x994e651b spi_nor_scan +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x19fc5f96 ubi_get_volume_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x2b0c22d7 ubi_leb_unmap +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x359f44de ubi_do_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x36040b54 ubi_open_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x38e10c1d ubi_flush +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x424e6ace ubi_leb_read +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x42801d20 ubi_sync +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x66011ab6 ubi_get_device_info +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x6c8035f8 ubi_is_mapped +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x701d96cf ubi_leb_map +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x7f09c78f ubi_leb_erase +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x85a8ee76 ubi_unregister_volume_notifier +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x87ec04a7 ubi_close_volume +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x98606f55 ubi_open_volume_path +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0x9f8b8835 ubi_leb_write +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xac485277 ubi_leb_read_sg +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd119213c ubi_open_volume_nm +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xd4590689 ubi_leb_change +EXPORT_SYMBOL_GPL drivers/mtd/ubi/ubi 0xf5ee9ba8 ubi_register_volume_notifier +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x0a65c89f mux_state_try_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x0db26d5a mux_control_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x29222608 mux_control_put +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x3f8e3a7d mux_chip_unregister +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x42c37856 devm_mux_state_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x47d51216 mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x4b378497 mux_chip_free +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x5440fa69 mux_control_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x56ddc749 devm_mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x5815f104 mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x58289c51 mux_control_get +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x6939fdfb devm_mux_chip_alloc +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7381e54e devm_mux_chip_register +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0x7cf08396 mux_state_deselect +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xca04f3f9 mux_control_try_select_delay +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xdb563a97 mux_control_states +EXPORT_SYMBOL_GPL drivers/mux/mux-core 0xfa76e911 mux_state_select_delay +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x32c8d48b devm_arcnet_led_init +EXPORT_SYMBOL_GPL drivers/net/arcnet/arcnet 0x58d7ed79 arcnet_led_event +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x0d3700d3 free_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x2862aea0 alloc_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x2c14912d c_can_power_up +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x35b7f1f2 register_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0x78c97861 unregister_c_can_dev +EXPORT_SYMBOL_GPL drivers/net/can/c_can/c_can 0xfef039ff c_can_power_down +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x2f360770 register_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0x55324b86 free_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xe144ee0e alloc_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/cc770/cc770 0xee8d034b unregister_cc770dev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x0152092a free_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x0971dce2 can_rx_offload_irq_offload_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x0a83573d can_rx_offload_irq_finish +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x0b6a4aa1 can_rx_offload_add_fifo +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x10d892eb can_get_state_str +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x1350530d of_can_transceiver +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x269f97fb alloc_canfd_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x3eb7dc10 can_put_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x4cff331f can_rx_offload_del +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x5cc68511 can_rx_offload_queue_tail +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x604751d8 can_change_mtu +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x6047ede6 can_fd_len2dlc +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x647d352b can_change_state +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x73f3ea97 can_rx_offload_add_manual +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x7fb5ecfa open_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x836d6aa2 register_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x85982ce1 can_free_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x85c525df can_rx_offload_enable +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x984e006b can_bus_off +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x9acb6493 can_rx_offload_queue_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x9ec9d437 can_rx_offload_add_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0x9ed599bf can_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb2814a2f can_rx_offload_threaded_irq_finish +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xb6b80674 close_candev +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xbbbe60e2 can_rx_offload_get_echo_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xc26afbec can_rx_offload_irq_offload_timestamp +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xc4682980 safe_candev_priv +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xc666c6db can_skb_get_frame_len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xcc34a9d4 alloc_can_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xdceb6cd5 alloc_can_err_skb +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf0959e70 alloc_candev_mqs +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf12d9387 can_fd_dlc2len +EXPORT_SYMBOL_GPL drivers/net/can/dev/can-dev 0xf6dc9eb2 unregister_candev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x14195476 m_can_class_suspend +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x32e4b1f1 m_can_class_free_dev +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x6ee24ce6 m_can_class_get_clocks +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0x8e7f4826 m_can_class_resume +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xd26a00cd m_can_init_ram +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xdafe6372 m_can_class_register +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xf5e14749 m_can_class_unregister +EXPORT_SYMBOL_GPL drivers/net/can/m_can/m_can 0xf666859a m_can_class_allocate_dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x49ebd0d2 sja1000_interrupt +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0x86e7e7a5 register_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xbb6bd621 free_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xbd380d3f unregister_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/can/sja1000/sja1000 0xe83ff37f alloc_sja1000dev +EXPORT_SYMBOL_GPL drivers/net/dsa/lan9303-core 0xc9a15601 lan9303_indirect_phy_ops +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x2faf42e2 ksz_port_vlan_filtering +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x30828925 ksz_port_bridge_join +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x36278b19 ksz_port_mdb_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x38b2ef1e ksz_enable_port +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x3e781f6b ksz_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x4fa5ccbe ksz_port_fast_age +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x5ff5ccd1 ksz_mac_link_down +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x621f3798 ksz_init_mib_timer +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x6e88345b ksz_update_port_member +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x773edf6f ksz_port_mirror_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0x913087f9 ksz_port_stp_state_set +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xa7d233d2 ksz_phy_read16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xbdb9ec39 ksz_switch_chips +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xcb2b2326 ksz_get_stats64 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xcc6e5a4b ksz_phy_write16 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xcfdd1666 ksz_port_mdb_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xd5e1d711 ksz_port_bridge_leave +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xd9a3ef32 ksz_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xdad0c981 ksz_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xefca128d ksz_r_mib_stats64 +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xf4e40906 ksz_get_tag_protocol +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xf5103970 ksz_port_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xf533d91e ksz_port_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xf8de86d2 ksz_port_fdb_dump +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xfceb12af ksz_phylink_get_caps +EXPORT_SYMBOL_GPL drivers/net/dsa/microchip/ksz_common 0xfe9f5abc ksz_port_mirror_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8365mb 0x6a49c3cc rtl8365mb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x12a425dc rtl8366_vlan_del +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x20d92131 rtl8366rb_variant +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x26d9d181 rtl8366_get_ethtool_stats +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x5a1bad0b rtl8366_set_pvid +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x69339369 rtl8366_get_strings +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0x6c1b1dca rtl8366_set_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xa21873b4 rtl8366_enable_vlan4k +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xba862b80 rtl8366_mc_is_used +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xbbc55622 rtl8366_vlan_add +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xbbcf19f2 rtl8366_reset_vlan +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xbd3d982b rtl8366_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/dsa/realtek/rtl8366 0xe55bddf1 rtl8366_enable_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x43bd7745 enetc_mdio_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0x57974f0f enetc_mdio_lock +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0xcab8c2fd enetc_mdio_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio 0xd0ef64c3 enetc_hw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x04362c5a fun_free_ring_mem +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x17981204 fun_cq_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x313c7a2f fun_res_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x42eb04f8 fun_serv_restart +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x6483e1c5 fun_submit_admin_sync_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0x6b3e8c26 fun_sq_create +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xa135bd62 fun_alloc_ring_mem +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xc6721f81 fun_bind +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xd230527e fun_serv_stop +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xd6b3fccc fun_serv_sched +EXPORT_SYMBOL_GPL drivers/net/ethernet/fungible/funcore/funcore 0xeb87af53 fun_get_res_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0x1ca746a6 i40e_client_device_register +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/i40e/i40e 0xcd166d79 i40e_client_device_unregister +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x02afd038 ice_del_rdma_qset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x356d9450 ice_get_qos_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x37b4cb58 ice_rdma_update_vsi_filter +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0x70631cd0 ice_add_rdma_qset +EXPORT_SYMBOL_GPL drivers/net/ethernet/intel/ice/ice 0xdc8506a1 ice_rdma_request_reset +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x00650feb mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0489487d mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x04f8ac84 mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x08fb30a5 mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0c6e9a0d mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0cac3b33 mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0eaa2cd3 mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x10144f30 mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x10b5599e mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x12ad2cc5 mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x140cbe24 mlx4_get_base_gid_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x15a78723 mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1679ec8e mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x18644162 mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x187f878c mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x18a1cf63 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1a5a80a4 mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1ae9d099 mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1d1e49b8 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x275c519e mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x28285394 mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2876f29e mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2c5c7f48 mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2c664a4f mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2f1488b3 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x32dd3d10 mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3526fb08 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x35b51b85 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x365def7a mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x37e7d817 mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3a2e6e05 mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3acb0376 mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3d5c9a06 mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x42e8825c mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x44d0f84c mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x464529b7 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4a2da4a2 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4b8369ce mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4c8448d8 mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x51208957 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x525af9b5 mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x535cd2b9 mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x53dc874d mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x56efd845 mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5dc91301 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5e117fd2 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5f6889da mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5fa4bc6a mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5fbe35ad mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x620859d3 mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6489851d mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x66cb7038 mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6a50af8a mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6aa71a69 mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6ae5c27e mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6d1b1b61 mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6e15f56b mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7205d027 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x75362819 __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x76242a54 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x782abbbf mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x78a00e46 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7b849a0f mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x803712b8 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x828b4123 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x83d6ca76 __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x891b5c9b mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8a016ba4 mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8bb0820f mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8cfa39f3 mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x94f8b417 mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x95cf45df mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9679a4d1 mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x99fed362 mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9a4e6ad3 mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9a6b08bc mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa09105be mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa380c257 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa4e99032 mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa8819036 mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa9f52556 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb3766d0c mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb6cc8645 mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbce85360 mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbe44c9bd mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbf13ab3a mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbf5ceaa3 mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc032964b mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc0a9b418 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc32e335b mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc57e2bae mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc83db409 mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcbf1ef85 mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcd569035 mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcd7b6c6f mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xce122d42 mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd138c66d mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd2e0f1a8 mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd4ee957d mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd5f4c1a7 mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xda065cd3 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdac21cf5 mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdbdbd075 mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdc3a9b64 mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdc7e7b86 mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xddea4da5 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe959705f mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeaad080c mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xedc88939 mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef4d9b7d mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xef51e5f6 mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf30a145c mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf6cec6c2 mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf73334da mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf7850c12 mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf8829eea mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfa37ed38 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfafd143a __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfcaf5e98 mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfd1f3039 mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfdb382e2 mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0531543c mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x05d4f556 mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x072460c4 mlx5_fill_page_frag_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x19b695ed mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1ae943ce mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2187c709 mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2461c9b3 mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x24c8dcc3 mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x25891fe3 mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x26e8b3c9 mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2b796c19 mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3478e344 mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3834f1ba mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3a1559d5 mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3b7fe9b5 mlx5_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x40628261 mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4b754bfa mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4cb0a391 mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x52d17683 mlx5_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x54ab9344 mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x55dcff74 mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x597f4b24 mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5f0aedd5 mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x63107fe1 mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x65828d74 mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6987a7f0 mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6c2ddcaa mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6c6efc6f mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6cca6b66 mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7468ea5e mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x747257cf mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x74c266c4 mlx5_query_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x78a393e9 mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7dd4e914 mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fbd9343 mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81aadc6a mlx5_fill_page_frag_array_perm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x886003f9 mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8aec0302 mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x913b0dc8 mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x926b6582 mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9ebabfc3 mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9ed869cd mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9f27be95 mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9f3f6685 mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa53a550f mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa7c4bcea mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaa9c1c8a mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaddb3bb8 mlx5_query_module_eeprom_by_page +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb2851474 mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb5af6b08 mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xba5657b0 mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc1232ede mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc1e0a63c mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc6f06fe2 mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc83138f7 mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcf31e6b3 mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd1817cf0 mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd694fcfe mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd9bf823e mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdbf6e9c4 mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xdbfc2099 mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xde533195 mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe1a64399 mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe1ae5969 mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe3274b9e mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xea58f1b0 mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfb76ed55 mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfdd64a9d mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfeb4ac89 mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x58a28519 ks8851_probe_common +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x8356b6a5 ks8851_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0x887ca459 ks8851_remove_common +EXPORT_SYMBOL_GPL drivers/net/ethernet/micrel/ks8851_common 0xa1cda6bc ks8851_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0x6a18a9db devm_regmap_init_encx24j600 +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xcc4fa41a regmap_encx24j600_spi_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/microchip/encx24j600-regmap 0xe8c8c6c2 regmap_encx24j600_spi_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x058fef6d __ocelot_bulk_read_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x27ad33e6 ocelot_phylink_mac_link_down +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x28b4a3b6 ocelot_port_assign_dsa_8021q_cpu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x29e7143b __ocelot_write_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x300ef0c2 ocelot_bridge_num_find +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x36f6d6b8 ocelot_mact_flush +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3d3052ce __ocelot_read_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x3e7ac557 ocelot_get_bridge_fwd_mask +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x483f678f ocelot_cls_flower_replace +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x4c7921ec ocelot_port_writel +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x507a6393 ocelot_regmap_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x57877aa9 ocelot_cls_flower_destroy +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x62a6b373 ocelot_port_del_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x6c3f2e51 ocelot_port_assigned_dsa_8021q_cpu_mask +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x728e4d5e ocelot_port_set_default_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x750e0fa2 ocelot_port_get_default_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x783be773 ocelot_port_unassign_dsa_8021q_cpu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x7fc0c7fe ocelot_port_get_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9061f0c2 ocelot_port_add_dscp_prio +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x955a3c76 ocelot_port_readl +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0x9f030c9f ocelot_migrate_mdbs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xa1b75c46 ocelot_port_rmwl +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb2df04bf ocelot_phylink_mac_link_up +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb4d44320 ocelot_lag_fdb_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xb997a836 ocelot_port_mirror_del +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xc8b7afe7 ocelot_lag_fdb_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xcd0be38c __ocelot_rmw_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xe905b54f ocelot_cls_flower_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf19b8cda ocelot_port_mirror_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mscc/mscc_ocelot_switch_lib 0xf9d4b537 ocelot_regfields_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/qualcomm/qca_7k_common 0x0b28a9ad qcafrm_create_footer +EXPORT_SYMBOL_GPL drivers/net/ethernet/qualcomm/qca_7k_common 0x2b6ddf3f qcafrm_fsm_decode +EXPORT_SYMBOL_GPL drivers/net/ethernet/qualcomm/qca_7k_common 0x41da0375 qcafrm_create_header +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x08f641ba stmmac_suspend +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x386354c0 stmmac_dvr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x545572d4 stmmac_set_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x909c8e77 stmmac_resume +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x92d778bb stmmac_get_mac_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0x92f86a2e stmmac_dvr_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xaaafcaa1 stmmac_bus_clks_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac 0xc2fedee2 stmmac_init_tstamp_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x57e9bae5 stmmac_remove_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0x80b696e3 stmmac_pltfr_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xacdc57e5 stmmac_probe_config_dt +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xb5c4c42c stmmac_get_platform_resources +EXPORT_SYMBOL_GPL drivers/net/ethernet/stmicro/stmmac/stmmac-platform 0xffa23ccb stmmac_pltfr_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x0a2263ea w5100_probe +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x0e9f2ac2 w5100_pm_ops +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0x501f4ad0 w5100_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/wiznet/w5100 0xec09f576 w5100_ops_priv +EXPORT_SYMBOL_GPL drivers/net/geneve 0x2280ef3c geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x108d437d ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x48c640f0 ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x67688343 ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xdb3337ef ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xe894a686 ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/macsec 0x597a577b macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x0443e8a5 macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x0c256829 macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x9bf9a74b macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xf870d3fa macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/mdio/mdio-i2c 0x9d181c0d mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/mdio/mdio-mux 0x6318757f mdio_mux_uninit +EXPORT_SYMBOL_GPL drivers/net/mdio/mdio-mux 0x747796bc mdio_mux_init +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x10783706 net_failover_create +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x690879f2 net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x0bffeeff xpcs_config_eee +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x23532425 xpcs_do_config +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x3f7bec16 xpcs_get_interfaces +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x62f650d5 xpcs_get_an_mode +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x70f0a1d0 xpcs_destroy +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0x8947189e xpcs_link_up +EXPORT_SYMBOL_GPL drivers/net/pcs/pcs_xpcs 0xd4587ba6 xpcs_create +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x06b87076 __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x1c3ed04f bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x24b49c8f bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2cc060c8 bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x2e0d2dbe bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x3c282a77 bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x435d3bca bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x44f10f7a bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x499f2175 bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x50f2798f bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x51d27b5e bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5585d182 bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x5d71802b bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x61d205a5 bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x7d6d69db bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x922ab96f bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x9dcb6f4e bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa531c273 bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa8be0ff1 bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa9624d7c __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa9fdea03 bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb1f202d0 bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb3e44e64 bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb74d1ae9 __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb8acccc8 __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb9edb338 __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc4372c68 bcm_phy_handle_interrupt +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc80f77c5 bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xcc8b54e9 __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xce0838af bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd1413fb0 bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd9338a7b bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xddb6c4a0 bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xeed04ea2 bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x12135396 phylink_mac_change +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x15c4e3e2 phylink_ethtool_set_pauseparam +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x16ca1a8a phylink_suspend +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x182541a9 phylink_ethtool_ksettings_get +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x4386cacd phylink_get_linkmodes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x44022996 phylink_mii_c45_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x451981ef phylink_mii_c22_pcs_config +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x48c3c969 phylink_connect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x57727285 phylink_ethtool_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x59e0695d phylink_speed_down +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5b68a658 phylink_generic_validate +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5d0c4dcc phylink_speed_up +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x62104126 phylink_ethtool_set_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x6fa426d2 phylink_ethtool_nway_reset +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x71ef826a phylink_fwnode_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x72e21f13 phylink_mii_c22_pcs_an_restart +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x758c6b49 phylink_create +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x825c7340 phylink_get_eee_err +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x8df9a48e phylink_mii_c22_pcs_decode_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x911fcd6c phylink_start +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x983276da phylink_disconnect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xaec92d6a phylink_mii_c22_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xb384c13e phylink_ethtool_ksettings_set +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc0a8f4be phylink_resume +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc1d15a4c phylink_set_port_modes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc85b7c9f phylink_mii_c22_pcs_encode_advertisement +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xcaafefc4 phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xcff1abd9 phylink_decode_usxgmii_word +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xdcb0a2c0 phylink_stop +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xde66f4a7 phylink_mii_ioctl +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xec02ebe0 phylink_init_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf3083a1d phylink_destroy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf8fe5642 phylink_ethtool_get_pauseparam +EXPORT_SYMBOL_GPL drivers/net/tap 0x19d24ffc tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x1aa00e49 tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0x5a28e4b4 tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/tap 0x71d1b7e8 tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/tap 0x7a3de848 tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/tap 0xa5df4ff3 tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0xb5d64df3 tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/tap 0xbb8c2b17 tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0xcd5cc1db tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x01d82fda usbnet_cdc_update_filter +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x13cf2e65 usbnet_generic_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x1d8de83c usbnet_cdc_zte_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x387d5326 usbnet_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0x4faf82da usbnet_cdc_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xcf3addbd usbnet_ether_cdc_bind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ether 0xe4d2643c usbnet_cdc_status +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x027fc513 cdc_ncm_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x0f67f5a7 cdc_ncm_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x140b83b8 cdc_ncm_bind_common +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x34e4c9c0 cdc_ncm_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x7cfd66d3 cdc_ncm_rx_verify_ndp32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0x95f608f0 cdc_ncm_rx_verify_nth32 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xb4f43f3a cdc_ncm_fill_tx_frame +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xbe06acc2 cdc_ncm_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xc2ff5284 cdc_ncm_select_altsetting +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xe8c9f44f cdc_ncm_rx_verify_ndp16 +EXPORT_SYMBOL_GPL drivers/net/usb/cdc_ncm 0xfeccbd74 cdc_ncm_rx_verify_nth16 +EXPORT_SYMBOL_GPL drivers/net/usb/r8152 0xfa7a557e rtl8152_get_version +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x59523d72 rndis_command +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x5f49fdfd rndis_unbind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x83a9e4ba generic_rndis_bind +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0x86315e94 rndis_status +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xd05f7efb rndis_rx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/rndis_host 0xdc5f3568 rndis_tx_fixup +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x0376c59f usbnet_get_link +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x15bbaf22 usbnet_read_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x16df205e usbnet_get_link_ksettings_mii +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x19522062 usbnet_write_cmd_async +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1b7e8c64 usbnet_skb_return +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1ce169c0 usbnet_start_xmit +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x1f7c66b0 usbnet_status_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x22c1978d usbnet_set_rx_mode +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2ac22cf7 usbnet_disconnect +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x2feea809 usbnet_unlink_rx_urbs +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x41c81888 usbnet_defer_kevent +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x4e3b1028 usbnet_get_endpoints +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x5b7ac899 usbnet_stop +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6021fe0b usbnet_update_max_qlen +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x6d7a31a2 usbnet_write_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x72a767be usbnet_read_cmd_nopm +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x80fbbabb usbnet_probe +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x869a5956 usbnet_get_link_ksettings_internal +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x874acd9b usbnet_nway_reset +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0x8dcd6b6c usbnet_pause_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbc2ce134 usbnet_get_ethernet_addr +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xbc50ad23 usbnet_open +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcaee0cfb usbnet_set_link_ksettings_mii +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xcc821f54 usbnet_get_msglevel +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd1937ed9 usbnet_suspend +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd1d223c6 usbnet_status_start +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd470f25a usbnet_change_mtu +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xd48a7756 usbnet_get_drvinfo +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdbe63efd usbnet_write_cmd +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xdd8b9708 usbnet_resume +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe125d72c usbnet_purge_paused_rxq +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xe3c1e0a5 usbnet_tx_timeout +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xf26781b2 usbnet_resume_rx +EXPORT_SYMBOL_GPL drivers/net/usb/usbnet 0xfa6ad30b usbnet_set_msglevel +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x210b47d8 vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x903ce5d7 vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0xaf7d7fcc vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0xe11aaecc vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/ipw2x00/libipw 0xd37f26b4 libipw_rx_any +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x32a4be4f il_remove_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x6cf8aaee il_mac_tx_last_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x7abcb9f3 il_dealloc_bcast_stations +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0x93b66063 il_prep_station +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlegacy/iwlegacy 0xd331c13a _il_grab_nic_access +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x5987fe45 iwl_fw_lookup_assert_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x71118edc iwl_fw_lookup_cmd_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intel/iwlwifi/iwlwifi 0x74778a2f iwl_fw_lookup_notif_ver +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x1fd2ec2e p54_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x634412c9 p54_init_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x637b85d5 p54_parse_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x70c994d1 p54_unregister_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0x798a0601 p54_read_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xade1b7c7 p54_free_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xc1e2323d p54_register_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xc2d3b0a0 p54_free_common +EXPORT_SYMBOL_GPL drivers/net/wireless/intersil/p54/p54common 0xebf7cebc p54_parse_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x07e275c3 lbs_process_rxed_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x0ed5bb97 lbs_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x11b70c23 lbs_host_sleep_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x18805b3b lbs_start_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x3b5f3f56 lbs_notify_command_response +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x40fee78e __lbs_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x462fade8 lbs_get_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x46e2aa85 lbs_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x4d52c9e4 lbs_get_firmware_async +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x59d6cac5 lbs_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x5fdf38b8 lbs_disablemesh +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x652ebc68 lbs_queue_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x7067402e lbs_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x83fdb41f lbs_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0x937131d9 lbs_host_to_card_done +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xb23d0608 lbs_stop_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xcf3fe0b3 lbs_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas/libertas 0xf64277de lbs_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x0070ed6d lbtf_bcn_sent +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x13269ad2 lbtf_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0x7f621040 lbtf_cmd_copyback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xa4af5b2c __lbtf_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xa5aa8fe9 lbtf_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xac9dcf62 lbtf_send_tx_feedback +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xc304cee8 lbtf_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xc85e6899 lbtf_debug +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/libertas_tf/libertas_tf 0xe660cdf7 lbtf_cmd_response_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x0ddd0a1a mwifiex_upload_device_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x139c54bb mwifiex_write_data_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x1e666853 mwifiex_disable_auto_ds +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x22013ffb mwifiex_process_sleep_confirm_resp +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x2807939c mwifiex_drv_info_dump +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x2ef48e60 mwifiex_handle_rx_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x3131dff1 mwifiex_shutdown_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x33c92362 _mwifiex_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x43112595 mwifiex_prepare_fw_dump_info +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x43501413 mwifiex_main_process +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x487484e0 mwifiex_reinit_sw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x67ab3fe8 mwifiex_dnld_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x6984f4e6 mwifiex_process_hs_config +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x718d4c86 mwifiex_add_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0x961cb8ce mwifiex_fw_dump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xa1f722a6 mwifiex_init_shutdown_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xaa995479 mwifiex_queue_main_work +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xb34aea60 mwifiex_enable_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xc608ed11 mwifiex_add_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xca71b5c1 mwifiex_multi_chan_resync +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd0082b35 mwifiex_deauthenticate_all +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xd4dad9f3 mwifiex_alloc_dma_align_buf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xdba2efe9 mwifiex_remove_card +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf0e22df3 mwifiex_del_virtual_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/marvell/mwifiex/mwifiex 0xf6298451 mwifiex_cancel_hs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x000a3507 mt76_tx_worker_run +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x003f8585 mt76_mcu_get_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x01efa125 mt76_put_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x05f14a13 mt76_mcu_send_and_get_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0691da0a mt76_wake_tx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0a8c9ebb mt76_update_survey_active_time +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0c3b2f21 mt76_unregister_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0cdc6f22 mt76_register_debugfs_fops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x0e7eead4 mt76_tx_status_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x12091f2d mt76_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x13802bf5 __mt76_set_tx_blocked +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x13e0e7aa __mt76_mcu_send_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x17956105 mt76_get_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x17f568e9 mt76_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1890c70c mt76_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1b33cbbf mt76_mcu_skb_send_and_get_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1ec57b4f __mt76_worker_fn +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x1f8ac718 __tracepoint_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x202b5d9a mt76_phy_dfs_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x21d6018c mt76_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x22e0d222 mt76_seq_puts_array +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x28365e70 mt76_queue_tx_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x28653b2a mt76_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x28afe920 __traceiter_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2ec2ea83 mt76_skb_adjust_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x2f555cce mt76_txq_schedule_all +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x314d19c5 mt76_tx_check_agg_ssn +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3696afc1 mt76_queues_read +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x38c13ee7 mt76_mmio_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x3d4f998a mt76_init_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4115a7e2 mt76_init_sar_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4256c356 mt76_tx_status_skb_get +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4469e590 mt76_insert_ccmp_hdr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4594dccd mt76_ethtool_worker +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x496f9c4f mt76_calculate_default_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4a128c53 __mt76_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x4e4c7329 mt76_tx_status_skb_done +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5316c102 mt76_stop_tx_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x57b6895d mt76_sw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5aaf55d5 mt76_alloc_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x5d1b4e42 __tracepoint_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x70e7b8cb mt76_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x71a9ac8e __mt76_poll_msec +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7254a28a mt76_set_irq_mask +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x730237c7 __mt76_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x745be10e mt76_alloc_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x76b9746e mt76_dma_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x77cda8f4 mt76_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7851b811 mt76_get_rate_power_limits +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7bbc3d93 mt76_get_rate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7d35c248 mt76_get_min_avg_rssi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x7d56adb4 mt76_get_of_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x805fc13a __SCK__tp_func_dev_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x81e843d4 mt76_tx_status_unlock +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x87f9d505 mt76_token_consume +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8d14e948 mt76_pci_disable_aspm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x8eba23a7 mt76_tx_status_skb_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x92f73f58 mt76_rx_aggr_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0x9c2c5bf2 __traceiter_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa23a126b mt76_sta_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa470350f mt76_txq_schedule +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa49753ea mt76_release_buffered_frames +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa6bc065f mt76_sta_pre_rcu_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa72bb794 mt76_set_stream_caps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xa8802ce6 mt76_unregister_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xb7eb3633 mt76_mcu_rx_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xbb48fce8 mt76_free_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc3fe87f5 mt76_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc4707d5c mt76_update_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc5977a50 mt76_has_tx_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc5ec254b mt76_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6315d8e __SCK__tp_func_mac_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xc6634315 mt76_ac_to_hwq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xca522e55 mt76_rx_aggr_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd4353584 mt76_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd936d026 mt76_dma_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xd96d7f86 __mt76_mcu_msg_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdb68164d mt76_register_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdba6d359 mt76_csa_finish +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xdc6dac3e mt76_tx_status_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe0011361 __mt76_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe091d3d2 mt76_dma_rx_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xe40b66ef mt76_wcid_alloc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xeb6eb2a1 mt76_eeprom_override +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xec098a4b mt76_csa_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xefd213d6 mt76_token_release +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xf0f1402a mt76_get_sar_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76 0xfb89ffde mt76_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x0d6d1dfe mt76_connac_mcu_bss_ext_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x11ff2ae0 mt76_connac_pm_queue_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x13e09348 mt76_connac_mcu_get_nic_capability +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x25c9c3b2 mt76_connac_mcu_sched_scan_enable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x28e39b28 mt76_connac_mcu_sta_basic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2da8390d mt76_connac_mcu_alloc_wtbl_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x2f350dde mt76_connac_mcu_uni_add_bss +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x33f95218 mt76_connac_mcu_wtbl_ht_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x349633b3 mt76_connac_power_save_sched +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x3cd34528 mt76_connac_get_he_phy_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x3d5779ef mt76_connac_mcu_init_download +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x43596e14 mt76_connac_mcu_uni_add_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x4537aab4 mt76_connac_mcu_wtbl_update_hdr_trans +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x4d48768c mt76_connac_mcu_sta_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x4d9b78c8 mt76_connac_free_pending_tx_skbs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x4e6b2f49 mt76_connac_mcu_reg_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x5c903d6f mt76_connac_mcu_chip_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6290b514 mt76_connac_mcu_set_suspend_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x62dc3ac3 mt76_connac_pm_wake +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x662efbcc mt76_connac_mcu_update_arp_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6d4a174f mt76_connac_mcu_set_rate_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x6e35a5df mt76_connac_mcu_set_mac_enable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x74f6c7fd mt76_connac_mcu_sta_uapsd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x7709fa8a mt76_connac_mcu_bss_omac_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x80981d36 mt76_connac_get_phy_mode +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x81ac0ed9 mt76_connac_mcu_hw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x8373a7ad mt76_connac_mcu_sta_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x84ea320a mt76_connac_mcu_set_pm +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x85137d9e mt76_connac_mcu_update_gtk_rekey +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x85ca1a2b mt76_connac_sta_state_dp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x8755769b mt76_connac_mcu_set_p2p_oppps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x88ae2b27 mt76_connac_mcu_wtbl_ba_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x893db942 mt76_connac_mcu_sta_update_hdr_trans +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x8b6f51af mt76_connac_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x8e480afb mt76_connac_mcu_bss_basic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x908ca40c mt76_connac_wowlan_support +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0x9c9911b6 mt76_connac_mcu_reg_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xa4452344 mt76_connac_mcu_set_rts_thresh +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xadc71996 mt76_connac_mcu_wtbl_smps_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xb194df1b mt76_connac_mcu_set_channel_domain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xb4036919 mt76_connac_mcu_set_vif_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xbc6150b2 mt76_connac_mcu_add_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xbd45050f mt76_connac_mcu_sta_ba_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xc228b10f mt76_connac_mcu_add_nested_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xc4fa4bfd mt76_connac_mcu_set_hif_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xc8202984 mt76_connac_mcu_start_patch +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xccdd7df8 mt76_connac_mcu_rdd_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xcf43fff0 mt76_connac_mcu_set_deep_sleep +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xd0dc298d mt76_connac_mcu_sta_ba +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xd783e5e8 mt76_connac_mcu_start_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xda913001 mt76_connac_mcu_sched_scan_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xdad1e4f0 __mt76_connac_mcu_alloc_sta_req +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xdd6e7300 mt76_connac_mcu_coredump_event +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xdf92d60c mt76_connac_pm_dequeue_skbs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xe0b01b86 mt76_connac_mcu_wtbl_generic_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xe9e1c5ad mt76_connac2_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf536670c mt76_connac_mcu_wtbl_hdr_trans_tlv +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf610c5f7 mt76_connac_mcu_patch_sem_ctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xf615e3d5 mt76_connac_mcu_beacon_loss_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-connac-lib 0xff2c28cb mt76_connac_mcu_cancel_hw_scan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x0cc6c15f mt76s_hw_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x1d2a232b mt76s_read_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x56ea6ccb mt76s_alloc_rx_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x5d94a26e mt76s_sdio_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x69a16e9e mt76s_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x6b31be02 mt76s_rd_rp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x81c0c5ae mt76s_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x86c0ec93 mt76s_rmw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x936f70db mt76s_txqs_empty +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0x95441754 mt76s_write_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xa305ae3e mt76s_wr_rp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xa8a6d7e6 mt76s_read_pcr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xb846fba9 mt76s_txrx_worker +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xc039b351 mt76s_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xca52863e mt76s_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-sdio 0xf68da6d9 mt76s_alloc_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x17f5f0c5 ___mt76u_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x26710a4b mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x47716521 mt76u_resume_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x70a17390 mt76u_alloc_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x7ed7050d mt76u_stop_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x8b0cf707 mt76u_single_wr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0x92a5a828 mt76u_stop_rx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xb09484c4 __mt76u_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xb09cc484 mt76u_read_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xb149f097 ___mt76u_rr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xbae820d3 mt76u_alloc_mcu_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xc9b95751 mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xdb316b09 __mt76u_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76-usb 0xf828528b mt76u_queues_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x0416119c mt7615_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x08526073 mt7615_thermal_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x1b2090c7 mt7615_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x2852599b mt7615_unregister_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x340a11ac mt7615_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3b7b9be3 mt7615_init_work +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x3e41ed83 mt7615_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x489fc881 mt7615_mcu_fill_msg +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x4cfc86a7 mt7615_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x55d5c008 mt7615_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x6d63881c mt7615_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x6f496f20 mt7615_tx_token_put +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x796c19d5 mt7615_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x7b6cdf66 mt7615_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x851630aa mt7615_wait_for_mcu_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x8a15045a mt7615_register_ext_phy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0x91bad0e2 mt7615_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xa9466908 __mt7663_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xaa711dc1 mt7615_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xb83e26d2 mt7622_trigger_hif_int +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xca62873f mt7615_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xcbc362ba mt7615_rx_check +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd4b222fb mt7615_mcu_restart +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd8ca8e2a mt7615_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xd943986d mt7615_txp_skb_unmap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xde06820a mt7615_mac_set_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xedcb371a mt7615_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615-common 0xfee5da33 mt7615_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7615e 0xd5549501 mt7615_dma_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x0abb5873 mt7663_usb_sdio_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x0d52ec3e mt7663_usb_sdio_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x1506ffca mt7663_usb_sdio_reg_map +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x57e40139 mt7663_usb_sdio_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7615/mt7663-usb-sdio-common 0x87ecc4db mt7663_usb_sdio_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x10450c3c mt76x0_phy_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x4c2c9fd0 mt76x0_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x7af4140f mt76x0_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0x8c401cd5 mt76x0_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xa54583fb mt76x0_init_hardware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xc046e314 mt76x0_chip_onoff +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x0/mt76x0-common 0xc1b334e3 mt76x0_set_sar_specs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0462ce68 mt76x02_add_rate_power_offset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x08fd8184 mt76x02_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0b2e906d mt76x02_mac_set_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0d4023ec mt76x02_get_max_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x0f55c8db mt76x02_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x109fba23 mt76x02_set_ethtool_fwver +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x17535b64 mt76x02_eeprom_copy +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x18af05a7 mt76x02_mac_shared_key_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1afbf87b mt76x02_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x1b4068d1 mt76x02_mcu_set_radio_state +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x23ad265b mt76x02_enqueue_buffered_bc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2541c446 mt76x02_phy_set_rxpath +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x280ce442 mt76x02_phy_dfs_adjust_agc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x2b723386 mt76x02_mcu_calibrate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x35cf6090 mt76x02_dfs_init_params +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x35d2834d mt76x02_limit_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x38264a39 mt76x02_mac_reset_counters +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x3a0b9f10 mt76x02_ext_pa_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x42289517 mt76x02_phy_set_band +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x42aa7bf6 mt76x02_mcu_function_select +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4a0207b2 mt76x02_eeprom_parse_hw_cap +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4bb8ea9d mt76x02_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x4e346836 mt76x02_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x548703b2 mt76x02_sta_rate_tbl_update +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x56654cd1 mt76x02_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5965c47f mt76x02_phy_adjust_vga_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x5bd84fd5 mt76x02_rates +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x63fc43ea mt76x02_update_beacon_iter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x65b628ff mt76x02_edcca_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6b40e797 mt76x02_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6b84d267 mt76x02_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6d22ffdf mt76x02_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x6fceb63b mt76x02_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x76649dbb mt76x02_dma_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x7fed06f8 mt76x02_phy_set_txdac +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x80d05899 mt76x02_config_mac_addr_list +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x833e885f mt76x02_get_efuse_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x84a0f119 mt76x02_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8abbc958 mt76x02_init_agc_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x8ba16b74 mt76x02_set_coverage_class +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x91d5b9ee mt76x02_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x95d9a5db mt76x02_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x95fa9911 mt76x02_phy_set_bw +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x99ad7b90 mt76x02_mcu_msg_send +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9f2abeb6 mt76x02_tx_set_txpwr_auto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0x9f36fdd4 mt76x02_mac_setaddr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xa52a56d6 mt76x02_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xad7a3d60 mt76x02e_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb36479dd mt76x02_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb4de26ab mt76x02_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb6a691b5 mt76x02_init_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xb803cc92 mt76x02_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xbe91e201 mt76x02_get_lna_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc082926f mt76x02_resync_beacon_timer +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc087a602 mt76x02_mac_wcid_setup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc29d520e mt76x02_rx_poll_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xc30e6c92 mt76x02_dma_disable +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xca85a796 mt76x02_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xcfeace5e mt76x02_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xd72eda9d mt76x02_mac_cc_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdca98e95 mt76x02_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xdf16b053 mt76x02_init_debugfs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe000af0f mt76x02_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe0b54b0e mt76x02_mcu_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe51a01fa mt76x02_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe7d38123 mt76x02_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xe8f8ccf0 mt76x02_get_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xecdf52c5 mt76x02_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xf3dc89b3 mt76x02_remove_hdr_pad +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfae924c4 mt76x02_mac_write_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-lib 0xfb6a9842 mt76x02_set_tx_ackto +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x20ffafdf mt76x02u_mcu_fw_send_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x6ec8d803 mt76x02u_init_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x6f8c7005 mt76x02u_init_mcu +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x814c6da7 mt76x02u_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0x874553fc mt76x02u_mcu_fw_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xbd25a110 mt76x02u_mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xc864cee6 mt76x02u_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x02-usb 0xd723ac84 mt76x02u_exit_beacon_config +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x1845c0b4 mt76x2_init_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x1ebb1ca1 mt76x2_mcu_load_cr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x3341030a mt76x2_eeprom_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x3737e90b mt76x2_get_temp_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x3a7c7ef6 mt76x2_mcu_init_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x44a11c5d mt76x2_apply_gain_adj +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x46442963 mt76x2_configure_tx_delay +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x71103295 mt76x2_phy_tssi_compensate +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x822dba8d mt76x2_reset_wlan +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x89718fef mt76x2_mcu_set_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x8ac319f2 mt76_write_mac_initvals +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x8d3f4b46 mt76x2_read_rx_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0x95cdec79 mt76x2_phy_update_channel_gain +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xa7f151ed mt76x2_get_rate_power +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xac8eb3b2 mt76x2_get_power_info +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xb140f5d9 mt76x2_mcu_tssi_comp +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xd2d445f6 mt76x2_set_sar_specs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xd7c7a3b4 mt76x2_phy_set_txpower_regs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xf2597c4b mt76x2_phy_set_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt76x2/mt76x2-common 0xf8c28bb3 mt76x2_mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x06ee02e1 mt7921_mac_init +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x16a972d8 mt7921_sta_ps +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x1bf57a87 mt7921_mac_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x2b91282a mt7921_usb_sdio_tx_prepare_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x337d6a44 mt7921_update_channel +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x451f81aa mt7921_mcu_parse_response +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x469eaefc mt7921_reset +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x47676b83 mt7921_mac_sta_assoc +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x4b6de551 mt7921_mcu_set_eeprom +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x4c41e954 mt7921_usb_sdio_tx_complete_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x5364afb7 mt7921_usb_sdio_tx_status_data +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x61ef9611 mt7921_mcu_fw_pmctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x6250d41b mt7921_tx_check_aggr +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x6c90a339 mt7921_register_device +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x72c6d0d6 mt7921_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x807b2633 mt7921_mac_add_txs +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x84388349 mt7921_mac_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x8d3e9897 mt7921_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0x95bf38e1 mt7921_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xa5746626 mt7921_queue_rx_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xaf997765 mt7921_mac_sta_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xbd4f024f __mt7921_start +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xc2f954a6 mt7921_mcu_fill_message +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xcfe82d0e mt7921_mcu_exit +EXPORT_SYMBOL_GPL drivers/net/wireless/mediatek/mt76/mt7921/mt7921-common 0xf75514d0 mt7921_mcu_drv_pmctrl +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x02f83b77 host_sleep_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x1c473cb6 chip_wakeup +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x35a83ca0 chip_allow_sleep +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x429472e2 wilc_cfg80211_init +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x640a86d6 host_wakeup_notify +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0x7f1e1310 wilc_netdev_cleanup +EXPORT_SYMBOL_GPL drivers/net/wireless/microchip/wilc1000/wilc1000 0xa1918c0e wilc_handle_isr +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x1e52115a qtnf_trans_handle_rx_ctl_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x31fab83c qtnf_chipid_to_string +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x32bb66ac qtnf_core_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x5e9974b7 qtnf_classify_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0x8481cde7 qtnf_get_debugfs_dir +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xde28ac85 qtnf_core_attach +EXPORT_SYMBOL_GPL drivers/net/wireless/quantenna/qtnfmac/qtnfmac 0xf9491fd5 qtnf_wake_all_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0275cc4f rt2800_config_erp +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x0f83c949 rt2800_link_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x13fcc6b6 rt2800_set_rts_threshold +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x199f3627 rt2800_get_key_seq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1c3cd123 rt2800_config_shared_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x1f637352 rt2800_sta_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x21d9421d rt2800_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x263d3779 rt2800_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2ae4b037 rt2800_config_intf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x2b0ab76e rt2800_txstatus_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3497b8a0 rt2800_check_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x37687708 rt2800_vco_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3921b43e rt2800_read_eeprom_efuse +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x3ea50578 rt2800_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x46440087 rt2800_mcu_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x59940498 rt2800_pre_reset_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x601a4fc0 rt2800_disable_wpdma +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x6eb24324 rt2800_link_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7e34f1bf rt2800_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x7f796eb0 rt2800_write_tx_data +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x80affd75 rt2800_config_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8dc86bf4 rt2800_txdone_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8dfca2dc rt2800_process_rxwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x8f41b7ca rt2800_clear_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x952c91b6 rt2800_sta_add +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x96280b13 rt2800_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0x999b4941 rt2800_get_txwi_rxwi_size +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb3f0b285 rt2800_txstatus_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb8926977 rt2800_config_ant +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xb92cece4 rt2800_reset_tuner +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xba4afcd6 rt2800_wait_csr_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xbebc08f4 rt2800_ampdu_action +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc2782bb3 rt2800_get_survey +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xc3fd135f rt2800_write_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xcd3c2062 rt2800_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xd262a9fb rt2800_get_tsf +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe27f62a9 rt2800_config_pairwise_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe632d518 rt2800_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xe6e9eb69 rt2800_txdone_nostatus +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf1422aa2 rt2800_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf389f4c0 rt2800_efuse_detect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xf4361920 rt2800_gain_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xfbc1a51c rt2800_wait_wpdma_ready +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800lib 0xffdb273d rt2800_load_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x025143e5 rt2800mmio_init_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x0d602629 rt2800mmio_fill_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x1629203a rt2800mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x1d216bbe rt2800mmio_get_txwi +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x32ac3645 rt2800mmio_rxdone_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x35a67e56 rt2800mmio_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x3624b2c5 rt2800mmio_queue_init +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x3d741c87 rt2800mmio_pretbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x40698365 rt2800mmio_probe_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x4befd34a rt2800mmio_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5028bbb2 rt2800mmio_tbtt_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x50853876 rt2800mmio_init_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x5fa4db64 rt2800mmio_interrupt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x97e3c029 rt2800mmio_autowake_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9af56baf rt2800mmio_get_dma_done +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9c3be7ae rt2800mmio_enable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0x9f3c8921 rt2800mmio_txstatus_tasklet +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xcb1020cb rt2800mmio_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xdd9cc876 rt2800mmio_toggle_irq +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xf0b238ac rt2800mmio_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xf71a2f76 rt2800mmio_write_tx_desc +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2800mmio 0xf7c4d721 rt2800mmio_get_entry_state +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0233fe8b rt2x00queue_start_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0899a7b5 rt2x00lib_dmadone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0a9f5e59 rt2x00mac_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0e85d18b rt2x00mac_tx_frames_pending +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x0fb4bba7 rt2x00mac_stop +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x142bd2e0 rt2x00lib_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x144b226f rt2x00lib_txdone_noinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x1c1ae7b0 rt2x00lib_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2671999d rt2x00mac_get_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x2f0c89dd rt2x00queue_stop_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3279f951 rt2x00mac_configure_filter +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3975de96 rt2x00mac_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3ed03664 rt2x00queue_map_txskb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x3fe358ab rt2x00mac_bss_info_changed +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4039f82a rt2x00queue_unmap_skb +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x4a072361 rt2x00mac_add_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x54f5e8de rt2x00mac_rfkill_poll +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5adec077 rt2x00queue_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x5e55f754 rt2x00mac_reconfig_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x64000f7b rt2x00queue_for_each_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x65e4db54 rt2x00lib_get_bssidx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x68b02820 rt2x00lib_probe_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x705e7c2d rt2x00queue_unpause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x77890151 rt2x00lib_beacondone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x78240829 rt2x00mac_get_ringparam +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x7a33d02f rt2x00lib_dmastart +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x82469294 rt2x00mac_set_tim +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x88e5b669 rt2x00lib_txdone_nomatch +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x8f00d2b1 rt2x00queue_pause_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x981f8748 rt2x00lib_txdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0x9e02c08a rt2x00lib_pretbtt +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xa07532d0 rt2x00queue_flush_queues +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xaa2df65e rt2x00lib_set_mac_address +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xaecbb51e rt2x00mac_get_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xaf1cb544 rt2x00mac_sw_scan_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xb52693b5 rt2x00mac_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xca2e5169 rt2x00lib_remove_dev +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd4772d88 rt2x00mac_start +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xd59f6ba2 rt2x00mac_sw_scan_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xde380dbf rt2x00lib_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xdf5de308 rt2x00mac_remove_interface +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xdfa73fab rt2x00queue_stop_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xe23fe454 rt2x00queue_start_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xef091d93 rt2x00queue_get_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf0967b85 rt2x00mac_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf1f3d0b4 rt2x00mac_conf_tx +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00lib 0xf6899b28 rt2x00mac_set_antenna +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x1772c7f7 rt2x00mmio_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x807bda13 rt2x00mmio_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0x8da66bbf rt2x00mmio_rxdone +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xef54643d rt2x00mmio_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00mmio 0xfa0cc86b rt2x00mmio_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x1550d8d6 rt2x00pci_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0x91f4e20a rt2x00pci_pm_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00pci 0xefd6da56 rt2x00pci_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x18fb2edb rt2x00usb_clear_entry +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x23588b24 rt2x00usb_vendor_request_buff +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x24dc5c93 rt2x00usb_initialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x4bd2fd2d rt2x00usb_regbusy_read +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x4ff541c0 rt2x00usb_disable_radio +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x662af543 rt2x00usb_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0x74a2a2bb rt2x00usb_vendor_request +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xa1457157 rt2x00usb_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xa1b4fa66 rt2x00usb_disconnect +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xa4b53269 rt2x00usb_vendor_req_buff_lock +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xa5538df0 rt2x00usb_resume +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xae43e9ce rt2x00usb_flush_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xbe5445ba rt2x00usb_watchdog +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xcb42d330 rt2x00usb_uninitialize +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xdbbf7ca2 rt2x00usb_register_read_async +EXPORT_SYMBOL_GPL drivers/net/wireless/ralink/rt2x00/rt2x00usb 0xddb6251a rt2x00usb_kick_queue +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0x55d5024a dm_writepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xbd245313 dm_restorepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xcca17342 rtl92c_set_p2p_ps_offload_cmd +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8192c/rtl8192c-common 0xdc486c66 dm_savepowerindex +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x0892a11e rtl8723_phy_init_bb_rf_reg_def +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x160badee rtl8723_phy_save_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1c927b5d rtl8723_dm_init_dynamic_bb_powersaving +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x1fe86f5f rtl8723_phy_path_adda_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x2b8969e4 rtl8723_phy_reload_mac_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x2ce9550d rtl8723_save_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x34240d4d rtl8723_dm_init_dynamic_txpower +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x351fc5f0 rtl8723_dm_init_edca_turbo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x3f5bf9c0 rtl8723_phy_calculate_bit_shift +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x47951d1d rtl8723_cmd_send_packet +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x47d165ae rtl8723ae_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x5ffcb964 rtl8723_download_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x89858eb9 rtl8723_enable_fw_download +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0x8baf8913 rtl8723_phy_set_sw_chnl_cmdarray +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xa8844f9f rtl8723_phy_txpwr_idx_to_dbm +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xac5be128 rtl8723_phy_path_a_standby +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xb64c110d rtl8723_phy_set_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xbfdfa176 rtl8723_write_fw +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xc1e59237 rtl8723_phy_rf_serial_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xc3697dbc rtl8723_phy_path_a_fill_iqk_matrix +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xc40d0dda rtl8723_phy_reload_adda_registers +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xd1c88683 rtl8723_fw_free_to_go +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xd7703604 rtl8723_phy_query_bb_reg +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xdd1fa80c rtl8723_phy_rf_serial_read +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xe49fcba6 rtl8723_phy_mac_setting_calibration +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xf11122ab rtl8723_phy_pi_mode_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtl8723com/rtl8723-common 0xf1edf27e rtl8723be_firmware_selfreset +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0560a23d rtl_lps_leave +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0a19f050 read_efuse_byte +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0d0b6636 rtl_global_var +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x0e2ce073 rtl_get_hal_edca_param +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x14f30106 rtl_get_hwinfo +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x16d46de1 rtl_deinit_rfkill +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x21b761dc rtl_set_tx_report +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2921a4d4 rtl_btc_status_false +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2d32cdfc rtl_lps_change_work_callback +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2e5382f9 rtl_fill_dummy +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x2fa54021 rtl_init_core +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x5d06efb6 rtl_action_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x680365f1 rtl_efuse_ops_init +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x6db3ba37 rtl_update_beacon_work_callback +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x7ceeb4a5 rtl_ips_nic_on +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x803d888f rtl_swlps_beacon +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x83e896b5 rtl_tx_mgmt_proc +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x85793c3b rtl_ops +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x92b0a55b rtl_beacon_statistic +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x94bd6a74 rtl_init_rx_config +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0x97e05663 rtl_tid_to_ac +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa04fdf0c rtl_p2p_info +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa0a17a5f rtl_tx_report_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xa87d9d4d rtl_lps_enter +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xaa9d3a93 rtl_recognize_peer +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xafb56b64 rtl_fw_block_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xd1e84b01 rtl_deinit_deferred_work +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xf2b43092 rtl_tx_ackqueue +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xfd947010 rtl_is_special_data +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xff7240ba rtl_fw_page_write +EXPORT_SYMBOL_GPL drivers/net/wireless/realtek/rtlwifi/rtlwifi 0xffc75fe6 rtl_deinit_core +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x0f5c3ce9 rsi_zone_enabled +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x23e93bbf rsi_hal_device_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x63d7ba56 rsi_mac80211_detach +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x6b23c674 rsi_91x_deinit +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0x863ded45 rsi_91x_init +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xc27b30f5 rsi_read_pkt +EXPORT_SYMBOL_GPL drivers/net/wireless/rsi/rsi_91x 0xcd173710 rsi_dbg +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x33f80966 cw1200_core_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0x7188f44b cw1200_core_release +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xa68851ed cw1200_irq_handler +EXPORT_SYMBOL_GPL drivers/net/wireless/st/cw1200/cw1200_core 0xa88ed19e cw1200_can_suspend +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xa746a980 wl1251_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xb91402e9 wl1251_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wl1251/wl1251 0xe500e385 wl1251_init_ieee80211 +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x06d3b27e wl12xx_debug_level +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x106c47fa wlcore_synchronize_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x13ab1a61 wl1271_tx_flush +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x14f9c0a2 wl1271_acx_set_ht_capabilities +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x17548ccf wl1271_acx_sleep_auth +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x1cedf629 wlcore_remove +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2019ddad wl1271_acx_init_mem_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x20351125 wlcore_get_native_channel_type +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x268b9bf5 wlcore_cmd_wait_for_event_or_timeout +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x2cc9f766 wl12xx_acx_mem_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x3b025ccf wl1271_cmd_test +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x40366a7f wlcore_event_soft_gemini_sense +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4696dc17 wl1271_acx_pm_config +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x4c5f1d8a wlcore_set_partition +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x52a2fa13 wlcore_boot_upload_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5cedd903 wl1271_tx_min_rate_get +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x5ec297c4 wl1271_cmd_configure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x65427cc5 wlcore_event_rssi_trigger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x664129d4 wlcore_cmd_generic_cfg +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x666f8faa wlcore_scan_sched_scan_ssid_list +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x730b3784 wl12xx_cmd_build_probe_req +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x79e443d2 wlcore_event_roc_complete +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7d226ccb wlcore_set_scan_chan_params +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7ea04bf7 wlcore_disable_interrupts_nosync +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x7f7825b8 wlcore_event_inactive_sta +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x831d5387 wlcore_scan_sched_scan_results +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x85498cd1 wl1271_format_buffer +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x85b947bc wlcore_event_ba_rx_constraint +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x8a845820 wlcore_boot_run_firmware +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x90cc2588 wlcore_enable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9cb23e39 wlcore_translate_addr +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0x9d7c6f08 wl1271_cmd_send +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa0bbc21e wlcore_alloc_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa1ad174d wlcore_set_key +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xa5068ab6 wl1271_cmd_data_path +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xad94c39e wl1271_debugfs_update_stats +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xae2d1d6d wlcore_disable_interrupts +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xb8de62b5 wlcore_event_sched_scan_completed +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xbe2539b5 wlcore_boot_upload_nvs +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xbeb256b1 wlcore_event_fw_logger +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xcf31dd51 wlcore_probe +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xdd9f1077 wlcore_event_beacon_loss +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xde7e2072 wlcore_free_hw +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xe2266eac wlcore_event_channel_switch +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xfe1b3c8d wlcore_event_max_tx_failure +EXPORT_SYMBOL_GPL drivers/net/wireless/ti/wlcore/wlcore 0xfff8aa30 wlcore_event_dummy_packet +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x00287370 nfcmrvl_nci_unregister_dev +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0x2c63f994 nfcmrvl_nci_recv_frame +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xd6d34d97 nfcmrvl_parse_dt +EXPORT_SYMBOL_GPL drivers/nfc/nfcmrvl/nfcmrvl 0xe2a8a414 nfcmrvl_nci_register_dev +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x1346eaa2 pn53x_unregister_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x29efc331 pn53x_register_nfc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0x726a492f pn532_i2c_nfc_alloc +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xb190f08e pn53x_common_clean +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xc508d921 pn533_finalize_setup +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdd3ccf1f pn53x_common_init +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdecfd339 pn533_rx_frame_is_ack +EXPORT_SYMBOL_GPL drivers/nfc/pn533/pn533 0xdf7bf2a9 pn533_rx_frame_is_cmd_response +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x4fca0e92 st_nci_hci_load_session +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x8f400623 st_nci_hci_event_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0x901566a0 st_nci_remove +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xbcdb6292 st_nci_hci_cmd_received +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xc9951df8 st_nci_disable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xcabf25fe st_nci_discover_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xe7ea5926 st_nci_enable_se +EXPORT_SYMBOL_GPL drivers/nfc/st-nci/st-nci 0xf1cb96f2 st_nci_probe +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x0562bf3b st95hf_spi_send +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0x85d0b297 st95hf_spi_recv_response +EXPORT_SYMBOL_GPL drivers/nfc/st95hf/st95hf 0xa9185cd6 st95hf_spi_recv_echo_res +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x0651adfc ntb_transport_unregister_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x0862001f ntb_transport_tx_free_entry +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x30934216 ntb_transport_max_size +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x32537aca ntb_transport_link_query +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x3d54dbfc ntb_transport_tx_enqueue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x436098aa ntb_transport_link_down +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x82e6c13d ntb_transport_qp_num +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0x9c992c8f ntb_transport_link_up +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xba8232ad ntb_transport_register_client +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xc270dc24 ntb_transport_free_queue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xc37d9036 ntb_transport_rx_remove +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xc3f5e65b ntb_transport_create_queue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xd40e7a02 ntb_transport_rx_enqueue +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xf55d6313 ntb_transport_register_client_dev +EXPORT_SYMBOL_GPL drivers/ntb/ntb_transport 0xf9eb813f ntb_transport_unregister_client_dev +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0x56d0d89b virtio_pmem_host_ack +EXPORT_SYMBOL_GPL drivers/nvdimm/nd_virtio 0x5d191e84 async_pmem_flush +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x06987f6e nvme_set_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x11abc494 __SCK__tp_func_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1540cd24 nvme_get_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1d8b40b4 nvme_init_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x30c01a6b __nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3c77006b nvme_start_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x402cacf7 nvme_uninit_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x48d3002e nvme_change_ctrl_state +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49e69f81 nvme_reset_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4a5e817d nvme_cleanup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4fe4014b nvme_wait_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x517fd12b nvme_start_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x520fdccf nvme_cancel_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x56abcb16 nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x78ab49ec nvme_start_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7cbfa4c6 nvme_remove_namespaces +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x813cf212 nvme_io_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x82c3cc0c nvme_stop_keep_alive +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x831b52d3 nvme_init_ctrl_finish +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x862c3790 nvme_disable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8a9c70ed nvme_sec_submit +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8dacc8a8 nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8df7855c nvme_delete_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8e7ec2b6 __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9ae9e357 nvme_cancel_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x9cf04c6b nvme_enable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa16a0542 nvme_set_queue_count +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa5231da5 nvme_start_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa586407e nvme_setup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa75e709e nvme_sync_io_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa847efd2 nvme_sync_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xaace0002 nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb05dda51 nvme_host_path_error +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb37752d6 nvme_init_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb68c1548 nvme_complete_batch_req +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb98152ca nvme_stop_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc4421922 __nvme_check_ready +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xcc6b479d __traceiter_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xcf67beb1 nvme_unfreeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd45434ee admin_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd58bbbcb nvme_delete_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe1866132 nvme_try_sched_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xe1e68dd3 nvme_wait_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xeb1778c8 nvme_fail_nonready_command +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xec8e6164 nvme_cancel_admin_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xec91c1f6 nvme_stop_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf118f74c nvme_kill_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf554dd4e nvme_complete_rq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xf66d7856 nvme_stop_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xfafeb612 nvme_complete_async_event +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x00f10fbf nvmf_connect_io_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x15daa72a nvmf_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x30777142 nvmf_ip_options_match +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x384c24be nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x51c659eb nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x5563c61d nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x62ee1415 nvmf_connect_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x6d4ab529 nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x8322644f nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xc3a9f1b3 nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xeef4d34b nvmf_reg_read64 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x0d12e564 nvme_fc_register_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x3884f8b8 nvme_fc_unregister_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x3e33ac54 nvme_fc_rescan_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x58e312f7 nvme_fc_io_getuuid +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x8a9cf5a7 nvme_fc_set_remoteport_devloss +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xbab51c5d nvme_fc_register_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xbb0e18a6 nvme_fc_rcv_ls_req +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xfca9dc99 nvme_fc_unregister_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3d0a3469 nvmet_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3e0ef07a nvmet_wq +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x5b84fb7c nvmet_ctrl_fatal_error +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x5fcecf26 nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x668ffbdb nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x6a5cba78 nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x737c787f nvmet_req_complete +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x8775fe3e nvmet_sq_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x9c304e4f nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xa8d87c5f nvmet_req_alloc_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xc5a60aaa nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xeeccfd6f nvmet_check_transfer_len +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x0b98123d nvmet_fc_rcv_ls_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x1048b92a nvmet_fc_rcv_fcp_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x4a013682 nvmet_fc_invalidate_host +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x532f98ff nvmet_fc_register_targetport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x7fa5302a nvmet_fc_rcv_fcp_abort +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x9ef76d99 nvmet_fc_unregister_targetport +EXPORT_SYMBOL_GPL drivers/pci/hotplug/pnv-php 0xc56f97e3 pnv_php_set_slot_power_state +EXPORT_SYMBOL_GPL drivers/pci/hotplug/pnv-php 0xcf468a20 pnv_php_find_slot +EXPORT_SYMBOL_GPL drivers/pci/hotplug/rpaphp 0x01cc7086 rpaphp_slot_head +EXPORT_SYMBOL_GPL drivers/pci/hotplug/rpaphp 0x20a4b033 rpaphp_check_drc_props +EXPORT_SYMBOL_GPL drivers/pci/hotplug/rpaphp 0x2a919f63 rpaphp_deregister_slot +EXPORT_SYMBOL_GPL drivers/pci/hotplug/rpaphp 0x7432b9ef rpaphp_add_slot +EXPORT_SYMBOL_GPL drivers/pci/switch/switchtec 0x97a544a9 switchtec_class +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x4bffe6ac mcp23x17_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x7b844243 mcp23x08_regmap +EXPORT_SYMBOL_GPL drivers/pinctrl/pinctrl-mcp23s08 0x96266664 mcp23s08_probe_one +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x5f717d95 devm_reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x719ff450 reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x80a51b2e devm_reboot_mode_unregister +EXPORT_SYMBOL_GPL drivers/power/reset/reboot-mode 0x9b38fc59 reboot_mode_register +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0x56b260b5 bq27xxx_battery_update +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xcd6e325f bq27xxx_battery_setup +EXPORT_SYMBOL_GPL drivers/power/supply/bq27xxx_battery 0xeeb61b10 bq27xxx_battery_teardown +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x728491a5 pcf50633_mbc_get_usb_online_status +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x84c2fdd8 pcf50633_mbc_usb_curlim_set +EXPORT_SYMBOL_GPL drivers/power/supply/pcf50633-charger 0x96de7ae6 pcf50633_mbc_get_status +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x11ba2391 ptp_qoriq_init +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x2a974f37 ptp_qoriq_free +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x2eae82b0 ptp_qoriq_isr +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x4bf98eae ptp_qoriq_adjfine +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x875843b9 ptp_qoriq_adjtime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0x949dbb41 extts_clean_up +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xaccb26f9 ptp_qoriq_enable +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xb5b1bee3 ptp_qoriq_settime +EXPORT_SYMBOL_GPL drivers/ptp/ptp-qoriq 0xe5354241 ptp_qoriq_gettime +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x031451b7 mc13xxx_get_num_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x2f4c2fed mc13xxx_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x478c1030 mc13xxx_fixed_regulator_ops +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x4b692786 mc13xxx_parse_regulators_dt +EXPORT_SYMBOL_GPL drivers/regulator/mc13xxx-regulator-core 0x80082330 mc13xxx_fixed_regulator_set_voltage +EXPORT_SYMBOL_GPL drivers/regulator/rohm-regulator 0xe50af799 rohm_regulator_set_voltage_sel_restricted +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x02abed06 wm8350_dcdc25_set_mode +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x1f6a5ca8 wm8350_register_regulator +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0x90fe6743 wm8350_ldo_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xac435732 wm8350_dcdc_set_slot +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xc28610b4 wm8350_register_led +EXPORT_SYMBOL_GPL drivers/regulator/wm8350-regulator 0xdf9d5f07 wm8350_isink_set_flash +EXPORT_SYMBOL_GPL drivers/regulator/wm8400-regulator 0x65a2ef91 wm8400_register_regulator +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0x149236da qcom_glink_native_remove +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xf14f5684 qcom_glink_ssr_notify +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xf620ca8f qcom_glink_native_probe +EXPORT_SYMBOL_GPL drivers/rpmsg/qcom_glink 0xfd2d5a1d qcom_glink_native_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x03e412fb cxgbi_sock_closed +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x05ad0b1d cxgbi_iscsi_init +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x0fcb9f4a cxgbi_iscsi_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x1474fb2f cxgbi_sock_select_mss +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x14ad3769 cxgbi_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x22958633 cxgbi_conn_xmit_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x2934a231 cxgbi_get_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3154fbac cxgbi_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3580de00 cxgbi_sock_rcv_close_conn_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x3d04d242 cxgbi_parse_pdu_itt +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x40466e55 cxgbi_ep_disconnect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x44f502d7 cxgbi_device_register +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x507e7be2 cxgbi_hbas_add +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x53c7336d cxgbi_get_ep_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x57d7978e cxgbi_device_find_by_lldev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x5c0f4616 cxgbi_conn_tx_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x61f31970 cxgbi_device_portmap_create +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x651bffa5 cxgbi_conn_alloc_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x740069ed cxgbi_create_conn +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x743f6bd5 cxgbi_device_portmap_cleanup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7650c650 cxgbi_sock_rcv_peer_close +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7e10c8e1 cxgbi_sock_rcv_abort_rpl +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7e154d58 cxgbi_ddp_ppm_setup +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7f762a32 cxgbi_sock_skb_entail +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x7fdb6004 cxgbi_device_unregister_all +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8993e772 cxgbi_sock_free_cpl_skbs +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8acf6dc0 cxgbi_sock_established +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x8dd4e438 cxgbi_conn_pdu_ready +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9e9393ac cxgbi_hbas_remove +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0x9feb92d8 cxgbi_ep_poll +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa38ce989 cxgbi_ep_connect +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa52e4d5e cxgbi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xa7d8a93e cxgbi_set_host_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xad6ef75b cxgbi_sock_rcv_wr_ack +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xaf45ec50 cxgbi_get_conn_stats +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb232c889 cxgbi_sock_check_wr_invariants +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xb60c6c19 cxgbi_device_find_by_netdev_rcu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xbc9936a7 cxgbi_set_conn_param +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xc011af75 cxgbi_ddp_set_one_ppod +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd3f246e2 cxgbi_device_unregister +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xd4de3fca cxgbi_conn_init_pdu +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe0c054e4 cxgbi_sock_act_open_req_arp_failure +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xe4382100 cxgbi_device_find_by_netdev +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xef346615 cxgbi_attr_is_visible +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf82bd31e cxgbi_sock_fail_act_open +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xf8753bc0 cxgbi_sock_purge_wr_queue +EXPORT_SYMBOL_GPL drivers/scsi/cxgbi/libcxgbi 0xfff56fc8 cxgbi_bind_conn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4a233f67 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x54e9c5d0 fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5d0f57f2 fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5e0a5323 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x697cccda fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x6afbf386 fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7304472c fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8829ae7f fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x91d67f86 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x92655ac8 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x9f03dc7e fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xa8523c1f fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xac5adda0 fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xb6d5aa31 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbac58840 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc3f30cc0 fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xe9f5fba8 fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xeacf4a70 fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf167cb7a fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x1b9757cf fdomain_destroy +EXPORT_SYMBOL_GPL drivers/scsi/fdomain 0x377ef28e fdomain_create +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x09c35658 iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x4df1ff61 iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x68b500dd iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xc0ca96ab iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xe2fe1842 iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xe7f1d2c1 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0xea0551e6 iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0x09279ed6 fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x071e1e23 __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0845107f iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0eb7c4b0 iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x10e4c652 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x11b07afd iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x1b983b15 iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x20ea1e39 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x26b3f28b iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x310598ff iscsi_session_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x31c532af iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3279a819 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x36d85b62 iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x374101bd iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3b4ae85c iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3d246b9f iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3ee90fde iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3fad913d iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x439634fb iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x541ec7dc iscsi_host_get_max_scsi_cmds +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5ce7b23f iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5d49db2c iscsi_conn_unbind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5e3309a6 iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x63b33e5b iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7335794d iscsi_conn_queue_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7967ad7d iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x798588a9 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x79efe8bb iscsi_conn_queue_recv +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7a3cdb04 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7c2240cb iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d303b1b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9beb26c4 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa15dfb74 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa69d538e iscsi_suspend_rx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa857660b iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xadf37307 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc43841b6 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc950ea5b iscsi_session_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcac475a6 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcf86348a iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd2fb1745 iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd4ea63b6 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd7ab541e iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd8ab2156 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xdc2d48fb iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xde010c26 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe010c5c5 iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeab9cbd5 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xecccac78 iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xee115211 iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf699c0b1 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x08788fcc iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x21f45c0c iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2a7d7b8a iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2df71e49 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3ab4b2e2 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x4fba103d iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x52beee35 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5ca92fab iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5cdf1aaa iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x628f363a iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x78a5b9ba iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x794369e7 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x920b0d0a iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xa2f1552b iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb77006b3 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc677a0d0 iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xc75e4e67 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0b5696cd sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x161be600 sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x187986f4 sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x18ff7ab0 sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1cffa5d0 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x2affe4f0 sas_execute_internal_abort_single +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3639055d sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3bca18f9 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3e2f3fff sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x42eee7ef sas_clear_task_set +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4b378cef sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x56b50700 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x58872022 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x5a224fad sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x60cdabbf sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x6c1e0fe5 sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x8f064ea2 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9010d0e9 sas_notify_phy_event +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x99e7efc4 sas_lu_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa02e2364 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa1168af6 sas_abort_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa27af1df sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa7654ad0 sas_ata_schedule_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa9a32cea sas_abort_task_set +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xad8c735b sas_query_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xaf8b4e91 sas_execute_internal_abort_dev +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xba88dc69 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xc13e7497 sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xca92893d sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd8110d84 sas_execute_ata_cmd +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xdacb86a3 sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xdff1090b sas_notify_port_event +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe1041bd9 dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe4ba784a sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe5deb284 sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe97b8b77 sas_ata_wait_after_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf0623e25 sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_fc 0x6f51f78e fc_eh_should_retry_cmd +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0736dd10 __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0da2fec2 iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0ee62b12 __traceiter_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0f6dfe28 iscsi_add_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1ffc655d iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x217f05f9 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x270cc525 iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2f5ac1b9 __traceiter_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3785e561 __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3ac00234 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x43215a20 iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x450d2dd7 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4cb6f8f2 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x584324ea iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x584a31ab __SCK__tp_func_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5932f3cf iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5bfaa2c3 __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5e2d4e64 iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x64e46ae5 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6cf8b894 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6d723fa1 iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x6f57d5f5 iscsi_put_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x71b768b0 __SCK__tp_func_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x75066645 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7b6b964a iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7ef19582 iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84a005f1 iscsi_get_router_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x88768c48 __SCK__tp_func_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x89b239ec iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8a1c2027 iscsi_force_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x8c327922 iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x91114b99 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9319c724 iscsi_get_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x94224435 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9a30c91a iscsi_put_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9cd79886 __traceiter_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa0bb6509 iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa41ad167 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa58ea0cd iscsi_remove_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaa976bb3 __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xab4674c8 __SCK__tp_func_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb24b2ef9 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb3a8be6e __traceiter_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb721f94e iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc071179 iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc21e4017 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc65640b2 iscsi_alloc_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcbd0c84a iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcc7f806b iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd4e55f1e __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd6fb7e39 iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe3703b6f __traceiter_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe4c79fa6 __SCK__tp_func_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe55986db iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xea314d19 iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xeda37549 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf1d9c505 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf62a4dbb iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf8d4c7a2 iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfb736704 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x135df79d sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xa491a424 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xa723c60a sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xf6df35c9 sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x44f68b41 spi_populate_tag_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xcffa2aff spi_populate_width_msg +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x3fa51c86 siox_device_connected +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x7b0b1677 siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xd06fc804 siox_master_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xd99f39a7 siox_master_unregister +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xdcf78626 siox_master_alloc +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xec1b0136 __siox_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x05d465ba slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x07fd5f62 slim_do_transfer +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x0c9d55a8 slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x16f77b32 slim_msg_response +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x17a6ae1f slim_device_report_present +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x1a523d33 slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x1b603d47 slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x222fb3c7 slim_stream_disable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x42b4154c of_slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x4806237b slimbus_bus +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x4a897f56 slim_register_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x4b414ed9 slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x78d33d5e slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x8c289ab0 slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x93d8954c slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x98bb16c9 slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x98d1b84a slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x9c3e0f99 slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x9e6ea7c3 slim_get_logical_addr +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x9ee64ab2 slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xae93d3bd slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xb3cad7b6 slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xc7fca4c9 __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xcc3ae260 slim_writeb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd1fae58d slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xee09dfef slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x1440fbf3 sdw_unregister_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0x474d7f04 __sdw_register_driver +EXPORT_SYMBOL_GPL drivers/soundwire/soundwire-bus 0xcdb4004c sdw_bus_type +EXPORT_SYMBOL_GPL drivers/spi/spi-altera-core 0x9496e825 altera_spi_init_master +EXPORT_SYMBOL_GPL drivers/spi/spi-altera-core 0xb9edd149 altera_spi_irq +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x282b1f3d spi_bitbang_init +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x40e19675 spi_bitbang_setup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x55f86754 spi_bitbang_stop +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x7b1e76c0 spi_bitbang_start +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0x96f93bc0 spi_bitbang_cleanup +EXPORT_SYMBOL_GPL drivers/spi/spi-bitbang 0xd072e59b spi_bitbang_setup_transfer +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0x28955088 spi_test_run_test +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0xcc863002 spi_test_run_tests +EXPORT_SYMBOL_GPL drivers/spi/spi-loopback-test 0xcd99b7b8 spi_test_execute_msg +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x039b7792 spmi_ext_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x0f6ef16c __spmi_driver_register +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x287f5426 spmi_device_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x2c3bbaba spmi_register_zero_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x42a463aa spmi_register_read +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x4c321c7f spmi_ext_register_readl +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x519707f4 spmi_command_reset +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x61de90df spmi_command_shutdown +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x66b0d673 spmi_controller_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x8d02f335 spmi_register_write +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0x8e119931 spmi_device_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xa0294fcd spmi_ext_register_writel +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xa84393ce spmi_device_alloc +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xa919d2e0 spmi_command_sleep +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xb423c23f spmi_controller_remove +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xb8dc5618 spmi_controller_add +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xc63142d0 spmi_command_wakeup +EXPORT_SYMBOL_GPL drivers/spmi/spmi 0xef72c8e5 spmi_ext_register_write +EXPORT_SYMBOL_GPL drivers/ssb/ssb 0x722df3e1 ssb_pmu_spuravoid_pllupdate +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x1324b0ff anybuss_read_fbctrl +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x6cd4fc67 anybuss_send_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x8ce4e807 anybuss_set_power +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x8d16f568 anybuss_start_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0x9f3c27a2 anybuss_send_ext +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xaa97cf99 anybuss_recv_msg +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xaaf8c4a0 anybuss_read_output +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xc19526f3 anybuss_client_driver_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xca25aeae anybuss_write_input +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xcfaa0525 anybuss_finish_init +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xee8fa7f6 anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xf4f9b336 anybuss_client_driver_unregister +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xfcb658c7 devm_anybuss_host_common_probe +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/anybuss/anybuss_core 0xfce879ad anybuss_host_common_remove +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x65929d97 fieldbus_dev_register +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x7e78a712 fieldbus_dev_area_updated +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0x80820fef fieldbus_dev_online_changed +EXPORT_SYMBOL_GPL drivers/staging/fieldbus/fieldbus_dev 0xb7940618 fieldbus_dev_unregister +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x213e2856 gb_audio_apbridgea_start_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x27b1cc37 gb_audio_apbridgea_unregister_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x36eb010d gb_audio_apbridgea_shutdown_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x4be85d83 gb_audio_apbridgea_start_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x4f771693 gb_audio_apbridgea_stop_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x55b19d1c gb_audio_apbridgea_register_cport +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x5c1b4f82 gb_audio_apbridgea_prepare_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x87af2131 gb_audio_apbridgea_prepare_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0x94c37820 gb_audio_apbridgea_stop_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xaef6fd40 gb_audio_apbridgea_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xcc01dbf4 gb_audio_apbridgea_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xed5f6fbe gb_audio_apbridgea_shutdown_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-apbridgea 0xf5b83ac9 gb_audio_apbridgea_set_config +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x14d0ee53 gb_audio_gb_set_rx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x1a3969a8 gb_audio_gb_activate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x2990aa59 gb_audio_gb_disable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x2aa97708 gb_audio_gb_deactivate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x2e970042 gb_audio_gb_set_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x55261b24 gb_audio_gb_get_topology +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x87f95536 gb_audio_gb_set_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x8d356941 gb_audio_gb_deactivate_tx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0x9b186441 gb_audio_gb_get_pcm +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xaa1b2493 gb_audio_gb_enable_widget +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xaed18379 gb_audio_gb_get_control +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xbda577e1 gb_audio_gb_activate_rx +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-gb 0xef97bb54 gb_audio_gb_set_tx_data_size +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x06f960c1 gb_audio_manager_get_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x0a4e335b gb_audio_manager_put_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x19e9e6b1 gb_audio_manager_remove_all +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x32e6391e gb_audio_manager_remove +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x5a108b0f gb_audio_manager_add +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0x79eef2f8 gb_audio_manager_dump_all +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-audio-manager 0xaeac8ca2 gb_audio_manager_dump_module +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x41aaf665 gb_gbphy_deregister_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-gbphy 0x6a4faf29 gb_gbphy_register_driver +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0x8ce4dce0 gb_spilib_master_exit +EXPORT_SYMBOL_GPL drivers/staging/greybus/gb-spilib 0xc7c5e77e gb_spilib_master_init +EXPORT_SYMBOL_GPL drivers/staging/iio/addac/adt7316 0x90c42db0 adt7316_pm_ops +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x049a4687 target_init_cmd +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x15b5bd91 target_queue_submission +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x459937ac target_submit_prep +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0xc8176007 target_submit +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x01d23ee1 tb_property_create_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x0aa60665 tb_ring_poll_complete +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x0c7beb6f tb_ring_alloc_rx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x1956f838 tb_unregister_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x31a7cd0c __tb_ring_enqueue +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x393b4f2f tb_property_free_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x3cf4a987 tb_ring_free +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x3d78cbc4 tb_xdomain_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4bd82697 tb_xdomain_release_in_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4c82ba30 tb_ring_poll +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4e5064a7 tb_property_find +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x4e64bdfd tb_register_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x5e5ddffd tb_xdomain_enable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x603249ed tb_unregister_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x658e3d97 tb_property_add_immediate +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x68b37ca3 tb_xdomain_disable_paths +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x6a1b8ca0 tb_ring_start +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x73ad2acb tb_property_get_next +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x77c54867 tb_xdomain_request +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x785eb82c tb_property_remove +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x8b62f95e tb_property_add_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0x96adffbd tb_register_service_driver +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa3d2b403 tb_property_add_data +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa49ef1cd tb_xdomain_find_by_route +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa4a72934 tb_xdomain_release_out_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa7fd8588 tb_xdomain_lane_bonding_disable +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xa8a3e519 tb_xdomain_response +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb0b1b086 tb_ring_alloc_tx +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xb7c7cdce tb_property_add_text +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xc0c99686 tb_xdomain_lane_bonding_enable +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xc8f14ac7 tb_xdomain_alloc_in_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xc972e5fc tb_xdomain_find_by_uuid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xcf4f51ac tb_xdomain_alloc_out_hopid +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xd32721f1 tb_service_type +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf1cfd1ff tb_register_property_dir +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xf76028c7 tb_unregister_protocol_handler +EXPORT_SYMBOL_GPL drivers/thunderbolt/thunderbolt 0xfd5668a1 tb_ring_stop +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x04caa99d ufshcd_clkgate_delay_set +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x0501bd24 ufshcd_hba_enable +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x11101979 ufshcd_hold +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x19298084 ufshcd_release +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x196afb04 ufshcd_auto_hibern8_update +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x23edbcaa ufshcd_dme_set_attr +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x2e6bee2b ufshcd_dump_regs +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x4a28f0bc ufshcd_hba_stop +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x4e16c9ca ufshcd_dme_get_attr +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x504a9951 __ufshcd_suspend_prepare +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x6a833456 ufshcd_suspend_prepare +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x723b1abf ufshcd_delay_us +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x74f5fd97 ufshcd_fixup_dev_quirks +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x75c24bd1 ufshcd_uic_hibern8_exit +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x7a038b6d ufshcd_uic_hibern8_enter +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x8a15027d ufshcd_make_hba_operational +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x8e298e21 ufshcd_remove +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x93bc972b ufshcd_update_evt_hist +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x97dd2f5b ufshcd_dme_configure_adapt +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0x9a2e388c ufshcd_resume_complete +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xa9d09703 ufshcd_link_recovery +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xc0ae238e ufshcd_dealloc_host +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xc0b5941d ufshcd_config_pwr_mode +EXPORT_SYMBOL_GPL drivers/ufs/core/ufshcd-core 0xfde9581c ufshcd_init +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x01cfb509 ufshcd_pltfrm_init +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x54c946de ufshcd_init_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0x74f0a4ad ufshcd_pltfrm_shutdown +EXPORT_SYMBOL_GPL drivers/ufs/host/ufshcd-pltfrm 0xff85cd6b ufshcd_get_pwr_dev_param +EXPORT_SYMBOL_GPL drivers/uio/uio 0x0701b63b __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x388299f4 __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x968ddd35 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0xa35a6749 uio_event_notify +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x0ec27b48 usbatm_usb_disconnect +EXPORT_SYMBOL_GPL drivers/usb/atm/usbatm 0x610490ee usbatm_usb_probe +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x11ca2e18 cdns_remove +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x58b35a7b cdns_init +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x77588169 cdns_drd_gadget_on +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x861f344c cdns_resume +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x8859ce1a cdns_drd_gadget_off +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0x9865d480 cdns_power_is_lost +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0xb68cebb6 cdns_set_vbus +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0xe0d02d67 cdns_suspend +EXPORT_SYMBOL_GPL drivers/usb/cdns3/cdns-usb-common 0xe49846b0 cdns_clear_vbus +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x3a8edc2f hw_phymode_configure +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0x6273c878 ci_hdrc_add_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xb8be069e ci_hdrc_query_available_role +EXPORT_SYMBOL_GPL drivers/usb/chipidea/ci_hdrc 0xd8e9410e ci_hdrc_remove_device +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x1348af58 imx_usbmisc_init +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x32afb2f7 imx_usbmisc_init_post +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x53780a6e imx_usbmisc_set_wakeup +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x85a89e9b imx_usbmisc_hsic_set_connect +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x8725d56e imx_usbmisc_hsic_set_clk +EXPORT_SYMBOL_GPL drivers/usb/chipidea/usbmisc_imx 0x89017abc imx_usbmisc_charger_detection +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x09270133 ulpi_read +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x1a569a72 ulpi_register_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x1b632391 ulpi_write +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x2e1358da ulpi_unregister_interface +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0x85b29502 ulpi_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/common/ulpi 0xea924d01 __ulpi_register_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x083b03cf g_audio_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x19280814 u_audio_get_playback_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x1ceee29c g_audio_setup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x3d1e89fd u_audio_set_volume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x4196f84d u_audio_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x5bd7e285 u_audio_start_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x6c163583 u_audio_start_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x72c680eb u_audio_stop_capture +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x7e36a201 u_audio_set_capture_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x88049896 u_audio_get_mute +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0x881dda83 u_audio_set_mute +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xa07ef292 u_audio_get_volume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xc63568be u_audio_stop_playback +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xc698ad24 u_audio_get_capture_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_audio 0xc7225358 u_audio_set_playback_srate +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x011cd17d gether_get_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x09f8ccbf gether_set_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x0b353cb9 gether_set_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x62e208c6 gether_set_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x65a04faf gether_get_qmult +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x65a3efa0 gether_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x69b2955f gether_set_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x6c20d3f9 gether_setup_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x7da2f179 gether_setup_name_default +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x804a805f gether_register_netdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x8253c5c6 gether_get_host_addr_u8 +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x872158a3 gether_get_host_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0x8878cfa6 gether_cleanup +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xaf432d78 gether_get_dev_addr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xebd912fb gether_get_host_addr_cdc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xf9b01cf2 gether_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_ether 0xff88c995 gether_set_ifname +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x33bfdca2 gserial_alloc_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x46ba5d2a gserial_resume +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x4a3df9d0 gs_alloc_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x60db48f5 gserial_get_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x60ea48a0 gs_free_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0x6740070b gserial_suspend +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xb6652875 gserial_free_line +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xc0a01527 gserial_set_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xc22ad6d4 gserial_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xcba6a10e gserial_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/u_serial 0xe89dc424 gserial_alloc_line_no_console +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x1f1383f6 ffs_lock +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x3299bc3a ffs_single_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_fs 0x928373de ffs_name_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x02c6e5e9 fsg_show_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x0bbb63bd fsg_store_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x141fce2a fsg_common_remove_luns +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1710b539 fsg_fs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x1ccb58f7 fsg_common_set_num_buffers +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x2933ee1d fsg_ss_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x398778e1 fsg_ss_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x3a532620 fsg_store_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x3c6a07d0 fsg_common_create_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x423845e4 fsg_ss_bulk_in_comp_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x4c328f2c fsg_store_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x56344daf fsg_hs_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x58ad6345 fsg_store_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x58c5266c fsg_show_removable +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x5ec9f0db fsg_show_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x6acb4179 fsg_common_set_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7c22786d fsg_store_cdrom +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x7e26d4a5 fsg_common_set_sysfs +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x857b6dc2 fsg_hs_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x95cffb3e fsg_hs_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x9a0221c7 fsg_common_free_buffers +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0x9a3f5d8c fsg_store_file +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa5cae92f fsg_ss_bulk_out_comp_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xa5f99b69 fsg_fs_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xaac83f6b fsg_lun_close +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xab6c68ac fsg_config_from_params +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb3adf38d store_cdrom_address +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb52ba28a fsg_intf_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb54d0d95 fsg_fs_bulk_in_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xb935ba61 fsg_common_set_cdev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xc0e98af3 fsg_lun_fsync_sub +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xceeb57fc fsg_show_inquiry_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xd1a3e8e0 fsg_common_create_luns +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xe24a7b37 fsg_lun_open +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xe7fd631c fsg_show_ro +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xf24a3643 fsg_common_remove_lun +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xf3cd7ac1 fsg_show_nofua +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_mass_storage 0xf4efc0c8 fsg_ss_bulk_out_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x0dac10d7 rndis_set_param_medium +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x0f4fab64 rndis_add_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x1c5be088 rndis_borrow_net +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x1c62011c rndis_signal_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x237fc721 rndis_rm_hdr +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x4393bf56 rndis_set_param_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x65314860 rndis_msg_parser +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x8da3b6d9 rndis_free_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0x9e8224fc rndis_uninit +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xa5bc2cb0 rndis_set_host_mac +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xbdfb096a rndis_set_param_vendor +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xd9c6bc07 rndis_signal_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xd9e61369 rndis_get_next_response +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xdff0ba87 rndis_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/function/usb_f_rndis 0xedc4bc1f rndis_deregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0166d65a usb_add_config_only +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0c589aba usb_validate_langid +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x0cb7e477 usb_ep_autoconfig_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x1423cb27 usb_put_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x1b1ddfdf usb_string_ids_tab +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x1b909113 config_ep_by_speed +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x21ce7539 usb_add_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x27a0f707 usb_string_ids_n +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x29396955 usb_assign_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2e09263f usb_copy_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x2f07f99e usb_composite_setup_continue +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x48dc661d usb_function_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4beb505d usb_gadget_get_string +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x4d92043d usb_otg_descriptor_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x55d054ce usb_ep_autoconfig +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x5656451c usb_function_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x6a5de41c usb_add_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x705b6367 usb_function_register +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7f6edffe usb_interface_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x7fb62ba0 usb_composite_unregister +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8970868b usb_remove_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8ac7cae3 usb_free_all_descriptors +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x8cb0e2cb usb_put_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x90064b5f unregister_gadget_item +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x919ead19 usb_get_function +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0x93b426a5 usb_composite_overwrite_options +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xa9b62a9b usb_gstrings_attach +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xb775db55 alloc_ep_req +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xc4375e38 usb_string_id +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd2ea2134 usb_descriptor_fillbuf +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd71993de usb_otg_descriptor_alloc +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xd8418d4d config_ep_by_speed_and_alt +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xda0855af usb_ep_autoconfig_ss +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xdf9cfe86 usb_get_function_instance +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xe0605c8b usb_ep_autoconfig_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xe13c01f2 usb_function_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf2eee1c5 usb_composite_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/libcomposite 0xf474a207 usb_gadget_config_buf +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x0db762f5 init_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x2cb6b82e udc_remove +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x3c7f2d2c udc_mask_unused_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x3fdb9fd4 udc_probe +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x5d01d078 udc_irq +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x69854acd udc_basic_init +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0x9f1fb58d free_dma_pools +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xb523e2d9 udc_enable_dev_setup_interrupts +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xee4b8d00 gadget_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/snps_udc_core 0xf0df34f7 empty_req_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x01b12bfb usb_ep_free_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0a8c3b4b usb_ep_set_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0acfe2e7 usb_ep_set_wedge +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x0d90d784 usb_ep_fifo_flush +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x145d3d75 usb_gadget_check_config +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x190e903f usb_add_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x208ae892 usb_gadget_vbus_draw +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x2936040a usb_del_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x2abfdb72 usb_gadget_register_driver_owner +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x3192f3c7 usb_gadget_vbus_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x3a46d95c usb_gadget_udc_reset +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x3a8d1fa8 usb_gadget_vbus_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x49d9f030 usb_ep_fifo_status +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x4ba86c2e usb_gadget_unmap_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x506ab3a9 usb_ep_queue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x50b88f41 usb_get_gadget_udc_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x548c34d5 usb_gadget_activate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x5fc294ef usb_ep_clear_halt +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x656c34e5 usb_initialize_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x6a2e3c29 usb_add_gadget_udc_release +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x773b587a usb_add_gadget +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7a41b9f2 usb_ep_set_maxpacket_limit +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7be89624 usb_gadget_giveback_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7de3c5e9 usb_gadget_ep_match_desc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x7f31e957 gadget_find_ep_by_name +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x8231705f usb_gadget_unmap_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x87673b1d usb_del_gadget_udc +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x882077d5 usb_ep_dequeue +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x8e90ee20 usb_gadget_deactivate +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9dc48819 usb_gadget_connect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0x9eb52803 usb_ep_disable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa57f51b0 usb_gadget_set_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa801366c usb_gadget_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xa9e74462 usb_ep_alloc_request +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xaf201fa6 usb_ep_enable +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xb3a2268d usb_udc_vbus_handler +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xbd12bf78 usb_gadget_clear_selfpowered +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc3e0f424 usb_gadget_map_request_by_dev +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc40e82ae usb_gadget_disconnect +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xc4560c74 usb_gadget_set_state +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xcb44cf9d usb_gadget_frame_number +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xda85332f usb_gadget_wakeup +EXPORT_SYMBOL_GPL drivers/usb/gadget/udc/udc-core 0xdf57aeb3 usb_gadget_map_request +EXPORT_SYMBOL_GPL drivers/usb/host/xhci-pci-renesas 0xa483deb7 renesas_xhci_check_request_fw +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x209168e8 ezusb_fx1_set_reset +EXPORT_SYMBOL_GPL drivers/usb/misc/ezusb 0x723d7e44 ezusb_fx1_ihex_firmware_download +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x37213b49 usb_ftdi_elan_edset_single +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0x4d72bde6 usb_ftdi_elan_edset_empty +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xba8ad552 ftdi_elan_gone_away +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xcb570847 usb_ftdi_elan_edset_input +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xdaf3191a usb_ftdi_elan_read_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xddb0cd6c usb_ftdi_elan_edset_flush +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xe45dfcc5 usb_ftdi_elan_edset_output +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xfaf2ec08 usb_ftdi_elan_write_pcimem +EXPORT_SYMBOL_GPL drivers/usb/misc/ftdi-elan 0xfe3dc08b usb_ftdi_elan_edset_setup +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x09492220 musb_mailbox +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x0b4a8834 musb_writeb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x2734197f musb_readb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x669594ad musb_clearw +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x6af8c6dc musb_writel +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x70c5ed0d musb_interrupt +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x719a5e41 musb_readw +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0x94a7443a musb_root_disconnect +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xa2d4a817 musb_set_host +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xac94d554 musb_set_peripheral +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xade3e56c musb_writew +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xc65e088b musb_queue_resume_work +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xc7919a0c musb_get_mode +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xe59efb0e musb_clearb +EXPORT_SYMBOL_GPL drivers/usb/musb/musb_hdrc 0xf0f95e51 musb_readl +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x0628804c usb_phy_generic_register +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x30c6e755 usb_gen_phy_init +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x336cb177 usb_gen_phy_shutdown +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0x78068673 usb_phy_generic_unregister +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-generic 0xfccc1e7c usb_phy_gen_create_phy +EXPORT_SYMBOL_GPL drivers/usb/phy/phy-isp1301 0x2e068338 isp1301_get_client +EXPORT_SYMBOL_GPL drivers/usb/serial/usb_wwan 0xca0191b9 usb_wwan_port_probe +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x02b23698 usb_serial_generic_write_start +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x125c0d57 usb_serial_generic_process_read_urb +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x3994b721 usb_serial_generic_tiocmiwait +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x3a998a1c usb_serial_claim_interface +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x417e118d usb_serial_generic_wait_until_sent +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x55837c67 usb_serial_generic_submit_read_urbs +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x58c8e21f usb_serial_generic_read_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x69bc96d1 usb_serial_generic_unthrottle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x74379816 usb_serial_generic_resume +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x7c4c0cb1 usb_serial_generic_write +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x90e7a860 usb_serial_generic_get_icount +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0x95bbf0d7 usb_serial_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa1669b75 usb_serial_generic_throttle +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xa7de8a19 usb_serial_deregister_drivers +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xb139a91b usb_serial_generic_write_bulk_callback +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xdae1a36d usb_serial_port_softint +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xe842cc46 usb_serial_generic_chars_in_buffer +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xedbaaa57 usb_serial_generic_close +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf2ec91be usb_serial_generic_open +EXPORT_SYMBOL_GPL drivers/usb/serial/usbserial 0xf8bd6efc usb_serial_register_drivers +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x80cb2691 dp_altmode_remove +EXPORT_SYMBOL_GPL drivers/usb/typec/altmodes/typec_displayport 0x9e0c3709 dp_altmode_probe +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x69ebf34b tcpci_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0x6f497a3c tcpci_irq +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xbe111953 tcpci_get_tcpm_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpci 0xc529e32e tcpci_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x10ec6d2d tcpm_sink_frs +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x3b84657b tcpm_pd_transmit_complete +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x76eeda4b tcpm_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x90eb7384 tcpm_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0x9e0bd753 tcpm_pd_hard_reset +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xb655342c tcpm_pd_receive +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xc37b9769 tcpm_cc_change +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xceb50012 tcpm_vbus_change +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xea220941 tcpm_tcpc_reset +EXPORT_SYMBOL_GPL drivers/usb/typec/tcpm/tcpm 0xeb779665 tcpm_sourcing_vbus +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x04864950 typec_switch_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0b393782 typec_port_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0bee4a0b typec_altmode_unregister_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x0c2cf654 typec_unregister_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x11828e5d typec_altmode_put_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x153bdad9 typec_match_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x17866eea typec_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1903ba28 typec_unregister_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x1b4761cc typec_mux_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x24870a05 typec_partner_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x25181590 typec_partner_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x259d1320 typec_register_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2ba709f7 typec_cable_is_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2bbc6a58 typec_set_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2d1e301d typec_find_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x2e4e71fc typec_cable_set_identity +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x32288290 typec_altmode_get_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3e3b3d45 typec_plug_set_num_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x3f8193bb typec_set_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x47120ab0 __typec_altmode_register_driver +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x48053d64 typec_altmode_vdm +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x4dc02684 typec_get_fw_cap +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x5188b3c3 typec_register_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x525765b4 typec_altmode2port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6b3d9465 typec_mux_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x6ee22872 typec_set_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7b51eb77 typec_set_vconn_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x7ea734ce fwnode_typec_mux_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x80dafcf4 typec_altmode_notify +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x86521d45 typec_switch_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8b976191 typec_get_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8d09a08e typec_switch_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8ee20e1e typec_unregister_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x8f0a998a typec_switch_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x9049491e typec_find_port_data_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x93493c87 typec_unregister_cable +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x93ab453e typec_switch_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0x956f91f5 typec_mux_register +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa106d825 typec_register_port +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa254de98 typec_find_orientation +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa5c95e59 typec_mux_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xa907eddc typec_mux_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xac0afc23 typec_altmode_update_active +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xac66e0f6 typec_get_negotiated_svdm_version +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb3ac4a63 typec_set_pwr_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xb6d535be typec_port_register_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xbde34081 typec_unregister_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xc3518462 typec_altmode_exit +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xcf961782 typec_register_partner +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd2fa1286 typec_switch_set +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd4e8cf31 typec_plug_register_altmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd6ca5844 typec_altmode_enter +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xd950cdea fwnode_typec_switch_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xda05dcd1 typec_partner_set_svdm_version +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xdc01a206 typec_altmode_get_plug +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xe84f7209 typec_cable_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xea681692 typec_partner_set_pd_revision +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xeafc1eb8 typec_find_port_power_role +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xed2c5b4d typec_cable_get +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf037951b typec_partner_set_num_altmodes +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf1234a8b typec_find_pwr_opmode +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xf8f831b7 typec_altmode_attention +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xfc8df340 typec_mux_put +EXPORT_SYMBOL_GPL drivers/usb/typec/typec 0xfe2503a0 typec_set_mode +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x065d5ac9 ucsi_connector_change +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x1b80169d ucsi_get_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x413d8806 ucsi_set_drvdata +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x4632b7d9 ucsi_create +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x6116adef ucsi_send_command +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x6a4e9c6a ucsi_destroy +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x6f1daab1 ucsi_unregister +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x7ddad555 ucsi_resume +EXPORT_SYMBOL_GPL drivers/usb/typec/ucsi/typec_ucsi 0x9bd59a32 ucsi_register +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x17872755 usbip_in_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x21d0bfe1 usbip_event_add +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x2ef06bbe usbip_start_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x313a8049 usbip_event_happened +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x40f17803 dev_attr_usbip_debug +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x56a63655 usbip_recv +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x60b69c82 usbip_dump_urb +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x64d296a0 usbip_recv_xbuff +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x7125b060 usbip_stop_eh +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x78b72f44 usbip_debug_flag +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0x8ca44bb7 usbip_alloc_iso_desc_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xa21862cc usbip_pack_pdu +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xd02753dc usbip_header_correct_endian +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe1ea0586 usbip_dump_header +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xe33b0493 usbip_pad_iso +EXPORT_SYMBOL_GPL drivers/usb/usbip/usbip-core 0xef8fa788 usbip_recv_iso +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x06bfe19a __vdpa_alloc_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x0b97e839 vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x0da76433 _vdpa_register_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x0f565f25 vdpa_set_config +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x30884232 vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x4a824cdd __vdpa_register_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x98af7c8e vdpa_mgmtdev_register +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x993e62f4 vdpa_unregister_driver +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0x9dad4dc6 _vdpa_unregister_device +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xca1551da vdpa_get_config +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa 0xdb447466 vdpa_mgmtdev_unregister +EXPORT_SYMBOL_GPL drivers/vdpa/vdpa_sim/vdpa_sim 0x923a032b vdpasim_create +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0x6beab59b mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x04af26e9 vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x2b8071d2 vhost_poll_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x32caae7d vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3a83b9e4 vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3a914e6b vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3c571e5c vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3dd5a00b vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x3f8d2b9f vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x480a7efd vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x4abdc33d vhost_vring_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x512e877d vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5173dd83 vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x568764b6 vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5bb367f2 vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5f50a965 vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x61b21bed vhost_disable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6fa0422f vhost_poll_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x79608f0b vq_meta_prefetch +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x80b9da6d vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x86570caa vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8af2da61 vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8eb9384a vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x9236b462 vhost_dev_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x93ee29c3 vhost_set_backend_features +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x959ba5de vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x97d28e5b vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x99078ca5 vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x9953b1f1 vhost_work_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa798dc20 vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa909cfc5 vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xabeab1de vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb8bca10b vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc0a09d86 vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc4373950 vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xdba86a9c vhost_clear_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xdc6dcd1e vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe314ab8f vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe386e25c vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf2161708 vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf8dd128f vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf9b08a55 vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfd2b3e45 vhost_dev_reset_owner_prepare +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x38ff875f vhost_iotlb_add_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x69e872f9 vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x83be64b9 vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x885512a2 vhost_iotlb_add_range_ctx +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x8a7d8ee9 vhost_iotlb_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xa24517eb vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xc577832d vhost_iotlb_alloc +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xf9deb0db vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x1e5cf266 ili9320_probe_spi +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x269e98ee ili9320_remove +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x29e52800 ili9320_write_regs +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x46b41897 ili9320_write +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x5830ad7c ili9320_shutdown +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0x5c5747d4 ili9320_suspend +EXPORT_SYMBOL_GPL drivers/video/backlight/ili9320 0xd0f45333 ili9320_resume +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_ddc 0x487c786b fb_ddc_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x8a0129fe fb_sys_read +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0xb924f22e fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0x4edcec81 sis_free_new +EXPORT_SYMBOL_GPL drivers/video/fbdev/sis/sisfb 0xcc52d083 sis_malloc_new +EXPORT_SYMBOL_GPL drivers/w1/wire 0x4b523986 w1_reset_resume_command +EXPORT_SYMBOL_GPL drivers/w1/wire 0x5204771d w1_write_8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x63757e92 w1_calc_crc8 +EXPORT_SYMBOL_GPL drivers/w1/wire 0x6f8d7d7f w1_reset_select_slave +EXPORT_SYMBOL_GPL drivers/w1/wire 0x7a446d98 w1_triplet +EXPORT_SYMBOL_GPL drivers/w1/wire 0x93ff2bdf w1_touch_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xaec74082 w1_next_pullup +EXPORT_SYMBOL_GPL drivers/w1/wire 0xb1ef76eb w1_write_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xb358ca54 w1_reset_bus +EXPORT_SYMBOL_GPL drivers/w1/wire 0xc5edca47 w1_read_block +EXPORT_SYMBOL_GPL drivers/w1/wire 0xe8e93ff8 w1_touch_bit +EXPORT_SYMBOL_GPL drivers/w1/wire 0xfabc0683 w1_read_8 +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4b62826c dlm_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4df81266 dlm_posix_get +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x647d6170 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x8dc355ea dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xa50b0135 dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcd224e1d dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x143d7b79 nlmclnt_done +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x26a44c84 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x629bf6c9 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x95a47295 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xa2a1e28a nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf11bafe1 nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xf157d657 lockd_up +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x031f2e52 nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03be72a1 nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03eacb8c nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x04ae142b nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x06734c45 nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x06d18319 nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0a5660e2 nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0d246a6b nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0d2e974d nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0d4ae2ae nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0e1b0511 __traceiter_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0f4fe979 nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0fd1669a nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1298b380 nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x16f8854e nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1bdaf897 nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1c5c0e16 nfs_set_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1d210eed nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1d7b69de nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1f2fc836 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2144f875 nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x21b75428 put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x220b84d2 nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22d795a8 _nfs_display_fhandle_hash +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2344f23a nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x24a886b2 nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2667f673 alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2684302f nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26884ff7 nfs_alloc_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26ef7d85 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x27a143ba nfs_file_set_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x29e88eb5 nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2a43b2ff nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2c022ed2 nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2d474ad9 nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2ea24a39 nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x30496988 __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x31c9215a register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x34208a65 get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x34f537bf nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x38bdc9bc nfs_mkdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39346750 nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3da9d921 nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3ee1369b nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3f2690f2 nfs_check_flags +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40739385 nfs_wait_bit_killable +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x409072c6 nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40aa6651 nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f2c81f nfs4_client_id_uniquifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4322ac7a nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x443c36d0 nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x44cc3a41 __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4684f920 nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4843e35f nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x496cd91e nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4bb1c9e4 nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4c484b95 nfs_d_prune_case_insensitive_aliases +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb75d0f nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb9e001 recover_lost_locks +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4de9b845 nfs_check_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x501f1955 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x50978465 nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51892d61 nfs_callback_set_tcpport +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x54c16be0 nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x56c37297 nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x57f1d610 nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x59923eb3 __tracepoint_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5a1a06f3 nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5b90e2f7 __traceiter_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5bf136c8 nfs_probe_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5bf98fc1 nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5d09d4da nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5d4acadb nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x64fccb81 nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x655d95cd nfs_wait_client_init_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x69c21d0f nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e484ef9 nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e6dc0c4 nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e81f032 __SCK__tp_func_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6fd164d1 nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x71fef14c nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x73dff4c0 __SCK__tp_func_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x75a21f92 nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x76e0db1e nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x77f84153 nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7c9722ba nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7d3a81e2 nfs_flock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7e04c658 nfs_alloc_fattr_with_label +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7e398c23 nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x80f1da05 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8154e525 nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x82298d02 nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x82eb237d nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8445207d nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8499de4f nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x87890cb8 nfs_clear_verifier_delegated +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8a7d49a4 nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8c8f1c29 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8f48472c nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90a5530f nfsiod_workqueue +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90b12a33 nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90cf5f46 nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x91d1fe52 max_session_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x94cb7c3c nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x94e354f1 __traceiter_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x95007f7e __SCK__tp_func_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9757b4c9 nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98b0ece8 nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9a31e765 nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9e0ebe9e nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9f2363ff nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa0db8b59 nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa19af59c nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa48d4fab nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa64f3232 nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa73ed2e7 nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8e9e1ae send_implementation_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaafc130b nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaafd4acc max_session_cb_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xacbbf524 nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb438a5dd nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb7d838b8 nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xba2c9d8d nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbaa7e201 nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbabafb76 nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbfda1c62 nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc1b6764c nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc1dfce85 nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a12ca1 nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a2be67 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3abe457 nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc6c8b8f1 nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc8bd22da nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc8c80b42 nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcd92ce53 nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcf0d086b nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd298439f nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd36d4a29 nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd380a56b nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd4081ae7 nfs_access_get_cached +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd5d47a45 nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd70143bf nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdaaca661 __traceiter_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdae9b5d7 nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdb003b21 nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdbff4bd7 nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdfcecc98 nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe160e173 unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe1dd484c nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe6206283 nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe70507df __tracepoint_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf33e1313 nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf3c3d315 nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf4345092 nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf96f04c4 __SCK__tp_func_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfa742864 nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfaacdaf1 nfs_write_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc619abd _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfca4849a nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfec2f525 nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xff091081 nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xff641d2f nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0x4b5fbdc8 nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0678965c nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x08b2c467 __SCK__tp_func_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0ab70530 pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0aebca68 __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0f01076e __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0ff289f3 __SCK__tp_func_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x104eb376 pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x157895f0 __traceiter_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1adaf0a8 pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1c9565e7 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1ceadd10 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1e863de3 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1eb00312 __traceiter_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x21e9191c nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x27ad47ea __SCK__tp_func_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2934411b __traceiter_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2b8730a7 pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x304a9bb7 nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x30a44ac3 __SCK__tp_func_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3191bacb pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x324a722f __traceiter_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x32bb6e05 __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x32be9ff1 __traceiter_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x34233ae1 nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x348efa5c pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x36cb1281 pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3b32c5d6 pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3b369e76 pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3bc77139 nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3be65ee8 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x51fdbe6f nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x533c198f __SCK__tp_func_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x578f23f5 nfs4_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x579126b8 __SCK__tp_func_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x58c15c4c nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5a4314e9 __SCK__tp_func_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5ce462a3 __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5dcf5ba2 nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5e9122ca pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5ea3f9a6 __traceiter_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5f551825 pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6085edbd nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x60fa795a pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x64df2f1c __traceiter_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x65760af0 nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x68b37e99 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6aa42ef9 nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6ab52197 pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6d20a525 pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6e45996c __traceiter_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x74380d7e __traceiter_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x785c06ab __SCK__tp_func_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7a4e7f4e __SCK__tp_func_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7ab7bcc6 __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7b851cf5 pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7cb3a0a3 pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7cd013a8 __SCK__tp_func_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7d9f24e7 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x81a5fde4 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x81bffeb4 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x82409884 __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8444c5c5 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x879ef960 __traceiter_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x95748846 pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x965800e2 pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x974a1614 __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x98063603 __traceiter_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x99d4dbdc nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9a1a74c3 __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9fb03e37 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa11d6313 pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa3c5cb6e pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa92841c3 __traceiter_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xaefef0bf pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb43e6188 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xba53a1ef __SCK__tp_func_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbb2e1101 nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbc874b91 pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc4f345ee pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc7a9d954 __SCK__tp_func_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc8f7e3ef nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcaa4497f nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcf29b95f __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd0ecfaad __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd6a05f7a nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd752c0cb pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd8f8f182 pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd9675d20 pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xda53fe80 __traceiter_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdb55a837 nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdd2818f2 nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdf4c8119 pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdf6991a4 __SCK__tp_func_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe19f5ee0 __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe4b42dfe nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe5951c7a pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe8ad5c54 pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xeae8522f __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed691ee2 pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xede41327 __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf07db925 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf3c6fa9d nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf403d4f7 nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf507c9c8 nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf5f44ba8 pnfs_error_mark_layout_for_return +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf7801360 nfs41_maxgetdevinfo_overhead +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf999267e pnfs_generic_commit_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf9f0464e pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1ba1c3d2 opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x62f0d8f0 locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0xb13e37cb locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x0a621f60 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x74bc78b7 nfs_stream_decode_acl +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xa2736be9 nfs_stream_encode_acl +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xc5f97287 nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0xd95ee966 nfsd4_ssc_init_umount_work +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x5602b6ae o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x58c88ff2 o2hb_get_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x59ddb9b9 o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x5cc885c0 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x5e95a4b2 o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6a0c3847 __mlog_printk +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x72f912a7 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7e79626d o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x9b7b029e o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb6dff996 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb6ebf62a o2nm_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbd13ee5d o2hb_check_node_heartbeating_no_sem +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc4d99852 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd859ac8c o2net_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf56c2017 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf982e6db o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xfe1298f3 o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x145d8bfc dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x1dd088a6 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x1eb699a9 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x247b3fc8 dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x4616a4ea dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x5ff19bea dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0a726931 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0cfd3fc5 ocfs2_cluster_connect_agnostic +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x1475f64b ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x29bde4a0 ocfs2_kset +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x59010678 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x76f40744 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x9507547f ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xaf969565 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xc5196999 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xc9fae756 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xcafdd707 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd344e4ee ocfs2_stack_glue_set_max_proto_version +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd806a273 ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xea733250 ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xfb978fba ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x3e8c6c70 register_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x402eee6b unregister_pstore_device +EXPORT_SYMBOL_GPL fs/pstore/pstore_blk 0x43cc3d4b pstore_blk_get_config +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x46dab9b8 unregister_pstore_zone +EXPORT_SYMBOL_GPL fs/pstore/pstore_zone 0x8ab8cf12 register_pstore_zone +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_arc4 0xabd9af6d cifs_arc4_crypt +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_arc4 0xc4c73891 cifs_arc4_setkey +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0x798f3830 cifs_md4_init +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0xceecd9e4 cifs_md4_final +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0xdef1096d cifs_md4_update +EXPORT_SYMBOL_GPL lib/842/842_compress 0xcf048a91 sw842_compress +EXPORT_SYMBOL_GPL lib/842/842_decompress 0xa4adedf1 sw842_decompress +EXPORT_SYMBOL_GPL lib/bch 0x0c303f52 bch_encode +EXPORT_SYMBOL_GPL lib/bch 0x0d3e3481 bch_free +EXPORT_SYMBOL_GPL lib/bch 0x1a267fa8 bch_init +EXPORT_SYMBOL_GPL lib/bch 0x860a2eab bch_decode +EXPORT_SYMBOL_GPL lib/crc4 0x696b3a5a crc4 +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x0105b595 des_encrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x574eda34 des3_ede_decrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x856a5ef3 des3_ede_encrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa6aa9857 des_decrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa77b3b62 des3_ede_expand_key +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa8fb743d des_expand_key +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x31d4e581 poly1305_init_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0xd7219de2 poly1305_update_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0xf3945fcd poly1305_final_generic +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x4e512416 notifier_err_inject_dir +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x6197f24f notifier_err_inject_init +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x1803a6ed raid6_2data_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x804a5b70 raid6_call +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0xe4b051cf raid6_datap_recov +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x1d29b9e1 decode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x561835eb init_rs_non_canonical +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0x63adbf92 encode_rs8 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xa32f3d9e decode_rs16 +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xeb2f825c init_rs_gfp +EXPORT_SYMBOL_GPL lib/reed_solomon/reed_solomon 0xfd581da1 free_rs +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x01f3248e lowpan_header_decompress +EXPORT_SYMBOL_GPL net/6lowpan/6lowpan 0x071186e3 lowpan_header_compress +EXPORT_SYMBOL_GPL net/802/garp 0x5b0cf2fb garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x92acf725 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0xa1f8d155 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/garp 0xc23aab08 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xdfd8c61a garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0xf23c958b garp_init_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x1b305cf9 mrp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0x27d2ac44 mrp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0x3f4d93fd mrp_request_leave +EXPORT_SYMBOL_GPL net/802/mrp 0x90adcab7 mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0xdf4f0cdc mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0xec348eea mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/stp 0x5e68d19b stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0xeb90a5d3 stp_proto_unregister +EXPORT_SYMBOL_GPL net/9p/9pnet 0x30c77c1c p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/9p/9pnet 0x41336510 p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/atm/atm 0xb09faf79 register_atmdevice_notifier +EXPORT_SYMBOL_GPL net/atm/atm 0xcfb6a3da unregister_atmdevice_notifier +EXPORT_SYMBOL_GPL net/ax25/ax25 0x67508396 ax25_register_pid +EXPORT_SYMBOL_GPL net/ax25/ax25 0xac93ae05 ax25_bcast +EXPORT_SYMBOL_GPL net/ax25/ax25 0xaeb7451e ax25_defaddr +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x0b0cb8fb l2cap_chan_create +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x0d88f3b6 l2cap_chan_send +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x34c6dde6 l2cap_chan_put +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0x799ec1d7 l2cap_chan_list +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xa36d2169 l2cap_chan_connect +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xc7ef89d0 l2cap_add_psm +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xe7d933cd l2cap_chan_del +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xf2f2c77d bt_debugfs +EXPORT_SYMBOL_GPL net/bluetooth/bluetooth 0xfa97ccb6 l2cap_chan_set_defaults +EXPORT_SYMBOL_GPL net/bluetooth/hidp/hidp 0x254c8578 hidp_hid_driver +EXPORT_SYMBOL_GPL net/bridge/bridge 0x01236512 br_mst_get_state +EXPORT_SYMBOL_GPL net/bridge/bridge 0x01ba516b br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0x064a6016 br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0x0821b3c4 br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x097b29c6 br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x193a962e br_vlan_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x218e6f9c br_mst_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x2c9f9585 br_multicast_has_router_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x40acdd74 br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x427a8848 br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x44853304 br_vlan_get_info_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7341631b br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7d804093 br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x8fdda216 br_mst_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x9db04038 br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0xa5719470 br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/bridge/bridge 0xadb79f44 br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0xb0a54ef7 br_port_get_stp_state +EXPORT_SYMBOL_GPL net/bridge/bridge 0xbc712016 br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0xc037c0a2 br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/bridge/bridge 0xde9bbbdd br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0xe090bcb3 br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0xe53de89f br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0xf15a67c3 br_get_ageing_time +EXPORT_SYMBOL_GPL net/bridge/bridge 0xff658430 nf_br_ops +EXPORT_SYMBOL_GPL net/core/failover 0x2698f1ee failover_slave_unregister +EXPORT_SYMBOL_GPL net/core/failover 0x673dcdeb failover_unregister +EXPORT_SYMBOL_GPL net/core/failover 0xa6a0b8bc failover_register +EXPORT_SYMBOL_GPL net/dccp/dccp 0x005b7eed dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0f66698b dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1caff75d dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1eddd2fd dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2185d03e dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2690b9f8 dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x33aad52b dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0x34ad8769 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x38b0e4f0 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3b4e23c2 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x40953268 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x481c1e46 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x499e74d1 dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5265eca7 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5267124b dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5450208f dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5933acc9 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5d1bafe0 dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x5f5dc195 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x6ecfaa09 dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x80993155 dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x8f8a2299 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9452b4a0 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9d914a4c dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xafb2e76e dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb03a33ee inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0xbd7784e2 dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0xc9d59a84 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd7071615 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd75b7072 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd8b2961f dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xdd63a480 dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe27d8aca dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf048a563 dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf14a36f8 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x062b9724 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x0721e914 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x909b1609 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x951cd9b1 dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x9c417d9b dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xcd573f0f dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x00ee6202 dsa_register_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0820e30a dsa_devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0c6039ac dsa_flush_workqueue +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x0e42b4b9 dsa_tag_8021q_bridge_leave +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x23980ffd dsa_devlink_port_region_create +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x27beab91 dsa_tag_drivers_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x2d62f786 dsa_unregister_switch +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x3094216c dsa_8021q_rcv +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x33e3f9a0 dsa_fdb_present_in_other_db +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x417d1fed dsa_8021q_rx_switch_id +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x42334aaa dsa_devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x45ca5090 dsa_tag_8021q_bridge_vid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x475c5d11 dsa_switch_shutdown +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x504ac6bd dsa_devlink_params_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5c1952d1 dsa_enqueue_skb +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x5eecc03b dsa_switch_suspend +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x621f4ea9 dsa_mdb_present_in_other_db +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x63ee101f dsa_tag_8021q_bridge_join +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x64e7329e dsa_tag_8021q_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x6ea28ccd dsa_devlink_params_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x71b9ecf5 dsa_tag_8021q_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7bf4e92d dsa_switch_find +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x7dd4fe9a dsa_devlink_region_create +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x839d6f4a dsa_devlink_resources_unregister +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x8d599299 dsa_dev_to_net_device +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x95601b74 dsa_port_from_netdev +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x961f72bd dsa_slave_dev_check +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x97feeb88 dsa_devlink_resource_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x9ae54957 dsa_tag_8021q_standalone_vid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x9c62405b dsa_tag_8021q_find_port_by_vbid +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0x9e59271d dsa_8021q_rx_source_port +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa7199f9b dsa_switch_resume +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xa9c1fdc0 dsa_port_phylink_mac_change +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xc23e8d5f dsa_devlink_region_destroy +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd077e855 dsa_devlink_param_get +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xd0fcc606 dsa_tag_drivers_register +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf13e1803 vid_is_dsa_8021q +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xf3734fa8 dsa_8021q_xmit +EXPORT_SYMBOL_GPL net/dsa/dsa_core 0xfd3e2b67 dsa_devlink_param_set +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x7db0bf5e ieee802154_hdr_peek_addrs +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x817cf765 ieee802154_hdr_peek +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x87e2553b ieee802154_max_payload +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0x9d8e233d ieee802154_hdr_pull +EXPORT_SYMBOL_GPL net/ieee802154/ieee802154 0xde25e999 ieee802154_hdr_push +EXPORT_SYMBOL_GPL net/ife/ife 0x4e40a051 ife_decode +EXPORT_SYMBOL_GPL net/ife/ife 0x6210e871 ife_tlv_meta_next +EXPORT_SYMBOL_GPL net/ife/ife 0x67db2029 ife_tlv_meta_decode +EXPORT_SYMBOL_GPL net/ife/ife 0x8c76e3c5 ife_encode +EXPORT_SYMBOL_GPL net/ife/ife 0xe7888e98 ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xc8931ba5 esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xdbb587e2 esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xe7343a6d esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/gre 0x10e9d884 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0x982df8e1 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x213d8b39 inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x3edb72e0 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x730443c6 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x866af9ca inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xc2f91760 inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xc68a105d inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xc72cc272 inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xca2875c5 inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xfcd26561 inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0x199a4b49 gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x0bfb7004 ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x0c6775a8 ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x0dec4efc ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x1b49c9b9 ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x2b4addff ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x5692bffc ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x6554e374 ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x6f77cb2d ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x74825fde ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x8016b6e1 ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x9633c42b ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xae84384b ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xc4e9e213 ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xdd8ac0c6 ip_tunnel_siocdevprivate +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xeac9b48a __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xeec18101 ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xfe190942 ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0xb71575f5 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0xf30a636e ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x54b33b17 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0xdb6e1b17 nf_defrag_ipv4_disable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0x09feb5ed nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x4d85f758 nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x5d49ba75 nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x75260def nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x8e1bb1e4 nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xaf0f2bd3 nf_reject_skb_v4_tcp_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xb1ff2a3f nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xcf9666b7 nf_reject_skb_v4_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0xd1fadf86 nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x0e6f1d98 nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x8ae7bcc9 nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0xbfd0ee33 nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0x05c3eff3 nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0xadb2ae6a nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x7625c301 tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x80575f9e tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x8306080f tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xa5e7a5ed tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xd86a733f tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x3a3077b1 udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x52e1d6a9 udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xa55798ca setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xab6883de udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xbb7407e7 udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xbd18d4b9 udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xbdeb1a54 udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xc44fbab5 udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x6cd420b5 esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x75917987 esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x963a6744 esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x4ff2fcff ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x5cf789c3 ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0x80340847 ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x32f263f1 udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0xb21cefb4 udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0xec9f6f86 ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x002525f5 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x39999e55 nf_ct_frag6_gather +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0xeba82c58 nf_defrag_ipv6_disable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0xf1664ae7 nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x3035017f nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x591905d3 nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xaa75db27 nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xb4dbb1da nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xbbe67ba5 nf_reject_skb_v6_unreach +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xd3afe0f2 nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xeb4d5f3b nf_reject_skb_v6_tcp_reset +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0x569d7eef nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x0c8fb488 nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x88066c58 nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xab414699 nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x95ee4b8b nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0xf05289b7 nft_fib6_eval +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x0e0901da l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x13873425 l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x18cf8fde l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x1b431a2a l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x249dae8e l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4becfbe3 l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x67252c50 l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x873c4024 l2tp_session_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x87779991 l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x91340d83 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x9bdf1e53 l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xace658cd l2tp_tunnel_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb231adff l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb79e35d4 l2tp_tunnel_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xb95f100e l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xc23b182a l2tp_session_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xceb3923e l2tp_recv_common +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd47f3056 l2tp_sk_to_tunnel +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe731202d l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xed904ab5 l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf41cf753 l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_ip 0x2127b34e l2tp_ioctl +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x78436a84 l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x02de8587 ieee80211_update_mu_groups +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x15447536 ieee80211_gtk_rekey_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x250beca9 ieee80211_remain_on_channel_expired +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x26b49d91 ieee80211_resume_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x36f12f40 ieee80211_iterate_stations_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x3b257d89 ieee80211_request_smps +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x40cd8744 ieee80211_gtk_rekey_add +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x5250cf98 ieee80211_tkip_add_iv +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x59c13bed ieee80211_key_mic_failure +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6cca9eac ieeee80211_obss_color_collision_notify +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x6eef7016 ieee80211_iterate_active_interfaces_mtx +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x71b1cef5 ieee80211_calc_tx_airtime +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x7e09c1a0 ieee80211_iterate_active_interfaces_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x822f19e8 ieee80211_vif_to_wdev +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x86241fc6 ieee80211_iter_chan_contexts_atomic +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x95af9dc2 wdev_to_ieee80211_vif +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0x9fff77bc ieee80211_ave_rssi +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa1247034 ieee80211_remove_key +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xa4b2b77e ieee80211_key_replay +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xc7b5756e ieee80211_ready_on_channel +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xca2c08f1 ieee80211_iterate_stations +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xcb143e15 ieee80211_find_sta_by_ifaddr +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xcfd06205 ieee80211_hw_restart_disconnect +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd076178a ieee80211_iterate_interfaces +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xd8e09da4 ieee80211_set_key_rx_seq +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xe75681e5 ieee80211_color_change_finish +EXPORT_SYMBOL_GPL net/mac80211/mac80211 0xed1015e4 ieee80211_calc_rx_airtime +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x066b91a7 mpls_dev_mtu +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x1bf440f3 mpls_output_possible +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x485caef2 mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x7670b536 nla_get_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x806d8d1d mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xf347d2e6 nla_put_labels +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1078c2fb ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x15cc535c ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1c6be2f7 ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x21d73441 ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22d966c6 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x25b37f7a ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x28bfa3db ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x3b6b8ebd ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x457bcc92 ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x4d2ee9bd ip_set_match_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6ede71ab ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x76ad03fa ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x80f37f22 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x979e9137 ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9e98722b ip_set_get_ipaddr6 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9ea00725 ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa293f8a6 ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xc9891b9c ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xca75e44c ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xd8f0c298 ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xe0803b45 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xed5946ec ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf3b4d4ae ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x30a8badf register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x65abbfe4 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x6d968a02 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xc7f540a2 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x1f0f56d3 nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x41dc3ffe nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x439146de nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x5732ef62 nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x6665a8e5 nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xc1863ab7 nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xf6f308ff nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x04791598 nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x04a8fbb6 nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x084f7506 nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0bc00f80 nf_nat_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1190fbfc nf_conn_pernet_ecache +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x133211c8 nf_ct_netns_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x14cbecc8 nf_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x157d8deb nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1b053ff7 nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1fb67ee3 nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x20b32c56 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x288306d0 nf_ct_set_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x28eff409 nf_conntrack_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2e6a7512 nf_ct_netns_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x340aeb00 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3c5a862d nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3fa500d8 nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x42c34103 nf_ct_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4429507a nf_ct_get_id +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x47527aff nf_ct_tcp_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4cd71ec6 nf_ct_seqadj_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4d710302 __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x555a9262 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x57c33faf nf_conntrack_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a5be995 nf_ct_helper_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5c6b0c0b nf_nat_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x61c2611e nf_ct_untimeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x622b256a nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6a066e15 nf_ct_acct_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6b985626 nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6c35e131 nf_connlabels_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6d4f37b1 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6fe0582a nf_ct_bridge_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6fe56689 nf_ct_delete +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x714f9031 nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x751f4a51 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7a86d6e7 nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7c6a36be nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7e0a328e nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7f473995 nf_conntrack_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7f8266e1 nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x85494485 nf_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8557cdbd nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8a66c4fc nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ee9d3b7 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x91c4143f nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9600d862 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9c572d5c nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9d08f297 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa1cc1312 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa3f7901a nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa3fddb18 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa400d126 nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa86d1b6a nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xadcfcc9b nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xaee5859d __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafbd6cf5 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb107e685 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb2551ff9 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbb0f81c4 nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc270fc6b nf_nat_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc40f284c nf_ct_helper_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc44e722a nf_nat_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc6a5f9d4 nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xce6ffa8a nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcf3bbc4e nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd133fed8 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd1a6d160 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd2508fe0 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd28e7ec1 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd505c3e0 nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdaf6be46 nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdcb35b60 nf_connlabels_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf0aed48 nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe194b426 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe53c62cb nf_ct_remove_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe619441d nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe78031af nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xeb4b87fa nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec8beba6 nf_ct_expect_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xedfcf49f nf_ct_timeout_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xeebad536 nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf3a2542f nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf874d745 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf9e1b7de nf_ct_set_auto_assign_helper_warned +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfbd29a3b nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfd1189c1 nf_ct_ecache_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfd6acba0 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe731af8 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xff40b965 nf_conntrack_locks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0x8b10fcf7 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x1cd34c11 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0xb3a35241 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x09574550 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x189b6fdf nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x439b40e7 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x5d695d9f nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x6d4a173d nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x9259ac48 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa1e5e5d1 nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xa35c9c7b nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xdedb137f get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xf1d2dacf set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x4208b0a5 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0x031d7a6b nf_nat_pptp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x6095abca ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x8be3759f ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x93515776 ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xa3cdd6b4 ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xe17d329f nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xf2c3a027 ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xffe04a0f ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0xb3323447 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0x785ac5f7 nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x0bd9f379 nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x77b4c0b4 nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xbba34067 nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x187314b6 flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x1e10d7f9 nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x25c72fd3 nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x39ef69ff flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x4bb49284 nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x4e6a54cc nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x70eb24e5 nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x735d6593 nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x9306f43a flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x9ac1a20f flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x9bf7c8e3 nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xa0cca931 flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xb8b2af74 nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xd0d8f179 flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xdcc58b71 flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xf46f31cb nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xfbdad305 nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x1384e7a4 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x13a1e119 nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x148cc411 nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x15fd81c2 nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x16589675 nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x1758c107 nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x234e3802 nf_nat_ipv6_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x2bee04be nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3bc17c49 nf_nat_masquerade_inet_register_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x68f15cec nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x75b97a3b nf_nat_icmpv6_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x86b239a4 nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xbaf5d6fa nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd587cb48 nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd86cb79d nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd9c25654 nf_nat_masquerade_inet_unregister_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xf6294332 nf_nat_ipv4_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xfdfc77db nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x19f8710c nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1ac50f18 nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1f099794 synproxy_init_timestamp_cookie +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x276a5933 synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x2eb8cb13 ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x43d8c68c synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x477c0c63 synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xa4e1085e synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xbf320b35 synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xca9fc082 synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xd4097fae nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xd73401ba nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xf8d6a5cb ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x044eaafa nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x06c6ca47 nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x172c8343 nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1b1e7b86 nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x1c5963a4 nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2e55d46f nft_set_catchall_gc +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3135abc4 nft_register_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3251d762 nf_tables_trans_destroy_flush_work +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x36d70886 __nft_reg_track_cancel +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3afd38b7 nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x412d0e80 nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x41b71e65 nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x43f0a3dd nft_parse_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4619bba8 nft_reg_track_update +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4e82db07 nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4f43c7cb nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x590092fa nf_tables_activate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5c2b930c nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x61ac75f9 nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x64777b20 nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x647864e0 nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x64e3eeaf nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6fadc7f5 nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x6ff00846 nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x70b0ad9e nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x72929f5b nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x78361bbf nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x84071ebd nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x89f178e5 nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x967d17d2 nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x99764539 nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9eb5b253 nft_request_module +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa01bed4f nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa2befeb7 nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa9055ba2 nft_reg_track_cancel +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xab1f4488 nft_set_catchall_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb6517f72 nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb697205a nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xbcb14649 nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xc5fff966 nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd516f50d nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde57b5f5 nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xdf731b07 __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe2b8cc13 nft_parse_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe4ae1cdc nft_meta_get_reduce +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xeda5598b nft_expr_reduce_bitwise +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf131dc70 nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf3388d51 nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf3c53cc0 nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x0d164552 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x289dea58 nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x2ae41015 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x477ca04b nfnetlink_broadcast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x6ba17670 nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x73957e84 nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xdb065657 nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xfe271f0f nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x11573ee8 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x3bbbe788 nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xc0392e5a nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x19b96e2b nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x35eff5e0 nf_osf_fingers +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x682953b6 nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x12acc829 nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x1fd51457 nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x4c4a1fb6 nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xac53e2c4 nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xe65924fa nft_fib_reduce +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x6081751d nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x8725cc4a nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xb00839b9 nft_reject_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xd79c2169 nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xe2c84666 nft_reject_icmp_code +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x038fcb9f xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x04e27719 xt_compat_flush_offsets +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x087076d1 xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x114f5232 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x21c9d36b xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x309d70b6 xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x30cd0d5e xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3292fb45 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x37838f0c xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3d6c88e2 xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x4e212a8e xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5f1cbbd0 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x716cc767 xt_unregister_template +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x75d786b0 xt_register_template +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7bce4603 xt_data_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x80cd8d10 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x823edea5 xt_compat_add_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8319213f xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x87bc8740 xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8ae82c5b xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8f8c9ce6 xt_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9c995c69 xt_percpu_counter_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa7c94f1d xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfacb837 xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc2e9cf86 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc7fae024 xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd1e246a2 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd3fcc511 xt_tee_enabled +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd40eaf62 xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd9bb821b xt_copy_counters +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddf68fc6 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xe4d7633b xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf3001256 xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfade56ca xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x546faa80 xt_rateest_put +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xbc9775fe xt_rateest_lookup +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x565d1296 nci_spi_allocate_spi +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0x7ba27025 nci_spi_send +EXPORT_SYMBOL_GPL net/nfc/nci/nci_spi 0xa592a953 nci_spi_read +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x2f08d1d5 nci_uart_set_config +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x337bedea nci_uart_unregister +EXPORT_SYMBOL_GPL net/nfc/nci/nci_uart 0x990722ef nci_uart_register +EXPORT_SYMBOL_GPL net/nsh/nsh 0xc4e79c60 nsh_push +EXPORT_SYMBOL_GPL net/nsh/nsh 0xd56d32d3 nsh_pop +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x17ec085a __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x1cc05870 ovs_vport_free +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x2d08fa20 ovs_netdev_link +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x732c8b5b ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xca030d70 ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xde42b3b4 ovs_vport_alloc +EXPORT_SYMBOL_GPL net/psample/psample 0x719d4519 psample_group_get +EXPORT_SYMBOL_GPL net/psample/psample 0x92b938e8 psample_sample_packet +EXPORT_SYMBOL_GPL net/psample/psample 0xb6dc4d17 psample_group_put +EXPORT_SYMBOL_GPL net/psample/psample 0xd731c748 psample_group_take +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x5d442655 qrtr_endpoint_post +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0x8d25501f qrtr_ns_remove +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xa47e91ba qrtr_ns_init +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xf50436de qrtr_endpoint_register +EXPORT_SYMBOL_GPL net/qrtr/qrtr 0xf8db4095 qrtr_endpoint_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x0142faed rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x064968e2 rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x0b1ee474 rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x0d9658df rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x17f90e7d rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0x246391af rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0x2b0d543c rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x36087aa4 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x45a4781e rds_addr_cmp +EXPORT_SYMBOL_GPL net/rds/rds 0x582fe5cf rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x585f567b rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x6a15bf21 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x6d6e1ac2 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0x6f89410a rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x72db3c5b rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x72f0f0a6 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0x774bb30f rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x7b399e66 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x83499ae9 rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0x85e4e520 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0x8f8e1943 rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x96b49655 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0xa33e8da0 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0xa4869a12 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xb6d596e7 rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xba9bb4d4 rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xc6f11079 rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xce9a8e60 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0xd3b6d3d9 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0xe5c0156a rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0xecd49b0b rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0xed00d087 rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xee41973e rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0xf18c7d22 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0xf9f40372 rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0xfcaa9aa5 rds_send_ping +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x3c52155b pie_drop_early +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xe23b9933 pie_process_dequeue +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0x5fc3c6ed taprio_offload_free +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0xa7f08102 taprio_offload_get +EXPORT_SYMBOL_GPL net/sctp/sctp 0x1848d12f sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/sctp/sctp 0x76d16dd4 sctp_transport_traverse_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0x7786248e sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/sctp/sctp 0xe9b5e40f sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/smc/smc 0x0cacd3d8 smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0x0e57ac12 smcd_alloc_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x3cbeebdc smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0x7aad5a86 smc_proto6 +EXPORT_SYMBOL_GPL net/smc/smc 0x82c09f9c smc_hash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x990976c4 smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0x9ff159b4 smc_unhash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0xbad0f3ac smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xbb6f9d66 smcd_free_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xdf7b2890 smcd_register_dev +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x38d3dce5 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x482ac5a4 g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x5c32d1f2 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x8808c879 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x91303cd2 svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd3f3fb10 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd7673035 g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x01523482 xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x01c12f28 bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03341f60 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x04e7c979 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0528ac33 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0585c143 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x060549f7 rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x06704933 svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07853099 rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x07db6752 xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x08ddc769 cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a7966bb auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0a821bb7 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0bb65404 svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0bf4a559 xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d462056 svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e3a45b8 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0ea980e4 rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1053c4aa rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x10d48b5c rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x124bdbce svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x14b462ac rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x16aae3c4 rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x17784c0c rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x17faa554 xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x181e2781 rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1993d26f svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x19fd4a0d rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1b43d079 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e119a79 rpcauth_get_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1ecc4642 rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1f2a9970 rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1fbacb96 xdr_stream_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2149d926 rpc_sleep_on_priority_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21820965 xdr_buf_trim +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x21ca8f63 xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22424331 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x248bde66 xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25cd272c svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x272a8e53 rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x275910f8 sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27bf31f6 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x29ae5e05 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2a30609e rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b8b8320 rpc_prepare_reply_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2bcac98d rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2d3d4c02 xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2f584fac xdr_expand_hole +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x308c9172 rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x30abcfe6 xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x319b442e xprt_wake_up_backlog +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x32364a22 svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33fd79fa rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3462888a rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x348655ce auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x34c25cc9 rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3587cc7f rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3956c073 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3b801296 svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3c035bc0 xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d557b91 rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3d5f02a8 svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f88b69d rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3fd9dc3c cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x41dd85fd xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x435d202b svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4480d371 rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4485505a rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4593954a rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x47db3dbc xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x485837c7 xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4af0e234 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c75935c xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d8aadb3 xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dac77f0 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e73b648 xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e8f6ca7 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4f71f382 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4fb42a53 svc_xprt_deferred_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x50148e00 rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x51b1231f svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x522476e6 rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53882ba4 __xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x558d2d3d rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x55da9806 cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5663baf3 xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5688a174 xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x569a4b61 csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5757e399 xdr_align_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x57d18419 rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x58b0221e rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x59cab27f rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5b19b524 sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c543c40 rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ea6d624 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5ffd6c11 svc_rqst_replace_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x61b3febf xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x622891a4 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x66b6f744 rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6745efd8 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x67b05b56 svc_xprt_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x67dfbec9 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x69587895 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x69fa67f2 rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ad479eb rpc_switch_client_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6adf24cd xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6b9ffd49 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c12d156 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6c57a83d rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e4655d8 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ee89896 xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72ca7200 svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7330cc21 rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x74973283 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x753a315a xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x76f5412f __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x781bd06e svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a25ef74 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7a61984e rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7f423fc2 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x803e8ce9 sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x80ca5fc0 xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x826e23c0 rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x839ebdc8 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x860a20fc sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x899a2a8d xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a25758e sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a65527d xdr_reserve_space_vec +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8b968db1 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8bc32133 svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8bdd2610 rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8db4bc09 xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8df243cb svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8e362132 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8f86760f rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ffacf3b xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9144e06a rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9192c931 cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x92b9eed3 xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x93173f91 rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x96070095 rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9668248f svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x980ea831 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x98c68a47 rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9939bad9 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x99d052f9 sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9b759103 svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c601ee1 write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ca9e763 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9e0ac07c xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa046bf3d rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa277d5fc svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa32b43c7 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa511beb5 xdr_reserve_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa60d45d7 rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa77afa43 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa7ae6579 svc_xprt_destroy_all +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xae69109b xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaee7b2ae xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2886956 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb2b4da46 rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb34851f9 auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51a3724 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb52b19ee svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb6648ba4 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9552309 rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbde73dda rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbec5e905 rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf18272e rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbff545b7 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc0908dd0 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1bdcd08 svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc1c7460a svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc20c8829 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4702242 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc4ea9732 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc52c456c gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc58cc39f xdr_page_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5ac966a cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5e1364a xprt_add_backlog +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc789b1ae svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc83acb49 xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcb37690d xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc011ddb xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce678a59 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf5d1a35 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcf60a4ad svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcfa6c512 xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd28ca415 xprt_lock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd483bb78 rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd4ecc329 svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd5c59cfd rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd5d7ed5b rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd6ba4c81 svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd70d0443 svc_xprt_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd84ca3dc xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd87d7166 xprt_unlock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd8cd16aa xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc0e8fb7 svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc498f86 rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdce29a5a xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd691402 xprt_find_transport_ident +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdf425359 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe033a48e svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe08709e6 rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1181524 rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe154bb69 svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe230bfea xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe24cd1a3 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe25c68f0 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe32f7d63 rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3fc625b svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe43f450e rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe558ab74 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe65fa479 cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6e790cf rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe74b0b74 svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe7f25f26 rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe8e71f32 rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea2acfaf rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeb4205f9 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xecc2f7cf xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xecde0197 rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeedf9dd4 svc_encode_result_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf248601a sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf26778ea rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf283bd7f rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2ddf0f5 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf4847ed8 rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6ceb15f xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf6f072e0 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7f98afc svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf85a0935 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfadb3a35 xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfbe1e0a9 svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfdf4a8ee xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe1b5f3c rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe26476e rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfe82abcc rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfea423f5 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff852e59 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xffa6e880 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/tls/tls 0x04bbc070 tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/tls/tls 0x542c82d6 tls_validate_xmit_skb +EXPORT_SYMBOL_GPL net/tls/tls 0x614ebcb3 tls_encrypt_skb +EXPORT_SYMBOL_GPL net/tls/tls 0x88aeebc2 tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x03a81e69 virtio_transport_stream_allow +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x06075864 virtio_transport_notify_poll_out +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0a714bec virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x0fb00666 virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x163f16f1 virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1db35322 virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2c8d00fa virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x3de2d219 virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x3f095a52 virtio_transport_seqpacket_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x43478772 virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x46304ae7 virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4955b966 virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4b60225e virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x506dbcc8 virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x539de7aa virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x6aa8f4db virtio_transport_seqpacket_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x72a09ef3 virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7b6b9051 virtio_transport_do_socket_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x8c8a0ee3 virtio_transport_connect +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x927e9133 virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x927f7186 virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xa9144ac5 virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb0a2deae virtio_transport_seqpacket_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb29ed35c virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb669d130 virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb77f1d04 virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb7ab7c6e virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xbabd30f5 virtio_transport_dgram_allow +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xcb0ecb54 virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd1585345 virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd9b8850e virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd9e6dd6d virtio_transport_stream_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe2b97bda virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe53ac0b2 virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xe659a9e1 virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf99141be virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0494bf8f vsock_remove_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x08176a4c vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0e9bc9b6 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x192937b5 vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x25efb5d7 vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3ceb1b99 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3d4b0fca vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4018cf89 vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x455943a3 vsock_assign_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4b99648c vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x5f4999df vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x6cf43bd5 vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x6f5d6aa0 vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x77c14317 vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x90aa8549 vsock_find_cid +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x95aa114b vsock_core_unregister +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9bb6fd09 vsock_connected_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9c6f5c7e vsock_remove_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xa3c56e08 vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xad9b19d7 vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xaf2674b5 vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb464a328 vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb96f1666 vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xdf9b4cb4 vsock_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xdfc39064 vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xec96eadf vsock_addr_validate +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xecf29b4f vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xee0e7943 vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xf8cdf9f2 vsock_add_pending +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x023d62b6 cfg80211_wext_siwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x09298626 cfg80211_vendor_cmd_get_sender +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x24dcb8d4 cfg80211_wext_siwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x3546b401 cfg80211_pmsr_report +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x62875740 cfg80211_wext_giwname +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x749bb833 cfg80211_wext_giwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x8a8c6a1a cfg80211_pmsr_complete +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x91102926 cfg80211_wext_giwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0x9a11ee09 cfg80211_wext_giwrts +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xa47007b5 cfg80211_wext_giwscan +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xc928d559 cfg80211_wext_giwretry +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xca56abb7 cfg80211_wext_siwfrag +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xce65ebaf cfg80211_wext_siwmode +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xe6b9ba47 cfg80211_wext_giwrange +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xed462b28 cfg80211_vendor_cmd_reply +EXPORT_SYMBOL_GPL net/wireless/cfg80211 0xff48c093 cfg80211_shutdown_all_interfaces +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0049ca83 xfrm_aead_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00c80741 xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0a575945 xfrm_count_pfkey_auth_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x37a02412 xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x5c699441 xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x72395dc1 xfrm_calg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x7a8ca627 xfrm_count_pfkey_enc_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xaab23340 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xb73be794 xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xc6b1fdbe xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xd6f50cf7 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x1b29c8df ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x27671b61 ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x287540c7 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xf444ea8d ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0x4a0c7516 xfrm_msg_min +EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0xe2521b1c xfrma_policy +EXPORT_SYMBOL_GPL sound/ac97_bus 0xb5d2429f snd_ac97_reset +EXPORT_SYMBOL_GPL sound/core/seq/snd-seq 0xadb51cff snd_seq_client_ioctl_unlock +EXPORT_SYMBOL_GPL sound/core/seq/snd-seq 0xe50413d7 snd_seq_client_ioctl_lock +EXPORT_SYMBOL_GPL sound/core/snd 0x000f8035 snd_fasync_helper +EXPORT_SYMBOL_GPL sound/core/snd 0x12871510 snd_device_get_state +EXPORT_SYMBOL_GPL sound/core/snd 0x1f4d3f63 snd_devm_card_new +EXPORT_SYMBOL_GPL sound/core/snd 0x32965cb4 snd_card_disconnect_sync +EXPORT_SYMBOL_GPL sound/core/snd 0x3427a1bc snd_ctl_apply_vmaster_followers +EXPORT_SYMBOL_GPL sound/core/snd 0x548fb522 snd_devm_request_dma +EXPORT_SYMBOL_GPL sound/core/snd 0x5af762f1 snd_fasync_free +EXPORT_SYMBOL_GPL sound/core/snd 0x633a771f snd_ctl_activate_id +EXPORT_SYMBOL_GPL sound/core/snd 0x6a02454d snd_ctl_get_preferred_subdevice +EXPORT_SYMBOL_GPL sound/core/snd 0x704f7c71 snd_ctl_disconnect_layer +EXPORT_SYMBOL_GPL sound/core/snd 0x80c83831 snd_device_initialize +EXPORT_SYMBOL_GPL sound/core/snd 0x86d76732 snd_ctl_sync_vmaster +EXPORT_SYMBOL_GPL sound/core/snd 0x88126a2b snd_ctl_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/core/snd 0x8a070da1 snd_card_free_on_error +EXPORT_SYMBOL_GPL sound/core/snd 0x9123910c snd_power_ref_and_wait +EXPORT_SYMBOL_GPL sound/core/snd 0xa9d271ad snd_card_rw_proc_new +EXPORT_SYMBOL_GPL sound/core/snd 0xd0b24eb6 snd_ctl_register_layer +EXPORT_SYMBOL_GPL sound/core/snd 0xe277ed2c snd_card_add_dev_attr +EXPORT_SYMBOL_GPL sound/core/snd 0xe3d1d9fd snd_card_ref +EXPORT_SYMBOL_GPL sound/core/snd 0xe68900a0 snd_device_disconnect +EXPORT_SYMBOL_GPL sound/core/snd 0xf8f2a4eb snd_kill_fasync +EXPORT_SYMBOL_GPL sound/core/snd 0xfaf598c6 snd_ctl_request_layer +EXPORT_SYMBOL_GPL sound/core/snd-compress 0xd6ce26b8 snd_compress_new +EXPORT_SYMBOL_GPL sound/core/snd-compress 0xf277d74a snd_compr_stop_error +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x04e1b99f snd_pcm_std_chmaps +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x09e913c1 snd_pcm_alt_chmaps +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x0b394aad snd_pcm_stream_unlock_irqrestore +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x12e9cf48 snd_pcm_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x2f413b61 _snd_pcm_stream_lock_irqsave +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x31dda347 snd_pcm_stream_unlock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x37916c6b snd_pcm_stream_lock_irq +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x42155f7d snd_pcm_stream_unlock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x572c9269 snd_pcm_hw_constraint_eld +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x5c407196 snd_pcm_fill_iec958_consumer_hw_params +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x649892e8 snd_pcm_create_iec958_consumer_default +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x652af258 snd_devm_alloc_dir_pages +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x8d864069 snd_pcm_rate_range_to_bits +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0x9c6e2de0 snd_pcm_fill_iec958_consumer +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xa286a234 snd_pcm_format_name +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xab8bc1a2 snd_pcm_rate_mask_intersect +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xac3f5d64 snd_pcm_stream_lock +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xb193635e _snd_pcm_stream_lock_irqsave_nested +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xcba10bd2 snd_pcm_lib_default_mmap +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xd0756b50 snd_pcm_stop_xrun +EXPORT_SYMBOL_GPL sound/core/snd-pcm 0xfc2debad snd_dma_buffer_sync +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x1330eb57 snd_dmaengine_pcm_set_config_from_dai_data +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x40bbf9ba snd_dmaengine_pcm_close_release_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x4d6b2385 snd_dmaengine_pcm_request_channel +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x53be6a26 snd_dmaengine_pcm_trigger +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x64e24d24 snd_dmaengine_pcm_pointer +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0x7f55e85a snd_dmaengine_pcm_pointer_no_residue +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xae84c913 snd_dmaengine_pcm_open +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xbf0b7237 snd_hwparams_to_dma_slave_config +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xc44f9ec5 snd_dmaengine_pcm_open_request_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xd0b37461 snd_dmaengine_pcm_get_chan +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xd62a81b9 snd_dmaengine_pcm_close +EXPORT_SYMBOL_GPL sound/core/snd-pcm-dmaengine 0xd9b7f4c5 snd_dmaengine_pcm_refine_runtime_hwparams +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0x8843fee0 __snd_seq_driver_register +EXPORT_SYMBOL_GPL sound/core/snd-seq-device 0xd8008452 snd_seq_driver_unregister +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x0f88d51f amdtp_am824_set_pcm_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x202973b2 amdtp_am824_set_midi_position +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x3d620adf amdtp_domain_start +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x43807044 amdtp_domain_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x4f0da0ef amdtp_domain_add_stream +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0x694683f3 amdtp_domain_stream_pcm_pointer +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xa419bfc9 amdtp_am824_midi_trigger +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xa6602c2b amdtp_am824_add_pcm_hw_constraints +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xa712fb4e amdtp_domain_stop +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xc5689c69 amdtp_am824_set_parameters +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xda7d3249 amdtp_domain_stream_pcm_ack +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xddc4310c amdtp_am824_init +EXPORT_SYMBOL_GPL sound/firewire/snd-firewire-lib 0xe808ed28 amdtp_domain_destroy +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x01d29373 snd_hdac_query_supported_pcm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x08846721 snd_hdac_setup_channel_mapping +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0ab58004 snd_hdac_device_register +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0bb85bde snd_hdac_bus_exit_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x0e68b1be snd_hdac_dsp_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x146ef00a snd_hdac_bus_alloc_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1b51cf48 snd_hdac_get_stream_stripe_ctl +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x1ffb9e3b snd_hdac_display_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x25d40c6d snd_hdac_stream_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2b4acabc snd_hdac_stream_setup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2bf57573 snd_hdac_power_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x2f2b9cd0 snd_hdac_get_sub_nodes +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x36da5638 snd_hdac_stream_setup_periods +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x396037f7 snd_hdac_bus_reset_link +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x3bd544c2 snd_hdac_get_active_channels +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x419c75f6 snd_hdac_bus_parse_capabilities +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x42081690 snd_hdac_bus_update_rirb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x42716284 snd_hdac_get_connections +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x43977478 snd_hdac_acomp_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x453dc78c snd_hdac_bus_init_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x476457d1 snd_hdac_bus_stop_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x4c7ec4b6 snd_hdac_get_ch_alloc_from_ca +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x54cf2347 snd_hdac_bus_enter_link_reset +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x598f93d6 snd_hdac_regmap_add_vendor_verb +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5a0395cb snd_hdac_regmap_read_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5bf57100 snd_hdac_device_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c0534ed snd_hdac_dsp_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5c07cb49 snd_hdac_calc_stream_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x5e3a9b3e snd_hdac_stop_streams_and_chip +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x60338449 snd_hdac_device_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x60ae4dbc snd_hdac_device_set_chip_name +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x621daa22 snd_hdac_bus_get_response +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x65db1d99 snd_hdac_bus_init_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x67bfe791 snd_hdac_spk_to_chmap +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x69c3f6a9 snd_hdac_bus_exec_verb_unlocked +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x6cd3077e snd_hdac_read_parm_uncached +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x70f166a1 snd_hdac_refresh_widgets +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x715e0e1f snd_hdac_register_chmap_ops +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x73470a4a snd_hdac_power_up_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x74bf202e snd_hdac_stream_release +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77c754a8 snd_hdac_chmap_to_spk_mask +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x77ec3ac8 snd_hdac_acomp_get_eld +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x794efc8f snd_hdac_stream_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7c5740d0 snd_hdac_stream_cleanup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7d7b1d34 snd_hdac_bus_free_stream_pages +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x7e7be678 snd_hdac_codec_link_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x87178aa1 snd_hda_bus_type +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x88dca9ab snd_hdac_set_codec_wakeup +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8b558bb6 snd_hdac_regmap_update_raw_once +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8d9b85af snd_hdac_device_unregister +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8e731660 snd_hdac_stream_clear +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x8f0f25ea snd_hdac_bus_send_cmd +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9084dfe6 snd_hdac_stream_sync_trigger +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x90bfc92f snd_hdac_bus_link_power +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x90d1d71d snd_hdac_bus_stop_cmd_io +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x93480073 _snd_hdac_read_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x935e79ff snd_hdac_stream_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9417bff2 snd_hdac_get_stream +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9637a8fc snd_hdac_regmap_sync +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9a8e1877 snd_array_free +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9ac0dc39 snd_hdac_stream_stop +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0x9d676a83 snd_hdac_bus_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xac0da1b9 snd_hdac_power_down +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xad17cb91 snd_hdac_stream_start +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xaf6a2ea0 snd_hdac_bus_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xafbd07dd snd_hdac_acomp_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb0f35eb7 snd_hdac_check_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xb94d636e snd_hdac_power_down_pm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbbe0c395 snd_hdac_codec_modalias +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbe7dd7dc snd_array_new +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xbf9f4f9e snd_hdac_bus_handle_stream_irq +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc5025d08 snd_hdac_override_parm +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xc8a4efd5 snd_hdac_is_supported_format +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xca253fb5 snd_hdac_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xce496bcb snd_hdac_regmap_update_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd42b3124 snd_hdac_add_chmap_ctls +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd652e6e5 snd_hdac_dsp_prepare +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xd97bc8a5 snd_hdac_regmap_exit +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xde4c6ad3 snd_hdac_regmap_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe1548c29 snd_hdac_codec_write +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe4e07754 snd_hdac_print_channel_allocation +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xe5d9a1e5 snd_hdac_stop_streams +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf0f3c679 hdac_get_device_id +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf197bee6 snd_hdac_sync_audio_rate +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf1ccdba3 snd_hdac_codec_link_up +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf1ec1ae4 snd_hdac_acomp_register_notifier +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf2fd03a4 snd_hdac_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf37f2fdf snd_hdac_stream_timecounter_init +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf5e79e20 snd_hdac_codec_read +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf60f6c67 snd_hdac_stream_assign +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf658afe1 snd_hdac_regmap_write_raw +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf7e9ad84 snd_hdac_sync_power_state +EXPORT_SYMBOL_GPL sound/hda/snd-hda-core 0xf8128282 snd_hdac_stream_set_params +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0x2c5663a9 snd_intel_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/hda/snd-intel-dspcfg 0xad7c4ad4 snd_intel_acpi_dsp_driver_probe +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x12e6a3a8 snd_ak4113_external_rate +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x3969797c snd_ak4113_build +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0x43262d2e snd_ak4113_reg_write +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xb498a19b snd_ak4113_create +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xb550d92a snd_ak4113_reinit +EXPORT_SYMBOL_GPL sound/i2c/other/snd-ak4113 0xbcaf461d snd_ak4113_check_rate_and_errors +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x017f79fd snd_hda_add_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x03c57278 snd_hda_jack_tbl_get_from_tag +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x06315019 azx_get_pos_lpib +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0676f5ac snd_hda_get_input_pin_attr +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x07160d0b snd_hda_jack_report_sync +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x078744b9 snd_hda_set_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x098d3f9e snd_hda_ctl_add +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0d44a2a6 snd_hda_sequence_write +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0e552a90 snd_hda_codec_get_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x0ed82b93 snd_hda_codec_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x11e5b04f snd_hda_multi_out_dig_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1284382f snd_hda_get_default_vref +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x199a54ed snd_hda_codec_get_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1acf8d8e snd_hda_codec_amp_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1b08c25d snd_hda_get_num_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x1fcc7201 azx_init_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x20732f18 snd_hda_jack_unsol_event +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x223016d2 snd_hda_jack_set_button_state +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2920392e __snd_hda_add_vmaster +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2ac92789 snd_hda_mixer_amp_volume_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2b057205 snd_hda_enum_helper_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2c206cf4 azx_bus_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x2e00c278 snd_hda_codec_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x322fd071 azx_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x32faca80 snd_hda_spdif_ctls_assign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3311f033 snd_hda_codec_parse_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x34c5c4bb snd_hda_input_mux_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x35f91609 snd_hda_multi_out_analog_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3709cfbf snd_hda_add_new_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x382915ec snd_hda_get_conn_index +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x38ce402b azx_interrupt +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x398a50cb snd_hda_jack_pin_sense +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3b0ef132 snd_hda_codec_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x3c889d6b snd_hda_jack_set_gating_jack +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4221d278 snd_hda_attach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x462e833c azx_stop_all_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4acdcccd snd_hda_mixer_amp_switch_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4b9aacc6 snd_hda_detach_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4d8242f5 snd_hda_create_dig_out_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4e32822b snd_hda_shutup_pins +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x4fbdd36f snd_hda_mixer_amp_volume_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x50634009 snd_hda_check_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x506589e0 snd_hda_jack_bind_keymap +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x50c87d4e snd_hda_get_connections +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5238953d snd_hda_enable_beep_device +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x526e4ab1 snd_hda_codec_pcm_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x56be5b4f snd_hda_codec_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5acb54a0 snd_hda_get_dev_select +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5ae1722e __hda_codec_driver_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x5c646167 snd_hda_find_mixer_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x60ff8a13 snd_hda_codec_eapd_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x61520ca8 snd_hda_set_vmaster_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x668777ac query_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x67c5d9c6 snd_hda_override_amp_caps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x68f1472c snd_hda_mixer_amp_tlv +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x692de059 snd_hda_get_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6aabb6bd snd_hda_add_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x6ea3ef51 snd_hda_codec_register +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x70e00171 snd_hda_jack_set_dirty_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x73b61f30 __snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x74c0b1be snd_hda_set_power_save +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x754f30f6 azx_free_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x75b9fd21 snd_hda_add_imux_item +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x75d2ee8b snd_hda_codec_device_new +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x79a340d8 hda_get_autocfg_input_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7ca07050 snd_hda_correct_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x7d57229e snd_hda_jack_poll_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x85b02de1 snd_hda_codec_load_dsp_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x873af462 azx_init_streams +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8b17e422 snd_hda_apply_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8e586c9f snd_hda_codec_set_pincfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x8fbf57ac snd_hda_codec_cleanup_for_unbind +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x926632ca snd_hda_apply_pincfgs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x95c84ae6 snd_hda_codec_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9656dfd9 snd_hda_multi_out_analog_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9740597b snd_hda_codec_update_widgets +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x97fee544 snd_hda_multi_out_dig_open +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9ad090e8 snd_hda_get_int_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9d6d231c snd_hda_codec_load_dsp_trigger +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0x9f28475f snd_hda_codec_amp_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa081b4a0 snd_hda_jack_tbl_get_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa3422b31 snd_hda_jack_add_kctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa387bb73 snd_hda_get_bool_hint +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa8f37ad6 snd_hda_codec_set_pin_target +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xa94c076f snd_hda_multi_out_analog_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaa5d2110 snd_hda_jack_detect_enable_callback_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaac4f926 snd_hda_jack_add_kctl_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xab0481f5 snd_hda_codec_setup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xaeb096f8 _snd_hda_set_pin_ctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb1eb0921 azx_get_position +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb71d73e3 snd_hda_spdif_out_of_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb790e87d snd_hda_load_patch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xb8f3df19 snd_hda_mixer_amp_switch_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbbfd7c86 snd_hda_multi_out_dig_close +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbc6c32de snd_hda_create_spdif_in_ctls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbd21ec6b snd_hda_get_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xbd340493 snd_hda_unlock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc0686c54 snd_hda_mixer_amp_switch_get_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc1f4f3f5 snd_hda_spdif_ctls_unassign +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc5d624f9 snd_hda_codec_load_dsp_cleanup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc61c8fa1 hda_codec_driver_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc77de63e snd_hda_jack_detect_state_mst +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xc828992e snd_hda_multi_out_dig_prepare +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xca36f158 snd_hda_parse_pin_defcfg +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xca58f1af snd_hda_sync_vmaster_hook +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcdc77571 __snd_hda_codec_cleanup_stream +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xcf47edf8 azx_get_pos_posbuf +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd30ee827 snd_hda_codec_pcm_put +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd3d930ad azx_stop_chip +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd45ceb09 snd_hda_create_spdif_share_sw +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd558962a snd_hda_get_pin_label +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xd8f7345d snd_hda_mixer_amp_volume_get +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xda5b5176 snd_hda_lock_devices +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdb65d350 snd_hda_jack_detect_enable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xdd872bff snd_hda_mixer_amp_switch_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe118de5d snd_pcm_2_1_chmaps +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe24aab3e is_jack_detectable +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe291adb3 snd_hda_codec_set_name +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xe9c2e2c3 snd_hda_check_amp_list_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xead25aa2 snd_hda_override_conn_list +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xecae29de snd_hda_codec_device_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeda3a721 snd_print_pcm_bits +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xede2089f snd_hda_pick_pin_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xeeb0c3ad snd_hda_codec_configure +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xef9c4a92 snd_hda_add_nid +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf2fc9133 snd_hda_codec_amp_init_stereo +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf3a08952 azx_probe_codecs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf65c7d69 snd_hda_codec_set_power_to_all +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf682b207 snd_hda_pick_fixup +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf6ce0619 snd_hda_mixer_amp_switch_put_beep +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf8dc35ac snd_hda_input_mux_info +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xf9d1198a snd_hda_codec_amp_update +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfba610ad snd_hda_codec_unregister +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec 0xfe406839 snd_hda_apply_verbs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x0210bcac snd_hda_gen_build_pcms +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x03a14a87 snd_hda_gen_build_controls +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x0b897af8 snd_hda_add_new_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x0d55bb67 snd_hda_gen_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x162b9de6 snd_hda_get_path_from_idx +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x275ab82d snd_hda_gen_fix_pin_power +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x2ba69f3a snd_hda_gen_update_outputs +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x2dbd7e03 snd_hda_gen_line_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x3c8ce5c7 snd_hda_gen_add_kctl +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x46e447d0 snd_hda_gen_mic_autoswitch +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x5268b299 snd_hda_gen_path_power_filter +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x74188988 snd_hda_gen_stream_pm +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x76dc6871 hda_main_out_badness +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x771b44f4 snd_hda_gen_add_mute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x871a6e44 hda_extra_out_badness +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0x92615ac5 snd_hda_activate_path +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xa97053f0 snd_hda_gen_check_power_status +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xb49bd4f7 snd_hda_gen_parse_auto_config +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xc8b4de31 snd_hda_gen_free +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xea622acc snd_hda_gen_add_micmute_led_cdev +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xf384686f snd_hda_gen_hp_automute +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xfd82597c snd_hda_gen_spec_init +EXPORT_SYMBOL_GPL sound/pci/hda/snd-hda-codec-generic 0xff0e2cba snd_hda_get_path_idx +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau-utils 0xae620be9 adau_calc_pll_cfg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1372 0xb252714a adau1372_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x5b283867 adau1761_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau1761 0x6f872d87 adau1761_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x0e32955c adau17x1_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x28063b8a adau17x1_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x2c72935a adau17x1_set_micbias_voltage +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x4fad7016 adau17x1_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x5b0dceb5 adau17x1_add_widgets +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0x773d70dd adau17x1_precious_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xa5f8ecf3 adau17x1_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xaa873cb7 adau17x1_add_routes +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xdc4a8c5e adau17x1_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau17x1 0xfd971445 adau17x1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-adau7118 0x210d515f adau7118_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0x382c815d cs35l41_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0x88066a29 cs35l41_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41 0x8b88fd3f cs35l41_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x024057d2 cs35l41_global_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x0a090054 cs35l41_set_cspl_mbox_cmd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x1518a096 cs35l41_set_channels +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x2557d572 cs35l41_otp_unpack +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x2f17004d cs35l41_test_key_unlock +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x43741be9 cs35l41_safe_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x5900aa34 cs35l41_regmap_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x6ab21667 cs35l41_configure_cs_dsp +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x8e43fc02 cs35l41_init_boost +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x9483e65d cs35l41_test_key_lock +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x962b7fae cs35l41_gpio_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0x9fc099fd cs35l41_exit_hibernate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xb0fb62ea cs35l41_enter_hibernate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xe1e5b48f cs35l41_register_errata_patch +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xed60a832 cs35l41_write_fs_errata +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs35l41-lib 0xef55aceb cs35l41_regmap_spi +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x0297387d cs4271_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x7d05786f cs4271_dt_ids +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs4271 0x83d1b674 cs4271_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x375ad98c cs42l51_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x43f01a7c cs42l51_suspend +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x6f57e41f cs42l51_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0x790f7b48 cs42l51_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xaf1a136a cs42l51_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42l51 0xc41eeba4 cs42l51_resume +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x0245c4f2 cs42xx8_of_match +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x7cac7292 cs42888_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0x80506e61 cs42xx8_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xcd3794c9 cs42448_data +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xe72f5d89 cs42xx8_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-cs42xx8 0xfb2a1fac cs42xx8_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x588a4338 es8328_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-es8328 0x6359f20d es8328_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-lpass-macro-common 0x399dbb2b lpass_macro_pds_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-lpass-macro-common 0xce40366d lpass_macro_pds_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x1842416b max98373_slot_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0x81421b95 soc_codec_dev_max98373 +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0xabdc62ab max98373_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-max98373 0xf59fc843 soc_codec_dev_max98373_sdw +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x4393b5c5 mt6358_mtkaif_calibration_disable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0x637635c3 mt6358_mtkaif_calibration_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0xcb7fdc09 mt6358_set_mtkaif_calibration_phase +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-mt6358 0xfbb8b420 mt6358_set_mtkaif_protocol +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8821 0x60aa6a82 nau8821_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0x104ec57d nau8824_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-nau8824 0xbf55f96a nau8824_components +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x4e093f38 pcm1789_common_exit +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0x667f4c28 pcm1789_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm1789-codec 0xc4271742 pcm1789_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0xa55dbf4f pcm179x_common_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm179x-codec 0xc397bb6a pcm179x_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x345795a0 pcm186x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm186x 0x6f24c2ba pcm186x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x447aebd7 pcm3168a_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0x8bcc8232 pcm3168a_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xc7cbd3af pcm3168a_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm3168a 0xdd1834b5 pcm3168a_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x34e826fe pcm512x_pm_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0x45f73020 pcm512x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0xd565c57e pcm512x_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-pcm512x 0xf26e61fd pcm512x_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x5dc92cdf rl6231_pll_calc +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x70617a04 rl6231_get_clk_info +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0x8d7fa148 rl6231_get_pre_div +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rl6231 0xdba4502f rl6231_calc_dmic_clk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x1b7fa993 rt5640_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x6711ee62 rt5640_enable_micbias1_for_ovcd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x87ede236 rt5640_dmic_enable +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0x88dbdb0d rt5640_detect_headset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xccb715e8 rt5640_set_ovcd_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5640 0xf2f30870 rt5640_disable_micbias1_for_ovcd +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0x3b74774c rt5645_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5645 0xdf69a2eb rt5645_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5659 0x0dd0d3e1 rt5659_set_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x092c069b rt5682_apply_patch_list +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x24206396 rt5682_register_dai_clks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x28730696 rt5682_supply_names +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x36c2c438 rt5682_soc_component_dev +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x53cb0ac7 rt5682_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x59d3d967 rt5682_jack_detect_handler +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x63767ebd rt5682_parse_dt +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x6a9a6f85 rt5682_sel_asrc_clk_src +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x79945bca rt5682_aif2_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x7dab29b5 rt5682_calibrate +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x80b7ca16 rt5682_volatile_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0x92a3e0c9 rt5682_aif1_dai_ops +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xb897de56 rt5682_reg +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-rt5682 0xf8461c49 rt5682_readable_register +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x4e0c2f43 sigmadsp_reset +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x793670ee sigmadsp_restrict_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x837d3a53 sigmadsp_attach +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0x9f0b04be sigmadsp_setup +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp 0xffbe80b5 devm_sigmadsp_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-i2c 0xdb3e7c25 devm_sigmadsp_init_i2c +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-sigmadsp-regmap 0xd6f10972 devm_sigmadsp_init_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x4674fc85 ssm2602_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ssm2602 0x65e877ae ssm2602_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic32x4 0x3cf05971 aic32x4_register_clocks +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-tlv320aic3x 0x07734d22 aic3x_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-ts3a227e 0x8bea57cd ts3a227e_enable_jack_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd-mbhc 0x936c1623 wcd_mbhc_event_notify +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x3c6d5ce8 wcd938x_sdw_set_sdw_stream +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x420f5ab5 wcd938x_swr_get_current_bank +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x6b0be274 wcd938x_sdw_device_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0x79b0891f wcd938x_sdw_hw_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wcd938x-sdw 0xdfc0d126 wcd938x_sdw_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x031431a6 wm_halo_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x0a3fd4f5 wm_adsp2_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x19401a31 wm_adsp_compr_copy +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x366fe86d wm_adsp_fw_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x52c16479 wm_halo_wdt_expire +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x571ea5a2 wm_adsp_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x66cb62ef wm_adsp_compr_handle_irq +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x74bee096 wm_adsp1_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x778ab014 wm_adsp2_preloader_put +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x88cb8a4c wm_adsp_read_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x894458f3 wm_adsp_fw_enum +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x8f7bf2d2 wm_adsp_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x8fb5228e wm_adsp2_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x916b40f7 wm_adsp_compr_free +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x91d0e753 wm_adsp_fw_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0x96f4be72 wm_adsp2_component_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xb71896da wm_adsp2_set_dspclk +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xb8fa5391 wm_adsp2_component_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xba93e8c0 wm_adsp_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xbbf035b8 wm_adsp_compr_open +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xc9b28688 wm_adsp1_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xd035bf2a wm_adsp2_preloader_get +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xd759223f wm_adsp_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xdd3c79ef wm_adsp2_bus_error +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xea38ee07 wm_halo_bus_error +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xf644703a wm_adsp_write_ctl +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xf8d0eb18 wm_adsp_early_event +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm-adsp 0xfb06a50d wm_adsp_compr_get_caps +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0x1e3ec2ca wm8731_regmap +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8731 0xea025d4a wm8731_init +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x5448e936 wm8804_pm +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x6dd7dc3d wm8804_remove +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x805d808a wm8804_regmap_config +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8804 0x937720e9 wm8804_probe +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8903 0x8c533e10 wm8903_mic_detect +EXPORT_SYMBOL_GPL sound/soc/codecs/snd-soc-wm8962 0x4ecd6a7b wm8962_mic_detect +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-fsl-asrc 0x3ec7d749 fsl_asrc_component +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-imx-audmux 0x30693bb7 imx_audmux_v1_configure_port +EXPORT_SYMBOL_GPL sound/soc/fsl/snd-soc-imx-audmux 0x58631dab imx_audmux_v2_configure_port +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card 0x3c54d715 audio_graph_parse_of +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0x815ab97f audio_graph2_link_normal +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0x954655f6 audio_graph2_link_dpcm +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0x9f139ea8 audio_graph2_parse_of +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-audio-graph-card2 0xa8f0f166 audio_graph2_link_c2c +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x018dbbb5 asoc_simple_parse_routing +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x071890f6 asoc_simple_hw_params +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x1f6f8118 asoc_simple_remove +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x22d2eec9 asoc_simple_startup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x2eeca0fb asoc_simple_parse_widgets +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x2f62ad33 asoc_simple_dai_init +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x3c47ef04 asoc_simple_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x3e783ddf asoc_simple_parse_clk +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x40915af4 asoc_simple_parse_daifmt +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x40f8c3d8 asoc_simple_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x58c625e7 asoc_graph_is_ports0 +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x69d5f521 asoc_simple_init_priv +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x726a4588 asoc_simple_set_dailink_name +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x75e603cc asoc_simple_be_hw_params_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x86bca128 asoc_simple_clean_reference +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0x87d883c4 asoc_simple_canonicalize_cpu +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xa66edc53 asoc_simple_parse_tdm_width_map +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xa90b6e32 asoc_simple_shutdown +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xbbad36a9 asoc_simple_init_jack +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xbf8c1232 asoc_simple_canonicalize_platform +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xd68a2b22 asoc_simple_parse_convert +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xf3bafb75 asoc_simple_convert_fixup +EXPORT_SYMBOL_GPL sound/soc/generic/snd-soc-simple-card-utils 0xf5b46f81 asoc_graph_card_probe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x02b13176 snd_soc_bytes_info +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0563ea81 snd_soc_component_write_field +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x05a59d58 snd_soc_bytes_get +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x06215248 snd_soc_add_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0694bdff snd_soc_remove_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0908d90d snd_soc_runtime_set_dai_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0a0de8c8 snd_soc_dpcm_fe_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0a563fdd snd_soc_unregister_component_by_driver +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0b129739 snd_soc_component_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c3cafdb snd_soc_of_parse_audio_routing +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0c58dfac snd_soc_dapm_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0caf578d snd_soc_dapm_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x0f95ba50 snd_soc_add_dai_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x109a280a snd_soc_component_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x10a29750 snd_soc_dapm_mixer_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x14bb3402 snd_soc_dai_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1569037d snd_soc_dapm_new_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x157abece snd_soc_find_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x15c31879 snd_soc_dapm_put_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x15f10467 snd_soc_of_parse_node_prefix +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x16420dca snd_soc_component_set_jack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x184ab928 snd_soc_dai_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1a0dc1b5 snd_soc_component_update_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1be68f83 snd_soc_component_initialize +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1d8f902b snd_soc_of_put_dai_link_cpus +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x1eac27bc snd_soc_component_compr_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2109d27a snd_soc_dai_set_bclk_ratio +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x239b378e devm_snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x23bd675c snd_soc_dai_link_set_capabilities +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x23fa9f19 snd_soc_dapm_sync +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x242096fc snd_soc_dai_digital_mute +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2541a979 snd_soc_calc_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x29154c44 snd_soc_poweroff +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b2e2592 snd_soc_dai_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2b5ec210 snd_soc_put_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2ba6bd69 snd_soc_info_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2bd3272b snd_soc_dapm_weak_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2d27351e snd_soc_lookup_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2d627382 snd_soc_dapm_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2e74d5cc devm_snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2f1660f5 snd_soc_dapm_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x2f57aaa9 snd_soc_component_exit_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x30867c57 snd_soc_dai_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x316ae5e9 snd_soc_of_parse_card_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x31b81043 snd_soc_dpcm_runtime_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x322f5255 snd_soc_unregister_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x33fae84b devm_snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x34c75237 snd_soc_dai_get_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3518c101 snd_soc_bytes_tlv_callback +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x39dfc3fe snd_soc_component_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3a81e750 snd_soc_put_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3ac83e82 snd_soc_debugfs_root +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x3c805dbf soc_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x417eb745 snd_soc_component_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x420f56a6 snd_soc_dapm_mux_update_power +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x452cb0a3 snd_soc_component_compr_pointer +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4661c0c4 snd_dmaengine_pcm_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4708a425 snd_soc_of_get_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x475e0985 snd_soc_dapm_get_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x492b1396 snd_soc_runtime_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4af09801 snd_soc_resume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4b740cd6 snd_soc_info_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4fa1782d snd_soc_tdm_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x4fb2f2ac snd_soc_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x51aae9f5 snd_soc_card_add_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x51e3f618 snd_soc_dapm_dai_free_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5344e799 snd_soc_add_card_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x53f2317f snd_soc_component_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x54a684f4 snd_soc_new_compress +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x55131ebe snd_soc_set_ac97_ops_of_reset +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x55cc5f36 snd_soc_dai_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x56438472 snd_soc_of_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x56d5d6ff snd_soc_dapm_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x57a583b3 snd_soc_dai_set_channel_map +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x57c6d1c4 snd_soc_put_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x599eebef snd_soc_link_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5b7c59aa snd_soc_dapm_stream_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5baa0382 snd_soc_runtime_calc_hw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5bb0697e snd_soc_dapm_info_pin_switch +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5bfb597e snd_soc_dai_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x5cba63ee snd_soc_dai_set_sysclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6094f199 snd_soc_dapm_add_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x618eb78d snd_soc_component_compr_get_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x61f1c9a4 snd_soc_bytes_put +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6309c788 snd_soc_component_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x639fc380 snd_soc_of_parse_aux_devs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x64cb80df snd_soc_of_get_dai_link_cpus +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x663aedaf snd_soc_dpcm_get_substream +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6648d103 snd_soc_get_strobe +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x670c91ac snd_soc_dai_set_fmt +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6957be68 snd_soc_set_ac97_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6a0d1827 snd_soc_get_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6b39097a snd_soc_add_component_controls +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6b418b46 null_dailink_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6bb1cb6d snd_soc_dapm_kcontrol_dapm +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6bcb2cf4 snd_soc_dai_action +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6bd24993 snd_soc_component_compr_open +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6d061f40 snd_soc_dapm_update_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6d89a346 snd_soc_dapm_ignore_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x6f562a6d snd_soc_get_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x704eea37 snd_soc_rtdcom_lookup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x71376150 snd_soc_dai_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x71babd29 snd_soc_limit_volume +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7508840d snd_soc_dpcm_can_be_free_stop +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x75458a90 snd_soc_component_update_bits_async +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x75ab3007 snd_soc_add_pcm_runtime +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x75d5fb2d snd_soc_component_nc_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7bda83f6 snd_soc_card_jack_new_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7e606130 snd_soc_calc_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x7fbef5c5 snd_soc_put_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x808579cb snd_soc_bytes_info_ext +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8621390a snd_soc_jack_add_zones +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x87ec61f1 snd_soc_get_dai_id +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8999e778 snd_soc_set_runtime_hwparams +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8ae46825 snd_soc_lookup_component_nolocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8d370b58 snd_soc_card_jack_new +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x8e781201 snd_soc_dapm_dai_get_connected_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x911d0322 snd_soc_jack_add_pins +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x91473198 dpcm_be_dai_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x91495d8e snd_soc_component_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x926ce706 snd_soc_cnew +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x931c2e5a snd_soc_card_remove_dai_link +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9339a6f6 snd_soc_component_read_field +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9369c378 snd_soc_dapm_new_control +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x93e6ee9b snd_soc_component_async_complete +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x94678e63 snd_soc_component_force_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x95fb627c snd_soc_dapm_free_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x97c77adb snd_soc_dapm_free +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x97df0e84 dapm_kcontrol_get_value +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x993b50a4 snd_soc_dapm_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9948fa72 snd_soc_daifmt_parse_format +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9a91a8a8 snd_soc_get_dai_name +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9b133969 snd_soc_jack_report +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9b599b2d snd_soc_get_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9c62c7f3 snd_soc_card_get_kcontrol +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9c719847 snd_soc_of_put_dai_link_codecs +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0x9d852345 snd_soc_component_enable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa0827b13 snd_soc_component_test_bits +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa3c96084 snd_soc_put_enum_double +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa43926ae snd_soc_dpcm_be_can_update +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xa90ba7d9 snd_soc_dapm_init +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xabef068b snd_soc_dapm_new_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xadc7ce26 snd_soc_dai_compr_trigger +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xaff8456a snd_soc_dapm_force_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb0af8cd9 snd_soc_dapm_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb0e173ac snd_soc_of_parse_audio_simple_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb0e4e1e0 snd_soc_of_parse_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb138f4b8 snd_dmaengine_pcm_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb20ee9ff snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb4fde4e9 snd_soc_component_compr_set_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb7a0ffa8 snd_soc_jack_free_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xb93f6acd snd_soc_component_write +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbb29922b snd_soc_dai_set_clkdiv +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbc28e083 snd_soc_jack_notifier_unregister +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbcc052b7 dapm_mark_endpoints_dirty +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbcde8e27 snd_soc_dai_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbd0b9a91 snd_soc_dapm_sync_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbe4287e1 snd_soc_find_dai_with_mutex +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xbf43c70a dapm_clock_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc082563a snd_soc_component_compr_get_caps +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc0a8d829 snd_soc_dapm_get_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc0f9b260 snd_soc_dai_active +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc16536d4 snd_soc_close_delayed_work +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc2c8d7a0 dpcm_end_walk_at_be +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc317a15e snd_soc_daifmt_clock_provider_flipped +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc457fe6f snd_soc_link_compr_shutdown +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc46d6f9e snd_soc_daifmt_parse_clock_provider_raw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xc8269f94 snd_soc_params_to_frame_size +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcb7b6590 dapm_regulator_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcbb24117 snd_soc_dapm_new_dai_widgets +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcbb4fc39 snd_soc_suspend +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcdc0db25 snd_soc_dapm_del_routes +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcde1f52f dapm_pinctrl_event +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xce1656ef snd_soc_free_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xcf0c3a6c snd_soc_dai_set_tdm_slot +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd0ca0d2a snd_soc_dapm_kcontrol_widget +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd178c488 snd_soc_register_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd2a203d5 snd_soc_register_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd3706ab2 snd_soc_jack_add_gpiods +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd433cbe4 snd_soc_component_read +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd8d14f14 snd_soc_jack_add_gpios +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xd98d237d devm_snd_soc_register_dai +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdbccbea5 snd_soc_get_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdbce1384 snd_soc_dapm_force_bias_level +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdd139f6d snd_soc_jack_get_type +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xddc97acf snd_soc_jack_notifier_register +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdec5e1cb snd_soc_dpcm_can_be_params +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdede4176 snd_soc_dapm_disable_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xdfd0aa0a snd_soc_get_volsw_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe30f09d7 snd_soc_dapm_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe4f39719 snd_soc_component_nc_pin +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe617457b snd_soc_dai_set_tristate +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe6d45510 snd_soc_component_compr_get_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe74aac17 snd_soc_component_compr_copy +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe7b58a25 snd_soc_dai_compr_set_metadata +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe9057301 snd_soc_pm_ops +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xe938840b snd_soc_dapm_get_pin_status +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeb711ae7 snd_soc_params_to_bclk +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xebc0b9cc snd_soc_put_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xec341e9d snd_soc_component_set_pll +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xede179d5 snd_dmaengine_pcm_prepare_slave_config +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xee60f3a4 snd_soc_info_xr_sx +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xee6406ab snd_soc_component_compr_get_codec_caps +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xeeea3c8c snd_soc_unregister_card +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xefad03b9 snd_soc_component_disable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf07522cf snd_soc_component_compr_ack +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf0a2ac7f snd_soc_info_volsw_range +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf11ba476 snd_soc_new_ac97_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf2e447e3 snd_soc_of_parse_pin_switches +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf36afbd9 snd_soc_component_init_regmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf4177e2d snd_soc_info_volsw +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf7c6b409 snd_soc_unregister_component +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xf9622dd1 snd_soc_daifmt_clock_provider_from_bitmap +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfb97c9cb snd_soc_dapm_enable_pin_unlocked +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfbaf637b snd_soc_link_compr_startup +EXPORT_SYMBOL_GPL sound/soc/snd-soc-core 0xfc1228a6 snd_soc_of_get_slot_mask +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x028e6731 line6_send_raw_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x03c33991 line6_resume +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x18e8b2ff line6_send_raw_message_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x1b8ea1f2 line6_read_serial_number +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x202a1b1b line6_midi_id +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x337e75e0 line6_disconnect +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x7375baba line6_suspend +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x8d9c3cc7 line6_send_sysex_message +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0x92a35873 line6_pcm_acquire +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xa4574622 line6_init_midi +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xa4913ede line6_alloc_sysex_buffer +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xba2e7b05 line6_read_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xbb89ff31 line6_write_data +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xc5574b3f line6_init_pcm +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xcb2ecb8c line6_version_request_async +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xdd3aaf3c line6_pcm_release +EXPORT_SYMBOL_GPL sound/usb/line6/snd-usb-line6 0xf4c593ad line6_probe +EXPORT_SYMBOL_GPL vmlinux 0x002200d3 __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x00239988 attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0x003bfdb2 br_fdb_test_addr_hook +EXPORT_SYMBOL_GPL vmlinux 0x00454a0a devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x004db007 gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x00562518 max8997_update_reg +EXPORT_SYMBOL_GPL vmlinux 0x00593275 __hwspin_lock_timeout +EXPORT_SYMBOL_GPL vmlinux 0x006710b9 xhci_update_hub_device +EXPORT_SYMBOL_GPL vmlinux 0x006e8068 divider_ro_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0x008539f0 klp_shadow_alloc +EXPORT_SYMBOL_GPL vmlinux 0x008a2b9d pm_wakeup_ws_event +EXPORT_SYMBOL_GPL vmlinux 0x00a66f6c inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x00ad1ede __pm_runtime_idle +EXPORT_SYMBOL_GPL vmlinux 0x00cb3be5 __traceiter_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x00d099b1 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0x00d4c500 usb_decode_interval +EXPORT_SYMBOL_GPL vmlinux 0x00d6cb34 xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0x00e46927 pcibios_scan_phb +EXPORT_SYMBOL_GPL vmlinux 0x00e7d78b get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x0102f9d5 __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x0121c5c2 bpf_trace_run9 +EXPORT_SYMBOL_GPL vmlinux 0x012774b0 pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0x0140620f spi_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x01432417 serial8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x0156cb7b sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x0159c819 usb_bus_idr +EXPORT_SYMBOL_GPL vmlinux 0x01776dd5 xdp_master_redirect +EXPORT_SYMBOL_GPL vmlinux 0x017791f0 watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0x017cbf58 virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0x01866a57 ezx_pcap_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x01907648 klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x019112a6 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x01922f34 regulator_set_voltage +EXPORT_SYMBOL_GPL vmlinux 0x019498b8 spi_new_device +EXPORT_SYMBOL_GPL vmlinux 0x019c54f5 ata_std_qc_defer +EXPORT_SYMBOL_GPL vmlinux 0x019f1035 power_supply_property_is_writeable +EXPORT_SYMBOL_GPL vmlinux 0x01a0cb78 property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0x01aa4972 __ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x01e1a8de kgdb_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x01e7e6b7 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x0207a6c6 reset_control_bulk_acquire +EXPORT_SYMBOL_GPL vmlinux 0x02138387 skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0x0213a8e6 of_reserved_mem_device_init_by_idx +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x02440321 of_property_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0x0245103f pinconf_generic_dt_free_map +EXPORT_SYMBOL_GPL vmlinux 0x024d13dd request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0x024d5506 acct_bioset_exit +EXPORT_SYMBOL_GPL vmlinux 0x025e3e8a __auxiliary_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x026d1526 tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0x026e1712 pci_disable_pri +EXPORT_SYMBOL_GPL vmlinux 0x026ea989 pinctrl_utils_add_map_configs +EXPORT_SYMBOL_GPL vmlinux 0x027dcd1a raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x0284321b dma_resv_iter_first +EXPORT_SYMBOL_GPL vmlinux 0x028f0476 sdio_memcpy_toio +EXPORT_SYMBOL_GPL vmlinux 0x029d6bad crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x02a84b7a fwnode_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x02bb9986 blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0x02c1875b rio_inb_pwrite_handler +EXPORT_SYMBOL_GPL vmlinux 0x02c5c501 power_supply_find_ocv2cap_table +EXPORT_SYMBOL_GPL vmlinux 0x02dce5e8 vga_default_device +EXPORT_SYMBOL_GPL vmlinux 0x02ed2705 gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x02f4e00b ata_pci_bmdma_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x030f443a fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0312b3b0 reset_controller_add_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0313e496 serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0x031ae819 dma_resv_get_singleton +EXPORT_SYMBOL_GPL vmlinux 0x0321cdbf of_alias_get_highest_id +EXPORT_SYMBOL_GPL vmlinux 0x0325bbce vfio_register_iommu_driver +EXPORT_SYMBOL_GPL vmlinux 0x0332a213 power_supply_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x033832c7 usb_amd_hang_symptom_quirk +EXPORT_SYMBOL_GPL vmlinux 0x033a2e51 page_cache_async_ra +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x0353c6a9 sbitmap_queue_recalculate_wake_batch +EXPORT_SYMBOL_GPL vmlinux 0x0354c916 __trace_trigger_soft_disabled +EXPORT_SYMBOL_GPL vmlinux 0x0358b897 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0x036de383 perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x03730ddb of_irq_parse_and_map_pci +EXPORT_SYMBOL_GPL vmlinux 0x037badfd dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0x038eb3a7 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x039944a8 ipv4_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x03ae3a20 of_clk_src_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0x03b65492 sdio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x03b89d67 da903x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x03c12dfe cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x03ca6a1a nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0x03ce7234 sched_smt_present +EXPORT_SYMBOL_GPL vmlinux 0x03d4a285 phy_create +EXPORT_SYMBOL_GPL vmlinux 0x03e11898 irq_generic_chip_ops +EXPORT_SYMBOL_GPL vmlinux 0x03f0f2d0 rio_route_clr_table +EXPORT_SYMBOL_GPL vmlinux 0x03f9b32d tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0x0402cbbf preempt_notifier_inc +EXPORT_SYMBOL_GPL vmlinux 0x04258796 opal_flash_read +EXPORT_SYMBOL_GPL vmlinux 0x042c04f6 iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0x04395910 pinctrl_find_and_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0x0465a073 regmap_reg_in_ranges +EXPORT_SYMBOL_GPL vmlinux 0x046f359e of_overlay_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x046f6e2f blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x047064c7 srp_stop_rport_timers +EXPORT_SYMBOL_GPL vmlinux 0x0478485f regulator_get_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0x048b5f8d twl4030_audio_get_mclk +EXPORT_SYMBOL_GPL vmlinux 0x048d446e devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0x04932c74 badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0x0497863d pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0x04992b68 pm_generic_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x049c0171 rtc_class_open +EXPORT_SYMBOL_GPL vmlinux 0x049e3ee9 tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0x04bf0092 io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x04c41c60 devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04c8aebf console_verbose +EXPORT_SYMBOL_GPL vmlinux 0x04c9183d pm_runtime_force_resume +EXPORT_SYMBOL_GPL vmlinux 0x04cc5bca shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0x04df8fbc lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x04e9e85f pinctrl_utils_add_config +EXPORT_SYMBOL_GPL vmlinux 0x04fba19f usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0x051a0bc1 stack_depot_fetch +EXPORT_SYMBOL_GPL vmlinux 0x0526f377 ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0x052b4013 register_vmcore_cb +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x053d738a __SCK__tp_func_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x05400571 serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x05464841 devlink_to_dev +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x05564eda usb_hcd_resume_root_hub +EXPORT_SYMBOL_GPL vmlinux 0x0558ab4a freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x05590c83 mpc8xxx_spi_rx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x055a7b2d iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0x055b8217 usb_string +EXPORT_SYMBOL_GPL vmlinux 0x05610897 of_changeset_destroy +EXPORT_SYMBOL_GPL vmlinux 0x05691001 tps65912_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x056aae8e ohci_restart +EXPORT_SYMBOL_GPL vmlinux 0x056ae989 kvmppc_do_h_enter +EXPORT_SYMBOL_GPL vmlinux 0x05883efb __traceiter_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x058c6377 for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0x05ad0ace posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x05c130e8 gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0x05d2c0c6 firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0x05d89535 device_wakeup_disable +EXPORT_SYMBOL_GPL vmlinux 0x05dccd3c dev_pm_qos_update_user_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x05eece3c virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0x05f1c8e6 icc_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x0603de1e usb_phy_roothub_suspend +EXPORT_SYMBOL_GPL vmlinux 0x06055a23 __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x060f8834 component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0x0617b7e6 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL vmlinux 0x0621a86b dev_pm_opp_put_regulators +EXPORT_SYMBOL_GPL vmlinux 0x0626da5f od_unregister_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x06285d2a leds_list_lock +EXPORT_SYMBOL_GPL vmlinux 0x063c2b43 devm_of_led_get +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x0679949c of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x068aa67a devm_led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x0696c661 gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x069ffb66 devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0x06a1f56b vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0x06b61b18 genpd_dev_pm_attach +EXPORT_SYMBOL_GPL vmlinux 0x06c52ce0 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06e3b666 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x07097686 devfreq_event_get_event +EXPORT_SYMBOL_GPL vmlinux 0x0709ebd3 mbox_send_message +EXPORT_SYMBOL_GPL vmlinux 0x071b0a86 led_trigger_rename_static +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x07483e13 cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0x074f98db synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x0756a31c register_platform_power_off +EXPORT_SYMBOL_GPL vmlinux 0x0758ca7e __iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x075e9727 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x076356e7 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x0780c3fa fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x0784dd98 skcipher_alloc_instance_simple +EXPORT_SYMBOL_GPL vmlinux 0x07b21f85 kdb_get_kbd_char +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07b70b1c power_supply_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07be6905 net_inc_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x07d4d192 ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x07e62da5 decrementer_max +EXPORT_SYMBOL_GPL vmlinux 0x07f766e2 device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x08025739 dev_pm_opp_enable +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x081b980c pci_iomap_wc +EXPORT_SYMBOL_GPL vmlinux 0x081f4f8a pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x08222851 of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0x083f5294 fuse_init_fs_context_submount +EXPORT_SYMBOL_GPL vmlinux 0x084418bd bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0x0847eb33 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x0851f509 stmpe_block_read +EXPORT_SYMBOL_GPL vmlinux 0x08529394 page_cache_sync_ra +EXPORT_SYMBOL_GPL vmlinux 0x086a1b28 regmap_get_reg_stride +EXPORT_SYMBOL_GPL vmlinux 0x087f5dc5 wm831x_of_match +EXPORT_SYMBOL_GPL vmlinux 0x088a86fd fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0x089ff7dc regulator_set_ramp_delay_regmap +EXPORT_SYMBOL_GPL vmlinux 0x08a88a9f __SCK__tp_func_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x08b523f1 bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0x08bbb207 scsi_build_sense +EXPORT_SYMBOL_GPL vmlinux 0x08c78cf7 offline_and_remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x08ddf749 blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x08e2bab7 sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x08e77d29 vp_legacy_set_status +EXPORT_SYMBOL_GPL vmlinux 0x0904c4eb __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x091216d9 genphy_c45_read_pma +EXPORT_SYMBOL_GPL vmlinux 0x0916d722 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0x091c824a machine_power_off +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x093786cf synth_event_add_field_str +EXPORT_SYMBOL_GPL vmlinux 0x09745721 tps65912_device_exit +EXPORT_SYMBOL_GPL vmlinux 0x097a5e35 vas_register_api_powernv +EXPORT_SYMBOL_GPL vmlinux 0x097fc857 xhci_run +EXPORT_SYMBOL_GPL vmlinux 0x098c4e42 thermal_zone_get_zone_by_name +EXPORT_SYMBOL_GPL vmlinux 0x09952284 rtc_set_time +EXPORT_SYMBOL_GPL vmlinux 0x09973e74 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x099b14f2 virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0x09a7409f xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0x09a7f86e wm8350_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09b5b2e8 rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0x09d83ef6 sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0x09dc5eac hash_page_mm +EXPORT_SYMBOL_GPL vmlinux 0x09e70363 devm_regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x09ed2a43 iommu_present +EXPORT_SYMBOL_GPL vmlinux 0x0a26e2dc virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0x0a275be0 regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x0a328fbd rtc_update_irq +EXPORT_SYMBOL_GPL vmlinux 0x0a3a0e1c phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0x0a41a37c hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0a463293 __tracepoint_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x0a51ae5b virq_to_hw +EXPORT_SYMBOL_GPL vmlinux 0x0a529a89 dev_pm_opp_remove +EXPORT_SYMBOL_GPL vmlinux 0x0a5691ab zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0x0a62e909 __rio_local_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x0a66554b vfio_virqfd_disable +EXPORT_SYMBOL_GPL vmlinux 0x0a6a99e5 xhci_gen_setup +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a7ceb30 __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x0a852d9b dev_pm_domain_start +EXPORT_SYMBOL_GPL vmlinux 0x0a94684a unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x0a9c5a7a fsverity_ioctl_enable +EXPORT_SYMBOL_GPL vmlinux 0x0aa142f5 fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0x0aaa1dc7 kvmppc_save_user_regs +EXPORT_SYMBOL_GPL vmlinux 0x0abdc439 cc_platform_has +EXPORT_SYMBOL_GPL vmlinux 0x0acad5bd nvmem_cell_read_u16 +EXPORT_SYMBOL_GPL vmlinux 0x0aceaffe regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x0acebe73 pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0x0ad85fe4 debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0x0adbecac alarmtimer_get_rtcdev +EXPORT_SYMBOL_GPL vmlinux 0x0af13131 blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0x0af22d6a serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x0af40724 iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0x0af4798b usb_wait_anchor_empty_timeout +EXPORT_SYMBOL_GPL vmlinux 0x0aff1ce4 percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x0b0510b9 __devm_spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b186222 pstore_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0b2db2d5 remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x0b317ca9 vfio_pci_core_read +EXPORT_SYMBOL_GPL vmlinux 0x0b3c54c6 devm_memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0x0b41d76b device_find_child +EXPORT_SYMBOL_GPL vmlinux 0x0b5f5cee generic_access_phys +EXPORT_SYMBOL_GPL vmlinux 0x0b60265f regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x0b91fda1 genphy_c45_pma_suspend +EXPORT_SYMBOL_GPL vmlinux 0x0bad72ac fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x0bb12c79 devlink_port_type_eth_set +EXPORT_SYMBOL_GPL vmlinux 0x0bbdc9b2 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x0bbf6bc4 devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0x0bcf0e32 gpiochip_generic_request +EXPORT_SYMBOL_GPL vmlinux 0x0bcf96e4 sata_link_debounce +EXPORT_SYMBOL_GPL vmlinux 0x0bd24910 ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0x0be29867 crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x0bee671b of_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x0bf32478 __SCK__tp_func_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c047599 sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0x0c095cbb devm_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0x0c0b71b0 gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0x0c0c132b dma_async_device_channel_register +EXPORT_SYMBOL_GPL vmlinux 0x0c1d2f6e clk_hw_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x0c1f3632 fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0x0c26b130 led_init_core +EXPORT_SYMBOL_GPL vmlinux 0x0c2c5802 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0c32ff8a edac_pci_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x0c39a4ea sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x0c3dd5b8 pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0x0c402cac replay_system_reset +EXPORT_SYMBOL_GPL vmlinux 0x0c4e4200 vp_legacy_set_features +EXPORT_SYMBOL_GPL vmlinux 0x0c580ca2 __traceiter_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x0c6124f6 folio_wait_writeback +EXPORT_SYMBOL_GPL vmlinux 0x0c805ea3 pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0x0c88c1c3 pci_vpd_find_id_string +EXPORT_SYMBOL_GPL vmlinux 0x0ca61f60 sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x0cab1cb3 ata_sff_busy_sleep +EXPORT_SYMBOL_GPL vmlinux 0x0cb9a778 ata_port_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x0cbe3ee2 software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0cc9d36c iommu_group_claim_dma_owner +EXPORT_SYMBOL_GPL vmlinux 0x0ce3ee5a mmu_kernel_ssize +EXPORT_SYMBOL_GPL vmlinux 0x0cead399 pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0x0cf24224 dev_pm_get_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0x0d092b38 regmap_get_device +EXPORT_SYMBOL_GPL vmlinux 0x0d09661b dma_request_chan +EXPORT_SYMBOL_GPL vmlinux 0x0d125ab6 trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0x0d156a6f debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x0d258a7b thermal_zone_unbind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0x0d389db7 list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0d429843 serial8250_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x0d459213 work_on_cpu_safe +EXPORT_SYMBOL_GPL vmlinux 0x0d4711c7 devlink_port_region_create +EXPORT_SYMBOL_GPL vmlinux 0x0d4961de nf_log_buf_open +EXPORT_SYMBOL_GPL vmlinux 0x0d496a54 crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x0d49e04f eeh_pe_configure +EXPORT_SYMBOL_GPL vmlinux 0x0d50bfbf elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0d5cecc6 ima_measure_critical_data +EXPORT_SYMBOL_GPL vmlinux 0x0d7f0a73 nf_hooks_lwtunnel_sysctl_handler +EXPORT_SYMBOL_GPL vmlinux 0x0d95260d dev_pm_qos_expose_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0x0db919e1 fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x0dc7e01d simple_rename_exchange +EXPORT_SYMBOL_GPL vmlinux 0x0dd5a05b dax_iomap_rw +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0de06988 cpu_first_thread_of_core +EXPORT_SYMBOL_GPL vmlinux 0x0de8861e bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x0df50594 vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0x0e0a168b btree_insert +EXPORT_SYMBOL_GPL vmlinux 0x0e0b9940 bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0x0e0c6a7d crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0x0e322112 regulator_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x0e379bab usb_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x0e468f2e da9052_request_irq +EXPORT_SYMBOL_GPL vmlinux 0x0e4a532a bpf_trace_run1 +EXPORT_SYMBOL_GPL vmlinux 0x0e4f9f52 __spi_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0x0e521b82 btree_update +EXPORT_SYMBOL_GPL vmlinux 0x0e5cc9d7 xdp_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x0e60e877 skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0x0e61ea0d component_master_del +EXPORT_SYMBOL_GPL vmlinux 0x0e629254 gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x0e6b79af static_key_disable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x0e8055e3 genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x0e878519 regulator_set_soft_start_regmap +EXPORT_SYMBOL_GPL vmlinux 0x0e8bbe10 irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0x0ea2a72b usb_scuttle_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x0ea6a18d crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x0ea94167 inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x0ead818a page_cache_ra_unbounded +EXPORT_SYMBOL_GPL vmlinux 0x0ebb03a4 devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0ed29448 __devm_clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x0ee28fba clk_hw_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x0ee8e400 kvmppc_h_set_xdabr +EXPORT_SYMBOL_GPL vmlinux 0x0ee9944a irq_setup_alt_chip +EXPORT_SYMBOL_GPL vmlinux 0x0eec7176 extcon_get_state +EXPORT_SYMBOL_GPL vmlinux 0x0ef07bcb pci_vpd_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0f03f918 fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0x0f097e24 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f23d709 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x0f25ac9f perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0x0f2f23a4 serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0x0f35efa8 gov_attr_set_put +EXPORT_SYMBOL_GPL vmlinux 0x0f3dc715 spi_add_device +EXPORT_SYMBOL_GPL vmlinux 0x0f43252f spi_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x0f49c948 pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x0f5bad01 clk_register +EXPORT_SYMBOL_GPL vmlinux 0x0f60f337 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x0f68aa6e sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x0f726abf crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x0f8f082f synth_event_create +EXPORT_SYMBOL_GPL vmlinux 0x0f9df41a usb_of_get_interface_node +EXPORT_SYMBOL_GPL vmlinux 0x0f9fc865 of_device_request_module +EXPORT_SYMBOL_GPL vmlinux 0x0faa2c9a __tracepoint_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x0fb74564 dev_pm_opp_get_of_node +EXPORT_SYMBOL_GPL vmlinux 0x0fbb7344 memremap_compat_align +EXPORT_SYMBOL_GPL vmlinux 0x0fc246d4 msg_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0x0fc66d18 sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0x0fd4610e kmem_dump_obj +EXPORT_SYMBOL_GPL vmlinux 0x0fd9c068 udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x0feba8cb fscrypt_add_test_dummy_key +EXPORT_SYMBOL_GPL vmlinux 0x10015de4 blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x100a5a28 __traceiter_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x100ea0cc power_supply_get_property_from_supplier +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x10207fa9 powercap_unregister_zone +EXPORT_SYMBOL_GPL vmlinux 0x103e0c0d regulator_is_enabled_regmap +EXPORT_SYMBOL_GPL vmlinux 0x104bb69f iomap_dio_bio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x104c3347 wm8350_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x1066a450 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x10686d31 ata_port_desc +EXPORT_SYMBOL_GPL vmlinux 0x1068ba5b iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1088388b of_regulator_match +EXPORT_SYMBOL_GPL vmlinux 0x108a0acd bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0x108c9646 devfreq_event_disable_edev +EXPORT_SYMBOL_GPL vmlinux 0x108d4fa0 crypto_comp_compress +EXPORT_SYMBOL_GPL vmlinux 0x109e2916 cpuidle_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x10b77a09 kvmppc_p9_enter_guest +EXPORT_SYMBOL_GPL vmlinux 0x10c2004b dev_pm_opp_init_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x10c87ab2 usb_bulk_msg +EXPORT_SYMBOL_GPL vmlinux 0x10d9f317 stack_depot_init +EXPORT_SYMBOL_GPL vmlinux 0x10ecc52c usb_amd_quirk_pll_enable +EXPORT_SYMBOL_GPL vmlinux 0x10fe219a __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0x1101dc9a fwnode_graph_get_endpoint_count +EXPORT_SYMBOL_GPL vmlinux 0x1114011d threads_shift +EXPORT_SYMBOL_GPL vmlinux 0x1117f2f3 adp5520_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1119dc35 hte_ts_get +EXPORT_SYMBOL_GPL vmlinux 0x111e6dfc pnv_get_supported_cpuidle_states +EXPORT_SYMBOL_GPL vmlinux 0x1127dcc0 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x1136cfbf irq_domain_create_simple +EXPORT_SYMBOL_GPL vmlinux 0x113b1688 gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0x113b3fc7 __clk_get_hw +EXPORT_SYMBOL_GPL vmlinux 0x11551196 usb_hcd_pci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x1158f8e3 wm831x_reg_lock +EXPORT_SYMBOL_GPL vmlinux 0x11638a69 xive_native_alloc_vp_block +EXPORT_SYMBOL_GPL vmlinux 0x116c233a usb_autopm_get_interface +EXPORT_SYMBOL_GPL vmlinux 0x116ccc97 apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0x116f7fa8 kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0x117c2f24 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0x117eea7b divider_recalc_rate +EXPORT_SYMBOL_GPL vmlinux 0x118b539e blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0x11997ced led_get_default_pattern +EXPORT_SYMBOL_GPL vmlinux 0x11a938c9 fixup_user_fault +EXPORT_SYMBOL_GPL vmlinux 0x11ad70d8 led_classdev_notify_brightness_hw_changed +EXPORT_SYMBOL_GPL vmlinux 0x11c155d3 pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0x11ca8615 do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x11d28c3f pci_epf_remove_vepf +EXPORT_SYMBOL_GPL vmlinux 0x11d8a2d4 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0x11de6925 wm831x_auxadc_read_uv +EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x11e7d726 gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0x11ff61ed wm831x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x1201ec42 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0x1203a4fe device_set_node +EXPORT_SYMBOL_GPL vmlinux 0x1217b5fc irq_remove_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x121d958a unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x12211d03 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x12237fc3 __traceiter_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x122ce299 sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0x1234e483 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x1240d411 crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0x12437e32 pm_runtime_get_if_active +EXPORT_SYMBOL_GPL vmlinux 0x12537dae __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x12581577 usb_poison_urb +EXPORT_SYMBOL_GPL vmlinux 0x12661fb6 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x1268f357 resume_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0x126eb335 crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0x1285af47 trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x129334ae sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0x129c9394 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x12a3b507 badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0x12c015d5 edac_pci_handle_pe +EXPORT_SYMBOL_GPL vmlinux 0x12c25e51 eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0x12c6dc1d dev_pm_opp_get_max_clock_latency +EXPORT_SYMBOL_GPL vmlinux 0x12e52676 vfs_inode_has_locks +EXPORT_SYMBOL_GPL vmlinux 0x12ee1173 memory_group_unregister +EXPORT_SYMBOL_GPL vmlinux 0x12faceb7 tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0x130a6304 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0x131a5ed7 regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x13261012 pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0x132c9f39 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x1354c0a6 pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0x1358fba5 eeh_dev_open +EXPORT_SYMBOL_GPL vmlinux 0x136209db power_supply_reg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x13640660 get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x13700078 of_irq_to_resource_table +EXPORT_SYMBOL_GPL vmlinux 0x13711ac9 rio_mport_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x1372e6cb ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1376982c __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0x137e955c iommu_tce_table_put +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x13935b2e add_wait_queue_priority +EXPORT_SYMBOL_GPL vmlinux 0x13945a74 fs_dax_get_by_bdev +EXPORT_SYMBOL_GPL vmlinux 0x13b902bc dax_layout_busy_page +EXPORT_SYMBOL_GPL vmlinux 0x13bd1ceb mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0x13ce87e8 asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0x13d2ca0c dev_pm_opp_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x13dd8110 blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x13e5fe7c tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x13fab921 cpuidle_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x13fc3621 handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x1403ad09 cpufreq_add_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x14160e85 dev_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x141dc82d skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x143efec9 fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0x14436801 fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x146cc88f bpf_master_redirect_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x14765eca regulator_set_suspend_voltage +EXPORT_SYMBOL_GPL vmlinux 0x147e1c7b skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0x149683c1 fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x14aeef55 device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x14b63b92 vp_modern_get_features +EXPORT_SYMBOL_GPL vmlinux 0x14b6febf devm_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x14c1be56 __xdp_build_skb_from_frame +EXPORT_SYMBOL_GPL vmlinux 0x14d4dc25 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x14e9f089 iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x14f0b7e2 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x14ff43d3 sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0x150a572a md_submit_discard_bio +EXPORT_SYMBOL_GPL vmlinux 0x150ec44a rio_add_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0x15119189 nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x151d3652 acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0x15202e7e usb_urb_ep_type_check +EXPORT_SYMBOL_GPL vmlinux 0x15294601 fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x152c6cce __class_register +EXPORT_SYMBOL_GPL vmlinux 0x1537c7f2 opal_ipmi_recv +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x1543da77 nvdimm_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x1562339f iommu_flush_tce +EXPORT_SYMBOL_GPL vmlinux 0x15693acf fscrypt_set_context +EXPORT_SYMBOL_GPL vmlinux 0x15714802 pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0x15886f48 hte_disable_ts +EXPORT_SYMBOL_GPL vmlinux 0x159d5a81 devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0x15a0e99e skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0x15ade1cc filter_irq_stacks +EXPORT_SYMBOL_GPL vmlinux 0x15c21e5e nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0x15c60a71 __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x15c9ce06 dummy_con +EXPORT_SYMBOL_GPL vmlinux 0x15cdf85d pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x15e04491 regmap_can_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x15ea2648 hwpoison_filter_flags_mask +EXPORT_SYMBOL_GPL vmlinux 0x15f3c2ef ata_sas_sync_probe +EXPORT_SYMBOL_GPL vmlinux 0x15fd52bb of_property_read_variable_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x1604c89e led_trigger_write +EXPORT_SYMBOL_GPL vmlinux 0x160f3baa xhci_drop_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x162d27b1 usb_hc_died +EXPORT_SYMBOL_GPL vmlinux 0x16369a27 xive_native_sync_queue +EXPORT_SYMBOL_GPL vmlinux 0x16383c53 spi_controller_dma_unmap_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x163fccab __regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0x16422a6e xdp_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x166e225f fw_devlink_purge_absent_suppliers +EXPORT_SYMBOL_GPL vmlinux 0x16749cab regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x167d430d devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1685b5d9 scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0x1687ec20 tty_get_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x1690b503 usb_role_switch_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x169e4285 devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x16c5ec08 alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0x16cb8215 power_supply_class +EXPORT_SYMBOL_GPL vmlinux 0x16d2855d __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16dfbf36 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x16ed2917 tty_get_icount +EXPORT_SYMBOL_GPL vmlinux 0x16f23aba pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x16f3ee31 pinmux_generic_add_function +EXPORT_SYMBOL_GPL vmlinux 0x16f8cb20 iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x1714c2b7 mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0x171874b2 blocking_notifier_call_chain_robust +EXPORT_SYMBOL_GPL vmlinux 0x1723313e pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0x17273253 reset_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1737ef5b gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x174c6274 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x17528d89 idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0x176031a7 devlink_fmsg_string_put +EXPORT_SYMBOL_GPL vmlinux 0x17613e1f rio_unmap_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x1779a2d0 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x177c338d twl_get_version +EXPORT_SYMBOL_GPL vmlinux 0x17815b1e __hwspin_unlock +EXPORT_SYMBOL_GPL vmlinux 0x178bedb1 tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0x179edebe kvmppc_h_clear_mod +EXPORT_SYMBOL_GPL vmlinux 0x17a31743 pci_hp_add +EXPORT_SYMBOL_GPL vmlinux 0x17b5189d fwnode_graph_get_remote_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x17c2cbfc hash__alloc_context_id +EXPORT_SYMBOL_GPL vmlinux 0x17c83344 crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x1802ad79 pm_generic_thaw_early +EXPORT_SYMBOL_GPL vmlinux 0x182656cc platform_has +EXPORT_SYMBOL_GPL vmlinux 0x18276a0f od_register_powersave_bias_handler +EXPORT_SYMBOL_GPL vmlinux 0x182b91f9 list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0x18356ed2 vfio_pci_core_write +EXPORT_SYMBOL_GPL vmlinux 0x183792f8 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0x18428692 __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x1843e540 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0x185adb50 mptcp_pm_get_add_addr_accept_max +EXPORT_SYMBOL_GPL vmlinux 0x18654dea trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0x1866c012 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x187606bb virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0x18819bd1 sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x1884430e cpufreq_frequency_table_get_index +EXPORT_SYMBOL_GPL vmlinux 0x188c141f pci_epf_add_vepf +EXPORT_SYMBOL_GPL vmlinux 0x188ef8c2 phy_10gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x1890a662 pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0x18965763 ata_sas_async_probe +EXPORT_SYMBOL_GPL vmlinux 0x189f874d powernv_get_random_long +EXPORT_SYMBOL_GPL vmlinux 0x18b9492d adp5520_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0x18be0063 extcon_get_edev_name +EXPORT_SYMBOL_GPL vmlinux 0x18cb948a dw_pcie_ep_reset_bar +EXPORT_SYMBOL_GPL vmlinux 0x18dee5e6 fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x18fb88b3 irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0x1902178a srp_tmo_valid +EXPORT_SYMBOL_GPL vmlinux 0x1909d0d5 bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0x190a31e7 sata_scr_valid +EXPORT_SYMBOL_GPL vmlinux 0x190e5c1d spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x1910a0bf dev_coredumpv +EXPORT_SYMBOL_GPL vmlinux 0x19139fb0 __spi_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x193dfdf6 klp_get_prev_state +EXPORT_SYMBOL_GPL vmlinux 0x1943bd33 clk_hw_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1951d34d component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0x19598212 virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x195e6b53 do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0x19675863 ehci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0x1968207a blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x196b11a7 devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0x196f0c8b badrange_init +EXPORT_SYMBOL_GPL vmlinux 0x19821689 __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x19a304ba usb_disabled +EXPORT_SYMBOL_GPL vmlinux 0x19b3af74 crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0x19c20269 soc_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x19c7f647 of_pm_clk_add_clks +EXPORT_SYMBOL_GPL vmlinux 0x19c97d6d get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x19d0a0b2 nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0x19d93f6d __irq_apply_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0x19dfe5ec crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19e81304 btree_alloc +EXPORT_SYMBOL_GPL vmlinux 0x19ee90da of_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x19ffb20b inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x1a061950 ehci_adjust_port_wakeup_flags +EXPORT_SYMBOL_GPL vmlinux 0x1a0f4fba regmap_field_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a11a7fc irq_of_parse_and_map +EXPORT_SYMBOL_GPL vmlinux 0x1a146ec3 usb_ep_type_string +EXPORT_SYMBOL_GPL vmlinux 0x1a1e8472 led_trigger_blink +EXPORT_SYMBOL_GPL vmlinux 0x1a2607cf regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x1a2c55db tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1a2c6230 tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x1a558445 devres_get +EXPORT_SYMBOL_GPL vmlinux 0x1a5c30c2 vp_modern_get_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x1a5eafd5 cpufreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1a690a3f auxiliary_find_device +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a7e30a7 input_class +EXPORT_SYMBOL_GPL vmlinux 0x1a834ee0 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x1a876574 __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x1a9c20b1 xive_cleanup_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x1aa63736 icc_set_tag +EXPORT_SYMBOL_GPL vmlinux 0x1abf44a9 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0x1acd18c8 cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x1ad47e06 mptcp_pm_get_add_addr_signal_max +EXPORT_SYMBOL_GPL vmlinux 0x1ae85ed4 fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1af611a6 sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0x1af8f5d2 gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x1b08e1a5 mctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x1b2d613d genpd_dev_pm_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x1b320af7 pnv_pci_get_presence_state +EXPORT_SYMBOL_GPL vmlinux 0x1b3faa45 regulator_get_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0x1b4dc291 iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0x1b5059ce ata_id_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x1b5ac30c nvmem_cell_read_variable_le_u32 +EXPORT_SYMBOL_GPL vmlinux 0x1b707216 extcon_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1b7669ed pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0x1b7d669d cpufreq_dbs_governor_exit +EXPORT_SYMBOL_GPL vmlinux 0x1b85ebcb blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0x1b8822d8 pinctrl_gpio_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x1b92e41d inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x1b9664d1 __destroy_context +EXPORT_SYMBOL_GPL vmlinux 0x1b9d61b3 scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0x1bc5eebe pinctrl_gpio_direction_input +EXPORT_SYMBOL_GPL vmlinux 0x1bcb7151 blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0x1bd3d7eb nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0x1bddfde8 device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0x1be921c4 iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x1bea723a rio_local_set_device_id +EXPORT_SYMBOL_GPL vmlinux 0x1bee4974 sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x1c0631cb bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x1c1a0fe1 usb_hcd_unmap_urb_setup_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x1c28fbf6 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0x1c2ef225 power_supply_changed +EXPORT_SYMBOL_GPL vmlinux 0x1c5541bd cpufreq_boost_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1c556dc8 l3mdev_table_lookup_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c5ff742 clk_get_phase +EXPORT_SYMBOL_GPL vmlinux 0x1c62e34d opal_get_sensor_data +EXPORT_SYMBOL_GPL vmlinux 0x1c7114df of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x1c76937e tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0x1c78ac3b devl_assert_locked +EXPORT_SYMBOL_GPL vmlinux 0x1c78ebca nvmem_cell_read_variable_le_u64 +EXPORT_SYMBOL_GPL vmlinux 0x1c7df74c kvm_hv_vm_activated +EXPORT_SYMBOL_GPL vmlinux 0x1c80d27d btree_geo128 +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c88657b i2c_dw_validate_speed +EXPORT_SYMBOL_GPL vmlinux 0x1c8bca8d emulate_vsx_store +EXPORT_SYMBOL_GPL vmlinux 0x1c8e2fed usb_free_urb +EXPORT_SYMBOL_GPL vmlinux 0x1ca169ae sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0x1cba415e clk_register_fractional_divider +EXPORT_SYMBOL_GPL vmlinux 0x1cbd92b0 cpu_mitigations_off +EXPORT_SYMBOL_GPL vmlinux 0x1cc00362 debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x1cc094df dmaengine_unmap_put +EXPORT_SYMBOL_GPL vmlinux 0x1cc987f3 clk_hw_get_name +EXPORT_SYMBOL_GPL vmlinux 0x1cd5a3a1 devfreq_event_get_edev_count +EXPORT_SYMBOL_GPL vmlinux 0x1cef3226 usb_bus_idr_lock +EXPORT_SYMBOL_GPL vmlinux 0x1cf0fd9f restore_p9_host_os_sprs +EXPORT_SYMBOL_GPL vmlinux 0x1cfe4101 clkdev_hw_create +EXPORT_SYMBOL_GPL vmlinux 0x1d148155 __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x1d2056ee phy_pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d24466e security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x1d251d71 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0x1d4ab6e9 vfio_pci_core_disable +EXPORT_SYMBOL_GPL vmlinux 0x1d4c7940 iommu_tce_kill +EXPORT_SYMBOL_GPL vmlinux 0x1d51e8b4 sdio_align_size +EXPORT_SYMBOL_GPL vmlinux 0x1d725e59 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0x1d73012d kvmppc_update_dirty_map +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1d850144 lp8788_read_byte +EXPORT_SYMBOL_GPL vmlinux 0x1d888e12 put_io_context +EXPORT_SYMBOL_GPL vmlinux 0x1d9202c4 devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0x1d9efd21 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x1da6f4df pci_find_vsec_capability +EXPORT_SYMBOL_GPL vmlinux 0x1db9927b device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0x1dd8e6ac irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0x1df33284 opal_prd_msg +EXPORT_SYMBOL_GPL vmlinux 0x1df9e692 regulator_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x1dfa5dbd mpi_invm +EXPORT_SYMBOL_GPL vmlinux 0x1e0670c6 reset_control_release +EXPORT_SYMBOL_GPL vmlinux 0x1e0cf235 opal_get_sensor_data_u64 +EXPORT_SYMBOL_GPL vmlinux 0x1e2d848e sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x1e408669 ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0x1e424d61 user_preparse +EXPORT_SYMBOL_GPL vmlinux 0x1e438d16 wakeup_source_register +EXPORT_SYMBOL_GPL vmlinux 0x1e4a2394 devm_rtc_allocate_device +EXPORT_SYMBOL_GPL vmlinux 0x1e4e2556 input_device_enabled +EXPORT_SYMBOL_GPL vmlinux 0x1e53f827 stack_depot_print +EXPORT_SYMBOL_GPL vmlinux 0x1e5c369d clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x1e65eebf gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e7cc785 pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x1e81d00d sampling_rate_store +EXPORT_SYMBOL_GPL vmlinux 0x1e81f49a serial8250_em485_destroy +EXPORT_SYMBOL_GPL vmlinux 0x1e8389e1 debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0x1e883649 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x1e8fac8e wireless_nlevent_flush +EXPORT_SYMBOL_GPL vmlinux 0x1e9170a8 rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x1e93e14a blk_crypto_evict_key +EXPORT_SYMBOL_GPL vmlinux 0x1e9c590a usb_find_common_endpoints_reverse +EXPORT_SYMBOL_GPL vmlinux 0x1eafd61e usb_hcd_start_port_resume +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ed4d2eb percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x1edac5c3 xive_native_enable_vp +EXPORT_SYMBOL_GPL vmlinux 0x1ee4d4fb ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0x1ee9fd5a led_trigger_event +EXPORT_SYMBOL_GPL vmlinux 0x1ef20793 stop_core_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x1efa35d9 gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0x1efaa06f __tracepoint_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x1efabdfa pseries_eeh_init_edev_recursive +EXPORT_SYMBOL_GPL vmlinux 0x1f050e36 pnv_pci_set_power_state +EXPORT_SYMBOL_GPL vmlinux 0x1f0fcf9f regulator_set_pull_down_regmap +EXPORT_SYMBOL_GPL vmlinux 0x1f38a4f6 mpi_set_highbit +EXPORT_SYMBOL_GPL vmlinux 0x1f449588 mctrl_gpio_disable_ms +EXPORT_SYMBOL_GPL vmlinux 0x1f4590b0 md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0x1f4b8615 crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f7d5262 dev_pm_opp_put_clkname +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f85947a of_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x1f92399d icc_get +EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x1fb1dc2e irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0x1fcf1b40 static_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x1fd34df1 dev_pm_opp_of_add_table_noclk +EXPORT_SYMBOL_GPL vmlinux 0x1fdb2659 proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x1ff1e5f9 of_property_read_variable_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x1ff9aaf7 pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0x2009ca2d usb_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x2009e400 devlink_info_board_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x200d4550 dev_pm_opp_find_level_exact +EXPORT_SYMBOL_GPL vmlinux 0x202d4ed6 nvmem_cell_write +EXPORT_SYMBOL_GPL vmlinux 0x20324a3d rio_mport_write_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x203e2317 devm_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x204067ff vp_modern_map_vq_notify +EXPORT_SYMBOL_GPL vmlinux 0x204ace40 mm_iommu_get +EXPORT_SYMBOL_GPL vmlinux 0x20619b9b devlink_param_register +EXPORT_SYMBOL_GPL vmlinux 0x20699181 pnv_ocxl_set_tl_conf +EXPORT_SYMBOL_GPL vmlinux 0x20705f2b regulator_desc_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x207c2b1a tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x208c7193 devm_clk_bulk_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x2093ab9a of_irq_get_byname +EXPORT_SYMBOL_GPL vmlinux 0x20988e9b icmp_build_probe +EXPORT_SYMBOL_GPL vmlinux 0x209cdc41 skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x209e57b3 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x20a29553 dm_put +EXPORT_SYMBOL_GPL vmlinux 0x20b3c1ab debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x20cfe897 extcon_set_property +EXPORT_SYMBOL_GPL vmlinux 0x20d15441 sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0x20e33916 xdp_do_redirect_frame +EXPORT_SYMBOL_GPL vmlinux 0x2108f3e1 serdev_device_get_tiocm +EXPORT_SYMBOL_GPL vmlinux 0x211850f5 htab_hash_mask +EXPORT_SYMBOL_GPL vmlinux 0x212b5343 led_update_brightness +EXPORT_SYMBOL_GPL vmlinux 0x21305f11 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x21385152 alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0x2138d404 devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x2147805b proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0x21491487 sync_blockdev_nowait +EXPORT_SYMBOL_GPL vmlinux 0x214a494c iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0x2169cfc9 xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x2176e42a hwpoison_filter_memcg +EXPORT_SYMBOL_GPL vmlinux 0x21a563da clk_get_accuracy +EXPORT_SYMBOL_GPL vmlinux 0x21abc79e fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21c8af8e regulator_map_voltage_ascend +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21d4d98b pinctrl_generic_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x21daa116 rio_mport_initialize +EXPORT_SYMBOL_GPL vmlinux 0x21fe8d29 blk_mq_complete_request_remote +EXPORT_SYMBOL_GPL vmlinux 0x2200061c __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x2214bc1e dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x221eab6d scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x2224ac49 devm_clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x22253c0c remove_phb_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x2237af2d dev_pm_opp_of_get_opp_desc_node +EXPORT_SYMBOL_GPL vmlinux 0x22430127 __hwspin_trylock +EXPORT_SYMBOL_GPL vmlinux 0x22472028 proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0x225a43c7 dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0x226e0802 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x229529a9 dev_pm_qos_expose_flags +EXPORT_SYMBOL_GPL vmlinux 0x229e81c4 gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x22a322e2 pm_clk_resume +EXPORT_SYMBOL_GPL vmlinux 0x22a83e8a of_property_count_elems_of_size +EXPORT_SYMBOL_GPL vmlinux 0x22ab7517 devl_unlock +EXPORT_SYMBOL_GPL vmlinux 0x22b4ebac to_nvdimm_bus_dev +EXPORT_SYMBOL_GPL vmlinux 0x22c17b6c kpp_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x22c22bd4 ata_eh_analyze_ncq_error +EXPORT_SYMBOL_GPL vmlinux 0x22d3efb8 dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x22d4bd4a devlink_net +EXPORT_SYMBOL_GPL vmlinux 0x22d60537 tcf_frag_xmit_count +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22da6ded eeh_pe_reset +EXPORT_SYMBOL_GPL vmlinux 0x22ef0cab disk_alloc_independent_access_ranges +EXPORT_SYMBOL_GPL vmlinux 0x22f31abb add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0x22fd08ba cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x22fdf65f wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0x2302a807 ata_do_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x230c3449 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x23111ece netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x2315ff49 bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0x23412816 rtc_tm_to_ktime +EXPORT_SYMBOL_GPL vmlinux 0x2341fa9f of_gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x235a9b56 tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0x235d7e65 pinctrl_lookup_state +EXPORT_SYMBOL_GPL vmlinux 0x235dc0d0 crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x236cace5 bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0x236e7467 irq_chip_retrigger_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x2372f8bb watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0x23779690 mm_iommu_put +EXPORT_SYMBOL_GPL vmlinux 0x237c4f34 dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x238181a5 sched_set_fifo_low +EXPORT_SYMBOL_GPL vmlinux 0x2384c653 get_governor_parent_kobj +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23880e0b regulator_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x2396c7f0 clk_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x239e0c4d clk_hw_is_prepared +EXPORT_SYMBOL_GPL vmlinux 0x23b26884 devm_regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0x23b9d5a5 tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0x23c009f0 devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0x23d5e2c7 device_iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0x23e095b6 class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x23f3063e usb_set_interface +EXPORT_SYMBOL_GPL vmlinux 0x23f4e80f device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x24064c67 cpufreq_driver_resolve_freq +EXPORT_SYMBOL_GPL vmlinux 0x241de1db crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0x2421097b mpi_const +EXPORT_SYMBOL_GPL vmlinux 0x242af0ca irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x24337309 irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x2437fed1 devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0x24590670 gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x245ee4b1 device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x24638e92 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x246e58f5 component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0x24736aa5 folio_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x24754c07 param_set_uint_minmax +EXPORT_SYMBOL_GPL vmlinux 0x248452d4 ata_sff_postreset +EXPORT_SYMBOL_GPL vmlinux 0x2484e789 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x2486464f sdio_writew +EXPORT_SYMBOL_GPL vmlinux 0x248812f9 device_add +EXPORT_SYMBOL_GPL vmlinux 0x248bc867 raw_notifier_call_chain_robust +EXPORT_SYMBOL_GPL vmlinux 0x248e1473 kfree_strarray +EXPORT_SYMBOL_GPL vmlinux 0x24aae132 devm_regmap_field_bulk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x24ad11db wakeup_sources_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x24b9f356 mmu_partition_table_set_entry +EXPORT_SYMBOL_GPL vmlinux 0x24bb9eef kvmppc_host_rm_ops_hv +EXPORT_SYMBOL_GPL vmlinux 0x24c2f984 nl_table +EXPORT_SYMBOL_GPL vmlinux 0x24cceede crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24e58b8c net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x24eb7e32 leds_list +EXPORT_SYMBOL_GPL vmlinux 0x24ecb936 rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0x24f39c39 reset_control_reset +EXPORT_SYMBOL_GPL vmlinux 0x24f63dcf ata_xfer_mask2mode +EXPORT_SYMBOL_GPL vmlinux 0x24fc50f4 kdb_unregister +EXPORT_SYMBOL_GPL vmlinux 0x24fdfd37 devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0x25104b08 sched_setattr_nocheck +EXPORT_SYMBOL_GPL vmlinux 0x2512aa1b cpufreq_table_index_unsorted +EXPORT_SYMBOL_GPL vmlinux 0x252151d4 kvmppc_save_current_sprs +EXPORT_SYMBOL_GPL vmlinux 0x25301bc6 arch_wb_cache_pmem +EXPORT_SYMBOL_GPL vmlinux 0x25379e73 clk_set_min_rate +EXPORT_SYMBOL_GPL vmlinux 0x255878ec ata_sff_queue_pio_task +EXPORT_SYMBOL_GPL vmlinux 0x2559d24d kvmppc_h_set_dabr +EXPORT_SYMBOL_GPL vmlinux 0x2574d9bd net_selftest +EXPORT_SYMBOL_GPL vmlinux 0x25785a05 fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x257b3a5a pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x259248d2 tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x259564eb __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0x25af5e94 ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x25bbfa9a security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x25bce9a6 i2c_dw_adjust_bus_speed +EXPORT_SYMBOL_GPL vmlinux 0x25c4f87b pm_generic_poweroff_noirq +EXPORT_SYMBOL_GPL vmlinux 0x25cb1ce9 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x25da8845 bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0x25dddb2a tps6586x_reads +EXPORT_SYMBOL_GPL vmlinux 0x25f662a3 spi_finalize_current_transfer +EXPORT_SYMBOL_GPL vmlinux 0x2600849d pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0x2636e159 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0x2640f72f tcp_done +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x2656772e blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x265bbef9 kexec_crash_loaded +EXPORT_SYMBOL_GPL vmlinux 0x2666685f crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0x266a4b08 tasklet_unlock +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x268b7f08 icc_node_add +EXPORT_SYMBOL_GPL vmlinux 0x26918054 freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x2692b936 virtio_device_freeze +EXPORT_SYMBOL_GPL vmlinux 0x269e78a1 spi_mem_exec_op +EXPORT_SYMBOL_GPL vmlinux 0x26a19e6f bio_poll +EXPORT_SYMBOL_GPL vmlinux 0x26aa1426 __fscrypt_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26b31093 power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26e9889e devm_regulator_get +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x272721ee unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x272ebd54 mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0x2740be5d devl_rate_leaf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x27462dd3 crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x27475c29 lochnagar_update_config +EXPORT_SYMBOL_GPL vmlinux 0x274dd1a3 sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x27592e7c pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x2766802f unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x27739cd5 kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0x2777a1a8 modify_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0x27859b17 pcie_aspm_capable +EXPORT_SYMBOL_GPL vmlinux 0x27884fd2 devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x279aba79 ata_sff_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0x27a571ce iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0x27a79eab __wake_up_pollfree +EXPORT_SYMBOL_GPL vmlinux 0x27b35a8a serial8250_get_port +EXPORT_SYMBOL_GPL vmlinux 0x27bb25f7 fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0x27c820e0 ata_host_start +EXPORT_SYMBOL_GPL vmlinux 0x27ce3ec0 cpu_latency_qos_request_active +EXPORT_SYMBOL_GPL vmlinux 0x27d413be blk_mq_alloc_sq_tag_set +EXPORT_SYMBOL_GPL vmlinux 0x27dc9471 __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x27e144a2 __pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27f96bdc kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x27fb3eeb iomap_release_folio +EXPORT_SYMBOL_GPL vmlinux 0x281944c2 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0x282cdabc usb_led_activity +EXPORT_SYMBOL_GPL vmlinux 0x282f8667 cxl_update_properties +EXPORT_SYMBOL_GPL vmlinux 0x28310bcd kasprintf_strarray +EXPORT_SYMBOL_GPL vmlinux 0x2835fad5 devm_namespace_disable +EXPORT_SYMBOL_GPL vmlinux 0x283cc33e regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x2857f0e4 regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x2868d4f0 __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x2882d40e usb_role_switch_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2897d59a devm_thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x28a634bf edac_mc_add_mc_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x28a8f935 usb_anchor_suspend_wakeups +EXPORT_SYMBOL_GPL vmlinux 0x28aa6a67 call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x28ab4fb9 pinctrl_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x28b030d2 of_overlay_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x28bd5d07 usb_ep0_reinit +EXPORT_SYMBOL_GPL vmlinux 0x28c8a3db mmu_psize_defs +EXPORT_SYMBOL_GPL vmlinux 0x28cbe831 dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0x28d65363 __traceiter_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x28dd4c84 regmap_irq_get_domain +EXPORT_SYMBOL_GPL vmlinux 0x28e2c9c0 tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0x28f20347 netif_carrier_event +EXPORT_SYMBOL_GPL vmlinux 0x28f5bf7f regulator_list_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x28f6ec84 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0x28fce434 ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0x2907c1e0 dev_pm_opp_find_bw_floor +EXPORT_SYMBOL_GPL vmlinux 0x2908d79d mbox_request_channel_byname +EXPORT_SYMBOL_GPL vmlinux 0x291876f3 mpi_ec_get_affine +EXPORT_SYMBOL_GPL vmlinux 0x29311d44 tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0x293989eb kvm_alloc_hpt_cma +EXPORT_SYMBOL_GPL vmlinux 0x293edeef splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0x2940032d pnv_pci_get_power_state +EXPORT_SYMBOL_GPL vmlinux 0x294226c1 security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0x294a608a divider_ro_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x294bdab4 fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x2950f7d9 icc_std_aggregate +EXPORT_SYMBOL_GPL vmlinux 0x2970139f get_net_ns_by_fd +EXPORT_SYMBOL_GPL vmlinux 0x298575d3 pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x298c5792 devm_regulator_irq_helper +EXPORT_SYMBOL_GPL vmlinux 0x2990186e usb_match_id +EXPORT_SYMBOL_GPL vmlinux 0x29aa48d0 radix__flush_tlb_lpid_page +EXPORT_SYMBOL_GPL vmlinux 0x29ac8ada pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x29b49515 kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0x29bafe84 irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0x29c4f223 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x29d14bd2 of_dma_router_register +EXPORT_SYMBOL_GPL vmlinux 0x29d94531 usb_create_shared_hcd +EXPORT_SYMBOL_GPL vmlinux 0x29e623ed bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0x29e9bec0 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x29f10b8b dev_attr_em_message_type +EXPORT_SYMBOL_GPL vmlinux 0x29f5b418 verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x29fb8e24 rtc_update_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0x2a0d7fd2 crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x2a1b0a1c isa_bridge_pcidev +EXPORT_SYMBOL_GPL vmlinux 0x2a29a8b9 serial8250_init_port +EXPORT_SYMBOL_GPL vmlinux 0x2a336698 opal_rtc_write +EXPORT_SYMBOL_GPL vmlinux 0x2a42cf8c pci_find_bus_by_node +EXPORT_SYMBOL_GPL vmlinux 0x2a480369 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2a527211 device_match_any +EXPORT_SYMBOL_GPL vmlinux 0x2a5981e9 usb_find_alt_setting +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a7316da __SCK__tp_func_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x2a77f7d1 __traceiter_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x2a7e659f uprobe_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2a8a0d17 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x2a8f149c __traceiter_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x2a976d1c dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x2a9cd587 sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0x2abec62a power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x2ac1e3bb pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x2acd0f9d crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0x2acdd798 devlink_port_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x2ada7bdc subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x2af3879d usb_add_phy_dev +EXPORT_SYMBOL_GPL vmlinux 0x2af60b78 pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x2b191253 serial8250_rpm_put +EXPORT_SYMBOL_GPL vmlinux 0x2b19193d fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0x2b1bae0e cpu_to_core_id +EXPORT_SYMBOL_GPL vmlinux 0x2b1fba0f xive_native_disable_queue +EXPORT_SYMBOL_GPL vmlinux 0x2b2785e5 usb_phy_get_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x2b2e3007 regulator_allow_bypass +EXPORT_SYMBOL_GPL vmlinux 0x2b3ad650 _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x2b4147ed kvmppc_hcall_impl_hv_realmode +EXPORT_SYMBOL_GPL vmlinux 0x2b4509dd devlink_health_reporter_state_update +EXPORT_SYMBOL_GPL vmlinux 0x2b5c303b smp_send_reschedule +EXPORT_SYMBOL_GPL vmlinux 0x2b6150fb power_supply_temp2resist_simple +EXPORT_SYMBOL_GPL vmlinux 0x2b6d960d synth_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x2b76646e pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x2b79781d __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x2b7f99f0 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x2b9427cb phy_configure +EXPORT_SYMBOL_GPL vmlinux 0x2b952517 clk_has_parent +EXPORT_SYMBOL_GPL vmlinux 0x2b9a86ac device_set_wakeup_capable +EXPORT_SYMBOL_GPL vmlinux 0x2ba31402 da903x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x2bb1100a pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x2bb1cb97 devfreq_event_set_event +EXPORT_SYMBOL_GPL vmlinux 0x2bb2a768 set_capacity_and_notify +EXPORT_SYMBOL_GPL vmlinux 0x2bb9095f radix__flush_pwc_lpid +EXPORT_SYMBOL_GPL vmlinux 0x2bd68f49 ata_cable_ignore +EXPORT_SYMBOL_GPL vmlinux 0x2bdf5ab0 pm_wakeup_pending +EXPORT_SYMBOL_GPL vmlinux 0x2bdfb156 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x2be08478 __regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x2bec6275 split_page +EXPORT_SYMBOL_GPL vmlinux 0x2becb7e8 bpf_trace_run2 +EXPORT_SYMBOL_GPL vmlinux 0x2c0ab51a ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x2c208607 power_supply_is_system_supplied +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c36cc85 __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0x2c596fcb usb_role_switch_register +EXPORT_SYMBOL_GPL vmlinux 0x2c635527 arch_invalidate_pmem +EXPORT_SYMBOL_GPL vmlinux 0x2c66ac85 devlink_info_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x2c790d4a __tracepoint_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c8dd6b8 edac_mem_types +EXPORT_SYMBOL_GPL vmlinux 0x2c97f8a2 of_reconfig_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x2c9b1c26 phy_driver_is_genphy +EXPORT_SYMBOL_GPL vmlinux 0x2c9edac4 __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x2cb3f54f dev_attr_link_power_management_policy +EXPORT_SYMBOL_GPL vmlinux 0x2cb77c40 fscrypt_dio_supported +EXPORT_SYMBOL_GPL vmlinux 0x2cd5df3a opal_ipmi_send +EXPORT_SYMBOL_GPL vmlinux 0x2cd88f51 kvm_hv_vm_deactivated +EXPORT_SYMBOL_GPL vmlinux 0x2cde1be4 nfs_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2ce403dd of_get_display_timing +EXPORT_SYMBOL_GPL vmlinux 0x2ce52235 bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0x2ce61f33 __SCK__tp_func_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x2cef6105 xdp_return_frame_bulk +EXPORT_SYMBOL_GPL vmlinux 0x2cef61a2 phy_get +EXPORT_SYMBOL_GPL vmlinux 0x2cfc2d08 of_genpd_remove_last +EXPORT_SYMBOL_GPL vmlinux 0x2cfe0132 of_usb_host_tpl_support +EXPORT_SYMBOL_GPL vmlinux 0x2d16d90d pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d1c4ddf fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x2d1f3e65 sdio_writeb_readb +EXPORT_SYMBOL_GPL vmlinux 0x2d263960 ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current +EXPORT_SYMBOL_GPL vmlinux 0x2d305c96 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0x2d307fd8 proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0x2d3b8352 xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts +EXPORT_SYMBOL_GPL vmlinux 0x2d5db41b __irq_alloc_domain_generic_chips +EXPORT_SYMBOL_GPL vmlinux 0x2d5ec75a gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0x2d5f69b3 rcu_read_unlock_strict +EXPORT_SYMBOL_GPL vmlinux 0x2d6046ca devm_rtc_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x2d609547 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x2d6462e3 to_nd_desc +EXPORT_SYMBOL_GPL vmlinux 0x2d678898 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0x2d6a0002 irq_gc_mask_clr_bit +EXPORT_SYMBOL_GPL vmlinux 0x2d7592a6 ehci_resume +EXPORT_SYMBOL_GPL vmlinux 0x2d7d09a7 vfio_unregister_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x2d80fe02 nvmem_del_cell_table +EXPORT_SYMBOL_GPL vmlinux 0x2d97bc9a clk_mux_determine_rate_flags +EXPORT_SYMBOL_GPL vmlinux 0x2da14cea tps6586x_update +EXPORT_SYMBOL_GPL vmlinux 0x2dbf90b6 vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x2dc918c0 dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0x2ddd5b55 devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0x2de885eb tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0x2df45bcd dev_pm_domain_detach +EXPORT_SYMBOL_GPL vmlinux 0x2df9bbfa pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0x2dfefa42 led_trigger_blink_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x2e028ae6 rcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x2e214a62 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e359ff2 of_reserved_mem_device_init_by_name +EXPORT_SYMBOL_GPL vmlinux 0x2e4fddef lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0x2e59822f irq_set_affinity +EXPORT_SYMBOL_GPL vmlinux 0x2e5aca2c of_irq_find_parent +EXPORT_SYMBOL_GPL vmlinux 0x2e66298c __SCK__tp_func_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x2e6d309d unix_table_locks +EXPORT_SYMBOL_GPL vmlinux 0x2e8afb4f vfio_spapr_pci_eeh_open +EXPORT_SYMBOL_GPL vmlinux 0x2e9ba1af fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x2eb59408 rio_get_comptag +EXPORT_SYMBOL_GPL vmlinux 0x2eb9bfee devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0x2ebb19fd execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ecaf8e5 pm_generic_freeze_noirq +EXPORT_SYMBOL_GPL vmlinux 0x2ed7e78e crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0x2ee3301f dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x2ee82c5d dma_get_slave_caps +EXPORT_SYMBOL_GPL vmlinux 0x2eea2ebd elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0x2eec9803 powercap_register_zone +EXPORT_SYMBOL_GPL vmlinux 0x2ef513d7 pci_enable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x2f051107 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x2f0d9053 usb_otg_state_string +EXPORT_SYMBOL_GPL vmlinux 0x2f1ea064 __SCK__tp_func_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x2f2c95c4 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2f32412d devres_add +EXPORT_SYMBOL_GPL vmlinux 0x2f3ab856 ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x2f3c48a5 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0x2f4880df static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x2f4aef47 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x2f4b2a4a device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0x2f4cb430 __devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0x2f69b3be ata_link_abort +EXPORT_SYMBOL_GPL vmlinux 0x2f6ba333 phy_pm_runtime_get +EXPORT_SYMBOL_GPL vmlinux 0x2f6dcfe2 addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0x2f87c0a5 edac_mc_free +EXPORT_SYMBOL_GPL vmlinux 0x2f8a850d device_create +EXPORT_SYMBOL_GPL vmlinux 0x2f98cf1a xhci_add_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x2fb2a593 serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0x2fc1e0fe kmem_valid_obj +EXPORT_SYMBOL_GPL vmlinux 0x2fc71d20 pinmux_generic_get_function +EXPORT_SYMBOL_GPL vmlinux 0x2fdf15fc __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x2fe0a19f irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x2ff7868b crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0x2ffbd18c opal_message_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x30029f0c tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0x300417fd ohci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0x300f615d folio_invalidate +EXPORT_SYMBOL_GPL vmlinux 0x301832fb opal_async_get_token_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x301c5225 mpc8xxx_spi_rx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0x302d01a6 pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0x3050e6b3 vp_modern_set_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x3055020d encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x305f5f18 blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x307ed4fa gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0x308245f3 platform_get_mem_or_io +EXPORT_SYMBOL_GPL vmlinux 0x3087fcfc clk_hw_get_parent_index +EXPORT_SYMBOL_GPL vmlinux 0x309a912c iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0x30a2c048 adp5520_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x30bdbfd0 evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0x30bdee6d xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0x30be2126 dev_pm_opp_free_cpufreq_table +EXPORT_SYMBOL_GPL vmlinux 0x30c13570 lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0x30c3d26e usb_debug_root +EXPORT_SYMBOL_GPL vmlinux 0x30d82191 gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x30e0b588 ata_bmdma_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x30e23d83 of_clk_parent_fill +EXPORT_SYMBOL_GPL vmlinux 0x30fe31a1 pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0x30fe58ed clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0x31019477 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x310273a4 devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x31119e31 device_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0x3117e2e9 kvmppc_msr_hard_disable_set_facilities +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x31269173 alarm_init +EXPORT_SYMBOL_GPL vmlinux 0x3128fefc devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0x312d715d of_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x313564c8 blk_crypto_has_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x313a06bf ata_sff_pause +EXPORT_SYMBOL_GPL vmlinux 0x3149224b pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x3161a1d5 sata_scr_read +EXPORT_SYMBOL_GPL vmlinux 0x317750a8 power_supply_charge_behaviour_show +EXPORT_SYMBOL_GPL vmlinux 0x31839ad3 software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x3187490a __SCK__tp_func_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x3192d768 cpufreq_remove_update_util_hook +EXPORT_SYMBOL_GPL vmlinux 0x319dfcc1 fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31aeaff8 dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0x31c7970f pciserial_suspend_ports +EXPORT_SYMBOL_GPL vmlinux 0x31d37806 __put_net +EXPORT_SYMBOL_GPL vmlinux 0x31d4362f md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0x31fb8d51 bpf_trace_run8 +EXPORT_SYMBOL_GPL vmlinux 0x31fb9b51 regulator_set_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0x31fbcb94 regmap_check_range_table +EXPORT_SYMBOL_GPL vmlinux 0x321fd7df irq_gc_unmask_enable_reg +EXPORT_SYMBOL_GPL vmlinux 0x3224b2a9 mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0x32283bf8 devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x32324a97 platform_irqchip_probe +EXPORT_SYMBOL_GPL vmlinux 0x3244ed37 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0x325888a3 __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x32682025 pci_remove_device_node_info +EXPORT_SYMBOL_GPL vmlinux 0x326cefe5 hwpoison_filter_dev_minor +EXPORT_SYMBOL_GPL vmlinux 0x32804d31 dev_pm_opp_of_cpumask_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x328076be ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x32836981 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x32aa98d5 software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x32bc0fcf preempt_notifier_dec +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32c9bece serial8250_rx_chars +EXPORT_SYMBOL_GPL vmlinux 0x32c9c9a3 PageHeadHuge +EXPORT_SYMBOL_GPL vmlinux 0x32d69f47 blk_crypto_update_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x32df26af usb_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x32df33e7 x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x32e35fbc tps6586x_get_version +EXPORT_SYMBOL_GPL vmlinux 0x32e57f13 sdio_release_host +EXPORT_SYMBOL_GPL vmlinux 0x32e9d97c dev_pm_genpd_set_performance_state +EXPORT_SYMBOL_GPL vmlinux 0x330010b6 cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x3303f55c devm_hwmon_sanitize_name +EXPORT_SYMBOL_GPL vmlinux 0x330f6116 set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x3313a7de sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x33389c0a usb_driver_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x333e4a9b xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0x334930d8 sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0x335957ce regmap_write_async +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x337fb069 __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0x3380a2b8 irq_domain_create_sim +EXPORT_SYMBOL_GPL vmlinux 0x33902251 devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x33b31526 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0x33cd8188 of_pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0x33dc4d62 gen10g_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x33efc8c8 trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x33f1b319 regulator_is_equal +EXPORT_SYMBOL_GPL vmlinux 0x340f52e8 of_get_fb_videomode +EXPORT_SYMBOL_GPL vmlinux 0x341193fd fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0x342fb176 switchdev_bridge_port_unoffload +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x344361a1 kdb_register +EXPORT_SYMBOL_GPL vmlinux 0x3449a558 fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0x344a2c84 iomap_dio_complete +EXPORT_SYMBOL_GPL vmlinux 0x344de5ce wm8350_block_read +EXPORT_SYMBOL_GPL vmlinux 0x344de686 spi_take_timestamp_post +EXPORT_SYMBOL_GPL vmlinux 0x3450ad94 mpi_set_ui +EXPORT_SYMBOL_GPL vmlinux 0x345f7623 extcon_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3464f5e6 usb_mon_register +EXPORT_SYMBOL_GPL vmlinux 0x3477880d __traceiter_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x349fc048 spi_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x34a7b142 __SCK__tp_func_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x34c693ee dev_xdp_prog_count +EXPORT_SYMBOL_GPL vmlinux 0x34dfd0a9 spi_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x34e07868 wakeup_source_unregister +EXPORT_SYMBOL_GPL vmlinux 0x34ebe246 spi_finalize_current_message +EXPORT_SYMBOL_GPL vmlinux 0x34f20735 dev_pm_opp_find_bw_ceil +EXPORT_SYMBOL_GPL vmlinux 0x34fc4ad3 __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x35018dcc device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0x35038a9e posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x350f6ce5 tasklet_unlock_wait +EXPORT_SYMBOL_GPL vmlinux 0x352b3813 maxim_charger_calc_reg_current +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x353af18b device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0x353c9635 regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x3540f3cd inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0x3548f681 devm_of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x35602905 pciserial_init_ports +EXPORT_SYMBOL_GPL vmlinux 0x3565a929 utf8_data_table +EXPORT_SYMBOL_GPL vmlinux 0x35672507 synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0x3567f64a virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0x357777da ata_sff_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x358704ba raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x358ff60f twl_get_hfclk_rate +EXPORT_SYMBOL_GPL vmlinux 0x35a51220 usb_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x35a7633f xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x35cc4987 mmc_regulator_set_vqmmc +EXPORT_SYMBOL_GPL vmlinux 0x35cf6944 inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0x35dfb921 fwnode_connection_find_matches +EXPORT_SYMBOL_GPL vmlinux 0x35f458fb dax_layout_busy_page_range +EXPORT_SYMBOL_GPL vmlinux 0x35f79a74 dm_hold +EXPORT_SYMBOL_GPL vmlinux 0x360b44f3 scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0x36141c51 fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0x361c730c devm_pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x361de87c device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x36363488 gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x3645db2f pm_generic_restore_early +EXPORT_SYMBOL_GPL vmlinux 0x364b0366 iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x36580913 ata_scsi_port_error_handler +EXPORT_SYMBOL_GPL vmlinux 0x365b45d1 __tracepoint_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x36610904 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x366ebe28 of_pci_get_max_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x367dba44 strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x36898d6f gpiod_remove_hogs +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x36b55753 addrconf_add_linklocal +EXPORT_SYMBOL_GPL vmlinux 0x36b5dcb0 phy_power_on +EXPORT_SYMBOL_GPL vmlinux 0x36ca915b iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x36d4c71a pinctrl_force_sleep +EXPORT_SYMBOL_GPL vmlinux 0x36dd7f5b locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x371ffb81 devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3752becb __traceiter_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0x375aea70 xhci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x376241ad debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0x3767cbe6 ethnl_cable_test_step +EXPORT_SYMBOL_GPL vmlinux 0x37769d8e ata_cable_sata +EXPORT_SYMBOL_GPL vmlinux 0x377b8f7e xhci_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x377bbcbc pm_suspend_target_state +EXPORT_SYMBOL_GPL vmlinux 0x3788c262 of_pci_dma_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0x378b949e device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x378f21d1 usb_kill_urb +EXPORT_SYMBOL_GPL vmlinux 0x37976600 ata_scsi_dma_need_drain +EXPORT_SYMBOL_GPL vmlinux 0x37aa0492 irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x37b75001 crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x37bf7be3 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x37d067d3 __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0x37da9dfd fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0x37dc8acb vp_modern_remove +EXPORT_SYMBOL_GPL vmlinux 0x37e96227 iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0x37eaea90 handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0x37feaaf6 public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0x3801776b __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x380dde36 power_supply_batinfo_ocv2cap +EXPORT_SYMBOL_GPL vmlinux 0x38173032 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x381f8cf8 __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x38235886 vp_modern_set_features +EXPORT_SYMBOL_GPL vmlinux 0x38268b62 icc_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x382f2479 __traceiter_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x383ccad6 trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0x384efa30 finish_rcuwait +EXPORT_SYMBOL_GPL vmlinux 0x3857086c hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x385a007c usb_deregister +EXPORT_SYMBOL_GPL vmlinux 0x3866e217 nvmem_device_write +EXPORT_SYMBOL_GPL vmlinux 0x38678401 ptp_parse_header +EXPORT_SYMBOL_GPL vmlinux 0x38865fb9 relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0x388f6efd of_icc_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x389b64a2 static_key_count +EXPORT_SYMBOL_GPL vmlinux 0x38a09828 wakeup_sources_walk_start +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38b46249 aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x38bc936f virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x38c7c425 elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0x38d0222c gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0x38d23562 badrange_add +EXPORT_SYMBOL_GPL vmlinux 0x38debaea xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0x38e1fde7 mpi_set +EXPORT_SYMBOL_GPL vmlinux 0x38e5bc5a clk_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0x38feef7e hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0x39019a20 proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0x391899c7 __traceiter_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x3924d52e pci_host_common_remove +EXPORT_SYMBOL_GPL vmlinux 0x3936bc46 ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0x3938737a ata_sff_freeze +EXPORT_SYMBOL_GPL vmlinux 0x394dc5ce sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x394e0154 edac_device_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x395928fa devm_regulator_bulk_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x396e89ac blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0x39738134 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0x397e2142 __SCK__tp_func_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x39856777 iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0x398f9dae mptcp_token_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x399dc04d vp_legacy_get_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39aa4888 usb_role_string +EXPORT_SYMBOL_GPL vmlinux 0x39b3debe xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x39c32aca __SCK__tp_func_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x39c65e2e power_supply_external_power_changed +EXPORT_SYMBOL_GPL vmlinux 0x39cec1d4 component_compare_of +EXPORT_SYMBOL_GPL vmlinux 0x39d3d327 __reset_control_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x39ded098 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x3a19c7fa __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0x3a219784 dev_attr_em_message +EXPORT_SYMBOL_GPL vmlinux 0x3a22194a sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0x3a24fb2f percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0x3a4f6a32 ata_sff_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x3a520c4b ata_dev_set_feature +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a55981a static_key_enable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x3a562711 sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0x3a69c206 __traceiter_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x3a74e484 __tracepoint_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x3a76ad99 cpufreq_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0x3a803310 ata_sas_slave_configure +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3aa58c46 pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x3ab4de3e cpufreq_generic_init +EXPORT_SYMBOL_GPL vmlinux 0x3ab55616 dev_pm_opp_get_max_volt_latency +EXPORT_SYMBOL_GPL vmlinux 0x3ab80fa1 pnv_pci_get_slot_id +EXPORT_SYMBOL_GPL vmlinux 0x3ab9d6f6 sdio_disable_func +EXPORT_SYMBOL_GPL vmlinux 0x3ac9c0fb iommu_release_ownership +EXPORT_SYMBOL_GPL vmlinux 0x3acdf325 twl4030_audio_enable_resource +EXPORT_SYMBOL_GPL vmlinux 0x3ad293ce syscon_regmap_lookup_by_phandle_args +EXPORT_SYMBOL_GPL vmlinux 0x3ad43185 ata_sff_dma_pause +EXPORT_SYMBOL_GPL vmlinux 0x3adc3fe1 pm_generic_freeze_late +EXPORT_SYMBOL_GPL vmlinux 0x3aed2135 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x3afea682 fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x3aff0ddc l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0x3b036e5e md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x3b0d84f8 __traceiter_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0x3b26de4a edac_mc_find_csrow_by_page +EXPORT_SYMBOL_GPL vmlinux 0x3b3b48c3 clk_register_divider_table +EXPORT_SYMBOL_GPL vmlinux 0x3b3c7e27 kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0x3b4c240a display_timings_release +EXPORT_SYMBOL_GPL vmlinux 0x3b5d747d blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x3b610584 __tracepoint_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x3b757ff3 mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x3b8090d2 cpuidle_register +EXPORT_SYMBOL_GPL vmlinux 0x3b8f4788 rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0x3b95f543 klp_shadow_free +EXPORT_SYMBOL_GPL vmlinux 0x3b9a67a7 vp_modern_probe +EXPORT_SYMBOL_GPL vmlinux 0x3ba01b47 get_compat_sigset +EXPORT_SYMBOL_GPL vmlinux 0x3baf1659 put_device +EXPORT_SYMBOL_GPL vmlinux 0x3bb5d1f7 uhci_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0x3bd0309f hwmon_device_register +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3bdb626f sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0x3bdc0e0c __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x3bed40da spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3c1bd62e simple_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c2a835a phy_led_trigger_change_speed +EXPORT_SYMBOL_GPL vmlinux 0x3c2b68f7 of_changeset_apply +EXPORT_SYMBOL_GPL vmlinux 0x3c37cbf8 machine_check_print_event_info +EXPORT_SYMBOL_GPL vmlinux 0x3c3c85d8 __SCK__tp_func_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x3c3ef713 kobject_move +EXPORT_SYMBOL_GPL vmlinux 0x3c55746e vfio_pci_core_aer_err_detected +EXPORT_SYMBOL_GPL vmlinux 0x3c58c2fa virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0x3c65793a devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c6add27 wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x3c85e2cd xhci_ext_cap_init +EXPORT_SYMBOL_GPL vmlinux 0x3c8bb6d5 fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0x3ca9ca0d devlink_rate_nodes_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cd1277f extcon_unregister_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0x3cd1b510 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x3cd658a7 ip_icmp_error_rfc4884 +EXPORT_SYMBOL_GPL vmlinux 0x3ceac9f4 usb_alloc_streams +EXPORT_SYMBOL_GPL vmlinux 0x3cf1a24b perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0x3cf69baf slice_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0x3cfb796d kvmppc_save_tm_hv +EXPORT_SYMBOL_GPL vmlinux 0x3cff35c6 inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x3d098ae2 iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0x3d0b8f02 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x3d328ba2 devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x3d37a0b9 crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x3d388324 dpm_resume_end +EXPORT_SYMBOL_GPL vmlinux 0x3d46cb44 device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0x3d487b97 handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d612305 iommu_direction_to_tce_perm +EXPORT_SYMBOL_GPL vmlinux 0x3d6584a9 wm831x_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0x3d6666d7 verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0x3d7719fb device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0x3d866e05 __SCK__tp_func_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x3d8baf3b zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x3d90fd26 serial8250_em485_config +EXPORT_SYMBOL_GPL vmlinux 0x3d938466 rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0x3d9bbf75 wwan_port_txon +EXPORT_SYMBOL_GPL vmlinux 0x3da2c356 device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0x3daa2540 nf_hooks_lwtunnel_enabled +EXPORT_SYMBOL_GPL vmlinux 0x3db1dfc4 rio_mport_send_doorbell +EXPORT_SYMBOL_GPL vmlinux 0x3db31b1d inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0x3db8a8da early_find_capability +EXPORT_SYMBOL_GPL vmlinux 0x3dbab726 dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0x3dbc51ee create_signature +EXPORT_SYMBOL_GPL vmlinux 0x3dbd6d96 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0x3dbd81d5 tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0x3dc9e6ab pm_generic_resume_early +EXPORT_SYMBOL_GPL vmlinux 0x3dcdd498 fsnotify +EXPORT_SYMBOL_GPL vmlinux 0x3dda88c8 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0x3ddb0372 i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL vmlinux 0x3de5e56b thermal_zone_device_disable +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3df6efe6 pnv_ocxl_unmap_lpar +EXPORT_SYMBOL_GPL vmlinux 0x3df96f9e security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x3e0a7ede pci_hp_remove_devices +EXPORT_SYMBOL_GPL vmlinux 0x3e0d650a cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0x3e10523a trace_array_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0x3e19cf81 regmap_field_read +EXPORT_SYMBOL_GPL vmlinux 0x3e1e3a4e platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3e24ef2b fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0x3e27d569 devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0x3e3c8e4a devm_clk_get_enabled +EXPORT_SYMBOL_GPL vmlinux 0x3e3caec7 css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0x3e43c4e9 of_property_read_variable_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x3e536340 security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0x3e5a72f7 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3e7e14db copro_handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0x3e93dda2 switchdev_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x3ea1e11c nvdimm_bus_add_badrange +EXPORT_SYMBOL_GPL vmlinux 0x3eb19328 uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL vmlinux 0x3ebb32c6 mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0x3ebe138c rio_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x3ecdaa2b __find_linux_pte +EXPORT_SYMBOL_GPL vmlinux 0x3ee0af55 pm_generic_restore +EXPORT_SYMBOL_GPL vmlinux 0x3eeca07d pinctrl_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3ef373b5 serial8250_do_startup +EXPORT_SYMBOL_GPL vmlinux 0x3f054a22 kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0x3f060583 dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0x3f194cf6 __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x3f1b0619 uprobe_register +EXPORT_SYMBOL_GPL vmlinux 0x3f2526ba devm_blk_crypto_profile_init +EXPORT_SYMBOL_GPL vmlinux 0x3f26d182 __nvdimm_create +EXPORT_SYMBOL_GPL vmlinux 0x3f308066 devl_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3f36c8ad i2c_parse_fw_timings +EXPORT_SYMBOL_GPL vmlinux 0x3f41340f icc_nodes_remove +EXPORT_SYMBOL_GPL vmlinux 0x3f491f49 reset_control_bulk_reset +EXPORT_SYMBOL_GPL vmlinux 0x3f57c1cf ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x3f64df31 i2c_new_scanned_device +EXPORT_SYMBOL_GPL vmlinux 0x3f688779 fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x3f799ee0 usb_enable_intel_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0x3f801f38 kgdb_unregister_io_module +EXPORT_SYMBOL_GPL vmlinux 0x3f81c5a8 gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3f85570e irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0x3f88ef35 dax_remove_host +EXPORT_SYMBOL_GPL vmlinux 0x3faa540c fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x3fd7736d cpufreq_cpu_put +EXPORT_SYMBOL_GPL vmlinux 0x3fe0d1a4 dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0x3fe35aea irq_bypass_unregister_consumer +EXPORT_SYMBOL_GPL vmlinux 0x3fe6c346 devlink_fmsg_binary_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x3ff2e349 hte_request_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x3ff43fe8 pnv_pci_set_tunnel_bar +EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x400f9de7 key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0x401bd1ed platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0x402fc3ef bio_blkcg_css +EXPORT_SYMBOL_GPL vmlinux 0x4034330e __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0x403673b4 __clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x4044f2fd pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0x405a6aad usb_enable_ltm +EXPORT_SYMBOL_GPL vmlinux 0x4065d168 pm_print_active_wakeup_sources +EXPORT_SYMBOL_GPL vmlinux 0x406c4cb1 hrtimer_resolution +EXPORT_SYMBOL_GPL vmlinux 0x4071b517 out_of_line_wait_on_bit_timeout +EXPORT_SYMBOL_GPL vmlinux 0x40748b1b find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0x408c5dae of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4099f919 tun_ptr_free +EXPORT_SYMBOL_GPL vmlinux 0x40a1daf1 da9055_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x40a23395 register_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x40a32786 srp_attach_transport +EXPORT_SYMBOL_GPL vmlinux 0x40a3e386 usb_hcd_platform_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x40a6d1dc cpufreq_dbs_governor_init +EXPORT_SYMBOL_GPL vmlinux 0x40b013f3 blk_crypto_profile_init +EXPORT_SYMBOL_GPL vmlinux 0x40b2ff7d vfio_file_iommu_group +EXPORT_SYMBOL_GPL vmlinux 0x40b5be99 xive_native_populate_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x40bc8411 __traceiter_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x40bd9287 __pm_runtime_set_status +EXPORT_SYMBOL_GPL vmlinux 0x40c74b71 __rio_local_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0x40d6d8bf vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x40f0683e reset_control_put +EXPORT_SYMBOL_GPL vmlinux 0x40f8b94e ring_buffer_iter_dropped +EXPORT_SYMBOL_GPL vmlinux 0x40f8bd4e klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x40fa7348 gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0x4100a662 clk_get_scaled_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x410a1edc ata_host_register +EXPORT_SYMBOL_GPL vmlinux 0x41123068 wakeup_source_add +EXPORT_SYMBOL_GPL vmlinux 0x4116ae8c vp_modern_generation +EXPORT_SYMBOL_GPL vmlinux 0x4123ebab pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0x412533fa fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0x4126b1e2 phy_create_lookup +EXPORT_SYMBOL_GPL vmlinux 0x41274262 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x41495d83 pci_epf_type_add_cfs +EXPORT_SYMBOL_GPL vmlinux 0x414d119a videomode_from_timings +EXPORT_SYMBOL_GPL vmlinux 0x414d7aae xive_native_get_queue_state +EXPORT_SYMBOL_GPL vmlinux 0x41585a67 clk_hw_get_num_parents +EXPORT_SYMBOL_GPL vmlinux 0x415fdb0b bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x4165c8de crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x4187fc17 rio_pw_enable +EXPORT_SYMBOL_GPL vmlinux 0x418873cc irq_bypass_register_producer +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x41a829d6 pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x41ab0d92 mbox_chan_txdone +EXPORT_SYMBOL_GPL vmlinux 0x41ada5bb clk_hw_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x41b9a6e6 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x41bc4be8 devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x41c35154 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x41ef1bb4 __traceiter_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x4200634f kvmppc_do_h_remove +EXPORT_SYMBOL_GPL vmlinux 0x42041512 i2c_get_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x420f3d01 nvmem_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4227d66a fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x4228dc45 blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x422d13e1 pm_runtime_no_callbacks +EXPORT_SYMBOL_GPL vmlinux 0x422f8087 rio_mport_get_physefb +EXPORT_SYMBOL_GPL vmlinux 0x42338b6f mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0x42378add ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0x4241e8f7 dax_add_host +EXPORT_SYMBOL_GPL vmlinux 0x425034c7 pm_wakeup_dev_event +EXPORT_SYMBOL_GPL vmlinux 0x42635d55 pm_suspend_global_flags +EXPORT_SYMBOL_GPL vmlinux 0x4269ed12 crypto_shash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0x42763b34 sata_lpm_ignore_phy_events +EXPORT_SYMBOL_GPL vmlinux 0x42783f29 msi_next_desc +EXPORT_SYMBOL_GPL vmlinux 0x427a6799 devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x427b5684 wm831x_device_shutdown +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x429c3f9c reboot_mode +EXPORT_SYMBOL_GPL vmlinux 0x429cff1e skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x42b12f35 of_css +EXPORT_SYMBOL_GPL vmlinux 0x42c2132b debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x42c69c1f kvmppc_check_need_tlb_flush +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x42ef0bc4 stop_machine +EXPORT_SYMBOL_GPL vmlinux 0x42f728aa mctrl_gpio_get_outputs +EXPORT_SYMBOL_GPL vmlinux 0x42fb3fc5 usb_get_descriptor +EXPORT_SYMBOL_GPL vmlinux 0x430d4afd __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0x430d88ec __traceiter_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x430fdf91 alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0x431e74b5 device_del +EXPORT_SYMBOL_GPL vmlinux 0x432702e6 mm_iommu_mapped_inc +EXPORT_SYMBOL_GPL vmlinux 0x433c433b devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0x4348205e policy_has_boost_freq +EXPORT_SYMBOL_GPL vmlinux 0x436d817f mpi_clear_bit +EXPORT_SYMBOL_GPL vmlinux 0x436e1a75 devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x438fca7b __traceiter_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x43a03316 sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43b9b20d pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0x43bfbbb7 regulator_get_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x43ca903a regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0x43f81957 clk_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x43f92edd wait_for_initramfs +EXPORT_SYMBOL_GPL vmlinux 0x4401e6c2 mpi_cmpabs +EXPORT_SYMBOL_GPL vmlinux 0x441c74db rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0x441e3b0e irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0x442deaa9 poll_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x4439bcd2 __SCK__tp_func_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x443a8b0d sdio_retune_crc_disable +EXPORT_SYMBOL_GPL vmlinux 0x4443d0ef xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x447aaad7 stmpe_block_write +EXPORT_SYMBOL_GPL vmlinux 0x447b11d6 i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0x447f237f pnv_ocxl_unmap_xsl_regs +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x4493e42f rdev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x449c6887 vp_legacy_get_features +EXPORT_SYMBOL_GPL vmlinux 0x449fa45d btree_remove +EXPORT_SYMBOL_GPL vmlinux 0x44b09de0 iommu_tce_check_ioba +EXPORT_SYMBOL_GPL vmlinux 0x44b2420e vp_legacy_get_driver_features +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44d2d9ff sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0x44e69913 stmpe_reg_read +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x450838ed __traceiter_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x4531624f usb_decode_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x4531ab62 copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x45528479 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x45558f56 clk_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x45578f1a smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x45597170 inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0x456fa76e vfio_init_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x4573f859 crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x458f0766 devm_regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x45a27909 dev_pm_qos_add_ancestor_request +EXPORT_SYMBOL_GPL vmlinux 0x45b76cf5 of_detach_node +EXPORT_SYMBOL_GPL vmlinux 0x45cbc87b pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x46064842 serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x4612d016 fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x46269814 __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x4629ba37 ata_bmdma_dumb_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x4636c293 regulator_disable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4644bda4 devm_clk_get_optional_prepared +EXPORT_SYMBOL_GPL vmlinux 0x464fe8cd gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0x465708aa devm_i2c_add_adapter +EXPORT_SYMBOL_GPL vmlinux 0x46616023 devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0x467085f0 serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0x4674fc05 nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0x4676f70b spi_setup +EXPORT_SYMBOL_GPL vmlinux 0x467eb7de vas_unregister_api_pseries +EXPORT_SYMBOL_GPL vmlinux 0x4681e55f iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4683bdd5 pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x468f2574 pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0x4692f673 copy_mc_generic +EXPORT_SYMBOL_GPL vmlinux 0x46a1200d kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x46afa59b fscrypt_prepare_new_inode +EXPORT_SYMBOL_GPL vmlinux 0x46bc6513 kthread_data +EXPORT_SYMBOL_GPL vmlinux 0x46c9f278 __reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x46cd50fb klp_get_state +EXPORT_SYMBOL_GPL vmlinux 0x46e465de klist_init +EXPORT_SYMBOL_GPL vmlinux 0x46e6e359 usb_intf_get_dma_device +EXPORT_SYMBOL_GPL vmlinux 0x46fa8861 device_phy_find_device +EXPORT_SYMBOL_GPL vmlinux 0x4705c76c trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0x470f7417 wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x471a0ed8 bgpio_init +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x47549e49 vp_legacy_probe +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x476f42ac kvmppc_h_bulk_remove +EXPORT_SYMBOL_GPL vmlinux 0x477569c1 fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x47814902 inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x4786a0c6 of_phandle_args_to_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x478e81f8 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x4790cce1 of_dma_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x479f7d4b clk_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x47aad3b9 have_governor_per_policy +EXPORT_SYMBOL_GPL vmlinux 0x47b7a692 cpu_feature_keys +EXPORT_SYMBOL_GPL vmlinux 0x47b7abce rt_mutex_lock_killable +EXPORT_SYMBOL_GPL vmlinux 0x47c27929 irq_get_domain_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x47de0dc7 clk_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x47df54d0 sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x47eaaaad hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0x47ef0fcc vfio_pci_core_mmap +EXPORT_SYMBOL_GPL vmlinux 0x480305ca kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x481f9b7d mpi_mulm +EXPORT_SYMBOL_GPL vmlinux 0x48203853 em_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0x48265ccd fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0x482b7be2 nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0x484a2d7a key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x4854072e dev_pm_domain_set +EXPORT_SYMBOL_GPL vmlinux 0x486436c8 inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x4868bcd1 serial8250_rpm_put_tx +EXPORT_SYMBOL_GPL vmlinux 0x4869a8f7 eeh_pe_inject_err +EXPORT_SYMBOL_GPL vmlinux 0x487ac245 usb_poison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x487ffcf7 pinctrl_generic_add_group +EXPORT_SYMBOL_GPL vmlinux 0x4883e408 inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x4888b8dd devm_regmap_field_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x4891e4b0 aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0x48a08d17 led_classdev_register_ext +EXPORT_SYMBOL_GPL vmlinux 0x48a3d20b mctrl_gpio_get +EXPORT_SYMBOL_GPL vmlinux 0x48b3168f gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x48baee19 usb_control_msg_send +EXPORT_SYMBOL_GPL vmlinux 0x48c32847 __SCK__tp_func_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x48c341f9 ata_port_pbar_desc +EXPORT_SYMBOL_GPL vmlinux 0x48d34c61 device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x48e014ba mmc_send_tuning +EXPORT_SYMBOL_GPL vmlinux 0x48ed22ab irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0x48fb5182 tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x48fba791 relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0x48fef709 irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x490551c9 dev_pm_opp_find_level_ceil +EXPORT_SYMBOL_GPL vmlinux 0x490a030e elv_register +EXPORT_SYMBOL_GPL vmlinux 0x49242bc7 freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4934bdd0 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x4939ebcd numa_map_to_online_node +EXPORT_SYMBOL_GPL vmlinux 0x493e387b account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x493e76bf tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0x494551f9 phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL vmlinux 0x495b67e6 __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0x49608959 migrate_disable +EXPORT_SYMBOL_GPL vmlinux 0x49662fd1 virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0x4968e04a mmc_crypto_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x496edbcb clk_hw_unregister_mux +EXPORT_SYMBOL_GPL vmlinux 0x497bc84d nvdimm_flush +EXPORT_SYMBOL_GPL vmlinux 0x49845d43 dev_pm_opp_put_prop_name +EXPORT_SYMBOL_GPL vmlinux 0x498e3090 ata_pio_need_iordy +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x499699fa devm_bitmap_zalloc +EXPORT_SYMBOL_GPL vmlinux 0x499f6d67 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0x49aa858d devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x49b14e03 anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0x49ba7b71 pinmux_generic_get_function_groups +EXPORT_SYMBOL_GPL vmlinux 0x49bf3041 devm_hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x49c66639 ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0x49ca496b crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x49cd25ed alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x49e669a0 dev_pm_set_dedicated_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49f3b073 irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0x4a026413 mm_iommu_mapped_dec +EXPORT_SYMBOL_GPL vmlinux 0x4a04083f do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0x4a179bee devm_clk_get_prepared +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a352578 lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0x4a3c529a mptcp_subflow_init_cookie_req +EXPORT_SYMBOL_GPL vmlinux 0x4a3ed196 pcibios_claim_one_bus +EXPORT_SYMBOL_GPL vmlinux 0x4a5f140e crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0x4a5f8ea0 __traceiter_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x4a61eb1a br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0x4a6baec6 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0x4a735513 usb_reset_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x4a7f72d5 da9052_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x4a9f047a tm_enable +EXPORT_SYMBOL_GPL vmlinux 0x4abe9e35 led_sysfs_disable +EXPORT_SYMBOL_GPL vmlinux 0x4ace754e __traceiter_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4ad182dd tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0x4ad2d7ef cpufreq_freq_attr_scaling_boost_freqs +EXPORT_SYMBOL_GPL vmlinux 0x4ae77b68 lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0x4b091939 percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0x4b26cfb7 umd_unload_blob +EXPORT_SYMBOL_GPL vmlinux 0x4b26fef9 rio_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x4b37d0c3 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4b38dc99 __cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0x4b3cd776 pci_disable_pasid +EXPORT_SYMBOL_GPL vmlinux 0x4b46eee2 phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x4b47e9c3 dma_release_channel +EXPORT_SYMBOL_GPL vmlinux 0x4b501115 __xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0x4b51f74c ata_xfer_mode2mask +EXPORT_SYMBOL_GPL vmlinux 0x4b533154 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x4b5a94e9 icc_disable +EXPORT_SYMBOL_GPL vmlinux 0x4b5d3489 vfio_pci_core_err_handlers +EXPORT_SYMBOL_GPL vmlinux 0x4b5d94a2 serial8250_em485_stop_tx +EXPORT_SYMBOL_GPL vmlinux 0x4b5e55cd gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0x4b6474e2 vas_init_tx_win_attr +EXPORT_SYMBOL_GPL vmlinux 0x4b69a96c nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x4b6ebcb9 bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0x4b82331e nfs_ssc_register +EXPORT_SYMBOL_GPL vmlinux 0x4b83baea devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0x4b973b57 device_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4b9b1828 report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0x4bac89a4 usb_of_has_combined_node +EXPORT_SYMBOL_GPL vmlinux 0x4bc14878 ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x4bcf27b3 rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0x4bd3127b trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0x4bd6f08b misc_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4bdb8dcc housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4be5de08 ata_sff_port_intr +EXPORT_SYMBOL_GPL vmlinux 0x4be6f6bd xhci_resume +EXPORT_SYMBOL_GPL vmlinux 0x4bef0884 pgtable_cache_add +EXPORT_SYMBOL_GPL vmlinux 0x4c30296a inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x4c37a848 led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4c45dd44 driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x4c4f33b3 phy_start_machine +EXPORT_SYMBOL_GPL vmlinux 0x4c549b36 __traceiter_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0x4c696e1d firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0x4c778e1e class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x4c81b891 ata_wait_register +EXPORT_SYMBOL_GPL vmlinux 0x4c885d8b attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x4c96b398 gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0x4cabac32 clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x4cacf891 nvdimm_clear_poison +EXPORT_SYMBOL_GPL vmlinux 0x4cb27100 ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x4cb73a41 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x4cb81fda __SCK__tp_func_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x4cb8dc07 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x4ccbe53c iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0x4ce8d214 unmap_mapping_pages +EXPORT_SYMBOL_GPL vmlinux 0x4cf699b8 vfio_pci_core_set_params +EXPORT_SYMBOL_GPL vmlinux 0x4cf8d4b3 dma_request_chan_by_mask +EXPORT_SYMBOL_GPL vmlinux 0x4cff026d devm_regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d04d88b __rio_local_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0x4d143a8e tps6586x_read +EXPORT_SYMBOL_GPL vmlinux 0x4d256ec3 pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x4d334e6c ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0x4d3a0696 __SCK__tp_func_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x4d3b0cff mmc_cmdq_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d3d24f5 pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0x4d3e096a ethnl_cable_test_fault_length +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d5e244a device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x4d65c27f mm_iommu_new +EXPORT_SYMBOL_GPL vmlinux 0x4d6cf37c sdio_signal_irq +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d6dc7ed of_scan_bus +EXPORT_SYMBOL_GPL vmlinux 0x4d7272e4 migrate_enable +EXPORT_SYMBOL_GPL vmlinux 0x4d799e44 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL vmlinux 0x4db519f1 iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0x4db89acb vfio_pci_core_sriov_configure +EXPORT_SYMBOL_GPL vmlinux 0x4dc52c09 pnv_power9_force_smt4_catch +EXPORT_SYMBOL_GPL vmlinux 0x4dd1bcdf bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x4dd625dc blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4de17ab3 usb_state_string +EXPORT_SYMBOL_GPL vmlinux 0x4dff61e5 wwan_port_txoff +EXPORT_SYMBOL_GPL vmlinux 0x4e172464 ata_sas_port_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4e17c613 ata_sff_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x4e33b064 pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0x4e36bcc1 dev_pm_opp_disable +EXPORT_SYMBOL_GPL vmlinux 0x4e3ad984 spi_slave_abort +EXPORT_SYMBOL_GPL vmlinux 0x4e3dac2e dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x4e46aa18 rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0x4e4e877d dax_zero_range +EXPORT_SYMBOL_GPL vmlinux 0x4e532d32 devm_pwmchip_add +EXPORT_SYMBOL_GPL vmlinux 0x4e53e4c4 devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x4e73edfc skb_segment +EXPORT_SYMBOL_GPL vmlinux 0x4e74878e __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x4e85a647 of_mm_gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x4e8bf35b dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0x4e912857 fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0x4e97edfc ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0x4ea2df0e gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4eb39d4e __tracepoint_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0x4eb3bd82 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0x4ebf7e77 debugfs_lookup_and_remove +EXPORT_SYMBOL_GPL vmlinux 0x4ec061b6 ata_eh_freeze_port +EXPORT_SYMBOL_GPL vmlinux 0x4ec8490e pci_add_device_node_info +EXPORT_SYMBOL_GPL vmlinux 0x4ee454ef devm_irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x4ee71909 wakeup_sources_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x4eea2f5f devm_extcon_dev_allocate +EXPORT_SYMBOL_GPL vmlinux 0x4eeba689 fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4efcf021 mpi_normalize +EXPORT_SYMBOL_GPL vmlinux 0x4f0a8741 crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0x4f180173 regulator_bulk_unregister_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x4f22c56a crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0x4f2c996d kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x4f2e526c __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x4f42c7f1 pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0x4f4f5897 extcon_set_property_capability +EXPORT_SYMBOL_GPL vmlinux 0x4f5076b3 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x4f50f1b1 regulator_enable_regmap +EXPORT_SYMBOL_GPL vmlinux 0x4f5e4e6d devm_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x4f661a74 kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4f72a987 uart_parse_options +EXPORT_SYMBOL_GPL vmlinux 0x4f76804a class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x4f9f6ab9 led_classdev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x4fa59eb8 crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0x4fc9d607 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x4fd8e530 crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0x4fdc945d sata_deb_timing_normal +EXPORT_SYMBOL_GPL vmlinux 0x4fdd6ee2 powercap_unregister_control_type +EXPORT_SYMBOL_GPL vmlinux 0x4fdfae19 srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4fe7a135 hwmon_notify_event +EXPORT_SYMBOL_GPL vmlinux 0x5001f0ad mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x500392c1 fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0x5007d64f of_dma_xlate_by_chan_id +EXPORT_SYMBOL_GPL vmlinux 0x501af55d palmas_ext_control_req_config +EXPORT_SYMBOL_GPL vmlinux 0x5032782b __ata_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x50361a42 regulator_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0x5036d86b rio_set_port_lockout +EXPORT_SYMBOL_GPL vmlinux 0x5045a866 of_cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0x50616e69 devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0x506b00a7 list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0x508377eb xive_native_free_irq +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x509afe23 virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0x50b24793 udp_tunnel_nic_ops +EXPORT_SYMBOL_GPL vmlinux 0x50bd152e of_usb_update_otg_caps +EXPORT_SYMBOL_GPL vmlinux 0x50c2fce7 regulator_is_supported_voltage +EXPORT_SYMBOL_GPL vmlinux 0x50d1bf28 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x50dd1af5 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50fa077c device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x5105d56e hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x510aea25 register_btf_kfunc_id_set +EXPORT_SYMBOL_GPL vmlinux 0x5121777e of_phy_get +EXPORT_SYMBOL_GPL vmlinux 0x51310ec0 ata_sas_tport_delete +EXPORT_SYMBOL_GPL vmlinux 0x5138ed4d trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x513e4959 lwtunnel_get_encap_size +EXPORT_SYMBOL_GPL vmlinux 0x5146d5f3 skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0x514a4d62 extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0x51588a46 folio_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x515b390f __SCK__tp_func_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x5168c3ec __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x517ed87e irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0x518039e3 __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x51829796 pwm_apply_state +EXPORT_SYMBOL_GPL vmlinux 0x518773e2 regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x518b3220 phy_set_mode_ext +EXPORT_SYMBOL_GPL vmlinux 0x518d7e4a mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x519ec3da of_i2c_get_board_info +EXPORT_SYMBOL_GPL vmlinux 0x51a348cc usb_role_switch_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x51b65a26 rtc_lock +EXPORT_SYMBOL_GPL vmlinux 0x51beb9cb ata_port_classify +EXPORT_SYMBOL_GPL vmlinux 0x51ccd370 regmap_attach_dev +EXPORT_SYMBOL_GPL vmlinux 0x51d456d9 param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x51da05f1 crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x51df98d0 crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x51e44e8f ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0x5203e8f5 pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x5205cbf4 tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x520ac5f3 pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0x521f8a80 yield_to +EXPORT_SYMBOL_GPL vmlinux 0x5224f062 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x52252316 clk_unregister_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0x52279ece irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0x5231c635 da903x_writes +EXPORT_SYMBOL_GPL vmlinux 0x5236497d trace_clock +EXPORT_SYMBOL_GPL vmlinux 0x523dff22 pm_generic_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x525ec370 dev_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0x526bcf2a wwan_port_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x52701755 platform_clear +EXPORT_SYMBOL_GPL vmlinux 0x52943f90 fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52b4ccd3 thermal_remove_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x52b5be00 __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52c9a973 hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x52c9e901 phy_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x52cba0a8 spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0x52cf7d5f __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x52d27351 dev_pm_genpd_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x52fabb80 regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x53012944 __tracepoint_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x5302c32a pm_runtime_force_suspend +EXPORT_SYMBOL_GPL vmlinux 0x5304135b platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0x5305a435 metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x530d5f23 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x530eeb63 tc3589x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x531547f5 devlink_port_attrs_pci_sf_set +EXPORT_SYMBOL_GPL vmlinux 0x53159621 da903x_write +EXPORT_SYMBOL_GPL vmlinux 0x531e7b8b vfio_uninit_group_dev +EXPORT_SYMBOL_GPL vmlinux 0x531ec423 acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x532839b6 list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0x532b90b5 kprobe_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0x532d1b0d driver_set_override +EXPORT_SYMBOL_GPL vmlinux 0x5335dd11 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x534050f9 hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0x5349bc7d fuse_dax_cancel_work +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x536822e3 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x537252cf __SCK__tp_func_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x53823212 regulator_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x53828dfb genphy_c45_read_link +EXPORT_SYMBOL_GPL vmlinux 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL vmlinux 0x53a0c7b2 gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0x53a51686 usb_get_maximum_ssp_rate +EXPORT_SYMBOL_GPL vmlinux 0x53a5ecf9 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x53c089f5 property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x53d7c01e __traceiter_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x53d9f73a sensor_group_enable +EXPORT_SYMBOL_GPL vmlinux 0x53eb6496 pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x53f662b7 usb_wakeup_enabled_descendants +EXPORT_SYMBOL_GPL vmlinux 0x5413ac07 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x54215db5 visitor64 +EXPORT_SYMBOL_GPL vmlinux 0x54250898 usb_hub_release_port +EXPORT_SYMBOL_GPL vmlinux 0x542f3f3b unregister_cxl_calls +EXPORT_SYMBOL_GPL vmlinux 0x5458e5a2 spi_controller_resume +EXPORT_SYMBOL_GPL vmlinux 0x54675a42 dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0x546a7345 of_clk_src_simple_get +EXPORT_SYMBOL_GPL vmlinux 0x546aa1fa switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x546c5565 ppc_tb_freq +EXPORT_SYMBOL_GPL vmlinux 0x546ec976 dev_pm_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x5470d6c1 wm831x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x547ff8cf pnv_ocxl_get_actag +EXPORT_SYMBOL_GPL vmlinux 0x54827570 fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x548f90a1 crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x549ead9a inode_dax +EXPORT_SYMBOL_GPL vmlinux 0x54a61c1e of_dma_controller_free +EXPORT_SYMBOL_GPL vmlinux 0x54bacd3c tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0x54c90f95 pci_pasid_features +EXPORT_SYMBOL_GPL vmlinux 0x54cee684 __tracepoint_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x550f3e05 i2c_freq_mode_string +EXPORT_SYMBOL_GPL vmlinux 0x5523d22a pm_runtime_allow +EXPORT_SYMBOL_GPL vmlinux 0x55339365 flush_delayed_fput +EXPORT_SYMBOL_GPL vmlinux 0x553b49a4 cpufreq_get_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x55417264 unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5547bbfd crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x556247ee genphy_c45_read_mdix +EXPORT_SYMBOL_GPL vmlinux 0x556e4390 clk_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x5574b4e0 crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0x55760bb1 ata_dev_disable +EXPORT_SYMBOL_GPL vmlinux 0x55784228 regmap_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x5588879e kvmppc_entry_trampoline +EXPORT_SYMBOL_GPL vmlinux 0x558f218f ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0x559593fc phy_speed_down +EXPORT_SYMBOL_GPL vmlinux 0x55a7a075 __devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x55a9cb58 skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0x55acdc78 pinctrl_generic_get_group +EXPORT_SYMBOL_GPL vmlinux 0x55ae98b6 mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x55b45e4f driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x55b4c4f3 is_nvdimm_sync +EXPORT_SYMBOL_GPL vmlinux 0x55b73003 crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0x55c5b388 device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x55c76a23 ksys_sync_helper +EXPORT_SYMBOL_GPL vmlinux 0x55d5f297 dev_pm_set_dedicated_wake_irq_reverse +EXPORT_SYMBOL_GPL vmlinux 0x55dc8c14 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x55e14aa7 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x55f093a9 opal_write_oppanel_async +EXPORT_SYMBOL_GPL vmlinux 0x55fe2582 pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x560e4eee list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0x56173654 pcap_set_ts_bits +EXPORT_SYMBOL_GPL vmlinux 0x56256e8a orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x56310925 regulator_mode_to_status +EXPORT_SYMBOL_GPL vmlinux 0x563814af ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0x563d6108 rio_release_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x563dcd72 iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x5649ffd8 blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x5679e317 blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x568b9dab vp_modern_get_status +EXPORT_SYMBOL_GPL vmlinux 0x56c672c4 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x56ce8df2 __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0x56fbb130 no_hash_pointers +EXPORT_SYMBOL_GPL vmlinux 0x5724a334 icc_link_create +EXPORT_SYMBOL_GPL vmlinux 0x5726a5c8 __traceiter_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x572d83ac load_vcpu_state +EXPORT_SYMBOL_GPL vmlinux 0x5736a330 mm_iommu_ua_to_hpa +EXPORT_SYMBOL_GPL vmlinux 0x574563a9 bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0x575d62e1 klp_enable_patch +EXPORT_SYMBOL_GPL vmlinux 0x576ed250 of_get_named_gpio_flags +EXPORT_SYMBOL_GPL vmlinux 0x5770ef54 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x578eeb4d hugetlb_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x5790e7a0 pci_unlock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0x579de55b of_clk_hw_register +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x579ed0f1 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0x579ef5f3 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x57ad4be0 opal_int_eoi +EXPORT_SYMBOL_GPL vmlinux 0x57b44a81 decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0x57be2e59 fuse_conn_destroy +EXPORT_SYMBOL_GPL vmlinux 0x57cf8efb sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0x57d4050a xhci_get_endpoint_index +EXPORT_SYMBOL_GPL vmlinux 0x57d45ef7 fscrypt_limit_io_blocks +EXPORT_SYMBOL_GPL vmlinux 0x57eb938a pm_genpd_remove +EXPORT_SYMBOL_GPL vmlinux 0x57f576b9 mpi_ec_curve_point +EXPORT_SYMBOL_GPL vmlinux 0x57fb9c7e edac_device_handle_ue_count +EXPORT_SYMBOL_GPL vmlinux 0x580f1224 trace_add_event_call +EXPORT_SYMBOL_GPL vmlinux 0x582a33c7 dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x58497411 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x5858856c ata_common_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0x585c1319 serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0x5860a5a6 edac_device_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x5868a4fb clk_gate_ops +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x58816d3b skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0x5889fe15 thermal_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0x58913e4e sdio_memcpy_fromio +EXPORT_SYMBOL_GPL vmlinux 0x5892f832 release_pmc_hardware +EXPORT_SYMBOL_GPL vmlinux 0x5893e9e8 exportfs_decode_fh_raw +EXPORT_SYMBOL_GPL vmlinux 0x589d9d33 pm_genpd_init +EXPORT_SYMBOL_GPL vmlinux 0x58b36b74 devm_regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x58bf22c7 cpufreq_policy_transition_delay_us +EXPORT_SYMBOL_GPL vmlinux 0x58c0e4d1 fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0x58d417eb devm_spi_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x58d54f95 sbitmap_queue_show +EXPORT_SYMBOL_GPL vmlinux 0x58d57235 devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x58daf959 watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0x58db1176 ata_xfer_mode2shift +EXPORT_SYMBOL_GPL vmlinux 0x58dc23ec pm_genpd_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x58df15fd usb_autopm_put_interface_async +EXPORT_SYMBOL_GPL vmlinux 0x58e4cabe bdev_discard_alignment +EXPORT_SYMBOL_GPL vmlinux 0x58e53597 __suspend_report_result +EXPORT_SYMBOL_GPL vmlinux 0x58f479a0 genphy_c45_pma_baset1_read_master_slave +EXPORT_SYMBOL_GPL vmlinux 0x5902b1db fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0x5909fc18 opal_tpo_read +EXPORT_SYMBOL_GPL vmlinux 0x5910e486 vas_rx_win_open +EXPORT_SYMBOL_GPL vmlinux 0x5918335c tcp_sendmsg_locked +EXPORT_SYMBOL_GPL vmlinux 0x59194eac xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0x59335f4b sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x5936ad55 ehci_setup +EXPORT_SYMBOL_GPL vmlinux 0x593e48b0 tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0x594a4fef request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0x5958f576 msi_first_desc +EXPORT_SYMBOL_GPL vmlinux 0x596907d6 pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0x5982aa3a vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x5986d190 kdb_printf +EXPORT_SYMBOL_GPL vmlinux 0x599dbd3a irq_chip_release_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x59af17e1 sdio_writel +EXPORT_SYMBOL_GPL vmlinux 0x59b2adbf input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0x59c43dc9 __traceiter_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x59c477eb __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x59ebb7b9 soc_device_match +EXPORT_SYMBOL_GPL vmlinux 0x59f06fc9 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x59f32720 mpi_subm +EXPORT_SYMBOL_GPL vmlinux 0x5a12e60c __SCK__tp_func_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a30bce8 fat_time_fat2unix +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a4dfd00 fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0x5a64addb cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a7c6ec6 bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0x5a9f83d8 icc_put +EXPORT_SYMBOL_GPL vmlinux 0x5ab09745 edac_get_owner +EXPORT_SYMBOL_GPL vmlinux 0x5aba55b2 skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0x5aba6009 dev_pm_domain_attach +EXPORT_SYMBOL_GPL vmlinux 0x5ac44e5a tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0x5acda639 mmc_cmdq_enable +EXPORT_SYMBOL_GPL vmlinux 0x5adbc43e kvmppc_hpte_hv_fault +EXPORT_SYMBOL_GPL vmlinux 0x5add2e16 ata_scsi_slave_config +EXPORT_SYMBOL_GPL vmlinux 0x5ae16882 serial8250_em485_start_tx +EXPORT_SYMBOL_GPL vmlinux 0x5b06ef35 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x5b0c0845 key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b3bf695 ata_platform_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x5b3dd167 usb_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x5b43da4a sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x5b4e59b2 nexthop_select_path +EXPORT_SYMBOL_GPL vmlinux 0x5b65d81f kvmppc_add_revmap_chain +EXPORT_SYMBOL_GPL vmlinux 0x5b6b0329 swiotlb_max_segment +EXPORT_SYMBOL_GPL vmlinux 0x5b741526 pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0x5b77f3f6 __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x5b7bedac regulator_set_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x5b9042d6 perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x5ba9c87f blk_crypto_keyslot_index +EXPORT_SYMBOL_GPL vmlinux 0x5bb10d8e iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x5bb288b4 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x5bbdfa26 scatterwalk_ffwd +EXPORT_SYMBOL_GPL vmlinux 0x5bc950fe regulator_irq_helper_cancel +EXPORT_SYMBOL_GPL vmlinux 0x5bcc0df7 ata_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x5bd0748f crypto_del_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x5bdae35b usb_phy_roothub_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x5bdbac4e rcu_unexpedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x5be21fce make_device_exclusive_range +EXPORT_SYMBOL_GPL vmlinux 0x5be6d046 of_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0x5bfce83c perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5c02df5c fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0x5c09712b pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0x5c2f1546 devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0x5c3bbd06 __SCK__tp_func_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x5c50dacc clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x5c55e703 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x5c5a1b16 tick_broadcast_control +EXPORT_SYMBOL_GPL vmlinux 0x5c5fb695 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x5c6d8827 serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0x5c700840 extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5c82016e __SCK__tp_func_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x5c85146b xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0x5cad87db usb_control_msg_recv +EXPORT_SYMBOL_GPL vmlinux 0x5cad8fc3 power_supply_ocv2cap_simple +EXPORT_SYMBOL_GPL vmlinux 0x5cae7b74 to_of_pinfo +EXPORT_SYMBOL_GPL vmlinux 0x5caeee9e gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x5cb99d97 kernstart_addr +EXPORT_SYMBOL_GPL vmlinux 0x5cbd7e03 gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0x5cc09ce0 sdio_writesb +EXPORT_SYMBOL_GPL vmlinux 0x5cc2cac8 strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0x5cd0e5eb __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0x5cd305ed digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x5cd44c51 exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0x5cd85b90 blk_mq_wait_quiesce_done +EXPORT_SYMBOL_GPL vmlinux 0x5ce816ee bdev_alignment_offset +EXPORT_SYMBOL_GPL vmlinux 0x5cede0a7 xdp_flush_frame_bulk +EXPORT_SYMBOL_GPL vmlinux 0x5cf0b2fe tpm_tis_core_init +EXPORT_SYMBOL_GPL vmlinux 0x5cf958b8 badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0x5cf98071 dax_inode +EXPORT_SYMBOL_GPL vmlinux 0x5cfe2482 tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x5d20ef6b serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0x5d2bc42a reset_control_rearm +EXPORT_SYMBOL_GPL vmlinux 0x5d3508f1 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x5d58fcdf unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0x5d62a508 cpufreq_dbs_governor_stop +EXPORT_SYMBOL_GPL vmlinux 0x5d6cb56d mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5d7aae76 ata_link_next +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5d88144c serial8250_do_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0x5da2d0e2 __traceiter_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5da7c1c5 kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x5dae773b proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0x5dccce69 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x5de0a441 generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0x5df7f1b3 pinctrl_dev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x5e003690 __devm_regmap_init_mmio_clk +EXPORT_SYMBOL_GPL vmlinux 0x5e00aea4 ucall_norets +EXPORT_SYMBOL_GPL vmlinux 0x5e08d9b0 memremap_pages +EXPORT_SYMBOL_GPL vmlinux 0x5e173309 cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x5e19de65 of_get_regulator_init_data +EXPORT_SYMBOL_GPL vmlinux 0x5e25f855 unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x5e2e437d pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0x5e397b51 wm8350_block_write +EXPORT_SYMBOL_GPL vmlinux 0x5e504ee9 rio_dma_prep_slave_sg +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e54e214 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0x5e569c4c usb_free_streams +EXPORT_SYMBOL_GPL vmlinux 0x5e5ce758 devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x5e6118d1 bpf_offload_dev_netdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5e6414bd blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x5e6f6b3c scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0x5e710794 nvdimm_setup_pfn +EXPORT_SYMBOL_GPL vmlinux 0x5e798ffb divider_get_val +EXPORT_SYMBOL_GPL vmlinux 0x5e7b0ea4 serial8250_do_set_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x5e8300ff regmap_get_val_endian +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5e9659c7 follow_pte +EXPORT_SYMBOL_GPL vmlinux 0x5e9875f2 da903x_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5eae5408 clk_is_enabled_when_prepared +EXPORT_SYMBOL_GPL vmlinux 0x5eb1487a ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x5eb417e0 __SCK__tp_func_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x5ec34d9f device_link_del +EXPORT_SYMBOL_GPL vmlinux 0x5ec8c322 xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0x5ed0da6c tm_disable +EXPORT_SYMBOL_GPL vmlinux 0x5ed73969 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x5ee474fa crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x5eecb19c udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0x5eedf1af xas_split_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5ef09600 crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x5ef3b04e noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0x5f059f1f bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5f23e3fa insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x5f3b1a06 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0x5f49f0d9 of_irq_get +EXPORT_SYMBOL_GPL vmlinux 0x5f562dd4 devm_extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x5f58db42 alarm_start +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f8d3f24 devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x5fa625ed mpi_ec_mul_point +EXPORT_SYMBOL_GPL vmlinux 0x5fb973b8 mm_iommu_preregistered +EXPORT_SYMBOL_GPL vmlinux 0x5fc51c0e crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0x5fd9115c device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0x5fdd633a pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x5fdfcd57 __tracepoint_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x5fe061bb cpufreq_freq_transition_begin +EXPORT_SYMBOL_GPL vmlinux 0x5ff09a26 devm_register_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x5ff19cce pcie_reset_flr +EXPORT_SYMBOL_GPL vmlinux 0x6000187c opal_check_token +EXPORT_SYMBOL_GPL vmlinux 0x60046128 xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x60091316 clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x600cc455 mmu_slb_size +EXPORT_SYMBOL_GPL vmlinux 0x603782d4 set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0x603a1d84 dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0x6043aa8e irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0x604722fd devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x60593de2 dev_pm_opp_detach_genpd +EXPORT_SYMBOL_GPL vmlinux 0x60655421 sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x6067c92d trace_remove_event_call +EXPORT_SYMBOL_GPL vmlinux 0x6068db76 clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x606b4aba devlink_linecard_provision_set +EXPORT_SYMBOL_GPL vmlinux 0x60779414 regulator_unregister +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x60816576 xas_find +EXPORT_SYMBOL_GPL vmlinux 0x6081884a usb_unlink_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0x60838cf3 fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0x608df156 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL_GPL vmlinux 0x60a634c4 vfio_info_cap_add +EXPORT_SYMBOL_GPL vmlinux 0x60ae0922 power_supply_vbat2ri +EXPORT_SYMBOL_GPL vmlinux 0x60b877d0 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x60c56b10 extcon_set_state +EXPORT_SYMBOL_GPL vmlinux 0x60c5b787 __traceiter_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x60c7a5ea nvdimm_bus_check_dimm_count +EXPORT_SYMBOL_GPL vmlinux 0x60c9f3a6 phy_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x60ccf69f spi_controller_suspend +EXPORT_SYMBOL_GPL vmlinux 0x60db52a8 __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0x60ebc5c2 device_attach +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x60f23671 ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0x610f399b subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x61144817 fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0x6129c0db xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x612aef0e i2c_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x61406bf0 genphy_c45_read_lpa +EXPORT_SYMBOL_GPL vmlinux 0x6146c01f hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0x614840fb component_compare_dev +EXPORT_SYMBOL_GPL vmlinux 0x614adcb7 of_overlay_remove_all +EXPORT_SYMBOL_GPL vmlinux 0x615d3447 kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x6181e79f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0x6198dfea __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6199ad5d crypto_has_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x619a8194 threads_core_mask +EXPORT_SYMBOL_GPL vmlinux 0x61b25504 rio_unmap_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x61be3720 vp_modern_config_vector +EXPORT_SYMBOL_GPL vmlinux 0x61c1ca29 __SCK__tp_func_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x61d6ee43 sbitmap_queue_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x61e0172f tps6586x_writes +EXPORT_SYMBOL_GPL vmlinux 0x61f1d7c0 disk_update_readahead +EXPORT_SYMBOL_GPL vmlinux 0x61f408c3 pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x62202630 cpu_remove_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0x62279fe4 pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x622c420d nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x622c7922 register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6233785e debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0x62377a7b blk_io_schedule +EXPORT_SYMBOL_GPL vmlinux 0x6246a629 synchronize_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x624f2a07 nvdimm_name +EXPORT_SYMBOL_GPL vmlinux 0x6250b282 of_dma_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0x6257dda7 clk_rate_exclusive_get +EXPORT_SYMBOL_GPL vmlinux 0x6259d291 clk_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x625e85fd ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x6260df9a ata_bmdma_stop +EXPORT_SYMBOL_GPL vmlinux 0x6263d412 iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0x626eff12 debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x626fcd39 pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0x62770d9c kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x628148be _kvmppc_restore_tm_pr +EXPORT_SYMBOL_GPL vmlinux 0x6295204e ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0x62a1e3fb tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0x62addc2f alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0x62ae7019 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x62b01370 regmap_fields_read +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62bb49ad genphy_c45_loopback +EXPORT_SYMBOL_GPL vmlinux 0x62d45cec __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0x62fb8acf regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0x6303ab37 vfio_pci_core_init_device +EXPORT_SYMBOL_GPL vmlinux 0x63150e06 clk_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x63197685 s2idle_wake +EXPORT_SYMBOL_GPL vmlinux 0x632140ff raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x632c580f iptunnel_metadata_reply +EXPORT_SYMBOL_GPL vmlinux 0x633f5a7a dma_resv_test_signaled +EXPORT_SYMBOL_GPL vmlinux 0x634702c8 __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0x634b9d42 __SCK__tp_func_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x636a9530 phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL vmlinux 0x636dc7b5 i2c_recover_bus +EXPORT_SYMBOL_GPL vmlinux 0x637045bf dev_pm_opp_find_freq_floor +EXPORT_SYMBOL_GPL vmlinux 0x63710396 devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0x63764c70 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0x63795933 __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x637c1335 l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0x637f19b4 gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0x63912a06 crypto_alloc_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x63a1280e usb_put_dev +EXPORT_SYMBOL_GPL vmlinux 0x63a1ff35 pci_dev_lock +EXPORT_SYMBOL_GPL vmlinux 0x63b3d2bc check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0x63c08029 clk_bulk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0x63e543ca phy_10gbit_fec_features +EXPORT_SYMBOL_GPL vmlinux 0x63f32621 power_supply_set_property +EXPORT_SYMBOL_GPL vmlinux 0x63f710ef bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x640a1659 handle_fasteoi_irq +EXPORT_SYMBOL_GPL vmlinux 0x6418789c xa_delete_node +EXPORT_SYMBOL_GPL vmlinux 0x6428c7c1 shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0x6435b52e usb_unanchor_urb +EXPORT_SYMBOL_GPL vmlinux 0x64375df8 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0x644b6aa6 stmpe_enable +EXPORT_SYMBOL_GPL vmlinux 0x64512ffe pm_clk_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0x64599b60 regulator_disable_deferred +EXPORT_SYMBOL_GPL vmlinux 0x645a33e3 __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x645bd6b8 syscon_regmap_lookup_by_phandle_optional +EXPORT_SYMBOL_GPL vmlinux 0x64609d25 __tracepoint_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x647987c9 blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0x648b67d7 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0x6493a2df rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0x64a24680 bpf_trace_run11 +EXPORT_SYMBOL_GPL vmlinux 0x64a9b0c0 usb_control_msg +EXPORT_SYMBOL_GPL vmlinux 0x64b53be9 dev_pm_opp_remove_table +EXPORT_SYMBOL_GPL vmlinux 0x64b95a6b ata_pci_device_do_suspend +EXPORT_SYMBOL_GPL vmlinux 0x64be5caf inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x64d020bd pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0x64d323a0 l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0x64dad373 nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0x64dc76d6 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x64e3e13f gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x64e7cad0 gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0x64ee1b48 vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x64f36620 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x64f73532 usb_autopm_put_interface_no_suspend +EXPORT_SYMBOL_GPL vmlinux 0x64f74abf __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x6505f6a1 i2c_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x650d49fb gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x651d10e5 ktime_get_tai_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x65319a2d of_irq_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x6531a37f mpi_add +EXPORT_SYMBOL_GPL vmlinux 0x653b617a icc_get_name +EXPORT_SYMBOL_GPL vmlinux 0x6545268e __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x654891c6 gpiochip_add_pin_range +EXPORT_SYMBOL_GPL vmlinux 0x654b52fe regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0x655d228c fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x655f3923 phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL vmlinux 0x656be2d8 usb_deregister_dev +EXPORT_SYMBOL_GPL vmlinux 0x656d8db3 thermal_zone_device_update +EXPORT_SYMBOL_GPL vmlinux 0x657aa733 ata_sff_lost_interrupt +EXPORT_SYMBOL_GPL vmlinux 0x657de88f phy_pm_runtime_put +EXPORT_SYMBOL_GPL vmlinux 0x65871f11 devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x65918956 edac_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0x65b28aa1 task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0x65b71240 fscrypt_mergeable_bio +EXPORT_SYMBOL_GPL vmlinux 0x65c8e0e3 ping_hash +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65dac9eb dm_audit_log_ti +EXPORT_SYMBOL_GPL vmlinux 0x65e04404 ata_host_put +EXPORT_SYMBOL_GPL vmlinux 0x65e6ad45 dev_pm_opp_unregister_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x65f149ef devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x65fc4e7b sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0x660eb6bd devlink_free +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x661f4402 md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x6632c561 bio_trim +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x663c2d61 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x664e8085 xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0x66507d3c vfio_pci_core_match +EXPORT_SYMBOL_GPL vmlinux 0x665e92a0 clk_set_duty_cycle +EXPORT_SYMBOL_GPL vmlinux 0x666dbb35 mmc_get_ext_csd +EXPORT_SYMBOL_GPL vmlinux 0x666df6e7 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x667cfde9 trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x669affa6 inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0x66a9b54e devm_fwnode_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x66b017ac iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0x66b3ffc3 device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0x66b894eb __devm_regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66c387a2 serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0x66c9dcbd vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66d9ae66 sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x66e5caeb __dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0x66ea3ae6 devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0x66ee177a trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0x6705d69b iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0x670ce365 ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x6710c8cd usb_asmedia_modifyflowcontrol +EXPORT_SYMBOL_GPL vmlinux 0x672de746 perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0x67429c91 __SCK__tp_func_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x6759e578 iomap_invalidate_folio +EXPORT_SYMBOL_GPL vmlinux 0x675d9f2a tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0x677328bf vp_modern_queue_vector +EXPORT_SYMBOL_GPL vmlinux 0x6781c56c devm_clk_register +EXPORT_SYMBOL_GPL vmlinux 0x678fe387 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0x67919ef9 nvdimm_security_setup_events +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x67a669d0 iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0x67a8c81c led_trigger_unregister_simple +EXPORT_SYMBOL_GPL vmlinux 0x67b608b1 pci_dev_trylock +EXPORT_SYMBOL_GPL vmlinux 0x67cbf81c devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0x67d09881 pinconf_generic_parse_dt_config +EXPORT_SYMBOL_GPL vmlinux 0x67d31cd0 irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x67d48d8d cpu_remove_dev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x67dd4e54 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0x67e323a9 devm_clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x67f1a6a9 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x680eedcc of_hwspin_lock_get_id_byname +EXPORT_SYMBOL_GPL vmlinux 0x6811130d register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x6821be13 dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0x6826a3f8 skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x682b25b5 debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x682cbd3e i2c_of_match_device +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x683e4636 md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x68445690 pm_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x68460527 blkcg_set_fc_appid +EXPORT_SYMBOL_GPL vmlinux 0x684bef69 __fscrypt_inode_uses_inline_crypto +EXPORT_SYMBOL_GPL vmlinux 0x684dbf11 ping_close +EXPORT_SYMBOL_GPL vmlinux 0x6858d77e pci_epc_map_msi_irq +EXPORT_SYMBOL_GPL vmlinux 0x685f6991 sysfs_remove_device_from_node +EXPORT_SYMBOL_GPL vmlinux 0x687615ff nd_region_dev +EXPORT_SYMBOL_GPL vmlinux 0x68786f2e xive_native_configure_queue +EXPORT_SYMBOL_GPL vmlinux 0x6883adba genphy_c45_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x688fe5e6 phy_pm_runtime_put_sync +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x689af381 perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0x68ac5d6c device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x68b29095 preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x68c4fcfe pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x68d96349 devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x690227e6 crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0x6909a38b opal_rtc_read +EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL vmlinux 0x69106da9 dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x6913865a trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x6928269b xive_native_disable_vp +EXPORT_SYMBOL_GPL vmlinux 0x692e34d3 pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x69456b28 synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0x694903fc usb_get_status +EXPORT_SYMBOL_GPL vmlinux 0x6958232c cpufreq_enable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x6958846b sched_set_fifo +EXPORT_SYMBOL_GPL vmlinux 0x69637b2c __traceiter_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x6964d5e6 usb_store_new_id +EXPORT_SYMBOL_GPL vmlinux 0x696f2b63 of_changeset_init +EXPORT_SYMBOL_GPL vmlinux 0x697a2531 usb_altnum_to_altsetting +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x697cbbb4 threads_per_core +EXPORT_SYMBOL_GPL vmlinux 0x699286be of_changeset_action +EXPORT_SYMBOL_GPL vmlinux 0x6994c9dd ata_std_postreset +EXPORT_SYMBOL_GPL vmlinux 0x699dd084 kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0x69a54b4c xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0x69a97570 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x69aeddef atomic_notifier_chain_register_unique_prio +EXPORT_SYMBOL_GPL vmlinux 0x69bc9d10 device_match_name +EXPORT_SYMBOL_GPL vmlinux 0x69ca1d6d of_clk_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69d1fb88 irq_get_default_host +EXPORT_SYMBOL_GPL vmlinux 0x69d3cea3 pm_runtime_enable +EXPORT_SYMBOL_GPL vmlinux 0x69d82c3e iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x69e4b547 of_pci_parse_bus_range +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x69e83605 mc146818_get_time +EXPORT_SYMBOL_GPL vmlinux 0x69ee2220 linear_range_get_selector_high +EXPORT_SYMBOL_GPL vmlinux 0x69fd3883 ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6a00b7c9 sata_pmp_qc_defer_cmd_switch +EXPORT_SYMBOL_GPL vmlinux 0x6a05b65b fb_videomode_from_videomode +EXPORT_SYMBOL_GPL vmlinux 0x6a1aa39b __rio_local_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x6a1f65e8 vp_modern_get_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x6a36ff74 __traceiter_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x6a3f0e4a aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0x6a421062 memory_failure_queue +EXPORT_SYMBOL_GPL vmlinux 0x6a460dc5 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0x6a47f024 raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x6a4f623b mmu_notifier_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x6a51308b sdio_retune_release +EXPORT_SYMBOL_GPL vmlinux 0x6a5a9252 misc_cg_uncharge +EXPORT_SYMBOL_GPL vmlinux 0x6a77025b regmap_raw_write_async +EXPORT_SYMBOL_GPL vmlinux 0x6a80c9a0 dma_resv_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a8fb24d devm_pinctrl_get +EXPORT_SYMBOL_GPL vmlinux 0x6a9cf140 vfio_pci_core_register_device +EXPORT_SYMBOL_GPL vmlinux 0x6ab37e83 get_dev_pagemap +EXPORT_SYMBOL_GPL vmlinux 0x6ac764cd vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0x6ace490e devm_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0x6ae4d407 tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0x6af6e609 pm_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0x6afc1391 genphy_c45_fast_retrain +EXPORT_SYMBOL_GPL vmlinux 0x6b08f30d fsverity_ioctl_read_metadata +EXPORT_SYMBOL_GPL vmlinux 0x6b198c77 led_colors +EXPORT_SYMBOL_GPL vmlinux 0x6b1abedc inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x6b237069 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x6b2b69f7 static_key_enable +EXPORT_SYMBOL_GPL vmlinux 0x6b2cf84c cpufreq_cpu_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x6b36e07d devlink_linecard_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6b413c9b sfp_link_down +EXPORT_SYMBOL_GPL vmlinux 0x6b7247d8 devm_power_supply_register +EXPORT_SYMBOL_GPL vmlinux 0x6b77340e mpc8xxx_spi_rx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0x6b81c38b power_supply_unreg_notifier +EXPORT_SYMBOL_GPL vmlinux 0x6b950c5c max8997_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0x6ba36c6a hwpoison_filter_flags_value +EXPORT_SYMBOL_GPL vmlinux 0x6baa828e devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x6bb66fc7 crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x6bcdedc0 mpi_point_init +EXPORT_SYMBOL_GPL vmlinux 0x6bce3092 fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6be9e144 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x6bea000c reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x6c009477 tc3589x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x6c08b8b1 phy_power_off +EXPORT_SYMBOL_GPL vmlinux 0x6c205008 mpi_print +EXPORT_SYMBOL_GPL vmlinux 0x6c24b4e3 __traceiter_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x6c25ae50 __pm_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6c4b6684 reset_control_assert +EXPORT_SYMBOL_GPL vmlinux 0x6c5162e7 io_uring_cmd_complete_in_task +EXPORT_SYMBOL_GPL vmlinux 0x6c523508 ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x6c5867a2 da903x_update +EXPORT_SYMBOL_GPL vmlinux 0x6c5ad0cd kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x6c5e8a43 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0x6c62f1cc posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0x6c646821 regmap_noinc_read +EXPORT_SYMBOL_GPL vmlinux 0x6c7b435f mc146818_does_rtc_work +EXPORT_SYMBOL_GPL vmlinux 0x6c808c9a pinmux_generic_get_function_count +EXPORT_SYMBOL_GPL vmlinux 0x6c89015e kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x6c956075 __SCK__tp_func_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6caa7442 rio_map_outb_region +EXPORT_SYMBOL_GPL vmlinux 0x6cad59cb __phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x6cc67c4e pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x6cfddd43 tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x6d05db72 sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x6d09843f copy_bpf_fprog_from_user +EXPORT_SYMBOL_GPL vmlinux 0x6d0ae550 pinctrl_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x6d12b4a4 genphy_c45_baset1_read_status +EXPORT_SYMBOL_GPL vmlinux 0x6d12b7fd usb_init_urb +EXPORT_SYMBOL_GPL vmlinux 0x6d14d8c4 synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x6d24b9ca platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d31879e devm_of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0x6d400906 serial8250_set_defaults +EXPORT_SYMBOL_GPL vmlinux 0x6d402a51 serial8250_tx_chars +EXPORT_SYMBOL_GPL vmlinux 0x6d42861d shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x6d450ff2 blkcg_get_fc_appid +EXPORT_SYMBOL_GPL vmlinux 0x6d57b248 bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x6d58478f ata_pci_bmdma_clear_simplex +EXPORT_SYMBOL_GPL vmlinux 0x6d5bc0a3 ata_pci_remove_one +EXPORT_SYMBOL_GPL vmlinux 0x6d66a767 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x6d6d74f2 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x6d6f0763 hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d7832b7 __stack_depot_save +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d8d503d cpu_latency_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0x6da5569d led_set_brightness +EXPORT_SYMBOL_GPL vmlinux 0x6da6ca2d __devm_clk_hw_register_gate +EXPORT_SYMBOL_GPL vmlinux 0x6db18079 usb_add_hcd +EXPORT_SYMBOL_GPL vmlinux 0x6db25bfa of_genpd_add_provider_simple +EXPORT_SYMBOL_GPL vmlinux 0x6db41704 pinmux_generic_remove_function +EXPORT_SYMBOL_GPL vmlinux 0x6db565b6 gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6dd2d3f8 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x6dd5680d sprint_symbol_build_id +EXPORT_SYMBOL_GPL vmlinux 0x6dee8987 of_genpd_add_provider_onecell +EXPORT_SYMBOL_GPL vmlinux 0x6e0960ce crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x6e09d93d __SCK__tp_func_map +EXPORT_SYMBOL_GPL vmlinux 0x6e13832c pwm_capture +EXPORT_SYMBOL_GPL vmlinux 0x6e185c06 devm_memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x6e200a38 pci_find_host_bridge +EXPORT_SYMBOL_GPL vmlinux 0x6e30668f irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x6e3347ec devlink_priv +EXPORT_SYMBOL_GPL vmlinux 0x6e353c26 mpi_rshift +EXPORT_SYMBOL_GPL vmlinux 0x6e3ff83a edac_device_alloc_index +EXPORT_SYMBOL_GPL vmlinux 0x6e412fc0 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x6e4c3c16 soc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x6e59f821 __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x6e63267a shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x6e640631 sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x6e6582f0 phy_pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0x6e69fcd4 rio_request_dma +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6e7fd6f3 __alloc_pages_bulk +EXPORT_SYMBOL_GPL vmlinux 0x6e891a08 pm_clk_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6e89a560 regmap_irq_chip_get_base +EXPORT_SYMBOL_GPL vmlinux 0x6e927aa3 irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0x6ea329c1 tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ebeed34 bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6eee7bac pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ef8d940 driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x6f0088d9 xive_native_sync_source +EXPORT_SYMBOL_GPL vmlinux 0x6f03f727 sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x6f042b8e raw_v6_match +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f1658b3 sdio_claim_irq +EXPORT_SYMBOL_GPL vmlinux 0x6f2017de misc_cg_set_capacity +EXPORT_SYMBOL_GPL vmlinux 0x6f26ed7c nvdimm_delete +EXPORT_SYMBOL_GPL vmlinux 0x6f447abb pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0x6f4eb35a lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0x6f5abbe3 __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x6f6190fe input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0x6f6a0c57 blk_stat_disable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x6f6b52e9 __ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x6f7e6040 irq_has_action +EXPORT_SYMBOL_GPL vmlinux 0x6f80ba38 regulator_get_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6faf7f27 dev_pm_qos_hide_flags +EXPORT_SYMBOL_GPL vmlinux 0x6fbcc24a init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x6fc22103 register_cxl_calls +EXPORT_SYMBOL_GPL vmlinux 0x6fc6d094 anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0x6fc81a65 screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x6fcb73ee usb_put_intf +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6ff38d9f crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6ff96f1e badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0x6ffe8244 ata_sff_dev_select +EXPORT_SYMBOL_GPL vmlinux 0x70012dcb sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions +EXPORT_SYMBOL_GPL vmlinux 0x701609e6 pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x7022f1b9 __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x70384f68 regulator_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x70446ea1 md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x704f24ae kvmppc_restore_tm_hv +EXPORT_SYMBOL_GPL vmlinux 0x705001cc i2c_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0x7054cc93 __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x7069f913 ata_sff_irq_on +EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7081971a pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x70843c2d of_reset_control_array_get +EXPORT_SYMBOL_GPL vmlinux 0x708bcca5 pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x70adfc60 pcibios_free_controller_deferred +EXPORT_SYMBOL_GPL vmlinux 0x70aeb441 mpic_subsys +EXPORT_SYMBOL_GPL vmlinux 0x70c2c7ea pids_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x70c52dc5 nf_skb_duplicated +EXPORT_SYMBOL_GPL vmlinux 0x70c6d827 mc146818_set_time +EXPORT_SYMBOL_GPL vmlinux 0x70cf032f usb_hcd_irq +EXPORT_SYMBOL_GPL vmlinux 0x70cf8a07 __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x70d4f974 umd_cleanup_helper +EXPORT_SYMBOL_GPL vmlinux 0x70d8cb40 driver_find +EXPORT_SYMBOL_GPL vmlinux 0x70dae95b usb_set_configuration +EXPORT_SYMBOL_GPL vmlinux 0x70deb22f regmap_async_complete +EXPORT_SYMBOL_GPL vmlinux 0x70e17cb0 mm_iommu_newdev +EXPORT_SYMBOL_GPL vmlinux 0x70e99f77 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x70eaa462 irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x710fd3f5 devfreq_get_devfreq_by_node +EXPORT_SYMBOL_GPL vmlinux 0x711481c8 bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0x7126bac9 devm_krealloc +EXPORT_SYMBOL_GPL vmlinux 0x7135a8fa lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7153b7ab vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0x71549330 unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x715a43ce priv_to_devlink +EXPORT_SYMBOL_GPL vmlinux 0x715cc841 crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0x715f2704 usb_hcd_giveback_urb +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x71652390 of_remove_property +EXPORT_SYMBOL_GPL vmlinux 0x71687446 strp_done +EXPORT_SYMBOL_GPL vmlinux 0x71724493 mctrl_gpio_enable_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x717dea54 devm_thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0x718a5444 serial8250_do_get_mctrl +EXPORT_SYMBOL_GPL vmlinux 0x7195940a mctrl_gpio_disable_irq_wake +EXPORT_SYMBOL_GPL vmlinux 0x719e17ff clk_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x71a20f4a __SCK__tp_func_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x71a3e897 bpf_trace_run6 +EXPORT_SYMBOL_GPL vmlinux 0x71ac94d6 iocb_bio_iopoll +EXPORT_SYMBOL_GPL vmlinux 0x71ace7d6 pci_test_config_bits +EXPORT_SYMBOL_GPL vmlinux 0x71b15008 lwtunnel_valid_encap_type +EXPORT_SYMBOL_GPL vmlinux 0x71b61c9f store_vcpu_state +EXPORT_SYMBOL_GPL vmlinux 0x71b6cf94 dst_cache_reset_now +EXPORT_SYMBOL_GPL vmlinux 0x71c059d8 __traceiter_map +EXPORT_SYMBOL_GPL vmlinux 0x71c4156a ftrace_set_filter_ips +EXPORT_SYMBOL_GPL vmlinux 0x71dbf522 serial8250_update_uartclk +EXPORT_SYMBOL_GPL vmlinux 0x71e4f3c3 mbox_client_peek_data +EXPORT_SYMBOL_GPL vmlinux 0x71fd6612 platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0x72064de3 virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0x7207d131 ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0x72269e6a ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0x722b5652 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x7237e950 pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x72485c7a tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x7254ef5d serial8250_rpm_get +EXPORT_SYMBOL_GPL vmlinux 0x726004ae __traceiter_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x7262702b sfp_get_module_eeprom_by_page +EXPORT_SYMBOL_GPL vmlinux 0x7265f2b0 pci_vpd_check_csum +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x727ac692 crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x7283161b percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x72873e53 thermal_zone_device_enable +EXPORT_SYMBOL_GPL vmlinux 0x7289ff20 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x7294e14d debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0x7298e264 genphy_c45_pma_baset1_setup_master_slave +EXPORT_SYMBOL_GPL vmlinux 0x72a8bae4 __bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0x72c35a1b strp_stop +EXPORT_SYMBOL_GPL vmlinux 0x72d25881 devm_power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x72d267dc nvmem_del_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0x72e544a1 pinctrl_enable +EXPORT_SYMBOL_GPL vmlinux 0x72e781a2 dw_pcie_link_up +EXPORT_SYMBOL_GPL vmlinux 0x72edf918 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x73157447 fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x7316e73f nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0x7319a990 i2c_dw_prepare_clk +EXPORT_SYMBOL_GPL vmlinux 0x73201036 icc_enable +EXPORT_SYMBOL_GPL vmlinux 0x732ac5a5 devm_pinctrl_put +EXPORT_SYMBOL_GPL vmlinux 0x7339825f regulator_set_mode +EXPORT_SYMBOL_GPL vmlinux 0x7351fcb1 devlink_remote_reload_actions_performed +EXPORT_SYMBOL_GPL vmlinux 0x73629ff7 iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0x7364260a wwan_create_port +EXPORT_SYMBOL_GPL vmlinux 0x7366d8c7 cpufreq_driver_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0x737895e7 vas_init_rx_win_attr +EXPORT_SYMBOL_GPL vmlinux 0x737ff816 uart_console_write +EXPORT_SYMBOL_GPL vmlinux 0x73808d9e usb_of_get_companion_dev +EXPORT_SYMBOL_GPL vmlinux 0x73919677 iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x739fcf8c xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0x73a1b8ae devm_power_supply_register_no_ws +EXPORT_SYMBOL_GPL vmlinux 0x73a48b4a ata_sff_std_ports +EXPORT_SYMBOL_GPL vmlinux 0x73a8ada3 genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x73bcb984 phy_init +EXPORT_SYMBOL_GPL vmlinux 0x73bf3895 regulator_map_voltage_iterate +EXPORT_SYMBOL_GPL vmlinux 0x73c2554f __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73d3ffea balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x73dad67d iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0x73f1085d usb_phy_set_event +EXPORT_SYMBOL_GPL vmlinux 0x74050fdf iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0x740d040f rio_alloc_net +EXPORT_SYMBOL_GPL vmlinux 0x7413f5ce devm_request_free_mem_region +EXPORT_SYMBOL_GPL vmlinux 0x74199b26 opal_leds_set_ind +EXPORT_SYMBOL_GPL vmlinux 0x741b4eaf edac_pci_release_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x742d95a6 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x743095a1 dev_pm_opp_get_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x74375df3 auxiliary_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x743a165e ata_pack_xfermask +EXPORT_SYMBOL_GPL vmlinux 0x74528fd4 kthread_func +EXPORT_SYMBOL_GPL vmlinux 0x7456a405 phy_led_triggers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7459cba7 sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x745db7b7 tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x746c4e2d usb_unlocked_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x7472c092 device_init_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x7475d19e devm_phy_create +EXPORT_SYMBOL_GPL vmlinux 0x74ab91ad iommu_tce_xchg_no_kill +EXPORT_SYMBOL_GPL vmlinux 0x74b5ea68 lcm_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74bc5645 tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0x74be2917 ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x74c16cee virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0x74c7bffa stack_trace_snprint +EXPORT_SYMBOL_GPL vmlinux 0x74c7cbf0 blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0x74cad25b lp8788_update_bits +EXPORT_SYMBOL_GPL vmlinux 0x74d78aff usb_block_urb +EXPORT_SYMBOL_GPL vmlinux 0x74d82c7e tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x74e2357a devm_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x74e73871 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x74eb183a dev_pm_domain_attach_by_name +EXPORT_SYMBOL_GPL vmlinux 0x74f448cf tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0x7503b023 rio_mport_get_feature +EXPORT_SYMBOL_GPL vmlinux 0x75133f6e visitor128 +EXPORT_SYMBOL_GPL vmlinux 0x751666d2 dma_mmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x75166ad8 pwm_get +EXPORT_SYMBOL_GPL vmlinux 0x7517d318 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x753278ff crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0x753ce0ac tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0x754ba823 trace_seq_puts +EXPORT_SYMBOL_GPL vmlinux 0x7566e6b9 sched_set_normal +EXPORT_SYMBOL_GPL vmlinux 0x7569cec8 tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0x75795c84 pm_clk_remove +EXPORT_SYMBOL_GPL vmlinux 0x757c1bbb housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0x757cfe35 xive_native_get_vp_info +EXPORT_SYMBOL_GPL vmlinux 0x759139cb of_pci_check_probe_only +EXPORT_SYMBOL_GPL vmlinux 0x759bc98e pinconf_generic_dump_config +EXPORT_SYMBOL_GPL vmlinux 0x75a830ef gpiochip_remove_pin_ranges +EXPORT_SYMBOL_GPL vmlinux 0x75acc167 register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x75ada9c2 pinctrl_dev_get_devname +EXPORT_SYMBOL_GPL vmlinux 0x75ae743f devm_mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x75d3b6b4 sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0x75d968d4 kvmppc_inject_interrupt_hv +EXPORT_SYMBOL_GPL vmlinux 0x75dd4ebe of_overlay_remove +EXPORT_SYMBOL_GPL vmlinux 0x75df59f6 of_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x75e51945 __SCK__tp_func_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x75f13021 ata_sff_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x76039ccb kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x760cccac ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0x76199cfe securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x762ad49e __blk_trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0x763376bf usb_alloc_urb +EXPORT_SYMBOL_GPL vmlinux 0x7637b3e8 usb_hcd_link_urb_to_ep +EXPORT_SYMBOL_GPL vmlinux 0x763f39d3 usb_hcd_unmap_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0x76422227 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x764a6916 regulator_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x764ffefa page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0x76643720 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x7667cb70 generic_handle_domain_irq +EXPORT_SYMBOL_GPL vmlinux 0x766e613c irq_to_desc +EXPORT_SYMBOL_GPL vmlinux 0x7681946c unregister_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x769cefb5 percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0x76a6dfdc dw8250_do_set_termios +EXPORT_SYMBOL_GPL vmlinux 0x76cd9e38 dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0x76d3b084 blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0x76d9b876 clk_set_rate +EXPORT_SYMBOL_GPL vmlinux 0x76eb1cdc gpiochip_add_pingroup_range +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x76f2abe0 btree_lookup +EXPORT_SYMBOL_GPL vmlinux 0x76f54d6c __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0x76f81b01 vfio_file_set_kvm +EXPORT_SYMBOL_GPL vmlinux 0x7707c950 power_supply_put +EXPORT_SYMBOL_GPL vmlinux 0x7708a136 fb_deferred_io_release +EXPORT_SYMBOL_GPL vmlinux 0x771a431f shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x771bff56 scsi_autopm_put_device +EXPORT_SYMBOL_GPL vmlinux 0x77222306 ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x7724cd7f fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0x772bd722 dbs_update +EXPORT_SYMBOL_GPL vmlinux 0x772dea9a bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0x773b881d ata_bmdma_post_internal_cmd +EXPORT_SYMBOL_GPL vmlinux 0x773cc963 wwan_register_ops +EXPORT_SYMBOL_GPL vmlinux 0x773e0951 kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x773eb7eb usb_alloc_coherent +EXPORT_SYMBOL_GPL vmlinux 0x7747ff0e ethnl_cable_test_result +EXPORT_SYMBOL_GPL vmlinux 0x774f16ef __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x7757b51a clk_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7758be05 srp_release_transport +EXPORT_SYMBOL_GPL vmlinux 0x776b813c usb_clear_halt +EXPORT_SYMBOL_GPL vmlinux 0x7780959f dev_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x7790f5fa pinctrl_count_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x77a08400 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0x77a8611f kvmppc_h_read +EXPORT_SYMBOL_GPL vmlinux 0x77ae495d usb_speed_string +EXPORT_SYMBOL_GPL vmlinux 0x77ce0fe5 scsi_device_from_queue +EXPORT_SYMBOL_GPL vmlinux 0x77cf6f17 devm_pm_opp_set_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0x77dc7488 kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x77eb8c3b xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0x77ecf68d memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0x7801ef8a rio_mport_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0x78041b8f byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x78130acb __pm_runtime_use_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x7814d17d fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x78176ba1 devlink_param_unregister +EXPORT_SYMBOL_GPL vmlinux 0x782448d1 vp_legacy_get_status +EXPORT_SYMBOL_GPL vmlinux 0x782c2ee5 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0x7834c019 phy_10gbit_full_features +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x786c0579 __devm_reset_control_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x787c882b lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x78887bca crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x788ec5ea irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x78c41407 crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x78cdec09 ata_pci_sff_prepare_host +EXPORT_SYMBOL_GPL vmlinux 0x78dc8c4a dm_submit_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x78df0ce1 spi_bus_lock +EXPORT_SYMBOL_GPL vmlinux 0x78e58a4e xive_native_has_single_escalation +EXPORT_SYMBOL_GPL vmlinux 0x7918d817 memory_failure +EXPORT_SYMBOL_GPL vmlinux 0x7926c5ae dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x793e7b5b ata_sas_port_stop +EXPORT_SYMBOL_GPL vmlinux 0x793f98bc __tracepoint_rpm_return_int +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x79470a2c TSS_authhmac +EXPORT_SYMBOL_GPL vmlinux 0x794b7271 orderly_reboot +EXPORT_SYMBOL_GPL vmlinux 0x79629e1b irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0x7968abf9 spi_mem_get_name +EXPORT_SYMBOL_GPL vmlinux 0x796fd725 devm_phy_put +EXPORT_SYMBOL_GPL vmlinux 0x797c9637 crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0x798f816c dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0x79932acc devm_clk_hw_get_clk +EXPORT_SYMBOL_GPL vmlinux 0x799707ae regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x79972045 usb_enable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0x799a5640 tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0x79a6581e rio_mport_chk_dev_access +EXPORT_SYMBOL_GPL vmlinux 0x79acb263 devm_kasprintf_strarray +EXPORT_SYMBOL_GPL vmlinux 0x79aedcb0 housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0x79c5e647 of_prop_next_string +EXPORT_SYMBOL_GPL vmlinux 0x79cbafb7 devm_hwmon_device_register_with_info +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79e2618e of_clk_add_hw_provider +EXPORT_SYMBOL_GPL vmlinux 0x79e447ce usb_phy_set_charger_current +EXPORT_SYMBOL_GPL vmlinux 0x79e4f351 irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x79f30160 of_pci_address_to_resource +EXPORT_SYMBOL_GPL vmlinux 0x79f697e4 lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x79fb3b6d crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x7a0b7e06 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x7a2e36a2 dev_pm_opp_remove_all_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x7a33f814 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x7a46156d trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0x7a4a27ec sdio_claim_host +EXPORT_SYMBOL_GPL vmlinux 0x7a4f87df devm_rtc_device_register +EXPORT_SYMBOL_GPL vmlinux 0x7a5a3405 devlink_alloc_ns +EXPORT_SYMBOL_GPL vmlinux 0x7a5bec71 devm_pinctrl_register_and_init +EXPORT_SYMBOL_GPL vmlinux 0x7a5d6629 fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x7a641ce1 gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0x7a68e12c dw_pcie_ep_raise_msi_irq +EXPORT_SYMBOL_GPL vmlinux 0x7a73e605 wm831x_isinkv_values +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7a86ae65 led_sysfs_enable +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7a98f4b4 copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x7a9e4c23 software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x7ab5792a flush_fp_to_thread +EXPORT_SYMBOL_GPL vmlinux 0x7abf441b ehci_cf_port_reset_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x7ac0e2c3 usb_unlocked_disable_lpm +EXPORT_SYMBOL_GPL vmlinux 0x7ac2d3f7 spi_mem_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7ad02a41 asn1_encode_tag +EXPORT_SYMBOL_GPL vmlinux 0x7ad1ded1 pinctrl_register_mappings +EXPORT_SYMBOL_GPL vmlinux 0x7ad659e5 regmap_noinc_write +EXPORT_SYMBOL_GPL vmlinux 0x7ad8888e rtc_class_close +EXPORT_SYMBOL_GPL vmlinux 0x7afcb7db __kprobe_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x7b05e324 devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0x7b178afe unlock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0x7b19789a ata_bmdma_port_start +EXPORT_SYMBOL_GPL vmlinux 0x7b1df89f pci_address_to_pio +EXPORT_SYMBOL_GPL vmlinux 0x7b275cf9 user_read +EXPORT_SYMBOL_GPL vmlinux 0x7b3005b4 sdio_readl +EXPORT_SYMBOL_GPL vmlinux 0x7b3ddcbb __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0x7b4f4a70 set_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x7b4ff8f4 badrange_forget +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b5eec97 devm_irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0x7b655023 da9052_adc_manual_read +EXPORT_SYMBOL_GPL vmlinux 0x7b6e00a9 dma_resv_describe +EXPORT_SYMBOL_GPL vmlinux 0x7b783824 ppc_breakpoint_available +EXPORT_SYMBOL_GPL vmlinux 0x7b7e6d7e usb_unpoison_urb +EXPORT_SYMBOL_GPL vmlinux 0x7b9018ca regulator_list_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x7b91aacb fuse_request_end +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7bb045a7 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x7bc362ba cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x7bcde953 devm_clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x7bd24f4a crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0x7bdd83d3 pinconf_generic_dt_subnode_to_map +EXPORT_SYMBOL_GPL vmlinux 0x7be65f1c vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x7bed1fc4 ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x7bf3d123 gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0x7bffac0e spi_controller_dma_map_mem_op_data +EXPORT_SYMBOL_GPL vmlinux 0x7c105352 srp_rport_add +EXPORT_SYMBOL_GPL vmlinux 0x7c140d04 da903x_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7c16a2aa ima_file_check +EXPORT_SYMBOL_GPL vmlinux 0x7c25dbe9 ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x7c291e86 show_rcu_tasks_trace_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0x7c33446a mmc_pwrseq_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7c37bc89 pseries_ioei_notifier_list +EXPORT_SYMBOL_GPL vmlinux 0x7c3862c1 of_thermal_is_trip_valid +EXPORT_SYMBOL_GPL vmlinux 0x7c3d8a4b icc_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0x7c4131e6 msi_lock_descs +EXPORT_SYMBOL_GPL vmlinux 0x7c48c715 pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0x7c73a9e0 klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0x7c9a7371 clk_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7c9f7546 usb_register_device_driver +EXPORT_SYMBOL_GPL vmlinux 0x7ca32fc6 xhci_get_ep_ctx +EXPORT_SYMBOL_GPL vmlinux 0x7ca64a0b __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0x7cb07dd1 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL_GPL vmlinux 0x7cb2d276 ata_dummy_port_info +EXPORT_SYMBOL_GPL vmlinux 0x7cbdca61 ata_pci_device_do_resume +EXPORT_SYMBOL_GPL vmlinux 0x7cceaf92 zs_pool_stats +EXPORT_SYMBOL_GPL vmlinux 0x7cd516bd dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x7cd6f042 cpufreq_get_current_driver +EXPORT_SYMBOL_GPL vmlinux 0x7cdca86c mbox_client_txdone +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7cebf342 regulator_disable +EXPORT_SYMBOL_GPL vmlinux 0x7d0069d8 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x7d00c65b nd_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x7d025236 dmaengine_desc_get_metadata_ptr +EXPORT_SYMBOL_GPL vmlinux 0x7d0a212a debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0x7d118cb5 pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0x7d1bb1d4 tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0x7d297bb9 devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x7d2afaf7 sata_pmp_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x7d3fc3ec serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0x7d4d3e8d fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0x7d59dd46 pm_wq +EXPORT_SYMBOL_GPL vmlinux 0x7d5e736b devres_release +EXPORT_SYMBOL_GPL vmlinux 0x7d858067 stmpe811_adc_common_init +EXPORT_SYMBOL_GPL vmlinux 0x7d967aed skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0x7d9a9ccd clk_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0x7da2f7f8 da9052_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x7da314df devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7db6e1cc ima_inode_hash +EXPORT_SYMBOL_GPL vmlinux 0x7dc532c6 devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7ddd5fd4 idr_find +EXPORT_SYMBOL_GPL vmlinux 0x7de39e07 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7de6cc23 io_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7dfa06a2 l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0x7e07f6c7 reserve_pmc_hardware +EXPORT_SYMBOL_GPL vmlinux 0x7e16db09 em_dev_unregister_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0x7e1b367e disk_force_media_change +EXPORT_SYMBOL_GPL vmlinux 0x7e1e1bd3 iommu_tce_check_gpa +EXPORT_SYMBOL_GPL vmlinux 0x7e2231fe mbox_free_channel +EXPORT_SYMBOL_GPL vmlinux 0x7e31a54c of_clk_add_provider +EXPORT_SYMBOL_GPL vmlinux 0x7e32416a ehci_handshake +EXPORT_SYMBOL_GPL vmlinux 0x7e34ea5b bio_add_zone_append_page +EXPORT_SYMBOL_GPL vmlinux 0x7e3bd4dd pwmchip_remove +EXPORT_SYMBOL_GPL vmlinux 0x7e3bdecd __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x7e3cfbc0 tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x7e482ec9 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0x7e48a7c4 skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0x7e4bd600 mptcp_get_reset_option +EXPORT_SYMBOL_GPL vmlinux 0x7e5455e0 put_pid +EXPORT_SYMBOL_GPL vmlinux 0x7e5db80b pstore_name_to_type +EXPORT_SYMBOL_GPL vmlinux 0x7e62f73d net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0x7e64181d usb_calc_bus_time +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e8996e4 synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0x7e917894 __SCK__tp_func_unmap +EXPORT_SYMBOL_GPL vmlinux 0x7ea7b15c bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0x7eb1795e __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x7eb7aafe __traceiter_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7ebaa46e __clk_mux_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x7ec58934 xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0x7ed6fbe2 regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7edc05c7 dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x7eea6b8b pcap_adc_async +EXPORT_SYMBOL_GPL vmlinux 0x7f00bdac devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0x7f332f02 regmap_mmio_detach_clk +EXPORT_SYMBOL_GPL vmlinux 0x7f374c03 debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x7f3bd9d3 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x7f3fa06c kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0x7f524652 unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7f56c517 synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0x7f59866b regulator_get_mode +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f84f35d rcu_gp_slow_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7f9066d4 dev_pm_qos_hide_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0x7faed271 dma_map_sgtable +EXPORT_SYMBOL_GPL vmlinux 0x7fafdec9 clk_fixed_factor_ops +EXPORT_SYMBOL_GPL vmlinux 0x7fbfc11b nvdimm_pmem_region_create +EXPORT_SYMBOL_GPL vmlinux 0x7fca2e54 trace_array_init_printk +EXPORT_SYMBOL_GPL vmlinux 0x7fe1189a irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0x7fe7e50f pci_max_pasids +EXPORT_SYMBOL_GPL vmlinux 0x7fe9e575 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x7fef4b9c of_clk_del_provider +EXPORT_SYMBOL_GPL vmlinux 0x7ffa9f21 inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x8013dc9f vfio_pci_register_dev_region +EXPORT_SYMBOL_GPL vmlinux 0x80307b9b dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0x804f485a dm_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x80611c9c rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0x806b33d9 samsung_sdi_battery_get_info +EXPORT_SYMBOL_GPL vmlinux 0x80762b9a ext_pi_type1_crc64 +EXPORT_SYMBOL_GPL vmlinux 0x807fdcc4 call_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x80888c43 fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x80b2010f skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0x80b6a62a devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0x80b90014 ata_sff_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x80badff4 __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x80c28513 uart_get_rs485_mode +EXPORT_SYMBOL_GPL vmlinux 0x80c68137 nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x80d165fa ata_bmdma_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80e2492f clk_register_mux_table +EXPORT_SYMBOL_GPL vmlinux 0x80e4ebca gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0x80e88d1c of_map_id +EXPORT_SYMBOL_GPL vmlinux 0x80efd908 rio_dev_get +EXPORT_SYMBOL_GPL vmlinux 0x80fe896b device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x81117221 do_h_rpt_invalidate_prt +EXPORT_SYMBOL_GPL vmlinux 0x811dc334 usb_unregister_notify +EXPORT_SYMBOL_GPL vmlinux 0x8123a156 ata_timing_compute +EXPORT_SYMBOL_GPL vmlinux 0x8133f294 devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0x813a84c5 ata_host_suspend +EXPORT_SYMBOL_GPL vmlinux 0x815588a6 clk_enable +EXPORT_SYMBOL_GPL vmlinux 0x815fda83 sed_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x81674f78 btree_grim_visitor +EXPORT_SYMBOL_GPL vmlinux 0x816a41ca cpufreq_update_limits +EXPORT_SYMBOL_GPL vmlinux 0x816ede57 vp_modern_set_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x817065b3 iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0x8180cede asn1_encode_sequence +EXPORT_SYMBOL_GPL vmlinux 0x81875a1a clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x8189eb9e rio_request_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0x818c056d iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0x81a7f541 percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0x81b72c69 devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x81d192cc fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0x81dfb41b sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x81e2bdf4 generic_handle_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x81ebcc50 edac_device_add_device +EXPORT_SYMBOL_GPL vmlinux 0x81f372a2 unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x81f7d396 pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x81febd87 usb_find_interface +EXPORT_SYMBOL_GPL vmlinux 0x8202bb01 gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x820b6d99 rdev_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x82194049 ata_port_abort +EXPORT_SYMBOL_GPL vmlinux 0x821f17ba evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0x82226c53 pinctrl_unregister_mappings +EXPORT_SYMBOL_GPL vmlinux 0x8249cf5c devm_clk_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x825d69a5 devm_clk_hw_register_fixed_factor_index +EXPORT_SYMBOL_GPL vmlinux 0x8265c0e0 do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x827530f1 of_pci_get_devfn +EXPORT_SYMBOL_GPL vmlinux 0x8287815a tpm_tis_remove +EXPORT_SYMBOL_GPL vmlinux 0x8290c2a2 inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0x82a80545 __SCK__tp_func_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x82aff0dc regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x82bbf30b __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x82dc32e1 clk_hw_round_rate +EXPORT_SYMBOL_GPL vmlinux 0x82eae137 ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0x82ff4b95 clk_hw_unregister_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0x830c08c3 ehci_reset +EXPORT_SYMBOL_GPL vmlinux 0x830e8e17 rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0x8312450b usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x8323159f housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0x832d146c ata_host_resume +EXPORT_SYMBOL_GPL vmlinux 0x833137e2 seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0x8339df73 klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x833b5211 mce_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x8349a895 nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0x835c3b73 ehci_suspend +EXPORT_SYMBOL_GPL vmlinux 0x836d61d0 atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x83743837 hash__has_transparent_hugepage +EXPORT_SYMBOL_GPL vmlinux 0x837eb2be crypto_grab_kpp +EXPORT_SYMBOL_GPL vmlinux 0x839f634a iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0x83a5913b balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0x83ac1986 mpc8xxx_spi_tx_buf_u8 +EXPORT_SYMBOL_GPL vmlinux 0x83b521e4 uart_handle_dcd_change +EXPORT_SYMBOL_GPL vmlinux 0x83b6b3f1 alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0x83e8dfb0 wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0x840532e1 mctrl_gpio_init_noauto +EXPORT_SYMBOL_GPL vmlinux 0x84106f36 devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x841d3240 crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x84220523 cgroup_get_from_id +EXPORT_SYMBOL_GPL vmlinux 0x84264ced fs_umode_to_ftype +EXPORT_SYMBOL_GPL vmlinux 0x842f956e filemap_read +EXPORT_SYMBOL_GPL vmlinux 0x8439738b switchdev_bridge_port_offload +EXPORT_SYMBOL_GPL vmlinux 0x84498007 regulator_map_voltage_linear_range +EXPORT_SYMBOL_GPL vmlinux 0x844c2f3d vfio_spapr_pci_eeh_release +EXPORT_SYMBOL_GPL vmlinux 0x84502a47 blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x845c6d09 mptcp_pm_get_subflows_max +EXPORT_SYMBOL_GPL vmlinux 0x845dbf3b scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x8462cb62 atapi_cmd_type +EXPORT_SYMBOL_GPL vmlinux 0x8465579c __traceiter_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x846763b8 nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x84810761 crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0x84827f94 phy_led_triggers_register +EXPORT_SYMBOL_GPL vmlinux 0x84a8d0eb of_changeset_revert +EXPORT_SYMBOL_GPL vmlinux 0x84ab530c ata_sas_port_alloc +EXPORT_SYMBOL_GPL vmlinux 0x84b4e94c dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0x84c4c29b scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x84d92ed3 devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0x84e38ed6 kthread_park +EXPORT_SYMBOL_GPL vmlinux 0x84e5c078 phy_set_media +EXPORT_SYMBOL_GPL vmlinux 0x84e7574e dev_pm_opp_get_level +EXPORT_SYMBOL_GPL vmlinux 0x84ef27f5 synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x84f166b8 nfs42_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0x84f1a05e simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x84f64824 sdio_release_irq +EXPORT_SYMBOL_GPL vmlinux 0x8506baa8 clk_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0x850bb6db devlink_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x851bdb03 init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0x851e6003 usb_phy_roothub_calibrate +EXPORT_SYMBOL_GPL vmlinux 0x851fe124 __SCK__tp_func_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8536a0e9 nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0x853c9c7a scsi_alloc_request +EXPORT_SYMBOL_GPL vmlinux 0x85484fe8 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0x8552a223 regulator_get_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x85540ebc nvmem_cell_put +EXPORT_SYMBOL_GPL vmlinux 0x856279bd clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x856469c5 vas_tx_win_open +EXPORT_SYMBOL_GPL vmlinux 0x8571402a fsl8250_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x8578dfa2 xhci_check_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0x8585a677 devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0x85875793 scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0x8598dff6 handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0x859ce0e2 blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x85bab520 perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0x85c560ca blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0x85cdc67d proc_dou8vec_minmax +EXPORT_SYMBOL_GPL vmlinux 0x85cedb27 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x85d55de9 pinctrl_dev_get_name +EXPORT_SYMBOL_GPL vmlinux 0x85efd590 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x85f0702d get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x85fcc502 devm_of_phy_provider_unregister +EXPORT_SYMBOL_GPL vmlinux 0x861a7a70 fscrypt_dummy_policies_equal +EXPORT_SYMBOL_GPL vmlinux 0x862258db timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x862ba4b6 pinctrl_pm_select_idle_state +EXPORT_SYMBOL_GPL vmlinux 0x862bb17b linear_range_values_in_range_array +EXPORT_SYMBOL_GPL vmlinux 0x862efff2 devm_devfreq_event_add_edev +EXPORT_SYMBOL_GPL vmlinux 0x864a6709 regulator_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x86509960 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x86585a33 devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x86622538 udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x866ca597 kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0x86711ca6 devm_clk_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x8677245d unregister_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x86883812 dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0x869881fa handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0x869a0d6a kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0x869cca35 iommu_map +EXPORT_SYMBOL_GPL vmlinux 0x86a64fdb rio_register_scan +EXPORT_SYMBOL_GPL vmlinux 0x86a9f128 devm_regulator_register_supply_alias +EXPORT_SYMBOL_GPL vmlinux 0x86abd2f1 power_supply_get_property +EXPORT_SYMBOL_GPL vmlinux 0x86ad4657 of_usb_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x86b427ce clkdev_create +EXPORT_SYMBOL_GPL vmlinux 0x86b49199 dev_pm_opp_put_opp_table +EXPORT_SYMBOL_GPL vmlinux 0x86dda6ef rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0x86e62a7b posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x86f2d1c6 virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f85114 net_dec_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x86ff0d9e device_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x86ff2293 pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x87122c5c genphy_c45_read_status +EXPORT_SYMBOL_GPL vmlinux 0x871e1a20 dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0x873d46a4 fuse_mount_remove +EXPORT_SYMBOL_GPL vmlinux 0x875550f9 clk_hw_get_rate +EXPORT_SYMBOL_GPL vmlinux 0x87559a14 pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x8782def9 __devm_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0x87917baa get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x87aaaca4 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x87ac7411 __tracepoint_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0x87b8ef64 md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0x87c07206 pm_generic_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x87c1e373 __traceiter_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0x87c393aa ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0x87e21ad7 crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0x87e9b180 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x880d6d60 devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0x8813063e led_blink_set_oneshot +EXPORT_SYMBOL_GPL vmlinux 0x88217a2d apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x88236e69 tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0x8826ed85 fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0x88316a04 vas_register_api_pseries +EXPORT_SYMBOL_GPL vmlinux 0x88476f9f devl_lock +EXPORT_SYMBOL_GPL vmlinux 0x885528a6 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x885668c8 dev_pm_opp_put +EXPORT_SYMBOL_GPL vmlinux 0x886f88a9 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0x888c5be5 irq_bypass_register_consumer +EXPORT_SYMBOL_GPL vmlinux 0x8893e6b0 __clk_hw_register_divider +EXPORT_SYMBOL_GPL vmlinux 0x8896df7d mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x8899080a of_pci_get_slot_power_limit +EXPORT_SYMBOL_GPL vmlinux 0x88ab6fe3 kgdb_active +EXPORT_SYMBOL_GPL vmlinux 0x88b4ae92 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x88b54720 of_devfreq_cooling_register_power +EXPORT_SYMBOL_GPL vmlinux 0x88b78ec7 uprobe_register_refctr +EXPORT_SYMBOL_GPL vmlinux 0x88bbd4c4 spi_mem_adjust_op_size +EXPORT_SYMBOL_GPL vmlinux 0x88c553fd of_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x88da1e50 platform_set +EXPORT_SYMBOL_GPL vmlinux 0x88effcd7 pm_clk_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0x88f6dbcc ata_pci_sff_init_one +EXPORT_SYMBOL_GPL vmlinux 0x890a79c1 spi_mem_dirmap_read +EXPORT_SYMBOL_GPL vmlinux 0x890ce9b0 scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0x890f4f97 __kprobe_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x893abbdd devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x893c627c tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0x8944e629 i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL vmlinux 0x89485687 iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x8950198e rio_mport_class +EXPORT_SYMBOL_GPL vmlinux 0x895182b9 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0x895308e1 l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8954dc8e __SCK__tp_func_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x895921f4 devm_hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0x8967ddb2 gpiochip_irq_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0x896b0c9b pinctrl_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0x896ebb30 device_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x897b2190 _copy_mc_to_iter +EXPORT_SYMBOL_GPL vmlinux 0x89ae7aa0 rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x89b41f0a dev_pm_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x89bbafc6 usb_register_notify +EXPORT_SYMBOL_GPL vmlinux 0x89c270d4 pinctrl_find_gpio_range_from_pin +EXPORT_SYMBOL_GPL vmlinux 0x89c429e4 __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x89dedde6 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0x89ed73f1 clk_fixed_rate_ops +EXPORT_SYMBOL_GPL vmlinux 0x8a04289a skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0x8a08b01d subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8a19a7e9 pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0x8a3f84ba linear_range_get_selector_low +EXPORT_SYMBOL_GPL vmlinux 0x8a44999b devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x8a46cb6c mc146818_avoid_UIP +EXPORT_SYMBOL_GPL vmlinux 0x8a4978a4 usb_hcd_check_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0x8a4b10ee crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0x8a53ab58 validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0x8a554a36 mpc8xxx_spi_strmode +EXPORT_SYMBOL_GPL vmlinux 0x8a57c08c regmap_add_irq_chip_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x8a5bd877 of_modalias_node +EXPORT_SYMBOL_GPL vmlinux 0x8a5d4681 register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x8a5eab96 crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x8a5f3623 regulator_get_error_flags +EXPORT_SYMBOL_GPL vmlinux 0x8a62b81b sfp_upstream_stop +EXPORT_SYMBOL_GPL vmlinux 0x8a6a5345 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0x8a6e50aa pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0x8a74cd5f ata_sas_port_init +EXPORT_SYMBOL_GPL vmlinux 0x8a81bc5d copro_flush_all_slbs +EXPORT_SYMBOL_GPL vmlinux 0x8a83fb45 mpi_point_free_parts +EXPORT_SYMBOL_GPL vmlinux 0x8a8e77e3 dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0x8a9dbcad opal_message_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0x8aa76a97 of_genpd_remove_subdomain +EXPORT_SYMBOL_GPL vmlinux 0x8aac81b2 pinctrl_add_gpio_ranges +EXPORT_SYMBOL_GPL vmlinux 0x8ab2be58 bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0x8ab6424c vp_modern_get_num_queues +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ac741a4 of_property_read_u64_index +EXPORT_SYMBOL_GPL vmlinux 0x8ad37e8c blk_crypto_intersect_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x8add20a7 crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0x8af2061d __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x8b149c36 clk_is_match +EXPORT_SYMBOL_GPL vmlinux 0x8b28395f register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x8b337d19 mm_iommu_is_devmem +EXPORT_SYMBOL_GPL vmlinux 0x8b3556ec tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0x8b3df046 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0x8b4100aa rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0x8b4761cf dma_get_any_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0x8b487f00 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x8b4dc87e irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x8b57fd43 divider_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0x8b62efd7 ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0x8b6af1d3 pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0x8b6c761a __xive_enabled +EXPORT_SYMBOL_GPL vmlinux 0x8b70f701 __of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0x8b7a698b __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x8b8f7793 blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0x8b9644c7 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x8b9777ef switchdev_handle_fdb_event_to_device +EXPORT_SYMBOL_GPL vmlinux 0x8bb0144e device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x8bc13c1d get_net_ns_by_id +EXPORT_SYMBOL_GPL vmlinux 0x8bc3d65e power_supply_put_battery_info +EXPORT_SYMBOL_GPL vmlinux 0x8bd54c1b sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x8bfd4e79 mpc8xxx_spi_tx_buf_u32 +EXPORT_SYMBOL_GPL vmlinux 0x8c0215f2 pm_system_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c0ed0ce crypto_unregister_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x8c0ed103 rcu_check_boost_fail +EXPORT_SYMBOL_GPL vmlinux 0x8c141436 rdev_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x8c1703fe regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x8c4833db devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x8c6f7261 md_account_bio +EXPORT_SYMBOL_GPL vmlinux 0x8c743fb6 reset_control_status +EXPORT_SYMBOL_GPL vmlinux 0x8c7e7f3f platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8c8011d8 ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0x8c83ecb0 of_property_read_string_helper +EXPORT_SYMBOL_GPL vmlinux 0x8c89b316 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x8c89e3b8 usb_phy_roothub_power_off +EXPORT_SYMBOL_GPL vmlinux 0x8c920a79 scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x8c97279f iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0x8c98d248 unregister_vmcore_cb +EXPORT_SYMBOL_GPL vmlinux 0x8cb5cc37 fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0x8cb8dfcb devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0x8cc5c37f power_supply_set_battery_charged +EXPORT_SYMBOL_GPL vmlinux 0x8ccabc2c edac_pci_del_device +EXPORT_SYMBOL_GPL vmlinux 0x8cd3948b wm8350_set_bits +EXPORT_SYMBOL_GPL vmlinux 0x8cd4305f tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x8cd94f86 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0x8cd9be4a subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x8cdb8ff8 rio_enable_rx_tx_port +EXPORT_SYMBOL_GPL vmlinux 0x8ce2d446 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x8ce8f029 dev_pm_enable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0x8cf2d286 regmap_get_raw_write_max +EXPORT_SYMBOL_GPL vmlinux 0x8cfa34d6 usb_sg_cancel +EXPORT_SYMBOL_GPL vmlinux 0x8d0abf3a __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x8d22bb58 iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d278b6a xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x8d3330b6 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x8d368bdd platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8d3738c5 iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0x8d4308b0 kill_device +EXPORT_SYMBOL_GPL vmlinux 0x8d4cceb5 misc_cg_try_charge +EXPORT_SYMBOL_GPL vmlinux 0x8d560088 __usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0x8d61bc88 led_stop_software_blink +EXPORT_SYMBOL_GPL vmlinux 0x8d65bf9b vas_paste_crb +EXPORT_SYMBOL_GPL vmlinux 0x8d6dc201 ppc64_caches +EXPORT_SYMBOL_GPL vmlinux 0x8d76a210 dev_pm_opp_get_max_transition_latency +EXPORT_SYMBOL_GPL vmlinux 0x8d7e3373 hwpoison_filter_dev_major +EXPORT_SYMBOL_GPL vmlinux 0x8d8560a8 vfio_file_enforced_coherent +EXPORT_SYMBOL_GPL vmlinux 0x8d908ebf power_supply_get_maintenance_charging_setting +EXPORT_SYMBOL_GPL vmlinux 0x8d932ec0 ata_do_dev_read_id +EXPORT_SYMBOL_GPL vmlinux 0x8d997c2f pinconf_generic_dt_node_to_map +EXPORT_SYMBOL_GPL vmlinux 0x8dafdded lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0x8db51d40 regulator_set_current_limit +EXPORT_SYMBOL_GPL vmlinux 0x8dbf5a20 kvmppc_hv_entry_trampoline +EXPORT_SYMBOL_GPL vmlinux 0x8dcb5a22 edac_pci_alloc_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x8dcc48d9 udp_abort +EXPORT_SYMBOL_GPL vmlinux 0x8dce284b xas_split +EXPORT_SYMBOL_GPL vmlinux 0x8dd218b0 icc_bulk_disable +EXPORT_SYMBOL_GPL vmlinux 0x8de0dfc3 ata_dummy_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x8df51555 cpufreq_show_cpus +EXPORT_SYMBOL_GPL vmlinux 0x8dfc9dd9 devm_devfreq_event_remove_edev +EXPORT_SYMBOL_GPL vmlinux 0x8dfcea1c sata_async_notification +EXPORT_SYMBOL_GPL vmlinux 0x8e024a34 devm_pm_opp_register_set_opp_helper +EXPORT_SYMBOL_GPL vmlinux 0x8e044373 kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0x8e3e2091 to_software_node +EXPORT_SYMBOL_GPL vmlinux 0x8e44823a sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x8e4b1738 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x8e4eb451 bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x8e5e87d2 pstore_register +EXPORT_SYMBOL_GPL vmlinux 0x8e6b1a9e net_selftest_get_count +EXPORT_SYMBOL_GPL vmlinux 0x8e6c7ccd devfreq_cooling_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8e841922 devm_regulator_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0x8e92f7c4 static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x8e97aa0f pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0x8ea053df devm_clk_bulk_get_all +EXPORT_SYMBOL_GPL vmlinux 0x8ead5e62 serial8250_do_set_divisor +EXPORT_SYMBOL_GPL vmlinux 0x8ead800c user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0x8eb8e712 irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0x8ebcf357 crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0x8ecb3ee8 proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0x8ee9ab31 ata_sff_dev_classify +EXPORT_SYMBOL_GPL vmlinux 0x8eec19bd __SCK__tp_func_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x8eee3399 dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8ef1d52d regmap_write +EXPORT_SYMBOL_GPL vmlinux 0x8f043297 dev_fill_forward_path +EXPORT_SYMBOL_GPL vmlinux 0x8f0748af rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x8f0ad093 cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0x8f171b77 kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x8f1f1e03 PageHuge +EXPORT_SYMBOL_GPL vmlinux 0x8f1f9efa phy_put +EXPORT_SYMBOL_GPL vmlinux 0x8f269d1e sdio_enable_func +EXPORT_SYMBOL_GPL vmlinux 0x8f275de8 sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0x8f33b068 tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0x8f6920fd devm_led_classdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8f6a86c6 devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f783150 sata_link_resume +EXPORT_SYMBOL_GPL vmlinux 0x8f786bee fs_umode_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x8f8c4e46 tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x8f96b7eb regulator_set_current_limit_regmap +EXPORT_SYMBOL_GPL vmlinux 0x8fa6b765 usb_wakeup_notification +EXPORT_SYMBOL_GPL vmlinux 0x8fac1c1c thermal_zone_of_sensor_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8fb04d68 pnv_ocxl_spa_release +EXPORT_SYMBOL_GPL vmlinux 0x8fc12788 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x8fdae71c irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x8fec14cb platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x8ff4a682 dev_fetch_sw_netstats +EXPORT_SYMBOL_GPL vmlinux 0x8ff60436 mpi_ec_add_points +EXPORT_SYMBOL_GPL vmlinux 0x8ff7ea2f devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0x8ffbcf7e scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x8ffe792f tracepoint_probe_register_prio_may_exist +EXPORT_SYMBOL_GPL vmlinux 0x9019b6c0 dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0x9022ef5b sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0x902759ed inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x9027dc46 pcibios_map_io_space +EXPORT_SYMBOL_GPL vmlinux 0x903b627c list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x9057b5d4 pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0x905dd614 rio_request_mport_dma +EXPORT_SYMBOL_GPL vmlinux 0x90626ef1 rio_dma_prep_xfer +EXPORT_SYMBOL_GPL vmlinux 0x90688bcd devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x90782528 spi_sync +EXPORT_SYMBOL_GPL vmlinux 0x908d0328 __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0x90939672 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x909c5c58 pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x90ad66b1 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0x90b65b81 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x90c911aa kvmppc_set_msr_hv +EXPORT_SYMBOL_GPL vmlinux 0x90d937b4 __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x90e452d7 genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x90f00fcf devl_rate_leaf_create +EXPORT_SYMBOL_GPL vmlinux 0x911d18ae dev_pm_opp_of_cpumask_add_table +EXPORT_SYMBOL_GPL vmlinux 0x91235425 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x913af88d pinctrl_force_default +EXPORT_SYMBOL_GPL vmlinux 0x913ebd32 stack_depot_save +EXPORT_SYMBOL_GPL vmlinux 0x9152b770 __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0x9154b637 sata_scr_write +EXPORT_SYMBOL_GPL vmlinux 0x9168dd60 iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x91728421 phy_speed_up +EXPORT_SYMBOL_GPL vmlinux 0x918b864a devm_usb_get_phy +EXPORT_SYMBOL_GPL vmlinux 0x91920ce8 devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x91955a9f start_poll_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x91a341ab powercap_register_control_type +EXPORT_SYMBOL_GPL vmlinux 0x91a3bdbc fixed_phy_register +EXPORT_SYMBOL_GPL vmlinux 0x91ac8a44 em_pd_get +EXPORT_SYMBOL_GPL vmlinux 0x91acc0bf vp_legacy_queue_vector +EXPORT_SYMBOL_GPL vmlinux 0x91b774a1 mpi_scanval +EXPORT_SYMBOL_GPL vmlinux 0x91c6e5b0 pcap_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x91cdfafd irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0x91d40441 xas_store +EXPORT_SYMBOL_GPL vmlinux 0x91d926af led_blink_set +EXPORT_SYMBOL_GPL vmlinux 0x91ea8726 asn1_encode_boolean +EXPORT_SYMBOL_GPL vmlinux 0x920cc389 visitorl +EXPORT_SYMBOL_GPL vmlinux 0x92107d9f wwan_port_rx +EXPORT_SYMBOL_GPL vmlinux 0x9240ac8a rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x9241b358 __static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x92463d9c devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x924c46f8 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x925009cc vp_modern_set_status +EXPORT_SYMBOL_GPL vmlinux 0x92533ccf gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0x9267190e gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0x92896159 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x928e8e4a nvdimm_has_flush +EXPORT_SYMBOL_GPL vmlinux 0x928ed7f2 perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0x92936176 edac_pci_create_generic_ctl +EXPORT_SYMBOL_GPL vmlinux 0x92938c21 mptcp_pm_get_local_addr_max +EXPORT_SYMBOL_GPL vmlinux 0x929c0c77 clk_hw_unregister +EXPORT_SYMBOL_GPL vmlinux 0x92a13e8e __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x92aa373b idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0x92ccd54f ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92d72a44 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0x92db8f68 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x92e374e3 serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x92e571a5 usb_get_hcd +EXPORT_SYMBOL_GPL vmlinux 0x92e8e9ab fsverity_enqueue_verify_work +EXPORT_SYMBOL_GPL vmlinux 0x92ec9088 max8997_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0x92f0aa28 opal_tpo_write +EXPORT_SYMBOL_GPL vmlinux 0x93255b2b ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x9327c693 freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x932a8258 ata_pci_bmdma_init_one +EXPORT_SYMBOL_GPL vmlinux 0x932c8d7a linear_range_get_value_array +EXPORT_SYMBOL_GPL vmlinux 0x934a0aee kvmppc_subcore_exit_guest +EXPORT_SYMBOL_GPL vmlinux 0x935915dc blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0x935aee16 devres_find +EXPORT_SYMBOL_GPL vmlinux 0x935e1d44 inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x935e919e rio_request_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0x93678b95 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0x93864c80 pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0x938ddadf sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x93925007 msi_get_virq +EXPORT_SYMBOL_GPL vmlinux 0x93978247 iomap_read_folio +EXPORT_SYMBOL_GPL vmlinux 0x939d4964 tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0x93a5ace8 fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0x93b32214 genphy_c45_pma_resume +EXPORT_SYMBOL_GPL vmlinux 0x93c600db netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0x93c7edeb usb_find_common_endpoints +EXPORT_SYMBOL_GPL vmlinux 0x93ccce8c platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0x93edef07 devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x940094ec bio_start_io_acct_time +EXPORT_SYMBOL_GPL vmlinux 0x941d903f devm_reset_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x941eef27 clk_hw_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x94252065 ata_pci_sff_activate_host +EXPORT_SYMBOL_GPL vmlinux 0x9425bb34 nvmem_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x942c4035 dev_pm_opp_xlate_required_opp +EXPORT_SYMBOL_GPL vmlinux 0x942f9f42 nvmem_device_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x9430b198 trace_dump_stack +EXPORT_SYMBOL_GPL vmlinux 0x9432a298 extcon_find_edev_by_node +EXPORT_SYMBOL_GPL vmlinux 0x94351bf7 of_device_uevent_modalias +EXPORT_SYMBOL_GPL vmlinux 0x9435d894 cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0x9436e405 memory_group_register_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x943cc26e sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0x94466cd1 devm_phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9446a869 pm_schedule_suspend +EXPORT_SYMBOL_GPL vmlinux 0x945789d9 sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x945a37c0 wm831x_auxadc_read +EXPORT_SYMBOL_GPL vmlinux 0x945ae450 skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0x9465b18f led_trigger_read +EXPORT_SYMBOL_GPL vmlinux 0x9468ea70 schedule_hrtimeout_range_clock +EXPORT_SYMBOL_GPL vmlinux 0x946b539e tc3589x_block_read +EXPORT_SYMBOL_GPL vmlinux 0x946c0028 devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0x946dd559 sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x947dc5e9 ohci_setup +EXPORT_SYMBOL_GPL vmlinux 0x9494eb93 kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x949b5176 devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x949f7342 __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x94a1d5d8 spi_mem_default_supports_op +EXPORT_SYMBOL_GPL vmlinux 0x94ac5f06 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x94ae435e to_nvdimm +EXPORT_SYMBOL_GPL vmlinux 0x94af6eda receive_fd +EXPORT_SYMBOL_GPL vmlinux 0x94d139fe crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x94d1bf0e bd_prepare_to_claim +EXPORT_SYMBOL_GPL vmlinux 0x94dfecf6 pm_runtime_barrier +EXPORT_SYMBOL_GPL vmlinux 0x94e0dd1f usb_amd_pt_check_port +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x9504df26 irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x95079615 devfreq_event_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x951a2773 crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x9529d00d pm_runtime_autosuspend_expiration +EXPORT_SYMBOL_GPL vmlinux 0x953e1b9e ktime_get_real_seconds +EXPORT_SYMBOL_GPL vmlinux 0x955427d2 adp5520_write +EXPORT_SYMBOL_GPL vmlinux 0x955b027b pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x956ac400 ring_buffer_dropped_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x956ad0a0 wm8350_gpio_config +EXPORT_SYMBOL_GPL vmlinux 0x957119dd __ata_ehi_push_desc +EXPORT_SYMBOL_GPL vmlinux 0x957604db nfs42_ssc_register +EXPORT_SYMBOL_GPL vmlinux 0x957bae5f dw8250_setup_port +EXPORT_SYMBOL_GPL vmlinux 0x95843030 mpi_ec_init +EXPORT_SYMBOL_GPL vmlinux 0x958df3ac zs_free +EXPORT_SYMBOL_GPL vmlinux 0x9593ef31 register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x95a3087a __traceiter_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x95a7c7e9 devm_pinctrl_register +EXPORT_SYMBOL_GPL vmlinux 0x95b6fec4 xive_native_free_vp_block +EXPORT_SYMBOL_GPL vmlinux 0x95b98e2d devlink_rate_leaf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x95bc9078 btree_free +EXPORT_SYMBOL_GPL vmlinux 0x95bcf404 paste_selection +EXPORT_SYMBOL_GPL vmlinux 0x95ce651b vfio_pci_core_close_device +EXPORT_SYMBOL_GPL vmlinux 0x95ddb35d fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL vmlinux 0x95e102ab tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x95ffff0b dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0x960856db ata_sff_qc_fill_rtf +EXPORT_SYMBOL_GPL vmlinux 0x961286e0 ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x9617ad1a ata_sff_hsm_move +EXPORT_SYMBOL_GPL vmlinux 0x961b222c nd_region_provider_data +EXPORT_SYMBOL_GPL vmlinux 0x962cf4a9 usb_phy_roothub_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9648ca86 pm_generic_freeze +EXPORT_SYMBOL_GPL vmlinux 0x96496cc3 irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0x964b5fcd led_trigger_set_default +EXPORT_SYMBOL_GPL vmlinux 0x96554810 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9658c252 regmap_parse_val +EXPORT_SYMBOL_GPL vmlinux 0x965a816c nvdimm_badblocks_populate +EXPORT_SYMBOL_GPL vmlinux 0x9671fdd2 phy_check_downshift +EXPORT_SYMBOL_GPL vmlinux 0x967c0b30 analyse_instr +EXPORT_SYMBOL_GPL vmlinux 0x968c906a devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x968d7fe6 pm_generic_resume +EXPORT_SYMBOL_GPL vmlinux 0x96b751e9 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0x96c78ed3 bpf_trace_run5 +EXPORT_SYMBOL_GPL vmlinux 0x96ca63f5 __rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0x96cc48b9 xive_native_default_eq_shift +EXPORT_SYMBOL_GPL vmlinux 0x96e838ac cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0x96f9a01b __SCK__tp_func_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x97002044 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x97053efa smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0x970da920 spi_new_ancillary_device +EXPORT_SYMBOL_GPL vmlinux 0x9714e0bb ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x9725d14c edac_pci_free_ctl_info +EXPORT_SYMBOL_GPL vmlinux 0x972b102f ata_bmdma_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0x97310b79 dev_pm_opp_find_freq_exact +EXPORT_SYMBOL_GPL vmlinux 0x97329730 virtio_device_restore +EXPORT_SYMBOL_GPL vmlinux 0x97433d92 crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x97447157 pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0x974b3cc8 cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0x975519c1 asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x9766f623 i2c_dw_configure_master +EXPORT_SYMBOL_GPL vmlinux 0x976c1b10 devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x9771cdfb power_supply_get_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0x9774fa43 ata_scsi_change_queue_depth +EXPORT_SYMBOL_GPL vmlinux 0x977ef868 rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x9796cb04 pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0x979a770a debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0x97af4676 debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0x97c02c6b replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x97c1ff16 simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x97c7c5a8 ata_sff_check_status +EXPORT_SYMBOL_GPL vmlinux 0x97d54160 pm_clk_suspend +EXPORT_SYMBOL_GPL vmlinux 0x97d9d172 dma_resv_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x97de2b83 debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x97e8a577 pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0x97ee5d5e wm831x_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0x97fbda67 inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0x982067be sdio_f0_writeb +EXPORT_SYMBOL_GPL vmlinux 0x98322d4c of_fdt_unflatten_tree +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x9834c754 dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0x98398aca regulator_count_voltages +EXPORT_SYMBOL_GPL vmlinux 0x9843f501 __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x98506a34 bpfilter_umh_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x985453e1 lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x98549d41 pm_generic_suspend +EXPORT_SYMBOL_GPL vmlinux 0x9855a697 opal_xscom_read +EXPORT_SYMBOL_GPL vmlinux 0x9855f287 dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x9857dcf8 mmc_crypto_prepare_req +EXPORT_SYMBOL_GPL vmlinux 0x9858eba0 mbox_controller_register +EXPORT_SYMBOL_GPL vmlinux 0x9863c26e mdiobus_modify +EXPORT_SYMBOL_GPL vmlinux 0x986acb72 bpf_trace_run4 +EXPORT_SYMBOL_GPL vmlinux 0x9879932b crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x988c6a2d bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0x989074ff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x989eef39 usb_phy_roothub_resume +EXPORT_SYMBOL_GPL vmlinux 0x989f0142 udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0x98a65602 rio_map_inb_region +EXPORT_SYMBOL_GPL vmlinux 0x98b142fa blk_fill_rwbs +EXPORT_SYMBOL_GPL vmlinux 0x98b84212 bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0x98bbc5f4 clk_hw_set_parent +EXPORT_SYMBOL_GPL vmlinux 0x98c59274 __tracepoint_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0x98de1278 add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0x98e3c716 ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x98ee62b2 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x98f5b4ea ata_std_bios_param +EXPORT_SYMBOL_GPL vmlinux 0x98f6cf0c transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x98fa1e20 dm_get_reserved_rq_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x990a23cf sock_map_close +EXPORT_SYMBOL_GPL vmlinux 0x9926fb29 of_nvmem_cell_get +EXPORT_SYMBOL_GPL vmlinux 0x99296b17 l3mdev_ifindex_lookup_by_table_id +EXPORT_SYMBOL_GPL vmlinux 0x9932e4a0 dax_recovery_write +EXPORT_SYMBOL_GPL vmlinux 0x99408264 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x9952b912 pm_runtime_set_autosuspend_delay +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x9967fbfb is_xive_irq +EXPORT_SYMBOL_GPL vmlinux 0x9968aacb __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x99729def pinctrl_pm_select_default_state +EXPORT_SYMBOL_GPL vmlinux 0x997e10d9 rio_release_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0x9986cabc hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x998d79d6 x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0x99988d28 ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x99bb1f52 nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0x99cc1b82 alloc_dax +EXPORT_SYMBOL_GPL vmlinux 0x99cdac4a devm_of_platform_depopulate +EXPORT_SYMBOL_GPL vmlinux 0x99d70050 debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x99dd730c page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0x99eddd5f __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x99f018c4 nvmem_cell_read +EXPORT_SYMBOL_GPL vmlinux 0x99f15c0b percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0x99f2d00a sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x9a0dca74 fscrypt_mergeable_bio_bh +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a1dbdcf to_nvdimm_bus +EXPORT_SYMBOL_GPL vmlinux 0x9a310a66 __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x9a3660ab wm831x_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x9a41253d pm_generic_thaw_noirq +EXPORT_SYMBOL_GPL vmlinux 0x9a570319 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x9a7e7cc5 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x9a96d012 raw_v6_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0x9ab946c5 regulator_map_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x9ac11b74 suspend_set_ops +EXPORT_SYMBOL_GPL vmlinux 0x9ad007f2 clk_gate_restore_context +EXPORT_SYMBOL_GPL vmlinux 0x9ad58ad9 __dma_request_channel +EXPORT_SYMBOL_GPL vmlinux 0x9adf08c3 mmu_linear_psize +EXPORT_SYMBOL_GPL vmlinux 0x9ae12e17 __tracepoint_ata_tf_load +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9af49514 icc_bulk_set_bw +EXPORT_SYMBOL_GPL vmlinux 0x9b130ca5 h_query_vas_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x9b147bc9 save_p9_host_os_sprs +EXPORT_SYMBOL_GPL vmlinux 0x9b167534 ndo_dflt_bridge_getlink +EXPORT_SYMBOL_GPL vmlinux 0x9b1a6900 strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0x9b1fd611 ata_bmdma32_port_ops +EXPORT_SYMBOL_GPL vmlinux 0x9b304012 dev_pm_opp_adjust_voltage +EXPORT_SYMBOL_GPL vmlinux 0x9b555c8c pm_suspend_default_s2idle +EXPORT_SYMBOL_GPL vmlinux 0x9b58c853 find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x9b614d49 mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9b618029 tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0x9b6d43f3 devm_hte_request_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0x9b6ec967 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x9b70c6ff tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0x9b78cb2a pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0x9b82dc91 dma_async_device_channel_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9b9071cb get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x9b92d16e pinctrl_gpio_set_config +EXPORT_SYMBOL_GPL vmlinux 0x9b955bd6 fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x9b96d91a fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x9ba2bb2b gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x9ba2cbe1 cpufreq_register_governor +EXPORT_SYMBOL_GPL vmlinux 0x9bc46485 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0x9bd957e0 ata_pci_shutdown_one +EXPORT_SYMBOL_GPL vmlinux 0x9bde79bc xive_tima_os +EXPORT_SYMBOL_GPL vmlinux 0x9be30d27 mhp_get_pluggable_range +EXPORT_SYMBOL_GPL vmlinux 0x9bece81b mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x9bf14fa4 irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0x9bff99a3 fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x9c073adb ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x9c0e5e5f __traceiter_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x9c2b6633 gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x9c2e0c25 irq_domain_create_legacy +EXPORT_SYMBOL_GPL vmlinux 0x9c37153f gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0x9c3757e0 sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x9c3cc1e8 of_phandle_iterator_next +EXPORT_SYMBOL_GPL vmlinux 0x9c3f12bc gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0x9c504b31 devm_hwspin_lock_request +EXPORT_SYMBOL_GPL vmlinux 0x9c57be41 dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9c69d196 pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x9c6febfc add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x9c803020 usb_phy_roothub_power_on +EXPORT_SYMBOL_GPL vmlinux 0x9c8992f0 of_dma_configure_id +EXPORT_SYMBOL_GPL vmlinux 0x9c8e8aa0 rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0x9cc4f70a register_pm_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9cdd6a66 sysctl_long_vals +EXPORT_SYMBOL_GPL vmlinux 0x9cf37c44 __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0x9cf7fc4f gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x9d09e8ae ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9d10bd86 regmap_field_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x9d2f49ef __SCK__tp_func_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x9d42ecfb devm_hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x9d4334e7 virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0x9d4fd9d6 sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0x9d54722c ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0x9d55586c netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9d56c26b compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0x9d5dc41f skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x9d898c3d da903x_read +EXPORT_SYMBOL_GPL vmlinux 0x9d8a4c64 devm_pm_opp_of_add_table +EXPORT_SYMBOL_GPL vmlinux 0x9d8bb00e set_dax_nocache +EXPORT_SYMBOL_GPL vmlinux 0x9d8bc18f blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0x9d8df0c7 dev_pm_opp_of_register_em +EXPORT_SYMBOL_GPL vmlinux 0x9d9149d6 __devm_clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0x9da97271 thermal_zone_get_slope +EXPORT_SYMBOL_GPL vmlinux 0x9dc64ffe pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x9dc7cbcd trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0x9dd41c23 sata_link_hardreset +EXPORT_SYMBOL_GPL vmlinux 0x9ddaae82 watchdog_set_last_hw_keepalive +EXPORT_SYMBOL_GPL vmlinux 0x9de1cccb fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0x9de31b2a phy_gbit_fibre_features +EXPORT_SYMBOL_GPL vmlinux 0x9de6b9a3 kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x9de6d8db devm_pinctrl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9de88bc8 __SCK__tp_func_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0x9e097d0b blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9e0f97fe exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x9e1ca881 pm_generic_thaw +EXPORT_SYMBOL_GPL vmlinux 0x9e237ba5 of_property_read_variable_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x9e31681a input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x9e425153 power_supply_powers +EXPORT_SYMBOL_GPL vmlinux 0x9e472f5f snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x9e52ae16 regulator_desc_list_voltage_linear +EXPORT_SYMBOL_GPL vmlinux 0x9e61c65c crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x9e6e56a2 usb_autopm_get_interface_no_resume +EXPORT_SYMBOL_GPL vmlinux 0x9e9b913d __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x9e9c4f24 set_dax_nomc +EXPORT_SYMBOL_GPL vmlinux 0x9ea60084 usb_hub_claim_port +EXPORT_SYMBOL_GPL vmlinux 0x9ec1f364 kvmppc_subcore_enter_guest +EXPORT_SYMBOL_GPL vmlinux 0x9ed554b3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9edf7293 thermal_zone_get_temp +EXPORT_SYMBOL_GPL vmlinux 0x9eebdde7 mpi_point_new +EXPORT_SYMBOL_GPL vmlinux 0x9ef09e2d usb_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x9f02f664 dev_pm_domain_attach_by_id +EXPORT_SYMBOL_GPL vmlinux 0x9f0bb9cd stmpe_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x9f325367 alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0x9f3dc0eb get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x9f4a97ba __traceiter_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x9f4c4aa0 spi_delay_to_ns +EXPORT_SYMBOL_GPL vmlinux 0x9f56c4b9 __SCK__tp_func_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x9f5c6dc2 __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0x9f5ccd64 sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0x9f650786 user_describe +EXPORT_SYMBOL_GPL vmlinux 0x9f7449df pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0x9f898963 dev_pm_opp_set_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0x9f9c7781 phy_basic_t1_features +EXPORT_SYMBOL_GPL vmlinux 0x9fa29eec tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0x9fabf413 platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0x9fb0bcba nvmem_cell_read_u8 +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fcfa6b4 usb_match_one_id +EXPORT_SYMBOL_GPL vmlinux 0x9fe899b7 get_cpu_idle_time +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9fefc3e6 __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0xa01a8d9b nd_cmd_bus_desc +EXPORT_SYMBOL_GPL vmlinux 0xa02c5cfd spi_mem_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa0387821 xhci_dbg_trace +EXPORT_SYMBOL_GPL vmlinux 0xa04f945a cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xa0597eaa usb_phy_set_charger_state +EXPORT_SYMBOL_GPL vmlinux 0xa065a54b rio_release_inb_pwrite +EXPORT_SYMBOL_GPL vmlinux 0xa074d166 usb_remove_hcd +EXPORT_SYMBOL_GPL vmlinux 0xa080c5e5 smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0xa08337ed btree_init +EXPORT_SYMBOL_GPL vmlinux 0xa08b4557 ata_scsi_unlock_native_capacity +EXPORT_SYMBOL_GPL vmlinux 0xa0bd194e of_clk_get_parent_count +EXPORT_SYMBOL_GPL vmlinux 0xa0be2987 ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xa0d3456d nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0xa0e1ad44 blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0xa0ea89b2 iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0xa0fc9d43 crypto_boot_test_finished +EXPORT_SYMBOL_GPL vmlinux 0xa1136616 eeh_pe_mark_isolated +EXPORT_SYMBOL_GPL vmlinux 0xa114ed20 ata_sff_data_xfer +EXPORT_SYMBOL_GPL vmlinux 0xa1188f35 regulator_list_voltage_table +EXPORT_SYMBOL_GPL vmlinux 0xa118d32a irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xa129f28e driver_deferred_probe_check_state +EXPORT_SYMBOL_GPL vmlinux 0xa12a61ce devm_thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0xa13b2962 pnv_ocxl_tlb_invalidate +EXPORT_SYMBOL_GPL vmlinux 0xa13bcc05 stmpe_set_altfunc +EXPORT_SYMBOL_GPL vmlinux 0xa154edb0 tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0xa16373f4 devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa167def9 __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0xa16d719c pci_ecam_free +EXPORT_SYMBOL_GPL vmlinux 0xa184d5f2 mmu_vmalloc_psize +EXPORT_SYMBOL_GPL vmlinux 0xa18b485c devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0xa1937ca9 l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa1a2e53d skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xa1ad5910 clk_mux_val_to_index +EXPORT_SYMBOL_GPL vmlinux 0xa1b2a0fe tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0xa1b2f875 gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0xa1b59dea blk_mark_disk_dead +EXPORT_SYMBOL_GPL vmlinux 0xa1bbb720 crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0xa1c3bf82 tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0xa1d8004a videomode_from_timing +EXPORT_SYMBOL_GPL vmlinux 0xa1da4507 preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa1de094f tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0xa208dea9 raw_abort +EXPORT_SYMBOL_GPL vmlinux 0xa20d01ba __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xa20df0e0 hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0xa21f2ce7 clk_mux_index_to_val +EXPORT_SYMBOL_GPL vmlinux 0xa235f509 serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0xa23ec288 fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0xa23eee1d devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0xa24a6a71 metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa2500ef6 __SCK__tp_func_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xa26d9b4f workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xa2786c64 iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0xa2904765 scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0xa298af95 xive_native_get_queue_info +EXPORT_SYMBOL_GPL vmlinux 0xa2acc5b6 mmc_app_cmd +EXPORT_SYMBOL_GPL vmlinux 0xa2b0820d __SCK__tp_func_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0xa2e1b3ef trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0xa2e3b8cd ata_sas_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xa2ecb6a3 ata_sff_tf_read +EXPORT_SYMBOL_GPL vmlinux 0xa30f8ecc user_update +EXPORT_SYMBOL_GPL vmlinux 0xa3166d81 clk_hw_rate_is_protected +EXPORT_SYMBOL_GPL vmlinux 0xa32e85db iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0xa32fac77 cgroup_get_e_css +EXPORT_SYMBOL_GPL vmlinux 0xa333c3dd ping_bind +EXPORT_SYMBOL_GPL vmlinux 0xa33d91a8 btree_get_prev +EXPORT_SYMBOL_GPL vmlinux 0xa3417c5b usb_of_get_device_node +EXPORT_SYMBOL_GPL vmlinux 0xa351784c __mmc_poll_for_busy +EXPORT_SYMBOL_GPL vmlinux 0xa365a59d fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0xa36f50fb is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xa36fe5d0 cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0xa3784f82 dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0xa37d4109 bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0xa37d7ac1 anon_inode_getfd_secure +EXPORT_SYMBOL_GPL vmlinux 0xa37e13c5 task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa38a9f71 get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xa38e3258 usb_alloc_dev +EXPORT_SYMBOL_GPL vmlinux 0xa3a04602 btree_geo64 +EXPORT_SYMBOL_GPL vmlinux 0xa3a2d9af walk_system_ram_range +EXPORT_SYMBOL_GPL vmlinux 0xa3a3ef63 __traceiter_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0xa3b56555 hpte_page_sizes +EXPORT_SYMBOL_GPL vmlinux 0xa3b75a62 clk_gate_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xa3b958ce reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0xa3bd54d7 led_trigger_register_simple +EXPORT_SYMBOL_GPL vmlinux 0xa3bf1a3d pm_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0xa3d1bbd4 ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0xa3e12121 nd_cmd_in_size +EXPORT_SYMBOL_GPL vmlinux 0xa3e3a209 thermal_zone_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa3ece414 freezer_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xa3f12f69 __crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0xa3fdeea6 of_phandle_iterator_init +EXPORT_SYMBOL_GPL vmlinux 0xa4031b7f sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0xa40fc8f6 eeh_pe_get_state +EXPORT_SYMBOL_GPL vmlinux 0xa410a295 devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa413ebb0 vp_modern_queue_address +EXPORT_SYMBOL_GPL vmlinux 0xa42dfcfc cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0xa437c661 serial8250_rx_dma_flush +EXPORT_SYMBOL_GPL vmlinux 0xa439c69e __pm_runtime_disable +EXPORT_SYMBOL_GPL vmlinux 0xa445a61a rio_release_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xa44a1307 interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xa45c7b90 stack_trace_print +EXPORT_SYMBOL_GPL vmlinux 0xa45ecbf4 get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0xa463dd20 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0xa4698b40 fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0xa479032e nvmem_device_cell_write +EXPORT_SYMBOL_GPL vmlinux 0xa47a7751 __traceiter_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0xa48196c8 kdb_poll_idx +EXPORT_SYMBOL_GPL vmlinux 0xa496c6b0 sdio_readw +EXPORT_SYMBOL_GPL vmlinux 0xa4aa685f __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0xa4ab7c1c ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xa4b07fe7 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xa4b847ea extcon_get_extcon_dev +EXPORT_SYMBOL_GPL vmlinux 0xa4c00324 asn1_encode_octet_string +EXPORT_SYMBOL_GPL vmlinux 0xa4c085f8 ata_tf_from_fis +EXPORT_SYMBOL_GPL vmlinux 0xa4ca5be0 dev_get_tstats64 +EXPORT_SYMBOL_GPL vmlinux 0xa4d7ba32 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa4e89306 bpf_trace_run10 +EXPORT_SYMBOL_GPL vmlinux 0xa4f16ad6 regulator_sync_voltage +EXPORT_SYMBOL_GPL vmlinux 0xa50b8ef2 debugfs_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0xa50de3e9 blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0xa50fc5ae device_move +EXPORT_SYMBOL_GPL vmlinux 0xa51ae0a8 pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0xa5212943 __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0xa531471e clk_save_context +EXPORT_SYMBOL_GPL vmlinux 0xa539a419 pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0xa54a2cba devlink_linecard_provision_clear +EXPORT_SYMBOL_GPL vmlinux 0xa55346e7 dma_alloc_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0xa554f6d0 regulator_suspend_disable +EXPORT_SYMBOL_GPL vmlinux 0xa56aa8ba __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0xa56bb892 usb_hcd_pci_pm_ops +EXPORT_SYMBOL_GPL vmlinux 0xa578fe9a irq_domain_set_hwirq_and_chip +EXPORT_SYMBOL_GPL vmlinux 0xa58a380a wwan_unregister_ops +EXPORT_SYMBOL_GPL vmlinux 0xa5b00659 ppc_proc_freq +EXPORT_SYMBOL_GPL vmlinux 0xa5b039ab spi_get_next_queued_message +EXPORT_SYMBOL_GPL vmlinux 0xa5b05d63 regulator_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xa5b8fef3 rio_mport_get_efb +EXPORT_SYMBOL_GPL vmlinux 0xa5bcefb7 usb_hcd_amd_remote_wakeup_quirk +EXPORT_SYMBOL_GPL vmlinux 0xa5d1f4b8 stack_depot_snprint +EXPORT_SYMBOL_GPL vmlinux 0xa5d7c388 pstore_type_to_name +EXPORT_SYMBOL_GPL vmlinux 0xa5e0cbef fbcon_modechange_possible +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa5f6f23d driver_register +EXPORT_SYMBOL_GPL vmlinux 0xa602641c fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0xa6071cc7 power_supply_get_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xa61603e9 device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xa61a84e8 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0xa63d96a8 free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xa655abc2 find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0xa65f3c8c __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xa6623874 mmc_send_abort_tuning +EXPORT_SYMBOL_GPL vmlinux 0xa67b2729 swapcache_mapping +EXPORT_SYMBOL_GPL vmlinux 0xa6845c7d __auxiliary_device_add +EXPORT_SYMBOL_GPL vmlinux 0xa6a088b7 fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0xa6af1e35 __SCK__tp_func_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0xa6b06f65 ata_sff_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xa6b21ef2 dpm_suspend_end +EXPORT_SYMBOL_GPL vmlinux 0xa6b5ee5b __SCK__tp_func_block_split +EXPORT_SYMBOL_GPL vmlinux 0xa6b65f39 spi_alloc_device +EXPORT_SYMBOL_GPL vmlinux 0xa6bb2693 wakeup_source_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa6c5b3bc get_device +EXPORT_SYMBOL_GPL vmlinux 0xa6d1e06f splpar_spin_yield +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa6e4b67a devm_regmap_add_irq_chip_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xa6ee15ca __tracepoint_rpm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xa6ee634f fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0xa6f8d395 vp_legacy_set_queue_address +EXPORT_SYMBOL_GPL vmlinux 0xa6fb36c5 sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa6ffe72e sdio_retune_hold_now +EXPORT_SYMBOL_GPL vmlinux 0xa7025f65 fscrypt_d_revalidate +EXPORT_SYMBOL_GPL vmlinux 0xa709c835 fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa712d6f7 __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0xa71c1fdd rio_register_mport +EXPORT_SYMBOL_GPL vmlinux 0xa7349751 thp_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0xa74a63e6 led_classdev_resume +EXPORT_SYMBOL_GPL vmlinux 0xa7674c43 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0xa76df802 nvdimm_bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa76f25e0 mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0xa7777edb alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0xa77c3938 regulator_irq_helper +EXPORT_SYMBOL_GPL vmlinux 0xa7857109 free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0xa78623fa netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0xa786cafe usb_pipe_type_check +EXPORT_SYMBOL_GPL vmlinux 0xa795a4a5 device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xa7983a0f blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0xa79c5ee6 dmaengine_desc_attach_metadata +EXPORT_SYMBOL_GPL vmlinux 0xa7ae38d3 of_icc_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0xa7b1cb87 crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0xa7b5133e edac_device_del_device +EXPORT_SYMBOL_GPL vmlinux 0xa7d7ed4f driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0xa7e3ca3a ata_std_sched_eh +EXPORT_SYMBOL_GPL vmlinux 0xa7e86243 fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0xa7f0d694 fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0xa814dfea regulator_irq_map_event_simple +EXPORT_SYMBOL_GPL vmlinux 0xa8156674 pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0xa826e773 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0xa82a7b85 dev_pm_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0xa84260ab skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xa8432032 rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0xa845c2c5 bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0xa849b1d3 hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa84c3701 virtio_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xa84f5c50 da9052_disable_irq_nosync +EXPORT_SYMBOL_GPL vmlinux 0xa851973a raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa8696e1a devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xa8785091 extcon_get_edev_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xa88a2c35 netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0xa88bc565 dev_attr_unload_heads +EXPORT_SYMBOL_GPL vmlinux 0xa88bfc3f bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0xa88de089 eeh_pe_set_option +EXPORT_SYMBOL_GPL vmlinux 0xa891489b __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0xa89926dc crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0xa8af0145 xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0xa8b468bc mctp_unregister_netdev +EXPORT_SYMBOL_GPL vmlinux 0xa8c2347d nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0xa8d224f8 clk_register_gate +EXPORT_SYMBOL_GPL vmlinux 0xa8d6f1dd crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0xa8e46223 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0xa8ef7f49 seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0xa8f3f495 perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0xa90cf07f dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0xa90da643 i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL vmlinux 0xa90e3b96 timer_rearm_host_dec +EXPORT_SYMBOL_GPL vmlinux 0xa91144dc wm8350_read_auxadc +EXPORT_SYMBOL_GPL vmlinux 0xa9320d27 ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0xa955c345 ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0xa95b5c77 hwmon_sanitize_name +EXPORT_SYMBOL_GPL vmlinux 0xa972c4f8 virtio_require_restricted_mem_acc +EXPORT_SYMBOL_GPL vmlinux 0xa97502eb __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0xa97c4739 usb_choose_configuration +EXPORT_SYMBOL_GPL vmlinux 0xa98691e6 serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0xa99b8e70 __SCK__tp_func_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0xa99e8b12 cpufreq_freq_attr_scaling_available_freqs +EXPORT_SYMBOL_GPL vmlinux 0xa99ef899 devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xa9a0ee26 pnv_pci_get_device_tree +EXPORT_SYMBOL_GPL vmlinux 0xa9a9a420 of_clk_hw_simple_get +EXPORT_SYMBOL_GPL vmlinux 0xa9ce341e usb_show_dynids +EXPORT_SYMBOL_GPL vmlinux 0xa9f899dc transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xaa07c9be sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0xaa09e9f1 ata_dev_next +EXPORT_SYMBOL_GPL vmlinux 0xaa1758c5 gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0xaa1d9508 md_start +EXPORT_SYMBOL_GPL vmlinux 0xaa216f01 usb_set_device_state +EXPORT_SYMBOL_GPL vmlinux 0xaa3d82e2 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0xaa49b0cd devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xaa6a50f9 __static_key_deferred_flush +EXPORT_SYMBOL_GPL vmlinux 0xaa971d3a phy_gbit_features +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaaaa5ec9 cpu_latency_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0xaaac46a0 perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0xaad42f5b nvdimm_bus_register +EXPORT_SYMBOL_GPL vmlinux 0xab1a4c3a pinctrl_utils_reserve_map +EXPORT_SYMBOL_GPL vmlinux 0xab1dcb2c of_console_check +EXPORT_SYMBOL_GPL vmlinux 0xab2c73bc dax_finish_sync_fault +EXPORT_SYMBOL_GPL vmlinux 0xab3bf4a4 tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0xab3ffbe2 device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xab417abc devm_of_icc_get +EXPORT_SYMBOL_GPL vmlinux 0xab53f3df of_icc_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0xab5b83dc lwtunnel_output +EXPORT_SYMBOL_GPL vmlinux 0xab62e16a crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0xab71f298 pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0xab8c18ff ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xab94d377 ata_cable_80wire +EXPORT_SYMBOL_GPL vmlinux 0xab9531db fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0xab9a7a81 pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0xaba99081 pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xabb50783 crypto_alloc_tfm_node +EXPORT_SYMBOL_GPL vmlinux 0xabc287fe rio_route_add_entry +EXPORT_SYMBOL_GPL vmlinux 0xabc640f3 list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0xabde1d45 netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0xabe575c4 get_slice_psize +EXPORT_SYMBOL_GPL vmlinux 0xabe9eb23 mbox_request_channel +EXPORT_SYMBOL_GPL vmlinux 0xabea9a6d ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0xabfc7bb3 __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0xac00429d __traceiter_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0xac03512c of_reserved_mem_lookup +EXPORT_SYMBOL_GPL vmlinux 0xac0624b4 vfio_spapr_iommu_eeh_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xac1f02a4 ethtool_set_ethtool_phy_ops +EXPORT_SYMBOL_GPL vmlinux 0xac295c8f usb_ifnum_to_if +EXPORT_SYMBOL_GPL vmlinux 0xac2b7ebf switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0xac4c30d5 to_nd_region +EXPORT_SYMBOL_GPL vmlinux 0xac621346 iommu_set_pgtable_quirks +EXPORT_SYMBOL_GPL vmlinux 0xac69ad4d ata_host_init +EXPORT_SYMBOL_GPL vmlinux 0xac7595d7 ata_dev_pair +EXPORT_SYMBOL_GPL vmlinux 0xac7c5321 device_property_present +EXPORT_SYMBOL_GPL vmlinux 0xac828fde dw_pcie_ep_raise_legacy_irq +EXPORT_SYMBOL_GPL vmlinux 0xaca31faa of_thermal_get_ntrips +EXPORT_SYMBOL_GPL vmlinux 0xaca5085b wakeup_source_remove +EXPORT_SYMBOL_GPL vmlinux 0xacb1a3af sdio_readsb +EXPORT_SYMBOL_GPL vmlinux 0xacb4d88c clk_rate_exclusive_put +EXPORT_SYMBOL_GPL vmlinux 0xacb7e757 phy_calibrate +EXPORT_SYMBOL_GPL vmlinux 0xace4c8de perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0xace59bb6 crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0xace908a4 __irq_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0xacfe997e powerpc_firmware_features +EXPORT_SYMBOL_GPL vmlinux 0xad1175a1 blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0xad12bb7a gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0xad25602f __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xad42dff8 __SCK__tp_func_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0xad49ad48 balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0xad4cd868 strp_init +EXPORT_SYMBOL_GPL vmlinux 0xad4e6259 remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad645234 register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xad76a3f0 __SCK__tp_func_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xad76a404 is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0xad81bc2f devm_hwspin_lock_unregister +EXPORT_SYMBOL_GPL vmlinux 0xad8406c5 __traceiter_ata_bmdma_start +EXPORT_SYMBOL_GPL vmlinux 0xad94b91d iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0xad9efcf6 mmc_switch +EXPORT_SYMBOL_GPL vmlinux 0xada38766 dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0xadbcd9b2 sdio_set_block_size +EXPORT_SYMBOL_GPL vmlinux 0xadc861bd platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0xadcd269c crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0xaddf0e5b unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0xade5339b hte_get_clk_src_info +EXPORT_SYMBOL_GPL vmlinux 0xadfe703a udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0xae096359 icc_node_create +EXPORT_SYMBOL_GPL vmlinux 0xae1051b0 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xae20806a wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0xae39f80e dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xae3a1a47 xhci_reset_bandwidth +EXPORT_SYMBOL_GPL vmlinux 0xae3f260d regulator_set_voltage_time_sel +EXPORT_SYMBOL_GPL vmlinux 0xae442152 dawr_force_enable +EXPORT_SYMBOL_GPL vmlinux 0xae47b20d __traceiter_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0xae57fdfe devm_hwspin_lock_register +EXPORT_SYMBOL_GPL vmlinux 0xae64f1dd __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae735202 pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0xae7c231d mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0xae864461 vp_legacy_config_vector +EXPORT_SYMBOL_GPL vmlinux 0xae87cad0 memstart_addr +EXPORT_SYMBOL_GPL vmlinux 0xae91eac5 __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0xaea7f1ef devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaeb5d2c4 tps6586x_write +EXPORT_SYMBOL_GPL vmlinux 0xaebf6ea5 __rio_local_write_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xaec9921f hash_page +EXPORT_SYMBOL_GPL vmlinux 0xaeeab918 pci_get_dsn +EXPORT_SYMBOL_GPL vmlinux 0xaef1ffcf fwnode_get_phy_node +EXPORT_SYMBOL_GPL vmlinux 0xaefa9ebb pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0xaf076aec nd_fletcher64 +EXPORT_SYMBOL_GPL vmlinux 0xaf07a333 devfreq_event_enable_edev +EXPORT_SYMBOL_GPL vmlinux 0xaf0c29b8 phy_exit +EXPORT_SYMBOL_GPL vmlinux 0xaf177c44 sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0xaf1e10da opal_int_set_mfrr +EXPORT_SYMBOL_GPL vmlinux 0xaf215454 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0xaf30e4a9 vfio_pci_core_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xaf38e994 regulator_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xaf3a44e9 __SCK__tp_func_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xaf4014ff usb_amd_quirk_pll_check +EXPORT_SYMBOL_GPL vmlinux 0xaf4858fc pnv_ocxl_get_xsl_irq +EXPORT_SYMBOL_GPL vmlinux 0xaf676a90 usb_disable_xhci_ports +EXPORT_SYMBOL_GPL vmlinux 0xaf793668 __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0xaf832af4 do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0xaf852873 cpuidle_register_device +EXPORT_SYMBOL_GPL vmlinux 0xaf869282 blk_mq_end_request_batch +EXPORT_SYMBOL_GPL vmlinux 0xaf8f2221 rio_del_device +EXPORT_SYMBOL_GPL vmlinux 0xaf9e1113 clk_mux_ops +EXPORT_SYMBOL_GPL vmlinux 0xafb0cd15 fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xafb974e5 extcon_register_notifier_all +EXPORT_SYMBOL_GPL vmlinux 0xafbac171 irq_domain_disconnect_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xafbe6c9e kvmppc_hwrng_present +EXPORT_SYMBOL_GPL vmlinux 0xafc12b0e of_get_pci_domain_nr +EXPORT_SYMBOL_GPL vmlinux 0xafc19b53 badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0xafc2e947 crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0xafcc8ba3 dev_attr_sw_activity +EXPORT_SYMBOL_GPL vmlinux 0xafdccc1f mctrl_gpio_init +EXPORT_SYMBOL_GPL vmlinux 0xafddd545 ata_id_c_string +EXPORT_SYMBOL_GPL vmlinux 0xafe3d36b tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0xafeb58c1 __SCK__tp_func_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0xaff16e35 bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0xb009154b phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0xb00bedbd edac_device_handle_ce_count +EXPORT_SYMBOL_GPL vmlinux 0xb0169ae1 dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0xb01eb623 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0xb02e08f2 vmalloc_to_phys +EXPORT_SYMBOL_GPL vmlinux 0xb049a294 __SCK__tp_func_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0xb04b9f17 fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0xb04d9b69 of_irq_parse_one +EXPORT_SYMBOL_GPL vmlinux 0xb05410f0 platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xb05b1237 sdio_retune_crc_enable +EXPORT_SYMBOL_GPL vmlinux 0xb06634ec opal_xscom_write +EXPORT_SYMBOL_GPL vmlinux 0xb06da7ee pm_clk_init +EXPORT_SYMBOL_GPL vmlinux 0xb0747ed2 rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0xb077e70a clk_unprepare +EXPORT_SYMBOL_GPL vmlinux 0xb0902385 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xb09b7319 of_thermal_get_trip_points +EXPORT_SYMBOL_GPL vmlinux 0xb09d45b0 serial8250_read_char +EXPORT_SYMBOL_GPL vmlinux 0xb0a51a7f pinctrl_utils_add_map_mux +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0c25b59 add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0xb0d1656c gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0xb0da3590 devm_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0xb0e39316 net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0xb0e52f90 generic_online_page +EXPORT_SYMBOL_GPL vmlinux 0xb0f65317 get_state_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xb0f73f8e __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xb0f82e7f dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0xb0fc6a6c i2c_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xb0fc7bd2 ata_sff_wait_ready +EXPORT_SYMBOL_GPL vmlinux 0xb10d295f rio_request_inb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xb10d964d devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xb11d9000 tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0xb11f8fe1 ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0xb1217c51 cpuidle_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb13b078d mptcp_diag_fill_info +EXPORT_SYMBOL_GPL vmlinux 0xb13b1fd5 mmc_regulator_set_ocr +EXPORT_SYMBOL_GPL vmlinux 0xb1647fc2 devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0xb170bfd9 ata_sas_port_start +EXPORT_SYMBOL_GPL vmlinux 0xb180dac4 __folio_lock_killable +EXPORT_SYMBOL_GPL vmlinux 0xb18429eb suspend_device_irqs +EXPORT_SYMBOL_GPL vmlinux 0xb1979a34 pcibios_unmap_io_space +EXPORT_SYMBOL_GPL vmlinux 0xb19818aa blk_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0xb19e678d __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0xb19e6ce5 dev_pm_genpd_set_next_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xb1a73574 nvdimm_to_bus +EXPORT_SYMBOL_GPL vmlinux 0xb1b32865 gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0xb1b41bf6 srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0xb1baa71a devlink_linecard_provision_fail +EXPORT_SYMBOL_GPL vmlinux 0xb1baff17 iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xb1bed25d dpm_resume_start +EXPORT_SYMBOL_GPL vmlinux 0xb1c2ab97 rio_unlock_device +EXPORT_SYMBOL_GPL vmlinux 0xb1c5f832 ata_sff_drain_fifo +EXPORT_SYMBOL_GPL vmlinux 0xb1cdad82 phy_reset +EXPORT_SYMBOL_GPL vmlinux 0xb1cf9dcd gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0xb1e25684 __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0xb1fc1782 pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xb1fcdbb9 unregister_nvdimm_pmu +EXPORT_SYMBOL_GPL vmlinux 0xb200692d __traceiter_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0xb2018231 nvdimm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xb202471c netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0xb207fa0f ata_pci_bmdma_init +EXPORT_SYMBOL_GPL vmlinux 0xb20e427d fscrypt_symlink_getattr +EXPORT_SYMBOL_GPL vmlinux 0xb21d00c6 hte_ts_put +EXPORT_SYMBOL_GPL vmlinux 0xb2210d64 reset_control_deassert +EXPORT_SYMBOL_GPL vmlinux 0xb2405efc secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0xb24808fe gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0xb2558098 ata_sas_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xb26a1add elfcorehdr_addr +EXPORT_SYMBOL_GPL vmlinux 0xb26ca1e9 md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xb27caeba pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0xb27f811a spi_mem_poll_status +EXPORT_SYMBOL_GPL vmlinux 0xb2816a97 pcibios_alloc_controller +EXPORT_SYMBOL_GPL vmlinux 0xb29533ee zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xb2996be7 cpuidle_get_cpu_driver +EXPORT_SYMBOL_GPL vmlinux 0xb2a653fc confirm_error_lock +EXPORT_SYMBOL_GPL vmlinux 0xb2a941ef trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb2bdd672 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xb2c1732e rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0xb2ceba4a dev_pm_opp_get_power +EXPORT_SYMBOL_GPL vmlinux 0xb2d13a69 dev_attr_ncq_prio_supported +EXPORT_SYMBOL_GPL vmlinux 0xb2e4e8fe auxiliary_device_init +EXPORT_SYMBOL_GPL vmlinux 0xb2e764e8 suspend_valid_only_mem +EXPORT_SYMBOL_GPL vmlinux 0xb2e9220e ftrace_free_filter +EXPORT_SYMBOL_GPL vmlinux 0xb2ed7b0d device_store_int +EXPORT_SYMBOL_GPL vmlinux 0xb2ff05c4 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0xb307c909 devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xb356a407 sec_irq_init +EXPORT_SYMBOL_GPL vmlinux 0xb364586c crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0xb368b0cd devm_mbox_controller_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb3883b91 tty_kopen_shared +EXPORT_SYMBOL_GPL vmlinux 0xb393bebc __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0xb39aca9f blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb3b4881f crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0xb3b7a0a6 ata_bmdma_port_start32 +EXPORT_SYMBOL_GPL vmlinux 0xb3b8585c switch_pmu_to_guest +EXPORT_SYMBOL_GPL vmlinux 0xb3c5a40f ata_link_online +EXPORT_SYMBOL_GPL vmlinux 0xb3d78ec4 umd_load_blob +EXPORT_SYMBOL_GPL vmlinux 0xb3e15e36 nvmem_add_cell_table +EXPORT_SYMBOL_GPL vmlinux 0xb3ec52b8 pinmux_generic_get_function_name +EXPORT_SYMBOL_GPL vmlinux 0xb406536b pm_generic_restore_noirq +EXPORT_SYMBOL_GPL vmlinux 0xb40e960e debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xb421afa4 crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0xb434d34f i2c_dw_probe_master +EXPORT_SYMBOL_GPL vmlinux 0xb43f9365 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xb44730b1 sdio_writeb +EXPORT_SYMBOL_GPL vmlinux 0xb44e18ea audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb47033d2 dev_pm_qos_flags +EXPORT_SYMBOL_GPL vmlinux 0xb47bad3e inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xb47e6361 clk_fractional_divider_ops +EXPORT_SYMBOL_GPL vmlinux 0xb488588e tb_to_ns +EXPORT_SYMBOL_GPL vmlinux 0xb4885c5e __clk_hw_register_mux +EXPORT_SYMBOL_GPL vmlinux 0xb48f0638 software_node_register +EXPORT_SYMBOL_GPL vmlinux 0xb4994f15 debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0xb4a2bbe2 is_swiotlb_active +EXPORT_SYMBOL_GPL vmlinux 0xb4b97c90 pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4c3a091 scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0xb4cd7317 noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xb4d10183 rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xb4ea7cf7 kgdb_connected +EXPORT_SYMBOL_GPL vmlinux 0xb4eda0da ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0xb5003210 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0xb501b2df nd_cmd_dimm_desc +EXPORT_SYMBOL_GPL vmlinux 0xb51fbd64 edac_op_state +EXPORT_SYMBOL_GPL vmlinux 0xb554f2e1 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0xb56651ba wm8350_clear_bits +EXPORT_SYMBOL_GPL vmlinux 0xb56c27ef badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0xb56d72f8 devm_irq_domain_create_sim +EXPORT_SYMBOL_GPL vmlinux 0xb56ed688 of_get_display_timings +EXPORT_SYMBOL_GPL vmlinux 0xb570321b fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0xb5771aff nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0xb5837ba1 gov_attr_set_get +EXPORT_SYMBOL_GPL vmlinux 0xb5a04f05 xive_native_has_save_restore +EXPORT_SYMBOL_GPL vmlinux 0xb5aa10af atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb5ab022b perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0xb5ad0b19 dax_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0xb5c93427 dev_err_probe +EXPORT_SYMBOL_GPL vmlinux 0xb5ee0671 thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0xb604ef12 fat_detach +EXPORT_SYMBOL_GPL vmlinux 0xb605a9c8 iommu_tce_table_get +EXPORT_SYMBOL_GPL vmlinux 0xb60b5707 of_i8042_aux_irq +EXPORT_SYMBOL_GPL vmlinux 0xb610b5d9 ethtool_params_from_link_mode +EXPORT_SYMBOL_GPL vmlinux 0xb61193da pin_get_name +EXPORT_SYMBOL_GPL vmlinux 0xb6261484 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb62a9e94 max8997_read_reg +EXPORT_SYMBOL_GPL vmlinux 0xb62cdb2c sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0xb6357e53 cpuidle_enable_device +EXPORT_SYMBOL_GPL vmlinux 0xb63717bf event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0xb639c788 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0xb63fd8ab mmput +EXPORT_SYMBOL_GPL vmlinux 0xb6410433 mpi_addm +EXPORT_SYMBOL_GPL vmlinux 0xb643c250 xics_wake_cpu +EXPORT_SYMBOL_GPL vmlinux 0xb6490b11 pnv_power9_force_smt4_release +EXPORT_SYMBOL_GPL vmlinux 0xb655f91b pci_epc_get_next_free_bar +EXPORT_SYMBOL_GPL vmlinux 0xb658384d switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0xb667fdfe fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0xb6787346 sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0xb67d6f08 ata_scsi_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xb67e7508 msg_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0xb6888188 klp_shadow_get_or_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb68bb0e6 of_hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0xb697c14b iommu_del_device +EXPORT_SYMBOL_GPL vmlinux 0xb69afbb0 devlink_linecard_deactivate +EXPORT_SYMBOL_GPL vmlinux 0xb6ad2e3b __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0xb6b28514 xas_load +EXPORT_SYMBOL_GPL vmlinux 0xb6cd96c1 of_pwm_single_xlate +EXPORT_SYMBOL_GPL vmlinux 0xb6d27de6 __tracepoint_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xb6e6d99d clk_disable +EXPORT_SYMBOL_GPL vmlinux 0xb6ea4f69 __mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0xb6eb5849 gpiod_disable_hw_timestamp_ns +EXPORT_SYMBOL_GPL vmlinux 0xb6f25e9c regulator_map_voltage_pickable_linear_range +EXPORT_SYMBOL_GPL vmlinux 0xb6fa5009 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0xb7161b95 fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0xb729a642 dev_pm_set_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xb7329c06 clk_set_phase +EXPORT_SYMBOL_GPL vmlinux 0xb73713d7 nvmem_add_cell_lookups +EXPORT_SYMBOL_GPL vmlinux 0xb73e37e3 devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb74737b0 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0xb74c1eaf of_led_get +EXPORT_SYMBOL_GPL vmlinux 0xb74c31cd wwan_remove_port +EXPORT_SYMBOL_GPL vmlinux 0xb761f414 clk_hw_get_parent_by_index +EXPORT_SYMBOL_GPL vmlinux 0xb77839cc devm_bitmap_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb786bf75 pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xb78cc0d3 crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0xb7a387fc synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0xb7c69a63 unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7cc0cff __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0xb7d17fa0 pgtable_cache +EXPORT_SYMBOL_GPL vmlinux 0xb7d9cfa3 usb_hcd_map_urb_for_dma +EXPORT_SYMBOL_GPL vmlinux 0xb7e479f5 ata_sas_port_destroy +EXPORT_SYMBOL_GPL vmlinux 0xb7e68ea1 kvmppc_h_remove +EXPORT_SYMBOL_GPL vmlinux 0xb7f17d4a genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL vmlinux 0xb832bafa __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0xb83505bc scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0xb842a185 relay_close +EXPORT_SYMBOL_GPL vmlinux 0xb845001f pm_generic_suspend_noirq +EXPORT_SYMBOL_GPL vmlinux 0xb84b3673 cpufreq_generic_attr +EXPORT_SYMBOL_GPL vmlinux 0xb8609828 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0xb86b8150 crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0xb880c9a2 usb_disable_ltm +EXPORT_SYMBOL_GPL vmlinux 0xb88dbfce irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0xb8919ae6 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0xb8993fac __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0xb89e69b1 jump_label_update_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb8c075e6 device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0xb8c1a475 dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0xb8c644ab mce_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb8cc94e5 xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0xb8cd3a7f nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0xb8e08bc7 xhci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xb8e47bfe register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0xb8e4a9ac sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0xb90057fe dev_pm_opp_set_prop_name +EXPORT_SYMBOL_GPL vmlinux 0xb90a4152 register_btf_id_dtor_kfuncs +EXPORT_SYMBOL_GPL vmlinux 0xb90b01b2 hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0xb912560d static_key_disable +EXPORT_SYMBOL_GPL vmlinux 0xb9175787 devlink_linecard_create +EXPORT_SYMBOL_GPL vmlinux 0xb918624f fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0xb91e6703 __pm_runtime_resume +EXPORT_SYMBOL_GPL vmlinux 0xb92aec62 handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0xb940d90d hte_enable_ts +EXPORT_SYMBOL_GPL vmlinux 0xb94fe0c8 fixed_phy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb9590a63 pinctrl_generic_get_group_count +EXPORT_SYMBOL_GPL vmlinux 0xb95eb5c3 msi_unlock_descs +EXPORT_SYMBOL_GPL vmlinux 0xb9681621 xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0xb97a6f72 ata_qc_complete +EXPORT_SYMBOL_GPL vmlinux 0xb98190fb pwm_request +EXPORT_SYMBOL_GPL vmlinux 0xb9852d11 __traceiter_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xb986ac6d flush_vsx_to_thread +EXPORT_SYMBOL_GPL vmlinux 0xb98e521a dev_pm_opp_get_opp_count +EXPORT_SYMBOL_GPL vmlinux 0xb99dc0cc unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0xb99df747 xive_native_has_queue_state_support +EXPORT_SYMBOL_GPL vmlinux 0xb9b9df41 usb_amd_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xb9c018dd pwm_adjust_config +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9fa80ee securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0xba014c84 pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xba057786 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0xba076daa trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0xba0a2023 extcon_dev_free +EXPORT_SYMBOL_GPL vmlinux 0xba158769 rtas_cancel_event_scan +EXPORT_SYMBOL_GPL vmlinux 0xba1b0697 call_srcu +EXPORT_SYMBOL_GPL vmlinux 0xba1df57e __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0xba2b7f64 cpufreq_generic_get +EXPORT_SYMBOL_GPL vmlinux 0xba2e23ee eeh_pe_state_mark +EXPORT_SYMBOL_GPL vmlinux 0xba31dc1e usb_driver_release_interface +EXPORT_SYMBOL_GPL vmlinux 0xba4b1b3d alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0xba6647aa bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0xba7217dc device_add_software_node +EXPORT_SYMBOL_GPL vmlinux 0xba777f61 filemap_add_folio +EXPORT_SYMBOL_GPL vmlinux 0xba984f8b blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0xbaa9f417 of_clk_get_from_provider +EXPORT_SYMBOL_GPL vmlinux 0xbab9a9f0 maxim_charger_currents +EXPORT_SYMBOL_GPL vmlinux 0xbabbef37 extcon_get_property +EXPORT_SYMBOL_GPL vmlinux 0xbabe7135 rio_release_outb_dbell +EXPORT_SYMBOL_GPL vmlinux 0xbac6617a dev_pm_qos_expose_latency_limit +EXPORT_SYMBOL_GPL vmlinux 0xbadf1f79 tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0xbaea6670 ata_pci_device_resume +EXPORT_SYMBOL_GPL vmlinux 0xbaef0a8f crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0xbaf1f34f call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0xbaf22757 kvfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0xbaf5b62e ohci_hub_status_data +EXPORT_SYMBOL_GPL vmlinux 0xbaf6850c fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0xbaffd10b regulator_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xbb028ad3 rcu_gp_slow_register +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb1822d5 mm_iommu_lookup +EXPORT_SYMBOL_GPL vmlinux 0xbb24f372 __SCK__tp_func_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0xbb30f520 akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xbb3185e3 io_uring_cmd_done +EXPORT_SYMBOL_GPL vmlinux 0xbb324995 devm_regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xbb32c978 unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0xbb4a2da0 hwrng_msleep +EXPORT_SYMBOL_GPL vmlinux 0xbb4c13b4 usb_hcd_pci_probe +EXPORT_SYMBOL_GPL vmlinux 0xbb6508da random_get_entropy_fallback +EXPORT_SYMBOL_GPL vmlinux 0xbb6a3cbd devlink_fmsg_arr_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xbb6c75ac xas_pause +EXPORT_SYMBOL_GPL vmlinux 0xbb6f025a asymmetric_key_generate_id +EXPORT_SYMBOL_GPL vmlinux 0xbb701b5d ata_std_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xbb7195a5 xdp_warn +EXPORT_SYMBOL_GPL vmlinux 0xbb80f63e rio_request_outb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xbb99aed6 vas_win_close +EXPORT_SYMBOL_GPL vmlinux 0xbba868a6 usb_create_hcd +EXPORT_SYMBOL_GPL vmlinux 0xbbb7f851 icc_provider_del +EXPORT_SYMBOL_GPL vmlinux 0xbbe5611b crc64_rocksoft_update +EXPORT_SYMBOL_GPL vmlinux 0xbbe56404 sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0xbbe7363f dma_resv_get_fences +EXPORT_SYMBOL_GPL vmlinux 0xbbe7a175 rdev_get_name +EXPORT_SYMBOL_GPL vmlinux 0xbbebf3cf vas_unregister_api_powernv +EXPORT_SYMBOL_GPL vmlinux 0xbc0208d6 device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0xbc0756fc debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0xbc0a56a8 pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0xbc2ea5b3 pci_dev_unlock +EXPORT_SYMBOL_GPL vmlinux 0xbc3b20c1 pci_iov_get_pf_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xbc3f2cb0 timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xbc48e9a0 ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0xbc6bec66 free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xbc7f3063 tc3589x_block_write +EXPORT_SYMBOL_GPL vmlinux 0xbc89254b blk_mq_hctx_set_fq_lock_class +EXPORT_SYMBOL_GPL vmlinux 0xbc8c4bab pm_generic_suspend_late +EXPORT_SYMBOL_GPL vmlinux 0xbca3bcf7 md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0xbca90730 irq_chip_set_vcpu_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0xbcbe3339 devlink_set_features +EXPORT_SYMBOL_GPL vmlinux 0xbcc15e75 ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xbcdd5b99 iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0xbce58e13 bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0xbce87257 sata_std_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xbcf1f0e6 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xbd06981c debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0xbd06f3a9 ata_get_cmd_name +EXPORT_SYMBOL_GPL vmlinux 0xbd25c2f2 rio_del_mport_pw_handler +EXPORT_SYMBOL_GPL vmlinux 0xbd2d8f02 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0xbd2ee994 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0xbd36dbaf __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0xbd3fe1e3 disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0xbd5704ec __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0xbd6135a0 spi_mem_driver_register_with_owner +EXPORT_SYMBOL_GPL vmlinux 0xbd6508b2 dma_vmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0xbd65c2d5 ata_ncq_sdev_groups +EXPORT_SYMBOL_GPL vmlinux 0xbd69f15f tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xbd7aaaee add_memory +EXPORT_SYMBOL_GPL vmlinux 0xbd90e7ef task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0xbda5bbe2 xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0xbdaef405 dev_pm_opp_put_supported_hw +EXPORT_SYMBOL_GPL vmlinux 0xbdb72342 __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0xbdc4f3e9 thermal_zone_device_register +EXPORT_SYMBOL_GPL vmlinux 0xbdd6d9a1 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0xbdda1b5f vmalloc_huge +EXPORT_SYMBOL_GPL vmlinux 0xbddb90ed genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL vmlinux 0xbe1021ee tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0xbe23bfea class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xbe3135c4 eeh_iommu_group_to_pe +EXPORT_SYMBOL_GPL vmlinux 0xbe372928 da9052_adc_read_temp +EXPORT_SYMBOL_GPL vmlinux 0xbe38c416 pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0xbe3d48f3 irq_alloc_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xbe3fd025 usb_hcd_pci_remove +EXPORT_SYMBOL_GPL vmlinux 0xbe5de087 crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0xbe687e88 wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbe74f625 i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL vmlinux 0xbe7750bb pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0xbe7d083a __traceiter_rpm_idle +EXPORT_SYMBOL_GPL vmlinux 0xbe8dda3f devm_mipi_dsi_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0xbe8dfb64 sysfs_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xbe96dfd8 of_reconfig_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xbe97cec2 regmap_async_complete_cb +EXPORT_SYMBOL_GPL vmlinux 0xbe9a83d5 dw_pcie_write +EXPORT_SYMBOL_GPL vmlinux 0xbea256da tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0xbea3fb7a sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xbea5ff1e static_key_initialized +EXPORT_SYMBOL_GPL vmlinux 0xbea63e77 klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0xbeb2857f usb_get_role_switch_default_mode +EXPORT_SYMBOL_GPL vmlinux 0xbebe625a event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0xbec36348 pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0xbec40cfd sk_msg_is_readable +EXPORT_SYMBOL_GPL vmlinux 0xbed2764e irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0xbed75501 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xbedf3fb8 pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0xbeefed52 cpuidle_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xbef17744 device_rename +EXPORT_SYMBOL_GPL vmlinux 0xbefc6ae5 __regmap_init_spi +EXPORT_SYMBOL_GPL vmlinux 0xbf041102 register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbf1cc04b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xbf2789e4 fat_attach +EXPORT_SYMBOL_GPL vmlinux 0xbf2b6587 usb_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xbf2e2e71 housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0xbf314b6a rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0xbf4513c3 devlink_linecard_activate +EXPORT_SYMBOL_GPL vmlinux 0xbf5803f9 fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0xbf75292e mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0xbf772d52 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xbf89ec6e skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0xbf8a6eef pm_generic_resume_noirq +EXPORT_SYMBOL_GPL vmlinux 0xbf90f58c irq_domain_remove_sim +EXPORT_SYMBOL_GPL vmlinux 0xbf9b0d06 fb_deferred_io_mmap +EXPORT_SYMBOL_GPL vmlinux 0xbf9f82da is_pnv_opal_msi +EXPORT_SYMBOL_GPL vmlinux 0xbfacfb59 __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0xbfbc5434 pciserial_resume_ports +EXPORT_SYMBOL_GPL vmlinux 0xbfd2b2dc mbox_chan_received_data +EXPORT_SYMBOL_GPL vmlinux 0xbfe5616d tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0xbfeea1df of_get_required_opp_performance_state +EXPORT_SYMBOL_GPL vmlinux 0xbfefffc8 dma_vunmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0xc028ccd7 crypto_alloc_acomp_node +EXPORT_SYMBOL_GPL vmlinux 0xc02b2136 flush_altivec_to_thread +EXPORT_SYMBOL_GPL vmlinux 0xc031d103 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xc0326628 usb_interrupt_msg +EXPORT_SYMBOL_GPL vmlinux 0xc0376542 dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0xc03fb062 fsverity_verify_page +EXPORT_SYMBOL_GPL vmlinux 0xc053cd17 xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0xc0550c95 crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0xc06198b1 hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0xc065a455 cpu_core_index_of_thread +EXPORT_SYMBOL_GPL vmlinux 0xc085a495 cpuidle_get_driver +EXPORT_SYMBOL_GPL vmlinux 0xc090c376 net_selftest_get_strings +EXPORT_SYMBOL_GPL vmlinux 0xc0a96e14 rcu_gp_is_expedited +EXPORT_SYMBOL_GPL vmlinux 0xc0ad4bca crypto_create_tfm_node +EXPORT_SYMBOL_GPL vmlinux 0xc0b2664d devlink_dpipe_header_ipv4 +EXPORT_SYMBOL_GPL vmlinux 0xc0b30ac8 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0xc0b64f56 of_irq_parse_raw +EXPORT_SYMBOL_GPL vmlinux 0xc0ce1dfd kvmppc_h_protect +EXPORT_SYMBOL_GPL vmlinux 0xc0d170ba vfio_pci_core_uninit_device +EXPORT_SYMBOL_GPL vmlinux 0xc0dcb59e edac_layer_name +EXPORT_SYMBOL_GPL vmlinux 0xc0ef163d virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0xc0f0458a ip_tunnel_unneed_metadata +EXPORT_SYMBOL_GPL vmlinux 0xc0f86b00 dev_pm_opp_attach_genpd +EXPORT_SYMBOL_GPL vmlinux 0xc0f9b4aa nfs_ssc_client_tbl +EXPORT_SYMBOL_GPL vmlinux 0xc1077869 xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0xc107a6df __traceiter_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0xc1086e0c sysrq_toggle_support +EXPORT_SYMBOL_GPL vmlinux 0xc10fddb8 name_to_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xc114eeab fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0xc11805b2 regulator_set_active_discharge_regmap +EXPORT_SYMBOL_GPL vmlinux 0xc11ba99c pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0xc11bb921 phy_validate +EXPORT_SYMBOL_GPL vmlinux 0xc11c274b rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0xc11e3919 crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0xc12d0d40 devm_spi_mem_dirmap_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc12da4c3 dev_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0xc146cb65 ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0xc14ca228 clk_hw_get_flags +EXPORT_SYMBOL_GPL vmlinux 0xc16fe30c access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0xc1743430 cpuidle_disable_device +EXPORT_SYMBOL_GPL vmlinux 0xc17515d7 usb_hcds_loaded +EXPORT_SYMBOL_GPL vmlinux 0xc17c25bb desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0xc1986172 poll_state_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xc1c2cb4e perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0xc1c495a8 cpufreq_unregister_governor +EXPORT_SYMBOL_GPL vmlinux 0xc1ccc99d pm_clk_runtime_suspend +EXPORT_SYMBOL_GPL vmlinux 0xc1d7468b of_platform_default_populate +EXPORT_SYMBOL_GPL vmlinux 0xc1df0a6a regulator_set_voltage_time +EXPORT_SYMBOL_GPL vmlinux 0xc1e0bd89 rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0xc1ed9c89 cpu_latency_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xc1f337c1 mmc_regulator_get_supply +EXPORT_SYMBOL_GPL vmlinux 0xc2016555 phy_restore_page +EXPORT_SYMBOL_GPL vmlinux 0xc218a058 scsi_autopm_get_device +EXPORT_SYMBOL_GPL vmlinux 0xc21a6473 dev_coredumpm +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc22b8ab7 genphy_c45_aneg_done +EXPORT_SYMBOL_GPL vmlinux 0xc2356714 pinctrl_select_state +EXPORT_SYMBOL_GPL vmlinux 0xc2396afe devfreq_event_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc2516c6f crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xc2532ce7 ext_pi_type3_crc64 +EXPORT_SYMBOL_GPL vmlinux 0xc2692173 wakeup_sources_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xc2788212 set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xc27b16fb gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0xc27e63e5 ata_msleep +EXPORT_SYMBOL_GPL vmlinux 0xc289e46d cpufreq_generic_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xc28b4522 firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0xc28c5838 pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0xc2a814db tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xc2b76387 pm_runtime_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0xc2b9773a __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xc2c1c427 perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc2c275ff opal_poll_events +EXPORT_SYMBOL_GPL vmlinux 0xc2c8b469 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0xc2c9cff5 of_genpd_add_subdomain +EXPORT_SYMBOL_GPL vmlinux 0xc2e57cf7 sata_set_spd +EXPORT_SYMBOL_GPL vmlinux 0xc2e84770 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc2f30c78 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0xc2fa69d3 raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0xc30c55cb blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0xc3217878 rio_local_get_device_id +EXPORT_SYMBOL_GPL vmlinux 0xc3304b56 firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0xc33e597a ata_link_offline +EXPORT_SYMBOL_GPL vmlinux 0xc341ae6d zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0xc34fef3f devlink_port_attrs_set +EXPORT_SYMBOL_GPL vmlinux 0xc36364b6 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0xc3708747 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc3805cd1 fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0xc3944258 trace_seq_putmem_hex +EXPORT_SYMBOL_GPL vmlinux 0xc3955cb0 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0xc3a05644 irq_gc_ack_set_bit +EXPORT_SYMBOL_GPL vmlinux 0xc3a56157 rtc_read_alarm +EXPORT_SYMBOL_GPL vmlinux 0xc3b5862f rtc_initialize_alarm +EXPORT_SYMBOL_GPL vmlinux 0xc3c4c6cc hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0xc3d98826 spi_sync_locked +EXPORT_SYMBOL_GPL vmlinux 0xc3de65ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc3df0ac0 serial8250_modem_status +EXPORT_SYMBOL_GPL vmlinux 0xc3ea5305 iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0xc3f3ecac mmc_sanitize +EXPORT_SYMBOL_GPL vmlinux 0xc412fdf3 radix__flush_all_lpid +EXPORT_SYMBOL_GPL vmlinux 0xc4153f77 ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0xc4236bbd crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xc426c51f klp_shadow_free_all +EXPORT_SYMBOL_GPL vmlinux 0xc428068d sata_deb_timing_long +EXPORT_SYMBOL_GPL vmlinux 0xc429e9d9 xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0xc42e0198 aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc4367669 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0xc43cf854 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0xc44016fc vfio_mig_get_next_state +EXPORT_SYMBOL_GPL vmlinux 0xc442bfc0 devm_led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xc44992ee devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0xc44fb053 debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0xc454fc7b twl_get_type +EXPORT_SYMBOL_GPL vmlinux 0xc45bca0c dma_wait_for_async_tx +EXPORT_SYMBOL_GPL vmlinux 0xc460b5b1 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0xc46324f6 dynevent_create +EXPORT_SYMBOL_GPL vmlinux 0xc463e29c inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0xc46b5e00 btree_merge +EXPORT_SYMBOL_GPL vmlinux 0xc471c67a twl4030_audio_disable_resource +EXPORT_SYMBOL_GPL vmlinux 0xc474cf1e bpf_trace_run3 +EXPORT_SYMBOL_GPL vmlinux 0xc47a90b9 bpf_fentry_test1 +EXPORT_SYMBOL_GPL vmlinux 0xc48b7ccf ata_mode_string +EXPORT_SYMBOL_GPL vmlinux 0xc4919b4a fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc498bdc9 devlink_register +EXPORT_SYMBOL_GPL vmlinux 0xc4a31146 rdma_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc4a72936 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xc4c55391 fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0xc4cbbfc1 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0xc4d12927 fork_usermode_driver +EXPORT_SYMBOL_GPL vmlinux 0xc4d7987a usb_sg_init +EXPORT_SYMBOL_GPL vmlinux 0xc4dca67d led_trigger_set +EXPORT_SYMBOL_GPL vmlinux 0xc4dcf313 register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0xc4e53239 linear_hugepage_index +EXPORT_SYMBOL_GPL vmlinux 0xc4f0da12 ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xc4f476ec em_dev_register_perf_domain +EXPORT_SYMBOL_GPL vmlinux 0xc507c1db cpu_add_dev_attr +EXPORT_SYMBOL_GPL vmlinux 0xc50cb0f1 device_driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xc513281f espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0xc51b9576 debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0xc52e0ef0 inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xc53e2e3d smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0xc550b981 devm_pm_opp_of_add_table_noclk +EXPORT_SYMBOL_GPL vmlinux 0xc5604800 clk_set_rate_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xc569d8ce __clk_get_name +EXPORT_SYMBOL_GPL vmlinux 0xc56e63c5 extcon_sync +EXPORT_SYMBOL_GPL vmlinux 0xc56ff7ce bio_end_io_acct_remapped +EXPORT_SYMBOL_GPL vmlinux 0xc575c737 debug_locks_off +EXPORT_SYMBOL_GPL vmlinux 0xc5777fca linear_range_get_selector_low_array +EXPORT_SYMBOL_GPL vmlinux 0xc5786418 serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0xc5839768 component_compare_dev_name +EXPORT_SYMBOL_GPL vmlinux 0xc58a3ee6 icc_node_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc58ae46e fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0xc59f44dd iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0xc5a5c678 uart_parse_earlycon +EXPORT_SYMBOL_GPL vmlinux 0xc5d8b369 pnv_ocxl_get_tl_cap +EXPORT_SYMBOL_GPL vmlinux 0xc5ee1f22 dm_audit_log_bio +EXPORT_SYMBOL_GPL vmlinux 0xc5fc4948 fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0xc6050b15 vfio_register_group_dev +EXPORT_SYMBOL_GPL vmlinux 0xc606cd3c boot_cpuid +EXPORT_SYMBOL_GPL vmlinux 0xc617f82c unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc61aef15 restore_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0xc6299625 rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0xc62ee5e4 rio_mport_read_config_32 +EXPORT_SYMBOL_GPL vmlinux 0xc62f3979 root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc6492f5d tps6586x_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xc652a2fa __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0xc65a9310 cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0xc662ecda __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0xc6645f58 blk_crypto_register +EXPORT_SYMBOL_GPL vmlinux 0xc66545b1 irq_gc_mask_disable_reg +EXPORT_SYMBOL_GPL vmlinux 0xc66ae51d sock_map_unhash +EXPORT_SYMBOL_GPL vmlinux 0xc66b77b1 iommu_group_set_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xc66bdc41 nf_queue +EXPORT_SYMBOL_GPL vmlinux 0xc6779093 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xc67ab8e4 skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0xc68c3a58 __devm_rtc_register_device +EXPORT_SYMBOL_GPL vmlinux 0xc68c41d6 __SCK__tp_func_ata_bmdma_setup +EXPORT_SYMBOL_GPL vmlinux 0xc697b0f7 nvmem_device_read +EXPORT_SYMBOL_GPL vmlinux 0xc69b7ee5 zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0xc6a4a872 __clk_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0xc6b1107e fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0xc6b299ee cookie_tcp_reqsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc6b49b8f sata_link_scr_lpm +EXPORT_SYMBOL_GPL vmlinux 0xc6bf17b5 __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0xc6c59e9d bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc6c70475 platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0xc6ceb5ee pm_runtime_suspended_time +EXPORT_SYMBOL_GPL vmlinux 0xc6e5bcf3 linear_range_get_selector_within +EXPORT_SYMBOL_GPL vmlinux 0xc6ead9d6 ata_sff_prereset +EXPORT_SYMBOL_GPL vmlinux 0xc6f72ce7 dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0xc6fd392c dm_copy_name_and_uuid +EXPORT_SYMBOL_GPL vmlinux 0xc705f74f devlink_port_linecard_set +EXPORT_SYMBOL_GPL vmlinux 0xc727f959 ata_qc_get_active +EXPORT_SYMBOL_GPL vmlinux 0xc73e50d9 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xc743b2a8 mpc8xxx_spi_tx_buf_u16 +EXPORT_SYMBOL_GPL vmlinux 0xc751b6fc __virtio_unbreak_device +EXPORT_SYMBOL_GPL vmlinux 0xc768e3b0 netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0xc77381a4 devm_extcon_dev_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc777fd2b pm_clk_remove_clk +EXPORT_SYMBOL_GPL vmlinux 0xc780d6b9 hwmon_device_register_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xc78a1e41 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0xc790af16 pci_generic_ecam_ops +EXPORT_SYMBOL_GPL vmlinux 0xc799cf73 sb800_prefetch +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7a7e770 clk_bulk_enable +EXPORT_SYMBOL_GPL vmlinux 0xc7b1a233 raw_v4_match +EXPORT_SYMBOL_GPL vmlinux 0xc7c56d59 badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0xc7dec824 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0xc7e376d4 klist_next +EXPORT_SYMBOL_GPL vmlinux 0xc7e64fc2 asn1_encode_integer +EXPORT_SYMBOL_GPL vmlinux 0xc7ebec48 regulator_set_load +EXPORT_SYMBOL_GPL vmlinux 0xc7fa4aa9 kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0xc80b1d59 kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0xc80f8e4a devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc8176ba9 pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0xc8184026 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc82b3a88 __SCK__tp_func_rpm_resume +EXPORT_SYMBOL_GPL vmlinux 0xc82c721f klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xc838b44f devm_regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xc83a2f4c icc_link_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc8594d3d reset_control_acquire +EXPORT_SYMBOL_GPL vmlinux 0xc86b7842 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xc871b2ba sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xc88abf45 regmap_multi_reg_write_bypassed +EXPORT_SYMBOL_GPL vmlinux 0xc88bb345 rio_dev_put +EXPORT_SYMBOL_GPL vmlinux 0xc88f50d7 extcon_set_state_sync +EXPORT_SYMBOL_GPL vmlinux 0xc8bedc16 md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0xc8d15a70 dev_pm_opp_set_opp +EXPORT_SYMBOL_GPL vmlinux 0xc8d78b04 ip6_input +EXPORT_SYMBOL_GPL vmlinux 0xc8ddd5b5 kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0xc8fa1427 pci_iov_vf_id +EXPORT_SYMBOL_GPL vmlinux 0xc8fa5eef kvmhv_vcpu_entry_p9 +EXPORT_SYMBOL_GPL vmlinux 0xc8fe4f2b rdev_get_id +EXPORT_SYMBOL_GPL vmlinux 0xc8fed680 pwm_request_from_chip +EXPORT_SYMBOL_GPL vmlinux 0xc90fee4a pinctrl_generic_get_group_name +EXPORT_SYMBOL_GPL vmlinux 0xc91b296f hwspin_lock_get_id +EXPORT_SYMBOL_GPL vmlinux 0xc91fdf58 percpu_ref_is_zero +EXPORT_SYMBOL_GPL vmlinux 0xc9354302 devm_pm_clk_create +EXPORT_SYMBOL_GPL vmlinux 0xc93ee1e7 usb_phy_roothub_init +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9579026 clk_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xc9641b48 visitor32 +EXPORT_SYMBOL_GPL vmlinux 0xc969dcaf switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0xc9702876 skb_copy_ubufs +EXPORT_SYMBOL_GPL vmlinux 0xc9715630 __SCK__tp_func_ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xc9755925 usb_add_phy +EXPORT_SYMBOL_GPL vmlinux 0xc9827693 __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0xc9831339 ata_qc_complete_multiple +EXPORT_SYMBOL_GPL vmlinux 0xc9a8b6f5 blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0xc9b1e818 xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0xc9c44223 tpm_tis_resume +EXPORT_SYMBOL_GPL vmlinux 0xc9c56873 perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0xc9c6a27a xive_native_set_queue_state +EXPORT_SYMBOL_GPL vmlinux 0xc9c7d69a __sock_recv_cmsgs +EXPORT_SYMBOL_GPL vmlinux 0xc9ce3124 iommu_enable_nesting +EXPORT_SYMBOL_GPL vmlinux 0xc9e1c455 shake_page +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc9f2bf79 vmf_insert_pfn_pmd_prot +EXPORT_SYMBOL_GPL vmlinux 0xc9f58057 bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0xc9fad164 lp8788_read_multi_bytes +EXPORT_SYMBOL_GPL vmlinux 0xc9fd634a usb_role_switch_put +EXPORT_SYMBOL_GPL vmlinux 0xc9ffd987 bpf_preload_ops +EXPORT_SYMBOL_GPL vmlinux 0xca0143bb rio_add_net +EXPORT_SYMBOL_GPL vmlinux 0xca0cade1 __traceiter_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0xca18c837 usb_hcd_end_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xca26b000 wwan_put_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0xca449b7a switchdev_handle_port_obj_del_foreign +EXPORT_SYMBOL_GPL vmlinux 0xca454a34 vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0xca4b5c51 idr_remove +EXPORT_SYMBOL_GPL vmlinux 0xca6b85d9 virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0xca6c9b7c inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0xca7016e7 regmap_mmio_attach_clk +EXPORT_SYMBOL_GPL vmlinux 0xca7053ac thermal_add_hwmon_sysfs +EXPORT_SYMBOL_GPL vmlinux 0xca71d461 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0xca72d8c4 component_release_of +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca8083a1 pnv_ocxl_map_lpar +EXPORT_SYMBOL_GPL vmlinux 0xca94bf41 btree_last +EXPORT_SYMBOL_GPL vmlinux 0xca9a1d5e ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xcabca638 __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xcabe04de cpuidle_resume_and_unlock +EXPORT_SYMBOL_GPL vmlinux 0xcac95688 key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xcacef8de devm_pm_opp_set_clkname +EXPORT_SYMBOL_GPL vmlinux 0xcad8e938 of_genpd_add_device +EXPORT_SYMBOL_GPL vmlinux 0xcadab7df blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0xcb024011 irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0xcb063f84 sata_pmp_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xcb0a2809 ping_err +EXPORT_SYMBOL_GPL vmlinux 0xcb27f7a1 crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xcb2bd7b5 lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0xcb2bfe2b nvmem_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcb324866 pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0xcb518019 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0xcb561441 mem_dump_obj +EXPORT_SYMBOL_GPL vmlinux 0xcb58b3e4 sk_psock_init +EXPORT_SYMBOL_GPL vmlinux 0xcb5adbd0 pm_clk_add +EXPORT_SYMBOL_GPL vmlinux 0xcb602498 devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0xcb70815a clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0xcb71f91b ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0xcb77fc6f bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0xcb889ffb fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0xcb8a1bce vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xcb94ed1a rio_unregister_scan +EXPORT_SYMBOL_GPL vmlinux 0xcba67571 led_trigger_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcba8fdba phy_save_page +EXPORT_SYMBOL_GPL vmlinux 0xcbb625d6 of_platform_device_destroy +EXPORT_SYMBOL_GPL vmlinux 0xcbc11589 uart_set_options +EXPORT_SYMBOL_GPL vmlinux 0xcbcad39b ata_std_prereset +EXPORT_SYMBOL_GPL vmlinux 0xcbcf89bb regulator_set_voltage_sel_pickable_regmap +EXPORT_SYMBOL_GPL vmlinux 0xcbd8e8f5 __traceiter_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0xcbe56bc2 zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0xcbf53f9c usb_get_urb +EXPORT_SYMBOL_GPL vmlinux 0xcbfa49a6 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0xcc020e8f input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0xcc0f1009 power_supply_notifier +EXPORT_SYMBOL_GPL vmlinux 0xcc195ff9 regmap_get_max_register +EXPORT_SYMBOL_GPL vmlinux 0xcc1eecea gov_update_cpu_data +EXPORT_SYMBOL_GPL vmlinux 0xcc279c9a da9052_regmap_config +EXPORT_SYMBOL_GPL vmlinux 0xcc2dbfd8 irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0xcc37f2dc virtqueue_add_inbuf +EXPORT_SYMBOL_GPL vmlinux 0xcc39c03e nvmem_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcc3c97d3 open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0xcc5462b5 device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0xcc54929e sdio_readb +EXPORT_SYMBOL_GPL vmlinux 0xcc59802b ata_port_freeze +EXPORT_SYMBOL_GPL vmlinux 0xcc5cc250 ata_host_detach +EXPORT_SYMBOL_GPL vmlinux 0xcc75156c crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0xcc795932 devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0xcc89515c regulator_get_hardware_vsel_register +EXPORT_SYMBOL_GPL vmlinux 0xcc8e5360 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0xcc9268fc hwpoison_filter_enable +EXPORT_SYMBOL_GPL vmlinux 0xcc935375 walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0xcc9cee41 blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0xcca4483b irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0xcca7c552 device_link_add +EXPORT_SYMBOL_GPL vmlinux 0xccabde6f crc64_rocksoft_generic +EXPORT_SYMBOL_GPL vmlinux 0xccc77419 pm_runtime_forbid +EXPORT_SYMBOL_GPL vmlinux 0xccceb699 trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0xcccfb2fa sata_deb_timing_hotplug +EXPORT_SYMBOL_GPL vmlinux 0xccd86806 ata_id_string +EXPORT_SYMBOL_GPL vmlinux 0xcce3e7d4 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0xcceb56ef crypto_wait_for_test +EXPORT_SYMBOL_GPL vmlinux 0xcceb970d platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0xccf08071 platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0xccf52bc9 sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0xccf85614 fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0xcd0a7b09 irq_gc_mask_set_bit +EXPORT_SYMBOL_GPL vmlinux 0xcd151f6c kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0xcd1d0d4c ata_slave_link_init +EXPORT_SYMBOL_GPL vmlinux 0xcd24e146 hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0xcd2904d5 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0xcd2a4f6a __class_create +EXPORT_SYMBOL_GPL vmlinux 0xcd2ab716 pinctrl_remove_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xcd2e7183 devm_usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0xcd34f514 scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0xcd35255d xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xcd3f668c phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0xcd405bfe crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0xcd4082ef devm_nvmem_register +EXPORT_SYMBOL_GPL vmlinux 0xcd468c35 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xcd4d4948 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0xcd5a606c of_pci_range_parser_init +EXPORT_SYMBOL_GPL vmlinux 0xcd64ac18 memunmap_pages +EXPORT_SYMBOL_GPL vmlinux 0xcd6f2dc9 nf_log_buf_add +EXPORT_SYMBOL_GPL vmlinux 0xcd7b75cd __fscrypt_prepare_readdir +EXPORT_SYMBOL_GPL vmlinux 0xcd819977 dpm_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xcd90087b regcache_drop_region +EXPORT_SYMBOL_GPL vmlinux 0xcd91b127 system_highpri_wq +EXPORT_SYMBOL_GPL vmlinux 0xcd944164 usb_driver_claim_interface +EXPORT_SYMBOL_GPL vmlinux 0xcd974f00 rcu_all_qs +EXPORT_SYMBOL_GPL vmlinux 0xcd9adb40 gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0xcd9cd2ff wakeme_after_rcu +EXPORT_SYMBOL_GPL vmlinux 0xcda49102 devm_hwspin_lock_free +EXPORT_SYMBOL_GPL vmlinux 0xcda7cf45 nvdimm_volatile_region_create +EXPORT_SYMBOL_GPL vmlinux 0xcdb6adcc ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0xcdc3dd86 divider_round_rate_parent +EXPORT_SYMBOL_GPL vmlinux 0xcdc99b9d __irq_domain_alloc_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xcdd1a841 xive_tima +EXPORT_SYMBOL_GPL vmlinux 0xcdda48b8 dev_coredumpsg +EXPORT_SYMBOL_GPL vmlinux 0xcde70e9d devm_of_pwm_get +EXPORT_SYMBOL_GPL vmlinux 0xcde9b9be inet6_compat_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xce169f6d class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xce406d6b devfreq_cooling_em_register +EXPORT_SYMBOL_GPL vmlinux 0xce41cb61 dev_pm_put_subsys_data +EXPORT_SYMBOL_GPL vmlinux 0xce42f2f3 phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0xce45f9fe pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0xce494406 of_reserved_mem_device_release +EXPORT_SYMBOL_GPL vmlinux 0xce4e0279 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xce69b846 pci_find_dvsec_capability +EXPORT_SYMBOL_GPL vmlinux 0xce6db656 rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0xce79fbef tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xce7abf87 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0xceb1f126 mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0xceb4b99c klist_prev +EXPORT_SYMBOL_GPL vmlinux 0xcec516da sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xcee1641c kgdb_unregister_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xcee36cc2 irq_setup_generic_chip +EXPORT_SYMBOL_GPL vmlinux 0xcee88e7a of_overlay_fdt_apply +EXPORT_SYMBOL_GPL vmlinux 0xcf03f439 stmpe_disable +EXPORT_SYMBOL_GPL vmlinux 0xcf133159 alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0xcf147318 usb_put_hcd +EXPORT_SYMBOL_GPL vmlinux 0xcf1a775f __percpu_init_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xcf1f2a19 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0xcf233437 pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0xcf2518b0 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xcf28f55e trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0xcf2c939a crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0xcf3c2a47 rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0xcf3e440a put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xcf5143cc kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0xcf694762 clk_hw_unregister_gate +EXPORT_SYMBOL_GPL vmlinux 0xcf865692 syscon_node_to_regmap +EXPORT_SYMBOL_GPL vmlinux 0xcf878827 bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0xcf9c2ce6 tty_kopen_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xcfac6344 pnv_ocxl_map_xsl_regs +EXPORT_SYMBOL_GPL vmlinux 0xcfae7b1c iommu_add_device +EXPORT_SYMBOL_GPL vmlinux 0xcfc0255f bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0xcfc0c7aa usb_hcd_setup_local_mem +EXPORT_SYMBOL_GPL vmlinux 0xcfc5108a devlink_fmsg_u8_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xcfc7b4e4 rcu_barrier_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0xcfe2540d crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0xcfe27781 pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0xcfef1b47 switch_pmu_to_host +EXPORT_SYMBOL_GPL vmlinux 0xcff9b5c9 console_drivers +EXPORT_SYMBOL_GPL vmlinux 0xcffa9baf msg_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0xd02f1dd4 usb_get_maximum_speed +EXPORT_SYMBOL_GPL vmlinux 0xd03eaf4c schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0xd04aedfd __SCK__tp_func_arm_event +EXPORT_SYMBOL_GPL vmlinux 0xd06524ba raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd067d3c5 system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0xd087299d dev_pm_opp_of_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0xd08e8b14 of_mpc8xxx_spi_probe +EXPORT_SYMBOL_GPL vmlinux 0xd08ee3fe tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0xd0a46218 __traceiter_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0xd0ab26e3 nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0xd0ad94c1 rio_mport_read_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xd0b4b87d devm_platform_get_irqs_affinity +EXPORT_SYMBOL_GPL vmlinux 0xd0b67644 stmpe_set_bits +EXPORT_SYMBOL_GPL vmlinux 0xd0b9fdca gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0c73e57 is_software_node +EXPORT_SYMBOL_GPL vmlinux 0xd0cabd1c __rio_local_write_config_16 +EXPORT_SYMBOL_GPL vmlinux 0xd0db0f12 run_dax +EXPORT_SYMBOL_GPL vmlinux 0xd0e62485 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0xd0e81551 i2c_adapter_depth +EXPORT_SYMBOL_GPL vmlinux 0xd0e82ee7 fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0xd0f3ae97 gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0xd0f946cf tps65912_device_init +EXPORT_SYMBOL_GPL vmlinux 0xd102eaf7 lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0xd12372c1 spi_write_then_read +EXPORT_SYMBOL_GPL vmlinux 0xd12cd5e2 tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0xd12e3ef2 device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0xd13188db vfio_file_has_dev +EXPORT_SYMBOL_GPL vmlinux 0xd13d53ae trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0xd1481de7 mpi_clear +EXPORT_SYMBOL_GPL vmlinux 0xd159586c net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xd15da316 ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0xd15f8b95 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd1694779 tty_port_register_device_serdev +EXPORT_SYMBOL_GPL vmlinux 0xd16a8cef __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0xd17d152e cpufreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xd1882e65 phy_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd1917ed3 pinctrl_generic_get_group_pins +EXPORT_SYMBOL_GPL vmlinux 0xd1a9ca15 __SCK__tp_func_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0xd1aaa539 blk_queue_zone_write_granularity +EXPORT_SYMBOL_GPL vmlinux 0xd1baa424 mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0xd1cbc23c add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd1ee4285 vp_legacy_remove +EXPORT_SYMBOL_GPL vmlinux 0xd1f2eee2 nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0xd1fbdf09 regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0xd2102f76 dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd21b61bd async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0xd21f1d35 __SCK__tp_func_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0xd22f0b56 vfio_pci_core_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xd232f4e9 devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xd23436de pwm_set_chip_data +EXPORT_SYMBOL_GPL vmlinux 0xd2477509 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xd25fa61d sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0xd260af0d ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xd26aff72 virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd29038a3 ip_route_output_key_hash +EXPORT_SYMBOL_GPL vmlinux 0xd2916868 ata_pci_device_suspend +EXPORT_SYMBOL_GPL vmlinux 0xd29c1f10 __traceiter_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0xd2a53e4e usb_hcd_poll_rh_status +EXPORT_SYMBOL_GPL vmlinux 0xd2a822c7 pseries_reloc_on_exception +EXPORT_SYMBOL_GPL vmlinux 0xd2b10a05 ata_timing_find_mode +EXPORT_SYMBOL_GPL vmlinux 0xd2b978cb balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0xd2d7e59b unregister_platform_power_off +EXPORT_SYMBOL_GPL vmlinux 0xd2e7704e crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xd2fd1357 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0xd2ff8cd0 fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0xd31a2ac5 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0xd320ebaf pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0xd326630e __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0xd328042c regulator_list_hardware_vsel +EXPORT_SYMBOL_GPL vmlinux 0xd338bfb8 blk_next_bio +EXPORT_SYMBOL_GPL vmlinux 0xd3392588 watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0xd33a5aaa tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0xd345e956 ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xd3506ec1 device_register +EXPORT_SYMBOL_GPL vmlinux 0xd36760ef __usb_get_extra_descriptor +EXPORT_SYMBOL_GPL vmlinux 0xd3696945 virtio_check_mem_acc_cb +EXPORT_SYMBOL_GPL vmlinux 0xd37faf27 dev_pm_opp_get_required_pstate +EXPORT_SYMBOL_GPL vmlinux 0xd38030da clk_hw_register_fixed_factor +EXPORT_SYMBOL_GPL vmlinux 0xd3805e96 get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0xd392367f devm_register_power_off_handler +EXPORT_SYMBOL_GPL vmlinux 0xd39e9848 put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xd3a2647a md_run +EXPORT_SYMBOL_GPL vmlinux 0xd3aa83d9 phy_set_speed +EXPORT_SYMBOL_GPL vmlinux 0xd3ad38af sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0xd3b5ad98 dma_get_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0xd3bd4035 bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0xd3d4400e skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0xd3e0e017 switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0xd3e3310a __device_reset +EXPORT_SYMBOL_GPL vmlinux 0xd3eaf1ed devlink_dpipe_entry_clear +EXPORT_SYMBOL_GPL vmlinux 0xd3ec851c __traceiter_unmap +EXPORT_SYMBOL_GPL vmlinux 0xd3f0cd42 misc_cg_res_total_usage +EXPORT_SYMBOL_GPL vmlinux 0xd3fcfe2c ata_host_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd40415df dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0xd4060bfd eeh_dev_check_failure +EXPORT_SYMBOL_GPL vmlinux 0xd406bf46 usb_autopm_put_interface +EXPORT_SYMBOL_GPL vmlinux 0xd40d1da1 device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0xd41d1fe5 sdio_get_host_pm_caps +EXPORT_SYMBOL_GPL vmlinux 0xd426559c usb_unlink_urb +EXPORT_SYMBOL_GPL vmlinux 0xd42f1d4e show_rcu_tasks_rude_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0xd44a5eac kgdb_register_nmi_console +EXPORT_SYMBOL_GPL vmlinux 0xd4507256 ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0xd4523010 srp_remove_host +EXPORT_SYMBOL_GPL vmlinux 0xd457c975 sata_scr_write_flush +EXPORT_SYMBOL_GPL vmlinux 0xd4594aa4 usb_anchor_urb +EXPORT_SYMBOL_GPL vmlinux 0xd45d6a3d blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0xd45da1ae spi_mem_dirmap_write +EXPORT_SYMBOL_GPL vmlinux 0xd47bae0f input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0xd4935851 __SCK__tp_func_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0xd49e419c ata_bmdma_irq_clear +EXPORT_SYMBOL_GPL vmlinux 0xd4aeaef3 decrementers_next_tb +EXPORT_SYMBOL_GPL vmlinux 0xd4b6157e devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0xd4b9a616 reset_control_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4c4e980 pwm_get_chip_data +EXPORT_SYMBOL_GPL vmlinux 0xd4cbdbe3 __SCK__tp_func_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0xd4ddb252 blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0xd4e6d7e0 linear_range_get_value +EXPORT_SYMBOL_GPL vmlinux 0xd50be012 cpufreq_cpu_get +EXPORT_SYMBOL_GPL vmlinux 0xd5301b2c linear_range_get_max_value +EXPORT_SYMBOL_GPL vmlinux 0xd53afa1f usb_disable_autosuspend +EXPORT_SYMBOL_GPL vmlinux 0xd5474690 usb_role_switch_set_role +EXPORT_SYMBOL_GPL vmlinux 0xd55ad93b iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xd56331a6 tps6586x_irq_get_virq +EXPORT_SYMBOL_GPL vmlinux 0xd5787987 devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0xd592ed51 security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xd59a1587 linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0xd59db8dc evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0xd5aa3c87 xdp_build_skb_from_frame +EXPORT_SYMBOL_GPL vmlinux 0xd5afa49b btree_visitor +EXPORT_SYMBOL_GPL vmlinux 0xd5b1fde3 query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0xd5cbb102 mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0xd5f598a4 of_devfreq_cooling_register +EXPORT_SYMBOL_GPL vmlinux 0xd5f8a0a2 pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0xd607c9a4 __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0xd60f4c1f fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0xd62b92a4 usb_unpoison_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xd6423641 irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0xd64d7551 espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0xd64ed259 __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0xd653b126 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0xd660582a __traceiter_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0xd661d5aa blk_clear_pm_only +EXPORT_SYMBOL_GPL vmlinux 0xd665fe87 iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0xd6716021 rio_add_device +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd67aa291 tcp_bpf_update_proto +EXPORT_SYMBOL_GPL vmlinux 0xd67bea5e scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xd68179c9 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xd6932476 devm_of_phy_get_by_index +EXPORT_SYMBOL_GPL vmlinux 0xd693415e usb_queue_reset_device +EXPORT_SYMBOL_GPL vmlinux 0xd69a3904 kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0xd69edfe7 fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0xd6a43677 opal_async_release_token +EXPORT_SYMBOL_GPL vmlinux 0xd6aafb42 crc64_rocksoft +EXPORT_SYMBOL_GPL vmlinux 0xd6b0ccf2 shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0xd6bcd594 pm_stay_awake +EXPORT_SYMBOL_GPL vmlinux 0xd6bf625a btree_init_mempool +EXPORT_SYMBOL_GPL vmlinux 0xd6dcfc9e devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL vmlinux 0xd6e1ef0c pnv_ocxl_get_pasid_count +EXPORT_SYMBOL_GPL vmlinux 0xd6feefa5 agp_num_entries +EXPORT_SYMBOL_GPL vmlinux 0xd7069995 pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0xd71bc921 relay_open +EXPORT_SYMBOL_GPL vmlinux 0xd725efba device_create_managed_software_node +EXPORT_SYMBOL_GPL vmlinux 0xd727788a class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd7293ffc percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0xd73bb97a fwnode_usb_role_switch_get +EXPORT_SYMBOL_GPL vmlinux 0xd748db13 tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0xd74d2956 of_phy_simple_xlate +EXPORT_SYMBOL_GPL vmlinux 0xd74fb83c ptp_msg_is_sync +EXPORT_SYMBOL_GPL vmlinux 0xd75b20aa rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0xd75ba32e i2c_new_client_device +EXPORT_SYMBOL_GPL vmlinux 0xd76205eb ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0xd7662704 pci_iomap_wc_range +EXPORT_SYMBOL_GPL vmlinux 0xd767b28e of_clk_hw_onecell_get +EXPORT_SYMBOL_GPL vmlinux 0xd768e985 regulator_has_full_constraints +EXPORT_SYMBOL_GPL vmlinux 0xd76b9bdd pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xd76e4a35 ioremap_phb +EXPORT_SYMBOL_GPL vmlinux 0xd774957d mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0xd775a780 ohci_init_driver +EXPORT_SYMBOL_GPL vmlinux 0xd7772072 virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0xd777bc36 dev_pm_opp_get_suspend_opp_freq +EXPORT_SYMBOL_GPL vmlinux 0xd79312c5 usb_get_intf +EXPORT_SYMBOL_GPL vmlinux 0xd7933665 i2c_adapter_type +EXPORT_SYMBOL_GPL vmlinux 0xd7956c9b reset_control_get_count +EXPORT_SYMBOL_GPL vmlinux 0xd798b66c vp_modern_get_driver_features +EXPORT_SYMBOL_GPL vmlinux 0xd79baa6a ata_sas_tport_add +EXPORT_SYMBOL_GPL vmlinux 0xd7a72d5a xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0xd7b8e356 skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0xd7bad4c2 crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0xd7bca97d metadata_dst_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xd7cc63b5 crypto_register_scomps +EXPORT_SYMBOL_GPL vmlinux 0xd7cea889 edac_mod_work +EXPORT_SYMBOL_GPL vmlinux 0xd7d0766b clk_hw_set_rate_range +EXPORT_SYMBOL_GPL vmlinux 0xd7d7f2a7 devlink_port_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd7d9473d dev_pm_opp_set_rate +EXPORT_SYMBOL_GPL vmlinux 0xd7dccd23 __SCK__tp_func_xhci_dbg_quirks +EXPORT_SYMBOL_GPL vmlinux 0xd7de8ed7 udp_bpf_update_proto +EXPORT_SYMBOL_GPL vmlinux 0xd7fc8900 lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0xd80b2f5d blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0xd816cc71 dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0xd8217141 icc_sync_state +EXPORT_SYMBOL_GPL vmlinux 0xd82abf89 rio_mport_read_config_8 +EXPORT_SYMBOL_GPL vmlinux 0xd84cd368 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0xd84d35bd dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xd86c8b79 pci_ecam_map_bus +EXPORT_SYMBOL_GPL vmlinux 0xd87d354e transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd87fc0a0 usb_amd_prefetch_quirk +EXPORT_SYMBOL_GPL vmlinux 0xd8914ecf fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0xd8987304 folio_wait_stable +EXPORT_SYMBOL_GPL vmlinux 0xd89a4ce2 wwan_get_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0xd8a26cd0 _copy_from_iter_flushcache +EXPORT_SYMBOL_GPL vmlinux 0xd8bb290e set_secondary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xd8daea18 unregister_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xd8e82785 dev_pm_clear_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xd8efe8de regulator_put +EXPORT_SYMBOL_GPL vmlinux 0xd8f5818c thermal_zone_bind_cooling_device +EXPORT_SYMBOL_GPL vmlinux 0xd8fbb14d net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xd905a415 __traceiter_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xd91dbd1f xdp_alloc_skb_bulk +EXPORT_SYMBOL_GPL vmlinux 0xd91fb5f9 led_set_brightness_nopm +EXPORT_SYMBOL_GPL vmlinux 0xd92ef192 security_kernel_post_load_data +EXPORT_SYMBOL_GPL vmlinux 0xd93a96f3 io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0xd94098cf devm_nvdimm_memremap +EXPORT_SYMBOL_GPL vmlinux 0xd94113da devm_of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0xd94a3e0e vfio_pci_core_request +EXPORT_SYMBOL_GPL vmlinux 0xd96babb4 interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd971a6ce class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xd988abc9 relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0xd9a3ee6a peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd9bb076e sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0xd9d0a2af devlink_flash_update_timeout_notify +EXPORT_SYMBOL_GPL vmlinux 0xd9d9efc2 vfio_pci_core_ioctl_feature +EXPORT_SYMBOL_GPL vmlinux 0xd9e24457 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0xd9e53efc folio_wait_writeback_killable +EXPORT_SYMBOL_GPL vmlinux 0xd9e660ef regulator_bulk_set_supply_names +EXPORT_SYMBOL_GPL vmlinux 0xd9eb32ab of_genpd_parse_idle_states +EXPORT_SYMBOL_GPL vmlinux 0xd9ff2172 ezx_pcap_write +EXPORT_SYMBOL_GPL vmlinux 0xda0947de kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xda14601b ata_sff_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xda1db9e7 led_compose_name +EXPORT_SYMBOL_GPL vmlinux 0xda320d31 sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0xda37da49 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0xda41cdbd bio_start_io_acct +EXPORT_SYMBOL_GPL vmlinux 0xda46948a fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0xda77caf6 __mmc_send_status +EXPORT_SYMBOL_GPL vmlinux 0xda80eba0 devm_register_restart_handler +EXPORT_SYMBOL_GPL vmlinux 0xda820b4f devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xda8e1302 software_node_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0xdaa7077f devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0xdaae3249 platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0xdaaf8233 crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0xdab5a1eb interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0xdab69401 devm_spi_mem_dirmap_create +EXPORT_SYMBOL_GPL vmlinux 0xdabb2c14 sysfs_add_device_to_node +EXPORT_SYMBOL_GPL vmlinux 0xdacc568b gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0xdad9629f __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0xdae10826 dev_pm_opp_add +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdaf5e074 regulator_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xdb01fc81 devm_clk_get_optional_enabled +EXPORT_SYMBOL_GPL vmlinux 0xdb0d1f5a ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0xdb0ec250 ata_host_activate +EXPORT_SYMBOL_GPL vmlinux 0xdb1cab27 i2c_match_id +EXPORT_SYMBOL_GPL vmlinux 0xdb2c8daa dev_pm_opp_of_remove_table +EXPORT_SYMBOL_GPL vmlinux 0xdb3794ce emulate_vsx_load +EXPORT_SYMBOL_GPL vmlinux 0xdb504016 crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0xdb619c2a blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0xdb744794 pci_iov_virtfn_devfn +EXPORT_SYMBOL_GPL vmlinux 0xdb7a2c51 usb_hub_clear_tt_buffer +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb8e3f5b dma_run_dependencies +EXPORT_SYMBOL_GPL vmlinux 0xdb91a90b tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0xdb974d69 scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0xdba971ba sdio_f0_readb +EXPORT_SYMBOL_GPL vmlinux 0xdbb5eefe pskb_put +EXPORT_SYMBOL_GPL vmlinux 0xdbbbe533 netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0xdbc72ac2 xive_native_alloc_irq_on_chip +EXPORT_SYMBOL_GPL vmlinux 0xdbdb0e8b request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xdbddeb5a pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xdbe8d8a0 __SCK__tp_func_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xdbeeece6 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdbf6cfb1 ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdc05fcf4 regulator_get_bypass_regmap +EXPORT_SYMBOL_GPL vmlinux 0xdc0b2b5b opal_flash_write +EXPORT_SYMBOL_GPL vmlinux 0xdc144ca5 crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0xdc1a9080 uhci_check_and_reset_hc +EXPORT_SYMBOL_GPL vmlinux 0xdc2546f9 hte_push_ts_ns +EXPORT_SYMBOL_GPL vmlinux 0xdc3c889b blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0xdc426736 mmc_poll_for_busy +EXPORT_SYMBOL_GPL vmlinux 0xdc4362d5 device_initialize +EXPORT_SYMBOL_GPL vmlinux 0xdc43bdc6 pci_vpd_find_ro_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0xdc45a5db edac_stop_work +EXPORT_SYMBOL_GPL vmlinux 0xdc45f2e8 __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xdc4ba5c6 pcibios_finish_adding_to_bus +EXPORT_SYMBOL_GPL vmlinux 0xdc6596fa irq_set_parent +EXPORT_SYMBOL_GPL vmlinux 0xdc69c5cc perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0xdc737b16 cpufreq_dbs_governor_limits +EXPORT_SYMBOL_GPL vmlinux 0xdc825d6c usb_amd_quirk_pll_disable +EXPORT_SYMBOL_GPL vmlinux 0xdc841b74 misc_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdc85a662 pm_genpd_opp_to_performance_state +EXPORT_SYMBOL_GPL vmlinux 0xdc97af2e syscore_suspend +EXPORT_SYMBOL_GPL vmlinux 0xdc9f1531 scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xdc9fa232 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xdca43c05 __xas_next +EXPORT_SYMBOL_GPL vmlinux 0xdca939fb usb_submit_urb +EXPORT_SYMBOL_GPL vmlinux 0xdcb0677c nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0xdcbcffbf rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0xdcc01848 iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0xdcd131de debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0xdce00afc fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0xdcf0f054 led_put +EXPORT_SYMBOL_GPL vmlinux 0xdcf0fe4b ata_pci_sff_init_host +EXPORT_SYMBOL_GPL vmlinux 0xdd034ea6 regulator_bulk_force_disable +EXPORT_SYMBOL_GPL vmlinux 0xdd0762df set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0xdd09343d usb_put_phy +EXPORT_SYMBOL_GPL vmlinux 0xdd14729c pinctrl_find_gpio_range_from_pin_nolock +EXPORT_SYMBOL_GPL vmlinux 0xdd14e7f1 inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0xdd2148d7 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0xdd2bbd5f fscrypt_parse_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0xdd3710e1 metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0xdd42b8bf edac_get_sysfs_subsys +EXPORT_SYMBOL_GPL vmlinux 0xdd450ef1 x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0xdd626ee3 fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0xdd6a006d balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0xdd6e141e wm831x_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xdd724d00 fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0xdd81d8f6 __SCK__tp_func_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xdd9ac3e7 __clk_hw_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0xdda65ab2 sata_port_ops +EXPORT_SYMBOL_GPL vmlinux 0xdda73eaa __traceiter_block_split +EXPORT_SYMBOL_GPL vmlinux 0xdda92bad ata_sff_error_handler +EXPORT_SYMBOL_GPL vmlinux 0xddbeeecc pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0xddd594a3 spi_bus_unlock +EXPORT_SYMBOL_GPL vmlinux 0xddd7514a dev_pm_opp_sync_regulators +EXPORT_SYMBOL_GPL vmlinux 0xdde9534a page_endio +EXPORT_SYMBOL_GPL vmlinux 0xddee3a1b nvdimm_region_notify +EXPORT_SYMBOL_GPL vmlinux 0xddf32520 __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xddf3bb22 gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0xddf8c09d pinctrl_pm_select_sleep_state +EXPORT_SYMBOL_GPL vmlinux 0xde0e5f79 gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0xde103b14 wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0xde1daf1c __devm_of_phy_provider_register +EXPORT_SYMBOL_GPL vmlinux 0xde22996e usb_hcd_unlink_urb_from_ep +EXPORT_SYMBOL_GPL vmlinux 0xde24dc3a crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0xde31bf7e unregister_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0xde3ceba4 tcf_dev_queue_xmit +EXPORT_SYMBOL_GPL vmlinux 0xde4cc848 bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0xde6f1851 TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0xde7f578e pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xde902d76 regulator_enable +EXPORT_SYMBOL_GPL vmlinux 0xde9989cb gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0xdeb95144 fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0xded85872 regulator_get_linear_step +EXPORT_SYMBOL_GPL vmlinux 0xded8c0e9 fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0xdee91d7a dtpm_destroy_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xdee9ac6e phy_remove_lookup +EXPORT_SYMBOL_GPL vmlinux 0xdef20b41 fuse_dev_fiq_ops +EXPORT_SYMBOL_GPL vmlinux 0xdeffa0a7 edac_raw_mc_handle_error +EXPORT_SYMBOL_GPL vmlinux 0xdf015b6c __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0xdf022714 dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0xdf0c757f ata_tf_to_fis +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf1620b1 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xdf179f53 sata_sff_hardreset +EXPORT_SYMBOL_GPL vmlinux 0xdf1d55c8 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0xdf1e9cfa btree_destroy +EXPORT_SYMBOL_GPL vmlinux 0xdf2738bb cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdf3413ec gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xdf43e19b disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xdf55e0b4 dev_pm_genpd_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xdf5a0518 devm_nvmem_device_put +EXPORT_SYMBOL_GPL vmlinux 0xdf861903 phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL vmlinux 0xdf86b5b2 device_set_wakeup_enable +EXPORT_SYMBOL_GPL vmlinux 0xdf93acd3 sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0xdfa44314 pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0xdfb8ddce clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0xdfbfc1ca i2c_client_type +EXPORT_SYMBOL_GPL vmlinux 0xdfcb6c90 mctrl_gpio_set +EXPORT_SYMBOL_GPL vmlinux 0xdfcf76fc wakeup_source_create +EXPORT_SYMBOL_GPL vmlinux 0xdfcfc497 __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xdfd5bcc9 iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0xdfe288dd wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0xdff568cb klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xdffe1d21 led_trigger_remove +EXPORT_SYMBOL_GPL vmlinux 0xe0008f17 usb_get_from_anchor +EXPORT_SYMBOL_GPL vmlinux 0xe00a2b43 of_clk_get_parent_name +EXPORT_SYMBOL_GPL vmlinux 0xe02d2ecf sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0xe03ce21c mptcp_token_get_sock +EXPORT_SYMBOL_GPL vmlinux 0xe045d69e __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0xe05bace5 platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0xe05e2f85 nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe0766831 uart_handle_cts_change +EXPORT_SYMBOL_GPL vmlinux 0xe089cfcc agp_memory_reserved +EXPORT_SYMBOL_GPL vmlinux 0xe09a5c22 mddev_init +EXPORT_SYMBOL_GPL vmlinux 0xe09e281f debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0xe0b1c103 clk_set_max_rate +EXPORT_SYMBOL_GPL vmlinux 0xe0c1557b __pm_relax +EXPORT_SYMBOL_GPL vmlinux 0xe0c80971 __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0xe0e1dab7 mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0xe0e75214 cpufreq_disable_fast_switch +EXPORT_SYMBOL_GPL vmlinux 0xe0e96594 of_alias_get_id +EXPORT_SYMBOL_GPL vmlinux 0xe0eded2e sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0xe0f1fca7 fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xe1084c43 ata_sff_data_xfer32 +EXPORT_SYMBOL_GPL vmlinux 0xe108d302 trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0xe10a7510 kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0xe10d521a subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0xe1108cc0 genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL vmlinux 0xe122e1ea register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xe147c0f1 dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0xe14bda54 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0xe14d37c9 nd_cmd_out_size +EXPORT_SYMBOL_GPL vmlinux 0xe157df5b ata_scsi_queuecmd +EXPORT_SYMBOL_GPL vmlinux 0xe157f851 dev_pm_opp_get_sharing_cpus +EXPORT_SYMBOL_GPL vmlinux 0xe161b07b trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0xe1775ee7 dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0xe17dce4c pci_hp_add_devices +EXPORT_SYMBOL_GPL vmlinux 0xe1886040 devm_regmap_add_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xe194bfa7 crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0xe1ae0dd6 clk_register_composite +EXPORT_SYMBOL_GPL vmlinux 0xe1bd6c99 rio_init_mports +EXPORT_SYMBOL_GPL vmlinux 0xe1c87a2f kernel_can_power_off +EXPORT_SYMBOL_GPL vmlinux 0xe1d4db89 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xe20baeb3 freq_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0xe20f96b7 pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe23100bb ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0xe233762a input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0xe2389706 __traceiter_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0xe246aa01 dax_writeback_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0xe2656f4d ata_cable_40wire +EXPORT_SYMBOL_GPL vmlinux 0xe2691fe2 pm_clk_add_clk +EXPORT_SYMBOL_GPL vmlinux 0xe2a2e015 ip4_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0xe2a34bb3 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0xe2b0c200 dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0xe2b3207a unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe2ce2b4d evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0xe2d06ffe of_hte_req_count +EXPORT_SYMBOL_GPL vmlinux 0xe2d7fa4a gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xe2daeed8 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0xe2db6343 kvmppc_clear_ref_hpte +EXPORT_SYMBOL_GPL vmlinux 0xe2e718d2 gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xe2ee4153 pci_ecam_create +EXPORT_SYMBOL_GPL vmlinux 0xe2f13fae fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0xe3126ce1 ata_sas_port_resume +EXPORT_SYMBOL_GPL vmlinux 0xe31315a4 spi_delay_exec +EXPORT_SYMBOL_GPL vmlinux 0xe329109d kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xe33838a5 pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0xe352a378 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0xe353bbbe nvmem_cell_read_u64 +EXPORT_SYMBOL_GPL vmlinux 0xe365b568 icc_node_del +EXPORT_SYMBOL_GPL vmlinux 0xe37278df gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0xe374c7b9 gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0xe37a17ca gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0xe3840e18 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xe390a782 phy_pm_runtime_get_sync +EXPORT_SYMBOL_GPL vmlinux 0xe390ae99 locks_owner_has_blockers +EXPORT_SYMBOL_GPL vmlinux 0xe397caf5 seq_buf_printf +EXPORT_SYMBOL_GPL vmlinux 0xe39d0794 usb_phy_roothub_exit +EXPORT_SYMBOL_GPL vmlinux 0xe3aeaa03 freq_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe3b09712 kprobe_event_delete +EXPORT_SYMBOL_GPL vmlinux 0xe3bc6d43 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0xe3d000e1 nvdimm_in_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xe3e423ac iommu_group_release_dma_owner +EXPORT_SYMBOL_GPL vmlinux 0xe3e8d39b vfio_pci_core_finish_enable +EXPORT_SYMBOL_GPL vmlinux 0xe40bb23e devlink_health_reporter_priv +EXPORT_SYMBOL_GPL vmlinux 0xe4106b5b crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0xe418080d usb_get_current_frame_number +EXPORT_SYMBOL_GPL vmlinux 0xe4213bb9 bpf_trace_run7 +EXPORT_SYMBOL_GPL vmlinux 0xe4309905 syscore_resume +EXPORT_SYMBOL_GPL vmlinux 0xe4352b0b inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0xe4409599 blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0xe447900b list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0xe44ed72e scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0xe462fe87 bus_register +EXPORT_SYMBOL_GPL vmlinux 0xe46de43a cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0xe4719378 nvmem_cell_read_u32 +EXPORT_SYMBOL_GPL vmlinux 0xe490d589 __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe493c0a0 ata_sff_thaw +EXPORT_SYMBOL_GPL vmlinux 0xe4971ade tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xe4a5eb4d pci_pri_supported +EXPORT_SYMBOL_GPL vmlinux 0xe4b064f9 pcie_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xe4b818c3 phy_speed_to_str +EXPORT_SYMBOL_GPL vmlinux 0xe4c2c66c rtc_ktime_to_tm +EXPORT_SYMBOL_GPL vmlinux 0xe4d0202e gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0xe4d3747e pci_epc_put +EXPORT_SYMBOL_GPL vmlinux 0xe4d6b17e __devm_regmap_init_i2c +EXPORT_SYMBOL_GPL vmlinux 0xe4e48b12 swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0xe4e8d6ee of_reconfig_get_state_change +EXPORT_SYMBOL_GPL vmlinux 0xe4edb150 sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xe50227c4 clk_multiplier_ops +EXPORT_SYMBOL_GPL vmlinux 0xe504cd3a led_set_brightness_nosleep +EXPORT_SYMBOL_GPL vmlinux 0xe5220151 serial8250_clear_and_reinit_fifos +EXPORT_SYMBOL_GPL vmlinux 0xe52f07e4 ehci_hub_control +EXPORT_SYMBOL_GPL vmlinux 0xe530a31e sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0xe5314605 rtc_read_time +EXPORT_SYMBOL_GPL vmlinux 0xe53d23ca max8997_write_reg +EXPORT_SYMBOL_GPL vmlinux 0xe543ed43 wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0xe549ff19 usb_free_coherent +EXPORT_SYMBOL_GPL vmlinux 0xe54a1482 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0xe553ae94 irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0xe559dd14 iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0xe5664946 of_prop_next_u32 +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe58fbf4d pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0xe59b4f2b pci_hp_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe5a13511 scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0xe5a7d1a7 sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0xe5a7e1bb devl_port_register +EXPORT_SYMBOL_GPL vmlinux 0xe5b7e857 ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xe5c5251c dev_pm_opp_is_turbo +EXPORT_SYMBOL_GPL vmlinux 0xe5c93a35 sk_msg_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0xe5d126ac fscrypt_set_bio_crypt_ctx_bh +EXPORT_SYMBOL_GPL vmlinux 0xe5da850c dma_mmap_pages +EXPORT_SYMBOL_GPL vmlinux 0xe5ec503b __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xe5eeaddc blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0xe5eefd90 bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0xe60632a9 edac_queue_work +EXPORT_SYMBOL_GPL vmlinux 0xe60a5e8d pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xe60d36b2 regmap_test_bits +EXPORT_SYMBOL_GPL vmlinux 0xe616a64d devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0xe62430f8 of_msi_configure +EXPORT_SYMBOL_GPL vmlinux 0xe628bb9f phy_fibre_port_array +EXPORT_SYMBOL_GPL vmlinux 0xe649721d copro_calculate_slb +EXPORT_SYMBOL_GPL vmlinux 0xe65028c4 serial8250_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xe6658b50 usb_kill_anchored_urbs +EXPORT_SYMBOL_GPL vmlinux 0xe68f245f thermal_zone_of_get_sensor_id +EXPORT_SYMBOL_GPL vmlinux 0xe694efc0 invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xe6a13e7d xive_native_configure_irq +EXPORT_SYMBOL_GPL vmlinux 0xe6a458bd regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0xe6c36bf9 edac_mc_del_mc +EXPORT_SYMBOL_GPL vmlinux 0xe6c59685 subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0xe6d1cb56 strp_process +EXPORT_SYMBOL_GPL vmlinux 0xe6da9667 fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0xe6e1e6a0 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xe6e40502 rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0xe6e6b684 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xe6f30ab9 srp_rport_del +EXPORT_SYMBOL_GPL vmlinux 0xe6f923b7 usb_deregister_device_driver +EXPORT_SYMBOL_GPL vmlinux 0xe700d767 reset_control_bulk_deassert +EXPORT_SYMBOL_GPL vmlinux 0xe70b0a75 fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0xe70f7a2d led_init_default_state_get +EXPORT_SYMBOL_GPL vmlinux 0xe71f4dd9 kvmppc_h_enter +EXPORT_SYMBOL_GPL vmlinux 0xe71fe38a trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0xe72961e5 ata_scsi_slave_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe72c0af5 sbitmap_weight +EXPORT_SYMBOL_GPL vmlinux 0xe731fdda find_vpid +EXPORT_SYMBOL_GPL vmlinux 0xe735ffea regulator_list_voltage +EXPORT_SYMBOL_GPL vmlinux 0xe74a9d41 __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xe753b68d devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe77469c0 screen_pos +EXPORT_SYMBOL_GPL vmlinux 0xe77a61c7 hwmon_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe77e8748 mctp_register_netdev +EXPORT_SYMBOL_GPL vmlinux 0xe783e261 sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0xe78b8e29 l3mdev_table_lookup_register +EXPORT_SYMBOL_GPL vmlinux 0xe79bf0c4 klp_shadow_get +EXPORT_SYMBOL_GPL vmlinux 0xe7abe34c fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0xe7be906b xive_irq_free_data +EXPORT_SYMBOL_GPL vmlinux 0xe7c48dab vfio_virqfd_enable +EXPORT_SYMBOL_GPL vmlinux 0xe7cbfa88 dw_pcie_own_conf_map_bus +EXPORT_SYMBOL_GPL vmlinux 0xe7cfeb3b nvmem_device_find +EXPORT_SYMBOL_GPL vmlinux 0xe7d34db2 opal_async_wait_response +EXPORT_SYMBOL_GPL vmlinux 0xe7d6d2d4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xe7d8eea8 i2c_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xe7df6c8c init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0xe7f18b3c threads_per_subcore +EXPORT_SYMBOL_GPL vmlinux 0xe7fdf420 tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0xe80fe8ac devm_nvmem_device_get +EXPORT_SYMBOL_GPL vmlinux 0xe8120c29 devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0xe818b32b ata_bmdma_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xe8256262 ata_noop_qc_prep +EXPORT_SYMBOL_GPL vmlinux 0xe82ba21a irq_domain_update_bus_token +EXPORT_SYMBOL_GPL vmlinux 0xe84f6e5c pciserial_remove_ports +EXPORT_SYMBOL_GPL vmlinux 0xe862c4b7 dpm_suspend_start +EXPORT_SYMBOL_GPL vmlinux 0xe87546b7 component_del +EXPORT_SYMBOL_GPL vmlinux 0xe876a1c1 of_icc_bulk_get +EXPORT_SYMBOL_GPL vmlinux 0xe878b210 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0xe880593a edac_pci_handle_npe +EXPORT_SYMBOL_GPL vmlinux 0xe889ba0b crypto_stats_rng_seed +EXPORT_SYMBOL_GPL vmlinux 0xe898231d vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL vmlinux 0xe8a844c9 devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0xe8c0065d memory_group_register_static +EXPORT_SYMBOL_GPL vmlinux 0xe8c389ce __irq_resolve_mapping +EXPORT_SYMBOL_GPL vmlinux 0xe8d47226 of_dma_request_slave_channel +EXPORT_SYMBOL_GPL vmlinux 0xe8d6c181 crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0xe8e42d4f blocking_notifier_chain_register_unique_prio +EXPORT_SYMBOL_GPL vmlinux 0xe8fef48a ata_host_alloc_pinfo +EXPORT_SYMBOL_GPL vmlinux 0xe909eee3 usb_anchor_empty +EXPORT_SYMBOL_GPL vmlinux 0xe90c9559 tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0xe9108361 kgdb_register_io_module +EXPORT_SYMBOL_GPL vmlinux 0xe911df29 eventfd_ctx_do_read +EXPORT_SYMBOL_GPL vmlinux 0xe927225b ata_bmdma_status +EXPORT_SYMBOL_GPL vmlinux 0xe93b29b4 blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0xe93bd43b platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0xe93c6442 sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0xe93c9616 of_pwm_xlate_with_flags +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe9441e8c __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0xe9506579 iommu_tce_direction +EXPORT_SYMBOL_GPL vmlinux 0xe9537e88 start_poll_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0xe96b2488 securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xe96f996c dev_pm_genpd_suspend +EXPORT_SYMBOL_GPL vmlinux 0xe976d6f4 rio_unregister_mport +EXPORT_SYMBOL_GPL vmlinux 0xe9799a4a cpu_add_dev_attr_group +EXPORT_SYMBOL_GPL vmlinux 0xe985280e device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xe988fde6 cpufreq_dbs_governor_start +EXPORT_SYMBOL_GPL vmlinux 0xe9a067db call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0xe9a070b4 fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0xe9a15ce8 cpufreq_freq_transition_end +EXPORT_SYMBOL_GPL vmlinux 0xe9b0aed9 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0xe9d1b7cf irq_to_pcap +EXPORT_SYMBOL_GPL vmlinux 0xe9e48642 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0xe9f246d6 int_active_memcg +EXPORT_SYMBOL_GPL vmlinux 0xe9f5116f rcu_exp_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0xea01147e iommu_take_ownership +EXPORT_SYMBOL_GPL vmlinux 0xea018bbb mpi_test_bit +EXPORT_SYMBOL_GPL vmlinux 0xea084b73 simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0xea095ba9 dmaengine_desc_set_metadata_len +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea32557f ata_bmdma_port_intr +EXPORT_SYMBOL_GPL vmlinux 0xea329b38 devm_regulator_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xea38036f ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xea3a23f3 public_key_free +EXPORT_SYMBOL_GPL vmlinux 0xea55248d pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0xea585d64 devm_phy_get +EXPORT_SYMBOL_GPL vmlinux 0xea614e0a mbox_flush +EXPORT_SYMBOL_GPL vmlinux 0xea6adaa6 ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0xea6dd543 __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0xea772b1d i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL vmlinux 0xea88c866 copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0xea93009b vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xea932c76 bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0xea9d1fee of_pci_range_parser_one +EXPORT_SYMBOL_GPL vmlinux 0xeab0a321 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xeac6c543 fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0xead035ee __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xead3e41b __traceiter_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xead486fd crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0xead54924 mctrl_gpio_to_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xead5c8e5 clk_bulk_prepare +EXPORT_SYMBOL_GPL vmlinux 0xead655f3 gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0xeadb8e62 devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xeadf72e1 tm_abort +EXPORT_SYMBOL_GPL vmlinux 0xeae0a27c register_nvdimm_pmu +EXPORT_SYMBOL_GPL vmlinux 0xeae0f496 clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0xeaf0a57c look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0xeaf3cb23 crc64_be +EXPORT_SYMBOL_GPL vmlinux 0xeaf8b1c6 dma_free_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0xeb1a4f29 opal_error_code +EXPORT_SYMBOL_GPL vmlinux 0xeb1e1f2c tc3589x_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xeb49b14c xdp_return_buff +EXPORT_SYMBOL_GPL vmlinux 0xeb4ac9b8 of_genpd_del_provider +EXPORT_SYMBOL_GPL vmlinux 0xeb556019 regmap_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0xeb5a946a inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0xeb5d59ae fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0xeb5e0946 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xeb61cb78 sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0xeb6a1489 uart_console_device +EXPORT_SYMBOL_GPL vmlinux 0xeb735af2 gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0xeb89335f serial8250_rpm_get_tx +EXPORT_SYMBOL_GPL vmlinux 0xeb9c71e6 pnv_ocxl_spa_setup +EXPORT_SYMBOL_GPL vmlinux 0xeba7c0fe pci_traverse_device_nodes +EXPORT_SYMBOL_GPL vmlinux 0xebafaa27 ata_port_wait_eh +EXPORT_SYMBOL_GPL vmlinux 0xebc665cd of_platform_populate +EXPORT_SYMBOL_GPL vmlinux 0xebc9a09f lock_system_sleep +EXPORT_SYMBOL_GPL vmlinux 0xebd4cc11 mctrl_gpio_enable_ms +EXPORT_SYMBOL_GPL vmlinux 0xebd84751 clk_register_fixed_rate +EXPORT_SYMBOL_GPL vmlinux 0xebdae8ec ata_ehi_clear_desc +EXPORT_SYMBOL_GPL vmlinux 0xebe8aa4e devm_namespace_enable +EXPORT_SYMBOL_GPL vmlinux 0xebf38ef1 devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0xec000c9c regmap_field_bulk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xec1fdcde __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0xec223099 ata_cable_unknown +EXPORT_SYMBOL_GPL vmlinux 0xec2eb52f perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0xec356c53 msr_check_and_set +EXPORT_SYMBOL_GPL vmlinux 0xec3df6a7 ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0xec425449 validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0xec472932 __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0xec5668f6 dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0xec7598d3 __traceiter_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0xec774acb cpufreq_frequency_table_verify +EXPORT_SYMBOL_GPL vmlinux 0xec7795c5 sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xec7910e1 phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0xec7f1196 gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0xec84bfb9 opal_leds_get_ind +EXPORT_SYMBOL_GPL vmlinux 0xec945678 of_phy_put +EXPORT_SYMBOL_GPL vmlinux 0xec96dd4f wm8350_reg_read +EXPORT_SYMBOL_GPL vmlinux 0xecb6843a usb_hcd_is_primary_hcd +EXPORT_SYMBOL_GPL vmlinux 0xecb8d93d adp5520_read +EXPORT_SYMBOL_GPL vmlinux 0xecde268a ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0xecf7c81d thermal_of_cooling_device_register +EXPORT_SYMBOL_GPL vmlinux 0xed0b0460 virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0xed102c35 sch_frag_xmit_hook +EXPORT_SYMBOL_GPL vmlinux 0xed14485f driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0xed1a7cc6 rio_release_dma +EXPORT_SYMBOL_GPL vmlinux 0xed223985 pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0xed2c5bcf power_supply_charge_behaviour_parse +EXPORT_SYMBOL_GPL vmlinux 0xed39b7b8 parse_OID +EXPORT_SYMBOL_GPL vmlinux 0xed609e50 uart_insert_char +EXPORT_SYMBOL_GPL vmlinux 0xed66ed06 vfio_register_emulated_iommu_dev +EXPORT_SYMBOL_GPL vmlinux 0xed78edda __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0xed7f244a transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0xed8c384b netdev_xmit_skip_txqueue +EXPORT_SYMBOL_GPL vmlinux 0xed918dde hte_init_line_attr +EXPORT_SYMBOL_GPL vmlinux 0xed9c3bee crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xed9f242f thermal_zone_get_offset +EXPORT_SYMBOL_GPL vmlinux 0xedd4651b devm_usb_get_phy_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xedd78d52 md_stop +EXPORT_SYMBOL_GPL vmlinux 0xedda264d ohci_resume +EXPORT_SYMBOL_GPL vmlinux 0xeddc0d85 virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0xedddac8c of_mm_gpiochip_add_data +EXPORT_SYMBOL_GPL vmlinux 0xede47987 crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xededf880 rtc_alarm_irq_enable +EXPORT_SYMBOL_GPL vmlinux 0xedf62e9b devlink_rate_leaf_create +EXPORT_SYMBOL_GPL vmlinux 0xee0044ce kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0xee0d7488 dev_pm_opp_get_freq +EXPORT_SYMBOL_GPL vmlinux 0xee19590a led_set_brightness_sync +EXPORT_SYMBOL_GPL vmlinux 0xee1aa8e8 pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xee1f5126 __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xee25d33b pci_host_common_probe +EXPORT_SYMBOL_GPL vmlinux 0xee320db0 ata_bmdma_qc_issue +EXPORT_SYMBOL_GPL vmlinux 0xee38ef57 register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee3d4471 nvdimm_has_cache +EXPORT_SYMBOL_GPL vmlinux 0xee4bd57f of_device_modalias +EXPORT_SYMBOL_GPL vmlinux 0xee518148 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0xee52a638 tps6586x_clr_bits +EXPORT_SYMBOL_GPL vmlinux 0xee6b71c4 syscon_regmap_lookup_by_compatible +EXPORT_SYMBOL_GPL vmlinux 0xee6c633a devices_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xee6da522 blk_crypto_profile_destroy +EXPORT_SYMBOL_GPL vmlinux 0xee8da70e crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0xeea02d33 bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0xeeab776b blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0xeeca57c1 __traceiter_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0xeed0cea4 kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xeed26b3a gov_attr_set_init +EXPORT_SYMBOL_GPL vmlinux 0xeed5b0e0 xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0xeed5c499 pm_runtime_set_memalloc_noio +EXPORT_SYMBOL_GPL vmlinux 0xeedd987e phy_10gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0xeee0c291 pfn_to_online_page +EXPORT_SYMBOL_GPL vmlinux 0xeeef240c __regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xeef0f10d devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0xeefa5221 init_phb_dynamic +EXPORT_SYMBOL_GPL vmlinux 0xef03802e pm_generic_poweroff_late +EXPORT_SYMBOL_GPL vmlinux 0xef12de7c task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0xef198c96 fb_bl_default_curve +EXPORT_SYMBOL_GPL vmlinux 0xef225b6e dev_pm_opp_get_voltage +EXPORT_SYMBOL_GPL vmlinux 0xef29fcdd clk_bulk_put +EXPORT_SYMBOL_GPL vmlinux 0xef327223 sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0xef464c28 getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0xef4ca87e fscrypt_set_bio_crypt_ctx +EXPORT_SYMBOL_GPL vmlinux 0xef5be910 tty_find_polling_driver +EXPORT_SYMBOL_GPL vmlinux 0xef5db66d regulator_get_init_drvdata +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef6d0376 opal_invalid_call +EXPORT_SYMBOL_GPL vmlinux 0xef70eb7e ring_buffer_iter_advance +EXPORT_SYMBOL_GPL vmlinux 0xef830c5e show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0xef8dfa2d devm_mipi_dsi_attach +EXPORT_SYMBOL_GPL vmlinux 0xef93d3f8 list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0xef9d49b0 gpiod_enable_hw_timestamp_ns +EXPORT_SYMBOL_GPL vmlinux 0xefa2c27d register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefcc2dfd lp8788_write_byte +EXPORT_SYMBOL_GPL vmlinux 0xefcfd081 __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0xefd7a47f of_pci_find_child_device +EXPORT_SYMBOL_GPL vmlinux 0xefe9363e ioc_find_get_icq +EXPORT_SYMBOL_GPL vmlinux 0xefeac955 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0xefeafcf1 edac_has_mcs +EXPORT_SYMBOL_GPL vmlinux 0xf009cea7 wm8350_reg_unlock +EXPORT_SYMBOL_GPL vmlinux 0xf00fb170 fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0xf01d340c crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0xf027525b of_dma_is_coherent +EXPORT_SYMBOL_GPL vmlinux 0xf030b816 hwpoison_filter +EXPORT_SYMBOL_GPL vmlinux 0xf033aff2 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0xf03fafe9 sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0xf05a52fe asn1_encode_oid +EXPORT_SYMBOL_GPL vmlinux 0xf05fbf09 pci_pio_to_address +EXPORT_SYMBOL_GPL vmlinux 0xf06d5de3 subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xf07bd09d wm8400_reset_codec_reg_cache +EXPORT_SYMBOL_GPL vmlinux 0xf07e539c tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0xf0910075 sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0xf0a5ebae synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0xf0b18c51 phy_select_page +EXPORT_SYMBOL_GPL vmlinux 0xf0b2e511 pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0xf0b9ef32 cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0xf0d287f8 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0xf0f150b0 pinctrl_parse_index_with_args +EXPORT_SYMBOL_GPL vmlinux 0xf0ffc315 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0xf137d49b ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0xf14317ef devl_rate_nodes_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf14ec097 devfreq_event_reset_event +EXPORT_SYMBOL_GPL vmlinux 0xf17ae215 usb_device_match_id +EXPORT_SYMBOL_GPL vmlinux 0xf1804287 cxl_afu_put +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf18de2fc __clk_mux_determine_rate_closest +EXPORT_SYMBOL_GPL vmlinux 0xf18e4ed2 dev_pm_disable_wake_irq +EXPORT_SYMBOL_GPL vmlinux 0xf1980932 pci_hp_del +EXPORT_SYMBOL_GPL vmlinux 0xf1a62b6f of_i8042_kbd_irq +EXPORT_SYMBOL_GPL vmlinux 0xf1bab6d7 vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xf1c2bafe irq_force_affinity +EXPORT_SYMBOL_GPL vmlinux 0xf1c87c82 bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0xf1d2cc58 dev_attr_ncq_prio_enable +EXPORT_SYMBOL_GPL vmlinux 0xf1ee01f3 fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0xf1f36947 irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xf204d6db wm8350_device_init +EXPORT_SYMBOL_GPL vmlinux 0xf21e1f9b disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xf22db504 of_usb_get_dr_mode_by_phy +EXPORT_SYMBOL_GPL vmlinux 0xf261af3f bpf_trace_run12 +EXPORT_SYMBOL_GPL vmlinux 0xf267c862 pwm_put +EXPORT_SYMBOL_GPL vmlinux 0xf2716698 is_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0xf27a0b0a device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0xf27b3af5 gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0xf28404cf devlink_dpipe_header_ipv6 +EXPORT_SYMBOL_GPL vmlinux 0xf28f66ea dma_free_pages +EXPORT_SYMBOL_GPL vmlinux 0xf291a3fd fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0xf29296b0 blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0xf2967796 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0xf2a0e0e5 blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0xf2ad1eba platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0xf2b33cb7 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xf2cc5e63 gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0xf2f0b73a xive_native_get_vp_state +EXPORT_SYMBOL_GPL vmlinux 0xf2f28652 unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0xf2f81554 dev_pm_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xf2fb61bd vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0xf30a5502 cpufreq_enable_boost_support +EXPORT_SYMBOL_GPL vmlinux 0xf30bdd4c device_pm_wait_for_dev +EXPORT_SYMBOL_GPL vmlinux 0xf311e156 key_being_used_for +EXPORT_SYMBOL_GPL vmlinux 0xf31632e0 ezx_pcap_read +EXPORT_SYMBOL_GPL vmlinux 0xf316673b kick_process +EXPORT_SYMBOL_GPL vmlinux 0xf319c605 vas_copy_crb +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf32ed297 dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0xf331236f btree_geo32 +EXPORT_SYMBOL_GPL vmlinux 0xf336519a usb_autopm_get_interface_async +EXPORT_SYMBOL_GPL vmlinux 0xf348b18b vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xf352023f memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xf353664d set_thread_tidr +EXPORT_SYMBOL_GPL vmlinux 0xf35ac6b3 clk_divider_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xf35cbfb5 irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0xf36c36ff hwspin_lock_request_specific +EXPORT_SYMBOL_GPL vmlinux 0xf36dd131 ohci_suspend +EXPORT_SYMBOL_GPL vmlinux 0xf36ea3ec vp_legacy_get_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0xf370ca76 spi_take_timestamp_pre +EXPORT_SYMBOL_GPL vmlinux 0xf372e01b blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0xf37359fd regulator_suspend_enable +EXPORT_SYMBOL_GPL vmlinux 0xf378d95e rtc_set_alarm +EXPORT_SYMBOL_GPL vmlinux 0xf3797506 mpi_ec_deinit +EXPORT_SYMBOL_GPL vmlinux 0xf37e837a cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0xf3808cb1 get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf3a3219f component_add +EXPORT_SYMBOL_GPL vmlinux 0xf3a3cf11 nf_route +EXPORT_SYMBOL_GPL vmlinux 0xf3b443eb rio_lock_device +EXPORT_SYMBOL_GPL vmlinux 0xf3b451ca kdb_poll_funcs +EXPORT_SYMBOL_GPL vmlinux 0xf3cdf723 syscon_regmap_lookup_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xf3de6741 usb_root_hub_lost_power +EXPORT_SYMBOL_GPL vmlinux 0xf3e34b2e perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0xf3eaf867 rio_route_get_entry +EXPORT_SYMBOL_GPL vmlinux 0xf3f04cd0 blk_mq_sched_mark_restart_hctx +EXPORT_SYMBOL_GPL vmlinux 0xf41071a5 regulator_register +EXPORT_SYMBOL_GPL vmlinux 0xf4211abe devfreq_get_devfreq_by_phandle +EXPORT_SYMBOL_GPL vmlinux 0xf4689d50 linkmode_set_pause +EXPORT_SYMBOL_GPL vmlinux 0xf46f7c73 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xf4703c9a irq_gc_noop +EXPORT_SYMBOL_GPL vmlinux 0xf47654df irq_check_status_bit +EXPORT_SYMBOL_GPL vmlinux 0xf47ecda3 usb_sg_wait +EXPORT_SYMBOL_GPL vmlinux 0xf47f09da blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0xf48e7769 __pci_hp_initialize +EXPORT_SYMBOL_GPL vmlinux 0xf4959e1d find_mci_by_dev +EXPORT_SYMBOL_GPL vmlinux 0xf4a00349 __tracepoint_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0xf4af35c2 rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0xf4bd1486 agp_remove_bridge +EXPORT_SYMBOL_GPL vmlinux 0xf4c994f5 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0xf4c9ea7f trace_array_printk +EXPORT_SYMBOL_GPL vmlinux 0xf4cd9f8f reset_control_bulk_release +EXPORT_SYMBOL_GPL vmlinux 0xf4e5e031 pwm_free +EXPORT_SYMBOL_GPL vmlinux 0xf51498ae rio_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xf515821d phy_basic_features +EXPORT_SYMBOL_GPL vmlinux 0xf525fbd6 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0xf52dc7d6 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0xf5464aa9 blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0xf548a180 governor_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0xf54946bd __clk_determine_rate +EXPORT_SYMBOL_GPL vmlinux 0xf549e897 dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553318d cpuidle_pause_and_lock +EXPORT_SYMBOL_GPL vmlinux 0xf56b8991 fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0xf574c34b scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0xf58458e6 dm_disk +EXPORT_SYMBOL_GPL vmlinux 0xf59d1cd4 __traceiter_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xf5a067bf iommu_group_dma_owner_claimed +EXPORT_SYMBOL_GPL vmlinux 0xf5a3ba99 linear_range_values_in_range +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5b372e3 rio_request_inb_mbox +EXPORT_SYMBOL_GPL vmlinux 0xf5b70697 bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0xf5c62cc0 pinctrl_utils_free_map +EXPORT_SYMBOL_GPL vmlinux 0xf5c7708c __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0xf5ca2deb irq_gc_set_wake +EXPORT_SYMBOL_GPL vmlinux 0xf5cd3243 pnv_ocxl_spa_remove_pe_from_cache +EXPORT_SYMBOL_GPL vmlinux 0xf5cd84e7 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xf5d19182 synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0xf5f370e0 async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0xf5f71b7d sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0xf6000b44 devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0xf603b454 __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0xf6060178 perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0xf6148ae7 led_trigger_register +EXPORT_SYMBOL_GPL vmlinux 0xf61ad5af kernstart_virt_addr +EXPORT_SYMBOL_GPL vmlinux 0xf6246e67 extcon_set_property_sync +EXPORT_SYMBOL_GPL vmlinux 0xf624e519 sdio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xf63961c6 rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0xf63affe6 __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0xf64ce724 mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0xf64f0f5c get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0xf663ee2f pcap_adc_sync +EXPORT_SYMBOL_GPL vmlinux 0xf6650caa tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0xf66ef60c ata_sff_softreset +EXPORT_SYMBOL_GPL vmlinux 0xf684f795 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0xf6908867 devm_regmap_del_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xf6a0c9ba platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xf6a28554 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0xf6a7134f iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0xf6beb116 __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0xf6beee37 __SCK__tp_func_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xf6c15090 regulator_set_voltage_rdev +EXPORT_SYMBOL_GPL vmlinux 0xf6c46c01 bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf6c8dc62 cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0xf6e05d25 rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0xf6e3d6fb devm_phy_optional_get +EXPORT_SYMBOL_GPL vmlinux 0xf6e6e698 devm_usb_get_phy_by_node +EXPORT_SYMBOL_GPL vmlinux 0xf6e772c3 irq_bypass_unregister_producer +EXPORT_SYMBOL_GPL vmlinux 0xf6e874f5 ata_timing_merge +EXPORT_SYMBOL_GPL vmlinux 0xf6ec63a8 kvmppc_h_clear_ref +EXPORT_SYMBOL_GPL vmlinux 0xf6ed38a4 usb_enable_lpm +EXPORT_SYMBOL_GPL vmlinux 0xf6fa8233 device_show_int +EXPORT_SYMBOL_GPL vmlinux 0xf7112447 da903x_reads +EXPORT_SYMBOL_GPL vmlinux 0xf71af7fb ata_wait_after_reset +EXPORT_SYMBOL_GPL vmlinux 0xf72018d0 power_supply_am_i_supplied +EXPORT_SYMBOL_GPL vmlinux 0xf7220d44 dev_pm_opp_find_freq_ceil +EXPORT_SYMBOL_GPL vmlinux 0xf72a65ea tty_get_char_size +EXPORT_SYMBOL_GPL vmlinux 0xf72fea62 sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0xf7455c16 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xf749debc md5_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0xf74bb274 mod_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xf74c892c fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0xf74cc635 sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0xf74e7c93 jump_label_rate_limit +EXPORT_SYMBOL_GPL vmlinux 0xf751c181 get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0xf756afc7 mmc_pwrseq_register +EXPORT_SYMBOL_GPL vmlinux 0xf757d61f crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0xf7580cfa icc_provider_add +EXPORT_SYMBOL_GPL vmlinux 0xf7744eda regulator_get_current_limit +EXPORT_SYMBOL_GPL vmlinux 0xf77f6620 regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0xf782fb07 percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0xf78dada0 vfio_assign_device_set +EXPORT_SYMBOL_GPL vmlinux 0xf78df7ca iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0xf7ab90c1 rio_free_net +EXPORT_SYMBOL_GPL vmlinux 0xf7af2945 usb_hub_find_child +EXPORT_SYMBOL_GPL vmlinux 0xf7b5790c alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xf7bc60ce dev_pm_opp_find_freq_ceil_by_volt +EXPORT_SYMBOL_GPL vmlinux 0xf7bc95b0 devlink_fmsg_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xf7d961d8 clk_hw_unregister_composite +EXPORT_SYMBOL_GPL vmlinux 0xf7dbffbd cpufreq_driver_target +EXPORT_SYMBOL_GPL vmlinux 0xf7df6f57 register_user_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xf7fca65e thermal_cooling_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf800eb24 __traceiter_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0xf80f5fc7 __SCK__tp_func_ata_exec_command +EXPORT_SYMBOL_GPL vmlinux 0xf81dce70 thermal_genl_cpu_capability_event +EXPORT_SYMBOL_GPL vmlinux 0xf82f3657 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf8314f3d fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0xf8343945 agp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0xf852d746 __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0xf85508a8 screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0xf85bb9f0 balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0xf883bf93 crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0xf89a80f8 register_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xf89bb27a dev_pm_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xf8bf9183 blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0xf8c36d3e nvdimm_cmd_mask +EXPORT_SYMBOL_GPL vmlinux 0xf8c3dced skb_gso_validate_network_len +EXPORT_SYMBOL_GPL vmlinux 0xf8dad2d1 tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0xf8ddbd6c usb_role_switch_find_by_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xf8dddeb8 acct_bioset_init +EXPORT_SYMBOL_GPL vmlinux 0xf8e10930 iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0xf8e604dd sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0xf8f1d100 vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0xf8f3a0fb ata_ratelimit +EXPORT_SYMBOL_GPL vmlinux 0xf9090ad7 inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0xf9093f5b __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xf93daa1f blk_crypto_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0xf94d1762 iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0xf95322f4 kthread_parkme +EXPORT_SYMBOL_GPL vmlinux 0xf955e9c5 bprintf +EXPORT_SYMBOL_GPL vmlinux 0xf9645b16 dev_pm_opp_of_find_icc_paths +EXPORT_SYMBOL_GPL vmlinux 0xf9707214 iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0xf973834c regmap_get_raw_read_max +EXPORT_SYMBOL_GPL vmlinux 0xf97471ef opal_i2c_request +EXPORT_SYMBOL_GPL vmlinux 0xf9783ba7 of_get_videomode +EXPORT_SYMBOL_GPL vmlinux 0xf9953793 __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0xf997a33f devm_thermal_zone_of_sensor_register +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9b61998 iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0xf9c0535c edac_mc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xf9d2dbc7 device_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xf9efd29b filemap_range_has_writeback +EXPORT_SYMBOL_GPL vmlinux 0xf9f9aedf cpufreq_register_driver +EXPORT_SYMBOL_GPL vmlinux 0xfa09e618 cxl_afu_get +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa2a9890 pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0xfa396924 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xfa3f84c7 blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0xfa43cefc is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xfa4bf17c devm_phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0xfa650e12 regulator_set_voltage_sel_regmap +EXPORT_SYMBOL_GPL vmlinux 0xfa666974 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0xfa7d2ad8 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xfa7d87f1 irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0xfa7f77f9 component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0xfaaf8621 power_supply_battery_bti_in_range +EXPORT_SYMBOL_GPL vmlinux 0xfab30dc0 mdio_bus_exit +EXPORT_SYMBOL_GPL vmlinux 0xfab53ed9 pinctrl_gpio_can_use_line +EXPORT_SYMBOL_GPL vmlinux 0xfab736d1 skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xfabb6aff opal_flash_erase +EXPORT_SYMBOL_GPL vmlinux 0xfad9c827 kill_dax +EXPORT_SYMBOL_GPL vmlinux 0xfae172e0 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb122adb __phy_modify +EXPORT_SYMBOL_GPL vmlinux 0xfb2e52bf pci_user_read_config_byte +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb450ed1 kvmppc_invalidate_hpte +EXPORT_SYMBOL_GPL vmlinux 0xfb479a27 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xfb5edf3b pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0xfb6eedf9 power_group_name +EXPORT_SYMBOL_GPL vmlinux 0xfb720a6c serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0xfb738290 trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0xfb7f35c6 mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0xfb7f8928 irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfb80eba4 crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0xfbbd41ca no_action +EXPORT_SYMBOL_GPL vmlinux 0xfbcbbdfb dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0xfbccd3b1 dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0xfbe65425 mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0xfbe9da71 sock_map_destroy +EXPORT_SYMBOL_GPL vmlinux 0xfbf0151f regmap_fields_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0xfbffd601 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xfc03d97a page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xfc0b62fc crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0xfc0c7653 fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0xfc14bb2e dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xfc1f103f da9052_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0xfc201b66 sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0xfc234177 _kvmppc_save_tm_pr +EXPORT_SYMBOL_GPL vmlinux 0xfc28d162 __of_reset_control_get +EXPORT_SYMBOL_GPL vmlinux 0xfc2e07d3 sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0xfc464ebd netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0xfc4e9c5a pcibios_free_controller +EXPORT_SYMBOL_GPL vmlinux 0xfc50d8e8 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0xfc51b499 mmu_lpid_bits +EXPORT_SYMBOL_GPL vmlinux 0xfc53f2b7 __traceiter_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xfc5d269e tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0xfc5d29d7 __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0xfc611ef6 uart_xchar_out +EXPORT_SYMBOL_GPL vmlinux 0xfc683b45 has_big_cores +EXPORT_SYMBOL_GPL vmlinux 0xfc9087bd dev_pm_genpd_resume +EXPORT_SYMBOL_GPL vmlinux 0xfca629bd dax_iomap_fault +EXPORT_SYMBOL_GPL vmlinux 0xfca7f934 devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0xfcaf49b0 trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0xfcbfec70 add_memory_driver_managed +EXPORT_SYMBOL_GPL vmlinux 0xfcc1edd3 memory_block_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0xfce2e058 spi_async +EXPORT_SYMBOL_GPL vmlinux 0xfce36902 vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0xfcf2cbc7 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0xfcf8b1b6 devm_extcon_dev_register +EXPORT_SYMBOL_GPL vmlinux 0xfcf9b6fd get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0xfcf9ef73 hw_protection_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xfcfa0f11 class_destroy +EXPORT_SYMBOL_GPL vmlinux 0xfd050d8c edac_pci_add_device +EXPORT_SYMBOL_GPL vmlinux 0xfd0dfc44 clk_mux_ro_ops +EXPORT_SYMBOL_GPL vmlinux 0xfd120773 serial8250_do_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xfd167d11 anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xfd2c62ad devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0xfd3f030d gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xfd44d67f power_supply_get_battery_info +EXPORT_SYMBOL_GPL vmlinux 0xfd4fb870 extcon_get_property_capability +EXPORT_SYMBOL_GPL vmlinux 0xfd534e30 rio_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xfd5b1c72 devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0xfd5dff1b fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0xfd68f5b5 ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0xfd6c8fca __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0xfd7833c7 kvm_free_hpt_cma +EXPORT_SYMBOL_GPL vmlinux 0xfd7bb6a5 of_resolve_phandles +EXPORT_SYMBOL_GPL vmlinux 0xfd840dad synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0xfd86d975 perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0xfd87a204 pinctrl_add_gpio_range +EXPORT_SYMBOL_GPL vmlinux 0xfd9940e5 fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0xfda58a2a perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0xfdaebe23 invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0xfdb159bc serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0xfdb4a0f3 switchdev_handle_port_obj_add_foreign +EXPORT_SYMBOL_GPL vmlinux 0xfdbd7a17 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xfdbdf495 skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xfdc1b891 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0xfdd44dfe vfio_pci_core_enable +EXPORT_SYMBOL_GPL vmlinux 0xfde0b047 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0xfdee88dd virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0xfdf3c2b3 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0xfdfdc907 hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0xfe0c0a87 skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0xfe108e08 of_property_read_u32_index +EXPORT_SYMBOL_GPL vmlinux 0xfe132796 disk_set_independent_access_ranges +EXPORT_SYMBOL_GPL vmlinux 0xfe18b1cd usb_lock_device_for_reset +EXPORT_SYMBOL_GPL vmlinux 0xfe19dc28 vivaldi_function_row_physmap_show +EXPORT_SYMBOL_GPL vmlinux 0xfe1a7a7b mpi_point_release +EXPORT_SYMBOL_GPL vmlinux 0xfe1aa51f adp5520_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xfe1eb439 of_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0xfe2c3286 usb_anchor_resume_wakeups +EXPORT_SYMBOL_GPL vmlinux 0xfe37c4a5 class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe474a52 scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0xfe476039 ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe4a7b15 dev_pm_opp_set_regulators +EXPORT_SYMBOL_GPL vmlinux 0xfe56435a spi_split_transfers_maxsize +EXPORT_SYMBOL_GPL vmlinux 0xfe577971 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xfe646431 gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0xfe79a14a gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xfe8cdb84 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfe99dad0 dtpm_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xfeaa1558 opal_async_wait_response_interruptible +EXPORT_SYMBOL_GPL vmlinux 0xfeadd4f2 synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0xfec6ff6a usb_get_dr_mode +EXPORT_SYMBOL_GPL vmlinux 0xfed11ed1 usb_mon_deregister +EXPORT_SYMBOL_GPL vmlinux 0xfed16b08 of_add_property +EXPORT_SYMBOL_GPL vmlinux 0xfed80b93 dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0xfedc4cd1 unregister_wide_hw_breakpoint +EXPORT_SYMBOL_GPL vmlinux 0xfede9222 __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0xfee77b76 iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff0ebbf9 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xff1666f3 reset_control_bulk_assert +EXPORT_SYMBOL_GPL vmlinux 0xff21dc7e dev_pm_opp_of_add_table_indexed +EXPORT_SYMBOL_GPL vmlinux 0xff291ecf clk_unregister_divider +EXPORT_SYMBOL_GPL vmlinux 0xff3b4c2f devm_hte_register_chip +EXPORT_SYMBOL_GPL vmlinux 0xff42c374 usb_role_switch_get_role +EXPORT_SYMBOL_GPL vmlinux 0xff5bd2fa iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0xff61c4d2 dev_pm_qos_hide_latency_tolerance +EXPORT_SYMBOL_GPL vmlinux 0xff7a2071 disk_uevent +EXPORT_SYMBOL_GPL vmlinux 0xff7c2d7d clk_hw_register_composite +EXPORT_SYMBOL_GPL vmlinux 0xff7e33bf mpi_sub_ui +EXPORT_SYMBOL_GPL vmlinux 0xff802a2d __traceiter_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xff81487d gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0xff8778f5 usb_reset_configuration +EXPORT_SYMBOL_GPL vmlinux 0xff9e23d1 hugetlb_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xffa992e4 param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0xffab3064 sdio_set_host_pm_flags +EXPORT_SYMBOL_GPL vmlinux 0xffae8e8b nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xffc18da1 unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0xfff8e292 tty_ldisc_ref_wait +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0x07342898 unregister_firmware_config_sysctl vmlinux +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xae43feea register_firmware_config_sysctl vmlinux +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xd3ae7756 fw_fallback_config vmlinux +HWMON_THERMAL EXPORT_SYMBOL_GPL 0xbb55f1ad hwmon_device_register_for_thermal vmlinux +IIO_AD5592R EXPORT_SYMBOL_GPL 0x66a66dce ad5592r_probe drivers/iio/dac/ad5592r-base +IIO_AD5592R EXPORT_SYMBOL_GPL 0x93545f2a ad5592r_remove drivers/iio/dac/ad5592r-base +IIO_AD5686 EXPORT_SYMBOL_GPL 0x77f88a17 ad5686_probe drivers/iio/dac/ad5686 +IIO_AD5686 EXPORT_SYMBOL_GPL 0xded887fe ad5686_remove drivers/iio/dac/ad5686 +IIO_AD7091R EXPORT_SYMBOL_GPL 0xd7ad2e47 ad7091r_probe drivers/iio/adc/ad7091r-base +IIO_AD7091R EXPORT_SYMBOL_GPL 0xf162a78a ad7091r_regmap_config drivers/iio/adc/ad7091r-base +IIO_AD7606 EXPORT_SYMBOL_GPL 0x7531a54c ad7606_probe drivers/iio/adc/ad7606 +IIO_AD7606 EXPORT_SYMBOL_GPL 0xd067166f ad7606_pm_ops drivers/iio/adc/ad7606 +IIO_ADISLIB EXPORT_SYMBOL 0x3fa92d04 adis_debugfs_reg_access drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL 0x85e3ce06 __adis_enable_irq drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x0e791ffd __adis_update_bits_base drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x0f3a3c26 adis_single_conversion drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x30f8f247 adis_update_scan_mode drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x38fa63bd __adis_initial_startup drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x3cf5149b __adis_read_reg drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x5cb942e2 devm_adis_setup_buffer_and_trigger drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x61eb062b devm_adis_probe_trigger drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x911a4ca1 __adis_write_reg drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0x9b8db5b6 __adis_check_status drivers/iio/imu/adis_lib +IIO_ADISLIB EXPORT_SYMBOL_GPL 0xd523ded7 adis_init drivers/iio/imu/adis_lib +IIO_ADIS_LIB EXPORT_SYMBOL_GPL 0x823824d0 __adis_reset drivers/iio/imu/adis_lib +IIO_ADXL313 EXPORT_SYMBOL_GPL 0x8401eedc adxl313_readable_regs_table drivers/iio/accel/adxl313_core +IIO_ADXL313 EXPORT_SYMBOL_GPL 0xd539e537 adxl313_core_probe drivers/iio/accel/adxl313_core +IIO_ADXL313 EXPORT_SYMBOL_GPL 0xf6f7b9f3 adxl313_writable_regs_table drivers/iio/accel/adxl313_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0x6ff5403b adxl355_readable_regs_tbl drivers/iio/accel/adxl355_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0xb446fa86 adxl355_writeable_regs_tbl drivers/iio/accel/adxl355_core +IIO_ADXL355 EXPORT_SYMBOL_GPL 0xe5b5abf8 adxl355_core_probe drivers/iio/accel/adxl355_core +IIO_ADXL367 EXPORT_SYMBOL_GPL 0xaf7550d9 adxl367_probe drivers/iio/accel/adxl367 +IIO_ADXL372 EXPORT_SYMBOL_GPL 0x813257c8 adxl372_probe drivers/iio/accel/adxl372 +IIO_ADXL372 EXPORT_SYMBOL_GPL 0x84ff188b adxl372_readable_noinc_reg drivers/iio/accel/adxl372 +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x004ac1d6 ad_sigma_delta_single_conversion drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x037be8e2 ad_sd_set_comm drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x0a793445 ad_sd_calibrate drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x1686a4fe ad_sd_write_reg drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x7536a7e8 ad_sd_reset drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x85446eb6 ad_sd_calibrate_all drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0x8bff6703 devm_ad_sd_setup_buffer_and_trigger drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xafdafb18 ad_sd_init drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xd142600f ad_sd_validate_trigger drivers/iio/adc/ad_sigma_delta +IIO_AD_SIGMA_DELTA EXPORT_SYMBOL_GPL 0xe4d23781 ad_sd_read_reg drivers/iio/adc/ad_sigma_delta +IIO_BMA400 EXPORT_SYMBOL 0x9a1439dd bma400_probe drivers/iio/accel/bma400_core +IIO_BMA400 EXPORT_SYMBOL 0xe8bb9df7 bma400_regmap_config drivers/iio/accel/bma400_core +IIO_BMC150 EXPORT_SYMBOL_GPL 0x33dc5686 bmc150_accel_core_remove drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0xb04bb7ec bmc150_regmap_conf drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0xd684b993 bmc150_accel_core_probe drivers/iio/accel/bmc150-accel-core +IIO_BMC150 EXPORT_SYMBOL_GPL 0xd9332de5 bmc150_accel_pm_ops drivers/iio/accel/bmc150-accel-core +IIO_BMC150_MAGN EXPORT_SYMBOL 0x54c52b21 bmc150_magn_pm_ops drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0x9817a659 bmc150_magn_probe drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0xce7fe9d5 bmc150_magn_regmap_config drivers/iio/magnetometer/bmc150_magn +IIO_BMC150_MAGN EXPORT_SYMBOL 0xe3f91a29 bmc150_magn_remove drivers/iio/magnetometer/bmc150_magn +IIO_BME680 EXPORT_SYMBOL 0xc8d1f1c2 bme680_regmap_config drivers/iio/chemical/bme680_core +IIO_BME680 EXPORT_SYMBOL_GPL 0xa41aaff7 bme680_core_probe drivers/iio/chemical/bme680_core +IIO_BMI088 EXPORT_SYMBOL_GPL 0x8495226e bmi088_accel_core_remove drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0xb9e90f96 bmi088_accel_core_probe drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0xc81de78f bmi088_accel_pm_ops drivers/iio/accel/bmi088-accel-core +IIO_BMI088 EXPORT_SYMBOL_GPL 0xd2ebecf2 bmi088_regmap_conf drivers/iio/accel/bmi088-accel-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x129919a6 fxls8962af_core_probe drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x2c7e3302 fxls8962af_spi_regmap_conf drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x435ac90e fxls8962af_pm_ops drivers/iio/accel/fxls8962af-core +IIO_FXLS8962AF EXPORT_SYMBOL_GPL 0x8ea0a7c7 fxls8962af_i2c_regmap_conf drivers/iio/accel/fxls8962af-core +IIO_HID EXPORT_SYMBOL 0x101b5ae8 hid_sensor_read_raw_hyst_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x25bd94c7 hid_sensor_pm_ops drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x37430034 hid_sensor_parse_common_attributes drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x46118d44 hid_sensor_remove_trigger drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x47d22f0d hid_sensor_write_samp_freq_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x57852eb2 hid_sensor_setup_trigger drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0x628dcbb7 hid_sensor_convert_timestamp drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x7f7621ec hid_sensor_format_scale drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0x89c072c7 hid_sensor_read_raw_hyst_rel_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0xa4d11357 hid_sensor_write_raw_hyst_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0xe8118636 hid_sensor_read_samp_freq_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID EXPORT_SYMBOL 0xefed2ee3 hid_sensor_power_state drivers/iio/common/hid-sensors/hid-sensor-trigger +IIO_HID EXPORT_SYMBOL 0xf914574e hid_sensor_write_raw_hyst_rel_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x2f668f51 hid_sensor_get_report_latency drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0x6df47842 hid_sensor_read_poll_value drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0xa905c7c5 hid_sensor_set_report_latency drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HID_ATTRIBUTES EXPORT_SYMBOL 0xcc71bb0c hid_sensor_batch_mode_supported drivers/iio/common/hid-sensors/hid-sensor-iio-common +IIO_HMC5843 EXPORT_SYMBOL 0x311f8725 hmc5843_common_probe drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0x7515e384 hmc5843_common_remove drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0xb394ad7d hmc5843_common_suspend drivers/iio/magnetometer/hmc5843_core +IIO_HMC5843 EXPORT_SYMBOL 0xf76fd12e hmc5843_common_resume drivers/iio/magnetometer/hmc5843_core +IIO_KXSD9 EXPORT_SYMBOL 0x10b9d46a kxsd9_common_probe drivers/iio/accel/kxsd9 +IIO_KXSD9 EXPORT_SYMBOL 0x6aaf2a47 kxsd9_common_remove drivers/iio/accel/kxsd9 +IIO_KXSD9 EXPORT_SYMBOL 0xd26d245a kxsd9_dev_pm_ops drivers/iio/accel/kxsd9 +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x045688dd ms_sensors_read_prom_word drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x107ad3c2 ms_sensors_ht_read_humidity drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x18cb825f ms_sensors_ht_read_temperature drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x22458be4 ms_sensors_tp_read_prom drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x2d2f5cd5 ms_sensors_reset drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x42b6a050 ms_sensors_convert_and_read drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x48a26753 ms_sensors_show_battery_low drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x75a74821 ms_sensors_show_heater drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0x7b4a54ae ms_sensors_read_temp_and_pressure drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xbf6b909a ms_sensors_read_serial drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xd525fa27 ms_sensors_write_heater drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MEAS_SPEC_SENSORS EXPORT_SYMBOL 0xe34efb8c ms_sensors_write_resolution drivers/iio/common/ms_sensors/ms_sensors_i2c +IIO_MMA7455 EXPORT_SYMBOL_GPL 0x1b26618b mma7455_core_regmap drivers/iio/accel/mma7455_core +IIO_MMA7455 EXPORT_SYMBOL_GPL 0xe5e27fa6 mma7455_core_probe drivers/iio/accel/mma7455_core +IIO_MMA7455 EXPORT_SYMBOL_GPL 0xef33a3b6 mma7455_core_remove drivers/iio/accel/mma7455_core +IIO_MMA9551 EXPORT_SYMBOL 0x0425f4e3 mma9551_set_power_state drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x095a498a mma9551_read_config_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x0b9ad5d7 mma9551_update_config_bits drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x0bed3b0b mma9551_set_device_state drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x13fdefce mma9551_read_status_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x377c02a3 mma9551_read_config_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x3c148279 mma9551_read_status_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x41ef446c mma9551_read_accel_scale drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x449c1582 mma9551_write_config_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x574d939b mma9551_write_config_byte drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0x7486c1c4 mma9551_read_version drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xa73ddb02 mma9551_read_config_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xa898928a mma9551_gpio_config drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xa9b2fb8a mma9551_read_status_words drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xb04a880e mma9551_write_config_word drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xbcd7fe96 mma9551_sleep drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xc4477741 mma9551_read_accel_chan drivers/iio/accel/mma9551_core +IIO_MMA9551 EXPORT_SYMBOL 0xdabc86d7 mma9551_app_reset drivers/iio/accel/mma9551_core +IIO_MPL115 EXPORT_SYMBOL_GPL 0xae24133b mpl115_probe drivers/iio/pressure/mpl115 +IIO_MS5611 EXPORT_SYMBOL 0x050efc26 ms5611_remove drivers/iio/pressure/ms5611_core +IIO_MS5611 EXPORT_SYMBOL 0x0ede2d71 ms5611_probe drivers/iio/pressure/ms5611_core +IIO_RM3100 EXPORT_SYMBOL_GPL 0x0a1424e0 rm3100_volatile_table drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0x17137b55 rm3100_common_probe drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0xaa911f08 rm3100_readable_table drivers/iio/magnetometer/rm3100-core +IIO_RM3100 EXPORT_SYMBOL_GPL 0xcc7209be rm3100_writable_table drivers/iio/magnetometer/rm3100-core +IIO_SCD30 EXPORT_SYMBOL 0x033a25bb scd30_pm_ops drivers/iio/chemical/scd30_core +IIO_SCD30 EXPORT_SYMBOL 0x36138ab5 scd30_probe drivers/iio/chemical/scd30_core +IIO_SSP_SENSORS EXPORT_SYMBOL 0x1d54671e ssp_disable_sensor drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x2971542a ssp_get_sensor_delay drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x48430d72 ssp_register_consumer drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0x5f1ab284 ssp_common_process_data drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0x78fff4d8 ssp_common_buffer_postdisable drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0xa996da3e ssp_common_buffer_postenable drivers/iio/common/ssp_sensors/ssp_iio +IIO_SSP_SENSORS EXPORT_SYMBOL 0xd77db481 ssp_enable_sensor drivers/iio/common/ssp_sensors/sensorhub +IIO_SSP_SENSORS EXPORT_SYMBOL 0xd87d0517 ssp_change_delay drivers/iio/common/ssp_sensors/sensorhub +IIO_ST_SENSORS EXPORT_SYMBOL 0x03c6a37c st_sensors_i2c_configure drivers/iio/common/st_sensors/st_sensors_i2c +IIO_ST_SENSORS EXPORT_SYMBOL 0x044a8178 st_sensors_sysfs_scale_avail drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x074d7047 st_sensors_trigger_handler drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x097a3857 st_sensors_set_fullscale_by_gain drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x0dcc7bc2 st_sensors_init_sensor drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x166cad7b st_gyro_common_probe drivers/iio/gyro/st_gyro +IIO_ST_SENSORS EXPORT_SYMBOL 0x1f7fbdb8 st_sensors_dev_name_probe drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x22da1625 st_sensors_power_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x24b644ca st_press_common_probe drivers/iio/pressure/st_pressure +IIO_ST_SENSORS EXPORT_SYMBOL 0x5e61381b st_sensors_debugfs_reg_access drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x7f1b4585 st_gyro_get_settings drivers/iio/gyro/st_gyro +IIO_ST_SENSORS EXPORT_SYMBOL 0x83394bd8 st_sensors_get_settings_index drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x9cc1d0d8 st_sensors_validate_device drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0x9eb6b9e5 st_sensors_set_axis_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xaa621dc9 st_press_get_settings drivers/iio/pressure/st_pressure +IIO_ST_SENSORS EXPORT_SYMBOL 0xac063787 st_accel_get_settings drivers/iio/accel/st_accel +IIO_ST_SENSORS EXPORT_SYMBOL 0xbda4b3cf st_sensors_spi_configure drivers/iio/common/st_sensors/st_sensors_spi +IIO_ST_SENSORS EXPORT_SYMBOL 0xbfc76641 st_sensors_set_odr drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xc4dba343 st_magn_common_probe drivers/iio/magnetometer/st_magn +IIO_ST_SENSORS EXPORT_SYMBOL 0xc6b9f3b3 st_sensors_set_enable drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xcc6cd341 st_sensors_sysfs_sampling_frequency_avail drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xcd0a122d st_sensors_verify_id drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xd7096b64 st_sensors_read_info_raw drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xda51b3c6 st_accel_common_probe drivers/iio/accel/st_accel +IIO_ST_SENSORS EXPORT_SYMBOL 0xebeb3c49 st_sensors_set_dataready_irq drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL 0xeeef8e24 st_magn_get_settings drivers/iio/magnetometer/st_magn +IIO_ST_SENSORS EXPORT_SYMBOL 0xf23a7f9a st_sensors_allocate_trigger drivers/iio/common/st_sensors/st_sensors +IIO_ST_SENSORS EXPORT_SYMBOL_GPL 0xe5b02890 st_lsm9ds0_probe drivers/iio/imu/st_lsm9ds0/st_lsm9ds0 +IIO_UVIS25 EXPORT_SYMBOL 0x77e81860 st_uvis25_pm_ops drivers/iio/light/st_uvis25_core +IIO_UVIS25 EXPORT_SYMBOL 0xc346f236 st_uvis25_probe drivers/iio/light/st_uvis25_core +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x4eff18d8 zpa2326_pm_ops drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x7e8c9f6f zpa2326_remove drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0x8aa724d6 zpa2326_isreg_precious drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0xa44d8719 zpa2326_isreg_writeable drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0xb45266e2 zpa2326_probe drivers/iio/pressure/zpa2326 +IIO_ZPA2326 EXPORT_SYMBOL_GPL 0xf7f65f78 zpa2326_isreg_readable drivers/iio/pressure/zpa2326 +IWLWIFI EXPORT_SYMBOL_GPL 0x047cfaf5 iwl_parse_mei_nvm_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x07c07439 iwl_set_soc_latency drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x0a5d7f33 iwl_fwrt_dump_error_logs drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x0bb77353 iwl_trans_send_cmd drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x0c1aa873 iwl_pnvm_load drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x0e45d802 iwl_opmode_register drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x0e6d3a17 iwl_clear_bits_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x12b1ecb0 iwl_write_direct32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x160ad2ce iwl_set_bits_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x16e420c4 iwl_dbg_tlv_del_timers drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x1ee1c386 iwl_wait_notification drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x229d8b26 iwl_init_notification_wait drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x23d6cc81 iwl_fw_dbg_read_d3_debug_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x2710c362 iwl_dump_desc_assert drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x32eb2d76 __iwl_crit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x34278b61 iwl_fw_dbg_collect drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x34a5f4e8 iwl_fw_dbg_collect_trig drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x35033c81 iwl_phy_db_free drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x35307150 iwl_notification_wait drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x37956b72 rs_pretty_print_rate drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x384f1648 iwl_parse_nvm_mcc_info drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3bfd4277 __iwl_dbg drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3cb3f69c iwl_read_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x3df39fcd iwl_read_external_nvm drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x46145689 iwl_fw_runtime_resume drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x49e0135d iwl_new_rate_from_v1 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x4f52c0ef iwl_init_paging drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x56b8859d iwl_cmd_groups_verify_sorted drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5b2ebf83 iwl_read32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x5c52e109 iwl_opmode_deregister drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x60598fcf iwl_read_direct32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x64d8a32f iwl_set_bits_mask_prph drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6c8b5d8b __iwl_err drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6e4a86d9 iwl_notification_wait_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x6f82b8a1 iwl_write64 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x724e8822 iwl_remove_notification drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7307e077 iwl_abort_notification_waits drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x776221bf iwl_send_phy_db_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x78971d7e iwl_he_is_sgi drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x78f1fc0a iwl_get_cmd_string drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x7a7132c7 iwl_parse_eeprom_data drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x828c6838 iwlwifi_mod_params drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x83f0535d iwl_poll_direct_bit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x84bb50e1 iwl_rs_pretty_ant drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x853fc2d3 iwl_write_direct64 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x86b79720 iwl_finish_nic_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x874c77de iwl_fw_rate_idx_to_plcp drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x8e2a0005 iwl_free_fw_paging drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x8e417d7a iwl_read_prph_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x9327b0f4 iwl_get_nvm drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x940c1c8d iwl_write_prph_delay drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0x994cce90 __iwl_info drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xadac2383 iwl_poll_bit drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xadfd8cd1 __iwl_warn drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb37b318c iwl_rs_pretty_bw drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb649831a iwl_write8 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xb7d5ffb1 iwl_rate_mcs drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xbd080e28 _iwl_dbg_tlv_time_point drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xc3710db4 iwl_fw_dbg_error_collect drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xc8c4dfe7 iwl_get_shared_mem_conf drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xcae69747 iwl_fw_dbg_collect_desc drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xcd7a3da4 iwl_fw_dbg_stop_restart_recording drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xce0c6460 iwl_phy_db_set_section drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xcff2b7c9 iwl_fw_dbg_stop_sync drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xd3c0d4cc iwl_read_eeprom drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xd75e8b3b iwl_fw_runtime_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xdfd4d3ab iwl_write_prph64_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe71ebf9a iwl_fw_runtime_suspend drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xe75f34bf iwl_write_prph_no_grab drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xea1b26fc iwl_nvm_fixups drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xea9648a7 iwl_configure_rxq drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xeaba2cb2 iwl_phy_db_init drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf0775dbe iwl_fw_start_dbg_conf drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xf80c96c2 iwl_write32 drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xfcb417f5 iwl_force_nmi drivers/net/wireless/intel/iwlwifi/iwlwifi +IWLWIFI EXPORT_SYMBOL_GPL 0xfeba0312 iwl_parse_nvm_data drivers/net/wireless/intel/iwlwifi/iwlwifi +LTC2497 EXPORT_SYMBOL 0x58cc816d ltc2497core_probe drivers/iio/adc/ltc2497-core +LTC2497 EXPORT_SYMBOL 0x874eb05d ltc2497core_remove drivers/iio/adc/ltc2497-core +MCB EXPORT_SYMBOL_GPL 0x018925c5 mcb_device_register drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x1d8e7e17 mcb_bus_put drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x2c36b391 __mcb_register_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x32ce6fb5 mcb_get_resource drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x4a7d1abd chameleon_parse_cells drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x53bdef79 mcb_bus_add_devices drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x614c559a mcb_free_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x63bcbda7 mcb_unregister_driver drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0x8d9ba47a mcb_get_irq drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xa85fc51d mcb_alloc_dev drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xaf7ad989 mcb_alloc_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xb956128b mcb_bus_get drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xd0ef2f45 mcb_release_bus drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xdfea4bf8 mcb_request_mem drivers/mcb/mcb +MCB EXPORT_SYMBOL_GPL 0xeb2c8905 mcb_release_mem drivers/mcb/mcb +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x038f75a4 nvme_put_ns drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x06e51d50 nvme_passthru_end drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x0dd9d7c3 nvme_find_get_ns drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x1ac9c570 nvme_execute_passthru_rq drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x6c1e9436 nvme_command_effects drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x8b232318 nvme_ctrl_from_file drivers/nvme/host/nvme-core +PECI EXPORT_SYMBOL_GPL 0x0667a010 peci_xfer_ep_mmio64_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x07284fbb peci_request_temp_read drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x07e5486d peci_request_data_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x0a1c2e89 peci_xfer_ep_pci_cfg_local_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x20ecd10e peci_request_data_readq drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x460a763c peci_request_data_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x491d6dd4 peci_xfer_ep_pci_cfg_local_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x5d174827 peci_driver_unregister drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x5d587a54 __peci_driver_register drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x65c9dda2 peci_xfer_pci_cfg_local_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x6b7fb37f peci_request_alloc drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x70c49543 peci_xfer_ep_pci_cfg_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x78194925 peci_xfer_pci_cfg_local_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7a4fd3e7 peci_xfer_pkg_cfg_readq drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x7ceb5251 peci_xfer_ep_mmio32_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x821520ed peci_xfer_pkg_cfg_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x8c1cc886 peci_request_dib_read drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x8febe2cc devm_peci_controller_add drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0x943c36c1 peci_request_free drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xae40ff53 peci_xfer_ep_pci_cfg_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xaea4dab5 peci_xfer_pkg_cfg_readl drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xc343434c peci_xfer_pci_cfg_local_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xc631200c peci_xfer_get_dib drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xd4984499 peci_xfer_ep_pci_cfg_local_readb drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xe19fd329 peci_xfer_pkg_cfg_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xe31c1df8 peci_request_status drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xe6f5173a peci_request_data_readw drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xe77e8ae3 peci_xfer_get_temp drivers/peci/peci +PECI EXPORT_SYMBOL_GPL 0xed41bc0e peci_xfer_ep_pci_cfg_readl drivers/peci/peci +PECI_CPU EXPORT_SYMBOL_GPL 0x04dd9a76 peci_ep_pci_local_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0x5129a97b peci_pcs_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0xa74e4336 peci_temp_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0xe3efd469 peci_mmio_read drivers/peci/peci-cpu +PECI_CPU EXPORT_SYMBOL_GPL 0xfd5c6356 peci_pci_local_read drivers/peci/peci-cpu +PMBUS EXPORT_SYMBOL_GPL 0x12ba41a2 pmbus_regulator_ops drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x1a0f4101 pmbus_write_byte drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x2e0ff98e pmbus_update_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x30b65b79 pmbus_do_probe drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x422f6de8 pmbus_read_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x4b5679fb pmbus_get_debugfs_dir drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x4e3a6dd8 pmbus_write_word_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x6112e7a8 pmbus_update_fan drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x68fbe287 pmbus_check_byte_register drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x780b6e51 pmbus_clear_cache drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x790b243f pmbus_write_byte_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x999dbb19 pmbus_get_driver_info drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0x9cbb7805 pmbus_get_fan_rate_cached drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xb5d38124 pmbus_read_word_data drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xb6a90222 pmbus_set_page drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xcc327c47 pmbus_clear_faults drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xd3be4e22 pmbus_set_update drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xd6a62245 pmbus_get_fan_rate_device drivers/hwmon/pmbus/pmbus_core +PMBUS EXPORT_SYMBOL_GPL 0xf3ce12e0 pmbus_check_word_register drivers/hwmon/pmbus/pmbus_core +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x6dc8c316 sx_common_probe drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x6f704312 sx_common_write_event_config drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0x91c52bb2 sx_common_read_event_config drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0xa358596a sx_common_read_proximity drivers/iio/proximity/sx_common +SEMTECH_PROX EXPORT_SYMBOL_GPL 0xd07d0025 sx_common_events drivers/iio/proximity/sx_common +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0x198847d7 cs35l45_probe sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0x65c0d051 cs35l45_pm_ops sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45 EXPORT_SYMBOL_GPL 0xcba718f5 cs35l45_remove sound/soc/codecs/snd-soc-cs35l45 +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x3431c8ad cs35l45_get_clk_freq_id sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x5a19f079 cs35l45_apply_patch sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0x9ef72a87 cs35l45_i2c_regmap sound/soc/codecs/snd-soc-cs35l45-tables +SND_SOC_CS35L45_TABLES EXPORT_SYMBOL_GPL 0xddcfebcb cs35l45_spi_regmap sound/soc/codecs/snd-soc-cs35l45-tables +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x11c37c74 dw_spi_resume_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x21882e0a dw_spi_suspend_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x2e505958 dw_spi_check_status drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x32514248 dw_spi_dma_setup_generic drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x627cea6a dw_spi_update_config drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x6377e70e dw_spi_remove_host drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x63c00d4e dw_spi_dma_setup_mfld drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x9214c14e dw_spi_set_cs drivers/spi/spi-dw +SPI_DW_CORE EXPORT_SYMBOL_GPL 0x923196f2 dw_spi_add_host drivers/spi/spi-dw +TEST_FIRMWARE EXPORT_SYMBOL_GPL 0x3dce036c firmware_request_builtin vmlinux +USB_STORAGE EXPORT_SYMBOL_GPL 0x1174717e usb_stor_clear_halt drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x1196ca84 usb_stor_adjust_quirks drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x1bc3edc2 usb_stor_sense_invalidCDB drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x30bfde92 fill_inquiry_response drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x357cd6c0 usb_stor_host_template_init drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x3a4f1808 usb_stor_access_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5e945778 usb_stor_pre_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x5efd4d5b usb_stor_reset_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x6ccd3737 usb_stor_bulk_transfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x75e3a750 usb_stor_bulk_transfer_sg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x7ce5b4bb usb_stor_suspend drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0x88bae9e1 usb_stor_control_msg drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xaa4cce6d usb_stor_resume drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xaf178d10 usb_stor_post_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xb54b0192 usb_stor_Bulk_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xc3cfc8d4 usb_stor_CB_transport drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xc4e8e3b7 usb_stor_ctrl_transfer drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xd8f1b648 usb_stor_transparent_scsi_command drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xe0f2ee20 usb_stor_disconnect drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xe18051da usb_stor_Bulk_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xe1db6541 usb_stor_CB_reset drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xe7b62c4e usb_stor_set_xfer_buf drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xf0939101 usb_stor_probe2 drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xf22278e6 usb_stor_bulk_srb drivers/usb/storage/usb-storage +USB_STORAGE EXPORT_SYMBOL_GPL 0xfb441aa5 usb_stor_probe1 drivers/usb/storage/usb-storage --- linux-gcp-5.19.0.orig/debian.master/abi/ppc64el/generic.compiler +++ linux-gcp-5.19.0/debian.master/abi/ppc64el/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 12.2.0-3ubuntu1) 12.2.0 --- linux-gcp-5.19.0.orig/debian.master/abi/ppc64el/generic.modules +++ linux-gcp-5.19.0/debian.master/abi/ppc64el/generic.modules @@ -0,0 +1,5846 @@ +3c59x +3w-9xxx +3w-sas +3w-xxxx +6lowpan +6pack +8021q +8139cp +8139too +8250_aspeed_vuart +8250_dw +8250_exar +8250_men_mcb +8250_pericom +8255 +8255_pci +8390 +842 +842_compress +842_decompress +88pg86x +88pm800 +88pm800-regulator +88pm805 +88pm80x +88pm80x_onkey +88pm8607 +88pm860x-ts +88pm860x_battery +88pm860x_bl +88pm860x_charger +88pm860x_onkey +9p +9pnet +9pnet_fd +9pnet_rdma +9pnet_virtio +a100u2w +a3d +a8293 +aacraid +aat2870-regulator +aat2870_bl +abp060mg +ac97_bus +acard-ahci +acecad +acenic +acp_audio_dma +act8865-regulator +act8945a +act8945a-regulator +act8945a_charger +act_bpf +act_connmark +act_csum +act_ct +act_ctinfo +act_gact +act_gate +act_ipt +act_mirred +act_mpls +act_nat +act_pedit +act_police +act_sample +act_simple +act_skbedit +act_skbmod +act_tunnel_key +act_vlan +ad2s1200 +ad2s1210 +ad2s90 +ad3552r +ad5064 +ad5110 +ad525x_dpot +ad525x_dpot-i2c +ad525x_dpot-spi +ad5272 +ad5360 +ad5380 +ad5398 +ad5421 +ad5446 +ad5449 +ad5504 +ad5592r +ad5592r-base +ad5593r +ad5624r_spi +ad5686 +ad5686-spi +ad5696-i2c +ad5755 +ad5758 +ad5761 +ad5764 +ad5766 +ad5770r +ad5791 +ad5820 +ad5933 +ad7091r-base +ad7091r5 +ad7124 +ad714x +ad714x-i2c +ad714x-spi +ad7150 +ad7192 +ad7266 +ad7280a +ad7291 +ad7292 +ad7293 +ad7298 +ad7303 +ad7314 +ad7414 +ad7418 +ad74413r +ad7476 +ad7606 +ad7606_par +ad7606_spi +ad7746 +ad7766 +ad7768-1 +ad7780 +ad7791 +ad7793 +ad7816 +ad7877 +ad7879 +ad7879-i2c +ad7879-spi +ad7887 +ad7923 +ad7949 +ad799x +ad8366 +ad8801 +ad9389b +ad9467 +ad9523 +ad9832 +ad9834 +ad_sigma_delta +ada4250 +adc-joystick +adc-keys +adc128d818 +adcxx +addi_apci_1032 +addi_apci_1500 +addi_apci_1516 +addi_apci_1564 +addi_apci_16xx +addi_apci_2032 +addi_apci_2200 +addi_apci_3120 +addi_apci_3501 +addi_apci_3xxx +addi_watchdog +ade7854 +ade7854-i2c +ade7854-spi +adf4350 +adf4371 +adf7242 +adfs +adi +adi-axi-adc +adiantum +adin +adin1100 +adis16080 +adis16130 +adis16136 +adis16201 +adis16203 +adis16209 +adis16240 +adis16260 +adis16400 +adis16460 +adis16475 +adis16480 +adis_lib +adjd_s311 +adl_pci6208 +adl_pci7x3x +adl_pci8164 +adl_pci9111 +adl_pci9118 +adm1021 +adm1025 +adm1026 +adm1029 +adm1031 +adm1177 +adm1266 +adm1275 +adm8211 +adm9240 +admv1013 +admv1014 +admv4420 +admv8818 +adp1653 +adp5061 +adp5520-keys +adp5520_bl +adp5588-keys +adp5589-keys +adp8860_bl +adp8870_bl +adq12b +adrf6780 +ads7828 +ads7846 +ads7871 +adt7310 +adt7316 +adt7316-i2c +adt7316-spi +adt7410 +adt7411 +adt7462 +adt7470 +adt7475 +adt7x10 +adummy +adutux +adux1020 +adv7170 +adv7175 +adv7180 +adv7183 +adv7343 +adv7393 +adv748x +adv7511 +adv7604 +adv7842 +adv_pci1710 +adv_pci1720 +adv_pci1723 +adv_pci1724 +adv_pci1760 +adv_pci_dio +advansys +adxl313_core +adxl313_i2c +adxl313_spi +adxl34x +adxl34x-i2c +adxl34x-spi +adxl355_core +adxl355_i2c +adxl355_spi +adxl367 +adxl367_i2c +adxl367_spi +adxl372 +adxl372_i2c +adxl372_spi +adxrs290 +adxrs450 +aegis128 +aes_ti +af9013 +af9033 +af_alg +af_key +af_packet_diag +afe4403 +afe4404 +affs +ah4 +ah6 +ahci +ahci_ceva +ahci_platform +ahci_qoriq +aht10 +aic79xx +aic7xxx +aic94xx +aio_aio12_8 +aio_iiro_16 +aiptek +aircable +airo +airspy +ak7375 +ak881x +ak8974 +ak8975 +al3010 +al3320a +alcor +alcor_pci +algif_aead +algif_hash +algif_rng +algif_skcipher +alim7101_wdt +altera-ci +altera-cvp +altera-freeze-bridge +altera-msgdma +altera-pr-ip-core +altera-pr-ip-core-plat +altera-ps-spi +altera-stapl +altera_jtaguart +altera_ps2 +altera_tse +altera_uart +alx +am2315 +am53c974 +amc6821 +amd +amd5536udc_pci +amd8111e +amdgpu +amlogic-gxl-crypto +amplc_dio200 +amplc_dio200_common +amplc_dio200_pci +amplc_pc236 +amplc_pc236_common +amplc_pc263 +amplc_pci224 +amplc_pci230 +amplc_pci236 +amplc_pci263 +ams-iaq-core +ams369fg06 +amt +analog +analogix-anx6345 +analogix-anx78xx +analogix_dp +ansi_cprng +anx7625 +anybuss_core +aoe +apbps2 +apds9300 +apds9802als +apds990x +apds9960 +apple-mfi-fastcharge +appledisplay +appletalk +appletouch +applicom +aptina-pll +aqc111 +aquacomputer_d5next +aquantia +ar1021_i2c +ar5523 +ar7part +ar9331 +arasan-nand-controller +arc-rawmode +arc-rimi +arc_ps2 +arc_uart +arcmsr +arcnet +arcpgu +arcx-anybus +arcxcnn_bl +arizona +arizona-haptics +arizona-i2c +arizona-ldo1 +arizona-micsupp +arizona-spi +ark3116 +arkfb +arp_tables +arpt_mangle +arptable_filter +as102_fe +as370-hwmon +as3711-regulator +as3711_bl +as3722-regulator +as3935 +as5011 +as73211 +asc7621 +ascot2e +asix +aspeed-pwm-tacho +aspeed-video +ast +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +at24 +at25 +at76c50x-usb +at803x +at86rf230 +ata_generic +ata_piix +atbm8830 +atc260x-core +atc260x-i2c +atc260x-onkey +atc260x-poweroff +atc260x-regulator +aten +ath +ath10k_core +ath10k_pci +ath10k_sdio +ath10k_usb +ath11k +ath11k_ahb +ath11k_pci +ath3k +ath5k +ath6kl_core +ath6kl_sdio +ath6kl_usb +ath9k +ath9k_common +ath9k_htc +ath9k_hw +ath9k_pci_owl_loader +ati_remote +ati_remote2 +atl1 +atl1c +atl1e +atl2 +atlantic +atlas-ezo-sensor +atlas-sensor +atm +atmel +atmel-ecc +atmel-flexcom +atmel-hlcdc +atmel-i2c +atmel-sha204a +atmel_captouch +atmel_mxt_ts +atmel_pci +atmtcp +atp870u +atusb +atxp1 +aty128fb +atyfb +au0828 +au8522_common +au8522_decoder +au8522_dig +auo-pixcir-ts +auth_rpcgss +authenc +authencesn +autofs4 +avmfritz +ax25 +ax88179_178a +ax88796b +ax88796c +axi-fan-control +axis-fifo +axp20x +axp20x-i2c +axp20x-pek +axp20x-regulator +axp20x_ac_power +axp20x_adc +axp20x_battery +axp20x_usb_power +axp288_adc +b2c2-flexcop +b2c2-flexcop-pci +b2c2-flexcop-usb +b43 +b43legacy +b44 +b53_common +b53_mdio +b53_mmap +b53_serdes +b53_spi +b53_srab +ba431-rng +bareudp +batman-adv +baycom_par +baycom_ser_fdx +baycom_ser_hdx +bcache +bch +bcm-keypad +bcm-phy-lib +bcm-sf2 +bcm203x +bcm3510 +bcm54140 +bcm590xx +bcm590xx-regulator +bcm5974 +bcm7xxx +bcm87xx +bcm_vk +bcma +bcma-hcd +bcmsysport +bd6107 +bd71815-regulator +bd71828-regulator +bd718x7-regulator +bd9571mwv +bd9571mwv-regulator +bd9576-regulator +bd9576_wdt +bd99954-charger +bdc +be2iscsi +be2net +befs +bel-pfe +belkin_sa +bfa +bfq +bfs +bfusb +bh1750 +bh1770glc +bh1780 +binder_linux +binfmt_misc +blake2b_generic +block2mtd +blocklayoutdriver +blowfish_common +blowfish_generic +bluetooth +bluetooth_6lowpan +bma150 +bma220_spi +bma400_core +bma400_i2c +bma400_spi +bmc150-accel-core +bmc150-accel-i2c +bmc150-accel-spi +bmc150_magn +bmc150_magn_i2c +bmc150_magn_spi +bme680_core +bme680_i2c +bme680_spi +bmg160_core +bmg160_i2c +bmg160_spi +bmi088-accel-core +bmi088-accel-spi +bmi160_core +bmi160_i2c +bmi160_spi +bmp280 +bmp280-i2c +bmp280-spi +bna +bnep +bnx2 +bnx2fc +bnx2i +bnx2x +bnxt_en +bnxt_re +bochs +bonding +bpa-rs600 +bpa10x +bpck +bpfilter +bpqether +bq2415x_charger +bq24190_charger +bq24257_charger +bq24735-charger +bq2515x_charger +bq256xx_charger +bq25890_charger +bq25980_charger +bq27xxx_battery +bq27xxx_battery_hdq +bq27xxx_battery_i2c +br2684 +br_netfilter +brcmfmac +brcmsmac +brcmutil +brd +bridge +broadcom +bsd_comp +bsr +bt819 +bt856 +bt866 +bt878 +btbcm +btcoexist +btintel +btmrvl +btmrvl_sdio +btmtk +btmtksdio +btmtkuart +btqca +btrfs +btrsi +btrtl +btsdio +bttv +btusb +bu21013_ts +bu21029_ts +budget +budget-av +budget-ci +budget-core +budget-patch +c67x00 +c6xdigio +c_can +c_can_pci +c_can_platform +ca8210 +cachefiles +cadence-nand-controller +cadence_wdt +cafe_ccic +cafe_nand +caif +caif_serial +caif_socket +caif_usb +caif_virtio +camellia_generic +can +can-bcm +can-dev +can-gw +can-isotp +can-j1939 +can-raw +cap11xx +capmode +carl9170 +carminefb +cassini +cast5_generic +cast6_generic +cast_common +catc +cavium_ptp +cb710 +cb710-mmc +cb_pcidas +cb_pcidas64 +cb_pcidda +cb_pcimdas +cb_pcimdda +cc10001_adc +cc2520 +cc770 +cc770_isa +cc770_platform +ccm +ccree +ccs +ccs-pll +ccs811 +cdc-acm +cdc-phonet +cdc-wdm +cdc_eem +cdc_ether +cdc_mbim +cdc_ncm +cdc_subset +cdns-csi2rx +cdns-csi2tx +cdns-dphy +cdns-dphy-rx +cdns-dsi +cdns-mhdp8546 +cdns-pltfrm +cdns-usb-common +cdns3 +cec +ceph +cfb +cfg80211 +cfi_cmdset_0001 +cfi_cmdset_0002 +cfi_cmdset_0020 +cfi_probe +cfi_util +ch +ch341 +ch7006 +ch7322 +ch9200 +ch_ipsec +ch_ktls +chacha20poly1305 +chacha_generic +chaoskey +charlcd +chcr +chipone-icn6211 +chipone_icn8318 +chipreg +chnl_net +chrontel-ch7033 +ci_hdrc +ci_hdrc_imx +ci_hdrc_msm +ci_hdrc_pci +ci_hdrc_tegra +ci_hdrc_usb2 +cicada +cifs +cifs_arc4 +cifs_md4 +cirrus +cirrusfb +clip +clk-axi-clkgen +clk-bd718x7 +clk-cdce706 +clk-cdce925 +clk-cs2000-cp +clk-lmk04832 +clk-lochnagar +clk-max77686 +clk-max9485 +clk-palmas +clk-pwm +clk-renesas-pcie +clk-rk808 +clk-s2mps11 +clk-si514 +clk-si5341 +clk-si5351 +clk-si544 +clk-si570 +clk-twl6040 +clk-versaclock5 +clk-wm831x +clk-xlnx-clock-wizard +cls_basic +cls_bpf +cls_cgroup +cls_flow +cls_flower +cls_fw +cls_matchall +cls_route +cls_rsvp +cls_rsvp6 +cls_u32 +cm109 +cm32181 +cm3232 +cm3323 +cm3605 +cm36651 +cma3000_d0x +cma3000_d0x_i2c +cmac +cmdlinepart +cmm +cmtp +cnic +cobra +coda +colibri-vf50-ts +com20020 +com20020-pci +com90io +com90xx +comedi +comedi_8254 +comedi_8255 +comedi_bond +comedi_example_test +comedi_isadma +comedi_parport +comedi_pci +comedi_test +comedi_usb +comm +contec_pci_dio +cordic +core +corsair-cpro +corsair-psu +cortina +counter +cp210x +cpc925_edac +cpcap-adc +cpcap-battery +cpcap-pwrbutton +cpcap-regulator +cpia2 +cqhci +cramfs +crc-itu-t +crc-vpmsum_test +crc32_generic +crc32c-vpmsum +crc4 +crc7 +crc8 +crct10dif-vpmsum +cryptd +crypto_engine +crypto_safexcel +crypto_user +cs3308 +cs5345 +cs53l32a +cs_dsp +csiostor +ctucanfd +ctucanfd_pci +ctucanfd_platform +curve25519-generic +cuse +cw1200_core +cw1200_wlan_sdio +cw1200_wlan_spi +cw2015_battery +cx18 +cx18-alsa +cx22700 +cx22702 +cx231xx +cx231xx-alsa +cx231xx-dvb +cx2341x +cx23885 +cx24110 +cx24113 +cx24116 +cx24117 +cx24120 +cx24123 +cx25821 +cx25821-alsa +cx25840 +cx82310_eth +cx88-alsa +cx88-blackbird +cx88-dvb +cx88-vp3054-i2c +cx8800 +cx8802 +cx88xx +cxacru +cxd2099 +cxd2820r +cxd2841er +cxd2880 +cxd2880-spi +cxgb +cxgb3 +cxgb3i +cxgb4 +cxgb4i +cxgb4vf +cxgbit +cxl +cxl_core +cxl_mem +cxl_pci +cxl_pmem +cxl_port +cxlflash +cy8ctma140 +cy8ctmg110_ts +cyapatp +cyber2000fb +cyberjack +cypress-sf +cypress_cy7c63 +cypress_firmware +cypress_m8 +cytherm +cyttsp4_core +cyttsp4_i2c +cyttsp4_spi +cyttsp_core +cyttsp_i2c +cyttsp_i2c_common +cyttsp_spi +da280 +da311 +da7280 +da9030_battery +da9034-ts +da903x-regulator +da903x_bl +da9052-battery +da9052-hwmon +da9052-regulator +da9052_bl +da9052_onkey +da9052_tsi +da9052_wdt +da9055-hwmon +da9055-regulator +da9055_onkey +da9055_wdt +da9062-core +da9062-regulator +da9062-thermal +da9062_wdt +da9063-regulator +da9063_onkey +da9063_wdt +da9121-regulator +da9150-charger +da9150-core +da9150-fg +da9150-gpadc +da9210-regulator +da9211-regulator +dac02 +daqboard2000 +das08 +das08_isa +das08_pci +das16 +das16m1 +das1800 +das6402 +das800 +davicom +dax_pmem +db9 +dc395x +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +ddbridge +ddbridge-dummy-fe +de2104x +decnet +defxx +delta-ahe50dc-fan +denali +denali_dt +denali_pci +des_generic +designware_i2s +device_dax +dfl +dfl-afu +dfl-emif +dfl-fme +dfl-fme-br +dfl-fme-mgr +dfl-fme-region +dfl-n3000-nios +dfl-pci +dht11 +diag +dib0070 +dib0090 +dib3000mb +dib3000mc +dib7000m +dib7000p +dib8000 +dib9000 +dibx000_common +digi_acceleport +digicolor-usart +diskonchip +display-connector +dl2k +dlhl60d +dlink-dir685-touchkeys +dlm +dln2 +dln2-adc +dm-bio-prison +dm-bufio +dm-cache +dm-cache-smq +dm-clone +dm-crypt +dm-delay +dm-ebs +dm-era +dm-flakey +dm-historical-service-time +dm-integrity +dm-io-affinity +dm-log +dm-log-userspace +dm-log-writes +dm-mirror +dm-multipath +dm-persistent-data +dm-queue-length +dm-raid +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dm-switch +dm-thin-pool +dm-unstripe +dm-verity +dm-writecache +dm-zero +dm-zoned +dm1105 +dm9601 +dmard06 +dmard09 +dmard10 +dmfe +dmm32at +dmx3191d +dn_rtmsg +dnet +dp83640 +dp83822 +dp83848 +dp83867 +dp83869 +dp83tc811 +dp83td510 +dpot-dac +dps310 +dps920ab +drbd +drivetemp +drm +drm_cma_helper +drm_display_helper +drm_dp_aux_bus +drm_kms_helper +drm_mipi_dbi +drm_panel_orientation_quirks +drm_shmem_helper +drm_ttm_helper +drm_vram_helper +drv260x +drv2665 +drv2667 +drx39xyj +drxd +drxk +ds1621 +ds1682 +ds1803 +ds1wm +ds2482 +ds2490 +ds2760_battery +ds2780_battery +ds2781_battery +ds2782_battery +ds3000 +ds4424 +ds620 +dsa_core +dsbr100 +dst +dst_ca +dstr +dt2801 +dt2811 +dt2814 +dt2815 +dt2817 +dt282x +dt3000 +dt3155 +dt9812 +dummy +dummy-irq +dummy_stm +dvb-as102 +dvb-bt8xx +dvb-core +dvb-pll +dvb-ttpci +dvb-ttusb-budget +dvb-usb +dvb-usb-a800 +dvb-usb-af9005 +dvb-usb-af9005-remote +dvb-usb-af9015 +dvb-usb-af9035 +dvb-usb-anysee +dvb-usb-au6610 +dvb-usb-az6007 +dvb-usb-az6027 +dvb-usb-ce6230 +dvb-usb-cinergyT2 +dvb-usb-cxusb +dvb-usb-dib0700 +dvb-usb-dibusb-common +dvb-usb-dibusb-mb +dvb-usb-dibusb-mc +dvb-usb-dibusb-mc-common +dvb-usb-digitv +dvb-usb-dtt200u +dvb-usb-dtv5100 +dvb-usb-dvbsky +dvb-usb-dw2102 +dvb-usb-ec168 +dvb-usb-gl861 +dvb-usb-gp8psk +dvb-usb-lmedm04 +dvb-usb-m920x +dvb-usb-mxl111sf +dvb-usb-nova-t-usb2 +dvb-usb-opera +dvb-usb-pctv452e +dvb-usb-rtl28xxu +dvb-usb-technisat-usb2 +dvb-usb-ttusb2 +dvb-usb-umt-010 +dvb-usb-vp702x +dvb-usb-vp7045 +dvb_dummy_fe +dvb_usb_v2 +dw-axi-dmac-platform +dw-edma +dw-edma-pcie +dw-hdmi +dw-hdmi-ahb-audio +dw-hdmi-cec +dw-hdmi-gp-audio +dw-hdmi-i2s-audio +dw-i3c-master +dw-xdata-pcie +dw9714 +dw9768 +dw9807-vcm +dw_dmac +dw_dmac_core +dw_dmac_pci +dw_wdt +dwc-xlgmac +dwc2_pci +dwc3 +dwc3-haps +dwc3-of-simple +dwmac-dwc-qos-eth +dwmac-generic +dwmac-intel-plat +dwmac-loongson +dyna_pci10xx +dynapro +e100 +e1000 +e1000e +e3x0-button +e4000 +earth-pt1 +earth-pt3 +ebt_802_3 +ebt_among +ebt_arp +ebt_arpreply +ebt_dnat +ebt_ip +ebt_ip6 +ebt_limit +ebt_log +ebt_mark +ebt_mark_m +ebt_nflog +ebt_pkttype +ebt_redirect +ebt_snat +ebt_stp +ebt_vlan +ebtable_broute +ebtable_filter +ebtable_nat +ebtables +ec100 +ecc +ecdh_generic +ecdsa_generic +echainiv +echo +ecrdsa_generic +edt-ft5x06 +ee1004 +eeprom +eeprom_93cx6 +eeprom_93xx46 +eeti_ts +efa +efct +efs +egalax_ts +egalax_ts_serial +ehci-fsl +ehci-platform +ehset +ektf2127 +elan_i2c +elants_i2c +elo +em28xx +em28xx-alsa +em28xx-dvb +em28xx-rc +em28xx-v4l +em_canid +em_cmp +em_ipset +em_ipt +em_meta +em_nbyte +em_text +em_u32 +emc1403 +emc2103 +emc6w201 +emi26 +emi62 +empeg +ems_pci +ems_usb +emu10k1-gp +ena +enc28j60 +enclosure +encx24j600 +encx24j600-regmap +eni +enic +envelope-detector +epat +epia +epic100 +eql +erofs +esas2r +esd_usb2 +esp4 +esp4_offload +esp6 +esp6_offload +esp_scsi +essiv +et1011c +et131x +et8ek8 +etas_es58x +ethoc +evbug +exc3000 +exfat +extcon-adc-jack +extcon-fsa9480 +extcon-gpio +extcon-max14577 +extcon-max3355 +extcon-max77693 +extcon-max77843 +extcon-max8997 +extcon-palmas +extcon-ptn5150 +extcon-rt8973a +extcon-sm5502 +extcon-usb-gpio +extcon-usbc-tusb320 +ezusb +f2fs +f75375s +f81232 +f81534 +f81601 +failover +fakelb +fan53555 +fan53880 +farsync +faulty +fb_agm1264k-fl +fb_bd663474 +fb_ddc +fb_hx8340bn +fb_hx8347d +fb_hx8353d +fb_hx8357d +fb_ili9163 +fb_ili9320 +fb_ili9325 +fb_ili9340 +fb_ili9341 +fb_ili9481 +fb_ili9486 +fb_pcd8544 +fb_ra8875 +fb_s6d02a1 +fb_s6d1121 +fb_seps525 +fb_sh1106 +fb_ssd1289 +fb_ssd1305 +fb_ssd1306 +fb_ssd1325 +fb_ssd1331 +fb_ssd1351 +fb_st7735r +fb_st7789v +fb_sys_fops +fb_tinylcd +fb_tls8204 +fb_uc1611 +fb_uc1701 +fb_upd161704 +fbtft +fc0011 +fc0012 +fc0013 +fc2580 +fcoe +fcrypt +fdomain +fdomain_pci +fdp +fdp_i2c +fealnx +ff-memless +fhci +fieldbus_dev +firedtv +firewire-core +firewire-net +firewire-ohci +firewire-sbp2 +firewire-serial +fit2 +fit3 +fixed +fl512 +flexcan +floppy +fm10k +fm801-gp +fm_drv +forcedeth +fore_200e +fotg210-hcd +fotg210-udc +fou +fou6 +fpga-bridge +fpga-mgr +fpga-region +freevxfs +friq +frpw +fsa4480 +fscache +fsi-core +fsi-master-aspeed +fsi-master-gpio +fsi-master-hub +fsi-occ +fsi-sbefifo +fsi-scom +fsia6b +fsl-edma +fsl-edma-common +fsl-enetc +fsl-enetc-ierb +fsl-enetc-mdio +fsl-enetc-ptp +fsl-enetc-vf +fsl-mph-dr-of +fsl_linflexuart +fsl_lpuart +fsl_pq_mdio +fsl_ucc_hdlc +fsp-3y +ftdi-elan +ftdi_sio +ftl +ftm-quaddec +ftsteutates +fujitsu_ts +funcore +funeth +fusb302 +fxas21002c_core +fxas21002c_i2c +fxas21002c_spi +fxls8962af-core +fxls8962af-i2c +fxls8962af-spi +fxos8700_core +fxos8700_i2c +fxos8700_spi +g450_pll +g760a +g762 +g_acm_ms +g_audio +g_cdc +g_dbgp +g_ether +g_ffs +g_hid +g_mass_storage +g_midi +g_ncm +g_nokia +g_printer +g_serial +g_webcam +g_zero +gadgetfs +gamecon +gameport +garmin_gps +garp +gateworks-gsc +gb-audio-apbridgea +gb-audio-codec +gb-audio-gb +gb-audio-manager +gb-audio-module +gb-bootrom +gb-es2 +gb-firmware +gb-gbphy +gb-gpio +gb-hid +gb-i2c +gb-light +gb-log +gb-loopback +gb-power-supply +gb-pwm +gb-raw +gb-sdio +gb-spi +gb-spilib +gb-uart +gb-usb +gb-vibrator +gdmtty +gdmulte +gemini +gen_probe +generic +generic-adc-battery +genet +geneve +genwqe_card +gf2k +gfs2 +gianfar_driver +gl518sm +gl520sm +gl620a +gluebi +gm12u320 +gnss +gnss-mtk +gnss-serial +gnss-sirf +gnss-ubx +gnss-usb +go7007 +go7007-loader +go7007-usb +goku_udc +goldfish_battery +goodix_ts +gp2ap002 +gp2ap020a00f +gp8psk-fe +gpio +gpio-74x164 +gpio-74xx-mmio +gpio-adnp +gpio-adp5520 +gpio-adp5588 +gpio-aggregator +gpio-altera +gpio-amd-fch +gpio-arizona +gpio-bd71815 +gpio-bd71828 +gpio-bd9571mwv +gpio-beeper +gpio-cadence +gpio-charger +gpio-da9052 +gpio-da9055 +gpio-dln2 +gpio-dwapb +gpio-exar +gpio-fan +gpio-grgpio +gpio-gw-pld +gpio-hlwd +gpio-ir-recv +gpio-ir-tx +gpio-janz-ttl +gpio-kempld +gpio-logicvc +gpio-lp3943 +gpio-lp873x +gpio-lp87565 +gpio-madera +gpio-max3191x +gpio-max7300 +gpio-max7301 +gpio-max730x +gpio-max732x +gpio-max77620 +gpio-max77650 +gpio-mb86s7x +gpio-mc33880 +gpio-menz127 +gpio-moxtet +gpio-pca953x +gpio-pca9570 +gpio-pcf857x +gpio-pci-idio-16 +gpio-pcie-idio-24 +gpio-pisosr +gpio-rdc321x +gpio-regulator +gpio-sama5d2-piobu +gpio-sim +gpio-siox +gpio-syscon +gpio-tpic2810 +gpio-tps65086 +gpio-tps65218 +gpio-tps65912 +gpio-tqmx86 +gpio-twl4030 +gpio-twl6040 +gpio-ucb1400 +gpio-vibra +gpio-viperboard +gpio-virtio +gpio-wcd934x +gpio-wm831x +gpio-wm8350 +gpio-wm8994 +gpio-xra1403 +gpio_backlight +gpio_decoder +gpio_keys +gpio_keys_polled +gpio_mouse +gpio_wdt +gpu-sched +gr_udc +grace +grcan +gre +greybus +grip +grip_mp +gs1662 +gs_usb +gsc-hwmon +gsc_hpdi +gspca_benq +gspca_conex +gspca_cpia1 +gspca_dtcs033 +gspca_etoms +gspca_finepix +gspca_gl860 +gspca_jeilinj +gspca_jl2005bcd +gspca_kinect +gspca_konica +gspca_m5602 +gspca_main +gspca_mars +gspca_mr97310a +gspca_nw80x +gspca_ov519 +gspca_ov534 +gspca_ov534_9 +gspca_pac207 +gspca_pac7302 +gspca_pac7311 +gspca_se401 +gspca_sn9c2028 +gspca_sn9c20x +gspca_sonixb +gspca_sonixj +gspca_spca1528 +gspca_spca500 +gspca_spca501 +gspca_spca505 +gspca_spca506 +gspca_spca508 +gspca_spca561 +gspca_sq905 +gspca_sq905c +gspca_sq930x +gspca_stk014 +gspca_stk1135 +gspca_stv0680 +gspca_stv06xx +gspca_sunplus +gspca_t613 +gspca_topro +gspca_touptek +gspca_tv8532 +gspca_vc032x +gspca_vicam +gspca_xirlink_cit +gspca_zc3xx +gtp +gud +guillemot +gunze +gve +habanalabs +hackrf +hamachi +hampshire +hangcheck-timer +hanwang +hci +hci_nokia +hci_uart +hci_vhci +hd3ss3220 +hd44780 +hd44780_common +hdc100x +hdc2010 +hdlc +hdlc_cisco +hdlc_fr +hdlc_ppp +hdlc_raw +hdlc_raw_eth +hdlc_x25 +hdlcdrv +hdma +hdma_mgmt +hdpvr +he +helene +hellcreek_sw +hexium_gemini +hexium_orion +hfcmulti +hfcpci +hfcsusb +hfs +hfsplus +hi311x +hi556 +hi6210-i2s +hi6421-pmic-core +hi6421-regulator +hi6421-spmi-pmic +hi6421v530-regulator +hi6421v600-irq +hi6421v600-regulator +hi8435 +hi846 +hi847 +hid +hid-a4tech +hid-accutouch +hid-alps +hid-apple +hid-appleir +hid-asus +hid-aureal +hid-axff +hid-belkin +hid-betopff +hid-bigbenff +hid-cherry +hid-chicony +hid-cmedia +hid-corsair +hid-cougar +hid-cp2112 +hid-creative-sb0540 +hid-cypress +hid-dr +hid-elan +hid-elecom +hid-elo +hid-emsff +hid-ezkey +hid-ft260 +hid-gaff +hid-gembird +hid-generic +hid-gfrm +hid-glorious +hid-gt683r +hid-gyration +hid-holtek-kbd +hid-holtek-mouse +hid-holtekff +hid-icade +hid-ite +hid-jabra +hid-kensington +hid-keytouch +hid-kye +hid-lcpower +hid-led +hid-lenovo +hid-letsketch +hid-lg-g15 +hid-logitech +hid-logitech-dj +hid-logitech-hidpp +hid-macally +hid-magicmouse +hid-maltron +hid-mcp2221 +hid-megaworld +hid-mf +hid-microsoft +hid-monterey +hid-multitouch +hid-nintendo +hid-nti +hid-ntrig +hid-ortek +hid-penmount +hid-petalynx +hid-picolcd +hid-pl +hid-plantronics +hid-playstation +hid-primax +hid-prodikeys +hid-razer +hid-redragon +hid-retrode +hid-rmi +hid-roccat +hid-roccat-arvo +hid-roccat-common +hid-roccat-isku +hid-roccat-kone +hid-roccat-koneplus +hid-roccat-konepure +hid-roccat-kovaplus +hid-roccat-lua +hid-roccat-pyra +hid-roccat-ryos +hid-roccat-savu +hid-saitek +hid-samsung +hid-semitek +hid-sensor-accel-3d +hid-sensor-als +hid-sensor-custom +hid-sensor-custom-intel-hinge +hid-sensor-gyro-3d +hid-sensor-hub +hid-sensor-humidity +hid-sensor-iio-common +hid-sensor-incl-3d +hid-sensor-magn-3d +hid-sensor-press +hid-sensor-prox +hid-sensor-rotation +hid-sensor-temperature +hid-sensor-trigger +hid-sigmamicro +hid-sjoy +hid-sony +hid-speedlink +hid-steam +hid-steelseries +hid-sunplus +hid-thrustmaster +hid-tivo +hid-tmff +hid-topseed +hid-twinhan +hid-u2fzero +hid-uclogic +hid-udraw-ps3 +hid-viewsonic +hid-vivaldi +hid-vivaldi-common +hid-waltop +hid-wiimote +hid-xiaomi +hid-xinmo +hid-zpff +hid-zydacron +hideep +hidp +hih6130 +hisi-spmi-controller +hisi_hikey_usb +hmc425a +hmc5843_core +hmc5843_i2c +hmc5843_spi +hmc6352 +hms-profinet +hopper +horus3a +hostap +hostap_pci +hostap_plx +hp03 +hp206c +hpfs +hpilo +hpsa +hptiop +hsi +hsi_char +hso +hsr +ht16k33 +htc-pasic3 +hts221 +hts221_i2c +hts221_spi +htu21 +huawei_cdc_ncm +hvcs +hvcserver +hwmon-vid +hwpoison-inject +hx711 +hx8357 +hx8357d +hycon-hy46xx +hyperbus-core +i2c-algo-bit +i2c-algo-pca +i2c-ali1535 +i2c-ali1563 +i2c-ali15x3 +i2c-amd756 +i2c-amd8111 +i2c-arb-gpio-challenge +i2c-cbus-gpio +i2c-ccgx-ucsi +i2c-cp2615 +i2c-demux-pinctrl +i2c-designware-pci +i2c-diolan-u2c +i2c-dln2 +i2c-fsi +i2c-gpio +i2c-hid +i2c-hid-of +i2c-hid-of-goodix +i2c-i801 +i2c-isch +i2c-kempld +i2c-matroxfb +i2c-mpc +i2c-mux +i2c-mux-gpio +i2c-mux-gpmux +i2c-mux-ltc4306 +i2c-mux-mlxcpld +i2c-mux-pca9541 +i2c-mux-pca954x +i2c-mux-pinctrl +i2c-mux-reg +i2c-nforce2 +i2c-nvidia-gpu +i2c-ocores +i2c-parport +i2c-pca-platform +i2c-piix4 +i2c-rk3x +i2c-robotfuzz-osif +i2c-simtec +i2c-sis5595 +i2c-sis630 +i2c-sis96x +i2c-smbus +i2c-stub +i2c-taos-evm +i2c-tiny-usb +i2c-via +i2c-viapro +i2c-viperboard +i2c-virtio +i2c-xiic +i3c +i3c-master-cdns +i40e +i5k_amb +i6300esb +i740fb +iavf +ib_cm +ib_core +ib_ipoib +ib_iser +ib_isert +ib_mthca +ib_srp +ib_srpt +ib_umad +ib_uverbs +ibm-cffps +ibmaem +ibmpex +ibmpowernv +ibmveth +ibmvfc +ibmvmc +ibmvnic +ibmvscsi +ibmvscsis +ice +ice40-spi +icom +icp +icp10100 +icp_multi +icplus +ics932s401 +ideapad_slidebar +idma64 +idmouse +idt77252 +idt_89hpesx +idt_gen2 +idt_gen3 +idtcps +ieee802154 +ieee802154_6lowpan +ieee802154_socket +ifb +ifcvf +ife +ifi_canfd +iforce +iforce-serio +iforce-usb +igb +igbvf +igc +igorplugusb +iguanair +ii_pci20kc +iio-mux +iio-rescale +iio-trig-hrtimer +iio-trig-interrupt +iio-trig-loop +iio-trig-sysfs +iio_dummy +iio_hwmon +ila +ili210x +ili9163 +ili9225 +ili922x +ili9320 +ili9341 +ili9486 +ilitek_ts_i2c +imagis +img-ascii-lcd +img-i2s-in +img-i2s-out +img-parallel-out +img-spdif-in +img-spdif-out +imm +imon +imon_raw +ims-pcu +imx208 +imx214 +imx219 +imx258 +imx274 +imx290 +imx319 +imx334 +imx335 +imx355 +imx412 +imx6ul_tsc +ina209 +ina238 +ina2xx +ina2xx-adc +ina3221 +industrialio +industrialio-buffer-cb +industrialio-buffer-dma +industrialio-buffer-dmaengine +industrialio-configfs +industrialio-hw-consumer +industrialio-sw-device +industrialio-sw-trigger +industrialio-triggered-buffer +industrialio-triggered-event +inet_diag +inexio +inftl +initio +input-leds +inspur-ipsps +int51x1 +intel-m10-bmc +intel-m10-bmc-hwmon +intel-nand-controller +intel-qep +intel-xway +intel_th +intel_th_gth +intel_th_msu +intel_th_msu_sink +intel_th_pci +intel_th_pti +intel_th_sth +intel_vr_nor +interact +interrupt-cnt +inv-icm42600 +inv-icm42600-i2c +inv-icm42600-spi +inv-mpu6050 +inv-mpu6050-i2c +inv-mpu6050-spi +io_edgeport +io_ti +ionic +iosm +iova +iowarrior +ip5xxx_power +ip6_gre +ip6_tables +ip6_tunnel +ip6_udp_tunnel +ip6_vti +ip6t_NPT +ip6t_REJECT +ip6t_SYNPROXY +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_mh +ip6t_rpfilter +ip6t_rt +ip6t_srh +ip6table_filter +ip6table_mangle +ip6table_nat +ip6table_raw +ip6table_security +ip_gre +ip_set +ip_set_bitmap_ip +ip_set_bitmap_ipmac +ip_set_bitmap_port +ip_set_hash_ip +ip_set_hash_ipmac +ip_set_hash_ipmark +ip_set_hash_ipport +ip_set_hash_ipportip +ip_set_hash_ipportnet +ip_set_hash_mac +ip_set_hash_net +ip_set_hash_netiface +ip_set_hash_netnet +ip_set_hash_netport +ip_set_hash_netportnet +ip_set_list_set +ip_tables +ip_tunnel +ip_vs +ip_vs_dh +ip_vs_fo +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_mh +ip_vs_nq +ip_vs_ovf +ip_vs_pe_sip +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_twos +ip_vs_wlc +ip_vs_wrr +ip_vti +ipack +ipaq +ipcomp +ipcomp6 +iphase +ipheth +ipip +ipmi_devintf +ipmi_msghandler +ipmi_powernv +ipmi_poweroff +ipmi_si +ipmi_ssif +ipmi_watchdog +ipoctal +ipr +ips +ipt_CLUSTERIP +ipt_ECN +ipt_REJECT +ipt_SYNPROXY +ipt_ah +ipt_rpfilter +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +iptable_security +ipvlan +ipvtap +ipw +ipw2100 +ipw2200 +iqs269a +iqs5xx +iqs620at-temp +iqs621-als +iqs624-pos +iqs626a +iqs62x +iqs62x-keys +iqs7222 +ir-hix5hd2 +ir-imon-decoder +ir-jvc-decoder +ir-kbd-i2c +ir-mce_kbd-decoder +ir-nec-decoder +ir-rc5-decoder +ir-rc6-decoder +ir-rcmm-decoder +ir-sanyo-decoder +ir-sharp-decoder +ir-sony-decoder +ir-spi +ir-usb +ir-xmp-decoder +ir35221 +ir36021 +ir38064 +ir_toy +irdma +irps5401 +irq-madera +iscsi_boot_sysfs +iscsi_target_mod +iscsi_tcp +isdnhdlc +isight_firmware +isl29003 +isl29018 +isl29020 +isl29028 +isl29125 +isl29501 +isl6271a-regulator +isl6405 +isl6421 +isl6423 +isl68137 +isl7998x +isl9305 +isofs +isp116x-hcd +isp1704_charger +isp1760 +it913x +itd1000 +ite-it6505 +ite-it66121 +itg3200 +iuu_phoenix +ivtv +ivtv-alsa +ivtvfb +iw_cm +iw_cxgb4 +iwl3945 +iwl4965 +iwldvm +iwlegacy +iwlmvm +iwlwifi +ix2505v +ixgb +ixgbe +ixgbevf +janz-cmodio +janz-ican3 +jc42 +jedec_probe +jffs2 +jfs +jmb38x_ms +jme +joydev +joydump +jr3_pci +jsa1212 +jsm +kafs +kalmia +kaweth +kbic +kbtab +kcm +kcomedilib +ke_counter +kempld-core +kempld_wdt +kernelcapi +keyspan +keyspan_pda +keyspan_remote +keywrap +kfifo_buf +kheaders +kl5kusb105 +kmem +kmx61 +kobil_sct +komeda +ks0108 +ks0127 +ks7010 +ks8842 +ks8851_common +ks8851_par +ks8851_spi +ksmbd +ksz8795 +ksz8795_spi +ksz884x +ksz8863_smi +ksz9477 +ksz9477_i2c +ksz9477_spi +ksz_common +ktd253-backlight +ktti +kvaser_pci +kvaser_pciefd +kvaser_usb +kvm +kvm-hv +kvm-pr +kxcjk-1013 +kxsd9 +kxsd9-i2c +kxsd9-spi +kxtj9 +kyber-iosched +kyrofb +l1oip +l2tp_core +l2tp_debugfs +l2tp_eth +l2tp_ip +l2tp_ip6 +l2tp_netlink +l2tp_ppp +l4f00242t03 +l64781 +lan743x +lan78xx +lan9303-core +lan9303_i2c +lan9303_mdio +lan966x-switch +lan966x_serdes +lanai +lantiq_gswip +lapb +lapbether +lattice-ecp3-config +lcd +lcd2s +ldusb +lec +led-class-flash +led-class-multicolor +led_bl +leds-88pm860x +leds-aat1290 +leds-adp5520 +leds-an30259a +leds-as3645a +leds-aw2013 +leds-bcm6328 +leds-bcm6358 +leds-bd2802 +leds-blinkm +leds-cpcap +leds-cr0014114 +leds-da903x +leds-da9052 +leds-dac124s085 +leds-el15203000 +leds-gpio +leds-is31fl319x +leds-is31fl32xx +leds-ktd2692 +leds-lm3530 +leds-lm3532 +leds-lm3533 +leds-lm355x +leds-lm3601x +leds-lm36274 +leds-lm3642 +leds-lm3692x +leds-lm3697 +leds-lp3944 +leds-lp3952 +leds-lp50xx +leds-lp5521 +leds-lp5523 +leds-lp5562 +leds-lp55xx-common +leds-lp8501 +leds-lp8788 +leds-lp8860 +leds-lt3593 +leds-max77650 +leds-max77693 +leds-max8997 +leds-mc13783 +leds-menf21bmc +leds-mlxreg +leds-mt6323 +leds-mt6360 +leds-pca9532 +leds-pca955x +leds-pca963x +leds-powernv +leds-pwm +leds-pwm-multicolor +leds-qcom-lpg +leds-regulator +leds-rt4505 +leds-rt8515 +leds-sgm3140 +leds-spi-byte +leds-tca6507 +leds-ti-lmu-common +leds-tlc591xx +leds-tps6105x +leds-wm831x-status +leds-wm8350 +ledtrig-activity +ledtrig-audio +ledtrig-backlight +ledtrig-camera +ledtrig-default-on +ledtrig-gpio +ledtrig-heartbeat +ledtrig-netdev +ledtrig-oneshot +ledtrig-pattern +ledtrig-timer +ledtrig-transient +ledtrig-tty +ledtrig-usbport +legousbtower +lg-vl600 +lg2160 +lgdt3305 +lgdt3306a +lgdt330x +lgs8gl5 +lgs8gxx +lib80211 +lib80211_crypt_ccmp +lib80211_crypt_tkip +lib80211_crypt_wep +libahci +libahci_platform +libarc4 +libceph +libchacha +libchacha20poly1305 +libcomposite +libcrc32c +libcurve25519 +libcurve25519-generic +libcxgb +libcxgbi +libdes +libertas +libertas_sdio +libertas_spi +libertas_tf +libertas_tf_usb +libfc +libfcoe +libipw +libiscsi +libiscsi_tcp +libpoly1305 +libsas +lightning +line-display +lineage-pem +linear +liquidio +liquidio_vf +lis3lv02d +lis3lv02d_i2c +lis3lv02d_spi +liteuart +litex_liteeth +litex_mmc +litex_soc_ctrl +lkkbd +ll_temac +llc +llc2 +lm25066 +lm3533-als +lm3533-core +lm3533-ctrlbank +lm3533_bl +lm3560 +lm3630a_bl +lm3639_bl +lm363x-regulator +lm3646 +lm63 +lm70 +lm73 +lm75 +lm77 +lm78 +lm80 +lm83 +lm8323 +lm8333 +lm85 +lm87 +lm90 +lm92 +lm93 +lm95234 +lm95241 +lm95245 +lmp91000 +lms283gf05 +lms501kf03 +lnbh25 +lnbh29 +lnbp21 +lnbp22 +lochnagar-hwmon +lochnagar-regulator +lockd +lontium-lt8912b +lontium-lt9211 +lontium-lt9611 +lontium-lt9611uxc +lp +lp3943 +lp3971 +lp3972 +lp855x_bl +lp8727_charger +lp872x +lp873x +lp873x-regulator +lp8755 +lp87565 +lp87565-regulator +lp8788-buck +lp8788-charger +lp8788-ldo +lp8788_adc +lp8788_bl +lpc_ich +lpc_sch +lpddr_cmds +lpfc +lru_cache +lrw +lt3651-charger +ltc1660 +ltc2471 +ltc2485 +ltc2496 +ltc2497 +ltc2497-core +ltc2632 +ltc2688 +ltc2941-battery-gauge +ltc2945 +ltc2947-core +ltc2947-i2c +ltc2947-spi +ltc2978 +ltc2983 +ltc2990 +ltc2992 +ltc3589 +ltc3676 +ltc3815 +ltc4151 +ltc4162-l-charger +ltc4215 +ltc4222 +ltc4245 +ltc4260 +ltc4261 +ltr501 +ltv350qv +lv0104cs +lv5207lp +lvds-codec +lvstest +lxt +lz4 +lz4_compress +lz4hc +lz4hc_compress +m2m-deinterlace +m52790 +m5mols +m62332 +m88ds3103 +m88rs2000 +m88rs6000t +mISDN_core +mISDN_dsp +mISDNinfineon +mISDNipac +mISDNisar +m_can +m_can_pci +m_can_platform +mac-celtic +mac-centeuro +mac-croatian +mac-cyrillic +mac-gaelic +mac-greek +mac-iceland +mac-inuit +mac-roman +mac-romanian +mac-turkish +mac80211 +mac80211_hwsim +mac802154 +mac802154_hwsim +mac_hid +macb +macb_pci +machxo2-spi +macsec +macvlan +macvtap +madera +madera-i2c +madera-spi +mag3110 +magellan +mailbox-altera +mailbox-test +mantis +mantis_core +map_absent +map_funcs +map_ram +map_rom +marvell +marvell-88x2222 +marvell10g +matrix-keymap +matrix_keypad +matrox_w1 +matroxfb_DAC1064 +matroxfb_Ti3026 +matroxfb_accel +matroxfb_base +matroxfb_crtc2 +matroxfb_g450 +matroxfb_maven +matroxfb_misc +max1027 +max11100 +max1111 +max1118 +max11801_ts +max1241 +max127 +max1363 +max14577-regulator +max14577_charger +max14656_charger_detector +max15301 +max1586 +max16064 +max16065 +max1619 +max16601 +max1668 +max17040_battery +max17042_battery +max1721x_battery +max197 +max20086-regulator +max20730 +max20751 +max2165 +max2175 +max30100 +max30102 +max3100 +max31722 +max31730 +max31785 +max31790 +max31856 +max31865 +max3420_udc +max3421-hcd +max34440 +max44000 +max44009 +max517 +max5432 +max5481 +max5487 +max5821 +max63xx_wdt +max6620 +max6621 +max6639 +max6642 +max6650 +max6697 +max6875 +max7359_keypad +max77620-regulator +max77620_thermal +max77620_wdt +max77650 +max77650-charger +max77650-onkey +max77650-regulator +max77686-regulator +max77693-haptic +max77693-regulator +max77693_charger +max77714 +max77802-regulator +max77826-regulator +max77976_charger +max8649 +max8660 +max8688 +max8893 +max8903_charger +max8907 +max8907-regulator +max8925-regulator +max8925_bl +max8925_onkey +max8925_power +max8952 +max8973-regulator +max8997-regulator +max8997_charger +max8997_haptic +max8998 +max8998_charger +max9271 +max9286 +max9611 +max96712 +maxim_thermocouple +mb1232 +mb862xxfb +mb86a16 +mb86a20s +mc +mc13783-adc +mc13783-pwrbutton +mc13783-regulator +mc13783_ts +mc13892-regulator +mc13xxx-core +mc13xxx-i2c +mc13xxx-regulator-core +mc13xxx-spi +mc3230 +mc44s803 +mcam-core +mcb +mcb-lpc +mcb-pci +mcba_usb +mceusb +mchp23k256 +mchp48l640 +mcp16502 +mcp251x +mcp251xfd +mcp3021 +mcp320x +mcp3422 +mcp3911 +mcp4018 +mcp41010 +mcp4131 +mcp4531 +mcp4725 +mcp4922 +mcr20a +mcs5000_ts +mcs7830 +mcs_touchkey +mct_u232 +mctp-serial +md-cluster +md4 +md5-ppc +mdc800 +mdev +mdio +mdio-bcm-unimac +mdio-bitbang +mdio-cavium +mdio-gpio +mdio-hisi-femac +mdio-i2c +mdio-ipq4019 +mdio-ipq8064 +mdio-mscc-miim +mdio-mux +mdio-mux-gpio +mdio-mux-mmioreg +mdio-mux-multiplexer +mdio-mvusb +mdio-octeon +mdio-thunder +me4000 +me_daq +mediatek-ge +megachips-stdpxxxx-ge-b850v3-fw +megaraid +megaraid_mbox +megaraid_mm +megaraid_sas +melfas_mip4 +memory-notifier-error-inject +memstick +men_z135_uart +men_z188_adc +mena21_wdt +menf21bmc +menf21bmc_hwmon +menf21bmc_wdt +menz69_wdt +metro-usb +metronomefb +mf6x4 +mgag200 +mhi +mhi_ep +mhi_net +mhi_pci_generic +mhi_wwan_ctrl +mhi_wwan_mbim +mi0283qt +michael_mic +micrel +microchip +microchip-tcb-capture +microchip_t1 +microread +microread_i2c +microtek +mii +minix +mip6 +mipi-i3c-hci +mite +mk712 +mkiss +ml86v7667 +mlx4_core +mlx4_en +mlx4_ib +mlx5-vfio-pci +mlx5_core +mlx5_ib +mlx5_vdpa +mlx90614 +mlx90632 +mlxfw +mlxsw_core +mlxsw_i2c +mlxsw_minimal +mlxsw_pci +mlxsw_spectrum +mma7455_core +mma7455_i2c +mma7455_spi +mma7660 +mma8450 +mma8452 +mma9551 +mma9551_core +mma9553 +mmc35240 +mmc_block +mmc_spi +mms114 +mn88443x +mn88472 +mn88473 +mos7720 +mos7840 +most_cdev +most_core +most_dim2 +most_i2c +most_net +most_snd +most_usb +most_video +motorcomm +motorola-cpcap +moxa +moxtet +mp2629 +mp2629_adc +mp2629_charger +mp2888 +mp2975 +mp5023 +mp5416 +mp8859 +mp886x +mpc624 +mpi3mr +mpl115 +mpl115_i2c +mpl115_spi +mpl3115 +mpls_gso +mpls_iptunnel +mpls_router +mpoa +mpq7920 +mpr121_touchkey +mpt3sas +mptbase +mptcp_diag +mptctl +mptfc +mptlan +mptsas +mptscsih +mptspi +mpu3050 +mr75203 +mrf24j40 +mrp +ms5611_core +ms5611_i2c +ms5611_spi +ms5637 +ms_block +ms_sensors_i2c +mscc +mscc_ocelot +mscc_ocelot_switch_lib +mscc_seville +msdos +mse102x +msg2638 +msi001 +msi2500 +msp3400 +mspro_block +mt2060 +mt2063 +mt20xx +mt2131 +mt2266 +mt312 +mt352 +mt6311-regulator +mt6315-regulator +mt6323-regulator +mt6358-regulator +mt6359-regulator +mt6360-adc +mt6360-core +mt6360-regulator +mt6360_charger +mt6397 +mt6397-regulator +mt7530 +mt76 +mt76-connac-lib +mt76-sdio +mt76-usb +mt7601u +mt7603e +mt7615-common +mt7615e +mt7663-usb-sdio-common +mt7663s +mt7663u +mt76x0-common +mt76x02-lib +mt76x02-usb +mt76x0e +mt76x0u +mt76x2-common +mt76x2e +mt76x2u +mt7915e +mt7921-common +mt7921e +mt7921s +mt7921u +mt9m001 +mt9m032 +mt9m111 +mt9p031 +mt9t001 +mt9t112 +mt9v011 +mt9v032 +mt9v111 +mtd +mtd_blkdevs +mtd_dataflash +mtdblock +mtdblock_ro +mtdoops +mtdpstore +mtdram +mtdswap +mtip32xx +mtk-pmic-keys +mtk-sd +mtk_t7xx +mtouch +multipath +multiq3 +musb_hdrc +mux-adg792a +mux-adgs1408 +mux-core +mux-gpio +mux-mmio +mv88e6060 +mv88e6xxx +mv_u3d_core +mv_udc +mvmdio +mvsas +mvumi +mwifiex +mwifiex_pcie +mwifiex_sdio +mwifiex_usb +mwl8k +mxb +mxc4005 +mxc6255 +mxic_nand +mxl-gpy +mxl111sf-demod +mxl111sf-tuner +mxl301rf +mxl5005s +mxl5007t +mxl5xx +mxl692 +mxser +mxuport +myrb +myri10ge +myrs +n5pf +n_gsm +n_hdlc +nand +nandcore +nandsim +national +natsemi +nau7802 +navman +nbd +nci +nci_spi +nci_uart +nct6775-core +nct6775-i2c +nct7802 +nct7904 +nd_btt +nd_pmem +nd_virtio +ne2k-pci +neofb +net1080 +net2272 +net2280 +net_failover +netconsole +netdevsim +netfs +netjet +netlink_diag +netrom +netup-unidvb +netxen_nic +newtonkbd +nf_conncount +nf_conntrack +nf_conntrack_amanda +nf_conntrack_bridge +nf_conntrack_broadcast +nf_conntrack_ftp +nf_conntrack_h323 +nf_conntrack_irc +nf_conntrack_netbios_ns +nf_conntrack_netlink +nf_conntrack_pptp +nf_conntrack_sane +nf_conntrack_sip +nf_conntrack_snmp +nf_conntrack_tftp +nf_defrag_ipv4 +nf_defrag_ipv6 +nf_dup_ipv4 +nf_dup_ipv6 +nf_dup_netdev +nf_flow_table +nf_flow_table_inet +nf_log_syslog +nf_nat +nf_nat_amanda +nf_nat_ftp +nf_nat_h323 +nf_nat_irc +nf_nat_pptp +nf_nat_sip +nf_nat_snmp_basic +nf_nat_tftp +nf_reject_ipv4 +nf_reject_ipv6 +nf_socket_ipv4 +nf_socket_ipv6 +nf_synproxy_core +nf_tables +nf_tproxy_ipv4 +nf_tproxy_ipv6 +nfc +nfc_digital +nfcmrvl +nfcmrvl_i2c +nfcmrvl_spi +nfcmrvl_uart +nfcmrvl_usb +nfcsim +nfnetlink +nfnetlink_acct +nfnetlink_cthelper +nfnetlink_cttimeout +nfnetlink_hook +nfnetlink_log +nfnetlink_osf +nfnetlink_queue +nfp +nfs +nfs_acl +nfs_layout_flexfiles +nfs_layout_nfsv41_files +nfsd +nfsv2 +nfsv3 +nfsv4 +nft_chain_nat +nft_compat +nft_connlimit +nft_ct +nft_dup_ipv4 +nft_dup_ipv6 +nft_dup_netdev +nft_fib +nft_fib_inet +nft_fib_ipv4 +nft_fib_ipv6 +nft_fib_netdev +nft_flow_offload +nft_fwd_netdev +nft_hash +nft_limit +nft_log +nft_masq +nft_meta_bridge +nft_nat +nft_numgen +nft_objref +nft_osf +nft_queue +nft_quota +nft_redir +nft_reject +nft_reject_bridge +nft_reject_inet +nft_reject_ipv4 +nft_reject_ipv6 +nft_reject_netdev +nft_socket +nft_synproxy +nft_tproxy +nft_tunnel +nft_xfrm +nftl +ngene +nhc_dest +nhc_fragment +nhc_hop +nhc_ipv6 +nhc_mobility +nhc_routing +nhc_udp +nhpoly1305 +ni_6527 +ni_65xx +ni_660x +ni_670x +ni_at_a2150 +ni_at_ao +ni_atmio +ni_atmio16d +ni_labpc +ni_labpc_common +ni_labpc_isadma +ni_labpc_pci +ni_pcidio +ni_pcimio +ni_routes_test +ni_routing +ni_tio +ni_tiocmd +ni_usb6501 +nicpf +nicstar +nicvf +nilfs2 +niu +nixge +nlmon +nls_ascii +nls_cp1250 +nls_cp1251 +nls_cp1255 +nls_cp737 +nls_cp775 +nls_cp850 +nls_cp852 +nls_cp855 +nls_cp857 +nls_cp860 +nls_cp861 +nls_cp862 +nls_cp863 +nls_cp864 +nls_cp865 +nls_cp866 +nls_cp869 +nls_cp874 +nls_cp932 +nls_cp936 +nls_cp949 +nls_cp950 +nls_euc-jp +nls_iso8859-1 +nls_iso8859-13 +nls_iso8859-14 +nls_iso8859-15 +nls_iso8859-2 +nls_iso8859-3 +nls_iso8859-4 +nls_iso8859-5 +nls_iso8859-6 +nls_iso8859-7 +nls_iso8859-9 +nls_koi8-r +nls_koi8-ru +nls_koi8-u +nls_utf8 +noa1305 +noon010pc30 +nosy +notifier-error-inject +nouveau +nozomi +npcm750-pwm-fan +nps_enet +ns558 +ns83820 +nsh +ntb +ntb_hw_epf +ntb_hw_idt +ntb_hw_switchtec +ntb_netdev +ntb_perf +ntb_pingpong +ntb_tool +ntb_transport +ntc_thermistor +ntfs +ntfs3 +ntxec +null_blk +nvidiafb +nvme +nvme-core +nvme-fabrics +nvme-fc +nvme-loop +nvme-rdma +nvme-tcp +nvmem-rave-sp-eeprom +nvmem-reboot-mode +nvmem-rmem +nvmem_qcom-spmi-sdam +nvmet +nvmet-fc +nvmet-rdma +nvmet-tcp +nwl-dsi +nx-compress +nx-compress-powernv +nx-compress-pseries +nxp-c45-tja11xx +nxp-nci +nxp-nci_i2c +nxp-ptn3460 +nxp-tja11xx +nxt200x +nxt6000 +nzxt-kraken2 +nzxt-smart2 +objagg +ocfb +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stack_o2cb +ocfs2_stack_user +ocfs2_stackglue +ocrdma +octeon_ep +ocxl +of-fpga-region +of_mmc_spi +of_pmem +of_xilinx_wdt +ofb +ofpart +og01a1b +ohci-platform +omap4-keypad +omfs +omninet +on20 +on26 +onenand +opal-prd +open-dice +opencores-kbd +openvswitch +opt3001 +opticon +option +or51132 +or51211 +orangefs +orinoco +orinoco_nortel +orinoco_plx +orinoco_tmd +orinoco_usb +oti6858 +otm3225a +ov02a10 +ov08d10 +ov13858 +ov13b10 +ov2640 +ov2659 +ov2680 +ov2685 +ov5640 +ov5645 +ov5647 +ov5648 +ov5670 +ov5675 +ov5693 +ov5695 +ov6650 +ov7251 +ov7640 +ov7670 +ov772x +ov7740 +ov8856 +ov8865 +ov9282 +ov9640 +ov9650 +overlay +oxu210hp-hcd +p54common +p54pci +p54spi +p54usb +p8022 +pa12203001 +palmas-pwrbutton +palmas-regulator +palmas_gpadc +pandora_bl +panel +panel-abt-y030xx067a +panel-arm-versatile +panel-asus-z00t-tm5p5-n35596 +panel-boe-bf060y8m-aj0 +panel-boe-himax8279d +panel-boe-tv101wum-nl6 +panel-dsi-cm +panel-edp +panel-elida-kd35t133 +panel-feixin-k101-im2ba02 +panel-feiyang-fy07024di26a30d +panel-ilitek-ili9322 +panel-ilitek-ili9341 +panel-ilitek-ili9881c +panel-innolux-ej030na +panel-innolux-p079zca +panel-jdi-fhd-r63452 +panel-jdi-lt070me05000 +panel-khadas-ts050 +panel-kingdisplay-kd097d04 +panel-leadtek-ltk050h3146w +panel-leadtek-ltk500hd1829 +panel-lg-lb035q02 +panel-lg-lg4573 +panel-lvds +panel-mantix-mlaf057we51 +panel-mipi-dbi +panel-nec-nl8048hl11 +panel-newvision-nv3052c +panel-novatek-nt35510 +panel-novatek-nt35560 +panel-novatek-nt35950 +panel-novatek-nt36672a +panel-novatek-nt39016 +panel-olimex-lcd-olinuxino +panel-orisetech-otm8009a +panel-osd-osd101t2587-53ts +panel-panasonic-vvx10f034n00 +panel-raspberrypi-touchscreen +panel-raydium-rm67191 +panel-raydium-rm68200 +panel-ronbo-rb070d30 +panel-samsung-atna33xc20 +panel-samsung-db7430 +panel-samsung-ld9040 +panel-samsung-s6d16d0 +panel-samsung-s6d27a1 +panel-samsung-s6e3ha2 +panel-samsung-s6e63j0x03 +panel-samsung-s6e63m0 +panel-samsung-s6e63m0-dsi +panel-samsung-s6e63m0-spi +panel-samsung-s6e88a0-ams452ef01 +panel-samsung-s6e8aa0 +panel-samsung-sofef00 +panel-seiko-43wvf1g +panel-sharp-lq101r1sx01 +panel-sharp-ls037v7dw01 +panel-sharp-ls043t1le01 +panel-sharp-ls060t1sx01 +panel-simple +panel-sitronix-st7701 +panel-sitronix-st7703 +panel-sitronix-st7789v +panel-sony-acx565akm +panel-sony-tulip-truly-nt35521 +panel-tdo-tl070wsh30 +panel-tpo-td028ttec1 +panel-tpo-td043mtea1 +panel-tpo-tpg110 +panel-truly-nt35597 +panel-visionox-rm69299 +panel-widechips-ws2401 +panel-xinpeng-xpp055c272 +papr_scm +parade-ps8622 +parade-ps8640 +paride +parkbd +parman +parport +parport_ax88796 +parport_pc +parport_serial +pata_ali +pata_amd +pata_artop +pata_atiixp +pata_atp867x +pata_cmd640 +pata_cmd64x +pata_cypress +pata_efar +pata_hpt366 +pata_hpt37x +pata_hpt3x2n +pata_hpt3x3 +pata_it8213 +pata_it821x +pata_jmicron +pata_legacy +pata_marvell +pata_mpiix +pata_netcell +pata_ninja32 +pata_ns87410 +pata_ns87415 +pata_of_platform +pata_oldpiix +pata_opti +pata_optidma +pata_pdc2027x +pata_pdc202xx_old +pata_piccolo +pata_platform +pata_radisys +pata_rdc +pata_rz1000 +pata_sch +pata_serverworks +pata_sil680 +pata_sis +pata_sl82c105 +pata_triflex +pata_via +pc300too +pca9450-regulator +pcap-regulator +pcap_keys +pcap_ts +pcbc +pcd +pcf50633 +pcf50633-adc +pcf50633-backlight +pcf50633-charger +pcf50633-gpio +pcf50633-input +pcf50633-regulator +pcf8574_keypad +pcf8591 +pch_udc +pci +pci-epf-ntb +pci-pf-stub +pci-stub +pci200syn +pcips2 +pcl711 +pcl724 +pcl726 +pcl730 +pcl812 +pcl816 +pcl818 +pcm3724 +pcmad +pcmda12 +pcmmio +pcmuio +pcnet32 +pcrypt +pcs-lynx +pcs_xpcs +pcspkr +pcwd_pci +pcwd_usb +pd +pda_power +pdc_adma +peak_pci +peak_pciefd +peak_usb +peci +peci-cpu +peci-cputemp +peci-dimmtemp +pegasus +pegasus_notetaker +penmount +pf +pf8x00-regulator +pfuze100-regulator +pg +phantom +phonet +phram +phy-bcm-kona-usb2 +phy-cadence-salvo +phy-cadence-sierra +phy-cadence-torrent +phy-can-transceiver +phy-cpcap-usb +phy-exynos-usb2 +phy-generic +phy-gpio-vbus-usb +phy-isp1301 +phy-mapphone-mdm6600 +phy-ocelot-serdes +phy-pxa-28nm-hsic +phy-pxa-28nm-usb2 +phy-qcom-usb-hs +phy-qcom-usb-hsic +phy-tahvo +phy-tusb1210 +phylink +physmap +pi3usb30532 +pi433 +pim4328 +pinctrl-axp209 +pinctrl-da9062 +pinctrl-lochnagar +pinctrl-madera +pinctrl-max77620 +pinctrl-mcp23s08 +pinctrl-mcp23s08_i2c +pinctrl-mcp23s08_spi +pinctrl-rk805 +pinctrl-stmfx +ping +pistachio-internal-dac +pixcir_i2c_ts +pkcs7_test_key +pkcs8_key_parser +pktcdvd +pktgen +pl2303 +plat-ram +plat_nand +platform_lcd +platform_mhu +plfxlc +pli1209bc +plip +plusb +pluto2 +plx_dma +plx_pci +pm-notifier-error-inject +pm2fb +pm3fb +pm6764tr +pm80xx +pmbus +pmbus_core +pmc551 +pmcraid +pms7003 +pn532_uart +pn533 +pn533_i2c +pn533_usb +pn544 +pn544_i2c +pn_pep +pnv-php +poly1305_generic +port100 +powermate +powernv-op-panel +powernv-rng +powernv_flash +powr1220 +ppa +ppdev +ppp_async +ppp_deflate +ppp_mppe +ppp_synctty +pppoatm +pppoe +pppox +pps-gpio +pps-ldisc +pps_parport +pptp +prestera +prestera_pci +pretimeout_panic +prism2_usb +ps2-gpio +ps2mult +psample +pseries-rng +pseries_energy +psmouse +psnap +pstore_blk +pstore_zone +psxpad-spi +pt +ptp-qoriq +ptp_clockmatrix +ptp_idt82p33 +ptp_ines +ptp_ocp +pulse8-cec +pulsedlight-lidar-lite-v2 +pv88060-regulator +pv88080-regulator +pv88090-regulator +pvpanic +pvpanic-mmio +pvpanic-pci +pvrusb2 +pwc +pwm-atmel-hlcdc +pwm-atmel-tcb +pwm-beeper +pwm-dwc +pwm-fan +pwm-fsl-ftm +pwm-iqs620a +pwm-ir-tx +pwm-lp3943 +pwm-ntxec +pwm-pca9685 +pwm-regulator +pwm-twl +pwm-twl-led +pwm-vibra +pwm-xilinx +pwm_bl +pwrseq_emmc +pwrseq_sd8787 +pwrseq_simple +pxa27x_udc +pxe1610 +pxrc +qca8k +qca_7k_common +qcaspi +qcauart +qcaux +qcom-emac +qcom-labibb-regulator +qcom-pm8008 +qcom-spmi-adc5 +qcom-spmi-iadc +qcom-spmi-vadc +qcom-vadc-common +qcom-wled +qcom_glink +qcom_glink_rpm +qcom_spmi-regulator +qcom_usb_vbus-regulator +qcserial +qed +qede +qedf +qedi +qedr +qinfo_probe +qla1280 +qla2xxx +qla3xxx +qla4xxx +qlcnic +qlge +qm1d1b0004 +qm1d1c0042 +qmi_helpers +qmi_wwan +qnx4 +qnx6 +qrtr +qrtr-mhi +qrtr-smd +qrtr-tun +qsemi +qt1010 +qt1050 +qt1070 +qt2160 +qtnfmac +qtnfmac_pcie +quatech2 +quota_tree +quota_v1 +quota_v2 +qwiic-joystick +qxl +r592 +r6040 +r8152 +r8153_ecm +r8169 +r8188eu +r8192e_pci +r8192u_usb +r820t +r852 +r8712u +r8723bs +r8a66597-hcd +r8a66597-udc +radeon +radeonfb +radio-keene +radio-ma901 +radio-maxiradio +radio-mr800 +radio-platform-si4713 +radio-raremono +radio-shark +radio-si470x-common +radio-si470x-i2c +radio-si470x-usb +radio-si476x +radio-tea5764 +radio-usb-si4713 +radio-wl1273 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid_class +rainshadow-cec +ramoops +rave-sp +rave-sp-backlight +rave-sp-pwrbutton +rave-sp-wdt +raw_diag +raw_gadget +raydium_i2c_ts +rbd +rc-adstech-dvb-t-pci +rc-alink-dtu-m +rc-anysee +rc-apac-viewcomp +rc-astrometa-t2hybrid +rc-asus-pc39 +rc-asus-ps3-100 +rc-ati-tv-wonder-hd-600 +rc-ati-x10 +rc-avermedia +rc-avermedia-a16d +rc-avermedia-cardbus +rc-avermedia-dvbt +rc-avermedia-m135a +rc-avermedia-m733a-rm-k6 +rc-avermedia-rm-ks +rc-avertv-303 +rc-azurewave-ad-tu700 +rc-beelink-gs1 +rc-behold +rc-behold-columbus +rc-budget-ci-old +rc-cinergy +rc-cinergy-1400 +rc-core +rc-ct-90405 +rc-d680-dmb +rc-delock-61959 +rc-dib0700-nec +rc-dib0700-rc5 +rc-digitalnow-tinytwin +rc-digittrade +rc-dm1105-nec +rc-dntv-live-dvb-t +rc-dntv-live-dvbt-pro +rc-dtt200u +rc-dvbsky +rc-dvico-mce +rc-dvico-portable +rc-em-terratec +rc-encore-enltv +rc-encore-enltv-fm53 +rc-encore-enltv2 +rc-evga-indtube +rc-eztv +rc-flydvb +rc-flyvideo +rc-fusionhdtv-mce +rc-gadmei-rm008z +rc-geekbox +rc-genius-tvgo-a11mce +rc-gotview7135 +rc-hauppauge +rc-hisi-poplar +rc-hisi-tv-demo +rc-imon-mce +rc-imon-pad +rc-imon-rsc +rc-iodata-bctv7e +rc-it913x-v1 +rc-it913x-v2 +rc-kaiomy +rc-khadas +rc-khamsin +rc-kworld-315u +rc-kworld-pc150u +rc-kworld-plus-tv-analog +rc-leadtek-y04g0051 +rc-lme2510 +rc-loopback +rc-manli +rc-mecool-kii-pro +rc-mecool-kiii-pro +rc-medion-x10 +rc-medion-x10-digitainer +rc-medion-x10-or2x +rc-minix-neo +rc-msi-digivox-ii +rc-msi-digivox-iii +rc-msi-tvanywhere +rc-msi-tvanywhere-plus +rc-nebula +rc-nec-terratec-cinergy-xs +rc-norwood +rc-npgtech +rc-odroid +rc-pctv-sedna +rc-pine64 +rc-pinnacle-color +rc-pinnacle-grey +rc-pinnacle-pctv-hd +rc-pixelview +rc-pixelview-002t +rc-pixelview-mk12 +rc-pixelview-new +rc-powercolor-real-angel +rc-proteus-2309 +rc-purpletv +rc-pv951 +rc-rc6-mce +rc-real-audio-220-32-keys +rc-reddo +rc-snapstream-firefly +rc-streamzap +rc-su3000 +rc-tanix-tx3mini +rc-tanix-tx5max +rc-tbs-nec +rc-technisat-ts35 +rc-technisat-usb2 +rc-terratec-cinergy-c-pci +rc-terratec-cinergy-s2-hd +rc-terratec-cinergy-xs +rc-terratec-slim +rc-terratec-slim-2 +rc-tevii-nec +rc-tivo +rc-total-media-in-hand +rc-total-media-in-hand-02 +rc-trekstor +rc-tt-1500 +rc-twinhan-dtv-cab-ci +rc-twinhan1027 +rc-vega-s9x +rc-videomate-m1f +rc-videomate-s350 +rc-videomate-tv-pvr +rc-videostrong-kii-pro +rc-wetek-hub +rc-wetek-play2 +rc-winfast +rc-winfast-usbii-deluxe +rc-x96max +rc-xbox-360 +rc-xbox-dvd +rc-zx-irdec +rc5t583-regulator +rcar_dw_hdmi +rcar_mipi_dsi +rdacm20 +rdacm21 +rdc321x-southbridge +rdma_cm +rdma_rxe +rdma_ucm +rds +rds_rdma +rds_tcp +realtek +realtek-mdio +realtek-smi +reboot-mode +redboot +redrat3 +reed_solomon +regmap-i3c +regmap-sccb +regmap-sdw +regmap-sdw-mbq +regmap-slimbus +regmap-spi-avmm +regmap-spmi +regmap-w1 +regulator-haptic +reiserfs +repaper +reset-ti-syscon +resistive-adc-touch +retu-mfd +retu-pwrbutton +retu_wdt +rfc1051 +rfc1201 +rfcomm +rfd77402 +rfd_ftl +rfkill-gpio +rio-scan +rio_cm +rio_mport_cdev +rionet +rivafb +rj54n1cb0c +rk805-pwrkey +rk808 +rk808-regulator +rm3100-core +rm3100-i2c +rm3100-spi +rmd160 +rmi_core +rmi_i2c +rmi_smbus +rmi_spi +rmnet +rn5t618 +rn5t618-adc +rn5t618-regulator +rn5t618_power +rn5t618_wdt +rnbd-client +rnbd-server +rndis_host +rndis_wlan +rockchip +rocker +rohm-bd71828 +rohm-bd718x7 +rohm-bd9576 +rohm-regulator +rohm_bu21023 +romfs +rose +rotary_encoder +rp2 +rpadlpar_io +rpaphp +rpcrdma +rpcsec_gss_krb5 +rpi-panel-attiny-regulator +rpmsg_char +rpmsg_core +rpmsg_ctrl +rpmsg_ns +rpmsg_tty +rpmsg_wwan_ctrl +rpr0521 +rsi_91x +rsi_sdio +rsi_usb +rsmu-i2c +rsmu-spi +rt1719 +rt2400pci +rt2500pci +rt2500usb +rt2800lib +rt2800mmio +rt2800pci +rt2800usb +rt2x00lib +rt2x00mmio +rt2x00pci +rt2x00usb +rt4801-regulator +rt4831 +rt4831-backlight +rt4831-regulator +rt5033 +rt5033-regulator +rt5033_battery +rt5190a-regulator +rt5759-regulator +rt6160-regulator +rt61pci +rt6245-regulator +rt73usb +rt9455_charger +rtas_flash +rtc-88pm80x +rtc-88pm860x +rtc-ab-b5ze-s3 +rtc-ab-eoz9 +rtc-abx80x +rtc-as3722 +rtc-bd70528 +rtc-bq32k +rtc-bq4802 +rtc-cadence +rtc-cmos +rtc-cpcap +rtc-da9052 +rtc-da9055 +rtc-da9063 +rtc-ds1286 +rtc-ds1302 +rtc-ds1305 +rtc-ds1307 +rtc-ds1343 +rtc-ds1347 +rtc-ds1374 +rtc-ds1390 +rtc-ds1511 +rtc-ds1553 +rtc-ds1672 +rtc-ds1685 +rtc-ds1742 +rtc-ds2404 +rtc-ds3232 +rtc-em3027 +rtc-fm3130 +rtc-ftrtc010 +rtc-goldfish +rtc-hid-sensor-time +rtc-hym8563 +rtc-isl12022 +rtc-isl12026 +rtc-isl1208 +rtc-lp8788 +rtc-m41t80 +rtc-m41t93 +rtc-m41t94 +rtc-m48t35 +rtc-m48t59 +rtc-m48t86 +rtc-max6900 +rtc-max6902 +rtc-max6916 +rtc-max77686 +rtc-max8907 +rtc-max8925 +rtc-max8997 +rtc-max8998 +rtc-mc13xxx +rtc-mcp795 +rtc-msm6242 +rtc-mt6397 +rtc-ntxec +rtc-palmas +rtc-pcap +rtc-pcf2123 +rtc-pcf2127 +rtc-pcf50633 +rtc-pcf85063 +rtc-pcf8523 +rtc-pcf85363 +rtc-pcf8563 +rtc-pcf8583 +rtc-r7301 +rtc-r9701 +rtc-rc5t583 +rtc-rc5t619 +rtc-rk808 +rtc-rp5c01 +rtc-rs5c348 +rtc-rs5c372 +rtc-rv3028 +rtc-rv3029c2 +rtc-rv3032 +rtc-rv8803 +rtc-rx4581 +rtc-rx6110 +rtc-rx8010 +rtc-rx8025 +rtc-rx8581 +rtc-s35390a +rtc-s5m +rtc-sd3078 +rtc-stk17ta8 +rtc-tps6586x +rtc-tps65910 +rtc-twl +rtc-v3020 +rtc-wm831x +rtc-wm8350 +rtc-x1205 +rtc-zynqmp +rtc_cmos_setup +rtd520 +rti800 +rti802 +rtl2830 +rtl2832 +rtl2832_sdr +rtl8150 +rtl8187 +rtl8188ee +rtl818x_pci +rtl8192c-common +rtl8192ce +rtl8192cu +rtl8192de +rtl8192ee +rtl8192se +rtl8365mb +rtl8366 +rtl8723-common +rtl8723ae +rtl8723be +rtl8821ae +rtl8xxxu +rtl_pci +rtl_usb +rtllib +rtllib_crypt_ccmp +rtllib_crypt_tkip +rtllib_crypt_wep +rtlwifi +rtmv20-regulator +rtq2134-regulator +rtq6752-regulator +rtrs-client +rtrs-core +rtrs-server +rts5208 +rtsx_pci +rtsx_pci_ms +rtsx_pci_sdmmc +rtsx_usb +rtsx_usb_ms +rtsx_usb_sdmmc +rtw88_8723d +rtw88_8723de +rtw88_8821c +rtw88_8821ce +rtw88_8822b +rtw88_8822be +rtw88_8822c +rtw88_8822ce +rtw88_core +rtw88_pci +rtw89_8852a +rtw89_8852ae +rtw89_8852c +rtw89_8852ce +rtw89_core +rtw89_pci +rx51_battery +rxrpc +s1d13xxxfb +s2250 +s2255drv +s2io +s2mpa01 +s2mps11 +s3fb +s3fwrn5 +s3fwrn5_i2c +s3fwrn82_uart +s526 +s5c73m3 +s5h1409 +s5h1411 +s5h1420 +s5h1432 +s5k4ecgx +s5k5baf +s5k6a3 +s5k6aa +s5m8767 +s626 +s6sy761 +s921 +saa6588 +saa6752hs +saa7110 +saa7115 +saa7127 +saa7134 +saa7134-alsa +saa7134-dvb +saa7134-empress +saa7134-go7007 +saa7146 +saa7146_vv +saa7164 +saa717x +saa7185 +saa7706h +safe_serial +sample-trace-array +samsung-keypad +samsung-sxgbe +sata_dwc_460ex +sata_inic162x +sata_mv +sata_nv +sata_promise +sata_qstor +sata_sil +sata_sil24 +sata_sis +sata_svw +sata_sx4 +sata_uli +sata_via +sata_vsc +savagefb +sbp_target +sbrmi +sbs-battery +sbs-charger +sbs-manager +sbtsi_temp +sc16is7xx +sc92031 +sca3000 +sca3300 +scd30_core +scd30_i2c +scd30_serial +scd4x +sch_atm +sch_cake +sch_cbq +sch_cbs +sch_choke +sch_codel +sch_drr +sch_dsmark +sch_etf +sch_ets +sch_fq +sch_fq_codel +sch_fq_pie +sch_gred +sch_hfsc +sch_hhf +sch_htb +sch_ingress +sch_mqprio +sch_multiq +sch_netem +sch_pie +sch_plug +sch_prio +sch_qfq +sch_red +sch_sfb +sch_sfq +sch_skbprio +sch_taprio +sch_tbf +sch_teql +scsi_debug +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_spi +sctp +sctp_diag +sd_adc_modulator +sdhci +sdhci-cadence +sdhci-milbeaut +sdhci-of-arasan +sdhci-of-aspeed +sdhci-of-at91 +sdhci-of-dwcmshc +sdhci-of-esdhc +sdhci-of-hlwd +sdhci-omap +sdhci-pci +sdhci-pltfm +sdhci-xenon-driver +sdhci_am654 +sdhci_f_sdh30 +sdio_uart +sensehat-joystick +sensorhub +serial_ir +serio_raw +sermouse +serpent_generic +serport +ses +sf-pdma +sfc +sfc-falcon +sfc-siena +sfp +sgi_w1 +sgp30 +sgp40 +sha1-powerpc +sha3_generic +shark2 +shiftfs +sht15 +sht21 +sht3x +sht4x +shtc1 +si1133 +si1145 +si2157 +si2165 +si2168 +si21xx +si4713 +si476x-core +si7005 +si7020 +sidewinder +sierra +sierra_net +sifive +sii902x +sii9234 +sil-sii8620 +sil164 +silead +simple-bridge +simple-mfd-i2c +simpledrm +simplefb +siox-bus-gpio +siox-core +sis190 +sis5595 +sis900 +sis_i2c +sisfb +sisusbvga +sit +siw +sja1000 +sja1000_isa +sja1000_platform +sja1105 +skfp +skge +sky2 +sky81452 +sky81452-backlight +sky81452-regulator +sl811-hcd +slcan +slg51000-regulator +slicoss +slim-qcom-ctrl +slimbus +slip +slram +sm2_generic +sm3 +sm3_generic +sm4 +sm4_generic +sm501 +sm501fb +sm712fb +sm750fb +sm_common +sm_ftl +smartpqi +smb347-charger +smc +smc_diag +smipcie +smm665 +smsc +smsc47m192 +smsc75xx +smsc911x +smsc9420 +smsc95xx +smscufx +smsdvb +smsmdtv +smssdio +smsusb +snd +snd-ac97-codec +snd-acp-config +snd-ad1889 +snd-ak4113 +snd-ak4114 +snd-ak4xxx-adda +snd-aloop +snd-als4000 +snd-atiixp +snd-atiixp-modem +snd-au8810 +snd-au8820 +snd-au8830 +snd-aw2 +snd-bcd2000 +snd-bebob +snd-bt87x +snd-ca0106 +snd-cmipci +snd-compress +snd-cs4281 +snd-cs46xx +snd-ctl-led +snd-ctxfi +snd-darla20 +snd-darla24 +snd-dice +snd-dummy +snd-echo3g +snd-ens1370 +snd-ens1371 +snd-fireface +snd-firewire-digi00x +snd-firewire-lib +snd-firewire-motu +snd-firewire-tascam +snd-fireworks +snd-fm801 +snd-gina20 +snd-gina24 +snd-hda-codec +snd-hda-codec-analog +snd-hda-codec-ca0110 +snd-hda-codec-ca0132 +snd-hda-codec-cirrus +snd-hda-codec-cmedia +snd-hda-codec-conexant +snd-hda-codec-cs8409 +snd-hda-codec-generic +snd-hda-codec-hdmi +snd-hda-codec-idt +snd-hda-codec-realtek +snd-hda-codec-si3054 +snd-hda-codec-via +snd-hda-core +snd-hda-intel +snd-hdsp +snd-hdspm +snd-hrtimer +snd-hwdep +snd-i2c +snd-ice1724 +snd-ice17xx-ak4xxx +snd-indigo +snd-indigodj +snd-indigodjx +snd-indigoio +snd-indigoiox +snd-intel-dspcfg +snd-intel8x0 +snd-intel8x0m +snd-isight +snd-korg1212 +snd-layla20 +snd-layla24 +snd-lola +snd-lx6464es +snd-mia +snd-mixart +snd-mixer-oss +snd-mona +snd-mpu401 +snd-mpu401-uart +snd-mtpav +snd-mts64 +snd-nm256 +snd-opl3-lib +snd-opl3-synth +snd-oxfw +snd-oxygen +snd-oxygen-lib +snd-pcm +snd-pcm-dmaengine +snd-pcxhr +snd-portman2x4 +snd-pt2258 +snd-rawmidi +snd-riptide +snd-rme32 +snd-rme96 +snd-rme9652 +snd-sb-common +snd-seq +snd-seq-device +snd-seq-dummy +snd-seq-midi +snd-seq-midi-emul +snd-seq-midi-event +snd-seq-virmidi +snd-serial-generic +snd-serial-u16550 +snd-soc-63xx +snd-soc-ac97 +snd-soc-acp-rt5645-mach +snd-soc-adau-utils +snd-soc-adau1372 +snd-soc-adau1372-i2c +snd-soc-adau1372-spi +snd-soc-adau1701 +snd-soc-adau1761 +snd-soc-adau1761-i2c +snd-soc-adau1761-spi +snd-soc-adau17x1 +snd-soc-adau7002 +snd-soc-adau7118 +snd-soc-adau7118-hw +snd-soc-adau7118-i2c +snd-soc-adi-axi-i2s +snd-soc-adi-axi-spdif +snd-soc-ak4104 +snd-soc-ak4118 +snd-soc-ak4375 +snd-soc-ak4458 +snd-soc-ak4554 +snd-soc-ak4613 +snd-soc-ak4642 +snd-soc-ak5386 +snd-soc-ak5558 +snd-soc-alc5623 +snd-soc-audio-graph-card +snd-soc-audio-graph-card2 +snd-soc-audio-graph-card2-custom-sample +snd-soc-aw8738 +snd-soc-bd28623 +snd-soc-bt-sco +snd-soc-core +snd-soc-cpcap +snd-soc-cs35l32 +snd-soc-cs35l33 +snd-soc-cs35l34 +snd-soc-cs35l35 +snd-soc-cs35l36 +snd-soc-cs35l41 +snd-soc-cs35l41-i2c +snd-soc-cs35l41-lib +snd-soc-cs35l41-spi +snd-soc-cs35l45 +snd-soc-cs35l45-i2c +snd-soc-cs35l45-spi +snd-soc-cs35l45-tables +snd-soc-cs4234 +snd-soc-cs4265 +snd-soc-cs4270 +snd-soc-cs4271 +snd-soc-cs4271-i2c +snd-soc-cs4271-spi +snd-soc-cs42l42 +snd-soc-cs42l51 +snd-soc-cs42l51-i2c +snd-soc-cs42l52 +snd-soc-cs42l56 +snd-soc-cs42l73 +snd-soc-cs42xx8 +snd-soc-cs42xx8-i2c +snd-soc-cs43130 +snd-soc-cs4341 +snd-soc-cs4349 +snd-soc-cs53l30 +snd-soc-cx2072x +snd-soc-da7213 +snd-soc-dmic +snd-soc-es7134 +snd-soc-es7241 +snd-soc-es8316 +snd-soc-es8328 +snd-soc-es8328-i2c +snd-soc-es8328-spi +snd-soc-fsl-asrc +snd-soc-fsl-audmix +snd-soc-fsl-easrc +snd-soc-fsl-esai +snd-soc-fsl-micfil +snd-soc-fsl-mqs +snd-soc-fsl-rpmsg +snd-soc-fsl-sai +snd-soc-fsl-spdif +snd-soc-fsl-ssi +snd-soc-fsl-xcvr +snd-soc-gtm601 +snd-soc-hdmi-codec +snd-soc-ics43432 +snd-soc-imx-audmux +snd-soc-inno-rk3036 +snd-soc-lochnagar-sc +snd-soc-lpass-macro-common +snd-soc-lpass-rx-macro +snd-soc-lpass-tx-macro +snd-soc-lpass-va-macro +snd-soc-lpass-wsa-macro +snd-soc-max9759 +snd-soc-max98088 +snd-soc-max98357a +snd-soc-max98373 +snd-soc-max98373-i2c +snd-soc-max98373-sdw +snd-soc-max98390 +snd-soc-max98396 +snd-soc-max98504 +snd-soc-max98520 +snd-soc-max9860 +snd-soc-max9867 +snd-soc-max98927 +snd-soc-mikroe-proto +snd-soc-msm8916-analog +snd-soc-msm8916-digital +snd-soc-mt6351 +snd-soc-mt6358 +snd-soc-mt6660 +snd-soc-nau8315 +snd-soc-nau8540 +snd-soc-nau8810 +snd-soc-nau8821 +snd-soc-nau8822 +snd-soc-nau8824 +snd-soc-pcm1681 +snd-soc-pcm1789-codec +snd-soc-pcm1789-i2c +snd-soc-pcm179x-codec +snd-soc-pcm179x-i2c +snd-soc-pcm179x-spi +snd-soc-pcm186x +snd-soc-pcm186x-i2c +snd-soc-pcm186x-spi +snd-soc-pcm3060 +snd-soc-pcm3060-i2c +snd-soc-pcm3060-spi +snd-soc-pcm3168a +snd-soc-pcm3168a-i2c +snd-soc-pcm3168a-spi +snd-soc-pcm5102a +snd-soc-pcm512x +snd-soc-pcm512x-i2c +snd-soc-pcm512x-spi +snd-soc-rk3328 +snd-soc-rk817 +snd-soc-rl6231 +snd-soc-rt1308-sdw +snd-soc-rt1316-sdw +snd-soc-rt5616 +snd-soc-rt5631 +snd-soc-rt5640 +snd-soc-rt5645 +snd-soc-rt5659 +snd-soc-rt5682 +snd-soc-rt5682-sdw +snd-soc-rt700 +snd-soc-rt711 +snd-soc-rt711-sdca +snd-soc-rt715 +snd-soc-rt715-sdca +snd-soc-rt9120 +snd-soc-sdw-mockup +snd-soc-sgtl5000 +snd-soc-si476x +snd-soc-sigmadsp +snd-soc-sigmadsp-i2c +snd-soc-sigmadsp-regmap +snd-soc-simple-amplifier +snd-soc-simple-card +snd-soc-simple-card-utils +snd-soc-simple-mux +snd-soc-spdif-rx +snd-soc-spdif-tx +snd-soc-ssm2305 +snd-soc-ssm2518 +snd-soc-ssm2602 +snd-soc-ssm2602-i2c +snd-soc-ssm2602-spi +snd-soc-ssm4567 +snd-soc-sta32x +snd-soc-sta350 +snd-soc-sti-sas +snd-soc-tas2552 +snd-soc-tas2562 +snd-soc-tas2764 +snd-soc-tas2770 +snd-soc-tas5086 +snd-soc-tas571x +snd-soc-tas5720 +snd-soc-tas5805m +snd-soc-tas6424 +snd-soc-tda7419 +snd-soc-test-component +snd-soc-tfa9879 +snd-soc-tfa989x +snd-soc-tlv320adc3xxx +snd-soc-tlv320adcx140 +snd-soc-tlv320aic23 +snd-soc-tlv320aic23-i2c +snd-soc-tlv320aic23-spi +snd-soc-tlv320aic31xx +snd-soc-tlv320aic32x4 +snd-soc-tlv320aic32x4-i2c +snd-soc-tlv320aic32x4-spi +snd-soc-tlv320aic3x +snd-soc-tlv320aic3x-i2c +snd-soc-tlv320aic3x-spi +snd-soc-tpa6130a2 +snd-soc-ts3a227e +snd-soc-tscs42xx +snd-soc-tscs454 +snd-soc-uda1334 +snd-soc-wcd-mbhc +snd-soc-wcd9335 +snd-soc-wcd934x +snd-soc-wcd938x +snd-soc-wcd938x-sdw +snd-soc-wm-adsp +snd-soc-wm8510 +snd-soc-wm8523 +snd-soc-wm8524 +snd-soc-wm8580 +snd-soc-wm8711 +snd-soc-wm8728 +snd-soc-wm8731 +snd-soc-wm8731-i2c +snd-soc-wm8731-spi +snd-soc-wm8737 +snd-soc-wm8741 +snd-soc-wm8750 +snd-soc-wm8753 +snd-soc-wm8770 +snd-soc-wm8776 +snd-soc-wm8782 +snd-soc-wm8804 +snd-soc-wm8804-i2c +snd-soc-wm8804-spi +snd-soc-wm8903 +snd-soc-wm8904 +snd-soc-wm8940 +snd-soc-wm8960 +snd-soc-wm8962 +snd-soc-wm8974 +snd-soc-wm8978 +snd-soc-wm8985 +snd-soc-wsa881x +snd-soc-xlnx-formatter-pcm +snd-soc-xlnx-i2s +snd-soc-xlnx-spdif +snd-soc-xtfpga-i2s +snd-soc-zl38060 +snd-timer +snd-ua101 +snd-usb-6fire +snd-usb-audio +snd-usb-caiaq +snd-usb-hiface +snd-usb-line6 +snd-usb-pod +snd-usb-podhd +snd-usb-toneport +snd-usb-usx2y +snd-usb-variax +snd-usbmidi-lib +snd-via82xx +snd-via82xx-modem +snd-virmidi +snd-virtuoso +snd-vx-lib +snd-vx222 +snd-ymfpci +snic +snps_udc_core +snps_udc_plat +softdog +softing +solo6x10 +solos-pci +sony-btf-mpx +soundcore +soundwire-bus +soundwire-qcom +sp2 +sp8870 +sp887x +spaceball +spaceorb +sparse-keymap +spcp8x5 +speakup +speakup_acntsa +speakup_apollo +speakup_audptr +speakup_bns +speakup_decext +speakup_dectlk +speakup_dummy +speakup_ltlk +speakup_soft +speakup_spkout +speakup_txprt +speedfax +speedtch +spi-altera-core +spi-altera-dfl +spi-altera-platform +spi-amd +spi-axi-spi-engine +spi-bitbang +spi-butterfly +spi-cadence +spi-cadence-xspi +spi-dln2 +spi-dw +spi-dw-mmio +spi-dw-pci +spi-fsi +spi-gpio +spi-lm70llp +spi-loopback-test +spi-mux +spi-mxic +spi-nor +spi-nxp-fspi +spi-oc-tiny +spi-pxa2xx-pci +spi-pxa2xx-platform +spi-sc18is602 +spi-sifive +spi-slave-system-control +spi-slave-time +spi-tle62x0 +spi-xcomm +spi-zynqmp-gqspi +spi_ks8995 +spidev +spinand +spl +spmi +sprd_serial +sps30 +sps30_i2c +sps30_serial +sr030pc30 +sr9700 +sr9800 +srf04 +srf08 +ssb +ssb-hcd +ssd1307fb +ssd130x +ssd130x-i2c +ssd130x-spi +ssfdc +ssp_accel_sensor +ssp_gyro_sensor +ssp_iio +sst25l +sstfb +ssu100 +st +st-mipid02 +st-nci +st-nci_i2c +st-nci_spi +st1232 +st21nfca_hci +st21nfca_i2c +st7586 +st7735r +st95hf +st_accel +st_accel_i2c +st_accel_spi +st_drv +st_gyro +st_gyro_i2c +st_gyro_spi +st_lsm6dsx +st_lsm6dsx_i2c +st_lsm6dsx_i3c +st_lsm6dsx_spi +st_lsm9ds0 +st_lsm9ds0_i2c +st_lsm9ds0_spi +st_magn +st_magn_i2c +st_magn_spi +st_pressure +st_pressure_i2c +st_pressure_spi +st_sensors +st_sensors_i2c +st_sensors_spi +st_uvis25_core +st_uvis25_i2c +st_uvis25_spi +starfire +stb0899 +stb6000 +stb6100 +ste10Xp +stex +stinger +stk1160 +stk3310 +stk8312 +stk8ba50 +stkwebcam +stm_console +stm_core +stm_ftrace +stm_heartbeat +stm_p_basic +stm_p_sys-t +stmfts +stmfx +stmmac +stmmac-pci +stmmac-platform +stmpe-adc +stmpe-keypad +stmpe-ts +stowaway +stp +stpddc60 +stpmic1 +stpmic1_onkey +stpmic1_regulator +stpmic1_wdt +streamzap +streebog_generic +stts751 +stusb160x +stv0288 +stv0297 +stv0299 +stv0367 +stv0900 +stv090x +stv0910 +stv6110 +stv6110x +stv6111 +sundance +sungem +sungem_phy +sunhme +suni +sunkbd +sunrise_co2 +sunrpc +sur40 +surface3_spi +svc-i3c-master +svgalib +switchtec +sx8 +sx8654 +sx9310 +sx9324 +sx9360 +sx9500 +sx_common +sy7636a-hwmon +sy7636a-regulator +sy8106a-regulator +sy8824x +sy8827n +sym53c8xx +symbolserial +synaptics_i2c +synaptics_usb +synclink_gt +syscon-reboot-mode +syscopyarea +sysfillrect +sysimgblt +sysv +t5403 +tag_ar9331 +tag_brcm +tag_dsa +tag_gswip +tag_hellcreek +tag_ksz +tag_lan9303 +tag_mtk +tag_ocelot +tag_ocelot_8021q +tag_qca +tag_rtl4_a +tag_rtl8_4 +tag_sja1105 +tag_trailer +tag_xrs700x +tap +target_core_file +target_core_iblock +target_core_mod +target_core_pscsi +target_core_user +tc-dwc-g210 +tc-dwc-g210-pci +tc-dwc-g210-pltfrm +tc358743 +tc358762 +tc358764 +tc358767 +tc358768 +tc358775 +tc3589x-keypad +tc654 +tc74 +tc90522 +tca6416-keypad +tca8418_keypad +tcan4x5x +tcm_fc +tcm_loop +tcm_qla2xxx +tcm_usb_gadget +tcp_bbr +tcp_bic +tcp_cdg +tcp_dctcp +tcp_diag +tcp_highspeed +tcp_htcp +tcp_hybla +tcp_illinois +tcp_lp +tcp_nv +tcp_scalable +tcp_vegas +tcp_veno +tcp_westwood +tcp_yeah +tcpci +tcpci_maxim +tcpci_mt6360 +tcpci_rt1711h +tcpm +tcrypt +tcs3414 +tcs3472 +tda10021 +tda10023 +tda10048 +tda1004x +tda10071 +tda10086 +tda18212 +tda18218 +tda18250 +tda18271 +tda18271c2dd +tda1997x +tda665x +tda7432 +tda8083 +tda8261 +tda826x +tda827x +tda8290 +tda9840 +tda9887 +tda9950 +tda998x +tdfxfb +tdo24m +tea575x +tea5761 +tea5767 +tea6415c +tea6420 +team +team_mode_activebackup +team_mode_broadcast +team_mode_loadbalance +team_mode_random +team_mode_roundrobin +tef6862 +tehuti +teranetics +test_blackhole_dev +test_bpf +test_power +tg3 +thc63lvd1024 +thermal-generic-adc +thermal_mmio +thmc50 +ths7303 +ths8200 +thunder_bgx +thunder_xcv +thunderbolt +thunderbolt-net +ti-adc081c +ti-adc0832 +ti-adc084s021 +ti-adc108s102 +ti-adc12138 +ti-adc128s052 +ti-adc161s626 +ti-ads1015 +ti-ads124s08 +ti-ads131e08 +ti-ads7950 +ti-ads8344 +ti-ads8688 +ti-dac082s085 +ti-dac5571 +ti-dac7311 +ti-dac7612 +ti-lmu +ti-sn65dsi83 +ti-sn65dsi86 +ti-tfp410 +ti-tlc4541 +ti-tpd12s015 +ti-tsc2046 +ti_am335x_adc +ti_am335x_tsc +ti_am335x_tscadc +ti_usb_3410_5052 +tifm_7xx1 +tifm_core +tifm_ms +tifm_sd +timeriomem-rng +tipc +tlan +tls +tlv320aic23b +tm2-touchkey +tm6000 +tm6000-alsa +tm6000-dvb +tmdc +tmp006 +tmp007 +tmp102 +tmp103 +tmp108 +tmp117 +tmp401 +tmp421 +tmp464 +tmp513 +toshsd +touchit213 +touchright +touchwin +tpci200 +tpl0102 +tpm_atmel +tpm_st33zp24 +tpm_st33zp24_i2c +tpm_st33zp24_spi +tpm_tis_i2c_cr50 +tpm_tis_spi +tpm_vtpm_proxy +tps23861 +tps40422 +tps51632-regulator +tps53679 +tps6105x +tps6105x-regulator +tps62360-regulator +tps6286x-regulator +tps65010 +tps65023-regulator +tps6507x +tps6507x-regulator +tps6507x-ts +tps65086 +tps65086-regulator +tps65090-charger +tps65090-regulator +tps65132-regulator +tps65218 +tps65218-pwrbutton +tps65218-regulator +tps6524x-regulator +tps6586x-regulator +tps65910-regulator +tps65912-regulator +tps6598x +tqmx86 +trace-printk +trancevibrator +trf7970a +tridentfb +ts2020 +ts_bm +ts_fsm +ts_kmp +tsc2004 +tsc2005 +tsc2007 +tsc200x-core +tsc40 +tsl2550 +tsl2563 +tsl2583 +tsl2591 +tsl2772 +tsl4531 +tsnep +tsys01 +tsys02d +ttm +ttpci-eeprom +ttusb_dec +ttusbdecfe +ttusbir +ttynull +tua6100 +tua9001 +tulip +tuner +tuner-simple +tuner-types +tunnel4 +tunnel6 +turbografx +tvaudio +tveeprom +tvp514x +tvp5150 +tvp7002 +tw2804 +tw5864 +tw68 +tw686x +tw9903 +tw9906 +tw9910 +twidjoy +twl-regulator +twl4030-madc +twl4030-pwrbutton +twl4030-vibra +twl4030_charger +twl4030_keypad +twl4030_madc_battery +twl4030_wdt +twl6030-gpadc +twl6030-regulator +twl6040-vibra +twofish_common +twofish_generic +typec +typec_displayport +typec_nvidia +typec_ucsi +typhoon +u132-hcd +uPD60620 +u_audio +u_ether +u_serial +uacce +uartlite +uas +ubi +ubifs +ubuntu-host +ucan +ucb1400_core +ucb1400_ts +ucc_uart +ucd9000 +ucd9200 +ucs1002_power +ucsi_ccg +uda1342 +udc-core +udc-xilinx +udf +udl +udlfb +udp_diag +udp_tunnel +ueagle-atm +ufs +ufshcd-core +ufshcd-dwc +ufshcd-pci +ufshcd-pltfrm +ug3105_battery +uhid +uio +uio_aec +uio_cif +uio_dfl +uio_dmem_genirq +uio_fsl_elbc_gpcm +uio_mf624 +uio_netx +uio_pci_generic +uio_pdrv_genirq +uio_pruss +uio_sercos3 +uleds +uli526x +ulpi +ums-alauda +ums-cypress +ums-datafab +ums-eneub6250 +ums-freecom +ums-isd200 +ums-jumpshot +ums-karma +ums-onetouch +ums-realtek +ums-sddr09 +ums-sddr55 +ums-usbat +unix_diag +upd64031a +upd64083 +upd78f0730 +us5182d +usb-conn-gpio +usb-serial-simple +usb-storage +usb251xb +usb3503 +usb4604 +usb8xxx +usb_8dev +usb_debug +usb_f_acm +usb_f_ecm +usb_f_ecm_subset +usb_f_eem +usb_f_fs +usb_f_hid +usb_f_mass_storage +usb_f_midi +usb_f_ncm +usb_f_obex +usb_f_phonet +usb_f_printer +usb_f_rndis +usb_f_serial +usb_f_ss_lb +usb_f_tcm +usb_f_uac1 +usb_f_uac1_legacy +usb_f_uac2 +usb_f_uvc +usb_wwan +usbatm +usbdux +usbduxfast +usbduxsigma +usbhid +usbip-core +usbip-host +usbip-vudc +usbkbd +usblcd +usblp +usbmisc_imx +usbmon +usbmouse +usbnet +usbserial +usbsevseg +usbtest +usbtmc +usbtouchscreen +usbtv +usdhi6rol0 +userio +userspace-consumer +ushc +uss720 +uvcvideo +uvesafb +v4l2-async +v4l2-dv-timings +v4l2-flash-led-class +v4l2-fwnode +v4l2-mem2mem +v4l2-tpg +vcan +vcnl3020 +vcnl4000 +vcnl4035 +vctrl-regulator +vdpa +vdpa_sim +vdpa_sim_blk +vdpa_sim_net +vduse +veml6030 +veml6070 +ves1820 +ves1x93 +veth +vf610_adc +vf610_dac +vga16fb +vgastate +vgem +vgg2432a4 +vhci-hcd +vhost +vhost_iotlb +vhost_net +vhost_scsi +vhost_vdpa +vhost_vsock +via-rhine +via-sdmmc +via-velocity +via686a +vicodec +video-i2c +video-mux +videobuf-core +videobuf-dma-sg +videobuf-vmalloc +videobuf2-common +videobuf2-dma-contig +videobuf2-dma-sg +videobuf2-dvb +videobuf2-memops +videobuf2-v4l2 +videobuf2-vmalloc +videodev +vim2m +vimc +viperboard +viperboard_adc +virt-dma +virt_wifi +virtio-gpu +virtio-rng +virtio_blk +virtio_bt +virtio_crypto +virtio_dma_buf +virtio_input +virtio_net +virtio_pmem +virtio_rpmsg_bus +virtio_scsi +virtio_snd +virtio_vdpa +virtiofs +virtual +virtual_ncidev +visor +vitesse +vitesse-vsc73xx-core +vitesse-vsc73xx-platform +vitesse-vsc73xx-spi +vivid +vkms +vl53l0x-i2c +vl6180 +vmac +vme_fake +vme_tsi148 +vme_user +vme_vmivme7805 +vmk80xx +vmw_vsock_virtio_transport +vmw_vsock_virtio_transport_common +vmx-crypto +vp27smpx +vp_vdpa +vport-geneve +vport-gre +vport-vxlan +vpx3220 +vrf +vringh +vs6624 +vsock +vsock_diag +vsock_loopback +vsockmon +vsxxxaa +vt6655_stage +vt6656_stage +vt8231 +vt8623fb +vub300 +vx855 +vxcan +vxge +vxlan +vz89x +w1-gpio +w1_ds2405 +w1_ds2406 +w1_ds2408 +w1_ds2413 +w1_ds2423 +w1_ds2430 +w1_ds2431 +w1_ds2433 +w1_ds2438 +w1_ds250x +w1_ds2780 +w1_ds2781 +w1_ds2805 +w1_ds28e04 +w1_ds28e17 +w1_smem +w1_therm +w5100 +w5100-spi +w5300 +w6692 +w83773g +w83781d +w83791d +w83792d +w83793 +w83795 +w83l785ts +w83l786ng +wacom +wacom_i2c +wacom_serial4 +wacom_w8001 +walkera0701 +wanxl +warrior +wbsd +wcd934x +wcn36xx +wd719x +wdrtas +wdt87xx_i2c +wdt_pci +wfx +whiteheat +wil6210 +wilc1000 +wilc1000-sdio +wilc1000-spi +winbond-840 +windfarm_core +wire +wireguard +wishbone-serial +wl1251 +wl1251_sdio +wl1251_spi +wl1273-core +wl12xx +wl18xx +wlcore +wlcore_sdio +wlcore_spi +wm831x-dcdc +wm831x-hwmon +wm831x-isink +wm831x-ldo +wm831x-on +wm831x-ts +wm831x_backup +wm831x_bl +wm831x_power +wm831x_wdt +wm8350-hwmon +wm8350-regulator +wm8350_power +wm8350_wdt +wm8400-regulator +wm8739 +wm8775 +wm8994 +wm8994-regulator +wm97xx-ts +wp512 +wusb3801 +wwan_hwsim +x25 +x_tables +xbox_remote +xc2028 +xc4000 +xc5000 +xcbc +xdpe12284 +xdpe152c4 +xfrm4_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_interface +xfrm_ipcomp +xfrm_user +xfs +xhci-pci +xhci-pci-renesas +xhci-plat-hcd +xilinx-csi2rxss +xilinx-pr-decoupler +xilinx-spi +xilinx-tpg +xilinx-video +xilinx-vtc +xilinx-xadc +xilinx_dpdma +xilinx_emac +xilinx_emaclite +xilinx_gmii2rgmii +xilinx_ps2 +xilinx_sdfec +xilinx_uartps +xillybus_class +xillybus_core +xillybus_of +xillybus_pcie +xillyusb +xiphera-trng +xlnx_vcu +xor +xpad +xr_serial +xrs700x +xrs700x_i2c +xrs700x_mdio +xsens_mt +xsk_diag +xt_AUDIT +xt_CHECKSUM +xt_CLASSIFY +xt_CONNSECMARK +xt_CT +xt_DSCP +xt_HL +xt_HMARK +xt_IDLETIMER +xt_LED +xt_LOG +xt_MASQUERADE +xt_NETMAP +xt_NFLOG +xt_NFQUEUE +xt_RATEEST +xt_REDIRECT +xt_SECMARK +xt_TCPMSS +xt_TCPOPTSTRIP +xt_TEE +xt_TPROXY +xt_TRACE +xt_addrtype +xt_bpf +xt_cgroup +xt_cluster +xt_comment +xt_connbytes +xt_connlabel +xt_connlimit +xt_connmark +xt_conntrack +xt_cpu +xt_dccp +xt_devgroup +xt_dscp +xt_ecn +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_ipcomp +xt_iprange +xt_ipvs +xt_l2tp +xt_length +xt_limit +xt_mac +xt_mark +xt_multiport +xt_nat +xt_nfacct +xt_osf +xt_owner +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_rateest +xt_realm +xt_recent +xt_sctp +xt_set +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_tcpudp +xt_time +xt_u32 +xtkbd +xusbatm +xxhash_generic +xz_dec_test +yam +yamaha-yas530 +yealink +yellowfin +yurex +z3fold +zaurus +zavl +zcommon +zd1201 +zd1211rw +zd1301 +zd1301_demod +zet6223 +zforce_ts +zfs +zhenhua +ziirave_wdt +zinitix +zl10036 +zl10039 +zl10353 +zl6100 +zlua +znvpair +zonefs +zopt2201 +zpa2326 +zpa2326_i2c +zpa2326_spi +zr364xx +zram +zstd +zunicode +zzstd --- linux-gcp-5.19.0.orig/debian.master/abi/ppc64el/generic.retpoline +++ linux-gcp-5.19.0/debian.master/abi/ppc64el/generic.retpoline @@ -0,0 +1 @@ +# RETPOLINE NOT ENABLED --- linux-gcp-5.19.0.orig/debian.master/abi/s390x/generic +++ linux-gcp-5.19.0/debian.master/abi/s390x/generic @@ -0,0 +1,13875 @@ +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0x28c98fda crypto_cipher_encrypt_one vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0xc28fbd31 crypto_cipher_decrypt_one vmlinux +CRYPTO_INTERNAL EXPORT_SYMBOL_GPL 0xeaaa002d crypto_cipher_setkey vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x05a43d8f dma_buf_detach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x0f834074 dma_buf_end_cpu_access vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x11adc2b8 dma_buf_move_notify vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x3a2a8baa dma_buf_vunmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x5a36ccfd dma_buf_export vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x6ec08896 dma_buf_put vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x6f45dfa7 dma_buf_mmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x7ba65f75 dma_buf_get vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x8a74e6c1 dma_buf_vmap vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x8f63ade1 dma_buf_attach vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x94a4c473 dma_buf_fd vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0x9b80e965 dma_buf_map_attachment vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xb9f8a293 dma_buf_unmap_attachment vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xd39f43cd dma_buf_unpin vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xdc34ce76 dma_buf_begin_cpu_access vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xe8ee08c6 dma_buf_pin vmlinux +DMA_BUF EXPORT_SYMBOL_GPL 0xf73eafc4 dma_buf_dynamic_attach vmlinux +EXPORT_SYMBOL arch/s390/crypto/chacha_s390 0x220b49ab chacha_crypt_arch +EXPORT_SYMBOL arch/s390/crypto/chacha_s390 0xdc94f829 chacha_init_arch +EXPORT_SYMBOL arch/s390/crypto/chacha_s390 0xdd8ec6bd hchacha_block_arch +EXPORT_SYMBOL crypto/blake2b_generic 0xe13c4380 blake2b_compress_generic +EXPORT_SYMBOL crypto/ecc 0x16e410ff vli_from_be64 +EXPORT_SYMBOL crypto/ecc 0x188a1647 ecc_is_pubkey_valid_full +EXPORT_SYMBOL crypto/ecc 0x1a5faa3a vli_mod_inv +EXPORT_SYMBOL crypto/ecc 0x4c281912 vli_is_zero +EXPORT_SYMBOL crypto/ecc 0x671f7aa5 ecc_is_key_valid +EXPORT_SYMBOL crypto/ecc 0x7c0fbb00 vli_mod_mult_slow +EXPORT_SYMBOL crypto/ecc 0x8261eccb ecc_get_curve25519 +EXPORT_SYMBOL crypto/ecc 0x8e688192 ecc_alloc_point +EXPORT_SYMBOL crypto/ecc 0x90cdc197 ecc_free_point +EXPORT_SYMBOL crypto/ecc 0x9263b417 ecc_point_mult_shamir +EXPORT_SYMBOL crypto/ecc 0x92668805 vli_cmp +EXPORT_SYMBOL crypto/ecc 0x932b6ff7 vli_num_bits +EXPORT_SYMBOL crypto/ecc 0x9f6efabd vli_sub +EXPORT_SYMBOL crypto/ecc 0xa76b31a2 crypto_ecdh_shared_secret +EXPORT_SYMBOL crypto/ecc 0xb10fc19e ecc_get_curve +EXPORT_SYMBOL crypto/ecc 0xd6315f31 ecc_gen_privkey +EXPORT_SYMBOL crypto/ecc 0xd94c8eb5 ecc_point_is_zero +EXPORT_SYMBOL crypto/ecc 0xde867c29 ecc_is_pubkey_valid_partial +EXPORT_SYMBOL crypto/ecc 0xeac9b99a vli_from_le64 +EXPORT_SYMBOL crypto/ecc 0xed4ae15e ecc_make_pub_key +EXPORT_SYMBOL crypto/nhpoly1305 0x0b28671c crypto_nhpoly1305_final_helper +EXPORT_SYMBOL crypto/nhpoly1305 0x2f515837 crypto_nhpoly1305_init +EXPORT_SYMBOL crypto/nhpoly1305 0x5f55e05c crypto_nhpoly1305_final +EXPORT_SYMBOL crypto/nhpoly1305 0x9d96ce75 crypto_nhpoly1305_update +EXPORT_SYMBOL crypto/nhpoly1305 0xa415fb35 crypto_nhpoly1305_setkey +EXPORT_SYMBOL crypto/nhpoly1305 0xe01a2232 crypto_nhpoly1305_update_helper +EXPORT_SYMBOL crypto/sha3_generic 0x34d789fe crypto_sha3_init +EXPORT_SYMBOL crypto/sha3_generic 0x3efeee2d crypto_sha3_update +EXPORT_SYMBOL crypto/sha3_generic 0xe8d1e5e7 crypto_sha3_final +EXPORT_SYMBOL crypto/sm2_generic 0xfcd40d70 sm2_compute_z_digest +EXPORT_SYMBOL crypto/xor 0x5b6c00e6 xor_blocks +EXPORT_SYMBOL drivers/block/drbd/drbd 0x127a5901 drbd_set_st_err_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x35131b36 drbd_role_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0x7730f22d drbd_conn_str +EXPORT_SYMBOL drivers/block/drbd/drbd 0xaf27bebf drbd_disk_str +EXPORT_SYMBOL drivers/gpu/drm/drm 0x00ed0571 drm_connector_atomic_hdr_metadata_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x01bfad2a drm_crtc_create_scaling_filter_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02266b30 drm_prime_sg_to_page_array +EXPORT_SYMBOL drivers/gpu/drm/drm 0x027a77b2 drm_atomic_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x02f62c10 drm_panel_get_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x03156232 __drm_get_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x04091d8e drm_gem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x05895787 drm_release_noglobal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x06a02e37 drm_prime_gem_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x07112cbd drm_mode_get_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0765eef6 drm_client_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x081f4f32 drm_bridge_chain_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0839351f drm_gem_prime_import_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0928bf88 drm_plane_create_color_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a72f765 drm_clflush_virt_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0a8082c2 drm_crtc_vblank_count_and_time +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0acc0bee drm_gem_prime_handle_to_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0c3ef652 drm_vblank_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0cb90fb8 drm_connector_attach_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0d9b4753 drm_mode_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0e7ecf79 drm_connector_has_possible_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0f7acb66 drm_mm_print +EXPORT_SYMBOL drivers/gpu/drm/drm 0x0fd60df2 drm_get_connector_status_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x107742a9 drm_get_subpixel_order_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x10e0bc9b drm_gem_dmabuf_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1117f557 drm_crtc_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x13ff3b71 drm_atomic_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1424d8b5 __drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm 0x14ed02d2 drm_mode_object_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1514c39c drm_sysfs_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x153dd981 drm_syncobj_get_fd +EXPORT_SYMBOL drivers/gpu/drm/drm 0x159feb87 drm_gem_free_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x162df9c5 drm_mode_is_420_also +EXPORT_SYMBOL drivers/gpu/drm/drm 0x16425ca1 drm_atomic_get_crtc_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1663ec28 drm_framebuffer_unregister_private +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1699e8f5 drm_client_modeset_commit_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x178d6f1a drm_crtc_vblank_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x180ce11a drm_gem_objects_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1a411479 drm_syncobj_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1afe431a drm_send_event_timestamp_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1dcadeee drm_plane_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e8139fe drm_connector_update_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x1e873cf3 drm_connector_attach_max_bpc_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2091c1ae drm_panel_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x215e65fe drm_mode_probed_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2183c08c drm_mm_scan_add_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x21e13bc9 drm_gtf_mode_complex +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2214516f drm_mode_config_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2423f51f drm_connector_attach_edid_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24766dbe drm_atomic_print_new_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24993e50 drm_edid_are_equal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24cc9c46 drm_gem_create_mmap_offset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x24d124ac drm_mode_equal_no_clocks_no_stereo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25a8b993 drm_syncobj_find_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x25daad93 __drm_mm_interval_first +EXPORT_SYMBOL drivers/gpu/drm/drm 0x26f71010 drm_panel_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2754dad8 drm_mm_reserve_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x284fb522 drm_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28779e52 drm_printf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x28db9b3c drm_atomic_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x29f078d1 drm_mode_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a8757e4 drm_atomic_get_connector_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2a962499 drm_mm_scan_init_with_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2bc5ee46 drm_panel_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2c236ee1 drm_writeback_connector_init_with_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2cf3d6aa drm_atomic_private_obj_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d4b3e05 drm_plane_create_zpos_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2d7372ee drm_connector_set_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e336a41 drm_framebuffer_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e4967c3 drm_plane_create_scaling_filter_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2e66be19 drm_prime_pages_to_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2ed3c600 drm_mode_debug_printmodeline +EXPORT_SYMBOL drivers/gpu/drm/drm 0x2f3547e1 drm_dev_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x30ef510e drm_atomic_check_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31b8a5e3 __drm_set_edid_firmware_path +EXPORT_SYMBOL drivers/gpu/drm/drm 0x31f32e49 drm_atomic_set_mode_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x32a0cc37 drm_print_bits +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3301e070 drm_send_event_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x33911269 drm_crtc_arm_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3391f79d drm_bridge_chain_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x35aaa4e2 drm_plane_create_alpha_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x36bb4ec7 drm_crtc_from_index +EXPORT_SYMBOL drivers/gpu/drm/drm 0x374f81c0 drm_atomic_get_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37592d3c drm_plane_get_damage_clips_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37bf5d22 drm_gem_dmabuf_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37d1cdfb drm_gem_handle_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0x37eee34f drm_gem_dmabuf_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38247cae drm_mode_put_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0x38690d99 drm_detect_hdmi_monitor +EXPORT_SYMBOL drivers/gpu/drm/drm 0x386ad622 drm_gem_handle_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x39261cee drm_aperture_remove_conflicting_framebuffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a3ba50e drm_framebuffer_plane_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3a485ca0 drm_client_framebuffer_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3aa28bcd drm_client_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3ab87110 drm_mode_equal_no_clocks +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b0b6904 drm_gem_prime_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3b0e5e9c __drm_puts_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3be010a4 drm_connector_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cb803c8 drm_vma_offset_manager_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3cdc37e9 drm_edid_to_speaker_allocation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3f405489 __drm_printfn_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0x3fbde9b6 drmm_kmalloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x40eb75f4 drm_writeback_prepare_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x42fa04b1 drm_panel_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43196fb5 drm_dev_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x43bc8ce4 drm_modeset_acquire_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4403a9c3 drm_mode_get_hv_timing +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44280f76 drm_mode_validate_ycbcr420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x448cfa1d drm_connector_attach_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44a2cadb drm_prime_sg_to_dma_addr_array +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44c8ad31 drm_master_internal_acquire +EXPORT_SYMBOL drivers/gpu/drm/drm 0x44dc4d99 drm_connector_list_update +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4575a0ca drm_mode_set_crtcinfo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47087773 drm_dev_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0x47f84419 drmm_kfree +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4945ea85 drm_client_dev_hotplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4962598e drm_get_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a35d30d drm_mode_set_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4a49c3d4 drm_connector_list_iter_end +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4aa3fa23 drm_property_create_signed_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4b7ebf95 drm_mm_remove_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4cdf77f9 drm_dev_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4d0a156c drm_mode_config_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4ddc55ee drm_sysfs_connector_status_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e4e364a drm_gem_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4e7b45a2 drm_print_regset32 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f18a150 __drm_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0x4f59b2c4 drm_atomic_add_affected_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50674de7 drm_timeout_abs_to_jiffies +EXPORT_SYMBOL drivers/gpu/drm/drm 0x50f0c5f6 drm_object_property_get_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x513072fe __drm_puts_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0x51b4808f drm_mode_create_tv_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x521ad6d0 drm_puts +EXPORT_SYMBOL drivers/gpu/drm/drm 0x535d3d11 drm_gem_lock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x552612c3 drm_sysfs_connector_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57698a50 drm_mm_takedown +EXPORT_SYMBOL drivers/gpu/drm/drm 0x57b6efe3 drm_ioctl_flags +EXPORT_SYMBOL drivers/gpu/drm/drm 0x580b3a6d drm_av_sync_delay +EXPORT_SYMBOL drivers/gpu/drm/drm 0x59056243 drm_mm_replace_node +EXPORT_SYMBOL drivers/gpu/drm/drm 0x593730b8 drm_plane_create_blend_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a47178d drm_framebuffer_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5a84f4ba drm_gem_prime_fd_to_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b0f45f7 drm_event_reserve_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5b266c12 drm_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5bbd0254 drm_atomic_private_obj_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5bc3b83f drm_aperture_remove_conflicting_pci_framebuffers +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5c133a9b drm_master_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5cd99c16 drm_connector_set_panel_orientation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5dde07ab drm_client_buffer_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5ea41ceb drm_writeback_get_out_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f034789 drm_connector_list_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f31bcf5 drm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0x5f7985a5 drm_mm_scan_remove_block +EXPORT_SYMBOL drivers/gpu/drm/drm 0x606d97af drm_crtc_vblank_off +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60848820 drm_universal_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x60968837 drm_vblank_work_schedule +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6149a06b drm_atomic_nonblocking_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x61969d4c drm_state_dump +EXPORT_SYMBOL drivers/gpu/drm/drm 0x62e259e4 drm_read +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6487823e drm_atomic_get_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6543dff2 drm_crtc_vblank_on +EXPORT_SYMBOL drivers/gpu/drm/drm 0x65702bd6 drm_default_rgb_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x66fc98ce drm_mode_crtc_set_gamma_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x682fbda3 drm_vma_node_is_allowed +EXPORT_SYMBOL drivers/gpu/drm/drm 0x683804ab drm_property_add_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0x699b3432 drm_panel_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69ad2ead drm_ioctl_kernel +EXPORT_SYMBOL drivers/gpu/drm/drm 0x69ef5ad1 drm_mode_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a01417a drm_gem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a13abfa drm_crtc_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a26ff70 drm_mode_parse_command_line_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a3a80c0 drm_crtc_enable_color_mgmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6a46fa67 drm_compat_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6abf0e3d drm_gem_map_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ac01ea8 drm_edid_to_sad +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b432d19 drm_client_rotation +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6b5f61e7 drm_client_modeset_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ca50c2b drm_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6d18ba12 drm_syncobj_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e65e371 drm_mode_create_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6e73f60d __drmm_encoder_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6ef2f78e drm_format_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6f815f0d drm_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0x6fbbfcad __drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x709f3e1a drm_event_cancel_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0x70d3eebf drm_atomic_get_new_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7139ce4d drm_mode_object_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x723ab1f4 drm_handle_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0x72461cf6 devm_aperture_acquire_from_firmware +EXPORT_SYMBOL drivers/gpu/drm/drm 0x736d8071 drm_connector_update_privacy_screen +EXPORT_SYMBOL drivers/gpu/drm/drm 0x73b43b9a drm_gem_prime_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x742d5af9 drm_client_buffer_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77864ce6 drm_vblank_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x77ccc23b drm_crtc_vblank_helper_get_vblank_timestamp +EXPORT_SYMBOL drivers/gpu/drm/drm 0x783312d4 drm_gem_map_detach +EXPORT_SYMBOL drivers/gpu/drm/drm 0x78cae975 drm_atomic_state_default_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0x796002ae drm_mode_create_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c125b11 drm_hdmi_avi_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c545285 drm_edid_get_monitor_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7c70c230 drm_gem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7cbbdc7f __devm_drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d0a164d drm_gem_create_mmap_offset_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7d9b3370 drm_vma_offset_lookup_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e65b3f2 drm_mode_is_420 +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7e90755a drm_atomic_commit +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7ebfbe8c drm_gem_dmabuf_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0x7edf470b drm_edid_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0x818b6acd drm_connector_create_privacy_screen_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0x81b46b80 drm_driver_legacy_fb_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0x82ff5f11 drm_property_create_object +EXPORT_SYMBOL drivers/gpu/drm/drm 0x834e2913 drm_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83b33f80 __drmm_add_action_or_reset +EXPORT_SYMBOL drivers/gpu/drm/drm 0x83bfef41 drm_atomic_state_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x842eeffc drm_crtc_init_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8497833b drm_writeback_cleanup_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0x868ee288 drm_panel_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89903e69 drm_dev_printk +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89b6e03c drm_file_get_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0x89ef65ea drm_gem_unmap_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8ab5cd75 drm_writeback_connector_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8bbeb186 drm_syncobj_replace_fence +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8c027e0a drm_framebuffer_plane_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8cd1f61b drm_vma_offset_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d1f310b drm_property_blob_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d38c095 drm_object_property_get_default_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8d72789e drm_edid_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8e85a271 drm_connector_set_path_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x8f4063f7 drm_crtc_commit_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0x902ee980 drm_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91db51b6 drm_property_create_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0x91deddbe drm_connector_attach_dp_subconnector_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x92265a8c drm_probe_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x943abd96 drm_debugfs_remove_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0x948a480c __drmm_crtc_alloc_with_planes +EXPORT_SYMBOL drivers/gpu/drm/drm 0x949683c3 drm_atomic_set_crtc_for_connector +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94baab24 drm_crtc_check_viewport +EXPORT_SYMBOL drivers/gpu/drm/drm 0x94ec1cb2 drm_crtc_vblank_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0x950c7d5d drm_crtc_vblank_put +EXPORT_SYMBOL drivers/gpu/drm/drm 0x96528a3a drm_property_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x965dd812 drm_modeset_acquire_fini +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97a89527 drm_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0x97d36c34 __drmm_universal_plane_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0x98254e88 drm_add_modes_noedid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x99bf8acb drm_get_edid_switcheroo +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9a020a56 drm_mode_set_config_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9a1e08dc drm_client_modeset_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9af43117 drm_atomic_set_fb_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b285573 drm_match_cea_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b95c885 drm_mode_match +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9b9de1c1 drm_edid_header_is_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9c53572a drm_connector_set_tile_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ce050be drm_mode_copy +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9d2f20f0 drm_gem_unlock_reservations +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9e7296e6 drm_property_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9fd699cd drm_modeset_lock +EXPORT_SYMBOL drivers/gpu/drm/drm 0x9ff50b29 drm_connector_attach_content_type_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1203760 drm_connector_init_with_ddc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa1957426 drm_property_replace_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa248afde drm_detect_monitor_audio +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa281df0a drm_mode_duplicate +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2ae03ce drm_crtc_send_vblank_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa2eb61a8 drm_atomic_state_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa372ae16 drm_mode_find_dmt +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa38c4c94 drm_memcpy_from_wc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa3e4c2e0 __drmm_add_action +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa46f639b drm_warn_on_modeset_not_all_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa5ec2523 drm_vma_node_revoke +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa6611995 drm_gem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa72f1d3d drm_gem_prime_import +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7339a52 drm_crtc_vblank_helper_get_vblank_timestamp_internal +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa7ff050f drm_vma_offset_add +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa8b29126 drm_mode_create_dp_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xa926649e drm_set_preferred_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaa758517 drm_atomic_get_old_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaab3433f drm_atomic_add_affected_connectors +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaabf668b drm_connector_attach_hdr_output_metadata_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac4f53e7 drm_master_get +EXPORT_SYMBOL drivers/gpu/drm/drm 0xac5c9ca2 drm_plane_get_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad4e902b drm_color_ctm_s31_32_to_qm_n +EXPORT_SYMBOL drivers/gpu/drm/drm 0xad748206 drm_plane_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae277372 __drm_crtc_commit_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae5c995b drm_syncobj_add_point +EXPORT_SYMBOL drivers/gpu/drm/drm 0xae7ae7bf drm_object_attach_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaed8c548 drm_plane_force_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf349dc3 drm_encoder_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xaf59ffc1 drm_writeback_signal_completion +EXPORT_SYMBOL drivers/gpu/drm/drm 0xafe4a26e drm_modeset_unlock +EXPORT_SYMBOL drivers/gpu/drm/drm 0xafedbad7 drm_is_current_master +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb028aded drm_display_mode_from_cea_vic +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0b05ff5 drm_clflush_sg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0b269cb drm_any_plane_has_format +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb0cba924 drm_hdmi_avi_infoframe_quant_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1124822 drm_atomic_state_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb11ac7a7 __drm_err +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1838ee3 drm_cvt_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb1bd5af9 drm_mode_plane_set_obj_prop +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb22dfd68 drm_format_info_min_pitch +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb3132810 drm_dev_unregister +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb31d25d8 drm_noop +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4032484 drm_mm_insert_node_in_range +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4e8ce54 drm_add_override_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb4fe0501 drm_vma_offset_manager_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6127243 drm_need_swiotlb +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6242dfc drm_dev_has_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb64320c4 drm_property_lookup_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb6a67ee1 drm_dev_set_unique +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb72d1ac9 drm_crtc_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb79be432 drm_atomic_get_bridge_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb84770ec drm_bridge_chain_pre_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9cad492 __drm_atomic_state_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xb9ea1933 drm_atomic_get_old_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xba7c335b drm_crtc_vblank_restore +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbc5c8c0d drm_gem_object_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbccf892b drm_mode_prune_invalid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd06c712 drm_display_info_set_bus_formats +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbd7ffbca drm_modeset_unlock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbda40080 drm_client_framebuffer_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbe5b629f drm_mode_create_scaling_mode_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbec2fe6f drm_atomic_get_new_connector_for_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xbfcfc893 drm_master_internal_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc04a7225 drm_bridge_chain_enable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc0bb0f6a drm_connector_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc22bb89c drm_vblank_work_flush +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc3b2c370 drm_mode_create_from_cmdline_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc5bbc88c drm_connector_attach_privacy_screen_provider +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc68084cb drm_syncobj_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc6d0a91b drm_crtc_vblank_waitqueue +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc8500267 drm_property_create_bitmask +EXPORT_SYMBOL drivers/gpu/drm/drm 0xc9cfee31 drm_bridge_chain_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca190085 drm_format_info_block_height +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca53d87a drm_connector_attach_privacy_screen_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xca652a16 drm_modeset_lock_all_ctx +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcac2685d drm_mode_is_420_only +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcba3fe1e drm_framebuffer_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcbefcdd4 drm_clflush_pages +EXPORT_SYMBOL drivers/gpu/drm/drm 0xccc59759 drm_format_info_block_width +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcce59dc6 drm_atomic_state_default_clear +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcd7e09d2 drm_crtc_accurate_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdb99cc9 drm_mode_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcdbc93c6 drm_get_edid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcebefd04 drm_modeset_lock_all +EXPORT_SYMBOL drivers/gpu/drm/drm 0xcfe68115 drm_hdmi_vendor_infoframe_from_display_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd05fda43 drm_prime_get_contiguous_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1324a69 drm_dev_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd13f9985 drm_edid_block_valid +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd18dcf3a drm_send_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd1bc6b0b drm_modeset_lock_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd2034e19 drm_framebuffer_lookup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd3835f31 drm_connector_attach_tv_margin_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd565b7f9 drm_property_create_bool +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd584daca drm_gem_object_release +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd680a377 drm_gem_object_free +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd73630b9 drm_crtc_set_max_vblank_count +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd76691d6 drm_client_modeset_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd76aeb47 drm_mode_create_hdmi_colorspace_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd76bcc8f drm_gem_vm_close +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7a9cf42 drm_mode_validate_size +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd7d2c6e3 drm_client_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xd9f055db drm_atomic_get_new_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xda3f6a98 drm_dev_enter +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdad6d2cf drm_connector_register +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb19637a drm_vblank_work_cancel_sync +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb1d896b drm_gem_dmabuf_export +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdb607620 drm_invalid_op +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdc952f01 drm_mode_create_aspect_ratio_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdcb26600 drm_connector_set_link_status_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd01cdb1 drm_crtc_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd4a74d7 drm_modeset_backoff +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd580e4e drm_mode_create_dvi_i_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdd62d1fc drm_atomic_set_mode_prop_for_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm 0xde3b3305 drm_modeset_drop_locks +EXPORT_SYMBOL drivers/gpu/drm/drm 0xded8b287 drm_atomic_get_old_private_obj_state +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdee78947 drm_wait_one_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf3f760d drm_mm_scan_color_evict +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf666902 drm_rotation_simplify +EXPORT_SYMBOL drivers/gpu/drm/drm 0xdf7bb491 drm_gem_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe0c4c44c drm_plane_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe143fffa drm_atomic_normalize_zpos +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe2715fba drm_gem_map_dma_buf +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe2a44fc5 drm_event_reserve_init_locked +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe317082a __drm_printfn_info +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe58e4fcc drm_edid_get_panel_id +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe70f880f drm_client_modeset_probe +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe847e397 drm_mode_create +EXPORT_SYMBOL drivers/gpu/drm/drm 0xe8a034df drm_dev_exit +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea00fe81 __drm_printfn_coredump +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea26a3a8 drmm_mutex_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea3af578 drm_property_create_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xea870c0f drm_plane_create_zpos_immutable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb4dfb23 drm_syncobj_get_handle +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb75a0f1 drm_bridge_attach +EXPORT_SYMBOL drivers/gpu/drm/drm 0xeb8dd11c drm_modeset_lock_single_interruptible +EXPORT_SYMBOL drivers/gpu/drm/drm 0xebb7f8c6 drm_panel_unprepare +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec12af74 __drm_dbg +EXPORT_SYMBOL drivers/gpu/drm/drm 0xec76b243 drm_gem_vm_open +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed1ff476 drm_debugfs_create_files +EXPORT_SYMBOL drivers/gpu/drm/drm 0xed5ba72e drm_mode_object_find +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef3d5a19 drm_property_create_enum +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef781667 drm_connector_list_iter_begin +EXPORT_SYMBOL drivers/gpu/drm/drm 0xef9c1ada drm_atomic_add_encoder_bridges +EXPORT_SYMBOL drivers/gpu/drm/drm 0xefc70747 drm_poll +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf0517d7a drm_mm_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf092af45 drm_vma_node_allow +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1025b07 drm_client_framebuffer_delete +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1421d13 drm_mode_sort +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf1b5340a drm_mode_vrefresh +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf2183154 drm_atomic_set_crtc_for_plane +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf219a9bf drm_property_replace_global_blob +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf29c46bb drm_bridge_chain_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf3c72651 drm_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf406e46a drm_get_connector_type_name +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf40c6f39 drm_mode_validate_driver +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf597aaa1 drm_mode_create_suggested_offset_properties +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf7d94b97 drm_mode_create_tile_group +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf824c7db __drm_printfn_debug +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf8279531 drm_dev_unplug +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf82ef560 drm_connector_attach_vrr_capable_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf89ea685 drmm_mode_config_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf96a1985 drm_object_property_set_value +EXPORT_SYMBOL drivers/gpu/drm/drm 0xf9ab9224 drm_color_lut_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa1d7a07 drm_put_dev +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa7209d0 drm_plane_enable_fb_damage_clips +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfa87dcb1 drm_writeback_queue_job +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb04a916 drm_gtf_mode +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfb06de6c drm_gem_dma_resv_wait +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfc06d538 drm_connector_set_panel_orientation_with_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfcef12e0 drm_plane_create_rotation_property +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd20a635 drm_gem_private_object_init +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfd65dc39 drm_add_edid_modes +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfdf1e380 drm_connector_attach_encoder +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfe5636c9 drm_atomic_bridge_chain_check +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfeab7f56 drm_gem_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/drm 0xfeb953b1 __drm_printfn_seq_file +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff0a331d drm_atomic_bridge_chain_post_disable +EXPORT_SYMBOL drivers/gpu/drm/drm 0xff620318 drm_connector_oob_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm 0xffe33497 drm_property_blob_get +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0371a960 drm_crtc_helper_set_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x05ce5c92 drm_fb_helper_deferred_io +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x06f2f527 drm_fb_blit_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x07ea1df1 drm_fb_helper_debug_enter +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x09e52faa drm_gem_simple_kms_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x09ec9ea4 drm_primary_helper_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0b9146bb drm_simple_display_pipe_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0e1ffa04 drm_self_refresh_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0e71eff0 drm_atomic_helper_connector_tv_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0ebd5e42 drm_atomic_helper_commit_tail +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x0f047a83 drm_atomic_helper_disable_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x123cf2f6 drm_atomic_helper_cleanup_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x13375fc4 drm_atomic_helper_check_modeset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x14a1e539 drm_i2c_encoder_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1632d397 drm_fb_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1755cd58 drm_helper_mode_fill_fb_struct +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x19e637c3 drm_gem_fb_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1cc56065 drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x1f6bac68 drm_kms_helper_connector_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x20d0f163 drm_gem_cleanup_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x21401b78 drm_fb_xrgb8888_to_rgb888_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x21b42cc0 drm_fb_helper_set_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x22fed07e drm_fb_helper_cfb_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x23a73a54 __drmm_simple_encoder_alloc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x251dcf30 drm_gem_fb_end_cpu_access +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x25ce17ce drm_flip_work_queue_task +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x266e67da drm_fb_memcpy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x26f0ba5e drm_gem_simple_kms_cleanup_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2984183a drm_helper_resume_force_mode +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2aafe53f drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2be1f1c4 drm_atomic_helper_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2c110154 drm_panel_bridge_connector +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2cccf3c2 drm_gem_simple_kms_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d50570f drm_rect_calc_hscale +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2d75d99e __drm_gem_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x2e155733 drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x34d1bbae drm_fb_helper_lastclose +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x354f5e3b drm_crtc_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x355889b1 drm_mode_config_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3724e11d drm_gem_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x376e0e6d drm_fb_helper_unregister_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x376f01f1 drm_crtc_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3992cf0f drm_atomic_helper_wait_for_dependencies +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3a15b311 drm_helper_crtc_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3b92b659 drm_fb_xrgb8888_to_rgb565 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3d10e176 __drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3e3f7f76 drm_fb_helper_sys_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3e514d23 drm_gem_simple_kms_prepare_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3ed1287b drm_fb_helper_check_var +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x3fcd02ab drm_fb_helper_cfb_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x409c433e drm_i2c_encoder_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x40e37791 __drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4231ed0e drm_fb_helper_debug_leave +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x44628a28 drm_kms_helper_poll_enable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x45227c4f drm_fb_helper_sys_imageblit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x46055b9d drm_atomic_helper_async_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x46f2a023 drm_gem_fb_begin_cpu_access +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x493ee789 drm_helper_probe_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4aee603f drm_atomic_helper_wait_for_fences +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4f467d64 devm_drm_panel_bridge_add +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4f9f5f03 drm_fbdev_generic_setup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x4fdb0df3 drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x545dc4db drm_fb_xrgb8888_to_mono +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x54a1922d drm_kms_helper_hotplug_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x55d00eb1 __drm_atomic_helper_connector_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5a4734d1 drm_kms_helper_is_poll_worker +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5aa2b037 drm_flip_work_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5b0b521e drm_atomic_helper_damage_iter_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5b2601cd drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5e5ca203 drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x5fb7f5a3 drm_atomic_helper_page_flip +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x61d8c010 drm_gem_fb_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x626829b2 drm_atomic_helper_check_plane_damage +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x635ace59 __drm_atomic_helper_connector_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x63cab3fb drm_gem_fb_create_handle +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x64560e9d __drm_gem_destroy_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6526fcf3 drm_fb_helper_set_par +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x66dc5822 drm_fb_helper_alloc_fbi +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x675702a0 drm_atomic_helper_dirtyfb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x67717d68 drm_atomic_helper_update_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x68f702a4 drm_atomic_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x69ac395e __drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x69b1b8ff drm_atomic_helper_commit_cleanup_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b22c521 drm_atomic_helper_commit_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b5c2b06 drm_atomic_helper_damage_iter_next +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6b8a7cb8 drm_fb_helper_initial_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6c00ae6e drm_fb_xrgb8888_to_rgb888 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6c3f04d7 drm_fb_helper_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6d561033 __drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6d7d21ca drm_atomic_helper_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e05628b drm_fb_helper_output_poll_changed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x6e30ba8e drm_rect_rotate_inv +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x70be296e drm_gem_fb_destroy +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x71804d05 drm_self_refresh_helper_alter_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x72085af5 drm_atomic_helper_check_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x726c5750 drm_i2c_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x73ce0d18 drm_atomic_helper_calc_timestamping_constants +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x743d35e4 drm_kms_helper_poll_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76131e09 drm_atomic_helper_wait_for_flip_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x76ce833d __drm_atomic_helper_plane_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x77dbab2b drm_atomic_helper_update_legacy_modeset_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7964f9dc drm_flip_work_queue +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7b036bd4 __drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x7cb3f7d0 drm_helper_connector_dpms +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x80cd0ab8 __drm_atomic_helper_bridge_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x81fd20ef drm_helper_force_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x82938d67 drm_helper_disable_unused_functions +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x82efeadd drm_self_refresh_helper_update_avg_times +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x836bb535 drm_atomic_helper_disable_all +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x849d905b drm_atomic_helper_connector_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x87035489 drm_panel_bridge_remove +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x871ab41a drm_rect_intersect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x879d5585 drm_fb_memcpy_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x88743071 drm_atomic_helper_set_config +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8a7ea57b drm_atomic_helper_bridge_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8a990be8 drm_atomic_helper_commit_modeset_disables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8b0651e4 drm_gem_simple_kms_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x8b8bb70e __drm_atomic_helper_crtc_state_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x91d01864 drm_primary_helper_funcs +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x91fec1cc drm_rect_calc_vscale +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x92bfba68 drm_atomic_helper_swap_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x93cec5c7 drm_flip_work_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x95934dca drm_self_refresh_helper_cleanup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x99fd20aa drm_rect_clip_scaled +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9b130fb8 __drm_atomic_helper_private_obj_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9c78c80f drm_fb_swab +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9dd34325 drm_gem_reset_shadow_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9ecf0ff6 drm_fb_helper_set_suspend_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9f329b92 drm_fb_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0x9f68a301 drm_i2c_encoder_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa120754e drm_fb_helper_ioctl +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xa841a411 drm_atomic_helper_commit_hw_done +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaa852820 drm_atomic_helper_prepare_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaa8ff2cc drm_fb_helper_setcmap +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xabba4a47 drm_helper_encoder_in_use +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xae71d0ed drm_atomic_helper_setup_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaf29be29 drm_fb_xrgb8888_to_rgb332 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xaf51c042 drm_fb_helper_sys_copyarea +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb053adda drm_rect_rotate +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb18fe4cf drm_fb_helper_sys_write +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xb3906f4a drm_fb_helper_cfb_fillrect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbaa2d29c drm_atomic_helper_check +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbd123294 drm_atomic_helper_check_planes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbe053e4a drm_gem_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xbe52189b drm_atomic_helper_resume +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc05e3f4c drm_atomic_helper_commit_duplicated_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc1089056 drm_helper_probe_single_connector_modes +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc3aa6a39 drm_gem_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc460392a drm_flip_work_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc4d12377 drm_simple_display_pipe_attach_bridge +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc58738c7 drm_gem_prepare_shadow_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc732f148 drm_atomic_helper_commit_modeset_enables +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc7404529 drm_connector_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc75a8c45 drm_kms_helper_poll_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc9592b1d drm_i2c_encoder_detect +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xc9665787 drm_fb_xrgb8888_to_gray8 +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcb2340b8 drm_rect_debug_print +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcc56dcac drm_i2c_encoder_mode_fixup +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcd5481e5 drm_simple_encoder_init +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcdd3b092 drm_atomic_helper_bridge_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcdde332f __drm_atomic_helper_crtc_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xcf11a549 drm_flip_work_allocate_task +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd2ad64e8 drm_helper_hpd_irq_event +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd539c8d6 drm_fb_helper_restore_fbdev_mode_unlocked +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd5d731e2 __drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd897bb44 __drm_atomic_helper_plane_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xd9e50690 drm_fb_helper_sys_read +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xda9d698b drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdb82bc58 drm_atomic_helper_bridge_propagate_bus_fmt +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xdc28fee5 drm_i2c_encoder_restore +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xde414876 __drm_atomic_helper_connector_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe145e875 drm_helper_move_panel_connectors_to_head +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe3962b0e drm_i2c_encoder_save +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe4151a56 drm_atomic_helper_plane_destroy_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xe7f1d238 drm_atomic_helper_disable_plane +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xea08f446 drm_atomic_helper_commit_tail_rpm +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeae135c7 drm_atomic_helper_damage_merged +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xeed504c1 drm_i2c_encoder_prepare +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf04a79cb drm_atomic_helper_fake_vblank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf233be72 drm_fb_helper_pan_display +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf2e86cd4 drm_fb_helper_fini +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf30db916 drm_fb_clip_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf3bcdc86 drm_atomic_helper_crtc_duplicate_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf3be2b68 devm_drm_panel_bridge_add_typed +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf6801c40 drm_kms_helper_poll_disable +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xf94ad13b drm_atomic_helper_crtc_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfa226c7e drm_fb_helper_fill_info +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfa302b34 drm_atomic_helper_async_commit +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfaa381f9 __drm_gem_duplicate_shadow_plane_state +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfb6d09b6 drm_atomic_helper_shutdown +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfb7ae24a drm_atomic_helper_commit_planes_on_crtc +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfc0edc42 drm_fb_helper_blank +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfda6aefd drm_atomic_helper_wait_for_vblanks +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe2ff07c drm_i2c_encoder_mode_set +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe394d36 drm_fb_xrgb8888_to_rgb565_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe507a17 drm_atomic_helper_plane_reset +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xfe9fb9dd drm_fb_xrgb8888_to_xrgb2101010_toio +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xff7adee0 drm_mode_config_helper_suspend +EXPORT_SYMBOL drivers/gpu/drm/drm_kms_helper 0xff8cb640 drm_atomic_helper_page_flip_target +EXPORT_SYMBOL drivers/gpu/drm/drm_panel_orientation_quirks 0x2e439142 drm_get_panel_orientation_quirk +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x234ca7f9 drm_gem_shmem_madvise +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x3b93e5d1 drm_gem_shmem_get_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x3e2c1392 drm_gem_shmem_purge +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x43f73c1c drm_gem_shmem_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x5dccb072 drm_gem_shmem_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0x85412dd7 drm_gem_shmem_purge_locked +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xab1e336a drm_gem_shmem_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xdbcf81a8 drm_gem_shmem_put_pages +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xe9b7f2ee drm_gem_shmem_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_shmem_helper 0xf83be689 drm_gem_shmem_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x17d8a9cc drm_gem_ttm_dumb_map_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x78d62d2c drm_gem_ttm_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0x834bfb07 drm_gem_ttm_mmap +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xcb735320 drm_gem_ttm_print_info +EXPORT_SYMBOL drivers/gpu/drm/drm_ttm_helper 0xe579b43c drm_gem_ttm_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x10834637 drm_gem_vram_simple_display_pipe_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x1cc699cb drm_gem_vram_fill_create_dumb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x3442733d drm_gem_vram_vunmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x539b7865 drm_gem_vram_simple_display_pipe_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x542e3c68 drmm_vram_helper_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x61706416 drm_vram_mm_debugfs_init +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x68526d5e drm_gem_vram_unpin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x83b2cc40 drm_gem_vram_offset +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x8d0c1f18 drm_gem_vram_vmap +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x937a464e drm_gem_vram_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0x9f3bc84d drm_gem_vram_put +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xa8b3c006 drm_vram_helper_mode_valid +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xb79a0a01 drm_gem_vram_driver_dumb_create +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xe2849728 drm_gem_vram_plane_helper_prepare_fb +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xee841ab4 drm_gem_vram_pin +EXPORT_SYMBOL drivers/gpu/drm/drm_vram_helper 0xfca8ad19 drm_gem_vram_plane_helper_cleanup_fb +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x003a6358 ttm_bo_vm_open +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x02dfd84f ttm_eu_backoff_reservation +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x061f12a1 ttm_bo_vm_dummy_page +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0bbb46e4 ttm_lru_bulk_move_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0e821531 ttm_bo_vunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x0f6a9e82 ttm_bo_wait +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1123d92a ttm_pool_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1775e026 ttm_tt_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1a71d30c ttm_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x1bf23a1e ttm_resource_manager_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x248bbf6a ttm_bo_lock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x29da2619 ttm_resource_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2dbddb2c ttm_device_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2e1a8bce ttm_bo_mem_space +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x2e8e12cc ttm_bo_vm_reserve +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x31e09af0 ttm_bo_kmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x32c7dbe3 ttm_bo_move_memcpy +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3d0fb727 ttm_bo_kunmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x3ff8f6dc ttm_eu_fence_buffer_objects +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x425a3f82 ttm_bo_eviction_valuable +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x44a3b954 ttm_bo_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x456e9d71 ttm_resource_manager_debug +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4c9a9a73 ttm_pool_free +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x4de75134 ttm_range_man_fini_nocheck +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x52226e63 ttm_resource_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x5f263760 ttm_kmap_iter_iomap_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x60a57031 ttm_resource_fini +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6d82cccd ttm_io_prot +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6decc3b0 ttm_pool_alloc +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x6ff7bcfc ttm_lru_bulk_move_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x708804b9 ttm_range_man_init_nocheck +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x71306e41 ttm_device_clear_dma_mappings +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x7266a11c ttm_device_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x82ab626f ttm_sg_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8918c3a8 ttm_bo_vm_fault_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8a69c288 ttm_bo_unpin +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8a8c6116 ttm_bo_unmap_virtual +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8b8bbf2e ttm_bo_mmap_obj +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x8dc5ae64 ttm_kmap_iter_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0x962624cd ttm_eu_reserve_buffers +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa02f94ba ttm_resource_manager_usage +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xa3fabb9e ttm_tt_init +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xad6d8737 ttm_bo_init_reserved +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb1aeda68 ttm_bo_move_sync_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb260dfdc ttm_resource_manager_create_debugfs +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb412f4e1 ttm_tt_populate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb58d1aba ttm_bo_move_to_lru_tail +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb5b11f0f ttm_glob +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb802f770 ttm_bo_vm_close +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xb9a09af0 ttm_bo_move_accel_cleanup +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xbbf4f3e7 ttm_device_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc334a94b ttm_bo_unlock_delayed_workqueue +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xc5a206a4 ttm_bo_pin +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xce97361b ttm_resource_compat +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd088ed79 ttm_bo_put +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xd0f5cc83 ttm_resource_manager_evict_all +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe2445aba ttm_global_swapout +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe8a26459 ttm_bo_validate +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xe8fb8e42 ttm_bo_set_bulk_move +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xebff9b02 ttm_bo_vm_fault +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xeeb37377 ttm_bo_vmap +EXPORT_SYMBOL drivers/gpu/drm/ttm/ttm 0xf80f170c ttm_bo_vm_access +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x4b034ce5 i2c_bit_add_numbered_bus +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0x76263271 i2c_bit_algo +EXPORT_SYMBOL drivers/i2c/algos/i2c-algo-bit 0xda79f390 i2c_bit_add_bus +EXPORT_SYMBOL drivers/i2c/i2c-core 0x0d4cacfb i2c_get_adapter +EXPORT_SYMBOL drivers/i2c/i2c-core 0x16206dbb __i2c_smbus_xfer +EXPORT_SYMBOL drivers/i2c/i2c-core 0x2a3f77cd i2c_del_adapter +EXPORT_SYMBOL drivers/i2c/i2c-core 0x34465b7c i2c_smbus_write_word_data +EXPORT_SYMBOL drivers/i2c/i2c-core 0x3491d1ae i2c_smbus_pec +EXPORT_SYMBOL drivers/i2c/i2c-core 0x3c7f3d1e i2c_clients_command +EXPORT_SYMBOL drivers/i2c/i2c-core 0x4579a544 i2c_smbus_read_block_data +EXPORT_SYMBOL drivers/i2c/i2c-core 0x4cf6f689 __i2c_transfer +EXPORT_SYMBOL drivers/i2c/i2c-core 0x546db122 i2c_smbus_write_byte_data +EXPORT_SYMBOL drivers/i2c/i2c-core 0x5deeea27 i2c_verify_client +EXPORT_SYMBOL drivers/i2c/i2c-core 0x6fbdae8c i2c_register_driver +EXPORT_SYMBOL drivers/i2c/i2c-core 0x764c45f1 i2c_smbus_read_word_data +EXPORT_SYMBOL drivers/i2c/i2c-core 0x8765e671 i2c_smbus_read_byte +EXPORT_SYMBOL drivers/i2c/i2c-core 0x9a8bf31b i2c_smbus_read_i2c_block_data_or_emulated +EXPORT_SYMBOL drivers/i2c/i2c-core 0x9f75aa98 i2c_smbus_read_byte_data +EXPORT_SYMBOL drivers/i2c/i2c-core 0xad1be116 i2c_verify_adapter +EXPORT_SYMBOL drivers/i2c/i2c-core 0xae52aaf1 i2c_smbus_read_i2c_block_data +EXPORT_SYMBOL drivers/i2c/i2c-core 0xb333c326 i2c_transfer_buffer_flags +EXPORT_SYMBOL drivers/i2c/i2c-core 0xc21dd42a i2c_transfer +EXPORT_SYMBOL drivers/i2c/i2c-core 0xc8d9c0ea i2c_add_adapter +EXPORT_SYMBOL drivers/i2c/i2c-core 0xcd1d6d60 i2c_smbus_xfer +EXPORT_SYMBOL drivers/i2c/i2c-core 0xe75dbd28 i2c_smbus_write_i2c_block_data +EXPORT_SYMBOL drivers/i2c/i2c-core 0xe9558d32 i2c_smbus_write_block_data +EXPORT_SYMBOL drivers/i2c/i2c-core 0xe9a33b30 i2c_smbus_write_byte +EXPORT_SYMBOL drivers/i2c/i2c-core 0xed8aa808 i2c_put_adapter +EXPORT_SYMBOL drivers/i2c/i2c-core 0xf8ce2801 i2c_del_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x059b87a4 ib_send_cm_sidr_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x0bb9d394 ib_send_cm_rep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x2120c7aa ib_send_cm_rej +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x4dc2e3b2 ib_cm_notify +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x52dfdc22 ib_send_cm_rtu +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x5992c124 ib_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x6501c37d ib_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x69824a14 ibcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x6b9bb711 ib_send_cm_drep +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x765c3a85 ib_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0x8e2e2ae7 ib_send_cm_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa055658e ib_send_cm_dreq +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xa50c39ce ib_cm_insert_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xb10663be ib_send_cm_sidr_req +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xd40079c5 ib_send_cm_mra +EXPORT_SYMBOL drivers/infiniband/core/ib_cm 0xfbc66df8 ib_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x003c3bdc rdma_query_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0193b953 rdma_rw_ctx_destroy_signature +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x024d4c86 ib_create_wq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0404864d ib_sa_path_rec_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x05426757 ib_modify_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x062e81d4 ib_port_register_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x06830b9a ib_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x08927300 ib_get_net_dev_by_params +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x093fd2b1 ib_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0a5b17a4 ib_alloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0cd1699b ib_create_qp_security +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0e02be98 rdma_query_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x0e6a2612 ib_get_cached_subnet_prefix +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x11d99df8 rdma_find_gid_by_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x121ed7b9 ib_mad_kernel_rmpp_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x12d8e5d6 ibdev_alert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x139d51f8 rdma_user_mmap_entry_get_pgoff +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x13bb34c0 ib_port_unregister_client_groups +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x142a5e9e rdma_rw_mr_factor +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x14461182 rdma_link_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x18527e15 rdma_nl_put_driver_string +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1962659d ib_init_ah_attr_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1b037462 __rdma_block_iter_start +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x1ea8a9b6 ib_sa_guid_info_rec_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x20d0d318 ib_rdmacg_uncharge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2287fa05 rdma_restrack_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x23927034 ib_get_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x23cf579a rdma_read_gid_hw_context +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2474340f ib_sg_to_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2620bfc6 ib_find_exact_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x26a97890 rdma_nl_put_driver_u32 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x27773f6d ib_unregister_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x27c34239 ib_qp_usecnt_inc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x295c94af ib_unregister_device_queued +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2a120b33 ib_mr_pool_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2a204037 ib_advise_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2b90d300 ib_mr_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2e14def8 rdma_rw_ctx_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x2e404bcf ib_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x30436ba4 ib_alloc_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x305e5701 rdma_addr_size_kss +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x307e8e8b rdma_hold_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x30fdddaa rdma_get_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x30fe7f5d ib_destroy_cq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x31d03bd6 rdma_read_gid_attr_ndev_rcu +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x33023522 rdma_nl_put_driver_u32_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x33aa4751 ib_attach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3538b56c ib_get_rmpp_segment +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3542e431 ib_query_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x36b7ef4e roce_gid_type_mask_support +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3987bb3d ib_dealloc_xrcd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3b0f8b0c ib_unregister_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c637875 rdma_restrack_get_byid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3c878a04 rdma_roce_rescan_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3e3376c7 rdma_restrack_new +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3e6c6b37 ib_map_mr_sg_pi +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3ec73adb ib_sa_get_mcmember_rec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3f3473c6 rdma_port_get_link_layer +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x3fc2387c ib_ud_header_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x40e2fb28 rdma_restrack_del +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x42212bdb ib_sa_unregister_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4243ef72 _ib_alloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x434c5d10 zgid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45011536 rdma_nl_put_driver_u64_hex +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x45fb8985 rdma_nl_chk_listeners +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x47d79b5f ib_device_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x483800af ib_init_ah_attr_from_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x489f7a8c ib_query_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4ac36c9e rdma_link_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4c292dfb rdma_user_mmap_entry_remove +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e155af0 ib_response_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x4e90435c ib_sa_free_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x50bf8f0d ib_sa_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x519cb687 rdma_query_gid_table +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x52648738 ib_modify_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5415eed9 rdma_nl_stat_hwcounter_entry +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x54ee850a ib_register_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x55bb02f3 ib_cache_gid_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x563fe297 rdma_nl_multicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5676aa15 ib_create_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x58b1543a ib_free_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5961b55b ib_modify_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5a51a3cb ib_get_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5c92d945 ib_check_mr_status +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x5eb93c2f ib_register_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x60c9b2fb rdma_restrack_add +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x613b1e2e ib_is_mad_class_rmpp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x61d24c52 ib_rate_to_mbps +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6660b38a ib_port_immutable_read +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x67c102e9 ib_query_srq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6809ad44 rdma_dev_access_netns +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x689586b1 rdma_replace_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x68a20e40 ib_dereg_mr_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6b958320 ib_ud_ip4_csum +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6f3614b6 rdma_is_zero_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x6fb0cf35 rdma_destroy_ah_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x706adba0 ib_find_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7105362b ib_mr_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x714a7a4d rdma_destroy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x71e58548 rdma_restrack_set_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x73baf9a2 ib_modify_qp_is_ok +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x75a729a0 rdma_nl_unregister +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x76576c86 ibdev_info +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x782589d9 rdma_resolve_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x787ccc4c ib_get_mad_data_offset +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x79787750 rdma_alloc_hw_stats_struct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x79d843b6 ib_init_ah_from_mcmember +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7b549c0e rdma_alloc_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7e93d0b8 ib_drain_sq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x7efb2375 rdma_move_grh_sgid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x80a91638 ib_query_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x80f960c8 rdma_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x827a11e3 rdma_nl_unicast_wait +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x83b0cd22 ib_find_gid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x853db706 ibdev_emerg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8544fdff ib_get_vf_stats +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86b90f5e ibnl_put_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x86cef180 rdma_addr_size +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x87b0fef1 ib_register_mad_agent +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x89000af7 rdma_addr_cancel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8a965ba6 ib_dealloc_device +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8bbb8267 ib_destroy_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8e7528da __rdma_block_iter_next +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x8f54aca7 ib_unregister_device_and_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90635e20 ib_set_device_ops +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x90e807c7 ib_cache_gid_parse_type_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x93639fe3 rdma_copy_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x93af640a ibdev_crit +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x956a78d9 rdma_restrack_parent_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9573ffe4 ib_sa_register_client +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x958f25a3 rdma_put_gid_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x95dcfe0b ib_close_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x997a3fcf rdma_nl_put_driver_u64 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9ba0fdc7 ib_unregister_event_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9c302efe ibdev_warn +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9c350dc4 ib_alloc_mr_integrity +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9c5864ed rdma_user_mmap_entry_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9c65ba9a rdma_user_mmap_entry_insert_range +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9de0f92e ib_resize_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9ed28a83 rdma_create_user_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0x9feebfae rdma_rw_ctx_wrs +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0794c27 ib_set_vf_guid +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0985814 ib_open_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa0d0f0ea ib_modify_port +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa9340f16 rdma_user_mmap_io +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xa9dccd60 ib_create_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaa236555 ib_post_send_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xab5cb5c5 rdma_read_gid_l2_fields +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae3e6b2b ib_device_get_by_name +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xae956dce ib_rate_to_mult +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xaeef9d0e __ib_alloc_cq_any +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb01cd800 ibdev_printk +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb27d34b2 ib_drain_rq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb36e4148 ib_sa_pack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb3d226ab rdma_rw_ctx_signature_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb564fa46 ib_detach_mcast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb682b8a6 ib_set_vf_link_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb7852a05 ib_ud_header_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xb81fd82a rdma_create_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbaaca48a ib_create_qp_kernel +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xbca1b37c ib_get_eth_speed +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc1492998 ib_dispatch_event +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc3d06537 ib_qp_usecnt_dec +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc488cd0f ib_cq_pool_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc4dba8ec ib_get_gids_from_rdma_hdr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc6c9b716 rdma_user_mmap_entry_insert +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc79daf98 ib_free_recv_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc8f32451 ib_find_cached_pkey +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xc90b4fe7 ib_device_set_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xca273f38 ib_dma_virt_map_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcbc4b2ef ib_reg_user_mr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcced7373 rdma_user_mmap_entry_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcdc59004 ib_cq_pool_put +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xce8a7727 rdma_init_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcf8fbfc9 ib_map_mr_sg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xcfbc053b ib_unregister_driver +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd08859a9 ib_rdmacg_try_charge +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd1eb69ae ibdev_notice +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd299bdfc __ib_alloc_pd +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd2cfbfd8 rdma_restrack_count +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd5f80f72 ib_get_rdma_header_version +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd6636ca6 rdma_addr_size_in6 +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd66bf322 ibnl_put_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xd87cecfd rdma_rw_ctx_destroy +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xda0d50ec ib_sa_cancel_query +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdab5015e __ib_create_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdb59236a rdma_set_cq_moderation +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xddd74992 rdma_translate_ip +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xdeac8159 ib_drain_qp +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe006d4b1 ib_mr_pool_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe19b23a7 rdma_nl_register +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe425901e rdma_modify_ah +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5840ec6 ib_wc_status_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5a78c1e ib_sa_unpack_path +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe5d247c5 ib_create_ah_from_wc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe7b52e5f mult_to_ib_rate +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xe9e799fc ib_ud_header_pack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xea75d093 rdma_move_ah_attr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xea8049f5 ib_process_cq_direct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xeb75ae24 rdma_rw_ctx_post +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xebe85929 ib_free_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xed1a5dea ib_get_cached_lmc +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xee21790c ib_device_get_by_netdev +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xef2694ed ibdev_err +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf294dee9 rdma_copy_src_l2_addr +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf2c3a04e ib_destroy_wq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf3aa7833 rdma_restrack_get +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf54f682a ib_get_vf_config +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5d4ad8d ib_get_cached_port_state +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf5dedb30 rdma_node_get_transport +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf6ed3334 ib_event_msg +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf73da4f0 ib_modify_qp_with_udata +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf7e2fad8 ib_get_device_fw_str +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf80bcdf5 ib_dealloc_pd_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf83bdb5c ib_modify_mad +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf8b417f9 __ib_alloc_cq +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf8d88047 rdma_nl_unicast +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf94fd321 ib_set_client_data +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xf96fc9de ib_unpack +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfbc3a9a8 rdma_free_hw_stats_struct +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfcfc5e54 ib_port_sysfs_get_ibdev_kobj +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xfd9e3e2c ib_create_qp_user +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xffd1ee8c rdma_umap_priv_init +EXPORT_SYMBOL drivers/infiniband/core/ib_core 0xffe5da25 ib_destroy_srq_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x0468f7d2 ib_umem_dmabuf_unmap_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x06370240 uverbs_get_flags32 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x0b469671 ib_register_peer_memory_client +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x15432077 _uverbs_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x19a5f6a7 uverbs_fd_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1b54bd5d ib_copy_path_rec_from_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1daa8d0b ib_copy_ah_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x1e65cfe7 uverbs_uobject_fd_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x21109c44 ib_umem_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x256ef22c ib_umem_dmabuf_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x36ddc309 ib_umem_odp_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3d3244bf ib_umem_dmabuf_get_pinned +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x3f3c5833 uverbs_idr_class +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x48973b5e ib_umem_odp_get +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x57cbb11d flow_resources_add +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5b69d346 ib_umem_find_best_pgsz +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x5d86c396 ib_umem_dmabuf_map_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x6034e74b ib_umem_odp_map_dma_and_lock +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x63057f4b ib_copy_path_rec_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x64e143b4 ib_copy_qp_attr_to_user +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x660fbc12 ib_umem_odp_unmap_dma_pages +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x790ef1e5 _uverbs_get_const_unsigned +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x7d0c250b ib_uverbs_get_ucontext_file +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x83669912 ib_umem_activate_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x8d8e60af uverbs_copy_to_struct_or_zero +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x943dbea9 ib_umem_copy_from +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x96a47ec8 ib_uverbs_flow_resources_free +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0x97c9020d ib_umem_odp_alloc_implicit +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xa9600388 uverbs_destroy_def_handler +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xacdd7120 uverbs_copy_to +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xbde5c050 ib_unregister_peer_memory_client +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xc918cd4b ib_umem_stop_invalidation_notifier +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xd5c4ccfb uverbs_uobject_put +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe047ab79 flow_resources_alloc +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe4e6d5d8 uverbs_get_flags64 +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe784059d ib_umem_release +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xe9e2bb4d _uverbs_get_const_signed +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf70ebf61 ib_umem_odp_alloc_child +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf82f5a49 ib_umem_get_peer +EXPORT_SYMBOL drivers/infiniband/core/ib_uverbs 0xf9fb6dc0 uverbs_finalize_uobj_create +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x08a70e0f iw_cm_disconnect +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x16cfeb44 iw_destroy_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x35677350 iw_create_cm_id +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x5da20d28 iw_cm_listen +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0x62d4940e iw_cm_accept +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xb301b8e2 iw_cm_reject +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xe8fd1b1e iw_cm_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf3df871f iwcm_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/iw_cm 0xf44b9d03 iw_cm_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x0acc10b1 rdma_accept +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x19c7aacc rdma_set_ib_path +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x1a3d73e0 rdma_accept_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x212266dd rdma_set_ack_timeout +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2422bc30 rdma_lock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x294f425d rdma_notify +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x2f03cf5a rdma_connect_locked +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x410fc496 __rdma_create_kernel_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x496090e1 rdma_connect_ece +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x4eab527d rdma_get_service_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x52d30f9a rdma_consumer_reject_data +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x5f70bcfc rdma_connect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x62e69b10 rdma_read_gids +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6604832b rdma_set_min_rnr_timer +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x675e36ac rdma_disconnect +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6bd0d6e4 rdma_destroy_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6f300e4c rdma_init_qp_attr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x6f4557af rdma_reject_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x7642566b rdma_res_to_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x777fc345 rdma_iw_cm_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x77e1cff0 rdma_leave_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x864a3c7d rdma_unlock_handler +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x88d6bd71 rdma_bind_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0x907df803 rdma_event_msg +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa2d20935 rdma_create_qp +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xa83a09c9 rdma_set_reuseaddr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xb5ba5884 rdma_resolve_route +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbc283994 rdma_set_service_type +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xbe9cc43e rdma_join_multicast +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xc03c23da rdma_set_afonly +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xcba61d30 rdma_reject +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xd39fe3a5 rdma_create_user_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xed7717f3 rdma_destroy_id +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf37ae48f rdma_resolve_addr +EXPORT_SYMBOL drivers/infiniband/core/rdma_cm 0xf3cc1bd3 rdma_listen +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x3ff4f082 rtrs_clt_query +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x658e0b0b rtrs_clt_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0x92843042 rtrs_clt_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xa56d7007 rtrs_clt_get_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xd6a3ee99 rtrs_clt_rdma_cq_direct +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xed1e52b2 rtrs_clt_request +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-client 0xfd447f01 rtrs_clt_put_permit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x1bb2653a rtrs_ib_dev_find_or_add +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x33b1c303 rtrs_ib_dev_put +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x44f07472 rtrs_rdma_dev_pd_init +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x8f6c7edf rtrs_addr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x99b7caed sockaddr_to_str +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0x9b94df88 rtrs_rdma_dev_pd_deinit +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-core 0xc28750dd rtrs_addr_to_sockaddr +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x2748b62e rtrs_srv_open +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x3ea418cf rtrs_srv_close +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x4d375573 rtrs_srv_get_path_name +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x563e5153 rtrs_srv_resp_rdma +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x5bfbf29b rtrs_srv_set_sess_priv +EXPORT_SYMBOL drivers/infiniband/ulp/rtrs/rtrs-server 0x94ec24ec rtrs_srv_get_queue_depth +EXPORT_SYMBOL drivers/md/dm-log 0x1ec4d439 dm_dirty_log_destroy +EXPORT_SYMBOL drivers/md/dm-log 0x3c709224 dm_dirty_log_type_unregister +EXPORT_SYMBOL drivers/md/dm-log 0x630d943e dm_dirty_log_create +EXPORT_SYMBOL drivers/md/dm-log 0xe6ed7a01 dm_dirty_log_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x3064ff1a dm_exception_store_type_register +EXPORT_SYMBOL drivers/md/dm-snapshot 0x3abfe117 dm_snap_origin +EXPORT_SYMBOL drivers/md/dm-snapshot 0x761dc559 dm_exception_store_destroy +EXPORT_SYMBOL drivers/md/dm-snapshot 0x9614524a dm_exception_store_create +EXPORT_SYMBOL drivers/md/dm-snapshot 0xac861150 dm_snap_cow +EXPORT_SYMBOL drivers/md/dm-snapshot 0xe2fd04d1 dm_exception_store_type_unregister +EXPORT_SYMBOL drivers/md/raid456 0x42cfc521 raid5_set_cache_size +EXPORT_SYMBOL drivers/md/raid456 0x6e478142 r5c_journal_mode_set +EXPORT_SYMBOL drivers/mfd/mfd-core 0x1b232404 mfd_add_devices +EXPORT_SYMBOL drivers/mfd/mfd-core 0x97571db7 devm_mfd_add_devices +EXPORT_SYMBOL drivers/mfd/mfd-core 0xafa66f72 mfd_remove_devices_late +EXPORT_SYMBOL drivers/mfd/mfd-core 0xb9b00c01 mfd_cell_enable +EXPORT_SYMBOL drivers/mfd/mfd-core 0xd873da46 mfd_cell_disable +EXPORT_SYMBOL drivers/mfd/mfd-core 0xe28a865c mfd_remove_devices +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x053d13c4 mlx4_tunnel_steer_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x06660a13 mlx4_ALLOCATE_VPP_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0a857909 set_and_calc_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0f00cf70 mlx4_max_tc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0f85acf6 mlx4_SET_PORT_qpn_calc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1e96c8a0 mlx4_SET_PORT_VXLAN +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1f2db6b3 mlx4_release_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x33146117 mlx4_get_slave_pkey_gid_tbl_len +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x333607e7 get_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x341c48a7 mlx4_get_eqs_per_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3d035899 mlx4_gen_pkey_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3d570fbe mlx4_get_slave_from_roce_gid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4290278a mlx4_query_diag_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x46d9f075 mlx4_is_eq_shared +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4845aea7 mlx4_test_interrupt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4e2870fd mlx4_SET_PORT_fcs_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x55858cbe mlx4_SET_PORT_user_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x592b675c mlx4_get_roce_gid_from_slave +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x66b1a99d mlx4_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6a75bab3 mlx4_SET_VPORT_QOS_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x70633fd9 mlx4_SET_VPORT_QOS_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x73b1d828 mlx4_get_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x73cdc17b mlx4_is_slave_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x741cc718 mlx4_SET_MCAST_FLTR +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7f0ecdcc mlx4_eq_get_irq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7fdde0b4 mlx4_handle_eth_header_mcast_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x80132594 mlx4_put_slave_node_guid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x88fee2bd mlx4_SET_PORT_general +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8dcb0169 mlx4_SET_PORT_SCHEDULER +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8e91b4a4 mlx4_SET_PORT_user_mtu +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x930df1d8 mlx4_get_is_vlan_offload_disabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xacbb1280 mlx4_get_parav_qkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb5b9812c mlx4_SET_PORT_BEACON +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb5f7d4f2 mlx4_assign_eq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbf75c1de mlx4_is_eq_vector_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc325041a mlx4_gen_port_state_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xcd3c13c4 mlx4_ALLOCATE_VPP_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd2fdeffe mlx4_test_async +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd3265b16 mlx4_gen_slaves_port_mgt_ev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd3d722a3 set_phv_bit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe21d2b8d mlx4_sync_pkey_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe978702d mlx4_SET_PORT_PRIO2TC +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xed852bd3 mlx4_gen_guid_change_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf7b6921c mlx4_get_cpu_rmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xff26b3d1 mlx4_get_slave_port_state +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0165059f mlx5_debugfs_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x024888d1 mlx5_lag_get_peer_mdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x04641715 mlx5_destroy_flow_group +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x050af820 mlx5_fpga_sbu_conn_sendmsg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x052f4c2d mlx5_core_destroy_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x055b78ac mlx5_query_ib_port_oper +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x091c1787 mlx5_free_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0c48ef0b mlx5_rl_add_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0de04a96 __traceiter_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0e8067f4 mlx5_packet_reformat_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0f45c4b0 mlx5_rsc_dump_cmd_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x105d9a6f mlx5_core_query_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x107fee6f mlx5_lag_is_active +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x11457b34 mlx5_create_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x14923027 mlx5_fc_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1a9b57c2 mlx5_get_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1ce49ddd mlx5_mpfs_add_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e38486c __tracepoint_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1e6eebd7 mlx5_qp_debugfs_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x20ae9d62 mlx5_eq_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x22bce683 __tracepoint_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x241c3340 mlx5_sriov_blocking_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x244320f7 mlx5_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x258523e9 mlx5_eswitch_vport_match_metadata_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x28d78599 mlx5_core_create_mkey +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2c56b2e0 mlx5_core_dealloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2db31f64 mlx5_nic_vport_disable_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2dffd7cf mlx5_eq_update_ci +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2e10cd6f mlx5_alloc_bfreg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x30f5f3cc mlx5_eswitch_uplink_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x32fc77d1 __tracepoint_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3475821f __SCK__tp_func_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3570be21 mlx5_core_roce_gid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x36872123 mlx5_comp_irq_get_affinity_mask +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3aecdb5e __traceiter_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3dab3196 mlx5_debug_qp_add +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x43983982 mlx5_get_fdb_sub_ns +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x465703b7 mlx5_modify_header_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x46e477cb mlx5_core_destroy_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4d5f5c07 __SCK__tp_func_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4ed7b02c mlx5_fs_remove_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4f5586da mlx5_fc_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x51371a99 mlx5_destroy_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x51464f32 mlx5_cmd_destroy_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x52c2584a mlx5_mpfs_del_mac +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x52ecb035 mlx5_sriov_blocking_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5322d2d1 mlx5_eswitch_get_proto_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x547b9608 mlx5_create_auto_grouped_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x55216463 mlx5_rl_remove_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x559ac38d __SCK__tp_func_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x573b8a57 mlx5_fpga_mem_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5a3e5ec4 mlx5_cmd_create_vport_lag +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5e42a66f mlx5_core_destroy_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x61492bb7 mlx5_rl_are_equal +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x63f5a6fa __traceiter_mlx5_fs_add_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x643955dd mlx5_modify_header_dealloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x645d2cc4 mlx5_eswitch_unregister_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x66fcb2be mlx5_cmd_exec_polling +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6aa22512 mlx5_core_modify_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6c69ebd5 mlx5_del_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6cbd8965 mlx5_core_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6ddb119d mlx5_fpga_get_sbu_caps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7261330b __SCK__tp_func_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x728daf46 mlx5_eq_notifier_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x74093e15 mlx5_cmd_init_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x748f7a7f mlx5_is_roce_on +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7637e92d mlx5_vf_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x76c0f750 mlx5_get_flow_namespace +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7970a8f7 mlx5_core_modify_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7b359a09 __SCK__tp_func_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7bbc902c __traceiter_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7c966b87 mlx5_vf_put_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7dd7e1a6 mlx5_lag_get_num_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7deb6ac6 mlx5_create_flow_group +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7fd709fe __tracepoint_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x803792a9 __traceiter_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x82913adf mlx5_eq_create_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x82bc0ffc mlx5_core_destroy_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x83476bd3 mlx5_core_alloc_pd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x834ac904 mlx5_cmd_out_err +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x83e7e1d2 mlx5_lag_is_roce +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x851e0360 mlx5_core_query_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x85450a42 mlx5_eswitch_register_vport_reps +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8662b1e6 mlx5_lag_is_shared_fdb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x872e7c67 __tracepoint_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x88115bc7 mlx5_eswitch_add_send_to_vport_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8c2d3f2b mlx5_qp_debugfs_cleanup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9582bfce mlx5_debug_qp_remove +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x96eb2c99 mlx5_fc_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9b78ec8b mlx5_rl_remove_rate_raw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9beb7133 mlx5_packet_reformat_alloc +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9d6135dc __SCK__tp_func_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9f918a7d mlx5_lag_get_slave_port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9fecc8ff mlx5_cmd_cleanup_async_ctx +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa4415622 mlx5_fc_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa70ace70 mlx5_rl_add_rate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa7c1a956 mlx5_core_modify_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaa75bb71 mlx5_vector2eqn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xab0de97b mlx5_eq_destroy_generic +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xab4bb7f8 mlx5_cmd_exec_cb +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xacde8b72 mlx5_lag_is_master +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xad6815cd mlx5_rsc_dump_cmd_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xae9a8223 mlx5_core_create_tis +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaf335351 __traceiter_mlx5_fs_add_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaf58e936 mlx5_eswitch_get_core_dev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb266aa55 mlx5_cmd_check +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb411f52a mlx5_eswitch_get_vport_metadata_for_match +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb4270108 mlx5_core_create_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb594d2a9 mlx5_add_flow_rules +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb5ec5a13 __traceiter_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb72cffaf __tracepoint_mlx5_fs_del_ft +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbb475e47 __tracepoint_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbca3f8c3 mlx5_core_modify_cq_moderation +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xbeb72d06 __traceiter_mlx5_fs_set_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc096ff42 mlx5_core_modify_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc29afe01 mlx5_create_lag_demux_flow_table +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc2a04edf mlx5_core_create_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc46118c4 mlx5_rdma_rn_get_params +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc4ebe4ae mlx5_core_detach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc957e1c5 mlx5_core_destroy_tir +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc993d381 mlx5_fpga_sbu_conn_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcc5017bd mlx5_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xccbf9ff3 mlx5_core_create_rqt +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xcf052873 mlx5_core_query_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd018b502 mlx5_eswitch_vport_rep +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd118a2fc mlx5_eswitch_get_vport_metadata_for_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd2279822 mlx5_fpga_mem_read +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd2756f9c mlx5_lag_is_sriov +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd38fe192 mlx5_lag_get_roce_netdev +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd4f0455f mlx5_put_uars_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd57073d9 mlx5_rsc_dump_next +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd6c3be3d __tracepoint_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xd6c981eb mlx5_comp_vectors_count +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xde7e507c mlx5_eq_disable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe2495574 mlx5_core_query_sq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe2dcbbf0 mlx5_rl_is_in_range +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe3138eb6 mlx5_fs_add_rx_underlay_qpn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe4e09c2b __tracepoint_mlx5_fw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe5cab06a __traceiter_mlx5_fs_del_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe7e74a09 mlx5_lag_query_cong_counters +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xe9256a1c mlx5_core_query_vendor_id +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeb419dfb mlx5_cmd_do +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeb445c5c mlx5_eswitch_get_encap_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeb9a8bcf __SCK__tp_func_mlx5_fs_del_fte +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xecca9eb0 mlx5_eq_get_eqe +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xed19faee mlx5_core_dealloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xed602dac mlx5_notifier_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xee597cc5 mlx5_create_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xeebdd937 mlx5_eswitch_reg_c1_loopback_enabled +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xefa8bce7 mlx5_fpga_sbu_conn_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf1ec9ddc mlx5_core_destroy_cq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf6a3da6c mlx5_eq_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf6f1b1d2 mlx5_core_alloc_transport_domain +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf88d57b1 __SCK__tp_func_mlx5_fs_add_rule +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf8eff7e3 mlx5_debugfs_get_dev_root +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfb043c33 mlx5_core_destroy_psv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfc8e744e __SCK__tp_func_mlx5_fs_del_fg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xfe17501c mlx5_core_create_rq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xff470a6b mlx5_core_attach_mcg +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxfw/mlxfw 0xa70e23a9 mlxfw_firmware_flash +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0137f952 mlxsw_afk_values_add_buf +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02815b77 mlxsw_env_module_port_up +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x02dfd3d0 mlxsw_afk_key_info_block_encoding_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0426fdba mlxsw_core_ptp_transmitted +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x07abcc0c mlxsw_afa_block_append_trap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x087c0c78 mlxsw_core_port_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0b89155f mlxsw_core_rx_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0b9cffd2 mlxsw_core_skb_transmit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0ca34ccf mlxsw_core_max_ports +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0dd8caa3 mlxsw_reg_trans_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x0e81c09c mlxsw_afk_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x10d3c264 mlxsw_core_port_is_xm +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x14e17bb4 mlxsw_linecards_event_ops_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x15801382 mlxsw_afk_key_info_put +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x18b0ad00 mlxsw_afa_block_append_police +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x19fa5852 mlxsw_core_flush_owq +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x1c6605f6 mlxsw_afa_block_append_qos_switch_prio +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x202693f0 mlxsw_afa_block_cur_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x21daf3af mlxsw_afa_block_append_qos_dsfield +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x23eddc68 mlxsw_core_cpu_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2a4ddd44 mlxsw_env_get_module_power_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2c68ced3 mlxsw_core_read_frc_h +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x2e5f55a2 mlxsw_core_traps_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x30d2fad9 mlxsw_afa_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x3607da31 mlxsw_core_traps_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x38185d87 mlxsw_afa_block_append_qos_ecn +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4036254f mlxsw_linecards_event_ops_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x406b4614 mlxsw_afa_block_append_counter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x43a9b87e mlxsw_afa_block_terminate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x47041e4e mlxsw_afk_key_info_blocks_count_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x477f5aa6 mlxsw_core_rx_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x489d69bd mlxsw_env_reset_module +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4b0bae55 mlxsw_core_kvd_sizes_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4e2424ee mlxsw_reg_trans_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x4e6be521 mlxsw_afa_block_append_fwd +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x508923e3 mlxsw_core_port_init +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x51b5769d mlxsw_env_module_overheat_counter_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x55a65610 mlxsw_core_res_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5a099407 mlxsw_afa_block_append_qos_dscp +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5a939205 mlxsw_afk_values_add_u32 +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5cf3dd79 mlxsw_core_bus_device_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x5ff17b5c mlxsw_afa_block_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x618a30ab mlxsw_afa_block_commit +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x632314f1 mlxsw_cmd_exec +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x63874d4c mlxsw_core_port_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x65e16da4 mlxsw_afk_key_info_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6929f2b4 mlxsw_env_module_port_map +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x69910190 mlxsw_core_driver_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6a11b783 mlxsw_core_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x6cbee721 mlxsw_env_get_module_eeprom +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x72720d5b mlxsw_core_skb_receive +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x73489011 mlxsw_afa_block_append_ip +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x749556a2 mlxsw_afk_key_info_subset +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x75339042 mlxsw_core_lag_mapping_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x77d83398 mlxsw_core_read_frc_l +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7b0bfeec mlxsw_core_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7ca5b4d4 mlxsw_afa_block_append_sampler +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7e08c6e0 mlxsw_core_event_listener_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7f2d4c19 mlxsw_core_port_devlink_port_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x7f659d4c mlxsw_afa_block_append_vlan_modify +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x827a2f1f mlxsw_afa_block_jump +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x829e8851 mlxsw_afa_block_first_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x83fb69af mlxsw_core_lag_mapping_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x858c30d0 mlxsw_afa_block_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x8854d198 mlxsw_reg_write +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x902c3533 mlxsw_core_schedule_dw +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x963cfb6a mlxsw_core_resources_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x97035a9c mlxsw_afa_block_append_fid_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x97e62e6e mlxsw_env_get_module_eeprom_by_page +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x98bfa19b mlxsw_env_set_module_power_mode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x996c5d6d mlxsw_reg_trans_bulk_wait +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x9cbf026d mlxsw_afa_destroy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0x9e41f494 mlxsw_afk_encode +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa015ddb2 mlxsw_core_port_eth_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa7765e88 mlxsw_reg_query +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xa82ca95a mlxsw_core_trap_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xac1074a5 mlxsw_core_skb_transmit_busy +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb5eeb940 mlxsw_core_trap_state_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb6517b2e mlxsw_afa_block_append_trap_and_forward +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb68e9fa8 mlxsw_env_module_port_unmap +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xb6b40684 mlxsw_core_res_valid +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xba05b3b0 mlxsw_core_emad_string_tlv_enable +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbaca8c20 mlxsw_core_bus_device_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbc222a8d mlxsw_afk_clear +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xbfb7df3c mlxsw_core_driver_priv +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xcbab836f mlxsw_core_fw_rev_minor_subminor_validate +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd28256cf mlxsw_afa_block_append_allocated_counter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd71566b9 mlxsw_core_schedule_work +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd7a93413 mlxsw_core_event_listener_unregister +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd84eb6b0 mlxsw_afa_block_append_drop +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xd9f711ae mlxsw_afa_block_append_mcrouter +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdc415cf1 mlxsw_afa_block_continue +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xde4e211f mlxsw_afa_block_append_l4port +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeab0691 mlxsw_afk_create +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdeb1dc2e mlxsw_afa_block_first_kvdl_index +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xdece9319 mlxsw_core_trap_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe16986dd mlxsw_afa_block_activity_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe4fbaaa9 mlxsw_env_get_module_info +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe5540be5 mlxsw_core_port_ib_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xe891b97d mlxsw_afa_block_append_mirror +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xecab212a mlxsw_afa_cookie_lookup +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xed2801d4 mlxsw_env_module_port_down +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xeda7a5d0 mlxsw_core_port_type_get +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xf82bdc70 mlxsw_core_lag_mapping_set +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_core 0xff007c25 mlxsw_core_cpu_port_fini +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0x282c2a97 mlxsw_pci_driver_register +EXPORT_SYMBOL drivers/net/ethernet/mellanox/mlxsw/mlxsw_pci 0xefd4f099 mlxsw_pci_driver_unregister +EXPORT_SYMBOL drivers/net/phy/bcm-phy-lib 0x6a3aaa03 bcm54xx_auxctl_write +EXPORT_SYMBOL drivers/net/team/team 0x096ca9ce team_modeop_port_change_dev_addr +EXPORT_SYMBOL drivers/net/team/team 0x684dd78c team_option_inst_set_change +EXPORT_SYMBOL drivers/net/team/team 0x786797cf team_options_register +EXPORT_SYMBOL drivers/net/team/team 0x7f2095f0 team_options_change_check +EXPORT_SYMBOL drivers/net/team/team 0x873744e1 team_mode_register +EXPORT_SYMBOL drivers/net/team/team 0xb85fb6cb team_modeop_port_enter +EXPORT_SYMBOL drivers/net/team/team 0xc12b4739 team_options_unregister +EXPORT_SYMBOL drivers/net/team/team 0xe939d318 team_mode_unregister +EXPORT_SYMBOL drivers/ptp/ptp 0x18b6d0bc ptp_clock_register +EXPORT_SYMBOL drivers/ptp/ptp 0x1a747086 ptp_find_pin_unlocked +EXPORT_SYMBOL drivers/ptp/ptp 0x3aeab639 ptp_cancel_worker_sync +EXPORT_SYMBOL drivers/ptp/ptp 0x40a668d5 ptp_clock_event +EXPORT_SYMBOL drivers/ptp/ptp 0x46e25259 ptp_schedule_worker +EXPORT_SYMBOL drivers/ptp/ptp 0x71d07378 ptp_clock_index +EXPORT_SYMBOL drivers/ptp/ptp 0xab802b1a ptp_clock_unregister +EXPORT_SYMBOL drivers/ptp/ptp 0xb0a6ead2 ptp_find_pin +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x020a87c1 dasd_term_IO +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x09ace359 dasd_smalloc_request +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x0b22c339 dasd_eer_write +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x1427a36a dasd_log_sense +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x15e41599 dasd_kick_device +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x167a414e dasd_device_clear_timer +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x19082a77 dasd_reload_device +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x2b1c0017 dasd_ffree_request +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x2c9cf44c dasd_add_request_tail +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x2eda56ca dasd_debug_area +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x331dbd0e dasd_alloc_erp_request +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x33893e14 dasd_schedule_device_bh +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x35c9c407 dasd_diag_discipline_pointer +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x3b793871 dasd_add_request_head +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x3d54d084 dasd_fmalloc_request +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x4fd36f9c dasd_start_IO +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x534aba7d dasd_sfree_request +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x57ca24d9 dasd_sleep_on_immediatly +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x648898ca dasd_path_remove_kobjects +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x6f13d817 dasd_int_handler +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x706aedeb dasd_default_erp_action +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x70f9ee86 dasd_schedule_block_bh +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x81fb51cc dasd_path_create_kobj +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0x8959f676 dasd_log_sense_dbf +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xa6c04fb2 dasd_set_feature +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xa882aa12 dasd_block_clear_timer +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xaccd87c0 dasd_free_erp_request +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xb4dcb5de dasd_sleep_on_queue +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xb5a5889f dasd_sleep_on +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xba46a993 dasd_block_set_timer +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xc134caac dasd_sleep_on_queue_interruptible +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xcabb0638 dasd_device_set_timer +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xcce9dd73 dasd_schedule_requeue +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xdd476506 dasd_path_create_kobjects +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xdec92b8e dasd_default_erp_postaction +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xf80b3c75 dasd_sleep_on_interruptible +EXPORT_SYMBOL drivers/s390/block/dasd_mod 0xfe70b8e0 dasd_enable_device +EXPORT_SYMBOL drivers/s390/char/hmcdrv 0x08e57a2c hmcdrv_ftp_do +EXPORT_SYMBOL drivers/s390/char/hmcdrv 0x3198b5cb hmcdrv_ftp_startup +EXPORT_SYMBOL drivers/s390/char/hmcdrv 0x83a6e87f hmcdrv_ftp_probe +EXPORT_SYMBOL drivers/s390/char/hmcdrv 0xba68949c hmcdrv_ftp_shutdown +EXPORT_SYMBOL drivers/s390/char/tape 0x022ad0d7 tape_std_unassign +EXPORT_SYMBOL drivers/s390/char/tape 0x0ba5c3a0 tape_generic_remove +EXPORT_SYMBOL drivers/s390/char/tape 0x11c949a0 tape_std_mtbsf +EXPORT_SYMBOL drivers/s390/char/tape 0x178153ac tape_put_device +EXPORT_SYMBOL drivers/s390/char/tape 0x182f0b4d tape_std_read_backward +EXPORT_SYMBOL drivers/s390/char/tape 0x20a46485 tape_dump_sense_dbf +EXPORT_SYMBOL drivers/s390/char/tape 0x2546c415 tape_state_verbose +EXPORT_SYMBOL drivers/s390/char/tape 0x47dedb6b tape_std_mtfsf +EXPORT_SYMBOL drivers/s390/char/tape 0x53bcc2e5 tape_alloc_request +EXPORT_SYMBOL drivers/s390/char/tape 0x5732eaeb tape_std_mtsetblk +EXPORT_SYMBOL drivers/s390/char/tape 0x58da35c1 tape_std_mtunload +EXPORT_SYMBOL drivers/s390/char/tape 0x644049fe tape_std_process_eov +EXPORT_SYMBOL drivers/s390/char/tape 0x66deb66c tape_op_verbose +EXPORT_SYMBOL drivers/s390/char/tape 0x697114db tape_std_mtreset +EXPORT_SYMBOL drivers/s390/char/tape 0x6ab34be7 tape_do_io_interruptible +EXPORT_SYMBOL drivers/s390/char/tape 0x6ee9a28b tape_med_state_set +EXPORT_SYMBOL drivers/s390/char/tape 0x82830ae2 tape_std_mtweof +EXPORT_SYMBOL drivers/s390/char/tape 0x900d6b4a tape_get_device +EXPORT_SYMBOL drivers/s390/char/tape 0x90a91bb2 tape_std_mtreten +EXPORT_SYMBOL drivers/s390/char/tape 0x9282f360 tape_cancel_io +EXPORT_SYMBOL drivers/s390/char/tape 0x952b75fa tape_std_mtnop +EXPORT_SYMBOL drivers/s390/char/tape 0x9d05edf2 tape_generic_online +EXPORT_SYMBOL drivers/s390/char/tape 0x9e022ca2 tape_std_mteom +EXPORT_SYMBOL drivers/s390/char/tape 0xa7b3dc7f tape_mtop +EXPORT_SYMBOL drivers/s390/char/tape 0xb0c6f3f9 tape_std_read_block +EXPORT_SYMBOL drivers/s390/char/tape 0xb1d0e856 tape_std_mtfsr +EXPORT_SYMBOL drivers/s390/char/tape 0xb42c5d25 tape_std_mterase +EXPORT_SYMBOL drivers/s390/char/tape 0xba3bfa51 tape_std_mtoffl +EXPORT_SYMBOL drivers/s390/char/tape 0xbfdd5390 tape_core_dbf +EXPORT_SYMBOL drivers/s390/char/tape 0xc4ce135b tape_state_set +EXPORT_SYMBOL drivers/s390/char/tape 0xc7da086f tape_generic_offline +EXPORT_SYMBOL drivers/s390/char/tape 0xc8ba4fb7 tape_std_mtrew +EXPORT_SYMBOL drivers/s390/char/tape 0xd48b7d68 tape_std_read_block_id +EXPORT_SYMBOL drivers/s390/char/tape 0xd6310338 tape_std_mtbsfm +EXPORT_SYMBOL drivers/s390/char/tape 0xdad10f92 tape_std_mtfsfm +EXPORT_SYMBOL drivers/s390/char/tape 0xdb63633d tape_std_mtcompression +EXPORT_SYMBOL drivers/s390/char/tape 0xdbc4edb2 tape_generic_probe +EXPORT_SYMBOL drivers/s390/char/tape 0xddd27991 tape_do_io +EXPORT_SYMBOL drivers/s390/char/tape 0xdeac18b9 tape_do_io_async +EXPORT_SYMBOL drivers/s390/char/tape 0xe1202d85 tape_std_mtload +EXPORT_SYMBOL drivers/s390/char/tape 0xe45d2a25 tape_std_assign +EXPORT_SYMBOL drivers/s390/char/tape 0xe7c77a9d tape_std_mtbsr +EXPORT_SYMBOL drivers/s390/char/tape 0xece58852 tape_std_display +EXPORT_SYMBOL drivers/s390/char/tape 0xeedbc004 tape_free_request +EXPORT_SYMBOL drivers/s390/char/tape 0xf85ec136 tape_std_write_block +EXPORT_SYMBOL drivers/s390/char/tape_34xx 0x62e7da44 tape_34xx_dbf +EXPORT_SYMBOL drivers/s390/char/tape_3590 0xaf3a2c16 tape_3590_dbf +EXPORT_SYMBOL drivers/s390/char/tape_class 0xe4ec9202 unregister_tape_dev +EXPORT_SYMBOL drivers/s390/char/tape_class 0xeabdaef5 register_tape_dev +EXPORT_SYMBOL drivers/s390/cio/ccwgroup 0x04468012 ccwgroup_driver_unregister +EXPORT_SYMBOL drivers/s390/cio/ccwgroup 0x0a1acf9e ccwgroup_remove_ccwdev +EXPORT_SYMBOL drivers/s390/cio/ccwgroup 0x0cfbb80c ccwgroup_set_online +EXPORT_SYMBOL drivers/s390/cio/ccwgroup 0x15ad6086 ccwgroup_set_offline +EXPORT_SYMBOL drivers/s390/cio/ccwgroup 0x2eb9dbf2 ccwgroup_driver_register +EXPORT_SYMBOL drivers/s390/cio/ccwgroup 0x36673c13 ccwgroup_create_dev +EXPORT_SYMBOL drivers/s390/cio/ccwgroup 0xf28bcfc2 dev_is_ccwgroup +EXPORT_SYMBOL drivers/s390/cio/ccwgroup 0xfd72431e ccwgroup_probe_ccwdev +EXPORT_SYMBOL drivers/s390/cio/qdio 0x0dd1ee1e qdio_start_irq +EXPORT_SYMBOL drivers/s390/cio/qdio 0x7f56d334 qdio_stop_irq +EXPORT_SYMBOL drivers/s390/cio/vfio_ccw 0x00cbfcde __traceiter_vfio_ccw_chp_event +EXPORT_SYMBOL drivers/s390/cio/vfio_ccw 0x7acf9c1f __SCK__tp_func_vfio_ccw_fsm_io_request +EXPORT_SYMBOL drivers/s390/cio/vfio_ccw 0x87db7cac __traceiter_vfio_ccw_fsm_event +EXPORT_SYMBOL drivers/s390/cio/vfio_ccw 0x9cc9b339 __SCK__tp_func_vfio_ccw_fsm_event +EXPORT_SYMBOL drivers/s390/cio/vfio_ccw 0xab59e724 __tracepoint_vfio_ccw_fsm_async_request +EXPORT_SYMBOL drivers/s390/cio/vfio_ccw 0xb3cb802b __SCK__tp_func_vfio_ccw_chp_event +EXPORT_SYMBOL drivers/s390/cio/vfio_ccw 0xc4df2d80 __traceiter_vfio_ccw_fsm_io_request +EXPORT_SYMBOL drivers/s390/cio/vfio_ccw 0xc71044f9 __SCK__tp_func_vfio_ccw_fsm_async_request +EXPORT_SYMBOL drivers/s390/cio/vfio_ccw 0xc8156451 __tracepoint_vfio_ccw_chp_event +EXPORT_SYMBOL drivers/s390/cio/vfio_ccw 0xdb6c0a19 __tracepoint_vfio_ccw_fsm_io_request +EXPORT_SYMBOL drivers/s390/cio/vfio_ccw 0xe7175743 __tracepoint_vfio_ccw_fsm_event +EXPORT_SYMBOL drivers/s390/cio/vfio_ccw 0xeeaa8b65 __traceiter_vfio_ccw_fsm_async_request +EXPORT_SYMBOL drivers/s390/crypto/pkey 0xa2396123 pkey_keyblob2pkey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x0327b454 zcrypt_send_cprb +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x0ebc8b2f __SCK__tp_func_s390_zcrypt_rep +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x1360e3df cca_findcard2 +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x177c49f9 zcrypt_queue_free +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x17a7ba6e __SCK__tp_func_s390_zcrypt_req +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x274ee02a ep11_findcard2 +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x2af6340e cca_check_secaeskeytoken +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x2dc30fe9 cca_findcard +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x314aed2b cca_get_info +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x404502d2 __traceiter_s390_zcrypt_rep +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x4812044f ep11_check_aes_key_with_hdr +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x49071731 ep11_check_aes_key +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x4aad03c0 cca_gencipherkey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x52190334 cca_sec2protkey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x528cac6a zcrypt_queue_get +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x54ec76ad zcrypt_msgtype +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x5e050fdf cca_genseckey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x67cedaeb zcrypt_rescan_req +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x67e750b4 zcrypt_queue_unregister +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x7136ef09 zcrypt_card_put +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x742e0afe zcrypt_card_alloc +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x7dd52fc2 ep11_clr2keyblob +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x838f1acc zcrypt_card_unregister +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x85ca4e1d __traceiter_s390_zcrypt_req +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x88cf5390 zcrypt_queue_register +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x8e61f5ad cca_check_secaescipherkey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x9032dd84 zcrypt_device_status_mask_ext +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x9992a66f cca_clr2seckey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0x9b41d74f cca_check_sececckeytoken +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xa502c213 zcrypt_wait_api_operational +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xa54284be zcrypt_device_status_ext +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xbca3476d zcrypt_card_register +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xc0c976b6 ep11_get_domain_info +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xc20af440 cca_query_crypto_facility +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xc23843b6 ep11_genaeskey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xc3ee9fa0 cca_cipher2protkey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xc79ae663 __tracepoint_s390_zcrypt_rep +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xca323a3e ep11_check_ecc_key_with_hdr +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xd53d2132 zcrypt_queue_alloc +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xdb0adadb ep11_kblob2protkey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xde81d722 __tracepoint_s390_zcrypt_req +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xe41a19a2 zcrypt_card_get +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xea54d73e cca_clr2cipherkey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xec693119 cca_ecc2protkey +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xee077284 ep11_get_card_info +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xf404cb7a zcrypt_queue_put +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xfa128312 zcrypt_send_ep11_cprb +EXPORT_SYMBOL drivers/s390/crypto/zcrypt 0xff53b870 zcrypt_card_free +EXPORT_SYMBOL drivers/s390/net/ctcm 0x40b3051a ctc_mpc_dealloc_ch +EXPORT_SYMBOL drivers/s390/net/ctcm 0x56f42138 ctc_mpc_alloc_channel +EXPORT_SYMBOL drivers/s390/net/ctcm 0x812fa936 ctc_mpc_establish_connectivity +EXPORT_SYMBOL drivers/s390/net/ctcm 0xf5440dc6 ctc_mpc_flow_control +EXPORT_SYMBOL drivers/s390/net/fsm 0x312e1b73 init_fsm +EXPORT_SYMBOL drivers/s390/net/fsm 0x331bbed3 kfree_fsm +EXPORT_SYMBOL drivers/s390/net/fsm 0x92d7bc3b fsm_modtimer +EXPORT_SYMBOL drivers/s390/net/fsm 0xab62b304 fsm_addtimer +EXPORT_SYMBOL drivers/s390/net/fsm 0xaefe8672 fsm_getstate_str +EXPORT_SYMBOL drivers/s390/net/fsm 0xdf20006d fsm_settimer +EXPORT_SYMBOL drivers/s390/net/fsm 0xe8a7dd7d fsm_deltimer +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x16c1398a fcoe_transport_attach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x34c6ca40 fcoe_ctlr_recv +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x466917b9 fcoe_ctlr_link_down +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x4686fbc5 fcoe_ctlr_els_send +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x49cc58f3 fcoe_transport_detach +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x668fe1f7 fcoe_ctlr_set_fip_mode +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x6776ec35 fcoe_ctlr_link_up +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0x6ea87ca2 fcoe_fcf_get_selected +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xba02852a fcoe_ctlr_init +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xd59bb1f0 fcoe_ctlr_recv_flogi +EXPORT_SYMBOL drivers/scsi/fcoe/libfcoe 0xee569974 fcoe_ctlr_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x089df89c fc_rport_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x09d5cde9 fc_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x0b0068c9 fc_elsct_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1c8a811b fc_rport_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x1d18ea61 fc_fill_reply_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x20cf53ec fc_set_mfs +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x22b90986 fc_exch_mgr_del +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x244045c1 fc_exch_update_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x298590d1 fc_fabric_login +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x2f0ee177 libfc_vport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x300960af fc_fabric_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x32c355e1 fc_rport_terminate_io +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x3d148f2b fc_rport_recv_req +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x45bba58a fc_eh_abort +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x48e5c50a fc_lport_flogi_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4c50e7a9 fc_lport_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x4e1a1f1e fc_fcp_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x50a3a5c9 fc_lport_iterate +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5394a807 fc_vport_id_lookup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x53b1fb8d fc_set_rport_loss_tmo +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x55668210 fc_get_host_speed +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x576cc2be fc_exch_mgr_free +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x595d466f fc_fc4_deregister_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x59eef069 fc_eh_device_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x5c53ac90 fc_lport_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x64438361 fc_lport_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x69418424 fc_slave_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6b3fa621 fc_exch_mgr_list_clone +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x6d6d0622 fc_linkup +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x708e777f fc_seq_assign +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x75a15095 fc_disc_config +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7684e415 fc_elsct_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7ce8fa4d fc_disc_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7f3407a7 fc_seq_start_next +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7f47a5fd fc_lport_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x7fe3b1bd fc_rport_create +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x811811e0 fc_exch_done +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x831c4b00 fc_get_host_port_state +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x858437b6 _fc_frame_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8d23a263 fc_seq_set_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x8f7f57eb fc_exch_mgr_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9133a63b fc_exch_mgr_alloc +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x937d4b77 fc_rport_logoff +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x996b7a21 fc_linkdown +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0x9d50ed7e fc_rport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xa1bcd198 fc_cpu_mask +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xafaa5ff3 fc_exch_seq_send +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb0ddd5a1 fc_rport_flush_queue +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb27b010c fc_exch_init +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb54e7b9e fc_lport_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xb82ec555 fc_exch_mgr_add +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc1cbdfb1 fc_frame_crc_check +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc4cbc4e3 fc_lport_bsg_request +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xc9cd1363 fc_exch_recv +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcae60820 fc_fc4_register_provider +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xcb18f479 fc_queuecommand +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xce8ab603 fc_get_host_stats +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd3a6fe9d fc_frame_alloc_fill +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xd791973f fc_lport_set_local_id +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xdfa68c69 fc_fcp_destroy +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xe295f4d0 fc_eh_host_reset +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xeb150d8b fc_vport_setlink +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xed2c130f fc_lport_logo_resp +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf1e0571d fc_lport_notifier_head +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xf689e662 fc_fill_hdr +EXPORT_SYMBOL drivers/scsi/libfc/libfc 0xfa4667d1 fc_seq_release +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x4a8e3d34 try_test_sas_gpio_gp_bit +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x6fb0f5f2 sas_resume_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x726ded0b sas_suspend_ha +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0x7322cdf6 sas_resume_ha_no_sync +EXPORT_SYMBOL drivers/scsi/libsas/libsas 0xeba2b77c sas_prep_resume_ha +EXPORT_SYMBOL drivers/scsi/raid_class 0x9cfb9e82 raid_component_add +EXPORT_SYMBOL drivers/scsi/raid_class 0xd148fcc3 raid_class_attach +EXPORT_SYMBOL drivers/scsi/raid_class 0xdc026cb2 raid_class_release +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x19fb5a72 fc_vport_create +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x27bc85a6 fc_host_post_vendor_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x2ee7c26b fc_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x30b5fa24 fc_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x33b2e822 fc_remote_port_rolechg +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x375f8bbd fc_get_event_number +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3b7247ae fc_eh_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3bf622d6 fc_find_rport_by_wwpn +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x3f3c6d88 fc_vport_terminate +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x5f3f87be scsi_is_fc_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x61a164a9 fc_block_scsi_eh +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x7e5f7161 fc_host_fpin_rcv +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x86d32e4e fc_remote_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0x9d8acfc6 fc_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xc46e08ff fc_host_post_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xe00635f8 fc_block_rport +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xf2281b46 fc_host_post_fc_event +EXPORT_SYMBOL drivers/scsi/scsi_transport_fc 0xfff85b5a fc_remote_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0887084c sas_port_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0c711f0e sas_rphy_remove +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x0faa5984 sas_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x39be4da2 sas_port_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x3c4318fa sas_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x4072592c sas_rphy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x48456316 sas_port_mark_backlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x533eed9b sas_port_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x58a0e74a scsi_is_sas_port +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6176f26e sas_phy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x694f9284 sas_port_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x6d4352a4 sas_rphy_delete +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x70e54b5d sas_port_add_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x84493b03 sas_end_device_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x84815370 scsi_is_sas_rphy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x87795f9a sas_get_address +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x8c54163e sas_rphy_unlink +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x93ce92d3 sas_phy_add +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0x975c65af sas_port_alloc_num +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xae38ffe3 sas_rphy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xaf2df8b4 sas_expander_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xb5438669 sas_remove_host +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbc18e61b scsi_is_sas_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xbe6be735 sas_remove_children +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xc64e238b sas_port_delete_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xcee2613b sas_port_get_phy +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd3983704 sas_phy_alloc +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xd7d20fbd sas_read_port_mode_page +EXPORT_SYMBOL drivers/scsi/scsi_transport_sas 0xf0f01432 sas_phy_free +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x0c243e1e spi_display_xfer_agreement +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x14034793 spi_attach_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x3686ea09 spi_print_msg +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0x5b262f9c spi_release_transport +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xe8256485 spi_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_spi 0xed8eac1e spi_schedule_dv_device +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x08d88ab7 srp_start_tl_fail_timers +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x09541ba5 srp_rport_put +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x1856712f srp_timed_out +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x3ffc0aa4 srp_rport_get +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0x405b6e05 srp_parse_tmo +EXPORT_SYMBOL drivers/scsi/scsi_transport_srp 0xd378b545 srp_reconnect_rport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x04f7808f iscsit_logout_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x092f546b iscsit_build_logout_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x13463484 iscsit_cause_connection_reinstatement +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x16d6a382 iscsit_queue_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x18f7e905 iscsit_setup_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x23c05d84 iscsit_setup_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x254f650e iscsit_sequence_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x2d3e8b70 iscsit_build_rsp_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x2f073f5b iscsit_find_cmd_from_itt_or_dump +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3b05f02e iscsi_target_check_login_request +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x3d09e1c4 iscsit_add_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x46ce87e1 iscsit_handle_logout_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x474e14bd iscsit_set_unsolicited_dataout +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x480fad9e iscsit_handle_snack +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x50cf23ea iscsit_process_nop_out +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5b72a3d6 iscsit_add_cmd_to_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x5c8c4014 iscsit_increment_maxcmdsn +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x600f4a0b iscsit_process_text_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x61372b34 iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6368cb16 iscsit_tmr_post_handler +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6afac18b __iscsit_check_dataout_hdr +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6b6f4fb3 iscsit_release_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x6e3875f5 iscsit_build_datain_pdu +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7888fc05 iscsit_handle_task_mgt_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x7de24cf3 iscsit_build_nopin_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x873468d3 iscsit_setup_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8cbdee2c iscsit_find_cmd_from_itt +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x8f98b8f4 iscsi_change_param_sprintf +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x979d98b7 iscsit_thread_check_cpumask +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9818a9dc iscsit_register_transport +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x98d8a799 iscsit_free_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0x9e61520f iscsit_immediate_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xaeea5062 iscsit_allocate_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xb851a4b2 iscsit_response_queue +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xbbbccd6b iscsit_build_r2ts_for_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xc90ea5f0 iscsit_build_reject +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xce89abf5 iscsit_get_datain_values +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xd3ec7d9e iscsit_aborted_task +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe62bb4c5 iscsit_build_task_mgt_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xe737dc9b iscsit_process_scsi_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xec23805d iscsit_check_dataout_payload +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xee2af3fb iscsit_stop_dataout_timer +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xefcf647d iscsit_build_text_rsp +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf34332f0 iscsi_find_param_from_key +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf41af0ed iscsit_reject_cmd +EXPORT_SYMBOL drivers/target/iscsi/iscsi_target_mod 0xf70caa0e iscsit_unregister_transport +EXPORT_SYMBOL drivers/target/target_core_mod 0x0871ffd6 transport_set_vpd_ident +EXPORT_SYMBOL drivers/target/target_core_mod 0x0dc78629 transport_backend_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x0e183ea8 target_nacl_find_deve +EXPORT_SYMBOL drivers/target/target_core_mod 0x0ea79df0 passthrough_pr_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x0fad7a92 transport_free_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x130ea67d target_to_linux_sector +EXPORT_SYMBOL drivers/target/target_core_mod 0x136f5cf4 sbc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x142072c0 transport_set_vpd_assoc +EXPORT_SYMBOL drivers/target/target_core_mod 0x1646c040 core_tmr_alloc_req +EXPORT_SYMBOL drivers/target/target_core_mod 0x1804910c transport_lookup_tmr_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x1881abe5 target_put_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x18a6b354 transport_alloc_session_tags +EXPORT_SYMBOL drivers/target/target_core_mod 0x199af2c8 target_lun_is_rdonly +EXPORT_SYMBOL drivers/target/target_core_mod 0x1f925f06 target_configure_unmap_from_queue +EXPORT_SYMBOL drivers/target/target_core_mod 0x266a1168 sbc_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0x2710c434 transport_alloc_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x2be39c3e spc_emulate_report_luns +EXPORT_SYMBOL drivers/target/target_core_mod 0x34c320b8 sbc_get_write_same_sectors +EXPORT_SYMBOL drivers/target/target_core_mod 0x36ab339b transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x3a20a9d7 transport_set_vpd_ident_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x43f806e4 core_alua_check_nonop_delay +EXPORT_SYMBOL drivers/target/target_core_mod 0x443a4e02 target_unregister_template +EXPORT_SYMBOL drivers/target/target_core_mod 0x451995e8 transport_generic_free_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x4bd8ca52 transport_generic_new_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x50edda94 sbc_get_device_type +EXPORT_SYMBOL drivers/target/target_core_mod 0x536f5f3b transport_handle_cdb_direct +EXPORT_SYMBOL drivers/target/target_core_mod 0x59c3bc8d target_show_dynamic_sessions +EXPORT_SYMBOL drivers/target/target_core_mod 0x5a1ce9bc __transport_register_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x638bffb7 target_free_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x63dd0192 passthrough_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x653ce3ae target_complete_cmd_with_length +EXPORT_SYMBOL drivers/target/target_core_mod 0x6651c1a7 transport_init_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x698f9700 target_complete_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x6b5bfac1 transport_kmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0x71ec9b5f core_tpg_set_initiator_node_tag +EXPORT_SYMBOL drivers/target/target_core_mod 0x74d96d7e target_cmd_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x76363062 spc_parse_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0x77cb5a59 target_execute_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x79025472 target_undepend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0x7a1d0d3c target_alloc_sgl +EXPORT_SYMBOL drivers/target/target_core_mod 0x7f6377c1 core_tpg_register +EXPORT_SYMBOL drivers/target/target_core_mod 0x7fb38d22 spc_emulate_inquiry_std +EXPORT_SYMBOL drivers/target/target_core_mod 0x87a56865 transport_lookup_cmd_lun +EXPORT_SYMBOL drivers/target/target_core_mod 0x899323ba transport_deregister_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x8f7f3118 transport_send_check_condition_and_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0x919b0b24 target_show_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x97130637 target_remove_session +EXPORT_SYMBOL drivers/target/target_core_mod 0x99898696 transport_copy_sense_to_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0x9b664de0 core_tpg_get_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xa2ff6421 target_get_sess_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xa54955a8 target_send_busy +EXPORT_SYMBOL drivers/target/target_core_mod 0xa5ee3665 target_complete_cmd_with_sense +EXPORT_SYMBOL drivers/target/target_core_mod 0xa974c84c target_depend_item +EXPORT_SYMBOL drivers/target/target_core_mod 0xac751303 __target_init_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xafdb3ff5 passthrough_attrib_attrs +EXPORT_SYMBOL drivers/target/target_core_mod 0xb81a48ab transport_kunmap_data_sg +EXPORT_SYMBOL drivers/target/target_core_mod 0xba6dde63 target_tpg_has_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xbac8f7e3 transport_generic_handle_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xbdcef6c5 target_backend_unregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xc02df470 core_tpg_deregister +EXPORT_SYMBOL drivers/target/target_core_mod 0xc381a613 target_stop_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xc45ba5e0 transport_wait_for_tasks +EXPORT_SYMBOL drivers/target/target_core_mod 0xc49945ce sbc_dif_copy_prot +EXPORT_SYMBOL drivers/target/target_core_mod 0xc559fede target_submit_cmd +EXPORT_SYMBOL drivers/target/target_core_mod 0xc993ae3a core_tpg_check_initiator_node_acl +EXPORT_SYMBOL drivers/target/target_core_mod 0xccfbd321 target_set_cmd_data_length +EXPORT_SYMBOL drivers/target/target_core_mod 0xd4937af8 transport_deregister_session_configfs +EXPORT_SYMBOL drivers/target/target_core_mod 0xd7609098 core_allocate_nexus_loss_ua +EXPORT_SYMBOL drivers/target/target_core_mod 0xddbbd2c6 core_tpg_set_initiator_node_queue_depth +EXPORT_SYMBOL drivers/target/target_core_mod 0xe1035ab3 target_put_nacl +EXPORT_SYMBOL drivers/target/target_core_mod 0xe25a231b target_setup_session +EXPORT_SYMBOL drivers/target/target_core_mod 0xe6739801 target_cmd_init_cdb +EXPORT_SYMBOL drivers/target/target_core_mod 0xe98d7502 target_wait_for_sess_cmds +EXPORT_SYMBOL drivers/target/target_core_mod 0xea9def76 target_submit_tmr +EXPORT_SYMBOL drivers/target/target_core_mod 0xec282143 spc_emulate_evpd_83 +EXPORT_SYMBOL drivers/target/target_core_mod 0xf15d11a8 target_register_template +EXPORT_SYMBOL drivers/target/target_core_mod 0xf3c2dfe0 transport_set_vpd_proto_id +EXPORT_SYMBOL drivers/target/target_core_mod 0xf4d9a882 transport_generic_request_failure +EXPORT_SYMBOL drivers/target/target_core_mod 0xf8da48b6 sbc_dif_verify +EXPORT_SYMBOL drivers/tty/serial/serial_core 0x02b633ed uart_match_port +EXPORT_SYMBOL drivers/tty/serial/serial_core 0x2836e486 uart_suspend_port +EXPORT_SYMBOL drivers/tty/serial/serial_core 0x2fdd344e uart_get_divisor +EXPORT_SYMBOL drivers/tty/serial/serial_core 0x37ab689d uart_register_driver +EXPORT_SYMBOL drivers/tty/serial/serial_core 0x42a34860 uart_unregister_driver +EXPORT_SYMBOL drivers/tty/serial/serial_core 0x42e8d432 uart_update_timeout +EXPORT_SYMBOL drivers/tty/serial/serial_core 0x5fb37de1 uart_add_one_port +EXPORT_SYMBOL drivers/tty/serial/serial_core 0x6b7b73e9 uart_write_wakeup +EXPORT_SYMBOL drivers/tty/serial/serial_core 0x7bea43a8 uart_remove_one_port +EXPORT_SYMBOL drivers/tty/serial/serial_core 0x8035626d uart_resume_port +EXPORT_SYMBOL drivers/tty/serial/serial_core 0xed4887de uart_get_baud_rate +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x242b52bc mdev_register_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x4a0a0df9 mdev_unregister_driver +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x535ddf32 mtype_get_type_group_id +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x5ef017d2 mdev_unregister_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x6409d94a mdev_register_device +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0x829292a4 mdev_get_type_group_id +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xafe3d7d6 mdev_parent_dev +EXPORT_SYMBOL drivers/vfio/mdev/mdev 0xc1e0e155 mtype_get_parent_dev +EXPORT_SYMBOL drivers/vfio/vfio 0x01bb02c6 vfio_unregister_notifier +EXPORT_SYMBOL drivers/vfio/vfio 0x4232a0c3 vfio_info_cap_shift +EXPORT_SYMBOL drivers/vfio/vfio 0x4f44ece4 vfio_unpin_pages +EXPORT_SYMBOL drivers/vfio/vfio 0xaf8a4a7f vfio_set_irqs_validate_and_prepare +EXPORT_SYMBOL drivers/vfio/vfio 0xb1b50ff3 vfio_dma_rw +EXPORT_SYMBOL drivers/vfio/vfio 0xe5285778 vfio_register_notifier +EXPORT_SYMBOL drivers/vfio/vfio 0xf3411eb8 vfio_info_add_capability +EXPORT_SYMBOL drivers/vfio/vfio 0xfbcc5a4f vfio_pin_pages +EXPORT_SYMBOL drivers/vhost/vhost 0x2fd9ca54 vhost_chr_write_iter +EXPORT_SYMBOL drivers/vhost/vhost 0xedb9879a vhost_chr_poll +EXPORT_SYMBOL drivers/video/fbdev/core/cfbcopyarea 0x2e77a95e cfb_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/cfbfillrect 0xd81b4c5b cfb_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/cfbimgblt 0x9fafdc18 cfb_imageblit +EXPORT_SYMBOL drivers/video/fbdev/core/syscopyarea 0x1b0dc024 sys_copyarea +EXPORT_SYMBOL drivers/video/fbdev/core/sysfillrect 0xed612521 sys_fillrect +EXPORT_SYMBOL drivers/video/fbdev/core/sysimgblt 0xe4ba6d2e sys_imageblit +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x1feaa043 is_virtio_dma_buf +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0x215fbf94 virtio_dma_buf_attach +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0xa7a4c7c8 virtio_dma_buf_get_uuid +EXPORT_SYMBOL drivers/virtio/virtio_dma_buf 0xccfefd49 virtio_dma_buf_export +EXPORT_SYMBOL fs/fscache/fscache 0x03bccffc fscache_relinquish_cache +EXPORT_SYMBOL fs/fscache/fscache 0x0baaf0dc __fscache_begin_read_operation +EXPORT_SYMBOL fs/fscache/fscache 0x1a0d09e7 fscache_n_write +EXPORT_SYMBOL fs/fscache/fscache 0x1a25cfa0 __tracepoint_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x234a140d __traceiter_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x2f317ce9 fscache_withdraw_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x306805d3 __SCK__tp_func_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0x38e68643 fscache_cookie_lookup_negative +EXPORT_SYMBOL fs/fscache/fscache 0x39674879 __tracepoint_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x4404d2aa fscache_n_no_create_space +EXPORT_SYMBOL fs/fscache/fscache 0x4996bd29 fscache_n_updates +EXPORT_SYMBOL fs/fscache/fscache 0x4bc2e3b0 fscache_end_cookie_access +EXPORT_SYMBOL fs/fscache/fscache 0x4bd084ba __SCK__tp_func_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0x4f34c215 fscache_add_cache +EXPORT_SYMBOL fs/fscache/fscache 0x51063e1f fscache_resume_after_invalidation +EXPORT_SYMBOL fs/fscache/fscache 0x526b3309 __fscache_acquire_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x55c12c18 fscache_wait_for_operation +EXPORT_SYMBOL fs/fscache/fscache 0x598ac814 fscache_end_volume_access +EXPORT_SYMBOL fs/fscache/fscache 0x5a0603cd fscache_get_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x6c5e41e7 __tracepoint_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x6da478ad __fscache_relinquish_volume +EXPORT_SYMBOL fs/fscache/fscache 0x6e416521 __SCK__tp_func_fscache_access_volume +EXPORT_SYMBOL fs/fscache/fscache 0x8329a435 fscache_withdraw_cache +EXPORT_SYMBOL fs/fscache/fscache 0x870150f2 fscache_put_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x8a46d7f7 __fscache_use_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x90d447f3 fscache_n_culled +EXPORT_SYMBOL fs/fscache/fscache 0x916482c7 __fscache_clear_page_bits +EXPORT_SYMBOL fs/fscache/fscache 0x92daba9c __fscache_relinquish_cookie +EXPORT_SYMBOL fs/fscache/fscache 0x9a484990 fscache_dirty_folio +EXPORT_SYMBOL fs/fscache/fscache 0x9be5b205 fscache_caching_failed +EXPORT_SYMBOL fs/fscache/fscache 0x9ffefcb2 fscache_n_read +EXPORT_SYMBOL fs/fscache/fscache 0xae6040a5 __traceiter_fscache_access_cache +EXPORT_SYMBOL fs/fscache/fscache 0xaf788a93 fscache_withdraw_volume +EXPORT_SYMBOL fs/fscache/fscache 0xb81f5624 __fscache_unuse_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xbca46908 fscache_wq +EXPORT_SYMBOL fs/fscache/fscache 0xbe51b8a3 __fscache_write_to_cache +EXPORT_SYMBOL fs/fscache/fscache 0xbf8c35fb fscache_acquire_cache +EXPORT_SYMBOL fs/fscache/fscache 0xc4d63512 __fscache_acquire_volume +EXPORT_SYMBOL fs/fscache/fscache 0xccc604e6 __fscache_resize_cookie +EXPORT_SYMBOL fs/fscache/fscache 0xcce11a60 fscache_n_no_write_space +EXPORT_SYMBOL fs/fscache/fscache 0xcdf76dba fscache_io_error +EXPORT_SYMBOL fs/fscache/fscache 0xdcb87498 __traceiter_fscache_access +EXPORT_SYMBOL fs/fscache/fscache 0xe4fcb63d __fscache_begin_write_operation +EXPORT_SYMBOL fs/fscache/fscache 0xf675c810 __fscache_invalidate +EXPORT_SYMBOL fs/fscache/fscache 0xf68b44dc fscache_addremove_sem +EXPORT_SYMBOL fs/fscache/fscache 0xff20eabd fscache_clearance_waiters +EXPORT_SYMBOL fs/netfs/netfs 0x52c260bc netfs_read_folio +EXPORT_SYMBOL fs/netfs/netfs 0x6bd66701 netfs_stats_show +EXPORT_SYMBOL fs/netfs/netfs 0xb3403381 netfs_subreq_terminated +EXPORT_SYMBOL fs/netfs/netfs 0xca3bb131 netfs_readahead +EXPORT_SYMBOL fs/netfs/netfs 0xcfce9304 netfs_write_begin +EXPORT_SYMBOL fs/ocfs2/cluster/ocfs2_nodemanager 0xbfd7d7a2 o2hb_global_heartbeat_active +EXPORT_SYMBOL fs/quota/quota_tree 0x5c8556b6 qtree_release_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x89ed14bb qtree_write_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0x969bede8 qtree_entry_unused +EXPORT_SYMBOL fs/quota/quota_tree 0xa2d7e104 qtree_read_dquot +EXPORT_SYMBOL fs/quota/quota_tree 0xa73fc143 qtree_get_next_id +EXPORT_SYMBOL fs/quota/quota_tree 0xc04c4224 qtree_delete_dquot +EXPORT_SYMBOL lib/crc-itu-t 0xd819a524 crc_itu_t_table +EXPORT_SYMBOL lib/crc-itu-t 0xdf59602c crc_itu_t +EXPORT_SYMBOL lib/crc7 0x65aaf037 crc7_be_syndrome_table +EXPORT_SYMBOL lib/crc7 0xc440541c crc7_be +EXPORT_SYMBOL lib/crc8 0x75d9109e crc8 +EXPORT_SYMBOL lib/crc8 0xaa8106bc crc8_populate_msb +EXPORT_SYMBOL lib/crc8 0xc3cd034d crc8_populate_lsb +EXPORT_SYMBOL lib/crypto/libchacha 0xcec122d7 chacha_crypt_generic +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x161ec81e chacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x35142bf2 xchacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0x637307c6 chacha20poly1305_encrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xa3883e62 chacha20poly1305_encrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xb9f848ed xchacha20poly1305_decrypt +EXPORT_SYMBOL lib/crypto/libchacha20poly1305 0xff3141e0 chacha20poly1305_decrypt_sg_inplace +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x12627f15 curve25519_generic +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x4a5a8811 curve25519_null_point +EXPORT_SYMBOL lib/crypto/libcurve25519-generic 0x7e6fdbfc curve25519_base_point +EXPORT_SYMBOL lib/crypto/libpoly1305 0x021f3700 poly1305_core_blocks +EXPORT_SYMBOL lib/crypto/libpoly1305 0xbcb90cb3 poly1305_core_emit +EXPORT_SYMBOL lib/crypto/libpoly1305 0xd45b9cf4 poly1305_core_setkey +EXPORT_SYMBOL lib/libcrc32c 0x89a0cd52 crc32c_impl +EXPORT_SYMBOL lib/libcrc32c 0xb15b4109 crc32c +EXPORT_SYMBOL lib/lru_cache 0x0034302f lc_seq_printf_stats +EXPORT_SYMBOL lib/lru_cache 0x0f6f0fdb lc_index_of +EXPORT_SYMBOL lib/lru_cache 0x17c6b1e1 lc_del +EXPORT_SYMBOL lib/lru_cache 0x52857213 lc_element_by_index +EXPORT_SYMBOL lib/lru_cache 0x6f1d0c3b lc_try_lock +EXPORT_SYMBOL lib/lru_cache 0x7267d690 lc_seq_dump_details +EXPORT_SYMBOL lib/lru_cache 0x7869961b lc_set +EXPORT_SYMBOL lib/lru_cache 0x79c87149 lc_get +EXPORT_SYMBOL lib/lru_cache 0x88713f97 lc_create +EXPORT_SYMBOL lib/lru_cache 0x955d4873 lc_committed +EXPORT_SYMBOL lib/lru_cache 0xbbc7a78d lc_put +EXPORT_SYMBOL lib/lru_cache 0xc1a43316 lc_get_cumulative +EXPORT_SYMBOL lib/lru_cache 0xc3a4ca05 lc_destroy +EXPORT_SYMBOL lib/lru_cache 0xe4a98afa lc_try_get +EXPORT_SYMBOL lib/lru_cache 0xebae3022 lc_reset +EXPORT_SYMBOL lib/lru_cache 0xff3f1db8 lc_find +EXPORT_SYMBOL lib/lru_cache 0xffb12208 lc_is_used +EXPORT_SYMBOL lib/lz4/lz4_compress 0x4f4d78c5 LZ4_compress_default +EXPORT_SYMBOL lib/lz4/lz4_compress 0x5bc92e85 LZ4_compress_destSize +EXPORT_SYMBOL lib/lz4/lz4_compress 0x6004858d LZ4_compress_fast +EXPORT_SYMBOL lib/lz4/lz4_compress 0x635ff76d LZ4_saveDict +EXPORT_SYMBOL lib/lz4/lz4_compress 0x749849d8 LZ4_loadDict +EXPORT_SYMBOL lib/lz4/lz4_compress 0xf9eced44 LZ4_compress_fast_continue +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x0f3dcf29 LZ4_loadDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0x7f7bbb7e LZ4_saveDictHC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0xddf86133 LZ4_compress_HC +EXPORT_SYMBOL lib/lz4/lz4hc_compress 0xe06ae6d6 LZ4_compress_HC_continue +EXPORT_SYMBOL lib/math/cordic 0x7e431c15 cordic_calc_iq +EXPORT_SYMBOL lib/objagg 0x0363233d objagg_obj_raw +EXPORT_SYMBOL lib/objagg 0x23865923 objagg_destroy +EXPORT_SYMBOL lib/objagg 0x24ca5ca9 objagg_obj_root_priv +EXPORT_SYMBOL lib/objagg 0x342aefe2 objagg_obj_delta_priv +EXPORT_SYMBOL lib/objagg 0x352633f4 objagg_hints_stats_get +EXPORT_SYMBOL lib/objagg 0x38e157a7 objagg_create +EXPORT_SYMBOL lib/objagg 0x3c58e78f objagg_hints_put +EXPORT_SYMBOL lib/objagg 0x6691f29d objagg_obj_put +EXPORT_SYMBOL lib/objagg 0xb17ab162 objagg_obj_get +EXPORT_SYMBOL lib/objagg 0xdaa3ee68 objagg_stats_get +EXPORT_SYMBOL lib/objagg 0xf5511527 objagg_stats_put +EXPORT_SYMBOL lib/objagg 0xfaa9d1a8 objagg_hints_get +EXPORT_SYMBOL lib/parman 0x0f518717 parman_prio_init +EXPORT_SYMBOL lib/parman 0x7b03d378 parman_item_add +EXPORT_SYMBOL lib/parman 0x8b7e26f5 parman_item_remove +EXPORT_SYMBOL lib/parman 0xc3e2d892 parman_create +EXPORT_SYMBOL lib/parman 0xc6a3d260 parman_prio_fini +EXPORT_SYMBOL lib/parman 0xca39ae6a parman_destroy +EXPORT_SYMBOL lib/raid6/raid6_pq 0x0b2c64a3 raid6_vgfmul +EXPORT_SYMBOL lib/raid6/raid6_pq 0x17f54263 raid6_gfexp +EXPORT_SYMBOL lib/raid6/raid6_pq 0x59a2712d raid6_gfinv +EXPORT_SYMBOL lib/raid6/raid6_pq 0xb0d904b7 raid6_empty_zero_page +EXPORT_SYMBOL lib/raid6/raid6_pq 0xc8e3332b raid6_gflog +EXPORT_SYMBOL lib/raid6/raid6_pq 0xcc4ee841 raid6_gfexi +EXPORT_SYMBOL lib/raid6/raid6_pq 0xd91319d6 raid6_gfmul +EXPORT_SYMBOL net/802/p8022 0xe4363adb register_8022_client +EXPORT_SYMBOL net/802/p8022 0xfb8c85c4 unregister_8022_client +EXPORT_SYMBOL net/802/psnap 0x71da1586 unregister_snap_client +EXPORT_SYMBOL net/802/psnap 0x9a6d4810 register_snap_client +EXPORT_SYMBOL net/9p/9pnet 0x0ee76b75 p9_client_attach +EXPORT_SYMBOL net/9p/9pnet 0x10a08463 p9_client_fcreate +EXPORT_SYMBOL net/9p/9pnet 0x16df3f8e p9stat_read +EXPORT_SYMBOL net/9p/9pnet 0x1abff5d4 p9_client_symlink +EXPORT_SYMBOL net/9p/9pnet 0x2b8b7378 p9_client_fsync +EXPORT_SYMBOL net/9p/9pnet 0x2d41eea8 p9_client_disconnect +EXPORT_SYMBOL net/9p/9pnet 0x30d78df9 p9_tag_lookup +EXPORT_SYMBOL net/9p/9pnet 0x37f9fb85 p9_client_write +EXPORT_SYMBOL net/9p/9pnet 0x3d73a797 p9_errstr2errno +EXPORT_SYMBOL net/9p/9pnet 0x409e1222 p9_client_lock_dotl +EXPORT_SYMBOL net/9p/9pnet 0x42533502 p9_client_stat +EXPORT_SYMBOL net/9p/9pnet 0x516dc300 p9_show_client_options +EXPORT_SYMBOL net/9p/9pnet 0x518f3d6a p9_parse_header +EXPORT_SYMBOL net/9p/9pnet 0x57a034ed p9_client_getattr_dotl +EXPORT_SYMBOL net/9p/9pnet 0x59e84c5f v9fs_register_trans +EXPORT_SYMBOL net/9p/9pnet 0x5b9c0ff8 p9_client_walk +EXPORT_SYMBOL net/9p/9pnet 0x5c7fc9b1 v9fs_unregister_trans +EXPORT_SYMBOL net/9p/9pnet 0x5cf1e1c6 p9_is_proto_dotu +EXPORT_SYMBOL net/9p/9pnet 0x61cbaebe p9_req_put +EXPORT_SYMBOL net/9p/9pnet 0x685493a8 p9_client_renameat +EXPORT_SYMBOL net/9p/9pnet 0x74023639 p9_client_statfs +EXPORT_SYMBOL net/9p/9pnet 0x7d6ecf05 p9_client_mkdir_dotl +EXPORT_SYMBOL net/9p/9pnet 0x8696a4dc p9_client_rename +EXPORT_SYMBOL net/9p/9pnet 0x89ac608d p9_client_read +EXPORT_SYMBOL net/9p/9pnet 0x9877c5dc p9_client_create +EXPORT_SYMBOL net/9p/9pnet 0x9ef0a40a p9_client_mknod_dotl +EXPORT_SYMBOL net/9p/9pnet 0xa130e22b p9_is_proto_dotl +EXPORT_SYMBOL net/9p/9pnet 0xaf71f0d4 p9_fcall_fini +EXPORT_SYMBOL net/9p/9pnet 0xafbaa22d p9_client_clunk +EXPORT_SYMBOL net/9p/9pnet 0xb13bf38c p9_client_remove +EXPORT_SYMBOL net/9p/9pnet 0xb9363a71 p9_release_pages +EXPORT_SYMBOL net/9p/9pnet 0xbe9b03b9 p9_client_link +EXPORT_SYMBOL net/9p/9pnet 0xc46ee56d p9_client_destroy +EXPORT_SYMBOL net/9p/9pnet 0xc648c2b0 p9_client_setattr +EXPORT_SYMBOL net/9p/9pnet 0xc7bad4fc p9dirent_read +EXPORT_SYMBOL net/9p/9pnet 0xd06b6e44 p9_client_create_dotl +EXPORT_SYMBOL net/9p/9pnet 0xd384c683 p9stat_free +EXPORT_SYMBOL net/9p/9pnet 0xd80714d2 p9_client_read_once +EXPORT_SYMBOL net/9p/9pnet 0xd88d8ecf p9_client_readdir +EXPORT_SYMBOL net/9p/9pnet 0xdbc6968e p9_client_cb +EXPORT_SYMBOL net/9p/9pnet 0xdde91b31 p9_client_unlinkat +EXPORT_SYMBOL net/9p/9pnet 0xe00faa2f p9_client_getlock_dotl +EXPORT_SYMBOL net/9p/9pnet 0xe41441cd p9_client_wstat +EXPORT_SYMBOL net/9p/9pnet 0xe46e2864 p9_client_open +EXPORT_SYMBOL net/9p/9pnet 0xe58a3360 p9_error_init +EXPORT_SYMBOL net/9p/9pnet 0xeadbad32 p9_client_begin_disconnect +EXPORT_SYMBOL net/9p/9pnet 0xf12ac34e v9fs_get_trans_by_name +EXPORT_SYMBOL net/9p/9pnet 0xf2312926 p9_client_readlink +EXPORT_SYMBOL net/9p/9pnet 0xf94ecd66 v9fs_get_default_trans +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x2139bfcc ebt_unregister_table_pre_exit +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0x2fddad1c ebt_register_template +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xa3319cb8 ebt_register_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xcd33e89f ebt_do_table +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xce29920f ebt_unregister_template +EXPORT_SYMBOL net/bridge/netfilter/ebtables 0xe89b52ff ebt_unregister_table +EXPORT_SYMBOL net/ceph/libceph 0x00e901a0 ceph_auth_is_authenticated +EXPORT_SYMBOL net/ceph/libceph 0x0571061d osd_req_op_cls_request_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0x060eb6aa ceph_check_fsid +EXPORT_SYMBOL net/ceph/libceph 0x081edd9f ceph_monc_renew_subs +EXPORT_SYMBOL net/ceph/libceph 0x083bc8a2 ceph_release_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x093e1ea4 ceph_osdc_alloc_messages +EXPORT_SYMBOL net/ceph/libceph 0x0b2ed612 ceph_zero_page_vector_range +EXPORT_SYMBOL net/ceph/libceph 0x0ce74839 ceph_pagelist_set_cursor +EXPORT_SYMBOL net/ceph/libceph 0x0dfbc531 osd_req_op_cls_init +EXPORT_SYMBOL net/ceph/libceph 0x0e776b7e ceph_pg_pool_flags +EXPORT_SYMBOL net/ceph/libceph 0x122ecaa7 ceph_cls_set_cookie +EXPORT_SYMBOL net/ceph/libceph 0x12e813ef ceph_osdc_put_request +EXPORT_SYMBOL net/ceph/libceph 0x133d80de ceph_copy_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0x1610c090 ceph_osdc_list_watchers +EXPORT_SYMBOL net/ceph/libceph 0x177fd287 ceph_osdc_cancel_request +EXPORT_SYMBOL net/ceph/libceph 0x1de39952 ceph_auth_get_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x1e226890 ceph_osdc_watch +EXPORT_SYMBOL net/ceph/libceph 0x1e627b1f ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0x2087719e ceph_oid_copy +EXPORT_SYMBOL net/ceph/libceph 0x20e9c65c ceph_auth_handle_svc_reply_more +EXPORT_SYMBOL net/ceph/libceph 0x2101cbc9 ceph_oid_destroy +EXPORT_SYMBOL net/ceph/libceph 0x2366376c ceph_osdc_wait_request +EXPORT_SYMBOL net/ceph/libceph 0x23dd0642 ceph_osdc_update_epoch_barrier +EXPORT_SYMBOL net/ceph/libceph 0x247baa3e ceph_client_addr +EXPORT_SYMBOL net/ceph/libceph 0x26b1c963 ceph_msg_new +EXPORT_SYMBOL net/ceph/libceph 0x2d3fd498 osd_req_op_raw_data_in_pages +EXPORT_SYMBOL net/ceph/libceph 0x2e91edb6 osd_req_op_extent_dup_last +EXPORT_SYMBOL net/ceph/libceph 0x30dea2dc ceph_osdc_unwatch +EXPORT_SYMBOL net/ceph/libceph 0x3524c308 ceph_find_or_create_string +EXPORT_SYMBOL net/ceph/libceph 0x3746c25c ceph_oloc_destroy +EXPORT_SYMBOL net/ceph/libceph 0x37c0e583 osd_req_op_extent_osd_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x38f2d94e ceph_file_to_extents +EXPORT_SYMBOL net/ceph/libceph 0x3c8d7111 ceph_get_num_objects +EXPORT_SYMBOL net/ceph/libceph 0x4060690d ceph_osdc_clear_abort_err +EXPORT_SYMBOL net/ceph/libceph 0x410a20b4 ceph_auth_handle_bad_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x427f8247 ceph_msg_data_add_pagelist +EXPORT_SYMBOL net/ceph/libceph 0x435f2cd4 ceph_osdc_new_request +EXPORT_SYMBOL net/ceph/libceph 0x4439e2f1 osd_req_op_xattr_init +EXPORT_SYMBOL net/ceph/libceph 0x466b85b8 libceph_compatible +EXPORT_SYMBOL net/ceph/libceph 0x471db92d ceph_cls_break_lock +EXPORT_SYMBOL net/ceph/libceph 0x4affd6c2 ceph_parse_fsid +EXPORT_SYMBOL net/ceph/libceph 0x4dfe31e3 osd_req_op_copy_from_init +EXPORT_SYMBOL net/ceph/libceph 0x50603ce3 ceph_decode_entity_addrvec +EXPORT_SYMBOL net/ceph/libceph 0x50ac2bb2 ceph_monc_got_map +EXPORT_SYMBOL net/ceph/libceph 0x52e131f0 ceph_pagelist_release +EXPORT_SYMBOL net/ceph/libceph 0x53a44e1a ceph_msg_get +EXPORT_SYMBOL net/ceph/libceph 0x5538b6f0 ceph_osdc_maybe_request_map +EXPORT_SYMBOL net/ceph/libceph 0x57baf885 ceph_str_hash +EXPORT_SYMBOL net/ceph/libceph 0x5aeeee62 ceph_oid_aprintf +EXPORT_SYMBOL net/ceph/libceph 0x5d3d40c0 osd_req_op_cls_request_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x5d4b9e39 osd_req_op_extent_osd_data_bio +EXPORT_SYMBOL net/ceph/libceph 0x5f0790e8 osd_req_op_alloc_hint_init +EXPORT_SYMBOL net/ceph/libceph 0x60d4cab8 __ceph_auth_get_authorizer +EXPORT_SYMBOL net/ceph/libceph 0x62162e60 ceph_monc_init +EXPORT_SYMBOL net/ceph/libceph 0x6273a145 osd_req_op_cls_response_data_pages +EXPORT_SYMBOL net/ceph/libceph 0x63758856 ceph_str_hash_name +EXPORT_SYMBOL net/ceph/libceph 0x63958736 ceph_cls_unlock +EXPORT_SYMBOL net/ceph/libceph 0x6680eef8 osd_req_op_extent_init +EXPORT_SYMBOL net/ceph/libceph 0x66c585a0 ceph_monc_wait_osdmap +EXPORT_SYMBOL net/ceph/libceph 0x6a1e2741 ceph_osdc_start_request +EXPORT_SYMBOL net/ceph/libceph 0x6a7a38a0 ceph_pr_addr +EXPORT_SYMBOL net/ceph/libceph 0x6addc432 ceph_con_send +EXPORT_SYMBOL net/ceph/libceph 0x6d082fa7 ceph_destroy_client +EXPORT_SYMBOL net/ceph/libceph 0x7790a91c ceph_pagelist_append +EXPORT_SYMBOL net/ceph/libceph 0x780f4fc1 ceph_auth_verify_authorizer_reply +EXPORT_SYMBOL net/ceph/libceph 0x78bb200c ceph_osdc_abort_requests +EXPORT_SYMBOL net/ceph/libceph 0x7afb84c2 ceph_con_open +EXPORT_SYMBOL net/ceph/libceph 0x7bb11d24 ceph_osdc_alloc_request +EXPORT_SYMBOL net/ceph/libceph 0x8111e973 ceph_pg_poolid_by_name +EXPORT_SYMBOL net/ceph/libceph 0x818c5370 osd_req_op_extent_osd_data +EXPORT_SYMBOL net/ceph/libceph 0x81d82bea ceph_pagelist_truncate +EXPORT_SYMBOL net/ceph/libceph 0x8375650f ceph_pagelist_reserve +EXPORT_SYMBOL net/ceph/libceph 0x86fca7e4 ceph_put_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x88a38c75 ceph_monc_blocklist_add +EXPORT_SYMBOL net/ceph/libceph 0x8a34c276 ceph_parse_mon_ips +EXPORT_SYMBOL net/ceph/libceph 0x8f59076a osd_req_op_extent_update +EXPORT_SYMBOL net/ceph/libceph 0x905897ea ceph_auth_handle_svc_reply_done +EXPORT_SYMBOL net/ceph/libceph 0x9435c090 ceph_monc_get_version_async +EXPORT_SYMBOL net/ceph/libceph 0x965a710b osd_req_op_init +EXPORT_SYMBOL net/ceph/libceph 0x987d3968 ceph_alloc_options +EXPORT_SYMBOL net/ceph/libceph 0x98f63b30 ceph_cls_assert_locked +EXPORT_SYMBOL net/ceph/libceph 0x9a9c26df ceph_msg_dump +EXPORT_SYMBOL net/ceph/libceph 0x9ca95932 ceph_create_snap_context +EXPORT_SYMBOL net/ceph/libceph 0x9d1bf7fd ceph_create_client +EXPORT_SYMBOL net/ceph/libceph 0x9d8471a6 osd_req_op_extent_osd_data_bvec_pos +EXPORT_SYMBOL net/ceph/libceph 0x9fefa3cb ceph_calc_file_object_mapping +EXPORT_SYMBOL net/ceph/libceph 0xa29555e5 ceph_cls_lock +EXPORT_SYMBOL net/ceph/libceph 0xa376f5df ceph_pagelist_alloc +EXPORT_SYMBOL net/ceph/libceph 0xa58b7e99 ceph_pg_to_acting_primary +EXPORT_SYMBOL net/ceph/libceph 0xa698f998 ceph_free_lockers +EXPORT_SYMBOL net/ceph/libceph 0xa8a1eb47 ceph_alloc_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xaa210dca ceph_con_close +EXPORT_SYMBOL net/ceph/libceph 0xad703657 ceph_auth_destroy_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xae4ca65f ceph_auth_add_authorizer_challenge +EXPORT_SYMBOL net/ceph/libceph 0xafb8a407 ceph_msgr_flush +EXPORT_SYMBOL net/ceph/libceph 0xb2a3896c osd_req_op_cls_request_data_pagelist +EXPORT_SYMBOL net/ceph/libceph 0xb33ec69c ceph_auth_invalidate_authorizer +EXPORT_SYMBOL net/ceph/libceph 0xb54676fa ceph_msg_type_name +EXPORT_SYMBOL net/ceph/libceph 0xb5495fd7 ceph_print_client_options +EXPORT_SYMBOL net/ceph/libceph 0xb72c162e ceph_buffer_release +EXPORT_SYMBOL net/ceph/libceph 0xb8028006 ceph_object_locator_to_pg +EXPORT_SYMBOL net/ceph/libceph 0xba3c854c osd_req_op_extent_osd_data_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xbb861ff4 ceph_copy_user_to_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xbc98cee2 ceph_oloc_copy +EXPORT_SYMBOL net/ceph/libceph 0xbd38f90e ceph_osdc_get_request +EXPORT_SYMBOL net/ceph/libceph 0xbe3879aa ceph_get_snap_context +EXPORT_SYMBOL net/ceph/libceph 0xc0125f54 ceph_osdc_flush_notifies +EXPORT_SYMBOL net/ceph/libceph 0xc0fb8501 ceph_monc_want_map +EXPORT_SYMBOL net/ceph/libceph 0xc21144ee ceph_parse_param +EXPORT_SYMBOL net/ceph/libceph 0xc2fc624e ceph_msg_new2 +EXPORT_SYMBOL net/ceph/libceph 0xc4450cd7 ceph_osdc_notify +EXPORT_SYMBOL net/ceph/libceph 0xc4bc6320 ceph_con_keepalive +EXPORT_SYMBOL net/ceph/libceph 0xc8f84a56 ceph_put_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xca80437b ceph_extent_to_file +EXPORT_SYMBOL net/ceph/libceph 0xcab25d94 ceph_pg_pool_name_by_id +EXPORT_SYMBOL net/ceph/libceph 0xcbcd83d4 __ceph_open_session +EXPORT_SYMBOL net/ceph/libceph 0xcc0dccc0 ceph_wait_for_latest_osdmap +EXPORT_SYMBOL net/ceph/libceph 0xd1df3323 ceph_msg_put +EXPORT_SYMBOL net/ceph/libceph 0xd40af701 ceph_con_init +EXPORT_SYMBOL net/ceph/libceph 0xd47f0aaf ceph_monc_get_version +EXPORT_SYMBOL net/ceph/libceph 0xd4d736db ceph_destroy_options +EXPORT_SYMBOL net/ceph/libceph 0xd4e08173 ceph_msg_data_add_bvecs +EXPORT_SYMBOL net/ceph/libceph 0xd4eb7735 ceph_decode_entity_addr +EXPORT_SYMBOL net/ceph/libceph 0xd4f60a96 ceph_compare_options +EXPORT_SYMBOL net/ceph/libceph 0xd8a7deb8 ceph_msg_data_add_pages +EXPORT_SYMBOL net/ceph/libceph 0xd9083992 ceph_client_gid +EXPORT_SYMBOL net/ceph/libceph 0xd941625e ceph_cls_lock_info +EXPORT_SYMBOL net/ceph/libceph 0xdeddd368 ceph_pagelist_free_reserve +EXPORT_SYMBOL net/ceph/libceph 0xdf6ef4a1 ceph_oid_printf +EXPORT_SYMBOL net/ceph/libceph 0xdfc091f9 ceph_entity_type_name +EXPORT_SYMBOL net/ceph/libceph 0xe0b07067 ceph_monc_open_session +EXPORT_SYMBOL net/ceph/libceph 0xe2d2a219 ceph_osdc_call +EXPORT_SYMBOL net/ceph/libceph 0xe33d9db1 ceph_copy_from_page_vector +EXPORT_SYMBOL net/ceph/libceph 0xe6fca58c ceph_osdc_sync +EXPORT_SYMBOL net/ceph/libceph 0xe85108a4 ceph_buffer_new +EXPORT_SYMBOL net/ceph/libceph 0xea6389a1 ceph_monc_stop +EXPORT_SYMBOL net/ceph/libceph 0xed26c100 ceph_monc_validate_auth +EXPORT_SYMBOL net/ceph/libceph 0xee120c03 ceph_release_string +EXPORT_SYMBOL net/ceph/libceph 0xeef6cfa3 ceph_iterate_extents +EXPORT_SYMBOL net/ceph/libceph 0xef6c270b ceph_reset_client_addr +EXPORT_SYMBOL net/ceph/libceph 0xf1e56e99 ceph_msg_data_add_bio +EXPORT_SYMBOL net/ceph/libceph 0xf54a16e2 ceph_osdc_notify_ack +EXPORT_SYMBOL net/ceph/libceph 0xf8f3eb49 ceph_monc_do_statfs +EXPORT_SYMBOL net/ceph/libceph 0xfc599778 osd_req_op_extent_osd_data_pages +EXPORT_SYMBOL net/dccp/dccp_ipv4 0x08bafa2e dccp_req_err +EXPORT_SYMBOL net/dccp/dccp_ipv4 0xa5129139 dccp_syn_ack_timeout +EXPORT_SYMBOL net/ipv4/fou 0x3899cd11 gue_encap_hlen +EXPORT_SYMBOL net/ipv4/fou 0x3a1f9cc9 __fou_build_header +EXPORT_SYMBOL net/ipv4/fou 0xcebd5dd1 __gue_build_header +EXPORT_SYMBOL net/ipv4/fou 0xdef70806 fou_encap_hlen +EXPORT_SYMBOL net/ipv4/gre 0x7d3217ca gre_parse_header +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x1e05f22d ip_tunnel_encap_add_ops +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x3c43c91b ip_tunnel_get_iflink +EXPORT_SYMBOL net/ipv4/ip_tunnel 0x3e11845e ip_tunnel_get_link_net +EXPORT_SYMBOL net/ipv4/ip_tunnel 0xf698b383 ip_tunnel_encap_del_ops +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0x7d362874 arpt_unregister_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xab3dcfad arpt_do_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xae77e9d3 arpt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/arp_tables 0xd75692ce arpt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x0bcb3b42 ipt_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x27edb62f ipt_unregister_table_exit +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x34bdbc60 ipt_register_table +EXPORT_SYMBOL net/ipv4/netfilter/ip_tables 0x750a1892 ipt_do_table +EXPORT_SYMBOL net/ipv4/tunnel4 0x68db2690 xfrm4_tunnel_deregister +EXPORT_SYMBOL net/ipv4/tunnel4 0xb4a1a17f xfrm4_tunnel_register +EXPORT_SYMBOL net/ipv4/udp_tunnel 0xe73bbdd9 udp_sock_create4 +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x0917f571 ip6_tnl_get_link_net +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x16b625d3 ip6_tnl_parse_tlv_enc_lim +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x1a7dbf40 ip6_tnl_rcv +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x2dbd5804 ip6_tnl_encap_del_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x2e2d149c ip6_tnl_encap_add_ops +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0x52f7739a ip6_tnl_change_mtu +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xad5cefe3 ip6_tnl_get_cap +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xe024465d ip6_tnl_xmit +EXPORT_SYMBOL net/ipv6/ip6_tunnel 0xe7844c80 ip6_tnl_get_iflink +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x408d6f18 ip6t_do_table +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0x8b390e0e ip6t_unregister_table_pre_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xcb47f7d8 ip6t_unregister_table_exit +EXPORT_SYMBOL net/ipv6/netfilter/ip6_tables 0xf0c561a6 ip6t_register_table +EXPORT_SYMBOL net/ipv6/tunnel6 0x067362db xfrm6_tunnel_deregister +EXPORT_SYMBOL net/ipv6/tunnel6 0xae305fa7 xfrm6_tunnel_register +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0x1c40cabc xfrm6_tunnel_alloc_spi +EXPORT_SYMBOL net/ipv6/xfrm6_tunnel 0xe2c00912 xfrm6_tunnel_spi_lookup +EXPORT_SYMBOL net/llc/llc 0x0033e572 llc_sap_close +EXPORT_SYMBOL net/llc/llc 0x1cb98347 llc_build_and_send_ui_pkt +EXPORT_SYMBOL net/llc/llc 0x38b92846 llc_remove_pack +EXPORT_SYMBOL net/llc/llc 0x52d7b2fd llc_sap_list +EXPORT_SYMBOL net/llc/llc 0x66f46a6e llc_set_station_handler +EXPORT_SYMBOL net/llc/llc 0x6e7e0400 llc_sap_find +EXPORT_SYMBOL net/llc/llc 0x7792c5bd llc_sap_open +EXPORT_SYMBOL net/llc/llc 0xcc1bc09b llc_add_pack +EXPORT_SYMBOL net/llc/llc 0xdd281758 llc_mac_hdr_init +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x1d270173 ip_vs_conn_new +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x20cf5785 unregister_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x465a0cf9 ip_vs_scheduler_err +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x5ed73d35 ip_vs_new_conn_out +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x673035ff ip_vs_tcp_conn_listen +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0x7c8c4223 unregister_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa0368413 ip_vs_conn_in_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xa4b8bb90 ip_vs_conn_out_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xad7e81cf ip_vs_proto_data_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xb108e5bb ip_vs_proto_get +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc0ec0210 register_ip_vs_scheduler +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xc754f55c ip_vs_conn_put +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xcf291053 register_ip_vs_app +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xd831a1a2 ip_vs_proto_name +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xeef72c9d ip_vs_nfct_expect_related +EXPORT_SYMBOL net/netfilter/ipvs/ip_vs 0xfc0b6d27 register_ip_vs_app_inc +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x3b08a8f0 nf_ct_destroy +EXPORT_SYMBOL net/netfilter/nf_conntrack 0x89d99ee1 __nf_ct_ext_find +EXPORT_SYMBOL net/netfilter/nf_conntrack 0xfac688fd nf_ct_ext_add +EXPORT_SYMBOL net/netfilter/nf_conntrack_pptp 0xf2a36612 pptp_msg_name +EXPORT_SYMBOL net/netfilter/nf_nat 0x2e03bb19 __nf_nat_mangle_tcp_packet +EXPORT_SYMBOL net/netfilter/nf_nat 0x435424a7 nf_nat_follow_master +EXPORT_SYMBOL net/netfilter/nf_nat 0x44f77711 nf_nat_setup_info +EXPORT_SYMBOL net/netfilter/nf_nat 0x7c2ad84d nf_nat_mangle_udp_packet +EXPORT_SYMBOL net/netfilter/nft_fib 0xb3c36947 nft_fib_policy +EXPORT_SYMBOL net/netfilter/x_tables 0x0891a7da xt_find_match +EXPORT_SYMBOL net/netfilter/x_tables 0x0d7f5fcd xt_alloc_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x181b47e4 xt_unregister_matches +EXPORT_SYMBOL net/netfilter/x_tables 0x3bf9d084 xt_check_table_hooks +EXPORT_SYMBOL net/netfilter/x_tables 0x48012e28 xt_check_proc_name +EXPORT_SYMBOL net/netfilter/x_tables 0x4d83b944 xt_unregister_match +EXPORT_SYMBOL net/netfilter/x_tables 0x50873741 xt_compat_init_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0x9260e919 xt_register_targets +EXPORT_SYMBOL net/netfilter/x_tables 0x977fd4bf xt_alloc_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0x9b7aeba5 xt_find_table +EXPORT_SYMBOL net/netfilter/x_tables 0x9be58206 xt_unregister_target +EXPORT_SYMBOL net/netfilter/x_tables 0x9e353e74 xt_unregister_targets +EXPORT_SYMBOL net/netfilter/x_tables 0xa1a704e1 xt_register_match +EXPORT_SYMBOL net/netfilter/x_tables 0xa25fc115 xt_compat_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0xcb3e91cc xt_counters_alloc +EXPORT_SYMBOL net/netfilter/x_tables 0xd87ae60d xt_check_entry_offsets +EXPORT_SYMBOL net/netfilter/x_tables 0xe204e042 xt_free_table_info +EXPORT_SYMBOL net/netfilter/x_tables 0xfbd7122f xt_register_matches +EXPORT_SYMBOL net/netfilter/x_tables 0xfd45e9bf xt_register_target +EXPORT_SYMBOL net/netfilter/x_tables 0xfef779fa xt_find_jump_offset +EXPORT_SYMBOL net/rxrpc/rxrpc 0x2b850cf0 rxrpc_kernel_get_reply_time +EXPORT_SYMBOL net/rxrpc/rxrpc 0x31bf3ca3 rxrpc_debug_id +EXPORT_SYMBOL net/rxrpc/rxrpc 0x32eb1dc2 rxrpc_kernel_end_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x4e7d3d75 rxrpc_sock_set_min_security_level +EXPORT_SYMBOL net/rxrpc/rxrpc 0x51a70a7a rxrpc_get_null_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0x71cf4924 rxrpc_kernel_begin_call +EXPORT_SYMBOL net/rxrpc/rxrpc 0x74025ea7 key_type_rxrpc +EXPORT_SYMBOL net/rxrpc/rxrpc 0x935f2b11 rxrpc_kernel_send_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0xb6ba73b0 rxrpc_kernel_set_max_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0xb8708a11 rxrpc_kernel_set_tx_length +EXPORT_SYMBOL net/rxrpc/rxrpc 0xcef556b9 rxrpc_kernel_charge_accept +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd651d274 rxrpc_get_server_data_key +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd6c06454 rxrpc_kernel_get_peer +EXPORT_SYMBOL net/rxrpc/rxrpc 0xd6f74210 rxrpc_kernel_get_epoch +EXPORT_SYMBOL net/rxrpc/rxrpc 0xdc1dcdd7 rxrpc_kernel_new_call_notification +EXPORT_SYMBOL net/rxrpc/rxrpc 0xe0681e9f rxrpc_kernel_check_life +EXPORT_SYMBOL net/rxrpc/rxrpc 0xe70bb8ce rxrpc_kernel_get_srtt +EXPORT_SYMBOL net/rxrpc/rxrpc 0xece2f0ba rxrpc_kernel_recv_data +EXPORT_SYMBOL net/rxrpc/rxrpc 0xfc84e94d rxrpc_kernel_abort_call +EXPORT_SYMBOL net/sctp/sctp 0x74ecc314 sctp_do_peeloff +EXPORT_SYMBOL net/smc/smc 0x1b1e06e1 __tracepoint_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x3153cc92 __SCK__tp_func_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x5908f912 __traceiter_smc_rx_recvmsg +EXPORT_SYMBOL net/smc/smc 0x64d90977 __traceiter_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0x8989d6ae __tracepoint_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x8a2578f9 __traceiter_smc_switch_to_fallback +EXPORT_SYMBOL net/smc/smc 0x99bf1b00 __tracepoint_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0xb3f2d173 __SCK__tp_func_smc_tx_sendmsg +EXPORT_SYMBOL net/smc/smc 0xc97d2e87 __traceiter_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0xcd9701fe __tracepoint_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0xe7dacb8d __SCK__tp_func_smcr_link_down +EXPORT_SYMBOL net/smc/smc 0xfb8cae0f __SCK__tp_func_smc_switch_to_fallback +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x16ca2608 gss_mech_get +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0x4252c410 gss_pseudoflavor_to_service +EXPORT_SYMBOL net/sunrpc/auth_gss/auth_rpcgss 0xcd804cf7 gss_mech_put +EXPORT_SYMBOL net/sunrpc/sunrpc 0x95f0cfe4 svc_pool_stats_open +EXPORT_SYMBOL net/sunrpc/sunrpc 0xb82bfb5d xdr_truncate_encode +EXPORT_SYMBOL net/sunrpc/sunrpc 0xeea2c8c6 xdr_restrict_buflen +EXPORT_SYMBOL net/tipc/tipc 0x27c6fdad tipc_dump_start +EXPORT_SYMBOL net/tipc/tipc 0x64f3c6cd tipc_sk_fill_sock_diag +EXPORT_SYMBOL net/tipc/tipc 0x6c9a322e tipc_nl_sk_walk +EXPORT_SYMBOL net/tipc/tipc 0x8bef5d57 tipc_dump_done +EXPORT_SYMBOL net/tls/tls 0x4dbe4ff9 tls_get_record +EXPORT_SYMBOL vmlinux 0x00010040 inet_dev_addr_type +EXPORT_SYMBOL vmlinux 0x001bd7ba qdisc_watchdog_init +EXPORT_SYMBOL vmlinux 0x002b2a17 tcp_sendpage +EXPORT_SYMBOL vmlinux 0x00344cd0 devm_input_allocate_device +EXPORT_SYMBOL vmlinux 0x003dabb8 phy_start_cable_test_tdr +EXPORT_SYMBOL vmlinux 0x0045cd31 pci_request_regions_exclusive +EXPORT_SYMBOL vmlinux 0x00607e60 pci_iomap_wc +EXPORT_SYMBOL vmlinux 0x00672777 scsi_eh_finish_cmd +EXPORT_SYMBOL vmlinux 0x00674ffc vlan_filter_push_vids +EXPORT_SYMBOL vmlinux 0x0095b100 neigh_ifdown +EXPORT_SYMBOL vmlinux 0x009d910e flow_rule_match_mpls +EXPORT_SYMBOL vmlinux 0x00a1f3ca prepare_kernel_cred +EXPORT_SYMBOL vmlinux 0x00b4e615 posix_acl_equiv_mode +EXPORT_SYMBOL vmlinux 0x00c539bf scsi_host_lookup +EXPORT_SYMBOL vmlinux 0x00c779cf param_ops_hexint +EXPORT_SYMBOL vmlinux 0x00da4ef7 ethtool_virtdev_set_link_ksettings +EXPORT_SYMBOL vmlinux 0x00e6a7bf pci_alloc_irq_vectors_affinity +EXPORT_SYMBOL vmlinux 0x00f4a223 _ebc_toupper +EXPORT_SYMBOL vmlinux 0x00f772c4 iov_iter_pipe +EXPORT_SYMBOL vmlinux 0x01000e51 schedule +EXPORT_SYMBOL vmlinux 0x0112922f tcf_action_update_stats +EXPORT_SYMBOL vmlinux 0x011db4b6 __tcf_em_tree_match +EXPORT_SYMBOL vmlinux 0x012575d9 vfs_rmdir +EXPORT_SYMBOL vmlinux 0x01339241 iov_iter_advance +EXPORT_SYMBOL vmlinux 0x0139768e blk_rq_append_bio +EXPORT_SYMBOL vmlinux 0x014716eb hdmi_vendor_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x0147812c kblockd_mod_delayed_work_on +EXPORT_SYMBOL vmlinux 0x0153a8a0 elv_rb_add +EXPORT_SYMBOL vmlinux 0x016dc2dd netdev_set_sb_channel +EXPORT_SYMBOL vmlinux 0x01757935 rdmacg_register_device +EXPORT_SYMBOL vmlinux 0x017c76d2 tcp_v4_do_rcv +EXPORT_SYMBOL vmlinux 0x017de3d5 nr_cpu_ids +EXPORT_SYMBOL vmlinux 0x017e2782 ipv6_dev_mc_dec +EXPORT_SYMBOL vmlinux 0x018574a1 mb_cache_entry_delete +EXPORT_SYMBOL vmlinux 0x01a20ede radix_tree_tag_set +EXPORT_SYMBOL vmlinux 0x01beb46d __dynamic_dev_dbg +EXPORT_SYMBOL vmlinux 0x01bf55fc paddr_vmcoreinfo_note +EXPORT_SYMBOL vmlinux 0x01ddea35 skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x0209f3a7 secure_ipv6_port_ephemeral +EXPORT_SYMBOL vmlinux 0x020dbf27 bitmap_alloc +EXPORT_SYMBOL vmlinux 0x02110d44 mod_node_page_state +EXPORT_SYMBOL vmlinux 0x021df714 qdisc_tree_reduce_backlog +EXPORT_SYMBOL vmlinux 0x022eb54d pci_get_slot +EXPORT_SYMBOL vmlinux 0x02419b90 fs_param_is_s32 +EXPORT_SYMBOL vmlinux 0x0274dc2b netif_get_num_default_rss_queues +EXPORT_SYMBOL vmlinux 0x02856c17 tcf_exts_num_actions +EXPORT_SYMBOL vmlinux 0x028c2f73 dqget +EXPORT_SYMBOL vmlinux 0x0296695f refcount_warn_saturate +EXPORT_SYMBOL vmlinux 0x02a05686 blk_mq_free_tag_set +EXPORT_SYMBOL vmlinux 0x02a5f616 ccw_driver_register +EXPORT_SYMBOL vmlinux 0x02a61af3 inet_sendmsg +EXPORT_SYMBOL vmlinux 0x02b0e3ec pcibios_bus_to_resource +EXPORT_SYMBOL vmlinux 0x02ca22a8 hex_dump_to_buffer +EXPORT_SYMBOL vmlinux 0x02f034a1 xz_dec_run +EXPORT_SYMBOL vmlinux 0x02f4d77f __SCK__tp_func_s390_cio_tpi +EXPORT_SYMBOL vmlinux 0x02fcc9f8 phy_config_aneg +EXPORT_SYMBOL vmlinux 0x0334da4e scsi_command_size_tbl +EXPORT_SYMBOL vmlinux 0x03482149 vfs_mkobj +EXPORT_SYMBOL vmlinux 0x034a7afe idr_destroy +EXPORT_SYMBOL vmlinux 0x034f52bf dquot_set_dqinfo +EXPORT_SYMBOL vmlinux 0x0360d67f make_flow_keys_digest +EXPORT_SYMBOL vmlinux 0x0361eded pci_release_selected_regions +EXPORT_SYMBOL vmlinux 0x0366307a console_suspend_enabled +EXPORT_SYMBOL vmlinux 0x037a0cba kfree +EXPORT_SYMBOL vmlinux 0x03867020 xp_alloc +EXPORT_SYMBOL vmlinux 0x038762c8 idr_get_next_ul +EXPORT_SYMBOL vmlinux 0x038ec9f3 remove_conflicting_pci_framebuffers +EXPORT_SYMBOL vmlinux 0x0397edd5 fb_edid_to_monspecs +EXPORT_SYMBOL vmlinux 0x03d2240c add_virt_timer_periodic +EXPORT_SYMBOL vmlinux 0x03d2eaca has_capability +EXPORT_SYMBOL vmlinux 0x03fd2571 vm_unmap_ram +EXPORT_SYMBOL vmlinux 0x043cffc4 generic_file_fsync +EXPORT_SYMBOL vmlinux 0x044154c6 tc_skb_ext_tc +EXPORT_SYMBOL vmlinux 0x04444662 lockref_get_not_dead +EXPORT_SYMBOL vmlinux 0x04482cdb __refrigerator +EXPORT_SYMBOL vmlinux 0x044c201c register_qdisc +EXPORT_SYMBOL vmlinux 0x045cd854 kbd_ascebc +EXPORT_SYMBOL vmlinux 0x0461de7d pci_ep_cfs_remove_epc_group +EXPORT_SYMBOL vmlinux 0x0467042a unix_destruct_scm +EXPORT_SYMBOL vmlinux 0x0479aac1 seq_list_next_rcu +EXPORT_SYMBOL vmlinux 0x04880439 setup_new_exec +EXPORT_SYMBOL vmlinux 0x04aa7fae filp_open +EXPORT_SYMBOL vmlinux 0x04caa0d6 input_get_poll_interval +EXPORT_SYMBOL vmlinux 0x04ccaf2d tcp_setsockopt +EXPORT_SYMBOL vmlinux 0x04d5546b d_alloc +EXPORT_SYMBOL vmlinux 0x050cb0e6 security_path_rename +EXPORT_SYMBOL vmlinux 0x0513cfba ip_setsockopt +EXPORT_SYMBOL vmlinux 0x05240ee7 percpu_counter_batch +EXPORT_SYMBOL vmlinux 0x053c05df udplite_prot +EXPORT_SYMBOL vmlinux 0x054496b4 schedule_timeout_interruptible +EXPORT_SYMBOL vmlinux 0x055cce95 xsk_set_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x0584d4ac __traceiter_s390_cio_ssch +EXPORT_SYMBOL vmlinux 0x0586bd28 blk_queue_max_hw_sectors +EXPORT_SYMBOL vmlinux 0x059c2d52 inet_dgram_connect +EXPORT_SYMBOL vmlinux 0x05a363c8 raw3270_request_set_data +EXPORT_SYMBOL vmlinux 0x05c841fc input_mt_drop_unused +EXPORT_SYMBOL vmlinux 0x05ccfe6f fwnode_graph_parse_endpoint +EXPORT_SYMBOL vmlinux 0x05ce4498 input_unregister_device +EXPORT_SYMBOL vmlinux 0x05f04c95 tcf_exts_validate +EXPORT_SYMBOL vmlinux 0x05fe18b3 pcim_iomap_table +EXPORT_SYMBOL vmlinux 0x061651be strcat +EXPORT_SYMBOL vmlinux 0x0621fd1c inet_frags_init +EXPORT_SYMBOL vmlinux 0x063015d4 gen_pool_first_fit_align +EXPORT_SYMBOL vmlinux 0x0634100a bitmap_parselist_user +EXPORT_SYMBOL vmlinux 0x063a6b31 kstrtouint_from_user +EXPORT_SYMBOL vmlinux 0x0668b595 _kstrtoul +EXPORT_SYMBOL vmlinux 0x06762891 security_sctp_bind_connect +EXPORT_SYMBOL vmlinux 0x0677c1a0 secpath_set +EXPORT_SYMBOL vmlinux 0x0686bc7d set_blocksize +EXPORT_SYMBOL vmlinux 0x0687c679 dcb_ieee_delapp +EXPORT_SYMBOL vmlinux 0x06c2dfcf vlan_vid_add +EXPORT_SYMBOL vmlinux 0x06d11488 __bitmap_equal +EXPORT_SYMBOL vmlinux 0x06ec8a0f blk_mq_start_hw_queue +EXPORT_SYMBOL vmlinux 0x06faa44a param_set_copystring +EXPORT_SYMBOL vmlinux 0x06fc0689 scsi_is_host_device +EXPORT_SYMBOL vmlinux 0x07098248 xz_dec_microlzma_alloc +EXPORT_SYMBOL vmlinux 0x071013a0 netdev_features_change +EXPORT_SYMBOL vmlinux 0x07297511 crc_t10dif_update +EXPORT_SYMBOL vmlinux 0x0736c3ff fault_in_safe_writeable +EXPORT_SYMBOL vmlinux 0x074260d3 inet6_add_protocol +EXPORT_SYMBOL vmlinux 0x07680bab pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0x079c35b5 compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0x07a890c8 fb_alloc_cmap +EXPORT_SYMBOL vmlinux 0x07bffe6b zero_fill_bio +EXPORT_SYMBOL vmlinux 0x07cc4a5d printk_timed_ratelimit +EXPORT_SYMBOL vmlinux 0x07d9b2ea scsi_ioctl +EXPORT_SYMBOL vmlinux 0x07f57478 pci_unmap_iospace +EXPORT_SYMBOL vmlinux 0x07fced7d component_match_add_typed +EXPORT_SYMBOL vmlinux 0x0800473f __cond_resched +EXPORT_SYMBOL vmlinux 0x0805f2c8 ecryptfs_get_auth_tok_key +EXPORT_SYMBOL vmlinux 0x080de768 __dev_direct_xmit +EXPORT_SYMBOL vmlinux 0x081b50be jbd2_journal_start_commit +EXPORT_SYMBOL vmlinux 0x082c3213 pci_root_buses +EXPORT_SYMBOL vmlinux 0x08456553 match_string +EXPORT_SYMBOL vmlinux 0x086ba31e pci_pme_active +EXPORT_SYMBOL vmlinux 0x086e8526 inet6_unregister_protosw +EXPORT_SYMBOL vmlinux 0x08804d4c sock_set_priority +EXPORT_SYMBOL vmlinux 0x0882a449 security_xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x088c96f6 tcp_parse_md5sig_option +EXPORT_SYMBOL vmlinux 0x08929b71 seq_read_iter +EXPORT_SYMBOL vmlinux 0x0894ad35 ndisc_send_skb +EXPORT_SYMBOL vmlinux 0x089f1bd4 mark_buffer_dirty_inode +EXPORT_SYMBOL vmlinux 0x08ad8521 register_adapter_interrupt +EXPORT_SYMBOL vmlinux 0x08b3af1f iucv_root +EXPORT_SYMBOL vmlinux 0x08c4b6a0 unregister_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x08d49b78 tty_write_room +EXPORT_SYMBOL vmlinux 0x08dc5179 sock_no_sendpage +EXPORT_SYMBOL vmlinux 0x08e57c6d inet_frag_queue_insert +EXPORT_SYMBOL vmlinux 0x08e6fa35 scsi_bios_ptable +EXPORT_SYMBOL vmlinux 0x08fec34f pci_find_resource +EXPORT_SYMBOL vmlinux 0x091acbbf param_set_bool +EXPORT_SYMBOL vmlinux 0x091d6069 dev_get_by_index_rcu +EXPORT_SYMBOL vmlinux 0x0920b173 lockref_mark_dead +EXPORT_SYMBOL vmlinux 0x094effa5 __iucv_message_receive +EXPORT_SYMBOL vmlinux 0x0970102e zstd_compress_bound +EXPORT_SYMBOL vmlinux 0x0970eb93 __nlmsg_put +EXPORT_SYMBOL vmlinux 0x09769037 dmt_modes +EXPORT_SYMBOL vmlinux 0x097bbde6 md_bitmap_cond_end_sync +EXPORT_SYMBOL vmlinux 0x098b71c6 fb_dealloc_cmap +EXPORT_SYMBOL vmlinux 0x099509b3 tty_port_free_xmit_buf +EXPORT_SYMBOL vmlinux 0x099d4629 _dev_warn +EXPORT_SYMBOL vmlinux 0x09c1d351 simple_recursive_removal +EXPORT_SYMBOL vmlinux 0x09d44df9 in_lock_functions +EXPORT_SYMBOL vmlinux 0x09def582 d_obtain_alias +EXPORT_SYMBOL vmlinux 0x09e9655e from_kprojid_munged +EXPORT_SYMBOL vmlinux 0x09ed8fa2 elv_rb_former_request +EXPORT_SYMBOL vmlinux 0x09f2c370 bio_integrity_add_page +EXPORT_SYMBOL vmlinux 0x0a012f73 mb_cache_entry_touch +EXPORT_SYMBOL vmlinux 0x0a096895 fib6_info_hw_flags_set +EXPORT_SYMBOL vmlinux 0x0a1846c5 dev_get_by_index +EXPORT_SYMBOL vmlinux 0x0a1e9bee security_binder_transaction +EXPORT_SYMBOL vmlinux 0x0a3b0d94 raw_copy_from_user +EXPORT_SYMBOL vmlinux 0x0a557d49 input_mt_report_slot_state +EXPORT_SYMBOL vmlinux 0x0a770832 register_memory_notifier +EXPORT_SYMBOL vmlinux 0x0a8c4545 phy_drivers_unregister +EXPORT_SYMBOL vmlinux 0x0a9c639c blk_stack_limits +EXPORT_SYMBOL vmlinux 0x0aa309cf synchronize_hardirq +EXPORT_SYMBOL vmlinux 0x0aaccc92 pci_remap_iospace +EXPORT_SYMBOL vmlinux 0x0aacd352 __kfifo_len_r +EXPORT_SYMBOL vmlinux 0x0ac56da4 security_unix_stream_connect +EXPORT_SYMBOL vmlinux 0x0b15280c kobject_init +EXPORT_SYMBOL vmlinux 0x0b1beb31 vmalloc_32_user +EXPORT_SYMBOL vmlinux 0x0b376cf0 phy_connect_direct +EXPORT_SYMBOL vmlinux 0x0b50e892 textsearch_find_continuous +EXPORT_SYMBOL vmlinux 0x0b55d539 qdisc_offload_graft_helper +EXPORT_SYMBOL vmlinux 0x0b6dba54 generic_setlease +EXPORT_SYMBOL vmlinux 0x0b742fd7 simple_strtol +EXPORT_SYMBOL vmlinux 0x0b8f527f blk_mq_stop_hw_queues +EXPORT_SYMBOL vmlinux 0x0b9f30cb tcp_mss_to_mtu +EXPORT_SYMBOL vmlinux 0x0ba0b938 vm_brk +EXPORT_SYMBOL vmlinux 0x0ba9ce91 skb_eth_pop +EXPORT_SYMBOL vmlinux 0x0bbeac5c dma_resv_replace_fences +EXPORT_SYMBOL vmlinux 0x0bc477a2 irq_set_irq_type +EXPORT_SYMBOL vmlinux 0x0bc94a01 vm_insert_pages +EXPORT_SYMBOL vmlinux 0x0bf3023c xfrm_unregister_type +EXPORT_SYMBOL vmlinux 0x0c0c122e __pskb_copy_fclone +EXPORT_SYMBOL vmlinux 0x0c17a68e zlib_dfltcc_support +EXPORT_SYMBOL vmlinux 0x0c25ec48 secure_tcpv6_seq +EXPORT_SYMBOL vmlinux 0x0c2f917e scsi_done +EXPORT_SYMBOL vmlinux 0x0c333a7f radix_tree_insert +EXPORT_SYMBOL vmlinux 0x0c44ab43 sock_create_kern +EXPORT_SYMBOL vmlinux 0x0c451570 inet_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x0c5f6e22 tcp_ioctl +EXPORT_SYMBOL vmlinux 0x0c6926a4 xfrm_policy_bysel_ctx +EXPORT_SYMBOL vmlinux 0x0c6ccf20 s390_isolate_bp +EXPORT_SYMBOL vmlinux 0x0c7098b1 tcp_sock_set_nodelay +EXPORT_SYMBOL vmlinux 0x0c721e60 in_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x0c7cf7c6 zero_page_mask +EXPORT_SYMBOL vmlinux 0x0c904c5b mempool_exit +EXPORT_SYMBOL vmlinux 0x0c920616 security_sk_classify_flow +EXPORT_SYMBOL vmlinux 0x0c93baeb elv_rb_find +EXPORT_SYMBOL vmlinux 0x0cb11bc7 __SCK__tp_func_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x0cc0f4c5 __genradix_prealloc +EXPORT_SYMBOL vmlinux 0x0cc63d67 udp_sk_rx_dst_set +EXPORT_SYMBOL vmlinux 0x0ccb8c8e input_mt_report_pointer_emulation +EXPORT_SYMBOL vmlinux 0x0cce2f8e debug_set_level +EXPORT_SYMBOL vmlinux 0x0cd5835b ipv6_flowlabel_exclusive +EXPORT_SYMBOL vmlinux 0x0cd7d953 fscrypt_free_inode +EXPORT_SYMBOL vmlinux 0x0cf1585e sock_from_file +EXPORT_SYMBOL vmlinux 0x0cf29d4c tcp_check_req +EXPORT_SYMBOL vmlinux 0x0cff8635 phy_mii_ioctl +EXPORT_SYMBOL vmlinux 0x0d07f543 get_anon_bdev +EXPORT_SYMBOL vmlinux 0x0d3a65f9 device_match_acpi_dev +EXPORT_SYMBOL vmlinux 0x0d3ee005 follow_down_one +EXPORT_SYMBOL vmlinux 0x0d425aa9 d_drop +EXPORT_SYMBOL vmlinux 0x0d4350f7 register_sysctl_mount_point +EXPORT_SYMBOL vmlinux 0x0d461172 dma_supported +EXPORT_SYMBOL vmlinux 0x0d542439 __ipv6_addr_type +EXPORT_SYMBOL vmlinux 0x0d8578ed tcp_add_backlog +EXPORT_SYMBOL vmlinux 0x0d9faa2f __scm_destroy +EXPORT_SYMBOL vmlinux 0x0d9fc353 __dquot_transfer +EXPORT_SYMBOL vmlinux 0x0dac46c0 __skb_gro_checksum_complete +EXPORT_SYMBOL vmlinux 0x0dcf21a0 __scsi_execute +EXPORT_SYMBOL vmlinux 0x0ddf8ceb pcie_print_link_status +EXPORT_SYMBOL vmlinux 0x0ded18b7 phy_ethtool_nway_reset +EXPORT_SYMBOL vmlinux 0x0e077e4e netpoll_poll_disable +EXPORT_SYMBOL vmlinux 0x0e17678a siphash_4u64 +EXPORT_SYMBOL vmlinux 0x0e1ee435 _copy_from_user_key +EXPORT_SYMBOL vmlinux 0x0e35b941 pci_scan_single_device +EXPORT_SYMBOL vmlinux 0x0e52ae7e km_new_mapping +EXPORT_SYMBOL vmlinux 0x0e56b80a __SCK__tp_func_s390_cio_tsch +EXPORT_SYMBOL vmlinux 0x0e58b61f dcbnl_cee_notify +EXPORT_SYMBOL vmlinux 0x0e639ec1 seq_open +EXPORT_SYMBOL vmlinux 0x0e945b5e pcim_iounmap_regions +EXPORT_SYMBOL vmlinux 0x0e962d91 phy_init_eee +EXPORT_SYMBOL vmlinux 0x0ea3c74e tasklet_kill +EXPORT_SYMBOL vmlinux 0x0ea593f6 hdmi_drm_infoframe_init +EXPORT_SYMBOL vmlinux 0x0ea763c3 sclp_sync_wait +EXPORT_SYMBOL vmlinux 0x0ea9e8e0 md_bitmap_endwrite +EXPORT_SYMBOL vmlinux 0x0eab56fa __kfifo_max_r +EXPORT_SYMBOL vmlinux 0x0eb373df neigh_update +EXPORT_SYMBOL vmlinux 0x0eb6eb87 add_taint +EXPORT_SYMBOL vmlinux 0x0ebce972 tcp_create_openreq_child +EXPORT_SYMBOL vmlinux 0x0ec6bcde netlink_unicast +EXPORT_SYMBOL vmlinux 0x0ecfa792 nf_log_unbind_pf +EXPORT_SYMBOL vmlinux 0x0ee10e52 __do_once_done +EXPORT_SYMBOL vmlinux 0x0ee61a9b airq_iv_free +EXPORT_SYMBOL vmlinux 0x0efab633 noop_dirty_folio +EXPORT_SYMBOL vmlinux 0x0f09cc34 schedule_timeout_killable +EXPORT_SYMBOL vmlinux 0x0f0e90d7 netdev_warn +EXPORT_SYMBOL vmlinux 0x0f0e9b35 param_ops_ulong +EXPORT_SYMBOL vmlinux 0x0f1ad8e2 seq_list_start_rcu +EXPORT_SYMBOL vmlinux 0x0f2a9bbb flow_rule_alloc +EXPORT_SYMBOL vmlinux 0x0f2c7f86 dm_table_event +EXPORT_SYMBOL vmlinux 0x0f41cec1 mdio_find_bus +EXPORT_SYMBOL vmlinux 0x0f59acca __kernel_fpu_end +EXPORT_SYMBOL vmlinux 0x0f5a75f8 pci_bus_write_config_dword +EXPORT_SYMBOL vmlinux 0x0f86f560 kthread_delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0x0f8e2e5c security_binder_transfer_binder +EXPORT_SYMBOL vmlinux 0x0f8e3f38 gro_cells_receive +EXPORT_SYMBOL vmlinux 0x0f9a1731 filemap_range_has_page +EXPORT_SYMBOL vmlinux 0x0fb2f8a4 mktime64 +EXPORT_SYMBOL vmlinux 0x0fcd75fd sock_recvmsg +EXPORT_SYMBOL vmlinux 0x0fce549d jbd2_journal_free_reserved +EXPORT_SYMBOL vmlinux 0x0fce9bec generic_write_checks_count +EXPORT_SYMBOL vmlinux 0x0fd16d0f inet6_register_protosw +EXPORT_SYMBOL vmlinux 0x0fd902db mb_cache_entry_create +EXPORT_SYMBOL vmlinux 0x0fd9358f config_item_get +EXPORT_SYMBOL vmlinux 0x0fdf1c30 lookup_one_unlocked +EXPORT_SYMBOL vmlinux 0x0fe39d12 neigh_changeaddr +EXPORT_SYMBOL vmlinux 0x0fe67269 cond_set_guest_storage_key +EXPORT_SYMBOL vmlinux 0x0ff5700f register_netdevice_notifier_dev_net +EXPORT_SYMBOL vmlinux 0x0ffc9609 ap_recv +EXPORT_SYMBOL vmlinux 0x0fff5afc time64_to_tm +EXPORT_SYMBOL vmlinux 0x1012f62a __dst_destroy_metrics_generic +EXPORT_SYMBOL vmlinux 0x1035c7c2 __release_region +EXPORT_SYMBOL vmlinux 0x103bafd6 down_read +EXPORT_SYMBOL vmlinux 0x10497616 memweight +EXPORT_SYMBOL vmlinux 0x104c9044 __inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x104fe2de phy_register_fixup_for_id +EXPORT_SYMBOL vmlinux 0x1068004b gf128mul_bbe +EXPORT_SYMBOL vmlinux 0x10776fb9 xa_extract +EXPORT_SYMBOL vmlinux 0x10799145 tc_cleanup_offload_action +EXPORT_SYMBOL vmlinux 0x107d1f6e ipv6_chk_prefix +EXPORT_SYMBOL vmlinux 0x107e5878 zlib_inflateEnd +EXPORT_SYMBOL vmlinux 0x108c96ed pcie_get_readrq +EXPORT_SYMBOL vmlinux 0x10976f68 do_splice_direct +EXPORT_SYMBOL vmlinux 0x10a6ae45 rtnl_set_sk_err +EXPORT_SYMBOL vmlinux 0x10a7a06e pci_bus_set_ops +EXPORT_SYMBOL vmlinux 0x10b5520a dm_table_get_md +EXPORT_SYMBOL vmlinux 0x10d6fb78 inet_frag_kill +EXPORT_SYMBOL vmlinux 0x10d9f885 scsi_sense_desc_find +EXPORT_SYMBOL vmlinux 0x10e6f74a free_contig_range +EXPORT_SYMBOL vmlinux 0x10ef0bb8 xsk_get_pool_from_qid +EXPORT_SYMBOL vmlinux 0x10f25560 fb_prepare_logo +EXPORT_SYMBOL vmlinux 0x11089ac7 _ctype +EXPORT_SYMBOL vmlinux 0x112121f7 __traceiter_s390_cio_chsc +EXPORT_SYMBOL vmlinux 0x113eec8d misc_deregister +EXPORT_SYMBOL vmlinux 0x117093be qdisc_class_hash_init +EXPORT_SYMBOL vmlinux 0x11839362 _dev_printk +EXPORT_SYMBOL vmlinux 0x11b5409e __nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0x11d189b1 __tracepoint_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x11d602fc jbd2_journal_clear_err +EXPORT_SYMBOL vmlinux 0x11e0ec41 dm_read_arg +EXPORT_SYMBOL vmlinux 0x11e30762 chacha_block_generic +EXPORT_SYMBOL vmlinux 0x11eaf1ab unregister_framebuffer +EXPORT_SYMBOL vmlinux 0x11ec7959 dma_resv_reserve_fences +EXPORT_SYMBOL vmlinux 0x11f0f083 kernel_cpumcf_avail +EXPORT_SYMBOL vmlinux 0x11f1c183 __vfs_setxattr +EXPORT_SYMBOL vmlinux 0x12085911 write_cache_pages +EXPORT_SYMBOL vmlinux 0x120b336a __rb_insert_augmented +EXPORT_SYMBOL vmlinux 0x12315018 md_done_sync +EXPORT_SYMBOL vmlinux 0x1239fc2d sg_copy_to_buffer +EXPORT_SYMBOL vmlinux 0x123f7d23 __skb_checksum_complete +EXPORT_SYMBOL vmlinux 0x124bad4d kstrtobool +EXPORT_SYMBOL vmlinux 0x124e6b55 fb_set_cmap +EXPORT_SYMBOL vmlinux 0x1251a12e console_mode +EXPORT_SYMBOL vmlinux 0x12627da4 input_mt_get_slot_by_key +EXPORT_SYMBOL vmlinux 0x12641250 get_phys_clock +EXPORT_SYMBOL vmlinux 0x1279e0a2 dev_graft_qdisc +EXPORT_SYMBOL vmlinux 0x12856a98 generic_perform_write +EXPORT_SYMBOL vmlinux 0x12a16804 nexthop_set_hw_flags +EXPORT_SYMBOL vmlinux 0x12b2e8a9 ccw_device_resume +EXPORT_SYMBOL vmlinux 0x12bf6043 inet_offloads +EXPORT_SYMBOL vmlinux 0x12c60cd8 dev_disable_lro +EXPORT_SYMBOL vmlinux 0x12c619b0 set_anon_super +EXPORT_SYMBOL vmlinux 0x12c8320c inode_dio_wait +EXPORT_SYMBOL vmlinux 0x12cabc89 siphash_2u64 +EXPORT_SYMBOL vmlinux 0x12d652ca netdev_refcnt_read +EXPORT_SYMBOL vmlinux 0x12dab13f __skb_pad +EXPORT_SYMBOL vmlinux 0x12ec9d79 phy_get_internal_delay +EXPORT_SYMBOL vmlinux 0x12f3cf14 flow_indr_dev_unregister +EXPORT_SYMBOL vmlinux 0x12f6f69c fb_videomode_to_var +EXPORT_SYMBOL vmlinux 0x12fe638d diag_stat_inc_norecursion +EXPORT_SYMBOL vmlinux 0x13089a33 __task_pid_nr_ns +EXPORT_SYMBOL vmlinux 0x13110126 request_resource +EXPORT_SYMBOL vmlinux 0x131a1e88 get_fs_type +EXPORT_SYMBOL vmlinux 0x131ec486 mpage_writepage +EXPORT_SYMBOL vmlinux 0x13203741 hdmi_infoframe_log +EXPORT_SYMBOL vmlinux 0x13272aec blk_mq_tagset_busy_iter +EXPORT_SYMBOL vmlinux 0x132917fa fb_set_var +EXPORT_SYMBOL vmlinux 0x1337d8e7 crypto_sha512_finup +EXPORT_SYMBOL vmlinux 0x134cdd34 inet_frag_rbtree_purge +EXPORT_SYMBOL vmlinux 0x135167d9 netif_set_real_num_tx_queues +EXPORT_SYMBOL vmlinux 0x1369af66 simple_release_fs +EXPORT_SYMBOL vmlinux 0x13759fc6 ccw_device_dma_zalloc +EXPORT_SYMBOL vmlinux 0x13795927 __generic_file_fsync +EXPORT_SYMBOL vmlinux 0x138892f4 skb_split +EXPORT_SYMBOL vmlinux 0x13c2d517 udp_ioctl +EXPORT_SYMBOL vmlinux 0x13c96b5a netdev_next_lower_dev_rcu +EXPORT_SYMBOL vmlinux 0x13cead77 __SCK__tp_func_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x13d0adf7 __kfifo_out +EXPORT_SYMBOL vmlinux 0x13d2bcc0 folio_migrate_mapping +EXPORT_SYMBOL vmlinux 0x13d928f5 __SCK__tp_func_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x13d929a0 __cond_resched_lock +EXPORT_SYMBOL vmlinux 0x13dec8a4 skb_coalesce_rx_frag +EXPORT_SYMBOL vmlinux 0x13ea4ebb pci_find_bus +EXPORT_SYMBOL vmlinux 0x13ecf92a configfs_depend_item +EXPORT_SYMBOL vmlinux 0x140b32d9 seq_put_decimal_ll +EXPORT_SYMBOL vmlinux 0x1432fa5a pci_claim_resource +EXPORT_SYMBOL vmlinux 0x1435c5ce __SCK__tp_func_kmalloc_node +EXPORT_SYMBOL vmlinux 0x144d84ae netdev_bind_sb_channel_queue +EXPORT_SYMBOL vmlinux 0x145f5d6b netpoll_print_options +EXPORT_SYMBOL vmlinux 0x14605535 dma_fence_context_alloc +EXPORT_SYMBOL vmlinux 0x146289b7 crc16_table +EXPORT_SYMBOL vmlinux 0x147c9e4e kernel_read +EXPORT_SYMBOL vmlinux 0x147d7290 xor_block_xc +EXPORT_SYMBOL vmlinux 0x14a70daf dev_alloc_name +EXPORT_SYMBOL vmlinux 0x14a83f9b pagevec_lookup_range +EXPORT_SYMBOL vmlinux 0x14b43845 __blk_mq_alloc_disk +EXPORT_SYMBOL vmlinux 0x14b4e1f6 add_to_page_cache_locked +EXPORT_SYMBOL vmlinux 0x14b6676c import_single_range +EXPORT_SYMBOL vmlinux 0x14ba09e3 blkdev_get_by_dev +EXPORT_SYMBOL vmlinux 0x14c10313 vfs_ioctl +EXPORT_SYMBOL vmlinux 0x14c409ee inet_frag_find +EXPORT_SYMBOL vmlinux 0x14c46099 netlink_capable +EXPORT_SYMBOL vmlinux 0x14c5e5b3 segment_warning +EXPORT_SYMBOL vmlinux 0x14c67e3e tcp_tx_delay_enabled +EXPORT_SYMBOL vmlinux 0x14da0e9d netif_tx_lock +EXPORT_SYMBOL vmlinux 0x14dbca00 lowcore_ptr +EXPORT_SYMBOL vmlinux 0x14e1485a flow_indr_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x14ea86da pin_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x150cf75c dev_pre_changeaddr_notify +EXPORT_SYMBOL vmlinux 0x15149de1 disk_stack_limits +EXPORT_SYMBOL vmlinux 0x151f4898 schedule_timeout_uninterruptible +EXPORT_SYMBOL vmlinux 0x1523db7d dev_mc_add_global +EXPORT_SYMBOL vmlinux 0x1526b301 unix_tot_inflight +EXPORT_SYMBOL vmlinux 0x1527d618 tty_insert_flip_string_fixed_flag +EXPORT_SYMBOL vmlinux 0x152fe57b inode_add_bytes +EXPORT_SYMBOL vmlinux 0x15356a31 dma_resv_fini +EXPORT_SYMBOL vmlinux 0x1535c5a3 radix_tree_delete_item +EXPORT_SYMBOL vmlinux 0x154c6338 dm_kcopyd_client_destroy +EXPORT_SYMBOL vmlinux 0x1560da3c ethtool_op_get_link +EXPORT_SYMBOL vmlinux 0x156f00f3 sg_pcopy_from_buffer +EXPORT_SYMBOL vmlinux 0x1572550c dcb_getapp +EXPORT_SYMBOL vmlinux 0x15a7789f skb_find_text +EXPORT_SYMBOL vmlinux 0x15b49bac vscnprintf +EXPORT_SYMBOL vmlinux 0x15b53ab7 ipv6_dev_find +EXPORT_SYMBOL vmlinux 0x15bafe29 unregister_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x15bed7a5 LZ4_decompress_safe_partial +EXPORT_SYMBOL vmlinux 0x15ce333a tcp_poll +EXPORT_SYMBOL vmlinux 0x15d85a57 down_trylock +EXPORT_SYMBOL vmlinux 0x15dbae86 pci_request_selected_regions_exclusive +EXPORT_SYMBOL vmlinux 0x15e00264 phy_stop +EXPORT_SYMBOL vmlinux 0x1600fca1 __cgroup_bpf_run_filter_sk +EXPORT_SYMBOL vmlinux 0x160bec04 dmam_pool_create +EXPORT_SYMBOL vmlinux 0x16161185 dm_register_target +EXPORT_SYMBOL vmlinux 0x16278299 skb_ext_add +EXPORT_SYMBOL vmlinux 0x162893fd hashlen_string +EXPORT_SYMBOL vmlinux 0x1628e1f3 security_lock_kernel_down +EXPORT_SYMBOL vmlinux 0x1632bc21 kvasprintf_const +EXPORT_SYMBOL vmlinux 0x1643df05 __quota_error +EXPORT_SYMBOL vmlinux 0x165d15e2 down_interruptible +EXPORT_SYMBOL vmlinux 0x166014c8 tcf_em_tree_dump +EXPORT_SYMBOL vmlinux 0x16631068 read_cache_folio +EXPORT_SYMBOL vmlinux 0x168b0404 security_binder_transfer_file +EXPORT_SYMBOL vmlinux 0x16d4a6ea __xfrm_dst_lookup +EXPORT_SYMBOL vmlinux 0x16d4e3d4 tcp_v4_md5_lookup +EXPORT_SYMBOL vmlinux 0x16e297c3 bit_wait +EXPORT_SYMBOL vmlinux 0x17013366 scsi_dma_map +EXPORT_SYMBOL vmlinux 0x1708e606 free_task +EXPORT_SYMBOL vmlinux 0x17121b17 gnet_stats_copy_app +EXPORT_SYMBOL vmlinux 0x1731766e unlock_page +EXPORT_SYMBOL vmlinux 0x1736df10 folio_wait_private_2 +EXPORT_SYMBOL vmlinux 0x1742d304 dma_sync_sg_for_device +EXPORT_SYMBOL vmlinux 0x17456f42 phy_detach +EXPORT_SYMBOL vmlinux 0x174947b5 blk_mq_delay_run_hw_queues +EXPORT_SYMBOL vmlinux 0x17514072 sk_reset_timer +EXPORT_SYMBOL vmlinux 0x1777442f scsicam_bios_param +EXPORT_SYMBOL vmlinux 0x177c9096 netdev_offload_xstats_enable +EXPORT_SYMBOL vmlinux 0x17a500c4 param_get_uint +EXPORT_SYMBOL vmlinux 0x17b2a015 __skb_ext_del +EXPORT_SYMBOL vmlinux 0x17dcbb24 vc_resize +EXPORT_SYMBOL vmlinux 0x18085f7d pps_lookup_dev +EXPORT_SYMBOL vmlinux 0x1826fa0f reuseport_select_sock +EXPORT_SYMBOL vmlinux 0x18343115 blkdev_issue_flush +EXPORT_SYMBOL vmlinux 0x18345b8e __bitmap_replace +EXPORT_SYMBOL vmlinux 0x183f9978 xsk_tx_release +EXPORT_SYMBOL vmlinux 0x188ea314 jiffies_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1893b84d config_group_init_type_name +EXPORT_SYMBOL vmlinux 0x18959bb9 neigh_sysctl_unregister +EXPORT_SYMBOL vmlinux 0x189b6bac memory_read_from_buffer +EXPORT_SYMBOL vmlinux 0x18a3bf8e ipv6_skip_exthdr +EXPORT_SYMBOL vmlinux 0x18b87cca sclp_deactivate +EXPORT_SYMBOL vmlinux 0x18dfb593 register_cdrom +EXPORT_SYMBOL vmlinux 0x18e60984 __do_once_start +EXPORT_SYMBOL vmlinux 0x18f98081 skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x19022434 blk_mq_alloc_tag_set +EXPORT_SYMBOL vmlinux 0x191f288e iov_iter_gap_alignment +EXPORT_SYMBOL vmlinux 0x192bd96e dev_mc_flush +EXPORT_SYMBOL vmlinux 0x192dc5c2 sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0x19377f8a jbd2_journal_set_features +EXPORT_SYMBOL vmlinux 0x1981a722 kill_fasync +EXPORT_SYMBOL vmlinux 0x1984d421 out_of_line_wait_on_bit +EXPORT_SYMBOL vmlinux 0x199ed0cd net_disable_timestamp +EXPORT_SYMBOL vmlinux 0x19b00a80 crypto_kdf108_setkey +EXPORT_SYMBOL vmlinux 0x19b99622 blk_queue_io_opt +EXPORT_SYMBOL vmlinux 0x19bd383b security_secmark_refcount_dec +EXPORT_SYMBOL vmlinux 0x19c11980 csum_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0x19cd9810 tcp_shutdown +EXPORT_SYMBOL vmlinux 0x19d65459 ipv4_specific +EXPORT_SYMBOL vmlinux 0x19d94f48 rtnl_unicast +EXPORT_SYMBOL vmlinux 0x19e270a0 t10_pi_type1_crc +EXPORT_SYMBOL vmlinux 0x1a0693a3 pci_reenable_device +EXPORT_SYMBOL vmlinux 0x1a08d2ba VMALLOC_START +EXPORT_SYMBOL vmlinux 0x1a0ad80b generic_iommu_put_resv_regions +EXPORT_SYMBOL vmlinux 0x1a0ae1ce bio_copy_data_iter +EXPORT_SYMBOL vmlinux 0x1a0c8867 alloc_anon_inode +EXPORT_SYMBOL vmlinux 0x1a0cf96c input_handler_for_each_handle +EXPORT_SYMBOL vmlinux 0x1a13be57 d_exact_alias +EXPORT_SYMBOL vmlinux 0x1a63a9c6 tso_start +EXPORT_SYMBOL vmlinux 0x1a79a066 security_sk_clone +EXPORT_SYMBOL vmlinux 0x1a845bf2 __module_put_and_kthread_exit +EXPORT_SYMBOL vmlinux 0x1a8dff2d netdev_has_upper_dev_all_rcu +EXPORT_SYMBOL vmlinux 0x1a8e8f58 dev_set_allmulti +EXPORT_SYMBOL vmlinux 0x1a95bb36 __blk_rq_map_sg +EXPORT_SYMBOL vmlinux 0x1a9a433c prandom_u32_state +EXPORT_SYMBOL vmlinux 0x1aa30ced ip_check_defrag +EXPORT_SYMBOL vmlinux 0x1aa7fb28 gen_pool_best_fit +EXPORT_SYMBOL vmlinux 0x1ab09b67 inet6_add_offload +EXPORT_SYMBOL vmlinux 0x1ab4d7eb napi_consume_skb +EXPORT_SYMBOL vmlinux 0x1ac7f4c2 xfrm_lookup +EXPORT_SYMBOL vmlinux 0x1ae70b0d xfrm_trans_queue +EXPORT_SYMBOL vmlinux 0x1afa7255 ccw_device_start_timeout_key +EXPORT_SYMBOL vmlinux 0x1b015d25 bitmap_parselist +EXPORT_SYMBOL vmlinux 0x1b19556c udp_lib_unhash +EXPORT_SYMBOL vmlinux 0x1b23124a setattr_copy +EXPORT_SYMBOL vmlinux 0x1b4dc4f4 input_unregister_handle +EXPORT_SYMBOL vmlinux 0x1b6314fd in_aton +EXPORT_SYMBOL vmlinux 0x1b64df52 ip_local_deliver +EXPORT_SYMBOL vmlinux 0x1b72ab2a xfrm_find_acq_byseq +EXPORT_SYMBOL vmlinux 0x1b777357 rdmacg_unregister_device +EXPORT_SYMBOL vmlinux 0x1ba04458 sg_pcopy_to_buffer +EXPORT_SYMBOL vmlinux 0x1ba1c068 build_skb_around +EXPORT_SYMBOL vmlinux 0x1bb1207d phy_attach +EXPORT_SYMBOL vmlinux 0x1bb51249 tcp_have_smc +EXPORT_SYMBOL vmlinux 0x1bb67920 blk_limits_io_opt +EXPORT_SYMBOL vmlinux 0x1bd6be0f jbd2_journal_grab_journal_head +EXPORT_SYMBOL vmlinux 0x1bf32382 param_ops_bool +EXPORT_SYMBOL vmlinux 0x1bf7d0d3 locks_copy_conflock +EXPORT_SYMBOL vmlinux 0x1bf8c95c bpf_prog_get_type_path +EXPORT_SYMBOL vmlinux 0x1bfd1a61 vm_event_states +EXPORT_SYMBOL vmlinux 0x1c001dbb handle_edge_irq +EXPORT_SYMBOL vmlinux 0x1c059116 d_tmpfile +EXPORT_SYMBOL vmlinux 0x1c05dcb8 dev_uc_sync_multiple +EXPORT_SYMBOL vmlinux 0x1c2a6fcc dev_vprintk_emit +EXPORT_SYMBOL vmlinux 0x1c538383 pps_unregister_source +EXPORT_SYMBOL vmlinux 0x1c59c3f0 pci_iomap +EXPORT_SYMBOL vmlinux 0x1c65d1e3 ioremap_wt +EXPORT_SYMBOL vmlinux 0x1c664434 __write_overflow_field +EXPORT_SYMBOL vmlinux 0x1c75119e folio_write_one +EXPORT_SYMBOL vmlinux 0x1c8571f9 qdisc_watchdog_schedule_range_ns +EXPORT_SYMBOL vmlinux 0x1c9a9ccd _copy_from_iter_nocache +EXPORT_SYMBOL vmlinux 0x1cab8977 sock_common_setsockopt +EXPORT_SYMBOL vmlinux 0x1cb93cdd udp_read_sock +EXPORT_SYMBOL vmlinux 0x1cbfb123 hdmi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x1cc11154 __SCK__tp_func_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0x1cc4f300 sock_queue_err_skb +EXPORT_SYMBOL vmlinux 0x1ccefca5 ethtool_intersect_link_masks +EXPORT_SYMBOL vmlinux 0x1cd9af0e input_free_device +EXPORT_SYMBOL vmlinux 0x1ce26a63 zstd_flush_stream +EXPORT_SYMBOL vmlinux 0x1cf4a702 xfrm_state_free +EXPORT_SYMBOL vmlinux 0x1d06d041 blk_mq_requeue_request +EXPORT_SYMBOL vmlinux 0x1d216a6b mutex_lock_killable +EXPORT_SYMBOL vmlinux 0x1d3e2765 iucv_path_quiesce +EXPORT_SYMBOL vmlinux 0x1d449b90 dfltcc_can_deflate +EXPORT_SYMBOL vmlinux 0x1d530d26 xfrm4_protocol_deregister +EXPORT_SYMBOL vmlinux 0x1d5583be dmam_free_coherent +EXPORT_SYMBOL vmlinux 0x1d5808af lookup_one_len_unlocked +EXPORT_SYMBOL vmlinux 0x1d5cedae __tracepoint_kfree +EXPORT_SYMBOL vmlinux 0x1d5ef3e1 iov_iter_kvec +EXPORT_SYMBOL vmlinux 0x1d691a58 ip_sock_set_mtu_discover +EXPORT_SYMBOL vmlinux 0x1d7d75b0 zpool_unregister_driver +EXPORT_SYMBOL vmlinux 0x1d82da11 proc_mkdir +EXPORT_SYMBOL vmlinux 0x1d93568c pci_ep_cfs_remove_epf_group +EXPORT_SYMBOL vmlinux 0x1dadd920 __kmalloc +EXPORT_SYMBOL vmlinux 0x1dbd49f3 call_netdevice_notifiers +EXPORT_SYMBOL vmlinux 0x1dc015a3 block_page_mkwrite +EXPORT_SYMBOL vmlinux 0x1dc6c93b lookup_user_key +EXPORT_SYMBOL vmlinux 0x1dd571e6 fb_copy_cmap +EXPORT_SYMBOL vmlinux 0x1de4ccb2 get_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x1de5127e kstrtou16_from_user +EXPORT_SYMBOL vmlinux 0x1dea4165 eth_header_cache +EXPORT_SYMBOL vmlinux 0x1def22d8 pfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x1e00d32c inet_pton_with_scope +EXPORT_SYMBOL vmlinux 0x1e0a0c24 mod_timer_pending +EXPORT_SYMBOL vmlinux 0x1e1e140e ns_to_timespec64 +EXPORT_SYMBOL vmlinux 0x1e34fb9f sock_queue_rcv_skb_reason +EXPORT_SYMBOL vmlinux 0x1e3cbe3c tcp_rcv_state_process +EXPORT_SYMBOL vmlinux 0x1e407abd tty_port_lower_dtr_rts +EXPORT_SYMBOL vmlinux 0x1e5fac40 __destroy_inode +EXPORT_SYMBOL vmlinux 0x1e63fe69 vcalloc +EXPORT_SYMBOL vmlinux 0x1e6d26a8 strstr +EXPORT_SYMBOL vmlinux 0x1e8a161a crc_t10dif_generic +EXPORT_SYMBOL vmlinux 0x1e9914f2 vfs_dup_fs_context +EXPORT_SYMBOL vmlinux 0x1e9edfb7 seq_hlist_start_head_rcu +EXPORT_SYMBOL vmlinux 0x1ec9b66a eth_mac_addr +EXPORT_SYMBOL vmlinux 0x1ed7eb60 __sg_free_table +EXPORT_SYMBOL vmlinux 0x1edb69d6 ktime_get_raw_ts64 +EXPORT_SYMBOL vmlinux 0x1ef9af5a skb_abort_seq_read +EXPORT_SYMBOL vmlinux 0x1f0d21fb freeze_bdev +EXPORT_SYMBOL vmlinux 0x1f1e2aaa give_up_console +EXPORT_SYMBOL vmlinux 0x1f39b17c __fib6_flush_trees +EXPORT_SYMBOL vmlinux 0x1f4bfcdb pci_get_device +EXPORT_SYMBOL vmlinux 0x1f4c7087 pci_request_irq +EXPORT_SYMBOL vmlinux 0x1f5a2abb netdev_upper_get_next_dev_rcu +EXPORT_SYMBOL vmlinux 0x1f768980 ping_prot +EXPORT_SYMBOL vmlinux 0x1f814fd4 filemap_release_folio +EXPORT_SYMBOL vmlinux 0x1f858967 netdev_err +EXPORT_SYMBOL vmlinux 0x1f91fa75 default_qdisc_ops +EXPORT_SYMBOL vmlinux 0x1f95657b mempool_resize +EXPORT_SYMBOL vmlinux 0x1f972b06 inet_del_offload +EXPORT_SYMBOL vmlinux 0x1faaa76c security_socket_getpeersec_dgram +EXPORT_SYMBOL vmlinux 0x1fb27078 tcw_get_tccb +EXPORT_SYMBOL vmlinux 0x1fbbdfc2 generic_block_bmap +EXPORT_SYMBOL vmlinux 0x1fbd16da ip_tos2prio +EXPORT_SYMBOL vmlinux 0x1fcb720d tcp_sockets_allocated +EXPORT_SYMBOL vmlinux 0x1fcc9f7c __scsi_print_sense +EXPORT_SYMBOL vmlinux 0x1fda8755 __memset32 +EXPORT_SYMBOL vmlinux 0x1fe9e4a8 fscrypt_decrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x1fea53b3 xsk_uses_need_wakeup +EXPORT_SYMBOL vmlinux 0x20000329 simple_strtoul +EXPORT_SYMBOL vmlinux 0x20050ce6 unix_gc_lock +EXPORT_SYMBOL vmlinux 0x2005d114 unregister_netdevice_queue +EXPORT_SYMBOL vmlinux 0x200b2041 in6addr_any +EXPORT_SYMBOL vmlinux 0x2014a246 __siphash_unaligned +EXPORT_SYMBOL vmlinux 0x2022feb9 sk_stop_timer +EXPORT_SYMBOL vmlinux 0x202c6bc2 mdiobus_free +EXPORT_SYMBOL vmlinux 0x204c19f5 tcp_alloc_md5sig_pool +EXPORT_SYMBOL vmlinux 0x204c5067 scsi_dev_info_add_list +EXPORT_SYMBOL vmlinux 0x2058d2dc genphy_restart_aneg +EXPORT_SYMBOL vmlinux 0x20592c6f arch_write_lock_wait +EXPORT_SYMBOL vmlinux 0x2063a4f6 pci_unregister_driver +EXPORT_SYMBOL vmlinux 0x206677e5 dev_pick_tx_cpu_id +EXPORT_SYMBOL vmlinux 0x2084d709 pgste_perform_essa +EXPORT_SYMBOL vmlinux 0x208d150a set_security_override_from_ctx +EXPORT_SYMBOL vmlinux 0x20973b94 segment_unload +EXPORT_SYMBOL vmlinux 0x20a789ac irq_set_chip_data +EXPORT_SYMBOL vmlinux 0x20d65e40 fb_find_nearest_mode +EXPORT_SYMBOL vmlinux 0x20ee076e itcw_add_tidaw +EXPORT_SYMBOL vmlinux 0x20f3685a module_refcount +EXPORT_SYMBOL vmlinux 0x21036c63 fd_install +EXPORT_SYMBOL vmlinux 0x21045a10 tty_chars_in_buffer +EXPORT_SYMBOL vmlinux 0x21281724 md_register_thread +EXPORT_SYMBOL vmlinux 0x2139471f __sk_dst_check +EXPORT_SYMBOL vmlinux 0x2140e3bc kthread_create_worker +EXPORT_SYMBOL vmlinux 0x215a04b2 __invalidate_device +EXPORT_SYMBOL vmlinux 0x215b3c9a dst_destroy +EXPORT_SYMBOL vmlinux 0x215e91ed update_region +EXPORT_SYMBOL vmlinux 0x21631b9e may_umount +EXPORT_SYMBOL vmlinux 0x218346f0 begin_new_exec +EXPORT_SYMBOL vmlinux 0x218e1061 inet_csk_reqsk_queue_add +EXPORT_SYMBOL vmlinux 0x218e600b pci_add_resource_offset +EXPORT_SYMBOL vmlinux 0x21bdb523 errseq_check_and_advance +EXPORT_SYMBOL vmlinux 0x21be37e1 hdmi_avi_infoframe_check +EXPORT_SYMBOL vmlinux 0x21df7c10 pin_user_pages +EXPORT_SYMBOL vmlinux 0x21e13cb3 inet_peer_xrlim_allow +EXPORT_SYMBOL vmlinux 0x21ea83bc zstd_reset_cstream +EXPORT_SYMBOL vmlinux 0x22042d3f __put_user_ns +EXPORT_SYMBOL vmlinux 0x2210642c sclp_ap_deconfigure +EXPORT_SYMBOL vmlinux 0x221567e6 __traceiter_s390_cio_tpi +EXPORT_SYMBOL vmlinux 0x221c0f3f dquot_initialize_needed +EXPORT_SYMBOL vmlinux 0x222e7ce2 sysfs_streq +EXPORT_SYMBOL vmlinux 0x223b5c24 xfrm6_protocol_register +EXPORT_SYMBOL vmlinux 0x227687ae netlink_ack +EXPORT_SYMBOL vmlinux 0x228d9333 dma_unmap_sg_attrs +EXPORT_SYMBOL vmlinux 0x2294fc34 fib_notifier_ops_register +EXPORT_SYMBOL vmlinux 0x22a92905 vif_device_init +EXPORT_SYMBOL vmlinux 0x22b325d5 kd_mksound +EXPORT_SYMBOL vmlinux 0x22cb3831 security_cred_getsecid +EXPORT_SYMBOL vmlinux 0x22dd6d51 tccb_init +EXPORT_SYMBOL vmlinux 0x22efdc0a sync_inode_metadata +EXPORT_SYMBOL vmlinux 0x22f4d958 kern_path_create +EXPORT_SYMBOL vmlinux 0x22f9ffa4 xfrm_policy_alloc +EXPORT_SYMBOL vmlinux 0x2308e34d __dev_kfree_skb_irq +EXPORT_SYMBOL vmlinux 0x23092ee4 configfs_register_default_group +EXPORT_SYMBOL vmlinux 0x231197af xp_dma_sync_for_device_slow +EXPORT_SYMBOL vmlinux 0x2364c85a tasklet_init +EXPORT_SYMBOL vmlinux 0x236c8c64 memcpy +EXPORT_SYMBOL vmlinux 0x237b50f3 sk_alloc +EXPORT_SYMBOL vmlinux 0x23924a48 prepare_to_wait_event +EXPORT_SYMBOL vmlinux 0x23b9d6e2 mangle_path +EXPORT_SYMBOL vmlinux 0x23fd3028 vmalloc_node +EXPORT_SYMBOL vmlinux 0x2413f25f configfs_register_subsystem +EXPORT_SYMBOL vmlinux 0x24140a19 pci_release_regions +EXPORT_SYMBOL vmlinux 0x2420eb5d devm_mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0x242d7801 blk_queue_flag_clear +EXPORT_SYMBOL vmlinux 0x242f3562 irq_subclass_register +EXPORT_SYMBOL vmlinux 0x2439b6d3 tcp_v4_conn_request +EXPORT_SYMBOL vmlinux 0x24458544 qdisc_hash_del +EXPORT_SYMBOL vmlinux 0x245629a5 mdiobus_get_phy +EXPORT_SYMBOL vmlinux 0x24569849 tty_port_close_start +EXPORT_SYMBOL vmlinux 0x2459bbcc console_set_on_cmdline +EXPORT_SYMBOL vmlinux 0x247a3fe4 LZ4_decompress_fast_continue +EXPORT_SYMBOL vmlinux 0x247c627a neigh_lookup_nodev +EXPORT_SYMBOL vmlinux 0x2492f9f5 ndo_dflt_fdb_del +EXPORT_SYMBOL vmlinux 0x24b598e8 __lock_sock_fast +EXPORT_SYMBOL vmlinux 0x24b8528f mutex_trylock +EXPORT_SYMBOL vmlinux 0x24bb15bd migrate_page_move_mapping +EXPORT_SYMBOL vmlinux 0x24bc53b0 __traceiter_s390_cio_xsch +EXPORT_SYMBOL vmlinux 0x24c24e25 d_instantiate +EXPORT_SYMBOL vmlinux 0x24d273d1 add_timer +EXPORT_SYMBOL vmlinux 0x24dada3e get_pgste +EXPORT_SYMBOL vmlinux 0x24dd43a2 blk_rq_unmap_user +EXPORT_SYMBOL vmlinux 0x24ddb3bc pci_wake_from_d3 +EXPORT_SYMBOL vmlinux 0x24ef7969 d_instantiate_anon +EXPORT_SYMBOL vmlinux 0x24fc0938 tcp_mmap +EXPORT_SYMBOL vmlinux 0x250d96bb scsi_target_quiesce +EXPORT_SYMBOL vmlinux 0x2515f09f tcp_disconnect +EXPORT_SYMBOL vmlinux 0x251c4c36 pci_scan_root_bus +EXPORT_SYMBOL vmlinux 0x252332f1 __SCK__tp_func_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x252cf375 scsi_kmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x252fe7e4 down_read_interruptible +EXPORT_SYMBOL vmlinux 0x25381202 d_alloc_anon +EXPORT_SYMBOL vmlinux 0x253cc91c dev_mc_init +EXPORT_SYMBOL vmlinux 0x2548c032 __cpu_possible_mask +EXPORT_SYMBOL vmlinux 0x255068cc skb_orphan_partial +EXPORT_SYMBOL vmlinux 0x255cc783 bio_add_page +EXPORT_SYMBOL vmlinux 0x25820c64 fs_overflowuid +EXPORT_SYMBOL vmlinux 0x258bee44 dma_map_page_attrs +EXPORT_SYMBOL vmlinux 0x258d2f76 net_dim_get_tx_moderation +EXPORT_SYMBOL vmlinux 0x259e6beb blackhole_netdev +EXPORT_SYMBOL vmlinux 0x25b48e26 dput +EXPORT_SYMBOL vmlinux 0x25badad3 mini_qdisc_pair_init +EXPORT_SYMBOL vmlinux 0x25bc0114 tty_port_alloc_xmit_buf +EXPORT_SYMBOL vmlinux 0x25ca8ca2 inet_frags_fini +EXPORT_SYMBOL vmlinux 0x25cb94aa trace_event_printf +EXPORT_SYMBOL vmlinux 0x25d59066 ccw_device_is_multipath +EXPORT_SYMBOL vmlinux 0x25e58a09 hdmi_avi_infoframe_init +EXPORT_SYMBOL vmlinux 0x25e688f5 dma_unmap_resource +EXPORT_SYMBOL vmlinux 0x25e9d4bd resource_list_free +EXPORT_SYMBOL vmlinux 0x25ec1b28 strlen +EXPORT_SYMBOL vmlinux 0x26065a0a netif_stacked_transfer_operstate +EXPORT_SYMBOL vmlinux 0x260a095a __sg_alloc_table +EXPORT_SYMBOL vmlinux 0x26280c94 qdisc_watchdog_init_clockid +EXPORT_SYMBOL vmlinux 0x263beb75 ecryptfs_get_versions +EXPORT_SYMBOL vmlinux 0x2641a1c6 diag224 +EXPORT_SYMBOL vmlinux 0x2665ed82 init_task +EXPORT_SYMBOL vmlinux 0x266c9921 get_tree_nodev +EXPORT_SYMBOL vmlinux 0x266de471 vlan_vid_del +EXPORT_SYMBOL vmlinux 0x26798e1c pcim_set_mwi +EXPORT_SYMBOL vmlinux 0x2688ec10 bitmap_zalloc +EXPORT_SYMBOL vmlinux 0x26897b52 mb_cache_entry_get +EXPORT_SYMBOL vmlinux 0x26979f69 folio_wait_bit +EXPORT_SYMBOL vmlinux 0x26a5b938 sclp_pci_configure +EXPORT_SYMBOL vmlinux 0x26e18854 inet_protos +EXPORT_SYMBOL vmlinux 0x26e298e0 unregister_memory_notifier +EXPORT_SYMBOL vmlinux 0x26eae2db inet_reqsk_alloc +EXPORT_SYMBOL vmlinux 0x26ed29eb super_setup_bdi_name +EXPORT_SYMBOL vmlinux 0x27037c62 __lock_buffer +EXPORT_SYMBOL vmlinux 0x270cf88f dump_stack_lvl +EXPORT_SYMBOL vmlinux 0x2711925f seq_bprintf +EXPORT_SYMBOL vmlinux 0x272a8933 udp_memory_allocated +EXPORT_SYMBOL vmlinux 0x272ac44c fs_param_is_u32 +EXPORT_SYMBOL vmlinux 0x2733eaf7 scsi_dev_info_list_add_keyed +EXPORT_SYMBOL vmlinux 0x27479d14 param_free_charp +EXPORT_SYMBOL vmlinux 0x2759f2bf radix_tree_gang_lookup +EXPORT_SYMBOL vmlinux 0x275c24a7 kvfree_sensitive +EXPORT_SYMBOL vmlinux 0x275f3d49 hdmi_vendor_infoframe_check +EXPORT_SYMBOL vmlinux 0x27657212 page_pool_alloc_frag +EXPORT_SYMBOL vmlinux 0x27714839 blk_mq_delay_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x27756bc8 scsi_sanitize_inquiry_string +EXPORT_SYMBOL vmlinux 0x277d4035 gen_pool_has_addr +EXPORT_SYMBOL vmlinux 0x2782b393 xfrm_state_walk_init +EXPORT_SYMBOL vmlinux 0x27864d57 memparse +EXPORT_SYMBOL vmlinux 0x27a8f51b do_wait_intr_irq +EXPORT_SYMBOL vmlinux 0x27aca58d nf_ip6_checksum +EXPORT_SYMBOL vmlinux 0x27bbf221 disable_irq_nosync +EXPORT_SYMBOL vmlinux 0x27cdca93 pci_add_resource +EXPORT_SYMBOL vmlinux 0x27d44e5e try_to_release_page +EXPORT_SYMBOL vmlinux 0x27eb9cd1 tcw_set_intrg +EXPORT_SYMBOL vmlinux 0x27ec6d6f debug_dflt_header_fn +EXPORT_SYMBOL vmlinux 0x27fe11fe register_shrinker +EXPORT_SYMBOL vmlinux 0x2802d0dc pneigh_lookup +EXPORT_SYMBOL vmlinux 0x2805325a __udp_disconnect +EXPORT_SYMBOL vmlinux 0x281823c5 __kfifo_out_peek +EXPORT_SYMBOL vmlinux 0x2855ab1d flow_block_cb_setup_simple +EXPORT_SYMBOL vmlinux 0x2866f7b2 pcie_capability_read_dword +EXPORT_SYMBOL vmlinux 0x286a3661 airq_iv_scan +EXPORT_SYMBOL vmlinux 0x2875a315 utf32_to_utf8 +EXPORT_SYMBOL vmlinux 0x287f23ab mq_change_real_num_tx +EXPORT_SYMBOL vmlinux 0x28876432 mdio_driver_register +EXPORT_SYMBOL vmlinux 0x28899159 netdev_info +EXPORT_SYMBOL vmlinux 0x28c7455d ip6_dst_alloc +EXPORT_SYMBOL vmlinux 0x28c89964 phy_ethtool_get_sset_count +EXPORT_SYMBOL vmlinux 0x28d65de0 vm_mmap +EXPORT_SYMBOL vmlinux 0x28e18208 tcf_em_tree_validate +EXPORT_SYMBOL vmlinux 0x28eb1dba genphy_read_lpa +EXPORT_SYMBOL vmlinux 0x28f4421d dcb_ieee_getapp_prio_dscp_mask_map +EXPORT_SYMBOL vmlinux 0x28f94604 __ubsan_handle_builtin_unreachable +EXPORT_SYMBOL vmlinux 0x29065cde security_skb_classify_flow +EXPORT_SYMBOL vmlinux 0x2924d63a lru_cache_add +EXPORT_SYMBOL vmlinux 0x2934cf62 ccw_device_tm_start +EXPORT_SYMBOL vmlinux 0x29391e7d vm_munmap +EXPORT_SYMBOL vmlinux 0x293b3238 __hw_addr_sync_dev +EXPORT_SYMBOL vmlinux 0x294261f6 __hw_addr_unsync_dev +EXPORT_SYMBOL vmlinux 0x2946f6f6 seq_release +EXPORT_SYMBOL vmlinux 0x294ce267 block_commit_write +EXPORT_SYMBOL vmlinux 0x2950207e inet_shutdown +EXPORT_SYMBOL vmlinux 0x29522efb jbd2_journal_try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x2956cf37 sclp_remove_processed +EXPORT_SYMBOL vmlinux 0x2959ea0c padata_free_shell +EXPORT_SYMBOL vmlinux 0x29604158 napi_busy_loop +EXPORT_SYMBOL vmlinux 0x296c8e5b key_unlink +EXPORT_SYMBOL vmlinux 0x29789394 empty_zero_page +EXPORT_SYMBOL vmlinux 0x297b51cc udp_disconnect +EXPORT_SYMBOL vmlinux 0x29876990 input_mt_assign_slots +EXPORT_SYMBOL vmlinux 0x2998c907 gnet_stats_copy_rate_est +EXPORT_SYMBOL vmlinux 0x29a84555 devm_pci_remap_cfgspace +EXPORT_SYMBOL vmlinux 0x29bc8b81 __ip_mc_dec_group +EXPORT_SYMBOL vmlinux 0x29cc5a2e linkwatch_fire_event +EXPORT_SYMBOL vmlinux 0x29cdcc4d fwnode_irq_get +EXPORT_SYMBOL vmlinux 0x29d9efe2 rps_may_expire_flow +EXPORT_SYMBOL vmlinux 0x2a3092da dquot_set_dqblk +EXPORT_SYMBOL vmlinux 0x2a342c9d default_llseek +EXPORT_SYMBOL vmlinux 0x2a37d0b5 tcf_idr_release +EXPORT_SYMBOL vmlinux 0x2a3819cf unregister_nls +EXPORT_SYMBOL vmlinux 0x2a41d203 dql_init +EXPORT_SYMBOL vmlinux 0x2a60ab3c devm_release_resource +EXPORT_SYMBOL vmlinux 0x2a805563 __kernel_cpumcf_end +EXPORT_SYMBOL vmlinux 0x2aa2a581 simple_rmdir +EXPORT_SYMBOL vmlinux 0x2aa71d0c proc_do_large_bitmap +EXPORT_SYMBOL vmlinux 0x2af3f454 ssch +EXPORT_SYMBOL vmlinux 0x2b12e7cd scsi_print_result +EXPORT_SYMBOL vmlinux 0x2b21b559 raw3270_request_set_idal +EXPORT_SYMBOL vmlinux 0x2b2383f9 input_set_keycode +EXPORT_SYMBOL vmlinux 0x2b2e7ce6 keyring_clear +EXPORT_SYMBOL vmlinux 0x2b346beb tcp_md5_do_del +EXPORT_SYMBOL vmlinux 0x2b4179a9 mr_mfc_find_any +EXPORT_SYMBOL vmlinux 0x2b591fef pci_get_domain_bus_and_slot +EXPORT_SYMBOL vmlinux 0x2b68bd2f del_timer +EXPORT_SYMBOL vmlinux 0x2b733c80 sync_filesystem +EXPORT_SYMBOL vmlinux 0x2b98058e t10_pi_type3_ip +EXPORT_SYMBOL vmlinux 0x2b9da7a4 genl_lock +EXPORT_SYMBOL vmlinux 0x2ba18f4a fasync_helper +EXPORT_SYMBOL vmlinux 0x2bbe18dc netdev_port_same_parent_id +EXPORT_SYMBOL vmlinux 0x2bbe76f4 rps_sock_flow_table +EXPORT_SYMBOL vmlinux 0x2bc21233 proc_dointvec_userhz_jiffies +EXPORT_SYMBOL vmlinux 0x2be0b4a5 jbd2_fc_begin_commit +EXPORT_SYMBOL vmlinux 0x2be9b22d dev_loopback_xmit +EXPORT_SYMBOL vmlinux 0x2bec2579 register_sysctl_paths +EXPORT_SYMBOL vmlinux 0x2c079f3f jbd2_log_wait_commit +EXPORT_SYMBOL vmlinux 0x2c255266 inet6_protos +EXPORT_SYMBOL vmlinux 0x2c256e1f input_scancode_to_scalar +EXPORT_SYMBOL vmlinux 0x2c385d75 netif_carrier_on +EXPORT_SYMBOL vmlinux 0x2c38ba92 dquot_load_quota_inode +EXPORT_SYMBOL vmlinux 0x2c5b1c9b dm_kobject_release +EXPORT_SYMBOL vmlinux 0x2c82c36a security_secmark_relabel_packet +EXPORT_SYMBOL vmlinux 0x2c9d741c tty_hangup +EXPORT_SYMBOL vmlinux 0x2cb75ff1 __tracepoint_s390_cio_tsch +EXPORT_SYMBOL vmlinux 0x2cbd23af trace_print_hex_dump_seq +EXPORT_SYMBOL vmlinux 0x2cc3379f cdev_device_del +EXPORT_SYMBOL vmlinux 0x2ccd059a dim_on_top +EXPORT_SYMBOL vmlinux 0x2cedbcaa dma_free_attrs +EXPORT_SYMBOL vmlinux 0x2d06ff8d get_user_pages_unlocked +EXPORT_SYMBOL vmlinux 0x2d0cc08c jbd2_journal_flush +EXPORT_SYMBOL vmlinux 0x2d140a58 genl_unlock +EXPORT_SYMBOL vmlinux 0x2d1bb74a copy_string_kernel +EXPORT_SYMBOL vmlinux 0x2d276715 neigh_proc_dointvec +EXPORT_SYMBOL vmlinux 0x2d30596c from_kqid_munged +EXPORT_SYMBOL vmlinux 0x2d31e99c genphy_read_master_slave +EXPORT_SYMBOL vmlinux 0x2d3385d3 system_wq +EXPORT_SYMBOL vmlinux 0x2d39b0a7 kstrdup +EXPORT_SYMBOL vmlinux 0x2d3dcb07 tcp_sock_set_keepcnt +EXPORT_SYMBOL vmlinux 0x2d46da68 phy_start_aneg +EXPORT_SYMBOL vmlinux 0x2d4c773a hdmi_spd_infoframe_init +EXPORT_SYMBOL vmlinux 0x2d4daef5 find_font +EXPORT_SYMBOL vmlinux 0x2d6a2d4e jbd2_journal_clear_features +EXPORT_SYMBOL vmlinux 0x2d6abb18 dev_lstats_read +EXPORT_SYMBOL vmlinux 0x2d832cbf utf8_casefold +EXPORT_SYMBOL vmlinux 0x2d994605 security_inode_copy_up_xattr +EXPORT_SYMBOL vmlinux 0x2d9c7309 pci_save_state +EXPORT_SYMBOL vmlinux 0x2dd0b680 neigh_lookup +EXPORT_SYMBOL vmlinux 0x2ddb834b __xa_alloc +EXPORT_SYMBOL vmlinux 0x2de125c0 page_frag_alloc_align +EXPORT_SYMBOL vmlinux 0x2def2764 __sk_receive_skb +EXPORT_SYMBOL vmlinux 0x2e0b23f9 gnet_stats_start_copy +EXPORT_SYMBOL vmlinux 0x2e22625d iov_iter_revert +EXPORT_SYMBOL vmlinux 0x2e3c5950 radix_tree_gang_lookup_tag_slot +EXPORT_SYMBOL vmlinux 0x2e5fe036 __skb_ext_put +EXPORT_SYMBOL vmlinux 0x2e85e905 tc_setup_cb_reoffload +EXPORT_SYMBOL vmlinux 0x2e90efb9 fb_get_buffer_offset +EXPORT_SYMBOL vmlinux 0x2e969449 flow_block_cb_priv +EXPORT_SYMBOL vmlinux 0x2e9fca4a unregister_md_personality +EXPORT_SYMBOL vmlinux 0x2eabc203 follow_up +EXPORT_SYMBOL vmlinux 0x2eba109d inet6_getname +EXPORT_SYMBOL vmlinux 0x2ec0f757 register_md_cluster_operations +EXPORT_SYMBOL vmlinux 0x2ec6bba0 errseq_set +EXPORT_SYMBOL vmlinux 0x2ed963a3 file_modified +EXPORT_SYMBOL vmlinux 0x2ef5661d segment_modify_shared +EXPORT_SYMBOL vmlinux 0x2efbadc0 xfrm_if_register_cb +EXPORT_SYMBOL vmlinux 0x2f03fc4b security_secmark_refcount_inc +EXPORT_SYMBOL vmlinux 0x2f297e32 napi_get_frags +EXPORT_SYMBOL vmlinux 0x2f2e06df netpoll_setup +EXPORT_SYMBOL vmlinux 0x2f2e91b2 security_ib_alloc_security +EXPORT_SYMBOL vmlinux 0x2f3bebf4 _dev_err +EXPORT_SYMBOL vmlinux 0x2f40e5be page_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0x2f67c902 __traceiter_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x2f6bdd5a pcie_get_width_cap +EXPORT_SYMBOL vmlinux 0x2f7189fa device_add_disk +EXPORT_SYMBOL vmlinux 0x2f7754a8 dma_pool_free +EXPORT_SYMBOL vmlinux 0x2f8fe0ac flow_rule_match_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x2fa5a500 memcmp +EXPORT_SYMBOL vmlinux 0x2fba6d87 bh_submit_read +EXPORT_SYMBOL vmlinux 0x2fd09944 blake2s_update +EXPORT_SYMBOL vmlinux 0x2fe14e0d xfrm_init_state +EXPORT_SYMBOL vmlinux 0x2fe207bb end_buffer_async_write +EXPORT_SYMBOL vmlinux 0x2fe252cc unregister_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x2ff38541 bio_put +EXPORT_SYMBOL vmlinux 0x2ffd70d3 config_group_find_item +EXPORT_SYMBOL vmlinux 0x2ffffb6f _ebc_tolower +EXPORT_SYMBOL vmlinux 0x30057e2d sock_create_lite +EXPORT_SYMBOL vmlinux 0x300d6be4 __irq_regs +EXPORT_SYMBOL vmlinux 0x301e07a5 simple_lookup +EXPORT_SYMBOL vmlinux 0x30267fa1 security_task_getsecid_obj +EXPORT_SYMBOL vmlinux 0x305cb95e fscrypt_ioctl_get_policy +EXPORT_SYMBOL vmlinux 0x30797d86 make_bad_inode +EXPORT_SYMBOL vmlinux 0x307b9ff8 xfrm_policy_flush +EXPORT_SYMBOL vmlinux 0x307c110a mdiobus_write_nested +EXPORT_SYMBOL vmlinux 0x308734d0 kobject_set_name +EXPORT_SYMBOL vmlinux 0x30888380 pci_bus_assign_resources +EXPORT_SYMBOL vmlinux 0x309010a2 devm_arch_phys_wc_add +EXPORT_SYMBOL vmlinux 0x3096be16 names_cachep +EXPORT_SYMBOL vmlinux 0x30a80826 __kfifo_from_user +EXPORT_SYMBOL vmlinux 0x30acfde9 hsiphash_2u32 +EXPORT_SYMBOL vmlinux 0x30cd2190 tcp_sync_mss +EXPORT_SYMBOL vmlinux 0x30e33ba2 generic_writepages +EXPORT_SYMBOL vmlinux 0x30e74134 tty_termios_copy_hw +EXPORT_SYMBOL vmlinux 0x30e87bad fb_pan_display +EXPORT_SYMBOL vmlinux 0x30ef667b __netif_rx +EXPORT_SYMBOL vmlinux 0x30f65059 security_sock_rcv_skb +EXPORT_SYMBOL vmlinux 0x30f658db pci_enable_device_mem +EXPORT_SYMBOL vmlinux 0x310117bf key_validate +EXPORT_SYMBOL vmlinux 0x3107d298 fb_show_logo +EXPORT_SYMBOL vmlinux 0x310bfa4d block_invalidate_folio +EXPORT_SYMBOL vmlinux 0x310f5595 ap_driver_unregister +EXPORT_SYMBOL vmlinux 0x3126a9e8 siphash_1u64 +EXPORT_SYMBOL vmlinux 0x3133a681 xfrm_policy_destroy +EXPORT_SYMBOL vmlinux 0x31475e37 dma_fence_array_first +EXPORT_SYMBOL vmlinux 0x318c8529 __fs_parse +EXPORT_SYMBOL vmlinux 0x31952c72 fbcon_update_vcs +EXPORT_SYMBOL vmlinux 0x31a34dc6 dma_fence_match_context +EXPORT_SYMBOL vmlinux 0x31e7b349 key_create_or_update +EXPORT_SYMBOL vmlinux 0x3207d127 tcp_md5_hash_skb_data +EXPORT_SYMBOL vmlinux 0x321a1a8b fb_find_mode +EXPORT_SYMBOL vmlinux 0x3221df67 __bitmap_subset +EXPORT_SYMBOL vmlinux 0x327bca58 md_set_array_sectors +EXPORT_SYMBOL vmlinux 0x3283e6b0 prandom_seed_full_state +EXPORT_SYMBOL vmlinux 0x328a25c6 devm_gen_pool_create +EXPORT_SYMBOL vmlinux 0x32c6a2d8 _ebcasc_500 +EXPORT_SYMBOL vmlinux 0x32ce3777 radix_tree_preload +EXPORT_SYMBOL vmlinux 0x32f23f00 remove_watch_from_object +EXPORT_SYMBOL vmlinux 0x32fc6f0f blk_mq_alloc_disk_for_queue +EXPORT_SYMBOL vmlinux 0x330a5310 scsi_is_target_device +EXPORT_SYMBOL vmlinux 0x331de0b9 kstrtos8_from_user +EXPORT_SYMBOL vmlinux 0x33338341 bio_integrity_trim +EXPORT_SYMBOL vmlinux 0x333c2bbb netdev_name_in_use +EXPORT_SYMBOL vmlinux 0x334fb963 elv_rb_latter_request +EXPORT_SYMBOL vmlinux 0x335f9d34 inet_addr_type_table +EXPORT_SYMBOL vmlinux 0x3362a5ac udp_table +EXPORT_SYMBOL vmlinux 0x33765dd1 blk_mq_rq_cpu +EXPORT_SYMBOL vmlinux 0x339c6380 ip_sock_set_pktinfo +EXPORT_SYMBOL vmlinux 0x33a75ef1 dquot_resume +EXPORT_SYMBOL vmlinux 0x33af2fd5 mdiobus_scan +EXPORT_SYMBOL vmlinux 0x33ecee95 __mod_node_page_state +EXPORT_SYMBOL vmlinux 0x33f74de3 _ascebc_500 +EXPORT_SYMBOL vmlinux 0x33fa677f rename_lock +EXPORT_SYMBOL vmlinux 0x33fc1e82 touchscreen_parse_properties +EXPORT_SYMBOL vmlinux 0x33fc2a31 get_user_ifreq +EXPORT_SYMBOL vmlinux 0x34180713 iov_iter_bvec +EXPORT_SYMBOL vmlinux 0x3449ac07 skb_copy_and_hash_datagram_iter +EXPORT_SYMBOL vmlinux 0x344d1c28 dma_resv_iter_next_unlocked +EXPORT_SYMBOL vmlinux 0x3454e3c1 inet_addr_type_dev_table +EXPORT_SYMBOL vmlinux 0x345fcab5 fsync_bdev +EXPORT_SYMBOL vmlinux 0x3471db68 input_reset_device +EXPORT_SYMBOL vmlinux 0x34842c02 reuseport_alloc +EXPORT_SYMBOL vmlinux 0x349cba85 strchr +EXPORT_SYMBOL vmlinux 0x349e7284 generic_fadvise +EXPORT_SYMBOL vmlinux 0x34adabca copy_page_to_iter +EXPORT_SYMBOL vmlinux 0x34b22092 simple_dentry_operations +EXPORT_SYMBOL vmlinux 0x34b8c376 cont_write_begin +EXPORT_SYMBOL vmlinux 0x34c6dce8 ip_fraglist_init +EXPORT_SYMBOL vmlinux 0x34c7cdbc lookup_bdev +EXPORT_SYMBOL vmlinux 0x34d0ce3f __genphy_config_aneg +EXPORT_SYMBOL vmlinux 0x34e1df02 __debug_sprintf_event +EXPORT_SYMBOL vmlinux 0x34e7b44d flow_rule_match_ip +EXPORT_SYMBOL vmlinux 0x34f3484e security_tun_dev_attach_queue +EXPORT_SYMBOL vmlinux 0x3517383e register_reboot_notifier +EXPORT_SYMBOL vmlinux 0x35186bdb scsi_partsize +EXPORT_SYMBOL vmlinux 0x353f1dfc tcf_idr_cleanup +EXPORT_SYMBOL vmlinux 0x3543e16f kill_anon_super +EXPORT_SYMBOL vmlinux 0x357bdb72 pskb_trim_rcsum_slow +EXPORT_SYMBOL vmlinux 0x3589e046 devm_request_any_context_irq +EXPORT_SYMBOL vmlinux 0x3590acc9 cpumask_any_distribute +EXPORT_SYMBOL vmlinux 0x35a0cf58 reset_guest_reference_bit +EXPORT_SYMBOL vmlinux 0x35a3acdb mroute6_is_socket +EXPORT_SYMBOL vmlinux 0x35a88f28 zlib_inflateInit2 +EXPORT_SYMBOL vmlinux 0x35ac73f5 scsi_host_alloc +EXPORT_SYMBOL vmlinux 0x35ae4edc get_tree_keyed +EXPORT_SYMBOL vmlinux 0x35c8fba4 buffer_migrate_page +EXPORT_SYMBOL vmlinux 0x35fc4f72 memory_cgrp_subsys +EXPORT_SYMBOL vmlinux 0x3602aba9 raw3270_register_notifier +EXPORT_SYMBOL vmlinux 0x364d1898 seq_lseek +EXPORT_SYMBOL vmlinux 0x3658e1d4 seq_read +EXPORT_SYMBOL vmlinux 0x365acda7 set_normalized_timespec64 +EXPORT_SYMBOL vmlinux 0x365e7911 kstrdup_const +EXPORT_SYMBOL vmlinux 0x36827a84 arp_send +EXPORT_SYMBOL vmlinux 0x3685eb02 ip_mc_join_group +EXPORT_SYMBOL vmlinux 0x368e9a90 security_dentry_create_files_as +EXPORT_SYMBOL vmlinux 0x36a5be7b dev_driver_string +EXPORT_SYMBOL vmlinux 0x36af6564 scsi_dma_unmap +EXPORT_SYMBOL vmlinux 0x36d50657 __SetPageMovable +EXPORT_SYMBOL vmlinux 0x36ecf60d __skb_checksum_complete_head +EXPORT_SYMBOL vmlinux 0x370756ff bitmap_print_bitmask_to_buf +EXPORT_SYMBOL vmlinux 0x371e1953 __printk_cpu_sync_wait +EXPORT_SYMBOL vmlinux 0x37281ac1 xfrm4_protocol_register +EXPORT_SYMBOL vmlinux 0x372e9733 ccw_device_clear +EXPORT_SYMBOL vmlinux 0x37365012 load_nls +EXPORT_SYMBOL vmlinux 0x3736d025 down_read_killable +EXPORT_SYMBOL vmlinux 0x3744cf36 vmalloc_to_pfn +EXPORT_SYMBOL vmlinux 0x37484280 tcp_release_cb +EXPORT_SYMBOL vmlinux 0x3755f990 gf128mul_init_64k_bbe +EXPORT_SYMBOL vmlinux 0x375ac910 gen_pool_add_owner +EXPORT_SYMBOL vmlinux 0x376a9f23 vm_map_pages_zero +EXPORT_SYMBOL vmlinux 0x37708762 xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x379549dc dma_unmap_page_attrs +EXPORT_SYMBOL vmlinux 0x379e4d77 proto_unregister +EXPORT_SYMBOL vmlinux 0x37befc70 jiffies_to_msecs +EXPORT_SYMBOL vmlinux 0x37bf4047 sdev_disable_disk_events +EXPORT_SYMBOL vmlinux 0x37dbaff9 from_kgid +EXPORT_SYMBOL vmlinux 0x37e64cdd forget_cached_acl +EXPORT_SYMBOL vmlinux 0x380ec283 bit_waitqueue +EXPORT_SYMBOL vmlinux 0x38197024 mini_qdisc_pair_block_init +EXPORT_SYMBOL vmlinux 0x381a798a setup_max_cpus +EXPORT_SYMBOL vmlinux 0x3832522f __crc32c_le_shift +EXPORT_SYMBOL vmlinux 0x383ce150 key_link +EXPORT_SYMBOL vmlinux 0x3854774b kstrtoll +EXPORT_SYMBOL vmlinux 0x387982aa folio_redirty_for_writepage +EXPORT_SYMBOL vmlinux 0x38869d88 kstat +EXPORT_SYMBOL vmlinux 0x3891ffc8 ecryptfs_fill_auth_tok +EXPORT_SYMBOL vmlinux 0x3899e725 ccw_device_set_online +EXPORT_SYMBOL vmlinux 0x389b688d nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x38a52db1 dma_fence_init +EXPORT_SYMBOL vmlinux 0x38a71b7e pci_free_resource_list +EXPORT_SYMBOL vmlinux 0x38a9f7c5 in6addr_loopback +EXPORT_SYMBOL vmlinux 0x38cbee44 seq_printf +EXPORT_SYMBOL vmlinux 0x38f48af7 put_user_ifreq +EXPORT_SYMBOL vmlinux 0x391df80a netstamp_needed_key +EXPORT_SYMBOL vmlinux 0x392da8df phy_ethtool_get_stats +EXPORT_SYMBOL vmlinux 0x3936c13e _dev_alert +EXPORT_SYMBOL vmlinux 0x39461d6a in_egroup_p +EXPORT_SYMBOL vmlinux 0x394a1e11 phy_sfp_attach +EXPORT_SYMBOL vmlinux 0x394ba6fb register_framebuffer +EXPORT_SYMBOL vmlinux 0x3951ff27 sdev_prefix_printk +EXPORT_SYMBOL vmlinux 0x39780c1f blk_queue_logical_block_size +EXPORT_SYMBOL vmlinux 0x397ab879 mount_nodev +EXPORT_SYMBOL vmlinux 0x39960d2e xfrm_register_km +EXPORT_SYMBOL vmlinux 0x39991865 icmp_global_allow +EXPORT_SYMBOL vmlinux 0x39b52d19 __bitmap_and +EXPORT_SYMBOL vmlinux 0x39b77a9f tcp_syn_ack_timeout +EXPORT_SYMBOL vmlinux 0x39dd97c2 pcie_capability_clear_and_set_word +EXPORT_SYMBOL vmlinux 0x39f55669 load_nls_default +EXPORT_SYMBOL vmlinux 0x39fd2b63 zstd_reset_dstream +EXPORT_SYMBOL vmlinux 0x3a13f54a sgl_alloc +EXPORT_SYMBOL vmlinux 0x3a1733d0 dfltcc_inflate +EXPORT_SYMBOL vmlinux 0x3a1c3bec netpoll_parse_options +EXPORT_SYMBOL vmlinux 0x3a2f6702 sg_alloc_table +EXPORT_SYMBOL vmlinux 0x3a2fda44 genphy_soft_reset +EXPORT_SYMBOL vmlinux 0x3a361b0f mdiobus_read_nested +EXPORT_SYMBOL vmlinux 0x3a4f9d28 rng_is_initialized +EXPORT_SYMBOL vmlinux 0x3a52ae34 jbd2_fc_end_commit +EXPORT_SYMBOL vmlinux 0x3a6009dd phy_device_create +EXPORT_SYMBOL vmlinux 0x3a8f22ce gen_pool_alloc_algo_owner +EXPORT_SYMBOL vmlinux 0x3a906da6 dev_set_mtu +EXPORT_SYMBOL vmlinux 0x3ab7b1cc scsi_set_sense_field_pointer +EXPORT_SYMBOL vmlinux 0x3abe42e5 seq_pad +EXPORT_SYMBOL vmlinux 0x3ac0d6a4 flow_rule_match_ct +EXPORT_SYMBOL vmlinux 0x3ac4fe04 unix_get_socket +EXPORT_SYMBOL vmlinux 0x3acc7dee mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0x3acc8c21 sk_stream_error +EXPORT_SYMBOL vmlinux 0x3af54163 netdev_emerg +EXPORT_SYMBOL vmlinux 0x3b101132 ip_tunnel_header_ops +EXPORT_SYMBOL vmlinux 0x3b176ce7 release_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0x3b31a6d8 input_set_abs_params +EXPORT_SYMBOL vmlinux 0x3b644591 __bitmap_shift_left +EXPORT_SYMBOL vmlinux 0x3b6c41ea kstrtouint +EXPORT_SYMBOL vmlinux 0x3b74af56 pci_disable_msi +EXPORT_SYMBOL vmlinux 0x3b756f6a crc32_le +EXPORT_SYMBOL vmlinux 0x3b83e8d1 secure_tcpv6_ts_off +EXPORT_SYMBOL vmlinux 0x3b8fef11 tcf_block_put +EXPORT_SYMBOL vmlinux 0x3bb3a92b reuseport_stop_listen_sock +EXPORT_SYMBOL vmlinux 0x3bbde49f cdrom_dummy_generic_packet +EXPORT_SYMBOL vmlinux 0x3bcc45cc mdiobus_write +EXPORT_SYMBOL vmlinux 0x3be7643e security_xfrm_policy_free +EXPORT_SYMBOL vmlinux 0x3beafe0a sclp +EXPORT_SYMBOL vmlinux 0x3bfa4018 devm_alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0x3bfd2e07 ns_capable_setid +EXPORT_SYMBOL vmlinux 0x3c0b4eee __kfifo_skip_r +EXPORT_SYMBOL vmlinux 0x3c185c61 page_put_link +EXPORT_SYMBOL vmlinux 0x3c280698 fscrypt_ioctl_set_policy +EXPORT_SYMBOL vmlinux 0x3c3fce39 __local_bh_enable_ip +EXPORT_SYMBOL vmlinux 0x3c3ff9fd sprintf +EXPORT_SYMBOL vmlinux 0x3c458311 fscrypt_has_permitted_context +EXPORT_SYMBOL vmlinux 0x3c510aef skb_flow_dissect_hash +EXPORT_SYMBOL vmlinux 0x3c527c06 __dev_get_by_index +EXPORT_SYMBOL vmlinux 0x3c531813 zstd_is_error +EXPORT_SYMBOL vmlinux 0x3c5abdd3 keyring_search +EXPORT_SYMBOL vmlinux 0x3c67e4b0 register_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x3c69f923 sock_rfree +EXPORT_SYMBOL vmlinux 0x3c768b51 xz_dec_microlzma_run +EXPORT_SYMBOL vmlinux 0x3c8aead5 qdisc_put +EXPORT_SYMBOL vmlinux 0x3c9b8a2d scsi_device_quiesce +EXPORT_SYMBOL vmlinux 0x3cb93b4a pci_scan_root_bus_bridge +EXPORT_SYMBOL vmlinux 0x3cd458c2 __netlink_kernel_create +EXPORT_SYMBOL vmlinux 0x3ce4ca6f disable_irq +EXPORT_SYMBOL vmlinux 0x3cf19779 ccw_device_tm_intrg +EXPORT_SYMBOL vmlinux 0x3cfda512 folio_wait_bit_killable +EXPORT_SYMBOL vmlinux 0x3cfe82e5 _copy_from_iter +EXPORT_SYMBOL vmlinux 0x3d0d4baa skb_copy_header +EXPORT_SYMBOL vmlinux 0x3d117a60 itcw_calc_size +EXPORT_SYMBOL vmlinux 0x3d1fe0fc posix_acl_update_mode +EXPORT_SYMBOL vmlinux 0x3d21ac73 get_cached_acl +EXPORT_SYMBOL vmlinux 0x3d281c24 dev_printk_emit +EXPORT_SYMBOL vmlinux 0x3d2981fa utf8_casefold_hash +EXPORT_SYMBOL vmlinux 0x3d3dff8c md_bitmap_update_sb +EXPORT_SYMBOL vmlinux 0x3d4cb9d1 airq_iv_create +EXPORT_SYMBOL vmlinux 0x3d4dd722 netif_device_detach +EXPORT_SYMBOL vmlinux 0x3d55e755 xfrm_state_lookup_byaddr +EXPORT_SYMBOL vmlinux 0x3d5615d2 dquot_scan_active +EXPORT_SYMBOL vmlinux 0x3d5cd2cf tcf_em_register +EXPORT_SYMBOL vmlinux 0x3d6b3755 empty_name +EXPORT_SYMBOL vmlinux 0x3d766a40 md_write_start +EXPORT_SYMBOL vmlinux 0x3d7ec0d7 jbd2_journal_force_commit +EXPORT_SYMBOL vmlinux 0x3da152be no_seek_end_llseek +EXPORT_SYMBOL vmlinux 0x3dabf271 memcg_sockets_enabled_key +EXPORT_SYMBOL vmlinux 0x3dac779a bpf_sk_lookup_enabled +EXPORT_SYMBOL vmlinux 0x3dad9978 cancel_delayed_work +EXPORT_SYMBOL vmlinux 0x3db3b5a6 hdmi_avi_infoframe_pack +EXPORT_SYMBOL vmlinux 0x3dcb88a0 irq_set_handler_data +EXPORT_SYMBOL vmlinux 0x3dddbd81 qdisc_offload_dump_helper +EXPORT_SYMBOL vmlinux 0x3de3b88a __zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x3deba122 unlock_new_inode +EXPORT_SYMBOL vmlinux 0x3dedc7e2 phy_attached_info +EXPORT_SYMBOL vmlinux 0x3deeae55 iget_failed +EXPORT_SYMBOL vmlinux 0x3df1d408 security_inode_copy_up +EXPORT_SYMBOL vmlinux 0x3dfc897c seq_hlist_start_head +EXPORT_SYMBOL vmlinux 0x3e066dc9 blkdev_put +EXPORT_SYMBOL vmlinux 0x3e1d5461 kernel_sock_ip_overhead +EXPORT_SYMBOL vmlinux 0x3e1f0c0e blk_mq_init_queue +EXPORT_SYMBOL vmlinux 0x3e27874c unpin_user_pages +EXPORT_SYMBOL vmlinux 0x3e3bad0a __tasklet_hi_schedule +EXPORT_SYMBOL vmlinux 0x3e4520ad pps_event +EXPORT_SYMBOL vmlinux 0x3e459db2 mdio_bus_type +EXPORT_SYMBOL vmlinux 0x3e45e4f1 phy_init_hw +EXPORT_SYMBOL vmlinux 0x3e5679e1 make_kgid +EXPORT_SYMBOL vmlinux 0x3e572682 __wake_up +EXPORT_SYMBOL vmlinux 0x3e6a83a6 nosteal_pipe_buf_ops +EXPORT_SYMBOL vmlinux 0x3e73c8c2 readahead_expand +EXPORT_SYMBOL vmlinux 0x3e811204 pci_alloc_dev +EXPORT_SYMBOL vmlinux 0x3e88b2af jbd2_journal_init_inode +EXPORT_SYMBOL vmlinux 0x3e920b9a open_exec +EXPORT_SYMBOL vmlinux 0x3ea3e7b9 __free_pages +EXPORT_SYMBOL vmlinux 0x3ea5c350 __alloc_skb +EXPORT_SYMBOL vmlinux 0x3ed94ac2 dev_addr_add +EXPORT_SYMBOL vmlinux 0x3efe1703 phy_unregister_fixup_for_id +EXPORT_SYMBOL vmlinux 0x3f2437a0 udp6_csum_init +EXPORT_SYMBOL vmlinux 0x3f3697f3 cdev_device_add +EXPORT_SYMBOL vmlinux 0x3f4324e2 inode_set_flags +EXPORT_SYMBOL vmlinux 0x3f440d11 tty_port_hangup +EXPORT_SYMBOL vmlinux 0x3f4547a7 put_unused_fd +EXPORT_SYMBOL vmlinux 0x3f4a830e pcie_get_speed_cap +EXPORT_SYMBOL vmlinux 0x3f4c90ec phy_drivers_register +EXPORT_SYMBOL vmlinux 0x3f4d32b3 ipv6_chk_custom_prefix +EXPORT_SYMBOL vmlinux 0x3f647645 vfs_iter_read +EXPORT_SYMBOL vmlinux 0x3f65c32c __skb_get_hash +EXPORT_SYMBOL vmlinux 0x3f6bf626 skb_copy_and_csum_datagram_msg +EXPORT_SYMBOL vmlinux 0x3f763893 inet_frag_reasm_finish +EXPORT_SYMBOL vmlinux 0x3f89071b security_ib_pkey_access +EXPORT_SYMBOL vmlinux 0x3fa8853f ilookup5_nowait +EXPORT_SYMBOL vmlinux 0x3fa913da strspn +EXPORT_SYMBOL vmlinux 0x3fbe71bf security_socket_socketpair +EXPORT_SYMBOL vmlinux 0x3fcc3185 fs_param_is_fd +EXPORT_SYMBOL vmlinux 0x3fd418f4 ip6_frag_next +EXPORT_SYMBOL vmlinux 0x3fd78f3b register_chrdev_region +EXPORT_SYMBOL vmlinux 0x3fefa791 pci_fixup_cardbus +EXPORT_SYMBOL vmlinux 0x3ff31bcc scmd_printk +EXPORT_SYMBOL vmlinux 0x3ff6e4a0 __traceiter_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x400a9f73 pfifo_fast_ops +EXPORT_SYMBOL vmlinux 0x401d2322 __inet6_lookup_established +EXPORT_SYMBOL vmlinux 0x401da122 bdi_register +EXPORT_SYMBOL vmlinux 0x402861ac sk_capable +EXPORT_SYMBOL vmlinux 0x402a960a jiffies_64 +EXPORT_SYMBOL vmlinux 0x4047af7e filemap_map_pages +EXPORT_SYMBOL vmlinux 0x4062366a dst_release_immediate +EXPORT_SYMBOL vmlinux 0x4074d876 con_set_default_unimap +EXPORT_SYMBOL vmlinux 0x407cd333 tcp_close +EXPORT_SYMBOL vmlinux 0x40814589 fwnode_irq_get_byname +EXPORT_SYMBOL vmlinux 0x40973662 sysctl_udp_mem +EXPORT_SYMBOL vmlinux 0x409873e3 tty_termios_baud_rate +EXPORT_SYMBOL vmlinux 0x40a15183 folio_mapping +EXPORT_SYMBOL vmlinux 0x40a9b349 vzalloc +EXPORT_SYMBOL vmlinux 0x40b77a89 fscrypt_fname_disk_to_usr +EXPORT_SYMBOL vmlinux 0x40bd5689 phy_start +EXPORT_SYMBOL vmlinux 0x40bfc630 __napi_alloc_skb +EXPORT_SYMBOL vmlinux 0x40c7247c si_meminfo +EXPORT_SYMBOL vmlinux 0x40d04664 console_trylock +EXPORT_SYMBOL vmlinux 0x40d59096 unregister_restart_handler +EXPORT_SYMBOL vmlinux 0x40e3ac1d inet_csk_reqsk_queue_drop_and_put +EXPORT_SYMBOL vmlinux 0x410bda7a iucv_if +EXPORT_SYMBOL vmlinux 0x412f893c page_offline_begin +EXPORT_SYMBOL vmlinux 0x4147aa02 __tracepoint_s390_cio_msch +EXPORT_SYMBOL vmlinux 0x4147ad5c scsi_print_sense_hdr +EXPORT_SYMBOL vmlinux 0x41482d8b strndup_user +EXPORT_SYMBOL vmlinux 0x4149b396 s390_isolate_bp_guest +EXPORT_SYMBOL vmlinux 0x41506706 dma_fence_describe +EXPORT_SYMBOL vmlinux 0x41795c89 mr_dump +EXPORT_SYMBOL vmlinux 0x4188d439 neigh_rand_reach_time +EXPORT_SYMBOL vmlinux 0x41894100 simple_nosetlease +EXPORT_SYMBOL vmlinux 0x41b875ac inet_select_addr +EXPORT_SYMBOL vmlinux 0x41c8ee70 kern_sys_bpf +EXPORT_SYMBOL vmlinux 0x41ceab2a invalidate_inode_buffers +EXPORT_SYMBOL vmlinux 0x41cf4eaf phy_mac_interrupt +EXPORT_SYMBOL vmlinux 0x41d31293 invalidate_bdev +EXPORT_SYMBOL vmlinux 0x41d72415 mr_table_dump +EXPORT_SYMBOL vmlinux 0x41de8343 eth_gro_receive +EXPORT_SYMBOL vmlinux 0x41ed6430 filemap_fdatawait_keep_errors +EXPORT_SYMBOL vmlinux 0x41f8052c pcie_set_readrq +EXPORT_SYMBOL vmlinux 0x4207d09a xfrm_state_register_afinfo +EXPORT_SYMBOL vmlinux 0x420964e3 __nla_parse +EXPORT_SYMBOL vmlinux 0x422dfb12 input_grab_device +EXPORT_SYMBOL vmlinux 0x4230a8d7 sg_nents_for_len +EXPORT_SYMBOL vmlinux 0x4236d330 mount_bdev +EXPORT_SYMBOL vmlinux 0x423e6934 input_mt_report_finger_count +EXPORT_SYMBOL vmlinux 0x424077ce locks_delete_block +EXPORT_SYMBOL vmlinux 0x4248ae3c single_task_running +EXPORT_SYMBOL vmlinux 0x424d3620 zlib_inflateIncomp +EXPORT_SYMBOL vmlinux 0x4266aebb jbd2_journal_invalidate_folio +EXPORT_SYMBOL vmlinux 0x42700390 phy_set_asym_pause +EXPORT_SYMBOL vmlinux 0x4279566d __netif_schedule +EXPORT_SYMBOL vmlinux 0x427dbbcc block_write_full_page +EXPORT_SYMBOL vmlinux 0x4288bc07 task_work_add +EXPORT_SYMBOL vmlinux 0x429dcdc0 xa_find_after +EXPORT_SYMBOL vmlinux 0x42ad3bdc proc_mkdir_mode +EXPORT_SYMBOL vmlinux 0x42ae6d99 xa_find +EXPORT_SYMBOL vmlinux 0x42af982f xfrm_policy_register_afinfo +EXPORT_SYMBOL vmlinux 0x42b5aa9d phy_ethtool_ksettings_set +EXPORT_SYMBOL vmlinux 0x42c4050a zstd_init_dstream +EXPORT_SYMBOL vmlinux 0x42d9d371 file_check_and_advance_wb_err +EXPORT_SYMBOL vmlinux 0x42daf4f5 d_move +EXPORT_SYMBOL vmlinux 0x42eb90db tcf_qevent_init +EXPORT_SYMBOL vmlinux 0x42f1b900 fb_pad_unaligned_buffer +EXPORT_SYMBOL vmlinux 0x42fc23ac prepare_creds +EXPORT_SYMBOL vmlinux 0x4302d0eb free_pages +EXPORT_SYMBOL vmlinux 0x431ec3a9 __nla_validate +EXPORT_SYMBOL vmlinux 0x43366593 set_page_dirty_lock +EXPORT_SYMBOL vmlinux 0x4351577a fb_parse_edid +EXPORT_SYMBOL vmlinux 0x4353ac17 dm_get_device +EXPORT_SYMBOL vmlinux 0x43737fd1 __traceiter_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0x437a0d6d __sock_tx_timestamp +EXPORT_SYMBOL vmlinux 0x438610bd security_tun_dev_alloc_security +EXPORT_SYMBOL vmlinux 0x43883701 tcp_filter +EXPORT_SYMBOL vmlinux 0x43988d3a skb_checksum +EXPORT_SYMBOL vmlinux 0x43a0ab79 sock_kfree_s +EXPORT_SYMBOL vmlinux 0x43a4938f vm_get_page_prot +EXPORT_SYMBOL vmlinux 0x43bdfa20 console_irq +EXPORT_SYMBOL vmlinux 0x43cac1e8 __splice_from_pipe +EXPORT_SYMBOL vmlinux 0x43cf3bc3 dql_completed +EXPORT_SYMBOL vmlinux 0x43d22fb9 groups_alloc +EXPORT_SYMBOL vmlinux 0x43d9ba52 fault_in_readable +EXPORT_SYMBOL vmlinux 0x43e2859f input_register_device +EXPORT_SYMBOL vmlinux 0x440a947a __mmap_lock_do_trace_start_locking +EXPORT_SYMBOL vmlinux 0x441b7cfe ipv6_push_frag_opts +EXPORT_SYMBOL vmlinux 0x442e1d7b inet_rtx_syn_ack +EXPORT_SYMBOL vmlinux 0x443847fc try_module_get +EXPORT_SYMBOL vmlinux 0x44450c65 param_get_charp +EXPORT_SYMBOL vmlinux 0x44469a76 crc_ccitt_false_table +EXPORT_SYMBOL vmlinux 0x447e4631 file_path +EXPORT_SYMBOL vmlinux 0x44a03d64 __ip_dev_find +EXPORT_SYMBOL vmlinux 0x44a6e90a irq_cpu_rmap_add +EXPORT_SYMBOL vmlinux 0x44a8e281 sb_set_blocksize +EXPORT_SYMBOL vmlinux 0x44aa20e8 copy_page_from_iter_atomic +EXPORT_SYMBOL vmlinux 0x44aa55f7 vfs_dedupe_file_range +EXPORT_SYMBOL vmlinux 0x44b30fb5 csch +EXPORT_SYMBOL vmlinux 0x44be533f ip_route_me_harder +EXPORT_SYMBOL vmlinux 0x44cd3041 mount_single +EXPORT_SYMBOL vmlinux 0x44d23375 input_inject_event +EXPORT_SYMBOL vmlinux 0x44e9a829 match_token +EXPORT_SYMBOL vmlinux 0x44e9b7d0 __init_waitqueue_head +EXPORT_SYMBOL vmlinux 0x45006cee default_red +EXPORT_SYMBOL vmlinux 0x450d470a pci_disable_link_state +EXPORT_SYMBOL vmlinux 0x45143776 register_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0x452ba683 ipv6_ext_hdr +EXPORT_SYMBOL vmlinux 0x453c8403 pci_msi_enabled +EXPORT_SYMBOL vmlinux 0x45564bb6 tcf_exts_change +EXPORT_SYMBOL vmlinux 0x4574b843 input_register_handle +EXPORT_SYMBOL vmlinux 0x4578f528 __kfifo_to_user +EXPORT_SYMBOL vmlinux 0x458b3c53 __inc_zone_page_state +EXPORT_SYMBOL vmlinux 0x45b9877f prepare_to_wait +EXPORT_SYMBOL vmlinux 0x45d3c773 memdup_user_nul +EXPORT_SYMBOL vmlinux 0x45dfed8b fscrypt_encrypt_pagecache_blocks +EXPORT_SYMBOL vmlinux 0x45e19a0c nf_unregister_sockopt +EXPORT_SYMBOL vmlinux 0x45e97559 security_tun_dev_attach +EXPORT_SYMBOL vmlinux 0x45f17fb6 __var_waitqueue +EXPORT_SYMBOL vmlinux 0x45f81d00 flow_rule_match_enc_ipv4_addrs +EXPORT_SYMBOL vmlinux 0x45fdb146 dma_fence_enable_sw_signaling +EXPORT_SYMBOL vmlinux 0x4600af9e tty_wait_until_sent +EXPORT_SYMBOL vmlinux 0x460f4a34 flow_hash_from_keys +EXPORT_SYMBOL vmlinux 0x461a164f phy_do_ioctl_running +EXPORT_SYMBOL vmlinux 0x461d16ca sg_nents +EXPORT_SYMBOL vmlinux 0x46280bd1 adjust_managed_page_count +EXPORT_SYMBOL vmlinux 0x462f2c0b request_key_tag +EXPORT_SYMBOL vmlinux 0x463fa62a tcf_register_action +EXPORT_SYMBOL vmlinux 0x465576ac dm_kcopyd_copy +EXPORT_SYMBOL vmlinux 0x466c14a7 __delay +EXPORT_SYMBOL vmlinux 0x467a1549 kernel_sendmsg +EXPORT_SYMBOL vmlinux 0x467f1092 tcf_em_unregister +EXPORT_SYMBOL vmlinux 0x46895b1f tty_port_tty_set +EXPORT_SYMBOL vmlinux 0x46aca34a pci_set_power_state +EXPORT_SYMBOL vmlinux 0x46c0dc9d skb_dequeue +EXPORT_SYMBOL vmlinux 0x46c341bf filemap_page_mkwrite +EXPORT_SYMBOL vmlinux 0x46c430e7 blk_rq_init +EXPORT_SYMBOL vmlinux 0x46cd8fce iucv_message_send +EXPORT_SYMBOL vmlinux 0x46d59f7d smp_cpu_mt_shift +EXPORT_SYMBOL vmlinux 0x46dbcb36 phy_modify_paged_changed +EXPORT_SYMBOL vmlinux 0x46dfcbf2 param_get_invbool +EXPORT_SYMBOL vmlinux 0x46e319aa tcw_set_data +EXPORT_SYMBOL vmlinux 0x46e68ccb dma_fence_signal_timestamp_locked +EXPORT_SYMBOL vmlinux 0x46f52e1f param_ops_long +EXPORT_SYMBOL vmlinux 0x471be145 mr_vif_seq_next +EXPORT_SYMBOL vmlinux 0x471c4df5 kset_unregister +EXPORT_SYMBOL vmlinux 0x47392e76 sclp_ocf_cpc_name_copy +EXPORT_SYMBOL vmlinux 0x4740307a phy_start_cable_test +EXPORT_SYMBOL vmlinux 0x47709e42 free_anon_bdev +EXPORT_SYMBOL vmlinux 0x4791c6ea gen_pool_create +EXPORT_SYMBOL vmlinux 0x479c1073 sock_set_reuseport +EXPORT_SYMBOL vmlinux 0x47b8cac9 page_pool_alloc_pages +EXPORT_SYMBOL vmlinux 0x47c07f82 ipv6_select_ident +EXPORT_SYMBOL vmlinux 0x47c20f8a refcount_dec_not_one +EXPORT_SYMBOL vmlinux 0x47c65bfc unregister_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0x47c73607 sock_no_socketpair +EXPORT_SYMBOL vmlinux 0x47ce6a3c vmf_insert_mixed_mkwrite +EXPORT_SYMBOL vmlinux 0x47d199b6 inode_update_time +EXPORT_SYMBOL vmlinux 0x47d547b5 __put_page +EXPORT_SYMBOL vmlinux 0x481814c4 mb_cache_entry_find_next +EXPORT_SYMBOL vmlinux 0x4823819e raw3270_buffer_address +EXPORT_SYMBOL vmlinux 0x4829cf6b fscrypt_enqueue_decrypt_work +EXPORT_SYMBOL vmlinux 0x482b78cb input_register_handler +EXPORT_SYMBOL vmlinux 0x48367fdd folio_unlock +EXPORT_SYMBOL vmlinux 0x48484cf0 skb_unlink +EXPORT_SYMBOL vmlinux 0x484d396b mpage_readahead +EXPORT_SYMBOL vmlinux 0x484f6edf ktime_get_coarse_real_ts64 +EXPORT_SYMBOL vmlinux 0x484fc1cb dma_fence_chain_ops +EXPORT_SYMBOL vmlinux 0x486495af xsk_tx_peek_desc +EXPORT_SYMBOL vmlinux 0x487370a2 fault_in_writeable +EXPORT_SYMBOL vmlinux 0x487aab1d sock_no_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x487db957 do_clone_file_range +EXPORT_SYMBOL vmlinux 0x489108a1 __set_page_dirty_nobuffers +EXPORT_SYMBOL vmlinux 0x489f6e0b rdma_dim +EXPORT_SYMBOL vmlinux 0x48a91171 string_get_size +EXPORT_SYMBOL vmlinux 0x48d03b73 netif_device_attach +EXPORT_SYMBOL vmlinux 0x48d27375 __bitmap_intersects +EXPORT_SYMBOL vmlinux 0x48e1ee3d __napi_schedule_irqoff +EXPORT_SYMBOL vmlinux 0x48f64b18 cdev_del +EXPORT_SYMBOL vmlinux 0x48f6905b zstd_dctx_workspace_bound +EXPORT_SYMBOL vmlinux 0x49045426 icmp_err_convert +EXPORT_SYMBOL vmlinux 0x490dddac dq_data_lock +EXPORT_SYMBOL vmlinux 0x4932011e gen_pool_free_owner +EXPORT_SYMBOL vmlinux 0x495231ea mul_u64_u64_div_u64 +EXPORT_SYMBOL vmlinux 0x495990f3 hdmi_audio_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x49646058 kobject_del +EXPORT_SYMBOL vmlinux 0x49672828 node_states +EXPORT_SYMBOL vmlinux 0x499a1c18 eth_type_trans +EXPORT_SYMBOL vmlinux 0x499efc09 block_read_full_folio +EXPORT_SYMBOL vmlinux 0x49a8455a start_tty +EXPORT_SYMBOL vmlinux 0x49c1a23a inet_csk_accept +EXPORT_SYMBOL vmlinux 0x49cc521b ap_send_online_uevent +EXPORT_SYMBOL vmlinux 0x49cc7ea2 dcb_ieee_getapp_default_prio_mask +EXPORT_SYMBOL vmlinux 0x49cd88a9 dma_fence_chain_find_seqno +EXPORT_SYMBOL vmlinux 0x49e5e7f3 hdmi_drm_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x49ed83ba pci_write_vpd_any +EXPORT_SYMBOL vmlinux 0x49ed9955 ccw_device_halt +EXPORT_SYMBOL vmlinux 0x4a150fba complete_request_key +EXPORT_SYMBOL vmlinux 0x4a22c776 pci_enable_ptm +EXPORT_SYMBOL vmlinux 0x4a572e3a swake_up_all +EXPORT_SYMBOL vmlinux 0x4a96a8eb xxh32_digest +EXPORT_SYMBOL vmlinux 0x4a9f7054 dma_resv_iter_first_unlocked +EXPORT_SYMBOL vmlinux 0x4abc69b1 can_nice +EXPORT_SYMBOL vmlinux 0x4ac552bb dcb_ieee_getapp_mask +EXPORT_SYMBOL vmlinux 0x4ac8de64 phy_remove_link_mode +EXPORT_SYMBOL vmlinux 0x4adb7234 phy_attached_print +EXPORT_SYMBOL vmlinux 0x4af6ddf0 kstrtou16 +EXPORT_SYMBOL vmlinux 0x4b0069f4 nla_put_64bit +EXPORT_SYMBOL vmlinux 0x4b081d00 cred_fscmp +EXPORT_SYMBOL vmlinux 0x4b08dc18 xfrm_input +EXPORT_SYMBOL vmlinux 0x4b0b019e add_device_randomness +EXPORT_SYMBOL vmlinux 0x4b33b4c5 pneigh_enqueue +EXPORT_SYMBOL vmlinux 0x4b369167 __SCK__tp_func_s390_diagnose +EXPORT_SYMBOL vmlinux 0x4b3cbd14 drop_super +EXPORT_SYMBOL vmlinux 0x4b5fd49e dm_kcopyd_do_callback +EXPORT_SYMBOL vmlinux 0x4b64b97a __d_lookup_done +EXPORT_SYMBOL vmlinux 0x4b87be76 input_get_keycode +EXPORT_SYMBOL vmlinux 0x4b8f4e7a down_read_trylock +EXPORT_SYMBOL vmlinux 0x4b9c971f inet_frag_pull_head +EXPORT_SYMBOL vmlinux 0x4b9e6193 ip_mc_leave_group +EXPORT_SYMBOL vmlinux 0x4bb8fae1 skb_vlan_push +EXPORT_SYMBOL vmlinux 0x4bc09630 sock_set_mark +EXPORT_SYMBOL vmlinux 0x4c078dc1 from_kuid +EXPORT_SYMBOL vmlinux 0x4c1425b5 unregister_netdev +EXPORT_SYMBOL vmlinux 0x4c348303 kernel_param_lock +EXPORT_SYMBOL vmlinux 0x4c3edd58 fs_lookup_param +EXPORT_SYMBOL vmlinux 0x4c416eb9 LZ4_decompress_fast +EXPORT_SYMBOL vmlinux 0x4c4c956e nla_memcmp +EXPORT_SYMBOL vmlinux 0x4c522f6f nf_getsockopt +EXPORT_SYMBOL vmlinux 0x4c87478b ccw_device_start_key +EXPORT_SYMBOL vmlinux 0x4c9f234d phy_driver_unregister +EXPORT_SYMBOL vmlinux 0x4ca9c51d napi_enable +EXPORT_SYMBOL vmlinux 0x4cacfb6b deactivate_locked_super +EXPORT_SYMBOL vmlinux 0x4cc7bf0b blk_queue_max_secure_erase_sectors +EXPORT_SYMBOL vmlinux 0x4ccc5204 utf8_strncasecmp_folded +EXPORT_SYMBOL vmlinux 0x4cce0210 mark_buffer_async_write +EXPORT_SYMBOL vmlinux 0x4cec4d3a phy_set_sym_pause +EXPORT_SYMBOL vmlinux 0x4d102125 finish_no_open +EXPORT_SYMBOL vmlinux 0x4d1aa7a3 __sk_mem_raise_allocated +EXPORT_SYMBOL vmlinux 0x4d5a565c km_state_expired +EXPORT_SYMBOL vmlinux 0x4d5fe525 percpu_counter_add_batch +EXPORT_SYMBOL vmlinux 0x4d628e81 xfrm_policy_walk +EXPORT_SYMBOL vmlinux 0x4d7c5a47 tcp_sock_set_user_timeout +EXPORT_SYMBOL vmlinux 0x4d9b652b rb_erase +EXPORT_SYMBOL vmlinux 0x4da0ff73 phy_connect +EXPORT_SYMBOL vmlinux 0x4db1660d phy_get_eee_err +EXPORT_SYMBOL vmlinux 0x4dc35441 pci_disable_device +EXPORT_SYMBOL vmlinux 0x4dda726b match_strlcpy +EXPORT_SYMBOL vmlinux 0x4dea1053 memchr +EXPORT_SYMBOL vmlinux 0x4df2ea84 gen_estimator_read +EXPORT_SYMBOL vmlinux 0x4df83e03 phy_sfp_probe +EXPORT_SYMBOL vmlinux 0x4df88965 scsi_eh_prep_cmnd +EXPORT_SYMBOL vmlinux 0x4e06a594 ip6_frag_init +EXPORT_SYMBOL vmlinux 0x4e14fb7d __traceiter_s390_cio_msch +EXPORT_SYMBOL vmlinux 0x4e2446c2 tcf_get_next_proto +EXPORT_SYMBOL vmlinux 0x4e2aee7b blk_queue_flag_set +EXPORT_SYMBOL vmlinux 0x4e332902 nla_append +EXPORT_SYMBOL vmlinux 0x4e3567f7 match_int +EXPORT_SYMBOL vmlinux 0x4e360f64 set_user_nice +EXPORT_SYMBOL vmlinux 0x4e36cdc4 __ubsan_handle_divrem_overflow +EXPORT_SYMBOL vmlinux 0x4e41212d ccw_device_clear_options +EXPORT_SYMBOL vmlinux 0x4e4924ea init_virt_timer +EXPORT_SYMBOL vmlinux 0x4e538af0 devm_ioremap_resource +EXPORT_SYMBOL vmlinux 0x4e61a7ec param_get_int +EXPORT_SYMBOL vmlinux 0x4e68e9be rb_next_postorder +EXPORT_SYMBOL vmlinux 0x4e6ac1b4 pci_bus_size_bridges +EXPORT_SYMBOL vmlinux 0x4e6e8ea7 fg_console +EXPORT_SYMBOL vmlinux 0x4e84bb09 unregister_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0x4e89ce10 idr_alloc_cyclic +EXPORT_SYMBOL vmlinux 0x4e8e2703 zstd_decompress_dctx +EXPORT_SYMBOL vmlinux 0x4e9e6a05 downgrade_write +EXPORT_SYMBOL vmlinux 0x4eada8f7 security_secid_to_secctx +EXPORT_SYMBOL vmlinux 0x4ec54e78 bitmap_to_arr32 +EXPORT_SYMBOL vmlinux 0x4ecb37b0 __ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0x4eda1da4 __register_nls +EXPORT_SYMBOL vmlinux 0x4ee274bc netif_set_real_num_queues +EXPORT_SYMBOL vmlinux 0x4ef8a56b skb_flow_get_icmp_tci +EXPORT_SYMBOL vmlinux 0x4f06f508 blk_queue_max_segments +EXPORT_SYMBOL vmlinux 0x4f1cd128 security_tun_dev_create +EXPORT_SYMBOL vmlinux 0x4f20d80b zstd_min_clevel +EXPORT_SYMBOL vmlinux 0x4f21b8b2 d_alloc_name +EXPORT_SYMBOL vmlinux 0x4f2cd1b5 __cpcmd +EXPORT_SYMBOL vmlinux 0x4f319a0f path_is_under +EXPORT_SYMBOL vmlinux 0x4f390922 ipv6_chk_addr +EXPORT_SYMBOL vmlinux 0x4f3ecf96 tcp_init_sock +EXPORT_SYMBOL vmlinux 0x4f520597 bdi_alloc +EXPORT_SYMBOL vmlinux 0x4f59fc49 tty_unthrottle +EXPORT_SYMBOL vmlinux 0x4f5aa411 radix_tree_next_chunk +EXPORT_SYMBOL vmlinux 0x4f5f2d83 vfs_tmpfile +EXPORT_SYMBOL vmlinux 0x4f6f897e new_inode +EXPORT_SYMBOL vmlinux 0x4f78d611 dev_set_alias +EXPORT_SYMBOL vmlinux 0x4f82db82 mdio_device_reset +EXPORT_SYMBOL vmlinux 0x4f87b9c8 netif_inherit_tso_max +EXPORT_SYMBOL vmlinux 0x4f97e3a9 vfs_iocb_iter_read +EXPORT_SYMBOL vmlinux 0x4fba9f21 fscrypt_setup_filename +EXPORT_SYMBOL vmlinux 0x4fbe3685 page_pool_release_page +EXPORT_SYMBOL vmlinux 0x4fcee2df request_firmware_nowait +EXPORT_SYMBOL vmlinux 0x4fda3929 __skb_recv_udp +EXPORT_SYMBOL vmlinux 0x4ffb59bf __SCK__tp_func_kfree +EXPORT_SYMBOL vmlinux 0x5003d52a ap_perms_mutex +EXPORT_SYMBOL vmlinux 0x500797c4 dma_resv_init +EXPORT_SYMBOL vmlinux 0x50097088 security_tun_dev_free_security +EXPORT_SYMBOL vmlinux 0x5009c71d glob_match +EXPORT_SYMBOL vmlinux 0x5025ed26 inetdev_by_index +EXPORT_SYMBOL vmlinux 0x50287fb6 skb_realloc_headroom +EXPORT_SYMBOL vmlinux 0x502a8acc get_ccwdev_by_busid +EXPORT_SYMBOL vmlinux 0x50369154 neigh_table_init +EXPORT_SYMBOL vmlinux 0x504eb131 pci_enable_atomic_ops_to_root +EXPORT_SYMBOL vmlinux 0x50624917 sha1_init +EXPORT_SYMBOL vmlinux 0x506718e5 sock_no_connect +EXPORT_SYMBOL vmlinux 0x506dff1a __genradix_free +EXPORT_SYMBOL vmlinux 0x507144f4 lockref_get_not_zero +EXPORT_SYMBOL vmlinux 0x507b25d0 kstrndup +EXPORT_SYMBOL vmlinux 0x50944630 seq_list_start_head_rcu +EXPORT_SYMBOL vmlinux 0x50a4698c fb_videomode_to_modelist +EXPORT_SYMBOL vmlinux 0x50b80992 mb_cache_entry_find_first +EXPORT_SYMBOL vmlinux 0x50be748d security_ib_free_security +EXPORT_SYMBOL vmlinux 0x50c72851 bio_chain +EXPORT_SYMBOL vmlinux 0x50d035c2 vsscanf +EXPORT_SYMBOL vmlinux 0x50dc5c4e flow_rule_match_enc_ipv6_addrs +EXPORT_SYMBOL vmlinux 0x50e06c60 jbd2_journal_finish_inode_data_buffers +EXPORT_SYMBOL vmlinux 0x50e087dc radix_tree_tag_get +EXPORT_SYMBOL vmlinux 0x50e161cd vfs_unlink +EXPORT_SYMBOL vmlinux 0x5107e0f8 pci_bus_type +EXPORT_SYMBOL vmlinux 0x5112b8b6 jbd2_journal_init_jbd_inode +EXPORT_SYMBOL vmlinux 0x5118fd3c __inet_hash +EXPORT_SYMBOL vmlinux 0x511d47d4 rtnl_kfree_skbs +EXPORT_SYMBOL vmlinux 0x513fdc5f param_set_ullong +EXPORT_SYMBOL vmlinux 0x51473316 __cpu_present_mask +EXPORT_SYMBOL vmlinux 0x515230ad genl_unregister_family +EXPORT_SYMBOL vmlinux 0x515296b8 page_mapped +EXPORT_SYMBOL vmlinux 0x515856ee t10_pi_type1_ip +EXPORT_SYMBOL vmlinux 0x51605b6a dev_activate +EXPORT_SYMBOL vmlinux 0x51641162 opal_unlock_from_suspend +EXPORT_SYMBOL vmlinux 0x5182149a nf_ct_get_tuple_skb +EXPORT_SYMBOL vmlinux 0x518bb9e6 diag204 +EXPORT_SYMBOL vmlinux 0x51919d0e __netdev_alloc_skb +EXPORT_SYMBOL vmlinux 0x5199fb2a __skb_vlan_pop +EXPORT_SYMBOL vmlinux 0x51a7662f _dev_emerg +EXPORT_SYMBOL vmlinux 0x51a99d4f set_posix_acl +EXPORT_SYMBOL vmlinux 0x51ae229c sock_enable_timestamps +EXPORT_SYMBOL vmlinux 0x51af3202 zerocopy_sg_from_iter +EXPORT_SYMBOL vmlinux 0x51c2c096 generic_permission +EXPORT_SYMBOL vmlinux 0x51cb9ed1 xp_free +EXPORT_SYMBOL vmlinux 0x51d5a430 in6_dev_finish_destroy +EXPORT_SYMBOL vmlinux 0x521769bb crypto_sha512_update +EXPORT_SYMBOL vmlinux 0x521b178e read_cache_page_gfp +EXPORT_SYMBOL vmlinux 0x521edcd2 simple_statfs +EXPORT_SYMBOL vmlinux 0x5220b195 dquot_get_next_dqblk +EXPORT_SYMBOL vmlinux 0x522541ec pci_write_config_word +EXPORT_SYMBOL vmlinux 0x52500b86 bio_copy_data +EXPORT_SYMBOL vmlinux 0x5253d9de napi_schedule_prep +EXPORT_SYMBOL vmlinux 0x5256367d ___pskb_trim +EXPORT_SYMBOL vmlinux 0x525c47ef xfrm6_rcv_tnl +EXPORT_SYMBOL vmlinux 0x5263fb92 skb_eth_gso_segment +EXPORT_SYMBOL vmlinux 0x527503dc scsi_unblock_requests +EXPORT_SYMBOL vmlinux 0x527e8c3d inet6_csk_route_req +EXPORT_SYMBOL vmlinux 0x52819990 kernel_cpumcf_alert +EXPORT_SYMBOL vmlinux 0x52a94400 tcp_make_synack +EXPORT_SYMBOL vmlinux 0x52c4dfd1 padata_alloc_shell +EXPORT_SYMBOL vmlinux 0x52c7ab2f tty_port_put +EXPORT_SYMBOL vmlinux 0x52ccc978 noop_fsync +EXPORT_SYMBOL vmlinux 0x52cd1625 register_console +EXPORT_SYMBOL vmlinux 0x52d717da xz_dec_init +EXPORT_SYMBOL vmlinux 0x52db1a14 zstd_init_dctx +EXPORT_SYMBOL vmlinux 0x52db40b0 kmem_cache_shrink +EXPORT_SYMBOL vmlinux 0x530bbc96 __hsiphash_unaligned +EXPORT_SYMBOL vmlinux 0x531625b6 wait_for_completion +EXPORT_SYMBOL vmlinux 0x53303cc6 set_bh_page +EXPORT_SYMBOL vmlinux 0x5338184f ethtool_sprintf +EXPORT_SYMBOL vmlinux 0x534ccc50 get_task_cred +EXPORT_SYMBOL vmlinux 0x53679006 tcp_child_process +EXPORT_SYMBOL vmlinux 0x537cbed0 find_get_pages_contig +EXPORT_SYMBOL vmlinux 0x537cef36 flow_indr_dev_register +EXPORT_SYMBOL vmlinux 0x538e72c2 generic_pipe_buf_release +EXPORT_SYMBOL vmlinux 0x53a520f4 ap_queue_init_reply +EXPORT_SYMBOL vmlinux 0x53c24b01 mutex_is_locked +EXPORT_SYMBOL vmlinux 0x53c8b67b ethtool_rx_flow_rule_create +EXPORT_SYMBOL vmlinux 0x53cf3347 folio_end_private_2 +EXPORT_SYMBOL vmlinux 0x53d617b4 phy_ethtool_set_eee +EXPORT_SYMBOL vmlinux 0x53dfa00b grab_cache_page_write_begin +EXPORT_SYMBOL vmlinux 0x53fd6dc9 dma_fence_signal_locked +EXPORT_SYMBOL vmlinux 0x540862e2 diag14 +EXPORT_SYMBOL vmlinux 0x542ad1ab t10_pi_type3_crc +EXPORT_SYMBOL vmlinux 0x543ef284 seq_hlist_start +EXPORT_SYMBOL vmlinux 0x54501538 xfrm_lookup_with_ifid +EXPORT_SYMBOL vmlinux 0x5459ac9a iucv_bus +EXPORT_SYMBOL vmlinux 0x545b4d47 regset_get +EXPORT_SYMBOL vmlinux 0x546889ed skb_flow_dissect_meta +EXPORT_SYMBOL vmlinux 0x5474ed34 reuseport_add_sock +EXPORT_SYMBOL vmlinux 0x548d17c4 airq_iv_alloc +EXPORT_SYMBOL vmlinux 0x54a082b4 flow_block_cb_lookup +EXPORT_SYMBOL vmlinux 0x54b1fac6 __ubsan_handle_load_invalid_value +EXPORT_SYMBOL vmlinux 0x54df0aff simple_dir_inode_operations +EXPORT_SYMBOL vmlinux 0x54e6fcdd net_enable_timestamp +EXPORT_SYMBOL vmlinux 0x5506b8f7 netlbl_bitmap_setbit +EXPORT_SYMBOL vmlinux 0x5513aab0 generic_fill_statx_attr +EXPORT_SYMBOL vmlinux 0x551668bc kstrtoull_from_user +EXPORT_SYMBOL vmlinux 0x551bd071 __rb_erase_color +EXPORT_SYMBOL vmlinux 0x552556a8 gen_pool_dma_alloc_algo +EXPORT_SYMBOL vmlinux 0x552c8681 bdevname +EXPORT_SYMBOL vmlinux 0x552d839d blk_queue_chunk_sectors +EXPORT_SYMBOL vmlinux 0x5539faf6 __scsi_device_lookup +EXPORT_SYMBOL vmlinux 0x553d9c5b simple_dir_operations +EXPORT_SYMBOL vmlinux 0x554ae3a4 irq_poll_sched +EXPORT_SYMBOL vmlinux 0x555ccb97 up_read +EXPORT_SYMBOL vmlinux 0x55773cb0 bdev_check_media_change +EXPORT_SYMBOL vmlinux 0x557845e4 dquot_file_open +EXPORT_SYMBOL vmlinux 0x557d2e55 folio_migrate_flags +EXPORT_SYMBOL vmlinux 0x558b281d aes_expandkey +EXPORT_SYMBOL vmlinux 0x558f4dbb inet_ioctl +EXPORT_SYMBOL vmlinux 0x55a3f3e0 sclp_add_request +EXPORT_SYMBOL vmlinux 0x55be8c7b param_get_hexint +EXPORT_SYMBOL vmlinux 0x55d63108 kstrtol_from_user +EXPORT_SYMBOL vmlinux 0x55e31703 ethtool_convert_link_mode_to_legacy_u32 +EXPORT_SYMBOL vmlinux 0x55e93966 phy_suspend +EXPORT_SYMBOL vmlinux 0x55eccdf5 mod_virt_timer +EXPORT_SYMBOL vmlinux 0x55f309e9 inet_add_protocol +EXPORT_SYMBOL vmlinux 0x55fbaf1d smsg_unregister_callback +EXPORT_SYMBOL vmlinux 0x55fd18a3 watchdog_unregister_governor +EXPORT_SYMBOL vmlinux 0x560376da pcix_set_mmrbc +EXPORT_SYMBOL vmlinux 0x5625b8e0 unmap_mapping_range +EXPORT_SYMBOL vmlinux 0x562b9be5 ap_test_config_ctrl_domain +EXPORT_SYMBOL vmlinux 0x5635a60a vmalloc_user +EXPORT_SYMBOL vmlinux 0x564405cb __cpu_online_mask +EXPORT_SYMBOL vmlinux 0x56470118 __warn_printk +EXPORT_SYMBOL vmlinux 0x565671df posix_acl_to_xattr +EXPORT_SYMBOL vmlinux 0x566094c8 irq_set_chip +EXPORT_SYMBOL vmlinux 0x5660f88f raw3270_add_view +EXPORT_SYMBOL vmlinux 0x566fc490 vm_insert_page +EXPORT_SYMBOL vmlinux 0x56802ae8 rps_cpu_mask +EXPORT_SYMBOL vmlinux 0x56c3db64 __tracepoint_kmalloc +EXPORT_SYMBOL vmlinux 0x56c8799d scsi_kunmap_atomic_sg +EXPORT_SYMBOL vmlinux 0x56d50988 tty_unregister_device +EXPORT_SYMBOL vmlinux 0x56d78870 chsc +EXPORT_SYMBOL vmlinux 0x56fbacc3 make_kprojid +EXPORT_SYMBOL vmlinux 0x56fe48cb vlan_dev_vlan_id +EXPORT_SYMBOL vmlinux 0x571ae438 md_integrity_add_rdev +EXPORT_SYMBOL vmlinux 0x571d3635 config_item_get_unless_zero +EXPORT_SYMBOL vmlinux 0x572096fb devm_ioremap +EXPORT_SYMBOL vmlinux 0x57247306 input_get_timestamp +EXPORT_SYMBOL vmlinux 0x574c0d42 xp_dma_map +EXPORT_SYMBOL vmlinux 0x574c2e74 bitmap_release_region +EXPORT_SYMBOL vmlinux 0x5755bdb5 jbd2_journal_begin_ordered_truncate +EXPORT_SYMBOL vmlinux 0x57674fd7 __sw_hweight16 +EXPORT_SYMBOL vmlinux 0x5785144d phy_driver_register +EXPORT_SYMBOL vmlinux 0x57a8d85f ww_mutex_trylock +EXPORT_SYMBOL vmlinux 0x57b4b9a1 register_external_irq +EXPORT_SYMBOL vmlinux 0x57bb64d6 scm_detach_fds +EXPORT_SYMBOL vmlinux 0x57c615ec cpumask_any_but +EXPORT_SYMBOL vmlinux 0x57f18433 swake_up_one +EXPORT_SYMBOL vmlinux 0x5804c56e param_ops_short +EXPORT_SYMBOL vmlinux 0x5818fe3c posix_acl_from_mode +EXPORT_SYMBOL vmlinux 0x581f98da zlib_inflate +EXPORT_SYMBOL vmlinux 0x582b6275 xfrm_if_unregister_cb +EXPORT_SYMBOL vmlinux 0x58302ea5 pskb_extract +EXPORT_SYMBOL vmlinux 0x587b0954 kvasprintf +EXPORT_SYMBOL vmlinux 0x5888c6cd jbd2_journal_destroy +EXPORT_SYMBOL vmlinux 0x58929748 ip_do_fragment +EXPORT_SYMBOL vmlinux 0x589911d5 md_handle_request +EXPORT_SYMBOL vmlinux 0x58acf24b mdiobus_register_board_info +EXPORT_SYMBOL vmlinux 0x58b4645c dev_close_many +EXPORT_SYMBOL vmlinux 0x58b73bc7 match_wildcard +EXPORT_SYMBOL vmlinux 0x58cd1b54 string_escape_mem +EXPORT_SYMBOL vmlinux 0x58e30690 blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0x58e3306d bit_wait_io +EXPORT_SYMBOL vmlinux 0x58eae9ec gen_pool_dma_zalloc_align +EXPORT_SYMBOL vmlinux 0x58fbc98d skb_tunnel_check_pmtu +EXPORT_SYMBOL vmlinux 0x590da2bb fscrypt_decrypt_block_inplace +EXPORT_SYMBOL vmlinux 0x59164d75 elevator_alloc +EXPORT_SYMBOL vmlinux 0x5917653a netdev_sk_get_lowest_dev +EXPORT_SYMBOL vmlinux 0x593ca230 mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x594aba7f __block_write_full_page +EXPORT_SYMBOL vmlinux 0x5983486f cdrom_release +EXPORT_SYMBOL vmlinux 0x5985f3e4 rtnl_create_link +EXPORT_SYMBOL vmlinux 0x598f0a95 udplite_table +EXPORT_SYMBOL vmlinux 0x5994b0c1 param_set_long +EXPORT_SYMBOL vmlinux 0x59a9d83d pskb_expand_head +EXPORT_SYMBOL vmlinux 0x59abecd3 end_buffer_read_sync +EXPORT_SYMBOL vmlinux 0x59b4ac3e tcp_memory_allocated +EXPORT_SYMBOL vmlinux 0x59c96d81 kthread_bind +EXPORT_SYMBOL vmlinux 0x59d83e51 generic_shutdown_super +EXPORT_SYMBOL vmlinux 0x59dc71d1 ip6_err_gen_icmpv6_unreach +EXPORT_SYMBOL vmlinux 0x59de2ed4 debug_exception_common +EXPORT_SYMBOL vmlinux 0x59e1d90c scsi_print_command +EXPORT_SYMBOL vmlinux 0x59ec5524 tcf_action_update_hw_stats +EXPORT_SYMBOL vmlinux 0x5a082401 d_add_ci +EXPORT_SYMBOL vmlinux 0x5a0b73d0 zlib_deflateInit2 +EXPORT_SYMBOL vmlinux 0x5a0dfd44 platform_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x5a10f98e del_virt_timer +EXPORT_SYMBOL vmlinux 0x5a1a90f7 ccw_device_get_ciw +EXPORT_SYMBOL vmlinux 0x5a449467 stream_open +EXPORT_SYMBOL vmlinux 0x5a4d313e gf128mul_4k_lle +EXPORT_SYMBOL vmlinux 0x5a5e7ea3 simple_read_from_buffer +EXPORT_SYMBOL vmlinux 0x5a630934 free_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x5a6e67f6 ethtool_op_get_ts_info +EXPORT_SYMBOL vmlinux 0x5a7b6360 ap_queue_message +EXPORT_SYMBOL vmlinux 0x5a7ed19f audit_log_start +EXPORT_SYMBOL vmlinux 0x5a87d350 blk_mq_destroy_queue +EXPORT_SYMBOL vmlinux 0x5a8d8e5c cdev_add +EXPORT_SYMBOL vmlinux 0x5a99a0d7 flow_get_u32_dst +EXPORT_SYMBOL vmlinux 0x5aa44d2e clear_inode +EXPORT_SYMBOL vmlinux 0x5ac53902 kernel_param_unlock +EXPORT_SYMBOL vmlinux 0x5ae1154b __traceiter_kfree +EXPORT_SYMBOL vmlinux 0x5aec33d8 kmem_cache_alloc_bulk +EXPORT_SYMBOL vmlinux 0x5aedcbce add_to_page_cache_lru +EXPORT_SYMBOL vmlinux 0x5afba951 hmm_range_fault +EXPORT_SYMBOL vmlinux 0x5afc902b vfs_statfs +EXPORT_SYMBOL vmlinux 0x5b0156ed cdev_set_parent +EXPORT_SYMBOL vmlinux 0x5b09a617 kmem_cache_free_bulk +EXPORT_SYMBOL vmlinux 0x5b163a15 jbd2_trans_will_send_data_barrier +EXPORT_SYMBOL vmlinux 0x5b2b28ab tcw_add_tidaw +EXPORT_SYMBOL vmlinux 0x5b33b485 pagecache_isize_extended +EXPORT_SYMBOL vmlinux 0x5b40a0b5 send_sig_mceerr +EXPORT_SYMBOL vmlinux 0x5b4d6b3c input_event +EXPORT_SYMBOL vmlinux 0x5b604bd1 segment_type +EXPORT_SYMBOL vmlinux 0x5b6dc921 __filemap_get_folio +EXPORT_SYMBOL vmlinux 0x5b745a3d xa_load +EXPORT_SYMBOL vmlinux 0x5b7a779e pcim_iomap_regions_request_all +EXPORT_SYMBOL vmlinux 0x5b81ab9e md_error +EXPORT_SYMBOL vmlinux 0x5b8e2be5 fib_notifier_ops_unregister +EXPORT_SYMBOL vmlinux 0x5bc2b096 kfree_skb_list_reason +EXPORT_SYMBOL vmlinux 0x5bd4ff88 flow_action_cookie_create +EXPORT_SYMBOL vmlinux 0x5bdb7603 sock_copy_user_timeval +EXPORT_SYMBOL vmlinux 0x5bdcabe7 gen_pool_first_fit_order_align +EXPORT_SYMBOL vmlinux 0x5be63c5b crc32c_csum_stub +EXPORT_SYMBOL vmlinux 0x5c0716d4 arp_xmit +EXPORT_SYMBOL vmlinux 0x5c2ab814 config_item_put +EXPORT_SYMBOL vmlinux 0x5c30ba05 tcp_v4_md5_hash_skb +EXPORT_SYMBOL vmlinux 0x5c3c7387 kstrtoull +EXPORT_SYMBOL vmlinux 0x5c487c37 migrate_page +EXPORT_SYMBOL vmlinux 0x5c4a4e44 path_is_mountpoint +EXPORT_SYMBOL vmlinux 0x5c4a80d2 scsi_device_resume +EXPORT_SYMBOL vmlinux 0x5c503f5d netdev_get_xmit_slave +EXPORT_SYMBOL vmlinux 0x5c7e2dd9 cdrom_mode_select +EXPORT_SYMBOL vmlinux 0x5c812dd2 f_setown +EXPORT_SYMBOL vmlinux 0x5cacc7c4 md_bitmap_end_sync +EXPORT_SYMBOL vmlinux 0x5cb0d3da __sk_mem_reduce_allocated +EXPORT_SYMBOL vmlinux 0x5cb4090a raw3270_request_set_cmd +EXPORT_SYMBOL vmlinux 0x5cbdc84c xfrm_state_walk +EXPORT_SYMBOL vmlinux 0x5cc32bdc bitmap_copy_le +EXPORT_SYMBOL vmlinux 0x5cd6f99b completion_done +EXPORT_SYMBOL vmlinux 0x5cd9e04d thaw_bdev +EXPORT_SYMBOL vmlinux 0x5cdb137b ip6_fraglist_init +EXPORT_SYMBOL vmlinux 0x5ce21e40 pci_scan_slot +EXPORT_SYMBOL vmlinux 0x5ce5a70d mpage_writepages +EXPORT_SYMBOL vmlinux 0x5cf53ce2 input_free_minor +EXPORT_SYMBOL vmlinux 0x5cfed871 dec_zone_page_state +EXPORT_SYMBOL vmlinux 0x5d16d8cd radix_tree_replace_slot +EXPORT_SYMBOL vmlinux 0x5d1b8272 nonseekable_open +EXPORT_SYMBOL vmlinux 0x5d3f1694 input_mt_sync_frame +EXPORT_SYMBOL vmlinux 0x5d44dfdc genl_notify +EXPORT_SYMBOL vmlinux 0x5d49aabc init_wait_var_entry +EXPORT_SYMBOL vmlinux 0x5d679bec input_flush_device +EXPORT_SYMBOL vmlinux 0x5d7dee6b strscpy_pad +EXPORT_SYMBOL vmlinux 0x5d95f99c __xfrm_decode_session +EXPORT_SYMBOL vmlinux 0x5da84b31 unregister_adapter_interrupt +EXPORT_SYMBOL vmlinux 0x5dd22874 kbd_ioctl +EXPORT_SYMBOL vmlinux 0x5ddf7d37 con_is_visible +EXPORT_SYMBOL vmlinux 0x5df756d7 __crypto_memneq +EXPORT_SYMBOL vmlinux 0x5e0ccb9f sha1_transform +EXPORT_SYMBOL vmlinux 0x5e0f2bc4 __vfs_getxattr +EXPORT_SYMBOL vmlinux 0x5e159d2b eth_header_parse_protocol +EXPORT_SYMBOL vmlinux 0x5e218c0b config_group_init +EXPORT_SYMBOL vmlinux 0x5e21cb82 ap_send +EXPORT_SYMBOL vmlinux 0x5e21cc9b jbd2_journal_start +EXPORT_SYMBOL vmlinux 0x5e373fb4 gf128mul_64k_bbe +EXPORT_SYMBOL vmlinux 0x5e411534 genphy_handle_interrupt_no_ack +EXPORT_SYMBOL vmlinux 0x5e4ecca4 ip6_output +EXPORT_SYMBOL vmlinux 0x5e61e55a tcp_recvmsg +EXPORT_SYMBOL vmlinux 0x5e75da9c __sock_create +EXPORT_SYMBOL vmlinux 0x5e7c527e find_inode_by_ino_rcu +EXPORT_SYMBOL vmlinux 0x5e82a5c2 registered_fb +EXPORT_SYMBOL vmlinux 0x5e86171d raw3270_unregister_notifier +EXPORT_SYMBOL vmlinux 0x5e95b1cd current_umask +EXPORT_SYMBOL vmlinux 0x5ea31004 arch_spin_trylock_retry +EXPORT_SYMBOL vmlinux 0x5eb24829 dm_shift_arg +EXPORT_SYMBOL vmlinux 0x5ec4aee6 put_sg_io_hdr +EXPORT_SYMBOL vmlinux 0x5ec82f9f tcf_exts_validate_ex +EXPORT_SYMBOL vmlinux 0x5ecfeec6 __per_cpu_offset +EXPORT_SYMBOL vmlinux 0x5ed040b0 pm_set_vt_switch +EXPORT_SYMBOL vmlinux 0x5ed90adc int_to_scsilun +EXPORT_SYMBOL vmlinux 0x5ed95944 mr_vif_seq_idx +EXPORT_SYMBOL vmlinux 0x5efdd68b __tracepoint_mmap_lock_released +EXPORT_SYMBOL vmlinux 0x5f039ebd qdisc_hash_add +EXPORT_SYMBOL vmlinux 0x5f05625d fs_context_for_submount +EXPORT_SYMBOL vmlinux 0x5f098b2a in6addr_interfacelocal_allrouters +EXPORT_SYMBOL vmlinux 0x5f11c748 nmi_panic +EXPORT_SYMBOL vmlinux 0x5f2ba55e security_req_classify_flow +EXPORT_SYMBOL vmlinux 0x5f4f954b dquot_writeback_dquots +EXPORT_SYMBOL vmlinux 0x5f539c8e scsi_host_get +EXPORT_SYMBOL vmlinux 0x5f5441c8 __ubsan_handle_alignment_assumption +EXPORT_SYMBOL vmlinux 0x5f6b7aae ll_rw_block +EXPORT_SYMBOL vmlinux 0x5f702d9b security_sb_set_mnt_opts +EXPORT_SYMBOL vmlinux 0x5f9619a3 redirty_page_for_writepage +EXPORT_SYMBOL vmlinux 0x5f98bdb6 nf_hooks_needed +EXPORT_SYMBOL vmlinux 0x5f9ede6c proc_dostring +EXPORT_SYMBOL vmlinux 0x5fa038e1 d_rehash +EXPORT_SYMBOL vmlinux 0x5fc3a00f input_mt_init_slots +EXPORT_SYMBOL vmlinux 0x5fc3d43e flow_block_cb_free +EXPORT_SYMBOL vmlinux 0x5fca0cbc input_close_device +EXPORT_SYMBOL vmlinux 0x5fd2298e strnstr +EXPORT_SYMBOL vmlinux 0x5fdf5069 filemap_fdatawrite_wbc +EXPORT_SYMBOL vmlinux 0x5fe447a9 bitmap_print_list_to_buf +EXPORT_SYMBOL vmlinux 0x5fef520c jbd2_fc_end_commit_fallback +EXPORT_SYMBOL vmlinux 0x5fffe6da bpf_map_get +EXPORT_SYMBOL vmlinux 0x6005c351 zpool_has_pool +EXPORT_SYMBOL vmlinux 0x600683d3 do_unblank_screen +EXPORT_SYMBOL vmlinux 0x6019e8d7 security_sctp_assoc_established +EXPORT_SYMBOL vmlinux 0x601f665f dm_io_client_create +EXPORT_SYMBOL vmlinux 0x6032531f find_get_pages_range_tag +EXPORT_SYMBOL vmlinux 0x60352082 register_inet6addr_notifier +EXPORT_SYMBOL vmlinux 0x605790dc fiemap_fill_next_extent +EXPORT_SYMBOL vmlinux 0x605fed1e bio_init +EXPORT_SYMBOL vmlinux 0x607a69c3 tcp_splice_read +EXPORT_SYMBOL vmlinux 0x6091b333 unregister_chrdev_region +EXPORT_SYMBOL vmlinux 0x609bcd98 in6_pton +EXPORT_SYMBOL vmlinux 0x609f1c7e synchronize_net +EXPORT_SYMBOL vmlinux 0x60a8145b phy_disconnect +EXPORT_SYMBOL vmlinux 0x60c311d6 raw3270_start +EXPORT_SYMBOL vmlinux 0x60c5b4fc udp6_seq_ops +EXPORT_SYMBOL vmlinux 0x60cf0d39 kstrtoint_from_user +EXPORT_SYMBOL vmlinux 0x60d6fed8 seq_put_decimal_ull +EXPORT_SYMBOL vmlinux 0x61028590 kernel_sock_shutdown +EXPORT_SYMBOL vmlinux 0x6108288f complete_all +EXPORT_SYMBOL vmlinux 0x610ac13e pagecache_get_page +EXPORT_SYMBOL vmlinux 0x61153c22 __skb_wait_for_more_packets +EXPORT_SYMBOL vmlinux 0x6128b5fc __printk_ratelimit +EXPORT_SYMBOL vmlinux 0x61347034 mb_cache_entry_delete_or_get +EXPORT_SYMBOL vmlinux 0x614e76c5 config_item_init_type_name +EXPORT_SYMBOL vmlinux 0x615911d7 __bitmap_set +EXPORT_SYMBOL vmlinux 0x61693e9a __skb_checksum +EXPORT_SYMBOL vmlinux 0x61731c00 tcf_exts_terse_dump +EXPORT_SYMBOL vmlinux 0x61848e8d folio_add_lru +EXPORT_SYMBOL vmlinux 0x6185457e scsi_add_host_with_dma +EXPORT_SYMBOL vmlinux 0x6188a420 key_revoke +EXPORT_SYMBOL vmlinux 0x618f235b insert_inode_locked4 +EXPORT_SYMBOL vmlinux 0x61986b8e __nla_put_nohdr +EXPORT_SYMBOL vmlinux 0x619a5d6e bio_uninit +EXPORT_SYMBOL vmlinux 0x619a8678 d_find_any_alias +EXPORT_SYMBOL vmlinux 0x61b7b126 simple_strtoull +EXPORT_SYMBOL vmlinux 0x61cbcd6e md_check_no_bitmap +EXPORT_SYMBOL vmlinux 0x61d07bc9 skb_copy_and_csum_bits +EXPORT_SYMBOL vmlinux 0x61e272c9 sha256_final +EXPORT_SYMBOL vmlinux 0x61e90ecb param_set_short +EXPORT_SYMBOL vmlinux 0x61ea189b fb_pad_aligned_buffer +EXPORT_SYMBOL vmlinux 0x621e07d3 kmem_cache_size +EXPORT_SYMBOL vmlinux 0x62214ecf inc_nlink +EXPORT_SYMBOL vmlinux 0x6228c21f smp_call_function_single +EXPORT_SYMBOL vmlinux 0x623646a3 flow_rule_match_enc_ports +EXPORT_SYMBOL vmlinux 0x623deeb6 xfrm_sad_getinfo +EXPORT_SYMBOL vmlinux 0x624c45c1 trace_print_array_seq +EXPORT_SYMBOL vmlinux 0x624f5ab3 generic_cont_expand_simple +EXPORT_SYMBOL vmlinux 0x62518341 alloc_pages +EXPORT_SYMBOL vmlinux 0x62596993 jbd2_journal_forget +EXPORT_SYMBOL vmlinux 0x626925c9 sock_release +EXPORT_SYMBOL vmlinux 0x62737e1d sock_unregister +EXPORT_SYMBOL vmlinux 0x6274f5af vfs_readlink +EXPORT_SYMBOL vmlinux 0x627bc1c4 smp_ctl_set_clear_bit +EXPORT_SYMBOL vmlinux 0x627cd9df sock_efree +EXPORT_SYMBOL vmlinux 0x62849ac7 dev_valid_name +EXPORT_SYMBOL vmlinux 0x62ab7f84 dev_addr_mod +EXPORT_SYMBOL vmlinux 0x62bd1f37 dget_parent +EXPORT_SYMBOL vmlinux 0x62c04da6 inet_accept +EXPORT_SYMBOL vmlinux 0x62d47a92 __dev_get_by_flags +EXPORT_SYMBOL vmlinux 0x62d62e53 netpoll_poll_dev +EXPORT_SYMBOL vmlinux 0x62ec56a1 netif_receive_skb +EXPORT_SYMBOL vmlinux 0x630a8f8d bd_abort_claiming +EXPORT_SYMBOL vmlinux 0x630af2b9 truncate_inode_pages_range +EXPORT_SYMBOL vmlinux 0x6315c42c zstd_get_params +EXPORT_SYMBOL vmlinux 0x63187451 pcie_aspm_support_enabled +EXPORT_SYMBOL vmlinux 0x631d06aa cpu_rmap_put +EXPORT_SYMBOL vmlinux 0x63296a88 nf_unregister_net_hooks +EXPORT_SYMBOL vmlinux 0x6340001a inet_get_local_port_range +EXPORT_SYMBOL vmlinux 0x63448377 skb_put +EXPORT_SYMBOL vmlinux 0x635264db may_setattr +EXPORT_SYMBOL vmlinux 0x635b6fc7 phy_ethtool_ksettings_get +EXPORT_SYMBOL vmlinux 0x63682b3d inode_newsize_ok +EXPORT_SYMBOL vmlinux 0x636ace72 dma_fence_signal_timestamp +EXPORT_SYMBOL vmlinux 0x636b8c86 __do_once_slow_done +EXPORT_SYMBOL vmlinux 0x6371e098 cio_irb +EXPORT_SYMBOL vmlinux 0x638174e1 get_vm_area +EXPORT_SYMBOL vmlinux 0x639acf83 pipe_unlock +EXPORT_SYMBOL vmlinux 0x63a58370 flow_action_cookie_destroy +EXPORT_SYMBOL vmlinux 0x63a64df9 __SCK__tp_func_s390_cio_msch +EXPORT_SYMBOL vmlinux 0x63a7c28c bitmap_find_free_region +EXPORT_SYMBOL vmlinux 0x63c4d61f __bitmap_weight +EXPORT_SYMBOL vmlinux 0x63d05910 pci_dev_put +EXPORT_SYMBOL vmlinux 0x63d276a6 ccw_device_start +EXPORT_SYMBOL vmlinux 0x63dbed84 blk_mq_start_hw_queues +EXPORT_SYMBOL vmlinux 0x63e2c915 seq_vprintf +EXPORT_SYMBOL vmlinux 0x63eb9355 panic_blink +EXPORT_SYMBOL vmlinux 0x63f6c8a0 pci_free_irq +EXPORT_SYMBOL vmlinux 0x640335b5 vfs_path_lookup +EXPORT_SYMBOL vmlinux 0x64070086 register_filesystem +EXPORT_SYMBOL vmlinux 0x64127b67 bitmap_find_next_zero_area_off +EXPORT_SYMBOL vmlinux 0x643e2ccd skb_try_coalesce +EXPORT_SYMBOL vmlinux 0x644a4d12 security_inode_setsecctx +EXPORT_SYMBOL vmlinux 0x6458f1e7 zstd_init_cstream +EXPORT_SYMBOL vmlinux 0x64596da7 __pskb_pull_tail +EXPORT_SYMBOL vmlinux 0x646e20df cpumask_any_and_distribute +EXPORT_SYMBOL vmlinux 0x647cdf4c pci_remove_bus +EXPORT_SYMBOL vmlinux 0x6481ffe0 hsiphash_1u32 +EXPORT_SYMBOL vmlinux 0x64846c50 kmem_cache_create_usercopy +EXPORT_SYMBOL vmlinux 0x648a9938 scsi_report_device_reset +EXPORT_SYMBOL vmlinux 0x648bfe4a skb_dequeue_tail +EXPORT_SYMBOL vmlinux 0x648eb59d gc_inflight_list +EXPORT_SYMBOL vmlinux 0x64a9c928 default_blu +EXPORT_SYMBOL vmlinux 0x64e3f3cb get_acl +EXPORT_SYMBOL vmlinux 0x64eec5d0 simple_setattr +EXPORT_SYMBOL vmlinux 0x64f4fdbd xsk_clear_rx_need_wakeup +EXPORT_SYMBOL vmlinux 0x6513a3fa fb_get_color_depth +EXPORT_SYMBOL vmlinux 0x6513df16 km_policy_notify +EXPORT_SYMBOL vmlinux 0x6514c1e6 flow_get_u32_src +EXPORT_SYMBOL vmlinux 0x651a4139 test_taint +EXPORT_SYMBOL vmlinux 0x652032cb mac_pton +EXPORT_SYMBOL vmlinux 0x6524b910 neigh_seq_stop +EXPORT_SYMBOL vmlinux 0x65355dad clocksource_change_rating +EXPORT_SYMBOL vmlinux 0x653e272c poll_initwait +EXPORT_SYMBOL vmlinux 0x65408378 zlib_inflate_blob +EXPORT_SYMBOL vmlinux 0x65455723 blk_mq_end_request +EXPORT_SYMBOL vmlinux 0x655036aa pci_dev_get +EXPORT_SYMBOL vmlinux 0x6553ff39 mr_fill_mroute +EXPORT_SYMBOL vmlinux 0x658ce1a8 xxh64_reset +EXPORT_SYMBOL vmlinux 0x658d518a ip_getsockopt +EXPORT_SYMBOL vmlinux 0x659ded26 xfrm_flush_gc +EXPORT_SYMBOL vmlinux 0x65abf261 truncate_inode_pages +EXPORT_SYMBOL vmlinux 0x65c3ffe8 qdisc_create_dflt +EXPORT_SYMBOL vmlinux 0x65c6b1d7 netdev_has_upper_dev +EXPORT_SYMBOL vmlinux 0x65dccf13 xz_dec_end +EXPORT_SYMBOL vmlinux 0x65ed5e9d pci_release_resource +EXPORT_SYMBOL vmlinux 0x66009d02 page_pool_put_defragged_page +EXPORT_SYMBOL vmlinux 0x6623f2e3 vmalloc_array +EXPORT_SYMBOL vmlinux 0x664fb992 skb_expand_head +EXPORT_SYMBOL vmlinux 0x665e2513 zstd_max_clevel +EXPORT_SYMBOL vmlinux 0x66609ee2 skb_seq_read +EXPORT_SYMBOL vmlinux 0x66628bf3 ip_tunnel_metadata_cnt +EXPORT_SYMBOL vmlinux 0x666a8b29 ip_defrag +EXPORT_SYMBOL vmlinux 0x6673f96d xxh32_reset +EXPORT_SYMBOL vmlinux 0x66922c87 put_watch_queue +EXPORT_SYMBOL vmlinux 0x6692e0a8 genphy_check_and_restart_aneg +EXPORT_SYMBOL vmlinux 0x669531ab fwnode_get_phy_id +EXPORT_SYMBOL vmlinux 0x66a04e5f inode_owner_or_capable +EXPORT_SYMBOL vmlinux 0x66b3c522 xfrm_alloc_spi +EXPORT_SYMBOL vmlinux 0x66be10a3 security_path_mknod +EXPORT_SYMBOL vmlinux 0x66d9dfce __dev_kfree_skb_any +EXPORT_SYMBOL vmlinux 0x66e69897 prandom_bytes_state +EXPORT_SYMBOL vmlinux 0x66fe865b zstd_cstream_workspace_bound +EXPORT_SYMBOL vmlinux 0x6720b262 xfrm4_rcv +EXPORT_SYMBOL vmlinux 0x672144bd strlcpy +EXPORT_SYMBOL vmlinux 0x6723ee11 audit_log +EXPORT_SYMBOL vmlinux 0x6749d53f hdmi_vendor_infoframe_init +EXPORT_SYMBOL vmlinux 0x6752a43f security_unix_may_send +EXPORT_SYMBOL vmlinux 0x676155ff dotdot_name +EXPORT_SYMBOL vmlinux 0x6762e507 proc_doulongvec_ms_jiffies_minmax +EXPORT_SYMBOL vmlinux 0x67761128 put_cmsg_scm_timestamping +EXPORT_SYMBOL vmlinux 0x677e6098 pci_bus_claim_resources +EXPORT_SYMBOL vmlinux 0x6787f57c finalize_exec +EXPORT_SYMBOL vmlinux 0x678b96ec dma_pool_alloc +EXPORT_SYMBOL vmlinux 0x678c62eb cpu_all_bits +EXPORT_SYMBOL vmlinux 0x67a5b82a genphy_loopback +EXPORT_SYMBOL vmlinux 0x67b27ec1 tty_std_termios +EXPORT_SYMBOL vmlinux 0x67b61f1a flow_block_cb_incref +EXPORT_SYMBOL vmlinux 0x67b78eb3 seq_hlist_next_rcu +EXPORT_SYMBOL vmlinux 0x67bc5dca d_genocide +EXPORT_SYMBOL vmlinux 0x67c12a9e __dquot_free_space +EXPORT_SYMBOL vmlinux 0x67ce597c unregister_sysctl_table +EXPORT_SYMBOL vmlinux 0x67d62b35 kernel_write +EXPORT_SYMBOL vmlinux 0x67e2272e refcount_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0x67e55ab9 kill_pgrp +EXPORT_SYMBOL vmlinux 0x67e83f80 seq_open_private +EXPORT_SYMBOL vmlinux 0x67e96c90 softnet_data +EXPORT_SYMBOL vmlinux 0x6851db41 security_inet_conn_established +EXPORT_SYMBOL vmlinux 0x686de6cf write_dirty_buffer +EXPORT_SYMBOL vmlinux 0x686f7078 dcb_ieee_setapp +EXPORT_SYMBOL vmlinux 0x68837f31 tcp_sendmsg +EXPORT_SYMBOL vmlinux 0x68cb33c0 gen_pool_virt_to_phys +EXPORT_SYMBOL vmlinux 0x68cf3daf xfrm6_rcv_spi +EXPORT_SYMBOL vmlinux 0x68e799ae skb_copy_bits +EXPORT_SYMBOL vmlinux 0x68e8fcd5 pci_bus_read_config_word +EXPORT_SYMBOL vmlinux 0x68eea293 mdiobus_unregister +EXPORT_SYMBOL vmlinux 0x68f32651 netpoll_send_skb +EXPORT_SYMBOL vmlinux 0x68f6dce6 discard_new_inode +EXPORT_SYMBOL vmlinux 0x68fad6f0 ccw_device_get_id +EXPORT_SYMBOL vmlinux 0x68fe9e66 __kfifo_dma_out_prepare_r +EXPORT_SYMBOL vmlinux 0x6907831b tcp_read_sock +EXPORT_SYMBOL vmlinux 0x69097457 crc32_be +EXPORT_SYMBOL vmlinux 0x690f9dfa hdmi_infoframe_unpack +EXPORT_SYMBOL vmlinux 0x6917a77e __traceiter_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x69353915 prepare_to_swait_exclusive +EXPORT_SYMBOL vmlinux 0x693abdcf tcf_action_set_ctrlact +EXPORT_SYMBOL vmlinux 0x695c6cdf follow_pfn +EXPORT_SYMBOL vmlinux 0x69668826 netdev_increment_features +EXPORT_SYMBOL vmlinux 0x698925b6 xfrm_input_resume +EXPORT_SYMBOL vmlinux 0x69a3bb67 elv_rb_del +EXPORT_SYMBOL vmlinux 0x69b13d80 blk_queue_bounce_limit +EXPORT_SYMBOL vmlinux 0x69b442f8 __ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x69d7769c __tracepoint_s390_diagnose +EXPORT_SYMBOL vmlinux 0x69f26fce __folio_alloc +EXPORT_SYMBOL vmlinux 0x69f31f87 unregister_filesystem +EXPORT_SYMBOL vmlinux 0x6a03751f sgl_free_order +EXPORT_SYMBOL vmlinux 0x6a037cf1 mempool_kfree +EXPORT_SYMBOL vmlinux 0x6a2d46fd dquot_destroy +EXPORT_SYMBOL vmlinux 0x6a480bd6 single_open_size +EXPORT_SYMBOL vmlinux 0x6a5cb5ee __get_free_pages +EXPORT_SYMBOL vmlinux 0x6a5ecb18 unregister_module_notifier +EXPORT_SYMBOL vmlinux 0x6a5fa363 sigprocmask +EXPORT_SYMBOL vmlinux 0x6a6e05bf kstrtou8 +EXPORT_SYMBOL vmlinux 0x6a76ecdf try_to_free_buffers +EXPORT_SYMBOL vmlinux 0x6a77853c gro_find_receive_by_type +EXPORT_SYMBOL vmlinux 0x6a8dec8a tcf_block_netif_keep_dst +EXPORT_SYMBOL vmlinux 0x6aa11aa6 sgl_free_n_order +EXPORT_SYMBOL vmlinux 0x6aa89a55 file_ns_capable +EXPORT_SYMBOL vmlinux 0x6ab23aa1 load_fpu_regs +EXPORT_SYMBOL vmlinux 0x6ad077b1 pci_enable_device_io +EXPORT_SYMBOL vmlinux 0x6adae56d security_path_unlink +EXPORT_SYMBOL vmlinux 0x6ae2dc0f __dev_queue_xmit +EXPORT_SYMBOL vmlinux 0x6ae7cdad phy_reset_after_clk_enable +EXPORT_SYMBOL vmlinux 0x6aeefac4 zlib_deflateReset +EXPORT_SYMBOL vmlinux 0x6af927fc tcf_get_next_chain +EXPORT_SYMBOL vmlinux 0x6afec9c0 filemap_invalidate_lock_two +EXPORT_SYMBOL vmlinux 0x6b2dc060 dump_stack +EXPORT_SYMBOL vmlinux 0x6b55acd0 rtnl_lock_killable +EXPORT_SYMBOL vmlinux 0x6b5bbbd4 scsi_remove_host +EXPORT_SYMBOL vmlinux 0x6b5c926d register_key_type +EXPORT_SYMBOL vmlinux 0x6b7c9589 page_mapping +EXPORT_SYMBOL vmlinux 0x6b7dc1a6 scsi_scan_target +EXPORT_SYMBOL vmlinux 0x6b84fc8e devm_request_resource +EXPORT_SYMBOL vmlinux 0x6b853d06 ns_to_kernel_old_timeval +EXPORT_SYMBOL vmlinux 0x6b8bf149 netif_receive_skb_list +EXPORT_SYMBOL vmlinux 0x6b8d2325 s390_epoch_delta_notifier +EXPORT_SYMBOL vmlinux 0x6b93640b __ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0x6ba4a11d module_put +EXPORT_SYMBOL vmlinux 0x6bac671b __crc32c_le +EXPORT_SYMBOL vmlinux 0x6bc3fbc0 __unregister_chrdev +EXPORT_SYMBOL vmlinux 0x6bcaddac inode_get_bytes +EXPORT_SYMBOL vmlinux 0x6bd878ad inode_init_once +EXPORT_SYMBOL vmlinux 0x6bf181c1 __tracepoint_kmem_cache_free +EXPORT_SYMBOL vmlinux 0x6bfe1653 iucv_message_receive +EXPORT_SYMBOL vmlinux 0x6c041e19 __xa_insert +EXPORT_SYMBOL vmlinux 0x6c1fa293 path_has_submounts +EXPORT_SYMBOL vmlinux 0x6c257ac0 tty_termios_hw_change +EXPORT_SYMBOL vmlinux 0x6c3c5820 sg_miter_next +EXPORT_SYMBOL vmlinux 0x6c61ce70 num_registered_fb +EXPORT_SYMBOL vmlinux 0x6c7a0323 __tracepoint_kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0x6c80a419 netif_set_tso_max_size +EXPORT_SYMBOL vmlinux 0x6cb46525 netlbl_catmap_walk +EXPORT_SYMBOL vmlinux 0x6cc11bb3 ip_output +EXPORT_SYMBOL vmlinux 0x6ccc34dd sort +EXPORT_SYMBOL vmlinux 0x6cd4fb66 jbd2_journal_check_available_features +EXPORT_SYMBOL vmlinux 0x6cf192df kvrealloc +EXPORT_SYMBOL vmlinux 0x6d0702ed unlock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x6d1ea6ec strlcat +EXPORT_SYMBOL vmlinux 0x6d294e43 clock_t_to_jiffies +EXPORT_SYMBOL vmlinux 0x6d2c9fec genphy_resume +EXPORT_SYMBOL vmlinux 0x6d340f64 tty_termios_input_baud_rate +EXPORT_SYMBOL vmlinux 0x6d4559f9 sock_gettstamp +EXPORT_SYMBOL vmlinux 0x6d5db48f filp_close +EXPORT_SYMBOL vmlinux 0x6d6549ad vfs_copy_file_range +EXPORT_SYMBOL vmlinux 0x6d72b084 devm_of_iomap +EXPORT_SYMBOL vmlinux 0x6d7c7dcc bitmap_cut +EXPORT_SYMBOL vmlinux 0x6d82df03 kthread_associate_blkcg +EXPORT_SYMBOL vmlinux 0x6d911de1 netdev_txq_to_tc +EXPORT_SYMBOL vmlinux 0x6d92def0 page_zero_new_buffers +EXPORT_SYMBOL vmlinux 0x6da1e160 dcache_dir_open +EXPORT_SYMBOL vmlinux 0x6daea280 crc32_le_shift +EXPORT_SYMBOL vmlinux 0x6dba9051 xz_dec_microlzma_end +EXPORT_SYMBOL vmlinux 0x6dbc8b5c tty_do_resize +EXPORT_SYMBOL vmlinux 0x6dc0a59d validate_slab_cache +EXPORT_SYMBOL vmlinux 0x6dcf857f uuid_null +EXPORT_SYMBOL vmlinux 0x6ddbd4e5 phy_support_sym_pause +EXPORT_SYMBOL vmlinux 0x6ddbe9a8 __blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0x6de7bbcb scsi_vpd_lun_id +EXPORT_SYMBOL vmlinux 0x6debc2e5 __dynamic_netdev_dbg +EXPORT_SYMBOL vmlinux 0x6df1aaf1 kernel_sigaction +EXPORT_SYMBOL vmlinux 0x6e00b8cb _ebcasc +EXPORT_SYMBOL vmlinux 0x6e0134a3 xp_alloc_batch +EXPORT_SYMBOL vmlinux 0x6e150d9f fs_param_is_string +EXPORT_SYMBOL vmlinux 0x6e2da197 arch_read_lock_wait +EXPORT_SYMBOL vmlinux 0x6e3260fb phy_write_mmd +EXPORT_SYMBOL vmlinux 0x6e3e80d5 unregister_console +EXPORT_SYMBOL vmlinux 0x6e4c3473 tcp_hashinfo +EXPORT_SYMBOL vmlinux 0x6e4e8e72 dev_uc_del +EXPORT_SYMBOL vmlinux 0x6e6fe742 generic_file_llseek +EXPORT_SYMBOL vmlinux 0x6e720ff2 rtnl_unlock +EXPORT_SYMBOL vmlinux 0x6e7470bb key_alloc +EXPORT_SYMBOL vmlinux 0x6e7aaed9 skb_headers_offset_update +EXPORT_SYMBOL vmlinux 0x6e9ad290 cpu_have_feature +EXPORT_SYMBOL vmlinux 0x6e9dd606 __symbol_put +EXPORT_SYMBOL vmlinux 0x6ea379a8 netif_carrier_off +EXPORT_SYMBOL vmlinux 0x6ea9363b force_sig +EXPORT_SYMBOL vmlinux 0x6eba92bf __phy_resume +EXPORT_SYMBOL vmlinux 0x6ef84303 kvmalloc_node +EXPORT_SYMBOL vmlinux 0x6f156c32 proc_set_size +EXPORT_SYMBOL vmlinux 0x6f20e8a0 nla_strscpy +EXPORT_SYMBOL vmlinux 0x6f2df3ef dma_fence_signal +EXPORT_SYMBOL vmlinux 0x6f401aea setup_arg_pages +EXPORT_SYMBOL vmlinux 0x6f53043d wait_for_completion_interruptible +EXPORT_SYMBOL vmlinux 0x6f5ef93d memchr_inv +EXPORT_SYMBOL vmlinux 0x6f62f7b0 deactivate_super +EXPORT_SYMBOL vmlinux 0x6f66ee1a filemap_write_and_wait_range +EXPORT_SYMBOL vmlinux 0x6f79375c mempool_free +EXPORT_SYMBOL vmlinux 0x6f81c5a2 param_ops_uint +EXPORT_SYMBOL vmlinux 0x6f8f674a bpf_dispatcher_xdp_func +EXPORT_SYMBOL vmlinux 0x6fb49676 queue_rcu_work +EXPORT_SYMBOL vmlinux 0x6fc0c58d dma_fence_default_wait +EXPORT_SYMBOL vmlinux 0x6fd4a0ce __breadahead_gfp +EXPORT_SYMBOL vmlinux 0x6fd9c35a __clzdi2 +EXPORT_SYMBOL vmlinux 0x6ff230ca dev_get_by_name_rcu +EXPORT_SYMBOL vmlinux 0x70002fe8 siphash_1u32 +EXPORT_SYMBOL vmlinux 0x70147f04 kern_unmount +EXPORT_SYMBOL vmlinux 0x702b2947 generic_file_direct_write +EXPORT_SYMBOL vmlinux 0x70336943 xa_set_mark +EXPORT_SYMBOL vmlinux 0x7051c9f7 netif_tx_wake_queue +EXPORT_SYMBOL vmlinux 0x708524b1 kmem_cache_alloc_node_trace +EXPORT_SYMBOL vmlinux 0x70930acb padata_alloc +EXPORT_SYMBOL vmlinux 0x70957489 kobject_add +EXPORT_SYMBOL vmlinux 0x70a26790 path_put +EXPORT_SYMBOL vmlinux 0x70b1ce8f netpoll_poll_enable +EXPORT_SYMBOL vmlinux 0x70cca1e5 xfrm_unregister_type_offload +EXPORT_SYMBOL vmlinux 0x70d4b083 close_fd_get_file +EXPORT_SYMBOL vmlinux 0x70f81b56 ap_max_msg_size +EXPORT_SYMBOL vmlinux 0x711e1491 ap_perms +EXPORT_SYMBOL vmlinux 0x7120f9bd LZ4_setStreamDecode +EXPORT_SYMBOL vmlinux 0x71231484 simple_fill_super +EXPORT_SYMBOL vmlinux 0x7125c48f udp_seq_ops +EXPORT_SYMBOL vmlinux 0x7126b210 __traceiter_module_get +EXPORT_SYMBOL vmlinux 0x7129e5f8 hex_asc +EXPORT_SYMBOL vmlinux 0x713c21ce cdev_init +EXPORT_SYMBOL vmlinux 0x714328ae read_cache_page +EXPORT_SYMBOL vmlinux 0x7145aef0 segment_load +EXPORT_SYMBOL vmlinux 0x714c8b54 security_sb_clone_mnt_opts +EXPORT_SYMBOL vmlinux 0x7150447b param_set_bint +EXPORT_SYMBOL vmlinux 0x715480bb udp_seq_stop +EXPORT_SYMBOL vmlinux 0x715a5ed0 vprintk +EXPORT_SYMBOL vmlinux 0x715f1ba3 tcp_connect +EXPORT_SYMBOL vmlinux 0x7171121c overflowgid +EXPORT_SYMBOL vmlinux 0x7175699b iter_file_splice_write +EXPORT_SYMBOL vmlinux 0x71a19809 ip_queue_xmit +EXPORT_SYMBOL vmlinux 0x71a42c38 fs_param_is_blob +EXPORT_SYMBOL vmlinux 0x71a672ef dmam_pool_destroy +EXPORT_SYMBOL vmlinux 0x71c27b9b scsi_print_sense +EXPORT_SYMBOL vmlinux 0x71e41d76 kill_pid +EXPORT_SYMBOL vmlinux 0x71faed13 touch_buffer +EXPORT_SYMBOL vmlinux 0x720a27a7 __register_blkdev +EXPORT_SYMBOL vmlinux 0x720ad197 jbd2_journal_init_dev +EXPORT_SYMBOL vmlinux 0x720f8588 send_sig +EXPORT_SYMBOL vmlinux 0x72171f5f freeze_super +EXPORT_SYMBOL vmlinux 0x72234329 xattr_supported_namespace +EXPORT_SYMBOL vmlinux 0x72250219 seq_escape_mem +EXPORT_SYMBOL vmlinux 0x72297f25 __alloc_bucket_spinlocks +EXPORT_SYMBOL vmlinux 0x72334fe5 sock_common_getsockopt +EXPORT_SYMBOL vmlinux 0x7242e96d strnchr +EXPORT_SYMBOL vmlinux 0x72475699 kill_block_super +EXPORT_SYMBOL vmlinux 0x7286a4fc put_disk +EXPORT_SYMBOL vmlinux 0x729bdd42 md_bitmap_start_sync +EXPORT_SYMBOL vmlinux 0x72a169b4 fget_raw +EXPORT_SYMBOL vmlinux 0x72b2cec0 d_prune_aliases +EXPORT_SYMBOL vmlinux 0x72b3cfd9 block_is_partially_uptodate +EXPORT_SYMBOL vmlinux 0x72b9d287 default_grn +EXPORT_SYMBOL vmlinux 0x72bdf2c4 drop_super_exclusive +EXPORT_SYMBOL vmlinux 0x72cbc730 done_path_create +EXPORT_SYMBOL vmlinux 0x72d32a4b phy_modify_paged +EXPORT_SYMBOL vmlinux 0x72d58b58 sock_init_data +EXPORT_SYMBOL vmlinux 0x72da70e2 gen_pool_for_each_chunk +EXPORT_SYMBOL vmlinux 0x72ea7b2d scsi_device_type +EXPORT_SYMBOL vmlinux 0x72f7ef74 tcp_req_err +EXPORT_SYMBOL vmlinux 0x73018f77 folio_migrate_copy +EXPORT_SYMBOL vmlinux 0x7301dcf5 dquot_free_inode +EXPORT_SYMBOL vmlinux 0x7303c29c pci_clear_master +EXPORT_SYMBOL vmlinux 0x730ae7c0 free_buffer_head +EXPORT_SYMBOL vmlinux 0x730b096c ap_apqn_in_matrix_owned_by_def_drv +EXPORT_SYMBOL vmlinux 0x730d6de2 dquot_alloc_inode +EXPORT_SYMBOL vmlinux 0x731edda4 flow_block_cb_alloc +EXPORT_SYMBOL vmlinux 0x73258cbb __skb_free_datagram_locked +EXPORT_SYMBOL vmlinux 0x732dd326 groups_free +EXPORT_SYMBOL vmlinux 0x7339f28b xp_can_alloc +EXPORT_SYMBOL vmlinux 0x7357b813 blk_mq_unique_tag +EXPORT_SYMBOL vmlinux 0x7369e4a3 udp_gro_receive +EXPORT_SYMBOL vmlinux 0x7372941c fs_param_is_path +EXPORT_SYMBOL vmlinux 0x7380dffa argv_split +EXPORT_SYMBOL vmlinux 0x7389706a __memset16 +EXPORT_SYMBOL vmlinux 0x738bcb9b arch_debugfs_dir +EXPORT_SYMBOL vmlinux 0x738bdc7e sk_page_frag_refill +EXPORT_SYMBOL vmlinux 0x738d1bd3 netlink_net_capable +EXPORT_SYMBOL vmlinux 0x739fd00f __SCK__tp_func_module_get +EXPORT_SYMBOL vmlinux 0x73abb180 alloc_contig_range +EXPORT_SYMBOL vmlinux 0x73bf20c6 _ascebc +EXPORT_SYMBOL vmlinux 0x73d02d70 find_inode_rcu +EXPORT_SYMBOL vmlinux 0x73f4bab8 fwnode_get_mac_address +EXPORT_SYMBOL vmlinux 0x73fa799e security_sock_graft +EXPORT_SYMBOL vmlinux 0x7410aba2 strreplace +EXPORT_SYMBOL vmlinux 0x741f70a9 debug_stop_all +EXPORT_SYMBOL vmlinux 0x742578a5 wait_for_random_bytes +EXPORT_SYMBOL vmlinux 0x7429e20c kstrtos8 +EXPORT_SYMBOL vmlinux 0x742a93f5 kobject_put +EXPORT_SYMBOL vmlinux 0x7453d3e8 security_release_secctx +EXPORT_SYMBOL vmlinux 0x745f316f param_set_int +EXPORT_SYMBOL vmlinux 0x746c64d0 pci_unmap_rom +EXPORT_SYMBOL vmlinux 0x746e4f59 tty_driver_flush_buffer +EXPORT_SYMBOL vmlinux 0x7470b01a tsb_init +EXPORT_SYMBOL vmlinux 0x747363a7 remove_proc_subtree +EXPORT_SYMBOL vmlinux 0x7483dc59 pci_dev_present +EXPORT_SYMBOL vmlinux 0x74a40aff jbd2_journal_dirty_metadata +EXPORT_SYMBOL vmlinux 0x74ae8866 generic_file_llseek_size +EXPORT_SYMBOL vmlinux 0x74c134b9 __sw_hweight32 +EXPORT_SYMBOL vmlinux 0x74c782d9 con_is_bound +EXPORT_SYMBOL vmlinux 0x74d21356 get_user_pages +EXPORT_SYMBOL vmlinux 0x74d858a7 on_each_cpu_cond_mask +EXPORT_SYMBOL vmlinux 0x74d85ad5 vfs_create_mount +EXPORT_SYMBOL vmlinux 0x74e5ff1a udpv6_encap_enable +EXPORT_SYMBOL vmlinux 0x74f3df74 fixed_size_llseek +EXPORT_SYMBOL vmlinux 0x74ffeb8b commit_creds +EXPORT_SYMBOL vmlinux 0x7511203d open_with_fake_path +EXPORT_SYMBOL vmlinux 0x7516d149 input_allocate_device +EXPORT_SYMBOL vmlinux 0x752485be generic_splice_sendpage +EXPORT_SYMBOL vmlinux 0x752f6274 tcf_action_exec +EXPORT_SYMBOL vmlinux 0x7535749d sock_set_sndtimeo +EXPORT_SYMBOL vmlinux 0x753a8325 remap_vmalloc_range +EXPORT_SYMBOL vmlinux 0x754a6ba3 mdiobus_register_device +EXPORT_SYMBOL vmlinux 0x756726c9 set_cached_acl +EXPORT_SYMBOL vmlinux 0x759a0416 __memset64 +EXPORT_SYMBOL vmlinux 0x759fd7f5 genphy_c37_config_aneg +EXPORT_SYMBOL vmlinux 0x75b7bd20 tcp_simple_retransmit +EXPORT_SYMBOL vmlinux 0x75b9cf29 hsch +EXPORT_SYMBOL vmlinux 0x75bbd13c rawv6_mh_filter_register +EXPORT_SYMBOL vmlinux 0x75bda77a seq_hlist_next +EXPORT_SYMBOL vmlinux 0x75d0deb9 nsecs_to_jiffies64 +EXPORT_SYMBOL vmlinux 0x75d499dd vmcore_add_device_dump +EXPORT_SYMBOL vmlinux 0x75d6194a pci_match_id +EXPORT_SYMBOL vmlinux 0x75e3f586 generic_file_mmap +EXPORT_SYMBOL vmlinux 0x75f62bfe dev_trans_start +EXPORT_SYMBOL vmlinux 0x760a0f4f yield +EXPORT_SYMBOL vmlinux 0x760d20b1 call_fib_notifiers +EXPORT_SYMBOL vmlinux 0x7618af39 hdmi_infoframe_check +EXPORT_SYMBOL vmlinux 0x7624249e dim_park_tired +EXPORT_SYMBOL vmlinux 0x762addd6 phy_device_register +EXPORT_SYMBOL vmlinux 0x762d95cf tcp_select_initial_window +EXPORT_SYMBOL vmlinux 0x76426845 strncpy_from_user +EXPORT_SYMBOL vmlinux 0x7647726c handle_sysrq +EXPORT_SYMBOL vmlinux 0x764de605 param_set_byte +EXPORT_SYMBOL vmlinux 0x7650f1cb sk_dst_check +EXPORT_SYMBOL vmlinux 0x766035e9 tcp_v4_mtu_reduced +EXPORT_SYMBOL vmlinux 0x766449bd blk_mq_run_hw_queues +EXPORT_SYMBOL vmlinux 0x76679b0c config_item_set_name +EXPORT_SYMBOL vmlinux 0x766a0927 mempool_alloc_pages +EXPORT_SYMBOL vmlinux 0x7682ba4e __copy_overflow +EXPORT_SYMBOL vmlinux 0x769f6e64 errseq_check +EXPORT_SYMBOL vmlinux 0x76a1d649 __sk_mem_schedule +EXPORT_SYMBOL vmlinux 0x76ac4bc1 sock_no_getname +EXPORT_SYMBOL vmlinux 0x76d3cd60 laptop_mode +EXPORT_SYMBOL vmlinux 0x76f1d3e5 set_pgste_bits +EXPORT_SYMBOL vmlinux 0x76fefe53 inode_set_bytes +EXPORT_SYMBOL vmlinux 0x77247c5e ap_bus_force_rescan +EXPORT_SYMBOL vmlinux 0x7732159c free_irq_cpu_rmap +EXPORT_SYMBOL vmlinux 0x773274a8 jbd2_complete_transaction +EXPORT_SYMBOL vmlinux 0x77358855 iomem_resource +EXPORT_SYMBOL vmlinux 0x773e7ada cdrom_open +EXPORT_SYMBOL vmlinux 0x77418541 skb_ensure_writable +EXPORT_SYMBOL vmlinux 0x774ab4b4 pcim_pin_device +EXPORT_SYMBOL vmlinux 0x77507d7b nf_reinject +EXPORT_SYMBOL vmlinux 0x777964b9 would_dump +EXPORT_SYMBOL vmlinux 0x7779de8d d_splice_alias +EXPORT_SYMBOL vmlinux 0x7798cbcc tcf_idrinfo_destroy +EXPORT_SYMBOL vmlinux 0x77a23ca5 fs_context_for_reconfigure +EXPORT_SYMBOL vmlinux 0x77a615ba vm_node_stat +EXPORT_SYMBOL vmlinux 0x77bba121 fs_param_is_u64 +EXPORT_SYMBOL vmlinux 0x77bc13a0 strim +EXPORT_SYMBOL vmlinux 0x77cb0bce jbd2_journal_force_commit_nested +EXPORT_SYMBOL vmlinux 0x77cbe84d get_cached_acl_rcu +EXPORT_SYMBOL vmlinux 0x77d177fd dquot_load_quota_sb +EXPORT_SYMBOL vmlinux 0x77e9eb37 aes_encrypt +EXPORT_SYMBOL vmlinux 0x7805d1a0 __put_cred +EXPORT_SYMBOL vmlinux 0x7807f0f8 schedule_timeout_idle +EXPORT_SYMBOL vmlinux 0x781736a0 netdev_lower_state_changed +EXPORT_SYMBOL vmlinux 0x7819aea9 __kmalloc_node +EXPORT_SYMBOL vmlinux 0x781c0c9b sock_register +EXPORT_SYMBOL vmlinux 0x782acba5 crc_t10dif +EXPORT_SYMBOL vmlinux 0x78569adf ida_alloc_range +EXPORT_SYMBOL vmlinux 0x7873cf78 tcp_parse_options +EXPORT_SYMBOL vmlinux 0x7880c781 dm_kcopyd_prepare_callback +EXPORT_SYMBOL vmlinux 0x789bcc14 vfs_get_link +EXPORT_SYMBOL vmlinux 0x78a16f48 aes_decrypt +EXPORT_SYMBOL vmlinux 0x78afe906 dcb_setapp +EXPORT_SYMBOL vmlinux 0x78b887ed vsprintf +EXPORT_SYMBOL vmlinux 0x78c12cf4 md_wait_for_blocked_rdev +EXPORT_SYMBOL vmlinux 0x78df6bd7 no_pci_devices +EXPORT_SYMBOL vmlinux 0x78f1475a __traceiter_s390_cio_rsch +EXPORT_SYMBOL vmlinux 0x78f1b445 md_unregister_thread +EXPORT_SYMBOL vmlinux 0x790175dc ip_sock_set_freebind +EXPORT_SYMBOL vmlinux 0x79035513 simple_getattr +EXPORT_SYMBOL vmlinux 0x7927342d kset_register +EXPORT_SYMBOL vmlinux 0x79370a3f eth_header_parse +EXPORT_SYMBOL vmlinux 0x79472255 request_partial_firmware_into_buf +EXPORT_SYMBOL vmlinux 0x794dfb91 vfs_fileattr_get +EXPORT_SYMBOL vmlinux 0x7961e000 tty_port_init +EXPORT_SYMBOL vmlinux 0x79633b13 jbd2_fc_release_bufs +EXPORT_SYMBOL vmlinux 0x7970ef55 swake_up_locked +EXPORT_SYMBOL vmlinux 0x79773ff4 skb_csum_hwoffload_help +EXPORT_SYMBOL vmlinux 0x797ac108 ccw_device_set_options +EXPORT_SYMBOL vmlinux 0x797fe49c scsi_register_driver +EXPORT_SYMBOL vmlinux 0x79816357 dma_fence_wait_timeout +EXPORT_SYMBOL vmlinux 0x7983aa76 lock_two_nondirectories +EXPORT_SYMBOL vmlinux 0x79b1ca4c set_nlink +EXPORT_SYMBOL vmlinux 0x79cd6498 down_write_killable +EXPORT_SYMBOL vmlinux 0x79d265ed xfrm4_rcv_encap +EXPORT_SYMBOL vmlinux 0x7a09a064 seg6_hmac_compute +EXPORT_SYMBOL vmlinux 0x7a0a7c35 skb_append +EXPORT_SYMBOL vmlinux 0x7a1bcd59 gf128mul_x8_ble +EXPORT_SYMBOL vmlinux 0x7a2ff57e security_current_getsecid_subj +EXPORT_SYMBOL vmlinux 0x7a3992bd scsi_eh_restore_cmnd +EXPORT_SYMBOL vmlinux 0x7a53a06d flow_indr_dev_exists +EXPORT_SYMBOL vmlinux 0x7a5e94a8 __mdiobus_read +EXPORT_SYMBOL vmlinux 0x7a7c7b79 blk_mq_complete_request +EXPORT_SYMBOL vmlinux 0x7a7d60e6 iucv_register +EXPORT_SYMBOL vmlinux 0x7a94f0c5 flow_rule_match_tcp +EXPORT_SYMBOL vmlinux 0x7a95e5ae do_settimeofday64 +EXPORT_SYMBOL vmlinux 0x7aa1756e kvfree +EXPORT_SYMBOL vmlinux 0x7ab88a45 system_freezing_cnt +EXPORT_SYMBOL vmlinux 0x7ac448e7 netif_rx +EXPORT_SYMBOL vmlinux 0x7ad050b9 qid_lt +EXPORT_SYMBOL vmlinux 0x7adc0fbf rb_replace_node_rcu +EXPORT_SYMBOL vmlinux 0x7adc7d81 inode_needs_sync +EXPORT_SYMBOL vmlinux 0x7ae775f4 bdi_unregister +EXPORT_SYMBOL vmlinux 0x7b0a9183 locks_lock_inode_wait +EXPORT_SYMBOL vmlinux 0x7b1339e0 tc_setup_cb_add +EXPORT_SYMBOL vmlinux 0x7b1de5d2 rdmacg_uncharge +EXPORT_SYMBOL vmlinux 0x7b23a647 register_netdevice +EXPORT_SYMBOL vmlinux 0x7b37d4a7 _find_first_zero_bit +EXPORT_SYMBOL vmlinux 0x7b4f7a1d gro_cells_init +EXPORT_SYMBOL vmlinux 0x7b5a7137 strncat +EXPORT_SYMBOL vmlinux 0x7b5b8f31 sha256_update +EXPORT_SYMBOL vmlinux 0x7b8b9acd sock_edemux +EXPORT_SYMBOL vmlinux 0x7bae7754 __dev_set_mtu +EXPORT_SYMBOL vmlinux 0x7baffe15 tty_insert_flip_string_flags +EXPORT_SYMBOL vmlinux 0x7bb7340c tty_register_ldisc +EXPORT_SYMBOL vmlinux 0x7bbccd05 nr_node_ids +EXPORT_SYMBOL vmlinux 0x7bd7dfd0 ap_test_config_usage_domain +EXPORT_SYMBOL vmlinux 0x7be2ec0f copy_page_from_iter +EXPORT_SYMBOL vmlinux 0x7c04d187 seq_hex_dump +EXPORT_SYMBOL vmlinux 0x7c14f503 gen_pool_dma_alloc +EXPORT_SYMBOL vmlinux 0x7c173634 __bitmap_complement +EXPORT_SYMBOL vmlinux 0x7c2130ae pci_iounmap +EXPORT_SYMBOL vmlinux 0x7c5d4a3a sclp_reactivate +EXPORT_SYMBOL vmlinux 0x7c683925 bfifo_qdisc_ops +EXPORT_SYMBOL vmlinux 0x7c706e55 sk_send_sigurg +EXPORT_SYMBOL vmlinux 0x7c780606 tcp_peek_len +EXPORT_SYMBOL vmlinux 0x7c84c157 vm_map_pages +EXPORT_SYMBOL vmlinux 0x7c860902 iov_iter_alignment +EXPORT_SYMBOL vmlinux 0x7c9ca58f __sg_page_iter_next +EXPORT_SYMBOL vmlinux 0x7c9fe5a7 __starget_for_each_device +EXPORT_SYMBOL vmlinux 0x7ca42530 tcp_mtu_to_mss +EXPORT_SYMBOL vmlinux 0x7cb5c89e dquot_alloc +EXPORT_SYMBOL vmlinux 0x7ce18c9f from_kqid +EXPORT_SYMBOL vmlinux 0x7ced436f tcf_chain_get_by_act +EXPORT_SYMBOL vmlinux 0x7cfe368d net_dim_get_def_tx_moderation +EXPORT_SYMBOL vmlinux 0x7d0c8c55 thaw_super +EXPORT_SYMBOL vmlinux 0x7d0db45c jiffies_to_clock_t +EXPORT_SYMBOL vmlinux 0x7d1f5f95 netdev_master_upper_dev_get_rcu +EXPORT_SYMBOL vmlinux 0x7d2462ba flush_signals +EXPORT_SYMBOL vmlinux 0x7d442524 gro_find_complete_by_type +EXPORT_SYMBOL vmlinux 0x7d49ef3e iov_iter_init +EXPORT_SYMBOL vmlinux 0x7d4b176a netlbl_catmap_setbit +EXPORT_SYMBOL vmlinux 0x7d522361 mempool_create_node +EXPORT_SYMBOL vmlinux 0x7d6b18cc file_open_root +EXPORT_SYMBOL vmlinux 0x7d6c7303 pci_read_vpd_any +EXPORT_SYMBOL vmlinux 0x7d740138 touch_atime +EXPORT_SYMBOL vmlinux 0x7d8766fd clocksource_unregister +EXPORT_SYMBOL vmlinux 0x7d8dbb29 __scsi_iterate_devices +EXPORT_SYMBOL vmlinux 0x7da4aace register_mii_timestamper +EXPORT_SYMBOL vmlinux 0x7da5b367 tcf_qevent_validate_change +EXPORT_SYMBOL vmlinux 0x7daece67 quota_send_warning +EXPORT_SYMBOL vmlinux 0x7dc5ffa7 tc_skb_ext_tc_disable +EXPORT_SYMBOL vmlinux 0x7dd5ba2d tcf_idr_create +EXPORT_SYMBOL vmlinux 0x7dec65ff mempool_init +EXPORT_SYMBOL vmlinux 0x7def0473 sk_stream_wait_connect +EXPORT_SYMBOL vmlinux 0x7deff673 dm_consume_args +EXPORT_SYMBOL vmlinux 0x7e23dc31 dentry_path_raw +EXPORT_SYMBOL vmlinux 0x7e2981fe skb_get_hash_perturb +EXPORT_SYMBOL vmlinux 0x7e29fa33 filemap_check_errors +EXPORT_SYMBOL vmlinux 0x7e2e3d1b ptep_xchg_direct +EXPORT_SYMBOL vmlinux 0x7e30704d is_free_buddy_page +EXPORT_SYMBOL vmlinux 0x7e3191f6 try_to_del_timer_sync +EXPORT_SYMBOL vmlinux 0x7e3bfd7c __module_get +EXPORT_SYMBOL vmlinux 0x7e4ef1cb md_wakeup_thread +EXPORT_SYMBOL vmlinux 0x7e50325f jbd2_wait_inode_data +EXPORT_SYMBOL vmlinux 0x7e61193f pin_user_pages_remote +EXPORT_SYMBOL vmlinux 0x7e71ec2b dma_fence_allocate_private_stub +EXPORT_SYMBOL vmlinux 0x7e821ba1 crc_ccitt +EXPORT_SYMBOL vmlinux 0x7e9ba9a7 blk_start_plug +EXPORT_SYMBOL vmlinux 0x7eab641e gpiochip_irq_relres +EXPORT_SYMBOL vmlinux 0x7ebdbd0e ip_sock_set_tos +EXPORT_SYMBOL vmlinux 0x7ece20ad dev_mc_del +EXPORT_SYMBOL vmlinux 0x7eda253b filemap_fdatawait_range_keep_errors +EXPORT_SYMBOL vmlinux 0x7ee17b84 __register_binfmt +EXPORT_SYMBOL vmlinux 0x7f02188f __msecs_to_jiffies +EXPORT_SYMBOL vmlinux 0x7f03b6a9 crc_ccitt_table +EXPORT_SYMBOL vmlinux 0x7f24de73 jiffies_to_usecs +EXPORT_SYMBOL vmlinux 0x7f25b856 sock_no_shutdown +EXPORT_SYMBOL vmlinux 0x7f4ba429 get_bitmap_from_slot +EXPORT_SYMBOL vmlinux 0x7f4c565b add_wait_queue +EXPORT_SYMBOL vmlinux 0x7f52071a net_dim +EXPORT_SYMBOL vmlinux 0x7f5519f2 inet_sk_set_state +EXPORT_SYMBOL vmlinux 0x7f5a80c3 bio_reset +EXPORT_SYMBOL vmlinux 0x7f5b4fe4 sg_free_table +EXPORT_SYMBOL vmlinux 0x7f683235 unload_nls +EXPORT_SYMBOL vmlinux 0x7f6a7acd eth_validate_addr +EXPORT_SYMBOL vmlinux 0x7f775920 __cpuhp_setup_state +EXPORT_SYMBOL vmlinux 0x7f7ea33d pci_disable_msix +EXPORT_SYMBOL vmlinux 0x7f7f7bb4 irq_poll_disable +EXPORT_SYMBOL vmlinux 0x7f94a66f rt_dst_alloc +EXPORT_SYMBOL vmlinux 0x7f957121 dma_fence_chain_walk +EXPORT_SYMBOL vmlinux 0x7fad1632 blk_rq_count_integrity_sg +EXPORT_SYMBOL vmlinux 0x7fc3c773 jbd2_journal_get_undo_access +EXPORT_SYMBOL vmlinux 0x7fe32873 rb_replace_node +EXPORT_SYMBOL vmlinux 0x80253e40 inet_recvmsg +EXPORT_SYMBOL vmlinux 0x80318b30 sg_copy_buffer +EXPORT_SYMBOL vmlinux 0x803ddbb6 __posix_acl_create +EXPORT_SYMBOL vmlinux 0x80465c9b ndisc_mc_map +EXPORT_SYMBOL vmlinux 0x804a190f flow_rule_match_control +EXPORT_SYMBOL vmlinux 0x804fd662 dma_fence_wait_any_timeout +EXPORT_SYMBOL vmlinux 0x8053525a sclp_register +EXPORT_SYMBOL vmlinux 0x805485ab __kfifo_out_r +EXPORT_SYMBOL vmlinux 0x806076f0 phy_set_max_speed +EXPORT_SYMBOL vmlinux 0x806f2c92 tcw_set_tccb +EXPORT_SYMBOL vmlinux 0x80842dcd zap_page_range +EXPORT_SYMBOL vmlinux 0x80b95784 rw_verify_area +EXPORT_SYMBOL vmlinux 0x80ca5026 _bin2bcd +EXPORT_SYMBOL vmlinux 0x80d68d3e fb_register_client +EXPORT_SYMBOL vmlinux 0x80d7f717 sg_zero_buffer +EXPORT_SYMBOL vmlinux 0x80def5f6 generic_pipe_buf_get +EXPORT_SYMBOL vmlinux 0x80e5f86f fscrypt_fname_alloc_buffer +EXPORT_SYMBOL vmlinux 0x810bef7e sg_free_append_table +EXPORT_SYMBOL vmlinux 0x810f40f8 set_page_writeback +EXPORT_SYMBOL vmlinux 0x8112b3d2 scsi_build_sense_buffer +EXPORT_SYMBOL vmlinux 0x81164daa __SCK__tp_func_s390_cio_rsch +EXPORT_SYMBOL vmlinux 0x8128c039 smsg_register_callback +EXPORT_SYMBOL vmlinux 0x812c78b4 vmalloc_to_page +EXPORT_SYMBOL vmlinux 0x812f78eb xxh64_update +EXPORT_SYMBOL vmlinux 0x813114e2 tty_unlock +EXPORT_SYMBOL vmlinux 0x8133798b cookie_ecn_ok +EXPORT_SYMBOL vmlinux 0x813f046f gpiochip_irq_reqres +EXPORT_SYMBOL vmlinux 0x8156c7da dev_get_port_parent_id +EXPORT_SYMBOL vmlinux 0x8159fd94 fwnode_iomap +EXPORT_SYMBOL vmlinux 0x815b5dd4 match_octal +EXPORT_SYMBOL vmlinux 0x816c6a6e pci_bus_write_config_byte +EXPORT_SYMBOL vmlinux 0x818416e1 scsi_set_sense_information +EXPORT_SYMBOL vmlinux 0x81844c9d vmemdup_user +EXPORT_SYMBOL vmlinux 0x8194e5cf skb_queue_purge +EXPORT_SYMBOL vmlinux 0x81a1eb59 utf8_unload +EXPORT_SYMBOL vmlinux 0x81a58001 mempool_init_node +EXPORT_SYMBOL vmlinux 0x81b433f2 down +EXPORT_SYMBOL vmlinux 0x81bd3a0d pci_resize_resource +EXPORT_SYMBOL vmlinux 0x81c521ce proc_dobool +EXPORT_SYMBOL vmlinux 0x81db6ebb xz_dec_reset +EXPORT_SYMBOL vmlinux 0x81f918a2 dev_set_promiscuity +EXPORT_SYMBOL vmlinux 0x81fbb534 filemap_fdatawrite_range +EXPORT_SYMBOL vmlinux 0x820731e7 sock_bindtoindex +EXPORT_SYMBOL vmlinux 0x8223dbf4 inet_register_protosw +EXPORT_SYMBOL vmlinux 0x822539c3 tty_vhangup +EXPORT_SYMBOL vmlinux 0x8232f097 tcf_block_get +EXPORT_SYMBOL vmlinux 0x8246a51f generic_file_splice_read +EXPORT_SYMBOL vmlinux 0x824bb676 genphy_config_eee_advert +EXPORT_SYMBOL vmlinux 0x826f8ac8 dev_set_mac_address +EXPORT_SYMBOL vmlinux 0x827ae947 __qdisc_calculate_pkt_len +EXPORT_SYMBOL vmlinux 0x8281f0f4 shrink_dcache_sb +EXPORT_SYMBOL vmlinux 0x828af1dc dma_fence_chain_init +EXPORT_SYMBOL vmlinux 0x828c2133 inet_proto_csum_replace_by_diff +EXPORT_SYMBOL vmlinux 0x82b86706 scsi_alloc_sgtables +EXPORT_SYMBOL vmlinux 0x82c2f005 kmalloc_order_trace +EXPORT_SYMBOL vmlinux 0x82c557e1 generic_ro_fops +EXPORT_SYMBOL vmlinux 0x82c87ad5 nr_online_nodes +EXPORT_SYMBOL vmlinux 0x82c87d77 gnet_stats_copy_basic +EXPORT_SYMBOL vmlinux 0x82e104e8 sock_init_data_uid +EXPORT_SYMBOL vmlinux 0x82e903aa phy_register_fixup +EXPORT_SYMBOL vmlinux 0x830992bf tcp_seq_start +EXPORT_SYMBOL vmlinux 0x831a66a6 I_BDEV +EXPORT_SYMBOL vmlinux 0x83538ba9 __cpu_dying_mask +EXPORT_SYMBOL vmlinux 0x83581089 gf128mul_init_4k_lle +EXPORT_SYMBOL vmlinux 0x8364ad91 pci_prepare_to_sleep +EXPORT_SYMBOL vmlinux 0x836d8ea0 param_get_long +EXPORT_SYMBOL vmlinux 0x8377b4b0 device_get_ethdev_address +EXPORT_SYMBOL vmlinux 0x837b7b09 __dynamic_pr_debug +EXPORT_SYMBOL vmlinux 0x83813003 block_write_begin +EXPORT_SYMBOL vmlinux 0x83860aa7 sched_autogroup_detach +EXPORT_SYMBOL vmlinux 0x838d2bc8 siphash_3u32 +EXPORT_SYMBOL vmlinux 0x838de657 flow_keys_basic_dissector +EXPORT_SYMBOL vmlinux 0x83ab4811 tcp_get_md5sig_pool +EXPORT_SYMBOL vmlinux 0x83b9f6fa simple_transaction_release +EXPORT_SYMBOL vmlinux 0x83bdb3e1 gen_pool_dma_zalloc +EXPORT_SYMBOL vmlinux 0x83c2aa59 nobh_write_end +EXPORT_SYMBOL vmlinux 0x83d4519b ip_frag_next +EXPORT_SYMBOL vmlinux 0x83d8dbdb ip_fraglist_prepare +EXPORT_SYMBOL vmlinux 0x83df572e debug_sprintf_view +EXPORT_SYMBOL vmlinux 0x83eec27b locks_free_lock +EXPORT_SYMBOL vmlinux 0x83f6f70d param_ops_ushort +EXPORT_SYMBOL vmlinux 0x84021876 phy_advertise_supported +EXPORT_SYMBOL vmlinux 0x840342c6 sgl_free +EXPORT_SYMBOL vmlinux 0x840be041 vlan_vids_del_by_dev +EXPORT_SYMBOL vmlinux 0x84180182 dev_mc_del_global +EXPORT_SYMBOL vmlinux 0x841a7dc2 set_capacity +EXPORT_SYMBOL vmlinux 0x841cc2f6 dma_fence_remove_callback +EXPORT_SYMBOL vmlinux 0x8426e047 vfs_get_super +EXPORT_SYMBOL vmlinux 0x84654986 mdio_device_free +EXPORT_SYMBOL vmlinux 0x8499b061 gen_pool_destroy +EXPORT_SYMBOL vmlinux 0x84a0ca4d bitmap_zalloc_node +EXPORT_SYMBOL vmlinux 0x84c03e9a rtnl_nla_parse_ifla +EXPORT_SYMBOL vmlinux 0x84c1ad08 nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0x84c8d95c padata_do_serial +EXPORT_SYMBOL vmlinux 0x84d4c8cc crc16 +EXPORT_SYMBOL vmlinux 0x84d9d8cf truncate_setsize +EXPORT_SYMBOL vmlinux 0x84dc1e46 scsi_device_get +EXPORT_SYMBOL vmlinux 0x84ec937a show_init_ipc_ns +EXPORT_SYMBOL vmlinux 0x84f263ed dquot_quota_sync +EXPORT_SYMBOL vmlinux 0x84fc790b udp_prot +EXPORT_SYMBOL vmlinux 0x85670f1d rtnl_is_locked +EXPORT_SYMBOL vmlinux 0x85807064 __xfrm_state_destroy +EXPORT_SYMBOL vmlinux 0x858c0d88 blk_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0x85a3d8d0 generic_fillattr +EXPORT_SYMBOL vmlinux 0x85abc85f strncmp +EXPORT_SYMBOL vmlinux 0x85b72ab7 sync_blockdev +EXPORT_SYMBOL vmlinux 0x85bbd89d ip6_dst_hoplimit +EXPORT_SYMBOL vmlinux 0x85bd1608 __request_region +EXPORT_SYMBOL vmlinux 0x85d14264 trace_print_flags_seq +EXPORT_SYMBOL vmlinux 0x85d4a167 mini_qdisc_pair_swap +EXPORT_SYMBOL vmlinux 0x85d9ee0d neigh_direct_output +EXPORT_SYMBOL vmlinux 0x85df9b6c strsep +EXPORT_SYMBOL vmlinux 0x85efc7e0 zero_pfn +EXPORT_SYMBOL vmlinux 0x85f0464a skb_free_datagram +EXPORT_SYMBOL vmlinux 0x860efa2c mutex_lock +EXPORT_SYMBOL vmlinux 0x86216acd __xa_set_mark +EXPORT_SYMBOL vmlinux 0x862c8035 bitmap_alloc_node +EXPORT_SYMBOL vmlinux 0x8630ec23 tag_pages_for_writeback +EXPORT_SYMBOL vmlinux 0x863a276a color_table +EXPORT_SYMBOL vmlinux 0x863fd3af address_space_init_once +EXPORT_SYMBOL vmlinux 0x86483aee tcp_v4_syn_recv_sock +EXPORT_SYMBOL vmlinux 0x86495f93 sock_no_ioctl +EXPORT_SYMBOL vmlinux 0x866460fb ipv6_find_hdr +EXPORT_SYMBOL vmlinux 0x86679edb tcp_gro_complete +EXPORT_SYMBOL vmlinux 0x866a62b2 gnet_stats_basic_sync_init +EXPORT_SYMBOL vmlinux 0x8674a07b vlan_vids_add_by_dev +EXPORT_SYMBOL vmlinux 0x8676db46 get_random_bytes +EXPORT_SYMBOL vmlinux 0x868acba5 get_options +EXPORT_SYMBOL vmlinux 0x868bde1d down_write_trylock +EXPORT_SYMBOL vmlinux 0x869ca174 qdisc_reset +EXPORT_SYMBOL vmlinux 0x86a34793 _copy_to_user_key +EXPORT_SYMBOL vmlinux 0x86a8f3bb dev_uc_unsync +EXPORT_SYMBOL vmlinux 0x86a8fb71 mutex_unlock +EXPORT_SYMBOL vmlinux 0x86a9d784 __breadahead +EXPORT_SYMBOL vmlinux 0x86bdbe46 __tracepoint_s390_cio_chsc +EXPORT_SYMBOL vmlinux 0x86bf7394 netdev_master_upper_dev_get +EXPORT_SYMBOL vmlinux 0x86cb39f6 param_ops_string +EXPORT_SYMBOL vmlinux 0x86d2335e mempool_create +EXPORT_SYMBOL vmlinux 0x86d52ba5 lookup_constant +EXPORT_SYMBOL vmlinux 0x86dd708d tc_skb_ext_tc_enable +EXPORT_SYMBOL vmlinux 0x86e953a9 __bforget +EXPORT_SYMBOL vmlinux 0x86f86c89 kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0x86fb9b05 bitmap_parse_user +EXPORT_SYMBOL vmlinux 0x87072773 skb_pull_data +EXPORT_SYMBOL vmlinux 0x872673ee alloc_fcdev +EXPORT_SYMBOL vmlinux 0x8729fc30 keyring_alloc +EXPORT_SYMBOL vmlinux 0x87415ad1 eth_header +EXPORT_SYMBOL vmlinux 0x874f7e68 ip6_xmit +EXPORT_SYMBOL vmlinux 0x87532703 raw3270_start_irq +EXPORT_SYMBOL vmlinux 0x875bdb38 d_invalidate +EXPORT_SYMBOL vmlinux 0x8761c87b rps_needed +EXPORT_SYMBOL vmlinux 0x877cda24 __sk_backlog_rcv +EXPORT_SYMBOL vmlinux 0x877e7798 debug_hex_ascii_view +EXPORT_SYMBOL vmlinux 0x877f2123 sock_wfree +EXPORT_SYMBOL vmlinux 0x879bcd03 iterate_supers_type +EXPORT_SYMBOL vmlinux 0x87a21cb3 __ubsan_handle_out_of_bounds +EXPORT_SYMBOL vmlinux 0x87a3d0af folio_wait_private_2_killable +EXPORT_SYMBOL vmlinux 0x87b8798d sg_next +EXPORT_SYMBOL vmlinux 0x87d2caeb __ClearPageMovable +EXPORT_SYMBOL vmlinux 0x87df2c32 scsi_block_requests +EXPORT_SYMBOL vmlinux 0x87e8151c skb_copy_and_csum_dev +EXPORT_SYMBOL vmlinux 0x87fcab48 hex2bin +EXPORT_SYMBOL vmlinux 0x88013834 vfs_getattr +EXPORT_SYMBOL vmlinux 0x88029e45 debug_unregister +EXPORT_SYMBOL vmlinux 0x880fb929 udp_lib_getsockopt +EXPORT_SYMBOL vmlinux 0x8810754a _find_first_bit +EXPORT_SYMBOL vmlinux 0x881e0806 dst_discard_out +EXPORT_SYMBOL vmlinux 0x88300dce pcie_port_service_unregister +EXPORT_SYMBOL vmlinux 0x8833bc7e __kfifo_dma_out_finish_r +EXPORT_SYMBOL vmlinux 0x8845d89a __kmalloc_track_caller +EXPORT_SYMBOL vmlinux 0x88472f43 fb_blank +EXPORT_SYMBOL vmlinux 0x88585bda bdi_set_max_ratio +EXPORT_SYMBOL vmlinux 0x8866e4a9 param_get_byte +EXPORT_SYMBOL vmlinux 0x886c0563 shmem_aops +EXPORT_SYMBOL vmlinux 0x8875ed21 udp_flush_pending_frames +EXPORT_SYMBOL vmlinux 0x887e1860 pcix_get_max_mmrbc +EXPORT_SYMBOL vmlinux 0x887efc6f __traceiter_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0x88822d38 unregister_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0x88886b9d generic_file_read_iter +EXPORT_SYMBOL vmlinux 0x888e4911 dma_set_mask +EXPORT_SYMBOL vmlinux 0x88956ecd flow_rule_match_basic +EXPORT_SYMBOL vmlinux 0x88999894 utf8_validate +EXPORT_SYMBOL vmlinux 0x88b28881 blk_queue_update_dma_pad +EXPORT_SYMBOL vmlinux 0x88c837ef put_cmsg +EXPORT_SYMBOL vmlinux 0x88c880b9 set_groups +EXPORT_SYMBOL vmlinux 0x88db9f48 __check_object_size +EXPORT_SYMBOL vmlinux 0x88e1d0f0 page_frag_free +EXPORT_SYMBOL vmlinux 0x88e52cdb idr_for_each +EXPORT_SYMBOL vmlinux 0x891638db input_set_max_poll_interval +EXPORT_SYMBOL vmlinux 0x8917c965 vlan_for_each +EXPORT_SYMBOL vmlinux 0x89475eab rtnl_link_get_net +EXPORT_SYMBOL vmlinux 0x895b5e8b fault_in_subpage_writeable +EXPORT_SYMBOL vmlinux 0x895fa25e md_write_end +EXPORT_SYMBOL vmlinux 0x89621b96 __genradix_iter_peek +EXPORT_SYMBOL vmlinux 0x8983266b iov_iter_single_seg_count +EXPORT_SYMBOL vmlinux 0x898b19cc utf8_strncasecmp +EXPORT_SYMBOL vmlinux 0x89a09837 ioremap_prot +EXPORT_SYMBOL vmlinux 0x89a72572 __tracepoint_s390_cio_hsch +EXPORT_SYMBOL vmlinux 0x89bc0899 redraw_screen +EXPORT_SYMBOL vmlinux 0x89cf605b setattr_prepare +EXPORT_SYMBOL vmlinux 0x89dd1a23 pci_write_vpd +EXPORT_SYMBOL vmlinux 0x89f0f589 fuse_mount_destroy +EXPORT_SYMBOL vmlinux 0x89fc544c msi_desc_to_pci_dev +EXPORT_SYMBOL vmlinux 0x89ff6563 console_start +EXPORT_SYMBOL vmlinux 0x8a1c008e flow_rule_match_eth_addrs +EXPORT_SYMBOL vmlinux 0x8a2fac7a md_update_sb +EXPORT_SYMBOL vmlinux 0x8a53c614 unlock_rename +EXPORT_SYMBOL vmlinux 0x8a65338b percpu_counter_sync +EXPORT_SYMBOL vmlinux 0x8a705ea8 xfrm_spd_getinfo +EXPORT_SYMBOL vmlinux 0x8a7094ba vm_brk_flags +EXPORT_SYMBOL vmlinux 0x8a7d1c31 high_memory +EXPORT_SYMBOL vmlinux 0x8a8bc311 devm_memremap +EXPORT_SYMBOL vmlinux 0x8a97c283 fib_default_rule_add +EXPORT_SYMBOL vmlinux 0x8a99a016 mempool_free_slab +EXPORT_SYMBOL vmlinux 0x8ab8fe9f __page_frag_cache_drain +EXPORT_SYMBOL vmlinux 0x8ac3334b net_dim_get_def_rx_moderation +EXPORT_SYMBOL vmlinux 0x8acba2a8 rt_mutex_base_init +EXPORT_SYMBOL vmlinux 0x8ae4fda9 sk_stream_wait_close +EXPORT_SYMBOL vmlinux 0x8aff9396 xfrm_input_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x8b001cb8 udp_skb_destructor +EXPORT_SYMBOL vmlinux 0x8b0088d1 LZ4_decompress_safe_usingDict +EXPORT_SYMBOL vmlinux 0x8b02a750 security_inode_listsecurity +EXPORT_SYMBOL vmlinux 0x8b07d1ad sg_miter_stop +EXPORT_SYMBOL vmlinux 0x8b37f3b8 netdev_master_upper_dev_link +EXPORT_SYMBOL vmlinux 0x8b42709f xp_dma_unmap +EXPORT_SYMBOL vmlinux 0x8b55fd4f hdmi_spd_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x8b618d08 overflowuid +EXPORT_SYMBOL vmlinux 0x8b649625 neigh_proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0x8b69b617 security_path_mkdir +EXPORT_SYMBOL vmlinux 0x8b78590d inode_sub_bytes +EXPORT_SYMBOL vmlinux 0x8b8059bd in_group_p +EXPORT_SYMBOL vmlinux 0x8b910be2 errseq_sample +EXPORT_SYMBOL vmlinux 0x8b9712a2 fuse_dequeue_forget +EXPORT_SYMBOL vmlinux 0x8ba7a73c sockfd_lookup +EXPORT_SYMBOL vmlinux 0x8bdfc47c __mb_cache_entry_free +EXPORT_SYMBOL vmlinux 0x8bf4fb0b blk_queue_physical_block_size +EXPORT_SYMBOL vmlinux 0x8bfe5e1e inet_csk_reqsk_queue_drop +EXPORT_SYMBOL vmlinux 0x8c2c477c xfrm_state_walk_done +EXPORT_SYMBOL vmlinux 0x8c38e4b2 __wait_on_buffer +EXPORT_SYMBOL vmlinux 0x8c50975f pci_write_config_dword +EXPORT_SYMBOL vmlinux 0x8c63df0a __dynamic_ibdev_dbg +EXPORT_SYMBOL vmlinux 0x8c6592fc hdmi_avi_infoframe_pack_only +EXPORT_SYMBOL vmlinux 0x8c65b7a9 tcp_inbound_md5_hash +EXPORT_SYMBOL vmlinux 0x8c6a0cf7 ethtool_get_phc_vclocks +EXPORT_SYMBOL vmlinux 0x8c816c50 override_creds +EXPORT_SYMBOL vmlinux 0x8c8569cb kstrtoint +EXPORT_SYMBOL vmlinux 0x8c875be0 tcw_init +EXPORT_SYMBOL vmlinux 0x8c939355 xp_set_rxq_info +EXPORT_SYMBOL vmlinux 0x8caf9305 uuid_is_valid +EXPORT_SYMBOL vmlinux 0x8cb062a8 iucv_message_reply +EXPORT_SYMBOL vmlinux 0x8cdfc002 sclp_unregister +EXPORT_SYMBOL vmlinux 0x8cef78c1 register_sysctl_table +EXPORT_SYMBOL vmlinux 0x8d059f51 xfrm6_protocol_deregister +EXPORT_SYMBOL vmlinux 0x8d0a1022 vlan_dev_real_dev +EXPORT_SYMBOL vmlinux 0x8d0b153d dev_uc_add +EXPORT_SYMBOL vmlinux 0x8d0fd4ef idr_replace +EXPORT_SYMBOL vmlinux 0x8d3508cc udp_seq_next +EXPORT_SYMBOL vmlinux 0x8d42f91b vmf_insert_pfn_prot +EXPORT_SYMBOL vmlinux 0x8d55bb8a qid_eq +EXPORT_SYMBOL vmlinux 0x8d5f624e capable_wrt_inode_uidgid +EXPORT_SYMBOL vmlinux 0x8d63a28d input_alloc_absinfo +EXPORT_SYMBOL vmlinux 0x8d73278e hex_asc_upper +EXPORT_SYMBOL vmlinux 0x8d93fd02 pci_restore_state +EXPORT_SYMBOL vmlinux 0x8da6753b xfrm_state_delete +EXPORT_SYMBOL vmlinux 0x8dafa31f cdev_alloc +EXPORT_SYMBOL vmlinux 0x8dc2d3dd blk_queue_max_discard_sectors +EXPORT_SYMBOL vmlinux 0x8dc3821a dev_mc_sync +EXPORT_SYMBOL vmlinux 0x8dc425bb param_set_uint +EXPORT_SYMBOL vmlinux 0x8ddd8aad schedule_timeout +EXPORT_SYMBOL vmlinux 0x8df9dd10 guid_null +EXPORT_SYMBOL vmlinux 0x8e0ac805 kernel_sendpage +EXPORT_SYMBOL vmlinux 0x8e0ff321 submit_bio +EXPORT_SYMBOL vmlinux 0x8e1b2c32 __inode_add_bytes +EXPORT_SYMBOL vmlinux 0x8e241b73 crypto_sha1_finup +EXPORT_SYMBOL vmlinux 0x8e391424 reuseport_attach_prog +EXPORT_SYMBOL vmlinux 0x8e53a7c8 fifo_create_dflt +EXPORT_SYMBOL vmlinux 0x8e562fe8 end_buffer_write_sync +EXPORT_SYMBOL vmlinux 0x8e73ebce proc_doulongvec_minmax +EXPORT_SYMBOL vmlinux 0x8e7c9784 jbd2_journal_unlock_updates +EXPORT_SYMBOL vmlinux 0x8e93bd24 security_secctx_to_secid +EXPORT_SYMBOL vmlinux 0x8e9c8219 put_cmsg_scm_timestamping64 +EXPORT_SYMBOL vmlinux 0x8eb050d7 param_get_ushort +EXPORT_SYMBOL vmlinux 0x8ec39417 configfs_depend_item_unlocked +EXPORT_SYMBOL vmlinux 0x8ec671b5 inode_to_bdi +EXPORT_SYMBOL vmlinux 0x8ecb0d0f netdev_notice +EXPORT_SYMBOL vmlinux 0x8ecea520 watchdog_register_governor +EXPORT_SYMBOL vmlinux 0x8ecef4e6 mdiobus_is_registered_device +EXPORT_SYMBOL vmlinux 0x8ed0642f vfs_getattr_nosec +EXPORT_SYMBOL vmlinux 0x8edf3cef add_watch_to_object +EXPORT_SYMBOL vmlinux 0x8f089832 iterate_dir +EXPORT_SYMBOL vmlinux 0x8f12e77d pci_request_regions +EXPORT_SYMBOL vmlinux 0x8f23f1c4 xsk_tx_peek_release_desc_batch +EXPORT_SYMBOL vmlinux 0x8f2e8039 zstd_find_frame_compressed_size +EXPORT_SYMBOL vmlinux 0x8f3ed559 cookie_timestamp_decode +EXPORT_SYMBOL vmlinux 0x8f787444 __cgroup_bpf_run_filter_sock_ops +EXPORT_SYMBOL vmlinux 0x8f89edc2 vlan_dev_vlan_proto +EXPORT_SYMBOL vmlinux 0x8f92470b blk_integrity_register +EXPORT_SYMBOL vmlinux 0x8f996a30 ethtool_convert_legacy_u32_to_link_mode +EXPORT_SYMBOL vmlinux 0x8fa0fb86 neigh_parms_alloc +EXPORT_SYMBOL vmlinux 0x8fa3baf4 tcp_md5_do_add +EXPORT_SYMBOL vmlinux 0x8fb7fcae nf_setsockopt +EXPORT_SYMBOL vmlinux 0x8fb80490 bmap +EXPORT_SYMBOL vmlinux 0x8fd0849b utf8_normalize +EXPORT_SYMBOL vmlinux 0x8fd5fc62 dma_pool_create +EXPORT_SYMBOL vmlinux 0x8fe089dd blk_mq_stop_hw_queue +EXPORT_SYMBOL vmlinux 0x8ff89ed0 seg6_hmac_exit +EXPORT_SYMBOL vmlinux 0x90006be6 dm_kcopyd_client_flush +EXPORT_SYMBOL vmlinux 0x9001ef1b kmem_cache_free +EXPORT_SYMBOL vmlinux 0x90057b89 con_copy_unimap +EXPORT_SYMBOL vmlinux 0x901d1676 netdev_state_change +EXPORT_SYMBOL vmlinux 0x901d2a5e set_binfmt +EXPORT_SYMBOL vmlinux 0x903c4619 pmdp_xchg_direct +EXPORT_SYMBOL vmlinux 0x90514d97 fscrypt_decrypt_bio +EXPORT_SYMBOL vmlinux 0x9067bc1d tcp_v4_connect +EXPORT_SYMBOL vmlinux 0x907faabf zstd_compress_stream +EXPORT_SYMBOL vmlinux 0x90a55a29 sock_no_accept +EXPORT_SYMBOL vmlinux 0x90abb542 prepare_to_wait_exclusive +EXPORT_SYMBOL vmlinux 0x90af749e dmam_alloc_attrs +EXPORT_SYMBOL vmlinux 0x90b584ce pci_disable_ptm +EXPORT_SYMBOL vmlinux 0x90b83c0c inet_csk_clear_xmit_timers +EXPORT_SYMBOL vmlinux 0x90ba912b __nla_put_64bit +EXPORT_SYMBOL vmlinux 0x90be1e82 configfs_unregister_group +EXPORT_SYMBOL vmlinux 0x90becd3c security_inode_getsecctx +EXPORT_SYMBOL vmlinux 0x90c79c06 try_to_writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0x90d4bc50 dev_mc_unsync +EXPORT_SYMBOL vmlinux 0x910b9808 bioset_exit +EXPORT_SYMBOL vmlinux 0x910c7a0c alloc_pages_exact +EXPORT_SYMBOL vmlinux 0x9116b417 save_fpu_regs +EXPORT_SYMBOL vmlinux 0x9145e8e6 jbd2_journal_get_create_access +EXPORT_SYMBOL vmlinux 0x915b6d38 netdev_offload_xstats_disable +EXPORT_SYMBOL vmlinux 0x9164440d debug_event_common +EXPORT_SYMBOL vmlinux 0x9166fc03 __flush_workqueue +EXPORT_SYMBOL vmlinux 0x917f0e9c km_state_notify +EXPORT_SYMBOL vmlinux 0x91965208 inet_stream_ops +EXPORT_SYMBOL vmlinux 0x919c58f3 __clzsi2 +EXPORT_SYMBOL vmlinux 0x91a488ac __netdev_alloc_frag_align +EXPORT_SYMBOL vmlinux 0x91a5de5e neigh_table_clear +EXPORT_SYMBOL vmlinux 0x91a7b1da qdisc_class_hash_remove +EXPORT_SYMBOL vmlinux 0x91c4a4ae scsi_remove_device +EXPORT_SYMBOL vmlinux 0x91c74a40 skb_checksum_help +EXPORT_SYMBOL vmlinux 0x91cd524b proc_symlink +EXPORT_SYMBOL vmlinux 0x91e0116c dma_alloc_attrs +EXPORT_SYMBOL vmlinux 0x91f4d6a1 security_locked_down +EXPORT_SYMBOL vmlinux 0x91f68ea1 __hw_addr_sync +EXPORT_SYMBOL vmlinux 0x9204dba7 set_guest_storage_key +EXPORT_SYMBOL vmlinux 0x921e1bbf devm_arch_io_reserve_memtype_wc +EXPORT_SYMBOL vmlinux 0x92217474 dev_set_mac_address_user +EXPORT_SYMBOL vmlinux 0x922f45a6 __bitmap_clear +EXPORT_SYMBOL vmlinux 0x92774cf8 __kfence_pool +EXPORT_SYMBOL vmlinux 0x927e2955 xa_get_order +EXPORT_SYMBOL vmlinux 0x92997ed8 _printk +EXPORT_SYMBOL vmlinux 0x9299ebc7 vm_iomap_memory +EXPORT_SYMBOL vmlinux 0x929b4a78 fget +EXPORT_SYMBOL vmlinux 0x92a16af7 lockref_get +EXPORT_SYMBOL vmlinux 0x92cf2923 dump_skip +EXPORT_SYMBOL vmlinux 0x92d5838e request_threaded_irq +EXPORT_SYMBOL vmlinux 0x92d6ea76 __kfifo_dma_in_prepare_r +EXPORT_SYMBOL vmlinux 0x92e42b11 bdi_put +EXPORT_SYMBOL vmlinux 0x92ec510d jiffies64_to_msecs +EXPORT_SYMBOL vmlinux 0x9313a64e genphy_write_mmd_unsupported +EXPORT_SYMBOL vmlinux 0x9318fa66 vfs_parse_fs_string +EXPORT_SYMBOL vmlinux 0x9336b593 pci_choose_state +EXPORT_SYMBOL vmlinux 0x933afd98 panic_notifier_list +EXPORT_SYMBOL vmlinux 0x93696a10 inet_sendpage +EXPORT_SYMBOL vmlinux 0x937343be netdev_class_remove_file_ns +EXPORT_SYMBOL vmlinux 0x93771bfb dev_add_pack +EXPORT_SYMBOL vmlinux 0x937733e3 qid_valid +EXPORT_SYMBOL vmlinux 0x9386fae5 __skb_recv_datagram +EXPORT_SYMBOL vmlinux 0x938da9b3 bio_init_clone +EXPORT_SYMBOL vmlinux 0x93a6e0b2 io_schedule +EXPORT_SYMBOL vmlinux 0x93b3fc74 register_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x93c325e4 skb_set_owner_w +EXPORT_SYMBOL vmlinux 0x93c672e0 __neigh_event_send +EXPORT_SYMBOL vmlinux 0x93e32688 d_alloc_parallel +EXPORT_SYMBOL vmlinux 0x93e6ae5b nlmsg_notify +EXPORT_SYMBOL vmlinux 0x93ec2d2b rtnl_configure_link +EXPORT_SYMBOL vmlinux 0x9428f816 dim_turn +EXPORT_SYMBOL vmlinux 0x942f4c5c iucv_message_reject +EXPORT_SYMBOL vmlinux 0x943db376 vfs_fsync_range +EXPORT_SYMBOL vmlinux 0x9442ab98 blk_integrity_unregister +EXPORT_SYMBOL vmlinux 0x944375db _totalram_pages +EXPORT_SYMBOL vmlinux 0x944395cb dev_get_by_napi_id +EXPORT_SYMBOL vmlinux 0x94466085 devm_memunmap +EXPORT_SYMBOL vmlinux 0x944a564d is_console_locked +EXPORT_SYMBOL vmlinux 0x945775a5 segment_save +EXPORT_SYMBOL vmlinux 0x9477ed45 console_stop +EXPORT_SYMBOL vmlinux 0x947fdb4e qdisc_class_hash_grow +EXPORT_SYMBOL vmlinux 0x94961283 vunmap +EXPORT_SYMBOL vmlinux 0x94b4e186 nf_ip_checksum +EXPORT_SYMBOL vmlinux 0x94be9724 seq_puts +EXPORT_SYMBOL vmlinux 0x94bf03ca utf8_to_utf32 +EXPORT_SYMBOL vmlinux 0x94c9a54b fs_param_is_blockdev +EXPORT_SYMBOL vmlinux 0x94dde473 lease_get_mtime +EXPORT_SYMBOL vmlinux 0x94de64c4 sk_ns_capable +EXPORT_SYMBOL vmlinux 0x94e2eaf8 fscrypt_zeroout_range +EXPORT_SYMBOL vmlinux 0x94e50ad4 call_fib_notifier +EXPORT_SYMBOL vmlinux 0x94f90afc phy_write_paged +EXPORT_SYMBOL vmlinux 0x9507c90f copy_fsxattr_to_user +EXPORT_SYMBOL vmlinux 0x95187659 regset_get_alloc +EXPORT_SYMBOL vmlinux 0x951a2dfe iucv_path_accept +EXPORT_SYMBOL vmlinux 0x952cfb54 __insert_inode_hash +EXPORT_SYMBOL vmlinux 0x9530365d __xa_clear_mark +EXPORT_SYMBOL vmlinux 0x954121b2 blk_rq_map_user_iov +EXPORT_SYMBOL vmlinux 0x954a1ffe phy_ethtool_set_wol +EXPORT_SYMBOL vmlinux 0x954cef6f init_on_alloc +EXPORT_SYMBOL vmlinux 0x954e0abd device_get_mac_address +EXPORT_SYMBOL vmlinux 0x954f099c idr_preload +EXPORT_SYMBOL vmlinux 0x957891df devm_pci_remap_cfg_resource +EXPORT_SYMBOL vmlinux 0x959d3e90 dump_page +EXPORT_SYMBOL vmlinux 0x95aad211 blk_mq_run_hw_queue +EXPORT_SYMBOL vmlinux 0x95b38ccc resource_list_create_entry +EXPORT_SYMBOL vmlinux 0x95c07f01 cdrom_mode_sense +EXPORT_SYMBOL vmlinux 0x95c3f8e5 param_ops_invbool +EXPORT_SYMBOL vmlinux 0x95ce62f1 key_type_keyring +EXPORT_SYMBOL vmlinux 0x95ceb864 key_update +EXPORT_SYMBOL vmlinux 0x95e63ced prot_virt_host +EXPORT_SYMBOL vmlinux 0x95ecb8ae __seq_open_private +EXPORT_SYMBOL vmlinux 0x963e0fa6 input_set_timestamp +EXPORT_SYMBOL vmlinux 0x96404e39 itcw_set_data +EXPORT_SYMBOL vmlinux 0x96564e54 pid_task +EXPORT_SYMBOL vmlinux 0x966f7ddc qdisc_watchdog_cancel +EXPORT_SYMBOL vmlinux 0x96a2a091 xsk_set_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0x96a7f1ce neigh_for_each +EXPORT_SYMBOL vmlinux 0x96c17136 fb_var_to_videomode +EXPORT_SYMBOL vmlinux 0x96cd2b04 scsi_sense_key_string +EXPORT_SYMBOL vmlinux 0x96d5c67b dm_kcopyd_zero +EXPORT_SYMBOL vmlinux 0x96db63df xfrm_unregister_km +EXPORT_SYMBOL vmlinux 0x96f8b324 genphy_read_abilities +EXPORT_SYMBOL vmlinux 0x96f9993f __hw_addr_ref_sync_dev +EXPORT_SYMBOL vmlinux 0x96fab350 dim_park_on_top +EXPORT_SYMBOL vmlinux 0x9703a514 inc_node_page_state +EXPORT_SYMBOL vmlinux 0x970f17a7 ap_parse_mask_str +EXPORT_SYMBOL vmlinux 0x97102bcf inet6_offloads +EXPORT_SYMBOL vmlinux 0x9710bcd3 bio_alloc_bioset +EXPORT_SYMBOL vmlinux 0x9715f91a iunique +EXPORT_SYMBOL vmlinux 0x97222f34 iov_iter_npages +EXPORT_SYMBOL vmlinux 0x9723a298 pci_map_rom +EXPORT_SYMBOL vmlinux 0x972815d3 __folio_start_writeback +EXPORT_SYMBOL vmlinux 0x974d0924 __kernel_cpumcf_begin +EXPORT_SYMBOL vmlinux 0x975636da iov_iter_discard +EXPORT_SYMBOL vmlinux 0x9780c2d8 __traceiter_kmalloc +EXPORT_SYMBOL vmlinux 0x97934ecf del_timer_sync +EXPORT_SYMBOL vmlinux 0x979b5887 raw3270_start_locked +EXPORT_SYMBOL vmlinux 0x97adb487 utf8s_to_utf16s +EXPORT_SYMBOL vmlinux 0x97bdfa60 scsi_dev_info_remove_list +EXPORT_SYMBOL vmlinux 0x97bfbc5b tso_build_data +EXPORT_SYMBOL vmlinux 0x97c250f8 sock_cmsg_send +EXPORT_SYMBOL vmlinux 0x97d5cfe1 nf_hook_slow_list +EXPORT_SYMBOL vmlinux 0x97d9ac98 genphy_aneg_done +EXPORT_SYMBOL vmlinux 0x98200e4c dm_table_get_size +EXPORT_SYMBOL vmlinux 0x9839a803 __brelse +EXPORT_SYMBOL vmlinux 0x983f1d2d netdev_offload_xstats_get +EXPORT_SYMBOL vmlinux 0x983fd7ee security_sctp_sk_clone +EXPORT_SYMBOL vmlinux 0x9841c6a2 iget_locked +EXPORT_SYMBOL vmlinux 0x9883d158 pcim_iounmap +EXPORT_SYMBOL vmlinux 0x989e0aa2 lookup_one_len +EXPORT_SYMBOL vmlinux 0x989e1516 xa_destroy +EXPORT_SYMBOL vmlinux 0x98b145d4 inet_frag_destroy +EXPORT_SYMBOL vmlinux 0x98bd594c pci_enable_msix_range +EXPORT_SYMBOL vmlinux 0x98c2f539 d_add +EXPORT_SYMBOL vmlinux 0x98c89ade security_xfrm_state_alloc +EXPORT_SYMBOL vmlinux 0x98d52e03 vfs_create +EXPORT_SYMBOL vmlinux 0x98d7838d bioset_init +EXPORT_SYMBOL vmlinux 0x98de1c15 snprintf +EXPORT_SYMBOL vmlinux 0x98e2196c __remove_inode_hash +EXPORT_SYMBOL vmlinux 0x98e508ef ignore_console_lock_warning +EXPORT_SYMBOL vmlinux 0x98e71d04 get_unmapped_area +EXPORT_SYMBOL vmlinux 0x98ee2a4f dquot_claim_space_nodirty +EXPORT_SYMBOL vmlinux 0x9900761a zstd_dstream_workspace_bound +EXPORT_SYMBOL vmlinux 0x99095a9d skb_queue_tail +EXPORT_SYMBOL vmlinux 0x99193fa4 netlink_kernel_release +EXPORT_SYMBOL vmlinux 0x9942ec77 itcw_finalize +EXPORT_SYMBOL vmlinux 0x99517682 udp_encap_enable +EXPORT_SYMBOL vmlinux 0x9972b379 udp_sendmsg +EXPORT_SYMBOL vmlinux 0x997359e1 kfree_skb_reason +EXPORT_SYMBOL vmlinux 0x9996477b __nla_put +EXPORT_SYMBOL vmlinux 0x999cb5c5 pcie_capability_read_word +EXPORT_SYMBOL vmlinux 0x999e8297 vfree +EXPORT_SYMBOL vmlinux 0x99b6d3f6 tc_setup_cb_replace +EXPORT_SYMBOL vmlinux 0x99c178b5 sock_diag_put_filterinfo +EXPORT_SYMBOL vmlinux 0x99c28d8c generic_listxattr +EXPORT_SYMBOL vmlinux 0x99ca74a6 xa_erase +EXPORT_SYMBOL vmlinux 0x99d265b9 tcp_v4_send_check +EXPORT_SYMBOL vmlinux 0x99d472b1 net_dim_get_rx_moderation +EXPORT_SYMBOL vmlinux 0x99daa9bf try_offline_node +EXPORT_SYMBOL vmlinux 0x99f6a73c xfrm_policy_unregister_afinfo +EXPORT_SYMBOL vmlinux 0x99f9638f __napi_alloc_frag_align +EXPORT_SYMBOL vmlinux 0x9a0b1d27 nobh_write_begin +EXPORT_SYMBOL vmlinux 0x9a1cb0dd add_to_pipe +EXPORT_SYMBOL vmlinux 0x9a1dfd65 strpbrk +EXPORT_SYMBOL vmlinux 0x9a29cf6a jbd2_log_start_commit +EXPORT_SYMBOL vmlinux 0x9a3a8b7d ap_driver_register +EXPORT_SYMBOL vmlinux 0x9a3c9a81 blk_queue_update_dma_alignment +EXPORT_SYMBOL vmlinux 0x9a583306 netlbl_bitmap_walk +EXPORT_SYMBOL vmlinux 0x9a684448 do_wait_intr +EXPORT_SYMBOL vmlinux 0x9a8789c2 mdiobus_read +EXPORT_SYMBOL vmlinux 0x9a906daf memscan +EXPORT_SYMBOL vmlinux 0x9a96005b vfs_iter_write +EXPORT_SYMBOL vmlinux 0x9aa4c75d jbd2_transaction_committed +EXPORT_SYMBOL vmlinux 0x9aaeefce sysctl_nf_log_all_netns +EXPORT_SYMBOL vmlinux 0x9ac5ed60 unregister_key_type +EXPORT_SYMBOL vmlinux 0x9acb4fb4 block_truncate_page +EXPORT_SYMBOL vmlinux 0x9acb7bac zpci_report_error +EXPORT_SYMBOL vmlinux 0x9ad99857 dev_open +EXPORT_SYMBOL vmlinux 0x9adc9c67 vsnprintf +EXPORT_SYMBOL vmlinux 0x9ae47436 _find_last_bit +EXPORT_SYMBOL vmlinux 0x9ae75e23 sock_set_rcvbuf +EXPORT_SYMBOL vmlinux 0x9af370ac get_user_pages_remote +EXPORT_SYMBOL vmlinux 0x9b21fc52 flow_indr_dev_setup_offload +EXPORT_SYMBOL vmlinux 0x9b2560b9 gf128mul_init_4k_bbe +EXPORT_SYMBOL vmlinux 0x9b2af560 no_llseek +EXPORT_SYMBOL vmlinux 0x9b33e0d7 unregister_dcbevent_notifier +EXPORT_SYMBOL vmlinux 0x9b42ef0f dfltcc_reset +EXPORT_SYMBOL vmlinux 0x9b496b21 posix_acl_alloc +EXPORT_SYMBOL vmlinux 0x9b5f91f2 param_get_short +EXPORT_SYMBOL vmlinux 0x9b7470c1 tc_setup_offload_action +EXPORT_SYMBOL vmlinux 0x9b791d98 sdev_enable_disk_events +EXPORT_SYMBOL vmlinux 0x9b8d07aa strnlen +EXPORT_SYMBOL vmlinux 0x9b8e0062 netlink_set_err +EXPORT_SYMBOL vmlinux 0x9b9bf91c key_task_permission +EXPORT_SYMBOL vmlinux 0x9bcf3558 __mod_zone_page_state +EXPORT_SYMBOL vmlinux 0x9bd20399 pipe_lock +EXPORT_SYMBOL vmlinux 0x9be5099c unpin_user_page +EXPORT_SYMBOL vmlinux 0x9bec81b9 dma_resv_copy_fences +EXPORT_SYMBOL vmlinux 0x9bedd673 dma_fence_get_status +EXPORT_SYMBOL vmlinux 0x9bf06bd7 __dec_node_page_state +EXPORT_SYMBOL vmlinux 0x9c049806 unpin_user_page_range_dirty_lock +EXPORT_SYMBOL vmlinux 0x9c151813 dev_addr_del +EXPORT_SYMBOL vmlinux 0x9c594c68 key_put +EXPORT_SYMBOL vmlinux 0x9c72f7c9 sget +EXPORT_SYMBOL vmlinux 0x9c82911a pci_add_new_bus +EXPORT_SYMBOL vmlinux 0x9c86b9ab fileattr_fill_flags +EXPORT_SYMBOL vmlinux 0x9c8c86b8 ipv6_mc_check_mld +EXPORT_SYMBOL vmlinux 0x9cadbd3b __init_swait_queue_head +EXPORT_SYMBOL vmlinux 0x9cde8ee5 tcp_getsockopt +EXPORT_SYMBOL vmlinux 0x9cdfb3f7 sysctl_fb_tunnels_only_for_init_net +EXPORT_SYMBOL vmlinux 0x9ce2e247 neigh_destroy +EXPORT_SYMBOL vmlinux 0x9ce40bac __dquot_alloc_space +EXPORT_SYMBOL vmlinux 0x9d0d6206 unregister_netdevice_notifier +EXPORT_SYMBOL vmlinux 0x9d1da73e raw3270_find_view +EXPORT_SYMBOL vmlinux 0x9d2ab8ac __tasklet_schedule +EXPORT_SYMBOL vmlinux 0x9d2e7707 unregister_sysrq_key +EXPORT_SYMBOL vmlinux 0x9d503d43 proc_create_seq_private +EXPORT_SYMBOL vmlinux 0x9d509dca init_opal_dev +EXPORT_SYMBOL vmlinux 0x9d615d47 component_match_add_release +EXPORT_SYMBOL vmlinux 0x9d6afab2 itcw_add_dcw +EXPORT_SYMBOL vmlinux 0x9d6e1808 neigh_event_ns +EXPORT_SYMBOL vmlinux 0x9d7ad0c8 __cpuhp_remove_state_cpuslocked +EXPORT_SYMBOL vmlinux 0x9d8bbbe2 dev_mc_add +EXPORT_SYMBOL vmlinux 0x9dbe53d0 unregister_nexthop_notifier +EXPORT_SYMBOL vmlinux 0x9dc8c7a3 pci_setup_cardbus +EXPORT_SYMBOL vmlinux 0x9dd110fd lease_modify +EXPORT_SYMBOL vmlinux 0x9df2842e sock_setsockopt +EXPORT_SYMBOL vmlinux 0x9df85e95 fs_context_for_mount +EXPORT_SYMBOL vmlinux 0x9e0c711d vzalloc_node +EXPORT_SYMBOL vmlinux 0x9e0fa5ae hsiphash_3u32 +EXPORT_SYMBOL vmlinux 0x9e13f6f6 gf128mul_lle +EXPORT_SYMBOL vmlinux 0x9e16d5e5 sock_create +EXPORT_SYMBOL vmlinux 0x9e265708 __xfrm_route_forward +EXPORT_SYMBOL vmlinux 0x9e35dd3d flow_rule_match_icmp +EXPORT_SYMBOL vmlinux 0x9e386727 vfs_fileattr_set +EXPORT_SYMBOL vmlinux 0x9e3a4965 uv_info +EXPORT_SYMBOL vmlinux 0x9e48c3ae dquot_quota_off +EXPORT_SYMBOL vmlinux 0x9e4faeef dm_io_client_destroy +EXPORT_SYMBOL vmlinux 0x9e61bb05 set_freezable +EXPORT_SYMBOL vmlinux 0x9e672336 param_set_ushort +EXPORT_SYMBOL vmlinux 0x9e7d6bd0 __udelay +EXPORT_SYMBOL vmlinux 0x9e9783e1 __tracepoint_s390_cio_ssch +EXPORT_SYMBOL vmlinux 0x9e9eab95 devcgroup_check_permission +EXPORT_SYMBOL vmlinux 0x9e9fdd9d memunmap +EXPORT_SYMBOL vmlinux 0x9ec6ca96 ktime_get_real_ts64 +EXPORT_SYMBOL vmlinux 0x9f0c903f phy_device_free +EXPORT_SYMBOL vmlinux 0x9f1b09bc no_seek_end_llseek_size +EXPORT_SYMBOL vmlinux 0x9f46ced8 __sw_hweight64 +EXPORT_SYMBOL vmlinux 0x9f477239 netdev_crit +EXPORT_SYMBOL vmlinux 0x9f48626f kernel_sendmsg_locked +EXPORT_SYMBOL vmlinux 0x9f48ad98 unregister_netdevice_notifier_net +EXPORT_SYMBOL vmlinux 0x9f50b770 keyring_restrict +EXPORT_SYMBOL vmlinux 0x9f54ead7 gro_cells_destroy +EXPORT_SYMBOL vmlinux 0x9f55a43b n_tty_ioctl_helper +EXPORT_SYMBOL vmlinux 0x9f85b546 tcp_sock_set_quickack +EXPORT_SYMBOL vmlinux 0x9f984513 strrchr +EXPORT_SYMBOL vmlinux 0x9f995d98 ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0x9fa7184a cancel_delayed_work_sync +EXPORT_SYMBOL vmlinux 0x9fb41842 netdev_offload_xstats_report_delta +EXPORT_SYMBOL vmlinux 0x9fc91428 blkdev_compat_ptr_ioctl +EXPORT_SYMBOL vmlinux 0x9fdecc31 unregister_netdevice_many +EXPORT_SYMBOL vmlinux 0x9fe53545 xp_dma_sync_for_cpu_slow +EXPORT_SYMBOL vmlinux 0x9feed7ce timer_reduce +EXPORT_SYMBOL vmlinux 0x9ffa3a75 netdev_max_backlog +EXPORT_SYMBOL vmlinux 0x9ffc9cf0 scsi_device_set_state +EXPORT_SYMBOL vmlinux 0xa00e3dcd find_inode_nowait +EXPORT_SYMBOL vmlinux 0xa01d3df6 font_vga_8x16 +EXPORT_SYMBOL vmlinux 0xa020d301 proc_create_mount_point +EXPORT_SYMBOL vmlinux 0xa033d747 next_arg +EXPORT_SYMBOL vmlinux 0xa0436e98 in6addr_linklocal_allnodes +EXPORT_SYMBOL vmlinux 0xa053330e scsi_is_sdev_device +EXPORT_SYMBOL vmlinux 0xa054e8ed iucv_unregister +EXPORT_SYMBOL vmlinux 0xa05b6be2 psched_ppscfg_precompute +EXPORT_SYMBOL vmlinux 0xa066d89f xa_store_range +EXPORT_SYMBOL vmlinux 0xa06e587a release_firmware +EXPORT_SYMBOL vmlinux 0xa07d1b3c tasklet_setup +EXPORT_SYMBOL vmlinux 0xa084749a __bitmap_or +EXPORT_SYMBOL vmlinux 0xa08b9f80 __traceiter_kmalloc_node +EXPORT_SYMBOL vmlinux 0xa08f7b47 __tty_insert_flip_char +EXPORT_SYMBOL vmlinux 0xa090905c cdrom_ioctl +EXPORT_SYMBOL vmlinux 0xa095e02e generic_check_addressable +EXPORT_SYMBOL vmlinux 0xa099ddee vfs_parse_fs_param_source +EXPORT_SYMBOL vmlinux 0xa0a15b49 smp_call_function_many +EXPORT_SYMBOL vmlinux 0xa0ae1e73 siphash_3u64 +EXPORT_SYMBOL vmlinux 0xa0b04675 vmalloc_32 +EXPORT_SYMBOL vmlinux 0xa0c67eef pci_scan_bus +EXPORT_SYMBOL vmlinux 0xa0d3d560 ksize +EXPORT_SYMBOL vmlinux 0xa0d87339 qdisc_get_rtab +EXPORT_SYMBOL vmlinux 0xa0dad88e netdev_adjacent_get_private +EXPORT_SYMBOL vmlinux 0xa0dba993 dev_remove_offload +EXPORT_SYMBOL vmlinux 0xa0e669b3 security_old_inode_init_security +EXPORT_SYMBOL vmlinux 0xa0ea4fc4 flow_block_cb_decref +EXPORT_SYMBOL vmlinux 0xa0eae826 smp_call_function +EXPORT_SYMBOL vmlinux 0xa0ebd14c sysctl_tcp_mem +EXPORT_SYMBOL vmlinux 0xa0ebd437 hdmi_drm_infoframe_check +EXPORT_SYMBOL vmlinux 0xa0fbac79 wake_up_bit +EXPORT_SYMBOL vmlinux 0xa0fd354f netdev_bonding_info_change +EXPORT_SYMBOL vmlinux 0xa102f8d8 generic_file_open +EXPORT_SYMBOL vmlinux 0xa108eb4d sysctl_optmem_max +EXPORT_SYMBOL vmlinux 0xa10a0439 kmalloc_order +EXPORT_SYMBOL vmlinux 0xa140695d reuseport_migrate_sock +EXPORT_SYMBOL vmlinux 0xa148007b __icmp_send +EXPORT_SYMBOL vmlinux 0xa15d28d0 flow_rule_match_enc_keyid +EXPORT_SYMBOL vmlinux 0xa1856ba6 tty_port_carrier_raised +EXPORT_SYMBOL vmlinux 0xa1a422c8 neigh_connected_output +EXPORT_SYMBOL vmlinux 0xa1a8cc6c crc_ccitt_false +EXPORT_SYMBOL vmlinux 0xa1b87900 zstd_compress_cctx +EXPORT_SYMBOL vmlinux 0xa1ba2277 iov_iter_xarray +EXPORT_SYMBOL vmlinux 0xa1baaa46 kiocb_set_cancel_fn +EXPORT_SYMBOL vmlinux 0xa1bbd026 simple_write_begin +EXPORT_SYMBOL vmlinux 0xa1d238b4 ihold +EXPORT_SYMBOL vmlinux 0xa1d5979b find_first_bit_inv +EXPORT_SYMBOL vmlinux 0xa1d91fc7 debug_register_view +EXPORT_SYMBOL vmlinux 0xa1e1cec9 scsi_block_when_processing_errors +EXPORT_SYMBOL vmlinux 0xa1ea5033 xfrm_state_insert +EXPORT_SYMBOL vmlinux 0xa1ec8f1c __kfifo_to_user_r +EXPORT_SYMBOL vmlinux 0xa1fbfa25 set_anon_super_fc +EXPORT_SYMBOL vmlinux 0xa1fee353 tcw_set_tsb +EXPORT_SYMBOL vmlinux 0xa20437a2 phy_ethtool_get_wol +EXPORT_SYMBOL vmlinux 0xa2046e63 icmpv6_ndo_send +EXPORT_SYMBOL vmlinux 0xa2060911 inet_current_timestamp +EXPORT_SYMBOL vmlinux 0xa2288805 tc_setup_cb_call +EXPORT_SYMBOL vmlinux 0xa23ffc04 groups_sort +EXPORT_SYMBOL vmlinux 0xa2478de8 super_setup_bdi +EXPORT_SYMBOL vmlinux 0xa24bc665 page_cache_prev_miss +EXPORT_SYMBOL vmlinux 0xa24f23d8 __request_module +EXPORT_SYMBOL vmlinux 0xa263892b fscrypt_fname_free_buffer +EXPORT_SYMBOL vmlinux 0xa2660e90 __tracepoint_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xa267480e alloc_buffer_head +EXPORT_SYMBOL vmlinux 0xa28caf08 seq_release_private +EXPORT_SYMBOL vmlinux 0xa28cfcc0 gen_estimator_active +EXPORT_SYMBOL vmlinux 0xa28e1b49 __percpu_counter_compare +EXPORT_SYMBOL vmlinux 0xa2920693 param_array_ops +EXPORT_SYMBOL vmlinux 0xa29b7ccb bio_free_pages +EXPORT_SYMBOL vmlinux 0xa2b4f2e3 scsi_done_direct +EXPORT_SYMBOL vmlinux 0xa2d7ec8d __SCK__tp_func_kmem_cache_free +EXPORT_SYMBOL vmlinux 0xa2f58912 pci_iomap_range +EXPORT_SYMBOL vmlinux 0xa2f95a20 textsearch_prepare +EXPORT_SYMBOL vmlinux 0xa2fc75e7 trace_print_hex_seq +EXPORT_SYMBOL vmlinux 0xa2fe4844 xfrm_policy_delete +EXPORT_SYMBOL vmlinux 0xa309c1bf pci_clear_mwi +EXPORT_SYMBOL vmlinux 0xa31098a5 __tty_alloc_driver +EXPORT_SYMBOL vmlinux 0xa31d1dea __xa_erase +EXPORT_SYMBOL vmlinux 0xa3509ddc dev_base_lock +EXPORT_SYMBOL vmlinux 0xa35ab857 inet_confirm_addr +EXPORT_SYMBOL vmlinux 0xa37c3355 rtnetlink_put_metrics +EXPORT_SYMBOL vmlinux 0xa38d33a6 simple_open +EXPORT_SYMBOL vmlinux 0xa38e7abf input_unregister_handler +EXPORT_SYMBOL vmlinux 0xa39358ea phy_read_paged +EXPORT_SYMBOL vmlinux 0xa39ae677 nobh_writepage +EXPORT_SYMBOL vmlinux 0xa39ae7fd datagram_poll +EXPORT_SYMBOL vmlinux 0xa3a0cc12 raw3270_wait_queue +EXPORT_SYMBOL vmlinux 0xa3a5be95 memmove +EXPORT_SYMBOL vmlinux 0xa3b06dde percpu_counter_destroy +EXPORT_SYMBOL vmlinux 0xa3baa601 empty_aops +EXPORT_SYMBOL vmlinux 0xa3bcd2b8 unregister_mii_timestamper +EXPORT_SYMBOL vmlinux 0xa3be8342 __ubsan_handle_type_mismatch +EXPORT_SYMBOL vmlinux 0xa3decb66 ip_tunnel_parse_protocol +EXPORT_SYMBOL vmlinux 0xa3e3f906 __phy_read_mmd +EXPORT_SYMBOL vmlinux 0xa3e45c43 generic_write_checks +EXPORT_SYMBOL vmlinux 0xa3e8cfa7 clear_page_dirty_for_io +EXPORT_SYMBOL vmlinux 0xa3f7aa51 __tracepoint_s390_cio_rsch +EXPORT_SYMBOL vmlinux 0xa3fea172 sha224_final +EXPORT_SYMBOL vmlinux 0xa401aa37 current_in_userns +EXPORT_SYMBOL vmlinux 0xa4051bf6 LZ4_decompress_safe_continue +EXPORT_SYMBOL vmlinux 0xa431c701 pcie_port_service_register +EXPORT_SYMBOL vmlinux 0xa432f041 __xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xa444e69e pci_msix_vec_count +EXPORT_SYMBOL vmlinux 0xa44b520a __scsi_format_command +EXPORT_SYMBOL vmlinux 0xa45c59bd __SCK__tp_func_s390_cio_chsc +EXPORT_SYMBOL vmlinux 0xa463ffd6 devm_pci_alloc_host_bridge +EXPORT_SYMBOL vmlinux 0xa4b0bf88 scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xa4b99901 sg_miter_start +EXPORT_SYMBOL vmlinux 0xa4cbe0f1 tso_count_descs +EXPORT_SYMBOL vmlinux 0xa4ce2fcb ndo_dflt_fdb_add +EXPORT_SYMBOL vmlinux 0xa4e07209 nf_register_net_hooks +EXPORT_SYMBOL vmlinux 0xa4e188e7 strscpy +EXPORT_SYMBOL vmlinux 0xa4ed8f91 sock_recv_errqueue +EXPORT_SYMBOL vmlinux 0xa50350d4 flow_rule_match_cvlan +EXPORT_SYMBOL vmlinux 0xa503dd04 wait_for_completion_killable_timeout +EXPORT_SYMBOL vmlinux 0xa50483fe __ksize +EXPORT_SYMBOL vmlinux 0xa50a3da7 _find_next_bit +EXPORT_SYMBOL vmlinux 0xa50e0768 freezing_slow_path +EXPORT_SYMBOL vmlinux 0xa510fb2c fb_firmware_edid +EXPORT_SYMBOL vmlinux 0xa514bd50 tty_check_change +EXPORT_SYMBOL vmlinux 0xa52e597b __bread_gfp +EXPORT_SYMBOL vmlinux 0xa5304150 generic_remap_file_range_prep +EXPORT_SYMBOL vmlinux 0xa533fc04 put_ipc_ns +EXPORT_SYMBOL vmlinux 0xa5526619 rb_insert_color +EXPORT_SYMBOL vmlinux 0xa5621b66 tty_port_close +EXPORT_SYMBOL vmlinux 0xa568ee81 pcie_capability_write_word +EXPORT_SYMBOL vmlinux 0xa569fe17 vfs_iocb_iter_write +EXPORT_SYMBOL vmlinux 0xa58b31da __wait_on_bit +EXPORT_SYMBOL vmlinux 0xa5a3b051 __dev_get_by_name +EXPORT_SYMBOL vmlinux 0xa5a45301 devm_free_irq +EXPORT_SYMBOL vmlinux 0xa5e859e4 raw3270_deactivate_view +EXPORT_SYMBOL vmlinux 0xa60c0b31 arp_tbl +EXPORT_SYMBOL vmlinux 0xa618b54e fiemap_prep +EXPORT_SYMBOL vmlinux 0xa61ced89 qdisc_put_rtab +EXPORT_SYMBOL vmlinux 0xa62959fa skb_push +EXPORT_SYMBOL vmlinux 0xa6386481 textsearch_unregister +EXPORT_SYMBOL vmlinux 0xa644172a __folio_cancel_dirty +EXPORT_SYMBOL vmlinux 0xa648e561 __ubsan_handle_shift_out_of_bounds +EXPORT_SYMBOL vmlinux 0xa6495772 bio_integrity_prep +EXPORT_SYMBOL vmlinux 0xa64c7249 __printk_cpu_sync_try_get +EXPORT_SYMBOL vmlinux 0xa6710969 igrab +EXPORT_SYMBOL vmlinux 0xa67d5921 dma_fence_free +EXPORT_SYMBOL vmlinux 0xa681fe88 generate_random_uuid +EXPORT_SYMBOL vmlinux 0xa69b41f9 netdev_rx_csum_fault +EXPORT_SYMBOL vmlinux 0xa6a6733a dcache_dir_lseek +EXPORT_SYMBOL vmlinux 0xa6ba09c5 tty_port_raise_dtr_rts +EXPORT_SYMBOL vmlinux 0xa6bd176c ccw_device_tm_start_key +EXPORT_SYMBOL vmlinux 0xa6c74b4a dquot_transfer +EXPORT_SYMBOL vmlinux 0xa6d267f7 generic_key_instantiate +EXPORT_SYMBOL vmlinux 0xa6e9c670 blake2s_compress_generic +EXPORT_SYMBOL vmlinux 0xa6f88cf5 seg6_hmac_info_del +EXPORT_SYMBOL vmlinux 0xa6fbe5f4 pci_bus_read_config_byte +EXPORT_SYMBOL vmlinux 0xa6fc2d30 phy_get_pause +EXPORT_SYMBOL vmlinux 0xa7200ade key_reject_and_link +EXPORT_SYMBOL vmlinux 0xa74c9877 refcount_dec_and_rtnl_lock +EXPORT_SYMBOL vmlinux 0xa74f5c99 md_finish_reshape +EXPORT_SYMBOL vmlinux 0xa75c4b0c vmf_insert_mixed +EXPORT_SYMBOL vmlinux 0xa7711e50 from_kprojid +EXPORT_SYMBOL vmlinux 0xa77a4efa jbd2_journal_check_used_features +EXPORT_SYMBOL vmlinux 0xa77bfd29 register_inet6addr_validator_notifier +EXPORT_SYMBOL vmlinux 0xa7a9cfe0 iucv_message_send2way +EXPORT_SYMBOL vmlinux 0xa7e8f115 alloc_file_pseudo +EXPORT_SYMBOL vmlinux 0xa7eedcc4 call_usermodehelper +EXPORT_SYMBOL vmlinux 0xa801855c kthread_create_on_node +EXPORT_SYMBOL vmlinux 0xa8036982 file_remove_privs +EXPORT_SYMBOL vmlinux 0xa83c8a3c phy_print_status +EXPORT_SYMBOL vmlinux 0xa843805a get_unused_fd_flags +EXPORT_SYMBOL vmlinux 0xa84ce9e0 crypto_aes_inv_sbox +EXPORT_SYMBOL vmlinux 0xa856ac6a mr_mfc_seq_next +EXPORT_SYMBOL vmlinux 0xa85945b0 phy_ethtool_get_eee +EXPORT_SYMBOL vmlinux 0xa85bdf8e blk_sync_queue +EXPORT_SYMBOL vmlinux 0xa8694ecd kblockd_schedule_work +EXPORT_SYMBOL vmlinux 0xa893982f scsi_track_queue_full +EXPORT_SYMBOL vmlinux 0xa8977589 folio_account_redirty +EXPORT_SYMBOL vmlinux 0xa8b0f4db scsi_host_busy +EXPORT_SYMBOL vmlinux 0xa8b3d8cd mdio_device_remove +EXPORT_SYMBOL vmlinux 0xa8c39416 fwnode_phy_find_device +EXPORT_SYMBOL vmlinux 0xa8e3fe19 radix_tree_tag_clear +EXPORT_SYMBOL vmlinux 0xa8e69f03 __xfrm_policy_check +EXPORT_SYMBOL vmlinux 0xa8f6c843 ip_frag_ecn_table +EXPORT_SYMBOL vmlinux 0xa8f94ac6 elv_bio_merge_ok +EXPORT_SYMBOL vmlinux 0xa9007509 sock_pfree +EXPORT_SYMBOL vmlinux 0xa90ca0de flush_rcu_work +EXPORT_SYMBOL vmlinux 0xa90d613a pci_request_region +EXPORT_SYMBOL vmlinux 0xa92239d4 get_phy_device +EXPORT_SYMBOL vmlinux 0xa92c9f8d __traceiter_s390_cio_tsch +EXPORT_SYMBOL vmlinux 0xa9392430 xa_clear_mark +EXPORT_SYMBOL vmlinux 0xa93bc955 genl_register_family +EXPORT_SYMBOL vmlinux 0xa944bb84 page_pool_return_skb_page +EXPORT_SYMBOL vmlinux 0xa95c4dc1 proc_dointvec_ms_jiffies +EXPORT_SYMBOL vmlinux 0xa965ca81 reciprocal_value +EXPORT_SYMBOL vmlinux 0xa970351b dquot_commit +EXPORT_SYMBOL vmlinux 0xa9704e7c netdev_pick_tx +EXPORT_SYMBOL vmlinux 0xa976957d bitmap_remap +EXPORT_SYMBOL vmlinux 0xa98adb8c nexthop_bucket_set_hw_flags +EXPORT_SYMBOL vmlinux 0xa9ce9585 skb_mac_gso_segment +EXPORT_SYMBOL vmlinux 0xa9de5c6c scsi_command_normalize_sense +EXPORT_SYMBOL vmlinux 0xa9f618cd dev_uc_init +EXPORT_SYMBOL vmlinux 0xaa14ff53 vfs_symlink +EXPORT_SYMBOL vmlinux 0xaa1911ea nf_hook_slow +EXPORT_SYMBOL vmlinux 0xaa195d37 jbd2_journal_ack_err +EXPORT_SYMBOL vmlinux 0xaa19e4aa _kstrtol +EXPORT_SYMBOL vmlinux 0xaa1c6624 raw3270_request_reset +EXPORT_SYMBOL vmlinux 0xaa1e246a xxh32_update +EXPORT_SYMBOL vmlinux 0xaa498678 mr_mfc_find_parent +EXPORT_SYMBOL vmlinux 0xaa4c28ba netdev_upper_dev_unlink +EXPORT_SYMBOL vmlinux 0xaa53b33c gen_pool_dma_zalloc_algo +EXPORT_SYMBOL vmlinux 0xaa5c9395 dma_fence_array_ops +EXPORT_SYMBOL vmlinux 0xaa7a1f77 __xa_cmpxchg +EXPORT_SYMBOL vmlinux 0xaa8a0b93 devm_ioremap_np +EXPORT_SYMBOL vmlinux 0xaa8f74f6 pci_get_class +EXPORT_SYMBOL vmlinux 0xaaa4b9bc hchacha_block_generic +EXPORT_SYMBOL vmlinux 0xaaa66739 ap_wait_init_apqn_bindings_complete +EXPORT_SYMBOL vmlinux 0xaad0ae78 __bitmap_shift_right +EXPORT_SYMBOL vmlinux 0xaad8c7d6 default_wake_function +EXPORT_SYMBOL vmlinux 0xaafc1033 vfs_get_tree +EXPORT_SYMBOL vmlinux 0xaafc9361 dev_mc_sync_multiple +EXPORT_SYMBOL vmlinux 0xaafdc258 strcasecmp +EXPORT_SYMBOL vmlinux 0xab3697e4 irq_poll_init +EXPORT_SYMBOL vmlinux 0xab40c4d6 register_netdev +EXPORT_SYMBOL vmlinux 0xab46c289 __SCK__tp_func_s390_cio_hsch +EXPORT_SYMBOL vmlinux 0xab63baa5 unregister_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xab6d5b3b hex_to_bin +EXPORT_SYMBOL vmlinux 0xab781570 fb_get_options +EXPORT_SYMBOL vmlinux 0xab8d7f16 page_cache_next_miss +EXPORT_SYMBOL vmlinux 0xabe1431b trace_print_symbols_seq +EXPORT_SYMBOL vmlinux 0xabe3fb91 proc_set_user +EXPORT_SYMBOL vmlinux 0xabf32f29 utf16s_to_utf8s +EXPORT_SYMBOL vmlinux 0xac1a55be unregister_reboot_notifier +EXPORT_SYMBOL vmlinux 0xac1f9454 sync_mapping_buffers +EXPORT_SYMBOL vmlinux 0xac202836 pudp_xchg_direct +EXPORT_SYMBOL vmlinux 0xac3201b0 udp_flow_hashrnd +EXPORT_SYMBOL vmlinux 0xac52c9fa vc_cons +EXPORT_SYMBOL vmlinux 0xac5fcec0 in4_pton +EXPORT_SYMBOL vmlinux 0xac6f2765 netpoll_send_udp +EXPORT_SYMBOL vmlinux 0xac6f7b32 netdev_change_features +EXPORT_SYMBOL vmlinux 0xac75ffd7 posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xac8a98ae mark_buffer_write_io_error +EXPORT_SYMBOL vmlinux 0xac8db488 netdev_alert +EXPORT_SYMBOL vmlinux 0xac9a048c find_vma +EXPORT_SYMBOL vmlinux 0xaca0aef0 complete +EXPORT_SYMBOL vmlinux 0xacab29b7 seq_hlist_start_percpu +EXPORT_SYMBOL vmlinux 0xacb647c6 tcf_action_dump_1 +EXPORT_SYMBOL vmlinux 0xacb64ee3 phy_loopback +EXPORT_SYMBOL vmlinux 0xacb7d845 tty_port_close_end +EXPORT_SYMBOL vmlinux 0xacba03de xfrm_policy_byid +EXPORT_SYMBOL vmlinux 0xacd81eb3 jbd2_inode_cache +EXPORT_SYMBOL vmlinux 0xace7be4f phy_attached_info_irq +EXPORT_SYMBOL vmlinux 0xacea318c zstd_get_error_code +EXPORT_SYMBOL vmlinux 0xacf4d843 match_strdup +EXPORT_SYMBOL vmlinux 0xacf649bf audit_log_task_info +EXPORT_SYMBOL vmlinux 0xad0413d4 match_hex +EXPORT_SYMBOL vmlinux 0xad064b53 ip_options_compile +EXPORT_SYMBOL vmlinux 0xad0ca00f vfs_rename +EXPORT_SYMBOL vmlinux 0xad0fe363 phy_register_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xad128dc1 __tracepoint_dma_fence_enable_signal +EXPORT_SYMBOL vmlinux 0xad1441f0 __wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xad299b78 ioremap_wc +EXPORT_SYMBOL vmlinux 0xad4aee39 strncpy +EXPORT_SYMBOL vmlinux 0xad6ac065 invalidate_mapping_pages +EXPORT_SYMBOL vmlinux 0xad6c3f78 dqstats +EXPORT_SYMBOL vmlinux 0xad73041f autoremove_wake_function +EXPORT_SYMBOL vmlinux 0xad85369a netdev_adjacent_change_commit +EXPORT_SYMBOL vmlinux 0xada09ad2 dfltcc_can_inflate +EXPORT_SYMBOL vmlinux 0xadae6df8 blake2s_final +EXPORT_SYMBOL vmlinux 0xadc6a077 xfrm_find_acq +EXPORT_SYMBOL vmlinux 0xadd139d4 rfs_needed +EXPORT_SYMBOL vmlinux 0xade23f80 inet_sock_destruct +EXPORT_SYMBOL vmlinux 0xade2e4c3 request_firmware_into_buf +EXPORT_SYMBOL vmlinux 0xadf7b1d9 vma_alloc_folio +EXPORT_SYMBOL vmlinux 0xadfdfcef __bitmap_andnot +EXPORT_SYMBOL vmlinux 0xae0221ca napi_complete_done +EXPORT_SYMBOL vmlinux 0xae04012c __vmalloc +EXPORT_SYMBOL vmlinux 0xae06002a kstrtos16_from_user +EXPORT_SYMBOL vmlinux 0xae0cf20a tcp_seq_next +EXPORT_SYMBOL vmlinux 0xae207ed8 input_release_device +EXPORT_SYMBOL vmlinux 0xae2e7c54 splice_direct_to_actor +EXPORT_SYMBOL vmlinux 0xae316c11 icmpv6_err_convert +EXPORT_SYMBOL vmlinux 0xae350df6 simple_rename +EXPORT_SYMBOL vmlinux 0xae3e1659 ipv6_dev_get_saddr +EXPORT_SYMBOL vmlinux 0xae5019cd netdev_unbind_sb_channel +EXPORT_SYMBOL vmlinux 0xae54ad18 jbd2_journal_abort +EXPORT_SYMBOL vmlinux 0xae5ed22c security_inet_conn_request +EXPORT_SYMBOL vmlinux 0xae607233 filemap_fault +EXPORT_SYMBOL vmlinux 0xae691af6 __blk_alloc_disk +EXPORT_SYMBOL vmlinux 0xae6d97c2 vfs_clone_file_range +EXPORT_SYMBOL vmlinux 0xae6e7f6f ip6tun_encaps +EXPORT_SYMBOL vmlinux 0xae7559b1 pci_msi_vec_count +EXPORT_SYMBOL vmlinux 0xae78fb20 __break_lease +EXPORT_SYMBOL vmlinux 0xae98bfa3 device_match_acpi_handle +EXPORT_SYMBOL vmlinux 0xae9f6f45 nf_log_trace +EXPORT_SYMBOL vmlinux 0xaeac049a generate_random_guid +EXPORT_SYMBOL vmlinux 0xaebdf85f refcount_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0xaeca8967 blk_limits_io_min +EXPORT_SYMBOL vmlinux 0xaeda4ff2 migrate_page_states +EXPORT_SYMBOL vmlinux 0xaf023c19 netif_tx_stop_all_queues +EXPORT_SYMBOL vmlinux 0xaf0dbfdb ether_setup +EXPORT_SYMBOL vmlinux 0xaf1b31c4 neigh_sysctl_register +EXPORT_SYMBOL vmlinux 0xaf256772 genlmsg_multicast_allns +EXPORT_SYMBOL vmlinux 0xaf30dc19 param_ops_byte +EXPORT_SYMBOL vmlinux 0xaf3dd7dc scsi_logging_level +EXPORT_SYMBOL vmlinux 0xaf5bf018 sock_no_linger +EXPORT_SYMBOL vmlinux 0xaf7b2825 eth_prepare_mac_addr_change +EXPORT_SYMBOL vmlinux 0xaf808fb3 truncate_pagecache_range +EXPORT_SYMBOL vmlinux 0xafbdbf40 balance_dirty_pages_ratelimited +EXPORT_SYMBOL vmlinux 0xafcf7596 skb_prepare_seq_read +EXPORT_SYMBOL vmlinux 0xafd08e47 tcf_idr_create_from_flags +EXPORT_SYMBOL vmlinux 0xafdec906 notify_change +EXPORT_SYMBOL vmlinux 0xafe82e10 strcspn +EXPORT_SYMBOL vmlinux 0xafe830ea dev_remove_pack +EXPORT_SYMBOL vmlinux 0xafee25a6 ethtool_rx_flow_rule_destroy +EXPORT_SYMBOL vmlinux 0xafef7139 __napi_schedule +EXPORT_SYMBOL vmlinux 0xb0040208 jbd2_journal_submit_inode_data_buffers +EXPORT_SYMBOL vmlinux 0xb01bebf9 xfrm_get_acqseq +EXPORT_SYMBOL vmlinux 0xb03fbb68 nf_register_queue_handler +EXPORT_SYMBOL vmlinux 0xb045fe64 simple_symlink_inode_operations +EXPORT_SYMBOL vmlinux 0xb05fc310 sysctl_rmem_max +EXPORT_SYMBOL vmlinux 0xb06598dc register_sysctl +EXPORT_SYMBOL vmlinux 0xb073e118 kernel_listen +EXPORT_SYMBOL vmlinux 0xb07656f4 __find_get_block +EXPORT_SYMBOL vmlinux 0xb078859f skb_udp_tunnel_segment +EXPORT_SYMBOL vmlinux 0xb07b632e jbd2_journal_wipe +EXPORT_SYMBOL vmlinux 0xb08eea7f d_set_fallthru +EXPORT_SYMBOL vmlinux 0xb09f51d1 tcp_sock_set_keepidle +EXPORT_SYMBOL vmlinux 0xb0aad410 noop_qdisc +EXPORT_SYMBOL vmlinux 0xb0b39d20 mdio_device_register +EXPORT_SYMBOL vmlinux 0xb0d7a305 jbd2_journal_restart +EXPORT_SYMBOL vmlinux 0xb0e10781 get_option +EXPORT_SYMBOL vmlinux 0xb0eda7e7 iucv_path_sever +EXPORT_SYMBOL vmlinux 0xb0f587ee sk_stream_kill_queues +EXPORT_SYMBOL vmlinux 0xb0fce292 vmemmap +EXPORT_SYMBOL vmlinux 0xb10e7df4 __kfifo_dma_in_prepare +EXPORT_SYMBOL vmlinux 0xb1176e59 try_wait_for_completion +EXPORT_SYMBOL vmlinux 0xb117a76d iov_iter_get_pages +EXPORT_SYMBOL vmlinux 0xb11e062e posix_lock_file +EXPORT_SYMBOL vmlinux 0xb11e65fe pci_bus_add_devices +EXPORT_SYMBOL vmlinux 0xb122d19d crypto_sha1_update +EXPORT_SYMBOL vmlinux 0xb128c7ea pci_find_parent_resource +EXPORT_SYMBOL vmlinux 0xb12cbacb fb_unregister_client +EXPORT_SYMBOL vmlinux 0xb13878d6 kernel_accept +EXPORT_SYMBOL vmlinux 0xb14ab1ef hdmi_audio_infoframe_init +EXPORT_SYMBOL vmlinux 0xb14be9fb skb_pull +EXPORT_SYMBOL vmlinux 0xb14c6177 input_open_device +EXPORT_SYMBOL vmlinux 0xb14fc46a find_next_clump8 +EXPORT_SYMBOL vmlinux 0xb168ac94 write_inode_now +EXPORT_SYMBOL vmlinux 0xb17a819a jbd2_journal_extend +EXPORT_SYMBOL vmlinux 0xb19b3580 km_policy_expired +EXPORT_SYMBOL vmlinux 0xb19c483e inet_rcv_saddr_equal +EXPORT_SYMBOL vmlinux 0xb1a3afd8 gnet_stats_copy_basic_hw +EXPORT_SYMBOL vmlinux 0xb1a72024 ip_generic_getfrag +EXPORT_SYMBOL vmlinux 0xb1ae8833 skb_trim +EXPORT_SYMBOL vmlinux 0xb1b67f00 ip6_find_1stfragopt +EXPORT_SYMBOL vmlinux 0xb1c3a01a oops_in_progress +EXPORT_SYMBOL vmlinux 0xb1d0c090 d_delete +EXPORT_SYMBOL vmlinux 0xb1d30feb __skb_warn_lro_forwarding +EXPORT_SYMBOL vmlinux 0xb1ddf995 jiffies_64_to_clock_t +EXPORT_SYMBOL vmlinux 0xb1e63e5f create_empty_buffers +EXPORT_SYMBOL vmlinux 0xb1e8126c down_timeout +EXPORT_SYMBOL vmlinux 0xb1eb8907 ccw_device_tm_start_timeout_key +EXPORT_SYMBOL vmlinux 0xb21c992d __sock_cmsg_send +EXPORT_SYMBOL vmlinux 0xb227c1e4 udp_poll +EXPORT_SYMBOL vmlinux 0xb22c9522 sock_no_listen +EXPORT_SYMBOL vmlinux 0xb22e16d5 radix_tree_maybe_preload +EXPORT_SYMBOL vmlinux 0xb2402d44 lock_rename +EXPORT_SYMBOL vmlinux 0xb257bcfc netif_set_tso_max_segs +EXPORT_SYMBOL vmlinux 0xb26fedd5 netlink_broadcast +EXPORT_SYMBOL vmlinux 0xb2b0d772 __kfifo_dma_in_finish_r +EXPORT_SYMBOL vmlinux 0xb2c5c5b2 genphy_suspend +EXPORT_SYMBOL vmlinux 0xb2eca1bc mem_cgroup_from_task +EXPORT_SYMBOL vmlinux 0xb2f31d57 blk_rq_map_kern +EXPORT_SYMBOL vmlinux 0xb2fcb56d queue_delayed_work_on +EXPORT_SYMBOL vmlinux 0xb308c97d wait_woken +EXPORT_SYMBOL vmlinux 0xb30bc7ae scsi_device_put +EXPORT_SYMBOL vmlinux 0xb30f1af7 seg6_hmac_info_lookup +EXPORT_SYMBOL vmlinux 0xb315cef4 cdrom_check_events +EXPORT_SYMBOL vmlinux 0xb31847f8 phy_queue_state_machine +EXPORT_SYMBOL vmlinux 0xb31a5652 param_get_ullong +EXPORT_SYMBOL vmlinux 0xb320cc0e sg_init_one +EXPORT_SYMBOL vmlinux 0xb3258f79 __ubsan_handle_type_mismatch_v1 +EXPORT_SYMBOL vmlinux 0xb328f121 blk_cleanup_disk +EXPORT_SYMBOL vmlinux 0xb3447ace netlink_ns_capable +EXPORT_SYMBOL vmlinux 0xb35a44a9 posix_acl_from_xattr +EXPORT_SYMBOL vmlinux 0xb3687850 out_of_line_wait_on_bit_lock +EXPORT_SYMBOL vmlinux 0xb375303d phy_trigger_machine +EXPORT_SYMBOL vmlinux 0xb381ff9e ida_destroy +EXPORT_SYMBOL vmlinux 0xb38beebf sync_file_get_fence +EXPORT_SYMBOL vmlinux 0xb3a7ff68 kthread_complete_and_exit +EXPORT_SYMBOL vmlinux 0xb3c139ae vmf_insert_pfn +EXPORT_SYMBOL vmlinux 0xb3d21f79 ip_options_rcv_srr +EXPORT_SYMBOL vmlinux 0xb3d2c76d scsi_hostbyte_string +EXPORT_SYMBOL vmlinux 0xb3f7646e kthread_should_stop +EXPORT_SYMBOL vmlinux 0xb3ff1f69 free_pages_exact +EXPORT_SYMBOL vmlinux 0xb4159dce mark_info_dirty +EXPORT_SYMBOL vmlinux 0xb422ff88 netdev_upper_dev_link +EXPORT_SYMBOL vmlinux 0xb423dba1 console_blanked +EXPORT_SYMBOL vmlinux 0xb4461532 touchscreen_report_pos +EXPORT_SYMBOL vmlinux 0xb4613282 dquot_disable +EXPORT_SYMBOL vmlinux 0xb4664df2 dev_get_mac_address +EXPORT_SYMBOL vmlinux 0xb47c11e1 bdev_start_io_acct +EXPORT_SYMBOL vmlinux 0xb487210c __nla_reserve +EXPORT_SYMBOL vmlinux 0xb48d4d22 security_sb_eat_lsm_opts +EXPORT_SYMBOL vmlinux 0xb49c4652 sk_stop_timer_sync +EXPORT_SYMBOL vmlinux 0xb49c699d dma_fence_add_callback +EXPORT_SYMBOL vmlinux 0xb4a3e439 dma_sync_single_for_cpu +EXPORT_SYMBOL vmlinux 0xb4c7a2a7 unix_detach_fds +EXPORT_SYMBOL vmlinux 0xb4de3d80 tcp_enter_cwr +EXPORT_SYMBOL vmlinux 0xb4f13d2a abort +EXPORT_SYMBOL vmlinux 0xb506fad3 sock_wake_async +EXPORT_SYMBOL vmlinux 0xb50b8bdb md_write_inc +EXPORT_SYMBOL vmlinux 0xb52351b3 inet_csk_prepare_forced_close +EXPORT_SYMBOL vmlinux 0xb5257f49 netpoll_cleanup +EXPORT_SYMBOL vmlinux 0xb534f61f __kfifo_alloc +EXPORT_SYMBOL vmlinux 0xb5688c5f __skb_flow_get_ports +EXPORT_SYMBOL vmlinux 0xb5814175 tcf_idr_check_alloc +EXPORT_SYMBOL vmlinux 0xb58aeaab kernel_cpustat +EXPORT_SYMBOL vmlinux 0xb5931895 pci_bus_read_dev_vendor_id +EXPORT_SYMBOL vmlinux 0xb5a459dc unregister_blkdev +EXPORT_SYMBOL vmlinux 0xb5a9c6d2 tty_flip_buffer_push +EXPORT_SYMBOL vmlinux 0xb5aa7165 dma_pool_destroy +EXPORT_SYMBOL vmlinux 0xb5b07a2d pci_try_set_mwi +EXPORT_SYMBOL vmlinux 0xb5b63711 fileattr_fill_xflags +EXPORT_SYMBOL vmlinux 0xb5b9abfa tcp_conn_request +EXPORT_SYMBOL vmlinux 0xb5d3119d _atomic_dec_and_lock +EXPORT_SYMBOL vmlinux 0xb5d74870 fb_set_suspend +EXPORT_SYMBOL vmlinux 0xb5dfadee udp_lib_rehash +EXPORT_SYMBOL vmlinux 0xb5e73116 flush_delayed_work +EXPORT_SYMBOL vmlinux 0xb602e44a pcie_ptm_enabled +EXPORT_SYMBOL vmlinux 0xb60a0697 neigh_parms_release +EXPORT_SYMBOL vmlinux 0xb6308446 __load_fpu_regs +EXPORT_SYMBOL vmlinux 0xb633f115 irq_poll_enable +EXPORT_SYMBOL vmlinux 0xb63ce383 page_readlink +EXPORT_SYMBOL vmlinux 0xb64dd10b wake_up_process +EXPORT_SYMBOL vmlinux 0xb6501948 security_dentry_init_security +EXPORT_SYMBOL vmlinux 0xb65ae8c7 nf_ct_attach +EXPORT_SYMBOL vmlinux 0xb66e96d8 netlbl_audit_start +EXPORT_SYMBOL vmlinux 0xb678366f int_sqrt +EXPORT_SYMBOL vmlinux 0xb67b7b3e blk_mq_queue_stopped +EXPORT_SYMBOL vmlinux 0xb67fec0e uuid_parse +EXPORT_SYMBOL vmlinux 0xb681e2fd param_get_ulong +EXPORT_SYMBOL vmlinux 0xb686f03b napi_gro_flush +EXPORT_SYMBOL vmlinux 0xb6936ffe _bcd2bin +EXPORT_SYMBOL vmlinux 0xb6a78da3 passthru_features_check +EXPORT_SYMBOL vmlinux 0xb6acaa13 phy_sfp_detach +EXPORT_SYMBOL vmlinux 0xb6bb7a1f jbd2_journal_release_jbd_inode +EXPORT_SYMBOL vmlinux 0xb6cb556a _find_first_and_bit +EXPORT_SYMBOL vmlinux 0xb6dfe9b1 tcf_classify +EXPORT_SYMBOL vmlinux 0xb6e3394d netdev_notify_peers +EXPORT_SYMBOL vmlinux 0xb6e36ce2 psched_ratecfg_precompute +EXPORT_SYMBOL vmlinux 0xb6f42579 pci_enable_msi +EXPORT_SYMBOL vmlinux 0xb6f4dbfc ___ratelimit +EXPORT_SYMBOL vmlinux 0xb6fbe1cc locks_init_lock +EXPORT_SYMBOL vmlinux 0xb6fbeefe xxh64 +EXPORT_SYMBOL vmlinux 0xb6fde909 close_fd +EXPORT_SYMBOL vmlinux 0xb70371c8 input_enable_softrepeat +EXPORT_SYMBOL vmlinux 0xb7083cc2 get_mem_cgroup_from_mm +EXPORT_SYMBOL vmlinux 0xb71589f0 skip_spaces +EXPORT_SYMBOL vmlinux 0xb71ed69f __hw_addr_unsync +EXPORT_SYMBOL vmlinux 0xb7258aad seg6_push_hmac +EXPORT_SYMBOL vmlinux 0xb73bfa97 debug_register +EXPORT_SYMBOL vmlinux 0xb7574f41 input_set_capability +EXPORT_SYMBOL vmlinux 0xb76c2b34 import_iovec +EXPORT_SYMBOL vmlinux 0xb78700c3 kstrtou8_from_user +EXPORT_SYMBOL vmlinux 0xb78debe3 LZ4_decompress_fast_usingDict +EXPORT_SYMBOL vmlinux 0xb7b503f5 km_report +EXPORT_SYMBOL vmlinux 0xb7bad31e sock_i_ino +EXPORT_SYMBOL vmlinux 0xb7c0adca kmalloc_caches +EXPORT_SYMBOL vmlinux 0xb7c6db70 sysctl_max_skb_frags +EXPORT_SYMBOL vmlinux 0xb7c88e61 __neigh_for_each_release +EXPORT_SYMBOL vmlinux 0xb7d47183 genphy_update_link +EXPORT_SYMBOL vmlinux 0xb7e23280 configfs_unregister_default_group +EXPORT_SYMBOL vmlinux 0xb7e4537e __scsi_device_lookup_by_target +EXPORT_SYMBOL vmlinux 0xb7ee2a2c diag26c +EXPORT_SYMBOL vmlinux 0xb7ef6ff4 tcp_sock_set_keepintvl +EXPORT_SYMBOL vmlinux 0xb8165152 stop_tty +EXPORT_SYMBOL vmlinux 0xb8184a80 inet_csk_complete_hashdance +EXPORT_SYMBOL vmlinux 0xb81d2bfb init_special_inode +EXPORT_SYMBOL vmlinux 0xb827d331 __cond_resched_rwlock_write +EXPORT_SYMBOL vmlinux 0xb828fdeb kobject_get +EXPORT_SYMBOL vmlinux 0xb82f732b neigh_app_ns +EXPORT_SYMBOL vmlinux 0xb84c8987 d_obtain_root +EXPORT_SYMBOL vmlinux 0xb868ac5c register_sysrq_key +EXPORT_SYMBOL vmlinux 0xb86a6bdc genlmsg_put +EXPORT_SYMBOL vmlinux 0xb89b6e6b guid_parse +EXPORT_SYMBOL vmlinux 0xb8b043f2 kfree_link +EXPORT_SYMBOL vmlinux 0xb8bfed5d inet_put_port +EXPORT_SYMBOL vmlinux 0xb8c4df6a filemap_dirty_folio +EXPORT_SYMBOL vmlinux 0xb8e97783 proc_douintvec +EXPORT_SYMBOL vmlinux 0xb8ebce14 ipv6_getsockopt +EXPORT_SYMBOL vmlinux 0xb8efc9a0 ipv6_setsockopt +EXPORT_SYMBOL vmlinux 0xb8f12e05 __ip_select_ident +EXPORT_SYMBOL vmlinux 0xb9056bb6 remove_conflicting_framebuffers +EXPORT_SYMBOL vmlinux 0xb911bb58 minmax_running_max +EXPORT_SYMBOL vmlinux 0xb915ceca itcw_init +EXPORT_SYMBOL vmlinux 0xb9167093 tty_port_open +EXPORT_SYMBOL vmlinux 0xb91e0573 release_sock +EXPORT_SYMBOL vmlinux 0xb928aa45 netdev_rss_key_fill +EXPORT_SYMBOL vmlinux 0xb93ed2b1 genphy_c37_read_status +EXPORT_SYMBOL vmlinux 0xb93f2112 __mmap_lock_do_trace_acquire_returned +EXPORT_SYMBOL vmlinux 0xb94339c4 qdisc_put_stab +EXPORT_SYMBOL vmlinux 0xb94f16ab nexthop_res_grp_activity_update +EXPORT_SYMBOL vmlinux 0xb94f4d5d __kmalloc_node_track_caller +EXPORT_SYMBOL vmlinux 0xb96c4f9e audit_log_subject_context +EXPORT_SYMBOL vmlinux 0xb97220ff bitmap_parse +EXPORT_SYMBOL vmlinux 0xb99328d5 lookup_positive_unlocked +EXPORT_SYMBOL vmlinux 0xb9b3cc6a vfs_fsync +EXPORT_SYMBOL vmlinux 0xb9b5b224 cdrom_get_last_written +EXPORT_SYMBOL vmlinux 0xb9c16818 dentry_create +EXPORT_SYMBOL vmlinux 0xb9cf8940 scsi_set_medium_removal +EXPORT_SYMBOL vmlinux 0xb9e8e2cc in6addr_sitelocal_allrouters +EXPORT_SYMBOL vmlinux 0xb9f378d3 bio_add_pc_page +EXPORT_SYMBOL vmlinux 0xba001f54 pci_bus_find_capability +EXPORT_SYMBOL vmlinux 0xba02e923 register_service_level +EXPORT_SYMBOL vmlinux 0xba0676e2 vm_zone_stat +EXPORT_SYMBOL vmlinux 0xba087bd6 nla_reserve +EXPORT_SYMBOL vmlinux 0xba0d0425 inet6_ioctl +EXPORT_SYMBOL vmlinux 0xba1e6d8b ip_sock_set_recverr +EXPORT_SYMBOL vmlinux 0xba248b6a kern_unmount_array +EXPORT_SYMBOL vmlinux 0xba24b6c3 kthread_stop +EXPORT_SYMBOL vmlinux 0xba497f13 loops_per_jiffy +EXPORT_SYMBOL vmlinux 0xba51ef50 blk_queue_segment_boundary +EXPORT_SYMBOL vmlinux 0xba53adab nla_policy_len +EXPORT_SYMBOL vmlinux 0xba58caca sock_sendmsg +EXPORT_SYMBOL vmlinux 0xba6932ec debug_unregister_view +EXPORT_SYMBOL vmlinux 0xba6c7b4f jbd2_submit_inode_data +EXPORT_SYMBOL vmlinux 0xba811d82 page_get_link +EXPORT_SYMBOL vmlinux 0xba8414b9 bprm_change_interp +EXPORT_SYMBOL vmlinux 0xba857fcb tso_build_hdr +EXPORT_SYMBOL vmlinux 0xba8917dd pci_irq_get_affinity +EXPORT_SYMBOL vmlinux 0xba9b3ffc vfs_mkdir +EXPORT_SYMBOL vmlinux 0xbac0f31a vmf_insert_mixed_prot +EXPORT_SYMBOL vmlinux 0xbacd9862 netdev_has_any_upper_dev +EXPORT_SYMBOL vmlinux 0xbafb3072 napi_disable +EXPORT_SYMBOL vmlinux 0xbb0540aa zlib_inflateReset +EXPORT_SYMBOL vmlinux 0xbb150e95 truncate_inode_pages_final +EXPORT_SYMBOL vmlinux 0xbb24a44c generic_error_remove_page +EXPORT_SYMBOL vmlinux 0xbb24f607 init_cdrom_command +EXPORT_SYMBOL vmlinux 0xbb3e7461 ccw_device_start_timeout +EXPORT_SYMBOL vmlinux 0xbb42daba pci_ep_cfs_add_epc_group +EXPORT_SYMBOL vmlinux 0xbb5934be __wake_up_bit +EXPORT_SYMBOL vmlinux 0xbb7a013b jbd2__journal_restart +EXPORT_SYMBOL vmlinux 0xbb7ac05f from_kgid_munged +EXPORT_SYMBOL vmlinux 0xbb9d0dc5 bin2hex +EXPORT_SYMBOL vmlinux 0xbba0a6ca tcp_stream_memory_free +EXPORT_SYMBOL vmlinux 0xbbb228c8 ccw_device_set_options_mask +EXPORT_SYMBOL vmlinux 0xbbb9a657 netdev_update_features +EXPORT_SYMBOL vmlinux 0xbbcf45d6 blk_mq_alloc_request +EXPORT_SYMBOL vmlinux 0xbbdccfbe tcp_set_rcvlowat +EXPORT_SYMBOL vmlinux 0xbbdfea70 tcp_openreq_init_rwin +EXPORT_SYMBOL vmlinux 0xbbe0987b fwnode_mdio_find_device +EXPORT_SYMBOL vmlinux 0xbc1e7461 fc_mount +EXPORT_SYMBOL vmlinux 0xbc29d91f jbd2_journal_inode_ranged_wait +EXPORT_SYMBOL vmlinux 0xbc3499ef gnet_stats_start_copy_compat +EXPORT_SYMBOL vmlinux 0xbc3e414b dev_get_iflink +EXPORT_SYMBOL vmlinux 0xbc53087c xfrm6_rcv +EXPORT_SYMBOL vmlinux 0xbc5e01f4 phy_validate_pause +EXPORT_SYMBOL vmlinux 0xbc76641a __SCK__tp_func_s390_cio_ssch +EXPORT_SYMBOL vmlinux 0xbc7b6ad3 jbd2_fc_get_buf +EXPORT_SYMBOL vmlinux 0xbc88c9d5 noop_llseek +EXPORT_SYMBOL vmlinux 0xbcab6ee6 sscanf +EXPORT_SYMBOL vmlinux 0xbcbb6a30 netdev_lower_get_next +EXPORT_SYMBOL vmlinux 0xbcdadc5b __cgroup_bpf_run_filter_skb +EXPORT_SYMBOL vmlinux 0xbd13d9b5 mr_mfc_seq_idx +EXPORT_SYMBOL vmlinux 0xbd183f61 udp_gro_complete +EXPORT_SYMBOL vmlinux 0xbd2c97e4 blk_mq_delay_run_hw_queue +EXPORT_SYMBOL vmlinux 0xbd348d1b __vlan_find_dev_deep_rcu +EXPORT_SYMBOL vmlinux 0xbd418e30 param_ops_bint +EXPORT_SYMBOL vmlinux 0xbd5601bf md_bitmap_startwrite +EXPORT_SYMBOL vmlinux 0xbd5602cb folio_end_writeback +EXPORT_SYMBOL vmlinux 0xbd628752 __tracepoint_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0xbd71ec08 inode_init_always +EXPORT_SYMBOL vmlinux 0xbd802c05 __neigh_create +EXPORT_SYMBOL vmlinux 0xbdc655c8 blk_rq_map_integrity_sg +EXPORT_SYMBOL vmlinux 0xbdd56ea0 truncate_pagecache +EXPORT_SYMBOL vmlinux 0xbde74c28 skb_flow_dissect_ct +EXPORT_SYMBOL vmlinux 0xbe0b0cfc file_fdatawait_range +EXPORT_SYMBOL vmlinux 0xbe118c52 __tracepoint_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0xbe12c301 dquot_operations +EXPORT_SYMBOL vmlinux 0xbe13b036 jbd2_journal_load +EXPORT_SYMBOL vmlinux 0xbe25fc23 vlan_filter_drop_vids +EXPORT_SYMBOL vmlinux 0xbe26703d filemap_fdatawrite +EXPORT_SYMBOL vmlinux 0xbe4eb6ed secure_dccpv6_sequence_number +EXPORT_SYMBOL vmlinux 0xbe5a2284 ndisc_ns_create +EXPORT_SYMBOL vmlinux 0xbe5a24e9 xxh32_copy_state +EXPORT_SYMBOL vmlinux 0xbe5e44a8 tty_devnum +EXPORT_SYMBOL vmlinux 0xbe7c391b md_bitmap_close_sync +EXPORT_SYMBOL vmlinux 0xbeb3a7b3 ip_frag_init +EXPORT_SYMBOL vmlinux 0xbeb48340 timestamp_truncate +EXPORT_SYMBOL vmlinux 0xbece3719 pci_bus_read_config_dword +EXPORT_SYMBOL vmlinux 0xbef43296 console_conditional_schedule +EXPORT_SYMBOL vmlinux 0xbef53f33 scnprintf +EXPORT_SYMBOL vmlinux 0xbeffaf9a phy_device_remove +EXPORT_SYMBOL vmlinux 0xbf30cceb scsi_host_put +EXPORT_SYMBOL vmlinux 0xbf3639e2 rdmacg_try_charge +EXPORT_SYMBOL vmlinux 0xbf3b6571 blkdev_issue_discard +EXPORT_SYMBOL vmlinux 0xbf49aafa percpu_counter_set +EXPORT_SYMBOL vmlinux 0xbf59c419 posix_acl_init +EXPORT_SYMBOL vmlinux 0xbf5a5d2f netdev_set_num_tc +EXPORT_SYMBOL vmlinux 0xbf77d18a scsi_device_lookup +EXPORT_SYMBOL vmlinux 0xbf8cd61b md_bitmap_free +EXPORT_SYMBOL vmlinux 0xbf9a5a1e __init_rwsem +EXPORT_SYMBOL vmlinux 0xbf9bcc8d __cap_empty_set +EXPORT_SYMBOL vmlinux 0xbf9ce5e4 tcp_sock_set_cork +EXPORT_SYMBOL vmlinux 0xbfaf55e8 netdev_adjacent_change_abort +EXPORT_SYMBOL vmlinux 0xbfb05716 dquot_mark_dquot_dirty +EXPORT_SYMBOL vmlinux 0xbfc0d310 blk_set_stacking_limits +EXPORT_SYMBOL vmlinux 0xbfcc3d24 tty_unregister_driver +EXPORT_SYMBOL vmlinux 0xbfcd2e65 dcache_dir_close +EXPORT_SYMBOL vmlinux 0xbfd9f046 remove_wait_queue +EXPORT_SYMBOL vmlinux 0xbfdee9e7 __netdev_notify_peers +EXPORT_SYMBOL vmlinux 0xbff403b7 inet_bind +EXPORT_SYMBOL vmlinux 0xc03bb1db tty_driver_kref_put +EXPORT_SYMBOL vmlinux 0xc05338e8 sk_wait_data +EXPORT_SYMBOL vmlinux 0xc0584049 dev_pick_tx_zero +EXPORT_SYMBOL vmlinux 0xc06fa7e0 add_wait_queue_exclusive +EXPORT_SYMBOL vmlinux 0xc07b0863 fb_destroy_modedb +EXPORT_SYMBOL vmlinux 0xc0937095 gnet_stats_finish_copy +EXPORT_SYMBOL vmlinux 0xc0954478 nla_put +EXPORT_SYMBOL vmlinux 0xc0afb5d7 cgroup_bpf_enabled_key +EXPORT_SYMBOL vmlinux 0xc0b4d02b tcp_get_cookie_sock +EXPORT_SYMBOL vmlinux 0xc0bfb9d4 VMALLOC_END +EXPORT_SYMBOL vmlinux 0xc0cc8d9a rt_dst_clone +EXPORT_SYMBOL vmlinux 0xc0da454b submit_bio_wait +EXPORT_SYMBOL vmlinux 0xc0e5e4e6 itcw_get_tcw +EXPORT_SYMBOL vmlinux 0xc0fd237c xxh32 +EXPORT_SYMBOL vmlinux 0xc0fe9137 __printk_cpu_sync_put +EXPORT_SYMBOL vmlinux 0xc0ff12fb nla_strdup +EXPORT_SYMBOL vmlinux 0xc0ff21c1 input_get_new_minor +EXPORT_SYMBOL vmlinux 0xc100c64e pcie_set_mps +EXPORT_SYMBOL vmlinux 0xc1041093 param_get_string +EXPORT_SYMBOL vmlinux 0xc1198662 __warn_flushing_systemwide_wq +EXPORT_SYMBOL vmlinux 0xc120caa6 diag_stat_inc +EXPORT_SYMBOL vmlinux 0xc1299a89 xfrm_state_add +EXPORT_SYMBOL vmlinux 0xc1394dbd mod_virt_timer_periodic +EXPORT_SYMBOL vmlinux 0xc1514a3b free_irq +EXPORT_SYMBOL vmlinux 0xc1603bdd iget5_locked +EXPORT_SYMBOL vmlinux 0xc16be39d iter_div_u64_rem +EXPORT_SYMBOL vmlinux 0xc174dab5 set_page_dirty +EXPORT_SYMBOL vmlinux 0xc1848a02 tcf_idr_search +EXPORT_SYMBOL vmlinux 0xc1c8f8be raw3270_activate_view +EXPORT_SYMBOL vmlinux 0xc1d58333 udp_lib_get_port +EXPORT_SYMBOL vmlinux 0xc1d5d504 scsi_cmd_allowed +EXPORT_SYMBOL vmlinux 0xc1d8cfaf __fdget +EXPORT_SYMBOL vmlinux 0xc1d95c35 udp_seq_start +EXPORT_SYMBOL vmlinux 0xc1e3a931 dcbnl_ieee_notify +EXPORT_SYMBOL vmlinux 0xc1e70aae phy_find_first +EXPORT_SYMBOL vmlinux 0xc1f4319a sock_alloc_file +EXPORT_SYMBOL vmlinux 0xc1f5d97b xfrm_state_delete_tunnel +EXPORT_SYMBOL vmlinux 0xc2055eaa pmdp_xchg_lazy +EXPORT_SYMBOL vmlinux 0xc211916f seg6_hmac_validate_skb +EXPORT_SYMBOL vmlinux 0xc241d419 is_subdir +EXPORT_SYMBOL vmlinux 0xc250590f strnlen_user +EXPORT_SYMBOL vmlinux 0xc2586109 phy_ethtool_get_strings +EXPORT_SYMBOL vmlinux 0xc27ee138 __SCK__tp_func_s390_cio_stsch +EXPORT_SYMBOL vmlinux 0xc28a21a7 mr_rtm_dumproute +EXPORT_SYMBOL vmlinux 0xc29a1878 abort_creds +EXPORT_SYMBOL vmlinux 0xc2c1080d hash_and_copy_to_iter +EXPORT_SYMBOL vmlinux 0xc2c5a5ee nf_log_unset +EXPORT_SYMBOL vmlinux 0xc2d222d2 block_dirty_folio +EXPORT_SYMBOL vmlinux 0xc2e587d1 reset_devices +EXPORT_SYMBOL vmlinux 0xc2f16bb3 PageMovable +EXPORT_SYMBOL vmlinux 0xc3055d20 usleep_range_state +EXPORT_SYMBOL vmlinux 0xc30a5201 sock_no_sendmsg +EXPORT_SYMBOL vmlinux 0xc31111eb pci_find_capability +EXPORT_SYMBOL vmlinux 0xc31db0ce is_vmalloc_addr +EXPORT_SYMBOL vmlinux 0xc32c71af register_inetaddr_validator_notifier +EXPORT_SYMBOL vmlinux 0xc3566c36 netdev_printk +EXPORT_SYMBOL vmlinux 0xc369c775 xfrm_state_flush +EXPORT_SYMBOL vmlinux 0xc38c83b8 mod_timer +EXPORT_SYMBOL vmlinux 0xc38d8809 framebuffer_alloc +EXPORT_SYMBOL vmlinux 0xc39e0090 vm_map_ram +EXPORT_SYMBOL vmlinux 0xc3a90f31 vfs_setpos +EXPORT_SYMBOL vmlinux 0xc3ad6613 set_create_files_as +EXPORT_SYMBOL vmlinux 0xc3ba245e phy_get_c45_ids +EXPORT_SYMBOL vmlinux 0xc3c69c1b jbd2_journal_get_write_access +EXPORT_SYMBOL vmlinux 0xc3e45457 down_killable +EXPORT_SYMBOL vmlinux 0xc3f3c3b4 debugfs_create_automount +EXPORT_SYMBOL vmlinux 0xc420a7fe key_move +EXPORT_SYMBOL vmlinux 0xc4212ab9 qdisc_class_hash_insert +EXPORT_SYMBOL vmlinux 0xc433a088 __read_overflow2_field +EXPORT_SYMBOL vmlinux 0xc441e54d seg6_hmac_info_add +EXPORT_SYMBOL vmlinux 0xc45efd85 inet_release +EXPORT_SYMBOL vmlinux 0xc4651a70 unregister_tcf_proto_ops +EXPORT_SYMBOL vmlinux 0xc46a63d4 cpumask_next +EXPORT_SYMBOL vmlinux 0xc46bf411 request_key_rcu +EXPORT_SYMBOL vmlinux 0xc475471a raw3270_del_view +EXPORT_SYMBOL vmlinux 0xc4777aa9 __ctzsi2 +EXPORT_SYMBOL vmlinux 0xc4797a54 kernel_recvmsg +EXPORT_SYMBOL vmlinux 0xc488ae04 dentry_open +EXPORT_SYMBOL vmlinux 0xc48a05e9 __skb_flow_dissect +EXPORT_SYMBOL vmlinux 0xc49bc16b phy_aneg_done +EXPORT_SYMBOL vmlinux 0xc4a83cc3 zstd_cctx_workspace_bound +EXPORT_SYMBOL vmlinux 0xc4ab6b9b xfrm_input_register_afinfo +EXPORT_SYMBOL vmlinux 0xc4e85594 md_integrity_register +EXPORT_SYMBOL vmlinux 0xc4ee3383 pci_bus_write_config_word +EXPORT_SYMBOL vmlinux 0xc4f49afa d_mark_dontcache +EXPORT_SYMBOL vmlinux 0xc5138b96 tcf_action_check_ctrlact +EXPORT_SYMBOL vmlinux 0xc52814eb tcp_sock_set_syncnt +EXPORT_SYMBOL vmlinux 0xc5490f1a devm_request_threaded_irq +EXPORT_SYMBOL vmlinux 0xc54e04f9 pagevec_lookup_range_tag +EXPORT_SYMBOL vmlinux 0xc5554fa5 fb_class +EXPORT_SYMBOL vmlinux 0xc5579fc7 iterate_fd +EXPORT_SYMBOL vmlinux 0xc56c3609 xz_dec_microlzma_reset +EXPORT_SYMBOL vmlinux 0xc57b8611 diag210 +EXPORT_SYMBOL vmlinux 0xc585fe78 free_netdev +EXPORT_SYMBOL vmlinux 0xc586d03b dma_resv_add_fence +EXPORT_SYMBOL vmlinux 0xc599a772 security_xfrm_state_delete +EXPORT_SYMBOL vmlinux 0xc5a3367a __tracepoint_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xc5ad93b8 sie_exit +EXPORT_SYMBOL vmlinux 0xc5b0d06f lockref_put_return +EXPORT_SYMBOL vmlinux 0xc5b6f236 queue_work_on +EXPORT_SYMBOL vmlinux 0xc5b98a63 neigh_seq_start +EXPORT_SYMBOL vmlinux 0xc5bcfa88 tty_port_destroy +EXPORT_SYMBOL vmlinux 0xc5c8b56c raw_copy_to_user +EXPORT_SYMBOL vmlinux 0xc5e74216 release_resource +EXPORT_SYMBOL vmlinux 0xc5f7e801 sg_last +EXPORT_SYMBOL vmlinux 0xc5fcda45 netlbl_calipso_ops_register +EXPORT_SYMBOL vmlinux 0xc60d0620 __num_online_cpus +EXPORT_SYMBOL vmlinux 0xc61996f9 blk_dump_rq_flags +EXPORT_SYMBOL vmlinux 0xc622ea97 stsi +EXPORT_SYMBOL vmlinux 0xc62ab2bc mempool_destroy +EXPORT_SYMBOL vmlinux 0xc631580a console_unlock +EXPORT_SYMBOL vmlinux 0xc633d82d phy_unregister_fixup +EXPORT_SYMBOL vmlinux 0xc64f83f0 dst_init +EXPORT_SYMBOL vmlinux 0xc65e4e97 secure_dccp_sequence_number +EXPORT_SYMBOL vmlinux 0xc6623fec mdiobus_unregister_device +EXPORT_SYMBOL vmlinux 0xc66a8304 cpu_rmap_add +EXPORT_SYMBOL vmlinux 0xc68ddbeb inode_insert5 +EXPORT_SYMBOL vmlinux 0xc68e1ffa scsi_remove_target +EXPORT_SYMBOL vmlinux 0xc69c4e46 input_match_device_id +EXPORT_SYMBOL vmlinux 0xc6cbbc89 capable +EXPORT_SYMBOL vmlinux 0xc6cefc72 eth_commit_mac_addr_change +EXPORT_SYMBOL vmlinux 0xc6f3b3fc refcount_dec_if_one +EXPORT_SYMBOL vmlinux 0xc6f46339 init_timer_key +EXPORT_SYMBOL vmlinux 0xc6f8989b airq_iv_release +EXPORT_SYMBOL vmlinux 0xc6fb460f __bio_advance +EXPORT_SYMBOL vmlinux 0xc702ac76 nf_log_unregister +EXPORT_SYMBOL vmlinux 0xc70f2623 pci_wait_for_pending_transaction +EXPORT_SYMBOL vmlinux 0xc71816f2 folio_mark_dirty +EXPORT_SYMBOL vmlinux 0xc72f7279 zstd_get_error_name +EXPORT_SYMBOL vmlinux 0xc768c5c9 dquot_initialize +EXPORT_SYMBOL vmlinux 0xc774a491 __blkdev_issue_zeroout +EXPORT_SYMBOL vmlinux 0xc77cffbc pci_request_selected_regions +EXPORT_SYMBOL vmlinux 0xc7856a3d inet6addr_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xc7907778 phy_error +EXPORT_SYMBOL vmlinux 0xc79f207e revert_creds +EXPORT_SYMBOL vmlinux 0xc7a24d76 sysfs_format_mac +EXPORT_SYMBOL vmlinux 0xc7a268fc irq_domain_set_info +EXPORT_SYMBOL vmlinux 0xc7a443c1 xfrm_parse_spi +EXPORT_SYMBOL vmlinux 0xc7a4fbed rtnl_lock +EXPORT_SYMBOL vmlinux 0xc7c1107a LZ4_decompress_safe +EXPORT_SYMBOL vmlinux 0xc7c82acf ccw_driver_unregister +EXPORT_SYMBOL vmlinux 0xc7d094b5 dm_read_arg_group +EXPORT_SYMBOL vmlinux 0xc7d2cf1a kstrtoul_from_user +EXPORT_SYMBOL vmlinux 0xc7d6aace inc_zone_page_state +EXPORT_SYMBOL vmlinux 0xc7e19b0a inet_unregister_protosw +EXPORT_SYMBOL vmlinux 0xc7f78b47 pci_scan_bridge +EXPORT_SYMBOL vmlinux 0xc802ddd3 finish_swait +EXPORT_SYMBOL vmlinux 0xc807e20d skb_copy_expand +EXPORT_SYMBOL vmlinux 0xc80c4623 dm_io +EXPORT_SYMBOL vmlinux 0xc8106878 gen_pool_fixed_alloc +EXPORT_SYMBOL vmlinux 0xc814bb32 neigh_resolve_output +EXPORT_SYMBOL vmlinux 0xc81deeec tty_register_device +EXPORT_SYMBOL vmlinux 0xc8254c32 __ip_mc_inc_group +EXPORT_SYMBOL vmlinux 0xc82edad3 skb_clone +EXPORT_SYMBOL vmlinux 0xc836cb48 tcp_time_wait +EXPORT_SYMBOL vmlinux 0xc836e7ca flow_keys_dissector +EXPORT_SYMBOL vmlinux 0xc840d1c9 inet_getname +EXPORT_SYMBOL vmlinux 0xc8463bae xfrm_state_lookup +EXPORT_SYMBOL vmlinux 0xc84a0a7e seq_hlist_start_rcu +EXPORT_SYMBOL vmlinux 0xc84fddf6 proc_dointvec_minmax +EXPORT_SYMBOL vmlinux 0xc86a6174 __kfifo_from_user_r +EXPORT_SYMBOL vmlinux 0xc872fd85 in6addr_interfacelocal_allnodes +EXPORT_SYMBOL vmlinux 0xc87913d1 proc_remove +EXPORT_SYMBOL vmlinux 0xc8827b75 sysctl_vals +EXPORT_SYMBOL vmlinux 0xc890c008 zlib_deflateEnd +EXPORT_SYMBOL vmlinux 0xc8a8eddc folio_mapped +EXPORT_SYMBOL vmlinux 0xc8a91f5b cpumask_local_spread +EXPORT_SYMBOL vmlinux 0xc8d01679 phy_support_asym_pause +EXPORT_SYMBOL vmlinux 0xc8dfcf90 sk_filter_trim_cap +EXPORT_SYMBOL vmlinux 0xc8e8062c scsi_scan_host +EXPORT_SYMBOL vmlinux 0xc8f8ab83 csum_and_copy_from_iter +EXPORT_SYMBOL vmlinux 0xc8fd1ca0 blk_set_queue_depth +EXPORT_SYMBOL vmlinux 0xc915a0a8 km_query +EXPORT_SYMBOL vmlinux 0xc916dd46 __SCK__tp_func_kmalloc +EXPORT_SYMBOL vmlinux 0xc925e0c2 __blockdev_direct_IO +EXPORT_SYMBOL vmlinux 0xc94fdebf __genradix_ptr +EXPORT_SYMBOL vmlinux 0xc95084f7 flow_rule_match_enc_opts +EXPORT_SYMBOL vmlinux 0xc9590b68 input_copy_abs +EXPORT_SYMBOL vmlinux 0xc9634df9 in6addr_linklocal_allrouters +EXPORT_SYMBOL vmlinux 0xc972449f mempool_alloc_slab +EXPORT_SYMBOL vmlinux 0xc97d1648 dm_table_get_mode +EXPORT_SYMBOL vmlinux 0xc97f0a42 zstd_get_frame_header +EXPORT_SYMBOL vmlinux 0xc9a63f40 xfrm_policy_walk_done +EXPORT_SYMBOL vmlinux 0xc9aac458 trace_raw_output_prep +EXPORT_SYMBOL vmlinux 0xc9df055a xfrm_policy_walk_init +EXPORT_SYMBOL vmlinux 0xc9eabc27 get_ipc_ns_exported +EXPORT_SYMBOL vmlinux 0xc9eb796f __ip_options_compile +EXPORT_SYMBOL vmlinux 0xc9ffd9e8 bio_endio +EXPORT_SYMBOL vmlinux 0xca0fcac0 skb_eth_push +EXPORT_SYMBOL vmlinux 0xca207921 xfrm_init_replay +EXPORT_SYMBOL vmlinux 0xca21ebd3 bitmap_free +EXPORT_SYMBOL vmlinux 0xca431c05 wake_bit_function +EXPORT_SYMBOL vmlinux 0xca46d93c user_path_at_empty +EXPORT_SYMBOL vmlinux 0xca5fd3de tty_kref_put +EXPORT_SYMBOL vmlinux 0xca827edf skb_vlan_untag +EXPORT_SYMBOL vmlinux 0xca9360b5 rb_next +EXPORT_SYMBOL vmlinux 0xca94fd75 rtnl_offload_xstats_notify +EXPORT_SYMBOL vmlinux 0xca96bec6 sched_autogroup_create_attach +EXPORT_SYMBOL vmlinux 0xca994233 vfs_fadvise +EXPORT_SYMBOL vmlinux 0xcaa324f4 page_pool_destroy +EXPORT_SYMBOL vmlinux 0xcaa4a66a configfs_unregister_subsystem +EXPORT_SYMBOL vmlinux 0xcaaa9c18 netif_skb_features +EXPORT_SYMBOL vmlinux 0xcab324bd neigh_carrier_down +EXPORT_SYMBOL vmlinux 0xcab3584b seq_path +EXPORT_SYMBOL vmlinux 0xcad3e9eb simple_get_link +EXPORT_SYMBOL vmlinux 0xcae3a07a sg_copy_from_buffer +EXPORT_SYMBOL vmlinux 0xcae58700 generic_file_readonly_mmap +EXPORT_SYMBOL vmlinux 0xcae9b425 dquot_quotactl_sysfile_ops +EXPORT_SYMBOL vmlinux 0xcaf54d94 iptun_encaps +EXPORT_SYMBOL vmlinux 0xcb00e353 xfrm_stateonly_find +EXPORT_SYMBOL vmlinux 0xcb046add tcf_exts_dump_stats +EXPORT_SYMBOL vmlinux 0xcb16c352 nf_register_net_hook +EXPORT_SYMBOL vmlinux 0xcb194b82 inet_dgram_ops +EXPORT_SYMBOL vmlinux 0xcb196b9d __vcalloc +EXPORT_SYMBOL vmlinux 0xcb1c4820 cdrom_get_media_event +EXPORT_SYMBOL vmlinux 0xcb2b41ea security_sb_remount +EXPORT_SYMBOL vmlinux 0xcb34a6e7 hdmi_spd_infoframe_pack +EXPORT_SYMBOL vmlinux 0xcb3ae215 call_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xcb3c24dd kthread_destroy_worker +EXPORT_SYMBOL vmlinux 0xcb4b5fde tcp_fastopen_defer_connect +EXPORT_SYMBOL vmlinux 0xcb5dd401 kbd_alloc +EXPORT_SYMBOL vmlinux 0xcb65c4c4 md_reload_sb +EXPORT_SYMBOL vmlinux 0xcb75d267 ip_mc_check_igmp +EXPORT_SYMBOL vmlinux 0xcb9ec58e page_symlink +EXPORT_SYMBOL vmlinux 0xcb9fd535 param_get_bool +EXPORT_SYMBOL vmlinux 0xcba6550b __SCK__tp_func_s390_cio_xsch +EXPORT_SYMBOL vmlinux 0xcbbf0a6f audit_log_task_context +EXPORT_SYMBOL vmlinux 0xcbd4898c fortify_panic +EXPORT_SYMBOL vmlinux 0xcbd5f4e1 register_nexthop_notifier +EXPORT_SYMBOL vmlinux 0xcbdcfd91 __sock_queue_rcv_skb +EXPORT_SYMBOL vmlinux 0xcbdd28f7 inet_csk_destroy_sock +EXPORT_SYMBOL vmlinux 0xcbdd85a3 sk_free +EXPORT_SYMBOL vmlinux 0xcbe4689e kern_path +EXPORT_SYMBOL vmlinux 0xcc0de7e6 __register_chrdev +EXPORT_SYMBOL vmlinux 0xcc328a5c reservation_ww_class +EXPORT_SYMBOL vmlinux 0xcc35fb05 __skb_try_recv_datagram +EXPORT_SYMBOL vmlinux 0xcc445ceb __sg_page_iter_dma_next +EXPORT_SYMBOL vmlinux 0xcc499cdb skb_copy_datagram_from_iter +EXPORT_SYMBOL vmlinux 0xcc4f31e8 vfs_link +EXPORT_SYMBOL vmlinux 0xcc5005fe msleep_interruptible +EXPORT_SYMBOL vmlinux 0xcc5d22d9 can_do_mlock +EXPORT_SYMBOL vmlinux 0xcc5ecef3 tcp_rcv_established +EXPORT_SYMBOL vmlinux 0xcc66ef01 _dev_notice +EXPORT_SYMBOL vmlinux 0xcc6dd67e generic_copy_file_range +EXPORT_SYMBOL vmlinux 0xcc87a5ee blk_queue_alignment_offset +EXPORT_SYMBOL vmlinux 0xcc89946c generic_set_encrypted_ci_d_ops +EXPORT_SYMBOL vmlinux 0xcc8c2438 skb_page_frag_refill +EXPORT_SYMBOL vmlinux 0xcc9feab8 dm_mq_kick_requeue_list +EXPORT_SYMBOL vmlinux 0xccb06124 bio_split +EXPORT_SYMBOL vmlinux 0xccb491e8 bsearch +EXPORT_SYMBOL vmlinux 0xccce79fb tcp_md5_hash_key +EXPORT_SYMBOL vmlinux 0xccd4c999 __sg_page_iter_start +EXPORT_SYMBOL vmlinux 0xccdff4f2 tty_name +EXPORT_SYMBOL vmlinux 0xcce603d6 path_get +EXPORT_SYMBOL vmlinux 0xccfb9e07 dst_default_metrics +EXPORT_SYMBOL vmlinux 0xccfd2ebc scsi_dev_info_list_del_keyed +EXPORT_SYMBOL vmlinux 0xcd0c29d2 wait_for_completion_interruptible_timeout +EXPORT_SYMBOL vmlinux 0xcd1eca4c pci_get_subsys +EXPORT_SYMBOL vmlinux 0xcd256667 tcp_md5_needed +EXPORT_SYMBOL vmlinux 0xcd279169 nla_find +EXPORT_SYMBOL vmlinux 0xcd3c86fc ccw_device_tm_start_timeout +EXPORT_SYMBOL vmlinux 0xcd5d0878 dm_put_device +EXPORT_SYMBOL vmlinux 0xcd5f5231 d_path +EXPORT_SYMBOL vmlinux 0xcd683f9a __dev_remove_pack +EXPORT_SYMBOL vmlinux 0xcd6d0281 lookup_one +EXPORT_SYMBOL vmlinux 0xcd810b30 ilookup5 +EXPORT_SYMBOL vmlinux 0xcd9d7a3d release_pages +EXPORT_SYMBOL vmlinux 0xcdc39c9e security_ismaclabel +EXPORT_SYMBOL vmlinux 0xcdc44b43 jbd2_fc_wait_bufs +EXPORT_SYMBOL vmlinux 0xcdce3ca4 simple_transaction_set +EXPORT_SYMBOL vmlinux 0xcddcdbf5 __f_setown +EXPORT_SYMBOL vmlinux 0xcde77bcc free_opal_dev +EXPORT_SYMBOL vmlinux 0xce05e61b ap_cancel_message +EXPORT_SYMBOL vmlinux 0xce0c1f34 dfltcc_deflate +EXPORT_SYMBOL vmlinux 0xce22bca9 dev_deactivate +EXPORT_SYMBOL vmlinux 0xce2840e7 irq_set_irq_wake +EXPORT_SYMBOL vmlinux 0xce2f8b65 blk_mq_tagset_wait_completed_request +EXPORT_SYMBOL vmlinux 0xce340806 md_bitmap_sync_with_cluster +EXPORT_SYMBOL vmlinux 0xce371e14 iput +EXPORT_SYMBOL vmlinux 0xce42f1ce hdmi_infoframe_pack +EXPORT_SYMBOL vmlinux 0xce45063b has_capability_noaudit +EXPORT_SYMBOL vmlinux 0xce491449 xfrm_dst_ifdown +EXPORT_SYMBOL vmlinux 0xce4a091b sync_inodes_sb +EXPORT_SYMBOL vmlinux 0xce4cdb8e fb_find_best_mode +EXPORT_SYMBOL vmlinux 0xce595ea2 pci_enable_device +EXPORT_SYMBOL vmlinux 0xce5ac24f zlib_inflate_workspacesize +EXPORT_SYMBOL vmlinux 0xce5f5e23 blk_get_queue +EXPORT_SYMBOL vmlinux 0xce5fe0e0 mount_subtree +EXPORT_SYMBOL vmlinux 0xce6d9116 __mod_lruvec_page_state +EXPORT_SYMBOL vmlinux 0xce8b41eb mem_section +EXPORT_SYMBOL vmlinux 0xce8f4cde __sk_queue_drop_skb +EXPORT_SYMBOL vmlinux 0xcea0ac31 prepare_to_swait_event +EXPORT_SYMBOL vmlinux 0xceab0311 strchrnul +EXPORT_SYMBOL vmlinux 0xcebe3bd9 gen_new_estimator +EXPORT_SYMBOL vmlinux 0xcec321ea dqput +EXPORT_SYMBOL vmlinux 0xcece984c debug_register_mode +EXPORT_SYMBOL vmlinux 0xced1bc7c kmem_cache_destroy +EXPORT_SYMBOL vmlinux 0xcf06a434 genphy_read_status +EXPORT_SYMBOL vmlinux 0xcf1370c1 end_page_writeback +EXPORT_SYMBOL vmlinux 0xcf3b69b3 netdev_stats_to_stats64 +EXPORT_SYMBOL vmlinux 0xcf3cbeb0 kernel_connect +EXPORT_SYMBOL vmlinux 0xcf4d66a9 ap_get_qdev +EXPORT_SYMBOL vmlinux 0xcf64b0d5 raw3270_request_free +EXPORT_SYMBOL vmlinux 0xcf6a576c dma_sync_single_for_device +EXPORT_SYMBOL vmlinux 0xcf8cd6b3 mr_mfc_find_any_parent +EXPORT_SYMBOL vmlinux 0xcf8f3b49 ns_capable_noaudit +EXPORT_SYMBOL vmlinux 0xcf9b558d touchscreen_set_mt_pos +EXPORT_SYMBOL vmlinux 0xcfba080c __debug_sprintf_exception +EXPORT_SYMBOL vmlinux 0xcfbc755a ww_mutex_lock_interruptible +EXPORT_SYMBOL vmlinux 0xcfcd0fb2 dm_table_run_md_queue_async +EXPORT_SYMBOL vmlinux 0xcfdba002 mdio_device_create +EXPORT_SYMBOL vmlinux 0xcfe432b7 skb_tx_error +EXPORT_SYMBOL vmlinux 0xcff047f9 dma_get_sgtable_attrs +EXPORT_SYMBOL vmlinux 0xd013e15e _dev_info +EXPORT_SYMBOL vmlinux 0xd01da124 gnet_stats_copy_queue +EXPORT_SYMBOL vmlinux 0xd0212ea1 dev_getbyhwaddr_rcu +EXPORT_SYMBOL vmlinux 0xd03d7920 dst_dev_put +EXPORT_SYMBOL vmlinux 0xd048536d sock_no_sendpage_locked +EXPORT_SYMBOL vmlinux 0xd04c1a64 sysctl_devconf_inherit_init_net +EXPORT_SYMBOL vmlinux 0xd053c405 inet_addr_type +EXPORT_SYMBOL vmlinux 0xd0654aba woken_wake_function +EXPORT_SYMBOL vmlinux 0xd06e2399 netdev_adjacent_change_prepare +EXPORT_SYMBOL vmlinux 0xd0760fc0 kfree_sensitive +EXPORT_SYMBOL vmlinux 0xd0780be1 xfrm6_input_addr +EXPORT_SYMBOL vmlinux 0xd081b3bf tcf_unregister_action +EXPORT_SYMBOL vmlinux 0xd0913425 pci_enable_wake +EXPORT_SYMBOL vmlinux 0xd0a0c56a d_set_d_op +EXPORT_SYMBOL vmlinux 0xd0cc8306 md_cluster_ops +EXPORT_SYMBOL vmlinux 0xd0f42e81 dma_fence_array_next +EXPORT_SYMBOL vmlinux 0xd0fe572a generic_write_end +EXPORT_SYMBOL vmlinux 0xd10a5d58 tcf_qevent_handle +EXPORT_SYMBOL vmlinux 0xd10c0f60 dquot_get_next_id +EXPORT_SYMBOL vmlinux 0xd10e8f6d blk_mq_init_allocated_queue +EXPORT_SYMBOL vmlinux 0xd11bac17 check_zeroed_user +EXPORT_SYMBOL vmlinux 0xd133136a ns_capable +EXPORT_SYMBOL vmlinux 0xd14d5e65 ipmr_rule_default +EXPORT_SYMBOL vmlinux 0xd1558ba7 sock_no_bind +EXPORT_SYMBOL vmlinux 0xd16fdf9b tcp_prot +EXPORT_SYMBOL vmlinux 0xd17d2071 d_find_alias +EXPORT_SYMBOL vmlinux 0xd17de455 __kernel_fpu_begin +EXPORT_SYMBOL vmlinux 0xd187b791 security_binder_set_context_mgr +EXPORT_SYMBOL vmlinux 0xd18e6c35 sock_alloc +EXPORT_SYMBOL vmlinux 0xd192612e unregister_qdisc +EXPORT_SYMBOL vmlinux 0xd19ed1bf napi_gro_frags +EXPORT_SYMBOL vmlinux 0xd1b4b419 tcw_get_intrg +EXPORT_SYMBOL vmlinux 0xd1be6a0c __netif_napi_del +EXPORT_SYMBOL vmlinux 0xd1c4b41a _dev_crit +EXPORT_SYMBOL vmlinux 0xd1d59bd5 flow_rule_match_enc_ip +EXPORT_SYMBOL vmlinux 0xd1d612c5 fb_get_mode +EXPORT_SYMBOL vmlinux 0xd1d87e92 scsi_mlreturn_string +EXPORT_SYMBOL vmlinux 0xd1dcda0b set_security_override +EXPORT_SYMBOL vmlinux 0xd1f6bdc9 padata_free +EXPORT_SYMBOL vmlinux 0xd209e848 memcpy_and_pad +EXPORT_SYMBOL vmlinux 0xd20b9556 unpin_user_pages_dirty_lock +EXPORT_SYMBOL vmlinux 0xd213b488 security_inode_notifysecctx +EXPORT_SYMBOL vmlinux 0xd21b1b17 __blk_mq_end_request +EXPORT_SYMBOL vmlinux 0xd21e0693 submit_bio_noacct +EXPORT_SYMBOL vmlinux 0xd2260096 radix_tree_iter_delete +EXPORT_SYMBOL vmlinux 0xd2504a8c arch_spin_lock_wait +EXPORT_SYMBOL vmlinux 0xd2510a63 up_write +EXPORT_SYMBOL vmlinux 0xd256d335 bh_uptodate_or_lock +EXPORT_SYMBOL vmlinux 0xd2582f8f __SCK__tp_func_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0xd25d4f74 console_blank_hook +EXPORT_SYMBOL vmlinux 0xd27b25dd blk_check_plugged +EXPORT_SYMBOL vmlinux 0xd2800691 nf_conntrack_destroy +EXPORT_SYMBOL vmlinux 0xd2b3d9a2 netif_set_xps_queue +EXPORT_SYMBOL vmlinux 0xd2c6ccdc phy_ethtool_get_link_ksettings +EXPORT_SYMBOL vmlinux 0xd2d17314 locks_remove_posix +EXPORT_SYMBOL vmlinux 0xd2d88506 netdev_offload_xstats_report_used +EXPORT_SYMBOL vmlinux 0xd2da1048 register_netdevice_notifier +EXPORT_SYMBOL vmlinux 0xd2e38339 remap_pfn_range +EXPORT_SYMBOL vmlinux 0xd2e589c8 padata_do_parallel +EXPORT_SYMBOL vmlinux 0xd2ec3f87 pcim_iomap_regions +EXPORT_SYMBOL vmlinux 0xd31e2c3b tcp_timewait_state_process +EXPORT_SYMBOL vmlinux 0xd31e91a4 __scsi_add_device +EXPORT_SYMBOL vmlinux 0xd325654f bio_kmalloc +EXPORT_SYMBOL vmlinux 0xd32c0059 jbd2_journal_put_journal_head +EXPORT_SYMBOL vmlinux 0xd33ba3ec register_mii_tstamp_controller +EXPORT_SYMBOL vmlinux 0xd350d142 kthread_create_on_cpu +EXPORT_SYMBOL vmlinux 0xd353b020 sg_alloc_table_from_pages_segment +EXPORT_SYMBOL vmlinux 0xd3543063 memcg_kmem_enabled_key +EXPORT_SYMBOL vmlinux 0xd35a6d31 mempool_kmalloc +EXPORT_SYMBOL vmlinux 0xd36dc10c get_random_u32 +EXPORT_SYMBOL vmlinux 0xd372e5cb netdev_lower_get_next_private_rcu +EXPORT_SYMBOL vmlinux 0xd3751daa kmem_cache_alloc_lru +EXPORT_SYMBOL vmlinux 0xd37cbe97 __get_hash_from_flowi6 +EXPORT_SYMBOL vmlinux 0xd385cb7c buffer_check_dirty_writeback +EXPORT_SYMBOL vmlinux 0xd385e903 dquot_release +EXPORT_SYMBOL vmlinux 0xd39fc2ec skb_kill_datagram +EXPORT_SYMBOL vmlinux 0xd3af979c memdup_user +EXPORT_SYMBOL vmlinux 0xd3cf1c01 down_write +EXPORT_SYMBOL vmlinux 0xd3d089e2 io_uring_get_socket +EXPORT_SYMBOL vmlinux 0xd3d7600e ip6_route_me_harder +EXPORT_SYMBOL vmlinux 0xd3e26a9d inet_frag_reasm_prepare +EXPORT_SYMBOL vmlinux 0xd3f7b2f7 reuseport_has_conns_set +EXPORT_SYMBOL vmlinux 0xd405a725 generic_parse_monolithic +EXPORT_SYMBOL vmlinux 0xd406d266 fb_mode_is_equal +EXPORT_SYMBOL vmlinux 0xd411ff79 crypto_sha256_finup +EXPORT_SYMBOL vmlinux 0xd419d2d6 bdev_end_io_acct +EXPORT_SYMBOL vmlinux 0xd44fb4ea blk_mq_start_stopped_hw_queues +EXPORT_SYMBOL vmlinux 0xd4807b15 xfrm_trans_queue_net +EXPORT_SYMBOL vmlinux 0xd4850cae xfrm_state_update +EXPORT_SYMBOL vmlinux 0xd48f69c8 tcw_get_tsb +EXPORT_SYMBOL vmlinux 0xd4952cc0 cpumask_next_wrap +EXPORT_SYMBOL vmlinux 0xd496c918 generic_file_write_iter +EXPORT_SYMBOL vmlinux 0xd4bac8c5 xp_raw_get_data +EXPORT_SYMBOL vmlinux 0xd4bb4a82 inet6addr_validator_notifier_call_chain +EXPORT_SYMBOL vmlinux 0xd4c4d400 get_tree_single_reconf +EXPORT_SYMBOL vmlinux 0xd4d756da skb_queue_head +EXPORT_SYMBOL vmlinux 0xd4d7e77f security_sb_mnt_opts_compat +EXPORT_SYMBOL vmlinux 0xd4db06dd scsi_mode_sense +EXPORT_SYMBOL vmlinux 0xd4e6665f __mdiobus_register +EXPORT_SYMBOL vmlinux 0xd4ede57d pci_back_from_sleep +EXPORT_SYMBOL vmlinux 0xd4fa5a87 __kfifo_dma_out_prepare +EXPORT_SYMBOL vmlinux 0xd5074e6f sock_alloc_send_pskb +EXPORT_SYMBOL vmlinux 0xd50eac87 security_inode_init_security +EXPORT_SYMBOL vmlinux 0xd524f8a9 jbd2__journal_start +EXPORT_SYMBOL vmlinux 0xd5263820 mb_cache_destroy +EXPORT_SYMBOL vmlinux 0xd5268973 kmem_cache_alloc +EXPORT_SYMBOL vmlinux 0xd52ceb93 ww_mutex_lock +EXPORT_SYMBOL vmlinux 0xd5401417 always_delete_dentry +EXPORT_SYMBOL vmlinux 0xd566933c up +EXPORT_SYMBOL vmlinux 0xd573d021 phy_ethtool_set_link_ksettings +EXPORT_SYMBOL vmlinux 0xd588480a bio_alloc_clone +EXPORT_SYMBOL vmlinux 0xd591bc07 sk_net_capable +EXPORT_SYMBOL vmlinux 0xd5ac76f8 ndo_dflt_fdb_dump +EXPORT_SYMBOL vmlinux 0xd5b3d0d5 xxh64_copy_state +EXPORT_SYMBOL vmlinux 0xd5bfa457 sb_min_blocksize +EXPORT_SYMBOL vmlinux 0xd5db6f3a vlan_uses_dev +EXPORT_SYMBOL vmlinux 0xd5e90454 ap_domain_index +EXPORT_SYMBOL vmlinux 0xd5fd3aa8 dev_uc_add_excl +EXPORT_SYMBOL vmlinux 0xd5fdbe58 tcf_qevent_dump +EXPORT_SYMBOL vmlinux 0xd60736ec gf128mul_free_64k +EXPORT_SYMBOL vmlinux 0xd60c6f4d page_pool_update_nid +EXPORT_SYMBOL vmlinux 0xd6139243 tcf_em_tree_destroy +EXPORT_SYMBOL vmlinux 0xd62a1b46 qdisc_warn_nonwc +EXPORT_SYMBOL vmlinux 0xd63bd6f9 tcf_block_get_ext +EXPORT_SYMBOL vmlinux 0xd63dff2f textsearch_register +EXPORT_SYMBOL vmlinux 0xd64426b5 __traceiter_s390_cio_hsch +EXPORT_SYMBOL vmlinux 0xd6572be1 tcp_rtx_synack +EXPORT_SYMBOL vmlinux 0xd688716b dm_kcopyd_client_create +EXPORT_SYMBOL vmlinux 0xd68c5a1f adjust_resource +EXPORT_SYMBOL vmlinux 0xd6a53c42 fscrypt_free_bounce_page +EXPORT_SYMBOL vmlinux 0xd6b1e29c do_SAK +EXPORT_SYMBOL vmlinux 0xd6bf3f5d zstd_init_cctx +EXPORT_SYMBOL vmlinux 0xd6c49c94 ip4_datagram_connect +EXPORT_SYMBOL vmlinux 0xd6eaaea1 full_name_hash +EXPORT_SYMBOL vmlinux 0xd6ee688f vmalloc +EXPORT_SYMBOL vmlinux 0xd6fde043 is_module_sig_enforced +EXPORT_SYMBOL vmlinux 0xd704bdc6 blk_queue_max_segment_size +EXPORT_SYMBOL vmlinux 0xd70d35a1 gf128mul_4k_bbe +EXPORT_SYMBOL vmlinux 0xd7170780 dev_uc_sync +EXPORT_SYMBOL vmlinux 0xd72c4b74 pci_read_vpd +EXPORT_SYMBOL vmlinux 0xd738ca1b phy_unregister_fixup_for_uid +EXPORT_SYMBOL vmlinux 0xd73c8c2b synchronize_shrinkers +EXPORT_SYMBOL vmlinux 0xd73d34e0 unregister_external_irq +EXPORT_SYMBOL vmlinux 0xd74167d4 generic_read_dir +EXPORT_SYMBOL vmlinux 0xd74478f1 blk_queue_dma_alignment +EXPORT_SYMBOL vmlinux 0xd7489b05 ap_send_config_uevent +EXPORT_SYMBOL vmlinux 0xd74d6864 raw3270_request_add_data +EXPORT_SYMBOL vmlinux 0xd77dc2f4 sock_common_recvmsg +EXPORT_SYMBOL vmlinux 0xd7987177 utf8_load +EXPORT_SYMBOL vmlinux 0xd79de900 kfree_skb_partial +EXPORT_SYMBOL vmlinux 0xd7a71201 dev_get_flags +EXPORT_SYMBOL vmlinux 0xd7bb0cce tcp_enter_quickack_mode +EXPORT_SYMBOL vmlinux 0xd7bf8f11 build_skb +EXPORT_SYMBOL vmlinux 0xd7d03d02 module_layout +EXPORT_SYMBOL vmlinux 0xd7d280ad irq_poll_complete +EXPORT_SYMBOL vmlinux 0xd7e1c5e1 kstrtobool_from_user +EXPORT_SYMBOL vmlinux 0xd7e56a4e simple_strtoll +EXPORT_SYMBOL vmlinux 0xd7ea7094 nf_unregister_queue_handler +EXPORT_SYMBOL vmlinux 0xd7ee2742 flow_rule_match_ports +EXPORT_SYMBOL vmlinux 0xd8199303 __d_drop +EXPORT_SYMBOL vmlinux 0xd81bb5c7 dev_mc_add_excl +EXPORT_SYMBOL vmlinux 0xd827fff3 memremap +EXPORT_SYMBOL vmlinux 0xd82d3f28 input_set_poll_interval +EXPORT_SYMBOL vmlinux 0xd84f8e4a genphy_setup_forced +EXPORT_SYMBOL vmlinux 0xd853dc7b d_lookup +EXPORT_SYMBOL vmlinux 0xd863e661 ipv6_sock_mc_join +EXPORT_SYMBOL vmlinux 0xd880d158 rtnl_notify +EXPORT_SYMBOL vmlinux 0xd8882a68 __getblk_gfp +EXPORT_SYMBOL vmlinux 0xd88dbbf4 refcount_dec_and_lock +EXPORT_SYMBOL vmlinux 0xd89da37f movable_zone +EXPORT_SYMBOL vmlinux 0xd89fb084 block_write_end +EXPORT_SYMBOL vmlinux 0xd8a994eb scsi_extd_sense_format +EXPORT_SYMBOL vmlinux 0xd8b2c4a3 qdisc_put_unlocked +EXPORT_SYMBOL vmlinux 0xd8b61304 get_default_font +EXPORT_SYMBOL vmlinux 0xd8d33d18 param_set_ulong +EXPORT_SYMBOL vmlinux 0xd8d7ce88 inet_sk_rebuild_header +EXPORT_SYMBOL vmlinux 0xd8e41cc6 utf8_strncmp +EXPORT_SYMBOL vmlinux 0xd8fcda72 cpcmd +EXPORT_SYMBOL vmlinux 0xd8fea321 __xa_alloc_cyclic +EXPORT_SYMBOL vmlinux 0xd91f861f kmem_cache_create +EXPORT_SYMBOL vmlinux 0xd924470a inet_proto_csum_replace16 +EXPORT_SYMBOL vmlinux 0xd92c2afb zstd_decompress_stream +EXPORT_SYMBOL vmlinux 0xd93cf9fe phy_free_interrupt +EXPORT_SYMBOL vmlinux 0xd93dd3c3 proc_dointvec +EXPORT_SYMBOL vmlinux 0xd9454bbc raw3270_reset +EXPORT_SYMBOL vmlinux 0xd96de8cb __sysfs_match_string +EXPORT_SYMBOL vmlinux 0xd978d7e7 configfs_remove_default_groups +EXPORT_SYMBOL vmlinux 0xd985dc99 mempool_free_pages +EXPORT_SYMBOL vmlinux 0xd991353d md_check_recovery +EXPORT_SYMBOL vmlinux 0xd994e3c1 genphy_read_mmd_unsupported +EXPORT_SYMBOL vmlinux 0xd999f881 input_mt_destroy_slots +EXPORT_SYMBOL vmlinux 0xd9b3075a from_kuid_munged +EXPORT_SYMBOL vmlinux 0xd9b3f97d console_devno +EXPORT_SYMBOL vmlinux 0xd9b7274b inet6_bind +EXPORT_SYMBOL vmlinux 0xd9b8eaea __SCK__tp_func_dma_fence_signaled +EXPORT_SYMBOL vmlinux 0xd9d8fd16 register_restart_handler +EXPORT_SYMBOL vmlinux 0xd9d952d1 crypto_aes_sbox +EXPORT_SYMBOL vmlinux 0xd9f355f4 __pci_register_driver +EXPORT_SYMBOL vmlinux 0xda22a9a7 skb_copy +EXPORT_SYMBOL vmlinux 0xda297343 writeback_inodes_sb_nr +EXPORT_SYMBOL vmlinux 0xda2bec4e skb_store_bits +EXPORT_SYMBOL vmlinux 0xda3218b4 folio_alloc +EXPORT_SYMBOL vmlinux 0xda3c0ac3 inet6_release +EXPORT_SYMBOL vmlinux 0xda3d10a8 security_tun_dev_open +EXPORT_SYMBOL vmlinux 0xda41878f simple_unlink +EXPORT_SYMBOL vmlinux 0xda6fa05c _atomic_dec_and_lock_irqsave +EXPORT_SYMBOL vmlinux 0xda704a11 __sync_dirty_buffer +EXPORT_SYMBOL vmlinux 0xda7ab042 class3270 +EXPORT_SYMBOL vmlinux 0xda88c7eb xfrm_policy_hash_rebuild +EXPORT_SYMBOL vmlinux 0xda8eb740 kbd_free +EXPORT_SYMBOL vmlinux 0xda990b0e insert_inode_locked +EXPORT_SYMBOL vmlinux 0xdaa8ad1a param_set_invbool +EXPORT_SYMBOL vmlinux 0xdaadf55d inet_listen +EXPORT_SYMBOL vmlinux 0xdab00e4e kernel_getsockname +EXPORT_SYMBOL vmlinux 0xdac4913a bitmap_allocate_region +EXPORT_SYMBOL vmlinux 0xdae162cb string_unescape +EXPORT_SYMBOL vmlinux 0xdae79268 sock_i_uid +EXPORT_SYMBOL vmlinux 0xdaec288d pr_flush +EXPORT_SYMBOL vmlinux 0xdb001965 sock_set_keepalive +EXPORT_SYMBOL vmlinux 0xdb2abde4 __cpuhp_remove_state +EXPORT_SYMBOL vmlinux 0xdb2ba08d __netlink_ns_capable +EXPORT_SYMBOL vmlinux 0xdb395dcd __pagevec_release +EXPORT_SYMBOL vmlinux 0xdb760f52 __kfifo_free +EXPORT_SYMBOL vmlinux 0xdb91c605 unlock_buffer +EXPORT_SYMBOL vmlinux 0xdb95d231 netdev_offload_xstats_enabled +EXPORT_SYMBOL vmlinux 0xdb981063 dma_set_coherent_mask +EXPORT_SYMBOL vmlinux 0xdbbae951 request_firmware +EXPORT_SYMBOL vmlinux 0xdbcfcf57 input_setup_polling +EXPORT_SYMBOL vmlinux 0xdbdd0696 seq_file_path +EXPORT_SYMBOL vmlinux 0xdbdf6c92 ioport_resource +EXPORT_SYMBOL vmlinux 0xdbe0d07e invalidate_disk +EXPORT_SYMBOL vmlinux 0xdbe6ae85 dst_alloc +EXPORT_SYMBOL vmlinux 0xdbf29fef simple_transaction_read +EXPORT_SYMBOL vmlinux 0xdc02dfc3 inode_nohighmem +EXPORT_SYMBOL vmlinux 0xdc14eda7 pci_pci_problems +EXPORT_SYMBOL vmlinux 0xdc3fcbc9 __sw_hweight8 +EXPORT_SYMBOL vmlinux 0xdc49c198 reciprocal_value_adv +EXPORT_SYMBOL vmlinux 0xdc74a47c mptcp_subflow_reqsk_alloc +EXPORT_SYMBOL vmlinux 0xdc79940e mntput +EXPORT_SYMBOL vmlinux 0xdc884b7e starget_for_each_device +EXPORT_SYMBOL vmlinux 0xdc88d7cf ipv6_sock_mc_drop +EXPORT_SYMBOL vmlinux 0xdc8dec3d security_inode_invalidate_secctx +EXPORT_SYMBOL vmlinux 0xdc96f398 __SCK__tp_func_s390_cio_csch +EXPORT_SYMBOL vmlinux 0xdca4b433 reuseport_detach_sock +EXPORT_SYMBOL vmlinux 0xdca6ff93 inet_csk_reset_keepalive_timer +EXPORT_SYMBOL vmlinux 0xdcacad7b jbd2_journal_set_triggers +EXPORT_SYMBOL vmlinux 0xdcae5d25 inet6_del_protocol +EXPORT_SYMBOL vmlinux 0xdcb0a839 pci_pme_capable +EXPORT_SYMBOL vmlinux 0xdcc9b1b8 icmp_ndo_send +EXPORT_SYMBOL vmlinux 0xdcd0315a key_payload_reserve +EXPORT_SYMBOL vmlinux 0xdcd5ca19 writeback_inodes_sb +EXPORT_SYMBOL vmlinux 0xdcea201e sock_bind_add +EXPORT_SYMBOL vmlinux 0xdcee6131 __next_node_in +EXPORT_SYMBOL vmlinux 0xdcf70e48 seq_write +EXPORT_SYMBOL vmlinux 0xdcf84646 sort_r +EXPORT_SYMBOL vmlinux 0xdd03f23c tcf_generic_walker +EXPORT_SYMBOL vmlinux 0xdd20efdd xfrm6_rcv_encap +EXPORT_SYMBOL vmlinux 0xdd276d50 scsi_add_device +EXPORT_SYMBOL vmlinux 0xdd2c169b mb_cache_create +EXPORT_SYMBOL vmlinux 0xdd3318fa inode_permission +EXPORT_SYMBOL vmlinux 0xdd3b6eb5 dev_get_by_name +EXPORT_SYMBOL vmlinux 0xdd40b871 may_umount_tree +EXPORT_SYMBOL vmlinux 0xdd53565f seq_dentry +EXPORT_SYMBOL vmlinux 0xdd73d507 vma_set_file +EXPORT_SYMBOL vmlinux 0xdd7d6bb7 udp_push_pending_frames +EXPORT_SYMBOL vmlinux 0xdd849d51 scsi_get_sense_info_fld +EXPORT_SYMBOL vmlinux 0xdda1492e __netlink_dump_start +EXPORT_SYMBOL vmlinux 0xdda8244d tcp_ld_RTO_revert +EXPORT_SYMBOL vmlinux 0xddbfcd19 param_set_hexint +EXPORT_SYMBOL vmlinux 0xddc1159d nf_register_sockopt +EXPORT_SYMBOL vmlinux 0xddf73920 mpage_read_folio +EXPORT_SYMBOL vmlinux 0xddf78a13 vfs_mknod +EXPORT_SYMBOL vmlinux 0xddfe2f86 flow_rule_match_enc_control +EXPORT_SYMBOL vmlinux 0xde0bdcff memset +EXPORT_SYMBOL vmlinux 0xde0d1e31 netif_napi_add_weight +EXPORT_SYMBOL vmlinux 0xde1371ce radix_tree_tagged +EXPORT_SYMBOL vmlinux 0xde4d4ace dim_calc_stats +EXPORT_SYMBOL vmlinux 0xde5153f1 pcim_enable_device +EXPORT_SYMBOL vmlinux 0xde6e6a38 udp_pre_connect +EXPORT_SYMBOL vmlinux 0xde8ae6cb nf_log_packet +EXPORT_SYMBOL vmlinux 0xde8b246b netif_receive_skb_core +EXPORT_SYMBOL vmlinux 0xde9a358c filemap_alloc_folio +EXPORT_SYMBOL vmlinux 0xdea34eec __dec_zone_page_state +EXPORT_SYMBOL vmlinux 0xdeb0c044 migrate_page_copy +EXPORT_SYMBOL vmlinux 0xdeb70a96 scsi_target_resume +EXPORT_SYMBOL vmlinux 0xdebb8a67 gen_pool_dma_alloc_align +EXPORT_SYMBOL vmlinux 0xdecb4b72 jbd2_journal_lock_updates +EXPORT_SYMBOL vmlinux 0xded39a6b gen_kill_estimator +EXPORT_SYMBOL vmlinux 0xdeda1c74 unix_attach_fds +EXPORT_SYMBOL vmlinux 0xdeda2ae2 tcw_get_data +EXPORT_SYMBOL vmlinux 0xdef0d558 logfc +EXPORT_SYMBOL vmlinux 0xdef7c893 fb_match_mode +EXPORT_SYMBOL vmlinux 0xdef84f9f radix_tree_lookup +EXPORT_SYMBOL vmlinux 0xdf0b6149 dquot_reclaim_space_nodirty +EXPORT_SYMBOL vmlinux 0xdf179d03 vfs_llseek +EXPORT_SYMBOL vmlinux 0xdf1a09df md_reap_sync_thread +EXPORT_SYMBOL vmlinux 0xdf1ad5cd security_sctp_assoc_request +EXPORT_SYMBOL vmlinux 0xdf1bacae vfs_dedupe_file_range_one +EXPORT_SYMBOL vmlinux 0xdf28318b scm_fp_dup +EXPORT_SYMBOL vmlinux 0xdf2abf1e free_inode_nonrcu +EXPORT_SYMBOL vmlinux 0xdf2c2742 rb_last +EXPORT_SYMBOL vmlinux 0xdf54a8f7 netlink_unregister_notifier +EXPORT_SYMBOL vmlinux 0xdf552ff6 kobject_get_unless_zero +EXPORT_SYMBOL vmlinux 0xdf5c3053 folio_clear_dirty_for_io +EXPORT_SYMBOL vmlinux 0xdf6175c2 param_ops_charp +EXPORT_SYMBOL vmlinux 0xdf6691d1 dev_close +EXPORT_SYMBOL vmlinux 0xdf6d476e __percpu_counter_init +EXPORT_SYMBOL vmlinux 0xdf6eedfb unregister_cdrom +EXPORT_SYMBOL vmlinux 0xdf84a749 dma_map_sg_attrs +EXPORT_SYMBOL vmlinux 0xdf8c695a __ndelay +EXPORT_SYMBOL vmlinux 0xdf929370 fs_overflowgid +EXPORT_SYMBOL vmlinux 0xdf93b9d8 timespec64_to_jiffies +EXPORT_SYMBOL vmlinux 0xdfa9acca smp_cpu_mtid +EXPORT_SYMBOL vmlinux 0xdfbad7ba bpf_link_put +EXPORT_SYMBOL vmlinux 0xdfcc992c current_work +EXPORT_SYMBOL vmlinux 0xdfcf65d8 fs_bio_set +EXPORT_SYMBOL vmlinux 0xdfd1e06c finish_open +EXPORT_SYMBOL vmlinux 0xdfe3f247 filemap_fdatawait_range +EXPORT_SYMBOL vmlinux 0xdfeb913b sk_common_release +EXPORT_SYMBOL vmlinux 0xdffc80fc vesa_modes +EXPORT_SYMBOL vmlinux 0xe0120a3c clean_bdev_aliases +EXPORT_SYMBOL vmlinux 0xe01ae6d4 tcf_chain_put_by_act +EXPORT_SYMBOL vmlinux 0xe03e39be blkdev_get_by_path +EXPORT_SYMBOL vmlinux 0xe0419ac4 kstrtos16 +EXPORT_SYMBOL vmlinux 0xe043a2b5 inet_add_offload +EXPORT_SYMBOL vmlinux 0xe056e375 dquot_quota_on_mount +EXPORT_SYMBOL vmlinux 0xe0678f1c pcie_bandwidth_available +EXPORT_SYMBOL vmlinux 0xe068a91c gen_pool_set_algo +EXPORT_SYMBOL vmlinux 0xe070019a __cpuhp_setup_state_cpuslocked +EXPORT_SYMBOL vmlinux 0xe076df39 simple_transaction_get +EXPORT_SYMBOL vmlinux 0xe07eeea4 init_net +EXPORT_SYMBOL vmlinux 0xe080e8f0 set_current_groups +EXPORT_SYMBOL vmlinux 0xe091c977 list_sort +EXPORT_SYMBOL vmlinux 0xe0a323f6 __do_once_slow_start +EXPORT_SYMBOL vmlinux 0xe0a84431 jbd2_journal_inode_ranged_write +EXPORT_SYMBOL vmlinux 0xe0b13336 argv_free +EXPORT_SYMBOL vmlinux 0xe0bc4fb2 simple_write_to_buffer +EXPORT_SYMBOL vmlinux 0xe0e9bd75 devm_register_reboot_notifier +EXPORT_SYMBOL vmlinux 0xe0f11d08 scsi_register_interface +EXPORT_SYMBOL vmlinux 0xe1017ab9 netdev_offload_xstats_push_delta +EXPORT_SYMBOL vmlinux 0xe10595c9 __tracepoint_s390_cio_tpi +EXPORT_SYMBOL vmlinux 0xe123f3d9 dma_fence_release +EXPORT_SYMBOL vmlinux 0xe124a899 tccb_add_dcw +EXPORT_SYMBOL vmlinux 0xe13af26f sclp_pci_deconfigure +EXPORT_SYMBOL vmlinux 0xe1580129 wait_for_completion_io_timeout +EXPORT_SYMBOL vmlinux 0xe1643e7f simple_pin_fs +EXPORT_SYMBOL vmlinux 0xe16e119e scsi_rescan_device +EXPORT_SYMBOL vmlinux 0xe17263e2 scsi_report_bus_reset +EXPORT_SYMBOL vmlinux 0xe196b6ef fscrypt_put_encryption_info +EXPORT_SYMBOL vmlinux 0xe1cee888 devm_iounmap +EXPORT_SYMBOL vmlinux 0xe1dcf64a audit_log_format +EXPORT_SYMBOL vmlinux 0xe1df0b8d bpf_empty_prog_array +EXPORT_SYMBOL vmlinux 0xe1e764ae __check_sticky +EXPORT_SYMBOL vmlinux 0xe20aead3 netlink_rcv_skb +EXPORT_SYMBOL vmlinux 0xe215ea29 posix_test_lock +EXPORT_SYMBOL vmlinux 0xe21ce541 follow_down +EXPORT_SYMBOL vmlinux 0xe21ea39f rt6_lookup +EXPORT_SYMBOL vmlinux 0xe227fdef nf_log_bind_pf +EXPORT_SYMBOL vmlinux 0xe22ff281 filemap_flush +EXPORT_SYMBOL vmlinux 0xe2314c09 __generic_file_write_iter +EXPORT_SYMBOL vmlinux 0xe242ecfe mdiobus_alloc_size +EXPORT_SYMBOL vmlinux 0xe25024a4 xfrm_state_lookup_byspi +EXPORT_SYMBOL vmlinux 0xe254f4f8 xa_get_mark +EXPORT_SYMBOL vmlinux 0xe257cd6e dquot_acquire +EXPORT_SYMBOL vmlinux 0xe273d75d alloc_cpu_rmap +EXPORT_SYMBOL vmlinux 0xe27d87a4 gen_pool_first_fit +EXPORT_SYMBOL vmlinux 0xe2806211 proc_create_single_data +EXPORT_SYMBOL vmlinux 0xe28ca281 jbd2_journal_errno +EXPORT_SYMBOL vmlinux 0xe29d2d02 __genradix_ptr_alloc +EXPORT_SYMBOL vmlinux 0xe2b36545 phy_do_ioctl +EXPORT_SYMBOL vmlinux 0xe2b52182 unregister_quota_format +EXPORT_SYMBOL vmlinux 0xe2c24f3d generic_update_time +EXPORT_SYMBOL vmlinux 0xe2ce9eaa sget_fc +EXPORT_SYMBOL vmlinux 0xe2cf2862 tty_unregister_ldisc +EXPORT_SYMBOL vmlinux 0xe2d5255a strcmp +EXPORT_SYMBOL vmlinux 0xe2daca76 tcf_exts_dump +EXPORT_SYMBOL vmlinux 0xe2e391ad nla_reserve_64bit +EXPORT_SYMBOL vmlinux 0xe2f565dc blkdev_issue_secure_erase +EXPORT_SYMBOL vmlinux 0xe30be315 hdmi_vendor_infoframe_pack +EXPORT_SYMBOL vmlinux 0xe30f871e xfrm_dev_state_flush +EXPORT_SYMBOL vmlinux 0xe323ced7 pci_set_mwi +EXPORT_SYMBOL vmlinux 0xe328acd6 pcie_relaxed_ordering_enabled +EXPORT_SYMBOL vmlinux 0xe32ab4d8 xxh64_digest +EXPORT_SYMBOL vmlinux 0xe3357e2a blk_mq_start_request +EXPORT_SYMBOL vmlinux 0xe3423b36 ap_queue_init_state +EXPORT_SYMBOL vmlinux 0xe35fb609 kmemdup +EXPORT_SYMBOL vmlinux 0xe3601b4e dst_cow_metrics_generic +EXPORT_SYMBOL vmlinux 0xe364ca0d ip_cmsg_recv_offset +EXPORT_SYMBOL vmlinux 0xe375ee1a netif_set_real_num_rx_queues +EXPORT_SYMBOL vmlinux 0xe3763ac7 sk_mc_loop +EXPORT_SYMBOL vmlinux 0xe3816fa4 pcibios_resource_to_bus +EXPORT_SYMBOL vmlinux 0xe386feff __phy_write_mmd +EXPORT_SYMBOL vmlinux 0xe39b2ea5 sha256 +EXPORT_SYMBOL vmlinux 0xe3ec2f2b alloc_chrdev_region +EXPORT_SYMBOL vmlinux 0xe3f72dac kernel_getpeername +EXPORT_SYMBOL vmlinux 0xe3feba56 tasklet_unlock_spin_wait +EXPORT_SYMBOL vmlinux 0xe3febed5 is_bad_inode +EXPORT_SYMBOL vmlinux 0xe3ff2c41 get_random_u64 +EXPORT_SYMBOL vmlinux 0xe400cb76 pci_bus_alloc_resource +EXPORT_SYMBOL vmlinux 0xe417d456 netdev_reset_tc +EXPORT_SYMBOL vmlinux 0xe41d0d79 eth_gro_complete +EXPORT_SYMBOL vmlinux 0xe4329092 __ctzdi2 +EXPORT_SYMBOL vmlinux 0xe43d9ab2 slash_name +EXPORT_SYMBOL vmlinux 0xe486a466 genphy_read_status_fixed +EXPORT_SYMBOL vmlinux 0xe49a7083 skb_clone_sk +EXPORT_SYMBOL vmlinux 0xe49c5da0 ipv6_chk_addr_and_flags +EXPORT_SYMBOL vmlinux 0xe49e680a __traceiter_mmap_lock_acquire_returned +EXPORT_SYMBOL vmlinux 0xe4df9aec hdmi_drm_infoframe_unpack_only +EXPORT_SYMBOL vmlinux 0xe4e596dc pcim_iomap +EXPORT_SYMBOL vmlinux 0xe5032177 wait_for_key_construction +EXPORT_SYMBOL vmlinux 0xe5085718 flow_rule_match_meta +EXPORT_SYMBOL vmlinux 0xe5094832 page_table_allocate_pgste +EXPORT_SYMBOL vmlinux 0xe5225e7d proto_register +EXPORT_SYMBOL vmlinux 0xe523ad75 synchronize_irq +EXPORT_SYMBOL vmlinux 0xe524e3e2 bcmp +EXPORT_SYMBOL vmlinux 0xe5257a7a napi_gro_receive +EXPORT_SYMBOL vmlinux 0xe555c7ab radix_tree_gang_lookup_tag +EXPORT_SYMBOL vmlinux 0xe56412d4 inet6_del_offload +EXPORT_SYMBOL vmlinux 0xe5652e83 sie64a +EXPORT_SYMBOL vmlinux 0xe56b0d0f stsch +EXPORT_SYMBOL vmlinux 0xe574004f pci_ep_cfs_add_epf_group +EXPORT_SYMBOL vmlinux 0xe58090ca security_ib_endport_manage_subnet +EXPORT_SYMBOL vmlinux 0xe58b8263 unregister_service_level +EXPORT_SYMBOL vmlinux 0xe590dea3 sk_busy_loop_end +EXPORT_SYMBOL vmlinux 0xe5a56ecd idr_get_next +EXPORT_SYMBOL vmlinux 0xe5c78a99 do_blank_screen +EXPORT_SYMBOL vmlinux 0xe613a798 inet_addr_is_any +EXPORT_SYMBOL vmlinux 0xe6224f00 dev_getfirstbyhwtype +EXPORT_SYMBOL vmlinux 0xe66ac127 __devm_mdiobus_register +EXPORT_SYMBOL vmlinux 0xe67356e3 bpf_link_get_from_fd +EXPORT_SYMBOL vmlinux 0xe67efc82 dst_release +EXPORT_SYMBOL vmlinux 0xe68180fa netif_tx_unlock +EXPORT_SYMBOL vmlinux 0xe690fac3 pci_free_irq_vectors +EXPORT_SYMBOL vmlinux 0xe69c3b94 textsearch_destroy +EXPORT_SYMBOL vmlinux 0xe6d2458e do_trace_netlink_extack +EXPORT_SYMBOL vmlinux 0xe6d55e27 netdev_core_stats_alloc +EXPORT_SYMBOL vmlinux 0xe6e3f9a1 configfs_register_group +EXPORT_SYMBOL vmlinux 0xe6eb60e3 phy_attach_direct +EXPORT_SYMBOL vmlinux 0xe6f1486d dql_reset +EXPORT_SYMBOL vmlinux 0xe6fd09bd xattr_full_name +EXPORT_SYMBOL vmlinux 0xe7077fa2 dump_align +EXPORT_SYMBOL vmlinux 0xe7097721 __devm_request_region +EXPORT_SYMBOL vmlinux 0xe70a2ae7 dquot_commit_info +EXPORT_SYMBOL vmlinux 0xe70e184a xa_store +EXPORT_SYMBOL vmlinux 0xe713a97a irq_subclass_unregister +EXPORT_SYMBOL vmlinux 0xe71a1bd3 inode_init_owner +EXPORT_SYMBOL vmlinux 0xe71e0442 dump_emit +EXPORT_SYMBOL vmlinux 0xe71e7861 sock_kzfree_s +EXPORT_SYMBOL vmlinux 0xe720a84f devm_pci_remap_iospace +EXPORT_SYMBOL vmlinux 0xe726687e page_pool_put_page_bulk +EXPORT_SYMBOL vmlinux 0xe73c29ea d_hash_and_lookup +EXPORT_SYMBOL vmlinux 0xe73f0ce3 skb_dump +EXPORT_SYMBOL vmlinux 0xe74a036a mark_buffer_dirty +EXPORT_SYMBOL vmlinux 0xe752e8e1 udp6_set_csum +EXPORT_SYMBOL vmlinux 0xe755ced4 sync_blockdev_range +EXPORT_SYMBOL vmlinux 0xe766b2ed init_pseudo +EXPORT_SYMBOL vmlinux 0xe76e486f nf_log_set +EXPORT_SYMBOL vmlinux 0xe777e808 sclp_ap_configure +EXPORT_SYMBOL vmlinux 0xe796ecac __nla_reserve_nohdr +EXPORT_SYMBOL vmlinux 0xe796f19a hdmi_audio_infoframe_pack +EXPORT_SYMBOL vmlinux 0xe798236d jiffies +EXPORT_SYMBOL vmlinux 0xe7c18ecf sock_no_recvmsg +EXPORT_SYMBOL vmlinux 0xe7cd0be7 thread_group_exited +EXPORT_SYMBOL vmlinux 0xe7d0036d forget_all_cached_acls +EXPORT_SYMBOL vmlinux 0xe7d4daac seq_list_next +EXPORT_SYMBOL vmlinux 0xe7e17ce0 dev_set_threaded +EXPORT_SYMBOL vmlinux 0xe7f42a7c pci_read_config_byte +EXPORT_SYMBOL vmlinux 0xe816f089 brioctl_set +EXPORT_SYMBOL vmlinux 0xe8332b4b __tracepoint_s390_cio_stsch +EXPORT_SYMBOL vmlinux 0xe8397ce6 ww_mutex_unlock +EXPORT_SYMBOL vmlinux 0xe8485e2c sock_wmalloc +EXPORT_SYMBOL vmlinux 0xe84c243f scsi_test_unit_ready +EXPORT_SYMBOL vmlinux 0xe85c84ef xsk_tx_completed +EXPORT_SYMBOL vmlinux 0xe873f1fd dev_uc_flush +EXPORT_SYMBOL vmlinux 0xe87bb254 register_md_personality +EXPORT_SYMBOL vmlinux 0xe8a0a36f remove_proc_entry +EXPORT_SYMBOL vmlinux 0xe8b5c3c3 __tracepoint_module_get +EXPORT_SYMBOL vmlinux 0xe8ba125d kmemdup_nul +EXPORT_SYMBOL vmlinux 0xe8c50496 should_remove_suid +EXPORT_SYMBOL vmlinux 0xe8dba658 mark_page_accessed +EXPORT_SYMBOL vmlinux 0xe8f72488 flow_rule_match_vlan +EXPORT_SYMBOL vmlinux 0xe9020709 trace_seq_hex_dump +EXPORT_SYMBOL vmlinux 0xe914e41e strcpy +EXPORT_SYMBOL vmlinux 0xe947b2f0 __tracepoint_s390_cio_xsch +EXPORT_SYMBOL vmlinux 0xe953b21f get_next_ino +EXPORT_SYMBOL vmlinux 0xe963570b take_dentry_name_snapshot +EXPORT_SYMBOL vmlinux 0xe96a2d85 neigh_xmit +EXPORT_SYMBOL vmlinux 0xe97fd85a crypto_sha256_update +EXPORT_SYMBOL vmlinux 0xe994130a __xa_store +EXPORT_SYMBOL vmlinux 0xe995eee3 __percpu_counter_sum +EXPORT_SYMBOL vmlinux 0xe9c58a09 tcw_finalize +EXPORT_SYMBOL vmlinux 0xe9d9c173 ip_route_input_noref +EXPORT_SYMBOL vmlinux 0xe9dc1181 drop_nlink +EXPORT_SYMBOL vmlinux 0xe9f6b683 xp_raw_get_dma +EXPORT_SYMBOL vmlinux 0xe9f7149c zlib_deflate_workspacesize +EXPORT_SYMBOL vmlinux 0xe9fcb616 mempool_alloc +EXPORT_SYMBOL vmlinux 0xea3c8e4e scsilun_to_int +EXPORT_SYMBOL vmlinux 0xea544bef inode_io_list_del +EXPORT_SYMBOL vmlinux 0xea6f9a36 zlib_deflate_dfltcc_enabled +EXPORT_SYMBOL vmlinux 0xea80371d fifo_set_limit +EXPORT_SYMBOL vmlinux 0xea872313 find_next_bit_inv +EXPORT_SYMBOL vmlinux 0xea8ce2ce pcie_capability_clear_and_set_dword +EXPORT_SYMBOL vmlinux 0xeaa2070e ptep_xchg_lazy +EXPORT_SYMBOL vmlinux 0xeaa44602 cad_pid +EXPORT_SYMBOL vmlinux 0xead58fb9 print_hex_dump +EXPORT_SYMBOL vmlinux 0xead910fe xfrm_state_check_expire +EXPORT_SYMBOL vmlinux 0xeada100a unregister_fib_notifier +EXPORT_SYMBOL vmlinux 0xeae3dfc3 __sk_mem_reclaim +EXPORT_SYMBOL vmlinux 0xeaeaf386 submit_bh +EXPORT_SYMBOL vmlinux 0xeafc141f __posix_acl_chmod +EXPORT_SYMBOL vmlinux 0xeb19be65 sync_file_create +EXPORT_SYMBOL vmlinux 0xeb1b1e55 vmap +EXPORT_SYMBOL vmlinux 0xeb1d05a9 fscrypt_encrypt_block_inplace +EXPORT_SYMBOL vmlinux 0xeb2d469c d_instantiate_new +EXPORT_SYMBOL vmlinux 0xeb3318d2 tty_port_block_til_ready +EXPORT_SYMBOL vmlinux 0xeb37101c audit_log_end +EXPORT_SYMBOL vmlinux 0xeb65573b ccw_device_set_offline +EXPORT_SYMBOL vmlinux 0xeb9dc55b ap_owned_by_def_drv +EXPORT_SYMBOL vmlinux 0xeb9e913d sgl_alloc_order +EXPORT_SYMBOL vmlinux 0xeb9eef52 match_uint +EXPORT_SYMBOL vmlinux 0xebb29f02 simple_link +EXPORT_SYMBOL vmlinux 0xebb3345f jbd2_journal_start_reserved +EXPORT_SYMBOL vmlinux 0xebb9be2a icmp6_send +EXPORT_SYMBOL vmlinux 0xebbf1dba strncasecmp +EXPORT_SYMBOL vmlinux 0xebcb8bdc kstrtoll_from_user +EXPORT_SYMBOL vmlinux 0xebd01f76 tcf_exts_destroy +EXPORT_SYMBOL vmlinux 0xebd96d7a tty_lock +EXPORT_SYMBOL vmlinux 0xebdf0a55 dma_mmap_attrs +EXPORT_SYMBOL vmlinux 0xebf4384e sock_kmalloc +EXPORT_SYMBOL vmlinux 0xebf9dc95 kill_litter_super +EXPORT_SYMBOL vmlinux 0xec1c635b sock_no_mmap +EXPORT_SYMBOL vmlinux 0xec2c78de zpool_register_driver +EXPORT_SYMBOL vmlinux 0xec48278f ipv6_dev_mc_inc +EXPORT_SYMBOL vmlinux 0xec739745 sg_miter_skip +EXPORT_SYMBOL vmlinux 0xec9d7c8a __traceiter_s390_diagnose +EXPORT_SYMBOL vmlinux 0xec9ea737 padata_set_cpumask +EXPORT_SYMBOL vmlinux 0xeca8156b single_release +EXPORT_SYMBOL vmlinux 0xeca8a562 proc_create_data +EXPORT_SYMBOL vmlinux 0xece34cce phy_request_interrupt +EXPORT_SYMBOL vmlinux 0xece784c2 rb_first +EXPORT_SYMBOL vmlinux 0xecf8c1a4 __traceiter_mmap_lock_start_locking +EXPORT_SYMBOL vmlinux 0xed1ec9ec mnt_drop_write_file +EXPORT_SYMBOL vmlinux 0xed361b90 dup_iter +EXPORT_SYMBOL vmlinux 0xed3f5cf8 skb_flow_dissect_tunnel_info +EXPORT_SYMBOL vmlinux 0xed4a19d5 ethtool_notify +EXPORT_SYMBOL vmlinux 0xed511df6 cdrom_number_of_slots +EXPORT_SYMBOL vmlinux 0xed5483db __xfrm_init_state +EXPORT_SYMBOL vmlinux 0xed656e30 udp_encap_disable +EXPORT_SYMBOL vmlinux 0xed765bc3 netdev_lower_get_first_private_rcu +EXPORT_SYMBOL vmlinux 0xed937111 nf_log_register +EXPORT_SYMBOL vmlinux 0xed9af2db flow_rule_match_ipv4_addrs +EXPORT_SYMBOL vmlinux 0xedbaee5e nla_strcmp +EXPORT_SYMBOL vmlinux 0xedc03953 iounmap +EXPORT_SYMBOL vmlinux 0xedd17b31 sock_get_timeout +EXPORT_SYMBOL vmlinux 0xedfc1dae node_data +EXPORT_SYMBOL vmlinux 0xedfc98fc pci_rebar_get_possible_sizes +EXPORT_SYMBOL vmlinux 0xee08cada iucv_message_purge +EXPORT_SYMBOL vmlinux 0xee2d0fc7 _local_bh_enable +EXPORT_SYMBOL vmlinux 0xee3f9f6b user_path_create +EXPORT_SYMBOL vmlinux 0xee3ff4a8 unregister_shrinker +EXPORT_SYMBOL vmlinux 0xee4de4fb __traceiter_s390_cio_csch +EXPORT_SYMBOL vmlinux 0xee5011f6 get_tree_single +EXPORT_SYMBOL vmlinux 0xee52ab94 pcix_get_mmrbc +EXPORT_SYMBOL vmlinux 0xee58e970 fb_add_videomode +EXPORT_SYMBOL vmlinux 0xee596ade cpu_rmap_update +EXPORT_SYMBOL vmlinux 0xee6653ec dquot_quota_on +EXPORT_SYMBOL vmlinux 0xee8c02e9 vprintk_emit +EXPORT_SYMBOL vmlinux 0xee8d74d6 jiffies64_to_nsecs +EXPORT_SYMBOL vmlinux 0xee91879b rb_first_postorder +EXPORT_SYMBOL vmlinux 0xeea9dbaf bitmap_bitremap +EXPORT_SYMBOL vmlinux 0xeeb62568 pci_read_config_word +EXPORT_SYMBOL vmlinux 0xeece81c5 ccw_device_get_path_mask +EXPORT_SYMBOL vmlinux 0xeed578a7 xfrm_lookup_route +EXPORT_SYMBOL vmlinux 0xeed9bdc7 peernet2id +EXPORT_SYMBOL vmlinux 0xeedff578 __traceiter_kmem_cache_alloc_node +EXPORT_SYMBOL vmlinux 0xeee58ab2 neigh_seq_next +EXPORT_SYMBOL vmlinux 0xeeff71b2 vfs_get_fsid +EXPORT_SYMBOL vmlinux 0xef26fec9 fb_validate_mode +EXPORT_SYMBOL vmlinux 0xef45d32c __kfifo_init +EXPORT_SYMBOL vmlinux 0xef70cc51 consume_skb +EXPORT_SYMBOL vmlinux 0xef8014bc devm_kvasprintf +EXPORT_SYMBOL vmlinux 0xef8fe388 tcp_initialize_rcv_mss +EXPORT_SYMBOL vmlinux 0xef90b20e netdev_set_tc_queue +EXPORT_SYMBOL vmlinux 0xef9ed63a nobh_truncate_page +EXPORT_SYMBOL vmlinux 0xefaf2e4f tcf_queue_work +EXPORT_SYMBOL vmlinux 0xefb2c93e blk_rq_map_user +EXPORT_SYMBOL vmlinux 0xefc67050 __cpu_active_mask +EXPORT_SYMBOL vmlinux 0xefd9531d alloc_skb_with_frags +EXPORT_SYMBOL vmlinux 0xefe6e5cb mmput_async +EXPORT_SYMBOL vmlinux 0xefeefc09 __SCK__tp_func_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xeff7ce12 rawv6_mh_filter_unregister +EXPORT_SYMBOL vmlinux 0xf0009fee put_pages_list +EXPORT_SYMBOL vmlinux 0xf01eca9e pci_assign_resource +EXPORT_SYMBOL vmlinux 0xf023a2d9 ap_flush_queue +EXPORT_SYMBOL vmlinux 0xf025fa05 param_ops_ullong +EXPORT_SYMBOL vmlinux 0xf05c64f8 iucv_path_connect +EXPORT_SYMBOL vmlinux 0xf0629215 eth_header_cache_update +EXPORT_SYMBOL vmlinux 0xf06482e0 atomic_dec_and_mutex_lock +EXPORT_SYMBOL vmlinux 0xf076a53a pci_select_bars +EXPORT_SYMBOL vmlinux 0xf0887fec ccw_device_is_pathgroup +EXPORT_SYMBOL vmlinux 0xf08b681c mnt_set_expiry +EXPORT_SYMBOL vmlinux 0xf09b5d9a get_zeroed_page +EXPORT_SYMBOL vmlinux 0xf0b1ee90 ccw_device_dma_free +EXPORT_SYMBOL vmlinux 0xf0dc7503 devm_register_netdev +EXPORT_SYMBOL vmlinux 0xf0ea2318 __mutex_init +EXPORT_SYMBOL vmlinux 0xf0fbd2b7 call_usermodehelper_setup +EXPORT_SYMBOL vmlinux 0xf0fc9aa8 sclp_cpi_set_data +EXPORT_SYMBOL vmlinux 0xf114415a tty_register_driver +EXPORT_SYMBOL vmlinux 0xf1173ba7 vlan_ioctl_set +EXPORT_SYMBOL vmlinux 0xf11dd46e _page_poisoning_enabled_early +EXPORT_SYMBOL vmlinux 0xf130ee84 alloc_netdev_mqs +EXPORT_SYMBOL vmlinux 0xf14e8993 alloc_etherdev_mqs +EXPORT_SYMBOL vmlinux 0xf1690224 lockref_put_not_zero +EXPORT_SYMBOL vmlinux 0xf16d0e67 param_set_charp +EXPORT_SYMBOL vmlinux 0xf16e691b __scm_send +EXPORT_SYMBOL vmlinux 0xf1808e2b call_usermodehelper_exec +EXPORT_SYMBOL vmlinux 0xf1924634 mntget +EXPORT_SYMBOL vmlinux 0xf19565ea __filemap_set_wb_err +EXPORT_SYMBOL vmlinux 0xf195c682 fb_invert_cmaps +EXPORT_SYMBOL vmlinux 0xf1969a8e __usecs_to_jiffies +EXPORT_SYMBOL vmlinux 0xf1adc6d2 neigh_proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xf1af4346 xfrm_replay_seqhi +EXPORT_SYMBOL vmlinux 0xf1b6f631 dump_skip_to +EXPORT_SYMBOL vmlinux 0xf1b79e7a shrink_dcache_parent +EXPORT_SYMBOL vmlinux 0xf1b96974 posix_acl_valid +EXPORT_SYMBOL vmlinux 0xf1c39720 sk_error_report +EXPORT_SYMBOL vmlinux 0xf1d3380d __post_watch_notification +EXPORT_SYMBOL vmlinux 0xf1d992eb radix_tree_delete +EXPORT_SYMBOL vmlinux 0xf1db1704 nla_memcpy +EXPORT_SYMBOL vmlinux 0xf1e046cc panic +EXPORT_SYMBOL vmlinux 0xf1e60989 mdio_driver_unregister +EXPORT_SYMBOL vmlinux 0xf1e78a37 bio_integrity_alloc +EXPORT_SYMBOL vmlinux 0xf1e98c74 avenrun +EXPORT_SYMBOL vmlinux 0xf225f82e dma_fence_array_create +EXPORT_SYMBOL vmlinux 0xf23fcb99 __kfifo_in +EXPORT_SYMBOL vmlinux 0xf2436778 register_fib_notifier +EXPORT_SYMBOL vmlinux 0xf244558c send_sig_info +EXPORT_SYMBOL vmlinux 0xf24d4fb7 page_pool_create +EXPORT_SYMBOL vmlinux 0xf258142c radix_tree_lookup_slot +EXPORT_SYMBOL vmlinux 0xf25ed853 gen_replace_estimator +EXPORT_SYMBOL vmlinux 0xf2821efb blk_integrity_compare +EXPORT_SYMBOL vmlinux 0xf2897a1d __folio_lock +EXPORT_SYMBOL vmlinux 0xf28cc424 arp_create +EXPORT_SYMBOL vmlinux 0xf28cf0ae __hw_addr_init +EXPORT_SYMBOL vmlinux 0xf298f3b2 __mark_inode_dirty +EXPORT_SYMBOL vmlinux 0xf2a364ca ip6mr_rule_default +EXPORT_SYMBOL vmlinux 0xf2ac47ef _copy_to_iter +EXPORT_SYMBOL vmlinux 0xf2ac839b phy_read_mmd +EXPORT_SYMBOL vmlinux 0xf2b25be7 __neigh_set_probe_once +EXPORT_SYMBOL vmlinux 0xf2be901c iov_iter_get_pages_alloc +EXPORT_SYMBOL vmlinux 0xf2c43f3f zlib_deflate +EXPORT_SYMBOL vmlinux 0xf2d7f434 __hw_addr_ref_unsync_dev +EXPORT_SYMBOL vmlinux 0xf2e078a6 tcp_v4_destroy_sock +EXPORT_SYMBOL vmlinux 0xf2e5bd87 security_free_mnt_opts +EXPORT_SYMBOL vmlinux 0xf2f97ca1 lock_sock_nested +EXPORT_SYMBOL vmlinux 0xf3107926 sha224_update +EXPORT_SYMBOL vmlinux 0xf312383d kernel_bind +EXPORT_SYMBOL vmlinux 0xf31c0d52 ioremap +EXPORT_SYMBOL vmlinux 0xf33621a5 __fput_sync +EXPORT_SYMBOL vmlinux 0xf33a9435 raw3270_request_alloc +EXPORT_SYMBOL vmlinux 0xf33ada6f dec_node_page_state +EXPORT_SYMBOL vmlinux 0xf34490b1 radix_tree_iter_resume +EXPORT_SYMBOL vmlinux 0xf346231f seq_list_start_head +EXPORT_SYMBOL vmlinux 0xf353a698 register_module_notifier +EXPORT_SYMBOL vmlinux 0xf35829a2 __skb_gso_segment +EXPORT_SYMBOL vmlinux 0xf35962ff fqdir_init +EXPORT_SYMBOL vmlinux 0xf364f822 free_cgroup_ns +EXPORT_SYMBOL vmlinux 0xf36a55ae proc_create +EXPORT_SYMBOL vmlinux 0xf3916987 global_cursor_default +EXPORT_SYMBOL vmlinux 0xf3932313 mb_cache_entry_wait_unused +EXPORT_SYMBOL vmlinux 0xf3a27322 __cgroup_bpf_run_filter_sock_addr +EXPORT_SYMBOL vmlinux 0xf3ac9bef pci_iomap_wc_range +EXPORT_SYMBOL vmlinux 0xf3b74f79 __iucv_message_send +EXPORT_SYMBOL vmlinux 0xf3ca733b hdmi_drm_infoframe_pack +EXPORT_SYMBOL vmlinux 0xf3cd924d xfrm_state_unregister_afinfo +EXPORT_SYMBOL vmlinux 0xf3e0e1df allocate_resource +EXPORT_SYMBOL vmlinux 0xf3f558a4 tcf_block_put_ext +EXPORT_SYMBOL vmlinux 0xf40dde1d skb_flow_dissector_init +EXPORT_SYMBOL vmlinux 0xf41e7b3f netdev_lower_get_next_private +EXPORT_SYMBOL vmlinux 0xf4234e39 fqdir_exit +EXPORT_SYMBOL vmlinux 0xf43725fb s390_arch_random_counter +EXPORT_SYMBOL vmlinux 0xf44a904a net_ns_barrier +EXPORT_SYMBOL vmlinux 0xf4543e9b sk_stream_wait_memory +EXPORT_SYMBOL vmlinux 0xf474c21c bitmap_print_to_pagebuf +EXPORT_SYMBOL vmlinux 0xf474fdcb kfree_const +EXPORT_SYMBOL vmlinux 0xf47d18dc ioc_lookup_icq +EXPORT_SYMBOL vmlinux 0xf48ab693 configfs_undepend_item +EXPORT_SYMBOL vmlinux 0xf4a66c9d user_revoke +EXPORT_SYMBOL vmlinux 0xf4bb992f inetpeer_invalidate_tree +EXPORT_SYMBOL vmlinux 0xf4db35bc stpcpy +EXPORT_SYMBOL vmlinux 0xf4f14de6 rtnl_trylock +EXPORT_SYMBOL vmlinux 0xf4f1d73f __kfifo_out_peek_r +EXPORT_SYMBOL vmlinux 0xf504eba1 dcache_readdir +EXPORT_SYMBOL vmlinux 0xf510832a poll_freewait +EXPORT_SYMBOL vmlinux 0xf536dad1 xfrm_user_policy +EXPORT_SYMBOL vmlinux 0xf53d4c26 qdisc_class_hash_destroy +EXPORT_SYMBOL vmlinux 0xf5470009 xfrm_policy_insert +EXPORT_SYMBOL vmlinux 0xf55f2a40 sg_alloc_append_table_from_pages +EXPORT_SYMBOL vmlinux 0xf573e78d __vmalloc_array +EXPORT_SYMBOL vmlinux 0xf5c48efe vfs_parse_fs_param +EXPORT_SYMBOL vmlinux 0xf5d8adf8 pci_set_master +EXPORT_SYMBOL vmlinux 0xf5e7ea40 ktime_get_coarse_ts64 +EXPORT_SYMBOL vmlinux 0xf5f4c1b4 eth_get_headlen +EXPORT_SYMBOL vmlinux 0xf6006112 kbd_keycode +EXPORT_SYMBOL vmlinux 0xf60b05b3 file_write_and_wait_range +EXPORT_SYMBOL vmlinux 0xf617efad __mmap_lock_do_trace_released +EXPORT_SYMBOL vmlinux 0xf61f0929 ilookup +EXPORT_SYMBOL vmlinux 0xf62046de misc_register +EXPORT_SYMBOL vmlinux 0xf62941b7 dev_get_stats +EXPORT_SYMBOL vmlinux 0xf6409bd0 skb_checksum_setup +EXPORT_SYMBOL vmlinux 0xf643d104 hsiphash_4u32 +EXPORT_SYMBOL vmlinux 0xf649885b tty_hung_up_p +EXPORT_SYMBOL vmlinux 0xf651491e netdev_lower_dev_get_private +EXPORT_SYMBOL vmlinux 0xf6584cdb single_open +EXPORT_SYMBOL vmlinux 0xf665f74f sock_load_diag_module +EXPORT_SYMBOL vmlinux 0xf66ba91e dma_sync_sg_for_cpu +EXPORT_SYMBOL vmlinux 0xf68285c0 register_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xf6989f01 file_update_time +EXPORT_SYMBOL vmlinux 0xf6a43167 ip6_fraglist_prepare +EXPORT_SYMBOL vmlinux 0xf6ab2e8e bioset_integrity_create +EXPORT_SYMBOL vmlinux 0xf6c0b19a blk_queue_split +EXPORT_SYMBOL vmlinux 0xf6c3e4aa wait_for_completion_io +EXPORT_SYMBOL vmlinux 0xf6ce3c24 sock_dequeue_err_skb +EXPORT_SYMBOL vmlinux 0xf6d0a4d9 tc_setup_cb_destroy +EXPORT_SYMBOL vmlinux 0xf6ebc03b net_ratelimit +EXPORT_SYMBOL vmlinux 0xf6ed9ce1 pci_release_region +EXPORT_SYMBOL vmlinux 0xf6ee0046 pci_read_config_dword +EXPORT_SYMBOL vmlinux 0xf6f48a49 pci_dev_driver +EXPORT_SYMBOL vmlinux 0xf6f9d58d init_on_free +EXPORT_SYMBOL vmlinux 0xf6fc8791 __bitmap_xor +EXPORT_SYMBOL vmlinux 0xf70a93b9 xsk_clear_tx_need_wakeup +EXPORT_SYMBOL vmlinux 0xf722ccf0 scsi_report_opcode +EXPORT_SYMBOL vmlinux 0xf734668f get_tree_bdev +EXPORT_SYMBOL vmlinux 0xf7359186 fault_in_iov_iter_writeable +EXPORT_SYMBOL vmlinux 0xf7370f56 system_state +EXPORT_SYMBOL vmlinux 0xf738d1be register_blocking_lsm_notifier +EXPORT_SYMBOL vmlinux 0xf73dd271 __vfs_removexattr +EXPORT_SYMBOL vmlinux 0xf74300d7 arch_vcpu_is_preempted +EXPORT_SYMBOL vmlinux 0xf75d0e90 pps_register_source +EXPORT_SYMBOL vmlinux 0xf77337a1 hdmi_audio_infoframe_check +EXPORT_SYMBOL vmlinux 0xf778aced inet_stream_connect +EXPORT_SYMBOL vmlinux 0xf78e6284 eth_platform_get_mac_address +EXPORT_SYMBOL vmlinux 0xf79faab3 ip_send_check +EXPORT_SYMBOL vmlinux 0xf7a92ba8 skb_checksum_trimmed +EXPORT_SYMBOL vmlinux 0xf7a9a415 del_gendisk +EXPORT_SYMBOL vmlinux 0xf7c48778 __tracepoint_kmalloc_node +EXPORT_SYMBOL vmlinux 0xf7d71918 __kfifo_in_r +EXPORT_SYMBOL vmlinux 0xf7dbdcc2 zstd_end_stream +EXPORT_SYMBOL vmlinux 0xf7dfcbde register_quota_format +EXPORT_SYMBOL vmlinux 0xf811149b inet_csk_delete_keepalive_timer +EXPORT_SYMBOL vmlinux 0xf811e69d scsi_eh_flush_done_q +EXPORT_SYMBOL vmlinux 0xf815ad54 xfrm_register_type +EXPORT_SYMBOL vmlinux 0xf819309a d_make_root +EXPORT_SYMBOL vmlinux 0xf81fd636 arch_spin_relax +EXPORT_SYMBOL vmlinux 0xf828f479 pcie_capability_write_dword +EXPORT_SYMBOL vmlinux 0xf82a0bf8 fput +EXPORT_SYMBOL vmlinux 0xf82abc1d isa_dma_bridge_buggy +EXPORT_SYMBOL vmlinux 0xf82ec573 rb_prev +EXPORT_SYMBOL vmlinux 0xf84bd6ee bpf_stats_enabled_key +EXPORT_SYMBOL vmlinux 0xf858b677 dquot_drop +EXPORT_SYMBOL vmlinux 0xf86ca0b5 xfrm_register_type_offload +EXPORT_SYMBOL vmlinux 0xf87cf874 try_lookup_one_len +EXPORT_SYMBOL vmlinux 0xf888ca21 sg_init_table +EXPORT_SYMBOL vmlinux 0xf88ee513 tcf_qevent_destroy +EXPORT_SYMBOL vmlinux 0xf8998e5b cpumask_next_and +EXPORT_SYMBOL vmlinux 0xf8a2b380 make_kuid +EXPORT_SYMBOL vmlinux 0xf8ce4f61 kthread_create_worker_on_cpu +EXPORT_SYMBOL vmlinux 0xf8d07858 bitmap_from_arr32 +EXPORT_SYMBOL vmlinux 0xf8d87021 dquot_get_dqblk +EXPORT_SYMBOL vmlinux 0xf8dae2eb request_key_with_auxdata +EXPORT_SYMBOL vmlinux 0xf8ec0080 put_fs_context +EXPORT_SYMBOL vmlinux 0xf8f61ebc wake_up_var +EXPORT_SYMBOL vmlinux 0xf8fd0e5e get_guest_storage_key +EXPORT_SYMBOL vmlinux 0xf90268df dev_add_offload +EXPORT_SYMBOL vmlinux 0xf909bf68 seq_putc +EXPORT_SYMBOL vmlinux 0xf90c8784 security_d_instantiate +EXPORT_SYMBOL vmlinux 0xf934d3f0 napi_build_skb +EXPORT_SYMBOL vmlinux 0xf93fd09c fb_find_mode_cvt +EXPORT_SYMBOL vmlinux 0xf947013a kmem_cache_alloc_trace +EXPORT_SYMBOL vmlinux 0xf9656da9 jbd2_journal_blocks_per_page +EXPORT_SYMBOL vmlinux 0xf96a60d7 __cond_resched_rwlock_read +EXPORT_SYMBOL vmlinux 0xf9899e7f unregister_binfmt +EXPORT_SYMBOL vmlinux 0xf98d27ee remove_arg_zero +EXPORT_SYMBOL vmlinux 0xf98ddbe5 input_set_min_poll_interval +EXPORT_SYMBOL vmlinux 0xf9918667 blk_queue_virt_boundary +EXPORT_SYMBOL vmlinux 0xf9a06e0e ida_free +EXPORT_SYMBOL vmlinux 0xf9a482f9 msleep +EXPORT_SYMBOL vmlinux 0xf9d447f9 ccw_device_get_mdc +EXPORT_SYMBOL vmlinux 0xf9d81b32 __mdiobus_write +EXPORT_SYMBOL vmlinux 0xf9d8e78b scsi_get_device_flags_keyed +EXPORT_SYMBOL vmlinux 0xf9deb4b7 filemap_invalidate_unlock_two +EXPORT_SYMBOL vmlinux 0xf9fd4ce2 phy_resume +EXPORT_SYMBOL vmlinux 0xf9ff10a4 scsi_change_queue_depth +EXPORT_SYMBOL vmlinux 0xfa042227 gnet_stats_add_basic +EXPORT_SYMBOL vmlinux 0xfa08c34a page_offline_end +EXPORT_SYMBOL vmlinux 0xfa0d98ba jbd2_journal_update_sb_errno +EXPORT_SYMBOL vmlinux 0xfa1c059a proc_dointvec_jiffies +EXPORT_SYMBOL vmlinux 0xfa2d6246 __inet_stream_connect +EXPORT_SYMBOL vmlinux 0xfa35aba8 jbd2_journal_revoke +EXPORT_SYMBOL vmlinux 0xfa45db71 mdiobus_setup_mdiodev_from_board_info +EXPORT_SYMBOL vmlinux 0xfa545a5c inet_del_protocol +EXPORT_SYMBOL vmlinux 0xfa599bb2 netlink_register_notifier +EXPORT_SYMBOL vmlinux 0xfaaa12d0 _page_poisoning_enabled +EXPORT_SYMBOL vmlinux 0xfac19588 __clear_user +EXPORT_SYMBOL vmlinux 0xfac8865f sysctl_wmem_max +EXPORT_SYMBOL vmlinux 0xfb1fc22f netdev_class_create_file_ns +EXPORT_SYMBOL vmlinux 0xfb2bc287 scsi_vpd_tpg_id +EXPORT_SYMBOL vmlinux 0xfb384d37 kasprintf +EXPORT_SYMBOL vmlinux 0xfb46c42a iov_iter_zero +EXPORT_SYMBOL vmlinux 0xfb482dd1 __traceiter_s390_cio_stsch +EXPORT_SYMBOL vmlinux 0xfb6af58d recalc_sigpending +EXPORT_SYMBOL vmlinux 0xfb77dda7 key_instantiate_and_link +EXPORT_SYMBOL vmlinux 0xfb7e0827 reuseport_detach_prog +EXPORT_SYMBOL vmlinux 0xfb8b6a5c simple_empty +EXPORT_SYMBOL vmlinux 0xfba7ddd2 match_u64 +EXPORT_SYMBOL vmlinux 0xfbaaf01e console_lock +EXPORT_SYMBOL vmlinux 0xfbad3cf0 scsi_normalize_sense +EXPORT_SYMBOL vmlinux 0xfbb94fb4 __tcp_md5_do_lookup +EXPORT_SYMBOL vmlinux 0xfbc4f89e io_schedule_timeout +EXPORT_SYMBOL vmlinux 0xfbc839c7 __block_write_begin +EXPORT_SYMBOL vmlinux 0xfbe399b6 dev_change_flags +EXPORT_SYMBOL vmlinux 0xfbe7dd34 pci_find_next_bus +EXPORT_SYMBOL vmlinux 0xfc421e79 gnet_stats_add_queue +EXPORT_SYMBOL vmlinux 0xfc46ce1a jbd2_journal_stop +EXPORT_SYMBOL vmlinux 0xfc792624 dns_query +EXPORT_SYMBOL vmlinux 0xfc79f011 tty_port_tty_get +EXPORT_SYMBOL vmlinux 0xfc7e97a1 md_flush_request +EXPORT_SYMBOL vmlinux 0xfc943dcd inet_twsk_deschedule_put +EXPORT_SYMBOL vmlinux 0xfcb11521 tcp_seq_stop +EXPORT_SYMBOL vmlinux 0xfcb4d28b __alloc_pages +EXPORT_SYMBOL vmlinux 0xfcbb2c1e mr_table_alloc +EXPORT_SYMBOL vmlinux 0xfcbc55f6 set_disk_ro +EXPORT_SYMBOL vmlinux 0xfcbf89c7 generic_delete_inode +EXPORT_SYMBOL vmlinux 0xfcc119bc sock_set_reuseaddr +EXPORT_SYMBOL vmlinux 0xfcd0581c fault_in_iov_iter_readable +EXPORT_SYMBOL vmlinux 0xfcd1819a hdmi_spd_infoframe_check +EXPORT_SYMBOL vmlinux 0xfcdb0455 blk_queue_io_min +EXPORT_SYMBOL vmlinux 0xfcec0987 enable_irq +EXPORT_SYMBOL vmlinux 0xfd40d809 pcie_get_mps +EXPORT_SYMBOL vmlinux 0xfd53f4be kernel_sendpage_locked +EXPORT_SYMBOL vmlinux 0xfd5a83cd __devm_release_region +EXPORT_SYMBOL vmlinux 0xfd619147 pci_disable_link_state_locked +EXPORT_SYMBOL vmlinux 0xfd6df36e md_bitmap_unplug +EXPORT_SYMBOL vmlinux 0xfd70c07c dma_map_resource +EXPORT_SYMBOL vmlinux 0xfd73a244 param_ops_int +EXPORT_SYMBOL vmlinux 0xfd76f166 lockref_put_or_lock +EXPORT_SYMBOL vmlinux 0xfd92ae58 fs_param_is_bool +EXPORT_SYMBOL vmlinux 0xfd9a9866 stfle_fac_list +EXPORT_SYMBOL vmlinux 0xfda63635 netif_schedule_queue +EXPORT_SYMBOL vmlinux 0xfdaf6b4f nf_unregister_net_hook +EXPORT_SYMBOL vmlinux 0xfdb1aa5d folio_mark_accessed +EXPORT_SYMBOL vmlinux 0xfdb7f6a9 finish_wait +EXPORT_SYMBOL vmlinux 0xfdbf3a6e key_invalidate +EXPORT_SYMBOL vmlinux 0xfdc0638f __traceiter_dma_fence_emit +EXPORT_SYMBOL vmlinux 0xfdcc8a0e fb_find_best_display +EXPORT_SYMBOL vmlinux 0xfdd79d43 flow_block_cb_is_busy +EXPORT_SYMBOL vmlinux 0xfdd8dec8 udp_set_csum +EXPORT_SYMBOL vmlinux 0xfddcd2c7 __kfree_skb +EXPORT_SYMBOL vmlinux 0xfdde363b lookup_one_positive_unlocked +EXPORT_SYMBOL vmlinux 0xfe029963 unregister_inetaddr_notifier +EXPORT_SYMBOL vmlinux 0xfe0d3027 dm_unregister_target +EXPORT_SYMBOL vmlinux 0xfe0febe6 tcp_mtup_init +EXPORT_SYMBOL vmlinux 0xfe29be4f ram_aops +EXPORT_SYMBOL vmlinux 0xfe487975 init_wait_entry +EXPORT_SYMBOL vmlinux 0xfe5a08f2 blk_queue_max_write_zeroes_sectors +EXPORT_SYMBOL vmlinux 0xfe5bb91e skb_copy_datagram_iter +EXPORT_SYMBOL vmlinux 0xfe5d4bb2 sys_tz +EXPORT_SYMBOL vmlinux 0xfe771463 __tracepoint_s390_cio_csch +EXPORT_SYMBOL vmlinux 0xfe7e69e5 blk_finish_plug +EXPORT_SYMBOL vmlinux 0xfe8aef1a inet_proto_csum_replace4 +EXPORT_SYMBOL vmlinux 0xfe8bca3b udp_lib_setsockopt +EXPORT_SYMBOL vmlinux 0xfe9b7b9b generic_pipe_buf_try_steal +EXPORT_SYMBOL vmlinux 0xfe9d54a0 dquot_get_state +EXPORT_SYMBOL vmlinux 0xfea30a1a seg6_hmac_net_exit +EXPORT_SYMBOL vmlinux 0xfead0ae5 current_time +EXPORT_SYMBOL vmlinux 0xfeb5d0aa verify_spi_info +EXPORT_SYMBOL vmlinux 0xfec6ee78 inet_csk_init_xmit_timers +EXPORT_SYMBOL vmlinux 0xfecb6efb dcb_ieee_getapp_dscp_prio_mask_map +EXPORT_SYMBOL vmlinux 0xfedcdb60 seq_hlist_next_percpu +EXPORT_SYMBOL vmlinux 0xfee759d8 clear_nlink +EXPORT_SYMBOL vmlinux 0xff1e9dd8 seq_list_start +EXPORT_SYMBOL vmlinux 0xff1f0ae2 add_virt_timer +EXPORT_SYMBOL vmlinux 0xff287eba blk_put_queue +EXPORT_SYMBOL vmlinux 0xff461269 pci_write_config_byte +EXPORT_SYMBOL vmlinux 0xff5ef2db dev_load +EXPORT_SYMBOL vmlinux 0xff5f4ec9 locks_copy_lock +EXPORT_SYMBOL vmlinux 0xff6878cf fb_default_cmap +EXPORT_SYMBOL vmlinux 0xff7ad1b5 krealloc +EXPORT_SYMBOL vmlinux 0xff7ec0ff dma_fence_get_stub +EXPORT_SYMBOL vmlinux 0xff82bb50 get_watch_queue +EXPORT_SYMBOL vmlinux 0xff890e41 pci_irq_vector +EXPORT_SYMBOL vmlinux 0xff8b56a9 wait_for_completion_timeout +EXPORT_SYMBOL vmlinux 0xffa402ca fs_param_is_enum +EXPORT_SYMBOL vmlinux 0xffa6005f devm_ioremap_wc +EXPORT_SYMBOL vmlinux 0xffaba0c3 framebuffer_release +EXPORT_SYMBOL vmlinux 0xffbf5a41 wait_for_completion_killable +EXPORT_SYMBOL vmlinux 0xffc0237b skb_add_rx_frag +EXPORT_SYMBOL vmlinux 0xffc914ac __inc_node_page_state +EXPORT_SYMBOL vmlinux 0xffcc4ec7 tcp_bpf_bypass_getsockopt +EXPORT_SYMBOL vmlinux 0xffe30309 blk_execute_rq +EXPORT_SYMBOL vmlinux 0xffe33617 pci_stop_and_remove_bus_device +EXPORT_SYMBOL vmlinux 0xffe4fe0f pci_free_host_bridge +EXPORT_SYMBOL vmlinux 0xffeedf6a delayed_work_timer_fn +EXPORT_SYMBOL vmlinux 0xfff0973a crypto_kdf108_ctr_generate +EXPORT_SYMBOL vmlinux 0xfffa4690 drm_firmware_drivers_only +EXPORT_SYMBOL_GPL arch/s390/crypto/sha_common 0x6ddce546 s390_sha_update +EXPORT_SYMBOL_GPL arch/s390/crypto/sha_common 0xfc1e0216 s390_sha_final +EXPORT_SYMBOL_GPL arch/s390/net/pnet 0x1d321d60 pnet_id_by_dev_port +EXPORT_SYMBOL_GPL crypto/af_alg 0x067f4a76 af_alg_wmem_wakeup +EXPORT_SYMBOL_GPL crypto/af_alg 0x071f7ebd af_alg_poll +EXPORT_SYMBOL_GPL crypto/af_alg 0x18c121fe af_alg_free_resources +EXPORT_SYMBOL_GPL crypto/af_alg 0x19f7e2db af_alg_register_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x30dc6798 af_alg_alloc_areq +EXPORT_SYMBOL_GPL crypto/af_alg 0x31345759 af_alg_pull_tsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0x45409e25 af_alg_sendmsg +EXPORT_SYMBOL_GPL crypto/af_alg 0x4f32d0b9 af_alg_wait_for_data +EXPORT_SYMBOL_GPL crypto/af_alg 0x5828e8c6 af_alg_accept +EXPORT_SYMBOL_GPL crypto/af_alg 0x5b216a99 af_alg_free_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0x7de320ee af_alg_release +EXPORT_SYMBOL_GPL crypto/af_alg 0x84b78091 af_alg_unregister_type +EXPORT_SYMBOL_GPL crypto/af_alg 0x9454598c af_alg_async_cb +EXPORT_SYMBOL_GPL crypto/af_alg 0xaf5c6543 af_alg_sendpage +EXPORT_SYMBOL_GPL crypto/af_alg 0xc1c33f59 af_alg_make_sg +EXPORT_SYMBOL_GPL crypto/af_alg 0xc6523824 af_alg_get_rsgl +EXPORT_SYMBOL_GPL crypto/af_alg 0xdf88b2ce af_alg_release_parent +EXPORT_SYMBOL_GPL crypto/af_alg 0xfc13ea75 af_alg_count_tsgl +EXPORT_SYMBOL_GPL crypto/async_tx/async_memcpy 0xb2d7ef20 async_memcpy +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x1a0b3c4f async_gen_syndrome +EXPORT_SYMBOL_GPL crypto/async_tx/async_pq 0x925f291f async_syndrome_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xe6bfb9e2 async_raid6_2data_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_raid6_recov 0xfa2d3c22 async_raid6_datap_recov +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x00ef7802 async_trigger_callback +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x02abcf5e async_tx_quiesce +EXPORT_SYMBOL_GPL crypto/async_tx/async_tx 0x25748dac async_tx_submit +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x7f36ad3c async_xor_val +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0x99da69df async_xor_val_offs +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xcfeedea5 async_xor +EXPORT_SYMBOL_GPL crypto/async_tx/async_xor 0xe54dbdae async_xor_offs +EXPORT_SYMBOL_GPL crypto/authenc 0x2479193e crypto_authenc_extractkeys +EXPORT_SYMBOL_GPL crypto/blowfish_common 0x1aa21949 blowfish_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0x188d9d26 __cast5_decrypt +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xe4e3ff33 cast5_setkey +EXPORT_SYMBOL_GPL crypto/cast5_generic 0xef81a4af __cast5_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x20189fca cast6_setkey +EXPORT_SYMBOL_GPL crypto/cast6_generic 0x3dbae082 __cast6_decrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0xcfce512f __cast6_encrypt +EXPORT_SYMBOL_GPL crypto/cast6_generic 0xd76a5716 __cast6_setkey +EXPORT_SYMBOL_GPL crypto/cast_common 0x5609ce41 cast_s2 +EXPORT_SYMBOL_GPL crypto/cast_common 0x5b17be06 cast_s4 +EXPORT_SYMBOL_GPL crypto/cast_common 0xb9cba57f cast_s3 +EXPORT_SYMBOL_GPL crypto/cast_common 0xbd3e7542 cast_s1 +EXPORT_SYMBOL_GPL crypto/cryptd 0x093c6054 cryptd_aead_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x2c489184 cryptd_skcipher_child +EXPORT_SYMBOL_GPL crypto/cryptd 0x3bbdb569 cryptd_ahash_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x645d5e4a cryptd_free_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0x66aa1d6f cryptd_skcipher_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0x9e2dfa32 cryptd_alloc_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0x9fa2a83c cryptd_shash_desc +EXPORT_SYMBOL_GPL crypto/cryptd 0xbeb2bca4 cryptd_free_skcipher +EXPORT_SYMBOL_GPL crypto/cryptd 0xc2df2c13 cryptd_ahash_child +EXPORT_SYMBOL_GPL crypto/cryptd 0xc6e3deca cryptd_free_aead +EXPORT_SYMBOL_GPL crypto/cryptd 0xf8e42818 cryptd_aead_queued +EXPORT_SYMBOL_GPL crypto/cryptd 0xfbba5cef cryptd_alloc_ahash +EXPORT_SYMBOL_GPL crypto/cryptd 0xfc8e40bf cryptd_alloc_skcipher +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x06ed00c3 crypto_engine_exit +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x0a48e038 crypto_engine_start +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x0b5a6cac crypto_engine_stop +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x4f5af041 crypto_engine_alloc_init +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x7c35fa18 crypto_engine_alloc_init_and_set +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x8193fbc6 crypto_finalize_skcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x91f3e25b crypto_transfer_hash_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0x962d268d crypto_finalize_akcipher_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xb0da01f8 crypto_transfer_akcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xbc8a5b04 crypto_transfer_aead_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xc23a0511 crypto_finalize_aead_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xc5f8fbe2 crypto_transfer_kpp_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xce0277b6 crypto_transfer_skcipher_request_to_engine +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xe1c0edbd crypto_finalize_hash_request +EXPORT_SYMBOL_GPL crypto/crypto_engine 0xeab5dae2 crypto_finalize_kpp_request +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x33b866ce crypto_ecdh_decode_key +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0x7475be8e crypto_ecdh_key_len +EXPORT_SYMBOL_GPL crypto/ecdh_generic 0xb230d2ec crypto_ecdh_encode_key +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x12244644 serpent_setkey +EXPORT_SYMBOL_GPL crypto/serpent_generic 0x4eb4c55e __serpent_encrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xbcc074f3 __serpent_decrypt +EXPORT_SYMBOL_GPL crypto/serpent_generic 0xd4c9681a __serpent_setkey +EXPORT_SYMBOL_GPL crypto/sm3 0xa98edad1 sm3_update +EXPORT_SYMBOL_GPL crypto/sm3 0xf04338f9 sm3_final +EXPORT_SYMBOL_GPL crypto/twofish_common 0xce4624d9 twofish_setkey +EXPORT_SYMBOL_GPL crypto/twofish_common 0xe22b7787 __twofish_setkey +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-i2c 0x8a35b01e __regmap_init_i2c +EXPORT_SYMBOL_GPL drivers/base/regmap/regmap-i2c 0xcd7b69fe __devm_regmap_init_i2c +EXPORT_SYMBOL_GPL drivers/dax/device_dax 0x63d36ef2 dev_dax_probe +EXPORT_SYMBOL_GPL drivers/fpga/altera-pr-ip-core 0x7684f443 alt_pr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x37b317a6 fpga_mgr_load +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x47a9342f devm_fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x498f8946 fpga_mgr_unregister +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x5530f781 fpga_mgr_lock +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x57722c2e fpga_mgr_put +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x65708337 of_fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0x7b5442ef fpga_image_info_alloc +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xba00ea2e fpga_mgr_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xc5334442 devm_fpga_mgr_register_full +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xc7f76a8e fpga_mgr_register +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xcb6d482b fpga_image_info_free +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xda9c1675 fpga_mgr_get +EXPORT_SYMBOL_GPL drivers/fpga/fpga-mgr 0xe92ad107 fpga_mgr_unlock +EXPORT_SYMBOL_GPL drivers/gpio/gpio-generic 0x28cfdcc6 bgpio_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x027b8f5f drm_bridge_detect +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4ce46c21 drm_bridge_hpd_notify +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4d20ef5a drm_bridge_hpd_disable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x4ece3cf0 drm_bridge_hpd_enable +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x75ef297d drm_class_device_register +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0x7d956b12 drm_class_device_unregister +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa0f9db3b drm_get_unmapped_area +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xa3688da9 drm_bridge_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd01b5097 drm_gem_dumb_map_offset +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xd1dd56ad drmm_kstrdup +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xe6a4f656 drm_do_get_edid +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xf77f9f4e drm_bridge_get_modes +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm 0xff790a8c drm_crtc_add_crc_entry +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x06835967 drm_gem_fb_init_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x209bf2ba drm_bridge_connector_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x2e82cf49 drm_gem_plane_helper_prepare_fb +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x44677b4a drm_bridge_connector_enable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x4515c5f5 drm_gem_fb_get_obj +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x452f7a76 drm_gem_fb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x4f87750d drm_bridge_connector_disable_hpd +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0x545b2704 drm_gem_fb_create_with_funcs +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xe9d2aba3 drm_gem_fb_create_with_dirty +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_kms_helper 0xf94a70c5 drm_gem_fb_afbc_init +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x03498da3 drm_gem_shmem_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x068e4784 drm_gem_shmem_vm_ops +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x161f7b19 drm_gem_shmem_dumb_create +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x2faee4a8 drm_gem_shmem_get_pages_sgt +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x37e35350 drm_gem_shmem_free +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x80050c42 drm_gem_shmem_mmap +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0x84c0b415 drm_gem_shmem_get_sg_table +EXPORT_SYMBOL_GPL drivers/gpu/drm/drm_shmem_helper 0xb53bf6c1 drm_gem_shmem_prime_import_sg_table +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x5690f962 intel_th_alloc +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0x72eea047 intel_th_free +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xa55b4139 intel_th_set_output +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xac4fe4ee intel_th_trace_switch +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xb5cdb3fe intel_th_trace_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xba905e4b intel_th_trace_disable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xdffd7057 intel_th_driver_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xe2d7c9b8 intel_th_driver_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th 0xf52b93c1 intel_th_output_enable +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x0685ac74 intel_th_msc_window_unlock +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x80a4f0dc intel_th_msu_buffer_register +EXPORT_SYMBOL_GPL drivers/hwtracing/intel_th/intel_th_msu 0x9e741cc3 intel_th_msu_buffer_unregister +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x01951b16 stm_source_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x2c9f31a9 stm_source_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x543427dd stm_source_register_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x83be29c5 to_pdrv_policy_node +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x87aa2f69 stm_register_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0x9caf95c5 stm_unregister_device +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xa96378e9 stm_unregister_protocol +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xb3ae956e stm_data_write +EXPORT_SYMBOL_GPL drivers/hwtracing/stm/stm_core 0xe256fd78 stm_register_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x16d233fc devm_i2c_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x1c4f3cef i2c_new_ancillary_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x21988580 i2c_new_dummy_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x2e9d1a3f i2c_new_client_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x32891268 i2c_handle_smbus_host_notify +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x41d138b3 i2c_adapter_depth +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x42041512 i2c_get_dma_safe_msg_buf +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x4dae16e4 i2c_put_dma_safe_msg_buf +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x550f3e05 i2c_freq_mode_string +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x61d2b0c2 i2c_new_scanned_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x6253511c i2c_get_device_id +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x7dd0dc76 i2c_new_smbus_alert_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x87b30801 i2c_adapter_type +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0x9786e73b i2c_add_numbered_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0xaa10ce6e i2c_match_id +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0xab1fde7d devm_i2c_new_dummy_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0xc0ba8ba9 i2c_unregister_device +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0xc2266c41 i2c_parse_fw_timings +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0xc6c87dbc i2c_probe_func_quick_read +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0xcafedfcf i2c_recover_bus +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0xe0f4258a i2c_generic_scl_recovery +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0xe3ab438f i2c_for_each_dev +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0xf58935a5 i2c_bus_type +EXPORT_SYMBOL_GPL drivers/i2c/i2c-core 0xfaf099ba i2c_client_type +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x0120df74 i2c_root_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x54d33331 i2c_mux_add_adapter +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0x8e18d687 i2c_mux_del_adapters +EXPORT_SYMBOL_GPL drivers/i2c/i2c-mux 0xad731e9d i2c_mux_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/core/ib_core 0xdbd019c4 ib_wq +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x1b8f88c6 rtrs_cq_qp_create +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x3646974f rtrs_init_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x457b26b7 rtrs_send_hb_ack +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x662049a6 rtrs_iu_free +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0x97621f9e rtrs_start_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xaa8b6023 rtrs_iu_post_recv +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xb36c09fa rtrs_cq_qp_destroy +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xbe4d7b6d rtrs_stop_hb +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xc3d30a4d rtrs_iu_post_rdma_write_imm +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xd92f5431 rtrs_post_recv_empty +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xe74f4dc0 rtrs_iu_alloc +EXPORT_SYMBOL_GPL drivers/infiniband/ulp/rtrs/rtrs-core 0xf7bba35d rtrs_iu_post_send +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x051b2215 __tracepoint_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x06bceaa1 __SCK__tp_func_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0826e917 __tracepoint_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x0bc0be45 __SCK__tp_func_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x13a3b690 __traceiter_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x15f3de09 __SCK__tp_func_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x16ea7222 __tracepoint_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x17a83e40 __traceiter_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x181a1930 __SCK__tp_func_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x191717af __tracepoint_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1934a9a9 __tracepoint_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1b083369 __SCK__tp_func_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c599ebe __traceiter_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c71a406 __tracepoint_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x1c83d5b7 __SCK__tp_func_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x22ae6324 __SCK__tp_func_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2766fb04 __traceiter_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x284a6bff __tracepoint_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2909bc5d __tracepoint_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2a0e014e __tracepoint_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2af60833 __SCK__tp_func_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x2b485846 __traceiter_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3257d343 __tracepoint_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x3ab91973 __traceiter_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x46bfabee __tracepoint_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x46c66897 __SCK__tp_func_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x473f8f74 __traceiter_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4822e462 __traceiter_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x4a2d1241 __SCK__tp_func_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x51d0e534 __SCK__tp_func_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x53b5e5e3 __tracepoint_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5c226ebf __traceiter_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5cc8cb86 __tracepoint_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5d9c8fc8 __SCK__tp_func_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5ee2c33e __traceiter_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x5fd7c423 __SCK__tp_func_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6026e276 __SCK__tp_func_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x64e39418 __traceiter_bcache_writeback_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6697827f __SCK__tp_func_bcache_writeback +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x690dd415 __tracepoint_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x6e74dca7 __SCK__tp_func_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x79eeb380 __SCK__tp_func_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x7a3c0ac3 __tracepoint_bcache_read_retry +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x80e3881d __SCK__tp_func_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x82b501e7 __traceiter_bcache_journal_entry_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x830df522 __tracepoint_bcache_btree_node_split +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x8551e79f __traceiter_bcache_btree_set_root +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x862dfa21 __tracepoint_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x8ab432b7 __traceiter_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x8ad20d61 __SCK__tp_func_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x902cb523 __tracepoint_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x929d245c __traceiter_bcache_btree_node_compact +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9865dbc4 __tracepoint_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9a6f4d9f __SCK__tp_func_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0x9ce21c84 __SCK__tp_func_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa14fdbcf __tracepoint_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa187023e __SCK__tp_func_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa5bb6589 __traceiter_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa64134e4 __SCK__tp_func_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xa842a5c8 __SCK__tp_func_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xaca77196 __traceiter_bcache_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xad6440b4 __traceiter_bcache_gc_copy +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb021f607 __traceiter_bcache_btree_node_free +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb0e885a1 __traceiter_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb3c47ef9 __traceiter_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb5a62a8c __traceiter_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xb912ae0b __tracepoint_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xba559b90 __traceiter_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xba843c3f __SCK__tp_func_bcache_gc_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xbc268695 __tracepoint_bcache_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc1857470 __tracepoint_bcache_bypass_congested +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc6996276 __traceiter_bcache_btree_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc78d7102 __tracepoint_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xc8ae4213 __SCK__tp_func_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xce48d6f4 __tracepoint_bcache_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xd4506261 __traceiter_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xda06fe86 __SCK__tp_func_bcache_btree_node_alloc_fail +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe16c06b3 __SCK__tp_func_bcache_gc_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe202b8e6 __tracepoint_bcache_bypass_sequential +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xe90231d1 __traceiter_bcache_journal_full +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xea9d560c __traceiter_bcache_invalidate +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xec29e22a __traceiter_bcache_gc_copy_collision +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xec92a163 __SCK__tp_func_bcache_btree_cache_cannibalize +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xed37c90e __tracepoint_bcache_cache_insert +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xee55d047 __tracepoint_bcache_journal_write +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xef7eec02 __tracepoint_bcache_btree_gc_coalesce +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf6249e5f __SCK__tp_func_bcache_journal_replay_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xf865c1a2 __tracepoint_bcache_request_start +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfb3d6c67 __tracepoint_bcache_request_end +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfb422435 __traceiter_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfd6b5d80 __SCK__tp_func_bcache_btree_insert_key +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xfebea334 __traceiter_bcache_btree_read +EXPORT_SYMBOL_GPL drivers/md/bcache/bcache 0xff0bb609 __traceiter_bcache_btree_node_alloc +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x0c3b3e8d dm_bio_prison_alloc_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x17dd39d6 dm_deferred_set_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x188e99f1 dm_cell_put_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x2eb01e04 dm_deferred_set_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x31c4e51e dm_cell_lock_promote_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x41a2e89c dm_bio_prison_free_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x4792646c dm_cell_unlock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x55a10eeb dm_cell_visit_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x595309a1 dm_bio_prison_alloc_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x6791a44e dm_deferred_entry_dec +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x753e20b2 dm_bio_prison_create +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x777c928c dm_cell_lock_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x8c314476 dm_cell_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0x96e81de6 dm_cell_promote_or_release +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xace9b57b dm_bio_prison_destroy_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb0591dca dm_cell_release_no_holder +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb6d5c65d dm_deferred_set_add_work +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xb70b342a dm_bio_prison_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xbfd4e40d dm_cell_quiesce_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xc8325cb3 dm_cell_error +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xca2e3a88 dm_deferred_entry_inc +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xd99e003d dm_bio_prison_create_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xf0945076 dm_cell_get_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xf9a6d406 dm_bio_detain +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xfcac46ef dm_get_cell +EXPORT_SYMBOL_GPL drivers/md/dm-bio-prison 0xfcfa08e2 dm_bio_prison_free_cell_v2 +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x0ad0dc4f dm_bufio_mark_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x111ab12a dm_bufio_mark_partial_buffer_dirty +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x24772bfe dm_bufio_get +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x260cf323 dm_bufio_client_create +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x2e0774dc dm_bufio_get_block_number +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6aebce95 dm_bufio_issue_discard +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x6d3f57bd dm_bufio_get_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x72f07bf4 dm_bufio_set_minimum_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x74dcd98c dm_bufio_get_aux_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x7c381a76 dm_bufio_get_block_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0x867e87eb dm_bufio_get_dm_io_client +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xa82b2066 dm_bufio_write_dirty_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xb04f56ab dm_bufio_read +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xb2438d54 dm_bufio_release_move +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc0d7df85 dm_bufio_new +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc90df7e5 dm_bufio_prefetch +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xc9a3422d dm_bufio_write_dirty_buffers_async +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xcd2ba798 dm_bufio_forget +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd4bddf5c dm_bufio_issue_flush +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xd991e3b9 dm_bufio_get_device_size +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xe6024e59 dm_bufio_release +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xebcc64a4 dm_bufio_get_block_data +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xeca7949e dm_bufio_client_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xed3283a4 dm_bufio_set_sector_offset +EXPORT_SYMBOL_GPL drivers/md/dm-bufio 0xf241a6eb dm_bufio_forget_buffers +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x0efbca4c btracker_promotion_already_present +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x22455295 dm_cache_policy_unregister +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x3d5a4381 dm_cache_policy_register +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5adc2807 btracker_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x5de611a9 btracker_nr_writebacks_queued +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x796a703b dm_cache_policy_get_version +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0x87bee547 btracker_queue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xa2365f44 btracker_issue +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xa7eadcb5 btracker_complete +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xbf1a2968 btracker_create +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xccfe6409 btracker_nr_demotions_queued +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xd638ed27 dm_cache_policy_get_name +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xe1bb31c4 dm_cache_policy_create +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xe756dac6 dm_cache_policy_get_hint_size +EXPORT_SYMBOL_GPL drivers/md/dm-cache 0xe8c5320d dm_cache_policy_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xbe2f8f16 dm_unregister_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-multipath 0xf095d885 dm_register_path_selector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x01d2f9ac dm_rh_recovery_start +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x087e9f62 dm_rh_delay +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x12ee2d02 dm_rh_inc_pending +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38972f23 dm_rh_region_to_sector +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x38efaf5a dm_region_hash_destroy +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x3a18389a dm_rh_update_states +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x54f1fab1 dm_rh_mark_nosync +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x57e16c3e dm_rh_get_state +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x5f4a6e61 dm_rh_dec +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7774620f dm_rh_stop_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d053fc5 dm_rh_start_recovery +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0x7d5e1815 dm_rh_get_region_key +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa53387c7 dm_rh_flush +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa5ea02e0 dm_rh_dirty_log +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xa83588eb dm_rh_recovery_end +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xbe38a431 dm_rh_recovery_prepare +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xbf63805d dm_region_hash_create +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xd8aa4284 dm_rh_region_context +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xe410a13b dm_rh_bio_to_region +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xf92b8a3d dm_rh_get_region_size +EXPORT_SYMBOL_GPL drivers/md/dm-region-hash 0xfd93482e dm_rh_recovery_in_flight +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0054f69d dm_tm_pre_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x00f5a3c8 dm_bm_write_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x0c2cb7f7 dm_block_manager_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x11fbbe02 dm_bitset_set_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x15085586 dm_btree_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1816383d dm_btree_find_highest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1ae16d40 dm_tm_dec_range +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1b1be9e8 dm_sm_disk_open +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1ba7cc87 dm_array_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x1e3f728d dm_block_data +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x243ce1ad dm_array_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x24507fbf dm_array_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2c5a02df dm_btree_find_lowest_key +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2d38ecd9 dm_bitset_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x2f40da68 dm_bm_set_read_write +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x30a26537 dm_btree_remove +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3646e38f dm_tm_issue_prefetches +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x382a0134 dm_array_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ad0f55b dm_bm_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3ae50a4a dm_tm_inc_range +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3b45ed28 dm_sm_disk_create +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x3d6961ed dm_btree_insert +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x46768dbf dm_btree_remove_leaves +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x48e323be dm_bm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5475ba9e dm_block_location +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x5736c9c5 dm_bitset_flush +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x586705e1 dm_btree_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x688d422d dm_bm_block_size +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6b2357b6 dm_bitset_test_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6c218062 dm_bitset_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x6c2c7ef4 dm_array_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7062014c dm_btree_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x72289260 dm_block_manager_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x73420d49 dm_bitset_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x75606d09 dm_btree_lookup +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7ade1071 dm_tm_destroy +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7b047bd9 dm_tm_create_non_blocking_clone +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7bc7621f dm_btree_cursor_end +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x7e29c59d dm_bitset_clear_bit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x87c934be dm_tm_inc +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88295b96 dm_tm_unlock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88998224 dm_disk_bitset_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x88a5c035 dm_bitset_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8db6f8f0 dm_tm_with_runs +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x8f5eefee dm_btree_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x925f421d dm_array_info_init +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9341b376 dm_bitset_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x95a52abd dm_bm_is_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9955fef4 dm_bitset_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9ced228c dm_array_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0x9e798e22 dm_bm_set_read_only +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa29d4c0c dm_bitset_cursor_skip +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa2a74861 dm_array_set_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa9c4fc6b dm_bm_write_lock_zero +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xa9cf611b dm_btree_insert_notify +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xae600b00 dm_tm_open_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb11cd6c1 dm_bm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb3d7482b dm_bitset_new +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb500e95b dm_tm_shadow_block +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb6879c01 dm_btree_lookup_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xb720ee73 dm_array_cursor_begin +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc0d7c2d1 dm_array_resize +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc0fadb13 dm_bitset_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xc36559ad dm_btree_cursor_next +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xcbba75fc dm_tm_read_lock +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd163cade dm_tm_commit +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd237b9fb dm_array_walk +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xd39c0246 dm_btree_cursor_get_value +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe781f874 dm_tm_dec +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xe8438eb5 dm_array_del +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf551114d dm_bm_checksum +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf5aada6c dm_tm_create_with_sm +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xf82dba90 dm_btree_empty +EXPORT_SYMBOL_GPL drivers/md/persistent-data/dm-persistent-data 0xfce51d79 dm_array_empty +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0x91401317 st_register +EXPORT_SYMBOL_GPL drivers/misc/ti-st/st_drv 0xc3503d7f st_unregister +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x013ce7e8 mlx4_phys_to_slave_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x02a2d210 mlx4_qp_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x04f1cad0 mlx4_unregister_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x05412fe8 mlx4_flow_steer_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x078ec53f mlx4_free_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0820a607 mlx4_flow_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x09a92511 mlx4_free_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0cefc247 mlx4_mw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0ed55454 mlx4_hw_rule_sz +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x0fceee8d mlx4_get_protocol_dev +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1283c2b9 mlx4_uar_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x13869058 mlx4_unbond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x17b39494 mlx4_mr_rereg_mem_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x17d081b8 mlx4_get_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1b1e0427 mlx4_wol_write +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1c640c82 mlx4_mr_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x1c805bbc mlx4_wol_read +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2178e0c9 mlx4_port_map_set +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x23ee6472 mlx4_alloc_hwq_res +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x244235d9 mlx4_map_sw_to_hw_steering_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x29eaddfe mlx4_get_devlink_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2ab7d6e3 mlx4_get_active_ports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2b8f4f58 mlx4_find_cached_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x2e89ea4f __mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x30412265 mlx4_mr_hw_change_access +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x32c0f8e8 mlx4_cq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x34dd0ccb mlx4_find_cached_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3591cf33 __mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x35dec247 mlx4_qp_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x38388b15 mlx4_mr_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x38d93dbd mlx4_phys_to_slaves_pport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x3ae897aa mlx4_flow_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4212c94f __mlx4_cmd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x483cb284 mlx4_srq_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x487feb3a mlx4_db_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x491e88c1 mlx4_qp_to_ready +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x49bebe5b mlx4_multicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x49f2647e mlx4_mr_rereg_mem_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4c66945c mlx4_flow_steer_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4cc0dd5d mlx4_pd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x4e199818 mlx4_bf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x545bb61b mlx4_ACCESS_PTYS_REG +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5b99d4f8 mlx4_cq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5c86c645 mlx4_set_vf_spoofchk +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5db49cb9 mlx4_xrcd_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x5deaab9d mlx4_config_roce_v2_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x624bb3af mlx4_cq_resize +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x65357be9 mlx4_mw_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x67b1a7ae mlx4_register_interface +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6bb1bf72 mlx4_get_default_counter_index +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x6f399afa mlx4_mr_hw_change_pd +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x70fd88f0 mlx4_set_vf_link_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x741f8e36 mlx4_counter_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x751a8e0a mlx4_get_vf_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7659c7b6 mlx4_CLOSE_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7a1b1ebc mlx4_bf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7b5d5fe7 mlx4_vf_smi_enabled +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x7ef36c6c mlx4_multicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x814bdd67 mlx4_INIT_PORT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x83f20c54 mlx4_config_dev_retrieval +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8518dce6 mlx4_set_vf_rate +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8598f67a mlx4_multicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x88e46ef3 mlx4_get_vf_config +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8a3204f6 mlx4_multicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x8d3cb9aa mlx4_srq_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x934dab25 mlx4_qp_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x96089ad2 mlx4_qp_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x99f16055 mlx4_map_sw_to_hw_steering_id +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9b6bfae3 mlx4_get_base_qpn +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9bd833f7 __mlx4_replace_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9d358b66 mlx4_update_qp +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9d7bcdfd mlx4_get_counter_stats +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9e398f24 mlx4_buf_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0x9f0aa09e mlx4_register_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa13ad853 mlx4_srq_arm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa4b4489d mlx4_buf_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa70c4599 mlx4_mtt_init +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xa7cac970 mlx4_mr_hw_get_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xab864639 mlx4_srq_query +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xac12d632 mlx4_register_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb03f7d11 mlx4_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb3d3c888 mlx4_qp_release_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb46e642b mlx4_vf_get_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xb671b6c1 mlx4_cq_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xbf237ded mlx4_srq_lookup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc157d5f0 mlx4_phys_to_slaves_pport_actv +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc2fd0f79 mlx4_mr_enable +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xc487ab5a mlx4_unregister_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd06d787c mlx4_get_base_gid_ix +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd400296e mlx4_set_admin_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xd4d5124f mlx4_unicast_detach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdb8845ed mlx4_write_mtt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdce2a25d mlx4_alloc_cmd_mailbox +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xddb832af mlx4_set_vf_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xde5a9c54 mlx4_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xde797835 mlx4_vf_set_enable_smi_admin +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xdfbeef19 mlx4_counter_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe065f34a mlx4_FLOW_STEERING_IB_UC_QP_RANGE +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe13e913d mlx4_unicast_promisc_add +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe39a1b5c mlx4_get_slave_default_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe39cc2e1 mlx4_set_vf_vlan +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe3b4afad mlx4_SYNC_TPT +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe5109b0d mlx4_config_vxlan_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe86b2386 mlx4_qp_modify +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xe9d62508 mlx4_mr_hw_write_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xeaee646a mlx4_unicast_promisc_remove +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xedf7f35e mlx4_unicast_attach +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf04aec3a mlx4_mw_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf11a7d8b mlx4_xrcd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf29c9aee mlx4_read_clock +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf4b1191f mlx4_mtt_cleanup +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf770d496 mlx4_get_internal_clock_params +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf7a855e4 mlx4_bond +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf8c2806b mlx4_qp_reserve_range +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xf8d29714 mlx4_unregister_mac +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfa723d3b mlx4_pd_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfa7e5e9b mlx4_slave_convert_port +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfadba4a7 mlx4_uar_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfb4692ac mlx4_mr_hw_put_mpt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfd011b13 mlx4_replace_zero_macs +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx4/mlx4_core 0xfe6463ea mlx4_mtt_addr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x00c3ae1b mlx5_modify_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x01b07a59 mlx5_query_hca_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0372c540 mlx5_set_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x04d2ed92 mlx5_query_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x052a7d99 mlx5_core_modify_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x06f88188 mlx5_modify_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x072460c4 mlx5_fill_page_frag_array +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0840f8eb mlx5_set_port_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x0f08fe86 mlx5_query_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x117f5c1e mlx5_set_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1bccc1f1 mlx5_query_nic_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x1dbb019f mlx5_modify_nic_vport_vlans +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x21f322b7 mlx5_query_hca_vport_pkey +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x279c4b68 mlx5_query_nic_vport_node_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x2bd4070c mlx5_query_module_eeprom +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x353c0a77 mlx5_set_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x353cbd73 mlx5_query_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x3e0be2e6 mlx5_db_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x469a5b3e mlx5_query_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x488a375f mlx5_query_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4ab95d32 mlx5_query_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4cd94ebe mlx5_modify_port_ets_rate_limit +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4da1c44e mlx5_db_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x4e24d767 mlx5_query_hca_vport_context +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x552bb795 mlx5_eswitch_mode +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5be6bdd0 mlx5_nic_vport_update_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5dbdbe06 mlx5_set_port_tc_bw_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x5e30eb85 mlx5_query_port_pause +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x62cb586e mlx5_query_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x68c72d59 mlx5_query_port_ptys +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6950c57a mlx5_frag_buf_free +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6ae07adc mlx5_core_reserved_gids_count +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x6be2859c mlx5_set_port_tc_group +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7096c43c mlx5_query_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x717a0a49 mlx5_query_port_prio_tc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7635b6b4 mlx5_query_hca_vport_gid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x7932480d mlx5_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x796751ca mlx5_core_query_vport_counter +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x79b5ab8a mlx5_nic_vport_unaffiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x816e9247 mlx5_dm_sw_icm_alloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x81aadc6a mlx5_fill_page_frag_array_perm +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x86b63952 mlx5_query_hca_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x86ea72a1 mlx5_query_nic_vport_qkey_viol_cntr +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x89042573 mlx5_nic_vport_enable_roce +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8c6527dc mlx5_set_port_admin_status +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x8d5e0f0a mlx5_ipsec_device_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x913938ab mlx5_query_nic_vport_mac_address +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9393ecac mlx5_query_port_wol +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x97851b26 mlx5_query_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0x9ee5460c mlx5_query_port_max_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa6168dea mlx5_modify_nic_vport_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xa9c356f6 mlx5_core_query_ib_ppcnt +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xad3f028c mlx5_nic_vport_query_local_lb +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xaeb46393 mlx5_eswitch_get_total_vports +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xafdb9961 mlx5_dm_sw_icm_dealloc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb30b00b3 mlx5_toggle_port_link +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb8e6c102 mlx5_query_port_vl_hw_cap +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xb9dcfbd1 mlx5_frag_buf_alloc_node +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc4329c9f mlx5_query_nic_vport_min_inline +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xc7e475eb mlx5_core_access_reg +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xca41ef70 mlx5_query_module_eeprom_by_page +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xea078e71 mlx5_query_port_oper_mtu +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xec87c55c mlx5_core_query_sq_state +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xed57dfb0 mlx5_query_nic_vport_mac_list +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xed85fa27 mlx5_set_port_caps +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf022abed mlx5_nic_vport_affiliate_multiport +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf27bd37a mlx5_modify_nic_vport_promisc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xf3a97c4d mlx5_set_port_pfc +EXPORT_SYMBOL_GPL drivers/net/ethernet/mellanox/mlx5/core/mlx5_core 0xff2adbbe mlx5_query_nic_vport_system_image_guid +EXPORT_SYMBOL_GPL drivers/net/geneve 0x4ff4017c geneve_dev_create_fb +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x456fa3dd ipvlan_link_delete +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x526f5339 ipvlan_count_rx +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0x8055b305 ipvlan_link_new +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xe3e94f76 ipvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/ipvlan/ipvlan 0xf4e12ae3 ipvlan_link_setup +EXPORT_SYMBOL_GPL drivers/net/macsec 0xab0f5352 macsec_pn_wrapped +EXPORT_SYMBOL_GPL drivers/net/macvlan 0x00f16c81 macvlan_common_setup +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xb080a94e macvlan_dellink +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xc750704e macvlan_link_register +EXPORT_SYMBOL_GPL drivers/net/macvlan 0xf553b218 macvlan_common_newlink +EXPORT_SYMBOL_GPL drivers/net/mdio/mdio-i2c 0xaa0bb504 mdio_i2c_alloc +EXPORT_SYMBOL_GPL drivers/net/net_failover 0x161f03ef net_failover_destroy +EXPORT_SYMBOL_GPL drivers/net/net_failover 0xa51a1cf8 net_failover_create +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x07241cc4 bcm_phy_enable_jumbo +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0903031b __bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x0bbd650d bcm_phy_get_strings +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x12cc4abb bcm_phy_cable_test_start +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x15f9042c bcm_phy_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x1731ba6a bcm_phy_config_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x26b928e3 bcm_phy_write_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x331a20c8 bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x340cd66a __bcm_phy_write_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x4c7ec3ff bcm_phy_28nm_a0b0_afe_config_init +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x551906d7 bcm_phy_get_stats +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x63a337c4 bcm_phy_cable_test_start_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x6532005d bcm_phy_handle_interrupt +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x686433f4 bcm_phy_downshift_set +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x74ea90ab bcm_phy_read_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x838d02cf __bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x86877fba bcm_phy_get_sset_count +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x8c074249 bcm_phy_ack_intr +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0x9d9b613f __bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa04e118b bcm_phy_downshift_get +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa691ee89 bcm_phy_cable_test_get_status +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xa6f68899 bcm_phy_cable_test_get_status_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xafe06cd7 bcm_phy_write_misc +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xb48f7446 bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xc92d6c00 __bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xce3b9aa2 bcm_phy_write_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xd507169e __bcm_phy_modify_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xdd521763 bcm_phy_r_rc_cal_reset +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe072f28f bcm_phy_read_rdb +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xe2056017 bcm_phy_modify_exp +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xec2f2e80 bcm_phy_read_shadow +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xf3260713 bcm_phy_enable_apd +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xfb2c0e43 bcm54xx_auxctl_read +EXPORT_SYMBOL_GPL drivers/net/phy/bcm-phy-lib 0xfe602342 bcm_phy_read_misc +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x03e1bce5 phylink_mii_c22_pcs_config +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x08213956 phylink_ethtool_get_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x12135396 phylink_mac_change +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x15c4e3e2 phylink_ethtool_set_pauseparam +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x16ca1a8a phylink_suspend +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x182541a9 phylink_ethtool_ksettings_get +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x1a848d6e phylink_mii_c22_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x20e679da phylink_mii_c22_pcs_an_restart +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x24d29a5d phylink_create +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x2c8e28ee phylink_ethtool_get_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x4386cacd phylink_get_linkmodes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x57727285 phylink_ethtool_set_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x59e0695d phylink_speed_down +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x5d0c4dcc phylink_speed_up +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x62104126 phylink_ethtool_set_wol +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x62b3b36b phylink_mii_c45_pcs_get_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x6fa426d2 phylink_ethtool_nway_reset +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x8107cbaf phylink_of_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x825c7340 phylink_get_eee_err +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x8c85ddb6 phylink_fwnode_phy_connect +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x8df9a48e phylink_mii_c22_pcs_decode_state +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x911fcd6c phylink_start +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0x983276da phylink_disconnect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xb384c13e phylink_ethtool_ksettings_set +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xb898d586 phylink_generic_validate +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc0a8f4be phylink_resume +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc1d15a4c phylink_set_port_modes +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xc85b7c9f phylink_mii_c22_pcs_encode_advertisement +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xcb01e6c4 phylink_connect_phy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xcff1abd9 phylink_decode_usxgmii_word +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xdcb0a2c0 phylink_stop +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xde66f4a7 phylink_mii_ioctl +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xec02ebe0 phylink_init_eee +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf3083a1d phylink_destroy +EXPORT_SYMBOL_GPL drivers/net/phy/phylink 0xf8fe5642 phylink_ethtool_get_pauseparam +EXPORT_SYMBOL_GPL drivers/net/tap 0x15575a8a tap_create_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x2ab326a1 tap_del_queues +EXPORT_SYMBOL_GPL drivers/net/tap 0x73047d05 tap_destroy_cdev +EXPORT_SYMBOL_GPL drivers/net/tap 0x79d42e5c tap_get_ptr_ring +EXPORT_SYMBOL_GPL drivers/net/tap 0x834e3cde tap_queue_resize +EXPORT_SYMBOL_GPL drivers/net/tap 0xc1282359 tap_handle_frame +EXPORT_SYMBOL_GPL drivers/net/tap 0xdcd2c6b0 tap_get_minor +EXPORT_SYMBOL_GPL drivers/net/tap 0xe542ded6 tap_get_socket +EXPORT_SYMBOL_GPL drivers/net/tap 0xf0e69787 tap_free_minor +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x11d1f072 vxlan_fdb_replay +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0x150c7f46 vxlan_fdb_clear_offload +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0xb61fa83f vxlan_fdb_find_uc +EXPORT_SYMBOL_GPL drivers/net/vxlan/vxlan 0xbaf01724 vxlan_dev_create +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x0ac24265 nvme_get_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x11abc494 __SCK__tp_func_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1371a92e nvme_init_ctrl_finish +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x16bc4e1e nvme_stop_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x18949e10 nvme_start_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x1bba09c4 nvme_host_path_error +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2f9be575 nvme_cancel_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x2fa55ced nvme_sec_submit +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x394938ff nvme_uninit_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3bc331a3 nvme_sync_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x3e3bf851 nvme_shutdown_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x407436ee nvme_delete_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x45f27f30 nvme_cleanup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x49224181 nvme_reset_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x4e552d24 nvme_try_sched_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x513bd31d nvme_complete_batch_req +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5410c2b7 nvme_disable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x5755c728 nvme_reset_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x629fc6d5 nvme_start_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x62f04c8c nvme_cancel_admin_tagset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6369085e nvme_init_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x64b62862 nvme_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x69b29e8a nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x6e11a7cb nvme_wait_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7896b1fa nvme_start_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x79fce3db nvme_kill_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7db22995 nvme_wait_reset +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x7fddba4c nvme_complete_rq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x813cf212 nvme_io_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x87c709ea nvme_cancel_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x8e7ec2b6 __tracepoint_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x903d4569 nvme_wait_freeze_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x904b86dc nvme_stop_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x91c709f4 nvme_init_request +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0x970e680e nvme_enable_ctrl +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa4ab15d4 nvme_set_queue_count +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa5cf4398 nvme_set_features +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xa5d067c4 __nvme_submit_sync_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xaa88e0e3 nvme_change_ctrl_state +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xabec18ba nvme_remove_namespaces +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xb82b20cf nvme_sync_io_queues +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xbf015857 nvme_setup_cmd +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xbfe6b2af nvme_stop_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc12ea150 nvme_stop_keep_alive +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc26edb57 __nvme_check_ready +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xc5fea4da nvme_unfreeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xcf38a3ef __traceiter_nvme_sq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd45434ee admin_timeout +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd58bbbcb nvme_delete_wq +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xd6ca2eff nvme_start_freeze +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xecc8b95e nvme_complete_async_event +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-core 0xfc59aa22 nvme_fail_nonready_command +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x01628c39 nvmf_ip_options_match +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x2abcb9fe nvmf_get_address +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x37e15190 nvmf_free_options +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x4450f211 nvmf_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0x856a6c6a nvmf_reg_write32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xa23e8f4a nvmf_connect_admin_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xafa5affb nvmf_connect_io_queue +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xbfda16ea nvmf_reg_read32 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xd11439ef nvmf_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xdee7b587 nvmf_should_reconnect +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fabrics 0xf8655476 nvmf_reg_read64 +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x0d12e564 nvme_fc_register_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x3884f8b8 nvme_fc_unregister_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x3e33ac54 nvme_fc_rescan_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x58e312f7 nvme_fc_io_getuuid +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x7764fa61 nvme_fc_register_localport +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0x8a9cf5a7 nvme_fc_set_remoteport_devloss +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xbb0e18a6 nvme_fc_rcv_ls_req +EXPORT_SYMBOL_GPL drivers/nvme/host/nvme-fc 0xfca9dc99 nvme_fc_unregister_remoteport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x24241b02 nvmet_check_transfer_len +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x2eb77afc nvmet_req_uninit +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x3e0ef07a nvmet_wq +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x70b32667 nvmet_req_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x88d97fe2 nvmet_ctrl_fatal_error +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0x992ad764 nvmet_req_alloc_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xc7189517 nvmet_sq_init +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xd263cd1f nvmet_sq_destroy +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xe5a32601 nvmet_register_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xe668bb8b nvmet_unregister_transport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xea680b87 nvmet_req_free_sgls +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet 0xf3b033ab nvmet_req_complete +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x0b98123d nvmet_fc_rcv_ls_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x1048b92a nvmet_fc_rcv_fcp_req +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x4a013682 nvmet_fc_invalidate_host +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x78a146f7 nvmet_fc_register_targetport +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x7fa5302a nvmet_fc_rcv_fcp_abort +EXPORT_SYMBOL_GPL drivers/nvme/target/nvmet-fc 0x9ef76d99 nvmet_fc_unregister_targetport +EXPORT_SYMBOL_GPL drivers/pci/switch/switchtec 0xb6c8842b switchtec_class +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x0c35138d dasd_generic_verify_path +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x14f3688c dasd_device_remove_stop_bits +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x1522f055 dasd_generic_notify +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x15e100b8 dasd_generic_uc_handler +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x19227556 dasd_nopav +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x21c7102e dasd_generic_path_operational +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x2854f2e5 dasd_generic_last_path_gone +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x29c04244 dasd_generic_handle_state_change +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x32c1be7d dasd_biodasdinfo +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x38d1d609 dasd_device_set_stop_bits +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x5087904d dasd_alloc_block +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x5a95fab2 dasd_get_sense +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x5d354421 dasd_generic_probe +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x62764119 dasd_generic_set_online +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x6e5fd9d7 dasd_generic_set_offline +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x75f043d6 dasd_generic_free_discipline +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x7c481293 dasd_generic_space_avail +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0x7ff1c1f4 dasd_device_is_ro +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xadb43d87 dasd_generic_remove +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xb38fe028 dasd_page_cache +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xb74b45a2 dasd_flush_device_queue +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xb8cf4bfa dasd_free_block +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xba4ffee9 dasd_generic_path_event +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xc3316d34 dasd_dev_groups +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xc52ba0ff dasd_generic_shutdown +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xddd02e02 dasd_put_device_wake +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xeab9d03c dasd_generic_read_dev_chars +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xeea15ffb dasd_wakeup_cb +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xf15784f5 dasd_nofcx +EXPORT_SYMBOL_GPL drivers/s390/block/dasd_mod 0xf3ca8f7f dasd_generic_space_exhaust +EXPORT_SYMBOL_GPL drivers/s390/cio/eadm_sch 0x85d9d140 eadm_start_aob +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0x17da9146 qdio_shutdown +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0x1d4cf954 qdio_inspect_output_queue +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0x23c0e637 qdio_alloc_buffers +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0x27488bbc qdio_reset_buffers +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0x40200cd5 qdio_add_bufs_to_output_queue +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0x41257c60 qdio_free +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0x47f87d5a qdio_get_ssqd_desc +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0x75f975ab qdio_establish +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0x9149a583 qdio_add_bufs_to_input_queue +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0xa04bb255 qdio_free_buffers +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0xc650b1e2 qdio_inspect_input_queue +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0xcf41f4ce qdio_allocate +EXPORT_SYMBOL_GPL drivers/s390/cio/qdio 0xe0471413 qdio_activate +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x02a36289 qeth_fix_features +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x1310bd93 qeth_get_stats64 +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x1fb00bbe qeth_siocdevprivate +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x25c72130 qeth_stop +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x28273dba qeth_get_setassparms_cmd +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x32ae4b48 qeth_ipa_alloc_cmd +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x36812194 qeth_features_check +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x3b4b20c2 qeth_poll +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x3be08213 qeth_setassparms_cb +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x505d6ef8 qeth_send_simple_setassparms_prot +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x634fe766 qeth_resize_buffer_pool +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x665bba2d qeth_dbf_longtext +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x6aaf71d5 qeth_send_ipa_cmd +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x6d0fd3df qeth_set_features +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x788569e4 qeth_setadp_promisc_mode +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x7bdd05cb qeth_xmit +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x87c06d27 qeth_tx_timeout +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x8893d350 qeth_configure_cq +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x8a98f458 qeth_set_real_num_tx_queues +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0x97cf4a8b qeth_set_offline +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xa226a18d qeth_do_ioctl +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xa4693849 qeth_threads_running +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xa6537bae qeth_enable_hw_features +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xb19ce8eb qeth_setadpparms_change_macaddr +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xb32c5436 qeth_get_diag_cmd +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xb80dc9bd qeth_set_allowed_threads +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xc07ba9c0 qeth_vm_request_mac +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xd397e9e3 qeth_dbf +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xd9714a2b qeth_osa_select_queue +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xdc98fed4 qeth_open +EXPORT_SYMBOL_GPL drivers/s390/net/qeth 0xfd5df8bd qeth_iqd_select_queue +EXPORT_SYMBOL_GPL drivers/s390/net/qeth_l2 0x1e06738b qeth_l2_discipline +EXPORT_SYMBOL_GPL drivers/s390/net/qeth_l3 0x6c8427d1 qeth_l3_discipline +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x13409098 __fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x17c03798 fcoe_ctlr_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x240873d6 fcoe_libfc_config +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x2e05f07f fcoe_fcf_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x34cf54a5 fcoe_get_paged_crc_eof +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x4c5ab85b fcoe_check_wait_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x57643b03 fcoe_link_speed_update +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x5ea38dd4 fcoe_start_io +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x64849ea1 fcoe_fc_crc +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x668e3199 fcoe_fcf_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x676cd881 fcoe_validate_vport_create +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x76ae6fdb fcoe_get_wwn +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x7817ea4b fcoe_clean_pending_queue +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0x8338fe63 fcoe_ctlr_device_delete +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xbac58840 fcoe_queue_timer +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc3f30cc0 fcoe_wwn_from_mac +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xc6c0ff2c fcoe_get_lesb +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xec73977c fcoe_ctlr_device_add +EXPORT_SYMBOL_GPL drivers/scsi/fcoe/libfcoe 0xf167cb7a fcoe_wwn_to_str +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x09774471 iscsi_boot_create_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x16390eae iscsi_boot_destroy_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x3f566baf iscsi_boot_create_acpitbl +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x4b5af25f iscsi_boot_create_ethernet +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x4e64f29f iscsi_boot_create_initiator +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x6d639997 iscsi_boot_create_host_kset +EXPORT_SYMBOL_GPL drivers/scsi/iscsi_boot_sysfs 0x748919e8 iscsi_boot_create_target +EXPORT_SYMBOL_GPL drivers/scsi/libfc/libfc 0x09279ed6 fc_seq_els_rsp_send +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x095bc503 iscsi_session_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x0ead99b2 iscsi_host_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b2ad06 iscsi_switch_str_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x12b7f001 iscsi_session_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x185e06c2 iscsi_host_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x22b653fd iscsi_conn_start +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x25892547 iscsi_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2b6d57d9 iscsi_session_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x2e442471 iscsi_host_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3057b032 iscsi_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x32dfd61c iscsi_host_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bbc2004 iscsi_eh_recover_target +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x3bef2f73 iscsi_pool_init +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x420f1db4 iscsi_suspend_rx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x422c720f iscsi_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x51a3efd4 iscsi_host_set_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x5dadf3ac iscsi_session_remove +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x702464d1 iscsi_verify_itt +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x7d182491 iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x80ba8301 iscsi_eh_session_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8396f069 iscsi_host_add +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d0ec737 iscsi_conn_queue_recv +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x8d303b1b iscsi_pool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x932613a0 iscsi_itt_to_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x99f309dd iscsi_complete_scsi_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0x9f98ff38 __iscsi_complete_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xa371385d iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xaa618dfe iscsi_prep_data_out_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbdef164f iscsi_update_cmdsn +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xbed58c45 iscsi_session_recovery_timedout +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc2722c80 iscsi_eh_cmd_timed_out +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc2bf9949 iscsi_session_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc35dd965 iscsi_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc4367bef iscsi_conn_send_pdu +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xc5747eab iscsi_conn_queue_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xca107e61 iscsi_requeue_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xca6cd832 iscsi_eh_device_reset +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcb999742 iscsi_conn_stop +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcc8eb457 iscsi_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xcf65c0e4 iscsi_conn_failure +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd1f241ab iscsi_conn_unbind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd29978a4 iscsi_eh_abort +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd5148b3d iscsi_suspend_tx +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd56f5fa8 iscsi_session_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xd6023228 iscsi_conn_bind +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xda3ddf79 __iscsi_put_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xe085844e iscsi_suspend_queue +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeab9cbd5 iscsi_conn_get_addr_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xeda87f11 __iscsi_get_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xf0b4a8cf iscsi_conn_get_param +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfa3b003e iscsi_itt_to_ctask +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi 0xfed59b9a iscsi_host_get_max_scsi_cmds +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x002b2b05 iscsi_tcp_cleanup_task +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x086d7587 iscsi_tcp_segment_done +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x0d88e7a6 iscsi_tcp_set_max_r2t +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1a12f936 iscsi_tcp_task_xmit +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x1bbd706b iscsi_tcp_conn_get_stats +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x27d2b34c iscsi_tcp_conn_teardown +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x2df30479 iscsi_tcp_conn_setup +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x30a3fe26 iscsi_segment_seek_sg +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x3ea75179 iscsi_segment_init_linear +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x43ad6e1d iscsi_tcp_recv_segment_is_hdr +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x492077b1 iscsi_tcp_dgst_header +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x5bd5ec75 iscsi_tcp_segment_unmap +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x6499a82a iscsi_tcp_recv_skb +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x68199a48 iscsi_tcp_r2tpool_free +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9522f345 iscsi_tcp_r2tpool_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0x9c26022a iscsi_tcp_hdr_recv_prep +EXPORT_SYMBOL_GPL drivers/scsi/libiscsi_tcp 0xb1c95c9e iscsi_tcp_task_init +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x05f73965 sas_eh_abort_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x0cd9c4f8 sas_queuecommand +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x13baa698 sas_abort_task_set +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x16313f32 sas_target_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1c589202 sas_slave_configure +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1cd379d5 sas_phy_enable +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x1d466c87 sas_target_destroy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x266e29a9 sas_ssp_task_response +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x3ebcd5ea sas_register_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x458323b9 sas_get_local_phy +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4a17c450 sas_change_queue_depth +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x4d09364b sas_task_abort +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x55d29aed sas_bios_param +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x57512421 sas_free_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x84f1770b dev_attr_phy_event_threshold +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x88934d02 sas_query_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9168e078 sas_lu_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9e1a3ae8 sas_execute_internal_abort_dev +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0x9fcc65ce sas_request_addr +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xa4852de3 sas_eh_device_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb0b86a4b sas_slave_alloc +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xb80d81ba sas_drain_work +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xd507713e sas_notify_port_event +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xdb202be1 sas_alloc_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xdc90a720 sas_notify_phy_event +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xdedacb54 sas_phy_reset +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe0f84d09 sas_domain_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe2a4d48a sas_execute_internal_abort_single +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xe8f234df sas_eh_target_reset_handler +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xec06eba8 sas_clear_task_set +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xed944819 sas_unregister_ha +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf2b289cb sas_ioctl +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf2bd3950 sas_abort_task +EXPORT_SYMBOL_GPL drivers/scsi/libsas/libsas 0xf364c805 sas_alloc_slow_task +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_fc 0xd6808831 fc_eh_should_retry_cmd +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x013d4e94 iscsi_offload_mesg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x06091864 __traceiter_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x0736dd10 __tracepoint_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x13a61606 iscsi_is_session_dev +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x19c43286 iscsi_add_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1a270eb5 iscsi_create_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x1add77fc __traceiter_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x216315de iscsi_alloc_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x264d878e iscsi_dbg_trace +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x29d6404c iscsi_alloc_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2d910bce iscsi_destroy_all_flashnode +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x2e8b8f2f iscsi_remove_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3785e561 __tracepoint_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3d741559 iscsi_get_port_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x3e1c3d7c iscsi_destroy_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4242bba8 iscsi_create_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x4f150a2d iscsi_post_host_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x584a31ab __SCK__tp_func_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5bfaa2c3 __tracepoint_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5d698d22 iscsi_block_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x5ea6e498 iscsi_force_destroy_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x699fe53e iscsi_get_discovery_parent_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x716a4420 iscsi_flashnode_bus_match +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x71b768b0 __SCK__tp_func_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x78da5f88 iscsi_lookup_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x7f453c75 iscsi_destroy_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x81c42de5 iscsi_find_flashnode_sess +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x84a005f1 iscsi_get_router_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x870ff833 __traceiter_iscsi_dbg_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x87bd3fc0 iscsi_create_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x87f1b853 iscsi_ping_comp_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x88768c48 __SCK__tp_func_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x88cea783 iscsi_unblock_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x91d490b8 __traceiter_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x92b31512 iscsi_find_flashnode_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0x9aa95118 iscsi_put_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xa9c0e6bb iscsi_get_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xaa976bb3 __tracepoint_iscsi_dbg_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xab25b0f1 iscsi_register_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xab4674c8 __SCK__tp_func_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xafcc2974 iscsi_unregister_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb1f2077d iscsi_create_iface +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb2920307 iscsi_destroy_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xb3958c73 __traceiter_iscsi_dbg_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbc071179 iscsi_get_ipaddress_state_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xbf6342f1 iscsi_session_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc2c3e591 iscsi_put_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc5bff7c6 iscsi_session_chkready +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xc7b32fe0 iscsi_add_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xcffdd994 iscsi_remove_conn +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd1418f1d iscsi_conn_login_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd4e55f1e __tracepoint_iscsi_dbg_sw_tcp +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xd7f3daf4 iscsi_block_scsi_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe31e03a4 iscsi_host_for_each_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xe4c79fa6 __SCK__tp_func_iscsi_dbg_eh +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xea441a93 iscsi_is_session_online +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf394bd75 iscsi_get_port_speed_name +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf7bca7ab iscsi_conn_error_event +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xf8c2aec6 iscsi_create_endpoint +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xfd104070 iscsi_free_session +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_iscsi 0xff63076c iscsi_recv_pdu +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0x8cf2963d sas_disable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xb2f204ec sas_is_tlr_enabled +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xcad4fe31 sas_tlr_supported +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_sas 0xee0e49f9 sas_enable_tlr +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x0ef06974 spi_populate_ppr_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0x3d3fd0dd spi_populate_tag_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xa0c71dac spi_populate_sync_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_spi 0xcffa2aff spi_populate_width_msg +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x1902178a srp_tmo_valid +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x23b35187 srp_release_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x3c714a57 srp_rport_add +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x52a666dc srp_attach_transport +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0x95c9136b srp_stop_rport_timers +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xb7fb1a4d srp_rport_del +EXPORT_SYMBOL_GPL drivers/scsi/scsi_transport_srp 0xfeaf5127 srp_remove_host +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x3a157d11 siox_master_alloc +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0x7bc600ee siox_master_unregister +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xaa44440e __siox_driver_register +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xb21476c9 siox_device_synced +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xb8222f7b siox_device_connected +EXPORT_SYMBOL_GPL drivers/siox/siox-core 0xd7f529e7 siox_master_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x00be6dd4 slim_get_logical_addr +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x0a91041a slim_stream_free +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x1831d7d7 slimbus_bus +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x1a5756c2 slim_register_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x2213b5b7 slim_stream_allocate +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x3cebc7af slim_writeb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x3d4cded3 slim_readb +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x3da534bd slim_ctrl_clk_pause +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x4bf8db82 slim_write +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x5d80fd86 slim_free_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x60edb2ec slim_report_absent +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x6c9db8cd slim_msg_response +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x723195cd slim_xfer_msg +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x80b69c50 of_slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x8d942ef2 slim_stream_enable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x93cd9068 slim_device_report_present +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0x99d6176c __slim_driver_register +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xa509b300 slim_unregister_controller +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xa61ce739 slim_do_transfer +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xb09c9e08 slim_read +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xb2d087a2 slim_stream_prepare +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xc88b6720 slim_driver_unregister +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xd81316dc slim_stream_disable +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xe61c6c14 slim_get_device +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf3298840 slim_alloc_txn_tid +EXPORT_SYMBOL_GPL drivers/slimbus/slimbus 0xf59a80cd slim_stream_unprepare +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x0b8d2378 target_queue_submission +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0x98ab11f9 target_submit +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0xd723cc0f target_submit_prep +EXPORT_SYMBOL_GPL drivers/target/target_core_mod 0xec3fe00a target_init_cmd +EXPORT_SYMBOL_GPL drivers/tty/serial/serial_core 0x0040b08d uart_try_toggle_sysrq +EXPORT_SYMBOL_GPL drivers/tty/serial/serial_core 0x4d0fd325 uart_handle_dcd_change +EXPORT_SYMBOL_GPL drivers/tty/serial/serial_core 0x847e1ebe uart_console_device +EXPORT_SYMBOL_GPL drivers/tty/serial/serial_core 0x9db3c99b uart_insert_char +EXPORT_SYMBOL_GPL drivers/tty/serial/serial_core 0xb72fb213 uart_get_rs485_mode +EXPORT_SYMBOL_GPL drivers/tty/serial/serial_core 0xdc1a2902 uart_xchar_out +EXPORT_SYMBOL_GPL drivers/tty/serial/serial_core 0xe6bfbbe2 uart_handle_cts_change +EXPORT_SYMBOL_GPL drivers/uio/uio 0x234b546a __uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x3e2d462e __devm_uio_register_device +EXPORT_SYMBOL_GPL drivers/uio/uio 0x8a26ad17 uio_event_notify +EXPORT_SYMBOL_GPL drivers/uio/uio 0xdb4d2642 uio_unregister_device +EXPORT_SYMBOL_GPL drivers/vfio/mdev/mdev 0xd1ad18e6 mdev_bus_type +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x0d9aae43 vfio_pci_core_enable +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x2504d750 vfio_pci_core_write +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x2ba230c0 vfio_pci_core_finish_enable +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x2c9b5050 vfio_pci_core_uninit_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x31fdbe07 vfio_pci_core_close_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x35e0ddaf vfio_pci_core_read +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x375edc46 vfio_pci_core_err_handlers +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x3e1cf8e8 vfio_pci_register_dev_region +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x3ff5b036 vfio_pci_core_ioctl +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x4cf699b8 vfio_pci_core_set_params +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x5a273e57 vfio_pci_core_unregister_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x60a53b90 vfio_pci_core_match +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0x766e26c9 vfio_pci_core_mmap +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xaab0313b vfio_pci_core_init_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xccacf3bb vfio_pci_core_sriov_configure +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xd141c72e vfio_pci_core_disable +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xd22dfed6 vfio_pci_core_ioctl_feature +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xd3737f7d vfio_pci_core_request +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xd6e49ae2 vfio_pci_core_register_device +EXPORT_SYMBOL_GPL drivers/vfio/pci/vfio-pci-core 0xf02022e0 vfio_pci_core_aer_err_detected +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x0861524b vfio_register_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x15e37782 vfio_file_set_kvm +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x1a8236a1 vfio_register_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x306ab1a9 vfio_unregister_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x37142408 vfio_uninit_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x3c8e54ac vfio_file_enforced_coherent +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x438dd846 vfio_register_emulated_iommu_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x44216eb7 vfio_init_group_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x529db99e vfio_info_cap_add +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x61138e6c vfio_assign_device_set +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x86ac204c vfio_mig_get_next_state +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0x881d90c0 vfio_unregister_iommu_driver +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xa8d82da7 vfio_file_has_dev +EXPORT_SYMBOL_GPL drivers/vfio/vfio 0xe327d18b vfio_file_iommu_group +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x035dfb97 vfio_virqfd_disable +EXPORT_SYMBOL_GPL drivers/vfio/vfio_virqfd 0x4cb3027e vfio_virqfd_enable +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0643bb97 vhost_get_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x0aafcba9 vhost_init_device_iotlb +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x10dfcaa1 vhost_log_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x1f35295a vhost_has_work +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x25eaa87c vhost_enqueue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x473c1d85 vhost_dev_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x52b69a75 vhost_dev_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x56e5a3cc vhost_clear_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x5da04830 vhost_dev_has_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x63ff22f7 vhost_vring_ioctl +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6531dfdb vhost_add_used_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x67abb12a vhost_enable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x6a3ea5c0 vhost_add_used_and_signal_n +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x7576ccad vhost_poll_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x83cc7373 vhost_disable_notify +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8d4af10d vhost_poll_start +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x8daec8a2 vhost_add_used +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0x9c06fdaf vhost_log_write +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa15acdbc vhost_exceeds_weight +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa54ffc9c vhost_set_backend_features +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xa909cfc5 vhost_work_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xaf3d4f4f vhost_dev_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb004b063 vhost_vq_access_ok +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb3b949ec vq_meta_prefetch +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb42234a1 vhost_vq_avail_empty +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb4543287 vhost_work_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb7ffec56 vhost_dev_flush +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xb9e0950a vhost_dequeue_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xbc5d7902 vhost_dev_cleanup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc0e22f75 vhost_vq_init_access +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc1c0811f vhost_dev_reset_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc1da04b4 vhost_add_used_and_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xc87652b8 vhost_dev_check_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xcad2caf9 vhost_new_msg +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xda53659c vhost_vq_is_setup +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xdf20ccdf vhost_discard_vq_desc +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe738c4f2 vhost_chr_read_iter +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xe999feac vhost_poll_queue +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xf533ec35 vhost_dev_set_owner +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfd2b3e45 vhost_dev_reset_owner_prepare +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xfee77bd0 vhost_signal +EXPORT_SYMBOL_GPL drivers/vhost/vhost 0xffb9bcce vhost_poll_stop +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x38ff875f vhost_iotlb_add_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x5f4e5249 vhost_iotlb_reset +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x69e872f9 vhost_iotlb_itree_first +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x6bec0e66 vhost_iotlb_del_range +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x83be64b9 vhost_iotlb_itree_next +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x885512a2 vhost_iotlb_add_range_ctx +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0x8a7d8ee9 vhost_iotlb_init +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xa24517eb vhost_iotlb_free +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xc577832d vhost_iotlb_alloc +EXPORT_SYMBOL_GPL drivers/vhost/vhost_iotlb 0xf9deb0db vhost_iotlb_map_free +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x15d26585 fb_sys_write +EXPORT_SYMBOL_GPL drivers/video/fbdev/core/fb_sys_fops 0x1f009e01 fb_sys_read +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x3d701393 dlm_posix_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x4b62826c dlm_unlock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x647d6170 dlm_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0x9e51cecf dlm_posix_lock +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcd224e1d dlm_new_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xcf9f3328 dlm_release_lockspace +EXPORT_SYMBOL_GPL fs/dlm/dlm 0xf4c4191a dlm_posix_get +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x267e1431 lockd_down +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x6ac79bd9 nlmsvc_ops +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x77e35ccc nlmsvc_unlock_all_by_ip +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x86959202 nlmclnt_init +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x874672d0 lockd_up +EXPORT_SYMBOL_GPL fs/lockd/lockd 0x910577a6 nlmsvc_unlock_all_by_sb +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xd4dbe5fe nlmclnt_proc +EXPORT_SYMBOL_GPL fs/lockd/lockd 0xe6befa89 nlmclnt_done +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0294c6a2 nfs_callback_nr_threads +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x02e4480e nfs_drop_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x03eacb8c nfs_fattr_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x04153021 nfs_lock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x07ce4933 nfs_add_or_obtain +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x094fc1d4 nfs_init_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0967e715 nfs_pgio_current_mirror +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0995f758 nfs_flock +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x0be634ec nfs_invalidate_atime +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10962bc2 nfs_auth_info_match +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x10c84ce5 nfs_inode_attach_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x137426a4 nfs_set_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x13c60732 nfs_getattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x13ff23c5 nfs_put_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x14de5bad nfs_kill_super +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x15da6362 nfs4_label_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1818bc17 nfs_post_op_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1ac35429 __traceiter_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1b2f60f1 nfs_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1c4a377a nfs_dreq_bytes_left +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1c8a7d72 nfs_release_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x1ffb0c25 nfs_alloc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x21b8e22d alloc_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2279fb05 __traceiter_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x22d795a8 _nfs_display_fhandle_hash +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x252c1b3d nfs_file_llseek +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x26884ff7 nfs_alloc_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2744741e put_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x27750c1b nfs_file_set_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2833b4f2 nfs_init_cinfo +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2ae724ac nfs_symlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2b0fe5e8 nfs_umount_begin +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x2d4086ca nfs_reconfigure +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3008e3bc nfs_get_lock_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x30496988 __tracepoint_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x35bcb6f9 nfs_force_lookup_revalidate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x39e05ac3 nfs_idmap_cache_timeout +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3c4b6b44 nfs_setattr_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3e540915 nfs_filemap_write_and_wait_range +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x3f2690f2 nfs_check_flags +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40739385 nfs_wait_bit_killable +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x40f59c8c nfs_alloc_fattr_with_label +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f01810 nfs_statfs +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x42f2c81f nfs4_client_id_uniquifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x43fdcdd4 unregister_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x447118e4 nfs_rmdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x44cc3a41 __tracepoint_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x499c2c67 nfs_generic_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x49a5bb0c nfs_create +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4ba57f77 __traceiter_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4bbf6beb nfs_pgheader_init +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4c27a9f1 nfs_server_remove_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4c84e173 nfs_pageio_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4cb9e001 recover_lost_locks +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x4d0509d2 nfs_zap_acl_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51892d61 nfs_callback_set_tcpport +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x51d1f52f nfs_init_server_rpcclient +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x52ca4fab nfs_d_prune_case_insensitive_aliases +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x530e99a8 nfs_link +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x554ad9e2 nfs_retry_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x580cbd04 nfs_create_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x583d0eda nfs_file_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x584b8482 nfs_inc_attr_generation_counter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x58a520f5 nfs_show_options +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5930e49c nfs_access_zap_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x59923eb3 __tracepoint_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x59ad397e nfs_get_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5a126069 nfs_pageio_resend +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5e1b9d3b nfs_client_init_is_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x5e45180f nfs_revalidate_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x609f615b nfs_free_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x633614f2 nfs_mark_client_ready +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x65047f1e nfs_try_get_tree +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x669ba9da nfs_put_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x676191da nfs_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6a325d9a nfs_file_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6d64aea3 nfs_set_verifier +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6dfa3e91 nfs_permission +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6e81f032 __SCK__tp_func_nfs_fsync_exit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6f711f6d nfs_post_op_update_inode_force_wcc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x6f89fb96 nfs_async_iocounter_wait +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x706689d8 nfs_clear_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x73dff4c0 __SCK__tp_func_nfs_xdr_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x77062ee3 nfs_client_for_each_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x78777de7 nfs_sb_active +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x7e9ffb0f nfs_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x80f42aba nfs_pgio_header_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x81835235 nfs_sops +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x821139af nfs_server_insert_lists +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8499de4f nfs_alloc_fattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8600734d nfs_close_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x88738ec5 nfs_free_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x888eaf0c nfs_file_read +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8e50c3f1 nfs_probe_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x8e9d25a5 nfs_show_devname +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x906e25db nfs_lookup +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x90a5530f nfsiod_workqueue +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9160e59e nfs_commitdata_release +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x916c8e13 nfs_check_cache_invalid +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x91d1fe52 max_session_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x95007f7e __SCK__tp_func_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x956aa994 nfs_setsecurity +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x96f7aa7a nfs_show_path +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x98b0ece8 nfs_init_timeout_values +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9907b5dc nfs_wait_client_init_complete +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9c01bda4 nfs_may_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0x9c9a59ba nfs_atomic_open +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa1ddf93c nfs_init_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa1e3f11b nfs_mknod +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa29d3af3 nfs_request_remove_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa33fadcf nfs_mkdir +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa424a3ee nfs_wb_all +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa67c8f00 nfs_alloc_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa8e9e1ae send_implementation_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xa9d4a971 nfs_file_mmap +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xaafd4acc max_session_cb_slots +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xacd5af2c nfs_clone_server +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xacdfb308 nfs_fhget +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xad114c0a nfs_initiate_pgio +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb322f5a2 nfs_refresh_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb3c42a3b nfs_pageio_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb42edab9 nfs_alloc_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb4d74f85 nfs_request_add_commit_list_locked +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb5c1f0eb nfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb7e1ec54 __traceiter_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb86f3461 nfs_request_add_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb8a22a70 nfs_server_copy_userdata +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xb8ae4f09 nfs_show_stats +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xbf01d7e6 nfs_commit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc05842f8 nfs_instantiate +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc1df390e nfs_do_submount +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc3a2be67 nfs_net_id +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc51aa612 nfs_free_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc6c8b8f1 nfs_access_set_mask +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc7b2ad9a register_nfs_version +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xc87f5867 nfs_commitdata_alloc +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcb0e6313 nfs4_fs_type +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xcd98bf32 nfs_file_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xce722836 nfs_clear_verifier_delegated +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd3f8bd66 nfs_sb_deactive +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd4ddc49c nfs4_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd69801f1 nfs_commit_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd7538dd9 nfs_write_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd8e558ab nfs_rename +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd917e216 nfs_pageio_reset_write_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xd9d9512e nfs_fscache_open_file +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdae9b5d7 nfs4_disable_idmapping +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdd49f7a2 nfs_setattr +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xdea7fb6b nfs_pageio_reset_read_mds +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe1e177c0 nfs_client_init_status +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe505eed1 nfs_initiate_commit +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe507074e nfs_unlink +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe70507df __tracepoint_nfs_xdr_bad_filehandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe73ee846 get_nfs_open_context +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xe91fb7ad nfs_writeback_update_inode +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xea31480b nfs_wait_on_request +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xeadca11d nfs_dentry_operations +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xee6ccf40 nfs_pgio_header_free +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf2e6fabf nfs_file_fsync +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf318bc44 nfs_access_add_cache +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf5938d49 nfs_scan_commit_list +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf5bcaea1 nfs_access_get_cached +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf7336e7e nfs_create_rpc_client +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xf96f04c4 __SCK__tp_func_nfs_fsync_enter +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfc619abd _nfs_display_fhandle +EXPORT_SYMBOL_GPL fs/nfs/nfs 0xfddff492 nfs_sync_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv3 0xf24539c5 nfs3_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x054bef45 layoutstats_timer +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x08b2c467 __SCK__tp_func_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0aebca68 __tracepoint_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0e5239a1 pnfs_put_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0f01076e __tracepoint_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x0ff289f3 __SCK__tp_func_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x11ddf32a pnfs_generic_ds_cinfo_release_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x123e0ba7 pnfs_generic_pg_check_range +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x125be9db pnfs_generic_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x177b9407 nfs4_schedule_stateid_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x19ca1ffc pnfs_free_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x1e3c7915 pnfs_generic_pg_writepages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2357d972 nfs4_pnfs_ds_add +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x276fd448 nfs4_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x27ad47ea __SCK__tp_func_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2c1759fe pnfs_write_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2d0d14f8 pnfs_generic_pg_readpages +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2f222ea4 __traceiter_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2f5d0812 pnfs_ld_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x2fdefb6f __traceiter_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x30a44ac3 __SCK__tp_func_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x319e667e __traceiter_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x32613670 pnfs_generic_pg_check_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x32bb6e05 __tracepoint_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3311bf58 pnfs_generic_pg_test +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3560e39e nfs4_find_or_create_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x35d2a183 __traceiter_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3668abf5 nfs4_put_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x38da9559 nfs4_mark_deviceid_available +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3b722cb2 nfs_remove_bad_delegation +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x3bc4c8e6 pnfs_layout_mark_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4359d573 nfs4_decode_mp_ds_addr +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x4cac26d2 pnfs_generic_layout_insert_lseg +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x504bd292 pnfs_generic_write_commit_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x533c198f __SCK__tp_func_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x535a59e9 pnfs_read_resend_pnfs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5460f217 nfs4_pnfs_ds_put +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5608e472 nfs4_pnfs_ds_connect +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x579126b8 __SCK__tp_func_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5a4314e9 __SCK__tp_func_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5af4f7c8 __traceiter_ff_layout_write_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5ce462a3 __tracepoint_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x5e30f4b5 pnfs_destroy_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6208e415 pnfs_generic_scan_commit_lists +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x62ce6de3 pnfs_ld_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x6532a5ce nfs4_test_session_trunk +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x68fa9c37 pnfs_unregister_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x69d3558d pnfs_generic_rw_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x71560916 __traceiter_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x770065ed nfs4_setup_sequence +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x785c06ab __SCK__tp_func_ff_layout_read_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7a4e7f4e __SCK__tp_func_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7ab7bcc6 __tracepoint_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x7cd013a8 __SCK__tp_func_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x82012185 pnfs_generic_recover_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x82409884 __tracepoint_pnfs_mds_fallback_read_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x82780f4a nfs4_delete_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x82d451a9 pnfs_update_layout +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x88bde11f nfs4_set_rw_stateid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8a2ad953 pnfs_set_layoutcommit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8a7b297d pnfs_nfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8fa81dfc __traceiter_pnfs_mds_fallback_write_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x8fe3577c __traceiter_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x903cc7e5 pnfs_generic_sync +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9531a0e6 pnfs_generic_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x974a1614 __tracepoint_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x97d60f81 nfs4_test_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9a1a74c3 __tracepoint_nfs4_pnfs_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9db7e35a __traceiter_ff_layout_commit_error +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0x9fe34627 nfs4_schedule_migration_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xa15d9a81 __traceiter_pnfs_mds_fallback_pg_init_write +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xabbaed08 nfs4_schedule_lease_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xad744d32 nfs4_mark_deviceid_unavailable +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xaf64c57d __traceiter_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb2018c6c pnfs_generic_pg_cleanup +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb2d23918 pnfs_alloc_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xb89f64fe pnfs_register_layoutdriver +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xba53a1ef __SCK__tp_func_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbe2bf3b5 pnfs_generic_search_commit_reqs +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xbef41ecc __traceiter_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc0f8b366 nfs4_find_get_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc13c4515 nfs4_schedule_lease_moved_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc3331772 nfs_map_string_to_numeric +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc5ed9c3c nfs41_sequence_done +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xc7a9d954 __SCK__tp_func_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xccfa0e4a pnfs_generic_prepare_to_resend_writes +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xccfe1574 nfs4_init_deviceid_node +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xcf29b95f __tracepoint_pnfs_mds_fallback_read_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd0ecfaad __tracepoint_pnfs_mds_fallback_pg_init_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd4392523 pnfs_report_layoutstat +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd81ee982 pnfs_generic_ds_cinfo_destroy +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xd98cc893 pnfs_add_commit_array +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xda4d9616 nfs42_proc_layouterror +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xda7b8beb pnfs_layoutcommit_inode +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdd7b2fd0 nfs4_proc_getdeviceinfo +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdee3cf13 pnfs_read_done_resend_to_mds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xdf6991a4 __SCK__tp_func_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe19f5ee0 __tracepoint_pnfs_mds_fallback_write_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe5e800fa nfs4_set_ds_client +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xe77d5895 __traceiter_pnfs_mds_fallback_pg_get_mirror_count +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xeae8522f __tracepoint_nfs4_pnfs_commit_ds +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xed15fb41 nfs4_print_deviceid +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xede41327 __tracepoint_nfs4_pnfs_read +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xee66ba9a pnfs_generic_clear_request_commit +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf04be4fc pnfs_generic_commit_pagelist +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf14a70da pnfs_error_mark_layout_for_return +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf24d81c3 nfs4_init_ds_session +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf7579517 nfs4_schedule_session_recovery +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf7801360 nfs41_maxgetdevinfo_overhead +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xf999267e pnfs_generic_commit_release +EXPORT_SYMBOL_GPL fs/nfs/nfsv4 0xfbd56c15 pnfs_set_lo_fail +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x0f8398db locks_start_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x1fe1e1ad locks_end_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x41f460fd opens_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/grace 0x9f95fb86 locks_in_grace +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x33800efb nfsacl_decode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0x37ce2141 nfs_stream_decode_acl +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xaa039120 nfsacl_encode +EXPORT_SYMBOL_GPL fs/nfs_common/nfs_acl 0xc4ea0e4a nfs_stream_encode_acl +EXPORT_SYMBOL_GPL fs/nfsd/nfsd 0x849a7b1f nfsd4_ssc_init_umount_work +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x0feae4c8 o2nm_get_node_by_ip +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x1b89c6ee o2hb_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x365650f8 o2nm_node_get +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x4900035b o2hb_stop_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x58c88ff2 o2hb_get_all_regions +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x6a0c3847 __mlog_printk +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7a52e592 o2nm_node_put +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x7ec7aa15 o2hb_register_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x81a17396 mlog_and_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0x9608a6b3 o2hb_unregister_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xa87bc9e7 o2nm_configured_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb43ff17e o2hb_setup_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xb6ebf62a o2nm_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xbd13ee5d o2hb_check_node_heartbeating_no_sem +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xc4d99852 o2hb_check_node_heartbeating_from_callback +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd06538e6 o2nm_get_node_by_num +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xd859ac8c o2net_fill_node_map +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf1a5611d o2net_unregister_handler_list +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf56c2017 mlog_not_bits +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xf982e6db o2net_send_message +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xfa83d357 o2net_send_message_vec +EXPORT_SYMBOL_GPL fs/ocfs2/cluster/ocfs2_nodemanager 0xfe1298f3 o2net_register_handler +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x2c1a3f8b dlmlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x2d214b7a dlmunlock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x30f7d9d3 dlm_print_one_lock +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0x7a1211f8 dlm_setup_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xcfe62833 dlm_register_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd7ba575e dlm_errmsg +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xd8fa57a6 dlm_unregister_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xed80dc79 dlm_register_eviction_cb +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xf5e457e4 dlm_unregister_domain +EXPORT_SYMBOL_GPL fs/ocfs2/dlm/ocfs2_dlm 0xfb86b96f dlm_errname +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0a726931 ocfs2_cluster_this_node +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x0cfd3fc5 ocfs2_cluster_connect_agnostic +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x1475f64b ocfs2_dlm_lvb_valid +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x23501bdd ocfs2_kset +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x2cb33f04 ocfs2_stack_glue_unregister +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x4d3af7fa ocfs2_cluster_hangup +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x76f40744 ocfs2_dlm_lvb +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0x9507547f ocfs2_cluster_disconnect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xaf969565 ocfs2_dlm_lock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xbbc4ef97 ocfs2_stack_supports_plocks +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xc5196999 ocfs2_dlm_unlock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xc9fae756 ocfs2_cluster_connect +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xcafdd707 ocfs2_dlm_lock_status +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd2b1c89a ocfs2_plock +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd344e4ee ocfs2_stack_glue_set_max_proto_version +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd561d184 ocfs2_stack_glue_register +EXPORT_SYMBOL_GPL fs/ocfs2/ocfs2_stackglue 0xd806a273 ocfs2_dlm_dump_lksb +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_arc4 0xabd9af6d cifs_arc4_crypt +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_arc4 0xc4c73891 cifs_arc4_setkey +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0x798f3830 cifs_md4_init +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0xceecd9e4 cifs_md4_final +EXPORT_SYMBOL_GPL fs/smbfs_common/cifs_md4 0xdef1096d cifs_md4_update +EXPORT_SYMBOL_GPL lib/842/842_compress 0xcf048a91 sw842_compress +EXPORT_SYMBOL_GPL lib/842/842_decompress 0xa4adedf1 sw842_decompress +EXPORT_SYMBOL_GPL lib/crc4 0x696b3a5a crc4 +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x0105b595 des_encrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x574eda34 des3_ede_decrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0x856a5ef3 des3_ede_encrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa6aa9857 des_decrypt +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa77b3b62 des3_ede_expand_key +EXPORT_SYMBOL_GPL lib/crypto/libdes 0xa8fb743d des_expand_key +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0x31d4e581 poly1305_init_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0xd7219de2 poly1305_update_generic +EXPORT_SYMBOL_GPL lib/crypto/libpoly1305 0xf3945fcd poly1305_final_generic +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x17a4ad6b notifier_err_inject_init +EXPORT_SYMBOL_GPL lib/notifier-error-inject 0x9ecc6b70 notifier_err_inject_dir +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x18efd32f raid6_datap_recov +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0x3e193101 raid6_call +EXPORT_SYMBOL_GPL lib/raid6/raid6_pq 0xa51bfd9f raid6_2data_recov +EXPORT_SYMBOL_GPL net/802/garp 0x06d6fff1 garp_unregister_application +EXPORT_SYMBOL_GPL net/802/garp 0x5b9f88aa garp_init_applicant +EXPORT_SYMBOL_GPL net/802/garp 0x75c95776 garp_register_application +EXPORT_SYMBOL_GPL net/802/garp 0x8eab3952 garp_request_leave +EXPORT_SYMBOL_GPL net/802/garp 0x93ee4ed7 garp_request_join +EXPORT_SYMBOL_GPL net/802/garp 0xc4480759 garp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x2763f225 mrp_unregister_application +EXPORT_SYMBOL_GPL net/802/mrp 0x4b609d0d mrp_uninit_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0x5feba740 mrp_request_join +EXPORT_SYMBOL_GPL net/802/mrp 0x7524941a mrp_init_applicant +EXPORT_SYMBOL_GPL net/802/mrp 0xafd27f01 mrp_register_application +EXPORT_SYMBOL_GPL net/802/mrp 0xf4909295 mrp_request_leave +EXPORT_SYMBOL_GPL net/802/stp 0x8a4525ac stp_proto_register +EXPORT_SYMBOL_GPL net/802/stp 0xe9f1bb4e stp_proto_unregister +EXPORT_SYMBOL_GPL net/9p/9pnet 0xc14eb66d p9_client_xattrwalk +EXPORT_SYMBOL_GPL net/9p/9pnet 0xf84ba253 p9_client_xattrcreate +EXPORT_SYMBOL_GPL net/bridge/bridge 0x0a32f11b br_vlan_get_pvid +EXPORT_SYMBOL_GPL net/bridge/bridge 0x0e6126ca br_multicast_has_querier_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x2139485e br_multicast_has_querier_anywhere +EXPORT_SYMBOL_GPL net/bridge/bridge 0x246dc10d br_forward_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x2b5d46a3 br_vlan_get_pvid_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0x3f2d7926 br_fdb_find_port +EXPORT_SYMBOL_GPL net/bridge/bridge 0x42fda0bf br_vlan_get_proto +EXPORT_SYMBOL_GPL net/bridge/bridge 0x45c020d9 br_mst_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x54c148a5 br_multicast_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0x5a03f6a9 br_handle_frame_finish +EXPORT_SYMBOL_GPL net/bridge/bridge 0x5ba9174c br_multicast_has_router_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x7382f600 br_multicast_list_adjacent +EXPORT_SYMBOL_GPL net/bridge/bridge 0x83827c94 br_multicast_router +EXPORT_SYMBOL_GPL net/bridge/bridge 0x87088d01 br_mst_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0x8a969180 br_forward +EXPORT_SYMBOL_GPL net/bridge/bridge 0x8eb01a98 br_mst_get_state +EXPORT_SYMBOL_GPL net/bridge/bridge 0xada1bdf3 br_vlan_get_info_rcu +EXPORT_SYMBOL_GPL net/bridge/bridge 0xb2714bba br_fdb_clear_offload +EXPORT_SYMBOL_GPL net/bridge/bridge 0xb9b708d9 br_vlan_enabled +EXPORT_SYMBOL_GPL net/bridge/bridge 0xc424447a br_get_ageing_time +EXPORT_SYMBOL_GPL net/bridge/bridge 0xc63426c7 nf_br_ops +EXPORT_SYMBOL_GPL net/bridge/bridge 0xccf3581d br_vlan_get_info +EXPORT_SYMBOL_GPL net/bridge/bridge 0xd726a475 br_dev_queue_push_xmit +EXPORT_SYMBOL_GPL net/bridge/bridge 0xe89d47ea br_port_flag_is_set +EXPORT_SYMBOL_GPL net/bridge/bridge 0xead6d01a br_port_get_stp_state +EXPORT_SYMBOL_GPL net/core/failover 0x54d3e5b8 failover_register +EXPORT_SYMBOL_GPL net/core/failover 0x8e6a695c failover_unregister +EXPORT_SYMBOL_GPL net/core/failover 0xd44ec930 failover_slave_unregister +EXPORT_SYMBOL_GPL net/dccp/dccp 0x09e3971c dccp_setsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0x0e825905 dccp_insert_option +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1595e7a7 dccp_reqsk_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x17cee864 dccp_destroy_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x182ec2bf dccp_ackvec_parsed_add +EXPORT_SYMBOL_GPL net/dccp/dccp 0x1e6b6190 dccp_feat_nn_get +EXPORT_SYMBOL_GPL net/dccp/dccp 0x224bfb61 dccp_set_state +EXPORT_SYMBOL_GPL net/dccp/dccp 0x2942459a dccp_death_row +EXPORT_SYMBOL_GPL net/dccp/dccp 0x29a59632 dccp_reqsk_init +EXPORT_SYMBOL_GPL net/dccp/dccp 0x33128c46 dccp_create_openreq_child +EXPORT_SYMBOL_GPL net/dccp/dccp 0x35ef0fbf dccp_parse_options +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3823b18f dccp_close +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3889d1e2 dccp_rcv_state_process +EXPORT_SYMBOL_GPL net/dccp/dccp 0x3d476bc8 dccp_sendmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0x4cdd391d dccp_feat_list_purge +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59190413 dccp_init_sock +EXPORT_SYMBOL_GPL net/dccp/dccp 0x59814a84 dccp_statistics +EXPORT_SYMBOL_GPL net/dccp/dccp 0x61ba803c dccp_connect +EXPORT_SYMBOL_GPL net/dccp/dccp 0x78e1e15f dccp_rcv_established +EXPORT_SYMBOL_GPL net/dccp/dccp 0x79f7de94 dccp_feat_signal_nn_change +EXPORT_SYMBOL_GPL net/dccp/dccp 0x7a10eb29 dccp_done +EXPORT_SYMBOL_GPL net/dccp/dccp 0x80140b74 dccp_sync_mss +EXPORT_SYMBOL_GPL net/dccp/dccp 0x80993155 dccp_timestamp +EXPORT_SYMBOL_GPL net/dccp/dccp 0x86be7924 dccp_packet_name +EXPORT_SYMBOL_GPL net/dccp/dccp 0x916d45e1 dccp_hashinfo +EXPORT_SYMBOL_GPL net/dccp/dccp 0x93d30afe dccp_send_ack +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9598d24d dccp_ackvec_parsed_cleanup +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9e285dcb dccp_shutdown +EXPORT_SYMBOL_GPL net/dccp/dccp 0x9fc85548 dccp_check_req +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa1003d8c dccp_ctl_make_reset +EXPORT_SYMBOL_GPL net/dccp/dccp 0xa647f296 dccp_getsockopt +EXPORT_SYMBOL_GPL net/dccp/dccp 0xaccc0f55 dccp_poll +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb1ff8e81 dccp_make_response +EXPORT_SYMBOL_GPL net/dccp/dccp 0xb8c08834 dccp_disconnect +EXPORT_SYMBOL_GPL net/dccp/dccp 0xd75b7072 dccp_orphan_count +EXPORT_SYMBOL_GPL net/dccp/dccp 0xda640c78 dccp_send_sync +EXPORT_SYMBOL_GPL net/dccp/dccp 0xe12c10fd inet_dccp_listen +EXPORT_SYMBOL_GPL net/dccp/dccp 0xea536b7c dccp_recvmsg +EXPORT_SYMBOL_GPL net/dccp/dccp 0xf733f9ec dccp_ioctl +EXPORT_SYMBOL_GPL net/dccp/dccp 0xfec6e099 dccp_child_process +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x16a4a0bc dccp_v4_do_rcv +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x637cad7f dccp_v4_request_recv_sock +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0x9a9ed685 dccp_v4_conn_request +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xcb814471 dccp_v4_connect +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xee8bf0a8 dccp_invalid_packet +EXPORT_SYMBOL_GPL net/dccp/dccp_ipv4 0xfeb19801 dccp_v4_send_check +EXPORT_SYMBOL_GPL net/ife/ife 0x6210e871 ife_tlv_meta_next +EXPORT_SYMBOL_GPL net/ife/ife 0x67db2029 ife_tlv_meta_decode +EXPORT_SYMBOL_GPL net/ife/ife 0xa29e56cd ife_encode +EXPORT_SYMBOL_GPL net/ife/ife 0xe7888e98 ife_tlv_meta_encode +EXPORT_SYMBOL_GPL net/ife/ife 0xe818a25e ife_decode +EXPORT_SYMBOL_GPL net/ipv4/esp4 0x23d3b193 esp_output_head +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xd0e5e4a2 esp_input_done2 +EXPORT_SYMBOL_GPL net/ipv4/esp4 0xdef39f68 esp_output_tail +EXPORT_SYMBOL_GPL net/ipv4/gre 0x1e99a834 gre_add_protocol +EXPORT_SYMBOL_GPL net/ipv4/gre 0xb7ba6974 gre_del_protocol +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x0e5424ff inet_sk_diag_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x1da576a2 inet_diag_msg_attrs_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x410e0c59 inet_diag_dump_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x54274f7e inet_diag_dump_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x572111c9 inet_diag_find_one_icsk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x5c4e13ca inet_diag_bc_sk +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0x7bcf278b inet_diag_register +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xd6c80373 inet_diag_msg_common_fill +EXPORT_SYMBOL_GPL net/ipv4/inet_diag 0xf8f76fe7 inet_diag_unregister +EXPORT_SYMBOL_GPL net/ipv4/ip_gre 0x1170f014 gretap_fb_dev_create +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x117e0254 ip_md_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x1187231c ip_tunnel_init_net +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x1734fbf5 ip_tunnel_dellink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x21bf9ad0 ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x2e24cc0a ip_tunnel_uninit +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x3274e5d1 __ip_tunnel_change_mtu +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x5730c84c ip_tunnel_lookup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x72164d62 ip_tunnel_encap_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x82a5a8a1 ip_tunnel_newlink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0x985331dd ip_tunnel_delete_nets +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xac6a8a09 ip_tunnel_init +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xb2e80f15 ip_tunnel_changelink +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xc399c6d2 ip_tunnel_siocdevprivate +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xf0542930 ip_tunnel_ctl +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xf0769c04 ip_tunnel_rcv +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xfab4cfc9 ip_tunnel_setup +EXPORT_SYMBOL_GPL net/ipv4/ip_tunnel 0xfd4f85bb ip_tunnel_xmit +EXPORT_SYMBOL_GPL net/ipv4/netfilter/arp_tables 0xfee78b84 arpt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/ip_tables 0xa6bf4c07 ipt_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0x7e188668 nf_defrag_ipv4_enable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_defrag_ipv4 0xb63768d5 nf_defrag_ipv4_disable +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_dup_ipv4 0xba2dbb4a nf_dup_ipv4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x320b02b0 nf_reject_skb_v4_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x4ee68fe7 nf_reject_ip_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0x6aeb691f nf_reject_skb_v4_tcp_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xa2333191 nf_send_unreach +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xc0549684 nf_send_reset +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xd063b863 nf_reject_iphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_reject_ipv4 0xd373b4b5 nf_reject_ip_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_socket_ipv4 0x072c67bb nf_sk_lookup_slow_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x0e02e284 nf_tproxy_handle_time_wait4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0x0e4b01de nf_tproxy_get_sock_v4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nf_tproxy_ipv4 0xb15a2070 nf_tproxy_laddr4 +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0xac2aeb13 nft_fib4_eval +EXPORT_SYMBOL_GPL net/ipv4/netfilter/nft_fib_ipv4 0xbd370dbb nft_fib4_eval_type +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x19406579 tcp_vegas_init +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x5c81cbfe tcp_vegas_get_info +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0x8a0aaec2 tcp_vegas_pkts_acked +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xa1bfb1c6 tcp_vegas_state +EXPORT_SYMBOL_GPL net/ipv4/tcp_vegas 0xc1dd17b0 tcp_vegas_cwnd_event +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x231313de setup_udp_tunnel_sock +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x34e5efb1 udp_tunnel_xmit_skb +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x8920f990 udp_tunnel_sock_release +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0x8aeecebe udp_tunnel_notify_add_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xa32b1960 udp_tunnel_drop_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xbac21a55 udp_tunnel_push_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xd3fb12d8 udp_tunnel_notify_del_rx_port +EXPORT_SYMBOL_GPL net/ipv4/udp_tunnel 0xd8cc0ab7 udp_tun_rx_dst +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x3a255ba3 esp6_output_head +EXPORT_SYMBOL_GPL net/ipv6/esp6 0x50f83433 esp6_output_tail +EXPORT_SYMBOL_GPL net/ipv6/esp6 0xb4f93305 esp6_input_done2 +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xaf52c8d3 ip6_tnl_xmit_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xd9961b0d ip6_tnl_rcv_ctl +EXPORT_SYMBOL_GPL net/ipv6/ip6_tunnel 0xe8bd8229 ip6_tnl_encap_setup +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0x06f665b3 udp_sock_create6 +EXPORT_SYMBOL_GPL net/ipv6/ip6_udp_tunnel 0xab16afbb udp_tunnel6_xmit_skb +EXPORT_SYMBOL_GPL net/ipv6/netfilter/ip6_tables 0x0ea20832 ip6t_alloc_initial_table +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0x88c632bf nf_ct_frag6_gather +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0xbf9f3c99 nf_defrag_ipv6_disable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_defrag_ipv6 0xcf1bfde6 nf_defrag_ipv6_enable +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_dup_ipv6 0xe29342c5 nf_dup_ipv6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x2e131dff nf_reject_skb_v6_tcp_reset +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x63dc1488 nf_reject_skb_v6_unreach +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x676cf5b8 nf_send_reset6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0x7f644486 nf_send_unreach6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xa5a603a7 nf_reject_ip6hdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xd0621ffc nf_reject_ip6_tcphdr_put +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_reject_ipv6 0xe267589e nf_reject_ip6_tcphdr_get +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_socket_ipv6 0x804bc6d2 nf_sk_lookup_slow_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0x4117691d nf_tproxy_get_sock_v6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xd08d67a6 nf_tproxy_handle_time_wait6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nf_tproxy_ipv6 0xd3aaa2fc nf_tproxy_laddr6 +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0x05442dfa nft_fib6_eval_type +EXPORT_SYMBOL_GPL net/ipv6/netfilter/nft_fib_ipv6 0xe558cef8 nft_fib6_eval +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x0104ada4 l2tp_udp_encap_recv +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x0b0467ce l2tp_session_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x28f90368 l2tp_session_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x2a149677 l2tp_tunnel_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x374588ac l2tp_session_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x43ddd09b l2tp_session_get_by_ifname +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x4e23908c l2tp_tunnel_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x57cd1b18 l2tp_sk_to_tunnel +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x594d02ec l2tp_session_set_header_len +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x697549f3 l2tp_tunnel_dec_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x7012d4df l2tp_tunnel_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x845c4273 l2tp_tunnel_get_session +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0x8b8d2467 l2tp_xmit_skb +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xa1ec6a49 l2tp_tunnel_register +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xcfa2e83f l2tp_tunnel_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xd126663f l2tp_tunnel_inc_refcount +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe1470fc9 l2tp_session_get_nth +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe21d3810 l2tp_session_delete +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xe5764626 l2tp_session_create +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xf5839bfd l2tp_recv_common +EXPORT_SYMBOL_GPL net/l2tp/l2tp_core 0xffcfd047 l2tp_session_get +EXPORT_SYMBOL_GPL net/l2tp/l2tp_ip 0x08d51779 l2tp_ioctl +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x2f851c9a l2tp_nl_register_ops +EXPORT_SYMBOL_GPL net/l2tp/l2tp_netlink 0x337f2432 l2tp_nl_unregister_ops +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x3551c2e0 mpls_stats_inc_outucastpkts +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x4a818fbc nla_put_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x7670b536 nla_get_labels +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x80f45883 mpls_dev_mtu +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0x9fb67840 mpls_output_possible +EXPORT_SYMBOL_GPL net/mpls/mpls_router 0xeb3aa870 mpls_pkt_too_big +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x077be71b ip_set_del +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x0b2310aa ip_set_alloc +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x0b902862 ip_set_get_byname +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x1f8d90dd ip_set_get_ip4_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22ca4d90 ip_set_put_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x22d966c6 ip_set_range_to_cidr +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x397f6231 ip_set_free +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x658d5503 ip_set_name_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x67fef8d6 ip_set_match_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x68a212ac ip_set_elem_len +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x6bba926d ip_set_type_unregister +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x73680bde ip_set_nfnl_get_byindex +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x748a13e6 ip_set_add +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7924b6de ip_set_hostmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x7d46bee6 ip_set_init_comment +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x81fff2d1 ip_set_netmask_map +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x856f0f28 ip_set_put_flags +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x8c6fc80c ip_set_test +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x8fe377d5 ip_set_get_ip6_port +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x917edd6b ip_set_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0x9e98722b ip_set_get_ipaddr6 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xa293f8a6 ip_set_get_ipaddr4 +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xac870bac ip_set_put_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xbd97dbdf ip_set_nfnl_put +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xdd5fb092 ip_set_type_register +EXPORT_SYMBOL_GPL net/netfilter/ipset/ip_set 0xf6550d22 ip_set_get_extensions +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0x382fe4f7 register_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xcf686279 ip_vs_conn_out_get_proto +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xde3f4d40 unregister_ip_vs_pe +EXPORT_SYMBOL_GPL net/netfilter/ipvs/ip_vs 0xfc32b6c7 ip_vs_conn_in_get_proto +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x0bc50bda nf_conncount_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x419ab422 nf_conncount_list_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x5ebc5baa nf_conncount_gc_list +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0x9226f59b nf_conncount_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xb27e819e nf_conncount_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xe0081c0d nf_conncount_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conncount 0xf808bf82 nf_conncount_cache_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x009b0ba8 nf_conntrack_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x03f4081f nf_ct_l4proto_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x07533fc4 nf_ct_netns_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0bc00f80 nf_nat_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x0d0ab264 nf_ct_ecache_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x10df75ec nf_ct_bridge_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x121f39c4 nf_ct_tmpl_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x187c5234 nf_ct_helper_log +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1c328230 nf_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1c9b791e nf_ct_tcp_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x1f8085c5 nf_ct_untimeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x2163b8c4 __nf_ct_try_assign_helper +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x289c3714 nf_ct_alloc_hashtable +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x28eff409 nf_conntrack_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x29185707 nf_connlabels_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x35a3e323 nf_conntrack_alter_reply +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x3856c6f1 nf_ct_get_id +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x406587a6 nf_ct_delete +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x41d57cf9 nf_ct_netns_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x44b56ca7 nf_conntrack_in +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x47b1caaf nf_ct_get_tuplepr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4d5023b0 nf_conntrack_unregister_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x4f77183f nf_ct_port_tuple_to_nlattr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5001fe9f nf_connlabels_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x517f7b79 nf_ct_unlink_expect_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x53ec0466 nf_ct_iterate_cleanup_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x543e8d1b __nf_ct_expect_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5724c8dd nf_ct_expect_iterate_net +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x5a2a34be nf_ct_helper_expectfn_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x63238b91 nf_ct_expect_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6395f596 nf_ct_gre_keymap_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x693c3961 nf_ct_helper_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6ad2844b nf_ct_expect_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6ba3e52a nf_ct_seq_offset +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x6f7fb637 nf_connlabels_replace +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x70692311 nf_ct_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x712e5de2 nf_ct_seqadj_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x720aafd1 nf_ct_expect_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x736fc1ec nf_nat_helper_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7464ea02 nf_ct_expect_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x753018b2 nf_conntrack_tuple_taken +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7c558948 nf_ct_deliver_cached_events +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7dd5de6e nf_ct_helper_expectfn_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x7f5efd95 nf_ct_helper_expectfn_find_by_name +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x81f8a58b nf_conntrack_eventmask_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x82e2533e nf_nat_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x82eb3043 nf_ct_remove_expect +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8bbac2e1 __nf_conntrack_helper_find +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8cf75202 nf_conntrack_helper_try_module_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8e878af4 nf_ct_remove_expectations +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x8ffe7e89 nf_conntrack_htable_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x955d3420 nf_ct_seq_adjust +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9727aac4 nf_conntrack_register_notifier +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0x9d289c5f nf_ct_helper_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa1ef7638 nf_ct_gre_keymap_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa3af66cf nf_conntrack_helpers_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xa92edc97 nf_conntrack_helper_put +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xae6f48e4 nf_nat_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xafbd6cf5 nf_ct_port_nlattr_to_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb5b5ec31 nf_conntrack_find_get +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xb85ab854 __nf_conntrack_confirm +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbac4e149 nf_conntrack_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbbd9ffa6 nf_ct_unexpect_related +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xbf7af3e9 nf_ct_set_auto_assign_helper_warned +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc18ac88d nf_ct_expect_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc40f284c nf_ct_helper_hsize +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xc57b5213 nf_ct_acct_add +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcc991475 nf_ct_expect_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xcd6002ad nf_ct_set_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xce4655bc nf_ct_iterate_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xceaaac37 nf_conntrack_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd146c2bf nf_conntrack_free +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd263b463 nf_ct_kill_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd3a3e3db __nf_ct_refresh_acct +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd43c40c8 nf_ct_timeout_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd505c3e0 nf_ct_port_nlattr_tuple_size +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd8be3074 nf_ct_expect_related_report +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xd9cc99d7 nf_conntrack_expect_lock +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdf0aed48 nf_ct_port_nla_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xdfc2f62d nf_ct_helper_expectfn_find_by_symbol +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe17c4e15 nf_ct_helper_init +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe7304601 nf_conntrack_count +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe75e99ae nf_l4proto_log_invalid +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe7b3081e nf_ct_seqadj_set +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xe8850102 nf_conntrack_helper_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xec8beba6 nf_ct_expect_hash +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf1b078aa nf_ct_destroy_timeout +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf24e79d8 nf_conntrack_locks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf38bcdf3 nf_conntrack_max +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf5b5df5e nf_ct_tmpl_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf63d234f nf_ct_bridge_unregister +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xf890c2df nf_conntrack_helpers_register +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfd3bcf7a nf_conn_pernet_ecache +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe693ec5 nf_conntrack_hash_check_insert +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack 0xfe731af8 nf_ct_invert_tuple +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_amanda 0xdb368ec0 nf_nat_amanda_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_broadcast 0x2aba7025 nf_conntrack_broadcast_help +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_ftp 0x094715b7 nf_nat_ftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x287da606 get_h225_addr +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x3a718b08 set_h245_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x4e04821a nat_callforwarding_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x7766a68f nat_t120_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x82627c8f nat_h245_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x8b8b009f nat_rtp_rtcp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0x90b83307 set_sig_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xb5a9a050 nat_q931_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xc25609c0 set_h225_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_h323 0xdbdefd08 set_ras_addr_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_irc 0x8aa11a42 nf_nat_irc_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_pptp 0xdb367eca nf_nat_pptp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x321df461 ct_sip_get_sdp_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4ea9e9da ct_sip_parse_numerical_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x4f0c70f6 ct_sip_get_header +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0x7576986d ct_sip_parse_request +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xaf4a9e16 ct_sip_parse_address_param +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xb01f77a8 nf_nat_sip_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_sip 0xea0597fe ct_sip_parse_header_uri +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_snmp 0xa6f00082 nf_nat_snmp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_conntrack_tftp 0xc0d7f98e nf_nat_tftp_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x1183ddec nf_dup_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0x428074f9 nft_fwd_dup_netdev_offload +EXPORT_SYMBOL_GPL net/netfilter/nf_dup_netdev 0xa8caa24b nf_fwd_netdev_egress +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x1854a625 flow_offload_teardown +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x1c1de6f7 nf_flow_table_offload_setup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x1fe1db19 flow_offload_alloc +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x28572f3d flow_offload_add +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x2dbe365b flow_offload_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x338eda62 nf_flow_snat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x34fbfe07 nf_flow_rule_route_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x3ff8a06a nf_flow_offload_ip_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x67a5e900 nf_flow_table_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x6892d65a flow_offload_refresh +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x8be6b968 nf_flow_table_cleanup +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x8c1de402 nf_flow_rule_route_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0x9f0a2732 flow_offload_free +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xb9e94530 nf_flow_offload_ipv6_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xc2e4f6c3 nf_flow_table_init +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xce7cf5ed nf_flow_dnat_port +EXPORT_SYMBOL_GPL net/netfilter/nf_flow_table 0xe432e9b4 flow_offload_route_init +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x028c9aaa nf_nat_inet_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x0310b249 nf_nat_ipv6_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x049bdca1 nf_nat_ipv4_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x1d531d3b nf_nat_ipv4_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x21fe2f0b nf_nat_ipv6_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x34cb46f0 nf_nat_masquerade_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x3bc17c49 nf_nat_masquerade_inet_register_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x5923f61e nf_nat_alloc_null_binding +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x68d4bc2b nf_nat_masquerade_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0x96e83a6f nf_nat_redirect_ipv4 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xa48fd832 nf_ct_nat_ext_add +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xbb96a102 nf_nat_packet +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xc46297f1 nf_nat_redirect_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xc8fcf9b7 nf_nat_icmpv6_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xd9c25654 nf_nat_masquerade_inet_unregister_notifiers +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xe687a635 nf_nat_inet_unregister_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xf3f083a1 nf_nat_inet_register_fn +EXPORT_SYMBOL_GPL net/netfilter/nf_nat 0xf9286568 nf_nat_icmp_reply_translation +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x1f099794 synproxy_init_timestamp_cookie +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x3e8690c9 nf_synproxy_ipv4_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x4a3d869a synproxy_send_client_synack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x5da9d4e5 nf_synproxy_ipv6_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x642b9613 synproxy_recv_client_ack_ipv6 +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x959acdb7 synproxy_recv_client_ack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0x9f67d74c ipv6_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xa097fe78 synproxy_send_client_synack +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xb54d3e5e nf_synproxy_ipv6_init +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xca9fc082 synproxy_net_id +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xce69f78d synproxy_parse_options +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xd6627a72 nf_synproxy_ipv4_fini +EXPORT_SYMBOL_GPL net/netfilter/nf_synproxy_core 0xf9c6e5ce ipv4_synproxy_hook +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x06c6ca47 nft_meta_policy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x08082752 nft_data_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0a19d464 nf_tables_destroy_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x0a85691b nft_register_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x106a2a35 nft_meta_get_dump +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x113ae551 nf_tables_deactivate_flowtable +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2084ee76 nft_meta_set_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2246a628 nf_tables_bind_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x246b59ce nft_reg_track_update +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2aec4316 __nft_release_basechain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x2c8dfa01 nft_register_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x3251d762 nf_tables_trans_destroy_flush_work +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x34cf1702 __nft_reg_track_cancel +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x38191dfe nf_tables_activate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x39829324 nft_data_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x41b71e65 nft_trace_enabled +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x439db33d nft_parse_register_store +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x491d4eaa nft_chain_validate_dependency +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x4d661e2e nft_obj_notify +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5612ba9e nft_data_release +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x5fcd4f06 nft_unregister_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x71e67cbf nft_set_elem_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x743f2714 nft_meta_set_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x74d839aa nft_dump_register +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8411dc76 nft_chain_validate_hooks +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x851392e1 nft_meta_get_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8826a319 nft_chain_validate +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8bbb5a07 nft_meta_set_destroy +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x8fae04ce nft_obj_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x91b025c6 nft_set_lookup_global +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9313d396 nft_reg_track_cancel +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9365ba40 nft_set_catchall_gc +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0x9fa276b6 nft_unregister_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa9163db5 nf_tables_deactivate_set +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xa9c58b5a nft_do_chain +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xae530522 nft_register_chain_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xae9f2c35 nft_set_catchall_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xb8d8021c nft_flowtable_lookup +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xbbea5534 nft_unregister_expr +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xc0687ebf nft_expr_reduce_bitwise +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xd207504a nft_meta_set_eval +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xda4b786c nft_meta_get_reduce +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xda575e37 nft_request_module +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xde57b5f5 nft_parse_u32_check +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe2b8cc13 nft_parse_register_load +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xe43f56e1 nft_register_flowtable_type +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf664bf7b nft_unregister_obj +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xf98edc76 nft_meta_get_init +EXPORT_SYMBOL_GPL net/netfilter/nf_tables 0xfa824f95 nft_meta_set_dump +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x0ca7eaa7 nfnetlink_subsys_register +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x50259bfe nfnetlink_has_listeners +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x5ce3b588 nfnl_lock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0x622ca72a nfnetlink_subsys_unregister +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xa7dd03b5 nfnetlink_broadcast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xc0cb5ba8 nfnetlink_set_err +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xc6d2cb26 nfnetlink_send +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xdb065657 nfnl_unlock +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink 0xe91cc5f2 nfnetlink_unicast +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0x6bd81b60 nfnl_acct_overquota +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xb233e6bb nfnl_acct_find_get +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xbecf5d14 nfnl_acct_put +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_acct 0xc16fe720 nfnl_acct_update +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x0fd8e223 nf_osf_match +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x148a0792 nf_osf_find +EXPORT_SYMBOL_GPL net/netfilter/nfnetlink_osf 0x35eff5e0 nf_osf_fingers +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x2267e9e0 nft_fib_init +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x3b06fe22 nft_fib_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x62764971 nft_fib_reduce +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0x6478e1b7 nft_fib_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_fib 0xf1c52510 nft_fib_store_result +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x03bc4458 nft_reject_dump +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x1de558c1 nft_reject_icmpv6_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0x6081751d nft_reject_policy +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xbaf4d484 nft_reject_validate +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xe2c84666 nft_reject_icmp_code +EXPORT_SYMBOL_GPL net/netfilter/nft_reject 0xe55cf611 nft_reject_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x04e27719 xt_compat_flush_offsets +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x076f8dd9 xt_register_template +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x137058f7 xt_unregister_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x1cacf04b xt_check_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x25abbea7 xt_compat_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x36f203de xt_match_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x39745cbd xt_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x3d6c3919 xt_register_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x52391c10 xt_proto_init +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5561e10b xt_compat_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x5e85b4e9 xt_replace_table +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6600ba26 xt_compat_target_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x6d68b2f0 xt_target_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x7bce4603 xt_data_to_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x807d2b2c xt_recseq +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x823edea5 xt_compat_add_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x86b5d0df xt_compat_match_offset +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x8c697118 xt_compat_target_from_user +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9c995c69 xt_percpu_counter_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0x9d6d17b9 xt_unregister_template +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xa7c94f1d xt_compat_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xb846a827 xt_hook_ops_alloc +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbd3dd5cb xt_request_find_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xbfacb837 xt_percpu_counter_free +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc7fae024 xt_compat_calc_jump +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xc9ffa2c3 xt_request_find_target +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd1e246a2 xt_compat_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd3fcc511 xt_tee_enabled +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xd9bb821b xt_copy_counters +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xddf68fc6 xt_find_revision +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xec5e2ad9 xt_proto_fini +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf0ca49b0 xt_check_match +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf79e0a7f xt_table_unlock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xf8261fec xt_request_find_table_lock +EXPORT_SYMBOL_GPL net/netfilter/x_tables 0xfc078fce xt_compat_match_from_user +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0x8de17cd4 xt_rateest_put +EXPORT_SYMBOL_GPL net/netfilter/xt_RATEEST 0xd931774c xt_rateest_lookup +EXPORT_SYMBOL_GPL net/nsh/nsh 0x2f4933df nsh_pop +EXPORT_SYMBOL_GPL net/nsh/nsh 0xf3bf6fce nsh_push +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x6e99d25a ovs_vport_free +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x7407ea06 ovs_vport_alloc +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x7cbb294a ovs_netdev_link +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0x84118531 __ovs_vport_ops_register +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xbebf9b22 ovs_vport_ops_unregister +EXPORT_SYMBOL_GPL net/openvswitch/openvswitch 0xf42a0105 ovs_netdev_tunnel_destroy +EXPORT_SYMBOL_GPL net/psample/psample 0x32e5a7d6 psample_group_take +EXPORT_SYMBOL_GPL net/psample/psample 0x59a4eee5 psample_group_get +EXPORT_SYMBOL_GPL net/psample/psample 0x5e595bb2 psample_sample_packet +EXPORT_SYMBOL_GPL net/psample/psample 0xa702b5e3 psample_group_put +EXPORT_SYMBOL_GPL net/rds/rds 0x00a467af rds_wq +EXPORT_SYMBOL_GPL net/rds/rds 0x0a098516 rds_send_ping +EXPORT_SYMBOL_GPL net/rds/rds 0x183a81ca rds_info_deregister_func +EXPORT_SYMBOL_GPL net/rds/rds 0x29b41617 rds_rdma_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x2b0d543c rds_message_add_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x2faf00af rds_send_path_reset +EXPORT_SYMBOL_GPL net/rds/rds 0x36087aa4 rds_stats +EXPORT_SYMBOL_GPL net/rds/rds 0x3c73d17b rds_conn_path_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x3daad63e rds_inc_path_init +EXPORT_SYMBOL_GPL net/rds/rds 0x45a4781e rds_addr_cmp +EXPORT_SYMBOL_GPL net/rds/rds 0x469e651f rds_conn_create +EXPORT_SYMBOL_GPL net/rds/rds 0x4ba4914e rds_message_unmapped +EXPORT_SYMBOL_GPL net/rds/rds 0x5129c454 rds_send_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x582fe5cf rds_message_add_rdma_dest_extension +EXPORT_SYMBOL_GPL net/rds/rds 0x585f567b rds_message_populate_header +EXPORT_SYMBOL_GPL net/rds/rds 0x5f220eb2 rds_conn_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x67c7cdac rds_conn_path_connect_if_down +EXPORT_SYMBOL_GPL net/rds/rds 0x68fc68a5 rds_send_path_drop_acked +EXPORT_SYMBOL_GPL net/rds/rds 0x6e832a31 rds_connect_path_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x7b399e66 rds_page_remainder_alloc +EXPORT_SYMBOL_GPL net/rds/rds 0x7bc92bcc rds_message_addref +EXPORT_SYMBOL_GPL net/rds/rds 0x8dbcdb85 rds_inc_init +EXPORT_SYMBOL_GPL net/rds/rds 0x8debe465 rds_cong_map_updated +EXPORT_SYMBOL_GPL net/rds/rds 0x8f7559e8 rds_recv_incoming +EXPORT_SYMBOL_GPL net/rds/rds 0x90621300 rds_conn_drop +EXPORT_SYMBOL_GPL net/rds/rds 0x937a7916 rds_atomic_send_complete +EXPORT_SYMBOL_GPL net/rds/rds 0x9777b9fa rds_conn_create_outgoing +EXPORT_SYMBOL_GPL net/rds/rds 0xab6c7e53 rds_trans_register +EXPORT_SYMBOL_GPL net/rds/rds 0xaf14477a rds_send_xmit +EXPORT_SYMBOL_GPL net/rds/rds 0xbba1ef62 rds_conn_destroy +EXPORT_SYMBOL_GPL net/rds/rds 0xbd7e952b rds_for_each_conn_info +EXPORT_SYMBOL_GPL net/rds/rds 0xc1afd5c8 rds_connect_complete +EXPORT_SYMBOL_GPL net/rds/rds 0xc2dab779 rds_info_copy +EXPORT_SYMBOL_GPL net/rds/rds 0xce2fd170 rds_trans_unregister +EXPORT_SYMBOL_GPL net/rds/rds 0xcf6406b5 rds_info_register_func +EXPORT_SYMBOL_GPL net/rds/rds 0xdcbbaa85 rds_message_put +EXPORT_SYMBOL_GPL net/rds/rds 0xe71d9b6b rds_inc_put +EXPORT_SYMBOL_GPL net/rds/rds 0xf1bbab74 rds_stats_info_copy +EXPORT_SYMBOL_GPL net/sched/sch_pie 0x6ce9b467 pie_calculate_probability +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xbde49020 pie_drop_early +EXPORT_SYMBOL_GPL net/sched/sch_pie 0xd403b948 pie_process_dequeue +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0x3aef7c97 taprio_offload_get +EXPORT_SYMBOL_GPL net/sched/sch_taprio 0x3dff2951 taprio_offload_free +EXPORT_SYMBOL_GPL net/sctp/sctp 0x40828f10 sctp_for_each_endpoint +EXPORT_SYMBOL_GPL net/sctp/sctp 0x58ab41a9 sctp_transport_lookup_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0xa42e5a8d sctp_transport_traverse_process +EXPORT_SYMBOL_GPL net/sctp/sctp 0xfe401807 sctp_get_sctp_info +EXPORT_SYMBOL_GPL net/smc/smc 0x1ace6f2a smc_proto +EXPORT_SYMBOL_GPL net/smc/smc 0x2e557d2b smc_proto6 +EXPORT_SYMBOL_GPL net/smc/smc 0x560c16bc smcd_alloc_dev +EXPORT_SYMBOL_GPL net/smc/smc 0x58e053dd smc_unhash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x6d45d91d smc_hash_sk +EXPORT_SYMBOL_GPL net/smc/smc 0x97640d1d smcd_unregister_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xb3a831c4 smcd_register_dev +EXPORT_SYMBOL_GPL net/smc/smc 0xdb5c7084 smcd_handle_event +EXPORT_SYMBOL_GPL net/smc/smc 0xde7aa530 smcd_handle_irq +EXPORT_SYMBOL_GPL net/smc/smc 0xe6852272 smcd_free_dev +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x17f5dc95 svcauth_gss_register_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x38d3dce5 g_make_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x482ac5a4 g_token_size +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0x7dfb3517 gss_mech_register +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xd7673035 g_verify_token_header +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xdfd643f7 svcauth_gss_flavor +EXPORT_SYMBOL_GPL net/sunrpc/auth_gss/auth_rpcgss 0xf1f748c0 gss_mech_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x02a32d8d rpc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03091d90 sunrpc_cache_lookup_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x033e2b2e svc_reg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03457d75 xdr_reserve_space_vec +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x03de555d svc_rpcb_setup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x043756cb sunrpc_cache_register_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05046715 xdr_decode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0512b0f6 xprt_write_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0544e4a2 rpcauth_wrap_req_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0553412b csum_partial_copy_to_xdr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0556c689 rpc_task_release_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x05e807a9 xdr_encode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x065994f1 xdr_encode_opaque_fixed +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0688fad3 rpc_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x08815124 sunrpc_init_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x09ccb0ec rpc_clnt_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0caea99a rpc_put_task_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0cfcdf44 xprt_complete_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0d23386a svc_xprt_names +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0e89fd37 cache_seq_start_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0f3f6094 svc_encode_result_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x0fed4700 xdr_stream_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x103944c1 rpc_init_priority_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x108b467d xdr_read_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x11e6e204 svc_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x134c12d3 svc_find_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x138e9d54 svc_rpcb_cleanup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x15889ae1 xprt_lock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x174a3446 rpc_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1763d91f auth_domain_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1803892c xdr_init_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x18265cfe sunrpc_cache_pipe_upcall_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x189bb24e rpc_clone_client_set_auth +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x189f31dd rpc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1b239d7f xdr_stream_decode_string_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1c1c83d9 rpc_pipe_generic_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1c2a5660 xprt_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e119a79 rpcauth_get_pseudoflavor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1e617675 cache_seq_stop_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x1eb1eaa1 xprt_adjust_cwnd +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x209600e6 xdr_align_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x20b543e5 xdr_write_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x22800ebd rpc_alloc_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x238b18e1 cache_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x24d93355 xprt_disconnect_done +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2545efb7 xdr_buf_trim +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25a39558 xprt_reserve_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x25b8eac6 svc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x26ec89cc xdr_init_decode_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27b93e7a __rpc_wait_for_completion_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x27d1e5db xprt_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2845c4ee rpc_machine_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2919b156 xdr_decode_string_inplace +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2928bd8d rpc_count_iostats_metrics +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2b42693f rpc_sleep_on +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2e6e4073 rpc_clnt_xprt_switch_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x2ff22497 rpcauth_unwrap_resp_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3068df5f xprt_wake_pending_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3136992e svc_reserve +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x31a89d59 rpc_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x326d49fe rpc_remove_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3315fa80 xprt_alloc_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x33a0a105 xprt_wake_up_backlog +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x35c7a532 svc_fill_write_vector +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x36f8c12a rpc_unlink +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x380e6dab rpc_mkpipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x387e1639 rpc_pipefs_notifier_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x39ef1a70 rpc_clnt_swap_deactivate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3a01d96a xdr_enter_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3b1192ca rpc_uaddr2sockaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x3f9a2b0b rpcauth_get_gssinfo +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4322dc50 svcauth_unix_purge +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x439eb20c rpc_net_ns +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x45b5c498 rpc_sleep_on_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x489c2113 svc_auth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4afedab1 xprtiod_workqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4b9319bf rpc_init_pipe_dir_head +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4c8e2a6f svc_drop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4d0add9a xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4dac77f0 xdr_encode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x4e8f6ca7 sunrpc_net_id +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x504de011 rpcauth_init_cred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x522d594a cache_unregister_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x53445f68 nlm_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x55d263a1 svc_xprt_copy_addrs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x568f7b4a rpc_call_start +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x573e26a5 __xdr_commit_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5923db58 xprt_reconnect_delay +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5a45ba31 svc_auth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5bdca5e6 svc_xprt_deferred_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x5c52c7db rpc_add_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x61b6569f xdr_expand_hole +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x62b2a0ca write_bytes_to_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6327debc xdr_stream_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x64386673 svcauth_unix_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x652c0c1e xprt_lookup_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x67547fe8 xdr_inline_decode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a19fb08 rpcauth_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a614780 rpcauth_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6a88bff5 svc_authenticate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6acdbde8 _copy_from_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6cce4ebd xdr_page_pos +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6ceb44b8 rpc_clnt_xprt_switch_has_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6cf221fc rpc_clone_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e5dc23c xprt_reconnect_backoff +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e8c5b0b xprt_request_get_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6e9516ec rpc_free_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6eeed8e5 rpc_get_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6f356271 rpc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x6f6e962f rpc_count_iostats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x71fa908a cache_flush +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72a68eb7 xdr_init_encode +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x72f98eec rpc_init_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x737e70b7 xprt_wait_for_reply_request_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7450195e svc_wake_up +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x761d9e32 cache_check +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x77163265 rpcauth_destroy_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x773274e0 svc_sock_update_bufs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7923a64c rpc_mkpipe_dentry +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x79fbe5d8 xprt_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7c75aa83 sunrpc_cache_unregister_pipefs +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7cf4f9ce svc_age_temp_xprts_now +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d5bb6e6 read_bytes_from_xdr_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d7541bf rpc_wake_up_queued_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7d79319f rpc_clnt_iterate_for_each_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7dd83a2c xdr_stream_decode_opaque_dup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7de53067 rpc_init_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e2687dd svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x7e7e82dc rpc_localaddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x800a6e53 svc_unreg_xprt_class +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x851a254e rpc_restart_call +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x85cc37ad rpc_wake_up_status +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x85dbc25f svc_rqst_free +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x86133709 rpc_wake_up_next +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x867c401c xprt_pin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x87483160 svc_rpcbind_set_version +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x877088c9 xdr_decode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x88420c38 cache_register_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x894c2b1c rpc_malloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8a95ae22 rpc_set_connect_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ba545da xprt_release_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8c4ecf49 xdr_stream_decode_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ca27beb svc_xprt_init +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8ca70513 rpc_setbufsize +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8e0b25e4 rpcauth_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8eb8077e svc_xprt_received +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8f8219d7 rpc_exit +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x8fab1b96 xprt_free_slot +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9231d331 svc_recv +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x944db1a5 gssd_running +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9459b7ba rpc_force_rebind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9472e08a rpc_ntop +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x95ff9306 rpc_bind_new_program +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x984a5c52 put_rpccred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9c68cf81 xdr_terminate_string +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9d451cdb xprt_register_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9dda1a92 rpc_prepare_reply_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ebb2eac svc_xprt_close +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0x9ee5d441 cache_seq_next_rcu +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa2690941 sunrpc_cache_unhash +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa4cbe416 rpc_clnt_swap_activate +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa53087af auth_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa657af63 rpc_find_or_alloc_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa8002835 xdr_shift_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa822fd8b rpc_destroy_pipe_data +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xa935a71d rpc_num_bc_slots +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaa44cf43 rpc_call_sync +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaafeefc5 rpcauth_lookupcred +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xab54329a xdr_encode_word +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaef37bb8 rpc_proc_register +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xaf5bf6ef nfs_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb1b9b84c svc_alien_sock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb3ce8e34 rpcb_getport_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb51a3724 rpc_pipefs_notifier_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb7adf6c1 rpc_peeraddr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xb9b4a22f svc_xprt_destroy_all +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbaa3389d xdr_process_buf +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbadf287e rpc_init_pipe_dir_object +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbb4c5672 rpc_max_bc_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbccf1335 rpc_wake_up_first +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbcf0e7fb rpc_put_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbdaecc48 svc_max_payload +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf1f5d1c svc_exit_thread +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xbf9d1b96 nfsd_debug +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc0908dd0 svc_destroy +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc0e9ceae rpc_switch_client_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc0fb8631 unix_domain_find +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc11bfdc0 svc_set_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc12435e3 rpc_calc_rto +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc26a8f71 rpc_run_task +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc455b321 svc_generic_init_request +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5b6674e auth_domain_lookup +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc5e81c38 xprt_wait_for_reply_request_def +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6e24414 svc_seq_show +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc6eafabc rpc_d_lookup_sb +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc8e96dea qword_addhex +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xc98c8611 rpc_clnt_setup_test_and_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcbfe7076 xprt_destroy_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcc33b60b sunrpc_destroy_cache_detail +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xcd8e418b xprt_reserve_xprt_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xce678a59 xdr_decode_netobj +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xceca590e rpc_peeraddr2str +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd00c48fe xprt_unpin_rqst +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd02e525a cache_destroy_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd0c9a82e xdr_inline_pages +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd10247be xprt_add_backlog +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd1d0d471 cache_create_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd1feb290 svc_rqst_replace_page +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd2648389 xdr_buf_from_iov +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd3079e3a rpc_task_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd41d9991 xprt_release_rqst_cong +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd742e06c rpc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xd7b9a2ca svc_addsock +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xda177d39 rpc_release_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdadbe549 rpcauth_init_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdb8fc857 rpc_call_async +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdc95e6d9 svc_generic_rpcbind_set +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd607614 xprt_setup_backchannel +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdd691402 xprt_find_transport_ident +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdf026468 rpc_call_null +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xdfa636d4 rpc_clnt_add_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1768935 xdr_stream_decode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe1c4c2c3 rpc_restart_call_prepare +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe2161c26 svc_xprt_enqueue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe385db71 bc_svc_process +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe3f3c8a8 rpc_queue_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe456b24a xprt_release_xprt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe5919cb1 xdr_encode_opaque +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe6491beb svc_set_num_threads +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe64beb62 svc_xprt_create +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe717a60a xprt_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe82737b9 svc_fill_symlink_pathname +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe8c0411d svc_xprt_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe97f4ce5 qword_get +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xe9d55be7 xdr_buf_subsegment +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea2e91f7 rpc_put_sb_net +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xea9e6ce8 svc_bind +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xebbd7cf0 sunrpc_cache_pipe_upcall +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xec9f108e sunrpc_cache_update +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xed6831c4 rpcauth_lookup_credcache +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xedcf6be4 qword_add +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xee8b6063 rpc_clnt_xprt_switch_put +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xeeacab69 rpc_update_rtt +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xef805146 rpc_killall_tasks +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf16a3577 rpc_sleep_on_priority_timeout +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf2cfb327 svc_print_addr +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf45c0b6e rpcauth_stringify_acceptor +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf58400f3 xprt_unregister_transport +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf66d6b2d svc_rqst_alloc +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf73af269 rpc_sleep_on_priority +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf75507a8 rpc_clnt_show_stats +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7a26f79 rpc_pton +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7ae5b62 rpc_shutdown_client +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7ed09b8 svc_create_pooled +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf7fca26f rpc_destroy_wait_queue +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xf89e182b xprt_force_disconnect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb4809f0 xprt_unlock_connect +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfb8d86b6 xdr_encode_array2 +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfd0eef56 svc_proc_unregister +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xfd20ae8f xprt_wait_for_buffer_space +EXPORT_SYMBOL_GPL net/sunrpc/sunrpc 0xff8f86de xdr_reserve_space +EXPORT_SYMBOL_GPL net/tls/tls 0x237ed155 tls_offload_tx_resync_request +EXPORT_SYMBOL_GPL net/tls/tls 0xad9a23e3 tls_encrypt_skb +EXPORT_SYMBOL_GPL net/tls/tls 0xae5d9234 tls_validate_xmit_skb +EXPORT_SYMBOL_GPL net/tls/tls 0xefc45e88 tls_device_sk_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x03a81e69 virtio_transport_stream_allow +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x15148fde virtio_transport_notify_poll_in +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1889585a virtio_transport_destruct +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x1e59706d virtio_transport_release +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2747d8c7 virtio_transport_connect +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x27895295 virtio_transport_notify_recv_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2c6e087c virtio_transport_inc_tx_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x2f82130f virtio_transport_seqpacket_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x343bc260 virtio_transport_notify_poll_out +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x35b17a60 virtio_transport_stream_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x37495166 virtio_transport_do_socket_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x3e3b06ac virtio_transport_stream_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x4ce967b1 virtio_transport_recv_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x50238389 virtio_transport_notify_send_pre_block +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x54dfb0bd virtio_transport_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x6423e82a virtio_transport_seqpacket_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x7fc66f09 virtio_transport_notify_recv_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x917f7467 virtio_transport_notify_buffer_size +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x9719a7c2 virtio_transport_free_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0x9dcc64f0 virtio_transport_shutdown +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb0c24af5 virtio_transport_stream_rcvhiwat +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb0dfa689 virtio_transport_notify_send_post_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xb874dce1 virtio_transport_put_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xbabd30f5 virtio_transport_dgram_allow +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xc0de7ebf virtio_transport_seqpacket_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xc1b77494 virtio_transport_dgram_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xc31b7325 virtio_transport_get_credit +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd062e686 virtio_transport_dgram_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd7edbf66 virtio_transport_notify_recv_pre_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xd825a0b4 virtio_transport_notify_send_pre_enqueue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xea7b4e41 virtio_transport_stream_is_active +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf0a08296 virtio_transport_dgram_bind +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xf60d1613 virtio_transport_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xfc52869f virtio_transport_notify_send_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xfd7b30e3 virtio_transport_notify_recv_post_dequeue +EXPORT_SYMBOL_GPL net/vmw_vsock/vmw_vsock_virtio_transport_common 0xff0046df virtio_transport_deliver_tap_pkt +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0284a52e vsock_remove_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0502908f vsock_core_get_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x0e9bc9b6 vsock_addr_unbind +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x1e47917a vsock_add_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x22c04872 vsock_find_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x284e07d8 vsock_bind_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3999d2d9 vsock_core_unregister +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x3d4b0fca vsock_addr_init +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x484fc1f0 vsock_deliver_tap +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x4b99648c vsock_addr_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x5477a7ee vsock_remove_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x67bb8f12 vsock_remove_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x8afd1169 vsock_enqueue_accept +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x8b708a1a vsock_add_pending +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x90aa8549 vsock_find_cid +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9a0b29f0 vsock_insert_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9bb6fd09 vsock_connected_table +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0x9f20f6ef vsock_for_each_connected_socket +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xaf2674b5 vsock_addr_equals_addr +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb017dc62 vsock_stream_has_data +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb66d6f9b vsock_assign_transport +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xb844b677 vsock_addr_cast +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xbd00a591 vsock_table_lock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xc81fa801 vsock_remove_bound +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xd6de87cd vsock_create_connected +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xdc7a9730 vsock_stream_has_space +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xe58f01cc vsock_remove_sock +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xec96eadf vsock_addr_validate +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xede9aa67 vsock_core_register +EXPORT_SYMBOL_GPL net/vmw_vsock/vsock 0xf2d4a378 vsock_find_bound_socket +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0049ca83 xfrm_aead_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x00c80741 xfrm_ealg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x0a575945 xfrm_count_pfkey_auth_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x28e23139 xfrm_probe_algs +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x37a02412 xfrm_aalg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x5c699441 xfrm_aalg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x72395dc1 xfrm_calg_get_byid +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0x7a8ca627 xfrm_count_pfkey_enc_supported +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xaab23340 xfrm_calg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xb73be794 xfrm_ealg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xc6b1fdbe xfrm_aalg_get_byidx +EXPORT_SYMBOL_GPL net/xfrm/xfrm_algo 0xd6f50cf7 xfrm_ealg_get_byname +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x49bb62c7 ipcomp_destroy +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0x5dcfd4da ipcomp_input +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xf2f56113 ipcomp_init_state +EXPORT_SYMBOL_GPL net/xfrm/xfrm_ipcomp 0xff148adb ipcomp_output +EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0x4a0c7516 xfrm_msg_min +EXPORT_SYMBOL_GPL net/xfrm/xfrm_user 0xe2521b1c xfrma_policy +EXPORT_SYMBOL_GPL virt/lib/irqbypass 0x3fe35aea irq_bypass_unregister_consumer +EXPORT_SYMBOL_GPL virt/lib/irqbypass 0x418873cc irq_bypass_register_producer +EXPORT_SYMBOL_GPL virt/lib/irqbypass 0x888c5be5 irq_bypass_register_consumer +EXPORT_SYMBOL_GPL virt/lib/irqbypass 0xf6e772c3 irq_bypass_unregister_producer +EXPORT_SYMBOL_GPL vmlinux 0x00079bff irq_domain_create_sim +EXPORT_SYMBOL_GPL vmlinux 0x00291373 vp_legacy_get_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x002bc694 sock_diag_check_cookie +EXPORT_SYMBOL_GPL vmlinux 0x00513f58 get_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x0054c542 debugfs_lookup +EXPORT_SYMBOL_GPL vmlinux 0x0074def1 dm_path_uevent +EXPORT_SYMBOL_GPL vmlinux 0x0099b8f0 subsys_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x00b3df19 bd_unlink_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0x00be5a41 kvm_vcpu_gfn_to_pfn +EXPORT_SYMBOL_GPL vmlinux 0x00c7c0aa kset_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0x00dac9a9 int_active_memcg +EXPORT_SYMBOL_GPL vmlinux 0x010b0a54 fib_alias_hw_flags_set +EXPORT_SYMBOL_GPL vmlinux 0x01413c5f css_schedule_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x014f004f serdev_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x015ddd09 pci_common_swizzle +EXPORT_SYMBOL_GPL vmlinux 0x01603049 fuse_free_conn +EXPORT_SYMBOL_GPL vmlinux 0x0161ad90 __devm_pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x016c9894 fwnode_get_name +EXPORT_SYMBOL_GPL vmlinux 0x0173ade9 perf_trace_run_bpf_submit +EXPORT_SYMBOL_GPL vmlinux 0x017c2641 serdev_device_write +EXPORT_SYMBOL_GPL vmlinux 0x0190e95d gmap_discard +EXPORT_SYMBOL_GPL vmlinux 0x01ab76da tpm_get_random +EXPORT_SYMBOL_GPL vmlinux 0x01bced16 devres_get +EXPORT_SYMBOL_GPL vmlinux 0x01c0e204 serdev_device_remove +EXPORT_SYMBOL_GPL vmlinux 0x01c31f3a subsys_find_device_by_id +EXPORT_SYMBOL_GPL vmlinux 0x01d7b8ed dax_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x02334a6d iommu_map_sg +EXPORT_SYMBOL_GPL vmlinux 0x02394899 play_idle_precise +EXPORT_SYMBOL_GPL vmlinux 0x023c562d balloon_page_list_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x024da603 nfs_ssc_register +EXPORT_SYMBOL_GPL vmlinux 0x026473e9 pci_epc_set_bar +EXPORT_SYMBOL_GPL vmlinux 0x02760dbc crypto_stats_rng_generate +EXPORT_SYMBOL_GPL vmlinux 0x02a46feb blk_queue_set_zoned +EXPORT_SYMBOL_GPL vmlinux 0x02b2896e device_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x02caf7c2 s390_reset_acc +EXPORT_SYMBOL_GPL vmlinux 0x02ccfb33 tpm_transmit_cmd +EXPORT_SYMBOL_GPL vmlinux 0x02d80c00 zpci_disable_device +EXPORT_SYMBOL_GPL vmlinux 0x02eb45c3 pci_cfg_access_lock +EXPORT_SYMBOL_GPL vmlinux 0x031c82b0 skb_gso_validate_network_len +EXPORT_SYMBOL_GPL vmlinux 0x03293dc8 gpiod_is_active_low +EXPORT_SYMBOL_GPL vmlinux 0x032cfa98 tcp_reno_undo_cwnd +EXPORT_SYMBOL_GPL vmlinux 0x0332c746 xfrm_audit_policy_delete +EXPORT_SYMBOL_GPL vmlinux 0x0336cce1 fsstack_copy_attr_all +EXPORT_SYMBOL_GPL vmlinux 0x0343bdf1 __i2c_board_list +EXPORT_SYMBOL_GPL vmlinux 0x034e3bde crypto_stats_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x035db564 __auxiliary_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x036650e8 crypto_grab_shash +EXPORT_SYMBOL_GPL vmlinux 0x0369e819 virtqueue_get_buf +EXPORT_SYMBOL_GPL vmlinux 0x036de383 perf_event_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x037a5375 __traceiter_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x03952887 ktime_add_safe +EXPORT_SYMBOL_GPL vmlinux 0x039ee78c __fscrypt_encrypt_symlink +EXPORT_SYMBOL_GPL vmlinux 0x03a5eb58 kvm_vcpu_is_visible_gfn +EXPORT_SYMBOL_GPL vmlinux 0x03c12dfe cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x03cd6f84 dax_iomap_rw +EXPORT_SYMBOL_GPL vmlinux 0x03ce7234 sched_smt_present +EXPORT_SYMBOL_GPL vmlinux 0x03d08afc sfp_register_socket +EXPORT_SYMBOL_GPL vmlinux 0x03f800c7 add_hwgenerator_randomness +EXPORT_SYMBOL_GPL vmlinux 0x03fdb126 get_net_ns_by_fd +EXPORT_SYMBOL_GPL vmlinux 0x0402cbbf preempt_notifier_inc +EXPORT_SYMBOL_GPL vmlinux 0x04428278 fuse_abort_conn +EXPORT_SYMBOL_GPL vmlinux 0x0444e8bf gpiochip_irqchip_irq_valid +EXPORT_SYMBOL_GPL vmlinux 0x0447bc79 __fib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x044c2928 atomic_notifier_chain_register_unique_prio +EXPORT_SYMBOL_GPL vmlinux 0x046431e0 nf_hooks_lwtunnel_sysctl_handler +EXPORT_SYMBOL_GPL vmlinux 0x0465a073 regmap_reg_in_ranges +EXPORT_SYMBOL_GPL vmlinux 0x0475626d scsi_internal_device_unblock_nowait +EXPORT_SYMBOL_GPL vmlinux 0x048c96af badblocks_set +EXPORT_SYMBOL_GPL vmlinux 0x048d446e devlink_dpipe_headers_register +EXPORT_SYMBOL_GPL vmlinux 0x049cb42a raw_v6_match +EXPORT_SYMBOL_GPL vmlinux 0x04a6fee6 software_node_register +EXPORT_SYMBOL_GPL vmlinux 0x04a8f122 attribute_container_unregister +EXPORT_SYMBOL_GPL vmlinux 0x04a99ca7 set_primary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x04b0c0ab unregister_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x04bf0092 io_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x04c41c60 devlink_flash_update_status_notify +EXPORT_SYMBOL_GPL vmlinux 0x04c4f603 mpi_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x04c7c45a misc_cg_uncharge +EXPORT_SYMBOL_GPL vmlinux 0x04c8aebf console_verbose +EXPORT_SYMBOL_GPL vmlinux 0x04d21916 fib_rules_dump +EXPORT_SYMBOL_GPL vmlinux 0x04ea8706 __iowrite64_copy +EXPORT_SYMBOL_GPL vmlinux 0x050c0023 gpiod_get_value +EXPORT_SYMBOL_GPL vmlinux 0x05144fe6 inet_ehash_nolisten +EXPORT_SYMBOL_GPL vmlinux 0x051a0bc1 stack_depot_fetch +EXPORT_SYMBOL_GPL vmlinux 0x052843c3 __fat_fs_error +EXPORT_SYMBOL_GPL vmlinux 0x0528be12 netdev_rx_handler_register +EXPORT_SYMBOL_GPL vmlinux 0x052b4013 register_vmcore_cb +EXPORT_SYMBOL_GPL vmlinux 0x052c9aed ktime_get_real_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x053d738a __SCK__tp_func_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x054e550b kernel_halt +EXPORT_SYMBOL_GPL vmlinux 0x055847cc ipv6_opt_accepted +EXPORT_SYMBOL_GPL vmlinux 0x055d363e ncsi_register_dev +EXPORT_SYMBOL_GPL vmlinux 0x0570667e virtqueue_enable_cb_prepare +EXPORT_SYMBOL_GPL vmlinux 0x05744aff inet_hash +EXPORT_SYMBOL_GPL vmlinux 0x057e36e3 pfn_to_online_page +EXPORT_SYMBOL_GPL vmlinux 0x05883efb __traceiter_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0x058c20f0 skb_zerocopy +EXPORT_SYMBOL_GPL vmlinux 0x058c6377 for_each_kernel_tracepoint +EXPORT_SYMBOL_GPL vmlinux 0x0597e8d7 unregister_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x06055a23 __tracepoint_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x061826c3 skb_zerocopy_iter_stream +EXPORT_SYMBOL_GPL vmlinux 0x061a6a17 rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0x06209f49 phy_lookup_setting +EXPORT_SYMBOL_GPL vmlinux 0x06270036 dm_device_name +EXPORT_SYMBOL_GPL vmlinux 0x063f47e8 raw_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x064db9a5 mark_mounts_for_expiry +EXPORT_SYMBOL_GPL vmlinux 0x065a7a23 atomic_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x06cca30b ring_buffer_record_off +EXPORT_SYMBOL_GPL vmlinux 0x06d38135 ptp_msg_is_sync +EXPORT_SYMBOL_GPL vmlinux 0x06d7037c hypervisor_kobj +EXPORT_SYMBOL_GPL vmlinux 0x070708c7 cpci_hp_register_controller +EXPORT_SYMBOL_GPL vmlinux 0x070a76d6 tcp_reno_cong_avoid +EXPORT_SYMBOL_GPL vmlinux 0x07147824 devm_platform_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0x0721e649 watchdog_notify_pretimeout +EXPORT_SYMBOL_GPL vmlinux 0x07231935 tty_prepare_flip_string +EXPORT_SYMBOL_GPL vmlinux 0x07242d92 put_dax +EXPORT_SYMBOL_GPL vmlinux 0x07389731 pci_create_slot +EXPORT_SYMBOL_GPL vmlinux 0x07483e13 cn_del_callback +EXPORT_SYMBOL_GPL vmlinux 0x0756a31c register_platform_power_off +EXPORT_SYMBOL_GPL vmlinux 0x0757eede stack_trace_snprint +EXPORT_SYMBOL_GPL vmlinux 0x0771534a __pci_epf_register_driver +EXPORT_SYMBOL_GPL vmlinux 0x07728fa5 fat_remove_entries +EXPORT_SYMBOL_GPL vmlinux 0x0778f0e8 dst_cache_get_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x07816679 switchdev_bridge_port_unoffload +EXPORT_SYMBOL_GPL vmlinux 0x07835152 fwnode_get_phy_node +EXPORT_SYMBOL_GPL vmlinux 0x07922121 devm_gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0x07a5e89f genphy_c45_pma_setup_forced +EXPORT_SYMBOL_GPL vmlinux 0x07a85473 ccw_device_get_iid +EXPORT_SYMBOL_GPL vmlinux 0x07b52e38 rtnl_unregister +EXPORT_SYMBOL_GPL vmlinux 0x07be6905 net_inc_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x07c82d21 nexthop_for_each_fib6_nh +EXPORT_SYMBOL_GPL vmlinux 0x07cb7afb sfp_parse_port +EXPORT_SYMBOL_GPL vmlinux 0x07d93d79 fwnode_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x07df3aa8 netdev_walk_all_lower_dev +EXPORT_SYMBOL_GPL vmlinux 0x08135613 dax_write_cache +EXPORT_SYMBOL_GPL vmlinux 0x081dba29 pci_vfs_assigned +EXPORT_SYMBOL_GPL vmlinux 0x08436119 klp_shadow_alloc +EXPORT_SYMBOL_GPL vmlinux 0x086deb30 sysfs_remove_link_from_group +EXPORT_SYMBOL_GPL vmlinux 0x0880fc05 pci_iov_virtfn_devfn +EXPORT_SYMBOL_GPL vmlinux 0x08aa3963 pci_host_probe +EXPORT_SYMBOL_GPL vmlinux 0x08b11cab fixed_phy_change_carrier +EXPORT_SYMBOL_GPL vmlinux 0x08b2e9aa hrtimer_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0x08c315a6 pci_msi_mask_irq +EXPORT_SYMBOL_GPL vmlinux 0x08c78cf7 offline_and_remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x09027f03 bpf_warn_invalid_xdp_action +EXPORT_SYMBOL_GPL vmlinux 0x09110cd1 balloon_aops +EXPORT_SYMBOL_GPL vmlinux 0x091eb9b4 round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x092f6af0 pci_epf_type_add_cfs +EXPORT_SYMBOL_GPL vmlinux 0x09506c6f device_create_with_groups +EXPORT_SYMBOL_GPL vmlinux 0x09562b1c cgroup_attach_task_all +EXPORT_SYMBOL_GPL vmlinux 0x0960ea04 vp_legacy_get_features +EXPORT_SYMBOL_GPL vmlinux 0x096e9b08 bpf_map_put +EXPORT_SYMBOL_GPL vmlinux 0x0976f832 pci_find_next_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x098cef74 irq_create_mapping_affinity +EXPORT_SYMBOL_GPL vmlinux 0x09b34dba ipv6_find_tlv +EXPORT_SYMBOL_GPL vmlinux 0x09b53e14 interval_tree_remove +EXPORT_SYMBOL_GPL vmlinux 0x09e6db94 crypto_unregister_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x09fd62d8 subsys_interface_register +EXPORT_SYMBOL_GPL vmlinux 0x0a16989c gmap_pmdp_idte_global +EXPORT_SYMBOL_GPL vmlinux 0x0a191e29 gpiochip_get_desc +EXPORT_SYMBOL_GPL vmlinux 0x0a22bc4c gpiod_export +EXPORT_SYMBOL_GPL vmlinux 0x0a463293 __tracepoint_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x0a61e0f6 pci_dev_unlock +EXPORT_SYMBOL_GPL vmlinux 0x0a6c4041 cn_netlink_send +EXPORT_SYMBOL_GPL vmlinux 0x0a7ceb30 __tracepoint_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x0ab7e27a class_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x0ac29984 mmu_interval_read_begin +EXPORT_SYMBOL_GPL vmlinux 0x0ac2f229 key_type_user +EXPORT_SYMBOL_GPL vmlinux 0x0acac120 iommu_fwspec_init +EXPORT_SYMBOL_GPL vmlinux 0x0b07abe2 unshare_fs_struct +EXPORT_SYMBOL_GPL vmlinux 0x0b0f8966 device_show_ulong +EXPORT_SYMBOL_GPL vmlinux 0x0b11a171 klist_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x0b17932c gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0x0b2db2d5 remove_resource +EXPORT_SYMBOL_GPL vmlinux 0x0b2f6666 perf_event_release_kernel +EXPORT_SYMBOL_GPL vmlinux 0x0b3b2474 iommu_enable_nesting +EXPORT_SYMBOL_GPL vmlinux 0x0b6c8cf6 iomap_swapfile_activate +EXPORT_SYMBOL_GPL vmlinux 0x0b78fb55 list_lru_count_one +EXPORT_SYMBOL_GPL vmlinux 0x0ba215e1 proc_create_net_data_write +EXPORT_SYMBOL_GPL vmlinux 0x0bbdc9b2 remove_memory +EXPORT_SYMBOL_GPL vmlinux 0x0bc5481b clock_comparator_max +EXPORT_SYMBOL_GPL vmlinux 0x0bdaa13a trace_array_printk +EXPORT_SYMBOL_GPL vmlinux 0x0be6c5f0 irq_chip_set_type_parent +EXPORT_SYMBOL_GPL vmlinux 0x0bed5cde ip6_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x0bf32478 __SCK__tp_func_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x0bfa3a19 rcu_idle_exit +EXPORT_SYMBOL_GPL vmlinux 0x0c038250 register_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x0c1886e7 auxiliary_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x0c18ad4d __kthread_init_worker +EXPORT_SYMBOL_GPL vmlinux 0x0c26bdd5 klist_next +EXPORT_SYMBOL_GPL vmlinux 0x0c2719e4 register_net_sysctl +EXPORT_SYMBOL_GPL vmlinux 0x0c2c5802 work_busy +EXPORT_SYMBOL_GPL vmlinux 0x0c428a62 fuse_do_open +EXPORT_SYMBOL_GPL vmlinux 0x0c6ef581 filemap_add_folio +EXPORT_SYMBOL_GPL vmlinux 0x0c6f2b02 tcp_set_keepalive +EXPORT_SYMBOL_GPL vmlinux 0x0c795850 crypto_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0x0c88c1c3 pci_vpd_find_id_string +EXPORT_SYMBOL_GPL vmlinux 0x0c8bcc89 bpfilter_umh_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x0cc9d36c iommu_group_claim_dma_owner +EXPORT_SYMBOL_GPL vmlinux 0x0cfcbb75 devm_release_action +EXPORT_SYMBOL_GPL vmlinux 0x0d21ca90 bpf_offload_dev_netdev_register +EXPORT_SYMBOL_GPL vmlinux 0x0d258d4f tty_get_icount +EXPORT_SYMBOL_GPL vmlinux 0x0d2b5ffb screen_glyph_unicode +EXPORT_SYMBOL_GPL vmlinux 0x0d3ce049 gpiod_get_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x0d42fd70 register_btf_id_dtor_kfuncs +EXPORT_SYMBOL_GPL vmlinux 0x0d459213 work_on_cpu_safe +EXPORT_SYMBOL_GPL vmlinux 0x0d4961de nf_log_buf_open +EXPORT_SYMBOL_GPL vmlinux 0x0d611edd s390_unlist_old_asce +EXPORT_SYMBOL_GPL vmlinux 0x0d6962c6 klp_enable_patch +EXPORT_SYMBOL_GPL vmlinux 0x0d9f35ff debugfs_real_fops +EXPORT_SYMBOL_GPL vmlinux 0x0da16b00 fwnode_graph_get_endpoint_by_id +EXPORT_SYMBOL_GPL vmlinux 0x0da22e40 regmap_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x0dc50f1b crypto_req_done +EXPORT_SYMBOL_GPL vmlinux 0x0dcbb599 fsstack_copy_inode_size +EXPORT_SYMBOL_GPL vmlinux 0x0ddb1cd7 llist_reverse_order +EXPORT_SYMBOL_GPL vmlinux 0x0dfbfa0a synth_event_add_next_val +EXPORT_SYMBOL_GPL vmlinux 0x0e0c6a7d crypto_dh_encode_key +EXPORT_SYMBOL_GPL vmlinux 0x0e10866c ip6_pol_route +EXPORT_SYMBOL_GPL vmlinux 0x0e3b73c4 pci_hp_add_bridge +EXPORT_SYMBOL_GPL vmlinux 0x0e541f71 __alloc_percpu_gfp +EXPORT_SYMBOL_GPL vmlinux 0x0e55fb32 debugfs_create_u32 +EXPORT_SYMBOL_GPL vmlinux 0x0e5731b5 ethtool_set_ethtool_phy_ops +EXPORT_SYMBOL_GPL vmlinux 0x0e5cc9d7 xdp_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x0e608a2d blk_queue_zone_write_granularity +EXPORT_SYMBOL_GPL vmlinux 0x0e6b79af static_key_disable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x0e6e7169 dm_post_suspending +EXPORT_SYMBOL_GPL vmlinux 0x0ead55f4 pci_stop_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x0eb7f3de iommu_device_link +EXPORT_SYMBOL_GPL vmlinux 0x0ec53112 pci_vpd_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0edfdaf0 bpf_prog_inc +EXPORT_SYMBOL_GPL vmlinux 0x0ef22d32 ipv4_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x0efd27df regmap_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x0f02ba07 kvm_get_running_vcpu +EXPORT_SYMBOL_GPL vmlinux 0x0f180070 ring_buffer_free_read_page +EXPORT_SYMBOL_GPL vmlinux 0x0f1cb750 gpiochip_remove +EXPORT_SYMBOL_GPL vmlinux 0x0f3b8882 rht_bucket_nested_insert +EXPORT_SYMBOL_GPL vmlinux 0x0f5ab5c9 vfs_test_lock +EXPORT_SYMBOL_GPL vmlinux 0x0f7432fa xas_split_alloc +EXPORT_SYMBOL_GPL vmlinux 0x0f916c2a crypto_register_shash +EXPORT_SYMBOL_GPL vmlinux 0x0f9d95a5 bpf_event_output +EXPORT_SYMBOL_GPL vmlinux 0x0f9e15f2 devlink_port_linecard_set +EXPORT_SYMBOL_GPL vmlinux 0x0fa27bd7 scsi_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x0faa6551 pci_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x0fd3da09 dm_send_uevents +EXPORT_SYMBOL_GPL vmlinux 0x0fd4610e kmem_dump_obj +EXPORT_SYMBOL_GPL vmlinux 0x0feb4a57 sysfs_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x10138352 tracing_on +EXPORT_SYMBOL_GPL vmlinux 0x101ad0e1 fat_update_time +EXPORT_SYMBOL_GPL vmlinux 0x102c21e0 crypto_alloc_aead +EXPORT_SYMBOL_GPL vmlinux 0x10580bc2 kvm_put_kvm_no_destroy +EXPORT_SYMBOL_GPL vmlinux 0x106cde98 unregister_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x10739cc5 filemap_range_has_writeback +EXPORT_SYMBOL_GPL vmlinux 0x108c9e79 devm_regmap_field_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x108e77f5 parse_OID +EXPORT_SYMBOL_GPL vmlinux 0x10abee93 phy_driver_is_genphy +EXPORT_SYMBOL_GPL vmlinux 0x10b78188 blk_stat_enable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x10d9f317 stack_depot_init +EXPORT_SYMBOL_GPL vmlinux 0x1102709e sysfs_add_file_to_group +EXPORT_SYMBOL_GPL vmlinux 0x1108fdbb klp_get_state +EXPORT_SYMBOL_GPL vmlinux 0x11152866 generic_device_group +EXPORT_SYMBOL_GPL vmlinux 0x111f2c25 sprint_OID +EXPORT_SYMBOL_GPL vmlinux 0x112fadf1 regmap_get_raw_read_max +EXPORT_SYMBOL_GPL vmlinux 0x113f2d08 devm_remove_action +EXPORT_SYMBOL_GPL vmlinux 0x114c1409 splice_to_pipe +EXPORT_SYMBOL_GPL vmlinux 0x11539009 sk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x11a4d4a1 kthread_queue_work +EXPORT_SYMBOL_GPL vmlinux 0x11df0e75 devlink_fmsg_binary_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x11e09bb9 regmap_raw_read +EXPORT_SYMBOL_GPL vmlinux 0x11fc2039 crypto_unregister_rngs +EXPORT_SYMBOL_GPL vmlinux 0x1203e3ac gfn_to_pfn_prot +EXPORT_SYMBOL_GPL vmlinux 0x120b56a0 device_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x121d958a unregister_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1220343f pci_stop_and_remove_bus_device_locked +EXPORT_SYMBOL_GPL vmlinux 0x1226ee1d balloon_page_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x1234e483 get_cpu_iowait_time_us +EXPORT_SYMBOL_GPL vmlinux 0x124128aa inet6_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x124b6581 sk_msg_free +EXPORT_SYMBOL_GPL vmlinux 0x12537dae __tracepoint_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x12660f60 fb_deferred_io_fsync +EXPORT_SYMBOL_GPL vmlinux 0x12673e3e dev_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x12801941 register_trace_event +EXPORT_SYMBOL_GPL vmlinux 0x12972876 __traceiter_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x129ff1be sfp_add_phy +EXPORT_SYMBOL_GPL vmlinux 0x12a1df90 xdp_do_redirect_frame +EXPORT_SYMBOL_GPL vmlinux 0x12b9c41f lwtunnel_input +EXPORT_SYMBOL_GPL vmlinux 0x12cdbd51 verify_pkcs7_signature +EXPORT_SYMBOL_GPL vmlinux 0x12d3ad36 fl6_merge_options +EXPORT_SYMBOL_GPL vmlinux 0x12ee1173 memory_group_unregister +EXPORT_SYMBOL_GPL vmlinux 0x12ee4d90 blk_mq_queue_inflight +EXPORT_SYMBOL_GPL vmlinux 0x12efd859 fib_rules_seq_read +EXPORT_SYMBOL_GPL vmlinux 0x12f11249 mmu_interval_notifier_remove +EXPORT_SYMBOL_GPL vmlinux 0x131904fa sysfs_update_groups +EXPORT_SYMBOL_GPL vmlinux 0x131db64a system_long_wq +EXPORT_SYMBOL_GPL vmlinux 0x1320ad6d md_stop_writes +EXPORT_SYMBOL_GPL vmlinux 0x13354bee __irq_domain_add +EXPORT_SYMBOL_GPL vmlinux 0x133969d7 __trace_printk +EXPORT_SYMBOL_GPL vmlinux 0x1339f28f screen_pos +EXPORT_SYMBOL_GPL vmlinux 0x133e44f6 __ndisc_fill_addr_option +EXPORT_SYMBOL_GPL vmlinux 0x1351f4c2 fscrypt_show_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x13640660 get_cached_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0x1387ed38 devlink_rate_leaf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x138e0957 dax_write_cache_enabled +EXPORT_SYMBOL_GPL vmlinux 0x139b4462 shash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x13be701c tcpv6_prot +EXPORT_SYMBOL_GPL vmlinux 0x13e7fd83 __wake_up_pollfree +EXPORT_SYMBOL_GPL vmlinux 0x13ed8784 sdev_evt_alloc +EXPORT_SYMBOL_GPL vmlinux 0x141f38bf ktime_get_raw_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x145c0848 gmap_register_pte_notifier +EXPORT_SYMBOL_GPL vmlinux 0x146cc88f bpf_master_redirect_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x148bcda0 ksm_madvise +EXPORT_SYMBOL_GPL vmlinux 0x148ebfcb mddev_suspend +EXPORT_SYMBOL_GPL vmlinux 0x14bc1b83 crypto_unregister_algs +EXPORT_SYMBOL_GPL vmlinux 0x14d5bdc7 devres_release +EXPORT_SYMBOL_GPL vmlinux 0x152bdd65 __strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0x153b60a6 klist_del +EXPORT_SYMBOL_GPL vmlinux 0x15510a89 devlink_fmsg_binary_put +EXPORT_SYMBOL_GPL vmlinux 0x15534ee4 __synth_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x157bc422 s390_enable_skey +EXPORT_SYMBOL_GPL vmlinux 0x1580b2c0 crypto_unregister_shash +EXPORT_SYMBOL_GPL vmlinux 0x159c52c4 kvm_flush_remote_tlbs +EXPORT_SYMBOL_GPL vmlinux 0x159d5a81 devlink_resource_occ_get_register +EXPORT_SYMBOL_GPL vmlinux 0x15a89a1e enable_cmf +EXPORT_SYMBOL_GPL vmlinux 0x15ade1cc filter_irq_stacks +EXPORT_SYMBOL_GPL vmlinux 0x15b08902 sbitmap_queue_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x15bab538 sk_msg_memcopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x15c60a71 __tracepoint_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x15cd162d gpiochip_irqchip_add_domain +EXPORT_SYMBOL_GPL vmlinux 0x15d63831 dw_pcie_host_init +EXPORT_SYMBOL_GPL vmlinux 0x15d7c6f2 irq_chip_unmask_parent +EXPORT_SYMBOL_GPL vmlinux 0x15e3f01d gpiochip_line_is_irq +EXPORT_SYMBOL_GPL vmlinux 0x15e8abc2 pci_epf_free_space +EXPORT_SYMBOL_GPL vmlinux 0x15eeac0d blk_queue_flag_test_and_set +EXPORT_SYMBOL_GPL vmlinux 0x1605b794 devm_gpio_free +EXPORT_SYMBOL_GPL vmlinux 0x160823c4 device_move +EXPORT_SYMBOL_GPL vmlinux 0x1616edfc dev_get_regmap +EXPORT_SYMBOL_GPL vmlinux 0x161fb829 iptunnel_handle_offloads +EXPORT_SYMBOL_GPL vmlinux 0x163c20d6 devlink_port_type_eth_set +EXPORT_SYMBOL_GPL vmlinux 0x16422a6e xdp_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x1644d1ed crypto_rng_reset +EXPORT_SYMBOL_GPL vmlinux 0x165140c7 pci_bus_resource_n +EXPORT_SYMBOL_GPL vmlinux 0x16645618 switchdev_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x166c290e crypto_larval_kill +EXPORT_SYMBOL_GPL vmlinux 0x1676a2f5 blk_queue_max_discard_segments +EXPORT_SYMBOL_GPL vmlinux 0x1678f30c crypto_alg_sem +EXPORT_SYMBOL_GPL vmlinux 0x167d430d devlink_dpipe_headers_unregister +EXPORT_SYMBOL_GPL vmlinux 0x16867178 platform_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x1687ec20 tty_get_frame_size +EXPORT_SYMBOL_GPL vmlinux 0x1688d721 devm_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0x168f86e6 vp_modern_probe +EXPORT_SYMBOL_GPL vmlinux 0x16a0dcd8 irq_set_chained_handler_and_data +EXPORT_SYMBOL_GPL vmlinux 0x16b69bc8 zpci_store +EXPORT_SYMBOL_GPL vmlinux 0x16da1f88 devlink_fmsg_u32_put +EXPORT_SYMBOL_GPL vmlinux 0x16dad302 blk_mq_alloc_request_hctx +EXPORT_SYMBOL_GPL vmlinux 0x16dfbf36 add_interrupt_randomness +EXPORT_SYMBOL_GPL vmlinux 0x16fbeb41 vp_legacy_set_features +EXPORT_SYMBOL_GPL vmlinux 0x170cc36c put_timespec64 +EXPORT_SYMBOL_GPL vmlinux 0x17149987 trace_print_bitmask_seq +EXPORT_SYMBOL_GPL vmlinux 0x171710c4 crypto_get_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x1737575e irq_chip_eoi_parent +EXPORT_SYMBOL_GPL vmlinux 0x1738dd92 tracing_snapshot_cond +EXPORT_SYMBOL_GPL vmlinux 0x173a0e8a unmap_mapping_pages +EXPORT_SYMBOL_GPL vmlinux 0x17443a69 msg_zerocopy_realloc +EXPORT_SYMBOL_GPL vmlinux 0x174c6274 ring_buffer_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x175b7e2a __phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x176031a7 devlink_fmsg_string_put +EXPORT_SYMBOL_GPL vmlinux 0x17793d65 handle_fasteoi_nmi +EXPORT_SYMBOL_GPL vmlinux 0x17809a16 nf_ipv6_ops +EXPORT_SYMBOL_GPL vmlinux 0x17ab377b io_uring_cmd_complete_in_task +EXPORT_SYMBOL_GPL vmlinux 0x17bf56f4 __traceiter_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x17fe080c kernel_read_file_from_fd +EXPORT_SYMBOL_GPL vmlinux 0x18008c59 ring_buffer_resize +EXPORT_SYMBOL_GPL vmlinux 0x1825e941 md_start +EXPORT_SYMBOL_GPL vmlinux 0x182656cc platform_has +EXPORT_SYMBOL_GPL vmlinux 0x1834e691 debugfs_create_bool +EXPORT_SYMBOL_GPL vmlinux 0x1841144c blk_crypto_has_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x18440224 vcpu_load +EXPORT_SYMBOL_GPL vmlinux 0x185c6a73 pci_msi_unmask_irq +EXPORT_SYMBOL_GPL vmlinux 0x1883c7bd kvm_release_page_clean +EXPORT_SYMBOL_GPL vmlinux 0x188ef8c2 phy_10gbit_features +EXPORT_SYMBOL_GPL vmlinux 0x189a682a pci_disable_rom +EXPORT_SYMBOL_GPL vmlinux 0x18cdfbb1 __blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0x18d100a5 espintcp_push_skb +EXPORT_SYMBOL_GPL vmlinux 0x18e4f8aa swphy_read_reg +EXPORT_SYMBOL_GPL vmlinux 0x18f42c32 genphy_c45_read_pma +EXPORT_SYMBOL_GPL vmlinux 0x18fb2caf cpus_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x18fb93eb root_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x192fe543 is_skb_forwardable +EXPORT_SYMBOL_GPL vmlinux 0x193dfdf6 klp_get_prev_state +EXPORT_SYMBOL_GPL vmlinux 0x1941396c dma_resv_get_singleton +EXPORT_SYMBOL_GPL vmlinux 0x19455dd6 fscrypt_add_test_dummy_key +EXPORT_SYMBOL_GPL vmlinux 0x19518f3e __traceiter_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x1969f2e8 synth_event_trace_end +EXPORT_SYMBOL_GPL vmlinux 0x19808dda unregister_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x19821689 __tracepoint_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x198d58b5 scsi_get_vpd_page +EXPORT_SYMBOL_GPL vmlinux 0x19dd087c sysfs_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x1a055815 blk_mq_pci_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x1a0a8a5d kvm_vcpu_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x1a10c32b crypto_ft_tab +EXPORT_SYMBOL_GPL vmlinux 0x1a112d72 anon_transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x1a14f27c switchdev_bridge_port_offload +EXPORT_SYMBOL_GPL vmlinux 0x1a68ba75 bio_start_io_acct +EXPORT_SYMBOL_GPL vmlinux 0x1a6bf28f fsnotify_get_cookie +EXPORT_SYMBOL_GPL vmlinux 0x1a7c7a6a get_current_tty +EXPORT_SYMBOL_GPL vmlinux 0x1a876574 __tracepoint_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0x1aac6df6 blocking_notifier_chain_register_unique_prio +EXPORT_SYMBOL_GPL vmlinux 0x1ab400a1 __list_lru_init +EXPORT_SYMBOL_GPL vmlinux 0x1abd9971 __fscrypt_prepare_rename +EXPORT_SYMBOL_GPL vmlinux 0x1ac52d3d nexthop_select_path +EXPORT_SYMBOL_GPL vmlinux 0x1acd18c8 cpuset_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x1ae066ff iommu_sva_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0x1af267f8 int_pow +EXPORT_SYMBOL_GPL vmlinux 0x1b0f70f3 crc64_be +EXPORT_SYMBOL_GPL vmlinux 0x1b1dd600 sysfs_update_group +EXPORT_SYMBOL_GPL vmlinux 0x1b1f5ad0 gpio_request_array +EXPORT_SYMBOL_GPL vmlinux 0x1b2a1678 regmap_field_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x1b332e46 xdp_master_redirect +EXPORT_SYMBOL_GPL vmlinux 0x1b45499e __sock_recv_wifi_status +EXPORT_SYMBOL_GPL vmlinux 0x1b622fb7 tcp_cong_avoid_ai +EXPORT_SYMBOL_GPL vmlinux 0x1b6828c6 housekeeping_affine +EXPORT_SYMBOL_GPL vmlinux 0x1b6c5a67 chsc_error_from_response +EXPORT_SYMBOL_GPL vmlinux 0x1b77b050 shmem_file_setup_with_mnt +EXPORT_SYMBOL_GPL vmlinux 0x1b92e41d inet_putpeer +EXPORT_SYMBOL_GPL vmlinux 0x1b94f711 inet_hash_connect +EXPORT_SYMBOL_GPL vmlinux 0x1bc7b8bd software_node_register_nodes +EXPORT_SYMBOL_GPL vmlinux 0x1bd71c37 trace_put_event_file +EXPORT_SYMBOL_GPL vmlinux 0x1bda3f58 list_lru_walk_node +EXPORT_SYMBOL_GPL vmlinux 0x1be7e28f device_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x1bee4974 sg_alloc_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x1bfad06e mpi_print +EXPORT_SYMBOL_GPL vmlinux 0x1c283a0b gmap_pmdp_csp +EXPORT_SYMBOL_GPL vmlinux 0x1c2c085d devm_device_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x1c2dfcbf acct_bioset_exit +EXPORT_SYMBOL_GPL vmlinux 0x1c3fb207 genphy_c45_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x1c4cc0b9 __traceiter_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0x1c4d95e0 ccw_device_get_util_str +EXPORT_SYMBOL_GPL vmlinux 0x1c5b1f28 irq_free_descs +EXPORT_SYMBOL_GPL vmlinux 0x1c5e52a1 simple_rename_exchange +EXPORT_SYMBOL_GPL vmlinux 0x1c613a41 dw_pcie_setup_rc +EXPORT_SYMBOL_GPL vmlinux 0x1c6e8b9c unregister_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x1c78ac3b devl_assert_locked +EXPORT_SYMBOL_GPL vmlinux 0x1c7c5e10 bus_find_device +EXPORT_SYMBOL_GPL vmlinux 0x1c87a811 __round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x1c8be6da bsg_setup_queue +EXPORT_SYMBOL_GPL vmlinux 0x1c8ccee7 inet6_sk_rebuild_header +EXPORT_SYMBOL_GPL vmlinux 0x1c9eec38 ccw_device_get_chid +EXPORT_SYMBOL_GPL vmlinux 0x1cbd92b0 cpu_mitigations_off +EXPORT_SYMBOL_GPL vmlinux 0x1cd11bf8 l3mdev_update_flow +EXPORT_SYMBOL_GPL vmlinux 0x1cd86423 debugfs_create_u8 +EXPORT_SYMBOL_GPL vmlinux 0x1cea3fab __sock_recv_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x1d0758a7 devm_gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0x1d0a2352 regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x1d10e356 class_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0x1d222ced irq_get_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0x1d266a96 netdev_set_default_ethtool_ops +EXPORT_SYMBOL_GPL vmlinux 0x1d277657 fb_deferred_io_init +EXPORT_SYMBOL_GPL vmlinux 0x1d36fd18 unregister_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x1d5d875f __inet_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x1d77b0f8 unix_socket_table +EXPORT_SYMBOL_GPL vmlinux 0x1d95eb3d find_extend_vma +EXPORT_SYMBOL_GPL vmlinux 0x1db39c3e bio_trim +EXPORT_SYMBOL_GPL vmlinux 0x1dbc0a77 tcp_leave_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0x1dca8012 klist_prev +EXPORT_SYMBOL_GPL vmlinux 0x1dfa5dbd mpi_invm +EXPORT_SYMBOL_GPL vmlinux 0x1e050e96 virtqueue_disable_cb +EXPORT_SYMBOL_GPL vmlinux 0x1e20f13f freq_qos_remove_notifier +EXPORT_SYMBOL_GPL vmlinux 0x1e397ee2 securityfs_remove +EXPORT_SYMBOL_GPL vmlinux 0x1e3e3dbd put_io_context +EXPORT_SYMBOL_GPL vmlinux 0x1e529fc6 scm_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x1e53f827 stack_depot_print +EXPORT_SYMBOL_GPL vmlinux 0x1e5b1c9e request_firmware_direct +EXPORT_SYMBOL_GPL vmlinux 0x1e6d3f0f __blk_req_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0x1e71499b cpci_hp_unregister_bus +EXPORT_SYMBOL_GPL vmlinux 0x1e7bbcb3 kernel_restart +EXPORT_SYMBOL_GPL vmlinux 0x1e81cf54 iomap_writepage +EXPORT_SYMBOL_GPL vmlinux 0x1e8eb30c serdev_controller_remove +EXPORT_SYMBOL_GPL vmlinux 0x1eb10062 blk_mq_sched_mark_restart_hctx +EXPORT_SYMBOL_GPL vmlinux 0x1eb9516e round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x1ebf6c2a pci_power_names +EXPORT_SYMBOL_GPL vmlinux 0x1ed4d2eb percpu_ref_kill_and_confirm +EXPORT_SYMBOL_GPL vmlinux 0x1ee39a74 devres_close_group +EXPORT_SYMBOL_GPL vmlinux 0x1eec1238 blocking_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x1ef1418c pci_epf_add_vepf +EXPORT_SYMBOL_GPL vmlinux 0x1ef20793 stop_core_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x1efb6574 skb_defer_rx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x1f0671e7 component_bind_all +EXPORT_SYMBOL_GPL vmlinux 0x1f24f54f skcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x1f2d801a alarm_forward_now +EXPORT_SYMBOL_GPL vmlinux 0x1f2e02fd blkdev_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x1f38a4f6 mpi_set_highbit +EXPORT_SYMBOL_GPL vmlinux 0x1f436eaf hrtimer_active +EXPORT_SYMBOL_GPL vmlinux 0x1f5571c5 fw_devlink_purge_absent_suppliers +EXPORT_SYMBOL_GPL vmlinux 0x1f563160 bpf_offload_dev_priv +EXPORT_SYMBOL_GPL vmlinux 0x1f57e941 perf_event_update_userpage +EXPORT_SYMBOL_GPL vmlinux 0x1f6679f5 pci_ignore_hotplug +EXPORT_SYMBOL_GPL vmlinux 0x1f688449 regmap_parse_val +EXPORT_SYMBOL_GPL vmlinux 0x1f6a999d disk_uevent +EXPORT_SYMBOL_GPL vmlinux 0x1f8544b8 panic_timeout +EXPORT_SYMBOL_GPL vmlinux 0x1f8dbedd perf_event_addr_filters_sync +EXPORT_SYMBOL_GPL vmlinux 0x1f9b9dbe switchdev_handle_port_obj_add_foreign +EXPORT_SYMBOL_GPL vmlinux 0x1f9d8fc3 device_match_any +EXPORT_SYMBOL_GPL vmlinux 0x1fa1d95c sha256_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x1fc2be44 perf_aux_output_begin +EXPORT_SYMBOL_GPL vmlinux 0x1fc576b1 fwnode_count_parents +EXPORT_SYMBOL_GPL vmlinux 0x1fe6e504 gpiod_add_hogs +EXPORT_SYMBOL_GPL vmlinux 0x1fe7d730 irq_domain_push_irq +EXPORT_SYMBOL_GPL vmlinux 0x1feca050 genphy_c45_an_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x2009e400 devlink_info_board_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x20288e32 check_move_unevictable_pages +EXPORT_SYMBOL_GPL vmlinux 0x202fc674 ping_queue_rcv_skb +EXPORT_SYMBOL_GPL vmlinux 0x204a48e1 page_endio +EXPORT_SYMBOL_GPL vmlinux 0x2058cc47 vfs_setlease +EXPORT_SYMBOL_GPL vmlinux 0x206109ec fsnotify_add_mark +EXPORT_SYMBOL_GPL vmlinux 0x20619b9b devlink_param_register +EXPORT_SYMBOL_GPL vmlinux 0x206635a5 fuse_mount_remove +EXPORT_SYMBOL_GPL vmlinux 0x20835a9f __xdp_release_frame +EXPORT_SYMBOL_GPL vmlinux 0x20a33396 input_class +EXPORT_SYMBOL_GPL vmlinux 0x20e29948 kernel_kobj +EXPORT_SYMBOL_GPL vmlinux 0x20e6176b freq_qos_add_request +EXPORT_SYMBOL_GPL vmlinux 0x20e6f928 tnum_strn +EXPORT_SYMBOL_GPL vmlinux 0x20f56ae0 __wake_up_sync +EXPORT_SYMBOL_GPL vmlinux 0x20fc5466 blk_mq_complete_request_remote +EXPORT_SYMBOL_GPL vmlinux 0x2130b07d cio_tm_intrg +EXPORT_SYMBOL_GPL vmlinux 0x2143e220 bus_remove_file +EXPORT_SYMBOL_GPL vmlinux 0x216c1a4d tpm2_probe +EXPORT_SYMBOL_GPL vmlinux 0x216de4e1 rcu_get_gp_kthreads_prio +EXPORT_SYMBOL_GPL vmlinux 0x2176ba5e posix_acl_default_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0x21845802 iommu_dev_enable_feature +EXPORT_SYMBOL_GPL vmlinux 0x219225a8 md_bitmap_load +EXPORT_SYMBOL_GPL vmlinux 0x21ac8b77 iommu_group_get_by_id +EXPORT_SYMBOL_GPL vmlinux 0x21cd536a crypto_put_default_null_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x21e5c880 xas_set_mark +EXPORT_SYMBOL_GPL vmlinux 0x2200061c __tracepoint_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0x22062e4d bio_associate_blkg +EXPORT_SYMBOL_GPL vmlinux 0x2211a4c0 blk_op_str +EXPORT_SYMBOL_GPL vmlinux 0x2228b2d9 gpiochip_find +EXPORT_SYMBOL_GPL vmlinux 0x222af7a2 crypto_stats_decompress +EXPORT_SYMBOL_GPL vmlinux 0x222d9932 __fscrypt_prepare_readdir +EXPORT_SYMBOL_GPL vmlinux 0x222faba7 kvm_make_all_cpus_request +EXPORT_SYMBOL_GPL vmlinux 0x22799cec tty_port_link_device +EXPORT_SYMBOL_GPL vmlinux 0x227d2c79 inet_twsk_hashdance +EXPORT_SYMBOL_GPL vmlinux 0x22881f1a serdev_device_write_flush +EXPORT_SYMBOL_GPL vmlinux 0x229d7c03 kvm_read_guest_cached +EXPORT_SYMBOL_GPL vmlinux 0x22a50f5e zpci_mod_fc +EXPORT_SYMBOL_GPL vmlinux 0x22ab7517 devl_unlock +EXPORT_SYMBOL_GPL vmlinux 0x22b8146b __wake_up_locked_key_bookmark +EXPORT_SYMBOL_GPL vmlinux 0x22d60537 tcf_frag_xmit_count +EXPORT_SYMBOL_GPL vmlinux 0x22d9409b iomap_sort_ioends +EXPORT_SYMBOL_GPL vmlinux 0x22e11208 fat_free_clusters +EXPORT_SYMBOL_GPL vmlinux 0x22e20b10 chsc_siosl +EXPORT_SYMBOL_GPL vmlinux 0x22fd08ba cpuacct_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x2307e921 xfrm_dev_state_add +EXPORT_SYMBOL_GPL vmlinux 0x230bca5e key_type_encrypted +EXPORT_SYMBOL_GPL vmlinux 0x23188386 hvc_remove +EXPORT_SYMBOL_GPL vmlinux 0x231d17c0 skb_segment_list +EXPORT_SYMBOL_GPL vmlinux 0x233f5316 sprint_oid +EXPORT_SYMBOL_GPL vmlinux 0x2341caa0 irq_chip_set_wake_parent +EXPORT_SYMBOL_GPL vmlinux 0x234cf416 devlink_fmsg_string_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x236b6dae __get_task_comm +EXPORT_SYMBOL_GPL vmlinux 0x2373434f irq_chip_retrigger_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x23864ce7 cpuset_mem_spread_node +EXPORT_SYMBOL_GPL vmlinux 0x23a157b3 gpiochip_line_is_open_drain +EXPORT_SYMBOL_GPL vmlinux 0x23cab657 fwnode_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x23cb578b set_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x2405e414 vp_modern_set_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x242050b4 dw_pcie_host_deinit +EXPORT_SYMBOL_GPL vmlinux 0x2421097b mpi_const +EXPORT_SYMBOL_GPL vmlinux 0x245a999e netdev_walk_all_upper_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x245be40a nf_nat_hook +EXPORT_SYMBOL_GPL vmlinux 0x246e03bd debugfs_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0x246fd45b sk_detach_filter +EXPORT_SYMBOL_GPL vmlinux 0x248bc867 raw_notifier_call_chain_robust +EXPORT_SYMBOL_GPL vmlinux 0x249b5024 fwnode_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x24ac3a93 crypto_aead_setkey +EXPORT_SYMBOL_GPL vmlinux 0x24b559b9 vfs_inode_has_locks +EXPORT_SYMBOL_GPL vmlinux 0x24b5f647 irq_domain_remove +EXPORT_SYMBOL_GPL vmlinux 0x24c42b57 ip6_dst_lookup +EXPORT_SYMBOL_GPL vmlinux 0x24c4a6f0 do_take_over_console +EXPORT_SYMBOL_GPL vmlinux 0x24c80e08 crypto_register_alg +EXPORT_SYMBOL_GPL vmlinux 0x24cacd89 kvm_arch_crypto_set_masks +EXPORT_SYMBOL_GPL vmlinux 0x24d5a526 fuse_init_fs_context_submount +EXPORT_SYMBOL_GPL vmlinux 0x24da0093 rcu_inkernel_boot_has_ended +EXPORT_SYMBOL_GPL vmlinux 0x24f4ac18 perf_event_enable +EXPORT_SYMBOL_GPL vmlinux 0x250deb42 bio_end_io_acct_remapped +EXPORT_SYMBOL_GPL vmlinux 0x25116708 genphy_c45_fast_retrain +EXPORT_SYMBOL_GPL vmlinux 0x25284add list_lru_del +EXPORT_SYMBOL_GPL vmlinux 0x2532dd51 fwnode_graph_get_next_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x25430f67 ping_seq_stop +EXPORT_SYMBOL_GPL vmlinux 0x2549ad92 genphy_c45_pma_baset1_setup_master_slave +EXPORT_SYMBOL_GPL vmlinux 0x25501e72 debugfs_create_u16 +EXPORT_SYMBOL_GPL vmlinux 0x2556f240 attribute_container_find_class_device +EXPORT_SYMBOL_GPL vmlinux 0x2588898f devlink_port_type_ib_set +EXPORT_SYMBOL_GPL vmlinux 0x2592fc6c console_printk +EXPORT_SYMBOL_GPL vmlinux 0x25bbfa9a security_kernel_load_data +EXPORT_SYMBOL_GPL vmlinux 0x25c537dc zpci_register_ioat +EXPORT_SYMBOL_GPL vmlinux 0x25cbaeac device_store_int +EXPORT_SYMBOL_GPL vmlinux 0x25f9202b iommu_device_register +EXPORT_SYMBOL_GPL vmlinux 0x2606a92c kvm_vcpu_on_spin +EXPORT_SYMBOL_GPL vmlinux 0x261cfcec create_signature +EXPORT_SYMBOL_GPL vmlinux 0x26520970 vm_memory_committed +EXPORT_SYMBOL_GPL vmlinux 0x265bbef9 kexec_crash_loaded +EXPORT_SYMBOL_GPL vmlinux 0x266a4b08 tasklet_unlock +EXPORT_SYMBOL_GPL vmlinux 0x267df662 smp_call_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2694bf7b cgroup_get_from_fd +EXPORT_SYMBOL_GPL vmlinux 0x26a6f03e ip6_route_output_flags_noref +EXPORT_SYMBOL_GPL vmlinux 0x26ab4755 put_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x26bc706c vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0x26c1db8a fuse_dax_cancel_work +EXPORT_SYMBOL_GPL vmlinux 0x26c90ea4 scsi_eh_get_sense +EXPORT_SYMBOL_GPL vmlinux 0x26eb4049 xdp_rxq_info_unused +EXPORT_SYMBOL_GPL vmlinux 0x26ed2186 register_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0x26f46302 cio_resume +EXPORT_SYMBOL_GPL vmlinux 0x26ff7e4d serdev_device_write_buf +EXPORT_SYMBOL_GPL vmlinux 0x27046576 kvm_exit +EXPORT_SYMBOL_GPL vmlinux 0x27295d7d security_file_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x272a7e44 crypto_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x272b2d93 gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x2741fe7d handle_fasteoi_irq +EXPORT_SYMBOL_GPL vmlinux 0x2745db5e verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x274d568e clockevents_register_device +EXPORT_SYMBOL_GPL vmlinux 0x274dd1a3 sg_free_table_chained +EXPORT_SYMBOL_GPL vmlinux 0x274fc5f0 gpiochip_generic_free +EXPORT_SYMBOL_GPL vmlinux 0x276211e6 kvm_arch_crypto_clear_masks +EXPORT_SYMBOL_GPL vmlinux 0x2765dc42 switchdev_handle_port_obj_add +EXPORT_SYMBOL_GPL vmlinux 0x276d0ef7 sysfs_unmerge_group +EXPORT_SYMBOL_GPL vmlinux 0x2772d4ee pci_epc_map_msi_irq +EXPORT_SYMBOL_GPL vmlinux 0x2797635a scsi_dh_set_params +EXPORT_SYMBOL_GPL vmlinux 0x27a0ce62 __traceiter_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x27a9a7bd dm_bio_from_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x27b137f0 __skb_get_hash_symmetric +EXPORT_SYMBOL_GPL vmlinux 0x27c1e6fc fat_scan +EXPORT_SYMBOL_GPL vmlinux 0x27c33acf unregister_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x27d421a3 open_related_ns +EXPORT_SYMBOL_GPL vmlinux 0x27dc9471 __tracepoint_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x27f4f029 ftrace_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0x27fa66e1 nr_free_buffer_pages +EXPORT_SYMBOL_GPL vmlinux 0x2849c663 __wait_rcu_gp +EXPORT_SYMBOL_GPL vmlinux 0x2864abc9 klist_node_attached +EXPORT_SYMBOL_GPL vmlinux 0x2867a24d dax_inode +EXPORT_SYMBOL_GPL vmlinux 0x286cc647 async_synchronize_cookie_domain +EXPORT_SYMBOL_GPL vmlinux 0x28aa6a67 call_rcu +EXPORT_SYMBOL_GPL vmlinux 0x28ab8bf7 driver_set_override +EXPORT_SYMBOL_GPL vmlinux 0x28cb4374 devm_gpiochip_add_data_with_key +EXPORT_SYMBOL_GPL vmlinux 0x28d0285c rhashtable_walk_exit +EXPORT_SYMBOL_GPL vmlinux 0x28d8b49a chsc_scm_info +EXPORT_SYMBOL_GPL vmlinux 0x28f02a73 __inode_attach_wb +EXPORT_SYMBOL_GPL vmlinux 0x28f413ad iommu_domain_free +EXPORT_SYMBOL_GPL vmlinux 0x290fec2e ping_seq_next +EXPORT_SYMBOL_GPL vmlinux 0x291646c1 ncsi_stop_dev +EXPORT_SYMBOL_GPL vmlinux 0x291876f3 mpi_ec_get_affine +EXPORT_SYMBOL_GPL vmlinux 0x2921074c hrtimer_forward +EXPORT_SYMBOL_GPL vmlinux 0x2929a7b8 follow_pte +EXPORT_SYMBOL_GPL vmlinux 0x292df164 device_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0x292e03ed blk_mq_end_request_batch +EXPORT_SYMBOL_GPL vmlinux 0x29366b61 register_ftrace_direct +EXPORT_SYMBOL_GPL vmlinux 0x2943d950 vp_legacy_probe +EXPORT_SYMBOL_GPL vmlinux 0x2948fccc generic_online_page +EXPORT_SYMBOL_GPL vmlinux 0x295845e6 devm_get_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x296b26d5 phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x298697f7 replace_page_cache_page +EXPORT_SYMBOL_GPL vmlinux 0x2989b695 phy_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0x29946de3 pci_enable_rom +EXPORT_SYMBOL_GPL vmlinux 0x29deb0ac add_wait_queue_priority +EXPORT_SYMBOL_GPL vmlinux 0x29e253cf cio_disable_subchannel +EXPORT_SYMBOL_GPL vmlinux 0x29eba37f current_is_async +EXPORT_SYMBOL_GPL vmlinux 0x2a1538ca lzo1x_decompress_safe +EXPORT_SYMBOL_GPL vmlinux 0x2a36af95 exportfs_encode_fh +EXPORT_SYMBOL_GPL vmlinux 0x2a3f009a kstrdup_quotable_cmdline +EXPORT_SYMBOL_GPL vmlinux 0x2a46c052 dm_table_set_type +EXPORT_SYMBOL_GPL vmlinux 0x2a62cb3a ring_buffer_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x2a6c813f watchdog_set_restart_priority +EXPORT_SYMBOL_GPL vmlinux 0x2a6da9e9 elv_register +EXPORT_SYMBOL_GPL vmlinux 0x2a7316da __SCK__tp_func_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x2a8da9d4 ipv6_recv_error +EXPORT_SYMBOL_GPL vmlinux 0x2a926f7d ip_build_and_send_pkt +EXPORT_SYMBOL_GPL vmlinux 0x2a976d1c dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x2abccb50 crc64_rocksoft_generic +EXPORT_SYMBOL_GPL vmlinux 0x2abf51e7 phy_modify_mmd_changed +EXPORT_SYMBOL_GPL vmlinux 0x2ac20045 unwind_get_return_address +EXPORT_SYMBOL_GPL vmlinux 0x2adceab6 gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x2b159cb4 tty_init_termios +EXPORT_SYMBOL_GPL vmlinux 0x2b4509dd devlink_health_reporter_state_update +EXPORT_SYMBOL_GPL vmlinux 0x2ba6b0b5 fwnode_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x2bad20f6 __inet_twsk_schedule +EXPORT_SYMBOL_GPL vmlinux 0x2bc12142 blk_mq_alloc_sq_tag_set +EXPORT_SYMBOL_GPL vmlinux 0x2bcb8e12 debugfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x2bce85f3 pci_sriov_set_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x2bd15a7e xfrm_output_resume +EXPORT_SYMBOL_GPL vmlinux 0x2bd2915e kfree_strarray +EXPORT_SYMBOL_GPL vmlinux 0x2bd643d6 irq_set_default_host +EXPORT_SYMBOL_GPL vmlinux 0x2be7a54a proc_get_parent_data +EXPORT_SYMBOL_GPL vmlinux 0x2c08a47c xdp_return_frame_rx_napi +EXPORT_SYMBOL_GPL vmlinux 0x2c0a59b2 fib_rules_lookup +EXPORT_SYMBOL_GPL vmlinux 0x2c139202 udp_abort +EXPORT_SYMBOL_GPL vmlinux 0x2c1741b2 inet_unhash +EXPORT_SYMBOL_GPL vmlinux 0x2c3054f9 net_inc_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x2c365651 pci_epc_get_msi +EXPORT_SYMBOL_GPL vmlinux 0x2c36cc85 __tracepoint_unmap +EXPORT_SYMBOL_GPL vmlinux 0x2c407f81 iommu_report_device_fault +EXPORT_SYMBOL_GPL vmlinux 0x2c5d250c vp_modern_get_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x2c66ac85 devlink_info_serial_number_put +EXPORT_SYMBOL_GPL vmlinux 0x2c7256dc synth_event_add_field +EXPORT_SYMBOL_GPL vmlinux 0x2c7680d3 security_inode_setattr +EXPORT_SYMBOL_GPL vmlinux 0x2c779e50 relay_file_operations +EXPORT_SYMBOL_GPL vmlinux 0x2c790d4a __tracepoint_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x2c7d13e2 __ioread32_copy +EXPORT_SYMBOL_GPL vmlinux 0x2c7db649 irq_dispose_mapping +EXPORT_SYMBOL_GPL vmlinux 0x2c7f2327 class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x2ca09058 __iptunnel_pull_header +EXPORT_SYMBOL_GPL vmlinux 0x2ccc6a79 transport_destroy_device +EXPORT_SYMBOL_GPL vmlinux 0x2cdfe770 gpiochip_lock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0x2ce61f33 __SCK__tp_func_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0x2d10246e dma_map_sgtable +EXPORT_SYMBOL_GPL vmlinux 0x2d1b02d2 usermodehelper_read_lock_wait +EXPORT_SYMBOL_GPL vmlinux 0x2d2dd36f kobj_ns_grab_current +EXPORT_SYMBOL_GPL vmlinux 0x2d41e6f5 __trace_puts +EXPORT_SYMBOL_GPL vmlinux 0x2d499aee crypto_unregister_skciphers +EXPORT_SYMBOL_GPL vmlinux 0x2d550231 auxiliary_device_init +EXPORT_SYMBOL_GPL vmlinux 0x2d55bef2 tty_port_register_device_serdev +EXPORT_SYMBOL_GPL vmlinux 0x2d5f69b3 rcu_read_unlock_strict +EXPORT_SYMBOL_GPL vmlinux 0x2d609547 dax_direct_access +EXPORT_SYMBOL_GPL vmlinux 0x2d71bc81 debugfs_attr_write +EXPORT_SYMBOL_GPL vmlinux 0x2d996bab cgroup_path_ns +EXPORT_SYMBOL_GPL vmlinux 0x2db11bd9 cio_halt +EXPORT_SYMBOL_GPL vmlinux 0x2dbab62a pci_cfg_access_unlock +EXPORT_SYMBOL_GPL vmlinux 0x2dc64043 fsverity_cleanup_inode +EXPORT_SYMBOL_GPL vmlinux 0x2dd3f3b7 pci_aer_clear_nonfatal_status +EXPORT_SYMBOL_GPL vmlinux 0x2ddd5b55 devlink_is_reload_failed +EXPORT_SYMBOL_GPL vmlinux 0x2de66ffa dma_mmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x2e028ae6 rcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x2e1d43cf lzo1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0x2e21a43d pci_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x2e2360b1 ftrace_set_global_notrace +EXPORT_SYMBOL_GPL vmlinux 0x2e66298c __SCK__tp_func_sched_util_est_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x2e676ab8 inet_twsk_put +EXPORT_SYMBOL_GPL vmlinux 0x2e75adf5 __traceiter_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x2e7f0499 seq_buf_printf +EXPORT_SYMBOL_GPL vmlinux 0x2e817a6b md_allow_write +EXPORT_SYMBOL_GPL vmlinux 0x2e9757b4 bpf_prog_add +EXPORT_SYMBOL_GPL vmlinux 0x2ebb19fd execute_in_process_context +EXPORT_SYMBOL_GPL vmlinux 0x2ebe3135 cpu_is_hotpluggable +EXPORT_SYMBOL_GPL vmlinux 0x2ec04e74 dma_need_sync +EXPORT_SYMBOL_GPL vmlinux 0x2ed489ec gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL vmlinux 0x2edffa28 vp_legacy_set_queue_address +EXPORT_SYMBOL_GPL vmlinux 0x2f093f8d bpf_map_inc +EXPORT_SYMBOL_GPL vmlinux 0x2f0b8bfe transport_class_register +EXPORT_SYMBOL_GPL vmlinux 0x2f0ede09 get_ccwdev_by_dev_id +EXPORT_SYMBOL_GPL vmlinux 0x2f0ef902 crypto_stats_get +EXPORT_SYMBOL_GPL vmlinux 0x2f1ea064 __SCK__tp_func_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x2f24a601 sysfs_remove_files +EXPORT_SYMBOL_GPL vmlinux 0x2f2c95c4 flush_work +EXPORT_SYMBOL_GPL vmlinux 0x2f3b31bb register_pernet_device +EXPORT_SYMBOL_GPL vmlinux 0x2f4880df static_key_slow_dec +EXPORT_SYMBOL_GPL vmlinux 0x2f56890e bpf_trace_run6 +EXPORT_SYMBOL_GPL vmlinux 0x2f64be23 alarm_start_relative +EXPORT_SYMBOL_GPL vmlinux 0x2f89d540 __mmdrop +EXPORT_SYMBOL_GPL vmlinux 0x2fc1e0fe kmem_valid_obj +EXPORT_SYMBOL_GPL vmlinux 0x2fd6b2a4 dst_cache_set_ip6 +EXPORT_SYMBOL_GPL vmlinux 0x2fdca4ca crypto_stats_compress +EXPORT_SYMBOL_GPL vmlinux 0x2fe1c4f8 fuse_conn_get +EXPORT_SYMBOL_GPL vmlinux 0x2ff006f7 fat_time_fat2unix +EXPORT_SYMBOL_GPL vmlinux 0x2ffa8df6 __gmap_translate +EXPORT_SYMBOL_GPL vmlinux 0x302f8fc5 devm_bitmap_zalloc +EXPORT_SYMBOL_GPL vmlinux 0x304eaf63 __fscrypt_inode_uses_inline_crypto +EXPORT_SYMBOL_GPL vmlinux 0x3061cfce ring_buffer_entries_cpu +EXPORT_SYMBOL_GPL vmlinux 0x30696079 rhashtable_free_and_destroy +EXPORT_SYMBOL_GPL vmlinux 0x306bfe19 s390_reset_cmma +EXPORT_SYMBOL_GPL vmlinux 0x30a2a6ca gmap_pmdp_invalidate +EXPORT_SYMBOL_GPL vmlinux 0x30c63fa0 bus_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x30d04a35 gfn_to_hva +EXPORT_SYMBOL_GPL vmlinux 0x30d5d5cb xfrm_dev_offload_ok +EXPORT_SYMBOL_GPL vmlinux 0x30df910c of_phandle_args_to_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x30e94191 skcipher_alloc_instance_simple +EXPORT_SYMBOL_GPL vmlinux 0x31019477 __ftrace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x31266931 con_debug_leave +EXPORT_SYMBOL_GPL vmlinux 0x3138d73e sbitmap_queue_show +EXPORT_SYMBOL_GPL vmlinux 0x315775c9 crypto_stats_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x31726ab7 gpiod_set_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x317924fa set_capacity_and_notify +EXPORT_SYMBOL_GPL vmlinux 0x3187490a __SCK__tp_func_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x319fe496 crypto_register_scomp +EXPORT_SYMBOL_GPL vmlinux 0x31a95e8b ring_buffer_record_enable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x31abf042 pci_destroy_slot +EXPORT_SYMBOL_GPL vmlinux 0x31bc2485 crypto_stats_akcipher_verify +EXPORT_SYMBOL_GPL vmlinux 0x31d3199b rhltable_init +EXPORT_SYMBOL_GPL vmlinux 0x31e8f517 class_dev_iter_exit +EXPORT_SYMBOL_GPL vmlinux 0x31ea3b6d folio_invalidate +EXPORT_SYMBOL_GPL vmlinux 0x3207d498 handle_bad_irq +EXPORT_SYMBOL_GPL vmlinux 0x32096d4d virtqueue_get_desc_addr +EXPORT_SYMBOL_GPL vmlinux 0x32153dcd fib_rules_unregister +EXPORT_SYMBOL_GPL vmlinux 0x321b5a8f fat_detach +EXPORT_SYMBOL_GPL vmlinux 0x3224b2a9 mpi_read_raw_from_sgl +EXPORT_SYMBOL_GPL vmlinux 0x32274d49 skb_append_pagefrags +EXPORT_SYMBOL_GPL vmlinux 0x325888a3 __tracepoint_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0x32804ca8 wbt_enable_default +EXPORT_SYMBOL_GPL vmlinux 0x32836981 public_key_verify_signature +EXPORT_SYMBOL_GPL vmlinux 0x329ccf8c __udp_enqueue_schedule_skb +EXPORT_SYMBOL_GPL vmlinux 0x32ab06cc irq_percpu_is_enabled +EXPORT_SYMBOL_GPL vmlinux 0x32ab9b02 irq_chip_disable_parent +EXPORT_SYMBOL_GPL vmlinux 0x32bc0fcf preempt_notifier_dec +EXPORT_SYMBOL_GPL vmlinux 0x32c3cb4e class_compat_register +EXPORT_SYMBOL_GPL vmlinux 0x32f8ecca tpm_chip_register +EXPORT_SYMBOL_GPL vmlinux 0x330010b6 cpuset_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x330f6116 set_dax_synchronous +EXPORT_SYMBOL_GPL vmlinux 0x3325205c exportfs_encode_inode_fh +EXPORT_SYMBOL_GPL vmlinux 0x33307f6f device_get_next_child_node +EXPORT_SYMBOL_GPL vmlinux 0x335c570f enable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x3370411d blkcg_policy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x337176bf component_compare_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x33e76575 raw_hash_sk +EXPORT_SYMBOL_GPL vmlinux 0x33e863d9 cgroup_get_from_path +EXPORT_SYMBOL_GPL vmlinux 0x33efc8c8 trace_clock_local +EXPORT_SYMBOL_GPL vmlinux 0x33f90753 is_hash_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0x3400e3d1 nexthop_find_by_id +EXPORT_SYMBOL_GPL vmlinux 0x34054baf regcache_drop_region +EXPORT_SYMBOL_GPL vmlinux 0x3407cb0e fat_truncate_time +EXPORT_SYMBOL_GPL vmlinux 0x34407691 crypto_has_ahash +EXPORT_SYMBOL_GPL vmlinux 0x3450ad94 mpi_set_ui +EXPORT_SYMBOL_GPL vmlinux 0x345607e6 gmap_shadow_r3t +EXPORT_SYMBOL_GPL vmlinux 0x346ac93b start_poll_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x349843d1 scm_irq_handler +EXPORT_SYMBOL_GPL vmlinux 0x34985037 fb_deferred_io_mmap +EXPORT_SYMBOL_GPL vmlinux 0x34fc4ad3 __tracepoint_block_split +EXPORT_SYMBOL_GPL vmlinux 0x34fc9e14 devm_add_action +EXPORT_SYMBOL_GPL vmlinux 0x34ff1022 synth_event_trace +EXPORT_SYMBOL_GPL vmlinux 0x34ff7ac1 __root_device_register +EXPORT_SYMBOL_GPL vmlinux 0x3504a5ca vp_legacy_get_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x350f6ce5 tasklet_unlock_wait +EXPORT_SYMBOL_GPL vmlinux 0x352ec68b bpf_offload_dev_destroy +EXPORT_SYMBOL_GPL vmlinux 0x353b496c devlink_port_attrs_set +EXPORT_SYMBOL_GPL vmlinux 0x353f10e6 virtqueue_add_inbuf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x354aeb16 vfs_kern_mount +EXPORT_SYMBOL_GPL vmlinux 0x354ba678 iommu_attach_group +EXPORT_SYMBOL_GPL vmlinux 0x355ee271 regmap_read +EXPORT_SYMBOL_GPL vmlinux 0x3565a929 utf8_data_table +EXPORT_SYMBOL_GPL vmlinux 0x35721bdc input_ff_event +EXPORT_SYMBOL_GPL vmlinux 0x3575a142 devlink_traps_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3584114e alarm_forward +EXPORT_SYMBOL_GPL vmlinux 0x3586f653 subsys_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0x358897d3 bsg_job_get +EXPORT_SYMBOL_GPL vmlinux 0x359e5c71 mnt_want_write_file +EXPORT_SYMBOL_GPL vmlinux 0x359f5926 cgrp_dfl_root +EXPORT_SYMBOL_GPL vmlinux 0x359fa704 shash_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0x35a3fce6 __irq_resolve_mapping +EXPORT_SYMBOL_GPL vmlinux 0x35c378fa sync_blockdev_nowait +EXPORT_SYMBOL_GPL vmlinux 0x35ddfdf5 strp_init +EXPORT_SYMBOL_GPL vmlinux 0x35e941a6 blkcg_print_blkgs +EXPORT_SYMBOL_GPL vmlinux 0x35fe7899 md_find_rdev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x35fe9873 iommu_register_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0x3607c5d7 sthyi_fill +EXPORT_SYMBOL_GPL vmlinux 0x36091103 fib6_check_nexthop +EXPORT_SYMBOL_GPL vmlinux 0x360f7240 sk_msg_zerocopy_from_iter +EXPORT_SYMBOL_GPL vmlinux 0x3614cfdc pci_enable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x361f297b sched_setattr_nocheck +EXPORT_SYMBOL_GPL vmlinux 0x36242943 switchdev_deferred_process +EXPORT_SYMBOL_GPL vmlinux 0x3629938c kill_pid_usb_asyncio +EXPORT_SYMBOL_GPL vmlinux 0x3638f3d6 kthread_unpark +EXPORT_SYMBOL_GPL vmlinux 0x364354ba rhashtable_destroy +EXPORT_SYMBOL_GPL vmlinux 0x365b45d1 __tracepoint_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x366f4f4e rt_mutex_lock +EXPORT_SYMBOL_GPL vmlinux 0x36765b56 kobject_move +EXPORT_SYMBOL_GPL vmlinux 0x367b5f12 virtqueue_get_buf_ctx +EXPORT_SYMBOL_GPL vmlinux 0x36896897 dm_copy_name_and_uuid +EXPORT_SYMBOL_GPL vmlinux 0x36898d6f gpiod_remove_hogs +EXPORT_SYMBOL_GPL vmlinux 0x369fcd70 tracing_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x36c80c36 klist_add_tail +EXPORT_SYMBOL_GPL vmlinux 0x36d339e7 crypto_grab_ahash +EXPORT_SYMBOL_GPL vmlinux 0x36e41a27 __fl6_sock_lookup +EXPORT_SYMBOL_GPL vmlinux 0x36e5f104 class_find_device +EXPORT_SYMBOL_GPL vmlinux 0x36f6a9a1 x509_cert_parse +EXPORT_SYMBOL_GPL vmlinux 0x371484f8 scsi_target_unblock +EXPORT_SYMBOL_GPL vmlinux 0x3761d215 idr_find +EXPORT_SYMBOL_GPL vmlinux 0x37647241 gmap_unregister_pte_notifier +EXPORT_SYMBOL_GPL vmlinux 0x3786ad9d phy_start_machine +EXPORT_SYMBOL_GPL vmlinux 0x37915bcc pci_epc_write_header +EXPORT_SYMBOL_GPL vmlinux 0x379a2474 register_pernet_subsys +EXPORT_SYMBOL_GPL vmlinux 0x37bf7be3 percpu_ref_exit +EXPORT_SYMBOL_GPL vmlinux 0x37d114ac subsys_virtual_register +EXPORT_SYMBOL_GPL vmlinux 0x37e68130 aead_exit_geniv +EXPORT_SYMBOL_GPL vmlinux 0x37faa694 vfs_fallocate +EXPORT_SYMBOL_GPL vmlinux 0x37fef2f2 irq_force_affinity +EXPORT_SYMBOL_GPL vmlinux 0x380a45d8 metadata_dst_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x380b8cca phy_resolve_aneg_pause +EXPORT_SYMBOL_GPL vmlinux 0x380ffa25 alloc_dax +EXPORT_SYMBOL_GPL vmlinux 0x3824b14b restore_online_page_callback +EXPORT_SYMBOL_GPL vmlinux 0x38280e7f rt_mutex_lock_killable +EXPORT_SYMBOL_GPL vmlinux 0x38374815 clear_selection +EXPORT_SYMBOL_GPL vmlinux 0x38493a8b idr_alloc_u32 +EXPORT_SYMBOL_GPL vmlinux 0x386d6eff crypto_chain +EXPORT_SYMBOL_GPL vmlinux 0x38846835 alarm_init +EXPORT_SYMBOL_GPL vmlinux 0x389b64a2 static_key_count +EXPORT_SYMBOL_GPL vmlinux 0x38aa1397 gpiod_add_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0x38ad1926 skb_partial_csum_set +EXPORT_SYMBOL_GPL vmlinux 0x38b91860 genphy_c45_pma_suspend +EXPORT_SYMBOL_GPL vmlinux 0x38c8d84e inet6_lookup_listener +EXPORT_SYMBOL_GPL vmlinux 0x38dc89f9 unix_outq_len +EXPORT_SYMBOL_GPL vmlinux 0x38e0a29f __xdp_build_skb_from_frame +EXPORT_SYMBOL_GPL vmlinux 0x38e12d3b transport_configure_device +EXPORT_SYMBOL_GPL vmlinux 0x38e1fde7 mpi_set +EXPORT_SYMBOL_GPL vmlinux 0x38eba61f iomap_ioend_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x38eba883 ethnl_cable_test_result +EXPORT_SYMBOL_GPL vmlinux 0x38fbc25c tty_port_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0x390cfd8c kobject_uevent +EXPORT_SYMBOL_GPL vmlinux 0x39106fe7 irq_domain_create_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0x3914795a ethnl_cable_test_free +EXPORT_SYMBOL_GPL vmlinux 0x3915a411 blk_mq_sched_try_merge +EXPORT_SYMBOL_GPL vmlinux 0x393ffa6f asymmetric_key_generate_id +EXPORT_SYMBOL_GPL vmlinux 0x395774c9 pci_sriov_get_totalvfs +EXPORT_SYMBOL_GPL vmlinux 0x39579087 sfp_may_have_phy +EXPORT_SYMBOL_GPL vmlinux 0x397e2142 __SCK__tp_func_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x397f7803 phy_resolve_aneg_linkmode +EXPORT_SYMBOL_GPL vmlinux 0x397fc12e page_cache_sync_ra +EXPORT_SYMBOL_GPL vmlinux 0x398bc1fc sbitmap_queue_min_shallow_depth +EXPORT_SYMBOL_GPL vmlinux 0x39a7affc driver_deferred_probe_timeout +EXPORT_SYMBOL_GPL vmlinux 0x39bc5d83 sock_diag_destroy +EXPORT_SYMBOL_GPL vmlinux 0x39c32aca __SCK__tp_func_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x39cf0ef6 __rt_mutex_init +EXPORT_SYMBOL_GPL vmlinux 0x39ded098 rdma_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x39e47926 pkcs7_free_message +EXPORT_SYMBOL_GPL vmlinux 0x39fd83db halt_poll_ns_shrink +EXPORT_SYMBOL_GPL vmlinux 0x3a24fb2f percpu_ref_resurrect +EXPORT_SYMBOL_GPL vmlinux 0x3a51cf87 __crypto_alloc_tfm +EXPORT_SYMBOL_GPL vmlinux 0x3a536bd7 ring_buffer_read_finish +EXPORT_SYMBOL_GPL vmlinux 0x3a54c272 bpf_verifier_log_write +EXPORT_SYMBOL_GPL vmlinux 0x3a55981a static_key_enable_cpuslocked +EXPORT_SYMBOL_GPL vmlinux 0x3a609f52 blk_mq_update_nr_hw_queues +EXPORT_SYMBOL_GPL vmlinux 0x3a68b9a4 task_cgroup_path +EXPORT_SYMBOL_GPL vmlinux 0x3a705954 iommu_group_add_device +EXPORT_SYMBOL_GPL vmlinux 0x3a74e484 __tracepoint_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x3a792fc8 disable_cmf +EXPORT_SYMBOL_GPL vmlinux 0x3a8c3770 bdev_alignment_offset +EXPORT_SYMBOL_GPL vmlinux 0x3a8c9f4c tpm_is_tpm2 +EXPORT_SYMBOL_GPL vmlinux 0x3a9247c3 strp_process +EXPORT_SYMBOL_GPL vmlinux 0x3a9be019 asymmetric_key_id_partial +EXPORT_SYMBOL_GPL vmlinux 0x3aac566c misc_cg_try_charge +EXPORT_SYMBOL_GPL vmlinux 0x3ab4baa3 regmap_fields_read +EXPORT_SYMBOL_GPL vmlinux 0x3acb2775 regmap_noinc_read +EXPORT_SYMBOL_GPL vmlinux 0x3ae03d40 xas_pause +EXPORT_SYMBOL_GPL vmlinux 0x3ae6618e blk_req_zone_write_trylock +EXPORT_SYMBOL_GPL vmlinux 0x3aec5c99 __vfs_removexattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x3b3651d1 cookie_tcp_reqsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3b3c01b2 blk_mq_freeze_queue +EXPORT_SYMBOL_GPL vmlinux 0x3b403ed0 device_property_present +EXPORT_SYMBOL_GPL vmlinux 0x3b610584 __tracepoint_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x3b65ac54 dm_internal_resume +EXPORT_SYMBOL_GPL vmlinux 0x3b8cfbd4 zpci_aipb +EXPORT_SYMBOL_GPL vmlinux 0x3b95f543 klp_shadow_free +EXPORT_SYMBOL_GPL vmlinux 0x3ba01b47 get_compat_sigset +EXPORT_SYMBOL_GPL vmlinux 0x3bc067f4 alloc_skb_for_msg +EXPORT_SYMBOL_GPL vmlinux 0x3bcb8552 virtqueue_enable_cb_delayed +EXPORT_SYMBOL_GPL vmlinux 0x3bdb5d28 alg_test +EXPORT_SYMBOL_GPL vmlinux 0x3bdc0e0c __tracepoint_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x3bf17755 mpi_read_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3bf848af inet_ctl_sock_create +EXPORT_SYMBOL_GPL vmlinux 0x3bfacf14 skb_to_sgvec +EXPORT_SYMBOL_GPL vmlinux 0x3c07d8bb __dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0x3c1c3725 rcu_fwd_progress_check +EXPORT_SYMBOL_GPL vmlinux 0x3c23ede3 device_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0x3c268bb5 blk_mq_quiesce_queue_nowait +EXPORT_SYMBOL_GPL vmlinux 0x3c351e49 tpm_pcr_read +EXPORT_SYMBOL_GPL vmlinux 0x3c3c85d8 __SCK__tp_func_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x3c41c3b6 __dax_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x3c4b73c2 virtio_add_status +EXPORT_SYMBOL_GPL vmlinux 0x3c681dc4 ring_buffer_record_disable +EXPORT_SYMBOL_GPL vmlinux 0x3c6a82e7 vcpu_put +EXPORT_SYMBOL_GPL vmlinux 0x3ca9ca0d devlink_rate_nodes_destroy +EXPORT_SYMBOL_GPL vmlinux 0x3cabb078 kthread_cancel_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x3cc0f0d4 fwnode_property_read_string_array +EXPORT_SYMBOL_GPL vmlinux 0x3cc60807 evm_set_key +EXPORT_SYMBOL_GPL vmlinux 0x3cd06035 add_input_randomness +EXPORT_SYMBOL_GPL vmlinux 0x3cd1b510 trace_vbprintk +EXPORT_SYMBOL_GPL vmlinux 0x3cf1e72a call_switchdev_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x3d14b183 regmap_attach_dev +EXPORT_SYMBOL_GPL vmlinux 0x3d439b1f md_stop +EXPORT_SYMBOL_GPL vmlinux 0x3d4b3387 preempt_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0x3d510a7b rcu_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0x3d866e05 __SCK__tp_func_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0x3daa2540 nf_hooks_lwtunnel_enabled +EXPORT_SYMBOL_GPL vmlinux 0x3dc9dc9f ndo_dflt_bridge_getlink +EXPORT_SYMBOL_GPL vmlinux 0x3dcc244e inet_twsk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x3de9cae1 crypto_remove_final +EXPORT_SYMBOL_GPL vmlinux 0x3df7a01b kvm_init +EXPORT_SYMBOL_GPL vmlinux 0x3dff3957 scsi_schedule_eh +EXPORT_SYMBOL_GPL vmlinux 0x3e0dcfd4 fscrypt_prepare_symlink +EXPORT_SYMBOL_GPL vmlinux 0x3e15abc2 xdp_attachment_setup +EXPORT_SYMBOL_GPL vmlinux 0x3e17de6e xas_find +EXPORT_SYMBOL_GPL vmlinux 0x3e18c3e4 switchdev_handle_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x3e1ca507 pci_epc_set_msix +EXPORT_SYMBOL_GPL vmlinux 0x3e1e1fdd pci_find_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0x3e344dcf fscrypt_ioctl_remove_key_all_users +EXPORT_SYMBOL_GPL vmlinux 0x3e697c9c fsnotify_destroy_mark +EXPORT_SYMBOL_GPL vmlinux 0x3e7080cb mpi_read_from_buffer +EXPORT_SYMBOL_GPL vmlinux 0x3ec2a732 iomap_file_buffered_write +EXPORT_SYMBOL_GPL vmlinux 0x3ed73a44 is_virtio_device +EXPORT_SYMBOL_GPL vmlinux 0x3ef051c8 crypto_inc +EXPORT_SYMBOL_GPL vmlinux 0x3f041b8f device_get_dma_attr +EXPORT_SYMBOL_GPL vmlinux 0x3f04d121 irq_domain_update_bus_token +EXPORT_SYMBOL_GPL vmlinux 0x3f26762e crypto_inst_setname +EXPORT_SYMBOL_GPL vmlinux 0x3f270ab7 mmu_notifier_put +EXPORT_SYMBOL_GPL vmlinux 0x3f46abfd __platform_register_drivers +EXPORT_SYMBOL_GPL vmlinux 0x3f69b6a6 css_sched_sch_todo +EXPORT_SYMBOL_GPL vmlinux 0x3f71636e scsi_alloc_request +EXPORT_SYMBOL_GPL vmlinux 0x3f7aa393 crypto_alloc_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x3f7e33c2 transport_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x3f84bcd7 dax_alive +EXPORT_SYMBOL_GPL vmlinux 0x3f8d3ecc do_tcp_sendpages +EXPORT_SYMBOL_GPL vmlinux 0x3fc6e514 securityfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x3fd44ddf subsys_dev_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x3fe6c346 devlink_fmsg_binary_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x3ffdacf3 timerqueue_iterate_next +EXPORT_SYMBOL_GPL vmlinux 0x4002b44a scsi_host_block +EXPORT_SYMBOL_GPL vmlinux 0x40244390 mark_page_dirty_in_slot +EXPORT_SYMBOL_GPL vmlinux 0x40335514 crypto_shash_update +EXPORT_SYMBOL_GPL vmlinux 0x403f9529 gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0x406c4cb1 hrtimer_resolution +EXPORT_SYMBOL_GPL vmlinux 0x4071b517 out_of_line_wait_on_bit_timeout +EXPORT_SYMBOL_GPL vmlinux 0x407e8086 phy_speed_down +EXPORT_SYMBOL_GPL vmlinux 0x40957b1e console_drivers +EXPORT_SYMBOL_GPL vmlinux 0x4099d2a2 pci_epc_linkup +EXPORT_SYMBOL_GPL vmlinux 0x4099f919 tun_ptr_free +EXPORT_SYMBOL_GPL vmlinux 0x40a13568 vbin_printf +EXPORT_SYMBOL_GPL vmlinux 0x40a23395 register_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x40a602c2 iommu_sva_bind_device +EXPORT_SYMBOL_GPL vmlinux 0x40ac9788 blk_abort_request +EXPORT_SYMBOL_GPL vmlinux 0x40acca5b show_class_attr_string +EXPORT_SYMBOL_GPL vmlinux 0x40ed65e6 irq_domain_remove_sim +EXPORT_SYMBOL_GPL vmlinux 0x40f3643f watchdog_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x40f5a05a irq_set_chip_and_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x40f8b94e ring_buffer_iter_dropped +EXPORT_SYMBOL_GPL vmlinux 0x40f8bd4e klist_add_before +EXPORT_SYMBOL_GPL vmlinux 0x410f47ef scatterwalk_copychunks +EXPORT_SYMBOL_GPL vmlinux 0x41142533 udp_init_sock +EXPORT_SYMBOL_GPL vmlinux 0x411fc5c0 exportfs_decode_fh +EXPORT_SYMBOL_GPL vmlinux 0x4120d5ea synth_event_create +EXPORT_SYMBOL_GPL vmlinux 0x412779cc pci_set_cacheline_size +EXPORT_SYMBOL_GPL vmlinux 0x412bc681 ring_buffer_empty_cpu +EXPORT_SYMBOL_GPL vmlinux 0x416ab200 pci_epc_mem_alloc_addr +EXPORT_SYMBOL_GPL vmlinux 0x417d8076 dax_zero_page_range +EXPORT_SYMBOL_GPL vmlinux 0x41814cb8 dirty_writeback_interval +EXPORT_SYMBOL_GPL vmlinux 0x418bb531 tty_buffer_set_limit +EXPORT_SYMBOL_GPL vmlinux 0x418eb6e1 blkcg_deactivate_policy +EXPORT_SYMBOL_GPL vmlinux 0x418f6abd fwnode_get_next_parent +EXPORT_SYMBOL_GPL vmlinux 0x41905c23 crypto_comp_decompress +EXPORT_SYMBOL_GPL vmlinux 0x41989110 strp_check_rcv +EXPORT_SYMBOL_GPL vmlinux 0x419cad8e percpu_up_write +EXPORT_SYMBOL_GPL vmlinux 0x419e7efd sfp_module_stop +EXPORT_SYMBOL_GPL vmlinux 0x41b1a4df bus_set_iommu +EXPORT_SYMBOL_GPL vmlinux 0x41b9a6e6 bsg_unregister_queue +EXPORT_SYMBOL_GPL vmlinux 0x41d2948d property_entries_dup +EXPORT_SYMBOL_GPL vmlinux 0x41e62934 bd_prepare_to_claim +EXPORT_SYMBOL_GPL vmlinux 0x41ed3cec eventfd_ctx_remove_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x41fa8ffc perf_event_sysfs_show +EXPORT_SYMBOL_GPL vmlinux 0x41fb68cb copy_from_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0x4204f03b bpf_trace_run8 +EXPORT_SYMBOL_GPL vmlinux 0x420d8814 scsi_nl_sock +EXPORT_SYMBOL_GPL vmlinux 0x42269fe9 get_net_ns_by_pid +EXPORT_SYMBOL_GPL vmlinux 0x423b04f8 sysfs_create_files +EXPORT_SYMBOL_GPL vmlinux 0x423cec19 sysfs_create_group +EXPORT_SYMBOL_GPL vmlinux 0x42448746 sock_diag_put_meminfo +EXPORT_SYMBOL_GPL vmlinux 0x424926e0 __traceiter_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x425a2b37 genphy_c45_read_link +EXPORT_SYMBOL_GPL vmlinux 0x426d9818 kernfs_find_and_get_ns +EXPORT_SYMBOL_GPL vmlinux 0x42825ce2 rcu_scheduler_active +EXPORT_SYMBOL_GPL vmlinux 0x429609d8 __ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0x429c3f9c reboot_mode +EXPORT_SYMBOL_GPL vmlinux 0x429d4952 inode_sb_list_add +EXPORT_SYMBOL_GPL vmlinux 0x42b9ab38 blk_freeze_queue_start +EXPORT_SYMBOL_GPL vmlinux 0x42c00d62 __wake_up_locked +EXPORT_SYMBOL_GPL vmlinux 0x42e9d0da ring_buffer_unlock_commit +EXPORT_SYMBOL_GPL vmlinux 0x430d88ec __traceiter_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x430fa18b cpu_topology +EXPORT_SYMBOL_GPL vmlinux 0x4321b949 poll_state_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x4323b3e3 blkg_rwstat_recursive_sum +EXPORT_SYMBOL_GPL vmlinux 0x432a066b ip4_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x432adbfb md_submit_discard_bio +EXPORT_SYMBOL_GPL vmlinux 0x433ce290 skb_mpls_dec_ttl +EXPORT_SYMBOL_GPL vmlinux 0x433de01c device_create_bin_file +EXPORT_SYMBOL_GPL vmlinux 0x435c0b15 folio_wait_writeback_killable +EXPORT_SYMBOL_GPL vmlinux 0x435ec5a0 irq_domain_add_legacy +EXPORT_SYMBOL_GPL vmlinux 0x436d817f mpi_clear_bit +EXPORT_SYMBOL_GPL vmlinux 0x437eb1df ipv6_mod_enabled +EXPORT_SYMBOL_GPL vmlinux 0x4388497f xa_delete_node +EXPORT_SYMBOL_GPL vmlinux 0x43aa319e lease_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x43c33665 isc_unregister +EXPORT_SYMBOL_GPL vmlinux 0x43e2e1a0 dm_get_md +EXPORT_SYMBOL_GPL vmlinux 0x43e9f773 blk_stat_disable_accounting +EXPORT_SYMBOL_GPL vmlinux 0x43f92edd wait_for_initramfs +EXPORT_SYMBOL_GPL vmlinux 0x43fb8a0f pci_hp_create_module_link +EXPORT_SYMBOL_GPL vmlinux 0x4401e6c2 mpi_cmpabs +EXPORT_SYMBOL_GPL vmlinux 0x44084b03 gpiochip_generic_config +EXPORT_SYMBOL_GPL vmlinux 0x440be4b9 trace_seq_putmem +EXPORT_SYMBOL_GPL vmlinux 0x441308e0 task_active_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x442deaa9 poll_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x4439bcd2 __SCK__tp_func_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x443ac1fa debugfs_create_x16 +EXPORT_SYMBOL_GPL vmlinux 0x443bb01e relay_late_setup_files +EXPORT_SYMBOL_GPL vmlinux 0x4484a5a4 wait_for_device_probe +EXPORT_SYMBOL_GPL vmlinux 0x44869676 aead_init_geniv +EXPORT_SYMBOL_GPL vmlinux 0x4487511c devm_kmalloc +EXPORT_SYMBOL_GPL vmlinux 0x449623ec get_net_ns +EXPORT_SYMBOL_GPL vmlinux 0x44987827 crypto_shash_digest +EXPORT_SYMBOL_GPL vmlinux 0x44bae227 bit_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0x44cf8cf0 blk_zone_cond_str +EXPORT_SYMBOL_GPL vmlinux 0x44e0ccaa zpci_set_irq_ctrl +EXPORT_SYMBOL_GPL vmlinux 0x450164fe ncsi_start_dev +EXPORT_SYMBOL_GPL vmlinux 0x4507f4a8 cpuhp_tasks_frozen +EXPORT_SYMBOL_GPL vmlinux 0x4526ff65 device_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4527ad48 nfs_ssc_client_tbl +EXPORT_SYMBOL_GPL vmlinux 0x453c9fec crypto_grab_aead +EXPORT_SYMBOL_GPL vmlinux 0x4541bb6d genphy_c45_baset1_read_status +EXPORT_SYMBOL_GPL vmlinux 0x457594fa crypto_alg_list +EXPORT_SYMBOL_GPL vmlinux 0x4576df51 __irq_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x459e944d pci_epf_alloc_space +EXPORT_SYMBOL_GPL vmlinux 0x45b535ef __rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0x45c04efa user_free_preparse +EXPORT_SYMBOL_GPL vmlinux 0x45d261c1 device_destroy +EXPORT_SYMBOL_GPL vmlinux 0x45f35d92 device_attach +EXPORT_SYMBOL_GPL vmlinux 0x45f53716 input_device_enabled +EXPORT_SYMBOL_GPL vmlinux 0x46013233 net_dec_ingress_queue +EXPORT_SYMBOL_GPL vmlinux 0x46269814 __tracepoint_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0x4629597e devm_platform_get_irqs_affinity +EXPORT_SYMBOL_GPL vmlinux 0x46343ebb sbitmap_queue_clear +EXPORT_SYMBOL_GPL vmlinux 0x463858ad iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0x4653ccc2 sock_gen_put +EXPORT_SYMBOL_GPL vmlinux 0x4688d367 virtio_break_device +EXPORT_SYMBOL_GPL vmlinux 0x4688d7ec pvclock_gtod_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x46ae3d88 simple_attr_release +EXPORT_SYMBOL_GPL vmlinux 0x46e21106 tcp_rate_check_app_limited +EXPORT_SYMBOL_GPL vmlinux 0x46f5e1dd fuse_simple_background +EXPORT_SYMBOL_GPL vmlinux 0x46f95b79 nfnl_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x4705aee5 dev_xdp_prog_count +EXPORT_SYMBOL_GPL vmlinux 0x4714ac80 sysfs_create_link +EXPORT_SYMBOL_GPL vmlinux 0x47229b5c gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x4723dcc3 device_add_software_node +EXPORT_SYMBOL_GPL vmlinux 0x47441feb devlink_port_attrs_pci_sf_set +EXPORT_SYMBOL_GPL vmlinux 0x474b0f92 ip6_datagram_recv_ctl +EXPORT_SYMBOL_GPL vmlinux 0x4761f17c register_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x477c023f watchdog_set_last_hw_keepalive +EXPORT_SYMBOL_GPL vmlinux 0x47884890 system_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0x478ab9eb handle_mm_fault +EXPORT_SYMBOL_GPL vmlinux 0x478e81f8 tcp_orphan_count +EXPORT_SYMBOL_GPL vmlinux 0x479469c6 __traceiter_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x479c5dbb fwnode_graph_get_remote_endpoint +EXPORT_SYMBOL_GPL vmlinux 0x47a21145 xfrm_audit_state_notfound_simple +EXPORT_SYMBOL_GPL vmlinux 0x47a6fed0 fsnotify_put_group +EXPORT_SYMBOL_GPL vmlinux 0x47ae45f9 __inet_lookup_established +EXPORT_SYMBOL_GPL vmlinux 0x47b11cae fuse_get_unique +EXPORT_SYMBOL_GPL vmlinux 0x47b6a4ac genphy_c45_loopback +EXPORT_SYMBOL_GPL vmlinux 0x47b89a5f tpm1_do_selftest +EXPORT_SYMBOL_GPL vmlinux 0x47ba90f6 dm_bio_get_target_bio_nr +EXPORT_SYMBOL_GPL vmlinux 0x47d389fd lwtunnel_encap_del_ops +EXPORT_SYMBOL_GPL vmlinux 0x47dac43b devm_irq_domain_create_sim +EXPORT_SYMBOL_GPL vmlinux 0x47fd8a9c sbitmap_queue_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0x480305ca kmsg_dump_rewind +EXPORT_SYMBOL_GPL vmlinux 0x481f9b7d mpi_mulm +EXPORT_SYMBOL_GPL vmlinux 0x4859364c device_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x485cd7f6 kvm_rebooting +EXPORT_SYMBOL_GPL vmlinux 0x48692590 iommu_group_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0x48908735 pci_dev_run_wake +EXPORT_SYMBOL_GPL vmlinux 0x4898e79d cio_start +EXPORT_SYMBOL_GPL vmlinux 0x48a09202 pgprot_writethrough +EXPORT_SYMBOL_GPL vmlinux 0x48c0fdea devm_watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x48c32847 __SCK__tp_func_sched_util_est_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x48e15b61 __devm_irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0x48e5eb7b blkcg_set_fc_appid +EXPORT_SYMBOL_GPL vmlinux 0x48e7c802 inet6_compat_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x48ed1f69 input_ff_destroy +EXPORT_SYMBOL_GPL vmlinux 0x48ed8ef7 devres_add +EXPORT_SYMBOL_GPL vmlinux 0x48f57b53 blk_add_driver_data +EXPORT_SYMBOL_GPL vmlinux 0x490b0432 driver_attach +EXPORT_SYMBOL_GPL vmlinux 0x49242bc7 freezer_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4934bdd0 crypto_check_attr_type +EXPORT_SYMBOL_GPL vmlinux 0x4939ebcd numa_map_to_online_node +EXPORT_SYMBOL_GPL vmlinux 0x495327f4 sfp_bus_find_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x49608959 migrate_disable +EXPORT_SYMBOL_GPL vmlinux 0x4969afe8 crypto_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x49878e87 tty_buffer_space_avail +EXPORT_SYMBOL_GPL vmlinux 0x499043d3 crypto_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x499bb94f relay_open +EXPORT_SYMBOL_GPL vmlinux 0x49ae09d8 iommu_unmap_fast +EXPORT_SYMBOL_GPL vmlinux 0x49cd25ed alloc_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x49cfeb82 crypto_stats_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x49d70fdb device_property_read_u8_array +EXPORT_SYMBOL_GPL vmlinux 0x49db1581 pin_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0x49e96999 cond_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x49ea931c __gfn_to_pfn_memslot +EXPORT_SYMBOL_GPL vmlinux 0x49f154ab dma_alloc_pages +EXPORT_SYMBOL_GPL vmlinux 0x49f5f08a __rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0x4a152be7 __hvc_resize +EXPORT_SYMBOL_GPL vmlinux 0x4a17ed66 sysrq_mask +EXPORT_SYMBOL_GPL vmlinux 0x4a24f10a irq_chip_set_vcpu_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0x4a2bb41d crypto_register_rngs +EXPORT_SYMBOL_GPL vmlinux 0x4a30ec52 __traceiter_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x4a51a3d6 devm_kmemdup +EXPORT_SYMBOL_GPL vmlinux 0x4a51ae3b relay_buf_full +EXPORT_SYMBOL_GPL vmlinux 0x4a65cf93 fwnode_graph_get_remote_port +EXPORT_SYMBOL_GPL vmlinux 0x4a7f853c crypto_register_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x4a8c5c65 perf_pmu_register +EXPORT_SYMBOL_GPL vmlinux 0x4ac67619 inet6_lookup +EXPORT_SYMBOL_GPL vmlinux 0x4acf259f ima_inode_hash +EXPORT_SYMBOL_GPL vmlinux 0x4ae0dbe0 ack_all_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x4afcbf16 netlink_has_listeners +EXPORT_SYMBOL_GPL vmlinux 0x4b05d078 pci_cfg_access_trylock +EXPORT_SYMBOL_GPL vmlinux 0x4b2c1382 dw_pcie_upconfig_setup +EXPORT_SYMBOL_GPL vmlinux 0x4b32b1ce fat_fill_super +EXPORT_SYMBOL_GPL vmlinux 0x4b38443f elv_rqhash_add +EXPORT_SYMBOL_GPL vmlinux 0x4b40cab9 platform_irq_count +EXPORT_SYMBOL_GPL vmlinux 0x4b62c83e mptcp_pm_get_add_addr_signal_max +EXPORT_SYMBOL_GPL vmlinux 0x4b647f78 serdev_controller_add +EXPORT_SYMBOL_GPL vmlinux 0x4b9fc158 relay_flush +EXPORT_SYMBOL_GPL vmlinux 0x4ba88dcb chsc_sgib +EXPORT_SYMBOL_GPL vmlinux 0x4bc14365 blk_mq_sched_try_insert_merge +EXPORT_SYMBOL_GPL vmlinux 0x4bd6f08b misc_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x4bd89c5a css_chsc_characteristics +EXPORT_SYMBOL_GPL vmlinux 0x4bdb8dcc housekeeping_test_cpu +EXPORT_SYMBOL_GPL vmlinux 0x4be60158 tcp_get_info +EXPORT_SYMBOL_GPL vmlinux 0x4c08bd98 compat_only_sysfs_link_entry_to_kobj +EXPORT_SYMBOL_GPL vmlinux 0x4c152e52 serdev_device_set_baudrate +EXPORT_SYMBOL_GPL vmlinux 0x4c3d5f66 fat_attach +EXPORT_SYMBOL_GPL vmlinux 0x4c516943 gpio_to_desc +EXPORT_SYMBOL_GPL vmlinux 0x4c56bd15 stack_type_name +EXPORT_SYMBOL_GPL vmlinux 0x4c732d74 bpf_offload_dev_netdev_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4c7ff1ac fscrypt_set_bio_crypt_ctx +EXPORT_SYMBOL_GPL vmlinux 0x4c896e72 bio_associate_blkg_from_css +EXPORT_SYMBOL_GPL vmlinux 0x4c903cd0 driver_deferred_probe_check_state +EXPORT_SYMBOL_GPL vmlinux 0x4c9d260a crypto_register_akcipher +EXPORT_SYMBOL_GPL vmlinux 0x4cb27100 ktime_get_snapshot +EXPORT_SYMBOL_GPL vmlinux 0x4cb81fda __SCK__tp_func_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x4ce91483 hrtimer_init +EXPORT_SYMBOL_GPL vmlinux 0x4d0015e2 cpu_hotplug_disable +EXPORT_SYMBOL_GPL vmlinux 0x4d09c3f0 driver_find_device +EXPORT_SYMBOL_GPL vmlinux 0x4d13e4f0 tty_port_register_device_attr_serdev +EXPORT_SYMBOL_GPL vmlinux 0x4d263dcc debugfs_create_file_size +EXPORT_SYMBOL_GPL vmlinux 0x4d3511d2 fixed_phy_unregister +EXPORT_SYMBOL_GPL vmlinux 0x4d4d7b79 blk_mq_map_queues +EXPORT_SYMBOL_GPL vmlinux 0x4d688be0 __blkg_prfill_u64 +EXPORT_SYMBOL_GPL vmlinux 0x4d6d0bbc iommu_group_ref_get +EXPORT_SYMBOL_GPL vmlinux 0x4d7272e4 migrate_enable +EXPORT_SYMBOL_GPL vmlinux 0x4d7c5fad css_sch_is_valid +EXPORT_SYMBOL_GPL vmlinux 0x4d80cba4 kmsg_dump_get_line +EXPORT_SYMBOL_GPL vmlinux 0x4da5bdb3 bsg_job_put +EXPORT_SYMBOL_GPL vmlinux 0x4db0ea53 fb_deferred_io_open +EXPORT_SYMBOL_GPL vmlinux 0x4dd0da9c sysfs_create_groups +EXPORT_SYMBOL_GPL vmlinux 0x4dd9d14d cn_netlink_send_mult +EXPORT_SYMBOL_GPL vmlinux 0x4de5bc53 file_ra_state_init +EXPORT_SYMBOL_GPL vmlinux 0x4df3b560 dma_mmap_pages +EXPORT_SYMBOL_GPL vmlinux 0x4e0c515c pci_iov_get_pf_drvdata +EXPORT_SYMBOL_GPL vmlinux 0x4e108497 crypto_enqueue_request_head +EXPORT_SYMBOL_GPL vmlinux 0x4e290090 gmap_map_segment +EXPORT_SYMBOL_GPL vmlinux 0x4e3fd1b4 kvm_release_pfn_clean +EXPORT_SYMBOL_GPL vmlinux 0x4e432e0b gpiod_set_value +EXPORT_SYMBOL_GPL vmlinux 0x4e481d34 genphy_c45_aneg_done +EXPORT_SYMBOL_GPL vmlinux 0x4e53e4c4 devlink_param_value_changed +EXPORT_SYMBOL_GPL vmlinux 0x4e74878e __tracepoint_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x4e8ee685 ccw_device_get_chpid +EXPORT_SYMBOL_GPL vmlinux 0x4e9f46b9 trace_event_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x4eac5fc1 cpu_mitigations_auto_nosmt +EXPORT_SYMBOL_GPL vmlinux 0x4eb39d4e __tracepoint_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0x4eb4f31b raw_unhash_sk +EXPORT_SYMBOL_GPL vmlinux 0x4eedd6f3 rhashtable_walk_stop +EXPORT_SYMBOL_GPL vmlinux 0x4ef5bcf4 perf_swevent_get_recursion_context +EXPORT_SYMBOL_GPL vmlinux 0x4ef8b262 hrtimer_init_sleeper +EXPORT_SYMBOL_GPL vmlinux 0x4efcf021 mpi_normalize +EXPORT_SYMBOL_GPL vmlinux 0x4f24fa49 bpf_prog_select_runtime +EXPORT_SYMBOL_GPL vmlinux 0x4f321058 __class_create +EXPORT_SYMBOL_GPL vmlinux 0x4f542fd2 fuse_request_end +EXPORT_SYMBOL_GPL vmlinux 0x4f5e02a0 crypto_dequeue_request +EXPORT_SYMBOL_GPL vmlinux 0x4f65cf22 gfn_to_memslot +EXPORT_SYMBOL_GPL vmlinux 0x4f6a07fe show_rcu_gp_kthreads +EXPORT_SYMBOL_GPL vmlinux 0x4f6fb30f devl_rate_leaf_destroy +EXPORT_SYMBOL_GPL vmlinux 0x4f91fd51 __wake_up_sync_key +EXPORT_SYMBOL_GPL vmlinux 0x4fa1b57b gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x4fa5344b devm_regmap_field_alloc +EXPORT_SYMBOL_GPL vmlinux 0x4faae098 fat_getattr +EXPORT_SYMBOL_GPL vmlinux 0x4fc6ab15 blkg_conf_finish +EXPORT_SYMBOL_GPL vmlinux 0x4fcc5614 add_swap_extent +EXPORT_SYMBOL_GPL vmlinux 0x4fe1eddf unregister_netevent_notifier +EXPORT_SYMBOL_GPL vmlinux 0x4ff61fb3 dma_can_mmap +EXPORT_SYMBOL_GPL vmlinux 0x5006d60f pci_get_dsn +EXPORT_SYMBOL_GPL vmlinux 0x50191582 ptep_notify +EXPORT_SYMBOL_GPL vmlinux 0x50616e69 devlink_resources_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5080ca5d unregister_net_sysctl_table +EXPORT_SYMBOL_GPL vmlinux 0x5091b823 ring_buffer_read_start +EXPORT_SYMBOL_GPL vmlinux 0x509f59c7 crypto_register_ahash +EXPORT_SYMBOL_GPL vmlinux 0x50a1763f component_compare_dev +EXPORT_SYMBOL_GPL vmlinux 0x50a7218d fwnode_property_present +EXPORT_SYMBOL_GPL vmlinux 0x50aa1ee9 ptp_classify_raw +EXPORT_SYMBOL_GPL vmlinux 0x50b20e2d dw_pcie_ep_raise_msi_irq +EXPORT_SYMBOL_GPL vmlinux 0x50be0b54 fwnode_connection_find_match +EXPORT_SYMBOL_GPL vmlinux 0x50e7193a __i2c_first_dynamic_bus_num +EXPORT_SYMBOL_GPL vmlinux 0x50eabfdf debugfs_create_dir +EXPORT_SYMBOL_GPL vmlinux 0x50fad434 round_jiffies_up +EXPORT_SYMBOL_GPL vmlinux 0x511e189a zpci_enable_device +EXPORT_SYMBOL_GPL vmlinux 0x513090b4 pci_generic_config_write +EXPORT_SYMBOL_GPL vmlinux 0x51390c96 rcu_barrier_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x513ee8d0 gpiod_disable_hw_timestamp_ns +EXPORT_SYMBOL_GPL vmlinux 0x514acb51 vfs_listxattr +EXPORT_SYMBOL_GPL vmlinux 0x515a4b2e crypto_alloc_base +EXPORT_SYMBOL_GPL vmlinux 0x515b390f __SCK__tp_func_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0x515b93ef devm_register_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x5160a242 devlink_port_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x516960bd klist_iter_init_node +EXPORT_SYMBOL_GPL vmlinux 0x517a7975 rsa_parse_pub_key +EXPORT_SYMBOL_GPL vmlinux 0x5182c8e5 mptcp_token_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x51842732 dma_vunmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x51bc139b icmp_build_probe +EXPORT_SYMBOL_GPL vmlinux 0x51c83555 disable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x51ebb33c scsi_flush_work +EXPORT_SYMBOL_GPL vmlinux 0x51f13794 pci_epf_remove_vepf +EXPORT_SYMBOL_GPL vmlinux 0x520838d4 regmap_multi_reg_write +EXPORT_SYMBOL_GPL vmlinux 0x520f556a cgroup_get_from_id +EXPORT_SYMBOL_GPL vmlinux 0x5216fc61 blk_lld_busy +EXPORT_SYMBOL_GPL vmlinux 0x522a5c9a skb_scrub_packet +EXPORT_SYMBOL_GPL vmlinux 0x5236497d trace_clock +EXPORT_SYMBOL_GPL vmlinux 0x5239b3bb fscrypt_limit_io_blocks +EXPORT_SYMBOL_GPL vmlinux 0x525b8ddd addrconf_prefix_rcv_add_addr +EXPORT_SYMBOL_GPL vmlinux 0x52701755 platform_clear +EXPORT_SYMBOL_GPL vmlinux 0x528670d6 cdrom_read_tocentry +EXPORT_SYMBOL_GPL vmlinux 0x52870b28 gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x52b17c1f genphy_c45_pma_read_abilities +EXPORT_SYMBOL_GPL vmlinux 0x52b1e3c7 pci_flags +EXPORT_SYMBOL_GPL vmlinux 0x52c19214 irq_domain_pop_irq +EXPORT_SYMBOL_GPL vmlinux 0x52c35e83 call_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x52d1b9d5 regmap_field_bulk_free +EXPORT_SYMBOL_GPL vmlinux 0x52d54fce devlink_info_version_stored_put +EXPORT_SYMBOL_GPL vmlinux 0x53297dec dm_accept_partial_bio +EXPORT_SYMBOL_GPL vmlinux 0x53462491 trace_event_ignore_this_pid +EXPORT_SYMBOL_GPL vmlinux 0x534d8d13 irq_domain_free_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x5358864e devlink_fmsg_binary_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x53826118 fwnode_create_software_node +EXPORT_SYMBOL_GPL vmlinux 0x538d073d phy_duplex_to_str +EXPORT_SYMBOL_GPL vmlinux 0x538f1625 shmem_file_setup +EXPORT_SYMBOL_GPL vmlinux 0x539355dd fwnode_handle_put +EXPORT_SYMBOL_GPL vmlinux 0x53bf3f8f xfrm_audit_state_add +EXPORT_SYMBOL_GPL vmlinux 0x53d7c01e __traceiter_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x53d9d951 trace_event_reg +EXPORT_SYMBOL_GPL vmlinux 0x54062bc9 trace_add_event_call +EXPORT_SYMBOL_GPL vmlinux 0x541bd60a irq_work_run +EXPORT_SYMBOL_GPL vmlinux 0x544de702 pci_remove_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x5473902f blk_trace_setup +EXPORT_SYMBOL_GPL vmlinux 0x5490f4b2 ftrace_set_notrace +EXPORT_SYMBOL_GPL vmlinux 0x549525ef handle_nested_irq +EXPORT_SYMBOL_GPL vmlinux 0x549ab46c raw_abort +EXPORT_SYMBOL_GPL vmlinux 0x54aac082 __phy_modify +EXPORT_SYMBOL_GPL vmlinux 0x54bd83cd irq_domain_xlate_onetwocell +EXPORT_SYMBOL_GPL vmlinux 0x54fc17c1 device_link_add +EXPORT_SYMBOL_GPL vmlinux 0x551fc216 kvm_write_guest_offset_cached +EXPORT_SYMBOL_GPL vmlinux 0x55339365 flush_delayed_fput +EXPORT_SYMBOL_GPL vmlinux 0x55417264 unregister_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0x5546f795 sysfs_remove_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x554d2398 trace_array_put +EXPORT_SYMBOL_GPL vmlinux 0x556a9ead xas_split +EXPORT_SYMBOL_GPL vmlinux 0x55b05756 bus_get_kset +EXPORT_SYMBOL_GPL vmlinux 0x55b990eb platform_unregister_drivers +EXPORT_SYMBOL_GPL vmlinux 0x55eecff4 bit_wait_io_timeout +EXPORT_SYMBOL_GPL vmlinux 0x55f2580b __alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0x55f91924 trace_seq_puts +EXPORT_SYMBOL_GPL vmlinux 0x56054c05 crypto_it_tab +EXPORT_SYMBOL_GPL vmlinux 0x56256e8a orderly_poweroff +EXPORT_SYMBOL_GPL vmlinux 0x563185b5 __irq_set_handler +EXPORT_SYMBOL_GPL vmlinux 0x5641485b tty_termios_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0x56427660 iommu_group_get +EXPORT_SYMBOL_GPL vmlinux 0x5649d15b fscrypt_parse_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x565db03d dma_vmap_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x56661849 msi_lock_descs +EXPORT_SYMBOL_GPL vmlinux 0x566f1d3d __class_register +EXPORT_SYMBOL_GPL vmlinux 0x567c69fb irq_find_matching_fwspec +EXPORT_SYMBOL_GPL vmlinux 0x5698429f pci_ioremap_bar +EXPORT_SYMBOL_GPL vmlinux 0x569e688b iommu_get_domain_for_dev +EXPORT_SYMBOL_GPL vmlinux 0x56a3bc65 bdi_dev_name +EXPORT_SYMBOL_GPL vmlinux 0x56b3d66f regmap_get_max_register +EXPORT_SYMBOL_GPL vmlinux 0x56d0dc8a key_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0x56dc44e0 scsi_dh_activate +EXPORT_SYMBOL_GPL vmlinux 0x56de3603 tpm1_getcap +EXPORT_SYMBOL_GPL vmlinux 0x56eee29d pci_epc_stop +EXPORT_SYMBOL_GPL vmlinux 0x56f2607c __traceiter_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x56fbb130 no_hash_pointers +EXPORT_SYMBOL_GPL vmlinux 0x57496113 regmap_get_reg_stride +EXPORT_SYMBOL_GPL vmlinux 0x5788f105 sk_msg_return +EXPORT_SYMBOL_GPL vmlinux 0x578eeb4d hugetlb_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x5790e7a0 pci_unlock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0x579e0bf5 rtnl_unregister_all +EXPORT_SYMBOL_GPL vmlinux 0x57b27781 tpm2_flush_context +EXPORT_SYMBOL_GPL vmlinux 0x57ba6857 of_css +EXPORT_SYMBOL_GPL vmlinux 0x57bdf4db kvm_io_bus_get_dev +EXPORT_SYMBOL_GPL vmlinux 0x57c59187 devm_gpiod_put +EXPORT_SYMBOL_GPL vmlinux 0x57e6e3f2 kvm_s390_gisc_unregister +EXPORT_SYMBOL_GPL vmlinux 0x57f576b9 mpi_ec_curve_point +EXPORT_SYMBOL_GPL vmlinux 0x57fe05b9 dm_internal_suspend_noflush +EXPORT_SYMBOL_GPL vmlinux 0x5802d37d __ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0x5803bc5a sock_diag_register +EXPORT_SYMBOL_GPL vmlinux 0x5824ede9 mnt_drop_write +EXPORT_SYMBOL_GPL vmlinux 0x5831e062 cpus_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0x584599d3 irq_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x585af3cd gpiochip_irq_map +EXPORT_SYMBOL_GPL vmlinux 0x585e1c69 platform_get_resource +EXPORT_SYMBOL_GPL vmlinux 0x5879a27d sfp_get_module_info +EXPORT_SYMBOL_GPL vmlinux 0x589b4a9b trace_array_init_printk +EXPORT_SYMBOL_GPL vmlinux 0x589eb9d5 tpm_pm_suspend +EXPORT_SYMBOL_GPL vmlinux 0x58a9af2d __put_task_struct +EXPORT_SYMBOL_GPL vmlinux 0x58cd4f1c tty_port_default_client_ops +EXPORT_SYMBOL_GPL vmlinux 0x58dab4ef perf_aux_output_skip +EXPORT_SYMBOL_GPL vmlinux 0x58def6ca sfp_module_remove +EXPORT_SYMBOL_GPL vmlinux 0x58f31f10 hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0x58f53f27 inet_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x5914eac6 register_virtio_driver +EXPORT_SYMBOL_GPL vmlinux 0x5916ed71 dev_fill_forward_path +EXPORT_SYMBOL_GPL vmlinux 0x59498fd2 vc_scrolldelta_helper +EXPORT_SYMBOL_GPL vmlinux 0x594a34c3 kernfs_path_from_node +EXPORT_SYMBOL_GPL vmlinux 0x594af362 tty_perform_flush +EXPORT_SYMBOL_GPL vmlinux 0x594cdc5b device_create +EXPORT_SYMBOL_GPL vmlinux 0x594d7fab dax_region_put +EXPORT_SYMBOL_GPL vmlinux 0x594fe160 tod_clock_base +EXPORT_SYMBOL_GPL vmlinux 0x59771e68 regmap_async_complete_cb +EXPORT_SYMBOL_GPL vmlinux 0x597bb5c4 gfn_to_page_many_atomic +EXPORT_SYMBOL_GPL vmlinux 0x598b077b __unwind_start +EXPORT_SYMBOL_GPL vmlinux 0x59aacd2a pci_rescan_bus +EXPORT_SYMBOL_GPL vmlinux 0x59b7c718 irq_domain_associate +EXPORT_SYMBOL_GPL vmlinux 0x59c43dc9 __traceiter_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x59e640c0 halt_poll_ns +EXPORT_SYMBOL_GPL vmlinux 0x59f27070 crypto_type_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x59f32720 mpi_subm +EXPORT_SYMBOL_GPL vmlinux 0x5a12e60c __SCK__tp_func_sched_update_nr_running_tp +EXPORT_SYMBOL_GPL vmlinux 0x5a1d134a rcu_momentary_dyntick_idle +EXPORT_SYMBOL_GPL vmlinux 0x5a3626c1 sk_setup_caps +EXPORT_SYMBOL_GPL vmlinux 0x5a37220b cmf_readall +EXPORT_SYMBOL_GPL vmlinux 0x5a49dbc9 timerqueue_del +EXPORT_SYMBOL_GPL vmlinux 0x5a54e9ef device_for_each_child_reverse +EXPORT_SYMBOL_GPL vmlinux 0x5a593802 __fsnotify_parent +EXPORT_SYMBOL_GPL vmlinux 0x5a6cdb52 nf_ct_zone_dflt +EXPORT_SYMBOL_GPL vmlinux 0x5a7beb47 virtqueue_add_outbuf +EXPORT_SYMBOL_GPL vmlinux 0x5a7bfe41 crypto_probing_notify +EXPORT_SYMBOL_GPL vmlinux 0x5a88b92d device_set_node +EXPORT_SYMBOL_GPL vmlinux 0x5a92a0f0 xas_find_marked +EXPORT_SYMBOL_GPL vmlinux 0x5aa0afcf debugfs_create_u32_array +EXPORT_SYMBOL_GPL vmlinux 0x5aa5dd7f fib_nh_common_init +EXPORT_SYMBOL_GPL vmlinux 0x5aed94fb pci_proc_domain +EXPORT_SYMBOL_GPL vmlinux 0x5aeeab86 dma_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x5af59ac2 dw_pcie_read_dbi +EXPORT_SYMBOL_GPL vmlinux 0x5b08a77a dw_pcie_write_dbi +EXPORT_SYMBOL_GPL vmlinux 0x5b21ceff ring_buffer_iter_peek +EXPORT_SYMBOL_GPL vmlinux 0x5b4b3974 pin_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x5b674736 pci_epc_raise_irq +EXPORT_SYMBOL_GPL vmlinux 0x5b6b0329 swiotlb_max_segment +EXPORT_SYMBOL_GPL vmlinux 0x5b788576 paste_selection +EXPORT_SYMBOL_GPL vmlinux 0x5b99a8ec ip_route_output_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x5b9a589b find_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x5b9db3b4 scsi_mode_select +EXPORT_SYMBOL_GPL vmlinux 0x5ba3ca02 iomap_file_unshare +EXPORT_SYMBOL_GPL vmlinux 0x5ba63bef property_entries_free +EXPORT_SYMBOL_GPL vmlinux 0x5ba9c87f blk_crypto_keyslot_index +EXPORT_SYMBOL_GPL vmlinux 0x5bbdfa26 scatterwalk_ffwd +EXPORT_SYMBOL_GPL vmlinux 0x5bcdf815 sched_set_fifo_low +EXPORT_SYMBOL_GPL vmlinux 0x5bd0748f crypto_del_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x5bd674f4 xas_load +EXPORT_SYMBOL_GPL vmlinux 0x5bdbac4e rcu_unexpedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x5bf7a3e1 inet_csk_reqsk_queue_hash_add +EXPORT_SYMBOL_GPL vmlinux 0x5bfb2209 pci_set_host_bridge_release +EXPORT_SYMBOL_GPL vmlinux 0x5c0dec8b __srcu_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x5c16b252 bpf_trace_run4 +EXPORT_SYMBOL_GPL vmlinux 0x5c1b0a50 user_destroy +EXPORT_SYMBOL_GPL vmlinux 0x5c2f1546 devlink_sb_register +EXPORT_SYMBOL_GPL vmlinux 0x5c3bbd06 __SCK__tp_func_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x5c721914 kvm_vcpu_halt +EXPORT_SYMBOL_GPL vmlinux 0x5c82016e __SCK__tp_func_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0x5c95d189 generic_fh_to_parent +EXPORT_SYMBOL_GPL vmlinux 0x5c9fefdd mptcp_subflow_init_cookie_req +EXPORT_SYMBOL_GPL vmlinux 0x5cb45b04 cn_add_callback +EXPORT_SYMBOL_GPL vmlinux 0x5cb588c5 alarm_start +EXPORT_SYMBOL_GPL vmlinux 0x5cb85b4f debugfs_lookup_and_remove +EXPORT_SYMBOL_GPL vmlinux 0x5cce7921 bus_create_file +EXPORT_SYMBOL_GPL vmlinux 0x5ce3c4bb gmap_enable +EXPORT_SYMBOL_GPL vmlinux 0x5cede0a7 xdp_flush_frame_bulk +EXPORT_SYMBOL_GPL vmlinux 0x5cf94cbd cio_cancel_halt_clear +EXPORT_SYMBOL_GPL vmlinux 0x5d02198d sk_free_unlock_clone +EXPORT_SYMBOL_GPL vmlinux 0x5d0a6968 __percpu_down_read +EXPORT_SYMBOL_GPL vmlinux 0x5d1ce338 dma_free_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0x5d32eaf0 blk_update_request +EXPORT_SYMBOL_GPL vmlinux 0x5d3508f1 fl6_update_dst +EXPORT_SYMBOL_GPL vmlinux 0x5d376561 sysfs_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x5d53bbe4 netlink_remove_tap +EXPORT_SYMBOL_GPL vmlinux 0x5d553f63 __traceiter_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0x5d644983 transport_add_device +EXPORT_SYMBOL_GPL vmlinux 0x5d665e2e blkdev_nr_zones +EXPORT_SYMBOL_GPL vmlinux 0x5d6737f5 irq_chip_release_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0x5d757271 generic_handle_domain_irq +EXPORT_SYMBOL_GPL vmlinux 0x5d8476d3 bpf_sk_storage_diag_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5da2d0e2 __traceiter_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x5da67adc zs_compact +EXPORT_SYMBOL_GPL vmlinux 0x5dd20c0e serdev_device_add +EXPORT_SYMBOL_GPL vmlinux 0x5dd2739d crypto_shoot_alg +EXPORT_SYMBOL_GPL vmlinux 0x5dd76e44 mutex_lock_io +EXPORT_SYMBOL_GPL vmlinux 0x5ddc19bf acomp_request_alloc +EXPORT_SYMBOL_GPL vmlinux 0x5e0cd045 synth_event_gen_cmd_array_start +EXPORT_SYMBOL_GPL vmlinux 0x5e173309 cpu_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x5e2ee4bf anon_transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0x5e346421 tpm_send +EXPORT_SYMBOL_GPL vmlinux 0x5e39b993 pci_add_dynid +EXPORT_SYMBOL_GPL vmlinux 0x5e436c28 devm_request_pci_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0x5e515be6 ktime_get_ts64 +EXPORT_SYMBOL_GPL vmlinux 0x5e591433 iommu_map_atomic +EXPORT_SYMBOL_GPL vmlinux 0x5e5e8c97 unregister_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x5e85415b ring_buffer_consume +EXPORT_SYMBOL_GPL vmlinux 0x5e9d4734 gpiod_toggle_active_low +EXPORT_SYMBOL_GPL vmlinux 0x5eb417e0 __SCK__tp_func_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0x5ed08d76 __traceiter_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x5f23e3fa insert_resource +EXPORT_SYMBOL_GPL vmlinux 0x5f37d9ad do_unbind_con_driver +EXPORT_SYMBOL_GPL vmlinux 0x5f478973 modify_ftrace_direct_multi +EXPORT_SYMBOL_GPL vmlinux 0x5f597e6d dst_cache_set_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x5f6bce81 account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0x5f6f1e9e dax_get_private +EXPORT_SYMBOL_GPL vmlinux 0x5f8d3f24 devlink_param_driverinit_value_set +EXPORT_SYMBOL_GPL vmlinux 0x5f94bb53 __platform_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x5f9c9b70 balloon_page_enqueue +EXPORT_SYMBOL_GPL vmlinux 0x5f9f6347 bpf_trace_run10 +EXPORT_SYMBOL_GPL vmlinux 0x5fa4ce72 xas_nomem +EXPORT_SYMBOL_GPL vmlinux 0x5fa625ed mpi_ec_mul_point +EXPORT_SYMBOL_GPL vmlinux 0x5fb8848b halt_poll_ns_grow_start +EXPORT_SYMBOL_GPL vmlinux 0x5fbe9dea gmap_get +EXPORT_SYMBOL_GPL vmlinux 0x5fd09a72 tcp_twsk_unique +EXPORT_SYMBOL_GPL vmlinux 0x5fdfcd57 __tracepoint_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x5fe14f6c kill_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x5ff9da03 proc_create_net_single +EXPORT_SYMBOL_GPL vmlinux 0x6029efd5 dax_flush +EXPORT_SYMBOL_GPL vmlinux 0x604722fd devices_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x606b4aba devlink_linecard_provision_set +EXPORT_SYMBOL_GPL vmlinux 0x60716bd2 iommu_dev_disable_feature +EXPORT_SYMBOL_GPL vmlinux 0x607a90cb dm_start_time_ns_from_clone +EXPORT_SYMBOL_GPL vmlinux 0x607c4683 devlink_info_version_fixed_put +EXPORT_SYMBOL_GPL vmlinux 0x608386e9 tty_save_termios +EXPORT_SYMBOL_GPL vmlinux 0x60889f78 dst_blackhole_redirect +EXPORT_SYMBOL_GPL vmlinux 0x608d6569 iomap_zero_range +EXPORT_SYMBOL_GPL vmlinux 0x608f30ec mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0x6091797f synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x60a13e90 rcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x60a32ea9 pm_power_off +EXPORT_SYMBOL_GPL vmlinux 0x60aec4d3 devm_kstrdup +EXPORT_SYMBOL_GPL vmlinux 0x60cd15fa dm_put +EXPORT_SYMBOL_GPL vmlinux 0x60ebc96f ring_buffer_read_prepare +EXPORT_SYMBOL_GPL vmlinux 0x60feb465 mmu_notifier_get_locked +EXPORT_SYMBOL_GPL vmlinux 0x610e3031 ping_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0x6129fb93 sfp_remove_phy +EXPORT_SYMBOL_GPL vmlinux 0x612bfd89 errno_to_blk_status +EXPORT_SYMBOL_GPL vmlinux 0x61458cae sysfs_create_link_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x61477fa6 perf_event_create_kernel_counter +EXPORT_SYMBOL_GPL vmlinux 0x6177373f rhashtable_walk_peek +EXPORT_SYMBOL_GPL vmlinux 0x6181e79f timerqueue_add +EXPORT_SYMBOL_GPL vmlinux 0x618967fa device_bind_driver +EXPORT_SYMBOL_GPL vmlinux 0x6198dfea __ring_buffer_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6199ad5d crypto_has_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x619fd268 srcu_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x61aa4d92 __platform_create_bundle +EXPORT_SYMBOL_GPL vmlinux 0x61ad8659 sbitmap_get +EXPORT_SYMBOL_GPL vmlinux 0x61bd4e87 __kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x61c1ca29 __SCK__tp_func_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x61ccd94f phy_select_page +EXPORT_SYMBOL_GPL vmlinux 0x61e5f4f6 tcp_unregister_ulp +EXPORT_SYMBOL_GPL vmlinux 0x61f67c92 phy_gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0x61facc22 kobj_sysfs_ops +EXPORT_SYMBOL_GPL vmlinux 0x61fc6400 __xdp_rxq_info_reg +EXPORT_SYMBOL_GPL vmlinux 0x61fdac33 to_software_node +EXPORT_SYMBOL_GPL vmlinux 0x62251d5a cio_update_schib +EXPORT_SYMBOL_GPL vmlinux 0x62266cdb pcie_aspm_enabled +EXPORT_SYMBOL_GPL vmlinux 0x622c7922 register_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0x62377a7b blk_io_schedule +EXPORT_SYMBOL_GPL vmlinux 0x6246a629 synchronize_rcu_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0x626dbc65 sk_msg_clone +EXPORT_SYMBOL_GPL vmlinux 0x627945ad ip6_dst_lookup_tunnel +EXPORT_SYMBOL_GPL vmlinux 0x62864572 gmap_put +EXPORT_SYMBOL_GPL vmlinux 0x6286dcb7 bus_rescan_devices +EXPORT_SYMBOL_GPL vmlinux 0x62882cd8 platform_get_irq_byname_optional +EXPORT_SYMBOL_GPL vmlinux 0x62bb09bf clocks_calc_mult_shift +EXPORT_SYMBOL_GPL vmlinux 0x62daa57e hvc_instantiate +EXPORT_SYMBOL_GPL vmlinux 0x62e3bd07 crypto_register_template +EXPORT_SYMBOL_GPL vmlinux 0x62e83d12 xfrm_dev_resume +EXPORT_SYMBOL_GPL vmlinux 0x62f1545b get_kernel_pages +EXPORT_SYMBOL_GPL vmlinux 0x62f600df simple_attr_open +EXPORT_SYMBOL_GPL vmlinux 0x62f92490 bpf_map_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x62fe6b57 ipl_info +EXPORT_SYMBOL_GPL vmlinux 0x6303bbd4 srcu_barrier +EXPORT_SYMBOL_GPL vmlinux 0x631ba529 software_node_unregister_node_group +EXPORT_SYMBOL_GPL vmlinux 0x634b9d42 __SCK__tp_func_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x634c6082 freq_qos_remove_request +EXPORT_SYMBOL_GPL vmlinux 0x63710396 devlink_dpipe_table_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6376b498 device_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x638a69aa devlink_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6393e79e platform_get_irq_byname +EXPORT_SYMBOL_GPL vmlinux 0x63965481 fwnode_property_get_reference_args +EXPORT_SYMBOL_GPL vmlinux 0x639f1623 skb_gso_validate_mac_len +EXPORT_SYMBOL_GPL vmlinux 0x63b2b35e seg6_do_srh_encap +EXPORT_SYMBOL_GPL vmlinux 0x63c010bf bpf_prog_inc_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x63d3863d sched_set_fifo +EXPORT_SYMBOL_GPL vmlinux 0x63e543ca phy_10gbit_fec_features +EXPORT_SYMBOL_GPL vmlinux 0x63ee5886 platform_get_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0x640b9d88 device_show_bool +EXPORT_SYMBOL_GPL vmlinux 0x64322c8c pci_device_is_present +EXPORT_SYMBOL_GPL vmlinux 0x6457e00a gpiod_set_array_value +EXPORT_SYMBOL_GPL vmlinux 0x645ce727 gpiochip_populate_parent_fwspec_fourcell +EXPORT_SYMBOL_GPL vmlinux 0x64609d25 __tracepoint_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x64770384 __vfs_setxattr_noperm +EXPORT_SYMBOL_GPL vmlinux 0x64786375 kmsg_dump_get_buffer +EXPORT_SYMBOL_GPL vmlinux 0x64953be4 pkcs7_verify +EXPORT_SYMBOL_GPL vmlinux 0x64ac83b2 devlink_trap_groups_unregister +EXPORT_SYMBOL_GPL vmlinux 0x64b3a0dd blk_set_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x64bad735 simple_attr_read +EXPORT_SYMBOL_GPL vmlinux 0x64c236cb sysfs_remove_file_from_group +EXPORT_SYMBOL_GPL vmlinux 0x64c3ad06 rhashtable_init +EXPORT_SYMBOL_GPL vmlinux 0x64c9d85f gmap_read_table +EXPORT_SYMBOL_GPL vmlinux 0x64e27c4f synth_event_delete +EXPORT_SYMBOL_GPL vmlinux 0x64ea9fdd blk_bio_list_merge +EXPORT_SYMBOL_GPL vmlinux 0x64f74abf __tracepoint_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0x64ff5302 tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x6506a8ef housekeeping_cpumask +EXPORT_SYMBOL_GPL vmlinux 0x65086607 vp_modern_get_features +EXPORT_SYMBOL_GPL vmlinux 0x651949ce sock_diag_save_cookie +EXPORT_SYMBOL_GPL vmlinux 0x651a000d kthread_cancel_delayed_work_sync +EXPORT_SYMBOL_GPL vmlinux 0x651d10e5 ktime_get_tai_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x65218d4a rt_mutex_lock_interruptible +EXPORT_SYMBOL_GPL vmlinux 0x653075fa inet_csk_get_port +EXPORT_SYMBOL_GPL vmlinux 0x6531a37f mpi_add +EXPORT_SYMBOL_GPL vmlinux 0x653b79cf gpiochip_generic_request +EXPORT_SYMBOL_GPL vmlinux 0x6545268e __tracepoint_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x65535a8a pci_intx +EXPORT_SYMBOL_GPL vmlinux 0x65888092 __devres_alloc_node +EXPORT_SYMBOL_GPL vmlinux 0x65974ecf umd_unload_blob +EXPORT_SYMBOL_GPL vmlinux 0x65a5f6a6 umd_load_blob +EXPORT_SYMBOL_GPL vmlinux 0x65b8461d crypto_unregister_scomp +EXPORT_SYMBOL_GPL vmlinux 0x65c708a8 crypto_shash_finup +EXPORT_SYMBOL_GPL vmlinux 0x65ccb6f0 call_netevent_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x65d5ae41 iommu_fwspec_add_ids +EXPORT_SYMBOL_GPL vmlinux 0x65de3021 stack_depot_snprint +EXPORT_SYMBOL_GPL vmlinux 0x660cabdb pci_user_write_config_byte +EXPORT_SYMBOL_GPL vmlinux 0x660eb6bd devlink_free +EXPORT_SYMBOL_GPL vmlinux 0x661601de sprint_symbol +EXPORT_SYMBOL_GPL vmlinux 0x6616d9db devlink_alloc_ns +EXPORT_SYMBOL_GPL vmlinux 0x662a8c9f fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x6636c3c9 irq_set_vcpu_affinity +EXPORT_SYMBOL_GPL vmlinux 0x663bb448 devlink_fmsg_obj_nest_end +EXPORT_SYMBOL_GPL vmlinux 0x665e9b14 metadata_dst_alloc +EXPORT_SYMBOL_GPL vmlinux 0x666093a4 blk_crypto_register +EXPORT_SYMBOL_GPL vmlinux 0x6665ae2d blkcg_get_fc_appid +EXPORT_SYMBOL_GPL vmlinux 0x668402aa crypto_put_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x6695cde5 fat_time_unix2fat +EXPORT_SYMBOL_GPL vmlinux 0x669813c2 serdev_device_write_wakeup +EXPORT_SYMBOL_GPL vmlinux 0x66ae79a3 pci_epc_mem_init +EXPORT_SYMBOL_GPL vmlinux 0x66b97421 sfp_link_up +EXPORT_SYMBOL_GPL vmlinux 0x66bf0d30 pci_check_and_mask_intx +EXPORT_SYMBOL_GPL vmlinux 0x66c343e7 kobject_rename +EXPORT_SYMBOL_GPL vmlinux 0x66d5678c devm_fwnode_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0x66d87d38 symbol_put_addr +EXPORT_SYMBOL_GPL vmlinux 0x66df0d36 __cookie_v6_check +EXPORT_SYMBOL_GPL vmlinux 0x66e0f656 __netpoll_free +EXPORT_SYMBOL_GPL vmlinux 0x66f06c28 tty_ldisc_deref +EXPORT_SYMBOL_GPL vmlinux 0x67119687 blk_crypto_update_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x67429c91 __SCK__tp_func_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x6760f209 scsi_dh_attached_handler_name +EXPORT_SYMBOL_GPL vmlinux 0x677856a5 device_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0x67886d1f fwnode_get_parent +EXPORT_SYMBOL_GPL vmlinux 0x678a6525 smpboot_register_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0x67936403 devl_rate_leaf_create +EXPORT_SYMBOL_GPL vmlinux 0x67955ce6 profile_hits +EXPORT_SYMBOL_GPL vmlinux 0x679fd8dd nf_queue +EXPORT_SYMBOL_GPL vmlinux 0x67c01aec inet_csk_listen_stop +EXPORT_SYMBOL_GPL vmlinux 0x67da9f7c sha512_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x67e676aa l3mdev_fib_table_rcu +EXPORT_SYMBOL_GPL vmlinux 0x6817bfe0 ip6_flush_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x6823d995 sbitmap_finish_wait +EXPORT_SYMBOL_GPL vmlinux 0x6829c249 gpiod_get_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x682ff057 ring_buffer_commit_overrun_cpu +EXPORT_SYMBOL_GPL vmlinux 0x6846c10b scsi_host_unblock +EXPORT_SYMBOL_GPL vmlinux 0x685d09ac __kprobe_event_gen_cmd_start +EXPORT_SYMBOL_GPL vmlinux 0x6868d441 raw_v4_match +EXPORT_SYMBOL_GPL vmlinux 0x68692717 blk_rq_unprep_clone +EXPORT_SYMBOL_GPL vmlinux 0x686a5baa hrtimer_sleeper_start_expires +EXPORT_SYMBOL_GPL vmlinux 0x6881e5ca fsl_mc_device_group +EXPORT_SYMBOL_GPL vmlinux 0x68834377 skb_consume_udp +EXPORT_SYMBOL_GPL vmlinux 0x6892e3c3 kvm_set_pfn_accessed +EXPORT_SYMBOL_GPL vmlinux 0x68952493 rcu_note_context_switch +EXPORT_SYMBOL_GPL vmlinux 0x689c67c4 scsi_host_busy_iter +EXPORT_SYMBOL_GPL vmlinux 0x68a0c9c1 list_lru_destroy +EXPORT_SYMBOL_GPL vmlinux 0x68bf2923 pci_epc_mem_exit +EXPORT_SYMBOL_GPL vmlinux 0x68c659f8 cdrom_multisession +EXPORT_SYMBOL_GPL vmlinux 0x68c6cbc7 __fscrypt_prepare_lookup +EXPORT_SYMBOL_GPL vmlinux 0x68debf26 dw_pcie_own_conf_map_bus +EXPORT_SYMBOL_GPL vmlinux 0x68e9a2a0 set_selection_kernel +EXPORT_SYMBOL_GPL vmlinux 0x68f30a3e __fsnotify_inode_delete +EXPORT_SYMBOL_GPL vmlinux 0x690f585e phy_basic_ports_array +EXPORT_SYMBOL_GPL vmlinux 0x6913865a trace_clock_jiffies +EXPORT_SYMBOL_GPL vmlinux 0x6914da57 fat_build_inode +EXPORT_SYMBOL_GPL vmlinux 0x6917354c ip6_input +EXPORT_SYMBOL_GPL vmlinux 0x692b7f00 trace_define_field +EXPORT_SYMBOL_GPL vmlinux 0x69305104 register_kretprobes +EXPORT_SYMBOL_GPL vmlinux 0x693a35ba skcipher_walk_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x693d2e0f kvm_vcpu_read_guest_atomic +EXPORT_SYMBOL_GPL vmlinux 0x69430629 platform_msi_domain_alloc_irqs +EXPORT_SYMBOL_GPL vmlinux 0x694e22e5 gmap_pmdp_idte_local +EXPORT_SYMBOL_GPL vmlinux 0x69611ee6 kvm_write_guest +EXPORT_SYMBOL_GPL vmlinux 0x69637b2c __traceiter_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0x6977c540 shash_ahash_finup +EXPORT_SYMBOL_GPL vmlinux 0x697c5d0d tracing_snapshot_alloc +EXPORT_SYMBOL_GPL vmlinux 0x698a2654 software_node_find_by_name +EXPORT_SYMBOL_GPL vmlinux 0x6997dbbb xdp_rxq_info_is_reg +EXPORT_SYMBOL_GPL vmlinux 0x6999ce26 fsnotify_alloc_group +EXPORT_SYMBOL_GPL vmlinux 0x69a48579 sock_diag_register_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0x69a73984 pci_generic_config_write32 +EXPORT_SYMBOL_GPL vmlinux 0x69cf0632 mpi_fromstr +EXPORT_SYMBOL_GPL vmlinux 0x69e683de uuid_gen +EXPORT_SYMBOL_GPL vmlinux 0x69ef18af dm_audit_log_bio +EXPORT_SYMBOL_GPL vmlinux 0x69f4cacc firmware_request_nowarn +EXPORT_SYMBOL_GPL vmlinux 0x6a0d7bda dev_queue_xmit_nit +EXPORT_SYMBOL_GPL vmlinux 0x6a2dd8bc __pci_hp_register +EXPORT_SYMBOL_GPL vmlinux 0x6a460dc5 schedule_hrtimeout +EXPORT_SYMBOL_GPL vmlinux 0x6a4f623b mmu_notifier_synchronize +EXPORT_SYMBOL_GPL vmlinux 0x6a531042 device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0x6a7369b8 devm_kasprintf +EXPORT_SYMBOL_GPL vmlinux 0x6a8441be cpci_hp_start +EXPORT_SYMBOL_GPL vmlinux 0x6a9b3b3d gpiod_set_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x6aaf5c46 debugfs_create_devm_seqfile +EXPORT_SYMBOL_GPL vmlinux 0x6abfccfb __virtio_unbreak_device +EXPORT_SYMBOL_GPL vmlinux 0x6ac47487 crypto_larval_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6acee083 devm_create_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0x6af5b455 irq_domain_associate_many +EXPORT_SYMBOL_GPL vmlinux 0x6afe1d5a ftrace_set_filter +EXPORT_SYMBOL_GPL vmlinux 0x6aff9474 pci_user_read_config_dword +EXPORT_SYMBOL_GPL vmlinux 0x6b26b490 kernel_read_file_from_path_initns +EXPORT_SYMBOL_GPL vmlinux 0x6b2b69f7 static_key_enable +EXPORT_SYMBOL_GPL vmlinux 0x6b36e07d devlink_linecard_destroy +EXPORT_SYMBOL_GPL vmlinux 0x6b3dac5d devm_serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x6b413c9b sfp_link_down +EXPORT_SYMBOL_GPL vmlinux 0x6b69dea8 crypto_register_acomps +EXPORT_SYMBOL_GPL vmlinux 0x6b703e74 pci_epc_start +EXPORT_SYMBOL_GPL vmlinux 0x6b967292 pcie_reset_flr +EXPORT_SYMBOL_GPL vmlinux 0x6baa828e devlink_health_reporter_create +EXPORT_SYMBOL_GPL vmlinux 0x6bb1d997 irqchip_fwnode_ops +EXPORT_SYMBOL_GPL vmlinux 0x6bcdedc0 mpi_point_init +EXPORT_SYMBOL_GPL vmlinux 0x6bd1aa56 stack_trace_save +EXPORT_SYMBOL_GPL vmlinux 0x6bd24cd2 gpiod_get_direction +EXPORT_SYMBOL_GPL vmlinux 0x6be2bb72 kernel_read_file_from_path +EXPORT_SYMBOL_GPL vmlinux 0x6be6e40d lwtunnel_encap_add_ops +EXPORT_SYMBOL_GPL vmlinux 0x6be9e525 __irq_domain_alloc_fwnode +EXPORT_SYMBOL_GPL vmlinux 0x6bf02ac2 iommu_detach_device +EXPORT_SYMBOL_GPL vmlinux 0x6c01f8b7 sysfs_groups_change_owner +EXPORT_SYMBOL_GPL vmlinux 0x6c3f70e0 guid_gen +EXPORT_SYMBOL_GPL vmlinux 0x6c428d6d gmap_shadow_sgt +EXPORT_SYMBOL_GPL vmlinux 0x6c47b6ee io_cgrp_subsys +EXPORT_SYMBOL_GPL vmlinux 0x6c4b39c4 public_key_subtype +EXPORT_SYMBOL_GPL vmlinux 0x6c4c1a3b lwtunnel_build_state +EXPORT_SYMBOL_GPL vmlinux 0x6c4f83a2 gpiochip_populate_parent_fwspec_twocell +EXPORT_SYMBOL_GPL vmlinux 0x6c5ad0cd kmsg_dump_register +EXPORT_SYMBOL_GPL vmlinux 0x6c5fcd65 bio_clone_blkg_association +EXPORT_SYMBOL_GPL vmlinux 0x6c7cfdb4 user_update +EXPORT_SYMBOL_GPL vmlinux 0x6c956075 __SCK__tp_func_devlink_hwerr +EXPORT_SYMBOL_GPL vmlinux 0x6ca4bf88 async_synchronize_full_domain +EXPORT_SYMBOL_GPL vmlinux 0x6ca9ae46 gpiod_get_raw_array_value +EXPORT_SYMBOL_GPL vmlinux 0x6cb546ba bio_add_zone_append_page +EXPORT_SYMBOL_GPL vmlinux 0x6cc7b413 virtqueue_detach_unused_buf +EXPORT_SYMBOL_GPL vmlinux 0x6cf8dc4f platform_device_add_data +EXPORT_SYMBOL_GPL vmlinux 0x6d09843f copy_bpf_fprog_from_user +EXPORT_SYMBOL_GPL vmlinux 0x6d2fc5a6 net_namespace_list +EXPORT_SYMBOL_GPL vmlinux 0x6d34fb73 folio_wait_writeback +EXPORT_SYMBOL_GPL vmlinux 0x6d3d93c0 crypto_spawn_tfm +EXPORT_SYMBOL_GPL vmlinux 0x6d47699c gpiod_unexport +EXPORT_SYMBOL_GPL vmlinux 0x6d5ce483 sfp_module_insert +EXPORT_SYMBOL_GPL vmlinux 0x6d6b6178 mmu_interval_notifier_insert_locked +EXPORT_SYMBOL_GPL vmlinux 0x6d6d74f2 public_key_signature_free +EXPORT_SYMBOL_GPL vmlinux 0x6d6fec1f ktime_mono_to_any +EXPORT_SYMBOL_GPL vmlinux 0x6d7832b7 __stack_depot_save +EXPORT_SYMBOL_GPL vmlinux 0x6d7e951e rcu_exp_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0x6d82c5a9 regmap_write_async +EXPORT_SYMBOL_GPL vmlinux 0x6db94619 platform_get_mem_or_io +EXPORT_SYMBOL_GPL vmlinux 0x6dbaafd3 put_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6dd5680d sprint_symbol_build_id +EXPORT_SYMBOL_GPL vmlinux 0x6de3622c fuse_direct_io +EXPORT_SYMBOL_GPL vmlinux 0x6dec91f8 __tcp_send_ack +EXPORT_SYMBOL_GPL vmlinux 0x6e00fcfb modify_ftrace_direct +EXPORT_SYMBOL_GPL vmlinux 0x6e09d93d __SCK__tp_func_map +EXPORT_SYMBOL_GPL vmlinux 0x6e27550c nfs42_ssc_register +EXPORT_SYMBOL_GPL vmlinux 0x6e3347ec devlink_priv +EXPORT_SYMBOL_GPL vmlinux 0x6e353c26 mpi_rshift +EXPORT_SYMBOL_GPL vmlinux 0x6e59f821 __tracepoint_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0x6e5c5f03 dst_blackhole_mtu +EXPORT_SYMBOL_GPL vmlinux 0x6e7943ec iommu_group_id +EXPORT_SYMBOL_GPL vmlinux 0x6e85a7fb gpiod_to_chip +EXPORT_SYMBOL_GPL vmlinux 0x6e870f10 devm_gpiod_get_from_of_node +EXPORT_SYMBOL_GPL vmlinux 0x6e9759f4 tcp_register_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0x6eaefcd5 virtio_check_mem_acc_cb +EXPORT_SYMBOL_GPL vmlinux 0x6ebe366f ktime_get_mono_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6ec7b94c gen_pool_avail +EXPORT_SYMBOL_GPL vmlinux 0x6ed446b9 component_del +EXPORT_SYMBOL_GPL vmlinux 0x6ee0f3a7 trace_remove_event_call +EXPORT_SYMBOL_GPL vmlinux 0x6ee3ca78 strp_stop +EXPORT_SYMBOL_GPL vmlinux 0x6ee8c94b sfp_get_module_eeprom +EXPORT_SYMBOL_GPL vmlinux 0x6eeeb46a aead_geniv_alloc +EXPORT_SYMBOL_GPL vmlinux 0x6ef3b95c call_srcu +EXPORT_SYMBOL_GPL vmlinux 0x6ef4259e fscrypt_set_test_dummy_encryption +EXPORT_SYMBOL_GPL vmlinux 0x6ef6b54f ktime_get_boot_fast_ns +EXPORT_SYMBOL_GPL vmlinux 0x6f0b5a96 blocking_notifier_call_chain_robust +EXPORT_SYMBOL_GPL vmlinux 0x6f12560a get_old_timespec32 +EXPORT_SYMBOL_GPL vmlinux 0x6f1e2e6a gmap_shadow_r2t +EXPORT_SYMBOL_GPL vmlinux 0x6f2017de misc_cg_set_capacity +EXPORT_SYMBOL_GPL vmlinux 0x6f271615 gmap_shadow_pgt_lookup +EXPORT_SYMBOL_GPL vmlinux 0x6f35cc1a crypto_skcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0x6f3f24ba debugfs_create_x32 +EXPORT_SYMBOL_GPL vmlinux 0x6f683a71 driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0x6f6b52e9 __ipv6_fixup_options +EXPORT_SYMBOL_GPL vmlinux 0x6f6cc524 regmap_raw_write_async +EXPORT_SYMBOL_GPL vmlinux 0x6f7857a6 sysfs_remove_file_self +EXPORT_SYMBOL_GPL vmlinux 0x6f7ada92 crypto_aes_set_key +EXPORT_SYMBOL_GPL vmlinux 0x6f7e6040 irq_has_action +EXPORT_SYMBOL_GPL vmlinux 0x6f8b9889 appldata_unregister_ops +EXPORT_SYMBOL_GPL vmlinux 0x6f9e763b timecounter_read +EXPORT_SYMBOL_GPL vmlinux 0x6faa2027 pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0x6fc6a016 pci_device_group +EXPORT_SYMBOL_GPL vmlinux 0x6fcef6ab ring_buffer_reset +EXPORT_SYMBOL_GPL vmlinux 0x6fd7a7e4 regmap_get_device +EXPORT_SYMBOL_GPL vmlinux 0x6fde950a gpiod_export_link +EXPORT_SYMBOL_GPL vmlinux 0x6ff46830 crypto_find_alg +EXPORT_SYMBOL_GPL vmlinux 0x6ff607b6 crypto_get_default_rng +EXPORT_SYMBOL_GPL vmlinux 0x7006586e iommu_get_group_resv_regions +EXPORT_SYMBOL_GPL vmlinux 0x70102315 devm_hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0x701922f3 kvm_set_memory_region +EXPORT_SYMBOL_GPL vmlinux 0x70254356 crypto_alloc_tfm_node +EXPORT_SYMBOL_GPL vmlinux 0x703f8c8e fib4_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x70492741 tcp_twsk_destructor +EXPORT_SYMBOL_GPL vmlinux 0x706cb56c vfs_cancel_lock +EXPORT_SYMBOL_GPL vmlinux 0x7073c04f phy_10_100_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7077928c blk_trace_startstop +EXPORT_SYMBOL_GPL vmlinux 0x708204e6 skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x708c70df clone_private_mount +EXPORT_SYMBOL_GPL vmlinux 0x70a3c80b __vfs_removexattr_locked +EXPORT_SYMBOL_GPL vmlinux 0x70b2119a tty_port_unregister_device +EXPORT_SYMBOL_GPL vmlinux 0x70c1e8cd vmf_insert_pfn_pmd_prot +EXPORT_SYMBOL_GPL vmlinux 0x70c2c7ea pids_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x70c3a5b9 debugfs_read_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x70c52dc5 nf_skb_duplicated +EXPORT_SYMBOL_GPL vmlinux 0x70d134cc devm_free_pages +EXPORT_SYMBOL_GPL vmlinux 0x70de8400 balloon_page_alloc +EXPORT_SYMBOL_GPL vmlinux 0x70f89d53 rsa_parse_priv_key +EXPORT_SYMBOL_GPL vmlinux 0x710c73b6 crypto_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7114e45a pcie_update_link_speed +EXPORT_SYMBOL_GPL vmlinux 0x712ee398 ccw_device_siosl +EXPORT_SYMBOL_GPL vmlinux 0x71457e2e gpiod_set_transitory +EXPORT_SYMBOL_GPL vmlinux 0x715a43ce priv_to_devlink +EXPORT_SYMBOL_GPL vmlinux 0x716265c7 debugfs_initialized +EXPORT_SYMBOL_GPL vmlinux 0x7172c5e8 iommu_page_response +EXPORT_SYMBOL_GPL vmlinux 0x7179c31c zpci_iomap_start +EXPORT_SYMBOL_GPL vmlinux 0x718b8a4a dm_submit_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0x719c63e4 blkcg_root_css +EXPORT_SYMBOL_GPL vmlinux 0x71a20f4a __SCK__tp_func_non_standard_event +EXPORT_SYMBOL_GPL vmlinux 0x71a64223 blk_crypto_profile_init +EXPORT_SYMBOL_GPL vmlinux 0x71b15008 lwtunnel_valid_encap_type +EXPORT_SYMBOL_GPL vmlinux 0x71b6cf94 dst_cache_reset_now +EXPORT_SYMBOL_GPL vmlinux 0x71cda4ce dax_iomap_fault +EXPORT_SYMBOL_GPL vmlinux 0x71db9f1c devm_blk_crypto_profile_init +EXPORT_SYMBOL_GPL vmlinux 0x71f69a66 software_node_unregister +EXPORT_SYMBOL_GPL vmlinux 0x720392e5 blk_crypto_profile_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7213e51a bus_register +EXPORT_SYMBOL_GPL vmlinux 0x7222e48c tty_ldisc_flush +EXPORT_SYMBOL_GPL vmlinux 0x7223aa50 shash_free_singlespawn_instance +EXPORT_SYMBOL_GPL vmlinux 0x722c169a inet_csk_route_child_sock +EXPORT_SYMBOL_GPL vmlinux 0x7236d746 fat_setattr +EXPORT_SYMBOL_GPL vmlinux 0x7259a120 enable_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x7262702b sfp_get_module_eeprom_by_page +EXPORT_SYMBOL_GPL vmlinux 0x7265f2b0 pci_vpd_check_csum +EXPORT_SYMBOL_GPL vmlinux 0x7270d289 locks_alloc_lock +EXPORT_SYMBOL_GPL vmlinux 0x7274f083 dax_add_host +EXPORT_SYMBOL_GPL vmlinux 0x7278d328 all_vm_events +EXPORT_SYMBOL_GPL vmlinux 0x7280a891 security_inode_mkdir +EXPORT_SYMBOL_GPL vmlinux 0x7283161b percpu_ref_switch_to_percpu +EXPORT_SYMBOL_GPL vmlinux 0x72a28671 blk_clear_pm_only +EXPORT_SYMBOL_GPL vmlinux 0x72bcfb05 inet_csk_clone_lock +EXPORT_SYMBOL_GPL vmlinux 0x72edf918 __tracepoint_kfree_skb +EXPORT_SYMBOL_GPL vmlinux 0x7302eece ipv6_proxy_select_ident +EXPORT_SYMBOL_GPL vmlinux 0x7315ff92 lwtunnel_cmp_encap +EXPORT_SYMBOL_GPL vmlinux 0x7351fcb1 devlink_remote_reload_actions_performed +EXPORT_SYMBOL_GPL vmlinux 0x7355d3f0 mark_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x738ebd1a component_release_of +EXPORT_SYMBOL_GPL vmlinux 0x738ed724 pci_create_root_bus +EXPORT_SYMBOL_GPL vmlinux 0x73927330 iomap_dio_bio_end_io +EXPORT_SYMBOL_GPL vmlinux 0x73a8aca4 sock_map_destroy +EXPORT_SYMBOL_GPL vmlinux 0x73a9e7a3 iommu_iova_to_phys +EXPORT_SYMBOL_GPL vmlinux 0x73c93090 rhashtable_insert_slow +EXPORT_SYMBOL_GPL vmlinux 0x73cc8631 oiap +EXPORT_SYMBOL_GPL vmlinux 0x73e88499 bpf_trace_run7 +EXPORT_SYMBOL_GPL vmlinux 0x7406b4c9 __traceiter_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0x74070b79 irq_domain_xlate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x74155626 kvm_debugfs_dir +EXPORT_SYMBOL_GPL vmlinux 0x744606ce tracing_snapshot_cond_enable +EXPORT_SYMBOL_GPL vmlinux 0x745dcf50 srcu_torture_stats_print +EXPORT_SYMBOL_GPL vmlinux 0x74680384 virtio_max_dma_size +EXPORT_SYMBOL_GPL vmlinux 0x7471447b class_destroy +EXPORT_SYMBOL_GPL vmlinux 0x748af83e debugfs_file_put +EXPORT_SYMBOL_GPL vmlinux 0x74ac2304 platform_device_alloc +EXPORT_SYMBOL_GPL vmlinux 0x74b5ea68 lcm_not_zero +EXPORT_SYMBOL_GPL vmlinux 0x74baf17a tracing_is_on +EXPORT_SYMBOL_GPL vmlinux 0x74e22b47 crypto_enqueue_request +EXPORT_SYMBOL_GPL vmlinux 0x74e73871 housekeeping_overridden +EXPORT_SYMBOL_GPL vmlinux 0x75186fd5 crypto_alloc_ahash +EXPORT_SYMBOL_GPL vmlinux 0x7522f3ba irq_modify_status +EXPORT_SYMBOL_GPL vmlinux 0x7524e362 PageHeadHuge +EXPORT_SYMBOL_GPL vmlinux 0x7534d2bb devm_krealloc +EXPORT_SYMBOL_GPL vmlinux 0x7554b896 zs_huge_class_size +EXPORT_SYMBOL_GPL vmlinux 0x75632ab9 gpiochip_irq_domain_activate +EXPORT_SYMBOL_GPL vmlinux 0x7578c58a devres_remove_group +EXPORT_SYMBOL_GPL vmlinux 0x757c1bbb housekeeping_any_cpu +EXPORT_SYMBOL_GPL vmlinux 0x75811867 fwnode_graph_get_port_parent +EXPORT_SYMBOL_GPL vmlinux 0x7585b478 devlink_dpipe_match_put +EXPORT_SYMBOL_GPL vmlinux 0x75b922a4 zpci_kvm_hook +EXPORT_SYMBOL_GPL vmlinux 0x75e51945 __SCK__tp_func_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0x75e9c735 pci_ats_disabled +EXPORT_SYMBOL_GPL vmlinux 0x75edf7b3 copy_from_kernel_nofault +EXPORT_SYMBOL_GPL vmlinux 0x76178496 is_software_node +EXPORT_SYMBOL_GPL vmlinux 0x76339ae7 nf_ct_hook +EXPORT_SYMBOL_GPL vmlinux 0x764060da sched_show_task +EXPORT_SYMBOL_GPL vmlinux 0x764fa122 component_master_add_with_match +EXPORT_SYMBOL_GPL vmlinux 0x764ffefa page_reporting_register +EXPORT_SYMBOL_GPL vmlinux 0x76506b5f __traceiter_neigh_event_send_done +EXPORT_SYMBOL_GPL vmlinux 0x76780279 clockevent_delta2ns +EXPORT_SYMBOL_GPL vmlinux 0x768750f0 pci_bus_add_device +EXPORT_SYMBOL_GPL vmlinux 0x769471f8 ipv4_redirect +EXPORT_SYMBOL_GPL vmlinux 0x769cefb5 percpu_ref_switch_to_atomic +EXPORT_SYMBOL_GPL vmlinux 0x76b218ba init_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0x76be10f3 fat_sync_inode +EXPORT_SYMBOL_GPL vmlinux 0x76cf8b55 kvm_io_bus_write +EXPORT_SYMBOL_GPL vmlinux 0x76db5b28 pci_load_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x76e3ed61 ip_route_output_flow +EXPORT_SYMBOL_GPL vmlinux 0x76eeeb0f sha384_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x76f54d6c __cpuhp_state_add_instance +EXPORT_SYMBOL_GPL vmlinux 0x76f9eeb5 devlink_port_register +EXPORT_SYMBOL_GPL vmlinux 0x770f8682 fat_flush_inodes +EXPORT_SYMBOL_GPL vmlinux 0x77189bb9 param_set_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0x774f16ef __tracepoint_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0x77601d0a fib_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7763e4f9 bio_blkcg_css +EXPORT_SYMBOL_GPL vmlinux 0x7764b6f3 devm_pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x776f6d8f call_switchdev_blocking_notifiers +EXPORT_SYMBOL_GPL vmlinux 0x777d74d2 crypto_unregister_scomps +EXPORT_SYMBOL_GPL vmlinux 0x7791e066 dw_pcie_read +EXPORT_SYMBOL_GPL vmlinux 0x77c462be pci_disable_sriov +EXPORT_SYMBOL_GPL vmlinux 0x77cbcd00 crypto_alloc_acomp_node +EXPORT_SYMBOL_GPL vmlinux 0x77cddbdc crypto_aead_setauthsize +EXPORT_SYMBOL_GPL vmlinux 0x77e75be3 sfp_bus_put +EXPORT_SYMBOL_GPL vmlinux 0x77ecf68d memalloc_socks_key +EXPORT_SYMBOL_GPL vmlinux 0x78041b8f byte_rev_table +EXPORT_SYMBOL_GPL vmlinux 0x78176ba1 devlink_param_unregister +EXPORT_SYMBOL_GPL vmlinux 0x781a2471 register_ftrace_function +EXPORT_SYMBOL_GPL vmlinux 0x7823d2ea __mnt_is_readonly +EXPORT_SYMBOL_GPL vmlinux 0x7823eaa5 __clocksource_register_scale +EXPORT_SYMBOL_GPL vmlinux 0x7834c019 phy_10gbit_full_features +EXPORT_SYMBOL_GPL vmlinux 0x784bfd91 tty_standard_install +EXPORT_SYMBOL_GPL vmlinux 0x785a93b4 si_mem_available +EXPORT_SYMBOL_GPL vmlinux 0x785cc965 ip6_sk_redirect +EXPORT_SYMBOL_GPL vmlinux 0x785f4d38 debugfs_write_file_bool +EXPORT_SYMBOL_GPL vmlinux 0x787e66eb devlink_params_unregister +EXPORT_SYMBOL_GPL vmlinux 0x788bfbad ring_buffer_empty +EXPORT_SYMBOL_GPL vmlinux 0x78993581 gmap_get_enabled +EXPORT_SYMBOL_GPL vmlinux 0x789c73d9 rcu_cpu_stall_suppress_at_boot +EXPORT_SYMBOL_GPL vmlinux 0x78a75227 irq_chip_set_parent_state +EXPORT_SYMBOL_GPL vmlinux 0x78ac4e0b bdev_discard_alignment +EXPORT_SYMBOL_GPL vmlinux 0x78b0d872 devl_port_register +EXPORT_SYMBOL_GPL vmlinux 0x78b1cb59 ping_err +EXPORT_SYMBOL_GPL vmlinux 0x78f334f3 iommu_unmap +EXPORT_SYMBOL_GPL vmlinux 0x791adab6 devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0x7926740c devres_remove +EXPORT_SYMBOL_GPL vmlinux 0x792add82 pci_platform_power_transition +EXPORT_SYMBOL_GPL vmlinux 0x79323767 sysfs_merge_group +EXPORT_SYMBOL_GPL vmlinux 0x7944e0fc tracing_off +EXPORT_SYMBOL_GPL vmlinux 0x79470a2c TSS_authhmac +EXPORT_SYMBOL_GPL vmlinux 0x794738ba dax_remove_host +EXPORT_SYMBOL_GPL vmlinux 0x794b7271 orderly_reboot +EXPORT_SYMBOL_GPL vmlinux 0x79910e93 dm_report_zones +EXPORT_SYMBOL_GPL vmlinux 0x79ae80d4 fib_nh_common_release +EXPORT_SYMBOL_GPL vmlinux 0x79b360f4 gpiochip_line_is_persistent +EXPORT_SYMBOL_GPL vmlinux 0x79b5a328 ccw_device_get_cssid +EXPORT_SYMBOL_GPL vmlinux 0x79c7bb9f dax_writeback_mapping_range +EXPORT_SYMBOL_GPL vmlinux 0x79cf8162 sysfs_create_mount_point +EXPORT_SYMBOL_GPL vmlinux 0x79d963f2 vp_legacy_get_driver_features +EXPORT_SYMBOL_GPL vmlinux 0x79de26c7 bio_start_io_acct_time +EXPORT_SYMBOL_GPL vmlinux 0x79defbe1 kthread_should_park +EXPORT_SYMBOL_GPL vmlinux 0x79e1cddc cio_tm_start_key +EXPORT_SYMBOL_GPL vmlinux 0x79e76808 gpiochip_is_requested +EXPORT_SYMBOL_GPL vmlinux 0x79ec24eb kvm_vcpu_mark_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0x7a05cd77 sock_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0x7a10d0ad fscrypt_set_context +EXPORT_SYMBOL_GPL vmlinux 0x7a124031 pci_try_reset_function +EXPORT_SYMBOL_GPL vmlinux 0x7a278dbd gmap_translate +EXPORT_SYMBOL_GPL vmlinux 0x7a5c7c41 gmap_fault +EXPORT_SYMBOL_GPL vmlinux 0x7a668938 rdev_clear_badblocks +EXPORT_SYMBOL_GPL vmlinux 0x7a671c19 blk_crypto_intersect_capabilities +EXPORT_SYMBOL_GPL vmlinux 0x7a767dba access_process_vm +EXPORT_SYMBOL_GPL vmlinux 0x7a81541b async_synchronize_cookie +EXPORT_SYMBOL_GPL vmlinux 0x7a944007 rcu_idle_enter +EXPORT_SYMBOL_GPL vmlinux 0x7a9b0f72 relay_close +EXPORT_SYMBOL_GPL vmlinux 0x7aa2be70 regcache_cache_bypass +EXPORT_SYMBOL_GPL vmlinux 0x7ab03446 iommu_group_remove_device +EXPORT_SYMBOL_GPL vmlinux 0x7ac0ff99 relay_reset +EXPORT_SYMBOL_GPL vmlinux 0x7ac722bd phy_all_ports_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7ad02a41 asn1_encode_tag +EXPORT_SYMBOL_GPL vmlinux 0x7ad30a82 smp_yield_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7ae338b1 pci_disable_pcie_error_reporting +EXPORT_SYMBOL_GPL vmlinux 0x7af40ee0 strp_done +EXPORT_SYMBOL_GPL vmlinux 0x7af6cffb gmap_convert_to_secure +EXPORT_SYMBOL_GPL vmlinux 0x7afe324e halt_poll_ns_grow +EXPORT_SYMBOL_GPL vmlinux 0x7b2ee5ac udp_tunnel_nic_ops +EXPORT_SYMBOL_GPL vmlinux 0x7b306b20 ip6_route_input_lookup +EXPORT_SYMBOL_GPL vmlinux 0x7b37482a crypto_register_skcipher +EXPORT_SYMBOL_GPL vmlinux 0x7b4785a8 tty_ldisc_ref_wait +EXPORT_SYMBOL_GPL vmlinux 0x7b524c91 locks_owner_has_blockers +EXPORT_SYMBOL_GPL vmlinux 0x7b5372f7 kvm_write_guest_page +EXPORT_SYMBOL_GPL vmlinux 0x7b5a4926 sha1_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x7b74c829 switchdev_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x7b82968c switchdev_port_attr_set +EXPORT_SYMBOL_GPL vmlinux 0x7b8910f4 kfence_sample_interval +EXPORT_SYMBOL_GPL vmlinux 0x7b9793a2 get_cpu_idle_time_us +EXPORT_SYMBOL_GPL vmlinux 0x7bb045a7 __request_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0x7bb30b7b akcipher_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x7bbc4161 crypto_hash_walk_first +EXPORT_SYMBOL_GPL vmlinux 0x7bd6a595 crypto_stats_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0x7be224da blkg_rwstat_exit +EXPORT_SYMBOL_GPL vmlinux 0x7beeb6fd bpf_offload_dev_create +EXPORT_SYMBOL_GPL vmlinux 0x7befe1fa virtqueue_add_sgs +EXPORT_SYMBOL_GPL vmlinux 0x7bfe7e9b badblocks_clear +EXPORT_SYMBOL_GPL vmlinux 0x7c2736d5 __alloc_pages_bulk +EXPORT_SYMBOL_GPL vmlinux 0x7c291e86 show_rcu_tasks_trace_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0x7c2d392d trace_seq_bprintf +EXPORT_SYMBOL_GPL vmlinux 0x7c35e60a stop_machine +EXPORT_SYMBOL_GPL vmlinux 0x7c5f7d06 tcp_bpf_sendmsg_redir +EXPORT_SYMBOL_GPL vmlinux 0x7c6f5569 regmap_multi_reg_write_bypassed +EXPORT_SYMBOL_GPL vmlinux 0x7c760ee7 get_task_mm +EXPORT_SYMBOL_GPL vmlinux 0x7c85edad fib_info_nh_uses_dev +EXPORT_SYMBOL_GPL vmlinux 0x7c94c99a kvm_release_pfn_dirty +EXPORT_SYMBOL_GPL vmlinux 0x7cb1aea1 devlink_dpipe_header_ethernet +EXPORT_SYMBOL_GPL vmlinux 0x7cceaf92 zs_pool_stats +EXPORT_SYMBOL_GPL vmlinux 0x7ceaf0d5 generic_handle_irq +EXPORT_SYMBOL_GPL vmlinux 0x7ceeab78 kvm_is_visible_gfn +EXPORT_SYMBOL_GPL vmlinux 0x7d01160b debugfs_file_get +EXPORT_SYMBOL_GPL vmlinux 0x7d1dc8cc pci_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0x7d293c45 virtqueue_kick_prepare +EXPORT_SYMBOL_GPL vmlinux 0x7d296505 dma_resv_describe +EXPORT_SYMBOL_GPL vmlinux 0x7d29d540 elv_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7da21d9c pci_epc_destroy +EXPORT_SYMBOL_GPL vmlinux 0x7dab896b gpiod_to_irq +EXPORT_SYMBOL_GPL vmlinux 0x7dca4e2e pci_store_saved_state +EXPORT_SYMBOL_GPL vmlinux 0x7dccbaab devres_find +EXPORT_SYMBOL_GPL vmlinux 0x7dcfe0cd gpiochip_reqres_irq +EXPORT_SYMBOL_GPL vmlinux 0x7dda30af unregister_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7ddb46ac sk_psock_msg_verdict +EXPORT_SYMBOL_GPL vmlinux 0x7ddd031d gpiod_get_raw_value +EXPORT_SYMBOL_GPL vmlinux 0x7de39e07 phy_basic_t1_features_array +EXPORT_SYMBOL_GPL vmlinux 0x7de6cc23 io_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0x7df02783 __auxiliary_device_add +EXPORT_SYMBOL_GPL vmlinux 0x7df31162 virtqueue_poll +EXPORT_SYMBOL_GPL vmlinux 0x7e1ceb85 evict_inodes +EXPORT_SYMBOL_GPL vmlinux 0x7e1e3623 irq_domain_translate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x7e282e0a pci_generic_config_read +EXPORT_SYMBOL_GPL vmlinux 0x7e3240a3 fuse_dev_free +EXPORT_SYMBOL_GPL vmlinux 0x7e3bdecd __ftrace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0x7e3f805b sk_psock_tls_strp_read +EXPORT_SYMBOL_GPL vmlinux 0x7e46f298 find_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0x7e52cab0 ccw_device_get_schid +EXPORT_SYMBOL_GPL vmlinux 0x7e5b3b71 net_ns_get_ownership +EXPORT_SYMBOL_GPL vmlinux 0x7e698dda __netdev_watchdog_up +EXPORT_SYMBOL_GPL vmlinux 0x7e7e3f58 ring_buffer_reset_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7e917894 __SCK__tp_func_unmap +EXPORT_SYMBOL_GPL vmlinux 0x7eb1795e __tracepoint_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0x7eb6991b pci_restore_msi_state +EXPORT_SYMBOL_GPL vmlinux 0x7eb808d0 add_cpu +EXPORT_SYMBOL_GPL vmlinux 0x7eccb72d xfrm_audit_state_icvfail +EXPORT_SYMBOL_GPL vmlinux 0x7edfdb92 irq_set_affinity_notifier +EXPORT_SYMBOL_GPL vmlinux 0x7ef49e92 sdev_evt_send_simple +EXPORT_SYMBOL_GPL vmlinux 0x7ef8eb8d sbitmap_del_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x7f00bdac devlink_resource_register +EXPORT_SYMBOL_GPL vmlinux 0x7f291183 xas_store +EXPORT_SYMBOL_GPL vmlinux 0x7f3cf8da get_task_pid +EXPORT_SYMBOL_GPL vmlinux 0x7f5260b4 vp_legacy_get_status +EXPORT_SYMBOL_GPL vmlinux 0x7f557586 badblocks_init +EXPORT_SYMBOL_GPL vmlinux 0x7f5fdd95 gpiochip_free_own_desc +EXPORT_SYMBOL_GPL vmlinux 0x7f7a648c device_show_int +EXPORT_SYMBOL_GPL vmlinux 0x7f7cbc64 ip_tunnel_need_metadata +EXPORT_SYMBOL_GPL vmlinux 0x7f7e47ee virtio_reset_device +EXPORT_SYMBOL_GPL vmlinux 0x7f84f35d rcu_gp_slow_unregister +EXPORT_SYMBOL_GPL vmlinux 0x7f9e4497 pci_epc_add_epf +EXPORT_SYMBOL_GPL vmlinux 0x7fa03d34 devm_register_power_off_handler +EXPORT_SYMBOL_GPL vmlinux 0x7fb0de37 __skb_tstamp_tx +EXPORT_SYMBOL_GPL vmlinux 0x7fbb2291 __traceiter_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x7fcc791d gpiod_direction_output +EXPORT_SYMBOL_GPL vmlinux 0x7fdee4c4 kthread_data +EXPORT_SYMBOL_GPL vmlinux 0x7ff26b53 bus_unregister +EXPORT_SYMBOL_GPL vmlinux 0x80097a17 virtqueue_add_inbuf +EXPORT_SYMBOL_GPL vmlinux 0x8015fa90 mmu_interval_notifier_insert +EXPORT_SYMBOL_GPL vmlinux 0x8031cbf1 blkcg_activate_policy +EXPORT_SYMBOL_GPL vmlinux 0x80440a31 wb_writeout_inc +EXPORT_SYMBOL_GPL vmlinux 0x804a5e3a ip6_push_pending_frames +EXPORT_SYMBOL_GPL vmlinux 0x804cee0c ip6_sk_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x806807b1 vp_modern_generation +EXPORT_SYMBOL_GPL vmlinux 0x807fdcc4 call_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0x808ec1a3 crypto_alg_tested +EXPORT_SYMBOL_GPL vmlinux 0x809b612f fib_nl_delrule +EXPORT_SYMBOL_GPL vmlinux 0x80badff4 __tracepoint_block_unplug +EXPORT_SYMBOL_GPL vmlinux 0x80be4104 disk_force_media_change +EXPORT_SYMBOL_GPL vmlinux 0x80c68137 nf_log_buf_close +EXPORT_SYMBOL_GPL vmlinux 0x80c964b8 sk_msg_return_zero +EXPORT_SYMBOL_GPL vmlinux 0x80d5e57a mpi_free +EXPORT_SYMBOL_GPL vmlinux 0x80e7ad76 fbcon_modechange_possible +EXPORT_SYMBOL_GPL vmlinux 0x80ec05d8 evm_inode_init_security +EXPORT_SYMBOL_GPL vmlinux 0x80fb44b1 software_node_register_node_group +EXPORT_SYMBOL_GPL vmlinux 0x81276b43 md_bitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0x812ea476 trace_seq_bitmask +EXPORT_SYMBOL_GPL vmlinux 0x815f2309 vfs_setxattr +EXPORT_SYMBOL_GPL vmlinux 0x815fda83 sed_ioctl +EXPORT_SYMBOL_GPL vmlinux 0x816aade8 vtime_account_kernel +EXPORT_SYMBOL_GPL vmlinux 0x8180cede asn1_encode_sequence +EXPORT_SYMBOL_GPL vmlinux 0x81927a4a dm_get_queue_limits +EXPORT_SYMBOL_GPL vmlinux 0x81a7f541 percpu_ref_init +EXPORT_SYMBOL_GPL vmlinux 0x81dc3a23 handle_simple_irq +EXPORT_SYMBOL_GPL vmlinux 0x81e2bdf4 generic_handle_irq_safe +EXPORT_SYMBOL_GPL vmlinux 0x81f372a2 unregister_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x822f8101 skb_pull_rcsum +EXPORT_SYMBOL_GPL vmlinux 0x8239c618 tpm_chip_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8247917a __traceiter_br_fdb_update +EXPORT_SYMBOL_GPL vmlinux 0x8260d06d filemap_read +EXPORT_SYMBOL_GPL vmlinux 0x82800630 vp_modern_get_status +EXPORT_SYMBOL_GPL vmlinux 0x82813536 device_find_child_by_name +EXPORT_SYMBOL_GPL vmlinux 0x8281f3fe dynevent_create +EXPORT_SYMBOL_GPL vmlinux 0x82903f3d mptcp_get_reset_option +EXPORT_SYMBOL_GPL vmlinux 0x829940bb kvm_read_guest_offset_cached +EXPORT_SYMBOL_GPL vmlinux 0x82a80545 __SCK__tp_func_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0x82bbf30b __tracepoint_map +EXPORT_SYMBOL_GPL vmlinux 0x82d02309 vp_modern_get_num_queues +EXPORT_SYMBOL_GPL vmlinux 0x82d467fd __udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x82d79b51 sysctl_vfs_cache_pressure +EXPORT_SYMBOL_GPL vmlinux 0x83168909 ccw_device_pnso +EXPORT_SYMBOL_GPL vmlinux 0x8339df73 klist_add_behind +EXPORT_SYMBOL_GPL vmlinux 0x8356419c udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x835e8e93 nf_route +EXPORT_SYMBOL_GPL vmlinux 0x83675aec regmap_register_patch +EXPORT_SYMBOL_GPL vmlinux 0x83857b16 hwrng_msleep +EXPORT_SYMBOL_GPL vmlinux 0x83aa84da ring_buffer_read_page +EXPORT_SYMBOL_GPL vmlinux 0x83b8dd85 __traceiter_neigh_cleanup_and_release +EXPORT_SYMBOL_GPL vmlinux 0x83be7a0a ip6_datagram_connect_v6_only +EXPORT_SYMBOL_GPL vmlinux 0x83d991d4 crypto_unregister_aead +EXPORT_SYMBOL_GPL vmlinux 0x8406a5ae __traceiter_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0x8408c03a dax_finish_sync_fault +EXPORT_SYMBOL_GPL vmlinux 0x84106f36 devlink_trap_ctx_priv +EXPORT_SYMBOL_GPL vmlinux 0x842541e4 watchdog_register_device +EXPORT_SYMBOL_GPL vmlinux 0x84264ced fs_umode_to_ftype +EXPORT_SYMBOL_GPL vmlinux 0x842d3b95 bpf_prog_free +EXPORT_SYMBOL_GPL vmlinux 0x84502a47 blk_status_to_errno +EXPORT_SYMBOL_GPL vmlinux 0x845dbf3b scatterwalk_map_and_copy +EXPORT_SYMBOL_GPL vmlinux 0x848482d9 perf_aux_output_end +EXPORT_SYMBOL_GPL vmlinux 0x84886b3d md_rdev_init +EXPORT_SYMBOL_GPL vmlinux 0x84978194 skb_splice_bits +EXPORT_SYMBOL_GPL vmlinux 0x84a98082 ipv4_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x84ba4455 fwnode_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0x84badd37 irq_domain_create_legacy +EXPORT_SYMBOL_GPL vmlinux 0x84c1c7d8 xdp_rxq_info_unreg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0x84ce22d0 kvm_vcpu_gfn_to_pfn_atomic +EXPORT_SYMBOL_GPL vmlinux 0x84e566be serdev_device_open +EXPORT_SYMBOL_GPL vmlinux 0x850bb6db devlink_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0x850e3d31 cpu_subsys +EXPORT_SYMBOL_GPL vmlinux 0x851fe124 __SCK__tp_func_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0x856487ef ip6_dst_lookup_flow +EXPORT_SYMBOL_GPL vmlinux 0x8566906c bpf_trace_run11 +EXPORT_SYMBOL_GPL vmlinux 0x85a2d4c2 sbitmap_init_node +EXPORT_SYMBOL_GPL vmlinux 0x85cbbeb3 get_cpu_device +EXPORT_SYMBOL_GPL vmlinux 0x85ecac78 xdp_return_frame_bulk +EXPORT_SYMBOL_GPL vmlinux 0x85f9ec76 disk_update_readahead +EXPORT_SYMBOL_GPL vmlinux 0x861a7a70 fscrypt_dummy_policies_equal +EXPORT_SYMBOL_GPL vmlinux 0x861f67a1 bus_get_device_klist +EXPORT_SYMBOL_GPL vmlinux 0x862258db timecounter_init +EXPORT_SYMBOL_GPL vmlinux 0x86263563 bpf_map_inc_with_uref +EXPORT_SYMBOL_GPL vmlinux 0x863555f0 device_reprobe +EXPORT_SYMBOL_GPL vmlinux 0x864011ba tpm2_get_cc_attrs_tbl +EXPORT_SYMBOL_GPL vmlinux 0x864c4f19 get_net_ns_by_id +EXPORT_SYMBOL_GPL vmlinux 0x86585a33 devlink_fmsg_obj_nest_start +EXPORT_SYMBOL_GPL vmlinux 0x86755738 sdev_evt_send +EXPORT_SYMBOL_GPL vmlinux 0x8677245d unregister_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0x867b1dd5 device_iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0x867ca053 __traceiter_sched_cpu_capacity_tp +EXPORT_SYMBOL_GPL vmlinux 0x867ef109 tty_port_install +EXPORT_SYMBOL_GPL vmlinux 0x868784cb __symbol_get +EXPORT_SYMBOL_GPL vmlinux 0x8693dcb0 kthread_func +EXPORT_SYMBOL_GPL vmlinux 0x86948426 vp_legacy_queue_vector +EXPORT_SYMBOL_GPL vmlinux 0x86a442c1 pci_epf_bind +EXPORT_SYMBOL_GPL vmlinux 0x86b0b6ba zpci_barrier +EXPORT_SYMBOL_GPL vmlinux 0x86b666d7 crypto_register_aead +EXPORT_SYMBOL_GPL vmlinux 0x86c5baf7 trace_seq_vprintf +EXPORT_SYMBOL_GPL vmlinux 0x86dda6ef rtm_getroute_parse_ip_proto +EXPORT_SYMBOL_GPL vmlinux 0x86f3ecbf register_kprobe +EXPORT_SYMBOL_GPL vmlinux 0x86f6b99d synchronize_rcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0x86f85114 net_dec_egress_queue +EXPORT_SYMBOL_GPL vmlinux 0x8703fada l3mdev_ifindex_lookup_by_table_id +EXPORT_SYMBOL_GPL vmlinux 0x873e52c6 __traceiter_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x875efca6 crypto_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x876a03a1 component_add_typed +EXPORT_SYMBOL_GPL vmlinux 0x8772b95b cio_commit_config +EXPORT_SYMBOL_GPL vmlinux 0x877b5b51 debugfs_create_atomic_t +EXPORT_SYMBOL_GPL vmlinux 0x87a6566e devlink_port_attrs_pci_pf_set +EXPORT_SYMBOL_GPL vmlinux 0x87d5a8bf dm_per_bio_data +EXPORT_SYMBOL_GPL vmlinux 0x87f8ec62 iommu_device_unlink +EXPORT_SYMBOL_GPL vmlinux 0x881344ca sock_map_unhash +EXPORT_SYMBOL_GPL vmlinux 0x881ce2f5 dax_recovery_write +EXPORT_SYMBOL_GPL vmlinux 0x8830d3f4 phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0x88476f9f devl_lock +EXPORT_SYMBOL_GPL vmlinux 0x885528a6 ring_buffer_discard_commit +EXPORT_SYMBOL_GPL vmlinux 0x8881615c skb_mpls_push +EXPORT_SYMBOL_GPL vmlinux 0x8881b9d5 sk_attach_filter +EXPORT_SYMBOL_GPL vmlinux 0x888fb8f7 init_dummy_netdev +EXPORT_SYMBOL_GPL vmlinux 0x88a84404 dw_pcie_ep_reset_bar +EXPORT_SYMBOL_GPL vmlinux 0x88ab0f3d fscrypt_fname_siphash +EXPORT_SYMBOL_GPL vmlinux 0x88b4ae92 ring_buffer_normalize_time_stamp +EXPORT_SYMBOL_GPL vmlinux 0x88da1e50 platform_set +EXPORT_SYMBOL_GPL vmlinux 0x88dc3a08 alarm_expires_remaining +EXPORT_SYMBOL_GPL vmlinux 0x8904cf00 platform_device_add +EXPORT_SYMBOL_GPL vmlinux 0x890c2c35 devm_gpio_request +EXPORT_SYMBOL_GPL vmlinux 0x8917cf15 devl_port_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8924eb1e rcu_force_quiescent_state +EXPORT_SYMBOL_GPL vmlinux 0x893273d0 vp_modern_get_queue_size +EXPORT_SYMBOL_GPL vmlinux 0x893abbdd devlink_fmsg_u32_pair_put +EXPORT_SYMBOL_GPL vmlinux 0x89485687 iommu_group_put +EXPORT_SYMBOL_GPL vmlinux 0x894912e7 pci_probe_reset_slot +EXPORT_SYMBOL_GPL vmlinux 0x8954dc8e __SCK__tp_func_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0x8960e189 genphy_c45_read_mdix +EXPORT_SYMBOL_GPL vmlinux 0x89a0dfb9 bpf_prog_sub +EXPORT_SYMBOL_GPL vmlinux 0x89b5d629 sk_msg_is_readable +EXPORT_SYMBOL_GPL vmlinux 0x89bec8b0 gfn_to_pfn_memslot_atomic +EXPORT_SYMBOL_GPL vmlinux 0x89c429e4 __tracepoint_mc_event +EXPORT_SYMBOL_GPL vmlinux 0x89ea5521 digsig_verify +EXPORT_SYMBOL_GPL vmlinux 0x8a26cf4b regmap_reinit_cache +EXPORT_SYMBOL_GPL vmlinux 0x8a615a20 __kprobe_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0x8a62b81b sfp_upstream_stop +EXPORT_SYMBOL_GPL vmlinux 0x8a63bf7a gpio_free_array +EXPORT_SYMBOL_GPL vmlinux 0x8a66cd97 phy_save_page +EXPORT_SYMBOL_GPL vmlinux 0x8a83fb45 mpi_point_free_parts +EXPORT_SYMBOL_GPL vmlinux 0x8a98fe22 scsi_check_sense +EXPORT_SYMBOL_GPL vmlinux 0x8a9a9cf0 iomap_bmap +EXPORT_SYMBOL_GPL vmlinux 0x8a9fc810 regmap_check_range_table +EXPORT_SYMBOL_GPL vmlinux 0x8abacc47 get_max_files +EXPORT_SYMBOL_GPL vmlinux 0x8ac87913 tpm_chip_start +EXPORT_SYMBOL_GPL vmlinux 0x8ad3942a scsi_host_complete_all_commands +EXPORT_SYMBOL_GPL vmlinux 0x8b1531c8 fib6_rule_default +EXPORT_SYMBOL_GPL vmlinux 0x8b3792aa srcutorture_get_gp_data +EXPORT_SYMBOL_GPL vmlinux 0x8b5df394 unix_inq_len +EXPORT_SYMBOL_GPL vmlinux 0x8b7a698b __tracepoint_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0x8b7d7df1 gmap_make_secure +EXPORT_SYMBOL_GPL vmlinux 0x8b9eefcd crypto_unregister_ahashes +EXPORT_SYMBOL_GPL vmlinux 0x8bad4ff4 pgprot_writecombine +EXPORT_SYMBOL_GPL vmlinux 0x8bc2c840 fuse_dev_operations +EXPORT_SYMBOL_GPL vmlinux 0x8bcaa1a3 ping_hash +EXPORT_SYMBOL_GPL vmlinux 0x8bceabde pci_debug_msg_id +EXPORT_SYMBOL_GPL vmlinux 0x8bdc6849 iomap_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0x8bded20f zpci_load +EXPORT_SYMBOL_GPL vmlinux 0x8bfa4eeb nf_hook_entries_insert_raw +EXPORT_SYMBOL_GPL vmlinux 0x8bfd18e6 phy_speed_up +EXPORT_SYMBOL_GPL vmlinux 0x8bfdc177 transport_setup_device +EXPORT_SYMBOL_GPL vmlinux 0x8bfdda3b xdp_return_buff +EXPORT_SYMBOL_GPL vmlinux 0x8c03d20c destroy_workqueue +EXPORT_SYMBOL_GPL vmlinux 0x8c0ed103 rcu_check_boost_fail +EXPORT_SYMBOL_GPL vmlinux 0x8c1cea33 folio_mkclean +EXPORT_SYMBOL_GPL vmlinux 0x8c47afca idr_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8c645590 pci_epc_set_msi +EXPORT_SYMBOL_GPL vmlinux 0x8c668b45 rcuwait_wake_up +EXPORT_SYMBOL_GPL vmlinux 0x8c77e321 kvm_get_dirty_log +EXPORT_SYMBOL_GPL vmlinux 0x8c98d248 unregister_vmcore_cb +EXPORT_SYMBOL_GPL vmlinux 0x8cb26b6e tty_buffer_request_room +EXPORT_SYMBOL_GPL vmlinux 0x8cc94d28 trace_output_call +EXPORT_SYMBOL_GPL vmlinux 0x8ce2d446 __tracepoint_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0x8d0abf3a __tracepoint_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x8d22bb58 iommu_group_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8d2e726d bpf_prog_create_from_user +EXPORT_SYMBOL_GPL vmlinux 0x8d3330b6 cpuacct_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0x8d4d6630 switchdev_handle_port_obj_del +EXPORT_SYMBOL_GPL vmlinux 0x8d78f762 gmap_unmap_segment +EXPORT_SYMBOL_GPL vmlinux 0x8dafdded lwtunnel_valid_encap_type_attr +EXPORT_SYMBOL_GPL vmlinux 0x8db68133 kvm_read_guest_page +EXPORT_SYMBOL_GPL vmlinux 0x8de1346a phy_package_leave +EXPORT_SYMBOL_GPL vmlinux 0x8de610bb fsnotify_put_mark +EXPORT_SYMBOL_GPL vmlinux 0x8dffde40 crypto_register_kpp +EXPORT_SYMBOL_GPL vmlinux 0x8e257566 serdev_controller_alloc +EXPORT_SYMBOL_GPL vmlinux 0x8e2c2c2f msg_zerocopy_put_abort +EXPORT_SYMBOL_GPL vmlinux 0x8e2dfb04 sbitmap_queue_wake_all +EXPORT_SYMBOL_GPL vmlinux 0x8e44823a sfp_select_interface +EXPORT_SYMBOL_GPL vmlinux 0x8e473843 md_kick_rdev_from_array +EXPORT_SYMBOL_GPL vmlinux 0x8e4eb451 bpf_sk_storage_diag_free +EXPORT_SYMBOL_GPL vmlinux 0x8e55e26d nfs42_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0x8e6b1a9e net_selftest_get_count +EXPORT_SYMBOL_GPL vmlinux 0x8e904a50 device_store_bool +EXPORT_SYMBOL_GPL vmlinux 0x8e92f7c4 static_key_slow_inc +EXPORT_SYMBOL_GPL vmlinux 0x8e999a6e kthread_use_mm +EXPORT_SYMBOL_GPL vmlinux 0x8e9da092 eventfd_fget +EXPORT_SYMBOL_GPL vmlinux 0x8eba960f dma_resv_iter_next +EXPORT_SYMBOL_GPL vmlinux 0x8ec11d01 kasprintf_strarray +EXPORT_SYMBOL_GPL vmlinux 0x8ed03d1d fb_deferred_io_cleanup +EXPORT_SYMBOL_GPL vmlinux 0x8ee654a0 crypto_alg_mod_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8eec19bd __SCK__tp_func_pelt_dl_tp +EXPORT_SYMBOL_GPL vmlinux 0x8eee3399 dax_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0x8ef1c326 sk_psock_drop +EXPORT_SYMBOL_GPL vmlinux 0x8f0748af rcu_expedite_gp +EXPORT_SYMBOL_GPL vmlinux 0x8f1998ab ping_unhash +EXPORT_SYMBOL_GPL vmlinux 0x8f26638f bdev_disk_changed +EXPORT_SYMBOL_GPL vmlinux 0x8f3443af raw_seq_start +EXPORT_SYMBOL_GPL vmlinux 0x8f51be1b sbitmap_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0x8f545bd1 ext_pi_type1_crc64 +EXPORT_SYMBOL_GPL vmlinux 0x8f5bf523 __zpci_load +EXPORT_SYMBOL_GPL vmlinux 0x8f6cee77 __round_jiffies_relative +EXPORT_SYMBOL_GPL vmlinux 0x8f786bee fs_umode_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0x8f857bb7 gpiod_get_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0x8f9ee971 nl_table +EXPORT_SYMBOL_GPL vmlinux 0x8fac6007 blk_execute_rq_nowait +EXPORT_SYMBOL_GPL vmlinux 0x8fbbb122 devm_ioremap_uc +EXPORT_SYMBOL_GPL vmlinux 0x8fcaffd2 __udp4_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0x8fce7aea yield_to +EXPORT_SYMBOL_GPL vmlinux 0x8fcec47e balloon_page_list_dequeue +EXPORT_SYMBOL_GPL vmlinux 0x8feed292 fuse_dev_fiq_ops +EXPORT_SYMBOL_GPL vmlinux 0x8ff4a682 dev_fetch_sw_netstats +EXPORT_SYMBOL_GPL vmlinux 0x8ff60436 mpi_ec_add_points +EXPORT_SYMBOL_GPL vmlinux 0x8ff7ea2f devlink_region_snapshot_id_get +EXPORT_SYMBOL_GPL vmlinux 0x8ffe792f tracepoint_probe_register_prio_may_exist +EXPORT_SYMBOL_GPL vmlinux 0x903b627c list_lru_isolate_move +EXPORT_SYMBOL_GPL vmlinux 0x90412ada bpfilter_ops +EXPORT_SYMBOL_GPL vmlinux 0x90437955 regmap_can_raw_write +EXPORT_SYMBOL_GPL vmlinux 0x90688bcd devlink_info_driver_name_put +EXPORT_SYMBOL_GPL vmlinux 0x907a962b vp_modern_set_features +EXPORT_SYMBOL_GPL vmlinux 0x9087a3c4 dw_pcie_find_ext_capability +EXPORT_SYMBOL_GPL vmlinux 0x908c30db dma_resv_get_fences +EXPORT_SYMBOL_GPL vmlinux 0x90912a40 wbc_detach_inode +EXPORT_SYMBOL_GPL vmlinux 0x909a8abf nr_running +EXPORT_SYMBOL_GPL vmlinux 0x909fda42 blocking_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0x90c24c5d rtnl_get_net_ns_capable +EXPORT_SYMBOL_GPL vmlinux 0x90d937b4 __tracepoint_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x90dcfd53 list_lru_add +EXPORT_SYMBOL_GPL vmlinux 0x90defd85 generic_access_phys +EXPORT_SYMBOL_GPL vmlinux 0x90ef04db kvm_get_kvm_safe +EXPORT_SYMBOL_GPL vmlinux 0x913ebd32 stack_depot_save +EXPORT_SYMBOL_GPL vmlinux 0x9168c83f tpm2_get_tpm_pt +EXPORT_SYMBOL_GPL vmlinux 0x91703da3 fwnode_handle_get +EXPORT_SYMBOL_GPL vmlinux 0x91955a9f start_poll_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0x91b774a1 mpi_scanval +EXPORT_SYMBOL_GPL vmlinux 0x91ea8726 asn1_encode_boolean +EXPORT_SYMBOL_GPL vmlinux 0x92074e3d irq_domain_translate_onecell +EXPORT_SYMBOL_GPL vmlinux 0x920b2aa0 dst_blackhole_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x921f51a0 srcu_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x922c4874 __scsi_init_queue +EXPORT_SYMBOL_GPL vmlinux 0x923efa1a ahash_register_instance +EXPORT_SYMBOL_GPL vmlinux 0x9241b358 __static_key_slow_dec_deferred +EXPORT_SYMBOL_GPL vmlinux 0x924c46f8 zs_unmap_object +EXPORT_SYMBOL_GPL vmlinux 0x9261d1cb gen10g_config_aneg +EXPORT_SYMBOL_GPL vmlinux 0x92a8d97d gpiod_set_debounce +EXPORT_SYMBOL_GPL vmlinux 0x92ab908a irq_domain_xlate_twocell +EXPORT_SYMBOL_GPL vmlinux 0x92c1e1a1 __traceiter_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0x92cf5cc6 bpf_prog_get_type_dev +EXPORT_SYMBOL_GPL vmlinux 0x92d31cfb fixed_phy_add +EXPORT_SYMBOL_GPL vmlinux 0x92db8f68 do_trace_rcu_torture_read +EXPORT_SYMBOL_GPL vmlinux 0x92e8e9ab fsverity_enqueue_verify_work +EXPORT_SYMBOL_GPL vmlinux 0x92ec1357 ethnl_cable_test_amplitude +EXPORT_SYMBOL_GPL vmlinux 0x93185dfb fscrypt_file_open +EXPORT_SYMBOL_GPL vmlinux 0x93255b2b ring_buffer_lock_reserve +EXPORT_SYMBOL_GPL vmlinux 0x932bcafb bpf_prog_put +EXPORT_SYMBOL_GPL vmlinux 0x933c5254 pci_find_vsec_capability +EXPORT_SYMBOL_GPL vmlinux 0x935464eb register_asymmetric_key_parser +EXPORT_SYMBOL_GPL vmlinux 0x936395dc fixup_user_fault +EXPORT_SYMBOL_GPL vmlinux 0x936c7caf perf_trace_buf_alloc +EXPORT_SYMBOL_GPL vmlinux 0x937a92af securityfs_create_file +EXPORT_SYMBOL_GPL vmlinux 0x9381e9e7 netdev_walk_all_lower_dev_rcu +EXPORT_SYMBOL_GPL vmlinux 0x938de1a6 inet6_destroy_sock +EXPORT_SYMBOL_GPL vmlinux 0x93925b2a ftrace_free_filter +EXPORT_SYMBOL_GPL vmlinux 0x93bad9c3 cio_cancel +EXPORT_SYMBOL_GPL vmlinux 0x93bb9846 sysfs_notify +EXPORT_SYMBOL_GPL vmlinux 0x93bcfe69 ping_get_port +EXPORT_SYMBOL_GPL vmlinux 0x93cee9a9 fwnode_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0x93d4e0aa iommu_set_pgtable_quirks +EXPORT_SYMBOL_GPL vmlinux 0x93d8b1d3 crypto_stats_kpp_set_secret +EXPORT_SYMBOL_GPL vmlinux 0x93edef07 devlink_health_report +EXPORT_SYMBOL_GPL vmlinux 0x93f85010 unwind_next_frame +EXPORT_SYMBOL_GPL vmlinux 0x93fbe86f get_user_pages_fast_only +EXPORT_SYMBOL_GPL vmlinux 0x94111646 fib_nexthop_info +EXPORT_SYMBOL_GPL vmlinux 0x9417ff94 xdp_convert_zc_to_xdp_frame +EXPORT_SYMBOL_GPL vmlinux 0x941e03fa cio_clear +EXPORT_SYMBOL_GPL vmlinux 0x941f2aaa eventfd_ctx_put +EXPORT_SYMBOL_GPL vmlinux 0x942945c0 gpiod_count +EXPORT_SYMBOL_GPL vmlinux 0x9430b198 trace_dump_stack +EXPORT_SYMBOL_GPL vmlinux 0x9436e405 memory_group_register_dynamic +EXPORT_SYMBOL_GPL vmlinux 0x9436e93e blk_crypto_reprogram_all_keys +EXPORT_SYMBOL_GPL vmlinux 0x9468ea70 schedule_hrtimeout_range_clock +EXPORT_SYMBOL_GPL vmlinux 0x946c0028 devlink_unregister +EXPORT_SYMBOL_GPL vmlinux 0x946dd559 sha224_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0x947009fa pcie_aspm_capable +EXPORT_SYMBOL_GPL vmlinux 0x94746335 init_user_ns +EXPORT_SYMBOL_GPL vmlinux 0x949b5176 devlink_region_snapshot_create +EXPORT_SYMBOL_GPL vmlinux 0x949bc32c get_state_synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x94ef4d05 cpci_hp_stop +EXPORT_SYMBOL_GPL vmlinux 0x9504df26 irq_wake_thread +EXPORT_SYMBOL_GPL vmlinux 0x951a2773 crypto_has_alg +EXPORT_SYMBOL_GPL vmlinux 0x953e1b9e ktime_get_real_seconds +EXPORT_SYMBOL_GPL vmlinux 0x955b0e2e kthread_worker_fn +EXPORT_SYMBOL_GPL vmlinux 0x956ac400 ring_buffer_dropped_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x95801fa1 __pci_epc_create +EXPORT_SYMBOL_GPL vmlinux 0x9582e64d net_selftest +EXPORT_SYMBOL_GPL vmlinux 0x95843030 mpi_ec_init +EXPORT_SYMBOL_GPL vmlinux 0x958df3ac zs_free +EXPORT_SYMBOL_GPL vmlinux 0x9593ef31 register_ftrace_export +EXPORT_SYMBOL_GPL vmlinux 0x959b46b9 crypto_skcipher_setkey +EXPORT_SYMBOL_GPL vmlinux 0x95a49194 user_preparse +EXPORT_SYMBOL_GPL vmlinux 0x95a81fd2 fwnode_find_reference +EXPORT_SYMBOL_GPL vmlinux 0x95a87c01 disk_set_independent_access_ranges +EXPORT_SYMBOL_GPL vmlinux 0x95ac75df device_dma_supported +EXPORT_SYMBOL_GPL vmlinux 0x95b9c3eb crypto_stats_ahash_final +EXPORT_SYMBOL_GPL vmlinux 0x95e102ab tracepoint_probe_register +EXPORT_SYMBOL_GPL vmlinux 0x95fbf777 kvm_vcpu_gfn_to_page +EXPORT_SYMBOL_GPL vmlinux 0x96031776 crypto_register_shashes +EXPORT_SYMBOL_GPL vmlinux 0x961286e0 ring_buffer_read_events_cpu +EXPORT_SYMBOL_GPL vmlinux 0x962926eb pci_scan_child_bus +EXPORT_SYMBOL_GPL vmlinux 0x962b5435 tty_release_struct +EXPORT_SYMBOL_GPL vmlinux 0x96344459 phy_restore_page +EXPORT_SYMBOL_GPL vmlinux 0x9649d21e clean_acked_data_disable +EXPORT_SYMBOL_GPL vmlinux 0x96554810 register_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x965811e0 device_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0x967788f3 tpm_pm_resume +EXPORT_SYMBOL_GPL vmlinux 0x96dcc695 ptp_parse_header +EXPORT_SYMBOL_GPL vmlinux 0x96e1fe6f platform_bus_type +EXPORT_SYMBOL_GPL vmlinux 0x96e67c2b badblocks_exit +EXPORT_SYMBOL_GPL vmlinux 0x96f622cc device_property_read_string +EXPORT_SYMBOL_GPL vmlinux 0x96f9a01b __SCK__tp_func_pelt_thermal_tp +EXPORT_SYMBOL_GPL vmlinux 0x9714e0bb ktime_get_raw +EXPORT_SYMBOL_GPL vmlinux 0x9723d4ea crypto_stats_kpp_generate_public_key +EXPORT_SYMBOL_GPL vmlinux 0x97286546 ioc_find_get_icq +EXPORT_SYMBOL_GPL vmlinux 0x97295fc6 class_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0x973d9070 mm_unaccount_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x9747fca4 cmf_read +EXPORT_SYMBOL_GPL vmlinux 0x975519c1 asymmetric_key_id_same +EXPORT_SYMBOL_GPL vmlinux 0x977480ca net_ns_type_operations +EXPORT_SYMBOL_GPL vmlinux 0x97a43a4c skb_clone_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0x97a69e3a devm_gpiod_get_array_optional +EXPORT_SYMBOL_GPL vmlinux 0x97ae16bf subsys_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0x97b6f364 device_link_remove +EXPORT_SYMBOL_GPL vmlinux 0x97ba23ba synchronize_srcu +EXPORT_SYMBOL_GPL vmlinux 0x97d1314d dev_nit_active +EXPORT_SYMBOL_GPL vmlinux 0x97de2b83 debug_locks_silent +EXPORT_SYMBOL_GPL vmlinux 0x97e4026a fsverity_ioctl_measure +EXPORT_SYMBOL_GPL vmlinux 0x980275e1 list_lru_walk_one +EXPORT_SYMBOL_GPL vmlinux 0x9806e497 l3mdev_table_lookup_unregister +EXPORT_SYMBOL_GPL vmlinux 0x98190c32 vp_modern_queue_address +EXPORT_SYMBOL_GPL vmlinux 0x9833bc0c hvc_kick +EXPORT_SYMBOL_GPL vmlinux 0x983c3ff3 md_find_rdev_nr_rcu +EXPORT_SYMBOL_GPL vmlinux 0x98503a63 mpi_alloc +EXPORT_SYMBOL_GPL vmlinux 0x985453e1 lease_unregister_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9858382e devm_regmap_field_bulk_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9879932b crypto_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0x989074ff kmsg_dump_reason_str +EXPORT_SYMBOL_GPL vmlinux 0x98b142fa blk_fill_rwbs +EXPORT_SYMBOL_GPL vmlinux 0x98c2bdd8 posix_clock_register +EXPORT_SYMBOL_GPL vmlinux 0x98c2fa16 dm_hold +EXPORT_SYMBOL_GPL vmlinux 0x98d553fa regmap_fields_update_bits_base +EXPORT_SYMBOL_GPL vmlinux 0x98dbd7f6 component_add +EXPORT_SYMBOL_GPL vmlinux 0x98e40fcc lwtunnel_get_encap_size +EXPORT_SYMBOL_GPL vmlinux 0x98ee62b2 ring_buffer_record_disable_cpu +EXPORT_SYMBOL_GPL vmlinux 0x98fa1e20 dm_get_reserved_rq_based_ios +EXPORT_SYMBOL_GPL vmlinux 0x993ebac7 param_set_uint_minmax +EXPORT_SYMBOL_GPL vmlinux 0x993fc577 tty_kopen_shared +EXPORT_SYMBOL_GPL vmlinux 0x995d1071 prof_on +EXPORT_SYMBOL_GPL vmlinux 0x9968aacb __audit_log_nfcfg +EXPORT_SYMBOL_GPL vmlinux 0x998e174e chp_get_sch_opm +EXPORT_SYMBOL_GPL vmlinux 0x99c310a3 debugfs_create_size_t +EXPORT_SYMBOL_GPL vmlinux 0x99c4ae5b iomap_seek_data +EXPORT_SYMBOL_GPL vmlinux 0x99dd730c page_reporting_unregister +EXPORT_SYMBOL_GPL vmlinux 0x99e9ec0f device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0x99f2d00a sysfs_emit_at +EXPORT_SYMBOL_GPL vmlinux 0x99f4591c key_type_trusted +EXPORT_SYMBOL_GPL vmlinux 0x9a01c103 apply_to_page_range +EXPORT_SYMBOL_GPL vmlinux 0x9a11a0fc crypto_attr_alg_name +EXPORT_SYMBOL_GPL vmlinux 0x9a2627ac ip6_datagram_release_cb +EXPORT_SYMBOL_GPL vmlinux 0x9a26eb05 skb_complete_wifi_ack +EXPORT_SYMBOL_GPL vmlinux 0x9a27bc1e screen_glyph +EXPORT_SYMBOL_GPL vmlinux 0x9a5237ff ip6_append_data +EXPORT_SYMBOL_GPL vmlinux 0x9a74d817 genphy_c45_read_status +EXPORT_SYMBOL_GPL vmlinux 0x9aa33b9f inet6_csk_xmit +EXPORT_SYMBOL_GPL vmlinux 0x9aa5c938 virtio_check_driver_offered_feature +EXPORT_SYMBOL_GPL vmlinux 0x9ab9f014 blk_revalidate_disk_zones +EXPORT_SYMBOL_GPL vmlinux 0x9ac14a96 regmap_field_read +EXPORT_SYMBOL_GPL vmlinux 0x9ac63600 pci_ioremap_wc_bar +EXPORT_SYMBOL_GPL vmlinux 0x9ac8e21a iptunnel_metadata_reply +EXPORT_SYMBOL_GPL vmlinux 0x9ad3de36 mm_account_pinned_pages +EXPORT_SYMBOL_GPL vmlinux 0x9aeacb87 ring_buffer_iter_empty +EXPORT_SYMBOL_GPL vmlinux 0x9b6ec967 ring_buffer_size +EXPORT_SYMBOL_GPL vmlinux 0x9b70c6ff tracepoint_probe_register_prio +EXPORT_SYMBOL_GPL vmlinux 0x9b887b18 __serdev_device_driver_register +EXPORT_SYMBOL_GPL vmlinux 0x9b88c932 register_kprobes +EXPORT_SYMBOL_GPL vmlinux 0x9b8ce461 sock_diag_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9b9071cb get_old_itimerspec32 +EXPORT_SYMBOL_GPL vmlinux 0x9bb0f16c unix_table_locks +EXPORT_SYMBOL_GPL vmlinux 0x9bcd024a gmap_shadow_pgt +EXPORT_SYMBOL_GPL vmlinux 0x9bd6ef86 gpiochip_relres_irq +EXPORT_SYMBOL_GPL vmlinux 0x9be30d27 mhp_get_pluggable_range +EXPORT_SYMBOL_GPL vmlinux 0x9be7a8df fscrypt_d_revalidate +EXPORT_SYMBOL_GPL vmlinux 0x9bece81b mpi_cmp_ui +EXPORT_SYMBOL_GPL vmlinux 0x9c088c11 kthread_unuse_mm +EXPORT_SYMBOL_GPL vmlinux 0x9c2c9056 ip6_route_output_flags +EXPORT_SYMBOL_GPL vmlinux 0x9c5274fb gmap_remove +EXPORT_SYMBOL_GPL vmlinux 0x9c550fca peernet2id_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9c582f4a mm_kobj +EXPORT_SYMBOL_GPL vmlinux 0x9c6febfc add_uevent_var +EXPORT_SYMBOL_GPL vmlinux 0x9c71eeec pci_check_and_unmask_intx +EXPORT_SYMBOL_GPL vmlinux 0x9c8ea938 vp_modern_set_queue_enable +EXPORT_SYMBOL_GPL vmlinux 0x9caf4a41 device_register +EXPORT_SYMBOL_GPL vmlinux 0x9cc1a160 trace_array_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0x9cd28c0f ip_valid_fib_dump_req +EXPORT_SYMBOL_GPL vmlinux 0x9cdd6a66 sysctl_long_vals +EXPORT_SYMBOL_GPL vmlinux 0x9cfb46d0 crypto_shash_tfm_digest +EXPORT_SYMBOL_GPL vmlinux 0x9d09e8ae ring_buffer_event_data +EXPORT_SYMBOL_GPL vmlinux 0x9d2f49ef __SCK__tp_func_pelt_se_tp +EXPORT_SYMBOL_GPL vmlinux 0x9d3508da crypto_unregister_shashes +EXPORT_SYMBOL_GPL vmlinux 0x9d69ac91 fuse_dev_alloc_install +EXPORT_SYMBOL_GPL vmlinux 0x9d83a250 __inet_inherit_port +EXPORT_SYMBOL_GPL vmlinux 0x9d8bb00e set_dax_nocache +EXPORT_SYMBOL_GPL vmlinux 0x9dab3d70 wbc_attach_and_unlock_inode +EXPORT_SYMBOL_GPL vmlinux 0x9dc63153 fuse_conn_init +EXPORT_SYMBOL_GPL vmlinux 0x9de31b2a phy_gbit_fibre_features +EXPORT_SYMBOL_GPL vmlinux 0x9df4a2a8 idr_remove +EXPORT_SYMBOL_GPL vmlinux 0x9df620c9 sbitmap_weight +EXPORT_SYMBOL_GPL vmlinux 0x9e018752 pci_epc_get_first_free_bar +EXPORT_SYMBOL_GPL vmlinux 0x9e197f84 chsc_scud +EXPORT_SYMBOL_GPL vmlinux 0x9e281055 ncsi_vlan_rx_add_vid +EXPORT_SYMBOL_GPL vmlinux 0x9e28a028 folio_wait_stable +EXPORT_SYMBOL_GPL vmlinux 0x9e3611de crypto_register_scomps +EXPORT_SYMBOL_GPL vmlinux 0x9e472f5f snmp_fold_field +EXPORT_SYMBOL_GPL vmlinux 0x9e567f2e fsverity_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0x9e5ff2b6 devm_kfree +EXPORT_SYMBOL_GPL vmlinux 0x9e7a9a4f bpf_prog_alloc +EXPORT_SYMBOL_GPL vmlinux 0x9e853c2e tcp_register_ulp +EXPORT_SYMBOL_GPL vmlinux 0x9e9b913d __tracepoint_arm_event +EXPORT_SYMBOL_GPL vmlinux 0x9e9c4f24 set_dax_nomc +EXPORT_SYMBOL_GPL vmlinux 0x9ea58b56 kvm_vcpu_yield_to +EXPORT_SYMBOL_GPL vmlinux 0x9eab9836 firmware_request_cache +EXPORT_SYMBOL_GPL vmlinux 0x9eb1f2d2 gpiod_enable_hw_timestamp_ns +EXPORT_SYMBOL_GPL vmlinux 0x9ec054d5 trace_seq_putc +EXPORT_SYMBOL_GPL vmlinux 0x9ed554b3 unregister_keyboard_notifier +EXPORT_SYMBOL_GPL vmlinux 0x9ee5ef4c subsys_system_register +EXPORT_SYMBOL_GPL vmlinux 0x9eea6f62 ipv4_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0x9eebdde7 mpi_point_new +EXPORT_SYMBOL_GPL vmlinux 0x9ef0a0ec pci_hp_add +EXPORT_SYMBOL_GPL vmlinux 0x9f01e03a nfs_ssc_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9f05573b platform_add_devices +EXPORT_SYMBOL_GPL vmlinux 0x9f177ac3 kvm_write_guest_cached +EXPORT_SYMBOL_GPL vmlinux 0x9f23eb39 posix_clock_unregister +EXPORT_SYMBOL_GPL vmlinux 0x9f46b65c fib6_get_table +EXPORT_SYMBOL_GPL vmlinux 0x9f499f97 udp4_hwcsum +EXPORT_SYMBOL_GPL vmlinux 0x9f4da1a6 wbt_disable_default +EXPORT_SYMBOL_GPL vmlinux 0x9f56c4b9 __SCK__tp_func_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0x9f65d827 blk_mq_hctx_set_fq_lock_class +EXPORT_SYMBOL_GPL vmlinux 0x9f9c7781 phy_basic_t1_features +EXPORT_SYMBOL_GPL vmlinux 0x9f9e9f2f __traceiter_pelt_rt_tp +EXPORT_SYMBOL_GPL vmlinux 0x9fae6ad2 iommu_dev_feature_enabled +EXPORT_SYMBOL_GPL vmlinux 0x9faf48fd dst_cache_get_ip4 +EXPORT_SYMBOL_GPL vmlinux 0x9fce80db fb_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0x9fe43097 __devm_regmap_init +EXPORT_SYMBOL_GPL vmlinux 0x9fe7032d vfs_removexattr +EXPORT_SYMBOL_GPL vmlinux 0x9fe939e1 mpi_powm +EXPORT_SYMBOL_GPL vmlinux 0x9fefc3e6 __cpuhp_state_remove_instance +EXPORT_SYMBOL_GPL vmlinux 0xa01a8af6 pci_find_next_ht_capability +EXPORT_SYMBOL_GPL vmlinux 0xa0370b5e elv_rqhash_del +EXPORT_SYMBOL_GPL vmlinux 0xa04f945a cpus_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xa0743a29 irq_chip_set_affinity_parent +EXPORT_SYMBOL_GPL vmlinux 0xa080c5e5 smp_call_function_single_async +EXPORT_SYMBOL_GPL vmlinux 0xa0d3456d nr_swap_pages +EXPORT_SYMBOL_GPL vmlinux 0xa0d4376c virtqueue_get_vring +EXPORT_SYMBOL_GPL vmlinux 0xa0dd7e0d fib_rule_matchall +EXPORT_SYMBOL_GPL vmlinux 0xa0e02b62 platform_get_irq +EXPORT_SYMBOL_GPL vmlinux 0xa0e6087b genphy_c45_read_lpa +EXPORT_SYMBOL_GPL vmlinux 0xa0fc9d43 crypto_boot_test_finished +EXPORT_SYMBOL_GPL vmlinux 0xa111e665 pernet_ops_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xa16740e6 __phy_modify_mmd +EXPORT_SYMBOL_GPL vmlinux 0xa179a866 scsi_free_sgtables +EXPORT_SYMBOL_GPL vmlinux 0xa1891205 synth_event_trace_array +EXPORT_SYMBOL_GPL vmlinux 0xa18b485c devlink_resource_size_get +EXPORT_SYMBOL_GPL vmlinux 0xa1b465f0 nf_hook_entries_delete_raw +EXPORT_SYMBOL_GPL vmlinux 0xa1b52a09 auxiliary_find_device +EXPORT_SYMBOL_GPL vmlinux 0xa1c3bbaa platform_find_device_by_driver +EXPORT_SYMBOL_GPL vmlinux 0xa1c4231f kvm_set_pfn_dirty +EXPORT_SYMBOL_GPL vmlinux 0xa1c87495 pci_epc_get_features +EXPORT_SYMBOL_GPL vmlinux 0xa1ce249f device_get_phy_mode +EXPORT_SYMBOL_GPL vmlinux 0xa1f40104 inet6_hash +EXPORT_SYMBOL_GPL vmlinux 0xa1f60014 nl_table_lock +EXPORT_SYMBOL_GPL vmlinux 0xa20d01ba __trace_bprintk +EXPORT_SYMBOL_GPL vmlinux 0xa231f2a3 dma_resv_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0xa234dc9e regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0xa2500ef6 __SCK__tp_func_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xa259b66a nf_ip_route +EXPORT_SYMBOL_GPL vmlinux 0xa26bed8e bstr_printf +EXPORT_SYMBOL_GPL vmlinux 0xa26d9b4f workqueue_congested +EXPORT_SYMBOL_GPL vmlinux 0xa2873dea split_page +EXPORT_SYMBOL_GPL vmlinux 0xa28ab2c9 fuse_dev_release +EXPORT_SYMBOL_GPL vmlinux 0xa2b0820d __SCK__tp_func_cpu_idle +EXPORT_SYMBOL_GPL vmlinux 0xa2d1d173 skb_complete_tx_timestamp +EXPORT_SYMBOL_GPL vmlinux 0xa2d9495a uprobe_register +EXPORT_SYMBOL_GPL vmlinux 0xa2dec81c component_master_del +EXPORT_SYMBOL_GPL vmlinux 0xa2e1b3ef trace_printk_init_buffers +EXPORT_SYMBOL_GPL vmlinux 0xa2e9028f scsi_ioctl_block_when_processing_errors +EXPORT_SYMBOL_GPL vmlinux 0xa32d207b pcie_bus_configure_settings +EXPORT_SYMBOL_GPL vmlinux 0xa3425c35 gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0xa351dc2d blk_mq_unfreeze_queue +EXPORT_SYMBOL_GPL vmlinux 0xa35a0aa5 devm_platform_ioremap_resource_byname +EXPORT_SYMBOL_GPL vmlinux 0xa35d1fdc anon_inode_getfd +EXPORT_SYMBOL_GPL vmlinux 0xa3687f21 __traceiter_map +EXPORT_SYMBOL_GPL vmlinux 0xa3702939 debugfs_print_regs32 +EXPORT_SYMBOL_GPL vmlinux 0xa3757177 ima_file_hash +EXPORT_SYMBOL_GPL vmlinux 0xa38602cd drain_workqueue +EXPORT_SYMBOL_GPL vmlinux 0xa3865b1f dw_pcie_ep_init_notify +EXPORT_SYMBOL_GPL vmlinux 0xa38a9f71 get_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xa39ddf75 unix_peer_get +EXPORT_SYMBOL_GPL vmlinux 0xa39e70a4 pingv6_prot +EXPORT_SYMBOL_GPL vmlinux 0xa3b0d5d6 __xas_next +EXPORT_SYMBOL_GPL vmlinux 0xa3b417c3 dm_internal_resume_fast +EXPORT_SYMBOL_GPL vmlinux 0xa3b958ce reset_hung_task_detector +EXPORT_SYMBOL_GPL vmlinux 0xa3c80cf7 dev_fill_metadata_dst +EXPORT_SYMBOL_GPL vmlinux 0xa3cc1e8a __blk_trace_note_message +EXPORT_SYMBOL_GPL vmlinux 0xa3ece414 freezer_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xa3f0c760 vp_modern_set_status +EXPORT_SYMBOL_GPL vmlinux 0xa3f12f69 __crypto_xor +EXPORT_SYMBOL_GPL vmlinux 0xa410a295 devlink_region_destroy +EXPORT_SYMBOL_GPL vmlinux 0xa419cbc6 ethnl_cable_test_finished +EXPORT_SYMBOL_GPL vmlinux 0xa4212b89 ipv6_bpf_stub +EXPORT_SYMBOL_GPL vmlinux 0xa42389e9 dw_pcie_ep_raise_legacy_irq +EXPORT_SYMBOL_GPL vmlinux 0xa42af350 md_bitmap_copy_from_slot +EXPORT_SYMBOL_GPL vmlinux 0xa44a1307 interval_tree_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xa44eed0c rtnl_link_register +EXPORT_SYMBOL_GPL vmlinux 0xa45c7b90 stack_trace_print +EXPORT_SYMBOL_GPL vmlinux 0xa47ff45b is_swiotlb_active +EXPORT_SYMBOL_GPL vmlinux 0xa4a05a01 devlink_dpipe_entry_ctx_append +EXPORT_SYMBOL_GPL vmlinux 0xa4ab7c1c ring_buffer_overruns +EXPORT_SYMBOL_GPL vmlinux 0xa4b07fe7 ring_buffer_change_overwrite +EXPORT_SYMBOL_GPL vmlinux 0xa4c00324 asn1_encode_octet_string +EXPORT_SYMBOL_GPL vmlinux 0xa4ef6b49 ip6_route_lookup +EXPORT_SYMBOL_GPL vmlinux 0xa4f82370 platform_get_irq_optional +EXPORT_SYMBOL_GPL vmlinux 0xa53d075b devres_for_each_res +EXPORT_SYMBOL_GPL vmlinux 0xa5476436 cio_enable_subchannel +EXPORT_SYMBOL_GPL vmlinux 0xa54a2cba devlink_linecard_provision_clear +EXPORT_SYMBOL_GPL vmlinux 0xa54a899a devlink_port_attrs_pci_vf_set +EXPORT_SYMBOL_GPL vmlinux 0xa54bd2cd regmap_get_val_bytes +EXPORT_SYMBOL_GPL vmlinux 0xa55314ab security_inode_create +EXPORT_SYMBOL_GPL vmlinux 0xa5745f0c gmap_mark_unmergeable +EXPORT_SYMBOL_GPL vmlinux 0xa58b18ca pci_status_get_and_clear_errors +EXPORT_SYMBOL_GPL vmlinux 0xa5b23a03 devlink_dpipe_entry_ctx_prepare +EXPORT_SYMBOL_GPL vmlinux 0xa5c00a0a pci_generic_config_read32 +EXPORT_SYMBOL_GPL vmlinux 0xa5cf6280 devlink_trap_policers_register +EXPORT_SYMBOL_GPL vmlinux 0xa5efbf4c async_synchronize_full +EXPORT_SYMBOL_GPL vmlinux 0xa61e4de7 pci_find_next_capability +EXPORT_SYMBOL_GPL vmlinux 0xa61f1d20 sk_psock_init +EXPORT_SYMBOL_GPL vmlinux 0xa651de67 put_pid +EXPORT_SYMBOL_GPL vmlinux 0xa65f3c8c __tracepoint_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xa69bbe8e register_btf_kfunc_id_set +EXPORT_SYMBOL_GPL vmlinux 0xa6a7a071 virtqueue_notify +EXPORT_SYMBOL_GPL vmlinux 0xa6af1e35 __SCK__tp_func_block_rq_remap +EXPORT_SYMBOL_GPL vmlinux 0xa6aff672 crypto_shash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0xa6b5ee5b __SCK__tp_func_block_split +EXPORT_SYMBOL_GPL vmlinux 0xa6b957ee blk_next_bio +EXPORT_SYMBOL_GPL vmlinux 0xa6c8bf88 crypto_alloc_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xa6d6d6a6 kvm_vcpu_gfn_to_hva +EXPORT_SYMBOL_GPL vmlinux 0xa6d7ecd8 __netif_set_xps_queue +EXPORT_SYMBOL_GPL vmlinux 0xa6e1a69d kick_all_cpus_sync +EXPORT_SYMBOL_GPL vmlinux 0xa6edcf90 ethnl_cable_test_fault_length +EXPORT_SYMBOL_GPL vmlinux 0xa709c835 fib6_info_destroy_rcu +EXPORT_SYMBOL_GPL vmlinux 0xa7226f25 input_ff_erase +EXPORT_SYMBOL_GPL vmlinux 0xa74311f7 blk_mq_freeze_queue_wait +EXPORT_SYMBOL_GPL vmlinux 0xa75fd3ab freq_qos_update_request +EXPORT_SYMBOL_GPL vmlinux 0xa77cec0f crypto_alloc_rng +EXPORT_SYMBOL_GPL vmlinux 0xa7901745 get_device_system_crosststamp +EXPORT_SYMBOL_GPL vmlinux 0xa796d51c dummy_irq_chip +EXPORT_SYMBOL_GPL vmlinux 0xa7a4de20 inode_dax +EXPORT_SYMBOL_GPL vmlinux 0xa7ac1568 skb_cow_data +EXPORT_SYMBOL_GPL vmlinux 0xa7c3b559 dax_layout_busy_page +EXPORT_SYMBOL_GPL vmlinux 0xa7c7db34 device_find_child +EXPORT_SYMBOL_GPL vmlinux 0xa7f642d0 crypto_stats_akcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xa8153543 kvm_s390_gisc_register +EXPORT_SYMBOL_GPL vmlinux 0xa8383b37 trace_event_buffer_commit +EXPORT_SYMBOL_GPL vmlinux 0xa851973a raw_notifier_call_chain +EXPORT_SYMBOL_GPL vmlinux 0xa86cf25d pci_epf_unregister_driver +EXPORT_SYMBOL_GPL vmlinux 0xa88cb0c2 __kernel_write +EXPORT_SYMBOL_GPL vmlinux 0xa89926dc crypto_dh_decode_key +EXPORT_SYMBOL_GPL vmlinux 0xa89a237f sock_diag_unregister_inet_compat +EXPORT_SYMBOL_GPL vmlinux 0xa8af38b9 sbitmap_get_shallow +EXPORT_SYMBOL_GPL vmlinux 0xa8c6e050 devlink_port_region_create +EXPORT_SYMBOL_GPL vmlinux 0xa8d2a1a4 fat_search_long +EXPORT_SYMBOL_GPL vmlinux 0xa931d8c3 device_get_child_node_count +EXPORT_SYMBOL_GPL vmlinux 0xa9320d27 ktime_get_seconds +EXPORT_SYMBOL_GPL vmlinux 0xa94e40f5 rcu_read_unlock_trace_special +EXPORT_SYMBOL_GPL vmlinux 0xa9545df3 rtnl_link_unregister +EXPORT_SYMBOL_GPL vmlinux 0xa9657147 irq_chip_mask_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0xa9790aa6 task_cls_state +EXPORT_SYMBOL_GPL vmlinux 0xa97c05dd xfrm_state_mtu +EXPORT_SYMBOL_GPL vmlinux 0xa98b9c7f blk_queue_can_use_dma_map_merging +EXPORT_SYMBOL_GPL vmlinux 0xa98d1f76 tcp_bpf_update_proto +EXPORT_SYMBOL_GPL vmlinux 0xa9948d8a debugfs_create_regset32 +EXPORT_SYMBOL_GPL vmlinux 0xa99b8e70 __SCK__tp_func_xdp_exception +EXPORT_SYMBOL_GPL vmlinux 0xa99db9f2 lwtunnel_state_alloc +EXPORT_SYMBOL_GPL vmlinux 0xa99ef899 devlink_fmsg_bool_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xa9b0c818 mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xa9d0ab1f trace_seq_putmem_hex +EXPORT_SYMBOL_GPL vmlinux 0xa9d9822c user_read +EXPORT_SYMBOL_GPL vmlinux 0xa9da2420 pci_enable_sriov +EXPORT_SYMBOL_GPL vmlinux 0xa9f25176 xfrm_local_error +EXPORT_SYMBOL_GPL vmlinux 0xa9ff15b9 s390_enable_sie +EXPORT_SYMBOL_GPL vmlinux 0xaa353e9b regmap_noinc_write +EXPORT_SYMBOL_GPL vmlinux 0xaa357d0e strp_unpause +EXPORT_SYMBOL_GPL vmlinux 0xaa3de3c3 pci_epf_create +EXPORT_SYMBOL_GPL vmlinux 0xaa46a075 dma_alloc_noncontiguous +EXPORT_SYMBOL_GPL vmlinux 0xaa61de11 irq_stat +EXPORT_SYMBOL_GPL vmlinux 0xaa676d1a exportfs_decode_fh_raw +EXPORT_SYMBOL_GPL vmlinux 0xaa6a50f9 __static_key_deferred_flush +EXPORT_SYMBOL_GPL vmlinux 0xaa7d5e8c sync_page_io +EXPORT_SYMBOL_GPL vmlinux 0xaa971d3a phy_gbit_features +EXPORT_SYMBOL_GPL vmlinux 0xaaa918c9 ftrace_dump +EXPORT_SYMBOL_GPL vmlinux 0xaade8223 lwtunnel_output +EXPORT_SYMBOL_GPL vmlinux 0xaaeabdde decrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0xaaf600f2 sysfs_remove_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xaafa5482 klist_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xab0a268b event_triggers_post_call +EXPORT_SYMBOL_GPL vmlinux 0xab15ee30 skb_zerocopy_headlen +EXPORT_SYMBOL_GPL vmlinux 0xab209c45 switchdev_handle_port_obj_del_foreign +EXPORT_SYMBOL_GPL vmlinux 0xab20c64b espintcp_queue_out +EXPORT_SYMBOL_GPL vmlinux 0xab2d75c8 blkcg_root +EXPORT_SYMBOL_GPL vmlinux 0xab3d5068 iommu_capable +EXPORT_SYMBOL_GPL vmlinux 0xab472c90 tpm_get_timeouts +EXPORT_SYMBOL_GPL vmlinux 0xab5e2d4e trace_event_buffer_reserve +EXPORT_SYMBOL_GPL vmlinux 0xab89a6b8 pci_hp_remove_module_link +EXPORT_SYMBOL_GPL vmlinux 0xaba626bb gfn_to_pfn +EXPORT_SYMBOL_GPL vmlinux 0xaba84d19 dequeue_signal +EXPORT_SYMBOL_GPL vmlinux 0xabb6b6b8 switchdev_handle_fdb_event_to_device +EXPORT_SYMBOL_GPL vmlinux 0xabc52292 debugfs_create_u64 +EXPORT_SYMBOL_GPL vmlinux 0xabc640f3 list_lru_isolate +EXPORT_SYMBOL_GPL vmlinux 0xabd2b46c sysfs_group_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xabe23aee devlink_rate_leaf_create +EXPORT_SYMBOL_GPL vmlinux 0xabf7e33a crypto_mod_get +EXPORT_SYMBOL_GPL vmlinux 0xac014d5c pci_find_host_bridge +EXPORT_SYMBOL_GPL vmlinux 0xac0c4788 unregister_trace_event +EXPORT_SYMBOL_GPL vmlinux 0xac22fc8e crypto_grab_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xac4f6f0a blk_req_needs_zone_write_lock +EXPORT_SYMBOL_GPL vmlinux 0xac5a789c trace_seq_printf +EXPORT_SYMBOL_GPL vmlinux 0xac5c82e1 pci_epc_init_notify +EXPORT_SYMBOL_GPL vmlinux 0xac6a7486 udp6_lib_lookup +EXPORT_SYMBOL_GPL vmlinux 0xac6addf4 blkg_conf_prep +EXPORT_SYMBOL_GPL vmlinux 0xac8913dc free_fib_info +EXPORT_SYMBOL_GPL vmlinux 0xac9b3f7b tty_port_tty_hangup +EXPORT_SYMBOL_GPL vmlinux 0xaca025d6 fwnode_connection_find_matches +EXPORT_SYMBOL_GPL vmlinux 0xacad6586 srcu_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaccf41fb phy_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0xacde3cf9 regmap_write +EXPORT_SYMBOL_GPL vmlinux 0xace5a539 iomap_readahead +EXPORT_SYMBOL_GPL vmlinux 0xaceccc17 synth_event_add_val +EXPORT_SYMBOL_GPL vmlinux 0xacffe3a0 crypto_drop_spawn +EXPORT_SYMBOL_GPL vmlinux 0xad212c04 shmem_truncate_range +EXPORT_SYMBOL_GPL vmlinux 0xad25602f __tracepoint_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xad3012a0 kvm_irq_has_notifier +EXPORT_SYMBOL_GPL vmlinux 0xad3dfa13 lgr_info_log +EXPORT_SYMBOL_GPL vmlinux 0xad401a24 static_dev_dax +EXPORT_SYMBOL_GPL vmlinux 0xad428aca irq_chip_get_parent_state +EXPORT_SYMBOL_GPL vmlinux 0xad42dff8 __SCK__tp_func_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0xad4e6259 remove_cpu +EXPORT_SYMBOL_GPL vmlinux 0xad645234 register_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xad70b12c dm_disk +EXPORT_SYMBOL_GPL vmlinux 0xad76a3f0 __SCK__tp_func_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xad896cbd css_sch_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xad8dff18 fuse_conn_destroy +EXPORT_SYMBOL_GPL vmlinux 0xad961199 pci_enable_ats +EXPORT_SYMBOL_GPL vmlinux 0xada38766 dst_cache_destroy +EXPORT_SYMBOL_GPL vmlinux 0xadaaa3ae diag308 +EXPORT_SYMBOL_GPL vmlinux 0xadb133cd kobject_get_path +EXPORT_SYMBOL_GPL vmlinux 0xae0c29e4 tcp_slow_start +EXPORT_SYMBOL_GPL vmlinux 0xae1051b0 net_cls_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xae39f80e dst_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xae496125 cpci_hp_unregister_controller +EXPORT_SYMBOL_GPL vmlinux 0xae55d2db cio_start_key +EXPORT_SYMBOL_GPL vmlinux 0xae5c6c3b devm_init_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xae64f1dd __tracepoint_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0xae69b1c1 usermodehelper_read_unlock +EXPORT_SYMBOL_GPL vmlinux 0xae7c231d mpi_cmp +EXPORT_SYMBOL_GPL vmlinux 0xae80739e sock_map_close +EXPORT_SYMBOL_GPL vmlinux 0xaea7f1ef devlink_sb_unregister +EXPORT_SYMBOL_GPL vmlinux 0xaebfaeea metadata_dst_free +EXPORT_SYMBOL_GPL vmlinux 0xaf06f2ef fwnode_graph_get_endpoint_count +EXPORT_SYMBOL_GPL vmlinux 0xaf0e0871 ftrace_ops_set_global_filter +EXPORT_SYMBOL_GPL vmlinux 0xaf170a62 tracepoint_srcu +EXPORT_SYMBOL_GPL vmlinux 0xaf2cdd49 vring_create_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xaf34daf6 raw_seq_next +EXPORT_SYMBOL_GPL vmlinux 0xaf353ca8 fwnode_get_next_available_child_node +EXPORT_SYMBOL_GPL vmlinux 0xaf3a44e9 __SCK__tp_func_sched_overutilized_tp +EXPORT_SYMBOL_GPL vmlinux 0xaf5aaceb platform_device_put +EXPORT_SYMBOL_GPL vmlinux 0xaf85dff3 devres_destroy +EXPORT_SYMBOL_GPL vmlinux 0xaf962ea9 __traceiter_block_split +EXPORT_SYMBOL_GPL vmlinux 0xaf97df8d attribute_container_register +EXPORT_SYMBOL_GPL vmlinux 0xafc7a41d hrtimer_start_range_ns +EXPORT_SYMBOL_GPL vmlinux 0xafeb58c1 __SCK__tp_func_io_page_fault +EXPORT_SYMBOL_GPL vmlinux 0xafeb7eda gpiochip_disable_irq +EXPORT_SYMBOL_GPL vmlinux 0xb000d0d4 pci_disable_ats +EXPORT_SYMBOL_GPL vmlinux 0xb011e55d shash_ahash_digest +EXPORT_SYMBOL_GPL vmlinux 0xb0248553 crypto_alloc_sync_skcipher +EXPORT_SYMBOL_GPL vmlinux 0xb04402e9 xfrm_state_afinfo_get_rcu +EXPORT_SYMBOL_GPL vmlinux 0xb047af05 perf_get_aux +EXPORT_SYMBOL_GPL vmlinux 0xb049a294 __SCK__tp_func_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0xb05be0dc invalidate_inode_pages2_range +EXPORT_SYMBOL_GPL vmlinux 0xb06741c2 crypto_shash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xb068cb3e nf_queue_entry_free +EXPORT_SYMBOL_GPL vmlinux 0xb0747ed2 rcu_cpu_stall_suppress +EXPORT_SYMBOL_GPL vmlinux 0xb083398e fwnode_property_read_u64_array +EXPORT_SYMBOL_GPL vmlinux 0xb085d21e msi_first_desc +EXPORT_SYMBOL_GPL vmlinux 0xb0b85f47 ring_buffer_iter_reset +EXPORT_SYMBOL_GPL vmlinux 0xb0ca3f84 device_get_named_child_node +EXPORT_SYMBOL_GPL vmlinux 0xb0dd94c5 fuse_sync_release +EXPORT_SYMBOL_GPL vmlinux 0xb0deb0cb __blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0xb0e938c4 fscrypt_match_name +EXPORT_SYMBOL_GPL vmlinux 0xb1022ee1 tcp_reno_ssthresh +EXPORT_SYMBOL_GPL vmlinux 0xb10240da crypto_spawn_tfm2 +EXPORT_SYMBOL_GPL vmlinux 0xb10d964d devlink_fmsg_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xb11d9000 tty_dev_name_to_number +EXPORT_SYMBOL_GPL vmlinux 0xb12aac7a fwnode_remove_software_node +EXPORT_SYMBOL_GPL vmlinux 0xb1334cd6 irq_domain_free_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0xb1478c15 devlink_params_register +EXPORT_SYMBOL_GPL vmlinux 0xb15b552a sfp_parse_support +EXPORT_SYMBOL_GPL vmlinux 0xb1647fc2 devlink_info_version_running_put +EXPORT_SYMBOL_GPL vmlinux 0xb171fb42 irq_chip_enable_parent +EXPORT_SYMBOL_GPL vmlinux 0xb1753a56 devm_platform_get_and_ioremap_resource +EXPORT_SYMBOL_GPL vmlinux 0xb186ddd0 fuse_conn_put +EXPORT_SYMBOL_GPL vmlinux 0xb1b1c93e atomic_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xb1b4c373 crypto_skcipher_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xb1b6bc49 gpiod_get_array_value +EXPORT_SYMBOL_GPL vmlinux 0xb1baa71a devlink_linecard_provision_fail +EXPORT_SYMBOL_GPL vmlinux 0xb1e25684 __trace_bputs +EXPORT_SYMBOL_GPL vmlinux 0xb1ebb75b __page_file_index +EXPORT_SYMBOL_GPL vmlinux 0xb1f184bc __trace_trigger_soft_disabled +EXPORT_SYMBOL_GPL vmlinux 0xb1fc1782 pci_speed_string +EXPORT_SYMBOL_GPL vmlinux 0xb2087383 blk_mq_quiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0xb20d92e4 aead_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xb2338ec6 tcf_dev_queue_xmit +EXPORT_SYMBOL_GPL vmlinux 0xb239b95f xas_clear_mark +EXPORT_SYMBOL_GPL vmlinux 0xb23db1e2 tun_get_socket +EXPORT_SYMBOL_GPL vmlinux 0xb2405efc secure_tcp_seq +EXPORT_SYMBOL_GPL vmlinux 0xb2671fec pci_user_read_config_word +EXPORT_SYMBOL_GPL vmlinux 0xb267ec2e __netpoll_setup +EXPORT_SYMBOL_GPL vmlinux 0xb26a1add elfcorehdr_addr +EXPORT_SYMBOL_GPL vmlinux 0xb27f62cc ncsi_vlan_rx_kill_vid +EXPORT_SYMBOL_GPL vmlinux 0xb29a0126 gpiochip_irq_unmap +EXPORT_SYMBOL_GPL vmlinux 0xb2a1d33a register_ftrace_direct_multi +EXPORT_SYMBOL_GPL vmlinux 0xb2b5367d iomap_page_mkwrite +EXPORT_SYMBOL_GPL vmlinux 0xb2c1732e rcu_gp_set_torture_wait +EXPORT_SYMBOL_GPL vmlinux 0xb2c3a00e fuse_dev_install +EXPORT_SYMBOL_GPL vmlinux 0xb2e368fa driver_for_each_device +EXPORT_SYMBOL_GPL vmlinux 0xb2f39d96 sysfs_chmod_file +EXPORT_SYMBOL_GPL vmlinux 0xb2fd253c crypto_register_rng +EXPORT_SYMBOL_GPL vmlinux 0xb307c909 devlink_fmsg_u64_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xb32378cb inverse_translate +EXPORT_SYMBOL_GPL vmlinux 0xb352f400 crypto_register_skciphers +EXPORT_SYMBOL_GPL vmlinux 0xb356137b ping_seq_start +EXPORT_SYMBOL_GPL vmlinux 0xb3977097 devres_release_group +EXPORT_SYMBOL_GPL vmlinux 0xb3b66fdd udp_cmsg_send +EXPORT_SYMBOL_GPL vmlinux 0xb3bb796e fsnotify_find_mark +EXPORT_SYMBOL_GPL vmlinux 0xb3bf3773 gmap_disable +EXPORT_SYMBOL_GPL vmlinux 0xb3dbfed4 pci_find_dvsec_capability +EXPORT_SYMBOL_GPL vmlinux 0xb3faa89d bus_for_each_dev +EXPORT_SYMBOL_GPL vmlinux 0xb40290f3 crypto_hash_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xb408ad0c scsi_dh_attach +EXPORT_SYMBOL_GPL vmlinux 0xb4339edb iomap_dio_complete +EXPORT_SYMBOL_GPL vmlinux 0xb43893fd user_describe +EXPORT_SYMBOL_GPL vmlinux 0xb43f9365 ktime_get +EXPORT_SYMBOL_GPL vmlinux 0xb4431356 swapcache_mapping +EXPORT_SYMBOL_GPL vmlinux 0xb447935f driver_register +EXPORT_SYMBOL_GPL vmlinux 0xb44e18ea audit_enabled +EXPORT_SYMBOL_GPL vmlinux 0xb46fbe0b klp_shadow_get_or_alloc +EXPORT_SYMBOL_GPL vmlinux 0xb4a899a0 nf_queue_entry_get_refs +EXPORT_SYMBOL_GPL vmlinux 0xb4b97c90 pvclock_gtod_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb4bd2a88 smpboot_unregister_percpu_thread +EXPORT_SYMBOL_GPL vmlinux 0xb4dd94bd set_secondary_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xb4e6d9b6 trace_event_raw_init +EXPORT_SYMBOL_GPL vmlinux 0xb4eda0da ring_buffer_event_length +EXPORT_SYMBOL_GPL vmlinux 0xb4edb989 alarm_try_to_cancel +EXPORT_SYMBOL_GPL vmlinux 0xb4f43647 dma_resv_iter_first +EXPORT_SYMBOL_GPL vmlinux 0xb4fa8c18 acomp_request_free +EXPORT_SYMBOL_GPL vmlinux 0xb505b30d ping_rcv +EXPORT_SYMBOL_GPL vmlinux 0xb535ccdb gmap_shadow_page +EXPORT_SYMBOL_GPL vmlinux 0xb545519c crypto_ahash_setkey +EXPORT_SYMBOL_GPL vmlinux 0xb574d391 con_debug_enter +EXPORT_SYMBOL_GPL vmlinux 0xb57bfee1 skcipher_walk_done +EXPORT_SYMBOL_GPL vmlinux 0xb5bce0f8 pci_epc_put +EXPORT_SYMBOL_GPL vmlinux 0xb5dd1398 __traceiter_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0xb6088146 __cookie_v4_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0xb6096629 device_add +EXPORT_SYMBOL_GPL vmlinux 0xb610b5d9 ethtool_params_from_link_mode +EXPORT_SYMBOL_GPL vmlinux 0xb6261484 register_die_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb638d818 gpiod_get_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xb6410433 mpi_addm +EXPORT_SYMBOL_GPL vmlinux 0xb654cd93 ccw_device_get_chp_desc +EXPORT_SYMBOL_GPL vmlinux 0xb65976a9 kick_process +EXPORT_SYMBOL_GPL vmlinux 0xb65f7d37 pci_epf_unbind +EXPORT_SYMBOL_GPL vmlinux 0xb6787346 sfp_unregister_socket +EXPORT_SYMBOL_GPL vmlinux 0xb67d985d smp_call_function_any +EXPORT_SYMBOL_GPL vmlinux 0xb68dc8d5 dax_layout_busy_page_range +EXPORT_SYMBOL_GPL vmlinux 0xb69afbb0 devlink_linecard_deactivate +EXPORT_SYMBOL_GPL vmlinux 0xb6ac0ec8 fixed_phy_set_link_update +EXPORT_SYMBOL_GPL vmlinux 0xb6b41fb5 __traceiter_neigh_event_send_dead +EXPORT_SYMBOL_GPL vmlinux 0xb6de0347 ping_init_sock +EXPORT_SYMBOL_GPL vmlinux 0xb72b3040 gpiochip_line_is_valid +EXPORT_SYMBOL_GPL vmlinux 0xb730ef83 gen_pool_size +EXPORT_SYMBOL_GPL vmlinux 0xb786bf75 pci_write_msi_msg +EXPORT_SYMBOL_GPL vmlinux 0xb7874378 virtio_config_changed +EXPORT_SYMBOL_GPL vmlinux 0xb7a387fc synchronize_rcu_tasks_rude +EXPORT_SYMBOL_GPL vmlinux 0xb7a7195e pcie_port_bus_type +EXPORT_SYMBOL_GPL vmlinux 0xb7b03eea crypto_alg_extsize +EXPORT_SYMBOL_GPL vmlinux 0xb7b350ed klist_init +EXPORT_SYMBOL_GPL vmlinux 0xb7b81a0b tpm_try_get_ops +EXPORT_SYMBOL_GPL vmlinux 0xb7c69a63 unregister_vmap_purge_notifier +EXPORT_SYMBOL_GPL vmlinux 0xb7cc0cff __tracepoint_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0xb7ea07df umd_cleanup_helper +EXPORT_SYMBOL_GPL vmlinux 0xb813dd36 ping_bind +EXPORT_SYMBOL_GPL vmlinux 0xb82f1a91 zap_vma_ptes +EXPORT_SYMBOL_GPL vmlinux 0xb85482ae iommu_map +EXPORT_SYMBOL_GPL vmlinux 0xb856b040 tty_port_register_device +EXPORT_SYMBOL_GPL vmlinux 0xb86a4df5 tpm_default_chip +EXPORT_SYMBOL_GPL vmlinux 0xb879f4d4 devm_phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0xb87f6451 irq_domain_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xb88dbfce irq_set_irqchip_state +EXPORT_SYMBOL_GPL vmlinux 0xb8993fac __tracepoint_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0xb89e69b1 jump_label_update_timeout +EXPORT_SYMBOL_GPL vmlinux 0xb8a456b7 netdev_is_rx_handler_busy +EXPORT_SYMBOL_GPL vmlinux 0xb8cd3a7f nf_logger_put +EXPORT_SYMBOL_GPL vmlinux 0xb8d8fb79 __netpoll_cleanup +EXPORT_SYMBOL_GPL vmlinux 0xb9092000 param_ops_bool_enable_only +EXPORT_SYMBOL_GPL vmlinux 0xb912560d static_key_disable +EXPORT_SYMBOL_GPL vmlinux 0xb9175787 devlink_linecard_create +EXPORT_SYMBOL_GPL vmlinux 0xb93a6a2e zpci_write_block +EXPORT_SYMBOL_GPL vmlinux 0xb9681621 xdp_do_flush +EXPORT_SYMBOL_GPL vmlinux 0xb96a81c6 gmap_shadow_valid +EXPORT_SYMBOL_GPL vmlinux 0xb9852d11 __traceiter_mc_event +EXPORT_SYMBOL_GPL vmlinux 0xb9b95590 ip_local_out +EXPORT_SYMBOL_GPL vmlinux 0xb9bcfadd gmap_sync_dirty_log_pmd +EXPORT_SYMBOL_GPL vmlinux 0xb9c0cd94 kthread_park +EXPORT_SYMBOL_GPL vmlinux 0xb9c425de register_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xb9d025c9 llist_del_first +EXPORT_SYMBOL_GPL vmlinux 0xb9f8de49 l3mdev_link_scope_lookup +EXPORT_SYMBOL_GPL vmlinux 0xba29c824 skb_mpls_update_lse +EXPORT_SYMBOL_GPL vmlinux 0xba6b73f9 zpci_aif_sbv +EXPORT_SYMBOL_GPL vmlinux 0xba79e75b blk_mq_free_request +EXPORT_SYMBOL_GPL vmlinux 0xba96530f crypto_lookup_template +EXPORT_SYMBOL_GPL vmlinux 0xbab211b8 devm_register_restart_handler +EXPORT_SYMBOL_GPL vmlinux 0xbabbfbbd __percpu_init_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xbaf22757 kvfree_call_rcu +EXPORT_SYMBOL_GPL vmlinux 0xbaf6850c fsnotify_wait_marks_destroyed +EXPORT_SYMBOL_GPL vmlinux 0xbafc3ee4 devm_gpiod_get_array +EXPORT_SYMBOL_GPL vmlinux 0xbb028ad3 rcu_gp_slow_register +EXPORT_SYMBOL_GPL vmlinux 0xbb0ab47b debug_locks +EXPORT_SYMBOL_GPL vmlinux 0xbb1da5fa skb_mpls_pop +EXPORT_SYMBOL_GPL vmlinux 0xbb1f14af devlink_traps_register +EXPORT_SYMBOL_GPL vmlinux 0xbb24f372 __SCK__tp_func_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0xbb328966 mmput +EXPORT_SYMBOL_GPL vmlinux 0xbb32e49b css_general_characteristics +EXPORT_SYMBOL_GPL vmlinux 0xbb4442ec crypto_alloc_kpp +EXPORT_SYMBOL_GPL vmlinux 0xbb46039e shmem_read_mapping_page_gfp +EXPORT_SYMBOL_GPL vmlinux 0xbb5170c5 irq_get_percpu_devid_partition +EXPORT_SYMBOL_GPL vmlinux 0xbb64fa86 crypto_grab_kpp +EXPORT_SYMBOL_GPL vmlinux 0xbb6508da random_get_entropy_fallback +EXPORT_SYMBOL_GPL vmlinux 0xbb6a3cbd devlink_fmsg_arr_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xbb7195a5 xdp_warn +EXPORT_SYMBOL_GPL vmlinux 0xbb7b3f80 chp_ssd_get_mask +EXPORT_SYMBOL_GPL vmlinux 0xbb7e9690 gfn_to_hva_memslot +EXPORT_SYMBOL_GPL vmlinux 0xbb812723 vfs_getxattr +EXPORT_SYMBOL_GPL vmlinux 0xbb82b09a iommu_alloc_resv_region +EXPORT_SYMBOL_GPL vmlinux 0xbbac5557 cgroup_get_e_css +EXPORT_SYMBOL_GPL vmlinux 0xbbc3e62d crypto_unregister_instance +EXPORT_SYMBOL_GPL vmlinux 0xbbc40a71 x509_decode_time +EXPORT_SYMBOL_GPL vmlinux 0xbbd08681 gpiod_set_raw_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xbbe8521e uprobe_register_refctr +EXPORT_SYMBOL_GPL vmlinux 0xbbe8a248 l3mdev_master_upper_ifindex_by_index_rcu +EXPORT_SYMBOL_GPL vmlinux 0xbbff1ee6 sk_msg_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbbff81f8 sysfs_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xbc0e23b0 fscrypt_prepare_new_inode +EXPORT_SYMBOL_GPL vmlinux 0xbc298889 perf_aux_output_flag +EXPORT_SYMBOL_GPL vmlinux 0xbc34c345 vma_kernel_pagesize +EXPORT_SYMBOL_GPL vmlinux 0xbc3f2cb0 timecounter_cyc2time +EXPORT_SYMBOL_GPL vmlinux 0xbc488b57 class_compat_remove_link +EXPORT_SYMBOL_GPL vmlinux 0xbc4c4bcc trace_seq_to_user +EXPORT_SYMBOL_GPL vmlinux 0xbc524b26 tty_put_char +EXPORT_SYMBOL_GPL vmlinux 0xbc6bec66 free_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xbc7071de iommu_detach_group +EXPORT_SYMBOL_GPL vmlinux 0xbc75cbdb crypto_alloc_shash +EXPORT_SYMBOL_GPL vmlinux 0xbc7ae0f6 fib_new_table +EXPORT_SYMBOL_GPL vmlinux 0xbc94fc9a ip_fib_metrics_init +EXPORT_SYMBOL_GPL vmlinux 0xbc959ec1 ftrace_set_filter_ip +EXPORT_SYMBOL_GPL vmlinux 0xbcab16db raw_v4_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0xbcba083d component_compare_of +EXPORT_SYMBOL_GPL vmlinux 0xbcbe3339 devlink_set_features +EXPORT_SYMBOL_GPL vmlinux 0xbcc15e75 ktime_get_coarse_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xbcc1b70c ethnl_cable_test_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbcdd5b99 iommu_group_set_name +EXPORT_SYMBOL_GPL vmlinux 0xbcf1f0e6 zs_create_pool +EXPORT_SYMBOL_GPL vmlinux 0xbcf53c33 regmap_get_val_endian +EXPORT_SYMBOL_GPL vmlinux 0xbd368131 perf_event_disable +EXPORT_SYMBOL_GPL vmlinux 0xbd3fe1e3 disable_hardirq +EXPORT_SYMBOL_GPL vmlinux 0xbd5704ec __tracepoint_xdp_bulk_tx +EXPORT_SYMBOL_GPL vmlinux 0xbd60e623 ethnl_cable_test_step +EXPORT_SYMBOL_GPL vmlinux 0xbd63d128 dm_suspended +EXPORT_SYMBOL_GPL vmlinux 0xbd6da0ab kvm_vcpu_read_guest_page +EXPORT_SYMBOL_GPL vmlinux 0xbd7aaaee add_memory +EXPORT_SYMBOL_GPL vmlinux 0xbd8bc288 kvm_destroy_vcpus +EXPORT_SYMBOL_GPL vmlinux 0xbdad913e __put_net +EXPORT_SYMBOL_GPL vmlinux 0xbdb0cca9 devm_gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xbdb1888e xdp_build_skb_from_frame +EXPORT_SYMBOL_GPL vmlinux 0xbdb72342 __tracepoint_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0xbdc96ac2 tty_kopen_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xbdda1b5f vmalloc_huge +EXPORT_SYMBOL_GPL vmlinux 0xbdec0cf8 fscrypt_ioctl_get_policy_ex +EXPORT_SYMBOL_GPL vmlinux 0xbdf15423 sbitmap_bitmap_show +EXPORT_SYMBOL_GPL vmlinux 0xbe17f47f vfs_lock_file +EXPORT_SYMBOL_GPL vmlinux 0xbe64fa57 rtnl_put_cacheinfo +EXPORT_SYMBOL_GPL vmlinux 0xbe687e88 wake_up_all_idle_cpus +EXPORT_SYMBOL_GPL vmlinux 0xbe7e5dd4 fsverity_verify_bio +EXPORT_SYMBOL_GPL vmlinux 0xbe93269c tpm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0xbe9a83d5 dw_pcie_write +EXPORT_SYMBOL_GPL vmlinux 0xbea5ff1e static_key_initialized +EXPORT_SYMBOL_GPL vmlinux 0xbebaea78 crypto_stats_akcipher_sign +EXPORT_SYMBOL_GPL vmlinux 0xbebedeba event_triggers_call +EXPORT_SYMBOL_GPL vmlinux 0xbec59cbc fscrypt_mergeable_bio +EXPORT_SYMBOL_GPL vmlinux 0xbecee6f3 blkcg_policy_register +EXPORT_SYMBOL_GPL vmlinux 0xbee0803e _proc_mkdir +EXPORT_SYMBOL_GPL vmlinux 0xbf041102 register_vt_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbf0aaf51 iomap_migrate_page +EXPORT_SYMBOL_GPL vmlinux 0xbf122850 receive_fd +EXPORT_SYMBOL_GPL vmlinux 0xbf158f2a fscrypt_ioctl_get_key_status +EXPORT_SYMBOL_GPL vmlinux 0xbf2987e3 gpiochip_unlock_as_irq +EXPORT_SYMBOL_GPL vmlinux 0xbf2e2e71 housekeeping_enabled +EXPORT_SYMBOL_GPL vmlinux 0xbf36aa33 msg_zerocopy_callback +EXPORT_SYMBOL_GPL vmlinux 0xbf4513c3 devlink_linecard_activate +EXPORT_SYMBOL_GPL vmlinux 0xbf55ff2f pci_dev_lock +EXPORT_SYMBOL_GPL vmlinux 0xbf66b201 bus_register_notifier +EXPORT_SYMBOL_GPL vmlinux 0xbf6eeff2 __folio_lock_killable +EXPORT_SYMBOL_GPL vmlinux 0xbfcb3815 irq_work_queue +EXPORT_SYMBOL_GPL vmlinux 0xbfe5616d tick_broadcast_oneshot_control +EXPORT_SYMBOL_GPL vmlinux 0xbff42628 ip6_local_out +EXPORT_SYMBOL_GPL vmlinux 0xbffa1bfe fscrypt_set_bio_crypt_ctx_bh +EXPORT_SYMBOL_GPL vmlinux 0xbffb3a8c anon_inode_getfd_secure +EXPORT_SYMBOL_GPL vmlinux 0xc002c88f __traceiter_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xc00383b7 pkcs7_validate_trust +EXPORT_SYMBOL_GPL vmlinux 0xc00df838 dw_pcie_ep_init_complete +EXPORT_SYMBOL_GPL vmlinux 0xc022093b irq_chip_mask_parent +EXPORT_SYMBOL_GPL vmlinux 0xc03173bb dw_pcie_wait_for_link +EXPORT_SYMBOL_GPL vmlinux 0xc045988c rhashtable_walk_next +EXPORT_SYMBOL_GPL vmlinux 0xc04b6fe0 kvm_read_guest +EXPORT_SYMBOL_GPL vmlinux 0xc04b9ecd free_vm_area +EXPORT_SYMBOL_GPL vmlinux 0xc04fb4d6 __traceiter_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0xc087101b skcipher_walk_aead_decrypt +EXPORT_SYMBOL_GPL vmlinux 0xc090c376 net_selftest_get_strings +EXPORT_SYMBOL_GPL vmlinux 0xc0975fef sysfs_file_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xc09d3e8c devm_device_add_groups +EXPORT_SYMBOL_GPL vmlinux 0xc0a12880 iommu_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc0a5c3b7 pci_num_vf +EXPORT_SYMBOL_GPL vmlinux 0xc0a5ecea fat_get_dotdot_entry +EXPORT_SYMBOL_GPL vmlinux 0xc0a96e14 rcu_gp_is_expedited +EXPORT_SYMBOL_GPL vmlinux 0xc0b2664d devlink_dpipe_header_ipv4 +EXPORT_SYMBOL_GPL vmlinux 0xc0c2b49c gmap_create +EXPORT_SYMBOL_GPL vmlinux 0xc0d880a5 dma_resv_test_signaled +EXPORT_SYMBOL_GPL vmlinux 0xc0f0458a ip_tunnel_unneed_metadata +EXPORT_SYMBOL_GPL vmlinux 0xc1086e0c sysrq_toggle_support +EXPORT_SYMBOL_GPL vmlinux 0xc10fddb8 name_to_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xc132c453 __wake_up_locked_sync_key +EXPORT_SYMBOL_GPL vmlinux 0xc1360411 netlink_add_tap +EXPORT_SYMBOL_GPL vmlinux 0xc13d75a9 device_rename +EXPORT_SYMBOL_GPL vmlinux 0xc14eb3a7 pci_sriov_configure_simple +EXPORT_SYMBOL_GPL vmlinux 0xc15565b7 crypto_remove_spawns +EXPORT_SYMBOL_GPL vmlinux 0xc16e7f59 kvm_get_kvm +EXPORT_SYMBOL_GPL vmlinux 0xc1a41fcf virtqueue_is_broken +EXPORT_SYMBOL_GPL vmlinux 0xc1db6f92 serdev_device_set_parity +EXPORT_SYMBOL_GPL vmlinux 0xc1edf1ac freq_qos_add_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc1efb218 driver_find +EXPORT_SYMBOL_GPL vmlinux 0xc22a3091 vm_unmap_aliases +EXPORT_SYMBOL_GPL vmlinux 0xc2369a10 crypto_unregister_kpp +EXPORT_SYMBOL_GPL vmlinux 0xc23ac9bf inet_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xc23eb589 pci_probe_reset_bus +EXPORT_SYMBOL_GPL vmlinux 0xc240c5c4 crypto_stats_rng_seed +EXPORT_SYMBOL_GPL vmlinux 0xc241a09f inet_csk_listen_start +EXPORT_SYMBOL_GPL vmlinux 0xc24adb6f serdev_device_get_tiocm +EXPORT_SYMBOL_GPL vmlinux 0xc264e50e pci_hp_destroy +EXPORT_SYMBOL_GPL vmlinux 0xc27f0333 kvm_vcpu_write_guest_page +EXPORT_SYMBOL_GPL vmlinux 0xc2904d85 crypto_unregister_rng +EXPORT_SYMBOL_GPL vmlinux 0xc2a3eb61 device_driver_attach +EXPORT_SYMBOL_GPL vmlinux 0xc2a814db tcp_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xc2b9773a __tracepoint_neigh_update_done +EXPORT_SYMBOL_GPL vmlinux 0xc2c1c427 perf_event_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc2c4a37b eventfd_ctx_fileget +EXPORT_SYMBOL_GPL vmlinux 0xc32d4dd5 __traceiter_block_bio_remap +EXPORT_SYMBOL_GPL vmlinux 0xc32e3bdf debugfs_create_file_unsafe +EXPORT_SYMBOL_GPL vmlinux 0xc33e9fe2 vp_modern_config_vector +EXPORT_SYMBOL_GPL vmlinux 0xc341ae6d zs_map_object +EXPORT_SYMBOL_GPL vmlinux 0xc36812ee validate_xmit_skb_list +EXPORT_SYMBOL_GPL vmlinux 0xc36eccbf devlink_dpipe_table_register +EXPORT_SYMBOL_GPL vmlinux 0xc3708747 trace_vprintk +EXPORT_SYMBOL_GPL vmlinux 0xc3756c82 bpf_sk_storage_diag_put +EXPORT_SYMBOL_GPL vmlinux 0xc3805cd1 fs_ftype_to_dtype +EXPORT_SYMBOL_GPL vmlinux 0xc3bcf05b fsverity_verify_page +EXPORT_SYMBOL_GPL vmlinux 0xc3c3a2b1 md_run +EXPORT_SYMBOL_GPL vmlinux 0xc3c3dcb0 unregister_ftrace_direct_multi +EXPORT_SYMBOL_GPL vmlinux 0xc3c4c6cc hash_algo_name +EXPORT_SYMBOL_GPL vmlinux 0xc3d1c770 irq_create_of_mapping +EXPORT_SYMBOL_GPL vmlinux 0xc3dddf01 bpf_redirect_info +EXPORT_SYMBOL_GPL vmlinux 0xc3de65ff ring_buffer_bytes_cpu +EXPORT_SYMBOL_GPL vmlinux 0xc3ea5305 iommu_default_passthrough +EXPORT_SYMBOL_GPL vmlinux 0xc3eb36c9 securityfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xc3f99379 init_uts_ns +EXPORT_SYMBOL_GPL vmlinux 0xc405fcd3 badblocks_show +EXPORT_SYMBOL_GPL vmlinux 0xc41a0c51 chsc_ssqd +EXPORT_SYMBOL_GPL vmlinux 0xc426c51f klp_shadow_free_all +EXPORT_SYMBOL_GPL vmlinux 0xc43a86e8 gpiochip_line_is_open_source +EXPORT_SYMBOL_GPL vmlinux 0xc440fa27 inet_send_prepare +EXPORT_SYMBOL_GPL vmlinux 0xc44992ee devlink_param_driverinit_value_get +EXPORT_SYMBOL_GPL vmlinux 0xc47a90b9 bpf_fentry_test1 +EXPORT_SYMBOL_GPL vmlinux 0xc480eb84 appldata_diag +EXPORT_SYMBOL_GPL vmlinux 0xc4810203 nr_iowait +EXPORT_SYMBOL_GPL vmlinux 0xc48f7eb5 is_binary_blacklisted +EXPORT_SYMBOL_GPL vmlinux 0xc498bdc9 devlink_register +EXPORT_SYMBOL_GPL vmlinux 0xc4a31146 rdma_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xc4a7b88e fib_add_nexthop +EXPORT_SYMBOL_GPL vmlinux 0xc4c9c75a synth_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0xc4d7cd01 pcie_flr +EXPORT_SYMBOL_GPL vmlinux 0xc4da04a2 netlink_strict_get_check +EXPORT_SYMBOL_GPL vmlinux 0xc4e94f9a cpci_hp_register_bus +EXPORT_SYMBOL_GPL vmlinux 0xc4f0da12 ktime_get_with_offset +EXPORT_SYMBOL_GPL vmlinux 0xc4f11349 devm_regmap_field_free +EXPORT_SYMBOL_GPL vmlinux 0xc4f65e12 serdev_device_wait_until_sent +EXPORT_SYMBOL_GPL vmlinux 0xc506ee4c nf_queue_nf_hook_drop +EXPORT_SYMBOL_GPL vmlinux 0xc51535fa tracing_cond_snapshot_data +EXPORT_SYMBOL_GPL vmlinux 0xc51ba197 serdev_device_set_flow_control +EXPORT_SYMBOL_GPL vmlinux 0xc53ba24f atomic_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xc53cd7e4 ima_measure_critical_data +EXPORT_SYMBOL_GPL vmlinux 0xc55f7841 clean_acked_data_enable +EXPORT_SYMBOL_GPL vmlinux 0xc5653b47 crypto_register_algs +EXPORT_SYMBOL_GPL vmlinux 0xc5721ce9 bpf_preload_ops +EXPORT_SYMBOL_GPL vmlinux 0xc57252b8 __traceiter_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xc575c737 debug_locks_off +EXPORT_SYMBOL_GPL vmlinux 0xc58537d6 vp_modern_map_vq_notify +EXPORT_SYMBOL_GPL vmlinux 0xc5865f4b fscrypt_drop_inode +EXPORT_SYMBOL_GPL vmlinux 0xc594f1a7 dm_set_target_max_io_len +EXPORT_SYMBOL_GPL vmlinux 0xc5a05ebf ping_close +EXPORT_SYMBOL_GPL vmlinux 0xc5a76604 PageHuge +EXPORT_SYMBOL_GPL vmlinux 0xc5d23547 tpm_calc_ordinal_duration +EXPORT_SYMBOL_GPL vmlinux 0xc617f82c unregister_oom_notifier +EXPORT_SYMBOL_GPL vmlinux 0xc618d89a crypto_create_tfm_node +EXPORT_SYMBOL_GPL vmlinux 0xc61b9839 page_cache_async_ra +EXPORT_SYMBOL_GPL vmlinux 0xc64d82f1 dst_cache_get +EXPORT_SYMBOL_GPL vmlinux 0xc650835f kobject_init_and_add +EXPORT_SYMBOL_GPL vmlinux 0xc662d101 n_tty_inherit_ops +EXPORT_SYMBOL_GPL vmlinux 0xc662ecda __tracepoint_br_fdb_external_learn_add +EXPORT_SYMBOL_GPL vmlinux 0xc66b77b1 iommu_group_set_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xc6779093 ring_buffer_record_enable +EXPORT_SYMBOL_GPL vmlinux 0xc69b7ee5 zs_destroy_pool +EXPORT_SYMBOL_GPL vmlinux 0xc6a1c079 ping_common_sendmsg +EXPORT_SYMBOL_GPL vmlinux 0xc6f6d4c9 list_lru_count_node +EXPORT_SYMBOL_GPL vmlinux 0xc70218ab encrypt_blob +EXPORT_SYMBOL_GPL vmlinux 0xc702a59b regmap_async_complete +EXPORT_SYMBOL_GPL vmlinux 0xc7048038 percpu_down_write +EXPORT_SYMBOL_GPL vmlinux 0xc71176f3 device_set_of_node_from_dev +EXPORT_SYMBOL_GPL vmlinux 0xc73c3f09 virtqueue_get_vring_size +EXPORT_SYMBOL_GPL vmlinux 0xc744643f regcache_cache_only +EXPORT_SYMBOL_GPL vmlinux 0xc74a9160 crypto_hash_alg_has_setkey +EXPORT_SYMBOL_GPL vmlinux 0xc755c93f trace_handle_return +EXPORT_SYMBOL_GPL vmlinux 0xc75faeb0 iomap_is_partially_uptodate +EXPORT_SYMBOL_GPL vmlinux 0xc76364f8 folio_add_wait_queue +EXPORT_SYMBOL_GPL vmlinux 0xc78c9ecd input_ff_flush +EXPORT_SYMBOL_GPL vmlinux 0xc78dfefd __irq_apply_affinity_hint +EXPORT_SYMBOL_GPL vmlinux 0xc7a1840e llist_add_batch +EXPORT_SYMBOL_GPL vmlinux 0xc7a4730b fuse_send_init +EXPORT_SYMBOL_GPL vmlinux 0xc7e64fc2 asn1_encode_integer +EXPORT_SYMBOL_GPL vmlinux 0xc7fa4aa9 kobj_ns_drop +EXPORT_SYMBOL_GPL vmlinux 0xc7febd15 dm_audit_log_ti +EXPORT_SYMBOL_GPL vmlinux 0xc80acfca chsc_sadc +EXPORT_SYMBOL_GPL vmlinux 0xc80f8e4a devlink_resource_occ_get_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc824f9d8 __i2c_board_lock +EXPORT_SYMBOL_GPL vmlinux 0xc82c721f klist_remove +EXPORT_SYMBOL_GPL vmlinux 0xc8a70150 desc_to_gpio +EXPORT_SYMBOL_GPL vmlinux 0xc8aaf1c0 mptcp_diag_fill_info +EXPORT_SYMBOL_GPL vmlinux 0xc8b6a2d0 kthread_flush_work +EXPORT_SYMBOL_GPL vmlinux 0xc8ddd5b5 kstrdup_quotable +EXPORT_SYMBOL_GPL vmlinux 0xc8e08d88 tcp_sendmsg_locked +EXPORT_SYMBOL_GPL vmlinux 0xc90207dc bpf_trace_run9 +EXPORT_SYMBOL_GPL vmlinux 0xc90dda47 irq_domain_free_irqs_common +EXPORT_SYMBOL_GPL vmlinux 0xc91fdf58 percpu_ref_is_zero +EXPORT_SYMBOL_GPL vmlinux 0xc9363eb8 ethnl_cable_test_pulse +EXPORT_SYMBOL_GPL vmlinux 0xc94572ed task_cputime_adjusted +EXPORT_SYMBOL_GPL vmlinux 0xc9483f2e gpiochip_request_own_desc +EXPORT_SYMBOL_GPL vmlinux 0xc94f07f3 genphy_c45_pma_resume +EXPORT_SYMBOL_GPL vmlinux 0xc9561772 fb_destroy_modelist +EXPORT_SYMBOL_GPL vmlinux 0xc9593570 devm_hwrng_unregister +EXPORT_SYMBOL_GPL vmlinux 0xc97113c4 pci_assign_unassigned_bridge_resources +EXPORT_SYMBOL_GPL vmlinux 0xc97b8fc8 crypto_unregister_template +EXPORT_SYMBOL_GPL vmlinux 0xc9827693 __bpf_call_base +EXPORT_SYMBOL_GPL vmlinux 0xc996fcd2 metadata_dst_free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xc99c2583 handle_level_irq +EXPORT_SYMBOL_GPL vmlinux 0xc9b09253 devm_kstrdup_const +EXPORT_SYMBOL_GPL vmlinux 0xc9b206bb gpiochip_irq_domain_deactivate +EXPORT_SYMBOL_GPL vmlinux 0xc9db9202 regmap_test_bits +EXPORT_SYMBOL_GPL vmlinux 0xc9e80c8a init_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xc9ec4e21 free_percpu +EXPORT_SYMBOL_GPL vmlinux 0xca163f67 serdev_device_write_room +EXPORT_SYMBOL_GPL vmlinux 0xca2211c7 __traceiter_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xca398e2b tpm_put_ops +EXPORT_SYMBOL_GPL vmlinux 0xca454a34 vt_get_leds +EXPORT_SYMBOL_GPL vmlinux 0xca5227ba fscrypt_ioctl_add_key +EXPORT_SYMBOL_GPL vmlinux 0xca541308 trusted_tpm_send +EXPORT_SYMBOL_GPL vmlinux 0xca5aeb95 perf_pmu_migrate_context +EXPORT_SYMBOL_GPL vmlinux 0xca7d8764 kthread_freezable_should_stop +EXPORT_SYMBOL_GPL vmlinux 0xca867d0a netif_carrier_event +EXPORT_SYMBOL_GPL vmlinux 0xca9a1d5e ring_buffer_free +EXPORT_SYMBOL_GPL vmlinux 0xca9bfa9e dax_truncate_page +EXPORT_SYMBOL_GPL vmlinux 0xcaa6a33c pci_d3cold_disable +EXPORT_SYMBOL_GPL vmlinux 0xcaaffd1a debugfs_create_x64 +EXPORT_SYMBOL_GPL vmlinux 0xcad29180 pci_epc_get_next_free_bar +EXPORT_SYMBOL_GPL vmlinux 0xcaf5fd3f devm_gpio_request_one +EXPORT_SYMBOL_GPL vmlinux 0xcb1804dd msi_unlock_descs +EXPORT_SYMBOL_GPL vmlinux 0xcb41a54a l3mdev_fib_table_by_index +EXPORT_SYMBOL_GPL vmlinux 0xcb45abbb put_device +EXPORT_SYMBOL_GPL vmlinux 0xcb4cf56b gpiod_direction_output_raw +EXPORT_SYMBOL_GPL vmlinux 0xcb5090e8 ip6_sk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xcb561441 mem_dump_obj +EXPORT_SYMBOL_GPL vmlinux 0xcb56481e devm_device_add_group +EXPORT_SYMBOL_GPL vmlinux 0xcb6b0ab2 xdp_rxq_info_unreg +EXPORT_SYMBOL_GPL vmlinux 0xcb90dac8 get_device +EXPORT_SYMBOL_GPL vmlinux 0xcbe56bc2 zs_get_total_pages +EXPORT_SYMBOL_GPL vmlinux 0xcc29e05e irq_set_affinity +EXPORT_SYMBOL_GPL vmlinux 0xcc2dbfd8 irq_domain_check_msi_remap +EXPORT_SYMBOL_GPL vmlinux 0xcc3f54e5 net_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xcc3fe181 fwnode_property_read_u16_array +EXPORT_SYMBOL_GPL vmlinux 0xcc581e0f noop_backing_dev_info +EXPORT_SYMBOL_GPL vmlinux 0xcc5ab50b scsi_unregister_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xcc5da3b9 trace_array_get_by_name +EXPORT_SYMBOL_GPL vmlinux 0xcc795932 devlink_region_snapshot_id_put +EXPORT_SYMBOL_GPL vmlinux 0xcc7bea7e key_type_asymmetric +EXPORT_SYMBOL_GPL vmlinux 0xcc8e0d88 __bio_release_pages +EXPORT_SYMBOL_GPL vmlinux 0xcc935375 walk_iomem_res_desc +EXPORT_SYMBOL_GPL vmlinux 0xccba524f pcie_port_find_device +EXPORT_SYMBOL_GPL vmlinux 0xccc68a72 pid_vnr +EXPORT_SYMBOL_GPL vmlinux 0xccc7c935 cpu_device_create +EXPORT_SYMBOL_GPL vmlinux 0xcccdf26b gpiod_get +EXPORT_SYMBOL_GPL vmlinux 0xccce5883 genphy_c45_an_disable_aneg +EXPORT_SYMBOL_GPL vmlinux 0xccf52bc9 sfp_upstream_start +EXPORT_SYMBOL_GPL vmlinux 0xcd0d999d crypto_alloc_acomp +EXPORT_SYMBOL_GPL vmlinux 0xcd24e146 hash_digest_size +EXPORT_SYMBOL_GPL vmlinux 0xcd279dcc kthread_mod_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xcd2b4819 platform_bus +EXPORT_SYMBOL_GPL vmlinux 0xcd2c1012 bsg_job_done +EXPORT_SYMBOL_GPL vmlinux 0xcd6f2dc9 nf_log_buf_add +EXPORT_SYMBOL_GPL vmlinux 0xcd715cac ext_pi_type3_crc64 +EXPORT_SYMBOL_GPL vmlinux 0xcd77b526 irq_create_fwspec_mapping +EXPORT_SYMBOL_GPL vmlinux 0xcd87df6e msi_get_virq +EXPORT_SYMBOL_GPL vmlinux 0xcd91b127 system_highpri_wq +EXPORT_SYMBOL_GPL vmlinux 0xcd974f00 rcu_all_qs +EXPORT_SYMBOL_GPL vmlinux 0xcd991602 crypto_register_acomp +EXPORT_SYMBOL_GPL vmlinux 0xcd9cd2ff wakeme_after_rcu +EXPORT_SYMBOL_GPL vmlinux 0xcdb34b05 kvm_vcpu_unmap +EXPORT_SYMBOL_GPL vmlinux 0xcdb6adcc ras_userspace_consumers +EXPORT_SYMBOL_GPL vmlinux 0xcdbe89be synth_event_add_field_str +EXPORT_SYMBOL_GPL vmlinux 0xcdc74edd dev_err_probe +EXPORT_SYMBOL_GPL vmlinux 0xcdca3691 nr_irqs +EXPORT_SYMBOL_GPL vmlinux 0xce040861 rt_mutex_unlock +EXPORT_SYMBOL_GPL vmlinux 0xce09b710 __sock_recv_cmsgs +EXPORT_SYMBOL_GPL vmlinux 0xce6db656 rcu_is_watching +EXPORT_SYMBOL_GPL vmlinux 0xce939a70 crypto_aead_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xce941f58 synchronize_srcu_expedited +EXPORT_SYMBOL_GPL vmlinux 0xce974d24 pci_epc_clear_bar +EXPORT_SYMBOL_GPL vmlinux 0xcea41753 __hrtimer_get_remaining +EXPORT_SYMBOL_GPL vmlinux 0xcedf5c45 skb_to_sgvec_nomark +EXPORT_SYMBOL_GPL vmlinux 0xceeb39f0 tpm_chip_stop +EXPORT_SYMBOL_GPL vmlinux 0xcf0afbfb copy_to_user_nofault +EXPORT_SYMBOL_GPL vmlinux 0xcf28f55e trace_clock_global +EXPORT_SYMBOL_GPL vmlinux 0xcf2b2394 blk_mq_debugfs_rq_show +EXPORT_SYMBOL_GPL vmlinux 0xcf4aa8d2 dm_internal_suspend_fast +EXPORT_SYMBOL_GPL vmlinux 0xcf4b1427 unregister_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xcf675ef3 gpiod_get_index_optional +EXPORT_SYMBOL_GPL vmlinux 0xcf8354cf iommu_sva_get_pasid +EXPORT_SYMBOL_GPL vmlinux 0xcf842893 xfrm_audit_state_delete +EXPORT_SYMBOL_GPL vmlinux 0xcfaeadaf klist_add_head +EXPORT_SYMBOL_GPL vmlinux 0xcfb7e605 iommu_present +EXPORT_SYMBOL_GPL vmlinux 0xcfbad1d6 devlink_trap_groups_register +EXPORT_SYMBOL_GPL vmlinux 0xcfc2486b device_get_match_data +EXPORT_SYMBOL_GPL vmlinux 0xcfc5108a devlink_fmsg_u8_pair_put +EXPORT_SYMBOL_GPL vmlinux 0xcfc7b4e4 rcu_barrier_tasks_trace +EXPORT_SYMBOL_GPL vmlinux 0xd02c43e6 gpiod_get_optional +EXPORT_SYMBOL_GPL vmlinux 0xd0301f07 alloc_dax_region +EXPORT_SYMBOL_GPL vmlinux 0xd031b589 asn1_ber_decoder +EXPORT_SYMBOL_GPL vmlinux 0xd03eaf4c schedule_hrtimeout_range +EXPORT_SYMBOL_GPL vmlinux 0xd04949c0 tun_get_tx_ring +EXPORT_SYMBOL_GPL vmlinux 0xd04abd67 irq_domain_reset_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xd04aedfd __SCK__tp_func_arm_event +EXPORT_SYMBOL_GPL vmlinux 0xd0644e05 fwnode_property_match_string +EXPORT_SYMBOL_GPL vmlinux 0xd06524ba raw_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd067d3c5 system_freezable_power_efficient_wq +EXPORT_SYMBOL_GPL vmlinux 0xd06e89fe virtqueue_kick +EXPORT_SYMBOL_GPL vmlinux 0xd07ce816 genphy_c45_pma_baset1_read_master_slave +EXPORT_SYMBOL_GPL vmlinux 0xd08d0a9a gpiod_set_raw_array_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xd091ad74 blk_insert_cloned_request +EXPORT_SYMBOL_GPL vmlinux 0xd0a4da16 component_unbind_all +EXPORT_SYMBOL_GPL vmlinux 0xd0b7c11d inet_csk_route_req +EXPORT_SYMBOL_GPL vmlinux 0xd0c05159 emergency_restart +EXPORT_SYMBOL_GPL vmlinux 0xd0c07ec3 __account_locked_vm +EXPORT_SYMBOL_GPL vmlinux 0xd0cafbab udp_destruct_sock +EXPORT_SYMBOL_GPL vmlinux 0xd0cb3ff4 look_up_OID +EXPORT_SYMBOL_GPL vmlinux 0xd0db0f12 run_dax +EXPORT_SYMBOL_GPL vmlinux 0xd0f01dbd wait_on_page_writeback +EXPORT_SYMBOL_GPL vmlinux 0xd0f22001 xfrm_audit_state_notfound +EXPORT_SYMBOL_GPL vmlinux 0xd0f98001 tcp_enter_memory_pressure +EXPORT_SYMBOL_GPL vmlinux 0xd1165dee regcache_sync +EXPORT_SYMBOL_GPL vmlinux 0xd1343e72 validate_xmit_xfrm +EXPORT_SYMBOL_GPL vmlinux 0xd13fac44 xfrm_output +EXPORT_SYMBOL_GPL vmlinux 0xd1481de7 mpi_clear +EXPORT_SYMBOL_GPL vmlinux 0xd159586c net_prio_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xd162232a tpm_pcr_extend +EXPORT_SYMBOL_GPL vmlinux 0xd16a8cef __tracepoint_add_device_to_group +EXPORT_SYMBOL_GPL vmlinux 0xd177d04a tty_encode_baud_rate +EXPORT_SYMBOL_GPL vmlinux 0xd17a5dd2 irq_get_default_host +EXPORT_SYMBOL_GPL vmlinux 0xd1897b18 __traceiter_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xd1a9ca15 __SCK__tp_func_neigh_update +EXPORT_SYMBOL_GPL vmlinux 0xd1cac238 s390_replace_asce +EXPORT_SYMBOL_GPL vmlinux 0xd1cac7bf unregister_ftrace_direct +EXPORT_SYMBOL_GPL vmlinux 0xd1cb96be __pci_reset_function_locked +EXPORT_SYMBOL_GPL vmlinux 0xd1cbc23c add_timer_on +EXPORT_SYMBOL_GPL vmlinux 0xd1f2eee2 nf_logger_find_get +EXPORT_SYMBOL_GPL vmlinux 0xd207646e file_is_kvm +EXPORT_SYMBOL_GPL vmlinux 0xd217e9e6 trace_set_clr_event +EXPORT_SYMBOL_GPL vmlinux 0xd21b61bd async_schedule_node_domain +EXPORT_SYMBOL_GPL vmlinux 0xd21f1d35 __SCK__tp_func_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0xd220908b blk_mq_unquiesce_queue +EXPORT_SYMBOL_GPL vmlinux 0xd220f880 tty_set_termios +EXPORT_SYMBOL_GPL vmlinux 0xd23b471f css_next_descendant_pre +EXPORT_SYMBOL_GPL vmlinux 0xd260af0d ring_buffer_write +EXPORT_SYMBOL_GPL vmlinux 0xd26e4c50 locks_release_private +EXPORT_SYMBOL_GPL vmlinux 0xd273b1b1 __round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xd278e154 __sbitmap_queue_get +EXPORT_SYMBOL_GPL vmlinux 0xd29c1f10 __traceiter_error_report_end +EXPORT_SYMBOL_GPL vmlinux 0xd29fc900 blkg_lookup_slowpath +EXPORT_SYMBOL_GPL vmlinux 0xd2d7e59b unregister_platform_power_off +EXPORT_SYMBOL_GPL vmlinux 0xd2e79416 cpu_bit_bitmap +EXPORT_SYMBOL_GPL vmlinux 0xd3034428 __wake_up_locked_key +EXPORT_SYMBOL_GPL vmlinux 0xd303c7c9 genphy_c45_check_and_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0xd30e695f invalidate_inode_pages2 +EXPORT_SYMBOL_GPL vmlinux 0xd3176952 gpiochip_enable_irq +EXPORT_SYMBOL_GPL vmlinux 0xd31a2ac5 ring_buffer_oldest_event_ts +EXPORT_SYMBOL_GPL vmlinux 0xd3243ae8 mpi_read_raw_data +EXPORT_SYMBOL_GPL vmlinux 0xd3376148 device_release_driver +EXPORT_SYMBOL_GPL vmlinux 0xd34150a0 rtnl_register_module +EXPORT_SYMBOL_GPL vmlinux 0xd372350f pci_bus_max_busnr +EXPORT_SYMBOL_GPL vmlinux 0xd37af18f kvm_vcpu_write_guest +EXPORT_SYMBOL_GPL vmlinux 0xd399869e phy_driver_is_genphy_10g +EXPORT_SYMBOL_GPL vmlinux 0xd39bb312 pci_epc_mem_free_addr +EXPORT_SYMBOL_GPL vmlinux 0xd39e9848 put_itimerspec64 +EXPORT_SYMBOL_GPL vmlinux 0xd3b55106 __traceiter_remove_device_from_group +EXPORT_SYMBOL_GPL vmlinux 0xd3b950e1 xfrm_audit_state_replay +EXPORT_SYMBOL_GPL vmlinux 0xd3bb2b2a genphy_c45_restart_aneg +EXPORT_SYMBOL_GPL vmlinux 0xd3d544fd perf_tp_event +EXPORT_SYMBOL_GPL vmlinux 0xd3d80c51 devm_gpiod_unhinge +EXPORT_SYMBOL_GPL vmlinux 0xd3ddea85 skb_morph +EXPORT_SYMBOL_GPL vmlinux 0xd3e3289a fscrypt_get_symlink +EXPORT_SYMBOL_GPL vmlinux 0xd3eaf1ed devlink_dpipe_entry_clear +EXPORT_SYMBOL_GPL vmlinux 0xd3f0cd42 misc_cg_res_total_usage +EXPORT_SYMBOL_GPL vmlinux 0xd3f18783 tracing_snapshot_cond_disable +EXPORT_SYMBOL_GPL vmlinux 0xd4034828 system_freezable_wq +EXPORT_SYMBOL_GPL vmlinux 0xd42bbbc6 uprobe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd42f1d4e show_rcu_tasks_rude_gp_kthread +EXPORT_SYMBOL_GPL vmlinux 0xd43aafb5 md_do_sync +EXPORT_SYMBOL_GPL vmlinux 0xd44c850f mptcp_pm_get_add_addr_accept_max +EXPORT_SYMBOL_GPL vmlinux 0xd45916ad badblocks_check +EXPORT_SYMBOL_GPL vmlinux 0xd4596f10 proc_mkdir_data +EXPORT_SYMBOL_GPL vmlinux 0xd462b338 nf_checksum +EXPORT_SYMBOL_GPL vmlinux 0xd4692149 pci_epc_get_msix +EXPORT_SYMBOL_GPL vmlinux 0xd47db3c6 fscrypt_dio_supported +EXPORT_SYMBOL_GPL vmlinux 0xd4935851 __SCK__tp_func_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0xd4a4108e fsverity_ioctl_enable +EXPORT_SYMBOL_GPL vmlinux 0xd4b357b4 iomap_writepages +EXPORT_SYMBOL_GPL vmlinux 0xd4b6157e devlink_health_reporter_recovery_done +EXPORT_SYMBOL_GPL vmlinux 0xd4bf483c inet_peer_base_init +EXPORT_SYMBOL_GPL vmlinux 0xd4c14632 system_unbound_wq +EXPORT_SYMBOL_GPL vmlinux 0xd4cbdbe3 __SCK__tp_func_devlink_trap_report +EXPORT_SYMBOL_GPL vmlinux 0xd4d68a5f __page_mapcount +EXPORT_SYMBOL_GPL vmlinux 0xd4f18b3f kvm_vcpu_read_guest +EXPORT_SYMBOL_GPL vmlinux 0xd4fb3639 xdp_rxq_info_reg_mem_model +EXPORT_SYMBOL_GPL vmlinux 0xd4fe23f1 sbitmap_queue_recalculate_wake_batch +EXPORT_SYMBOL_GPL vmlinux 0xd509e5e6 dma_get_merge_boundary +EXPORT_SYMBOL_GPL vmlinux 0xd526c739 mdiobus_modify +EXPORT_SYMBOL_GPL vmlinux 0xd55ad93b iommu_group_get_iommudata +EXPORT_SYMBOL_GPL vmlinux 0xd562a13c fuse_dev_alloc +EXPORT_SYMBOL_GPL vmlinux 0xd56aceda gpiod_direction_input +EXPORT_SYMBOL_GPL vmlinux 0xd57ae76e clockevents_unbind_device +EXPORT_SYMBOL_GPL vmlinux 0xd591fac2 s390_pci_dma_ops +EXPORT_SYMBOL_GPL vmlinux 0xd5964f38 ptep_test_and_clear_uc +EXPORT_SYMBOL_GPL vmlinux 0xd59a1587 linkmode_resolve_pause +EXPORT_SYMBOL_GPL vmlinux 0xd59aaa41 mnt_want_write +EXPORT_SYMBOL_GPL vmlinux 0xd5be476b tcp_abort +EXPORT_SYMBOL_GPL vmlinux 0xd5be4b47 proc_dou8vec_minmax +EXPORT_SYMBOL_GPL vmlinux 0xd5e1a9e1 fwnode_device_is_available +EXPORT_SYMBOL_GPL vmlinux 0xd5fdfd1f pci_hp_del +EXPORT_SYMBOL_GPL vmlinux 0xd60d9660 phy_check_downshift +EXPORT_SYMBOL_GPL vmlinux 0xd61adc51 blk_mq_freeze_queue_wait_timeout +EXPORT_SYMBOL_GPL vmlinux 0xd63b5069 addrconf_add_linklocal +EXPORT_SYMBOL_GPL vmlinux 0xd64ed259 __memcat_p +EXPORT_SYMBOL_GPL vmlinux 0xd653b126 sched_clock +EXPORT_SYMBOL_GPL vmlinux 0xd65ecbb2 irq_chip_request_resources_parent +EXPORT_SYMBOL_GPL vmlinux 0xd66fd78a fat_add_entries +EXPORT_SYMBOL_GPL vmlinux 0xd67364f7 eventfd_ctx_fdget +EXPORT_SYMBOL_GPL vmlinux 0xd6799e05 fib6_new_table +EXPORT_SYMBOL_GPL vmlinux 0xd679a444 sysfs_add_link_to_group +EXPORT_SYMBOL_GPL vmlinux 0xd68609a7 iomap_read_folio +EXPORT_SYMBOL_GPL vmlinux 0xd6d65b7f security_kernel_post_read_file +EXPORT_SYMBOL_GPL vmlinux 0xd71d99fe serdev_device_close +EXPORT_SYMBOL_GPL vmlinux 0xd728c358 fscrypt_ioctl_remove_key +EXPORT_SYMBOL_GPL vmlinux 0xd7293ffc percpu_ref_reinit +EXPORT_SYMBOL_GPL vmlinux 0xd72ee47c kstrdup_quotable_file +EXPORT_SYMBOL_GPL vmlinux 0xd7343efc scm_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xd73e2603 sysfs_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xd7493a47 gen_pool_get +EXPORT_SYMBOL_GPL vmlinux 0xd76430db fs_kobj +EXPORT_SYMBOL_GPL vmlinux 0xd774957d mpi_write_to_sgl +EXPORT_SYMBOL_GPL vmlinux 0xd79f0aaf dummy_con +EXPORT_SYMBOL_GPL vmlinux 0xd7a5a4a9 kobject_uevent_env +EXPORT_SYMBOL_GPL vmlinux 0xd7ada496 get_user_pages_fast +EXPORT_SYMBOL_GPL vmlinux 0xd7adfd2a __platform_driver_probe +EXPORT_SYMBOL_GPL vmlinux 0xd7c27636 kern_mount +EXPORT_SYMBOL_GPL vmlinux 0xd7d23b43 dm_noflush_suspending +EXPORT_SYMBOL_GPL vmlinux 0xd7d7f2a7 devlink_port_health_reporter_destroy +EXPORT_SYMBOL_GPL vmlinux 0xd7dc7515 crc64_rocksoft +EXPORT_SYMBOL_GPL vmlinux 0xd7ee577b fscrypt_ioctl_get_nonce +EXPORT_SYMBOL_GPL vmlinux 0xd7fa3079 fsverity_file_open +EXPORT_SYMBOL_GPL vmlinux 0xd7ff85ad iocb_bio_iopoll +EXPORT_SYMBOL_GPL vmlinux 0xd7ffb4d9 md_account_bio +EXPORT_SYMBOL_GPL vmlinux 0xd811d6a2 pci_user_write_config_dword +EXPORT_SYMBOL_GPL vmlinux 0xd8229088 device_match_name +EXPORT_SYMBOL_GPL vmlinux 0xd824d3df crypto_shash_final +EXPORT_SYMBOL_GPL vmlinux 0xd84d35bd dax_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xd85ab0b9 perf_event_read_value +EXPORT_SYMBOL_GPL vmlinux 0xd8935c8a __irq_alloc_descs +EXPORT_SYMBOL_GPL vmlinux 0xd896ad31 md_rdev_clear +EXPORT_SYMBOL_GPL vmlinux 0xd8b0a137 mmu_notifier_range_update_to_read_only +EXPORT_SYMBOL_GPL vmlinux 0xd8bc2b70 security_kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0xd8c7a17e __vring_new_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xd8f10c72 alloc_page_buffers +EXPORT_SYMBOL_GPL vmlinux 0xd8fa8472 device_phy_find_device +EXPORT_SYMBOL_GPL vmlinux 0xd8fbb14d net_cls_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xd9060876 __traceiter_attach_device_to_domain +EXPORT_SYMBOL_GPL vmlinux 0xd906d15b __pci_hp_initialize +EXPORT_SYMBOL_GPL vmlinux 0xd916b4ed blk_steal_bios +EXPORT_SYMBOL_GPL vmlinux 0xd9181bdb wbc_account_cgroup_owner +EXPORT_SYMBOL_GPL vmlinux 0xd91dbd1f xdp_alloc_skb_bulk +EXPORT_SYMBOL_GPL vmlinux 0xd91ecf0a irq_chip_ack_parent +EXPORT_SYMBOL_GPL vmlinux 0xd926f732 blk_mq_start_stopped_hw_queue +EXPORT_SYMBOL_GPL vmlinux 0xd9287b2c gmap_mprotect_notify +EXPORT_SYMBOL_GPL vmlinux 0xd92ef192 security_kernel_post_load_data +EXPORT_SYMBOL_GPL vmlinux 0xd93132f4 add_disk_randomness +EXPORT_SYMBOL_GPL vmlinux 0xd933439e irq_domain_disconnect_hierarchy +EXPORT_SYMBOL_GPL vmlinux 0xd9633828 tcp_unregister_congestion_control +EXPORT_SYMBOL_GPL vmlinux 0xd96babb4 interval_tree_iter_next +EXPORT_SYMBOL_GPL vmlinux 0xd97c9c6d __traceiter_fdb_delete +EXPORT_SYMBOL_GPL vmlinux 0xd9920393 arch_make_page_accessible +EXPORT_SYMBOL_GPL vmlinux 0xd99e6078 pskb_put +EXPORT_SYMBOL_GPL vmlinux 0xd9b8cfda alarm_restart +EXPORT_SYMBOL_GPL vmlinux 0xd9c3f8ec fsverity_ioctl_read_metadata +EXPORT_SYMBOL_GPL vmlinux 0xd9d0a2af devlink_flash_update_timeout_notify +EXPORT_SYMBOL_GPL vmlinux 0xd9d7a7ce regmap_bulk_write +EXPORT_SYMBOL_GPL vmlinux 0xd9e24457 ring_buffer_peek +EXPORT_SYMBOL_GPL vmlinux 0xd9f56676 dev_forward_skb +EXPORT_SYMBOL_GPL vmlinux 0xd9ffb8b4 devlink_net +EXPORT_SYMBOL_GPL vmlinux 0xda0947de kmsg_dump_unregister +EXPORT_SYMBOL_GPL vmlinux 0xda12d543 pci_epc_get +EXPORT_SYMBOL_GPL vmlinux 0xda320d31 sfp_module_start +EXPORT_SYMBOL_GPL vmlinux 0xda3f3e8a isc_register +EXPORT_SYMBOL_GPL vmlinux 0xda4cf18f ipv6_dup_options +EXPORT_SYMBOL_GPL vmlinux 0xda6f01a5 sk_msg_trim +EXPORT_SYMBOL_GPL vmlinux 0xda8afbf6 sbitmap_queue_init_node +EXPORT_SYMBOL_GPL vmlinux 0xdaa7e154 debugfs_rename +EXPORT_SYMBOL_GPL vmlinux 0xdab5a1eb interval_tree_insert +EXPORT_SYMBOL_GPL vmlinux 0xdadc9280 vp_modern_get_driver_features +EXPORT_SYMBOL_GPL vmlinux 0xdadf734b sk_set_peek_off +EXPORT_SYMBOL_GPL vmlinux 0xdaf4dfb3 fb_mode_option +EXPORT_SYMBOL_GPL vmlinux 0xdaffae38 devm_bitmap_alloc +EXPORT_SYMBOL_GPL vmlinux 0xdb08ac64 bd_link_disk_holder +EXPORT_SYMBOL_GPL vmlinux 0xdb0e51ac fs_dax_get_by_bdev +EXPORT_SYMBOL_GPL vmlinux 0xdb7d2eee pci_debug_err_id +EXPORT_SYMBOL_GPL vmlinux 0xdb8a1b3f usermodehelper_read_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdb9b1a69 sysfs_remove_bin_file +EXPORT_SYMBOL_GPL vmlinux 0xdba32fd3 phy_package_join +EXPORT_SYMBOL_GPL vmlinux 0xdba57a87 dw_pcie_find_capability +EXPORT_SYMBOL_GPL vmlinux 0xdbc8ce3c fsnotify +EXPORT_SYMBOL_GPL vmlinux 0xdbcbfb40 skb_copy_ubufs +EXPORT_SYMBOL_GPL vmlinux 0xdbdb0e8b request_any_context_irq +EXPORT_SYMBOL_GPL vmlinux 0xdbe8d8a0 __SCK__tp_func_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xdbeeece6 tracepoint_probe_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdbf7cb70 mpi_get_nbits +EXPORT_SYMBOL_GPL vmlinux 0xdc0688d5 perf_event_pause +EXPORT_SYMBOL_GPL vmlinux 0xdc135d84 iommu_domain_alloc +EXPORT_SYMBOL_GPL vmlinux 0xdc1d0907 cleanup_srcu_struct +EXPORT_SYMBOL_GPL vmlinux 0xdc28053f pid_nr_ns +EXPORT_SYMBOL_GPL vmlinux 0xdc43bdc6 pci_vpd_find_ro_info_keyword +EXPORT_SYMBOL_GPL vmlinux 0xdc69193b synth_event_add_fields +EXPORT_SYMBOL_GPL vmlinux 0xdc6bac0d scsi_register_device_handler +EXPORT_SYMBOL_GPL vmlinux 0xdc841b74 misc_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdc951d6e device_for_each_child +EXPORT_SYMBOL_GPL vmlinux 0xdc9fa232 raw_notifier_chain_register +EXPORT_SYMBOL_GPL vmlinux 0xdcaa68b4 rtnl_delete_link +EXPORT_SYMBOL_GPL vmlinux 0xdcb2188b ncsi_unregister_dev +EXPORT_SYMBOL_GPL vmlinux 0xdcb738da __traceiter_napi_poll +EXPORT_SYMBOL_GPL vmlinux 0xdcba6151 kthread_flush_worker +EXPORT_SYMBOL_GPL vmlinux 0xdcc0a6b6 pci_hp_deregister +EXPORT_SYMBOL_GPL vmlinux 0xdcd31577 bus_for_each_drv +EXPORT_SYMBOL_GPL vmlinux 0xdcde984d finish_rcuwait +EXPORT_SYMBOL_GPL vmlinux 0xdcf68ef1 kthread_queue_delayed_work +EXPORT_SYMBOL_GPL vmlinux 0xdcfa7643 sk_clear_memalloc +EXPORT_SYMBOL_GPL vmlinux 0xdd0762df set_worker_desc +EXPORT_SYMBOL_GPL vmlinux 0xdd286d41 dma_max_mapping_size +EXPORT_SYMBOL_GPL vmlinux 0xdd2c540a __dev_change_net_namespace +EXPORT_SYMBOL_GPL vmlinux 0xdd2e18fa driver_create_file +EXPORT_SYMBOL_GPL vmlinux 0xdd450ef1 x509_free_certificate +EXPORT_SYMBOL_GPL vmlinux 0xdd5957a9 scsi_internal_device_block_nowait +EXPORT_SYMBOL_GPL vmlinux 0xdd626ee3 fuse_len_args +EXPORT_SYMBOL_GPL vmlinux 0xdd81d8f6 __SCK__tp_func_block_bio_complete +EXPORT_SYMBOL_GPL vmlinux 0xdd88df09 watchdog_init_timeout +EXPORT_SYMBOL_GPL vmlinux 0xdd8f8527 devlink_trap_policers_unregister +EXPORT_SYMBOL_GPL vmlinux 0xddbeeecc pci_lock_rescan_remove +EXPORT_SYMBOL_GPL vmlinux 0xddcf85e1 blk_rq_prep_clone +EXPORT_SYMBOL_GPL vmlinux 0xddd93577 fork_usermode_driver +EXPORT_SYMBOL_GPL vmlinux 0xddf32520 __tracepoint_powernv_throttle +EXPORT_SYMBOL_GPL vmlinux 0xde052e95 fanout_mutex +EXPORT_SYMBOL_GPL vmlinux 0xde31bf7e unregister_sys_off_handler +EXPORT_SYMBOL_GPL vmlinux 0xde43791a wait_for_stable_page +EXPORT_SYMBOL_GPL vmlinux 0xde4d67a7 kernfs_notify +EXPORT_SYMBOL_GPL vmlinux 0xde63abcf kernfs_get +EXPORT_SYMBOL_GPL vmlinux 0xde676640 mptcp_pm_get_subflows_max +EXPORT_SYMBOL_GPL vmlinux 0xde6f1851 TSS_checkhmac1 +EXPORT_SYMBOL_GPL vmlinux 0xde8295cf pci_epc_map_addr +EXPORT_SYMBOL_GPL vmlinux 0xde9380da fsnotify_init_mark +EXPORT_SYMBOL_GPL vmlinux 0xdee946eb fixed_phy_register_with_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xdee9f4dd fib_nl_newrule +EXPORT_SYMBOL_GPL vmlinux 0xdeeeb509 do_xdp_generic +EXPORT_SYMBOL_GPL vmlinux 0xdefd3581 crypto_unregister_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xdf0d4df4 crypto_stats_init +EXPORT_SYMBOL_GPL vmlinux 0xdf0f75c6 eventfd_signal +EXPORT_SYMBOL_GPL vmlinux 0xdf102946 rtnl_af_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdf2738bb cpu_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xdf2f3a09 tcp_sendpage_locked +EXPORT_SYMBOL_GPL vmlinux 0xdf4ac293 apply_to_existing_page_range +EXPORT_SYMBOL_GPL vmlinux 0xdf4bc67b mddev_resume +EXPORT_SYMBOL_GPL vmlinux 0xdf4c2ffe scsi_build_sense +EXPORT_SYMBOL_GPL vmlinux 0xdf50e243 pci_dev_trylock +EXPORT_SYMBOL_GPL vmlinux 0xdf53eb90 iptunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0xdf53ef52 tty_set_ldisc +EXPORT_SYMBOL_GPL vmlinux 0xdf636506 fb_deferred_io_release +EXPORT_SYMBOL_GPL vmlinux 0xdf67de22 irq_get_irq_data +EXPORT_SYMBOL_GPL vmlinux 0xdf801fe2 debugfs_create_symlink +EXPORT_SYMBOL_GPL vmlinux 0xdf861903 phy_gbit_all_ports_features +EXPORT_SYMBOL_GPL vmlinux 0xdf882e90 dw_pcie_ep_init +EXPORT_SYMBOL_GPL vmlinux 0xdf9bc82b sbitmap_any_bit_set +EXPORT_SYMBOL_GPL vmlinux 0xdfa79328 class_interface_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdfc0246e iommu_device_sysfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xdfc43ba9 transport_class_unregister +EXPORT_SYMBOL_GPL vmlinux 0xdfe4eaf4 register_kretprobe +EXPORT_SYMBOL_GPL vmlinux 0xdff192e2 devm_kasprintf_strarray +EXPORT_SYMBOL_GPL vmlinux 0xdff99e9b mddev_init +EXPORT_SYMBOL_GPL vmlinux 0xdffd3161 __clocksource_update_freq_scale +EXPORT_SYMBOL_GPL vmlinux 0xe007f4a9 device_property_read_u32_array +EXPORT_SYMBOL_GPL vmlinux 0xe00becbf xfrm_audit_state_replay_overflow +EXPORT_SYMBOL_GPL vmlinux 0xe0420867 sched_set_normal +EXPORT_SYMBOL_GPL vmlinux 0xe05e2f85 nexthop_free_rcu +EXPORT_SYMBOL_GPL vmlinux 0xe06ad0bc iommu_device_sysfs_add +EXPORT_SYMBOL_GPL vmlinux 0xe0833863 udp_bpf_update_proto +EXPORT_SYMBOL_GPL vmlinux 0xe0839bdd perf_pmu_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe0952475 tty_mode_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xe0ad0e07 disk_alloc_independent_access_ranges +EXPORT_SYMBOL_GPL vmlinux 0xe0af4abc nf_checksum_partial +EXPORT_SYMBOL_GPL vmlinux 0xe0cea8a3 gpiod_set_consumer_name +EXPORT_SYMBOL_GPL vmlinux 0xe0f93464 sysfs_rename_link_ns +EXPORT_SYMBOL_GPL vmlinux 0xe11e7555 dev_set_name +EXPORT_SYMBOL_GPL vmlinux 0xe149c4a3 sk_msg_free_nocharge +EXPORT_SYMBOL_GPL vmlinux 0xe1775ee7 dm_get_reserved_bio_based_ios +EXPORT_SYMBOL_GPL vmlinux 0xe177997c pci_epf_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe186c9fe mddev_unlock +EXPORT_SYMBOL_GPL vmlinux 0xe1961650 __mdiobus_modify_changed +EXPORT_SYMBOL_GPL vmlinux 0xe1c87a2f kernel_can_power_off +EXPORT_SYMBOL_GPL vmlinux 0xe1e2184e virtqueue_get_used_addr +EXPORT_SYMBOL_GPL vmlinux 0xe1f37437 ip6_datagram_connect +EXPORT_SYMBOL_GPL vmlinux 0xe233762a input_event_from_user +EXPORT_SYMBOL_GPL vmlinux 0xe24e2773 gpiod_set_config +EXPORT_SYMBOL_GPL vmlinux 0xe258d4da mptcp_pm_get_local_addr_max +EXPORT_SYMBOL_GPL vmlinux 0xe260adef pci_set_pcie_reset_state +EXPORT_SYMBOL_GPL vmlinux 0xe2700c12 bus_sort_breadthfirst +EXPORT_SYMBOL_GPL vmlinux 0xe2793c73 tty_buffer_unlock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xe2997ce5 tty_port_tty_wakeup +EXPORT_SYMBOL_GPL vmlinux 0xe29ec5f0 crypto_grab_akcipher +EXPORT_SYMBOL_GPL vmlinux 0xe2b3207a unregister_switchdev_notifier +EXPORT_SYMBOL_GPL vmlinux 0xe2bb0fc5 crypto_comp_compress +EXPORT_SYMBOL_GPL vmlinux 0xe2f21bc1 platform_device_register +EXPORT_SYMBOL_GPL vmlinux 0xe307205a bprintf +EXPORT_SYMBOL_GPL vmlinux 0xe3074ef9 iommu_unregister_device_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0xe3176fae sbitmap_resize +EXPORT_SYMBOL_GPL vmlinux 0xe31d93a3 __cookie_v6_init_sequence +EXPORT_SYMBOL_GPL vmlinux 0xe325380a blk_queue_required_elevator_features +EXPORT_SYMBOL_GPL vmlinux 0xe3488a48 fscrypt_mergeable_bio_bh +EXPORT_SYMBOL_GPL vmlinux 0xe3698718 device_create_file +EXPORT_SYMBOL_GPL vmlinux 0xe37f5757 gpiochip_get_data +EXPORT_SYMBOL_GPL vmlinux 0xe3840e18 secure_ipv4_port_ephemeral +EXPORT_SYMBOL_GPL vmlinux 0xe3b09712 kprobe_event_delete +EXPORT_SYMBOL_GPL vmlinux 0xe3d67d72 __vfs_setxattr_locked +EXPORT_SYMBOL_GPL vmlinux 0xe3d724c3 __udp_gso_segment +EXPORT_SYMBOL_GPL vmlinux 0xe3e423ac iommu_group_release_dma_owner +EXPORT_SYMBOL_GPL vmlinux 0xe40bb23e devlink_health_reporter_priv +EXPORT_SYMBOL_GPL vmlinux 0xe41fbf5d query_asymmetric_key +EXPORT_SYMBOL_GPL vmlinux 0xe41fce97 kvm_gfn_to_hva_cache_init +EXPORT_SYMBOL_GPL vmlinux 0xe451d2f3 xas_init_marks +EXPORT_SYMBOL_GPL vmlinux 0xe4529cd3 class_compat_create_link +EXPORT_SYMBOL_GPL vmlinux 0xe45f2fe2 debugfs_create_ulong +EXPORT_SYMBOL_GPL vmlinux 0xe4971ade tracing_alloc_snapshot +EXPORT_SYMBOL_GPL vmlinux 0xe49b7dd1 bpf_prog_create +EXPORT_SYMBOL_GPL vmlinux 0xe4a95266 blocking_notifier_chain_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe4b064f9 pcie_link_speed +EXPORT_SYMBOL_GPL vmlinux 0xe4b4bd8f pkcs7_parse_message +EXPORT_SYMBOL_GPL vmlinux 0xe4b818c3 phy_speed_to_str +EXPORT_SYMBOL_GPL vmlinux 0xe4c7af1a raw_v6_hashinfo +EXPORT_SYMBOL_GPL vmlinux 0xe4c9dfd5 virtqueue_enable_cb +EXPORT_SYMBOL_GPL vmlinux 0xe4e48b12 swphy_validate_state +EXPORT_SYMBOL_GPL vmlinux 0xe50c5cf1 pci_assign_unassigned_bus_resources +EXPORT_SYMBOL_GPL vmlinux 0xe519954b iomap_release_folio +EXPORT_SYMBOL_GPL vmlinux 0xe53a6a05 tcp_is_ulp_esp +EXPORT_SYMBOL_GPL vmlinux 0xe54e31a4 sch_frag_xmit_hook +EXPORT_SYMBOL_GPL vmlinux 0xe5510e82 platform_device_del +EXPORT_SYMBOL_GPL vmlinux 0xe557b6b1 __traceiter_pelt_irq_tp +EXPORT_SYMBOL_GPL vmlinux 0xe56cc888 iommu_attach_device +EXPORT_SYMBOL_GPL vmlinux 0xe5883bd9 class_compat_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe59ca0fe bpf_prog_destroy +EXPORT_SYMBOL_GPL vmlinux 0xe5ab96ed irq_domain_simple_ops +EXPORT_SYMBOL_GPL vmlinux 0xe5afdc9a blkdev_zone_mgmt +EXPORT_SYMBOL_GPL vmlinux 0xe5cfdbfa fib_rules_register +EXPORT_SYMBOL_GPL vmlinux 0xe5ea741c fwnode_get_nth_parent +EXPORT_SYMBOL_GPL vmlinux 0xe5f2d2bb get_pid_task +EXPORT_SYMBOL_GPL vmlinux 0xe60a5e8d pids_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xe618db05 iomap_invalidate_folio +EXPORT_SYMBOL_GPL vmlinux 0xe628bb9f phy_fibre_port_array +EXPORT_SYMBOL_GPL vmlinux 0xe64dc1f4 xas_find_conflict +EXPORT_SYMBOL_GPL vmlinux 0xe6564f72 __audit_inode_child +EXPORT_SYMBOL_GPL vmlinux 0xe67344d9 fixed_phy_register +EXPORT_SYMBOL_GPL vmlinux 0xe674c573 gmap_shadow +EXPORT_SYMBOL_GPL vmlinux 0xe688edca io_uring_cmd_done +EXPORT_SYMBOL_GPL vmlinux 0xe6b014e8 crypto_stats_kpp_compute_shared_secret +EXPORT_SYMBOL_GPL vmlinux 0xe6e20c70 skb_send_sock_locked +EXPORT_SYMBOL_GPL vmlinux 0xe6e40502 rcu_get_gp_seq +EXPORT_SYMBOL_GPL vmlinux 0xe6e6b684 md_new_event +EXPORT_SYMBOL_GPL vmlinux 0xe6e8bef5 kill_device +EXPORT_SYMBOL_GPL vmlinux 0xe719b935 vfs_submount +EXPORT_SYMBOL_GPL vmlinux 0xe72e844b __rht_bucket_nested +EXPORT_SYMBOL_GPL vmlinux 0xe753b68d devlink_fmsg_arr_pair_nest_end +EXPORT_SYMBOL_GPL vmlinux 0xe7553ba5 __bio_add_page +EXPORT_SYMBOL_GPL vmlinux 0xe769232e sprint_symbol_no_offset +EXPORT_SYMBOL_GPL vmlinux 0xe783e261 sysfs_emit +EXPORT_SYMBOL_GPL vmlinux 0xe7849a53 regcache_sync_region +EXPORT_SYMBOL_GPL vmlinux 0xe7906796 __traceiter_br_fdb_add +EXPORT_SYMBOL_GPL vmlinux 0xe79bf0c4 klp_shadow_get +EXPORT_SYMBOL_GPL vmlinux 0xe7aa9865 blkg_prfill_rwstat +EXPORT_SYMBOL_GPL vmlinux 0xe7b718df chsc_determine_channel_path_desc +EXPORT_SYMBOL_GPL vmlinux 0xe7bd7d83 css_driver_unregister +EXPORT_SYMBOL_GPL vmlinux 0xe7c9d18d pci_msi_create_irq_domain +EXPORT_SYMBOL_GPL vmlinux 0xe7d6d2d4 filter_match_preds +EXPORT_SYMBOL_GPL vmlinux 0xe7e977d2 linear_hugepage_index +EXPORT_SYMBOL_GPL vmlinux 0xe7f2bc62 debugfs_create_x8 +EXPORT_SYMBOL_GPL vmlinux 0xe7fb8539 bpf_trace_run3 +EXPORT_SYMBOL_GPL vmlinux 0xe7fc47f4 br_ip6_fragment +EXPORT_SYMBOL_GPL vmlinux 0xe8300fde iomap_fiemap +EXPORT_SYMBOL_GPL vmlinux 0xe83a0ffe lwtunnel_fill_encap +EXPORT_SYMBOL_GPL vmlinux 0xe856106d bpf_trace_run1 +EXPORT_SYMBOL_GPL vmlinux 0xe8715bd0 percpu_free_rwsem +EXPORT_SYMBOL_GPL vmlinux 0xe88115a9 dm_table_device_name +EXPORT_SYMBOL_GPL vmlinux 0xe88168d4 debugfs_create_blob +EXPORT_SYMBOL_GPL vmlinux 0xe8889761 crypto_unregister_aeads +EXPORT_SYMBOL_GPL vmlinux 0xe89e6585 set_cpus_allowed_ptr +EXPORT_SYMBOL_GPL vmlinux 0xe8ab5923 seg6_do_srh_inline +EXPORT_SYMBOL_GPL vmlinux 0xe8c0065d memory_group_register_static +EXPORT_SYMBOL_GPL vmlinux 0xe8d60a80 srcu_init_notifier_head +EXPORT_SYMBOL_GPL vmlinux 0xe8e7f5be thp_get_unmapped_area +EXPORT_SYMBOL_GPL vmlinux 0xe8f77567 sbitmap_queue_resize +EXPORT_SYMBOL_GPL vmlinux 0xe9073dc7 tty_register_device_attr +EXPORT_SYMBOL_GPL vmlinux 0xe911df29 eventfd_ctx_do_read +EXPORT_SYMBOL_GPL vmlinux 0xe920731c platform_device_add_resources +EXPORT_SYMBOL_GPL vmlinux 0xe92ad011 put_pid_ns +EXPORT_SYMBOL_GPL vmlinux 0xe92b7630 pci_domain_nr +EXPORT_SYMBOL_GPL vmlinux 0xe93e49c3 devres_free +EXPORT_SYMBOL_GPL vmlinux 0xe942ccd2 lwtstate_free +EXPORT_SYMBOL_GPL vmlinux 0xe96a0441 set_task_ioprio +EXPORT_SYMBOL_GPL vmlinux 0xe999dda7 firmware_kobj +EXPORT_SYMBOL_GPL vmlinux 0xe99bec62 __traceiter_wbc_writepage +EXPORT_SYMBOL_GPL vmlinux 0xe9b84f5a dw_pcie_ep_linkup +EXPORT_SYMBOL_GPL vmlinux 0xe9c8a9d1 ip_icmp_error_rfc4884 +EXPORT_SYMBOL_GPL vmlinux 0xe9d247be rt_mutex_trylock +EXPORT_SYMBOL_GPL vmlinux 0xe9eebe1f __kvm_set_memory_region +EXPORT_SYMBOL_GPL vmlinux 0xe9f5116f rcu_exp_jiffies_till_stall_check +EXPORT_SYMBOL_GPL vmlinux 0xea018bbb mpi_test_bit +EXPORT_SYMBOL_GPL vmlinux 0xea066330 rhashtable_walk_enter +EXPORT_SYMBOL_GPL vmlinux 0xea0c0fa8 sysfs_break_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xea124bd1 gcd +EXPORT_SYMBOL_GPL vmlinux 0xea29eb1a blk_mq_wait_quiesce_done +EXPORT_SYMBOL_GPL vmlinux 0xea327021 proc_create_net_data +EXPORT_SYMBOL_GPL vmlinux 0xea38036f ring_buffer_entries +EXPORT_SYMBOL_GPL vmlinux 0xea3a23f3 public_key_free +EXPORT_SYMBOL_GPL vmlinux 0xea7aede1 hvc_alloc +EXPORT_SYMBOL_GPL vmlinux 0xea937b9a __devm_alloc_percpu +EXPORT_SYMBOL_GPL vmlinux 0xea9ac050 inet_ehash_locks_alloc +EXPORT_SYMBOL_GPL vmlinux 0xeaa45e0b crypto_stats_ahash_update +EXPORT_SYMBOL_GPL vmlinux 0xeab4bfe9 irq_domain_alloc_irqs_parent +EXPORT_SYMBOL_GPL vmlinux 0xeac4bdf1 __mmu_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xeac524fc fuse_do_ioctl +EXPORT_SYMBOL_GPL vmlinux 0xead035ee __tracepoint_fib6_table_lookup +EXPORT_SYMBOL_GPL vmlinux 0xead3e41b __traceiter_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xeae0f496 clean_acked_data_flush +EXPORT_SYMBOL_GPL vmlinux 0xeb317ee6 __traceiter_unmap +EXPORT_SYMBOL_GPL vmlinux 0xeb41becf driver_remove_file +EXPORT_SYMBOL_GPL vmlinux 0xeb496f37 __blk_req_zone_write_unlock +EXPORT_SYMBOL_GPL vmlinux 0xeb6325b9 devres_open_group +EXPORT_SYMBOL_GPL vmlinux 0xeb69e625 hvc_poll +EXPORT_SYMBOL_GPL vmlinux 0xeb6c670c bio_iov_iter_get_pages +EXPORT_SYMBOL_GPL vmlinux 0xeb6f82ac ftrace_set_filter_ips +EXPORT_SYMBOL_GPL vmlinux 0xeb78a360 input_ff_upload +EXPORT_SYMBOL_GPL vmlinux 0xeb81098c sk_msg_recvmsg +EXPORT_SYMBOL_GPL vmlinux 0xeb9a96e1 dma_get_required_mask +EXPORT_SYMBOL_GPL vmlinux 0xebdf4491 pci_walk_bus +EXPORT_SYMBOL_GPL vmlinux 0xec0246e5 __pneigh_lookup +EXPORT_SYMBOL_GPL vmlinux 0xec13c83c si_swapinfo +EXPORT_SYMBOL_GPL vmlinux 0xec18300e perf_event_period +EXPORT_SYMBOL_GPL vmlinux 0xec371532 tcp_ca_openreq_child +EXPORT_SYMBOL_GPL vmlinux 0xec3732e8 skcipher_walk_async +EXPORT_SYMBOL_GPL vmlinux 0xec98b620 dev_get_tstats64 +EXPORT_SYMBOL_GPL vmlinux 0xeccd5eb1 attribute_container_classdev_to_container +EXPORT_SYMBOL_GPL vmlinux 0xed08cabd __xas_prev +EXPORT_SYMBOL_GPL vmlinux 0xed1108a4 devlink_to_dev +EXPORT_SYMBOL_GPL vmlinux 0xed188358 tty_get_pgrp +EXPORT_SYMBOL_GPL vmlinux 0xed2d9bee xas_get_mark +EXPORT_SYMBOL_GPL vmlinux 0xed48a163 __zpci_store_block +EXPORT_SYMBOL_GPL vmlinux 0xed64191b class_create_file_ns +EXPORT_SYMBOL_GPL vmlinux 0xed679bb5 regmap_field_bulk_alloc +EXPORT_SYMBOL_GPL vmlinux 0xed77928c crypto_stats_akcipher_encrypt +EXPORT_SYMBOL_GPL vmlinux 0xed7c39e5 vring_transport_features +EXPORT_SYMBOL_GPL vmlinux 0xed8c384b netdev_xmit_skip_txqueue +EXPORT_SYMBOL_GPL vmlinux 0xed9051e3 acct_bioset_init +EXPORT_SYMBOL_GPL vmlinux 0xed90d898 iomap_seek_hole +EXPORT_SYMBOL_GPL vmlinux 0xed97b156 irq_domain_set_hwirq_and_chip +EXPORT_SYMBOL_GPL vmlinux 0xedae9ee9 sk_set_memalloc +EXPORT_SYMBOL_GPL vmlinux 0xedb9db16 kvm_vcpu_map +EXPORT_SYMBOL_GPL vmlinux 0xedf55abb zs_malloc +EXPORT_SYMBOL_GPL vmlinux 0xee06c587 fat_dir_empty +EXPORT_SYMBOL_GPL vmlinux 0xee1f5126 __tracepoint_neigh_timer_handler +EXPORT_SYMBOL_GPL vmlinux 0xee284d73 pci_epc_multi_mem_init +EXPORT_SYMBOL_GPL vmlinux 0xee3451c1 pktgen_xfrm_outer_mode_output +EXPORT_SYMBOL_GPL vmlinux 0xee38ef57 register_switchdev_blocking_notifier +EXPORT_SYMBOL_GPL vmlinux 0xee61b493 serdev_device_set_tiocm +EXPORT_SYMBOL_GPL vmlinux 0xee6c633a devices_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xee8198c2 skcipher_walk_complete +EXPORT_SYMBOL_GPL vmlinux 0xeea834c0 kprobe_event_cmd_init +EXPORT_SYMBOL_GPL vmlinux 0xeec4029b sysfs_unbreak_active_protection +EXPORT_SYMBOL_GPL vmlinux 0xeedd987e phy_10gbit_features_array +EXPORT_SYMBOL_GPL vmlinux 0xef050d9f device_initialize +EXPORT_SYMBOL_GPL vmlinux 0xef13106c nr_threads +EXPORT_SYMBOL_GPL vmlinux 0xef131cb9 __iomap_dio_rw +EXPORT_SYMBOL_GPL vmlinux 0xef274c46 preempt_notifier_register +EXPORT_SYMBOL_GPL vmlinux 0xef442724 sbitmap_prepare_to_wait +EXPORT_SYMBOL_GPL vmlinux 0xef464c28 getboottime64 +EXPORT_SYMBOL_GPL vmlinux 0xef549679 bpf_trace_run5 +EXPORT_SYMBOL_GPL vmlinux 0xef6c3f70 round_jiffies_up_relative +EXPORT_SYMBOL_GPL vmlinux 0xef70eb7e ring_buffer_iter_advance +EXPORT_SYMBOL_GPL vmlinux 0xef7d6224 pci_slots_kset +EXPORT_SYMBOL_GPL vmlinux 0xefa2c27d register_tracepoint_module_notifier +EXPORT_SYMBOL_GPL vmlinux 0xefab9f3b ipv6_stub +EXPORT_SYMBOL_GPL vmlinux 0xefb6a1a5 regmap_bulk_read +EXPORT_SYMBOL_GPL vmlinux 0xefc62b6a trace_get_event_file +EXPORT_SYMBOL_GPL vmlinux 0xefdc97d5 sfp_bus_add_upstream +EXPORT_SYMBOL_GPL vmlinux 0xefef182b bsg_register_queue +EXPORT_SYMBOL_GPL vmlinux 0xf00f77fd noop_direct_IO +EXPORT_SYMBOL_GPL vmlinux 0xf026ec40 ip_route_output_key_hash +EXPORT_SYMBOL_GPL vmlinux 0xf036dc4a debugfs_attr_read +EXPORT_SYMBOL_GPL vmlinux 0xf0486277 fuse_file_poll +EXPORT_SYMBOL_GPL vmlinux 0xf04f291d dax_zero_range +EXPORT_SYMBOL_GPL vmlinux 0xf05a52fe asn1_encode_oid +EXPORT_SYMBOL_GPL vmlinux 0xf05fbf09 pci_pio_to_address +EXPORT_SYMBOL_GPL vmlinux 0xf080db15 xas_create_range +EXPORT_SYMBOL_GPL vmlinux 0xf0898d7f kvm_put_kvm +EXPORT_SYMBOL_GPL vmlinux 0xf089b612 fscrypt_symlink_getattr +EXPORT_SYMBOL_GPL vmlinux 0xf0910075 sfp_bus_del_upstream +EXPORT_SYMBOL_GPL vmlinux 0xf0ac38e5 kernel_read_file +EXPORT_SYMBOL_GPL vmlinux 0xf0ad1283 device_store_ulong +EXPORT_SYMBOL_GPL vmlinux 0xf0d8cce1 kobject_create_and_add +EXPORT_SYMBOL_GPL vmlinux 0xf0f2d8f1 software_node_unregister_nodes +EXPORT_SYMBOL_GPL vmlinux 0xf0fc66b4 device_del +EXPORT_SYMBOL_GPL vmlinux 0xf101c303 device_create_managed_software_node +EXPORT_SYMBOL_GPL vmlinux 0xf102c0de tty_buffer_lock_exclusive +EXPORT_SYMBOL_GPL vmlinux 0xf10e5b15 srcu_batches_completed +EXPORT_SYMBOL_GPL vmlinux 0xf1139217 find_get_pid +EXPORT_SYMBOL_GPL vmlinux 0xf126b288 proc_douintvec_minmax +EXPORT_SYMBOL_GPL vmlinux 0xf14317ef devl_rate_nodes_destroy +EXPORT_SYMBOL_GPL vmlinux 0xf144d2be rtnl_af_register +EXPORT_SYMBOL_GPL vmlinux 0xf14ecc3d crypto_mod_put +EXPORT_SYMBOL_GPL vmlinux 0xf167aa0c crypto_default_rng +EXPORT_SYMBOL_GPL vmlinux 0xf184d189 kernel_power_off +EXPORT_SYMBOL_GPL vmlinux 0xf198d634 blk_queue_max_zone_append_sectors +EXPORT_SYMBOL_GPL vmlinux 0xf19e202f devm_gpiod_put_array +EXPORT_SYMBOL_GPL vmlinux 0xf1b918d3 bpf_trace_run2 +EXPORT_SYMBOL_GPL vmlinux 0xf1e4c4ba device_match_of_node +EXPORT_SYMBOL_GPL vmlinux 0xf1f2f6cb tty_ldisc_ref +EXPORT_SYMBOL_GPL vmlinux 0xf1fd5267 posix_acl_create +EXPORT_SYMBOL_GPL vmlinux 0xf21b4e2a posix_acl_access_xattr_handler +EXPORT_SYMBOL_GPL vmlinux 0xf21e1f9b disable_percpu_irq +EXPORT_SYMBOL_GPL vmlinux 0xf227860e pci_user_read_config_byte +EXPORT_SYMBOL_GPL vmlinux 0xf23ac2a0 pci_d3cold_enable +EXPORT_SYMBOL_GPL vmlinux 0xf2501d50 __traceiter_tcp_bad_csum +EXPORT_SYMBOL_GPL vmlinux 0xf2662931 crypto_unregister_acomps +EXPORT_SYMBOL_GPL vmlinux 0xf27809d2 class_dev_iter_init +EXPORT_SYMBOL_GPL vmlinux 0xf28404cf devlink_dpipe_header_ipv6 +EXPORT_SYMBOL_GPL vmlinux 0xf2967796 ring_buffer_record_on +EXPORT_SYMBOL_GPL vmlinux 0xf2b2e360 pkcs7_get_content_data +EXPORT_SYMBOL_GPL vmlinux 0xf2b33cb7 memory_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xf2b393ea __fscrypt_prepare_link +EXPORT_SYMBOL_GPL vmlinux 0xf2ce740c relay_subbufs_consumed +EXPORT_SYMBOL_GPL vmlinux 0xf2ce862e mmu_notifier_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf2d00767 ima_file_check +EXPORT_SYMBOL_GPL vmlinux 0xf2d8b6b2 virtio_require_restricted_mem_acc +EXPORT_SYMBOL_GPL vmlinux 0xf2e8dae5 devm_device_remove_groups +EXPORT_SYMBOL_GPL vmlinux 0xf2f68aa7 blk_queue_rq_timeout +EXPORT_SYMBOL_GPL vmlinux 0xf2fb61bd vprintk_default +EXPORT_SYMBOL_GPL vmlinux 0xf2fc9248 do_unregister_con_driver +EXPORT_SYMBOL_GPL vmlinux 0xf311e156 key_being_used_for +EXPORT_SYMBOL_GPL vmlinux 0xf31b3fd1 workqueue_set_max_active +EXPORT_SYMBOL_GPL vmlinux 0xf321cffe ip6_redirect +EXPORT_SYMBOL_GPL vmlinux 0xf352023f memory_cgrp_subsys_enabled_key +EXPORT_SYMBOL_GPL vmlinux 0xf3797506 mpi_ec_deinit +EXPORT_SYMBOL_GPL vmlinux 0xf37b583c gpiod_set_value_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xf3808cb1 get_state_synchronize_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf3cb7676 platform_msi_domain_free_irqs +EXPORT_SYMBOL_GPL vmlinux 0xf3cf86f4 pci_user_write_config_word +EXPORT_SYMBOL_GPL vmlinux 0xf3d28ac7 pingv6_ops +EXPORT_SYMBOL_GPL vmlinux 0xf3ed98e9 evm_verifyxattr +EXPORT_SYMBOL_GPL vmlinux 0xf42ab557 kernfs_put +EXPORT_SYMBOL_GPL vmlinux 0xf4374122 devlink_dpipe_action_put +EXPORT_SYMBOL_GPL vmlinux 0xf466d537 blk_mq_virtio_map_queues +EXPORT_SYMBOL_GPL vmlinux 0xf4689d50 linkmode_set_pause +EXPORT_SYMBOL_GPL vmlinux 0xf473b3a7 perf_event_refresh +EXPORT_SYMBOL_GPL vmlinux 0xf47654df irq_check_status_bit +EXPORT_SYMBOL_GPL vmlinux 0xf4a00349 __tracepoint_block_rq_insert +EXPORT_SYMBOL_GPL vmlinux 0xf4af35c2 rcu_gp_is_normal +EXPORT_SYMBOL_GPL vmlinux 0xf4ed648b unregister_kprobe +EXPORT_SYMBOL_GPL vmlinux 0xf50261a3 __traceiter_detach_device_from_domain +EXPORT_SYMBOL_GPL vmlinux 0xf505bbf0 strp_data_ready +EXPORT_SYMBOL_GPL vmlinux 0xf50e192e platform_device_unregister +EXPORT_SYMBOL_GPL vmlinux 0xf513aa50 clockevents_config_and_register +EXPORT_SYMBOL_GPL vmlinux 0xf515821d phy_basic_features +EXPORT_SYMBOL_GPL vmlinux 0xf5223683 blk_crypto_evict_key +EXPORT_SYMBOL_GPL vmlinux 0xf536954b anon_inode_getfile +EXPORT_SYMBOL_GPL vmlinux 0xf546212b kset_find_obj +EXPORT_SYMBOL_GPL vmlinux 0xf54bd49b lcm +EXPORT_SYMBOL_GPL vmlinux 0xf553db56 skcipher_walk_virt +EXPORT_SYMBOL_GPL vmlinux 0xf5792e17 kpp_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xf5a067bf iommu_group_dma_owner_claimed +EXPORT_SYMBOL_GPL vmlinux 0xf5a1669c simple_attr_write_signed +EXPORT_SYMBOL_GPL vmlinux 0xf5a691cd invalidate_bh_lrus +EXPORT_SYMBOL_GPL vmlinux 0xf5c3174f bpf_offload_dev_match +EXPORT_SYMBOL_GPL vmlinux 0xf5e3fee9 fuse_fill_super_common +EXPORT_SYMBOL_GPL vmlinux 0xf5f370e0 async_schedule_node +EXPORT_SYMBOL_GPL vmlinux 0xf5fff299 vp_legacy_set_status +EXPORT_SYMBOL_GPL vmlinux 0xf61f3c12 platform_device_register_full +EXPORT_SYMBOL_GPL vmlinux 0xf62c5ae7 scsi_target_block +EXPORT_SYMBOL_GPL vmlinux 0xf64e8d39 vring_del_virtqueue +EXPORT_SYMBOL_GPL vmlinux 0xf657be8f __iowrite32_copy +EXPORT_SYMBOL_GPL vmlinux 0xf6632a7e __fscrypt_prepare_setattr +EXPORT_SYMBOL_GPL vmlinux 0xf6721978 virtqueue_get_avail_addr +EXPORT_SYMBOL_GPL vmlinux 0xf685fd60 device_link_del +EXPORT_SYMBOL_GPL vmlinux 0xf68c9498 l3mdev_master_ifindex_rcu +EXPORT_SYMBOL_GPL vmlinux 0xf698f34e tcp_get_syncookie_mss +EXPORT_SYMBOL_GPL vmlinux 0xf6ab5fe2 xdp_return_frame +EXPORT_SYMBOL_GPL vmlinux 0xf6beee37 __SCK__tp_func_pelt_cfs_tp +EXPORT_SYMBOL_GPL vmlinux 0xf6c296b2 crc64_rocksoft_update +EXPORT_SYMBOL_GPL vmlinux 0xf6c8dc62 cpu_hotplug_enable +EXPORT_SYMBOL_GPL vmlinux 0xf6d272c7 tcp_done +EXPORT_SYMBOL_GPL vmlinux 0xf6d768c3 proc_create_net_single_write +EXPORT_SYMBOL_GPL vmlinux 0xf6f2c6f3 fwnode_get_named_gpiod +EXPORT_SYMBOL_GPL vmlinux 0xf70e0f2f inet6_csk_update_pmtu +EXPORT_SYMBOL_GPL vmlinux 0xf70fd8b2 regmap_exit +EXPORT_SYMBOL_GPL vmlinux 0xf72a65ea tty_get_char_size +EXPORT_SYMBOL_GPL vmlinux 0xf7455c16 input_event_to_user +EXPORT_SYMBOL_GPL vmlinux 0xf749debc md5_zero_message_hash +EXPORT_SYMBOL_GPL vmlinux 0xf74bb274 mod_delayed_work_on +EXPORT_SYMBOL_GPL vmlinux 0xf74e7c93 jump_label_rate_limit +EXPORT_SYMBOL_GPL vmlinux 0xf74f210b __nf_ip6_route +EXPORT_SYMBOL_GPL vmlinux 0xf77af2be kvm_release_page_dirty +EXPORT_SYMBOL_GPL vmlinux 0xf782fb07 percpu_ref_switch_to_atomic_sync +EXPORT_SYMBOL_GPL vmlinux 0xf7875392 crypto_unregister_templates +EXPORT_SYMBOL_GPL vmlinux 0xf7a09fdd regmap_get_raw_write_max +EXPORT_SYMBOL_GPL vmlinux 0xf7bc95b0 devlink_fmsg_pair_nest_start +EXPORT_SYMBOL_GPL vmlinux 0xf7bd60e3 pci_load_and_free_saved_state +EXPORT_SYMBOL_GPL vmlinux 0xf7d23694 inet_twsk_purge +EXPORT_SYMBOL_GPL vmlinux 0xf7de8124 ccw_device_set_timeout +EXPORT_SYMBOL_GPL vmlinux 0xf7f021cf class_interface_register +EXPORT_SYMBOL_GPL vmlinux 0xf7ff825d regcache_mark_dirty +EXPORT_SYMBOL_GPL vmlinux 0xf81994a2 hrtimer_cancel +EXPORT_SYMBOL_GPL vmlinux 0xf82f3657 work_on_cpu +EXPORT_SYMBOL_GPL vmlinux 0xf83d66e1 devlink_dpipe_entry_ctx_close +EXPORT_SYMBOL_GPL vmlinux 0xf83e946e pci_iov_vf_id +EXPORT_SYMBOL_GPL vmlinux 0xf8461f67 sock_prot_inuse_get +EXPORT_SYMBOL_GPL vmlinux 0xf84d6b4c bpf_trace_run12 +EXPORT_SYMBOL_GPL vmlinux 0xf84fdf36 iomap_finish_ioends +EXPORT_SYMBOL_GPL vmlinux 0xf852d746 __tracepoint_tcp_send_reset +EXPORT_SYMBOL_GPL vmlinux 0xf855ccce __zpci_store +EXPORT_SYMBOL_GPL vmlinux 0xf85fb5e3 blk_mq_flush_busy_ctxs +EXPORT_SYMBOL_GPL vmlinux 0xf8620649 blk_trace_remove +EXPORT_SYMBOL_GPL vmlinux 0xf8638fb6 pci_bridge_secondary_bus_reset +EXPORT_SYMBOL_GPL vmlinux 0xf871a532 report_iommu_fault +EXPORT_SYMBOL_GPL vmlinux 0xf883bf93 crypto_dh_key_len +EXPORT_SYMBOL_GPL vmlinux 0xf886084c vp_legacy_remove +EXPORT_SYMBOL_GPL vmlinux 0xf89d2b93 input_ff_create +EXPORT_SYMBOL_GPL vmlinux 0xf8b0b08f firmware_request_platform +EXPORT_SYMBOL_GPL vmlinux 0xf8c3dc85 inet_getpeer +EXPORT_SYMBOL_GPL vmlinux 0xf8c7cd7b __regmap_init +EXPORT_SYMBOL_GPL vmlinux 0xf8e90fc2 badblocks_store +EXPORT_SYMBOL_GPL vmlinux 0xf8f598b3 vfs_truncate +EXPORT_SYMBOL_GPL vmlinux 0xf9012551 skb_segment +EXPORT_SYMBOL_GPL vmlinux 0xf9093f5b __tracepoint_cpu_frequency +EXPORT_SYMBOL_GPL vmlinux 0xf9516b7a iommu_set_fault_handler +EXPORT_SYMBOL_GPL vmlinux 0xf95322f4 kthread_parkme +EXPORT_SYMBOL_GPL vmlinux 0xf96ecc78 alarm_cancel +EXPORT_SYMBOL_GPL vmlinux 0xf9718867 crypto_unregister_acomp +EXPORT_SYMBOL_GPL vmlinux 0xf9a054b5 __round_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xf9b49e68 crypto_grab_spawn +EXPORT_SYMBOL_GPL vmlinux 0xfa102628 key_type_logon +EXPORT_SYMBOL_GPL vmlinux 0xfa1588c5 __srcu_read_lock +EXPORT_SYMBOL_GPL vmlinux 0xfa16fcf9 device_match_devt +EXPORT_SYMBOL_GPL vmlinux 0xfa1eb910 unregister_syscore_ops +EXPORT_SYMBOL_GPL vmlinux 0xfa2872f2 trace_seq_path +EXPORT_SYMBOL_GPL vmlinux 0xfa3282e9 task_user_regset_view +EXPORT_SYMBOL_GPL vmlinux 0xfa5c30f4 __traceiter_devlink_hwmsg +EXPORT_SYMBOL_GPL vmlinux 0xfa5f2bbb vp_legacy_config_vector +EXPORT_SYMBOL_GPL vmlinux 0xfa666974 queue_work_node +EXPORT_SYMBOL_GPL vmlinux 0xfa890dfa devm_gpiod_get_index +EXPORT_SYMBOL_GPL vmlinux 0xfaa3201d gpiod_set_raw_value +EXPORT_SYMBOL_GPL vmlinux 0xfaabc444 __gmap_zap +EXPORT_SYMBOL_GPL vmlinux 0xfaaf82de iommu_fwspec_free +EXPORT_SYMBOL_GPL vmlinux 0xfab30dc0 mdio_bus_exit +EXPORT_SYMBOL_GPL vmlinux 0xfabc9dc9 gfn_to_page +EXPORT_SYMBOL_GPL vmlinux 0xfad37ea4 sbitmap_show +EXPORT_SYMBOL_GPL vmlinux 0xfad9c827 kill_dax +EXPORT_SYMBOL_GPL vmlinux 0xfb073628 crypto_destroy_tfm +EXPORT_SYMBOL_GPL vmlinux 0xfb0d78b7 synth_event_trace_start +EXPORT_SYMBOL_GPL vmlinux 0xfb32b30f ring_buffer_read_prepare_sync +EXPORT_SYMBOL_GPL vmlinux 0xfb43d644 crypto_unregister_ahash +EXPORT_SYMBOL_GPL vmlinux 0xfb5cb000 inet_hashinfo2_init_mod +EXPORT_SYMBOL_GPL vmlinux 0xfb8c43c1 dw_pcie_link_up +EXPORT_SYMBOL_GPL vmlinux 0xfbaa10ef device_match_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xfbb37783 lwtunnel_xmit +EXPORT_SYMBOL_GPL vmlinux 0xfbbcf6ce rdev_set_badblocks +EXPORT_SYMBOL_GPL vmlinux 0xfbbd41ca no_action +EXPORT_SYMBOL_GPL vmlinux 0xfbd0eec3 hwrng_register +EXPORT_SYMBOL_GPL vmlinux 0xfbd5be9f sysfs_change_owner +EXPORT_SYMBOL_GPL vmlinux 0xfbf9953c tpmm_chip_alloc +EXPORT_SYMBOL_GPL vmlinux 0xfbffd601 net_prio_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xfc03d97a page_is_ram +EXPORT_SYMBOL_GPL vmlinux 0xfc0a7376 tty_ldisc_receive_buf +EXPORT_SYMBOL_GPL vmlinux 0xfc14bb2e dm_get_dev_t +EXPORT_SYMBOL_GPL vmlinux 0xfc1ebe60 blk_mark_disk_dead +EXPORT_SYMBOL_GPL vmlinux 0xfc2b1bfe css_driver_register +EXPORT_SYMBOL_GPL vmlinux 0xfc2bcf93 devlink_port_type_clear +EXPORT_SYMBOL_GPL vmlinux 0xfc464ebd netdev_cmd_to_name +EXPORT_SYMBOL_GPL vmlinux 0xfc4c2352 trace_array_destroy +EXPORT_SYMBOL_GPL vmlinux 0xfc587008 tcp_set_state +EXPORT_SYMBOL_GPL vmlinux 0xfc5aa797 inet6_csk_addr2sockaddr +EXPORT_SYMBOL_GPL vmlinux 0xfc6837e1 gpiod_cansleep +EXPORT_SYMBOL_GPL vmlinux 0xfc771215 vp_modern_queue_vector +EXPORT_SYMBOL_GPL vmlinux 0xfc7b56fd appldata_register_ops +EXPORT_SYMBOL_GPL vmlinux 0xfc997e3a bio_poll +EXPORT_SYMBOL_GPL vmlinux 0xfca60ebc xdp_do_redirect +EXPORT_SYMBOL_GPL vmlinux 0xfca7f934 devlink_region_create +EXPORT_SYMBOL_GPL vmlinux 0xfcaa1133 mddev_init_writes_pending +EXPORT_SYMBOL_GPL vmlinux 0xfcbfccdb pci_ats_supported +EXPORT_SYMBOL_GPL vmlinux 0xfcbfec70 add_memory_driver_managed +EXPORT_SYMBOL_GPL vmlinux 0xfcc1edd3 memory_block_size_bytes +EXPORT_SYMBOL_GPL vmlinux 0xfce4ce8d nd_tbl +EXPORT_SYMBOL_GPL vmlinux 0xfcf3a9b0 generic_fh_to_dentry +EXPORT_SYMBOL_GPL vmlinux 0xfcf9187a crypto_unregister_alg +EXPORT_SYMBOL_GPL vmlinux 0xfcf9ef73 hw_protection_shutdown +EXPORT_SYMBOL_GPL vmlinux 0xfcfa622f msi_next_desc +EXPORT_SYMBOL_GPL vmlinux 0xfd2a481e lzorle1x_1_compress +EXPORT_SYMBOL_GPL vmlinux 0xfd2c62ad devlink_dpipe_table_counter_enabled +EXPORT_SYMBOL_GPL vmlinux 0xfd39848a fat_alloc_new_dir +EXPORT_SYMBOL_GPL vmlinux 0xfd4bb4f3 crypto_register_aeads +EXPORT_SYMBOL_GPL vmlinux 0xfd57aea6 sk_msg_free_partial +EXPORT_SYMBOL_GPL vmlinux 0xfd5b1c72 devlink_dpipe_table_resource_set +EXPORT_SYMBOL_GPL vmlinux 0xfd5cecf1 software_node_fwnode +EXPORT_SYMBOL_GPL vmlinux 0xfd5f0fc8 l3mdev_table_lookup_register +EXPORT_SYMBOL_GPL vmlinux 0xfd71cbcf xfrm_audit_policy_add +EXPORT_SYMBOL_GPL vmlinux 0xfd8ac79c blk_mq_rdma_map_queues +EXPORT_SYMBOL_GPL vmlinux 0xfd921da7 relay_switch_subbuf +EXPORT_SYMBOL_GPL vmlinux 0xfda7e164 crypto_wait_for_test +EXPORT_SYMBOL_GPL vmlinux 0xfdbd7a17 crypto_get_attr_type +EXPORT_SYMBOL_GPL vmlinux 0xfdbeddb2 blockdev_superblock +EXPORT_SYMBOL_GPL vmlinux 0xfdda2dce ping_getfrag +EXPORT_SYMBOL_GPL vmlinux 0xfdfefb5e __cookie_v4_check +EXPORT_SYMBOL_GPL vmlinux 0xfe01e7e2 blkg_rwstat_init +EXPORT_SYMBOL_GPL vmlinux 0xfe1a7a7b mpi_point_release +EXPORT_SYMBOL_GPL vmlinux 0xfe2c5d8a simple_attr_write +EXPORT_SYMBOL_GPL vmlinux 0xfe2d7aac pci_epc_unmap_addr +EXPORT_SYMBOL_GPL vmlinux 0xfe36b9bd find_vpid +EXPORT_SYMBOL_GPL vmlinux 0xfe433284 tty_kclose +EXPORT_SYMBOL_GPL vmlinux 0xfe476039 ktime_get_resolution_ns +EXPORT_SYMBOL_GPL vmlinux 0xfe5ce0f1 handle_untracked_irq +EXPORT_SYMBOL_GPL vmlinux 0xfe8cdb84 ring_buffer_alloc_read_page +EXPORT_SYMBOL_GPL vmlinux 0xfe990052 gpio_free +EXPORT_SYMBOL_GPL vmlinux 0xfe992f5a pci_epc_remove_epf +EXPORT_SYMBOL_GPL vmlinux 0xfea8f006 irq_domain_create_simple +EXPORT_SYMBOL_GPL vmlinux 0xfed7d8d2 bsg_remove_queue +EXPORT_SYMBOL_GPL vmlinux 0xfede9222 __tracepoint_suspend_resume +EXPORT_SYMBOL_GPL vmlinux 0xfee3d75b crypto_register_instance +EXPORT_SYMBOL_GPL vmlinux 0xfee6add7 debugfs_remove +EXPORT_SYMBOL_GPL vmlinux 0xfef0c886 kvm_clear_guest +EXPORT_SYMBOL_GPL vmlinux 0xfefa2adb input_ff_effect_from_user +EXPORT_SYMBOL_GPL vmlinux 0xff0340d0 ip6_datagram_send_ctl +EXPORT_SYMBOL_GPL vmlinux 0xff05fa13 vring_interrupt +EXPORT_SYMBOL_GPL vmlinux 0xff11ea7a fwnode_graph_get_remote_port_parent +EXPORT_SYMBOL_GPL vmlinux 0xff403774 region_intersects +EXPORT_SYMBOL_GPL vmlinux 0xff793177 page_cache_ra_unbounded +EXPORT_SYMBOL_GPL vmlinux 0xff7a2f70 vp_modern_remove +EXPORT_SYMBOL_GPL vmlinux 0xff7ce883 crypto_register_templates +EXPORT_SYMBOL_GPL vmlinux 0xff7e33bf mpi_sub_ui +EXPORT_SYMBOL_GPL vmlinux 0xff81487d gpiod_remove_lookup_table +EXPORT_SYMBOL_GPL vmlinux 0xff81a705 netdev_rx_handler_unregister +EXPORT_SYMBOL_GPL vmlinux 0xff8cbf4b rhashtable_walk_start_check +EXPORT_SYMBOL_GPL vmlinux 0xff9e23d1 hugetlb_cgrp_subsys_on_dfl_key +EXPORT_SYMBOL_GPL vmlinux 0xffae8e8b nsecs_to_jiffies +EXPORT_SYMBOL_GPL vmlinux 0xffd3f66c scsi_eh_ready_devs +EXPORT_SYMBOL_GPL vmlinux 0xffd9e5e4 blk_queue_write_cache +EXPORT_SYMBOL_GPL vmlinux 0xffe80b6b mptcp_token_get_sock +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0x07342898 unregister_firmware_config_sysctl vmlinux +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xae43feea register_firmware_config_sysctl vmlinux +FIRMWARE_LOADER_PRIVATE EXPORT_SYMBOL_GPL 0xd3ae7756 fw_fallback_config vmlinux +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x2af376d4 nvme_ctrl_from_file drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x3b131549 nvme_passthru_end drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0x4a0d3577 nvme_put_ns drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0xa32213b2 nvme_find_get_ns drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0xa65b98cc nvme_command_effects drivers/nvme/host/nvme-core +NVME_TARGET_PASSTHRU EXPORT_SYMBOL_GPL 0xb99b425c nvme_execute_passthru_rq drivers/nvme/host/nvme-core +TEST_FIRMWARE EXPORT_SYMBOL_GPL 0x46ed53c1 firmware_request_builtin vmlinux --- linux-gcp-5.19.0.orig/debian.master/abi/s390x/generic.compiler +++ linux-gcp-5.19.0/debian.master/abi/s390x/generic.compiler @@ -0,0 +1 @@ +GCC: (Ubuntu 12.2.0-3ubuntu1) 12.2.0 --- linux-gcp-5.19.0.orig/debian.master/abi/s390x/generic.modules +++ linux-gcp-5.19.0/debian.master/abi/s390x/generic.modules @@ -0,0 +1,974 @@ +8021q +842 +842_compress +842_decompress +9p +9pnet +9pnet_fd +9pnet_rdma +9pnet_virtio +act_bpf +act_connmark +act_csum +act_ct +act_ctinfo +act_gact +act_gate +act_ipt +act_mirred +act_mpls +act_nat +act_pedit +act_police +act_sample +act_simple +act_skbedit +act_skbmod +act_tunnel_key +act_vlan +adiantum +adin +aegis128 +aes_s390 +aes_ti +af_alg +af_iucv +af_key +af_packet_diag +ah4 +ah6 +algif_aead +algif_hash +algif_rng +algif_skcipher +altera-cvp +altera-pr-ip-core +amd +amlogic-gxl-crypto +amt +ansi_cprng +appldata_mem +appldata_net_sum +appldata_os +aquantia +arp_tables +arpt_mangle +arptable_filter +async_memcpy +async_pq +async_raid6_recov +async_tx +async_xor +auth_rpcgss +authenc +authencesn +ba431-rng +bcache +bcm-phy-lib +bcm54140 +bcm7xxx +bcm87xx +bfq +binfmt_misc +blake2b_generic +blocklayoutdriver +blowfish_common +blowfish_generic +bochs +bonding +bpfilter +br_netfilter +brd +bridge +broadcom +btrfs +cachefiles +camellia_generic +cast5_generic +cast6_generic +cast_common +ccm +ccwgroup +ceph +cfb +cfbcopyarea +cfbfillrect +cfbimgblt +ch +chacha20poly1305 +chacha_generic +chacha_s390 +chsc_sch +cicada +cifs +cifs_arc4 +cifs_md4 +cls_basic +cls_bpf +cls_cgroup +cls_flow +cls_flower +cls_fw +cls_matchall +cls_route +cls_rsvp +cls_rsvp6 +cls_u32 +cmac +coda +cordic +cortina +crc-itu-t +crc32-vx_s390 +crc32_generic +crc4 +crc7 +crc8 +cryptd +crypto_engine +crypto_user +ctcm +curve25519-generic +cuse +dasd_diag_mod +dasd_eckd_mod +dasd_fba_mod +dasd_mod +davicom +dccp +dccp_diag +dccp_ipv4 +dccp_ipv6 +dcssblk +des_generic +des_s390 +device_dax +diag +diag288_wdt +dlm +dm-bio-prison +dm-bufio +dm-cache +dm-cache-smq +dm-clone +dm-crypt +dm-delay +dm-ebs +dm-era +dm-flakey +dm-historical-service-time +dm-integrity +dm-io-affinity +dm-log +dm-log-userspace +dm-log-writes +dm-mirror +dm-multipath +dm-persistent-data +dm-queue-length +dm-raid +dm-region-hash +dm-round-robin +dm-service-time +dm-snapshot +dm-switch +dm-thin-pool +dm-unstripe +dm-verity +dm-writecache +dm-zero +dm-zoned +dp83640 +dp83822 +dp83848 +dp83867 +dp83869 +dp83tc811 +drbd +drm +drm_kms_helper +drm_panel_orientation_quirks +drm_shmem_helper +drm_ttm_helper +drm_vram_helper +dummy +dummy_stm +dwc-xlgmac +eadm_sch +ebt_802_3 +ebt_among +ebt_arp +ebt_arpreply +ebt_dnat +ebt_ip +ebt_ip6 +ebt_limit +ebt_log +ebt_mark +ebt_mark_m +ebt_nflog +ebt_pkttype +ebt_redirect +ebt_snat +ebt_stp +ebt_vlan +ebtable_broute +ebtable_filter +ebtable_nat +ebtables +ecc +ecdh_generic +ecdsa_generic +echainiv +ecrdsa_generic +em_cmp +em_ipset +em_ipt +em_meta +em_nbyte +em_text +em_u32 +eql +erofs +esp4 +esp4_offload +esp6 +esp6_offload +essiv +et1011c +failover +faulty +fb_sys_fops +fcoe +fcrypt +fou +fou6 +fpga-mgr +fs3270 +fscache +fsm +garp +geneve +genwqe_card +gfs2 +ghash_s390 +gpio-aggregator +gpio-bt8xx +gpio-generic +gpio-pci-idio-16 +gpio-pcie-idio-24 +gpio-sim +grace +gre +gtp +hangcheck-timer +hmcdrv +i2c-algo-bit +i2c-core +i2c-dev +i2c-mux +i2c-stub +ib_cm +ib_core +ib_ipoib +ib_iser +ib_isert +ib_mthca +ib_srp +ib_srpt +ib_umad +ib_uverbs +icp +icplus +ifb +ife +ila +inet_diag +intel-xway +intel_th +intel_th_gth +intel_th_msu +intel_th_msu_sink +intel_th_pci +intel_th_pti +intel_th_sth +ip6_gre +ip6_tables +ip6_tunnel +ip6_udp_tunnel +ip6_vti +ip6t_NPT +ip6t_REJECT +ip6t_SYNPROXY +ip6t_ah +ip6t_eui64 +ip6t_frag +ip6t_hbh +ip6t_ipv6header +ip6t_mh +ip6t_rpfilter +ip6t_rt +ip6t_srh +ip6table_filter +ip6table_mangle +ip6table_nat +ip6table_raw +ip6table_security +ip_gre +ip_set +ip_set_bitmap_ip +ip_set_bitmap_ipmac +ip_set_bitmap_port +ip_set_hash_ip +ip_set_hash_ipmac +ip_set_hash_ipmark +ip_set_hash_ipport +ip_set_hash_ipportip +ip_set_hash_ipportnet +ip_set_hash_mac +ip_set_hash_net +ip_set_hash_netiface +ip_set_hash_netnet +ip_set_hash_netport +ip_set_hash_netportnet +ip_set_list_set +ip_tables +ip_tunnel +ip_vs +ip_vs_dh +ip_vs_fo +ip_vs_ftp +ip_vs_lblc +ip_vs_lblcr +ip_vs_lc +ip_vs_mh +ip_vs_nq +ip_vs_ovf +ip_vs_pe_sip +ip_vs_rr +ip_vs_sed +ip_vs_sh +ip_vs_wlc +ip_vs_wrr +ip_vti +ipcomp +ipcomp6 +ipip +ipt_CLUSTERIP +ipt_ECN +ipt_REJECT +ipt_SYNPROXY +ipt_ah +ipt_rpfilter +iptable_filter +iptable_mangle +iptable_nat +iptable_raw +iptable_security +ipvlan +ipvtap +irqbypass +iscsi_boot_sysfs +iscsi_target_mod +iscsi_tcp +ism +isofs +iw_cm +kafs +kcm +keywrap +kheaders +kmem +ksmbd +kyber-iosched +l2tp_core +l2tp_debugfs +l2tp_eth +l2tp_ip +l2tp_ip6 +l2tp_netlink +lcs +libceph +libchacha +libchacha20poly1305 +libcrc32c +libcurve25519 +libcurve25519-generic +libdes +libfc +libfcoe +libiscsi +libiscsi_tcp +libpoly1305 +libsas +linear +llc +lockd +lru_cache +lrw +lxt +lz4 +lz4_compress +lz4hc +lz4hc_compress +mac-celtic +mac-centeuro +mac-croatian +mac-cyrillic +mac-gaelic +mac-greek +mac-iceland +mac-inuit +mac-roman +mac-romanian +mac-turkish +macsec +macvlan +macvtap +marvell +marvell10g +md-cluster +md4 +mdev +mdio-i2c +memory-notifier-error-inject +mena21_wdt +mfd-core +michael_mic +micrel +microchip +microchip_t1 +mip6 +mlx4_core +mlx4_en +mlx4_ib +mlx5_core +mlx5_ib +mlxfw +mlxsw_core +mlxsw_pci +mlxsw_spectrum +monreader +monwriter +mpls_gso +mpls_iptunnel +mpls_router +mpt3sas +mptcp_diag +mrp +mscc +msdos +national +nbd +net_failover +netconsole +netdevsim +netfs +netiucv +netlink_diag +nf_conncount +nf_conntrack +nf_conntrack_amanda +nf_conntrack_bridge +nf_conntrack_broadcast +nf_conntrack_ftp +nf_conntrack_h323 +nf_conntrack_irc +nf_conntrack_netbios_ns +nf_conntrack_netlink +nf_conntrack_pptp +nf_conntrack_sane +nf_conntrack_sip +nf_conntrack_snmp +nf_conntrack_tftp +nf_defrag_ipv4 +nf_defrag_ipv6 +nf_dup_ipv4 +nf_dup_ipv6 +nf_dup_netdev +nf_flow_table +nf_flow_table_inet +nf_log_syslog +nf_nat +nf_nat_amanda +nf_nat_ftp +nf_nat_h323 +nf_nat_irc +nf_nat_pptp +nf_nat_sip +nf_nat_snmp_basic +nf_nat_tftp +nf_reject_ipv4 +nf_reject_ipv6 +nf_socket_ipv4 +nf_socket_ipv6 +nf_synproxy_core +nf_tables +nf_tproxy_ipv4 +nf_tproxy_ipv6 +nfnetlink +nfnetlink_acct +nfnetlink_cthelper +nfnetlink_cttimeout +nfnetlink_hook +nfnetlink_log +nfnetlink_osf +nfnetlink_queue +nfs +nfs_acl +nfs_layout_flexfiles +nfs_layout_nfsv41_files +nfsd +nfsv2 +nfsv3 +nfsv4 +nft_chain_nat +nft_compat +nft_connlimit +nft_ct +nft_dup_ipv4 +nft_dup_ipv6 +nft_dup_netdev +nft_fib +nft_fib_inet +nft_fib_ipv4 +nft_fib_ipv6 +nft_fib_netdev +nft_flow_offload +nft_fwd_netdev +nft_hash +nft_limit +nft_log +nft_masq +nft_meta_bridge +nft_nat +nft_numgen +nft_objref +nft_osf +nft_queue +nft_quota +nft_redir +nft_reject +nft_reject_bridge +nft_reject_inet +nft_reject_ipv4 +nft_reject_ipv6 +nft_reject_netdev +nft_socket +nft_synproxy +nft_tproxy +nft_tunnel +nft_xfrm +nhpoly1305 +nilfs2 +nlmon +nls_ascii +nls_cp1250 +nls_cp1251 +nls_cp1255 +nls_cp737 +nls_cp775 +nls_cp850 +nls_cp852 +nls_cp855 +nls_cp857 +nls_cp860 +nls_cp861 +nls_cp862 +nls_cp863 +nls_cp864 +nls_cp865 +nls_cp866 +nls_cp869 +nls_cp874 +nls_cp932 +nls_cp936 +nls_cp949 +nls_cp950 +nls_euc-jp +nls_iso8859-1 +nls_iso8859-13 +nls_iso8859-14 +nls_iso8859-15 +nls_iso8859-2 +nls_iso8859-3 +nls_iso8859-4 +nls_iso8859-5 +nls_iso8859-6 +nls_iso8859-7 +nls_iso8859-9 +nls_koi8-r +nls_koi8-ru +nls_koi8-u +nls_utf8 +notifier-error-inject +nsh +ntfs +ntfs3 +null_blk +nvme +nvme-core +nvme-fabrics +nvme-fc +nvme-loop +nvme-rdma +nvme-tcp +nvmet +nvmet-fc +nvmet-rdma +nvmet-tcp +objagg +ocfs2 +ocfs2_dlm +ocfs2_dlmfs +ocfs2_nodemanager +ocfs2_stack_o2cb +ocfs2_stack_user +ocfs2_stackglue +ofb +openvswitch +orangefs +overlay +p8022 +paes_s390 +parman +pcbc +pci-pf-stub +pci-stub +pcrypt +phylink +pkcs7_test_key +pkcs8_key_parser +pkey +pktgen +pnet +poly1305_generic +pretimeout_panic +prng +psample +psnap +ptp +ptp_clockmatrix +ptp_ines +qdio +qeth +qeth_l2 +qeth_l3 +qsemi +quota_tree +quota_v1 +quota_v2 +raid0 +raid1 +raid10 +raid456 +raid6_pq +raid_class +raw_diag +rbd +rdma_cm +rdma_rxe +rdma_ucm +rds +rds_rdma +rds_tcp +realtek +regmap-i2c +rmd160 +rnbd-client +rnbd-server +rockchip +rpcrdma +rpcsec_gss_krb5 +rtrs-client +rtrs-core +rtrs-server +rxrpc +s390-trng +sample-trace-array +sch_cake +sch_cbq +sch_cbs +sch_choke +sch_codel +sch_drr +sch_dsmark +sch_etf +sch_ets +sch_fq +sch_fq_codel +sch_fq_pie +sch_gred +sch_hfsc +sch_hhf +sch_htb +sch_ingress +sch_mqprio +sch_multiq +sch_netem +sch_pie +sch_plug +sch_prio +sch_qfq +sch_red +sch_sfb +sch_sfq +sch_skbprio +sch_taprio +sch_tbf +sch_teql +scm_block +scsi_debug +scsi_dh_alua +scsi_dh_emc +scsi_dh_hp_sw +scsi_dh_rdac +scsi_transport_fc +scsi_transport_iscsi +scsi_transport_sas +scsi_transport_spi +scsi_transport_srp +sctp +sctp_diag +serial_core +serpent_generic +sfp +sha1_s390 +sha256_s390 +sha3_256_s390 +sha3_512_s390 +sha3_generic +sha512_s390 +sha_common +shiftfs +simple-mfd-i2c +siox-bus-gpio +siox-core +sit +siw +slicoss +slim-qcom-ctrl +slimbus +sm2_generic +sm3 +smc +smc_diag +smsc +smsgiucv_app +softdog +spl +st +st_drv +ste10Xp +stm_console +stm_core +stm_ftrace +stm_heartbeat +stm_p_basic +stm_p_sys-t +stp +streebog_generic +sunrpc +switchtec +syscopyarea +sysfillrect +sysimgblt +tap +tape +tape_34xx +tape_3590 +tape_class +target_core_file +target_core_iblock +target_core_mod +target_core_pscsi +target_core_user +tcm_fc +tcm_loop +tcp_bbr +tcp_bic +tcp_cdg +tcp_dctcp +tcp_diag +tcp_highspeed +tcp_htcp +tcp_hybla +tcp_illinois +tcp_lp +tcp_nv +tcp_scalable +tcp_vegas +tcp_veno +tcp_westwood +tcp_yeah +tcrypt +team +team_mode_activebackup +team_mode_broadcast +team_mode_loadbalance +team_mode_random +team_mode_roundrobin +teranetics +test_blackhole_dev +test_bpf +tipc +tls +tpm_vtpm_proxy +trace-printk +ts_bm +ts_fsm +ts_kmp +tsnep +ttm +tunnel4 +tunnel6 +twofish_common +twofish_generic +uPD60620 +uartlite +ubuntu-host +udf +udp_diag +udp_tunnel +uio +unix_diag +veth +vfio +vfio-pci +vfio-pci-core +vfio_ap +vfio_ccw +vfio_iommu_type1 +vfio_virqfd +vhost +vhost_iotlb +vhost_net +vhost_scsi +vhost_vsock +virtio-gpu +virtio-rng +virtio_blk +virtio_crypto +virtio_dma_buf +virtio_input +virtio_net +virtio_scsi +virtiofs +vitesse +vmac +vmlogrdr +vmur +vmw_vsock_virtio_transport +vmw_vsock_virtio_transport_common +vport-geneve +vport-gre +vport-vxlan +vrf +vsock +vsock_diag +vsock_loopback +vsockmon +vxlan +wireguard +wp512 +x_tables +xcbc +xfrm4_tunnel +xfrm6_tunnel +xfrm_algo +xfrm_interface +xfrm_ipcomp +xfrm_user +xfs +xilinx_emac +xilinx_gmii2rgmii +xor +xsk_diag +xt_AUDIT +xt_CHECKSUM +xt_CLASSIFY +xt_CONNSECMARK +xt_CT +xt_DSCP +xt_HL +xt_HMARK +xt_IDLETIMER +xt_LOG +xt_MASQUERADE +xt_NETMAP +xt_NFLOG +xt_NFQUEUE +xt_RATEEST +xt_REDIRECT +xt_SECMARK +xt_TCPMSS +xt_TCPOPTSTRIP +xt_TEE +xt_TPROXY +xt_TRACE +xt_addrtype +xt_bpf +xt_cgroup +xt_cluster +xt_comment +xt_connbytes +xt_connlabel +xt_connlimit +xt_connmark +xt_conntrack +xt_cpu +xt_dccp +xt_devgroup +xt_dscp +xt_ecn +xt_esp +xt_hashlimit +xt_helper +xt_hl +xt_ipcomp +xt_iprange +xt_ipvs +xt_l2tp +xt_length +xt_limit +xt_mac +xt_mark +xt_multiport +xt_nat +xt_nfacct +xt_osf +xt_owner +xt_physdev +xt_pkttype +xt_policy +xt_quota +xt_rateest +xt_realm +xt_recent +xt_sctp +xt_set +xt_socket +xt_state +xt_statistic +xt_string +xt_tcpmss +xt_tcpudp +xt_time +xt_u32 +xxhash_generic +z3fold +zavl +zcommon +zcrypt +zcrypt_cex2a +zcrypt_cex2c +zcrypt_cex4 +zfcp +zfs +zlua +znvpair +zonefs +zram +zstd +zunicode +zzstd --- linux-gcp-5.19.0.orig/debian.master/abi/s390x/generic.retpoline +++ linux-gcp-5.19.0/debian.master/abi/s390x/generic.retpoline @@ -0,0 +1 @@ +# RETPOLINE NOT ENABLED --- linux-gcp-5.19.0.orig/debian.master/abi/version +++ linux-gcp-5.19.0/debian.master/abi/version @@ -0,0 +1 @@ +5.19.0-45.46 --- linux-gcp-5.19.0.orig/debian.master/changelog +++ linux-gcp-5.19.0/debian.master/changelog @@ -0,0 +1,26222 @@ +linux (5.19.0-46.47) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-46.47 -proposed tracker (LP: #2024043) + + * Packaging resync (LP: #1786013) + - [Packaging] resync git-ubuntu-log + - [Packaging] resync getabis + + * CVE-2023-2430 + - io_uring/msg_ring: fix missing lock on overflow for IOPOLL + + * cls_flower: off-by-one in fl_set_geneve_opt (LP: #2023577) + - net/sched: flower: fix possible OOB write in fl_set_geneve_opt() + + * Some INVLPG implementations can leave Global translations unflushed when + PCIDs are enabled (LP: #2023220) + - x86/mm: Avoid incomplete Global INVLPG flushes + + -- Thadeu Lima de Souza Cascardo Fri, 16 Jun 2023 09:36:59 -0300 + +linux (5.19.0-45.46) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-45.46 -proposed tracker (LP: #2023057) + + * Kinetic update: upstream stable patchset 2023-05-23 (LP: #2020599) + - wifi: cfg80211: Partial revert "wifi: cfg80211: Fix use after free for wext" + + -- Roxana Nicolescu Wed, 07 Jun 2023 10:19:43 +0200 + +linux (5.19.0-44.45) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-44.45 -proposed tracker (LP: #2019827) + + * Linux 5.19 amdgpu: NULL pointer on GCN2 and invalid load on GCN1 + (LP: #2018470) + - drm/amdgpu: Fix for BO move issue + + * CVE-2023-32233 + - netfilter: nf_tables: deactivate anonymous set from preparation phase + + * CVE-2023-2612 + - SAUCE: shiftfs: prevent lock unbalance in shiftfs_create_object() + + * CVE-2023-31436 + - net: sched: sch_qfq: prevent slab-out-of-bounds in qfq_activate_agg + + * CVE-2023-1380 + - wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies() + + * conntrack mark is not advertised via netlink (LP: #2016269) + - netfilter: ctnetlink: revert to dumping mark regardless of event type + + * 5.19 not reporting cgroups v1 blkio.throttle.io_serviced (LP: #2016186) + - SAUCE: blk-throttle: Fix io statistics for cgroup v1 + + * [SRU] Backport request for hpwdt from upstream 6.1 to Jammy (LP: #2008751) + - watchdog/hpwdt: Enable HP_WATCHDOG for ARM64 systems. + - watchdog/hpwdt: Include nmi.h only if CONFIG_HPWDT_NMI_DECODING + - [Config] Add arm64 option to CONFIG_HP_WATCHDOG + + * vmwgfx fails to reserve graphics buffer on aarch64 leading to blank display + (LP: #2007001) + - SAUCE: Revert "video/aperture: Disable and unregister sysfb devices via + aperture helpers" + + * Ubuntu 22.04 raise abnormal NIC MSI-X requests with larger CPU cores (256) + (LP: #2012335) + - ice: Allow operation with reduced device MSI-X + + * Dell: Enable speaker mute hotkey LED indicator (LP: #2015972) + - platform/x86: dell-laptop: Register ctl-led for speaker-mute + + * [SRU]With "Performance per Watt (DAPC)" enabled in the BIOS, Bootup time is + taking longer than expected (LP: #2008527) + - cpufreq: ACPI: Defer setting boost MSRs + + * [SRU][Jammy] CONFIG_PCI_MESON is not enabled (LP: #2007745) + - [Config] arm64: Enable PCI_MESON module + + * Kinetic update: upstream stable patchset 2023-05-08 (LP: #2018948) + - HID: asus: use spinlock to protect concurrent accesses + - HID: asus: use spinlock to safely schedule workers + - powerpc/mm: Rearrange if-else block to avoid clang warning + - ARM: OMAP2+: Fix memory leak in realtime_counter_init() + - arm64: dts: qcom: qcs404: use symbol names for PCIe resets + - arm64: dts: qcom: msm8996-tone: Fix USB taking 6 minutes to wake up + - arm64: dts: qcom: sm8150-kumano: Panel framebuffer is 2.5k instead of 4k + - arm64: dts: qcom: sm6125: Reorder HSUSB PHY clocks to match bindings + - arm64: dts: imx8m: Align SoC unique ID node unit address + - ARM: zynq: Fix refcount leak in zynq_early_slcr_init + - arm64: dts: mediatek: mt8183: Fix systimer 13 MHz clock description + - arm64: dts: qcom: sdm845-db845c: fix audio codec interrupt pin name + - arm64: dts: qcom: sc7180: correct SPMI bus address cells + - arm64: dts: qcom: sc7280: correct SPMI bus address cells + - arm64: dts: meson-gx: Fix Ethernet MAC address unit name + - arm64: dts: meson-g12a: Fix internal Ethernet PHY unit name + - arm64: dts: meson-gx: Fix the SCPI DVFS node name and unit address + - arm64: dts: msm8992-bullhead: add memory hole region + - arm64: dts: qcom: msm8992-bullhead: Fix cont_splash_mem size + - arm64: dts: qcom: msm8992-bullhead: Disable dfps_data_mem + - arm64: dts: qcom: ipq8074: correct USB3 QMP PHY-s clock output names + - arm64: dts: qcom: ipq8074: fix Gen3 PCIe QMP PHY + - arm64: dts: qcom: ipq8074: correct Gen2 PCIe ranges + - arm64: dts: qcom: ipq8074: fix Gen3 PCIe node + - arm64: dts: qcom: ipq8074: correct PCIe QMP PHY output clock names + - arm64: dts: meson: remove CPU opps below 1GHz for G12A boards + - ARM: OMAP1: call platform_device_put() in error case in + omap1_dm_timer_init() + - ARM: bcm2835_defconfig: Enable the framebuffer + - ARM: s3c: fix s3c64xx_set_timer_source prototype + - arm64: dts: ti: k3-j7200: Fix wakeup pinmux range + - ARM: dts: exynos: correct wr-active property in Exynos3250 Rinato + - ARM: imx: Call ida_simple_remove() for ida_simple_get + - arm64: dts: amlogic: meson-gx: fix SCPI clock dvfs node name + - arm64: dts: amlogic: meson-axg: fix SCPI clock dvfs node name + - arm64: dts: amlogic: meson-gx: add missing SCPI sensors compatible + - arm64: dts: amlogic: meson-gxl-s905d-sml5442tw: drop invalid clock-names + property + - arm64: dts: amlogic: meson-gx: add missing unit address to rng node name + - arm64: dts: amlogic: meson-gxl: add missing unit address to eth-phy-mux node + name + - arm64: dts: amlogic: meson-gx-libretech-pc: fix update button name + - arm64: dts: amlogic: meson-sm1-bananapi-m5: fix adc keys node names + - arm64: dts: amlogic: meson-gxl-s905d-phicomm-n1: fix led node name + - arm64: dts: amlogic: meson-gxbb-kii-pro: fix led node name + - arm64: dts: amlogic: meson-sm1-odroid-hc4: fix active fan thermal trip + - locking/rwsem: Disable preemption in all down_read*() and up_read() code + paths + - arm64: dts: renesas: beacon-renesom: Fix gpio expander reference + - arm64: dts: meson: bananapi-m5: switch VDDIO_C pin to OPEN_DRAIN + - ARM: dts: sun8i: nanopi-duo2: Fix regulator GPIO reference + - ARM: dts: imx7s: correct iomuxc gpr mux controller cells + - arm64: dts: mt8192: Fix CPU map for single-cluster SoC + - arm64: dts: mediatek: mt7622: Add missing pwm-cells to pwm node + - blk-mq: avoid sleep in blk_mq_alloc_request_hctx + - blk-mq: remove stale comment for blk_mq_sched_mark_restart_hctx + - blk-mq: correct stale comment of .get_budget + - arm64: dts: qcom: msm8992-lg-bullhead: Correct memory overlaps with the SMEM + and MPSS memory regions + - s390/dasd: Fix potential memleak in dasd_eckd_init() + - sched/rt: pick_next_rt_entity(): check list_entry + - x86/perf/zhaoxin: Add stepping check for ZXC + - KEYS: asymmetric: Fix ECDSA use via keyctl uapi + - arm64: dts: qcom: pmk8350: Specify PBS register for PON + - arm64: dts: qcom: pmk8350: Use the correct PON compatible + - block: bio-integrity: Copy flags when bio_integrity_payload is cloned + - wifi: rsi: Fix memory leak in rsi_coex_attach() + - wifi: rtlwifi: rtl8821ae: don't call kfree_skb() under spin_lock_irqsave() + - wifi: rtlwifi: rtl8188ee: don't call kfree_skb() under spin_lock_irqsave() + - wifi: rtlwifi: rtl8723be: don't call kfree_skb() under spin_lock_irqsave() + - wifi: iwlegacy: common: don't call dev_kfree_skb() under spin_lock_irqsave() + - wifi: libertas: fix memory leak in lbs_init_adapter() + - wifi: rtl8xxxu: don't call dev_kfree_skb() under spin_lock_irqsave() + - wifi: rtlwifi: Fix global-out-of-bounds bug in + _rtl8812ae_phy_set_txpower_limit() + - libbpf: Fix btf__align_of() by taking into account field offsets + - wifi: ipw2x00: don't call dev_kfree_skb() under spin_lock_irqsave() + - wifi: ipw2200: fix memory leak in ipw_wdev_init() + - wifi: wilc1000: fix potential memory leak in wilc_mac_xmit() + - wifi: brcmfmac: fix potential memory leak in brcmf_netdev_start_xmit() + - wifi: brcmfmac: unmap dma buffer in brcmf_msgbuf_alloc_pktid() + - wifi: libertas_tf: don't call kfree_skb() under spin_lock_irqsave() + - wifi: libertas: if_usb: don't call kfree_skb() under spin_lock_irqsave() + - wifi: libertas: main: don't call kfree_skb() under spin_lock_irqsave() + - wifi: libertas: cmdresp: don't call kfree_skb() under spin_lock_irqsave() + - wifi: wl3501_cs: don't call kfree_skb() under spin_lock_irqsave() + - crypto: x86/ghash - fix unaligned access in ghash_setkey() + - ACPICA: Drop port I/O validation for some regions + - genirq: Fix the return type of kstat_cpu_irqs_sum() + - rcu-tasks: Improve comments explaining tasks_rcu_exit_srcu purpose + - rcu-tasks: Remove preemption disablement around srcu_read_[un]lock() calls + - rcu-tasks: Fix synchronize_rcu_tasks() VS zap_pid_ns_processes() + - lib/mpi: Fix buffer overrun when SG is too long + - crypto: ccp - Avoid page allocation failure warning for SEV_GET_ID2 + - ACPICA: nsrepair: handle cases without a return value correctly + - thermal/drivers/tsens: Drop msm8976-specific defines + - thermal/drivers/tsens: Sort out msm8976 vs msm8956 data + - thermal/drivers/tsens: fix slope values for msm8939 + - thermal/drivers/tsens: limit num_sensors to 9 for msm8939 + - wifi: rtl8xxxu: Fix memory leaks with RTL8723BU, RTL8192EU + - wifi: orinoco: check return value of hermes_write_wordrec() + - wifi: ath9k: htc_hst: free skb in ath9k_htc_rx_msg() if there is no callback + function + - ath9k: htc: clean up statistics macros + - wifi: ath9k: hif_usb: clean up skbs if ath9k_hif_usb_rx_stream() fails + - wifi: ath9k: Fix potential stack-out-of-bounds write in + ath9k_wmi_rsp_callback() + - wifi: ath11k: Fix memory leak in ath11k_peer_rx_frag_setup + - wifi: cfg80211: Fix extended KCK key length check in + nl80211_set_rekey_data() + - ACPI: battery: Fix missing NUL-termination with large strings + - crypto: ccp - Failure on re-initialization due to duplicate sysfs filename + - crypto: essiv - Handle EBUSY correctly + - crypto: seqiv - Handle EBUSY correctly + - powercap: fix possible name leak in powercap_register_zone() + - x86/microcode: Print previous version of microcode after reload + - x86/microcode: Add a parameter to microcode_check() to store CPU + capabilities + - x86/microcode: Check CPU capabilities after late microcode update correctly + - x86/microcode: Adjust late loading result reporting message + - crypto: xts - Handle EBUSY correctly + - leds: led-class: Add missing put_device() to led_put() + - crypto: ccp - Flush the SEV-ES TMR memory before giving it to firmware + - bpftool: profile online CPUs instead of possible + - net/mlx5: Enhance debug print in page allocation failure + - irqchip: Fix refcount leak in platform_irqchip_probe + - irqchip/alpine-msi: Fix refcount leak in alpine_msix_init_domains + - irqchip/irq-mvebu-gicp: Fix refcount leak in mvebu_gicp_probe + - irqchip/ti-sci: Fix refcount leak in ti_sci_intr_irq_domain_probe + - s390/mem_detect: fix detect_memory() error handling + - s390/vmem: fix empty page tables cleanup under KASAN + - net: add sock_init_data_uid() + - tun: tun_chr_open(): correctly initialize socket uid + - tap: tap_open(): correctly initialize socket uid + - OPP: fix error checking in opp_migrate_dentry() + - Bluetooth: L2CAP: Fix potential user-after-free + - Bluetooth: hci_qca: get wakeup status from serdev device handle + - s390/ap: fix status returned by ap_aqic() + - s390/ap: fix status returned by ap_qact() + - libbpf: Fix alen calculation in libbpf_nla_dump_errormsg() + - rds: rds_rm_zerocopy_callback() correct order for list_add_tail() + - crypto: rsa-pkcs1pad - Use akcipher_request_complete + - m68k: /proc/hardware should depend on PROC_FS + - RISC-V: time: initialize hrtimer based broadcast clock event device + - wifi: iwl3945: Add missing check for create_singlethread_workqueue + - wifi: iwl4965: Add missing check for create_singlethread_workqueue() + - wifi: mwifiex: fix loop iterator in mwifiex_update_ampdu_txwinsize() + - selftests/bpf: Fix out-of-srctree build + - ACPI: resource: Add IRQ overrides for MAINGEAR Vector Pro 2 models + - ACPI: resource: Do IRQ override on all TongFang GMxRGxx + - crypto: crypto4xx - Call dma_unmap_page when done + - wifi: mac80211: make rate u32 in sta_set_rate_info_rx() + - thermal/drivers/hisi: Drop second sensor hi3660 + - can: esd_usb: Move mislocated storage of SJA1000_ECC_SEG bits in case of a + bus error + - bpf: Fix global subprog context argument resolution logic + - irqchip/irq-brcmstb-l2: Set IRQ_LEVEL for level triggered interrupts + - irqchip/irq-bcm7120-l2: Set IRQ_LEVEL for level triggered interrupts + - selftests/net: Interpret UDP_GRO cmsg data as an int value + - l2tp: Avoid possible recursive deadlock in l2tp_tunnel_register() + - net: bcmgenet: fix MoCA LED control + - sefltests: netdevsim: wait for devlink instance after netns removal + - drm: Fix potential null-ptr-deref due to drmm_mode_config_init() + - drm/fourcc: Add missing big-endian XRGB1555 and RGB565 formats + - drm/bridge: ti-sn65dsi83: Fix delay after reset deassert to match spec + - [Config] updateconfigs for DRM_MXSFB + - drm: mxsfb: DRM_MXSFB should depend on ARCH_MXS || ARCH_MXC + - drm/bridge: megachips: Fix error handling in i2c_register_driver() + - drm/vkms: Fix memory leak in vkms_init() + - drm/vkms: Fix null-ptr-deref in vkms_release() + - drm/vc4: dpi: Add option for inverting pixel clock and output enable + - drm/vc4: dpi: Fix format mapping for RGB565 + - drm: tidss: Fix pixel format definition + - gpu: ipu-v3: common: Add of_node_put() for reference returned by + of_graph_get_port_by_id() + - hwmon: (ftsteutates) Fix scaling of measurements + - drm/msm/hdmi: Add missing check for alloc_ordered_workqueue + - pinctrl: qcom: pinctrl-msm8976: Correct function names for wcss pins + - pinctrl: stm32: Fix refcount leak in stm32_pctrl_get_irq_domain + - pinctrl: rockchip: Fix refcount leak in rockchip_pinctrl_parse_groups + - drm/vc4: hvs: Set AXI panic modes + - drm/vc4: hvs: Fix colour order for xRGB1555 on HVS5 + - drm/vc4: hdmi: Correct interlaced timings again + - drm/msm: clean event_thread->worker in case of an error + - scsi: qla2xxx: edif: Fix I/O timeout due to over-subscription + - scsi: qla2xxx: Fix exchange oversubscription + - scsi: qla2xxx: Fix exchange oversubscription for management commands + - ASoC: fsl_sai: initialize is_dsp_mode flag + - drm/msm/adreno: Fix null ptr access in adreno_gpu_cleanup() + - ALSA: hda/ca0132: minor fix for allocation size + - drm/msm/gem: Add check for kmalloc + - drm/msm/dpu: Disallow unallocated resources to be returned + - drm/bridge: lt9611: fix sleep mode setup + - drm/bridge: lt9611: fix HPD reenablement + - drm/bridge: lt9611: fix polarity programming + - drm/bridge: lt9611: fix programming of video modes + - drm/bridge: lt9611: fix clock calculation + - drm/bridge: lt9611: pass a pointer to the of node + - drm/mipi-dsi: Fix byte order of 16-bit DCS set/get brightness + - drm: exynos: dsi: Fix MIPI_DSI*_NO_* mode flags + - drm/msm/dsi: Allow 2 CTRLs on v2.5.0 + - drm/msm: use strscpy instead of strncpy + - drm/msm/dpu: Add check for cstate + - drm/msm/dpu: Add check for pstates + - drm/msm/mdp5: Add check for kzalloc + - pinctrl: bcm2835: Remove of_node_put() in bcm2835_of_gpio_ranges_fallback() + - pinctrl: mediatek: Initialize variable pullen and pullup to zero + - pinctrl: mediatek: Initialize variable *buf to zero + - gpu: host1x: Don't skip assigning syncpoints to channels + - drm/tegra: firewall: Check for is_addr_reg existence in IMM check + - drm/msm/dpu: set pdpu->is_rt_pipe early in dpu_plane_sspp_atomic_update() + - drm/mediatek: dsi: Reduce the time of dsi from LP11 to sending cmd + - drm/mediatek: Use NULL instead of 0 for NULL pointer + - drm/mediatek: Drop unbalanced obj unref + - drm/mediatek: mtk_drm_crtc: Add checks for devm_kcalloc + - drm/mediatek: Clean dangling pointer on bind error path + - ASoC: soc-compress.c: fixup private_data on snd_soc_new_compress() + - gpio: vf610: connect GPIO label to dev name + - spi: dw_bt1: fix MUX_MMIO dependencies + - ASoC: mchp-spdifrx: fix controls which rely on rsr register + - ASoC: mchp-spdifrx: fix return value in case completion times out + - ASoC: mchp-spdifrx: fix controls that works with completion mechanism + - ASoC: mchp-spdifrx: disable all interrupts in mchp_spdifrx_dai_remove() + - ASoC: rsnd: fixup #endif position + - ASoC: mchp-spdifrx: Fix uninitialized use of mr in mchp_spdifrx_hw_params() + - ASoC: dt-bindings: meson: fix gx-card codec node regex + - hwmon: (ltc2945) Handle error case in ltc2945_value_store + - drm/amdgpu: fix enum odm_combine_mode mismatch + - scsi: mpt3sas: Fix a memory leak + - scsi: aic94xx: Add missing check for dma_map_single() + - HID: multitouch: Add quirks for flipped axes + - HID: retain initial quirks set up when creating HID devices + - ASoC: codecs: lpass: fix incorrect mclk rate + - spi: bcm63xx-hsspi: Fix multi-bit mode setting + - hwmon: (mlxreg-fan) Return zero speed for broken fan + - ASoC: tlv320adcx140: fix 'ti,gpio-config' DT property init + - dm: remove flush_scheduled_work() during local_exit() + - nfs4trace: fix state manager flag printing + - NFS: fix disabling of swap + - spi: synquacer: Fix timeout handling in synquacer_spi_transfer_one() + - ASoC: soc-dapm.h: fixup warning struct snd_pcm_substream not declared + - HID: bigben: use spinlock to protect concurrent accesses + - HID: bigben_worker() remove unneeded check on report_field + - HID: bigben: use spinlock to safely schedule workers + - hid: bigben_probe(): validate report count + - drm/shmem-helper: Fix locking for drm_gem_shmem_get_pages_sgt() + - nfsd: fix race to check ls_layouts + - cifs: Fix lost destroy smbd connection when MR allocate failed + - cifs: Fix warning and UAF when destroy the MR list + - gfs2: jdata writepage fix + - perf llvm: Fix inadvertent file creation + - leds: led-core: Fix refcount leak in of_led_get() + - perf inject: Use perf_data__read() for auxtrace + - perf intel-pt: Do not try to queue auxtrace data on pipe + - perf tools: Fix auto-complete on aarch64 + - sparc: allow PM configs for sparc32 COMPILE_TEST + - printf: fix errname.c list + - objtool: add UACCESS exceptions for __tsan_volatile_read/write + - mfd: cs5535: Don't build on UML + - mfd: pcf50633-adc: Fix potential memleak in pcf50633_adc_async_read() + - dmaengine: idxd: Set traffic class values in GRPCFG on DSA 2.0 + - [Config] updateconfigs for HISI_DMA + - dmaengine: HISI_DMA should depend on ARCH_HISI + - iio: light: tsl2563: Do not hardcode interrupt trigger type + - usb: gadget: fusb300_udc: free irq on the error path in fusb300_probe() + - i2c: designware: fix i2c_dw_clk_rate() return size to be u32 + - soundwire: cadence: Don't overflow the command FIFOs + - driver core: fix potential null-ptr-deref in device_add() + - kobject: modify kobject_get_path() to take a const * + - kobject: Fix slab-out-of-bounds in fill_kobj_path() + - alpha/boot/tools/objstrip: fix the check for ELF header + - media: uvcvideo: Check for INACTIVE in uvc_ctrl_is_accessible() + - coresight: etm4x: Fix accesses to TRCSEQRSTEVR and TRCSEQSTR + - coresight: cti: Prevent negative values of enable count + - coresight: cti: Add PM runtime call in enable_store + - ACPI: resource: Add helper function acpi_dev_get_memory_resources() + - usb: typec: intel_pmc_mux: Use the helper acpi_dev_get_memory_resources() + - usb: typec: intel_pmc_mux: Don't leak the ACPI device reference count + - PCI/IOV: Enlarge virtfn sysfs name buffer + - PCI: switchtec: Return -EFAULT for copy_to_user() errors + - tty: serial: fsl_lpuart: disable Rx/Tx DMA in lpuart32_shutdown() + - tty: serial: fsl_lpuart: clear LPUART Status Register in lpuart32_shutdown() + - serial: tegra: Add missing clk_disable_unprepare() in tegra_uart_hw_init() + - Revert "char: pcmcia: cm4000_cs: Replace mdelay with usleep_range in + set_protocol" + - eeprom: idt_89hpesx: Fix error handling in idt_init() + - applicom: Fix PCI device refcount leak in applicom_init() + - firmware: stratix10-svc: add missing gen_pool_destroy() in + stratix10_svc_drv_probe() + - VMCI: check context->notify_page after call to get_user_pages_fast() to + avoid GPF + - misc/mei/hdcp: Use correct macros to initialize uuid_le + - driver core: fix resource leak in device_add() + - drivers: base: transport_class: fix possible memory leak + - drivers: base: transport_class: fix resource leak when + transport_add_device() fails + - firmware: dmi-sysfs: Fix null-ptr-deref in dmi_sysfs_register_handle + - fotg210-udc: Add missing completion handler + - dmaengine: dw-edma: Fix missing src/dst address of interleaved xfers + - usb: early: xhci-dbc: Fix a potential out-of-bound memory access + - tty: serial: fsl_lpuart: Fix the wrong RXWATER setting for rx dma case + - RDMA/cxgb4: add null-ptr-check after ip_dev_find() + - usb: musb: mediatek: don't unregister something that wasn't registered + - usb: gadget: configfs: Restrict symlink creation is UDC already binded + - iommu/vt-d: Set No Execute Enable bit in PASID table entry + - power: supply: remove faulty cooling logic + - RDMA/cxgb4: Fix potential null-ptr-deref in pass_establish() + - usb: max-3421: Fix setting of I/O pins + - RDMA/irdma: Cap MSIX used to online CPUs + 1 + - serial: fsl_lpuart: fix RS485 RTS polariy inverse issue + - tty: serial: imx: Handle RS485 DE signal active high + - tty: serial: imx: disable Ageing Timer interrupt request irq + - dmaengine: dw-edma: Fix readq_ch() return value truncation + - phy: rockchip-typec: fix tcphy_get_mode error case + - iw_cxgb4: Fix potential NULL dereference in c4iw_fill_res_cm_id_entry() + - iommu: Fix error unwind in iommu_group_alloc() + - dmaengine: sf-pdma: pdma_desc memory leak fix + - dmaengine: dw-axi-dmac: Do not dereference NULL structure + - iommu/vt-d: Fix error handling in sva enable/disable paths + - iommu/vt-d: Allow to use flush-queue when first level is default + - IB/hfi1: Fix math bugs in hfi1_can_pin_pages() + - IB/hfi1: Fix sdma.h tx->num_descs off-by-one errors + - remoteproc: qcom_q6v5_mss: Use a carveout to authenticate modem headers + - media: ti: cal: fix possible memory leak in cal_ctx_create() + - media: platform: ti: Add missing check for devm_regulator_get + - powerpc: Remove linker flag from KBUILD_AFLAGS + - s390/vdso: Drop '-shared' from KBUILD_CFLAGS_64 + - builddeb: clean generated package content + - media: max9286: Fix memleak in max9286_v4l2_register() + - media: ov2740: Fix memleak in ov2740_init_controls() + - media: ov5675: Fix memleak in ov5675_init_controls() + - media: i2c: ov772x: Fix memleak in ov772x_probe() + - media: i2c: imx219: Split common registers from mode tables + - media: i2c: imx219: Fix binning for RAW8 capture + - media: v4l2-jpeg: correct the skip count in jpeg_parse_app14_data + - media: v4l2-jpeg: ignore the unknown APP14 marker + - media: imx-jpeg: Apply clk_bulk api instead of operating specific clk + - media: i2c: ov7670: 0 instead of -EINVAL was returned + - media: usb: siano: Fix use after free bugs caused by do_submit_urb + - media: saa7134: Use video_unregister_device for radio_dev + - rpmsg: glink: Avoid infinite loop on intent for missing channel + - udf: Define EFSCORRUPTED error code + - ARM: dts: exynos: Use Exynos5420 compatible for the MIPI video phy + - blk-iocost: fix divide by 0 error in calc_lcoefs() + - trace/blktrace: fix memory leak with using debugfs_lookup() + - wifi: ath9k: Fix use-after-free in ath9k_hif_usb_disconnect() + - wifi: brcmfmac: Fix potential stack-out-of-bounds in brcmf_c_preinit_dcmds() + - rcu: Make RCU_LOCKDEP_WARN() avoid early lockdep checks + - rcu: Suppress smp_processor_id() complaint in + synchronize_rcu_expedited_wait() + - rcu-tasks: Make rude RCU-Tasks work well with CPU hotplug + - wifi: ath11k: debugfs: fix to work with multiple PCI devices + - thermal: intel: Fix unsigned comparison with less than zero + - timers: Prevent union confusion from unexpected restart_syscall() + - x86/bugs: Reset speculation control settings on init + - wifi: brcmfmac: ensure CLM version is null-terminated to prevent stack-out- + of-bounds + - wifi: mt7601u: fix an integer underflow + - inet: fix fast path in __inet_hash_connect() + - ice: restrict PTP HW clock freq adjustments to 100, 000, 000 PPB + - ice: add missing checks for PF vsi type + - ACPI: Don't build ACPICA with '-Os' + - thermal: intel: intel_pch: Add support for Wellsburg PCH + - clocksource: Suspend the watchdog temporarily when high read latency + detected + - crypto: hisilicon: Wipe entire pool on error + - net: bcmgenet: Add a check for oversized packets + - m68k: Check syscall_trace_enter() return code + - netfilter: nf_tables: NULL pointer dereference in nf_tables_updobj() + - tools/power/x86/intel-speed-select: Add Emerald Rapid quirk + - wifi: mt76: dma: free rx_head in mt76_dma_rx_cleanup + - ACPI: video: Fix Lenovo Ideapad Z570 DMI match + - net/mlx5: fw_tracer: Fix debug print + - coda: Avoid partial allocation of sig_inputArgs + - uaccess: Add minimum bounds check on kernel buffer size + - s390/idle: mark arch_cpu_idle() noinstr + - time/debug: Fix memory leak with using debugfs_lookup() + - PM: domains: fix memory leak with using debugfs_lookup() + - PM: EM: fix memory leak with using debugfs_lookup() + - Bluetooth: btusb: Add VID:PID 13d3:3529 for Realtek RTL8821CE + - hv_netvsc: Check status in SEND_RNDIS_PKT completion message + - scm: add user copy checks to put_cmsg() + - drm/amd/display: Revert Reduce delay when sink device not able to ACK 00340h + write + - drm/amd/display: Fix potential null-deref in dm_resume + - drm/omap: dsi: Fix excessive stack usage + - HID: Add Mapping for System Microphone Mute + - drm/tiny: ili9486: Do not assume 8-bit only SPI controllers + - drm/radeon: free iio for atombios when driver shutdown + - scsi: lpfc: Fix use-after-free KFENCE violation during sysfs firmware write + - Revert "fbcon: don't lose the console font across generic->chip driver + switch" + - drm: amd: display: Fix memory leakage + - drm/msm/dsi: Add missing check for alloc_ordered_workqueue + - docs/scripts/gdb: add necessary make scripts_gdb step + - ASoC: soc-compress: Reposition and add pcm_mutex + - ASoC: kirkwood: Iterate over array indexes instead of using pointer math + - regulator: max77802: Bounds check regulator id against opmode + - regulator: s5m8767: Bounds check id indexing into arrays + - gfs2: Improve gfs2_make_fs_rw error handling + - hwmon: (coretemp) Simplify platform device handling + - pinctrl: at91: use devm_kasprintf() to avoid potential leaks + - scsi: snic: Fix memory leak with using debugfs_lookup() + - HID: logitech-hidpp: Don't restart communication if not necessary + - drm: panel-orientation-quirks: Add quirk for Lenovo IdeaPad Duet 3 10IGL5 + - dm thin: add cond_resched() to various workqueue loops + - dm cache: add cond_resched() to various workqueue loops + - nfsd: zero out pointers after putting nfsd_files on COPY setup error + - drm/shmem-helper: Revert accidental non-GPL export + - wifi: rtl8xxxu: fixing transmisison failure for rtl8192eu + - firmware: coreboot: framebuffer: Ignore reserved pixel color bits + - block: don't allow multiple bios for IOCB_NOWAIT issue + - rtc: pm8xxx: fix set-alarm race + - ipmi:ssif: resend_msg() cannot fail + - ipmi_ssif: Rename idle state and check + - s390/extmem: return correct segment type in __segment_load() + - s390: discard .interp section + - s390/kprobes: fix irq mask clobbering on kprobe reenter from post_handler + - s390/kprobes: fix current_kprobe never cleared after kprobes reenter + - cifs: Fix uninitialized memory read in smb3_qfs_tcon() + - btrfs: hold block group refcount during async discard + - locking/rwsem: Prevent non-first waiter from spinning in down_write() + slowpath + - ksmbd: fix wrong data area length for smb2 lock request + - ksmbd: do not allow the actual frame length to be smaller than the rfc1002 + length + - ARM: dts: exynos: correct HDMI phy compatible in Exynos4 + - hfs: fix missing hfs_bnode_get() in __hfs_bnode_create + - fs: hfsplus: fix UAF issue in hfsplus_put_super + - exfat: fix reporting fs error when reading dir beyond EOF + - exfat: fix unexpected EOF while reading dir + - exfat: redefine DIR_DELETED as the bad cluster number + - exfat: fix inode->i_blocks for non-512 byte sector size device + - fs: dlm: don't set stop rx flag after node reset + - fs: dlm: move sending fin message into state change handling + - fs: dlm: send FIN ack back in right cases + - f2fs: fix information leak in f2fs_move_inline_dirents() + - f2fs: fix cgroup writeback accounting with fs-layer encryption + - ocfs2: fix defrag path triggering jbd2 ASSERT + - ocfs2: fix non-auto defrag path not working issue + - selftests/landlock: Skip overlayfs tests when not supported + - selftests/landlock: Test ptrace as much as possible with Yama + - udf: Truncate added extents on failed expansion + - udf: Do not bother merging very long extents + - udf: Do not update file length for failed writes to inline files + - udf: Preserve link count of system files + - udf: Detect system inodes linked into directory hierarchy + - udf: Fix file corruption when appending just after end of preallocated + extent + - RDMA/siw: Fix user page pinning accounting + - KVM: Destroy target device if coalesced MMIO unregistration fails + - KVM: x86: Inject #GP if WRMSR sets reserved bits in APIC Self-IPI + - KVM: SVM: Fix potential overflow in SEV's send|receive_update_data() + - KVM: SVM: hyper-v: placate modpost section mismatch error + - KVM: s390: disable migration mode when dirty tracking is disabled + - x86/virt: Force GIF=1 prior to disabling SVM (for reboot flows) + - x86/crash: Disable virt in core NMI crash handler to avoid double shootdown + - x86/reboot: Disable virtualization in an emergency if SVM is supported + - x86/reboot: Disable SVM, not just VMX, when stopping CPUs + - x86/kprobes: Fix __recover_optprobed_insn check optimizing logic + - x86/kprobes: Fix arch_check_optimized_kprobe check within optimized_kprobe + range + - x86/microcode/amd: Remove load_microcode_amd()'s bsp parameter + - x86/microcode/AMD: Add a @cpu parameter to the reloading functions + - x86/microcode/AMD: Fix mixed steppings support + - x86/speculation: Allow enabling STIBP with legacy IBRS + - Documentation/hw-vuln: Document the interaction between IBRS and STIBP + - brd: return 0/-error from brd_insert_page() + - ima: Align ima_file_mmap() parameters with mmap_file LSM hook + - irqdomain: Fix association race + - irqdomain: Fix disassociation race + - irqdomain: Look for existing mapping only once + - irqdomain: Drop bogus fwspec-mapping error handling + - irqdomain: Fix domain registration race + - crypto: qat - fix out-of-bounds read + - io_uring: handle TIF_NOTIFY_RESUME when checking for task_work + - io_uring: mark task TASK_RUNNING before handling resume/task work + - io_uring: add a conditional reschedule to the IOPOLL cancelation loop + - io_uring/rsrc: disallow multi-source reg buffers + - io_uring: remove MSG_NOSIGNAL from recvmsg + - io_uring/poll: allow some retries for poll triggering spuriously + - ALSA: ice1712: Do not left ice->gpio_mutex locked in aureon_add_controls() + - ALSA: hda/realtek: Add quirk for HP EliteDesk 800 G6 Tower PC + - jbd2: fix data missing when reusing bh which is ready to be checkpointed + - ext4: optimize ea_inode block expansion + - ext4: refuse to create ea block when umounted + - mtd: spi-nor: sfdp: Fix index value for SCCR dwords + - mtd: spi-nor: spansion: Consider reserved bits in CFR5 register + - mtd: spi-nor: Fix shift-out-of-bounds in spi_nor_set_erase_type + - dm: send just one event on resize, not two + - dm: add cond_resched() to dm_wq_work() + - wifi: rtl8xxxu: Use a longer retry limit of 48 + - wifi: ath11k: allow system suspend to survive ath11k + - wifi: cfg80211: Fix use after free for wext + - qede: fix interrupt coalescing configuration + - thermal: intel: powerclamp: Fix cur_state for multi package system + - dm flakey: fix logic when corrupting a bio + - dm flakey: don't corrupt the zero page + - dm flakey: fix a bug with 32-bit highmem systems + - ARM: dts: qcom: sdx55: Add Qcom SMMU-500 as the fallback for IOMMU node + - ARM: dts: exynos: correct TMU phandle in Exynos4210 + - ARM: dts: exynos: correct TMU phandle in Exynos4 + - ARM: dts: exynos: correct TMU phandle in Odroid XU3 family + - ARM: dts: exynos: correct TMU phandle in Exynos5250 + - ARM: dts: exynos: correct TMU phandle in Odroid XU + - ARM: dts: exynos: correct TMU phandle in Odroid HC1 + - fuse: add inode/permission checks to fileattr_get/fileattr_set + - rbd: avoid use-after-free in do_rbd_add() when rbd_dev_create() fails + - ceph: update the time stamps and try to drop the suid/sgid + - alpha: fix FEN fault handling + - dax/kmem: Fix leak of memory-hotplug resources + - mips: fix syscall_get_nr + - media: ipu3-cio2: Fix PM runtime usage_count in driver unbind + - remoteproc/mtk_scp: Move clk ops outside send_lock + - docs: gdbmacros: print newest record + - mm: memcontrol: deprecate charge moving + - mm/thp: check and bail out if page in deferred queue already + - ktest.pl: Give back console on Ctrt^C on monitor + - ktest.pl: Fix missing "end_monitor" when machine check fails + - ktest.pl: Add RUN_TIMEOUT option with default unlimited + - ring-buffer: Handle race between rb_move_tail and rb_check_pages + - tools/bootconfig: fix single & used for logical condition + - scsi: qla2xxx: Fix link failure in NPIV environment + - scsi: qla2xxx: Check if port is online before sending ELS + - scsi: qla2xxx: Fix DMA-API call trace on NVMe LS requests + - scsi: qla2xxx: Remove unintended flag clearing + - scsi: qla2xxx: Fix erroneous link down + - scsi: qla2xxx: Remove increment of interface err cnt + - scsi: ses: Don't attach if enclosure has no components + - scsi: ses: Fix slab-out-of-bounds in ses_enclosure_data_process() + - scsi: ses: Fix possible addl_desc_ptr out-of-bounds accesses + - scsi: ses: Fix possible desc_ptr out-of-bounds accesses + - scsi: ses: Fix slab-out-of-bounds in ses_intf_remove() + - RISC-V: add a spin_shadow_stack declaration + - riscv: mm: fix regression due to update_mmu_cache change + - riscv: jump_label: Fixup unaligned arch_static_branch function + - riscv, mm: Perform BPF exhandler fixup on page fault + - riscv: ftrace: Remove wasted nops for !RISCV_ISA_C + - riscv: ftrace: Reduce the detour code size to half + - MIPS: DTS: CI20: fix otg power gpio + - PCI/PM: Observe reset delay irrespective of bridge_d3 + - PCI: hotplug: Allow marking devices as disconnected during bind/unbind + - PCI: Avoid FLR for AMD FCH AHCI adapters + - iommu/vt-d: Avoid superfluous IOTLB tracking in lazy mode + - vfio/type1: prevent underflow of locked_vm via exec() + - vfio/type1: track locked_vm per dma + - vfio/type1: restore locked_vm + - drm/i915/quirks: Add inverted backlight quirk for HP 14-r206nv + - drm/radeon: Fix eDP for single-display iMac11,2 + - drm/edid: fix AVI infoframe aspect ratio handling + - qede: avoid uninitialized entries in coal_entry array + - arm64: dts: qcom: ipq8074: fix Gen2 PCIe QMP PHY + - wifi: ath9k: use proper statements in conditionals + - kbuild: Port silent mode detection to future gnu make. + - arm64: dts: qcom: sm6350: Fix up the ramoops node + - arm64: dts: mediatek: mt8192: Fix systimer 13 MHz clock description + - arm64: dts: mediatek: mt8195: Fix systimer 13 MHz clock description + - x86/acpi/boot: Do not register processors that cannot be onlined for x2APIC + - arm64: dts: meson-gxl: jethub-j80: Fix WiFi MAC address node + - arm64: dts: meson-gxl: jethub-j80: Fix Bluetooth MAC node name + - arm64: tegra: Fix duplicate regulator on Jetson TX1 + - arm64: dts: mediatek: mt8192: Mark scp_adsp clock as broken + - arm64: dts: meson: radxa-zero: allow usb otg mode + - arm64: dts: mt8195: Fix CPU map for single-cluster SoC + - arm64: dts: mediatek: mt7986: Fix watchdog compatible + - ARM: dts: stm32: Update part number NVMEM description on stm32mp131 + - blk-mq: wait on correct sbitmap_queue in blk_mq_mark_tag_wait + - blk-mq: Fix potential io hung for shared sbitmap per tagset + - arm64: dts: qcom: sm8350: drop incorrect cells from serial + - arm64: dts: qcom: msm8953: correct TLMM gpio-ranges + - block: Fix io statistics for cgroup in throttle path + - wifi: mt76: mt7915: add missing of_node_put() + - wifi: mt76: mt7921s: fix slab-out-of-bounds access in sdio host + - wifi: mt76: mt7915: check return value before accessing free_block_num + - wifi: mt76: mt7915: drop always true condition of __mt7915_reg_addr() + - wifi: mt76: mt7915: fix unintended sign extension of mt7915_hw_queue_read() + - wifi: rtw89: 8852c: rfk: correct DACK setting + - wifi: rtw89: 8852c: rfk: correct DPK settings + - wifi: wilc1000: add missing unregister_netdev() in wilc_netdev_ifc_init() + - libbpf: Fix invalid return address register in s390 + - kselftest/arm64: Fix syscall-abi for systems without 128 bit SME + - workqueue: Protects wq_unbound_cpumask with wq_pool_attach_mutex + - s390/early: fix sclp_early_sccb variable lifetime + - s390/vfio-ap: fix an error handling path in vfio_ap_mdev_probe_queue() + - x86/signal: Fix the value returned by strict_sas_size() + - wifi: rtw89: fix potential leak in rtw89_append_probe_req_ie() + - wifi: rtw89: Add missing check for alloc_workqueue + - s390/bpf: Add expoline to tail calls + - wifi: iwlwifi: mei: fix compilation errors in rfkill() + - kselftest/arm64: Fix enumeration of systems without 128 bit SME + - can: rcar_canfd: Fix R-Car V3U GAFLCFG field accesses + - wifi: mt76: mt7915: call mt7915_mcu_set_thermal_throttling() only after + init_work + - wifi: mt76: mt7915: fix memory leak in mt7915_mcu_exit + - wifi: mt76: add memory barrier to SDIO queue kick + - cpufreq: davinci: Fix clk use after free + - net: ipa: generic command param fix + - crypto: octeontx2 - Fix objects shared between several modules + - tools/lib/thermal: Fix thermal_sampling_exit() + - selftests/bpf: Fix map_kptr test. + - net/smc: fix potential panic dues to unprotected smc_llc_srv_add_link() + - net: lan966x: Fix possible deadlock inside PTP + - net/mlx4_en: Introduce flexible array to silence overflow warning + - drm/msm/dpu: check for null return of devm_kzalloc() in dpu_writeback_init() + - drm/vc4: hvs: SCALER_DISPBKGND_AUTOHS is only valid on HVS4 + - scsi: qla2xxx: edif: Fix clang warning + - scsi: ufs: exynos: Fix DMA alignment for PAGE_SIZE != 4096 + - habanalabs: bugs fixes in timestamps buff alloc + - dt-bindings: display: mediatek: Fix the fallback for mediatek,mt8186-disp- + ccorr + - ASoC: topology: Properly access value coming from topology file + - regmap: apply reg_base and reg_downshift for single register ops + - hwmon: (asus-ec-sensors) add missing mutex path + - [Config] updateconfigs for SND_HDA_CTL_DEV_ID + - ALSA: hda: Fix the control element identification for multiple codecs + - ASoC: qcom: q6apm-lpass-dai: unprepare stream if its already prepared + - ASoC: qcom: q6apm-dai: fix race condition while updating the position + pointer + - ASoC: qcom: q6apm-dai: Add SNDRV_PCM_INFO_BATCH flag + - nfsd: fix courtesy client with deny mode handling in nfs4_upgrade_open + - NFSD: copy the whole verifier in nfsd_copy_write_verifier + - cifs: use tcon allocation functions even for dummy tcon + - tools/tracing/rtla: osnoise_hist: use total duration for average calculation + - perf test bpf: Skip test if kernel-debuginfo is not present + - perf record: Fix segfault with --overwrite and --max-size + - RDMA/hns: Fix refcount leak in hns_roce_mmap + - mei: pxp: Use correct macros to initialize uuid_le + - misc: fastrpc: Fix an error handling path in fastrpc_rpmsg_probe() + - driver core: location: Free struct acpi_pld_info *pld before return false + - PCI: mt7621: Delay phy ports initialization + - driver core: fw_devlink: Add DL_FLAG_CYCLE support to device links + - mtd: mtdpart: Don't create platform device that'll never probe + - usb: host: fsl-mph-dr-of: reuse device_set_of_node_from_dev + - PCI: Fix dropping valid root bus resources with .end = zero + - dmaengine: ptdma: check for null desc before calling pt_cmd_callback + - RDMA/rxe: Fix missing memory barriers in rxe_queue.h + - media: imx: imx7-media-csi: fix missing clk_disable_unprepare() in + imx7_csi_init() + - media: camss: csiphy-3ph: avoid undefined behavior + - media: drivers/media/v4l2-core/v4l2-h264 : add detection of null pointers + - rpmsg: glink: Release driver_override + - block: clear bio->bi_bdev when putting a bio back in the cache + - block: be a bit more careful in checking for NULL bdev while polling + - ipmi: ipmb: Fix the MODULE_PARM_DESC associated to 'retry_time_ms' + - io_uring: Replace 0-length array with flexible array + - io_uring: fix fget leak when fs don't support nowait buffered read + - scsi: mpi3mr: Fix missing mrioc->evtack_cmds initialization + - scsi: mpi3mr: Fix issues in mpi3mr_get_all_tgt_info() + - scsi: mpi3mr: Remove unnecessary memcpy() to alltgt_info->dmi + - ksmbd: fix possible memory leak in smb2_lock() + - f2fs: fix kernel crash due to null io->bio + - KVM: VMX: Fix crash due to uninitialized current_vmcs + - KVM: x86: Purge "highest ISR" cache when updating APICv state + - KVM: x86: Don't inhibit APICv/AVIC on xAPIC ID "change" if APIC is disabled + - KVM: x86: Don't inhibit APICv/AVIC if xAPIC ID mismatch is due to 32-bit ID + - KVM: SVM: Process ICR on AVIC IPI delivery failure due to invalid target + - virt/sev-guest: Return -EIO if certificate buffer is not large enough + - ima: fix error handling logic when file measurement failed + - irqdomain: Refactor __irq_domain_alloc_irqs() + - irqdomain: Fix mapping-creation race + - mm/damon/paddr: fix missing folio_put() + - cxl/pmem: Fix nvdimm registration races + - cpuidle: add ARCH_SUSPEND_POSSIBLE dependencies + - hwmon: (peci/cputemp) Fix off-by-one in coretemp_label allocation + - hwmon: (nct6775) Fix incorrect parenthesization in nct6775_write_fan_div() + - ARM: dts: qcom: sdx65: Add Qcom SMMU-500 as the fallback for IOMMU node + - [Config] updateconfigs for HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON + - arm64: mm: hugetlb: Disable HUGETLB_PAGE_OPTIMIZE_VMEMMAP + - panic: fix the panic_print NMI backtrace setting + - kprobes: Fix to handle forcibly unoptimized kprobes on freeing_list + - scsi: aacraid: Allocate cmd_priv with scsicmd + - riscv: Avoid enabling interrupts in die() + - PCI: Unify delay handling for reset and resume + - bus: mhi: ep: Only send -ENOTCONN status if client driver is available + - bus: mhi: ep: Move chan->lock to the start of processing queued ch ring + - bus: mhi: ep: Save channel state locally during suspend and resume + - iommu/vt-d: Fix PASID directory pointer coherency + - vfio/type1: exclude mdevs from VFIO_UPDATE_VADDR + - drm/i915: Don't use stolen memory for ring buffers with LLC + - drm/i915: Don't use BAR mappings for ring buffers with LLC + + * CVE-2022-4269 + - act_mirred: use the backlog for nested calls to mirred ingress + - net/sched: act_mirred: better wording on protection against excessive stack + growth + + * CVE-2023-30456 + - KVM: nVMX: add missing consistency checks for CR0 and CR4 + + * CVE-2023-1859 + - 9p/xen : Fix use after free bug in xen_9pfs_front_remove due to race + condition + + * CVE-2023-1670 + - xirc2ps_cs: Fix use after free bug in xirc2ps_detach + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + -- Roxana Nicolescu Tue, 16 May 2023 11:36:36 +0200 + +linux (5.19.0-42.43) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-42.43 -proposed tracker (LP: #2016503) + + * selftest: fib_tests: Always cleanup before exit (LP: #2015956) + - selftest: fib_tests: Always cleanup before exit + + * Debian autoreconstruct Fix restoration of execute permissions (LP: #2015498) + - [Debian] autoreconstruct - fix restoration of execute permissions + + * Kinetic update: upstream stable patchset 2023-04-10 (LP: #2015812) + - drm/etnaviv: don't truncate physical page address + - wifi: rtl8xxxu: gen2: Turn on the rate control + - drm/edid: Fix minimum bpc supported with DSC1.2 for HDMI sink + - clk: mxl: Switch from direct readl/writel based IO to regmap based IO + - clk: mxl: Remove redundant spinlocks + - clk: mxl: Add option to override gate clks + - clk: mxl: Fix a clk entry by adding relevant flags + - powerpc: dts: t208x: Mark MAC1 and MAC2 as 10G + - clk: mxl: syscon_node_to_regmap() returns error pointers + - random: always mix cycle counter in add_latent_entropy() + - KVM: x86: Fail emulation during EMULTYPE_SKIP on any exception + - KVM: SVM: Skip WRMSR fastpath on VM-Exit if next RIP isn't valid + - can: kvaser_usb: hydra: help gcc-13 to figure out cmd_len + - powerpc: dts: t208x: Disable 10G on MAC1 and MAC2 + - powerpc/vmlinux.lds: Ensure STRICT_ALIGN_SIZE is at least page aligned + - powerpc/64s/radix: Fix RWX mapping with relocated kernel + - uaccess: Add speculation barrier to copy_from_user() + - wifi: mwifiex: Add missing compatible string for SD8787 + - audit: update the mailing list in MAINTAINERS + - ext4: Fix function prototype mismatch for ext4_feat_ktype + - Revert "net/sched: taprio: make qdisc_leaf() see the per-netdev-queue pfifo + child qdiscs" + - bpf: add missing header file include + - wifi: ath11k: fix warning in dma_free_coherent() of memory chunks while + recovery + - sched/psi: Stop relying on timer_pending() for poll_work rescheduling + - docs: perf: Fix PMU instance name of hisi-pcie-pmu + - randstruct: disable Clang 15 support + - ionic: refactor use of ionic_rx_fill() + - Fix XFRM-I support for nested ESP tunnels + - arm64: dts: rockchip: drop unused LED mode property from rk3328-roc-cc + - ARM: dts: rockchip: add power-domains property to dp node on rk3288 + - HID: elecom: add support for TrackBall 056E:011C + - ACPI: NFIT: fix a potential deadlock during NFIT teardown + - btrfs: send: limit number of clones and allocated memory size + - ASoC: rt715-sdca: fix clock stop prepare timeout issue + - IB/hfi1: Assign npages earlier + - neigh: make sure used and confirmed times are valid + - HID: core: Fix deadloop in hid_apply_multiplier. + - x86/cpu: Add Lunar Lake M + - bpf: bpf_fib_lookup should not return neigh in NUD_FAILED state + - net: Remove WARN_ON_ONCE(sk->sk_forward_alloc) from sk_stream_kill_queues(). + - vc_screen: don't clobber return value in vcs_read + - scripts/tags.sh: fix incompatibility with PCRE2 + - usb: dwc3: pci: add support for the Intel Meteor Lake-M + - USB: serial: option: add support for VW/Skoda "Carstick LTE" + - usb: gadget: u_serial: Add null pointer check in gserial_resume + - USB: core: Don't hold device lock while reading the "descriptors" sysfs file + + * Kinetic update: upstream stable patchset 2023-04-06 (LP: #2015511) + - ARM: dts: imx: Fix pca9547 i2c-mux node name + - ARM: dts: vf610: Fix pca9548 i2c-mux node names + - arm64: dts: freescale: Fix pca954x i2c-mux node names + - arm64: dts: imx8mq-thor96: fix no-mmc property for SDHCI + - firmware: arm_scmi: Clear stale xfer->hdr.status + - bpf: Skip task with pid=1 in send_signal_common() + - erofs/zmap.c: Fix incorrect offset calculation + - blk-cgroup: fix missing pd_online_fn() while activating policy + - HID: playstation: sanity check DualSense calibration data. + - dmaengine: imx-sdma: Fix a possible memory leak in sdma_transfer_init + - cifs: fix return of uninitialized rc in dfs_cache_update_tgthint() + - extcon: usbc-tusb320: fix kernel-doc warning + - net: fix NULL pointer in skb_segment_list + - net: mctp: purge receive queues on sk destruction + - firewire: fix memory leak for payload of request subaction to IEC 61883-1 + FCP region + - bus: sunxi-rsb: Fix error handling in sunxi_rsb_init() + - ASoC: Intel: bytcht_es8316: Drop reference count of ACPI device after use + - ASoC: Intel: bytcr_rt5651: Drop reference count of ACPI device after use + - ASoC: Intel: bytcr_rt5640: Drop reference count of ACPI device after use + - ASoC: Intel: bytcr_wm5102: Drop reference count of ACPI device after use + - bpf: Fix a possible task gone issue with bpf_send_signal[_thread]() helpers + - ALSA: hda/via: Avoid potential array out-of-bound in add_secret_dac_path() + - bpf: Fix to preserve reg parent/live fields when copying range info + - bpf, sockmap: Check for any of tcp_bpf_prots when cloning a listener + - arm64: dts: imx8mm: Fix pad control for UART1_DTE_RX + - drm/vc4: hdmi: make CEC adapter name unique + - scsi: Revert "scsi: core: map PQ=1, PDT=other values to + SCSI_SCAN_TARGET_PRESENT" + - vhost/net: Clear the pending messages when the backend is removed + - WRITE is "data source", not destination... + - READ is "data destination", not source... + - fix iov_iter_bvec() "direction" argument + - fix "direction" argument of iov_iter_kvec() + - ice: Prevent set_channel from changing queues while RDMA active + - qede: execute xdp_do_flush() before napi_complete_done() + - virtio-net: execute xdp_do_flush() before napi_complete_done() + - dpaa_eth: execute xdp_do_flush() before napi_complete_done() + - dpaa2-eth: execute xdp_do_flush() before napi_complete_done() + - sfc: correctly advertise tunneled IPv6 segmentation + - net: phy: dp83822: Fix null pointer access on DP83825/DP83826 devices + - block, bfq: replace 0/1 with false/true in bic apis + - block, bfq: fix uaf for bfqq in bic_set_bfqq() + - netrom: Fix use-after-free caused by accept on already connected socket + - drm/i915/guc: Fix locking when searching for a hung request + - drm/i915/adlp: Fix typo for reference clock + - netfilter: br_netfilter: disable sabotage_in hook after first suppression + - squashfs: harden sanity check in squashfs_read_xattr_id_table + - net: phy: meson-gxl: Add generic dummy stubs for MMD register access + - ip/ip6_gre: Fix changing addr gen mode not generating IPv6 link local + address + - ip/ip6_gre: Fix non-point-to-point tunnel not generating IPv6 link local + address + - riscv: kprobe: Fixup kernel panic when probing an illegal position + - igc: return an error if the mac type is unknown in + igc_ptp_systim_to_hwtstamp() + - can: j1939: fix errant WARN_ON_ONCE in j1939_session_deactivate + - ata: libata: Fix sata_down_spd_limit() when no link speed is reported + - selftests: net: udpgso_bench_rx: Fix 'used uninitialized' compiler warning + - selftests: net: udpgso_bench_rx/tx: Stop when wrong CLI args are provided + - selftests: net: udpgso_bench_tx: Cater for pending datagrams zerocopy + benchmarking + - virtio-net: Keep stop() to follow mirror sequence of open() + - net: openvswitch: fix flow memory leak in ovs_flow_cmd_new + - efi: fix potential NULL deref in efi_mem_reserve_persistent + - i2c: designware-pci: Add new PCI IDs for AMD NAVI GPU + - i2c: mxs: suppress probe-deferral error message + - scsi: target: core: Fix warning on RT kernels + - perf/x86/intel: Add Emerald Rapids + - scsi: iscsi_tcp: Fix UAF during logout when accessing the shost ipaddress + - scsi: iscsi_tcp: Fix UAF during login when accessing the shost ipaddress + - i2c: rk3x: fix a bunch of kernel-doc warnings + - platform/x86: gigabyte-wmi: add support for B450M DS3H WIFI-CF + - net/x25: Fix to not accept on connected socket + - drm/amd/display: Fix timing not changning when freesync video is enabled + - iio: adc: stm32-dfsdm: fill module aliases + - usb: dwc3: qcom: enable vbus override when in OTG dr-mode + - usb: gadget: f_fs: Fix unbalanced spinlock in __ffs_ep0_queue_wait + - vc_screen: move load of struct vc_data pointer in vcs_read() to avoid UAF + - fbcon: Check font dimension limits + - net: qrtr: free memory on error path in radix_tree_insert() + - watchdog: diag288_wdt: do not use stack buffers for hardware data + - watchdog: diag288_wdt: fix __diag288() inline assembly + - ALSA: hda/realtek: Add Acer Predator PH315-54 + - efi: Accept version 2 of memory attributes table + - iio: hid: fix the retval in accel_3d_capture_sample + - iio: hid: fix the retval in gyro_3d_capture_sample + - iio: adc: berlin2-adc: Add missing of_node_put() in error path + - iio:adc:twl6030: Enable measurements of VUSB, VBAT and others + - iio: imu: fxos8700: fix ACCEL measurement range selection + - iio: imu: fxos8700: fix incomplete ACCEL and MAGN channels readback + - iio: imu: fxos8700: fix IMU data bits returned to user space + - iio: imu: fxos8700: fix map label of channel type to MAGN sensor + - iio: imu: fxos8700: fix swapped ACCEL and MAGN channels readback + - iio: imu: fxos8700: fix incorrect ODR mode readback + - iio: imu: fxos8700: fix failed initialization ODR mode assignment + - iio: imu: fxos8700: remove definition FXOS8700_CTRL_ODR_MIN + - iio: imu: fxos8700: fix MAGN sensor scale and unit + - nvmem: qcom-spmi-sdam: fix module autoloading + - parisc: Fix return code of pdc_iodc_print() + - parisc: Wire up PTRACE_GETREGS/PTRACE_SETREGS for compat case + - riscv: disable generation of unwind tables + - mm: hugetlb: proc: check for hugetlb shared PMD in /proc/PID/smaps + - usb: gadget: f_uac2: Fix incorrect increment of bNumEndpoints + - kernel/irq/irqdomain.c: fix memory leak with using debugfs_lookup() + - x86/debug: Fix stack recursion caused by wrongly ordered DR7 accesses + - fpga: stratix10-soc: Fix return value check in s10_ops_write_init() + - mm/swapfile: add cond_resched() in get_swap_pages() + - highmem: round down the address passed to kunmap_flush_on_unmap() + - Squashfs: fix handling and sanity checking of xattr_ids count + - drm/i915: Fix potential bit_17 double-free + - nvmem: core: initialise nvmem->id early + - nvmem: core: remove nvmem_config wp_gpio + - nvmem: core: fix cell removal on error + - serial: 8250_dma: Fix DMA Rx completion race + - serial: 8250_dma: Fix DMA Rx rearm race + - phy: qcom-qmp-combo: fix memleak on probe deferral + - phy: qcom-qmp-usb: fix memleak on probe deferral + - phy: qcom-qmp-combo: fix broken power on + - phy: qcom-qmp-combo: fix runtime suspend + - iio:adc:twl6030: Enable measurement of VAC + - powerpc/imc-pmu: Revert nest_init_lock to being a mutex + - fs/ntfs3: Validate attribute data and valid sizes + - ovl: Use "buf" flexible array for memcpy() destination + - fbdev: smscufx: fix error handling code in ufx_usb_probe + - f2fs: fix to do sanity check on i_extra_isize in is_alive() + - wifi: brcmfmac: Check the count value of channel spec to prevent out-of- + bounds reads + - gfs2: Cosmetic gfs2_dinode_{in,out} cleanup + - gfs2: Always check inode size of inline inodes + - bpf: Skip invalid kfunc call in backtrack_insn + - ASoC: Intel: sof_es8336: Drop reference count of ACPI device after use + - ASoC: Intel: avs: Implement PCI shutdown + - bpf: Add missing btf_put to register_btf_id_dtor_kfuncs + - arm64: dts: imx8mm-verdin: Do not power down eth-phy + - vhost-scsi: unbreak any layout for response + - skb: Do mix page pool and page referenced frags in GRO + - net: wwan: t7xx: Fix Runtime PM initialization + - fscache: Use wait_on_bit() to wait for the freeing of relinquished volume + - drm/i915: Fix request ref counting during error capture & debugfs dump + - drm/i915: Fix up locking around dumping requests lists + - ALSA: firewire-motu: fix unreleased lock warning in hwdep device + - sctp: do not check hb_timer.expires when resetting hb_timer + - can: mcp251xfd: mcp251xfd_ring_set_ringparam(): assign missing + tx_obj_num_coalesce_irq + - rtc: sunplus: fix format string for printing resource + - certs: Fix build error when PKCS#11 URI contains semicolon + - hv_netvsc: Fix missed pagebuf entries in netvsc_dma_map/unmap() + - ARM: dts: imx7d-smegw01: Fix USB host over-current polarity + - can: isotp: split tx timer into transmission and timeout + - can: isotp: handle wait_event_interruptible() return values + - iio: adc: xilinx-ams: fix devm_krealloc() return value check + - iio: imx8qxp-adc: fix irq flood when call imx8qxp_adc_read_raw() + - nvmem: brcm_nvram: Add check for kzalloc + - nvmem: sunxi_sid: Always use 32-bit MMIO reads + - Revert "mm: kmemleak: alloc gray object for reserved region with direct map" + - mm: memcg: fix NULL pointer in mem_cgroup_track_foreign_dirty_slowpath() + - usb: typec: ucsi: Don't attempt to resume the ports before they exist + - usb: gadget: udc: do not clear gadget driver.bus + - mm/uffd: fix pte marker when fork() without fork event + - migrate: hugetlb: check for hugetlb shared PMD in node migration + - drm/i915: Avoid potential vm use-after-free + - nvmem: core: fix device node refcounting + - powerpc/64s/radix: Fix crash with unaligned relocated kernel + - powerpc/64s: Fix local irq disable when PMIs are disabled + - btrfs: limit device extents to the device size + - btrfs: zlib: zero-initialize zlib workspace + - ALSA: hda/realtek: Add Positivo N14KP6-TG + - ALSA: emux: Avoid potential array out-of-bound in snd_emux_xg_control() + - ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book2 Pro 360 + - ALSA: hda/realtek: Enable mute/micmute LEDs on HP Elitebook, 645 G9 + - tracing: Fix poll() and select() do not work on per_cpu trace_pipe and + trace_pipe_raw + - of/address: Return an error when no valid dma-ranges are found + - can: j1939: do not wait 250 ms if the same addr was already claimed + - xfrm: compat: change expression for switch in xfrm_xlate64 + - IB/hfi1: Restore allocated resources on failed copyout + - xfrm/compat: prevent potential spectre v1 gadget in xfrm_xlate32_attr() + - IB/IPoIB: Fix legacy IPoIB due to wrong number of queues + - RDMA/irdma: Fix potential NULL-ptr-dereference + - RDMA/usnic: use iommu_map_atomic() under spin_lock() + - xfrm: fix bug with DSCP copy to v6 from v4 tunnel + - net: phylink: move phy_device_free() to correctly release phy device + - bonding: fix error checking in bond_debug_reregister() + - net: phy: meson-gxl: use MMD access dummy stubs for GXL, internal PHY + - ionic: clean interrupt before enabling queue to avoid credit race + - uapi: add missing ip/ipv6 header dependencies for linux/stddef.h + - ice: Do not use WQ_MEM_RECLAIM flag for workqueue + - net: dsa: mt7530: don't change PVC_EG_TAG when CPU port becomes VLAN-aware + - net: mscc: ocelot: fix VCAP filters not matching on MAC with "protocol + 802.1Q" + - net/mlx5e: Update rx ring hw mtu upon each rx-fcs flag change + - net/mlx5: Bridge, fix ageing of peer FDB entries + - net/mlx5e: IPoIB, Show unknown speed instead of error + - net/mlx5: fw_tracer, Clear load bit when freeing string DBs buffers + - net/mlx5: fw_tracer, Zero consumer index when reloading the tracer + - net/mlx5: Serialize module cleanup with reload and remove + - igc: Add ndo_tx_timeout support + - rds: rds_rm_zerocopy_callback() use list_first_entry() + - selftests: forwarding: lib: quote the sysctl values + - ALSA: pci: lx6464es: fix a debug loop + - riscv: stacktrace: Fix missing the first frame + - ASoC: topology: Return -ENOMEM on memory allocation failure + - pinctrl: mediatek: Fix the drive register definition of some Pins + - pinctrl: aspeed: Fix confusing types in return value + - pinctrl: single: fix potential NULL dereference + - spi: dw: Fix wrong FIFO level setting for long xfers + - pinctrl: intel: Restore the pins that used to be in Direct IRQ mode + - cifs: Fix use-after-free in rdata->read_into_pages() + - net: USB: Fix wrong-direction WARNING in plusb.c + - mptcp: be careful on subflow status propagation on errors + - btrfs: free device in btrfs_close_devices for a single device filesystem + - usb: core: add quirk for Alcor Link AK9563 smartcard reader + - usb: typec: altmodes/displayport: Fix probe pin assign check + - clk: ingenic: jz4760: Update M/N/OD calculation algorithm + - ceph: flush cap releases when the session is flushed + - riscv: Fixup race condition on PG_dcache_clean in flush_icache_pte + - powerpc/64s/interrupt: Fix interrupt exit race with security mitigation + switch + - rtmutex: Ensure that the top waiter is always woken up + - arm64: dts: meson-gx: Make mmc host controller interrupts level-sensitive + - arm64: dts: meson-g12-common: Make mmc host controller interrupts level- + sensitive + - arm64: dts: meson-axg: Make mmc host controller interrupts level-sensitive + - Fix page corruption caused by racy check in __free_pages + - drm/amdgpu/fence: Fix oops due to non-matching drm_sched init/fini + - drm/i915: Initialize the obj flags for shmem objects + - drm/i915: Fix VBT DSI DVO port handling + - x86/speculation: Identify processors vulnerable to SMT RSB predictions + - KVM: x86: Mitigate the cross-thread return address predictions bug + - Documentation/hw-vuln: Add documentation for Cross-Thread Return Predictions + - hv_netvsc: Allocate memory in netvsc_dma_map() with GFP_ATOMIC + - xfrm: annotate data-race around use_time + - of: Make OF framebuffer device names unique + - cpufreq: qcom-hw: Fix cpufreq_driver->get() for non-LMH systems + - net: microchip: sparx5: fix PTP init/deinit not checking all ports + - drm/virtio: exbuf->fence_fd unmodified on interrupted wait + - ice: Fix disabling Rx VLAN filtering with port VLAN enabled + - ice: switch: fix potential memleak in ice_add_adv_recipe() + - net/mlx5e: Fix crash unsetting rx-vlan-filter in switchdev mode + - txhash: fix sk->sk_txrehash default + - selftests: Fix failing VXLAN VNI filtering test + - arm64: dts: rockchip: fix input enable pinconf on rk3399 + - arm64: dts: rockchip: set sdmmc0 speed to sd-uhs-sdr50 on rock-3a + - ASoC: tas5805m: rework to avoid scheduling while atomic. + - ASoC: tas5805m: add missing page switch. + - ASoC: fsl_sai: fix getting version from VERID + - mptcp: do not wait for bare sockets' timeout + - selftests: mptcp: allow more slack for slow test-case + - selftests: mptcp: stop tests earlier + - riscv: kprobe: Fixup misaligned load text + - tracing: Fix TASK_COMM_LEN in trace event format file + - drm/i915: Move fd_install after last use of fence + - mptcp: fix locking for in-kernel listener creation + - ASoC: Intel: sof_rt5682: always set dpcm_capture for amplifiers + - ASoC: Intel: sof_cs42l42: always set dpcm_capture for amplifiers + - selftests/bpf: Verify copy_register_state() preserves parent/live fields + - ALSA: hda: Do not unset preset when cleaning up codec + - bpf, sockmap: Don't let sock_map_{close,destroy,unhash} call itself + - ASoC: cs42l56: fix DT probe + - tools/virtio: fix the vringh test for virtio ring changes + - net/rose: Fix to not accept on connected socket + - net: stmmac: do not stop RX_CLK in Rx LPI state for qcs404 SoC + - drm/nouveau/devinit/tu102-: wait for GFW_BOOT_PROGRESS == COMPLETED + - net: sched: sch: Bounds check priority + - s390/decompressor: specify __decompress() buf len to avoid overflow + - nvme-fc: fix a missing queue put in nvmet_fc_ls_create_association + - drm/amd/display: Properly handle additional cases where DCN is not supported + - platform/x86: touchscreen_dmi: Add Chuwi Vi8 (CWI501) DMI match + - nvmem: core: add error handling for dev_set_name + - nvmem: core: fix cleanup after dev_set_name() + - nvmem: core: fix registration vs use race + - nvmem: core: fix return value + - aio: fix mremap after fork null-deref + - drm/amd/display: Fail atomic_check early on normalize_zpos error + - tcp: Fix listen() regression in 5.15.88. + - mmc: jz4740: Work around bug on JZ4760(B) + - mmc: sdio: fix possible resource leaks in some error paths + - mmc: mmc_spi: fix error handling in mmc_spi_probe() + - ALSA: hda/conexant: add a new hda codec SN6180 + - ALSA: hda/realtek - fixed wrong gpio assigned + - sched/psi: Fix use-after-free in ep_remove_wait_queue() + - hugetlb: check for undefined shift on 32 bit architectures + - of: reserved_mem: Have kmemleak ignore dynamically allocated reserved mem + - net: Fix unwanted sign extension in netdev_stats_to_stats64() + - revert "squashfs: harden sanity check in squashfs_read_xattr_id_table" + - ixgbe: allow to increase MTU to 3K with XDP enabled + - i40e: add double of VLAN header when computing the max MTU + - net: bgmac: fix BCM5358 support by setting correct flags + - net: ethernet: ti: am65-cpsw: Add RX DMA Channel Teardown Quirk + - sctp: sctp_sock_filter(): avoid list_entry() on possibly empty list + - dccp/tcp: Avoid negative sk_forward_alloc by ipv6_pinfo.pktoptions. + - net/usb: kalmia: Don't pass act_len in usb_bulk_msg error path + - net: openvswitch: fix possible memory leak in ovs_meter_cmd_set() + - net: stmmac: fix order of dwmac5 FlexPPS parametrization sequence + - bnxt_en: Fix mqprio and XDP ring checking logic + - net: stmmac: Restrict warning on disabling DMA store and fwd mode + - ixgbe: add double of VLAN header when computing the max MTU + - ipv6: Fix datagram socket connection with DSCP. + - ipv6: Fix tcp socket connection with DSCP. + - nilfs2: fix underflow in second superblock position calculations + - mm/filemap: fix page end in filemap_get_read_batch + - drm/i915/gen11: Wa_1408615072/Wa_1407596294 should be on GT list + - net/sched: act_ctinfo: use percpu stats + - i40e: Add checking for null for nlmsg_find_attr() + - kvm: initialize all of the kvm_debugregs structure before sending it to + userspace + - alarmtimer: Prevent starvation by small intervals and SIG_IGN + - ASoC: SOF: Intel: hda-dai: fix possible stream_tag leak + - net: sched: sch: Fix off by one in htb_activate_prios() + - platform/x86/amd: pmc: add CONFIG_SERIO dependency + - kasan: fix Oops due to missing calls to kasan_arch_is_ready() + - fbdev: Fix invalid page access after closing deferred I/O devices + - drm/vmwgfx: Stop accessing buffer objects which failed init + - drm/vmwgfx: Do not drop the reference to the handle too soon + - gpio: sim: fix a memory leak + - coredump: Move dump_emit_page() to kill unused warning + - drm/vc4: crtc: Increase setup cost in core clock calculation to handle + extreme reduced blanking + - ice: fix lost multicast packets in promisc mode + - ice: xsk: Fix cleaning of XDP_TX frames + - tracing: Make trace_define_field_ext() static + - net: use a bounce buffer for copying skb->mark + - igb: conditionalize I2C bit banging on external thermal sensor support + - igb: Fix PPS input and output using 3rd and 4th SDP + + * cm32181 module error blocking suspend (LP: #1988346) // Kinetic update: + upstream stable patchset 2023-04-06 (LP: #2015511) + - iio: light: cm32181: Fix PM support on system with 2 I2C resources + + * kernel: fix __clear_user() inline assembly constraints (LP: #2013088) + - s390/uaccess: add missing earlyclobber annotations to __clear_user() + + * expoline.o is packaged unconditionally for s390x (LP: #2013209) + - [Packaging] Copy expoline.o only when produced by the build + + * Fix selftests/ftracetests/Meta-selftests (LP: #2006453) + - selftests/ftrace: Fix bash specific "==" operator + + * No HDMI audio under 5.19.0-35 & -37 (regression from -32) (LP: #2009136) + - ALSA: memalloc: Try dma_alloc_noncontiguous() at first + - ALSA: memalloc: Drop special handling of GFP for CONTINUOUS allocation + - ALSA: vx: Drop superfluous GFP setup + - ALSA: pdaudiocf: Drop superfluous GFP setup + - ASoC: Intel: sst: Switch to standard device pages + - ALSA: memalloc: Workaround for Xen PV + + * Intel E810 NICs driver in causing hangs when booting and bonds configured + (LP: #2004262) + - ice: avoid bonding causing auxiliary plug/unplug under RTNL lock + + * Kinetic update: upstream stable patchset 2023-04-04 (LP: #2015288) + - memory: tegra: Remove clients SID override programming + - memory: atmel-sdramc: Fix missing clk_disable_unprepare in + atmel_ramc_probe() + - memory: mvebu-devbus: Fix missing clk_disable_unprepare in + mvebu_devbus_probe() + - dmaengine: ti: k3-udma: Do conditional decrement of + UDMA_CHAN_RT_PEER_BCNT_REG + - arm64: dts: imx8mp-phycore-som: Remove invalid PMIC property + - ARM: dts: imx6ul-pico-dwarf: Use 'clock-frequency' + - ARM: dts: imx7d-pico: Use 'clock-frequency' + - ARM: dts: imx6qdl-gw560x: Remove incorrect 'uart-has-rtscts' + - arm64: dts: imx8mm-beacon: Fix ecspi2 pinmux + - ARM: imx: add missing of_node_put() + - HID: intel_ish-hid: Add check for ishtp_dma_tx_map + - arm64: dts: imx8mm-venice-gw7901: fix USB2 controller OC polarity + - soc: imx8m: Fix incorrect check for of_clk_get_by_name() + - reset: uniphier-glue: Fix possible null-ptr-deref + - EDAC/highbank: Fix memory leak in highbank_mc_probe() + - firmware: arm_scmi: Harden shared memory access in fetch_response + - firmware: arm_scmi: Harden shared memory access in fetch_notification + - tomoyo: fix broken dependency on *.conf.default + - RDMA/core: Fix ib block iterator counter overflow + - IB/hfi1: Reject a zero-length user expected buffer + - IB/hfi1: Reserve user expected TIDs + - IB/hfi1: Fix expected receive setup error exit issues + - IB/hfi1: Immediately remove invalid memory from hardware + - IB/hfi1: Remove user expected buffer invalidate race + - affs: initialize fsdata in affs_truncate() + - PM: AVS: qcom-cpr: Fix an error handling path in cpr_probe() + - arm64: dts: qcom: msm8992: Don't use sfpb mutex + - arm64: dts: qcom: msm8992-libra: Fix the memory map + - phy: ti: fix Kconfig warning and operator precedence + - NFSD: fix use-after-free in nfsd4_ssc_setup_dul() + - ARM: dts: at91: sam9x60: fix the ddr clock for sam9x60 + - amd-xgbe: TX Flow Ctrl Registers are h/w ver dependent + - amd-xgbe: Delay AN timeout during KR training + - bpf: Fix pointer-leak due to insufficient speculative store bypass + mitigation + - phy: rockchip-inno-usb2: Fix missing clk_disable_unprepare() in + rockchip_usb2phy_power_on() + - net: nfc: Fix use-after-free in local_cleanup() + - net: wan: Add checks for NULL for utdm in undo_uhdlc_init and unmap_si_regs + - net: enetc: avoid deadlock in enetc_tx_onestep_tstamp() + - sch_htb: Avoid grafting on htb_destroy_class_offload when destroying htb + - gpio: mxc: Protect GPIO irqchip RMW with bgpio spinlock + - gpio: mxc: Always set GPIOs used as interrupt source to INPUT mode + - pinctrl: rockchip: fix reading pull type on rk3568 + - net: stmmac: Fix queue statistics reading + - net/sched: sch_taprio: fix possible use-after-free + - l2tp: Serialize access to sk_user_data with sk_callback_lock + - l2tp: Don't sleep and disable BH under writer-side sk_callback_lock + - l2tp: convert l2tp_tunnel_list to idr + - l2tp: close all race conditions in l2tp_tunnel_register() + - net: usb: sr9700: Handle negative len + - net: mdio: validate parameter addr in mdiobus_get_phy() + - HID: check empty report_list in hid_validate_values() + - HID: check empty report_list in bigben_probe() + - net: stmmac: fix invalid call to mdiobus_get_phy() + - pinctrl: rockchip: fix mux route data for rk3568 + - HID: revert CHERRY_MOUSE_000C quirk + - usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait + - usb: gadget: f_fs: Ensure ep0req is dequeued before free_request + - Bluetooth: Fix possible deadlock in rfcomm_sk_state_change + - net: ipa: disable ipa interrupt during suspend + - net/mlx5: E-switch, Fix setting of reserved fields on + MODIFY_SCHEDULING_ELEMENT + - net: mlx5: eliminate anonymous module_init & module_exit + - drm/panfrost: fix GENERIC_ATOMIC64 dependency + - dmaengine: Fix double increment of client_count in dma_chan_get() + - net: macb: fix PTP TX timestamp failure due to packet padding + - virtio-net: correctly enable callback during start_xmit + - l2tp: prevent lockdep issue in l2tp_tunnel_register() + - HID: betop: check shape of output reports + - cifs: fix potential deadlock in cache_refresh_path() + - dmaengine: xilinx_dma: call of_node_put() when breaking out of + for_each_child_of_node() + - phy: phy-can-transceiver: Skip warning if no "max-bitrate" + - drm/amd/display: fix issues with driver unload + - nvme-pci: fix timeout request state check + - tcp: avoid the lookup process failing to get sk in ehash table + - ptdma: pt_core_execute_cmd() should use spinlock + - device property: fix of node refcount leak in + fwnode_graph_get_next_endpoint() + - w1: fix deadloop in __w1_remove_master_device() + - w1: fix WARNING after calling w1_process() + - driver core: Fix test_async_probe_init saves device in wrong array + - selftests/net: toeplitz: fix race on tpacket_v3 block close + - net: dsa: microchip: ksz9477: port map correction in ALU table entry + register + - thermal/core: Remove duplicate information when an error occurs + - thermal/core: Rename 'trips' to 'num_trips' + - thermal: Validate new state in cur_state_store() + - thermal/core: fix error code in __thermal_cooling_device_register() + - thermal: core: call put_device() only after device_register() fails + - net: stmmac: enable all safety features by default + - tcp: fix rate_app_limited to default to 1 + - scsi: iscsi: Fix multiple iSCSI session unbind events sent to userspace + - cpufreq: Add Tegra234 to cpufreq-dt-platdev blocklist + - kcsan: test: don't put the expect array on the stack + - cpufreq: Add SM6375 to cpufreq-dt-platdev blocklist + - ASoC: fsl_micfil: Correct the number of steps on SX controls + - net: usb: cdc_ether: add support for Thales Cinterion PLS62-W modem + - drm: Add orientation quirk for Lenovo ideapad D330-10IGL + - s390/debug: add _ASM_S390_ prefix to header guard + - s390: expicitly align _edata and _end symbols on page boundary + - perf/x86/msr: Add Emerald Rapids + - perf/x86/intel/uncore: Add Emerald Rapids + - cpufreq: armada-37xx: stop using 0 as NULL pointer + - ASoC: fsl_ssi: Rename AC'97 streams to avoid collisions with AC'97 CODEC + - ASoC: fsl-asoc-card: Fix naming of AC'97 CODEC widgets + - spi: spidev: remove debug messages that access spidev->spi without locking + - KVM: s390: interrupt: use READ_ONCE() before cmpxchg() + - scsi: hisi_sas: Set a port invalid only if there are no devices attached + when refreshing port id + - r8152: add vendor/device ID pair for Microsoft Devkit + - platform/x86: touchscreen_dmi: Add info for the CSL Panther Tab HD + - platform/x86: asus-nb-wmi: Add alternate mapping for KEY_SCREENLOCK + - lockref: stop doing cpu_relax in the cmpxchg loop + - firmware: coreboot: Check size of table entry and use flex-array + - drm/i915: Remove unused variable + - x86: ACPI: cstate: Optimize C3 entry on AMD CPUs + - panic: Separate sysctl logic from CONFIG_SMP + - exit: Put an upper limit on how often we can oops + - exit: Expose "oops_count" to sysfs + - exit: Allow oops_limit to be disabled + - panic: Consolidate open-coded panic_on_warn checks + - panic: Introduce warn_limit + - panic: Expose "warn_count" to sysfs + - docs: Fix path paste-o for /sys/kernel/warn_count + - exit: Use READ_ONCE() for all oops/warn limit reads + - Bluetooth: hci_sync: cancel cmd_timer if hci_open failed + - drm/amdgpu: complete gfxoff allow signal during suspend without delay + - scsi: hpsa: Fix allocation size for scsi_host_alloc() + - module: Don't wait for GOING modules + - tracing: Make sure trace_printk() can output as soon as it can be used + - trace_events_hist: add check for return value of 'create_hist_field' + - ftrace/scripts: Update the instructions for ftrace-bisect.sh + - cifs: Fix oops due to uncleared server->smbd_conn in reconnect + - i2c: mv64xxx: Remove shutdown method from driver + - i2c: mv64xxx: Add atomic_xfer method to driver + - ksmbd: add max connections parameter + - ksmbd: do not sign response to session request for guest login + - ksmbd: downgrade ndr version error message to debug + - ksmbd: limit pdu length size according to connection status + - KVM: x86/vmx: Do not skip segment attributes if unusable bit is set + - KVM: arm64: GICv4.1: Fix race with doorbell on VPE activation/deactivation + - thermal: intel: int340x: Protect trip temperature from concurrent updates + - ipv6: fix reachability confirmation with proxy_ndp + - ARM: 9280/1: mm: fix warning on phys_addr_t to void pointer assignment + - EDAC/device: Respect any driver-supplied workqueue polling value + - EDAC/qcom: Do not pass llcc_driv_data as edac_device_ctl_info's pvt_info + - net: mana: Fix IRQ name - add PCI and queue number + - scsi: ufs: core: Fix devfreq deadlocks + - i2c: designware: use casting of u64 in clock multiplication to avoid + overflow + - netlink: prevent potential spectre v1 gadgets + - net: fix UaF in netns ops registration error path + - drm/i915/selftest: fix intel_selftest_modify_policy argument types + - netfilter: nft_set_rbtree: Switch to node list walk for overlap detection + - netfilter: nft_set_rbtree: skip elements in transaction from garbage + collection + - netlink: annotate data races around nlk->portid + - netlink: annotate data races around dst_portid and dst_group + - netlink: annotate data races around sk_state + - ipv4: prevent potential spectre v1 gadget in ip_metrics_convert() + - ipv4: prevent potential spectre v1 gadget in fib_metrics_match() + - netfilter: conntrack: fix vtag checks for ABORT/SHUTDOWN_COMPLETE + - netrom: Fix use-after-free of a listening socket. + - net/sched: sch_taprio: do not schedule in taprio_reset() + - sctp: fail if no bound addresses can be used for a given scope + - riscv/kprobe: Fix instruction simulation of JALR + - nvme: fix passthrough csi check + - gpio: mxc: Unlock on error path in mxc_flip_edge() + - net: ravb: Fix lack of register setting after system resumed for Gen3 + - net: ravb: Fix possible hang if RIS2_QFF1 happen + - net: mctp: mark socks as dead on unhash, prevent re-add + - thermal: intel: int340x: Add locking to int340x_thermal_get_trip_type() + - net/tg3: resolve deadlock in tg3_reset_task() during EEH + - net: mdio-mux-meson-g12a: force internal PHY off on mux switch + - treewide: fix up files incorrectly marked executable + - tools: gpio: fix -c option of gpio-event-mon + - Revert "Input: synaptics - switch touchpad on HP Laptop 15-da3001TU to RMI + mode" + - x86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL + - netfilter: conntrack: unify established states for SCTP paths + - perf/x86/amd: fix potential integer overflow on shift of a int + - dmaengine: qcom: gpi: Set link_rx bit on GO TRE for rx operation + - soc: imx: imx8mp-blk-ctrl: enable global pixclk with HDMI_TX_PHY PD + - arm64: dts: verdin-imx8mm: fix dahlia audio playback + - arm64: dts: verdin-imx8mm: fix dev board audio playback + - soc: imx: imx8mp-blk-ctrl: don't set power device name + - arm64: dts: imx8mp: Fix missing GPC Interrupt + - arm64: dts: imx8mp: Fix power-domain typo + - reset: ti-sci: honor TI_SCI_PROTOCOL setting when not COMPILE_TEST + - firmware: arm_scmi: Fix virtio channels cleanup on shutdown + - interconnect: qcom: msm8996: Provide UFS clocks to A2NoC + - interconnect: qcom: msm8996: Fix regmap max_register values + - RDMA/rxe: Fix inaccurate constants in rxe_type_info + - RDMA/rxe: Prevent faulty rkey generation + - drm/msm/gpu: Fix potential double-free + - bpf: hash map, avoid deadlock with suitable hash mask + - net: lan966x: add missing fwnode_handle_put() for ports node + - block/rnbd-clt: fix wrong max ID in ida_alloc_max + - usb: ucsi: Ensure connector delayed work items are flushed + - netfilter: conntrack: handle tcp challenge acks during connection reuse + - net/mlx5e: Avoid false lock dependency warning on tc_ht even more + - net/mlx5e: Set decap action based on attr for sample + - dmaengine: tegra: Fix memory leak in terminate_all() + - net: sched: gred: prevent races when adding offloads to stats + - usb: dwc3: fix extcon dependency + - bnxt: Do not read past the end of test names + - btrfs: zoned: enable metadata over-commit for non-ZNS setup + - vfio/type1: Respect IOMMU reserved regions in vfio_test_domain_fgsp() + - kvm/vfio: Fix potential deadlock on vfio group_lock + - ftrace: Export ftrace_free_filter() to modules + - riscv: fix -Wundef warning for CONFIG_RISCV_BOOT_SPINWAIT + - regulator: dt-bindings: samsung,s2mps14: add lost samsung,ext-control-gpios + - i2c: designware: Fix unbalanced suspended flag + - iavf: schedule watchdog immediately when changing primary MAC + - tracing/osnoise: Use built-in RCU list checking + - gpio: ep93xx: Fix port F hwirq numbers in handler + - net: mctp: add an explicit reference from a mctp_sk_key to sock + - net: mctp: move expiry timer delete to unhash + - net: mctp: hold key reference when looking up a general key + - riscv: Move call to init_cpu_topology() to later initialization stage + - Partially revert "perf/arm-cmn: Optimise DTC counter accesses" + - x86/sev: Add SEV-SNP guest feature negotiation support + - acpi: Fix suspend with Xen PV + + * CVE-2023-1075 + - net/tls: tls_is_tx_ready() checked list_entry + + * devlink_port_split from ubuntu_kernel_selftests.net fails on hirsute + (KeyError: 'flavour') (LP: #1937133) + - selftests: net: devlink_port_split.py: skip test if no suitable device + available + + * Connection timeout due to conntrack limits (LP: #2011616) + - netfilter: conntrack: adopt safer max chain length + + * Kinetic update: upstream stable patchset 2023-03-27 (LP: #2012977) + - btrfs: fix trace event name typo for FLUSH_DELAYED_REFS + - pNFS/filelayout: Fix coalescing test for single DS + - tools/virtio: initialize spinlocks in vring_test.c + - virtio_pci: modify ENOENT to EINVAL + - vduse: Validate vq_num in vduse_validate_config() + - net/ethtool/ioctl: return -EOPNOTSUPP if we have no phy stats + - r8169: move rtl_wol_enable_rx() and rtl_prepare_power_down() + - RDMA/srp: Move large values to a new enum for gcc13 + - btrfs: always report error in run_one_delayed_ref() + - x86/asm: Fix an assembler warning with current binutils + - f2fs: let's avoid panic if extent_tree is not created + - perf/x86/rapl: Treat Tigerlake like Icelake + - fbdev: omapfb: avoid stack overflow warning + - Bluetooth: hci_qca: Fix driver shutdown on closed serdev + - wifi: brcmfmac: fix regression for Broadcom PCIe wifi devices + - wifi: mac80211: sdata can be NULL during AMPDU start + - Add exception protection processing for vd in axi_chan_handle_err function + - zonefs: Detect append writes at invalid locations + - nilfs2: fix general protection fault in nilfs_btree_insert() + - efi: fix userspace infinite retry read efivars after EFI runtime services + page fault + - ALSA: hda/realtek: fix mute/micmute LEDs don't work for a HP platform + - hugetlb: unshare some PMDs when splitting VMAs + - io_uring: don't gate task_work run on TIF_NOTIFY_SIGNAL + - eventpoll: add EPOLL_URING_WAKE poll wakeup flag + - eventfd: provide a eventfd_signal_mask() helper + - xhci-pci: set the dma max_seg_size + - usb: xhci: Check endpoint is valid before dereferencing it + - xhci: Fix null pointer dereference when host dies + - xhci: Add update_hub_device override for PCI xHCI hosts + - xhci: Add a flag to disable USB3 lpm on a xhci root port level. + - usb: acpi: add helper to check port lpm capability using acpi _DSM + - xhci: Detect lpm incapable xHC USB3 roothub ports from ACPI tables + - prlimit: do_prlimit needs to have a speculation check + - USB: serial: option: add Quectel EM05-G (GR) modem + - USB: serial: option: add Quectel EM05-G (CS) modem + - USB: serial: option: add Quectel EM05-G (RS) modem + - USB: serial: option: add Quectel EC200U modem + - USB: serial: option: add Quectel EM05CN (SG) modem + - USB: serial: option: add Quectel EM05CN modem + - staging: vchiq_arm: fix enum vchiq_status return types + - USB: misc: iowarrior: fix up header size for USB_DEVICE_ID_CODEMERCS_IOW100 + - misc: fastrpc: Don't remove map on creater_process and device_release + - misc: fastrpc: Fix use-after-free race condition for maps + - usb: core: hub: disable autosuspend for TI TUSB8041 + - comedi: adv_pci1760: Fix PWM instruction handling + - ACPI: PRM: Check whether EFI runtime is available + - mmc: sunxi-mmc: Fix clock refcount imbalance during unbind + - mmc: sdhci-esdhc-imx: correct the tuning start tap and step setting + - btrfs: do not abort transaction on failure to write log tree when syncing + log + - btrfs: fix race between quota rescan and disable leading to NULL pointer + deref + - cifs: do not include page data when checking signature + - thunderbolt: Use correct function to calculate maximum USB3 link rate + - riscv: dts: sifive: fu740: fix size of pcie 32bit memory + - bpf: restore the ebpf program ID for BPF_AUDIT_UNLOAD and + PERF_BPF_EVENT_PROG_UNLOAD + - tty: serial: qcom-geni-serial: fix slab-out-of-bounds on RX FIFO buffer + - tty: fix possible null-ptr-defer in spk_ttyio_release + - USB: serial: cp210x: add SCALANCE LPE-9000 device id + - usb: cdns3: remove fetched trb from cache before dequeuing + - usb: host: ehci-fsl: Fix module alias + - usb: typec: tcpm: Fix altmode re-registration causes sysfs create fail + - usb: typec: altmodes/displayport: Add pin assignment helper + - usb: typec: altmodes/displayport: Fix pin assignment calculation + - usb: gadget: g_webcam: Send color matching descriptor per frame + - usb: gadget: f_ncm: fix potential NULL ptr deref in ncm_bitrate() + - usb-storage: apply IGNORE_UAS only for HIKSEMI MD202 on RTL9210 + - dt-bindings: phy: g12a-usb2-phy: fix compatible string documentation + - dt-bindings: phy: g12a-usb3-pcie-phy: fix compatible string documentation + - serial: pch_uart: Pass correct sg to dma_unmap_sg() + - dmaengine: lgm: Move DT parsing after initialization + - dmaengine: tegra210-adma: fix global intr clear + - dmaengine: idxd: Let probe fail when workqueue cannot be enabled + - serial: amba-pl011: fix high priority character transmission in rs486 mode + - serial: atmel: fix incorrect baudrate setup + - gsmi: fix null-deref in gsmi_get_variable + - mei: me: add meteor lake point M DID + - drm/i915: re-disable RC6p on Sandy Bridge + - drm/i915/display: Check source height is > 0 + - drm/amd/display: Fix set scaling doesn's work + - drm/amd/display: Calculate output_color_space after pixel encoding + adjustment + - drm/amd/display: Fix COLOR_SPACE_YCBCR2020_TYPE matrix + - fs/ntfs3: Fix attr_punch_hole() null pointer derenference + - arm64: efi: Execute runtime services from a dedicated stack + - efi: rt-wrapper: Add missing include + - x86/fpu: Use _Alignof to avoid undefined behavior in TYPE_ALIGN + - net/mlx5: fix missing mutex_unlock in mlx5_fw_fatal_reporter_err_work() + - block: mq-deadline: Rename deadline_is_seq_writes() + - Revert "wifi: mac80211: fix memory leak in ieee80211_if_add()" + - soc: qcom: apr: Make qcom,protection-domain optional again + - mm/khugepaged: fix collapse_pte_mapped_thp() to allow anon_vma + - serial: stm32: Merge hard IRQ and threaded IRQ handling into single IRQ + handler + - misc: fastrpc: Fix use-after-free and race in fastrpc_map_find + - btrfs: fix missing error handling when logging directory items + - thunderbolt: Disable XDomain lane 1 only in software connection manager + - thunderbolt: Do not report errors if on-board retimers are found + - thunderbolt: Do not call PM runtime functions in tb_retimer_scan() + - mptcp: explicitly specify sock family at subflow creation time + - mptcp: netlink: respect v4/v6-only sockets + - usb: musb: fix error return code in omap2430_probe() + - USB: gadget: Add ID numbers to configfs-gadget driver names + - arm64: dts: imx8mp: correct usb clocks + - dmaengine: idxd: Prevent use after free on completion memory + - dmaengine: idxd: Do not call DMX TX callbacks during workqueue disable + - mei: bus: fix unlink on bus in error path + - VMCI: Use threaded irqs instead of tasklets + - ARM: omap1: fix !ARCH_OMAP1_ANY link failures + - drm/amdgpu: Correct the power calcultion for Renior/Cezanne. + - drm/i915: Allow switching away via vga-switcheroo if uninitialized + - octeontx2-pf: Avoid use of GFP_KERNEL in atomic context + - octeontx2-pf: Fix the use of GFP_KERNEL in atomic context on rt + + * Kinetic update: upstream stable patchset 2023-03-21 (LP: #2012438) + - ALSA: control-led: use strscpy in set_led_id() + - ALSA: hda/realtek - Turn on power early + - ALSA: hda/realtek: Enable mute/micmute LEDs on HP Spectre x360 13-aw0xxx + - KVM: arm64: Fix S1PTW handling on RO memslots + - KVM: arm64: nvhe: Fix build with profile optimization + - selftests: kvm: Fix a compile error in selftests/kvm/rseq_test.c + - efi: tpm: Avoid READ_ONCE() for accessing the event log + - docs: Fix the docs build with Sphinx 6.0 + - net: stmmac: add aux timestamps fifo clearance wait + - perf auxtrace: Fix address filter duplicate symbol selection + - s390/kexec: fix ipl report address for kdump + - ASoC: qcom: lpass-cpu: Fix fallback SD line index handling + - s390/cpum_sf: add READ_ONCE() semantics to compare and swap loops + - s390/percpu: add READ_ONCE() to arch_this_cpu_to_op_simple() + - drm/virtio: Fix GEM handle creation UAF + - drm/i915/gt: Reset twice + - cifs: Fix uninitialized memory read for smb311 posix symlink create + - platform/x86: dell-privacy: Only register SW_CAMERA_LENS_COVER if present + - platform/surface: aggregator: Ignore command messages not intended for us + - platform/x86: dell-privacy: Fix SW_CAMERA_LENS_COVER reporting + - dt-bindings: msm: dsi-controller-main: Fix operating-points-v2 constraint + - drm/msm/adreno: Make adreno quirks not overwrite each other + - dt-bindings: msm: dsi-controller-main: Fix power-domain constraint + - dt-bindings: msm: dsi-controller-main: Fix description of core clock + - dt-bindings: msm: dsi-phy-28nm: Add missing qcom, dsi-phy-regulator-ldo-mode + - platform/x86: ideapad-laptop: Add Legion 5 15ARH05 DMI id to + set_fn_lock_led_list[] + - drm/msm/dp: do not complete dp_aux_cmd_fifo_tx() if irq is not for aux + transfer + - dt-bindings: msm/dsi: Don't require vdds-supply on 10nm PHY + - dt-bindings: msm/dsi: Don't require vcca-supply on 14nm PHY + - platform/x86: sony-laptop: Don't turn off 0x153 keyboard backlight during + probe + - ixgbe: fix pci device refcount leak + - ipv6: raw: Deduct extension header length in rawv6_push_pending_frames + - usb: ulpi: defer ulpi_register on ulpi_read_id timeout + - iommu/iova: Fix alloc iova overflows issue + - iommu/mediatek-v1: Fix an error handling path in mtk_iommu_v1_probe() + - sched/core: Fix use-after-free bug in dup_user_cpus_ptr() + - netfilter: ipset: Fix overflow before widen in the bitmap_ip_create() + function. + - powerpc/imc-pmu: Fix use of mutex in IRQs disabled section + - x86/boot: Avoid using Intel mnemonics in AT&T syntax asm + - EDAC/device: Fix period calculation in edac_device_reset_delay_period() + - x86/resctrl: Fix task CLOSID/RMID update race + - regulator: da9211: Use irq handler when ready + - scsi: mpi3mr: Refer CONFIG_SCSI_MPI3MR in Makefile + - scsi: ufs: core: WLUN suspend SSU/enter hibern8 fail recovery + - ASoC: wm8904: fix wrong outputs volume after power reactivation + - ALSA: usb-audio: Make sure to stop endpoints before closing EPs + - ALSA: usb-audio: Relax hw constraints for implicit fb sync + - tipc: fix unexpected link reset due to discovery messages + - octeontx2-af: Fix LMAC config in cgx_lmac_rx_tx_enable + - hvc/xen: lock console list traversal + - nfc: pn533: Wait for out_urb's completion in pn533_usb_send_frame() + - af_unix: selftest: Fix the size of the parameter to connect() + - tools/nolibc: restore mips branch ordering in the _start block + - tools/nolibc: fix the O_* fcntl/open macro definitions for riscv + - net/sched: act_mpls: Fix warning during failed attribute validation + - net/mlx5: Fix ptp max frequency adjustment range + - net/mlx5e: Don't support encap rules with gbp option + - perf build: Properly guard libbpf includes + - igc: Fix PPS delta between two synchronized end-points + - platform/surface: aggregator: Add missing call to ssam_request_sync_free() + - KVM: x86: Do not return host topology information from + KVM_GET_SUPPORTED_CPUID + - arm64: atomics: remove LL/SC trampolines + - arm64: cmpxchg_double*: hazard against entire exchange variable + - efi: fix NULL-deref in init error path + - io_uring/io-wq: free worker if task_work creation is canceled + - io_uring/io-wq: only free worker if it was allocated for creation + - Revert "usb: ulpi: defer ulpi_register on ulpi_read_id timeout" + - pinctrl: amd: Add dynamic debugging for active GPIOs + - arm64: mte: Fix double-freeing of the temporary tag storage during coredump + - elfcore: Add a cprm parameter to elf_core_extra_{phdrs,data_size} + - cpufreq: amd-pstate: fix kernel hang issue while amd-pstate unregistering + - drm/i915: Reserve enough fence slot for i915_vma_unbind_async + - drm/i915: Fix potential context UAFs + - cifs: do not query ifaces on smb1 mounts + - ASoC: rt9120: Make dev PM runtime bind AsoC component PM + - platform/x86: int3472/discrete: Ensure the clk/power enable pins are in + output mode + - platform/x86: asus-wmi: Don't load fan curves without fan + - drm/msm: another fix for the headless Adreno GPU + - arm64/signal: Always allocate SVE signal frames on SME only systems + - arm64/signal: Always accept SVE signal frames on SME only systems + - arm64/mm: add pud_user_exec() check in pud_user_accessible_page() + - arm64: ptrace: Use ARM64_SME to guard the SME register enumerations + - arm64/mm: fix incorrect file_map_count for invalid pmd + - iavf/iavf_main: actually log ->src mask when talking about it + - x86/pat: Fix pat_x_mtrr_type() for MTRR disabled case + - scsi: storvsc: Fix swiotlb bounce buffer leak in confidential VM + - ASoC: Intel: fix sof-nau8825 link failure + - drm/msm/dpu: Fix some kernel-doc comments + - drm/msm/dpu: Fix memory leak in msm_mdss_parse_data_bus_icc_path + - mtd: cfi: allow building spi-intel standalone + - stmmac: dwmac-mediatek: remove the dwmac_fix_mac_speed + - sched/core: Fix arch_scale_freq_tick() on tickless systems + - net/mlx5: check attr pointer validity before dereferencing it + - net/mlx5e: TC, Keep mod hdr actions after mod hdr alloc + - net/mlx5: Fix command stats access after free + - net/mlx5e: Verify dev is present for fix features ndo + - net/mlx5e: IPoIB, Block queue count configuration when sub interfaces are + present + - net/mlx5e: IPoIB, Block PKEY interfaces with less rx queues than parent + - net/mlx5e: IPoIB, Fix child PKEY interface stats on rx path + - octeontx2-pf: Fix resource leakage in VF driver unbind + - net: lan966x: check for ptp to be enabled in lan966x_ptp_deinit() + - net: hns3: fix wrong use of rss size during VF rss config + - bnxt: make sure we return pages to the pool + - platform/x86/amd: Fix refcount leak in amd_pmc_probe + + * Kinetic update: upstream stable patchset 2023-03-20 (LP: #2012307) + - parisc: Align parisc MADV_XXX constants with all other architectures + - x86/fpu: Take task_struct* in copy_sigframe_from_user_to_xstate() + - x86/fpu: Add a pkru argument to copy_uabi_from_kernel_to_xstate(). + - x86/fpu: Add a pkru argument to copy_uabi_to_xstate() + - x86/fpu: Allow PKRU to be (once again) written by ptrace. + - x86/fpu: Emulate XRSTOR's behavior if the xfeatures PKRU bit is not set + - selftests/vm/pkeys: Add a regression test for setting PKRU through ptrace + - serial: fixup backport of "serial: Deassert Transmit Enable on probe in + driver-specific way" + - ALSA: hda/hdmi: Add a HP device 0x8715 to force connect list + - ALSA: hda - Enable headset mic on another Dell laptop with ALC3254 + - Revert "SUNRPC: Use RMW bitops in single-threaded hot paths" + - ALSA: hda: cs35l41: Check runtime suspend capability at runtime_idle + + * Kinetic update: upstream stable patchset 2023-03-06 (LP: #2009546) + - usb: dwc3: qcom: Fix memory leak in dwc3_qcom_interconnect_init + - cifs: fix oops during encryption + - nvme-pci: fix doorbell buffer value endianness + - nvme-pci: fix mempool alloc size + - nvme-pci: fix page size checks + - ACPI: resource: do IRQ override on LENOVO IdeaPad + - ACPI: resource: do IRQ override on XMG Core 15 + - ACPI: resource: do IRQ override on Lenovo 14ALC7 + - block, bfq: fix uaf for bfqq in bfq_exit_icq_bfqq + - ata: ahci: Fix PCS quirk application for suspend + - nvme: fix the NVME_CMD_EFFECTS_CSE_MASK definition + - nvmet: don't defer passthrough commands with trivial effects to the + workqueue + - fs/ntfs3: Validate BOOT record_size + - fs/ntfs3: Add overflow check for attribute size + - fs/ntfs3: Validate data run offset + - fs/ntfs3: Add null pointer check to attr_load_runs_vcn + - fs/ntfs3: Fix memory leak on ntfs_fill_super() error path + - fs/ntfs3: Add null pointer check for inode operations + - fs/ntfs3: Validate attribute name offset + - fs/ntfs3: Validate buffer length while parsing index + - fs/ntfs3: Validate resident attribute name + - fs/ntfs3: Fix slab-out-of-bounds read in run_unpack + - soundwire: dmi-quirks: add quirk variant for LAPBC710 NUC15 + - fs/ntfs3: Validate index root when initialize NTFS security + - fs/ntfs3: Use __GFP_NOWARN allocation at wnd_init() + - fs/ntfs3: Use __GFP_NOWARN allocation at ntfs_fill_super() + - fs/ntfs3: Delete duplicate condition in ntfs_read_mft() + - fs/ntfs3: Fix slab-out-of-bounds in r_page + - objtool: Fix SEGFAULT + - powerpc/rtas: avoid device tree lookups in rtas_os_term() + - powerpc/rtas: avoid scheduling in rtas_os_term() + - HID: multitouch: fix Asus ExpertBook P2 P2451FA trackpoint + - HID: plantronics: Additional PIDs for double volume key presses quirk + - pstore: Properly assign mem_type property + - pstore/zone: Use GFP_ATOMIC to allocate zone buffer + - hfsplus: fix bug causing custom uid and gid being unable to be assigned with + mount + - binfmt: Fix error return code in load_elf_fdpic_binary() + - ovl: Use ovl mounter's fsuid and fsgid in ovl_link() + - ALSA: line6: correct midi status byte when receiving data from podxt + - ALSA: line6: fix stack overflow in line6_midi_transmit + - pnode: terminate at peers of source + - mfd: mt6360: Add bounds checking in Regmap read/write call-backs + - md: fix a crash in mempool_free + - mm, compaction: fix fast_isolate_around() to stay within boundaries + - f2fs: should put a page when checking the summary info + - f2fs: allow to read node block after shutdown + - mmc: vub300: fix warning - do not call blocking ops when !TASK_RUNNING + - tpm: acpi: Call acpi_put_table() to fix memory leak + - tpm: tpm_crb: Add the missed acpi_put_table() to fix memory leak + - tpm: tpm_tis: Add the missed acpi_put_table() to fix memory leak + - SUNRPC: Don't leak netobj memory when gss_read_proxy_verf() fails + - kcsan: Instrument memcpy/memset/memmove with newer Clang + - media: stv0288: use explicitly signed char + - soc: qcom: Select REMAP_MMIO for LLCC driver + - kest.pl: Fix grub2 menu handling for rebooting + - ktest.pl minconfig: Unset configs instead of just removing them + - jbd2: use the correct print format + - perf/x86/intel/uncore: Disable I/O stacks to PMU mapping on ICX-D + - perf/x86/intel/uncore: Clear attr_update properly + - arm64: dts: qcom: sdm845-db845c: correct SPI2 pins drive strength + - mmc: sdhci-sprd: Disable CLK_AUTO when the clock is less than 400K + - btrfs: fix resolving backrefs for inline extent followed by prealloc + - ARM: ux500: do not directly dereference __iomem + - arm64: dts: qcom: sdm850-lenovo-yoga-c630: correct I2C12 pins drive strength + - selftests: Use optional USERCFLAGS and USERLDFLAGS + - PM/devfreq: governor: Add a private governor_data for governor + - cpufreq: Init completion before kobject_init_and_add() + - ALSA: patch_realtek: Fix Dell Inspiron Plus 16 + - ALSA: hda/realtek: Apply dual codec fixup for Dell Latitude laptops + - fs: dlm: fix sock release if listen fails + - fs: dlm: retry accept() until -EAGAIN or error returns + - mptcp: remove MPTCP 'ifdef' in TCP SYN cookies + - dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort + - dm thin: Fix ABBA deadlock between shrink_slab and dm_pool_abort_metadata + - dm thin: Use last transaction's pmd->root when commit failed + - dm thin: resume even if in FAIL mode + - dm thin: Fix UAF in run_timer_softirq() + - dm integrity: Fix UAF in dm_integrity_dtr() + - dm clone: Fix UAF in clone_dtr() + - dm cache: Fix UAF in destroy() + - dm cache: set needs_check flag after aborting metadata + - tracing/hist: Fix out-of-bound write on 'action_data.var_ref_idx' + - perf/core: Call LSM hook after copying perf_event_attr + - of/kexec: Fix reading 32-bit "linux,initrd-{start,end}" values + - KVM: VMX: Resume guest immediately when injecting #GP on ECREATE + - KVM: nVMX: Inject #GP, not #UD, if "generic" VMXON CR0/CR4 check fails + - KVM: nVMX: Properly expose ENABLE_USR_WAIT_PAUSE control to L1 + - x86/microcode/intel: Do not retry microcode reloading on the APs + - ftrace/x86: Add back ftrace_expected for ftrace bug reports + - x86/kprobes: Fix kprobes instruction boudary check with CONFIG_RETHUNK + - x86/kprobes: Fix optprobe optimization check with CONFIG_RETHUNK + - tracing: Fix race where eprobes can be called before the event + - tracing: Fix complicated dependency of CONFIG_TRACER_MAX_TRACE + - tracing/hist: Fix wrong return value in parse_action_params() + - tracing/probes: Handle system names with hyphens + - tracing: Fix infinite loop in tracing_read_pipe on overflowed + print_trace_line + - staging: media: tegra-video: fix chan->mipi value on error + - staging: media: tegra-video: fix device_node use after free + - ARM: 9256/1: NWFPE: avoid compiler-generated __aeabi_uldivmod + - media: dvb-core: Fix double free in dvb_register_device() + - cifs: fix confusing debug message + - cifs: fix missing display of three mount options + - rtc: ds1347: fix value written to century register + - block: mq-deadline: Do not break sequential write streams to zoned HDDs + - md/bitmap: Fix bitmap chunk size overflow issues + - efi: Add iMac Pro 2017 to uefi skip cert quirk + - wifi: wilc1000: sdio: fix module autoloading + - ASoC: jz4740-i2s: Handle independent FIFO flush bits + - ipu3-imgu: Fix NULL pointer dereference in imgu_subdev_set_selection() + - ipmi: fix long wait in unload when IPMI disconnect + - mtd: spi-nor: Check for zero erase size in spi_nor_find_best_erase_type() + - ima: Fix a potential NULL pointer access in ima_restore_measurement_list + - ipmi: fix use after free in _ipmi_destroy_user() + - PCI: Fix pci_device_is_present() for VFs by checking PF + - PCI/sysfs: Fix double free in error path + - riscv: stacktrace: Fixup ftrace_graph_ret_addr retp argument + - riscv: mm: notify remote harts about mmu cache updates + - crypto: n2 - add missing hash statesize + - driver core: Fix bus_type.match() error handling in __driver_attach() + - phy: qcom-qmp-combo: fix sc8180x reset + - iommu/amd: Fix ivrs_acpihid cmdline parsing code + - remoteproc: core: Do pm_relax when in RPROC_OFFLINE state + - parisc: led: Fix potential null-ptr-deref in start_task() + - device_cgroup: Roll back to original exceptions after copy failure + - drm/connector: send hotplug uevent on connector cleanup + - drm/i915/dsi: fix VBT send packet port selection for dual link DSI + - drm/ingenic: Fix missing platform_driver_unregister() call in + ingenic_drm_init() + - ext4: silence the warning when evicting inode with dioread_nolock + - ext4: add inode table check in __ext4_get_inode_loc to aovid possible + infinite loop + - ext4: remove trailing newline from ext4_msg() message + - fs: ext4: initialize fsdata in pagecache_write() + - ext4: fix use-after-free in ext4_orphan_cleanup + - ext4: fix undefined behavior in bit shift for ext4_check_flag_values + - ext4: add EXT4_IGET_BAD flag to prevent unexpected bad inode + - ext4: add helper to check quota inums + - ext4: fix bug_on in __es_tree_search caused by bad quota inode + - ext4: fix reserved cluster accounting in __es_remove_extent() + - ext4: check and assert if marking an no_delete evicting inode dirty + - ext4: fix bug_on in __es_tree_search caused by bad boot loader inode + - ext4: fix leaking uninitialized memory in fast-commit journal + - ext4: fix uninititialized value in 'ext4_evict_inode' + - ext4: init quota for 'old.inode' in 'ext4_rename' + - ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline + - ext4: fix error code return to user-space in ext4_get_branch() + - ext4: avoid BUG_ON when creating xattrs + - ext4: fix kernel BUG in 'ext4_write_inline_data_end()' + - ext4: fix inode leak in ext4_xattr_inode_create() on an error path + - ext4: initialize quota before expanding inode in setproject ioctl + - ext4: avoid unaccounted block allocation when expanding inode + - ext4: allocate extended attribute value in vmalloc area + - drm/amdgpu: handle polaris10/11 overlap asics (v2) + - block: mq-deadline: Fix dd_finish_request() for zoned devices + - tracing: Fix issue of missing one synthetic field + - ext4: use ext4_debug() instead of jbd_debug() + - ext4: introduce EXT4_FC_TAG_BASE_LEN helper + - ext4: factor out ext4_fc_get_tl() + - ext4: fix potential out of bound read in ext4_fc_replay_scan() + - ext4: disable fast-commit of encrypted dir operations + - ext4: don't set up encryption key during jbd2 transaction + - ext4: add missing validation of fast-commit record lengths + - ext4: fix unaligned memory access in ext4_fc_reserve_space() + - ext4: fix off-by-one errors in fast-commit block filling + - ARM: renumber bits related to _TIF_WORK_MASK + - phy: qcom-qmp-combo: fix out-of-bounds clock access + - btrfs: replace strncpy() with strscpy() + - btrfs: fix extent map use-after-free when handling missing device in + read_one_chunk + - x86/MCE/AMD: Clear DFR errors found in THR handler + - media: s5p-mfc: Fix to handle reference queue during finishing + - media: s5p-mfc: Clear workbit to handle error condition + - media: s5p-mfc: Fix in register read and write for H264 + - perf probe: Use dwarf_attr_integrate as generic DWARF attr accessor + - perf probe: Fix to get the DW_AT_decl_file and DW_AT_call_file as unsinged + data + - ravb: Fix "failed to switch device to config mode" message during unbind + - ext4: goto right label 'failed_mount3a' + - ext4: correct inconsistent error msg in nojournal mode + - mbcache: automatically delete entries from cache on freeing + - ext4: fix deadlock due to mbcache entry corruption + - SUNRPC: ensure the matching upcall is in-flight upon downcall + - btrfs: fix an error handling path in btrfs_defrag_leaves() + - bpf: pull before calling skb_postpull_rcsum() + - drm/panfrost: Fix GEM handle creation ref-counting + - netfilter: nf_tables: consolidate set description + - netfilter: nf_tables: add function to create set stateful expressions + - netfilter: nf_tables: perform type checking for existing sets + - vmxnet3: correctly report csum_level for encapsulated packet + - netfilter: nf_tables: honor set timeout and garbage collection updates + - veth: Fix race with AF_XDP exposing old or uninitialized descriptors + - nfsd: shut down the NFSv4 state objects before the filecache + - net: hns3: add interrupts re-initialization while doing VF FLR + - net: hns3: fix miss L3E checking for rx packet + - net: hns3: fix VF promisc mode not update when mac table full + - qlcnic: prevent ->dcb use-after-free on qlcnic_dcb_enable() failure + - net: dsa: mv88e6xxx: depend on PTP conditionally + - nfc: Fix potential resource leaks + - vdpa_sim: fix possible memory leak in vdpasim_net_init() and + vdpasim_blk_init() + - vhost/vsock: Fix error handling in vhost_vsock_init() + - vringh: fix range used in iotlb_translate() + - vhost: fix range used in translate_desc() + - vdpa_sim: fix vringh initialization in vdpasim_queue_ready() + - net/mlx5: E-Switch, properly handle ingress tagged packets on VST + - net/mlx5: Add forgotten cleanup calls into mlx5_init_once() error path + - net/mlx5: Avoid recovery in probe flows + - net/mlx5e: IPoIB, Don't allow CQE compression to be turned on by default + - net/mlx5e: Always clear dest encap in neigh-update-del + - net/mlx5e: Fix hw mtu initializing at XDP SQ allocation + - net: amd-xgbe: add missed tasklet_kill + - net: ena: Fix toeplitz initial hash value + - net: ena: Don't register memory info on XDP exchange + - net: ena: Account for the number of processed bytes in XDP + - net: ena: Use bitmask to indicate packet redirection + - net: ena: Fix rx_copybreak value update + - net: ena: Set default value for RX interrupt moderation + - net: ena: Update NUMA TPH hint register upon NUMA node update + - net: phy: xgmiitorgmii: Fix refcount leak in xgmiitorgmii_probe + - RDMA/mlx5: Fix mlx5_ib_get_hw_stats when used for device + - RDMA/mlx5: Fix validation of max_rd_atomic caps for DC + - drm/meson: Reduce the FIFO lines held when AFBC is not used + - filelock: new helper: vfs_inode_has_locks + - ceph: switch to vfs_inode_has_locks() to fix file lock bug + - gpio: sifive: Fix refcount leak in sifive_gpio_probe + - net: sched: atm: dont intepret cls results when asked to drop + - net: sched: cbq: dont intepret cls results when asked to drop + - net: sparx5: Fix reading of the MAC address + - netfilter: ipset: fix hash:net,port,net hang with /0 subnet + - netfilter: ipset: Rework long task execution when adding/deleting entries + - perf tools: Fix resources leak in perf_data__open_dir() + - drm/imx: ipuv3-plane: Fix overlay plane width + - fs/ntfs3: don't hold ni_lock when calling truncate_setsize() + - drivers/net/bonding/bond_3ad: return when there's no aggregator + - octeontx2-pf: Fix lmtst ID used in aura free + - usb: rndis_host: Secure rndis_query check against int overflow + - perf stat: Fix handling of --for-each-cgroup with --bpf-counters to match + non BPF mode + - drm/i915: unpin on error in intel_vgpu_shadow_mm_pin() + - caif: fix memory leak in cfctrl_linkup_request() + - udf: Fix extension of the last extent in the file + - ASoC: Intel: bytcr_rt5640: Add quirk for the Advantech MICA-071 tablet + - nvme: fix multipath crash caused by flush request when blktrace is enabled + - io_uring: check for valid register opcode earlier + - nvmet: use NVME_CMD_EFFECTS_CSUPP instead of open coding it + - nvme: also return I/O command effects from nvme_command_effects + - btrfs: check superblock to ensure the fs was not modified at thaw time + - x86/kexec: Fix double-free of elf header buffer + - nfsd: fix handling of readdir in v4root vs. mount upcall timeout + - fbdev: matroxfb: G200eW: Increase max memory from 1 MB to 16 MB + - block: don't allow splitting of a REQ_NOWAIT bio + - io_uring: fix CQ waiting timeout handling + - thermal: int340x: Add missing attribute for data rate base + - riscv: uaccess: fix type of 0 variable on error in get_user() + - riscv, kprobes: Stricter c.jr/c.jalr decoding + - drm/i915/gvt: fix gvt debugfs destroy + - drm/i915/gvt: fix vgpu debugfs clean in remove + - hfs/hfsplus: avoid WARN_ON() for sanity check, use proper error handling + - ksmbd: fix infinite loop in ksmbd_conn_handler_loop() + - ksmbd: check nt_len to be at least CIFS_ENCPWD_SIZE in + ksmbd_decode_ntlmssp_auth_blob + - Revert "ACPI: PM: Add support for upcoming AMD uPEP HID AMDI007" + - mptcp: dedicated request sock for subflow in v6 + - mptcp: use proper req destructor for IPv6 + - ext4: don't allow journal inode to have encrypt flag + - btrfs: make thaw time super block check to also verify checksum + - mbcache: Avoid nesting of cache->c_list_lock under bit locks + - efi: random: combine bootloader provided RNG seed with RNG protocol output + - drm/mgag200: Fix PLL setup for G200_SE_A rev >=4 + - futex: Fix futex_waitv() hrtimer debug object leak on kcalloc error + - rtmutex: Add acquire semantics for rtmutex lock acquisition slow path + - mm/mempolicy: fix memory leak in set_mempolicy_home_node system call + - block: Do not reread partition table on exclusively open device + - arm64: dts: qcom: sdm850-samsung-w737: correct I2C12 pins drive strength + - EDAC/mc_sysfs: Increase legacy channel support to 12 + - ext2: unbugger ext2_empty_dir() + - bpf: Resolve fext program type when checking map compatibility + - mptcp: netlink: fix some error return code + - ima: Fix hash dependency to correct algorithm + - KVM: x86: fix APICv/x2AVIC disabled when vm reboot by itself + - powerpc/ftrace: fix syscall tracing on PPC64_ELF_ABI_V1 + - arm64: dts: mediatek: mt8195-demo: fix the memory size of node secmon + - drm/amdgpu: fix mmhub register base coding error + - mtd: spi-nor: gigadevice: gd25q256: replace gd25q256_default_init with + gd25q256_post_bfpt + - ima: Fix memory leak in __ima_inode_hash() + - crypto: ccree,hisilicon - Fix dependencies to correct algorithm + - RISC-V: kexec: Fix memory leak of fdt buffer + - riscv: Fixup compile error with !MMU + - RISC-V: kexec: Fix memory leak of elf header buffer + - bus: mhi: host: Fix race between channel preparation and M0 event + - test_kprobes: Fix implicit declaration error of test_kprobes + - remoteproc: imx_dsp_rproc: Add mutex protection for workqueue + - remoteproc: imx_rproc: Correct i.MX93 DRAM mapping + - parisc: Add missing FORCE prerequisites in Makefile + - ext4: journal_path mount options should follow links + - drm/i915: improve the catch-all evict to handle lock contention + - drm/i915/migrate: Account for the reserved_space + - cifs: fix interface count calculation during refresh + - cifs: refcount only the selected iface during interface update + - usb: dwc3: gadget: Ignore End Transfer delay on teardown + - ice: xsk: do not use xdp_return_frame() on tx_buf->raw_buf + - net: vrf: determine the dst using the original ifindex for multicast + - mptcp: fix lockdep false positive + - net: lan966x: Fix configuration of the PCS + - bnxt_en: Simplify bnxt_xdp_buff_init() + - bnxt_en: Fix XDP RX path + - bnxt_en: Fix first buffer size calculations for XDP multi-buffer + - bnxt_en: Fix HDS and jumbo thresholds for RX packets + - vdpa/mlx5: Fix rule forwarding VLAN to TIR + - vdpa/mlx5: Fix wrong mac address deletion + - vhost-vdpa: fix an iotlb memory leak + - virtio-crypto: fix memory leak in virtio_crypto_alg_skcipher_close_session() + - vdpa/vp_vdpa: fix kfree a wrong pointer in vp_vdpa_remove + - vdpasim: fix memory leak when freeing IOTLBs + - net/mlx5: Fix io_eq_size and event_eq_size params validation + - net/mlx5: Fix RoCE setting at HCA level + - net/mlx5e: CT: Fix ct debugfs folder name + - net/mlx5e: Set geneve_tlv_option_0_exist when matching on geneve option + - net/mlx5: Lag, fix failure to cancel delayed bond work + - vxlan: Fix memory leaks in error path + - drm/i915/gvt: fix double free bug in split_2MB_gtt_entry + - qed: allow sleep in qed_mcp_trace_dump() + - usb: dwc3: xilinx: include linux/gpio/consumer.h + - net: dsa: tag_qca: fix wrong MGMT_DATA2 size + - vhost_vdpa: fix the crash in unmap a large memory + - of/fdt: run soc memory setup when early_init_dt_scan_memory fails + + * CVE-2022-36280 + - drm/vmwgfx: Validate the box size for the snooped cursor + + * CVE-2023-1118 + - media: rc: Fix use-after-free bugs caused by ene_tx_irqsim() + + -- Luke Nowakowski-Krijger Tue, 18 Apr 2023 10:50:41 -0700 + +linux (5.19.0-41.42) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-41.42 -proposed tracker (LP: #2016651) + + * CVE-2023-1829 + - net/sched: Retire tcindex classifier + - [Config]: Make sure CONFIG_NET_CLS_TCINDEX is not available + + * CVE-2023-0386 + - ovl: fail on invalid uid/gid mapping at copy up + + -- Thadeu Lima de Souza Cascardo Mon, 17 Apr 2023 11:56:45 -0300 + +linux (5.19.0-40.41) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-40.41 -proposed tracker (LP: #2012668) + + * CVE-2023-0468 + - io_uring: fix tw losing poll events + - io_uring: make poll refs more robust + + * Regression in ext4 during online resize (LP: #2003816) + - ext4: fix bad checksum after online resize + - ext4: fix corruption when online resizing a 1K bigalloc fs + - ext4: fix corrupt backup group descriptors after online resize + + -- Luke Nowakowski-Krijger Thu, 23 Mar 2023 13:36:46 -0700 + +linux (5.19.0-39.40) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-39.40 -proposed tracker (LP: #2011876) + + * CVE-2023-26545 + - net: mpls: fix stale pointer if allocation fails during device rename + + * CVE-2023-1032 + - net: avoid double iput when sock_alloc_file fails + + * CVE-2022-41218 // CVE-2022-41218 is assigned to those bugs above. + - media: dvb-core: Fix UAF due to refcount races at releasing + + * CVE-2023-1281 + - net/sched: tcindex: update imperfect hash filters respecting rcu + + * linux: CONFIG_SERIAL_8250_MID=y (LP: #2009283) + - [Config] enable CONFIG_SERIAL_8250_MID=y + + * apply the latest TDX attestation driver from Intel (LP: #2009437) + - Revert "UBUNTU: SAUCE: selftests: tdx: Test GetReport TDX attestation + feature" + - Revert "UBUNTU: SAUCE: x86/tdx: Add TDX Guest attestation interface driver" + - x86/tdx: Add a wrapper to get TDREPORT0 from the TDX Module + - virt: Add TDX guest driver + - selftests/tdx: Test TDX attestation GetReport support + - [Config] enable TDX attestation driver as module by default + + * cpufreq: intel_pstate: Update Balance performance EPP for Sapphire Rapids + (LP: #2008519) + - cpufreq: intel_pstate: Adjust balance_performance EPP for Sapphire Rapids + + * Fail to output sound to external monitor which connects via docking station + (LP: #2009024) + - [Config] Enable CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM + + * Fix mediatek wifi driver crash when loading wrong SAR table (LP: #2009118) + - wifi: mt76: mt7921: fix error code of return in mt7921_acpi_read + + * CVE-2022-47929 + - net: sched: disallow noqueue for qdisc classes + + * Intel graphic driver is not probing[8086:468b] (LP: #1990242) + - drm/i915: Add new ADL-S pci id + + * Some QHD panels fail to refresh when PSR2 enabled (LP: #2009014) + - drm/i915/psr: Use full update In case of area calculation fails + - drm/i915: Ensure damage clip area is within pipe area + - SAUCE: drm/i915/psr: Use calculated io and fast wake lines + + * overlayfs mounts as R/O over idmapped mount (LP: #2009065) + - SAUCE: overlayfs: handle idmapped mounts in ovl_do_(set|remove)xattr + + * Kinetic update: upstream stable patchset 2023-02-28 (LP: #2008832) + - usb: musb: remove extra check in musb_gadget_vbus_draw + - arm64: dts: qcom: ipq6018-cp01-c1: use BLSPI1 pins + - arm64: dts: qcom: sm8250-sony-xperia-edo: fix touchscreen bias-disable + - arm64: dts: qcom: msm8996: Add MSM8996 Pro support + - arm64: dts: qcom: msm8996: fix supported-hw in cpufreq OPP tables + - arm64: dts: qcom: msm8996: fix GPU OPP table + - ARM: dts: qcom: apq8064: fix coresight compatible + - arm64: dts: qcom: sdm630: fix UART1 pin bias + - arm64: dts: qcom: sdm845-cheza: fix AP suspend pin bias + - arm64: dts: qcom: msm8916: Drop MSS fallback compatible + - objtool, kcsan: Add volatile read/write instrumentation to whitelist + - ARM: dts: stm32: Drop stm32mp15xc.dtsi from Avenger96 + - ARM: dts: stm32: Fix AV96 WLAN regulator gpio property + - drivers: soc: ti: knav_qmss_queue: Mark knav_acc_firmwares as static + - arm64: dts: qcom: pm660: Use unique ADC5_VCOIN address in node name + - arm64: dts: qcom: sm8250: correct LPASS pin pull down + - soc: qcom: llcc: make irq truly optional + - arm64: dts: qcom: sm8150: fix UFS PHY registers + - arm64: dts: qcom: sm8250: fix UFS PHY registers + - arm64: dts: qcom: sm8350: fix UFS PHY registers + - arm64: dts: qcom: sm8250: drop bogus DP PHY clock + - soc: qcom: apr: Add check for idr_alloc and of_property_read_string_index + - arm64: dts: qcom: sm6125: fix SDHCI CQE reg names + - arm: dts: spear600: Fix clcd interrupt + - soc: ti: knav_qmss_queue: Fix PM disable depth imbalance in knav_queue_probe + - soc: ti: smartreflex: Fix PM disable depth imbalance in omap_sr_probe + - arm64: mm: kfence: only handle translation faults + - perf: arm_dsu: Fix hotplug callback leak in dsu_pmu_init() + - perf/arm_dmc620: Fix hotplug callback leak in dmc620_pmu_init() + - perf/smmuv3: Fix hotplug callback leak in arm_smmu_pmu_init() + - arm64: dts: ti: k3-am65-main: Drop dma-coherent in crypto node + - arm64: dts: ti: k3-j721e-main: Drop dma-coherent in crypto node + - ARM: dts: nuvoton: Remove bogus unit addresses from fixed-partition nodes + - arm64: dts: mt6779: Fix devicetree build warnings + - arm64: dts: mt2712e: Fix unit_address_vs_reg warning for oscillators + - arm64: dts: mt2712e: Fix unit address for pinctrl node + - arm64: dts: mt2712-evb: Fix vproc fixed regulators unit names + - arm64: dts: mt2712-evb: Fix usb vbus regulators unit names + - arm64: dts: mediatek: pumpkin-common: Fix devicetree warnings + - arm64: dts: mediatek: mt6797: Fix 26M oscillator unit name + - ARM: dts: dove: Fix assigned-addresses for every PCIe Root Port + - ARM: dts: armada-370: Fix assigned-addresses for every PCIe Root Port + - ARM: dts: armada-xp: Fix assigned-addresses for every PCIe Root Port + - ARM: dts: armada-375: Fix assigned-addresses for every PCIe Root Port + - ARM: dts: armada-38x: Fix assigned-addresses for every PCIe Root Port + - ARM: dts: armada-39x: Fix assigned-addresses for every PCIe Root Port + - ARM: dts: turris-omnia: Add ethernet aliases + - ARM: dts: turris-omnia: Add switch port 6 node + - arm64: dts: armada-3720-turris-mox: Add missing interrupt for RTC + - seccomp: Move copy_seccomp() to no failure path. + - pstore/ram: Fix error return code in ramoops_probe() + - ARM: mmp: fix timer_read delay + - pstore: Avoid kcore oops by vmap()ing with VM_IOREMAP + - tpm/tpm_ftpm_tee: Fix error handling in ftpm_mod_init() + - tpm/tpm_crb: Fix error message in __crb_relinquish_locality() + - ovl: remove privs in ovl_copyfile() + - ovl: remove privs in ovl_fallocate() + - sched/uclamp: Fix relationship between uclamp and migration margin + - sched/uclamp: Make task_fits_capacity() use util_fits_cpu() + - sched/uclamp: Make select_idle_capacity() use util_fits_cpu() + - sched/core: Introduce sched_asym_cpucap_active() + - sched/uclamp: Make asym_fits_capacity() use util_fits_cpu() + - cpuidle: dt: Return the correct numbers of parsed idle states + - alpha: fix TIF_NOTIFY_SIGNAL handling + - alpha: fix syscall entry in !AUDUT_SYSCALL case + - x86/sgx: Reduce delay and interference of enclave release + - PM: hibernate: Fix mistake in kerneldoc comment + - fs: don't audit the capability check in simple_xattr_list() + - cpufreq: qcom-hw: Fix memory leak in qcom_cpufreq_hw_read_lut() + - selftests/ftrace: event_triggers: wait longer for test_event_enable + - perf: Fix possible memleak in pmu_dev_alloc() + - lib/debugobjects: fix stat count and optimize debug_objects_mem_init + - platform/x86: huawei-wmi: fix return value calculation + - timerqueue: Use rb_entry_safe() in timerqueue_getnext() + - proc: fixup uptime selftest + - lib/fonts: fix undefined behavior in bit shift for get_default_font + - ocfs2: fix memory leak in ocfs2_stack_glue_init() + - MIPS: vpe-mt: fix possible memory leak while module exiting + - MIPS: vpe-cmp: fix possible memory leak while module exiting + - selftests/efivarfs: Add checking of the test return value + - PNP: fix name memory leak in pnp_alloc_dev() + - perf/x86/intel/uncore: Fix reference count leak in sad_cfg_iio_topology() + - perf/x86/intel/uncore: Fix reference count leak in hswep_has_limit_sbox() + - perf/x86/intel/uncore: Fix reference count leak in snr_uncore_mmio_map() + - perf/x86/intel/uncore: Fix reference count leak in __uncore_imc_init_box() + - platform/chrome: cros_usbpd_notify: Fix error handling in + cros_usbpd_notify_init() + - thermal: core: fix some possible name leaks in error paths + - irqchip: gic-pm: Use pm_runtime_resume_and_get() in gic_probe() + - irqchip/wpcm450: Fix memory leak in wpcm450_aic_of_init() + - EDAC/i10nm: fix refcount leak in pci_get_dev_wrapper() + - NFSD: Finish converting the NFSv2 GETACL result encoder + - nfsd: don't call nfsd_file_put from client states seqfile display + - genirq/irqdesc: Don't try to remove non-existing sysfs files + - cpufreq: amd_freq_sensitivity: Add missing pci_dev_put() + - libfs: add DEFINE_SIMPLE_ATTRIBUTE_SIGNED for signed value + - lib/notifier-error-inject: fix error when writing -errno to debugfs file + - debugfs: fix error when writing negative value to atomic_t debugfs file + - rapidio: fix possible name leaks when rio_add_device() fails + - rapidio: rio: fix possible name leak in rio_register_mport() + - clocksource/drivers/sh_cmt: Access registers according to spec + - mips: ralink: mt7621: define MT7621_SYSC_BASE with __iomem + - mips: ralink: mt7621: soc queries and tests as functions + - mips: ralink: mt7621: do not use kzalloc too early + - futex: Resend potentially swallowed owner death notification + - cpu/hotplug: Make target_store() a nop when target == state + - cpu/hotplug: Do not bail-out in DYING/STARTING sections + - clocksource/drivers/timer-ti-dm: Fix missing clk_disable_unprepare in + dmtimer_systimer_init_clock() + - ACPICA: Fix use-after-free in acpi_ut_copy_ipackage_to_ipackage() + - uprobes/x86: Allow to probe a NOP instruction with 0x66 prefix + - x86/xen: Fix memory leak in xen_smp_intr_init{_pv}() + - x86/xen: Fix memory leak in xen_init_lock_cpu() + - xen/privcmd: Fix a possible warning in privcmd_ioctl_mmap_resource() + - PM: runtime: Do not call __rpm_callback() from rpm_idle() + - platform/chrome: cros_ec_typec: Cleanup switch handle return paths + - platform/chrome: cros_ec_typec: zero out stale pointers + - platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]() + - platform/x86: intel_scu_ipc: fix possible name leak in + __intel_scu_ipc_register() + - MIPS: BCM63xx: Add check for NULL for clk in clk_enable + - MIPS: OCTEON: warn only once if deprecated link status is being used + - lockd: set other missing fields when unlocking files + - fs: sysv: Fix sysv_nblocks() returns wrong value + - rapidio: fix possible UAF when kfifo_alloc() fails + - eventfd: change int to __u64 in eventfd_signal() ifndef CONFIG_EVENTFD + - relay: fix type mismatch when allocating memory in relay_create_buf() + - hfs: Fix OOB Write in hfs_asc2mac + - rapidio: devices: fix missing put_device in mport_cdev_open + - platform/mellanox: mlxbf-pmc: Fix event typo + - wifi: ath9k: hif_usb: fix memory leak of urbs in + ath9k_hif_usb_dealloc_tx_urbs() + - wifi: ath9k: hif_usb: Fix use-after-free in ath9k_hif_usb_reg_in_cb() + - wifi: rtl8xxxu: Fix reading the vendor of combo chips + - drm/bridge: adv7533: remove dynamic lane switching from adv7533 bridge + - libbpf: Fix use-after-free in btf_dump_name_dups + - libbpf: Fix null-pointer dereference in find_prog_by_sec_insn() + - ata: libata: fix NCQ autosense logic + - ipmi: kcs: Poll OBF briefly to reduce OBE latency + - drm/amdgpu/powerplay/psm: Fix memory leak in power state init + - media: v4l2-ctrls: Fix off-by-one error in integer menu control check + - media: coda: jpeg: Add check for kmalloc + - media: adv748x: afe: Select input port when initializing AFE + - media: i2c: ad5820: Fix error path + - venus: pm_helpers: Fix error check in vcodec_domains_get() + - soreuseport: Fix socket selection for SO_INCOMING_CPU. + - media: exynos4-is: don't rely on the v4l2_async_subdev internals + - libbpf: Btf dedup identical struct test needs check for nested + structs/arrays + - can: kvaser_usb: kvaser_usb_leaf: Get capabilities from device + - can: kvaser_usb: kvaser_usb_leaf: Rename {leaf,usbcan}_cmd_error_event to + {leaf,usbcan}_cmd_can_error_event + - can: kvaser_usb: kvaser_usb_leaf: Handle CMD_ERROR_EVENT + - can: kvaser_usb_leaf: Set Warning state even without bus errors + - can: kvaser_usb_leaf: Fix improved state not being reported + - can: kvaser_usb_leaf: Fix wrong CAN state after stopping + - can: kvaser_usb_leaf: Fix bogus restart events + - can: kvaser_usb: Add struct kvaser_usb_busparams + - can: kvaser_usb: Compare requested bittiming parameters with actual + parameters in do_set_{,data}_bittiming + - drm/rockchip: lvds: fix PM usage counter unbalance in poweron + - clk: renesas: r9a06g032: Repair grave increment error + - spi: Update reference to struct spi_controller + - drm/panel/panel-sitronix-st7701: Remove panel on DSI attach failure + - drm/msm/hdmi: drop unused GPIO support + - drm/msm/hdmi: use devres helper for runtime PM management + - bpf: Fix slot type check in check_stack_write_var_off + - media: vivid: fix compose size exceed boundary + - media: platform: exynos4-is: fix return value check in fimc_md_probe() + - bpf: propagate precision in ALU/ALU64 operations + - bpf: propagate precision across all frames, not just the last one + - clk: qcom: gcc-sm8250: Use retention mode for USB GDSCs + - mtd: Fix device name leak when register device failed in add_mtd_device() + - Input: joystick - fix Kconfig warning for JOYSTICK_ADC + - wifi: rsi: Fix handling of 802.3 EAPOL frames sent via control port + - media: camss: Clean up received buffers on failed start of streaming + - net, proc: Provide PROC_FS=n fallback for proc_create_net_single_write() + - rxrpc: Fix ack.bufferSize to be 0 when generating an ack + - bfq: fix waker_bfqq inconsistency crash + - drm/radeon: Add the missed acpi_put_table() to fix memory leak + - drm/mediatek: Modify dpi power on/off sequence. + - ASoC: pxa: fix null-pointer dereference in filter() + - nvmet: only allocate a single slab for bvecs + - regulator: core: fix unbalanced of node refcount in regulator_dev_lookup() + - amdgpu/pm: prevent array underflow in vega20_odn_edit_dpm_table() + - nvme: return err on nvme_init_non_mdts_limits fail + - regulator: qcom-rpmh: Fix PMR735a S3 regulator spec + - drm/fourcc: Fix vsub/hsub for Q410 and Q401 + - integrity: Fix memory leakage in keyring allocation error path + - ima: Fix misuse of dereference of pointer in template_desc_init_fields() + - block: clear ->slave_dir when dropping the main slave_dir reference + - wifi: ath10k: Fix return value in ath10k_pci_init() + - drm/msm/a6xx: Fix speed-bin detection vs probe-defer + - mtd: lpddr2_nvm: Fix possible null-ptr-deref + - Input: elants_i2c - properly handle the reset GPIO when power is off + - media: vidtv: Fix use-after-free in vidtv_bridge_dvb_init() + - media: solo6x10: fix possible memory leak in solo_sysfs_init() + - media: platform: exynos4-is: Fix error handling in fimc_md_init() + - media: videobuf-dma-contig: use dma_mmap_coherent + - mtd: spi-nor: hide jedec_id sysfs attribute if not present + - mtd: spi-nor: Fix the number of bytes for the dummy cycles + - bpf: Move skb->len == 0 checks into __bpf_redirect + - HID: hid-sensor-custom: set fixed size for custom attributes + - pinctrl: k210: call of_node_put() + - ALSA: pcm: fix undefined behavior in bit shift for SNDRV_PCM_RATE_KNOT + - ALSA: seq: fix undefined behavior in bit shift for + SNDRV_SEQ_FILTER_USE_EVENT + - regulator: core: use kfree_const() to free space conditionally + - clk: rockchip: Fix memory leak in rockchip_clk_register_pll() + - drm/amdgpu: fix pci device refcount leak + - bonding: fix link recovery in mode 2 when updelay is nonzero + - mtd: maps: pxa2xx-flash: fix memory leak in probe + - drbd: remove call to memset before free device/resource/connection + - drbd: destroy workqueue when drbd device was freed + - ASoC: qcom: Add checks for devm_kcalloc + - media: vimc: Fix wrong function called when vimc_init() fails + - media: imon: fix a race condition in send_packet() + - clk: imx8mn: rename vpu_pll to m7_alt_pll + - clk: imx: replace osc_hdmi with dummy + - clk: imx8mn: fix imx8mn_sai2_sels clocks list + - clk: imx8mn: fix imx8mn_enet_phy_sels clocks list + - pinctrl: pinconf-generic: add missing of_node_put() + - media: dvb-core: Fix ignored return value in dvb_register_frontend() + - media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer() + - media: s5p-mfc: Add variant data for MFC v7 hardware for Exynos 3250 SoC + - drm/tegra: Add missing clk_disable_unprepare() in tegra_dc_probe() + - ASoC: dt-bindings: wcd9335: fix reset line polarity in example + - ASoC: mediatek: mtk-btcvsd: Add checks for write and read of mtk_btcvsd_snd + - NFSv4.2: Clear FATTR4_WORD2_SECURITY_LABEL when done decoding + - NFSv4.2: Fix a memory stomp in decode_attr_security_label + - NFSv4.2: Fix initialisation of struct nfs4_label + - NFSv4: Fix a credential leak in _nfs4_discover_trunking() + - NFSv4: Fix a deadlock between nfs4_open_recover_helper() and delegreturn + - NFS: Fix an Oops in nfs_d_automount() + - ALSA: asihpi: fix missing pci_disable_device() + - wifi: iwlwifi: mvm: fix double free on tx path. + - ASoC: mediatek: mt8173: Enable IRQ when pdata is ready + - drm/amd/pm/smu11: BACO is supported when it's in BACO state + - drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios() + - drm/amdgpu: Fix PCI device refcount leak in amdgpu_atrm_get_bios() + - drm/amdkfd: Fix memory leakage + - ASoC: pcm512x: Fix PM disable depth imbalance in pcm512x_probe + - netfilter: conntrack: set icmpv6 redirects as RELATED + - Input: wistron_btns - disable on UML + - bpf, sockmap: Fix repeated calls to sock_put() when msg has more_data + - bpf, sockmap: Fix missing BPF_F_INGRESS flag when using apply_bytes + - bpf, sockmap: Fix data loss caused by using apply_bytes on ingress redirect + - bonding: uninitialized variable in bond_miimon_inspect() + - spi: spidev: mask SPI_CS_HIGH in SPI_IOC_RD_MODE + - wifi: cfg80211: Fix not unregister reg_pdev when load_builtin_regdb_keys() + fails + - wifi: mt76: mt7921: fix reporting of TX AGGR histogram + - wifi: mt76: fix coverity overrun-call in mt76_get_txpower() + - regulator: core: fix module refcount leak in set_supply() + - clk: qcom: lpass-sc7180: Fix pm_runtime usage + - clk: qcom: clk-krait: fix wrong div2 functions + - hsr: Add a rcu-read lock to hsr_forward_skb(). + - hsr: Avoid double remove of a node. + - hsr: Disable netpoll. + - hsr: Synchronize sending frames to have always incremented outgoing seq nr. + - hsr: Synchronize sequence number updates. + - configfs: fix possible memory leak in configfs_create_dir() + - regulator: core: fix resource leak in regulator_register() + - hwmon: (jc42) Convert register access and caching to regmap/regcache + - hwmon: (jc42) Restore the min/max/critical temperatures on resume + - bpf, sockmap: fix race in sock_map_free() + - ALSA: pcm: Set missing stop_operating flag at undoing trigger start + - media: saa7164: fix missing pci_disable_device() + - ALSA: mts64: fix possible null-ptr-defer in snd_mts64_interrupt + - xprtrdma: Fix regbuf data not freed in rpcrdma_req_create() + - SUNRPC: Fix missing release socket in rpc_sockname() + - NFSv4.x: Fail client initialisation if state manager thread can't run + - riscv, bpf: Emit fixed-length instructions for BPF_PSEUDO_FUNC + - mmc: alcor: fix return value check of mmc_add_host() + - mmc: moxart: fix return value check of mmc_add_host() + - mmc: mxcmmc: fix return value check of mmc_add_host() + - mmc: pxamci: fix return value check of mmc_add_host() + - mmc: rtsx_pci: fix return value check of mmc_add_host() + - mmc: rtsx_usb_sdmmc: fix return value check of mmc_add_host() + - mmc: toshsd: fix return value check of mmc_add_host() + - mmc: vub300: fix return value check of mmc_add_host() + - mmc: wmt-sdmmc: fix return value check of mmc_add_host() + - mmc: atmel-mci: fix return value check of mmc_add_host() + - mmc: omap_hsmmc: fix return value check of mmc_add_host() + - mmc: meson-gx: fix return value check of mmc_add_host() + - mmc: via-sdmmc: fix return value check of mmc_add_host() + - mmc: wbsd: fix return value check of mmc_add_host() + - mmc: mmci: fix return value check of mmc_add_host() + - mmc: renesas_sdhi: alway populate SCC pointer + - memstick/ms_block: Add check for alloc_ordered_workqueue + - mmc: core: Normalize the error handling branch in sd_read_ext_regs() + - regulator: qcom-labibb: Fix missing of_node_put() in + qcom_labibb_regulator_probe() + - media: c8sectpfe: Add of_node_put() when breaking out of loop + - media: coda: Add check for dcoda_iram_alloc + - media: coda: Add check for kmalloc + - clk: samsung: Fix memory leak in _samsung_clk_register_pll() + - spi: spi-gpio: Don't set MOSI as an input if not 3WIRE mode + - wifi: rtl8xxxu: Add __packed to struct rtl8723bu_c2h + - wifi: rtl8xxxu: Fix the channel width reporting + - wifi: brcmfmac: Fix error return code in brcmf_sdio_download_firmware() + - blktrace: Fix output non-blktrace event when blk_classic option enabled + - bpf: Do not zero-extend kfunc return values + - clk: socfpga: Fix memory leak in socfpga_gate_init() + - net: vmw_vsock: vmci: Check memcpy_from_msg() + - net: defxx: Fix missing err handling in dfx_init() + - net: stmmac: selftests: fix potential memleak in stmmac_test_arpoffload() + - net: stmmac: fix possible memory leak in stmmac_dvr_probe() + - drivers: net: qlcnic: Fix potential memory leak in qlcnic_sriov_init() + - of: overlay: fix null pointer dereferencing in find_dup_cset_node_entry() + and find_dup_cset_prop() + - ethernet: s2io: don't call dev_kfree_skb() under spin_lock_irqsave() + - net: farsync: Fix kmemleak when rmmods farsync + - net/tunnel: wait until all sk_user_data reader finish before releasing the + sock + - net: apple: mace: don't call dev_kfree_skb() under spin_lock_irqsave() + - net: apple: bmac: don't call dev_kfree_skb() under spin_lock_irqsave() + - net: emaclite: don't call dev_kfree_skb() under spin_lock_irqsave() + - net: ethernet: dnet: don't call dev_kfree_skb() under spin_lock_irqsave() + - hamradio: don't call dev_kfree_skb() under spin_lock_irqsave() + - net: amd: lance: don't call dev_kfree_skb() under spin_lock_irqsave() + - af_unix: call proto_unregister() in the error path in af_unix_init() + - net: amd-xgbe: Fix logic around active and passive cables + - net: amd-xgbe: Check only the minimum speed for active/passive cables + - can: tcan4x5x: Remove invalid write in clear_interrupts + - can: m_can: Call the RAM init directly from m_can_chip_config + - can: tcan4x5x: Fix use of register error status mask + - net: lan9303: Fix read error execution path + - ntb_netdev: Use dev_kfree_skb_any() in interrupt context + - sctp: sysctl: make extra pointers netns aware + - Bluetooth: MGMT: Fix error report for ADD_EXT_ADV_PARAMS + - Bluetooth: btintel: Fix missing free skb in btintel_setup_combined() + - Bluetooth: btusb: don't call kfree_skb() under spin_lock_irqsave() + - Bluetooth: hci_qca: don't call kfree_skb() under spin_lock_irqsave() + - Bluetooth: hci_ll: don't call kfree_skb() under spin_lock_irqsave() + - Bluetooth: hci_h5: don't call kfree_skb() under spin_lock_irqsave() + - Bluetooth: hci_bcsp: don't call kfree_skb() under spin_lock_irqsave() + - Bluetooth: hci_core: don't call kfree_skb() under spin_lock_irqsave() + - Bluetooth: RFCOMM: don't call kfree_skb() under spin_lock_irqsave() + - stmmac: fix potential division by 0 + - i40e: Fix the inability to attach XDP program on downed interface + - net: dsa: tag_8021q: avoid leaking ctx on dsa_tag_8021q_register() error + path + - crypto: hisilicon/qm - fix missing destroy qp_idr + - crypto: sun8i-ss - use dma_addr instead u32 + - crypto: nitrox - avoid double free on error path in nitrox_sriov_init() + - scsi: core: Fix a race between scsi_done() and scsi_timeout() + - apparmor: Use pointer to struct aa_label for lbs_cred + - PCI: dwc: Fix n_fts[] array overrun + - RDMA/core: Fix order of nldev_exit call + - PCI: pci-epf-test: Register notifier if only core_init_notifier is enabled + - f2fs: Fix the race condition of resize flag between resizefs + - crypto: rockchip - do not do custom power management + - crypto: rockchip - do not store mode globally + - crypto: rockchip - add fallback for cipher + - crypto: rockchip - add fallback for ahash + - crypto: rockchip - better handle cipher key + - crypto: rockchip - remove non-aligned handling + - crypto: rockchip - rework by using crypto_engine + - apparmor: Fix memleak in alloc_ns() + - f2fs: fix to invalidate dcc->f2fs_issue_discard in error path + - f2fs: fix normal discard process + - f2fs: fix to destroy sbi->post_read_wq in error path of f2fs_fill_super() + - RDMA/irdma: Report the correct link speed + - scsi: qla2xxx: Fix set-but-not-used variable warnings + - RDMA/siw: Fix immediate work request flush to completion queue + - IB/mad: Don't call to function that might sleep while in atomic context + - RDMA/restrack: Release MR restrack when delete + - RDMA/core: Make sure "ib_port" is valid when access sysfs node + - RDMA/nldev: Return "-EAGAIN" if the cm_id isn't from expected port + - RDMA/siw: Set defined status for work completion with undefined status + - scsi: scsi_debug: Fix a warning in resp_write_scat() + - crypto: ccree - Remove debugfs when platform_driver_register failed + - crypto: cryptd - Use request context instead of stack for sub-request + - crypto: hisilicon/qm - add missing pci_dev_put() in q_num_set() + - RDMA/hns: Repacing 'dseg_len' by macros in fill_ext_sge_inl_data() + - RDMA/hns: Fix ext_sge num error when post send + - PCI: Check for alloc failure in pci_request_irq() + - RDMA/hfi: Decrease PCI device reference count in error path + - crypto: ccree - Make cc_debugfs_global_fini() available for module init + function + - RDMA/hns: fix memory leak in hns_roce_alloc_mr() + - RDMA/rxe: Fix NULL-ptr-deref in rxe_qp_do_cleanup() when socket create + failed + - dt-bindings: imx6q-pcie: Fix clock names for imx6sx and imx8mq + - dt-bindings: visconti-pcie: Fix interrupts array max constraints + - scsi: hpsa: Fix possible memory leak in hpsa_init_one() + - crypto: tcrypt - Fix multibuffer skcipher speed test mem leak + - padata: Always leave BHs disabled when running ->parallel() + - padata: Fix list iterator in padata_do_serial() + - scsi: mpt3sas: Fix possible resource leaks in mpt3sas_transport_port_add() + - scsi: hpsa: Fix error handling in hpsa_add_sas_host() + - scsi: hpsa: Fix possible memory leak in hpsa_add_sas_device() + - scsi: efct: Fix possible memleak in efct_device_init() + - scsi: scsi_debug: Fix a warning in resp_verify() + - scsi: scsi_debug: Fix a warning in resp_report_zones() + - scsi: fcoe: Fix possible name leak when device_register() fails + - scsi: scsi_debug: Fix possible name leak in sdebug_add_host_helper() + - scsi: ipr: Fix WARNING in ipr_init() + - scsi: fcoe: Fix transport not deattached when fcoe_if_init() fails + - scsi: snic: Fix possible UAF in snic_tgt_create() + - RDMA/nldev: Add checks for nla_nest_start() in fill_stat_counter_qps() + - f2fs: avoid victim selection from previous victim section + - RDMA/nldev: Fix failure to send large messages + - crypto: amlogic - Remove kcalloc without check + - crypto: omap-sham - Use pm_runtime_resume_and_get() in omap_sham_probe() + - riscv/mm: add arch hook arch_clear_hugepage_flags + - RDMA/hfi1: Fix error return code in parse_platform_config() + - RDMA/srp: Fix error return code in srp_parse_options() + - orangefs: Fix sysfs not cleanup when dev init failed + - RDMA/hns: Fix AH attr queried by query_qp + - RDMA/hns: Fix PBL page MTR find + - RDMA/hns: Fix page size cap from firmware + - RDMA/hns: Fix error code of CMD + - crypto: img-hash - Fix variable dereferenced before check 'hdev->req' + - hwrng: amd - Fix PCI device refcount leak + - hwrng: geode - Fix PCI device refcount leak + - IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces + - RISC-V: Align the shadow stack + - drivers: dio: fix possible memory leak in dio_init() + - serial: tegra: Read DMA status before terminating + - serial: 8250_bcm7271: Fix error handling in brcmuart_init() + - class: fix possible memory leak in __class_register() + - vfio: platform: Do not pass return buffer to ACPI _RST method + - uio: uio_dmem_genirq: Fix missing unlock in irq configuration + - uio: uio_dmem_genirq: Fix deadlock between irq config and handling + - usb: fotg210-udc: Fix ages old endianness issues + - staging: vme_user: Fix possible UAF in tsi148_dma_list_add + - usb: typec: Check for ops->exit instead of ops->enter in altmode_exit + - usb: typec: tcpci: fix of node refcount leak in tcpci_register_port() + - usb: typec: tipd: Cleanup resources if devm_tps6598_psy_register fails + - usb: typec: tipd: Fix spurious fwnode_handle_put in error path + - extcon: usbc-tusb320: Factor out extcon into dedicated functions + - extcon: usbc-tusb320: Add USB TYPE-C support + - extcon: usbc-tusb320: Update state on probe even if no IRQ pending + - serial: amba-pl011: avoid SBSA UART accessing DMACR register + - serial: pl011: Do not clear RX FIFO & RX interrupt in unthrottle. + - serial: stm32: move dma_request_chan() before clk_prepare_enable() + - serial: pch: Fix PCI device refcount leak in pch_request_dma() + - tty: serial: clean up stop-tx part in altera_uart_tx_chars() + - tty: serial: altera_uart_{r,t}x_chars() need only uart_port + - serial: altera_uart: fix locking in polling mode + - serial: sunsab: Fix error handling in sunsab_init() + - test_firmware: fix memory leak in test_firmware_init() + - misc: ocxl: fix possible name leak in ocxl_file_register_afu() + - ocxl: fix pci device refcount leak when calling get_function_0() + - misc: tifm: fix possible memory leak in tifm_7xx1_switch_media() + - misc: sgi-gru: fix use-after-free error in gru_set_context_option, gru_fault + and gru_handle_user_call_os + - firmware: raspberrypi: fix possible memory leak in rpi_firmware_probe() + - cxl: fix possible null-ptr-deref in cxl_guest_init_afu|adapter() + - cxl: fix possible null-ptr-deref in cxl_pci_init_afu|adapter() + - iio: temperature: ltc2983: make bulk write buffer DMA-safe + - iio: adis: add '__adis_enable_irq()' implementation + - counter: stm32-lptimer-cnt: fix the check on arr and cmp registers update + - coresight: trbe: remove cpuhp instance node before remove cpuhp state + - usb: roles: fix of node refcount leak in usb_role_switch_is_parent() + - usb: gadget: f_hid: fix f_hidg lifetime vs cdev + - usb: gadget: f_hid: fix refcount leak on error path + - drivers: mcb: fix resource leak in mcb_probe() + - mcb: mcb-parse: fix error handing in chameleon_parse_gdd() + - chardev: fix error handling in cdev_device_add() + - i2c: pxa-pci: fix missing pci_disable_device() on error in ce4100_i2c_probe + - staging: rtl8192u: Fix use after free in ieee80211_rx() + - staging: rtl8192e: Fix potential use-after-free in rtllib_rx_Monitor() + - vme: Fix error not catched in fake_init() + - gpiolib: cdev: fix NULL-pointer dereferences + - gpiolib: protect the GPIO device against being dropped while in use by user- + space + - i2c: mux: reg: check return value after calling platform_get_resource() + - i2c: ismt: Fix an out-of-bounds bug in ismt_access() + - usb: storage: Add check for kcalloc + - tracing/hist: Fix issue of losting command info in error_log + - ksmbd: Fix resource leak in ksmbd_session_rpc_open() + - samples: vfio-mdev: Fix missing pci_disable_device() in mdpy_fb_probe() + - thermal/drivers/imx8mm_thermal: Validate temperature range + - thermal/drivers/qcom/temp-alarm: Fix inaccurate warning for gen2 + - thermal/drivers/qcom/lmh: Fix irq handler return value + - fbdev: ssd1307fb: Drop optional dependency + - fbdev: pm2fb: fix missing pci_disable_device() + - fbdev: via: Fix error in via_core_init() + - fbdev: vermilion: decrease reference count in error path + - fbdev: ep93xx-fb: Add missing clk_disable_unprepare in ep93xxfb_probe() + - fbdev: geode: don't build on UML + - fbdev: uvesafb: don't build on UML + - fbdev: uvesafb: Fixes an error handling path in uvesafb_probe() + - HSI: omap_ssi_core: fix unbalanced pm_runtime_disable() + - HSI: omap_ssi_core: fix possible memory leak in ssi_probe() + - power: supply: fix residue sysfs file in error handle route of + __power_supply_register() + - perf trace: Return error if a system call doesn't exist + - perf trace: Use macro RAW_SYSCALL_ARGS_NUM to replace number + - perf trace: Handle failure when trace point folder is missed + - perf symbol: correction while adjusting symbol + - power: supply: z2_battery: Fix possible memleak in z2_batt_probe() + - HSI: omap_ssi_core: Fix error handling in ssi_init() + - power: supply: ab8500: Fix error handling in ab8500_charger_init() + - power: supply: fix null pointer dereferencing in + power_supply_get_battery_info + - perf stat: Refactor __run_perf_stat() common code + - perf stat: Do not delay the workload with --delay + - RDMA/siw: Fix pointer cast warning + - fs/ntfs3: Avoid UBSAN error on true_sectors_per_clst() + - fs/ntfs3: Harden against integer overflows + - iommu/sun50i: Fix reset release + - iommu/sun50i: Consider all fault sources for reset + - iommu/sun50i: Fix R/W permission check + - iommu/sun50i: Fix flush size + - iommu/rockchip: fix permission bits in page table entries v2 + - phy: usb: s2 WoL wakeup_count not incremented for USB->Eth devices + - include/uapi/linux/swab: Fix potentially missing __always_inline + - pwm: tegra: Improve required rate calculation + - fs/ntfs3: Fix slab-out-of-bounds read in ntfs_trim_fs + - dmaengine: idxd: Fix crc_val field for completion record + - rtc: rtc-cmos: Do not check ACPI_FADT_LOW_POWER_S0 + - rtc: cmos: Fix event handler registration ordering issue + - rtc: cmos: Fix wake alarm breakage + - rtc: cmos: fix build on non-ACPI platforms + - rtc: cmos: Call cmos_wake_setup() from cmos_do_probe() + - rtc: cmos: Call rtc_wake_setup() from cmos_do_probe() + - rtc: cmos: Eliminate forward declarations of some functions + - rtc: cmos: Rename ACPI-related functions + - rtc: cmos: Disable ACPI RTC event on removal + - rtc: snvs: Allow a time difference on clock register read + - rtc: pcf85063: Fix reading alarm + - iommu/amd: Fix pci device refcount leak in ppr_notifier() + - iommu/fsl_pamu: Fix resource leak in fsl_pamu_probe() + - macintosh: fix possible memory leak in macio_add_one_device() + - macintosh/macio-adb: check the return value of ioremap() + - powerpc/52xx: Fix a resource leak in an error handling path + - cxl: Fix refcount leak in cxl_calc_capp_routing + - powerpc/xmon: Fix -Wswitch-unreachable warning in bpt_cmds + - powerpc/xive: add missing iounmap() in error path in + xive_spapr_populate_irq_data() + - powerpc/perf: callchain validate kernel stack pointer bounds + - powerpc/83xx/mpc832x_rdb: call platform_device_put() in error case in + of_fsl_spi_probe() + - powerpc/hv-gpci: Fix hv_gpci event list + - selftests/powerpc: Fix resource leaks + - iommu/sun50i: Remove IOMMU_DOMAIN_IDENTITY + - pwm: sifive: Call pwm_sifive_update_clock() while mutex is held + - pwm: mtk-disp: Fix the parameters calculated by the enabled flag of disp_pwm + - pwm: mediatek: always use bus clock for PWM on MT7622 + - remoteproc: sysmon: fix memory leak in qcom_add_sysmon_subdev() + - remoteproc: qcom: q6v5: Fix potential null-ptr-deref in + q6v5_wcss_init_mmio() + - remoteproc: qcom_q6v5_pas: disable wakeup on probe fail or remove + - remoteproc: qcom_q6v5_pas: detach power domains on remove + - remoteproc: qcom_q6v5_pas: Fix missing of_node_put() in + adsp_alloc_memory_region() + - remoteproc: qcom: q6v5: Fix missing clk_disable_unprepare() in + q6v5_wcss_qcs404_power_on() + - powerpc/pseries/eeh: use correct API for error log size + - mfd: bd957x: Fix Kconfig dependency on REGMAP_IRQ + - mfd: qcom_rpm: Fix an error handling path in qcom_rpm_probe() + - mfd: pm8008: Remove driver data structure pm8008_data + - mfd: pm8008: Fix return value check in pm8008_probe() + - netfilter: flowtable: really fix NAT IPv6 offload + - rtc: st-lpc: Add missing clk_disable_unprepare in st_rtc_probe() + - rtc: pic32: Move devm_rtc_allocate_device earlier in pic32_rtc_probe() + - rtc: pcf85063: fix pcf85063_clkout_control + - nfsd: under NFSv4.1, fix double svc_xprt_put on rpc_create failure + - net: macsec: fix net device access prior to holding a lock + - mISDN: hfcsusb: don't call dev_kfree_skb/kfree_skb() under + spin_lock_irqsave() + - mISDN: hfcpci: don't call dev_kfree_skb/kfree_skb() under + spin_lock_irqsave() + - mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under + spin_lock_irqsave() + - block, bfq: fix possible uaf for 'bfqq->bic' + - net: enetc: avoid buffer leaks on xdp_do_redirect() failure + - nfc: pn533: Clear nfc_target before being used + - unix: Fix race in SOCK_SEQPACKET's unix_dgram_sendmsg() + - r6040: Fix kmemleak in probe and remove + - igc: Enhance Qbv scheduling by using first flag bit + - igc: Use strict cycles for Qbv scheduling + - igc: Add checking for basetime less than zero + - igc: allow BaseTime 0 enrollment for Qbv + - igc: recalculate Qbv end_time by considering cycle time + - igc: Lift TAPRIO schedule restriction + - igc: Set Qbv start_time and end_time to end_time if not being configured in + GCL + - rtc: mxc_v2: Add missing clk_disable_unprepare() + - selftests: devlink: fix the fd redirect in dummy_reporter_test + - openvswitch: Fix flow lookup to use unmasked key + - soc: mediatek: pm-domains: Fix the power glitch issue + - arm64: dts: mt8183: Fix Mali GPU clock + - skbuff: Account for tail adjustment during pull operations + - mailbox: mpfs: read the system controller's status + - mailbox: arm_mhuv2: Fix return value check in mhuv2_probe() + - mailbox: zynq-ipi: fix error handling while device_register() fails + - net_sched: reject TCF_EM_SIMPLE case for complex ematch module + - rxrpc: Fix missing unlock in rxrpc_do_sendmsg() + - myri10ge: Fix an error handling path in myri10ge_probe() + - net: stream: purge sk_error_queue in sk_stream_kill_queues() + - HID: amd_sfh: Add missing check for dma_alloc_coherent + - rcu: Fix __this_cpu_read() lockdep warning in rcu_force_quiescent_state() + - arm64: make is_ttbrX_addr() noinstr-safe + - video: hyperv_fb: Avoid taking busy spinlock on panic path + - x86/hyperv: Remove unregister syscore call from Hyper-V cleanup + - binfmt_misc: fix shift-out-of-bounds in check_special_flags + - fs: jfs: fix shift-out-of-bounds in dbAllocAG + - udf: Avoid double brelse() in udf_rename() + - jfs: Fix fortify moan in symlink + - fs: jfs: fix shift-out-of-bounds in dbDiscardAG + - ACPICA: Fix error code path in acpi_ds_call_control_method() + - nilfs2: fix shift-out-of-bounds/overflow in nilfs_sb2_bad_offset() + - nilfs2: fix shift-out-of-bounds due to too large exponent of block size + - acct: fix potential integer overflow in encode_comp_t() + - hfs: fix OOB Read in __hfs_brec_find + - drm/etnaviv: add missing quirks for GC300 + - media: imx-jpeg: Disable useless interrupt to avoid kernel panic + - brcmfmac: return error when getting invalid max_flowrings from dongle + - wifi: ath9k: verify the expected usb_endpoints are present + - wifi: ar5523: Fix use-after-free on ar5523_cmd() timed out + - ASoC: codecs: rt298: Add quirk for KBL-R RVP platform + - ipmi: fix memleak when unload ipmi driver + - drm/amd/display: prevent memory leak + - Revert "drm/amd/display: Limit max DSC target bpp for specific monitors" + - qed (gcc13): use u16 for fid to be big enough + - bpf: make sure skb->len != 0 when redirecting to a tunneling device + - net: ethernet: ti: Fix return type of netcp_ndo_start_xmit() + - hamradio: baycom_epp: Fix return type of baycom_send_packet() + - wifi: brcmfmac: Fix potential shift-out-of-bounds in + brcmf_fw_alloc_request() + - igb: Do not free q_vector unless new one was allocated + - drm/amdgpu: Fix type of second parameter in trans_msg() callback + - drm/amdgpu: Fix type of second parameter in odn_edit_dpm_table() callback + - s390/ctcm: Fix return type of ctc{mp,}m_tx() + - s390/netiucv: Fix return type of netiucv_tx() + - s390/lcs: Fix return type of lcs_start_xmit() + - drm/msm: Use drm_mode_copy() + - drm/rockchip: Use drm_mode_copy() + - drm/sti: Use drm_mode_copy() + - drm/mediatek: Fix return type of mtk_hdmi_bridge_mode_valid() + - drivers/md/md-bitmap: check the return value of md_bitmap_get_counter() + - md/raid1: stop mdx_raid1 thread when raid1 array run failed + - drm/amd/display: fix array index out of bound error in bios parser + - net: add atomic_long_t to net_device_stats fields + - ipv6/sit: use DEV_STATS_INC() to avoid data-races + - mrp: introduce active flags to prevent UAF when applicant uninit + - ppp: associate skb with a device at tx + - bpf: Prevent decl_tag from being referenced in func_proto arg + - ethtool: avoiding integer overflow in ethtool_phys_id() + - media: dvb-frontends: fix leak of memory fw + - media: dvbdev: adopts refcnt to avoid UAF + - media: dvb-usb: fix memory leak in dvb_usb_adapter_init() + - blk-mq: fix possible memleak when register 'hctx' failed + - drm/amd/display: Use the largest vready_offset in pipe group + - libbpf: Avoid enum forward-declarations in public API in C++ mode + - regulator: core: fix use_count leakage when handling boot-on + - wifi: mt76: do not run mt76u_status_worker if the device is not running + - mmc: f-sdh30: Add quirks for broken timeout clock capability + - mmc: renesas_sdhi: better reset from HS400 mode + - media: si470x: Fix use-after-free in si470x_int_in_callback() + - clk: st: Fix memory leak in st_of_quadfs_setup() + - crypto: hisilicon/hpre - fix resource leak in remove process + - scsi: lpfc: Fix hard lockup when reading the rx_monitor from debugfs + - scsi: ufs: Reduce the START STOP UNIT timeout + - scsi: elx: libefc: Fix second parameter type in state callbacks + - hugetlbfs: fix null-ptr-deref in hugetlbfs_parse_param() + - drm/fsl-dcu: Fix return type of fsl_dcu_drm_connector_mode_valid() + - drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid() + - orangefs: Fix kmemleak in orangefs_prepare_debugfs_help_string() + - orangefs: Fix kmemleak in orangefs_{kernel,client}_debug_init() + - KVM: selftests: Fix build regression by using accessor function + - hwmon: (jc42) Fix missing unlock on error in jc42_write() + - ALSA: hda: add snd_hdac_stop_streams() helper + - ASoC: Intel: Skylake: Fix driver hang during shutdown + - ASoC: mediatek: mt8173-rt5650-rt5514: fix refcount leak in + mt8173_rt5650_rt5514_dev_probe() + - ASoC: audio-graph-card: fix refcount leak of cpu_ep in + __graph_for_each_link() + - ASoC: rockchip: pdm: Add missing clk_disable_unprepare() in + rockchip_pdm_runtime_resume() + - ASoC: mediatek: mt8183: fix refcount leak in + mt8183_mt6358_ts3a227_max98357_dev_probe() + - ASoC: wm8994: Fix potential deadlock + - ASoC: rockchip: spdif: Add missing clk_disable_unprepare() in + rk_spdif_runtime_resume() + - ASoC: rt5670: Remove unbalanced pm_runtime_put() + - drm/i915/display: Don't disable DDI/Transcoder when setting phy test pattern + - LoadPin: Ignore the "contents" argument of the LSM hooks + - pstore: Switch pmsg_lock to an rt_mutex to avoid priority inversion + - perf debug: Set debug_peo_args and redirect_to_stderr variable to correct + values in perf_quiet_option() + - afs: Fix lost servers_outstanding count + - pstore: Make sure CONFIG_PSTORE_PMSG selects CONFIG_RT_MUTEXES + - ALSA: usb-audio: add the quirk for KT0206 device + - ALSA: hda/realtek: Add quirk for Lenovo TianYi510Pro-14IOB + - ALSA: hda/hdmi: Add HP Device 0x8711 to force connect list + - usb: cdnsp: fix lack of ZLP for ep0 + - usb: xhci-mtk: fix leakage of shared hcd when fail to set wakeup irq + - arm64: dts: qcom: sm8250: fix USB-DP PHY registers + - usb: dwc3: Fix race between dwc3_set_mode and __dwc3_set_mode + - usb: dwc3: core: defer probe on ulpi_read_id timeout + - xhci: Prevent infinite loop in transaction errors recovery for streams + - HID: wacom: Ensure bootloader PID is usable in hidraw mode + - HID: mcp2221: don't connect hidraw + - loop: Fix the max_loop commandline argument treatment when it is set to 0 + - 9p: set req refcount to zero to avoid uninitialized usage + - security: Restrict CONFIG_ZERO_CALL_USED_REGS to gcc or clang > 15.0.6 + - reiserfs: Add missing calls to reiserfs_security_free() + - iio: fix memory leak in iio_device_register_eventset() + - iio: adc: ad_sigma_delta: do not use internal iio_dev lock + - iio: adc128s052: add proper .data members in adc128_of_match table + - regulator: core: fix deadlock on regulator enable + - floppy: Fix memory leak in do_floppy_init() + - gcov: add support for checksum field + - fbdev: fbcon: release buffer when fbcon_do_set_font() failed + - ovl: fix use inode directly in rcu-walk mode + - btrfs: do not BUG_ON() on ENOMEM when dropping extent items for a range + - scsi: qla2xxx: Fix crash when I/O abort times out + - net: stmmac: fix errno when create_singlethread_workqueue() fails + - media: dvbdev: fix build warning due to comments + - media: dvbdev: fix refcnt bug + - extcon: usbc-tusb320: Call the Type-C IRQ handler only if a port is + registered + - mfd: qcom_rpm: Use devm_of_platform_populate() to simplify code + - pwm: tegra: Fix 32 bit build + - staging: r8188eu: fix led register settings + - arm64: dts: renesas: r8a779g0: Fix HSCIF0 "brg_int" clock + - memory: renesas-rpc-if: Clear HS bit during hardware initialization + - firmware: ti_sci: Fix polled mode during system suspend + - arm64: dts: qcom: sc7180-trogdor-homestar: fully configure secondary I2S + pins + - arm64: dts: qcom: sm8450: fix UFS PHY registers + - arm64: dts: qcom: sm6350: drop bogus DP PHY clock + - arm64: dts: qcom: pm6350: Include header for KEY_POWER + - arm64: dts: renesas: r9a09g011: Fix unit address format error + - dt-bindings: pwm: fix microchip corePWM's pwm-cells + - arm64: dts: mt7986: fix trng node name + - drivers: perf: marvell_cn10k: Fix hotplug callback leak in tad_pmu_init() + - arm64: dts: ti: k3-j721s2: Fix the interrupt ranges property for main & wkup + gpio intr + - arm64: dts: mediatek: mt8195: Fix CPUs capacity-dmips-mhz + - arm64: dts: mt7896a: Fix unit_address_vs_reg warning for oscillator + - soc: apple: sart: Stop casting function pointer signatures + - soc: apple: rtkit: Stop casting function pointer signatures + - drivers/perf: hisi: Fix some event id for hisi-pcie-pmu + - arch: arm64: apple: t8103: Use standard "iommu" node name + - sched/uclamp: Fix fits_capacity() check in feec() + - sched/uclamp: Make cpu_overutilized() use util_fits_cpu() + - sched/uclamp: Cater for uclamp in find_energy_efficient_cpu()'s early exit + condition + - sched/psi: Fix possible missing or delayed pending event + - x86/split_lock: Add sysctl to control the misery mode + - selftests: cgroup: fix unsigned comparison with less than zero + - cpufreq: qcom-hw: Fix the frequency returned by cpufreq_driver->get() + - mailbox: pcc: Reset pcc_chan_count to zero in case of PCC probe failure + - ACPI: pfr_telemetry: use ACPI_FREE() to free acpi_object + - ACPI: pfr_update: use ACPI_FREE() to free acpi_object + - NFSD: Finish converting the NFSv3 GETACL result encoder + - ocfs2: fix memory leak in ocfs2_mount_volume() + - erofs: Fix pcluster memleak when its block address is zero + - erofs: fix missing unmap if z_erofs_get_extent_compressedlen() fails + - NFSD: pass range end to vfs_fsync_range() instead of count + - ipc: fix memory leak in init_mqueue_fs() + - wifi: ath11k: fix firmware assert during bandwidth change for peer sta + - libbpf: Fix memory leak in parse_usdt_arg() + - selftest/bpf: Fix memory leak in kprobe_multi_test + - selftests/bpf: Fix error failure of case test_xdp_adjust_tail_grow + - selftest/bpf: Fix error usage of ASSERT_OK in xdp_adjust_tail.c + - libbpf: Use elf_getshdrnum() instead of e_shnum + - libbpf: Deal with section with no data gracefully + - ASoC: Intel: avs: Fix potential RX buffer overflow + - drm/bridge: it6505: Initialize AUX channel in it6505_i2c_probe + - Input: iqs7222 - set all ULP entry masks by default + - Input: iqs7222 - drop unused device node references + - Input: iqs7222 - report malformed properties + - Input: iqs7222 - protect against undefined slider size + - media: amphion: reset instance if it's aborted before codec header parsed + - media: mediatek: vcodec: fix h264 cavlc bitstream fail + - drm/i915: Fix compute pre-emption w/a to apply to compute engines + - media: i2c: hi846: Fix memory leak in hi846_parse_dt() + - media: i2c: ov5648: Free V4L2 fwnode data on unbind + - clk: renesas: r8a779a0: Fix SD0H clock name + - ASoC: dt-bindings: rt5682: Set sound-dai-cells to 1 + - dw9768: Enable low-power probe on ACPI + - drm/ttm: fix undefined behavior in bit shift for TTM_TT_FLAG_PRIV_POPULATED + - drm/msm/mdp5: stop overriding drvdata + - bpf: Clobber stack slot when writing over spilled PTR_TO_BTF_ID + - drm/msm/dpu1: Account for DSC's bits_per_pixel having 4 fractional bits + - drm/msm/dsi: Remove useless math in DSC calculations + - drm/msm/dsi: Remove repeated calculation of slice_per_intf + - drm/msm/dsi: Use DIV_ROUND_UP instead of conditional increment on modulo + - drm/msm/dsi: Reuse earlier computed dsc->slice_chunk_size + - drm/msm/dsi: Appropriately set dsc->mux_word_size based on bpc + - media: rkvdec: Add required padding + - clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry + - clk: qcom: dispcc-sm6350: Add CLK_OPS_PARENT_ENABLE to pixel&byte src + - mtd: core: fix possible resource leak in init_mtd() + - clk: renesas: r8a779f0: Fix SCIF parent clocks + - virt/sev-guest: Add a MODULE_ALIAS + - wifi: rtw89: use u32_encode_bits() to fill MAC quota value + - drm: rcar-du: Drop leftovers dependencies from Kconfig + - drbd: use blk_queue_max_discard_sectors helper + - dt-bindings: pinctrl: update uart/mmc bindings for MT7986 SoC + - pinctrl: mediatek: fix the pinconf register offset of some pins + - wifi: iwlwifi: mei: make sure ownership confirmed message is sent + - wifi: iwlwifi: mei: don't send SAP commands if AMT is disabled + - wifi: iwlwifi: mei: fix tx DHCP packet for devices with new Tx API + - wifi: iwlwifi: mei: avoid blocking sap messages handling due to rtnl lock + - wifi: iwlwifi: mei: fix potential NULL-ptr deref after clone + - module: Fix NULL vs IS_ERR checking for module_get_next_page + - wifi: rtw89: Fix some error handling path in rtw89_core_sta_assoc() + - net: ethernet: mtk_eth_soc: do not overwrite mtu configuration running reset + routine + - media: amphion: add lock around vdec_g_fmt + - media: amphion: apply vb2_queue_error instead of setting manually + - media: amphion: Fix error handling in vpu_driver_init() + - net: ethernet: mtk_eth_soc: fix RSTCTRL_PPE{0,1} definitions + - clk: imx93: correct the flexspi1 clock setting + - HID: i2c: let RMI devices decide what constitutes wakeup event + - clk: imx93: unmap anatop base in error handling path + - clk: imx93: correct enet clock + - clk: imx: imxrt1050: fix IMXRT1050_CLK_LCDIF_APB offsets + - wifi: rtw89: fix physts IE page check + - ASoC: Intel: avs: Lock substream before snd_pcm_stop() + - drm/i915/guc: make default_lists const data + - mtd: core: Fix refcount error in del_mtd_device() + - media: imx: imx7-media-csi: Clear BIT_MIPI_DOUBLE_CMPNT for <16b formats + - x86/boot: Skip realmode init code when running as Xen PV guest + - media: amphion: try to wakeup vpu core to avoid failure + - media: amphion: cancel vpu before release instance + - media: amphion: lock and check m2m_ctx in event handler + - media: mediatek: vcodec: Fix getting NULL pointer for dst buffer + - media: mediatek: vcodec: Fix h264 set lat buffer error + - media: mediatek: vcodec: Setting lat buf to lat_list when lat decode error + - media: mediatek: vcodec: Core thread depends on core_list + - NFSv4.2: Always decode the security label + - wifi: plfxlc: fix potential memory leak in __lf_x_usb_enable_rx() + - wifi: rtl8xxxu: Fix use after rcu_read_unlock in rtl8xxxu_bss_info_changed + - clk: mediatek: fix dependency of MT7986 ADC clocks + - amdgpu/nv.c: Corrected typo in the video capabilities resolution + - drm/i915/bios: fix a memory leak in generate_lfp_data_ptrs + - clk: visconti: Fix memory leak in visconti_register_pll() + - wifi: mac80211: fix memory leak in ieee80211_if_add() + - wifi: mt76: mt7915: fix mt7915_mac_set_timing() + - wifi: mt76: mt7915: fix reporting of TX AGGR histogram + - mt76: mt7915: Fix PCI device refcount leak in mt7915_pci_init_hif2() + - dt-bindings: clock: Add resets for LPASS audio clock controller for SC7280 + - dt-bindings: clock: Add support for external MCLKs for LPASS on SC7280 + - clk: qcom: lpass: Add support for resets & external mclk for SC7280 + - pinctrl: thunderbay: fix possible memory leak in + thunderbay_build_functions() + - bpftool: Fix memory leak in do_build_table_cb + - mmc: litex_mmc: ensure `host->irq == 0` if polling + - ipvs: use u64_stats_t for the per-cpu counters + - net: setsockopt: fix IPV6_UNICAST_IF option for connected sockets + - net: ethernet: ti: am65-cpsw: Fix PM runtime leakage in + am65_cpsw_nuss_ndo_slave_open() + - crypto: hisilicon/qm - re-enable communicate interrupt before notifying PF + - fortify: Do not cast to "unsigned char" + - f2fs: allow to set compression for inlined file + - f2fs: fix the assign logic of iocb + - RDMA/irdma: Fix inline for multiple SGE's + - RDMA/irdma: Fix RQ completion opcode + - RDMA/irdma: Do not request 2-level PBLEs for CQ alloc + - RDMA/rxe: Fix mr->map double free + - RDMA/hns: Fix incorrect sge nums calculation + - RDMA/irdma: Initialize net_type before checking it + - scsi: ufs: core: Fix the polling implementation + - f2fs: set zstd compress level correctly + - f2fs: fix to enable compress for newly created file if extension matches + - crypto: qat - fix error return code in adf_probe + - RDMA: Disable IB HW for UML + - PCI: vmd: Fix secondary bus reset for Intel bridges + - RDMA/hns: Fix the gid problem caused by free mr + - RDMA/hns: Fix XRC caps on HIP08 + - RISC-V: Fix unannoted hardirqs-on in return to userspace slow-path + - RISC-V: Fix MEMREMAP_WB for systems with Svpbmt + - riscv: Fix crash during early errata patching + - f2fs: fix iostat parameter for discard + - riscv: Fix P4D_SHIFT definition for 3-level page table mode + - interconnect: qcom: sc7180: fix dropped const of qcom_icc_bcm + - usb: typec: tipd: Fix typec_unregister_port error paths + - usb: musb: omap2430: Fix probe regression for missing resources + - USB: gadget: Fix use-after-free during usb config switch + - tracing/user_events: Fix call print_fmt leak + - usb: typec: wusb3801: fix fwnode refcount leak in wusb3801_probe() + - thermal/drivers/k3_j72xx_bandgap: Fix the debug print message + - led: qcom-lpg: Fix sleeping in atomic + - watchdog: iTCO_wdt: Set NO_REBOOT if the watchdog is not already running + - power: supply: cw2015: Fix potential null-ptr-deref in cw_bat_probe() + - perf off_cpu: Fix a typo in BTF tracepoint name, it should be + 'btf_trace_sched_switch' + - ftrace: Allow WITH_ARGS flavour of graph tracer with shadow call stack + - phy: marvell: phy-mvebu-a3700-comphy: Reset COMPHY registers before USB 3.0 + power on + - iommu/s390: Fix duplicate domain attachments + - iommu/sun50i: Implement .iotlb_sync_map + - phy: usb: Use slow clock for wake enabled suspend + - phy: usb: Fix clock imbalance for suspend/resume + - pwm: tegra: Ensure the clock rate is not less than needed + - rtc: rzn1: Check return value in rzn1_rtc_probe + - rtc: class: Fix potential memleak in devm_rtc_allocate_device() + - iommu/mediatek: Check return value after calling platform_get_resource() + - kprobes: Fix check for probe enabled in kill_kprobe() + - iommu/mediatek: Add platform_device_put for recovering the device refcnt + - iommu/mediatek: Use component_match_add + - iommu/mediatek: Add error path for loop of mm_dts_parse + - iommu/mediatek: Validate number of phandles associated with "mediatek,larbs" + - mfd: axp20x: Do not sleep in the power off handler + - selftests/bpf: Select CONFIG_FUNCTION_ERROR_INJECTION + - mctp: serial: Fix starting value for frame check sequence + - mctp: Remove device type check at unregister + - ASoC: sof_es8336: fix possible use-after-free in sof_es8336_remove() + - ALSA: hda/hdmi: fix i915 silent stream programming flow + - ALSA: hda/hdmi: set default audio parameters for KAE silent-stream + - ALSA: hda/hdmi: fix stream-id config keep-alive for rt suspend + - lkdtm: cfi: Make PAC test work with GCC 7 and 8 + - drm/amd/pm: avoid large variable on kernel stack + - MIPS: ralink: mt7621: avoid to init common ralink reset controller + - perf test: Fix "all PMU test" to skip parametrized events + - Input: iqs7222 - avoid sending empty SYN_REPORT events + - dt-bindings: input: iqs7222: Reduce 'linux,code' to optional + - dt-bindings: input: iqs7222: Correct minimum slider size + - dt-bindings: input: iqs7222: Add support for IQS7222A v1.13+ + - Input: iqs7222 - trim force communication command + - Input: iqs7222 - add support for IQS7222A v1.13+ + - arm64: dts: qcom: sm6350: fix USB-DP PHY registers + - dt-bindings: clocks: imx8mp: Add ID for usb suspend clock + - clk: imx: imx8mp: add shared clk gate for usb suspend clk + - iio: addac: ad74413r: fix integer promotion bug in + ad74413_get_input_current_offset() + - mm/gup: disallow FOLL_FORCE|FOLL_WRITE on hugetlb mappings + + -- Luke Nowakowski-Krijger Tue, 21 Mar 2023 09:35:40 -0700 + +linux (5.19.0-38.39) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-38.39 -proposed tracker (LP: #2012088) + + * NFS deathlock with last Kernel 5.4.0-144.161 and 5.15.0-67.74 (LP: #2009325) + - NFS: Correct timing for assigning access cache timestamp + + -- Luke Nowakowski-Krijger Fri, 17 Mar 2023 10:12:45 -0700 + +linux (5.19.0-37.38) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-37.38 -proposed tracker (LP: #2008305) + + * XPS 9320 screen flicker on UHD panel 3840x2400 (LP: #2007516) + - SAUCE: drm/i915/display/psr: Disable PSR2 sel fetch on panel SHP 5457 + + * Fix speaker mute hotkey doesn't work on Dell G16 series (LP: #2003161) + - platform/x86: dell-wmi: Add a keymap for KEY_MUTE in type 0x0010 table + + * net:cmsg_ipv6.sh from ubuntu_kernel_selftests failed with K-5.19 + (LP: #2000709) + - selftest: net: Improve IPV6_TCLASS/IPV6_HOPLIMIT tests apparmor + compatibility + + * rtcpie in timers from ubuntu_kernel_selftests randomly failing + (LP: #1814234) + - SAUCE: selftest: rtcpie: Force passing unreliable subtest + + * CVE-2023-0469 + - io_uring/filetable: fix file reference underflow + + * Improve arp_ndisc_evict_nocarrier.sh test result processing (LP: #2006546) + - selftests: net: return non-zero for failures reported in + arp_ndisc_evict_nocarrier + + * Make cm32181 sensor work after system suspend (LP: #1981773) + - iio: light: cm32181: Add PM support + + * Fix Thunderbolt device hotplug fail when connect via thunderbolt dock + (LP: #1991366) + - PCI: Fix used_buses calculation in pci_scan_child_bus_extend() + - PCI: Pass available buses even if the bridge is already configured + - PCI: Move pci_assign_unassigned_root_bus_resources() + - PCI: Fix whitespace and indentation + - PCI: Fix typo in pci_scan_child_bus_extend() + + * arp_ndisc_evict_nocarrier.sh in net from ubuntu_kernel_selftests failed on + J-oem-5.17 / K (LP: #1968310) + - selftests: net: fix cleanup_v6() for arp_ndisc_evict_nocarrier + + * Screen freeze after resuming from suspend (nvme0: I/O timeout) + (LP: #1996048) + - PCI: vmd: Disable MSI remapping after suspend + + * RaptorLake: Fix the Screen is shaking by onboard HDMI port in mirror mode + (LP: #1993561) + - drm/i915/display: Drop check for doublescan mode in modevalid + - drm/i915/display: Prune Interlace modes for Display >=12 + + * udpgro_frglist.sh in net from ubuntu_kernel_selftests failed with K-5.19 + (Missing nat6to4 helper) (LP: #2000708) + - selftests/net: mv bpf/nat6to4.c to net folder + + * selftests/.../nat6to4 breaks the selftests build (LP: #1996536) + - selftests: net: Add cross-compilation support for BPF programs + - selftests: net: Fix O=dir builds + + * CVE-2023-0266 // CVE-2023-0266 was assigned for this issue. + - ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF + + * CVE-2022-4382 + - USB: gadgetfs: Fix race between mounting and unmounting + + * CVE-2022-2196 + - KVM: VMX: Execute IBPB on emulated VM-exit when guest has IBRS + + * ubuntu_kernel_selftests: net:udpgso_bench.sh failed (LP: #1951447) + - selftests: net: udpgso_bench: Fix racing bug between the rx/tx programs + + * Kinetic update: upstream stable patchset 2023-02-02 (LP: #2004602) + - clk: generalize devm_clk_get() a bit + - clk: Provide new devm_clk helpers for prepared and enabled clocks + - mmc: mtk-sd: Fix missing clk_disable_unprepare in msdc_of_clock_parse() + - arm64: dts: rockchip: keep I2S1 disabled for GPIO function on ROCK Pi 4 + series + - arm: dts: rockchip: fix node name for hym8563 rtc + - arm: dts: rockchip: remove clock-frequency from rtc + - ARM: dts: rockchip: fix ir-receiver node names + - arm64: dts: rockchip: fix ir-receiver node names + - ARM: dts: rockchip: rk3188: fix lcdc1-rgb24 node name + - fs: use acquire ordering in __fget_light() + - ARM: 9251/1: perf: Fix stacktraces for tracepoint events in THUMB2 kernels + - ARM: 9266/1: mm: fix no-MMU ZERO_PAGE() implementation + - ASoC: wm8962: Wait for updated value of WM8962_CLOCKING1 register + - spi: mediatek: Fix DEVAPC Violation at KO Remove + - ARM: dts: rockchip: disable arm_global_timer on rk3066 and rk3188 + - ASoC: rt711-sdca: fix the latency time of clock stop prepare state machine + transitions + - 9p/fd: Use P9_HDRSZ for header size + - regulator: slg51000: Wait after asserting CS pin + - ALSA: seq: Fix function prototype mismatch in snd_seq_expand_var_event + - btrfs: send: avoid unaligned encoded writes when attempting to clone range + - ASoC: soc-pcm: Add NULL check in BE reparenting + - regulator: twl6030: fix get status of twl6032 regulators + - fbcon: Use kzalloc() in fbcon_prepare_logo() + - usb: dwc3: gadget: Disable GUSB2PHYCFG.SUSPHY for End Transfer + - 9p/xen: check logical size for buffer size + - net: usb: qmi_wwan: add u-blox 0x1342 composition + - mm/khugepaged: take the right locks for page table retraction + - mm/khugepaged: fix GUP-fast interaction by sending IPI + - mm/khugepaged: invoke MMU notifiers in shmem/file collapse paths + - cifs: fix use-after-free caused by invalid pointer `hostname` + - xen/netback: do some code cleanup + - xen/netback: don't call kfree_skb() with interrupts disabled + - media: videobuf2-core: take mmap_lock in vb2_get_unmapped_area() + - soundwire: intel: Initialize clock stop timeout + - media: v4l2-dv-timings.c: fix too strict blanking sanity checks + - memcg: fix possible use-after-free in memcg_write_event_control() + - mm/gup: fix gup_pud_range() for dax + - Bluetooth: btusb: Add debug message for CSR controllers + - Bluetooth: Fix crash when replugging CSR fake controllers + - net: mana: Fix race on per-CQ variable napi work_done + - KVM: s390: vsie: Fix the initialization of the epoch extension (epdx) field + - drm/vmwgfx: Don't use screen objects when SEV is active + - drm/amdgpu/sdma_v4_0: turn off SDMA ring buffer in the s2idle suspend + - drm/shmem-helper: Remove errant put in error path + - drm/shmem-helper: Avoid vm_open error paths + - net: dsa: sja1105: avoid out of bounds access in sja1105_init_l2_policing() + - HID: usbhid: Add ALWAYS_POLL quirk for some mice + - HID: hid-lg4ff: Add check for empty lbuf + - HID: core: fix shift-out-of-bounds in hid_report_raw_event + - HID: ite: Enable QUIRK_TOUCHPAD_ON_OFF_REPORT on Acer Aspire Switch V 10 + - can: af_can: fix NULL pointer dereference in can_rcv_filter + - clk: Fix pointer casting to prevent oops in devm_clk_release() + - gpiolib: fix memory leak in gpiochip_setup_dev() + - netfilter: nft_set_pipapo: Actually validate intervals in fields after the + first one + - drm/vmwgfx: Fix race issue calling pin_user_pages + - ieee802154: cc2520: Fix error return code in cc2520_hw_init() + - ca8210: Fix crash by zero initializing data + - netfilter: ctnetlink: fix compilation warning after data race fixes in ct + mark + - drm/bridge: ti-sn65dsi86: Fix output polarity setting bug + - gpio: amd8111: Fix PCI device reference count leak + - e1000e: Fix TX dispatch condition + - igb: Allocate MSI-X vector when testing + - net: broadcom: Add PTP_1588_CLOCK_OPTIONAL dependency for BCMGENET under + ARCH_BCM2835 + - drm: bridge: dw_hdmi: fix preference of RGB modes over YUV420 + - af_unix: Get user_ns from in_skb in unix_diag_get_exact(). + - vmxnet3: correctly report encapsulated LRO packet + - vmxnet3: use correct intrConf reference when using extended queues + - Bluetooth: 6LoWPAN: add missing hci_dev_put() in get_l2cap_conn() + - Bluetooth: Fix not cleanup led when bt_init fails + - net: dsa: ksz: Check return value + - net: dsa: hellcreek: Check return value + - net: dsa: sja1105: Check return value + - selftests: rtnetlink: correct xfrm policy rule in kci_test_ipsec_offload + - mac802154: fix missing INIT_LIST_HEAD in ieee802154_if_add() + - net: encx24j600: Add parentheses to fix precedence + - net: encx24j600: Fix invalid logic in reading of MISTAT register + - net: mdiobus: fwnode_mdiobus_register_phy() rework error handling + - net: mdiobus: fix double put fwnode in the error path + - octeontx2-pf: Fix potential memory leak in otx2_init_tc() + - xen-netfront: Fix NULL sring after live migration + - net: mvneta: Prevent out of bounds read in mvneta_config_rss() + - i40e: Fix not setting default xps_cpus after reset + - i40e: Fix for VF MAC address 0 + - i40e: Disallow ip4 and ip6 l4_4_bytes + - NFC: nci: Bounds check struct nfc_target arrays + - nvme initialize core quirks before calling nvme_init_subsystem + - gpio/rockchip: fix refcount leak in rockchip_gpiolib_register() + - net: stmmac: fix "snps,axi-config" node property parsing + - ip_gre: do not report erspan version on GRE interface + - net: microchip: sparx5: Fix missing destroy_workqueue of mact_queue + - net: thunderx: Fix missing destroy_workqueue of nicvf_rx_mode_wq + - net: hisilicon: Fix potential use-after-free in hisi_femac_rx() + - net: mdio: fix unbalanced fwnode reference count in mdio_device_release() + - net: hisilicon: Fix potential use-after-free in hix5hd2_rx() + - tipc: Fix potential OOB in tipc_link_proto_rcv() + - ipv4: Fix incorrect route flushing when source address is deleted + - ipv4: Fix incorrect route flushing when table ID 0 is used + - net: dsa: sja1105: fix memory leak in sja1105_setup_devlink_regions() + - tipc: call tipc_lxc_xmit without holding node_read_lock + - ethernet: aeroflex: fix potential skb leak in greth_init_rings() + - dpaa2-switch: Fix memory leak in dpaa2_switch_acl_entry_add() and + dpaa2_switch_acl_entry_remove() + - net: phy: mxl-gpy: fix version reporting + - net: plip: don't call kfree_skb/dev_kfree_skb() under spin_lock_irq() + - ipv6: avoid use-after-free in ip6_fragment() + - net: thunderbolt: fix memory leak in tbnet_open() + - net: mvneta: Fix an out of bounds check + - macsec: add missing attribute validation for offload + - s390/qeth: fix use-after-free in hsci + - can: esd_usb: Allow REC and TEC to return to zero + - io_uring: Fix a null-ptr-deref in io_tctx_exit_cb() + - madvise: use zap_page_range_single for madvise dontneed + - drm/i915: Remove non-existent pipes from bigjoiner pipe mask + - arm64: dts: rockchip: Fix gmac failure of rgmii-id from rk3566-roc-pc + - arm64: dts: rockchip: Fix i2c3 pinctrl on rk3566-roc-pc + - arm64: dts: rockchip: remove i2c5 from rk3566-roc-pc + - arm64: dts: rockchip: fix node name for hym8563 rtc + - ARM: dts: rockchip: fix adc-keys sub node names + - arm64: dts: rockchip: fix adc-keys sub node names + - LoongArch: Makefile: Use "grep -E" instead of "egrep" + - LoongArch: Combine acpi_boot_table_init() and acpi_boot_init() + - LoongArch: Set _PAGE_DIRTY only if _PAGE_MODIFIED is set in + {pmd,pte}_mkwrite() + - net/mlx5: Lag, avoid lockdep warnings + - hugetlb: don't delete vma_lock in hugetlb MADV_DONTNEED processing + - crypto: ccp - Add a quirk to firmware update + - soundwire: dmi-quirks: add remapping for HP Omen 16-k0005TX + - platform/x86: asus-wmi: Adjust tablet/lidflip handling to use enum + - platform/x86: asus-wmi: Add support for ROG X13 tablet mode + - fscache: Fix oops due to race with cookie_lru and use_cookie + - tmpfs: fix data loss from failed fallocate + - selftests/tls: Fix tls selftests dependency to correct algorithm + - drm/amd/display: fix array index out of bound error in DCN32 DML + - HID: uclogic: Add HID_QUIRK_HIDINPUT_FORCE quirk + - ARM: 9278/1: kfence: only handle translation faults + - netfilter: conntrack: fix using __this_cpu_add in preemptible + - net: ethernet: ti: am65-cpsw: Fix RGMII configuration at SPEED_10 + - inet: ping: use hlist_nulls rcu iterator during lookup + - Bluetooth: Remove codec id field in vendor codec definition + - Bluetooth: Fix support for Read Local Supported Codecs V2 + - nfp: correct desc type when header dma len is 4096 + - net: microchip: sparx5: correctly free skb in xmit + - net: wwan: iosm: fix memory leak in ipc_mux_init() + - ravb: Fix potential use-after-free in ravb_rx_gbeth() + - bonding: get correct NA dest address + - net: dsa: mv88e6xxx: accept phy-mode = "internal" for internal PHY ports + - drm/amdgpu/vcn: update vcn4 fw shared data structure + - x86/vdso: Conditionally export __vdso_sgx_enter_enclave() + - ASoC: fsl_micfil: explicitly clear software reset bit + - ASoC: fsl_micfil: explicitly clear CHnF flags + - ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx() + - libbpf: Use page size as max_entries when probing ring buffer map + - pinctrl: meditatek: Startup with the IRQs disabled + - can: sja1000: fix size of OCR_MODE_MASK define + - can: mcba_usb: Fix termination command argument + - net: fec: don't reset irq coalesce settings to defaults on "ip link up" + - ASoC: cs42l51: Correct PGA Volume minimum value + - perf: Fix perf_pending_task() UaF + - nvme-pci: clear the prp2 field when not used + - ASoC: ops: Correct bounds check for second channel on SX controls + - net: fec: properly guard irq coalesce setup + - libbpf: Fix uninitialized warning in btf_dump_dump_type_data + - udf: Discard preallocation before extending file with a hole + - udf: Fix preallocation discarding at indirect extent boundary + - udf: Do not bother looking for prealloc extents if i_lenExtents matches + i_size + - udf: Fix extending file within last block + - usb: gadget: uvc: Prevent buffer overflow in setup handler + - USB: serial: option: add Quectel EM05-G modem + - USB: serial: cp210x: add Kamstrup RF sniffer PIDs + - USB: serial: f81232: fix division by zero on line-speed change + - USB: serial: f81534: fix division by zero on line-speed change + - xhci: Apply XHCI_RESET_TO_DEFAULT quirk to ADL-N + - igb: Initialize mailbox message for VF reset + - usb: dwc3: pci: Update PCIe device ID for USB3 controller on CPU sub-system + for Raptor Lake + - selftests: net: Use "grep -E" instead of "egrep" + - net: loopback: use NET_NAME_PREDICTABLE for name_assign_type + - PCI: mt7621: Add sentinel to quirks table + - kallsyms: Make module_kallsyms_on_each_symbol generally available + - ftrace: Add support to resolve module symbols in ftrace_lookup_symbols + - bpf: Rename __bpf_kprobe_multi_cookie_cmp to bpf_kprobe_multi_addrs_cmp + - bpf: Take module reference on kprobe_multi link + - selftests/bpf: Add load_kallsyms_refresh function + - selftests/bpf: Add bpf_testmod_fentry_* functions + - selftests/bpf: Add kprobe_multi check to module attach test + - selftests/bpf: Add kprobe_multi kmod attach api tests + - usb: typec: ucsi: Resume in separate work + - KEYS: encrypted: fix key instantiation with user-provided data + + * Kinetic update: upstream stable patchset 2023-02-02 (LP: #2004602) // + net:fcnal-test.sh 'nettest' command not found on F/K (LP: #2006391) + - selftests/net: Find nettest in current directory + + * CVE-2023-23559 + - wifi: rndis_wlan: Prevent buffer overflow in rndis_query_oid + + * CVE-2023-0045 + - x86/bugs: Flush IBP in ib_prctl_set() + + -- Luke Nowakowski-Krijger Wed, 01 Mar 2023 09:03:07 -0800 + +linux (5.19.0-35.36) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-35.36 -proposed tracker (LP: #2004652) + + * CVE-2023-0461 + - SAUCE: Fix inet_csk_listen_start after CVE-2023-0461 + + -- Luke Nowakowski-Krijger Fri, 03 Feb 2023 10:16:50 -0800 + +linux (5.19.0-34.35) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-34.35 -proposed tracker (LP: #2004299) + + * LXD containers using shiftfs on ZFS or TMPFS broken on 5.15.0-48.54 + (LP: #1990849) + - [SAUCE] shiftfs: fix -EOVERFLOW inside the container + + * Kinetic update: upstream stable patchset 2023-01-27 (LP: #2004051) + - ASoC: fsl_sai: use local device pointer + - serial: Add rs485_supported to uart_port + - serial: fsl_lpuart: Fill in rs485_supported + - x86/sgx: Create utility to validate user provided offset and length + - x86/sgx: Add overflow check in sgx_validate_offset_length() + - binder: validate alloc->mm in ->mmap() handler + - ceph: Use kcalloc for allocating multiple elements + - ceph: fix NULL pointer dereference for req->r_session + - wifi: mac80211: fix memory free error when registering wiphy fail + - wifi: mac80211_hwsim: fix debugfs attribute ps with rc table support + - riscv: dts: sifive unleashed: Add PWM controlled LEDs + - audit: fix undefined behavior in bit shift for AUDIT_BIT + - wifi: airo: do not assign -1 to unsigned char + - wifi: mac80211: Fix ack frame idr leak when mesh has no route + - wifi: ath11k: Fix QCN9074 firmware boot on x86 + - spi: stm32: fix stm32_spi_prepare_mbr() that halves spi clk for every run + - selftests/bpf: Add verifier test for release_reference() + - Revert "net: macsec: report real_dev features when HW offloading is enabled" + - platform/x86: ideapad-laptop: Disable touchpad_switch + - platform/x86: touchscreen_dmi: Add info for the RCA Cambio W101 v2 2-in-1 + - platform/x86/intel/pmt: Sapphire Rapids PMT errata fix + - scsi: ibmvfc: Avoid path failures during live migration + - scsi: scsi_debug: Make the READ CAPACITY response compliant with ZBC + - drm: panel-orientation-quirks: Add quirk for Acer Switch V 10 (SW5-017) + - block, bfq: fix null pointer dereference in bfq_bio_bfqg() + - arm64/syscall: Include asm/ptrace.h in syscall_wrapper header. + - nvmet: fix memory leak in nvmet_subsys_attr_model_store_locked + - Revert "drm/amdgpu: Revert "drm/amdgpu: getting fan speed pwm for vega10 + properly"" + - ALSA: usb-audio: add quirk to fix Hamedal C20 disconnect issue + - RISC-V: vdso: Do not add missing symbols to version section in linker script + - MIPS: pic32: treat port as signed integer + - xfrm: fix "disable_policy" on ipv4 early demux + - xfrm: replay: Fix ESN wrap around for GSO + - af_key: Fix send_acquire race with pfkey_register + - ARM: dts: am335x-pcm-953: Define fixed regulators in root node + - ASoC: hdac_hda: fix hda pcm buffer overflow issue + - ASoC: sgtl5000: Reset the CHIP_CLK_CTRL reg on remove + - ASoC: soc-pcm: Don't zero TDM masks in __soc_pcm_open() + - x86/hyperv: Restore VP assist page after cpu offlining/onlining + - scsi: storvsc: Fix handling of srb_status and capacity change events + - ASoC: max98373: Add checks for devm_kcalloc + - regulator: core: fix kobject release warning and memory leak in + regulator_register() + - spi: dw-dma: decrease reference count in dw_spi_dma_init_mfld() + - regulator: core: fix UAF in destroy_regulator() + - bus: sunxi-rsb: Remove the shutdown callback + - bus: sunxi-rsb: Support atomic transfers + - tee: optee: fix possible memory leak in optee_register_device() + - ARM: dts: at91: sam9g20ek: enable udc vbus gpio pinctrl + - selftests: mptcp: fix mibit vs mbit mix up + - net: liquidio: simplify if expression + - rxrpc: Fix race between conn bundle lookup and bundle removal [ZDI- + CAN-15975] + - net: dsa: sja1105: disallow C45 transactions on the BASE-TX MDIO bus + - nfc/nci: fix race with opening and closing + - net: pch_gbe: fix potential memleak in pch_gbe_tx_queue() + - 9p/fd: fix issue of list_del corruption in p9_fd_cancel() + - netfilter: conntrack: Fix data-races around ct mark + - netfilter: nf_tables: do not set up extensions for end interval + - iavf: Fix a crash during reset task + - iavf: Do not restart Tx queues after reset task failure + - iavf: Fix race condition between iavf_shutdown and iavf_remove + - ARM: mxs: fix memory leak in mxs_machine_init() + - ARM: dts: imx6q-prti6q: Fix ref/tcxo-clock-frequency properties + - net: ethernet: mtk_eth_soc: fix error handling in mtk_open() + - net/mlx4: Check retval of mlx4_bitmap_init + - net: mvpp2: fix possible invalid pointer dereference + - net/qla3xxx: fix potential memleak in ql3xxx_send() + - octeontx2-af: debugsfs: fix pci device refcount leak + - net: pch_gbe: fix pci device refcount leak while module exiting + - nfp: fill splittable of devlink_port_attrs correctly + - nfp: add port from netdev validation for EEPROM access + - macsec: Fix invalid error code set + - Drivers: hv: vmbus: fix double free in the error path of + vmbus_add_channel_work() + - Drivers: hv: vmbus: fix possible memory leak in vmbus_device_register() + - netfilter: ipset: regression in ip_set_hash_ip.c + - net/mlx5: Do not query pci info while pci disabled + - net/mlx5: Fix FW tracer timestamp calculation + - net/mlx5: Fix handling of entry refcount when command is not issued to FW + - tipc: set con sock in tipc_conn_alloc + - tipc: add an extra conn_get in tipc_conn_alloc + - tipc: check skb_linearize() return value in tipc_disc_rcv() + - xfrm: Fix oops in __xfrm_state_delete() + - xfrm: Fix ignored return value in xfrm6_init() + - net: wwan: iosm: use ACPI_FREE() but not kfree() in ipc_pcie_read_bios_cfg() + - sfc: fix potential memleak in __ef100_hard_start_xmit() + - net: sparx5: fix error handling in sparx5_port_open() + - net: sched: allow act_ct to be built without NF_NAT + - NFC: nci: fix memory leak in nci_rx_data_packet() + - regulator: twl6030: re-add TWL6032_SUBCLASS + - bnx2x: fix pci device refcount leak in bnx2x_vf_is_pcie_pending() + - dma-buf: fix racing conflict of dma_heap_add() + - netfilter: ipset: restore allowing 64 clashing elements in hash:net,iface + - netfilter: flowtable_offload: add missing locking + - fs: do not update freeing inode i_io_list + - dccp/tcp: Reset saddr on failure after inet6?_hash_connect(). + - ipv4: Fix error return code in fib_table_insert() + - arcnet: fix potential memory leak in com20020_probe() + - s390/dasd: fix no record found for raw_track_access + - nfc: st-nci: fix incorrect validating logic in EVT_TRANSACTION + - nfc: st-nci: fix memory leaks in EVT_TRANSACTION + - nfc: st-nci: fix incorrect sizing calculations in EVT_TRANSACTION + - net: enetc: cache accesses to &priv->si->hw + - net: enetc: preserve TX ring priority across reconfiguration + - octeontx2-pf: Add check for devm_kcalloc + - octeontx2-af: Fix reference count issue in rvu_sdp_init() + - net: thunderx: Fix the ACPI memory leak + - s390/crashdump: fix TOD programmable field size + - lib/vdso: use "grep -E" instead of "egrep" + - [Config] updateconfigs for CC_HAS_ASM_GOTO_TIED_OUTPUT + - init/Kconfig: fix CC_HAS_ASM_GOTO_TIED_OUTPUT test with dash + - nios2: add FORCE for vmlinuz.gz + - KVM: arm64: pkvm: Fixup boot mode to reflect that the kernel resumes from + EL1 + - usb: dwc3: exynos: Fix remove() function + - usb: cdnsp: Fix issue with Clear Feature Halt Endpoint + - usb: cdnsp: fix issue with ZLP - added TD_SIZE = 1 + - ext4: fix use-after-free in ext4_ext_shift_extents + - arm64: dts: rockchip: lower rk3399-puma-haikou SD controller clock frequency + - iio: light: apds9960: fix wrong register for gesture gain + - iio: core: Fix entry not deleted when iio_register_sw_trigger_type() fails + - bus: ixp4xx: Don't touch bit 7 on IXP42x + - usb: dwc3: gadget: conditionally remove requests + - usb: dwc3: gadget: Return -ESHUTDOWN on ep disable + - usb: dwc3: gadget: Clear ep descriptor last + - nilfs2: fix nilfs_sufile_mark_dirty() not set segment usage as dirty + - gcov: clang: fix the buffer overflow issue + - mm: vmscan: fix extreme overreclaim and swap floods + - KVM: x86: nSVM: leave nested mode on vCPU free + - KVM: x86: forcibly leave nested mode on vCPU reset + - KVM: x86: nSVM: harden svm_free_nested against freeing vmcb02 while still in + use + - KVM: x86: add kvm_leave_nested + - KVM: x86: remove exit_int_info warning in svm_handle_exit + - x86/tsx: Add a feature bit for TSX control MSR support + - x86/pm: Add enumeration check before spec MSRs save/restore setup + - x86/ioremap: Fix page aligned size calculation in __ioremap_caller() + - Input: synaptics - switch touchpad on HP Laptop 15-da3001TU to RMI mode + - ASoC: Intel: bytcht_es8316: Add quirk for the Nanote UMPC-01 + - tools: iio: iio_generic_buffer: Fix read size + - serial: 8250: 8250_omap: Avoid RS485 RTS glitch on ->set_termios() + - Input: goodix - try resetting the controller when no config is set + - Input: soc_button_array - add use_low_level_irq module parameter + - Input: soc_button_array - add Acer Switch V 10 to dmi_use_low_level_irq[] + - Input: i8042 - apply probe defer to more ASUS ZenBook models + - ASoC: stm32: dfsdm: manage cb buffers cleanup + - xen-pciback: Allow setting PCI_MSIX_FLAGS_MASKALL too + - xen/platform-pci: add missing free_irq() in error path + - platform/x86: asus-wmi: add missing pci_dev_put() in asus_wmi_set_xusb2pr() + - platform/x86: acer-wmi: Enable SW_TABLET_MODE on Switch V 10 (SW5-017) + - drm/amdgpu: disable BACO support on more cards + - zonefs: fix zone report size in __zonefs_io_error() + - platform/x86: hp-wmi: Ignore Smart Experience App event + - platform/x86: ideapad-laptop: Fix interrupt storm on fn-lock toggle on some + Yoga laptops + - [Config] updateconfigs for INET_TABLE_PERTURB_ORDER + - tcp: configurable source port perturb table size + - net: usb: qmi_wwan: add Telit 0x103a composition + - scsi: iscsi: Fix possible memory leak when device_register() failed + - gpu: host1x: Avoid trying to use GART on Tegra20 + - dm integrity: flush the journal on suspend + - dm integrity: clear the journal on suspend + - fuse: lock inode unconditionally in fuse_fallocate() + - wifi: wilc1000: validate length of IEEE80211_P2P_ATTR_OPER_CHANNEL attribute + - wifi: wilc1000: validate length of IEEE80211_P2P_ATTR_CHANNEL_LIST attribute + - wifi: wilc1000: validate number of channels + - btrfs: free btrfs_path before copying root refs to userspace + - btrfs: free btrfs_path before copying fspath to userspace + - btrfs: free btrfs_path before copying subvol info to userspace + - btrfs: zoned: fix missing endianness conversion in sb_write_pointer + - btrfs: use kvcalloc in btrfs_get_dev_zone_info + - btrfs: sysfs: normalize the error handling branch in btrfs_init_sysfs() + - drm/amd/dc/dce120: Fix audio register mapping, stop triggering KASAN + - drm/amdgpu: Enable Aldebaran devices to report CU Occupancy + - drm/amdgpu: always register an MMU notifier for userptr + - drm/i915: fix TLB invalidation for Gen12 video and compute engines + - wifi: cfg80211: Fix bitrates overflow issue + - spi: tegra210-quad: Don't initialise DMA if not supported + - s390/zcrypt: fix warning about field-spanning write + - selftests/net: give more time to udpgro bg processes to complete startup + - ACPI: video: Add backlight=native DMI quirk for Dell G15 5515 + - drm: panel-orientation-quirks: Add quirk for Nanote UMPC-01 + - s390: always build relocatable kernel + - nvme: quiet user passthrough command errors + - net: wwan: iosm: fix kernel test robot reported errors + - drm/amdgpu: Drop eviction lock when allocating PT BO + - arm64: dts: rockchip: fix quartz64-a bluetooth configuration + - power: supply: ip5xxx: Fix integer overflow in current_now calculation + - power: supply: ab8500: Defer thermal zone probe + - arm64: dts: rockchip: Fix Pine64 Quartz4-B PMIC interrupt + - regulator: rt5759: fix OOB in validate_desc() + - spi: tegra210-quad: Fix duplicate resource error + - selftests: mptcp: gives slow test-case more time + - selftests: mptcp: run mptcp_sockopt from a new netns + - bonding: fix ICMPv6 header handling when receiving IPv6 messages + - drm/i915: Fix warn in intel_display_power_*_domain() functions + - net/mlx5: SF: Fix probing active SFs during driver probe phase + - net/mlx5: cmdif, Print info on any firmware cmd failure to tracepoint + - net/mlx5: E-Switch, Set correctly vport destination + - net/mlx5e: Offload rule only when all encaps are valid + - net: phy: at803x: fix error return code in at803x_probe() + - zonefs: Fix race between modprobe and mount + - tsnep: Fix rotten packets + - blk-mq: fix queue reference leak on blk_mq_alloc_disk_for_queue failure + - test_kprobes: fix implicit declaration error of test_kprobes + - net: ethernet: mtk_eth_soc: fix resource leak in error path + - net: dm9051: Fix missing dev_kfree_skb() in dm9051_loop_rx() + - s390/ap: fix memory leak in ap_init_qci_info() + - fscache: fix OOB Read in __fscache_acquire_volume + - net: wwan: t7xx: Fix the ACPI memory leak + - virtio_net: Fix probe failed when modprobe virtio_net + - can: gs_usb: remove dma allocations + - cifs: fix missing unlock in cifs_file_copychunk_range() + - cifs: Use after free in debug code + - iio: adc: aspeed: Remove the trim valid dts property. + - dt-bindings: iio: adc: Remove the property "aspeed,trim-data-valid" + - mm/damon/sysfs-schemes: skip stats update if the scheme directory is removed + - virt/sev-guest: Prevent IV reuse in the SNP guest driver + - zonefs: Fix active zone accounting + - spi: spi-imx: Fix spi_bus_clk if requested clock is higher than input clock + - spi: spi-imx: spi_imx_transfer_one(): check for DMA transfer first + - mm/cgroup/reclaim: fix dirty pages throttling on cgroup v1 + - KVM: x86/mmu: Fix race condition in direct_page_fault + - KVM: x86/xen: Only do in-kernel acceleration of hypercalls for guest CPL0 + - KVM: x86/xen: Validate port number in SCHEDOP_poll + - drm/i915/gvt: Get reference to KVM iff attachment to VM is successful + - KVM: Update gfn_to_pfn_cache khva when it moves within the same page + - mm: fix unexpected changes to {failslab|fail_page_alloc}.attr + - mm: correctly charge compressed memory to its memcg + - LoongArch: Clear FPU/SIMD thread info flags for kernel thread + - LoongArch: Set _PAGE_DIRTY only if _PAGE_WRITE is set in {pmd,pte}_mkdirty() + - ASoC: amd: yc: Add Alienware m17 R5 AMD into DMI table + - ASoC: Intel: soc-acpi: add ES83x6 support to IceLake + - ASoC: hda: intel-dsp-config: add ES83x6 quirk for IceLake + - ASoC: SOF: ipc3-topology: use old pipeline teardown flow with SOF2.1 and + older + - Revert "tty: n_gsm: avoid call of sleeping functions from atomic context" + - Revert "tty: n_gsm: replace kicktimer with delayed_work" + - ASoC: sof_es8336: reduce pop noise on speaker + - pinctrl: qcom: sc8280xp: Rectify UFS reset pins + - platform/x86: thinkpad_acpi: Enable s2idle quirk for 21A1 machine type + - platform/x86: ideapad-laptop: Add module parameters to match DMI quirk + tables + - block: make blk_set_default_limits() private + - scsi: mpi3mr: Suppress command reply debug prints + - btrfs: free btrfs_path before copying inodes to userspace + - btrfs: do not modify log tree while holding a leaf from fs tree locked + - drm/i915/ttm: never purge busy objects + - drm/display/dp_mst: Fix drm_dp_mst_add_affected_dsc_crtcs() return code + - drm/amdgpu/psp: don't free PSP buffers on suspend + - drm/amd/amdgpu: reserve vm invalidation engine for firmware + - drm/amdgpu: Partially revert "drm/amdgpu: update drm_display_info correctly + when the edid is read" + - btrfs: sink iterator parameter to btrfs_ioctl_logical_to_ino + - btrfs: qgroup: fix sleep from invalid context bug in btrfs_qgroup_inherit() + - iio: health: afe4403: Fix oob read in afe4403_read_raw + - iio: health: afe4404: Fix oob read in afe4404_[read|write]_raw + - iio: light: rpr0521: add missing Kconfig dependencies + - bpf, perf: Use subprog name when reporting subprog ksymbol + - scripts/faddr2line: Fix regression in name resolution on ppc64le + - ARM: at91: rm9200: fix usb device clock id + - libbpf: Handle size overflow for ringbuf mmap + - hwmon: (ltc2947) fix temperature scaling + - hwmon: (ina3221) Fix shunt sum critical calculation + - hwmon: (i5500_temp) fix missing pci_disable_device() + - hwmon: (ibmpex) Fix possible UAF when ibmpex_register_bmc() fails + - bpf: Do not copy spin lock field from user in bpf_selem_alloc + - nvmem: rmem: Fix return value check in rmem_read() + - of: property: decrement node refcount in of_fwnode_get_reference_args() + - ixgbevf: Fix resource leak in ixgbevf_init_module() + - i40e: Fix error handling in i40e_init_module() + - fm10k: Fix error handling in fm10k_init_module() + - iavf: Fix error handling in iavf_init_module() + - e100: Fix possible use after free in e100_xmit_prepare + - net/mlx5: DR, Fix uninitialized var warning + - net/mlx5: Fix uninitialized variable bug in outlen_write() + - net/mlx5e: Fix use-after-free when reverting termination table + - can: sja1000_isa: sja1000_isa_probe(): add missing free_sja1000dev() + - can: cc770: cc770_isa_probe(): add missing free_cc770dev() + - can: etas_es58x: es58x_init_netdev(): free netdev when register_candev() + - can: m_can: pci: add missing m_can_class_free_dev() in probe/remove methods + - can: m_can: Add check for devm_clk_get + - qlcnic: fix sleep-in-atomic-context bugs caused by msleep + - aquantia: Do not purge addresses when setting the number of rings + - wifi: cfg80211: fix buffer overflow in elem comparison + - wifi: cfg80211: don't allow multi-BSSID in S1G + - wifi: mac8021: fix possible oob access in ieee80211_get_rate_duration + - net: phy: fix null-ptr-deref while probe() failed + - net: ethernet: ti: am65-cpsw: fix error handling in am65_cpsw_nuss_probe() + - net: net_netdev: Fix error handling in ntb_netdev_init_module() + - net/9p: Fix a potential socket leak in p9_socket_open + - net: ethernet: nixge: fix NULL dereference + - net: wwan: iosm: fix kernel test robot reported error + - net: wwan: iosm: fix dma_alloc_coherent incompatible pointer type + - dsa: lan9303: Correct stat name + - tipc: re-fetch skb cb after tipc_msg_validate + - net: hsr: Fix potential use-after-free + - net: mdiobus: fix unbalanced node reference count + - afs: Fix fileserver probe RTT handling + - net: tun: Fix use-after-free in tun_detach() + - packet: do not set TP_STATUS_CSUM_VALID on CHECKSUM_COMPLETE + - sctp: fix memory leak in sctp_stream_outq_migrate() + - net: ethernet: renesas: ravb: Fix promiscuous mode after system resumed + - hwmon: (coretemp) Check for null before removing sysfs attrs + - hwmon: (coretemp) fix pci device refcount leak in nv1a_ram_new() + - riscv: vdso: fix section overlapping under some conditions + - riscv: mm: Proper page permissions after initmem free + - ALSA: dice: fix regression for Lexicon I-ONIX FW810S + - error-injection: Add prompt for function error injection + - tools/vm/slabinfo-gnuplot: use "grep -E" instead of "egrep" + - nilfs2: fix NULL pointer dereference in nilfs_palloc_commit_free_entry() + - x86/bugs: Make sure MSR_SPEC_CTRL is updated properly upon resume from S3 + - pinctrl: intel: Save and restore pins in "direct IRQ" mode + - v4l2: don't fall back to follow_pfn() if pin_user_pages_fast() fails + - net: stmmac: Set MAC's flow control register to reflect current settings + - mmc: mmc_test: Fix removal of debugfs file + - mmc: core: Fix ambiguous TRIM and DISCARD arg + - mmc: sdhci-esdhc-imx: correct CQHCI exit halt state check + - mmc: sdhci-sprd: Fix no reset data and command after voltage switch + - mmc: sdhci: Fix voltage switch delay + - drm/amdgpu: temporarily disable broken Clang builds due to blown stack-frame + - drm/amdgpu: enable Vangogh VCN indirect sram mode + - drm/i915: Fix negative value passed as remaining time + - drm/i915: Never return 0 if not all requests retired + - tracing/osnoise: Fix duration type + - tracing: Fix race where histograms can be called before the event + - tracing: Free buffers when a used dynamic event is removed + - io_uring: cmpxchg for poll arm refs release + - io_uring/poll: fix poll_refs race with cancelation + - ASoC: ops: Fix bounds check for _sx controls + - pinctrl: single: Fix potential division by zero + - riscv: Sync efi page table's kernel mappings before switching + - riscv: fix race when vmap stack overflow + - riscv: kexec: Fixup irq controller broken in kexec crash path + - nvme: fix SRCU protection of nvme_ns_head list + - iommu/vt-d: Fix PCI device refcount leak in has_external_pci() + - iommu/vt-d: Fix PCI device refcount leak in dmar_dev_scope_init() + - mm: migrate: fix THP's mapcount on isolation + - Kconfig.debug: provide a little extra FRAME_WARN leeway when KASAN is + enabled + - ipv4: Handle attempt to delete multipath route when fib_info contains an nh + reference + - ipv4: Fix route deletion when nexthop info is not specified + - i2c: npcm7xx: Fix error handling in npcm_i2c_init() + - i2c: imx: Only DMA messages with I2C_M_DMA_SAFE flag set + - ACPI: HMAT: remove unnecessary variable initialization + - ACPI: HMAT: Fix initiator registration for single-initiator systems + - Revert "clocksource/drivers/riscv: Events are stopped during CPU suspend" + - char: tpm: Protect tpm_pm_suspend with locks + - Input: raydium_ts_i2c - fix memory leak in raydium_i2c_send() + - ipc/sem: Fix dangling sem_array access in semtimedop race + - clk: samsung: exynos7885: Correct "div4" clock parents + - libbpf: Use correct return pointer in attach_raw_tp + - clocksource/drivers/arm_arch_timer: Fix XGene-1 TVAL register math error + - clk: qcom: gcc-sc8280xp: add cxo as parent for three ufs ref clks + - vfs: fix copy_file_range() averts filesystem freeze protection + - net: wwan: iosm: fix crash in peek throughput test + - net: wwan: iosm: fix incorrect skb length + - mptcp: don't orphan ssk in mptcp_close() + - mptcp: fix sleep in atomic at close time + - hwmon: (asus-ec-sensors) Add checks for devm_kcalloc + - ASoC: tlv320adc3xxx: Fix build error for implicit function declaration + - mm/damon/sysfs: fix wrong empty schemes assumption under online tuning in + damon_sysfs_set_schemes() + - i2c: Restore initial power state if probe fails + - i2c: qcom-geni: fix error return code in geni_i2c_gpi_xfer + - powerpc/bpf/32: Fix Oops on tail call tests + + * 5.15.0-58.64 breaks xen bridge networking (pvh domU) (LP: #2002889) + - xen/netback: fix build warning + + * NFS: client permission error after adding user to permissible group + (LP: #2003053) + - NFS: Clear the file access cache upon login + - NFS: Judge the file access cache's timestamp in rcu path + - NFS: Fix up a sparse warning + + * cmsg_so_mark.sh / cmsg_time.sh / cmsg_ipv6.sh in net from + ubuntu_kernel_selftests hang with non-amd64 (LP: #2000667) + - selftests: net: fix cmsg_so_mark.sh test hang + + * Set explicit CC in the headers package (LP: #1999750) + - [Packaging] Set explicit CC in the headers package + + * powerpc-build in ubuntu_kernel_selftests failed on P9 with K-5.19 + (LP: #2000772) + - selftests/powerpc: Avoid GCC 12 uninitialised variable warning + + * [SRU] SoF for RPL platform support (LP: #1992714) + - ASoC: SOC: Intel: introduce cl_init callback + - ASoC: SOF: Intel: add MeteorLake machines + - ASoC: SOF: Intel: Add support for MeteorLake (MTL) + - ASoC: Intel: common: add ACPI matching tables for Raptor Lake + - ASoC: SOF: Intel: pci-tgl: use RPL specific firmware definitions + - [Config] Enable SND_SOC_SOF_METEORLAKE as module + + * Rear Audio port sometimes has no audio output after reboot(Cirrus Logic) + (LP: #1998905) + - ALSA: hda/cirrus: Add extra 10 ms delay to allow PLL settle and lock. + + * Fix SUT can't displayed after resume from WB/CB with dGFX + installed(FR:6/10)[RX6300][RX6500] (LP: #1999836) + - drm/amd/display: No display after resume from WB/CB + + * commit cf58599cded35cf4affed1e659c0e2c742d3fda7 seems to be missing in + kinetic master to remove "hio" reference from Makefile (LP: #1999556) + - Ubuntu: remove leftover reference to ubuntu/hio driver + + * Add additional Mediatek MT7922 BT device ID (LP: #1998885) + - Bluetooth: btusb: Add a new VID/PID 0489/e0f2 for MT7922 + + * Mute/mic LEDs no function on a HP platfrom (LP: #1998882) + - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook + + * CVE-2023-0461 + - net/ulp: prevent ULP without clone op from entering the LISTEN status + - net/ulp: use consistent error code when blocking ULP + + * CVE-2023-0179 + - netfilter: nft_payload: incorrect arithmetics when fetching VLAN header bits + + * CVE-2022-20369 + - NFSD: fix use-after-free in __nfs42_ssc_open() + + * Kinetic update: upstream stable patchset 2023-01-23 (LP: #2003753) + - ASoC: wm5102: Revert "ASoC: wm5102: Fix PM disable depth imbalance in + wm5102_probe" + - ASoC: wm5110: Revert "ASoC: wm5110: Fix PM disable depth imbalance in + wm5110_probe" + - ASoC: wm8997: Revert "ASoC: wm8997: Fix PM disable depth imbalance in + wm8997_probe" + - ASoC: mt6660: Keep the pm_runtime enables before component stuff in + mt6660_i2c_probe + - ASoC: rt1019: Fix the TDM settings + - ASoC: wm8962: Add an event handler for TEMP_HP and TEMP_SPK + - spi: intel: Fix the offset to get the 64K erase opcode + - ASoC: codecs: jz4725b: add missed Line In power control bit + - ASoC: codecs: jz4725b: fix reported volume for Master ctl + - ASoC: codecs: jz4725b: use right control for Capture Volume + - ASoC: codecs: jz4725b: fix capture selector naming + - ASoC: Intel: sof_sdw: add quirk variant for LAPBC710 NUC15 + - selftests/futex: fix build for clang + - selftests/intel_pstate: fix build for ARCH=x86_64 + - ASoC: rt1308-sdw: add the default value of some registers + - drm/amd/display: Remove wrong pipe control lock + - ACPI: scan: Add LATT2021 to acpi_ignore_dep_ids[] + - RDMA/efa: Add EFA 0xefa2 PCI ID + - btrfs: raid56: properly handle the error when unable to find the missing + stripe + - NFSv4: Retry LOCK on OLD_STATEID during delegation return + - ACPI: x86: Add another system to quirk list for forcing StorageD3Enable + - firmware: arm_scmi: Cleanup the core driver removal callback + - i2c: tegra: Allocate DMA memory for DMA engine + - i2c: i801: add lis3lv02d's I2C address for Vostro 5568 + - drm/imx: imx-tve: Fix return type of imx_tve_connector_mode_valid + - btrfs: remove pointless and double ulist frees in error paths of qgroup + tests + - x86/cpu: Add several Intel server CPU model numbers + - ASoC: codecs: jz4725b: Fix spelling mistake "Sourc" -> "Source", "Routee" -> + "Route" + - KVM: x86/pmu: Do not speculatively query Intel GP PMCs that don't exist yet + - hugetlbfs: don't delete error page from pagecache + - arm64: dts: qcom: sa8155p-adp: Specify which LDO modes are allowed + - arm64: dts: qcom: sm8150-xperia-kumano: Specify which LDO modes are allowed + - arm64: dts: qcom: sm8250-xperia-edo: Specify which LDO modes are allowed + - arm64: dts: qcom: sm8350-hdk: Specify which LDO modes are allowed + - spi: stm32: Print summary 'callbacks suppressed' message + - ARM: dts: at91: sama7g5: fix signal name of pin PB2 + - ASoC: core: Fix use-after-free in snd_soc_exit() + - ASoC: tas2770: Fix set_tdm_slot in case of single slot + - ASoC: tas2764: Fix set_tdm_slot in case of single slot + - ARM: at91: pm: avoid soft resetting AC DLL + - serial: 8250: omap: Fix missing PM runtime calls for omap8250_set_mctrl() + - serial: 8250_omap: remove wait loop from Errata i202 workaround + - serial: 8250: omap: Fix unpaired pm_runtime_put_sync() in omap8250_remove() + - serial: 8250: omap: Flush PM QOS work on remove + - serial: imx: Add missing .thaw_noirq hook + - tty: n_gsm: fix sleep-in-atomic-context bug in gsm_control_send + - bpf, test_run: Fix alignment problem in bpf_prog_test_run_skb() + - ASoC: soc-utils: Remove __exit for snd_soc_util_exit() + - pinctrl: rockchip: list all pins in a possible mux route for PX30 + - scsi: scsi_transport_sas: Fix error handling in sas_phy_add() + - block: sed-opal: kmalloc the cmd/resp buffers + - bpf: Fix memory leaks in __check_func_call + - arm64: Fix bit-shifting UB in the MIDR_CPU_MODEL() macro + - siox: fix possible memory leak in siox_device_add() + - parport_pc: Avoid FIFO port location truncation + - pinctrl: devicetree: fix null pointer dereferencing in pinctrl_dt_to_map + - drm/vc4: kms: Fix IS_ERR() vs NULL check for vc4_kms + - drm/panel: simple: set bpc field for logic technologies displays + - drm/drv: Fix potential memory leak in drm_dev_init() + - drm: Fix potential null-ptr-deref in drm_vblank_destroy_worker() + - arm64: dts: imx8mm: Fix NAND controller size-cells + - arm64: dts: imx8mn: Fix NAND controller size-cells + - ata: libata-transport: fix double ata_host_put() in ata_tport_add() + - ata: libata-transport: fix error handling in ata_tport_add() + - ata: libata-transport: fix error handling in ata_tlink_add() + - ata: libata-transport: fix error handling in ata_tdev_add() + - nfp: change eeprom length to max length enumerators + - MIPS: fix duplicate definitions for exported symbols + - MIPS: Loongson64: Add WARN_ON on kexec related kmalloc failed + - bpf: Initialize same number of free nodes for each pcpu_freelist + - net: bgmac: Drop free_netdev() from bgmac_enet_remove() + - mISDN: fix possible memory leak in mISDN_dsp_element_register() + - net: hinic: Fix error handling in hinic_module_init() + - net: stmmac: ensure tx function is not running in stmmac_xdp_release() + - soc: imx8m: Enable OCOTP clock before reading the register + - net: liquidio: release resources when liquidio driver open failed + - mISDN: fix misuse of put_device() in mISDN_register_device() + - net: macvlan: Use built-in RCU list checking + - net: caif: fix double disconnect client in chnl_net_open() + - bnxt_en: Remove debugfs when pci_register_driver failed + - net: mhi: Fix memory leak in mhi_net_dellink() + - net: dsa: make dsa_master_ioctl() see through port_hwtstamp_get() shims + - xen/pcpu: fix possible memory leak in register_pcpu() + - net: ionic: Fix error handling in ionic_init_module() + - net: ena: Fix error handling in ena_init() + - net: hns3: fix setting incorrect phy link ksettings for firmware in + resetting process + - bridge: switchdev: Fix memory leaks when changing VLAN protocol + - drbd: use after free in drbd_create_device() + - platform/x86/intel: pmc: Don't unconditionally attach Intel PMC when + virtualized + - platform/surface: aggregator: Do not check for repeated unsequenced packets + - cifs: add check for returning value of SMB2_close_init + - net: ag71xx: call phylink_disconnect_phy if ag71xx_hw_enable() fail in + ag71xx_open() + - net/x25: Fix skb leak in x25_lapb_receive_frame() + - cifs: Fix wrong return value checking when GETFLAGS + - net: microchip: sparx5: Fix potential null-ptr-deref in sparx_stats_init() + and sparx5_start() + - net: thunderbolt: Fix error handling in tbnet_init() + - cifs: add check for returning value of SMB2_set_info_init + - ftrace: Fix the possible incorrect kernel message + - ftrace: Optimize the allocation for mcount entries + - ftrace: Fix null pointer dereference in ftrace_add_mod() + - ring_buffer: Do not deactivate non-existant pages + - tracing: Fix memory leak in tracing_read_pipe() + - tracing/ring-buffer: Have polling block on watermark + - tracing: Fix memory leak in test_gen_synth_cmd() and + test_empty_synth_event() + - tracing: Fix wild-memory-access in register_synth_event() + - tracing: Fix race where eprobes can be called before the event + - tracing: kprobe: Fix potential null-ptr-deref on trace_event_file in + kprobe_event_gen_test_exit() + - tracing: kprobe: Fix potential null-ptr-deref on trace_array in + kprobe_event_gen_test_exit() + - drm/amd/display: Add HUBP surface flip interrupt handler + - ALSA: usb-audio: Drop snd_BUG_ON() from snd_usbmidi_output_open() + - ALSA: hda/realtek: fix speakers for Samsung Galaxy Book Pro + - ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book Pro 360 + - Revert "usb: dwc3: disable USB core PHY management" + - slimbus: qcom-ngd: Fix build error when CONFIG_SLIM_QCOM_NGD_CTRL=y && + CONFIG_QCOM_RPROC_COMMON=m + - slimbus: stream: correct presence rate frequencies + - speakup: fix a segfault caused by switching consoles + - USB: bcma: Make GPIO explicitly optional + - USB: serial: option: add Sierra Wireless EM9191 + - USB: serial: option: remove old LARA-R6 PID + - USB: serial: option: add u-blox LARA-R6 00B modem + - USB: serial: option: add u-blox LARA-L6 modem + - USB: serial: option: add Fibocom FM160 0x0111 composition + - usb: add NO_LPM quirk for Realforce 87U Keyboard + - usb: chipidea: fix deadlock in ci_otg_del_timer + - usb: cdns3: host: fix endless superspeed hub port reset + - usb: typec: mux: Enter safe mode only when pins need to be reconfigured + - iio: adc: at91_adc: fix possible memory leak in at91_adc_allocate_trigger() + - iio: trigger: sysfs: fix possible memory leak in iio_sysfs_trig_init() + - iio: adc: mp2629: fix wrong comparison of channel + - iio: adc: mp2629: fix potential array out of bound access + - iio: pressure: ms5611: changed hardcoded SPI speed to value limited + - dm ioctl: fix misbehavior if list_versions races with module loading + - serial: 8250: Fall back to non-DMA Rx if IIR_RDI occurs + - serial: 8250: Flush DMA Rx on RLSI + - serial: 8250_lpss: Configure DMA also w/o DMA filter + - Input: iforce - invert valid length check when fetching device IDs + - maccess: Fix writing offset in case of fault in + strncpy_from_kernel_nofault() + - net: phy: marvell: add sleep time after enabling the loopback bit + - scsi: zfcp: Fix double free of FSF request when qdio send fails + - iommu/vt-d: Preset Access bit for IOVA in FL non-leaf paging entries + - iommu/vt-d: Set SRE bit only when hardware has SRS cap + - firmware: coreboot: Register bus in module init + - mmc: core: properly select voltage range without power cycle + - mmc: sdhci-pci-o2micro: fix card detect fail issue caused by CD# debounce + timeout + - mmc: sdhci-pci: Fix possible memory leak caused by missing pci_dev_put() + - docs: update mediator contact information in CoC doc + - misc/vmw_vmci: fix an infoleak in vmci_host_do_receive_datagram() + - perf/x86/intel/pt: Fix sampling using single range output + - nvme: restrict management ioctls to admin + - nvme: ensure subsystem reset is single threaded + - serial: 8250_lpss: Use 16B DMA burst with Elkhart Lake + - perf: Improve missing SIGTRAP checking + - ring-buffer: Include dropped pages in counting dirty patches + - tracing: Fix warning on variable 'struct trace_array' + - net: use struct_group to copy ip/ipv6 header addresses + - scsi: target: tcm_loop: Fix possible name leak in tcm_loop_setup_hba_bus() + - scsi: scsi_debug: Fix possible UAF in sdebug_add_host_helper() + - kprobes: Skip clearing aggrprobe's post_handler in kprobe-on-ftrace case + - Input: i8042 - fix leaking of platform device on module removal + - macvlan: enforce a consistent minimal mtu + - tcp: cdg: allow tcp_cdg_release() to be called multiple times + - kcm: avoid potential race in kcm_tx_work + - kcm: close race conditions on sk_receive_queue + - 9p: trans_fd/p9_conn_cancel: drop client lock earlier + - gfs2: Check sb_bsize_shift after reading superblock + - gfs2: Switch from strlcpy to strscpy + - 9p/trans_fd: always use O_NONBLOCK read/write + - wifi: wext: use flex array destination for memcpy() + - mm: fs: initialize fsdata passed to write_begin/write_end interface + - net/9p: use a dedicated spinlock for trans_fd + - ntfs: fix use-after-free in ntfs_attr_find() + - ntfs: fix out-of-bounds read in ntfs_attr_find() + - ntfs: check overflow when iterating ATTR_RECORDs + - drm/msm/gpu: Fix crash during system suspend after unbind + - spi: tegra210-quad: Fix combined sequence + - ASoC: rt5682s: Fix the TDM Tx settings + - selftests/kexec: fix build for ARCH=x86_64 + - ASoC: Intel: sof_rt5682: Add quirk for Rex board + - ASoC: amd: yc: Adding Lenovo ThinkBook 14 Gen 4+ ARA and Lenovo ThinkBook 16 + Gen 4+ ARA to the Quirks List + - ASoC: amd: yc: Add Lenovo Thinkbook 14+ 2022 21D0 to quirks table + - drm/amdgpu: Adjust MES polling timeout for sriov + - platform/x86: thinkpad_acpi: Fix reporting a non present second fan on some + models + - drm/scheduler: fix fence ref counting + - cxl/mbox: Add a check on input payload size + - SUNRPC: Fix crasher in gss_unwrap_resp_integ() + - drm/rockchip: vop2: fix null pointer in plane_atomic_disable + - drm/rockchip: vop2: disable planes when disabling the crtc + - ksefltests: pidfd: Fix wait_states: Test terminated by timeout + - powerpc/64e: Fix amdgpu build on Book3E w/o AltiVec + - block: blk_add_rq_to_plug(): clear stale 'last' after flush + - firmware: arm_scmi: Make tx_prepare time out eventually + - drm/amd/display: Ignore Cable ID Feature + - drm/amdgpu: set fb_modifiers_not_supported in vkms + - drm/amd: Fail the suspend if resources can't be evicted + - cxl/pmem: Use size_add() against integer overflow + - tools/testing/cxl: Fix some error exits + - arm64/mm: fold check for KFENCE into can_set_direct_map() + - arm64: fix rodata=full again + - KVM: SVM: remove dead field from struct svm_cpu_data + - KVM: SVM: do not allocate struct svm_cpu_data dynamically + - KVM: SVM: restore host save area from assembly + - KVM: SVM: move MSR_IA32_SPEC_CTRL save/restore to assembly + - arm64: dts: qcom: sc7280: Add the reset reg for lpass audiocc on SC7280 + - ASoC: fsl_asrc fsl_esai fsl_sai: allow CONFIG_PM=N + - arm64: dts: qcom: sm8250: Disable the not yet supported cluster idle state + - tty: serial: fsl_lpuart: don't break the on-going transfer when global reset + - bnxt_en: refactor bnxt_cancel_reservations() + - bnxt_en: fix the handling of PCIE-AER + - mtd: onenand: omap2: add dependency on GPMC + - sctp: remove the unnecessary sinfo_stream check in sctp_prsctp_prune_unsent + - sctp: clear out_curr if all frag chunks of current msg are pruned + - erofs: clean up .read_folio() and .readahead() in fscache mode + - io_uring: calculate CQEs from the user visible value + - pinctrl: mediatek: common-v2: Fix bias-disable for PULL_PU_PD_RSEL_TYPE + - selftests/bpf: Fix test_progs compilation failure in 32-bit arch + - arm64: dts: imx8mm-tqma8mqml-mba8mx: Fix USB DR + - cifs: Fix connections leak when tlink setup failed + - ata: libata-core: do not issue non-internal commands once EH is pending + - net: phy: dp83867: Fix SGMII FIFO depth for non OF devices + - mctp i2c: don't count unused / invalid keys for flow release + - octeon_ep: delete unnecessary napi rollback under set_queues_err in + octep_open() + - octeon_ep: ensure octep_get_link_status() successfully before + octep_link_up() + - octeon_ep: fix potential memory leak in octep_device_setup() + - octeon_ep: ensure get mac address successfully before eth_hw_addr_set() + - erofs: fix missing xas_retry() in fscache mode + - mlxsw: Avoid warnings when not offloaded FDB entry with IPv6 is removed + - net: hns3: fix incorrect hw rss hash type of rx packet + - net: hns3: fix return value check bug of rx copybreak + - netfs: Fix missing xas_retry() calls in xarray iteration + - netfs: Fix dodgy maths + - net: dsa: don't leak tagger-owned storage on switch driver unbind + - net: lan966x: Fix potential null-ptr-deref in lan966x_stats_init() + - s390: avoid using global register for current_stack_pointer + - netdevsim: Fix memory leak of nsim_dev->fa_cookie + - rethook: fix a potential memleak in rethook_alloc() + - drm/amd/pm: fix SMU13 runpm hang due to unintentional workaround + - drm/display: Don't assume dual mode adaptors support i2c sub-addressing + - drm/amd/display: Fix invalid DPIA AUX reply causing system hang + - drm/amd/display: Fix access timeout to DPIA AUX at boot time + - drm/amd/display: Support parsing VRAM info v3.0 from VBIOS + - usb: dwc3: Do not get extcon device when usb-role-switch is used + - nvme-pci: add NVME_QUIRK_BOGUS_NID for Micron Nitro + - nvme-pci: add NVME_QUIRK_BOGUS_NID for Netac NV7000 + - usb: typec: tipd: Prevent uninitialized event{1,2} in IRQ handler + - iio: accel: bma400: Ensure VDDIO is enable defore reading the chip ID. + - iio: pressure: ms5611: fixed value compensation bug + - ceph: avoid putting the realm twice when decoding snaps fails + - s390/dcssblk: fix deadlock when adding a DCSS + - blk-cgroup: properly pin the parent in blkcg_css_online + - x86/fpu: Drop fpregs lock before inheriting FPU permissions + - ASoC: SOF: topology: No need to assign core ID if token parsing failed + - perf/x86/amd: Fix crash due to race between amd_pmu_enable_all, perf NMI and + throttling + - net: usb: smsc95xx: fix external PHY reset + - tracing: Fix potential null-pointer-access of entry in list 'tr->err_log' + - arm64/mm: fix incorrect file_map_count for non-leaf pmd/pud + - KVM: x86/xen: Fix eventfd error handling in kvm_xen_eventfd_assign() + - netlink: Bounds-check struct nlmsgerr creation + - bpf: Prevent bpf program recursion for raw tracepoint probes + + * Fix RPL-S support on powercap/intel_rapl (LP: #1990161) + - powercap: intel_rapl: Add support for RAPTORLAKE_P + - powercap: intel_rapl: Add support for RAPTORLAKE_S + + * Kinetic update: upstream stable patchset 2023-01-04 (LP: #2001726) + - drm/amdkfd: handle CPU fault on COW mapping + - drm/amdkfd: Fix NULL pointer dereference in svm_migrate_to_ram() + - hwspinlock: qcom: correct MMIO max register for newer SoCs + - phy: stm32: fix an error code in probe + - wifi: cfg80211: silence a sparse RCU warning + - wifi: cfg80211: fix memory leak in query_regdb_file() + - soundwire: qcom: reinit broadcast completion + - soundwire: qcom: check for outanding writes before doing a read + - bpf, verifier: Fix memory leak in array reallocation for stack state + - bpf, sockmap: Fix the sk->sk_forward_alloc warning of sk_stream_kill_queues + - wifi: mac80211: Set TWT Information Frame Disabled bit as 1 + - bpftool: Fix NULL pointer dereference when pin {PROG, MAP, LINK} without + FILE + - HID: hyperv: fix possible memory leak in mousevsc_probe() + - bpf, sockmap: Fix sk->sk_forward_alloc warn_on in sk_stream_kill_queues + - bpf: Fix sockmap calling sleepable function in teardown path + - bpf, sock_map: Move cancel_work_sync() out of sock lock + - bpf: Add helper macro bpf_for_each_reg_in_vstate + - bpf: Fix wrong reg type conversion in release_reference() + - net: gso: fix panic on frag_list with mixed head alloc types + - macsec: delete new rxsc when offload fails + - macsec: fix secy->n_rx_sc accounting + - macsec: fix detection of RXSCs when toggling offloading + - macsec: clear encryption keys from the stack after setting up offload + - octeontx2-pf: NIX TX overwrites SQ_CTX_HW_S[SQ_INT] + - net: tun: Fix memory leaks of napi_get_frags + - bnxt_en: Fix possible crash in bnxt_hwrm_set_coal() + - bnxt_en: fix potentially incorrect return value for ndo_rx_flow_steer + - net: fman: Unregister ethernet device on removal + - capabilities: fix undefined behavior in bit shift for CAP_TO_MASK + - phy: ralink: mt7621-pci: add sentinel to quirks table + - KVM: s390: pv: don't allow userspace to set the clock under PV + - net: lapbether: fix issue of dev reference count leakage in + lapbeth_device_event() + - hamradio: fix issue of dev reference count leakage in bpq_device_event() + - net: wwan: iosm: fix memory leak in ipc_wwan_dellink + - net: wwan: mhi: fix memory leak in mhi_mbim_dellink + - drm/vc4: Fix missing platform_unregister_drivers() call in + vc4_drm_register() + - tcp: prohibit TCP_REPAIR_OPTIONS if data was already sent + - ipv6: addrlabel: fix infoleak when sending struct ifaddrlblmsg to network + - can: af_can: fix NULL pointer dereference in can_rx_register() + - net: stmmac: dwmac-meson8b: fix meson8b_devm_clk_prepare_enable() + - net: broadcom: Fix BCMGENET Kconfig + - tipc: fix the msg->req tlv len check in + tipc_nl_compat_name_table_dump_header + - dmaengine: pxa_dma: use platform_get_irq_optional + - dmaengine: mv_xor_v2: Fix a resource leak in mv_xor_v2_remove() + - dmaengine: ti: k3-udma-glue: fix memory leak when register device fail + - net: lapbether: fix issue of invalid opcode in lapbeth_open() + - drivers: net: xgene: disable napi when register irq failed in + xgene_enet_open() + - perf stat: Fix printing os->prefix in CSV metrics output + - perf tools: Add the include/perf/ directory to .gitignore + - netfilter: nfnetlink: fix potential dead lock in nfnetlink_rcv_msg() + - netfilter: Cleanup nft_net->module_list from nf_tables_exit_net() + - net: marvell: prestera: fix memory leak in prestera_rxtx_switch_init() + - net: nixge: disable napi when enable interrupts failed in nixge_open() + - net: wwan: iosm: fix memory leak in ipc_pcie_read_bios_cfg + - net/mlx5: Bridge, verify LAG state when adding bond to bridge + - net/mlx5: Allow async trigger completion execution on single CPU systems + - net/mlx5e: E-Switch, Fix comparing termination table instance + - net: cpsw: disable napi in cpsw_ndo_open() + - net: cxgb3_main: disable napi when bind qsets failed in cxgb_up() + - stmmac: intel: Update PCH PTP clock rate from 200MHz to 204.8MHz + - mctp: Fix an error handling path in mctp_init() + - cxgb4vf: shut down the adapter when t4vf_update_port_info() failed in + cxgb4vf_open() + - stmmac: dwmac-loongson: fix missing pci_disable_msi() while module exiting + - stmmac: dwmac-loongson: fix missing pci_disable_device() in + loongson_dwmac_probe() + - stmmac: dwmac-loongson: fix missing of_node_put() while module exiting + - net: phy: mscc: macsec: clear encryption keys when freeing a flow + - net: atlantic: macsec: clear encryption keys from the stack + - ethernet: s2io: disable napi when start nic failed in s2io_card_up() + - net: mv643xx_eth: disable napi when init rxq or txq failed in + mv643xx_eth_open() + - ethernet: tundra: free irq when alloc ring failed in tsi108_open() + - net: macvlan: fix memory leaks of macvlan_common_newlink + - riscv: process: fix kernel info leakage + - riscv: vdso: fix build with llvm + - riscv: fix reserved memory setup + - arm64: efi: Fix handling of misaligned runtime regions and drop warning + - MIPS: jump_label: Fix compat branch range check + - mmc: cqhci: Provide helper for resetting both SDHCI and CQHCI + - mmc: sdhci-of-arasan: Fix SDHCI_RESET_ALL for CQHCI + - mmc: sdhci_am654: Fix SDHCI_RESET_ALL for CQHCI + - mmc: sdhci-tegra: Fix SDHCI_RESET_ALL for CQHCI + - mmc: sdhci-esdhc-imx: use the correct host caps for MMC_CAP_8_BIT_DATA + - ALSA: hda/hdmi - enable runtime pm for more AMD display audio + - ALSA: hda/ca0132: add quirk for EVGA Z390 DARK + - ALSA: hda: fix potential memleak in 'add_widget_node' + - ALSA: hda/realtek: Add Positivo C6300 model quirk + - ALSA: usb-audio: Yet more regression for for the delayed card registration + - ALSA: usb-audio: Add quirk entry for M-Audio Micro + - ALSA: usb-audio: Add DSD support for Accuphase DAC-60 + - vmlinux.lds.h: Fix placement of '.data..decrypted' section + - ata: libata-scsi: fix SYNCHRONIZE CACHE (16) command failure + - nilfs2: fix deadlock in nilfs_count_free_blocks() + - nilfs2: fix use-after-free bug of ns_writer on remount + - drm/i915/dmabuf: fix sg_table handling in map_dma_buf + - drm/amdgpu: disable BACO on special BEIGE_GOBY card + - btrfs: fix match incorrectly in dev_args_match_device + - btrfs: selftests: fix wrong error check in btrfs_free_dummy_root() + - btrfs: zoned: initialize device's zone info for seeding + - mms: sdhci-esdhc-imx: Fix SDHCI_RESET_ALL for CQHCI + - udf: Fix a slab-out-of-bounds write bug in udf_find_entry() + - mm/damon/dbgfs: check if rm_contexts input is for a real context + - mm/memremap.c: map FS_DAX device memory as decrypted + - mm/shmem: use page_mapping() to detect page cache for uffd continue + - can: j1939: j1939_send_one(): fix missing CAN header initialization + - dmaengine: at_hdmac: Fix at_lli struct definition + - dmaengine: at_hdmac: Don't start transactions at tx_submit level + - dmaengine: at_hdmac: Start transfer for cyclic channels in issue_pending + - dmaengine: at_hdmac: Fix premature completion of desc in issue_pending + - dmaengine: at_hdmac: Do not call the complete callback on + device_terminate_all + - dmaengine: at_hdmac: Protect atchan->status with the channel lock + - dmaengine: at_hdmac: Fix concurrency problems by removing atc_complete_all() + - dmaengine: at_hdmac: Fix concurrency over descriptor + - dmaengine: at_hdmac: Free the memset buf without holding the chan lock + - dmaengine: at_hdmac: Fix concurrency over the active list + - dmaengine: at_hdmac: Fix descriptor handling when issuing it to hardware + - dmaengine: at_hdmac: Fix completion of unissued descriptor in case of errors + - dmaengine: at_hdmac: Don't allow CPU to reorder channel enable + - dmaengine: at_hdmac: Fix impossible condition + - dmaengine: at_hdmac: Check return code of dma_async_device_register + - drm/amdkfd: Migrate in CPU page fault use current mm + - net: tun: call napi_schedule_prep() to ensure we own a napi + - x86/cpu: Restore AMD's DE_CFG MSR after resume + - drm/i915/gvt: Add missing vfio_unregister_group_dev() call + - KVM: debugfs: Return retval of simple_attr_open() if it fails + - HID: wacom: Fix logic used for 3rd barrel switch emulation + - ALSA: arm: pxa: pxa2xx-ac97-lib: fix return value check of + platform_get_irq() + - spi: mediatek: Fix package division error + - drm/vc4: hdmi: Fix HSM clock too low on Pi4 + - PCI: hv: Fix the definition of vector in hv_compose_msi_msg() + - KVM: s390: pci: Fix allocation size of aift kzdev elements + - drm/i915/psr: Send update also on invalidate + - drm/i915: Do not set cache_dirty for DGFX + - dt-bindings: net: tsnep: Fix typo on generic nvmem property + - dmanegine: idxd: reformat opcap output to match bitmap_parse() input + - dmaengine: idxd: Fix max batch size for Intel IAA + - dmaengine: idxd: fix RO device state error after been disabled/reset + - dmaengine: stm32-dma: fix potential race between pause and resume + - net: ethernet: mtk-star-emac: disable napi when connect and start PHY failed + in mtk_star_enable() + - octeontx2-pf: Fix SQE threshold checking + - perf stat: Fix crash with --per-node --metric-only in CSV mode + - net: wwan: iosm: fix invalid mux header type + - net/mlx5e: Add missing sanity checks for max TX WQE size + - ice: Fix spurious interrupt during removal of trusted VF + - iavf: Fix VF driver counting VLAN 0 filters + - ALSA: memalloc: Don't fall back for SG-buffer with IOMMU + - eth: sp7021: drop free_netdev() from spl2sw_init_netdev() + - mmc: sdhci-brcmstb: Fix SDHCI_RESET_ALL for CQHCI + - ALSA: hda/realtek: Add quirk for ASUS Zenbook using CS35L41 + - drm/amdgpu: workaround for TLB seq race + - drm/amdkfd: Fix error handling in criu_checkpoint + - drm/amdkfd: Fix error handling in kfd_criu_restore_events + - btrfs: zoned: clone zoned device info when cloning a device + - net: ethernet: ti: am65-cpsw: Fix segmentation fault at module unload + - spi: intel: Use correct mask for flash and protected regions + - dmaengine: idxd: Do not enable user type Work Queue without Shared Virtual + Addressing + - can: isotp: fix tx state handling for echo tx processing + - can: rcar_canfd: Add missing ECC error checks for channels 2-7 + - KVM: x86: use a separate asm-offsets.c file + - KVM: SVM: replace regs argument of __svm_vcpu_run() with vcpu_svm + - KVM: SVM: adjust register allocation for __svm_vcpu_run() + - KVM: SVM: retrieve VMCB from assembly + - KVM: SVM: move guest vmsave/vmload back to assembly + + * AMD Rembrandt: DP tunneling fails with Thunderbolt monitors + (LP: #1983143) // Kinetic update: upstream stable patchset 2023-01-04 + (LP: #2001726) + - thunderbolt: Add DP OUT resource when DP tunnel is discovered + + * CVE-2022-47520 + - wifi: wilc1000: validate pairwise and authentication suite offsets + + * CVE-2022-3545 + - nfp: fix use-after-free in area_cache_get() + + -- Stefan Bader Wed, 01 Feb 2023 14:55:40 +0100 + +linux (5.19.0-31.32) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-31.32 -proposed tracker (LP: #2003423) + + * amdgpu: framebuffer is destroyed and the screen freezes with unsupported IP + blocks (LP: #2003524) + - drm/amd: Delay removal of the firmware framebuffer + + * Revoke & rotate to new signing key (LP: #2002812) + - [Packaging] Revoke and rotate to new signing key + + -- Stefan Bader Fri, 20 Jan 2023 14:57:58 +0100 + +linux (5.19.0-30.31) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-30.31 -proposed tracker (LP: #2001756) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - debian/dkms-versions -- update from kernel-versions (main/2023.01.02) + + * Add some ACPI device IDs for Intel HID device (LP: #1995453) + - platform/x86/intel/hid: Add some ACPI device IDs + + * Fix iosm: WWAN cannot build the connection (DW5823e) (LP: #1998115) + - net: wwan: iosm: fix driver not working with INTEL_IOMMU disabled + - [Config] CONFIG_IOSM update annotations on arm64 armhf ppc64el s390x riscv64 + + * BPF_[AND|OR|XOR|FETCH|XCHG|CMPXCHG] in net:test_bpf.sh from + ubuntu_kernel_selftests failed on K-5.19 P9 (LP: #2001618) + - powerpc/bpf/64: add support for BPF_ATOMIC bitwise operations + - powerpc/bpf/64: add support for atomic fetch operations + - powerpc/bpf/64: Add instructions for atomic_[cmp]xchg + + * [DEP-8] Run ADT regression suite for lowlatency kernels Jammy and later + (LP: #1999528) + - [DEP-8] Fix regression suite to run on lowlatency + + * Kinetic update: upstream stable patchset 2022-12-15 (LP: #1999828) + - serial: ar933x: Deassert Transmit Enable on ->rs485_config() + - KVM: x86: Trace re-injected exceptions + - RDMA/cma: Use output interface for net_dev check + - IB/hfi1: Correctly move list in sc_disable() + - RDMA/hns: Disable local invalidate operation + - NFSv4: Fix a potential state reclaim deadlock + - NFSv4.1: Handle RECLAIM_COMPLETE trunking errors + - NFSv4.1: We must always send RECLAIM_COMPLETE after a reboot + - SUNRPC: Fix null-ptr-deref when xps sysfs alloc failed + - NFSv4.2: Fixup CLONE dest file size for zero-length count + - nfs4: Fix kmemleak when allocate slot failed + - net: dsa: Fix possible memory leaks in dsa_loop_init() + - RDMA/core: Fix null-ptr-deref in ib_core_cleanup() + - RDMA/qedr: clean up work queue on failure in qedr_alloc_resources() + - net: dsa: fall back to default tagger if we can't load the one from DT + - nfc: fdp: Fix potential memory leak in fdp_nci_send() + - nfc: nxp-nci: Fix potential memory leak in nxp_nci_send() + - nfc: s3fwrn5: Fix potential memory leak in s3fwrn5_nci_send() + - nfc: nfcmrvl: Fix potential memory leak in nfcmrvl_i2c_nci_send() + - net: fec: fix improper use of NETDEV_TX_BUSY + - ata: pata_legacy: fix pdc20230_set_piomode() + - net: sched: Fix use after free in red_enqueue() + - net: tun: fix bugs for oversize packet when napi frags enabled + - netfilter: nf_tables: netlink notifier might race to release objects + - netfilter: nf_tables: release flow rule object from commit path + - ipvs: use explicitly signed chars + - ipvs: fix WARNING in __ip_vs_cleanup_batch() + - ipvs: fix WARNING in ip_vs_app_net_cleanup() + - rose: Fix NULL pointer dereference in rose_send_frame() + - mISDN: fix possible memory leak in mISDN_register_device() + - isdn: mISDN: netjet: fix wrong check of device registration + - btrfs: fix inode list leak during backref walking at resolve_indirect_refs() + - btrfs: fix inode list leak during backref walking at find_parent_nodes() + - btrfs: fix ulist leaks in error paths of qgroup self tests + - netfilter: ipset: enforce documented limit to prevent allocating huge memory + - Bluetooth: virtio_bt: Use skb_put to set length + - Bluetooth: L2CAP: fix use-after-free in l2cap_conn_del() + - Bluetooth: L2CAP: Fix memory leak in vhci_write + - net: mdio: fix undefined behavior in bit shift for __mdiobus_register + - ibmvnic: Free rwi on reset success + - stmmac: dwmac-loongson: fix invalid mdio_node + - net/smc: Fix possible leaked pernet namespace in smc_init() + - net, neigh: Fix null-ptr-deref in neigh_table_clear() + - ipv6: fix WARNING in ip6_route_net_exit_late() + - vsock: fix possible infinite sleep in vsock_connectible_wait_data() + - media: rkisp1: Don't pass the quantization to rkisp1_csm_config() + - media: rkisp1: Initialize color space on resizer sink and source pads + - media: rkisp1: Use correct macro for gradient registers + - media: rkisp1: Zero v4l2_subdev_format fields in when validating links + - media: s5p_cec: limit msg.len to CEC_MAX_MSG_SIZE + - media: cros-ec-cec: limit msg.len to CEC_MAX_MSG_SIZE + - media: dvb-frontends/drxk: initialize err to 0 + - media: meson: vdec: fix possible refcount leak in vdec_probe() + - media: v4l: subdev: Fail graciously when getting try data for NULL state + - ACPI: APEI: Fix integer overflow in ghes_estatus_pool_init() + - scsi: core: Restrict legal sdev_state transitions via sysfs + - HID: saitek: add madcatz variant of MMO7 mouse device ID + - drm/amdgpu: set vm_update_mode=0 as default for Sienna Cichlid in SRIOV case + - i2c: xiic: Add platform module alias + - efi/tpm: Pass correct address to memblock_reserve + - clk: qcom: Update the force mem core bit for GPU clocks + - ARM: dts: imx6qdl-gw59{10,13}: fix user pushbutton GPIO offset + - arm64: dts: imx8: correct clock order + - arm64: dts: lx2160a: specify clock frequencies for the MDIO controllers + - arm64: dts: ls1088a: specify clock frequencies for the MDIO controllers + - arm64: dts: ls208xa: specify clock frequencies for the MDIO controllers + - block: Fix possible memory leak for rq_wb on add_disk failure + - firmware: arm_scmi: Suppress the driver's bind attributes + - firmware: arm_scmi: Make Rx chan_setup fail on memory errors + - firmware: arm_scmi: Fix devres allocation device in virtio transport + - arm64: dts: juno: Add thermal critical trip points + - i2c: piix4: Fix adapter not be removed in piix4_remove() + - Bluetooth: L2CAP: Fix attempting to access uninitialized memory + - fscrypt: stop using keyrings subsystem for fscrypt_master_key + - fscrypt: fix keyring memory leak on mount failure + - btrfs: fix lost file sync on direct IO write with nowait and dsync iocb + - btrfs: fix tree mod log mishandling of reallocated nodes + - btrfs: fix type of parameter generation in btrfs_get_dentry + - ftrace: Fix use-after-free for dynamic ftrace_ops + - tracing: kprobe: Fix memory leak in test_gen_kprobe/kretprobe_cmd() + - kprobe: reverse kp->flags when arm_kprobe failed + - ring-buffer: Check for NULL cpu_buffer in ring_buffer_wake_waiters() + - tools/nolibc/string: Fix memcmp() implementation + - tracing/histogram: Update document for KEYS_MAX size + - capabilities: fix potential memleak on error path from vfs_getxattr_alloc() + - fuse: add file_modified() to fallocate + - efi: random: reduce seed size to 32 bytes + - efi: random: Use 'ACPI reclaim' memory for random seed + - arm64: entry: avoid kprobe recursion + - perf/x86/intel: Fix pebs event constraints for ICL + - perf/x86/intel: Add Cooper Lake stepping to isolation_ucodes[] + - perf/x86/intel: Fix pebs event constraints for SPR + - parisc: Make 8250_gsc driver dependend on CONFIG_PARISC + - parisc: Export iosapic_serial_irq() symbol for serial port driver + - parisc: Avoid printing the hardware path twice + - ext4: fix warning in 'ext4_da_release_space' + - ext4: fix BUG_ON() when directory entry has invalid rec_len + - x86/syscall: Include asm/ptrace.h in syscall_wrapper header + - KVM: x86: Mask off reserved bits in CPUID.80000006H + - KVM: x86: Mask off reserved bits in CPUID.8000001AH + - KVM: x86: Mask off reserved bits in CPUID.80000008H + - KVM: x86: Mask off reserved bits in CPUID.80000001H + - KVM: x86: Mask off reserved bits in CPUID.8000001FH + - KVM: VMX: fully disable SGX if SECONDARY_EXEC_ENCLS_EXITING unavailable + - KVM: arm64: Fix bad dereference on MTE-enabled systems + - KVM: x86: emulator: em_sysexit should update ctxt->mode + - KVM: x86: emulator: introduce emulator_recalc_and_set_mode + - KVM: x86: emulator: update the emulation mode after rsm + - KVM: x86: emulator: update the emulation mode after CR0 write + - tee: Fix tee_shm_register() for kernel TEE drivers + - ext4,f2fs: fix readahead of verity data + - cifs: fix regression in very old smb1 mounts + - drm/rockchip: dsi: Clean up 'usage_mode' when failing to attach + - drm/rockchip: dsi: Force synchronous probe + - drm/i915/sdvo: Filter out invalid outputs more sensibly + - drm/i915/sdvo: Setup DDC fully before output init + - wifi: brcmfmac: Fix potential buffer overflow in brcmf_fweh_event_worker() + - usb: dwc3: gadget: Don't delay End Transfer on delayed_status + - RDMA/hns: Fix NULL pointer problem in free_mr_init() + - docs/process/howto: Replace C89 with C11 + - RDMA/rxe: Fix mr leak in RESPST_ERR_RNR + - tools/nolibc: Fix missing strlen() definition and infinite loop with gcc-12 + - ata: palmld: fix return value check in palmld_pata_probe() + - net: lan966x: Fix the MTU calculation + - net: lan966x: Adjust maximum frame size when vlan is enabled/disabled + - net: lan966x: Fix FDMA when MTU is changed + - net: lan966x: Fix unmapping of received frames using FDMA + - bridge: Fix flushing of dynamic FDB entries + - iio: adc: stm32-adc: fix channel sampling time init + - drm/vc4: hdmi: Check the HSM rate at runtime_resume + - hwrng: bcm2835 - use hwrng_msleep() instead of cpu_relax() + - drm/amdkfd: Fix type of reset_type parameter in hqd_destroy() callback + - drm/amdgpu: Program GC registers through RLCG interface in gfx_v11/gmc_v11 + - nvme-pci: disable write zeroes on various Kingston SSD + - bio: safeguard REQ_ALLOC_CACHE bio put + - clk: rs9: Fix I2C accessors + - arm64: dts: imx8mm: Enable CPLD_Dn pull down resistor on MX8Menlo + - clk: renesas: r8a779g0: Fix HSCIF parent clocks + - arm64: dts: verdin-imx8mp: fix ctrl_sleep_moci + - arm64: dts: imx8mm: remove otg1/2 power domain dependency on hsio + - arm64: dts: imx8mm: correct usb power domains + - arm64: dts: imx8mn: remove otg1 power domain dependency on hsio + - arm64: dts: imx8mn: Correct the usb power domain + - drm/rockchip: dw_hdmi: filter regulator -EPROBE_DEFER error messages + - drm/rockchip: fix fbdev on non-IOMMU devices + - drm/i915: stop abusing swiotlb_max_segment + - blk-mq: Fix kmemleak in blk_mq_init_allocated_queue + - firmware: arm_scmi: Fix deferred_tx_wq release on error paths + - clk: renesas: r8a779g0: Add SASYNCPER clocks + - btrfs: fix a memory allocation failure test in btrfs_submit_direct + - ACPI: NUMA: Add CXL CFMWS 'nodes' to the possible nodes set + - tracing/fprobe: Fix to check whether fprobe is registered correctly + - fprobe: Check rethook_alloc() return in rethook initialization + - fuse: fix readdir cache race + - net/ulp: remove SOCK_SUPPORT_ZC from tls sockets + - ARM: dts: imx6dl-yapp4: Do not allow PM to switch PU regulator off on Q/QP + - net: remove SOCK_SUPPORT_ZC from sockmap + - net: also flag accepted sockets supporting msghdr originated zerocopy + - ext4: update the backup superblock's at the end of the online resize + - x86/tdx: Prepare for using "INFO" call for a second purpose + - x86/tdx: Panic on bad configs that #VE on "private" memory access + - KVM: VMX: Fold vmx_supported_debugctl() into vcpu_supported_debugctl() + - KVM: VMX: Ignore guest CPUID for host userspace writes to DEBUGCTL + - KVM: Initialize gfn_to_pfn_cache locks in dedicated helper + - KVM: Reject attempts to consume or refresh inactive gfn_to_pfn_cache + - KVM: arm64: Fix SMPRI_EL1/TPIDR2_EL0 trapping on VHE + - drm/amdgpu: disable GFXOFF during compute for GFX11 + + * Kinetic update: upstream stable patchset 2022-12-07 (LP: #1999079) + - can: j1939: transport: j1939_session_skb_drop_old(): + spin_unlock_irqrestore() before kfree_skb() + - can: kvaser_usb: Fix possible completions during init_completion + - ALSA: Use del_timer_sync() before freeing timer + - ALSA: usb-audio: Add quirks for M-Audio Fast Track C400/600 + - ALSA: au88x0: use explicitly signed char + - ALSA: rme9652: use explicitly signed char + - USB: add RESET_RESUME quirk for NVIDIA Jetson devices in RCM + - usb: gadget: uvc: fix sg handling in error case + - usb: gadget: uvc: fix sg handling during video encode + - usb: dwc3: gadget: Stop processing more requests on IMI + - usb: dwc3: gadget: Don't set IMI for no_interrupt + - usb: bdc: change state when port disconnected + - usb: xhci: add XHCI_SPURIOUS_SUCCESS to ASM1042 despite being a V0.96 + controller + - mtd: rawnand: marvell: Use correct logic for nand-keep-config + - xhci: Add quirk to reset host back to default state at shutdown + - xhci-pci: Set runtime PM as default policy on all xHC 1.2 or later devices + - xhci: Remove device endpoints from bandwidth list when freeing the device + - tools: iio: iio_utils: fix digit calculation + - iio: light: tsl2583: Fix module unloading + - iio: temperature: ltc2983: allocate iio channels once + - iio: adxl372: Fix unsafe buffer attributes + - fbdev: smscufx: Fix several use-after-free bugs + - cpufreq: intel_pstate: Read all MSRs on the target CPU + - cpufreq: intel_pstate: hybrid: Use known scaling factor for P-cores + - fs/binfmt_elf: Fix memory leak in load_elf_binary() + - exec: Copy oldsighand->action under spin-lock + - mac802154: Fix LQI recording + - scsi: qla2xxx: Use transport-defined speed mask for supported_speeds + - drm/amdgpu: disallow gfxoff until GC IP blocks complete s2idle resume + - drm/msm/dsi: fix memory corruption with too many bridges + - drm/msm/hdmi: fix memory corruption with too many bridges + - drm/msm/dp: fix IRQ lifetime + - coresight: cti: Fix hang in cti_disable_hw() + - mmc: sdhci_am654: 'select', not 'depends' REGMAP_MMIO + - mmc: core: Fix kernel panic when remove non-standard SDIO card + - mmc: sdhci-pci-core: Disable ES for ASUS BIOS on Jasper Lake + - mmc: sdhci-esdhc-imx: Propagate ESDHC_FLAG_HS400* only on 8bit bus + - counter: microchip-tcb-capture: Handle Signal1 read and Synapse + - kernfs: fix use-after-free in __kernfs_remove + - pinctrl: Ingenic: JZ4755 bug fixes + - ARC: mm: fix leakage of memory allocated for PTE + - perf auxtrace: Fix address filter symbol name match for modules + - s390/futex: add missing EX_TABLE entry to __futex_atomic_op() + - s390/pci: add missing EX_TABLE entries to + __pcistg_mio_inuser()/__pcilg_mio_inuser() + - mmc: block: Remove error check of hw_reset on reset + - ethtool: eeprom: fix null-deref on genl_info in dump + - net: ieee802154: fix error return code in dgram_bind() + - media: v4l2: Fix v4l2_i2c_subdev_set_name function documentation + - media: atomisp: prevent integer overflow in sh_css_set_black_frame() + - drm/msm: Fix return type of mdp4_lvds_connector_mode_valid + - KVM: selftests: Fix number of pages for memory slot in + memslot_modification_stress_test + - ASoC: qcom: lpass-cpu: mark HDMI TX registers as volatile + - perf: Fix missing SIGTRAPs + - sched/core: Fix comparison in sched_group_cookie_match() + - arc: iounmap() arg is volatile + - mtd: rawnand: intel: Add missing of_node_put() in ebu_nand_probe() + - ASoC: qcom: lpass-cpu: Mark HDMI TX parity register as volatile + - ALSA: ac97: fix possible memory leak in snd_ac97_dev_register() + - perf/x86/intel/lbr: Use setup_clear_cpu_cap() instead of clear_cpu_cap() + - tipc: fix a null-ptr-deref in tipc_topsrv_accept + - net: netsec: fix error handling in netsec_register_mdio() + - net: hinic: fix incorrect assignment issue in hinic_set_interrupt_cfg() + - net: hinic: fix memory leak when reading function table + - net: hinic: fix the issue of CMDQ memory leaks + - net: hinic: fix the issue of double release MBOX callback of VF + - net: macb: Specify PHY PM management done by MAC + - nfc: virtual_ncidev: Fix memory leak in virtual_nci_send() + - x86/unwind/orc: Fix unreliable stack dump with gcov + - amd-xgbe: fix the SFP compliance codes check for DAC cables + - amd-xgbe: add the bit rate quirk for Molex cables + - drm/i915/dp: Reset frl trained flag before restarting FRL training + - atlantic: fix deadlock at aq_nic_stop + - kcm: annotate data-races around kcm->rx_psock + - kcm: annotate data-races around kcm->rx_wait + - net: fix UAF issue in nfqnl_nf_hook_drop() when ops_init() failed + - net: lantiq_etop: don't free skb when returning NETDEV_TX_BUSY + - tcp: fix a signed-integer-overflow bug in tcp_add_backlog() + - tcp: fix indefinite deferral of RTO with SACK reneging + - net-memcg: avoid stalls when under memory pressure + - drm/amdkfd: Fix memory leak in kfd_mem_dmamap_userptr() + - can: mscan: mpc5xxx: mpc5xxx_can_probe(): add missing put_clock() in error + path + - can: mcp251x: mcp251x_can_probe(): add missing unregister_candev() in error + path + - PM: hibernate: Allow hybrid sleep to work with s2idle + - media: vivid: s_fbuf: add more sanity checks + - media: vivid: dev->bitmap_cap wasn't freed in all cases + - media: v4l2-dv-timings: add sanity checks for blanking values + - media: videodev2.h: V4L2_DV_BT_BLANKING_HEIGHT should check 'interlaced' + - media: vivid: set num_in/outputs to 0 if not supported + - perf vendor events power10: Fix hv-24x7 metric events + - ipv6: ensure sane device mtu in tunnels + - i40e: Fix ethtool rx-flow-hash setting for X722 + - i40e: Fix VF hang when reset is triggered on another VF + - i40e: Fix flow-type by setting GL_HASH_INSET registers + - net: ksz884x: fix missing pci_disable_device() on error in pcidev_init() + - PM: domains: Fix handling of unavailable/disabled idle states + - perf vendor events arm64: Fix incorrect Hisi hip08 L3 metrics + - net: fec: limit register access on i.MX6UL + - net: ethernet: ave: Fix MAC to be in charge of PHY PM + - ALSA: aoa: i2sbus: fix possible memory leak in i2sbus_add_dev() + - ALSA: aoa: Fix I2S device accounting + - openvswitch: switch from WARN to pr_warn + - net: ehea: fix possible memory leak in ehea_register_port() + - net: bcmsysport: Indicate MAC is in charge of PHY PM + - nh: fix scope used to find saddr when adding non gw nh + - net: broadcom: bcm4908_enet: update TX stats after actual transmission + - netdevsim: remove dir in nsim_dev_debugfs_init() when creating ports dir + failed + - net/mlx5e: Do not increment ESN when updating IPsec ESN state + - net/mlx5e: Extend SKB room check to include PTP-SQ + - net/mlx5: Fix possible use-after-free in async command interface + - net/mlx5: Update fw fatal reporter state on PCI handlers successful recover + - net/mlx5: Fix crash during sync firmware reset + - net: do not sense pfmemalloc status in skb_append_pagefrags() + - kcm: do not sense pfmemalloc status in kcm_sendpage() + - net: enetc: survive memory pressure without crashing + - arm64: Add AMPERE1 to the Spectre-BHB affected list + - can: rcar_canfd: fix channel specific IRQ handling for RZ/G2L + - can: rcar_canfd: rcar_canfd_handle_global_receive(): fix IRQ storm on global + FIFO receive + - ALSA: hda/realtek: Add quirk for ASUS Zenbook using CS35L41 + - ALSA: hda/realtek: Add another HP ZBook G9 model quirks + - usb: gadget: uvc: limit isoc_sg to super speed gadgets + - usb: gadget: uvc: fix dropped frame after missed isoc + - usb: gadget: aspeed: Fix probe regression + - usb: dwc3: gadget: Force sending delayed status during soft disconnect + - usb: typec: ucsi: Check the connection on resume + - usb: typec: ucsi: acpi: Implement resume callback + - usb: dwc3: Don't switch OTG -> peripheral if extcon is present + - mtd: rawnand: tegra: Fix PM disable depth imbalance in probe + - mtd: parsers: bcm47xxpart: Fix halfblock reads + - iio: adxl367: Fix unsafe buffer attributes + - fbdev: stifb: Fall back to cfb_fillrect() on 32-bit HCRX cards + - drm/amdgpu: Fix VRAM BO swap issue + - drm/i915: Extend Wa_1607297627 to Alderlake-P + - drm/amdgpu: Remove ATC L2 access for MMHUB 2.1.x + - drm/amdgpu: fix pstate setting issue + - drm/amdkfd: update gfx1037 Lx cache setting + - drm/amdkfd: correct the cache info for gfx1036 + - drm/msm: fix use-after-free on probe deferral + - drm/msm/hdmi: fix IRQ lifetime + - drm/msm/dp: fix memory corruption with too many bridges + - drm/msm/dp: fix bridge lifetime + - mmc: queue: Cancel recovery work on cleanup + - mmc: core: Fix WRITE_ZEROES CQE handling + - counter: 104-quad-8: Fix race getting function mode and direction + - mm/uffd: fix vma check on userfault for wp + - mm: migrate: fix return value if all subpages of THPs are migrated + successfully + - mm,madvise,hugetlb: fix unexpected data loss with MADV_DONTNEED on hugetlbfs + - mm/huge_memory: do not clobber swp_entry_t during THP split + - s390/cio: fix out-of-bounds access on cio_ignore free + - s390/uaccess: add missing EX_TABLE entries to __clear_user() + - ACPI: PCC: Fix unintentional integer overflow + - powerpc/64s/interrupt: Fix clear of PACA_IRQS_HARD_DIS when returning to + soft-masked context + - media: amphion: release m2m ctx when releasing vpu instance + - media: ov8865: Fix an error handling path in ov8865_probe() + - media: sun6i-csi: Add a Kconfig dependency on RESET_CONTROLLER + - media: sun4i-csi: Add a Kconfig dependency on RESET_CONTROLLER + - media: sun8i-di: Add a Kconfig dependency on RESET_CONTROLLER + - media: sun8i-rotate: Add a Kconfig dependency on RESET_CONTROLLER + - media: cedrus: Add a Kconfig dependency on RESET_CONTROLLER + - drm/msm/a6xx: Replace kcalloc() with kvzalloc() + - drm/msm/dp: add atomic_check to bridge ops + - drm/msm/dp: cleared DP_DOWNSPREAD_CTRL register before start link training + - ASoC: codec: tlv320adc3xxx: add GPIOLIB dependency + - pinctrl: qcom: Avoid glitching lines when we first mux to output + - spi: qup: support using GPIO as chip select line + - x86/fpu: Configure init_fpstate attributes orderly + - x86/fpu: Fix the init_fpstate size check with the actual size + - x86/fpu: Exclude dynamic states from init_fpstate + - bpf: prevent decl_tag from being referenced in func_proto + - mtd: rawnand: intel: Remove unused nand_pa member from ebu_nand_cs + - mtd: rawnand: intel: Use devm_platform_ioremap_resource_byname() + - ASoC: codecs: tlv320adc3xxx: Wrap adc3xxx_i2c_remove() in __exit_p() + - spi: aspeed: Fix window offset of CE1 + - net: lan966x: Fix the rx drop counter + - x86/fpu: Fix copy_xstate_to_uabi() to copy init states correctly + - amd-xgbe: Yellow carp devices do not need rrc + - drm/i915/dgfx: Keep PCI autosuspend control 'on' by default on all dGPU + - net: lan966x: Stop replacing tx dcbs and dcbs_buf when changing MTU + - mptcp: set msk local address earlier + - netdevsim: fix memory leak in nsim_bus_dev_new() + - net/mlx5: Wait for firmware to enable CRS before pci_restore_state + - net/mlx5: DR, Fix matcher disconnect error flow + - net/mlx5e: Update restore chain id for slow path packets + - net/mlx5e: TC, Reject forwarding from internal port to internal port + - riscv: mm: add missing memcpy in kasan_init + + * Virtual GPU driver packaging regression (LP: #1996112) + - [Packaging] Reintroduce VM DRM drivers into modules + + * Fix AMD-PState driver for Genoa CPU (LP: #1998106) + - Documentation: amd-pstate: Add unit test introduction + - cpufreq: amd-pstate: cpufreq: amd-pstate: reset MSR_AMD_PERF_CTL register at + init + - cpufreq: amd-pstate: change amd-pstate driver to be built-in type + - cpufreq: amd-pstate: add amd-pstate driver parameter for mode selection + - Documentation: amd-pstate: add driver working mode introduction + - Documentation: add amd-pstate kernel command line options + + * Kinetic update: upstream stable patchset 2022-11-30 (LP: #1998398) + - clk: tegra: Fix Tegra PWM parent clock + - Revert "btrfs: call __btrfs_remove_free_space_cache_locked on cache load + failure" + - ocfs2: clear dinode links count in case of error + - ocfs2: fix BUG when iput after ocfs2_mknod fails + - selinux: enable use of both GFP_KERNEL and GFP_ATOMIC in convert_context() + - cpufreq: qcom: fix writes in read-only memory region + - i2c: qcom-cci: Fix ordering of pm_runtime_xx and i2c_add_adapter + - x86/microcode/AMD: Apply the patch early on every logical thread + - hwmon/coretemp: Handle large core ID value + - ata: ahci-imx: Fix MODULE_ALIAS + - ata: ahci: Match EM_MAX_SLOTS with SATA_PMP_MAX_PORTS + - x86/resctrl: Fix min_cbm_bits for AMD + - cpufreq: qcom: fix memory leak in error path + - drm/amdgpu: fix sdma doorbell init ordering on APUs + - mm,hugetlb: take hugetlb_lock before decrementing h->resv_huge_pages + - kvm: Add support for arch compat vm ioctls + - KVM: arm64: vgic: Fix exit condition in scan_its_table() + - media: ipu3-imgu: Fix NULL pointer dereference in active selection access + - media: mceusb: set timeout to at least timeout provided + - media: venus: dec: Handle the case where find_format fails + - x86/topology: Fix multiple packages shown on a single-package system + - x86/topology: Fix duplicated core ID within a package + - btrfs: fix processing of delayed data refs during backref walking + - btrfs: fix processing of delayed tree block refs during backref walking + - drm/vc4: Add module dependency on hdmi-codec + - ACPI: extlog: Handle multiple records + - tipc: Fix recognition of trial period + - tipc: fix an information leak in tipc_topsrv_kern_subscr + - i40e: Fix DMA mappings leak + - HID: magicmouse: Do not set BTN_MOUSE on double report + - sfc: Change VF mac via PF as first preference if available. + - net/atm: fix proc_mpc_write incorrect return value + - net: phy: dp83867: Extend RX strap quirk for SGMII mode + - net: phylink: add mac_managed_pm in phylink_config structure + - scsi: lpfc: Fix memory leak in lpfc_create_port() + - udp: Update reuse->has_conns under reuseport_lock. + - cifs: Fix xid leak in cifs_create() + - cifs: Fix xid leak in cifs_copy_file_range() + - cifs: Fix xid leak in cifs_flock() + - cifs: Fix xid leak in cifs_ses_add_channel() + - dm: remove unnecessary assignment statement in alloc_dev() + - net: hsr: avoid possible NULL deref in skb_clone() + - ionic: catch NULL pointer issue on reconfig + - netfilter: nf_tables: relax NFTA_SET_ELEM_KEY_END set flags requirements + - nvme-hwmon: consistently ignore errors from nvme_hwmon_init + - nvme-hwmon: kmalloc the NVME SMART log buffer + - nvmet: fix workqueue MEM_RECLAIM flushing dependency + - net: sched: cake: fix null pointer access issue when cake_init() fails + - net: sched: delete duplicate cleanup of backlog and qlen + - net: sched: sfb: fix null pointer access issue when sfb_init() fails + - sfc: include vport_id in filter spec hash and equal() + - wwan_hwsim: fix possible memory leak in wwan_hwsim_dev_new() + - net: hns: fix possible memory leak in hnae_ae_register() + - net: sched: fix race condition in qdisc_graft() + - net: phy: dp83822: disable MDI crossover status change interrupt + - iommu/vt-d: Allow NVS regions in arch_rmrr_sanity_check() + - iommu/vt-d: Clean up si_domain in the init_dmars() error path + - ACPI: video: Force backlight native for more TongFang devices + - x86/Kconfig: Drop check for -mabi=ms for CONFIG_EFI_STUB + - mm: /proc/pid/smaps_rollup: fix no vma's null-deref + - smb3: interface count displayed incorrectly + - cpufreq: tegra194: Fix module loading + - KVM: x86: Copy filter arg outside kvm_vm_ioctl_set_msr_filter() + - KVM: x86: Add compat handler for KVM_X86_SET_MSR_FILTER + - media: venus: Fix NV12 decoder buffer discovery on HFI_VERSION_1XX + - drm/vc4: hdmi: Enforce the minimum rate at runtime_resume + - net/smc: Fix an error code in smc_lgr_create() + - net: stmmac: Enable mac_managed_pm phylink config + - blk-mq: fix null pointer dereference in blk_mq_clear_rq_mapping() + - net: ethernet: mtk_eth_soc: fix possible memory leak in mtk_probe() + - net: ethernet: mtk_eth_wed: add missing put_device() in mtk_wed_add_hw() + - net: ethernet: mtk_eth_wed: add missing of_node_put() + - ip6mr: fix UAF issue in ip6mr_sk_done() when addrconf_init_net() failed + - cifs: Fix memory leak when build ntlmssp negotiate blob failed + - netfilter: rpfilter/fib: Populate flowic_l3mdev field + - netfilter: rpfilter/fib: Set ->flowic_uid correctly for user namespaces. + - net: Fix return value of qdisc ingress handling on success + - drbd: only clone bio if we have a backing device + - wifi: mt76: mt7921e: fix random fw download fail + + * Mediatek WLAN RZ616(MT7922) SAR table control (LP: #1997200) + - mt76: add 6 GHz band support in mt76_sar_freq_ranges + - mt76: mt7921: introduce ACPI SAR support + - mt76: mt7921: introduce ACPI SAR config in tx power + - wifi: mt76: mt7921: fix use after free in mt7921_acpi_read() + + * Kinetic update: upstream stable patchset 2022-11-14 (LP: #1996540) + - scsi: qla2xxx: Fix response queue handler reading stale packets + - Upstream stable to v5.15.74, v6.0.2 + - rcu-tasks: Convert RCU_LOCKDEP_WARN() to WARN_ONCE() + - mmc: sdhci-msm: add compatible string check for sdm670 + - thermal: intel_powerclamp: Use first online CPU as control_cpu + - gcov: support GCC 12.1 and newer compilers + - io-wq: Fix memory leak in worker creation + - arm64: mte: Avoid setting PG_mte_tagged if no tags cleared or restored + - serial: Deassert Transmit Enable on probe in driver-specific way + - KVM: x86: Treat #DBs from the emulator as fault-like (code and DR7.GD=1) + - drm/amd/display: Enable dpia support for dcn314 + - drm/amdgpu: Enable F32_WPTR_POLL_ENABLE in mqd + - libbpf: Initialize err in probe_map_create + - libbpf: Fix crash if SEC("freplace") programs don't have attach_prog_fd set + - libbpf: Fix NULL pointer exception in API btf_dump__dump_type_data + - drm/vc4: drv: Call component_unbind_all() + - video/aperture: Disable and unregister sysfb devices via aperture helpers + - drm/bridge: anx7625: Fix refcount bug in anx7625_parse_dt() + - drm/i915/dg2: Bump up CDCLK for DG2 + - drm/panel: use 'select' for Ili9341 panel driver helpers + - drm: fix drm_mipi_dbi build errors + - ALSA: hda/hdmi: change type for the 'assigned' variable + - ALSA: hda/hdmi: Fix the converter allocation for the silent stream + - arm64: dts: qcom: sc7280: Cleanup the lpasscc node + - arm64: dts: qcom: sc7280: Update lpasscore node + - arm64: dts: qcom: pm8350c: Drop PWM reg declaration + - arm64: dts: qcom: sc7180-trogdor: Keep pm6150_adc enabled for TZ + - arm64: dts: qcom: sm8350-sagami: correct TS pin property + - soc/tegra: fuse: Add missing of_node_put() in tegra_init_fuse() + - arm64: dts: qcom: ipq8074: fix PCIe PHY serdes size + - arm64: dts: qcom: sm8450: fix UFS PHY serdes size + - arm64: dts: exynos: fix polarity of "enable" line of NFC chip in TM2 + - selftests/cpu-hotplug: Use return instead of exit + - selftests/cpu-hotplug: Delete fault injection related code + - selftests/cpu-hotplug: Reserve one cpu online at least + - usb: common: usb-conn-gpio: Simplify some error message + - HID: uclogic: Fix warning in uclogic_rdesc_template_apply + - tty: xilinx_uartps: Check clk_enable return value + - fpga: dfl-pci: Add IDs for Intel N6000, N6001 and C6100 cards + - iio: Use per-device lockdep class for mlock + - scsi: lpfc: Fix various issues reported by tools + - phy: qcom-qmp-usb: disable runtime PM on unbind + - block: Fix the enum blk_eh_timer_return documentation + - RDMA/rxe: Set pd early in mr alloc routines + - clk: imx8mp: tune the order of enet_qos_root_clk + - libbpf: Ensure functions with always_inline attribute are inline + - libbpf: Do not require executable permission for shared libraries + - micrel: ksz8851: fixes struct pointer issue + - net: ftmac100: fix endianness-related issues from 'sparse' + - net: sched: cls_u32: Avoid memcpy() false-positive warning + - libbpf: Fix overrun in netlink attribute iteration + - ALSA: usb-audio: Add quirk to enable Avid Mbox 3 support + - ASoC: sunxi: sun4i-codec: set debugfs_prefix for CPU DAI component + - ASoC: amd: yc: Add ASUS UM5302TA into DMI table + - ASoC: amd: yc: Add Lenovo Yoga Slim 7 Pro X to quirks table + - arm64: dts: qcom: sc7280-idp: correct ADC channel node name and unit address + - ARM: orion: fix include path + - hid: topre: Add driver fixing report descriptor + - [Config] updateconfigs for HID_TOPRE + - fsi: master-ast-cf: Fix missing of_node_put in fsi_master_acf_probe + - dmaengine: dw-edma: Remove runtime PM support + - HID: playstation: stop DualSense output work on remove. + - HID: playstation: add initial DualSense Edge controller support + - net: flag sockets supporting msghdr originated zerocopy + - drm/amd/pm: disable cstate feature for gpu reset scenario + - dm clone: Fix typo in block_device format specifier + + -- Luke Nowakowski-Krijger Fri, 06 Jan 2023 07:01:36 -0800 + +linux (5.19.0-29.30) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-29.30 -proposed tracker (LP: #1999799) + + * CVE-2022-3643 + - xen/netback: Ensure protocol headers don't fall in the non-linear area + + * CVE-2022-45934 + - Bluetooth: L2CAP: Fix u8 overflow + + * CVE-2022-4378 + - proc: proc_skip_spaces() shouldn't think it is working on C strings + - proc: avoid integer type confusion in get_proc_long + + * CVE-2022-42896 + - Bluetooth: L2CAP: Fix accepting connection request for invalid SPSM + - Bluetooth: L2CAP: Fix l2cap_global_chan_by_psm + + -- Thadeu Lima de Souza Cascardo Wed, 04 Jan 2023 08:36:13 -0300 + +linux (5.19.0-28.29) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-28.29 -proposed tracker (LP: #1999746) + + * mm:vma05 in ubuntu_ltp fails with '[vdso] bug not patched' on kinetic/linux + 5.19.0-27.28 (LP: #1999094) + - fix coredump breakage + + -- Stefan Bader Thu, 15 Dec 2022 10:11:16 +0100 + +linux (5.19.0-27.28) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-27.28 -proposed tracker (LP: #1997794) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/2022.11.14) + + * selftests/.../nat6to4 breaks the selftests build (LP: #1996536) + - [Config] Disable selftests/net/bpf/nat6to4 + + * Expose built-in trusted and revoked certificates (LP: #1996892) + - [Packaging] Expose built-in trusted and revoked certificates + + * support for same series backports versioning numbers (LP: #1993563) + - [Packaging] sameport -- add support for sameport versioning + + * Add cs35l41 firmware loading support (LP: #1995957) + - ASoC: cs35l41: Move cs35l41 exit hibernate function into shared code + - ASoC: cs35l41: Add common cs35l41 enter hibernate function + - ASoC: cs35l41: Do not print error when waking from hibernation + - ALSA: hda: cs35l41: Don't dereference fwnode handle + - ALSA: hda: cs35l41: Allow compilation test on non-ACPI configurations + - ALSA: hda: cs35l41: Drop wrong use of ACPI_PTR() + - ALSA: hda: cs35l41: Consolidate selections under SND_HDA_SCODEC_CS35L41 + - ALSA: hda: hda_cs_dsp_ctl: Add Library to support CS_DSP ALSA controls + - ALSA: hda: hda_cs_dsp_ctl: Add apis to write the controls directly + - ALSA: hda: cs35l41: Save codec object inside component struct + - ALSA: hda: cs35l41: Add initial DSP support and firmware loading + - ALSA: hda: cs35l41: Save Subsystem ID inside CS35L41 Driver + - ALSA: hda: cs35l41: Support reading subsystem id from ACPI + - ALSA: hda: cs35l41: Support multiple load paths for firmware + - ALSA: hda: cs35l41: Support Speaker ID for laptops + - ALSA: hda: cs35l41: Support Hibernation during Suspend + - ALSA: hda: cs35l41: Read Speaker Calibration data from UEFI variables + - ALSA: hda: hda_cs_dsp_ctl: Add fw id strings + - ALSA: hda: cs35l41: Add defaulted values into dsp bypass config sequence + - ALSA: hda: cs35l41: Support Firmware switching and reloading + - ALSA: hda: cs35l41: Add module parameter to control firmware load + - Revert "ALSA: hda: cs35l41: Allow compilation test on non-ACPI + configurations" + - ALSA: hda/realtek: More robust component matching for CS35L41 + - [Config] updateconfigs for SND_HDA_CS_DSP_CONTROLS + + * Fibocom WWAN FM350-GL suspend error (notebook not suspend) (LP: #1990700) + - net: wwan: t7xx: Add AP CLDMA + + * Screen cannot turn on after screen off with Matrox G200eW3 [102b:0536] + (LP: #1995573) + - drm/mgag200: Optimize damage clips + - drm/mgag200: Add FB_DAMAGE_CLIPS support + - drm/mgag200: Enable atomic gamma lut update + + * TEE Support for CCP driver (LP: #1991608) + - crypto: ccp: Add support for TEE for PCI ID 0x14CA + + * AMD Cezanne takes 5 minutes to wake up from suspend (LP: #1993715) + - platform/x86/amd: pmc: Read SMU version during suspend on Cezanne systems + + * Fix ath11k deadlock on WCN6855 (LP: #1995041) + - wifi: ath11k: avoid deadlock during regulatory update in + ath11k_regd_update() + + * intel_pmc_core not load on Raptor Lake (LP: #1988461) + - x86/cpu: Add new Raptor Lake CPU model number + - platform/x86/intel: pmc/core: Add Raptor Lake support to pmc core driver + + * [UBUNTU 20.04] boot: Add s390x secure boot trailer (LP: #1996071) + - s390/boot: add secure boot trailer + + * Fix rfkill causing soft blocked wifi (LP: #1996198) + - platform/x86: hp_wmi: Fix rfkill causing soft blocked wifi + + * Support Icicle Kit reference design v2022.10 (LP: #1993148) + - riscv: dts: microchip: icicle: re-jig fabric peripheral addresses + - riscv: dts: microchip: reduce the fic3 clock rate + - riscv: dts: microchip: update memory configuration for v2022.10 + - riscv: dts: microchip: fix fabric i2c reg size + - SAUCE: riscv: dts: microchip: Disable PCIe on the Icicle Kit + + * Fix Turbostat is not working for fam: 6 model: 191: stepping: 2 CPU + (LP: #1991365) + - tools/power turbostat: Add support for RPL-S + + * armhf kernel compiled with gcc-12 fails to boot on pi 3/2 (LP: #1993120) + - [Packaging] Support arch-specific compilers in updateconfigs + + * Kinetic update: v5.19.17 upstream stable release (LP: #1994179) + - Revert "fs: check FMODE_LSEEK to control internal pipe splicing" + - ALSA: oss: Fix potential deadlock at unregistration + - ALSA: rawmidi: Drop register_mutex in snd_rawmidi_free() + - ALSA: usb-audio: Fix potential memory leaks + - ALSA: usb-audio: Fix NULL dererence at error path + - ALSA: hda/realtek: remove ALC289_FIXUP_DUAL_SPK for Dell 5530 + - ALSA: hda/realtek: Correct pin configs for ASUS G533Z + - ALSA: hda/realtek: Add quirk for ASUS GV601R laptop + - ALSA: hda/realtek: Add Intel Reference SSID to support headset keys + - mtd: rawnand: atmel: Unmap streaming DMA mappings + - io_uring/rw: fix unexpected link breakage + - io_uring/net: fix fast_iov assignment in io_setup_async_msg() + - io_uring/net: don't update msg_name if not provided + - io_uring: correct pinned_vm accounting + - hv_netvsc: Fix race between VF offering and VF association message from host + - cifs: destage dirty pages before re-reading them for cache=none + - cifs: Fix the error length of VALIDATE_NEGOTIATE_INFO message + - iio: dac: ad5593r: Fix i2c read protocol requirements + - iio: ltc2497: Fix reading conversion results + - iio: adc: ad7923: fix channel readings for some variants + - iio: pressure: dps310: Refactor startup procedure + - iio: pressure: dps310: Reset chip after timeout + - xhci: dbc: Fix memory leak in xhci_alloc_dbc() + - usb: gadget: uvc: Fix argument to sizeof() in uvc_register_video() + - usb: add quirks for Lenovo OneLink+ Dock + - mmc: core: Add SD card quirk for broken discard + - can: kvaser_usb: Fix use of uninitialized completion + - can: kvaser_usb_leaf: Fix overread with an invalid command + - can: kvaser_usb_leaf: Fix TX queue out of sync after restart + - can: kvaser_usb_leaf: Fix CAN state after restart + - mmc: renesas_sdhi: Fix rounding errors + - mmc: sdhci-tegra: Use actual clock rate for SW tuning correction + - mmc: sdhci-sprd: Fix minimum clock limit + - i2c: designware: Fix handling of real but unexpected device interrupts + - fs: dlm: fix race between test_bit() and queue_work() + - fs: dlm: handle -EBUSY first in lock arg validation + - fs: dlm: fix invalid derefence of sb_lvbptr + - btf: Export bpf_dynptr definition + - HID: multitouch: Add memory barriers + - quota: Check next/prev free block number after reading from quota file + - platform/chrome: cros_ec_proto: Update version on GET_NEXT_EVENT failure + - arm64: dts: qcom: sdm845-mtp: correct ADC settle time + - ASoC: wcd9335: fix order of Slimbus unprepare/disable + - ASoC: wcd934x: fix order of Slimbus unprepare/disable + - hwmon: (gsc-hwmon) Call of_node_get() before of_find_xxx API + - net: thunderbolt: Enable DMA paths only after rings are enabled + - regulator: qcom_rpm: Fix circular deferral regression + - arm64: topology: move store_cpu_topology() to shared code + - riscv: topology: fix default topology reporting + - RISC-V: Re-enable counter access from userspace + - RISC-V: Make port I/O string accessors actually work + - parisc: fbdev/stifb: Align graphics memory size to 4MB + - parisc: Fix userspace graphics card breakage due to pgtable special bit + - riscv: vdso: fix NULL deference in vdso_join_timens() when vfork + - riscv: Make VM_WRITE imply VM_READ + - riscv: always honor the CONFIG_CMDLINE_FORCE when parsing dtb + - riscv: Pass -mno-relax only on lld < 15.0.0 + - UM: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK + - nvmem: core: Fix memleak in nvmem_register() + - nvme-multipath: fix possible hang in live ns resize with ANA access + - dmaengine: mxs: use platform_driver_register + - dmaengine: qcom-adm: fix wrong sizeof config in slave_config + - dmaengine: qcom-adm: fix wrong calling convention for prep_slave_sg + - drm/virtio: Check whether transferred 2D BO is shmem + - drm/virtio: Unlock reservations on virtio_gpu_object_shmem_init() error + - drm/virtio: Unlock reservations on dma_resv_reserve_fences() error + - drm/virtio: Use appropriate atomic state in virtio_gpu_plane_cleanup_fb() + - drm/udl: Restore display mode on resume + - arm64: mte: move register initialization to C + - [Config] updateconfigs for ARM64_ERRATUM_2441007 + - arm64: errata: Add Cortex-A55 to the repeat tlbi list + - clocksource/drivers/arm_arch_timer: Fix CNTPCT_LO and CNTVCT_LO value + - mm/hugetlb: fix races when looking up a CONT-PTE/PMD size hugetlb page + - mm/damon: validate if the pmd entry is present before accessing + - mm/uffd: fix warning without PTE_MARKER_UFFD_WP compiled in + - mm/mmap: undo ->mmap() when arch_validate_flags() fails + - xen/gntdev: Prevent leaking grants + - xen/gntdev: Accommodate VMA splitting + - PCI: Sanitise firmware BAR assignments behind a PCI-PCI bridge + - serial: cpm_uart: Don't request IRQ too early for console port + - serial: stm32: Deassert Transmit Enable on ->rs485_config() + - serial: 8250: Let drivers request full 16550A feature probing + - serial: 8250: Request full 16550A feature probing for OxSemi PCIe devices + - cpufreq: qcom-cpufreq-hw: Fix uninitialized throttled_freq warning + - powercap: intel_rapl: Use standard Energy Unit for SPR Dram RAPL domain + - powerpc/Kconfig: Fix non existing CONFIG_PPC_FSL_BOOKE + - powerpc/boot: Explicitly disable usage of SPE instructions + - slimbus: qcom-ngd: use correct error in message of pdr_add_lookup() failure + - slimbus: qcom-ngd: cleanup in probe error path + - scsi: lpfc: Rework MIB Rx Monitor debug info logic + - scsi: qedf: Populate sysfs attributes for vport + - gpio: rockchip: request GPIO mux to pinctrl when setting direction + - pinctrl: rockchip: add pinmux_ops.gpio_set_direction callback + - fbdev: smscufx: Fix use-after-free in ufx_ops_open() + - hwrng: core - let sleep be interrupted when unregistering hwrng + - smb3: do not log confusing message when server returns no network interfaces + - ksmbd: fix incorrect handling of iterate_dir + - ksmbd: fix endless loop when encryption for response fails + - ksmbd: Fix wrong return value and message length check in smb2_ioctl() + - ksmbd: Fix user namespace mapping + - fs: record I_DIRTY_TIME even if inode already has I_DIRTY_INODE + - btrfs: fix alignment of VMA for memory mapped files on THP + - btrfs: enhance unsupported compat RO flags handling + - btrfs: fix race between quota enable and quota rescan ioctl + - btrfs: fix missed extent on fsync after dropping extent maps + - btrfs: set generation before calling btrfs_clean_tree_block in + btrfs_init_new_buffer + - f2fs: fix wrong continue condition in GC + - f2fs: complete checkpoints during remount + - f2fs: flush pending checkpoints when freezing super + - f2fs: increase the limit for reserve_root + - f2fs: fix to do sanity check on destination blkaddr during recovery + - f2fs: fix to do sanity check on summary info + - jbd2: wake up journal waiters in FIFO order, not LIFO + - jbd2: fix potential buffer head reference count leak + - jbd2: fix potential use-after-free in jbd2_fc_wait_bufs + - jbd2: add miss release buffer head in fc_do_one_pass() + - ext2: Add sanity checks for group and filesystem size + - ext4: avoid crash when inline data creation follows DIO write + - ext4: fix null-ptr-deref in ext4_write_info + - ext4: make ext4_lazyinit_thread freezable + - ext4: fix check for block being out of directory size + - ext4: don't increase iversion counter for ea_inodes + - ext4: unconditionally enable the i_version counter + - ext4: ext4_read_bh_lock() should submit IO if the buffer isn't uptodate + - ext4: place buffer head allocation before handle start + - ext4: fix i_version handling in ext4 + - ext4: fix dir corruption when ext4_dx_add_entry() fails + - ext4: fix miss release buffer head in ext4_fc_write_inode + - ext4: fix potential memory leak in ext4_fc_record_modified_inode() + - ext4: fix potential memory leak in ext4_fc_record_regions() + - ext4: update 'state->fc_regions_size' after successful memory allocation + - livepatch: fix race between fork and KLP transition + - ftrace: Properly unset FTRACE_HASH_FL_MOD + - ftrace: Still disable enabled records marked as disabled + - ring-buffer: Allow splice to read previous partially read pages + - ring-buffer: Have the shortest_full queue be the shortest not longest + - ring-buffer: Check pending waiters when doing wake ups as well + - ring-buffer: Add ring_buffer_wake_waiters() + - ring-buffer: Fix race between reset page and reading page + - tracing: Disable interrupt or preemption before acquiring arch_spinlock_t + - tracing: Wake up ring buffer waiters on closing of the file + - tracing: Wake up waiters when tracing is disabled + - tracing: Add ioctl() to force ring buffer waiters to wake up + - tracing: Do not free snapshot if tracer is on cmdline + - tracing: Move duplicate code of trace_kprobe/eprobe.c into header + - tracing: Add "(fault)" name injection to kernel probes + - tracing: Fix reading strings from synthetic events + - rpmsg: char: Avoid double destroy of default endpoint + - thunderbolt: Explicitly enable lane adapter hotplug events at startup + - efi: libstub: drop pointless get_memory_map() call + - media: cedrus: Set the platform driver data earlier + - media: cedrus: Fix endless loop in cedrus_h265_skip_bits() + - blk-throttle: fix that io throttle can only work for single bio + - blk-wbt: call rq_qos_add() after wb_normal is initialized + - KVM: x86/emulator: Fix handing of POP SS to correctly set interruptibility + - KVM: nVMX: Unconditionally purge queued/injected events on nested "exit" + - KVM: nVMX: Don't propagate vmcs12's PERF_GLOBAL_CTRL settings to vmcs02 + - KVM: VMX: Drop bits 31:16 when shoving exception error code into VMCS + - staging: greybus: audio_helper: remove unused and wrong debugfs usage + - drm/nouveau/kms/nv140-: Disable interlacing + - drm/nouveau: fix a use-after-free in nouveau_gem_prime_import_sg_table() + - drm/i915/gt: Use i915_vm_put on ppgtt_create error paths + - drm/i915: Fix watermark calculations for gen12+ RC CCS modifier + - drm/i915: Fix watermark calculations for gen12+ MC CCS modifier + - drm/i915: Fix watermark calculations for gen12+ CCS+CC modifier + - drm/i915: Fix watermark calculations for DG2 CCS modifiers + - drm/i915: Fix watermark calculations for DG2 CCS+CC modifier + - drm/amd/display: Fix vblank refcount in vrr transition + - drm/amd/display: explicitly disable psr_feature_enable appropriately + - smb3: must initialize two ACL struct fields to zero + - selinux: use "grep -E" instead of "egrep" + - ima: fix blocking of security.ima xattrs of unsupported algorithms + - userfaultfd: open userfaultfds with O_RDONLY + - ntfs3: rework xattr handlers and switch to POSIX ACL VFS helpers + - thermal: cpufreq_cooling: Check the policy first in + cpufreq_cooling_register() + - cpufreq: amd-pstate: Fix initial highest_perf value + - sh: machvec: Use char[] for section boundaries + - MIPS: SGI-IP30: Fix platform-device leak in bridge_platform_create() + - MIPS: SGI-IP27: Fix platform-device leak in bridge_platform_create() + - erofs: fix order >= MAX_ORDER warning due to crafted negative i_size + - erofs: use kill_anon_super() to kill super in fscache mode + - ARM: 9243/1: riscpc: Unbreak the build + - ARM: 9244/1: dump: Fix wrong pg_level in walk_pmd() + - ARM: 9247/1: mm: set readonly for MT_MEMORY_RO with ARM_LPAE + - ACPI: PCC: Release resources on address space setup failure path + - ACPI: PCC: replace wait_for_completion() + - ACPI: PCC: Fix Tx acknowledge in the PCC address space handler + - objtool: Preserve special st_shndx indexes in elf_update_symbol + - nfsd: Fix a memory leak in an error handling path + - NFSD: Fix handling of oversized NFSv4 COMPOUND requests + - x86/paravirt: add extra clobbers with ZERO_CALL_USED_REGS enabled + - wifi: rtlwifi: 8192de: correct checking of IQK reload + - wifi: ath10k: add peer map clean up for peer delete in ath10k_sta_state() + - bpf: Fix non-static bpf_func_proto struct definitions + - bpf: convert cgroup_bpf.progs to hlist + - bpf: Cleanup check_refcount_ok + - leds: lm3601x: Don't use mutex after it was destroyed + - tsnep: Fix TSNEP_INFO_TX_TIME register define + - bpf: Fix reference state management for synchronous callbacks + - wifi: cfg80211: get correct AP link chandef + - wifi: mac80211: allow bw change during channel switch in mesh + - bpftool: Fix a wrong type cast in btf_dumper_int + - audit: explicitly check audit_context->context enum value + - audit: free audit_proctitle only on task exit + - esp: choose the correct inner protocol for GSO on inter address family + tunnels + - spi: mt7621: Fix an error message in mt7621_spi_probe() + - x86/resctrl: Fix to restore to original value when re-enabling hardware + prefetch register + - xsk: Fix backpressure mechanism on Tx + - selftests/xsk: Add missing close() on netns fd + - bpf: Disable preemption when increasing per-cpu map_locked + - bpf: Propagate error from htab_lock_bucket() to userspace + - wifi: ath11k: Fix incorrect QMI message ID mappings + - bpf: Use this_cpu_{inc|dec|inc_return} for bpf_task_storage_busy + - bpf: Use this_cpu_{inc_return|dec} for prog->active + - Bluetooth: btusb: mediatek: fix WMT failure during runtime suspend + - wifi: rtw89: pci: fix interrupt stuck after leaving low power mode + - wifi: rtw89: pci: correct TX resource checking in low power mode + - wifi: rtl8xxxu: tighten bounds checking in rtl8xxxu_read_efuse() + - wifi: wfx: prevent underflow in wfx_send_pds() + - wifi: rtw88: add missing destroy_workqueue() on error path in + rtw_core_init() + - selftests/xsk: Avoid use-after-free on ctx + - spi: qup: add missing clk_disable_unprepare on error in spi_qup_resume() + - spi: qup: add missing clk_disable_unprepare on error in + spi_qup_pm_resume_runtime() + - wifi: rtl8xxxu: Fix skb misuse in TX queue selection + - spi: meson-spicc: do not rely on busy flag in pow2 clk ops + - bpf: btf: fix truncated last_member_type_id in btf_struct_resolve + - wifi: rtl8xxxu: gen2: Fix mistake in path B IQ calibration + - wifi: rtl8xxxu: Remove copy-paste leftover in gen2_update_rate_mask + - wifi: mt76: mt7921e: fix race issue between reset and suspend/resume + - wifi: mt76: mt7921s: fix race issue between reset and suspend/resume + - wifi: mt76: mt7921u: fix race issue between reset and suspend/resume + - wifi: mt76: sdio: fix the deadlock caused by sdio->stat_work + - wifi: mt76: sdio: poll sta stat when device transmits data + - wifi: mt76: sdio: fix transmitting packet hangs + - wifi: mt76: mt7615: add mt7615_mutex_acquire/release in + mt7615_sta_set_decap_offload + - wifi: mt76: mt7915: fix possible unaligned access in + mt7915_mac_add_twt_setup + - wifi: mt76: connac: fix possible unaligned access in + mt76_connac_mcu_add_nested_tlv + - wifi: mt76: mt7921: add mt7921_mutex_acquire at mt7921_[start, stop]_ap + - wifi: mt76: mt7921: add mt7921_mutex_acquire at mt7921_sta_set_decap_offload + - wifi: mt76: mt7915: fix mcs value in ht mode + - wifi: mt76: mt7915: do not check state before configuring implicit beamform + - wifi: mt76: mt7921e: fix rmmod crash in driver reload test + - Bluetooth: RFCOMM: Fix possible deadlock on socket shutdown/release + - net: fs_enet: Fix wrong check in do_pd_setup + - bpf: Ensure correct locking around vulnerable function find_vpid() + - wifi: ath11k: Include STA_KEEPALIVE_ARP_RESPONSE TLV header by default + - Bluetooth: hci_{ldisc,serdev}: check percpu_init_rwsem() failure + - netfilter: conntrack: fix the gc rescheduling delay + - netfilter: conntrack: revisit the gc initial rescheduling bias + - flow_dissector: Do not count vlan tags inside tunnel payload + - wifi: ath11k: fix failed to find the peer with peer_id 0 when disconnected + - wifi: ath11k: fix number of VHT beamformee spatial streams + - mips: dts: ralink: mt7621: fix external phy on GB-PC2 + - x86/microcode/AMD: Track patch allocation size explicitly + - wifi: ath11k: fix peer addition/deletion error on sta band migration + - x86/cpu: Include the header of init_ia32_feat_ctl()'s prototype + - spi: cadence-quadspi: Fix PM disable depth imbalance in cqspi_probe + - spi: dw: Fix PM disable depth imbalance in dw_spi_bt1_probe + - spi/omap100k:Fix PM disable depth imbalance in omap1_spi100k_probe + - skmsg: Schedule psock work if the cached skb exists on the psock + - cw1200: fix incorrect check to determine if no element is found in list + - i2c: mlxbf: support lock mechanism + - Bluetooth: hci_core: Fix not handling link timeouts propertly + - xfrm: Reinject transport-mode packets through workqueue + - netfilter: nft_fib: Fix for rpath check with VRF devices + - spi: s3c64xx: Fix large transfers with DMA + - wifi: rtl8xxxu: gen2: Enable 40 MHz channel width + - wifi: rtl8xxxu: Fix AIFS written to REG_EDCA_*_PARAM + - vhost/vsock: Use kvmalloc/kvfree for larger packets. + - eth: alx: take rtnl_lock on resume + - sctp: handle the error returned from sctp_auth_asoc_init_active_key + - tcp: fix tcp_cwnd_validate() to not forget is_cwnd_limited + - spi: Ensure that sg_table won't be used after being freed + - Bluetooth: hci_sync: Fix not indicating power state + - hwmon: (pmbus/mp2888) Fix sensors readouts for MPS Multi-phase mp2888 + controller + - net: rds: don't hold sock lock when cancelling work from + rds_tcp_reset_callbacks() + - af_unix: Fix memory leaks of the whole sk due to OOB skb. + - net: prestera: acl: Add check for kmemdup + - eth: lan743x: reject extts for non-pci11x1x devices + - bnx2x: fix potential memory leak in bnx2x_tpa_stop() + - eth: sp7021: fix use after free bug in spl2sw_nvmem_get_mac_address + - net: wwan: iosm: Call mutex_init before locking it + - net/ieee802154: reject zero-sized raw_sendmsg() + - once: add DO_ONCE_SLOW() for sleepable contexts + - net: mvpp2: fix mvpp2 debugfs leak + - drm: bridge: adv7511: fix CEC power down control register offset + - drm: bridge: adv7511: unregister cec i2c device after cec adapter + - drm/bridge: Avoid uninitialized variable warning + - drm/mipi-dsi: Detach devices when removing the host + - drm/bridge: it6505: Power on downstream device in .atomic_enable + - drm/virtio: Correct drm_gem_shmem_get_sg_table() error handling + - drm/bridge: tc358767: Add of_node_put() when breaking out of loop + - drm/bridge: parade-ps8640: Fix regulator supply order + - drm/dp_mst: fix drm_dp_dpcd_read return value checks + - drm:pl111: Add of_node_put() when breaking out of + for_each_available_child_of_node() + - ASoC: mt6359: fix tests for platform_get_irq() failure + - drm/msm: Make .remove and .shutdown HW shutdown consistent + - platform/chrome: fix double-free in chromeos_laptop_prepare() + - platform/chrome: fix memory corruption in ioctl + - drm/virtio: Fix same-context optimization + - ASoC: soc-pcm.c: call __soc_pcm_close() in soc_pcm_close() + - ASoC: tas2764: Allow mono streams + - ASoC: tas2764: Drop conflicting set_bias_level power setting + - ASoC: tas2764: Fix mute/unmute + - platform/x86: msi-laptop: Fix old-ec check for backlight registering + - platform/x86: msi-laptop: Fix resource cleanup + - platform/chrome: cros_ec_typec: Correct alt mode index + - drm/amdgpu: add missing pci_disable_device() in + amdgpu_pmops_runtime_resume() + - drm/bridge: megachips: Fix a null pointer dereference bug + - drm/bridge: it6505: Fix the order of DP_SET_POWER commands + - ASoC: rsnd: Add check for rsnd_mod_power_on + - ASoC: wm_adsp: Handle optional legacy support + - ALSA: hda: beep: Simplify keep-power-at-enable behavior + - drm/virtio: set fb_modifiers_not_supported + - drm/bochs: fix blanking + - ASoC: SOF: mediatek: mt8195: Import namespace SND_SOC_SOF_MTK_COMMON + - drm/omap: dss: Fix refcount leak bugs + - drm/amdgpu: Fix memory leak in hpd_rx_irq_create_workqueue() + - mmc: au1xmmc: Fix an error handling path in au1xmmc_probe() + - ASoC: eureka-tlv320: Hold reference returned from of_find_xxx API + - drm/msm: lookup the ICC paths in both mdp5/dpu and mdss devices + - drm/msm/dpu: index dpu_kms->hw_vbif using vbif_idx + - drm/msm/dp: correct 1.62G link rate at dp_catalog_ctrl_config_msa() + - ALSA: usb-audio: Properly refcounting clock rate + - drm/vmwgfx: Fix memory leak in vmw_mksstat_add_ioctl() + - virtio-gpu: fix shift wrapping bug in virtio_gpu_fence_event_create() + - ASoC: codecs: tx-macro: fix kcontrol put + - ASoC: da7219: Fix an error handling path in da7219_register_dai_clks() + - ALSA: dmaengine: increment buffer pointer atomically + - mmc: wmt-sdmmc: Fix an error handling path in wmt_mci_probe() + - ASoC: stm32: dfsdm: Fix PM disable depth imbalance in stm32_adfsdm_probe + - ASoC: stm32: spdifrx: Fix PM disable depth imbalance in stm32_spdifrx_probe + - ASoC: stm: Fix PM disable depth imbalance in stm32_i2s_probe + - ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe + - ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe + - ASoC: wm5102: Fix PM disable depth imbalance in wm5102_probe + - ASoC: mt6660: Fix PM disable depth imbalance in mt6660_i2c_probe + - ALSA: hda/hdmi: Don't skip notification handling during PM operation + - memory: pl353-smc: Fix refcount leak bug in pl353_smc_probe() + - memory: of: Fix refcount leak bug in of_get_ddr_timings() + - memory: of: Fix refcount leak bug in of_lpddr3_get_ddr_timings() + - locks: fix TOCTOU race when granting write lease + - soc: qcom: smsm: Fix refcount leak bugs in qcom_smsm_probe() + - soc: qcom: smem_state: Add refcounting for the 'state->of_node' + - ARM: dts: imx6qdl-kontron-samx6i: hook up DDC i2c bus + - arm64: dts: renesas: r9a07g044: Fix SCI{Rx,Tx} interrupt types + - arm64: dts: renesas: r9a07g054: Fix SCI{Rx,Tx} interrupt types + - arm64: dts: renesas: r9a07g043: Fix SCI{Rx,Tx} interrupt types + - dt-bindings: clock: exynosautov9: correct clock numbering of peric0/c1 + - ARM: dts: turris-omnia: Fix mpp26 pin name and comment + - ARM: dts: kirkwood: lsxl: fix serial line + - ARM: dts: kirkwood: lsxl: remove first ethernet port + - ia64: export memory_add_physaddr_to_nid to fix cxl build error + - soc/tegra: fuse: Drop Kconfig dependency on TEGRA20_APB_DMA + - arm64: dts: ti: k3-j7200: fix main pinmux range + - ARM: dts: exynos: correct s5k6a3 reset polarity on Midas family + - ARM: Drop CMDLINE_* dependency on ATAGS + - ext4: don't run ext4lazyinit for read-only filesystems + - arm64: ftrace: fix module PLTs with mcount + - ARM: dts: exynos: fix polarity of VBUS GPIO of Origen + - iomap: iomap: fix memory corruption when recording errors during writeback + - iio: adc: at91-sama5d2_adc: fix AT91_SAMA5D2_MR_TRACKTIM_MAX + - iio: adc: at91-sama5d2_adc: check return status for pressure and touch + - iio: adc: at91-sama5d2_adc: lock around oversampling and sample freq + - iio: adc: at91-sama5d2_adc: disable/prepare buffer on suspend/resume + - iio: inkern: only release the device node when done with it + - iio: inkern: fix return value in devm_of_iio_channel_get_by_name() + - iio: ABI: Fix wrong format of differential capacitance channel ABI. + - iio: magnetometer: yas530: Change data type of hard_offsets to signed + - RDMA/mlx5: Don't compare mkey tags in DEVX indirect mkey + - usb: common: debug: Check non-standard control requests + - clk: meson: Hold reference returned by of_get_parent() + - clk: st: Hold reference returned by of_get_parent() + - clk: oxnas: Hold reference returned by of_get_parent() + - clk: qoriq: Hold reference returned by of_get_parent() + - clk: berlin: Add of_node_put() for of_get_parent() + - clk: sprd: Hold reference returned by of_get_parent() + - clk: tegra: Fix refcount leak in tegra210_clock_init + - clk: tegra: Fix refcount leak in tegra114_clock_init + - clk: tegra20: Fix refcount leak in tegra20_clock_init + - clk: samsung: exynosautov9: correct register offsets of peric0/c1 + - HSI: omap_ssi: Fix refcount leak in ssi_probe + - HSI: omap_ssi_port: Fix dma_map_sg error check + - clk: qcom: gcc-sdm660: Use floor ops for SDCC1 clock + - media: exynos4-is: fimc-is: Add of_node_put() when breaking out of loop + - tty: xilinx_uartps: Fix the ignore_status + - media: amphion: insert picture startcode after seek for vc1g format + - media: amphion: adjust the encoder's value range of gop size + - media: amphion: don't change the colorspace reported by decoder. + - media: amphion: fix a bug that vpu core may not resume after suspend + - media: meson: vdec: add missing clk_disable_unprepare on error in + vdec_hevc_start() + - media: uvcvideo: Fix memory leak in uvc_gpio_parse + - media: uvcvideo: Use entity get_cur in uvc_ctrl_set + - media: xilinx: vipp: Fix refcount leak in xvip_graph_dma_init + - RDMA/rxe: Fix "kernel NULL pointer dereference" error + - RDMA/rxe: Fix the error caused by qp->sk + - clk: mediatek: clk-mt8195-vdo0: Set rate on vdo0_dp_intf0_dp_intf's parent + - clk: mediatek: clk-mt8195-vdo1: Reparent and set rate on vdo1_dpintf's + parent + - clk: mediatek: mt8195-infra_ao: Set pwrmcu clocks as critical + - misc: ocxl: fix possible refcount leak in afu_ioctl() + - fpga: prevent integer overflow in dfl_feature_ioctl_set_irq() + - phy: rockchip-inno-usb2: Return zero after otg sync + - dmaengine: idxd: avoid deadlock in process_misc_interrupts() + - dmaengine: hisilicon: Disable channels when unregister hisi_dma + - dmaengine: hisilicon: Fix CQ head update + - dmaengine: hisilicon: Add multi-thread support for a DMA channel + - usb: gadget: f_fs: stricter integer overflow checks + - dyndbg: fix static_branch manipulation + - dyndbg: fix module.dyndbg handling + - dyndbg: let query-modname override actual module name + - dyndbg: drop EXPORTed dynamic_debug_exec_queries + - clk: qcom: sm6115: Select QCOM_GDSC + - mtd: devices: docg3: check the return value of devm_ioremap() in the probe + - remoteproc: Harden rproc_handle_vdev() against integer overflow + - phy: amlogic: phy-meson-axg-mipi-pcie-analog: Hold reference returned by + of_get_parent() + - phy: phy-mtk-tphy: fix the phy type setting issue + - mtd: rawnand: intel: Read the chip-select line from the correct OF node + - mtd: rawnand: intel: Remove undocumented compatible string + - mtd: rawnand: fsl_elbc: Fix none ECC mode + - RDMA/irdma: Align AE id codes to correct flush code and event + - RDMA/irdma: Validate udata inlen and outlen + - RDMA/srp: Fix srp_abort() + - RDMA/siw: Always consume all skbuf data in sk_data_ready() upcall. + - RDMA/siw: Fix QP destroy to wait for all references dropped. + - ata: fix ata_id_sense_reporting_enabled() and ata_id_has_sense_reporting() + - ata: fix ata_id_has_devslp() + - ata: fix ata_id_has_ncq_autosense() + - ata: fix ata_id_has_dipm() + - mtd: rawnand: meson: fix bit map use in meson_nfc_ecc_correct() + - md/raid5: Ensure stripe_fill happens on non-read IO with journal + - md/raid5: Remove unnecessary bio_put() in raid5_read_one_chunk() + - RDMA/cm: Use SLID in the work completion as the DLID in responder side + - IB: Set IOVA/LENGTH on IB_MR in core/uverbs layers + - xhci: Don't show warning for reinit on known broken suspend + - usb: gadget: function: fix dangling pnp_string in f_printer.c + - usb: dwc3: core: fix some leaks in probe + - drivers: serial: jsm: fix some leaks in probe + - serial: 8250: Toggle IER bits on only after irq has been set up + - tty: serial: fsl_lpuart: disable dma rx/tx use flags in lpuart_dma_shutdown + - phy: qualcomm: call clk_disable_unprepare in the error handling + - staging: vt6655: fix some erroneous memory clean-up loops + - slimbus: qcom-ngd-ctrl: allow compile testing without QCOM_RPROC_COMMON + - slimbus: qcom-ngd: Add error handling in of_qcom_slim_ngd_register + - firmware: google: Test spinlock on panic path to avoid lockups + - serial: 8250: Fix restoring termios speed after suspend + - scsi: libsas: Fix use-after-free bug in smp_execute_task_sg() + - scsi: pm8001: Fix running_req for internal abort commands + - scsi: iscsi: Rename iscsi_conn_queue_work() + - scsi: iscsi: Add recv workqueue helpers + - scsi: iscsi: Run recv path from workqueue + - scsi: iscsi: iscsi_tcp: Fix null-ptr-deref while calling getpeername() + - clk: qcom: apss-ipq6018: mark apcs_alias0_core_clk as critical + - clk: qcom: gcc-sm6115: Override default Alpha PLL regs + - RDMA/rxe: Fix resize_finish() in rxe_queue.c + - fsi: core: Check error number after calling ida_simple_get + - mfd: intel_soc_pmic: Fix an error handling path in + intel_soc_pmic_i2c_probe() + - mfd: fsl-imx25: Fix an error handling path in mx25_tsadc_setup_irq() + - mfd: lp8788: Fix an error handling path in lp8788_probe() + - mfd: lp8788: Fix an error handling path in lp8788_irq_init() and + lp8788_irq_init() + - mfd: fsl-imx25: Fix check for platform_get_irq() errors + - mfd: sm501: Add check for platform_driver_register() + - mfd: da9061: Fix Failed to set Two-Wire Bus Mode. + - clk: mediatek: mt8183: mfgcfg: Propagate rate changes to parent + - clk: mediatek: clk-mt8195-mfg: Reparent mfg_bg3d and propagate rate changes + - clk: mediatek: fix unregister function in mtk_clk_register_dividers cleanup + - clk: mediatek: Migrate remaining clk_unregister_*() to clk_hw_unregister_*() + - dmaengine: ioat: stop mod_timer from resurrecting deleted timer in + __cleanup() + - usb: mtu3: fix failed runtime suspend in host only mode + - spmi: pmic-arb: correct duplicate APID to PPID mapping logic + - clk: vc5: Fix 5P49V6901 outputs disabling when enabling FOD + - clk: baikal-t1: Fix invalid xGMAC PTP clock divider + - clk: baikal-t1: Add shared xGMAC ref/ptp clocks internal parent + - clk: baikal-t1: Add SATA internal ref clock buffer + - clk: bcm2835: fix bcm2835_clock_rate_from_divisor declaration + - clk: imx: scu: fix memleak on platform_device_add() fails + - clk: ti: Balance of_node_get() calls for of_find_node_by_name() + - clk: ti: dra7-atl: Fix reference leak in of_dra7_atl_clk_probe + - clk: ast2600: BCLK comes from EPLL + - mailbox: mpfs: fix handling of the reg property + - mailbox: mpfs: account for mbox offsets while sending + - mailbox: bcm-ferxrm-mailbox: Fix error check for dma_map_sg + - ipc: mqueue: fix possible memory leak in init_mqueue_fs() + - powerpc/configs: Properly enable PAPR_SCM in pseries_defconfig + - powerpc/math_emu/efp: Include module.h + - powerpc/sysdev/fsl_msi: Add missing of_node_put() + - powerpc/pci_dn: Add missing of_node_put() + - powerpc/powernv: add missing of_node_put() in opal_export_attrs() + - cpuidle: riscv-sbi: Fix CPU_PM_CPU_IDLE_ENTER_xyz() macro usage + - powerpc: Fix fallocate and fadvise64_64 compat parameter combination + - x86/hyperv: Fix 'struct hv_enlightened_vmcs' definition + - powerpc/64s: Fix GENERIC_CPU build flags for PPC970 / G5 + - powerpc/64: mark irqs hard disabled in boot paca + - powerpc/64/interrupt: Fix return to masked context after hard-mask irq + becomes pending + - powerpc: Fix SPE Power ISA properties for e500v1 platforms + - powerpc/kprobes: Fix null pointer reference in arch_prepare_kprobe() + - powerpc/pseries/vas: Pass hw_cpu_id to node associativity HCALL + - crypto: sahara - don't sleep when in softirq + - crypto: hisilicon/zip - fix mismatch in get/set sgl_sge_nr + - hwrng: arm-smccc-trng - fix NO_ENTROPY handling + - crypto: ccp - Fail the PSP initialization when writing psp data file failed + - cgroup: Honor caller's cgroup NS when resolving path + - hwrng: imx-rngc - Moving IRQ handler registering after + imx_rngc_irq_mask_clear() + - crypto: qat - fix default value of WDT timer + - crypto: hisilicon/qm - fix missing put dfx access + - cgroup/cpuset: Enable update_tasks_cpumask() on top_cpuset + - iommu/omap: Fix buffer overflow in debugfs + - crypto: akcipher - default implementation for setting a private key + - crypto: ccp - Release dma channels before dmaengine unrgister + - crypto: inside-secure - Change swab to swab32 + - crypto: qat - fix DMA transfer direction + - clocksource/drivers/arm_arch_timer: Fix handling of ARM erratum 858921 + - clocksource/drivers/timer-gxp: Add missing error handling in gxp_timer_probe + - cifs: return correct error in ->calc_signature() + - iommu/iova: Fix module config properly + - tracing: kprobe: Fix kprobe event gen test module on exit + - tracing: kprobe: Make gen test module work in arm and riscv + - tracing/osnoise: Fix possible recursive locking in stop_per_cpu_kthreads + - kbuild: remove the target in signal traps when interrupted + - linux/export: use inline assembler to populate symbol CRCs + - kbuild: rpm-pkg: fix breakage when V=1 is used + - crypto: marvell/octeontx - prevent integer overflows + - crypto: cavium - prevent integer overflow loading firmware + - random: schedule jitter credit for next jiffy, not in two jiffies + - thermal/drivers/qcom/tsens-v0_1: Fix MSM8939 fourth sensor hw_id + - ACPI: APEI: do not add task_work to kernel thread to avoid memory leak + - f2fs: fix race condition on setting FI_NO_EXTENT flag + - f2fs: fix to account FS_CP_DATA_IO correctly + - selftest: tpm2: Add Client.__del__() to close /dev/tpm* handle + - module: tracking: Keep a record of tainted unloaded modules only + - fs: dlm: fix race in lowcomms + - rcu: Avoid triggering strict-GP irq-work when RCU is idle + - rcu: Back off upon fill_page_cache_func() allocation failure + - cpufreq: amd_pstate: fix wrong lowest perf fetch + - ACPI: video: Add Toshiba Satellite/Portege Z830 quirk + - fortify: Fix __compiletime_strlen() under UBSAN_BOUNDS_LOCAL + - ACPI: tables: FPDT: Don't call acpi_os_map_memory() on invalid phys address + - cpufreq: intel_pstate: Add Tigerlake support in no-HWP mode + - MIPS: BCM47XX: Cast memcmp() of function to (void *) + - powercap: intel_rapl: fix UBSAN shift-out-of-bounds issue + - thermal: intel_powerclamp: Use get_cpu() instead of smp_processor_id() to + avoid crash + - ARM: decompressor: Include .data.rel.ro.local + - ACPI: x86: Add a quirk for Dell Inspiron 14 2-in-1 for StorageD3Enable + - x86/entry: Work around Clang __bdos() bug + - NFSD: Return nfserr_serverfault if splice_ok but buf->pages have data + - NFSD: fix use-after-free on source server when doing inter-server copy + - wifi: ath10k: Set tx credit to one for WCN3990 snoc based devices + - wifi: brcmfmac: fix invalid address access when enabling SCAN log level + - bpftool: Clear errno after libcap's checks + - ice: set tx_tstamps when creating new Tx rings via ethtool + - net: ethernet: ti: davinci_mdio: Add workaround for errata i2329 + - openvswitch: Fix double reporting of drops in dropwatch + - openvswitch: Fix overreporting of drops in dropwatch + - tcp: annotate data-race around tcp_md5sig_pool_populated + - x86/mce: Retrieve poison range from hardware + - wifi: ath9k: avoid uninit memory read in ath9k_htc_rx_msg() + - thunderbolt: Add back Intel Falcon Ridge end-to-end flow control workaround + - x86/apic: Don't disable x2APIC if locked + - net: axienet: Switch to 64-bit RX/TX statistics + - net-next: Fix IP_UNICAST_IF option behavior for connected sockets + - xfrm: Update ipcomp_scratches with NULL when freed + - wifi: ath11k: Register shutdown handler for WCN6750 + - rtw89: ser: leave lps with mutex + - iavf: Fix race between iavf_close and iavf_reset_task + - wifi: brcmfmac: fix use-after-free bug in brcmf_netdev_start_xmit() + - Bluetooth: btintel: Mark Intel controller to support LE_STATES quirk + - regulator: core: Prevent integer underflow + - wifi: ath11k: mhi: fix potential memory leak in ath11k_mhi_register() + - wifi: mt76: mt7921: reset msta->airtime_ac while clearing up hw value + - wifi: rtw89: free unused skb to prevent memory leak + - wifi: rtw89: fix rx filter after scan + - Bluetooth: L2CAP: initialize delayed works at l2cap_chan_create() + - Bluetooth: hci_sysfs: Fix attempting to call device_add multiple times + - bnxt_en: replace reset with config timestamps + - selftests/bpf: Free the allocated resources after test case succeeds + - can: bcm: check the result of can_send() in bcm_can_tx() + - wifi: rt2x00: don't run Rt5592 IQ calibration on MT7620 + - wifi: rt2x00: set correct TX_SW_CFG1 MAC register for MT7620 + - wifi: rt2x00: set VGC gain for both chains of MT7620 + - wifi: rt2x00: set SoC wmac clock register + - wifi: rt2x00: correctly set BBP register 86 for MT7620 + - hwmon: (sht4x) do not overflow clamping operation on 32-bit platforms + - net: If sock is dead don't access sock's sk_wq in sk_stream_wait_memory + - bpf: Adjust kprobe_multi entry_ip for CONFIG_X86_KERNEL_IBT + - bpf: use bpf_prog_pack for bpf_dispatcher + - Bluetooth: L2CAP: Fix user-after-free + - i2c: designware-pci: Group AMD NAVI quirk parts together + - drm/nouveau/nouveau_bo: fix potential memory leak in nouveau_bo_alloc() + - drm: Use size_t type for len variable in drm_copy_field() + - drm: Prevent drm_copy_field() to attempt copying a NULL pointer + - drm/komeda: Fix handling of atomic commits in the atomic_commit_tail hook + - gpu: lontium-lt9611: Fix NULL pointer dereference in lt9611_connector_init() + - drm/amd/display: fix overflow on MIN_I64 definition + - udmabuf: Set ubuf->sg = NULL if the creation of sg table fails + - platform/x86: pmc_atom: Improve quirk message to be less cryptic + - drm: bridge: dw_hdmi: only trigger hotplug event on link change + - drm/amdgpu: Skip the program of MMMC_VM_AGP_* in SRIOV on MMHUB v3_0_0 + - drm/admgpu: Skip CG/PG on SOC21 under SRIOV VF + - ALSA: usb-audio: Register card at the last interface + - drm/vc4: vec: Fix timings for VEC modes + - drm: panel-orientation-quirks: Add quirk for Anbernic Win600 + - drm: panel-orientation-quirks: Add quirk for Aya Neo Air + - platform/chrome: cros_ec: Notify the PM of wake events during resume + - platform/x86: hp-wmi: Setting thermal profile fails with 0x06 + - platform/x86: msi-laptop: Change DMI match / alias strings to fix module + autoloading + - ALSA: intel-dspconfig: add ES8336 support for AlderLake-PS + - ASoC: SOF: pci: Change DMI match info to support all Chrome platforms + - ASoC: SOF: add quirk to override topology mclk_id + - drm/amdgpu: SDMA update use unlocked iterator + - drm/amd/display: correct hostvm flag + - drm/amdgpu: fix initial connector audio value + - drm/meson: reorder driver deinit sequence to fix use-after-free bug + - drm/meson: explicitly remove aggregate driver at module unload time + - drm/meson: remove drm bridges at aggregate driver unbind time + - drm/dp: Don't rewrite link config when setting phy test pattern + - drm/amd/display: Remove interface for periodic interrupt 1 + - drm/amd/display: polling vid stream status in hpo dp blank + - drm/amdkfd: Fix UBSAN shift-out-of-bounds warning + - ARM: dts: imx6: delete interrupts property if interrupts-extended is set + - ARM: dts: imx7d-sdb: config the max pressure for tsc2046 + - ARM: dts: imx6q: add missing properties for sram + - ARM: dts: imx6dl: add missing properties for sram + - ARM: dts: imx6qp: add missing properties for sram + - ARM: dts: imx6sl: add missing properties for sram + - ARM: dts: imx6sll: add missing properties for sram + - ARM: dts: imx6sx: add missing properties for sram + - ARM: dts: imx6sl: use tabs for code indent + - ARM: dts: imx6sx-udoo-neo: don't use multiple blank lines + - kselftest/arm64: Fix validatation termination record after EXTRA_CONTEXT + - arm64: dts: imx8mm-kontron: Use the VSELECT signal to switch SD card IO + voltage + - arm64: dts: imx8mq-librem5: Add bq25895 as max17055's power supply + - btrfs: dump extra info if one free space cache has more bitmaps than it + should + - btrfs: scrub: properly report super block errors in system log + - btrfs: scrub: try to fix super block errors + - btrfs: don't print information about space cache or tree every remount + - btrfs: call __btrfs_remove_free_space_cache_locked on cache load failure + - ARM: 9233/1: stacktrace: Skip frame pointer boundary check for + call_with_stack() + - ARM: 9234/1: stacktrace: Avoid duplicate saving of exception PC value + - ARM: 9242/1: kasan: Only map modules if CONFIG_KASAN_VMALLOC=n + - clk: zynqmp: Fix stack-out-of-bounds in strncpy` + - media: cx88: Fix a null-ptr-deref bug in buffer_prepare() + - media: platform: fix some double free in meson-ge2d and mtk-jpeg and s5p-mfc + - clk: zynqmp: pll: rectify rate rounding in zynqmp_pll_round_rate + - RDMA/rxe: Delete error messages triggered by incoming Read requests + - usb: host: xhci-plat: suspend and resume clocks + - usb: host: xhci-plat: suspend/resume clks for brcm + - scsi: lpfc: Fix null ndlp ptr dereference in abnormal exit path for GFT_ID + - dmaengine: ti: k3-udma: Reset UDMA_CHAN_RT byte counters to prevent overflow + - scsi: 3w-9xxx: Avoid disabling device if failing to enable it + - nbd: Fix hung when signal interrupts nbd_start_device_ioctl() + - iommu/arm-smmu-v3: Make default domain type of HiSilicon PTT device to + identity + - usb: gadget: uvc: increase worker prio to WQ_HIGHPRI + - power: supply: adp5061: fix out-of-bounds read in adp5061_get_chg_type() + - staging: vt6655: fix potential memory leak + - blk-throttle: prevent overflow while calculating wait time + - ata: libahci_platform: Sanity check the DT child nodes number + - bcache: fix set_at_max_writeback_rate() for multiple attached devices + - soundwire: cadence: Don't overwrite msg->buf during write commands + - soundwire: intel: fix error handling on dai registration issues + - HID: roccat: Fix use-after-free in roccat_read() + - HSI: ssi_protocol: fix potential resource leak in ssip_pn_open() + - HID: nintendo: check analog user calibration for plausibility + - eventfd: guard wake_up in eventfd fs calls as well + - md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d + - usb: host: xhci: Fix potential memory leak in xhci_alloc_stream_info() + - usb: musb: Fix musb_gadget.c rxstate overflow bug + - usb: dwc3: core: add gfladj_refclk_lpm_sel quirk + - arm64: dts: imx8mp: Add snps,gfladj-refclk-lpm-sel quirk to USB nodes + - usb: dwc3: core: Enable GUCTL1 bit 10 for fixing termination error after + resume bug + - Revert "usb: storage: Add quirk for Samsung Fit flash" + - staging: rtl8723bs: fix potential memory leak in rtw_init_drv_sw() + - staging: rtl8723bs: fix a potential memory leak in rtw_init_cmd_priv() + - scsi: tracing: Fix compile error in trace_array calls when TRACING is + disabled + - ext2: Use kvmalloc() for group descriptor array + - nvme: handle effects after freeing the request + - nvme: copy firmware_rev on each init + - nvmet-tcp: add bounds check on Transfer Tag + - usb: idmouse: fix an uninit-value in idmouse_open + - blk-mq: use quiesced elevator switch when reinitializing queues + - hwmon (occ): Retry for checksum failure + - fsi: occ: Prevent use after free + - usb: typec: ucsi: Don't warn on probe deferral + - clk: bcm2835: Make peripheral PLLC critical + - clk: bcm2835: Round UART input clock up + - perf: Skip and warn on unknown format 'configN' attrs + - perf intel-pt: Fix segfault in intel_pt_print_info() with uClibc + - perf intel-pt: Fix system_wide dummy event for hybrid + - mm: hugetlb: fix UAF in hugetlb_handle_userfault + - net: ieee802154: return -EINVAL for unknown addr type + - ALSA: usb-audio: Fix last interface check for registration + - blk-wbt: fix that 'rwb->wc' is always set to 1 in wbt_init() + - [Config] updateconfigs for MDIO_BITBANG + - net: ethernet: ti: davinci_mdio: fix build for mdio bitbang uses + - Revert "drm/amd/display: correct hostvm flag" + - Revert "net/ieee802154: reject zero-sized raw_sendmsg()" + - net/ieee802154: don't warn zero-sized raw_sendmsg() + - powerpc/64s/interrupt: Fix lost interrupts when returning to soft-masked + context + - drm/amd/display: Fix build breakage with CONFIG_DEBUG_FS=n + - kbuild: Add skip_encoding_btf_enum64 option to pahole + - Kconfig.debug: simplify the dependency of DEBUG_INFO_DWARF4/5 + - Kconfig.debug: add toolchain checks for DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT + - [Config] updateconfigs for AS_HAS_NON_CONST_LEB128 + - lib/Kconfig.debug: Add check for non-constant .{s,u}leb128 support to DWARF5 + - HID: uclogic: Add missing suffix for digitalizers + - ext4: continue to expand file system when the target size doesn't reach + - drm/i915: Rename block_size()/block_offset() + - drm/i915/bios: Validate fp_timing terminator presence + - drm/i915/bios: Use hardcoded fp_timing size for generating LFP data pointers + - Linux 5.19.17 + + * Kinetic update: v5.19.16 upstream stable release (LP: #1994164) + - nilfs2: fix use-after-free bug of struct nilfs_root + - nilfs2: fix leak of nilfs_root in case of writer thread creation failure + - nilfs2: replace WARN_ONs by nilfs_error for checkpoint acquisition failure + - ceph: don't truncate file in atomic_open + - nvme-pci: set min_align_mask before calculating max_hw_sectors + - random: restore O_NONBLOCK support + - random: clamp credited irq bits to maximum mixed + - ALSA: hda: Fix position reporting on Poulsbo + - ALSA: hda/realtek: Add quirk for HP Zbook Firefly 14 G9 model + - efi: Correct Macmini DMI match in uefi cert quirk + - USB: serial: qcserial: add new usb-id for Dell branded EM7455 + - Revert "USB: fixup for merge issue with "usb: dwc3: Don't switch OTG -> + peripheral if extcon is present"" + - Revert "usb: dwc3: Don't switch OTG -> peripheral if extcon is present" + - Revert "powerpc/rtas: Implement reentrant rtas call" + - Revert "crypto: qat - reduce size of mapped region" + - random: avoid reading two cache lines on irq randomness + - random: use expired timer rather than wq for mixing fast pool + - mctp: prevent double key removal and unref + - Input: xpad - add supported devices as contributed on github + - Input: xpad - fix wireless 360 controller breaking after suspend + - misc: pci_endpoint_test: Aggregate params checking for xfer + - misc: pci_endpoint_test: Fix pci_endpoint_test_{copy,write,read}() panic + - Linux 5.19.16 + + * Kinetic update: v5.19.15 upstream stable release (LP: #1994078) + - sparc: Unbreak the build + - Makefile.extrawarn: Move -Wcast-function-type-strict to W=1 + - [Config] updateconfigs for CC_HAS_AUTO_VAR_INIT_ZERO_ENABLER + - hardening: Remove Clang's enable flag for -ftrivial-auto-var-init=zero + - docs: update mediator information in CoC docs + - xsk: Inherit need_wakeup flag for shared sockets + - firmware: arm_scmi: Improve checks in the info_get operations + - firmware: arm_scmi: Harden accesses to the sensor domains + - firmware: arm_scmi: Add SCMI PM driver remove routine + - arm64: dts: rockchip: fix upper usb port on BPI-R2-Pro + - dmaengine: xilinx_dma: Fix devm_platform_ioremap_resource error handling + - dmaengine: xilinx_dma: cleanup for fetching xlnx,num-fstores property + - dmaengine: xilinx_dma: Report error in case of dma_set_mask_and_coherent API + failure + - wifi: iwlwifi: don't spam logs with NSS>2 messages + - ARM: dts: fix Moxa SDIO 'compatible', remove 'sdhci' misnomer + - drm/amdgpu/mes: zero the sdma_hqd_mask of 2nd SDMA engine for SDMA 6.0.1 + - scsi: qedf: Fix a UAF bug in __qedf_probe() + - net/ieee802154: fix uninit value bug in dgram_sendmsg + - net: marvell: prestera: add support for for Aldrin2 + - ALSA: hda/hdmi: Fix the converter reuse for the silent stream + - um: Cleanup syscall_handler_t cast in syscalls_32.h + - um: Cleanup compiler warning in arch/x86/um/tls_32.c + - gpio: ftgpio010: Make irqchip immutable + - arch: um: Mark the stack non-executable to fix a binutils warning + - net: atlantic: fix potential memory leak in aq_ndev_close() + - KVM: s390: Pass initialized arg even if unused + - drm/amd/display: Fix double cursor on non-video RGB MPO + - drm/amd/display: Assume an LTTPR is always present on fixed_vs links + - drm/amd/display: update gamut remap if plane has changed + - drm/amd/display: skip audio setup when audio stream is enabled + - drm/amd/display: Fix DP MST timeslot issue when fallback happened + - drm/amd/display: increase dcn315 pstate change latency + - perf/x86/intel: Fix unchecked MSR access error for Alder Lake N + - don't use __kernel_write() on kmap_local_page() + - i2c: davinci: fix PM disable depth imbalance in davinci_i2c_probe + - usb: mon: make mmapped memory read only + - USB: serial: ftdi_sio: fix 300 bps rate for SIO + - gpiolib: acpi: Add support to ignore programming an interrupt + - gpiolib: acpi: Add a quirk for Asus UM325UAZ + - mmc: core: Replace with already defined values for readability + - mmc: core: Terminate infinite loop in SD-UHS voltage switch + - rpmsg: qcom: glink: replace strncpy() with strscpy_pad() + - bpf: Gate dynptr API behind CAP_BPF + - net: ethernet: mtk_eth_soc: fix state in __mtk_foe_entry_clear + - bpf: Fix resetting logic for unreferenced kptrs + - Bluetooth: use hdev->workqueue when queuing hdev->{cmd,ncmd}_timer works + - Revert "clk: ti: Stop using legacy clkctrl names for omap4 and 5" + - Linux 5.19.15 + + * Kinetic update: v5.19.14 upstream stable release (LP: #1994076) + - riscv: make t-head erratas depend on MMU + - tools/perf: Fix out of bound access to cpu mask array + - perf record: Fix cpu mask bit setting for mixed mmaps + - counter: 104-quad-8: Utilize iomap interface + - counter: 104-quad-8: Implement and utilize register structures + - counter: 104-quad-8: Fix skipped IRQ lines during events configuration + - uas: add no-uas quirk for Hiksemi usb_disk + - usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS + - uas: ignore UAS for Thinkplus chips + - usb: typec: ucsi: Remove incorrect warning + - thunderbolt: Explicitly reset plug events delay back to USB4 spec value + - net: usb: qmi_wwan: Add new usb-id for Dell branded EM7455 + - Input: snvs_pwrkey - fix SNVS_HPVIDR1 register address + - can: c_can: don't cache TX messages for C_CAN cores + - clk: ingenic-tcu: Properly enable registers before accessing timers + - wifi: mac80211: ensure vif queues are operational after start + - x86/sgx: Do not fail on incomplete sanitization on premature stop of ksgxd + - frontswap: don't call ->init if no ops are registered + - ARM: dts: integrator: Tag PCI host with device_type + - ntfs: fix BUG_ON in ntfs_lookup_inode_by_name() + - x86/uaccess: avoid check_object_size() in copy_from_user_nmi() + - mm/damon/dbgfs: fix memory leak when using debugfs_lookup() + - net: mt7531: only do PLL once after the reset + - Revert "firmware: arm_scmi: Add clock management to the SCMI power domain" + - powerpc/64s/radix: don't need to broadcast IPI for radix pmd collapse flush + - drm/i915/gt: Restrict forced preemption to the active context + - drm/amdgpu: Add amdgpu suspend-resume code path under SRIOV + - vduse: prevent uninitialized memory accesses + - libata: add ATA_HORKAGE_NOLPM for Pioneer BDR-207M and BDR-205 + - mm: fix BUG splat with kvmalloc + GFP_ATOMIC + - mptcp: factor out __mptcp_close() without socket lock + - mptcp: fix unreleased socket in accept queue + - mmc: moxart: fix 4-bit bus width and remove 8-bit bus width + - mmc: hsq: Fix data stomping during mmc recovery + - mm: gup: fix the fast GUP race against THP collapse + - mm/page_alloc: fix race condition between build_all_zonelists and page + allocation + - mm: prevent page_frag_alloc() from corrupting the memory + - mm/page_isolation: fix isolate_single_pageblock() isolation behavior + - mm: fix dereferencing possible ERR_PTR + - mm/migrate_device.c: flush TLB while holding PTL + - mm/migrate_device.c: add missing flush_cache_page() + - mm/migrate_device.c: copy pte dirty bit to page + - mm: fix madivse_pageout mishandling on non-LRU page + - mm: bring back update_mmu_cache() to finish_fault() + - mm/hugetlb: correct demote page offset logic + - mm,hwpoison: check mm when killing accessing process + - media: dvb_vb2: fix possible out of bound access + - media: rkvdec: Disable H.264 error detection + - media: mediatek: vcodec: Drop platform_get_resource(IORESOURCE_IRQ) + - media: v4l2-compat-ioctl32.c: zero buffer passed to + v4l2_compat_get_array_args() + - ARM: dts: am33xx: Fix MMCHS0 dma properties + - reset: imx7: Fix the iMX8MP PCIe PHY PERST support + - ARM: dts: am5748: keep usb4_tm disabled + - soc: sunxi: sram: Actually claim SRAM regions + - soc: sunxi: sram: Prevent the driver from being unbound + - soc: sunxi: sram: Fix probe function ordering issues + - soc: sunxi: sram: Fix debugfs info for A64 SRAM C + - ASoC: imx-card: Fix refcount issue with of_node_put + - clk: microchip: mpfs: fix clk_cfg array bounds violation + - clk: microchip: mpfs: make the rtc's ahb clock critical + - arm64: dts: qcom: sm8350: fix UFS PHY serdes size + - ASoC: tas2770: Reinit regcache on reset + - drm/bridge: lt8912b: add vsync hsync + - drm/bridge: lt8912b: set hdmi or dvi mode + - drm/bridge: lt8912b: fix corrupted image output + - net: macb: Fix ZynqMP SGMII non-wakeup source resume failure + - Revert "drm: bridge: analogix/dp: add panel prepare/unprepare in + suspend/resume time" + - Input: melfas_mip4 - fix return value check in mip4_probe() + - gpio: mvebu: Fix check for pwm support on non-A8K platforms + - perf parse-events: Break out tracepoint and printing + - perf print-events: Fix "perf list" can not display the PMU prefix for some + hybrid cache events + - perf parse-events: Remove "not supported" hybrid cache events + - usbnet: Fix memory leak in usbnet_disconnect() + - net: sched: act_ct: fix possible refcount leak in tcf_ct_init() + - cxgb4: fix missing unlock on ETHOFLD desc collect fail path + - net/mlxbf_gige: Fix an IS_ERR() vs NULL bug in mlxbf_gige_mdio_probe + - nvme: Fix IOC_PR_CLEAR and IOC_PR_RELEASE ioctls for nvme devices + - wifi: cfg80211: fix MCS divisor value + - wifi: mac80211: fix regression with non-QoS drivers + - wifi: mac80211: fix memory corruption in minstrel_ht_update_rates() + - net: stmmac: power up/down serdes in stmmac_open/release + - net: phy: Don't WARN for PHY_UP state in mdio_bus_phy_resume() + - selftests: Fix the if conditions of in test_extra_filter() + - ice: xsk: change batched Tx descriptor cleaning + - ice: xsk: drop power of 2 ring size restriction for AF_XDP + - vdpa/ifcvf: fix the calculation of queuepair + - virtio-blk: Fix WARN_ON_ONCE in virtio_queue_rq() + - vdpa/mlx5: Fix MQ to support non power of two num queues + - clk: imx: imx6sx: remove the SET_RATE_PARENT flag for QSPI clocks + - drm/i915/gt: Perf_limit_reasons are only available for Gen11+ + - clk: iproc: Do not rely on node name for correct PLL setup + - clk: imx93: drop of_match_ptr + - net: mscc: ocelot: fix tagged VLAN refusal while under a VLAN-unaware bridge + - net: ethernet: mtk_eth_soc: fix mask of RX_DMA_GET_SPORT{,_V2} + - perf test: Fix test case 87 ("perf record tests") for hybrid systems + - perf tests record: Fail the test if the 'errs' counter is not zero + - KVM: x86: Hide IA32_PLATFORM_DCA_CAP[31:0] from the guest + - x86/cacheinfo: Add a cpu_llc_shared_mask() UP variant + - x86/alternative: Fix race in try_get_desc() + - damon/sysfs: fix possible memleak on damon_sysfs_add_target + - Linux 5.19.14 + + * Kinetic update: v5.19.13 upstream stable release (LP: #1994075) + - Linux 5.19.13 + + * Kinetic update: v5.19.12 upstream stable release (LP: #1994074) + - smb3: Move the flush out of smb2_copychunk_range() into its callers + - smb3: fix temporary data corruption in collapse range + - smb3: fix temporary data corruption in insert range + - usb: add quirks for Lenovo OneLink+ Dock + - usb: gadget: udc-xilinx: replace memcpy with memcpy_toio + - smb3: use filemap_write_and_wait_range instead of filemap_write_and_wait + - Revert "usb: add quirks for Lenovo OneLink+ Dock" + - Revert "usb: gadget: udc-xilinx: replace memcpy with memcpy_toio" + - xfrm: fix XFRMA_LASTUSED comment + - block: remove QUEUE_FLAG_DEAD + - block: stop setting the nomerges flags in blk_cleanup_queue + - block: simplify disk shutdown + - scsi: core: Fix a use-after-free + - drivers/base: Fix unsigned comparison to -1 in CPUMAP_FILE_MAX_BYTES + - USB: core: Fix RST error in hub.c + - USB: serial: option: add Quectel BG95 0x0203 composition + - USB: serial: option: add Quectel RM520N + - ALSA: core: Fix double-free at snd_card_new() + - ALSA: hda/tegra: set depop delay for tegra + - ALSA: hda: Fix hang at HD-audio codec unbinding due to refcount saturation + - ALSA: hda: Fix Nvidia dp infoframe + - ALSA: hda: add Intel 5 Series / 3400 PCI DID + - ALSA: hda/realtek: Add quirk for Huawei WRT-WX9 + - ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5570 laptop + - ALSA: hda/realtek: Re-arrange quirk table entries + - ALSA: hda/realtek: Add pincfg for ASUS G513 HP jack + - ALSA: hda/realtek: Add pincfg for ASUS G533Z HP jack + - ALSA: hda/realtek: Add quirk for ASUS GA503R laptop + - ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5530 laptop + - ALSA: hda/realtek: Add a quirk for HP OMEN 16 (8902) mute LED + - iommu/vt-d: Check correct capability for sagaw determination + - exfat: fix overflow for large capacity partition + - btrfs: fix hang during unmount when stopping block group reclaim worker + - btrfs: fix hang during unmount when stopping a space reclaim worker + - btrfs: zoned: wait for extent buffer IOs before finishing a zone + - libperf evlist: Fix polling of system-wide events + - media: flexcop-usb: fix endpoint type check + - usb: dwc3: core: leave default DMA if the controller does not support 64-bit + DMA + - thunderbolt: Add support for Intel Maple Ridge single port controller + - efi: x86: Wipe setup_data on pure EFI boot + - efi: libstub: check Shim mode using MokSBStateRT + - wifi: mt76: fix reading current per-tid starting sequence number for + aggregation + - gpio: mockup: fix NULL pointer dereference when removing debugfs + - gpio: mockup: Fix potential resource leakage when register a chip + - gpiolib: cdev: Set lineevent_state::irq after IRQ register successfully + - riscv: fix a nasty sigreturn bug... + - riscv: fix RISCV_ISA_SVPBMT kconfig dependency warning + - drm/i915/gem: Flush contexts on driver release + - drm/i915/gem: Really move i915_gem_context.link under ref protection + - xen/xenbus: fix xenbus_setup_ring() + - kasan: call kasan_malloc() from __kmalloc_*track_caller() + - can: flexcan: flexcan_mailbox_read() fix return value for drop = true + - net: mana: Add rmb after checking owner bits + - mm/slub: fix to return errno if kmalloc() fails + - mm: slub: fix flush_cpu_slab()/__free_slab() invocations in task context. + - KVM: x86: Reinstate kvm_vcpu_arch.guest_supported_xcr0 + - KVM: x86: Always enable legacy FP/SSE in allowed user XFEATURES + - KVM: x86: Inject #UD on emulated XSETBV if XSAVES isn't enabled + - perf/arm-cmn: Add more bits to child node address offset field + - arm64: topology: fix possible overflow in amu_fie_setup() + - vmlinux.lds.h: CFI: Reduce alignment of jump-table to function alignment + - batman-adv: Fix hang up with small MTU hard-interface + - firmware: arm_scmi: Harden accesses to the reset domains + - firmware: arm_scmi: Fix the asynchronous reset requests + - arm64: dts: rockchip: Lower sd speed on quartz64-b + - arm64: dts: rockchip: Pull up wlan wake# on Gru-Bob + - arm64: dts: rockchip: Fix typo in lisense text for PX30.Core + - drm/mediatek: dsi: Add atomic {destroy,duplicate}_state, reset callbacks + - arm64: dts: imx8mm: Reverse CPLD_Dn GPIO label mapping on MX8Menlo + - arm64: dts: rockchip: Set RK3399-Gru PCLK_EDP to 24 MHz + - arm64: dts: imx8mn: remove GPU power domain reset + - arm64: dts: imx8ulp: add #reset-cells for pcc + - dmaengine: ti: k3-udma-private: Fix refcount leak bug in of_xudma_dev_get() + - arm64: dts: rockchip: fix property for usb2 phy supply on rock-3a + - arm64: dts: rockchip: fix property for usb2 phy supply on rk3568-evb1-v10 + - arm64: dts: rockchip: Remove 'enable-active-low' from rk3399-puma + - arm64: dts: rockchip: Remove 'enable-active-low' from rk3566-quartz64-a + - arm64: dts: imx8mm-verdin: extend pmic voltages + - netfilter: nf_conntrack_sip: fix ct_sip_walk_headers + - netfilter: nf_conntrack_irc: Tighten matching on DCC message + - netfilter: nfnetlink_osf: fix possible bogus match in nf_osf_find() + - ice: Don't double unplug aux on peer initiated reset + - ice: Fix crash by keep old cfg when update TCs more than queues + - iavf: Fix cached head and tail value for iavf_get_tx_pending + - ipvlan: Fix out-of-bound bugs caused by unset skb->mac_header + - net: core: fix flow symmetric hash + - wifi: iwlwifi: Mark IWLMEI as broken + - [Config] updateconfigs for IWLMEI + - arm64: dts: tqma8mqml: Include phy-imx8-pcie.h header + - drm/mediatek: Fix wrong dither settings + - arm64: dts: imx8mp-venice-gw74xx: fix CAN STBY polarity + - arm64: dts: imx8mp-venice-gw74xx: fix ksz9477 cpu port + - ARM: dts: lan966x: Fix the interrupt number for internal PHYs + - net: phy: aquantia: wait for the suspend/resume operations to finish + - arm64: dts: imx8mp-venice-gw74xx: fix port/phy validation + - scsi: qla2xxx: Fix memory leak in __qlt_24xx_handle_abts() + - scsi: mpt3sas: Fix return value check of dma_get_required_mask() + - net: bonding: Share lacpdu_mcast_addr definition + - net: bonding: Unsync device addresses on ndo_stop + - net: team: Unsync device addresses on ndo_stop + - drm/panel: simple: Fix innolux_g121i1_l01 bus_format + - mm/slab_common: fix possible double free of kmem_cache + - MIPS: lantiq: export clk_get_io() for lantiq_wdt.ko + - MIPS: Loongson32: Fix PHY-mode being left unspecified + - um: fix default console kernel parameter + - iavf: Fix bad page state + - mlxbf_gige: clear MDIO gateway lock after read + - i40e: Fix set max_tx_rate when it is lower than 1 Mbps + - netdevsim: Fix hwstats debugfs file permissions + - sfc: fix TX channel offset when using legacy interrupts + - sfc: fix null pointer dereference in efx_hard_start_xmit + - bnxt_en: fix flags to check for supported fw version + - gve: Fix GFP flags when allocing pages + - drm/hisilicon: Add depends on MMU + - of: mdio: Add of_node_put() when breaking out of for_each_xx + - net: ipa: properly limit modem routing table use + - sfc/siena: fix TX channel offset when using legacy interrupts + - sfc/siena: fix null pointer dereference in efx_hard_start_xmit + - wireguard: ratelimiter: disable timings test by default + - wireguard: netlink: avoid variable-sized memcpy on sockaddr + - net: enetc: move enetc_set_psfp() out of the common enetc_set_features() + - net: enetc: deny offload of tc-based TSN features on VF interfaces + - ipv6: Fix crash when IPv6 is administratively disabled + - net/sched: taprio: avoid disabling offload when it was never enabled + - net/sched: taprio: make qdisc_leaf() see the per-netdev-queue pfifo child + qdiscs + - ice: config netdev tc before setting queues number + - ice: Fix interface being down after reset with link-down-on-close flag on + - netfilter: nf_tables: fix nft_counters_enabled underflow at + nf_tables_addchain() + - netfilter: nf_tables: fix percpu memory leak at nf_tables_addchain() + - netfilter: ebtables: fix memory leak when blob is malformed + - netfilter: nf_ct_ftp: fix deadlock when nat rewrite is needed + - net: ravb: Fix PHY state warning splat during system resume + - net: sh_eth: Fix PHY state warning splat during system resume + - gpio: tqmx86: fix uninitialized variable girq + - can: gs_usb: gs_can_open(): fix race dev->can.state condition + - perf stat: Fix BPF program section name + - perf stat: Fix cpu map index in bperf cgroup code + - perf jit: Include program header in ELF files + - perf kcore_copy: Do not check /proc/modules is unchanged + - perf tools: Honor namespace when synthesizing build-ids + - drm/mediatek: dsi: Move mtk_dsi_stop() call back to mtk_dsi_poweroff() + - ice: Fix ice_xdp_xmit() when XDP TX queue number is not sufficient + - net/smc: Stop the CLC flow if no link to map buffers on + - net: phy: micrel: fix shared interrupt on LAN8814 + - bonding: fix NULL deref in bond_rr_gen_slave_id + - net: sunhme: Fix packet reception for len < RX_COPY_THRESHOLD + - net: sched: fix possible refcount leak in tc_new_tfilter() + - bnxt: prevent skb UAF after handing over to PTP worker + - selftests: forwarding: add shebang for sch_red.sh + - io_uring: ensure that cached task references are always put on exit + - serial: fsl_lpuart: Reset prior to registration + - serial: Create uart_xmit_advance() + - serial: tegra: Use uart_xmit_advance(), fixes icount.tx accounting + - serial: tegra-tcu: Use uart_xmit_advance(), fixes icount.tx accounting + - cgroup: cgroup_get_from_id() must check the looked-up kn is a directory + - phy: marvell: phy-mvebu-a3700-comphy: Remove broken reset support + - s390/dasd: fix Oops in dasd_alias_get_start_dev due to missing pavgroup + - blk-mq: fix error handling in __blk_mq_alloc_disk + - block: call blk_mq_exit_queue from disk_release for never added disks + - block: Do not call blk_put_queue() if gendisk allocation fails + - Drivers: hv: Never allocate anything besides framebuffer from framebuffer + memory region + - drm/gma500: Fix BUG: sleeping function called from invalid context errors + - drm/gma500: Fix WARN_ON(lock->magic != lock) error + - drm/gma500: Fix (vblank) IRQs not working after suspend/resume + - gpio: ixp4xx: Make irqchip immutable + - drm/amd/pm: disable BACO entry/exit completely on several sienna cichlid + cards + - drm/amdgpu: change the alignment size of TMR BO to 1M + - drm/amdgpu: add HDP remap functionality to nbio 7.7 + - drm/amdgpu: Skip reset error status for psp v13_0_0 + - drm/amd/display: Limit user regamma to a valid value + - drm/amd/display: Reduce number of arguments of dml31's + CalculateWatermarksAndDRAMSpeedChangeSupport() + - drm/amd/display: Reduce number of arguments of dml31's + CalculateFlipSchedule() + - drm/amd/display: Mark dml30's UseMinimumDCFCLK() as noinline for stack usage + - drm/rockchip: Fix return type of cdn_dp_connector_mode_valid + - gpio: mt7621: Make the irqchip immutable + - pmem: fix a name collision + - fsdax: Fix infinite loop in dax_iomap_rw() + - workqueue: don't skip lockdep work dependency in cancel_work_sync() + - i2c: imx: If pm_runtime_get_sync() returned 1 device access is possible + - i2c: mlxbf: incorrect base address passed during io write + - i2c: mlxbf: prevent stack overflow in mlxbf_i2c_smbus_start_transaction() + - i2c: mlxbf: Fix frequency calculation + - i2c: mux: harden i2c_mux_alloc() against integer overflows + - drm/amdgpu: don't register a dirty callback for non-atomic + - certs: make system keyring depend on built-in x509 parser + - Makefile.debug: set -g unconditional on CONFIG_DEBUG_INFO_SPLIT + - Makefile.debug: re-enable debug info for .S files + - devdax: Fix soft-reservation memory description + - ext4: fix bug in extents parsing when eh_entries == 0 and eh_depth > 0 + - ext4: limit the number of retries after discarding preallocations blocks + - ext4: make mballoc try target group first even with mb_optimize_scan + - ext4: avoid unnecessary spreading of allocations among groups + - ext4: use locality group preallocation for small closed files + - ext4: use buckets for cr 1 block scan instead of rbtree + - Revert "block: freeze the queue earlier in del_gendisk" + - ext4: fixup possible uninitialized variable access in + ext4_mb_choose_next_group_cr1() + - ext4: make directory inode spreading reflect flexbg size + - Linux 5.19.12 + + * Kinetic update: v5.19.11 upstream stable release (LP: #1994070) + - of: fdt: fix off-by-one error in unflatten_dt_nodes() + - pinctrl: qcom: sc8180x: Fix gpio_wakeirq_map + - pinctrl: qcom: sc8180x: Fix wrong pin numbers + - pinctrl: rockchip: Enhance support for IRQ_TYPE_EDGE_BOTH + - pinctrl: sunxi: Fix name for A100 R_PIO + - SUNRPC: Fix call completion races with call_decode() + - NFSv4: Turn off open-by-filehandle and NFS re-export for NFSv4.0 + - gpio: mpc8xxx: Fix support for IRQ_TYPE_LEVEL_LOW flow_type in mpc85xx + - NFSv4.2: Update mode bits after ALLOCATE and DEALLOCATE + - Revert "SUNRPC: Remove unreachable error condition" + - drm/panel-edp: Fix delays for Innolux N116BCA-EA1 + - drm/meson: Correct OSD1 global alpha value + - drm/meson: Fix OSD1 RGB to YCbCr coefficient + - drm/rockchip: vop2: Fix eDP/HDMI sync polarities + - drm/i915/vdsc: Set VDSC PIC_HEIGHT before using for DP DSC + - drm/i915/guc: Don't update engine busyness stats too frequently + - drm/i915/guc: Cancel GuC engine busyness worker synchronously + - block: blk_queue_enter() / __bio_queue_enter() must return -EAGAIN for + nowait + - parisc: ccio-dma: Add missing iounmap in error path in ccio_probe() + - of/device: Fix up of_dma_configure_id() stub + - io_uring/msg_ring: check file type before putting + - cifs: revalidate mapping when doing direct writes + - cifs: don't send down the destination address to sendmsg for a SOCK_STREAM + - cifs: always initialize struct msghdr smb_msg completely + - blk-lib: fix blkdev_issue_secure_erase + - parisc: Allow CONFIG_64BIT with ARCH=parisc + - tools/include/uapi: Fix for parisc and xtensa + - drm/i915/gt: Fix perf limit reasons bit positions + - drm/i915: Set correct domains values at _i915_vma_move_to_active + - drm/amdgpu: make sure to init common IP before gmc + - drm/amdgpu: Don't enable LTR if not supported + - drm/amdgpu: move nbio ih_doorbell_range() into ih code for vega + - drm/amdgpu: move nbio sdma_doorbell_range() into sdma code for vega + - net: Find dst with sk's xfrm policy not ctl_sk + - dt-bindings: apple,aic: Fix required item "apple,fiq-index" in affinity + description + - cgroup: Add missing cpus_read_lock() to cgroup_attach_task_all() + - ALSA: hda/sigmatel: Keep power up while beep is enabled + - ALSA: hda/sigmatel: Fix unused variable warning for beep power change + - Linux 5.19.11 + + * Kinetic update: v5.19.10 upstream stable release (LP: #1994069) + - iommu/vt-d: Fix kdump kernels boot failure with scalable mode + - net/mlx5: Introduce ifc bits for using software vhca id + - net/mlx5: Use software VHCA id when it's supported + - RDMA/mlx5: Rely on RoCE fw cap instead of devlink when setting profile + - RDMA/mlx5: Add a umr recovery flow + - RDMA/mlx5: Fix UMR cleanup on error flow of driver init + - ACPI: resource: skip IRQ override on AMD Zen platforms + - Input: goodix - add support for GT1158 + - platform/surface: aggregator_registry: Add support for Surface Laptop Go 2 + - drm/msm/rd: Fix FIFO-full deadlock + - peci: cpu: Fix use-after-free in adev_release() + - kvm: x86: mmu: Always flush TLBs when enabling dirty logging + - dt-bindings: iio: gyroscope: bosch,bmg160: correct number of pins + - HID: ishtp-hid-clientHID: ishtp-hid-client: Fix comment typo + - hid: intel-ish-hid: ishtp: Fix ishtp client sending disordered message + - Bluetooth: MGMT: Fix Get Device Flags + - tg3: Disable tg3 device on system reboot to avoid triggering AER + - r8152: add PID for the Lenovo OneLink+ Dock + - gpio: mockup: remove gpio debugfs when remove device + - ieee802154: cc2520: add rc code in cc2520_tx() + - Input: iforce - add support for Boeder Force Feedback Wheel + - drm/amdgpu: disable FRU access on special SIENNA CICHLID card + - drm/amd/pm: use vbios carried pptable for all SMU13.0.7 SKUs + - nvme-pci: add NVME_QUIRK_BOGUS_NID for Lexar NM610 + - nvmet-tcp: fix unhandled tcp states in nvmet_tcp_state_change() + - drm/amd/amdgpu: skip ucode loading if ucode_size == 0 + - net: dsa: hellcreek: Print warning only once + - perf/arm_pmu_platform: fix tests for platform_get_irq() failure + - platform/x86: acer-wmi: Acer Aspire One AOD270/Packard Bell Dot keymap fixes + - usb: storage: Add ASUS <0x0b05:0x1932> to IGNORE_UAS + - platform/x86: asus-wmi: Increase FAN_CURVE_BUF_LEN to 32 + - LoongArch: Fix section mismatch due to acpi_os_ioremap() + - LoongArch: Fix arch_remove_memory() undefined build error + - gpio: 104-dio-48e: Make irq_chip immutable + - gpio: 104-idio-16: Make irq_chip immutable + - RDMA/irdma: Use s/g array in post send only when its valid + - Input: goodix - add compatible string for GT1158 + - Linux 5.19.10 + + * Kinetic update: v5.19.9 upstream stable release (LP: #1994068) + - efi: libstub: Disable struct randomization + - efi: capsule-loader: Fix use-after-free in efi_capsule_write + - wifi: mt76: mt7921e: fix crash in chip reset fail + - wifi: iwlegacy: 4965: corrected fix for potential off-by-one overflow in + il4965_rs_fill_link_cmd() + - fs: only do a memory barrier for the first set_buffer_uptodate() + - soc: fsl: select FSL_GUTS driver for DPIO + - Revert "mm: kmemleak: take a full lowmem check in kmemleak_*_phys()" + - scsi: qla2xxx: Disable ATIO interrupt coalesce for quad port ISP27XX + - scsi: core: Allow the ALUA transitioning state enough time + - scsi: megaraid_sas: Fix double kfree() + - drm/gem: Fix GEM handle release errors + - drm/amdgpu: Move psp_xgmi_terminate call from amdgpu_xgmi_remove_device to + psp_hw_fini + - drm/amdgpu: fix hive reference leak when adding xgmi device + - drm/amdgpu: Check num_gfx_rings for gfx v9_0 rb setup. + - drm/amdgpu: Remove the additional kfd pre reset call for sriov + - drm/radeon: add a force flush to delay work when radeon + - scsi: ufs: core: Reduce the power mode change timeout + - Revert "parisc: Show error if wrong 32/64-bit compiler is being used" + - parisc: ccio-dma: Handle kmalloc failure in ccio_init_resources() + - parisc: Add runtime check to prevent PA2.0 kernels on PA1.x machines + - [Config] updateconfigs for ARM64_ERRATUM_2457168 + - arm64: errata: add detection for AMEVCNTR01 incrementing incorrectly + - netfilter: conntrack: work around exceeded receive window + - thermal/int340x_thermal: handle data_vault when the value is ZERO_SIZE_PTR + - cpufreq: check only freq_table in __resolve_freq() + - net/core/skbuff: Check the return value of skb_copy_bits() + - md: Flush workqueue md_rdev_misc_wq in md_alloc() + - fbdev: omapfb: Fix tests for platform_get_irq() failure + - fbdev: fbcon: Destroy mutex on freeing struct fb_info + - fbdev: chipsfb: Add missing pci_disable_device() in chipsfb_pci_init() + - x86/sev: Mark snp_abort() noreturn + - drm/amdgpu: add sdma instance check for gfx11 CGCG + - drm/amdgpu: mmVM_L2_CNTL3 register not initialized correctly + - ALSA: pcm: oss: Fix race at SNDCTL_DSP_SYNC + - ALSA: emu10k1: Fix out of bounds access in snd_emu10k1_pcm_channel_alloc() + - ALSA: hda: Once again fix regression of page allocations with IOMMU + - ALSA: aloop: Fix random zeros in capture data when using jiffies timer + - ALSA: usb-audio: Clear fixed clock rate at closing EP + - ALSA: usb-audio: Fix an out-of-bounds bug in + __snd_usb_parse_audio_interface() + - tracefs: Only clobber mode/uid/gid on remount if asked + - tracing: hold caller_addr to hardirq_{enable,disable}_ip + - tracing: Fix to check event_mutex is held while accessing trigger list + - btrfs: zoned: set pseudo max append zone limit in zone emulation mode + - btrfs: zoned: fix API misuse of zone finish waiting + - vfio/type1: Unpin zero pages + - kprobes: Prohibit probes in gate area + - perf: RISC-V: fix access beyond allocated array + - debugfs: add debugfs_lookup_and_remove() + - sched/debug: fix dentry leak in update_sched_domain_debugfs + - drm/amd/display: fix memory leak when using debugfs_lookup() + - driver core: fix driver_set_override() issue with empty strings + - nvmet: fix a use-after-free + - drm/i915/bios: Copy the whole MIPI sequence block + - drm/i915/slpc: Let's fix the PCODE min freq table setup for SLPC + - scsi: mpt3sas: Fix use-after-free warning + - scsi: lpfc: Add missing destroy_workqueue() in error path + - cgroup: Elide write-locking threadgroup_rwsem when updating csses on an + empty subtree + - cgroup: Fix threadgroup_rwsem <-> cpus_read_lock() deadlock + - cifs: remove useless parameter 'is_fsctl' from SMB2_ioctl() + - smb3: missing inode locks in zero range + - spi: bitbang: Fix lsb-first Rx + - ASoC: cs42l42: Only report button state if there was a button interrupt + - Revert "soc: imx: imx8m-blk-ctrl: set power device name" + - arm64: dts: imx8mm-verdin: update CAN clock to 40MHz + - arm64: dts: imx8mm-verdin: use level interrupt for mcp251xfd + - ASoC: qcom: sm8250: add missing module owner + - regmap: spi: Reserve space for register address/padding + - arm64: dts: imx8mp-venice-gw74xx: fix sai2 pin settings + - arm64: dts: imx8mq-tqma8mq: Remove superfluous interrupt-names + - RDMA/rtrs-clt: Use the right sg_cnt after ib_dma_map_sg + - RDMA/rtrs-srv: Pass the correct number of entries for dma mapped SGL + - ARM: dts: imx6qdl-vicut1.dtsi: Fix node name backlight_led + - ARM: dts: imx6qdl-kontron-samx6i: remove duplicated node + - ARM: dts: imx6qdl-kontron-samx6i: fix spi-flash compatible + - arm64: dts: ls1028a-qds-65bb: don't use in-band autoneg for 2500base-x + - soc: imx: gpcv2: Assert reset before ungating clock + - arm64: dts: verdin-imx8mm: add otg2 pd to usbphy + - arm64: dts: imx8mm-venice-gw7901: fix port/phy validation + - arm64: dts: freescale: verdin-imx8mm: fix atmel_mxt_ts reset polarity + - arm64: dts: freescale: verdin-imx8mp: fix atmel_mxt_ts reset polarity + - regulator: core: Clean up on enable failure + - ASoC: SOF: Kconfig: Make IPC_FLOOD_TEST depend on SND_SOC_SOF + - ASoC: SOF: Kconfig: Make IPC_MESSAGE_INJECTOR depend on SND_SOC_SOF + - tee: fix compiler warning in tee_shm_register() + - RDMA/irdma: Fix drain SQ hang with no completion + - arm64: dts: renesas: r8a779g0: Fix HSCIF0 interrupt number + - RDMA/cma: Fix arguments order in net device validation + - soc: brcmstb: pm-arm: Fix refcount leak and __iomem leak bugs + - RDMA/hns: Fix supported page size + - RDMA/hns: Fix wrong fixed value of qp->rq.wqe_shift + - RDMA/hns: Remove the num_qpc_timer variable + - wifi: wilc1000: fix DMA on stack objects + - ARM: at91: pm: fix self-refresh for sama7g5 + - ARM: at91: pm: fix DDR recalibration when resuming from backup and self- + refresh + - ARM: dts: at91: sama5d27_wlsom1: specify proper regulator output ranges + - ARM: dts: at91: sama5d2_icp: specify proper regulator output ranges + - ARM: dts: at91: sama7g5ek: specify proper regulator output ranges + - ARM: dts: at91: sama5d27_wlsom1: don't keep ldo2 enabled all the time + - ARM: dts: at91: sama5d2_icp: don't keep vdd_other enabled all the time + - netfilter: br_netfilter: Drop dst references before setting. + - netfilter: nf_tables: clean up hook list when offload flags check fails + - riscv: dts: microchip: use an mpfs specific l2 compatible + - netfilter: nf_conntrack_irc: Fix forged IP logic + - RDMA/srp: Set scmnd->result only when scmnd is not NULL + - ALSA: usb-audio: Inform the delayed registration more properly + - ALSA: usb-audio: Register card again for iface over delayed_register option + - rxrpc: Fix ICMP/ICMP6 error handling + - rxrpc: Fix an insufficiently large sglist in rxkad_verify_packet_2() + - afs: Use the operation issue time instead of the reply time for callbacks + - kunit: fix assert_type for comparison macros + - Revert "net: phy: meson-gxl: improve link-up behavior" + - sch_sfb: Don't assume the skb is still around after enqueueing to child + - tipc: fix shift wrapping bug in map_get() + - net: introduce __skb_fill_page_desc_noacc + - tcp: TX zerocopy should not sense pfmemalloc status + - ice: Fix DMA mappings leak + - ice: use bitmap_free instead of devm_kfree + - i40e: Fix kernel crash during module removal + - iavf: Detach device during reset task + - xen-netback: only remove 'hotplug-status' when the vif is actually destroyed + - block: don't add partitions if GD_SUPPRESS_PART_SCAN is set + - RDMA/siw: Pass a pointer to virt_to_page() + - bonding: use unspecified address if no available link local address + - bonding: add all node mcast address when slave up + - ipv6: sr: fix out-of-bounds read when setting HMAC data. + - IB/core: Fix a nested dead lock as part of ODP flow + - RDMA/mlx5: Set local port to one when accessing counters + - btrfs: zoned: fix mounting with conventional zones + - erofs: fix error return code in erofs_fscache_{meta_,}read_folio + - erofs: fix pcluster use-after-free on UP platforms + - nvme-tcp: fix UAF when detecting digest errors + - nvme-tcp: fix regression that causes sporadic requests to time out + - tcp: fix early ETIMEDOUT after spurious non-SACK RTO + - btrfs: fix the max chunk size and stripe length calculation + - nvmet: fix mar and mor off-by-one errors + - RDMA/irdma: Report the correct max cqes from query device + - RDMA/irdma: Return error on MR deregister CQP failure + - RDMA/irdma: Return correct WC error for bind operation failure + - RDMA/irdma: Report RNR NAK generation in device caps + - net: dsa: felix: disable cut-through forwarding for frames oversized for tc- + taprio + - net: dsa: felix: access QSYS_TAG_CONFIG under tas_lock in + vsc9959_sched_speed_set + - net: ethernet: mtk_eth_soc: fix typo in __mtk_foe_entry_clear + - net: ethernet: mtk_eth_soc: check max allowed hash in mtk_ppe_check_skb + - net/smc: Fix possible access to freed memory in link clear + - io_uring: recycle kbuf recycle on tw requeue + - net: phy: lan87xx: change interrupt src of link_up to comm_ready + - sch_sfb: Also store skb len before calling child enqueue + - libperf evlist: Fix per-thread mmaps for multi-threaded targets + - perf dlfilter dlfilter-show-cycles: Fix types for print format + - perf script: Fix Cannot print 'iregs' field for hybrid systems + - perf record: Fix synthesis failure warnings + - hwmon: (tps23861) fix byte order in resistance register + - ASoC: mchp-spdiftx: remove references to mchp_i2s_caps + - ASoC: mchp-spdiftx: Fix clang -Wbitfield-constant-conversion + - MIPS: loongson32: ls1c: Fix hang during startup + - kbuild: disable header exports for UML in a straightforward way + - i40e: Refactor tc mqprio checks + - i40e: Fix ADQ rate limiting for PF + - net: bonding: replace dev_trans_start() with the jiffies of the last ARP/NS + - bonding: accept unsolicited NA message + - swiotlb: avoid potential left shift overflow + - iommu/amd: use full 64-bit value in build_completion_wait() + - s390/boot: fix absolute zero lowcore corruption on boot + - time64.h: consolidate uses of PSEC_PER_NSEC + - net: dsa: felix: tc-taprio intervals smaller than MTU should send at least + one packet + - hwmon: (mr75203) fix VM sensor allocation when "intel,vm-map" not defined + - hwmon: (mr75203) update pvt->v_num and vm_num to the actual number of used + sensors + - hwmon: (mr75203) fix voltage equation for negative source input + - hwmon: (mr75203) fix multi-channel voltage reading + - hwmon: (mr75203) enable polling for all VM channels + - perf evlist: Always use arch_evlist__add_default_attrs() + - perf stat: Fix L2 Topdown metrics disappear for raw events + - Revert "arm64: kasan: Revert "arm64: mte: reset the page tag in + page->flags"" + - hwmon: (asus-ec-sensors) add support for Strix Z690-a D4 + - hwmon: (asus-ec-sensors) add support for Maximus XI Hero + - hwmon: (asus-ec-sensors) add missing sensors for X570-I GAMING + - hwmon: (asus-ec-sensors) add definitions for ROG ZENITH II EXTREME + - hwmon: (asus-ec-sensors) autoload module via DMI data + - arm64/bti: Disable in kernel BTI when cross section thunks are broken + - [Config] updateconfigs for ARM64_BTI_KERNEL + - iommu/vt-d: Correctly calculate sagaw value of IOMMU + - iommu/virtio: Fix interaction with VFIO + - iommu: Fix false ownership failure on AMD systems with PASID activated + - drm/amd/display: Add SMU logging code + - drm/amd/display: Removing assert statements for Linux + - Linux 5.19.9 + + * Kinetic update: v5.19.8 upstream stable release (LP: #1994061) + - drm/msm/dp: make eDP panel as the first connected connector + - drm/msm/dsi: fix the inconsistent indenting + - drm/msm/dpu: populate wb or intf before reset_intf_cfg + - drm/msm/dp: delete DP_RECOVERED_CLOCK_OUT_EN to fix tps4 + - drm/msm/dsi: Fix number of regulators for msm8996_dsi_cfg + - drm/msm/dsi: Fix number of regulators for SDM660 + - platform/x86: pmc_atom: Fix SLP_TYPx bitfield mask + - platform/x86: x86-android-tablets: Fix broken touchscreen on Chuwi Hi8 with + Windows BIOS + - xsk: Fix corrupted packets for XDP_SHARED_UMEM + - drm/msm/gpu: Drop qos request if devm_devfreq_add_device() fails + - peci: aspeed: fix error check return value of platform_get_irq() + - iio: adc: mcp3911: make use of the sign bit + - skmsg: Fix wrong last sg check in sk_msg_recvmsg() + - bpf: Restrict bpf_sys_bpf to CAP_PERFMON + - ip_tunnel: Respect tunnel key's "flow_flags" in IP tunnels + - bpf, cgroup: Fix kernel BUG in purge_effective_progs + - drm/i915/gvt: Fix Comet Lake + - ieee802154/adf7242: defer destroy_workqueue call + - bpf: Fix a data-race around bpf_jit_limit. + - drm/i915/ttm: fix CCS handling + - drm/i915/display: avoid warnings when registering dual panel backlight + - ALSA: hda: intel-nhlt: Correct the handling of fmt_config flexible array + - wifi: cfg80211: debugfs: fix return type in ht40allow_map_read() + - xhci: Fix null pointer dereference in remove if xHC has only one roothub + - Revert "xhci: turn off port power in shutdown" + - bpf: Allow helpers to accept pointers with a fixed size + - bpf: Tidy up verifier check_func_arg() + - bpf: Do mark_chain_precision for ARG_CONST_ALLOC_SIZE_OR_ZERO + - Bluetooth: hci_event: Fix vendor (unknown) opcode status handling + - Bluetooth: hci_sync: Fix suspend performance regression + - Bluetooth: hci_event: Fix checking conn for le_conn_complete_evt + - Bluetooth: hci_sync: hold hdev->lock when cleanup hci_conn + - net: sparx5: fix handling uneven length packets in manual extraction + - net: smsc911x: Stop and start PHY during suspend and resume + - openvswitch: fix memory leak at failed datapath creation + - nfp: flower: fix ingress police using matchall filter + - net: dsa: xrs700x: Use irqsave variant for u64 stats update + - net: sched: tbf: don't call qdisc_put() while holding tree lock + - net/sched: fix netdevice reference leaks in attach_default_qdiscs() + - net: phy: micrel: Make the GPIO to be non-exclusive + - net: lan966x: improve error handle in lan966x_fdma_rx_get_frame() + - ethernet: rocker: fix sleep in atomic context bug in neigh_timer_handler + - cachefiles: fix error return code in cachefiles_ondemand_copen() + - cachefiles: make on-demand request distribution fairer + - mlxbf_gige: compute MDIO period based on i1clk + - kcm: fix strp_init() order and cleanup + - sch_cake: Return __NET_XMIT_STOLEN when consuming enqueued skb + - tcp: annotate data-race around challenge_timestamp + - Revert "sch_cake: Return __NET_XMIT_STOLEN when consuming enqueued skb" + - net/smc: Remove redundant refcount increase + - soundwire: qcom: fix device status array range + - mm/slab_common: Deleting kobject in kmem_cache_destroy() without holding + slab_mutex/cpu_hotplug_lock + - platform/mellanox: mlxreg-lc: Fix coverity warning + - platform/mellanox: mlxreg-lc: Fix locking issue + - serial: fsl_lpuart: RS485 RTS polariy is inverse + - tty: serial: atmel: Preserve previous USART mode if RS485 disabled + - staging: rtl8712: fix use after free bugs + - staging: r8188eu: Add Rosewill USB-N150 Nano to device tables + - staging: r8188eu: add firmware dependency + - Revert "powerpc: Remove unused FW_FEATURE_NATIVE references" + - powerpc: align syscall table for ppc32 + - powerpc/rtas: Fix RTAS MSR[HV] handling for Cell + - vt: Clear selection before changing the font + - musb: fix USB_MUSB_TUSB6010 dependency + - tty: serial: lpuart: disable flow control while waiting for the transmit + engine to complete + - Input: iforce - wake up after clearing IFORCE_XMIT_RUNNING flag + - iio: light: cm3605: Fix an error handling path in cm3605_probe() + - iio: ad7292: Prevent regulator double disable + - iio: adc: mcp3911: correct "microchip,device-addr" property + - iio: adc: mcp3911: use correct formula for AD conversion + - misc: fastrpc: fix memory corruption on probe + - misc: fastrpc: fix memory corruption on open + - firmware_loader: Fix use-after-free during unregister + - firmware_loader: Fix memory leak in firmware upload + - USB: serial: ftdi_sio: add Omron CS1W-CIF31 device id + - landlock: Fix file reparenting without explicit LANDLOCK_ACCESS_FS_REFER + - mmc: core: Fix UHS-I SD 1.8V workaround branch + - mmc: core: Fix inconsistent sd3_bus_mode at UHS-I SD voltage switch failure + - binder: fix UAF of ref->proc caused by race condition + - binder: fix alloc->vma_vm_mm null-ptr dereference + - cifs: fix small mempool leak in SMB2_negotiate() + - KVM: VMX: Heed the 'msr' argument in msr_write_intercepted() + - riscv: kvm: move extern sbi_ext declarations to a header + - clk: ti: Fix missing of_node_get() ti_find_clock_provider() + - drm/i915/reg: Fix spelling mistake "Unsupport" -> "Unsupported" + - clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops + - Revert "clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops" + - clk: core: Fix runtime PM sequence in clk_core_unprepare() + - Input: rk805-pwrkey - fix module autoloading + - powerpc/papr_scm: Fix nvdimm event mappings + - clk: bcm: rpi: Fix error handling of raspberrypi_fw_get_rate + - clk: bcm: rpi: Prevent out-of-bounds access + - clk: bcm: rpi: Add missing newline + - hwmon: (gpio-fan) Fix array out of bounds access + - gpio: pca953x: Add mutex_lock for regcache sync in PM + - gpio: realtek-otto: switch to 32-bit I/O + - KVM: x86: Mask off unsupported and unknown bits of IA32_ARCH_CAPABILITIES + - powerpc/papr_scm: Ensure rc is always initialized in papr_scm_pmu_register() + - xen/grants: prevent integer overflow in gnttab_dma_alloc_pages() + - mm: pagewalk: Fix race between unmap and page walker + - xen-blkback: Advertise feature-persistent as user requested + - xen-blkfront: Advertise feature-persistent as user requested + - xen-blkfront: Cache feature_persistent value before advertisement + - thunderbolt: Use the actual buffer in tb_async_error() + - thunderbolt: Check router generation before connecting xHCI + - usb: dwc3: pci: Add support for Intel Raptor Lake + - media: mceusb: Use new usb_control_msg_*() routines + - xhci: Add grace period after xHC start to prevent premature runtime suspend. + - usb: dwc3: disable USB core PHY management + - usb: dwc3: gadget: Avoid duplicate requests to enable Run/Stop + - usb: dwc3: fix PHY disable sequence + - USB: serial: ch341: fix lost character on LCR updates + - USB: serial: ch341: fix disabled rx timer on older devices + - USB: serial: cp210x: add Decagon UCA device id + - USB: serial: option: add support for OPPO R11 diag port + - USB: serial: option: add Quectel EM060K modem + - USB: serial: option: add support for Cinterion MV32-WA/WB RmNet mode + - Revert "usb: typec: ucsi: add a common function + ucsi_unregister_connectors()" + - usb: typec: altmodes/displayport: correct pin assignment for UFP receptacles + - usb: typec: intel_pmc_mux: Add new ACPI ID for Meteor Lake IOM device + - usb: typec: tcpm: Return ENOTSUPP for power supply prop writes + - usb: dwc2: fix wrong order of phy_power_on and phy_init + - usb: cdns3: fix issue with rearming ISO OUT endpoint + - usb: cdns3: fix incorrect handling TRB_SMM flag for ISOC transfer + - USB: cdc-acm: Add Icom PMR F3400 support (0c26:0020) + - usb-storage: Add ignore-residue quirk for NXP PN7462AU + - s390/hugetlb: fix prepare_hugepage_range() check for 2 GB hugepages + - s390: fix nospec table alignments + - USB: core: Prevent nested device-reset calls + - usb: xhci-mtk: relax TT periodic bandwidth allocation + - usb: xhci-mtk: fix bandwidth release issue + - usb: gadget: f_uac2: fix superspeed transfer + - usb: gadget: mass_storage: Fix cdrom data transfers on MAC-OS + - USB: gadget: Fix obscure lockdep violation for udc_mutex + - dma-buf/dma-resv: check if the new fence is really later + - arm64/kexec: Fix missing extra range for crashkres_low. + - driver core: Don't probe devices after bus_type.match() probe deferral + - wifi: mac80211: Don't finalize CSA in IBSS mode if state is disconnected + - wifi: mac80211: Fix UAF in ieee80211_scan_rx() + - ip: fix triggering of 'icmp redirect' + - net: Use u64_stats_fetch_begin_irq() for stats fetch. + - net: mac802154: Fix a condition in the receive path + - ALSA: memalloc: Revive x86-specific WC page allocations again + - ALSA: hda/realtek: Add speaker AMP init for Samsung laptops with ALC298 + - ALSA: seq: oss: Fix data-race for max_midi_devs access + - ALSA: seq: Fix data-race at module auto-loading + - drm/i915/backlight: Disable pps power hook for aux based backlight + - drm/i915/guc: clear stalled request after a reset + - drm/i915/glk: ECS Liva Q2 needs GLK HDMI port timing quirk + - drm/i915: Skip wm/ddb readout for disabled pipes + - tty: n_gsm: add sanity check for gsm->receive in gsm_receive_buf() + - tty: n_gsm: initialize more members at gsm_alloc_mux() + - tty: n_gsm: replace kicktimer with delayed_work + - tty: n_gsm: avoid call of sleeping functions from atomic context + - Linux 5.19.8 + + * md: Replace snprintf with scnprintf (LP: #1993315) + - md: Replace snprintf with scnprintf + + * ACPI: processor idle: Practically limit "Dummy wait" workaround to old Intel + systems (LP: #1990985) + - ACPI: processor idle: Practically limit "Dummy wait" workaround to old Intel + systems + + * iavf: SR-IOV VFs error with no traffic flow when MTU greater than 1500 + (LP: #1983656) + - iavf: Fix set max MTU size with port VLAN and jumbo frames + - i40e: Fix VF set max MTU size + + * Fix resume on AMD platforms when TBT monitor is plugged (LP: #1990920) + - drm/amd/display: Detect dpcd_rev when hotplug mst monitor + - drm/amd/display: Release remote dc_sink under mst scenario + + * [SRU][J/OEM-5.17][PATCH 0/1] Fix oled brightness set above frame-average + luminance (LP: #1978986) + - drm: New function to get luminance range based on static hdr metadata + - drm/amdgpu_dm: Rely on split out luminance calculation function + - drm/i915: Use luminance range calculated during edid parsing + + * Update Broadcom Emulex FC HBA lpfc driver to 14.2.0.5 for Ubuntu 22.04 + (LP: #1988711) + - scsi: lpfc: Fix uninitialized cqe field in lpfc_nvme_cancel_iocb() + - scsi: lpfc: Set PU field when providing D_ID in XMIT_ELS_RSP64_CX iocb + - scsi: lpfc: Fix lost NVMe paths during LIF bounce stress test + - scsi: lpfc: Refactor lpfc_nvmet_prep_abort_wqe() into + lpfc_sli_prep_abort_xri() + - scsi: lpfc: Update lpfc version to 14.2.0.5 + - scsi: lpfc: Copyright updates for 14.2.0.5 patches + + * input/keyboard: the keyboard on some Asus laptops can't work (LP: #1992266) + - ACPI: resource: Skip IRQ override on Asus Vivobook K3402ZA/K3502ZA + - ACPI: resource: Add ASUS model S5402ZA to quirks + + * pcieport 0000:00:1b.0: PCIe Bus Error: severity=Uncorrected (Non-Fatal), + type=Transaction Layer, (Requester ID) (LP: #1988797) + - PCI/PTM: Cache PTM Capability offset + - PCI/PTM: Add pci_upstream_ptm() helper + - PCI/PTM: Separate configuration and enable + - PCI/PTM: Add pci_suspend_ptm() and pci_resume_ptm() + - PCI/PTM: Move pci_ptm_info() body into its only caller + - PCI/PTM: Preserve RsvdP bits in PTM Control register + - PCI/PTM: Reorder functions in logical order + - PCI/PTM: Consolidate PTM interface declarations + - PCI/PM: Always disable PTM for all devices during suspend + - PCI/PM: Simplify pci_pm_suspend_noirq() + + -- Stefan Bader Thu, 24 Nov 2022 17:16:15 +0100 + +linux (5.19.0-26.27) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-26.27 -proposed tracker (LP: #1997434) + + * CVE-2022-3566 + - tcp: Fix data races around icsk->icsk_af_ops. + + * CVE-2022-3567 + - ipv6: Fix data races around sk->sk_prot. + + * CVE-2022-3621 + - nilfs2: fix NULL pointer dereference at nilfs_bmap_lookup_at_level() + + * CVE-2022-3565 + - mISDN: fix use-after-free bugs in l1oip timer handlers + + * CVE-2022-3594 + - r8152: Rate limit overflow messages + + * CVE-2022-3564 + - Bluetooth: L2CAP: Fix use-after-free caused by l2cap_reassemble_sdu + + * CVE-2022-3524 + - tcp/udp: Fix memory leak in ipv6_renew_options(). + + * CVE-2022-43945 + - SUNRPC: Fix svcxdr_init_decode's end-of-buffer calculation + - SUNRPC: Fix svcxdr_init_encode's buflen calculation + - NFSD: Protect against send buffer overflow in NFSv2 READDIR + - NFSD: Protect against send buffer overflow in NFSv3 READDIR + - NFSD: Protect against send buffer overflow in NFSv2 READ + - NFSD: Protect against send buffer overflow in NFSv3 READ + - NFSD: Remove "inline" directives on op_rsize_bop helpers + - NFSD: Cap rsize_bop result based on send buffer size + + -- Thadeu Lima de Souza Cascardo Wed, 23 Nov 2022 17:21:27 -0300 + +linux (5.19.0-23.24) kinetic; urgency=medium + + * CVE-2022-2602 + - SAUCE: io_uring/af_unix: defer registered files gc to io_uring release + - SAUCE: io_uring/af_unix: fix memleak during unix GC + + * CVE-2022-41674 + - SAUCE: wifi: cfg80211: fix u8 overflow in + cfg80211_update_notlisted_nontrans() + - SAUCE: wifi: cfg80211/mac80211: reject bad MBSSID elements + - SAUCE: wifi: cfg80211: ensure length byte is present before access + - SAUCE: wifi: mac80211_hwsim: avoid mac80211 warning on bad rate + - SAUCE: wifi: cfg80211: update hidden BSSes to avoid WARN_ON + + * CVE-2022-42722 + - SAUCE: wifi: mac80211: fix crash in beacon protection for P2P-device + + * CVE-2022-42721 + - SAUCE: wifi: cfg80211: avoid nontransmitted BSS list corruption + + * CVE-2022-42720 + - SAUCE: wifi: cfg80211: fix BSS refcounting bugs + + * CVE-2022-42719 + - SAUCE: wifi: mac80211: fix MBSSID parsing use-after-free + + -- Thadeu Lima de Souza Cascardo Fri, 14 Oct 2022 09:58:08 -0300 + +linux (5.19.0-21.21) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-21.21 -proposed tracker (LP: #1992639) + + * cannot change mount namespace (LP: #1991691) + - SAUCE: apparmor: Fix getaatr mediation causing snap failures + + * Kernel regresses openjdk on riscv64 (LP: #1992484) + - SAUCE: Revert "riscv: mmap with PROT_WRITE but no PROT_READ is invalid" + + -- Andrea Righi Wed, 12 Oct 2022 19:53:36 +0200 + +linux (5.19.0-20.20) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-20.20 -proposed tracker (LP: #1992408) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Kinetic kernels 5.19.0-18/19-generic won't boot on Intel 11th/12th gen + (LP: #1991704) + - drm/i915: fix null pointer dereference + + * rcu_sched detected stalls on CPUs/tasks (LP: #1967130) + - [Config] Disable VMAP_STACK on riscv64 + + * Disable sv57 as the userspace is not ready (LP: #1991790) + - SAUCE: riscv: mm: Force disable sv57 + + * earlyconsole prints question marks on 5.19.0-1002-generic (LP: #1988984) + - [Config] Set CONFIG_PWM_SIFIVE=m for riscv64 + + * RCU stalls (LP: #1991951) + - [Config] Harmonize RCU_CPU_STALL_TIMEOUT + + * backport dkms fixes to build modules correctly for hwe-5.19+ kernels with + custom compiler (LP: #1991664) + - [Packaging] use versioned gcc-12 + - [Packaging] Update configs with versioned compiler version + + * FTBFS on kinetic (LP: #1990964) + - SAUCE: uapi: Fixup strace compile error + + * CVE-2022-40768 + - scsi: stex: Properly zero out the passthrough command structure + + * [22.10 FEAT] zKVM: Crypto Passthrough Hotplug - kernel part (LP: #1852741) + - s390/vfio-ap: use new AP bus interface to search for queue devices + - s390/vfio-ap: move probe and remove callbacks to vfio_ap_ops.c + - s390/vfio-ap: manage link between queue struct and matrix mdev + - s390/vfio-ap: introduce shadow APCB + - s390/vfio-ap: refresh guest's APCB by filtering AP resources assigned to + mdev + - s390/vfio-ap: allow assignment of unavailable AP queues to mdev device + - s390/vfio-ap: rename matrix_dev->lock mutex to matrix_dev->mdevs_lock + - s390/vfio-ap: introduce new mutex to control access to the KVM pointer + - s390/vfio-ap: use proper locking order when setting/clearing KVM pointer + - s390/vfio-ap: prepare for dynamic update of guest's APCB on assign/unassign + - s390/vfio-ap: prepare for dynamic update of guest's APCB on queue + probe/remove + - s390/vfio-ap: allow hot plug/unplug of AP devices when assigned/unassigned + - s390/vfio-ap: hot plug/unplug of AP devices when probed/removed + - s390/vfio-ap: reset queues after adapter/domain unassignment + - s390/vfio-ap: implement in-use callback for vfio_ap driver + - s390/vfio-ap: sysfs attribute to display the guest's matrix + - s390/vfio-ap: handle config changed and scan complete notification + - s390/vfio-ap: update docs to include dynamic config support + - s390/Docs: new doc describing lock usage by the vfio_ap device driver + - MAINTAINERS: pick up all vfio_ap docs for VFIO AP maintainers + + -- Andrea Righi Tue, 11 Oct 2022 09:50:23 +0200 + +linux (5.19.0-19.19) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-19.19 -proposed tracker (LP: #1990960) + + * kinetic: apply new apparmor and LSM stacking patch set (LP: #1989983) + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Specify which LSM to display + (using struct cred as input)""" + - Revert "Revert "Revert "UBUNTU: SAUCE: apparmor: Fix build error, make sk + parameter const""" + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in + smk_netlbl_mls()""" + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: change ima_read_file() to use + lsmblob""" + - Revert "Revert "Revert "UBUNTU: SAUCE: apparmor: rename kzfree() to + kfree_sensitive()""" + - Revert "Revert "Revert "UBUNTU: SAUCE: Audit: Fix for missing NULL check""" + - Revert "Revert "Revert "UBUNTU: SAUCE: AppArmor: Remove the exclusive + flag""" + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Add /proc attr entry for full + LSM context""" + - Revert "Revert "Revert "UBUNTU: SAUCE: Audit: Add a new record for multiple + object LSM attributes""" + - Revert "Revert "Revert "UBUNTU: SAUCE: Audit: Fix incorrect static inline + function declration.""" + - Revert "Revert "Revert "UBUNTU: SAUCE: Audit: Add new record for multiple + process LSM attributes""" + - Revert "Revert "Revert "UBUNTU: SAUCE: NET: Store LSM netlabel data in a + lsmblob""" + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: security_secid_to_secctx in + netlink netfilter""" + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmcontext in + security_inode_getsecctx""" + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmcontext in + security_secid_to_secctx""" + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Ensure the correct LSM context + releaser""" + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Specify which LSM to display""" + - Revert "Revert "Revert "UBUNTU: SAUCE: IMA: Change internal interfaces to + use lsmblobs""" + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in + security_cred_getsecid""" + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in + security_inode_getsecid""" + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in + security_task_getsecid""" + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in + security_ipc_getsecid""" + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in + security_secid_to_secctx""" + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in + security_secctx_to_secid""" + - Revert "Revert "Revert "UBUNTU: SAUCE: net: Prepare UDS for security module + stacking""" + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in + security_kernel_act_as""" + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in + security_audit_rule_match""" + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Create and manage the lsmblob + data structure.""" + - Revert "Revert "Revert "UBUNTU: SAUCE: LSM: Infrastructure management of the + sock security""" + - Revert "Revert "Revert "UBUNTU: SAUCE: apparmor: LSM stacking: switch from + SK_CTX() to aa_sock()""" + - Revert "Revert "Revert "UBUNTU: SAUCE: apparmor: rename aa_sock() to + aa_unix_sk()""" + - Revert "Revert "Revert "UBUNTU: SAUCE: apparmor: disable showing the mode as + part of a secid to secctx""" + - Revert "Revert "Revert "apparmor: fix absroot causing audited secids to + begin with =""" + - Revert "Revert "Revert "UBUNTU SAUCE: apparmor: fix apparmor mediating + locking non-fs, unix sockets""" + - Revert "Revert "Revert "UBUNTU: SAUCE: apparmor: fix use after free in + sk_peer_label""" + - Revert "Revert "Revert "UBUNTU: SAUCE: apparmor: af_unix mediation""" + - Revert "Revert "Revert "UBUNTU: SAUCE: apparmor: patch to provide + compatibility with v2.x net rules""" + - Revert "Revert "Revert "UBUNTU: SAUCE: apparmor: add/use fns to print hash + string hex value""" + - SAUCE: upstream v6.0: apparmor: fix absroot causing audited secids to begin + with = + - SAUCE: upstream v6.0: apparmor: Fix kernel-doc + - SAUCE: upstream v6.0: lsm: Fix kernel-doc + - SAUCE: upstream v6.0: apparmor: Update help description of policy hash for + introspection + - SAUCE: upstream v6.0: apparmor: make export of raw binary profile to + userspace optional + - SAUCE: upstream v6.0: apparmor: Enable tuning of policy paranoid load for + embedded systems + - SAUCE: upstream v6.0: apparmor: don't create raw_sha1 symlink if sha1 + hashing is disabled + - SAUCE: upstream v6.0: apparmor: resolve uninitialized symbol warnings in + policy_unpack_test.c + - SAUCE: upstream v6.0: security/apparmor: remove redundant ret variable + - SAUCE: upstream v6.0: apparmor: Use struct_size() helper in kmalloc() + - SAUCE: upstream v6.0: apparmor: Fix match_mnt_path_str() and match_mnt() + kernel-doc comment + - SAUCE: upstream v6.0: apparmor: Fix some kernel-doc comments + - SAUCE: upstream v6.0: apparmor: Fix some kernel-doc comments + - SAUCE: upstream v6.0: apparmor: Fix undefined reference to + `zlib_deflate_workspacesize' + - SAUCE: upstream v6.0: apparmor: Fix some kernel-doc comments + - SAUCE: upstream v6.0: apparmor: test: Remove some casts which are no-longer + required + - SAUCE: upstream v6.0: apparmor: add a kernel label to use on kernel objects + - SAUCE: upstream v6.0: apparmor: Convert secid mapping to XArrays instead of + IDR + - SAUCE: upstream v6.0: apparmor: disable showing the mode as part of a secid + to secctx + - SAUCE: upstream v6.0: apparmor: Mark alloc_unconfined() as static + - SAUCE: upstream v6.0: apparmor: Fix some kernel-doc comments + - SAUCE: upstream v6.0: apparmor: allow label to carry debug flags + - SAUCE: upstream v6.0: apparmor: extend policydb permission set by making use + of the xbits + - SAUCE: upstream v6.0: apparmor: move ptrace mediation to more logical + task.{h,c} + - SAUCE: upstream v6.0: apparmor: correct config reference to intended one + - SAUCE: upstream v6.0: lsm,io_uring: add LSM hooks for the new uring_cmd file + op + - SAUCE: upstream v6.0: selinux: implement the security_uring_cmd() LSM hook + - SAUCE: upstream v6.0: Smack: Provide read control for io_uring_cmd + - SAUCE: apparmor-next 6.1: apparmor: fix a memleak in multi_transaction_new() + - SAUCE: apparmor-next 6.1: apparmor: fix lockdep warning when removing a + namespace + - SAUCE: apparmor-next 6.1: apparmor: reserve mediation classes + - SAUCE: apparmor-next 6.1: apparmor: use zstd compression for profile data + - SAUCE: apparmor-next 6.1: apparmor: expose compression level limits in sysfs + - SAUCE: apparmor-next 6.1: apparmor: compute file permissions on profile load + - SAUCE: apparmor-next 6.1: apparmor: compute xmatch permissions on profile + load + - SAUCE: apparmor-next 6.1: apparmor: move fperm computation into + policy_unpack + - SAUCE: apparmor-next 6.1: apparmor: rework and cleanup fperm computation + - SAUCE: apparmor-next 6.1: apparmor: convert xmatch to use aa_perms structure + - SAUCE: apparmor-next 6.1: apparmor: compute policydb permission on profile + load + - SAUCE: apparmor-next 6.1: apparmor: combine file_rules and aa_policydb into + a single shared struct + - SAUCE: apparmor-next 6.1: apparmor: convert xmatch to using the new shared + policydb struct + - SAUCE: apparmor-next 6.1: apparmor: convert fperm lookup to use accept as an + index + - SAUCE: apparmor-next 6.1: apparmor: convert xmatch lookup to use accept as + an index + - SAUCE: apparmor-next 6.1: apparmor: cleanup shared permission struct + - SAUCE: apparmor-next 6.1: apparmor: convert policy lookup to use accept as + an index + - SAUCE: apparmor-next 6.1: apparmor: preparse for state being more than just + an integer + - SAUCE: apparmor-next 6.1: apparmor: Fix abi check to include v8 abi + - SAUCE: apparmor-next 6.1: apparmor: fix apparmor mediating locking non-fs + unix sockets + - SAUCE: apparmor-next 6.1: apparmor: extend policydb permission set by making + use of the xbits + - SAUCE: apparmor-next 6.1: apparmor: move dfa perm macros into policy_unpack + - SAUCE: apparmor-next 6.1: apparmor: extend xindex size + - SAUCE: apparmor-next 6.1: apparmor: isolate policy backwards compatibility + to its own file + - SAUCE: apparmor-next 6.1: apparmor: extend permissions to support a label + and tag string + - SAUCE: apparmor-next 6.1: apparmor: add mediation class information to + auditing + - SAUCE: apparmor-next 6.1: apparmor: add user mode flag + - SAUCE: apparmor-next 6.1: apparmor: make transition table unpack generic so + it can be reused + - SAUCE: apparmor-next 6.1: apparmor: group dfa policydb unpacking + - SAUCE: apparmor-next 6.1: apparmor: make unpack_array return a trianary + value + - SAUCE: apparmor-next 6.1: apparmor: add the ability for policy to specify a + permission table + - SAUCE: apparmor-next 6.1: apparmor: verify permission table indexes + - SAUCE: apparmor-next 6.1: apparmor: make sure perm indexes are accumulated + - SAUCE: apparmor-next 6.1: apparmor: cleanup: move perm accumulation into + perms.h + - SAUCE: apparmor-next 6.1: apparmor: verify loaded permission bits masks + don't overlap + - SAUCE: apparmor-next 6.1: apparmor: refactor profile rules and attachments + - SAUCE: apparmor-next 6.1: apparmor: rework profile->rules to be a list + - SAUCE: apparmor-next 6.1: apparmor: fix aa_class_names[] to match reserved + classes + - SAUCE: apparmor-next 6.1: apparmor: Fix regression in stacking due to label + flags + - SAUCE: apparmor-next 6.1: apparmor: Simplify obtain the newest label on a + cred + - SAUCE: apparmor-next 6.1: apparmor: make __aa_path_perm() static + - SAUCE: apparmor-next 6.1: apparmor: Fix doc comment for compute_fperms + - SAUCE: apparmor-next 6.1: apparmor: Remove unnecessary size check when + unpacking trans_table + - SAUCE: apparmor-next 6.1: apparmor: make sure the decompression ctx is + promperly initialized + - SAUCE: apparmor: add/use fns to print hash string hex value + - SAUCE: apparmor: patch to provide compatibility with v2.x net rules + - SAUCE: Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: make + __aa_path_perm() static" + - SAUCE: apparmor: af_unix mediation + - SAUCE: fix shutdown unix socket owner conditional check + - SAUCE: apparmor: rename aa_sock() to aa_unix_sk() + - SAUCE: apparmor: Add fine grained mediation of posix mqueues + - SAUCE: apparmor: LSM stacking: switch from SK_CTX() to aa_sock() + - SAUCE: lsm stacking v37: integrity: disassociate ima_filter_rule from + security_audit_rule + - SAUCE: lsm stacking v37: LSM: Infrastructure management of the sock security + - SAUCE: lsm stacking v37: LSM: Add the lsmblob data structure. + - SAUCE: lsm stacking v37: LSM: provide lsm name and id slot mappings + - SAUCE: lsm stacking v37: IMA: avoid label collisions with stacked LSMs + - SAUCE: lsm stacking v37: LSM: Use lsmblob in security_audit_rule_match + - SAUCE: lsm stacking v37: LSM: Use lsmblob in security_kernel_act_as + - SAUCE: lsm stacking v37: LSM: Use lsmblob in security_secctx_to_secid + - SAUCE: lsm stacking v37: LSM: Use lsmblob in security_secid_to_secctx + - SAUCE: lsm stacking v37: LSM: Use lsmblob in security_ipc_getsecid + - SAUCE: lsm stacking v37: LSM: Use lsmblob in security_current_getsecid + - SAUCE: lsm stacking v37: LSM: Use lsmblob in security_inode_getsecid + - SAUCE: lsm stacking v37: LSM: Use lsmblob in security_cred_getsecid + - SAUCE: lsm stacking v37: LSM: Specify which LSM to display + - SAUCE: fixup lsm stacking v37: LSM: Specify which LSM to display + - SAUCE: lsm stacking v37: LSM: Ensure the correct LSM context releaser + - SAUCE: lsm stacking v37: LSM: Use lsmcontext in security_secid_to_secctx + - SAUCE: lsm stacking v37: LSM: Use lsmcontext in security_inode_getsecctx + - SAUCE: lsm stacking v37: LSM: Use lsmcontext in + security_dentry_init_security + - SAUCE: lsm stacking v37: LSM: security_secid_to_secctx in netlink netfilter + - SAUCE: lsm stacking v37: NET: Store LSM netlabel data in a lsmblob + - SAUCE: lsm stacking v37: binder: Pass LSM identifier for confirmation + - SAUCE: lsm stacking v37: LSM: security_secid_to_secctx module selection + - SAUCE: lsm stacking v37: Audit: Keep multiple LSM data in audit_names + - SAUCE: lsm stacking v37: Audit: Create audit_stamp structure + - SAUCE: lsm stacking v37: LSM: Add a function to report multiple LSMs + - SAUCE: lsm stacking v37: Audit: Allow multiple records in an audit_buffer + - SAUCE: lsm stacking v37: Audit: Add record for multiple task security + contexts + - SAUCE: lsm stacking v37: audit: multiple subject lsm values for netlabel + - SAUCE: lsm stacking v37: Audit: Add record for multiple object contexts + - SAUCE: lsm stacking v37: netlabel: Use a struct lsmblob in audit data + - SAUCE: lsm stacking v37: LSM: Removed scaffolding function lsmcontext_init + - SAUCE: lsm stacking v37: LSM: Add /proc attr entry for full LSM context + - SAUCE: lsm stacking v37: AppArmor: Remove the exclusive flag + - SAUCE: security, lsm: Introduce security_create_user_ns() + - SAUCE: bpf-lsm: Make bpf_lsm_userns_create() sleepable + - SAUCE: selinux: Implement userns_create hook + - SAUCE: apparmor: add user namespace creation mediation + - [Config] update configs after apply new apparmor patch set + + * kinetic: apply new apparmor and LSM stacking patch set (LP: #1989983) // + 5.19.0-17.17: kernel NULL pointer dereference, address: 0000000000000084 + (LP: #1990236) + - SAUCE: apparmor: fix oops in unix owner conditional setup + + * Miscellaneous Ubuntu changes + - [Config] make sure CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is enforced + + -- Andrea Righi Tue, 27 Sep 2022 16:51:09 +0200 + +linux (5.19.0-18.18) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-18.18 -proposed tracker (LP: #1990366) + + * 5.19.0-17.17: kernel NULL pointer dereference, address: 0000000000000084 + (LP: #1990236) + - Revert "UBUNTU: SAUCE: apparmor: Fix regression in stacking due to label + flags" + - Revert "UBUNTU: [Config] disable SECURITY_APPARMOR_RESTRICT_USERNS" + - Revert "UBUNTU: SAUCE: Revert "hwrng: virtio - add an internal buffer"" + - Revert "UBUNTU: SAUCE: Revert "hwrng: virtio - don't wait on cleanup"" + - Revert "UBUNTU: SAUCE: Revert "hwrng: virtio - don't waste entropy"" + - Revert "UBUNTU: SAUCE: Revert "hwrng: virtio - always add a pending + request"" + - Revert "UBUNTU: SAUCE: Revert "hwrng: virtio - unregister device before + reset"" + - Revert "UBUNTU: SAUCE: Revert "virtio-rng: make device ready before making + request"" + - Revert "UBUNTU: [Config] update configs after apply new apparmor patch set" + - Revert "UBUNTU: SAUCE: apparmor: add user namespace creation mediation" + - Revert "UBUNTU: SAUCE: selinux: Implement userns_create hook" + - Revert "UBUNTU: SAUCE: bpf-lsm: Make bpf_lsm_userns_create() sleepable" + - Revert "UBUNTU: SAUCE: security, lsm: Introduce security_create_user_ns()" + - Revert "UBUNTU: SAUCE: lsm stacking v37: AppArmor: Remove the exclusive + flag" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: Add /proc attr entry for full + LSM context" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: Removed scaffolding function + lsmcontext_init" + - Revert "UBUNTU: SAUCE: lsm stacking v37: netlabel: Use a struct lsmblob in + audit data" + - Revert "UBUNTU: SAUCE: lsm stacking v37: Audit: Add record for multiple + object contexts" + - Revert "UBUNTU: SAUCE: lsm stacking v37: audit: multiple subject lsm values + for netlabel" + - Revert "UBUNTU: SAUCE: lsm stacking v37: Audit: Add record for multiple task + security contexts" + - Revert "UBUNTU: SAUCE: lsm stacking v37: Audit: Allow multiple records in an + audit_buffer" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: Add a function to report + multiple LSMs" + - Revert "UBUNTU: SAUCE: lsm stacking v37: Audit: Create audit_stamp + structure" + - Revert "UBUNTU: SAUCE: lsm stacking v37: Audit: Keep multiple LSM data in + audit_names" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: security_secid_to_secctx + module selection" + - Revert "UBUNTU: SAUCE: lsm stacking v37: binder: Pass LSM identifier for + confirmation" + - Revert "UBUNTU: SAUCE: lsm stacking v37: NET: Store LSM netlabel data in a + lsmblob" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: security_secid_to_secctx in + netlink netfilter" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: Use lsmcontext in + security_dentry_init_security" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: Use lsmcontext in + security_inode_getsecctx" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: Use lsmcontext in + security_secid_to_secctx" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: Ensure the correct LSM context + releaser" + - Revert "UBUNTU: SAUCE: fixup lsm stacking v37: LSM: Specify which LSM to + display" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: Specify which LSM to display" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: Use lsmblob in + security_cred_getsecid" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: Use lsmblob in + security_inode_getsecid" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: Use lsmblob in + security_current_getsecid" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: Use lsmblob in + security_ipc_getsecid" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: Use lsmblob in + security_secid_to_secctx" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: Use lsmblob in + security_secctx_to_secid" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: Use lsmblob in + security_kernel_act_as" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: Use lsmblob in + security_audit_rule_match" + - Revert "UBUNTU: SAUCE: lsm stacking v37: IMA: avoid label collisions with + stacked LSMs" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: provide lsm name and id slot + mappings" + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: Add the lsmblob data + structure." + - Revert "UBUNTU: SAUCE: lsm stacking v37: LSM: Infrastructure management of + the sock security" + - Revert "UBUNTU: SAUCE: lsm stacking v37: integrity: disassociate + ima_filter_rule from security_audit_rule" + - Revert "UBUNTU: SAUCE: apparmor: LSM stacking: switch from SK_CTX() to + aa_sock()" + - Revert "UBUNTU: SAUCE: apparmor: Add fine grained mediation of posix + mqueues" + - Revert "UBUNTU: SAUCE: apparmor: rename aa_sock() to aa_unix_sk()" + - Revert "UBUNTU: SAUCE: fix shutdown unix socket owner conditional check" + - Revert "UBUNTU: SAUCE: apparmor: af_unix mediation" + - Revert "UBUNTU: SAUCE: apparmor: patch to provide compatibility with v2.x + net rules" + - Revert "UBUNTU: SAUCE: apparmor: add/use fns to print hash string hex value" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: fix aa_class_names[] to + match reserved classes" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: rework profile->rules to + be a list" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: refactor profile rules + and attachments" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: verify loaded permission + bits masks don't overlap" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: cleanup: move perm + accumulation into perms.h" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: make sure perm indexes + are accumulated" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: verify permission table + indexes" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: add the ability for + policy to specify a permission table" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: make unpack_array return + a trianary value" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: group dfa policydb + unpacking" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: make transition table + unpack generic so it can be reused" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: add user mode flag" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: add mediation class + information to auditing" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: extend permissions to + support a label and tag string" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: isolate policy backwards + compatibility to its own file" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: extend xindex size" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: move dfa perm macros + into policy_unpack" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: extend policydb + permission set by making use of the xbits" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: fix apparmor mediating + locking non-fs unix sockets" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: Fix abi check to include + v8 abi" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: preparse for state being + more than just an integer" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: convert policy lookup to + use accept as an index" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: cleanup shared + permission struct" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: convert xmatch lookup to + use accept as an index" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: convert fperm lookup to + use accept as an index" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: convert xmatch to using + the new shared policydb struct" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: combine file_rules and + aa_policydb into a single shared struct" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: compute policydb + permission on profile load" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: convert xmatch to use + aa_perms structure" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: rework and cleanup fperm + computation" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: move fperm computation + into policy_unpack" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: compute xmatch + permissions on profile load" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: compute file permissions + on profile load" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: expose compression level + limits in sysfs" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: use zstd compression for + profile data" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: reserve mediation + classes" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: fix lockdep warning when + removing a namespace" + - Revert "UBUNTU: SAUCE: apparmor-next 6.1: apparmor: fix a memleak in + multi_transaction_new()" + - Revert "UBUNTU: SAUCE: upstream v6.0: Smack: Provide read control for + io_uring_cmd" + - Revert "UBUNTU: SAUCE: upstream v6.0: selinux: implement the + security_uring_cmd() LSM hook" + - Revert "UBUNTU: SAUCE: upstream v6.0: lsm,io_uring: add LSM hooks for the + new uring_cmd file op" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: correct config reference to + intended one" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: move ptrace mediation to + more logical task.{h,c}" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: extend policydb permission + set by making use of the xbits" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: allow label to carry debug + flags" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: Fix some kernel-doc + comments" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: Mark alloc_unconfined() as + static" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: disable showing the mode as + part of a secid to secctx" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: Convert secid mapping to + XArrays instead of IDR" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: add a kernel label to use on + kernel objects" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: test: Remove some casts + which are no-longer required" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: Fix some kernel-doc + comments" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: Fix undefined reference to + `zlib_deflate_workspacesize'" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: Fix some kernel-doc + comments" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: Fix some kernel-doc + comments" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: Fix match_mnt_path_str() and + match_mnt() kernel-doc comment" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: Use struct_size() helper in + kmalloc()" + - Revert "UBUNTU: SAUCE: upstream v6.0: security/apparmor: remove redundant + ret variable" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: resolve uninitialized symbol + warnings in policy_unpack_test.c" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: don't create raw_sha1 + symlink if sha1 hashing is disabled" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: Enable tuning of policy + paranoid load for embedded systems" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: make export of raw binary + profile to userspace optional" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: Update help description of + policy hash for introspection" + - Revert "UBUNTU: SAUCE: upstream v6.0: lsm: Fix kernel-doc" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: Fix kernel-doc" + - Revert "UBUNTU: SAUCE: upstream v6.0: apparmor: fix absroot causing audited + secids to begin with =" + - Revert "Revert "UBUNTU: SAUCE: apparmor: add/use fns to print hash string + hex value"" + - Revert "Revert "UBUNTU: SAUCE: apparmor: patch to provide compatibility with + v2.x net rules"" + - Revert "Revert "UBUNTU: SAUCE: apparmor: af_unix mediation"" + - Revert "Revert "UBUNTU: SAUCE: apparmor: fix use after free in + sk_peer_label"" + - Revert "Revert "UBUNTU SAUCE: apparmor: fix apparmor mediating locking non- + fs, unix sockets"" + - Revert "Revert "apparmor: fix absroot causing audited secids to begin with + ="" + - Revert "Revert "UBUNTU: SAUCE: apparmor: disable showing the mode as part of + a secid to secctx"" + - Revert "Revert "UBUNTU: SAUCE: apparmor: rename aa_sock() to aa_unix_sk()"" + - Revert "Revert "UBUNTU: SAUCE: apparmor: LSM stacking: switch from SK_CTX() + to aa_sock()"" + - Revert "Revert "UBUNTU: SAUCE: LSM: Infrastructure management of the sock + security"" + - Revert "Revert "UBUNTU: SAUCE: LSM: Create and manage the lsmblob data + structure."" + - Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in + security_audit_rule_match"" + - Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in security_kernel_act_as"" + - Revert "Revert "UBUNTU: SAUCE: net: Prepare UDS for security module + stacking"" + - Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in + security_secctx_to_secid"" + - Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in + security_secid_to_secctx"" + - Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in security_ipc_getsecid"" + - Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in security_task_getsecid"" + - Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in security_inode_getsecid"" + - Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in security_cred_getsecid"" + - Revert "Revert "UBUNTU: SAUCE: IMA: Change internal interfaces to use + lsmblobs"" + - Revert "Revert "UBUNTU: SAUCE: LSM: Specify which LSM to display"" + - Revert "Revert "UBUNTU: SAUCE: LSM: Ensure the correct LSM context + releaser"" + - Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmcontext in + security_secid_to_secctx"" + - Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmcontext in + security_inode_getsecctx"" + - Revert "Revert "UBUNTU: SAUCE: LSM: security_secid_to_secctx in netlink + netfilter"" + - Revert "Revert "UBUNTU: SAUCE: NET: Store LSM netlabel data in a lsmblob"" + - Revert "Revert "UBUNTU: SAUCE: Audit: Add new record for multiple process + LSM attributes"" + - Revert "Revert "UBUNTU: SAUCE: Audit: Fix incorrect static inline function + declration."" + - Revert "Revert "UBUNTU: SAUCE: Audit: Add a new record for multiple object + LSM attributes"" + - Revert "Revert "UBUNTU: SAUCE: LSM: Add /proc attr entry for full LSM + context"" + - Revert "Revert "UBUNTU: SAUCE: AppArmor: Remove the exclusive flag"" + - Revert "Revert "UBUNTU: SAUCE: Audit: Fix for missing NULL check"" + - Revert "Revert "UBUNTU: SAUCE: apparmor: rename kzfree() to + kfree_sensitive()"" + - Revert "Revert "UBUNTU: SAUCE: LSM: change ima_read_file() to use lsmblob"" + - Revert "Revert "UBUNTU: SAUCE: LSM: Use lsmblob in smk_netlbl_mls()"" + - Revert "Revert "UBUNTU: SAUCE: apparmor: Fix build error, make sk parameter + const"" + - Revert "Revert "UBUNTU: SAUCE: LSM: Specify which LSM to display (using + struct cred as input)"" + + * [22.04 FEAT] Enhanced Interpretation for PCI Functions on s390x - kernel + part (LP: #1853306) + - s390/sclp: detect the zPCI load/store interpretation facility + - s390/sclp: detect the AISII facility + - s390/sclp: detect the AENI facility + - s390/sclp: detect the AISI facility + - s390/airq: pass more TPI info to airq handlers + - s390/airq: allow for airq structure that uses an input vector + - s390/pci: externalize the SIC operation controls and routine + - s390/pci: stash associated GISA designation + - s390/pci: stash dtsm and maxstbl + - vfio/pci: introduce CONFIG_VFIO_PCI_ZDEV_KVM + - KVM: s390: pci: add basic kvm_zdev structure + - KVM: s390: pci: do initial setup for AEN interpretation + - KVM: s390: pci: enable host forwarding of Adapter Event Notifications + - KVM: s390: mechanism to enable guest zPCI Interpretation + - KVM: s390: pci: provide routines for enabling/disabling interrupt forwarding + - KVM: s390: pci: add routines to start/stop interpretive execution + - vfio-pci/zdev: add open/close device hooks + - vfio-pci/zdev: add function handle to clp base capability + - vfio-pci/zdev: different maxstbl for interpreted devices + - KVM: s390: add KVM_S390_ZPCI_OP to manage guest zPCI devices + - MAINTAINERS: additional files related kvm s390 pci passthrough + - Documentation: kvm: extend KVM_S390_ZPCI_OP subheading underline + - KVM: s390: pci: Hook to access KVM lowlevel from VFIO + + * [22.10 FEAT] [IO2201] Independent Usage of Secondary Physical Function + (LP: #1959542) + - PCI: Clean up pci_scan_slot() + - PCI: Split out next_ari_fn() from next_fn() + - PCI: Move jailhouse's isolated function handling to pci_scan_slot() + - PCI: Extend isolated function probing to s390 + - s390/pci: allow zPCI zbus without a function zero + + * AMD ACP 6.2 DMIC support (LP: #1989518) + - ASoC: amd: add Pink Sardine platform ACP IP register header + - ASoC: amd: add Pink Sardine ACP PCI driver + - ASoC: amd: add acp6.2 init/de-init functions + - ASoC: amd: add platform devices for acp6.2 pdm driver and dmic driver + - ASoC: amd: add acp6.2 pdm platform driver + - ASoC: amd: add acp6.2 irq handler + - ASoC: amd: add acp6.2 pdm driver dma ops + - ASoC: amd: add acp6.2 pci driver pm ops + - ASoC: amd: add acp6.2 pdm driver pm ops + - ASoC: amd: enable Pink Sardine acp6.2 drivers build + - ASoC: amd: create platform device for acp6.2 machine driver + - ASoC: amd: add Pink Sardine machine driver using dmic + - ASoC: amd: enable Pink sardine platform machine driver build. + - [Config] Enable audio for AMD PinkSardine + + * support independent clock and LED GPIOs for Intel IPU6 platforms + (LP: #1989046) + - SAUCE: platform/x86: int3472: support independent clock and LED GPIOs + + * CVE-2022-2978 + - SAUCE: fs: fix UAF/GPF bug in nilfs_mdt_destroy + + * Miscellaneous Ubuntu changes + - [Config] disable SECURITY_APPARMOR_RESTRICT_USERNS + - SAUCE: Add mdev_set_iommu_device() kABI. + - SAUCE: apparmor: Fix regression in stacking due to label flags + - [Config] update toolchain version + + * Miscellaneous upstream changes + - Revert "drm/i915/opregion: check port number bounds for SWSCI display power + state" + + -- Andrea Righi Wed, 21 Sep 2022 16:28:46 +0200 + +linux (5.19.0-17.17) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-17.17 -proposed tracker (LP: #1989987) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * multiple kernel oops regarding hung tasks delaying boot (LP: #1989258) + - SAUCE: Revert "virtio-rng: make device ready before making request" + - SAUCE: Revert "hwrng: virtio - unregister device before reset" + - SAUCE: Revert "hwrng: virtio - always add a pending request" + - SAUCE: Revert "hwrng: virtio - don't waste entropy" + - SAUCE: Revert "hwrng: virtio - don't wait on cleanup" + - SAUCE: Revert "hwrng: virtio - add an internal buffer" + + * kinetic: apply new apparmor and LSM stacking patch set (LP: #1989983) + - Revert "UBUNTU: SAUCE: LSM: Specify which LSM to display (using struct cred + as input)" + - Revert "UBUNTU: SAUCE: apparmor: Fix build error, make sk parameter const" + - Revert "UBUNTU: SAUCE: LSM: Use lsmblob in smk_netlbl_mls()" + - Revert "UBUNTU: SAUCE: LSM: change ima_read_file() to use lsmblob" + - Revert "UBUNTU: SAUCE: apparmor: rename kzfree() to kfree_sensitive()" + - Revert "UBUNTU: SAUCE: Audit: Fix for missing NULL check" + - Revert "UBUNTU: SAUCE: AppArmor: Remove the exclusive flag" + - Revert "UBUNTU: SAUCE: LSM: Add /proc attr entry for full LSM context" + - Revert "UBUNTU: SAUCE: Audit: Add a new record for multiple object LSM + attributes" + - Revert "UBUNTU: SAUCE: Audit: Fix incorrect static inline function + declration." + - Revert "UBUNTU: SAUCE: Audit: Add new record for multiple process LSM + attributes" + - Revert "UBUNTU: SAUCE: NET: Store LSM netlabel data in a lsmblob" + - Revert "UBUNTU: SAUCE: LSM: security_secid_to_secctx in netlink netfilter" + - Revert "UBUNTU: SAUCE: LSM: Use lsmcontext in security_inode_getsecctx" + - Revert "UBUNTU: SAUCE: LSM: Use lsmcontext in security_secid_to_secctx" + - Revert "UBUNTU: SAUCE: LSM: Ensure the correct LSM context releaser" + - Revert "UBUNTU: SAUCE: LSM: Specify which LSM to display" + - Revert "UBUNTU: SAUCE: IMA: Change internal interfaces to use lsmblobs" + - Revert "UBUNTU: SAUCE: LSM: Use lsmblob in security_cred_getsecid" + - Revert "UBUNTU: SAUCE: LSM: Use lsmblob in security_inode_getsecid" + - Revert "UBUNTU: SAUCE: LSM: Use lsmblob in security_task_getsecid" + - Revert "UBUNTU: SAUCE: LSM: Use lsmblob in security_ipc_getsecid" + - Revert "UBUNTU: SAUCE: LSM: Use lsmblob in security_secid_to_secctx" + - Revert "UBUNTU: SAUCE: LSM: Use lsmblob in security_secctx_to_secid" + - Revert "UBUNTU: SAUCE: net: Prepare UDS for security module stacking" + - Revert "UBUNTU: SAUCE: LSM: Use lsmblob in security_kernel_act_as" + - Revert "UBUNTU: SAUCE: LSM: Use lsmblob in security_audit_rule_match" + - Revert "UBUNTU: SAUCE: LSM: Create and manage the lsmblob data structure." + - Revert "UBUNTU: SAUCE: LSM: Infrastructure management of the sock security" + - Revert "UBUNTU: SAUCE: apparmor: LSM stacking: switch from SK_CTX() to + aa_sock()" + - Revert "UBUNTU: SAUCE: apparmor: rename aa_sock() to aa_unix_sk()" + - Revert "UBUNTU: SAUCE: apparmor: disable showing the mode as part of a secid + to secctx" + - Revert "apparmor: fix absroot causing audited secids to begin with =" + - Revert "UBUNTU SAUCE: apparmor: fix apparmor mediating locking non-fs, unix + sockets" + - Revert "UBUNTU: SAUCE: apparmor: fix use after free in sk_peer_label" + - Revert "UBUNTU: SAUCE: apparmor: af_unix mediation" + - Revert "UBUNTU: SAUCE: apparmor: patch to provide compatibility with v2.x + net rules" + - Revert "UBUNTU: SAUCE: apparmor: add/use fns to print hash string hex value" + - SAUCE: upstream v6.0: apparmor: fix absroot causing audited secids to begin + with = + - SAUCE: upstream v6.0: apparmor: Fix kernel-doc + - SAUCE: upstream v6.0: lsm: Fix kernel-doc + - SAUCE: upstream v6.0: apparmor: Update help description of policy hash for + introspection + - SAUCE: upstream v6.0: apparmor: make export of raw binary profile to + userspace optional + - SAUCE: upstream v6.0: apparmor: Enable tuning of policy paranoid load for + embedded systems + - SAUCE: upstream v6.0: apparmor: don't create raw_sha1 symlink if sha1 + hashing is disabled + - SAUCE: upstream v6.0: apparmor: resolve uninitialized symbol warnings in + policy_unpack_test.c + - SAUCE: upstream v6.0: security/apparmor: remove redundant ret variable + - SAUCE: upstream v6.0: apparmor: Use struct_size() helper in kmalloc() + - SAUCE: upstream v6.0: apparmor: Fix match_mnt_path_str() and match_mnt() + kernel-doc comment + - SAUCE: upstream v6.0: apparmor: Fix some kernel-doc comments + - SAUCE: upstream v6.0: apparmor: Fix some kernel-doc comments + - SAUCE: upstream v6.0: apparmor: Fix undefined reference to + `zlib_deflate_workspacesize' + - SAUCE: upstream v6.0: apparmor: Fix some kernel-doc comments + - SAUCE: upstream v6.0: apparmor: test: Remove some casts which are no-longer + required + - SAUCE: upstream v6.0: apparmor: add a kernel label to use on kernel objects + - SAUCE: upstream v6.0: apparmor: Convert secid mapping to XArrays instead of + IDR + - SAUCE: upstream v6.0: apparmor: disable showing the mode as part of a secid + to secctx + - SAUCE: upstream v6.0: apparmor: Mark alloc_unconfined() as static + - SAUCE: upstream v6.0: apparmor: Fix some kernel-doc comments + - SAUCE: upstream v6.0: apparmor: allow label to carry debug flags + - SAUCE: upstream v6.0: apparmor: extend policydb permission set by making use + of the xbits + - SAUCE: upstream v6.0: apparmor: move ptrace mediation to more logical + task.{h,c} + - SAUCE: upstream v6.0: apparmor: correct config reference to intended one + - SAUCE: upstream v6.0: lsm,io_uring: add LSM hooks for the new uring_cmd file + op + - SAUCE: upstream v6.0: selinux: implement the security_uring_cmd() LSM hook + - SAUCE: upstream v6.0: Smack: Provide read control for io_uring_cmd + - SAUCE: apparmor-next 6.1: apparmor: fix a memleak in multi_transaction_new() + - SAUCE: apparmor-next 6.1: apparmor: fix lockdep warning when removing a + namespace + - SAUCE: apparmor-next 6.1: apparmor: reserve mediation classes + - SAUCE: apparmor-next 6.1: apparmor: use zstd compression for profile data + - SAUCE: apparmor-next 6.1: apparmor: expose compression level limits in sysfs + - SAUCE: apparmor-next 6.1: apparmor: compute file permissions on profile load + - SAUCE: apparmor-next 6.1: apparmor: compute xmatch permissions on profile + load + - SAUCE: apparmor-next 6.1: apparmor: move fperm computation into + policy_unpack + - SAUCE: apparmor-next 6.1: apparmor: rework and cleanup fperm computation + - SAUCE: apparmor-next 6.1: apparmor: convert xmatch to use aa_perms structure + - SAUCE: apparmor-next 6.1: apparmor: compute policydb permission on profile + load + - SAUCE: apparmor-next 6.1: apparmor: combine file_rules and aa_policydb into + a single shared struct + - SAUCE: apparmor-next 6.1: apparmor: convert xmatch to using the new shared + policydb struct + - SAUCE: apparmor-next 6.1: apparmor: convert fperm lookup to use accept as an + index + - SAUCE: apparmor-next 6.1: apparmor: convert xmatch lookup to use accept as + an index + - SAUCE: apparmor-next 6.1: apparmor: cleanup shared permission struct + - SAUCE: apparmor-next 6.1: apparmor: convert policy lookup to use accept as + an index + - SAUCE: apparmor-next 6.1: apparmor: preparse for state being more than just + an integer + - SAUCE: apparmor-next 6.1: apparmor: Fix abi check to include v8 abi + - SAUCE: apparmor-next 6.1: apparmor: fix apparmor mediating locking non-fs + unix sockets + - SAUCE: apparmor-next 6.1: apparmor: extend policydb permission set by making + use of the xbits + - SAUCE: apparmor-next 6.1: apparmor: move dfa perm macros into policy_unpack + - SAUCE: apparmor-next 6.1: apparmor: extend xindex size + - SAUCE: apparmor-next 6.1: apparmor: isolate policy backwards compatibility + to its own file + - SAUCE: apparmor-next 6.1: apparmor: extend permissions to support a label + and tag string + - SAUCE: apparmor-next 6.1: apparmor: add mediation class information to + auditing + - SAUCE: apparmor-next 6.1: apparmor: add user mode flag + - SAUCE: apparmor-next 6.1: apparmor: make transition table unpack generic so + it can be reused + - SAUCE: apparmor-next 6.1: apparmor: group dfa policydb unpacking + - SAUCE: apparmor-next 6.1: apparmor: make unpack_array return a trianary + value + - SAUCE: apparmor-next 6.1: apparmor: add the ability for policy to specify a + permission table + - SAUCE: apparmor-next 6.1: apparmor: verify permission table indexes + - SAUCE: apparmor-next 6.1: apparmor: make sure perm indexes are accumulated + - SAUCE: apparmor-next 6.1: apparmor: cleanup: move perm accumulation into + perms.h + - SAUCE: apparmor-next 6.1: apparmor: verify loaded permission bits masks + don't overlap + - SAUCE: apparmor-next 6.1: apparmor: refactor profile rules and attachments + - SAUCE: apparmor-next 6.1: apparmor: rework profile->rules to be a list + - SAUCE: apparmor-next 6.1: apparmor: fix aa_class_names[] to match reserved + classes + - SAUCE: apparmor: add/use fns to print hash string hex value + - SAUCE: apparmor: patch to provide compatibility with v2.x net rules + - SAUCE: apparmor: af_unix mediation + - SAUCE: fix shutdown unix socket owner conditional check + - SAUCE: apparmor: rename aa_sock() to aa_unix_sk() + - SAUCE: apparmor: Add fine grained mediation of posix mqueues + - SAUCE: apparmor: LSM stacking: switch from SK_CTX() to aa_sock() + - SAUCE: lsm stacking v37: integrity: disassociate ima_filter_rule from + security_audit_rule + - SAUCE: lsm stacking v37: LSM: Infrastructure management of the sock security + - SAUCE: lsm stacking v37: LSM: Add the lsmblob data structure. + - SAUCE: lsm stacking v37: LSM: provide lsm name and id slot mappings + - SAUCE: lsm stacking v37: IMA: avoid label collisions with stacked LSMs + - SAUCE: lsm stacking v37: LSM: Use lsmblob in security_audit_rule_match + - SAUCE: lsm stacking v37: LSM: Use lsmblob in security_kernel_act_as + - SAUCE: lsm stacking v37: LSM: Use lsmblob in security_secctx_to_secid + - SAUCE: lsm stacking v37: LSM: Use lsmblob in security_secid_to_secctx + - SAUCE: lsm stacking v37: LSM: Use lsmblob in security_ipc_getsecid + - SAUCE: lsm stacking v37: LSM: Use lsmblob in security_current_getsecid + - SAUCE: lsm stacking v37: LSM: Use lsmblob in security_inode_getsecid + - SAUCE: lsm stacking v37: LSM: Use lsmblob in security_cred_getsecid + - SAUCE: lsm stacking v37: LSM: Specify which LSM to display + - SAUCE: fixup lsm stacking v37: LSM: Specify which LSM to display + - SAUCE: lsm stacking v37: LSM: Ensure the correct LSM context releaser + - SAUCE: lsm stacking v37: LSM: Use lsmcontext in security_secid_to_secctx + - SAUCE: lsm stacking v37: LSM: Use lsmcontext in security_inode_getsecctx + - SAUCE: lsm stacking v37: LSM: Use lsmcontext in + security_dentry_init_security + - SAUCE: lsm stacking v37: LSM: security_secid_to_secctx in netlink netfilter + - SAUCE: lsm stacking v37: NET: Store LSM netlabel data in a lsmblob + - SAUCE: lsm stacking v37: binder: Pass LSM identifier for confirmation + - SAUCE: lsm stacking v37: LSM: security_secid_to_secctx module selection + - SAUCE: lsm stacking v37: Audit: Keep multiple LSM data in audit_names + - SAUCE: lsm stacking v37: Audit: Create audit_stamp structure + - SAUCE: lsm stacking v37: LSM: Add a function to report multiple LSMs + - SAUCE: lsm stacking v37: Audit: Allow multiple records in an audit_buffer + - SAUCE: lsm stacking v37: Audit: Add record for multiple task security + contexts + - SAUCE: lsm stacking v37: audit: multiple subject lsm values for netlabel + - SAUCE: lsm stacking v37: Audit: Add record for multiple object contexts + - SAUCE: lsm stacking v37: netlabel: Use a struct lsmblob in audit data + - SAUCE: lsm stacking v37: LSM: Removed scaffolding function lsmcontext_init + - SAUCE: lsm stacking v37: LSM: Add /proc attr entry for full LSM context + - SAUCE: lsm stacking v37: AppArmor: Remove the exclusive flag + - SAUCE: security, lsm: Introduce security_create_user_ns() + - SAUCE: bpf-lsm: Make bpf_lsm_userns_create() sleepable + - SAUCE: selinux: Implement userns_create hook + - SAUCE: apparmor: add user namespace creation mediation + - [Config] update configs after apply new apparmor patch set + + * [22.10 FEAT] KVM: Secure Execution guest dump encryption with customer keys + - kernel part (LP: #1959940) + - s390/uv: Add SE hdr query information + - s390/uv: Add dump fields to query + - KVM: s390: pv: Add query interface + - KVM: s390: pv: Add dump support definitions + - KVM: s390: pv: Add query dump information + - KVM: s390: Add configuration dump functionality + - KVM: s390: Add CPU dump functionality + - KVM: s390: Add KVM_CAP_S390_PROTECTED_DUMP + - Documentation: virt: Protected virtual machine dumps + - Documentation/virt/kvm/api.rst: Add protvirt dump/info api descriptions + - Documentation/virt/kvm/api.rst: Explain rc/rrc delivery + + * [SRU][OEM-5.14/Jammy/OEM-5.17][PATCH 0/1] Fix blank screen on Thinkpad ADL + 4K+ panel (LP: #1980621) + - SAUCE: drm/i915: Implement WaEdpLinkRateDataReload + - SAUCE: Revert "drm/i915/display: Re-add check for low voltage sku for max dp + source rate" + + * [UBUNTU 22.04] s390/qeth: cache link_info for ethtool (LP: #1984103) + - s390/qeth: cache link_info for ethtool + + * Kernel livepatch support for for s390x (LP: #1639924) + - [Config] Enable EXPOLINE_EXTERN on s390x + + * IWLMEI may cause device down at resuming from s2idle (LP: #1987312) + - [Config] Disable IWLMEI + + * Raise CONFIG_NR_CPUS (LP: #1967889) + - [Config] Raise riscv64 CONFIG_NR_CPUS to 32 + + * PolarFire Icicle Kit: missing USB support (LP: #1986970) + - usb: musb: Add support for PolarFire SoC's musb controller + - usb: musb: mpfs: Fix error codes in probe() + - usb: musb: mpfs: add missing clk_disable_unprepare() in mpfs_remove() + - [Config] Enable CONFIG_USB_MUSB_POLARFIRE_SOC on riscv64 + + * System freeze after resuming from suspend due to PCI ASPM settings + (LP: #1980829) + - SAUCE: PCI/ASPM: Save/restore L1SS Capability for suspend/resume + - SAUCE: whitelist platforms that needs save/restore ASPM L1SS for + suspend/resume + + * Please enable CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU (LP: #1980861) + - [Config] Switch from DECOMP_SINGLE to DECOMP_MULTI_PERCPU + + * Miscellaneous Ubuntu changes + - [Config] enable security-related configs + - [Packaging] Make stamp-install- target reentrant + - [Packaging] Pass kernel build_arch to dkms + - [Packaging] Enable building zfs during cross-compile + - [Packaging] temporarily disable signing for ppc64el + + -- Andrea Righi Fri, 16 Sep 2022 18:03:10 +0200 + +linux (5.19.0-16.16) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-16.16 -proposed tracker (LP: #1988707) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Kinetic update: v5.19.7 upstream stable release (LP: #1988733) + - drm/vc4: hdmi: Rework power up + - drm/vc4: hdmi: Depends on CONFIG_PM + - firmware: tegra: bpmp: Do only aligned access to IPC memory area + - crypto: lib - remove unneeded selection of XOR_BLOCKS + - docs: kerneldoc-preamble: Test xeCJK.sty before loading + - arm64: errata: Add Cortex-A510 to the repeat tlbi list + - Bluetooth: L2CAP: Fix build errors in some archs + - Revert "PCI/portdrv: Don't disable AER reporting in + get_port_device_capability()" + - HID: steam: Prevent NULL pointer dereference in steam_{recv,send}_report + - udmabuf: Set the DMA mask for the udmabuf device (v2) + - media: pvrusb2: fix memory leak in pvr_probe + - USB: gadget: Fix use-after-free Read in usb_udc_uevent() + - HID: hidraw: fix memory leak in hidraw_release() + - net: fix refcount bug in sk_psock_get (2) + - fbdev: fb_pm2fb: Avoid potential divide by zero error + - ftrace: Fix NULL pointer dereference in is_ftrace_trampoline when ftrace is + dead + - bpf: Don't redirect packets with invalid pkt_len + - mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuse + - ALSA: usb-audio: Add quirk for LH Labs Geek Out HD Audio 1V5 + - HID: input: fix uclogic tablets + - HID: add Lenovo Yoga C630 battery quirk + - HID: AMD_SFH: Add a DMI quirk entry for Chromebooks + - HID: Add Apple Touchbar on T2 Macs in hid_have_special_driver list + - HID: asus: ROG NKey: Ignore portion of 0x5a report + - HID: nintendo: fix rumble worker null pointer deref + - HID: thrustmaster: Add sparco wheel and fix array length + - HID: intel-ish-hid: ipc: Add Meteor Lake PCI device ID + - mmc: mtk-sd: Clear interrupts when cqe off/disable + - mmc: sdhci-of-dwcmshc: add reset call back for rockchip Socs + - mmc: sdhci-of-dwcmshc: rename rk3568 to rk35xx + - mmc: sdhci-of-dwcmshc: Re-enable support for the BlueField-3 SoC + - fs/ntfs3: Fix work with fragmented xattr + - ASoC: sh: rz-ssi: Improve error handling in rz_ssi_probe() error path + - ASoC: rt5640: Fix the JD voltage dropping issue + - rtla: Fix tracer name + - drm/amd/display: Add a missing register field for HPO DP stream encoder + - drm/amd/display: Device flash garbage before get in OS + - drm/amd/display: Avoid MPC infinite loop + - drm/amd/display: Fix HDMI VSIF V3 incorrect issue + - drm/amd/display: For stereo keep "FLIP_ANY_FRAME" + - drm/amd/display: clear optc underflow before turn off odm clock + - drm/amd/display: Fix TDR eDP and USB4 display light up issue + - drm/amd/pm: skip pptable override for smu_v13_0_7 + - drm/amdkfd: Handle restart of kfd_ioctl_wait_events + - drm/amd/pm: Fix a potential gpu_metrics_table memory leak + - ksmbd: return STATUS_BAD_NETWORK_NAME error status if share is not + configured + - net: lan966x: fix checking for return value of platform_get_irq_byname() + - neigh: fix possible DoS due to net iface start/stop loop + - ALSA: hda/realtek: Add quirks for ASUS Zenbooks using CS35L41 + - s390/hypfs: avoid error message under KVM + - ksmbd: don't remove dos attribute xattr on O_TRUNC open + - drm/amdgpu: disable 3DCGCG/CGLS temporarily due to stability issue + - drm/amd/pm: add missing ->fini_microcode interface for Sienna Cichlid + - drm/amd/pm: add missing ->fini_xxxx interfaces for some SMU13 asics + - drm/amd/display: Fix pixel clock programming + - drm/amdgpu: Increase tlb flush timeout for sriov + - drm/amd/display: Fix plug/unplug external monitor will hang while playback + MPO video + - drm/amd/display: avoid doing vm_init multiple time + - drm/amdgpu: Add decode_iv_ts helper for ih_v6 block + - drm/amdgpu: Add secure display TA load for Renoir + - drm/amdgpu: Fix interrupt handling on ih_soft ring + - netfilter: conntrack: NF_CONNTRACK_PROCFS should no longer default to y + - testing: selftests: nft_flowtable.sh: use random netns names + - platform/x86: serial-multi-instantiate: Add CLSA0101 Laptop + - ALSA: hda/cs8409: Support new Dolphin Variants + - btrfs: move lockdep class helpers to locking.c + - btrfs: fix lockdep splat with reloc root extent buffers + - btrfs: tree-checker: check for overlapping extent items + - android: binder: fix lockdep check on clearing vma + - net/af_packet: check len when min_header_len equals to 0 + - net: neigh: don't call kfree_skb() under spin_lock_irqsave() + - arm64: cacheinfo: Fix incorrect assignment of signed error value to unsigned + fw_level + - Linux 5.19.7 + + * Kinetic update: v5.19.6 upstream stable release (LP: #1988732) + - mm/gup: fix FOLL_FORCE COW security issue and remove FOLL_COW + - NFS: Fix another fsync() issue after a server reboot + - audit: fix potential double free on error path from fsnotify_add_inode_mark + - cgroup: Fix race condition at rebind_subsystems() + - parisc: Make CONFIG_64BIT available for ARCH=parisc64 only + - parisc: Fix exception handler for fldw and fstw instructions + - kernel/sys_ni: add compat entry for fadvise64_64 + - kprobes: don't call disarm_kprobe() for disabled kprobes + - mm/uffd: reset write protection when unregister with wp-mode + - mm/hugetlb: support write-faults in shared mappings + - mt76: mt7921: fix command timeout in AP stop period + - xfrm: fix refcount leak in __xfrm_policy_check() + - Revert "xfrm: update SA curlft.use_time" + - xfrm: clone missing x->lastused in xfrm_do_migrate + - af_key: Do not call xfrm_probe_algs in parallel + - xfrm: policy: fix metadata dst->dev xmit null pointer dereference + - fs: require CAP_SYS_ADMIN in target namespace for idmapped mounts + - Revert "net: macsec: update SCI upon MAC address change." + - NFSv4.2 fix problems with __nfs42_ssc_open + - SUNRPC: RPC level errors should set task->tk_rpc_status + - mm/smaps: don't access young/dirty bit if pte unpresent + - ntfs: fix acl handling + - rose: check NULL rose_loopback_neigh->loopback + - r8152: fix the units of some registers for RTL8156A + - r8152: fix the RX FIFO settings when suspending + - nfc: pn533: Fix use-after-free bugs caused by pn532_cmd_timeout + - ice: xsk: prohibit usage of non-balanced queue id + - ice: xsk: use Rx ring's XDP ring when picking NAPI context + - net/mlx5e: Properly disable vlan strip on non-UL reps + - net/mlx5: LAG, fix logic over MLX5_LAG_FLAG_NDEVS_READY + - net/mlx5: Eswitch, Fix forwarding decision to uplink + - net/mlx5: Disable irq when locking lag_lock + - net/mlx5: Fix cmd error logging for manage pages cmd + - net/mlx5: Avoid false positive lockdep warning by adding lock_class_key + - net/mlx5e: Fix wrong application of the LRO state + - net/mlx5e: Fix wrong tc flag used when set hw-tc-offload off + - net: dsa: microchip: ksz9477: cleanup the ksz9477_switch_detect + - net: dsa: microchip: move switch chip_id detection to ksz_common + - net: dsa: microchip: move tag_protocol to ksz_common + - net: dsa: microchip: move vlan functionality to ksz_common + - net: dsa: microchip: move the port mirror to ksz_common + - net: dsa: microchip: update the ksz_phylink_get_caps + - net: dsa: microchip: keep compatibility with device tree blobs with no phy- + mode + - net: ipa: don't assume SMEM is page-aligned + - net: phy: Don't WARN for PHY_READY state in mdio_bus_phy_resume() + - net: moxa: get rid of asymmetry in DMA mapping/unmapping + - bonding: 802.3ad: fix no transmission of LACPDUs + - net: ipvtap - add __init/__exit annotations to module init/exit funcs + - netfilter: ebtables: reject blobs that don't provide all entry points + - netfilter: nft_tproxy: restrict to prerouting hook + - bnxt_en: Use PAGE_SIZE to init buffer when multi buffer XDP is not in use + - bnxt_en: set missing reload flag in devlink features + - bnxt_en: fix NQ resource accounting during vf creation on 57500 chips + - bnxt_en: fix LRO/GRO_HW features in ndo_fix_features callback + - netfilter: nf_tables: disallow updates of implicit chain + - netfilter: nf_tables: make table handle allocation per-netns friendly + - netfilter: nft_payload: report ERANGE for too long offset and length + - netfilter: nft_payload: do not truncate csum_offset and csum_type + - netfilter: nf_tables: do not leave chain stats enabled on error + - netfilter: nft_osf: restrict osf to ipv4, ipv6 and inet families + - netfilter: nft_tunnel: restrict it to netdev family + - netfilter: nf_tables: disallow binding to already bound chain + - netfilter: flowtable: add function to invoke garbage collection immediately + - netfilter: flowtable: fix stuck flows on cleanup due to pending work + - net: Fix data-races around sysctl_[rw]mem_(max|default). + - net: Fix data-races around weight_p and dev_weight_[rt]x_bias. + - net: Fix data-races around netdev_max_backlog. + - net: Fix data-races around netdev_tstamp_prequeue. + - ratelimit: Fix data-races in ___ratelimit(). + - net: Fix data-races around sysctl_optmem_max. + - net: Fix a data-race around sysctl_tstamp_allow_data. + - net: Fix a data-race around sysctl_net_busy_poll. + - net: Fix a data-race around sysctl_net_busy_read. + - net: Fix a data-race around netdev_budget. + - net: Fix data-races around sysctl_max_skb_frags. + - net: Fix a data-race around netdev_budget_usecs. + - net: Fix data-races around sysctl_fb_tunnels_only_for_init_net. + - net: Fix data-races around sysctl_devconf_inherit_init_net. + - net: Fix a data-race around gro_normal_batch. + - net: Fix a data-race around netdev_unregister_timeout_secs. + - net: Fix a data-race around sysctl_somaxconn. + - ixgbe: stop resetting SYSTIME in ixgbe_ptp_start_cyclecounter + - i40e: Fix incorrect address type for IPv6 flow rules + - net: ethernet: mtk_eth_soc: enable rx cksum offload for MTK_NETSYS_V2 + - net: ethernet: mtk_eth_soc: fix hw hash reporting for MTK_NETSYS_V2 + - rxrpc: Fix locking in rxrpc's sendmsg + - ionic: clear broken state on generation change + - ionic: fix up issues with handling EAGAIN on FW cmds + - ionic: VF initial random MAC address if no assigned mac + - net: stmmac: work around sporadic tx issue on link-up + - net: lantiq_xrx200: confirm skb is allocated before using + - net: lantiq_xrx200: fix lock under memory pressure + - net: lantiq_xrx200: restore buffer if memory allocation failed + - btrfs: fix silent failure when deleting root reference + - btrfs: replace: drop assert for suspended replace + - btrfs: add info when mount fails due to stale replace target + - btrfs: fix space cache corruption and potential double allocations + - btrfs: check if root is readonly while setting security xattr + - btrfs: fix possible memory leak in btrfs_get_dev_args_from_path() + - btrfs: update generation of hole file extent item when merging holes + - x86/boot: Don't propagate uninitialized boot_params->cc_blob_address + - perf/x86/intel: Fix pebs event constraints for ADL + - perf/x86/lbr: Enable the branch type for the Arch LBR by default + - x86/entry: Fix entry_INT80_compat for Xen PV guests + - x86/unwind/orc: Unwind ftrace trampolines with correct ORC entry + - x86/sev: Don't use cc_platform_has() for early SEV-SNP calls + - x86/bugs: Add "unknown" reporting for MMIO Stale Data + - x86/nospec: Unwreck the RSB stuffing + - x86/PAT: Have pat_enabled() properly reflect state when running on Xen + - loop: Check for overflow while configuring loop + - writeback: avoid use-after-free after removing device + - audit: move audit_return_fixup before the filters + - asm-generic: sections: refactor memory_intersects + - mm/damon/dbgfs: avoid duplicate context directory creation + - s390/mm: do not trigger write fault when vma does not allow VM_WRITE + - bootmem: remove the vmemmap pages from kmemleak in put_page_bootmem + - mm/hugetlb: avoid corrupting page->mapping in hugetlb_mcopy_atomic_pte + - mm/mprotect: only reference swap pfn page if type match + - cifs: skip extra NULL byte in filenames + - s390: fix double free of GS and RI CBs on fork() failure + - fbdev: fbcon: Properly revert changes when vc_resize() failed + - Revert "memcg: cleanup racy sum avoidance code" + - shmem: update folio if shmem_replace_page() updates the page + - ACPI: processor: Remove freq Qos request for all CPUs + - nouveau: explicitly wait on the fence in nouveau_bo_move_m2mf + - smb3: missing inode locks in punch hole + - ocfs2: fix freeing uninitialized resource on ocfs2_dlm_shutdown + - xen/privcmd: fix error exit of privcmd_ioctl_dm_op() + - riscv: signal: fix missing prototype warning + - riscv: traps: add missing prototype + - riscv: dts: microchip: correct L2 cache interrupts + - Revert "zram: remove double compression logic" + - io_uring: fix issue with io_write() not always undoing sb_start_write() + - mm/hugetlb: fix hugetlb not supporting softdirty tracking + - Revert "md-raid: destroy the bitmap after destroying the thread" + - md: call __md_stop_writes in md_stop + - arm64: Fix match_list for erratum 1286807 on Arm Cortex-A76 + - binder_alloc: add missing mmap_lock calls when using the VMA + - x86/nospec: Fix i386 RSB stuffing + - drm/amdkfd: Fix isa version for the GC 10.3.7 + - Documentation/ABI: Mention retbleed vulnerability info file for sysfs + - blk-mq: fix io hung due to missing commit_rqs + - perf python: Fix build when PYTHON_CONFIG is user supplied + - perf/x86/intel/uncore: Fix broken read_counter() for SNB IMC PMU + - perf/x86/intel/ds: Fix precise store latency handling + - perf stat: Clear evsel->reset_group for each stat run + - arm64: fix rodata=full + - arm64/signal: Flush FPSIMD register state when disabling streaming mode + - arm64/sme: Don't flush SVE register state when allocating SME storage + - arm64/sme: Don't flush SVE register state when handling SME traps + - scsi: ufs: core: Enable link lost interrupt + - scsi: storvsc: Remove WQ_MEM_RECLAIM from storvsc_error_wq + - scsi: core: Fix passthrough retry counter handling + - riscv: dts: microchip: mpfs: fix incorrect pcie child node name + - riscv: dts: microchip: mpfs: remove ti,fifo-depth property + - riscv: dts: microchip: mpfs: remove bogus card-detect-delay + - riscv: dts: microchip: mpfs: remove pci axi address translation property + - bpf: Don't use tnum_range on array range checking for poke descriptors + - Linux 5.19.6 + + * Kinetic update: v5.19.5 upstream stable release (LP: #1988207) + - kbuild: dummy-tools: avoid tmpdir leak in dummy gcc + - Linux 5.19.5 + + * Support Intel TDX guest attestation driver (LP: #1988120) + - SAUCE: x86/tdx: Add TDX Guest attestation interface driver + - SAUCE: selftests: tdx: Test GetReport TDX attestation feature + + * Kinetic update: v5.19.4 upstream stable release (LP: #1987923) + - ALSA: info: Fix llseek return value when using callback + - ALSA: hda/realtek: Add quirk for Clevo NS50PU, NS70PU + - RDMA: Handle the return code from dma_resv_wait_timeout() properly + - KVM: Unconditionally get a ref to /dev/kvm module when creating a VM + - x86/mm: Use proper mask when setting PUD mapping + - rds: add missing barrier to release_refill + - drm/i915/gem: Remove shared locking on freeing objects + - locking/atomic: Make test_and_*_bit() ordered on failure + - drm/nouveau: recognise GA103 + - drm/ttm: Fix dummy res NULL ptr deref bug + - drm/amdgpu: Only disable prefer_shadow on hawaii + - drm/amd/display: Check correct bounds for stream encoder instances for + DCN303 + - s390/ap: fix crash on older machines based on QCI info missing + - ata: libata-eh: Add missing command name + - mmc: pxamci: Fix another error handling path in pxamci_probe() + - mmc: pxamci: Fix an error handling path in pxamci_probe() + - mmc: meson-gx: Fix an error handling path in meson_mmc_probe() + - btrfs: unset reloc control if transaction commit fails in + prepare_to_relocate() + - btrfs: reset RO counter on block group if we fail to relocate + - btrfs: fix lost error handling when looking up extended ref on log replay + - btrfs: fix warning during log replay when bumping inode link count + - drm/amdgpu: change vram width algorithm for vram_info v3_0 + - drm/i915/gt: Ignore TLB invalidations on idle engines + - drm/i915/gt: Invalidate TLB of the OA unit at TLB invalidations + - drm/i915/gt: Skip TLB invalidations once wedged + - drm/i915/gt: Batch TLB invalidations + - drm/i915: pass a pointer for tlb seqno at vma_invalidate_tlb() + - cifs: Fix memory leak on the deferred close + - x86/kprobes: Fix JNG/JNLE emulation + - tracing/perf: Fix double put of trace event when init fails + - tracing/eprobes: Do not allow eprobes to use $stack, or % for regs + - tracing/eprobes: Do not hardcode $comm as a string + - tracing/eprobes: Fix reading of string fields + - tracing/eprobes: Have event probes be consistent with kprobes and uprobes + - tracing/probes: Have kprobes and uprobes use $COMM too + - tracing: Have filter accept "common_cpu" to be consistent + - ALSA: usb-audio: More comprehensive mixer map for ASUS ROG Zenith II + - ALSA: hda: Fix crash due to jack poll in suspend + - dt-bindings: usb: mtk-xhci: Allow wakeup interrupt-names to be optional + - can: ems_usb: fix clang's -Wunaligned-access warning + - apparmor: fix quiet_denied for file rules + - Revert "UBUNTU: SAUCE: apparmor: drop prefixing abs root labels with '='" + - apparmor: fix absroot causing audited secids to begin with = + - apparmor: Fix failed mount permission check error message + - apparmor: fix aa_label_asxprint return check + - apparmor: fix setting unconfined mode on a loaded profile + - apparmor: fix overlapping attachment computation + - apparmor: fix reference count leak in aa_pivotroot() + - apparmor: Fix memleak in aa_simple_write_to_buffer() + - Documentation: ACPI: EINJ: Fix obsolete example + - netfilter: nf_tables: fix crash when nf_trace is enabled + - net: tap: NULL pointer derefence in dev_parse_header_protocol when skb->dev + is null + - NFSv4.1: Don't decrease the value of seq_nr_highest_sent + - NFSv4.1: Handle NFS4ERR_DELAY replies to OP_SEQUENCE correctly + - NFSv4: Fix races in the legacy idmapper upcall + - NFSv4.1: RECLAIM_COMPLETE must handle EACCES + - NFSv4/pnfs: Fix a use-after-free bug in open + - mptcp, btf: Add struct mptcp_sock definition when CONFIG_MPTCP is disabled + - mptcp: move subflow cleanup in mptcp_destroy_common() + - mptcp: do not queue data on closed subflows + - selftests: mptcp: make sendfile selftest work + - BPF: Fix potential bad pointer dereference in bpf_sys_bpf() + - bpf: Disallow bpf programs call prog_run command. + - bpf: Don't reinit map value in prealloc_lru_pop + - bpf: Acquire map uref in .init_seq_private for array map iterator + - bpf: Acquire map uref in .init_seq_private for hash map iterator + - bpf: Acquire map uref in .init_seq_private for sock local storage map + iterator + - bpf: Acquire map uref in .init_seq_private for sock{map,hash} iterator + - bpf: Check the validity of max_rdwr_access for sock local storage map + iterator + - can: mcp251x: Fix race condition on receive interrupt + - can: j1939: j1939_session_destroy(): fix memory leak of skbs + - net: atlantic: fix aq_vec index out of range error + - m68k: coldfire/device.c: protect FLEXCAN blocks + - sunrpc: fix expiry of auth creds + - SUNRPC: Fix xdr_encode_bool() + - SUNRPC: Reinitialise the backchannel request buffers before reuse + - SUNRPC: Don't reuse bvec on retransmission of the request + - ASoC: qdsp6: q6apm-dai: unprepare stream if its already prepared + - virtio: VIRTIO_HARDEN_NOTIFICATION is broken + - [Config] updateconfigs for VIRTIO_HARDEN_NOTIFICATION + - virtio_net: fix memory leak inside XPD_TX with mergeable + - virtio-blk: Avoid use-after-free on suspend/resume + - devlink: Fix use-after-free after a failed reload + - net: phy: Warn about incorrect mdio_bus_phy_resume() state + - net: bcmgenet: Indicate MAC is in charge of PHY PM + - net: phy: c45 baset1: do not skip aneg configuration if clock role is not + specified + - net: dsa: felix: suppress non-changes to the tagging protocol + - net: bgmac: Fix a BUG triggered by wrong bytes_compl + - net: atm: bring back zatm uAPI + - selftests: forwarding: Fix failing tests with old libnet + - dt-bindings: arm: qcom: fix Alcatel OneTouch Idol 3 compatibles + - pinctrl: renesas: rzg2l: Return -EINVAL for pins which have input disabled + - dt-bindings: pinctrl: mt8192: Add drive-strength-microamp + - dt-bindings: pinctrl: mt8192: Use generic bias instead of pull-*-adv + - pinctrl: nomadik: Fix refcount leak in nmk_pinctrl_dt_subnode_to_map + - pinctrl: qcom: msm8916: Allow CAMSS GP clocks to be muxed + - pinctrl: amd: Don't save/restore interrupt status and wake status bits + - dt-bindings: pinctrl: mt8195: Fix name for mediatek,rsel-resistance-in-si- + unit + - dt-bindings: pinctrl: mt8195: Add and use drive-strength-microamp + - pinctrl: sunxi: Add I/O bias setting for H6 R-PIO + - dt-bindings: pinctrl: mt8186: Add and use drive-strength-microamp + - pinctrl: qcom: sm8250: Fix PDC map + - rtc: spear: set range max + - Input: exc3000 - fix return value check of wait_for_completion_timeout + - Input: mt6779-keypad - match hardware matrix organization + - Input: iqs7222 - correct slider event disable logic + - Input: iqs7222 - fortify slider event reporting + - Input: iqs7222 - protect volatile registers + - Input: iqs7222 - acknowledge reset before writing registers + - Input: iqs7222 - handle reset during ATI + - Input: iqs7222 - remove support for RF filter + - dt-bindings: input: iqs7222: Remove support for RF filter + - dt-bindings: input: iqs7222: Correct bottom speed step size + - dt-bindings: input: iqs7222: Extend slider-mapped GPIO to IQS7222C + - octeontx2-pf: Fix NIX_AF_TL3_TL2X_LINKX_CFG register configuration + - octeontx2-af: Apply tx nibble fixup always + - octeontx2-af: suppress external profile loading warning + - octeontx2-af: Fix mcam entry resource leak + - octeontx2-af: Fix key checking for source mac + - ACPI: property: Return type of acpi_add_nondev_subnodes() should be bool + - geneve: do not use RT_TOS for IPv6 flowlabel + - vxlan: do not use RT_TOS for IPv6 flowlabel + - mlx5: do not use RT_TOS for IPv6 flowlabel + - ipv6: do not use RT_TOS for IPv6 flowlabel + - plip: avoid rcu debug splat + - vsock: Fix memory leak in vsock_connect() + - vsock: Set socket state back to SS_UNCONNECTED in vsock_connect_timeout() + - dt-bindings: gpio: zynq: Add missing compatible strings + - dt-bindings: arm: qcom: fix Longcheer L8150 compatibles + - dt-bindings: arm: qcom: fix MSM8916 MTP compatibles + - dt-bindings: arm: qcom: fix MSM8994 boards compatibles + - dt-bindings: clock: qcom,gcc-msm8996: add more GCC clock sources + - dt-bindings: PCI: qcom: Fix reset conditional + - spi: dt-bindings: cadence: add missing 'required' + - spi: dt-bindings: zynqmp-qspi: add missing 'required' + - dt-bindings: opp: opp-v2-kryo-cpu: Fix example binding checks + - spi: dt-bindings: qcom,spi-geni-qcom: allow three interconnects + - ceph: use correct index when encoding client supported features + - tools/testing/cxl: Fix decoder default state + - tools/vm/slabinfo: use alphabetic order when two values are equal + - ceph: don't leak snap_rwsem in handle_cap_grant + - clk: imx93: Correct the edma1's parent clock + - vdpa_sim: use max_iotlb_entries as a limit in vhost_iotlb_init + - vdpa_sim_blk: set number of address spaces and virtqueue groups + - tools/testing/cxl: Fix cxl_hdm_decode_init() calling convention + - kbuild: dummy-tools: avoid tmpdir leak in dummy gcc + - tools build: Switch to new openssl API for test-libcrypto + - NTB: ntb_tool: uninitialized heap data in tool_fn_write() + - nfp: ethtool: fix the display error of `ethtool -m DEVNAME` + - xen/xenbus: fix return type in xenbus_file_read() + - tsnep: Fix tsnep_tx_unmap() error path usage + - atm: idt77252: fix use-after-free bugs caused by tst_timer + - fscache: don't leak cookie access refs if invalidation is in progress or + failed + - geneve: fix TOS inheriting for ipv4 + - nvme-fc: fix the fc_appid_store return value + - perf probe: Fix an error handling path in 'parse_perf_probe_command()' + - i2c: qcom-geni: Fix GPI DMA buffer sync-back + - perf parse-events: Fix segfault when event parser gets an error + - perf tests: Fix Track with sched_switch test for hybrid case + - dpaa2-eth: trace the allocated address instead of page struct + - fs/ntfs3: Fix using uninitialized value n when calling indx_read + - fs/ntfs3: Fix NULL deref in ntfs_update_mftmirr + - fs/ntfs3: Don't clear upper bits accidentally in log_replay() + - fs/ntfs3: Fix double free on remount + - fs/ntfs3: Do not change mode if ntfs_set_ea failed + - fs/ntfs3: Fix missing i_op in ntfs_read_mft + - nios2: page fault et.al. are *not* restartable syscalls... + - nios2: don't leave NULLs in sys_call_table[] + - nios2: traced syscall does need to check the syscall number + - nios2: fix syscall restart checks + - nios2: restarts apply only to the first sigframe we build... + - nios2: add force_successful_syscall_return() + - iavf: Fix adminq error handling + - iavf: Fix NULL pointer dereference in iavf_get_link_ksettings + - iavf: Fix reset error handling + - iavf: Fix deadlock in initialization + - ASoC: Intel: avs: Fix potential buffer overflow by snprintf() + - ASoC: SOF: debug: Fix potential buffer overflow by snprintf() + - ASoC: SOF: Intel: hda: Fix potential buffer overflow by snprintf() + - ASoC: DPCM: Don't pick up BE without substream + - ASoC: tas2770: Set correct FSYNC polarity + - ASoC: tas2770: Allow mono streams + - ASoC: tas2770: Drop conflicting set_bias_level power setting + - ASoC: tas2770: Fix handling of mute/unmute + - ASoC: codec: tlv320aic32x4: fix mono playback via I2S + - IB/iser: Fix login with authentication + - RDMA/mlx5: Use the proper number of ports + - RDMA/cxgb4: fix accept failure due to increased cpl_t5_pass_accept_rpl size + - netfilter: nfnetlink: re-enable conntrack expectation events + - netfilter: nf_tables: use READ_ONCE and WRITE_ONCE for shared generation id + access + - fs/ntfs3: uninitialized variable in ntfs_set_acl_ex() + - netfilter: nf_tables: disallow NFTA_SET_ELEM_KEY_END with + NFT_SET_ELEM_INTERVAL_END flag + - netfilter: nf_ct_sane: remove pseudo skb linearization + - netfilter: nf_ct_h323: cap packet size at 64k + - netfilter: nf_ct_ftp: prefer skb_linearize + - netfilter: nf_ct_irc: cap packet search space to 4k + - netfilter: nf_tables: possible module reference underflow in error path + - netfilter: nf_tables: really skip inactive sets when allocating name + - netfilter: nf_tables: fix scheduling-while-atomic splat + - netfilter: nf_tables: validate NFTA_SET_ELEM_OBJREF based on NFT_SET_OBJECT + flag + - netfilter: nf_tables: NFTA_SET_ELEM_KEY_END requires concat and interval + flags + - netfilter: nf_tables: disallow NFT_SET_ELEM_CATCHALL and + NFT_SET_ELEM_INTERVAL_END + - netfilter: nf_tables: check NFT_SET_CONCAT flag if field_count is specified + - powerpc/pci: Fix get_phb_number() locking + - spi: meson-spicc: add local pow2 clock ops to preserve rate between messages + - net/sunrpc: fix potential memory leaks in rpc_sysfs_xprt_state_change() + - net: dsa: mv88e6060: prevent crash on an unused port + - net: qrtr: start MHI channel after endpoit creation + - virtio_net: fix endian-ness for RSS + - mlxsw: spectrum: Clear PTP configuration after unregistering the netdevice + - net: moxa: pass pdev instead of ndev to DMA functions + - net: fix potential refcount leak in ndisc_router_discovery() + - net: rtnetlink: fix module reference count leak issue in rtnetlink_rcv_msg + - net: sched: fix misuse of qcpu->backlog in gnet_stats_add_queue_cpu + - net: dsa: microchip: ksz9477: fix fdb_dump last invalid entry + - net: dsa: felix: fix ethtool 256-511 and 512-1023 TX packet counters + - net: mscc: ocelot: fix incorrect ndo_get_stats64 packet counters + - net: mscc: ocelot: fix address of SYS_COUNT_TX_AGING counter + - net: genl: fix error path memory leak in policy dumping + - net: dsa: don't warn in dsa_port_set_state_now() when driver doesn't support + it + - net: dsa: sja1105: fix buffer overflow in sja1105_setup_devlink_regions() + - ice: Fix VSI rebuild WARN_ON check for VF + - ice: Fix call trace with null VSI during VF reset + - ice: Fix VF not able to send tagged traffic with no VLAN filters + - ice: Fix double VLAN error when entering promisc mode + - ice: Ignore EEXIST when setting promisc mode + - ice: Fix clearing of promisc mode with bridge over bond + - ice: Ignore error message when setting same promiscuous mode + - modpost: fix module versioning when a symbol lacks valid CRC + - i2c: imx: Make sure to unregister adapter on remove() + - i40e: Fix tunnel checksum offload with fragmented traffic + - regulator: pca9450: Remove restrictions for regulator-name + - i40e: Fix to stop tx_timeout recovery if GLOBR fails + - blk-mq: run queue no matter whether the request is the last request + - tools/rtla: Fix command symlinks + - fec: Fix timer capture timing in `fec_ptp_enable_pps()` + - dt-bindings: display: sun4i: Add D1 TCONs to conditionals + - stmmac: intel: Add a missing clk_disable_unprepare() call in + intel_eth_pci_remove() + - igb: Add lock to avoid data race + - kbuild: fix the modules order between drivers and libs + - gcc-plugins: Undefine LATENT_ENTROPY_PLUGIN when plugin disabled for a file + - can: j1939: j1939_sk_queue_activate_next_locked(): replace WARN_ON_ONCE with + netdev_warn_once() + - drm/imx/dcss: get rid of HPD warning message + - drm/meson: Fix refcount bugs in meson_vpu_has_available_connectors() + - drm/i915/ttm: don't leak the ccs state + - drm/amdgpu: Avoid another list of reset devices + - drm/bridge: lvds-codec: Fix error checking of drm_of_lvds_get_data_mapping() + - drm/sun4i: dsi: Prevent underflow when computing packet sizes + - drm/amdgpu: Fix use-after-free on amdgpu_bo_list mutex + - KVM: arm64: Treat PMCR_EL1.LC as RES1 on asymmetric systems + - KVM: arm64: Reject 32bit user PSTATE on asymmetric systems + - net: mscc: ocelot: turn stats_lock into a spinlock + - net: mscc: ocelot: fix race between ndo_get_stats64 and + ocelot_check_stats_work + - net: mscc: ocelot: make struct ocelot_stat_layout array indexable + - net: mscc: ocelot: report ndo_get_stats64 from the wraparound-resistant + ocelot->stats + - x86/ibt, objtool: Add IBT_NOSEAL() + - x86/kvm: Fix "missing ENDBR" BUG for fastop functions + - thunderbolt: Change downstream router's TMU rate in both TMU uni/bidir mode + - HID: multitouch: new device class fix Lenovo X12 trackpad sticky + - PCI: Add ACS quirk for Broadcom BCM5750x NICs + - platform/chrome: cros_ec_proto: don't show MKBP version if unsupported + - staging: r8188eu: add error handling of rtw_read8 + - staging: r8188eu: add error handling of rtw_read16 + - staging: r8188eu: add error handling of rtw_read32 + - usb: cdns3 fix use-after-free at workaround 2 + - usb: gadget: uvc: calculate the number of request depending on framesize + - usb: gadget: uvc: call uvc uvcg_warn on completed status instead of + uvcg_info + - PCI: aardvark: Fix reporting Slot capabilities on emulated bridge + - scsi: ufs: core: Add UFSHCD_QUIRK_BROKEN_64BIT_ADDRESS + - scsi: ufs: core: Add UFSHCD_QUIRK_HIBERN_FASTAUTO + - irqchip/tegra: Fix overflow implicit truncation warnings + - drm/meson: Fix overflow implicit truncation warnings + - clk: ti: Stop using legacy clkctrl names for omap4 and 5 + - scsi: ufs: ufs-mediatek: Fix the timing of configuring device regulators + - usb: typec: mux: Add CONFIG guards for functions + - usb: host: ohci-ppc-of: Fix refcount leak bug + - usb: renesas: Fix refcount leak bug + - scsi: iscsi: Fix HW conn removal use after free + - usb: dwc2: gadget: remove D+ pull-up while no vbus with usb-role-switch + - vboxguest: Do not use devm for irq + - clk: qcom: ipq8074: dont disable gcc_sleep_clk_src + - uacce: Handle parent device removal or parent driver module rmmod + - zram: do not lookup algorithm in backends table + - clk: qcom: clk-alpha-pll: fix clk_trion_pll_configure description + - scsi: lpfc: Prevent buffer overflow crashes in debugfs with malformed user + input + - scsi: lpfc: Fix possible memory leak when failing to issue CMF WQE + - gadgetfs: ep_io - wait until IRQ finishes + - coresight: etm4x: avoid build failure with unrolled loops + - habanalabs: add terminating NULL to attrs arrays + - habanalabs/gaudi: invoke device reset from one code block + - habanalabs/gaudi: fix shift out of bounds + - habanalabs/gaudi: mask constant value before cast + - mmc: tmio: avoid glitches when resetting + - scsi: ufs: ufs-exynos: Change ufs phy control sequence + - pinctrl: intel: Check against matching data instead of ACPI companion + - cxl: Fix a memory leak in an error handling path + - PCI/ACPI: Guard ARM64-specific mcfg_quirks + - um: add "noreboot" command line option for PANIC_TIMEOUT=-1 setups + - of: overlay: Move devicetree_corrupt() check up + - dmaengine: dw-axi-dmac: do not print NULL LLI during error + - dmaengine: dw-axi-dmac: ignore interrupt if no descriptor + - mmc: renesas_sdhi: newer SoCs don't need manual tap correction + - ACPI: PPTT: Leave the table mapped for the runtime usage + - RDMA/rxe: Limit the number of calls to each tasklet + - csky/kprobe: reclaim insn_slot on kprobe unregistration + - selftests/kprobe: Do not test for GRP/ without event failures + - dmaengine: tegra: Add terminate() for Tegra234 + - dmaengine: sprd: Cleanup in .remove() after pm_runtime_get_sync() failed + - Revert "RDMA/rxe: Create duplicate mapping tables for FMRs" + - openrisc: io: Define iounmap argument as volatile + - phy: samsung: phy-exynos-pcie: sanitize init/power_on callbacks + - md: Notify sysfs sync_completed in md_reap_sync_thread() + - md/raid5: Make logic blocking check consistent with logic that blocks + - nvmet-tcp: fix lockdep complaint on nvmet_tcp_wq flush during queue teardown + - drivers:md:fix a potential use-after-free bug + - ext4: avoid remove directory when directory is corrupted + - ext4: block range must be validated before use in ext4_mb_clear_bb() + - ext4: avoid resizing to a partial cluster size + - lib/list_debug.c: Detect uninitialized lists + - tty: serial: Fix refcount leak bug in ucc_uart.c + - KVM: PPC: Book3S HV: Fix "rm_exit" entry in debugfs timings + - vfio: Clear the caps->buf to NULL after free + - mips: cavium-octeon: Fix missing of_node_put() in octeon2_usb_clocks_start + - iommu/io-pgtable-arm-v7s: Add a quirk to allow pgtable PA up to 35bit + - ASoC: Intel: avs: Set max DMA segment size + - ALSA: hda: Fix page fault in snd_hda_codec_shutdown() + - modules: Ensure natural alignment for .altinstructions and __bug_table + sections + - ASoC: SOF: Intel: cnl: Do not process IPC reply before firmware boot + - ASoC: SOF: Intel: hda-ipc: Do not process IPC reply before firmware boot + - ASoC: SOF: sof-client-probes: Only load the driver if IPC3 is used + - ASoC: rsnd: care default case on rsnd_ssiu_busif_err_irq_ctrl() + - riscv: dts: sifive: Add fu740 topology information + - riscv: dts: canaan: Add k210 topology information + - ASoC: nau8821: Don't unconditionally free interrupt + - riscv: mmap with PROT_WRITE but no PROT_READ is invalid + - RISC-V: Add fast call path of crash_kexec() + - ALSA: hda/realtek: Enable speaker and mute LEDs for HP laptops + - ASoC: SOF: Intel: hda: add sanity check on SSP index reported by NHLT + - ASoC: Intel: sof_es8336: Fix GPIO quirks set via module option + - ASoC: Intel: sof_es8336: ignore GpioInt when looking for speaker/headset + GPIO lines + - ASoC: Intel: sof_nau8825: Move quirk check to the front in late probe + - watchdog: export lockup_detector_reconfigure + - powerpc/watchdog: introduce a NMI watchdog's factor + - powerpc/pseries/mobility: set NMI watchdog factor during an LPM + - powerpc/32: Set an IBAT covering up to _einittext during init + - powerpc/32: Don't always pass -mcpu=powerpc to the compiler + - ASoC: codecs: va-macro: use fsgen as clock + - ovl: warn if trusted xattr creation fails + - powerpc/ioda/iommu/debugfs: Generate unique debugfs entries + - ALSA: core: Add async signal helpers + - ALSA: timer: Use deferred fasync helper + - ALSA: pcm: Use deferred fasync helper + - ALSA: control: Use deferred fasync helper + - f2fs: fix to avoid use f2fs_bug_on() in f2fs_new_node_page() + - f2fs: fix to do sanity check on segment type in build_sit_entries() + - smb3: check xattr value length earlier + - powerpc/64: Init jump labels before parse_early_param() + - venus: pm_helpers: Fix warning in OPP during probe + - video: fbdev: i740fb: Check the argument of i740_calc_vclk() + - MIPS: tlbex: Explicitly compare _PAGE_NO_EXEC against 0 + - f2fs: revive F2FS_IOC_ABORT_VOLATILE_WRITE + - f2fs: fix null-ptr-deref in f2fs_get_dnode_of_data + - scsi: ufs: ufs-mediatek: Fix build error and type mismatch + - Revert "ALSA: hda: Fix page fault in snd_hda_codec_shutdown()" + - Linux 5.19.4 + + * RISC-V kernel config is out of sync with other archs (LP: #1981437) + - [Config] Align riscv64 CONFIG_LSM with other architectures + - [Config] Enable CONFIG_DRM_RCAR_USE_LVDS for riscv64 + - [Config] Enable CONFIG_DTPM for riscv64 + - [Config] Set CONFIG_MTD_RAW_NAND=m for riscv64 + + * Use upstream LED description on Unmatched (LP: #1987513) + - dt-bindings: leds: pwm-multicolor: Add active-low property + - leds: pwm-multicolor: Support active-low LEDs + - riscv: dts: sifive unmatched: Add PWM controlled LEDs + + * Fix invalid MAC address after hotplug tbt dock (LP: #1942999) + - SAUCE: igc: wait for the MAC copy when enabled MAC passthrough + + * Kinetic update: v5.19.3 upstream stable release (LP: #1987345) + - Revert "mm: kfence: apply kmemleak_ignore_phys on early allocated pool" + - tee: add overflow check in register_shm_helper() + - net_sched: cls_route: disallow handle of 0 + - btrfs: only write the sectors in the vertical stripe which has data stripes + - btrfs: raid56: don't trust any cached sector in __raid56_parity_recover() + - kexec, KEYS: make the code in bzImage64_verify_sig generic + - arm64: kexec_file: use more system keyrings to verify kernel image signature + - Linux 5.19.3 + + * [22.04 FEAT] Deactivitate CONFIG_QETH_OSX kernel config option + (LP: #1959890) + - [Config] disable CONFIG_QETH_OSX on s390x + + * Kinetic update: v5.19.2 upstream stable release (LP: #1986865) + - Makefile: link with -z noexecstack --no-warn-rwx-segments + - x86: link vdso and boot with -z noexecstack --no-warn-rwx-segments + - Revert "pNFS: nfs3_set_ds_client should set NFS_CS_NOPING" + - scsi: Revert "scsi: qla2xxx: Fix disk failure to rediscover" + - pNFS/flexfiles: Report RDMA connection errors to the server + - nfsd: eliminate the NFSD_FILE_BREAK_* flags + - ALSA: usb-audio: Add quirk for Behringer UMC202HD + - ALSA: bcd2000: Fix a UAF bug on the error path of probing + - ALSA: hda/realtek: Add quirk for Clevo NV45PZ + - ALSA: hda/realtek: Add quirk for HP Spectre x360 15-eb0xxx + - ALSA: hda/realtek: Add quirk for Lenovo Yoga9 14IAP7 + - ASoC: amd: yc: Update DMI table entries + - hwmon: (nct6775) Fix platform driver suspend regression + - wifi: mac80211_hwsim: fix race condition in pending packet + - wifi: mac80211_hwsim: add back erroneously removed cast + - wifi: mac80211_hwsim: use 32-bit skb cookie + - add barriers to buffer_uptodate and set_buffer_uptodate + - lockd: detect and reject lock arguments that overflow + - HID: hid-input: add Surface Go battery quirk + - HID: nintendo: Add missing array termination + - HID: wacom: Only report rotation for art pen + - HID: wacom: Don't register pad_input for touch switch + - KVM: nVMX: Snapshot pre-VM-Enter BNDCFGS for !nested_run_pending case + - KVM: nVMX: Snapshot pre-VM-Enter DEBUGCTL for !nested_run_pending case + - KVM: SVM: Don't BUG if userspace injects an interrupt with GIF=0 + - KVM: s390: pv: don't present the ecall interrupt twice + - KVM: Drop unused @gpa param from gfn=>pfn cache's __release_gpc() helper + - KVM: Put the extra pfn reference when reusing a pfn in the gpc cache + - KVM: Fully serialize gfn=>pfn cache refresh via mutex + - KVM: Fix multiple races in gfn=>pfn cache refresh + - KVM: Do not incorporate page offset into gfn=>pfn cache user address + - KVM: x86: Split kvm_is_valid_cr4() and export only the non-vendor bits + - KVM: nVMX: Let userspace set nVMX MSR to any _host_ supported value + - KVM: nVMX: Account for KVM reserved CR4 bits in consistency checks + - KVM: nVMX: Inject #UD if VMXON is attempted with incompatible CR0/CR4 + - KVM: x86: Mark TSS busy during LTR emulation _after_ all fault checks + - KVM: x86: Set error code to segment selector on LLDT/LTR non-canonical #GP + - KVM: x86/mmu: Treat NX as a valid SPTE bit for NPT + - KVM: SVM: Disable SEV-ES support if MMIO caching is disable + - KVM: x86: Tag kvm_mmu_x86_module_init() with __init + - KVM: x86/mmu: Fully re-evaluate MMIO caching when SPTE masks change + - KVM: x86: do not report preemption if the steal time cache is stale + - KVM: x86: revalidate steal time cache if MSR value changes + - KVM: x86/xen: Initialize Xen timer only once + - KVM: x86/xen: Stop Xen timer before changing IRQ + - ALSA: hda/conexant: Add quirk for LENOVO 20149 Notebook model + - ALSA: hda/cirrus - support for iMac 12,1 model + - ALSA: hda/realtek: Add quirk for another Asus K42JZ model + - ALSA: hda/realtek: Add a quirk for HP OMEN 15 (8786) mute LED + - LoongArch: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK + - tty: 8250: Add support for Brainboxes PX cards. + - tty: vt: initialize unicode screen buffer + - vfs: Check the truncate maximum size in inode_newsize_ok() + - fs: Add missing umask strip in vfs_tmpfile + - thermal: sysfs: Fix cooling_device_stats_setup() error code path + - fbcon: Fix boundary checks for fbcon=vc:n1-n2 parameters + - fbcon: Fix accelerated fbdev scrolling while logo is still shown + - usbnet: Fix linkwatch use-after-free on disconnect + - usbnet: smsc95xx: Fix deadlock on runtime resume + - fix short copy handling in copy_mc_pipe_to_iter() + - crypto: ccp - Use kzalloc for sev ioctl interfaces to prevent kernel memory + leak + - ovl: drop WARN_ON() dentry is NULL in ovl_encode_fh() + - parisc: Fix device names in /proc/iomem + - parisc: Drop pa_swapper_pg_lock spinlock + - parisc: Check the return value of ioremap() in lba_driver_probe() + - parisc: io_pgetevents_time64() needs compat syscall in 32-bit compat mode + - riscv:uprobe fix SR_SPIE set/clear handling + - riscv: lib: uaccess: fix CSR_STATUS SR_SUM bit + - dt-bindings: riscv: fix SiFive l2-cache's cache-sets + - riscv: dts: starfive: correct number of external interrupts + - RISC-V: cpu_ops_spinwait.c should include head.h + - RISC-V: Declare cpu_ops_spinwait in + - RISC-V: kexec: Fixup use of smp_processor_id() in preemptible context + - RISC-V: Fixup get incorrect user mode PC for kernel mode regs + - RISC-V: Fixup schedule out issue in machine_crash_shutdown() + - RISC-V: Add modules to virtual kernel memory layout dump + - RISC-V: Fix counter restart during overflow for RV32 + - RISC-V: Fix SBI PMU calls for RV32 + - RISC-V: Update user page mapping only once during start + - wireguard: selftests: set CONFIG_NONPORTABLE on riscv32 + - rtc: rx8025: fix 12/24 hour mode detection on RX-8035 + - drm/gem: Properly annotate WW context on drm_gem_lock_reservations() error + - drm/shmem-helper: Add missing vunmap on error + - drm/vc4: hdmi: Disable audio if dmas property is present but empty + - drm/ingenic: Use the highest possible DMA burst size + - drm/fb-helper: Fix out-of-bounds access + - drm/hyperv-drm: Include framebuffer and EDID headers + - drm/dp/mst: Read the extended DPCD capabilities during system resume + - drm/nouveau: fix another off-by-one in nvbios_addr + - drm/nouveau: Don't pm_runtime_put_sync(), only pm_runtime_put_autosuspend() + - drm/nouveau/acpi: Don't print error when we get -EINPROGRESS from pm_runtime + - drm/nouveau/kms: Fix failure path for creating DP connectors + - drm/tegra: Fix vmapping of prime buffers + - drm/amdgpu: Check BO's requested pinning domains against its + preferred_domains + - bpf: Fix KASAN use-after-free Read in compute_effective_progs + - btrfs: reject log replay if there is unsupported RO compat flag + - mtd: rawnand: arasan: Fix clock rate in NV-DDR + - mtd: rawnand: arasan: Update NAND bus clock instead of system clock + - um: Remove straying parenthesis + - um: seed rng using host OS rng + - iio: fix iio_format_avail_range() printing for none IIO_VAL_INT + - iio: light: isl29028: Fix the warning in isl29028_remove() + - scsi: lpfc: Remove extra atomic_inc on cmd_pending in queuecommand after + VMID + - scsi: sg: Allow waiting for commands to complete on removed device + - scsi: qla2xxx: Fix incorrect display of max frame size + - scsi: qla2xxx: Zero undefined mailbox IN registers + - soundwire: qcom: Check device status before reading devid + - ksmbd: fix memory leak in smb2_handle_negotiate + - ksmbd: prevent out of bound read for SMB2_TREE_CONNNECT + - ksmbd: prevent out of bound read for SMB2_WRITE + - ksmbd: fix use-after-free bug in smb2_tree_disconect + - ksmbd: fix heap-based overflow in set_ntacl_dacl() + - fuse: limit nsec + - fuse: ioctl: translate ENOSYS + - fuse: write inode in fuse_release() + - fuse: fix deadlock between atomic O_TRUNC and page invalidation + - serial: mvebu-uart: uart2 error bits clearing + - md-raid: destroy the bitmap after destroying the thread + - md-raid10: fix KASAN warning + - mbcache: don't reclaim used entries + - mbcache: add functions to delete entry if unused + - media: isl7998x: select V4L2_FWNODE to fix build error + - media: [PATCH] pci: atomisp_cmd: fix three missing checks on list iterator + - ia64, processor: fix -Wincompatible-pointer-types in ia64_get_irr() + - powerpc: Restore CONFIG_DEBUG_INFO in defconfigs + - powerpc/64e: Fix early TLB miss with KUAP + - powerpc/fsl-pci: Fix Class Code of PCIe Root Port + - powerpc/ptdump: Fix display of RW pages on FSL_BOOK3E + - powerpc/powernv: Avoid crashing if rng is NULL + - MIPS: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK + - coresight: Clear the connection field properly + - usb: typec: ucsi: Acknowledge the GET_ERROR_STATUS command completion + - USB: HCD: Fix URB giveback issue in tasklet function + - Revert "net: usb: ax88179_178a needs FLAG_SEND_ZLP" + - ARM: dts: uniphier: Fix USB interrupts for PXs2 SoC + - arm64: dts: uniphier: Fix USB interrupts for PXs3 SoC + - usb: dwc3: gadget: refactor dwc3_repare_one_trb + - usb: dwc3: gadget: fix high speed multiplier setting + - netfilter: nf_tables: do not allow SET_ID to refer to another table + - netfilter: nf_tables: do not allow CHAIN_ID to refer to another table + - netfilter: nf_tables: do not allow RULE_ID to refer to another chain + - netfilter: nf_tables: upfront validation of data via nft_data_init() + - netfilter: nf_tables: disallow jump to implicit chain from set element + - netfilter: nf_tables: fix null deref due to zeroed list head + - epoll: autoremove wakers even more aggressively + - x86: Handle idle=nomwait cmdline properly for x86_idle + - arch: make TRACE_IRQFLAGS_NMI_SUPPORT generic + - arm64: kasan: do not instrument stacktrace.c + - arm64: stacktrace: use non-atomic __set_bit + - arm64: Do not forget syscall when starting a new thread. + - arm64: fix oops in concurrently setting insn_emulation sysctls + - arm64: kasan: Revert "arm64: mte: reset the page tag in page->flags" + - [Config] updateconfigs for ARM64_ERRATUM_1742098 + - arm64: errata: Remove AES hwcap for COMPAT tasks + - ext2: Add more validity checks for inode counts + - sched/fair: Introduce SIS_UTIL to search idle CPU based on sum of util_avg + - genirq: Don't return error on missing optional irq_request_resources() + - irqchip/mips-gic: Only register IPI domain when SMP is enabled + - genirq: GENERIC_IRQ_IPI depends on SMP + - sched/fair: fix case with reduced capacity CPU + - sched/core: Always flush pending blk_plug + - irqchip/mips-gic: Check the return value of ioremap() in gic_of_init() + - ARM: dts: imx6ul: add missing properties for sram + - ARM: dts: imx6ul: change operating-points to uint32-matrix + - ARM: dts: imx6ul: fix keypad compatible + - ARM: dts: imx6ul: fix csi node compatible + - ARM: dts: imx6ul: fix lcdif node compatible + - ARM: dts: imx6ul: fix qspi node compatible + - ARM: dts: BCM5301X: Add DT for Meraki MR26 + - ARM: dts: ux500: Fix Janice accelerometer mounting matrix + - ARM: dts: ux500: Fix Codina accelerometer mounting matrix + - ARM: dts: ux500: Fix Gavini accelerometer mounting matrix + - arm64: dts: qcom: timer should use only 32-bit size + - spi: synquacer: Add missing clk_disable_unprepare() + - ARM: OMAP2+: display: Fix refcount leak bug + - ARM: OMAP2+: pdata-quirks: Fix refcount leak bug + - ACPI: EC: Remove duplicate ThinkPad X1 Carbon 6th entry from DMI quirks + - ACPI: EC: Drop the EC_FLAGS_IGNORE_DSDT_GPE quirk + - ACPI: PM: save NVS memory for Lenovo G40-45 + - ACPI: LPSS: Fix missing check in register_device_clock() + - ARM: dts: qcom: sdx55: Fix the IRQ trigger type for UART + - arm64: dts: qcom: sc7280: Rename sar sensor labels + - arm64: dts: qcom: add missing AOSS QMP compatible fallback + - arm64: dts: qcom: ipq8074: fix NAND node name + - arm64: dts: allwinner: a64: orangepi-win: Fix LED node name + - ARM: shmobile: rcar-gen2: Increase refcount for new reference + - firmware: tegra: Fix error check return value of debugfs_create_file() + - hwmon: (dell-smm) Add Dell XPS 13 7390 to fan control whitelist + - PM: EM: convert power field to micro-Watts precision and align drivers + - ACPI: video: Use native backlight on Dell Inspiron N4010 + - hwmon: (sht15) Fix wrong assumptions in device remove callback + - PM: hibernate: defer device probing when resuming from hibernation + - selinux: fix memleak in security_read_state_kernel() + - selinux: Add boundary check in put_entry() + - io_uring: fix io_uring_cqe_overflow trace format + - kasan: test: Silence GCC 12 warnings + - wait: Fix __wait_event_hrtimeout for RT/DL tasks + - meson-mx-socinfo: Fix refcount leak in meson_mx_socinfo_init + - arm64: dts: renesas: beacon: Fix regulator node names + - spi: spi-altera-dfl: Fix an error handling path + - ARM: bcm: Fix refcount leak in bcm_kona_smc_init + - ACPI: processor/idle: Annotate more functions to live in cpuidle section + - ARM: dts: imx7d-colibri-emmc: add cpu1 supply + - ARM: dts: imx7-colibri: overhaul display/touch functionality + - ARM: dts: imx7-colibri: add usb dual-role switching using extcon + - ARM: dts: imx7-colibri: improve wake-up with gpio key + - ARM: dts: imx7-colibri: move aliases, chosen, extcon and gpio-keys + - ARM: dts: imx7-colibri-eval-v3: correct can controller comment + - soc: renesas: r8a779a0-sysc: Fix A2DP1 and A2CV[2357] PDR values + - soc: amlogic: Fix refcount leak in meson-secure-pwrc.c + - arm64: dts: renesas: Fix thermal-sensors on single-zone sensors + - Revert "ARM: dts: imx6qdl-apalis: Avoid underscore in node name" + - x86/pmem: Fix platform-device leak in error path + - ARM: dts: ast2500-evb: fix board compatible + - ARM: dts: ast2600-evb: fix board compatible + - ARM: dts: ast2600-evb-a1: fix board compatible + - arm64: dts: mt8192: Fix idle-states nodes naming scheme + - arm64: dts: mt8192: Fix idle-states entry-method + - arm64: select TRACE_IRQFLAGS_NMI_SUPPORT + - arm64: cpufeature: Allow different PMU versions in ID_DFR0_EL1 + - locking/lockdep: Fix lockdep_init_map_*() confusion + - arm64: dts: qcom: sc7180: Remove ipa_fw_mem node on trogdor + - soc: fsl: guts: machine variable might be unset + - spi: s3c64xx: constify fsd_spi_port_config + - block: fix infinite loop for invalid zone append + - arm64: dts: qcom: sdm845-akatsuki: Round down l22a regulator voltage + - ARM: dts: qcom: mdm9615: add missing PMIC GPIO reg + - ARM: OMAP2+: Fix refcount leak in omapdss_init_of + - ARM: OMAP2+: Fix refcount leak in omap3xxx_prm_late_init + - arm64: dts: qcom: sdm630: disable GPU by default + - arm64: dts: qcom: sdm630: fix the qusb2phy ref clock + - arm64: dts: qcom: sdm630: fix gpu's interconnect path + - arm64: dts: qcom: sdm636-sony-xperia-ganges-mermaid: correct sdc2 pinconf + - cpufreq: zynq: Fix refcount leak in zynq_get_revision + - arm64: dts: renesas: r8a779m8: Drop operating points above 1.5 GHz + - arm64: dts: renesas: r9a07g054l2-smarc: Correct SoC name in comment + - regulator: qcom_smd: Fix pm8916_pldo range + - ACPI: APEI: Fix _EINJ vs EFI_MEMORY_SP + - ARM: dts: qcom: replace gcc PXO with pxo_board fixed clock + - ARM: dts: qcom-msm8974: fix irq type on blsp2_uart1 + - soc: qcom: ocmem: Fix refcount leak in of_get_ocmem + - soc: qcom: aoss: Fix refcount leak in qmp_cooling_devices_register + - ARM: dts: qcom: msm8974: add required ranges to OCMEM + - ARM: dts: qcom: pm8841: add required thermal-sensor-cells + - bus: hisi_lpc: fix missing platform_device_put() in hisi_lpc_acpi_probe() + - lib: overflow: Do not define 64-bit tests on 32-bit + - stack: Declare {randomize_,}kstack_offset to fix Sparse warnings + - arm64: dts: qcom: msm8916: Fix typo in pronto remoteproc node + - arm64: dts: qcom: msm8994: add required ranges to OCMEM + - perf/x86/intel: Fix PEBS memory access info encoding for ADL + - perf/x86/intel: Fix PEBS data source encoding for ADL + - arm64: dts: exynosautov9: correct spi11 pin names + - ACPI: VIOT: Fix ACS setup + - m68k: virt: Fix missing platform_device_unregister() on error in + virt_platform_init() + - arm64: dts: qcom: sm6125: Move sdc2 pinctrl from seine-pdx201 to sm6125 + - arm64: dts: qcom: sm6125: Append -state suffix to pinctrl nodes + - arm64: dts: qcom: msm8996: correct #clock-cells for QMP PHY nodes + - arm64: dts: qcom: sc7280: drop PCIe PHY clock index + - arm64: dts: qcom: sm8250: add missing PCIe PHY clock-cells + - arm64: dts: mt7622: fix BPI-R64 WPS button + - arm64: tegra: Mark BPMP channels as no-memory-wc + - arm64: tegra: Fix SDMMC1 CD on P2888 + - arm64: dts: qcom: sc7280: fix PCIe clock reference + - erofs: wake up all waiters after z_erofs_lzma_head ready + - erofs: avoid consecutive detection for Highmem memory + - spi: Return deferred probe error when controller isn't yet available + - blk-mq: don't create hctx debugfs dir until q->debugfs_dir is created + - spi: dw: Fix IP-core versions macro + - spi: Fix simplification of devm_spi_register_controller + - spi: tegra20-slink: fix UAF in tegra_slink_remove() + - hwmon: (sch56xx-common) Add DMI override table + - hwmon: (drivetemp) Add module alias + - blktrace: Trace remapped requests correctly + - PM: domains: Ensure genpd_debugfs_dir exists before remove + - dm writecache: return void from functions + - dm writecache: count number of blocks read, not number of read bios + - dm writecache: count number of blocks written, not number of write bios + - dm writecache: count number of blocks discarded, not number of discard bios + - regulator: of: Fix refcount leak bug in of_get_regulation_constraints() + - soc: qcom: Make QCOM_RPMPD depend on PM + - soc: qcom: socinfo: Fix the id of SA8540P SoC + - arm64: dts: qcom: msm8998: Make regulator voltages multiple of step-size + - arm64: dts: qcom: qcs404: Fix incorrect USB2 PHYs assignment + - ARM: dts: qcom: msm8974: Disable remoteprocs by default + - irqdomain: Report irq number for NOMAP domains + - perf: RISC-V: Add of_node_put() when breaking out of for_each_of_cpu_node() + - drivers/perf: arm_spe: Fix consistency of SYS_PMSCR_EL1.CX + - nohz/full, sched/rt: Fix missed tick-reenabling bug in dequeue_task_rt() + - sched: only perform capability check on privileged operation + - sched/numa: Initialise numa_migrate_retry + - x86/extable: Fix ex_handler_msr() print condition + - io_uring: move to separate directory + - io_uring: define a 'prep' and 'issue' handler for each opcode + - io_uring: Don't require reinitable percpu_ref + - selftests/seccomp: Fix compile warning when CC=clang + - thermal/tools/tmon: Include pthread and time headers in tmon.h + - tools/power turbostat: Fix file pointer leak + - dm: return early from dm_pr_call() if DM device is suspended + - pwm: sifive: Simplify offset calculation for PWMCMP registers + - pwm: sifive: Ensure the clk is enabled exactly once per running PWM + - pwm: sifive: Shut down hardware only after pwmchip_remove() completed + - pwm: lpc18xx: Fix period handling + - erofs: update ctx->pos for every emitted dirent + - dt-bindings: display: bridge: ldb: Fill in reg property + - drm/i915: remove unused GEM_DEBUG_DECL() and GEM_DEBUG_BUG_ON() + - drm/rockchip: vop2: unlock on error path in vop2_crtc_atomic_enable() + - [Config] updateconfigs for DRM_FSL_LDB + - drm: bridge: DRM_FSL_LDB should depend on ARCH_MXC + - drm/bridge: anx7625: Use DPI bus type + - drm/mgag200: Acquire I/O lock while reading EDID + - drm/meson: Fix refcount leak in meson_encoder_hdmi_init + - drm/dp: Export symbol / kerneldoc fixes for DP AUX bus + - drm/bridge: tc358767: Handle dsi_lanes == 0 as invalid + - drm/bridge: tc358767: Make sure Refclk clock are enabled + - ath10k: do not enforce interrupt trigger type + - ath11k: Fix warning on variable 'sar' dereference before check + - ath11k: Init hw_params before setting up AHB resources + - drm/edid: reset display info in drm_add_edid_modes() for NULL edid + - drm/bridge: lt9611: Use both bits for HDMI sensing + - drm/st7735r: Fix module autoloading for Okaya RH128128T + - drm/panel: Fix build error when CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20=y && + CONFIG_DRM_DISPLAY_HELPER=m + - drm: bridge: adv7511: Move CEC definitions to adv7511_cec.c + - wifi: rtlwifi: fix error codes in rtl_debugfs_set_write_h2c() + - wifi: wilc1000: use correct sequence of RESET for chip Power-UP/Down + - ath11k: fix netdev open race + - ath11k: fix IRQ affinity warning on shutdown + - drm/mipi-dbi: align max_chunk to 2 in spi_transfer + - drm/ssd130x: Only define a SPI device ID table when built as a module + - selftests/bpf: Fix test_run logic in fexit_stress.c + - sample: bpf: xdp_router_ipv4: Allow the kernel to send arp requests + - selftests/bpf: Fix tc_redirect_dtime + - libbpf: Fix is_pow_of_2 + - ath11k: fix missing skb drop on htc_tx_completion error + - ath11k: Fix incorrect debug_mask mappings + - ath11k: Avoid REO CMD failed prints during firmware recovery + - drm/radeon: fix potential buffer overflow in ni_set_mc_special_registers() + - drm/mediatek: Modify dsi funcs to atomic operations + - drm/mediatek: Separate poweron/poweroff from enable/disable and define new + funcs + - drm/mediatek: Add pull-down MIPI operation in mtk_dsi_poweroff function + - drm/meson: encoder_cvbs: Fix refcount leak in meson_encoder_cvbs_init + - drm/meson: encoder_hdmi: Fix refcount leak in meson_encoder_hdmi_init + - drm/bridge: lt9611uxc: Cancel only driver's work + - drm/amdgpu: fix scratch register access method in SRIOV + - drm/amdgpu/display: Prepare for new interfaces + - i2c: npcm: Remove own slave addresses 2:10 + - i2c: npcm: Correct slave role behavior + - i2c: mxs: Silence a clang warning + - virtio-gpu: fix a missing check to avoid NULL dereference + - drm/virtio: Fix NULL vs IS_ERR checking in virtio_gpu_object_shmem_init + - libbpf: Fix uprobe symbol file offset calculation logic + - drm: adv7511: override i2c address of cec before accessing it + - crypto: sun8i-ss - fix error codes in allocate_flows() + - crypto: sun8i-ss - Fix error codes for dma_mapping_error() + - crypto: sun8i-ss - fix a NULL vs IS_ERR() check in sun8i_ss_hashkey + - net: fix sk_wmem_schedule() and sk_rmem_schedule() errors + - can: netlink: allow configuring of fixed bit rates without need for + do_set_bittiming callback + - drm/vkms: check plane_composer->map[0] before using it + - can: netlink: allow configuring of fixed data bit rates without need for + do_set_data_bittiming callback + - drm/bridge: anx7625: Zero error variable when panel bridge not present + - drm/bridge: it6505: Add missing CRYPTO_HASH dependency + - i2c: Fix a potential use after free + - libbpf: Fix internal USDT address translation logic for shared libraries + - selftests/bpf: Don't force lld on non-x86 architectures + - tcp: fix possible freeze in tx path under memory pressure + - crypto: sun8i-ss - fix infinite loop in sun8i_ss_setup_ivs() + - net: ag71xx: fix discards 'const' qualifier warning + - ping: convert to RCU lookups, get rid of rwlock + - raw: use more conventional iterators + - raw: convert raw sockets to RCU + - raw: Fix mixed declarations error in raw_icmp_error(). + - media: atmel: atmel-sama7g5-isc: fix warning in configs without OF + - media: camss: csid: fix wrong size passed to devm_kmalloc_array() + - media: tw686x: Register the irq at the end of probe + - media: amphion: return error if format is unsupported by vpu + - media: Hantro: Correct G2 init qp field + - media: imx-jpeg: Correct some definition according specification + - media: imx-jpeg: Leave a blank space before the configuration data + - media: imx-jpeg: Align upwards buffer size + - media: imx-jpeg: Implement drain using v4l2-mem2mem helpers + - media: rcar-vin: Fix channel routing for Ebisu + - ath9k: fix use-after-free in ath9k_hif_usb_rx_cb + - wifi: mac80211: set STA deflink addresses + - wifi: iwlegacy: 4965: fix potential off-by-one overflow in + il4965_rs_fill_link_cmd() + - wifi: rtw89: 8852a: rfk: fix div 0 exception + - drm/radeon: fix incorrrect SPDX-License-Identifiers + - drm/amd: Don't show warning on reading vbios values for SMU13 3.1 + - drm/amdkfd: correct sdma queue number of sdma 6.0.1 + - torture: Adjust to again produce debugging information + - rcutorture: Fix ksoftirqd boosting timing and iteration + - test_bpf: fix incorrect netdev features + - drm/display: Fix build error without CONFIG_OF + - selftests/bpf: Fix rare segfault in sock_fields prog test + - crypto: ccp - During shutdown, check SEV data pointer before using + - drm: bridge: adv7511: Add check for mipi_dsi_driver_register + - media: imx-jpeg: Disable slot interrupt when frame done + - media: amphion: output firmware error message + - drm/mcde: Fix refcount leak in mcde_dsi_bind + - media: hdpvr: fix error value returns in hdpvr_read + - media: v4l2-mem2mem: prevent pollerr when last_buffer_dequeued is set + - media: sta2x11: remove VIRT_TO_BUS dependency + - media: mediatek: vcodec: Initialize decoder parameters after getting + dec_capability + - media: mediatek: vcodec: Skip SOURCE_CHANGE & EOS events for stateless + - media: driver/nxp/imx-jpeg: fix a unexpected return value problem + - media: tw686x: Fix memory leak in tw686x_video_init + - media: mediatek: vcodec: Fix non subdev architecture open power fail + - drm/vc4: kms: Use maximum FIFO load for the HVS clock rate + - drm/vc4: plane: Remove subpixel positioning check + - drm/vc4: plane: Fix margin calculations for the right/bottom edges + - drm/vc4: dsi: Release workaround buffer and DMA + - drm/vc4: dsi: Correct DSI divider calculations + - drm/vc4: dsi: Correct pixel order for DSI0 + - drm/vc4: dsi: Register dsi0 as the correct vc4 encoder type + - drm/vc4: dsi: Fix dsi0 interrupt support + - drm/vc4: dsi: Add correct stop condition to vc4_dsi_encoder_disable + iteration + - drm/vc4: hdmi: Add all the vc5 HDMI registers into the debugfs dumps + - drm/vc4: hdmi: Clear unused infoframe packet RAM registers + - drm/vc4: hdmi: Avoid full hdmi audio fifo writes + - drm/vc4: hdmi: Reset HDMI MISC_CONTROL register + - drm/vc4: hdmi: Switch to pm_runtime_status_suspended + - drm/vc4: hdmi: Move HDMI reset to pm_resume + - drm/vc4: hdmi: Fix timings for interlaced modes + - drm/vc4: hdmi: Force modeset when bpc or format changes + - drm/vc4: hdmi: Correct HDMI timing registers for interlaced modes + - drm/vc4: hdmi: Move pixel doubling from Pixelvalve to HDMI block + - mm: Account dirty folios properly during splits + - crypto: arm64/gcm - Select AEAD for GHASH_ARM64_CE + - selftests/xsk: Destroy BPF resources only when ctx refcount drops to 0 + - net: dsa: felix: update base time of time-aware shaper when adjusting PTP + time + - net: dsa: felix: keep reference on entire tc-taprio config + - net: dsa: felix: drop oversized frames with tc-taprio instead of hanging the + port + - selftests: net: fib_rule_tests: fix support for running individual tests + - drm/rockchip: vop: Don't crash for invalid duplicate_state() + - drm/rockchip: Fix an error handling path rockchip_dp_probe() + - drm/mediatek: dpi: Remove output format of YUV + - drm/mediatek: dpi: Only enable dpi after the bridge is enabled + - drm/msm/dpu: move intf and wb assignment to dpu_encoder_setup_display() + - drm/msm/dpu: fix maxlinewidth for writeback block + - drm/msm/dpu: remove hard-coded linewidth limit for writeback + - drm/msm/hdmi: fill the pwr_regs bulk regulators + - drm: bridge: sii8620: fix possible off-by-one + - drm/msm: Fix fence rollover issue + - net: sched: provide shim definitions for taprio_offload_{get,free} + - net: dsa: felix: build as module when tc-taprio is module + - hinic: Use the bitmap API when applicable + - net: hinic: fix bug that ethtool get wrong stats + - net: hinic: avoid kernel hung in hinic_get_stats64() + - drm/bridge: anx7625: Fix NULL pointer crash when using edp-panel + - drm/msm: Avoid unclocked GMU register access in 6xx gpu_busy + - libbpf, riscv: Use a0 for RC register + - drm/msm/mdp5: Fix global state lock backoff + - drm/radeon: avoid bogus "vram limit (0) must be a power of 2" warning + - crypto: hisilicon/sec - don't sleep when in softirq + - crypto: hisilicon - Kunpeng916 crypto driver don't sleep when in softirq + - media: platform: mtk-mdp: Fix mdp_ipi_comm structure alignment + - media: amphion: release core lock before reset vpu core + - drm/msm/dpu: Fix for non-visible planes + - media: atomisp: revert "don't pass a pointer to a local variable" + - media: mediatek: vcodec: decoder: Fix 4K frame size enumeration + - media: mediatek: vcodec: decoder: Fix resolution clamping in TRY_FMT + - media: mediatek: vcodec: decoder: Skip alignment for default resolution + - media: mediatek: vcodec: decoder: Drop max_{width,height} from + mtk_vcodec_ctx + - media: mediatek: vcodec: Initialize decoder parameters for each instance + - media: amphion: defer setting last_buffer_dequeued until resolution changes + are processed + - media: hantro: Be more accurate on pixel formats step_width constraints + - media: hantro: Fix RK3399 H.264 format advertising + - media: amphion: sync buffer status with firmware during abort + - media: amphion: only insert the first sequence startcode for vc1l format + - mt76: mt7915: fix endianness in mt7915_rf_regval_get + - mt76: mt76x02u: fix possible memory leak in __mt76x02u_mcu_send_msg + - mt76: mt7915: fix endian bug in mt7915_rf_regval_set() + - mt76: mt7921s: fix firmware download random fail + - mt76: mt7921: not support beacon offload disable command + - wifi: mac80211: reject WEP or pairwise keys with key ID > 3 + - wifi: cfg80211: do some rework towards MLO link APIs + - wifi: mac80211: move some future per-link data to bss_conf + - mt76: mt7615: do not update pm stats in case of error + - mt76: mt7921: do not update pm states in case of error + - mt76: mt7921s: fix possible sdio deadlock in command fail + - mt76: mt7921: fix aggregation subframes setting to HE max + - mt76: mt7921: enlarge maximum VHT MPDU length to 11454 + - mt76: mt7921: rely on mt76_dev in mt7921_mac_write_txwi signature + - mt76: mt7915: rely on mt76_dev in mt7915_mac_write_txwi signature + - mt76: connac: move mac connac2 defs in mt76_connac2_mac.h + - mt76: connac: move connac2_mac_write_txwi in mt76_connac module + - mt76: mt7915: fix incorrect testmode ipg on band 1 caused by wmm_idx + - mt76: mt7615: fix throughput regression on DFS channels + - mediatek: mt76: mac80211: Fix missing of_node_put() in mt76_led_init() + - mediatek: mt76: eeprom: fix missing of_node_put() in + mt76_find_power_limits_node() + - skmsg: Fix invalid last sg check in sk_msg_recvmsg() + - drm/exynos/exynos7_drm_decon: free resources when clk_set_parent() failed. + - bpf, x64: Add predicate for bpf2bpf with tailcalls support in JIT + - bpf, x86: fix freeing of not-finalized bpf_prog_pack + - tcp: make retransmitted SKB fit into the send window + - libbpf: Fix the name of a reused map + - kunit: executor: Fix a memory leak on failure in kunit_filter_tests + - selftests: timers: valid-adjtimex: build fix for newer toolchains + - selftests: timers: clocksource-switch: fix passing errors from child + - bpf: Fix subprog names in stack traces. + - wifi: nl80211: acquire wdev mutex for dump_survey + - media: v4l: async: Also match secondary fwnode endpoints + - media: ov7251: add missing disable functions on error in + ov7251_set_power_on() + - fs: check FMODE_LSEEK to control internal pipe splicing + - media: cedrus: h265: Fix flag name + - media: uapi: HEVC: Change pic_order_cnt definition in v4l2_hevc_dpb_entry + - media: cedrus: h265: Fix logic for not low delay flag + - wifi: wil6210: debugfs: fix info leak in wil_write_file_wmi() + - wifi: p54: Fix an error handling path in p54spi_probe() + - wifi: p54: add missing parentheses in p54_flush() + - drm/amdgpu: use the same HDP flush registers for all nbio 7.4.x + - drm/amdgpu: use the same HDP flush registers for all nbio 2.3.x + - drm/amdgpu: restore original stable pstate on ctx fini + - bpf: fix potential 32-bit overflow when accessing ARRAY map element + - libbpf: make RINGBUF map size adjustments more eagerly + - selftests/bpf: fix a test for snprintf() overflow + - libbpf: fix an snprintf() overflow check + - can: pch_can: do not report txerr and rxerr during bus-off + - can: rcar_can: do not report txerr and rxerr during bus-off + - can: sja1000: do not report txerr and rxerr during bus-off + - can: hi311x: do not report txerr and rxerr during bus-off + - can: sun4i_can: do not report txerr and rxerr during bus-off + - can: kvaser_usb_hydra: do not report txerr and rxerr during bus-off + - can: kvaser_usb_leaf: do not report txerr and rxerr during bus-off + - can: usb_8dev: do not report txerr and rxerr during bus-off + - can: error: specify the values of data[5..7] of CAN error frames + - libbpf: Fix str_has_sfx()'s return value + - can: pch_can: pch_can_error(): initialize errc before using it + - Bluetooth: hci_intel: Add check for platform_driver_register + - Bluetooth: When HCI work queue is drained, only queue chained work + - Bluetooth: mgmt: Fix refresh cached connection info + - Bluetooth: hci_sync: Fix resuming scan after suspend resume + - Bluetooth: hci_sync: Fix not updating privacy_mode + - Bluetooth: Add default wakeup callback for HCI UART driver + - i2c: cadence: Support PEC for SMBus block read + - i2c: qcom-geni: Use the correct return value + - btrfs: update stripe_sectors::uptodate in steal_rbio + - ip_tunnels: Add new flow flags field to ip_tunnel_key + - bpf: Set flow flag to allow any source IP in bpf_tunnel_key + - bpf: Fix bpf_xdp_pointer return pointer + - i2c: mux-gpmux: Add of_node_put() when breaking out of loop + - wifi: ath11k: Fix register write failure on QCN9074 + - wifi: wil6210: debugfs: fix uninitialized variable use in + `wil_write_file_wmi()` + - wifi: iwlwifi: mvm: fix double list_add at iwl_mvm_mac_wake_tx_queue + - wifi: libertas: Fix possible refcount leak in if_usb_probe() + - media: cedrus: hevc: Add check for invalid timestamp + - hantro: Remove incorrect HEVC SPS validation + - drm/amd/display: fix signedness bug in execute_synaptics_rc_command() + - net/mlx5e: Remove WARN_ON when trying to offload an unsupported TLS + cipher/version + - net/mlx5e: TC, Fix post_act to not match on in_port metadata + - net/mlx5e: Fix the value of MLX5E_MAX_RQ_NUM_MTTS + - net/mlx5e: xsk: Account for XSK RQ UMRs when calculating ICOSQ size + - net/mlx5e: Fix calculations related to max MPWQE size + - net/mlx5e: Modify slow path rules to go to slow fdb + - net/mlx5: Adjust log_max_qp to be 18 at most + - net/mlx5: DR, Fix SMFS steering info dump format + - net/mlx5: Fix driver use of uninitialized timeout + - ax25: fix incorrect dev_tracker usage + - crypto: hisilicon/hpre - don't use GFP_KERNEL to alloc mem during softirq + - crypto: inside-secure - Add missing MODULE_DEVICE_TABLE for of + - crypto: hisilicon/sec - fix auth key size error + - net: allow unbound socket for packets in VRF when tcp_l3mdev_accept set + - netdevsim: fib: Fix reference count leak on route deletion failure + - wifi: rtw88: check the return value of alloc_workqueue() + - iavf: Fix max_rate limiting + - iavf: Fix 'tc qdisc show' listing too many queues + - netdevsim: Avoid allocation warnings triggered from user space + - net: rose: fix netdev reference changes + - net: ice: fix error NETIF_F_HW_VLAN_CTAG_FILTER check in ice_vsi_sync_fltr() + - net: ionic: fix error check for vlan flags in ionic_set_nic_features() + - dccp: put dccp_qpolicy_full() and dccp_qpolicy_push() in the same lock + - net: usb: make USB_RTL8153_ECM non user configurable + - net/mlx5e: xsk: Discard unaligned XSK frames on striding RQ + - wireguard: ratelimiter: use hrtimer in selftest + - wireguard: allowedips: don't corrupt stack when detecting overflow + - HID: amd_sfh: Don't show client init failed as error when discovery fails + - clk: renesas: r9a06g032: Fix UART clkgrp bitsel + - mtd: maps: Fix refcount leak in of_flash_probe_versatile + - mtd: maps: Fix refcount leak in ap_flash_init + - mtd: rawnand: meson: Fix a potential double free issue + - clk: renesas: rzg2l: Fix reset status function + - of: check previous kernel's ima-kexec-buffer against memory bounds + - scsi: qla2xxx: edif: Reduce Initiator-Initiator thrashing + - scsi: qla2xxx: edif: bsg refactor + - scsi: qla2xxx: edif: Wait for app to ack on sess down + - scsi: qla2xxx: edif: Add bsg interface to read doorbell events + - scsi: qla2xxx: edif: Fix potential stuck session in sa update + - scsi: qla2xxx: edif: Synchronize NPIV deletion with authentication + application + - scsi: qla2xxx: edif: Add retry for ELS passthrough + - scsi: qla2xxx: edif: Fix n2n discovery issue with secure target + - scsi: qla2xxx: edif: Fix n2n login retry for secure device + - KVM: SVM: Unwind "speculative" RIP advancement if INTn injection "fails" + - KVM: SVM: Stuff next_rip on emulated INT3 injection if NRIPS is supported + - KVM: x86/mmu: Drop RWX=0 SPTEs during ept_sync_page() + - phy: samsung: exynosautov9-ufs: correct TSRV register configurations + - PCI: microchip: Fix refcount leak in mc_pcie_init_irq_domains() + - PCI: tegra194: Fix PM error handling in tegra_pcie_config_ep() + - HID: cp2112: prevent a buffer overflow in cp2112_xfer() + - mtd: sm_ftl: Fix deadlock caused by cancel_work_sync in sm_release + - mtd: partitions: Fix refcount leak in parse_redboot_of + - mtd: parsers: ofpart: Fix refcount leak in bcm4908_partitions_fw_offset + - mtd: spear_smi: Don't skip cleanup after mtd_device_unregister() failed + - mtd: st_spi_fsm: Add a clk_disable_unprepare() in .probe()'s error path + - mtd: spear_smi: Drop if with an always false condition + - mtd: st_spi_fsm: Warn about failure to unregister mtd device + - mtd: st_spi_fsm: Disable clock only after device was unregistered + - PCI: mediatek-gen3: Fix refcount leak in mtk_pcie_init_irq_domains() + - fpga: altera-pr-ip: fix unsigned comparison with less than zero + - usb: host: Fix refcount leak in ehci_hcd_ppc_of_probe + - usb: cdns3: fix random warning message when driver load + - usb: gadget: uvc: Fix comment blocks style + - usb: ohci-nxp: Fix refcount leak in ohci_hcd_nxp_probe + - usb: gadget: tegra-xudc: Fix error check in tegra_xudc_powerdomain_init() + - usbip: vudc: Don't enable IRQs prematurely + - usb: host: ohci-at91: add support to enter suspend using SMC + - usb: xhci: tegra: Fix error check + - dmaengine: dw: dmamux: Export the module device table + - dmaengine: dw: dmamux: Fix build without CONFIG_OF + - netfilter: xtables: Bring SPDX identifier back + - scsi: qla2xxx: edif: Send LOGO for unexpected IKE message + - scsi: qla2xxx: edif: Reduce disruption due to multiple app start + - scsi: qla2xxx: edif: Fix no login after app start + - scsi: qla2xxx: edif: Tear down session if keys have been removed + - scsi: qla2xxx: edif: Fix session thrash + - scsi: qla2xxx: edif: Fix no logout on delete for N2N + - scsi: qla2xxx: edif: Reduce N2N thrashing at app_start time + - iio: accel: bma400: Fix the scale min and max macro values + - platform/chrome: cros_ec: Always expose last resume result + - iio: sx9324: Fix register field spelling + - iio: accel: bma400: Reordering of header files + - iio: accel: bma400: conversion to device-managed function + - iio: accel: bma400: Add triggered buffer support + - iio: core: Fix IIO_ALIGN and rename as it was not sufficiently large + - iio: accel: adxl313: Fix alignment for DMA safety + - iio: accel: adxl355: Fix alignment for DMA safety + - iio: accel: adxl367: Fix alignment for DMA safety + - iio: accel: bma220: Fix alignment for DMA safety + - iio: accel: sca3000: Fix alignment for DMA safety + - iio: accel: sca3300: Fix alignment for DMA safety + - iio: adc: ad7266: Fix alignment for DMA safety + - iio: adc: ad7280a: Fix alignment for DMA safety + - iio: adc: ad7292: Fix alignment for DMA safety + - iio: adc: ad7298: Fix alignment for DMA safety + - iio: adc: ad7476: Fix alignment for DMA safety + - iio: adc: ad7606: Fix alignment for DMA safety + - iio: adc: ad7766: Fix alignment for DMA safety + - iio: adc: ad7768-1: Fix alignment for DMA safety + - iio: adc: ad7887: Fix alignment for DMA safety + - iio: adc: ad7923: Fix alignment for DMA safety + - iio: adc: ad7949: Fix alignment for DMA safety + - iio: adc: hi8435: Fix alignment for DMA safety + - iio: adc: ltc2496: Fix alignment for DMA safety + - iio: adc: ltc2497: Fix alignment for DMA safety + - iio: adc: max1027: Fix alignment for DMA safety + - iio: adc: max11100: Fix alignment for DMA safety + - iio: adc: max1118: Fix alignment for DMA safety + - iio: adc: max1241: Fix alignment for DMA safety + - iio: adc: mcp320x: Fix alignment for DMA safety + - iio: adc: ti-adc0832: Fix alignment for DMA safety + - iio: adc: ti-adc084s021: Fix alignment for DMA safety + - iio: adc: ti-adc108s102: Fix alignment for DMA safety + - iio: adc: ti-adc12138: Fix alignment for DMA safety + - iio: adc: ti-adc128s052: Fix alignment for DMA safety + - iio: adc: ti-adc161s626: Fix alignment for DMA safety + - iio: adc: ti-ads124s08: Fix alignment for DMA safety + - iio: adc: ti-ads131e08: Fix alignment for DMA safety + - iio: adc: ti-ads7950: Fix alignment for DMA safety + - iio: adc: ti-ads8344: Fix alignment for DMA safety + - iio: adc: ti-ads8688: Fix alignment for DMA safety + - iio: adc: ti-tlc4541: Fix alignment for DMA safety + - iio: addac: ad74413r: Fix alignment for DMA safety + - iio: amplifiers: ad8366: Fix alignment for DMA safety + - iio: common: ssp: Fix alignment for DMA safety + - iio: dac: ad5064: Fix alignment for DMA safety + - iio: dac: ad5360: Fix alignment for DMA safety + - iio: dac: ad5421: Fix alignment for DMA safety + - iio: dac: ad5449: Fix alignment for DMA safety + - iio: dac: ad5504: Fix alignment for DMA safety + - iio: dac: ad5592r: Fix alignment for DMA safety + - iio: dac: ad5686: Fix alignment for DMA safety + - iio: dac: ad5755: Fix alignment for DMA safety + - iio: dac: ad5761: Fix alignment for DMA safety + - iio: dac: ad5764: Fix alignment for DMA safety + - iio: dac: ad5766: Fix alignment for DMA safety + - iio: dac: ad5770r: Fix alignment for DMA safety + - iio: dac: ad5791: Fix alignment for DMA saftey + - iio: dac: ad7293: Fix alignment for DMA safety + - iio: dac: ad7303: Fix alignment for DMA safety + - iio: dac: ad8801: Fix alignment for DMA safety + - iio: dac: ltc2688: Fix alignment for DMA safety + - iio: dac: mcp4922: Fix alignment for DMA safety + - iio: dac: ti-dac082s085: Fix alignment for DMA safety + - iio: dac: ti-dac5571: Fix alignment for DMA safety + - iio: dac: ti-dac7311: Fix alignment for DMA safety + - iio: dac: ti-dac7612: Fix alignment for DMA safety + - iio: frequency: ad9523: Fix alignment for DMA safety + - iio: frequency: adf4350: Fix alignment for DMA safety + - iio: frequency: adf4371: Fix alignment for DMA safety + - iio: frequency: admv1013: Fix alignment for DMA safety + - iio: frequency: admv1014: Fix alignment for DMA safety + - iio: frequency: admv4420: Fix alignment for DMA safety + - iio: frequency: adrf6780: Fix alignment for DMA safety + - iio: gyro: adis16080: Fix alignment for DMA safety + - iio: gyro: adis16130: Fix alignment for DMA safety + - iio: gyro: adxrs450: Fix alignment for DMA safety + - iio: gyro: fxas210002c: Fix alignment for DMA safety + - iio: imu: fxos8700: Fix alignment for DMA safety + - iio: imu: inv_icm42600: Fix alignment for DMA safety + - iio: imu: inv_icm42600: Fix alignment for DMA safety in buffer code. + - iio: imu: mpu6050: Fix alignment for DMA safety + - iio: potentiometer: ad5110: Fix alignment for DMA safety + - iio: potentiometer: ad5272: Fix alignment for DMA safety + - iio: potentiometer: max5481: Fix alignment for DMA safety + - iio: potentiometer: mcp41010: Fix alignment for DMA safety + - iio: potentiometer: mcp4131: Fix alignment for DMA safety + - iio: proximity: as3935: Fix alignment for DMA safety + - iio: resolver: ad2s1200: Fix alignment for DMA safety + - iio: resolver: ad2s90: Fix alignment for DMA safety + - iio: temp: ltc2983: Fix alignment for DMA safety + - iio: temp: max31865: Fix alignment for DMA safety + - iio: temp: maxim_thermocouple: Fix alignment for DMA safety + - clk: mediatek: reset: Fix written reset bit offset + - clk: imx93: use adc_root as the parent clock of adc1 + - clk: imx93: correct nic_media parent + - clk: imx: clk-fracn-gppll: fix mfd value + - clk: imx: clk-fracn-gppll: Return rate in rate table properly in + ->recalc_rate() + - clk: imx: clk-fracn-gppll: correct rdiv + - RDMA/rxe: fix xa_alloc_cycle() error return value check again + - lib/test_hmm: avoid accessing uninitialized pages + - mm/memremap: fix memunmap_pages() race with get_dev_pagemap() + - KVM: Don't set Accessed/Dirty bits for ZERO_PAGE + - KVM: selftests: Convert s390x/diag318_test_handler away from VCPU_ID + - KVM: selftests: Use vm_create_with_vcpus() in max_guest_memory_test + - devcoredump: remove the useless gfp_t parameter in dev_coredumpv and + dev_coredumpm + - mwifiex: fix sleep in atomic context bugs caused by dev_coredumpv + - scsi: iscsi: Allow iscsi_if_stop_conn() to be called from kernel + - scsi: iscsi: Add helper to remove a session from the kernel + - scsi: iscsi: Fix session removal on shutdown + - dmaengine: dw-edma: Fix eDMA Rd/Wr-channels and DMA-direction semantics + - KVM: x86: Fix errant brace in KVM capability handling + - mtd: hyperbus: rpc-if: Fix RPM imbalance in probe error path + - mtd: dataflash: Add SPI ID table + - clk: qcom: camcc-sm8250: Fix halt on boot by reducing driver's init level + - misc: rtsx: Fix an error handling path in rtsx_pci_probe() + - driver core: fix potential deadlock in __driver_attach + - clk: qcom: clk-krait: unlock spin after mux completion + - coresight: configfs: Fix unload of configurations on module exit + - coresight: syscfg: Update load and unload operations + - usb: gadget: f_mass_storage: Make CD-ROM emulation works with Windows OS + - clk: qcom: gcc-msm8939: Add missing SYSTEM_MM_NOC_BFDCD_CLK_SRC + - clk: qcom: gcc-msm8939: Fix bimc_ddr_clk_src rcgr base address + - clk: qcom: gcc-msm8939: Add missing system_mm_noc_bfdcd_clk_src + - clk: qcom: gcc-msm8939: Point MM peripherals to system_mm_noc clock + - usb: host: xhci: use snprintf() in xhci_decode_trb() + - RDMA/rxe: Add a responder state for atomic reply + - RDMA/rxe: Fix deadlock in rxe_do_local_ops() + - clk: qcom: ipq8074: fix NSS core PLL-s + - clk: qcom: ipq8074: SW workaround for UBI32 PLL lock + - clk: qcom: ipq8074: fix NSS port frequency tables + - clk: qcom: ipq8074: set BRANCH_HALT_DELAY flag for UBI clocks + - clk: qcom: camcc-sdm845: Fix topology around titan_top power domain + - clk: qcom: camcc-sm8250: Fix topology around titan_top power domain + - clk: qcom: clk-rcg2: Fail Duty-Cycle configuration if MND divider is not + enabled. + - clk: qcom: clk-rcg2: Make sure to not write d=0 to the NMD register + - kernfs: fix potential NULL dereference in __kernfs_remove + - mm: rmap: use the correct parameter name for DEFINE_PAGE_VMA_WALK + - mm/migration: return errno when isolate_huge_page failed + - mm/migration: fix potential pte_unmap on an not mapped pte + - mm: introduce clear_highpage_kasan_tagged + - kasan: fix zeroing vmalloc memory with HW_TAGS + - mm/mempolicy: fix get_nodes out of bound access + - phy: ti: tusb1210: Don't check for write errors when powering on + - phy: rockchip-inno-usb2: Sync initial otg state + - PCI: dwc: Stop link on host_init errors and de-initialization + - PCI: dwc: Add unroll iATU space support to dw_pcie_disable_atu() + - PCI: dwc: Disable outbound windows only for controllers using iATU + - PCI: dwc: Set INCREASE_REGION_SIZE flag based on limit address + - PCI: dwc: Deallocate EPC memory on dw_pcie_ep_init() errors + - PCI: dwc: Always enable CDM check if "snps,enable-cdm-check" exists + - soundwire: bus_type: fix remove and shutdown support + - soundwire: revisit driver bind/unbind and callbacks + - KVM: arm64: Don't return from void function + - dmaengine: sf-pdma: Add multithread support for a DMA channel + - PCI: endpoint: Don't stop controller when unbinding endpoint function + - phy: qcom-qmp: fix the QSERDES_V5_COM_CMN_MODE register + - scsi: qla2xxx: Check correct variable in qla24xx_async_gffid() + - scsi: lpfc: Revert RSCN_MEMENTO workaround for misbehaved configuration + - intel_th: Fix a resource leak in an error handling path + - intel_th: msu-sink: Potential dereference of null pointer + - intel_th: msu: Fix vmalloced buffers + - binder: fix redefinition of seq_file attributes + - staging: rtl8192u: Fix sleep in atomic context bug in + dm_fsync_timer_callback + - rtla/utils: Use calloc and check the potential memory allocation failure + - habanalabs: fix double unlock on error in map_device_va() + - dt-bindings: mmc: sdhci-msm: Fix issues in yaml bindings + - mmc: sdhci-of-esdhc: Fix refcount leak in esdhc_signal_voltage_switch + - mmc: mxcmmc: Silence a clang warning + - mmc: renesas_sdhi: Get the reset handle early in the probe + - memstick/ms_block: Fix some incorrect memory allocation + - memstick/ms_block: Fix a memory leak + - mmc: sdhci-of-at91: fix set_uhs_signaling rewriting of MC1R + - of: device: Fix missing of_node_put() in of_dma_set_restricted_buffer + - mmc: block: Add single read for 4k sector cards + - KVM: s390: pv: leak the topmost page table when destroy fails + - PCI/portdrv: Don't disable AER reporting in get_port_device_capability() + - PCI: qcom: Set up rev 2.1.0 PARF_PHY before enabling clocks + - scsi: smartpqi: Fix DMA direction for RAID requests + - xtensa: iss/network: provide release() callback + - xtensa: iss: fix handling error cases in iss_net_configure() + - usb: gadget: udc: amd5536 depends on HAS_DMA + - usb: aspeed-vhub: Fix refcount leak bug in ast_vhub_init_desc() + - usb: dwc3: core: Deprecate GCTL.CORESOFTRESET + - usb: dwc3: core: Do not perform GCTL_CORE_SOFTRESET during bootup + - usb: dwc3: qcom: fix missing optional irq warnings + - eeprom: idt_89hpesx: uninitialized data in idt_dbgfs_csr_write() + - phy: stm32: fix error return in stm32_usbphyc_phy_init + - phy: rockchip-inno-usb2: Ignore OTG IRQs in host mode + - interconnect: imx: fix max_node_id + - KVM: arm64: Fix hypervisor address symbolization + - um: random: Don't initialise hwrng struct with zero + - mm: percpu: use kmemleak_ignore_phys() instead of kmemleak_free() + - RDMA/irdma: Fix a window for use-after-free + - RDMA/irdma: Fix VLAN connection with wildcard address + - RDMA/irdma: Fix setting of QP context err_rq_idx_valid field + - RDMA/rtrs-srv: Fix modinfo output for stringify + - RDMA/rtrs-clt: Replace list_next_or_null_rr_rcu with an inline function + - RDMA/qedr: Fix potential memory leak in __qedr_alloc_mr() + - RDMA/hns: Fix incorrect clearing of interrupt status register + - RDMA/siw: Fix duplicated reported IW_CM_EVENT_CONNECT_REPLY event + - RDMA/rxe: Fix BUG: KASAN: null-ptr-deref in rxe_qp_do_cleanup + - iio: cros: Register FIFO callback after sensor is registered + - clk: qcom: Drop mmcx gdsc supply for dispcc and videocc + - clk: qcom: gdsc: Bump parent usage count when GDSC is found enabled + - clk: qcom: gcc-msm8939: Fix weird field spacing in ftbl_gcc_camss_cci_clk + - RDMA/hfi1: fix potential memory leak in setup_base_ctxt() + - gpio: gpiolib-of: Fix refcount bugs in of_mm_gpiochip_add_data() + - iio: adc: max1027: unlock on error path in max1027_read_single_value() + - HID: mcp2221: prevent a buffer overflow in mcp_smbus_write() + - HID: amd_sfh: Add NULL check for hid device + - dmaengine: imx-dma: Cast of_device_get_match_data() with (uintptr_t) + - scripts/gdb: fix 'lx-dmesg' on 32 bits arch + - RDMA/rxe: Fix mw bind to allow any consumer key portion + - mmc: core: quirks: Add of_node_put() when breaking out of loop + - mmc: cavium-octeon: Add of_node_put() when breaking out of loop + - mmc: cavium-thunderx: Add of_node_put() when breaking out of loop + - HID: alps: Declare U1_UNICORN_LEGACY support + - RDMA/rxe: For invalidate compare according to set keys in mr + - RDMA/rxe: Fix rnr retry behavior + - PCI: tegra194: Fix Root Port interrupt handling + - PCI: tegra194: Fix link up retry sequence + - HID: amd_sfh: Handle condition of "no sensors" + - USB: serial: fix tty-port initialized comments + - usb: xhci_plat_remove: avoid NULL dereference + - usb: cdns3: change place of 'priv_ep' assignment in + cdns3_gadget_ep_dequeue(), cdns3_gadget_ep_enable() + - mtd: spi-nor: fix spi_nor_spimem_setup_op() call in + spi_nor_erase_{sector,chip}() + - staging: fbtft: core: set smem_len before fb_deferred_io_init call + - KVM: nVMX: Set UMIP bit CR4_FIXED1 MSR when emulating UMIP + - tools/power/x86/intel-speed-select: Fix off by one check + - platform/x86: pmc_atom: Match all Lex BayTrail boards with critclk_systems + DMI table + - platform/mellanox: mlxreg-lc: Fix error flow and extend verbosity + - platform/olpc: Fix uninitialized data in debugfs write + - RDMA/srpt: Duplicate port name members + - RDMA/srpt: Introduce a reference count in struct srpt_device + - RDMA/srpt: Fix a use-after-free + - android: binder: stop saving a pointer to the VMA + - mm/mmap.c: fix missing call to vm_unacct_memory in mmap_region + - selftests/vm: fix errno handling in mrelease_test + - tools/testing/selftests/vm/hugetlb-madvise.c: silence uninitialized variable + warning + - selftest/vm: uninitialized variable in main() + - rtla: Fix Makefile when called from -C tools/ + - rtla: Fix double free + - [Config] updateconfigs for VIRTIO_ANCHOR + - virtio: replace restricted mem access flag with callback + - [Config] updateconfigs for XEN_VIRTIO_FORCE_GRANT + - xen: don't require virtio with grants for non-PV guests + - selftests: kvm: set rax before vmcall + - of/fdt: declared return type does not match actual return type + - RDMA/mlx5: Add missing check for return value in get namespace flow + - RDMA/rxe: Fix error unwind in rxe_create_qp() + - block/rnbd-srv: Set keep_id to true after mutex_trylock + - null_blk: fix ida error handling in null_add_dev() + - nbd: add missing definition of pr_fmt + - mtip32xx: fix device removal + - nvme: use command_id instead of req->tag in trace_nvme_complete_rq() + - nvme: define compat_ioctl again to unbreak 32-bit userspace. + - nvme: catch -ENODEV from nvme_revalidate_zones again + - block/bio: remove duplicate append pages code + - block: ensure iov_iter advances for added pages + - jbd2: fix outstanding credits assert in jbd2_journal_commit_transaction() + - ext4: recover csum seed of tmp_inode after migrating to extents + - jbd2: fix assertion 'jh->b_frozen_data == NULL' failure when journal aborted + - usb: cdns3: Don't use priv_dev uninitialized in cdns3_gadget_ep_enable() + - opp: Fix error check in dev_pm_opp_attach_genpd() + - ASoC: cros_ec_codec: Fix refcount leak in cros_ec_codec_platform_probe + - ASoC: samsung: Fix error handling in aries_audio_probe + - ASoC: imx-audmux: Silence a clang warning + - ASoC: mediatek: mt8173: Fix refcount leak in mt8173_rt5650_rt5676_dev_probe + - ASoC: max98390: use linux/gpio/consumer.h to fix build + - ASoC: mt6797-mt6351: Fix refcount leak in mt6797_mt6351_dev_probe + - ASoC: codecs: da7210: add check for i2c_add_driver + - ASoC: mediatek: mt8173-rt5650: Fix refcount leak in mt8173_rt5650_dev_probe + - serial: pic32: fix missing clk_disable_unprepare() on error in + pic32_uart_startup() + - serial: 8250: Create serial_lsr_in() + - serial: 8250: Get preserved flags using serial_lsr_in() + - serial: 8250_dw: Use serial_lsr_in() in dw8250_handle_irq() + - serial: 8250_dw: Store LSR into lsr_saved_flags in dw8250_tx_wait_empty() + - ASoC: SOF: make ctx_store and ctx_restore as optional + - ASoC: codecs: msm8916-wcd-digital: move gains from SX_TLV to S8_TLV + - ASoC: codecs: wcd9335: move gains from SX_TLV to S8_TLV + - ASoC: cs35l45: Add endianness flag in snd_soc_component_driver + - rpmsg: char: Add mutex protection for rpmsg_eptdev_open() + - rpmsg: mtk_rpmsg: Fix circular locking dependency + - remoteproc: k3-r5: Fix refcount leak in k3_r5_cluster_of_init + - selftests/livepatch: better synchronize test_klp_callbacks_busy + - profiling: fix shift too large makes kernel panic + - remoteproc: imx_rproc: Fix refcount leak in imx_rproc_addr_init + - KVM: PPC: Book3s: Fix warning about xics_rm_h_xirr_x + - rpmsg: Fix possible refcount leak in rpmsg_register_device_override() + - selftests/powerpc: Skip energy_scale_info test on older firmware + - ASoC: samsung: h1940_uda1380: include proepr GPIO consumer header + - powerpc/perf: Optimize clearing the pending PMI and remove WARN_ON for PMI + check in power_pmu_disable + - ASoC: soc-core.c: fixup snd_soc_of_get_dai_link_cpus() + - ASoC: samsung: change gpiod_speaker_power and rx1950_audio from global to + static variables + - serial: 8250_dw: Take port lock while accessing LSR + - ASoC: codecs: wsa881x: handle timeouts in resume path + - vfio/mlx5: Protect mlx5vf_disable_fds() upon close device + - vfio: Split migration ops from main device ops + - net/ice: fix initializing the bitmap in the switch code + - tty: n_gsm: fix user open not possible at responder until initiator open + - tty: n_gsm: fix tty registration before control channel open + - tty: n_gsm: fix wrong queuing behavior in gsm_dlci_data_output() + - tty: n_gsm: fix missing timer to handle stalled links + - tty: n_gsm: fix non flow control frames during mux flow off + - tty: n_gsm: fix packet re-transmission without open control channel + - tty: n_gsm: fix race condition in gsmld_write() + - tty: n_gsm: fix deadlock and link starvation in outgoing data path + - tty: n_gsm: fix resource allocation order in gsm_activate_mux() + - ASoC: qcom: Fix missing of_node_put() in + asoc_qcom_lpass_cpu_platform_probe() + - MIPS: Loongson64: Fix section mismatch warning + - ASoC: imx-card: Fix DSD/PDM mclk frequency + - remoteproc: qcom: wcnss: Fix handling of IRQs + - vfio/ccw: Remove UUID from s390 debug log + - vfio/ccw: Fix FSM state if mdev probe fails + - vfio/ccw: Do not change FSM state in subchannel event + - ASoC: audio-graph-card2.c: use of_property_read_u32() for rate + - serial: 8250_fsl: Don't report FE, PE and OE twice + - tty: n_gsm: fix wrong T1 retry count handling + - tty: n_gsm: fix DM command + - tty: n_gsm: fix flow control handling in tx path + - tty: n_gsm: fix missing corner cases in gsmld_poll() + - MIPS: vdso: Utilize __pa() for gic_pfn + - ASoC: SOF: mediatek: fix mt8195 StatvectorSel wrong setting + - swiotlb: fail map correctly with failed io_tlb_default_mem + - lib/bitmap: fix off-by-one in bitmap_to_arr64() + - ASoC: SOF: ipc3-topology: Prevent double freeing of ipc_control_data via + load_bytes + - cpufreq: mediatek: fix error return code in mtk_cpu_dvfs_info_init() + - ASoc: audio-graph-card2: Fix refcount leak bug in __graph_get_type() + - ASoC: mt6359: Fix refcount leak bug + - ASoC: SOF: ipc-msg-injector: fix copy in sof_msg_inject_ipc4_dfs_write() + - serial: 8250_bcm7271: Save/restore RTS in suspend/resume + - iommu/exynos: Handle failed IOMMU device registration properly + - 9p: Drop kref usage + - 9p: Add client parameter to p9_req_put() + - net: 9p: fix refcount leak in p9_read_work() error handling + - MIPS: Fixed __debug_virt_addr_valid() + - rpmsg: qcom_smd: Fix refcount leak in qcom_smd_parse_edge + - leds: pwm-multicolor: Don't show -EPROBE_DEFER as errors + - kfifo: fix kfifo_to_user() return type + - lib/smp_processor_id: fix imbalanced instrumentation_end() call + - proc: fix a dentry lock race between release_task and lookup + - remoteproc: qcom: pas: Check if coredump is enabled + - remoteproc: sysmon: Wait for SSCTL service to come up + - mfd: t7l66xb: Drop platform disable callback + - mfd: max77620: Fix refcount leak in max77620_initialise_fps + - ASoC: amd: yc: Decrease level of error message + - iommu/arm-smmu: qcom_iommu: Add of_node_put() when breaking out of loop + - perf tools: Fix dso_id inode generation comparison + - riscv: spinwait: Fix hartid variable type + - s390/crash: fix incorrect number of bytes to copy to user space + - s390/zcore: fix race when reading from hardware system area + - perf test: Fix test case 83 ('perf stat CSV output linter') on s390 + - ASoC: fsl_asrc: force cast the asrc_format type + - ASoC: fsl-asoc-card: force cast the asrc_format type + - ASoC: fsl_easrc: use snd_pcm_format_t type for sample_format + - ASoC: imx-card: use snd_pcm_format_t type for asrc_format + - ASoC: qcom: q6dsp: Fix an off-by-one in q6adm_alloc_copp() + - fuse: Remove the control interface for virtio-fs + - ASoC: audio-graph-card: Add of_node_put() in fail path + - ASoC: audio-graph-card2: Add of_node_put() in fail path + - watchdog: f71808e_wdt: Add check for platform_driver_register + - watchdog: sp5100_tco: Fix a memory leak of EFCH MMIO resource + - watchdog: armada_37xx_wdt: check the return value of devm_ioremap() in + armada_37xx_wdt_probe() + - ASoC: Intel: sof_rt5682: Perform quirk check first in card late probe + - video: fbdev: amba-clcd: Fix refcount leak bugs + - video: fbdev: sis: fix typos in SiS_GetModeID() + - ASoC: mchp-spdifrx: disable end of block interrupt on failures + - powerpc/32: Call mmu_mark_initmem_nx() regardless of data block mapping. + - powerpc/32s: Fix boot failure with KASAN + SMP + + JUMP_LABEL_FEATURE_CHECK_DEBUG + - powerpc/32: Do not allow selection of e5500 or e6500 CPUs on PPC32 + - video: fbdev: offb: Include missing linux/platform_device.h + - pseries/iommu/ddw: Fix kdump to work in absence of ibm,dma-window + - powerpc/iommu: Fix iommu_table_in_use for a small default DMA window case + - powerpc/pci: Prefer PCI domain assignment via DT 'linux,pci-domain' and + alias + - selftests/powerpc: Fix matrix multiply assist test + - serial: 8250_bcm2835aux: Add missing clk_disable_unprepare() + - tty: serial: qcom-geni-serial: Fix get_clk_div_rate() which otherwise could + return a sub-optimal clock rate. + - tty: serial: fsl_lpuart: correct the count of break characters + - s390/smp: enforce lowcore protection on CPU restart + - perf stat: Revert "perf stat: Add default hybrid events" + - f2fs: fix to invalidate META_MAPPING before DIO write + - f2fs: fix to check inline_data during compressed inode conversion + - f2fs: fix to remove F2FS_COMPR_FL and tag F2FS_NOCOMP_FL at the same time + - cifs: Fix memory leak when using fscache + - powerpc/spufs: Fix refcount leak in spufs_init_isolated_loader + - powerpc/xive: Fix refcount leak in xive_get_max_prio + - powerpc/cell/axon_msi: Fix refcount leak in setup_msi_msg_address + - perf symbol: Fail to read phdr workaround + - kprobes: Forbid probing on trampoline and BPF code areas + - x86/bus_lock: Don't assume the init value of DEBUGCTLMSR.BUS_LOCK_DETECT to + be zero + - powerpc/pci: Fix PHB numbering when using opal-phbid + - genelf: Use HAVE_LIBCRYPTO_SUPPORT, not the never defined HAVE_LIBCRYPTO + - scripts/faddr2line: Fix vmlinux detection on arm64 + - tty: serial: qcom-geni-serial: Fix %lu -> %u in print statements + - powerpc/64e: Fix kexec build error + - sched, cpuset: Fix dl_cpu_busy() panic due to empty cs->cpus_allowed + - x86/numa: Use cpumask_available instead of hardcoded NULL check + - video: fbdev: arkfb: Fix a divide-by-zero bug in ark_set_pixclock() + - tools/thermal: Fix possible path truncations + - sched: Fix the check of nr_running at queue wakelist + - sched: Remove the limitation of WF_ON_CPU on wakelist if wakee cpu is idle + - sched/core: Do not requeue task on CPU excluded from cpus_mask + - f2fs: do not allow to decompress files have FI_COMPRESS_RELEASED + - video: fbdev: vt8623fb: Check the size of screen before memset_io() + - video: fbdev: arkfb: Check the size of screen before memset_io() + - video: fbdev: s3fb: Check the size of screen before memset_io() + - scsi: ufs: core: Correct ufshcd_shutdown() flow + - scsi: zfcp: Fix missing auto port scan and thus missing target ports + - scsi: qla2xxx: Fix imbalance vha->vref_count + - scsi: qla2xxx: Fix discovery issues in FC-AL topology + - scsi: qla2xxx: Turn off multi-queue for 8G adapters + - scsi: qla2xxx: Fix crash due to stale SRB access around I/O timeouts + - scsi: qla2xxx: Fix excessive I/O error messages by default + - scsi: qla2xxx: Fix erroneous mailbox timeout after PCI error injection + - scsi: qla2xxx: Wind down adapter after PCIe error + - scsi: qla2xxx: Fix losing FCP-2 targets on long port disable with I/Os + - scsi: qla2xxx: Fix losing target when it reappears during delete + - scsi: qla2xxx: Fix losing FCP-2 targets during port perturbation tests + - cifs: fix lock length calculation + - x86/bugs: Enable STIBP for IBPB mitigated RETBleed + - ftrace/x86: Add back ftrace_expected assignment + - x86/kprobes: Update kcb status flag after singlestepping + - x86/olpc: fix 'logical not is only applied to the left hand side' + - SMB3: fix lease break timeout when multiple deferred close handles for the + same file. + - posix-cpu-timers: Cleanup CPU timers before freeing them during exec + - Input: gscps2 - check return value of ioremap() in gscps2_probe() + - __follow_mount_rcu(): verify that mount_lock remains unchanged + - spmi: trace: fix stack-out-of-bound access in SPMI tracing functions + - csky: abiv1: Fixup compile error + - drivers/base: fix userspace break from using bin_attributes for cpumap and + cpulist + - drm/mediatek: Keep dsi as LP00 before dcs cmds transfer + - [Config] updateconfigs for CRYPTO_LIB_BLAKE2S + - crypto: blake2s - remove shash module + - firmware: arm_scpi: Ensure scpi_info is not assigned if the probe fails + - intel_th: pci: Add Meteor Lake-P support + - intel_th: pci: Add Raptor Lake-S PCH support + - intel_th: pci: Add Raptor Lake-S CPU support + - KVM: set_msr_mce: Permit guests to ignore single-bit ECC errors + - KVM: x86: Signal #GP, not -EPERM, on bad WRMSR(MCi_CTL/STATUS) + - iommu/vt-d: avoid invalid memory access via node_online(NUMA_NO_NODE) + - PCI/AER: Iterate over error counters instead of error strings + - PCI: qcom: Power on PHY before IPQ8074 DBI register accesses + - dm writecache: set a default MAX_WRITEBACK_JOBS + - kexec_file: drop weak attribute from functions + - kexec: clean up arch_kexec_kernel_verify_sig + - kexec, KEYS, s390: Make use of built-in and secondary keyring for signature + verification + - tracing/events: Add __vstring() and __assign_vstr() helper macros + - dm thin: fix use-after-free crash in dm_sm_register_threshold_callback + - net/9p: Initialize the iounit field during fid creation + - ARM: Marvell: Update PCIe fixup + - timekeeping: contribute wall clock to rng on time change + - locking/csd_lock: Change csdlock_debug from early_param to __setup + - block: don't allow the same type rq_qos add more than once + - btrfs: tree-log: make the return value for log syncing consistent + - btrfs: ensure pages are unlocked on cow_file_range() failure + - btrfs: fix error handling of fallback uncompress write + - btrfs: reset block group chunk force if we have to wait + - btrfs: properly flag filesystem with BTRFS_FEATURE_INCOMPAT_BIG_METADATA + - block: add bdev_max_segments() helper + - btrfs: zoned: revive max_zone_append_bytes + - btrfs: replace BTRFS_MAX_EXTENT_SIZE with fs_info->max_extent_size + - btrfs: convert count_max_extents() to use fs_info->max_extent_size + - btrfs: let can_allocate_chunk return error + - btrfs: zoned: finish least available block group on data bg allocation + - btrfs: zoned: disable metadata overcommit for zoned + - btrfs: store chunk size in space-info struct + - btrfs: zoned: introduce space_info->active_total_bytes + - btrfs: zoned: activate metadata block group on flush_space + - btrfs: zoned: activate necessary block group + - btrfs: zoned: write out partially allocated region + - btrfs: zoned: wait until zone is finished when allocation didn't progress + - btrfs: join running log transaction when logging new name + - intel_idle: make SPR C1 and C1E be independent + - ACPI: CPPC: Do not prevent CPPC from working in the future + - powerpc/powernv/kvm: Use darn for H_RANDOM on Power9 + - s390/unwind: fix fgraph return address recovery + - KVM: x86/pmu: Introduce the ctrl_mask value for fixed counter + - KVM: VMX: Mark all PERF_GLOBAL_(OVF)_CTRL bits reserved if there's no vPMU + - KVM: x86/pmu: Ignore pmu->global_ctrl check if vPMU doesn't support + global_ctrl + - KVM: x86/pmu: Accept 0 for absent PMU MSRs when host-initiated if + !enable_pmu + - Revert "KVM: x86/pmu: Accept 0 for absent PMU MSRs when host-initiated if + !enable_pmu" + - KVM: VMX: Add helper to check if the guest PMU has PERF_GLOBAL_CTRL + - KVM: nVMX: Attempt to load PERF_GLOBAL_CTRL on nVMX xfer iff it exists + - dm raid: fix address sanitizer warning in raid_status + - dm raid: fix address sanitizer warning in raid_resume + - dm: fix dm-raid crash if md_handle_request() splits bio + - mm/damon/reclaim: fix potential memory leak in damon_reclaim_init() + - hugetlb_cgroup: fix wrong hugetlb cgroup numa stat + - batman-adv: tracing: Use the new __vstring() helper + - tracing: Use a struct alignof to determine trace event field alignment + - ext4: fix reading leftover inlined symlinks + - ext4: update s_overhead_clusters in the superblock during an on-line resize + - ext4: fix extent status tree race in writeback error recovery path + - ext4: add EXT4_INODE_HAS_XATTR_SPACE macro in xattr.h + - ext4: fix use-after-free in ext4_xattr_set_entry + - ext4: correct max_inline_xattr_value_size computing + - ext4: correct the misjudgment in ext4_iget_extra_inode + - ext4: fix warning in ext4_iomap_begin as race between bmap and write + - Documentation: ext4: fix cell spacing of table heading on blockmap table + - ext4: check if directory block is within i_size + - ext4: make sure ext4_append() always allocates new block + - ext4: remove EA inode entry from mbcache on inode eviction + - ext4: unindent codeblock in ext4_xattr_block_set() + - ext4: fix race when reusing xattr blocks + - KEYS: asymmetric: enforce SM2 signature use pkey algo + - tpm: eventlog: Fix section mismatch for DEBUG_SECTION_MISMATCH + - tpm: Add check for Failure mode for TPM2 modules + - xen-blkback: fix persistent grants negotiation + - xen-blkback: Apply 'feature_persistent' parameter when connect + - xen-blkfront: Apply 'feature_persistent' parameter when connect + - powerpc: Fix eh field when calling lwarx on PPC32 + - powerpc64/ftrace: Fix ftrace for clang builds + - net_sched: cls_route: remove from list when handle is 0 + - Revert "drm/bridge: anx7625: Use DPI bus type" + - tcp: fix over estimation in sk_forced_mem_schedule() + - crypto: lib/blake2s - reduce stack frame usage in self test + - raw: remove unused variables from raw6_icmp_error() + - raw: fix a typo in raw_icmp_error() + - Revert "mwifiex: fix sleep in atomic context bugs caused by dev_coredumpv" + - Revert "devcoredump: remove the useless gfp_t parameter in dev_coredumpv and + dev_coredumpm" + - mptcp: refine memory scheduling + - wifi: cfg80211: handle IBSS in channel switch + - wifi: nl80211: hold wdev mutex for tid config + - wifi: nl80211: relax wdev mutex check in wdev_chandef() + - wifi: nl80211: acquire wdev mutex earlier in start_ap + - wifi: cfg80211: remove chandef check in cfg80211_cac_event() + - tracing: Use a copy of the va_list for __assign_vstr() + - net: dsa: felix: fix min gate len calculation for tc when its first gate is + closed + - Revert "s390/smp: enforce lowcore protection on CPU restart" + - powerpc/kexec: Fix build failure from uninitialised variable + - io_uring: mem-account pbuf buckets + - Bluetooth: L2CAP: Fix l2cap_global_chan_by_psm regression + - ASoC: Intel: avs: Use lookup table to create modules + - geneve: Use ip_tunnel_key flow flags in route lookups + - vxlan: Use ip_tunnel_key flow flags in route lookups + - Linux 5.19.2 + + * Boot fails: failed to validate module [nls_iso8859_1] BTF: -22 + (LP: #1911359) // Kinetic update: v5.19.2 upstream stable release + (LP: #1986865) + - x86/entry: Build thunk_$(BITS) only if CONFIG_PREEMPTION=y + + * Kinetic update: v5.19.1 upstream stable release (LP: #1986848) + - block: fix default IO priority handling again + - tools/vm/slabinfo: Handle files in debugfs + - ACPI: video: Force backlight native for some TongFang devices + - ACPI: video: Shortening quirk list by identifying Clevo by board_name only + - ACPI: APEI: Better fix to avoid spamming the console with old error logs + - crypto: arm64/poly1305 - fix a read out-of-bound + - ata: sata_mv: Fixes expected number of resources now IRQs are gone + - arm64: set UXN on swapper page tables + - Bluetooth: hci_qca: Return wakeup for qca_wakeup + - Bluetooth: hci_bcm: Add BCM4349B1 variant + - Bluetooth: hci_bcm: Add DT compatible for CYW55572 + - dt-bindings: bluetooth: broadcom: Add BCM4349B1 DT binding + - Bluetooth: btusb: Add support of IMC Networks PID 0x3568 + - Bluetooth: btusb: Add Realtek RTL8852C support ID 0x04CA:0x4007 + - Bluetooth: btusb: Add Realtek RTL8852C support ID 0x04C5:0x1675 + - Bluetooth: btusb: Add Realtek RTL8852C support ID 0x0CB8:0xC558 + - Bluetooth: btusb: Add Realtek RTL8852C support ID 0x13D3:0x3587 + - Bluetooth: btusb: Add Realtek RTL8852C support ID 0x13D3:0x3586 + - macintosh/adb: fix oob read in do_adb_query() function + - x86/speculation: Add RSB VM Exit protections + - x86/speculation: Add LFENCE to RSB fill sequence + - Linux 5.19.1 + + * refactoring of overlayfs fix to properly support shiftfs (LP: #1983640) + - SAUCE: for aufs mmap: print the virtual file path + - SAUCE: overlayfs: fix incorrect mnt_id of files opened from map_files + + * ioam6.sh in net from ubuntu_kernel_selftests fails with 5.15 kernels in + Focal (LP: #1982930) + - selftests: net: fix IOAM test skip return code + + * Miscellaneous Ubuntu changes + - [Packaging]: always use fully qualified -gcc-VER toolchain + - [Config] update toolchain versions + - [Packaging] use unversioned default gcc + - [Packaging] Remove circular dependency between image & modules + - [Packaging] kernelconfig: drop stray 'set -x' + - SAUCE: Revert "perf tools: Use Python devtools for version autodetection + rather than runtime" + - [Config] update configs after applying stable updates + + -- Andrea Righi Mon, 05 Sep 2022 11:44:01 +0200 + +linux (5.19.0-15.15) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-15.15 -proposed tracker (LP: #1983335) + + * Miscellaneous Ubuntu changes + - [Config] update annotations to support both gcc-11 and gcc-12 + + -- Andrea Righi Tue, 02 Aug 2022 09:23:01 +0200 + +linux (5.19.0-14.14) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-14.14 -proposed tracker (LP: #1983273) + + * Miscellaneous Ubuntu changes + - [Packaging] module-signature-check: Check debian./signature-inclusion + - [Packaging] Introduce debian/scripts/sign-module + - SAUCE: Switch to using debian/scripts/sign-module + - [Config] update configs/annotations after rebase to 5.19 + - [Config] update configs after moving to gcc-12 + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging]: always use fully qualified -gcc-VER + toolchain" + + [ Upstream Kernel Changes ] + + * Rebase to v5.19 + + -- Andrea Righi Mon, 01 Aug 2022 17:19:01 +0200 + +linux (5.19.0-13.13) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-13.13 -proposed tracker (LP: #1983033) + + * network-manager/1.36.4-2ubuntu1 ADT test failure with linux/5.15.0-28.29 + (LP: #1971418) + - Revert "rfkill: make new event layout opt-in" + + * Miscellaneous Ubuntu changes + - [Config] Tighten up LP bug links in annotations + - [Config] Use mark for CONFIG_DEVTMPFS + - [Config] Use flag for CONFIG_HIPPI + - [Config] Use note<> for CONFIG_XEN_ACPI_PROCESSOR + - [Config] Fix DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING annotation + - [Config] Fix CONFIG_CPU_LITTLE_ENDIAN annotation + - SAUCE: x86/bugs: Do not enable IBPB at firmware entry when IBPB is not + available + + -- Andrea Righi Thu, 28 Jul 2022 17:04:33 +0200 + +linux (5.19.0-12.12) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-12.12 -proposed tracker (LP: #1982741) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - [Packaging]: always use fully qualified -gcc-VER toolchain + + -- Andrea Righi Tue, 26 Jul 2022 15:07:13 +0200 + +linux (5.19.0-11.11) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-11.11 -proposed tracker (LP: #1982726) + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + - debian/dkms-versions -- update from kernel-versions (main/master) + + * GPIO character device v1 API not enabled in kernel (LP: #1953613) + - [Config] Enable CONFIG_GPIO_CDEV_V1 + + * Use kernel-testing repo from launchpad for ADT tests (LP: #1968016) + - [Debian] Use kernel-testing repo from launchpad + + * Support AMD P-State cpufreq control mechanism (LP: #1956509) + - [Config] enable X86_AMD_PSTATE as built-in on amd64 + + * PCIE LnkCtl ASPM not enabled under VMD mode for Alder Lake platforms + (LP: #1942160) + - SAUCE: PCI/ASPM: Enable ASPM for links under VMD domain + - SAUCE: PCI/ASPM: Enable LTR for endpoints behind VMD + - SAUCE: vmd: fixup bridge ASPM by driver name instead + + * Miscellaneous Ubuntu changes + - [Packaging] Double the speed of updateconfigs + - Remove ubuntu/hio driver + - [Config] update config after rebase to 5.19-rc8 + + [ Upstream Kernel Changes ] + + * Rebase to v5.19-rc8 + + -- Andrea Righi Mon, 25 Jul 2022 08:54:21 +0200 + +linux (5.19.0-10.10) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-10.10 -proposed tracker (LP: #1982013) + + * enable config for fixing 5.17 kernel won't load mok (LP: #1972802) + - [Config] enable configs for fixing kernel won't load mok + + * RISC-V kernel config is out of sync with other archs (LP: #1981437) + - [Config] Disable CONFIG_CXL_MEM_RAW_COMMANDS on riscv64 + - [Config] Disable CONFIG_EROFS_FS_ZIP_LZMA on riscv64 + - [Config] Disable CONFIG_FONT_6x8 on riscv64 + - [Config] Disable CONFIG_NTFS3_64BIT_CLUSTER on riscv64 + - [Config] Disable CONFIG_SCSI_IZIP_EPP16 on riscv64 + - [Config] Disable CONFIG_SCSI_UFS_HWMON on riscv64 + - [Config] Disable CONFIG_SPI_AX88796C_COMPRESSION on riscv64 + - [Config] Disable CONFIG_VIDEO_ZORAN on riscv64 + - [Config] Enable CONFIG_BPF_KPROBE_OVERRIDE on riscv64 + - [Config] Enable CONFIG_CACHEFILES_ERROR_INJECTION on riscv64 + - [Config] Enable CONFIG_DRM_AMD_DC_SI on riscv64 + - [Config] Enable CONFIG_NUMA_BALANCING on riscv64 + - [Config] Enable CONFIG_PROC_VMCORE_DEVICE_DUMP on riscv64 + - [Config] Enable CONFIG_WLAN_VENDOR_MICROCHIP on riscv64 + - [Config] Set CONFIG_MHI_WWAN_CTRL=m on riscv64 + - [Config] Set CONFIG_NFC_S3FWRN82_UART=m on riscv64 + - [Config] Enable CONFIG_EFIVAR_FS on riscv64 + - [Config] Enable CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES on riscv64 + - [Config] Enable CONFIG_STRICT_DEVMEM on riscv64 + - [Config] Enable CONFIG_VMAP_STACK on riscv64 + - [Config] Enable CONFIG_KEXEC_FILE on riscv64 + - [Config] Set CONFIG_MTD_PSTORE=m on riscv64 + - [Config] Set CONFIG_KFENCE_SAMPLE_INTERVAL=0 on riscv64 + - [Config] Enable CONFIG_KEXEC_FILE on s390x + + * Ubuntu 22.04 and 20.04 DPC Fixes for Failure Cases of DownPort Containment + events (LP: #1965241) + - Enable config option CONFIG_PCIE_EDR + - Correct CONFIG_PCIE_EDR annotation on arm64 + + * config CONFIG_HISI_PMU for kunpeng920 (LP: #1956086) + - [Config] CONFIG_HISI_PMU=m + + * Skip setting ethernet LED on Dell EMC board (LP: #1971667) + - SAUCE: net: phy: marvell: Skip setting LED on Dell EMC board + + * Miscellaneous Ubuntu changes + - [Packaging] ignore warnings from the output of ld.bfd + - [Packaging] Fix bashism in dkms-build script + - [Packaging] Always catch errors in dkms-build scripts + - [Packaging] Fix dkms builds with linker @module.mod files + - [Packaging] mark dkms-build-configure--zfs executable + - [Config] update configs and annotations after rebase to 5.19-rc7 + + [ Upstream Kernel Changes ] + + * Rebase to v5.19-rc7 + + -- Andrea Righi Mon, 18 Jul 2022 23:45:28 +0200 + +linux (5.19.0-9.9) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-9.9 -proposed tracker (LP: #1980622) + + * Miscellaneous Ubuntu changes + - [Config] update config after rebase to 5.19-rc5 + + [ Upstream Kernel Changes ] + + * Rebase to v5.19-rc5 + + -- Andrea Righi Mon, 04 Jul 2022 12:05:04 +0200 + +linux (5.19.0-8.8) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-8.8 -proposed tracker (LP: #1980482) + + * temporarily disable CONFIG_X86_KERNEL_IBT (LP: #1980484) + - [Config] temporarily disable CONFIG_X86_KERNEL_IBT + + -- Andrea Righi Fri, 01 Jul 2022 11:58:56 +0200 + +linux (5.19.0-7.7) kinetic; urgency=medium + + * kinetic/linux: 5.19.0-7.7 -proposed tracker (LP: #1980056) + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * RISC-V enables CONFIG_COMPAT in the unstable branch (LP: #1980061) + - [Config] Disable CONFIG_COMPAT on RISC-V + + * No RISC-V configuration in the unstable tree (LP: #1979647) + - [Config] Merge riscv64 config and annotations + + -- Andrea Righi Tue, 28 Jun 2022 12:25:48 +0200 + +linux (5.19.0-6.6) kinetic; urgency=medium + + * Empty entry + + -- Andrea Righi Tue, 28 Jun 2022 07:50:17 +0200 + +linux-unstable (5.19.0-6.6) kinetic; urgency=medium + + * kinetic/linux-unstable: 5.19.0-6.6 -proposed tracker (LP: #1979948) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - [Packaging] Remove 'family=ubuntu' concept + - [Packaging] final-checks: Remove useless sourcing of kernelconfig + - [Config] update config after rebase to 5.19-rc4 + + [ Upstream Kernel Changes ] + + * Rebase to v5.19-rc4 + + -- Andrea Righi Mon, 27 Jun 2022 09:16:40 +0200 + +linux-unstable (5.19.0-5.5) kinetic; urgency=medium + + * kinetic/linux-unstable: 5.19.0-5.5 -proposed tracker (LP: #1979611) + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] temporarily disable signing for ppc64el and + s390x" + + -- Andrea Righi Thu, 23 Jun 2022 11:13:32 +0200 + +linux-unstable (5.19.0-4.4) kinetic; urgency=medium + + * kinetic/linux-unstable: 5.19.0-4.4 -proposed tracker (LP: #1979177) + + * Miscellaneous Ubuntu changes + - [Config] update configs after rebase to 5.19-rc3 + + [ Upstream Kernel Changes ] + + * Rebase to v5.19-rc3 + + -- Andrea Righi Mon, 20 Jun 2022 09:02:58 +0200 + +linux-unstable (5.19.0-3.3) kinetic; urgency=medium + + * kinetic/linux-unstable: 5.19.0-3.3 -proposed tracker (LP: #1978439) + + * Miscellaneous Ubuntu changes + - [Config] update annotations for 5.19 + + [ Upstream Kernel Changes ] + + * Rebase to v5.19-rc2 + + -- Andrea Righi Mon, 13 Jun 2022 07:16:32 +0200 + +linux-unstable (5.19.0-2.2) kinetic; urgency=medium + + * kinetic/linux-unstable: 5.19.0-2.2 -proposed tracker (LP: #1978313) + + -- Andrea Righi Fri, 10 Jun 2022 15:17:20 +0200 + +linux-unstable (5.19.0-1.1) kinetic; urgency=medium + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * linux: Staging modules should be unsigned (LP: #1642368) + - [Packaging] Move and update signature inclusion list + - [Packaging] Strip signatures from untrusted staging modules + - [Packaging] Add module-signature-check + + * Miscellaneous Ubuntu changes + - [Config] update configs and annotations after rebase to 5.19-rc1 + - [Packaging] move to kernel 5.19 + - [Packaging] workaround missing python3-dev dependency + - SAUCE: Revert "perf tools: Use Python devtools for version autodetection + rather than runtime" + - SAUCE: watchdog: gxp: Add missing MODULE_LICENSE + - [Packaging] add python3-dev as build dependency + + -- Andrea Righi Fri, 10 Jun 2022 14:43:46 +0200 + +linux-unstable (5.19.0-0.0) kinetic; urgency=medium + + * Empty entry + + -- Andrea Righi Thu, 09 Jun 2022 12:13:06 +0200 + +linux (5.18.0-6.6) kinetic; urgency=medium + + * kinetic/linux: 5.18.0-6.6 -proposed tracker (LP: #1976327) + + * Miscellaneous Ubuntu changes + - [Packaging] temporarily disable signing for ppc64el and s390x + - [Config] update toolchain versions + - [Config] enable CONFIG_X86_KERNEL_IBT + + -- Andrea Righi Tue, 31 May 2022 11:05:51 +0200 + +linux (5.18.0-5.5) kinetic; urgency=medium + + * Empty entry + + -- Andrea Righi Mon, 23 May 2022 16:59:47 +0200 + +linux-unstable (5.18.0-5.5) kinetic; urgency=medium + + * kinetic/linux-unstable: 5.18.0-5.5 -proposed tracker (LP: #1975458) + + * enable CONFIG_DEVTMPFS_SAFE (LP: #1974442) + - [Config] enable CONFIG_DEVTMPFS_SAFE + + * build backport-iwlwifi-dkms as linux-modules-iwlwifi-ABI (LP: #1969434) + - [Packaging] drop do_ arch specific configs + + * prevent kernel panic with overlayfs + shiftfs (LP: #1973620) + - SAUCE: overlayfs: prevent dereferencing struct file in ovl_vm_prfile_set() + + * linux-image-5.0.0-35-generic breaks checkpointing of container + (LP: #1857257) // re-apply missing overlayfs SAUCE patch (LP: #1967924) + - SAUCE: overlayfs: fix incorrect mnt_id of files opened from map_files + + [ Upstream Kernel Changes ] + + * Rebase to v5.18 + + -- Andrea Righi Mon, 23 May 2022 11:21:38 +0200 + +linux-unstable (5.18.0-4.4) kinetic; urgency=medium + + * kinetic/linux-unstable: 5.18.0-4.4 -proposed tracker (LP: #1973587) + + * build backport-iwlwifi-dkms as linux-modules-iwlwifi-ABI (LP: #1969434) + - [Packaging] support standalone dkms module builds + + * Enable speakup kernel modules to allow the speakup screen reader to function + (LP: #1967702) + - [Config] CONFIG_SPEAKUP=m for all but s390x + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] temporarily disable v4l2loopback" + - Revert "UBUNTU: [Packaging] temporarily disable zfs" + + [ Upstream Kernel Changes ] + + * Rebase to v5.18-rc7 + + -- Andrea Righi Mon, 16 May 2022 14:15:35 +0200 + +linux-unstable (5.18.0-3.3) kinetic; urgency=medium + + * kinetic/linux-unstable: 5.18.0-3.3 -proposed tracker (LP: #1972162) + + * disable Intel DMA remapping by default (LP: #1971699) + - Revert "UBUNTU: [Config] enable Intel DMA remapping options by default" + + [ Upstream Kernel Changes ] + + * Rebase to v5.18-rc6 + + -- Andrea Righi Mon, 09 May 2022 12:15:39 +0200 + +linux-unstable (5.18.0-2.2) kinetic; urgency=medium + + * kinetic/linux-unstable: 5.18.0-2.2 -proposed tracker (LP: #1971340) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - [Config] update configs after rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.18-rc5 + + -- Andrea Righi Tue, 03 May 2022 12:24:49 +0200 + +linux-unstable (5.18.0-1.1) kinetic; urgency=medium + + * Empty entry + + -- Andrea Righi Tue, 03 May 2022 09:38:06 +0200 + +linux-unstable (5.18.0-1.1) jammy; urgency=medium + + * kinetic/linux-unstable: 5.18.0-1.1 -proposed tracker (LP: #1969476) + + * Miscellaneous Ubuntu changes + - [Config] update configs and annotations after rebase to 5.18 + - [Packaging] temporarily disable zfs + - [Packaging] temporarily disable v4l2loopback + + [ Upstream Kernel Changes ] + + * Rebase to v5.18-rc3 + + -- Andrea Righi Wed, 27 Apr 2022 20:26:42 +0200 + +linux-unstable (5.18.0-0.0) jammy; urgency=medium + + * Empty entry + + -- Andrea Righi Tue, 19 Apr 2022 16:20:00 +0200 + +linux-unstable (5.17.0-8.8) jammy; urgency=medium + + * jammy/linux-unstable: 5.17.0-8.8 -proposed tracker (LP: #1969016) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + -- Andrea Righi Thu, 14 Apr 2022 10:30:39 +0200 + +linux-unstable (5.17.0-7.7) jammy; urgency=medium + + * jammy/linux-unstable: 5.17.0-7.7 -proposed tracker (LP: #1968988) + + * zfcpdump-kernel update to v5.15 (LP: #1965766) + - SAUCE: Audit: Fix incorrect static inline function declration. + + * intel_iommu breaks Intel IPU6 camera: isys port open ready failed -16 + (LP: #1958004) + - SAUCE: iommu: intel-ipu: use IOMMU passthrough mode for Intel IPUs + + * Jammy update: v5.17.3 upstream stable release (LP: #1968986) + - lib/logic_iomem: correct fallback config references + - um: fix and optimize xor select template for CONFIG64 and timetravel mode + - rtc: wm8350: Handle error for wm8350_register_irq + - net: dsa: felix: fix possible NULL pointer dereference + - mm: kfence: fix objcgs vector allocation + - KVM: x86/pmu: Use different raw event masks for AMD and Intel + - KVM: SVM: Fix kvm_cache_regs.h inclusions for is_guest_mode() + - KVM: x86/svm: Clear reserved bits written to PerfEvtSeln MSRs + - KVM: x86/pmu: Fix and isolate TSX-specific performance event logic + - KVM: x86/emulator: Emulate RDPID only if it is enabled in guest + - drm: Add orientation quirk for GPD Win Max + - Bluetooth: hci_sync: Fix compilation warning + - ath5k: fix OOB in ath5k_eeprom_read_pcal_info_5111 + - Bluetooth: fix null ptr deref on hci_sync_conn_complete_evt + - drm/amd/display: Add signal type check when verify stream backends same + - drm/amdkfd: enable heavy-weight TLB flush on Arcturus + - drm/edid: remove non_desktop quirk for HPN-3515 and LEN-B800. + - drm/edid: improve non-desktop quirk logging + - Bluetooth: hci_event: Ignore multiple conn complete events + - drm/amd/amdgpu/amdgpu_cs: fix refcount leak of a dma_fence obj + - drm/amd/display: Fix memory leak + - drm/amd/display: Use PSR version selected during set_psr_caps + - usb: gadget: tegra-xudc: Do not program SPARAM + - usb: gadget: tegra-xudc: Fix control endpoint's definitions + - usb: cdnsp: fix cdnsp_decode_trb function to properly handle ret value + - ptp: replace snprintf with sysfs_emit + - Bluetooth: hci_sync: Fix queuing commands when HCI_UNREGISTER is set + - selftests, xsk: Fix bpf_res cleanup test + - net/mlx5e: TC, Hold sample_attr on stack instead of pointer + - drm/amdkfd: Don't take process mutex for svm ioctls + - drm/amdkfd: Ensure mm remain valid in svm deferred_list work + - drm/amdkfd: svm range restore work deadlock when process exit + - drm/amdgpu: Fix an error message in rmmod + - mlxsw: spectrum: Guard against invalid local ports + - RDMA/rtrs-clt: Do stop and failover outside reconnect work. + - powerpc/xive: Export XIVE IPI information for online-only processors. + - powerpc: dts: t104xrdb: fix phy type for FMAN 4/5 + - ath11k: fix kernel panic during unload/load ath11k modules + - ath11k: pci: fix crash on suspend if board file is not found + - ath11k: mhi: use mhi_sync_power_up() + - net/smc: Send directly when TCP_CORK is cleared + - drm/bridge: Add missing pm_runtime_put_sync + - bpf: Make dst_port field in struct bpf_sock 16-bit wide + - scsi: mvsas: Replace snprintf() with sysfs_emit() + - scsi: bfa: Replace snprintf() with sysfs_emit() + - drm/v3d: fix missing unlock + - power: supply: axp20x_battery: properly report current when discharging + - mt76: mt7921: fix crash when startup fails. + - mt76: dma: initialize skip_unmap in mt76_dma_rx_fill + - i40e: Add sending commands in atomic context + - cfg80211: don't add non transmitted BSS to 6GHz scanned channels + - libbpf: Fix build issue with llvm-readelf + - ipv6: make mc_forwarding atomic + - ref_tracker: implement use-after-free detection + - net: initialize init_net earlier + - powerpc: Set crashkernel offset to mid of RMA region + - drm/amdgpu: Fix recursive locking warning + - scsi: smartpqi: Fix rmmod stack trace + - scsi: smartpqi: Fix kdump issue when controller is locked up + - PCI: aardvark: Fix support for MSI interrupts + - kvm: selftests: aarch64: fix assert in gicv3_access_reg + - kvm: selftests: aarch64: pass vgic_irq guest args as a pointer + - kvm: selftests: aarch64: fix the failure check in + kvm_set_gsi_routing_irqchip_check + - kvm: selftests: aarch64: fix some vgic related comments + - kvm: selftests: aarch64: use a tighter assert in vgic_poke_irq() + - iommu/arm-smmu-v3: fix event handling soft lockup + - usb: ehci: add pci device support for Aspeed platforms + - KVM: arm64: Do not change the PMU event filter after a VCPU has run + - libbpf: Fix accessing syscall arguments on powerpc + - libbpf: Fix accessing the first syscall argument on arm64 + - libbpf: Fix accessing the first syscall argument on s390 + - PCI: endpoint: Fix alignment fault error in copy tests + - tcp: Don't acquire inet_listen_hashbucket::lock with disabled BH. + - PCI: pciehp: Add Qualcomm quirk for Command Completed erratum + - scsi: mpi3mr: Fix deadlock while canceling the fw event + - scsi: mpi3mr: Fix reporting of actual data transfer size + - scsi: mpi3mr: Fix memory leaks + - powerpc/set_memory: Avoid spinlock recursion in change_page_attr() + - power: supply: axp288-charger: Set Vhold to 4.4V + - drm/sprd: fix potential NULL dereference + - drm/sprd: check the platform_get_resource() return value + - drm/amd/display: reset lane settings after each PHY repeater LT + - net/mlx5e: Disable TX queues before registering the netdev + - HID: apple: Report Magic Keyboard 2021 battery over USB + - HID: apple: Report Magic Keyboard 2021 with fingerprint reader battery over + USB + - usb: dwc3: pci: Set the swnode from inside dwc3_pci_quirks() + - iwlwifi: mvm: Correctly set fragmented EBS + - iwlwifi: fix small doc mistake for iwl_fw_ini_addr_val + - iwlwifi: mvm: move only to an enabled channel + - ipv6: annotate some data-races around sk->sk_prot + - drm/msm/dsi: Remove spurious IRQF_ONESHOT flag + - x86/mce: Work around an erratum on fast string copy instructions + - rtw89: fix RCU usage in rtw89_core_txq_push() + - ath11k: Fix frames flush failure caused by deadlock + - ipv4: Invalidate neighbour for broadcast address upon address addition + - rtw88: change rtw_info() to proper message level + - dm ioctl: prevent potential spectre v1 gadget + - dm: requeue IO if mapping table not yet available + - drm/amdkfd: make CRAT table missing message informational only + - vfio/pci: Stub vfio_pci_vga_rw when !CONFIG_VFIO_PCI_VGA + - scsi: pm8001: Fix pm80xx_pci_mem_copy() interface + - scsi: pm8001: Fix pm8001_mpi_task_abort_resp() + - scsi: pm8001: Fix tag values handling + - scsi: pm8001: Fix task leak in pm8001_send_abort_all() + - scsi: pm8001: Fix tag leaks on error + - scsi: pm8001: Fix memory leak in pm8001_chip_fw_flash_update_req() + - mt76: mt7915: fix injected MPDU transmission to not use HW A-MSDU + - mctp: make __mctp_dev_get() take a refcount hold + - powerpc/64s/hash: Make hash faults work in NMI context + - mt76: mt7615: Fix assigning negative values to unsigned variable + - power: supply: axp288_charger: Use acpi_quirk_skip_acpi_ac_and_battery() + - power: supply: axp288_fuel_gauge: Use acpi_quirk_skip_acpi_ac_and_battery() + - scsi: aha152x: Fix aha152x_setup() __setup handler return value + - scsi: hisi_sas: Free irq vectors in order for v3 HW + - scsi: hisi_sas: Limit users changing debugfs BIST count value + - net/smc: correct settings of RMB window update limit + - mips: ralink: fix a refcount leak in ill_acc_of_setup() + - iavf: stop leaking iavf_status as "errno" values + - macvtap: advertise link netns via netlink + - platform/x86: thinkpad_acpi: Add dual fan probe + - tuntap: add sanity checks about msg_controllen in sendmsg + - Bluetooth: mediatek: fix the conflict between mtk and msft vendor event + - Bluetooth: Fix not checking for valid hdev on bt_dev_{info,warn,err,dbg} + - Bluetooth: use memset avoid memory leaks + - bnxt_en: Eliminate unintended link toggle during FW reset + - PCI: endpoint: Fix misused goto label + - MIPS: fix fortify panic when copying asm exception handlers + - powerpc/code-patching: Pre-map patch area + - powerpc/64e: Tie PPC_BOOK3E_64 to PPC_FSL_BOOK3E + - powerpc/secvar: fix refcount leak in format_show() + - scsi: libfc: Fix use after free in fc_exch_abts_resp() + - platform/x86: x86-android-tablets: Depend on EFI and SPI + - can: isotp: set default value for N_As to 50 micro seconds + - can: etas_es58x: es58x_fd_rx_event_msg(): initialize rx_event_msg before + calling es58x_check_msg_len() + - riscv: Fixed misaligned memory access. Fixed pointer comparison. + - net: account alternate interface name memory + - net: limit altnames to 64k total + - net/mlx5e: Remove overzealous validations in netlink EEPROM query + - platform/x86: hp-wmi: Fix SW_TABLET_MODE detection method + - platform/x86: hp-wmi: Fix 0x05 error code reported by several WMI calls + - net: sfp: add 2500base-X quirk for Lantech SFP module + - usb: dwc3: omap: fix "unbalanced disables for smps10_out1" on omap5evm + - xen/usb: harden xen_hcd against malicious backends + - mt76: fix monitor mode crash with sdio driver + - xtensa: fix DTC warning unit_address_format + - iwlwifi: mei: fix building iwlmei + - MIPS: ingenic: correct unit node address + - Bluetooth: Fix use after free in hci_send_acl + - netfilter: conntrack: revisit gc autotuning + - netlabel: fix out-of-bounds memory accesses + - ceph: fix inode reference leakage in ceph_get_snapdir() + - ceph: fix memory leak in ceph_readdir when note_last_dentry returns error + - lib/Kconfig.debug: add ARCH dependency for FUNCTION_ALIGN option + - init/main.c: return 1 from handled __setup() functions + - minix: fix bug when opening a file with O_DIRECT + - clk: si5341: fix reported clk_rate when output divider is 2 + - clk: mediatek: Fix memory leaks on probe + - staging: vchiq_arm: Avoid NULL ptr deref in vchiq_dump_platform_instances + - staging: vchiq_core: handle NULL result of find_service_by_handle + - phy: amlogic: phy-meson-gxl-usb2: fix shared reset controller use + - phy: amlogic: meson8b-usb2: Use dev_err_probe() + - phy: amlogic: meson8b-usb2: fix shared reset control use + - clk: rockchip: drop CLK_SET_RATE_PARENT from dclk_vop* on rk3568 + - cpufreq: CPPC: Fix performance/frequency conversion + - opp: Expose of-node's name in debugfs + - staging: wfx: apply the necessary SDIO quirks for the Silabs WF200 + - staging: wfx: fix an error handling in wfx_init_common() + - w1: w1_therm: fixes w1_seq for ds28ea00 sensors + - NFSv4.2: fix reference count leaks in _nfs42_proc_copy_notify() + - NFSv4: Protect the state recovery thread against direct reclaim + - habanalabs: fix possible memory leak in MMU DR fini + - habanalabs: reject host map with mmu disabled + - habanalabs/gaudi: handle axi errors from NIC engines + - xen: delay xen_hvm_init_time_ops() if kdump is boot on vcpu>=32 + - clk: ti: Preserve node in ti_dt_clocks_register() + - clk: Enforce that disjoints limits are invalid + - SUNRPC/xprt: async tasks mustn't block waiting for memory + - SUNRPC: remove scheduling boost for "SWAPPER" tasks. + - NFS: swap IO handling is slightly different for O_DIRECT IO + - NFS: swap-out must always use STABLE writes. + - x86: Annotate call_on_stack() + - x86/Kconfig: Do not allow CONFIG_X86_X32_ABI=y with llvm-objcopy + - serial: samsung_tty: do not unlock port->lock for uart_write_wakeup() + - virtio_console: eliminate anonymous module_init & module_exit + - jfs: prevent NULL deref in diFree + - SUNRPC: Fix socket waits for write buffer space + - NFS: nfsiod should not block forever in mempool_alloc() + - NFS: Avoid writeback threads getting stuck in mempool_alloc() + - selftests: net: Add tls config dependency for tls selftests + - parisc: Fix CPU affinity for Lasi, WAX and Dino chips + - parisc: Fix patch code locking and flushing + - mm: fix race between MADV_FREE reclaim and blkdev direct IO read + - drm/amdgpu: fix off by one in amdgpu_gfx_kiq_acquire() + - Drivers: hv: vmbus: Fix initialization of device object in + vmbus_device_register() + - Drivers: hv: vmbus: Fix potential crash on module unload + - netfilter: bitwise: fix reduce comparisons + - Revert "NFSv4: Handle the special Linux file open access mode" + - NFSv4: fix open failure with O_ACCMODE flag + - scsi: core: scsi_logging: Fix a BUG + - scsi: sr: Fix typo in CDROM(CLOSETRAY|EJECT) handling + - scsi: core: Fix sbitmap depth in scsi_realloc_sdev_budget_map() + - scsi: zorro7xx: Fix a resource leak in zorro7xx_remove_one() + - vdpa: mlx5: prevent cvq work from hogging CPU + - net: sfc: add missing xdp queue reinitialization + - net/tls: fix slab-out-of-bounds bug in decrypt_internal + - vrf: fix packet sniffing for traffic originating from ip tunnels + - skbuff: fix coalescing for page_pool fragment recycling + - Revert "net: dsa: stop updating master MTU from master.c" + - ice: Clear default forwarding VSI during VSI release + - ice: Fix MAC address setting + - mctp: Fix check for dev_hard_header() result + - mctp: Use output netdev to allocate skb headroom + - net: ipv4: fix route with nexthop object delete warning + - net: stmmac: Fix unset max_speed difference between DT and non-DT platforms + - drm/imx: imx-ldb: Check for null pointer after calling kmemdup + - drm/imx: Fix memory leak in imx_pd_connector_get_modes + - drm/imx: dw_hdmi-imx: Fix bailout in error cases of probe + - regulator: rtq2134: Fix missing active_discharge_on setting + - spi: rpc-if: Fix RPM imbalance in probe error path + - regulator: atc260x: Fix missing active_discharge_on setting + - arch/arm64: Fix topology initialization for core scheduling + - bnxt_en: Synchronize tx when xdp redirects happen on same ring + - bnxt_en: reserve space inside receive page for skb_shared_info + - bnxt_en: Prevent XDP redirect from running when stopping TX queue + - sfc: Do not free an empty page_ring + - RDMA/mlx5: Don't remove cache MRs when a delay is needed + - RDMA/mlx5: Add a missing update of cache->last_add + - IB/cm: Cancel mad on the DREQ event when the state is MRA_REP_RCVD + - cifs: fix potential race with cifsd thread + - IB/rdmavt: add lock to call to rvt_error_qp to prevent a race condition + - sctp: count singleton chunks in assoc user stats + - dpaa2-ptp: Fix refcount leak in dpaa2_ptp_probe + - ice: Set txq_teid to ICE_INVAL_TEID on ring creation + - ice: Do not skip not enabled queues in ice_vc_dis_qs_msg + - ipv6: Fix stats accounting in ip6_pkt_drop + - ice: synchronize_rcu() when terminating rings + - ice: xsk: fix VSI state check in ice_xsk_wakeup() + - ice: clear cmd_type_offset_bsz for TX rings + - net: openvswitch: don't send internal clone attribute to the userspace. + - net: ethernet: mv643xx: Fix over zealous checking of_get_mac_address() + - net: openvswitch: fix leak of nested actions + - rxrpc: fix a race in rxrpc_exit_net() + - net: sfc: fix using uninitialized xdp tx_queue + - net: phy: mscc-miim: reject clause 45 register accesses + - qede: confirm skb is allocated before using + - spi: bcm-qspi: fix MSPI only access with bcm_qspi_exec_mem_op() + - drm/amd/display: Fix for dmub outbox notification enable + - drm/amd/display: Remove redundant dsc power gating from init_hw + - bpf: Support dual-stack sockets in bpf_tcp_check_syncookie + - drbd: Fix five use after free bugs in get_initial_state + - scsi: sd: sd_read_cpr() requires VPD pages + - scsi: ufs: ufshpb: Fix a NULL check on list iterator + - io_uring: nospec index for tags on files update + - io_uring: don't touch scm_fp_list after queueing skb + - SUNRPC: Handle ENOMEM in call_transmit_status() + - SUNRPC: Handle low memory situations in call_status() + - SUNRPC: svc_tcp_sendmsg() should handle errors from xdr_alloc_bvec() + - iommu/omap: Fix regression in probe for NULL pointer dereference + - perf unwind: Don't show unwind error messages when augmenting frame pointer + stack + - perf: arm-spe: Fix perf report --mem-mode + - perf tools: Fix perf's libperf_print callback + - perf session: Remap buf if there is no space for event + - arm64: Add part number for Arm Cortex-A78AE + - scsi: mpt3sas: Fix use after free in _scsih_expander_node_remove() + - scsi: ufs: ufs-pci: Add support for Intel MTL + - Revert "mmc: sdhci-xenon: fix annoying 1.8V regulator warning" + - mmc: block: Check for errors after write on SPI + - mmc: mmci: stm32: correctly check all elements of sg list + - mmc: renesas_sdhi: special 4tap settings only apply to HS400 + - mmc: renesas_sdhi: don't overwrite TAP settings when HS400 tuning is + complete + - mmc: core: Fixup support for writeback-cache for eMMC and SD + - lz4: fix LZ4_decompress_safe_partial read out of bound + - highmem: fix checks in __kmap_local_sched_{in,out} + - mmmremap.c: avoid pointless invalidate_range_start/end on mremap(old_size=0) + - mm/mempolicy: fix mpol_new leak in shared_policy_replace + - io_uring: don't check req->file in io_fsync_prep() + - io_uring: defer splice/tee file validity check until command issue + - io_uring: implement compat handling for IORING_REGISTER_IOWQ_AFF + - io_uring: fix race between timeout flush and removal + - x86/pm: Save the MSR validity status at context setup + - x86/speculation: Restore speculation related MSRs during S3 resume + - perf/x86/intel: Update the FRONTEND MSR mask on Sapphire Rapids + - btrfs: fix qgroup reserve overflow the qgroup limit + - btrfs: zoned: traverse devices under chunk_mutex in btrfs_can_activate_zone + - btrfs: remove device item and update super block in the same transaction + - btrfs: avoid defragging extents whose next extents are not targets + - btrfs: prevent subvol with swapfile from being deleted + - spi: core: add dma_map_dev for __spi_unmap_msg() + - cifs: force new session setup and tcon for dfs + - qed: fix ethtool register dump + - arm64: patch_text: Fixup last cpu should be master + - RDMA/hfi1: Fix use-after-free bug for mm struct + - drbd: fix an invalid memory access caused by incorrect use of list iterator + - gpio: Restrict usage of GPIO chip irq members before initialization + - x86/msi: Fix msi message data shadow struct + - x86/mm/tlb: Revert retpoline avoidance approach + - perf/x86/intel: Don't extend the pseudo-encoding to GP counters + - ata: sata_dwc_460ex: Fix crash due to OOB write + - perf: qcom_l2_pmu: fix an incorrect NULL check on list iterator + - perf/core: Inherit event_caps + - irqchip/gic-v3: Fix GICR_CTLR.RWP polling + - fbdev: Fix unregistering of framebuffers without device + - amd/display: set backlight only if required + - drm/panel: ili9341: fix optional regulator handling + - drm/amd/display: Fix by adding FPU protection for dcn30_internal_validate_bw + - drm/amdgpu/display: change pipe policy for DCN 2.1 + - drm/amdgpu/smu10: fix SoC/fclk units in auto mode + - drm/amdgpu/vcn: Fix the register setting for vcn1 + - drm/nouveau/pmu: Add missing callbacks for Tegra devices + - drm/amdkfd: Create file descriptor after client is added to smi_clients list + - drm/amdgpu: don't use BACO for reset in S3 + - SUNRPC: Ensure we flush any closed sockets before xs_xprt_free() + - Revert "ACPI: processor: idle: Only flush cache on entering C3" + - drm/amdkfd: Fix variable set but not used warning + - net/smc: send directly on setting TCP_NODELAY + - Revert "selftests: net: Add tls config dependency for tls selftests" + - bpf: Make remote_port field in struct bpf_sk_lookup 16-bit wide + - selftests/bpf: Fix u8 narrow load checks for bpf_sk_lookup remote_port + - bpf: Treat bpf_sk_lookup remote_port as a 2-byte field + - perf build: Don't use -ffat-lto-objects in the python feature test when + building with clang-13 + - perf python: Fix probing for some clang command line options + - tools build: Filter out options and warnings not supported by clang + - tools build: Use $(shell ) instead of `` to get embedded libperl's ccopts + - dmaengine: Revert "dmaengine: shdma: Fix runtime PM imbalance on error" + - KVM: avoid NULL pointer dereference in kvm_dirty_ring_push + - Drivers: hv: vmbus: Replace smp_store_mb() with virt_store_mb() + - powerpc: Fix virt_addr_valid() for 64-bit Book3E & 32-bit + - Revert "powerpc: Set max_mapnr correctly" + - x86/bug: Prevent shadowing in __WARN_FLAGS + - objtool: Fix SLS validation for kcov tail-call replacement + - sched/core: Fix forceidle balancing + - sched: Teach the forced-newidle balancer about CPU affinity limitation. + - x86,static_call: Fix __static_call_return0 for i386 + - x86/extable: Prefer local labels in .set directives + - irqchip/gic-v4: Wait for GICR_VPENDBASER.Dirty to clear before descheduling + - powerpc/64: Fix build failure with allyesconfig in book3s_64_entry.S + - irqchip/gic, gic-v3: Prevent GSI to SGI translations + - mm/sparsemem: fix 'mem_section' will never be NULL gcc 12 warning + - static_call: Don't make __static_call_return0 static + - io_uring: move read/write file prep state into actual opcode handler + - io_uring: propagate issue_flags state down to file assignment + - io_uring: defer file assignment + - io_uring: drop the old style inflight file tracking + - Linux 5.17.3 + + * Jammy update: v5.17.2 upstream stable release Edit (LP: #1968984) + - Revert "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" + - USB: serial: pl2303: add IBM device IDs + - dt-bindings: usb: hcd: correct usb-device path + - USB: serial: pl2303: fix GS type detection + - USB: serial: simple: add Nokia phone driver + - mm: kfence: fix missing objcg housekeeping for SLAB + - locking/lockdep: Avoid potential access of invalid memory in lock_class + - drm/amdgpu: move PX checking into amdgpu_device_ip_early_init + - drm/amdgpu: only check for _PR3 on dGPUs + - iommu/iova: Improve 32-bit free space estimate + - block: flush plug based on hardware and software queue order + - block: ensure plug merging checks the correct queue at least once + - usb: typec: tipd: Forward plug orientation to typec subsystem + - USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c + - xhci: fix garbage USBSTS being logged in some cases + - xhci: fix runtime PM imbalance in USB2 resume + - xhci: make xhci_handshake timeout for xhci_reset() adjustable + - xhci: fix uninitialized string returned by xhci_decode_ctrl_ctx() + - mei: me: disable driver on the ign firmware + - mei: me: add Alder Lake N device id. + - mei: avoid iterator usage outside of list_for_each_entry + - bus: mhi: pci_generic: Add mru_default for Quectel EM1xx series + - bus: mhi: Fix pm_state conversion to string + - bus: mhi: Fix MHI DMA structure endianness + - docs: sphinx/requirements: Limit jinja2<3.1 + - coresight: Fix TRCCONFIGR.QE sysfs interface + - coresight: syscfg: Fix memleak on registration failure in + cscfg_create_device + - dt-bindings: iio: adc: zynqmp_ams: Add clock entry + - iio: adc: xilinx-ams: Fix single channel switching sequence + - iio: accel: mma8452: use the correct logic to get mma8452_data + - iio: adc: aspeed: Add divider flag to fix incorrect voltage reading. + - iio: imu: st_lsm6dsx: use dev_to_iio_dev() to get iio_dev struct + - iio: afe: rescale: use s64 for temporary scale calculations + - iio: adc: xilinx-ams: Fixed missing PS channels + - iio: adc: xilinx-ams: Fixed wrong sequencer register settings + - iio: inkern: apply consumer scale on IIO_VAL_INT cases + - iio: inkern: apply consumer scale when no channel scale is available + - iio: inkern: make a best effort on offset calculation + - greybus: svc: fix an error handling bug in gb_svc_hello() + - clk: rockchip: re-add rational best approximation algorithm to the + fractional divider + - clk: uniphier: Fix fixed-rate initialization + - ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE + - cifs: truncate the inode and mapping when we simulate fcollapse + - cifs: fix handlecache and multiuser + - cifs: we do not need a spinlock around the tree access during umount + - KEYS: fix length validation in keyctl_pkey_params_get_2() + - KEYS: asymmetric: enforce that sig algo matches key algo + - KEYS: asymmetric: properly validate hash_algo and encoding + - Documentation: add link to stable release candidate tree + - Documentation: update stable tree link + - firmware: stratix10-svc: add missing callback parameter on RSU + - firmware: sysfb: fix platform-device leak in error path + - HID: intel-ish-hid: Use dma_alloc_coherent for firmware update + - SUNRPC: avoid race between mod_timer() and del_timer_sync() + - SUNRPC: Do not dereference non-socket transports in sysfs + - NFS: NFSv2/v3 clients should never be setting NFS_CAP_XATTR + - NFSD: prevent underflow in nfssvc_decode_writeargs() + - NFSD: prevent integer overflow on 32 bit systems + - f2fs: fix to unlock page correctly in error path of is_alive() + - f2fs: quota: fix loop condition at f2fs_quota_sync() + - f2fs: fix to do sanity check on .cp_pack_total_block_count + - remoteproc: Fix count check in rproc_coredump_write() + - mm/mlock: fix two bugs in user_shm_lock() + - pinctrl: ingenic: Fix regmap on X series SoCs + - pinctrl: samsung: drop pin banks references on error paths + - net: bnxt_ptp: fix compilation error + - spi: mxic: Fix the transmit path + - mtd: spi-nor: Skip erase logic when SPI_NOR_NO_ERASE is set + - mtd: rawnand: protect access to rawnand devices while in suspend + - can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path + - can: m_can: m_can_tx_handler(): fix use after free of skb + - can: usb_8dev: usb_8dev_start_xmit(): fix double dev_kfree_skb() in error + path + - jffs2: fix use-after-free in jffs2_clear_xattr_subsystem + - jffs2: fix memory leak in jffs2_do_mount_fs + - jffs2: fix memory leak in jffs2_scan_medium + - mm: fs: fix lru_cache_disabled race in bh_lru + - mm: don't skip swap entry even if zap_details specified + - mm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node + - mm: invalidate hwpoison page cache page in fault path + - mempolicy: mbind_range() set_policy() after vma_merge() + - scsi: core: sd: Add silence_suspend flag to suppress some PM messages + - scsi: ufs: Fix runtime PM messages never-ending cycle + - scsi: scsi_transport_fc: Fix FPIN Link Integrity statistics counters + - scsi: libsas: Fix sas_ata_qc_issue() handling of NCQ NON DATA commands + - qed: display VF trust config + - qed: validate and restrict untrusted VFs vlan promisc mode + - riscv: dts: canaan: Fix SPI3 bus width + - riscv: Fix fill_callchain return value + - riscv: Increase stack size under KASAN + - RISC-V: Declare per cpu boot data as static + - Revert "Input: clear BTN_RIGHT/MIDDLE on buttonpads" + - cifs: do not skip link targets when an I/O fails + - cifs: fix incorrect use of list iterator after the loop + - cifs: prevent bad output lengths in smb2_ioctl_query_info() + - cifs: fix NULL ptr dereference in smb2_ioctl_query_info() + - ALSA: cs4236: fix an incorrect NULL check on list iterator + - ALSA: hda: Avoid unsol event during RPM suspending + - ALSA: pcm: Fix potential AB/BA lock with buffer_mutex and mmap_lock + - ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 2020 + - rtc: mc146818-lib: fix locking in mc146818_set_time + - rtc: pl031: fix rtc features null pointer dereference + - io_uring: ensure that fsnotify is always called + - ocfs2: fix crash when mount with quota enabled + - drm/simpledrm: Add "panel orientation" property on non-upright mounted LCD + panels + - mm: madvise: skip unmapped vma holes passed to process_madvise + - mm: madvise: return correct bytes advised with process_madvise + - Revert "mm: madvise: skip unmapped vma holes passed to process_madvise" + - mm,hwpoison: unmap poisoned page before invalidation + - mm: only re-generate demotion targets when a numa node changes its N_CPU + state + - mm/kmemleak: reset tag when compare object pointer + - dm stats: fix too short end duration_ns when using precise_timestamps + - dm: fix use-after-free in dm_cleanup_zoned_dev() + - dm: interlock pending dm_io and dm_wait_for_bios_completion + - dm: fix double accounting of flush with data + - dm integrity: set journal entry unused when shrinking device + - tracing: Have trace event string test handle zero length strings + - drbd: fix potential silent data corruption + - can: isotp: sanitize CAN ID checks in isotp_bind() + - PCI: fu740: Force 2.5GT/s for initial device probe + - arm64: signal: nofpsimd: Do not allocate fp/simd context when not available + - arm64: Do not defer reserve_crashkernel() for platforms with no DMA memory + zones + - arm64: dts: qcom: sm8250: Fix MSI IRQ for PCIe1 and PCIe2 + - arm64: dts: ti: k3-am65: Fix gic-v3 compatible regs + - arm64: dts: ti: k3-j721e: Fix gic-v3 compatible regs + - arm64: dts: ti: k3-j7200: Fix gic-v3 compatible regs + - arm64: dts: ti: k3-am64: Fix gic-v3 compatible regs + - arm64: dts: ti: k3-j721s2: Fix gic-v3 compatible regs + - ASoC: SOF: Intel: Fix NULL ptr dereference when ENOMEM + - mmc: core: use sysfs_emit() instead of sprintf() + - Revert "ACPI: Pass the same capabilities to the _OSC regardless of the query + flag" + - ACPI: properties: Consistently return -ENOENT if there are no more + references + - coredump: Also dump first pages of non-executable ELF libraries + - ext4: fix ext4_fc_stats trace point + - ext4: fix fs corruption when tring to remove a non-empty directory with IO + error + - ext4: make mb_optimize_scan option work with set/unset mount cmd + - ext4: make mb_optimize_scan performance mount option work with extents + - samples/landlock: Fix path_list memory leak + - landlock: Use square brackets around "landlock-ruleset" + - mailbox: tegra-hsp: Flush whole channel + - btrfs: zoned: put block group after final usage + - block: fix rq-qos breakage from skipping rq_qos_done_bio() + - block: limit request dispatch loop duration + - block: don't merge across cgroup boundaries if blkcg is enabled + - drm/edid: check basic audio support on CEA extension block + - fbdev: Hot-unplug firmware fb devices on forced removal + - video: fbdev: sm712fb: Fix crash in smtcfb_read() + - video: fbdev: atari: Atari 2 bpp (STe) palette bugfix + - rfkill: make new event layout opt-in + - ARM: dts: at91: sama7g5: Remove unused properties in i2c nodes + - ARM: dts: at91: sama5d2: Fix PMERRLOC resource size + - ARM: dts: exynos: fix UART3 pins configuration in Exynos5250 + - ARM: dts: exynos: add missing HDMI supplies on SMDK5250 + - ARM: dts: exynos: add missing HDMI supplies on SMDK5420 + - mgag200 fix memmapsl configuration in GCTL6 register + - carl9170: fix missing bit-wise or operator for tx_params + - pstore: Don't use semaphores in always-atomic-context code + - thermal: int340x: Increase bitmap size + - lib/raid6/test: fix multiple definition linking error + - exec: Force single empty string when argv is empty + - crypto: rsa-pkcs1pad - only allow with rsa + - crypto: rsa-pkcs1pad - correctly get hash from source scatterlist + - crypto: rsa-pkcs1pad - restore signature length check + - crypto: rsa-pkcs1pad - fix buffer overread in pkcs1pad_verify_complete() + - bcache: fixup multiple threads crash + - PM: domains: Fix sleep-in-atomic bug caused by genpd_debug_remove() + - DEC: Limit PMAX memory probing to R3k systems + - media: gpio-ir-tx: fix transmit with long spaces on Orange Pi PC + - media: omap3isp: Use struct_group() for memcpy() region + - media: venus: vdec: fixed possible memory leak issue + - media: venus: hfi_cmds: List HDR10 property as unsupported for v1 and v3 + - media: venus: venc: Fix h264 8x8 transform control + - media: davinci: vpif: fix unbalanced runtime PM get + - media: davinci: vpif: fix unbalanced runtime PM enable + - media: davinci: vpif: fix use-after-free on driver unbind + - mips: Always permit to build u-boot images + - btrfs: zoned: mark relocation as writing + - btrfs: extend locking to all space_info members accesses + - btrfs: verify the tranisd of the to-be-written dirty extent buffer + - xtensa: define update_mmu_tlb function + - xtensa: fix stop_machine_cpuslocked call in patch_text + - xtensa: fix xtensa_wsr always writing 0 + - KVM: s390x: fix SCK locking + - drm/syncobj: flatten dma_fence_chains on transfer + - drm/nouveau/backlight: Fix LVDS backlight detection on some laptops + - drm/nouveau/backlight: Just set all backlight types as RAW + - drm/fb-helper: Mark screen buffers in system memory with FBINFO_VIRTFB + - brcmfmac: firmware: Allocate space for default boardrev in nvram + - brcmfmac: pcie: Release firmwares in the brcmf_pcie_setup error path + - brcmfmac: pcie: Declare missing firmware files in pcie.c + - brcmfmac: pcie: Replace brcmf_pcie_copy_mem_todev with memcpy_toio + - brcmfmac: pcie: Fix crashes due to early IRQs + - drm/i915/opregion: check port number bounds for SWSCI display power state + - drm/i915/gem: add missing boundary check in vm_access + - PCI: imx6: Allow to probe when dw_pcie_wait_for_link() fails + - PCI: pciehp: Clear cmd_busy bit in polling mode + - PCI: xgene: Revert "PCI: xgene: Use inbound resources for setup" + - PCI: xgene: Revert "PCI: xgene: Fix IB window setup" + - regulator: qcom_smd: fix for_each_child.cocci warnings + - selinux: access superblock_security_struct in LSM blob way + - selinux: check return value of sel_make_avc_files + - crypto: ccp - Ensure psp_ret is always init'd in + __sev_platform_init_locked() + - crypto: qat - fix a signedness bug in get_service_enabled() + - hwrng: cavium - HW_RANDOM_CAVIUM should depend on ARCH_THUNDER + - crypto: sun8i-ss - really disable hash on A80 + - crypto: kdf - Select hmac in addition to sha256 + - crypto: qat - fix access to PFVF interrupt registers for GEN4 + - crypto: authenc - Fix sleep in atomic context in decrypt_tail + - crypto: octeontx2 - select CONFIG_NET_DEVLINK + - crypto: mxs-dcp - Fix scatterlist processing + - selinux: Fix selinux_sb_mnt_opts_compat() + - thermal: int340x: Check for NULL after calling kmemdup() + - crypto: octeontx2 - remove CONFIG_DM_CRYPT check + - spi: tegra114: Add missing IRQ check in tegra_spi_probe + - spi: tegra210-quad: Fix missin IRQ check in tegra_qspi_probe + - perf: MARVELL_CN10K_TAD_PMU should depend on ARCH_THUNDER + - selftests/sgx: Fix NULL-pointer-dereference upon early test failure + - selftests/sgx: Do not attempt enclave build without valid enclave + - selftests/sgx: Ensure enclave data available during debug print + - stack: Constrain and fix stack offset randomization with Clang builds + - arm64/mm: avoid fixmap race condition when create pud mapping + - security: add sctp_assoc_established hook + - blk-cgroup: set blkg iostat after percpu stat aggregation + - selftests/x86: Add validity check and allow field splitting + - selftests/sgx: Treat CC as one argument + - crypto: rockchip - ECB does not need IV + - block: update io_ticks when io hang + - audit: log AUDIT_TIME_* records only from rules + - EVM: fix the evm= __setup handler return value + - crypto: ccree - don't attempt 0 len DMA mappings + - crypto: hisilicon/sec - fix the aead software fallback for engine + - spi: pxa2xx-pci: Balance reference count for PCI DMA device + - hwmon: (pmbus) Add mutex to regulator ops + - hwmon: (sch56xx-common) Replace WDOG_ACTIVE with WDOG_HW_RUNNING + - nvme: cleanup __nvme_check_ids + - nvme: fix the check for duplicate unique identifiers + - block: don't delete queue kobject before its children + - PM: hibernate: fix __setup handler error handling + - PM: suspend: fix return value of __setup handler + - spi: spi-zynqmp-gqspi: Handle error for dma_set_mask + - hwrng: atmel - disable trng on failure path + - crypto: sun8i-ss - call finalize with bh disabled + - crypto: sun8i-ce - call finalize with bh disabled + - crypto: amlogic - call finalize with bh disabled + - crypto: gemini - call finalize with bh disabled + - crypto: vmx - add missing dependencies + - clocksource/drivers/timer-ti-dm: Fix regression from errata i940 fix + - clocksource/drivers/exynos_mct: Handle DTS with higher number of interrupts + - clocksource/drivers/timer-microchip-pit64b: Use notrace + - clocksource/drivers/timer-of: Check return value of of_iomap in + timer_of_base_init() + - arm64: prevent instrumentation of bp hardening callbacks + - perf/arm-cmn: Hide XP PUB events for CMN-600 + - perf/arm-cmn: Update watchpoint format + - KEYS: trusted: Fix trusted key backends when building as module + - KEYS: trusted: Avoid calling null function trusted_key_exit + - ACPI: APEI: fix return value of __setup handlers + - crypto: ccp - ccp_dmaengine_unregister release dma channels + - crypto: ccree - Fix use after free in cc_cipher_exit() + - crypto: qat - fix initialization of pfvf cap_msg structures + - crypto: qat - fix initialization of pfvf rts_map_msg structures + - hwrng: nomadik - Change clk_disable to clk_disable_unprepare + - hwmon: (pmbus) Add Vin unit off handling + - clocksource: acpi_pm: fix return value of __setup handler + - io_uring: don't check unrelated req->open.how in accept request + - io_uring: terminate manual loop iterator loop correctly for non-vecs + - watch_queue: Fix NULL dereference in error cleanup + - watch_queue: Actually free the watch + - f2fs: fix to enable ATGC correctly via gc_idle sysfs interface + - sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa + - sched/core: Export pelt_thermal_tp + - sched/sugov: Ignore 'busy' filter when rq is capped by uclamp_max + - sched/uclamp: Fix iowait boost escaping uclamp restriction + - rseq: Remove broken uapi field layout on 32-bit little endian + - perf/core: Fix address filter parser for multiple filters + - perf/x86/intel/pt: Fix address filter config for 32-bit kernel + - sched/fair: Improve consistency of allowed NUMA balance calculations + - f2fs: fix missing free nid in f2fs_handle_failed_inode + - ext4: fix remount with 'abort' option + - nfsd: more robust allocation failure handling in nfsd_file_cache_init + - sched/cpuacct: Fix charge percpu cpuusage + - sched/rt: Plug rt_mutex_setprio() vs push_rt_task() race + - f2fs: fix to avoid potential deadlock + - btrfs: fix unexpected error path when reflinking an inline extent + - iomap: Fix iomap_invalidatepage tracepoint + - fs: erofs: add sanity check for kobject in erofs_unregister_sysfs + - f2fs: fix compressed file start atomic write may cause data corruption + - cifs: use a different reconnect helper for non-cifsd threads + - selftests, x86: fix how check_cc.sh is being invoked + - drivers/base/memory: add memory block to memory group after registration + succeeded + - kunit: make kunit_test_timeout compatible with comment + - pinctrl: samsung: Remove EINT handler for Exynos850 ALIVE and CMGP gpios + - media: staging: media: zoran: fix usage of vb2_dma_contig_set_max_seg_size + - media: camss: csid-170: fix non-10bit formats + - media: camss: csid-170: don't enable unused irqs + - media: camss: csid-170: set the right HALT_CMD when disabled + - media: camss: vfe-170: fix "VFE halt timeout" error + - media: staging: media: imx: imx7-mipi-csis: Make subdev name unique + - media: v4l2-mem2mem: Apply DST_QUEUE_OFF_BASE on MMAP buffers across ioctls + - media: mtk-vcodec: potential dereference of null pointer + - media: imx: imx8mq-mipi-csi2: remove wrong irq config write operation + - media: imx: imx8mq-mipi_csi2: fix system resume + - media: bttv: fix WARNING regression on tunerless devices + - media: atmel: atmel-sama7g5-isc: fix ispck leftover + - ASoC: sh: rz-ssi: Drop calling rz_ssi_pio_recv() recursively + - ASoC: codecs: Check for error pointer after calling devm_regmap_init_mmio + - ASoC: xilinx: xlnx_formatter_pcm: Handle sysclk setting + - ASoC: simple-card-utils: Set sysclk on all components + - memory: tegra20-emc: Correct memory device mask + - media: coda: Fix missing put_device() call in coda_get_vdoa_data + - media: meson: vdec: potential dereference of null pointer + - media: hantro: Fix overfill bottom register field name + - media: ov6650: Fix set format try processing path + - media: v4l: Avoid unaligned access warnings when printing 4cc modifiers + - media: ov5648: Don't pack controls struct + - media: ov2740: identify module after subdev initialisation + - media: aspeed: Correct value for h-total-pixels + - video: fbdev: matroxfb: set maxvram of vbG200eW to the same as vbG200 to + avoid black screen + - video: fbdev: controlfb: Fix COMPILE_TEST build + - video: fbdev: smscufx: Fix null-ptr-deref in ufx_usb_probe() + - video: fbdev: atmel_lcdfb: fix an error code in atmel_lcdfb_probe() + - video: fbdev: fbcvt.c: fix printing in fb_cvt_print_name() + - ARM: dts: Fix OpenBMC flash layout label addresses + - ASoC: max98927: add missing header file + - arm64: dts: qcom: sc7280: Fix gmu unit address + - firmware: qcom: scm: Remove reassignment to desc following initializer + - ARM: dts: qcom: ipq4019: fix sleep clock + - soc: qcom: rpmpd: Check for null return of devm_kcalloc + - soc: qcom: ocmem: Fix missing put_device() call in of_get_ocmem + - soc: qcom: aoss: Fix missing put_device call in qmp_get + - soc: qcom: aoss: remove spurious IRQF_ONESHOT flags + - arm64: dts: qcom: sdm845: fix microphone bias properties and values + - arm64: dts: qcom: sm8250: fix PCIe bindings to follow schema + - arm64: dts: qcom: msm8916-j5: Fix typo + - arm64: dts: broadcom: bcm4908: use proper TWD binding + - arm64: dts: qcom: sm8150: Correct TCS configuration for apps rsc + - arm64: dts: qcom: sm8350: Correct TCS configuration for apps rsc + - arm64: dts: qcom: sm8450: Update cpuidle states parameters + - arm64: dts: qcom: msm8994: Provide missing "xo_board" and "sleep_clk" to GCC + - arm64: dts: qcom: ipq6018: fix usb reference period + - firmware: ti_sci: Fix compilation failure when CONFIG_TI_SCI_PROTOCOL is not + defined + - soc: ti: wkup_m3_ipc: Fix IRQ check in wkup_m3_ipc_probe + - cpuidle: qcom-spm: Check if any CPU is managed by SPM + - ARM: dts: sun8i: v3s: Move the csi1 block to follow address order + - ARM: dts: stm32: fix AV96 board SAI2 pin muxing on stm32mp15 + - vsprintf: Fix potential unaligned access + - ARM: dts: qcom: sdx55: Fix the address used for PCIe EP local addr space + - ARM: dts: imx: Add missing LVDS decoder on M53Menlo + - media: mexon-ge2d: fixup frames size in registers + - media: video/hdmi: handle short reads of hdmi info frame. + - media: ti-vpe: cal: Fix a NULL pointer dereference in + cal_ctx_v4l2_init_formats() + - media: em28xx: initialize refcount before kref_get + - media: uapi: Init VP9 stateless decode params + - media: usb: go7007: s2250-board: fix leak in probe() + - media: cedrus: H265: Fix neighbour info buffer size + - media: cedrus: h264: Fix neighbour info buffer size + - arm64: dts: ti: k3-j721s2-mcu-wakeup: Fix the interrupt-parent for + wkup_gpioX instances + - ASoC: codecs: rx-macro: fix accessing compander for aux + - ASoC: codecs: rx-macro: fix accessing array out of bounds for enum type + - ASoC: codecs: va-macro: fix accessing array out of bounds for enum type + - ASoC: codecs: wc938x: fix accessing array out of bounds for enum type + - ASoC: codecs: wcd938x: fix kcontrol max values + - ASoC: codecs: wcd934x: fix kcontrol max values + - ASoC: codecs: wcd934x: fix return value of wcd934x_rx_hph_mode_put + - media: v4l2-core: Initialize h264 scaling matrix + - media: hantro: sunxi: Fix VP9 steps + - media: ov5640: Fix set format, v4l2_mbus_pixelcode not updated + - selftests: vm: remove dependecy from internal kernel macros + - selftests/lkdtm: Add UBSAN config + - vsprintf: Fix %pK with kptr_restrict == 0 + - uaccess: fix nios2 and microblaze get_user_8() + - ASoC: rt5663: check the return value of devm_kzalloc() in rt5663_parse_dp() + - ASoC: acp: check the return value of devm_kzalloc() in + acp_legacy_dai_links_create() + - soc: mediatek: pm-domains: Add wakeup capacity support in power domain + - mmc: sdhci_am654: Fix the driver data of AM64 SoC + - ASoC: ti: davinci-i2s: Add check for clk_enable() + - ALSA: spi: Add check for clk_enable() + - arm64: dts: ns2: Fix spi-cpol and spi-cpha property + - arm64: dts: broadcom: Fix sata nodename + - printk: fix return value of printk.devkmsg __setup handler + - ASoC: mxs-saif: Handle errors for clk_enable + - ASoC: atmel_ssc_dai: Handle errors for clk_enable + - ASoC: dwc-i2s: Handle errors for clk_enable + - ASoC: soc-compress: prevent the potentially use of null pointer + - media: i2c: Fix pixel array positions in ov8865 + - memory: emif: Add check for setup_interrupts + - memory: emif: check the pointer temp in get_device_details() + - ALSA: firewire-lib: fix uninitialized flag for AV/C deferred transaction + - arm64: dts: rockchip: Fix SDIO regulator supply properties on rk3399-firefly + - m68k: coldfire/device.c: only build for MCF_EDMA when h/w macros are defined + - media: stk1160: If start stream fails, return buffers with + VB2_BUF_STATE_QUEUED + - media: vidtv: Check for null return of vzalloc + - ASoC: cs35l41: Fix GPIO2 configuration + - ASoC: cs35l41: Fix max number of TX channels + - ASoC: atmel: Add missing of_node_put() in at91sam9g20ek_audio_probe + - ASoC: wm8350: Handle error for wm8350_register_irq + - ASoC: fsi: Add check for clk_enable + - video: fbdev: omapfb: Add missing of_node_put() in dvic_probe_of + - media: saa7134: fix incorrect use to determine if list is empty + - ivtv: fix incorrect device_caps for ivtvfb + - ASoC: atmel: Fix error handling in snd_proto_probe + - ASoC: rockchip: i2s: Fix missing clk_disable_unprepare() in + rockchip_i2s_probe + - ASoC: SOF: Add missing of_node_put() in imx8m_probe + - ASoC: mediatek: mt8192-mt6359: Fix error handling in mt8192_mt6359_dev_probe + - ASoC: rk817: Fix missing clk_disable_unprepare() in rk817_platform_probe + - ASoC: dmaengine: do not use a NULL prepare_slave_config() callback + - ASoC: mxs: Fix error handling in mxs_sgtl5000_probe + - ASoC: fsl_spdif: Disable TX clock when stop + - ASoC: imx-es8328: Fix error return code in imx_es8328_probe() + - ASoC: SOF: Intel: enable DMI L1 for playback streams + - ASoC: msm8916-wcd-digital: Fix missing clk_disable_unprepare() in + msm8916_wcd_digital_probe + - mmc: davinci_mmc: Handle error for clk_enable + - rtla/osnoise: Fix osnoise hist stop tracing message + - ASoC: rockchip: Fix PM usage reference of rockchip_i2s_tdm_resume + - ASoC: atmel: Fix error handling in sam9x5_wm8731_driver_probe + - ASoC: msm8916-wcd-analog: Fix error handling in pm8916_wcd_analog_spmi_probe + - ASoC: mediatek: mt8195: Fix error handling in + mt8195_mt6359_rt1019_rt5682_dev_probe + - ASoC: codecs: wcd934x: Add missing of_node_put() in wcd934x_codec_parse_data + - ASoC: amd: Fix reference to PCM buffer address + - ARM: configs: multi_v5_defconfig: re-enable CONFIG_V4L_PLATFORM_DRIVERS + - ARM: configs: multi_v5_defconfig: re-enable DRM_PANEL and FB_xxx + - drm/bridge: sn65dsi83: Fix an error handling path in sn65dsi83_probe() + - drm/meson: osd_afbcd: Add an exit callback to struct meson_afbcd_ops + - drm/meson: Fix error handling when afbcd.ops->init fails + - drm/bridge: Fix free wrong object in sii8620_init_rcp_input_dev + - drm/bridge: Add missing pm_runtime_disable() in __dw_mipi_dsi_probe + - drm/bridge: nwl-dsi: Fix PM disable depth imbalance in nwl_dsi_probe + - drm: bridge: adv7511: Fix ADV7535 HPD enablement + - ath11k: add missing of_node_put() to avoid leak + - ath10k: fix memory overwrite of the WoWLAN wakeup packet pattern + - drm/v3d/v3d_drv: Check for error num after setting mask + - Bluetooth: hci_sync: unlock on error in hci_inquiry_result_with_rssi_evt() + - ath11k: free peer for station when disconnect from AP for QCA6390/WCN6855 + - drm/panfrost: Check for error num after setting mask + - bpftool: Fix error check when calling hashmap__new() + - libbpf: Fix possible NULL pointer dereference when destroying skeleton + - bpftool: Only set obj->skeleton on complete success + - ath11k: fix error code in ath11k_qmi_assign_target_mem_chunk() + - udmabuf: validate ubuf->pagecount + - bpf: Fix UAF due to race between btf_try_get_module and load_module + - drm/selftests/test-drm_dp_mst_helper: Fix memory leak in + sideband_msg_req_encode_decode + - drm/locking: fix drm_modeset_acquire_ctx kernel-doc + - selftests: bpf: Fix bind on used port + - Bluetooth: btintel: Fix WBS setting for Intel legacy ROM products + - Bluetooth: hci_serdev: call init_rwsem() before p->open() + - Bluetooth: mt7921s: fix firmware coredump retrieve + - Bluetooth: mt7921s: fix bus hang with wrong privilege + - Bluetooth: btmtksdio: refactor btmtksdio_runtime_[suspend|resume]() + - Bluetooth: mt7921s: fix btmtksdio_[drv|fw]_pmctrl() + - Bluetooth: btmtksdio: mask out interrupt status + - mtd: onenand: Check for error irq + - mtd: rawnand: gpmi: fix controller timings setting + - selftests, xsk: Fix rx_full stats test + - drm/edid: Don't clear formats if using deep color + - drm/edid: Split deep color modes between RGB and YUV444 + - ionic: fix type complaint in ionic_dev_cmd_clean() + - ionic: start watchdog after all is setup + - ionic: Don't send reset commands if FW isn't running + - ionic: fix up printing of timeout error + - ionic: Correctly print AQ errors if completions aren't received + - net: dsa: Move VLAN filtering syncing out of dsa_switch_bridge_leave + - net: dsa: Avoid cross-chip syncing of VLAN filtering + - Bluetooth: hci_event: Fix HCI_EV_VENDOR max_len + - drm/nouveau/acr: Fix undefined behavior in nvkm_acr_hsfw_load_bl() + - drm/amd/display: Call dc_stream_release for remove link enc assignment + - drm/amd/display: Fix a NULL pointer dereference in + amdgpu_dm_connector_add_common_modes() + - drm/amd/pm: return -ENOTSUPP if there is no get_dpm_ultimate_freq function + - net: phy: at803x: move page selection fix to config_init + - selftests/bpf/test_xdp_redirect_multi: use temp netns for testing + - ath9k_htc: fix uninit value bugs + - ath11k: set WMI_PEER_40MHZ while peer assoc for 6 GHz + - RDMA/core: Set MR type in ib_reg_user_mr + - KVM: PPC: Fix vmx/vsx mixup in mmio emulation + - selftests/net: timestamping: Fix bind_phc check + - rtw88: check for validity before using a pointer + - rtw88: fix idle mode flow for hw scan + - rtw88: fix memory overrun and memory leak during hw_scan + - drm/bridge: lt9611: Fix an error handling path in lt9611_probe() + - i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb + - i40e: respect metadata on XSK Rx to skb + - ice: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb + - ice: respect metadata on XSK Rx to skb + - igc: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb + - ixgbe: pass bi->xdp to ixgbe_construct_skb_zc() directly + - ixgbe: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb + - ixgbe: respect metadata on XSK Rx to skb + - power: reset: gemini-poweroff: Fix IRQ check in gemini_poweroff_probe + - ray_cs: Check ioremap return value + - powerpc: dts: t1040rdb: fix ports names for Seville Ethernet switch + - KVM: PPC: Book3S HV: Check return value of kvmppc_radix_init + - powerpc/perf: Don't use perf_hw_context for trace IMC PMU + - mt76: connac: fix sta_rec_wtbl tag len + - mt76: mt7915: use proper aid value in mt7915_mcu_wtbl_generic_tlv in sta + mode + - mt76: mt7915: use proper aid value in mt7915_mcu_sta_basic_tlv + - mt76: mt76_connac: fix MCU_CE_CMD_SET_ROC definition error + - mt76: mt7921: set EDCA parameters with the MCU CE command + - mt76: mt7921: do not always disable fw runtime-pm + - mt76: mt7921: fix a leftover race in runtime-pm + - mt76: mt7615: fix a leftover race in runtime-pm + - mt76: mt7915: fix ht mcs in mt7915_mac_add_txs_skb() + - mt76: mt7921: fix ht mcs in mt7921_mac_add_txs_skb() + - mt76: mt7921s: fix mt7921s_mcu_[fw|drv]_pmctrl + - mt76: mt7921e: fix possible probe failure after reboot + - mt76: mt7603: check sta_rates pointer in mt7603_sta_rate_tbl_update + - mt76: mt7615: check sta_rates pointer in mt7615_sta_rate_tbl_update + - mt76: mt7915: fix possible memory leak in mt7915_mcu_add_sta + - mt76: mt7921s: fix a possible memory leak in mt7921_load_patch + - mt76: mt7915: fix mcs_map in mt7915_mcu_set_sta_he_mcs() + - mt76: mt7915: fix the nss setting in bitrates + - ptp: unregister virtual clocks when unregistering physical clock. + - net: dsa: mv88e6xxx: Enable port policy support on 6097 + - bpf: Fix a btf decl_tag bug when tagging a function + - mac80211: limit bandwidth in HE capabilities + - scripts/dtc: Call pkg-config POSIXly correct + - livepatch: Fix build failure on 32 bits processors + - net: asix: add proper error handling of usb read errors + - i2c: bcm2835: Fix the error handling in 'bcm2835_i2c_probe()' + - mtd: mchp23k256: Add SPI ID table + - mtd: mchp48l640: Add SPI ID table + - selftests/bpf: Extract syscall wrapper + - selftests/bpf: Use "__se_" prefix on architectures without syscall wrapper + - igc: avoid kernel warning when changing RX ring parameters + - igb: refactor XDP registration + - drm/amdgpu: Don't offset by 2 in FRU EEPROM + - PCI: aardvark: Fix reading MSI interrupt number + - PCI: aardvark: Fix reading PCI_EXP_RTSTA_PME bit on emulated bridge + - RDMA/rxe: Check the last packet by RXE_END_MASK + - libbpf: Fix signedness bug in btf_dump_array_data() + - libbpf: Fix riscv register names + - cxl/core: Fix cxl_probe_component_regs() error message + - tools/testing/cxl: Fix root port to host bridge assignment + - cxl/regs: Fix size of CXL Capability Header Register + - Netvsc: Call hv_unmap_memory() in the netvsc_device_remove() + - net:enetc: allocate CBD ring data memory using DMA coherent methods + - libbpf: Fix compilation warning due to mismatched printf format + - rtw88: fix use after free in rtw_hw_scan_update_probe_req() + - drm/bridge: dw-hdmi: use safe format when first in bridge chain + - power: supply: ab8500: Swap max and overvoltage + - libbpf: Fix libbpf.map inheritance chain for LIBBPF_0.7.0 + - libbpf: Use dynamically allocated buffer when receiving netlink messages + - power: supply: ab8500: Fix memory leak in ab8500_fg_sysfs_init + - HID: i2c-hid: fix GET/SET_REPORT for unnumbered reports + - iommu/ipmmu-vmsa: Check for error num after setting mask + - drm/bridge: anx7625: Fix overflow issue on reading EDID + - ath11k: fix uninitialized rate_idx in ath11k_dp_tx_update_txcompl() + - i2c: pasemi: Drop I2C classes from platform driver variant + - bpftool: Fix the error when lookup in no-btf maps + - drm/amd/pm: enable pm sysfs write for one VF mode + - drm/amd/display: Add affected crtcs to atomic state for dsc mst unplug + - bpftool: Fix pretty print dump for maps without BTF loaded + - libbpf: Fix memleak in libbpf_netlink_recv() + - IB/cma: Allow XRC INI QPs to set their local ACK timeout + - cxl/core/port: Rename bus.c to port.c + - cxl/port: Hold port reference until decoder release + - dax: make sure inodes are flushed before destroy cache + - selftests: mptcp: add csum mib check for mptcp_connect + - iwlwifi: mvm: Don't call iwl_mvm_sta_from_mac80211() with NULL sta + - iwlwifi: mvm: don't iterate unadded vifs when handling FW SMPS req + - iwlwifi: mvm: align locking in D3 test debugfs + - iwlwifi: yoyo: remove DBGI_SRAM address reset writing + - iwlwifi: yoyo: Avoid using dram data if allocation failed + - iwlwifi: mvm: fix off by one in iwl_mvm_stat_iterator_all_macs() + - iwlwifi: Fix -EIO error code that is never returned + - iwlwifi: mvm: Fix an error code in iwl_mvm_up() + - mtd: rawnand: pl353: Set the nand chip node as the flash node + - drm/msm/dp: do not initialize phy until plugin interrupt received + - drm/msm/dp: populate connector of struct dp_panel + - drm/msm/dp: stop link training after link training 2 failed + - drm/msm/dp: always add fail-safe mode into connector mode list + - drm/msm/dsi: Use "ref" fw clock instead of global name for VCO parent + - drm/msm/dsi/phy: fix 7nm v4.0 settings for C-PHY mode + - drm/msm/dpu: add DSPP blocks teardown + - drm/msm/dpu: fix dp audio condition + - drm/msm/dpu: remove msm_dp cached in dpu_encoder_virt + - drm/msm/dp: fix panel bridge attachment + - i40e: remove dead stores on XSK hotpath + - ath11k: Invalidate cached reo ring entry before accessing it + - mips: Enable KCSAN + - dm crypt: fix get_key_size compiler warning if !CONFIG_KEYS + - vfio/pci: fix memory leak during D3hot to D0 transition + - vfio/pci: wake-up devices around reset functions + - scsi: fnic: Fix a tracing statement + - scsi: pm8001: Fix command initialization in pm80XX_send_read_log() + - scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req() + - scsi: pm8001: Fix payload initialization in pm80xx_set_thermal_config() + - scsi: pm8001: Fix le32 values handling in + pm80xx_set_sas_protocol_timer_config() + - scsi: pm8001: Fix payload initialization in pm80xx_encrypt_update() + - scsi: pm8001: Fix le32 values handling in pm80xx_chip_ssp_io_req() + - scsi: pm8001: Fix le32 values handling in pm80xx_chip_sata_req() + - scsi: pm8001: Fix NCQ NON DATA command task initialization + - scsi: pm8001: Fix NCQ NON DATA command completion handling + - scsi: pm8001: Fix abort all task initialization + - mt76: do not always copy ethhdr in reverse_frag0_hdr_trans + - mt76: fix endianness errors in reverse_frag0_hdr_trans + - mt76: mt7921s: fix missing fc type/sub-type for 802.11 pkts + - net: dsa: realtek-smi: fix kdoc warnings + - net: dsa: realtek-smi: move to subdirectory + - RDMA/mlx5: Fix the flow of a miss in the allocation of a cache ODP MR + - drm/amd/display: Remove vupdate_int_entry definition + - TOMOYO: fix __setup handlers return values + - power: supply: sbs-charger: Don't cancel work that is not initialized + - mt76: mt7915: enlarge wcid size to 544 + - mt76: mt7915: fix the muru tlv issue + - drm/dp: Fix OOB read when handling Post Cursor2 register + - ext2: correct max file size computing + - drm/tegra: Fix reference leak in tegra_dsi_ganged_probe + - power: supply: bq24190_charger: Fix bq24190_vbus_is_enabled() wrong false + return + - scsi: hisi_sas: Change permission of parameter prot_mask + - drm/bridge: cdns-dsi: Make sure to to create proper aliases for dt + - bpf, arm64: Call build_prologue() first in first JIT pass + - bpf, arm64: Feed byte-offset into bpf line info + - xsk: Fix race at socket teardown + - RDMA/irdma: Fix netdev notifications for vlan's + - RDMA/irdma: Fix Passthrough mode in VM + - RDMA/irdma: Remove incorrect masking of PD + - libbpf: Fix BPF_MAP_TYPE_PERF_EVENT_ARRAY auto-pinning + - gpu: host1x: Fix an error handling path in 'host1x_probe()' + - gpu: host1x: Fix a memory leak in 'host1x_remove()' + - libbpf: Skip forward declaration when counting duplicated type names + - powerpc/mm/numa: skip NUMA_NO_NODE onlining in parse_numa_properties() + - powerpc/Makefile: Don't pass -mcpu=powerpc64 when building 32-bit + - KVM: x86: Fix emulation in writing cr8 + - KVM: x86/emulator: Defer not-present segment check in + __load_segment_descriptor() + - KVM: SVM: Exit to userspace on ENOMEM/EFAULT GHCB errors + - hv_balloon: rate-limit "Unhandled message" warning + - KVM: arm64: Enable Cortex-A510 erratum 2077057 by default + - i2c: xiic: Make bus names unique + - net: phy: micrel: Fix concurrent register access + - Bluetooth: hci_sync: fix undefined return of hci_disconnect_all_sync() + - Bluetooth: Fix skb allocation in mgmt_remote_name() & + mgmt_device_connected() + - power: supply: wm8350-power: Handle error for wm8350_register_irq + - power: supply: wm8350-power: Add missing free in free_charger_irq + - IB/hfi1: Allow larger MTU without AIP + - RDMA/core: Fix ib_qp_usecnt_dec() called when error + - PCI: Reduce warnings on possible RW1C corruption + - net: axienet: fix RX ring refill allocation failure handling + - drm/msm/a6xx: Fix missing ARRAY_SIZE() check + - mips: DEC: honor CONFIG_MIPS_FP_SUPPORT=n + - MIPS: Sanitise Cavium switch cases in TLB handler synthesizers + - powerpc/sysdev: fix incorrect use to determine if list is empty + - powerpc/64s: Don't use DSISR for SLB faults + - mfd: mc13xxx: Add check for mc13xxx_irq_request + - libbpf: Unmap rings when umem deleted + - selftests/bpf: Make test_lwt_ip_encap more stable and faster + - platform/x86: huawei-wmi: check the return value of device_create_file() + - scsi: mpt3sas: Fix incorrect 4GB boundary check + - powerpc: 8xx: fix a return value error in mpc8xx_pic_init + - xtensa: add missing XCHAL_HAVE_WINDOWED check + - iwlwifi: pcie: fix SW error MSI-X mapping + - vxcan: enable local echo for sent CAN frames + - ath10k: Fix error handling in ath10k_setup_msa_resources + - mips: cdmm: Fix refcount leak in mips_cdmm_phys_base + - MIPS: RB532: fix return value of __setup handler + - MIPS: pgalloc: fix memory leak caused by pgd_free() + - mtd: rawnand: atmel: fix refcount issue in atmel_nand_controller_init + - power: ab8500_chargalg: Use CLOCK_MONOTONIC + - RDMA/irdma: Prevent some integer underflows + - Revert "RDMA/core: Fix ib_qp_usecnt_dec() called when error" + - RDMA/mlx5: Fix memory leak in error flow for subscribe event routine + - bpf, sockmap: Fix memleak in sk_psock_queue_msg + - bpf, sockmap: Fix memleak in tcp_bpf_sendmsg while sk msg is full + - bpf, sockmap: Fix more uncharged while msg has more_data + - bpf, sockmap: Fix double uncharge the mem of sk_msg + - samples/bpf, xdpsock: Fix race when running for fix duration of time + - USB: storage: ums-realtek: fix error code in rts51x_read_mem() + - drm/amd/display: Fix double free during GPU reset on DC streams + - RDMA/rxe: Change variable and function argument to proper type + - RDMA/rxe: Fix ref error in rxe_av.c + - powerpc/xive: fix return value of __setup handler + - powerpc/time: Fix KVM host re-arming a timer beyond decrementer range + - drm/i915/display: Fix HPD short pulse handling for eDP + - drm/i915/display: Do not re-enable PSR after it was marked as not reliable + - netfilter: flowtable: Fix QinQ and pppoe support for inet table + - mt76: mt7921: fix mt7921_queues_acq implementation + - can: isotp: return -EADDRNOTAVAIL when reading from unbound socket + - can: isotp: support MSG_TRUNC flag when reading from socket + - bareudp: use ipv6_mod_enabled to check if IPv6 enabled + - PCI: imx6: Invoke the PHY exit function after PHY power off + - PCI: imx6: Assert i.MX8MM CLKREQ# even if no device present + - ibmvnic: fix race between xmit and reset + - af_unix: Fix some data-races around unix_sk(sk)->oob_skb. + - selftests/bpf: Fix error reporting from sock_fields programs + - Bluetooth: hci_uart: add missing NULL check in h5_enqueue + - Bluetooth: call hci_le_conn_failed with hdev lock in hci_le_conn_failed + - Bluetooth: btmtksdio: Fix kernel oops in btmtksdio_interrupt + - RDMA/nldev: Prevent underflow in nldev_stat_set_counter_dynamic_doit() + - ipv4: Fix route lookups when handling ICMP redirects and PMTU updates + - mptcp: Fix crash due to tcp_tsorted_anchor was initialized before release + skb + - af_netlink: Fix shift out of bounds in group mask calculation + - i2c: meson: Fix wrong speed use from probe + - netfilter: conntrack: Add and use nf_ct_set_auto_assign_helper_warned() + - i2c: mux: demux-pinctrl: do not deactivate a master that is not active + - powerpc/pseries: Fix use after free in remove_phb_dynamic() + - ax25: Fix refcount leaks caused by ax25_cb_del() + - ax25: Fix NULL pointer dereferences in ax25 timers + - drm/i915: Fix renamed struct field + - selftests/bpf/test_lirc_mode2.sh: Exit with proper code + - bpftool: Fix print error when show bpf map + - PCI: Avoid broken MSI on SB600 USB devices + - net: bcmgenet: Use stronger register read/writes to assure ordering + - tcp: ensure PMTU updates are processed during fastopen + - openvswitch: always update flow key after nat + - net: dsa: fix panic on shutdown if multi-chip tree failed to probe + - net: wwan: qcom_bam_dmux: fix wrong pointer passed to IS_ERR() + - tipc: fix the timer expires after interval 100ms + - mfd: asic3: Add missing iounmap() on error asic3_mfd_probe + - ice: fix 'scheduling while atomic' on aux critical err interrupt + - ice: don't allow to run ice_send_event_to_aux() in atomic ctx + - drivers: ethernet: cpsw: fix panic when interrupt coaleceing is set via + ethtool + - kernel/resource: fix kfree() of bootmem memory again + - clk: renesas: r9a07g044: Update multiplier and divider values for PLL2/3 + - staging: r8188eu: release_firmware is not called if allocation fails + - mxser: fix xmit_buf leak in activate when LSR == 0xff + - fsi: scom: Fix error handling + - fsi: scom: Remove retries in indirect scoms + - pwm: lpc18xx-sct: Initialize driver data and hardware before pwmchip_add() + - pps: clients: gpio: Propagate return value from pps_gpio_probe + - fsi: Aspeed: Fix a potential double free + - misc: alcor_pci: Fix an error handling path + - cpufreq: qcom-cpufreq-nvmem: fix reading of PVS Valid fuse + - soundwire: intel: fix wrong register name in intel_shim_wake + - clk: qcom: ipq8074: fix PCI-E clock oops + - dmaengine: idxd: restore traffic class defaults after wq reset + - iio: mma8452: Fix probe failing when an i2c_device_id is used + - staging: qlge: add unregister_netdev in qlge_probe + - serial: 8250_aspeed_vuart: add PORT_ASPEED_VUART port type + - staging:iio:adc:ad7280a: Fix handing of device address bit reversing. + - clk: renesas: r8a779f0: Fix RSW2 clock divider + - pinctrl: renesas: r8a77470: Reduce size for narrow VIN1 channel + - pinctrl: renesas: checker: Fix miscalculation of number of states + - clk: qcom: ipq8074: Use floor ops for SDCC1 clock + - phy: dphy: Correct lpx parameter and its derivatives(ta_{get,go,sure}) + - phy: phy-brcm-usb: fixup BCM4908 support + - serial: 8250_mid: Balance reference count for PCI DMA device + - serial: 8250_lpss: Balance reference count for PCI DMA device + - NFS: Use of mapping_set_error() results in spurious errors + - serial: 8250: Fix race condition in RTS-after-send handling + - iio: adc: Add check for devm_request_threaded_irq + - habanalabs: Add check for pci_enable_device + - NFS: Return valid errors from nfs2/3_decode_dirent() + - staging: r8188eu: fix endless loop in recv_func + - dma-debug: fix return value of __setup handlers + - clk: imx7d: Remove audio_mclk_root_clk + - clk: imx: off by one in imx_lpcg_parse_clks_from_dt() + - clk: at91: sama7g5: fix parents of PDMCs' GCLK + - clk: qcom: clk-rcg2: Update logic to calculate D value for RCG + - clk: qcom: clk-rcg2: Update the frac table for pixel clock + - clk: starfive: jh7100: Don't round divisor up twice + - clk: starfive: jh7100: Handle audio_div clock properly + - dmaengine: hisi_dma: fix MSI allocate fail when reload hisi_dma + - remoteproc: qcom: Fix missing of_node_put in adsp_alloc_memory_region + - remoteproc: qcom_wcnss: Add missing of_node_put() in + wcnss_alloc_memory_region + - remoteproc: qcom_q6v5_mss: Fix some leaks in q6v5_alloc_memory_region + - nvdimm/region: Fix default alignment for small regions + - clk: actions: Terminate clk_div_table with sentinel element + - clk: loongson1: Terminate clk_div_table with sentinel element + - clk: hisilicon: Terminate clk_div_table with sentinel element + - clk: clps711x: Terminate clk_div_table with sentinel element + - clk: Fix clk_hw_get_clk() when dev is NULL + - clk: tegra: tegra124-emc: Fix missing put_device() call in + emc_ensure_emc_driver + - mailbox: imx: fix crash in resume on i.mx8ulp + - NFS: remove unneeded check in decode_devicenotify_args() + - staging: mt7621-dts: fix LEDs and pinctrl on GB-PC1 devicetree + - staging: mt7621-dts: fix formatting + - staging: mt7621-dts: fix pinctrl properties for ethernet + - staging: mt7621-dts: fix GB-PC2 devicetree + - pinctrl: ocelot: fix confops resource index + - pinctrl: ocelot: fix duplicate debugfs entry + - pinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_init + - pinctrl: mediatek: paris: Fix PIN_CONFIG_BIAS_* readback + - pinctrl: mediatek: paris: Fix "argument" argument type for mtk_pinconf_get() + - pinctrl: mediatek: paris: Fix pingroup pin config state readback + - pinctrl: mediatek: paris: Skip custom extra pin config dump for virtual + GPIOs + - pinctrl: ocelot: Fix interrupt parsing + - pinctrl: microchip-sgpio: lock RMW access + - pinctrl: nomadik: Add missing of_node_put() in nmk_pinctrl_probe + - pinctrl/rockchip: Add missing of_node_put() in rockchip_pinctrl_probe + - clk: visconti: prevent array overflow in visconti_clk_register_gates() + - tty: hvc: fix return value of __setup handler + - kgdboc: fix return value of __setup handler + - serial: 8250: fix XOFF/XON sending when DMA is used + - virt: acrn: obtain pa from VMA with PFNMAP flag + - virt: acrn: fix a memory leak in acrn_dev_ioctl() + - kgdbts: fix return value of __setup handler + - firmware: google: Properly state IOMEM dependency + - driver core: dd: fix return value of __setup handler + - perf test arm64: Test unwinding using fame-pointer (fp) mode + - jfs: fix divide error in dbNextAG + - SUNRPC/call_alloc: async tasks mustn't block waiting for memory + - SUNRPC: improve 'swap' handling: scheduling and PF_MEMALLOC + - SUNRPC: Don't call connect() more than once on a TCP socket + - perf parse-events: Move slots only with topdown + - netfilter: egress: Report interface as outgoing + - netfilter: nf_conntrack_tcp: preserve liberal flag in tcp options + - SUNRPC don't resend a task on an offlined transport + - NFSv4.1: don't retry BIND_CONN_TO_SESSION on session error + - kdb: Fix the putarea helper function + - perf stat: Fix forked applications enablement of counters + - net: stmmac: dwmac-qcom-ethqos: Enable RGMII functional clock on resume + - clk: qcom: gcc-msm8994: Fix gpll4 width + - vsock/virtio: initialize vdev->priv before using VQs + - vsock/virtio: read the negotiated features before using VQs + - vsock/virtio: enable VQs early on probe + - clk: Initialize orphan req_rate + - xen: fix is_xen_pmu() + - net: enetc: report software timestamping via SO_TIMESTAMPING + - net: hns3: fix bug when PF set the duplicate MAC address for VFs + - net: hns3: fix port base vlan add fail when concurrent with reset + - net: hns3: add vlan list lock to protect vlan list + - net: hns3: refine the process when PF set VF VLAN + - net: phy: broadcom: Fix brcm_fet_config_init() + - selftests: test_vxlan_under_vrf: Fix broken test case + - NFS: Don't loop forever in nfs_do_recoalesce() + - libperf tests: Fix typo in perf_evlist__open() failure error messages + - net: hns3: fix ethtool tx copybreak buf size indicating not aligned issue + - net: hns3: add max order judgement for tx spare buffer + - net: hns3: clean residual vf config after disable sriov + - net: hns3: add netdev reset check for hns3_set_tunable() + - net: hns3: add NULL pointer check for hns3_set/get_ringparam() + - net: hns3: fix phy can not link up when autoneg off and reset + - net: sparx5: depends on PTP_1588_CLOCK_OPTIONAL + - qlcnic: dcb: default to returning -EOPNOTSUPP + - net/x25: Fix null-ptr-deref caused by x25_disconnect + - net: sparx5: switchdev: fix possible NULL pointer dereference + - octeontx2-af: initialize action variable + - selftests: tls: skip cmsg_to_pipe tests with TLS=n + - net/sched: act_ct: fix ref leak when switching zones + - NFSv4/pNFS: Fix another issue with a list iterator pointing to the head + - net: dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator + - fs: fd tables have to be multiples of BITS_PER_LONG + - lib/test: use after free in register_test_dev_kmod() + - fs: fix fd table size alignment properly + - LSM: general protection fault in legacy_parse_param + - regulator: rpi-panel: Handle I2C errors/timing to the Atmel + - crypto: hisilicon/qm - cleanup warning in qm_vf_read_qos + - crypto: octeontx2 - CN10K CPT to RNM workaround + - gcc-plugins/stackleak: Exactly match strings instead of prefixes + - rcu: Kill rnp->ofl_seq and use only rcu_state.ofl_lock for exclusion + - pinctrl: npcm: Fix broken references to chip->parent_device + - rcu: Mark writes to the rcu_segcblist structure's ->flags field + - block: throttle split bio in case of iops limit + - memstick/mspro_block: fix handling of read-only devices + - block/bfq_wf2q: correct weight to ioprio + - crypto: xts - Add softdep on ecb + - crypto: hisilicon/sec - not need to enable sm4 extra mode at HW V3 + - block, bfq: don't move oom_bfqq + - selinux: use correct type for context length + - powercap/dtpm_cpu: Reset per_cpu variable in the release function + - arm64: module: remove (NOLOAD) from linker script + - selinux: allow FIOCLEX and FIONCLEX with policy capability + - loop: use sysfs_emit() in the sysfs xxx show() + - Fix incorrect type in assignment of ipv6 port for audit + - irqchip/qcom-pdc: Fix broken locking + - irqchip/nvic: Release nvic_base upon failure + - fs/binfmt_elf: Fix AT_PHDR for unusual ELF files + - hwrng: cavium - fix NULL but dereferenced coccicheck error + - bfq: fix use-after-free in bfq_dispatch_request + - ACPICA: Avoid walking the ACPI Namespace if it is not there + - ACPI / x86: Add skip i2c clients quirk for Nextbook Ares 8 + - ACPI / x86: Add skip i2c clients quirk for Lenovo Yoga Tablet 1050F/L + - lib/raid6/test/Makefile: Use $(pound) instead of \# for Make 4.3 + - Revert "Revert "block, bfq: honor already-setup queue merges"" + - ACPI/APEI: Limit printable size of BERT table data + - PM: core: keep irq flags in device_pm_check_callbacks() + - parisc: Fix non-access data TLB cache flush faults + - parisc: Fix handling off probe non-access faults + - nvme-tcp: lockdep: annotate in-kernel sockets + - spi: tegra20: Use of_device_get_match_data() + - spi: fsi: Implement a timeout for polling status + - atomics: Fix atomic64_{read_acquire,set_release} fallbacks + - locking/lockdep: Iterate lock_classes directly when reading lockdep files + - ext4: correct cluster len and clusters changed accounting in ext4_mb_mark_bb + - ext4: fix ext4_mb_mark_bb() with flex_bg with fast_commit + - sched/tracing: Report TASK_RTLOCK_WAIT tasks as TASK_UNINTERRUPTIBLE + - ext4: don't BUG if someone dirty pages without asking ext4 first + - f2fs: fix to do sanity check on curseg->alloc_type + - NFSD: Fix nfsd_breaker_owns_lease() return values + - f2fs: don't get FREEZE lock in f2fs_evict_inode in frozen fs + - btrfs: harden identification of a stale device + - btrfs: make search_csum_tree return 0 if we get -EFBIG + - btrfs: handle csum lookup errors properly on reads + - btrfs: do not double complete bio on errors during compressed reads + - btrfs: do not clean up repair bio if submit fails + - f2fs: use spin_lock to avoid hang + - f2fs: compress: fix to print raw data size in error path of lz4 + decompression + - Adjust cifssb maximum read size + - ntfs: add sanity check on allocation size + - media: staging: media: zoran: move videodev alloc + - media: staging: media: zoran: calculate the right buffer number for + zoran_reap_stat_com + - media: staging: media: zoran: fix various V4L2 compliance errors + - media: atmel: atmel-isc-base: report frame sizes as full supported range + - media: ir_toy: free before error exiting + - ASoC: sh: rz-ssi: Make the data structures available before registering the + handlers + - ASoC: cs42l42: Report full jack status when plug is detected + - ASoC: SOF: Intel: match sdw version on link_slaves_found + - media: imx-jpeg: Prevent decoding NV12M jpegs into single-planar buffers + - ASoC: SOF: Intel: hda: Remove link assignment limitation + - media: iommu/mediatek-v1: Free the existed fwspec if the master dev already + has + - media: iommu/mediatek: Return ENODEV if the device is NULL + - media: iommu/mediatek: Add device_link between the consumer and the larb + devices + - video: fbdev: nvidiafb: Use strscpy() to prevent buffer overflow + - video: fbdev: w100fb: Reset global state + - video: fbdev: cirrusfb: check pixclock to avoid divide by zero + - video: fbdev: omapfb: acx565akm: replace snprintf with sysfs_emit + - ARM: dts: qcom: fix gic_irq_domain_translate warnings for msm8960 + - ARM: dts: bcm2837: Add the missing L1/L2 cache information + - ASoC: madera: Add dependencies on MFD + - media: atomisp_gmin_platform: Add DMI quirk to not turn AXP ELDO2 regulator + off on some boards + - media: atomisp: fix dummy_ptr check to avoid duplicate active_bo + - ARM: ftrace: avoid redundant loads or clobbering IP + - ALSA: hda: Fix driver index handling at re-binding + - ARM: dts: imx7: Use audio_mclk_post_div instead audio_mclk_root_clk + - arm64: defconfig: build imx-sdma as a module + - video: fbdev: omapfb: panel-dsi-cm: Use sysfs_emit() instead of snprintf() + - video: fbdev: omapfb: panel-tpo-td043mtea1: Use sysfs_emit() instead of + snprintf() + - video: fbdev: udlfb: replace snprintf in show functions with sysfs_emit + - ARM: dts: bcm2711: Add the missing L1/L2 cache information + - ASoC: soc-core: skip zero num_dai component in searching dai name + - ASoC: Intel: sof_es8336: add quirk for Huawei D15 2021 + - media: imx-jpeg: fix a bug of accessing array out of bounds + - media: cx88-mpeg: clear interrupt status register before streaming video + - ASoC: rt5682s: Fix the wrong jack type detected + - ARM: tegra: transformer: Drop reg-shift for Tegra HS UART + - uaccess: fix type mismatch warnings from access_ok() + - lib/test_lockup: fix kernel pointer check for separate address spaces + - ARM: tegra: tamonten: Fix I2C3 pad setting + - ARM: mmp: Fix failure to remove sram device + - ASoC: amd: vg: fix for pm resume callback sequence + - ASoC: amd: vangogh: fix uninitialized symbol warning in machine driver + - video: fbdev: sm712fb: Fix crash in smtcfb_write() + - media: i2c: ov5648: Fix lockdep error + - media: Revert "media: em28xx: add missing em28xx_close_extension" + - media: hdpvr: initialize dev->worker at hdpvr_register_videodev + - ASoC: SOF: debug: clarify operator precedence + - ASoC: Intel: sof_sdw: fix quirks for 2022 HP Spectre x360 13" + - ASoC: SOF: Intel: hda: retrieve DMIC number for I2S boards + - ALSA: intel-nhlt: add helper to detect SSP link mask + - ALSA: intel-dsp-config: add more ACPI HIDs for ES83x6 devices + - ASoC: Intel: soc-acpi: add more ACPI HIDs for ES83x6 devices + - ALSA: intel-dspconfig: add ES8336 support for CNL + - ASoC: Intel: Revert "ASoC: Intel: sof_es8336: add quirk for Huawei D15 2021" + - ASoC: Intel: sof_es8336: log all quirks + - tracing: Have TRACE_DEFINE_ENUM affect trace event types as well + - mmc: host: Return an error when ->enable_sdio_irq() ops is missing + - ASoC: mediatek: Fix error handling in mt8183_da7219_max98357_dev_probe + - media: atomisp: fix bad usage at error handling logic + - ALSA: hda/realtek: Add alc256-samsung-headphone fixup + - KVM: SVM: Allow AVIC support on system w/ physical APIC ID > 255 + - KVM: x86: Reinitialize context if host userspace toggles EFER.LME + - KVM: x86/mmu: Use common TDP MMU zap helper for MMU notifier unmap hook + - KVM: x86/mmu: Move "invalid" check out of kvm_tdp_mmu_get_root() + - KVM: x86/mmu: Zap _all_ roots when unmapping gfn range in TDP MMU + - KVM: x86/mmu: Check for present SPTE when clearing dirty bit in TDP MMU + - KVM: x86: hyper-v: Drop redundant 'ex' parameter from kvm_hv_send_ipi() + - KVM: x86: hyper-v: Drop redundant 'ex' parameter from kvm_hv_flush_tlb() + - KVM: x86: hyper-v: Fix the maximum number of sparse banks for XMM fast TLB + flush hypercalls + - KVM: x86: hyper-v: HVCALL_SEND_IPI_EX is an XMM fast hypercall + - powerpc/kasan: Fix early region not updated correctly + - powerpc/tm: Fix more userspace r13 corruption + - powerpc/lib/sstep: Fix 'sthcx' instruction + - powerpc/lib/sstep: Fix build errors with newer binutils + - powerpc: Add set_memory_{p/np}() and remove set_memory_attr() + - powerpc: Fix build errors with newer binutils + - drm/dp: Fix off-by-one in register cache size + - drm/i915: Treat SAGV block time 0 as SAGV disabled + - drm/i915: Fix PSF GV point mask when SAGV is not possible + - drm/i915: Reject unsupported TMDS rates on ICL+ + - scsi: qla2xxx: Refactor asynchronous command initialization + - scsi: qla2xxx: Implement ref count for SRB + - scsi: qla2xxx: Fix stuck session in gpdb + - scsi: qla2xxx: Fix warning message due to adisc being flushed + - scsi: qla2xxx: Fix scheduling while atomic + - scsi: qla2xxx: Fix premature hw access after PCI error + - scsi: qla2xxx: Fix wrong FDMI data for 64G adapter + - scsi: qla2xxx: Fix warning for missing error code + - scsi: qla2xxx: Fix device reconnect in loop topology + - scsi: qla2xxx: edif: Fix clang warning + - scsi: qla2xxx: Fix T10 PI tag escape and IP guard options for 28XX adapters + - scsi: qla2xxx: Add devids and conditionals for 28xx + - scsi: qla2xxx: Check for firmware dump already collected + - scsi: qla2xxx: Suppress a kernel complaint in qla_create_qpair() + - scsi: qla2xxx: Fix disk failure to rediscover + - scsi: qla2xxx: Fix incorrect reporting of task management failure + - scsi: qla2xxx: Fix hang due to session stuck + - scsi: qla2xxx: Fix laggy FC remote port session recovery + - scsi: qla2xxx: Fix missed DMA unmap for NVMe ls requests + - scsi: qla2xxx: Fix crash during module load unload test + - scsi: qla2xxx: Fix N2N inconsistent PLOGI + - scsi: qla2xxx: Fix stuck session of PRLI reject + - scsi: qla2xxx: Reduce false trigger to login + - scsi: qla2xxx: Use correct feature type field during RFF_ID processing + - platform: chrome: Split trace include file + - MIPS: crypto: Fix CRC32 code + - KVM: x86: Check lapic_in_kernel() before attempting to set a SynIC irq + - KVM: x86: Avoid theoretical NULL pointer dereference in + kvm_irq_delivery_to_apic_fast() + - KVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activated + - KVM: x86/mmu: do compare-and-exchange of gPTE via the user address + - KVM: Prevent module exit until all VMs are freed + - KVM: x86: fix sending PV IPI + - KVM: SVM: fix panic on out-of-bounds guest IRQ + - KVM: avoid double put_page with gfn-to-pfn cache + - ubifs: rename_whiteout: Fix double free for whiteout_ui->data + - ubifs: Fix deadlock in concurrent rename whiteout and inode writeback + - ubifs: Add missing iput if do_tmpfile() failed in rename whiteout + - ubifs: Rename whiteout atomically + - ubifs: Fix 'ui->dirty' race between do_tmpfile() and writeback work + - ubifs: Rectify space amount budget for mkdir/tmpfile operations + - ubifs: setflags: Make dirtied_ino_d 8 bytes aligned + - ubifs: Fix read out-of-bounds in ubifs_wbuf_write_nolock() + - ubifs: Fix to add refcount once page is set private + - ubifs: rename_whiteout: correct old_dir size computing + - nvme: allow duplicate NSIDs for private namespaces + - nvme: fix the read-only state for zoned namespaces with unsupposed features + - wireguard: queueing: use CFI-safe ptr_ring cleanup function + - wireguard: socket: free skb in send6 when ipv6 is disabled + - wireguard: socket: ignore v6 endpoints when ipv6 is disabled + - XArray: Fix xas_create_range() when multi-order entry present + - can: mcba_usb: mcba_usb_start_xmit(): fix double dev_kfree_skb in error path + - can: mcba_usb: properly check endpoint type + - can: mcp251xfd: mcp251xfd_register_get_dev_id(): fix return of error value + - XArray: Include bitmap.h from xarray.h + - XArray: Update the LRU list in xas_split() + - modpost: restore the warning message for missing symbol versions + - rtc: gamecube: Fix refcount leak in gamecube_rtc_read_offset_from_sram + - rtc: check if __rtc_read_time was successful + - loop: fix ioctl calls using compat_loop_info + - gfs2: gfs2_setattr_size error path fix + - gfs2: Fix gfs2_file_buffered_write endless loop workaround + - gfs2: Make sure FITRIM minlen is rounded up to fs block size + - net: hns3: fix the concurrency between functions reading debugfs + - net: hns3: fix software vlan talbe of vlan 0 inconsistent with hardware + - rxrpc: fix some null-ptr-deref bugs in server_key.c + - rxrpc: Fix call timer start racing with call destruction + - mailbox: imx: fix wakeup failure from freeze mode + - crypto: x86/poly1305 - Fixup SLS + - crypto: arm/aes-neonbs-cbc - Select generic cbc and aes + - watch_queue: Free the page array when watch_queue is dismantled + - pinctrl: pinconf-generic: Print arguments for bias-pull-* + - watchdog: rti-wdt: Add missing pm_runtime_disable() in probe function + - net: sparx5: uses, depends on BRIDGE or !BRIDGE + - pinctrl: nuvoton: npcm7xx: Rename DS() macro to DSTR() + - pinctrl: nuvoton: npcm7xx: Use %zu printk format for ARRAY_SIZE() + - ASoC: rockchip: i2s_tdm: Fixup config for SND_SOC_DAIFMT_DSP_A/B + - ASoC: mediatek: mt6358: add missing EXPORT_SYMBOLs + - ubi: Fix race condition between ctrl_cdev_ioctl and ubi_cdev_ioctl + - ARM: iop32x: offset IRQ numbers by 1 + - block: Fix the maximum minor value is blk_alloc_ext_minor() + - block: restore the old set_task_ioprio() behaviour wrt PF_EXITING + - Revert "virtio-pci: harden INTX interrupts" + - Revert "virtio_pci: harden MSI-X interrupts" + - virtio: use virtio_device_ready() in virtio_device_restore() + - io_uring: remove poll entry from list when canceling all + - io_uring: bump poll refs to full 31-bits + - io_uring: fix memory leak of uid in files registration + - riscv module: remove (NOLOAD) + - ACPI: CPPC: Avoid out of bounds access when parsing _CPC data + - vhost: handle error while adding split ranges to iotlb + - spi: Fix Tegra QSPI example + - platform/chrome: cros_ec_typec: Check for EC device + - platform/x86: asus-wmi: Fix regression when probing for fan curve control + - can: isotp: restore accidentally removed MSG_PEEK feature + - proc: bootconfig: Add null pointer check + - x86/fpu/xstate: Fix the ARCH_REQ_XCOMP_PERM implementation + - x86/sev: Unroll string mmio with CC_ATTR_GUEST_UNROLL_STRING_IO + - drm/connector: Fix typo in documentation + - scsi: qla2xxx: Add qla2x00_async_done() for async routines + - staging: mt7621-dts: fix pinctrl-0 items to be size-1 items on ethernet + - docs: fix 'make htmldocs' warning in SCTP.rst + - arm64: mm: Drop 'const' from conditional arm64_dma_phys_limit definition + - ASoC: soc-compress: Change the check for codec_dai + - KVM: x86: SVM: fix avic spec based definitions again + - ax25: fix UAF bug in ax25_send_control() + - Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" + - tracing: Have type enum modifications copy the strings + - mips: Enable KCSAN - take 2 + - net: add skb_set_end_offset() helper + - mm/mmap: return 1 from stack_guard_gap __setup() handler + - ARM: 9187/1: JIVE: fix return value of __setup handler + - mm/memcontrol: return 1 from cgroup.memory __setup() handler + - mm/usercopy: return 1 from hardened_usercopy __setup() handler + - af_unix: Support POLLPRI for OOB. + - libbpf: Define BTF_KIND_* constants in btf.h to avoid compilation errors + - bpf: Adjust BPF stack helper functions to accommodate skip > 0 + - bpf: Fix comment for helper bpf_current_task_under_cgroup() + - nbd: fix possible overflow on 'first_minor' in nbd_dev_add() + - mmc: rtsx: Use pm_runtime_{get,put}() to handle runtime PM + - dt-bindings: mtd: nand-controller: Fix the reg property description + - dt-bindings: mtd: nand-controller: Fix a comment in the examples + - dt-bindings: spi: mxic: The interrupt property is not mandatory + - media: dt-binding: media: hynix,hi846: use $defs/port-base port description + - media: dt-bindings: media: hynix,hi846: add link-frequencies description + - dt-bindings: memory: mtk-smi: Rename clock to clocks + - dt-bindings: memory: mtk-smi: No need mediatek,larb-id for mt8167 + - dt-bindings: memory: mtk-smi: Correct minItems to 2 for the gals clocks + - dt-bindings: pinctrl: mt8195: fix bias-pull-{up,down} checks + - dt-bindings: pinctrl: pinctrl-microchip-sgpio: Fix example + - ubi: fastmap: Return error code if memory allocation fails in add_aeb() + - net: preserve skb_end_offset() in skb_unclone_keeptruesize() + - ASoC: SOF: Intel: Fix build error without SND_SOC_SOF_PCI_DEV + - ASoC: topology: Allow TLV control to be either read or write + - perf vendor events: Update metrics for SkyLake Server + - media: ov6650: Add try support to selection API operations + - media: ov6650: Fix crop rectangle affected by set format + - pinctrl: canonical rsel resistance selection property + - spi: mediatek: support tick_delay without enhance_timing + - ARM: dts: spear1340: Update serial node properties + - ARM: dts: spear13xx: Update SPI dma properties + - arm64: dts: ls1043a: Update i2c dma properties + - arm64: dts: ls1046a: Update i2c node dma properties + - um: Fix uml_mconsole stop/go + - docs: sysctl/kernel: add missing bit to panic_print + - xsk: Do not write NULL in SW ring at allocation failure + - ice: xsk: Fix indexing in ice_tx_xsk_pool() + - vdpa/mlx5: Avoid processing works if workqueue was destroyed + - openvswitch: Fixed nd target mask field in the flow dump. + - torture: Make torture.sh help message match reality + - n64cart: convert bi_disk to bi_bdev->bd_disk fix build + - Revert "nbd: fix possible overflow on 'first_minor' in nbd_dev_add()" + - mmc: rtsx: Let MMC core handle runtime PM + - mmc: rtsx: Fix build errors/warnings for unused variable + - coredump: Snapshot the vmas in do_coredump + - coredump: Remove the WARN_ON in dump_vma_snapshot + - coredump/elf: Pass coredump_params into fill_note_info + - coredump: Use the vma snapshot in fill_files_note + - Linux 5.17.2 + + * Jammy update: v5.17.1 upstream stable release (LP: #1968982) + - tpm: Fix error handling in async work + - Bluetooth: btusb: Add another Realtek 8761BU + - llc: fix netdevice reference leaks in llc_ui_bind() + - ASoC: sti: Fix deadlock via snd_pcm_stop_xrun() call + - ALSA: oss: Fix PCM OSS buffer allocation overflow + - ALSA: usb-audio: add mapping for new Corsair Virtuoso SE + - ALSA: hda/realtek: Add quirk for Clevo NP70PNJ + - ALSA: hda/realtek: Add quirk for Clevo NP50PNJ + - ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671 + - ALSA: hda/realtek: Add quirk for ASUS GA402 + - ALSA: pcm: Fix races among concurrent hw_params and hw_free calls + - ALSA: pcm: Fix races among concurrent read/write and buffer changes + - ALSA: pcm: Fix races among concurrent prepare and hw_params/hw_free calls + - ALSA: pcm: Fix races among concurrent prealloc proc writes + - ALSA: pcm: Add stream lock during PCM reset ioctl operations + - ALSA: usb-audio: Add mute TLV for playback volumes on RODE NT-USB + - ALSA: cmipci: Restore aux vol on suspend/resume + - ALSA: pci: fix reading of swapped values from pcmreg in AC97 codec + - drivers: net: xgene: Fix regression in CRC stripping + - netfilter: nf_tables: initialize registers in nft_do_chain() + - netfilter: nf_tables: validate registers coming from userspace. + - ACPI / x86: Work around broken XSDT on Advantech DAC-BJ01 board + - ACPI: battery: Add device HID and quirk for Microsoft Surface Go 3 + - ACPI: video: Force backlight native for Clevo NL5xRU and NL5xNU + - crypto: qat - disable registration of algorithms + - Bluetooth: btusb: Add one more Bluetooth part for the Realtek RTL8852AE + - Bluetooth: hci_sync: Add a new quirk to skip HCI_FLT_CLEAR_ALL + - Bluetooth: btusb: Use quirk to skip HCI_FLT_CLEAR_ALL on fake CSR + controllers + - Revert "ath: add support for special 0x0 regulatory domain" + - drm/virtio: Ensure that objs is not NULL in virtio_gpu_array_put_free() + - jbd2: fix use-after-free of transaction_t race + - rcu: Don't deboost before reporting expedited quiescent state + - uaccess: fix integer overflow on access_ok() + - mac80211: fix potential double free on mesh join + - tpm: fix reference counting for struct tpm_chip + - tpm: use try_get_ops() in tpm-space.c + - wcn36xx: Differentiate wcn3660 from wcn3620 + - m68k: fix access_ok for coldfire + - nds32: fix access_ok() checks in get/put_user + - drm/msm/gpu: Fix crash on devices without devfreq support (v2) + - llc: only change llc->dev when bind() succeeds + - Linux 5.17.1 + + * Miscellaneous Ubuntu changes + - SAUCE: shiftfs: always rely on init_user_ns + - [Config] update configs and annotations after stable updates + - SAUCE: sfc: The size of the RX recycle ring should be more flexible + - [Packaging] remove references to lowlatency flavor + + -- Andrea Righi Thu, 14 Apr 2022 08:45:40 +0200 + +linux-unstable (5.17.0-6.6) jammy; urgency=medium + + * jammy/linux-unstable: 5.17.0-6.6 -proposed tracker (LP: #1965731) + + * dependency on crda obsolete according to Debian (LP: #1958918) + - [Packaging] switch dependency from crda to wireless-regdb + + * Miscellaneous Ubuntu changes + - [Config] disable CONFIG_SYSFB_SIMPLEFB on amd64 + + [ Upstream Kernel Changes ] + + * Rebase to v5.17 + + -- Andrea Righi Mon, 21 Mar 2022 09:46:03 +0100 + +linux-unstable (5.17.0-5.5) jammy; urgency=medium + + * jammy/linux-unstable: 5.17.0-5.5 -proposed tracker (LP: #1964766) + + * Packaging resync (LP: #1786013) + - [Packaging] resync dkms-build{,--nvidia-N} from LRMv5 + + * Miscellaneous Ubuntu changes + - [Config] update configs and annotations after rebase to v5.17-rc8 + + [ Upstream Kernel Changes ] + + * Rebase to v5.17-rc8 + + -- Andrea Righi Mon, 14 Mar 2022 13:15:50 +0100 + +linux-unstable (5.17.0-4.4) jammy; urgency=medium + + * jammy/linux-unstable: 5.17.0-4.4 -proposed tracker (LP: #1963880) + + [ Upstream Kernel Changes ] + + * Rebase to v5.17-rc7 + + -- Andrea Righi Mon, 07 Mar 2022 10:20:48 +0100 + +linux-unstable (5.17.0-3.3) jammy; urgency=medium + + * jammy/linux-unstable: 5.17.0-3.3 -proposed tracker (LP: #1962450) + + * 5.15 stuck at boot on c4.large (LP: #1956780) + - Revert "PCI/MSI: Mask MSI-X vectors only on success" + + * [22.04 FEAT] KVM: Enable storage key checking for intercepted instruction + handled by userspace (LP: #1933179) + - s390/uaccess: Add copy_from/to_user_key functions + - KVM: s390: Honor storage keys when accessing guest memory + - KVM: s390: handle_tprot: Honor storage keys + - KVM: s390: Add optional storage key checking to MEMOP IOCTL + - KVM: s390: Add vm IOCTL for key checked guest absolute memory access + - KVM: s390: Rename existing vcpu memop functions + - KVM: s390: Update api documentation for memop ioctl + - KVM: s390: Clarify key argument for MEM_OP in api docs + - KVM: s390: Add missing vm MEM_OP size check + + [ Upstream Kernel Changes ] + + * Rebase to v5.17-rc6 + + -- Andrea Righi Mon, 28 Feb 2022 09:42:32 +0100 + +linux-unstable (5.17.0-2.2) jammy; urgency=medium + + * jammy/linux-unstable: 5.17.0-2.2 -proposed tracker (LP: #1962137) + + * CVE-2022-25636 + - netfilter: nf_tables_offload: incorrect flow offload action array size + + * Packaging resync (LP: #1786013) + - [Packaging] resync getabis + - [Packaging] update Ubuntu.md + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Jammy update: v5.15.22 upstream stable release (LP: #1960516) + - Revert "ASoC: mediatek: Check for error clk pointer" + - [Config] disable FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION + + * Jammy update: v5.15.20 upstream stable release (LP: #1960509) + - Revert "UBUNTU: SAUCE: Revert "e1000e: Additional PHY power saving in S0ix"" + + * Jammy update: v5.15.19 upstream stable release (LP: #1959879) + - drm/etnaviv: relax submit size limits + + * Jammy update: v5.15.17 upstream stable release (LP: #1959376) + - net: dsa: hellcreek: Allow PTP P2P measurements on blocked ports + - rtw88: add quirk to disable pci caps on HP 250 G7 Notebook PC + - ASoC: mediatek: Check for error clk pointer + - regulator: da9121: Prevent current limit change when enabled + - ath9k: Fix out-of-bound memcpy in ath9k_hif_usb_rx_stream + - drm/etnaviv: limit submit sizes + - Bluetooth: hci_sync: Fix not setting adv set duration + - net: axienet: Wait for PhyRstCmplt after core reset + + * rtw88_8821ce causes freeze (LP: #1927808) // Jammy update: v5.15.17 upstream + stable release (LP: #1959376) + - rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE + + * Jammy update: v5.15.15 upstream stable release (LP: #1958418) + - Bluetooth: btusb: Add support for Foxconn MT7922A + - Bluetooth: btbcm: disable read tx power for MacBook Air 8,1 and 8,2 + - platform/x86/intel: hid: add quirk to support Surface Go 3 + + * Support USB4 DP alt mode for AMD Yellow Carp graphics card (LP: #1953008) + - SAUCE: drm/amd/display: Fixup previous PSR policy commit + + * alsa/sdw: add sdw audio machine driver for several ADL machines + (LP: #1951563) + - ASoC: Intel: sof_sdw: Add support for SKU 0B11 product + - ASoC: Intel: sof_sdw: Add support for SKU 0B13 product + - ASoC: Intel: sof_sdw: Add support for SKU 0B29 product + - ASoC: Intel: sof_sdw: Add support for SKU 0B12 product + + * Improve performance and idle power consumption (LP: #1941893) + - x86: ACPI: cstate: Optimize C3 entry on AMD CPUs + + * Fix spurious wakeup caused by Intel 7560 WWAN (LP: #1956443) + - net: wwan: iosm: Keep device at D0 for s2idle case + + * Jammy update: v5.15.13 upstream stable release (LP: #1956926) + - scsi: lpfc: Terminate string in lpfc_debugfs_nvmeio_trc_write() + - net/mlx5: Fix tc max supported prio for nic mode + + * Miscellaneous Ubuntu changes + - [Packaging] Update dependency of pahole / dwarves + - [packaging] unhook lowlatency flavours from the build + - [Packaging] use default zstd compression + - [Packaging] do not use compression for image packages + - [Packaging] use xz compression for ddebs + - SAUCE: Makefile: Remove inclusion of lbm header files + - SAUCE: Makefile: Fix compiler warnings + - [Config] drop unused lowlatency configs + - [Config] update configs and annotations after rebase to v5.17-rc5 + + * Miscellaneous upstream changes + - Revert "rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE" + - MAINTAINERS: Add scripts/pahole-flags.sh to BPF section + - kbuild: Add CONFIG_PAHOLE_VERSION + - lib/Kconfig.debug: Use CONFIG_PAHOLE_VERSION + - lib/Kconfig.debug: Allow BTF + DWARF5 with pahole 1.21+ + - Revert "UBUNTU: [Packaging] temporarily disable zfs" + + -- Andrea Righi Thu, 24 Feb 2022 09:41:40 +0100 + +linux-unstable (5.17.0-1.1) jammy; urgency=medium + + * Rebase to 5.17-rc1 + + -- Andrea Righi Mon, 21 Feb 2022 08:22:18 +0100 + +linux-unstable (5.17.0-0.0) jammy; urgency=medium + + * Empty entry + + -- Andrea Righi Fri, 28 Jan 2022 17:14:13 +0100 + +linux (5.15.0-18.18) jammy; urgency=medium + + * jammy/linux: 5.15.0-18.18 -proposed tracker (LP: #1958638) + + * CVE-2021-4155 + - xfs: map unwritten blocks in XFS_IOC_{ALLOC, FREE}SP just like fallocate + + * CVE-2022-0185 + - SAUCE: vfs: test that one given mount param is not larger than PAGE_SIZE + + * [UBUNTU 20.04] KVM hardware diagnose data improvements for guest kernel - + kernel part (LP: #1953334) + - KVM: s390: add debug statement for diag 318 CPNC data + + * OOB write on BPF_RINGBUF (LP: #1956585) + - SAUCE: bpf: prevent helper argument PTR_TO_ALLOC_MEM to have offset other + than 0 + + * Miscellaneous Ubuntu changes + - [Config] re-enable shiftfs + - [SAUCE] shiftfs: support kernel 5.15 + - [Config] update toolchain versions + + * Miscellaneous upstream changes + - vfs: fs_context: fix up param length parsing in legacy_parse_param + + -- Andrea Righi Fri, 21 Jan 2022 13:32:27 +0100 + +linux (5.15.0-17.17) jammy; urgency=medium + + * jammy/linux: 5.15.0-17.17 -proposed tracker (LP: #1957809) + + -- Andrea Righi Thu, 13 Jan 2022 17:11:21 +0100 + +linux (5.15.0-16.16) jammy; urgency=medium + + * jammy/linux: 5.15.0-16.16 -proposed tracker (LP: #1956820) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * 5.15 stuck at boot on c4.large (LP: #1956780) + - Revert "PCI/MSI: Mask MSI-X vectors only on success" + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] temporarily disable signed v4l2loopback" + + -- Andrea Righi Sat, 08 Jan 2022 10:57:58 +0100 + +linux (5.15.0-15.15) jammy; urgency=medium + + * jammy/linux: 5.15.0-15.15 -proposed tracker (LP: #1956314) + + * Packaging resync (LP: #1786013) + - update dkms package versions + - debian/dkms-versions -- update from kernel-versions (main/master) + + * rtw88_8821ce causes freeze (LP: #1927808) + - rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE + + * alsa/sdw: fix the audio sdw codec parsing logic in the acpi table + (LP: #1955686) + - ALSA: hda: intel-sdw-acpi: go through HDAS ACPI at max depth of 2 + - ALSA: hda: intel-sdw-acpi: harden detection of controller + + * Got black screen when resume from s2idle with AMD dGPU (LP: #1955790) + - SAUCE: drm/amdgpu: put SMU into proper state on runpm suspending for BOCO + capable platform + - SAUCE: drm/amdgpu: always reset the asic in suspend (v2) + + * Fix USB3 detection on HP dock (LP: #1955443) + - usb: hub: Add delay for SuperSpeed hub resume to let links transit to U0 + + * support signed v4l2loopback dkms build (LP: #1938531) + - enable v4l2loopback builds on amd64 kernels + - support v4l2loopback dkms build + + * Jammy update: v5.15.12 upstream stable release (LP: #1956305) + - arm64: vdso32: require CROSS_COMPILE_COMPAT for gcc+bfd + - net: usb: lan78xx: add Allied Telesis AT29M2-AF + - ext4: prevent partial update of the extent blocks + - ext4: check for out-of-order index extents in ext4_valid_extent_entries() + - ext4: check for inconsistent extents between index and leaf block + - selftests: KVM: Fix non-x86 compiling + - HID: holtek: fix mouse probing + - HID: potential dereference of null pointer + - NFSD: Fix READDIR buffer overflow + - PM: sleep: Fix error handling in dpm_prepare() + - arm64: dts: allwinner: orangepi-zero-plus: fix PHY mode + - bus: sunxi-rsb: Fix shutdown + - spi: change clk_disable_unprepare to clk_unprepare + - ucounts: Fix rlimit max values check + - drm/mediatek: hdmi: Perform NULL pointer check for mtk_hdmi_conf + - ASoC: meson: aiu: fifo: Add missing dma_coerce_mask_and_coherent() + - RDMA/hns: Fix RNR retransmission issue for HIP08 + - IB/qib: Fix memory leak in qib_user_sdma_queue_pkts() + - RDMA/hns: Replace kfree() with kvfree() + - netfilter: nf_tables: fix use-after-free in nft_set_catchall_destroy() + - netfilter: fix regression in looped (broad|multi)cast's MAC handling + - ARM: dts: imx6qdl-wandboard: Fix Ethernet support + - ice: Use xdp_buf instead of rx_buf for xsk zero-copy + - ice: xsk: return xsk buffers back to pool when cleaning the ring + - net: marvell: prestera: fix incorrect return of port_find + - net: marvell: prestera: fix incorrect structure access + - qlcnic: potential dereference null pointer of rx_queue->page_ring + - tcp: move inet->rx_dst_ifindex to sk->sk_rx_dst_ifindex + - ipv6: move inet6_sk(sk)->rx_dst_cookie to sk->sk_rx_dst_cookie + - inet: fully convert sk->sk_rx_dst to RCU rules + - net: accept UFOv6 packages in virtio_net_hdr_to_skb + - net: skip virtio_net_hdr_set_proto if protocol already set + - igb: fix deadlock caused by taking RTNL in RPM resume path + - ipmi: Fix UAF when uninstall ipmi_si and ipmi_msghandler module + - gpio: virtio: remove timeout + - bonding: fix ad_actor_system option setting to default + - fjes: Check for error irq + - drivers: net: smc911x: Check for error irq + - net: ks8851: Check for error irq + - sfc: Check null pointer of rx_queue->page_ring + - sfc: falcon: Check null pointer of rx_queue->page_ring + - asix: fix uninit-value in asix_mdio_read() + - asix: fix wrong return value in asix_check_host_enable() + - io_uring: zero iocb->ki_pos for stream file types + - veth: ensure skb entering GRO are not cloned. + - net: stmmac: ptp: fix potentially overflowing expression + - net: bridge: Use array_size() helper in copy_to_user() + - net: bridge: fix ioctl old_deviceless bridge argument + - r8152: fix the force speed doesn't work for RTL8156 + - net: stmmac: dwmac-visconti: Fix value of ETHER_CLK_SEL_FREQ_SEL_2P5M + - pinctrl: bcm2835: Change init order for gpio hogs + - hwmon: (lm90) Fix usage of CONFIG2 register in detect function + - hwmon: (lm90) Prevent integer overflow/underflow in hysteresis calculations + - hwmon: (lm90) Introduce flag indicating extended temperature support + - hwmon: (lm90) Add basic support for TI TMP461 + - hwmon: (lm90) Drop critical attribute support for MAX6654 + - ARM: 9160/1: NOMMU: Reload __secondary_data after PROCINFO_INITFUNC + - uapi: Fix undefined __always_inline on non-glibc systems + - compiler.h: Fix annotation macro misplacement with Clang + - platform/x86/intel: Remove X86_PLATFORM_DRIVERS_INTEL + - kernel/crash_core: suppress unknown crashkernel parameter warning + - Revert "x86/boot: Pull up cmdline preparation and early param parsing" + - x86/boot: Move EFI range reservation after cmdline parsing + - ALSA: jack: Check the return value of kstrdup() + - ALSA: drivers: opl3: Fix incorrect use of vp->state + - ALSA: rawmidi - fix the uninitalized user_pversion + - ALSA: hda/hdmi: Disable silent stream on GLK + - ALSA: hda/realtek: Amp init fixup for HP ZBook 15 G6 + - ALSA: hda/realtek: Add new alc285-hp-amp-init model + - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook + - ALSA: hda/realtek: Fix quirk for Clevo NJ51CU + - ASoC: meson: aiu: Move AIU_I2S_MISC hold setting to aiu-fifo-i2s + - ASoC: tegra: Add DAPM switches for headphones and mic jack + - ASoC: tegra: Restore headphones jack name on Nyan Big + - Input: atmel_mxt_ts - fix double free in mxt_read_info_block + - ipmi: bail out if init_srcu_struct fails + - ipmi: ssif: initialize ssif_info->client early + - ipmi: fix initialization when workqueue allocation fails + - parisc: Correct completer in lws start + - parisc: Fix mask used to select futex spinlock + - tee: handle lookup of shm with reference count 0 + - x86/pkey: Fix undefined behaviour with PKRU_WD_BIT + - platform/x86: amd-pmc: only use callbacks for suspend + - platform/x86: intel_pmc_core: fix memleak on registration failure + - KVM: x86: Always set kvm_run->if_flag + - KVM: x86/mmu: Don't advance iterator after restart due to yielding + - KVM: nVMX: Synthesize TRIPLE_FAULT for L2 if emulation is required + - KVM: VMX: Always clear vmx->fail on emulation_required + - KVM: VMX: Wake vCPU when delivering posted IRQ even if vCPU == this vCPU + - pinctrl: stm32: consider the GPIO offset to expose all the GPIO lines + - gpio: dln2: Fix interrupts when replugging the device + - mmc: sdhci-tegra: Fix switch to HS400ES mode + - mmc: meson-mx-sdhc: Set MANUAL_STOP for multi-block SDIO commands + - mmc: core: Disable card detect during shutdown + - mmc: mmci: stm32: clear DLYB_CR after sending tuning command + - ARM: 9169/1: entry: fix Thumb2 bug in iWMMXt exception handling + - ksmbd: fix error code in ndr_read_int32() + - ksmbd: fix uninitialized symbol 'pntsd_size' + - ksmbd: disable SMB2_GLOBAL_CAP_ENCRYPTION for SMB 3.1.1 + - mac80211: fix locking in ieee80211_start_ap error path + - mm: mempolicy: fix THP allocations escaping mempolicy restrictions + - mm, hwpoison: fix condition in free hugetlb page path + - mm/hwpoison: clear MF_COUNT_INCREASED before retrying get_any_page() + - mm/damon/dbgfs: protect targets destructions with kdamond_lock + - tee: optee: Fix incorrect page free bug + - f2fs: fix to do sanity check on last xattr entry in __f2fs_setxattr() + - netfs: fix parameter of cleanup() + - KVM: VMX: Fix stale docs for kvm-intel.emulate_invalid_guest_state + - arm64: dts: lx2160a: fix scl-gpios property name + - kfence: fix memory leak when cat kfence objects + - Input: iqs626a - prohibit inlining of channel parsing functions + - Input: elants_i2c - do not check Remark ID on eKTH3900/eKTH5312 + - Input: goodix - add id->model mapping for the "9111" model + - ASoC: tas2770: Fix setting of high sample rates + - ASoC: SOF: Intel: pci-tgl: add new ADL-P variant + - ASoC: SOF: Intel: pci-tgl: add ADL-N support + - ASoC: rt5682: fix the wrong jack type detected + - pinctrl: mediatek: fix global-out-of-bounds issue + - hwmom: (lm90) Fix citical alarm status for MAX6680/MAX6681 + - hwmon: (lm90) Do not report 'busy' status bit as alarm + - r8152: sync ocp base + - ax25: NPD bug when detaching AX25 device + - hamradio: defer ax25 kfree after unregister_netdev + - hamradio: improve the incomplete fix to avoid NPD + - tun: avoid double free in tun_free_netdev + - phonet/pep: refuse to enable an unbound pipe + - Linux 5.15.12 + + * Thinkpad E14 Gen2: Kernel panic with trackpad and trackpoint enabled + (LP: #1945590) // Jammy update: v5.15.12 upstream stable release + (LP: #1956305) + - Input: elantech - fix stack out of bound access in + elantech_change_report_id() + + * Jammy update: v5.15.11 upstream stable release (LP: #1956302) + - reset: tegra-bpmp: Revert Handle errors in BPMP response + - KVM: VMX: clear vmx_x86_ops.sync_pir_to_irr if APICv is disabled + - KVM: selftests: Make sure kvm_create_max_vcpus test won't hit RLIMIT_NOFILE + - KVM: downgrade two BUG_ONs to WARN_ON_ONCE + - x86/kvm: remove unused ack_notifier callbacks + - KVM: X86: Fix tlb flush for tdp in kvm_invalidate_pcid() + - mac80211: fix rate control for retransmitted frames + - mac80211: fix regression in SSN handling of addba tx + - mac80211: mark TX-during-stop for TX in in_reconfig + - mac80211: send ADDBA requests using the tid/queue of the aggregation session + - mac80211: validate extended element ID is present + - firmware: arm_scpi: Fix string overflow in SCPI genpd driver + - bpf: Fix kernel address leakage in atomic fetch + - bpf, selftests: Add test case for atomic fetch on spilled pointer + - bpf: Fix signed bounds propagation after mov32 + - bpf: Make 32->64 bounds propagation slightly more robust + - bpf, selftests: Add test case trying to taint map value pointer + - bpf: Fix kernel address leakage in atomic cmpxchg's r0 aux reg + - bpf, selftests: Update test case for atomic cmpxchg on r0 with pointer + - vduse: fix memory corruption in vduse_dev_ioctl() + - vduse: check that offset is within bounds in get_config() + - virtio_ring: Fix querying of maximum DMA mapping size for virtio device + - vdpa: check that offsets are within bounds + - s390/entry: fix duplicate tracking of irq nesting level + - recordmcount.pl: look for jgnop instruction as well as bcrl on s390 + - arm64: dts: ten64: remove redundant interrupt declaration for gpio-keys + - ceph: fix up non-directory creation in SGID directories + - dm btree remove: fix use after free in rebalance_children() + - audit: improve robustness of the audit queue handling + - btrfs: convert latest_bdev type to btrfs_device and rename + - btrfs: use latest_dev in btrfs_show_devname + - btrfs: update latest_dev when we create a sprout device + - btrfs: remove stale comment about the btrfs_show_devname + - scsi: ufs: core: Retry START_STOP on UNIT_ATTENTION + - arm64: dts: rockchip: remove mmc-hs400-enhanced-strobe from rk3399-khadas- + edge + - arm64: dts: rockchip: fix rk3308-roc-cc vcc-sd supply + - arm64: dts: rockchip: fix rk3399-leez-p710 vcc3v3-lan supply + - arm64: dts: rockchip: fix audio-supply for Rock Pi 4 + - arm64: dts: rockchip: fix poweroff on helios64 + - dmaengine: idxd: add halt interrupt support + - dmaengine: idxd: fix calling wq quiesce inside spinlock + - mac80211: track only QoS data frames for admission control + - tee: amdtee: fix an IS_ERR() vs NULL bug + - ceph: fix duplicate increment of opened_inodes metric + - ceph: initialize pathlen variable in reconnect_caps_cb + - ARM: socfpga: dts: fix qspi node compatible + - arm64: dts: imx8mq: remove interconnect property from lcdif + - clk: Don't parent clks until the parent is fully registered + - soc: imx: Register SoC device only on i.MX boards + - iwlwifi: mvm: don't crash on invalid rate w/o STA + - virtio: always enter drivers/virtio/ + - virtio/vsock: fix the transport to work with VMADDR_CID_ANY + - vdpa: Consider device id larger than 31 + - Revert "drm/fb-helper: improve DRM fbdev emulation device names" + - selftests: net: Correct ping6 expected rc from 2 to 1 + - s390/kexec_file: fix error handling when applying relocations + - sch_cake: do not call cake_destroy() from cake_init() + - inet_diag: fix kernel-infoleak for UDP sockets + - netdevsim: don't overwrite read only ethtool parms + - selftests: icmp_redirect: pass xfail=0 to log_test() + - net: hns3: fix use-after-free bug in hclgevf_send_mbx_msg + - net: hns3: fix race condition in debugfs + - selftests: Add duplicate config only for MD5 VRF tests + - selftests: Fix raw socket bind tests with VRF + - selftests: Fix IPv6 address bind tests + - dmaengine: idxd: fix missed completion on abort path + - dmaengine: st_fdma: fix MODULE_ALIAS + - drm: simpledrm: fix wrong unit with pixel clock + - net/sched: sch_ets: don't remove idle classes from the round-robin list + - selftests/net: toeplitz: fix udp option + - net: dsa: mv88e6xxx: Unforce speed & duplex in mac_link_down() + - selftest/net/forwarding: declare NETIFS p9 p10 + - mptcp: never allow the PM to close a listener subflow + - drm/ast: potential dereference of null pointer + - drm/i915/display: Fix an unsigned subtraction which can never be negative. + - mac80211: agg-tx: don't schedule_and_wake_txq() under sta->lock + - cfg80211: Acquire wiphy mutex on regulatory work + - mac80211: fix lookup when adding AddBA extension element + - net: stmmac: fix tc flower deletion for VLAN priority Rx steering + - flow_offload: return EOPNOTSUPP for the unsupported mpls action type + - rds: memory leak in __rds_conn_create() + - ice: Use div64_u64 instead of div_u64 in adjfine + - ice: Don't put stale timestamps in the skb + - drm/amd/display: Set exit_optimized_pwr_state for DCN31 + - drm/amd/pm: fix a potential gpu_metrics_table memory leak + - mptcp: remove tcp ulp setsockopt support + - mptcp: clear 'kern' flag from fallback sockets + - mptcp: fix deadlock in __mptcp_push_pending() + - soc/tegra: fuse: Fix bitwise vs. logical OR warning + - igb: Fix removal of unicast MAC filters of VFs + - igbvf: fix double free in `igbvf_probe` + - igc: Fix typo in i225 LTR functions + - ixgbe: Document how to enable NBASE-T support + - ixgbe: set X550 MDIO speed before talking to PHY + - netdevsim: Zero-initialize memory for new map's value in function + nsim_bpf_map_alloc + - net/packet: rx_owner_map depends on pg_vec + - net: stmmac: dwmac-rk: fix oob read in rk_gmac_setup + - sfc_ef100: potential dereference of null pointer + - dsa: mv88e6xxx: fix debug print for SPEED_UNFORCED + - net: Fix double 0x prefix print in SKB dump + - net/smc: Prevent smc_release() from long blocking + - net: systemport: Add global locking for descriptor lifecycle + - sit: do not call ipip6_dev_free() from sit_init_net() + - afs: Fix mmap + - arm64: kexec: Fix missing error code 'ret' warning in load_other_segments() + - bpf: Fix extable fixup offset. + - bpf, selftests: Fix racing issue in btf_skc_cls_ingress test + - powerpc/85xx: Fix oops when CONFIG_FSL_PMC=n + - USB: gadget: bRequestType is a bitfield, not a enum + - Revert "usb: early: convert to readl_poll_timeout_atomic()" + - KVM: x86: Drop guest CPUID check for host initiated writes to + MSR_IA32_PERF_CAPABILITIES + - tty: n_hdlc: make n_hdlc_tty_wakeup() asynchronous + - USB: NO_LPM quirk Lenovo USB-C to Ethernet Adapher(RTL8153-04) + - usb: dwc2: fix STM ID/VBUS detection startup delay in dwc2_driver_probe + - PCI/MSI: Clear PCI_MSIX_FLAGS_MASKALL on error + - PCI/MSI: Mask MSI-X vectors only on success + - usb: xhci-mtk: fix list_del warning when enable list debug + - usb: xhci: Extend support for runtime power management for AMD's Yellow + carp. + - usb: cdnsp: Fix incorrect status for control request + - usb: cdnsp: Fix incorrect calling of cdnsp_died function + - usb: cdnsp: Fix issue in cdnsp_log_ep trace event + - usb: cdnsp: Fix lack of spin_lock_irqsave/spin_lock_restore + - usb: typec: tcpm: fix tcpm unregister port but leave a pending timer + - usb: gadget: u_ether: fix race in setting MAC address in setup phase + - USB: serial: cp210x: fix CP2105 GPIO registration + - USB: serial: option: add Telit FN990 compositions + - selinux: fix sleeping function called from invalid context + - btrfs: fix memory leak in __add_inode_ref() + - btrfs: fix double free of anon_dev after failure to create subvolume + - btrfs: check WRITE_ERR when trying to read an extent buffer + - btrfs: fix missing blkdev_put() call in btrfs_scan_one_device() + - zonefs: add MODULE_ALIAS_FS + - iocost: Fix divide-by-zero on donation from low hweight cgroup + - serial: 8250_fintek: Fix garbled text for console + - timekeeping: Really make sure wall_to_monotonic isn't positive + - cifs: sanitize multiple delimiters in prepath + - locking/rtmutex: Fix incorrect condition in rtmutex_spin_on_owner() + - riscv: dts: unleashed: Add gpio card detect to mmc-spi-slot + - riscv: dts: unmatched: Add gpio card detect to mmc-spi-slot + - perf inject: Fix segfault due to close without open + - perf inject: Fix segfault due to perf_data__fd() without open + - libata: if T_LENGTH is zero, dma direction should be DMA_NONE + - powerpc/module_64: Fix livepatching for RO modules + - drm/amdgpu: correct register access for RLC_JUMP_TABLE_RESTORE + - drm/amdgpu: don't override default ECO_BITs setting + - drm/amd/pm: fix reading SMU FW version from amdgpu_firmware_info on YC + - Revert "can: m_can: remove support for custom bit timing" + - can: m_can: make custom bittiming fields const + - can: m_can: pci: use custom bit timings for Elkhart Lake + - ARM: dts: imx6ull-pinfunc: Fix CSI_DATA07__ESAI_TX0 pad name + - xsk: Do not sleep in poll() when need_wakeup set + - mptcp: add missing documented NL params + - bpf, x64: Factor out emission of REX byte in more cases + - bpf: Fix extable address check. + - USB: core: Make do_proc_control() and do_proc_bulk() killable + - media: mxl111sf: change mutex_init() location + - fuse: annotate lock in fuse_reverse_inval_entry() + - ovl: fix warning in ovl_create_real() + - scsi: scsi_debug: Don't call kcalloc() if size arg is zero + - scsi: scsi_debug: Fix type in min_t to avoid stack OOB + - scsi: scsi_debug: Sanity check block descriptor length in resp_mode_select() + - io-wq: remove spurious bit clear on task_work addition + - io-wq: check for wq exit after adding new worker task_work + - rcu: Mark accesses to rcu_state.n_force_qs + - io-wq: drop wqe lock before creating new worker + - bus: ti-sysc: Fix variable set but not used warning for reinit_modules + - selftests/damon: test debugfs file reads/writes with huge count + - Revert "xsk: Do not sleep in poll() when need_wakeup set" + - xen/blkfront: harden blkfront against event channel storms + - xen/netfront: harden netfront against event channel storms + - xen/console: harden hvc_xen against event channel storms + - xen/netback: fix rx queue stall detection + - xen/netback: don't queue unlimited number of packages + - Linux 5.15.11 + + * Jammy update: v5.15.10 upstream stable release (LP: #1956301) + - nfc: fix segfault in nfc_genl_dump_devices_done + - hwmon: (corsair-psu) fix plain integer used as NULL pointer + - RDMA: Fix use-after-free in rxe_queue_cleanup + - RDMA/mlx5: Fix releasing unallocated memory in dereg MR flow + - mtd: rawnand: Fix nand_erase_op delay + - mtd: rawnand: Fix nand_choose_best_timings() on unsupported interface + - inet: use #ifdef CONFIG_SOCK_RX_QUEUE_MAPPING consistently + - dt-bindings: media: nxp,imx7-mipi-csi2: Drop bad if/then schema + - clk: qcom: sm6125-gcc: Swap ops of ice and apps on sdcc1 + - perf bpf_skel: Do not use typedef to avoid error on old clang + - netfs: Fix lockdep warning from taking sb_writers whilst holding mmap_lock + - RDMA/irdma: Fix a user-after-free in add_pble_prm + - RDMA/irdma: Fix a potential memory allocation issue in + 'irdma_prm_add_pble_mem()' + - RDMA/irdma: Report correct WC errors + - RDMA/irdma: Don't arm the CQ more than two times if no CE for this CQ + - ice: fix FDIR init missing when reset VF + - vmxnet3: fix minimum vectors alloc issue + - i2c: virtio: fix completion handling + - drm/msm: Fix null ptr access msm_ioctl_gem_submit() + - drm/msm/a6xx: Fix uinitialized use of gpu_scid + - drm/msm/dsi: set default num_data_lanes + - drm/msm/dp: Avoid unpowered AUX xfers that caused crashes + - KVM: arm64: Save PSTATE early on exit + - s390/test_unwind: use raw opcode instead of invalid instruction + - Revert "tty: serial: fsl_lpuart: drop earlycon entry for i.MX8QXP" + - net/mlx4_en: Update reported link modes for 1/10G + - loop: Use pr_warn_once() for loop_control_remove() warning + - ALSA: hda: Add Intel DG2 PCI ID and HDMI codec vid + - ALSA: hda/hdmi: fix HDA codec entry table order for ADL-P + - parisc/agp: Annotate parisc agp init functions with __init + - i2c: rk3x: Handle a spurious start completion interrupt flag + - net: netlink: af_netlink: Prevent empty skb by adding a check on len. + - drm/amdgpu: cancel the correct hrtimer on exit + - drm/amdgpu: check atomic flag to differeniate with legacy path + - drm/amd/display: Fix for the no Audio bug with Tiled Displays + - drm/amdkfd: fix double free mem structure + - drm/amd/display: add connector type check for CRC source set + - drm/amdkfd: process_info lock not needed for svm + - tracing: Fix a kmemleak false positive in tracing_map + - staging: most: dim2: use device release method + - fuse: make sure reclaim doesn't write the inode + - perf inject: Fix itrace space allowed for new attributes + - Linux 5.15.10 + + * Jammy update: v5.15.9 upstream stable release (LP: #1955161) + - netfilter: selftest: conntrack_vrf.sh: fix file permission + - Linux 5.15.9 + + * [SRU][I/J/OEM-5.13/OEM-5.14] Fix pci port lost when hotplug dock + (LP: #1954646) + - PCI: Re-enable Downstream Port LTR after reset or hotplug + + * Add support for NVIDIA EC backlight (LP: #1953286) + - platform/x86: Add driver for ACPI WMAA EC-based backlight control + - platform/x86: Remove "WMAA" from identifier names in wmaa-backlight-wmi.c + - platform/x86: Rename wmaa-backlight-wmi to nvidia-wmi-ec-backlight + - [Config] NVIDIA_WMI_EC_BACKLIGHT=m + + * Improve USB Type-C support (LP: #1950974) + - usb: typec: ucsi: Always cancel the command if PPM reports BUSY condition + - usb: typec: ucsi: Don't stop alt mode registration on busy condition + - usb: typec: ucsi: Add polling mechanism for partner tasks like alt mode + checking + - usb: typec: ucsi: acpi: Reduce the command completion timeout + - usb: typec: ucsi: Check the partner alt modes always if there is PD contract + - usb: typec: ucsi: Read the PDOs in separate work + - usb: typec: ucsi: Better fix for missing unplug events issue + + * Fix power button wakeup with shared IRQs on AMD platforms (LP: #1953540) + - pinctrl: amd: Fix wakeups when IRQ is shared with SCI + + * AMD: Suspend not working when some cores are disabled through cpufreq + (LP: #1954930) + - ACPI: processor idle: Allow playing dead in C3 state + + * Jammy update: v5.15.8 upstream stable release (LP: #1954931) + - Revert "UBUNTU: SAUCE: selftests: fib_tests: assign address to dummy1 for + rp_filter tests" + - usb: gadget: uvc: fix multiple opens + - HID: quirks: Add quirk for the Microsoft Surface 3 type-cover + - HID: google: add eel USB id + - HID: intel-ish-hid: ipc: only enable IRQ wakeup when requested + - HID: add hid_is_usb() function to make it simpler for USB detection + - HID: add USB_HID dependancy to hid-prodikeys + - HID: add USB_HID dependancy to hid-chicony + - HID: add USB_HID dependancy on some USB HID drivers + - HID: bigbenff: prevent null pointer dereference + - HID: wacom: fix problems when device is not a valid USB device + - HID: check for valid USB device for many HID drivers + - mtd: dataflash: Add device-tree SPI IDs + - mmc: spi: Add device-tree SPI IDs + - HID: sony: fix error path in probe + - HID: Ignore battery for Elan touchscreen on Asus UX550VE + - platform/x86/intel: hid: add quirk to support Surface Go 3 + - nft_set_pipapo: Fix bucket load in AVX2 lookup routine for six 8-bit groups + - IB/hfi1: Insure use of smp_processor_id() is preempt disabled + - IB/hfi1: Fix early init panic + - IB/hfi1: Fix leak of rcvhdrtail_dummy_kvaddr + - can: kvaser_usb: get CAN clock frequency from device + - can: kvaser_pciefd: kvaser_pciefd_rx_error_frame(): increase correct + stats->{rx,tx}_errors counter + - can: sja1000: fix use after free in ems_pcmcia_add_card() + - can: pch_can: pch_can_rx_normal: fix use after free + - can: m_can: m_can_read_fifo: fix memory leak in error branch + - can: m_can: pci: fix incorrect reference clock rate + - can: m_can: pci: fix iomap_read_fifo() and iomap_write_fifo() + - can: m_can: Disable and ignore ELO interrupt + - net: dsa: mv88e6xxx: fix "don't use PHY_DETECT on internal PHY's" + - net: dsa: mv88e6xxx: allow use of PHYs on CPU and DSA ports + - x86/sme: Explicitly map new EFI memmap table as encrypted + - platform/x86: amd-pmc: Fix s2idle failures on certain AMD laptops + - nfc: fix potential NULL pointer deref in nfc_genl_dump_ses_done + - selftests: netfilter: add a vrf+conntrack testcase + - vrf: don't run conntrack on vrf with !dflt qdisc + - bpf, x86: Fix "no previous prototype" warning + - bpf, sockmap: Attach map progs to psock early for feature probes + - bpf: Make sure bpf_disable_instrumentation() is safe vs preemption. + - bpf: Fix the off-by-two error in range markings + - ice: ignore dropped packets during init + - ethtool: do not perform operations on net devices being unregistered + - bonding: make tx_rebalance_counter an atomic + - nfp: Fix memory leak in nfp_cpp_area_cache_add() + - udp: using datalen to cap max gso segments + - netfilter: nft_exthdr: break evaluation if setting TCP option fails + - netfilter: conntrack: annotate data-races around ct->timeout + - iavf: restore MSI state on reset + - iavf: Fix reporting when setting descriptor count + - IB/hfi1: Correct guard on eager buffer deallocation + - devlink: fix netns refcount leak in devlink_nl_cmd_reload() + - net: bcm4908: Handle dma_set_coherent_mask error codes + - net: dsa: mv88e6xxx: error handling for serdes_power functions + - net: dsa: felix: Fix memory leak in felix_setup_mmio_filtering + - net/sched: fq_pie: prevent dismantle issue + - net: mvpp2: fix XDP rx queues registering + - KVM: x86: Don't WARN if userspace mucks with RCX during string I/O exit + - KVM: x86: Ignore sparse banks size for an "all CPUs", non-sparse IPI req + - KVM: x86: Wait for IPIs to be delivered when handling Hyper-V TLB flush + hypercall + - timers: implement usleep_idle_range() + - mm/damon/core: fix fake load reports due to uninterruptible sleeps + - mm/slub: fix endianness bug for alloc/free_traces attributes + - mm: bdi: initialize bdi_min_ratio when bdi is unregistered + - ALSA: ctl: Fix copy of updated id with element read/write + - ALSA: hda/realtek - Add headset Mic support for Lenovo ALC897 platform + - ALSA: hda/realtek: Fix quirk for TongFang PHxTxX1 + - ALSA: pcm: oss: Fix negative period/buffer sizes + - ALSA: pcm: oss: Limit the period size to 16MB + - ALSA: pcm: oss: Handle missing errors in snd_pcm_oss_change_params*() + - cifs: Fix crash on unload of cifs_arc4.ko + - scsi: qla2xxx: Format log strings only if needed + - btrfs: clear extent buffer uptodate when we fail to write it + - btrfs: fix re-dirty process of tree-log nodes + - btrfs: replace the BUG_ON in btrfs_del_root_ref with proper error handling + - btrfs: free exchange changeset on failures + - perf intel-pt: Fix some PGE (packet generation enable/control flow packets) + usage + - perf intel-pt: Fix sync state when a PSB (synchronization) packet is found + - perf intel-pt: Fix intel_pt_fup_event() assumptions about setting state type + - perf intel-pt: Fix state setting when receiving overflow (OVF) packet + - perf intel-pt: Fix next 'err' value, walking trace + - perf intel-pt: Fix missing 'instruction' events with 'q' option + - perf intel-pt: Fix error timestamp setting on the decoder error path + - md: fix update super 1.0 on rdev size change + - nfsd: fix use-after-free due to delegation race + - nfsd: Fix nsfd startup race (again) + - tracefs: Have new files inherit the ownership of their parent + - selftests: KVM: avoid failures due to reserved HyperTransport region + - hwmon: (pwm-fan) Ensure the fan going on in .probe() + - mmc: renesas_sdhi: initialize variable properly when tuning + - clk: qcom: regmap-mux: fix parent clock lookup + - thermal: int340x: Fix VCoRefLow MMIO bit offset for TGL + - drm/syncobj: Deal with signalled fences in drm_syncobj_find_fence. + - libata: add horkage for ASMedia 1092 + - io_uring: ensure task_work gets run as part of cancelations + - wait: add wake_up_pollfree() + - binder: use wake_up_pollfree() + - signalfd: use wake_up_pollfree() + - aio: keep poll requests on waitqueue until completed + - aio: fix use-after-free due to missing POLLFREE handling + - tracefs: Set all files to the same group ownership as the mount option + - i2c: mpc: Use atomic read and fix break condition + - block: fix ioprio_get(IOPRIO_WHO_PGRP) vs setuid(2) + - scsi: pm80xx: Do not call scsi_remove_host() in pm8001_alloc() + - scsi: scsi_debug: Fix buffer size of REPORT ZONES command + - ALSA: usb-audio: Reorder snd_djm_devices[] entries + - qede: validate non LSO skb length + - PM: runtime: Fix pm_runtime_active() kerneldoc comment + - ASoC: rt5682: Fix crash due to out of scope stack vars + - ASoC: qdsp6: q6routing: Fix return value from msm_routing_put_audio_mixer + - ASoC: codecs: wsa881x: fix return values from kcontrol put + - ASoC: codecs: wcd934x: handle channel mappping list correctly + - ASoC: codecs: wcd934x: return correct value from mixer put + - RDMA/hns: Do not halt commands during reset until later + - RDMA/hns: Do not destroy QP resources in the hw resetting phase + - hwmon: (dell-smm) Fix warning on /proc/i8k creation error + - clk: imx: use module_platform_driver + - clk: qcom: clk-alpha-pll: Don't reconfigure running Trion + - i40e: Fix failed opcode appearing if handling messages from VF + - i40e: Fix pre-set max number of queues for VF + - mtd: rawnand: fsmc: Take instruction delay into account + - mtd: rawnand: fsmc: Fix timing computation + - bpf, sockmap: Re-evaluate proto ops when psock is removed from sockmap + - i40e: Fix NULL pointer dereference in i40e_dbg_dump_desc + - Revert "PCI: aardvark: Fix support for PCI_ROM_ADDRESS1 on emulated bridge" + - drm/amd/display: Fix DPIA outbox timeout after S3/S4/reset + - perf tools: Fix SMT detection fast read path + - Documentation/locking/locktypes: Update migrate_disable() bits. + - dt-bindings: net: Reintroduce PHY no lane swap binding + - tools build: Remove needless libpython-version feature check that breaks + test-all fast path + - net: cdc_ncm: Allow for dwNtbOutMaxSize to be unset or zero + - net: altera: set a couple error code in probe() + - net: fec: only clear interrupt of handling queue in fec_enet_rx_queue() + - net, neigh: clear whole pneigh_entry at alloc time + - net/qla3xxx: fix an error code in ql_adapter_up() + - selftests/fib_tests: Rework fib_rp_filter_test() + - USB: gadget: detect too-big endpoint 0 requests + - USB: gadget: zero allocate endpoint 0 buffers + - Revert "usb: dwc3: dwc3-qcom: Enable tx-fifo-resize property by default" + - usb: core: config: fix validation of wMaxPacketValue entries + - usb: core: config: using bit mask instead of individual bits + - xhci: avoid race between disable slot command and host runtime suspend + - iio: gyro: adxrs290: fix data signedness + - iio: trigger: Fix reference counting + - iio: trigger: stm32-timer: fix MODULE_ALIAS + - iio: stk3310: Don't return error code in interrupt handler + - iio: mma8452: Fix trigger reference couting + - iio: ltr501: Don't return error code in trigger handler + - iio: kxsd9: Don't return error code in trigger handler + - iio: itg3200: Call iio_trigger_notify_done() on error + - iio: dln2-adc: Fix lockdep complaint + - iio: dln2: Check return value of devm_iio_trigger_register() + - iio: at91-sama5d2: Fix incorrect sign extension + - iio: adc: stm32: fix a current leak by resetting pcsel before disabling vdda + - iio: adc: axp20x_adc: fix charging current reporting on AXP22x + - iio: ad7768-1: Call iio_trigger_notify_done() on error + - iio: accel: kxcjk-1013: Fix possible memory leak in probe and remove + - nvmem: eeprom: at25: fix FRAM byte_len + - bus: mhi: pci_generic: Fix device recovery failed issue + - bus: mhi: core: Add support for forced PM resume + - csky: fix typo of fpu config macro + - irqchip/aspeed-scu: Replace update_bits with write_bits. + - irqchip/armada-370-xp: Fix return value of armada_370_xp_msi_alloc() + - irqchip/armada-370-xp: Fix support for Multi-MSI interrupts + - aio: Fix incorrect usage of eventfd_signal_allowed() + - irqchip/irq-gic-v3-its.c: Force synchronisation when issuing INVALL + - irqchip: nvic: Fix offset for Interrupt Priority Offsets + - misc: fastrpc: fix improper packet size calculation + - clocksource/drivers/dw_apb_timer_of: Fix probe failure + - bpf: Add selftests to cover packet access corner cases + - Linux 5.15.8 + + * Can't read/write SD card after running CPU offline test in 5.11.0 and 5.13.0 + (LP: #1951784) // Jammy update: v5.15.8 upstream stable release + (LP: #1954931) + - misc: rtsx: Avoid mangling IRQ during runtime PM + + * Enable Landlock by default (LP: #1953192) + - [Config] Enable Landlock by default + + * Add s0i3 RTC wake up for AMD systems (LP: #1950013) + - platform/x86: amd-pmc: Export Idlemask values based on the APU + - platform/x86: amd-pmc: adjust arguments for `amd_pmc_send_cmd` + - platform/x86: amd-pmc: Add special handling for timer based S0i3 wakeup + + * Fix runtime power management on USB controller with XHCI_RESET_ON_RESUME + flag (LP: #1954369) + - SAUCE: xhci: Remove CONFIG_USB_DEFAULT_PERSIST to prevent xHCI from runtime + suspending + + * Fix System hangs on black screen when reboot (LP: #1949321) + - drm/i915/hdmi: convert intel_hdmi_to_dev to intel_hdmi_to_i915 + - drm/i915: Don't request GMBUS to generate irqs when called while irqs are + off + - drm/i915/hdmi: Turn DP++ TMDS output buffers back on in encoder->shutdown() + + * require CAP_NET_ADMIN to attach N_HCI ldisc (LP: #1949516) + - Bluetooth: hci_ldisc: require CAP_NET_ADMIN to attach N_HCI ldisc + + * mt7921e: Failed to start WM firmware (LP: #1954300) + - SAUCE: Bluetooth: btusb: Handle download_firmware failure cases + - SAUCE: Bluetooth: btusb: Return error code when getting patch status failed + + * Miscellaneous Ubuntu changes + - [Packaging] Add list of built-in modules to the ABI + - [Packaging] abi-check: Process modules.builtin + - SAUCE: allow to use __wake_up_pollfree() from GPL modules + - [Packaging] enforce xz compression for debs + - [Config] update config after v5.15.12 + - [Packaging] temporarily disable signed v4l2loopback + + -- Andrea Righi Tue, 04 Jan 2022 11:22:10 +0100 + +linux (5.15.0-14.14) jammy; urgency=medium + + * jammy/linux: 5.15.0-14.14 -proposed tracker (LP: #1954627) + + * Jammy update: v5.15.7 upstream stable release (LP: #1953731) + - ALSA: usb-audio: Restrict rates for the shared clocks + - ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback + - ALSA: usb-audio: Disable low-latency playback for free-wheel mode + - ALSA: usb-audio: Disable low-latency mode for implicit feedback sync + - ALSA: usb-audio: Check available frames for the next packet size + - ALSA: usb-audio: Add spinlock to stop_urbs() + - ALSA: usb-audio: Improved lowlatency playback support + - ALSA: usb-audio: Avoid killing in-flight URBs during draining + - ALSA: usb-audio: Fix packet size calculation regression + - ALSA: usb-audio: Less restriction for low-latency playback mode + - ALSA: usb-audio: Switch back to non-latency mode at a later point + - ALSA: usb-audio: Don't start stream for capture at prepare + - gfs2: release iopen glock early in evict + - gfs2: Fix length of holes reported at end-of-file + - powerpc/pseries/ddw: Revert "Extend upper limit for huge DMA window for + persistent memory" + - powerpc/pseries/ddw: Do not try direct mapping with persistent memory and + one window + - drm/sun4i: fix unmet dependency on RESET_CONTROLLER for PHY_SUN6I_MIPI_DPHY + - mac80211: do not access the IV when it was stripped + - mac80211: fix throughput LED trigger + - x86/hyperv: Move required MSRs check to initial platform probing + - net/smc: Transfer remaining wait queue entries during fallback + - atlantic: Fix OOB read and write in hw_atl_utils_fw_rpc_wait + - net: return correct error code + - pinctrl: qcom: fix unmet dependencies on GPIOLIB for GPIOLIB_IRQCHIP + - platform/x86: dell-wmi-descriptor: disable by default + - platform/x86: thinkpad_acpi: Add support for dual fan control + - platform/x86: thinkpad_acpi: Fix WWAN device disabled issue after S3 deep + - s390/setup: avoid using memblock_enforce_memory_limit + - btrfs: silence lockdep when reading chunk tree during mount + - btrfs: check-integrity: fix a warning on write caching disabled disk + - thermal: core: Reset previous low and high trip during thermal zone init + - scsi: iscsi: Unblock session then wake up error handler + - drm/amd/pm: Remove artificial freq level on Navi1x + - drm/amd/amdkfd: Fix kernel panic when reset failed and been triggered again + - drm/amd/amdgpu: fix potential memleak + - ata: ahci: Add Green Sardine vendor ID as board_ahci_mobile + - ata: libahci: Adjust behavior when StorageD3Enable _DSD is set + - ethernet: hisilicon: hns: hns_dsaf_misc: fix a possible array overflow in + hns_dsaf_ge_srst_by_port() + - ipv6: check return value of ipv6_skip_exthdr + - net: tulip: de4x5: fix the problem that the array 'lp->phy[8]' may be out of + bound + - net: ethernet: dec: tulip: de4x5: fix possible array overflows in + type3_infoblock() + - perf sort: Fix the 'weight' sort key behavior + - perf sort: Fix the 'ins_lat' sort key behavior + - perf sort: Fix the 'p_stage_cyc' sort key behavior + - perf inject: Fix ARM SPE handling + - perf hist: Fix memory leak of a perf_hpp_fmt + - perf report: Fix memory leaks around perf_tip() + - tracing: Don't use out-of-sync va_list in event printing + - net/smc: Avoid warning of possible recursive locking + - ACPI: Add stubs for wakeup handler functions + - net/tls: Fix authentication failure in CCM mode + - vrf: Reset IPCB/IP6CB when processing outbound pkts in vrf dev xmit + - kprobes: Limit max data_size of the kretprobe instances + - ALSA: hda/cs8409: Set PMSG_ON earlier inside cs8409 driver + - rt2x00: do not mark device gone on EPROTO errors during start + - ipmi: Move remove_work to dedicated workqueue + - cpufreq: Fix get_cpu_device() failure in add_cpu_dev_symlink() + - iwlwifi: mvm: retry init flow if failed + - dma-buf: system_heap: Use 'for_each_sgtable_sg' in pages free flow + - s390/pci: move pseudo-MMIO to prevent MIO overlap + - fget: check that the fd still exists after getting a ref to it + - sata_fsl: fix UAF in sata_fsl_port_stop when rmmod sata_fsl + - sata_fsl: fix warning in remove_proc_entry when rmmod sata_fsl + - scsi: lpfc: Fix non-recovery of remote ports following an unsolicited LOGO + - scsi: ufs: ufs-pci: Add support for Intel ADL + - ipv6: fix memory leak in fib6_rule_suppress + - drm/amd/display: Allow DSC on supported MST branch devices + - drm/i915/dp: Perform 30ms delay after source OUI write + - KVM: fix avic_set_running for preemptable kernels + - KVM: Disallow user memslot with size that exceeds "unsigned long" + - KVM: x86/mmu: Fix TLB flush range when handling disconnected pt + - KVM: Ensure local memslot copies operate on up-to-date arch-specific data + - KVM: x86: ignore APICv if LAPIC is not enabled + - KVM: nVMX: Emulate guest TLB flush on nested VM-Enter with new vpid12 + - KVM: nVMX: Flush current VPID (L1 vs. L2) for KVM_REQ_TLB_FLUSH_GUEST + - KVM: nVMX: Abide to KVM_REQ_TLB_FLUSH_GUEST request on nested vmentry/vmexit + - KVM: VMX: prepare sync_pir_to_irr for running with APICv disabled + - KVM: x86: Use a stable condition around all VT-d PI paths + - KVM: MMU: shadow nested paging does not have PKU + - KVM: arm64: Avoid setting the upper 32 bits of TCR_EL2 and CPTR_EL2 to 1 + - KVM: X86: Use vcpu->arch.walk_mmu for kvm_mmu_invlpg() + - KVM: x86: check PIR even for vCPUs with disabled APICv + - tracing/histograms: String compares should not care about signed values + - net: dsa: mv88e6xxx: Fix application of erratum 4.8 for 88E6393X + - net: dsa: mv88e6xxx: Drop unnecessary check in + mv88e6393x_serdes_erratum_4_6() + - net: dsa: mv88e6xxx: Save power by disabling SerDes trasmitter and receiver + - net: dsa: mv88e6xxx: Add fix for erratum 5.2 of 88E6393X family + - net: dsa: mv88e6xxx: Fix inband AN for 2500base-x on 88E6393X family + - net: dsa: mv88e6xxx: Link in pcs_get_state() if AN is bypassed + - wireguard: selftests: increase default dmesg log size + - wireguard: allowedips: add missing __rcu annotation to satisfy sparse + - wireguard: selftests: actually test for routing loops + - wireguard: selftests: rename DEBUG_PI_LIST to DEBUG_PLIST + - wireguard: device: reset peer src endpoint when netns exits + - wireguard: receive: use ring buffer for incoming handshakes + - wireguard: receive: drop handshakes if queue lock is contended + - wireguard: ratelimiter: use kvcalloc() instead of kvzalloc() + - i2c: stm32f7: flush TX FIFO upon transfer errors + - i2c: stm32f7: recover the bus on access timeout + - i2c: stm32f7: stop dma transfer in case of NACK + - i2c: cbus-gpio: set atomic transfer callback + - natsemi: xtensa: fix section mismatch warnings + - tcp: fix page frag corruption on page fault + - net: qlogic: qlcnic: Fix a NULL pointer dereference in + qlcnic_83xx_add_rings() + - net: mpls: Fix notifications when deleting a device + - siphash: use _unaligned version by default + - arm64: ftrace: add missing BTIs + - iwlwifi: fix warnings produced by kernel debug options + - net/mlx5e: IPsec: Fix Software parser inner l3 type setting in case of + encapsulation + - net/mlx4_en: Fix an use-after-free bug in mlx4_en_try_alloc_resources() + - selftests: net: Correct case name + - net: dsa: b53: Add SPI ID table + - mt76: mt7915: fix NULL pointer dereference in mt7915_get_phy_mode + - ASoC: tegra: Fix wrong value type in ADMAIF + - ASoC: tegra: Fix wrong value type in I2S + - ASoC: tegra: Fix wrong value type in DMIC + - ASoC: tegra: Fix wrong value type in DSPK + - ASoC: tegra: Fix kcontrol put callback in ADMAIF + - ASoC: tegra: Fix kcontrol put callback in I2S + - ASoC: tegra: Fix kcontrol put callback in DMIC + - ASoC: tegra: Fix kcontrol put callback in DSPK + - ASoC: tegra: Fix kcontrol put callback in AHUB + - rxrpc: Fix rxrpc_peer leak in rxrpc_look_up_bundle() + - rxrpc: Fix rxrpc_local leak in rxrpc_lookup_peer() + - ALSA: intel-dsp-config: add quirk for CML devices based on ES8336 codec + - net: stmmac: Avoid DMA_CHAN_CONTROL write if no Split Header support + - net: usb: lan78xx: lan78xx_phy_init(): use PHY_POLL instead of "0" if no IRQ + is available + - net: marvell: mvpp2: Fix the computation of shared CPUs + - dpaa2-eth: destroy workqueue at the end of remove function + - octeontx2-af: Fix a memleak bug in rvu_mbox_init() + - net: annotate data-races on txq->xmit_lock_owner + - ipv4: convert fib_num_tclassid_users to atomic_t + - net/smc: fix wrong list_del in smc_lgr_cleanup_early + - net/rds: correct socket tunable error in rds_tcp_tune() + - net/smc: Keep smc_close_final rc during active close + - drm/msm/a6xx: Allocate enough space for GMU registers + - drm/msm: Do hw_init() before capturing GPU state + - drm/vc4: kms: Wait for the commit before increasing our clock rate + - drm/vc4: kms: Fix return code check + - drm/vc4: kms: Add missing drm_crtc_commit_put + - drm/vc4: kms: Clear the HVS FIFO commit pointer once done + - drm/vc4: kms: Don't duplicate pending commit + - drm/vc4: kms: Fix previous HVS commit wait + - atlantic: Increase delay for fw transactions + - atlatnic: enable Nbase-t speeds with base-t + - atlantic: Fix to display FW bundle version instead of FW mac version. + - atlantic: Add missing DIDs and fix 115c. + - Remove Half duplex mode speed capabilities. + - atlantic: Fix statistics logic for production hardware + - atlantic: Remove warn trace message. + - KVM: x86/mmu: Skip tlb flush if it has been done in zap_gfn_range() + - KVM: x86/mmu: Pass parameter flush as false in + kvm_tdp_mmu_zap_collapsible_sptes() + - drm/msm/devfreq: Fix OPP refcnt leak + - drm/msm: Fix mmap to include VM_IO and VM_DONTDUMP + - drm/msm: Fix wait_fence submitqueue leak + - drm/msm: Restore error return on invalid fence + - ASoC: rk817: Add module alias for rk817-codec + - iwlwifi: Fix memory leaks in error handling path + - KVM: X86: Fix when shadow_root_level=5 && guest root_level<4 + - KVM: SEV: initialize regions_list of a mirror VM + - net/mlx5e: Fix missing IPsec statistics on uplink representor + - net/mlx5: Move MODIFY_RQT command to ignore list in internal error state + - net/mlx5: E-switch, Respect BW share of the new group + - net/mlx5: E-Switch, fix single FDB creation on BlueField + - net/mlx5: E-Switch, Check group pointer before reading bw_share value + - KVM: x86/pmu: Fix reserved bits for AMD PerfEvtSeln register + - KVM: VMX: Set failure code in prepare_vmcs02() + - mctp: Don't let RTM_DELROUTE delete local routes + - Revert "drm/i915: Implement Wa_1508744258" + - io-wq: don't retry task_work creation failure on fatal conditions + - x86/sev: Fix SEV-ES INS/OUTS instructions for word, dword, and qword + - x86/entry: Add a fence for kernel entry SWAPGS in paranoid_entry() + - x86/entry: Use the correct fence macro after swapgs in kernel CR3 + - x86/xen: Add xenpv_restore_regs_and_return_to_usermode() + - preempt/dynamic: Fix setup_preempt_mode() return value + - sched/uclamp: Fix rq->uclamp_max not set on first enqueue + - KVM: SEV: Return appropriate error codes if SEV-ES scratch setup fails + - KVM: x86/mmu: Rename slot_handle_leaf to slot_handle_level_4k + - KVM: x86/mmu: Remove spurious TLB flushes in TDP MMU zap collapsible path + - net/mlx5e: Rename lro_timeout to packet_merge_timeout + - net/mlx5e: Rename TIR lro functions to TIR packet merge functions + - net/mlx5e: Sync TIR params updates against concurrent create/modify + - serial: 8250_bcm7271: UART errors after resuming from S2 + - parisc: Fix KBUILD_IMAGE for self-extracting kernel + - parisc: Fix "make install" on newer debian releases + - parisc: Mark cr16 CPU clocksource unstable on all SMP machines + - vgacon: Propagate console boot parameters before calling `vc_resize' + - xhci: Fix commad ring abort, write all 64 bits to CRCR register. + - USB: NO_LPM quirk Lenovo Powered USB-C Travel Hub + - usb: typec: tcpm: Wait in SNK_DEBOUNCED until disconnect + - usb: cdns3: gadget: fix new urb never complete if ep cancel previous + requests + - usb: cdnsp: Fix a NULL pointer dereference in cdnsp_endpoint_init() + - x86/tsc: Add a timer to make sure TSC_adjust is always checked + - x86/tsc: Disable clocksource watchdog for TSC on qualified platorms + - x86/64/mm: Map all kernel memory into trampoline_pgd + - tty: serial: msm_serial: Deactivate RX DMA for polling support + - serial: pl011: Add ACPI SBSA UART match id + - serial: tegra: Change lower tolerance baud rate limit for tegra20 and + tegra30 + - serial: core: fix transmit-buffer reset and memleak + - serial: 8250_pci: Fix ACCES entries in pci_serial_quirks array + - serial: 8250_pci: rewrite pericom_do_set_divisor() + - serial: 8250: Fix RTS modem control while in rs485 mode + - serial: liteuart: Fix NULL pointer dereference in ->remove() + - serial: liteuart: fix use-after-free and memleak on unbind + - serial: liteuart: fix minor-number leak on probe errors + - ipmi: msghandler: Make symbol 'remove_work_wq' static + - Linux 5.15.7 + + * Updates to ib_peer_memory requested by Nvidia (LP: #1947206) + - SAUCE: RDMA/core: Updated ib_peer_memory + - SAUCE: RDMA/core: ib_peer_memory fix build errors + + * Jammy update: v5.15.6 upstream stable release (LP: #1953370) + - scsi: sd: Fix sd_do_mode_sense() buffer length handling + - ACPI: Get acpi_device's parent from the parent field + - ACPI: CPPC: Add NULL pointer check to cppc_get_perf() + - USB: serial: pl2303: fix GC type detection + - USB: serial: option: add Telit LE910S1 0x9200 composition + - USB: serial: option: add Fibocom FM101-GL variants + - usb: dwc2: gadget: Fix ISOC flow for elapsed frames + - usb: dwc2: hcd_queue: Fix use of floating point literal + - usb: dwc3: leave default DMA for PCI devices + - usb: dwc3: core: Revise GHWPARAMS9 offset + - usb: dwc3: gadget: Ignore NoStream after End Transfer + - usb: dwc3: gadget: Check for L1/L2/U3 for Start Transfer + - usb: dwc3: gadget: Fix null pointer exception + - net: usb: Correct PHY handling of smsc95xx + - net: nexthop: fix null pointer dereference when IPv6 is not enabled + - usb: chipidea: ci_hdrc_imx: fix potential error pointer dereference in probe + - usb: typec: fusb302: Fix masking of comparator and bc_lvl interrupts + - usb: xhci: tegra: Check padctrl interrupt presence in device tree + - usb: hub: Fix usb enumeration issue due to address0 race + - usb: hub: Fix locking issues with address0_mutex + - binder: fix test regression due to sender_euid change + - ALSA: ctxfi: Fix out-of-range access + - ALSA: hda/realtek: Add quirk for ASRock NUC Box 1100 + - ALSA: hda/realtek: Fix LED on HP ProBook 435 G7 + - media: cec: copy sequence field for the reply + - Revert "parisc: Fix backtrace to always include init funtion names" + - HID: wacom: Use "Confidence" flag to prevent reporting invalid contacts + - staging/fbtft: Fix backlight + - staging: greybus: Add missing rwsem around snd_ctl_remove() calls + - staging: rtl8192e: Fix use after free in _rtl92e_pci_disconnect() + - staging: r8188eu: Use kzalloc() with GFP_ATOMIC in atomic context + - staging: r8188eu: Fix breakage introduced when 5G code was removed + - staging: r8188eu: use GFP_ATOMIC under spinlock + - staging: r8188eu: fix a memory leak in rtw_wx_read32() + - fuse: release pipe buf after last use + - xen: don't continue xenstore initialization in case of errors + - xen: detect uninitialized xenbus in xenbus_init + - io_uring: correct link-list traversal locking + - io_uring: fail cancellation for EXITING tasks + - io_uring: fix link traversal locking + - drm/amdgpu: IH process reset count when restart + - drm/amdgpu/pm: fix powerplay OD interface + - drm/nouveau: recognise GA106 + - ksmbd: downgrade addition info error msg to debug in smb2_get_info_sec() + - ksmbd: contain default data stream even if xattr is empty + - ksmbd: fix memleak in get_file_stream_info() + - KVM: PPC: Book3S HV: Prevent POWER7/8 TLB flush flushing SLB + - tracing/uprobe: Fix uprobe_perf_open probes iteration + - tracing: Fix pid filtering when triggers are attached + - mmc: sdhci-esdhc-imx: disable CMDQ support + - mmc: sdhci: Fix ADMA for PAGE_SIZE >= 64KiB + - mdio: aspeed: Fix "Link is Down" issue + - arm64: mm: Fix VM_BUG_ON(mm != &init_mm) for trans_pgd + - cpufreq: intel_pstate: Fix active mode offline/online EPP handling + - powerpc/32: Fix hardlockup on vmap stack overflow + - iomap: Fix inline extent handling in iomap_readpage + - NFSv42: Fix pagecache invalidation after COPY/CLONE + - PCI: aardvark: Deduplicate code in advk_pcie_rd_conf() + - PCI: aardvark: Implement re-issuing config requests on CRS response + - PCI: aardvark: Simplify initialization of rootcap on virtual bridge + - PCI: aardvark: Fix link training + - drm/amd/display: Fix OLED brightness control on eDP + - proc/vmcore: fix clearing user buffer by properly using clear_user() + - ASoC: SOF: Intel: hda: fix hotplug when only codec is suspended + - netfilter: ctnetlink: fix filtering with CTA_TUPLE_REPLY + - netfilter: ctnetlink: do not erase error code with EINVAL + - netfilter: ipvs: Fix reuse connection if RS weight is 0 + - netfilter: flowtable: fix IPv6 tunnel addr match + - media: v4l2-core: fix VIDIOC_DQEVENT handling on non-x86 + - firmware: arm_scmi: Fix null de-reference on error path + - ARM: dts: BCM5301X: Fix I2C controller interrupt + - ARM: dts: BCM5301X: Add interrupt properties to GPIO node + - ARM: dts: bcm2711: Fix PCIe interrupts + - ASoC: qdsp6: q6routing: Conditionally reset FrontEnd Mixer + - ASoC: qdsp6: q6asm: fix q6asm_dai_prepare error handling + - ASoC: topology: Add missing rwsem around snd_ctl_remove() calls + - ASoC: codecs: wcd938x: fix volatile register range + - ASoC: codecs: wcd934x: return error code correctly from hw_params + - ASoC: codecs: lpass-rx-macro: fix HPHR setting CLSH mask + - net: ieee802154: handle iftypes as u32 + - firmware: arm_scmi: Fix base agent discover response + - firmware: arm_scmi: pm: Propagate return value to caller + - ASoC: stm32: i2s: fix 32 bits channel length without mclk + - NFSv42: Don't fail clone() unless the OP_CLONE operation failed + - ARM: socfpga: Fix crash with CONFIG_FORTIRY_SOURCE + - drm/nouveau/acr: fix a couple NULL vs IS_ERR() checks + - scsi: qla2xxx: edif: Fix off by one bug in qla_edif_app_getfcinfo() + - scsi: mpt3sas: Fix kernel panic during drive powercycle test + - scsi: mpt3sas: Fix system going into read-only mode + - scsi: mpt3sas: Fix incorrect system timestamp + - drm/vc4: fix error code in vc4_create_object() + - drm/aspeed: Fix vga_pw sysfs output + - net: marvell: prestera: fix brige port operation + - net: marvell: prestera: fix double free issue on err path + - HID: input: Fix parsing of HID_CP_CONSUMER_CONTROL fields + - HID: input: set usage type to key on keycode remap + - HID: magicmouse: prevent division by 0 on scroll + - iavf: Prevent changing static ITR values if adaptive moderation is on + - iavf: Fix refreshing iavf adapter stats on ethtool request + - iavf: Fix VLAN feature flags after VFR + - x86/pvh: add prototype for xen_pvh_init() + - xen/pvh: add missing prototype to header + - ALSA: intel-dsp-config: add quirk for JSL devices based on ES8336 codec + - mptcp: fix delack timer + - mptcp: use delegate action to schedule 3rd ack retrans + - af_unix: fix regression in read after shutdown + - firmware: smccc: Fix check for ARCH_SOC_ID not implemented + - ipv6: fix typos in __ip6_finish_output() + - nfp: checking parameter process for rx-usecs/tx-usecs is invalid + - net: stmmac: retain PTP clock time during SIOCSHWTSTAMP ioctls + - net: ipv6: add fib6_nh_release_dsts stub + - net: nexthop: release IPv6 per-cpu dsts when replacing a nexthop group + - ice: fix vsi->txq_map sizing + - ice: avoid bpf_prog refcount underflow + - scsi: core: sysfs: Fix setting device state to SDEV_RUNNING + - scsi: scsi_debug: Zero clear zones at reset write pointer + - erofs: fix deadlock when shrink erofs slab + - i2c: virtio: disable timeout handling + - net/smc: Ensure the active closing peer first closes clcsock + - mlxsw: spectrum: Protect driver from buggy firmware + - net: ipa: directly disable ipa-setup-ready interrupt + - net: ipa: separate disabling setup from modem stop + - net: ipa: kill ipa_cmd_pipeline_clear() + - net: marvell: mvpp2: increase MTU limit when XDP enabled + - cpufreq: intel_pstate: Add Ice Lake server to out-of-band IDs + - nvmet-tcp: fix incomplete data digest send + - drm/hyperv: Fix device removal on Gen1 VMs + - arm64: uaccess: avoid blocking within critical sections + - net/ncsi : Add payload to be 32-bit aligned to fix dropped packets + - PM: hibernate: use correct mode for swsusp_close() + - drm/amd/display: Fix DPIA outbox timeout after GPU reset + - drm/amd/display: Set plane update flags for all planes in reset + - tcp_cubic: fix spurious Hystart ACK train detections for not-cwnd-limited + flows + - lan743x: fix deadlock in lan743x_phy_link_status_change() + - net: phylink: Force link down and retrigger resolve on interface change + - net: phylink: Force retrigger in case of latched link-fail indicator + - net/smc: Fix NULL pointer dereferencing in smc_vlan_by_tcpsk() + - net/smc: Fix loop in smc_listen + - nvmet: use IOCB_NOWAIT only if the filesystem supports it + - igb: fix netpoll exit with traffic + - MIPS: loongson64: fix FTLB configuration + - MIPS: use 3-level pgtable for 64KB page size on MIPS_VA_BITS_48 + - tls: splice_read: fix record type check + - tls: splice_read: fix accessing pre-processed records + - tls: fix replacing proto_ops + - net: stmmac: Disable Tx queues when reconfiguring the interface + - net/sched: sch_ets: don't peek at classes beyond 'nbands' + - ethtool: ioctl: fix potential NULL deref in ethtool_set_coalesce() + - net: vlan: fix underflow for the real_dev refcnt + - net/smc: Don't call clcsock shutdown twice when smc shutdown + - net: hns3: fix VF RSS failed problem after PF enable multi-TCs + - net: hns3: fix incorrect components info of ethtool --reset command + - net: mscc: ocelot: don't downgrade timestamping RX filters in SIOCSHWTSTAMP + - net: mscc: ocelot: correctly report the timestamping RX filters in ethtool + - locking/rwsem: Make handoff bit handling more consistent + - perf: Ignore sigtrap for tracepoints destined for other tasks + - sched/scs: Reset task stack state in bringup_cpu() + - iommu/rockchip: Fix PAGE_DESC_HI_MASKs for RK3568 + - iommu/vt-d: Fix unmap_pages support + - f2fs: quota: fix potential deadlock + - f2fs: set SBI_NEED_FSCK flag when inconsistent node block found + - riscv: dts: microchip: fix board compatible + - riscv: dts: microchip: drop duplicated MMC/SDHC node + - cifs: nosharesock should not share socket with future sessions + - ceph: properly handle statfs on multifs setups + - iommu/amd: Clarify AMD IOMMUv2 initialization messages + - vdpa_sim: avoid putting an uninitialized iova_domain + - vhost/vsock: fix incorrect used length reported to the guest + - ksmbd: Fix an error handling path in 'smb2_sess_setup()' + - tracing: Check pid filtering when creating events + - cifs: nosharesock should be set on new server + - io_uring: fix soft lockup when call __io_remove_buffers + - firmware: arm_scmi: Fix type error assignment in voltage protocol + - firmware: arm_scmi: Fix type error in sensor protocol + - docs: accounting: update delay-accounting.rst reference + - blk-mq: cancel blk-mq dispatch work in both blk_cleanup_queue and + disk_release() + - block: avoid to quiesce queue in elevator_init_mq + - drm/amdgpu/gfx10: add wraparound gpu counter check for APUs as well + - drm/amdgpu/gfx9: switch to golden tsc registers for renoir+ + - Linux 5.15.6 + + * Fix bogus HDMI audio interface (LP: #1953208) + - ALSA: hda/hdmi: Consider ELD is invalid when no SAD is present + + * Miscellaneous Ubuntu changes + - [Config] re-enabled UBSAN without TRAP + - SAUCE: ipv6: fix NULL pointer dereference in ip6_output() + - SAUCE: RDMA/core: Introduce peer memory interface + - [Config] toolchain version update + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] Temporarily disable signing for ppc64el and s390x" + - Revert "UBUNTU: SAUCE: vt -- maintain bootloader screen mode and content + until vt switch" + + -- Paolo Pisati Mon, 13 Dec 2021 12:13:17 +0100 + +linux (5.15.0-13.13) jammy; urgency=medium + + * jammy/linux: 5.15.0-13.13 -proposed tracker (LP: #1952583) + + * Packaging resync (LP: #1786013) + - [Packaging] resync update-dkms-versions helper + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Jammy update: v5.15.5 upstream stable release (LP: #1952579) + - arm64: zynqmp: Do not duplicate flash partition label property + - arm64: zynqmp: Fix serial compatible string + - clk: sunxi-ng: Unregister clocks/resets when unbinding + - ARM: dts: sunxi: Fix OPPs node name + - arm64: dts: allwinner: h5: Fix GPU thermal zone node name + - arm64: dts: allwinner: a100: Fix thermal zone node name + - staging: wfx: ensure IRQ is ready before enabling it + - ARM: dts: BCM5301X: Fix nodes names + - ARM: dts: BCM5301X: Fix MDIO mux binding + - ARM: dts: NSP: Fix mpcore, mmc node names + - arm64: dts: broadcom: bcm4908: Move reboot syscon out of bus + - scsi: pm80xx: Fix memory leak during rmmod + - scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq() + - ASoC: mediatek: mt8195: Add missing of_node_put() + - arm64: dts: rockchip: Disable CDN DP on Pinebook Pro + - arm64: dts: hisilicon: fix arm,sp805 compatible string + - RDMA/bnxt_re: Check if the vlan is valid before reporting + - bus: ti-sysc: Add quirk handling for reinit on context lost + - bus: ti-sysc: Use context lost quirk for otg + - usb: musb: tusb6010: check return value after calling + platform_get_resource() + - usb: typec: tipd: Remove WARN_ON in tps6598x_block_read + - ARM: dts: ux500: Skomer regulator fixes + - staging: rtl8723bs: remove possible deadlock when disconnect (v2) + - staging: rtl8723bs: remove a second possible deadlock + - staging: rtl8723bs: remove a third possible deadlock + - ARM: BCM53016: Specify switch ports for Meraki MR32 + - arm64: dts: qcom: msm8998: Fix CPU/L2 idle state latency and residency + - arm64: dts: qcom: ipq6018: Fix qcom,controlled-remotely property + - arm64: dts: qcom: ipq8074: Fix qcom,controlled-remotely property + - arm64: dts: qcom: sdm845: Fix qcom,controlled-remotely property + - arm64: dts: freescale: fix arm,sp805 compatible string + - arm64: dts: ls1012a: Add serial alias for ls1012a-rdb + - RDMA/rxe: Separate HW and SW l/rkeys + - ASoC: SOF: Intel: hda-dai: fix potential locking issue + - scsi: core: Fix scsi_mode_sense() buffer length handling + - ALSA: usb-audio: disable implicit feedback sync for Behringer UFX1204 and + UFX1604 + - clk: imx: imx6ul: Move csi_sel mux to correct base register + - ASoC: es8316: Use IRQF_NO_AUTOEN when requesting the IRQ + - ASoC: rt5651: Use IRQF_NO_AUTOEN when requesting the IRQ + - ASoC: nau8824: Add DMI quirk mechanism for active-high jack-detect + - scsi: advansys: Fix kernel pointer leak + - scsi: smartpqi: Add controller handshake during kdump + - arm64: dts: imx8mm-kontron: Fix reset delays for ethernet PHY + - ALSA: intel-dsp-config: add quirk for APL/GLK/TGL devices based on ES8336 + codec + - ASoC: Intel: soc-acpi: add missing quirk for TGL SDCA single amp + - ASoC: Intel: sof_sdw: add missing quirk for Dell SKU 0A45 + - firmware_loader: fix pre-allocated buf built-in firmware use + - HID: multitouch: disable sticky fingers for UPERFECT Y + - ALSA: usb-audio: Add support for the Pioneer DJM 750MK2 Mixer/Soundcard + - ARM: dts: omap: fix gpmc,mux-add-data type + - usb: host: ohci-tmio: check return value after calling + platform_get_resource() + - ASoC: rt5682: fix a little pop while playback + - ARM: dts: ls1021a: move thermal-zones node out of soc/ + - ARM: dts: ls1021a-tsn: use generic "jedec,spi-nor" compatible for flash + - ALSA: ISA: not for M68K + - iommu/vt-d: Do not falsely log intel_iommu is unsupported kernel option + - tty: tty_buffer: Fix the softlockup issue in flush_to_ldisc + - MIPS: sni: Fix the build + - scsi: scsi_debug: Fix out-of-bound read in resp_readcap16() + - scsi: scsi_debug: Fix out-of-bound read in resp_report_tgtpgs() + - scsi: target: Fix ordered tag handling + - scsi: target: Fix alua_tg_pt_gps_count tracking + - iio: imu: st_lsm6dsx: Avoid potential array overflow in st_lsm6dsx_set_odr() + - RDMA/core: Use kvzalloc when allocating the struct ib_port + - scsi: lpfc: Fix use-after-free in lpfc_unreg_rpi() routine + - scsi: lpfc: Fix link down processing to address NULL pointer dereference + - scsi: lpfc: Allow fabric node recovery if recovery is in progress before + devloss + - memory: tegra20-emc: Add runtime dependency on devfreq governor module + - powerpc/5200: dts: fix memory node unit name + - ARM: dts: qcom: fix memory and mdio nodes naming for RB3011 + - arm64: dts: qcom: Fix node name of rpm-msg-ram device nodes + - ALSA: gus: fix null pointer dereference on pointer block + - ALSA: usb-audio: fix null pointer dereference on pointer cs_desc + - clk: at91: sama7g5: remove prescaler part of master clock + - iommu/dart: Initialize DART_STREAMS_ENABLE + - powerpc/dcr: Use cmplwi instead of 3-argument cmpli + - powerpc/8xx: Fix Oops with STRICT_KERNEL_RWX without DEBUG_RODATA_TEST + - sh: check return code of request_irq + - maple: fix wrong return value of maple_bus_init(). + - f2fs: fix up f2fs_lookup tracepoints + - f2fs: fix to use WHINT_MODE + - f2fs: fix wrong condition to trigger background checkpoint correctly + - sh: fix kconfig unmet dependency warning for FRAME_POINTER + - sh: math-emu: drop unused functions + - sh: define __BIG_ENDIAN for math-emu + - f2fs: compress: disallow disabling compress on non-empty compressed file + - f2fs: fix incorrect return value in f2fs_sanity_check_ckpt() + - clk: ingenic: Fix bugs with divided dividers + - clk/ast2600: Fix soc revision for AHB + - clk: qcom: gcc-msm8996: Drop (again) gcc_aggre1_pnoc_ahb_clk + - KVM: arm64: Fix host stage-2 finalization + - mips: BCM63XX: ensure that CPU_SUPPORTS_32BIT_KERNEL is set + - MIPS: boot/compressed/: add __bswapdi2() to target for ZSTD decompression + - sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain() + - sched/fair: Prevent dead task groups from regaining cfs_rq's + - perf/x86/vlbr: Add c->flags to vlbr event constraints + - blkcg: Remove extra blkcg_bio_issue_init + - tracing/histogram: Do not copy the fixed-size char array field over the + field size + - perf bpf: Avoid memory leak from perf_env__insert_btf() + - perf bench futex: Fix memory leak of perf_cpu_map__new() + - perf tests: Remove bash construct from record+zstd_comp_decomp.sh + - drm/nouveau: hdmigv100.c: fix corrupted HDMI Vendor InfoFrame + - bpf: Fix inner map state pruning regression. + - samples/bpf: Fix summary per-sec stats in xdp_sample_user + - samples/bpf: Fix incorrect use of strlen in xdp_redirect_cpu + - selftests: net: switch to socat in the GSO GRE test + - net/ipa: ipa_resource: Fix wrong for loop range + - tcp: Fix uninitialized access in skb frags array for Rx 0cp. + - tracing: Add length protection to histogram string copies + - nl80211: fix radio statistics in survey dump + - mac80211: fix monitor_sdata RCU/locking assertions + - net: ipa: HOLB register sometimes must be written twice + - net: ipa: disable HOLB drop when updating timer + - selftests: gpio: fix gpio compiling error + - net: bnx2x: fix variable dereferenced before check + - bnxt_en: reject indirect blk offload when hw-tc-offload is off + - tipc: only accept encrypted MSG_CRYPTO msgs + - sock: fix /proc/net/sockstat underflow in sk_clone_lock() + - net/smc: Make sure the link_id is unique + - NFSD: Fix exposure in nfsd4_decode_bitmap() + - iavf: Fix return of set the new channel count + - iavf: check for null in iavf_fix_features + - iavf: free q_vectors before queues in iavf_disable_vf + - iavf: don't clear a lock we don't hold + - iavf: Fix failure to exit out from last all-multicast mode + - iavf: prevent accidental free of filter structure + - iavf: validate pointers + - iavf: Fix for the false positive ASQ/ARQ errors while issuing VF reset + - iavf: Fix for setting queues to 0 + - iavf: Restore VLAN filters after link down + - bpf: Fix toctou on read-only map's constant scalar tracking + - MIPS: generic/yamon-dt: fix uninitialized variable error + - mips: bcm63xx: add support for clk_get_parent() + - mips: lantiq: add support for clk_get_parent() + - gpio: rockchip: needs GENERIC_IRQ_CHIP to fix build errors + - platform/x86: hp_accel: Fix an error handling path in 'lis3lv02d_probe()' + - platform/x86: think-lmi: Abort probe on analyze failure + - udp: Validate checksum in udp_read_sock() + - btrfs: make 1-bit bit-fields of scrub_page unsigned int + - RDMA/core: Set send and receive CQ before forwarding to the driver + - net/mlx5e: kTLS, Fix crash in RX resync flow + - net/mlx5e: Wait for concurrent flow deletion during neigh/fib events + - net/mlx5: E-Switch, Fix resetting of encap mode when entering switchdev + - net/mlx5e: nullify cq->dbg pointer in mlx5_debug_cq_remove() + - net/mlx5: Update error handler for UCTX and UMEM + - net/mlx5: E-Switch, rebuild lag only when needed + - net/mlx5e: CT, Fix multiple allocations and memleak of mod acts + - net/mlx5: Lag, update tracker when state change event received + - net/mlx5: E-Switch, return error if encap isn't supported + - scsi: ufs: core: Improve SCSI abort handling + - scsi: core: sysfs: Fix hang when device state is set via sysfs + - scsi: ufs: core: Fix task management completion timeout race + - scsi: ufs: core: Fix another task management completion race + - net: mvmdio: fix compilation warning + - net: sched: act_mirred: drop dst for the direction from egress to ingress + - net: dpaa2-eth: fix use-after-free in dpaa2_eth_remove + - net: virtio_net_hdr_to_skb: count transport header in UFO + - i40e: Fix correct max_pkt_size on VF RX queue + - i40e: Fix NULL ptr dereference on VSI filter sync + - i40e: Fix changing previously set num_queue_pairs for PFs + - i40e: Fix ping is lost after configuring ADq on VF + - RDMA/mlx4: Do not fail the registration on port stats + - i40e: Fix warning message and call stack during rmmod i40e driver + - i40e: Fix creation of first queue by omitting it if is not power of two + - i40e: Fix display error code in dmesg + - NFC: reorganize the functions in nci_request + - NFC: reorder the logic in nfc_{un,}register_device + - NFC: add NCI_UNREG flag to eliminate the race + - e100: fix device suspend/resume + - ptp: ocp: Fix a couple NULL vs IS_ERR() checks + - tools build: Fix removal of feature-sync-compare-and-swap feature detection + - riscv: fix building external modules + - KVM: PPC: Book3S HV: Use GLOBAL_TOC for kvmppc_h_set_dabr/xdabr() + - powerpc: clean vdso32 and vdso64 directories + - powerpc/pseries: rename numa_dist_table to form2_distances + - powerpc/pseries: Fix numa FORM2 parsing fallback code + - pinctrl: qcom: sdm845: Enable dual edge errata + - pinctrl: qcom: sm8350: Correct UFS and SDC offsets + - perf/x86/intel/uncore: Fix filter_tid mask for CHA events on Skylake Server + - perf/x86/intel/uncore: Fix IIO event constraints for Skylake Server + - perf/x86/intel/uncore: Fix IIO event constraints for Snowridge + - s390/kexec: fix return code handling + - blk-cgroup: fix missing put device in error path from blkg_conf_pref() + - dmaengine: remove debugfs #ifdef + - tun: fix bonding active backup with arp monitoring + - Revert "mark pstore-blk as broken" + - pstore/blk: Use "%lu" to format unsigned long + - hexagon: export raw I/O routines for modules + - hexagon: clean up timer-regs.h + - tipc: check for null after calling kmemdup + - ipc: WARN if trying to remove ipc object which is absent + - shm: extend forced shm destroy to support objects from several IPC nses + - mm: kmemleak: slob: respect SLAB_NOLEAKTRACE flag + - hugetlb, userfaultfd: fix reservation restore on userfaultfd error + - kmap_local: don't assume kmap PTEs are linear arrays in memory + - mm/damon/dbgfs: use '__GFP_NOWARN' for user-specified size buffer allocation + - mm/damon/dbgfs: fix missed use of damon_dbgfs_lock + - x86/boot: Pull up cmdline preparation and early param parsing + - x86/sgx: Fix free page accounting + - x86/hyperv: Fix NULL deref in set_hv_tscchange_cb() if Hyper-V setup fails + - KVM: x86: Assume a 64-bit hypercall for guests with protected state + - KVM: x86: Fix uninitialized eoi_exit_bitmap usage in vcpu_load_eoi_exitmap() + - KVM: x86/mmu: include EFER.LMA in extended mmu role + - KVM: x86/xen: Fix get_attr of KVM_XEN_ATTR_TYPE_SHARED_INFO + - powerpc/signal32: Fix sigset_t copy + - powerpc/xive: Change IRQ domain to a tree domain + - powerpc/8xx: Fix pinned TLBs with CONFIG_STRICT_KERNEL_RWX + - Revert "drm/i915/tgl/dsi: Gate the ddi clocks after pll mapping" + - Revert "parisc: Reduce sigreturn trampoline to 3 instructions" + - ata: libata: improve ata_read_log_page() error message + - ata: libata: add missing ata_identify_page_supported() calls + - scsi: qla2xxx: Fix mailbox direction flags in qla2xxx_get_adapter_id() + - pinctrl: ralink: include 'ralink_regs.h' in 'pinctrl-mt7620.c' + - s390/setup: avoid reserving memory above identity mapping + - s390/boot: simplify and fix kernel memory layout setup + - s390/vdso: filter out -mstack-guard and -mstack-size + - s390/kexec: fix memory leak of ipl report buffer + - s390/dump: fix copying to user-space of swapped kdump oldmem + - block: Check ADMIN before NICE for IOPRIO_CLASS_RT + - fbdev: Prevent probing generic drivers if a FB is already registered + - KVM: SEV: Disallow COPY_ENC_CONTEXT_FROM if target has created vCPUs + - KVM: nVMX: don't use vcpu->arch.efer when checking host state on nested + state load + - drm/cma-helper: Release non-coherent memory with dma_free_noncoherent() + - printk: restore flushing of NMI buffers on remote CPUs after NMI backtraces + - udf: Fix crash after seekdir + - spi: fix use-after-free of the add_lock mutex + - net: stmmac: socfpga: add runtime suspend/resume callback for stratix10 + platform + - Drivers: hv: balloon: Use VMBUS_RING_SIZE() wrapper for dm_ring_size + - btrfs: fix memory ordering between normal and ordered work functions + - fs: handle circular mappings correctly + - net: stmmac: Fix signed/unsigned wreckage + - parisc/sticon: fix reverse colors + - cfg80211: call cfg80211_stop_ap when switch from P2P_GO type + - mac80211: fix radiotap header generation + - mac80211: drop check for DONT_REORDER in __ieee80211_select_queue + - drm/amd/display: Update swizzle mode enums + - drm/amd/display: Limit max DSC target bpp for specific monitors + - drm/i915/guc: Fix outstanding G2H accounting + - drm/i915/guc: Don't enable scheduling on a banned context, guc_id invalid, + not registered + - drm/i915/guc: Workaround reset G2H is received after schedule done G2H + - drm/i915/guc: Don't drop ce->guc_active.lock when unwinding context + - drm/i915/guc: Unwind context requests in reverse order + - drm/udl: fix control-message timeout + - drm/prime: Fix use after free in mmap with drm_gem_ttm_mmap + - drm/nouveau: Add a dedicated mutex for the clients list + - drm/nouveau: use drm_dev_unplug() during device removal + - drm/nouveau: clean up all clients on device removal + - drm/i915/dp: Ensure sink rate values are always valid + - drm/i915/dp: Ensure max link params are always valid + - drm/i915: Fix type1 DVI DP dual mode adapter heuristic for modern platforms + - drm/amdgpu: fix set scaling mode Full/Full aspect/Center not works on vga + and dvi connectors + - drm/amd/pm: avoid duplicate powergate/ungate setting + - signal: Implement force_fatal_sig + - exit/syscall_user_dispatch: Send ordinary signals on failure + - signal/powerpc: On swapcontext failure force SIGSEGV + - signal/s390: Use force_sigsegv in default_trap_handler + - signal/sparc32: Exit with a fatal signal when try_to_clear_window_buffer + fails + - signal/sparc32: In setup_rt_frame and setup_fram use force_fatal_sig + - signal/vm86_32: Properly send SIGSEGV when the vm86 state cannot be saved. + - signal/x86: In emulate_vsyscall force a signal instead of calling do_exit + - signal: Replace force_sigsegv(SIGSEGV) with force_fatal_sig(SIGSEGV) + - signal: Don't always set SA_IMMUTABLE for forced signals + - signal: Replace force_fatal_sig with force_exit_sig when in doubt + - hugetlbfs: flush TLBs correctly after huge_pmd_unshare + - RDMA/netlink: Add __maybe_unused to static inline in C file + - bpf: Forbid bpf_ktime_get_coarse_ns and bpf_timer_* in tracing progs + - selinux: fix NULL-pointer dereference when hashtab allocation fails + - ASoC: DAPM: Cover regression by kctl change notification fix + - ASoC: rsnd: fixup DMAEngine API + - usb: max-3421: Use driver data instead of maintaining a list of bound + devices + - ice: Fix VF true promiscuous mode + - ice: Delete always true check of PF pointer + - fs: export an inode_update_time helper + - btrfs: update device path inode time instead of bd_inode + - net: add and use skb_unclone_keeptruesize() helper + - x86/Kconfig: Fix an unused variable error in dell-smm-hwmon + - ALSA: hda: hdac_ext_stream: fix potential locking issues + - ALSA: hda: hdac_stream: fix potential locking issue in + snd_hdac_stream_assign() + - Linux 5.15.5 + + * Fix non-working e1000e device after resume (LP: #1951861) + - SAUCE: Revert "e1000e: Additional PHY power saving in S0ix" + - SAUCE: Revert "e1000e: Add polling mechanism to indicate CSME DPG exit" + - SAUCE: Revert "e1000e: Add handshake with the CSME to support S0ix" + + * [SRU][I/OEM-5.13/OEM-5.14] Add MAC passthrough support for more Lenovo docks + (LP: #1951767) + - net: usb: r8152: Add MAC passthrough support for more Lenovo Docks + + * [amdgpu] USB4 support for DP tunneling (LP: #1951868) + - drm/amd/display: Support for DMUB HPD interrupt handling + - drm/amd/display: Update link encoder object creation. + - drm/amd/display: USB4 DPIA enumeration and AUX Tunneling + - drm/amd/display: Support for DMUB HPD and HPD RX interrupt handling + - drm/amd/display: Set DPIA link endpoint type + - drm/amd/display: Stub out DPIA link training call + - drm/amd/display: Add stub to get DPIA tunneling device data + - drm/amd/display: Skip DPCD read for DPTX-to-DPIA hop + - drm/amd/display: Train DPIA links with fallback + - drm/amd/display: Implement DPIA training loop + - drm/amd/display: Implement DPIA link configuration + - drm/amd/display: Implement DPIA clock recovery phase + - drm/amd/display: Implement DPIA equalisation phase + - drm/amd/display: Implement end of training for hop in DPIA display path + - drm/amd/display: Support for SET_CONFIG processing with DMUB + - drm/amd/display: isolate link training setting override to its own function + - drm/amd/display: Read USB4 DP tunneling data from DPCD. + - drm/amd/display: Add dpia debug options + - drm/amd/display: Support for SET_CONFIG processing with DMUB + - drm/amd/display: Add DPCD writes at key points + - drm/amd/display: Fix DIG_HPD_SELECT for USB4 display endpoints. + - drm/amd/display: Add helper for blanking all dp displays + - drm/amd/display: Fix link training fallback logic + - drm/amd/display: Add debug flags for USB4 DP link training. + - drm/amd/display: Fix dynamic link encoder access. + - drm/amd/display: Fix concurrent dynamic encoder assignment + - drm/amd/display: Fix dynamic encoder reassignment + - drm/amd/display: Fix for access for ddc pin and aux engine. + - drm/amd/display: Deadlock/HPD Status/Crash Bug Fix + - drm/amd/display: Fix USB4 Aux via DMUB terminate unexpectedly + + * Miscellaneous Ubuntu changes + - [Packaging] Rewrite debian/scripts/module-check in Python + - [Config] update config and annotations after applying v5.15.5 + + -- Andrea Righi Mon, 29 Nov 2021 09:25:37 +0100 + +linux (5.15.0-12.12) jammy; urgency=medium + + * jammy/linux: 5.15.0-12.12 -proposed tracker (LP: #1951810) + + * Jammy update: v5.15.4 upstream stable release (LP: #1951820) + - string: uninline memcpy_and_pad + - Revert "drm: fb_helper: improve CONFIG_FB dependency" + - Revert "drm: fb_helper: fix CONFIG_FB dependency" + - KVM: Fix steal time asm constraints + - btrfs: introduce btrfs_is_data_reloc_root + - btrfs: zoned: add a dedicated data relocation block group + - btrfs: zoned: only allow one process to add pages to a relocation inode + - btrfs: zoned: use regular writes for relocation + - btrfs: check for relocation inodes on zoned btrfs in should_nocow + - btrfs: zoned: allow preallocation for relocation inodes + - fortify: Explicitly disable Clang support + - block: Add a helper to validate the block size + - loop: Use blk_validate_block_size() to validate block size + - Bluetooth: btusb: Add support for TP-Link UB500 Adapter + - parisc/entry: fix trace test in syscall exit path + - PCI/MSI: Deal with devices lying about their MSI mask capability + - PCI: Add MSI masking quirk for Nvidia ION AHCI + - perf/core: Avoid put_page() when GUP fails + - thermal: Fix NULL pointer dereferences in of_thermal_ functions + - Revert "ACPI: scan: Release PM resources blocked by unused objects" + - Linux 5.15.4 + + * Jammy update: v5.15.3 upstream stable release (LP: #1951822) + - xhci: Fix USB 3.1 enumeration issues by increasing roothub power-on-good + delay + - usb: xhci: Enable runtime-pm by default on AMD Yellow Carp platform + - Input: iforce - fix control-message timeout + - Input: elantench - fix misreporting trackpoint coordinates + - Input: i8042 - Add quirk for Fujitsu Lifebook T725 + - libata: fix read log timeout value + - ocfs2: fix data corruption on truncate + - scsi: scsi_ioctl: Validate command size + - scsi: core: Avoid leaving shost->last_reset with stale value if EH does not + run + - scsi: core: Remove command size deduction from scsi_setup_scsi_cmnd() + - scsi: lpfc: Don't release final kref on Fport node while ABTS outstanding + - scsi: lpfc: Fix FCP I/O flush functionality for TMF routines + - scsi: qla2xxx: Fix crash in NVMe abort path + - scsi: qla2xxx: Fix kernel crash when accessing port_speed sysfs file + - scsi: qla2xxx: Fix use after free in eh_abort path + - ce/gf100: fix incorrect CE0 address calculation on some GPUs + - char: xillybus: fix msg_ep UAF in xillyusb_probe() + - mmc: mtk-sd: Add wait dma stop done flow + - mmc: dw_mmc: Dont wait for DRTO on Write RSP error + - exfat: fix incorrect loading of i_blocks for large files + - io-wq: remove worker to owner tw dependency + - parisc: Fix set_fixmap() on PA1.x CPUs + - parisc: Fix ptrace check on syscall return + - tpm: Check for integer overflow in tpm2_map_response_body() + - firmware/psci: fix application of sizeof to pointer + - crypto: s5p-sss - Add error handling in s5p_aes_probe() + - media: rkvdec: Do not override sizeimage for output format + - media: ite-cir: IR receiver stop working after receive overflow + - media: rkvdec: Support dynamic resolution changes + - media: ir-kbd-i2c: improve responsiveness of hauppauge zilog receivers + - media: v4l2-ioctl: Fix check_ext_ctrls + - ALSA: hda/realtek: Fix mic mute LED for the HP Spectre x360 14 + - ALSA: hda/realtek: Add a quirk for HP OMEN 15 mute LED + - ALSA: hda/realtek: Add quirk for Clevo PC70HS + - ALSA: hda/realtek: Headset fixup for Clevo NH77HJQ + - ALSA: hda/realtek: Add a quirk for Acer Spin SP513-54N + - ALSA: hda/realtek: Add quirk for ASUS UX550VE + - ALSA: hda/realtek: Add quirk for HP EliteBook 840 G7 mute LED + - ALSA: ua101: fix division by zero at probe + - ALSA: 6fire: fix control and bulk message timeouts + - ALSA: line6: fix control and interrupt message timeouts + - ALSA: mixer: oss: Fix racy access to slots + - ALSA: mixer: fix deadlock in snd_mixer_oss_set_volume + - ALSA: usb-audio: Line6 HX-Stomp XL USB_ID for 48k-fixed quirk + - ALSA: usb-audio: Add registration quirk for JBL Quantum 400 + - ALSA: hda: Free card instance properly at probe errors + - ALSA: synth: missing check for possible NULL after the call to kstrdup + - ALSA: pci: rme: Fix unaligned buffer addresses + - ALSA: PCM: Fix NULL dereference at mmap checks + - ALSA: timer: Fix use-after-free problem + - ALSA: timer: Unconditionally unlink slave instances, too + - Revert "ext4: enforce buffer head state assertion in ext4_da_map_blocks" + - ext4: fix lazy initialization next schedule time computation in more + granular unit + - ext4: ensure enough credits in ext4_ext_shift_path_extents + - ext4: refresh the ext4_ext_path struct after dropping i_data_sem. + - fuse: fix page stealing + - x86/sme: Use #define USE_EARLY_PGTABLE_L5 in mem_encrypt_identity.c + - x86/cpu: Fix migration safety with X86_BUG_NULL_SEL + - x86/irq: Ensure PI wakeup handler is unregistered before module unload + - x86/iopl: Fake iopl(3) CLI/STI usage + - btrfs: clear MISSING device status bit in btrfs_close_one_device + - btrfs: fix lost error handling when replaying directory deletes + - btrfs: call btrfs_check_rw_degradable only if there is a missing device + - KVM: x86/mmu: Drop a redundant, broken remote TLB flush + - KVM: VMX: Unregister posted interrupt wakeup handler on hardware unsetup + - KVM: PPC: Tick accounting should defer vtime accounting 'til after IRQ + handling + - ia64: kprobes: Fix to pass correct trampoline address to the handler + - selinux: fix race condition when computing ocontext SIDs + - ipmi:watchdog: Set panic count to proper value on a panic + - md/raid1: only allocate write behind bio for WriteMostly device + - hwmon: (pmbus/lm25066) Add offset coefficients + - regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is + disabled + - regulator: dt-bindings: samsung,s5m8767: correct s5m8767,pmic-buck-default- + dvs-idx property + - EDAC/sb_edac: Fix top-of-high-memory value for Broadwell/Haswell + - mwifiex: fix division by zero in fw download path + - ath6kl: fix division by zero in send path + - ath6kl: fix control-message timeout + - ath10k: fix control-message timeout + - ath10k: fix division by zero in send path + - PCI: Mark Atheros QCA6174 to avoid bus reset + - rtl8187: fix control-message timeouts + - evm: mark evm_fixmode as __ro_after_init + - ifb: Depend on netfilter alternatively to tc + - platform/surface: aggregator_registry: Add support for Surface Laptop Studio + - mt76: mt7615: fix skb use-after-free on mac reset + - HID: surface-hid: Use correct event registry for managing HID events + - HID: surface-hid: Allow driver matching for target ID 1 devices + - wcn36xx: Fix HT40 capability for 2Ghz band + - wcn36xx: Fix tx_status mechanism + - wcn36xx: Fix (QoS) null data frame bitrate/modulation + - PM: sleep: Do not let "syscore" devices runtime-suspend during system + transitions + - mwifiex: Read a PCI register after writing the TX ring write pointer + - mwifiex: Try waking the firmware until we get an interrupt + - libata: fix checking of DMA state + - dma-buf: fix and rework dma_buf_poll v7 + - wcn36xx: handle connection loss indication + - rsi: fix occasional initialisation failure with BT coex + - rsi: fix key enabled check causing unwanted encryption for vap_id > 0 + - rsi: fix rate mask set leading to P2P failure + - rsi: Fix module dev_oper_mode parameter description + - perf/x86/intel/uncore: Support extra IMC channel on Ice Lake server + - perf/x86/intel/uncore: Fix invalid unit check + - perf/x86/intel/uncore: Fix Intel ICX IIO event constraints + - RDMA/qedr: Fix NULL deref for query_qp on the GSI QP + - ASoC: tegra: Set default card name for Trimslice + - ASoC: tegra: Restore AC97 support + - signal: Remove the bogus sigkill_pending in ptrace_stop + - memory: renesas-rpc-if: Correct QSPI data transfer in Manual mode + - signal/mips: Update (_save|_restore)_fp_context to fail with -EFAULT + - soc: samsung: exynos-pmu: Fix compilation when nothing selects + CONFIG_MFD_CORE + - soc: fsl: dpio: replace smp_processor_id with raw_smp_processor_id + - soc: fsl: dpio: use the combined functions to protect critical zone + - mtd: rawnand: socrates: Keep the driver compatible with on-die ECC engines + - mctp: handle the struct sockaddr_mctp padding fields + - power: supply: max17042_battery: Prevent int underflow in set_soc_threshold + - power: supply: max17042_battery: use VFSOC for capacity when no rsns + - iio: core: fix double free in iio_device_unregister_sysfs() + - iio: core: check return value when calling dev_set_name() + - KVM: arm64: Extract ESR_ELx.EC only + - KVM: x86: Fix recording of guest steal time / preempted status + - KVM: x86: Add helper to consolidate core logic of SET_CPUID{2} flows + - KVM: nVMX: Query current VMCS when determining if MSR bitmaps are in use + - KVM: nVMX: Handle dynamic MSR intercept toggling + - can: peak_usb: always ask for BERR reporting for PCAN-USB devices + - can: mcp251xfd: mcp251xfd_irq(): add missing + can_rx_offload_threaded_irq_finish() in case of bus off + - can: j1939: j1939_tp_cmd_recv(): ignore abort message in the BAM transport + - can: j1939: j1939_can_recv(): ignore messages with invalid source address + - can: j1939: j1939_tp_cmd_recv(): check the dst address of TP.CM_BAM + - iio: adc: tsc2046: fix scan interval warning + - powerpc/85xx: Fix oops when mpc85xx_smp_guts_ids node cannot be found + - io_uring: honour zeroes as io-wq worker limits + - ring-buffer: Protect ring_buffer_reset() from reentrancy + - serial: core: Fix initializing and restoring termios speed + - ifb: fix building without CONFIG_NET_CLS_ACT + - xen/balloon: add late_initcall_sync() for initial ballooning done + - ovl: fix use after free in struct ovl_aio_req + - ovl: fix filattr copy-up failure + - PCI: pci-bridge-emul: Fix emulation of W1C bits + - PCI: cadence: Add cdns_plat_pcie_probe() missing return + - cxl/pci: Fix NULL vs ERR_PTR confusion + - PCI: aardvark: Do not clear status bits of masked interrupts + - PCI: aardvark: Fix checking for link up via LTSSM state + - PCI: aardvark: Do not unmask unused interrupts + - PCI: aardvark: Fix reporting Data Link Layer Link Active + - PCI: aardvark: Fix configuring Reference clock + - PCI: aardvark: Fix return value of MSI domain .alloc() method + - PCI: aardvark: Read all 16-bits from PCIE_MSI_PAYLOAD_REG + - PCI: aardvark: Fix support for bus mastering and PCI_COMMAND on emulated + bridge + - PCI: aardvark: Fix support for PCI_BRIDGE_CTL_BUS_RESET on emulated bridge + - PCI: aardvark: Set PCI Bridge Class Code to PCI Bridge + - PCI: aardvark: Fix support for PCI_ROM_ADDRESS1 on emulated bridge + - quota: check block number when reading the block in quota file + - quota: correct error number in free_dqentry() + - cifs: To match file servers, make sure the server hostname matches + - cifs: set a minimum of 120s for next dns resolution + - mfd: simple-mfd-i2c: Select MFD_CORE to fix build error + - pinctrl: core: fix possible memory leak in pinctrl_enable() + - coresight: cti: Correct the parameter for pm_runtime_put + - coresight: trbe: Fix incorrect access of the sink specific data + - coresight: trbe: Defer the probe on offline CPUs + - iio: buffer: check return value of kstrdup_const() + - iio: buffer: Fix memory leak in iio_buffers_alloc_sysfs_and_mask() + - iio: buffer: Fix memory leak in __iio_buffer_alloc_sysfs_and_mask() + - iio: buffer: Fix memory leak in iio_buffer_register_legacy_sysfs_groups() + - drivers: iio: dac: ad5766: Fix dt property name + - iio: dac: ad5446: Fix ad5622_write() return value + - iio: ad5770r: make devicetree property reading consistent + - Documentation:devicetree:bindings:iio:dac: Fix val + - USB: serial: keyspan: fix memleak on probe errors + - serial: 8250: fix racy uartclk update + - ksmbd: set unique value to volume serial field in FS_VOLUME_INFORMATION + - io-wq: serialize hash clear with wakeup + - serial: 8250: Fix reporting real baudrate value in c_ospeed field + - Revert "serial: 8250: Fix reporting real baudrate value in c_ospeed field" + - most: fix control-message timeouts + - USB: iowarrior: fix control-message timeouts + - USB: chipidea: fix interrupt deadlock + - power: supply: max17042_battery: Clear status bits in interrupt handler + - component: do not leave master devres group open after bind + - dma-buf: WARN on dmabuf release with pending attachments + - drm: panel-orientation-quirks: Update the Lenovo Ideapad D330 quirk (v2) + - drm: panel-orientation-quirks: Add quirk for KD Kurio Smart C15200 2-in-1 + - drm: panel-orientation-quirks: Add quirk for the Samsung Galaxy Book 10.6 + - Bluetooth: sco: Fix lock_sock() blockage by memcpy_from_msg() + - Bluetooth: fix use-after-free error in lock_sock_nested() + - Bluetooth: call sock_hold earlier in sco_conn_del + - drm/panel-orientation-quirks: add Valve Steam Deck + - rcutorture: Avoid problematic critical section nesting on PREEMPT_RT + - platform/x86: wmi: do not fail if disabling fails + - drm/amdgpu: move iommu_resume before ip init/resume + - MIPS: lantiq: dma: add small delay after reset + - MIPS: lantiq: dma: reset correct number of channel + - locking/lockdep: Avoid RCU-induced noinstr fail + - net: sched: update default qdisc visibility after Tx queue cnt changes + - rcu-tasks: Move RTGS_WAIT_CBS to beginning of rcu_tasks_kthread() loop + - smackfs: Fix use-after-free in netlbl_catmap_walk() + - ath11k: Align bss_chan_info structure with firmware + - crypto: aesni - check walk.nbytes instead of err + - x86/mm/64: Improve stack overflow warnings + - x86: Increase exception stack sizes + - mwifiex: Run SET_BSS_MODE when changing from P2P to STATION vif-type + - mwifiex: Properly initialize private structure on interface type changes + - spi: Check we have a spi_device_id for each DT compatible + - fscrypt: allow 256-bit master keys with AES-256-XTS + - drm/amdgpu: Fix MMIO access page fault + - drm/amd/display: Fix null pointer dereference for encoders + - selftests: net: fib_nexthops: Wait before checking reported idle time + - ath11k: Avoid reg rules update during firmware recovery + - ath11k: add handler for scan event WMI_SCAN_EVENT_DEQUEUED + - ath11k: Change DMA_FROM_DEVICE to DMA_TO_DEVICE when map reinjected packets + - ath10k: high latency fixes for beacon buffer + - octeontx2-pf: Enable promisc/allmulti match MCAM entries. + - media: mt9p031: Fix corrupted frame after restarting stream + - media: netup_unidvb: handle interrupt properly according to the firmware + - media: atomisp: Fix error handling in probe + - media: stm32: Potential NULL pointer dereference in dcmi_irq_thread() + - media: uvcvideo: Set capability in s_param + - media: uvcvideo: Return -EIO for control errors + - media: uvcvideo: Set unique vdev name based in type + - media: vidtv: Fix memory leak in remove + - media: s5p-mfc: fix possible null-pointer dereference in s5p_mfc_probe() + - media: s5p-mfc: Add checking to s5p_mfc_probe(). + - media: videobuf2: rework vb2_mem_ops API + - media: imx: set a media_device bus_info string + - media: rcar-vin: Use user provided buffers when starting + - media: mceusb: return without resubmitting URB in case of -EPROTO error. + - ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK + - rtw88: fix RX clock gate setting while fifo dump + - brcmfmac: Add DMI nvram filename quirk for Cyberbook T116 tablet + - media: rcar-csi2: Add checking to rcsi2_start_receiver() + - ipmi: Disable some operations during a panic + - fs/proc/uptime.c: Fix idle time reporting in /proc/uptime + - kselftests/sched: cleanup the child processes + - ACPICA: Avoid evaluating methods too early during system resume + - cpufreq: Make policy min/max hard requirements + - ice: Move devlink port to PF/VF struct + - media: imx-jpeg: Fix possible null pointer dereference + - media: ipu3-imgu: imgu_fmt: Handle properly try + - media: ipu3-imgu: VIDIOC_QUERYCAP: Fix bus_info + - media: usb: dvd-usb: fix uninit-value bug in dibusb_read_eeprom_byte() + - net-sysfs: try not to restart the syscall if it will fail eventually + - drm/amdkfd: rm BO resv on validation to avoid deadlock + - tracefs: Have tracefs directories not set OTH permission bits by default + - tracing: Disable "other" permission bits in the tracefs files + - ath: dfs_pattern_detector: Fix possible null-pointer dereference in + channel_detector_create() + - KVM: arm64: Propagate errors from __pkvm_prot_finalize hypercall + - mmc: moxart: Fix reference count leaks in moxart_probe + - iov_iter: Fix iov_iter_get_pages{,_alloc} page fault return value + - ACPI: battery: Accept charges over the design capacity as full + - ACPI: scan: Release PM resources blocked by unused objects + - drm/amd/display: fix null pointer deref when plugging in display + - drm/amdkfd: fix resume error when iommu disabled in Picasso + - net: phy: micrel: make *-skew-ps check more lenient + - leaking_addresses: Always print a trailing newline + - thermal/core: Fix null pointer dereference in thermal_release() + - drm/msm: prevent NULL dereference in msm_gpu_crashstate_capture() + - thermal/drivers/tsens: Add timeout to get_temp_tsens_valid + - block: bump max plugged deferred size from 16 to 32 + - floppy: fix calling platform_device_unregister() on invalid drives + - md: update superblock after changing rdev flags in state_store + - memstick: r592: Fix a UAF bug when removing the driver + - locking/rwsem: Disable preemption for spinning region + - lib/xz: Avoid overlapping memcpy() with invalid input with in-place + decompression + - lib/xz: Validate the value before assigning it to an enum variable + - workqueue: make sysfs of unbound kworker cpumask more clever + - tracing/cfi: Fix cmp_entries_* functions signature mismatch + - mt76: mt7915: fix an off-by-one bound check + - mwl8k: Fix use-after-free in mwl8k_fw_state_machine() + - iwlwifi: change all JnP to NO-160 configuration + - block: remove inaccurate requeue check + - media: allegro: ignore interrupt if mailbox is not initialized + - drm/amdgpu/pm: properly handle sclk for profiling modes on vangogh + - nvmet: fix use-after-free when a port is removed + - nvmet-rdma: fix use-after-free when a port is removed + - nvmet-tcp: fix use-after-free when a port is removed + - nvme: drop scan_lock and always kick requeue list when removing namespaces + - samples/bpf: Fix application of sizeof to pointer + - arm64: vdso32: suppress error message for 'make mrproper' + - PM: hibernate: Get block device exclusively in swsusp_check() + - selftests: kvm: fix mismatched fclose() after popen() + - selftests/bpf: Fix perf_buffer test on system with offline cpus + - iwlwifi: mvm: disable RX-diversity in powersave + - smackfs: use __GFP_NOFAIL for smk_cipso_doi() + - ARM: clang: Do not rely on lr register for stacktrace + - gre/sit: Don't generate link-local addr if addr_gen_mode is + IN6_ADDR_GEN_MODE_NONE + - can: bittiming: can_fixup_bittiming(): change type of tseg1 and alltseg to + unsigned int + - gfs2: Cancel remote delete work asynchronously + - gfs2: Fix glock_hash_walk bugs + - ARM: 9136/1: ARMv7-M uses BE-8, not BE-32 + - tools/latency-collector: Use correct size when writing queue_full_warning + - vrf: run conntrack only in context of lower/physdev for locally generated + packets + - net: annotate data-race in neigh_output() + - ACPI: AC: Quirk GK45 to skip reading _PSR + - ACPI: resources: Add one more Medion model in IRQ override quirk + - btrfs: reflink: initialize return value to 0 in btrfs_extent_same() + - btrfs: do not take the uuid_mutex in btrfs_rm_device + - spi: bcm-qspi: Fix missing clk_disable_unprepare() on error in + bcm_qspi_probe() + - wcn36xx: Correct band/freq reporting on RX + - wcn36xx: Fix packet drop on resume + - Revert "wcn36xx: Enable firmware link monitoring" + - ftrace: do CPU checking after preemption disabled + - inet: remove races in inet{6}_getname() + - x86/hyperv: Protect set_hv_tscchange_cb() against getting preempted + - drm/amd/display: dcn20_resource_construct reduce scope of FPU enabled + - perf/x86/intel: Fix ICL/SPR INST_RETIRED.PREC_DIST encodings + - parisc: fix warning in flush_tlb_all + - task_stack: Fix end_of_stack() for architectures with upwards-growing stack + - erofs: don't trigger WARN() when decompression fails + - parisc/unwind: fix unwinder when CONFIG_64BIT is enabled + - parisc/kgdb: add kgdb_roundup() to make kgdb work with idle polling + - netfilter: conntrack: set on IPS_ASSURED if flows enters internal stream + state + - selftests/bpf: Fix strobemeta selftest regression + - fbdev/efifb: Release PCI device's runtime PM ref during FB destroy + - drm/bridge: anx7625: Propagate errors from sp_tx_rst_aux() + - perf/x86/intel/uncore: Fix Intel SPR CHA event constraints + - perf/x86/intel/uncore: Fix Intel SPR IIO event constraints + - perf/x86/intel/uncore: Fix Intel SPR M2PCIE event constraints + - perf/x86/intel/uncore: Fix Intel SPR M3UPI event constraints + - drm/bridge: it66121: Initialize {device,vendor}_ids + - drm/bridge: it66121: Wait for next bridge to be probed + - Bluetooth: fix init and cleanup of sco_conn.timeout_work + - libbpf: Don't crash on object files with no symbol tables + - Bluetooth: hci_uart: fix GPF in h5_recv + - rcu: Fix existing exp request check in sync_sched_exp_online_cleanup() + - MIPS: lantiq: dma: fix burst length for DEU + - x86/xen: Mark cpu_bringup_and_idle() as dead_end_function + - objtool: Handle __sanitize_cov*() tail calls + - net/mlx5: Publish and unpublish all devlink parameters at once + - drm/v3d: fix wait for TMU write combiner flush + - crypto: sm4 - Do not change section of ck and sbox + - virtio-gpu: fix possible memory allocation failure + - lockdep: Let lock_is_held_type() detect recursive read as read + - net: net_namespace: Fix undefined member in key_remove_domain() + - net: phylink: don't call netif_carrier_off() with NULL netdev + - drm: bridge: it66121: Fix return value it66121_probe + - spi: Fixed division by zero warning + - cgroup: Make rebind_subsystems() disable v2 controllers all at once + - wcn36xx: Fix Antenna Diversity Switching + - wilc1000: fix possible memory leak in cfg_scan_result() + - Bluetooth: btmtkuart: fix a memleak in mtk_hci_wmt_sync + - drm/amdgpu: Fix crash on device remove/driver unload + - drm/amd/display: Pass display_pipe_params_st as const in DML + - drm/amdgpu: move amdgpu_virt_release_full_gpu to fini_early stage + - crypto: caam - disable pkc for non-E SoCs + - crypto: qat - power up 4xxx device + - Bluetooth: hci_h5: Fix (runtime)suspend issues on RTL8723BS HCIs + - bnxt_en: Check devlink allocation and registration status + - qed: Don't ignore devlink allocation failures + - rxrpc: Fix _usecs_to_jiffies() by using usecs_to_jiffies() + - mptcp: do not shrink snd_nxt when recovering + - fortify: Fix dropped strcpy() compile-time write overflow check + - mac80211: twt: don't use potentially unaligned pointer + - cfg80211: always free wiphy specific regdomain + - net/mlx5: Accept devlink user input after driver initialization complete + - net: dsa: rtl8366rb: Fix off-by-one bug + - net: dsa: rtl8366: Fix a bug in deleting VLANs + - bpf/tests: Fix error in tail call limit tests + - ath11k: fix some sleeping in atomic bugs + - ath11k: Avoid race during regd updates + - ath11k: fix packet drops due to incorrect 6 GHz freq value in rx status + - ath11k: Fix memory leak in ath11k_qmi_driver_event_work + - gve: DQO: avoid unused variable warnings + - ath10k: Fix missing frame timestamp for beacon/probe-resp + - ath10k: sdio: Add missing BH locking around napi_schdule() + - drm/ttm: stop calling tt_swapin in vm_access + - arm64: mm: update max_pfn after memory hotplug + - drm/amdgpu: fix warning for overflow check + - libbpf: Fix skel_internal.h to set errno on loader retval < 0 + - media: em28xx: add missing em28xx_close_extension + - media: meson-ge2d: Fix rotation parameter changes detection in + 'ge2d_s_ctrl()' + - media: cxd2880-spi: Fix a null pointer dereference on error handling path + - media: ttusb-dec: avoid release of non-acquired mutex + - media: dvb-usb: fix ununit-value in az6027_rc_query + - media: imx258: Fix getting clock frequency + - media: v4l2-ioctl: S_CTRL output the right value + - media: mtk-vcodec: venc: fix return value when start_streaming fails + - media: TDA1997x: handle short reads of hdmi info frame. + - media: mtk-vpu: Fix a resource leak in the error handling path of + 'mtk_vpu_probe()' + - media: imx-jpeg: Fix the error handling path of 'mxc_jpeg_probe()' + - media: i2c: ths8200 needs V4L2_ASYNC + - media: sun6i-csi: Allow the video device to be open multiple times + - media: radio-wl1273: Avoid card name truncation + - media: si470x: Avoid card name truncation + - media: tm6000: Avoid card name truncation + - media: cx23885: Fix snd_card_free call on null card pointer + - media: atmel: fix the ispck initialization + - scs: Release kasan vmalloc poison in scs_free process + - kprobes: Do not use local variable when creating debugfs file + - crypto: ecc - fix CRYPTO_DEFAULT_RNG dependency + - drm: fb_helper: fix CONFIG_FB dependency + - cpuidle: Fix kobject memory leaks in error paths + - media: em28xx: Don't use ops->suspend if it is NULL + - ath10k: Don't always treat modem stop events as crashes + - ath9k: Fix potential interrupt storm on queue reset + - PM: EM: Fix inefficient states detection + - x86/insn: Use get_unaligned() instead of memcpy() + - EDAC/amd64: Handle three rank interleaving mode + - rcu: Always inline rcu_dynticks_task*_{enter,exit}() + - rcu: Fix rcu_dynticks_curr_cpu_in_eqs() vs noinstr + - netfilter: nft_dynset: relax superfluous check on set updates + - media: venus: fix vpp frequency calculation for decoder + - media: dvb-frontends: mn88443x: Handle errors of clk_prepare_enable() + - crypto: ccree - avoid out-of-range warnings from clang + - crypto: qat - detect PFVF collision after ACK + - crypto: qat - disregard spurious PFVF interrupts + - hwrng: mtk - Force runtime pm ops for sleep ops + - ima: fix deadlock when traversing "ima_default_rules". + - b43legacy: fix a lower bounds test + - b43: fix a lower bounds test + - gve: Recover from queue stall due to missed IRQ + - gve: Track RX buffer allocation failures + - mmc: sdhci-omap: Fix NULL pointer exception if regulator is not configured + - mmc: sdhci-omap: Fix context restore + - memstick: avoid out-of-range warning + - memstick: jmb38x_ms: use appropriate free function in jmb38x_ms_alloc_host() + - net, neigh: Fix NTF_EXT_LEARNED in combination with NTF_USE + - hwmon: Fix possible memleak in __hwmon_device_register() + - hwmon: (pmbus/lm25066) Let compiler determine outer dimension of + lm25066_coeff + - ath10k: fix max antenna gain unit + - kernel/sched: Fix sched_fork() access an invalid sched_task_group + - net: fealnx: fix build for UML + - net: intel: igc_ptp: fix build for UML + - net: tulip: winbond-840: fix build for UML + - tcp: switch orphan_count to bare per-cpu counters + - crypto: octeontx2 - set assoclen in aead_do_fallback() + - thermal/core: fix a UAF bug in __thermal_cooling_device_register() + - drm/msm/dsi: do not enable irq handler before powering up the host + - drm/msm: Fix potential Oops in a6xx_gmu_rpmh_init() + - drm/msm: potential error pointer dereference in init() + - drm/msm: unlock on error in get_sched_entity() + - drm/msm: fix potential NULL dereference in cleanup + - drm/msm: uninitialized variable in msm_gem_import() + - net: stream: don't purge sk_error_queue in sk_stream_kill_queues() + - thermal/drivers/qcom/lmh: make QCOM_LMH depends on QCOM_SCM + - mailbox: Remove WARN_ON for async_cb.cb in cmdq_exec_done + - media: ivtv: fix build for UML + - media: ir_toy: assignment to be16 should be of correct type + - mmc: mxs-mmc: disable regulator on error and in the remove function + - io-wq: Remove duplicate code in io_workqueue_create() + - block: ataflop: fix breakage introduced at blk-mq refactoring + - platform/x86: thinkpad_acpi: Fix bitwise vs. logical warning + - mailbox: mtk-cmdq: Validate alias_id on probe + - mailbox: mtk-cmdq: Fix local clock ID usage + - ACPI: PM: Turn off unused wakeup power resources + - ACPI: PM: Fix sharing of wakeup power resources + - drm/amdkfd: Fix an inappropriate error handling in allloc memory of gpu + - mt76: mt7921: fix endianness in mt7921_mcu_tx_done_event + - mt76: mt7915: fix endianness warning in mt7915_mac_add_txs_skb + - mt76: mt7921: fix endianness warning in mt7921_update_txs + - mt76: mt7615: fix endianness warning in mt7615_mac_write_txwi + - mt76: mt7915: fix info leak in mt7915_mcu_set_pre_cal() + - mt76: connac: fix mt76_connac_gtk_rekey_tlv usage + - mt76: fix build error implicit enumeration conversion + - mt76: mt7921: fix survey-dump reporting + - mt76: mt76x02: fix endianness warnings in mt76x02_mac.c + - mt76: mt7921: Fix out of order process by invalid event pkt + - mt76: mt7915: fix potential overflow of eeprom page index + - mt76: mt7915: fix bit fields for HT rate idx + - mt76: mt7921: fix dma hang in rmmod + - mt76: connac: fix GTK rekey offload failure on WPA mixed mode + - mt76: overwrite default reg_ops if necessary + - mt76: mt7921: report HE MU radiotap + - mt76: mt7921: fix firmware usage of RA info using legacy rates + - mt76: mt7921: fix kernel warning from cfg80211_calculate_bitrate + - mt76: mt7921: always wake device if necessary in debugfs + - mt76: mt7915: fix hwmon temp sensor mem use-after-free + - mt76: mt7615: fix hwmon temp sensor mem use-after-free + - mt76: mt7915: fix possible infinite loop release semaphore + - mt76: mt7921: fix retrying release semaphore without end + - mt76: mt7615: fix monitor mode tear down crash + - mt76: connac: fix possible NULL pointer dereference in + mt76_connac_get_phy_mode_v2 + - mt76: mt7915: fix sta_rec_wtbl tag len + - mt76: mt7915: fix muar_idx in mt7915_mcu_alloc_sta_req() + - rsi: stop thread firstly in rsi_91x_init() error handling + - mwifiex: Send DELBA requests according to spec + - iwlwifi: mvm: reset PM state on unsuccessful resume + - iwlwifi: pnvm: don't kmemdup() more than we have + - iwlwifi: pnvm: read EFI data only if long enough + - net: enetc: unmap DMA in enetc_send_cmd() + - phy: micrel: ksz8041nl: do not use power down mode + - nbd: Fix use-after-free in pid_show + - nvme-rdma: fix error code in nvme_rdma_setup_ctrl + - PM: hibernate: fix sparse warnings + - clocksource/drivers/timer-ti-dm: Select TIMER_OF + - x86/sev: Fix stack type check in vc_switch_off_ist() + - drm/msm: Fix potential NULL dereference in DPU SSPP + - drm/msm/dsi: fix wrong type in msm_dsi_host + - crypto: tcrypt - fix skcipher multi-buffer tests for 1420B blocks + - smackfs: use netlbl_cfg_cipsov4_del() for deleting cipso_v4_doi + - KVM: selftests: Fix nested SVM tests when built with clang + - libbpf: Fix memory leak in btf__dedup() + - bpftool: Avoid leaking the JSON writer prepared for program metadata + - libbpf: Fix overflow in BTF sanity checks + - libbpf: Fix BTF header parsing checks + - mt76: mt7615: mt7622: fix ibss and meshpoint + - s390/gmap: validate VMA in __gmap_zap() + - s390/gmap: don't unconditionally call pte_unmap_unlock() in __gmap_zap() + - s390/mm: validate VMA in PGSTE manipulation functions + - s390/mm: fix VMA and page table handling code in storage key handling + functions + - s390/uv: fully validate the VMA before calling follow_page() + - KVM: s390: pv: avoid double free of sida page + - KVM: s390: pv: avoid stalls for kvm_s390_pv_init_vm + - irq: mips: avoid nested irq_enter() + - net: dsa: avoid refcount warnings when ->port_{fdb,mdb}_del returns error + - ARM: 9142/1: kasan: work around LPAE build warning + - ath10k: fix module load regression with iram-recovery feature + - block: ataflop: more blk-mq refactoring fixes + - blk-cgroup: synchronize blkg creation against policy deactivation + - libbpf: Fix off-by-one bug in bpf_core_apply_relo() + - tpm: fix Atmel TPM crash caused by too frequent queries + - tpm_tis_spi: Add missing SPI ID + - libbpf: Fix endianness detection in BPF_CORE_READ_BITFIELD_PROBED() + - tcp: don't free a FIN sk_buff in tcp_remove_empty_skb() + - tracing: Fix missing trace_boot_init_histograms kstrdup NULL checks + - cpufreq: intel_pstate: Fix cpu->pstate.turbo_freq initialization + - spi: spi-rpc-if: Check return value of rpcif_sw_init() + - samples/kretprobes: Fix return value if register_kretprobe() failed + - KVM: s390: Fix handle_sske page fault handling + - libertas_tf: Fix possible memory leak in probe and disconnect + - libertas: Fix possible memory leak in probe and disconnect + - wcn36xx: add proper DMA memory barriers in rx path + - wcn36xx: Fix discarded frames due to wrong sequence number + - bpf: Avoid races in __bpf_prog_run() for 32bit arches + - bpf: Fixes possible race in update_prog_stats() for 32bit arches + - wcn36xx: Channel list update before hardware scan + - drm/amdgpu: fix a potential memory leak in amdgpu_device_fini_sw() + - drm/amdgpu/gmc6: fix DMA mask from 44 to 40 bits + - selftests/bpf: Fix fd cleanup in sk_lookup test + - selftests/bpf: Fix memory leak in test_ima + - sctp: allow IP fragmentation when PLPMTUD enters Error state + - sctp: reset probe_timer in sctp_transport_pl_update + - sctp: subtract sctphdr len in sctp_transport_pl_hlen + - sctp: return true only for pathmtu update in sctp_transport_pl_toobig + - net: amd-xgbe: Toggle PLL settings during rate change + - ipmi: kcs_bmc: Fix a memory leak in the error handling path of + 'kcs_bmc_serio_add_device()' + - nfp: fix NULL pointer access when scheduling dim work + - nfp: fix potential deadlock when canceling dim work + - net: phylink: avoid mvneta warning when setting pause parameters + - net: bridge: fix uninitialized variables when BRIDGE_CFM is disabled + - selftests: net: bridge: update IGMP/MLD membership interval value + - crypto: pcrypt - Delay write to padata->info + - selftests/bpf: Fix fclose/pclose mismatch in test_progs + - udp6: allow SO_MARK ctrl msg to affect routing + - ibmvnic: don't stop queue in xmit + - ibmvnic: Process crqs after enabling interrupts + - ibmvnic: delay complete() + - selftests: mptcp: fix proto type in link_failure tests + - skmsg: Lose offset info in sk_psock_skb_ingress + - cgroup: Fix rootcg cpu.stat guest double counting + - bpf: Fix propagation of bounds from 64-bit min/max into 32-bit and var_off. + - bpf: Fix propagation of signed bounds from 64-bit min/max into 32-bit. + - of: unittest: fix EXPECT text for gpio hog errors + - cpufreq: Fix parameter in parse_perf_domain() + - staging: r8188eu: fix memory leak in rtw_set_key + - arm64: dts: meson: sm1: add Ethernet PHY reset line for ODROID-C4/HC4 + - iio: st_sensors: disable regulators after device unregistration + - RDMA/rxe: Fix wrong port_cap_flags + - ARM: dts: BCM5301X: Fix memory nodes names + - arm64: dts: broadcom: bcm4908: Fix UART clock name + - clk: mvebu: ap-cpu-clk: Fix a memory leak in error handling paths + - scsi: pm80xx: Fix lockup in outbound queue management + - scsi: qla2xxx: edif: Use link event to wake up app + - scsi: lpfc: Fix NVMe I/O failover to non-optimized path + - ARM: s3c: irq-s3c24xx: Fix return value check for s3c24xx_init_intc() + - arm64: dts: rockchip: Fix GPU register width for RK3328 + - ARM: dts: qcom: msm8974: Add xo_board reference clock to DSI0 PHY + - RDMA/bnxt_re: Fix query SRQ failure + - arm64: dts: ti: k3-j721e-main: Fix "max-virtual-functions" in PCIe EP nodes + - arm64: dts: ti: k3-j721e-main: Fix "bus-range" upto 256 bus number for PCIe + - arm64: dts: ti: j7200-main: Fix "vendor-id"/"device-id" properties of pcie + node + - arm64: dts: ti: j7200-main: Fix "bus-range" upto 256 bus number for PCIe + - arm64: dts: meson-g12a: Fix the pwm regulator supply properties + - arm64: dts: meson-g12b: Fix the pwm regulator supply properties + - arm64: dts: meson-sm1: Fix the pwm regulator supply properties + - bus: ti-sysc: Fix timekeeping_suspended warning on resume + - ARM: dts: at91: tse850: the emac<->phy interface is rmii + - arm64: dts: qcom: sc7180: Base dynamic CPU power coefficients in reality + - soc: qcom: llcc: Disable MMUHWT retention + - arm64: dts: qcom: sc7280: fix display port phy reg property + - scsi: dc395: Fix error case unwinding + - MIPS: loongson64: make CPU_LOONGSON64 depends on MIPS_FP_SUPPORT + - JFS: fix memleak in jfs_mount + - pinctrl: renesas: rzg2l: Fix missing port register 21h + - ASoC: wcd9335: Use correct version to initialize Class H + - arm64: dts: qcom: msm8916: Fix Secondary MI2S bit clock + - arm64: dts: renesas: beacon: Fix Ethernet PHY mode + - iommu/mediatek: Fix out-of-range warning with clang + - arm64: dts: qcom: pm8916: Remove wrong reg-names for rtc@6000 + - iommu/dma: Fix sync_sg with swiotlb + - iommu/dma: Fix arch_sync_dma for map + - ALSA: hda: Reduce udelay() at SKL+ position reporting + - ALSA: hda: Use position buffer for SKL+ again + - ALSA: usb-audio: Fix possible race at sync of urb completions + - soundwire: debugfs: use controller id and link_id for debugfs + - power: reset: at91-reset: check properly the return value of devm_of_iomap + - scsi: ufs: core: Fix ufshcd_probe_hba() prototype to match the definition + - scsi: ufs: core: Stop clearing UNIT ATTENTIONS + - scsi: megaraid_sas: Fix concurrent access to ISR between IRQ polling and + real interrupt + - scsi: pm80xx: Fix misleading log statement in pm8001_mpi_get_nvmd_resp() + - driver core: Fix possible memory leak in device_link_add() + - arm: dts: omap3-gta04a4: accelerometer irq fix + - ASoC: SOF: topology: do not power down primary core during topology removal + - iio: st_pressure_spi: Add missing entries SPI to device ID table + - soc/tegra: Fix an error handling path in tegra_powergate_power_up() + - memory: fsl_ifc: fix leak of irq and nand_irq in fsl_ifc_ctrl_probe + - clk: at91: check pmc node status before registering syscore ops + - powerpc/mem: Fix arch/powerpc/mm/mem.c:53:12: error: no previous prototype + for 'create_section_mapping' + - video: fbdev: chipsfb: use memset_io() instead of memset() + - powerpc: fix unbalanced node refcount in check_kvm_guest() + - powerpc/paravirt: correct preempt debug splat in vcpu_is_preempted() + - serial: 8250_dw: Drop wrong use of ACPI_PTR() + - usb: gadget: hid: fix error code in do_config() + - power: supply: rt5033_battery: Change voltage values to µV + - power: supply: max17040: fix null-ptr-deref in max17040_probe() + - scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn() + - RDMA/mlx4: Return missed an error if device doesn't support steering + - usb: musb: select GENERIC_PHY instead of depending on it + - staging: most: dim2: do not double-register the same device + - staging: ks7010: select CRYPTO_HASH/CRYPTO_MICHAEL_MIC + - RDMA/core: Set sgtable nents when using ib_dma_virt_map_sg() + - dyndbg: make dyndbg a known cli param + - powerpc/perf: Fix cycles/instructions as PM_CYC/PM_INST_CMPL in power10 + - pinctrl: renesas: checker: Fix off-by-one bug in drive register check + - ARM: dts: stm32: Reduce DHCOR SPI NOR frequency to 50 MHz + - ARM: dts: stm32: fix STUSB1600 Type-C irq level on stm32mp15xx-dkx + - ARM: dts: stm32: fix SAI sub nodes register range + - ARM: dts: stm32: fix AV96 board SAI2 pin muxing on stm32mp15 + - ASoC: cs42l42: Always configure both ASP TX channels + - ASoC: cs42l42: Correct some register default values + - ASoC: cs42l42: Defer probe if request_threaded_irq() returns EPROBE_DEFER + - soc: qcom: rpmhpd: Make power_on actually enable the domain + - soc: qcom: socinfo: add two missing PMIC IDs + - iio: buffer: Fix double-free in iio_buffers_alloc_sysfs_and_mask() + - usb: typec: STUSB160X should select REGMAP_I2C + - iio: adis: do not disabe IRQs in 'adis_init()' + - soundwire: bus: stop dereferencing invalid slave pointer + - scsi: ufs: ufshcd-pltfrm: Fix memory leak due to probe defer + - scsi: lpfc: Wait for successful restart of SLI3 adapter during host sg_reset + - serial: imx: fix detach/attach of serial console + - usb: dwc2: drd: fix dwc2_force_mode call in dwc2_ovr_init + - usb: dwc2: drd: fix dwc2_drd_role_sw_set when clock could be disabled + - usb: dwc2: drd: reset current session before setting the new one + - powerpc/booke: Disable STRICT_KERNEL_RWX, DEBUG_PAGEALLOC and KFENCE + - usb: dwc3: gadget: Skip resizing EP's TX FIFO if already resized + - firmware: qcom_scm: Fix error retval in __qcom_scm_is_call_available() + - soc: qcom: rpmhpd: fix sm8350_mxc's peer domain + - soc: qcom: apr: Add of_node_put() before return + - arm64: dts: qcom: pmi8994: Fix "eternal"->"external" typo in WLED node + - arm64: dts: qcom: sdm845: Use RPMH_CE_CLK macro directly + - arm64: dts: qcom: sdm845: Fix Qualcomm crypto engine bus clock + - pinctrl: equilibrium: Fix function addition in multiple groups + - ASoC: topology: Fix stub for snd_soc_tplg_component_remove() + - phy: qcom-qusb2: Fix a memory leak on probe + - phy: ti: gmii-sel: check of_get_address() for failure + - phy: qcom-qmp: another fix for the sc8180x PCIe definition + - phy: qcom-snps: Correct the FSEL_MASK + - phy: Sparx5 Eth SerDes: Fix return value check in sparx5_serdes_probe() + - serial: xilinx_uartps: Fix race condition causing stuck TX + - clk: at91: sam9x60-pll: use DIV_ROUND_CLOSEST_ULL + - clk: at91: clk-master: check if div or pres is zero + - clk: at91: clk-master: fix prescaler logic + - HID: u2fzero: clarify error check and length calculations + - HID: u2fzero: properly handle timeouts in usb_submit_urb + - powerpc/nohash: Fix __ptep_set_access_flags() and ptep_set_wrprotect() + - powerpc/book3e: Fix set_memory_x() and set_memory_nx() + - powerpc/44x/fsp2: add missing of_node_put + - powerpc/xmon: fix task state output + - ALSA: oxfw: fix functional regression for Mackie Onyx 1640i in v5.14 or + later + - iommu/dma: Fix incorrect error return on iommu deferred attach + - powerpc: Don't provide __kernel_map_pages() without + ARCH_SUPPORTS_DEBUG_PAGEALLOC + - ASoC: cs42l42: Correct configuring of switch inversion from ts-inv + - RDMA/hns: Fix initial arm_st of CQ + - RDMA/hns: Modify the value of MAX_LP_MSG_LEN to meet hardware compatibility + - ASoC: rsnd: Fix an error handling path in 'rsnd_node_count()' + - serial: cpm_uart: Protect udbg definitions by CONFIG_SERIAL_CPM_CONSOLE + - virtio_ring: check desc == NULL when using indirect with packed + - vdpa/mlx5: Fix clearing of VIRTIO_NET_F_MAC feature bit + - mips: cm: Convert to bitfield API to fix out-of-bounds access + - power: supply: bq27xxx: Fix kernel crash on IRQ handler register error + - RDMA/core: Require the driver to set the IOVA correctly during rereg_mr + - apparmor: fix error check + - rpmsg: Fix rpmsg_create_ept return when RPMSG config is not defined + - mtd: rawnand: intel: Fix potential buffer overflow in probe + - nfsd: don't alloc under spinlock in rpc_parse_scope_id + - rtc: ds1302: Add SPI ID table + - rtc: ds1390: Add SPI ID table + - rtc: pcf2123: Add SPI ID table + - remoteproc: imx_rproc: Fix TCM io memory type + - i2c: i801: Use PCI bus rescan mutex to protect P2SB access + - dmaengine: idxd: move out percpu_ref_exit() to ensure it's outside + submission + - rtc: mcp795: Add SPI ID table + - Input: ariel-pwrbutton - add SPI device ID table + - i2c: mediatek: fixing the incorrect register offset + - NFS: Default change_attr_type to NFS4_CHANGE_TYPE_IS_UNDEFINED + - NFS: Don't set NFS_INO_DATA_INVAL_DEFER and NFS_INO_INVALID_DATA + - NFS: Ignore the directory size when marking for revalidation + - NFS: Fix dentry verifier races + - pnfs/flexfiles: Fix misplaced barrier in nfs4_ff_layout_prepare_ds + - drm/bridge/lontium-lt9611uxc: fix provided connector suport + - drm/plane-helper: fix uninitialized variable reference + - PCI: aardvark: Don't spam about PIO Response Status + - PCI: aardvark: Fix preserving PCI_EXP_RTCTL_CRSSVE flag on emulated bridge + - opp: Fix return in _opp_add_static_v2() + - NFS: Fix deadlocks in nfs_scan_commit_list() + - sparc: Add missing "FORCE" target when using if_changed + - fs: orangefs: fix error return code of orangefs_revalidate_lookup() + - Input: st1232 - increase "wait ready" timeout + - drm/bridge: nwl-dsi: Add atomic_get_input_bus_fmts + - mtd: spi-nor: hisi-sfc: Remove excessive clk_disable_unprepare() + - PCI: uniphier: Serialize INTx masking/unmasking and fix the bit operation + - mtd: rawnand: arasan: Prevent an unsupported configuration + - mtd: core: don't remove debugfs directory if device is in use + - remoteproc: Fix a memory leak in an error handling path in + 'rproc_handle_vdev()' + - rtc: rv3032: fix error handling in rv3032_clkout_set_rate() + - dmaengine: at_xdmac: call at_xdmac_axi_config() on resume path + - dmaengine: at_xdmac: fix AT_XDMAC_CC_PERID() macro + - dmaengine: stm32-dma: fix stm32_dma_get_max_width + - NFS: Fix up commit deadlocks + - NFS: Fix an Oops in pnfs_mark_request_commit() + - Fix user namespace leak + - auxdisplay: img-ascii-lcd: Fix lock-up when displaying empty string + - auxdisplay: ht16k33: Connect backlight to fbdev + - auxdisplay: ht16k33: Fix frame buffer device blanking + - soc: fsl: dpaa2-console: free buffer before returning from + dpaa2_console_read + - netfilter: nfnetlink_queue: fix OOB when mac header was cleared + - dmaengine: dmaengine_desc_callback_valid(): Check for `callback_result` + - dmaengine: tegra210-adma: fix pm runtime unbalance + - dmanegine: idxd: fix resource free ordering on driver removal + - dmaengine: idxd: reconfig device after device reset command + - signal/sh: Use force_sig(SIGKILL) instead of do_group_exit(SIGKILL) + - m68k: set a default value for MEMORY_RESERVE + - watchdog: f71808e_wdt: fix inaccurate report in WDIOC_GETTIMEOUT + - ar7: fix kernel builds for compiler test + - scsi: target: core: Remove from tmr_list during LUN unlink + - scsi: qla2xxx: Relogin during fabric disturbance + - scsi: qla2xxx: Fix gnl list corruption + - scsi: qla2xxx: Turn off target reset during issue_lip + - scsi: qla2xxx: edif: Fix app start fail + - scsi: qla2xxx: edif: Fix app start delay + - scsi: qla2xxx: edif: Flush stale events and msgs on session down + - scsi: qla2xxx: edif: Increase ELS payload + - scsi: qla2xxx: edif: Fix EDIF bsg + - NFSv4: Fix a regression in nfs_set_open_stateid_locked() + - dmaengine: idxd: fix resource leak on dmaengine driver disable + - i2c: xlr: Fix a resource leak in the error handling path of + 'xlr_i2c_probe()' + - gpio: realtek-otto: fix GPIO line IRQ offset + - xen-pciback: Fix return in pm_ctrl_init() + - nbd: fix max value for 'first_minor' + - nbd: fix possible overflow for 'first_minor' in nbd_dev_add() + - io-wq: fix max-workers not correctly set on multi-node system + - net: davinci_emac: Fix interrupt pacing disable + - kselftests/net: add missed icmp.sh test to Makefile + - kselftests/net: add missed setup_loopback.sh/setup_veth.sh to Makefile + - kselftests/net: add missed SRv6 tests + - kselftests/net: add missed vrf_strict_mode_test.sh test to Makefile + - kselftests/net: add missed toeplitz.sh/toeplitz_client.sh to Makefile + - ethtool: fix ethtool msg len calculation for pause stats + - openrisc: fix SMP tlb flush NULL pointer dereference + - net: vlan: fix a UAF in vlan_dev_real_dev() + - net: dsa: felix: fix broken VLAN-tagged PTP under VLAN-aware bridge + - ice: Fix replacing VF hardware MAC to existing MAC filter + - ice: Fix not stopping Tx queues for VFs + - kdb: Adopt scheduler's task classification + - ACPI: PMIC: Fix intel_pmic_regs_handler() read accesses + - PCI: j721e: Fix j721e_pcie_probe() error path + - nvdimm/btt: do not call del_gendisk() if not needed + - scsi: bsg: Fix errno when scsi_bsg_register_queue() fails + - scsi: ufs: ufshpb: Use proper power management API + - scsi: ufs: core: Fix NULL pointer dereference + - scsi: ufs: ufshpb: Properly handle max-single-cmd + - drm/nouveau/svm: Fix refcount leak bug and missing check against null bug + - nvdimm/pmem: cleanup the disk if pmem_release_disk() is yet assigned + - block/ataflop: use the blk_cleanup_disk() helper + - block/ataflop: add registration bool before calling del_gendisk() + - block/ataflop: provide a helper for cleanup up an atari disk + - ataflop: remove ataflop_probe_lock mutex + - PCI: Do not enable AtomicOps on VFs + - cpufreq: intel_pstate: Clear HWP desired on suspend/shutdown and offline + - net: phy: fix duplex out of sync problem while changing settings + - block: fix device_add_disk() kobject_create_and_add() error handling + - drm/ttm: remove ttm_bo_vm_insert_huge() + - bonding: Fix a use-after-free problem when bond_sysfs_slave_add() failed + - octeontx2-pf: select CONFIG_NET_DEVLINK + - ALSA: memalloc: Catch call with NULL snd_dma_buffer pointer + - mfd: core: Add missing of_node_put for loop iteration + - mfd: cpcap: Add SPI device ID table + - mfd: sprd: Add SPI device ID table + - mfd: altera-sysmgr: Fix a mistake caused by resource_size conversion + - ACPI: PM: Fix device wakeup power reference counting error + - libbpf: Fix lookup_and_delete_elem_flags error reporting + - selftests/bpf/xdp_redirect_multi: Put the logs to tmp folder + - selftests/bpf/xdp_redirect_multi: Use arping to accurate the arp number + - selftests/bpf/xdp_redirect_multi: Give tcpdump a chance to terminate cleanly + - selftests/bpf/xdp_redirect_multi: Limit the tests in netns + - drm: fb_helper: improve CONFIG_FB dependency + - Revert "drm/imx: Annotate dma-fence critical section in commit path" + - drm/amdgpu/powerplay: fix sysfs_emit/sysfs_emit_at handling + - can: etas_es58x: es58x_rx_err_msg(): fix memory leak in error path + - can: mcp251xfd: mcp251xfd_chip_start(): fix error handling for + mcp251xfd_chip_rx_int_enable() + - mm/zsmalloc.c: close race window between zs_pool_dec_isolated() and + zs_unregister_migration() + - zram: off by one in read_block_state() + - perf bpf: Add missing free to bpf_event__print_bpf_prog_info() + - llc: fix out-of-bound array index in llc_sk_dev_hash() + - nfc: pn533: Fix double free when pn533_fill_fragment_skbs() fails + - litex_liteeth: Fix a double free in the remove function + - arm64: arm64_ftr_reg->name may not be a human-readable string + - arm64: pgtable: make __pte_to_phys/__phys_to_pte_val inline functions + - bpf, sockmap: Remove unhash handler for BPF sockmap usage + - bpf, sockmap: Fix race in ingress receive verdict with redirect to self + - bpf: sockmap, strparser, and tls are reusing qdisc_skb_cb and colliding + - bpf, sockmap: sk_skb data_end access incorrect when src_reg = dst_reg + - dmaengine: stm32-dma: fix burst in case of unaligned memory address + - dmaengine: stm32-dma: avoid 64-bit division in stm32_dma_get_max_width + - gve: Fix off by one in gve_tx_timeout() + - drm/i915/fb: Fix rounding error in subsampled plane size calculation + - init: make unknown command line param message clearer + - seq_file: fix passing wrong private data + - drm/amdgpu: fix uvd crash on Polaris12 during driver unloading + - net: dsa: mv88e6xxx: Don't support >1G speeds on 6191X on ports other than + 10 + - net/sched: sch_taprio: fix undefined behavior in ktime_mono_to_any + - net: hns3: fix ROCE base interrupt vector initialization bug + - net: hns3: fix pfc packet number incorrect after querying pfc parameters + - net: hns3: fix kernel crash when unload VF while it is being reset + - net: hns3: allow configure ETS bandwidth of all TCs + - net: stmmac: allow a tc-taprio base-time of zero + - net: ethernet: ti: cpsw_ale: Fix access to un-initialized memory + - net: marvell: mvpp2: Fix wrong SerDes reconfiguration order + - vsock: prevent unnecessary refcnt inc for nonblocking connect + - net/smc: fix sk_refcnt underflow on linkdown and fallback + - cxgb4: fix eeprom len when diagnostics not implemented + - selftests/net: udpgso_bench_rx: fix port argument + - thermal: int340x: fix build on 32-bit targets + - smb3: do not error on fsync when readonly + - ARM: 9155/1: fix early early_iounmap() + - ARM: 9156/1: drop cc-option fallbacks for architecture selection + - parisc: Fix backtrace to always include init funtion names + - parisc: Flush kernel data mapping in set_pte_at() when installing pte for + user page + - MIPS: fix duplicated slashes for Platform file path + - MIPS: fix *-pkg builds for loongson2ef platform + - MIPS: Fix assembly error from MIPSr2 code used within MIPS_ISA_ARCH_LEVEL + - x86/mce: Add errata workaround for Skylake SKX37 + - PCI/MSI: Move non-mask check back into low level accessors + - PCI/MSI: Destroy sysfs before freeing entries + - KVM: x86: move guest_pv_has out of user_access section + - posix-cpu-timers: Clear task::posix_cputimers_work in copy_process() + - irqchip/sifive-plic: Fixup EOI failed when masked + - f2fs: should use GFP_NOFS for directory inodes + - f2fs: include non-compressed blocks in compr_written_block + - f2fs: fix UAF in f2fs_available_free_memory + - ceph: fix mdsmap decode when there are MDS's beyond max_mds + - erofs: fix unsafe pagevec reuse of hooked pclusters + - drm/i915/guc: Fix blocked context accounting + - block: Hold invalidate_lock in BLKDISCARD ioctl + - block: Hold invalidate_lock in BLKZEROOUT ioctl + - block: Hold invalidate_lock in BLKRESETZONE ioctl + - ksmbd: Fix buffer length check in fsctl_validate_negotiate_info() + - ksmbd: don't need 8byte alignment for request length in ksmbd_check_message + - dmaengine: ti: k3-udma: Set bchan to NULL if a channel request fail + - dmaengine: ti: k3-udma: Set r/tchan or rflow to NULL if request fail + - dmaengine: bestcomm: fix system boot lockups + - net, neigh: Enable state migration between NUD_PERMANENT and NTF_USE + - 9p/net: fix missing error check in p9_check_errors + - mm/filemap.c: remove bogus VM_BUG_ON + - memcg: prohibit unconditional exceeding the limit of dying tasks + - mm, oom: pagefault_out_of_memory: don't force global OOM for dying tasks + - mm, oom: do not trigger out_of_memory from the #PF + - mm, thp: lock filemap when truncating page cache + - mm, thp: fix incorrect unmap behavior for private pages + - mfd: dln2: Add cell for initializing DLN2 ADC + - video: backlight: Drop maximum brightness override for brightness zero + - bcache: fix use-after-free problem in bcache_device_free() + - bcache: Revert "bcache: use bvec_virt" + - PM: sleep: Avoid calling put_device() under dpm_list_mtx + - s390/cpumf: cpum_cf PMU displays invalid value after hotplug remove + - s390/cio: check the subchannel validity for dev_busid + - s390/tape: fix timer initialization in tape_std_assign() + - s390/ap: Fix hanging ioctl caused by orphaned replies + - s390/cio: make ccw_device_dma_* more robust + - remoteproc: elf_loader: Fix loading segment when is_iomem true + - remoteproc: Fix the wrong default value of is_iomem + - remoteproc: imx_rproc: Fix ignoring mapping vdev regions + - remoteproc: imx_rproc: Fix rsc-table name + - mtd: rawnand: fsmc: Fix use of SM ORDER + - mtd: rawnand: ams-delta: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: xway: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: mpc5121: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: gpio: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: pasemi: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: orion: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: plat_nand: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: au1550nd: Keep the driver compatible with on-die ECC engines + - powerpc/vas: Fix potential NULL pointer dereference + - powerpc/bpf: Fix write protecting JIT code + - powerpc/32e: Ignore ESR in instruction storage interrupt handler + - powerpc/powernv/prd: Unregister OPAL_MSG_PRD2 notifier during module unload + - powerpc/security: Use a mutex for interrupt exit code patching + - powerpc/64s/interrupt: Fix check_return_regs_valid() false positive + - powerpc/pseries/mobility: ignore ibm, platform-facilities updates + - powerpc/85xx: fix timebase sync issue when CONFIG_HOTPLUG_CPU=n + - drm/sun4i: Fix macros in sun8i_csc.h + - PCI: Add PCI_EXP_DEVCTL_PAYLOAD_* macros + - PCI: aardvark: Fix PCIe Max Payload Size setting + - SUNRPC: Partial revert of commit 6f9f17287e78 + - drm/amd/display: Look at firmware version to determine using dmub on dcn21 + - media: vidtv: move kfree(dvb) to vidtv_bridge_dev_release() + - cifs: fix memory leak of smb3_fs_context_dup::server_hostname + - ath10k: fix invalid dma_addr_t token assignment + - mmc: moxart: Fix null pointer dereference on pointer host + - selftests/x86/iopl: Adjust to the faked iopl CLI/STI usage + - selftests/bpf: Fix also no-alu32 strobemeta selftest + - arch/cc: Introduce a function to check for confidential computing features + - x86/sev: Add an x86 version of cc_platform_has() + - x86/sev: Make the #VC exception stacks part of the default stacks storage + - media: videobuf2: always set buffer vb2 pointer + - media: videobuf2-dma-sg: Fix buf->vb NULL pointer dereference + - Linux 5.15.3 + + * kernel panic: NULL pointer dereference in wb_timer_f() (LP: #1947557) // + Jammy update: v5.15.3 upstream stable release (LP: #1951822) + - blk-wbt: prevent NULL pointer dereference in wb_timer_fn + + * Medion Notebook Keyboard not working (LP: #1909814) // Jammy update: v5.15.3 + upstream stable release (LP: #1951822) + - ACPI: resources: Add DMI-based legacy IRQ override quirk + + * Enable CONFIG_INTEL_IOMMU_DEFAULT_ON and + CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON on jammy 5.15 (LP: #1951440) + - [Config] enable Intel DMA remapping options by default + + * Thinkpad E14 Gen2: Kernel panic with trackpad and trackpoint enabled + (LP: #1945590) + - SAUCE: Input: elantech - Fix stack out of bound access in + elantech_change_report_id() + + * Miscellaneous Ubuntu changes + - SAUCE: LSM: Specify which LSM to display (using struct cred as input) + - SAUCE: selftests/seccomp: fix check of fds being assigned + - [Config] enable SUNRPC_DISABLE_INSECURE_ENCTYPES + - [Config] updateconfigs following v5.15.3, v5.15.4 import + + * Miscellaneous upstream changes + - binder: use cred instead of task for selinux checks + - binder: use cred instead of task for getsecid + - Revert "UBUNTU: SAUCE: storvsc: use small sg_tablesize on x86" + + -- Paolo Pisati Mon, 22 Nov 2021 13:14:15 +0100 + +linux (5.15.0-11.11) jammy; urgency=medium + + * jammy/linux: 5.15.0-11.11 -proposed tracker (LP: #1950948) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * OOPs on boot: invalid opcode: 0000 [#1] SMP NOPTI (LP: #1942215) + - SAUCE: ACPICA: prevent out-of-bound access with buggy DSDT + - [Config] disable UBSAN + - SAUCE: ACPICA: avoid accessing operands out-of-bounds + + * Jammy update: v5.15.2 upstream stable release (LP: #1950949) + - KVM: x86: avoid warning with -Wbitwise-instead-of-logical + - Revert "x86/kvm: fix vcpu-id indexed array sizes" + - usb: ehci: handshake CMD_RUN instead of STS_HALT + - usb: gadget: Mark USB_FSL_QE broken on 64-bit + - usb: musb: Balance list entry in musb_gadget_queue + - usb-storage: Add compatibility quirk flags for iODD 2531/2541 + - Revert "proc/wchan: use printk format instead of lookup_symbol_name()" + - binder: use euid from cred instead of using task + - binder: don't detect sender/target during buffer cleanup + - kfence: always use static branches to guard kfence_alloc() + - kfence: default to dynamic branch instead of static keys mode + - btrfs: fix lzo_decompress_bio() kmap leakage + - staging: rtl8712: fix use-after-free in rtl8712_dl_fw + - isofs: Fix out of bound access for corrupted isofs image + - comedi: dt9812: fix DMA buffers on stack + - comedi: ni_usb6501: fix NULL-deref in command paths + - comedi: vmk80xx: fix transfer-buffer overflows + - comedi: vmk80xx: fix bulk-buffer overflow + - comedi: vmk80xx: fix bulk and interrupt message timeouts + - staging: r8712u: fix control-message timeout + - staging: rtl8192u: fix control-message timeouts + - staging: r8188eu: fix memleak in rtw_wx_set_enc_ext + - media: staging/intel-ipu3: css: Fix wrong size comparison imgu_css_fw_init + - rsi: fix control-message timeout + - Linux 5.15.2 + + * reuseport_bpf_numa in net from ubuntu_kernel_selftests fails on ppc64le + (LP: #1867570) + - selftests/net: Fix reuseport_bpf_numa by skipping unavailable nodes + + * Miscellaneous Ubuntu changes + - packaging: switch getabis to the linux package name + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: (no-up) rename the adv7511 drm driver to adv7511_drm" + - Revert "UBUNTU: SAUCE: drm/i915/dp: Use max params for older panels" + - Revert "UBUNTU: SAUCE: i915: Fix build error due to missing struct + definition" + - selftests/core: fix conflicting types compile error for close_range() + - selftests: net: test_vxlan_under_vrf: fix HV connectivity test + - Revert "UBUNTU: SAUCE: ACPICA: prevent out-of-bound access with buggy DSDT" + + -- Paolo Pisati Mon, 15 Nov 2021 10:12:47 +0100 + +linux (5.15.0-10.10) jammy; urgency=medium + + * jammy/linux: 5.15.0-10.10 -proposed tracker (LP: #1950133) + + * Jammy update: v5.15.1 upstream stable release (LP: #1950131) + - sfc: Fix reading non-legacy supported link modes + - media: firewire: firedtv-avc: fix a buffer overflow in avc_ca_pmt() + - Revert "xhci: Set HCD flag to defer primary roothub registration" + - Revert "usb: core: hcd: Add support for deferring roothub registration" + - drm/amdkfd: fix boot failure when iommu is disabled in Picasso. + - Revert "soc: imx: gpcv2: move reset assert after requesting domain power up" + - ARM: 9120/1: Revert "amba: make use of -1 IRQs warn" + - Revert "wcn36xx: Disable bmps when encryption is disabled" + - drm/amdgpu: revert "Add autodump debugfs node for gpu reset v8" + - drm/amd/display: Revert "Directly retrain link from debugfs" + - Revert "drm/i915/gt: Propagate change in error status to children on unhold" + - ALSA: usb-audio: Add quirk for Audient iD14 + - Linux 5.15.1 + + * Miscellaneous Ubuntu changes + - packaging: fixup previous ABI/spin to -9.9 + - [Packaging] Drop unused d-i build-deps and packaging + - [Packaging] Drop now unsupported d-i/ input files + + * Miscellaneous upstream changes + - selftests: net: properly support IPv6 in GSO GRE test + - signal: Add SA_IMMUTABLE to ensure forced siganls do not get changed + + -- Paolo Pisati Mon, 08 Nov 2021 14:43:24 +0100 + +linux (5.15.0-9.9) jammy; urgency=medium + + * jammy/linux: 5.15.0-1.1 -proposed tracker (LP: #1949876) + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + - [Packaging] update Ubuntu.md + + * Add F81966 watchdog support (LP: #1949063) + - SAUCE: ODM: watchdog: f71808e_wdt: Add F81966 support + + * Miscellaneous Ubuntu changes + - [Packaging] Rewrite debian/scripts/misc/insert-changes.pl in Python + - [Packaging] change source package name to linux + + -- Andrea Righi Thu, 04 Nov 2021 18:47:19 +0100 + +linux (5.15.0-0.0) jammy; urgency=medium + + * Empty entry + + -- Andrea Righi Thu, 04 Nov 2021 16:47:16 +0100 + +linux-unstable (5.15.0-8.8) jammy; urgency=medium + + * jammy/linux-unstable: 5.15.0-8.8 -proposed tracker (LP: #1949436) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Drop "UBUNTU: SAUCE: cachefiles: Page leaking in + cachefiles_read_backing_file while vmscan is active" (LP: #1947709) + - Revert "UBUNTU: SAUCE: cachefiles: Page leaking in + cachefiles_read_backing_file while vmscan is active" + + * Add l2tp.sh in net from ubuntu_kernel_selftests back (LP: #1934293) + - Revert "UBUNTU: SAUCE: selftests/net -- disable l2tp.sh test" + + * Check for changes relevant for security certifications (LP: #1945989) + - [Packaging] Add fips-checks as part of finalchecks + + * Add final-checks to check certificates (LP: #1947174) + - [Packaging] Add system trusted and revocation keys final check + + * Can only reach PC3 when ethernet is plugged r8169 (LP: #1946433) + - r8169: Enable chip-specific ASPM regardless of PCIe ASPM status + - PCI/ASPM: Introduce a new helper to report ASPM capability + - r8169: Implement dynamic ASPM mechanism + + * rtw89 kernel module for Realtek 8852 wifi is missing (LP: #1945967) + - rtw89: add Realtek 802.11ax driver + - rtw89: Remove redundant check of ret after call to rtw89_mac_enable_bb_rf + - rtw89: fix return value check in rtw89_cam_send_sec_key_cmd() + - rtw89: remove unneeded semicolon + - [Config] RTW89=m + + * Fix A yellow screen pops up in an instant (< 1 second) and then disappears + before loading the system (LP: #1945932) + - drm/i915: Stop force enabling pipe bottom color gammma/csc + + * disable CONFIG_KFENCE_STATIC_KEYS in linux 5.15 (LP: #1948038) + - [Config] disable CONFIG_KFENCE_STATIC_KEYS + + * Miscellaneous Ubuntu changes + - [Debian] Remove old and unused firmware helper scripts + - [Packaging] Replace Perl oneliner with Bash statements + - rebase to v5.15 + + [ Upstream Kernel Changes ] + + * Rebase to v5.15 + + -- Paolo Pisati Tue, 02 Nov 2021 08:29:45 +0100 + +linux-unstable (5.15.0-7.7) jammy; urgency=medium + + * jammy/linux-unstable: 5.15.0-7.7 -proposed tracker (LP: #1948770) + + * Miscellaneous Ubuntu changes + - [Config] Temporarily disable signing for ppc64el and s390x + - packaging: switch release to Jammy + - rebase to v5.15-rc7 + - [Config] GCC version update + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc7 + + -- Paolo Pisati Tue, 26 Oct 2021 11:38:14 +0200 + +linux-unstable (5.15.0-6.6) jammy; urgency=medium + + * impish/linux-unstable: 5.15.0-6.6 -proposed tracker (LP: #1947565) + + * [impish] Remove the downstream xr-usb-uart driver (LP: #1945938) + - SAUCE: xr-usb-serial: remove driver + - [Config] update modules list + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc6 + - [Config] update config & annotations following v5.15-rc6 rebase + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: xr-usb-serial: switch to tty_alloc_driver() and + tty_driver_kref_put()" + - Revert "UBUNTU: SAUCE: xr-usb-serial: update return code for + xr_usb_serial_tty_write_room() and xr_usb_serial_tty_chars_in_buffer()" + - Revert "UBUNTU: [Packaging] FTBFS: disable zfs" + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc6 + + -- Paolo Pisati Mon, 18 Oct 2021 12:24:45 +0200 + +linux-unstable (5.15.0-5.5) impish; urgency=medium + + * impish/linux-unstable: 5.15.0-5.5 -proposed tracker (LP: #1946338) + + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc5 + - [Config] FB_SIMPLE=m + - [Config] update annotations + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc5 + + -- Paolo Pisati Mon, 11 Oct 2021 12:14:02 +0200 + +linux-unstable (5.15.0-4.4) impish; urgency=medium + + * impish/linux-unstable: 5.15.0-4.4 -proposed tracker (LP: #1945953) + + * Fix missing HDMI audio on Intel RKL (LP: #1945556) + - drm/i915/audio: Use BIOS provided value for RKL HDA link + + * Miscellaneous Ubuntu changes + - SAUCE: media: atomisp: add missing return type (fix -Werror=return-type) + - SAUCE: xr-usb-serial: switch to tty_alloc_driver() and tty_driver_kref_put() + - rebase to v5.15-rc4 + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] FTBFS: disable INTEL_ATOMISP" + - Revert "UBUNTU: [Config] FTBFS: disable xr-usb-serial" + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc4 + + -- Paolo Pisati Mon, 04 Oct 2021 10:52:41 +0200 + +linux-unstable (5.15.0-3.3) impish; urgency=medium + + * impish/linux-unstable: 5.15.0-3.3 -proposed tracker (LP: #1944944) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc3 + - [Config] updateconfigs following v5.15-rc3 rebase + - [Packaging] correctly evaluate release in update-dkms-versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc3 + + -- Paolo Pisati Mon, 27 Sep 2021 16:48:03 +0200 + +linux-unstable (5.15.0-2.2) impish; urgency=medium + + * impish/linux-unstable: 5.15.0-2.2 -proposed tracker (LP: #1944423) + + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc2 + - [Config] updateconfigs following v5.15-rc2 rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc2 + + -- Paolo Pisati Tue, 21 Sep 2021 11:46:59 +0200 + +linux-unstable (5.15.0-1.1) impish; urgency=medium + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * LRMv5: switch primary version handling to kernel-versions data set + (LP: #1928921) + - [Packaging] switch to kernel-versions + + * Miscellaneous Ubuntu changes + - [Packaging] remove remaining references to ports + - [Packaging] drop x32 architecture configs + - [Config] mark CONFIG_BPF_UNPRIV_DEFAULT_OFF enforced + - [Packaging] bump kernel version to 5.15 + - rebase to v5.15-rc1 + - [Config] updateconfigs following v5.15-rc1 rebase + - [Config] FTBFS: disable INTEL_ATOMISP + - [Config] FTBFS: disable xr-usb-serial + - [Packaging] FTBFS: disable zfs + + * Miscellaneous upstream changes + - Revert "r8169: avoid link-up interrupt issue on RTL8106e if user enables + ASPM" + - Revert "UBUNTU: SAUCE: RDMA/core: Introduce peer memory interface" + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc1 + + -- Paolo Pisati Fri, 17 Sep 2021 11:42:25 +0200 + +linux-unstable (5.15.0-0.0) impish; urgency=medium + + * Empty entry + + -- Paolo Pisati Wed, 15 Sep 2021 11:54:10 +0200 + +linux-unstable (5.14.0-9.9) impish; urgency=medium + + * impish/linux-unstable: 5.14.0-9.9 -proposed tracker (LP: #1943022) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Packaging] NVIDIA -- Add the NVIDIA 470 driver + - [Packaging] NVIDIA: transition -460 and -465 to -470, transition -460-server + to -470-server + + * Miscellaneous upstream changes + - vt_kdsetmode: extend console locking + - Bluetooth: btusb: check conditions before enabling USB ALT 3 for WBS + - net: dsa: mt7530: fix VLAN traffic leaks again + - btrfs: fix NULL pointer dereference when deleting device by invalid id + - Revert "floppy: reintroduce O_NDELAY fix" + - fscrypt: add fscrypt_symlink_getattr() for computing st_size + - ext4: report correct st_size for encrypted symlinks + - f2fs: report correct st_size for encrypted symlinks + - ubifs: report correct st_size for encrypted symlinks + - net: don't unconditionally copy_from_user a struct ifreq for socket ioctls + - audit: move put_tree() to avoid trim_trees refcount underflow and UAF + - Linux 5.14.1 + + -- Paolo Pisati Wed, 08 Sep 2021 12:20:18 +0200 + +linux-unstable (5.14.0-8.8) impish; urgency=medium + + * impish/linux-unstable: 5.14.0-8.8 -proposed tracker (LP: #1941887) + + * Fix Intel AC9560 BT function cannot turn on if BT turn off before S3 entry + (LP: #1941696) + - SAUCE: Bluetooth: btusb: add a reject table to disable msft + + * Add USB4 support for AMD SoC (LP: #1941036) + - thunderbolt: Add vendor specific NHI quirk for auto-clearing interrupt + status + - thunderbolt: Handle ring interrupt by reading interrupt status register + - thunderbolt: Do not read control adapter config space + - thunderbolt: Fix port linking by checking all adapters + + * Support builtin revoked certificates (LP: #1932029) + - [Config] Enforce SYSTEM_TRUSTED_KEYS and SYSTEM_REVOCATION_KEYS + + * GPIO error logs in start and dmesg after update of kernel (LP: #1937897) + - ODM: mfd: Check AAEON BFPI version before adding device + + * initramfs-tools & kernel: use zstd as the default compression method + (LP: #1931725) + - [Config] enforce ZSTD compression + + * Miscellaneous Ubuntu changes + - rebase to v5.14 + - [Config] RESET_MCHP_SPARX5 depends on ARCH_SPARX5 + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] FTBFS: disable zfs" + + [ Upstream Kernel Changes ] + + * Rebase to v5.14 + + -- Paolo Pisati Mon, 30 Aug 2021 12:57:19 +0200 + +linux-unstable (5.14.0-7.7) impish; urgency=medium + + * Please enable CONFIG_UBSAN_BOUNDS (LP: #1914685) + - [Config] Enable CONFIG_UBSAN_BOUNDS + + * CONFIG_HARDENED_USERCOPY_FALLBACK should be disabled (LP: #1855340) + - [Config] Disable CONFIG_HARDENED_USERCOPY_FALLBACK + + * fs: removing mandatory locks (LP: #1940392) + - [Config] Disable CONFIG_MANDATORY_FILE_LOCKING + + * Fix kernel panic caused by legacy devices on AMD platforms (LP: #1936682) + - SAUCE: iommu/amd: Keep swiotlb enabled to ensure devices with 32bit DMA + still work + + * ALSA: hda/cs8409: Add support for dolphin (LP: #1939541) + - ALSA: hda/cirrus: Move CS8409 HDA bridge to separate module + - ALSA: hda/cs8409: Move arrays of configuration to a new file + - ALSA: hda/cs8409: Use enums for register names and coefficients + - ALSA: hda/cs8409: Mask all CS42L42 interrupts on initialization + - ALSA: hda/cs8409: Reduce HS pops/clicks for Cyborg + - ALSA: hda/cs8409: Disable unnecessary Ring Sense for Cyborg/Warlock/Bullseye + - ALSA: hda/cs8409: Disable unsolicited responses during suspend + - ALSA: hda/cs8409: Disable unsolicited response for the first boot + - ALSA: hda/cs8409: Mask CS42L42 wake events + - ALSA: hda/cs8409: Simplify CS42L42 jack detect. + - ALSA: hda/cs8409: Prevent I2C access during suspend time + - ALSA: hda/cs8409: Generalize volume controls + - ALSA: hda/cs8409: Dont disable I2C clock between consecutive accesses + - ALSA: hda/cs8409: Avoid setting the same I2C address for every access + - ALSA: hda/cs8409: Avoid re-setting the same page as the last access + - ALSA: hda/cs8409: Support i2c bulk read/write functions + - ALSA: hda/cs8409: Separate CS8409, CS42L42 and project functions + - ALSA: hda/cs8409: Move codec properties to its own struct + - ALSA: hda/cs8409: Support multiple sub_codecs for Suspend/Resume/Unsol + events + - ALSA: hda/cs8409: Add Support to disable jack type detection for CS42L42 + - ALSA: hda/cs8409: Add support for dolphin + - ALSA: hda/cs8409: Enable Full Scale Volume for Line Out Codec on Dolphin + - ALSA: hda/cs8409: Set fixed sample rate of 48kHz for CS42L42 + - ALSA: hda/cs8409: Use timeout rather than retries for I2C transaction waits + - ALSA: hda/cs8409: Remove unnecessary delays + - ALSA: hda/cs8409: Follow correct CS42L42 power down sequence for suspend + - ALSA: hda/cs8409: Unmute/Mute codec when stream starts/stops + - ALSA: hda/cs8409: Prevent pops and clicks during suspend + - SAUCE: ALSA: hda/cs8409: Prevent pops and clicks during reboot + - [Config] Enable Cirrus Logic HDA bridge support + + * e1000e: add handshake with the Intel CSME to support S0ix (LP: #1937252) + - SAUCE: e1000e: Add handshake with the CSME to support S0ix + - SAUCE: e1000e: Add polling mechanism to indicate CSME DPG exit + - SAUCE: e1000e: Additional PHY power saving in S0ix + + * AMDGPU: Fix System hang after resume from suspend (LP: #1940204) + - SAUCE: drm/amdgpu: disable BACO support for 699F:C7 polaris12 SKU + temporarily + + * [Regression] Audio card [8086:9d71] not detected after upgrade from linux + 5.4 to 5.8 (LP: #1915117) + - [Config] set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y + + * Miscellaneous Ubuntu changes + - rebase to v5.14-rc7 + - [Config] updateconfigs following 5.14-rc7 rebase + - [Config] Enable CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT + - [Config] annotations: set CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT to y + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] annotations: set + CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y" + - Revert "UBUNTU: [Config] set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to + y" + + [ Upstream Kernel Changes ] + + * Rebase to v5.14-rc7 + + -- Paolo Pisati Tue, 24 Aug 2021 10:32:31 +0200 + +linux-unstable (5.14.0-6.6) impish; urgency=medium + + * Miscellaneous Ubuntu changes + - no changes upload (to avoid picking up libc6 from -proposed) + + * No changes upload (to avoid picking up libc6 from -proposed) + + -- Paolo Pisati Wed, 18 Aug 2021 13:41:16 +0200 + +linux-unstable (5.14.0-5.5) impish; urgency=medium + + * disable “CONFIG_HISI_DMA” config for ubuntu version (LP: #1936771) + - [Config] Disable CONFIG_HISI_DMA + + * Dell XPS 17 (9710) PCI/internal sound card not detected (LP: #1935850) + - ASoC: Intel: sof_sdw: include rt711.h for RT711 JD mode + - ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 + + * [regression] USB device is not detected during boot (LP: #1939638) + - SAUCE: Revert "usb: core: reduce power-on-good delay time of root hub" + + * armhf build failure (LP: #1939308) + - SAUCE: arm: Fix instruction set selection for GCC 11 + + * REGRESSION: shiftfs lets sendfile fail with EINVAL (LP: #1939301) + - SAUCE: shiftfs: fix sendfile() invocations + + * Wobbly graphics on built-in display since linux-image-5.11.0-22-generic + (LP: #1936708) + - SAUCE: drm/i915/dp: Use max params for older panels + + * [SRU][H/OEM-5.10/OEM-5.13/U] Fix system hang after unplug tbt dock + (LP: #1938689) + - SAUCE: igc: fix page fault when thunderbolt is unplugged + + * e1000e blocks the boot process when it tried to write checksum to its NVM + (LP: #1936998) + - SAUCE: e1000e: Do not take care about recovery NVM checksum + + * [Regression] Audio card [8086:9d71] not detected after upgrade from linux + 5.4 to 5.8 (LP: #1915117) + - [Config] set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y + - [Config] annotations: set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs following 5.14-rc6 rebase + - rebase to v5.14-rc6 + + [ Upstream Kernel Changes ] + + * Rebase to v5.14-rc6 + + -- Paolo Pisati Tue, 17 Aug 2021 17:49:15 +0200 + +linux-unstable (5.14.0-4.4) impish; urgency=medium + + * impish/linux-unstable: 5.14.0-4.4 -proposed tracker (LP: #1938566) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous upstream changes + - Revert "riscv: Get CPU manufacturer information" + + -- Paolo Pisati Tue, 03 Aug 2021 14:50:27 +0200 + +linux-unstable (5.14.0-3.3) impish; urgency=medium + + * Add additional Mediatek MT7921 WiFi/BT device IDs (LP: #1937004) + - SAUCE: Bluetooth: btusb: Add Mediatek MT7921 support for Foxconn + - SAUCE: Bluetooth: btusb: Add Mediatek MT7921 support for IMC Network + - SAUCE: Bluetooth: btusb: Add support for Foxconn Mediatek Chip + + * Fix display output on HP hybrid GFX laptops (LP: #1936296) + - drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops + + * Miscellaneous Ubuntu changes + - rebase to v5.14-rc3 + - [Config] updateconfigs following 5.14-rc3 rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.14-rc3 + + -- Paolo Pisati Mon, 26 Jul 2021 12:52:38 +0200 + +linux-unstable (5.14.0-2.2) impish; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - SAUCE: xr-usb-serial: update return code for xr_usb_serial_tty_write_room() + and xr_usb_serial_tty_chars_in_buffer() + - SAUCE: platform/x86: dell-uart-backlight: update return code for + uart_chars_in_buffer(() + - [Config] updateconfigs following 5.14-rc2 rebase + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] FTBFS: disable ubuntu/xr-usb-serial" + - Revert "UBUNTU: [Config] FTBFS: disable DELL_UART_BACKLIGHT" + + [ Upstream Kernel Changes ] + + * Rebase to v5.14-rc2 + + -- Paolo Pisati Thu, 22 Jul 2021 11:03:28 +0200 + +linux-unstable (5.14.0-1.1) impish; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Packaging] bump kernel version to 5.14 + - [Config] updateconfigs following 5.14-rc1 rebase + - [Config] update annotations + - [Packaging] FTBFS: disable zfs + - [Config] FTBFS: disable DELL_UART_BACKLIGHT + - [Config] FTBFS: disable ubuntu/xr-usb-serial + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] update variants" + + [ Upstream Kernel Changes ] + + * Rebase to v5.14-rc1 + + -- Paolo Pisati Fri, 16 Jul 2021 15:20:04 +0200 + +linux-unstable (5.14.0-0.0) impish; urgency=medium + + * Empty entry + + -- Paolo Pisati Tue, 13 Jul 2021 12:15:35 +0200 + +linux (5.13.0-11.11) impish; urgency=medium + + * impish/linux: 5.13.0-11.11 -proposed tracker (LP: #1933854) + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * Support builtin revoked certificates (LP: #1932029) + - [Packaging] build canonical-revoked-certs.pem from branch/arch certs + - [Packaging] Revoke 2012 UEFI signing certificate as built-in + - [Config] Configure CONFIG_SYSTEM_REVOCATION_KEYS with revoked keys + + * Miscellaneous Ubuntu changes + - [Packaging] Change source package name to linux + + * Miscellaneous upstream changes + - mm/page_alloc: Correct return value of populated elements if bulk array is + populated + + -- Andrea Righi Tue, 29 Jun 2021 07:50:25 +0200 + +linux (5.13.0-10.10) impish; urgency=medium + + * Empty entry + + -- Andrea Righi Mon, 28 Jun 2021 08:40:05 +0200 + +linux-unstable (5.13.0-10.10) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-10.10 -proposed tracker (LP: #1933795) + + * Pixel format change broken for Elgato Cam Link 4K (LP: #1932367) + - media: uvcvideo: Fix pixel format change for Elgato Cam Link 4K + + * initramfs-tools & kernel: use zstd as the default compression method + (LP: #1931725) + - s390/decompressor: correct BOOT_HEAP_SIZE condition + - s390/boot: add zstd support + - [Packaging] use ZSTD to compress s390 kernels + + * Miscellaneous Ubuntu changes + - SAUCE: selftests: tls: fix chacha+bidir tests + - SAUCE: selftests: icmp_redirect: support expected failures + - [Config] update configs and annotations after rebase to 5.13 + + * Miscellaneous upstream changes + - tls: prevent oversized sendfile() hangs by ignoring MSG_MORE + + [ Upstream Kernel Changes ] + + * Rebase to v5.13 + + -- Andrea Righi Mon, 28 Jun 2021 08:40:05 +0200 + +linux-unstable (5.13.0-9.9) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-9.9 -proposed tracker (LP: #1933070) + + * Add support for selective build of special drivers (LP: #1912789) + - [Packaging] Add support for ODM drivers + - [Packaging] Turn on ODM support for amd64 + - [Packaging] Fix ODM support in actual build + - [Packaging] Fix ODM DRIVERS Kconfig + + * Add support for IO functions of AAEON devices (LP: #1929504) + - ODM: [Config] update config for AAEON devices + - ODM: hwmon: add driver for AAEON devices + - ODM: leds: add driver for AAEON devices + - ODM: watchdog: add driver for AAEON devices + - ODM: gpio: add driver for AAEON devices + - ODM: mfd: Add support for IO functions of AAEON devices + + * Disable hv-kvp-daemon.service on certain instance types (LP: #1932081) + - [Packaging]: Add kernel command line condition to hv-kvp-daemon service + + * Fix non-working GPU on Some HP desktops (LP: #1931147) + - PCI: Coalesce host bridge contiguous apertures + + * Miscellaneous Ubuntu changes + - SAUCE: selftests: seccomp: bump up timeout to 5min + - SAUCE: Revert "net/tls(TLS_SW): Add selftest for 'chunked' sendfile test" + - [Config] update annotations after rebase to 5.13-rc7 + + [ Upstream Kernel Changes ] + + * Rebase to v5.13-rc7 + + -- Andrea Righi Mon, 21 Jun 2021 10:55:36 +0200 + +linux-unstable (5.13.0-8.8) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-8.8 -proposed tracker (LP: #1932018) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * initramfs-tools & kernel: use zstd as the default compression method + (LP: #1931725) + - [Config] use ZSTD to compress amd64 kernels + + * Miscellaneous Ubuntu changes + - [Config] enable signing for ppc64el + - SAUCE: powerpc: Fix initrd corruption with relative jump labels + + -- Andrea Righi Tue, 15 Jun 2021 15:07:34 +0200 + +linux-unstable (5.13.0-7.7) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-7.7 -proposed tracker (LP: #1931840) + + * Packaging resync (LP: #1786013) + - update dkms package versions + - [Packaging] resync getabis + - [Packaging] update helper scripts + - update dkms package versions + + * Intel ADL-S graphics feature enabling (LP: #1931240) + - SAUCE: drm/i915/adl_s: ADL-S platform Update PCI ids for Mobile BGA + + * Kernel package builds running out of space on builders (LP: #1930713) + - [Config] CONFIG_DEBUG_INFO_COMPRESSED=n + + * Miscellaneous Ubuntu changes + - [Debian] remove nvidia dkms build support + - [Config] remove now unsued do_dkms_nvidia* build variables + - [Config] enable signing for s390x + - [Config] update annotations after configs review + - [Config] update toolchain versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.13-rc6 + + -- Andrea Righi Mon, 14 Jun 2021 11:53:08 +0200 + +linux-unstable (5.13.0-6.6) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-6.6 -proposed tracker (LP: #1931071) + + * Kernel package builds running out of space on builders (LP: #1930713) + - [Debian] use stamps for flavour install targets + - [Debian] run install-$(flavour) targets during build phase + - [Debian] remove dh_testroot from install targets + - [Debian] dkms-build -- use fakeroot if not running as root + - [Debian] exclude $(DEBIAN)/__abi.current from linux-source + + * [UBUNTU 21.04] tools/kvm_stat: Add restart delay (LP: #1921870) + - [Debian] install kvm_stat systemd service + + * Debugging symbols (dbgsym) packages are missing GDB kernel scripts + (LP: #1928715) + - [Packaging] Build and include GDB Python scripts into debug packages + + * Can't detect intel wifi 6235 (LP: #1920180) + - SAUCE: iwlwifi: add new pci id for 6235 + + * Select correct boot VGA when BIOS doesn't do it properly (LP: #1929217) + - vgaarb: Use ACPI HID name to find integrated GPU + + * Fix kernel panic on Intel Bluetooth (LP: #1928838) + - Bluetooth: Shutdown controller after workqueues are flushed or cancelled + + * build module CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH=m for 5.11, 5.13-rc2 + and later (LP: #1921632) + - [Config] enable soundwire audio mach driver + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_SND_SOC_RT1308 can only be enabled on amd64 + + [ Upstream Kernel Changes ] + + * Rebase to v5.13-rc5 + + -- Andrea Righi Mon, 07 Jun 2021 10:45:13 +0200 + +linux-unstable (5.13.0-5.5) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-5.5 -proposed tracker (LP: #1930205) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Config] set CONFIG_BPF_UNPRIV_DEFAULT_OFF=y + + -- Andrea Righi Mon, 31 May 2021 12:32:38 +0200 + +linux-unstable (5.13.0-4.4) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-4.4 -proposed tracker (LP: #1929404) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Support importing mokx keys into revocation list from the mok table + (LP: #1928679) + - SAUCE: integrity: add informational messages when revoking certs + + * Support importing mokx keys into revocation list from the mok table + (LP: #1928679) // CVE-2020-26541 when certificates are revoked via + MokListXRT. + - SAUCE: integrity: Load mokx certs from the EFI MOK config table + + * Miscellaneous Ubuntu changes + - [Config] Temporarily disable signing for ppc64el and s390x + - SAUCE: Revert "UBUNTU: SAUCE: overlayfs: Be more careful about copying up + sxid files" + - SAUCE: Revert "UBUNTU: SAUCE: overlayfs: Propogate nosuid from lower and + upper mounts" + - SAUCE: Revert "UBUNTU: SAUCE: overlayfs: Enable user namespace mounts" + - SAUCE: Revert "UBUNTU: SAUCE: overlayfs: ensure mounter privileges when + reading directories" + - SAUCE: Revert "UBUNTU: SAUCE: fs: Move SB_I_NOSUID to the top of s_iflags" + + [ Upstream Kernel Changes ] + + * Rebase to v5.13-rc3 + + -- Andrea Righi Mon, 24 May 2021 13:06:17 +0200 + +linux-unstable (5.13.0-3.3) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-3.3 -proposed tracker (LP: #1928655) + + [ Upstream Kernel Changes ] + + * Rebase to v5.13-rc2 + + -- Andrea Righi Mon, 17 May 2021 11:55:02 +0200 + +linux-unstable (5.13.0-2.2) impish; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] enable CONFIG_DEBUG_INFO_COMPRESSED + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] temporarily disable BPF JIT" + + -- Andrea Righi Fri, 14 May 2021 09:19:02 +0200 + +linux-unstable (5.13.0-1.1) impish; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v5.13-rc1 + + -- Andrea Righi Wed, 12 May 2021 11:35:23 +0200 + +linux-unstable (5.13.0-0.0) impish; urgency=medium + + * Empty entry + + -- Andrea Righi Tue, 11 May 2021 08:40:09 +0200 + +linux-unstable (5.12.0-11.11) impish; urgency=medium + + * Impish update: v5.12.1 upstream stable release (LP: #1927094) + - net: hso: fix NULL-deref on disconnect regression + - USB: CDC-ACM: fix poison/unpoison imbalance + - iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_gen2_enqueue_hcmd() + - cfg80211: fix locking in netlink owner interface destruction + - mei: me: add Alder Lake P device id. + - Linux 5.12.1 + + * Packaging resync (LP: #1786013) // Impish update: v5.12.1 upstream stable + release (LP: #1927094) + - update dkms package versions + + * Gigabyte R120-T33 (ARM ThunderX SoC) fails to boot in ACPI mode + (LP: #1925075) // Impish update: v5.12.1 upstream stable release + (LP: #1927094) + - ACPI: GTDT: Don't corrupt interrupt mappings on watchdow probe failure + + * Fix kernel panic at boot on dual GFX systems (LP: #1926792) // Impish + update: v5.12.1 upstream stable release (LP: #1927094) + - drm/amdgpu: Register VGA clients after init can no longer fail + + * On TGL platforms screen shows garbage when browsing website by scrolling + mouse (LP: #1926579) // Impish update: v5.12.1 upstream stable release + (LP: #1927094) + - SAUCE: drm/i915/display: Disable PSR2 if TGL Display stepping is B1 from A0 + + * CirrusLogic: Cracking noises appears in built-in speaker when output volume + is set >80% (LP: #1924997) // Impish update: v5.12.1 upstream stable release + (LP: #1927094) + - SAUCE: ALSA: hda/cirrus: Use CS8409 Equalizer to fix abnormal sounds on + Bullseye + + * Enable mute/micmute LEDs and limit mic boost on EliteBook 845 G8 + (LP: #1925415) // Impish update: v5.12.1 upstream stable release + (LP: #1927094) + - ALSA: hda/realtek: Enable mute/micmute LEDs and limit mic boost on EliteBook + 845 G8 + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: PCI: Disable broken RTIT_BAR of Intel TH" + - Revert "UBUNTU: [Config] temporarily disable ZFS" + + -- Paolo Pisati Tue, 04 May 2021 18:35:54 +0200 + +linux-unstable (5.12.0-10.10) impish; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Packaging] Drop versioned ABI directory names + - [Packaging] getabis: Download ABIs into an unversioned directory + - [Packaging] final-checks: Handle unversioned ABI directories + - bump to impish + - [Config] GCC version update + + -- Paolo Pisati Thu, 29 Apr 2021 12:27:20 +0200 + +linux-unstable (5.12.0-9.9) impish; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc8 + + -- Seth Forshee Mon, 26 Apr 2021 11:14:16 -0500 + +linux-unstable (5.12.0-8.8) hirsute; urgency=medium + + * CVE-2021-3492 + - SAUCE: shiftfs: free allocated memory in shiftfs_btrfs_ioctl_fd_replace() + error paths + - SAUCE: shiftfs: handle copy_to_user() return values correctly + + * Fix no picture from HDMI when it's plugged after boot (LP: #1924238) + - drm/i915/display: Handle lane polarity for DDI port + + * hirsute beta desktop AMD64 ISO kernel panic on boot when booting using UEFI + (LP: #1922403) + - SAUCE: efifb: Check efifb_pci_dev before using it + + * Miscellaneous Ubuntu changes + - Rebase to v5.12-rc8 + - [Config] updateconfigs following 5.12-rc8 rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc8 + + -- Paolo Pisati Mon, 19 Apr 2021 11:37:27 +0200 + +linux-unstable (5.12.0-7.7) hirsute; urgency=medium + + * drm/i915: Drop force_probe requirement for Rocket Lake (LP: #1905466) + - drm/i915/rkl: Remove require_force_probe protection + + * HP m400 cartridges fail to find NIC when deploying hirsute (LP: #1918793) + - PCI: xgene: Fix cfg resource mapping + + * Update - Fix no screen show on display after S3 on CML-R (LP: #1922768) + - drm/i915/gen9bc: Handle TGP PCH during suspend/resume + + * Miscellaneous Ubuntu changes + - SAUCE: RDMA/core: Introduce peer memory interface + - Rebase to v5.12-rc7 + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc7 + + -- Paolo Pisati Mon, 12 Apr 2021 11:48:07 +0200 + +linux-unstable (5.12.0-6.6) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * i915 doesn't support some high pixel clock 4k * 60Hz monitors (LP: #1922372) + - drm/i915/vbt: update DP max link rate table + + * Tegra "mmc0: Timeout waiting for hardware interrupt" (LP: #1921140) + - SAUCE: mmc: host: Add required callbacks to set/clear CQE_EN bit + + * Enable ath11k debugfs/tracing (LP: #1922033) + - [Config] enable ath11k debugfs/tracing + + * Fix mic on P620 after S3 resume (LP: #1921757) + - ALSA: usb-audio: Carve out connector value checking into a helper + - ALSA: usb-audio: Check connector value on resume + + * Miscellaneous Ubuntu changes + - [Config] amd64,arm64: build KFENCE support but disable it by default + (KFENCE_SAMPLE_INTERVAL=0) + - Rebase to v5.12-rc6 + + * Miscellaneous upstream changes + - drm/dp: add MSO related DPCD registers + - drm/i915/edp: reject modes with dimensions other than fixed mode + - drm/i915/edp: always add fixed mode to probed modes in ->get_modes() + - drm/i915/edp: read sink MSO configuration for eDP 1.4+ + - drm/i915/reg: add stream splitter configuration definitions + - drm/i915/mso: add splitter state readout for platforms that support it + - drm/i915/mso: add splitter state check + - drm/i915/edp: modify fixed and downclock modes for MSO + - drm/i915/edp: enable eDP MSO during link training + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc6 + + -- Paolo Pisati Wed, 07 Apr 2021 11:42:55 +0200 + +linux-unstable (5.12.0-5.5) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * alsa/realtek: extend the delay time in the determine_headset_type for a + Dell AIO (LP: #1920747) + - SAUCE: ALSA: hda/realtek: fix a determine_headset_type issue for a Dell AIO + + * power off stress test will hang on the TGL machines (LP: #1919930) + - SAUCE: ASoC: SOF: Intel: TGL: set shutdown callback to hda_dsp_shutdown + - [Config] set SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 to n + + * lockdown on power (LP: #1855668) + - SAUCE: (lockdown) powerpc: lock down kernel in secure boot mode + + * Miscellaneous Ubuntu changes + - [Config] arm64 -- unify build_image and kernel_file values + - SAUCE: (lockdown) Add efi_status_to_str() and rework efi_status_to_err(). + - SAUCE: (lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (lockdown) security: lockdown: expose a hook to lock the kernel down + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot + mode + - SAUCE: (lockdown) efi: Lock down the kernel if booted in secure boot mode + - SAUCE: (lockdown) s390: Lock down the kernel when the IPL secure flag is set + - SAUCE: (lockdown) KEYS: Make use of platform keyring for module signature + verify + - SAUCE: (lockdown) arm64: Allow locking down the kernel under EFI secure boot + - SAUCE: (lockdown) security: lockdown: Make + CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic + - SAUCE: xr-usb-serial: clean up indentation + - SAUCE: xr-usb-serial: clean up build warnings + - SAUCE: apparmor: Fix build error, make sk parameter const + - Rebase to v5.12-rc5 + - [Config] updateconfigs following v5.12-rc5 rebase + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: (lockdown) s390: Lock down the kernel when the IPL + secure flag is set" + - Revert "UBUNTU: SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to + indicate secure boot mode" + - Revert "UBUNTU: SAUCE: (lockdown) powerpc: lock down kernel in secure boot + mode" + - Revert "UBUNTU: SAUCE: (lockdown) security: lockdown: Make + CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic" + - Revert "UBUNTU: SAUCE: (lockdown) arm64: Allow locking down the kernel under + EFI secure boot" + - Revert "UBUNTU: SAUCE: (lockdown) KEYS: Make use of platform keyring for + module signature verify" + - Revert "UBUNTU: SAUCE: (lockdown) efi: Lock down the kernel if booted in + secure boot mode" + - Revert "UBUNTU: SAUCE: (lockdown) security: lockdown: expose a hook to lock + the kernel down" + - Revert "UBUNTU: SAUCE: (lockdown) Make get_cert_list() use + efi_status_to_str() to print error messages." + - Revert "UBUNTU: SAUCE: (lockdown) Add efi_status_to_str() and rework + efi_status_to_err()." + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc5 + + -- Paolo Pisati Mon, 29 Mar 2021 12:59:38 +0200 + +linux-unstable (5.12.0-4.4) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Fix broken efifb on graphics device without driver (LP: #1914411) + - SAUCE: efifb: Ensure graphics device for efifb stays at PCI D0 + + * Fix system sleep on TGL systems with Intel ME (LP: #1919321) + - SAUCE: PCI: Serialize TGL e1000e PM ops + + * Miscellaneous Ubuntu changes + - Rebase to v5.12-rc4 + - [Config] updateconfigs following v5.12-rc4 rebase + + * Miscellaneous upstream changes + - riscv: dts: fu740: fix cache-controller interrupts + - riscv: sifive: fu740: cpu{1, 2, 3, 4} set compatible to sifive, u74-mc + - riscv: sifive: unmatched: update for 16GB rev3 + - riscv: Add 3 SBI wrapper functions to get cpu manufacturer information + - riscv: Get CPU manufacturer information + - riscv: Introduce alternative mechanism to apply errata solution + - riscv: sifive: apply errata "cip-453" patch + - clk: sifive: Add pcie_aux clock in prci driver for PCIe driver + - clk: sifive: Use reset-simple in prci driver for PCIe driver + - MAINTAINERS: Add maintainers for SiFive FU740 PCIe driver + - dt-bindings: PCI: Add SiFive FU740 PCIe host controller + - PCI: designware: Add SiFive FU740 PCIe host controller driver + - riscv: dts: Add PCIe support for the SiFive FU740-C000 SoC + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc4 + + -- Paolo Pisati Mon, 22 Mar 2021 12:43:14 +0100 + +linux-unstable (5.12.0-3.3) hirsute; urgency=medium + + * riscv: revert SiFive Unleashed CPUFreq (LP: #1917433) + - SAUCE: Revert "SiFive Unleashed CPUFreq" + + * Dell Precision 5550 takes up to 10 seconds to respond when coming out of + sleep (LP: #1919123) + - SAUCE: Input: i8042 - add dmi quirk + + * LRMv4: switch to signing nvidia modules via the Ubuntu Modules signing key + (LP: #1918134) + - [Packaging] sync dkms-build et al from LRMv4 + + * curtin: install flash-kernel in arm64 UEFI unexpected (LP: #1918427) + - [Packaging] Allow grub-efi-arm* to satisfy recommends on ARM + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Enable Tegra support in arm64 for NVIDIA Jetson (LP: #1918471) + - [Config] enable ARCH_TEGRA and all Tegra SOC's + - [Packaging] include modern Tegra modules + + * Cirrus Audio Codec CS8409/CS42L42: Input Device does not switch to headset + Mic when a headset is inserted (LP: #1918378) + - SAUCE: ALSA: hda/cirrus: Fix Headset Mic volume control name + + * Cirrus Audio Codec CS8409/CS42L42 support (LP: #1916554) + - ALSA: hda/cirrus: Increase AUTO_CFG_MAX_INS from 8 to 18 + - ALSA: hda/cirrus: Add support for CS8409 HDA bridge and CS42L42 companion + codec. + - ALSA: hda/cirrus: Add jack detect interrupt support from CS42L42 companion + codec. + - ALSA: hda/cirrus: Add Headphone and Headset MIC Volume Control + + * drm/i915: Drop force_probe requirement for JSL (LP: #1917843) + - SAUCE: drm/i915: Drop require_force_probe from JSL + + * Miscellaneous Ubuntu changes + - [Packaging] Skip d-i code if udebs are disabled + - [Packaging] Disable udebs if $DEBIAN/d-i doesn't exist + - [Packaging] remove dh-systemd build dependency + - [Config] fix several annotaions with enforcement typos + - [Config] refresh annotations + - [Config] updateconfigs following v5.12-rc3 rebase + - annotations: fixup after v5.12-rc3 rebase + - Rebase to v5.12-rc3 + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc3 + + -- Paolo Pisati Tue, 16 Mar 2021 18:43:03 +0100 + +linux-unstable (5.12.0-2.2) hirsute; urgency=medium + + * Miscellaneous Ubuntu changes + - Rebase to v5.12-rc2 + - [Config] updateconfigs following v5.12-rc2 rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc2 + + -- Paolo Pisati Mon, 08 Mar 2021 11:22:04 +0100 + +linux-unstable (5.12.0-1.1) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Support no udeb profile (LP: #1916095) + - [Packaging] replace custom filter script with dctrl-tools + - [Packaging] correctly implement noudeb build profiles. + + * Miscellaneous Ubuntu changes + - [Packaging] dkms-versions -- remove nvidia-graphics-drivers-440-server + - [Debian] run ubuntu-regression-suite for linux-unstable + - [Packaging] remove Provides: aufs-dkms + - [Config] update config and annotations following v5.12-rc1 rebase + - [Config] disable nvidia and nvidia_server builds + - [Config] temporarily disable ZFS + - temporarily disable modules check + - annotations: s390: temporarily remove CONFIG_KMSG_IDS + - [Config] amd64: FTBFS: disable HIO + - [Config] FTBFS: disable SHIFT_FS + - [Config] s390: temporarily remove CONFIG_KMSG_IDS + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] disable nvidia and nvidia_server builds" + - Revert "UBUNTU: SAUCE: s390: kernel message catalog" + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc1 + + -- Paolo Pisati Thu, 04 Mar 2021 18:26:12 +0100 + +linux-unstable (5.12.0-0.0) hirsute; urgency=medium + + * Empty entry + + -- Paolo Pisati Thu, 04 Mar 2021 18:17:32 +0100 + +linux-unstable (5.11.0-10.11) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * Support CML-S CPU + TGP PCH (LP: #1909457) + - drm/i915/rkl: new rkl ddc map for different PCH + - SAUCE: drm/i915/gen9_bc : Add TGP PCH support + + * Use DCPD to control HP DreamColor panel (LP: #1911001) + - SAUCE: drm/dp: Another HP DreamColor panel brigntness fix + + * Update nvidia dkms build for module linker script changes + - [Packaging] build-dkms--nvidia-N -- Update for preprocessed module linker + script + + * Please trust Canonical Livepatch Service kmod signing key (LP: #1898716) + - [Config] enable CONFIG_MODVERSIONS=y + - [Packaging] build canonical-certs.pem from branch/arch certs + - [Config] add Canonical Livepatch Service key to SYSTEM_TRUSTED_KEYS + - [Config] add ubuntu-drivers key to SYSTEM_TRUSTED_KEYS + + * Miscellaneous Ubuntu changes + - [Config] re-enable nvidia dkms + - SAUCE: selftests: memory-hotplug: bump timeout to 10min + - [Debian] update-aufs.sh -- Don't apply tmpfs-idr.patch + - [Config] Update configs + - [Config] disable nvidia and nvidia_server builds + - SAUCE: Import aufs driver + - [Config] CONFIG_AUFS_FS=n + - [Config] refresh annotations file + - [Config] set CONFIG_MIPI_I3C_HCI=m consistently + - [Config] set CONFIG_PINCTRL_MSM8953=m on armhf generic-lpae + - [Packaging] Change source package name to linux-unstable + - [Config] update LD_VERSION in config due to toolchain update + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: tmpfs: Don't use 64-bit inodes by defulat with 32-bit + ino_t" + + -- Andrea Righi Mon, 22 Feb 2021 07:18:07 +0100 + +linux-unstable (5.11.0-9.10) hirsute; urgency=medium + + * Empty entry + + -- Andrea Righi Mon, 22 Feb 2021 07:02:45 +0100 + +linux (5.11.0-9.10) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Config] update configs/annotations after rebase to 5.11 + - zfs-modules.ignore: add zzstd + + [ Upstream Kernel Changes ] + + * Rebase to v5.11 + + -- Andrea Righi Mon, 15 Feb 2021 16:29:36 +0100 + +linux (5.11.0-8.9) hirsute; urgency=medium + + * Missing device id for Intel TGL-H ISH [8086:43fc] in intel-ish-hid driver + (LP: #1914543) + - SAUCE: HID: intel-ish-hid: ipc: Add Tiger Lake H PCI device ID + + * Add support for new Realtek ethernet NIC (LP: #1914604) + - r8169: Add support for another RTL8168FP + + * Miscellaneous Ubuntu changes + - SAUCE: tmpfs: Don't use 64-bit inodes by defulat with 32-bit ino_t + - [Config] Set CONFIG_TMPFS_INODE64=n for s390x + - [Config] re-enable ZFS + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc7 + + -- Andrea Righi Mon, 08 Feb 2021 11:56:23 +0100 + +linux (5.11.0-7.8) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Boot fails: failed to validate module [nls_iso8859_1] BTF: -22 + (LP: #1911359) + - SAUCE: x86/entry: build thunk_$(BITS) only if CONFIG_PREEMPTION=y + + * Remove scary stack trace from Realtek WiFi driver (LP: #1913263) + - rtw88: reduce the log level for failure of tx report + + * Fix unexpected AER/DPC on PCH400 and PCH500 (LP: #1913691) + - Revert "UBUNTU: SAUCE: PCI: Enable ACS quirk on all CML root ports" + - Revert "UBUNTU: SAUCE: PCI: Enable ACS quirk on CML root port" + - SAUCE: PCI/AER: Disable AER interrupt during suspend + - SAUCE: PCI/DPC: Disable DPC interrupt during suspend + + * switch to an autogenerated nvidia series based core via dkms-versions + (LP: #1912803) + - [Packaging] nvidia -- use dkms-versions to define versions built + - [Packaging] update-version-dkms -- maintain flags fields + + * Introduce the new NVIDIA 460-server series and update the 460 series + (LP: #1913200) + - [Config] dkms-versions -- add the 460-server nvidia driver + + * Fix the video can't output through WD19TB connected with TGL platform during + cold-boot (LP: #1910211) + - SAUCE: drm/i915/dp: Prevent setting LTTPR mode if no LTTPR is detected + + * Stop using get_scalar_status command in Dell AIO uart backlight driver + (LP: #1865402) + - SAUCE: platform/x86: dell-uart-backlight: add get_display_mode command + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/seccomp: Accept any valid fd in user_notification_addfd + - [Packaging] Don't disable CONFIG_DEBUG_INFO in headers packages + - [Config] update configs/annotations after rebase to 5.11-rc6 + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc6 + + -- Andrea Righi Mon, 01 Feb 2021 10:27:52 +0100 + +linux (5.11.0-6.7) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Prevent thermal shutdown during boot process (LP: #1906168) + - thermal/drivers/acpi: Use hot and critical ops + - thermal/core: Remove notify ops + - thermal: int340x: Fix unexpected shutdown at critical temperature + - thermal: intel: pch: Fix unexpected shutdown at critical temperature + + * riscv: backport support for SiFive Unmatched (LP: #1910965) + - RISC-V: Update l2 cache DT documentation to add support for SiFive FU740 + - RISC-V: sifive_l2_cache: Update L2 cache driver to support SiFive FU740 + - dt-bindings: riscv: Update DT binding docs to support SiFive FU740 SoC + - riscv: dts: add initial support for the SiFive FU740-C000 SoC + - dt-bindings: riscv: Update YAML doc to support SiFive HiFive Unmatched board + - riscv: dts: add initial board data for the SiFive HiFive Unmatched + - PCI: microsemi: Add host driver for Microsemi PCIe controller + - Microsemi PCIe expansion board DT entry. + - SiFive Unleashed CPUFreq + - SiFive HiFive Unleashed: Add PWM LEDs (D1, D2, D3, D4) + + * initramfs unpacking failed (LP: #1835660) + - lib/decompress_unlz4.c: correctly handle zero-padding around initrds. + + * Miscellaneous Ubuntu changes + - [Config] update configs and annotations after rebase to 5.11-rc5 + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc5 + + -- Andrea Righi Mon, 25 Jan 2021 09:31:31 +0100 + +linux (5.11.0-5.6) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Config] update config and annotations after rebase to 5.11-rc4 + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc4 + + -- Andrea Righi Mon, 18 Jan 2021 10:46:10 +0100 + +linux (5.11.0-4.5) hirsute; urgency=medium + + * Boot fails: failed to validate module [nls_iso8859_1] BTF: -22 + (LP: #1911359) + - SAUCE: x86/entry: build thunk_$(BITS) only if CONFIG_PREEMPTION=y + + -- Andrea Righi Thu, 14 Jan 2021 12:53:26 +0100 + +linux (5.11.0-3.4) hirsute; urgency=medium + + * Boot fails: failed to validate module [nls_iso8859_1] BTF: -22 + (LP: #1911359) + - bpf: Allow empty module BTFs + - libbpf: Allow loading empty BTFs + + -- Andrea Righi Thu, 14 Jan 2021 07:43:45 +0100 + +linux (5.11.0-2.3) hirsute; urgency=medium + + * DMI entry syntax fix for Pegatron / ByteSpeed C15B (LP: #1910639) + - Input: i8042 - unbreak Pegatron C15B + + * SYNA30B4:00 06CB:CE09 Mouse on HP EliteBook 850 G7 not working at all + (LP: #1908992) + - HID: multitouch: Enable multi-input for Synaptics pointstick/touchpad device + + * debian/scripts/file-downloader does not handle positive failures correctly + (LP: #1878897) + - [Packaging] file-downloader not handling positive failures correctly + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * CVE-2021-1052 // CVE-2021-1053 + - [Packaging] NVIDIA -- Add the NVIDIA 460 driver + + * Miscellaneous Ubuntu changes + - [Packaging] Remove nvidia-455 dkms build + - SAUCE: ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP + machines + - [Config] update configs and annotations after rebase to 5.11-rc3 + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc3 + + -- Andrea Righi Mon, 11 Jan 2021 09:52:27 +0100 + +linux (5.11.0-1.2) hirsute; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc2 + + -- Andrea Righi Thu, 07 Jan 2021 16:57:01 +0100 + +linux (5.11.0-0.1) hirsute; urgency=medium + + * dep-8 ubuntu-regression-suite tests are not run for all linux-hwe-* kernels + (LP: #1908529) + - [dep-8] Allow all hwe kernels + + * Fix reading speed and duplex sysfs on igc device (LP: #1906851) + - igc: Report speed and duplex as unknown when device is runtime suspended + + * rtwpci driver blocks the system to enter PC10, stuck at PC3 (LP: #1907200) + - SAUCE: rtw88: 8723de: let cpu enter c10 + + * [21.04 FEAT] Deactivate CONFIG_QETH_OSN kernel config option (LP: #1906370) + - [Config] Deactivate CONFIG_QETH_OSN kernel config option + + * Add dpcd backlight control for 0x4c83 0x4f41 (LP: #1905663) + - SAUCE: drm/dp: Add dpcd backlight control for 0x4c83 0x4f41 + + * disable building bpf selftests (LP: #1908144) + - SAUCE: selftests/bpf: Clarify build error if no vmlinux + - SAUCE: selftests: Skip BPF selftests by default + - disable building bpf selftests (no VMLINUX_BTF) + + * Miscellaneous Ubuntu changes + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot + mode + - SAUCE: (lockdown) s390: Lock down the kernel when the IPL secure flag is set + - [Config] update configs and annotations after rebase to v5.11-rc1 + - hio: fix build error with kernel 5.11 + - SAUCE: shiftfs: fix build error with 5.11 + - [Config] temporarily disable ZFS + - check-aliases: do not error if modules.alias does not exist + - ppc64el: don't build stripped vdso + + * Miscellaneous upstream changes + - irq: export irq_check_status_bit + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc1 + + -- Andrea Righi Mon, 04 Jan 2021 09:17:48 +0100 + +linux (5.11.0-0.0) hirsute; urgency=medium + + * Empty entry + + -- Andrea Righi Wed, 30 Dec 2020 09:04:41 +0100 + +linux (5.10.0-9.10) hirsute; urgency=medium + + * Use INTx for Pericom USB controllers (LP: #1906839) + - PCI: Disable MSI for Pericom PCIe-USB adapter + + * disable building bpf selftests (LP: #1908144) + - SAUCE: selftests/bpf: clarify build error if no vmlinux + - SAUCE: selftests: Skip BPF seftests by default + - disable building bpf selftests (no VMLINUX_BTF) + + * Miscellaneous Ubuntu changes + - [Config] Enable CONFIG_BPF_LSM + + * Miscellaneous upstream changes + - Revert "md: change mddev 'chunk_sectors' from int to unsigned" + - Revert "dm raid: fix discard limits for raid1 and raid10" + + -- Andrea Righi Tue, 15 Dec 2020 10:16:14 +0100 + +linux (5.10.0-8.9) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * Fix bpf selftest compilation with clang 11 + - bpf: Fix selftest compilation on clang 11 + + * Miscellaneous Ubuntu changes + - [Config] update configs and annotations after rebase to v5.10 + + [ Upstream Kernel Changes ] + + * Rebase to v5.10 + + -- Andrea Righi Mon, 14 Dec 2020 08:57:57 +0100 + +linux (5.10.0-7.8) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Fix linux-libc-dev build for hirsute forward port kernels (LP: #1904067) + - [Debian] Build linux-libc-dev for debian.master* branches + + * Update kernel packaging to support forward porting kernels (LP: #1902957) + - [Debian] Update for leader included in BACKPORT_SUFFIX + + * Introduce the new NVIDIA 455 series (LP: #1897751) + - [Packaging] NVIDIA -- Add signed modules for the 455 driver + + * 5.10 kernel fails to boot with secure boot disabled (LP: #1904906) + - [Config] CONFIG_RCU_SCALE_TEST=n + + * Miscellaneous Ubuntu changes + - [Config] s390x: disable GPIO_CDEV + - [Config] ARM_CMN=m + - [Config] disable GPIO_CDEV_V1 + - [Config] Reorder annotations after 5.10-rc6 rebase + - [Packaging] Remove nvidia-435 dkms build + - [Packaging] Change source package name to linux + - [Config] Update configs and annotations after rebase to v5.10-rc7 + - SAUCE: Revert "mm/filemap: add static for function + __add_to_page_cache_locked" + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc7 + + -- Seth Forshee Mon, 07 Dec 2020 00:15:20 -0600 + +linux (5.10.0-6.7) hirsute; urgency=medium + + * Empty entry. + + -- Seth Forshee Sun, 06 Dec 2020 22:13:46 -0600 + +linux-5.10 (5.10.0-6.7) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Avoid double newline when running insertchanges (LP: #1903293) + - [Packaging] insertchanges: avoid double newline + + * Miscellaneous Ubuntu changes + - [Packaging]: linux-modules should depend on linux-image + - [Packaging]: linux-image should suggest linux-modules-extra + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc6 + + -- Andrea Righi Mon, 30 Nov 2020 07:47:34 +0100 + +linux-5.10 (5.10.0-5.6) hirsute; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] add CONFIG_INFINIBAND_VIRT_DMA + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc5 + + -- Andrea Righi Mon, 23 Nov 2020 13:17:44 +0100 + +linux-5.10 (5.10.0-4.5) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Packaging] reduce the size required to build packages + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc4 + + -- Andrea Righi Mon, 16 Nov 2020 08:33:54 +0100 + +linux-5.10 (5.10.0-3.4) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * e1000e: fix issues with S0ix (LP: #1902687) + - SAUCE: e1000e: fix S0ix flow to allow S0i3.2 subset entry + - SAUCE: e1000e: allow turning s0ix flows on for systems with ME + - SAUCE: e1000e: Add Dell's Comet Lake systems into s0ix heuristics + - SAUCE: e1000e: Add more Dell CML systems into s0ix heuristics + - [Config] Update CONFIG_E1000E for ppc64el in annotations + + * perf: Add support for Rocket Lake (LP: #1902004) + - SAUCE: perf/x86/intel: Add Rocket Lake CPU support + - SAUCE: perf/x86/cstate: Add Rocket Lake CPU support + - SAUCE: perf/x86/msr: Add Rocket Lake CPU support + - SAUCE: perf/x86/intel/uncore: Add Rocket Lake support + + * Miscellaneous Ubuntu changes + - [Config] Disable CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE + - [Config] update CONFIG_MST_IRQ after rebase to 5.10-rc3 + - [Config] drop obsolete SND_SST_IPC options + - [Config] re-enable ZFS + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc3 + + -- Andrea Righi Mon, 09 Nov 2020 09:37:08 +0100 + +linux-5.10 (5.10.0-2.3) hirsute; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] Switch arm64 default cpufreq governor to ondemand + - [Debian] Include scripts/module.lds from builddir in headers package + + -- Seth Forshee Tue, 03 Nov 2020 21:01:52 -0600 + +linux-5.10 (5.10.0-1.2) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Fix non-working Intel NVMe after S3 (LP: #1900847) + - SAUCE: PCI: Enable ACS quirk on all CML root ports + + * Miscellaneous Ubuntu changes + - [Packaging] move to hirsute + - [Config] Update configs and annotations after rebase to 5.10-rc2 + - [Config] Update numerous configs to conform with policy + - [Config] Switch default CPUFreq governer for arm64/armhf to schedultil + - [Config] Temporarily disable DEBUG_INFO_BTF for armhf + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc2 + + -- Seth Forshee Mon, 02 Nov 2020 13:18:27 -0600 + +linux-5.10 (5.10.0-0.1) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Config] Update configs and annotations for v5.10-rc1 + - SAUCE: platform/x86: dell-uart-backlight: rename kzfree() to + kfree_sensitive() + - SAUCE: apparmor: rename kzfree() to kfree_sensitive() + - SAUCE: LSM: change ima_read_file() to use lsmblob + - SAUCE: LSM: Use lsmblob in smk_netlbl_mls() + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] Change source package name to linux-5.10" + - s390: correct __bootdata / __bootdata_preserved macros + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc1 + + -- Paolo Pisati Tue, 27 Oct 2020 16:57:07 +0100 + +linux-5.10 (5.10.0-0.0) groovy; urgency=medium + + * Empty entry + + -- Paolo Pisati Mon, 26 Oct 2020 14:55:48 +0100 + +linux-5.9 (5.9.0-2.3) groovy; urgency=medium + + * Fix system reboot when disconnecting WiFi (LP: #1899726) + - iwlwifi: msix: limit max RX queues for 9000 family + + * booting linux-generic-lpae armhf kernel under qemu results in relocation out + of range, and thus no modules can be loaded (LP: #1899519) + - [Config] armhf: ARM_MODULE_PLTS=y + + * Fix broken MSI interrupt after HDA controller was suspended (LP: #1899586) + - ALSA: hda: fix jack detection with Realtek codecs when in D3 + + * CVE-2020-16119 + - SAUCE: dccp: avoid double free of ccid on child socket + + * python3-venv is gone (LP: #1896801) + - SAUCE: doc: remove python3-venv dependency + + * *-tools-common packages descriptions have typo "PGKVER" (LP: #1898903) + - [Packaging] Fix typo in -tools template s/PGKVER/PKGVER/ + + * Enable brightness control on HP DreamColor panel (LP: #1898865) + - SAUCE: drm/i915/dpcd_bl: Skip testing control capability with force DPCD + quirk + - SAUCE: drm/dp: HP DreamColor panel brigntness fix + + * HP Zbook Studio G7 boots into corrupted screen with PSR featured panel + (LP: #1897501) + - SAUCE: drm/i915/psr: allow overriding PSR disable param by quirk + - SAUCE: drm/dp: add DP_QUIRK_FORCE_PSR_CHIP_DEFAULT quirk to CMN prod-ID + 19-15 + + * Fix broken e1000e device after S3 (LP: #1897755) + - SAUCE: e1000e: Increase polling timeout on MDIC ready bit + + * Wakeup the system by touching the touchpad (LP: #1888331) + - HID: i2c-hid: Enable wakeup capability from Suspend-to-Idle + + * Enable LTR for endpoints behind VMD (LP: #1896598) + - SAUCE: PCI/ASPM: Enable LTR for endpoints behind VMD + + * [SRU] [Focal/OEM-5.6/Groovy]Fix AMD usb host controller lost after stress S3 + (LP: #1893914) + - SAUCE: xhci: workaround for S3 issue on AMD SNPS 3.0 xHC + + * debian/rules editconfigs does not work on s390x to change s390x only configs + (LP: #1863116) + - [Packaging] kernelconfig -- only update/edit configurations on architectures + we have compiler support + + * Fix non-working NVMe after S3 (LP: #1895718) + - SAUCE: PCI: Enable ACS quirk on CML root port + + * Miscellaneous Ubuntu changes + - SAUCE: bpf: Check CONFIG_BPF option for resolve_btfids + - SAUCE: tools resolve_btfids: Always force HOSTARCH + - packaging: arm64: add a 64KB mem pages flavour called 'generic-64k' + - packaging: arm64: generic-64k: skip ABI, modules and retpoline checks + - SAUCE: drm/i915/display: Fix null deref in intel_psr_atomic_check() + - [Config] Update toolchain versions + - [Config] Refresh annotations + - Add ubuntu-host module + - CONFIG_UBUNTU_HOST=m + - SAUCE: apparmor: drop prefixing abs root labels with '=' + - SAUCE: apparmor: disable showing the mode as part of a secid to secctx + - SAUCE: apparmor: rename aa_sock() to aa_unix_sk() + - SAUCE: apparmor: LSM stacking: switch from SK_CTX() to aa_sock() + - SAUCE: LSM: Infrastructure management of the sock security + - SAUCE: LSM: Create and manage the lsmblob data structure. + - SAUCE: LSM: Use lsmblob in security_audit_rule_match + - SAUCE: LSM: Use lsmblob in security_kernel_act_as + - SAUCE: net: Prepare UDS for security module stacking + - SAUCE: LSM: Use lsmblob in security_secctx_to_secid + - SAUCE: LSM: Use lsmblob in security_secid_to_secctx + - SAUCE: LSM: Use lsmblob in security_ipc_getsecid + - SAUCE: LSM: Use lsmblob in security_task_getsecid + - SAUCE: LSM: Use lsmblob in security_inode_getsecid + - SAUCE: LSM: Use lsmblob in security_cred_getsecid + - SAUCE: IMA: Change internal interfaces to use lsmblobs + - SAUCE: LSM: Specify which LSM to display + - SAUCE: LSM: Ensure the correct LSM context releaser + - SAUCE: LSM: Use lsmcontext in security_secid_to_secctx + - SAUCE: LSM: Use lsmcontext in security_inode_getsecctx + - SAUCE: LSM: security_secid_to_secctx in netlink netfilter + - SAUCE: NET: Store LSM netlabel data in a lsmblob + - SAUCE: LSM: Verify LSM display sanity in binder + - SAUCE: Audit: Add new record for multiple process LSM attributes + - SAUCE: Audit: Add a new record for multiple object LSM + - SAUCE: LSM: Add /proc attr entry for full LSM context + - SAUCE: AppArmor: Remove the exclusive flag + - SAUCE: Audit: Fix for missing NULL check + + * Miscellaneous upstream changes + - tty: hvcs: Don't NULL tty->driver_data until hvcs_cleanup() + + [ Upstream Kernel Changes ] + + * Rebase to v5.9 + + -- Seth Forshee Wed, 14 Oct 2020 13:31:18 -0500 + +linux-5.9 (5.9.0-1.2) groovy; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] Update configs after rebase to 5.9-rc6 + - SAUCE: dax: Fix compilation for CONFIG_DAX && !CONFIG_FS_DAX + - SAUCE: bpf: Use --no-fail option if CONFIG_BPF is not enabled + - SAUCE: tools resolve_btfids: Always force HOSTARCH + + [ Upstream Kernel Changes ] + + * Rebase to v5.9-rc6 + + -- Seth Forshee Mon, 21 Sep 2020 14:39:34 -0500 + +linux-5.9 (5.9.0-0.1) groovy; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] Update configs and annotations for v5.9-rc1 + - SAUCE: i915: Fix build error due to missing struct definition + - hio -- Update blk_queue_split() calls for changes in 5.9-rc1 + - hio -- Updates for move of make_request_fn to struct block_device_operations + - [Config] Disable zfs dkms build + - [Config] Disable nvidia dkms build + - [Config] Disable nvidia server dkms builds + - SAUCE: remoteproc: qcom: Use div_u64() for 64-bit division + - SAUCE: PCI/ASPM: Enable ASPM for links under VMD domain + - [Packaging] Bind hv_vss_daemon startup to hv_vss device + - [Packaging] bind hv_fcopy_daemon startup to hv_fcopy device + - [Config] Re-enable UEFI signing for arm64 + - SAUCE: Revert "UBUNTU: SAUCE: export __get_vm_area_caller() and map_kernel_range()" + - [Config] Set the default CPU governor to ONDEMAND + - [Packaging] update variants + - [Packaging] update helper scripts + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.9-rc5 + + -- Seth Forshee Thu, 17 Sep 2020 15:01:21 -0500 + +linux-5.9 (5.9.0-0.0) groovy; urgency=medium + + * Empty entry + + -- Seth Forshee Tue, 18 Aug 2020 16:48:03 -0500 + +linux (5.8.0-16.17) groovy; urgency=medium + + * groovy/linux: 5.8.0-16.17 -proposed tracker (LP: #1891233) + + * Miscellaneous Ubuntu changes + - hio -- Update to use bio_{start,end}_io_acct with 5.8+ + - Enable hio driver + - [Packaging] Temporarily disable building doc package contents + + -- Seth Forshee Tue, 11 Aug 2020 15:32:58 -0500 + +linux (5.8.0-15.16) groovy; urgency=medium + + * groovy/linux: 5.8.0-15.16 -proposed tracker (LP: #1891177) + + * Miscellaneous Ubuntu changes + - SAUCE: Documentation: import error c_funcptr_sig_re, c_sig_re (sphinx- + doc/sphinx@0f49e30c) + + -- Seth Forshee Tue, 11 Aug 2020 09:29:58 -0500 + +linux (5.8.0-14.15) groovy; urgency=medium + + * groovy/linux: 5.8.0-14.15 -proposed tracker (LP: #1891085) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * msg_zerocopy.sh in net from ubuntu_kernel_selftests failed (LP: #1812620) + - selftests/net: relax cpu affinity requirement in msg_zerocopy test + + * Fix missing HDMI/DP Audio on an HP Desktop (LP: #1890441) + - ALSA: hda/hdmi: Add quirk to force connectivity + + * Add initial audio support for Lenovo ThinkStation P620 (LP: #1890317) + - ALSA: usb-audio: Add support for Lenovo ThinkStation P620 + + * Fix IOMMU error on AMD Radeon Pro W5700 (LP: #1890306) + - PCI: Mark AMD Navi10 GPU rev 0x00 ATS as broken + + * Enlarge hisi_sec2 capability (LP: #1890222) + - crypto: hisilicon - update SEC driver module parameter + + * Miscellaneous Ubuntu changes + - [Config] Re-enable signing for ppc64el + + -- Seth Forshee Mon, 10 Aug 2020 15:26:46 -0500 + +linux (5.8.0-13.14) groovy; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] Remove i386 configs + - SAUCE: apply a workaround to re-enable CONFIG_CRYPTO_AEGIS128_SIMD + - SAUCE: export __get_vm_area_caller() and map_kernel_range() + - [Config] drop CONFIG_BINFMT_AOUT enforcement + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] disable CONFIG_CRYPTO_AEGIS128_SIMD" + + [ Upstream Kernel Changes ] + + * Rebase to v5.8 + + -- Andrea Righi Tue, 04 Aug 2020 09:51:50 +0200 + +linux (5.8.0-12.13) groovy; urgency=medium + + * groovy/linux: 5.8.0-12.13 -proposed tracker (LP: #1889481) + + * Fix right speaker of HP laptop (LP: #1889375) + - SAUCE: hda/realtek: Fix right speaker of HP laptop + + * blk_update_request error when mount nvme partition (LP: #1872383) + - SAUCE: nvme-pci: prevent SK hynix PC400 from using Write Zeroes command + + * Add support for Atlantic NIC firmware v4 (LP: #1886908) + - Revert "UBUNTU: SAUCE: net: atlantic: Add support for firmware v4" + - net: atlantic: align return value of ver_match function with function name + - net: atlantic: add support for FW 4.x + + * Miscellaneous Ubuntu changes + - [Debian] Fix debian/tests for linux-5.8 -> linux rename + - SAUCE: selftests/powerpc: return skip code for spectre_v2 + + -- Seth Forshee Wed, 29 Jul 2020 16:58:47 -0500 + +linux (5.8.0-11.12) groovy; urgency=medium + + * groovy/linux: 5.8.0-11.12 -proposed tracker (LP: #1889336) + + * Miscellaneous Ubuntu changes + - [Packaging] dwarves is not required for linux-libc-dev or stage1 + + -- Seth Forshee Tue, 28 Jul 2020 22:33:24 -0500 + +linux (5.8.0-10.11) groovy; urgency=medium + + * groovy/linux: 5.8.0-10.11 -proposed tracker (LP: #1889316) + + * Miscellaneous Ubuntu changes + - [Packaging] Add more packages to Build-Depends-Indep for docs + - [Debian] Specify python executable in kmake + - [Debian] Don't treat warnings as errors during perf builds + - [Config] Disable signing for ppc64el + + -- Seth Forshee Tue, 28 Jul 2020 17:09:52 -0500 + +linux (5.8.0-9.10) groovy; urgency=medium + + * groovy/linux: 5.8.0-9.10 -proposed tracker (LP: #1889140) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * Miscellaneous Ubuntu changes + - SAUCE: Fix s390x compile error on F32 utils/stat-display.c + - [Packaging] Add python3-venv to Build-Depends-Indep + + -- Seth Forshee Mon, 27 Jul 2020 21:01:46 -0500 + +linux (5.8.0-8.9) groovy; urgency=medium + + * groovy/linux: 5.8.0-8.9 -proposed tracker (LP: #1889104) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - update dkms package versions + - [Packaging] update variants + + * Introduce the new NVIDIA 450-server and the 450 UDA series (LP: #1887674) + - [Packaging] NVIDIA -- Add signed modules for 450 450-server + + * Introduce the new NVIDIA 418-server and 440-server series, and update the + current NVIDIA drivers (LP: #1881137) + - [packaging] add signed modules for the 418-server and the 440-server + flavours + + * Miscellaneous Ubuntu changes + - SAUCE: Revert "radix-tree: Use local_lock for protection" + - [Config] CONFIG_DEBUG_INFO_COMPRESSED=n + - [Config] disable CONFIG_CRYPTO_AEGIS128_SIMD + - [Config] Enable nvidia dkms build + + * Miscellaneous upstream changes + - usbip: tools: fix build error for multiple definition + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc7 + + -- Seth Forshee Mon, 27 Jul 2020 11:18:12 -0500 + +linux (5.8.0-7.8) groovy; urgency=medium + + * Empty entry + + -- Seth Forshee Mon, 27 Jul 2020 09:22:19 +0200 + +linux-5.8 (5.8.0-7.8) groovy; urgency=medium + + * soc/amd/renoir: detect dmic from acpi table (LP: #1887734) + - ASoC: amd: add logic to check dmic hardware runtime + - ASoC: amd: add ACPI dependency check + - ASoC: amd: fixed kernel warnings + + * linux 4.15.0-109-generic network DoS regression vs -108 (LP: #1886668) + - SAUCE: Revert "netprio_cgroup: Fix unlimited memory leak of v2 cgroups" + + * Add support for Atlantic NIC firmware v4 (LP: #1886908) + - SAUCE: net: atlantic: Add support for firmware v4 + + * MGA G200e doesn't work under GDM Wayland (LP: #1886140) + - drm/mgag200: Remove HW cursor + - drm/mgag200: Clean up mga_set_start_address() + - drm/mgag200: Clean up mga_crtc_do_set_base() + - drm/mgag200: Move mode-setting code into separate helper function + - drm/mgag200: Split MISC register update into PLL selection, SYNC and I/O + - drm/mgag200: Update mode registers after plane registers + - drm/mgag200: Set pitch in a separate helper function + - drm/mgag200: Set primary plane's format in separate helper function + - drm/mgag200: Move TAGFIFO reset into separate function + - drm/mgag200: Move hiprilvl setting into separate functions + - drm/mgag200: Move register initialization into separate function + - drm/mgag200: Remove out-commented suspend/resume helpers + - drm/mgag200: Use simple-display data structures + - drm/mgag200: Convert to simple KMS helper + - drm/mgag200: Replace VRAM helpers with SHMEM helpers + + * Miscellaneous Ubuntu changes + - SAUCE: s390/bpf: fix sign extension in branch_ku + - SAUCE: selftests: net: ip_defrag: modprobe missing nf_defrag_ipv6 support + - SAUCE: selftests: fib_nexthop_multiprefix: fix cleanup() netns deletion + - [packaging] debhelper-compat (= 10) (and retire debian/compat) + - [Config] Update configs after rebase to 5.8-rc6 + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc6 + + -- Andrea Righi Mon, 20 Jul 2020 09:55:47 +0200 + +linux-5.8 (5.8.0-6.7) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * perf build broken after updating to bintuils 2.34.90.20200706-1ubuntu1 + (LP: #1887397) + - SAUCE: libtraceevent: Strip symbol version from nm output + + -- Seth Forshee Mon, 13 Jul 2020 14:07:53 -0500 + +linux-5.8 (5.8.0-5.6) groovy; urgency=medium + + * linux-libc-dev broken for crossbuilding, Multi-Arch:same violation + (LP: #1886188) + - [Packaging] Produce linux-libc-deb package for riscv64 + - [Debian] Disallow building linux-libc-dev from linux-riscv + + * Miscellaneous Ubuntu changes + - SAUCE: Revert "UBUNTU: SAUCE: test_bpf: remove expected fail for Ctx heavy + transformations test on s390" + - SAUCE: Revert "test_bpf: flag tests that cannot be jited on s390" + - [Config] Update configs (gcc update) + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc5 + + -- Andrea Righi Mon, 13 Jul 2020 08:42:14 +0200 + +linux-5.8 (5.8.0-4.5) groovy; urgency=medium + + * Add generic LED class support for audio LED (LP: #1885896) + - ALSA: hda: generic: Always call led-trigger for mic mute LED + - ALSA: hda: generic: Add a helper for mic-mute LED with LED classdev + - ALSA: hda/realtek: Convert to cdev-variant of mic-mute LED controls + - ALSA: hda/conexant: Convert to cdev-variant of mic-mute LED controls + - ALSA: hda/sigmatel: Convert to cdev-variant of mic-mute LED controls + - ALSA: hda: generic: Drop unused snd_hda_gen_fixup_micmute_led() + - ALSA: hda: generic: Drop the old mic-mute LED hook + - ALSA: hda: generic: Add vmaster mute LED helper + - ALSA: hda/realtek: Use the new vmaster mute LED helper + - ALSA: hda/conexant: Use the new vmaster mute LED helper + - ALSA: hda/sigmatel: Use the new vmaster mute LED helper + - ALSA: hda/realtek: Unify LED helper code + - ALSA: hda: Let LED cdev handling suspend/resume + + * seccomp_bpf fails on powerpc (LP: #1885757) + - SAUCE: selftests/seccomp: fix ptrace tests on powerpc + + * CVE-2020-11935 + - SAUCE: aufs: do not call i_readcount_inc() + + * Miscellaneous Ubuntu changes + - SAUCE: Update aufs to 5.x-rcN 20200622 + - [Config] Update configs to set CONFIG_SND_HDA_GENERIC_LEDS value + - [Config] CONFIG_SECURITY_DMESG_RESTRICT=y + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc4 + + -- Seth Forshee Mon, 06 Jul 2020 08:14:28 -0500 + +linux-5.8 (5.8.0-3.4) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - update dkms package versions + + * lxc 1:4.0.2-0ubuntu1 ADT test failure with linux-5.8 5.8.0-1.2 + (LP: #1884635) + - SAUCE: overlayfs: fix faulty rebase + + * shiftfs: O_TMPFILE reports ESTALE (LP: #1872757) + - SAUCE: shiftfs: prevent ESTALE for LOOKUP_JUMP lookups + + * shiftfs: fix btrfs regression (LP: #1884767) + - SAUCE: Revert "UBUNTU: SAUCE: shiftfs: fix dentry revalidation" + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_DEBUG_INFO_COMPRESSED=y + - SAUCE: regulator: rename da903x to da903x-regulator + - [Config] Add da903x to modules.ignore + - [Config] Update configs for rebase to 5.8-rc3 + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc3 + + -- Seth Forshee Mon, 29 Jun 2020 08:48:25 -0500 + +linux-5.8 (5.8.0-2.3) groovy; urgency=medium + + * Support Audio Mute LED for two new HP laptops (LP: #1884251) + - ALSA: hda/realtek: Add mute LED and micmute LED support for HP systems + + * CVE-2019-16089 + - SAUCE: nbd_genl_status: null check for nla_nest_start + + * tpm: fix TIS locality timeout problems (LP: #1881710) + - SAUCE: tpm: fix TIS locality timeout problems + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - SAUCE: security,perf: Allow further restriction of perf_event_open + - [Config] CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y + - [Config] Update configs and annotations for 5.8-rc2 + - [Config] Enable zfs + - [Config] Enable CONFIG_DEBUG_INFO_BTF + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc2 + + -- Seth Forshee Mon, 22 Jun 2020 15:05:54 -0500 + +linux-5.8 (5.8.0-1.2) groovy; urgency=medium + + * Miscellaneous Ubuntu changes + - [Debian] Support linux-x.y in udeb package names + - [Packaging] Use SRCPKGNAME for udeb packages + + -- Seth Forshee Wed, 17 Jun 2020 19:34:32 -0500 + +linux-5.8 (5.8.0-0.1) groovy; urgency=medium + + * Docker registry doesn't stay up and keeps restarting (LP: #1879690) + - Revert "UBUNTU: SAUCE: overlayfs: use shiftfs hacks only with shiftfs as underlay" + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * Miscellaneous Ubuntu changes + - [Packaging] Update source package name to linux-5.8 + - SAUCE: (lockdown) Add efi_status_to_str() and rework efi_status_to_err(). + - SAUCE: (lockdown) Make get_cert_list() use efi_status_to_str() to print error messages. + - SAUCE: (lockdown) security: lockdown: expose a hook to lock the kernel down + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode + - SAUCE: (lockdown) efi: Lock down the kernel if booted in secure boot mode + - SAUCE: (lockdown) s390: Lock down the kernel when the IPL secure flag is set + - SAUCE: (lockdown) KEYS: Make use of platform keyring for module signature verify + - SAUCE: (lockdown) arm64: Allow locking down the kernel under EFI secure boot + - SAUCE: (lockdown) security: lockdown: Make CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic + - SAUCE: (lockdown) powerpc: lock down kernel in secure boot mode + - SAUCE: Import aufs driver + - [Config] Update configs for v5.8-rc1 + - [Config] Update annotations for v5.8-rc1 config changes + - SAUCE: shiftfs -- Fix build errors from missing fiemap definitions + - Disable hio driver + + * Miscellaneous upstream changes + - acpi: disallow loading configfs acpi tables when locked down + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc1 + + -- Seth Forshee Wed, 17 Jun 2020 11:54:24 -0500 + +linux-5.8 (5.8.0-0.0) groovy; urgency=medium + + * Empty entry + + -- Seth Forshee Sun, 14 Jun 2020 22:40:35 -0500 + +linux-5.7 (5.7.0-8.9) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Enforce all config annotations (LP: #1879327) + - [Config]: do not enforce CONFIG_VERSION_SIGNATURE + - [Config]: prepare to enforce all + - [Config]: enforce all config options + + * Miscellaneous Ubuntu changes + - [Config]: annotations review after 5.7 rebase + - [Config] annotations: IXP4XX* depends on ARCH_IXP4XX + - [Config] THERMAL_GOV_POWER_ALLOCATOR=y + - [Config] annotations: SOC_CAMERA is marked as BROKEN + - [Config] annotations: NFSD_V4_2_INTER_SSC depends on NFS_FS=y + - [Config] annotations: CRYPTO_DEV_CHELSIO_TLS depends on legacy (and largely + unmantained) TLS_TOE + - [Config] annotations: SERIO_OLPC_APSP depends on ARCH_MMP + - [Config] RTW88_DEBUG=y + - [Config] annotations: ISDN_CAPI is a bool, and BT_CMTP depends on it + - [Config] annotations SND_SOC_SOF_DEVELOPER_SUPPORT depends on + SND_SOC_SOF_DEVELOPER_SUPPORT + - [Config] annotations: SND_SOC_SOF_BAYTRAIL_SUPPORT is mutually exclusive + with SND_SST_ATOM_HIFI2_PLATFORM_ACPI + - [Config] annotations: DEBUG_IMX_UART_PORT is defined only any + DEBUG_IMX*_UART is enabled + - [Config] annotations: HW_RANDOM_IMX_RNGC depends on SOC_IMX25 + - [Config] annotations: armhf: VIRTUALIZATION support was removed for arm32 + - [Config] annotations: arm64: remove DEBUG_ALIGN_RODATA + - [Config] annotations: ppc64: DATA_SHIFT defaults to PPC_PAGE_SHIFT + - [Config] arm64: enforce ARM64_USE_LSE_ATOMICS + - [Config] s390x: MOST is not set + - [Config] s390x: BCM84881_PHY is not set + - [Config] s390x: XILINX_LL_TEMAC is not set + - [Config] s390x: PHY_INTEL_EMMC requires GENERIC_PHY (off by default on + s390x) + - [Config] s390x: CHECK_STACK conflicts with VMAP_STACK + - [Config] annotations: s390x: NODES_SHIFT=1 + - [Config] annotations: import new symbols + - [Config] annotations: remove unmatched menu and options + + -- Paolo Pisati Fri, 12 Jun 2020 12:03:01 +0200 + +linux-5.7 (5.7.0-7.8) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + - [Packaging] update helper scripts + + * [UBUNTU 20.04] s390x/pci: fix linking between PF and VF for multifunction + devices (LP: #1879704) + - PCI/IOV: Introduce pci_iov_sysfs_link() function + - s390/pci: create links between PFs and VFs + + * Miscellaneous Ubuntu changes + - [Config] Disable UEFI signing for arm64 + - Rebase to v5.7.1 + + [ Upstream Kernel Changes ] + + * Rebase to v5.7.1 + + -- Paolo Pisati Mon, 08 Jun 2020 11:16:58 +0200 + +linux-5.7 (5.7.0-6.7) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - update dkms package versions + + * shiftfs: fix btrfs snapshot deletion (LP: #1879688) + - SAUCE: shiftfs: let userns root destroy subvolumes from other users + + * seccomp_benchmark times out on eoan (LP: #1881576) + - SAUCE: selftests/seccomp: use 90s as timeout + + * Realtek 8723DE [10ec:d723] subsystem [10ec:d738] disconnects unsolicitedly + when Bluetooth is paired: Reason: 23=IEEE8021X_FAILED (LP: #1878147) + - SAUCE: Revert "UBUNTU: SAUCE: rtw88: Move driver IQK to set channel before + association for 11N chip" + - SAUCE: Revert "UBUNTU: SAUCE: rtw88: fix rate for a while after being + connected" + - SAUCE: Revert "UBUNTU: SAUCE: rtw88: No retry and report for auth and assoc" + - SAUCE: Revert "UBUNTU: SAUCE: rtw88: 8723d: Add coex support" + - rtw88: 8723d: Add coex support + - SAUCE: rtw88: coex: 8723d: set antanna control owner + - SAUCE: rtw88: coex: 8723d: handle BT inquiry cases + - SAUCE: rtw88: fix EAPOL 4-way failure by finish IQK earlier + + * ASoC/amd: add audio driver for amd renoir (LP: #1881046) + - ASoC: amd: add Renoir ACP3x IP register header + - ASoC: amd: add Renoir ACP PCI driver + - ASoC: amd: add acp init/de-init functions + - ASoC: amd: create acp3x pdm platform device + - ASoC: amd: add ACP3x PDM platform driver + - ASoC: amd: irq handler changes for ACP3x PDM dma driver + - ASoC: amd: add acp3x pdm driver dma ops + - ASoC: amd: add ACP PDM DMA driver dai ops + - ASoC: amd: add Renoir ACP PCI driver PM ops + - ASoC: amd: add ACP PDM DMA driver pm ops + - ASoC: amd: enable Renoir acp3x drivers build + - ASoC: amd: create platform devices for Renoir + - ASoC: amd: RN machine driver using dmic + - ASoC: amd: enable build for RN machine driver + - ASoC: amd: fix kernel warning + - ASoC: amd: refactoring dai_hw_params() callback + - ASoC: amd: return error when acp de-init fails + - [Config]: enable amd renoir ASoC audio + + * Slow send speed with Intel I219-V on Ubuntu 18.04.1 (LP: #1802691) + - e1000e: Disable TSO for buffer overrun workaround + + * Fix incorrect speed/duplex when I210 device is runtime suspended + (LP: #1880656) + - igb: Report speed and duplex as unknown when device is runtime suspended + + * Fix Pericom USB controller OHCI/EHCI PME# defect (LP: #1879321) + - serial: 8250_pci: Move Pericom IDs to pci_ids.h + - PCI: Avoid Pericom USB controller OHCI/EHCI PME# defect + + * [UBUNTU 20.04] s390x/pci: enumerate pci functions per physical adapter + (LP: #1874056) + - s390/pci: Expose new port attribute for PCIe functions + - s390/pci: adaptation of iommu to multifunction + - s390/pci: define kernel parameters for PCI multifunction + - s390/pci: define RID and RID available + - s390/pci: create zPCI bus + - s390/pci: adapt events for zbus + - s390/pci: Handling multifunctions + - s390/pci: Do not disable PF when VFs exist + - s390/pci: Documentation for zPCI + - s390/pci: removes wrong PCI multifunction assignment + + * add 16-bit width registers support for EEPROM at24 device (LP: #1876699) + - regmap-i2c: add 16-bit width registers support + + * Miscellaneous Ubuntu changes + - [Config] Enable virtualbox guest and shared-folder modules + + [ Upstream Kernel Changes ] + + * Rebase to v5.7 + + -- Seth Forshee Mon, 01 Jun 2020 16:11:24 -0500 + +linux-5.7 (5.7.0-5.6) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * [UBUNTU 20.04] PSI generates overhead on s390x (LP: #1876044) + - Ubuntu: [Config] CONFIG_PSI is enabled by default, but creates additional + overhead on s390x, hence should be disabled by default on s390x only. + + * Miscellaneous Ubuntu changes + - Rebase to v5.7-rc7 + - [Config] ppc64el: disable STRICT_KERNEL_RWX + + [ Upstream Kernel Changes ] + + * Rebase to v5.7-rc7 + + -- Paolo Pisati Mon, 25 May 2020 11:44:09 +0200 + +linux-5.7 (5.7.0-4.5) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * update-initramfs complains of missing amdgpu firmware files (LP: #1873325) + - SAUCE: drm/amdgpu: Remove unreleased arcturus and navi12 firmware from + modinfo + + * Support DMIC micmute LED on HP platforms (LP: #1876859) + - ALSA: hda/realtek - Introduce polarity for micmute LED GPIO + - ALSA: hda/realtek - Enable micmute LED on and HP system + - ALSA: hda/realtek - Add LED class support for micmute LED + - ALSA: hda/realtek - Fix unused variable warning w/o + CONFIG_LEDS_TRIGGER_AUDIO + - ASoC: SOF: Update correct LED status at the first time usage of + update_mute_led() + + * Killer(R) Wi-Fi 6 AX1650i 160MHz Wireless Network Adapter (201NGW), + REV=0x354 [8086:a0f0] subsystem id [1a56:1651] wireless adapter not found + due to firmware crash (LP: #1874685) + - SAUCE: iwlwifi: pcie: handle QuZ configs with killer NICs as well + + * rtkit-daemon[*]: Failed to make ourselves RT: Operation not permitted after + upgrade to 20.04 (LP: #1875665) + - [Config] Turn off CONFIG_RT_GROUP_SCHED everywhere + + * Unable to handle kernel pointer dereference in virtual kernel address space + on Eoan (LP: #1876645) + - SAUCE: overlayfs: fix shitfs special-casing + + * Miscellaneous Ubuntu changes + - SAUCE: skip building selftest 'runqslower' if kernel not built + - Rebase to v5.7-rc6 + - [Config] updateconfigs after 5.7-rc6 rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.7-rc6 + + -- Paolo Pisati Mon, 18 May 2020 11:27:25 +0200 + +linux-5.7 (5.7.0-3.4) groovy; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v5.7-rc5 + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * getitimer returns it_value=0 erroneously (LP: #1349028) + - [Config] CONTEXT_TRACKING_FORCE policy should be unset + + * lockdown on power (LP: #1855668) // Ubuntu Kernel Support for OpenPOWER NV + Secure & Trusted Boot (LP: #1866909) + - [Config] Enable configs for OpenPOWER NV Secure & Trusted Boot + + * Miscellaneous Ubuntu changes + - SAUCE: Import aufs driver + - [Config] Enable aufs + - [Config] annotations: remove SND_SOC_SOF_HDA_COMMON_HDMI_CODEC + - [Config] Remove CONFIG_SND_HDA_INTEL_DETECT_DMIC from annotations + - [Debian] final-checks -- Do not remove ~* from abi + - [Config] Enable 5-level page table support for x86 + - [Config] updateconfigs after 5.7-rc5 rebase + + -- Paolo Pisati Mon, 11 May 2020 10:25:42 +0200 + +linux-5.7 (5.7.0-2.3) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - update dkms package versions + - [Packaging] update helper scripts + + * ASUS T100HAN boots to a blank screen with a cursor [i965: Failed to submit + batchbuffer: Input/output error] (LP: #1860754) + - [Config] CONFIG_PMIC_OPREGION=y and CONFIG_GPIO_CRYSTAL_COVE=y for amd64 + + * ubuntu/focal64 fails to mount Vagrant shared folders (LP: #1873506) + - [Packaging] Move virtualbox modules to linux-modules + - [Packaging] Remove vbox and zfs modules from generic.inclusion-list + + * built-using constraints preventing uploads (LP: #1875601) + - temporarily drop Built-Using data + + * dkms artifacts may expire from the pool (LP: #1850958) + - [Packaging] autoreconstruct -- manage executable debian files + - [packaging] handle downloads from the librarian better + + * Add signed modules for the 435 NVIDIA driver (LP: #1875888) + - [Packaging] NVIDIA -- add signed modules for the 435 NVIDIA driver + + * [Selftests] Apply various fixes and improvements (LP: #1870543) + - SAUCE: selftests/seccomp -- Disable timeout for seccomp tests + + * [17.04 FEAT] Integrate kernel message catalogue for s390x into Ubuntu + distribution (LP: #1628889) + - SAUCE: s390: kernel message catalog + + * Overlayfs in user namespace leaks directory content of inaccessible + directories (LP: #1793458) // CVE-2018-6559 + - SAUCE: overlayfs: ensure mounter privileges when reading directories + + * suspend only works once on ThinkPad X1 Carbon gen 7 (LP: #1865570) + - SAUCE: e1000e: Disable s0ix flow for X1 Carbon 7th + + * [ICL] TC port in legacy/static mode can't be detected due TCCOLD + (LP: #1868936) + - drm/i915/display: Move out code to return the digital_port of the aux ch + - drm/i915/display: Add intel_legacy_aux_to_power_domain() + - drm/i915/display: Split hsw_power_well_enable() into two + - drm/i915/tc/icl: Implement TC cold sequences + - drm/i915/tc: Skip ref held check for TC legacy aux power wells + - drm/i915/tc/tgl: Implement TC cold sequences + - drm/i915/tc: Catch TC users accessing FIA registers without enable aux + - drm/i915/tc: Do not warn when aux power well of static TC ports timeout + + * Touchpad doesn't work on Dell Inspiron 7000 2-in-1 (LP: #1851901) + - Revert "UBUNTU: SAUCE: mfd: intel-lpss: add quirk for Dell XPS 13 7390 + 2-in-1" + + * 'Elan touchpad' not detected on 'Lenovo ThinkBook 15 IIL' (LP: #1861610) + - SAUCE: Input: elan_i2c - add more hardware ID for Lenovo laptop + + * linux-image-5.0.0-35-generic breaks checkpointing of container + (LP: #1857257) + - SAUCE: overlayfs: use shiftfs hacks only with shiftfs as underlay + + * alsa/sof: kernel oops on the machine without Intel hdmi audio codec (a + regression in the asoc machine driver) (LP: #1874359) + - ASoC: intel/skl/hda - fix oops on systems without i915 audio codec + + * Add debian/rules targets to compile/run kernel selftests (LP: #1874286) + - [Packaging] add support to compile/run selftests + + * 5.4.0-24.28 does not seem to apply rtprio, whereas -21 does. (LP: #1873315) + - [Config] lowlatency: turn off RT_GROUP_SCHED + + * alsa/sof: external mic can't be deteced on Lenovo and HP laptops + (LP: #1872569) + - SAUCE: ASoC: intel/skl/hda - set autosuspend timeout for hda codecs + + * shiftfs: O_TMPFILE reports ESTALE (LP: #1872757) + - SAUCE: shiftfs: fix dentry revalidation + + * shiftfs: broken shiftfs nesting (LP: #1872094) + - SAUCE: shiftfs: record correct creator credentials + + * lockdown on power (LP: #1855668) + - SAUCE: (lockdown) powerpc: lock down kernel in secure boot mode + + * Add support for Realtek 8723DE wireless adapter (LP: #1780590) + - SAUCE: rtw88: add adaptivity support for EU/JP regulatory + - SAUCE: rtw88: update tx descriptor of mgmt and rsvd page packets + - SAUCE: rtw88: sar: dump sar information via debugfs + - SAUCE: rtw88: 8723d: add IQ calibration + - SAUCE: rtw88: 8723d: Add power tracking + - SAUCE: rtw88: 8723d: implement flush queue + - SAUCE: rtw88: 8723d: set ltecoex register address in chip_info + - SAUCE: rtw88: 8723d: Add coex support + - SAUCE: rtw88: 8723d: Add shutdown callback to disable BT USB suspend + + * Fix authentication fail on Realtek WiFi 8723de (LP: #1871300) + - SAUCE: rtw88: No retry and report for auth and assoc + - SAUCE: rtw88: fix rate for a while after being connected + - SAUCE: rtw88: Move driver IQK to set channel before association for 11N chip + + * Miscellaneous Ubuntu changes + - SAUCE: rtw88: fix 'const' mismatch in power suequence hooks + - SAUCE: rtw88: fix 'const' mismatch in + __priority_queue_cfg_legacy()/__priority_queue_cfg() + - [Config] RTW88=m + - SAUCE: (lockdown) Revert carried-forward lockdown patches + - SAUCE: (lockdown) Add efi_status_to_str() and rework efi_status_to_err(). + - SAUCE: (lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (lockdown) security: lockdown: expose a hook to lock the kernel down + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot + mode + - SAUCE: (lockdown) efi: Lock down the kernel if booted in secure boot mode + - SAUCE: (lockdown) s390: Lock down the kernel when the IPL secure flag is set + - SAUCE: (lockdown) KEYS: Make use of platform keyring for module signature + verify + - SAUCE: (lockdown) arm64: Allow locking down the kernel under EFI secure boot + - SAUCE: (lockdown) security: lockdown: Make + CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic + - [Config] Add back CONFIG_LOCK_DOWN_IN_SECURE_BOOT annotation for ppc64el + - [Config] CONFIG_RT_GROUP_SCHED=y + - [Packaging] Include modules.builtin.modinfo in linux-modules + - SAUCE: LSM: Infrastructure management of the sock security + - SAUCE: Fix-up af_unix mediation for sock infrastructure management + - SAUCE: Revert "apparmor: Allow filtering based on secmark policy" + - SAUCE: Revert "apparmor: Parse secmark policy" + - SAUCE: Revert "apparmor: Add a wildcard secid" + - SAUCE: Revert "apparmor: fixup secid map conversion to using IDR" + - SAUCE: Revert "apparmor: Use an IDR to allocate apparmor secids" + - SAUCE: Revert "apparmor: add support for mapping secids and using secctxes" + - Update dropped.txt for restored apparmor patches + - Remove lockdown patches from dropped.txt + - SAUCE: powerpc/ima: require IMA module signatures only if MODULE_SIG is not + enabled + - SAUCE: selftests/ftrace: Use printf instead of echo in kprobe syntax error + tests + - SAUCE: selftests/net -- disable l2tp.sh test + - SAUCE: selftests/net -- disable timeout + - SAUCE: tools: hv: Update shebang to use python3 instead of python + - Remove dropped.txt + - [Packaging] move linux-doc and linux-libc-dev stubs to debian.master + - [Debian] Support generating configs for riscv64 + - [Config] CONFIG_KMSG_IDS=y for s390x + - [Packaging] add libcap-dev dependency + - [Config] CONFIG_AD5770R=m + - [Config] CONFIG_AL3010=m + - [Config] CONFIG_APPLE_MFI_FASTCHARGE=m + - [Config] CONFIG_BAREUDP=m + - [Config] CONFIG_CRYPTO_DEV_OCTEONTX_CPT=m + - [Config] CONFIG_CRYPTO_DEV_ZYNQMP_AES=m + - [Config] CONFIG_DRM_DISPLAY_CONNECTOR=m + - [Config] CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m + - [Config] CONFIG_DRM_PANEL_ELIDA_KD35T133=m + - [Config] CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m + - [Config] CONFIG_DRM_PANEL_NOVATEK_NT35510=m + - [Config] CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m + - [Config] CONFIG_DRM_PARADE_PS8640=m + - [Config] CONFIG_DRM_SIMPLE_BRIDGE=m + - [Config] CONFIG_DRM_TIDSS=m + - [Config] CONFIG_DRM_TI_TPD12S015=m + - [Config] CONFIG_DRM_TOSHIBA_TC358768=m + - [Config] CONFIG_EDAC_DMC520=m + - [Config] CONFIG_EXFAT_FS=m + - [Config] CONFIG_GP2AP002=m + - [Config] CONFIG_GPIO_MLXBF2=m + - [Config] CONFIG_HID_GLORIOUS=m + - [Config] CONFIG_HID_MCP2221=m + - [Config] CONFIG_HMC425=m + - [Config] CONFIG_ICP10100=m + - [Config] CONFIG_IMX8MM_THERMAL=m + - [Config] CONFIG_IMX_SC_THERMAL=m + - [Config] CONFIG_INTERCONNECT_QCOM_OSM_L3=m + - [Config] CONFIG_INTERCONNECT_QCOM_SC7180=m + - [Config] CONFIG_K3_RTI_WATCHDOG=m + - [Config] CONFIG_MDIO_IPQ8064=m + - [Config] CONFIG_MDIO_MVUSB=m + - [Config] CONFIG_MHI_BUS=m + - [Config] CONFIG_OCTEONTX2_VF=m + - [Config] CONFIG_PHY_CADENCE_TORRENT=m + - [Config] CONFIG_PHY_QCOM_USB_HS_28NM=m + - [Config] CONFIG_PHY_QCOM_USB_SS=m + - [Config] CONFIG_PINCTRL_DA9062=m + - [Config] CONFIG_PINCTRL_IPQ6018=m + - [Config] CONFIG_PTP_1588_CLOCK_IDT82P33=m + - [Config] CONFIG_PTP_1588_CLOCK_VMW=m + - [Config] CONFIG_QCOM_IPA=m + - [Config] CONFIG_REGULATOR_MP5416=m + - [Config] CONFIG_REGULATOR_MP886X=m + - [Config] CONFIG_RN5T618_ADC=m + - [Config] CONFIG_RTC_DRV_MT2712=m + - [Config] CONFIG_RTC_DRV_RC5T619=m + - [Config] CONFIG_SC_MSS_7180=m + - [Config] CONFIG_SENSORS_AXI_FAN_CONTROL=m + - [Config] CONFIG_SM_GCC_8250=m + - [Config] CONFIG_SND_BCM63XX_I2S_WHISTLER=m + - [Config] CONFIG_SND_MESON_AIU=m + - [Config] CONFIG_SND_MESON_G12A_TOACODEC=m + - [Config] CONFIG_SND_MESON_GX_SOUND_CARD=m + - [Config] CONFIG_SND_SOC_AMD_RV_RT5682_MACH=m + - [Config] CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m + - [Config] CONFIG_SND_SOC_MESON_T9015=m + - [Config] CONFIG_SND_SOC_RT5682_SDW=m + - [Config] CONFIG_SND_SOC_TLV320ADCX140=m + - [Config] CONFIG_SPI_FSI=m + - [Config] CONFIG_SPI_MTK_NOR=m + - [Config] CONFIG_SPI_MUX=m + - [Config] CONFIG_SPRD_THERMAL=m + - [Config] CONFIG_SURFACE_3_POWER_OPREGION=m + - [Config] CONFIG_TINYDRM_ILI9486=m + - [Config] CONFIG_TI_K3_AM65_CPSW_NUSS=m + - [Config] CONFIG_TYPEC_MUX_INTEL_PMC=m + - [Config] CONFIG_UACCE=m + - [Config] CONFIG_UNIPHIER_XDMAC=m + - [Config] CONFIG_USB_MAX3420_UDC=m + - [Config] CONFIG_USB_RAW_GADGET=m + - [Config] CONFIG_VHOST_VDPA=m + - [Config] CONFIG_VIDEO_IMX219=m + - [Config] CONFIG_VIDEO_SUN8I_ROTATE=m + - [Config] CONFIG_VIRTIO_VDPA=m + - [Config] CONFIG_MOST_COMPONENTS=m + - [Config] CONFIG_MFD_IQS62X=m + - packaging: getabis: switch to ckt-ppa:bootstrap/linux-5.7 + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: rtw88: add rtw_read8_mask and rtw_read16_mask" + - Revert "UBUNTU: SAUCE: drm/i915/fbc: disable framebuffer compression on + IceLake" + - Revert "UBUNTU: SAUCE: platform/x86: dell-uart-backlight: move retry block" + + -- Paolo Pisati Mon, 04 May 2020 10:48:48 +0200 + +linux-5.7 (5.7.0-1.2) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * Miscellaneous Ubuntu changes + - SAUCE: hio: pass make_request ptr directly to blk_alloc_queue() + - SAUCE: hio: locally define disk_map_sector_rcu() + - SAUCE: hio: Revert "block: unexport disk_map_sector_rcu" + - SAUCE: hio: include + - [Config] amd64: i386: HIO=m + - [Config] updateconfigs after 5.7-rc3 rebase + + -- Paolo Pisati Mon, 27 Apr 2020 11:31:38 +0200 + +linux-5.7 (5.7.0-0.1) groovy; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs after rebase to 5.7-rc1 + + [ Upstream Kernel Changes ] + + * Rebase to v5.7-rc1 + * Rebase to v5.7-rc2 + + -- Paolo Pisati Thu, 16 Apr 2020 11:53:58 +0200 + +linux-5.7 (5.7.0-0.0) focal; urgency=medium + + * Dummy entry + + -- Paolo Pisati Thu, 16 Apr 2020 11:53:58 +0200 + +linux-5.6 (5.6.0-7.7) focal; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Kernel Oops - general protection fault: 0000 [#1] SMP PTI after + disconnecting thunderbolt docking station (LP: #1864754) + - SAUCE: ptp: free ptp clock properly + + * swap storms kills interactive use (LP: #1861359) + - SAUCE: mm/page_alloc.c: disable memory reclaim watermark boosting by default + + * sysfs: incorrect network device permissions on network namespace change + (LP: #1865359) + - sysfs: add sysfs_file_change_owner() + - sysfs: add sysfs_link_change_owner() + - sysfs: add sysfs_group{s}_change_owner() + - sysfs: add sysfs_change_owner() + - device: add device_change_owner() + - drivers/base/power: add dpm_sysfs_change_owner() + - net-sysfs: add netdev_change_owner() + - net-sysfs: add queue_change_owner() + - net: fix sysfs permssions when device changes network namespace + - sysfs: fix static inline declaration of sysfs_groups_change_owner() + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs after rebase to 5.6 + + [ Upstream Kernel Changes ] + + * Rebase to v5.6 + + -- Andrea Righi Tue, 31 Mar 2020 10:45:09 +0200 + +linux-5.6 (5.6.0-6.6) focal; urgency=medium + + * suspend only works once on ThinkPad X1 Carbon gen 7 (LP: #1865570) + - SAUCE: e1000e: Disable s0ix flow for X1 Carbon 7th + + * Make Dell WD19 dock more reliable after suspend (LP: #1868217) + - xhci: Ensure link state is U3 after setting USB_SS_PORT_LS_U3 + - xhci: Wait until link state trainsits to U0 after setting USB_SS_PORT_LS_U0 + - xhci: Finetune host initiated USB3 rootport link suspend and resume + + * update-version-dkms doesn't add a BugLink (LP: #1867790) + - [Packaging] Add BugLink to update-version-dkms commit + + * Add support for Realtek 8723DE wireless adapter (LP: #1780590) + - SAUCE: rtw88: add regulatory process strategy for different chipset + - SAUCE: rtw88: support dynamic user regulatory setting + - SAUCE: rtw88: Use secondary channel offset enumeration + - SAUCE: rtw88: 8822c: modify rf protection setting + - SAUCE: rtw88: disable TX-AMSDU on 2.4G band + - SAUCE: Revert "rtw88: disable TX-AMSDU on 2.4G band" + - SAUCE: rtw88: disable TX-AMSDU on 2.4G band + - SAUCE: rtw88: remove unused parameter vif in rtw_lps_pg_info_get() + - SAUCE: rtw88: add rtw_read8_mask and rtw_read16_mask + - SAUCE: rtw88: pci: 8822c should set clock delay to zero + - SAUCE: rtw88: move rtw_enter_ips() to the last when config + - SAUCE: rtw88: avoid holding mutex for cancel_delayed_work_sync() + - SAUCE: rtw88: add ciphers to suppress error message + - SAUCE: rtw88: 8822c: update power sequence to v16 + - SAUCE: rtw88: Fix incorrect beamformee role setting + - SAUCE: rtw88: don't hold all IRQs disabled for PS operations + - SAUCE: rtw88: extract alloc rsvd_page and h2c skb routines + - SAUCE: rtw88: associate reserved pages with each vif + - SAUCE: rtw88: add adaptivity support for EU/JP regulatory + - SAUCE: rtw88: 8723d: Add basic chip capabilities + - SAUCE: rtw88: 8723d: add beamform wrapper functions + - SAUCE: rtw88: 8723d: Add power sequence + - SAUCE: rtw88: 8723d: Add RF read/write ops + - SAUCE: rtw88: 8723d: Add mac/bb/rf/agc/power_limit tables + - SAUCE: rtw88: 8723d: Add cfg_ldo25 to control LDO25 + - SAUCE: rtw88: 8723d: Add new chip op efuse_grant() to control efuse access + - SAUCE: rtw88: 8723d: Add read_efuse to recognize efuse info from map + - SAUCE: rtw88: add legacy firmware download for 8723D devices + - SAUCE: rtw88: no need to send additional information to legacy firmware + - SAUCE: rtw88: 8723d: Add mac power-on/-off function + - SAUCE: rtw88: decompose while(1) loop of power sequence polling command + - SAUCE: rtw88: 8723d: 11N chips don't support H2C queue + - SAUCE: rtw88: 8723d: implement set_tx_power_index ops + - SAUCE: rtw88: 8723d: Organize chip TX/RX FIFO + - SAUCE: rtw88: 8723d: initialize mac/bb/rf basic functions + - SAUCE: rtw88: 8723d: Add DIG parameter + - SAUCE: rtw88: 8723d: Add query_rx_desc + - SAUCE: rtw88: 8723d: Add set_channel + - SAUCE: rtw88: handle C2H_CCX_TX_RPT to know if packet TX'ed successfully + - SAUCE: rtw88: 8723d: 11N chips don't support LDPC + - SAUCE: rtw88: set default port to firmware + - SAUCE: rtw88: update tx descriptor of mgmt and rsvd page packets + - SAUCE: rtw88: sar: add SAR of TX power limit + - SAUCE: rtw88: sar: Load static SAR table from ACPI WRDS method + - SAUCE: rtw88: sar: Load dynamic SAR table from ACPI methods + - SAUCE: rtw88: sar: apply dynamic SAR table to tx power limit + - SAUCE: rtw88: sar: add sar_work to poll if dynamic SAR table is changed + - SAUCE: rtw88: sar: dump sar information via debugfs + - SAUCE: rtw88: 8723d: Add chip_ops::false_alarm_statistics + - SAUCE: rtw88: 8723d: Set IG register for CCK rate + - SAUCE: rtw88: 8723d: add interface configurations table + - SAUCE: rtw88: 8723d: Add LC calibration + - SAUCE: rtw88: 8723d: add IQ calibration + - SAUCE: rtw88: 8723d: Add power tracking + - SAUCE: rtw88: 8723d: Add shutdown callback to disable BT USB suspend + - SAUCE: rtw88: 8723d: implement flush queue + - SAUCE: rtw88: 8723d: set ltecoex register address in chip_info + - SAUCE: rtw88: 8723d: Add coex support + - SAUCE: rtw88: fill zeros to words 0x06 and 0x07 of security cam entry + - SAUCE: rtw88: 8723d: Add 8723DE to Kconfig and Makefile + - [Config] CONFIG_RTW88_8723DE=y + + * [Ubuntu 20.04] Unset HIBERNATION and PM kernel config options for focal + (LP: #1867753) + - [Config] CONFIG_HIBERNATION=n and CONFIG_PM=n for s390x + + * [20.04 FEAT] Base KVM setup for secure guests - kernel part (LP: #1835531) + - s390/protvirt: introduce host side setup + - s390/protvirt: add ultravisor initialization + - s390/mm: provide memory management functions for protected KVM guests + - s390/mm: add (non)secure page access exceptions handlers + - s390/protvirt: Add sysfs firmware interface for Ultravisor information + - KVM: s390/interrupt: do not pin adapter interrupt pages + - KVM: s390: protvirt: Add UV debug trace + - KVM: s390: add new variants of UV CALL + - KVM: s390: protvirt: Add initial vm and cpu lifecycle handling + - KVM: s390: protvirt: Secure memory is not mergeable + - KVM: s390/mm: Make pages accessible before destroying the guest + - KVM: s390: protvirt: Handle SE notification interceptions + - KVM: s390: protvirt: Instruction emulation + - KVM: s390: protvirt: Implement interrupt injection + - KVM: s390: protvirt: Add SCLP interrupt handling + - KVM: s390: protvirt: Handle spec exception loops + - KVM: s390: protvirt: Add new gprs location handling + - KVM: S390: protvirt: Introduce instruction data area bounce buffer + - KVM: s390: protvirt: handle secure guest prefix pages + - KVM: s390/mm: handle guest unpin events + - KVM: s390: protvirt: Write sthyi data to instruction data area + - KVM: s390: protvirt: STSI handling + - KVM: s390: protvirt: disallow one_reg + - KVM: s390: protvirt: Do only reset registers that are accessible + - KVM: s390: protvirt: Only sync fmt4 registers + - KVM: s390: protvirt: Add program exception injection + - KVM: s390: protvirt: UV calls in support of diag308 0, 1 + - KVM: s390: protvirt: Report CPU state to Ultravisor + - KVM: s390: protvirt: Support cmd 5 operation state + - KVM: s390: protvirt: Mask PSW interrupt bits for interception 104 and 112 + - KVM: s390: protvirt: do not inject interrupts after start + - KVM: s390: protvirt: Add UV cpu reset calls + - DOCUMENTATION: Protected virtual machine introduction and IPL + - KVM: s390: protvirt: introduce and enable KVM_CAP_S390_PROTECTED + - KVM: s390: protvirt: Add KVM api documentation + - mm/gup/writeback: add callbacks for inaccessible pages + + * All PS/2 ports on PS/2 Serial add-in bracket are not working after S3 + (LP: #1866734) + - SAUCE: Input: i8042 - fix the selftest retry logic + + * Sys oopsed with sysfs test in ubuntu_stress_smoke_test on X-hwe ARM64 + (LP: #1866772) + - ACPI: sysfs: copy ACPI data using io memory copying + + * Miscellaneous Ubuntu changes + - hio -- remove duplicated MODULE_DEVICE_TABLE declaration + - SAUCE: r8169: disable ASPM L1.1 + - [Config] update annotations from configs + - [Config] update configs after annotation file review + - SAUCE: Revert "tools/power turbostat: Fix 32-bit capabilities warning" + + * Miscellaneous upstream changes + - drm/i915: Fix eDP DPCD aux max backlight calculations + - drm/dp: Introduce EDID-based quirks + - drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED panel + - drm/i915: Force DPCD backlight mode for some Dell CML 2020 panels + + [ Upstream Kernel Changes ] + + * Rebase to v5.6-rc7 + + -- Andrea Righi Wed, 25 Mar 2020 18:09:13 +0100 + +linux-5.6 (5.6.0-5.5) focal; urgency=medium + + * please help enable CONFIG_EROFS_FS_ZIP (LP: #1867099) + - [Config] CONFIG_EROFS_FS_ZIP=y + - [Config] CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1 + + * Miscellaneous Ubuntu changes + - Config: Fix SND_HDA_PREALLOC_SIZE annotations + - Config: Fix DATA_SHIFT annotations + - Config: remove ANDROID_VSOC from annotations + - Config: remove arm arch from annotations + - Config: Update SOC_R8A7796X annotations + - Config: Update CLK_R8A7796X annotations + - update dkms package versions + - [Config] updateconfigs after rebase to 5.6-rc6 + + [ Upstream Kernel Changes ] + + * Rebase to v5.6-rc6 + + -- Andrea Righi Wed, 18 Mar 2020 17:25:30 +0100 + +linux-5.6 (5.6.0-4.4) focal; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] resync getabis + - [Packaging] update helper scripts + + * Add sysfs attribute to show remapped NVMe (LP: #1863621) + - SAUCE: ata: ahci: Add sysfs attribute to show remapped NVMe device count + + * [20.04 FEAT] Compression improvements in Linux kernel (LP: #1830208) + - [Config] Introducing s390x specific kernel config option CONFIG_ZLIB_DFLTCC + + * [UBUNTU 20.04] s390x/pci: increase CONFIG_PCI_NR_FUNCTIONS to 512 in kernel + config (LP: #1866056) + - [Config] Increase CONFIG_PCI_NR_FUNCTIONS from 64 to 512 starting with focal + on s390x + + * CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set (LP: #1865332) + - [Config] CONFIG_IP_MROUTE_MULTIPLE_TABLES=y + + * [UBUNTU 20.04] Enable CONFIG_NET_SWITCHDEV in kernel config for s390x + starting with focal (LP: #1865452) + - [Config] Enable CONFIG_NET_SWITCHDEV in kernel config for s390x starting + with focal + + * Miscellaneous Ubuntu changes + - SAUCE: Revert "UBUNTU: SAUCE: blk/core: Gracefully handle unset + make_request_fn" + - [Packaging] prevent duplicated entries in modules.ignore + - update dkms package versions + - [Config] updateconfigs after rebase to 5.6-rc5 + + [ Upstream Kernel Changes ] + + * Rebase to v5.6-rc5 + + -- Andrea Righi Mon, 09 Mar 2020 09:42:06 +0100 + +linux-5.6 (5.6.0-3.3) focal; urgency=medium + + * nsleep-lat / set-timer-lat / inconsistency-check / raw_skew from timer in + ubuntu_kernel_selftests timeout on 5.3 / 5.4 (LP: #1864626) + - selftests/timers: Turn off timeout setting + + * Update kernel options CONFIG_NR_CPUS and CONFIG_NUMA_EMU for focal + (LP: #1864198) + - Ubuntu: [Config] Update kernel options CONFIG_NR_CPUS and CONFIG_NUMA_EMU + + * alsa/hda/realtek: fix a mute led regression on Lenovo X1 Carbon + (LP: #1864576) + - SAUCE: ALSA: hda/realtek - Fix a regression for mute led on Lenovo Carbon X1 + + * r8152 init may take up to 40 seconds at initialization with Dell WD19/WD19DC + during hotplug (LP: #1864284) + - UBUNTU SAUCE: r8151: check disconnect status after long sleep + + * Another Dell AIO backlight issue (LP: #1863880) + - SAUCE: platform/x86: dell-uart-backlight: move retry block + + * Backport GetFB2 ioctl (LP: #1863874) + - SAUCE: drm: Add getfb2 ioctl + + * Focal Fossa (20.04) feature request - Enable CONFIG_X86_UV (LP: #1863810) + - [Config] CONFIG_X86_UV=y + + * Miscellaneous Ubuntu changes + - debian: remove snapdragon config, rules and flavour + - remove snapdragon abi files + - update dkms package versions + - [Config] updateconfigs after rebase to 5.6-rc4 + + * Miscellaneous upstream changes + - updateconfigs following snapdragon removal + + [ Upstream Kernel Changes ] + + * Rebase to v5.6-rc4 + + -- Andrea Righi Wed, 04 Mar 2020 08:21:10 +0100 + +linux-5.6 (5.6.0-2.2) focal; urgency=medium + + * Sometimes can't adjust brightness on Dell AIO (LP: #1862885) + - SAUCE: platform/x86: dell-uart-backlight: increase retry times + + * Dell XPS 13 (7390) Display Flickering - 19.10 (LP: #1849947) + - SAUCE: drm/i915: Disable PSR by default on all platforms + + * Miscellaneous Ubuntu changes + - [debian] ignore missing wireguard module + - SAUCE: (lockdown) Add efi_status_to_str() and rework efi_status_to_err(). + - SAUCE: (lockdown) security: lockdown: expose a hook to lock the kernel down + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot + mode + - SAUCE: (lockdown) efi: Lock down the kernel if booted in secure boot mode + - SAUCE: (lockdown) s390: Lock down the kernel when the IPL secure flag is set + - SAUCE: (lockdown) KEYS: Make use of platform keyring for module signature + verify + - SAUCE: (lockdown) arm64: Allow locking down the kernel under EFI secure boot + - SAUCE: (lockdown) security: lockdown: Make + CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic + - [Config] CONFIG_LOCK_DOWN_IN_SECURE_BOOT=y + - update dkms package versions + - [Config] updateconfigs after rebase to 5.6-rc3 + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: (lockdown) s390/ipl: lockdown kernel when booted + secure" + - Revert "UBUNTU: SAUCE: (lockdown) KEYS: Make use of platform keyring for + module signature verify" + - Revert "UBUNTU: SAUCE: (lockdown) Add a SysRq option to lift kernel + lockdown" + - Revert "UBUNTU: SAUCE: (lockdown) security: lockdown: expose a hook to lock + the kernel down" + - Revert "UBUNTU: SAUCE: (lockdown) Add efi_status_to_str() and rework + efi_status_to_err()." + + -- Andrea Righi Mon, 24 Feb 2020 18:57:22 +0100 + +linux-5.6 (5.6.0-1.1) focal; urgency=medium + + * Integrate Intel SGX driver into linux-azure (LP: #1844245) + - [Packaging] Add systemd service to load intel_sgx + + * QAT drivers for C3XXX and C62X not included as modules (LP: #1845959) + - [Config] CRYPTO_DEV_QAT_C3XXX=m, CRYPTO_DEV_QAT_C62X=m and + CRYPTO_DEV_QAT_DH895xCC=m + + * 5.4.0-11 crash on cryptsetup open (LP: #1860231) + - SAUCE: blk/core: Gracefully handle unset make_request_fn + + * multi-zone raid0 corruption (LP: #1850540) + - SAUCE: md/raid0: Use kernel specific layout + + * Miscellaneous Ubuntu changes + - update dkms package versions + - update dropped.txt after rebase to v5.6-rc1 + - [Config] updateconfigs after rebase to 5.6-rc1 + - hio -- proc_create() requires a "struct proc_ops" in 5.6 + - SAUCE: arm: fix build error in kvm tracepoint + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] Disable the uselib system call" + - Revert "UBUNTU: [Config] Disable legacy PTY naming" + - Revert "UBUNTU: [Config] Enforce filtered access to iomem" + - Revert "UBUNTU: [Config] Enable notifier call chain validations" + - Revert "UBUNTU: [Config] Enable scatterlist validation" + - Revert "UBUNTU: [Config] Enable cred sanity checks" + - Revert "UBUNTU: [Config] Enable linked list manipulation checks" + + [ Upstream Kernel Changes ] + + * Rebase to v5.6-rc1 + + -- Andrea Righi Thu, 13 Feb 2020 17:20:27 +0100 + +linux-5.6 (5.6.0-0.0) focal; urgency=medium + + * Dummy entry + + -- Andrea Righi Mon, 10 Feb 2020 11:06:18 +0100 + +linux-5.5 (5.5.0-7.8) focal; urgency=medium + + * CONFIG_USELIB should be disabled (LP: #1855341) + - [Config] Disable the uselib system call + + * CONFIG_LEGACY_PTYS should be disabled (LP: #1855339) + - [Config] Disable legacy PTY naming + + * CONFIG_IO_STRICT_DEVMEM should be enabled (LP: #1855338) + - [Config] Enforce filtered access to iomem + + * CONFIG_DEBUG_NOTIFIERS should be enabled (LP: #1855337) + - [Config] Enable notifier call chain validations + + * CONFIG_DEBUG_SG should be enabled (LP: #1855336) + - [Config] Enable scatterlist validation + + * CONFIG_DEBUG_CREDENTIALS should be enabled (LP: #1855335) + - [Config] Enable cred sanity checks + + * CONFIG_DEBUG_LIST should be enabled (LP: #1855334) + - [Config] Enable linked list manipulation checks + + * shiftfs: prevent lower dentries from going negative during unlink + (LP: #1860041) + - SAUCE: shiftfs: prevent lower dentries from going negative during unlink + + * [SRU][B/OEM-B/OEM-OSP1/D/E/Unstable] UBUNTU: SAUCE: Use native backlight on + Lenovo E41-25/45 (LP: #1859561) + - SAUCE: ACPI: video: Use native backlight on Lenovo E41-25/45 + + * USB key cannot be detected by hotplug on Sunix USB Type-A 3.1 Gen 2 card + [1b21:2142] (LP: #1858988) + - SAUCE: PCI: Avoid ASMedia XHCI USB PME# from D0 defect + + * Dell AIO can't adjust brightness (LP: #1858761) + - SAUCE: platform/x86: dell-uart-backlight: add retry for get scalar status + + * Miscellaneous Ubuntu changes + - [Config] Fix typo in annotations file + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.5 + + -- Andrea Righi Mon, 27 Jan 2020 11:39:38 +0100 + +linux-5.5 (5.5.0-6.7) focal; urgency=medium + + * Miscellaneous Ubuntu changes + - [Packaging] Update ubuntu-regression-suite dependency to python2 + - [Packaging] Fix ubuntu-regression-suite python dependency for hwe kernel + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.5-rc7 + + -- Andrea Righi Mon, 20 Jan 2020 10:16:01 +0100 + +linux-5.5 (5.5.0-5.6) focal; urgency=medium + + * Miscellaneous Ubuntu changes + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.5-rc6 + + -- Andrea Righi Mon, 13 Jan 2020 15:50:12 +0100 + +linux-5.5 (5.5.0-4.5) focal; urgency=medium + + * linux build and autopkg tests need to use python2 instead of python + (LP: #1858487) + - [Packaging] Remove python-dev build dependency + + -- Andrea Righi Wed, 08 Jan 2020 16:00:26 +0100 + +linux-5.5 (5.5.0-3.4) focal; urgency=medium + + * [SRU][B/OEM-B/OEM-OSP1/D/E/F] Add LG I2C touchscreen multitouch support + (LP: #1857541) + - SAUCE: HID: multitouch: Add LG MELF0410 I2C touchscreen support + + * Make vfio-pci built-in or xhci_hcd optional (LP: #1770845) + - [Config]: built-in VFIO_PCI for amd64 + + * multi-zone raid0 corruption (LP: #1850540) + - SAUCE: md/raid0: Link to wiki with guidance on multi-zone RAID0 layout + migration + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * Miscellaneous Ubuntu changes + - [Packaging] Change source package to linux-5.5 + - [Packaging] Don't use SRCPKGNAME for linux-libc-dev + - [Packaging] Remove linux-source-3 Provides: from linux-source + - [Packaging] Fix linux-doc in linux-image Suggests: + - [Debian] Read variants list into a variable + - [Packaging] Generate linux-libc-dev package only for primary variant + - [Packaging] Generate linux-doc for only the primary variant + - [Debian] Update linux source package name in debian/tests/* + - update dkms package versions + - [Config] updateconfigs after rebase to 5.5-rc3 + - [Config] disable PCI_MESON + - [Config] Add pinctrl-equilibrium to modules.ignore + + [ Upstream Kernel Changes ] + + * Rebase to v5.5-rc5 + + -- Andrea Righi Wed, 08 Jan 2020 11:28:43 +0100 + +linux-5.5 (5.5.0-2.3) focal; urgency=medium + + * Empty entry. + + -- Seth Forshee Tue, 17 Dec 2019 22:33:59 -0600 + +linux (5.5.0-2.3) focal; urgency=medium + + * Support DPCD aux brightness control (LP: #1856134) + - SAUCE: drm/i915: Fix eDP DPCD aux max backlight calculations + - SAUCE: drm/i915: Assume 100% brightness when not in DPCD control mode + - SAUCE: drm/i915: Fix DPCD register order in intel_dp_aux_enable_backlight() + - SAUCE: drm/i915: Auto detect DPCD backlight support by default + - SAUCE: drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED + panel + - USUNTU: SAUCE: drm/i915: Force DPCD backlight mode on Dell Precision 4K sku + + * change kconfig of the soundwire bus driver from y to m (LP: #1855685) + - [Config]: SOUNDWIRE=m + + * Fix unusable USB hub on Dell TB16 after S3 (LP: #1855312) + - SAUCE: USB: core: Make port power cycle a seperate helper function + - SAUCE: USB: core: Attempt power cycle port when it's in eSS.Disabled state + + * Miscellaneous Ubuntu changes + - [Debian] add python depends to ubuntu-regression-suite + - SAUCE: selftests: net: tls: remove recv_rcvbuf test + - update dkms package versions + + * Miscellaneous upstream changes + - [Config] updateconfigs after rebase to 5.5-rc2 + + -- Andrea Righi Tue, 17 Dec 2019 16:02:43 +0100 + +linux (5.5.0-1.2) focal; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] disable nvidia dkms build + - [Config] disable virtualbox dkms build + - [Config] disable zfs dkms build + - update dropped.txt after rebase to v5.5-rc1 + - SAUCE: (lockdown) Make get_cert_list() not complain about cert lists that + aren't present. + - SAUCE: (lockdown) Add efi_status_to_str() and rework efi_status_to_err(). + - SAUCE: (lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (lockdown) security: lockdown: expose a hook to lock the kernel down + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot + mode + - SAUCE: (lockdown) efi: Lock down the kernel if booted in secure boot mode + - SAUCE: (lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (lockdown) KEYS: Make use of platform keyring for module signature + verify + - SAUCE: (lockdown) arm64: Allow locking down the kernel under EFI secure boot + - SAUCE: (lockdown) security: lockdown: Make + CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic + - SAUCE: (lockdown) s390/ipl: lockdown kernel when booted secure + - [Config] Enable lockdown under secure boot + - update dkms package versions + + -- Andrea Righi Thu, 12 Dec 2019 16:54:41 +0100 + +linux (5.5.0-0.1) focal; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs after rebase to 5.5-rc1 + + [ Upstream Kernel Changes ] + + * Rebase to v5.5-rc1 + + -- Andrea Righi Mon, 09 Dec 2019 19:03:35 +0100 + +linux (5.5.0-0.0) focal; urgency=medium + + * Dummy entry. + + -- Andrea Righi Mon, 09 Dec 2019 15:14:37 +0100 + +linux (5.4.0-8.11) focal; urgency=medium + + * focal/linux: 5.4.0-8.9 -proposed tracker (LP: #1855448) + + * update ENA driver for DIMLIB dynamic interrupt moderation (LP: #1853180) + - SAUCE: net: ena: fix issues in setting interrupt moderation params in + ethtool + - SAUCE: net: ena: fix too long default tx interrupt moderation interval + + * Kernel build log filled with "/bin/bash: line 5: warning: command + substitution: ignored null byte in input" (LP: #1853843) + - [Debian] Fix warnings when checking for modules signatures + + * hwe-edge kernel 5.3.0-23.25 kernel does not boot on Precision 5720 AIO + (LP: #1852581) + - [Packaging] Fix module signing with older modinfo + + * Fix MST support on Ice Lake (LP: #1854432) + - drm/i915: fix port checks for MST support on gen >= 11 + + * headphone has noise as not mute on dell machines with alc236/256 + (LP: #1854401) + - SAUCE: ALSA: hda/realtek - Dell headphone has noise on unmute for ALC236 + + * [CML-S62] Need enable intel_pmc_core driver patch for Comet lake- S 6+2 + (LP: #1847450) + - SAUCE: platform/x86: intel_pmc_core: Add Comet Lake (CML) platform support + to intel_pmc_core driver + + * CVE-2019-14901 + - SAUCE: mwifiex: Fix heap overflow in mmwifiex_process_tdls_action_frame() + + * CVE-2019-14896 // CVE-2019-14897 + - SAUCE: libertas: Fix two buffer overflows at parsing bss descriptor + + * CVE-2019-14895 + - SAUCE: mwifiex: fix possible heap overflow in mwifiex_process_country_ie() + + * [CML-S62] Need enable intel_rapl patch support for Comet lake- S 6+2 + (LP: #1847454) + - powercap/intel_rapl: add support for CometLake Mobile + - powercap/intel_rapl: add support for Cometlake desktop + + * External microphone can't work on some dell machines with the codec alc256 + or alc236 (LP: #1853791) + - SAUCE: ALSA: hda/realtek - Move some alc256 pintbls to fallback table + - SAUCE: ALSA: hda/realtek - Move some alc236 pintbls to fallback table + + * remount of multilower moved pivoted-root overlayfs root, results in I/O + errors on some modified files (LP: #1824407) + - SAUCE: ovl: fix lookup failure on multi lower squashfs + + * [CML-S62] Need enable turbostat patch support for Comet lake- S 6+2 + (LP: #1847451) + - SAUCE: tools/power turbostat: Add Cometlake support + + * CONFIG_ARCH_ROCKCHIP is not set in ubuntu 18.04 aarch64,arm64 (LP: #1825222) + - [Config] Enable ROCKCHIP support for arm64 + + * [broadwell-rt286, playback] Since Linux 5.2rc2 audio playback no longer + works on Dell Venue 11 Pro 7140 (LP: #1846539) + - SAUCE: ASoC: SOF: Intel: Broadwell: clarify mutual exclusion with legacy + driver + + * i40e: general protection fault in i40e_config_vf_promiscuous_mode + (LP: #1852663) + - SAUCE: i40e Fix GPF when deleting VMs + + * libbpf check_abi fails on ppc64el (LP: #1854974) + - libbpf: Fix readelf output parsing on powerpc with recent binutils + + * CVE-2019-19050 + - crypto: user - fix memory leak in crypto_reportstat + + * Make hotplugging docking station to Thunderbolt port more reliable + (LP: #1853991) + - PCI/PM: Add pcie_wait_for_link_delay() + - PCI/PM: Add missing link delays required by the PCIe spec + + * i915: Display flickers (monitor loses signal briefly) during "flickerfree" + boot, while showing the BIOS logo on a black background (LP: #1836858) + - [Config] FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y + + * [CML] New device id's for CMP-H (LP: #1846335) + - i2c: i801: Add support for Intel Comet Lake PCH-H + - mtd: spi-nor: intel-spi: Add support for Intel Comet Lake-H SPI serial flash + - mfd: intel-lpss: Add Intel Comet Lake PCH-H PCI IDs + + * Focal update: v5.4.2 upstream stable release (LP: #1855326) + - io_uring: async workers should inherit the user creds + - net: separate out the msghdr copy from ___sys_{send,recv}msg() + - net: disallow ancillary data for __sys_{send,recv}msg_file() + - crypto: inside-secure - Fix stability issue with Macchiatobin + - driver core: platform: use the correct callback type for bus_find_device + - usb: dwc2: use a longer core rest timeout in dwc2_core_reset() + - staging: wilc1000: fix illegal memory access in wilc_parse_join_bss_param() + - staging: rtl8192e: fix potential use after free + - staging: rtl8723bs: Drop ACPI device ids + - staging: rtl8723bs: Add 024c:0525 to the list of SDIO device-ids + - USB: serial: ftdi_sio: add device IDs for U-Blox C099-F9P + - mei: bus: prefix device names on bus with the bus name + - mei: me: add comet point V device id + - thunderbolt: Power cycle the router if NVM authentication fails + - x86/fpu: Don't cache access to fpu_fpregs_owner_ctx + - gve: Fix the queue page list allocated pages count + - macvlan: schedule bc_work even if error + - mdio_bus: don't use managed reset-controller + - net: dsa: sja1105: fix sja1105_parse_rgmii_delays() + - net: macb: add missed tasklet_kill + - net: psample: fix skb_over_panic + - net: sched: fix `tc -s class show` no bstats on class with nolock subqueues + - openvswitch: fix flow command message size + - sctp: Fix memory leak in sctp_sf_do_5_2_4_dupcook + - slip: Fix use-after-free Read in slip_open + - sctp: cache netns in sctp_ep_common + - openvswitch: drop unneeded BUG_ON() in ovs_flow_cmd_build_info() + - openvswitch: remove another BUG_ON() + - net/tls: take into account that bpf_exec_tx_verdict() may free the record + - net/tls: free the record on encryption error + - net: skmsg: fix TLS 1.3 crash with full sk_msg + - selftests/tls: add a test for fragmented messages + - net/tls: remove the dead inplace_crypto code + - net/tls: use sg_next() to walk sg entries + - selftests: bpf: test_sockmap: handle file creation failures gracefully + - selftests: bpf: correct perror strings + - tipc: fix link name length check + - selftests: pmtu: use -oneline for ip route list cache + - r8169: fix jumbo configuration for RTL8168evl + - r8169: fix resume on cable plug-in + - ext4: add more paranoia checking in ext4_expand_extra_isize handling + - Revert "jffs2: Fix possible null-pointer dereferences in + jffs2_add_frag_to_fragtree()" + - crypto: talitos - Fix build error by selecting LIB_DES + - HID: core: check whether Usage Page item is after Usage ID items + - platform/x86: hp-wmi: Fix ACPI errors caused by too small buffer + - platform/x86: hp-wmi: Fix ACPI errors caused by passing 0 as input size + - Linux 5.4.2 + + * no HDMI video output since GDM greeter after linux-oem-osp1 version + 5.0.0-1026 (LP: #1852386) + - drm/i915: Add new CNL PCH ID seen on a CML platform + - SAUCE: drm/i915: Fix detection for a CMP-V PCH + + * Please add patch fixing RK818 ID detection (LP: #1853192) + - SAUCE: mfd: rk808: Fix RK818 ID template + + * Raydium Touchscreen on ThinkPad L390 does not work (LP: #1849721) + - HID: i2c-hid: fix no irq after reset on raydium 3118 + + * Touchpad doesn't work on Dell Inspiron 7000 2-in-1 (LP: #1851901) + - Revert "UBUNTU: SAUCE: mfd: intel-lpss: add quirk for Dell XPS 13 7390 + 2-in-1" + - lib: devres: add a helper function for ioremap_uc + - mfd: intel-lpss: Use devm_ioremap_uc for MMIO + + * Lenovo dock MAC Address pass through doesn't work in Ubuntu (LP: #1827961) + - r8152: Add macpassthru support for ThinkPad Thunderbolt 3 Dock Gen 2 + + * Disable unreliable HPET on CFL-H system (LP: #1852216) + - SAUCE: x86/intel: Disable HPET on Intel Coffe Lake H platforms + + * Miscellaneous Ubuntu changes + - update dkms package versions + - [Config] Enable virtualbox dkms build + - [Config] update annotations to match current configs + - SAUCE: Add exfat module to signature inclusion list + + * Miscellaneous upstream changes + - Bluetooth: Fix invalid-free in bcsp_close() + - ath9k_hw: fix uninitialized variable data + - ath10k: Fix a NULL-ptr-deref bug in ath10k_usb_alloc_urb_from_pipe + - ath10k: Fix HOST capability QMI incompatibility + - ath10k: restore QCA9880-AR1A (v1) detection + - Revert "Bluetooth: hci_ll: set operational frequency earlier" + - Revert "dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues" + - md/raid10: prevent access of uninitialized resync_pages offset + - x86/insn: Fix awk regexp warnings + - x86/speculation: Fix incorrect MDS/TAA mitigation status + - x86/speculation: Fix redundant MDS mitigation message + - nbd: prevent memory leak + - x86/stackframe/32: Repair 32-bit Xen PV + - x86/xen/32: Make xen_iret_crit_fixup() independent of frame layout + - x86/xen/32: Simplify ring check in xen_iret_crit_fixup() + - x86/doublefault/32: Fix stack canaries in the double fault handler + - x86/pti/32: Size initial_page_table correctly + - x86/cpu_entry_area: Add guard page for entry stack on 32bit + - x86/entry/32: Fix IRET exception + - x86/entry/32: Use %ss segment where required + - x86/entry/32: Move FIXUP_FRAME after pushing %fs in SAVE_ALL + - x86/entry/32: Unwind the ESPFIX stack earlier on exception entry + - x86/entry/32: Fix NMI vs ESPFIX + - selftests/x86/mov_ss_trap: Fix the SYSENTER test + - selftests/x86/sigreturn/32: Invalidate DS and ES when abusing the kernel + - x86/pti/32: Calculate the various PTI cpu_entry_area sizes correctly, make + the CPU_ENTRY_AREA_PAGES assert precise + - x86/entry/32: Fix FIXUP_ESPFIX_STACK with user CR3 + - futex: Prevent robust futex exit race + - ALSA: usb-audio: Fix NULL dereference at parsing BADD + - ALSA: usb-audio: Fix Scarlett 6i6 Gen 2 port data + - media: vivid: Set vid_cap_streaming and vid_out_streaming to true + - media: vivid: Fix wrong locking that causes race conditions on streaming + stop + - media: usbvision: Fix invalid accesses after device disconnect + - media: usbvision: Fix races among open, close, and disconnect + - cpufreq: Add NULL checks to show() and store() methods of cpufreq + - futex: Move futex exit handling into futex code + - futex: Replace PF_EXITPIDONE with a state + - exit/exec: Seperate mm_release() + - futex: Split futex_mm_release() for exit/exec + - futex: Set task::futex_state to DEAD right after handling futex exit + - futex: Mark the begin of futex exit explicitly + - futex: Sanitize exit state handling + - futex: Provide state handling for exec() as well + - futex: Add mutex around futex exit + - futex: Provide distinct return value when owner is exiting + - futex: Prevent exit livelock + - media: uvcvideo: Fix error path in control parsing failure + - media: b2c2-flexcop-usb: add sanity checking + - media: cxusb: detect cxusb_ctrl_msg error in query + - media: imon: invalid dereference in imon_touch_event + - media: mceusb: fix out of bounds read in MCE receiver buffer + - ALSA: hda - Disable audio component for legacy Nvidia HDMI codecs + - USBIP: add config dependency for SGL_ALLOC + - usbip: tools: fix fd leakage in the function of read_attr_usbip_status + - usbip: Fix uninitialized symbol 'nents' in stub_recv_cmd_submit() + - usb-serial: cp201x: support Mark-10 digital force gauge + - USB: chaoskey: fix error case of a timeout + - appledisplay: fix error handling in the scheduled work + - USB: serial: mos7840: add USB ID to support Moxa UPort 2210 + - USB: serial: mos7720: fix remote wakeup + - USB: serial: mos7840: fix remote wakeup + - USB: serial: option: add support for DW5821e with eSIM support + - USB: serial: option: add support for Foxconn T77W968 LTE modules + - staging: comedi: usbduxfast: usbduxfast_ai_cmdtest rounding error + - powerpc/book3s64: Fix link stack flush on context switch + - KVM: PPC: Book3S HV: Flush link stack on guest exit to host kernel + - Linux 5.4.1 + + -- Seth Forshee Fri, 06 Dec 2019 15:53:53 -0600 + +linux (5.4.0-7.8) focal; urgency=medium + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/bpf: Comment out BPF_CORE_READ's which cause clang to + segfault + - Update nvidia-430 to nvidia-440 + - [Config] Enable nvidia dkms build + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.4 + + -- Andrea Righi Mon, 25 Nov 2019 15:02:30 +0100 + +linux (5.4.0-6.7) focal; urgency=medium + + * Miscellaneous Ubuntu changes + - update dkms package versions + - [Config] updateconfigs after rebase to 5.4-rc8 + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc7 + + -- Andrea Righi Mon, 18 Nov 2019 12:08:01 +0100 + +linux (5.4.0-5.6) focal; urgency=medium + + * refcount underflow and type confusion in shiftfs (LP: #1850867) // + CVE-2019-15793 + - SAUCE: shiftfs: Correct id translation for lower fs operations + + * refcount underflow and type confusion in shiftfs (LP: #1850867) // + CVE-2019-15792 + - SAUCE: shiftfs: prevent type confusion + + * refcount underflow and type confusion in shiftfs (LP: #1850867) // + CVE-2019-15791 + - SAUCE: shiftfs: Fix refcount underflow in btrfs ioctl handling + + * Some EFI systems fail to boot in efi_init() when booted via maas + (LP: #1851810) + - SAUCE: efi: efi_get_memory_map -- increase map headroom + + * seccomp: fix SECCOMP_USER_NOTIF_FLAG_CONTINUE test (LP: #1849281) + - SAUCE: seccomp: rework define for SECCOMP_USER_NOTIF_FLAG_CONTINUE + - SAUCE: seccomp: avoid overflow in implicit constant conversion + + * dkms artifacts may expire from the pool (LP: #1850958) + - [Packaging] dkms -- try launchpad librarian for pool downloads + - [Packaging] dkms -- dkms-build quieten wget verbiage + + * tsc marked unstable after entered PC10 on Intel CoffeeLake (LP: #1840239) + - SAUCE: x86/intel: Disable HPET on Intel Coffe Lake platforms + - SAUCE: x86/intel: Disable HPET on Intel Ice Lake platforms + + * shiftfs: prevent exceeding project quotas (LP: #1849483) + - SAUCE: shiftfs: drop CAP_SYS_RESOURCE from effective capabilities + + * shiftfs: fix fallocate() (LP: #1849482) + - SAUCE: shiftfs: setup correct s_maxbytes limit + + * The alsa hda driver is not loaded due to the missing of PCIID for Comet + Lake-S [8086:a3f0] (LP: #1852070) + - SAUCE: ALSA: hda: Add Cometlake-S PCI ID + + * Can't adjust brightness on DELL UHD dGPU AIO (LP: #1813877) + - SAUCE: platform/x86: dell-uart-backlight: add missing status command + - SAUCE: platform/x86: dell-uart-backlight: load driver by scalar status + - SAUCE: platform/x86: dell-uart-backlight: add force parameter + - SAUCE: platform/x86: dell-uart-backlight: add quirk for old platforms + + * s_iflags overlap prevents unprivileged overlayfs mounts (LP: #1851677) + - SAUCE: fs: Move SB_I_NOSUID to the top of s_iflags + + * ubuntu-aufs-modified mmap_region() breaks refcounting in overlayfs/shiftfs + error path (LP: #1850994) // CVE-2019-15794 + - SAUCE: shiftfs: Restore vm_file value when lower fs mmap fails + - SAUCE: ovl: Restore vm_file value when lower fs mmap fails + + * Miscellaneous Ubuntu changes + - [Debian] Convert update-aufs.sh to use aufs5 + - SAUCE: import aufs driver + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc7 + + -- Seth Forshee Wed, 13 Nov 2019 11:56:35 -0800 + +linux (5.4.0-4.5) focal; urgency=medium + + * High power consumption using 5.0.0-25-generic (LP: #1840835) + - PCI: Add a helper to check Power Resource Requirements _PR3 existence + - ALSA: hda: Allow HDA to be runtime suspended when dGPU is not bound to a + driver + - PCI: Fix missing inline for pci_pr3_present() + + * Fix signing of staging modules in eoan (LP: #1850234) + - [Packaging] Leave unsigned modules unsigned after adding .gnu_debuglink + + * [20.04 FEAT] Set Architecture Level (ALS) to z13 (LP: #1837525) + - [Config] s390x bump march to z13, with tune to z15 + + * Miscellaneous Ubuntu changes + - [Debian]: do not skip tests for linux-hwe-edge + - update dkms package versions + - [Config] re-enable zfs + - [Config] rename module virtio_fs to virtiofs + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc6 + + -- Andrea Righi Mon, 04 Nov 2019 15:12:02 +0100 + +linux (5.4.0-3.4) focal; urgency=medium + + * seccomp: fix SECCOMP_USER_NOTIF_FLAG_CONTINUE test (LP: #1849281) + - SAUCE: seccomp: fix SECCOMP_USER_NOTIF_FLAG_CONTINUE test + + * cloudimg: no iavf/i40evf module so no network available with SR-IOV enabled + cloud (LP: #1848481) + - [Packaging] include iavf/i40evf in generic + + * CVE-2019-17666 + - SAUCE: rtlwifi: Fix potential overflow on P2P code + + * Change Config Option CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE for s390x from yes + to no (LP: #1848492) + - [Config] Change Config Option CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE for s390x + from yes to no + + * Add Intel Comet Lake ethernet support (LP: #1848555) + - SAUCE: e1000e: Add support for Comet Lake + + * seccomp: add SECCOMP_USER_NOTIF_FLAG_CONTINUE (LP: #1847744) + - SAUCE: seccomp: add SECCOMP_USER_NOTIF_FLAG_CONTINUE + - SAUCE: seccomp: test SECCOMP_USER_NOTIF_FLAG_CONTINUE + + * drm/i915: Fix the issue of "azx_get_response timeout" for hdmi audio on ICL + platforms (LP: #1847192) + - SAUCE: drm/i915: Fix audio power up sequence for gen10+ display + - SAUCE: drm/i915: extend audio CDCLK>=2*BCLK constraint to more platforms + + * PM / hibernate: fix potential memory corruption (LP: #1847118) + - SAUCE: PM / hibernate: memory_bm_find_bit -- tighten node optimisation + + * [regression] NoNewPrivileges incompatible with Apparmor (LP: #1844186) + - SAUCE: apparmor: fix nnp subset test for unconfined + + * overlayfs: allow with shiftfs as underlay (LP: #1846272) + - SAUCE: overlayfs: allow with shiftfs as underlay + + * eoan: alsa/sof: Enable SOF_HDA link and codec (LP: #1848490) + - [Config] Fix SOF Kconfig options + + * linux won't build when new virtualbox version is present on the archive + (LP: #1848788) + - [Packaging]: download virtualbox from sources + + * Miscellaneous Ubuntu changes + - [Config] update annotations from configs + - [Config] updateconfigs after rebase to 5.4-rc5 + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc5 + + -- Seth Forshee Tue, 29 Oct 2019 12:01:27 -0500 + +linux (5.4.0-2.3) eoan; urgency=medium + + * Add installer support for iwlmvm adapters (LP: #1848236) + - d-i: Add iwlmvm to nic-modules + + * shiftfs: rework how shiftfs opens files (LP: #1846265) + - SAUCE: shiftfs: rework how shiftfs opens files + + * Miscellaneous Ubuntu changes + - update dkms package versions + - [Config] updateconfigs after rebase to 5.4-rc4 + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc4 + + -- Andrea Righi Mon, 21 Oct 2019 17:31:26 +0200 + +linux (5.4.0-1.2) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - update dkms package versions + - [Config] updateconfigs after rebase to 5.4-rc3 + - [Config] add flexfb, fbtft_device and rio500 to modules.ignore + - [Config] amd64: ignore fbtft and all dependent modules + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc3 + + -- Andrea Righi Mon, 14 Oct 2019 19:48:52 +0200 + +linux (5.4.0-0.1) eoan; urgency=medium + + * Enable the Dragonboards out of Eoan/master arm64 kernel (LP: #1846704) + - [Packaging] arm64: snapdragon: introduce a snapdragon flavour + - [Packaging] arm64: snapdragon: switch kernel format to Image + - [Config] arm64: snapdragon: CONFIG_PINCTRL_MSM8916=y + - [Config] arm64: snapdragon: CONFIG_PINCTRL_MSM8994=y + - [Config] arm64: snapdragon: CONFIG_PINCTRL_MSM8996=y + - [Config] arm64: snapdragon: CONFIG_PINCTRL_MSM8998=y + - [Config] arm64: snapdragon: CONFIG_REGULATOR_QCOM_RPMH=y + - [Config] arm64: snapdragon: CONFIG_QCOM_BAM_DMA=y + - [Config] arm64: snapdragon: CONFIG_QCOM_HIDMA_MGMT=y + - [Config] arm64: snapdragon: CONFIG_QCOM_HIDMA=y + - [Config] arm64: snapdragon: CONFIG_COMMON_CLK_QCOM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_CLK_RPMH=y + - [Config] arm64: snapdragon: CONFIG_MSM_GCC_8916=y + - [Config] arm64: snapdragon: CONFIG_MSM_GCC_8994=y + - [Config] arm64: snapdragon: CONFIG_MSM_MMCC_8996=y + - [Config] arm64: snapdragon: CONFIG_MSM_GCC_8998=y + - [Config] arm64: snapdragon: CONFIG_HWSPINLOCK_QCOM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_APCS_IPC=y + - [Config] arm64: snapdragon: CONFIG_RPMSG_QCOM_GLINK_RPM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_GENI_SE=y + - [Config] arm64: snapdragon: CONFIG_QCOM_SMEM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_SMD_RPM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_SMP2P=y + - [Config] arm64: snapdragon: CONFIG_QCOM_SMSM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_QFPROM=y + - [Config] arm64: snapdragon: CONFIG_SERIAL_QCOM_GENI=y + - [Config] arm64: snapdragon: CONFIG_QCOM_TSENS=y + - [Config] arm64: snapdragon: CONFIG_REGULATOR_QCOM_SMD_RPM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_CLK_SMD_RPM=y + - [Config] arm64: snapdragon: CONFIG_RPMSG_QCOM_SMD=y + - [Config] arm64: snapdragon: CONFIG_MFD_QCOM_RPM=y + - [Config] arm64: snapdragon: CONFIG_SCSI_UFSHCD=y + - [Config] arm64: snapdragon: CONFIG_SCSI_UFSHCD_PLATFORM=y + - [Config] arm64: snapdragon: CONFIG_SCSI_UFS_HISI=y + - [Config] arm64: snapdragon: CONFIG_MMC_SDHCI=y + - [Config] arm64: snapdragon: CONFIG_MMC_SDHCI_PLTFM=y + - [Config] arm64: snapdragon: CONFIG_MMC_SDHCI_MSM=y + - [Config] arm64: snapdragon: CONFIG_REGULATOR_QCOM_SPMI=y + - [Config] arm64: snapdragon: CONFIG_PINCTRL_QCOM_SPMI_PMIC=y + - [Config] arm64: snapdragon: CONFIG_PHY_QCOM_USB_HS=y + - [Config] arm64: snapdragon: CONFIG_PHY_QCOM_QMP=y + - [Config] arm64: snapdragon: CONFIG_PHY_QCOM_UFS=y + - [Config] arm64: snapdragon: CONFIG_PHY_QCOM_USB_HSIC=y + - [Config] arm64: snapdragon: CONFIG_USB_CHIPIDEA_OF=y + - [Config] arm64: snapdragon: CONFIG_USB_EHCI_HCD_PLATFORM=y + - [Config] arm64: snapdragon: CONFIG_EXTCON_USB_GPIO=y + - [Config] arm64: snapdragon: CONFIG_REGULATOR_FIXED_VOLTAGE=y + - [Config] arm64: snapdragon: CONFIG_LEDS_GPIO=y + - [Config] arm64: snapdragon: CONFIG_USB_HSIC_USB3503=y + - [Config] arm64: snapdragon: CONFIG_USB_NET_DRIVERS=y + - [Config] arm64: snapdragon: CONFIG_USB_OTG=y + - [Config] arm64: snapdragon: CONFIG_USB_XHCI_PLATFORM=y + - [Config] arm64: snapdragon: CONFIG_USB_OHCI_HCD_PLATFORM=y + - [Config] arm64: snapdragon: CONFIG_USB_MUSB_HDRC=y + - [Config] arm64: snapdragon: CONFIG_USB_DWC3=y + - [Config] arm64: snapdragon: CONFIG_USB_DWC3_PCI=y + - [Config] arm64: snapdragon: CONFIG_USB_DWC3_OF_SIMPLE=y + - [Config] arm64: snapdragon: CONFIG_USB_DWC3_QCOM=y + - [Config] arm64: snapdragon: CONFIG_LEDS_PWM=y + - [Config] arm64: snapdragon: CONFIG_LEDS_TRIGGER_HEARTBEAT=y + - [Config] arm64: snapdragon: CONFIG_LEDS_TRIGGER_DEFAULT_ON=y + - [Config] arm64: snapdragon: CONFIG_QCOM_A53PLL=y + - [Config] arm64: snapdragon: CONFIG_QCOM_CLK_APCS_MSM8916=y + - [Config] arm64: snapdragon: CONFIG_NLS_ISO8859_1=y + - [Config] arm64: snapdragon: CONFIG_USB_USBNET=y + - [Config] arm64: snapdragon: CONFIG_CRYPTO_DEV_QCOM_RNG=y + - [Config] arm64: snapdragon: CONFIG_POWER_RESET_QCOM_PON=y + - [Config] arm64: snapdragon: CONFIG_INPUT_PM8941_PWRKEY=y + - [Config] arm64: snapdragon: CONFIG_KEYBOARD_GPIO=y + - [Config] arm64: snapdragon: CONFIG_RTC_DRV_PM8XXX=y + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs after rebase to 5.4-rc2 + - SAUCE: (lockdown) Make get_cert_list() not complain about cert lists that + aren't present. + - SAUCE: (lockdown) Add efi_status_to_str() and rework efi_status_to_err(). + - SAUCE: (lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (lockdown) security: lockdown: expose a hook to lock the kernel down + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot + mode + - SAUCE: (lockdown) efi: Lock down the kernel if booted in secure boot mode + - SAUCE: (lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (lockdown) KEYS: Make use of platform keyring for module signature + verify + - SAUCE: (lockdown) arm64: Allow locking down the kernel under EFI secure boot + - SAUCE: (lockdown) security: lockdown: Make + CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic + - SAUCE: (lockdown) s390/ipl: lockdown kernel when booted secure + - [Config] Enable lockdown under secure boot + - SAUCE: import aufs driver + - SAUCE: aufs: rwsem owner changed to atmoic_long_t in 5.3 + - SAUCE: aufs: add "WITH Linux-syscall-note" to SPDX tag of uapi headers + - [Config] enable aufs + - update dkms package versions + - [Config] disable zfs + - [Config] disable nvidia dkms build + - [Config] disable virtualbox dkms build + - [Debian] Generate stub reconstruct for -rc kernels + - Revert "UBUNTU: SAUCE: (namespace) block_dev: Forbid unprivileged mounting + when device is opened for writing" + - Revert "UBUNTU: SAUCE: (namespace) ext4: Add module parameter to enable user + namespace mounts" + - Revert "UBUNTU: SAUCE: (namespace) ext4: Add support for unprivileged mounts + from user namespaces" + - Revert "UBUNTU: SAUCE: (namespace) mtd: Check permissions towards mtd block + device inode when mounting" + - Revert "UBUNTU: SAUCE: (namespace) block_dev: Check permissions towards + block device inode when mounting" + - Revert "UBUNTU: SAUCE: (namespace) block_dev: Support checking inode + permissions in lookup_bdev()" + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc2 + + -- Seth Forshee Fri, 11 Oct 2019 16:42:41 -0500 + +linux (5.4.0-0.0) eoan; urgency=medium + + * Dummy entry. + + -- Seth Forshee Tue, 08 Oct 2019 09:59:00 -0500 + +linux (5.3.0-17.18) eoan; urgency=medium + + * eoan/linux: 5.3.0-17.18 -proposed tracker (LP: #1846641) + + * CVE-2019-17056 + - nfc: enforce CAP_NET_RAW for raw sockets + + * CVE-2019-17055 + - mISDN: enforce CAP_NET_RAW for raw sockets + + * CVE-2019-17054 + - appletalk: enforce CAP_NET_RAW for raw sockets + + * CVE-2019-17053 + - ieee802154: enforce CAP_NET_RAW for raw sockets + + * CVE-2019-17052 + - ax25: enforce CAP_NET_RAW for raw sockets + + * CVE-2019-15098 + - ath6kl: fix a NULL-ptr-deref bug in ath6kl_usb_alloc_urb_from_pipe() + + * xHCI on AMD Stoney Ridge cannot detect USB 2.0 or 1.1 devices. + (LP: #1846470) + - x86/PCI: Avoid AMD FCH XHCI USB PME# from D0 defect + + * Re-enable linux-libc-dev build on i386 (LP: #1846508) + - [Packaging] Build only linux-libc-dev for i386 + - [Debian] final-checks -- ignore archtictures with no binaries + + * arm64: loop on boot after installing linux-generic-hwe-18.04-edge/bionic- + proposed (LP: #1845820) + - [Config] Disable CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT + + * Revert ESE DASD discard support (LP: #1846219) + - SAUCE: Revert "s390/dasd: Add discard support for ESE volumes" + + * Miscellaneous Ubuntu changes + - update dkms package versions + + -- Seth Forshee Thu, 03 Oct 2019 16:57:05 -0500 + +linux (5.3.0-16.17) eoan; urgency=medium + + * eoan/linux: 5.3.0-16.17 -proposed tracker (LP: #1846204) + + * zfs fails to build on s390x with debug symbols enabled (LP: #1846143) + - SAUCE: s390: Mark atomic const ops always inline + + -- Seth Forshee Tue, 01 Oct 2019 07:46:43 -0500 + +linux (5.3.0-15.16) eoan; urgency=medium + + * eoan/linux: 5.3.0-15.16 -proposed tracker (LP: #1845987) + + * Drop i386 build for 19.10 (LP: #1845714) + - [Packaging] Remove x32 arch references from control files + - [Debian] final-checks -- Get arch list from debian/control + + * ZFS kernel modules lack debug symbols (LP: #1840704) + - [Debian] Fix conditional for setting zfs debug package path + + * Use pyhon3-sphinx instead of python-sphinx for building html docs + (LP: #1845808) + - [Packaging] Update sphinx build dependencies to python3 packages + + * Kernel panic with 19.10 beta image (LP: #1845454) + - efi/tpm: Don't access event->count when it isn't mapped. + - efi/tpm: don't traverse an event log with no events + - efi/tpm: only set efi_tpm_final_log_size after successful event log parsing + + -- Seth Forshee Mon, 30 Sep 2019 11:57:20 -0500 + +linux (5.3.0-14.15) eoan; urgency=medium + + * eoan/linux: 5.3.0-14.15 -proposed tracker (LP: #1845728) + + * Drop i386 build for 19.10 (LP: #1845714) + - [Debian] Remove support for producing i386 kernels + - [Debian] Don't use CROSS_COMPILE for i386 configs + + * udevadm trigger will fail when trying to add /sys/devices/vio/ + (LP: #1845572) + - SAUCE: powerpc/vio: drop bus_type from parent device + + * Trying to online dasd drive results in invalid input/output from the kernel + on z/VM (LP: #1845323) + - SAUCE: s390/dasd: Fix error handling during online processing + + * intel-lpss driver conflicts with write-combining MTRR region (LP: #1845584) + - SAUCE: mfd: intel-lpss: add quirk for Dell XPS 13 7390 2-in-1 + + * Support Hi1620 zip hw accelerator (LP: #1845355) + - [Config] Enable HiSilicon QM/ZIP as modules + - crypto: hisilicon - add queue management driver for HiSilicon QM module + - crypto: hisilicon - add hardware SGL support + - crypto: hisilicon - add HiSilicon ZIP accelerator support + - crypto: hisilicon - add SRIOV support for ZIP + - Documentation: Add debugfs doc for hisi_zip + - crypto: hisilicon - add debugfs for ZIP and QM + - MAINTAINERS: add maintainer for HiSilicon QM and ZIP controller driver + - crypto: hisilicon - fix kbuild warnings + - crypto: hisilicon - add dependency for CRYPTO_DEV_HISI_ZIP + - crypto: hisilicon - init curr_sgl_dma to fix compile warning + - crypto: hisilicon - add missing single_release + - crypto: hisilicon - fix error handle in hisi_zip_create_req_q + - crypto: hisilicon - Fix warning on printing %p with dma_addr_t + - crypto: hisilicon - Fix return value check in hisi_zip_acompress() + - crypto: hisilicon - avoid unused function warning + + * SafeSetID LSM should be built but disabled by default (LP: #1845391) + - LSM: SafeSetID: Stop releasing uninitialized ruleset + - [Config] Build SafeSetID LSM but don't enable it by default + + * CONFIG_LSM should not specify loadpin since it is not built (LP: #1845383) + - [Config] loadpin shouldn't be in CONFIG_LSM + + * Add new pci-id's for CML-S, ICL (LP: #1845317) + - drm/i915/icl: Add missing device ID + - drm/i915/cml: Add Missing PCI IDs + + * Thunderbolt support for ICL (LP: #1844680) + - thunderbolt: Correct path indices for PCIe tunnel + - thunderbolt: Move NVM upgrade support flag to struct icm + - thunderbolt: Use 32-bit writes when writing ring producer/consumer + - thunderbolt: Do not fail adding switch if some port is not implemented + - thunderbolt: Hide switch attributes that are not set + - thunderbolt: Expose active parts of NVM even if upgrade is not supported + - thunderbolt: Add support for Intel Ice Lake + - ACPI / property: Add two new Thunderbolt property GUIDs to the list + + * Ubuntu 19.10 - Additional PCI patch and fix (LP: #1844668) + - s390/pci: fix MSI message data + + * Enhanced Hardware Support - Finalize Naming (LP: #1842774) + - s390: add support for IBM z15 machines + - [Config] CONFIG_MARCH_Z15=n, CONFIG_TUNE_Z15=n + + * Eoan update: v5.3.1 upstream stable release (LP: #1845642) + - USB: usbcore: Fix slab-out-of-bounds bug during device reset + - media: tm6000: double free if usb disconnect while streaming + - phy: renesas: rcar-gen3-usb2: Disable clearing VBUS in over-current + - ip6_gre: fix a dst leak in ip6erspan_tunnel_xmit + - net/sched: fix race between deactivation and dequeue for NOLOCK qdisc + - net_sched: let qdisc_put() accept NULL pointer + - udp: correct reuseport selection with connected sockets + - xen-netfront: do not assume sk_buff_head list is empty in error handling + - net: dsa: Fix load order between DSA drivers and taggers + - net: stmmac: Hold rtnl lock in suspend/resume callbacks + - KVM: coalesced_mmio: add bounds checking + - Documentation: sphinx: Add missing comma to list of strings + - firmware: google: check if size is valid when decoding VPD data + - serial: sprd: correct the wrong sequence of arguments + - tty/serial: atmel: reschedule TX after RX was started + - nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds + - Revert "arm64: Remove unnecessary ISBs from set_{pte,pmd,pud}" + - ovl: fix regression caused by overlapping layers detection + - phy: qcom-qmp: Correct ready status, again + - floppy: fix usercopy direction + - media: technisat-usb2: break out of loop at end of buffer + - Linux 5.3.1 + + * ZFS kernel modules lack debug symbols (LP: #1840704) + - [Debian]: Remove hardcoded $(pkgdir) in debug symbols handling + - [Debian]: Handle debug symbols for modules in extras too + - [Debian]: Check/link modules with debug symbols after DKMS modules + - [Debian]: Warn about modules without debug symbols + - [Debian]: dkms-build: new parameter for debug package directory + - [Debian]: dkms-build: zfs: support for debug symbols + - [Debian]: dkms-build: Avoid executing post-processor scripts twice + - [Debian]: dkms-build: Move zfs special-casing into configure script + + * /proc/self/maps paths missing on live session (was vlc won't start; eoan + 19.10 & bionic 18.04 ubuntu/lubuntu/kubuntu/xubuntu/ubuntu-mate dailies) + (LP: #1842382) + - SAUCE: Revert "UBUNTU: SAUCE: shiftfs: enable overlayfs on shiftfs" + + -- Seth Forshee Fri, 27 Sep 2019 16:08:06 -0500 + +linux (5.3.0-13.14) eoan; urgency=medium + + * eoan/linux: 5.3.0-13.14 -proposed tracker (LP: #1845105) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * Miscellaneous Ubuntu changes + - [Debian] Remove binutils-dev build dependency + + -- Seth Forshee Mon, 23 Sep 2019 19:26:43 -0500 + +linux (5.3.0-12.13) eoan; urgency=medium + + * Change kernel compression method to improve boot speed (LP: #1840934) + - [Packaging] Add lz4 build dependency for s390x + + * Miscellaneous Ubuntu changes + - SAUCE: Remove spl and zfs source + + -- Seth Forshee Tue, 17 Sep 2019 13:36:26 +0200 + +linux (5.3.0-11.12) eoan; urgency=medium + + * eoan/linux: 5.3.0-11.12 -proposed tracker (LP: #1844144) + + * Suspend to RAM(S3) does not wake up for latest megaraid and mpt3sas + adapters(SAS3.5 onwards) (LP: #1838751) + - PCI: Restore Resizable BAR size bits correctly for 1MB BARs + + * s390/setup: Actually init kernel lock down (LP: #1843961) + - SAUCE: (lockdown) s390/setup: Actually init kernel lock down + + * cherrypick has_sipl fix (LP: #1843960) + - SAUCE: s390/sclp: Fix bit checked for has_sipl + + * Change kernel compression method to improve boot speed (LP: #1840934) + - [Config]: Switch kernel compression from LZO to LZ4 on s390x + + * Installation fails on eoan/PowerVM : missing /dev/nvram (LP: #1837726) + - [Config] CONFIG_NVRAM=y for ppc64el + + * Miscellaneous Ubuntu changes + - [Config]: remove nvram from ppc64el modules ABI + - [Config] Update annotations for recent config changes + - SAUCE: sched: Add __ASSEMBLY__ guards around struct clone_args + - SAUCE: i2c: qcom-geni: Disable DMA processing on the Lenovo Yoga C630 + - SAUCE: arm64: dts: qcom: Add Lenovo Yoga C630 + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.3 + + -- Paolo Pisati Mon, 16 Sep 2019 16:18:27 +0200 + +linux (5.3.0-10.11) eoan; urgency=medium + + * eoan/linux: 5.3.0-10.11 -proposed tracker (LP: #1843232) + + * No sound inputs from the external microphone and headset on a Dell machine + (LP: #1842265) + - SAUCE: ALSA: hda - Expand pin_match function to match upcoming new tbls + - SAUCE: ALSA: hda - Define a fallback_pin_fixup_tbl for alc269 family + + * Horizontal corrupted line at top of screen caused by framebuffer compression + (LP: #1840236) + - SAUCE: drm/i915/fbc: disable framebuffer compression on IceLake + + * Add bpftool to linux-tools-common (LP: #1774815) + - [Debian] package bpftool in linux-tools-common + + * Miscellaneous Ubuntu changes + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc8 + + -- Paolo Pisati Mon, 09 Sep 2019 10:00:41 +0200 + +linux (5.3.0-9.10) eoan; urgency=medium + + * eoan/linux: 5.3.0-9.10 -proposed tracker (LP: #1842393) + + * shiftfs: mark kmem_cache as reclaimable (LP: #1842059) + - SAUCE: shiftfs: mark slab objects SLAB_RECLAIM_ACCOUNT + + * shiftfs: drop entries from cache on unlink (LP: #1841977) + - SAUCE: shiftfs: fix buggy unlink logic + + * Fix touchpad IRQ storm after S3 (LP: #1841396) + - pinctrl: intel: remap the pin number to gpio offset for irq enabled pin + + * Please include DTBs for arm64 laptops (LP: #1842050) + - arm64: dts: qcom: Add Lenovo Miix 630 + - arm64: dts: qcom: Add HP Envy x2 + - arm64: dts: qcom: Add Asus NovaGo TP370QL + + * Miscellaneous Ubuntu changes + - SAUCE: import aufs driver + - [Packaging]: ignore vbox modules when vbox is disabled + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc7 + + -- Paolo Pisati Tue, 03 Sep 2019 10:27:33 +0200 + +linux (5.3.0-8.9) eoan; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] resync getabis + + * Change kernel compression method to improve boot speed (LP: #1840934) + - [Config] change kernel compression method to improve boot speed + - [Packaging] add build dependencies for compression algorithms + + * realtek r8822be kernel module fails after update to linux kernel-headers + 5.0.0-21 (LP: #1838133) + - rtw88: Fix misuse of GENMASK macro + - rtw88: pci: Rearrange the memory usage for skb in RX ISR + - rtw88: pci: Use DMA sync instead of remapping in RX ISR + - rtw88: debug: dump tx power indexes in use + - rtw88: use txpwr_lmt_cfg_pair struct, not arrays + - rtw88: pci: remove set but not used variable 'ip_sel' + - rtw88: allow c2h operation in irq context + - rtw88: enclose c2h cmd handle with mutex + - rtw88: add BT co-existence support + - SAUCE: rtw88: pci: enable MSI interrupt + + * VIMC module not available (CONFIG_VIDEO_VIMC not set) (LP: #1831482) + - [Config] Enable VIMC module + + * Goodix touchpad may drop first input event (LP: #1840075) + - Revert "UBUNTU: SAUCE: i2c: designware: add G3 3590 into i2c quirk" + - Revert "UBUNTU: SAUCE: i2c: designware: add Inpiron 7591 into i2c quirk" + - Revert "UBUNTU: SAUCE: i2c: designware: add Inpiron/Vostro 7590 into i2c + quirk" + - Revert "UBUNTU: SAUCE: i2c: designware: Add disable runtime pm quirk" + - mfd: intel-lpss: Remove D3cold delay + + * Include Sunix serial/parallel driver (LP: #1826716) + - serial: 8250_pci: Add support for Sunix serial boards + - parport: parport_serial: Add support for Sunix Multi I/O boards + + * enable lockdown on s390x when Secure IPL is performed (LP: #1839622) + - SAUCE: (lockdown) s390/ipl: lockdown kernel when booted secure + - Ubuntu: [Config] Enable CONFIG_LOCK_DOWN_KERNEL on s390x. + + * UBUNTU: SAUCE: shiftfs: pass correct point down (LP: #1837231) + - SAUCE: shiftfs: pass correct point down + + * shiftfs: add O_DIRECT support (LP: #1837223) + - SAUCE: shiftfs: add O_DIRECT support + + * Miscellaneous Ubuntu changes + - [Config] enable secureboot signing on s390x + - [Config] CONFIG_TEST_BLACKHOLE_DEV=m + - SAUCE: selftests: fib_tests: assign address to dummy1 for rp_filter tests + - [Debian] disable dkms builds for autopktest rebuilds + - update dkms package versions + - [Config] updateconfigs after v5.3-rc6 rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc5 + + -- Paolo Pisati Mon, 26 Aug 2019 10:09:42 +0200 + +linux (5.3.0-7.8) eoan; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] resync getabis + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs after v5.3-rc5 rebase + - remove missing module after updateconfigs + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc5 + + -- Paolo Pisati Mon, 19 Aug 2019 15:31:24 +0200 + +linux (5.3.0-6.7) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/bpf: prevent headers to be compiled as C code + + -- Seth Forshee Wed, 14 Aug 2019 13:25:01 -0500 + +linux (5.3.0-5.6) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - update dkms package versions + - [Config] enable zfs build + + -- Seth Forshee Tue, 13 Aug 2019 09:16:06 -0500 + +linux (5.3.0-4.5) eoan; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] resync getabis + - [Packaging] update helper scripts + + * bcache: bch_allocator_thread(): hung task timeout (LP: #1784665) // Tight + timeout for bcache removal causes spurious failures (LP: #1796292) + - SAUCE: bcache: fix deadlock in bcache_allocator + + * shiftfs: allow overlayfs (LP: #1838677) + - SAUCE: shiftfs: enable overlayfs on shiftfs + + * Miscellaneous Ubuntu changes + - SAUCE: Revert "kbuild: modpost: do not parse unnecessary rules for vmlinux + modpost" + - update dkms package versions + - enable nvidia dkms build + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc4 + + -- Seth Forshee Mon, 12 Aug 2019 10:41:27 -0500 + +linux (5.3.0-3.4) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - update dkms package versions + - SAUCE: aufs: add "WITH Linux-syscall-note" to SPDX tag of uapi headers + - [Config] add mux-* to modules.ignore + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc3 + + -- Paolo Pisati Mon, 05 Aug 2019 18:17:09 +0200 + +linux (5.3.0-2.3) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - [Packaging] add build dependincy on fontconfig + + -- Seth Forshee Mon, 29 Jul 2019 12:18:46 -0400 + +linux (5.3.0-1.2) eoan; urgency=medium + + * System does not auto detect disconnection of external monitor (LP: #1835001) + - SAUCE: drm/i915: Add support for retrying hotplug + - SAUCE: drm/i915: Enable hotplug retry + + * Please enable CONFIG_SCSI_UFS_QCOM as a module on arm64 (LP: #1837332) + - [Config] Enable CONFIG_SCSI_UFS_QCOM as a module on arm64. + + * Add arm64 CONFIG_ARCH_MESON=y and related configs Edit (LP: #1820530) + - [Config] enable ARCH_MESON + - remove missing module + - [Config] update annotations after enabling ARCH_MESON for arm64 + + * Miscellaneous Ubuntu changes + - SAUCE: KVM: PPC: comment implicit fallthrough + - update dkms package versions + - [Config] enable vbox dkms build + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc2 + + -- Seth Forshee Sun, 28 Jul 2019 23:10:16 -0400 + +linux (5.3.0-0.1) eoan; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] resync git-ubuntu-log + + * Miscellaneous Ubuntu changes + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the kernel is + locked down + - SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the kernel is locked + down + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and + KEXEC_SIG_FORCE + - SAUCE: (efi-lockdown) kexec_file: Restrict at runtime if the kernel is + locked down + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Lock down module params that specify hardware + parameters (eg. ioport) + - SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the testmmiotrace module + - SAUCE: (efi-lockdown) Lock down /proc/kcore + - SAUCE: (efi-lockdown) Lock down kprobes + - SAUCE: (efi-lockdown) bpf: Restrict kernel image access functions when the + kernel is locked down + - SAUCE: (efi-lockdown) Lock down perf + - SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the kernel is locked + down + - SAUCE: (efi-lockdown) lockdown: Print current->comm in restriction messages + - SAUCE: (efi-lockdown) kexec: Allow kexec_file() with appropriate IMA policy + when locked down + - SAUCE: (efi-lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (efi-lockdown) debugfs: avoid EPERM when no open file operation + defined + - SAUCE: (efi-lockdown) Make get_cert_list() not complain about cert lists + that aren't present. + - SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err(). + - SAUCE: (efi-lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) KEYS: Make use of platform keyring for module + signature verify + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) furter KEXEC_VERIFY_SIG -> KEXEC_SIG updates + - SAUCE: (efi-lockdown) arm64: add kernel config option to lock down when in + Secure Boot mode + - SAUCE: import aufs driver + - SAUCE: aufs: rwsem owner changed to atmoic_long_t in 5.3 + - [Config] disable zfs dkms build + - [Config] disable nvidia dkms build + - [Config] disable vbox dkms build + - SAUCE: perf diff: use llabs for s64 vaules + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc1 + + -- Seth Forshee Tue, 23 Jul 2019 21:45:44 -0500 + +linux (5.3.0-0.0) eoan; urgency=medium + + * Dummy entry. + + -- Seth Forshee Mon, 22 Jul 2019 10:19:04 -0500 + +linux (5.2.0-9.10) eoan; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * input/mouse: alps trackpoint-only device doesn't work (LP: #1836752) + - SAUCE: Input: alps - don't handle ALPS cs19 trackpoint-only device + - SAUCE: Input: alps - fix a mismatch between a condition check and its + comment + + * System does not auto detect disconnection of external monitor (LP: #1835001) + - SAUCE: drm/i915: Add support for retrying hotplug + - SAUCE: drm/i915: Enable hotplug retry + + * alsa/hdmi: add icelake hdmi audio support for a Dell machine (LP: #1836916) + - SAUCE: ALSA: hda/hdmi - Remove duplicated define + - SAUCE: ALSA: hda/hdmi - Fix i915 reverse port/pin mapping + + * First click on Goodix touchpad doesn't be recognized after runtime suspended + (LP: #1836836) + - SAUCE: i2c: designware: add G3 3590 into i2c quirk + + * ixgbe{vf} - Physical Function gets IRQ when VF checks link state + (LP: #1836760) + - ixgbevf: Use cached link state instead of re-reading the value for ethtool + + * Doing multiple squashfs (and other loop?) mounts in parallel breaks + (LP: #1836914) + - SAUCE: Revert "loop: Don't change loop device under exclusive opener" + + * hibmc-drm Causes Unreadable Display for Huawei amd64 Servers (LP: #1762940) + - SAUCE: Make CONFIG_DRM_HISI_HIBMC depend on ARM64 + - [Config] Set CONFIG_DRM_HISI_HIBMC to arm64 only + - [Config] add hibmc-drm to modules.ignore + + * hda/realtek: can't detect external mic on a Dell machine (LP: #1836755) + - ALSA: hda/realtek: apply ALC891 headset fixup to one Dell machine + + * Enable Armada SOCs and MVPP2 NIC driver for disco/generic arm64 + (LP: #1835054) + - [Config] Enable Armada SOCs and MVPP2 NIC driver for disco/generic arm64 + + * Unhide Nvidia HDA audio controller (LP: #1836308) + - PCI: Enable NVIDIA HDA controllers + + * Intel ethernet I219 may wrongly detect connection speed as 10Mbps + (LP: #1836177) + - e1000e: Make watchdog use delayed work + + * Sometimes touchpad(goodix) can't use tap function (LP: #1836020) + - SAUCE: i2c: designware: add Inpiron/Vostro 7590 into i2c quirk + - SAUCE: i2c: designware: add Inpiron 7591 into i2c quirk + + * Intel ethernet I219 has slow RX speed (LP: #1836152) + - e1000e: add workaround for possible stalled packet + - e1000e: disable force K1-off feature + + * bcache: risk of data loss on I/O errors in backing or caching devices + (LP: #1829563) + - Revert "bcache: set CACHE_SET_IO_DISABLE in bch_cached_dev_error()" + + * bnx2x driver causes 100% CPU load (LP: #1832082) + - bnx2x: Prevent ptp_task to be rescheduled indefinitely + + * fcf-protection=none patch with new version + - Revert "UBUNTU: SAUCE: kbuild: add -fcf-protection=none to retpoline flags" + - SAUCE: kbuild: add -fcf-protection=none when using retpoline flags + + * CVE-2019-12614 + - powerpc/pseries/dlpar: Fix a missing check in dlpar_parse_cc_property() + + * Eoan update: v5.2.1 upstream stable release (LP: #1836622) + - crypto: lrw - use correct alignmask + - crypto: talitos - rename alternative AEAD algos. + - fscrypt: don't set policy for a dead directory + - udf: Fix incorrect final NOT_ALLOCATED (hole) extent length + - media: stv0297: fix frequency range limit + - ALSA: usb-audio: Fix parse of UAC2 Extension Units + - ALSA: hda/realtek - Headphone Mic can't record after S3 + - tpm: Actually fail on TPM errors during "get random" + - tpm: Fix TPM 1.2 Shutdown sequence to prevent future TPM operations + - block: fix .bi_size overflow + - block, bfq: NULL out the bic when it's no longer valid + - perf intel-pt: Fix itrace defaults for perf script + - perf auxtrace: Fix itrace defaults for perf script + - perf intel-pt: Fix itrace defaults for perf script intel-pt documentation + - perf pmu: Fix uncore PMU alias list for ARM64 + - perf thread-stack: Fix thread stack return from kernel for kernel-only case + - perf header: Assign proper ff->ph in perf_event__synthesize_features() + - x86/ptrace: Fix possible spectre-v1 in ptrace_get_debugreg() + - x86/tls: Fix possible spectre-v1 in do_get_thread_area() + - Documentation: Add section about CPU vulnerabilities for Spectre + - Documentation/admin: Remove the vsyscall=native documentation + - mwifiex: Don't abort on small, spec-compliant vendor IEs + - USB: serial: ftdi_sio: add ID for isodebug v1 + - USB: serial: option: add support for GosunCn ME3630 RNDIS mode + - Revert "serial: 8250: Don't service RX FIFO if interrupts are disabled" + - p54usb: Fix race between disconnect and firmware loading + - usb: gadget: f_fs: data_len used before properly set + - usb: gadget: ether: Fix race between gether_disconnect and rx_submit + - usb: dwc2: use a longer AHB idle timeout in dwc2_core_reset() + - usb: renesas_usbhs: add a workaround for a race condition of workqueue + - drivers/usb/typec/tps6598x.c: fix portinfo width + - drivers/usb/typec/tps6598x.c: fix 4CC cmd write + - p54: fix crash during initialization + - staging: comedi: dt282x: fix a null pointer deref on interrupt + - staging: wilc1000: fix error path cleanup in wilc_wlan_initialize() + - staging: bcm2835-camera: Restore return behavior of ctrl_set_bitrate() + - staging: comedi: amplc_pci230: fix null pointer deref on interrupt + - staging: mt7621-pci: fix PCIE_FTS_NUM_LO macro + - HID: Add another Primax PIXART OEM mouse quirk + - lkdtm: support llvm-objcopy + - binder: fix memory leak in error path + - binder: return errors from buffer copy functions + - iio: adc: stm32-adc: add missing vdda-supply + - coresight: Potential uninitialized variable in probe() + - coresight: etb10: Do not call smp_processor_id from preemptible + - coresight: tmc-etr: Do not call smp_processor_id() from preemptible + - coresight: tmc-etr: alloc_perf_buf: Do not call smp_processor_id from + preemptible + - coresight: tmc-etf: Do not call smp_processor_id from preemptible + - carl9170: fix misuse of device driver API + - Revert "x86/build: Move _etext to actual end of .text" + - VMCI: Fix integer overflow in VMCI handle arrays + - staging: vchiq_2835_arm: revert "quit using custom down_interruptible()" + - staging: vchiq: make wait events interruptible + - staging: vchiq: revert "switch to wait_for_completion_killable" + - staging: fsl-dpaa2/ethsw: fix memory leak of switchdev_work + - staging: bcm2835-camera: Replace spinlock protecting context_map with mutex + - staging: bcm2835-camera: Ensure all buffers are returned on disable + - staging: bcm2835-camera: Remove check of the number of buffers supplied + - staging: bcm2835-camera: Handle empty EOS buffers whilst streaming + - staging: rtl8712: reduce stack usage, again + - Linux 5.2.1 + - [Config] updateconfigs after v5.2.1 stable update + + * fcf-protection=none patch with upstream version + - Revert "UBUNTU: SAUCE: add -fcf-protection=none to retpoline flags" + - SAUCE: kbuild: add -fcf-protection=none to retpoline flags + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/ftrace: avoid failure when trying to probe a notrace + function + - SAUCE: selftests/powerpc/ptrace: fix build failure + - update dkms package versions + - [Packaging] add zlua to zfs-modules.ignore + - update dkms package versions + + -- Seth Forshee Fri, 19 Jul 2019 15:04:45 -0500 + +linux (5.2.0-8.9) eoan; urgency=medium + + * linux: 5.2.0-8.9 -proposed tracker (LP: #1835700) + + * Miscellaneous Ubuntu changes + - [Packaging] replace zfs and spl build with zfs 0.8.1-1ubuntu1 + - SAUCE: test_bpf: remove expected fail for Ctx heavy transformations test on + s390 + - SAUCE: add -fcf-protection=none to retpoline flags + - SAUCE: usbip: ensure strings copied using strncpy are null-terminated + - SAUCE: usbip: add -Wno-address-of-packed-member to EXTRA_CFLAGS + - SAUCE: perf jvmti: ensure strncpy result is null-terminated + - update dkms package versions + - add removed zfs modules to modules.ignore + + [ Upstream Kernel Changes ] + + * Rebase to v5.2 + + -- Seth Forshee Mon, 08 Jul 2019 07:13:41 -0500 + +linux (5.2.0-7.8) eoan; urgency=medium + + * Kernel panic upon resetting ixgbe SR-IOV VFIO virtual function using 5.0 + kernel (LP: #1829652) + - SAUCE: ixgbe: Avoid NULL pointer dereference with VF on non-IPsec hw + + * Hi1620 driver updates from upstream 5.2 merge window (LP: #1830815) + - net: hns3: initialize CPU reverse mapping + - net: hns3: refine the flow director handle + - net: hns3: add aRFS support for PF + - net: hns3: fix for FEC configuration + - RDMA/hns: Remove unnecessary print message in aeq + - RDMA/hns: Update CQE specifications + - RDMA/hns: Move spin_lock_irqsave to the correct place + - RDMA/hns: Remove jiffies operation in disable interrupt context + - RDMA/hns: Replace magic numbers with #defines + - net: hns3: fix compile warning without CONFIG_RFS_ACCEL + - net: hns3: fix for HNS3_RXD_GRO_SIZE_M macro + - net: hns3: add support for dump firmware statistics by debugfs + - net: hns3: use HCLGE_STATE_NIC_REGISTERED to indicate PF NIC client has + registered + - net: hns3: use HCLGE_STATE_ROCE_REGISTERED to indicate PF ROCE client has + registered + - net: hns3: use HCLGEVF_STATE_NIC_REGISTERED to indicate VF NIC client has + registered + - net: hns3: modify hclge_init_client_instance() + - net: hns3: modify hclgevf_init_client_instance() + - net: hns3: add handshake with hardware while doing reset + - net: hns3: stop schedule reset service while unloading driver + - net: hns3: adjust hns3_uninit_phy()'s location in the hns3_client_uninit() + - net: hns3: fix a memory leak issue for hclge_map_unmap_ring_to_vf_vector + - RDMA/hns: Bugfix for posting multiple srq work request + - net: hns3: remove redundant core reset + - net: hns3: don't configure new VLAN ID into VF VLAN table when it's full + - net: hns3: fix VLAN filter restore issue after reset + - net: hns3: set the port shaper according to MAC speed + - net: hns3: add a check to pointer in error_detected and slot_reset + - net: hns3: set ops to null when unregister ad_dev + - net: hns3: add handling of two bits in MAC tunnel interrupts + - net: hns3: remove setting bit of reset_requests when handling mac tunnel + interrupts + - net: hns3: add opcode about query and clear RAS & MSI-X to special opcode + - net: hns3: delay and separate enabling of NIC and ROCE HW errors + - RDMA/hns: fix inverted logic of readl read and shift + - RDMA/hns: Bugfix for filling the sge of srq + - net: hns3: log detail error info of ROCEE ECC and AXI errors + - net: hns3: fix wrong size of mailbox responding data + - net: hns3: make HW GRO handling compliant with SW GRO + - net: hns3: replace numa_node_id with numa_mem_id for buffer reusing + - net: hns3: refactor hns3_get_new_int_gl function + - net: hns3: trigger VF reset if a VF has an over_8bd_nfe_err + - net: hns3: delete the redundant user NIC codes + - net: hns3: small changes for magic numbers + - net: hns3: use macros instead of magic numbers + - net: hns3: refactor PF/VF RSS hash key configuration + - net: hns3: some modifications to simplify and optimize code + - net: hns3: fix some coding style issues + - net: hns3: delay setting of reset level for hw errors until slot_reset is + called + - net: hns3: fix avoid unnecessary resetting for the H/W errors which do not + require reset + - net: hns3: process H/W errors occurred before HNS dev initialization + - net: hns3: add recovery for the H/W errors occurred before the HNS dev + initialization + - net: hns3: some changes of MSI-X bits in PPU(RCB) + - net: hns3: extract handling of mpf/pf msi-x errors into functions + - net: hns3: clear restting state when initializing HW device + - net: hns3: free irq when exit from abnormal branch + - net: hns3: fix for dereferencing before null checking + - net: hns3: fix for skb leak when doing selftest + - net: hns3: delay ring buffer clearing during reset + - net: hns3: some variable modification + - net: hns3: fix dereference of ae_dev before it is null checked + - scsi: hisi_sas: Delete PHY timers when rmmod or probe failed + - scsi: hisi_sas: Fix the issue of argument mismatch of printing ecc errors + - scsi: hisi_sas: Reduce HISI_SAS_SGE_PAGE_CNT in size + - scsi: hisi_sas: Change the type of some numbers to unsigned + - scsi: hisi_sas: Ignore the error code between phy down to phy up + - scsi: hisi_sas: Disable stash for v3 hw + - net: hns3: Add missing newline at end of file + - RDMa/hns: Don't stuck in endless timeout loop + + * Sometimes touchpad automatically trigger double click (LP: #1833484) + - SAUCE: i2c: designware: Add disable runtime pm quirk + + * Add pointstick support on HP ZBook 17 G5 (LP: #1833387) + - Revert "HID: multitouch: Support ALPS PTP stick with pid 0x120A" + + * depmod may prefer unsigned l-r-m nvidia modules to signed modules + (LP: #1834479) + - [Packaging] dkms-build--nvidia-N -- clean up unsigned ko files + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/powerpc: disable signal_fuzzer test + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc7 + + -- Seth Forshee Mon, 01 Jul 2019 07:22:18 -0500 + +linux (5.2.0-6.7) eoan; urgency=medium + + * hinic: fix oops due to race in set_rx_mode (LP: #1832048) + - hinic: fix a bug in set rx mode + + * Miscellaneous Ubuntu changes + - rebase to v5.2-rc6 + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc6 + + -- Seth Forshee Sun, 23 Jun 2019 23:36:11 -0500 + +linux (5.2.0-5.6) eoan; urgency=medium + + * QCA9377 isn't being recognized sometimes (LP: #1757218) + - SAUCE: USB: Disable USB2 LPM at shutdown + + * shiftfs: allow changing ro/rw for subvolumes (LP: #1832316) + - SAUCE: shiftfs: allow changing ro/rw for subvolumes + + * Miscellaneous Ubuntu changes + - update dkms package versions + - [Packaging] replace nvidia-418 dkms build with nvidia-430 + - SAUCE: import aufs driver + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc5 + + -- Seth Forshee Mon, 17 Jun 2019 15:04:12 -0500 + +linux (5.2.0-4.5) eoan; urgency=medium + + * arm64: cma_alloc errors at boot (LP: #1823753) + - [Config] Bump CMA_SIZE_MBYTES to 32 on arm64 + - dma-contiguous: add dma_{alloc,free}_contiguous() helpers + - dma-contiguous: use fallback alloc_pages for single pages + - dma-contiguous: fix !CONFIG_DMA_CMA version of dma_{alloc, + free}_contiguous() + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_MFD_TQMX86=n for s390x + - [Config] CONFIG_GPIO_AMD_FCH=n for s390x + - [Config] CONFIG_BACKLIGHT_CLASS_DEVICE=n on s390x + - [Config] CONFIG_LCD_CLASS_DEVICE=n for s390x + - [Config] CONFIG_DRM_ETNAVIV=m for armhf generic-lpae + - [Config] CONFIG_DRM_NOUVEAU_SVM=n + - [Config] CONFIG_HWMON=n for s390x + - [Config] CONFIG_NEW_LEDS=n for s390x + - [Config] CONFIG_MTD_NAND_OMAP2=y for armhf + - [Config] CONFIG_VOP_BUS=n for non-amd64 arches + - [Config] CONFIG_TI_CPSW_PHY_SEL=n + - [Config] CONFIG_INTERCONNECT=n for s390x + - [Config] CONFIG_SCSI_GDTH=n for s390x + - [Config] CONFIG_PACKING=n for s390x + - [Config] CONFIG_ARCH_MILBEAUT=y for armhf + - [Config] update annotations following config review + - update dkms package versions + - [Config] enable nvidia dkms build + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc4 + + -- Seth Forshee Mon, 10 Jun 2019 07:00:11 -0500 + +linux (5.2.0-3.4) eoan; urgency=medium + + * [18.04/18.10] File libperf-jvmti.so is missing in linux-tools-common deb on + Ubuntu (LP: #1761379) + - [Packaging] Support building libperf-jvmti.so + + * Miscellaneous Ubuntu changes + - SAUCE: Revert "bpf, selftest: test global data/bss/rodata sections" + - update dkms package versions + - [Config] enable zfs + - rebase to v5.2-rc3 + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc3 + + -- Seth Forshee Sun, 02 Jun 2019 21:48:50 -0500 + +linux (5.2.0-2.3) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - SAUCE: perf arm64: Fix mksyscalltbl when system kernel headers are ahead of + the kernel + + -- Seth Forshee Tue, 28 May 2019 07:12:39 -0500 + +linux (5.2.0-1.2) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_INTEGRITY_PLATFORM_KEYRING=y + - update dkms package versions + - [Config] enable vbox dkms build + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc2 + + -- Seth Forshee Mon, 27 May 2019 21:11:27 -0500 + +linux (5.2.0-0.1) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - SAUCE: import aufs driver + - [Packaging] disable ZFS + - [Packaging] disable nvidia + - [Packaging] dkms-build -- expand paths searched for make.log files + - add virtualbox-guest-dkms dkms package build + - enable vbox dkms build for amd64 and i386 + - update dkms package versions + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the kernel is + locked down + - SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the kernel is locked + down + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and + KEXEC_SIG_FORCE + - SAUCE: (efi-lockdown) kexec_file: Restrict at runtime if the kernel is + locked down + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Lock down module params that specify hardware + parameters (eg. ioport) + - SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the testmmiotrace module + - SAUCE: (efi-lockdown) Lock down /proc/kcore + - SAUCE: (efi-lockdown) Lock down kprobes + - SAUCE: (efi-lockdown) bpf: Restrict kernel image access functions when the + kernel is locked down + - SAUCE: (efi-lockdown) Lock down perf + - SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the kernel is locked + down + - SAUCE: (efi-lockdown) lockdown: Print current->comm in restriction messages + - SAUCE: (efi-lockdown) kexec: Allow kexec_file() with appropriate IMA policy + when locked down + - SAUCE: (efi-lockdown) Make get_cert_list() not complain about cert lists + that aren't present. + - SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err(). + - SAUCE: (efi-lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) KEYS: Make use of platform keyring for module + signature verify + - SAUCE: (efi-lockdown) debugfs: avoid EPERM when no open file operation + defined + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) furter KEXEC_VERIFY_SIG -> KEXEC_SIG updates + - SAUCE: (efi-lockdown) arm64: add kernel config option to lock down when in + Secure Boot mode + - update dkms package versions + - [Config] disable vbox build + - SAUCE: s390: mark __cpacf_check_opcode() and cpacf_query_func() as + __always_inline + - SAUCE: IB/mlx5: use size_t instead of u64 when dividing + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc1 + + -- Seth Forshee Tue, 21 May 2019 11:18:43 -0500 + +linux (5.2.0-0.0) eoan; urgency=medium + + * Dummy entry. + + -- Seth Forshee Tue, 21 May 2019 07:34:43 -0500 + +linux (5.1.0-2.2) eoan; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] resync git-ubuntu-log + + * Eoan update: v5.1.2 upstream stable release (LP: #1829050) + - x86/msr-index: Cleanup bit defines + - x86/speculation: Consolidate CPU whitelists + - x86/speculation/mds: Add basic bug infrastructure for MDS + - x86/speculation/mds: Add BUG_MSBDS_ONLY + - x86/kvm: Expose X86_FEATURE_MD_CLEAR to guests + - x86/speculation/mds: Add mds_clear_cpu_buffers() + - x86/speculation/mds: Clear CPU buffers on exit to user + - x86/kvm/vmx: Add MDS protection when L1D Flush is not active + - x86/speculation/mds: Conditionally clear CPU buffers on idle entry + - x86/speculation/mds: Add mitigation control for MDS + - x86/speculation/mds: Add sysfs reporting for MDS + - x86/speculation/mds: Add mitigation mode VMWERV + - Documentation: Move L1TF to separate directory + - Documentation: Add MDS vulnerability documentation + - x86/speculation/mds: Add mds=full,nosmt cmdline option + - x86/speculation: Move arch_smt_update() call to after mitigation decisions + - x86/speculation/mds: Add SMT warning message + - x86/speculation/mds: Fix comment + - x86/speculation/mds: Print SMT vulnerable on MSBDS with mitigations off + - cpu/speculation: Add 'mitigations=' cmdline option + - x86/speculation: Support 'mitigations=' cmdline option + - powerpc/speculation: Support 'mitigations=' cmdline option + - s390/speculation: Support 'mitigations=' cmdline option + - x86/speculation/mds: Add 'mitigations=' support for MDS + - x86/mds: Add MDSUM variant to the MDS documentation + - Documentation: Correct the possible MDS sysfs values + - x86/speculation/mds: Fix documentation typo + - Linux 5.1.2 + + * Eoan update: v5.1.1 upstream stable release (LP: #1829046) + - Drivers: hv: vmbus: Remove the undesired put_cpu_ptr() in hv_synic_cleanup() + - ubsan: Fix nasty -Wbuiltin-declaration-mismatch GCC-9 warnings + - staging: greybus: power_supply: fix prop-descriptor request size + - staging: wilc1000: Avoid GFP_KERNEL allocation from atomic context. + - staging: most: cdev: fix chrdev_region leak in mod_exit + - staging: most: sound: pass correct device when creating a sound card + - usb: dwc3: Allow building USB_DWC3_QCOM without EXTCON + - usb: dwc3: Fix default lpm_nyet_threshold value + - USB: serial: f81232: fix interrupt worker not stop + - USB: cdc-acm: fix unthrottle races + - usb-storage: Set virt_boundary_mask to avoid SG overflows + - genirq: Prevent use-after-free and work list corruption + - intel_th: pci: Add Comet Lake support + - iio: adc: qcom-spmi-adc5: Fix of-based module autoloading + - cpufreq: armada-37xx: fix frequency calculation for opp + - ACPI / LPSS: Use acpi_lpss_* instead of acpi_subsys_* functions for + hibernate + - soc: sunxi: Fix missing dependency on REGMAP_MMIO + - scsi: lpfc: change snprintf to scnprintf for possible overflow + - scsi: qla2xxx: Fix incorrect region-size setting in optrom SYSFS routines + - scsi: qla2xxx: Set remote port devloss timeout to 0 + - scsi: qla2xxx: Fix device staying in blocked state + - Bluetooth: hidp: fix buffer overflow + - Bluetooth: Align minimum encryption key size for LE and BR/EDR connections + - Bluetooth: Fix not initializing L2CAP tx_credits + - Bluetooth: hci_bcm: Fix empty regulator supplies for Intel Macs + - UAS: fix alignment of scatter/gather segments + - ASoC: Intel: avoid Oops if DMA setup fails + - i3c: Fix a shift wrap bug in i3c_bus_set_addr_slot_status() + - locking/futex: Allow low-level atomic operations to return -EAGAIN + - arm64: futex: Bound number of LDXR/STXR loops in FUTEX_WAKE_OP + - Linux 5.1.1 + + * shiftfs: lock security sensitive superblock flags (LP: #1827122) + - SAUCE: shiftfs: lock down certain superblock flags + + * Please package libbpf (which is done out of the kernel src) in Debian [for + 19.10] (LP: #1826410) + - SAUCE: tools -- fix add ability to disable libbfd + + * ratelimit cma_alloc messages (LP: #1828092) + - SAUCE: cma: ratelimit cma_alloc error messages + + * Headphone jack switch sense is inverted: plugging in headphones disables + headphone output (LP: #1824259) + - ASoC: rt5645: Headphone Jack sense inverts on the LattePanda board + + * There are 4 HDMI/Displayport audio output listed in sound setting without + attach any HDMI/DP monitor (LP: #1827967) + - ALSA: hda/hdmi - Read the pin sense from register when repolling + - ALSA: hda/hdmi - Consider eld_valid when reporting jack event + + * CONFIG_LOG_BUF_SHIFT set to 14 is too low on arm64 (LP: #1824864) + - [Config] CONFIG_LOG_BUF_SHIFT=18 on all 64bit arches + + * CTAUTO:DevOps:860.50:devops4fp1:Error occurred during LINUX Dmesg error + Checking for all LINUX clients for devops4p10 (LP: #1766201) + - SAUCE: integrity: downgrade error to warning + + * linux-buildinfo: pull out ABI information into its own package + (LP: #1806380) + - [Packaging] autoreconstruct -- base tag is always primary mainline version + + * [SRU] Please sync vbox modules from virtualbox 6.0.6 on next kernel update + (LP: #1825210) + - vbox-update: updates for renamed makefiles + - ubuntu: vbox -- update to 6.0.6-dfsg-1 + + * autofs kernel module missing (LP: #1824333) + - [Config] Update autofs4 path in inclusion list + + * The Realtek card reader does not enter PCIe 1.1/1.2 (LP: #1825487) + - SAUCE: misc: rtsx: Fixed rts5260 power saving parameter and sd glitch + + * CVE-2019-3874 + - sctp: implement memory accounting on tx path + - sctp: implement memory accounting on rx path + + * apparmor does not start in Disco LXD containers (LP: #1824812) + - SAUCE: shiftfs: use separate llseek method for directories + + * Miscellaneous Ubuntu changes + - [Packaging] autoreconstruct -- remove for -rc kernels + - SAUCE: (efi-lockdown) debugfs: avoid EPERM when no open file operation + defined + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) furter KEXEC_VERIFY_SIG -> KEXEC_SIG updates + - [Config] (efi-lockdown): update configs after efi lockdown patch refresh + - [Packaging] don't delete efi_parser.c + - vbox-update -- do not fix up KERN_DIR or KBUILD_EXTMOD + - ubuntu: vbox -- update to 6.0.6-dfsg-2 + - add nvidia-418 dkms build + - remove virtualbox guest drivers + - [Packaging] dkms-build -- expand paths searched for make.log files + - add virtualbox-guest-dkms dkms package build + - enable vbox dkms build for amd64 and i386 + - [Config] update configs for v5.1(-rc7)? rebase + - update dkms package versions + - Add the ability to lock down access to the running kernel image + - Enforce module signatures if the kernel is locked down + - Restrict /dev/{mem,kmem,port} when the kernel is locked down + - kexec_load: Disable at runtime if the kernel is locked down + - Copy secure_boot flag in boot params across kexec reboot + - kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and KEXEC_SIG_FORCE + - kexec_file: Restrict at runtime if the kernel is locked down + - hibernate: Disable when the kernel is locked down + - uswsusp: Disable when the kernel is locked down + - PCI: Lock down BAR access when the kernel is locked down + - x86: Lock down IO port access when the kernel is locked down + - x86/msr: Restrict MSR access when the kernel is locked down + - ACPI: Limit access to custom_method when the kernel is locked down + - acpi: Ignore acpi_rsdp kernel param when the kernel has been locked down + - acpi: Disable ACPI table override if the kernel is locked down + - acpi: Disable APEI error injection if the kernel is locked down + - Prohibit PCMCIA CIS storage when the kernel is locked down + - Lock down TIOCSSERIAL + - Lock down module params that specify hardware parameters (eg. ioport) + - x86/mmiotrace: Lock down the testmmiotrace module + - Lock down /proc/kcore + - Lock down kprobes + - bpf: Restrict kernel image access functions when the kernel is locked down + - Lock down perf + - debugfs: Restrict debugfs when the kernel is locked down + - lockdown: Print current->comm in restriction messages + - kexec: Allow kexec_file() with appropriate IMA policy when locked down + - Make get_cert_list() not complain about cert lists that aren't present. + - Add efi_status_to_str() and rework efi_status_to_err(). + - Make get_cert_list() use efi_status_to_str() to print error messages. + - efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode + - efi: Lock down the kernel if booted in secure boot mode + - KEYS: Make use of platform keyring for module signature verify + + * Miscellaneous upstream changes + - ALSA: hdea/realtek - Headset fixup for System76 Gazelle (gaze14) + + -- Seth Forshee Tue, 14 May 2019 12:32:56 -0500 + +linux (5.1.0-1.1) eoan; urgency=medium + + * bionic: fork out linux-snapdragon into its own topic kernel (LP: #1820868) + - [Packaging]: really drop snapdragon + + * Miscellaneous Ubuntu changes + - SAUCE: fix vbox use of MAP_SHARED + - SAUCE: fix vbox use of vm_fault_t + - [Packaging] disable ZFS + - [Packaging] disable nvidia + - SAUCE: perf annotate: Fix build on 32 bit for BPF annotation + - [Config]: updateconfig after rebase to v5.1-rc + - [Config]: build ETNAVIV only on arm platforms + - [Config]: Disable CMA on non-arm platforms + - [Config]: MMC_CQHCI is needed by some built-in drivers + - [Config]: a.out support has been deprecated + - [Config]: R3964 was marked as BROKEN + - [Config]: Add SENSIRION_SGP30 module + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: tools: lib/bpf -- add generated headers to search + path" + - Revert "UBUNTU: SAUCE: btqcomsmd: introduce BT_QCOMSMD_HACK" + + -- Thadeu Lima de Souza Cascardo Thu, 25 Apr 2019 10:03:25 -0300 + +linux (5.1.0-0.0) eoan; urgency=medium + + * Dummy entry. + + -- Thadeu Lima de Souza Cascardo Thu, 25 Apr 2019 09:49:47 -0300 + +linux (5.0.0-13.14) disco; urgency=medium + + * linux: 5.0.0-13.14 -proposed tracker (LP: #1824819) + + * Display only has 640x480 (LP: #1824677) + - Revert "UBUNTU: SAUCE: drm/nouveau: Disable nouveau driver by default" + + * shiftfs: use after free when checking mount options (LP: #1824735) + - SAUCE: shiftfs: prevent use-after-free when verifying mount options + + -- Seth Forshee Mon, 15 Apr 2019 09:11:23 -0500 + +linux (5.0.0-12.13) disco; urgency=medium + + * linux: 5.0.0-12.13 -proposed tracker (LP: #1824726) + + * Linux 5.0 black screen on boot, display flickers (i915 regression with + certain laptop panels) (LP: #1824216) + - drm/i915/dp: revert back to max link rate and lane count on eDP + + * kernel BUG at fs/attr.c:287 when using shiftfs (LP: #1824717) + - SAUCE: shiftfs: fix passing of attrs to underaly for setattr + + -- Seth Forshee Sun, 14 Apr 2019 13:38:05 -0500 + +linux (5.0.0-11.12) disco; urgency=medium + + * linux: 5.0.0-11.12 -proposed tracker (LP: #1824383) + + * hns3: PPU_PF_ABNORMAL_INT_ST over_8bd_no_fe found [error status=0x1] + (LP: #1824194) + - net: hns3: fix for not calculating tx bd num correctly + + * disco: unable to use iptables/enable ufw under -virtual kernel + (LP: #1823862) + - [Packaging] add bpfilter to linux-modules + + * Make shiftfs a module rather than built-in (LP: #1824354) + - [Config] CONFIG_SHIFT_FS=m + + * shiftfs: chown sets untranslated ids in lower fs (LP: #1824350) + - SAUCE: shiftfs: use translated ids when chaning lower fs attrs + + * [Hyper-V] KVP daemon fails to start on first boot of disco VM (LP: #1820063) + - [Packaging] bind hv_kvp_daemon startup to hv_kvp device + + -- Seth Forshee Thu, 11 Apr 2019 10:17:19 -0500 + +linux (5.0.0-10.11) disco; urgency=medium + + * linux: 5.0.0-10.11 -proposed tracker (LP: #1823936) + + * Apparmor enforcement failure in lxc selftests (LP: #1823379) + - SAUCE: apparmor: Restore Y/N in /sys for apparmor's "enabled" + + * systemd cause kernel trace "BUG: unable to handle kernel paging request at + 6db23a14" on Cosmic i386 (LP: #1813244) + - openvswitch: fix flow actions reallocation + + -- Seth Forshee Tue, 09 Apr 2019 08:30:38 -0500 + +linux (5.0.0-9.10) disco; urgency=medium + + * linux: 5.0.0-9.10 -proposed tracker (LP: #1823228) + + * Packaging resync (LP: #1786013) + - [Packaging] resync git-ubuntu-log + - [Packaging] update helper scripts + - [Packaging] resync retpoline extraction + + * Huawei Hi1822 NIC has poor performance (LP: #1820187) + - net-next/hinic: replace disable_irq_nosync/enable_irq + + * Add uid shifting overlay filesystem (shiftfs) (LP: #1823186) + - shiftfs: uid/gid shifting bind mount + - shiftfs: rework and extend + - shiftfs: support some btrfs ioctls + - [Config] enable shiftfs + + * Cannot boot or install - have to use nomodeset (LP: #1821820) + - Revert "drm/i915/fbdev: Actually configure untiled displays" + + * Disco update: v5.0.6 upstream stable release (LP: #1823060) + - netfilter: nf_tables: fix set double-free in abort path + - dccp: do not use ipv6 header for ipv4 flow + - genetlink: Fix a memory leak on error path + - gtp: change NET_UDP_TUNNEL dependency to select + - ipv6: make ip6_create_rt_rcu return ip6_null_entry instead of NULL + - mac8390: Fix mmio access size probe + - mISDN: hfcpci: Test both vendor & device ID for Digium HFC4S + - net: aquantia: fix rx checksum offload for UDP/TCP over IPv6 + - net: datagram: fix unbounded loop in __skb_try_recv_datagram() + - net/packet: Set __GFP_NOWARN upon allocation in alloc_pg_vec + - net: phy: meson-gxl: fix interrupt support + - net: rose: fix a possible stack overflow + - net: stmmac: fix memory corruption with large MTUs + - net-sysfs: call dev_hold if kobject_init_and_add success + - net: usb: aqc111: Extend HWID table by QNAP device + - packets: Always register packet sk in the same order + - rhashtable: Still do rehash when we get EEXIST + - sctp: get sctphdr by offset in sctp_compute_cksum + - sctp: use memdup_user instead of vmemdup_user + - tcp: do not use ipv6 header for ipv4 flow + - tipc: allow service ranges to be connect()'ed on RDM/DGRAM + - tipc: change to check tipc_own_id to return in tipc_net_stop + - tipc: fix cancellation of topology subscriptions + - tun: properly test for IFF_UP + - vrf: prevent adding upper devices + - vxlan: Don't call gro_cells_destroy() before device is unregistered + - thunderx: enable page recycling for non-XDP case + - thunderx: eliminate extra calls to put_page() for pages held for recycling + - net: dsa: mv88e6xxx: fix few issues in mv88e6390x_port_set_cmode + - net: mii: Fix PAUSE cap advertisement from linkmode_adv_to_lcl_adv_t() + helper + - net: phy: don't clear BMCR in genphy_soft_reset + - r8169: fix cable re-plugging issue + - ila: Fix rhashtable walker list corruption + - tun: add a missing rcu_read_unlock() in error path + - powerpc/fsl: Fix the flush of branch predictor. + - Btrfs: fix incorrect file size after shrinking truncate and fsync + - btrfs: remove WARN_ON in log_dir_items + - btrfs: don't report readahead errors and don't update statistics + - btrfs: Fix bound checking in qgroup_trace_new_subtree_blocks + - btrfs: Avoid possible qgroup_rsv_size overflow in + btrfs_calculate_inode_block_rsv_size + - Btrfs: fix assertion failure on fsync with NO_HOLES enabled + - locks: wake any locks blocked on request before deadlock check + - tracing: initialize variable in create_dyn_event() + - ARM: imx6q: cpuidle: fix bug that CPU might not wake up at expected time + - powerpc: bpf: Fix generation of load/store DW instructions + - vfio: ccw: only free cp on final interrupt + - NFS: Fix nfs4_lock_state refcounting in nfs4_alloc_{lock,unlock}data() + - NFS: fix mount/umount race in nlmclnt. + - NFSv4.1 don't free interrupted slot on open + - net: dsa: qca8k: remove leftover phy accessors + - ALSA: rawmidi: Fix potential Spectre v1 vulnerability + - ALSA: seq: oss: Fix Spectre v1 vulnerability + - ALSA: pcm: Fix possible OOB access in PCM oss plugins + - ALSA: pcm: Don't suspend stream in unrecoverable PCM state + - ALSA: hda/realtek - Fixed Headset Mic JD not stable + - ALSA: hda/realtek: merge alc_fixup_headset_jack to alc295_fixup_chromebook + - ALSA: hda/realtek - Add support headset mode for DELL WYSE AIO + - ALSA: hda/realtek - Add support headset mode for New DELL WYSE NB + - ALSA: hda/realtek: Enable headset MIC of Acer AIO with ALC286 + - ALSA: hda/realtek: Enable headset MIC of Acer Aspire Z24-890 with ALC286 + - ALSA: hda/realtek - Add support for Acer Aspire E5-523G/ES1-432 headset mic + - ALSA: hda/realtek: Enable ASUS X441MB and X705FD headset MIC with ALC256 + - ALSA: hda/realtek: Enable headset mic of ASUS P5440FF with ALC256 + - ALSA: hda/realtek: Enable headset MIC of ASUS X430UN and X512DK with ALC256 + - ALSA: hda/realtek - Fix speakers on Acer Predator Helios 500 Ryzen laptops + - kbuild: modversions: Fix relative CRC byte order interpretation + - fs/open.c: allow opening only regular files during execve() + - ocfs2: fix inode bh swapping mixup in ocfs2_reflink_inodes_lock + - scsi: sd: Fix a race between closing an sd device and sd I/O + - scsi: sd: Quiesce warning if device does not report optimal I/O size + - scsi: zfcp: fix rport unblock if deleted SCSI devices on Scsi_Host + - scsi: zfcp: fix scsi_eh host reset with port_forced ERP for non-NPIV FCP + devices + - drm/rockchip: vop: reset scale mode when win is disabled + - tty/serial: atmel: Add is_half_duplex helper + - tty/serial: atmel: RS485 HD w/DMA: enable RX after TX is stopped + - tty: mxs-auart: fix a potential NULL pointer dereference + - tty: atmel_serial: fix a potential NULL pointer dereference + - tty: serial: qcom_geni_serial: Initialize baud in qcom_geni_console_setup + - staging: comedi: ni_mio_common: Fix divide-by-zero for DIO cmdtest + - staging: olpc_dcon_xo_1: add missing 'const' qualifier + - staging: speakup_soft: Fix alternate speech with other synths + - staging: vt6655: Remove vif check from vnt_interrupt + - staging: vt6655: Fix interrupt race condition on device start up. + - staging: erofs: fix to handle error path of erofs_vmap() + - staging: erofs: fix error handling when failed to read compresssed data + - staging: erofs: keep corrupted fs from crashing kernel in erofs_readdir() + - serial: max310x: Fix to avoid potential NULL pointer dereference + - serial: mvebu-uart: Fix to avoid a potential NULL pointer dereference + - serial: sh-sci: Fix setting SCSCR_TIE while transferring data + - USB: serial: cp210x: add new device id + - USB: serial: ftdi_sio: add additional NovaTech products + - USB: serial: mos7720: fix mos_parport refcount imbalance on error path + - USB: serial: option: set driver_info for SIM5218 and compatibles + - USB: serial: option: add support for Quectel EM12 + - USB: serial: option: add Olicard 600 + - ACPI / CPPC: Fix guaranteed performance handling + - Disable kgdboc failed by echo space to /sys/module/kgdboc/parameters/kgdboc + - fs/proc/proc_sysctl.c: fix NULL pointer dereference in put_links + - drivers/block/zram/zram_drv.c: fix idle/writeback string compare + - blk-mq: fix sbitmap ws_active for shared tags + - cpufreq: intel_pstate: Also use CPPC nominal_perf for base_frequency + - cpufreq: scpi: Fix use after free + - drm/vgem: fix use-after-free when drm_gem_handle_create() fails + - drm/vkms: fix use-after-free when drm_gem_handle_create() fails + - drm/i915: Mark AML 0x87CA as ULX + - drm/i915/gvt: Fix MI_FLUSH_DW parsing with correct index check + - drm/i915/icl: Fix the TRANS_DDI_FUNC_CTL2 bitfield macro + - gpio: exar: add a check for the return value of ida_simple_get fails + - gpio: adnp: Fix testing wrong value in adnp_gpio_direction_input + - phy: sun4i-usb: Support set_mode to USB_HOST for non-OTG PHYs + - usb: mtu3: fix EXTCON dependency + - USB: gadget: f_hid: fix deadlock in f_hidg_write() + - usb: common: Consider only available nodes for dr_mode + - mm/memory.c: fix modifying of page protection by insert_pfn() + - usb: host: xhci-rcar: Add XHCI_TRUST_TX_LENGTH quirk + - xhci: Fix port resume done detection for SS ports with LPM enabled + - usb: xhci: dbc: Don't free all memory with spinlock held + - xhci: Don't let USB3 ports stuck in polling state prevent suspend + - usb: cdc-acm: fix race during wakeup blocking TX traffic + - usb: typec: tcpm: Try PD-2.0 if sink does not respond to 3.0 source-caps + - usb: typec: Fix unchecked return value + - mm/hotplug: fix offline undo_isolate_page_range() + - mm: add support for kmem caches in DMA32 zone + - iommu/io-pgtable-arm-v7s: request DMA32 memory, and improve debugging + - mm: mempolicy: make mbind() return -EIO when MPOL_MF_STRICT is specified + - mm/debug.c: fix __dump_page when mapping->host is not set + - mm/memory_hotplug.c: fix notification in offline error path + - mm/page_isolation.c: fix a wrong flag in set_migratetype_isolate() + - mm/migrate.c: add missing flush_dcache_page for non-mapped page migrate + - perf pmu: Fix parser error for uncore event alias + - perf intel-pt: Fix TSC slip + - objtool: Query pkg-config for libelf location + - powerpc/pseries/energy: Use OF accessor functions to read ibm,drc-indexes + - powerpc/64: Fix memcmp reading past the end of src/dest + - powerpc/pseries/mce: Fix misleading print for TLB mutlihit + - watchdog: Respect watchdog cpumask on CPU hotplug + - cpu/hotplug: Prevent crash when CPU bringup fails on CONFIG_HOTPLUG_CPU=n + - x86/smp: Enforce CONFIG_HOTPLUG_CPU when SMP=y + - KVM: Reject device ioctls from processes other than the VM's creator + - KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts + - KVM: x86: update %rip after emulating IO + - bpf: do not restore dst_reg when cur_state is freed + - mt76x02u: use usb_bulk_msg to upload firmware + - Linux 5.0.6 + + * RDMA/hns updates for disco (LP: #1822897) + - RDMA/hns: Fix the bug with updating rq head pointer when flush cqe + - RDMA/hns: Bugfix for the scene without receiver queue + - RDMA/hns: Add constraint on the setting of local ACK timeout + - RDMA/hns: Modify the pbl ba page size for hip08 + - RDMA/hns: RDMA/hns: Assign rq head pointer when enable rq record db + - RDMA/hns: Add the process of AEQ overflow for hip08 + - RDMA/hns: Add SCC context allocation support for hip08 + - RDMA/hns: Add SCC context clr support for hip08 + - RDMA/hns: Add timer allocation support for hip08 + - RDMA/hns: Remove set but not used variable 'rst' + - RDMA/hns: Make some function static + - RDMA/hns: Fix the Oops during rmmod or insmod ko when reset occurs + - RDMA/hns: Fix the chip hanging caused by sending mailbox&CMQ during reset + - RDMA/hns: Fix the chip hanging caused by sending doorbell during reset + - RDMA/hns: Limit minimum ROCE CQ depth to 64 + - RDMA/hns: Fix the state of rereg mr + - RDMA/hns: Set allocated memory to zero for wrid + - RDMA/hns: Delete useful prints for aeq subtype event + - RDMA/hns: Configure capacity of hns device + - RDMA/hns: Modify qp&cq&pd specification according to UM + - RDMA/hns: Bugfix for set hem of SCC + - RDMA/hns: Use GFP_ATOMIC in hns_roce_v2_modify_qp + + * autopkgtests run too often, too much and don't skip enough (LP: #1823056) + - Set +x on rebuild testcase. + - Skip rebuild test, for regression-suite deps. + - Make ubuntu-regression-suite skippable on unbootable kernels. + - make rebuild use skippable error codes when skipping. + - Only run regression-suite, if requested to. + + * touchpad not working on lenovo yoga 530 (LP: #1787775) + - Revert "UBUNTU: SAUCE: i2c:amd Depends on ACPI" + - Revert "UBUNTU: SAUCE: i2c:amd move out pointer in union i2c_event_base" + - i2c: add extra check to safe DMA buffer helper + - i2c: Add drivers for the AMD PCIe MP2 I2C controller + - [Config] Update config for AMD MP2 I2C driver + + * Detect SMP PHY control command errors (LP: #1822680) + - scsi: libsas: Check SMP PHY control function result + + * disable a.out support (LP: #1818552) + - [Config] Disable a.out support + - [Config] remove binfmt_aout from abi for i386 lowlatency + + * bionic: fork out linux-snapdragon into its own topic kernel (LP: #1820868) + - [Packaging] remove snapdragon flavour support + - Revert "UBUNTU: SAUCE: (snapdragon) drm/msm/adv7511: wrap hacks under + CONFIG_ADV7511_SNAPDRAGON_HACKS #ifdefs" + - Revert "UBUNTU: SAUCE: (snapdragon) media: ov5645: skip address change if dt + addr == default addr" + - Revert "UBUNTU: SAUCE: (snapdragon) DT: leds: Add Qualcomm Light Pulse + Generator binding" + - Revert "UBUNTU: SAUCE: (snapdragon) MAINTAINERS: Add Qualcomm Camera Control + Interface driver" + - Revert "UBUNTU: SAUCE: (snapdragon) dt-bindings: media: Binding document for + Qualcomm Camera Control Interface driver" + - Revert "UBUNTU: SAUCE: (snapdragon) leds: Add driver for Qualcomm LPG" + - Revert "UBUNTU: SAUCE: (snapdragon) HACK: drm/msm/adv7511: Don't rely on + interrupts for EDID parsing" + - Revert "UBUNTU: SAUCE: (snapdragon) drm/bridge/adv7511: Delay clearing of + HPD interrupt status" + - Revert "UBUNTU: SAUCE: (snapdragon) media: ov5645: Fix I2C address" + - Revert "UBUNTU: SAUCE: (snapdragon) i2c-qcom-cci: Fix I2C address bug" + - Revert "UBUNTU: SAUCE: (snapdragon) i2c-qcom-cci: Fix run queue completion + timeout" + - Revert "UBUNTU: SAUCE: (snapdragon) camss: Do not register if no cameras are + present" + - Revert "UBUNTU: SAUCE: (snapdragon) i2c: Add Qualcomm Camera Control + Interface driver" + - Revert "UBUNTU: SAUCE: (snapdragon) ov5645: I2C address change" + - Revert "UBUNTU: SAUCE: (snapdragon) regulator: smd: Allow + REGULATOR_QCOM_SMD_RPM=m" + - Revert "UBUNTU: SAUCE: (snapdragon) cpufreq: Add apq8016 to cpufreq-dt- + platdev blacklist" + - Revert "UBUNTU: SAUCE: (snapdragon) PM / OPP: Add a helper to get an opp + regulator for device" + - Revert "UBUNTU: SAUCE: (snapdragon) PM / OPP: HACK: Allow to set regulator + without opp_list" + - Revert "UBUNTU: SAUCE: (snapdragon) PM / OPP: Drop RCU usage in + dev_pm_opp_adjust_voltage()" + - Revert "UBUNTU: SAUCE: (snapdragon) PM / OPP: Support adjusting OPP voltages + at runtime" + - Revert "UBUNTU: SAUCE: (snapdragon) regulator: smd: Add floor and corner + operations" + - Revert "UBUNTU: SAUCE: (snapdragon) power: avs: cpr: Register with cpufreq- + dt" + - Revert "UBUNTU: SAUCE: (snapdragon) power: avs: cpr: fix with new + reg_sequence structures" + - Revert "UBUNTU: SAUCE: (snapdragon) power: avs: cpr: Use raw mem access for + qfprom" + - Revert "UBUNTU: SAUCE: (snapdragon) power: avs: Add support for CPR (Core + Power Reduction)" + - Revert "UBUNTU: SAUCE: (snapdragon) HACK: drm/msm/iommu: Remove runtime_put + calls in map/unmap" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable LEDS_QCOM_LPG" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable 'BBR' TCP + congestion algorithm" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable 'fq' and + 'fq_codel' qdiscs" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable + 'schedutil' CPUfreq governor" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs: set USB_CONFIG_F_FS in + distro.config" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable + CONFIG_USB_CONFIGFS_F_FS by default" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs: add freq stat to sysfs" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: configs: Enable camera drivers" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: disable ANALOG_TV and + DIGITAL_TV" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs: add more USB net + drivers" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: configs: enable BT_QCOMSMD" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable + CFG80211_DEFAULT_PS by default" + - Revert "UBUNTU: SAUCE: (snapdragon) Force the SMD regulator driver to be + compiled-in" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs: enable dm_mod and + dm_crypt" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: Enable a53/apcs and + avs" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: configs: enable QCOM Venus" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable debug + friendly USB network adpater" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: configs: enable WCN36xx" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs; add distro.config" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable QCOM audio + drivers for APQ8016 and DB410c" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable REMOTEPROC" + - [Config] fix abi for remove i2c-qcom-cci module + - [Config] update annotations + - [Config] update configs following snapdragon removal + + * Disco update: v5.0.5 upstream stable release (LP: #1822671) + - Revert "ALSA: hda - Enforces runtime_resume after S3 and S4 for each codec" + - ALSA: hda - add Lenovo IdeaCentre B550 to the power_save_blacklist + - ALSA: firewire-motu: use 'version' field of unit directory to identify model + - mmc: pxamci: fix enum type confusion + - mmc: alcor: fix DMA reads + - mmc: mxcmmc: "Revert mmc: mxcmmc: handle highmem pages" + - mmc: renesas_sdhi: limit block count to 16 bit for old revisions + - drm/amdgpu: fix invalid use of change_bit + - drm/vmwgfx: Don't double-free the mode stored in par->set_mode + - drm/vmwgfx: Return 0 when gmrid::get_node runs out of ID's + - iommu/amd: fix sg->dma_address for sg->offset bigger than PAGE_SIZE + - iommu/iova: Fix tracking of recently failed iova address + - libceph: wait for latest osdmap in ceph_monc_blacklist_add() + - udf: Fix crash on IO error during truncate + - mips: loongson64: lemote-2f: Add IRQF_NO_SUSPEND to "cascade" irqaction. + - MIPS: Ensure ELF appended dtb is relocated + - MIPS: Fix kernel crash for R6 in jump label branch function + - powerpc/vdso64: Fix CLOCK_MONOTONIC inconsistencies across Y2038 + - powerpc/security: Fix spectre_v2 reporting + - net/mlx5: Fix DCT creation bad flow + - scsi: core: Avoid that a kernel warning appears during system resume + - scsi: qla2xxx: Fix FC-AL connection target discovery + - scsi: ibmvscsi: Protect ibmvscsi_head from concurrent modificaiton + - scsi: ibmvscsi: Fix empty event pool access during host removal + - futex: Ensure that futex address is aligned in handle_futex_death() + - perf probe: Fix getting the kernel map + - objtool: Move objtool_file struct off the stack + - irqchip/gic-v3-its: Fix comparison logic in lpi_range_cmp + - clocksource/drivers/riscv: Fix clocksource mask + - ALSA: ac97: Fix of-node refcount unbalance + - ext4: fix NULL pointer dereference while journal is aborted + - ext4: fix data corruption caused by unaligned direct AIO + - ext4: brelse all indirect buffer in ext4_ind_remove_space() + - media: v4l2-ctrls.c/uvc: zero v4l2_event + - Bluetooth: hci_uart: Check if socket buffer is ERR_PTR in h4_recv_buf() + - Bluetooth: Fix decrementing reference count twice in releasing socket + - Bluetooth: hci_ldisc: Initialize hci_dev before open() + - Bluetooth: hci_ldisc: Postpone HCI_UART_PROTO_READY bit set in + hci_uart_set_proto() + - drm/vkms: Fix flush_work() without INIT_WORK(). + - RDMA/cma: Rollback source IP address if failing to acquire device + - f2fs: fix to avoid deadlock of atomic file operations + - aio: simplify - and fix - fget/fput for io_submit() + - netfilter: ebtables: remove BUGPRINT messages + - loop: access lo_backing_file only when the loop device is Lo_bound + - x86/unwind: Handle NULL pointer calls better in frame unwinder + - x86/unwind: Add hardcoded ORC entry for NULL + - locking/lockdep: Add debug_locks check in __lock_downgrade() + - ALSA: hda - Record the current power state before suspend/resume calls + - ALSA: hda - Enforces runtime_resume after S3 and S4 for each codec + - Linux 5.0.5 + + * hisi_sas updates for disco (LP: #1822385) + - scsi: hisi_sas: send primitive NOTIFY to SSP situation only + - scsi: hisi_sas: shutdown axi bus to avoid exception CQ returned + - scsi: hisi_sas: remove the check of sas_dev status in + hisi_sas_I_T_nexus_reset() + - scsi: hisi_sas: Remove unused parameter of function hisi_sas_alloc() + - scsi: hisi_sas: Reject setting programmed minimum linkrate > 1.5G + - scsi: hisi_sas: Fix losing directly attached disk when hot-plug + - scsi: hisi_sas: Correct memory allocation size for DQ debugfs + - scsi: hisi_sas: Some misc tidy-up + - scsi: hisi_sas: Fix to only call scsi_get_prot_op() for non-NULL scsi_cmnd + - scsi: hisi_sas: Add missing seq_printf() call in hisi_sas_show_row_32() + - scsi: hisi_sas: Add support for DIX feature for v3 hw + - scsi: hisi_sas: Add manual trigger for debugfs dump + - scsi: hisi_sas: change queue depth from 512 to 4096 + - scsi: hisi_sas: Issue internal abort on all relevant queues + - scsi: hisi_sas: Use pci_irq_get_affinity() for v3 hw as experimental + - scsi: hisi_sas: Do some more tidy-up + - scsi: hisi_sas: Change return variable type in phy_up_v3_hw() + - scsi: hisi_sas: Fix a timeout race of driver internal and SMP IO + - scsi: hisi_sas: print PHY RX errors count for later revision of v3 hw + - scsi: hisi_sas: Set PHY linkrate when disconnected + - scsi: hisi_sas: Send HARD RESET to clear the previous affiliation of STP + target port + - scsi: hisi_sas: Change SERDES_CFG init value to increase reliability of + HiLink + - scsi: hisi_sas: Add softreset in hisi_sas_I_T_nexus_reset() + + * [Patch][Raven 2] kernel 5.0.0 cannot boot because of psp response + (LP: #1822267) + - drm/amdgpu/psp: Fix can't detect psp INVOKE command failed + - drm/amdgpu/psp: ignore psp response status + + * 3b080b2564287be91605bfd1d5ee985696e61d3c in ubuntu_btrfs_kernel_fixes + triggers system hang on i386 (LP: #1812845) + - btrfs: raid56: properly unmap parity page in finish_parity_scrub() + + * enable CONFIG_DRM_BOCHS (LP: #1795857) + - [Config] Reenable DRM_BOCHS as module + + * [Dell Precision 7530/5530 with Nvidia Quadro P1000] Live USB freezes or + cannot complete install when nouveau driver is loaded (crashing in GP100 + code) (LP: #1822026) + - SAUCE: drm/nouveau: Disable nouveau driver by default + + * Need to add Intel CML related pci-id's (LP: #1821863) + - drm/i915/cml: Add CML PCI IDS + - drm/i915/cml: Introduce Comet Lake PCH + + * ARM: Add support for the SDEI interface (LP: #1822005) + - ACPI / APEI: Don't wait to serialise with oops messages when panic()ing + - ACPI / APEI: Remove silent flag from ghes_read_estatus() + - ACPI / APEI: Switch estatus pool to use vmalloc memory + - ACPI / APEI: Make hest.c manage the estatus memory pool + - ACPI / APEI: Make estatus pool allocation a static size + - ACPI / APEI: Don't store CPER records physical address in struct ghes + - ACPI / APEI: Remove spurious GHES_TO_CLEAR check + - ACPI / APEI: Don't update struct ghes' flags in read/clear estatus + - ACPI / APEI: Generalise the estatus queue's notify code + - ACPI / APEI: Don't allow ghes_ack_error() to mask earlier errors + - ACPI / APEI: Move NOTIFY_SEA between the estatus-queue and NOTIFY_NMI + - ACPI / APEI: Switch NOTIFY_SEA to use the estatus queue + - KVM: arm/arm64: Add kvm_ras.h to collect kvm specific RAS plumbing + - arm64: KVM/mm: Move SEA handling behind a single 'claim' interface + - ACPI / APEI: Move locking to the notification helper + - ACPI / APEI: Let the notification helper specify the fixmap slot + - ACPI / APEI: Pass ghes and estatus separately to avoid a later copy + - ACPI / APEI: Make GHES estatus header validation more user friendly + - ACPI / APEI: Split ghes_read_estatus() to allow a peek at the CPER length + - ACPI / APEI: Only use queued estatus entry during in_nmi_queue_one_entry() + - ACPI / APEI: Use separate fixmap pages for arm64 NMI-like notifications + - firmware: arm_sdei: Add ACPI GHES registration helper + - ACPI / APEI: Add support for the SDEI GHES Notification type + + * CVE-2019-9857 + - inotify: Fix fsnotify_mark refcount leak in inotify_update_existing_watch() + + * scsi: libsas: Support SATA PHY connection rate unmatch fixing during + discovery (LP: #1821408) + - scsi: libsas: Support SATA PHY connection rate unmatch fixing during + discovery + + * Qualcomm Atheros QCA9377 wireless does not work (LP: #1818204) + - platform/x86: ideapad-laptop: Add Ideapad 530S-14ARR to no_hw_rfkill list + + * Lenovo ideapad 330-15ICH Wifi rfkill hard blocked (LP: #1811815) + - platform/x86: ideapad: Add ideapad 330-15ICH to no_hw_rfkill + + * hid-sensor-hub spamming dmesg in 4.20 (LP: #1818547) + - HID: Increase maximum report size allowed by hid_field_extract() + + * [disco] [5.0.0-7.8] can't mount guest cifs share (LP: #1821053) + - cifs: allow guest mounts to work for smb3.11 + - SMB3: Fix SMB3.1.1 guest mounts to Samba + + * Add HiSilicon SoC quirk for cpufreq (LP: #1821620) + - ACPI / CPPC: Add a helper to get desired performance + - cpufreq / cppc: Work around for Hisilicon CPPC cpufreq + + * Disco update: v5.0.4 upstream stable release (LP: #1821607) + - 9p: use inode->i_lock to protect i_size_write() under 32-bit + - 9p/net: fix memory leak in p9_client_create + - ASoC: fsl_esai: fix register setting issue in RIGHT_J mode + - ASoC: codecs: pcm186x: fix wrong usage of DECLARE_TLV_DB_SCALE() + - ASoC: codecs: pcm186x: Fix energysense SLEEP bit + - iio: adc: exynos-adc: Fix NULL pointer exception on unbind + - iio: adc: exynos-adc: Use proper number of channels for Exynos4x12 + - mei: hbm: clean the feature flags on link reset + - mei: bus: move hw module get/put to probe/release + - stm class: Prevent division by zero + - stm class: Fix an endless loop in channel allocation + - crypto: caam - fix hash context DMA unmap size + - crypto: ccree - fix missing break in switch statement + - crypto: caam - fixed handling of sg list + - crypto: caam - fix DMA mapping of stack memory + - crypto: ccree - fix free of unallocated mlli buffer + - crypto: ccree - unmap buffer before copying IV + - crypto: ccree - don't copy zero size ciphertext + - crypto: cfb - add missing 'chunksize' property + - crypto: cfb - remove bogus memcpy() with src == dest + - crypto: ofb - fix handling partial blocks and make thread-safe + - crypto: ahash - fix another early termination in hash walk + - crypto: rockchip - fix scatterlist nents error + - crypto: rockchip - update new iv to device in multiple operations + - dax: Flush partial PMDs correctly + - nfit: Fix nfit_intel_shutdown_status() command submission + - nfit: acpi_nfit_ctl(): Check out_obj->type in the right place + - acpi/nfit: Fix bus command validation + - nfit/ars: Attempt a short-ARS whenever the ARS state is idle at boot + - nfit/ars: Attempt short-ARS even in the no_init_ars case + - libnvdimm/label: Clear 'updating' flag after label-set update + - libnvdimm, pfn: Fix over-trim in trim_pfn_device() + - libnvdimm/pmem: Honor force_raw for legacy pmem regions + - libnvdimm: Fix altmap reservation size calculation + - fix cgroup_do_mount() handling of failure exits + - crypto: aead - set CRYPTO_TFM_NEED_KEY if ->setkey() fails + - crypto: aegis - fix handling chunked inputs + - crypto: arm/crct10dif - revert to C code for short inputs + - crypto: arm64/aes-neonbs - fix returning final keystream block + - crypto: arm64/crct10dif - revert to C code for short inputs + - crypto: hash - set CRYPTO_TFM_NEED_KEY if ->setkey() fails + - crypto: morus - fix handling chunked inputs + - crypto: pcbc - remove bogus memcpy()s with src == dest + - crypto: skcipher - set CRYPTO_TFM_NEED_KEY if ->setkey() fails + - crypto: testmgr - skip crc32c context test for ahash algorithms + - crypto: x86/aegis - fix handling chunked inputs and MAY_SLEEP + - crypto: x86/aesni-gcm - fix crash on empty plaintext + - crypto: x86/morus - fix handling chunked inputs and MAY_SLEEP + - crypto: arm64/aes-ccm - fix logical bug in AAD MAC handling + - crypto: arm64/aes-ccm - fix bugs in non-NEON fallback routine + - CIFS: Fix leaking locked VFS cache pages in writeback retry + - CIFS: Do not reset lease state to NONE on lease break + - CIFS: Do not skip SMB2 message IDs on send failures + - CIFS: Fix read after write for files with read caching + - smb3: make default i/o size for smb3 mounts larger + - tracing: Use strncpy instead of memcpy for string keys in hist triggers + - tracing: Do not free iter->trace in fail path of tracing_open_pipe() + - tracing/perf: Use strndup_user() instead of buggy open-coded version + - vmw_balloon: release lock on error in vmballoon_reset() + - xen: fix dom0 boot on huge systems + - ACPI / device_sysfs: Avoid OF modalias creation for removed device + - mmc: sdhci-esdhc-imx: fix HS400 timing issue + - mmc: renesas_sdhi: Fix card initialization failure in high speed mode + - mmc:fix a bug when max_discard is 0 + - spi: ti-qspi: Fix mmap read when more than one CS in use + - spi: pxa2xx: Setup maximum supported DMA transfer length + - spi: omap2-mcspi: Fix DMA and FIFO event trigger size mismatch + - spi: spi-gpio: fix SPI_CS_HIGH capability + - regulator: s2mps11: Fix steps for buck7, buck8 and LDO35 + - regulator: max77620: Initialize values for DT properties + - regulator: s2mpa01: Fix step values for some LDOs + - mt76: fix corrupted software generated tx CCMP PN + - clocksource/drivers/exynos_mct: Move one-shot check from tick clear to ISR + - clocksource/drivers/exynos_mct: Clear timer interrupt when shutdown + - clocksource/drivers/arch_timer: Workaround for Allwinner A64 timer + instability + - s390: vfio_ap: link the vfio_ap devices to the vfio_ap bus subsystem + - s390/setup: fix early warning messages + - s390/virtio: handle find on invalid queue gracefully + - scsi: virtio_scsi: don't send sc payload with tmfs + - scsi: aacraid: Fix performance issue on logical drives + - scsi: sd: Optimal I/O size should be a multiple of physical block size + - scsi: target/iscsi: Avoid iscsit_release_commands_from_conn() deadlock + - scsi: qla2xxx: Fix LUN discovery if loop id is not assigned yet by firmware + - scsi: qla2xxx: Avoid PCI IRQ affinity mapping when multiqueue is not + supported + - scsi: qla2xxx: Use complete switch scan for RSCN events + - fs/devpts: always delete dcache dentry-s in dput() + - splice: don't merge into linked buffers + - ovl: During copy up, first copy up data and then xattrs + - ovl: Do not lose security.capability xattr over metadata file copy-up + - m68k: Add -ffreestanding to CFLAGS + - Btrfs: setup a nofs context for memory allocation at btrfs_create_tree() + - Btrfs: setup a nofs context for memory allocation at __btrfs_set_acl + - btrfs: scrub: fix circular locking dependency warning + - btrfs: drop the lock on error in btrfs_dev_replace_cancel + - btrfs: ensure that a DUP or RAID1 block group has exactly two stripes + - btrfs: init csum_list before possible free + - Btrfs: fix corruption reading shared and compressed extents after hole + punching + - Btrfs: fix deadlock between clone/dedupe and rename + - soc: qcom: rpmh: Avoid accessing freed memory from batch API + - libertas_tf: don't set URB_ZERO_PACKET on IN USB transfer + - irqchip/gic-v3-its: Avoid parsing _indirect_ twice for Device table + - irqchip/brcmstb-l2: Use _irqsave locking variants in non-interrupt code + - x86/kprobes: Prohibit probing on optprobe template code + - cpufreq: kryo: Release OPP tables on module removal + - cpufreq: tegra124: add missing of_node_put() + - cpufreq: pxa2xx: remove incorrect __init annotation + - ext4: fix check of inode in swap_inode_boot_loader + - ext4: cleanup pagecache before swap i_data + - mm: hwpoison: fix thp split handing in soft_offline_in_use_page() + - mm/vmalloc: fix size check for remap_vmalloc_range_partial() + - mm/memory.c: do_fault: avoid usage of stale vm_area_struct + - kernel/sysctl.c: add missing range check in do_proc_dointvec_minmax_conv + - nvmem: core: don't check the return value of notifier chain call + - device property: Fix the length used in PROPERTY_ENTRY_STRING() + - intel_th: Don't reference unassigned outputs + - parport_pc: fix find_superio io compare code, should use equal test. + - i2c: tegra: fix maximum transfer size + - i2c: tegra: update maximum transfer size + - media: i2c: ov5640: Fix post-reset delay + - gpio: pca953x: Fix dereference of irq data in shutdown + - ext4: update quota information while swapping boot loader inode + - ext4: add mask of ext4 flags to swap + - ext4: fix crash during online resizing + - dma: Introduce dma_max_mapping_size() + - swiotlb: Introduce swiotlb_max_mapping_size() + - swiotlb: Add is_swiotlb_active() function + - PCI/ASPM: Use LTR if already enabled by platform + - PCI/DPC: Fix print AER status in DPC event handling + - PCI: qcom: Don't deassert reset GPIO during probe + - PCI: dwc: skip MSI init if MSIs have been explicitly disabled + - PCI: pci-bridge-emul: Create per-bridge copy of register behavior + - PCI: pci-bridge-emul: Extend pci_bridge_emul_init() with flags + - IB/hfi1: Close race condition on user context disable and close + - IB/rdmavt: Fix loopback send with invalidate ordering + - IB/rdmavt: Fix concurrency panics in QP post_send and modify to error + - cxl: Wrap iterations over afu slices inside 'afu_list_lock' + - ext2: Fix underflow in ext2_max_size() + - clk: uniphier: Fix update register for CPU-gear + - clk: clk-twl6040: Fix imprecise external abort for pdmclk + - clk: samsung: exynos5: Fix possible NULL pointer exception on + platform_device_alloc() failure + - clk: samsung: exynos5: Fix kfree() of const memory on setting + driver_override + - clk: ingenic: Fix round_rate misbehaving with non-integer dividers + - clk: ingenic: Fix doc of ingenic_cgu_div_info + - usb: chipidea: tegra: Fix missed ci_hdrc_remove_device() + - usb: typec: tps6598x: handle block writes separately with plain-I2C adapters + - dmaengine: usb-dmac: Make DMAC system sleep callbacks explicit + - serial: uartps: Fix stuck ISR if RX disabled with non-empty FIFO + - serial: 8250_of: assume reg-shift of 2 for mrvl,mmp-uart + - serial: 8250_pci: Fix number of ports for ACCES serial cards + - serial: 8250_pci: Have ACCES cards that use the four port Pericom PI7C9X7954 + chip use the pci_pericom_setup() + - jbd2: clear dirty flag when revoking a buffer from an older transaction + - jbd2: fix compile warning when using JBUFFER_TRACE + - selinux: add the missing walk_size + len check in selinux_sctp_bind_connect + - security/selinux: fix SECURITY_LSM_NATIVE_LABELS on reused superblock + - powerpc/32: Clear on-stack exception marker upon exception return + - powerpc/wii: properly disable use of BATs when requested. + - powerpc/powernv: Make opal log only readable by root + - powerpc/83xx: Also save/restore SPRG4-7 during suspend + - powerpc/kvm: Save and restore host AMR/IAMR/UAMOR + - powerpc/powernv: Don't reprogram SLW image on every KVM guest entry/exit + - powerpc/64s/hash: Fix assert_slb_presence() use of the slbfee. instruction + - powerpc: Fix 32-bit KVM-PR lockup and host crash with MacOS guest + - powerpc/ptrace: Simplify vr_get/set() to avoid GCC warning + - powerpc/hugetlb: Don't do runtime allocation of 16G pages in LPAR + configuration + - powerpc/smp: Fix NMI IPI timeout + - powerpc/smp: Fix NMI IPI xmon timeout + - powerpc/traps: fix recoverability of machine check handling on book3s/32 + - powerpc/traps: Fix the message printed when stack overflows + - ARM: s3c24xx: Fix boolean expressions in osiris_dvs_notify + - arm64: Fix HCR.TGE status for NMI contexts + - arm64: debug: Don't propagate UNKNOWN FAR into si_code for debug signals + - arm64: debug: Ensure debug handlers check triggering exception level + - arm64: KVM: Fix architecturally invalid reset value for FPEXC32_EL2 + - Revert "KVM/MMU: Flush tlb directly in the kvm_zap_gfn_range()" + - ipmi_si: Fix crash when using hard-coded device + - ipmi_si: fix use-after-free of resource->name + - dm: fix to_sector() for 32bit + - dm integrity: limit the rate of error messages + - media: cx25840: mark pad sig_types to fix cx231xx init + - mfd: sm501: Fix potential NULL pointer dereference + - cpcap-charger: generate events for userspace + - cpuidle: governor: Add new governors to cpuidle_governors again + - NFS: Fix I/O request leakages + - NFS: Fix an I/O request leakage in nfs_do_recoalesce + - NFS: Don't recoalesce on error in nfs_pageio_complete_mirror() + - nfsd: fix performance-limiting session calculation + - nfsd: fix memory corruption caused by readdir + - nfsd: fix wrong check in write_v4_end_grace() + - NFSv4.1: Reinitialise sequence results before retransmitting a request + - svcrpc: fix UDP on servers with lots of threads + - PM / wakeup: Rework wakeup source timer cancellation + - PM / OPP: Update performance state when freq == old_freq + - bcache: treat stale && dirty keys as bad keys + - bcache: use (REQ_META|REQ_PRIO) to indicate bio for metadata + - stable-kernel-rules.rst: add link to networking patch queue + - vt: perform safe console erase in the right order + - x86/unwind/orc: Fix ORC unwind table alignment + - perf intel-pt: Fix CYC timestamp calculation after OVF + - perf tools: Fix split_kallsyms_for_kcore() for trampoline symbols + - perf auxtrace: Define auxtrace record alignment + - perf intel-pt: Fix overlap calculation for padding + - perf/x86/intel/uncore: Fix client IMC events return huge result + - perf intel-pt: Fix divide by zero when TSC is not available + - md: Fix failed allocation of md_register_thread + - x86/kvmclock: set offset for kvm unstable clock + - x86/ftrace: Fix warning and considate ftrace_jmp_replace() and + ftrace_call_replace() + - tpm/tpm_crb: Avoid unaligned reads in crb_recv() + - tpm: Unify the send callback behaviour + - rcu: Do RCU GP kthread self-wakeup from softirq and interrupt + - media: imx: prpencvf: Stop upstream before disabling IDMA channel + - media: lgdt330x: fix lock status reporting + - media: sun6i: Fix CSI regmap's max_register + - media: uvcvideo: Avoid NULL pointer dereference at the end of streaming + - media: vimc: Add vimc-streamer for stream control + - media: imx-csi: Input connections to CSI should be optional + - media: imx: csi: Disable CSI immediately after last EOF + - media: imx: csi: Stop upstream before disabling IDMA channel + - drm/fb-helper: generic: Fix drm_fbdev_client_restore() + - drm/radeon/evergreen_cs: fix missing break in switch statement + - drm/amd/powerplay: correct power reading on fiji + - drm/amd/display: don't call dm_pp_ function from an fpu block + - KVM: Call kvm_arch_memslots_updated() before updating memslots + - KVM: VMX: Compare only a single byte for VMCS' "launched" in vCPU-run + - KVM: VMX: Zero out *all* general purpose registers after VM-Exit + - KVM: x86/mmu: Detect MMIO generation wrap in any address space + - KVM: x86/mmu: Do not cache MMIO accesses while memslots are in flux + - KVM: nVMX: Sign extend displacements of VMX instr's mem operands + - KVM: nVMX: Apply addr size mask to effective address for VMX instructions + - KVM: nVMX: Ignore limit checks on VMX instructions using flat segments + - KVM: nVMX: Check a single byte for VMCS "launched" in nested early checks + - net: dsa: lantiq_gswip: fix use-after-free on failed probe + - net: dsa: lantiq_gswip: fix OF child-node lookups + - s390/setup: fix boot crash for machine without EDAT-1 + - SUNRPC: Prevent thundering herd when the socket is not connected + - SUNRPC: Fix up RPC back channel transmission + - SUNRPC: Respect RPC call timeouts when retrying transmission + - Linux 5.0.4 + - [Config] update configs for 5.0.4 stable update + + * New Intel Wireless-AC 9260 [8086:2526] card not correctly probed in Ubuntu + system (LP: #1821271) + - iwlwifi: add new card for 9260 series + + * [CONFIG] please enable highdpi font FONT_TER16x32 (LP: #1819881) + - [Config]: enable highdpi Terminus 16x32 font support + + * [SRU][B/B-OEM/C/D] Fix AMD IOMMU NULL dereference (LP: #1820990) + - iommu/amd: Fix NULL dereference bug in match_hid_uid + + * some codecs stop working after S3 (LP: #1820930) + - ALSA: hda - Enforces runtime_resume after S3 and S4 for each codec + - ALSA: hda - Don't trigger jackpoll_work in azx_resume + + * tcm_loop.ko: move from modules-extra into main modules package + (LP: #1817786) + - [Packaging] move tcm_loop.lo to main linux-modules package + + * C++ demangling support missing from perf (LP: #1396654) + - [Packaging] fix a mistype + + * r8169 doesn't get woken up by ethernet cable plugging, no PME generated + (LP: #1817676) + - PCI: pciehp: Disable Data Link Layer State Changed event on suspend + + * Disco update: v5.0.3 upstream stable release (LP: #1821074) + - connector: fix unsafe usage of ->real_parent + - fou, fou6: avoid uninit-value in gue_err() and gue6_err() + - gro_cells: make sure device is up in gro_cells_receive() + - ipv4/route: fail early when inet dev is missing + - l2tp: fix infoleak in l2tp_ip6_recvmsg() + - lan743x: Fix RX Kernel Panic + - lan743x: Fix TX Stall Issue + - net: hsr: fix memory leak in hsr_dev_finalize() + - net/hsr: fix possible crash in add_timer() + - net: sit: fix UBSAN Undefined behaviour in check_6rd + - net/x25: fix use-after-free in x25_device_event() + - net/x25: reset state in x25_connect() + - pptp: dst_release sk_dst_cache in pptp_sock_destruct + - ravb: Decrease TxFIFO depth of Q3 and Q2 to one + - route: set the deleted fnhe fnhe_daddr to 0 in ip_del_fnhe to fix a race + - rxrpc: Fix client call queueing, waiting for channel + - sctp: remove sched init from sctp_stream_init + - tcp: do not report TCP_CM_INQ of 0 for closed connections + - tcp: Don't access TCP_SKB_CB before initializing it + - tcp: handle inet_csk_reqsk_queue_add() failures + - vxlan: Fix GRO cells race condition between receive and link delete + - vxlan: test dev->flags & IFF_UP before calling gro_cells_receive() + - net/mlx4_core: Fix reset flow when in command polling mode + - net/mlx4_core: Fix locking in SRIOV mode when switching between events and + polling + - net/mlx4_core: Fix qp mtt size calculation + - net: dsa: mv88e6xxx: Set correct interface mode for CPU/DSA ports + - vsock/virtio: fix kernel panic from virtio_transport_reset_no_sock + - net: sched: flower: insert new filter to idr after setting its mask + - f2fs: wait on atomic writes to count F2FS_CP_WB_DATA + - perf/x86: Fixup typo in stub functions + - ALSA: bebob: use more identical mod_alias for Saffire Pro 10 I/O against + Liquid Saffire 56 + - ALSA: firewire-motu: fix construction of PCM frame for capture direction + - ALSA: hda: Extend i915 component bind timeout + - ALSA: hda - add more quirks for HP Z2 G4 and HP Z240 + - ALSA: hda/realtek: Enable audio jacks of ASUS UX362FA with ALC294 + - ALSA: hda/realtek - Reduce click noise on Dell Precision 5820 headphone + - ALSA: hda/realtek: Enable headset MIC of Acer TravelMate X514-51T with + ALC255 + - perf/x86/intel: Fix memory corruption + - perf/x86/intel: Make dev_attr_allow_tsx_force_abort static + - It's wrong to add len to sector_nr in raid10 reshape twice + - drm: Block fb changes for async plane updates + - Linux 5.0.3 + + * Disco update: v5.0.2 upstream stable release (LP: #1820318) + - media: uvcvideo: Fix 'type' check leading to overflow + - Input: wacom_serial4 - add support for Wacom ArtPad II tablet + - Input: elan_i2c - add id for touchpad found in Lenovo s21e-20 + - iscsi_ibft: Fix missing break in switch statement + - scsi: aacraid: Fix missing break in switch statement + - x86/PCI: Fixup RTIT_BAR of Intel Denverton Trace Hub + - arm64: dts: zcu100-revC: Give wifi some time after power-on + - arm64: dts: hikey: Give wifi some time after power-on + - arm64: dts: hikey: Revert "Enable HS200 mode on eMMC" + - ARM: dts: exynos: Fix pinctrl definition for eMMC RTSN line on Odroid X2/U3 + - ARM: dts: exynos: Add minimal clkout parameters to Exynos3250 PMU + - ARM: dts: exynos: Fix max voltage for buck8 regulator on Odroid XU3/XU4 + - drm: disable uncached DMA optimization for ARM and arm64 + - media: Revert "media: rc: some events are dropped by userspace" + - Revert "PCI/PME: Implement runtime PM callbacks" + - bpf: Stop the psock parser before canceling its work + - gfs2: Fix missed wakeups in find_insert_glock + - staging: erofs: keep corrupted fs from crashing kernel in erofs_namei() + - staging: erofs: compressed_pages should not be accessed again after freed + - scripts/gdb: replace flags (MS_xyz -> SB_xyz) + - ath9k: Avoid OF no-EEPROM quirks without qca,no-eeprom + - perf/x86/intel: Make cpuc allocations consistent + - perf/x86/intel: Generalize dynamic constraint creation + - x86: Add TSX Force Abort CPUID/MSR + - perf/x86/intel: Implement support for TSX Force Abort + - Linux 5.0.2 + + * Linux security module stacking support + - LSM: Introduce LSM_FLAG_LEGACY_MAJOR + - LSM: Provide separate ordered initialization + - LSM: Plumb visibility into optional "enabled" state + - LSM: Lift LSM selection out of individual LSMs + - LSM: Build ordered list of LSMs to initialize + - LSM: Introduce CONFIG_LSM + - LSM: Introduce "lsm=" for boottime LSM selection + - LSM: Tie enabling logic to presence in ordered list + - LSM: Prepare for reorganizing "security=" logic + - LSM: Refactor "security=" in terms of enable/disable + - LSM: Separate idea of "major" LSM from "exclusive" LSM + - apparmor: Remove SECURITY_APPARMOR_BOOTPARAM_VALUE + - selinux: Remove SECURITY_SELINUX_BOOTPARAM_VALUE + - LSM: Add all exclusive LSMs to ordered initialization + - LSM: Split LSM preparation from initialization + - LoadPin: Initialize as ordered LSM + - Yama: Initialize as ordered LSM + - LSM: Introduce enum lsm_order + - capability: Initialize as LSM_ORDER_FIRST + - procfs: add smack subdir to attrs + - Smack: Abstract use of cred security blob + - SELinux: Abstract use of cred security blob + - SELinux: Remove cred security blob poisoning + - SELinux: Remove unused selinux_is_enabled + - AppArmor: Abstract use of cred security blob + - TOMOYO: Abstract use of cred security blob + - Infrastructure management of the cred security blob + - SELinux: Abstract use of file security blob + - Smack: Abstract use of file security blob + - LSM: Infrastructure management of the file security + - SELinux: Abstract use of inode security blob + - Smack: Abstract use of inode security blob + - LSM: Infrastructure management of the inode security + - LSM: Infrastructure management of the task security + - SELinux: Abstract use of ipc security blobs + - Smack: Abstract use of ipc security blobs + - LSM: Infrastructure management of the ipc security blob + - TOMOYO: Update LSM flags to no longer be exclusive + - LSM: generalize flag passing to security_capable + - LSM: Make lsm_early_cred() and lsm_early_task() local functions. + - LSM: Make some functions static + - apparmor: Adjust offset when accessing task blob. + - LSM: Ignore "security=" when "lsm=" is specified + - LSM: Update list of SECURITYFS users in Kconfig + - apparmor: delete the dentry in aafs_remove() to avoid a leak + - apparmor: fix double free when unpack of secmark rules fails + - SAUCE: LSM: Infrastructure management of the sock security + - SAUCE: LSM: Limit calls to certain module hooks + - SAUCE: LSM: Special handling for secctx lsm hooks + - SAUCE: LSM: Specify which LSM to display with /proc/self/attr/display + - SAUCE: Fix-up af_unix mediation for sock infrastructure management + - SAUCE: Revert "apparmor: Fix warning about unused function + apparmor_ipv6_postroute" + - SAUCE: Revert "apparmor: fix checkpatch error in Parse secmark policy" + - SAUCE: Revert "apparmor: add #ifdef checks for secmark filtering" + - SAUCE: Revert "apparmor: Allow filtering based on secmark policy" + - SAUCE: Revert "apparmor: Parse secmark policy" + - SAUCE: Revert "apparmor: Add a wildcard secid" + - SAUCE: Revert "apparmor: fix bad debug check in apparmor_secid_to_secctx()" + - SAUCE: Revert "apparmor: fixup secid map conversion to using IDR" + - SAUCE: Revert "apparmor: Use an IDR to allocate apparmor secids" + - SAUCE: Revert "apparmor: Fix memory leak of rule on error exit path" + - SAUCE: Revert "apparmor: modify audit rule support to support profile + stacks" + - SAUCE: Revert "apparmor: Add support for audit rule filtering" + - SAUCE: Revert "apparmor: add the ability to get a task's secid" + - SAUCE: Revert "apparmor: add support for mapping secids and using secctxes" + - SAUCE: apparmor: add proc subdir to attrs + - SAUCE: apparmor: add an apparmorfs entry to access current attrs + - SAUCE: apparmor: update flags to no longer be exclusive + - SAUCE: update configs and annotations for LSM stacking + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_EARLY_PRINTK_USB_XDBC=y + - SAUCE: (efi-lockdown) bpf: Restrict kernel image access functions when the + kernel is locked down + - [Config] CONFIG_RANDOM_TRUST_CPU=y + - [Config] refresh annotations for recent config changes + - ubuntu: vbox -- update to 6.0.4-dfsg-7 + - Revert "UBUNTU: SAUCE: i2c:amd I2C Driver based on PCI Interface for + upcoming platform" + + -- Seth Forshee Thu, 04 Apr 2019 14:49:59 -0500 + +linux (5.0.0-8.9) disco; urgency=medium + + * linux: 5.0.0-8.9 -proposed tracker (LP: #1819759) + + * hisi_sas: add debugfs support (LP: #1819500) + - scsi: hisi_sas: Create root and device debugfs directories + - scsi: hisi_sas: Alloc debugfs snapshot buffer memory for all registers + - scsi: hisi_sas: Take debugfs snapshot for all regs + - scsi: hisi_sas: Debugfs global register create file and add file operations + - scsi: hisi_sas: Add debugfs for port registers + - scsi: hisi_sas: Add debugfs CQ file and add file operations + - scsi: hisi_sas: Add debugfs DQ file and add file operations + - scsi: hisi_sas: Add debugfs IOST file and add file operations + - scsi: hisi_sas: No need to check return value of debugfs_create functions + - scsi: hisi_sas: Fix type casting and missing static qualifier in debugfs + code + - scsi: hisi_sas: Add debugfs ITCT file and add file operations + + * [disco] hns driver updates from 5.1 merge window (LP: #1819535) + - net: hns: Use struct_size() in devm_kzalloc() + - net: hns3: modify enet reinitialization interface + - net: hns3: remove unused member in struct hns3_enet_ring + - net: hns3: remove unnecessary hns3_adjust_tqps_num + - net: hns3: reuse reinitialization interface in the hns3_set_channels + - net: hns3: add interface hclge_tm_bp_setup + - net: hns3: modify parameter checks in the hns3_set_channels + - net: hns3: remove redundant codes in hclge_knic_setup + - net: hns3: fix user configuration loss for ethtool -L + - net: hns3: adjust the use of alloc_tqps and num_tqps + - net: hns3: fix wrong combined count returned by ethtool -l + - net: hns3: do reinitialization while ETS configuration changed + - net: hns3: add HNAE3_RESTORE_CLIENT interface in enet module + - net: hns3: add calling roce callback function when link status change + - net: hns3: add rx multicast packets statistic + - net: hns3: refactor the statistics updating for netdev + - net: hns3: fix rss configuration lost problem when setting channel + - net: hns3: fix for shaper not setting when TC num changes + - net: hns3: fix bug of ethtool_ops.get_channels for VF + - net: hns3: clear param in ring when free ring + - net: hns3: Change fw error code NOT_EXEC to NOT_SUPPORTED + - net: hns3: do not return GE PFC setting err when initializing + - net: hns3: add ETS TC weight setting in SSU module + - net: hns3: add statistics for PFC frames and MAC control frames + - net: hns3: fix PFC not setting problem for DCB module + - net: hns3: don't update packet statistics for packets dropped by hardware + - net: hns3: clear pci private data when unload hns3 driver + - net: hns3: add error handling in hclge_ieee_setets + - net: hns3: fix return value handle issue for hclge_set_loopback() + - net: hns3: fix broadcast promisc issue for revision 0x20 + - net: hns3: After setting the loopback, add the status of getting MAC + - net: hns3: do reinitialization while mqprio configuration changed + - net: hns3: remove dcb_ops->map_update in hclge_dcb + - net: hns3: call hns3_nic_set_real_num_queue with netdev down + - net: hns3: add 8 BD limit for tx flow + - net: hns3: add initialization for nic state + - net: hns3: don't allow vf to enable promisc mode + - net: hns3: reuse the definition of l3 and l4 header info union + - net: hns3: fix VF dump register issue + - net: hns3: use the correct interface to stop|open port + - net: hns3: change hnae3_register_ae_dev() to int + - net: hns3: only support tc 0 for VF + - net: hns3: Fix NULL deref when unloading driver + - net: hns3: fix netif_napi_del() not do problem when unloading + - net: hns3: fix for rss result nonuniform + - net: hns3: fix improper error handling in the hclge_init_ae_dev() + - net: hns3: fix an issue for hclgevf_ae_get_hdev + - net: hns3: stop sending keep alive msg to PF when VF is resetting + - net: hns3: keep flow director state unchanged when reset + - net: hns3: Check for allocation failure + - net: hns3: fix a code style issue for hns3_update_new_int_gl() + - net: hns3: fix an issue for hns3_update_new_int_gl + - net: hns3: Modify parameter type from int to bool in set_gro_en + - net: hns3: code optimization for hclge_rx_buffer_calc + - net: hns3: add hclge_cmd_check_retval() to parse comman's return value + - net: hns3: move some set_bit statement into hclge_prepare_mac_addr + - net: hns3: fix a wrong checking in the hclge_tx_buffer_calc() + - net: hns3: fix the problem that the supported port is empty + - net: hns3: optimize the maximum TC macro + - net: hns3: don't allow user to change vlan filter state + - net: hns3: modify the upper limit judgment condition + - net: hns3: MAC table entry count function increases operation 0 value + protection measures + - net: hns3: make function hclge_set_all_vf_rst() static + - net: hns3: add pointer checking at the beginning of the exported functions. + - net: hns3: Check variable is valid before assigning it to another + - net: hns3: convert mac advertize and supported from u32 to link mode + - net: hns3: fix port info query issue for copper port + - net: hns3: modify print message of ssu common ecc errors + - net: hns3: some bugfix of ppu(rcb) ras errors + - net: hns3: enable 8~11th bit of mac common msi-x error + - net: hns3: fix 6th bit of ppp mpf abnormal errors + - net: hns3: Record VF unicast and multicast tables + - net: hns3: Record VF vlan tables + - net: hns3: uninitialize command queue while unloading PF driver + - net: hns3: clear command queue's registers when unloading VF driver + - net: hns3: add xps setting support for hns3 driver + - net: hns3: avoid mult + div op in critical data path + - net: hns3: limit some variable scope in critical data path + - net: hns3: remove some ops in struct hns3_nic_ops + - net: hns3: add unlikely for error handling in data path + - net: hns3: replace hnae3_set_bit and hnae3_set_field in data path + - net: hns3: remove hnae3_get_bit in data path + - net: hns3: add support to config depth for tx|rx ring separately + - net: hns3: enable VF VLAN filter for each VF when initializing + - net: hns3: fix get VF RSS issue + - net: hns3: fix setting of the hns reset_type for rdma hw errors + - net: hns3: fix improper error handling for hns3_client_start + - net: hns: use struct_size() in devm_kzalloc() + - net: hns3: Fix a logical vs bitwise typo + - net: hns3: add dma_rmb() for rx description + - net: hns3: fix to stop multiple HNS reset due to the AER changes + + * Build Nvidia drivers in conjunction with kernel (LP: #1764792) + - [Packaging] dkms-build -- support building against packages in PPAs + - [Packaging] dkms-build: do not redownload files on subsequent passes + - [Packaging] dkms-build -- elide partial Built-Using information + - [Packaging] dkms-build -- remove retpoline data from final binary packages + - [Packaging] dkms-build--nvidia* -- check gcc version against primary build + - [Packaging] dkms-build -- add support for unversioned overrides + - [Packaging] dkms-build--nvidia-* -- convert to generic -N form + - [Packaging] fix-filenames -- handle exact string removal + - [Packaging] dkms-build--nvidia-N -- remove GCC versions + + * Disco update: v5.0.1 upstream stable release (LP: #1819515) + - cpufreq: Use struct kobj_attribute instead of struct global_attr + - staging: erofs: fix mis-acted TAIL merging behavior + - binder: create node flag to request sender's security context + - USB: serial: option: add Telit ME910 ECM composition + - USB: serial: cp210x: add ID for Ingenico 3070 + - USB: serial: ftdi_sio: add ID for Hjelmslund Electronics USB485 + - driver core: Postpone DMA tear-down until after devres release + - staging: erofs: fix fast symlink w/o xattr when fs xattr is on + - staging: erofs: fix memleak of inode's shared xattr array + - staging: erofs: fix race of initializing xattrs of a inode at the same time + - staging: erofs: fix illegal address access under memory pressure + - staging: comedi: ni_660x: fix missing break in switch statement + - staging: wilc1000: fix to set correct value for 'vif_num' + - staging: android: ion: fix sys heap pool's gfp_flags + - staging: android: ashmem: Don't call fallocate() with ashmem_mutex held. + - staging: android: ashmem: Avoid range_alloc() allocation with ashmem_mutex + held. + - ip6mr: Do not call __IP6_INC_STATS() from preemptible context + - net: dsa: mv88e6xxx: add call to mv88e6xxx_ports_cmode_init to probe for new + DSA framework + - net: dsa: mv88e6xxx: handle unknown duplex modes gracefully in + mv88e6xxx_port_set_duplex + - net: dsa: mv8e6xxx: fix number of internal PHYs for 88E6x90 family + - net: mscc: Enable all ports in QSGMII + - net: sched: put back q.qlen into a single location + - net-sysfs: Fix mem leak in netdev_register_kobject + - qmi_wwan: Add support for Quectel EG12/EM12 + - sctp: call iov_iter_revert() after sending ABORT + - team: Free BPF filter when unregistering netdev + - tipc: fix RDM/DGRAM connect() regression + - x86/CPU/AMD: Set the CPB bit unconditionally on F17h + - x86/boot/compressed/64: Do not read legacy ROM on EFI system + - tracing: Fix event filters and triggers to handle negative numbers + - xhci: tegra: Prevent error pointer dereference + - usb: xhci: Fix for Enabling USB ROLE SWITCH QUIRK on + INTEL_SUNRISEPOINT_LP_XHCI + - applicom: Fix potential Spectre v1 vulnerabilities + - alpha: wire up io_pgetevents system call + - MIPS: irq: Allocate accurate order pages for irq stack + - aio: Fix locking in aio_poll() + - xtensa: fix get_wchan + - gnss: sirf: fix premature wakeup interrupt enable + - USB: serial: cp210x: fix GPIO in autosuspend + - Revert "selftests: firmware: add CONFIG_FW_LOADER_USER_HELPER_FALLBACK to + config" + - Revert "selftests: firmware: remove use of non-standard diff -Z option" + - selftests: firmware: fix verify_reqs() return value + - Bluetooth: btrtl: Restore old logic to assume firmware is already loaded + - Bluetooth: Fix locking in bt_accept_enqueue() for BH context + - Linux 5.0.1 + + * sky2 ethernet card doesn't work after returning from suspend + (LP: #1807259) // sky2 ethernet card link not up after suspend + (LP: #1809843) // Disco update: v5.0.1 upstream stable release + (LP: #1819515) + - sky2: Disable MSI on Dell Inspiron 1545 and Gateway P-79 + + * tls selftest failures/hangs on i386 (LP: #1813607) + - [Config] CONFIG_TLS=n for i386 + + * CVE-2019-8980 + - exec: Fix mem leak in kernel_read_file + + * Miscellaneous Ubuntu changes + - SAUCE: selftests: net: Use 'ipproto ipv6-icmp' to match ICMPv6 headers + - [Config] enable nvidia build + - [Config] update gcc version to 8.3 + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: selftests: pmtu: disable accept_dad for tests" + + -- Thadeu Lima de Souza Cascardo Tue, 12 Mar 2019 16:15:44 -0300 + +linux (5.0.0-7.8) disco; urgency=medium + + * linux: 5.0.0-7.8 -proposed tracker (LP: #1818519) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * unnecessary request_queue freeze (LP: #1815733) + - block: avoid setting nr_requests to current value + - block: avoid setting none scheduler if it's already none + + * Miscellaneous Ubuntu changes + - SAUCE: selftests: net: Don't fail test_vxlan_under_vrf on xfail + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.0 + + -- Seth Forshee Mon, 04 Mar 2019 08:46:10 -0600 + +linux (5.0.0-6.7) disco; urgency=medium + + * linux: 5.0.0-6.7 -proposed tracker (LP: #1817585) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - [Packaging] resync getabis + + * installer does not support iSCSI iBFT (LP: #1817321) + - d-i: add iscsi_ibft to scsi-modules + + * Silent "Unknown key" message when pressing keyboard backlight hotkey + (LP: #1817063) + - platform/x86: dell-wmi: Ignore new keyboard backlight change event + + * Fix I219 doesn't get woken up after plugging ethernet cable (LP: #1817058) + - e1000e: Disable runtime PM on CNP+ + + * efi/arm/arm64: Allow SetVirtualAddressMap() to be omitted (LP: #1814982) + - efi/arm/arm64: Allow SetVirtualAddressMap() to be omitted + + * CVE-2019-3460 + - Bluetooth: Check L2CAP option sizes returned from l2cap_get_conf_opt + + * CVE-2019-3459 + - Bluetooth: Verify that l2cap_get_conf_opt provides large enough buffer + + * kernel net tls selftest fails on 5.0 (LP: #1816716) + - SAUCE: Revert "selftests/tls: Add test for recv(PEEK) spanning across + multiple records" + + * Please enable CONFIG_DMA_CMA=y on arm64 (LP: #1803206) + - [Config] annotations -- enforce CONFIG_DMA_CMA and update notes + + * [19.04 FEAT] [LS1801] PCI Virtual function enablement (LP: #1814684) + - s390/pci: map IOV resources + - s390/pci: improve bar check + + * glibc 2.28-0ubuntu1 ADT test failure with linux 5.0.0-1.2 (LP: #1813060) + - SAUCE: prevent a glibc test failure when looking for obsolete types on + headers + + * Miscellaneous Ubuntu changes + - [Config] Enforce CONFIG_ZCRYPT_MULTIDEVNODES in annotations + - SAUCE: selftests: pmtu: disable accept_dad for tests + - SAUCE: arm64: add kernel config option to lock down when in Secure Boot mode + - SAUCE: selftests: net: Make test for VXLAN underlay in non-default VRF an + expected failure + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc8 + + -- Seth Forshee Mon, 25 Feb 2019 09:37:36 -0600 + +linux (5.0.0-5.6) disco; urgency=medium + + * [ALSA] [PATCH] System76 darp5 and oryp5 fixups (LP: #1815831) + - ALSA: hda/realtek - Headset microphone and internal speaker support for + System76 oryp5 + + * Miscellaneous Ubuntu changes + - [Config] Fix aufs menus in annotations file + - [Config] CONFIG_SAMPLE_TRACE_PRINTK=m + - [Config] Update annotations based on configs + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc7 + + -- Seth Forshee Mon, 18 Feb 2019 10:04:11 +0100 + +linux (5.0.0-4.5) disco; urgency=medium + + * linux-buildinfo: pull out ABI information into its own package + (LP: #1806380) + - [Packaging] autoreconstruct -- base tag is always primary mainline version + + * [Packaging] Allow overlay of config annotations (LP: #1752072) + - [Packaging] config-check: Add an include directive + + * Miscellaneous Ubuntu changes + - hio -- stub out BIOVEC_PHYS_MERGEABLE for 4.20+ + - hio -- replace use of do_gettimeofday() + - hio -- part_round_stats() removed in 5.0 + - hio -- device_add_disk() grew a 'groups' argument in 4.20 + - enable hio build + - Revert "UBUNTU: [Packaging] autoreconstruct -- base tag is always primary + mainline version" + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc6 + + -- Seth Forshee Tue, 12 Feb 2019 08:15:32 -0600 + +linux (5.0.0-3.4) disco; urgency=medium + + * CONFIG_TEST_BPF is disabled (LP: #1813955) + - [Config]: Reenable TEST_BPF + + * Ignore "incomplete report" from Elan touchpanels (LP: #1813733) + - HID: i2c-hid: Ignore input report if there's no data present on Elan + touchpanels + + * SecureBoot support for arm64 (LP: #1804481) + - Build signed kernels for arm64 + + * Miscellaneous Ubuntu changes + - SAUCE: selftests: net: fix "from" match test in fib_rule_tests.sh + - [Config] CONFIG_PCMCIA=n for arm64 and s390x + - [Config] CONFIG_SERIAL_SC16IS7XX=n for s390x + - [Config] disable I2C TPM drivers for s390x + - [Config] CONFIG_RAPIDIO=n for s390x + - [Config] CONFIG_DMADEVICES=n for s390x + - [Config] disable gpio drivers for s390x + - [Config] CONFIG_SENSORS_OCC_P8_I2C=m for ppc64el + - [Config] disable I2C hardware drivers for s390x + - [Config] CONFIG_I3C=n for s390x + - [Config] CONFIG_SERIO=n for s390x + - [Config] disable misc drivers for s390x + - [Config] disable EEPROM drivers for s390x + - [Config] disable MFD drivers for s390x + - [Config] CONFIG_NVMEM=n for s390x + - [Config] CONFIG_MLXSW_I2C=n for s390x + - [Config] CONFIG_NET_VENDOR_MICROCHIP=n for s390x + - [Config] CONFIG_PPP=n for s390x + - [Config] CONFIG_PCCARD=n for s390x + - [Config] CONFIG_PCI_MESON=y + - [Config] CONFIG_SCSI_MYRB=n for s390x + - [Config] CONFIG_REGULATOR=n for s390x + - [Config] CONFIG_ZIIRAVE_WATCHDOG=n for s390x + - [Config] CONFIG_NCSI_OEM_CMD_GET_MAC=y + - [Config] update annotations following config review + - [Packaging] remove handoff check for uefi signing + - [Packaging] decompress gzipped efi images in signing tarball + - vbox-update: allow leading whitespace when fixing up KERN_DIR + - ubuntu: vbox -- update to 6.0.4-dfsg-3 + - vbox: remove remount check in sf_read_super_aux() + - enable vbox build + - [Config] CONFIG_ANDROID_BINDER_DEVICES="" + - SAUCE: import aufs driver + - [Config]: Enable aufs + - [Config] relocate aufs annotations to menu + - [Config] remove unmatched configs from annotations + - [Config] fix up abi for removed modules + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) module: remove support for having IMA validate modules + - SAUCE: (efi-lockdown) Move EFI signature blob parser to shared location + - SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI Secure Boot + - SAUCE: (efi-lockdown) MODSIGN: Allow the "db" UEFI variable to be suppressed + - [Config] (efi-lockdown) enable importing of efi certificates for module sig + verification + + * Miscellaneous upstream changes + - binder: fix CONFIG_ANDROID_BINDER_DEVICES + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc5 + + -- Seth Forshee Tue, 05 Feb 2019 14:26:12 -0600 + +linux (5.0.0-2.3) disco; urgency=medium + + * kernel oops in bcache module (LP: #1793901) + - SAUCE: bcache: never writeback a discard operation + + * Enable sound card power saving by default (LP: #1804265) + - [Config] CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: SAUCE: selftests: disable some failing networking tests" + - SAUCE: ashmem: turn into module + - SAUCE: binder: turn into module + - SAUCE: binder: give binder_alloc its own debug mask file + - [Config] enable binder and ashmem as modules + - SAUCE: selftests: net: replace AF_MAX with INT_MAX in socket.c + - SAUCE: selftests/ftrace: Fix tab expansion in trace_marker snapshot trigger + test + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc4 + + -- Seth Forshee Tue, 29 Jan 2019 06:57:32 -0600 + +linux (5.0.0-1.2) disco; urgency=medium + + * Fix non-working QCA Rome Bluetooth after S3 (LP: #1812812) + - USB: Add new USB LPM helpers + - USB: Consolidate LPM checks to avoid enabling LPM twice + + * bluetooth controller not detected with 4.15 kernel (LP: #1810797) + - SAUCE: btqcomsmd: introduce BT_QCOMSMD_HACK + - [Config] arm64: snapdragon: BT_QCOMSMD_HACK=y + + * [19.04 FEAT| Enable virtio-gpu for s390x (LP: #1799467) + - [Config] enable virtio-gpu for s390x + + * Crash on "ip link add foo type ipip" (LP: #1811803) + - SAUCE: fan: Fix NULL pointer dereference + + * Fix not working Goodix touchpad (LP: #1811929) + - HID: i2c-hid: Disable runtime PM on Goodix touchpad + + * Miscellaneous Ubuntu changes + - update dkms package versions + - enable zfs build + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc3 + + -- Seth Forshee Tue, 22 Jan 2019 13:56:17 -0600 + +linux (5.0.0-0.1) disco; urgency=medium + + * Build Nvidia drivers in conjunction with kernel (LP: #1764792) + - [Packaging] dkms -- add per package post-process step + - [Packaging] dkms -- switch to a consistent build prefix length and strip + - [Packaging] nvidia -- build and sign nvidia packages and ship signatures + - [Packaging] nvidia -- make nvidia package version explicit + + * Add support for ALC3277 codec on new Dell edge gateways (LP: #1807334) + - [Config] CONFIG_SND_SOC_INTEL_KBL_RT5660_MACH=m + + * RTL8822BE WiFi Disabled in Kernel 4.18.0-12 (LP: #1806472) + - [Config] CONFIG_RTLWIFI_DEBUG_ST=n + + * Miscellaneous Ubuntu changes + - ubuntu -- disable vbox build + - ubuntu -- disable hio build + - Disable zfs build + - SAUCE: import aufs driver + - update dkms package versions + - [Config] disable aufs config options + - [Config] disable nvidia build + - update dropped.txt + - [Packaging] disable nvidia dkms builds for mainline + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the kernel is + locked down + - SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the kernel is locked + down + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Lock down module params that specify hardware + parameters (eg. ioport) + - SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the testmmiotrace module + - SAUCE: (efi-lockdown) Lock down /proc/kcore + - SAUCE: (efi-lockdown) Lock down kprobes + - SAUCE: (efi-lockdown) Lock down perf + - SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the kernel is locked + down + - SAUCE: (efi-lockdown) debugfs: avoid EPERM when no open file operation + defined + - SAUCE: (efi-lockdown) KEYS: Allow unrestricted boot-time addition of keys to + secondary keyring + - SAUCE: (efi-lockdown) Make get_cert_list() not complain about cert lists + that aren't present. + - SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err(). + - SAUCE: (efi-lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - [Config] set config options for efi lockdown + - Revert "UBUNTU: SAUCE: import aufs driver" + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc2 + + -- Seth Forshee Thu, 17 Jan 2019 12:31:29 -0600 + +linux (5.0.0-0.0) disco; urgency=medium + + * Dummy entry. + + -- Seth Forshee Wed, 16 Jan 2019 14:48:05 -0600 + +linux (4.20.0-2.3) disco; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v4.20 + + -- Seth Forshee Thu, 03 Jan 2019 12:11:43 -0600 + +linux (4.20.0-1.2) disco; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * Power leakage at S5 with Qualcomm Atheros QCA9377 802.11ac Wireless Network + Adapter (LP: #1805607) + - SAUCE: ath10k: provide reset function for QCA9377 chip + + * zfs/spl build in conjunction with the kernel from DKMS source (LP: #1807378) + - [Packaging] dkms -- dkms package build packaging support + - [Packaging] dkms -- save build objects artifacts for validation + - [Packaging] dkms -- add general Built-Using: support + - [Packaging] simplify Provides comma handling + - [Packaging] zfs/spl -- remove packaging support for incorporated source + - [Packaging] zfs/spl -- remove incorporated source + - [Packaging] zfs/spl -- build via dkms + - [Packaging] zfs/spl -- make zfs package version explicit + - [Packaging] update-version-dkms -- sync archive versions to package + + * Miscellaneous Ubuntu changes + - [Packaging] update-version-dkms -- fix getting distrbution from changelog + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v4.20-rc6 + + -- Seth Forshee Tue, 11 Dec 2018 11:33:08 -0600 + +linux (4.20.0-0.1) disco; urgency=medium + + * Overlayfs in user namespace leaks directory content of inaccessible + directories (LP: #1793458) // CVE-2018-6559 + - Revert "ovl: relax permission checking on underlying layers" + - SAUCE: overlayfs: ensure mounter privileges when reading directories + + * Miscellaneous Ubuntu changes + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the kernel is + locked down + - SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the kernel is locked + down + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Lock down module params that specify hardware + parameters (eg. ioport) + - SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the testmmiotrace module + - SAUCE: (efi-lockdown) Lock down /proc/kcore + - SAUCE: (efi-lockdown) Lock down kprobes + - SAUCE: (efi-lockdown) Lock down perf + - SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the kernel is locked + down + - SAUCE: (efi-lockdown) KEYS: Allow unrestricted boot-time addition of keys to + secondary keyring + - SAUCE: (efi-lockdown) efi: Add EFI signature data types + - SAUCE: (efi-lockdown) efi: Add an EFI signature blob parser + - SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI Secure Boot + - SAUCE: (efi-lockdown) MODSIGN: Allow the "db" UEFI variable to be suppressed + - SAUCE: (efi-lockdown) Make get_cert_list() not complain about cert lists + that aren't present. + - SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err(). + - SAUCE: (efi-lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) Fix for module sig verification + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: Import aufs driver + - ubuntu: vbox -- update to 5.2.22-dfsg-2 + - ubuntu -- disable vbox build + - ubuntu -- disable hio build + - Disable zfs build + + [ Upstream Kernel Changes ] + + * Rebase to v4.20-rc5 + + -- Seth Forshee Fri, 07 Dec 2018 07:13:42 -0600 + +linux (4.20.0-0.0) disco; urgency=medium + + * Dummy entry. + + -- Seth Forshee Thu, 06 Dec 2018 10:20:19 -0600 + +linux (4.19.0-8.9) disco; urgency=medium + + * linux: 4.19.0-8.9 -proposed tracker (LP: #1806952) + + * Workaround CSS timeout on AMD SNPS 3.0 xHC (LP: #1806838) + - xhci: workaround CSS timeout on AMD SNPS 3.0 xHC + + * Fix Intel I210 doesn't work when ethernet cable gets plugged (LP: #1806818) + - igb: Fix an issue that PME is not enabled during runtime suspend + + * The line-out on the Dell Dock station can't work (LP: #1806532) + - ALSA: usb-audio: Add vendor and product name for Dell WD19 Dock + + * CVE-2018-19407 + - KVM: X86: Fix scan ioapic use-before-initialization + + * PC SN720 NVMe WDC 256GB consumes more power in S2Idle than during long idle + (LP: #1805775) + - SAUCE: pci/nvme: prevent WDC PC SN720 NVMe from entering D3 and being + disabled + + * Disco update: 4.19.6 upstream stable release (LP: #1806909) + - HID: steam: remove input device when a hid client is running. + - efi/libstub: arm: support building with clang + - usb: core: Fix hub port connection events lost + - usb: dwc3: gadget: fix ISOC TRB type on unaligned transfers + - usb: dwc3: gadget: Properly check last unaligned/zero chain TRB + - usb: dwc3: core: Clean up ULPI device + - usb: dwc3: Fix NULL pointer exception in dwc3_pci_remove() + - xhci: Fix leaking USB3 shared_hcd at xhci removal + - xhci: handle port status events for removed USB3 hcd + - xhci: Add check for invalid byte size error when UAS devices are connected. + - usb: xhci: fix uninitialized completion when USB3 port got wrong status + - usb: xhci: fix timeout for transition from RExit to U0 + - xhci: Add quirk to workaround the errata seen on Cavium Thunder-X2 Soc + - usb: xhci: Prevent bus suspend if a port connect change or polling state is + detected + - ALSA: oss: Use kvzalloc() for local buffer allocations + - MAINTAINERS: Add Sasha as a stable branch maintainer + - Documentation/security-bugs: Clarify treatment of embargoed information + - Documentation/security-bugs: Postpone fix publication in exceptional cases + - mmc: sdhci-pci: Try "cd" for card-detect lookup before using NULL + - mmc: sdhci-pci: Workaround GLK firmware failing to restore the tuning value + - gpio: don't free unallocated ida on gpiochip_add_data_with_key() error path + - iwlwifi: fix wrong WGDS_WIFI_DATA_SIZE + - iwlwifi: mvm: support sta_statistics() even on older firmware + - iwlwifi: mvm: fix regulatory domain update when the firmware starts + - iwlwifi: mvm: don't use SAR Geo if basic SAR is not used + - brcmfmac: fix reporting support for 160 MHz channels + - opp: ti-opp-supply: Dynamically update u_volt_min + - opp: ti-opp-supply: Correct the supply in _get_optimal_vdd_voltage call + - tools/power/cpupower: fix compilation with STATIC=true + - v9fs_dir_readdir: fix double-free on p9stat_read error + - selinux: Add __GFP_NOWARN to allocation at str_read() + - Input: synaptics - avoid using uninitialized variable when probing + - bfs: add sanity check at bfs_fill_super() + - sctp: clear the transport of some out_chunk_list chunks in + sctp_assoc_rm_peer + - gfs2: Don't leave s_fs_info pointing to freed memory in init_sbd + - llc: do not use sk_eat_skb() + - mm: don't warn about large allocations for slab + - mm/memory.c: recheck page table entry with page table lock held + - tcp: do not release socket ownership in tcp_close() + - drm/fb-helper: Blacklist writeback when adding connectors to fbdev + - drm/amdgpu: Add missing firmware entry for HAINAN + - drm/vc4: Set ->legacy_cursor_update to false when doing non-async updates + - drm/amdgpu: Fix oops when pp_funcs->switch_power_profile is unset + - drm/i915: Disable LP3 watermarks on all SNB machines + - drm/ast: change resolution may cause screen blurred + - drm/ast: fixed cursor may disappear sometimes + - drm/ast: Remove existing framebuffers before loading driver + - can: flexcan: Unlock the MB unconditionally + - can: dev: can_get_echo_skb(): factor out non sending code to + __can_get_echo_skb() + - can: dev: __can_get_echo_skb(): replace struct can_frame by canfd_frame to + access frame length + - can: dev: __can_get_echo_skb(): Don't crash the kernel if can_priv::echo_skb + is accessed out of bounds + - can: dev: __can_get_echo_skb(): print error message, if trying to echo non + existing skb + - can: rx-offload: introduce can_rx_offload_get_echo_skb() and + can_rx_offload_queue_sorted() functions + - can: rx-offload: rename can_rx_offload_irq_queue_err_skb() to + can_rx_offload_queue_tail() + - can: flexcan: use can_rx_offload_queue_sorted() for flexcan_irq_bus_*() + - can: flexcan: handle tx-complete CAN frames via rx-offload infrastructure + - can: raw: check for CAN FD capable netdev in raw_sendmsg() + - can: hi311x: Use level-triggered interrupt + - can: flexcan: Always use last mailbox for TX + - can: flexcan: remove not needed struct flexcan_priv::tx_mb and struct + flexcan_priv::tx_mb_idx + - ACPICA: AML interpreter: add region addresses in global list during + initialization + - IB/hfi1: Eliminate races in the SDMA send error path + - fsnotify: generalize handling of extra event flags + - fanotify: fix handling of events on child sub-directory + - pinctrl: meson: fix pinconf bias disable + - pinctrl: meson: fix gxbb ao pull register bits + - pinctrl: meson: fix gxl ao pull register bits + - pinctrl: meson: fix meson8 ao pull register bits + - pinctrl: meson: fix meson8b ao pull register bits + - tools/testing/nvdimm: Fix the array size for dimm devices. + - scsi: lpfc: fix remoteport access + - scsi: hisi_sas: Remove set but not used variable 'dq_list' + - KVM: PPC: Move and undef TRACE_INCLUDE_PATH/FILE + - cpufreq: imx6q: add return value check for voltage scale + - rtc: cmos: Do not export alarm rtc_ops when we do not support alarms + - rtc: pcf2127: fix a kmemleak caused in pcf2127_i2c_gather_write + - crypto: simd - correctly take reqsize of wrapped skcipher into account + - floppy: fix race condition in __floppy_read_block_0() + - powerpc/io: Fix the IO workarounds code to work with Radix + - sched/fair: Fix cpu_util_wake() for 'execl' type workloads + - perf/x86/intel/uncore: Add more IMC PCI IDs for KabyLake and CoffeeLake CPUs + - block: copy ioprio in __bio_clone_fast() and bounce + - SUNRPC: Fix a bogus get/put in generic_key_to_expire() + - riscv: add missing vdso_install target + - RISC-V: Silence some module warnings on 32-bit + - drm/amdgpu: fix bug with IH ring setup + - kdb: Use strscpy with destination buffer size + - NFSv4: Fix an Oops during delegation callbacks + - powerpc/numa: Suppress "VPHN is not supported" messages + - efi/arm: Revert deferred unmap of early memmap mapping + - z3fold: fix possible reclaim races + - mm, memory_hotplug: check zone_movable in has_unmovable_pages + - tmpfs: make lseek(SEEK_DATA/SEK_HOLE) return ENXIO with a negative offset + - mm, page_alloc: check for max order in hot path + - dax: Avoid losing wakeup in dax_lock_mapping_entry + - include/linux/pfn_t.h: force '~' to be parsed as an unary operator + - tty: wipe buffer. + - tty: wipe buffer if not echoing data + - gfs2: Fix iomap buffer head reference counting bug + - rcu: Make need_resched() respond to urgent RCU-QS needs + - media: ov5640: Re-work MIPI startup sequence + - media: ov5640: Fix timings setup code + - media: ov5640: fix exposure regression + - media: ov5640: fix auto gain & exposure when changing mode + - media: ov5640: fix wrong binning value in exposure calculation + - media: ov5640: fix auto controls values when switching to manual mode + - Linux 4.19.6 + + * linux-buildinfo: pull out ABI information into its own package + (LP: #1806380) + - [Packaging] limit preparation to linux-libc-dev in headers + - [Packaging] commonise debhelper invocation + - [Packaging] ABI -- accumulate abi information at the end of the build + - [Packaging] buildinfo -- add basic build information + - [Packaging] buildinfo -- add firmware information to the flavour ABI + - [Packaging] buildinfo -- add compiler information to the flavour ABI + - [Packaging] buildinfo -- add buildinfo support to getabis + - [Packaging] getabis -- handle all known package combinations + - [Packaging] getabis -- support parsing a simple version + + * linux packages should own /usr/lib/linux/triggers (LP: #1770256) + - [Packaging] own /usr/lib/linux/triggers + + * Miscellaneous upstream changes + - blk-mq: fix corruption with direct issue + + -- Seth Forshee Wed, 05 Dec 2018 09:18:30 -0600 + +linux (4.19.0-7.8) disco; urgency=medium + + * linux: 4.19.0-7.8 -proposed tracker (LP: #1805465) + + * Fix and issue that LG I2C touchscreen stops working after reboot + (LP: #1805085) + - HID: i2c-hid: Disable runtime PM for LG touchscreen + + * click/pop noise in the headphone on several lenovo laptops (LP: #1805079) // + click/pop noise in the headphone on several lenovo laptops (LP: #1805079) + - ALSA: hda/realtek - fix the pop noise on headphone for lenovo laptops + + * Regression: hinic performance degrades over time (LP: #1805248) + - Revert "net-next/hinic: add checksum offload and TSO support" + + * Disco update: 4.19.5 upstream stable release (LP: #1805461) + - drm/i915: Replace some PAGE_SIZE with I915_GTT_PAGE_SIZE + - cifs: don't dereference smb_file_target before null check + - cifs: fix return value for cifs_listxattr + - arm64: kprobe: make page to RO mode when allocate it + - block: brd: associate with queue until adding disk + - net: hns3: bugfix for rtnl_lock's range in the hclgevf_reset() + - net: hns3: bugfix for rtnl_lock's range in the hclge_reset() + - net: hns3: bugfix for handling mailbox while the command queue reinitialized + - net: hns3: bugfix for the initialization of command queue's spin lock + - ixgbe: fix MAC anti-spoofing filter after VFLR + - reiserfs: propagate errors from fill_with_dentries() properly + - hfs: prevent btree data loss on root split + - hfsplus: prevent btree data loss on root split + - perf unwind: Take pgoff into account when reporting elf to libdwfl + - um: Give start_idle_thread() a return code + - drm/edid: Add 6 bpc quirk for BOE panel. + - afs: Handle EIO from delivery function + - platform/x86: intel_telemetry: report debugfs failure + - clk: fixed-rate: fix of_node_get-put imbalance + - perf symbols: Set PLT entry/header sizes properly on Sparc + - fs/exofs: fix potential memory leak in mount option parsing + - clk: samsung: exynos5420: Enable PERIS clocks for suspend + - apparmor: Fix uninitialized value in aa_split_fqname + - x86/earlyprintk: Add a force option for pciserial device + - platform/x86: acerhdf: Add BIOS entry for Gateway LT31 v1.3307 + - clk: meson-axg: pcie: drop the mpll3 clock parent + - arm64: percpu: Initialize ret in the default case + - clk: meson: clk-pll: drop CLK_GET_RATE_NOCACHE where unnecessary + - clk: renesas: r9a06g032: Fix UART34567 clock rate + - clk: ti: fix OF child-node lookup + - serial: sh-sci: Fix receive on SCIFA/SCIFB variants with DMA + - netfilter: ipv6: fix oops when defragmenting locally generated fragments + - netfilter: bridge: define INT_MIN & INT_MAX in userspace + - s390/decompressor: add missing FORCE to build targets + - s390/vdso: add missing FORCE to build targets + - HID: i2c-hid: Add a small delay after sleep command for Raydium touchpanel + - Revert "HID: add NOGET quirk for Eaton Ellipse MAX UPS" + - HID: alps: allow incoming reports when only the trackstick is opened + - Revert "netfilter: nft_numgen: add map lookups for numgen random operations" + - netfilter: ipset: list:set: Decrease refcount synchronously on deletion and + replace + - netfilter: ipset: actually allow allowable CIDR 0 in hash:net,port,net + - netfilter: ipset: fix ip_set_list allocation failure + - s390/mm: fix mis-accounting of pgtable_bytes + - s390/mm: Fix ERROR: "__node_distance" undefined! + - bpf: fix bpf_prog_get_info_by_fd to return 0 func_lens for unpriv + - netfilter: ipset: Correct rcu_dereference() call in ip_set_put_comment() + - netfilter: xt_IDLETIMER: add sysfs filename checking routine + - netfilter: ipset: Fix calling ip_set() macro at dumping + - netfilter: nft_compat: ebtables 'nat' table is normal chain type + - s390/qeth: fix HiperSockets sniffer + - s390/qeth: unregister netdevice only when registered + - net: hns3: Fix for out-of-bounds access when setting pfc back pressure + - hwmon: (ibmpowernv) Remove bogus __init annotations + - ARM: dts: imx6sll: fix typo for fsl,imx6sll-i2c node + - ARM: dts: fsl: Fix improperly quoted stdout-path values + - Revert "drm/exynos/decon5433: implement frame counter" + - arm64: dts: renesas: r8a7795: add missing dma-names on hscif2 + - arm64: dts: renesas: condor: switch from EtherAVB to GEther + - xen/grant-table: Fix incorrect gnttab_dma_free_pages() pr_debug message + - clk: fixed-factor: fix of_node_get-put imbalance + - mtd: nand: Fix nanddev_pos_next_page() kernel-doc header + - lib/raid6: Fix arm64 test build + - drm/amd/display: Stop leaking planes + - block: Clear kernel memory before copying to user + - drm/amd/display: Drop reusing drm connector for MST + - drm/amd/amdgpu/dm: Fix dm_dp_create_fake_mst_encoder() + - s390/perf: Change CPUM_CF return code in event init function + - ceph: quota: fix null pointer dereference in quota check + - of/device: Really only set bus DMA mask when appropriate + - nvme: make sure ns head inherits underlying device limits + - i2c: omap: Enable for ARCH_K3 + - i2c: qcom-geni: Fix runtime PM mismatch with child devices + - sched/core: Take the hotplug lock in sched_init_smp() + - perf tools: Fix undefined symbol scnprintf in libperf-jvmti.so + - perf tools: Do not zero sample_id_all for group members + - ice: Fix dead device link issue with flow control + - ice: Fix the bytecount sent to netdev_tx_sent_queue + - ice: Change req_speeds to be u16 + - i40e: restore NETIF_F_GSO_IPXIP[46] to netdev features + - qed: Fix memory/entry leak in qed_init_sp_request() + - qed: Fix blocking/unlimited SPQ entries leak + - qed: Fix SPQ entries not returned to pool in error flows + - qed: Fix potential memory corruption + - net: stmmac: Fix RX packet size > 8191 + - net: aquantia: fix potential IOMMU fault after driver unbind + - net: aquantia: fixed enable unicast on 32 macvlan + - net: aquantia: invalid checksumm offload implementation + - kbuild: deb-pkg: fix too low build version number + - Revert "scripts/setlocalversion: git: Make -dirty check more robust" + - SUNRPC: drop pointless static qualifier in xdr_get_next_encode_buffer() + - x86/mm: Move LDT remap out of KASLR region on 5-level paging + - x86/ldt: Unmap PTEs for the slot before freeing LDT pages + - x86/ldt: Remove unused variable in map_ldt_struct() + - media: v4l: event: Add subscription to list before calling "add" operation + - MIPS: OCTEON: cavium_octeon_defconfig: re-enable OCTEON USB driver + - RISC-V: Fix raw_copy_{to,from}_user() + - uio: Fix an Oops on load + - ALSA: hda/realtek - Add quirk entry for HP Pavilion 15 + - ALSA: hda/ca0132 - Call pci_iounmap() instead of iounmap() + - can: kvaser_usb: Fix accessing freed memory in kvaser_usb_start_xmit() + - can: kvaser_usb: Fix potential uninitialized variable use + - usb: cdc-acm: add entry for Hiro (Conexant) modem + - USB: Wait for extra delay time after USB_PORT_FEAT_RESET for quirky hub + - usb: quirks: Add delay-init quirk for Corsair K70 LUX RGB + - misc: atmel-ssc: Fix section annotation on atmel_ssc_get_driver_data + - USB: misc: appledisplay: add 20" Apple Cinema Display + - gnss: serial: fix synchronous write timeout + - gnss: sirf: fix synchronous write timeout + - mtd: rawnand: atmel: fix OF child-node lookup + - drivers/misc/sgi-gru: fix Spectre v1 vulnerability + - ACPI / platform: Add SMB0001 HID to forbidden_id_list + - HID: uhid: forbid UHID_CREATE under KERNEL_DS or elevated privileges + - HID: Add quirk for Primax PIXART OEM mice + - HID: Add quirk for Microsoft PIXART OEM mouse + - libceph: fall back to sendmsg for slab pages + - mt76x0: run vco calibration for each channel configuration + - Linux 4.19.5 + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: Build signed kernels for arm64" + + -- Seth Forshee Tue, 27 Nov 2018 10:38:34 -0600 + +linux (4.19.0-6.7) disco; urgency=medium + + * linux: 4.19.0-6.7 -proposed tracker (LP: #1805195) + + * SecureBoot support for arm64 (LP: #1804481) + - Build signed kernels for arm64 + + * Add pointstick support for Cirque Touchpad (LP: #1805081) + - HID: multitouch: Add pointstick support for Cirque Touchpad + + * Power consumption during s2idle is higher than long idle (Intel SSDPEKKF) + (LP: #1804588) + - SAUCE: pci: prevent Intel NVMe SSDPEKKF from entering D3 + - SAUCE: nvme: add quirk to not call disable function when suspending + + * Disco update: 4.19.4 upstream stable release (LP: #1805159) + - flow_dissector: do not dissect l4 ports for fragments + - ibmvnic: fix accelerated VLAN handling + - ip_tunnel: don't force DF when MTU is locked + - ipv6: fix a dst leak when removing its exception + - ipv6: Fix PMTU updates for UDP/raw sockets in presence of VRF + - net: bcmgenet: protect stop from timeout + - net-gro: reset skb->pkt_type in napi_reuse_skb() + - sctp: not allow to set asoc prsctp_enable by sockopt + - tcp: Fix SOF_TIMESTAMPING_RX_HARDWARE to use the latest timestamp during TCP + coalescing + - tg3: Add PHY reset for 5717/5719/5720 in change ring and flow control paths + - tipc: don't assume linear buffer when reading ancillary data + - tipc: fix lockdep warning when reinitilaizing sockets + - tuntap: fix multiqueue rx + - net: systemport: Protect stop from timeout + - net/sched: act_pedit: fix memory leak when IDR allocation fails + - net: sched: cls_flower: validate nested enc_opts_policy to avoid warning + - tipc: fix link re-establish failure + - net/mlx5e: Don't match on vlan non-existence if ethertype is wildcarded + - net/mlx5e: Claim TC hw offloads support only under a proper build config + - net/mlx5e: Adjust to max number of channles when re-attaching + - net/mlx5e: RX, verify received packet size in Linear Striding RQ + - Revert "sctp: remove sctp_transport_pmtu_check" + - net/mlx5e: Always use the match level enum when parsing TC rule match + - net/mlx5e: Fix selftest for small MTUs + - net/mlx5e: Removed unnecessary warnings in FEC caps query + - inet: frags: better deal with smp races + - l2tp: fix a sock refcnt leak in l2tp_tunnel_register + - net/mlx5: IPSec, Fix the SA context hash key + - net/mlx5e: IPoIB, Reset QP after channels are closed + - net: dsa: mv88e6xxx: Fix clearing of stats counters + - net: phy: realtek: fix RTL8201F sysfs name + - sctp: define SCTP_SS_DEFAULT for Stream schedulers + - net: qualcomm: rmnet: Fix incorrect assignment of real_dev + - net: dsa: microchip: initialize mutex before use + - sctp: fix strchange_flags name for Stream Change Event + - net: phy: mdio-gpio: Fix working over slow can_sleep GPIOs + - sctp: not increase stream's incnt before sending addstrm_in request + - mlxsw: spectrum: Fix IP2ME CPU policer configuration + - net: smsc95xx: Fix MTU range + - rxrpc: Fix lockup due to no error backoff after ack transmit error + - usbnet: smsc95xx: disable carrier check while suspending + - Revert "x86/speculation: Enable cross-hyperthread spectre v2 STIBP + mitigation" + - Linux 4.19.4 + + * Disco update: 4.19.3 upstream stable release (LP: #1805158) + - powerpc/traps: restore recoverability of machine_check interrupts + - powerpc/64/module: REL32 relocation range check + - powerpc/mm: Fix page table dump to work on Radix + - powerpc/mm: fix always true/false warning in slice.c + - drm/amd/display: fix bug of accessing invalid memory + - Input: wm97xx-ts - fix exit path + - powerpc/Makefile: Fix PPC_BOOK3S_64 ASFLAGS + - powerpc/eeh: Fix possible null deref in eeh_dump_dev_log() + - tty: check name length in tty_find_polling_driver() + - tracing/kprobes: Check the probe on unloaded module correctly + - drm/nouveau/secboot/acr: fix memory leak + - drm/amdgpu/powerplay: fix missing break in switch statements + - ARM: imx_v6_v7_defconfig: Select CONFIG_TMPFS_POSIX_ACL + - powerpc/nohash: fix undefined behaviour when testing page size support + - drm/msm/gpu: fix parameters in function msm_gpu_crashstate_capture + - drm/msm/disp/dpu: Use proper define for drm_encoder_init() 'encoder_type' + - drm/msm: dpu: Allow planes to extend past active display + - powerpc/mm: Don't report hugepage tables as memory leaks when using kmemleak + - drm/omap: fix memory barrier bug in DMM driver + - drm/amd/display: Raise dispclk value for dce120 by 15% + - drm/amd/display: fix gamma not being applied + - drm/hisilicon: hibmc: Do not carry error code in HiBMC framebuffer pointer + - media: pci: cx23885: handle adding to list failure + - media: coda: don't overwrite h.264 profile_idc on decoder instance + - MIPS: kexec: Mark CPU offline before disabling local IRQ + - powerpc/boot: Ensure _zimage_start is a weak symbol + - powerpc/memtrace: Remove memory in chunks + - MIPS/PCI: Call pcie_bus_configure_settings() to set MPS/MRRS + - staging: erofs: fix a missing endian conversion + - serial: 8250_of: Fix for lack of interrupt support + - sc16is7xx: Fix for multi-channel stall + - media: tvp5150: fix width alignment during set_selection() + - powerpc/selftests: Wait all threads to join + - staging:iio:ad7606: fix voltage scales + - drm: rcar-du: Update Gen3 output limitations + - drm/amdgpu: Fix SDMA TO after GPU reset v3 + - staging: most: video: fix registration of an empty comp core_component + - 9p locks: fix glock.client_id leak in do_lock + - udf: Prevent write-unsupported filesystem to be remounted read-write + - ARM: dts: imx6ull: keep IMX6UL_ prefix for signals on both i.MX6UL and + i.MX6ULL + - media: ov5640: fix mode change regression + - 9p: clear dangling pointers in p9stat_free + - drm/amdgpu: fix integer overflow test in amdgpu_bo_list_create() + - media: ov5640: fix restore of last mode set + - cdrom: fix improper type cast, which can leat to information leak. + - ovl: fix error handling in ovl_verify_set_fh() + - ovl: fix recursive oi->lock in ovl_link() + - ovl: check whiteout in ovl_create_over_whiteout() + - ovl: automatically enable redirect_dir on metacopy=on + - serial: sh-sci: Fix could not remove dev_attr_rx_fifo_timeout + - scsi: qla2xxx: Fix incorrect port speed being set for FC adapters + - scsi: qla2xxx: Fix process response queue for ISP26XX and above + - scsi: qla2xxx: Remove stale debug trace message from tcm_qla2xxx + - scsi: qla2xxx: Fix early srb free on abort + - scsi: qla2xxx: shutdown chip if reset fail + - scsi: qla2xxx: Reject bsg request if chip is down. + - scsi: qla2xxx: Fix re-using LoopID when handle is in use + - scsi: qla2xxx: Fix for double free of SRB structure + - scsi: qla2xxx: Fix NVMe session hang on unload + - scsi: qla2xxx: Fix NVMe Target discovery + - scsi: qla2xxx: Fix duplicate switch database entries + - scsi: qla2xxx: Fix driver hang when FC-NVMe LUNs are configured + - vfs: fix FIGETBSZ ioctl on an overlayfs file + - fuse: Fix use-after-free in fuse_dev_do_read() + - fuse: Fix use-after-free in fuse_dev_do_write() + - fuse: fix blocked_waitq wakeup + - fuse: set FR_SENT while locked + - drm/msm: fix OF child-node lookup + - arm64: dts: stratix10: Support Ethernet Jumbo frame + - arm64: dts: stratix10: fix multicast filtering + - clk: meson-gxbb: set fclk_div3 as CLK_IS_CRITICAL + - clk: meson: axg: mark fdiv2 and fdiv3 as critical + - zram: close udev startup race condition as default groups + - MIPS: Loongson-3: Fix CPU UART irq delivery problem + - MIPS: Loongson-3: Fix BRIDGE irq delivery problem + - xtensa: add NOTES section to the linker script + - xtensa: make sure bFLT stack is 16 byte aligned + - xtensa: fix boot parameters address translation + - um: Drop own definition of PTRACE_SYSEMU/_SINGLESTEP + - clk: s2mps11: Fix matching when built as module and DT node contains + compatible + - clk: at91: Fix division by zero in PLL recalc_rate() + - clk: sunxi-ng: h6: fix bus clocks' divider position + - clk: rockchip: fix wrong mmc sample phase shift for rk3328 + - clk: rockchip: Fix static checker warning in rockchip_ddrclk_get_parent call + - libceph: bump CEPH_MSG_MAX_DATA_LEN + - Revert "ceph: fix dentry leak in splice_dentry()" + - thermal: core: Fix use-after-free in thermal_cooling_device_destroy_sysfs + - mach64: fix display corruption on big endian machines + - mach64: fix image corruption due to reading accelerator registers + - acpi/nfit, x86/mce: Handle only uncorrectable machine checks + - acpi/nfit, x86/mce: Validate a MCE's address before using it + - acpi, nfit: Fix ARS overflow continuation + - reset: hisilicon: fix potential NULL pointer dereference + - crypto: hisilicon - Fix NULL dereference for same dst and src + - crypto: hisilicon - Fix reference after free of memories on error path + - vhost/scsi: truncate T10 PI iov_iter to prot_bytes + - scsi: qla2xxx: Initialize port speed to avoid setting lower speed + - SCSI: fix queue cleanup race before queue initialization is done + - Revert "powerpc/8xx: Use L1 entry APG to handle _PAGE_ACCESSED for + CONFIG_SWAP" + - soc: ti: QMSS: Fix usage of irq_set_affinity_hint + - ocfs2: fix a misuse a of brelse after failing ocfs2_check_dir_entry + - ocfs2: free up write context when direct IO failed + - mm: thp: relax __GFP_THISNODE for MADV_HUGEPAGE mappings + - memory_hotplug: cond_resched in __remove_pages + - netfilter: conntrack: fix calculation of next bucket number in early_drop + - ARM: 8809/1: proc-v7: fix Thumb annotation of cpu_v7_hvc_switch_mm + - bonding/802.3ad: fix link_failure_count tracking + - mtd: spi-nor: cadence-quadspi: Return error code in + cqspi_direct_read_execute() + - mtd: nand: Fix nanddev_neraseblocks() + - mtd: docg3: don't set conflicting BCH_CONST_PARAMS option + - hwmon: (core) Fix double-free in __hwmon_device_register() + - perf cs-etm: Correct CPU mode for samples + - perf stat: Handle different PMU names with common prefix + - perf callchain: Honour the ordering of PERF_CONTEXT_{USER,KERNEL,etc} + - perf intel-pt/bts: Calculate cpumode for synthesized samples + - perf intel-pt: Insert callchain context into synthesized callchains + - of, numa: Validate some distance map rules + - x86/cpu/vmware: Do not trace vmware_sched_clock() + - x86/hyper-v: Enable PIT shutdown quirk + - termios, tty/tty_baudrate.c: fix buffer overrun + - arch/alpha, termios: implement BOTHER, IBSHIFT and termios2 + - watchdog/core: Add missing prototypes for weak functions + - btrfs: fix pinned underflow after transaction aborted + - Btrfs: fix missing data checksums after a ranged fsync (msync) + - Btrfs: fix cur_offset in the error case for nocow + - Btrfs: fix infinite loop on inode eviction after deduplication of eof block + - Btrfs: fix data corruption due to cloning of eof block + - btrfs: tree-checker: Fix misleading group system information + - clockevents/drivers/i8253: Add support for PIT shutdown quirk + - ext4: add missing brelse() update_backups()'s error path + - ext4: add missing brelse() in set_flexbg_block_bitmap()'s error path + - ext4: add missing brelse() add_new_gdb_meta_bg()'s error path + - ext4: avoid potential extra brelse in setup_new_flex_group_blocks() + - ext4: missing !bh check in ext4_xattr_inode_write() + - ext4: fix possible inode leak in the retry loop of ext4_resize_fs() + - ext4: avoid buffer leak on shutdown in ext4_mark_iloc_dirty() + - ext4: avoid buffer leak in ext4_orphan_add() after prior errors + - ext4: fix missing cleanup if ext4_alloc_flex_bg_array() fails while resizing + - ext4: avoid possible double brelse() in add_new_gdb() on error path + - ext4: fix possible leak of sbi->s_group_desc_leak in error path + - ext4: fix possible leak of s_journal_flag_rwsem in error path + - ext4: fix buffer leak in ext4_xattr_get_block() on error path + - ext4: release bs.bh before re-using in ext4_xattr_block_find() + - ext4: fix buffer leak in ext4_xattr_move_to_block() on error path + - ext4: fix buffer leak in ext4_expand_extra_isize_ea() on error path + - ext4: fix buffer leak in __ext4_read_dirblock() on error path + - mount: Prevent MNT_DETACH from disconnecting locked mounts + - mnt: fix __detach_mounts infinite loop + - uapi: fix linux/kfd_ioctl.h userspace compilation errors + - ARM: cpuidle: Don't register the driver when back-end init returns -ENXIO + - kdb: use correct pointer when 'btc' calls 'btt' + - kdb: print real address of pointers instead of hashed addresses + - sunrpc: correct the computation for page_ptr when truncating + - NFSv4: Don't exit the state manager without clearing + NFS4CLNT_MANAGER_RUNNING + - nfsd: COPY and CLONE operations require the saved filehandle to be set + - rtc: hctosys: Add missing range error reporting + - fuse: fix use-after-free in fuse_direct_IO() + - fuse: fix leaked notify reply + - fuse: fix possibly missed wake-up after abort + - selinux: check length properly in SCTP bind hook + - gfs2: Put bitmap buffers in put_super + - gfs2: Fix metadata read-ahead during truncate (2) + - libata: blacklist SAMSUNG MZ7TD256HAFV-000L9 SSD + - crypto: user - fix leaking uninitialized memory to userspace + - lib/ubsan.c: don't mark __ubsan_handle_builtin_unreachable as noreturn + - hugetlbfs: fix kernel BUG at fs/hugetlbfs/inode.c:444! + - mm/swapfile.c: use kvzalloc for swap_info_struct allocation + - efi/arm/libstub: Pack FDT after populating it + - mm: don't reclaim inodes with many attached pages + - scripts/spdxcheck.py: make python3 compliant + - drm/rockchip: Allow driver to be shutdown on reboot/kexec + - drm/amdgpu: Fix typo in amdgpu_vmid_mgr_init + - drm/amdgpu: add missing CHIP_HAINAN in amdgpu_ucode_get_load_type + - drm/amdgpu: Suppress keypresses from ACPI_VIDEO events + - drm/nouveau: Check backlight IDs are >= 0, not > 0 + - drm/nouveau: Fix nv50_mstc->best_encoder() + - drm/amd/powerplay: Enable/Disable NBPSTATE on On/OFF of UVD + - drm/etnaviv: fix bogus fence complete check in timeout handler + - drm/dp_mst: Check if primary mstb is null + - drm: panel-orientation-quirks: Add quirk for Acer One 10 (S1003) + - drm/i915/dp: Link train Fallback on eDP only if fallback link BW can fit + panel's native mode + - drm/i915: Use the correct crtc when sanitizing plane mapping + - drm/i915: Restore vblank interrupts earlier + - drm/i915: Don't unset intel_connector->mst_port + - drm/i915: Skip vcpi allocation for MSTB ports that are gone + - drm/i915: Large page offsets for pread/pwrite + - drm/i915/dp: Fix link retraining comment in intel_dp_long_pulse() + - drm/i915/dp: Restrict link retrain workaround to external monitors + - drm/i915/icl: Fix the macros for DFLEXDPMLE register bits + - drm/i915/hdmi: Add HDMI 2.0 audio clock recovery N values + - drm/i915: Mark up GTT sizes as u64 + - drm/i915: Fix error handling for the NV12 fb dimensions check + - drm/i915: Fix ilk+ watermarks when disabling pipes + - drm/i915: Compare user's 64b GTT offset even on 32b + - drm/i915: Don't oops during modeset shutdown after lpe audio deinit + - drm/i915: Mark pin flags as u64 + - drm/i915/ringbuffer: Delay after EMIT_INVALIDATE for gen4/gen5 + - drm/i915/execlists: Force write serialisation into context image vs + execution + - drm/i915: Fix possible race in intel_dp_add_mst_connector() + - drm/i915: Fix NULL deref when re-enabling HPD IRQs on systems with MST + - drm/i915: Fix hpd handling for pins with two encoders + - CONFIG_XEN_PV breaks xen_create_contiguous_region on ARM + - Revert "ACPICA: AML interpreter: add region addresses in global list during + initialization" + - Linux 4.19.3 + + * glibc 2.28-0ubuntu1 ADT test failure with linux 4.19.0-5.6 (LP: #1805154) + - SAUCE: Revert "x86: vdso: Use $LD instead of $CC to link" + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.7.12-1ubuntu1, zfs to 0.7.12-1ubuntu1 + + -- Seth Forshee Mon, 26 Nov 2018 11:44:00 -0600 + +linux (4.19.0-5.6) disco; urgency=medium + + * crash in ENA driver on removing an interface (LP: #1802341) + - SAUCE: net: ena: fix crash during ena_remove() + + * Ubuntu 18.04.1 - [s390x] Kernel panic while stressing network bonding + (LP: #1797367) + - s390/qeth: sanitize strings in debug messages + + * Disco update: 4.19.2 upstream stable release (LP: #1803410) + - bpf: fix partial copy of map_ptr when dst is scalar + - MIPS: VDSO: Reduce VDSO_RANDOMIZE_SIZE to 64MB for 64bit + - gpio: mxs: Get rid of external API call + - mtd: rawnand: marvell: fix the IRQ handler complete() condition + - mtd: maps: gpio-addr-flash: Fix ioremapped size + - mtd: spi-nor: fsl-quadspi: fix read error for flash size larger than 16MB + - mtd: spi-nor: intel-spi: Add support for Intel Ice Lake SPI serial flash + - mtd: spi-nor: fsl-quadspi: Don't let -EINVAL on the bus + - spi: spi-mem: Adjust op len based on message/transfer size limitations + - spi: bcm-qspi: switch back to reading flash using smaller chunks + - spi: bcm-qspi: fix calculation of address length + - bcache: trace missed reading by cache_missed + - bcache: fix ioctl in flash device + - bcache: correct dirty data statistics + - bcache: fix miss key refill->end in writeback + - hwmon: (pmbus) Fix page count auto-detection. + - jffs2: free jffs2_sb_info through jffs2_kill_sb() + - block: setup bounce bio_sets properly + - block: make sure discard bio is aligned with logical block size + - block: make sure writesame bio is aligned with logical block size + - cpufreq: conservative: Take limits changes into account properly + - dma-mapping: fix panic caused by passing empty cma command line argument + - pcmcia: Implement CLKRUN protocol disabling for Ricoh bridges + - ACPI / OSL: Use 'jiffies' as the time bassis for acpi_os_get_timer() + - ACPICA: AML interpreter: add region addresses in global list during + initialization + - ACPICA: AML Parser: fix parse loop to correctly skip erroneous extended + opcodes + - acpi, nfit: Fix Address Range Scrub completion tracking + - kprobes/x86: Use preempt_enable() in optimized_callback() + - mailbox: PCC: handle parse error + - parisc: Fix address in HPMC IVA + - parisc: Fix map_pages() to not overwrite existing pte entries + - parisc: Fix exported address of os_hpmc handler + - ALSA: hda - Add quirk for ASUS G751 laptop + - ALSA: hda - Fix headphone pin config for ASUS G751 + - ALSA: hda - Add mic quirk for the Lenovo G50-30 (17aa:3905) + - ALSA: hda: Add 2 more models to the power_save blacklist + - ALSA: ca0106: Disable IZD on SB0570 DAC to fix audio pops + - ALSA: hda - Fix incorrect clearance of thinkpad_acpi hooks + - x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation + - x86/xen: Fix boot loader version reported for PVH guests + - x86/corruption-check: Fix panic in memory_corruption_check() when boot + option without value is provided + - x86/kvm/nVMX: allow bare VMXON state migration + - x86/mm/pat: Disable preemption around __flush_tlb_all() + - x86/numa_emulation: Fix uniform-split numa emulation + - ARM: dts: exynos: Disable pull control for MAX8997 interrupts on Origen + - net: socionext: Reset tx queue in ndo_stop + - net: loopback: clear skb->tstamp before netif_rx() + - locking/lockdep: Fix debug_locks off performance problem + - netfilter: xt_nat: fix DNAT target for shifted portmap ranges + - ataflop: fix error handling during setup + - swim: fix cleanup on setup error + - arm64: cpufeature: ctr: Fix cpu capability check for late CPUs + - hv_netvsc: fix vf serial matching with pci slot info + - nfp: devlink port split support for 1x100G CXP NIC + - tun: Consistently configure generic netdev params via rtnetlink + - s390/sthyi: Fix machine name validity indication + - hwmon: (pwm-fan) Set fan speed to 0 on suspend + - lightnvm: pblk: fix race on sysfs line state + - lightnvm: pblk: fix two sleep-in-atomic-context bugs + - lightnvm: pblk: fix race condition on metadata I/O + - spi: spi-ep93xx: Use dma_data_direction for ep93xx_spi_dma_{finish,prepare} + - perf tools: Free temporary 'sys' string in read_event_files() + - perf tools: Cleanup trace-event-info 'tdata' leak + - perf tools: Free 'printk' string in parse_ftrace_printk() + - perf strbuf: Match va_{add,copy} with va_end + - cpupower: Fix coredump on VMWare + - bcache: Populate writeback_rate_minimum attribute + - mmc: sdhci-pci-o2micro: Add quirk for O2 Micro dev 0x8620 rev 0x01 + - sdhci: acpi: add free_slot callback + - mtd: rawnand: denali: set SPARE_AREA_SKIP_BYTES register to 8 if unset + - iwlwifi: pcie: avoid empty free RB queue + - iwlwifi: mvm: clear HW_RESTART_REQUESTED when stopping the interface + - iwlwifi: mvm: check for n_profiles validity in EWRD ACPI + - x86/olpc: Indicate that legacy PC XO-1 platform should not register RTC + - wlcore: Fix BUG with clear completion on timeout + - ACPI/PPTT: Handle architecturally unknown cache types + - ACPI / PM: LPIT: Register sysfs attributes based on FADT + - ACPI / processor: Fix the return value of acpi_processor_ids_walk() + - cpufreq: dt: Try freeing static OPPs only if we have added them + - x86/intel_rdt: Show missing resctrl mount options + - mtd: rawnand: atmel: Fix potential NULL pointer dereference + - nvme: call nvme_complete_rq when nvmf_check_ready fails for mpath I/O + - ath10k: fix tx status flag setting for management frames + - signal: Introduce COMPAT_SIGMINSTKSZ for use in compat_sys_sigaltstack + - ice: fix changing of ring descriptor size (ethtool -G) + - ice: update fw version check logic + - net: hns3: Fix for packet buffer setting bug + - Bluetooth: btbcm: Add entry for BCM4335C0 UART bluetooth + - Bluetooth: hci_qca: Remove hdev dereference in qca_close(). + - x86: boot: Fix EFI stub alignment + - net: hns3: Add nic state check before calling netif_tx_wake_queue + - net: hns3: Fix ets validate issue + - pinctrl: sunxi: fix 'pctrl->functions' allocation in + sunxi_pinctrl_build_state + - pinctrl: qcom: spmi-mpp: Fix err handling of pmic_mpp_set_mux + - brcmfmac: fix for proper support of 160MHz bandwidth + - net: hns3: Check hdev state when getting link status + - net: hns3: Set STATE_DOWN bit of hdev state when stopping net + - net: phy: phylink: ensure the carrier is off when starting phylink + - block, bfq: correctly charge and reset entity service in all cases + - arm64: entry: Allow handling of undefined instructions from EL1 + - kprobes: Return error if we fail to reuse kprobe instead of BUG_ON() + - spi: gpio: No MISO does not imply no RX + - ACPI / LPSS: Add alternative ACPI HIDs for Cherry Trail DMA controllers + - pinctrl: qcom: spmi-mpp: Fix drive strength setting + - bpf/verifier: fix verifier instability + - failover: Add missing check to validate 'slave_dev' in + net_failover_slave_unregister + - perf tests: Fix record+probe_libc_inet_pton.sh without ping's debuginfo + - pinctrl: spmi-mpp: Fix pmic_mpp_config_get() to be compliant + - pinctrl: ssbi-gpio: Fix pm8xxx_pin_config_get() to be compliant + - net: hns3: Preserve vlan 0 in hardware table + - net: hns3: Fix ping exited problem when doing lp selftest + - net: hns3: Fix for vf vlan delete failed problem + - net: dsa: mv88e6xxx: Fix writing to a PHY page. + - mt76x2u: run device cleanup routine if resume fails + - rsi: fix memory alignment issue in ARM32 platforms + - libertas_tf: prevent underflow in process_cmdrequest() + - iwlwifi: mvm: fix BAR seq ctrl reporting + - gpio: brcmstb: allow 0 width GPIO banks + - ixgbe: disallow IPsec Tx offload when in SR-IOV mode + - ixgbevf: VF2VF TCP RSS + - wil6210: fix RX buffers release and unmap + - ath10k: schedule hardware restart if WMI command times out + - libata: Apply NOLPM quirk for SAMSUNG MZ7TD256HAFV-000L9 + - thermal: rcar_thermal: Prevent doing work after unbind + - thermal: da9062/61: Prevent hardware access during system suspend + - cifs: fix a credits leak for compund commands + - cgroup, netclassid: add a preemption point to write_classid + - net: stmmac: dwmac-sun8i: fix OF child-node lookup + - f2fs: fix to account IO correctly for cgroup writeback + - MD: Memory leak when flush bio size is zero + - md: fix memleak for mempool + - of: Add missing exports of node name compare functions + - scsi: esp_scsi: Track residual for PIO transfers + - scsi: ufs: Schedule clk gating work on correct queue + - UAPI: ndctl: Fix g++-unsupported initialisation in headers + - KVM: nVMX: Clear reserved bits of #DB exit qualification + - scsi: megaraid_sas: fix a missing-check bug + - RDMA/core: Do not expose unsupported counters + - RDMA/cm: Respect returned status of cm_init_av_by_path + - IB/ipoib: Clear IPCB before icmp_send + - RDMA/bnxt_re: Avoid accessing nq->bar_reg_iomem in failure case + - RDMA/bnxt_re: Fix recursive lock warning in debug kernel + - usb: host: ohci-at91: fix request of irq for optional gpio + - PCI: mediatek: Fix mtk_pcie_find_port() endpoint/port matching logic + - PCI: cadence: Use AXI region 0 to signal interrupts from EP + - usb: typec: tcpm: Report back negotiated PPS voltage and current + - tpm: suppress transmit cmd error logs when TPM 1.2 is disabled/deactivated + - f2fs: clear PageError on the read path + - Drivers: hv: vmbus: Use cpumask_var_t for on-stack cpu mask + - VMCI: Resource wildcard match fixed + - PCI / ACPI: Enable wake automatically for power managed bridges + - xprtrdma: Reset credit grant properly after a disconnect + - irqchip/pdc: Setup all edge interrupts as rising edge at GIC + - usb: dwc2: fix call to vbus supply exit routine, call it unlocked + - usb: dwc2: fix a race with external vbus supply + - usb: gadget: udc: atmel: handle at91sam9rl PMC + - ext4: fix argument checking in EXT4_IOC_MOVE_EXT + - MD: fix invalid stored role for a disk + - PCI: cadence: Correct probe behaviour when failing to get PHY + - nvmem: check the return value of nvmem_add_cells() + - xhci: Avoid USB autosuspend when resuming USB2 ports. + - scsi: qla2xxx: Fix recursive mailbox timeout + - f2fs: fix to recover inode's crtime during POR + - f2fs: fix to recover inode's i_flags during POR + - PCI/MSI: Warn and return error if driver enables MSI/MSI-X twice + - coresight: etb10: Fix handling of perf mode + - PCI: dwc: pci-dra7xx: Enable errata i870 for both EP and RC mode + - crypto: caam - fix implicit casts in endianness helpers + - usb: chipidea: Prevent unbalanced IRQ disable + - Smack: ptrace capability use fixes + - driver/dma/ioat: Call del_timer_sync() without holding prep_lock + - ASoC: AMD: Fix capture unstable in beginning for some runs + - firmware: coreboot: Unmap ioregion after device population + - IB/ipoib: Use dev_port to expose network interface port numbers + - IB/mlx5: Allow transition of DCI QP to reset + - uio: ensure class is registered before devices + - scsi: lpfc: Correct soft lockup when running mds diagnostics + - scsi: lpfc: Correct race with abort on completion path + - f2fs: avoid sleeping under spin_lock + - f2fs: report error if quota off error during umount + - signal: Always deliver the kernel's SIGKILL and SIGSTOP to a pid namespace + init + - f2fs: fix to flush all dirty inodes recovered in readonly fs + - mfd: menelaus: Fix possible race condition and leak + - dmaengine: dma-jz4780: Return error if not probed from DT + - IB/rxe: fix for duplicate request processing and ack psns + - ALSA: hda: Check the non-cached stream buffers more explicitly + - cpupower: Fix AMD Family 0x17 msr_pstate size + - Revert "f2fs: fix to clear PG_checked flag in set_page_dirty()" + - f2fs: fix missing up_read + - f2fs: fix to recover cold bit of inode block during POR + - f2fs: fix to account IO correctly + - OPP: Free OPP table properly on performance state irregularities + - ARM: dts: exynos: Convert exynos5250.dtsi to opp-v2 bindings + - ARM: dts: exynos: Mark 1 GHz CPU OPP as suspend OPP on Exynos5250 + - xen-swiotlb: use actually allocated size on check physical continuous + - tpm: Restore functionality to xen vtpm driver. + - xen/blkfront: avoid NULL blkfront_info dereference on device removal + - xen/balloon: Support xend-based toolstack + - xen: fix race in xen_qlock_wait() + - xen: make xen_qlock_wait() nestable + - xen/pvh: increase early stack size + - xen/pvh: don't try to unplug emulated devices + - libertas: don't set URB_ZERO_PACKET on IN USB transfer + - usbip:vudc: BUG kmalloc-2048 (Not tainted): Poison overwritten + - usb: typec: tcpm: Fix APDO PPS order checking to be based on voltage + - usb: gadget: udc: renesas_usb3: Fix b-device mode for "workaround" + - mt76: mt76x2: fix multi-interface beacon configuration + - iwlwifi: mvm: check return value of rs_rate_from_ucode_rate() + - net/ipv4: defensive cipso option parsing + - dmaengine: ppc4xx: fix off-by-one build failure + - scsi: sched/wait: Add wait_event_lock_irq_timeout for TASK_UNINTERRUPTIBLE + usage + - scsi: target: Fix target_wait_for_sess_cmds breakage with active signals + - libnvdimm: Hold reference on parent while scheduling async init + - libnvdimm, region: Fail badblocks listing for inactive regions + - libnvdimm, pmem: Fix badblocks population for 'raw' namespaces + - ASoC: intel: skylake: Add missing break in skl_tplg_get_token() + - ASoC: sta32x: set ->component pointer in private struct + - IB/mlx5: Fix MR cache initialization + - IB/rxe: Revise the ib_wr_opcode enum + - jbd2: fix use after free in jbd2_log_do_checkpoint() + - gfs2_meta: ->mount() can get NULL dev_name + - ext4: fix EXT4_IOC_SWAP_BOOT + - ext4: initialize retries variable in ext4_da_write_inline_data_begin() + - ext4: fix setattr project check in fssetxattr ioctl + - ext4: propagate error from dquot_initialize() in EXT4_IOC_FSSETXATTR + - ext4: fix use-after-free race in ext4_remount()'s error path + - selinux: fix mounting of cgroup2 under older policies + - HID: wacom: Work around HID descriptor bug in DTK-2451 and DTH-2452 + - HID: hiddev: fix potential Spectre v1 + - EDAC, amd64: Add Family 17h, models 10h-2fh support + - EDAC, {i7core,sb,skx}_edac: Fix uncorrected error counting + - EDAC, skx_edac: Fix logical channel intermediate decoding + - ARM: dts: dra7: Fix up unaligned access setting for PCIe EP + - PCI/ASPM: Fix link_state teardown on device removal + - PCI: Add Device IDs for Intel GPU "spurious interrupt" quirk + - signal/GenWQE: Fix sending of SIGKILL + - signal: Guard against negative signal numbers in copy_siginfo_from_user32 + - crypto: lrw - Fix out-of bounds access on counter overflow + - crypto: tcrypt - fix ghash-generic speed test + - crypto: aesni - don't use GFP_ATOMIC allocation if the request doesn't cross + a page in gcm + - crypto: morus/generic - fix for big endian systems + - crypto: aegis/generic - fix for big endian systems + - crypto: speck - remove Speck + - mm: /proc/pid/smaps_rollup: fix NULL pointer deref in smaps_pte_range() + - userfaultfd: disable irqs when taking the waitqueue lock + - ima: fix showing large 'violations' or 'runtime_measurements_count' + - ima: open a new file instance if no read permissions + - hugetlbfs: dirty pages as they are added to pagecache + - mm/rmap: map_pte() was not handling private ZONE_DEVICE page properly + - mm/hmm: fix race between hmm_mirror_unregister() and mmu_notifier callback + - KVM: arm/arm64: Ensure only THP is candidate for adjustment + - KVM: arm64: Fix caching of host MDCR_EL2 value + - kbuild: fix kernel/bounds.c 'W=1' warning + - iio: ad5064: Fix regulator handling + - iio: adc: imx25-gcq: Fix leak of device_node in mx25_gcq_setup_cfgs() + - iio: adc: at91: fix acking DRDY irq on simple conversions + - iio: adc: at91: fix wrong channel number in triggered buffer mode + - w1: omap-hdq: fix missing bus unregister at removal + - smb3: allow stats which track session and share reconnects to be reset + - smb3: do not attempt cifs operation in smb3 query info error path + - smb3: on kerberos mount if server doesn't specify auth type use krb5 + - printk: Fix panic caused by passing log_buf_len to command line + - genirq: Fix race on spurious interrupt detection + - tpm: fix response size validation in tpm_get_random() + - NFC: nfcmrvl_uart: fix OF child-node lookup + - NFSv4.1: Fix the r/wsize checking + - nfs: Fix a missed page unlock after pg_doio() + - nfsd: correctly decrement odstate refcount in error path + - nfsd: Fix an Oops in free_session() + - lockd: fix access beyond unterminated strings in prints + - dm ioctl: harden copy_params()'s copy_from_user() from malicious users + - dm zoned: fix metadata block ref counting + - dm zoned: fix various dmz_get_mblock() issues + - media: ov7670: make "xclk" clock optional + - fsnotify: Fix busy inodes during unmount + - powerpc64/module elfv1: Set opd addresses after module relocation + - powerpc/msi: Fix compile error on mpc83xx + - powerpc/tm: Fix HFSCR bit for no suspend case + - powerpc/64s/hash: Do not use PPC_INVALIDATE_ERAT on CPUs before POWER9 + - MIPS: OCTEON: fix out of bounds array access on CN68XX + - rtc: ds1307: fix ds1339 wakealarm support + - rtc: cmos: Fix non-ACPI undefined reference to `hpet_rtc_interrupt' + - rtc: cmos: Remove the `use_acpi_alarm' module parameter for !ACPI + - power: supply: twl4030-charger: fix OF sibling-node lookup + - ocxl: Fix access to the AFU Descriptor Data + - iommu/arm-smmu: Ensure that page-table updates are visible before TLBI + - TC: Set DMA masks for devices + - net: bcmgenet: fix OF child-node lookup + - media: v4l2-tpg: fix kernel oops when enabling HFLIP and OSD + - Revert "media: dvbsky: use just one mutex for serializing device R/W ops" + - kgdboc: Passing ekgdboc to command line causes panic + - remoteproc: qcom: q6v5: Propagate EPROBE_DEFER + - media: cec: make cec_get_edid_spa_location() an inline function + - media: cec: integrate cec_validate_phys_addr() in cec-api.c + - xen: fix xen_qlock_wait() + - xen: remove size limit of privcmd-buf mapping interface + - xen-blkfront: fix kernel panic with negotiate_mq error path + - media: cec: add new tx/rx status bits to detect aborts/timeouts + - media: cec: fix the Signal Free Time calculation + - media: cec: forgot to cancel delayed work + - media: em28xx: use a default format if TRY_FMT fails + - media: tvp5150: avoid going past array on v4l2_querymenu() + - media: em28xx: fix input name for Terratec AV 350 + - media: em28xx: make v4l2-compliance happier by starting sequence on zero + - media: em28xx: fix handler for vidioc_s_input() + - media: adv7604: when the EDID is cleared, unconfigure CEC as well + - media: adv7842: when the EDID is cleared, unconfigure CEC as well + - drm/mediatek: fix OF sibling-node lookup + - media: media colorspaces*.rst: rename AdobeRGB to opRGB + - media: replace ADOBERGB by OPRGB + - media: hdmi.h: rename ADOBE_RGB to OPRGB and ADOBE_YCC to OPYCC + - arm64: lse: remove -fcall-used-x0 flag + - rpmsg: smd: fix memory leak on channel create + - Cramfs: fix abad comparison when wrap-arounds occur + - ARM: dts: socfpga: Fix SDRAM node address for Arria10 + - arm64: dts: stratix10: Correct System Manager register size + - soc: qcom: rmtfs-mem: Validate that scm is available + - soc/tegra: pmc: Fix child-node lookup + - selftests/ftrace: Fix synthetic event test to delete event correctly + - selftests/powerpc: Fix ptrace tm failure + - tracing: Return -ENOENT if there is no target synthetic event + - btrfs: qgroup: Avoid calling qgroup functions if qgroup is not enabled + - btrfs: Handle owner mismatch gracefully when walking up tree + - btrfs: locking: Add extra check in btrfs_init_new_buffer() to avoid deadlock + - btrfs: fix error handling in free_log_tree + - btrfs: fix error handling in btrfs_dev_replace_start + - btrfs: Enhance btrfs_trim_fs function to handle error better + - btrfs: Ensure btrfs_trim_fs can trim the whole filesystem + - btrfs: iterate all devices during trim, instead of fs_devices::alloc_list + - btrfs: don't attempt to trim devices that don't support it + - btrfs: keep trim from interfering with transaction commits + - btrfs: wait on caching when putting the bg cache + - Btrfs: don't clean dirty pages during buffered writes + - btrfs: release metadata before running delayed refs + - btrfs: protect space cache inode alloc with GFP_NOFS + - btrfs: reset max_extent_size on clear in a bitmap + - btrfs: make sure we create all new block groups + - Btrfs: fix warning when replaying log after fsync of a tmpfile + - Btrfs: fix wrong dentries after fsync of file that got its parent replaced + - btrfs: qgroup: Dirty all qgroups before rescan + - Btrfs: fix null pointer dereference on compressed write path error + - Btrfs: fix assertion on fsync of regular file when using no-holes feature + - Btrfs: fix deadlock when writing out free space caches + - btrfs: reset max_extent_size properly + - btrfs: set max_extent_size properly + - btrfs: don't use ctl->free_space for max_extent_size + - btrfs: only free reserved extent if we didn't insert it + - btrfs: fix insert_reserved error handling + - btrfs: don't run delayed_iputs in commit + - btrfs: move the dio_sem higher up the callchain + - Btrfs: fix use-after-free during inode eviction + - Btrfs: fix use-after-free when dumping free space + - net: sched: Remove TCA_OPTIONS from policy + - vt: fix broken display when running aptitude + - bpf: wait for running BPF programs when updating map-in-map + - vga_switcheroo: Fix missing gpu_bound call at audio client registration + - MD: fix invalid stored role for a disk - try2 + - Linux 4.19.2 + + * [FEAT] Guest-dedicated Crypto Adapters (LP: #1787405) + - KVM: s390: vsie: simulate VCPU SIE entry/exit + - KVM: s390: introduce and use KVM_REQ_VSIE_RESTART + - KVM: s390: refactor crypto initialization + - s390: vfio-ap: base implementation of VFIO AP device driver + - s390: vfio-ap: register matrix device with VFIO mdev framework + - s390: vfio-ap: sysfs interfaces to configure adapters + - s390: vfio-ap: sysfs interfaces to configure domains + - s390: vfio-ap: sysfs interfaces to configure control domains + - s390: vfio-ap: sysfs interface to view matrix mdev matrix + - KVM: s390: interface to clear CRYCB masks + - s390: vfio-ap: implement mediated device open callback + - s390: vfio-ap: implement VFIO_DEVICE_GET_INFO ioctl + - s390: vfio-ap: zeroize the AP queues + - s390: vfio-ap: implement VFIO_DEVICE_RESET ioctl + - KVM: s390: Clear Crypto Control Block when using vSIE + - KVM: s390: vsie: Do the CRYCB validation first + - KVM: s390: vsie: Make use of CRYCB FORMAT2 clear + - KVM: s390: vsie: Allow CRYCB FORMAT-2 + - KVM: s390: vsie: allow CRYCB FORMAT-1 + - KVM: s390: vsie: allow CRYCB FORMAT-0 + - KVM: s390: vsie: allow guest FORMAT-0 CRYCB on host FORMAT-1 + - KVM: s390: vsie: allow guest FORMAT-1 CRYCB on host FORMAT-2 + - KVM: s390: vsie: allow guest FORMAT-0 CRYCB on host FORMAT-2 + - KVM: s390: device attrs to enable/disable AP interpretation + - KVM: s390: CPU model support for AP virtualization + - s390: doc: detailed specifications for AP virtualization + - KVM: s390: fix locking for crypto setting error path + - KVM: s390: Tracing APCB changes + - s390: vfio-ap: setup APCB mask using KVM dedicated function + - [Config:] Enable CONFIG_S390_AP_IOMMU and set CONFIG_VFIO_AP to module. + + * Bypass of mount visibility through userns + mount propagation (LP: #1789161) + - mount: Retest MNT_LOCKED in do_umount + - mount: Don't allow copying MNT_UNBINDABLE|MNT_LOCKED mounts + + * CVE-2018-18955: nested user namespaces with more than five extents + incorrectly grant privileges over inode (LP: #1801924) // CVE-2018-18955 + - userns: also map extents in the reverse map to kernel IDs + + * kdump fail due to an IRQ storm (LP: #1797990) + - SAUCE: x86/PCI: Export find_cap() to be used in early PCI code + - SAUCE: x86/quirks: Add parameter to clear MSIs early on boot + - SAUCE: x86/quirks: Scan all busses for early PCI quirks + + * Disable LPM for Raydium Touchscreens (LP: #1802248) + - USB: quirks: Add no-lpm quirk for Raydium touchscreens + + * Power consumption during s2idle is higher than long idle(sk hynix) + (LP: #1801875) + - SAUCE: pci: prevent sk hynix nvme from entering D3 + - SAUCE: nvme: add quirk to not call disable function when suspending + + * Disco update: v4.19.1 upstream stable release (LP: #1801739) + - bridge: do not add port to router list when receives query with source + 0.0.0.0 + - ipv6/ndisc: Preserve IPv6 control buffer if protocol error handlers are + called + - net/mlx5e: fix csum adjustments caused by RXFCS + - net: sched: gred: pass the right attribute to gred_change_table_def() + - net: stmmac: Fix stmmac_mdio_reset() when building stmmac as modules + - net: udp: fix handling of CHECKSUM_COMPLETE packets + - Revert "net: simplify sock_poll_wait" + - rtnetlink: Disallow FDB configuration for non-Ethernet device + - vhost: Fix Spectre V1 vulnerability + - bonding: fix length of actor system + - openvswitch: Fix push/pop ethernet validation + - net/ipv6: Allow onlink routes to have a device mismatch if it is the default + route + - net/smc: fix smc_buf_unuse to use the lgr pointer + - mlxsw: spectrum_switchdev: Don't ignore deletions of learned MACs + - mlxsw: core: Fix devlink unregister flow + - net: drop skb on failure in ip_check_defrag() + - net: Properly unlink GRO packets on overflow. + - r8169: fix broken Wake-on-LAN from S5 (poweroff) + - Revert "be2net: remove desc field from be_eq_obj" + - sctp: check policy more carefully when getting pr status + - sparc64: Export __node_distance. + - sparc64: Make corrupted user stacks more debuggable. + - sparc64: Wire up compat getpeername and getsockname. + - net: bridge: remove ipv6 zero address check in mcast queries + - Linux 4.19.1 + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.7.11-1ubuntu1, zfs to 0.7.11-3ubuntu1 + - [Config] updateconfigs after 4.19.2 stable update + - [Config] Disable unneded options for s390 + - [Config] Update annotations for 4.19 + + -- Seth Forshee Thu, 15 Nov 2018 09:55:37 -0800 + +linux (4.19.0-4.5) disco; urgency=medium + + * Add checksum offload and TSO support for HiNIC adapters (LP: #1800664) + - net-next/hinic: add checksum offload and TSO support + + * [Bionic][Cosmic] Fix to ipmi to support vendor specific messages greater + than 255 bytes (LP: #1799794) + - ipmi:ssif: Add support for multi-part transmit messages > 2 parts + + * Packaging resync (LP: #1786013) + - [Package] add support for specifying the primary makefile + + * Update ENA driver to version 2.0.1K (LP: #1798182) + - net: ena: minor performance improvement + - net: ena: complete host info to match latest ENA spec + - net: ena: introduce Low Latency Queues data structures according to ENA spec + - net: ena: add functions for handling Low Latency Queues in ena_com + - net: ena: add functions for handling Low Latency Queues in ena_netdev + - net: ena: use CSUM_CHECKED device indication to report skb's checksum status + - net: ena: explicit casting and initialization, and clearer error handling + - net: ena: limit refill Rx threshold to 256 to avoid latency issues + - net: ena: change rx copybreak default to reduce kernel memory pressure + - net: ena: remove redundant parameter in ena_com_admin_init() + - net: ena: update driver version to 2.0.1 + - net: ena: fix indentations in ena_defs for better readability + - net: ena: Fix Kconfig dependency on X86 + - net: ena: enable Low Latency Queues + - net: ena: fix compilation error in xtensa architecture + + * [Bionic][Cosmic] ipmi: Fix timer race with module unload (LP: #1799281) + - ipmi: Fix timer race with module unload + + * Overlayfs in user namespace leaks directory content of inaccessible + directories (LP: #1793458) // CVE-2018-6559 + - SAUCE: overlayfs: ensure mounter privileges when reading directories + + * not able to unwind the stack from within __kernel_clock_gettime in the Linux + vDSO (LP: #1797963) + - powerpc/vdso: Correct call frame information + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Don't print secure boot state + from the efi stub" + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Make get_cert_list() use + efi_status_to_str() to print error messages." + - Revert "UBUNTU: SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err()." + - Revert "UBUNTU: SAUCE: (efi-lockdown) Make get_cert_list() not complain + about cert lists that aren't present." + - Revert "UBUNTU: SAUCE: (efi-lockdown) MODSIGN: Allow the "db" UEFI variable + to be suppressed" + - Revert "UBUNTU: SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI + Secure Boot" + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Add an EFI signature blob parser" + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Add EFI signature data types" + - Revert "UBUNTU: SAUCE: (efi-lockdown) KEYS: Allow unrestricted boot-time + addition of keys to secondary keyring" + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in + secure boot mode" + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to + indicate secure boot mode" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Copy secure_boot flag in boot params + across kexec reboot" + - Revert "UBUNTU: SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Lock down perf" + - Revert "UBUNTU: SAUCE: (efi-lockdown) bpf: Restrict kernel image access + functions when the kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Lock down kprobes" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Lock down /proc/kcore" + - Revert "UBUNTU: SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the + testmmiotrace module" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Lock down module params that specify + hardware parameters (eg. ioport)" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Lock down TIOCSSERIAL" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) acpi: Disable APEI error injection if + the kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) acpi: Disable ACPI table override if + the kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param + when the kernel has been locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) ACPI: Limit access to custom_method + when the kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) x86: Lock down IO port access when the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) PCI: Lock down BAR access when the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is + locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) hibernate: Disable when the kernel is + locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Enforce module signatures if the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Add a SysRq option to lift kernel + lockdown" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Add the ability to lock down access to + the running kernel image" + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the kernel is + locked down + - SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the kernel is locked + down + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Lock down module params that specify hardware + parameters (eg. ioport) + - SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the testmmiotrace module + - SAUCE: (efi-lockdown) Lock down /proc/kcore + - SAUCE: (efi-lockdown) Lock down kprobes + - SAUCE: (efi-lockdown) Lock down perf + - SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the kernel is locked + down + - SAUCE: (efi-lockdown) KEYS: Allow unrestricted boot-time addition of keys to + secondary keyring + - SAUCE: (efi-lockdown) efi: Add EFI signature data types + - SAUCE: (efi-lockdown) efi: Add an EFI signature blob parser + - SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI Secure Boot + - SAUCE: (efi-lockdown) MODSIGN: Allow the "db" UEFI variable to be suppressed + - SAUCE: (efi-lockdown) Make get_cert_list() not complain about cert lists + that aren't present. + - SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err(). + - SAUCE: (efi-lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) efi/x86: Call efi_parse_options() from efi_main() + - SAUCE: (efi-lockdown) Fix for module sig verification + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) module: remove support for having IMA validate modules + - [Packaging] generate Vcs-Git url from changelog + - [Config] CONFIG_SCSI_MQ_DEFAULT=y + + -- Seth Forshee Fri, 02 Nov 2018 14:22:55 -0500 + +linux (4.19.0-3.4) cosmic; urgency=medium + + * Support Edge Gateway's Bluetooth LED (LP: #1798332) + - SAUCE: Bluetooth: Support for LED on Edge Gateways + + * Support Edge Gateway's WIFI LED (LP: #1798330) + - SAUCE: mwifiex: Switch WiFi LED state according to the device status + + [ Upstream Kernel Changes ] + + * Rebase to v4.19 + + -- Seth Forshee Mon, 22 Oct 2018 09:13:39 -0500 + +linux (4.19.0-2.3) cosmic; urgency=medium + + * fscache: bad refcounting in fscache_op_complete leads to OOPS (LP: #1797314) + - SAUCE: fscache: Fix race in decrementing refcount of op->npages + + * Provide mode where all vCPUs on a core must be the same VM (LP: #1792957) + - KVM: PPC: Book3S HV: Provide mode where all vCPUs on a core must be the same + VM + + * The front MIC can't work on the Lenovo M715 (LP: #1797292) + - ALSA: hda/realtek - Fix the problem of the front MIC on the Lenovo M715 + + * arm64: snapdragon: WARNING: CPU: 0 PID: 1 at drivers/irqchip/irq-gic.c:1016 + gic_irq_domain_translate (LP: #1797143) + - SAUCE: arm64: dts: msm8916: camms: fix gic_irq_domain_translate warnings + + * Dell new AIO requires a new uart backlight driver (LP: #1727235) + - SAUCE: platform/x86: dell-uart-backlight: new backlight driver for DELL AIO + - updateconfigs for Dell UART backlight driver + + * Please make CONFIG_PWM_LPSS_PCI and CONFIG_PWM_LPSS_PLATFORM built in to + make brightness adjustment working on various BayTrail/CherryTrail-based + devices (LP: #1783964) + - [Config]: Make PWM_LPSS_* built-in + + * check and fix zkey required kernel modules locations in debs, udebs, and + initramfs (LP: #1794346) + - [Config] add s390 crypto modules to crypt-modules udeb + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_VBOXGUEST=n + - ubuntu: vbox -- update to 5.2.18-dfsg-2 + - ubuntu: enable vbox build + + [ Upstream Kernel Changes ] + + * Rebase to v4.19-rc8 + + -- Seth Forshee Mon, 15 Oct 2018 10:52:04 -0500 + +linux (4.19.0-1.2) cosmic; urgency=medium + + * Page leaking in cachefiles_read_backing_file while vmscan is active + (LP: #1793430) + - SAUCE: cachefiles: Page leaking in cachefiles_read_backing_file while vmscan + is active + + * SRU: Enable middle button of touchpad on ThinkPad P72 (LP: #1793463) + - Input: elantech - enable middle button of touchpad on ThinkPad P72 + + * Improvements to the kernel source package preparation (LP: #1793461) + - [Packaging] startnewrelease: add support for backport kernels + + * Fix unusable NVIDIA GPU after S3 (LP: #1793338) + - SAUCE: PCI: Reprogram bridge prefetch registers on resume + + * Error reported when creating ZFS pool with "-t" option, despite successful + pool creation (LP: #1769937) + - SAUCE: (noup) Update zfs to 0.7.9-3ubuntu6 + + * device hotplug of vfio devices can lead to deadlock in vfio_pci_release + (LP: #1792099) + - SAUCE: vfio -- release device lock before userspace requests + + * Miscellaneous Ubuntu changes + - [Packaging] retpoline -- fix temporary filenaming + - CONFIG_BCH_CONST_PARAMS=n + - Packaging: final-checks: remove trailing backport suffix + - SAUCE: import aufs driver + + [ Upstream Kernel Changes ] + + * Rebase to v4.19-rc5 + + -- Seth Forshee Tue, 25 Sep 2018 16:32:24 -0500 + +linux (4.19.0-0.1) cosmic; urgency=medium + + * Miscellaneous Ubuntu changes + - ubuntu -- disable vbox build + - Disable zfs build + - SAUCE: Import aufs driver + - Update dropped.txt + + [ Upstream Kernel Changes ] + + * Rebase to v4.19-rc3 + + -- Seth Forshee Thu, 13 Sep 2018 07:54:47 -0500 + +linux (4.19.0-0.0) cosmic; urgency=medium + + * Dummy entry. + + -- Seth Forshee Thu, 13 Sep 2018 06:44:09 -0500 + +linux (4.18.0-8.9) cosmic; urgency=medium + + * linux: 4.18.0-8.9 -proposed tracker (LP: #1791663) + + * Cosmic update to v4.18.7 stable release (LP: #1791660) + - rcu: Make expedited GPs handle CPU 0 being offline + - net: 6lowpan: fix reserved space for single frames + - net: mac802154: tx: expand tailroom if necessary + - 9p/net: Fix zero-copy path in the 9p virtio transport + - spi: davinci: fix a NULL pointer dereference + - spi: pxa2xx: Add support for Intel Ice Lake + - spi: spi-fsl-dspi: Fix imprecise abort on VF500 during probe + - spi: cadence: Change usleep_range() to udelay(), for atomic context + - mmc: block: Fix unsupported parallel dispatch of requests + - mmc: renesas_sdhi_internal_dmac: mask DMAC interrupts + - mmc: renesas_sdhi_internal_dmac: fix #define RST_RESERVED_BITS + - readahead: stricter check for bdi io_pages + - block: fix infinite loop if the device loses discard capability + - block: blk_init_allocated_queue() set q->fq as NULL in the fail case + - block: really disable runtime-pm for blk-mq + - blkcg: Introduce blkg_root_lookup() + - block: Introduce blk_exit_queue() + - block: Ensure that a request queue is dissociated from the cgroup controller + - apparmor: fix bad debug check in apparmor_secid_to_secctx() + - dma-buf: Move BUG_ON from _add_shared_fence to _add_shared_inplace + - libertas: fix suspend and resume for SDIO connected cards + - media: Revert "[media] tvp5150: fix pad format frame height" + - mailbox: xgene-slimpro: Fix potential NULL pointer dereference + - Replace magic for trusting the secondary keyring with #define + - Fix kexec forbidding kernels signed with keys in the secondary keyring to + boot + - powerpc/fadump: handle crash memory ranges array index overflow + - powerpc/64s: Fix page table fragment refcount race vs speculative references + - powerpc/pseries: Fix endianness while restoring of r3 in MCE handler. + - powerpc/pkeys: Give all threads control of their key permissions + - powerpc/pkeys: Deny read/write/execute by default + - powerpc/pkeys: key allocation/deallocation must not change pkey registers + - powerpc/pkeys: Save the pkey registers before fork + - powerpc/pkeys: Fix calculation of total pkeys. + - powerpc/pkeys: Preallocate execute-only key + - powerpc/nohash: fix pte_access_permitted() + - powerpc64/ftrace: Include ftrace.h needed for enable/disable calls + - powerpc/powernv/pci: Work around races in PCI bridge enabling + - cxl: Fix wrong comparison in cxl_adapter_context_get() + - IB/mlx5: Honor cnt_set_id_valid flag instead of set_id + - IB/mlx5: Fix leaking stack memory to userspace + - IB/srpt: Fix srpt_cm_req_recv() error path (1/2) + - IB/srpt: Fix srpt_cm_req_recv() error path (2/2) + - IB/srpt: Support HCAs with more than two ports + - overflow.h: Add arithmetic shift helper + - RDMA/mlx5: Fix shift overflow in mlx5_ib_create_wq + - ib_srpt: Fix a use-after-free in srpt_close_ch() + - ib_srpt: Fix a use-after-free in __srpt_close_all_ch() + - RDMA/rxe: Set wqe->status correctly if an unexpected response is received + - 9p: fix multiple NULL-pointer-dereferences + - fs/9p/xattr.c: catch the error of p9_client_clunk when setting xattr failed + - 9p/virtio: fix off-by-one error in sg list bounds check + - net/9p/client.c: version pointer uninitialized + - net/9p/trans_fd.c: fix race-condition by flushing workqueue before the + kfree() + - dm integrity: change 'suspending' variable from bool to int + - dm thin: stop no_space_timeout worker when switching to write-mode + - dm cache metadata: save in-core policy_hint_size to on-disk superblock + - dm cache metadata: set dirty on all cache blocks after a crash + - dm crypt: don't decrease device limits + - dm writecache: fix a crash due to reading past end of dirty_bitmap + - uart: fix race between uart_put_char() and uart_shutdown() + - Drivers: hv: vmbus: Fix the offer_in_progress in vmbus_process_offer() + - Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind() + - iio: sca3000: Fix missing return in switch + - iio: ad9523: Fix displayed phase + - iio: ad9523: Fix return value for ad952x_store() + - extcon: Release locking when sending the notification of connector state + - eventpoll.h: wrap casts in () properly + - vmw_balloon: fix inflation of 64-bit GFNs + - vmw_balloon: do not use 2MB without batching + - vmw_balloon: VMCI_DOORBELL_SET does not check status + - vmw_balloon: fix VMCI use when balloon built into kernel + - rtc: omap: fix resource leak in registration error path + - rtc: omap: fix potential crash on power off + - tracing: Do not call start/stop() functions when tracing_on does not change + - tracing/blktrace: Fix to allow setting same value + - printk/tracing: Do not trace printk_nmi_enter() + - livepatch: Validate module/old func name length + - uprobes: Use synchronize_rcu() not synchronize_sched() + - mfd: hi655x: Fix regmap area declared size for hi655x + - ovl: fix wrong use of impure dir cache in ovl_iterate() + - ACPICA: AML Parser: skip opcodes that open a scope upon parse failure + - ACPICA: Clear status of all events when entering sleep states + - drivers/block/zram/zram_drv.c: fix bug storing backing_dev + - sched: idle: Avoid retaining the tick when it has been stopped + - cpuidle: menu: Handle stopped tick more aggressively + - cpufreq: governor: Avoid accessing invalid governor_data + - PM / sleep: wakeup: Fix build error caused by missing SRCU support + - ALSA: ac97: fix device initialization in the compat layer + - ALSA: ac97: fix check of pm_runtime_get_sync failure + - ALSA: ac97: fix unbalanced pm_runtime_enable + - i2c: designware: Re-init controllers with pm_disabled set on resume + - KVM: VMX: fixes for vmentry_l1d_flush module parameter + - KVM: PPC: Book3S: Fix guest DMA when guest partially backed by THP pages + - xtensa: limit offsets in __loop_cache_{all,page} + - xtensa: increase ranges in ___invalidate_{i,d}cache_all + - block, bfq: return nbytes and not zero from struct cftype .write() method + - pnfs/blocklayout: off by one in bl_map_stripe() + - nfsd: fix leaked file lock with nfs exported overlayfs + - NFSv4 client live hangs after live data migration recovery + - NFSv4: Fix locking in pnfs_generic_recover_commit_reqs + - NFSv4: Fix a sleep in atomic context in nfs4_callback_sequence() + - ARM: tegra: Fix Tegra30 Cardhu PCA954x reset + - ARM: dts: am57xx-idk: Enable dual role for USB2 port + - pwm: omap-dmtimer: Return -EPROBE_DEFER if no dmtimer platform data + - mm/tlb: Remove tlb_remove_table() non-concurrent condition + - iommu/ipmmu-vmsa: Don't register as BUS IOMMU if machine doesn't have IPMMU- + VMSA + - iommu/vt-d: Add definitions for PFSID + - iommu/vt-d: Fix dev iotlb pfsid use + - sys: don't hold uts_sem while accessing userspace memory + - userns: move user access out of the mutex + - ubifs: Fix memory leak in lprobs self-check + - Revert "UBIFS: Fix potential integer overflow in allocation" + - ubifs: Check data node size before truncate + - ubifs: xattr: Don't operate on deleted inodes + - ubifs: Fix directory size calculation for symlinks + - ubifs: Fix synced_i_size calculation for xattr inodes + - pwm: tiehrpwm: Don't use emulation mode bits to control PWM output + - pwm: tiehrpwm: Fix disabling of output of PWMs + - fb: fix lost console when the user unplugs a USB adapter + - udlfb: fix semaphore value leak + - udlfb: fix display corruption of the last line + - udlfb: don't switch if we are switching to the same videomode + - udlfb: set optimal write delay + - udlfb: make a local copy of fb_ops + - udlfb: handle allocation failure + - udlfb: set line_length in dlfb_ops_set_par + - getxattr: use correct xattr length + - libnvdimm: Use max contiguous area for namespace size + - libnvdimm: fix ars_status output length calculation + - bcache: release dc->writeback_lock properly in bch_writeback_thread() + - kconfig: fix "Can't open ..." in parallel build + - perf auxtrace: Fix queue resize + - crypto: vmx - Fix sleep-in-atomic bugs + - crypto: aesni - Use unaligned loads from gcm_context_data + - crypto: arm64/sm4-ce - check for the right CPU feature bit + - crypto: caam - fix DMA mapping direction for RSA forms 2 & 3 + - crypto: caam/jr - fix descriptor DMA unmapping + - crypto: caam/qi - fix error path in xts setkey + - fs/quota: Fix spectre gadget in do_quotactl + - udf: Fix mounting of Win7 created UDF filesystems + - cpuidle: menu: Retain tick when shallow state is selected + - arm64: mm: always enable CONFIG_HOLES_IN_ZONE + - Linux 4.18.7 + + * CVE-2017-5715 + - s390: detect etoken facility + - KVM: s390: add etoken support for guests + + * Missing Intel GPU pci-id's (LP: #1789924) + - drm/i915/whl: Introducing Whiskey Lake platform + - drm/i915/aml: Introducing Amber Lake platform + - drm/i915/cfl: Add a new CFL PCI ID. + + * [18.10 FEAT] Add kernel config options for SMC-R/D (LP: #1789934) + - s390/ism: add device driver for internal shared memory + - CONFIG_ISM=y for s390 + + * Cosmic update to v4.18.6 stable release (LP: #1791105) + - PATCH scripts/kernel-doc + - scripts/kernel-doc: Escape all literal braces in regexes + - scsi: libsas: dynamically allocate and free ata host + - xprtrdma: Fix disconnect regression + - mei: don't update offset in write + - cifs: add missing support for ACLs in SMB 3.11 + - CIFS: fix uninitialized ptr deref in smb2 signing + - cifs: add missing debug entries for kconfig options + - cifs: use a refcount to protect open/closing the cached file handle + - cifs: check kmalloc before use + - smb3: enumerating snapshots was leaving part of the data off end + - smb3: Do not send SMB3 SET_INFO if nothing changed + - smb3: don't request leases in symlink creation and query + - smb3: fill in statfs fsid and correct namelen + - btrfs: use correct compare function of dirty_metadata_bytes + - btrfs: don't leak ret from do_chunk_alloc + - Btrfs: fix mount failure after fsync due to hard link recreation + - Btrfs: fix btrfs_write_inode vs delayed iput deadlock + - Btrfs: fix send failure when root has deleted files still open + - Btrfs: send, fix incorrect file layout after hole punching beyond eof + - hwmon: (k10temp) 27C Offset needed for Threadripper2 + - bpf, arm32: fix stack var offset in jit + - regulator: arizona-ldo1: Use correct device to get enable GPIO + - iommu/arm-smmu: Error out only if not enough context interrupts + - printk: Split the code for storing a message into the log buffer + - printk: Create helper function to queue deferred console handling + - printk/nmi: Prevent deadlock when accessing the main log buffer in NMI + - kprobes/arm64: Fix %p uses in error messages + - arm64: Fix mismatched cache line size detection + - arm64: Handle mismatched cache type + - arm64: mm: check for upper PAGE_SHIFT bits in pfn_valid() + - arm64: dts: rockchip: corrected uart1 clock-names for rk3328 + - KVM: arm/arm64: Fix potential loss of ptimer interrupts + - KVM: arm/arm64: Fix lost IRQs from emulated physcial timer when blocked + - KVM: arm/arm64: Skip updating PMD entry if no change + - KVM: arm/arm64: Skip updating PTE entry if no change + - s390/kvm: fix deadlock when killed by oom + - perf kvm: Fix subcommands on s390 + - stop_machine: Reflow cpu_stop_queue_two_works() + - stop_machine: Atomically queue and wake stopper threads + - ext4: check for NUL characters in extended attribute's name + - ext4: use ext4_warning() for sb_getblk failure + - ext4: sysfs: print ext4_super_block fields as little-endian + - ext4: reset error code in ext4_find_entry in fallback + - ext4: fix race when setting the bitmap corrupted flag + - x86/gpu: reserve ICL's graphics stolen memory + - platform/x86: wmi: Do not mix pages and kmalloc + - platform/x86: ideapad-laptop: Apply no_hw_rfkill to Y20-15IKBM, too + - mm: move tlb_table_flush to tlb_flush_mmu_free + - mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE + - x86/speculation/l1tf: Fix overflow in l1tf_pfn_limit() on 32bit + - x86/speculation/l1tf: Fix off-by-one error when warning that system has too + much RAM + - x86/speculation/l1tf: Suggest what to do on systems with too much RAM + - x86/vdso: Fix vDSO build if a retpoline is emitted + - x86/process: Re-export start_thread() + - KVM: x86: ensure all MSRs can always be KVM_GET/SET_MSR'd + - KVM: x86: SVM: Call x86_spec_ctrl_set_guest/host() with interrupts disabled + - fuse: Don't access pipe->buffers without pipe_lock() + - fuse: fix initial parallel dirops + - fuse: fix double request_end() + - fuse: fix unlocked access to processing queue + - fuse: umount should wait for all requests + - fuse: Fix oops at process_init_reply() + - fuse: Add missed unlock_page() to fuse_readpages_fill() + - lib/vsprintf: Do not handle %pO[^F] as %px + - udl-kms: change down_interruptible to down + - udl-kms: handle allocation failure + - udl-kms: fix crash due to uninitialized memory + - udl-kms: avoid division + - b43legacy/leds: Ensure NUL-termination of LED name string + - b43/leds: Ensure NUL-termination of LED name string + - ASoC: dpcm: don't merge format from invalid codec dai + - ASoC: zte: Fix incorrect PCM format bit usages + - ASoC: sirf: Fix potential NULL pointer dereference + - ASoC: wm_adsp: Correct DSP pointer for preloader control + - soc: qcom: rmtfs-mem: fix memleak in probe error paths + - pinctrl: freescale: off by one in imx1_pinconf_group_dbg_show() + - scsi: qla2xxx: Fix stalled relogin + - x86/vdso: Fix lsl operand order + - x86/nmi: Fix NMI uaccess race against CR3 switching + - x86/irqflags: Mark native_restore_fl extern inline + - x86/spectre: Add missing family 6 check to microcode check + - x86/speculation/l1tf: Increase l1tf memory limit for Nehalem+ + - hwmon: (nct6775) Fix potential Spectre v1 + - x86/entry/64: Wipe KASAN stack shadow before rewind_stack_do_exit() + - x86: Allow generating user-space headers without a compiler + - s390/mm: fix addressing exception after suspend/resume + - s390/lib: use expoline for all bcr instructions + - s390: fix br_r1_trampoline for machines without exrl + - s390/qdio: reset old sbal_state flags + - s390/numa: move initial setup of node_to_cpumask_map + - s390/purgatory: Fix crash with expoline enabled + - s390/purgatory: Add missing FORCE to Makefile targets + - kprobes: Show blacklist addresses as same as kallsyms does + - kprobes: Replace %p with other pointer types + - kprobes/arm: Fix %p uses in error messages + - kprobes: Make list and blacklist root user read only + - MIPS: Correct the 64-bit DSP accumulator register size + - MIPS: memset.S: Fix byte_fixup for MIPSr6 + - MIPS: Always use -march=, not - shortcuts + - MIPS: Change definition of cpu_relax() for Loongson-3 + - MIPS: lib: Provide MIPS64r6 __multi3() for GCC < 7 + - tpm: Return the actual size when receiving an unsupported command + - tpm: separate cmd_ready/go_idle from runtime_pm + - scsi: mpt3sas: Fix calltrace observed while running IO & reset + - scsi: mpt3sas: Fix _transport_smp_handler() error path + - scsi: sysfs: Introduce sysfs_{un,}break_active_protection() + - scsi: core: Avoid that SCSI device removal through sysfs triggers a deadlock + - iscsi target: fix session creation failure handling + - mtd: rawnand: hynix: Use ->exec_op() in hynix_nand_reg_write_op() + - mtd: rawnand: fsmc: Stop using chip->read_buf() + - mtd: rawnand: marvell: add suspend and resume hooks + - mtd: rawnand: qcom: wait for desc completion in all BAM channels + - clk: rockchip: fix clk_i2sout parent selection bits on rk3399 + - clk: npcm7xx: fix memory allocation + - PM / clk: signedness bug in of_pm_clk_add_clks() + - power: generic-adc-battery: fix out-of-bounds write when copying channel + properties + - power: generic-adc-battery: check for duplicate properties copied from iio + channels + - watchdog: Mark watchdog touch functions as notrace + - cdrom: Fix info leak/OOB read in cdrom_ioctl_drive_status + - x86/dumpstack: Don't dump kernel memory based on usermode RIP + - Linux 4.18.6 + - updateconfigs after v4.18.6 stable update + + * random oopses on s390 systems using NVMe devices (LP: #1790480) + - s390/pci: fix out of bounds access during irq setup + + * [18.10 FEAT] zcrypt DD: introduce APQN tags to support deterministic driver + binding (LP: #1784331) + - s390/zcrypt: code beautify + - s390/zcrypt: AP bus support for alternate driver(s) + - s390/zcrypt: hex string mask improvements for apmask and aqmask. + + * performance drop with ATS enabled (LP: #1788097) + - powerpc/powernv: Fix concurrency issue with npu->mmio_atsd_usage + + * Fix MCE handling for user access of poisoned device-dax mapping + (LP: #1774366) + - device-dax: Convert to vmf_insert_mixed and vm_fault_t + - device-dax: Enable page_mapping() + - device-dax: Set page->index + - filesystem-dax: Set page->index + - mm, madvise_inject_error: Disable MADV_SOFT_OFFLINE for ZONE_DEVICE pages + - mm, dev_pagemap: Do not clear ->mapping on final put + - mm, madvise_inject_error: Let memory_failure() optionally take a page + reference + - mm, memory_failure: Collect mapping size in collect_procs() + - filesystem-dax: Introduce dax_lock_mapping_entry() + - mm, memory_failure: Teach memory_failure() about dev_pagemap pages + - x86/mm/pat: Prepare {reserve, free}_memtype() for "decoy" addresses + - x86/memory_failure: Introduce {set, clear}_mce_nospec() + - libnvdimm, pmem: Restore page attributes when clearing errors + + * Reconcile hns3 SAUCE patches with upstream (LP: #1787477) + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix comments for + hclge_get_ring_chain_from_mbx" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for using wrong mask and + shift in hclge_get_ring_chain_from_mbx" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for reset_level default + assignment probelm" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove unnecessary ring + configuration operation while resetting" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix return value error in + hns3_reset_notify_down_enet" + - Revert "UBUNTU: SAUCE: net: hns3: Fix for phy link issue when using marvell + phy driver" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: separate roce from nic when + resetting" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: correct reset event status + register" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: prevent to request reset + frequently" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: reset net device with rtnl_lock" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: modify the order of initializeing + command queue register" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: prevent sending command during + global or core reset" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: Use roce handle when calling roce + callback function" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove the warning when clear + reset cause" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix get_vector ops in + hclgevf_main module" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix warning bug when doing lp + selftest" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: Add configure for mac minimal + frame size" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for mailbox message truncated + problem" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for l4 checksum offload bug" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for waterline not setting + correctly" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for mac pause not disable in + pfc mode" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix tc setup when netdev is first + up" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: Add calling roce callback + function when link status change" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: optimize the process of notifying + roce client" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: Add pf reset for hip08 RoCE" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: Add SPDX tags to hns3 driver" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove unused struct member and + definition" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix mislead parameter name" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: modify inconsistent bit mask + macros" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: use decimal for bit offset + macros" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix unreasonable code comments" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove extra space and brackets" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: standardize the handle of return + value" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove some redundant + assignments" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: modify hnae_ to hnae3_" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: use dma_zalloc_coherent instead + of kzalloc/dma_map_single" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: give default option while + dependency HNS3 set" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove some unused members of + some structures" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove a redundant + hclge_cmd_csq_done" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: using modulo for cyclic counters + in hclge_cmd_send" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: simplify hclge_cmd_csq_clean" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove some redundant + assignments" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove useless code in + hclge_cmd_send" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove unused + hclge_ring_to_dma_dir" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: use lower_32_bits and + upper_32_bits" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove back in struct hclge_hw" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: add unlikely for error check" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove the Redundant put_vector + in hns3_client_uninit" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: print the ret value in error + information" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: extraction an interface for state + state init|uninit" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove unused head file in + hnae3.c" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: add l4_type check for both ipv4 + and ipv6" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: add vector status check before + free vector" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: rename the interface for + init_client_instance and uninit_client_instance" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove hclge_get_vector_index + from hclge_bind_ring_with_vector" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: RX BD information valid only in + last BD except VLD bit and buffer size" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: add support for serdes loopback + selftest" + - net: hns3: Updates RX packet info fetch in case of multi BD + - net: hns3: remove hclge_get_vector_index from hclge_bind_ring_with_vector + - net: hns3: rename the interface for init_client_instance and + uninit_client_instance + - net: hns3: add vector status check before free vector + - net: hns3: add l4_type check for both ipv4 and ipv6 + - net: hns3: add unlikely for error check + - net: hns3: remove unused head file in hnae3.c + - net: hns3: extraction an interface for state init|uninit + - net: hns3: print the ret value in error information + - net: hns3: remove the Redundant put_vector in hns3_client_uninit + - net: hns3: remove back in struct hclge_hw + - net: hns3: use lower_32_bits and upper_32_bits + - net: hns3: remove unused hclge_ring_to_dma_dir + - net: hns3: remove useless code in hclge_cmd_send + - net: hns3: remove some redundant assignments + - net: hns3: simplify hclge_cmd_csq_clean + - net: hns3: remove a redundant hclge_cmd_csq_done + - net: hns3: remove some unused members of some structures + - net: hns3: give default option while dependency HNS3 set + - net: hns3: use dma_zalloc_coherent instead of kzalloc/dma_map_single + - net: hns3: modify hnae_ to hnae3_ + - net: hns3: Fix tc setup when netdev is first up + - net: hns3: Fix for mac pause not disable in pfc mode + - net: hns3: Fix for waterline not setting correctly + - net: hns3: Fix for l4 checksum offload bug + - net: hns3: Fix for mailbox message truncated problem + - net: hns3: Add configure for mac minimal frame size + - net: hns3: Fix warning bug when doing lp selftest + - net: hns3: Fix get_vector ops in hclgevf_main module + - net: hns3: Remove the warning when clear reset cause + - net: hns3: Prevent sending command during global or core reset + - net: hns3: Modify the order of initializing command queue register + - net: hns3: Reset net device with rtnl_lock + - net: hns3: Prevent to request reset frequently + - net: hns3: Correct reset event status register + - net: hns3: Fix return value error in hns3_reset_notify_down_enet + - net: hns3: remove unnecessary ring configuration operation while resetting + - net: hns3: Fix for reset_level default assignment probelm + - net: hns3: Fix for using wrong mask and shift in + hclge_get_ring_chain_from_mbx + - net: hns3: Fix comments for hclge_get_ring_chain_from_mbx + - net: hns3: Remove some redundant assignments + - net: hns3: Standardize the handle of return value + - net: hns3: Remove extra space and brackets + - net: hns3: Correct unreasonable code comments + - net: hns3: Use decimal for bit offset macros + - net: hns3: Modify inconsistent bit mask macros + - net: hns3: Fix misleading parameter name + - net: hns3: Remove unused struct member and definition + - net: hns3: Add SPDX tags to HNS3 PF driver + - net: hns3: Add support for serdes loopback selftest + - net: hns3: Fix for phy link issue when using marvell phy driver + + * [Regression] kernel crashdump fails on arm64 (LP: #1786878) + - arm64: export memblock_reserve()d regions via /proc/iomem + - drivers: acpi: add dependency of EFI for arm64 + - efi/arm: preserve early mapping of UEFI memory map longer for BGRT + - efi/arm: map UEFI memory map even w/o runtime services enabled + - arm64: acpi: fix alignment fault in accessing ACPI + - [Config] CONFIG_ARCH_SUPPORTS_ACPI=y + - arm64: fix ACPI dependencies + - ACPI: fix menuconfig presentation of ACPI submenu + + * TB 16 issue on Dell Lattitude 7490 with large amount of data (LP: #1785780) + - r8152: disable RX aggregation on new Dell TB16 dock + + * Support Power Management for Thunderbolt Controller (LP: #1789358) + - thunderbolt: Use 64-bit DMA mask if supported by the platform + - thunderbolt: Do not unnecessarily call ICM get route + - thunderbolt: No need to take tb->lock in domain suspend/complete + - thunderbolt: Use correct ICM commands in system suspend + - thunderbolt: Add support for runtime PM + + * Enable AMD PCIe MP2 for AMDI0011 (LP: #1773940) + - SAUCE: i2c:amd I2C Driver based on PCI Interface for upcoming platform + - SAUCE: i2c:amd move out pointer in union i2c_event_base + - SAUCE: i2c:amd Depends on ACPI + - [Config] i2c: CONFIG_I2C_AMD_MP2=y on x86 + + * Microphone cannot be detected with front panel audio combo jack on HP Z8-G4 + machine (LP: #1789145) + - ALSA: hda/realtek - Fix HP Headset Mic can't record + + * Please enable CONFIG_PAGE_POISONING (LP: #1783651) + - [Config] Enable CONFIG_PAGE_POISONING configs + + * Tango platform uses __initcall without further checks (LP: #1787945) + - [Config] disable ARCH_TANGO + + * [18.10 FEAT] SMC-Direct (LP: #1786902) + - net/smc: determine port attributes independent from pnet table + - net/smc: add pnetid support + - net/smc: add base infrastructure for SMC-D and ISM + - net/smc: add pnetid support for SMC-D and ISM + - net/smc: add SMC-D support in CLC messages + - net/smc: add SMC-D support in data transfer + - net/smc: add SMC-D support in af_smc + - net/smc: add SMC-D diag support + - net/smc: provide smc mode in smc_diag.c + - net/smc: eliminate cursor read and write calls + - net/smc: add function to get link group from link + - net/smc: use DECLARE_BITMAP for rtokens_used_mask + - net/smc: remove local variable page in smc_rx_splice() + - net/smc: Remove a WARN_ON() statement + - net/smc: Simplify ib_post_(send|recv|srq_recv)() calls + - net/smc: fewer parameters for smc_llc_send_confirm_link() + - net/smc: use correct vlan gid of RoCE device + - net/smc: provide fallback reason code + - net/smc: improve delete link processing + - net: simplify sock_poll_wait + - net/smc: send response to test link signal + + * Miscellaneous Ubuntu changes + - [Config] update annotations for CONFIG_CRYPTO_SPECK_NEON + - [Config] fix up annotatios for CONFIG_CRYPTO_SPECK + + -- Seth Forshee Mon, 10 Sep 2018 07:08:38 -0500 + +linux (4.18.0-7.8) cosmic; urgency=medium + + * linux: 4.18.0-7.8 -proposed tracker (LP: #1789459) + + * pmtu.sh fails on 4.18 kernel (LP: #1789436) + - SAUCE: Revert "vti6: fix PMTU caching and reporting on xmit" + + -- Seth Forshee Tue, 28 Aug 2018 11:08:51 -0500 + +linux (4.18.0-6.7) cosmic; urgency=medium + + * linux: 4.18.0-6.7 -proposed tracker (LP: #1788881) + + * systemd 237-3ubuntu10 ADT test failure with linux 4.18.0-5.6 (LP: #1787440) + - Config: Disable BPF_JIT_ALWAYS_ON on i386 + + * execveat03 in ubuntu_ltp_syscalls failed on X/B (LP: #1786729) + - cap_inode_getsecurity: use d_find_any_alias() instead of d_find_alias() + + * Cosmic update to v4.18.5 stable release (LP: #1788874) + - EDAC: Add missing MEM_LRDDR4 entry in edac_mem_types[] + - pty: fix O_CLOEXEC for TIOCGPTPEER + - mm: Allow non-direct-map arguments to free_reserved_area() + - x86/mm/init: Pass unconverted symbol addresses to free_init_pages() + - x86/mm/init: Add helper for freeing kernel image pages + - x86/mm/init: Remove freed kernel image areas from alias mapping + - powerpc64s: Show ori31 availability in spectre_v1 sysfs file not v2 + - ext4: fix spectre gadget in ext4_mb_regular_allocator() + - drm/i915/kvmgt: Fix potential Spectre v1 + - drm/amdgpu/pm: Fix potential Spectre v1 + - parisc: Remove unnecessary barriers from spinlock.h + - parisc: Remove ordered stores from syscall.S + - PCI: Restore resized BAR state on resume + - PCI / ACPI / PM: Resume all bridges on suspend-to-RAM + - PCI: hotplug: Don't leak pci_slot on registration failure + - PCI: aardvark: Size bridges before resources allocation + - PCI: Skip MPS logic for Virtual Functions (VFs) + - PCI: pciehp: Fix use-after-free on unplug + - PCI: pciehp: Fix unprotected list iteration in IRQ handler + - i2c: core: ACPI: Properly set status byte to 0 for multi-byte writes + - i2c: imx: Fix race condition in dma read + - reiserfs: fix broken xattr handling (heap corruption, bad retval) + - Linux 4.18.5 + + * [18.10 FEAT] Add kernel config option "CONFIG_SCLP_OFB" (LP: #1787898) + - [Config] CONFIG_SCLP_OFB=y for s390x + + * errors when scanning partition table of corrupted AIX disk (LP: #1787281) + - partitions/aix: fix usage of uninitialized lv_info and lvname structures + - partitions/aix: append null character to print data from disk + + * Apply NVMe bugfix from Google that bjf asked for (LP: #1787635) + - nvme-pci: add a memory barrier to nvme_dbbuf_update_and_check_event + + * ThinkPad systems have no HDMI sound when using the nvidia GPU (LP: #1787058) + - ACPI / OSI: Add OEM _OSI string to enable NVidia HDMI audio + + * Cosmic update to v4.18.4 stable release (LP: #1788454) + - l2tp: use sk_dst_check() to avoid race on sk->sk_dst_cache + - net_sched: fix NULL pointer dereference when delete tcindex filter + - net_sched: Fix missing res info when create new tc_index filter + - r8169: don't use MSI-X on RTL8168g + - ALSA: hda - Sleep for 10ms after entering D3 on Conexant codecs + - ALSA: hda - Turn CX8200 into D3 as well upon reboot + - ALSA: vx222: Fix invalid endian conversions + - ALSA: virmidi: Fix too long output trigger loop + - ALSA: cs5535audio: Fix invalid endian conversion + - ALSA: dice: fix wrong copy to rx parameters for Alesis iO26 + - ALSA: hda: Correct Asrock B85M-ITX power_save blacklist entry + - ALSA: memalloc: Don't exceed over the requested size + - ALSA: vxpocket: Fix invalid endian conversions + - ALSA: seq: Fix poll() error return + - media: gl861: fix probe of dvb_usb_gl861 + - USB: serial: sierra: fix potential deadlock at close + - USB: serial: pl2303: add a new device id for ATEN + - USB: option: add support for DW5821e + - ACPI / PM: save NVS memory for ASUS 1025C laptop + - tty: serial: 8250: Revert NXP SC16C2552 workaround + - serial: 8250_exar: Read INT0 from slave device, too + - serial: 8250_dw: always set baud rate in dw8250_set_termios + - serial: 8250_dw: Add ACPI support for uart on Broadcom SoC + - uio: fix wrong return value from uio_mmap() + - misc: sram: fix resource leaks in probe error path + - Revert "uio: use request_threaded_irq instead" + - Bluetooth: avoid killing an already killed socket + - isdn: Disable IIOCDBGVAR + - net: sock_diag: Fix spectre v1 gadget in __sock_diag_cmd() + - hv/netvsc: Fix NULL dereference at single queue mode fallback + - r8169: don't use MSI-X on RTL8106e + - ip_vti: fix a null pointer deferrence when create vti fallback tunnel + - net: ethernet: mvneta: Fix napi structure mixup on armada 3700 + - net: mvneta: fix mvneta_config_rss on armada 3700 + - cls_matchall: fix tcf_unbind_filter missing + - Linux 4.18.4 + + * Cosmic update to v4.18.3 stable release (LP: #1788453) + - x86/speculation/l1tf: Exempt zeroed PTEs from inversion + - Linux 4.18.3 + + * Cosmic update to v4.18.2 stable release (LP: #1788452) + - x86/l1tf: Fix build error seen if CONFIG_KVM_INTEL is disabled + - x86: i8259: Add missing include file + - x86/hyper-v: Check for VP_INVAL in hyperv_flush_tlb_others() + - x86/platform/UV: Mark memblock related init code and data correctly + - x86/mm/pti: Clear Global bit more aggressively + - xen/pv: Call get_cpu_address_sizes to set x86_virt/phys_bits + - x86/mm: Disable ioremap free page handling on x86-PAE + - kbuild: verify that $DEPMOD is installed + - crypto: ccree - fix finup + - crypto: ccree - fix iv handling + - crypto: ccp - Check for NULL PSP pointer at module unload + - crypto: ccp - Fix command completion detection race + - crypto: x86/sha256-mb - fix digest copy in sha256_mb_mgr_get_comp_job_avx2() + - crypto: vmac - require a block cipher with 128-bit block size + - crypto: vmac - separate tfm and request context + - crypto: blkcipher - fix crash flushing dcache in error path + - crypto: ablkcipher - fix crash flushing dcache in error path + - crypto: skcipher - fix aligning block size in skcipher_copy_iv() + - crypto: skcipher - fix crash flushing dcache in error path + - ioremap: Update pgtable free interfaces with addr + - x86/mm: Add TLB purge to free pmd/pte page interfaces + - Linux 4.18.2 + + * Cosmic update to v4.18.2 stable release (LP: #1788452) // CVE-2018-9363 + - Bluetooth: hidp: buffer overflow in hidp_process_report + + * linux-cloud-tools-common: Ensure hv-kvp-daemon.service starts before + walinuxagent.service (LP: #1739107) + - [Debian] hyper-v -- Ensure that hv-kvp-daemon.service starts before + walinuxagent.service + + * Miscellaneous Ubuntu changes + - SAUCE: ipvs: remove nbsp characters from Kconfig + - [Config] CONFIG_MPROFILE_KERNEL=y for ppc64el + - [Config] CONFIG_DRM_RCAR_LVDS=m for snapdragon + - [Config] CONFIG_MDIO_MSCC_MIIM=n for s390x + - [Config] CONFIG_NET_VENDOR_MICROSEMI=n, CONFIG_NET_VENDOR_NI=n for s390x + - [Config] update annotations following config review + - [Debian] set CROSS_COMPILE when generating kernel configs + - [Config] Disable the Speck cipher + + -- Seth Forshee Fri, 24 Aug 2018 14:18:15 -0500 + +linux (4.18.0-5.6) cosmic; urgency=medium + + * Cosmic update to v4.18.1 stable release (LP: #1787264) + - x86/paravirt: Fix spectre-v2 mitigations for paravirt guests + - x86/speculation: Protect against userspace-userspace spectreRSB + - kprobes/x86: Fix %p uses in error messages + - x86/irqflags: Provide a declaration for native_save_fl + - x86/speculation/l1tf: Increase 32bit PAE __PHYSICAL_PAGE_SHIFT + - x86/speculation/l1tf: Change order of offset/type in swap entry + - x86/speculation/l1tf: Protect swap entries against L1TF + - x86/speculation/l1tf: Protect PROT_NONE PTEs against speculation + - x86/speculation/l1tf: Make sure the first page is always reserved + - x86/speculation/l1tf: Add sysfs reporting for l1tf + - x86/speculation/l1tf: Disallow non privileged high MMIO PROT_NONE mappings + - x86/speculation/l1tf: Limit swap file size to MAX_PA/2 + - x86/bugs: Move the l1tf function and define pr_fmt properly + - sched/smt: Update sched_smt_present at runtime + - x86/smp: Provide topology_is_primary_thread() + - x86/topology: Provide topology_smt_supported() + - cpu/hotplug: Make bringup/teardown of smp threads symmetric + - cpu/hotplug: Split do_cpu_down() + - cpu/hotplug: Provide knobs to control SMT + - x86/cpu: Remove the pointless CPU printout + - x86/cpu/AMD: Remove the pointless detect_ht() call + - x86/cpu/common: Provide detect_ht_early() + - x86/cpu/topology: Provide detect_extended_topology_early() + - x86/cpu/intel: Evaluate smp_num_siblings early + - x86/CPU/AMD: Do not check CPUID max ext level before parsing SMP info + - x86/cpu/AMD: Evaluate smp_num_siblings early + - x86/apic: Ignore secondary threads if nosmt=force + - x86/speculation/l1tf: Extend 64bit swap file size limit + - x86/cpufeatures: Add detection of L1D cache flush support. + - x86/CPU/AMD: Move TOPOEXT reenablement before reading smp_num_siblings + - x86/speculation/l1tf: Protect PAE swap entries against L1TF + - x86/speculation/l1tf: Fix up pte->pfn conversion for PAE + - Revert "x86/apic: Ignore secondary threads if nosmt=force" + - cpu/hotplug: Boot HT siblings at least once + - x86/KVM: Warn user if KVM is loaded SMT and L1TF CPU bug being present + - x86/KVM/VMX: Add module argument for L1TF mitigation + - x86/KVM/VMX: Add L1D flush algorithm + - x86/KVM/VMX: Add L1D MSR based flush + - x86/KVM/VMX: Add L1D flush logic + - x86/KVM/VMX: Split the VMX MSR LOAD structures to have an host/guest numbers + - x86/KVM/VMX: Add find_msr() helper function + - x86/KVM/VMX: Separate the VMX AUTOLOAD guest/host number accounting + - x86/KVM/VMX: Extend add_atomic_switch_msr() to allow VMENTER only MSRs + - x86/KVM/VMX: Use MSR save list for IA32_FLUSH_CMD if required + - cpu/hotplug: Online siblings when SMT control is turned on + - x86/litf: Introduce vmx status variable + - x86/kvm: Drop L1TF MSR list approach + - x86/l1tf: Handle EPT disabled state proper + - x86/kvm: Move l1tf setup function + - x86/kvm: Add static key for flush always + - x86/kvm: Serialize L1D flush parameter setter + - x86/kvm: Allow runtime control of L1D flush + - cpu/hotplug: Expose SMT control init function + - cpu/hotplug: Set CPU_SMT_NOT_SUPPORTED early + - x86/bugs, kvm: Introduce boot-time control of L1TF mitigations + - Documentation: Add section about CPU vulnerabilities + - x86/speculation/l1tf: Unbreak !__HAVE_ARCH_PFN_MODIFY_ALLOWED architectures + - x86/KVM/VMX: Initialize the vmx_l1d_flush_pages' content + - Documentation/l1tf: Fix typos + - cpu/hotplug: detect SMT disabled by BIOS + - x86/KVM/VMX: Don't set l1tf_flush_l1d to true from vmx_l1d_flush() + - x86/KVM/VMX: Replace 'vmx_l1d_flush_always' with 'vmx_l1d_flush_cond' + - x86/KVM/VMX: Move the l1tf_flush_l1d test to vmx_l1d_flush() + - x86/irq: Demote irq_cpustat_t::__softirq_pending to u16 + - x86/KVM/VMX: Introduce per-host-cpu analogue of l1tf_flush_l1d + - x86: Don't include linux/irq.h from asm/hardirq.h + - x86/irq: Let interrupt handlers set kvm_cpu_l1tf_flush_l1d + - x86/KVM/VMX: Don't set l1tf_flush_l1d from vmx_handle_external_intr() + - Documentation/l1tf: Remove Yonah processors from not vulnerable list + - x86/speculation: Simplify sysfs report of VMX L1TF vulnerability + - x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on vmentry + - KVM: VMX: Tell the nested hypervisor to skip L1D flush on vmentry + - cpu/hotplug: Fix SMT supported evaluation + - x86/speculation/l1tf: Invert all not present mappings + - x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert + - x86/mm/pat: Make set_memory_np() L1TF safe + - x86/mm/kmmio: Make the tracer robust against L1TF + - tools headers: Synchronise x86 cpufeatures.h for L1TF additions + - x86/microcode: Allow late microcode loading with SMT disabled + - x86/smp: fix non-SMP broken build due to redefinition of + apic_id_is_primary_thread + - cpu/hotplug: Non-SMP machines do not make use of booted_once + - x86/init: fix build with CONFIG_SWAP=n + - Linux 4.18.1 + - [Config] updateconfigs after v4.18.1 stable update + + * Consider enabling CONFIG_NETWORK_PHY_TIMESTAMPING (LP: #1785816) + - [Config] Enable timestamping in network PHY devices + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_SYSCTL_SYSCALL=n + + [ Upstream Kernel Changes ] + + * Rebase to v4.18 + + -- Seth Forshee Wed, 15 Aug 2018 14:20:59 -0500 + +linux (4.18.0-4.5) cosmic; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v4.18-rc8 + + -- Seth Forshee Mon, 06 Aug 2018 13:54:02 -0500 + +linux (4.18.0-3.4) cosmic; urgency=medium + + * Suspend fails in Ubuntu and Kubuntu 18.04 but works fine in Ubuntu and + Kubuntu 17.10 (and on Kubuntu 18.04 using kernel 4.14.47) (LP: #1774950) + - ACPI / LPSS: Avoid PM quirks on suspend and resume from hibernation + + * hinic interfaces aren't getting predictable names (LP: #1783138) + - hinic: Link the logical network device to the pci device in sysfs + + * libvirtd is unable to configure bridge devices inside of LXD containers + (LP: #1784501) + - kernfs: allow creating kernfs objects with arbitrary uid/gid + - sysfs, kobject: allow creating kobject belonging to arbitrary users + - kobject: kset_create_and_add() - fetch ownership info from parent + - driver core: set up ownership of class devices in sysfs + - net-sysfs: require net admin in the init ns for setting tx_maxrate + - net-sysfs: make sure objects belong to container's owner + - net: create reusable function for getting ownership info of sysfs inodes + - bridge: make sure objects belong to container's owner + - sysfs: Fix regression when adding a file to an existing group + + * locking sockets broken due to missing AppArmor socket mediation patches + (LP: #1780227) + - UBUNTU SAUCE: apparmor: fix apparmor mediating locking non-fs, unix sockets + + * Update2 for ocxl driver (LP: #1781436) + - ocxl: Fix page fault handler in case of fault on dying process + + * HDMI/DP audio can't work on the laptop of Dell Latitude 5495 (LP: #1782689) + - ALSA: hda: use PCI_BASE_CLASS_DISPLAY to replace PCI_CLASS_DISPLAY_VGA + - vga_switcheroo: set audio client id according to bound GPU id + + * Allow Raven Ridge's audio controller to be runtime suspended (LP: #1782540) + - ALSA: hda: Add AZX_DCAPS_PM_RUNTIME for AMD Raven Ridge + + * Invoking obsolete 'firmware_install' target breaks snap build (LP: #1782166) + - snapcraft.yaml: stop invoking the obsolete (and non-existing) + 'firmware_install' target + + * snapcraft.yaml: missing ubuntu-retpoline-extract-one script breaks the build + (LP: #1782116) + - snapcraft.yaml: copy retpoline-extract-one to scripts before build + + [ Upstream Kernel Changes ] + + * Rebase to v4.18-rc7 + + -- Seth Forshee Wed, 01 Aug 2018 08:49:40 -0500 + +linux (4.18.0-2.3) cosmic; urgency=medium + + * Kernel error "task zfs:pid blocked for more than 120 seconds" (LP: #1781364) + - SAUCE: (noup) zfs to 0.7.9-3ubuntu4 + + * [Regression] EXT4-fs error (device sda1): ext4_validate_inode_bitmap:99: + comm stress-ng: Corrupt inode bitmap (LP: #1780137) + - SAUCE: ext4: fix ext4_validate_inode_bitmap: comm stress-ng: Corrupt inode + bitmap + + * Cloud-init causes potentially huge boot delays with 4.15 kernels + (LP: #1780062) + - random: Make getrandom() ready earlier + + * hisi_sas_v3_hw: internal task abort: timeout and not done. (LP: #1777736) + - scsi: hisi_sas: Update a couple of register settings for v3 hw + + * hisi_sas: Add missing PHY spinlock init (LP: #1777734) + - scsi: hisi_sas: Add missing PHY spinlock init + + * hisi_sas: improve read performance by pre-allocating slot DMA buffers + (LP: #1777727) + - scsi: hisi_sas: Use dmam_alloc_coherent() + - scsi: hisi_sas: Pre-allocate slot DMA buffers + + * hisi_sas: Failures during host reset (LP: #1777696) + - scsi: hisi_sas: Only process broadcast change in phy_bcast_v3_hw() + - scsi: hisi_sas: Fix the conflict between dev gone and host reset + - scsi: hisi_sas: Adjust task reject period during host reset + - scsi: hisi_sas: Add a flag to filter PHY events during reset + - scsi: hisi_sas: Release all remaining resources in clear nexus ha + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.7.9-3ubuntu2, zfs to 0.7.9-3ubuntu3 + - SAUCE: mm: Fix exports that inadvertently make put_page() EXPORT_SYMBOL_GPL + - Enable zfs build + - SAUCE: Import aufs driver + - Revert "UBUNTU: [Config]: set CONFIG_EDAC_DEBUG=y for ARM64" + - [Config] retpoline -- review and accept retpoline changes + + [ Upstream Kernel Changes ] + + * Rebase to v4.18-rc5 + * Rebase to v4.18-rc6 + + -- Seth Forshee Tue, 24 Jul 2018 08:41:22 -0500 + +linux (4.18.0-1.2) cosmic; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v4.18-rc4 + + -- Seth Forshee Mon, 09 Jul 2018 07:36:31 -0500 + +linux (4.18.0-0.1) cosmic; urgency=medium + + * Miscellaneous Ubuntu changes + - ubuntu -- disable vbox build + - Disable zfs build + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (efi-lockdown) ima: require secure_boot rules in lockdown mode + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the kernel is + locked down + - SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the kernel is locked + down + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Lock down module params that specify hardware + parameters (eg. ioport) + - SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the testmmiotrace module + - SAUCE: (efi-lockdown) Lock down /proc/kcore + - SAUCE: (efi-lockdown) Lock down kprobes + - SAUCE: (efi-lockdown) bpf: Restrict kernel image access functions when the + kernel is locked down + - SAUCE: (efi-lockdown) Lock down perf + - SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the kernel is locked + down + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) KEYS: Allow unrestricted boot-time addition of keys to + secondary keyring + - SAUCE: (efi-lockdown) efi: Add EFI signature data types + - SAUCE: (efi-lockdown) efi: Add an EFI signature blob parser + - SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI Secure Boot + - SAUCE: (efi-lockdown) MODSIGN: Allow the "db" UEFI variable to be suppressed + - SAUCE: (efi-lockdown) Make get_cert_list() not complain about cert lists + that aren't present. + - SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err(). + - SAUCE: (efi-lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (efi-lockdown) lockdown: fix coordination of kernel module signature + verification + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) efi: Don't print secure boot state from the efi stub + - SAUCE: (namespace) block_dev: Support checking inode permissions in + lookup_bdev() + - SAUCE: (namespace) block_dev: Check permissions towards block device inode + when mounting + - SAUCE: (namespace) mtd: Check permissions towards mtd block device inode + when mounting + - SAUCE: (namespace) ext4: Add support for unprivileged mounts from user + namespaces + - SAUCE: (namespace) ext4: Add module parameter to enable user namespace + mounts + - SAUCE: (namespace) block_dev: Forbid unprivileged mounting when device is + opened for writing + - SAUCE: Import aufs driver + - Update dropped.txt + - [Config] updateconfigs after 4.18-rc3 rebase + - SAUCE: (no-up): ASoC: Intel: bytcr-rt5660: Remove snd_soc_codec use for 4.18 + + [ Upstream Kernel Changes ] + + * Rebase to v4.18-rc3 + + -- Seth Forshee Fri, 06 Jul 2018 10:46:37 -0500 + +linux (4.18.0-0.0) cosmic; urgency=medium + + * Dummy entry. + + -- Seth Forshee Tue, 03 Jul 2018 11:10:33 -0500 + +linux (4.17.0-4.5) cosmic; urgency=medium + + * linux: 4.17.0-4.5 -proposed tracker (LP: #1779399) + + * Update to ocxl driver for 18.04.1 (LP: #1775786) + - powerpc: Add TIDR CPU feature for POWER9 + - powerpc: Use TIDR CPU feature to control TIDR allocation + - powerpc: use task_pid_nr() for TID allocation + - ocxl: Rename pnv_ocxl_spa_remove_pe to clarify it's action + - ocxl: Expose the thread_id needed for wait on POWER9 + - ocxl: Add an IOCTL so userspace knows what OCXL features are available + - ocxl: Document new OCXL IOCTLs + - ocxl: Fix missing unlock on error in afu_ioctl_enable_p9_wait() + + * Please include ax88179_178a and r8152 modules in d-i udeb (LP: #1771823) + - [Config:] d-i: Add ax88179_178a and r8152 to nic-modules + + * glibc pkeys test fail on powerpc (LP: #1776967) + - [Config] Temporarily disable CONFIG_PPC_MEM_KEYS + + * After update to 4.13-43 Intel Graphics are Laggy (LP: #1773520) + - Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available." + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.7.9-3ubuntu1, zfs to 0.7.9-3ubuntu1 + + -- Seth Forshee Fri, 29 Jun 2018 13:37:52 -0500 + +linux (4.17.0-3.4) cosmic; urgency=medium + + * linux: 4.17.0-3.4 -proposed tracker (LP: #1779124) + + * Cosmic update to v4.17.3 stable release (LP: #1778997) + - net: aquantia: fix unsigned numvecs comparison with less than zero + - bonding: re-evaluate force_primary when the primary slave name changes + - cdc_ncm: avoid padding beyond end of skb + - ipv6: allow PMTU exceptions to local routes + - net: dsa: add error handling for pskb_trim_rcsum + - net: phy: dp83822: use BMCR_ANENABLE instead of BMSR_ANEGCAPABLE for DP83620 + - net/sched: act_simple: fix parsing of TCA_DEF_DATA + - tcp: verify the checksum of the first data segment in a new connection + - tls: fix use-after-free in tls_push_record + - tls: fix waitall behavior in tls_sw_recvmsg + - socket: close race condition between sock_close() and sockfs_setattr() + - udp: fix rx queue len reported by diag and proc interface + - net: in virtio_net_hdr only add VLAN_HLEN to csum_start if payload holds + vlan + - hv_netvsc: Fix a network regression after ifdown/ifup + - ACPICA: AML parser: attempt to continue loading table after error + - ext4: fix hole length detection in ext4_ind_map_blocks() + - ext4: update mtime in ext4_punch_hole even if no blocks are released + - ext4: do not allow external inodes for inline data + - ext4: bubble errors from ext4_find_inline_data_nolock() up to ext4_iget() + - ext4: correctly handle a zero-length xattr with a non-zero e_value_offs + - ext4: fix fencepost error in check for inode count overflow during resize + - driver core: Don't ignore class_dir_create_and_add() failure. + - Btrfs: allow empty subvol= again + - Btrfs: fix clone vs chattr NODATASUM race + - Btrfs: fix memory and mount leak in btrfs_ioctl_rm_dev_v2() + - btrfs: return error value if create_io_em failed in cow_file_range + - btrfs: scrub: Don't use inode pages for device replace + - ALSA: usb-audio: Disable the quirk for Nura headset + - ALSA: hda/conexant - Add fixup for HP Z2 G4 workstation + - ALSA: hda - Handle kzalloc() failure in snd_hda_attach_pcm_stream() + - ALSA: hda: add dock and led support for HP EliteBook 830 G5 + - ALSA: hda: add dock and led support for HP ProBook 640 G4 + - x86/MCE: Fix stack out-of-bounds write in mce-inject.c: Flags_read() + - smb3: fix various xid leaks + - smb3: on reconnect set PreviousSessionId field + - CIFS: 511c54a2f69195b28afb9dd119f03787b1625bb4 adds a check for session + expiry + - cifs: For SMB2 security informaion query, check for minimum sized security + descriptor instead of sizeof FileAllInformation class + - nbd: fix nbd device deletion + - nbd: update size when connected + - nbd: use bd_set_size when updating disk size + - blk-mq: reinit q->tag_set_list entry only after grace period + - bdi: Move cgroup bdi_writeback to a dedicated low concurrency workqueue + - cpufreq: Fix new policy initialization during limits updates via sysfs + - cpufreq: ti-cpufreq: Fix an incorrect error return value + - cpufreq: governors: Fix long idle detection logic in load calculation + - libata: zpodd: small read overflow in eject_tray() + - libata: Drop SanDisk SD7UB3Q*G1001 NOLPM quirk + - nvme/pci: Sync controller reset for AER slot_reset + - w1: mxc_w1: Enable clock before calling clk_get_rate() on it + - x86/vector: Fix the args of vector_alloc tracepoint + - x86/apic/vector: Prevent hlist corruption and leaks + - x86/apic: Provide apic_ack_irq() + - x86/ioapic: Use apic_ack_irq() + - x86/platform/uv: Use apic_ack_irq() + - irq_remapping: Use apic_ack_irq() + - genirq/generic_pending: Do not lose pending affinity update + - genirq/affinity: Defer affinity setting if irq chip is busy + - genirq/migration: Avoid out of line call if pending is not set + - x86/intel_rdt: Enable CMT and MBM on new Skylake stepping + - media: uvcvideo: Prevent setting unavailable flags + - media: rc: ensure input/lirc device can be opened after register + - iwlwifi: fw: harden page loading code + - orangefs: set i_size on new symlink + - orangefs: report attributes_mask and attributes for statx + - HID: intel_ish-hid: ipc: register more pm callbacks to support hibernation + - HID: wacom: Correct logical maximum Y for 2nd-gen Intuos Pro large + - vhost: fix info leak due to uninitialized memory + - mm, page_alloc: do not break __GFP_THISNODE by zonelist reset + - Linux 4.17.3 + + * Use-after-free in sk_peer_label (LP: #1778646) + - SAUCE: apparmor: fix use after free in sk_peer_label + + * kernel: Fix memory leak on CCA and EP11 CPRB processing. (LP: #1775390) + - s390/zcrypt: Fix CCA and EP11 CPRB processing failure memory leak. + + * Various fixes for CXL kernel module (LP: #1774471) + - cxl: Configure PSL to not use APC virtual machines + - cxl: Disable prefault_mode in Radix mode + + * Bluetooth not working (LP: #1764645) + - Bluetooth: btusb: Apply QCA Rome patches for some ATH3012 models + + * Fake SAS addresses for SATA disks on HiSilicon D05 are non-unique + (LP: #1776750) + - scsi: hisi_sas: make SAS address of SATA disks unique + + * linux-snapdragon: wcn36xx: mac address generation on boot (LP: #1776491) + - [Config] arm64: snapdragon: WCN36XX_SNAPDRAGON_HACKS=y + - SAUCE: wcn36xx: read MAC from file or randomly generate one + + * Lenovo V330 needs patch in ideapad_laptop module for rfkill (LP: #1774636) + - SAUCE: Add Lenovo V330 to the ideapad_laptop rfkill blacklist + + * register on binfmt_misc may overflow and crash the system (LP: #1775856) + - fs/binfmt_misc.c: do not allow offset overflow + + * Network installs fail on SocioNext board (LP: #1775884) + - net: socionext: reset hardware in ndo_stop + - net: netsec: enable tx-irq during open callback + + * Fix several bugs in RDMA/hns driver (LP: #1770974) + - RDMA/hns: Drop local zgid in favor of core defined variable + - RDMA/hns: Add 64KB page size support for hip08 + - RDMA/hns: Rename the idx field of db + - RDMA/hns: Modify uar allocation algorithm to avoid bitmap exhaust + - RDMA/hns: Increase checking CMQ status timeout value + - RDMA/hns: Add reset process for RoCE in hip08 + - RDMA/hns: Fix the illegal memory operation when cross page + - RDMA/hns: Implement the disassociate_ucontext API + + * powerpc/livepatch: Implement reliable stack tracing for the consistency + model (LP: #1771844) + - powerpc/livepatch: Implement reliable stack tracing for the consistency + model + + * Adding back alx WoL feature (LP: #1772610) + - SAUCE: Revert "alx: remove WoL support" + - SAUCE: alx: add enable_wol paramenter + + * Lancer A0 Asic HBA's won't boot with 18.04 (LP: #1768103) + - scsi: lpfc: Fix WQ/CQ creation for older asic's. + - scsi: lpfc: Fix 16gb hbas failing cq create. + + * [LTCTest][OPAL][OP920] cpupower idle-info is not listing stop4 and stop5 + idle states when all CORES are guarded (LP: #1771780) + - powerpc/powernv/cpuidle: Init all present cpus for deep states + + * Huawei 25G/100G Network Adapters Unsupported (LP: #1770970) + - net-next/hinic: add pci device ids for 25ge and 100ge card + + * Expose arm64 CPU topology to userspace (LP: #1770231) + - drivers: base: cacheinfo: move cache_setup_of_node() + - drivers: base: cacheinfo: setup DT cache properties early + - cacheinfo: rename of_node to fw_token + - arm64/acpi: Create arch specific cpu to acpi id helper + - ACPI/PPTT: Add Processor Properties Topology Table parsing + - [Config] CONFIG_ACPI_PPTT=y + - ACPI: Enable PPTT support on ARM64 + - drivers: base cacheinfo: Add support for ACPI based firmware tables + - arm64: Add support for ACPI based firmware tables + - arm64: topology: rename cluster_id + - arm64: topology: enable ACPI/PPTT based CPU topology + - ACPI: Add PPTT to injectable table list + - arm64: topology: divorce MC scheduling domain from core_siblings + + * Vcs-Git header on bionic linux source package points to zesty git tree + (LP: #1766055) + - [Packaging]: Update Vcs-Git + + * Request to revert SAUCE patches in the 18.04 SRU and update with upstream + version (LP: #1768431) + - scsi: cxlflash: Handle spurious interrupts + - scsi: cxlflash: Remove commmands from pending list on timeout + - scsi: cxlflash: Synchronize reset and remove ops + - SAUCE: (no-up) cxlflash: OCXL diff between v2 and v3 + + * hisi_sas robustness fixes (LP: #1774466) + - scsi: hisi_sas: delete timer when removing hisi_sas driver + - scsi: hisi_sas: print device id for errors + - scsi: hisi_sas: Add some checks to avoid free'ing a sas_task twice + - scsi: hisi_sas: check host frozen before calling "done" function + - scsi: hisi_sas: check sas_dev gone earlier in hisi_sas_abort_task() + - scsi: hisi_sas: stop controller timer for reset + - scsi: hisi_sas: update PHY linkrate after a controller reset + - scsi: hisi_sas: change slot index allocation mode + - scsi: hisi_sas: Change common allocation mode of device id + - scsi: hisi_sas: Reset disks when discovered + - scsi: hisi_sas: Create a scsi_host_template per HW module + - scsi: hisi_sas: Init disks after controller reset + - scsi: hisi_sas: Try wait commands before before controller reset + - scsi: hisi_sas: Include TMF elements in struct hisi_sas_slot + - scsi: hisi_sas: Add v2 hw force PHY function for internal ATA command + - scsi: hisi_sas: Terminate STP reject quickly for v2 hw + - scsi: hisi_sas: Fix return value when get_free_slot() failed + - scsi: hisi_sas: Mark PHY as in reset for nexus reset + + * hisi_sas: Support newer v3 hardware (LP: #1774467) + - scsi: hisi_sas: update RAS feature for later revision of v3 HW + - scsi: hisi_sas: check IPTT is valid before using it for v3 hw + - scsi: hisi_sas: fix PI memory size + - scsi: hisi_sas: config ATA de-reset as an constrained command for v3 hw + - scsi: hisi_sas: remove redundant handling to event95 for v3 + - scsi: hisi_sas: add readl poll timeout helper wrappers + - scsi: hisi_sas: workaround a v3 hw hilink bug + - scsi: hisi_sas: Add LED feature for v3 hw + + * hisi_sas: improve performance by optimizing DQ locking (LP: #1774472) + - scsi: hisi_sas: optimise the usage of DQ locking + - scsi: hisi_sas: relocate smp sg map + - scsi: hisi_sas: make return type of prep functions void + - scsi: hisi_sas: allocate slot buffer earlier + - scsi: hisi_sas: Don't lock DQ for complete task sending + - scsi: hisi_sas: Use device lock to protect slot alloc/free + - scsi: hisi_sas: add check of device in hisi_sas_task_exec() + - scsi: hisi_sas: fix a typo in hisi_sas_task_prep() + + * FS-Cache: Assertion failed: FS-Cache: 6 == 5 is false (LP: #1774336) + - SAUCE: CacheFiles: fix a read_waiter/read_copier race + + * enable mic-mute hotkey and led on Lenovo M820z and M920z (LP: #1774306) + - ALSA: hda/realtek - Enable mic-mute hotkey for several Lenovo AIOs + + * hns3 driver updates (LP: #1768670) + - net: hns3: Remove error log when getting pfc stats fails + - net: hns3: fix to correctly fetch l4 protocol outer header + - net: hns3: Fixes the out of bounds access in hclge_map_tqp + - net: hns3: Fixes the error legs in hclge_init_ae_dev function + - net: hns3: fix for phy_addr error in hclge_mac_mdio_config + - net: hns3: Fix to support autoneg only for port attached with phy + - net: hns3: fix a dead loop in hclge_cmd_csq_clean + - net: hns3: Fix for packet loss due wrong filter config in VLAN tbls + - net: hns3: Remove packet statistics in the range of 8192~12287 + - net: hns3: Add support of hardware rx-vlan-offload to HNS3 VF driver + - net: hns3: Fix for setting mac address when resetting + - net: hns3: remove add/del_tunnel_udp in hns3_enet module + - net: hns3: fix for cleaning ring problem + - net: hns3: refactor the loopback related function + - net: hns3: Fix for deadlock problem occurring when unregistering ae_algo + - net: hns3: Fix for the null pointer problem occurring when initializing + ae_dev failed + - net: hns3: Add a check for client instance init state + - net: hns3: Change return type of hnae3_register_ae_dev + - net: hns3: Change return type of hnae3_register_ae_algo + - net: hns3: Change return value in hnae3_register_client + - net: hns3: Fixes the back pressure setting when sriov is enabled + - net: hns3: Fix for fiber link up problem + - net: hns3: Add support of .sriov_configure in HNS3 driver + - net: hns3: Fixes the missing PCI iounmap for various legs + - net: hns3: Fixes error reported by Kbuild and internal review + - net: hns3: Fixes API to fetch ethernet header length with kernel default + - net: hns3: cleanup of return values in hclge_init_client_instance() + - net: hns3: Fix the missing client list node initialization + - net: hns3: Fix for hns3 module is loaded multiple times problem + - net: hns3: Use enums instead of magic number in hclge_is_special_opcode + - net: hns3: Fix for netdev not running problem after calling net_stop and + net_open + - net: hns3: Fixes kernel panic issue during rmmod hns3 driver + - net: hns3: Fix for CMDQ and Misc. interrupt init order problem + - net: hns3: Updates RX packet info fetch in case of multi BD + - net: hns3: Add support for tx_accept_tag2 and tx_accept_untag2 config + - net: hns3: Add STRP_TAGP field support for hardware revision 0x21 + - net: hns3: Add support to enable TX/RX promisc mode for H/W rev(0x21) + - net: hns3: Fix for PF mailbox receving unknown message + - net: hns3: Fixes the state to indicate client-type initialization + - net: hns3: Fixes the init of the VALID BD info in the descriptor + - net: hns3: Removes unnecessary check when clearing TX/RX rings + - net: hns3: Clear TX/RX rings when stopping port & un-initializing client + - net: hns3: Remove unused led control code + - net: hns3: Adds support for led locate command for copper port + - net: hns3: Fixes initalization of RoCE handle and makes it conditional + - net: hns3: Disable vf vlan filter when vf vlan table is full + - net: hns3: Add support for IFF_ALLMULTI flag + - net: hns3: Add repeat address checking for setting mac address + - net: hns3: Fix setting mac address error + - net: hns3: Fix for service_task not running problem after resetting + - net: hns3: Fix for hclge_reset running repeatly problem + - net: hns3: Fix for phy not link up problem after resetting + - net: hns3: Add missing break in misc_irq_handle + - net: hns3: Fix for vxlan tx checksum bug + - net: hns3: Optimize the PF's process of updating multicast MAC + - net: hns3: Optimize the VF's process of updating multicast MAC + - SAUCE: {topost} net: hns3: add support for serdes loopback selftest + - SAUCE: {topost} net: hns3: RX BD information valid only in last BD except + VLD bit and buffer size + - SAUCE: {topost} net: hns3: remove hclge_get_vector_index from + hclge_bind_ring_with_vector + - SAUCE: {topost} net: hns3: rename the interface for init_client_instance and + uninit_client_instance + - SAUCE: {topost} net: hns3: add vector status check before free vector + - SAUCE: {topost} net: hns3: add l4_type check for both ipv4 and ipv6 + - SAUCE: {topost} net: hns3: remove unused head file in hnae3.c + - SAUCE: {topost} net: hns3: extraction an interface for state state + init|uninit + - SAUCE: {topost} net: hns3: print the ret value in error information + - SAUCE: {topost} net: hns3: remove the Redundant put_vector in + hns3_client_uninit + - SAUCE: {topost} net: hns3: add unlikely for error check + - SAUCE: {topost} net: hns3: remove back in struct hclge_hw + - SAUCE: {topost} net: hns3: use lower_32_bits and upper_32_bits + - SAUCE: {topost} net: hns3: remove unused hclge_ring_to_dma_dir + - SAUCE: {topost} net: hns3: remove useless code in hclge_cmd_send + - SAUCE: {topost} net: hns3: remove some redundant assignments + - SAUCE: {topost} net: hns3: simplify hclge_cmd_csq_clean + - SAUCE: {topost} net: hns3: using modulo for cyclic counters in + hclge_cmd_send + - SAUCE: {topost} net: hns3: remove a redundant hclge_cmd_csq_done + - SAUCE: {topost} net: hns3: remove some unused members of some structures + - SAUCE: {topost} net: hns3: give default option while dependency HNS3 set + - SAUCE: {topost} net: hns3: use dma_zalloc_coherent instead of + kzalloc/dma_map_single + - SAUCE: {topost} net: hns3: modify hnae_ to hnae3_ + - SAUCE: {topost} net: hns3: fix unused function warning in VF driver + - SAUCE: {topost} net: hns3: remove some redundant assignments + - SAUCE: {topost} net: hns3: standardize the handle of return value + - SAUCE: {topost} net: hns3: remove extra space and brackets + - SAUCE: {topost} net: hns3: fix unreasonable code comments + - SAUCE: {topost} net: hns3: use decimal for bit offset macros + - SAUCE: {topost} net: hns3: modify inconsistent bit mask macros + - SAUCE: {topost} net: hns3: fix mislead parameter name + - SAUCE: {topost} net: hns3: remove unused struct member and definition + - SAUCE: {topost} net: hns3: Add SPDX tags to hns3 driver + - SAUCE: {topost} net: hns3: Add pf reset for hip08 RoCE + - SAUCE: {topost} net: hns3: optimize the process of notifying roce client + - SAUCE: {topost} net: hns3: Add calling roce callback function when link + status change + - SAUCE: {topost} net: hns3: fix tc setup when netdev is first up + - SAUCE: {topost} net: hns3: fix for mac pause not disable in pfc mode + - SAUCE: {topost} net: hns3: fix for waterline not setting correctly + - SAUCE: {topost} net: hns3: fix for l4 checksum offload bug + - SAUCE: {topost} net: hns3: fix for mailbox message truncated problem + - SAUCE: {topost} net: hns3: Add configure for mac minimal frame size + - SAUCE: {topost} net: hns3: fix warning bug when doing lp selftest + - SAUCE: {topost} net: hns3: fix get_vector ops in hclgevf_main module + - SAUCE: {topost} net: hns3: remove the warning when clear reset cause + - SAUCE: {topost} net: hns3: Use roce handle when calling roce callback + function + - SAUCE: {topost} net: hns3: prevent sending command during global or core + reset + - SAUCE: {topost} net: hns3: modify the order of initializeing command queue + register + - SAUCE: {topost} net: hns3: reset net device with rtnl_lock + - SAUCE: {topost} net: hns3: prevent to request reset frequently + - SAUCE: {topost} net: hns3: correct reset event status register + - SAUCE: {topost} net: hns3: separate roce from nic when resetting + - SAUCE: net: hns3: Fix for phy link issue when using marvell phy driver + - SAUCE: {topost} net: hns3: fix return value error in + hns3_reset_notify_down_enet + - SAUCE: {topost} net: hns3: remove unnecessary ring configuration operation + while resetting + - SAUCE: {topost} net: hns3: fix for reset_level default assignment probelm + - SAUCE: {topost} net: hns3: fix for using wrong mask and shift in + hclge_get_ring_chain_from_mbx + - SAUCE: {topost} net: hns3: fix comments for hclge_get_ring_chain_from_mbx + - SAUCE: net: hns3: Fix for VF mailbox cannot receiving PF response + - SAUCE: net: hns3: Fix for VF mailbox receiving unknown message + - SAUCE: net: hns3: Optimize PF CMDQ interrupt switching process + + * CVE-2018-7755 + - SAUCE: floppy: Do not copy a kernel pointer to user memory in FDGETPRM ioctl + + * Incorrect blacklist of bcm2835_wdt (LP: #1766052) + - [Packaging] Fix missing watchdog for Raspberry Pi + + * kernel: Fix arch random implementation (LP: #1775391) + - s390/archrandom: Rework arch random implementation. + + * [Ubuntu 1804][boston][ixgbe] EEH causes kernel BUG at /build/linux- + jWa1Fv/linux-4.15.0/drivers/pci/msi.c:352 (i2S) (LP: #1776389) + - ixgbe/ixgbevf: Free IRQ when PCI error recovery removes the device + + * Cosmic update to v4.17.2 stable release (LP: #1779117) + - crypto: chelsio - request to HW should wrap + - blkdev_report_zones_ioctl(): Use vmalloc() to allocate large buffers + - KVM: X86: Fix reserved bits check for MOV to CR3 + - KVM: x86: introduce linear_{read,write}_system + - kvm: fix typo in flag name + - kvm: nVMX: Enforce cpl=0 for VMX instructions + - KVM: x86: pass kvm_vcpu to kvm_read_guest_virt and + kvm_write_guest_virt_system + - kvm: x86: use correct privilege level for sgdt/sidt/fxsave/fxrstor access + - staging: android: ion: Switch to pr_warn_once in ion_buffer_destroy + - NFC: pn533: don't send USB data off of the stack + - usbip: vhci_sysfs: fix potential Spectre v1 + - usb-storage: Add support for FL_ALWAYS_SYNC flag in the UAS driver + - usb-storage: Add compatibility quirk flags for G-Technologies G-Drive + - Input: xpad - add GPD Win 2 Controller USB IDs + - phy: qcom-qusb2: Fix crash if nvmem cell not specified + - usb: core: message: remove extra endianness conversion in + usb_set_isoch_delay + - usb: typec: wcove: Remove dependency on HW FSM + - usb: gadget: function: printer: avoid wrong list handling in printer_write() + - usb: gadget: udc: renesas_usb3: fix double phy_put() + - usb: gadget: udc: renesas_usb3: should remove debugfs + - usb: gadget: udc: renesas_usb3: should call pm_runtime_enable() before add + udc + - usb: gadget: udc: renesas_usb3: should call devm_phy_get() before add udc + - usb: gadget: udc: renesas_usb3: should fail if devm_phy_get() returns error + - usb: gadget: udc: renesas_usb3: disable the controller's irqs for + reconnecting + - serial: sh-sci: Stop using printk format %pCr + - tty/serial: atmel: use port->name as name in request_irq() + - serial: samsung: fix maxburst parameter for DMA transactions + - serial: 8250: omap: Fix idling of clocks for unused uarts + - vmw_balloon: fixing double free when batching mode is off + - doc: fix sysfs ABI documentation + - arm64: defconfig: Enable CONFIG_PINCTRL_MT7622 by default + - tty: pl011: Avoid spuriously stuck-off interrupts + - crypto: ccree - correct host regs offset + - Input: goodix - add new ACPI id for GPD Win 2 touch screen + - Input: elan_i2c - add ELAN0612 (Lenovo v330 14IKB) ACPI ID + - crypto: caam - strip input zeros from RSA input buffer + - crypto: caam - fix DMA mapping dir for generated IV + - crypto: caam - fix IV DMA mapping and updating + - crypto: caam/qi - fix IV DMA mapping and updating + - crypto: caam - fix size of RSA prime factor q + - crypto: cavium - Fix fallout from CONFIG_VMAP_STACK + - crypto: cavium - Limit result reading attempts + - crypto: vmx - Remove overly verbose printk from AES init routines + - crypto: vmx - Remove overly verbose printk from AES XTS init + - crypto: omap-sham - fix memleak + - Linux 4.17.2 + + * Cosmic update to v4.17.1 stable release (LP: #1779116) + - netfilter: nf_flow_table: attach dst to skbs + - bnx2x: use the right constant + - ip6mr: only set ip6mr_table from setsockopt when ip6mr_new_table succeeds + - ipv6: omit traffic class when calculating flow hash + - l2tp: fix refcount leakage on PPPoL2TP sockets + - netdev-FAQ: clarify DaveM's position for stable backports + - net: metrics: add proper netlink validation + - net/packet: refine check for priv area size + - rtnetlink: validate attributes in do_setlink() + - sctp: not allow transport timeout value less than HZ/5 for hb_timer + - team: use netdev_features_t instead of u32 + - vrf: check the original netdevice for generating redirect + - net: dsa: b53: Fix for brcm tag issue in Cygnus SoC + - ipmr: fix error path when ipmr_new_table fails + - PCI: hv: Do not wait forever on a device that has disappeared + - Linux 4.17.1 + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: SAUCE: crypto: thunderx_zip: Fix fallout from + CONFIG_VMAP_STACK" + - Revert "UBUNTU: SAUCE: cred: Add clone_cred() interface" + - SAUCE: apparmor: userspace queries + - SAUCE: apparmor: patch to provide compatibility with v2.x net rules + - SAUCE: apparmor: af_unix mediation + + -- Seth Forshee Thu, 28 Jun 2018 08:03:32 -0500 + +linux (4.17.0-2.3) cosmic; urgency=medium + + * linux: 4.17.0-2.3 -proposed tracker (LP: #1776276) + + * Miscellaneous Ubuntu changes + - Config: remove IrDA from annotations + - Config: remove scsi drivers from annotations + - Config: remove BT_HCIBTUART from annotations + - Config: pstore zlib support was renamed + - Config: disable NVRAM for armhf on annotations + - Config: Disable VT on s390x + - Config: Update SSB and B43/B44 options + - Config: some options not supported on some arches anymore + - Config: renamed and removed options + - Config: TCG_CRB is required for IMA on ACPI systems + - Config: EXTCON_AXP288 depends on X86 + - Config: CONFIG_FSI depends on OF + - Config: DRM_RCAR_LVDS now depends on DRM + - CONFIG: Allow CONFIG_LEDS_MLXCPLD for i386 + - Config: Enable HINIC on arm64 + - Config: Set PPS and PTP_1588_CLOCK as y + - Config: Some NF_TABLES options are built-in now + - Config: GENERIC_CPU for ppc64el + - Config: KEXEC_FILE=n for s390x + - Config: CRYPTO_DEFLATE is needed by PSTORE_DEFLATE_COMPRESS + - Config: Disable STM32 support + - Config: Enable FORTIFY_SOURCE for armhf + - Config: use STRONG instead of AUTO for CC_STACKPROTECTOR + + [ Upstream Kernel Changes ] + + * Rebase to v4.17 + + -- Thadeu Lima de Souza Cascardo Mon, 11 Jun 2018 15:22:10 -0300 + +linux (4.17.0-1.2) cosmic; urgency=medium + + [ Seth Forshee ] + * [Config] enable EDAC_DEBUG on ARM64 (LP: #1772516) + - [Config]: set CONFIG_EDAC_DEBUG=y for ARM64 + + * Ubuntu 18.04 kernel crashed while in degraded mode (LP: #1770849) + - SAUCE: powerpc/perf: Fix memory allocation for core-imc based on + num_possible_cpus() + + * Integrated Webcam Realtek Integrated_Webcam_HD (0bda:58f4) not working in + DELL XPS 13 9370 with firmware 1.50 (LP: #1763748) + - SAUCE: media: uvcvideo: Support realtek's UVC 1.5 device + + * Switch Build-Depends: transfig to fig2dev (LP: #1770770) + - [Config] update Build-Depends: transfig to fig2dev + + * update-initramfs not adding i915 GuC firmware for Kaby Lake, firmware fails + to load (LP: #1728238) + - Revert "UBUNTU: SAUCE: (no-up) i915: Remove MODULE_FIRMWARE statements for + unreleased firmware" + + * No driver for Huawei network adapters on arm64 (LP: #1769899) + - net-next/hinic: add arm64 support + + * linux-snapdragon: reduce EPROBEDEFER noise during boot (LP: #1768761) + - [Config] snapdragon: DRM_I2C_ADV7511=y + + * Add d-i support for Huawei NICs (LP: #1767490) + - d-i: add hinic to nic-modules udeb + + * Acer Swift sf314-52 power button not managed (LP: #1766054) + - SAUCE: platform/x86: acer-wmi: add another KEY_POWER keycode + + * Include nfp driver in linux-modules (LP: #1768526) + - [Config] Add nfp.ko to generic inclusion list + + * Miscellaneous Ubuntu changes + - SAUCE: Import aufs driver + - [Config] Enable AUFS config options + - SAUCE: (efi-lockdown) Fix for module sig verification + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) efi: Don't print secure boot state from the efi stub + - [Config] CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT=y + - SAUCE: (efi-lockdown) really lock down kernel under EFI secure boot + - SAUCE: (noup) Update spl to 0.7.5-1ubuntu3, zfs to 0.7.5-1ubuntu17 + - enable zfs build + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: (efi-lockdown) ima: require secure_boot rules in + lockdown mode" + - Rebased to v4.17-rc6 + + -- Thadeu Lima de Souza Cascardo Tue, 22 May 2018 14:48:13 -0300 + +linux (4.17.0-0.1) bionic; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v4.17-rc4 + + -- Thadeu Lima de Souza Cascardo Tue, 08 May 2018 16:38:51 -0300 + +linux (4.17.0-0.0) bionic; urgency=medium + + * Dummy entry. + + -- Thadeu Lima de Souza Cascardo Fri, 27 Apr 2018 11:01:13 -0300 + +linux (4.16.0-4.5) bionic; urgency=medium + + * [18.04 FEAT] Add kvm_stat from kernel tree (LP: #1734130) + - tools/kvm_stat: Fix python3 syntax + - tools/kvm_stat: Don't use deprecated file() + - tools/kvm_stat: Remove unused function + - [Packaging] Add linux-tools-host package for VM host tools + - [Config] do_tools_host=true for amd64 + + * [Featire] CNL: Enable RAPL support (LP: #1685712) + - powercap: RAPL: Add support for Cannon Lake + + * Bionic update to v4.16.2 stable release (LP: #1763388) + - sparc64: Oracle DAX driver depends on SPARC64 + - arp: fix arp_filter on l3slave devices + - net: dsa: Discard frames from unused ports + - net/ipv6: Increment OUTxxx counters after netfilter hook + - net/sched: fix NULL dereference in the error path of tcf_bpf_init() + - pptp: remove a buggy dst release in pptp_connect() + - sctp: do not leak kernel memory to user space + - sctp: sctp_sockaddr_af must check minimal addr length for AF_INET6 + - vlan: also check phy_driver ts_info for vlan's real device + - net: fool proof dev_valid_name() + - ip_tunnel: better validate user provided tunnel names + - ipv6: sit: better validate user provided tunnel names + - ip6_gre: better validate user provided tunnel names + - ip6_tunnel: better validate user provided tunnel names + - vti6: better validate user provided tunnel names + - net_sched: fix a missing idr_remove() in u32_delete_key() + - nfp: use full 40 bits of the NSP buffer address + - Linux 4.16.2 + + * sky2 gigabit ethernet driver sometimes stops working after lid-open resume + from sleep (88E8055) (LP: #1758507) // Bionic update to v4.16.2 stable + release (LP: #1763388) + - sky2: Increase D3 delay to sky2 stops working after suspend + + * Merge the linux-snapdragon kernel into bionic master/snapdragon + (LP: #1763040) + - arm64: defconfig: enable REMOTEPROC + - arm64: defconfig: enable QCOM audio drivers for APQ8016 and DB410c + - kernel: configs; add distro.config + - arm64: configs: enable WCN36xx + - kernel: distro.config: enable debug friendly USB network adpater + - arm64: configs: enable QCOM Venus + - arm64: defconfig: Enable a53/apcs and avs + - arm64: defconfig: enable ondemand governor as default + - arm64: defconfig: enable QCOM_TSENS + - kernel: configs: enable dm_mod and dm_crypt + - Force the SMD regulator driver to be compiled-in + - arm64: defconfig: enable CFG80211_DEFAULT_PS by default + - arm64: configs: enable BT_QCOMSMD + - kernel: configs: add more USB net drivers + - arm64: defconfig: disable ANALOG_TV and DIGITAL_TV + - arm64: configs: Enable camera drivers + - kernel: configs: add freq stat to sysfs + - arm64: defconfig: enable CONFIG_USB_CONFIGFS_F_FS by default + - arm64: defconfig: Enable QRTR features + - kernel: configs: set USB_CONFIG_F_FS in distro.config + - kernel: distro.config: enable 'schedutil' CPUfreq governor + - kernel: distro.config: enable 'fq' and 'fq_codel' qdiscs + - kernel: distro.config: enable 'BBR' TCP congestion algorithm + - arm64: defconfig: enable LEDS_QCOM_LPG + - HACK: drm/msm/iommu: Remove runtime_put calls in map/unmap + - power: avs: Add support for CPR (Core Power Reduction) + - power: avs: cpr: Use raw mem access for qfprom + - power: avs: cpr: fix with new reg_sequence structures + - power: avs: cpr: Register with cpufreq-dt + - regulator: smd: Add floor and corner operations + - PM / OPP: Support adjusting OPP voltages at runtime + - PM / OPP: Drop RCU usage in dev_pm_opp_adjust_voltage() + - PM / OPP: HACK: Allow to set regulator without opp_list + - PM / OPP: Add a helper to get an opp regulator for device + - cpufreq: Add apq8016 to cpufreq-dt-platdev blacklist + - regulator: smd: Allow REGULATOR_QCOM_SMD_RPM=m + - ov5645: I2C address change + - i2c: Add Qualcomm Camera Control Interface driver + - camss: vfe: Skip first four frames from sensor + - camss: Do not register if no cameras are present + - i2c-qcom-cci: Fix run queue completion timeout + - i2c-qcom-cci: Fix I2C address bug + - media: ov5645: Fix I2C address + - drm/bridge/adv7511: Delay clearing of HPD interrupt status + - HACK: drm/msm/adv7511: Don't rely on interrupts for EDID parsing + - leds: Add driver for Qualcomm LPG + - wcn36xx: Fix warning due to duplicate scan_completed notification + - arm64: dts: Add CPR DT node for msm8916 + - arm64: dts: add spmi-regulator nodes + - arm64: dts: msm8916: Add cpufreq support + - arm64: dts: msm8916: Add a shared CPU opp table + - arm64: dts: msm8916: Add cpu cooling maps + - arm64: dts: pm8916: Mark the s2 regulator as always-on + - arm64: dts: qcom: msm8916: Add msm8916 A53 PLL DT node + - arm64: dts: qcom: msm8916: Use the new APCS mailbox driver + - arm64: dts: qcom: msm8916: Add clock properties to the APCS node + - dt-bindings: media: Binding document for Qualcomm Camera Control Interface + driver + - MAINTAINERS: Add Qualcomm Camera Control Interface driver + - DT: leds: Add Qualcomm Light Pulse Generator binding + - arm64: dts: qcom: msm8996: Add mpp and lpg blocks + - arm64: dts: qcom: Add pwm node for pm8916 + - arm64: dts: qcom: Add user LEDs on db820c + - arm64: dts: qcom: Add WiFI/BT LEDs on db820c + - ARM: dts: qcom: Add LPG node to pm8941 + - ARM: dts: qcom: honami: Add LPG node and RGB LED + - arm64: dts: qcom: Add Camera Control Interface support + - arm64: dts: qcom: Add apps_iommu vfe child node + - arm64: dts: qcom: Add camss device node + - arm64: dts: qcom: Add ov5645 device nodes + - arm64: dts: msm8916: Fix camera sensors I2C addresses + - arm: dts: qcom: db410c: Enable PWM signal on MPP4 + - packaging: arm64: add a uboot flavour - part1 + - packaging: arm64: add a uboot flavour - part2 + - packaging: arm64: add a uboot flavour - part3 + - packaging: arm64: add a uboot flavour - part4 + - packaging: arm64: add a uboot flavour - part5 + - packaging: arm64: rename uboot flavour to snapdragon + - [Config] updateconfigs after qcomlt import + - [Config] arm64: snapdragon: COMMON_CLK_QCOM=y + - [Config] arm64: snapdragon: MSM_GCC_8916=y + - [Config] arm64: snapdragon: REGULATOR_FIXED_VOLTAGE=y + - [Config] arm64: snapdragon: PINCTRL_MSM8916=y + - [Config] arm64: snapdragon: HWSPINLOCK_QCOM=y + - [Config] arm64: snapdragon: SPMI=y, SPMI_MSM_PMIC_ARB=y + - [Config] arm64: snapdragon: REGMAP_SPMI=y, PINCTRL_QCOM_SPMI_PMIC=y + - [Config] arm64: snapdragon: REGULATOR_QCOM_SPMI=y + - [Config] arm64: snapdragon: MFD_SPMI_PMIC=y + - [Config] arm64: snapdragon: QCOM_SMEM=y + - [Config] arm64: snapdragon: RPMSG=y, RPMSG_QCOM_SMD=y + - [Config] arm64: snapdragon: QCOM_SMD_RPM=y, REGULATOR_QCOM_SMD_RPM=y + - [Config] arm64: snapdragon: QCOM_CLK_SMD_RPM=y + - [Config] arm64: snapdragon: QCOM_BAM_DMA=y + - [Config] arm64: snapdragon: QCOM_HIDMA=y, QCOM_HIDMA_MGMT=y + - [Config] arm64: snapdragon: QCOM_CPR=y + - [Config] arm64: snapdragon: QCOM_QFPROM=y, QCOM_TSENS=y + - [Config] arm64: snapdragon: MMC_SDHCI=y, MMC_SDHCI_PLTFM=y, MMC_SDHCI_MSM=y + - [Config] turn off DRM_MSM_REGISTER_LOGGING + - [Config] arm64: snapdragon: I2C_QUP=y + - [Config] arm64: snapdragon: SPI_QUP=y + - [Config] arm64: snapdragon: USB_ULPI_BUS=y, PHY_QCOM_USB_HS=y + - [Config] arm64: snapdragon: QCOM_APCS_IPC=y + - [Config] arm64: snapdragon: QCOM_WCNSS_CTRL=y + - [Config] arm64: snapdragon: QCOM_SMSM=y + - [Config] arm64: snapdragon: QCOM_SMP2P=y + - [Config] arm64: snapdragon: DRM_MSM=y + - [Config] arm64: snapdragon: SND_SOC=y + - [Config] arm64: snapdragon: QCOM_WCNSS_PIL=m + - [Config] arm64: snapdragon: INPUT_PM8941_PWRKEY=y + - [Config] arm64: snapdragon: MEDIA_SUBDRV_AUTOSELECT=y, VIDEO_OV5645=m + - [Config] arm64: snapdragon: SND_SOC_APQ8016_SBC=y, SND_SOC_LPASS_APQ8016=y + - [Config] arm64: snapdragon: SND_SOC_MSM8916_WCD_ANALOG=y, + SND_SOC_MSM8916_WCD_DIGITAL=y + - SAUCE: media: ov5645: skip address change if dt addr == default addr + - SAUCE: drm/msm/adv7511: wrap hacks under CONFIG_ADV7511_SNAPDRAGON_HACKS + #ifdefs + - [Config] arm64: snapdragon: ADV7511_SNAPDRAGON_HACKS=y + - [Packaging] fix up snapdragon abi paths + + * LSM stacking patches for bionic (LP: #1763062) + - SAUCE: LSM stacking: procfs: add smack subdir to attrs + - SAUCE: LSM stacking: LSM: Manage credential security blobs + - SAUCE: LSM stacking: LSM: Manage file security blobs + - SAUCE: LSM stacking: LSM: Manage task security blobs + - SAUCE: LSM stacking: LSM: Manage remaining security blobs + - SAUCE: LSM stacking: LSM: General stacking + - SAUCE: LSM stacking: fixup initialize task->security + - SAUCE: LSM stacking: fixup: alloc_task_ctx is dead code + - SAUCE: LSM stacking: add support for stacking getpeersec_stream + - SAUCE: LSM stacking: add stacking support to apparmor network hooks + - SAUCE: LSM stacking: fixup apparmor stacking enablement + - SAUCE: LSM stacking: fixup stacking kconfig + - SAUCE: LSM stacking: allow selecting multiple LSMs using kernel boot params + - SAUCE: LSM stacking: provide prctl interface for setting context + - SAUCE: LSM stacking: inherit current display LSM + - SAUCE: LSM stacking: keep an index for each registered LSM + - SAUCE: LSM stacking: verify display LSM + - SAUCE: LSM stacking: provide a way to specify the default display lsm + - SAUCE: LSM stacking: make sure LSM blob align on 64 bit boundaries + - SAUCE: LSM stacking: add /proc//attr/display_lsm + - SAUCE: LSM stacking: add Kconfig to set default display LSM + - SAUCE: LSM stacking: add configs for LSM stacking + - SAUCE: LSM stacking: add apparmor and selinux proc dirs + - SAUCE: LSM stacking: remove procfs context interface + + * linux 4.13.0-13.14 ADT test failure with linux 4.13.0-13.14 + (LP: #1720779) // LSM stacking patches for bionic (LP: #1763062) + - SAUCE: LSM stacking: check for invalid zero sized writes + + * Support cq/rq record doorbell for RDMA on HSilicon hip08 systems + (LP: #1762755) + - RDMA/hns: Support rq record doorbell for the user space + - RDMA/hns: Support cq record doorbell for the user space + - RDMA/hns: Support rq record doorbell for kernel space + - RDMA/hns: Support cq record doorbell for kernel space + - RDMA/hns: Fix cqn type and init resp + - RDMA/hns: Fix init resp when alloc ucontext + - RDMA/hns: Fix cq record doorbell enable in kernel + + * Replace LPC patchset with upstream version (LP: #1762758) + - Revert "UBUNTU: SAUCE: MAINTAINERS: Add maintainer for HiSilicon LPC driver" + - Revert "UBUNTU: SAUCE: HISI LPC: Add ACPI support" + - Revert "UBUNTU: SAUCE: ACPI / scan: do not enumerate Indirect IO host + children" + - Revert "UBUNTU: SAUCE: HISI LPC: Support the LPC host on Hip06/Hip07 with DT + bindings" + - Revert "UBUNTU: SAUCE: OF: Add missing I/O range exception for indirect-IO + devices" + - Revert "UBUNTU: SAUCE: PCI: Apply the new generic I/O management on PCI IO + hosts" + - Revert "UBUNTU: SAUCE: PCI: Add fwnode handler as input param of + pci_register_io_range()" + - Revert "UBUNTU: SAUCE: PCI: Remove unused __weak attribute in + pci_register_io_range()" + - Revert "UBUNTU: SAUCE: LIB: Introduce a generic PIO mapping method" + - lib: Add generic PIO mapping method + - PCI: Remove __weak tag from pci_register_io_range() + - PCI: Add fwnode handler as input param of pci_register_io_range() + - PCI: Apply the new generic I/O management on PCI IO hosts + - of: Add missing I/O range exception for indirect-IO devices + - HISI LPC: Support the LPC host on Hip06/Hip07 with DT bindings + - ACPI / scan: Rename acpi_is_serial_bus_slave() for more general use + - ACPI / scan: Do not enumerate Indirect IO host children + - HISI LPC: Add ACPI support + - MAINTAINERS: Add John Garry as maintainer for HiSilicon LPC driver + + * Enable Tunneled Operations on POWER9 (LP: #1762448) + - powerpc/powernv: Enable tunneled operations + - cxl: read PHB indications from the device tree + + * PSL traces reset after PERST for debug AFU image (LP: #1762462) + - cxl: Enable NORST bit in PSL_DEBUG register for PSL9 + + * NFS + sec=krb5 is broken (LP: #1759791) + - sunrpc: remove incorrect HMAC request initialization + + * Raspberry Pi 3 microSD support missing from the installer (LP: #1729128) + - d-i: add bcm2835 to block-modules + + * Backport USB core quirks (LP: #1762695) + - usb: core: Add "quirks" parameter for usbcore + - usb: core: Copy parameter string correctly and remove superfluous null check + - usb: core: Add USB_QUIRK_DELAY_CTRL_MSG to usbcore quirks + + * [Ubuntu 18.04] cryptsetup: 'device-mapper: reload ioctl on failed' when + setting up a second end-to-end encrypted disk (LP: #1762353) + - SAUCE: s390/crypto: Adjust s390 aes and paes cipher + + * System Z {kernel} UBUNTU18.04 wrong kernel config (LP: #1762719) + - s390: move nobp parameter functions to nospec-branch.c + - s390: add automatic detection of the spectre defense + - s390: report spectre mitigation via syslog + - s390: add sysfs attributes for spectre + - [Config] CONFIG_EXPOLINE_AUTO=y, CONFIG_KERNEL_NOBP=n for s390 + - s390: correct nospec auto detection init order + + * Additional spectre and meltdown patches (LP: #1760099) // CVE-2017-5715 + - powerpc/64s: Wire up cpu_show_spectre_v2() + + * Additional spectre and meltdown patches (LP: #1760099) // CVE-2017-5753 + - powerpc/64s: Wire up cpu_show_spectre_v1() + + * Additional spectre and meltdown patches (LP: #1760099) // CVE-2017-5754 + - powerpc/rfi-flush: Move the logic to avoid a redo into the debugfs code + - powerpc/rfi-flush: Make it possible to call setup_rfi_flush() again + - powerpc/rfi-flush: Always enable fallback flush on pseries + - powerpc/rfi-flush: Differentiate enabled and patched flush types + - powerpc/rfi-flush: Call setup_rfi_flush() after LPM migration + - powerpc/64s: Move cpu_show_meltdown() + - powerpc/64s: Enhance the information in cpu_show_meltdown() + - powerpc/powernv: Use the security flags in pnv_setup_rfi_flush() + - powerpc/pseries: Use the security flags in pseries_setup_rfi_flush() + + * Additional spectre and meltdown patches (LP: #1760099) // CVE-2017-5715 // + CVE-2017-5753 // CVE-2017-5754 + - powerpc/pseries: Add new H_GET_CPU_CHARACTERISTICS flags + - powerpc: Add security feature flags for Spectre/Meltdown + - powerpc/pseries: Set or clear security feature flags + - powerpc/powernv: Set or clear security feature flags + + * Hisilicon network subsystem 3 support (LP: #1761610) + - net: hns3: export pci table of hclge and hclgevf to userspace + - d-i: Add hns3 drivers to nic-modules + + * "ip a" command on a guest VM shows UNKNOWN status (LP: #1761534) + - virtio-net: Fix operstate for virtio when no VIRTIO_NET_F_STATUS + + * perf vendor events arm64: Enable JSON events for ThunderX2 B0 (LP: #1760712) + - perf vendor events: Drop incomplete multiple mapfile support + - perf vendor events: Fix error code in json_events() + - perf vendor events: Drop support for unused topic directories + - perf vendor events: Add support for pmu events vendor subdirectory + - perf vendor events arm64: Relocate ThunderX2 JSON to cavium subdirectory + - perf vendor events arm64: Relocate Cortex A53 JSONs to arm subdirectory + - perf vendor events: Add support for arch standard events + - perf vendor events arm64: Add armv8-recommended.json + - perf vendor events arm64: Fixup ThunderX2 to use recommended events + - perf vendor events arm64: fixup A53 to use recommended events + - perf vendor events arm64: add HiSilicon hip08 JSON file + - perf vendor events arm64: Enable JSON events for ThunderX2 B0 + + * Warning "cache flush timed out!" seen when unloading the cxl driver + (LP: #1762367) + - cxl: Check if PSL data-cache is available before issue flush request + + * Bionic update to v4.16.1 stable release (LP: #1763170) + - bitmap: fix memset optimization on big-endian systems + - USB: serial: ftdi_sio: add RT Systems VX-8 cable + - USB: serial: ftdi_sio: add support for Harman FirmwareHubEmulator + - USB: serial: cp210x: add ELDAT Easywave RX09 id + - serial: 8250: Add Nuvoton NPCM UART + - mei: remove dev_err message on an unsupported ioctl + - /dev/mem: Avoid overwriting "err" in read_mem() + - media: usbtv: prevent double free in error case + - parport_pc: Add support for WCH CH382L PCI-E single parallel port card. + - crypto: lrw - Free rctx->ext with kzfree + - crypto: ccp - Fill the result buffer only on digest, finup, and final ops + - crypto: talitos - don't persistently map req_ctx->hw_context and + req_ctx->buf + - crypto: inside-secure - fix clock management + - crypto: testmgr - Fix incorrect values in PKCS#1 test vector + - crypto: talitos - fix IPsec cipher in length + - crypto: ahash - Fix early termination in hash walk + - crypto: caam - Fix null dereference at error path + - crypto: ccp - return an actual key size from RSA max_size callback + - crypto: arm,arm64 - Fix random regeneration of S_shipped + - crypto: x86/cast5-avx - fix ECB encryption when long sg follows short one + - Bluetooth: hci_bcm: Add 6 new ACPI HIDs + - Btrfs: fix unexpected cow in run_delalloc_nocow + - siox: fix possible buffer overflow in device_add_store + - staging: comedi: ni_mio_common: ack ai fifo error interrupts. + - Revert "base: arch_topology: fix section mismatch build warnings" + - Input: ALPS - fix TrackStick detection on Thinkpad L570 and Latitude 7370 + - Input: i8042 - add Lenovo ThinkPad L460 to i8042 reset list + - Input: i8042 - enable MUX on Sony VAIO VGN-CS series to fix touchpad + - vt: change SGR 21 to follow the standards + - Fix slab name "biovec-(1<<(21-12))" + - signal: Correct the offset of si_pkey and si_lower in struct siginfo on m68k + - Linux 4.16.1 + + * [18.04][config] regression: nvme and nvme_core couldn't be built as modules + starting 4.15-rc2 (LP: #1759893) + - SAUCE: Revert "lightnvm: include NVM Express driver if OCSSD is selected for + build" + - [Config] CONFIG_BLK_DEV_NMVE=m + + * FFe: Enable configuring resume offset via sysfs (LP: #1760106) + - PM / hibernate: Make passing hibernate offsets more friendly + + * Ubuntu18.04:POWER9:DD2.2 - Unable to start a KVM guest with default machine + type(pseries-bionic) complaining "KVM implementation does not support + Transactional Memory, try cap-htm=off" (kvm) (LP: #1752026) + - powerpc: Use feature bit for RTC presence rather than timebase presence + - powerpc: Book E: Remove unused CPU_FTR_L2CSR bit + - powerpc: Free up CPU feature bits on 64-bit machines + - powerpc: Add CPU feature bits for TM bug workarounds on POWER9 v2.2 + - powerpc/powernv: Provide a way to force a core into SMT4 mode + - KVM: PPC: Book3S HV: Work around transactional memory bugs in POWER9 + - KVM: PPC: Book3S HV: Work around XER[SO] bug in fake suspend mode + - KVM: PPC: Book3S HV: Work around TEXASR bug in fake suspend state + + * [Feature][CFL][ICL] [CNL]Thunderbolt support (Titan Ridge) (LP: #1730775) + - thunderbolt: Resume control channel after hibernation image is created + - thunderbolt: Serialize PCIe tunnel creation with PCI rescan + - thunderbolt: Handle connecting device in place of host properly + - thunderbolt: Do not overwrite error code when domain adding fails + - thunderbolt: Wait a bit longer for root switch config space + - thunderbolt: Wait a bit longer for ICM to authenticate the active NVM + - thunderbolt: Handle rejected Thunderbolt devices + - thunderbolt: Factor common ICM add and update operations out + - thunderbolt: Correct function name in kernel-doc comment + - thunderbolt: Add tb_switch_get() + - thunderbolt: Add tb_switch_find_by_route() + - thunderbolt: Add tb_xdomain_find_by_route() + - thunderbolt: Add constant for approval timeout + - thunderbolt: Move driver ready handling to struct icm + - thunderbolt: Add 'boot' attribute for devices + - thunderbolt: Add support for preboot ACL + - thunderbolt: Introduce USB only (SL4) security level + - thunderbolt: Add support for Intel Titan Ridge + + * QCA9377 requires more IRAM banks for its new firmware (LP: #1748345) + - ath10k: update the IRAM bank number for QCA9377 + + * Fix an issue that when system in S3, USB keyboard can't wake up the system. + (LP: #1759511) + - ACPI / PM: Allow deeper wakeup power states with no _SxD nor _SxW + + * cxl: Fix timebase synchronization status on POWER9 missing (CAPI) + (LP: #1757228) + - cxl: Fix timebase synchronization status on P9 + + * [Feature]Update Ubuntu 18.04 lpfc FC driver with 32/64GB HBA support and bug + fixes (LP: #1752182) + - scsi: lpfc: Fix frequency of Release WQE CQEs + - scsi: lpfc: Increase CQ and WQ sizes for SCSI + - scsi: lpfc: move placement of target destroy on driver detach + - scsi: lpfc: correct debug counters for abort + - scsi: lpfc: Add WQ Full Logic for NVME Target + - scsi: lpfc: Fix PRLI handling when topology type changes + - scsi: lpfc: Fix IO failure during hba reset testing with nvme io. + - scsi: lpfc: Fix RQ empty firmware trap + - scsi: lpfc: Allow set of maximum outstanding SCSI cmd limit for a target + - scsi: lpfc: Fix soft lockup in lpfc worker thread during LIP testing + - scsi: lpfc: Fix issue_lip if link is disabled + - scsi: lpfc: Indicate CONF support in NVMe PRLI + - scsi: lpfc: Fix SCSI io host reset causing kernel crash + - scsi: lpfc: Validate adapter support for SRIU option + - scsi: lpfc: Fix header inclusion in lpfc_nvmet + - scsi: lpfc: Treat SCSI Write operation Underruns as an error + - scsi: lpfc: Fix nonrecovery of NVME controller after cable swap. + - scsi: lpfc: update driver version to 11.4.0.7 + - scsi: lpfc: Update 11.4.0.7 modified files for 2018 Copyright + - scsi: lpfc: Rework lpfc to allow different sli4 cq and eq handlers + - scsi: lpfc: Rework sli4 doorbell infrastructure + - scsi: lpfc: Add SLI-4 if_type=6 support to the code base + - scsi: lpfc: Add push-to-adapter support to sli4 + - scsi: lpfc: Add PCI Ids for if_type=6 hardware + - scsi: lpfc: Add 64G link speed support + - scsi: lpfc: Add if_type=6 support for cycling valid bits + - scsi: lpfc: Enable fw download on if_type=6 devices + - scsi: lpfc: Add embedded data pointers for enhanced performance + - scsi: lpfc: Fix nvme embedded io length on new hardware + - scsi: lpfc: Work around NVME cmd iu SGL type + - scsi: lpfc: update driver version to 12.0.0.0 + - scsi: lpfc: Change Copyright of 12.0.0.0 modified files to 2018 + - scsi: lpfc: use __raw_writeX on DPP copies + - scsi: lpfc: Add missing unlock in WQ full logic + + * /dev/bcache/by-uuid links not created after reboot (LP: #1729145) + - SAUCE: (no-up) bcache: decouple emitting a cached_dev CHANGE uevent + + * DKMS driver builds fail with: Cannot use CONFIG_STACK_VALIDATION=y, please + install libelf-dev, libelf-devel or elfutils-libelf-devel (LP: #1760876) + - [Packaging] include the retpoline extractor in the headers + + * Use med_with_dipm SATA LPM to save more power for mobile platforms + (LP: #1759547) + - [Config] CONFIG_SATA_MOBILE_LPM_POLICY=3 + + * Miscellaneous Ubuntu changes + - [Packaging] Only install cloud init files when do_tools_common=true + - SAUCE: Import aufs driver + - [Config] Enable AUFS config options + + -- Seth Forshee Thu, 12 Apr 2018 09:30:56 -0500 + +linux (4.16.0-3.4) bionic; urgency=medium + + * Allow multiple mounts of zfs datasets (LP: #1759848) + - SAUCE: Allow mounting datasets more than once (LP: #1759848) + + * zfs system process hung on container stop/delete (LP: #1754584) + - SAUCE: Fix non-prefaulted page deadlock (LP: #1754584) + - Revert "UBUNTU: SAUCE: Fix non-prefaulted page deadlock (LP: #1754584)" + - SAUCE: Fix non-prefaulted page deadlock (LP: #1754584) + + * ubuntu_zram_smoke test will cause soft lockup on Artful ThunderX ARM64 + (LP: #1755073) + - SAUCE: crypto: thunderx_zip: Fix fallout from CONFIG_VMAP_STACK + + * CAPI Flash (cxlflash) update (LP: #1752672) + - SAUCE: cxlflash: Preserve number of interrupts for master contexts + - SAUCE: cxlflash: Avoid clobbering context control register value + - SAUCE: cxlflash: Add argument identifier names + - SAUCE: cxlflash: Introduce OCXL backend + - SAUCE: cxlflash: Hardware AFU for OCXL + - SAUCE: cxlflash: Read host function configuration + - SAUCE: cxlflash: Setup function acTag range + - SAUCE: cxlflash: Read host AFU configuration + - SAUCE: cxlflash: Setup AFU acTag range + - SAUCE: cxlflash: Setup AFU PASID + - SAUCE: cxlflash: Adapter context support for OCXL + - SAUCE: cxlflash: Use IDR to manage adapter contexts + - SAUCE: cxlflash: Support adapter file descriptors for OCXL + - SAUCE: cxlflash: Support adapter context discovery + - SAUCE: cxlflash: Support image reload policy modification + - SAUCE: cxlflash: MMIO map the AFU + - SAUCE: cxlflash: Support starting an adapter context + - SAUCE: cxlflash: Support process specific mappings + - SAUCE: cxlflash: Support AFU state toggling + - SAUCE: cxlflash: Support reading adapter VPD data + - SAUCE: cxlflash: Setup function OCXL link + - SAUCE: cxlflash: Setup OCXL transaction layer + - SAUCE: cxlflash: Support process element lifecycle + - SAUCE: cxlflash: Support AFU interrupt management + - SAUCE: cxlflash: Support AFU interrupt mapping and registration + - SAUCE: cxlflash: Support starting user contexts + - SAUCE: cxlflash: Support adapter context polling + - SAUCE: cxlflash: Support adapter context reading + - SAUCE: cxlflash: Support adapter context mmap and release + - SAUCE: cxlflash: Support file descriptor mapping + - SAUCE: cxlflash: Introduce object handle fop + - SAUCE: cxlflash: Setup LISNs for user contexts + - SAUCE: cxlflash: Setup LISNs for master contexts + - SAUCE: cxlflash: Update synchronous interrupt status bits + - SAUCE: cxlflash: Introduce OCXL context state machine + - SAUCE: cxlflash: Register for translation errors + - SAUCE: cxlflash: Support AFU reset + - SAUCE: cxlflash: Enable OCXL operations + + * [Artful][Wyse 3040] System hang when trying to enable an offlined CPU core + (LP: #1736393) + - SAUCE: drm/i915:Don't set chip specific data + - SAUCE: drm/i915: make previous commit affects Wyse 3040 only + + * zed process consuming 100% cpu (LP: #1751796) + - SAUCE: Fix ioctl loop-spin in zed (LP: #1751796) + + * Ubuntu18.04:PowerPC - Set Transparent Huge Pages (THP) by default to + "always" (LP: #1753708) + - Config: Set TRANSPARENT_HUGEPAGE_ALWAYS=y on ppc64el + + * retpoline hints: primary infrastructure and initial hints (LP: #1758856) + - [Packaging] retpoline -- add safe usage hint support + - [Packaging] retpoline-check -- only report additions + - [Packaging] retpoline -- widen indirect call/jmp detection + - [Packaging] retpoline -- elide %rip relative indirections + - [Packaging] retpoline -- clear hint information from packages + - SAUCE: apm -- annotate indirect calls within + firmware_restrict_branch_speculation_{start,end} + - SAUCE: EFI -- annotate indirect calls within + firmware_restrict_branch_speculation_{start,end} + - SAUCE: early/late -- annotate indirect calls in early/late initialisation + code + - SAUCE: vga_set_mode -- avoid jump tables + - [Config] retpoine -- switch to new format + + * Miscellaneous Ubuntu changes + - [Packaging] final-checks -- remove check for empty retpoline files + - [Packaging] skip cloud tools packaging when not building package + + [ Upstream Kernel Changes ] + + * Rebase to v4.16 + + -- Seth Forshee Mon, 02 Apr 2018 16:15:36 -0500 + +linux (4.16.0-2.3) bionic; urgency=medium + + * devpts: handle bind-mounts (LP: #1755857) + - SAUCE: devpts: hoist out check for DEVPTS_SUPER_MAGIC + - SAUCE: devpts: resolve devpts bind-mounts + - SAUCE: devpts: comment devpts_mntget() + - SAUCE: selftests: add devpts selftests + + * [bionic][arm64] d-i: add hisi_sas_v3_hw to scsi-modules (LP: #1756103) + - d-i: add hisi_sas_v3_hw to scsi-modules + + * [Bionic][ARM64] PCI and SAS driver patches for hip08 SoCs (LP: #1756094) + - SAUCE: scsi: hisi_sas: config for hip08 ES + - SAUCE: scsi: hisi_sas: export device table of v3 hw to userspace + + * s390/crypto: Fix kernel crash on aes_s390 module remove (LP: #1753424) + - SAUCE: s390/crypto: Fix kernel crash on aes_s390 module remove. + + * Fix ARC hit rate (LP: #1755158) + - SAUCE: Fix ARC hit rate (LP: #1755158) + + * ZFS setgid broken on 0.7 (LP: #1753288) + - SAUCE: Fix ZFS setgid + + * CONFIG_EFI=y on armhf (LP: #1726362) + - [Config] CONFIG_EFI=y on armhf, reconcile secureboot EFI settings + + * [Feature] Add xHCI debug device support in the driver (LP: #1730832) + - [Config] CONFIG_USB_XHCI_DBGCAP=y + + * retpoline: ignore %cs:0xNNN constant indirections (LP: #1752655) + - [Packaging] retpoline -- elide %cs:0xNNNN constants on i386 + - [Config] retpoline -- clean up i386 retpoline files + + * Miscellaneous Ubuntu changes + - [Packaging] retpoline-extract: flag *0xNNN(%reg) branches + - [Config] fix up retpoline abi files + - [Config] fix up retpoline abi files + - d-i: Add netsec to nic-modules + + [ Upstream Kernel Changes ] + + * Rebase to v4.16-rc6 + + -- Seth Forshee Mon, 19 Mar 2018 14:09:49 -0500 + +linux (4.16.0-1.2) bionic; urgency=medium + + * Driver not found in Ubuntu kernel does not detect interface (LP: #1745927) + - d-i: add cxgb4 to nic-modules + + * Support low-pin-count devices on Hisilicon SoCs (LP: #1677319) + - [Config] CONFIG_INDIRECT_PIO=y + - SAUCE: LIB: Introduce a generic PIO mapping method + - SAUCE: PCI: Remove unused __weak attribute in pci_register_io_range() + - SAUCE: PCI: Add fwnode handler as input param of pci_register_io_range() + - SAUCE: PCI: Apply the new generic I/O management on PCI IO hosts + - SAUCE: OF: Add missing I/O range exception for indirect-IO devices + - [Config] CONFIG_HISILICON_LPC=y + - SAUCE: HISI LPC: Support the LPC host on Hip06/Hip07 with DT bindings + - SAUCE: ACPI / scan: do not enumerate Indirect IO host children + - SAUCE: HISI LPC: Add ACPI support + - SAUCE: MAINTAINERS: Add maintainer for HiSilicon LPC driver + + * Miscellaneous Ubuntu changes + - SAUCE: tools: use CC for linking acpi tools + + [ Upstream Kernel Changes ] + + * Rebase to v4.16-rc3 + + -- Seth Forshee Wed, 28 Feb 2018 10:17:23 -0600 + +linux (4.16.0-0.1) bionic; urgency=medium + + * retpoline abi files are empty on i386 (LP: #1751021) + - [Packaging] retpoline-extract -- instantiate retpoline files for i386 + - [Packaging] final-checks -- sanity checking ABI contents + - [Packaging] final-checks -- check for empty retpoline files + + * Miscellaneous upstream changes + - disable vbox build + - Disable zfs build + + [ Upstream Kernel Changes ] + + * Rebase to v4.16-rc2 + + -- Seth Forshee Thu, 22 Feb 2018 08:58:57 -0600 + +linux (4.16.0-0.0) bionic; urgency=medium + + * Dummy entry + + -- Seth Forshee Wed, 21 Feb 2018 14:33:13 -0600 + +linux (4.15.0-10.11) bionic; urgency=medium + + * linux: 4.15.0-10.11 -proposed tracker (LP: #1749250) + + * "swiotlb: coherent allocation failed" dmesg spam with linux 4.15.0-9.10 + (LP: #1749202) + - swiotlb: suppress warning when __GFP_NOWARN is set + - drm/ttm: specify DMA_ATTR_NO_WARN for huge page pools + + * linux-tools: perf incorrectly linking libbfd (LP: #1748922) + - SAUCE: tools -- add ability to disable libbfd + - [Packaging] correct disablement of libbfd + + * [Artful] Realtek ALC225: 2 secs noise when a headset plugged in + (LP: #1744058) + - ALSA: hda/realtek - update ALC225 depop optimize + + * [Artful] Support headset mode for DELL WYSE (LP: #1723913) + - SAUCE: ALSA: hda/realtek - Add support headset mode for DELL WYSE + + * headset mic can't be detected on two Dell machines (LP: #1748807) + - ALSA: hda/realtek - Support headset mode for ALC215/ALC285/ALC289 + - ALSA: hda - Fix headset mic detection problem for two Dell machines + + * Bionic update to v4.15.3 stable release (LP: #1749191) + - ip6mr: fix stale iterator + - net: igmp: add a missing rcu locking section + - qlcnic: fix deadlock bug + - qmi_wwan: Add support for Quectel EP06 + - r8169: fix RTL8168EP take too long to complete driver initialization. + - tcp: release sk_frag.page in tcp_disconnect + - vhost_net: stop device during reset owner + - ipv6: addrconf: break critical section in addrconf_verify_rtnl() + - ipv6: change route cache aging logic + - Revert "defer call to mem_cgroup_sk_alloc()" + - net: ipv6: send unsolicited NA after DAD + - rocker: fix possible null pointer dereference in + rocker_router_fib_event_work + - tcp_bbr: fix pacing_gain to always be unity when using lt_bw + - cls_u32: add missing RCU annotation. + - ipv6: Fix SO_REUSEPORT UDP socket with implicit sk_ipv6only + - soreuseport: fix mem leak in reuseport_add_sock() + - net_sched: get rid of rcu_barrier() in tcf_block_put_ext() + - net: sched: fix use-after-free in tcf_block_put_ext + - media: mtk-vcodec: add missing MODULE_LICENSE/DESCRIPTION + - media: soc_camera: soc_scale_crop: add missing + MODULE_DESCRIPTION/AUTHOR/LICENSE + - media: tegra-cec: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - gpio: uniphier: fix mismatch between license text and MODULE_LICENSE + - crypto: tcrypt - fix S/G table for test_aead_speed() + - Linux 4.15.3 + + * bnx2x_attn_int_deasserted3:4323 MC assert! (LP: #1715519) // + CVE-2018-1000026 + - net: create skb_gso_validate_mac_len() + - bnx2x: disable GSO where gso_size is too big for hardware + + * ethtool -p fails to light NIC LED on HiSilicon D05 systems (LP: #1748567) + - net: hns: add ACPI mode support for ethtool -p + + * CVE-2017-5715 (Spectre v2 Intel) + - [Packaging] retpoline files must be sorted + - [Packaging] pull in retpoline files + + * [Feature] PXE boot with Intel Omni-Path (LP: #1712031) + - d-i: Add hfi1 to nic-modules + + * CVE-2017-5715 (Spectre v2 retpoline) + - [Packaging] retpoline -- add call site validation + - [Config] disable retpoline checks for first upload + + * Do not duplicate changelog entries assigned to more than one bug or CVE + (LP: #1743383) + - [Packaging] git-ubuntu-log -- handle multiple bugs/cves better + + -- Seth Forshee Tue, 13 Feb 2018 11:33:58 -0600 + +linux (4.15.0-9.10) bionic; urgency=medium + + * linux: 4.15.0-9.10 -proposed tracker (LP: #1748244) + + * Miscellaneous Ubuntu changes + - [Debian] tests -- remove gcc-multilib dependency for arm64 + + -- Seth Forshee Thu, 08 Feb 2018 11:25:04 -0600 + +linux (4.15.0-8.9) bionic; urgency=medium + + * linux: 4.15.0-8.9 -proposed tracker (LP: #1748075) + + * Bionic update to v4.15.2 stable release (LP: #1748072) + - KVM: x86: Make indirect calls in emulator speculation safe + - KVM: VMX: Make indirect call speculation safe + - module/retpoline: Warn about missing retpoline in module + - x86/cpufeatures: Add CPUID_7_EDX CPUID leaf + - x86/cpufeatures: Add Intel feature bits for Speculation Control + - x86/cpufeatures: Add AMD feature bits for Speculation Control + - x86/msr: Add definitions for new speculation control MSRs + - x86/pti: Do not enable PTI on CPUs which are not vulnerable to Meltdown + - x86/cpufeature: Blacklist SPEC_CTRL/PRED_CMD on early Spectre v2 microcodes + - x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier) support + - x86/alternative: Print unadorned pointers + - x86/nospec: Fix header guards names + - x86/bugs: Drop one "mitigation" from dmesg + - x86/cpu/bugs: Make retpoline module warning conditional + - x86/cpufeatures: Clean up Spectre v2 related CPUID flags + - x86/retpoline: Simplify vmexit_fill_RSB() + - x86/speculation: Simplify indirect_branch_prediction_barrier() + - auxdisplay: img-ascii-lcd: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - iio: adc/accel: Fix up module licenses + - pinctrl: pxa: pxa2xx: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - ASoC: pcm512x: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - KVM: nVMX: Eliminate vmcs02 pool + - KVM: VMX: introduce alloc_loaded_vmcs + - objtool: Improve retpoline alternative handling + - objtool: Add support for alternatives at the end of a section + - objtool: Warn on stripped section symbol + - x86/mm: Fix overlap of i386 CPU_ENTRY_AREA with FIX_BTMAP + - x86/spectre: Check CONFIG_RETPOLINE in command line parser + - x86/entry/64: Remove the SYSCALL64 fast path + - x86/entry/64: Push extra regs right away + - x86/asm: Move 'status' from thread_struct to thread_info + - Documentation: Document array_index_nospec + - array_index_nospec: Sanitize speculative array de-references + - x86: Implement array_index_mask_nospec + - x86: Introduce barrier_nospec + - x86: Introduce __uaccess_begin_nospec() and uaccess_try_nospec + - x86/usercopy: Replace open coded stac/clac with __uaccess_{begin, end} + - x86/uaccess: Use __uaccess_begin_nospec() and uaccess_try_nospec + - x86/get_user: Use pointer masking to limit speculation + - x86/syscall: Sanitize syscall table de-references under speculation + - vfs, fdtable: Prevent bounds-check bypass via speculative execution + - nl80211: Sanitize array index in parse_txq_params + - x86/spectre: Report get_user mitigation for spectre_v1 + - x86/spectre: Fix spelling mistake: "vunerable"-> "vulnerable" + - x86/cpuid: Fix up "virtual" IBRS/IBPB/STIBP feature bits on Intel + - x86/speculation: Use Indirect Branch Prediction Barrier in context switch + - x86/paravirt: Remove 'noreplace-paravirt' cmdline option + - KVM: VMX: make MSR bitmaps per-VCPU + - x86/kvm: Update spectre-v1 mitigation + - x86/retpoline: Avoid retpolines for built-in __init functions + - x86/spectre: Simplify spectre_v2 command line parsing + - x86/pti: Mark constant arrays as __initconst + - x86/speculation: Fix typo IBRS_ATT, which should be IBRS_ALL + - KVM/x86: Update the reverse_cpuid list to include CPUID_7_EDX + - KVM/x86: Add IBPB support + - KVM/VMX: Emulate MSR_IA32_ARCH_CAPABILITIES + - KVM/VMX: Allow direct access to MSR_IA32_SPEC_CTRL + - KVM/SVM: Allow direct access to MSR_IA32_SPEC_CTRL + - serial: core: mark port as initialized after successful IRQ change + - fpga: region: release of_parse_phandle nodes after use + - Linux 4.15.2 + + * Add support for the NIC on SynQuacer E-Series boards (LP: #1747792) + - net: phy: core: remove now uneeded disabling of interrupts + - [Config] CONFIG_NET_VENDOR_SOCIONEXT=y & CONFIG_SNI_NETSEC=m + - net: socionext: Add Synquacer NetSec driver + - net: socionext: include linux/io.h to fix build + - net: socionext: Fix error return code in netsec_netdev_open() + + * [Artful/Bionic] [Config] enable EDAC_GHES for ARM64 (LP: #1747746) + - [Config] CONFIG_EDAC_GHES=y + + * support thunderx2 vendor pmu events (LP: #1747523) + - perf pmu: Pass pmu as a parameter to get_cpuid_str() + - perf tools arm64: Add support for get_cpuid_str function. + - perf pmu: Add helper function is_pmu_core to detect PMU CORE devices + - perf vendor events arm64: Add ThunderX2 implementation defined pmu core + events + - perf pmu: Add check for valid cpuid in perf_pmu__find_map() + + * linux 4.14.0-7.9 ADT test failure with linux 4.14.0-7.9 (LP: #1732463) + - SAUCE: mm: disable vma based swap readahead by default + - SAUCE: mm: fix memory hotplug in ZONE_HIGHMEM + + * Miscellaneous Ubuntu changes + - [Config] Fix CONFIG_PROFILE_ALL_BRANCHES annotations + + -- Seth Forshee Wed, 07 Feb 2018 21:13:27 -0600 + +linux (4.15.0-7.8) bionic; urgency=medium + + * Bionic update to v4.15.1 stable release (LP: #1747169) + - Bluetooth: hci_serdev: Init hci_uart proto_lock to avoid oops + - tools/gpio: Fix build error with musl libc + - gpio: stmpe: i2c transfer are forbiden in atomic context + - gpio: Fix kernel stack leak to userspace + - ALSA: hda - Reduce the suspend time consumption for ALC256 + - crypto: ecdh - fix typo in KPP dependency of CRYPTO_ECDH + - crypto: aesni - handle zero length dst buffer + - crypto: aesni - fix typo in generic_gcmaes_decrypt + - crypto: aesni - add wrapper for generic gcm(aes) + - crypto: aesni - Fix out-of-bounds access of the data buffer in generic-gcm- + aesni + - crypto: aesni - Fix out-of-bounds access of the AAD buffer in generic-gcm- + aesni + - crypto: inside-secure - fix hash when length is a multiple of a block + - crypto: inside-secure - avoid unmapping DMA memory that was not mapped + - crypto: sha3-generic - fixes for alignment and big endian operation + - crypto: af_alg - whitelist mask and type + - HID: wacom: EKR: ensure devres groups at higher indexes are released + - HID: wacom: Fix reporting of touch toggle (WACOM_HID_WD_MUTE_DEVICE) events + - power: reset: zx-reboot: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - gpio: iop: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - gpio: ath79: add missing MODULE_DESCRIPTION/LICENSE + - mtd: nand: denali_pci: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - igb: Free IRQs when device is hotplugged + - ima/policy: fix parsing of fsuuid + - scsi: aacraid: Fix udev inquiry race condition + - scsi: aacraid: Fix hang in kdump + - scsi: storvsc: missing error code in storvsc_probe() + - staging: lustre: separate a connection destroy from free struct kib_conn + - staging: ccree: NULLify backup_info when unused + - staging: ccree: fix fips event irq handling build + - tty: fix data race between tty_init_dev and flush of buf + - usb: option: Add support for FS040U modem + - USB: serial: pl2303: new device id for Chilitag + - USB: cdc-acm: Do not log urb submission errors on disconnect + - CDC-ACM: apply quirk for card reader + - USB: serial: io_edgeport: fix possible sleep-in-atomic + - usbip: prevent bind loops on devices attached to vhci_hcd + - usbip: list: don't list devices attached to vhci_hcd + - USB: serial: simple: add Motorola Tetra driver + - usb: f_fs: Prevent gadget unbind if it is already unbound + - usb: uas: unconditionally bring back host after reset + - usb/gadget: Fix "high bandwidth" check in usb_gadget_ep_match_desc() + - ANDROID: binder: remove waitqueue when thread exits. + - android: binder: use VM_ALLOC to get vm area + - mei: me: allow runtime pm for platform with D0i3 + - serial: 8250_of: fix return code when probe function fails to get reset + - serial: 8250_uniphier: fix error return code in uniphier_uart_probe() + - serial: 8250_dw: Revert "Improve clock rate setting" + - serial: imx: Only wakeup via RTSDEN bit if the system has RTS/CTS + - spi: imx: do not access registers while clocks disabled + - iio: adc: stm32: fix scan of multiple channels with DMA + - iio: chemical: ccs811: Fix output of IIO_CONCENTRATION channels + - test_firmware: fix missing unlock on error in config_num_requests_store() + - Input: synaptics-rmi4 - unmask F03 interrupts when port is opened + - Input: synaptics-rmi4 - do not delete interrupt memory too early + - x86/efi: Clarify that reset attack mitigation needs appropriate userspace + - Linux 4.15.1 + + * Dell XPS 13 9360 bluetooth (Atheros) won't connect after resume + (LP: #1744712) + - Revert "Bluetooth: btusb: fix QCA Rome suspend/resume" + - Bluetooth: btusb: Restore QCA Rome suspend/resume fix with a "rewritten" + version + + * apparmor profile load in stacked policy container fails (LP: #1746463) + - SAUCE: apparmor: fix display of .ns_name for containers + + -- Seth Forshee Sun, 04 Feb 2018 11:56:32 +0100 + +linux (4.15.0-6.7) bionic; urgency=low + + * upload urgency should be medium by default (LP: #1745338) + - [Packaging] update urgency to medium by default + + * Shutdown hang on 16.04 with iscsi targets (LP: #1569925) + - scsi: libiscsi: Allow sd_shutdown on bad transport + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.7.5-1ubuntu1, zfs to 0.7.5-1ubuntu1 + - Revert "UBUNTU: SAUCE: mm: fix memory hotplug in ZONE_HIGHMEM" + - Revert "UBUNTU: SAUCE: mm: disable vma based swap readahead by default" + + [ Upstream Kernel Changes ] + + * Rebase to v4.15 + + -- Seth Forshee Mon, 29 Jan 2018 08:47:07 -0600 + +linux (4.15.0-5.6) bionic; urgency=low + + * $(LOCAL_ENV_CC) and $(LOCAL_ENV_DISTCC_HOSTS) should be properly quoted + (LP: #1744077) + - [Debian] pass LOCAL_ENV_CC and LOCAL_ENV_DISTCC_HOSTS properly + + * Missing install-time driver for QLogic QED 25/40/100Gb Ethernet NIC + (LP: #1743638) + - [d-i] Add qede to nic-modules udeb + + * boot failure on AMD Raven + WesternXT (LP: #1742759) + - SAUCE: drm/amdgpu: add atpx quirk handling (v2) + + * Unable to handle kernel NULL pointer dereference at isci_task_abort_task + (LP: #1726519) + - SAUCE: Revert "scsi: libsas: allow async aborts" + + * Update Ubuntu-4.15.0 config to support Intel Atom devices (LP: #1739939) + - [Config] CONFIG_SERIAL_DEV_BUS=y, CONFIG_SERIAL_DEV_CTRL_TTYPORT=y + + * Miscellaneous Ubuntu changes + - Rebase to v4.15-rc7 + - [Config] CONFIG_CPU_ISOLATION=y + - [Config] Update annotations following config review + - Revert "UBUNTU: SAUCE: Import aufs driver" + - SAUCE: Import aufs driver + - ubuntu: vbox -- update to 5.2.6-dfsg-1 + - ubuntu: vbox: build fixes for 4.15 + - ubuntu: vbox -- update to 5.2.6-dfsg-2 + - hio: updates for timer api changes in 4.15 + - enable hio build + - Rebase to v4.15-rc9 + + [ Upstream Kernel Changes ] + + * Rebase to v4.15-rc9 + + -- Seth Forshee Mon, 22 Jan 2018 10:16:05 -0600 + +linux (4.15.0-4.5) bionic; urgency=low + + * [0cf3:e010] QCA6174A XR failed to pair with bt 4.0 device (LP: #1741166) + - SAUCE: Bluetooth: btusb: Add support for 0cf3:e010 + + * External HDMI monitor failed to show screen on Lenovo X1 series + (LP: #1738523) + - SAUCE: drm/i915: Disable writing of TMDS_OE on Lenovo ThinkPad X1 series + + * Miscellaneous Ubuntu changes + - [Debian] autoreconstruct - add resoration of execute permissions + + [ Upstream Kernel Changes ] + + * Rebase to v4.15-rc4 + + -- Seth Forshee Wed, 10 Jan 2018 10:24:22 -0600 + +linux (4.15.0-3.4) bionic; urgency=low + + * ubuntu/xr-usb-serial didn't get built in zesty and artful (LP: #1733281) + - SAUCE: make sure ubuntu/xr-usb-serial builds for x86 + + [ Upstream Kernel Changes ] + + * Rebase to v4.15-rc6 + + -- Seth Forshee Wed, 03 Jan 2018 20:20:43 -0600 + +linux (4.15.0-2.3) bionic; urgency=low + + * nvidia-graphics-drivers-384 384.90-0ubuntu6 ADT test failure with linux + 4.15.0-1.2 (LP: #1737752) + - x86/mm: Unbreak modules that use the DMA API + + * Ubuntu 17.10 corrupting BIOS - many LENOVO laptops models (LP: #1734147) + - [Config] CONFIG_SPI_INTEL_SPI_*=n + + * power: commonise configs IBMVETH/IBMVSCSI and ensure both are in linux-image + and udebs (LP: #1521712) + - [Config] Include ibmvnic in nic-modules + + * Enable arm64 emulation of removed ARMv7 instructions (LP: #1545542) + - [Config] Enable support for emulation of deprecated ARMv8 instructions + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl with 4.15 compat fix (LP:#1737761) + - Enable zfs build + - [Debian] add icp to zfs-modules.ignore + + [ Upstream Kernel Changes ] + + * Rebase to v4.15-rc4 + + -- Seth Forshee Mon, 18 Dec 2017 09:27:13 -0600 + +linux (4.15.0-1.2) bionic; urgency=low + + * Disabling zfs does not always disable module checks for the zfs modules + (LP: #1737176) + - [Packaging] disable zfs module checks when zfs is disabled + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_UNWINDER_FRAME_POINTER=y for amd64 + + [ Upstream Kernel Changes ] + + * Rebase to v4.15-rc3 + + -- Seth Forshee Sun, 10 Dec 2017 22:07:19 -0600 + +linux (4.15.0-0.1) bionic; urgency=low + + * Miscellaneous Ubuntu changes + - ubuntu: vbox -- update to 5.2.2-dfsg-2 + - ubuntu: vbox: build fixes for 4.15 + - disable hio build + - [Config] Update kernel lockdown options to fix build errors + - Disable zfs build + - SAUCE: Import aufs driver + - [Config] Enable AUFS config options + + [ Upstream Kernel Changes ] + + * Rebase to v4.15-rc2 + + -- Seth Forshee Fri, 08 Dec 2017 13:55:42 -0600 + +linux (4.14.0-11.13) bionic; urgency=low + + * linux: 4.14.0-11.13 -proposed tracker (LP: #1736168) + + * CVE-2017-1000405 + - mm, thp: Do not make page table dirty unconditionally in touch_p[mu]d() + + * linux 4.14.0-7.9 ADT test failure with linux 4.14.0-7.9 (LP: #1732463) + - SAUCE: mm: disable vma based swap readahead by default + - SAUCE: mm: fix memory hotplug in ZONE_HIGHMEM + + * Bionic update to v4.14.3 stable release (LP: #1735843) + - s390: fix transactional execution control register handling + - s390/noexec: execute kexec datamover without DAT + - s390/runtime instrumention: fix possible memory corruption + - s390/guarded storage: fix possible memory corruption + - s390/disassembler: add missing end marker for e7 table + - s390/disassembler: increase show_code buffer size + - ACPI / PM: Fix acpi_pm_notifier_lock vs flush_workqueue() deadlock + - ACPI / EC: Fix regression related to triggering source of EC event handling + - cpufreq: schedutil: Reset cached_raw_freq when not in sync with next_freq + - serdev: fix registration of second slave + - sched: Make resched_cpu() unconditional + - lib/mpi: call cond_resched() from mpi_powm() loop + - x86/boot: Fix boot failure when SMP MP-table is based at 0 + - x86/decoder: Add new TEST instruction pattern + - x86/entry/64: Fix entry_SYSCALL_64_after_hwframe() IRQ tracing + - x86/entry/64: Add missing irqflags tracing to native_load_gs_index() + - perf/x86/intel: Hide TSX events when RTM is not supported + - arm64: Implement arch-specific pte_access_permitted() + - ARM: 8722/1: mm: make STRICT_KERNEL_RWX effective for LPAE + - ARM: 8721/1: mm: dump: check hardware RO bit for LPAE + - uapi: fix linux/tls.h userspace compilation error + - uapi: fix linux/rxrpc.h userspace compilation errors + - MIPS: cmpxchg64() and HAVE_VIRT_CPU_ACCOUNTING_GEN don't work for 32-bit SMP + - MIPS: ralink: Fix MT7628 pinmux + - MIPS: ralink: Fix typo in mt7628 pinmux function + - net: mvneta: fix handling of the Tx descriptor counter + - nbd: wait uninterruptible for the dead timeout + - nbd: don't start req until after the dead connection logic + - PM / OPP: Add missing of_node_put(np) + - PCI/ASPM: Account for downstream device's Port Common_Mode_Restore_Time + - PCI/ASPM: Use correct capability pointer to program LTR_L1.2_THRESHOLD + - PCI: hv: Use effective affinity mask + - PCI: Set Cavium ACS capability quirk flags to assert RR/CR/SV/UF + - PCI: Apply Cavium ThunderX ACS quirk to more Root Ports + - ALSA: hda: Add Raven PCI ID + - dm integrity: allow unaligned bv_offset + - dm cache: fix race condition in the writeback mode overwrite_bio + optimisation + - dm crypt: allow unaligned bv_offset + - dm zoned: ignore last smaller runt zone + - dm mpath: remove annoying message of 'blk_get_request() returned -11' + - dm bufio: fix integer overflow when limiting maximum cache size + - ovl: Put upperdentry if ovl_check_origin() fails + - dm: allocate struct mapped_device with kvzalloc + - sched/rt: Simplify the IPI based RT balancing logic + - MIPS: pci: Remove KERN_WARN instance inside the mt7620 driver + - dm: fix race between dm_get_from_kobject() and __dm_destroy() + - dm: discard support requires all targets in a table support discards + - MIPS: Fix odd fp register warnings with MIPS64r2 + - MIPS: Fix MIPS64 FP save/restore on 32-bit kernels + - MIPS: dts: remove bogus bcm96358nb4ser.dtb from dtb-y entry + - MIPS: Fix an n32 core file generation regset support regression + - MIPS: BCM47XX: Fix LED inversion for WRT54GSv1 + - MIPS: math-emu: Fix final emulation phase for certain instructions + - rt2x00usb: mark device removed when get ENOENT usb error + - mm/z3fold.c: use kref to prevent page free/compact race + - autofs: don't fail mount for transient error + - nilfs2: fix race condition that causes file system corruption + - fscrypt: lock mutex before checking for bounce page pool + - eCryptfs: use after free in ecryptfs_release_messaging() + - libceph: don't WARN() if user tries to add invalid key + - bcache: check ca->alloc_thread initialized before wake up it + - fs: guard_bio_eod() needs to consider partitions + - fanotify: fix fsnotify_prepare_user_wait() failure + - isofs: fix timestamps beyond 2027 + - btrfs: change how we decide to commit transactions during flushing + - f2fs: expose some sectors to user in inline data or dentry case + - NFS: Fix typo in nomigration mount option + - NFS: Revert "NFS: Move the flock open mode check into nfs_flock()" + - nfs: Fix ugly referral attributes + - NFS: Avoid RCU usage in tracepoints + - NFS: revalidate "." etc correctly on "open". + - nfsd: deal with revoked delegations appropriately + - rtlwifi: rtl8192ee: Fix memory leak when loading firmware + - rtlwifi: fix uninitialized rtlhal->last_suspend_sec time + - iwlwifi: fix firmware names for 9000 and A000 series hw + - md: fix deadlock error in recent patch. + - md: don't check MD_SB_CHANGE_CLEAN in md_allow_write + - Bluetooth: btqcomsmd: Add support for BD address setup + - md/bitmap: revert a patch + - fsnotify: clean up fsnotify_prepare/finish_user_wait() + - fsnotify: pin both inode and vfsmount mark + - fsnotify: fix pinning group in fsnotify_prepare_user_wait() + - ata: fixes kernel crash while tracing ata_eh_link_autopsy event + - ext4: fix interaction between i_size, fallocate, and delalloc after a crash + - ext4: prevent data corruption with inline data + DAX + - ext4: prevent data corruption with journaling + DAX + - ALSA: pcm: update tstamp only if audio_tstamp changed + - ALSA: usb-audio: Add sanity checks to FE parser + - ALSA: usb-audio: Fix potential out-of-bound access at parsing SU + - ALSA: usb-audio: Add sanity checks in v2 clock parsers + - ALSA: timer: Remove kernel warning at compat ioctl error paths + - ALSA: hda/realtek - Fix ALC275 no sound issue + - ALSA: hda: Fix too short HDMI/DP chmap reporting + - ALSA: hda - Fix yet remaining issue with vmaster 0dB initialization + - ALSA: hda/realtek - Fix ALC700 family no sound issue + - ASoC: sun8i-codec: Invert Master / Slave condition + - ASoC: sun8i-codec: Fix left and right channels inversion + - ASoC: sun8i-codec: Set the BCLK divider + - mfd: lpc_ich: Avoton/Rangeley uses SPI_BYT method + - fix a page leak in vhost_scsi_iov_to_sgl() error recovery + - 9p: Fix missing commas in mount options + - fs/9p: Compare qid.path in v9fs_test_inode + - net/9p: Switch to wait_event_killable() + - scsi: qla2xxx: Suppress a kernel complaint in qla_init_base_qpair() + - scsi: sd_zbc: Fix sd_zbc_read_zoned_characteristics() + - scsi: lpfc: fix pci hot plug crash in timer management routines + - scsi: lpfc: fix pci hot plug crash in list_add call + - scsi: lpfc: Fix crash receiving ELS while detaching driver + - scsi: lpfc: Fix FCP hba_wqidx assignment + - scsi: lpfc: Fix oops if nvmet_fc_register_targetport fails + - iscsi-target: Make TASK_REASSIGN use proper se_cmd->cmd_kref + - iscsi-target: Fix non-immediate TMR reference leak + - target: fix null pointer regression in core_tmr_drain_tmr_list + - target: fix buffer offset in core_scsi3_pri_read_full_status + - target: Fix QUEUE_FULL + SCSI task attribute handling + - target: Fix caw_sem leak in transport_generic_request_failure + - target: Fix quiese during transport_write_pending_qf endless loop + - target: Avoid early CMD_T_PRE_EXECUTE failures during ABORT_TASK + - mtd: Avoid probe failures when mtd->dbg.dfs_dir is invalid + - mtd: nand: Export nand_reset() symbol + - mtd: nand: atmel: Actually use the PM ops + - mtd: nand: omap2: Fix subpage write + - mtd: nand: Fix writing mtdoops to nand flash. + - mtd: nand: mtk: fix infinite ECC decode IRQ issue + - mailbox: bcm-flexrm-mailbox: Fix FlexRM ring flush sequence + - p54: don't unregister leds when they are not initialized + - block: Fix a race between blk_cleanup_queue() and timeout handling + - raid1: prevent freeze_array/wait_all_barriers deadlock + - genirq: Track whether the trigger type has been set + - irqchip/gic-v3: Fix ppi-partitions lookup + - lockd: double unregister of inetaddr notifiers + - KVM: PPC: Book3S HV: Don't call real-mode XICS hypercall handlers if not + enabled + - KVM: nVMX: set IDTR and GDTR limits when loading L1 host state + - KVM: SVM: obey guest PAT + - kvm: vmx: Reinstate support for CPUs without virtual NMI + - dax: fix PMD faults on zero-length files + - dax: fix general protection fault in dax_alloc_inode + - SUNRPC: Fix tracepoint storage issues with svc_recv and svc_rqst_status + - clk: ti: dra7-atl-clock: fix child-node lookups + - libnvdimm, dimm: clear 'locked' status on successful DIMM enable + - libnvdimm, pfn: make 'resource' attribute only readable by root + - libnvdimm, namespace: fix label initialization to use valid seq numbers + - libnvdimm, region : make 'resource' attribute only readable by root + - libnvdimm, namespace: make 'resource' attribute only readable by root + - svcrdma: Preserve CB send buffer across retransmits + - IB/srpt: Do not accept invalid initiator port names + - IB/cm: Fix memory corruption in handling CM request + - IB/hfi1: Fix incorrect available receive user context count + - IB/srp: Avoid that a cable pull can trigger a kernel crash + - IB/core: Avoid crash on pkey enforcement failed in received MADs + - IB/core: Only maintain real QPs in the security lists + - NFC: fix device-allocation error return + - spi-nor: intel-spi: Fix broken software sequencing codes + - i40e: Use smp_rmb rather than read_barrier_depends + - igb: Use smp_rmb rather than read_barrier_depends + - igbvf: Use smp_rmb rather than read_barrier_depends + - ixgbevf: Use smp_rmb rather than read_barrier_depends + - i40evf: Use smp_rmb rather than read_barrier_depends + - fm10k: Use smp_rmb rather than read_barrier_depends + - ixgbe: Fix skb list corruption on Power systems + - parisc: Fix validity check of pointer size argument in new CAS + implementation + - powerpc: Fix boot on BOOK3S_32 with CONFIG_STRICT_KERNEL_RWX + - powerpc/mm/radix: Fix crashes on Power9 DD1 with radix MMU and STRICT_RWX + - powerpc/perf/imc: Use cpu_to_node() not topology_physical_package_id() + - powerpc/signal: Properly handle return value from uprobe_deny_signal() + - powerpc/64s: Fix masking of SRR1 bits on instruction fault + - powerpc/64s/radix: Fix 128TB-512TB virtual address boundary case allocation + - powerpc/64s/hash: Fix 512T hint detection to use >= 128T + - powerpc/64s/hash: Fix 128TB-512TB virtual address boundary case allocation + - powerpc/64s/hash: Fix fork() with 512TB process address space + - powerpc/64s/hash: Allow MAP_FIXED allocations to cross 128TB boundary + - media: Don't do DMA on stack for firmware upload in the AS102 driver + - media: rc: check for integer overflow + - media: rc: nec decoder should not send both repeat and keycode + - cx231xx-cards: fix NULL-deref on missing association descriptor + - media: v4l2-ctrl: Fix flags field on Control events + - media: venus: fix wrong size on dma_free + - media: venus: venc: fix bytesused v4l2_plane field + - media: venus: reimplement decoder stop command + - ARM64: dts: meson-gxl: Add alternate ARM Trusted Firmware reserved memory + zone + - iwlwifi: fix wrong struct for a000 device + - iwlwifi: add a new a000 device + - iwlwifi: pcie: sort IDs for the 9000 series for easier comparisons + - iwlwifi: add new cards for a000 series + - iwlwifi: add new cards for 8265 series + - iwlwifi: add new cards for 8260 series + - iwlwifi: fix PCI IDs and configuration mapping for 9000 series + - iwlwifi: mvm: support version 7 of the SCAN_REQ_UMAC FW command + - e1000e: Fix error path in link detection + - e1000e: Fix return value test + - e1000e: Separate signaling for link check/link up + - e1000e: Avoid receiver overrun interrupt bursts + - e1000e: fix buffer overrun while the I219 is processing DMA transactions + - Linux 4.14.3 + + * Miscellaneous Ubuntu changes + - SAUCE: s390/topology: don't inline cpu_to_node + - SAUCE: (noup) Update spl to 0.7.3-1ubuntu1, zfs to 0.7.3-1ubuntu1 + + -- Seth Forshee Mon, 04 Dec 2017 09:08:07 -0600 + +linux (4.14.0-10.12) bionic; urgency=low + + * linux: 4.14.0-10.12 -proposed tracker (LP: #1734901) + + * Miscellaneous Ubuntu changes + - SAUCE: Enable the ACPI kernel debugger and acpidbg tool + - [Packaging] Include arch/arm64/kernel/ftrace-mod.o in headers package + + -- Seth Forshee Tue, 28 Nov 2017 08:46:49 -0600 + +linux (4.14.0-9.11) bionic; urgency=low + + * linux: 4.14.0-9.11 -proposed tracker (LP: #1734728) + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: SAUCE: (noup) Update spl to 0.7.3-1ubuntu1, zfs to + 0.7.3-1ubuntu1" + + -- Seth Forshee Mon, 27 Nov 2017 12:44:48 -0600 + +linux (4.14.0-8.10) bionic; urgency=low + + * linux: 4.14.0-8.10 -proposed tracker (LP: #1734695) + + * Bionic update to v4.14.2 stable release (LP: #1734694) + - bio: ensure __bio_clone_fast copies bi_partno + - af_netlink: ensure that NLMSG_DONE never fails in dumps + - vxlan: fix the issue that neigh proxy blocks all icmpv6 packets + - net: cdc_ncm: GetNtbFormat endian fix + - fealnx: Fix building error on MIPS + - net/sctp: Always set scope_id in sctp_inet6_skb_msgname + - ima: do not update security.ima if appraisal status is not INTEGRITY_PASS + - serial: omap: Fix EFR write on RTS deassertion + - serial: 8250_fintek: Fix finding base_port with activated SuperIO + - tpm-dev-common: Reject too short writes + - rcu: Fix up pending cbs check in rcu_prepare_for_idle + - mm/pagewalk.c: report holes in hugetlb ranges + - ocfs2: fix cluster hang after a node dies + - ocfs2: should wait dio before inode lock in ocfs2_setattr() + - ipmi: fix unsigned long underflow + - mm/page_alloc.c: broken deferred calculation + - mm/page_ext.c: check if page_ext is not prepared + - coda: fix 'kernel memory exposure attempt' in fsync + - ipmi: Prefer ACPI system interfaces over SMBIOS ones + - Linux 4.14.2 + + * Bionic update to v4.14.1 stable release (LP: #1734693) + - EDAC, sb_edac: Don't create a second memory controller if HA1 is not present + - dmaengine: dmatest: warn user when dma test times out + - media: imon: Fix null-ptr-deref in imon_probe + - media: dib0700: fix invalid dvb_detach argument + - crypto: dh - Fix double free of ctx->p + - crypto: dh - Don't permit 'p' to be 0 + - crypto: dh - Don't permit 'key' or 'g' size longer than 'p' + - crypto: brcm - Explicity ACK mailbox message + - USB: early: Use new USB product ID and strings for DbC device + - USB: usbfs: compute urb->actual_length for isochronous + - USB: Add delay-init quirk for Corsair K70 LUX keyboards + - usb: gadget: f_fs: Fix use-after-free in ffs_free_inst + - USB: serial: metro-usb: stop I/O after failed open + - USB: serial: Change DbC debug device binding ID + - USB: serial: qcserial: add pid/vid for Sierra Wireless EM7355 fw update + - USB: serial: garmin_gps: fix I/O after failed probe and remove + - USB: serial: garmin_gps: fix memory leak on probe errors + - selftests/x86/protection_keys: Fix syscall NR redefinition warnings + - x86/MCE/AMD: Always give panic severity for UC errors in kernel context + - platform/x86: peaq-wmi: Add DMI check before binding to the WMI interface + - platform/x86: peaq_wmi: Fix missing terminating entry for peaq_dmi_table + - HID: cp2112: add HIDRAW dependency + - HID: wacom: generic: Recognize WACOM_HID_WD_PEN as a type of pen collection + - rpmsg: glink: Add missing MODULE_LICENSE + - staging: wilc1000: Fix bssid buffer offset in Txq + - staging: sm750fb: Fix parameter mistake in poke32 + - staging: ccree: fix 64 bit scatter/gather DMA ops + - staging: greybus: spilib: fix use-after-free after deregistration + - staging: rtl8188eu: Revert 4 commits breaking ARP + - spi: fix use-after-free at controller deregistration + - sparc32: Add cmpxchg64(). + - sparc64: mmu_context: Add missing include files + - sparc64: Fix page table walk for PUD hugepages + - Linux 4.14.1 + + * Set PANIC_TIMEOUT=10 on Power Systems (LP: #1730660) + - [Config]: Set PANIC_TIMEOUT=10 on ppc64el + + * enable CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH easily confuse users + (LP: #1732627) + - [Config] CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=n + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.7.3-1ubuntu1, zfs to 0.7.3-1ubuntu1 + + -- Seth Forshee Mon, 27 Nov 2017 07:43:44 -0600 + +linux (4.14.0-7.9) bionic; urgency=low + + * Miscellaneous Ubuntu changes + - SAUCE: apparmor: add base infastructure for socket mediation + - SAUCE: apparmor: af_unix mediation + - SAUCE: LSM stacking: procfs: add smack subdir to attrs + - SAUCE: LSM stacking: LSM: manage credential security blobs + - SAUCE: LSM stacking: LSM: Manage file security blobs + - SAUCE: LSM stacking: LSM: manage task security blobs + - SAUCE: LSM stacking: LSM: Infrastructure management of the remaining blobs + - SAUCE: LSM stacking: LSM: general but not extreme module stacking + - SAUCE: LSM stacking: LSM: Complete task_alloc hook + - SAUCE: LSM stacking: fixup procsfs: add smack subdir to attrs + - SAUCE: LSM stacking: fixup initialize task->security + - SAUCE: LSM stacking: fixup: alloc_task_ctx is dead code + - SAUCE: LSM stacking: add support for stacking getpeersec_stream + - SAUCE: LSM stacking: add stacking support to apparmor network hooks + - SAUCE: LSM stacking: fixup apparmor stacking enablement + - SAUCE: LSM stacking: fixup stacking kconfig + - SAUCE: LSM stacking: allow selecting multiple LSMs using kernel boot params + - SAUCE: LSM stacking: provide prctl interface for setting context + - SAUCE: LSM stacking: inherit current display LSM + - SAUCE: LSM stacking: keep an index for each registered LSM + - SAUCE: LSM stacking: verify display LSM + - SAUCE: LSM stacking: provide a way to specify the default display lsm + - SAUCE: LSM stacking: make sure LSM blob align on 64 bit boundaries + - SAUCE: LSM stacking: add /proc//attr/display_lsm + - SAUCE: LSM stacking: add Kconfig to set default display LSM + - SAUCE: LSM stacking: add configs for LSM stacking + - SAUCE: LSM stacking: check for invalid zero sized writes + - [Config] Run updateconfigs after merging LSM stacking + - [Config] CONFIG_AMD_MEM_ENCRYPT=y + + [ Upstream Kernel Changes ] + + * Rebase to v4.14 + + -- Seth Forshee Mon, 13 Nov 2017 08:12:08 -0600 + +linux (4.14.0-6.8) bionic; urgency=low + + * Miscellaneous Ubuntu changes + - SAUCE: add workarounds to enable ZFS for 4.14 + + [ Upstream Kernel Changes ] + + * Rebase to v4.14-rc8 + + -- Seth Forshee Mon, 06 Nov 2017 11:39:00 -0600 + +linux (4.14.0-5.7) bionic; urgency=low + + * Miscellaneous Ubuntu changes + - [Debian] Fix invocation of dh_prep for dbgsym packages + + -- Seth Forshee Tue, 31 Oct 2017 07:07:23 -0500 + +linux (4.14.0-4.5) bionic; urgency=low + + * Miscellaneous Ubuntu changes + - [Packaging] virtualbox -- reduce in kernel module versions + - vbox-update: Fix up KERN_DIR definitions + - ubuntu: vbox -- update to 5.2.0-dfsg-2 + - [Config] CONFIG_AMD_MEM_ENCRYPT=n + + [ Upstream Kernel Changes ] + + * Rebase to v4.14-rc7 + + -- Seth Forshee Mon, 30 Oct 2017 13:29:20 -0500 + +linux (4.14.0-3.4) artful; urgency=low + + * Touchpad and TrackPoint Dose Not Work on Lenovo X1C6 and X280 (LP: #1723986) + - SAUCE: Input: synaptics-rmi4 - RMI4 can also use SMBUS version 3 + - SAUCE: Input: synaptics - Lenovo X1 Carbon 5 should use SMBUS/RMI + - SAUCE: Input: synaptics - add Intertouch support on X1 Carbon 6th and X280 + + * powerpc/64s: Add workaround for P9 vector CI load issuenext (LP: #1721070) + - powerpc/64s: Add workaround for P9 vector CI load issue + + * Miscellaneous Ubuntu changes + - SAUCE: staging: vboxvideo: Fix reporting invalid suggested-offset-properties + - [Config] CONFIG_DRM_VBOXVIDEO=m + - SAUCE: Import aufs driver + - [Config] Enable aufs + - [Config] Reorder annotations file after enabling aufs + - vbox-update: Disable imported vboxvideo module + - ubuntu: vbox -- update to 5.1.30-dfsg-1 + - Enable vbox + - hio: Use correct sizes when initializing ssd_index_bits* arrays + - hio: Update io stat accounting for 4.14 + - Enable hio + + [ Upstream Kernel Changes ] + + * Rebase to v4.14-rc5 + * Rebase to v4.14-rc6 + + -- Seth Forshee Mon, 23 Oct 2017 13:53:52 -0500 + +linux (4.14.0-2.3) artful; urgency=low + + * [Bug] USB controller failed to respond on Denverton after loading + intel_th_pci module (LP: #1715833) + - SAUCE: PCI: Disable broken RTIT_BAR of Intel TH + + * CONFIG_DEBUG_FS is not enabled by "make zfcpdump_defconfig" with Ubuntu + 17.10 (kernel 4.13) (LP: #1719290) + - SAUCE: s390: update zfcpdump_defconfig + + * Add installer support for Broadcom BCM573xx network drivers. (LP: #1720466) + - d-i: Add bnxt_en to nic-modules. + + * Miscellaneous Ubuntu changes + - [Config] Update annotations for 4.14-rc2 + + [ Upstream Kernel Changes ] + + * Rebase to v4.14-rc3 + * Rebase to v4.14-rc4 + + -- Seth Forshee Wed, 11 Oct 2017 16:04:27 -0500 + +linux (4.14.0-1.2) artful; urgency=low + + * [Bug] USB 3.1 Gen2 works as 5Gbps (LP: #1720045) + - xhci: set missing SuperSpeedPlus Link Protocol bit in roothub descriptor + + * Please make linux-libc-dev Provide: aufs-dev (LP: #1716091) + - [Packaging] Add aufs-dev to the Provides: for linux-libc-dev + + * Upgrade to 4.13.0-11.12 in artful amd64 VM breaks display on wayland + (LP: #1718679) + - [Config] CONFIG_DRM_VBOXVIDEO=n + + * ipmmu-vmsa driver breaks arm64 boots (LP: #1718734) + - [Config] Disable CONFIG_IPMMU_VMSA on arm64 + + * autopkgtest profile fails to build on armhf (LP: #1717920) + - [Packaging] autopkgtest -- disable d-i when dropping flavours + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_I2C_XLP9XX=m + - [Packaging] Use SRCPKGNAME rather than hard-coding the source package name + + [ Upstream Kernel Changes ] + + * Rebase to v4.14-rc2 + + -- Seth Forshee Fri, 29 Sep 2017 09:09:11 -0400 + +linux (4.14.0-0.1) artful; urgency=low + + * Miscellaneous Ubuntu changes + - Disable vbox build + - Disable hio build + - Disable zfs build + + [ Upstream Kernel Changes ] + + * Rebase to v4.14-rc1 + + -- Seth Forshee Tue, 19 Sep 2017 20:22:29 -0500 + +linux (4.13.0-11.12) artful; urgency=low + + * linux: 4.13.0-11.12 -proposed tracker (LP: #1716699) + + * kernel panic -not syncing: Fatal exception: panic_on_oops (LP: #1708399) + - s390/mm: fix local TLB flushing vs. detach of an mm address space + - s390/mm: fix race on mm->context.flush_mm + + * CVE-2017-1000251 + - Bluetooth: Properly check L2CAP config option output buffer length + + -- Seth Forshee Tue, 12 Sep 2017 10:18:38 -0500 + +linux (4.13.0-10.11) artful; urgency=low + + * linux: 4.13.0-10.11 -proposed tracker (LP: #1716287) + + * please add aufs-dkms to the Provides: for the kernel packages (LP: #1716093) + - [Packaging] Add aufs-dkms to the Provides: for kernel packages + + * Artful update to v4.13.1 stable release (LP: #1716284) + - usb: quirks: add delay init quirk for Corsair Strafe RGB keyboard + - USB: serial: option: add support for D-Link DWM-157 C1 + - usb: Add device quirk for Logitech HD Pro Webcam C920-C + - usb:xhci:Fix regression when ATI chipsets detected + - USB: musb: fix external abort on suspend + - ANDROID: binder: add padding to binder_fd_array_object. + - ANDROID: binder: add hwbinder,vndbinder to BINDER_DEVICES. + - USB: core: Avoid race of async_completed() w/ usbdev_release() + - staging/rts5208: fix incorrect shift to extract upper nybble + - staging: ccree: save ciphertext for CTS IV + - staging: fsl-dpaa2/eth: fix off-by-one FD ctrl bitmaks + - iio: adc: ti-ads1015: fix incorrect data rate setting update + - iio: adc: ti-ads1015: fix scale information for ADS1115 + - iio: adc: ti-ads1015: enable conversion when CONFIG_PM is not set + - iio: adc: ti-ads1015: avoid getting stale result after runtime resume + - iio: adc: ti-ads1015: don't return invalid value from buffer setup callbacks + - iio: adc: ti-ads1015: add adequate wait time to get correct conversion + - driver core: bus: Fix a potential double free + - HID: wacom: Do not completely map WACOM_HID_WD_TOUCHRINGSTATUS usage + - binder: free memory on error + - crypto: caam/qi - fix compilation with CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y + - crypto: caam/qi - fix compilation with DEBUG enabled + - thunderbolt: Fix reset response_type + - fpga: altera-hps2fpga: fix multiple init of l3_remap_lock + - intel_th: pci: Add Cannon Lake PCH-H support + - intel_th: pci: Add Cannon Lake PCH-LP support + - ath10k: fix memory leak in rx ring buffer allocation + - drm/vgem: Pin our pages for dmabuf exports + - drm/ttm: Fix accounting error when fail to get pages for pool + - drm/dp/mst: Handle errors from drm_atomic_get_private_obj_state() correctly + - rtlwifi: rtl_pci_probe: Fix fail path of _rtl_pci_find_adapter + - Bluetooth: Add support of 13d3:3494 RTL8723BE device + - iwlwifi: pci: add new PCI ID for 7265D + - dlm: avoid double-free on error path in dlm_device_{register,unregister} + - mwifiex: correct channel stat buffer overflows + - MCB: add support for SC31 to mcb-lpc + - s390/mm: avoid empty zero pages for KVM guests to avoid postcopy hangs + - drm/nouveau/pci/msi: disable MSI on big-endian platforms by default + - drm/nouveau: Fix error handling in nv50_disp_atomic_commit + - workqueue: Fix flag collision + - ahci: don't use MSI for devices with the silly Intel NVMe remapping scheme + - cs5536: add support for IDE controller variant + - scsi: sg: protect against races between mmap() and SG_SET_RESERVED_SIZE + - scsi: sg: recheck MMAP_IO request length with lock held + - of/device: Prevent buffer overflow in of_device_modalias() + - rtlwifi: Fix memory leak when firmware request fails + - rtlwifi: Fix fallback firmware loading + - Linux 4.13.1 + + * Kernel has trouble recognizing Corsair Strafe RGB keyboard (LP: #1678477) + - usb: quirks: add delay init quirk for Corsair Strafe RGB keyboard + + * SRIOV: warning if unload VFs (LP: #1715073) + - PCI: Disable VF decoding before pcibios_sriov_disable() updates resources + + * [Patch] network-i40e:NVM bug fixes (cherrypick from 4.14) (LP: #1715578) + - i40e: avoid NVM acquire deadlock during NVM update + - i40e: point wb_desc at the nvm_wb_desc during i40e_read_nvm_aq + + * [P9,POwer NV] Perf PMU event : pm_br_2path and pm_ld_miss_l1 is counted + twice when perf stat is done (perf:) (LP: #1714571) + - perf vendor events powerpc: Remove duplicate events + + * Unable to install Ubuntu on the NVMe disk under VMD PCI domain + (LP: #1703339) + - [Config] Include vmd in storage-core-modules udeb + + * 17.10 fails to boot on POWER9 DD2.0 with Deep stop states (LP: #1715064) + - powerpc/powernv: Save/Restore additional SPRs for stop4 cpuidle + - powerpc/powernv: Clear PECE1 in LPCR via stop-api only on Hotplug + - SAUCE: powerpc/powernv: Clear LPCR[PECE1] via stop-api only for deep state + offline + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/seccomp: Support glibc 2.26 siginfo_t.h + - Revert "UBUNTU: SAUCE: Import aufs driver" + - SAUCE: Import aufs driver + + -- Seth Forshee Sun, 10 Sep 2017 17:48:59 -0500 + +linux (4.13.0-9.10) artful; urgency=low + + * linux: 4.13.0-9.10 -proposed tracker (LP: #1715145) + + * EDAC sbridge: Failed to register device with error -22. (LP: #1714112) + - [Config] CONFIG_EDAC_GHES=n + + * Miscellaneous Ubuntu changes + - ubuntu: vbox -- update to 5.1.26-dfsg-2 + + [ Upstream Kernel Changes ] + + * Rebase to v4.13 + + -- Seth Forshee Tue, 05 Sep 2017 07:51:19 -0500 + +linux (4.13.0-8.9) artful; urgency=low + + * snapd 2.27.3+17.10 ADT test failure with linux 4.13.0-6.7 (LP: #1713103) + - SAUCE: apparmor: fix apparmorfs DAC access, permissions + + * enable ARCH_SUNXI (and friends) in arm64 kernel .config (LP: #1701137) + - [Config] Enable CONFIG_ARCH_SUNXI and related options for arm64 + + * [Bug] Harrisonville: pnd2_edac always fail to load on B1 stepping + Harrisonville SDP (LP: #1709257) + - EDAC, pnd2: Build in a minimal sideband driver for Apollo Lake + - EDAC, pnd2: Mask off the lower four bits of a BAR + - EDAC, pnd2: Conditionally unhide/hide the P2SB PCI device to read BAR + - EDAC, pnd2: Properly toggle hidden state for P2SB PCI device + - SAUCE: i2c: i801: Restore the presence state of P2SB PCI device after + reading BAR + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: SAUCE: Import aufs driver" + - SAUCE: Import aufs driver + - SAUCE: selftests/powerpc: Disable some ptrace selftests + - [Config] CONFIG_CRYPTO_DEV_NITROX_CNN55XX=n for s390x + - [Config] CONFIG_I2C_SLAVE=n for amd64, i386, ppc64el + - [Config] Disable CONFIG_MDIO_* options for s390x + - [Config] CONFIG_SCSI_MQ_DEFAULT=n for s390x + - [Config] Update annotations for 4.13 + + -- Seth Forshee Thu, 31 Aug 2017 14:27:09 -0500 + +linux (4.13.0-7.8) artful; urgency=low + + * linux 4.12.0-11.12 ADT test failure with linux 4.12.0-11.12 (LP: #1710904) + - SAUCE: selftests/powerpc: Use snprintf to construct DSCR sysfs interface + paths + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: SAUCE: seccomp: log actions even when audit is disabled" + + * Miscellaneous upstream changes + - seccomp: Provide matching filter for introspection + - seccomp: Sysctl to display available actions + - seccomp: Operation for checking if an action is available + - seccomp: Sysctl to configure actions that are allowed to be logged + - seccomp: Selftest for detection of filter flag support + - seccomp: Filter flag to log all actions except SECCOMP_RET_ALLOW + - seccomp: Action to log before allowing + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc7 + + -- Seth Forshee Mon, 28 Aug 2017 08:12:24 -0500 + +linux (4.13.0-6.7) artful; urgency=low + + * HID: multitouch: Support ALPS PTP Stick and Touchpad devices (LP: #1712481) + - SAUCE: HID: multitouch: Support ALPS PTP stick with pid 0x120A + + * sort ABI files with C.UTF-8 locale (LP: #1712345) + - [Packaging] sort ABI files with C.UTF-8 locale + + * igb: Support using Broadcom 54616 as PHY (LP: #1712024) + - SAUCE: igb: add support for using Broadcom 54616 as PHY + + * RPT related fixes missing in Ubuntu 16.04.3 (LP: #1709220) + - powerpc/mm/radix: Improve _tlbiel_pid to be usable for PWC flushes + - powerpc/mm/radix: Improve TLB/PWC flushes + - powerpc/mm/radix: Avoid flushing the PWC on every flush_tlb_range + + * Linux 4.12 refuses to load self-signed modules under Secure Boot with + properly enrolled keys (LP: #1712168) + - SAUCE: (efi-lockdown) MODSIGN: Fix module signature verification + + * [17.10 FEAT] Enable NVMe driver - kernel (LP: #1708432) + - [Config] CONFIG_BLK_DEV_NVME=m for s390 + + * Artful: 4.12.0-11.12: Boot panic in vlv2_plat_configure_clock+0x3b/0xa0 + (LP: #1711298) + - [Config] CONFIG_INTEL_ATOMISP=n + + * Miscellaneous Ubuntu changes + - SAUCE: apparmor: af_unix mediation + + * Miscellaneous upstream changes + - apparmor: Fix shadowed local variable in unpack_trans_table() + - apparmor: Fix logical error in verify_header() + - apparmor: Fix an error code in aafs_create() + - apparmor: Redundant condition: prev_ns. in [label.c:1498] + - apparmor: add the ability to mediate signals + - apparmor: add mount mediation + - apparmor: cleanup conditional check for label in label_print + - apparmor: add support for absolute root view based labels + - apparmor: make policy_unpack able to audit different info messages + - apparmor: add more debug asserts to apparmorfs + - apparmor: add base infastructure for socket mediation + - apparmor: move new_null_profile to after profile lookup fns() + - apparmor: fix race condition in null profile creation + - apparmor: ensure unconfined profiles have dfas initialized + - apparmor: fix incorrect type assignment when freeing proxies + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc6 + + -- Seth Forshee Wed, 23 Aug 2017 08:10:38 -0500 + +linux (4.13.0-5.6) artful; urgency=low + + * Ubuntu17.10 - perf: Update Power9 PMU event JSON files (LP: #1708630) + - perf pmu-events: Support additional POWER8+ PVR in mapfile + - perf vendor events: Add POWER9 PMU events + - perf vendor events: Add POWER9 PVRs to mapfile + - SAUCE: perf vendor events powerpc: remove suffix in mapfile + - SAUCE: perf vendor events powerpc: Update POWER9 events + + * Disable CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE (LP: #1709171) + - [Config] CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=n for ppc64el + + * Please only recommend or suggest initramfs-tools | linux-initramfs-tool for + kernels able to boot without initramfs (LP: #1700972) + - [Debian] Don't depend on initramfs-tools + + * Miscellaneous Ubuntu changes + - SAUCE: Import aufs driver + - SAUCE: aufs -- Add missing argument to loop_switch() call + - [Config] Enable aufs + - SAUCE: (noup) Update spl to 0.6.5.11-ubuntu1, zfs to 0.6.5.11-1ubuntu3 + - Enable zfs build + - SAUCE: powerpc: Always initialize input array when calling epapr_hypercall() + - [Packaging] switch up to debhelper 9 + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc5 + + -- Seth Forshee Tue, 15 Aug 2017 09:24:16 -0500 + +linux (4.13.0-4.5) artful; urgency=low + + * Lenovo Yoga 910 Sensors (LP: #1708120) + - SAUCE: (no-up) HID: Add quirk for Lenovo Yoga 910 with ITE Chips + + * Unable to install Ubuntu on the NVMe disk under VMD PCI domain + (LP: #1703339) + - [Config] Add vmd driver to generic inclusion list + + * Set CONFIG_SATA_HIGHBANK=y on armhf (LP: #1703430) + - [Config] CONFIG_SATA_HIGHBANK=y + + * Miscellaneous Ubuntu changes + - ubuntu: vbox -- update to 5.1.26-dfsg-1 + - SAUCE: hio: Build fixes for 4.13 + - Enable hio build + - SAUCE: (noup) Update spl to 0.6.5.11-1, zfs to 0.6.5.11-1ubuntu1 + - [debian] use all rather than amd64 dkms debs for sync + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc4 + + -- Seth Forshee Tue, 08 Aug 2017 11:31:48 -0500 + +linux (4.13.0-3.4) artful; urgency=low + + * Adt tests of src:linux time out often on armhf lxc containers (LP: #1705495) + - [Packaging] tests -- reduce rebuild test to one flavour + - [Packaging] tests -- reduce rebuild test to one flavour -- use filter + + * snapd 2.26.8+17.10 ADT test failure with linux 4.12.0-6.7 (LP: #1704158) + - SAUCE: virtio_net: Revert mergeable buffer handling rework + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc3 + + -- Seth Forshee Mon, 31 Jul 2017 10:08:16 -0500 + +linux (4.13.0-2.3) artful; urgency=low + + * Change CONFIG_IBMVETH to module (LP: #1704479) + - [Config] CONFIG_IBMVETH=m + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc2 + + -- Seth Forshee Mon, 24 Jul 2017 13:58:08 -0500 + +linux (4.13.0-1.2) artful; urgency=low + + * Miscellaneous Ubuntu changes + - [Debian] Support sphinx-based kernel documentation + + -- Seth Forshee Thu, 20 Jul 2017 09:18:33 -0500 + +linux (4.13.0-0.1) artful; urgency=low + + * Miscellaneous Ubuntu changes + - Disable hio + - Disable zfs build + - ubuntu: vbox -- update to 5.1.24-dfsg-1 + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc1 + + -- Seth Forshee Wed, 19 Jul 2017 15:09:31 -0500 + +linux (4.12.0-7.8) artful; urgency=low + + * ThunderX: soft lockup on 4.8+ kernels when running qemu-efi with vhost=on + (LP: #1673564) + - arm64: Add a facility to turn an ESR syndrome into a sysreg encoding + - KVM: arm/arm64: vgic-v3: Add accessors for the ICH_APxRn_EL2 registers + - KVM: arm64: Make kvm_condition_valid32() accessible from EL2 + - KVM: arm64: vgic-v3: Add hook to handle guest GICv3 sysreg accesses at EL2 + - KVM: arm64: vgic-v3: Add ICV_BPR1_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_IGRPEN1_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_IAR1_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_EOIR1_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_AP1Rn_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_HPPIR1_EL1 handler + - KVM: arm64: vgic-v3: Enable trapping of Group-1 system registers + - KVM: arm64: Enable GICv3 Group-1 sysreg trapping via command-line + - KVM: arm64: vgic-v3: Add ICV_BPR0_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_IGNREN0_EL1 handler + - KVM: arm64: vgic-v3: Add misc Group-0 handlers + - KVM: arm64: vgic-v3: Enable trapping of Group-0 system registers + - KVM: arm64: Enable GICv3 Group-0 sysreg trapping via command-line + - arm64: Add MIDR values for Cavium cn83XX SoCs + - arm64: Add workaround for Cavium Thunder erratum 30115 + - KVM: arm64: vgic-v3: Add ICV_DIR_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_RPR_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_CTLR_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_PMR_EL1 handler + - KVM: arm64: Enable GICv3 common sysreg trapping via command-line + - KVM: arm64: vgic-v3: Log which GICv3 system registers are trapped + - KVM: arm64: Log an error if trapping a read-from-write-only GICv3 access + - KVM: arm64: Log an error if trapping a write-to-read-only GICv3 access + + * hns: under heavy load, NIC may fail and require reboot (LP: #1704146) + - net: hns: Bugfix for Tx timeout handling in hns driver + + * New ACPI identifiers for ThunderX SMMU (LP: #1703437) + - iommu/arm-smmu: Plumb in new ACPI identifiers + + * Transparent hugepages should default to enabled=madvise (LP: #1703742) + - SAUCE: use CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y as default + + * Artful update to v4.12.1 stable release (LP: #1703858) + - driver core: platform: fix race condition with driver_override + - RDMA/uverbs: Check port number supplied by user verbs cmds + - usb: dwc3: replace %p with %pK + - USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick + - usb: usbip: set buffer pointers to NULL after free + - Add USB quirk for HVR-950q to avoid intermittent device resets + - usb: Fix typo in the definition of Endpoint[out]Request + - USB: core: fix device node leak + - USB: serial: option: add two Longcheer device ids + - USB: serial: qcserial: new Sierra Wireless EM7305 device ID + - xhci: Limit USB2 port wake support for AMD Promontory hosts + - gfs2: Fix glock rhashtable rcu bug + - Add "shutdown" to "struct class". + - tpm: Issue a TPM2_Shutdown for TPM2 devices. + - tpm: fix a kernel memory leak in tpm-sysfs.c + - powerpc/powernv: Fix CPU_HOTPLUG=n idle.c compile error + - x86/uaccess: Optimize copy_user_enhanced_fast_string() for short strings + - sched/fair, cpumask: Export for_each_cpu_wrap() + - sched/core: Implement new approach to scale select_idle_cpu() + - sched/numa: Use down_read_trylock() for the mmap_sem + - sched/numa: Override part of migrate_degrades_locality() when idle balancing + - sched/fair: Simplify wake_affine() for the single socket case + - sched/numa: Implement NUMA node level wake_affine() + - sched/fair: Remove effective_load() + - sched/numa: Hide numa_wake_affine() from UP build + - xen: avoid deadlock in xenbus driver + - crypto: drbg - Fixes panic in wait_for_completion call + - Linux 4.12.1 + + * cxlflash update request in the Xenial SRU stream (LP: #1702521) + - scsi: cxlflash: Combine the send queue locks + - scsi: cxlflash: Update cxlflash_afu_sync() to return errno + - scsi: cxlflash: Reset hardware queue context via specified register + - scsi: cxlflash: Schedule asynchronous reset of the host + - scsi: cxlflash: Handle AFU sync failures + - scsi: cxlflash: Track pending scsi commands in each hardware queue + - scsi: cxlflash: Flush pending commands in cleanup path + - scsi: cxlflash: Add scsi command abort handler + - scsi: cxlflash: Create character device to provide host management interface + - scsi: cxlflash: Separate AFU internal command handling from AFU sync + specifics + - scsi: cxlflash: Introduce host ioctl support + - scsi: cxlflash: Refactor AFU capability checking + - scsi: cxlflash: Support LUN provisioning + - scsi: cxlflash: Support AFU debug + - scsi: cxlflash: Support WS16 unmap + - scsi: cxlflash: Remove zeroing of private command data + - scsi: cxlflash: Update TMF command processing + - scsi: cxlflash: Avoid double free of character device + - scsi: cxlflash: Update send_tmf() parameters + - scsi: cxlflash: Update debug prints in reset handlers + + * make snap-pkg support (LP: #1700747) + - make snap-pkg support + + * Quirk for non-compliant PCI bridge on HiSilicon D05 board (LP: #1698706) + - SAUCE: PCI: Support hibmc VGA cards behind a misbehaving HiSilicon bridge + + * arm64: fix crash reading /proc/kcore (LP: #1702749) + - fs/proc: kcore: use kcore_list type to check for vmalloc/module address + - arm64: mm: select CONFIG_ARCH_PROC_KCORE_TEXT + + * Opal and POWER9 DD2 (LP: #1702159) + - SAUCE: powerpc/powernv: Tell OPAL about our MMU mode on POWER9 + + * Data corruption with hio driver (LP: #1701316) + - SAUCE: hio: Fix incorrect use of enum req_opf values + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.6.5.10-1, zfs to 0.6.5.10-1ubuntu2 + - snapcraft.yaml: Sync with xenial + - [Config] CONFIG_CAVIUM_ERRATUM_30115=y + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Add sysctls for secureboot and + MokSBState" + + -- Seth Forshee Fri, 14 Jul 2017 15:25:41 -0500 + +linux (4.12.0-6.7) artful; urgency=low + + * update ENA driver to 1.2.0k from net-next (LP: #1701575) + - net: ena: change return value for unsupported features unsupported return + value + - net: ena: add hardware hints capability to the driver + - net: ena: change sizeof() argument to be the type pointer + - net: ena: add reset reason for each device FLR + - net: ena: add support for out of order rx buffers refill + - net: ena: allow the driver to work with small number of msix vectors + - net: ena: use napi_schedule_irqoff when possible + - net: ena: separate skb allocation to dedicated function + - net: ena: use lower_32_bits()/upper_32_bits() to split dma address + - net: ena: update driver's rx drop statistics + - net: ena: update ena driver to version 1.2.0 + + * APST gets enabled against explicit kernel option (LP: #1699004) + - nvme: explicitly disable APST on quirked devices + + * Miscellaneous Ubuntu changes + - SAUCE: hio: Update to Huawei ES3000_V2 (2.1.0.40) + - SAUCE: hio updates for 4.12 + - SAUCE: Enable hio build + + -- Seth Forshee Wed, 05 Jul 2017 14:23:20 -0500 + +linux (4.12.0-5.6) artful; urgency=low + + * ERAT invalidate on context switch removal (LP: #1700819) + - powerpc: Only do ERAT invalidate on radix context switch on P9 DD1 + + * powerpc: Invalidate ERAT on powersave wakeup for POWER9 (LP: #1700521) + - SAUCE: powerpc: Invalidate ERAT on powersave wakeup for POWER9 + + * Miscellaneous Ubuntu changes + - d-i: Move qcom-emac from arm64 to shared nic-modules + + [ Upstream Kernel Changes ] + + * Rebase to v4.12 + + -- Seth Forshee Mon, 03 Jul 2017 07:52:02 -0500 + +linux (4.12.0-4.5) artful; urgency=low + + * aacraid driver may return uninitialized stack data to userspace + (LP: #1700077) + - SAUCE: scsi: aacraid: Don't copy uninitialized stack memory to userspace + + * KILLER1435-S[0489:e0a2] BT cannot search BT 4.0 device (LP: #1699651) + - Bluetooth: btusb: Add support for 0489:e0a2 QCA_ROME device + + * AACRAID for power9 platform (LP: #1689980) + - scsi: aacraid: Remove __GFP_DMA for raw srb memory + - scsi: aacraid: Fix DMAR issues with iommu=pt + - scsi: aacraid: Added 32 and 64 queue depth for arc natives + - scsi: aacraid: Set correct Queue Depth for HBA1000 RAW disks + - scsi: aacraid: Remove reset support from check_health + - scsi: aacraid: Change wait time for fib completion + - scsi: aacraid: Log count info of scsi cmds before reset + - scsi: aacraid: Print ctrl status before eh reset + - scsi: aacraid: Using single reset mask for IOP reset + - scsi: aacraid: Rework IOP reset + - scsi: aacraid: Add periodic checks to see IOP reset status + - scsi: aacraid: Rework SOFT reset code + - scsi: aacraid: Rework aac_src_restart + - scsi: aacraid: Use correct function to get ctrl health + - scsi: aacraid: Make sure ioctl returns on controller reset + - scsi: aacraid: Enable ctrl reset for both hba and arc + - scsi: aacraid: Add reset debugging statements + - scsi: aacraid: Remove reference to Series-9 + - scsi: aacraid: Update driver version to 50834 + + * hibmc driver does not include "pci:" prefix in bus ID (LP: #1698700) + - SAUCE: drm: hibmc: Use set_busid function from drm core + + * HiSilicon D05: installer doesn't appear on VGA (LP: #1698954) + - d-i: Add hibmc-drm to kernel-image udeb + + * Fix /proc/cpuinfo revision for POWER9 DD2 (LP: #1698844) + - SAUCE: powerpc: Fix /proc/cpuinfo revision for POWER9 DD2 + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_SATA_MV=n and CONFIG_GENERIC_PHY=n for s390x + - [Config] CONFIG_ATA=n for s390x + - [Config] Update annotations for 4.12 + + [ Upstream Kernel Changes ] + + * Rebase to v4.12-rc7 + + -- Seth Forshee Mon, 26 Jun 2017 11:27:29 -0500 + +linux (4.12.0-3.4) artful; urgency=low + + * Miscellaneous upstream changes + - ufs: fix the logics for tail relocation + + [ Upstream Kernel Changes ] + + * Rebase to v4.12-rc6 + + -- Seth Forshee Mon, 19 Jun 2017 14:50:39 -0500 + +linux (4.12.0-2.3) artful; urgency=low + + * CVE-2014-9900 + - SAUCE: (no-up) net: Zeroing the structure ethtool_wolinfo in + ethtool_get_wol() + + * System doesn't boot properly on Gigabyte AM4 motherboards (AMD Ryzen) + (LP: #1671360) + - pinctrl/amd: Use regular interrupt instead of chained + + * extend-diff-ignore should use exact matches (LP: #1693504) + - [Packaging] exact extend-diff-ignore matches + + * Miscellaneous Ubuntu changes + - SAUCE: efi: Don't print secure boot state from the efi stub + - ubuntu: vbox -- Update to 5.1.22-dfsg-1 + - SAUCE: vbox fixes for 4.12 + - Re-enable virtualbox build + - [Config] CONFIG_ORANGEFS_FS=m + - SAUCE: (noup) Update spl to 0.6.5.9-1ubuntu2, zfs to 0.6.5.9-5ubuntu7 + - Enable zfs build + + [ Upstream Kernel Changes ] + + * Rebase to v4.12-rc4 + * Rebase to v4.12-rc5 + + -- Seth Forshee Sun, 11 Jun 2017 22:25:13 -0500 + +linux (4.12.0-1.2) artful; urgency=low + + * Enable Matrox driver for Ubuntu 16.04.3 (LP: #1693337) + - [Config] Enable CONFIG_DRM_MGAG200 as module + + * Support low-pin-count devices on Hisilicon SoCs (LP: #1677319) + - [Config] CONFIG_LIBIO=y on arm64 only + - SAUCE: LIBIO: Introduce a generic PIO mapping method + - SAUCE: OF: Add missing I/O range exception for indirect-IO devices + - [Config] CONFIG_HISILICON_LPC=y + - SAUCE: LPC: Support the device-tree LPC host on Hip06/Hip07 + - SAUCE: LIBIO: Support the dynamically logical PIO registration of ACPI host + I/O + - SAUCE: LPC: Add the ACPI LPC support + - SAUCE: PCI: Apply the new generic I/O management on PCI IO hosts + - SAUCE: PCI: Restore codepath for !CONFIG_LIBIO + + * POWER9: Additional patches for TTY and CPU_IDLE (LP: #1674325) + - SAUCE: tty: Fix ldisc crash on reopened tty + + * Miscellaneous Ubuntu changes + - [Debian] Add build-dep on libnuma-dev to enable 'perf bench numa' + - Rebase to v4.12-rc3 + + [ Upstream Kernel Changes ] + + * Rebase to v4.12-rc3 + + -- Seth Forshee Mon, 29 May 2017 20:56:29 -0500 + +linux (4.12.0-0.1) artful; urgency=low + + * please enable CONFIG_ARM64_LSE_ATOMICS (LP: #1691614) + - [Config] CONFIG_ARM64_LSE_ATOMICS=y + + * [Regression] NUMA_BALANCING disabled on arm64 (LP: #1690914) + - [Config] CONFIG_NUMA_BALANCING{,_DEFAULT_ENABLED}=y on arm64 + + * exec'ing a setuid binary from a threaded program sometimes fails to setuid + (LP: #1672819) + - SAUCE: exec: ensure file system accounting in check_unsafe_exec is correct + + * Miscellaneous Ubuntu changes + - Update find-missing-sauce.sh to compare to artful + - Update dropped.txt + - SAUCE: (efi-lockdown) efi: Add EFI_SECURE_BOOT bit + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/mem and /dev/kmem when the kernel is + locked down + - SAUCE: (efi-lockdown) Add a sysrq option to exit secure boot mode + - SAUCE: (efi-lockdown) kexec: Disable at runtime if the kernel is locked down + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) kexec_file: Disable at runtime if securelevel has been + set + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) asus-wmi: Restrict debugfs interface when the kernel + is locked down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Enable cold boot attack mitigation + - SAUCE: (efi-lockdown) bpf: Restrict kernel image access functions when the + kernel is locked down + - SAUCE: (efi-lockdown) scsi: Lock down the eata driver + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) KEYS: Allow unrestricted boot-time addition of keys to + secondary keyring + - SAUCE: (efi-lockdown) efi: Add EFI signature data types + - SAUCE: (efi-lockdown) efi: Add an EFI signature blob parser + - SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI Secure Boot + - SAUCE: (efi-lockdown) MODSIGN: Allow the "db" UEFI variable to be suppressed + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) efi: Add secure_boot state and status bit for + MokSBState + - SAUCE: (efi-lockdown) efi: Add sysctls for secureboot and MokSBState + - [Config] Set values for UEFI secure boot lockdown options + - Disable virtualbox build + - Disable hio build + - SAUCE: securityfs: Replace CURRENT_TIME with current_time() + - Disable zfs build + - [Debian] Work out upstream tag for use with gen-auto-reconstruct + - SAUCE: Import aufs driver + - SAUCE: aufs -- Include linux/mm.h in fs/aufs/file.h + - [Config] Enable aufs + - SAUCE: perf callchain: Include errno.h on x86 unconditinally + + [ Upstream Kernel Changes ] + + * Rebase to v4.12-rc2 + + -- Seth Forshee Sun, 21 May 2017 23:44:44 -0500 + +linux (4.11.0-3.8) artful; urgency=low + + [ Seth Forshee ] + + * Release Tracking Bug + - LP: #1690999 + + * apparmor_parser hangs indefinitely when called by multiple threads + (LP: #1645037) + - SAUCE: apparmor: fix lock ordering for mkdir + + * apparmor leaking securityfs pin count (LP: #1660846) + - SAUCE: apparmor: fix leak on securityfs pin count + + * apparmor reference count leak when securityfs_setup_d_inode\ () fails + (LP: #1660845) + - SAUCE: apparmor: fix reference count leak when securityfs_setup_d_inode() + fails + + * apparmor not checking error if security_pin_fs() fails (LP: #1660842) + - SAUCE: apparmor: fix not handling error case when securityfs_pin_fs() fails + + * libvirt profile is blocking global setrlimit despite having no rlimit rule + (LP: #1679704) + - SAUCE: apparmor: fix complain mode failure for rlimit mediation + - apparmor: update auditing of rlimit check to provide capability information + + * apparmor: does not provide a way to detect policy updataes (LP: #1678032) + - SAUCE: apparmor: add policy revision file interface + + * apparmor does not make support of query data visible (LP: #1678023) + - SAUCE: apparmor: add label data availability to the feature set + + * apparmor query interface does not make supported query info available + (LP: #1678030) + - SAUCE: apparmor: add information about the query inteface to the feature set + + * change_profile incorrect when using namespaces with a compound stack + (LP: #1677959) + - SAUCE: apparmor: fix label parse for stacked labels + + * Regression in 4.4.0-65-generic causes very frequent system crashes + (LP: #1669611) + - apparmor: sync of apparmor 3.6+ (17.04) + + * Artful update to 4.11.1 stable release (LP: #1690814) + - dm ioctl: prevent stack leak in dm ioctl call + - drm/sti: fix GDP size to support up to UHD resolution + - power: supply: lp8788: prevent out of bounds array access + - brcmfmac: Ensure pointer correctly set if skb data location changes + - brcmfmac: Make skb header writable before use + - sparc64: fix fault handling in NGbzero.S and GENbzero.S + - refcount: change EXPORT_SYMBOL markings + - net: macb: fix phy interrupt parsing + - tcp: fix access to sk->sk_state in tcp_poll() + - geneve: fix incorrect setting of UDP checksum flag + - bpf: enhance verifier to understand stack pointer arithmetic + - bpf, arm64: fix jit branch offset related to ldimm64 + - tcp: fix wraparound issue in tcp_lp + - net: ipv6: Do not duplicate DAD on link up + - net: usb: qmi_wwan: add Telit ME910 support + - tcp: do not inherit fastopen_req from parent + - ipv4, ipv6: ensure raw socket message is big enough to hold an IP header + - rtnetlink: NUL-terminate IFLA_PHYS_PORT_NAME string + - ipv6: initialize route null entry in addrconf_init() + - ipv6: reorder ip6_route_dev_notifier after ipv6_dev_notf + - tcp: randomize timestamps on syncookies + - bnxt_en: allocate enough space for ->ntp_fltr_bmap + - bpf: don't let ldimm64 leak map addresses on unprivileged + - net: mdio-mux: bcm-iproc: call mdiobus_free() in error path + - f2fs: sanity check segment count + - xen/arm,arm64: fix xen_dma_ops after 815dd18 "Consolidate get_dma_ops..." + - xen: Revert commits da72ff5bfcb0 and 72a9b186292d + - block: get rid of blk_integrity_revalidate() + - Linux 4.11.1 + + * Module signing exclusion for staging drivers does not work properly + (LP: #1690908) + - SAUCE: Fix module signing exclusion in package builds + + * perf: qcom: Add L3 cache PMU driver (LP: #1689856) + - [Config] CONFIG_QCOM_L3_PMU=y + - perf: qcom: Add L3 cache PMU driver + + * No PMU support for ACPI-based arm64 systems (LP: #1689661) + - drivers/perf: arm_pmu: rework per-cpu allocation + - drivers/perf: arm_pmu: manage interrupts per-cpu + - drivers/perf: arm_pmu: split irq request from enable + - drivers/perf: arm_pmu: remove pointless PMU disabling + - drivers/perf: arm_pmu: define armpmu_init_fn + - drivers/perf: arm_pmu: fold init into alloc + - drivers/perf: arm_pmu: factor out pmu registration + - drivers/perf: arm_pmu: simplify cpu_pmu_request_irqs() + - drivers/perf: arm_pmu: handle no platform_device + - drivers/perf: arm_pmu: rename irq request/free functions + - drivers/perf: arm_pmu: split cpu-local irq request/free + - drivers/perf: arm_pmu: move irq request/free into probe + - drivers/perf: arm_pmu: split out platform device probe logic + - arm64: add function to get a cpu's MADT GICC table + - [Config] CONFIG_ARM_PMU_ACPI=y + - drivers/perf: arm_pmu: add ACPI framework + - arm64: pmuv3: handle !PMUv3 when probing + - arm64: pmuv3: use arm_pmu ACPI framework + + * Fix NVLINK2 TCE route (LP: #1690155) + - powerpc/powernv: Fix TCE kill on NVLink2 + + * CVE-2017-0605 + - tracing: Use strlcpy() instead of strcpy() in __trace_find_cmdline() + + * Miscellaneous Ubuntu changes + - [Config] Restore powerpc arch to annotations file + - [Config] Disable runtime testing modules + - [Config] Disable drivers not needed on s390x + - [Config] Update annotations for 4.11 + - [Config] updateconfigs after apparmor updates + + * Miscellaneous upstream changes + - apparmor: use SHASH_DESC_ON_STACK + - apparmor: fix invalid reference to index variable of iterator line 836 + - apparmor: fix parameters so that the permission test is bypassed at boot + - apparmor: Make path_max parameter readonly + - apparmorfs: Combine two function calls into one in aa_fs_seq_raw_abi_show() + - apparmorfs: Use seq_putc() in two functions + - apparmor: provide information about path buffer size at boot + - apparmor: add/use fns to print hash string hex value + + -- Seth Forshee Tue, 16 May 2017 00:39:13 -0500 + +linux (4.11.0-2.7) artful; urgency=low + + * kernel-wedge fails in artful due to leftover squashfs-modules d-i files + (LP: #1688259) + - Remove squashfs-modules files from d-i + - [Config] as squashfs-modules is builtin kernel-image must Provides: it + + * [Zesty] d-i: replace msm_emac with qcom_emac (LP: #1677297) + - Revert "UBUNTU: d-i: initrd needs msm_emac on amberwing platform." + - d-i: initrd needs qcom_emac on amberwing platform. + + * update for V3 kernel bits and improved multiple fan slice support + (LP: #1470091) + - SAUCE: fan: tunnel multiple mapping mode (v3) + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.6.5.9-1ubuntu1, zfs to 0.6.5.9-5ubuntu5 + - Enable zfs + - SAUCE: fan: add VXLAN implementation + - SAUCE: (efi-lockdown) efi: Add EFI_SECURE_BOOT bit + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/mem and /dev/kmem when the kernel is + locked down + - SAUCE: (efi-lockdown) Add a sysrq option to exit secure boot mode + - SAUCE: (efi-lockdown) kexec: Disable at runtime if the kernel is locked down + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) kexec_file: Disable at runtime if securelevel has been + set + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) asus-wmi: Restrict debugfs interface when the kernel + is locked down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Enable cold boot attack mitigation + - SAUCE: (efi-lockdown) bpf: Restrict kernel image access functions when the + kernel is locked down + - SAUCE: (efi-lockdown) scsi: Lock down the eata driver + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Add EFI signature data types + - SAUCE: (efi-lockdown) Add an EFI signature blob parser and key loader. + - SAUCE: (efi-lockdown) KEYS: Add a system blacklist keyring + - SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI Secure Boot + - SAUCE: (efi-lockdown) MODSIGN: Support not importing certs from db + - SAUCE: (efi-lockdown) MODSIGN: Don't try secure boot if EFI runtime is + disabled + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) efi: Add secure_boot state and status bit for + MokSBState + - SAUCE: (efi-lockdown) efi: Add sysctls for secureboot and MokSBState + - [Config] Set values for UEFI secure boot lockdown options + - Update dropped.txt + + [ Upstream Kernel Changes ] + + * rebase to v4.11 + + -- Seth Forshee Fri, 05 May 2017 07:43:14 -0500 + +linux (4.11.0-1.6) artful; urgency=low + + * Miscellaneous Ubuntu changes + - [Debian] Use default compression for all packages + - SAUCE: (namespace) block_dev: Support checking inode permissions in + lookup_bdev() + - SAUCE: (namespace) block_dev: Check permissions towards block device inode + when mounting + - SAUCE: (namespace) mtd: Check permissions towards mtd block device inode + when mounting + - SAUCE: (namespace) fs: Allow superblock owner to change ownership of inodes + - SAUCE: (namespace) fs: Don't remove suid for CAP_FSETID for userns root + - SAUCE: (namespace) fs: Allow superblock owner to access do_remount_sb() + - SAUCE: (namespace) capabilities: Allow privileged user in s_user_ns to set + security.* xattrs + - SAUCE: (namespace) fs: Allow CAP_SYS_ADMIN in s_user_ns to freeze and thaw + filesystems + - SAUCE: (namespace) fuse: Add support for pid namespaces + - SAUCE: (namespace) fuse: Support fuse filesystems outside of init_user_ns + - SAUCE: (namespace) fuse: Restrict allow_other to the superblock's namespace + or a descendant + - SAUCE: (namespace) fuse: Allow user namespace mounts + - SAUCE: (namespace) ext4: Add support for unprivileged mounts from user + namespaces + - SAUCE: (namespace) evm: Don't update hmacs in user ns mounts + - SAUCE: (namespace) ext4: Add module parameter to enable user namespace + mounts + - SAUCE: (namespace) block_dev: Forbid unprivileged mounting when device is + opened for writing + + -- Seth Forshee Wed, 26 Apr 2017 10:08:29 -0500 + +linux (4.11.0-0.5) artful; urgency=low + + * [Hyper-V][SAUCE] pci-hyperv: Use only 16 bit integer for PCI domain + (LP: #1684971) + - SAUCE: pci-hyperv: Use only 16 bit integer for PCI domain + + * [Hyper-V] Ubuntu 14.04.2 LTS Generation 2 SCSI Errors on VSS Based Backups + (LP: #1470250) + - SAUCE: Tools: hv: vss: Thaw the filesystem and continue after freeze fails + + * Enable virtual scsi server driver for Power (LP: #1615665) + - SAUCE: Return TCMU-generated sense data to fabric module + + * include/linux/security.h header syntax error with !CONFIG_SECURITYFS + (LP: #1630990) + - SAUCE: (no-up) include/linux/security.h -- fix syntax error with + CONFIG_SECURITYFS=n + + * Miscellaneous Ubuntu changes + - SAUCE: Import aufs driver + - [Config] Enable aufs + - [Debian] Add script to update virtualbox + - ubuntu: vbox -- Update to 5.1.20-dfsg-2 + - Enable vbox + - SAUCE: aufs -- Include linux/mm.h in fs/aufs/file.h + + [ Upstream Kernel Changes ] + + * rebase to v4.11-rc8 + + -- Seth Forshee Tue, 25 Apr 2017 13:42:54 -0500 + +linux (4.11.0-0.4) zesty; urgency=low + + * POWER9: Improve performance on memory management (LP: #1681429) + - SAUCE: powerpc/mm/radix: Don't do page walk cache flush when doing full mm + flush + - SAUCE: powerpc/mm/radix: Remove unnecessary ptesync + + * Miscellaneous Ubuntu changes + - find-missing-sauce.sh + + [ Upstream Kernel Changes ] + + * rebase to v4.11-rc7 + + -- Seth Forshee Tue, 18 Apr 2017 08:19:43 -0500 + +linux (4.11.0-0.3) zesty; urgency=low + + * Disable CONFIG_HVC_UDBG on ppc64el (LP: #1680888) + - [Config] Disable CONFIG_HVC_UDBG on ppc64el + + * smartpqi driver needed in initram disk and installer (LP: #1680156) + - [Config] Add smartpqi to d-i + + * Disable CONFIG_SECURITY_SELINUX_DISABLE (LP: #1680315) + - [Config] CONFIG_SECURITY_SELINUX_DISABLE=n + + * Miscellaneous Ubuntu changes + - [Config] flash-kernel should be a Breaks + - [Config] drop the info directory + - [Config] drop NOTES as obsolete + - [Config] drop changelog.historical as obsolete + - rebase to v4.11-rc6 + + [ Upstream Kernel Changes ] + + * rebase to v4.11-rc6 + + -- Tim Gardner Tue, 11 Apr 2017 07:16:52 -0600 + +linux (4.11.0-0.2) zesty; urgency=low + + [ Upstream Kernel Changes ] + + * rebase to v4.11-rc5 + + -- Tim Gardner Mon, 03 Apr 2017 08:26:07 +0100 + +linux (4.11.0-0.1) zesty; urgency=low + + [ Upstream Kernel Changes ] + + * rebase to v4.11-rc4 + - LP: #1591053 + + -- Tim Gardner Mon, 20 Mar 2017 05:15:32 -0600 + +linux (4.11.0-0.0) zesty; urgency=low + + * dummy entry + + -- Tim Gardner Mon, 20 Mar 2017 05:15:32 -0600 --- linux-gcp-5.19.0.orig/debian.master/config/amd64/config.common.amd64 +++ linux-gcp-5.19.0/debian.master/config/amd64/config.common.amd64 @@ -0,0 +1,699 @@ +# +# Config options for config.common.amd64 automatically generated by splitconfig.pl +# +CONFIG_6LOWPAN=m +CONFIG_AC97_BUS=m +CONFIG_ACCESSIBILITY=y +CONFIG_ACPI_DEBUG=y +CONFIG_ACPI_DEBUGGER=y +# CONFIG_ACPI_REDUCED_HARDWARE_ONLY is not set +CONFIG_AD525X_DPOT=m +CONFIG_ADFS_FS=m +CONFIG_ADIN1100_PHY=m +CONFIG_AFFS_FS=m +CONFIG_AIX_PARTITION=y +CONFIG_ALIM7101_WDT=m +CONFIG_ALTERA_STAPL=m +CONFIG_ALTERA_TSE=m +CONFIG_AMIGA_PARTITION=y +CONFIG_ANDROID=y +CONFIG_APDS9802ALS=m +CONFIG_APPLICOM=m +CONFIG_AQTION=m +CONFIG_ARCH_MMAP_RND_BITS=28 +CONFIG_ARCH_MMAP_RND_BITS_MAX=32 +CONFIG_ARCH_MMAP_RND_BITS_MIN=28 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8 +CONFIG_ARCH_NR_GPIO=1024 +CONFIG_ARCNET=m +CONFIG_ATA=y +CONFIG_ATALK=m +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_GENERIC=y +CONFIG_ATA_OVER_ETH=m +CONFIG_ATA_PIIX=y +CONFIG_ATM=m +CONFIG_AUTOFS4_FS=m +CONFIG_AUTOFS_FS=m +CONFIG_AUXDISPLAY=y +CONFIG_AX88796B_PHY=m +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BAREUDP=m +CONFIG_BATMAN_ADV=m +CONFIG_BCH=m +CONFIG_BCM84881_PHY=y +CONFIG_BCMA=m +CONFIG_BCM_KONA_USB2_PHY=m +CONFIG_BCM_VK=m +CONFIG_BE2ISCSI=m +CONFIG_BEFS_FS=m +CONFIG_BFS_FS=m +CONFIG_BLK_DEV_3W_XXXX_RAID=m +CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m +CONFIG_BLK_DEV_SX8=m +CONFIG_BSD_DISKLABEL=y +CONFIG_C2PORT=m +CONFIG_CADENCE_WATCHDOG=m +CONFIG_CAIF=m +CONFIG_CAN=m +CONFIG_CB710_CORE=m +CONFIG_CC_VERSION_TEXT="x86_64-linux-gnu-gcc-12 (Ubuntu 12.2.0-3ubuntu1) 12.2.0" +CONFIG_CDROM_PKTCDVD=m +# CONFIG_CMA is not set +CONFIG_CMDLINE_PARTITION=y +CONFIG_COMEDI=m +CONFIG_COMMON_CLK=y +CONFIG_COMPAT=y +CONFIG_COUNTER=m +CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y +CONFIG_CRAMFS=m +CONFIG_CRC7=m +CONFIG_CRC8=m +CONFIG_CRC_ITU_T=m +CONFIG_CRYPTO_DEV_ATMEL_ECC=m +CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m +CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m +CONFIG_CRYPTO_DEV_SAFEXCEL=m +CONFIG_CRYPTO_DH_RFC7919_GROUPS=y +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11 +CONFIG_CRYPTO_SM3_GENERIC=m +CONFIG_CRYPTO_SM4_GENERIC=m +CONFIG_CXL_BUS=m +CONFIG_DEBUG_INFO_BTF=y +CONFIG_DECNET=m +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_DMADEVICES=y +CONFIG_DMA_VIRTUAL_CHANNELS=y +# CONFIG_DM_DEBUG is not set +CONFIG_DNET=m +CONFIG_DP83TD510_PHY=m +CONFIG_DRM_AMDGPU=m +CONFIG_DRM_ANALOGIX_ANX78XX=m +CONFIG_DRM_AST=m +CONFIG_DRM_CIRRUS_QEMU=m +# CONFIG_DRM_ETNAVIV is not set +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_I2C_NXP_TDA9950=m +CONFIG_DRM_I2C_NXP_TDA998X=m +CONFIG_DRM_I2C_SIL164=m +CONFIG_DRM_MGAG200=m +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y +CONFIG_DRM_QXL=m +CONFIG_DRM_RADEON=m +CONFIG_DRM_SIMPLEDRM=m +CONFIG_DRM_SSD130X=m +CONFIG_DRM_VGEM=m +CONFIG_DRM_VKMS=m +CONFIG_DS1682=m +CONFIG_DUMMY_IRQ=m +CONFIG_DW_WATCHDOG=m +CONFIG_DW_XDATA_PCIE=m +CONFIG_ECHO=m +CONFIG_EEPROM_93CX6=m +CONFIG_EEPROM_AT24=m +CONFIG_EEPROM_EE1004=m +CONFIG_EEPROM_IDT_89HPESX=m +CONFIG_EEPROM_LEGACY=m +CONFIG_EEPROM_MAX6875=m +CONFIG_EFS_FS=m +CONFIG_ENCLOSURE_SERVICES=m +CONFIG_ETHOC=m +# CONFIG_EVM_LOAD_X509 is not set +CONFIG_EXFAT_FS=m +CONFIG_EXTCON=y +CONFIG_F2FS_FS=m +CONFIG_FB_3DFX=m +CONFIG_FB_ARK=m +CONFIG_FB_ASILIANT=y +CONFIG_FB_ATY=m +CONFIG_FB_ATY128=m +CONFIG_FB_CARMINE=m +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_CIRRUS=m +CONFIG_FB_CYBER2000=m +CONFIG_FB_I740=m +# CONFIG_FB_IBM_GXT4500 is not set +CONFIG_FB_IMSTT=y +CONFIG_FB_KYRO=m +CONFIG_FB_MATROX=m +CONFIG_FB_MB862XX=m +CONFIG_FB_METRONOME=m +CONFIG_FB_NEOMAGIC=m +CONFIG_FB_NVIDIA=m +CONFIG_FB_OPENCORES=m +CONFIG_FB_PM2=m +CONFIG_FB_PM3=m +CONFIG_FB_RADEON=m +CONFIG_FB_RIVA=m +CONFIG_FB_S1D13XXX=m +CONFIG_FB_S3=m +CONFIG_FB_SAVAGE=m +CONFIG_FB_SIMPLE=m +CONFIG_FB_SIS=m +CONFIG_FB_SM712=m +CONFIG_FB_SSD1307=m +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_TRIDENT=m +CONFIG_FB_UVESA=m +CONFIG_FB_VOODOO1=m +CONFIG_FB_VT8623=m +CONFIG_FDDI=y +CONFIG_FEALNX=m +CONFIG_FIREWIRE=m +CONFIG_FIREWIRE_NOSY=m +CONFIG_FIRMWARE_MEMMAP=y +CONFIG_FORTIFY_SOURCE=y +CONFIG_FPGA_BRIDGE=m +CONFIG_FPGA_DFL=m +CONFIG_FRAME_WARN=1024 +CONFIG_FUSION=y +CONFIG_GAMEPORT=m +CONFIG_GENERIC_PHY=y +CONFIG_GNSS=m +# CONFIG_GOLDFISH is not set +CONFIG_GPIO_ADP5588=m +CONFIG_GPIO_AMD_FCH=m +CONFIG_GPIO_DWAPB=m +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_GPIO_MAX7300=m +CONFIG_GPIO_MAX732X=m +CONFIG_GPIO_MB86S7X=m +CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCA9570=m +CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_RDC321X=m +CONFIG_GPIO_SIOX=m +CONFIG_GPIO_TPIC2810=m +CONFIG_GPIO_TWL4030=m +CONFIG_GPIO_TWL6040=m +CONFIG_GPIO_VIRTIO=m +CONFIG_GREYBUS=m +CONFIG_HABANA_AI=m +CONFIG_HAMACHI=m +CONFIG_HFSPLUS_FS=m +CONFIG_HFS_FS=m +CONFIG_HIBERNATION=y +CONFIG_HID=m +CONFIG_HMC6352=m +CONFIG_HOTPLUG_PCI=y +CONFIG_HOTPLUG_PCI_SHPC=y +CONFIG_HPFS_FS=m +CONFIG_HP_ILO=m +CONFIG_HSI=m +CONFIG_HSR=m +CONFIG_HTC_PASIC3=m +CONFIG_HTE=y +CONFIG_HWMON=y +CONFIG_HWSPINLOCK=y +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HW_RANDOM_XIPHERA=m +CONFIG_HZ=250 +# CONFIG_HZ_100 is not set +CONFIG_HZ_250=y +CONFIG_I2C=y +CONFIG_I2C_ALI1535=m +CONFIG_I2C_ALI1563=m +CONFIG_I2C_ALI15X3=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_AMD_MP2=m +CONFIG_I2C_CBUS_GPIO=m +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_DESIGNWARE_PCI=m +CONFIG_I2C_DESIGNWARE_PLATFORM=y +CONFIG_I2C_GPIO=m +CONFIG_I2C_I801=m +CONFIG_I2C_ISCH=m +CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_LTC4306=m +CONFIG_I2C_MUX_MLXCPLD=m +CONFIG_I2C_MUX_PCA9541=m +CONFIG_I2C_MUX_PCA954x=m +CONFIG_I2C_MUX_REG=m +CONFIG_I2C_NFORCE2=m +CONFIG_I2C_NVIDIA_GPU=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_PCA_PLATFORM=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_SIMTEC=m +CONFIG_I2C_SIS5595=m +CONFIG_I2C_SIS630=m +CONFIG_I2C_SIS96X=m +# CONFIG_I2C_SLAVE is not set +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m +CONFIG_I2C_VIRTIO=m +CONFIG_I2C_XILINX=m +CONFIG_I3C=m +CONFIG_I6300ESB_WDT=m +CONFIG_ICS932S401=m +CONFIG_IEEE802154=m +CONFIG_IIO=m +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_IMA_DEFAULT_HASH="sha1" +CONFIG_IMA_DEFAULT_HASH_SHA1=y +# CONFIG_IMA_DEFAULT_HASH_SHA256 is not set +CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng" +# CONFIG_IMA_LOAD_X509 is not set +CONFIG_IMA_NG_TEMPLATE=y +# CONFIG_IMA_READ_POLICY is not set +# CONFIG_IMA_SIG_TEMPLATE is not set +CONFIG_INFINIBAND_OCRDMA=m +CONFIG_INPUT_EVBUG=m +CONFIG_INPUT_FF_MEMLESS=m +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_INPUT_KEYBOARD=y +CONFIG_INPUT_MATRIXKMAP=m +CONFIG_INPUT_MISC=y +CONFIG_INPUT_MOUSE=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_SPARSEKMAP=m +CONFIG_INPUT_TABLET=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_INTERCONNECT=y +CONFIG_IOMMU_DEFAULT_DMA_LAZY=y +# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set +CONFIG_IOMMU_IOVA=y +CONFIG_IPACK_BUS=m +CONFIG_IPMI_HANDLER=m +# CONFIG_IP_DCCP_CCID3 is not set +CONFIG_IP_VS_TWOS=m +CONFIG_IRQ_BYPASS_MANAGER=y +CONFIG_ISL29003=m +CONFIG_ISL29020=m +CONFIG_JFS_FS=m +CONFIG_JME=m +CONFIG_JUMP_LABEL=y +CONFIG_KARMA_PARTITION=y +# CONFIG_KERNEL_GZIP is not set +CONFIG_KVM=m +CONFIG_LAPB=m +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_LDM_PARTITION=y +CONFIG_LIBNVDIMM=y +CONFIG_LLC2=m +CONFIG_LOG_BUF_SHIFT=18 +CONFIG_LPC_ICH=m +CONFIG_LPC_SCH=m +CONFIG_MAC_PARTITION=y +CONFIG_MAILBOX=y +CONFIG_MARVELL_88X2222_PHY=m +CONFIG_MAX63XX_WATCHDOG=m +CONFIG_MAXLINEAR_GPHY=m +CONFIG_MCB=m +CONFIG_MCTP=y +CONFIG_MDIO_BCM_UNIMAC=m +CONFIG_MDIO_BITBANG=m +CONFIG_MDIO_THUNDER=m +CONFIG_MD_MULTIPATH=m +CONFIG_MEDIATEK_GE_PHY=m +CONFIG_MEDIA_CEC_SUPPORT=y +CONFIG_MEDIA_SUPPORT=m +CONFIG_MEGARAID_LEGACY=m +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_SAS=m +CONFIG_MEMORY=y +CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y +CONFIG_MEMSTICK=m +CONFIG_MEM_SOFT_DIRTY=y +CONFIG_MFD_88PM800=m +CONFIG_MFD_88PM805=m +CONFIG_MFD_ARIZONA_I2C=m +CONFIG_MFD_ATC260X_I2C=m +CONFIG_MFD_AXP20X_I2C=m +CONFIG_MFD_BCM590XX=m +CONFIG_MFD_BD9571MWV=m +CONFIG_MFD_CORE=y +CONFIG_MFD_DA9062=m +CONFIG_MFD_DA9063=y +CONFIG_MFD_DA9150=m +CONFIG_MFD_IQS62X=m +CONFIG_MFD_JANZ_CMODIO=m +CONFIG_MFD_KEMPLD=m +CONFIG_MFD_LM3533=m +CONFIG_MFD_LP3943=m +CONFIG_MFD_MADERA=m +CONFIG_MFD_MAX14577=y +CONFIG_MFD_MAX77693=y +CONFIG_MFD_MAX8907=m +CONFIG_MFD_MC13XXX_I2C=m +CONFIG_MFD_MENF21BMC=m +CONFIG_MFD_MP2629=m +CONFIG_MFD_MT6360=m +CONFIG_MFD_MT6397=m +CONFIG_MFD_PCF50633=m +CONFIG_MFD_RDC321X=m +CONFIG_MFD_RETU=m +CONFIG_MFD_RT4831=m +CONFIG_MFD_RT5033=m +CONFIG_MFD_SI476X_CORE=m +CONFIG_MFD_SKY81452=m +CONFIG_MFD_SM501=m +CONFIG_MFD_SYSCON=y +CONFIG_MFD_TI_AM335X_TSCADC=m +CONFIG_MFD_TI_LMU=m +CONFIG_MFD_TI_LP873X=m +CONFIG_MFD_TPS65086=m +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TQMX86=m +CONFIG_MFD_VX855=m +CONFIG_MFD_WCD934X=m +CONFIG_MFD_WL1273_CORE=m +CONFIG_MFD_WM8994=m +CONFIG_MHI_BUS=m +CONFIG_MHI_BUS_EP=m +CONFIG_MII=m +CONFIG_MINIX_FS=m +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MISC_ALCOR_PCI=m +CONFIG_MISC_RTSX_PCI=m +CONFIG_MLX5_SF=y +CONFIG_MLX5_VFIO_PCI=m +CONFIG_MLXSW_I2C=m +CONFIG_MMC=y +CONFIG_MMC_BLOCK=m +CONFIG_MMC_CQHCI=m +# CONFIG_MMC_HSQ is not set +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SPI=m +CONFIG_MOST=m +CONFIG_MOTORCOMM_PHY=m +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CMDLINE_PARTS=m +CONFIG_MTD_NAND_CORE=m +CONFIG_MTD_RAW_NAND=m +CONFIG_NET_DSA=m +# CONFIG_NET_DSA_REALTEK_MDIO is not set +# CONFIG_NET_DSA_REALTEK_SMI is not set +CONFIG_NET_VENDOR_3COM=y +CONFIG_NET_VENDOR_ADAPTEC=y +CONFIG_NET_VENDOR_AGERE=y +CONFIG_NET_VENDOR_ALTEON=y +CONFIG_NET_VENDOR_AMD=y +CONFIG_NET_VENDOR_ARC=y +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_NET_VENDOR_BROCADE=y +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_NET_VENDOR_CHELSIO=y +CONFIG_NET_VENDOR_CISCO=y +CONFIG_NET_VENDOR_DAVICOM=y +CONFIG_NET_VENDOR_DEC=y +CONFIG_NET_VENDOR_DLINK=y +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_NET_VENDOR_EZCHIP=y +CONFIG_NET_VENDOR_FUNGIBLE=y +CONFIG_NET_VENDOR_GOOGLE=y +CONFIG_NET_VENDOR_HUAWEI=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_LITEX=y +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_NET_VENDOR_MICROSEMI=y +CONFIG_NET_VENDOR_MICROSOFT=y +CONFIG_NET_VENDOR_MYRI=y +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NET_VENDOR_NI=y +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_NET_VENDOR_OKI=y +CONFIG_NET_VENDOR_PENSANDO=y +CONFIG_NET_VENDOR_QLOGIC=y +CONFIG_NET_VENDOR_QUALCOMM=y +CONFIG_NET_VENDOR_RDC=y +CONFIG_NET_VENDOR_REALTEK=y +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_ROCKER=y +CONFIG_NET_VENDOR_SAMSUNG=y +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SILAN=y +CONFIG_NET_VENDOR_SIS=y +CONFIG_NET_VENDOR_SMSC=y +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_NET_VENDOR_SUN=y +CONFIG_NET_VENDOR_TEHUTI=y +CONFIG_NET_VENDOR_TI=y +CONFIG_NET_VENDOR_VIA=y +CONFIG_NET_VENDOR_WIZNET=y +CONFIG_NEW_LEDS=y +CONFIG_NFC=m +CONFIG_NFP=m +CONFIG_NODES_SHIFT=10 +CONFIG_NOP_USB_XCEIV=m +CONFIG_NOZOMI=m +CONFIG_NR_CPUS=8192 +CONFIG_NTB=m +# CONFIG_NTFS_RW is not set +CONFIG_NULL_TTY=m +CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y +CONFIG_NVMEM=y +CONFIG_NVRAM=m +CONFIG_NXP_C45_TJA11XX_PHY=m +CONFIG_N_GSM=m +# CONFIG_OF is not set +CONFIG_OMFS_FS=m +CONFIG_OSF_PARTITION=y +CONFIG_PACKING=y +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_PAGE_POOL_STATS is not set +CONFIG_PANIC_TIMEOUT=0 +CONFIG_PARAVIRT=y +CONFIG_PARPORT=m +CONFIG_PATA_SIS=y +CONFIG_PC104=y +CONFIG_PCCARD=m +CONFIG_PCIEPORTBUS=y +CONFIG_PCIPCWATCHDOG=m +CONFIG_PCI_EPF_NTB=m +# CONFIG_PCI_MESON is not set +CONFIG_PCI_PASID=y +CONFIG_PCI_PRI=y +CONFIG_PCI_QUIRKS=y +CONFIG_PCMCIA=m +CONFIG_PCS_XPCS=m +CONFIG_PECI=m +CONFIG_PGTABLE_LEVELS=5 +CONFIG_PHANTOM=m +CONFIG_PHONET=m +CONFIG_PHYSICAL_START=0x1000000 +CONFIG_PHY_CAN_TRANSCEIVER=m +CONFIG_PHY_PXA_28NM_HSIC=m +CONFIG_PHY_PXA_28NM_USB2=m +CONFIG_PINCTRL=y +CONFIG_PM=y +CONFIG_PMIC_OPREGION=y +CONFIG_PM_DEVFREQ=y +CONFIG_POWERCAP=y +CONFIG_POWER_SUPPLY=y +CONFIG_PPP=y +CONFIG_PPS_CLIENT_GPIO=m +CONFIG_PPS_CLIENT_LDISC=m +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +# CONFIG_PSI_DEFAULT_DISABLED is not set +CONFIG_PSTORE=y +# CONFIG_PSTORE_CONSOLE is not set +CONFIG_PSTORE_RAM=m +# CONFIG_PTDUMP_DEBUGFS is not set +CONFIG_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_IDT82P33=m +CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_PVPANIC=y +CONFIG_PWM=y +CONFIG_QNX4FS_FS=m +CONFIG_QNX6FS_FS=m +CONFIG_QRTR=m +CONFIG_RAPIDIO=y +CONFIG_RAVE_SP_CORE=m +CONFIG_RC_CORE=m +CONFIG_REED_SOLOMON=m +CONFIG_REGMAP_I2C=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_REGULATOR_TWL4030=m +CONFIG_REISERFS_FS=m +CONFIG_REMOTEPROC=y +CONFIG_RESET_CONTROLLER=y +CONFIG_RFKILL=y +CONFIG_RMI4_CORE=m +CONFIG_ROMFS_FS=m +CONFIG_RPMSG_VIRTIO=m +CONFIG_RTC_DRV_CMOS=y +CONFIG_RTC_DRV_GOLDFISH=m +CONFIG_RTC_DRV_PCF8523=m +CONFIG_S2IO=m +CONFIG_SAMPLE_FTRACE_DIRECT=m +CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_SCHED_SMT=y +CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_3W_SAS=m +CONFIG_SCSI_AACRAID=m +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_AIC79XX=m +CONFIG_SCSI_AIC7XXX=m +CONFIG_SCSI_AIC94XX=m +CONFIG_SCSI_AM53C974=m +CONFIG_SCSI_ARCMSR=m +CONFIG_SCSI_BFA_FC=m +CONFIG_SCSI_BNX2X_FCOE=m +CONFIG_SCSI_BNX2_ISCSI=m +CONFIG_SCSI_CHELSIO_FCOE=m +CONFIG_SCSI_CXGB3_ISCSI=m +CONFIG_SCSI_CXGB4_ISCSI=m +CONFIG_SCSI_DC395x=m +CONFIG_SCSI_DMX3191D=m +CONFIG_SCSI_EFCT=m +CONFIG_SCSI_ESAS2R=m +CONFIG_SCSI_FDOMAIN_PCI=m +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_IPS=m +CONFIG_SCSI_MPI3MR=m +CONFIG_SCSI_MVSAS=m +CONFIG_SCSI_MVUMI=m +CONFIG_SCSI_MYRB=m +CONFIG_SCSI_PM8001=m +CONFIG_SCSI_PMCRAID=m +CONFIG_SCSI_QLA_FC=m +CONFIG_SCSI_QLA_ISCSI=m +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_SNIC=m +CONFIG_SCSI_SRP_ATTRS=m +CONFIG_SCSI_STEX=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_UFSHCD=m +CONFIG_SCSI_WD719X=m +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SENSORS_APDS990X=m +CONFIG_SENSORS_BH1770=m +CONFIG_SENSORS_LIS3_I2C=m +CONFIG_SENSORS_Q54SJ108A2=m +CONFIG_SENSORS_TSL2550=m +CONFIG_SERIAL_8250_DW=m +CONFIG_SERIAL_8250_FINTEK=y +CONFIG_SERIAL_ALTERA_JTAGUART=m +CONFIG_SERIAL_ALTERA_UART=m +CONFIG_SERIAL_ARC=m +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_FSL_LINFLEXUART=m +CONFIG_SERIAL_FSL_LPUART=m +CONFIG_SERIAL_JSM=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIAL_RP2=m +CONFIG_SERIAL_SC16IS7XX=m +CONFIG_SERIAL_SCCNXP=y +CONFIG_SERIO=y +CONFIG_SFC=m +CONFIG_SFC_FALCON=m +CONFIG_SFC_SIENA=m +CONFIG_SGI_PARTITION=y +CONFIG_SLIP=m +CONFIG_SND=m +CONFIG_SND_COMPRESS_OFFLOAD=m +CONFIG_SND_DMAENGINE_PCM=m +CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM=y +CONFIG_SND_HDA_PREALLOC_SIZE=0 +CONFIG_SND_PCM=m +CONFIG_SND_SOC=m +CONFIG_SND_SOC_FSL_SSI=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_IMX_AUDMUX=m +CONFIG_SND_SOC_SGTL5000=m +CONFIG_SND_TIMER=m +CONFIG_SOC_TI=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=m +CONFIG_SPI=y +CONFIG_SPI_ROCKCHIP=m +CONFIG_SPI_SIFIVE=m +CONFIG_SPMI=m +CONFIG_SRAM=y +CONFIG_SSB=m +CONFIG_STAGING=y +# CONFIG_STANDALONE is not set +CONFIG_SUN_PARTITION=y +CONFIG_SURFACE_3_POWER_OPREGION=m +CONFIG_SURFACE_PRO3_BUTTON=m +# CONFIG_SYSFB_SIMPLEFB is not set +CONFIG_SYSV68_PARTITION=y +CONFIG_SYSV_FS=m +CONFIG_TCG_TIS_I2C_ATMEL=m +CONFIG_TCG_TIS_I2C_CR50=m +CONFIG_TCG_TIS_I2C_INFINEON=m +CONFIG_TCG_TIS_I2C_NUVOTON=m +CONFIG_TCG_TIS_ST33ZP24_I2C=m +CONFIG_THERMAL=y +CONFIG_TIFM_CORE=m +CONFIG_TOUCHSCREEN_ELAN=y +CONFIG_TPS6105X=m +CONFIG_TPS65010=m +CONFIG_TPS6507X=m +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_TTY_PRINTK=y +CONFIG_UACCE=m +CONFIG_UBSAN=y +CONFIG_UFS_FS=m +CONFIG_UIO_AEC=m +CONFIG_UIO_CIF=m +CONFIG_UIO_DMEM_GENIRQ=m +CONFIG_UIO_MF624=m +CONFIG_UIO_NETX=m +CONFIG_UIO_PCI_GENERIC=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_UIO_PRUSS=m +CONFIG_UIO_SERCOS3=m +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_USB4=m +CONFIG_USB_EHCI_HCD_PLATFORM=y +CONFIG_USB_GADGET=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_OHCI_HCD_PLATFORM=y +CONFIG_USB_SUPPORT=y +CONFIG_VDPA=m +CONFIG_VFIO=y +CONFIG_VFIO_IOMMU_TYPE1=y +CONFIG_VFIO_PCI=y +CONFIG_VFIO_PCI_CORE=y +CONFIG_VFIO_VIRQFD=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VMAP_STACK=y +CONFIG_VME_BUS=y +CONFIG_VMXNET3=m +CONFIG_VXFS_FS=m +CONFIG_VXGE=m +CONFIG_W1=m +CONFIG_WAN=y +CONFIG_WDTPCI=m +CONFIG_WWAN=y +CONFIG_X25=m +CONFIG_XEN=y +CONFIG_XILINX_EMACLITE=m +CONFIG_XILINX_LL_TEMAC=m +CONFIG_XILINX_SDFEC=m +CONFIG_XILINX_WATCHDOG=m +CONFIG_XILLYBUS=m +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_TEST=m +CONFIG_XZ_DEC_X86=y +CONFIG_YELLOWFIN=m +CONFIG_ZIIRAVE_WATCHDOG=m --- linux-gcp-5.19.0.orig/debian.master/config/amd64/config.flavour.generic +++ linux-gcp-5.19.0/debian.master/config/amd64/config.flavour.generic @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# --- linux-gcp-5.19.0.orig/debian.master/config/annotations +++ linux-gcp-5.19.0/debian.master/config/annotations @@ -0,0 +1,14426 @@ +# Menu: HEADER +# FORMAT: 2 +# ARCH: x86 arm arm64 s390 powerpc riscv + +# Mark debugging symbols. +# exceptions +CONFIG_DEBUG_FS note +CONFIG_DEBUG_KERNEL note + +# Menu: ROOT +CONFIG_LIVEPATCH policy<{'amd64': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_COMPAT policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': 'n', 's390x': 'y'}> +CONFIG_ACPI_PRMT policy<{'amd64': 'y'}> + +# Menu: ACPI (Advanced Configuration and Power Interface) Support +CONFIG_ACPI policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_DEBUGGER policy<{'amd64': 'y', 'arm64': 'n'}> +CONFIG_ACPI_DEBUGGER_USER policy<{'amd64': 'y'}> +CONFIG_ACPI_SPCR_TABLE policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_FPDT policy<{'amd64': 'y'}> +CONFIG_ACPI_REV_OVERRIDE_POSSIBLE policy<{'amd64': 'y'}> +CONFIG_ACPI_EC_DEBUGFS policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_ACPI_AC policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_BATTERY policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_BUTTON policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_VIDEO policy<{'amd64': 'm'}> +CONFIG_ACPI_FAN policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_TAD policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_ACPI_DOCK policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_PROCESSOR policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_IPMI policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_ACPI_PROCESSOR_AGGREGATOR policy<{'amd64': 'm'}> +CONFIG_ACPI_THERMAL policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_TABLE_UPGRADE policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_DEBUG policy<{'amd64': 'y', 'arm64': 'n'}> +CONFIG_ACPI_PCI_SLOT policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_CONTAINER policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_HOTPLUG_MEMORY policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_SBS policy<{'amd64': 'm'}> +CONFIG_ACPI_HED policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_CUSTOM_METHOD policy<{'amd64': 'n', 'arm64': 'n'}> +CONFIG_ACPI_BGRT policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_REDUCED_HARDWARE_ONLY policy<{'amd64': 'n', 'arm64': 'y'}> +CONFIG_ACPI_NFIT policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_NFIT_SECURITY_DEBUG policy<{'amd64': 'n', 'arm64': 'n'}> +CONFIG_ACPI_NUMA policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_HMAT policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_EXTLOG policy<{'amd64': 'm'}> +CONFIG_ACPI_CONFIGFS policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_TPS68470_PMIC_OPREGION policy<{'amd64': 'y'}> +CONFIG_X86_PM_TIMER policy<{'amd64': 'y'}> +# +CONFIG_ACPI_CUSTOM_METHOD mark note + +# Menu: ACPI (Advanced Configuration and Power Interface) Support >> ACPI Platform Error Interface (APEI) +CONFIG_ACPI_APEI policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_APEI_GHES policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_APEI_PCIEAER policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_APEI_MEMORY_FAILURE policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ACPI_APEI_EINJ policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_ACPI_APEI_ERST_DEBUG policy<{'amd64': 'n', 'arm64': 'n'}> + +# Menu: ACPI (Advanced Configuration and Power Interface) Support >> Intel DPTF (Dynamic Platform and Thermal Framework) Support +CONFIG_ACPI_DPTF policy<{'amd64': 'y'}> +CONFIG_DPTF_POWER policy<{'amd64': 'm'}> +CONFIG_DPTF_PCH_FIVR policy<{'amd64': 'm'}> + +# Menu: ACPI (Advanced Configuration and Power Interface) Support >> PMIC (Power Management Integrated Circuit) operation region support +CONFIG_PMIC_OPREGION policy<{'amd64': 'y', 'arm64': 'n'}> + +# Menu: ARM Accelerated Cryptographic Algorithms +CONFIG_CRYPTO_CHACHA20_NEON policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CRYPTO_NHPOLY1305_NEON policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: ARM Accelerated Cryptographic Algorithms >> Architecture: arm +CONFIG_ARM_CRYPTO policy<{'armhf': 'y'}> +CONFIG_CRYPTO_SHA1_ARM policy<{'armhf': 'm'}> +CONFIG_CRYPTO_SHA1_ARM_NEON policy<{'armhf': 'm'}> +CONFIG_CRYPTO_SHA1_ARM_CE policy<{'armhf': 'm'}> +CONFIG_CRYPTO_SHA2_ARM_CE policy<{'armhf': 'm'}> +CONFIG_CRYPTO_SHA256_ARM policy<{'armhf': 'm'}> +CONFIG_CRYPTO_SHA512_ARM policy<{'armhf': 'm'}> +CONFIG_CRYPTO_BLAKE2S_ARM policy<{'armhf': 'y'}> +CONFIG_CRYPTO_BLAKE2B_NEON policy<{'armhf': 'm'}> +CONFIG_CRYPTO_AES_ARM policy<{'armhf': 'm'}> +CONFIG_CRYPTO_AES_ARM_BS policy<{'armhf': 'm'}> +CONFIG_CRYPTO_AES_ARM_CE policy<{'armhf': 'm'}> +CONFIG_CRYPTO_GHASH_ARM_CE policy<{'armhf': 'm'}> +CONFIG_CRYPTO_CRCT10DIF_ARM_CE policy<{'armhf': 'm'}> +CONFIG_CRYPTO_CRC32_ARM_CE policy<{'armhf': 'm'}> +CONFIG_CRYPTO_POLY1305_ARM policy<{'armhf': 'm'}> +CONFIG_CRYPTO_CURVE25519_NEON policy<{'armhf': 'm'}> + +# Menu: ARM64 Accelerated Cryptographic Algorithms + +# Menu: ARM64 Accelerated Cryptographic Algorithms >> Architecture: arm64 +CONFIG_ARM64_CRYPTO policy<{'arm64': 'y'}> +CONFIG_CRYPTO_SHA256_ARM64 policy<{'arm64': 'm'}> +CONFIG_CRYPTO_SHA512_ARM64 policy<{'arm64': 'm'}> +CONFIG_CRYPTO_SHA1_ARM64_CE policy<{'arm64': 'm'}> +CONFIG_CRYPTO_SHA2_ARM64_CE policy<{'arm64': 'm'}> +CONFIG_CRYPTO_SHA512_ARM64_CE policy<{'arm64': 'm'}> +CONFIG_CRYPTO_SHA3_ARM64 policy<{'arm64': 'm'}> +CONFIG_CRYPTO_SM3_ARM64_CE policy<{'arm64': 'm'}> +CONFIG_CRYPTO_SM4_ARM64_CE policy<{'arm64': 'm'}> +CONFIG_CRYPTO_GHASH_ARM64_CE policy<{'arm64': 'm'}> +CONFIG_CRYPTO_CRCT10DIF_ARM64_CE policy<{'arm64': 'm'}> +CONFIG_CRYPTO_AES_ARM64 policy<{'arm64': 'm'}> +CONFIG_CRYPTO_AES_ARM64_CE policy<{'arm64': 'm'}> +CONFIG_CRYPTO_AES_ARM64_CE_CCM policy<{'arm64': 'm'}> +CONFIG_CRYPTO_AES_ARM64_CE_BLK policy<{'arm64': 'm'}> +CONFIG_CRYPTO_AES_ARM64_NEON_BLK policy<{'arm64': 'm'}> +CONFIG_CRYPTO_POLY1305_NEON policy<{'arm64': 'm'}> +CONFIG_CRYPTO_AES_ARM64_BS policy<{'arm64': 'm'}> + +# Menu: Advanced setup >> Architecture: powerpc + +# Menu: Advanced setup >> Prompt for advanced kernel configuration options +CONFIG_PHYSICAL_START policy<{'amd64': '0x1000000', 'ppc64el': '0x00000000'}> + +# Menu: Advanced setup >> Prompt for advanced kernel configuration options >> Architecture: powerpc +CONFIG_PAGE_OFFSET policy<{'armhf': '0xC0000000', 'ppc64el': '0xc000000000000000', 'riscv64': '0xff60000000000000'}> +CONFIG_KERNEL_START policy<{'ppc64el': '0xc000000000000000'}> + +# Menu: Architecture: arm +CONFIG_ARM_DMA_IOMMU_ALIGNMENT policy<{'armhf': '8'}> +CONFIG_ARM_PATCH_PHYS_VIRT policy<{'armhf': 'y'}> + +# Menu: Architecture: powerpc +CONFIG_PPC64 policy<{'ppc64el': 'y'}> +CONFIG_NR_IRQS policy<{'ppc64el': '512'}> + +# Menu: Architecture: x86 +CONFIG_64BIT policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Binary Emulations >> Architecture: x86 +CONFIG_IA32_EMULATION policy<{'amd64': 'y'}> +CONFIG_IA32_AOUT policy<{'amd64': '-'}> +# +CONFIG_IA32_AOUT mark note + +# Menu: Boot options +CONFIG_CMDLINE policy<{'arm64': '"console=ttyAMA0"', 'armhf': '""', 'ppc64el': '""', 'riscv64': '""'}> +CONFIG_EFI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'riscv64': 'y'}> +CONFIG_DMI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y'}> +CONFIG_KEXEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRASH_DUMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_CRASH_DUMP mark note +CONFIG_EFI flag + +# Menu: Boot options >> Architecture: arm +CONFIG_USE_OF policy<{'armhf': 'y'}> +CONFIG_ATAGS policy<{'armhf': 'y'}> +CONFIG_DEPRECATED_PARAM_STRUCT policy<{'armhf': 'n'}> +CONFIG_ZBOOT_ROM_TEXT policy<{'armhf': '0x0'}> +CONFIG_ZBOOT_ROM_BSS policy<{'armhf': '0x0'}> +CONFIG_ARM_APPENDED_DTB policy<{'armhf': 'y'}> +CONFIG_ARM_ATAG_DTB_COMPAT policy<{'armhf-generic': 'y', 'armhf-generic-lpae': 'n'}> +CONFIG_ATAGS_PROC policy<{'armhf': 'y'}> +CONFIG_AUTO_ZRELADDR policy<{'armhf': 'y'}> +# +CONFIG_ARM_ATAG_DTB_COMPAT flag + +# Menu: Boot options >> Architecture: arm64 +CONFIG_ARM64_ACPI_PARKING_PROTOCOL policy<{'arm64': 'y'}> + +# Menu: Boot options >> Kernel command line type +CONFIG_CMDLINE_FROM_BOOTLOADER policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_CMDLINE_FORCE policy<{'arm64': 'n', 'armhf': '-'}> + +# Menu: Boot options >> Kernel command line type >> Architecture: arm +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER policy<{'armhf-generic': 'n'}> +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND policy<{'armhf-generic': 'y'}> + +# Menu: Boot options >> Kernel command line type >> Architecture: arm64 + +# Menu: Bus options + +# Menu: Bus options (PCI etc.) + +# Menu: Bus options (PCI etc.) >> Architecture: x86 +CONFIG_ISA_BUS policy<{'amd64': 'y'}> +CONFIG_ISA_DMA_API policy<{'amd64': 'y', 'ppc64el': 'y'}> +CONFIG_PCI_MMCONFIG policy<{'amd64': 'y'}> +CONFIG_PCI_CNB20LE_QUIRK policy<{'amd64': 'n'}> + +# Menu: Bus options (PCI etc.) >> PCI access mode >> Architecture: x86 + +# Menu: Bus options >> Architecture: powerpc +CONFIG_FSL_LBC policy<{'ppc64el': 'y'}> + +# Menu: Bus support >> Architecture: arm +CONFIG_ARM_ERRATA_814220 policy<{'armhf': 'y'}> + +# Menu: CPU errata selection +CONFIG_ERRATA_SIFIVE_CIP_453 policy<{'riscv64': 'y'}> + +# Menu: Cryptographic API +CONFIG_CRYPTO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_MANAGER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_USER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_NULL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_PCRYPT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CRYPTD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_AUTHENC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_TEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_RSA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_DH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_ECDH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_ECDSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_ECRDSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_SM2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CURVE25519 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CURVE25519_X86 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_CCM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_GCM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_CHACHA20POLY1305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_AEGIS128 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_AEGIS128_SIMD policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_SEQIV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_ECHAINIV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CBC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_CFB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_CTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_ECB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_LRW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_OFB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_PCBC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_XTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_KEYWRAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_NHPOLY1305_SSE2 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_NHPOLY1305_AVX2 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_ADIANTUM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_ESSIV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_HMAC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_XCBC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_VMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CRC32C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_CRC32C_INTEL policy<{'amd64': 'y'}> +CONFIG_CRYPTO_CRC32C_VPMSUM policy<{'ppc64el': 'm'}> +CONFIG_CRYPTO_CRC32 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CRC32_PCLMUL policy<{'amd64': 'm'}> +CONFIG_CRYPTO_XXHASH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_BLAKE2B policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_BLAKE2S_X86 policy<{'amd64': 'y'}> +CONFIG_CRYPTO_CRCT10DIF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_CRCT10DIF_PCLMUL policy<{'amd64': 'm'}> +CONFIG_CRYPTO_CRCT10DIF_VPMSUM policy<{'ppc64el': 'm'}> +CONFIG_CRYPTO_VPMSUM_TESTER policy<{'ppc64el': 'm'}> +CONFIG_CRYPTO_GHASH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_POLY1305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_POLY1305_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_MD4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_MD5 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_MD5_PPC policy<{'ppc64el': 'm'}> +CONFIG_CRYPTO_MICHAEL_MIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_RMD160 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_SHA1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_SHA1_SSSE3 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_SHA256_SSSE3 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_SHA512_SSSE3 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_SHA1_PPC policy<{'ppc64el': 'm'}> +CONFIG_CRYPTO_SHA256 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_SHA512 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_SHA3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_SM3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_STREEBOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_WP512 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL policy<{'amd64': 'm'}> +CONFIG_CRYPTO_AES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_AES_TI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_AES_NI_INTEL policy<{'amd64': 'm'}> +CONFIG_CRYPTO_BLOWFISH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_BLOWFISH_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_CAMELLIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CAMELLIA_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_CAST5 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CAST5_AVX_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_CAST6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CAST6_AVX_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_DES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_DES3_EDE_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_FCRYPT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CHACHA20 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_CHACHA20_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_SERPENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_SERPENT_SSE2_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_SERPENT_AVX_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_SERPENT_AVX2_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_SM4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_TWOFISH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_TWOFISH_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_TWOFISH_X86_64_3WAY policy<{'amd64': 'm'}> +CONFIG_CRYPTO_TWOFISH_AVX_X86_64 policy<{'amd64': 'm'}> +CONFIG_CRYPTO_DEFLATE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_LZO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_842 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_LZ4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_LZ4HC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_ZSTD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_ANSI_CPRNG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_JITTERENTROPY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_USER_API_HASH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_USER_API_SKCIPHER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_USER_API_RNG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_USER_API_RNG_CAVP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CRYPTO_USER_API_AEAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CRYPTO_STATS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_LIB_CHACHA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_LIB_CURVE25519 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_LIB_POLY1305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_LIB_CHACHA20POLY1305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +# +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS flag +CONFIG_CRYPTO_TEST flag +CONFIG_CRYPTO_SHA512 note +CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE mark note + +# Menu: Cryptographic API >> Asymmetric (public-key cryptographic) key type +CONFIG_ASYMMETRIC_KEY_TYPE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_X509_CERTIFICATE_PARSER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PKCS8_PRIVATE_KEY_PARSER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_PKCS7_MESSAGE_PARSER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PKCS7_TEST_KEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SIGNED_PE_FILE_VERIFICATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_ASYMMETRIC_KEY_TYPE note +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE note +CONFIG_X509_CERTIFICATE_PARSER note + +# Menu: Cryptographic API >> Certificates for signature checking +CONFIG_MODULE_SIG_KEY policy<{'amd64': '"certs/signing_key.pem"', 'arm64': '"certs/signing_key.pem"', 'armhf': '"certs/signing_key.pem"', 'ppc64el': '"certs/signing_key.pem"', 'riscv64': '"certs/signing_key.pem"', 's390x': '"certs/signing_key.pem"'}> +CONFIG_SYSTEM_BLACKLIST_KEYRING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SYSTEM_BLACKLIST_HASH_LIST policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 'riscv64': '""', 's390x': '""'}> +CONFIG_SYSTEM_REVOCATION_LIST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SYSTEM_REVOCATION_KEYS policy<{'amd64': '"debian/canonical-revoked-certs.pem"', 'arm64': '"debian/canonical-revoked-certs.pem"', 'armhf': '"debian/canonical-revoked-certs.pem"', 'ppc64el': '"debian/canonical-revoked-certs.pem"', 'riscv64': '"debian/canonical-revoked-certs.pem"', 's390x': '"debian/canonical-revoked-certs.pem"'}> +# +CONFIG_SYSTEM_BLACKLIST_KEYRING mark +CONFIG_SYSTEM_REVOCATION_KEYS mark + +# Menu: Cryptographic API >> Certificates for signature checking >> Provide system-wide ring of trusted keys +CONFIG_SYSTEM_TRUSTED_KEYRING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SYSTEM_TRUSTED_KEYS policy<{'amd64': '"debian/canonical-certs.pem"', 'arm64': '"debian/canonical-certs.pem"', 'armhf': '"debian/canonical-certs.pem"', 'ppc64el': '"debian/canonical-certs.pem"', 'riscv64': '"debian/canonical-certs.pem"', 'riscv64': '"debian/canonical-certs.pem"', 's390x': '"debian/canonical-certs.pem"'}> +CONFIG_SYSTEM_EXTRA_CERTIFICATE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE policy<{'amd64': '4096', 'arm64': '4096', 'armhf': '4096', 'ppc64el': '4096', 'riscv64': '4096', 's390x': '4096'}> +CONFIG_SECONDARY_TRUSTED_KEYRING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_SYSTEM_TRUSTED_KEYS mark + +# Menu: Cryptographic API >> Certificates for signature checking >> Type of module signing key to be generated +CONFIG_MODULE_SIG_KEY_TYPE_RSA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MODULE_SIG_KEY_TYPE_ECDSA policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Cryptographic API >> Hardware crypto devices +CONFIG_CRYPTO_HW policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_DEV_PADLOCK policy<{'amd64': 'y'}> +CONFIG_CRYPTO_DEV_PADLOCK_AES policy<{'amd64': 'm'}> +CONFIG_CRYPTO_DEV_PADLOCK_SHA policy<{'amd64': 'm'}> +CONFIG_CRYPTO_SHA1_S390 policy<{'s390x': 'm'}> +CONFIG_CRYPTO_SHA256_S390 policy<{'s390x': 'm'}> +CONFIG_CRYPTO_SHA512_S390 policy<{'s390x': 'm'}> +CONFIG_CRYPTO_SHA3_256_S390 policy<{'s390x': 'm'}> +CONFIG_CRYPTO_SHA3_512_S390 policy<{'s390x': 'm'}> +CONFIG_CRYPTO_DES_S390 policy<{'s390x': 'm'}> +CONFIG_CRYPTO_AES_S390 policy<{'s390x': 'm'}> +CONFIG_S390_PRNG policy<{'s390x': 'm'}> +CONFIG_CRYPTO_GHASH_S390 policy<{'s390x': 'm'}> +CONFIG_CRYPTO_CRC32_S390 policy<{'s390x': 'm'}> +CONFIG_CRYPTO_DEV_HIFN_795X policy<{'armhf-generic': 'm', 'armhf': '-'}> +CONFIG_CRYPTO_DEV_HIFN_795X_RNG policy<{'armhf-generic': 'y', 'armhf': '-'}> +CONFIG_CRYPTO_DEV_FSL_CAAM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_SAHARA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CRYPTO_DEV_EXYNOS_RNG policy<{'armhf': 'n'}> +CONFIG_CRYPTO_DEV_S5P policy<{'armhf': 'n'}> +CONFIG_CRYPTO_DEV_NX policy<{'ppc64el': 'y'}> +CONFIG_CRYPTO_DEV_NX_COMPRESS policy<{'ppc64el': 'm'}> +CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES policy<{'ppc64el': 'm'}> +CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV policy<{'ppc64el': 'm'}> +CONFIG_CRYPTO_DEV_ATMEL_ECC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CRYPTO_DEV_ATMEL_SHA204A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CRYPTO_DEV_CCP policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_CRYPTO_DEV_CCP_DD policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_CRYPTO_DEV_SP_CCP policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_CRYPTO_DEV_CCP_CRYPTO policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_CRYPTO_DEV_SP_PSP policy<{'amd64': 'y'}> +CONFIG_CRYPTO_DEV_CCP_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n'}> +CONFIG_CRYPTO_DEV_MXS_DCP policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_CRYPTO_DEV_QAT_DH895xCC policy<{'amd64': 'm'}> +CONFIG_CRYPTO_DEV_QAT_C3XXX policy<{'amd64': 'm'}> +CONFIG_CRYPTO_DEV_QAT_C62X policy<{'amd64': 'm'}> +CONFIG_CRYPTO_DEV_QAT_4XXX policy<{'amd64': 'm'}> +CONFIG_CRYPTO_DEV_QAT_DH895xCCVF policy<{'amd64': 'm'}> +CONFIG_CRYPTO_DEV_QAT_C3XXXVF policy<{'amd64': 'm'}> +CONFIG_CRYPTO_DEV_QAT_C62XVF policy<{'amd64': 'm'}> +CONFIG_CAVIUM_CPT policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_NITROX_CNN55XX policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_CRYPTO_DEV_MARVELL_CESA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CRYPTO_DEV_OCTEONTX_CPT policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_OCTEONTX2_CPT policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_CAVIUM_ZIP policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_QCE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CRYPTO_DEV_QCE_SW_MAX_LEN policy<{'arm64': '512', 'armhf': '512'}> +CONFIG_CRYPTO_DEV_QCOM_RNG policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CRYPTO_DEV_VMX policy<{'ppc64el': 'y'}> +CONFIG_CRYPTO_DEV_VMX_ENCRYPT policy<{'ppc64el': 'm'}> +CONFIG_CRYPTO_DEV_ROCKCHIP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CRYPTO_DEV_ZYNQMP_AES policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_CHELSIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CRYPTO_DEV_VIRTIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_DEV_BCM_SPU policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_SAFEXCEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CRYPTO_DEV_ARTPEC6 policy<{'armhf': 'm'}> +CONFIG_CRYPTO_DEV_CCREE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CRYPTO_DEV_HISI_SEC policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_HISI_SEC2 policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_HISI_ZIP policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_HISI_HPRE policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_HISI_TRNG policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_AMLOGIC_GXL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CRYPTO_DEV_SA2UL policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_KEEMBAY_OCS_AES_SM4 policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_KEEMBAY_OCS_AES_SM4_ECB policy<{'arm64': 'y'}> +CONFIG_CRYPTO_DEV_KEEMBAY_OCS_AES_SM4_CTS policy<{'arm64': 'y'}> +CONFIG_CRYPTO_DEV_KEEMBAY_OCS_HCU policy<{'arm64': 'm'}> +CONFIG_CRYPTO_DEV_KEEMBAY_OCS_HCU_HMAC_SHA224 policy<{'arm64': 'y'}> +# +CONFIG_CRYPTO_DEV_HISI_ZIP mark + +# Menu: Cryptographic API >> Hardware crypto devices >> Algorithms enabled for QCE acceleration +CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_CRYPTO_DEV_QCE_ENABLE_AEAD policy<{'arm64': 'n', 'armhf': 'n'}> + +# Menu: Cryptographic API >> Hardware crypto devices >> Freescale CAAM Job Ring driver backend +CONFIG_CRYPTO_DEV_FSL_CAAM_JR policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE policy<{'arm64': '9', 'armhf': '9'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_INTC policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD policy<{'arm64': '255', 'armhf': '255'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD policy<{'arm64': '2048', 'armhf': '2048'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI policy<{'arm64': 'y'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_PKC_API policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API policy<{'arm64': 'y', 'armhf': 'y'}> + +# Menu: Cryptographic API >> Hardware crypto devices >> Support for Allwinner cryptographic offloader +CONFIG_CRYPTO_DEV_ALLWINNER policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_CRYPTO_DEV_SUN4I_SS policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_CRYPTO_DEV_SUN4I_SS_DEBUG policy<{'arm64': 'n', 'armhf': '-'}> + +# Menu: Cryptographic API >> Hardware crypto devices >> Support for Allwinner cryptographic offloader >> Support for Allwinner Crypto Engine cryptographic offloader +CONFIG_CRYPTO_DEV_SUN8I_CE policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG policy<{'arm64': 'n', 'armhf': '-'}> +CONFIG_CRYPTO_DEV_SUN8I_CE_HASH policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_CRYPTO_DEV_SUN8I_CE_PRNG policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_CRYPTO_DEV_SUN8I_CE_TRNG policy<{'arm64': 'y', 'armhf': '-'}> + +# Menu: Cryptographic API >> Hardware crypto devices >> Support for Allwinner cryptographic offloader >> Support for Allwinner Security System cryptographic offloader +CONFIG_CRYPTO_DEV_SUN8I_SS policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG policy<{'arm64': 'n', 'armhf': '-'}> +CONFIG_CRYPTO_DEV_SUN8I_SS_PRNG policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_CRYPTO_DEV_SUN8I_SS_HASH policy<{'arm64': 'y', 'armhf': '-'}> + +# Menu: Cryptographic API >> Hardware crypto devices >> Support for OMAP crypto HW accelerators +CONFIG_CRYPTO_DEV_OMAP policy<{'armhf': 'm'}> +CONFIG_CRYPTO_DEV_OMAP_SHAM policy<{'armhf': 'm'}> +CONFIG_CRYPTO_DEV_OMAP_AES policy<{'armhf': 'm'}> +CONFIG_CRYPTO_DEV_OMAP_DES policy<{'armhf': 'm'}> + +# Menu: Cryptographic API >> Hardware crypto devices >> Support for s390 cryptographic adapters +CONFIG_ZCRYPT policy<{'s390x': 'm'}> +CONFIG_ZCRYPT_DEBUG policy<{'s390x': 'n'}> +CONFIG_ZCRYPT_MULTIDEVNODES policy<{'s390x': 'y'}> +CONFIG_PKEY policy<{'s390x': 'm'}> +CONFIG_CRYPTO_PAES_S390 policy<{'s390x': 'm'}> +# +CONFIG_ZCRYPT_MULTIDEVNODES mark note + +# Menu: Cryptographic API >> NIST SP800-90A DRBG +CONFIG_CRYPTO_DRBG_MENU policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_DRBG_HASH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRYPTO_DRBG_CTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Device Drivers +CONFIG_MEDIA_CEC_RC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CEC_PIN_ERROR_INJ policy<{'amd64': 'n', 'arm64': 'n', 'armhf': '-'}> +CONFIG_PANEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TEE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Accessibility support +CONFIG_ACCESSIBILITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_ACCESSIBILITY mark note + +# Menu: Device Drivers >> Accessibility support >> Speakup console speech + +# Menu: Device Drivers >> Accessibility support >> Speakup console speech >> Speakup core + +# Menu: Device Drivers >> Android +CONFIG_ANDROID policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> + +# Menu: Device Drivers >> Android >> Android Binder IPC Driver +CONFIG_ANDROID_BINDER_IPC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_ANDROID_BINDERFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ANDROID_BINDER_DEVICES policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 'riscv64': '""'}> +CONFIG_ANDROID_BINDER_IPC_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Device Drivers >> Auxiliary Display support +CONFIG_CHARLCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AUXDISPLAY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_HD44780_COMMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HD44780 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_IMG_ASCII_LCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HT16K33 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LCD2S policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_ARM_CHARLCD policy<{'armhf': 'y'}> +CONFIG_PANEL_CHANGE_MESSAGE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Device Drivers >> Auxiliary Display support >> Backlight initial state +CONFIG_CHARLCD_BL_OFF policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_CHARLCD_BL_ON policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_CHARLCD_BL_FLASH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Auxiliary Display support >> KS0108 LCD Controller +CONFIG_KS0108 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_KS0108_PORT policy<{'amd64': '0x378', 'arm64': '0x378', 'armhf': '0x378', 'ppc64el': '0x378', 'riscv64': '0x378'}> +CONFIG_KS0108_DELAY policy<{'amd64': '2', 'arm64': '2', 'armhf': '2', 'ppc64el': '2', 'riscv64': '2'}> +CONFIG_CFAG12864B policy<{'amd64': 'm'}> +CONFIG_CFAG12864B_RATE policy<{'amd64': '20'}> + +# Menu: Device Drivers >> Auxiliary Display support >> Parallel port LCD/Keypad Panel support +CONFIG_PARPORT_PANEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PANEL_PARPORT policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 'riscv64': '0'}> +CONFIG_PANEL_PROFILE policy<{'amd64': '5', 'arm64': '5', 'armhf': '5', 'ppc64el': '5', 'riscv64': '5'}> + +# Menu: Device Drivers >> Auxiliary Display support >> Parallel port LCD/Keypad Panel support >> LCD type (0=none, 1=custom, 2=old //, 3=ks0074, 4=hantronix, 5=Nexcom) + +# Menu: Device Drivers >> Auxiliary Display support >> Parallel port LCD/Keypad Panel support >> LCD type (0=none, 1=custom, 2=old //, 3=ks0074, 4=hantronix, 5=Nexcom) >> LCD communication mode (0=parallel 8 bits, 1=serial) + +# Menu: Device Drivers >> Block devices +CONFIG_BLK_DEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BLK_DEV_NULL_BLK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BLK_DEV_FD policy<{'amd64': 'm', 'ppc64el': 'm'}> +CONFIG_BLK_DEV_PCIESSD_MTIP32XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_BLK_DEV_LOOP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BLK_DEV_LOOP_MIN_COUNT policy<{'amd64': '8', 'arm64': '8', 'armhf': '8', 'ppc64el': '8', 'riscv64': '8', 's390x': '8'}> +CONFIG_BLK_DEV_DRBD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DRBD_FAULT_INJECTION policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_BLK_DEV_NBD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BLK_DEV_SX8 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_BLK_DEV_RAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BLK_DEV_RAM_COUNT policy<{'amd64': '16', 'arm64': '16', 'armhf': '16', 'ppc64el': '16', 'riscv64': '16', 's390x': '16'}> +CONFIG_BLK_DEV_RAM_SIZE policy<{'amd64': '65536', 'arm64': '65536', 'armhf': '65536', 'ppc64el': '65536', 'riscv64': '65536', 's390x': '65536'}> +CONFIG_CDROM_PKTCDVD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_CDROM_PKTCDVD_BUFFERS policy<{'amd64': '8', 'arm64': '8', 'armhf': '8', 'ppc64el': '8', 'riscv64': '8'}> +CONFIG_CDROM_PKTCDVD_WCACHE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_ATA_OVER_ETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_DCSSBLK policy<{'s390x': 'm'}> +CONFIG_SCM_BLOCK policy<{'s390x': 'm'}> +CONFIG_XEN_BLKDEV_FRONTEND policy<{'amd64': 'y', 'arm64': 'y', 'armhf': '-'}> +CONFIG_XEN_BLKDEV_BACKEND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': '-'}> +CONFIG_VIRTIO_BLK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BLK_DEV_RBD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BLK_DEV_RNBD_CLIENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BLK_DEV_RNBD_SERVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +# +CONFIG_CDROM_PKTCDVD_WCACHE mark +CONFIG_XEN_BLKDEV_FRONTEND note +CONFIG_VIRTIO_BLK note +CONFIG_BLK_DEV_RAM note +CONFIG_BLK_DEV_RAM_SIZE mark note flag + +# Menu: Device Drivers >> Block devices >> Compressed RAM block device support +CONFIG_ZRAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_ZRAM_WRITEBACK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ZRAM_MEMORY_TRACKING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Device Drivers >> Block devices >> Compressed RAM block device support >> Default zram compressor +CONFIG_ZRAM_DEF_COMP_LZORLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ZRAM_DEF_COMP_ZSTD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_ZRAM_DEF_COMP_LZ4 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_ZRAM_DEF_COMP_LZO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_ZRAM_DEF_COMP_LZ4HC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_ZRAM_DEF_COMP_842 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Device Drivers >> Block devices >> Parallel port IDE device support +CONFIG_PARIDE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_PD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_PCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_PF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_PT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_PG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_ATEN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_BPCK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_BPCK6 policy<{'armhf': 'm'}> +CONFIG_PARIDE_COMM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_DSTR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_FIT2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_FIT3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_EPAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_EPATC8 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PARIDE_EPIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_FRIQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_FRPW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_KBIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_KTTI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_ON20 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARIDE_ON26 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Block devices >> Support for DASD devices +CONFIG_DASD policy<{'s390x': 'm'}> +CONFIG_DASD_PROFILE policy<{'s390x': 'y'}> +CONFIG_DASD_ECKD policy<{'s390x': 'm'}> +CONFIG_DASD_FBA policy<{'s390x': 'm'}> +CONFIG_DASD_DIAG policy<{'s390x': 'm'}> +CONFIG_DASD_EER policy<{'s390x': 'y'}> + +# Menu: Device Drivers >> Board level reset or power off +CONFIG_POWER_RESET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_POWER_RESET_AS3722 policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_POWER_RESET_ATC260X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_POWER_RESET_AXXIA policy<{'armhf-generic-lpae': 'y'}> +CONFIG_POWER_RESET_BRCMKONA policy<{'armhf': 'y'}> +CONFIG_POWER_RESET_BRCMSTB policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_POWER_RESET_GPIO policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_POWER_RESET_GPIO_RESTART policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_POWER_RESET_HISI policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_POWER_RESET_LINKSTATION policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_POWER_RESET_MSM policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_POWER_RESET_QCOM_PON policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_POWER_RESET_OCELOT_RESET policy<{'arm64': 'y'}> +CONFIG_POWER_RESET_LTC2952 policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_POWER_RESET_MT6323 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_POWER_RESET_QNAP policy<{'armhf': 'n'}> +CONFIG_POWER_RESET_REGULATOR policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_POWER_RESET_RESTART policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_POWER_RESET_TPS65086 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_POWER_RESET_VERSATILE policy<{'armhf': 'y'}> +CONFIG_POWER_RESET_VEXPRESS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_POWER_RESET_XGENE policy<{'arm64': 'n'}> +CONFIG_POWER_RESET_SYSCON policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_POWER_RESET_SYSCON_POWEROFF policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_POWER_RESET_RMOBILE policy<{'armhf': 'm'}> +CONFIG_SYSCON_REBOOT_MODE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_POWER_RESET_SC27XX policy<{'arm64': 'm'}> +CONFIG_NVMEM_REBOOT_MODE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Broadcom specific AMBA +CONFIG_BCMA_HOST_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BCMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_BCMA_HOST_SOC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BCMA_DRIVER_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BCMA_SFLASH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BCMA_DRIVER_GMAC_CMN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BCMA_DRIVER_GPIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BCMA_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Device Drivers >> Bus devices +CONFIG_BRCMSTB_GISB_ARB policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MOXTET policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HISILICON_LPC policy<{'arm64': 'y'}> +CONFIG_IMX_WEIM policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_OMAP_INTERCONNECT policy<{'armhf': 'y'}> +CONFIG_OMAP_OCP2SCP policy<{'armhf': 'm'}> +CONFIG_QCOM_EBI2 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SUN50I_DE2_BUS policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_SUNXI_RSB policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_TEGRA_ACONNECT policy<{'arm64': 'm'}> +CONFIG_TEGRA_GMI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_TI_SYSC policy<{'armhf': 'y'}> +CONFIG_UNIPHIER_SYSTEM_BUS policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_VEXPRESS_CONFIG policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_FSL_MC_BUS policy<{'arm64': 'y', 'armhf': 'n'}> +CONFIG_FSL_MC_UAPI_SUPPORT policy<{'arm64': 'y'}> +CONFIG_MHI_BUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MHI_BUS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_MHI_BUS_PCI_GENERIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> CXL (Compute Express Link) Devices Support +CONFIG_CXL_BUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_CXL_MEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CXL_MEM_RAW_COMMANDS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_CXL_ACPI policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_CXL_PMEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Character devices +CONFIG_RANDOM_TRUST_CPU policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_RANDOM_TRUST_BOOTLOADER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TTY_PRINTK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_TTY_PRINTK_LEVEL policy<{'amd64': '6', 'arm64': '6', 'armhf': '6', 'ppc64el': '6', 'riscv64': '6'}> +CONFIG_PRINTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LP_CONSOLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_PPDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIRTIO_CONSOLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IBM_BSR policy<{'ppc64el': 'm'}> +CONFIG_POWERNV_OP_PANEL policy<{'ppc64el': 'm'}> +CONFIG_ASPEED_KCS_IPMI_BMC policy<{'armhf': 'm'}> +CONFIG_NPCM7XX_KCS_IPMI_BMC policy<{'armhf': 'm'}> +CONFIG_IPMI_KCS_BMC_CDEV_IPMI policy<{'armhf': 'm'}> +CONFIG_IPMI_KCS_BMC_SERIO policy<{'armhf': 'm'}> +CONFIG_ASPEED_BT_IPMI_BMC policy<{'armhf': 'm'}> +CONFIG_IPMB_DEVICE_INTERFACE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_APPLICOM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MWAVE policy<{'amd64': 'm'}> +CONFIG_DEVMEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NVRAM policy<{'amd64': 'm', 'ppc64el': 'y'}> +CONFIG_DEVPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_HPET policy<{'amd64': 'y'}> +CONFIG_HPET_MMAP policy<{'amd64': 'y'}> +CONFIG_HPET_MMAP_DEFAULT policy<{'amd64': 'y'}> +CONFIG_HANGCHECK_TIMER policy<{'amd64': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_UV_MMTIMER policy<{'amd64': 'm'}> +CONFIG_TELCLOCK policy<{'amd64': 'm'}> +CONFIG_TN3270 policy<{'s390x': 'y'}> +CONFIG_TN3270_TTY policy<{'s390x': 'y'}> +CONFIG_TN3270_FS policy<{'s390x': 'm'}> +CONFIG_TN3270_CONSOLE policy<{'s390x': 'y'}> +CONFIG_TN3215 policy<{'s390x': 'y'}> +CONFIG_TN3215_CONSOLE policy<{'s390x': 'y'}> +CONFIG_SCLP_TTY policy<{'s390x': 'y'}> +CONFIG_SCLP_CONSOLE policy<{'s390x': 'y'}> +CONFIG_SCLP_VT220_TTY policy<{'s390x': 'y'}> +CONFIG_SCLP_VT220_CONSOLE policy<{'s390x': 'y'}> +CONFIG_HMC_DRV policy<{'s390x': 'm'}> +CONFIG_SCLP_OFB policy<{'s390x': 'y'}> +CONFIG_S390_TAPE policy<{'s390x': 'm'}> +CONFIG_S390_TAPE_34XX policy<{'s390x': 'm'}> +CONFIG_S390_TAPE_3590 policy<{'s390x': 'm'}> +CONFIG_VMLOGRDR policy<{'s390x': 'm'}> +CONFIG_VMCP policy<{'s390x': 'y'}> +CONFIG_VMCP_CMA_SIZE policy<{'s390x': '4'}> +CONFIG_MONREADER policy<{'s390x': 'm'}> +CONFIG_MONWRITER policy<{'s390x': 'm'}> +CONFIG_S390_VMUR policy<{'s390x': 'm'}> +CONFIG_XILLYBUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_XILLYBUS_PCIE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_XILLYBUS_OF policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_XILLYUSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +# +CONFIG_NVRAM mark note +CONFIG_SCLP_OFB mark note + +# Menu: Device Drivers >> Character devices >> Enable TTY +CONFIG_NULL_TTY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_HVC_CONSOLE policy<{'ppc64el': 'y'}> +CONFIG_HVC_OLD_HVSI policy<{'ppc64el': 'y'}> +CONFIG_HVC_OPAL policy<{'ppc64el': 'y'}> +CONFIG_HVC_RTAS policy<{'ppc64el': 'y'}> +CONFIG_HVC_IUCV policy<{'s390x': 'y'}> +CONFIG_HVC_XEN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': '-'}> +CONFIG_HVC_XEN_FRONTEND policy<{'amd64': 'y', 'arm64': 'y', 'armhf': '-'}> +CONFIG_HVC_UDBG policy<{'ppc64el': 'n'}> +CONFIG_HVC_DCC policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_HVCS policy<{'ppc64el': 'm'}> +CONFIG_TTY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_VT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CONSOLE_TRANSLATIONS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_VT_CONSOLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_VT_HW_CONSOLE_BINDING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_UNIX98_PTYS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_LEGACY_PTYS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_LEGACY_PTY_COUNT policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 'riscv64': '0', 's390x': '0'}> +CONFIG_GOLDFISH_TTY policy<{'riscv64': 'm'}> +CONFIG_NOZOMI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_N_GSM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_PPC_EPAPR_HV_BYTECHAN policy<{'ppc64el': 'n'}> +CONFIG_LDISC_AUTOLOAD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_HVC_UDBG mark note +CONFIG_N_GSM note + +# Menu: Device Drivers >> Character devices >> Enable TTY >> Non-standard serial port support +CONFIG_SERIAL_NONSTANDARD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_MOXA_INTELLIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MOXA_SMARTIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SYNCLINK_GT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_N_HDLC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Character devices >> Enable TTY >> Serial drivers +CONFIG_SERIAL_AMBA_PL010 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SERIAL_AMBA_PL011 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_AMBA_PL011_CONSOLE policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_KGDB_NMI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SERIAL_MESON policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_MESON_CONSOLE policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_SAMSUNG policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SERIAL_TEGRA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SERIAL_TEGRA_TCU policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_TEGRA_TCU_CONSOLE policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_MAX3100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SERIAL_MAX310X policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SERIAL_IMX policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_IMX_CONSOLE policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_IMX_EARLYCON policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_SERIAL_UARTLITE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SERIAL_UARTLITE_NR_UARTS policy<{'amd64': '1', 'arm64': '1', 'armhf': '1', 'ppc64el': '1', 'riscv64': '1', 's390x': '1'}> +CONFIG_SERIAL_ICOM policy<{'ppc64el': 'm'}> +CONFIG_SERIAL_JSM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SERIAL_MSM policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_MSM_CONSOLE policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_QCOM_GENI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SERIAL_QCOM_GENI_CONSOLE policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_OMAP policy<{'armhf': '-'}> +CONFIG_SERIAL_OMAP_CONSOLE policy<{'armhf': '-'}> +CONFIG_SERIAL_SIFIVE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'y'}> +CONFIG_SERIAL_SIFIVE_CONSOLE policy<{'riscv64': 'y'}> +CONFIG_SERIAL_LANTIQ policy<{'amd64': 'm'}> +CONFIG_SERIAL_QE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SERIAL_SCCNXP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_SERIAL_SCCNXP_CONSOLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SERIAL_SC16IS7XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SERIAL_SC16IS7XX_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SERIAL_SC16IS7XX_SPI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SERIAL_ALTERA_JTAGUART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SERIAL_XILINX_PS_UART policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SERIAL_ARC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SERIAL_ARC_NR_PORTS policy<{'amd64': '1', 'arm64': '1', 'armhf': '1', 'ppc64el': '1', 'riscv64': '1'}> +CONFIG_SERIAL_RP2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SERIAL_RP2_NR_UARTS policy<{'amd64': '32', 'arm64': '32', 'armhf': '32', 'ppc64el': '32', 'riscv64': '32'}> +CONFIG_SERIAL_FSL_LPUART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SERIAL_FSL_LINFLEXUART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SERIAL_CONEXANT_DIGICOLOR policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SERIAL_ST_ASC policy<{'armhf': 'm'}> +CONFIG_SERIAL_MEN_Z135 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SERIAL_SPRD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SERIAL_MVEBU_UART policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_MVEBU_CONSOLE policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_OWL policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_OWL_CONSOLE policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_RDA policy<{'armhf': 'y'}> +CONFIG_SERIAL_RDA_CONSOLE policy<{'armhf': 'y'}> +CONFIG_SERIAL_MILBEAUT_USIO policy<{'armhf': 'm'}> +CONFIG_SERIAL_MILBEAUT_USIO_PORTS policy<{'armhf': '4'}> +CONFIG_SERIAL_LITEUART policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SERIAL_LITEUART_MAX_PORTS policy<{'arm64': '1', 'armhf': '1', 'ppc64el': '1', 'riscv64': '1'}> + +# Menu: Device Drivers >> Character devices >> Enable TTY >> Serial drivers >> 8250/16550 and compatible serial support +CONFIG_SERIAL_8250 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SERIAL_8250_DEPRECATED_OPTIONS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_SERIAL_8250_PNP policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_SERIAL_8250_16550A_VARIANTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SERIAL_8250_FINTEK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'y'}> +CONFIG_SERIAL_8250_CONSOLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SERIAL_8250_DMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SERIAL_8250_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SERIAL_8250_EXAR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SERIAL_8250_CS policy<{'amd64': 'm'}> +CONFIG_SERIAL_8250_MEN_MCB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SERIAL_8250_NR_UARTS policy<{'amd64': '48', 'arm64': '48', 'armhf': '48', 'ppc64el': '48', 'riscv64': '48'}> +CONFIG_SERIAL_8250_RUNTIME_UARTS policy<{'amd64': '32', 'arm64': '32', 'armhf': '32', 'ppc64el': '32', 'riscv64': '32'}> +CONFIG_SERIAL_8250_ASPEED_VUART policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SERIAL_8250_DW policy<{'amd64': 'm', 'arm64': 'y', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SERIAL_8250_RT288X policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SERIAL_8250_OMAP policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_8250_MT6577 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_8250_UNIPHIER policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_SERIAL_8250_LPSS policy<{'amd64': 'm'}> +CONFIG_SERIAL_8250_MID policy<{'amd64': 'y'}> +CONFIG_SERIAL_8250_MID note<'required to provide console on some Intel SoC platforms (LP: #2009283)'> +CONFIG_HSU_DMA policy<{'amd64': 'y'}> +CONFIG_HSU_DMA note<'required by CONFIG_SERIAL_8250_MID (LP: #2009283)'> +CONFIG_SERIAL_8250_TEGRA policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SERIAL_8250_BCM7271 policy<{'arm64': 'm'}> +CONFIG_SERIAL_OF_PLATFORM policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Character devices >> Enable TTY >> Serial drivers >> 8250/16550 and compatible serial support >> Extended 8250/16550 serial driver options +CONFIG_SERIAL_8250_EXTENDED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SERIAL_8250_SHARE_IRQ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SERIAL_8250_DETECT_IRQ policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_SERIAL_8250_RSA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SERIAL_8250_BCM2835AUX policy<{'arm64': 'n'}> + +# Menu: Device Drivers >> Character devices >> Enable TTY >> Serial drivers >> 8250/16550 and compatible serial support >> Extended 8250/16550 serial driver options >> Support more than 4 legacy serial ports +CONFIG_SERIAL_8250_MANY_PORTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Character devices >> Enable TTY >> Serial drivers >> AT91 on-chip serial port support + +# Menu: Device Drivers >> Character devices >> Enable TTY >> Serial drivers >> Altera UART support +CONFIG_SERIAL_ALTERA_UART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SERIAL_ALTERA_UART_MAXPORTS policy<{'amd64': '4', 'arm64': '4', 'armhf': '4', 'ppc64el': '4', 'riscv64': '4'}> +CONFIG_SERIAL_ALTERA_UART_BAUDRATE policy<{'amd64': '115200', 'arm64': '115200', 'armhf': '115200', 'ppc64el': '115200', 'riscv64': '115200'}> + +# Menu: Device Drivers >> Character devices >> Enable TTY >> Serial drivers >> SuperH SCI(F) serial port support +CONFIG_SERIAL_SH_SCI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SERIAL_SH_SCI_NR_UARTS policy<{'arm64': '2', 'armhf': '2'}> +CONFIG_SERIAL_SH_SCI_DMA policy<{'arm64': 'y', 'armhf': 'y'}> + +# Menu: Device Drivers >> Character devices >> Enable TTY >> Serial drivers >> TMPTX39XX/49XX SIO support + +# Menu: Device Drivers >> Character devices >> Hardware Random Number Generator Core support +CONFIG_HW_RANDOM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_HW_RANDOM_TIMERIOMEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_HW_RANDOM_INTEL policy<{'amd64': 'm'}> +CONFIG_HW_RANDOM_AMD policy<{'amd64': 'm'}> +CONFIG_HW_RANDOM_BA431 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_HW_RANDOM_BCM2835 policy<{'arm64': 'm'}> +CONFIG_HW_RANDOM_IPROC_RNG200 policy<{'arm64': 'm'}> +CONFIG_HW_RANDOM_VIA policy<{'amd64': 'm'}> +CONFIG_HW_RANDOM_OMAP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HW_RANDOM_OMAP3_ROM policy<{'armhf-generic': 'm'}> +CONFIG_HW_RANDOM_VIRTIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_HW_RANDOM_IMX_RNGC policy<{'armhf': 'm'}> +CONFIG_HW_RANDOM_PSERIES policy<{'ppc64el': 'm'}> +CONFIG_HW_RANDOM_POWERNV policy<{'ppc64el': 'm'}> +CONFIG_HW_RANDOM_HISI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HW_RANDOM_XGENE policy<{'arm64': 'm'}> +CONFIG_HW_RANDOM_MESON policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HW_RANDOM_CAVIUM policy<{'arm64': 'm'}> +CONFIG_HW_RANDOM_MTK policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HW_RANDOM_S390 policy<{'s390x': 'm'}> +CONFIG_HW_RANDOM_EXYNOS policy<{'armhf': 'n'}> +CONFIG_HW_RANDOM_OPTEE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HW_RANDOM_NPCM policy<{'armhf': 'm'}> +CONFIG_HW_RANDOM_CCTRNG policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'n', 'riscv64': 'm'}> +CONFIG_HW_RANDOM_XIPHERA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_HW_RANDOM_ARM_SMCCC_TRNG policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Character devices >> IPMI top-level message handler +CONFIG_IPMI_HANDLER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_IPMI_PANIC_EVENT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_IPMI_DEVICE_INTERFACE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IPMI_SI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IPMI_SSIF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IPMI_POWERNV policy<{'ppc64el': 'm'}> +CONFIG_IPMI_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IPMI_POWEROFF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Character devices >> PCMCIA character devices +CONFIG_SYNCLINK_CS policy<{'amd64': 'm'}> +CONFIG_CARDMAN_4000 policy<{'amd64': 'm'}> +CONFIG_CARDMAN_4040 policy<{'amd64': 'm'}> +CONFIG_SCR24X policy<{'amd64': 'm'}> +CONFIG_IPWIRELESS policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Character devices >> Serial device bus +CONFIG_SERIAL_DEV_BUS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SERIAL_DEV_CTRL_TTYPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_SERIAL_DEV_BUS note +CONFIG_SERIAL_DEV_CTRL_TTYPORT note + +# Menu: Device Drivers >> Character devices >> TPM Hardware Support +CONFIG_TCG_TPM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_HW_RANDOM_TPM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TCG_TIS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TCG_TIS_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TCG_TIS_SPI_CR50 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TCG_TIS_SYNQUACER policy<{'arm64': 'm'}> +CONFIG_TCG_TIS_I2C_CR50 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_TCG_TIS_I2C_ATMEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'y', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_TCG_TIS_I2C_INFINEON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'y', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_TCG_TIS_I2C_NUVOTON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'y', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_TCG_NSC policy<{'amd64': 'm'}> +CONFIG_TCG_ATMEL policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TCG_INFINEON policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_TCG_IBMVTPM policy<{'ppc64el': 'y'}> +CONFIG_TCG_XEN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': '-'}> +CONFIG_TCG_CRB policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_TCG_VTPM_PROXY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCG_FTPM_TEE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_TCG_TIS_ST33ZP24_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_TCG_TIS_ST33ZP24_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +# +CONFIG_TCG_TPM note +CONFIG_TCG_TIS_I2C_ATMEL note +CONFIG_TCG_TIS_I2C_INFINEON note +CONFIG_TCG_TIS_I2C_NUVOTON note + +# Menu: Device Drivers >> Clock Source drivers +CONFIG_DW_APB_TIMER policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ROCKCHIP_TIMER policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARMADA_370_XP_TIMER policy<{'armhf': 'y'}> +CONFIG_MESON6_TIMER policy<{'armhf': 'y'}> +CONFIG_ORION_TIMER policy<{'armhf': 'y'}> +CONFIG_OWL_TIMER policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_RDA_TIMER policy<{'armhf': 'y'}> +CONFIG_SUN4I_TIMER policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_TEGRA_TIMER policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_NPCM7XX_TIMER policy<{'armhf': 'y'}> +CONFIG_CLKSRC_TI_32K policy<{'armhf': 'y'}> +CONFIG_ARM_ARCH_TIMER_EVTSTREAM policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_FSL_ERRATUM_A008585 policy<{'arm64': 'y'}> +CONFIG_HISILICON_ERRATUM_161010101 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_858921 policy<{'arm64': 'y'}> +CONFIG_SUN50I_ERRATUM_UNKNOWN1 policy<{'arm64': 'y'}> +CONFIG_ARM_GLOBAL_TIMER policy<{'armhf': 'y'}> +CONFIG_ARM_GT_INITIAL_PRESCALER_VAL policy<{'armhf': '1'}> +CONFIG_ARM_TIMER_SP804 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CLKSRC_EXYNOS_MCT policy<{'armhf': 'y'}> +CONFIG_MTK_TIMER policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SPRD_TIMER policy<{'arm64': 'y'}> +CONFIG_SH_TIMER_CMT policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SH_TIMER_MTU2 policy<{'armhf': 'y'}> +CONFIG_RENESAS_OSTM policy<{'armhf': 'y', 'arm64': 'y'}> +CONFIG_SH_TIMER_TMU policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_EM_TIMER_STI policy<{'armhf': 'y'}> +CONFIG_CLKSRC_QCOM policy<{'armhf': 'y'}> +CONFIG_CLKSRC_VERSATILE policy<{'armhf': 'y'}> +CONFIG_CLKSRC_IMX_GPT policy<{'armhf': 'y'}> +CONFIG_CLKSRC_IMX_TPM policy<{'armhf': 'y'}> +CONFIG_TIMER_IMX_SYS_CTR policy<{'arm64': 'y'}> +CONFIG_RISCV_TIMER policy<{'riscv64': 'y'}> +CONFIG_MILBEAUT_TIMER policy<{'armhf': 'y'}> +CONFIG_MICROCHIP_PIT64B policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +# +CONFIG_ARM64_ERRATUM_858921 mark note + +# Menu: Device Drivers >> Common Clock Framework +CONFIG_COMMON_CLK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_COMMON_CLK_WM831X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LMK04832 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_COMMON_CLK_MAX77686 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMMON_CLK_MAX9485 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_COMMON_CLK_RK808 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMMON_CLK_HI655X policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_COMMON_CLK_SCMI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_COMMON_CLK_SCPI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_COMMON_CLK_SI5341 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_COMMON_CLK_SI5351 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_COMMON_CLK_SI514 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMMON_CLK_SI544 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_COMMON_CLK_SI570 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMMON_CLK_BM1880 policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_CDCE706 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_COMMON_CLK_CDCE925 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMMON_CLK_CS2000_CP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_COMMON_CLK_FSL_FLEXSPI policy<{'arm64': 'm'}> +CONFIG_COMMON_CLK_FSL_SAI policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_ASPEED policy<{'armhf': 'y'}> +CONFIG_COMMON_CLK_S2MPS11 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CLK_TWL6040 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_COMMON_CLK_AXI_CLKGEN policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CLK_QORIQ policy<{'arm64': 'y'}> +CONFIG_CLK_LS1028A_PLLDIG policy<{'arm64': 'm'}> +CONFIG_COMMON_CLK_XGENE policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_LOCHNAGAR policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMMON_CLK_PALMAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_COMMON_CLK_PWM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_COMMON_CLK_VC5 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMMON_CLK_BD718XX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMMON_CLK_FIXED_MMIO policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CLK_BCM2711_DVP policy<{'arm64': 'm'}> +CONFIG_CLK_BCM2835 policy<{'arm64': 'y'}> +CONFIG_CLK_BCM_NS2 policy<{'arm64': 'y'}> +CONFIG_CLK_BCM_SR policy<{'arm64': 'y'}> +CONFIG_CLK_RASPBERRYPI policy<{'arm64': 'm'}> +CONFIG_COMMON_CLK_HI3516CV300 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_COMMON_CLK_HI3519 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_COMMON_CLK_HI3559A policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_COMMON_CLK_HI3660 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_COMMON_CLK_HI3670 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_COMMON_CLK_HI3798CV200 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_COMMON_CLK_HI6220 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_RESET_HISI policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_STUB_CLK_HI6220 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_STUB_CLK_HI3660 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MXC_CLK policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CLK_IMX8MM policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CLK_IMX8MN policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CLK_IMX8MP policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CLK_IMX8MQ policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CLK_IMX8QXP policy<{'arm64': 'y'}> +CONFIG_TI_SCI_CLK policy<{'arm64': 'm'}> +CONFIG_TI_SCI_CLK_PROBE_FROM_FW policy<{'arm64': 'n'}> +CONFIG_TI_SYSCON_CLK policy<{'arm64': 'y'}> +CONFIG_MSTAR_MSC313_MPLL policy<{'armhf': 'y'}> +CONFIG_CLK_INTEL_SOCFPGA policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CLK_INTEL_SOCFPGA32 policy<{'armhf': 'y'}> +CONFIG_CLK_INTEL_SOCFPGA64 policy<{'arm64': 'y'}> +CONFIG_SPRD_COMMON_CLK policy<{'arm64': 'm'}> +CONFIG_SPRD_SC9860_CLK policy<{'arm64': 'm'}> +CONFIG_SPRD_SC9863A_CLK policy<{'arm64': 'm'}> +CONFIG_COMMON_CLK_TI_ADPLL policy<{'armhf': 'y'}> +CONFIG_CLK_UNIPHIER policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_XILINX_VCU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_COMMON_CLK_ZYNQMP policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for ARM Reference designs +CONFIG_CLK_SP810 policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': '-'}> +CONFIG_CLK_VEXPRESS_OSC policy<{'arm64': 'y', 'armhf': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for Actions Semi SoCs +CONFIG_CLK_ACTIONS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CLK_OWL_S500 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CLK_OWL_S700 policy<{'arm64': 'y'}> +CONFIG_CLK_OWL_S900 policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC +CONFIG_COMMON_CLK_MT7629 policy<{'armhf': 'y'}> +CONFIG_COMMON_CLK_MT7629_ETHSYS policy<{'armhf': 'y'}> +CONFIG_COMMON_CLK_MT7629_HIFSYS policy<{'armhf': 'y'}> +CONFIG_COMMON_CLK_MT8135 policy<{'armhf': 'y'}> +CONFIG_COMMON_CLK_MT8173 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_COMMON_CLK_MT8173_MMSYS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_COMMON_CLK_MT8516 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_COMMON_CLK_MT8516_AUDSYS policy<{'arm64': 'y', 'armhf': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT2701 +CONFIG_COMMON_CLK_MT2701 policy<{'armhf': 'n'}> + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT2712 +CONFIG_COMMON_CLK_MT2712 policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT2712_BDPSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT2712_IMGSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT2712_JPGDECSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT2712_MFGCFG policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT2712_MMSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT2712_VDECSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT2712_VENCSYS policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT6765 +CONFIG_COMMON_CLK_MT6765 policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6765_AUDIOSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6765_CAMSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6765_GCESYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6765_MMSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6765_IMGSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6765_VCODECSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6765_MFGSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6765_MIPI0ASYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6765_MIPI0BSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6765_MIPI1ASYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6765_MIPI1BSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6765_MIPI2ASYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6765_MIPI2BSYS policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT6779 +CONFIG_COMMON_CLK_MT6779 policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6779_MMSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6779_IMGSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6779_IPESYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6779_CAMSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6779_VDECSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6779_VENCSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6779_MFGCFG policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6779_AUDSYS policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT6797 +CONFIG_COMMON_CLK_MT6797 policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6797_MMSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6797_IMGSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6797_VDECSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT6797_VENCSYS policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT7622 +CONFIG_COMMON_CLK_MT7622 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_COMMON_CLK_MT7622_ETHSYS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_COMMON_CLK_MT7622_HIFSYS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_COMMON_CLK_MT7622_AUDSYS policy<{'arm64': 'y', 'armhf': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT8167 +CONFIG_COMMON_CLK_MT8167 policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8167_AUDSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8167_IMGSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8167_MFGCFG policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8167_MMSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8167_VDECSYS policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT8183 +CONFIG_COMMON_CLK_MT8183 policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8183_AUDIOSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8183_CAMSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8183_IMGSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8183_IPU_CORE0 policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8183_IPU_CORE1 policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8183_IPU_ADL policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8183_IPU_CONN policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8183_MFGCFG policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8183_MMSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8183_VDECSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8183_VENCSYS policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework >> Clock driver for MediaTek SoC >> Clock driver for MediaTek MT8192 +CONFIG_COMMON_CLK_MT8192 policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8192_AUDSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8192_CAMSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8192_IMGSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8192_IMP_IIC_WRAP policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8192_IPESYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8192_MDPSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8192_MFGCFG policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8192_MMSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8192_MSDC policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8192_SCP_ADSP policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8192_VDECSYS policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_MT8192_VENCSYS policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework >> Clock support for Allwinner SoCs +CONFIG_SUNXI_CCU policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_SUN50I_A64_CCU policy<{'arm64': 'y'}> +CONFIG_SUN50I_A100_CCU policy<{'arm64': 'y'}> +CONFIG_SUN50I_A100_R_CCU policy<{'arm64': 'y'}> +CONFIG_SUN50I_H6_CCU policy<{'arm64': 'y'}> +CONFIG_SUN50I_H616_CCU policy<{'arm64': 'y'}> +CONFIG_SUN50I_H6_R_CCU policy<{'arm64': 'y'}> +CONFIG_SUN8I_H3_CCU policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_SUN8I_DE2_CCU policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_SUN8I_R_CCU policy<{'arm64': 'y', 'armhf': '-'}> + +# Menu: Device Drivers >> Common Clock Framework >> Clock support for Amlogic platforms +CONFIG_COMMON_CLK_MESON8B policy<{'armhf': 'y'}> +CONFIG_COMMON_CLK_GXBB policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_AXG policy<{'arm64': 'y'}> +CONFIG_COMMON_CLK_AXG_AUDIO policy<{'arm64': 'm', 'armhf': 'n'}> +CONFIG_COMMON_CLK_G12A policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework >> Ingenic SoCs drivers + +# Menu: Device Drivers >> Common Clock Framework >> Legacy clock support for Allwinner SoCs +CONFIG_CLK_SUNXI policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_CLK_SUNXI_CLOCKS policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_CLK_SUNXI_PRCM_SUN6I policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_CLK_SUNXI_PRCM_SUN8I policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_CLK_SUNXI_PRCM_SUN9I policy<{'arm64': 'y', 'armhf': '-'}> + +# Menu: Device Drivers >> Common Clock Framework >> Renesas SoC clock support +CONFIG_CLK_RENESAS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CLK_EMEV2 policy<{'armhf': 'y'}> +CONFIG_CLK_RZA1 policy<{'armhf': 'y'}> +CONFIG_CLK_R7S9210 policy<{'armhf': 'y'}> +CONFIG_CLK_R8A7740 policy<{'armhf': 'y'}> +CONFIG_CLK_R8A7742 policy<{'armhf': 'y'}> +CONFIG_CLK_R8A7743 policy<{'armhf': 'y'}> +CONFIG_CLK_R8A7745 policy<{'armhf': 'y'}> +CONFIG_CLK_R8A77470 policy<{'armhf': 'y'}> +CONFIG_CLK_R8A774A1 policy<{'arm64': 'y'}> +CONFIG_CLK_R8A774B1 policy<{'arm64': 'y'}> +CONFIG_CLK_R8A774C0 policy<{'arm64': 'y'}> +CONFIG_CLK_R8A774E1 policy<{'arm64': 'y'}> +CONFIG_CLK_R8A7778 policy<{'armhf': 'y'}> +CONFIG_CLK_R8A7779 policy<{'armhf': 'y'}> +CONFIG_CLK_R8A7790 policy<{'armhf': 'y'}> +CONFIG_CLK_R8A7791 policy<{'armhf': 'y'}> +CONFIG_CLK_R8A7792 policy<{'armhf': 'y'}> +CONFIG_CLK_R8A7794 policy<{'armhf': 'y'}> +CONFIG_CLK_R8A7795 policy<{'arm64': 'y'}> +CONFIG_CLK_R8A77960 policy<{'arm64': 'y'}> +CONFIG_CLK_R8A77961 policy<{'arm64': 'y'}> +CONFIG_CLK_R8A77965 policy<{'arm64': 'y'}> +CONFIG_CLK_R8A77970 policy<{'arm64': 'y'}> +CONFIG_CLK_R8A77980 policy<{'arm64': 'y'}> +CONFIG_CLK_R8A77990 policy<{'arm64': 'y'}> +CONFIG_CLK_R8A77995 policy<{'arm64': 'y'}> +CONFIG_CLK_R8A779A0 policy<{'arm64': 'y'}> +CONFIG_CLK_R9A06G032 policy<{'armhf': 'y'}> +CONFIG_CLK_R9A07G044 policy<{'arm64': 'y'}> +CONFIG_CLK_SH73A0 policy<{'armhf': 'y'}> +CONFIG_CLK_RCAR_CPG_LIB policy<{'arm64': 'y'}> +CONFIG_CLK_RCAR_GEN2_CPG policy<{'armhf': 'y'}> +CONFIG_CLK_RCAR_GEN3_CPG policy<{'arm64': 'y'}> +CONFIG_CLK_RCAR_USB2_CLOCK_SEL policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CLK_RZG2L policy<{'arm64': 'y'}> +CONFIG_CLK_RENESAS_CPG_MSSR policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CLK_RENESAS_CPG_MSTP policy<{'armhf': 'y'}> +CONFIG_CLK_RENESAS_DIV6 policy<{'arm64': 'y', 'armhf': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework >> Rockchip clock controller common support +CONFIG_COMMON_CLK_ROCKCHIP policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_CLK_PX30 policy<{'arm64': 'y'}> +CONFIG_CLK_RV110X policy<{'armhf': 'y'}> +CONFIG_CLK_RK3036 policy<{'armhf': 'y'}> +CONFIG_CLK_RK312X policy<{'armhf': 'y'}> +CONFIG_CLK_RK3188 policy<{'armhf': 'y'}> +CONFIG_CLK_RK322X policy<{'armhf': 'y'}> +CONFIG_CLK_RK3288 policy<{'armhf': 'y'}> +CONFIG_CLK_RK3308 policy<{'arm64': 'y'}> +CONFIG_CLK_RK3328 policy<{'arm64': 'y'}> +CONFIG_CLK_RK3368 policy<{'arm64': 'y'}> +CONFIG_CLK_RK3399 policy<{'arm64': 'y'}> +CONFIG_CLK_RK3568 policy<{'arm64': 'y', 'armhf': '-'}> + +# Menu: Device Drivers >> Common Clock Framework >> Samsung Exynos clock controller support +CONFIG_COMMON_CLK_SAMSUNG policy<{'armhf': 'y'}> +CONFIG_EXYNOS_5250_COMMON_CLK policy<{'armhf': '-'}> +CONFIG_EXYNOS_5260_COMMON_CLK policy<{'armhf': '-'}> +CONFIG_EXYNOS_5410_COMMON_CLK policy<{'armhf': '-'}> +CONFIG_EXYNOS_5420_COMMON_CLK policy<{'armhf': '-'}> +CONFIG_EXYNOS_AUDSS_CLK_CON policy<{'armhf': 'n'}> +CONFIG_EXYNOS_CLKOUT policy<{'armhf': 'n'}> + +# Menu: Device Drivers >> Common Clock Framework >> SiFive SoC driver support +CONFIG_CLK_SIFIVE policy<{'riscv64': 'y'}> +CONFIG_CLK_SIFIVE_PRCI policy<{'riscv64': 'y'}> + +# Menu: Device Drivers >> Common Clock Framework >> Support for Qualcomm's clock controllers +CONFIG_COMMON_CLK_QCOM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_A53PLL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_A7PLL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_CLK_APCS_MSM8916 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_CLK_APCC_MSM8996 policy<{'arm64': 'm'}> +CONFIG_QCOM_CLK_APCS_SDX55 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_CLK_RPM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_CLK_SMD_RPM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_CLK_RPMH policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_APQ_GCC_8084 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_APQ_MMCC_8084 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IPQ_APSS_PLL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IPQ_APSS_6018 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IPQ_GCC_4019 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IPQ_GCC_6018 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IPQ_GCC_806X policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IPQ_LCC_806X policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IPQ_GCC_8074 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MSM_GCC_8660 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MSM_GCC_8916 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MSM_GCC_8939 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MSM_GCC_8960 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MSM_LCC_8960 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MDM_GCC_9607 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MDM_GCC_9615 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MDM_LCC_9615 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MSM_MMCC_8960 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MSM_GCC_8953 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MSM_GCC_8974 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MSM_MMCC_8974 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MSM_MMCC_8994 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MSM_GCC_8994 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MSM_GCC_8996 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MSM_MMCC_8996 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MSM_GCC_8998 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MSM_GPUCC_8998 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MSM_MMCC_8998 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCS_GCC_404 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SC_CAMCC_7180 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SC_DISPCC_7180 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SC_DISPCC_7280 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SC_GCC_7180 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SC_GCC_7280 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SC_GCC_8180X policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SC_LPASS_CORECC_7180 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SC_GPUCC_7180 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SC_GPUCC_7280 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SC_MSS_7180 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SC_VIDEOCC_7180 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SC_VIDEOCC_7280 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SDM_CAMCC_845 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SDM_GCC_660 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SDM_MMCC_660 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SDM_GPUCC_660 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCS_TURING_404 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCS_Q6SSTOP_404 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SDM_GCC_845 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SDM_GPUCC_845 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SDM_VIDEOCC_845 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SDM_DISPCC_845 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SDM_LPASSCC_845 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SDX_GCC_55 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SM_CAMCC_8250 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SM_DISPCC_8250 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SM_GCC_6115 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SM_GCC_6125 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SM_GCC_6350 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SM_GCC_8150 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SM_GCC_8250 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SM_GCC_8350 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SM_GPUCC_8150 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SM_GPUCC_8250 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SM_VIDEOCC_8150 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SM_VIDEOCC_8250 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPMI_PMIC_CLKDIV policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_HFPLL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_KPSS_XCC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_KRAITCC policy<{'armhf': 'm'}> +CONFIG_CLK_GFM_LPASS_SM8250 policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Connector - unified userspace <-> kernelspace linker +CONFIG_CONNECTOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PROC_EVENTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Device Drivers >> Counter support +CONFIG_COUNTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_104_QUAD_8 policy<{'amd64': 'm'}> +CONFIG_INTERRUPT_CNT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_TI_EQEP policy<{'armhf-generic': 'm'}> +CONFIG_FTM_QUADDEC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MICROCHIP_TCB_CAPTURE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_INTEL_QEP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> DAX: direct access to differentiated memory +CONFIG_DAX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DEV_DAX policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DEV_DAX_PMEM policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm'}> +CONFIG_DEV_DAX_HMEM policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_DEV_DAX_KMEM policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> DMA Engine support +CONFIG_DMADEVICES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_DMADEVICES_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_ALTERA_MSGDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_AMBA_PL08X policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_AXI_DMAC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_BCM_SBA_RAID policy<{'arm64': 'm'}> +CONFIG_DMA_BCM2835 policy<{'arm64': 'y'}> +CONFIG_DMA_SUN6I policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_DW_AXI_DMAC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FSL_EDMA policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FSL_QDMA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IMX_DMA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IMX_SDMA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INTEL_IDMA64 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INTEL_IDXD policy<{'amd64': 'm'}> +CONFIG_INTEL_IDXD_COMPAT policy<{'amd64': 'n'}> +CONFIG_INTEL_IDXD_SVM policy<{'amd64': 'y'}> +CONFIG_INTEL_IDXD_PERFMON policy<{'amd64': 'y'}> +CONFIG_INTEL_IOATDMA policy<{'amd64': 'm'}> +CONFIG_K3_DMA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MILBEAUT_HDMAC policy<{'armhf': 'm'}> +CONFIG_MILBEAUT_XDMAC policy<{'armhf': 'm'}> +CONFIG_MV_XOR policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MV_XOR_V2 policy<{'arm64': 'y'}> +CONFIG_MXS_DMA policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MX3_IPU policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MX3_IPU_IRQS policy<{'arm64': '4', 'armhf': '4'}> +CONFIG_NBPFAXI_DMA policy<{'armhf': 'm'}> +CONFIG_OWL_DMA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PL330_DMA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PLX_DMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPRD_DMA policy<{'arm64': 'm'}> +CONFIG_TEGRA20_APB_DMA policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_TEGRA210_ADMA policy<{'arm64': 'm'}> +CONFIG_UNIPHIER_MDMAC policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_UNIPHIER_XDMAC policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_XGENE_DMA policy<{'arm64': 'm'}> +CONFIG_XILINX_DMA policy<{'arm64': 'm'}> +CONFIG_XILINX_ZYNQMP_DMA policy<{'arm64': 'm'}> +CONFIG_XILINX_ZYNQMP_DPDMA policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTK_HSDMA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTK_CQDMA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTK_UART_APDMA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_AMD_PTDMA policy<{'amd64': 'm'}> +CONFIG_QCOM_ADM policy<{'armhf-generic': 'm'}> +CONFIG_QCOM_BAM_DMA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_GPI_DMA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_HIDMA_MGMT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_QCOM_HIDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_DW_DMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_DW_DMAC_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_DW_EDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_DW_EDMA_PCIE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SF_PDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_RCAR_DMAC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RENESAS_USB_DMAC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RZ_DMAC policy<{'arm64': 'm'}> +CONFIG_TI_CPPI41 policy<{'armhf': 'm'}> +CONFIG_TI_EDMA policy<{'armhf': 'y'}> +CONFIG_DMA_OMAP policy<{'armhf': 'y'}> +CONFIG_TI_K3_UDMA policy<{'arm64': 'y'}> +CONFIG_TI_K3_UDMA_GLUE_LAYER policy<{'arm64': 'y'}> +CONFIG_FSL_DPAA2_QDMA policy<{'arm64': 'm'}> +CONFIG_INTEL_LDMA policy<{'amd64': 'y'}> +CONFIG_ASYNC_TX_DMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DMATEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +# +CONFIG_DMATEST flag + +# Menu: Device Drivers >> DMABUF options +CONFIG_SYNC_FILE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SW_SYNC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_UDMABUF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DMABUF_MOVE_NOTIFY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DMABUF_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DMABUF_SELFTESTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DMABUF_SYSFS_STATS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Device Drivers >> DMABUF options >> DMA-BUF Userland Memory Heaps +CONFIG_DMABUF_HEAPS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DMABUF_HEAPS_SYSTEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DMABUF_HEAPS_CMA policy<{'arm64': 'y', 'armhf': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Dallas's 1-wire support +CONFIG_W1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_W1_CON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> + +# Menu: Device Drivers >> Dallas's 1-wire support >> 1-wire Bus Masters +CONFIG_W1_MASTER_MATROX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_MASTER_DS2490 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_MASTER_DS2482 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_MASTER_MXC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_W1_MASTER_DS1WM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_MASTER_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HDQ_MASTER_OMAP policy<{'armhf': 'm'}> +CONFIG_W1_MASTER_SGI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Dallas's 1-wire support >> 1-wire Slaves +CONFIG_W1_SLAVE_THERM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_SLAVE_SMEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_SLAVE_DS2405 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_SLAVE_DS2408 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_SLAVE_DS2408_READBACK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_W1_SLAVE_DS2413 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_SLAVE_DS2406 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_SLAVE_DS2423 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_SLAVE_DS2805 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_SLAVE_DS2430 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_SLAVE_DS2431 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_SLAVE_DS2433 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_SLAVE_DS2433_CRC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_W1_SLAVE_DS2438 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_SLAVE_DS250X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_SLAVE_DS2780 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_SLAVE_DS2781 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_SLAVE_DS28E04 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_W1_SLAVE_DS28E17 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Data acquisition support (comedi) +CONFIG_COMEDI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_COMEDI_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB policy<{'amd64': '2048', 'arm64': '2048', 'armhf': '2048', 'ppc64el': '2048', 'riscv64': '2048'}> +CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB policy<{'amd64': '20480', 'arm64': '20480', 'armhf': '20480', 'ppc64el': '20480', 'riscv64': '20480'}> +CONFIG_COMEDI_8255_SA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_KCOMEDILIB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_TESTS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_TESTS_EXAMPLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_TESTS_NI_ROUTES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Data acquisition support (comedi) >> Comedi ISA and PC/104 drivers +CONFIG_COMEDI_ISA_DRIVERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_COMEDI_PCL711 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_PCL724 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_PCL726 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_PCL730 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_PCL812 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_PCL816 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_PCL818 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_PCM3724 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_DIO200_ISA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_PC236_ISA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_PC263_ISA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_RTI800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_RTI802 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DAC02 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DAS16M1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DAS08_ISA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DAS16 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DAS800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DAS1800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DAS6402 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DT2801 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DT2811 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DT2814 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DT2815 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DT2817 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DT282X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DMM32AT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_FL512 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_AIO_AIO12_8 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_AIO_IIRO_16 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_II_PCI20KC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_C6XDIGIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_MPC624 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADQ12B policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_NI_AT_A2150 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_NI_AT_AO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_NI_ATMIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_NI_ATMIO16D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_NI_LABPC_ISA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_PCMAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_PCMDA12 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_PCMMIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_PCMUIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_MULTIQ3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_S526 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Data acquisition support (comedi) >> Comedi PCI drivers +CONFIG_COMEDI_PCI_DRIVERS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_8255_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_1032 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_1500 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_1516 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_1564 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_16XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_2032 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_2200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_3120 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_3501 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADDI_APCI_3XXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADL_PCI6208 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADL_PCI7X3X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADL_PCI8164 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADL_PCI9111 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADL_PCI9118 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADV_PCI1710 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADV_PCI1720 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADV_PCI1723 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADV_PCI1724 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADV_PCI1760 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ADV_PCI_DIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_DIO200_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_PC236_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_PC263_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_PCI224 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_AMPLC_PCI230 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_CONTEC_PCI_DIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DAS08_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DT3000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DYNA_PCI10XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_GSC_HPDI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_MF6X4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ICP_MULTI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DAQBOARD2000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_JR3_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_KE_COUNTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_CB_PCIDAS64 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_CB_PCIDAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_CB_PCIDDA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_CB_PCIMDAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_CB_PCIMDDA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ME4000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_ME_DAQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_NI_6527 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_NI_65XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_NI_660X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_NI_670X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_NI_LABPC_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_NI_PCIDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_NI_PCIMIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_RTD520 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_S626 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Data acquisition support (comedi) >> Comedi PCMCIA drivers +CONFIG_COMEDI_PCMCIA_DRIVERS policy<{'amd64': 'm'}> +CONFIG_COMEDI_CB_DAS16_CS policy<{'amd64': 'm'}> +CONFIG_COMEDI_DAS08_CS policy<{'amd64': 'm'}> +CONFIG_COMEDI_NI_DAQ_700_CS policy<{'amd64': 'm'}> +CONFIG_COMEDI_NI_DAQ_DIO24_CS policy<{'amd64': 'm'}> +CONFIG_COMEDI_NI_LABPC_CS policy<{'amd64': 'm'}> +CONFIG_COMEDI_NI_MIO_CS policy<{'amd64': 'm'}> +CONFIG_COMEDI_QUATECH_DAQP_CS policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Data acquisition support (comedi) >> Comedi USB drivers +CONFIG_COMEDI_USB_DRIVERS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_DT9812 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_NI_USB6501 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_USBDUX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_USBDUXFAST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_USBDUXSIGMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_VMK80XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Data acquisition support (comedi) >> Comedi misc drivers +CONFIG_COMEDI_MISC_DRIVERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_COMEDI_BOND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_TEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_COMEDI_PARPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Device Tree and Open Firmware support +CONFIG_OF policy<{'amd64': 'n', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_OF_UNITTEST policy<{'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_OF_DYNAMIC policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_OF_OVERLAY policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +# +CONFIG_OF_UNITTEST flag + +# Menu: Device Drivers >> EDAC (Error Detection And Correction) reporting +CONFIG_EDAC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_EDAC_LEGACY_SYSFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_EDAC_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_EDAC_DECODE_MCE policy<{'amd64': 'm'}> +CONFIG_EDAC_GHES policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_EDAC_AMD64 policy<{'amd64': 'm'}> +CONFIG_EDAC_AL_MC policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_EDAC_E752X policy<{'amd64': 'm'}> +CONFIG_EDAC_I82975X policy<{'amd64': 'm'}> +CONFIG_EDAC_I3000 policy<{'amd64': 'm'}> +CONFIG_EDAC_I3200 policy<{'amd64': 'm'}> +CONFIG_EDAC_IE31200 policy<{'amd64': 'm'}> +CONFIG_EDAC_X38 policy<{'amd64': 'm'}> +CONFIG_EDAC_I5400 policy<{'amd64': 'm'}> +CONFIG_EDAC_I7CORE policy<{'amd64': 'm'}> +CONFIG_EDAC_I5000 policy<{'amd64': 'm'}> +CONFIG_EDAC_I5100 policy<{'amd64': 'm'}> +CONFIG_EDAC_I7300 policy<{'amd64': 'm'}> +CONFIG_EDAC_SBRIDGE policy<{'amd64': 'm'}> +CONFIG_EDAC_SKX policy<{'amd64': 'm'}> +CONFIG_EDAC_I10NM policy<{'amd64': 'm'}> +CONFIG_EDAC_PND2 policy<{'amd64': 'm'}> +CONFIG_EDAC_IGEN6 policy<{'amd64': 'm'}> +CONFIG_EDAC_LAYERSCAPE policy<{'arm64': 'm'}> +CONFIG_EDAC_CPC925 policy<{'ppc64el': 'm'}> +CONFIG_EDAC_HIGHBANK_MC policy<{'armhf': 'm'}> +CONFIG_EDAC_HIGHBANK_L2 policy<{'armhf': 'm'}> +CONFIG_EDAC_THUNDERX policy<{'arm64': 'm'}> +CONFIG_EDAC_SIFIVE policy<{'riscv64': 'y'}> +CONFIG_EDAC_ARMADA_XP policy<{'armhf': 'y'}> +CONFIG_EDAC_SYNOPSYS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_EDAC_XGENE policy<{'arm64': 'm'}> +CONFIG_EDAC_TI policy<{'armhf': 'm'}> +CONFIG_EDAC_QCOM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_EDAC_ASPEED policy<{'armhf': 'm'}> +CONFIG_EDAC_BLUEFIELD policy<{'arm64': 'm'}> +CONFIG_EDAC_DMC520 policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> EDAC (Error Detection And Correction) reporting >> Altera SOCFPGA ECC +CONFIG_EDAC_ALTERA policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_EDAC_ALTERA_SDRAM policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_EDAC_ALTERA_L2C policy<{'armhf': 'y'}> +CONFIG_EDAC_ALTERA_OCRAM policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_EDAC_ALTERA_ETHERNET policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_EDAC_ALTERA_NAND policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_EDAC_ALTERA_USB policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_EDAC_ALTERA_QSPI policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_EDAC_ALTERA_SDMMC policy<{'arm64': 'y', 'armhf': 'y'}> + +# Menu: Device Drivers >> EISA support +CONFIG_EISA policy<{'amd64': 'y'}> +CONFIG_EISA_VLB_PRIMING policy<{'amd64': 'y'}> +CONFIG_EISA_PCI_EISA policy<{'amd64': 'y'}> +CONFIG_EISA_VIRTUAL_ROOT policy<{'amd64': 'y'}> +CONFIG_EISA_NAMES policy<{'amd64': 'y'}> + +# Menu: Device Drivers >> Eckelmann SIOX Support +CONFIG_SIOX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SIOX_BUS_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> External Connector Class (extcon) support +CONFIG_EXTCON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_EXTCON_ADC_JACK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_EXTCON_AXP288 policy<{'amd64': 'm'}> +CONFIG_EXTCON_FSA9480 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_EXTCON_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_EXTCON_INTEL_INT3496 policy<{'amd64': 'm'}> +CONFIG_EXTCON_INTEL_CHT_WC policy<{'amd64': 'm'}> +CONFIG_EXTCON_INTEL_MRFLD policy<{'amd64': 'm'}> +CONFIG_EXTCON_MAX14577 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_EXTCON_MAX3355 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_EXTCON_MAX77693 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_EXTCON_MAX77843 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_EXTCON_MAX8997 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_EXTCON_PALMAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_EXTCON_PTN5150 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_EXTCON_QCOM_SPMI_MISC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_EXTCON_RT8973A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_EXTCON_SM5502 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_EXTCON_USB_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_EXTCON_USBC_CROS_EC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_EXTCON_USBC_TUSB320 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> FPGA Configuration Framework +CONFIG_FPGA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_FPGA_MGR_SOCFPGA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_FPGA_MGR_SOCFPGA_A10 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ALTERA_PR_IP_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_ALTERA_PR_IP_CORE_PLAT policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FPGA_MGR_ALTERA_PS_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_FPGA_MGR_ALTERA_CVP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_FPGA_MGR_STRATIX10_SOC policy<{'arm64': 'm'}> +CONFIG_FPGA_MGR_XILINX_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_FPGA_MGR_ICE40_SPI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FPGA_MGR_MACHXO2_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_FPGA_MGR_ZYNQMP_FPGA policy<{'arm64': 'm'}> +CONFIG_FPGA_MGR_VERSAL_FPGA policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> FPGA Configuration Framework >> FPGA Bridge Framework +CONFIG_FPGA_BRIDGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SOCFPGA_FPGA_BRIDGE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ALTERA_FREEZE_BRIDGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_XILINX_PR_DECOUPLER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FPGA_REGION policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_OF_FPGA_REGION policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> FPGA Configuration Framework >> FPGA Device Feature List (DFL) support +CONFIG_FPGA_DFL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FPGA_DFL_AFU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FPGA_DFL_NIOS_INTEL_PAC_N3000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FPGA_DFL_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> FPGA Configuration Framework >> FPGA Device Feature List (DFL) support >> FPGA DFL FME Driver +CONFIG_FPGA_DFL_FME policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FPGA_DFL_FME_MGR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FPGA_DFL_FME_BRIDGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FPGA_DFL_FME_REGION policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> FSI support +CONFIG_FSI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FSI_NEW_DEV_NODE policy<{'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_FSI_MASTER_GPIO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FSI_MASTER_HUB policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FSI_MASTER_AST_CF policy<{'armhf': 'm'}> +CONFIG_FSI_MASTER_ASPEED policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FSI_SCOM policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FSI_SBEFIFO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FSI_OCC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Fusion MPT device support +CONFIG_FUSION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_FUSION_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_FUSION_FC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_FUSION_SAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_FUSION_MAX_SGE policy<{'amd64': '128', 'arm64': '128', 'armhf': '128', 'ppc64el': '128', 'riscv64': '128'}> +CONFIG_FUSION_CTL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FUSION_LAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FUSION_LOGGING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> GNSS receiver support +CONFIG_GNSS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_GNSS_MTK_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GNSS_SIRF_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GNSS_UBX_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> GPIO Support +CONFIG_GPIOLIB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_GPIOLIB_FASTPATH_LIMIT policy<{'amd64': '512', 'arm64': '512', 'armhf': '512', 'ppc64el': '512', 'riscv64': '512', 's390x': '512'}> +CONFIG_DEBUG_GPIO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_GPIO_SYSFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_GPIO_CDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_GPIO_CDEV_V1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +CONFIG_GPIO_CDEV_V1 note + +# Menu: Device Drivers >> GPIO Support >> I2C GPIO expanders +CONFIG_GPIO_ADP5588 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_GPIO_ADNP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_GW_PLD policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_MAX7300 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_GPIO_MAX732X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_GPIO_PCA953X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_GPIO_PCA953X_IRQ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_GPIO_PCA9570 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_GPIO_PCF857X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_GPIO_TPIC2810 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_GPIO_TS4900 policy<{'armhf': 'm'}> + +# Menu: Device Drivers >> GPIO Support >> MFD GPIO expanders +CONFIG_GPIO_ADP5520 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_GPIO_ALTERA_A10SR policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_GPIO_ARIZONA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_BD71815 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_BD71828 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_BD9571MWV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_CRYSTAL_COVE policy<{'amd64': 'y'}> +CONFIG_GPIO_DA9052 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_GPIO_DA9055 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_GPIO_DLN2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HTC_EGPIO policy<{'armhf': 'y'}> +CONFIG_GPIO_JANZ_TTL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_KEMPLD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_LP3943 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_LP873X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_LP87565 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_MADERA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_MAX77620 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_MAX77650 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_PALMAS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_GPIO_RC5T583 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_GPIO_SL28CPLD policy<{'arm64': 'm'}> +CONFIG_GPIO_STMPE policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_GPIO_TC3589X policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_GPIO_TPS65086 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_TPS65218 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_TPS6586X policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_GPIO_TPS65910 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_GPIO_TPS65912 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_GPIO_TPS68470 policy<{'amd64': 'm'}> +CONFIG_GPIO_TQMX86 policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm'}> +CONFIG_GPIO_TWL4030 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_GPIO_TWL6040 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_GPIO_UCB1400 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_WHISKEY_COVE policy<{'amd64': 'm'}> +CONFIG_GPIO_WM831X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_GPIO_WM8350 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_GPIO_WM8994 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +# +CONFIG_GPIO_TWL4030 mark note + +# Menu: Device Drivers >> GPIO Support >> Memory mapped GPIO drivers +CONFIG_GPIO_74XX_MMIO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_ALTERA policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_AMDPT policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_GPIO_ASPEED policy<{'armhf': 'm'}> +CONFIG_GPIO_ASPEED_SGPIO policy<{'armhf': 'y'}> +CONFIG_GPIO_RASPBERRYPI_EXP policy<{'arm64': 'm'}> +CONFIG_GPIO_BCM_XGS_IPROC policy<{'arm64': 'm'}> +CONFIG_GPIO_BRCMSTB policy<{'arm64': 'm'}> +CONFIG_GPIO_CADENCE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_DAVINCI policy<{'arm64': 'y'}> +CONFIG_GPIO_DWAPB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_GPIO_EIC_SPRD policy<{'arm64': 'm'}> +CONFIG_GPIO_EM policy<{'armhf': 'n'}> +CONFIG_GPIO_EXAR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_FTGPIO010 policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_GPIO_GENERIC_PLATFORM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'y', 's390x': 'm'}> +CONFIG_GPIO_GRGPIO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_HISI policy<{'arm64': 'm'}> +CONFIG_GPIO_HLWD policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_ICH policy<{'amd64': 'm'}> +CONFIG_GPIO_LOGICVC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_MB86S7X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_GPIO_MENZ127 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_MPC8XXX policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_GPIO_MXC policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_GPIO_OMAP policy<{'armhf': 'y'}> +CONFIG_GPIO_PL061 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_GPIO_PMIC_EIC_SPRD policy<{'arm64': 'm'}> +CONFIG_GPIO_RCAR policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_GPIO_RDA policy<{'armhf': 'y'}> +CONFIG_GPIO_ROCKCHIP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_GPIO_SAMA5D2_PIOBU policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_SIFIVE policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_GPIO_SIOX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_GPIO_SPRD policy<{'arm64': 'm'}> +CONFIG_GPIO_SYSCON policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_TEGRA policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_GPIO_TEGRA186 policy<{'arm64': 'y'}> +CONFIG_GPIO_TS4800 policy<{'armhf': 'm'}> +CONFIG_GPIO_THUNDERX policy<{'arm64': 'm'}> +CONFIG_GPIO_UNIPHIER policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_GPIO_VISCONTI policy<{'arm64': 'm'}> +CONFIG_GPIO_VX855 policy<{'amd64': 'm'}> +CONFIG_GPIO_WCD934X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_XGENE policy<{'arm64': 'y'}> +CONFIG_GPIO_XGENE_SB policy<{'arm64': 'm'}> +CONFIG_GPIO_XILINX policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'n'}> +CONFIG_GPIO_XLP policy<{'arm64': 'm'}> +CONFIG_GPIO_ZEVIO policy<{'armhf': 'y'}> +CONFIG_GPIO_ZYNQ policy<{'arm64': 'm'}> +CONFIG_GPIO_AMD_FCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_GPIO_MSC313 policy<{'armhf': 'y'}> +# +CONFIG_GPIO_EM note + +# Menu: Device Drivers >> GPIO Support >> PCI GPIO expanders +CONFIG_GPIO_AAEON policy<{'amd64': 'm'}> +CONFIG_GPIO_AMD8111 policy<{'amd64': 'm'}> +CONFIG_GPIO_BT8XX policy<{'s390x': 'm'}> +CONFIG_GPIO_MLXBF policy<{'arm64': 'm'}> +CONFIG_GPIO_MLXBF2 policy<{'arm64': 'm'}> +CONFIG_GPIO_ML_IOH policy<{'amd64': 'm'}> +CONFIG_GPIO_PCI_IDIO_16 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_GPIO_PCIE_IDIO_24 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_GPIO_RDC321X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> GPIO Support >> Port-mapped I/O GPIO drivers +CONFIG_GPIO_104_DIO_48E policy<{'amd64': 'm'}> +CONFIG_GPIO_104_IDIO_16 policy<{'amd64': 'm'}> +CONFIG_GPIO_104_IDI_48 policy<{'amd64': 'm'}> +CONFIG_GPIO_F7188X policy<{'amd64': 'm'}> +CONFIG_GPIO_GPIO_MM policy<{'amd64': 'm'}> +CONFIG_GPIO_IT87 policy<{'amd64': 'm'}> +CONFIG_GPIO_SCH policy<{'amd64': 'm'}> +CONFIG_GPIO_SCH311X policy<{'amd64': 'm'}> +CONFIG_GPIO_WINBOND policy<{'amd64': 'm'}> +CONFIG_GPIO_WS16C48 policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> GPIO Support >> SPI GPIO expanders +CONFIG_GPIO_74X164 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_MAX3191X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_GPIO_MAX7301 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_GPIO_MC33880 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_GPIO_PISOSR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_GPIO_XRA1403 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_GPIO_MOXTET policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> GPIO Support >> USB GPIO expanders +CONFIG_GPIO_VIPERBOARD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> GPIO Support >> Virtual GPIO drivers +CONFIG_GPIO_AGGREGATOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_GPIO_MOCKUP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_GPIO_VIRTIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> Generic Driver Options +CONFIG_UEVENT_HELPER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_UEVENT_HELPER_PATH policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 'riscv64': '""', 's390x': '""'}> +CONFIG_DEVTMPFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DEVTMPFS_MOUNT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DEVTMPFS_SAFE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_STANDALONE policy<{'amd64': 'n', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PREVENT_FIRMWARE_BUILD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ALLOW_DEV_COREDUMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DEBUG_DRIVER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_DEVRES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_TEST_DRIVER_REMOVE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_ASYNC_DRIVER_PROBE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DMA_FENCE_TRACE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_DEVTMPFS mark note +CONFIG_DEVTMPFS_MOUNT mark note + +# Menu: Device Drivers >> Generic Driver Options >> Firmware loader + +# Menu: Device Drivers >> Generic Driver Options >> Firmware loader >> Firmware loading facility +CONFIG_FW_LOADER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_EXTRA_FIRMWARE policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 'riscv64': '""', 's390x': '""'}> +CONFIG_FW_LOADER_USER_HELPER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FW_LOADER_USER_HELPER_FALLBACK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_FW_LOADER_COMPRESS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FW_CACHE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +# +CONFIG_FW_LOADER_USER_HELPER_FALLBACK mark note + +# Menu: Device Drivers >> Generic Dynamic Voltage and Frequency Scaling (DVFS) support +CONFIG_PM_DEVFREQ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DEVFREQ_GOV_PERFORMANCE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DEVFREQ_GOV_POWERSAVE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DEVFREQ_GOV_USERSPACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DEVFREQ_GOV_PASSIVE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ARM_EXYNOS_BUS_DEVFREQ policy<{'armhf': 'n'}> +CONFIG_ARM_IMX_BUS_DEVFREQ policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_IMX8M_DDRC_DEVFREQ policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_TEGRA_DEVFREQ policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_RK3399_DMC_DEVFREQ policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Generic Dynamic Voltage and Frequency Scaling (DVFS) support >> DEVFREQ-Event device Support +CONFIG_PM_DEVFREQ_EVENT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DEVFREQ_EVENT_EXYNOS_NOCP policy<{'armhf': 'n'}> +CONFIG_DEVFREQ_EVENT_EXYNOS_PPMU policy<{'armhf': 'n'}> +CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Generic Target Core Mod (TCM) and ConfigFS Infrastructure +CONFIG_TARGET_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCM_IBLOCK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCM_FILEIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCM_PSCSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCM_USER2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_LOOPBACK_TARGET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCM_FC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_ISCSI_TARGET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_ISCSI_TARGET_CXGB4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SBP_TARGET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Generic powercap sysfs driver +CONFIG_POWERCAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_INTEL_RAPL policy<{'amd64': 'm'}> +CONFIG_IDLE_INJECT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Graphics support +CONFIG_VGA_ARB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VGA_ARB_MAX_GPUS policy<{'amd64': '16', 'arm64': '16', 'armhf': '16', 'ppc64el': '16', 'riscv64': '16'}> +CONFIG_VGA_SWITCHEROO policy<{'amd64': 'y'}> +CONFIG_TEGRA_HOST1X policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_TEGRA_HOST1X_FIREWALL policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_IMX_IPUV3_CORE policy<{'armhf': 'm'}> +CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Device Drivers >> Graphics support >> /dev/agpgart (AGP Support) +CONFIG_AGP policy<{'amd64': 'y', 'ppc64el': 'y'}> +CONFIG_AGP_AMD64 policy<{'amd64': 'y'}> +CONFIG_AGP_INTEL policy<{'amd64': 'y'}> +CONFIG_AGP_SIS policy<{'amd64': 'm'}> +CONFIG_AGP_VIA policy<{'amd64': 'y'}> +# +CONFIG_AGP note flag + +# Menu: Device Drivers >> Graphics support >> ARM devices +CONFIG_DRM_HDLCD policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DRM_HDLCD_SHOW_UNDERRUN policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_DRM_MALI_DISPLAY policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DRM_KOMEDA policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Graphics support >> Backlight & LCD device support + +# Menu: Device Drivers >> Graphics support >> Backlight & LCD device support >> Lowlevel Backlight controls +CONFIG_BACKLIGHT_CLASS_DEVICE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_BACKLIGHT_KTD253 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_LM3533 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BACKLIGHT_CARILLO_RANCH policy<{'amd64': 'm'}> +CONFIG_BACKLIGHT_PWM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_DA903X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_DA9052 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_MAX8925 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_APPLE policy<{'amd64': 'm'}> +CONFIG_BACKLIGHT_QCOM_WLED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_RT4831 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BACKLIGHT_SAHARA policy<{'amd64': 'm'}> +CONFIG_BACKLIGHT_WM831X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_ADP5520 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_ADP8860 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_ADP8870 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_88PM860X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_PCF50633 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BACKLIGHT_AAT2870 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_LM3630A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_LM3639 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_LP855X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_LP8788 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_PANDORA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_SKY81452 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BACKLIGHT_TPS65217 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '-'}> +CONFIG_BACKLIGHT_AS3711 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_LV5207LP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_BD6107 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_ARCXCNN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BACKLIGHT_RAVE_SP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BACKLIGHT_LED policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Graphics support >> Backlight & LCD device support >> Lowlevel LCD controls +CONFIG_LCD_CLASS_DEVICE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_LCD_L4F00242T03 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LCD_LMS283GF05 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LCD_LTV350QV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LCD_ILI922X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LCD_ILI9320 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LCD_TDO24M policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LCD_VGG2432A4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LCD_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LCD_AMS369FG06 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LCD_LMS501KF03 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LCD_HX8357 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LCD_OTM3225A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Graphics support >> Bootup logo +CONFIG_LOGO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Device Drivers >> Graphics support >> Console display driver support +CONFIG_VGA_CONSOLE policy<{'amd64': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DUMMY_CONSOLE_COLUMNS policy<{'amd64': '80', 'arm64': '80', 'ppc64el': '80', 'riscv64': '80', 's390x': '80'}> +CONFIG_DUMMY_CONSOLE_ROWS policy<{'amd64': '25', 'arm64': '25', 'ppc64el': '25', 'riscv64': '25', 's390x': '25'}> + +# Menu: Device Drivers >> Graphics support >> Console display driver support >> Framebuffer Console support +CONFIG_FRAMEBUFFER_CONSOLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) +CONFIG_DRM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DRM_DP_AUX_CHARDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DRM_DEBUG_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DRM_FBDEV_EMULATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DRM_FBDEV_OVERALLOC policy<{'amd64': '100', 'arm64': '100', 'armhf': '100', 'ppc64el': '100', 'riscv64': '100', 's390x': '100'}> +CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DRM_LOAD_EDID_FIRMWARE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DRM_DP_CEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DRM_RADEON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_DRM_RADEON_USERPTR policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_DRM_KMB_DISPLAY policy<{'arm64': 'm'}> +CONFIG_DRM_VGEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_DRM_VKMS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_DRM_VMWGFX policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_DRM_VMWGFX_FBCON policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_DRM_VMWGFX_MKSSTATS policy<{'amd64': 'n'}> +CONFIG_DRM_GMA500 policy<{'amd64': 'm'}> +CONFIG_DRM_UDL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_DRM_AST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_DRM_MGAG200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_DRM_ARMADA policy<{'armhf': 'm'}> +CONFIG_DRM_ATMEL_HLCDC policy<{'armhf': 'm'}> +CONFIG_DRM_RCAR_DU policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DRM_RCAR_CMM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DRM_RCAR_DW_HDMI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_RCAR_LVDS policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '-'}> +CONFIG_DRM_RCAR_VSP policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_DRM_TILCDC policy<{'armhf': 'm'}> +CONFIG_DRM_QXL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_DRM_VIRTIO_GPU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DRM_FSL_DCU policy<{'armhf': 'm'}> +CONFIG_DRM_TEGRA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DRM_TEGRA_DEBUG policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_DRM_TEGRA_STAGING policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_DRM_STM policy<{'armhf': 'm'}> +CONFIG_DRM_STM_DSI policy<{'armhf': 'm'}> +CONFIG_DRM_STI policy<{'armhf': 'n'}> +CONFIG_DRM_IMX_DCSS policy<{'arm64': 'm'}> +CONFIG_DRM_VC4 policy<{'arm64': 'm'}> +CONFIG_DRM_VC4_HDMI_CEC policy<{'arm64': 'y'}> +CONFIG_DRM_ETNAVIV policy<{'amd64': 'n', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DRM_ETNAVIV_THERMAL policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_DRM_HISI_HIBMC policy<{'arm64': 'm'}> +CONFIG_DRM_HISI_KIRIN policy<{'arm64': 'm'}> +CONFIG_DRM_MEDIATEK policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DRM_MEDIATEK_HDMI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DRM_MESON policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DRM_MESON_DW_HDMI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DRM_ARCPGU policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_BOCHS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DRM_CIRRUS_QEMU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_DRM_GM12U320 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_DRM_SIMPLEDRM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_TINYDRM_HX8357D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TINYDRM_ILI9225 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TINYDRM_ILI9341 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TINYDRM_ILI9486 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TINYDRM_MI0283QT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TINYDRM_REPAPER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TINYDRM_ST7586 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TINYDRM_ST7735R policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_DRM_PL111 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DRM_TVE200 policy<{'armhf': 'm'}> +CONFIG_DRM_XEN_FRONTEND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': '-'}> +CONFIG_DRM_VBOXVIDEO policy<{'amd64': 'm'}> +CONFIG_DRM_LIMA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DRM_PANFROST policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DRM_ASPEED_GFX policy<{'armhf': 'm'}> +CONFIG_DRM_MCDE policy<{'armhf': 'm'}> +CONFIG_DRM_TIDSS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DRM_ZYNQMP_DPSUB policy<{'arm64': 'm'}> +CONFIG_DRM_GUD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_DRM_HYPERV policy<{'amd64': 'm', 'arm64': 'm'}> +# +CONFIG_DRM_MGAG200 note +CONFIG_DRM_STI note +CONFIG_DRM_VBOXVIDEO note flag +CONFIG_DRM_HISI_HIBMC mark note + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> AMD GPU +CONFIG_DRM_AMDGPU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_DRM_AMDGPU_SI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DRM_AMDGPU_CIK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DRM_AMDGPU_USERPTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_HSA_AMD policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y'}> +CONFIG_HSA_AMD_SVM policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y'}> +# +CONFIG_DRM_AMDGPU_CIK note +CONFIG_DRM_AMDGPU_CIK note note + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> AMD GPU >> ACP (Audio CoProcessor) Configuration +CONFIG_DRM_AMD_ACP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> AMD GPU >> Display Engine Configuration +CONFIG_DRM_AMD_DC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DRM_AMD_DC_HDCP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DRM_AMD_DC_SI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DEBUG_KERNEL_DC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> DRM Support for Allwinner A10 Display Engine +CONFIG_DRM_SUN4I policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_DRM_SUN4I_HDMI policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_DRM_SUN4I_HDMI_CEC policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_DRM_SUN4I_BACKEND policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_DRM_SUN6I_DSI policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_DRM_SUN8I_DW_HDMI policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_DRM_SUN8I_MIXER policy<{'arm64': 'm', 'armhf': '-'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> DRM Support for Freescale i.MX +CONFIG_DRM_IMX policy<{'armhf': 'm'}> +CONFIG_DRM_IMX_PARALLEL_DISPLAY policy<{'armhf': 'm'}> +CONFIG_DRM_IMX_TVE policy<{'armhf': 'm'}> +CONFIG_DRM_IMX_LDB policy<{'armhf': 'm'}> +CONFIG_DRM_IMX_HDMI policy<{'armhf': 'm'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> DRM Support for Rockchip +CONFIG_DRM_ROCKCHIP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ROCKCHIP_ANALOGIX_DP policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ROCKCHIP_CDN_DP policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ROCKCHIP_DW_HDMI policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ROCKCHIP_DW_MIPI_DSI policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ROCKCHIP_INNO_HDMI policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ROCKCHIP_LVDS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ROCKCHIP_RGB policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ROCKCHIP_RK3066_HDMI policy<{'arm64': 'y', 'armhf': 'y'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> DRM Support for Samsung SoC Exynos Series +CONFIG_DRM_EXYNOS policy<{'armhf': 'm'}> +CONFIG_DRM_EXYNOS_FIMD policy<{'armhf': 'n'}> +CONFIG_DRM_EXYNOS5433_DECON policy<{'armhf': 'y'}> +CONFIG_DRM_EXYNOS7_DECON policy<{'armhf': 'n'}> +CONFIG_DRM_EXYNOS_MIXER policy<{'armhf': 'y'}> +CONFIG_DRM_EXYNOS_VIDI policy<{'armhf': 'n'}> +CONFIG_DRM_EXYNOS_DSI policy<{'armhf': 'y'}> +CONFIG_DRM_EXYNOS_HDMI policy<{'armhf': 'y'}> +CONFIG_DRM_EXYNOS_MIC policy<{'armhf': 'y'}> +CONFIG_DRM_EXYNOS_FIMC policy<{'armhf': 'y'}> +CONFIG_DRM_EXYNOS_ROTATOR policy<{'armhf': 'y'}> +CONFIG_DRM_EXYNOS_SCALER policy<{'armhf': 'y'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> Display Interface Bridges +CONFIG_DRM_CDNS_DSI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_CHIPONE_ICN6211 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_CHRONTEL_CH7033 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_CROS_EC_ANX7688 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DRM_DISPLAY_CONNECTOR policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_LONTIUM_LT8912B policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_LONTIUM_LT9611 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_LONTIUM_LT9611UXC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_ITE_IT66121 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_LVDS_CODEC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_NWL_MIPI_DSI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_NXP_PTN3460 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PARADE_PS8622 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PARADE_PS8640 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_SIL_SII8620 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_SII902X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_SII9234 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_SIMPLE_BRIDGE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_THINE_THC63LVD1024 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_TOSHIBA_TC358762 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_TOSHIBA_TC358764 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_TOSHIBA_TC358767 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_TOSHIBA_TC358768 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_TOSHIBA_TC358775 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_TI_TFP410 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_TI_SN65DSI83 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_TI_SN65DSI86 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_TI_TPD12S015 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_ANALOGIX_ANX6345 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_ANALOGIX_ANX78XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_DRM_ANALOGIX_ANX7625 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_I2C_ADV7511 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_I2C_ADV7511_AUDIO policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DRM_I2C_ADV7511_CEC policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DRM_CDNS_MHDP8546 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_CDNS_MHDP8546_J721E policy<{'arm64': 'y'}> +CONFIG_DRM_DW_HDMI_AHB_AUDIO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_DW_HDMI_I2S_AUDIO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_DW_HDMI_CEC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> Display Panels +CONFIG_DRM_PANEL_ABT_Y030XX067A policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_ARM_VERSATILE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_BOE_HIMAX8279D policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_DSI_CM policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_LVDS policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SIMPLE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_ELIDA_KD35T133 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_ILITEK_IL9322 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_ILITEK_ILI9341 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_ILITEK_ILI9881C policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_INNOLUX_EJ030NA policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_INNOLUX_P079ZCA policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_JDI_LT070ME05000 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_KHADAS_TS050 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_LD9040 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_LG_LB035Q02 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_LG_LG4573 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_NEC_NL8048HL11 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_NOVATEK_NT35510 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_NOVATEK_NT36672A policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_NOVATEK_NT39016 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_ORISETECH_OTM8009A policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_RAYDIUM_RM67191 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_RAYDIUM_RM68200 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_RONBO_RB070D30 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_DB7430 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E63M0_SPI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E63M0_DSI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SAMSUNG_SOFEF00 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SEIKO_43WVF1G policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SHARP_LS037V7DW01 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SHARP_LS043T1LE01 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SITRONIX_ST7701 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SITRONIX_ST7703 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SITRONIX_ST7789V policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_SONY_ACX565AKM policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_TDO_TL070WSH30 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_TPO_TD028TTEC1 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_TPO_TD043MTEA1 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_TPO_TPG110 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_VISIONOX_RM69299 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DRM_PANEL_WIDECHIPS_WS2401 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_DRM_PANEL_XINPENG_XPP055C272 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> Enable legacy drivers (DANGEROUS) +CONFIG_DRM_LEGACY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_DRM_LEGACY flag note + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> I2C encoder or helper chips +CONFIG_DRM_I2C_CH7006 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_DRM_I2C_SIL164 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_DRM_I2C_NXP_TDA998X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_DRM_I2C_NXP_TDA9950 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> Intel 8xx/9xx/G3x/G4x/HD Graphics +CONFIG_DRM_I915 policy<{'amd64': 'm'}> +CONFIG_DRM_I915_FORCE_PROBE policy<{'amd64': '""'}> +CONFIG_DRM_I915_CAPTURE_ERROR policy<{'amd64': 'y'}> +CONFIG_DRM_I915_COMPRESS_ERROR policy<{'amd64': 'y'}> +CONFIG_DRM_I915_USERPTR policy<{'amd64': 'y'}> +CONFIG_DRM_I915_GVT policy<{'amd64': 'y'}> +CONFIG_DRM_I915_GVT_KVMGT policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> Intel 8xx/9xx/G3x/G4x/HD Graphics >> drm/i915 Debugging +CONFIG_DRM_I915_WERROR policy<{'amd64': 'n'}> +CONFIG_DRM_I915_DEBUG policy<{'amd64': 'n'}> +CONFIG_DRM_I915_DEBUG_MMIO policy<{'amd64': 'n'}> +CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS policy<{'amd64': 'n'}> +CONFIG_DRM_I915_SW_FENCE_CHECK_DAG policy<{'amd64': 'n'}> +CONFIG_DRM_I915_DEBUG_GUC policy<{'amd64': 'n'}> +CONFIG_DRM_I915_SELFTEST policy<{'amd64': 'n'}> +CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS policy<{'amd64': 'n'}> +CONFIG_DRM_I915_DEBUG_VBLANK_EVADE policy<{'amd64': 'n'}> +CONFIG_DRM_I915_DEBUG_RUNTIME_PM policy<{'amd64': 'n'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> Intel 8xx/9xx/G3x/G4x/HD Graphics >> drm/i915 Debugging >> Insert extra checks into the GEM internals + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> Intel 8xx/9xx/G3x/G4x/HD Graphics >> drm/i915 Profile Guided Optimisation +CONFIG_DRM_I915_REQUEST_TIMEOUT policy<{'amd64': '20000'}> +CONFIG_DRM_I915_FENCE_TIMEOUT policy<{'amd64': '10000'}> +CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND policy<{'amd64': '250'}> +CONFIG_DRM_I915_HEARTBEAT_INTERVAL policy<{'amd64': '2500'}> +CONFIG_DRM_I915_PREEMPT_TIMEOUT policy<{'amd64': '640'}> +CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT policy<{'amd64': '8000'}> +CONFIG_DRM_I915_STOP_TIMEOUT policy<{'amd64': '100'}> +CONFIG_DRM_I915_TIMESLICE_DURATION policy<{'amd64': '1'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> Intel 8xx/9xx/G3x/G4x/HD Graphics >> drm/i915 Unstable Evolution + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> MSM DRM +CONFIG_DRM_MSM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DRM_MSM_GPU_SUDO policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_DRM_MSM_HDMI_HDCP policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_DRM_MSM_DP policy<{'arm64': 'y', 'armhf': 'y'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> MSM DRM >> Enable DSI support in MSM DRM driver +CONFIG_DRM_MSM_DSI policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_DRM_MSM_DSI_28NM_PHY policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_DRM_MSM_DSI_20NM_PHY policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_DRM_MSM_DSI_28NM_8960_PHY policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_DRM_MSM_DSI_14NM_PHY policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_DRM_MSM_DSI_10NM_PHY policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_DRM_MSM_DSI_7NM_PHY policy<{'arm64': 'y', 'armhf': 'y'}> + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> Nouveau (NVIDIA) cards +CONFIG_DRM_NOUVEAU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_NOUVEAU_PLATFORM_DRIVER policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_NOUVEAU_DEBUG policy<{'amd64': '5', 'arm64': '5', 'armhf': '5', 'ppc64el': '5', 'riscv64': '5'}> +CONFIG_NOUVEAU_DEBUG_DEFAULT policy<{'amd64': '3', 'arm64': '3', 'armhf': '3', 'ppc64el': '3', 'riscv64': '3'}> +CONFIG_NOUVEAU_DEBUG_MMU policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_NOUVEAU_DEBUG_PUSH policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_DRM_NOUVEAU_BACKLIGHT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DRM_NOUVEAU_SVM policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n'}> +# +CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT flag note +CONFIG_DRM_NOUVEAU_SVM flag + +# Menu: Device Drivers >> Graphics support >> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) >> OMAP DRM +CONFIG_DRM_OMAP policy<{'armhf': 'n'}> + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Marvell MMP Display Subsystem support + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices +CONFIG_FB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FIRMWARE_EDID policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FB_MODE_HELPERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FB_TILEBLITTING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_FB_CIRRUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_PM2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_PM2_FIFO_DISCONNECT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FB_ARMCLCD policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_FB_IMX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_FB_CYBER2000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_CYBER2000_DDC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FB_ARC policy<{'amd64': 'm'}> +CONFIG_FB_OF policy<{'ppc64el': 'y'}> +CONFIG_FB_ASILIANT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_FB_IMSTT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_FB_VGA16 policy<{'amd64': 'm', 'ppc64el': 'm'}> +CONFIG_FB_UVESA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_VESA policy<{'amd64': 'y'}> +CONFIG_FB_EFI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'riscv64': 'y'}> +CONFIG_FB_N411 policy<{'amd64': 'm'}> +CONFIG_FB_HGA policy<{'amd64': 'm'}> +CONFIG_FB_OPENCORES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_S1D13XXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_I740 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_LE80578 policy<{'amd64': 'm'}> +CONFIG_FB_CARILLO_RANCH policy<{'amd64': 'm'}> +CONFIG_FB_INTEL policy<{'amd64': 'm'}> +CONFIG_FB_INTEL_DEBUG policy<{'amd64': 'n'}> +CONFIG_FB_INTEL_I2C policy<{'amd64': 'y'}> +CONFIG_FB_ATY128 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_ATY128_BACKLIGHT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FB_S3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_S3_DDC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FB_SAVAGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_SAVAGE_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FB_SAVAGE_ACCEL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_FB_SIS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_SIS_300 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FB_SIS_315 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FB_VIA policy<{'amd64': 'm'}> +CONFIG_FB_VIA_DIRECT_PROCFS policy<{'amd64': 'n'}> +CONFIG_FB_VIA_X_COMPATIBILITY policy<{'amd64': 'y'}> +CONFIG_FB_NEOMAGIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_KYRO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_3DFX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_3DFX_ACCEL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_FB_3DFX_I2C policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_FB_VOODOO1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_VT8623 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_TRIDENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_ARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_PM3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_CARMINE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_SH_MOBILE_LCDC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_FB_TMIO policy<{'armhf': 'm'}> +CONFIG_FB_TMIO_ACCELL policy<{'armhf': 'y'}> +CONFIG_FB_SM501 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_SMSCUFX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_FB_UDL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_FB_IBM_GXT4500 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'y', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_FB_XILINX policy<{'arm64': 'm'}> +CONFIG_FB_GOLDFISH policy<{'riscv64': 'm'}> +CONFIG_FB_DA8XX policy<{'armhf-generic': 'm'}> +CONFIG_FB_VIRTUAL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_XEN_FBDEV_FRONTEND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': '-'}> +CONFIG_FB_METRONOME policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_MB862XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_MB862XX_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FB_MX3 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_FB_HYPERV policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_FB_SIMPLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_SSD1307 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_SM712 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +# +CONFIG_FB_VIRTUAL flag + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> AMD Geode family framebuffer support + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> ATI Mach64 display support +CONFIG_FB_ATY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_ATY_CT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FB_ATY_GENERIC_LCD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_FB_ATY_GX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FB_ATY_BACKLIGHT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> ATI Radeon display support +CONFIG_FB_RADEON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_RADEON_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FB_RADEON_BACKLIGHT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FB_RADEON_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> Amiga native chipset support + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> DRAM timing +CONFIG_FB_CARMINE_DRAM_EVAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CARMINE_DRAM_CUSTOM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> Framebuffer foreign endianness support +CONFIG_FB_FOREIGN_ENDIAN policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> Framebuffer foreign endianness support >> Choice endianness support + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> GDC variant +CONFIG_FB_MB862XX_PCI_GDC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FB_MB862XX_LIME policy<{'ppc64el': 'n'}> + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> Matrox acceleration +CONFIG_FB_MATROX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_MATROX_MILLENIUM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FB_MATROX_MYSTIQUE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FB_MATROX_G policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FB_MATROX_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_MATROX_MAVEN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> OMAP frame buffer support + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> OMAP2+ frame buffer support +CONFIG_FB_OMAP2 policy<{'armhf': 'm'}> +CONFIG_FB_OMAP2_DEBUG_SUPPORT policy<{'armhf': 'n'}> +CONFIG_FB_OMAP2_NUM_FBS policy<{'armhf': '3'}> +CONFIG_FB_OMAP2_DSS_DEBUG policy<{'armhf': 'n'}> +CONFIG_FB_OMAP2_DSS_DEBUGFS policy<{'armhf': 'n'}> +CONFIG_FB_OMAP2_DSS_DPI policy<{'armhf': 'y'}> +CONFIG_FB_OMAP2_DSS_VENC policy<{'armhf': 'y'}> +CONFIG_FB_OMAP4_DSS_HDMI policy<{'armhf': 'y'}> +CONFIG_FB_OMAP5_DSS_HDMI policy<{'armhf': 'n'}> +CONFIG_FB_OMAP2_DSS_SDI policy<{'armhf': 'n'}> +CONFIG_FB_OMAP2_DSS_DSI policy<{'armhf': 'n'}> +CONFIG_FB_OMAP2_DSS_MIN_FCK_PER_PCK policy<{'armhf': '0'}> +CONFIG_FB_OMAP2_DSS_SLEEP_AFTER_VENC_RESET policy<{'armhf': 'y'}> + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> OMAP2+ frame buffer support >> OMAPFB Panel and Encoder Drivers +CONFIG_FB_OMAP2_ENCODER_OPA362 policy<{'armhf': 'n'}> +CONFIG_FB_OMAP2_ENCODER_TFP410 policy<{'armhf': 'n'}> +CONFIG_FB_OMAP2_ENCODER_TPD12S015 policy<{'armhf': 'n'}> +CONFIG_FB_OMAP2_CONNECTOR_DVI policy<{'armhf': 'n'}> +CONFIG_FB_OMAP2_CONNECTOR_HDMI policy<{'armhf': 'n'}> +CONFIG_FB_OMAP2_CONNECTOR_ANALOG_TV policy<{'armhf': 'n'}> +CONFIG_FB_OMAP2_PANEL_DPI policy<{'armhf': 'n'}> +CONFIG_FB_OMAP2_PANEL_LGPHILIPS_LB035Q02 policy<{'armhf': 'n'}> + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> PXA LCD framebuffer support + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> SBUS and UPA framebuffers + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> nVidia Framebuffer Support +CONFIG_FB_NVIDIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_NVIDIA_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FB_NVIDIA_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_FB_NVIDIA_BACKLIGHT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Graphics support >> Frame buffer Devices >> Support for frame buffer devices >> nVidia Riva support +CONFIG_FB_RIVA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FB_RIVA_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FB_RIVA_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_FB_RIVA_BACKLIGHT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Greybus support +CONFIG_GREYBUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_GREYBUS_ES2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> HDMI CEC drivers +CONFIG_MEDIA_CEC_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_CEC_CH7322 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CEC_CROS_EC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_CEC_MESON_AO policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CEC_MESON_G12A_AO policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CEC_GPIO policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_CEC_SAMSUNG_S5P policy<{'armhf': 'n'}> +CONFIG_CEC_TEGRA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CEC_SECO policy<{'amd64': 'm'}> +CONFIG_CEC_SECO_RC policy<{'amd64': 'y'}> +CONFIG_USB_PULSE8_CEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_RAINSHADOW_CEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> HID support + +# Menu: Device Drivers >> HID support >> HID bus support +CONFIG_HID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_HID_BATTERY_STRENGTH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_HIDRAW policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_UHID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_GENERIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> HID support >> HID bus support >> AMD SFH HID Support +CONFIG_AMD_SFH_HID policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> HID support >> HID bus support >> Special HID drivers +CONFIG_HID_A4TECH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_ACCUTOUCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_ACRUX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_ACRUX_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_HID_APPLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_APPLEIR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_ASUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_AUREAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_BELKIN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_BETOP_FF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_BIGBEN_FF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_CHERRY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_CHICONY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_CORSAIR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_COUGAR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_MACALLY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_PRODIKEYS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_CMEDIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_CP2112 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_CREATIVE_SB0540 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_CYPRESS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_DRAGONRISE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_DRAGONRISE_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_HID_EMS_FF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_ELAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_ELECOM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_ELO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_EZKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_FT260 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_GEMBIRD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_GFRM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_GLORIOUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_HOLTEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HOLTEK_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_HID_GOOGLE_HAMMER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_HID_VIVALDI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_GT683R policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_KEYTOUCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_KYE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_UCLOGIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_WALTOP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_VIEWSONIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_GYRATION policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_ICADE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_ITE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_JABRA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_TWINHAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_KENSINGTON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_LCPOWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_LED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_LENOVO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_MAGICMOUSE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_MALTRON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_MAYFLASH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_REDRAGON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_MICROSOFT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_MONTEREY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_MULTITOUCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_NTI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_NTRIG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_ORTEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_PANTHERLORD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PANTHERLORD_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_HID_PENMOUNT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_PETALYNX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_PLANTRONICS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_PLAYSTATION policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PLAYSTATION_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_HID_PRIMAX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_RETRODE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_ROCCAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_SAITEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_SAMSUNG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_SEMITEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_SONY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SONY_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_HID_SPEEDLINK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_STEAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_STEELSERIES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_SUNPLUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_RMI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_GREENASIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_GREENASIA_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_HID_HYPERV_MOUSE policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_HID_SMARTJOYPLUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SMARTJOYPLUS_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_HID_TIVO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_TOPSEED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_THINGM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_THRUSTMASTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_THRUSTMASTER_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_HID_UDRAW_PS3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_U2FZERO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_WACOM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_WIIMOTE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_XINMO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_ZEROPLUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_ZEROPLUS_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_HID_ZYDACRON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_SENSOR_HUB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_SENSOR_CUSTOM_SENSOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_ALPS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_MCP2221 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> HID support >> HID bus support >> Special HID drivers >> Logitech devices +CONFIG_HID_LOGITECH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_LOGITECH_DJ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_LOGITECH_HIDPP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LOGITECH_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_LOGIRUMBLEPAD2_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_LOGIG940_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_LOGIWHEELS_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> HID support >> HID bus support >> Special HID drivers >> PicoLCD (graphic version) +CONFIG_HID_PICOLCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_PICOLCD_FB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_HID_PICOLCD_BACKLIGHT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_HID_PICOLCD_LCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_HID_PICOLCD_LEDS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_HID_PICOLCD_CIR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> HID support >> I2C HID support +CONFIG_I2C_HID_ACPI policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_I2C_HID_OF policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_I2C_HID_OF_GOODIX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> HID support >> Intel ISH HID support +CONFIG_INTEL_ISH_HID policy<{'amd64': 'm'}> +CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> HID support >> Surface System Aggregator Module HID support +CONFIG_SURFACE_HID policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_SURFACE_KBD policy<{'amd64': 'm', 'arm64': 'm'}> + +# Menu: Device Drivers >> HID support >> USB HID support +CONFIG_USB_HID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HID_PID policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_HIDDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> HID support >> USB HID support >> USB HID Boot Protocol drivers +CONFIG_USB_KBD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_MOUSE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> HSI support +CONFIG_HSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_OMAP_SSI policy<{'armhf-generic': 'm'}> +CONFIG_NOKIA_MODEM policy<{'armhf-generic': 'm'}> +CONFIG_CMT_SPEECH policy<{'armhf-generic': 'm'}> +CONFIG_SSI_PROTOCOL policy<{'armhf-generic': 'm'}> +CONFIG_HSI_CHAR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> HW tracing support + +# Menu: Device Drivers >> HW tracing support >> Intel(R) Trace Hub controller +CONFIG_INTEL_TH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INTEL_TH_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INTEL_TH_ACPI policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_INTEL_TH_GTH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INTEL_TH_STH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INTEL_TH_MSU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INTEL_TH_PTI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INTEL_TH_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Device Drivers >> HW tracing support >> System Trace Module devices +CONFIG_STM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_STM_PROTO_BASIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_STM_PROTO_SYS_T policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_STM_DUMMY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_STM_SOURCE_CONSOLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_STM_SOURCE_HEARTBEAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_STM_SOURCE_FTRACE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> Hardware Monitoring support +CONFIG_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_HWMON_DEBUG_CHIP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_SENSORS_AAEON policy<{'amd64': 'm'}> +CONFIG_SENSORS_ABITUGURU policy<{'amd64': 'm'}> +CONFIG_SENSORS_ABITUGURU3 policy<{'amd64': 'm'}> +CONFIG_SENSORS_AD7314 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_AD7414 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_AD7418 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ADM1021 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ADM1025 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ADM1026 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ADM1029 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ADM1031 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ADM1177 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ADM9240 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ADT7310 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ADT7410 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ADT7411 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ADT7462 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ADT7470 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ADT7475 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_AHT10 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_AQUACOMPUTER_D5NEXT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_AS370 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ASC7621 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_AXI_FAN_CONTROL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_K8TEMP policy<{'amd64': 'm'}> +CONFIG_SENSORS_K10TEMP policy<{'amd64': 'm'}> +CONFIG_SENSORS_FAM15H_POWER policy<{'amd64': 'm'}> +CONFIG_SENSORS_APPLESMC policy<{'amd64': 'm'}> +CONFIG_SENSORS_ARM_SCMI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_ARM_SCPI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_ASB100 policy<{'amd64': 'm'}> +CONFIG_SENSORS_ASPEED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ATXP1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_CORSAIR_CPRO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_CORSAIR_PSU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_DRIVETEMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_DS620 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_DS1621 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_DELL_SMM policy<{'amd64': 'm'}> +CONFIG_SENSORS_DA9052_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_DA9055 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_I5K_AMB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_SPARX5 policy<{'arm64': 'm'}> +CONFIG_SENSORS_F71805F policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_F71882FG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_F75375S policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_GSC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_MC13783_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_FSCHMD policy<{'amd64': 'm'}> +CONFIG_SENSORS_FTSTEUTATES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_GL518SM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_GL520SM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_G760A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_G762 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_GPIO_FAN policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_HIH6130 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_IBMAEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_IBMPEX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_IBMPOWERNV policy<{'ppc64el': 'm'}> +CONFIG_SENSORS_IIO_HWMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_I5500 policy<{'amd64': 'm'}> +CONFIG_SENSORS_CORETEMP policy<{'amd64': 'm'}> +CONFIG_SENSORS_IT87 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_JC42 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_POWR1220 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LINEAGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LOCHNAGAR policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_LTC2945 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LTC2947_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LTC2947_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LTC2990 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LTC2992 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LTC4151 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LTC4215 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LTC4222 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LTC4245 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LTC4260 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LTC4261 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_MAX1111 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_MAX127 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_MAX16065 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_MAX1619 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_MAX1668 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_MAX197 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_MAX31722 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_MAX31730 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_MAX6621 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_MAX6639 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_MAX6642 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_MAX6650 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_MAX6697 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_MAX31790 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_MCP3021 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_MLXREG_FAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_TC654 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_TPS23861 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_MENF21BMC_HWMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_MR75203 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ADCXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LM63 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LM70 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LM73 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LM75 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LM77 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LM78 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LM80 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LM83 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LM85 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LM87 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LM90 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LM92 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LM93 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LM95234 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LM95241 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LM95245 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_PC87360 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_PC87427 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_NTC_THERMISTOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_NCT6683 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_NCT6775 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_NCT7802 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_NCT7904 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_NPCM7XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_NZXT_KRAKEN2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_OCC_P8_I2C policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_SENSORS_OCC_P9_SBE policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_SENSORS_PCF8591 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_PWM_FAN policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_RASPBERRYPI_HWMON policy<{'arm64': 'm'}> +CONFIG_SENSORS_SL28CPLD policy<{'arm64': 'm'}> +CONFIG_SENSORS_SBTSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_SBRMI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_SHT15 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_SHT21 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_SHT3x policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_SHT4x policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_SHTC1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_SIS5595 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_DME1737 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_EMC1403 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_EMC2103 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_EMC6W201 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_SMSC47M1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_SMSC47M192 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_SMSC47B397 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_SCH5627 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_SCH5636 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_STTS751 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_SMM665 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ADC128D818 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ADS7828 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_ADS7871 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_AMC6821 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_INA209 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_INA2XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_INA3221 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_TC74 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_THMC50 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_TMP102 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_TMP103 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_TMP108 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_TMP401 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_TMP421 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_TMP513 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_VEXPRESS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SENSORS_VIA_CPUTEMP policy<{'amd64': 'm'}> +CONFIG_SENSORS_VIA686A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_VT1211 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_VT8231 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_W83773G policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_W83781D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_W83791D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_W83792D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_W83793 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_W83795 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_W83795_FANCTRL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_SENSORS_W83L785TS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_W83L786NG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_W83627HF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_W83627EHF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_WM831X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_WM8350 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_XGENE policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_SENSORS_INTEL_M10_BMC_HWMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_ACPI_POWER policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_SENSORS_ATK0110 policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Hardware Monitoring support >> PMBus support +CONFIG_PMBUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_PMBUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_ADM1266 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_ADM1275 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_BEL_PFE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_BPA_RS600 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_FSP_3Y policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_IBM_CFFPS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_DPS920AB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_INSPUR_IPSPS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_IR35221 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_IR36021 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_IR38064 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_IRPS5401 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_ISL68137 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_LM25066 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_LTC2978 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_LTC2978_REGULATOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SENSORS_LTC3815 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_MAX15301 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_MAX16064 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_MAX16601 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_MAX20730 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_MAX20751 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_MAX31785 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_MAX34440 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_MAX8688 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_MP2888 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_MP2975 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_PIM4328 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_PM6764TR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_PXE1610 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_Q54SJ108A2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'n', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_STPDDC60 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_TPS40422 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_TPS53679 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_UCD9000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_UCD9200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_XDPE122 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_ZL6100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Hardware Spinlock drivers +CONFIG_HWSPINLOCK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_HWSPINLOCK_OMAP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HWSPINLOCK_QCOM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HWSPINLOCK_SPRD policy<{'arm64': 'm'}> +CONFIG_HWSPINLOCK_SUN6I policy<{'arm64': 'm', 'armhf': '-'}> + +# Menu: Device Drivers >> I2C support + +# Menu: Device Drivers >> I2C support >> I2C support +CONFIG_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'm'}> +CONFIG_ACPI_I2C_OPREGION policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_I2C_COMPAT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_I2C_CHARDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'm'}> +CONFIG_I2C_MUX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_I2C_HELPER_AUTO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_I2C_SMBUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_I2C_STUB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_I2C_SLAVE policy<{'amd64': 'n', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_I2C_SLAVE_EEPROM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_SLAVE_TESTUNIT policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_I2C_DEBUG_CORE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_I2C_DEBUG_ALGO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_I2C_DEBUG_BUS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_I2C_CHARDEV note + +# Menu: Device Drivers >> I2C support >> I2C support >> I2C Algorithms +CONFIG_I2C_ALGOBIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_I2C_ALGOPCA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> I2C support >> I2C support >> I2C Hardware Bus support +CONFIG_I2C_ALI1535 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_ALI1563 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_ALI15X3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_AMD756 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_AMD756_S4882 policy<{'amd64': 'm'}> +CONFIG_I2C_AMD8111 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_AMD_MP2 policy<{'amd64': 'm', 'arm64': 'n'}> +CONFIG_I2C_HIX5HD2 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_I801 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_ISCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_ISMT policy<{'amd64': 'm'}> +CONFIG_I2C_PIIX4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_CHT_WC policy<{'amd64': 'm'}> +CONFIG_I2C_NFORCE2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_NFORCE2_S4985 policy<{'amd64': 'm'}> +CONFIG_I2C_NVIDIA_GPU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_SIS5595 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_SIS630 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_SIS96X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_VIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_VIAPRO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_SCMI policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_I2C_ALTERA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_ASPEED policy<{'armhf': 'm'}> +CONFIG_I2C_AXXIA policy<{'armhf-generic-lpae': 'm'}> +CONFIG_I2C_BCM2835 policy<{'arm64': 'm'}> +CONFIG_I2C_BCM_IPROC policy<{'arm64': 'm'}> +CONFIG_I2C_BRCMSTB policy<{'arm64': 'm'}> +CONFIG_I2C_CADENCE policy<{'arm64': 'n'}> +CONFIG_I2C_CBUS_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_DESIGNWARE_SLAVE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_I2C_DESIGNWARE_PLATFORM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_I2C_DESIGNWARE_BAYTRAIL policy<{'amd64': 'y'}> +CONFIG_I2C_DESIGNWARE_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_EMEV2 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_I2C_EXYNOS5 policy<{'armhf': 'n'}> +CONFIG_I2C_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_GPIO_FAULT_INJECTOR policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_I2C_HISI policy<{'arm64': 'm'}> +CONFIG_I2C_IMX policy<{'arm64': 'm', 'armhf': 'y'}> +CONFIG_I2C_IMX_LPI2C policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_KEMPLD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_I2C_MLXBF policy<{'arm64': 'm'}> +CONFIG_I2C_MESON policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_MPC policy<{'ppc64el': 'm'}> +CONFIG_I2C_MT65XX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_MV64XXX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_NOMADIK policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_NPCM7XX policy<{'armhf': 'm'}> +CONFIG_I2C_OCORES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_OMAP policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_I2C_OWL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_PCA_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_PXA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_PXA_SLAVE policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_I2C_QCOM_CCI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_QCOM_GENI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_QUP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_RIIC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_RK3X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_I2C_S3C2410 policy<{'armhf': 'n'}> +CONFIG_I2C_SH_MOBILE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_SIMTEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_SPRD policy<{'arm64': 'y'}> +CONFIG_I2C_SYNQUACER policy<{'arm64': 'm'}> +CONFIG_I2C_TEGRA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_TEGRA_BPMP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_UNIPHIER policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_I2C_UNIPHIER_F policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_I2C_VERSATILE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_THUNDERX policy<{'arm64': 'm'}> +CONFIG_I2C_XILINX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_XLP9XX policy<{'arm64': 'm'}> +CONFIG_I2C_RCAR policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_DIOLAN_U2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_I2C_DLN2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_I2C_CP2615 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_I2C_PARPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_I2C_ROBOTFUZZ_OSIF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_I2C_TAOS_EVM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_TINY_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_I2C_VIPERBOARD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_I2C_MLXCPLD policy<{'amd64': 'm'}> +CONFIG_I2C_CROS_EC_TUNNEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_I2C_XGENE_SLIMPRO policy<{'arm64': 'm'}> +CONFIG_I2C_OPAL policy<{'ppc64el': 'y'}> +CONFIG_I2C_FSI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_I2C_VIRTIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> I2C support >> I2C support >> Multiplexer I2C Chip support +CONFIG_I2C_ARB_GPIO_CHALLENGE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_I2C_MUX_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_MUX_GPMUX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_I2C_MUX_LTC4306 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_MUX_PCA9541 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_MUX_PCA954x policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_MUX_PINCTRL policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_I2C_MUX_REG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_I2C_DEMUX_PINCTRL policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_I2C_MUX_MLXCPLD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> I3C support +CONFIG_I3C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_CDNS_I3C_MASTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DW_I3C_MASTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SVC_I3C_MASTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MIPI_I3C_HCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> IEEE 1394 (FireWire) support +CONFIG_FIREWIRE_NOSY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> IEEE 1394 (FireWire) support >> FireWire driver stack +CONFIG_FIREWIRE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FIREWIRE_OHCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FIREWIRE_SBP2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FIREWIRE_NET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> IOMMU Hardware Support +CONFIG_IOMMU_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IOMMU_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_MSM_IOMMU policy<{'armhf': 'n'}> +CONFIG_AMD_IOMMU policy<{'amd64': 'y'}> +CONFIG_AMD_IOMMU_V2 policy<{'amd64': 'm'}> +CONFIG_IRQ_REMAP policy<{'amd64': 'y'}> +CONFIG_OMAP_IOMMU policy<{'armhf': 'y'}> +CONFIG_OMAP_IOMMU_DEBUG policy<{'armhf': 'n'}> +CONFIG_ROCKCHIP_IOMMU policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SUN50I_IOMMU policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_TEGRA_IOMMU_GART policy<{'armhf': 'y'}> +CONFIG_TEGRA_IOMMU_SMMU policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_EXYNOS_IOMMU policy<{'armhf': 'n'}> +CONFIG_EXYNOS_IOMMU_DEBUG policy<{'armhf': '-'}> +CONFIG_IPMMU_VMSA policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_SPAPR_TCE_IOMMU policy<{'ppc64el': 'y'}> +CONFIG_APPLE_DART policy<{'arm64': 'm'}> +CONFIG_ARM_SMMU policy<{'arm64': 'y', 'armhf': 'n'}> +CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS policy<{'arm64': 'n', 'armhf': '-'}> +CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT policy<{'arm64': 'n', 'armhf': '-'}> +CONFIG_ARM_SMMU_V3 policy<{'arm64': 'y'}> +CONFIG_ARM_SMMU_V3_SVA policy<{'arm64': 'y'}> +CONFIG_S390_CCW_IOMMU policy<{'s390x': 'y'}> +CONFIG_S390_AP_IOMMU policy<{'s390x': 'y'}> +CONFIG_MTK_IOMMU policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_MTK_IOMMU_V1 policy<{'armhf': 'n'}> +CONFIG_QCOM_IOMMU policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_HYPERV_IOMMU policy<{'amd64': 'y'}> +CONFIG_VIRTIO_IOMMU policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_SPRD_IOMMU policy<{'arm64': 'm'}> +# +CONFIG_IPMMU_VMSA note +CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT mark note +CONFIG_IOMMU_DEBUGFS mark note note + +# Menu: Device Drivers >> IOMMU Hardware Support >> Generic IOMMU Pagetable Support +CONFIG_IOMMU_IO_PGTABLE_LPAE policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_IOMMU_IO_PGTABLE_ARMV7S policy<{'arm64': 'n', 'armhf': 'n'}> + +# Menu: Device Drivers >> IOMMU Hardware Support >> IOMMU default domain type +CONFIG_IOMMU_DEFAULT_DMA_STRICT policy<{'amd64': 'n', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IOMMU_DEFAULT_DMA_LAZY policy<{'amd64': 'y', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_IOMMU_DEFAULT_PASSTHROUGH policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Device Drivers >> IOMMU Hardware Support >> Support for Intel IOMMU using DMA Remapping Devices +CONFIG_INTEL_IOMMU policy<{'amd64': 'y'}> +CONFIG_INTEL_IOMMU_SVM policy<{'amd64': 'y'}> +CONFIG_INTEL_IOMMU_DEFAULT_ON policy<{'amd64': 'n'}> +CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON policy<{'amd64': 'n'}> +# +CONFIG_INTEL_IOMMU_DEFAULT_ON note flag + +# Menu: Device Drivers >> IRQ chip support +CONFIG_AL_FIC policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RENESAS_INTC_IRQPIN policy<{'armhf': 'y'}> +CONFIG_RENESAS_IRQC policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_RENESAS_RZA1_IRQC policy<{'armhf': 'y'}> +CONFIG_TS4800_IRQ policy<{'armhf': 'm'}> +CONFIG_QCOM_IRQ_COMBINER policy<{'arm64': 'y'}> +CONFIG_IRQ_UNIPHIER_AIDET policy<{'armhf-generic': 'y', 'armhf-generic-lpae': '-'}> +CONFIG_MESON_IRQ_GPIO policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_QCOM_PDC policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_IMX_IRQSTEER policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_IMX_INTMUX policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_RISCV_INTC policy<{'riscv64': 'y'}> +CONFIG_SIFIVE_PLIC policy<{'riscv64': 'y'}> +CONFIG_EXYNOS_IRQ_COMBINER policy<{'armhf': 'y'}> +CONFIG_MST_IRQ policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_APPLE_AIC policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> ISDN support +CONFIG_ISDN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> ISDN support >> Modular ISDN driver +CONFIG_MISDN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MISDN_DSP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MISDN_L1OIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MISDN_HFCPCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MISDN_HFCMULTI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MISDN_HFCUSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MISDN_AVMFRITZ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MISDN_SPEEDFAX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MISDN_INFINEON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MISDN_W6692 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MISDN_NETJET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support +CONFIG_IIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_IIO_CONFIGFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_TRIGGER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_IIO_CONSUMERS_PER_TRIGGER policy<{'amd64': '2', 'arm64': '2', 'armhf': '2', 'ppc64el': '2', 'riscv64': '2'}> +CONFIG_IIO_SW_DEVICE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_SW_TRIGGER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_TRIGGERED_EVENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_CROS_EC_SENSORS_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_IIO_CROS_EC_SENSORS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_IIO_CROS_EC_SENSORS_LID_ANGLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Accelerometers +CONFIG_ADIS16201 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADIS16209 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADXL372_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADXL372_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BMA220 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BMA400 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BMC150_ACCEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BMI088_ACCEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DA280 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DA311 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DMARD06 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DMARD09 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DMARD10 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FXLS8962AF_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FXLS8962AF_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_SENSOR_ACCEL_3D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_CROS_EC_ACCEL_LEGACY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_IIO_ST_ACCEL_3AXIS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_KXSD9 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_KXSD9_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_KXSD9_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_KXCJK1013 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MC3230 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMA7455_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMA7455_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMA7660 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMA8452 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMA9551 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMA9553 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MXC4005 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MXC6255 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SCA3000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SCA3300 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_STK8312 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_STK8BA50 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Amplifiers +CONFIG_AD8366 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HMC425 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Analog Front Ends +CONFIG_IIO_RESCALE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Analog to digital converters +CONFIG_AD7091R5 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7124 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7192 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7266 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7291 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7292 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7298 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7476 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7606_IFACE_PARALLEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7606_IFACE_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7766 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7768_1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7780 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7791 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7793 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7887 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7923 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7949 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD799X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD9467 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADI_AXI_ADC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ASPEED_ADC policy<{'armhf': 'm'}> +CONFIG_AXP20X_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AXP288_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BCM_IPROC_ADC policy<{'arm64': 'm'}> +CONFIG_BERLIN2_ADC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CC10001_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CPCAP_ADC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DA9150_GPADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DLN2_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ENVELOPE_DETECTOR policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_EXYNOS_ADC policy<{'armhf': 'n'}> +CONFIG_HI8435 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HX711 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INA2XX_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INTEL_MRFLD_ADC policy<{'amd64': 'm'}> +CONFIG_IMX7D_ADC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_LP8788_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LTC2471 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LTC2485 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LTC2496 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LTC2497 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAX1027 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAX11100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAX1118 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAX1241 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAX1363 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAX9611 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MCP320X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MCP3422 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MCP3911 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIATEK_MT6360_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIATEK_MT6577_AUXADC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MEN_Z188_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MESON_SARADC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MP2629_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NAU7802 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NPCM_ADC policy<{'armhf': 'm'}> +CONFIG_PALMAS_GPADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_QCOM_PM8XXX_XOADC policy<{'armhf': 'm'}> +CONFIG_QCOM_SPMI_IADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_QCOM_SPMI_VADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_QCOM_SPMI_ADC5 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RCAR_GYRO_ADC policy<{'armhf': 'm'}> +CONFIG_RN5T618_ADC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ROCKCHIP_SARADC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RZG2L_ADC policy<{'arm64': 'm'}> +CONFIG_SC27XX_ADC policy<{'arm64': 'm'}> +CONFIG_SD_ADC_MODULATOR policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_STMPE_ADC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_STX104 policy<{'amd64': 'm'}> +CONFIG_SUN4I_GPADC policy<{'arm64': 'n', 'armhf': '-'}> +CONFIG_TI_ADC081C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_ADC0832 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_ADC084S021 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_ADC12138 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_ADC108S102 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_ADC128S052 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_ADC161S626 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_ADS1015 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_ADS7950 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_ADS8344 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_ADS8688 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_ADS124S08 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_ADS131E08 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_AM335X_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_TLC4541 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_TSC2046 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TWL4030_MADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TWL6030_GPADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VF610_ADC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIPERBOARD_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_XILINX_XADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Capacitance to digital converters +CONFIG_AD7150 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Chemical Sensors +CONFIG_ATLAS_PH_SENSOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATLAS_EZO_SENSOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BME680 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CCS811 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IAQCORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PMS7003 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SCD30_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SCD30_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SCD30_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSIRION_SGP30 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSIRION_SGP40 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SPS30_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SPS30_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VZ89X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Digital gyroscope sensors +CONFIG_ADIS16080 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADIS16130 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADIS16136 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADIS16260 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADXRS290 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADXRS450 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BMG160 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FXAS21002C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_SENSOR_GYRO_3D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MPU3050_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_ST_GYRO_3AXIS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ITG3200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Digital potentiometers +CONFIG_AD5110 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5272 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DS1803 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAX5432 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAX5481 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAX5487 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MCP4018 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MCP4131 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MCP4531 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MCP41010 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TPL0102 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Digital potentiostats +CONFIG_LMP91000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Digital to analog converters +CONFIG_AD5064 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5360 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5380 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5421 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5446 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5449 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5592R policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5593R policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5504 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5624R_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5686_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5696_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5755 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5758 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5761 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5764 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5766 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5770R policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD5791 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7303 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD8801 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CIO_DAC policy<{'amd64': 'm'}> +CONFIG_DPOT_DAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DS4424 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LTC1660 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LTC2632 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_M62332 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAX517 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAX5821 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MCP4725 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MCP4922 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_DAC082S085 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_DAC5571 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_DAC7311 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TI_DAC7612 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VF610_DAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Enable buffer support within IIO +CONFIG_IIO_BUFFER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_IIO_BUFFER_CB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_BUFFER_DMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_BUFFER_DMAENGINE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_BUFFER_HW_CONSUMER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_KFIFO_BUF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_TRIGGERED_BUFFER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Frequency Synthesizers DDS/PLL + +# Menu: Device Drivers >> Industrial I/O support >> Frequency Synthesizers DDS/PLL >> Clock Generator/Distribution +CONFIG_AD9523 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Frequency Synthesizers DDS/PLL >> Phase-Locked Loop (PLL) frequency synthesizers +CONFIG_ADF4350 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADF4371 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Health Sensors + +# Menu: Device Drivers >> Industrial I/O support >> Health Sensors >> Heart Rate Monitors +CONFIG_AFE4403 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AFE4404 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAX30100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAX30102 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Hid Sensor IIO Common +CONFIG_HID_SENSOR_IIO_COMMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_SENSOR_IIO_TRIGGER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Humidity sensors +CONFIG_AM2315 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DHT11 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HDC100X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HDC2010 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_SENSOR_HUMIDITY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HTS221 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HTU21 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SI7005 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SI7020 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> IIO SCMI Sensors +CONFIG_IIO_SCMI policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> IIO dummy driver +CONFIG_IIO_SIMPLE_DUMMY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_SIMPLE_DUMMY_EVENTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_IIO_SIMPLE_DUMMY_BUFFER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +# +CONFIG_IIO_SIMPLE_DUMMY_EVENTS note +CONFIG_IIO_SIMPLE_DUMMY_BUFFER note + +# Menu: Device Drivers >> Industrial I/O support >> Inclinometer sensors +CONFIG_HID_SENSOR_INCLINOMETER_3D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_SENSOR_DEVICE_ROTATION policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Inertial measurement units +CONFIG_ADIS16400 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADIS16460 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADIS16475 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADIS16480 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BMI160_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BMI160_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FXOS8700_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FXOS8700_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_KMX61 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INV_ICM42600_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INV_ICM42600_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INV_MPU6050_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INV_MPU6050_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_ST_LSM6DSX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_ST_LSM9DS0 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Light sensors +CONFIG_ACPI_ALS policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_ADJD_S311 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADUX1020 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AL3010 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AL3320A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_APDS9300 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_APDS9960 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AS73211 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BH1750 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BH1780 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CM32181 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CM3232 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CM3323 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CM3605 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CM36651 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_CROS_EC_LIGHT_PROX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_GP2AP002 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GP2AP020A00F policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IQS621_ALS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_ISL29018 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_ISL29028 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ISL29125 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_SENSOR_ALS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_SENSOR_PROX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_JSA1212 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RPR0521 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_LM3533 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LTR501 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LV0104CS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAX44000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAX44009 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NOA1305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_OPT3001 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PA12203001 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SI1133 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SI1145 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_STK3310 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ST_UVIS25 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TCS3414 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TCS3472 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_TSL2563 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TSL2583 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TSL2591 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TSL2772 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TSL4531 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_US5182D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VCNL4000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VCNL4035 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VEML6030 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VEML6070 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VL6180 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ZOPT2201 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Lightning sensors +CONFIG_AS3935 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Linear and angular position sensors +CONFIG_IQS624_POS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Magnetometer sensors +CONFIG_AK8974 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AK8975 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AK09911 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BMC150_MAGN_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BMC150_MAGN_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAG3110 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_SENSOR_MAGNETOMETER_3D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMC35240 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_ST_MAGN_3AXIS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_HMC5843_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_HMC5843_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_RM3100_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SENSORS_RM3100_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_YAMAHA_YAS530 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Multiplexers +CONFIG_IIO_MUX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Pressure sensors +CONFIG_ABP060MG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BMP280 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_CROS_EC_BARO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_DLHL60D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DPS310 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_SENSOR_PRESS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HP03 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ICP10100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MPL115_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MPL115_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MPL3115 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MS5611 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MS5611_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MS5611_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MS5637 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_ST_PRESS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_T5403 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HP206C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ZPA2326 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Proximity and distance sensors +CONFIG_CROS_EC_MKBP_PROXIMITY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_ISL29501 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LIDAR_LITE_V2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MB1232 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PING policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RFD77402 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SRF04 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SX9310 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SX9500 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SRF08 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VCNL3020 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VL53L0X_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Resolver to digital converters +CONFIG_AD2S1200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD2S90 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> SSP Sensor Common +CONFIG_IIO_SSP_SENSORS_COMMONS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_SSP_SENSORHUB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Temperature sensors +CONFIG_IQS620AT_TEMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LTC2983 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAXIM_THERMOCOUPLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HID_SENSOR_TEMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MLX90614 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MLX90632 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TMP006 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TMP007 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TMP117 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TSYS01 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TSYS02D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAX31856 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Industrial I/O support >> Triggers - standalone +CONFIG_IIO_HRTIMER_TRIGGER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_INTERRUPT_TRIGGER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_TIGHTLOOP_TRIGGER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IIO_SYSFS_TRIGGER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> IndustryPack bus support +CONFIG_IPACK_BUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_BOARD_TPCI200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SERIAL_IPOCTAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> InfiniBand support +CONFIG_INFINIBAND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_USER_MAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_ON_DEMAND_PAGING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_INFINIBAND_IPOIB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_IPOIB_CM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_INFINIBAND_IPOIB_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_INFINIBAND_OPA_VNIC policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> InfiniBand support >> InfiniBand userspace access (verbs and CM) +CONFIG_INFINIBAND_USER_ACCESS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_MTHCA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_MTHCA_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_INFINIBAND_QIB policy<{'amd64': 'm'}> +CONFIG_INFINIBAND_QIB_DCA policy<{'amd64': 'y'}> +CONFIG_INFINIBAND_EFA policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INFINIBAND_IRDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MLX4_INFINIBAND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MLX5_INFINIBAND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_OCRDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_INFINIBAND_VMWARE_PVRDMA policy<{'amd64': 'm', 'arm64-generic': 'm', 'armhf': 'm', 'riscv64': 'm'}> +CONFIG_INFINIBAND_USNIC policy<{'amd64': 'm'}> +CONFIG_INFINIBAND_HNS policy<{'arm64': 'm'}> +CONFIG_INFINIBAND_HNS_HIP08 policy<{'arm64': 'y'}> +CONFIG_INFINIBAND_BNXT_RE policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INFINIBAND_HFI1 policy<{'amd64': 'm'}> +CONFIG_HFI1_DEBUG_SDMA_ORDER policy<{'amd64': 'n'}> +CONFIG_SDMA_VERBOSITY policy<{'amd64': 'n'}> +CONFIG_INFINIBAND_QEDR policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INFINIBAND_RDMAVT policy<{'amd64': 'm'}> +CONFIG_RDMA_RXE policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_RDMA_SIW policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> InfiniBand support >> RDMA/CM +CONFIG_INFINIBAND_ADDR_TRANS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_INFINIBAND_CXGB4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INFINIBAND_SRP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_SRPT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_ISER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_ISERT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_RTRS_CLIENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INFINIBAND_RTRS_SERVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> Input device support + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) +CONFIG_INPUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_INPUT_LEDS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_FF_MEMLESS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_INPUT_SPARSEKMAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_INPUT_MATRIXKMAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_INPUT_JOYDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_INPUT_EVDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_INPUT_EVBUG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Joysticks/Gamepads +CONFIG_INPUT_JOYSTICK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_JOYSTICK_ANALOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_A3D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_JOYSTICK_ADI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_COBRA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_GF2K policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_GRIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_GRIP_MP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_GUILLEMOT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_INTERACT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_SIDEWINDER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_TMDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_IFORCE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_IFORCE_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_JOYSTICK_IFORCE_232 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_JOYSTICK_WARRIOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_MAGELLAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_SPACEORB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_SPACEBALL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_STINGER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_TWIDJOY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_ZHENHUA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_DB9 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_JOYSTICK_GAMECON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_JOYSTICK_TURBOGRAFX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_JOYSTICK_AS5011 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_JOYDUMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_XPAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_XPAD_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_JOYSTICK_XPAD_LEDS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_JOYSTICK_WALKERA0701 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_JOYSTICK_PSXPAD_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_PSXPAD_SPI_FF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_JOYSTICK_PXRC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_QWIIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_JOYSTICK_FSIA6B policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Keyboards +CONFIG_INPUT_KEYBOARD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_KEYBOARD_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_KEYBOARD_ADP5520 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_ADP5588 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_ADP5589 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_APPLESPI policy<{'amd64': 'm'}> +CONFIG_KEYBOARD_ATKBD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_KEYBOARD_QT1050 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_QT1070 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_QT2160 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_DLINK_DIR685 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_LKKBD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_GPIO_POLLED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_TCA6416 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_TCA8418 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_MATRIX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_LM8323 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_LM8333 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_MAX7359 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_MCS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_MPR121 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_SNVS_PWRKEY policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_KEYBOARD_IMX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_KEYBOARD_IMX_SC_KEY policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_KEYBOARD_NEWTON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_TEGRA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_KEYBOARD_OPENCORES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_PMIC8XXX policy<{'armhf': 'm'}> +CONFIG_KEYBOARD_SAMSUNG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_GOLDFISH_EVENTS policy<{'riscv64': 'm'}> +CONFIG_KEYBOARD_STOWAWAY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_SUNKBD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_STMPE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_KEYBOARD_SUN4I_LRADC policy<{'arm64': 'n', 'armhf': '-'}> +CONFIG_KEYBOARD_IQS62X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_KEYBOARD_OMAP4 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_KEYBOARD_TC3589X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_KEYBOARD_TM2_TOUCHKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_TWL4030 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_XTKBD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEYBOARD_CROS_EC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_KEYBOARD_CAP11XX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_KEYBOARD_BCM policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_KEYBOARD_MTK_PMIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Mice +CONFIG_INPUT_MOUSE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_MOUSE_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MOUSE_APPLETOUCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MOUSE_BCM5974 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MOUSE_CYAPA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MOUSE_ELAN_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MOUSE_ELAN_I2C_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MOUSE_ELAN_I2C_SMBUS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MOUSE_VSXXXAA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MOUSE_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MOUSE_SYNAPTICS_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MOUSE_SYNAPTICS_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +# +CONFIG_MOUSE_INPORT note + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Mice >> PS/2 mouse +CONFIG_MOUSE_PS2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MOUSE_PS2_ALPS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MOUSE_PS2_BYD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MOUSE_PS2_LOGIPS2PP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MOUSE_PS2_SYNAPTICS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MOUSE_PS2_CYPRESS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MOUSE_PS2_LIFEBOOK policy<{'amd64': 'y'}> +CONFIG_MOUSE_PS2_TRACKPOINT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MOUSE_PS2_ELANTECH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MOUSE_PS2_ELANTECH_SMBUS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MOUSE_PS2_SENTELIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MOUSE_PS2_TOUCHKIT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MOUSE_PS2_FOCALTECH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MOUSE_PS2_VMMOUSE policy<{'amd64': 'y'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Miscellaneous devices +CONFIG_INPUT_MISC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_INPUT_88PM860X_ONKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_88PM80X_ONKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INPUT_AD714X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_AD714X_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INPUT_AD714X_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INPUT_ARIZONA_HAPTICS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INPUT_ATC260X_ONKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INPUT_ATMEL_CAPTOUCH policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INPUT_BMA150 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_E3X0_BUTTON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_PCSPKR policy<{'amd64': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_PM8941_PWRKEY policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INPUT_PM8XXX_VIBRATOR policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INPUT_PMIC8XXX_PWRKEY policy<{'armhf': 'm'}> +CONFIG_INPUT_MAX77650_ONKEY policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INPUT_MAX77693_HAPTIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_MAX8925_ONKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_MAX8997_HAPTIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_MC13783_PWRBUTTON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INPUT_MMA8450 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_APANEL policy<{'amd64': 'm'}> +CONFIG_INPUT_GPIO_BEEPER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_GPIO_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_GPIO_VIBRA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_CPCAP_PWRBUTTON policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INPUT_ATLAS_BTNS policy<{'amd64': 'm'}> +CONFIG_INPUT_ATI_REMOTE2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_KEYSPAN_REMOTE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_KXTJ9 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_POWERMATE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_YEALINK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_CM109 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_REGULATOR_HAPTIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_RETU_PWRBUTTON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INPUT_TPS65218_PWRBUTTON policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INPUT_AXP20X_PEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INPUT_TWL4030_PWRBUTTON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_TWL4030_VIBRA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_TWL6040_VIBRA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_UINPUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_INPUT_PALMAS_PWRBUTTON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_PCF50633_PMU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INPUT_PCF8574 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_PWM_BEEPER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_PWM_VIBRA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_RK805_PWRKEY policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INPUT_GPIO_ROTARY_ENCODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_DA7280_HAPTICS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_DA9052_ONKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_DA9055_ONKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_DA9063_ONKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_WM831X_ON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_PCAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_ADXL34X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_ADXL34X_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INPUT_ADXL34X_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INPUT_IMS_PCU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_IQS269A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_IQS626A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_CMA3000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_CMA3000_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INPUT_XEN_KBDDEV_FRONTEND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': '-'}> +CONFIG_INPUT_IDEAPAD_SLIDEBAR policy<{'amd64': 'm', 'ppc64el': 'm'}> +CONFIG_INPUT_SOC_BUTTON_ARRAY policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_INPUT_DRV260X_HAPTICS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_DRV2665_HAPTICS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_DRV2667_HAPTICS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_INPUT_HISI_POWERKEY policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INPUT_RAVE_SP_PWRBUTTON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_INPUT_SC27XX_VIBRA policy<{'arm64': 'm'}> +CONFIG_INPUT_STPMIC1_ONKEY policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +# +CONFIG_INPUT_UINPUT mark note + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Mouse interface +CONFIG_INPUT_MOUSEDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_INPUT_MOUSEDEV_PSAUX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_INPUT_MOUSEDEV_SCREEN_X policy<{'amd64': '1024', 'arm64': '1024', 'armhf': '1024', 'ppc64el': '1024', 'riscv64': '1024'}> +CONFIG_INPUT_MOUSEDEV_SCREEN_Y policy<{'amd64': '768', 'arm64': '768', 'armhf': '768', 'ppc64el': '768', 'riscv64': '768'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Synaptics RMI4 bus support +CONFIG_RMI4_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_RMI4_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_RMI4_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_RMI4_SMB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_RMI4_F03 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_RMI4_F11 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_RMI4_F12 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_RMI4_F30 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_RMI4_F34 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_RMI4_F3A policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_RMI4_F54 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RMI4_F55 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Tablets +CONFIG_INPUT_TABLET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_TABLET_USB_ACECAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TABLET_USB_AIPTEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TABLET_USB_HANWANG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TABLET_USB_KBTAB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TABLET_USB_PEGASUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TABLET_SERIAL_WACOM4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Touchscreens +CONFIG_INPUT_TOUCHSCREEN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_TOUCHSCREEN_88PM860X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_ADS7846 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_AD7877 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_AD7879 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_AD7879_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_AD7879_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_AR1021_I2C policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ATMEL_MXT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_AUO_PIXCIR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_BU21013 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_BU21029 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CHIPONE_ICN8505 policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_TOUCHSCREEN_CY8CTMA140 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_CY8CTMG110 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_CYTTSP_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_CYTTSP_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP4_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_CYTTSP4_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_CYTTSP4_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_DA9034 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_DA9052 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_DYNAPRO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_HAMPSHIRE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_EETI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_EGALAX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_EGALAX_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_EXC3000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_FUJITSU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_GOODIX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_HIDEEP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_HYCON_HY46XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_ILI210X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_ILITEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_IPROC policy<{'arm64': 'm'}> +CONFIG_TOUCHSCREEN_S6SY761 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_GUNZE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_EKTF2127 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_ELAN policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_ELO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_WACOM_W8001 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_WACOM_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_MAX11801 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_MCS5000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_MMS114 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_MELFAS_MIP4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_MSG2638 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_MTOUCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_IMX6UL_TSC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_INEXIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_MK712 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_PENMOUNT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_EDT_FT5X06 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_RASPBERRYPI_FW policy<{'arm64': 'm'}> +CONFIG_TOUCHSCREEN_TOUCHRIGHT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_TOUCHWIN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_TI_AM335X_TSC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_UCB1400 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_PIXCIR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_WDT87XX_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_WM831X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_MC13783 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_TOUCHIT213 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_TS4800 policy<{'armhf': 'm'}> +CONFIG_TOUCHSCREEN_TSC_SERIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_TSC2004 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_TSC2005 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_TSC2007 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_TSC2007_IIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_PCAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_RM_TS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_SILEAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_SIS_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_ST1232 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_STMFTS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_STMPE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_SUN4I policy<{'arm64': 'n', 'armhf': '-'}> +CONFIG_TOUCHSCREEN_SUR40 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_SURFACE3_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_SX8654 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_TPS6507X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_ZET6223 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_ZFORCE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_COLIBRI_VF50 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_ROHM_BU21023 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_IQS5XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_ZINITIX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +# +CONFIG_TOUCHSCREEN_ELAN mark note + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Touchscreens >> Support for WM97xx AC97 touchscreen controllers +CONFIG_TOUCHSCREEN_WM97XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TOUCHSCREEN_WM9705 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_WM9712 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_WM9713 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Input device support >> Generic input layer (needed for keyboard, mouse, ...) >> Touchscreens >> USB Touchscreen Driver +CONFIG_TOUCHSCREEN_USB_COMPOSITE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TOUCHSCREEN_USB_EGALAX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_PANJIT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_3M policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_ITM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_ETURBO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_GUNZE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_DMC_TSC10 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_IRTOUCH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_IDEALTEK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_GOTOP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_JASTEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_ELO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_E2I policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_ZYTRONIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_ETT_TC45USB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_NEXIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TOUCHSCREEN_USB_EASYTOUCH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Input device support >> Hardware I/O ports + +# Menu: Device Drivers >> Input device support >> Hardware I/O ports >> Gameport support +CONFIG_GAMEPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_GAMEPORT_NS558 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_GAMEPORT_L4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_GAMEPORT_EMU10K1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_GAMEPORT_FM801 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Input device support >> Hardware I/O ports >> Serial I/O support +CONFIG_SERIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_SERIO_I8042 policy<{'amd64': 'y', 'ppc64el': 'y'}> +CONFIG_SERIO_SERPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SERIO_CT82C710 policy<{'amd64': 'm'}> +CONFIG_SERIO_PARKBD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SERIO_AMBAKMI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SERIO_PCIPS2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SERIO_LIBPS2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SERIO_RAW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SERIO_XILINX_XPS_PS2 policy<{'ppc64el': 'm'}> +CONFIG_SERIO_ALTERA_PS2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SERIO_PS2MULT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SERIO_ARC_PS2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SERIO_APBPS2 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HYPERV_KEYBOARD policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_SERIO_SUN4I_PS2 policy<{'arm64': 'n', 'armhf': '-'}> +CONFIG_SERIO_GPIO_PS2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USERIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> LED Support +CONFIG_NEW_LEDS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_LEDS_AAEON policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> LED Support >> LED Class Support +CONFIG_LEDS_CLASS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_LEDS_BRIGHTNESS_HW_CHANGED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_LEDS_88PM860X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_AN30259A policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_APU policy<{'amd64': 'm'}> +CONFIG_LEDS_AW2013 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_BCM6328 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_BCM6358 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_CPCAP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_CR0014114 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_EL15203000 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_LM3530 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_LM3532 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_LM3533 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_LM3642 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_LM3692X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_MT6323 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_PCA9532 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_PCA9532_GPIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_LEDS_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_LP3944 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_LP3952 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_LP8788 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_LP8860 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_CLEVO_MAIL policy<{'amd64': 'm'}> +CONFIG_LEDS_PCA955X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_PCA955X_GPIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_LEDS_PCA963X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_WM831X_STATUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_WM8350 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_DA903X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_DA9052 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_DAC124S085 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_PWM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_REGULATOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_BD2802 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_INTEL_SS4200 policy<{'amd64': 'm'}> +CONFIG_LEDS_LT3593 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_ADP5520 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_MC13783 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_NS2 policy<{'armhf': 'm'}> +CONFIG_LEDS_ASIC3 policy<{'armhf': 'y'}> +CONFIG_LEDS_TCA6507 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_TLC591XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_MAX77650 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_MAX8997 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_LM355x policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_MENF21BMC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_IS31FL319X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_IS31FL32XX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_SC27XX_BLTC policy<{'arm64': 'm'}> +CONFIG_LEDS_BLINKM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_POWERNV policy<{'ppc64el': 'm'}> +CONFIG_LEDS_SYSCON policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_LEDS_PM8058 policy<{'armhf': 'm'}> +CONFIG_LEDS_MLXCPLD policy<{'amd64': 'm'}> +CONFIG_LEDS_MLXREG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_USER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_NIC78BX policy<{'amd64': 'm'}> +CONFIG_LEDS_SPI_BYTE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_TI_LMU_COMMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_LM3697 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_LM36274 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_TPS6105X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_ACER_A500 policy<{'armhf': 'm'}> + +# Menu: Device Drivers >> LED Support >> LED Class Support >> LED Flash Class Support +CONFIG_LEDS_CLASS_FLASH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_AAT1290 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_AS3645A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_LM3601X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_MAX77693 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_KTD2692 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_SGM3140 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_RT4505 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_RT8515 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> LED Support >> LED Class Support >> LED Multicolor Class Support +CONFIG_LEDS_CLASS_MULTICOLOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_TURRIS_OMNIA policy<{'armhf': 'm'}> +CONFIG_LEDS_LP50XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> LED Support >> LED Class Support >> LED Multicolor Class Support >> Common Driver for TI/National LP5521/5523/55231/5562/8501 +CONFIG_LEDS_LP55XX_COMMON policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_LP5521 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_LP5523 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_LP5562 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LEDS_LP8501 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> LED Support >> LED Class Support >> LED Trigger support +CONFIG_LEDS_TRIGGERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_LEDS_TRIGGER_TIMER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_TRIGGER_ONESHOT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_TRIGGER_DISK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_LEDS_TRIGGER_MTD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_LEDS_TRIGGER_HEARTBEAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_TRIGGER_BACKLIGHT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_TRIGGER_CPU policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_LEDS_TRIGGER_ACTIVITY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_TRIGGER_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_TRIGGER_DEFAULT_ON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_TRIGGER_TRANSIENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_TRIGGER_CAMERA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_TRIGGER_PANIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_LEDS_TRIGGER_NETDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_TRIGGER_PATTERN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_TRIGGER_AUDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LEDS_TRIGGER_TTY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> MCB support +CONFIG_MCB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MCB_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MCB_LPC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> MIPS Platform Specific Device Drivers + +# Menu: Device Drivers >> MMC/SD/SDIO card support +CONFIG_MMC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_PWRSEQ_EMMC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PWRSEQ_SD8787 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PWRSEQ_SIMPLE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMC_BLOCK policy<{'amd64': 'm', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MMC_BLOCK_MINORS policy<{'amd64': '8', 'arm64': '8', 'armhf': '8', 'ppc64el': '8', 'riscv64': '8'}> +CONFIG_SDIO_UART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MMC_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_MMC_CRYPTO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MMC_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_MMC_ARMMMCI policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MMC_QCOM_DML policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MMC_STM32_SDMMC policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MMC_MESON_GX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MMC_MESON_MX_SDHC policy<{'armhf': 'm'}> +CONFIG_MMC_MESON_MX_SDIO policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MMC_OMAP policy<{'armhf': 'm'}> +CONFIG_MMC_OMAP_HS policy<{'armhf': 'y'}> +CONFIG_MMC_WBSD policy<{'amd64': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_ALCOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMC_MXC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MMC_TIFM_SD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MMC_MVSDIO policy<{'armhf': 'm'}> +CONFIG_MMC_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MMC_SDRICOH_CS policy<{'amd64': 'm'}> +CONFIG_MMC_TMIO policy<{'armhf': 'm'}> +CONFIG_MMC_SDHI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MMC_SDHI_SYS_DMAC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MMC_SDHI_INTERNAL_DMAC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MMC_UNIPHIER policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_MMC_CB710 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MMC_VIA_SDMMC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MMC_CAVIUM_THUNDERX policy<{'arm64': 'm'}> +CONFIG_MMC_SH_MMCIF policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MMC_VUB300 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MMC_USHC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MMC_USDHI6ROL0 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MMC_REALTEK_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMC_REALTEK_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMC_SUNXI policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_MMC_CQHCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MMC_HSQ policy<{'amd64': 'n', 'arm64': 'm', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MMC_TOSHIBA_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MMC_BCM2835 policy<{'arm64': 'm'}> +CONFIG_MMC_MTK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MMC_OWL policy<{'arm64': 'm', 'armhf': 'm'}> +# +CONFIG_MMC_BLOCK note +CONFIG_MMC_TEST flag +CONFIG_MMC_OMAP_HS note + +# Menu: Device Drivers >> MMC/SD/SDIO card support >> Samsung S3C SD/MMC transfer code + +# Menu: Device Drivers >> MMC/SD/SDIO card support >> Secure Digital Host Controller Interface support +CONFIG_MMC_SDHCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MMC_SDHCI_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMC_RICOH_MMC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MMC_SDHCI_ACPI policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_MMC_SDHCI_S3C policy<{'armhf': 'n'}> +CONFIG_MMC_SDHCI_S3C_DMA policy<{'armhf': '-'}> +# +CONFIG_MMC_SDHCI note + +# Menu: Device Drivers >> MMC/SD/SDIO card support >> Secure Digital Host Controller Interface support >> SDHCI platform and OF driver helper +CONFIG_MMC_SDHCI_PLTFM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMC_SDHCI_OF_ARASAN policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMC_SDHCI_OF_ASPEED policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMC_SDHCI_OF_AT91 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMC_SDHCI_OF_ESDHC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_MMC_SDHCI_OF_HLWD policy<{'ppc64el': 'm'}> +CONFIG_MMC_SDHCI_OF_DWCMSHC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMC_SDHCI_OF_SPARX5 policy<{'arm64': 'm'}> +CONFIG_MMC_SDHCI_CADENCE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMC_SDHCI_ESDHC_IMX policy<{'arm64': 'm', 'armhf': 'y'}> +CONFIG_MMC_SDHCI_DOVE policy<{'armhf': 'm'}> +CONFIG_MMC_SDHCI_TEGRA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MMC_SDHCI_PXAV3 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MMC_SDHCI_F_SDH30 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMC_SDHCI_MILBEAUT policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMC_SDHCI_IPROC policy<{'arm64': 'm'}> +CONFIG_MMC_SDHCI_MSM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MMC_SDHCI_SPRD policy<{'arm64': 'm'}> +CONFIG_MMC_SDHCI_BRCMSTB policy<{'arm64': 'm'}> +CONFIG_MMC_SDHCI_XENON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMC_SDHCI_OMAP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MMC_SDHCI_AM654 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +# +CONFIG_MMC_SDHCI_PLTFM note + +# Menu: Device Drivers >> MMC/SD/SDIO card support >> Synopsys DesignWare Memory Card Interface +CONFIG_MMC_DW policy<{'arm64': 'm', 'armhf': 'm', 'riscv64': 'm'}> +CONFIG_MMC_DW_PLTFM policy<{'arm64': 'm', 'armhf': 'm', 'riscv64': 'm'}> +CONFIG_MMC_DW_BLUEFIELD policy<{'arm64': 'm', 'armhf': 'm', 'riscv64': 'm'}> +CONFIG_MMC_DW_EXYNOS policy<{'arm64': 'm', 'armhf': 'm', 'riscv64': 'm'}> +CONFIG_MMC_DW_HI3798CV200 policy<{'arm64': 'm', 'armhf': 'm', 'riscv64': 'm'}> +CONFIG_MMC_DW_K3 policy<{'arm64': 'm', 'armhf': 'm', 'riscv64': 'm'}> +CONFIG_MMC_DW_PCI policy<{'arm64': 'm', 'armhf': 'm', 'riscv64': 'm'}> +CONFIG_MMC_DW_ROCKCHIP policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> MOST support +CONFIG_MOST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MOST_USB_HDM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MOST_CDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MOST_SND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Macintosh device drivers +CONFIG_MACINTOSH_DRIVERS policy<{'amd64': 'y', 'ppc64el': 'y'}> +CONFIG_MAC_EMUMOUSEBTN policy<{'amd64': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Macintosh device drivers >> Apple Desktop Bus (ADB) support + +# Menu: Device Drivers >> Macintosh device drivers >> New PowerMac thermal control infrastructure +CONFIG_WINDFARM policy<{'ppc64el': 'm'}> + +# Menu: Device Drivers >> Macintosh device drivers >> Support for PMU based PowerMacs and PowerBooks + +# Menu: Device Drivers >> Mailbox Hardware Support +CONFIG_MAILBOX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_ARM_MHU policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_MHU_V2 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IMX_MBOX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PLATFORM_MHU policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PL320_MBOX policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARMADA_37XX_RWTM_MBOX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_OMAP2PLUS_MBOX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_OMAP_MBOX_KFIFO_SIZE policy<{'arm64': '256', 'armhf': '256'}> +CONFIG_ROCKCHIP_MBOX policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PCC policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_ALTERA_MBOX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BCM2835_MBOX policy<{'arm64': 'y'}> +CONFIG_TI_MESSAGE_MANAGER policy<{'arm64': 'y'}> +CONFIG_HI3660_MBOX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HI6220_MBOX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MAILBOX_TEST policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_QCOM_APCS_IPC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_TEGRA_HSP_MBOX policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_XGENE_SLIMPRO_MBOX policy<{'arm64': 'm'}> +CONFIG_BCM_PDC_MBOX policy<{'arm64': 'm'}> +CONFIG_BCM_FLEXRM_MBOX policy<{'arm64': 'm'}> +CONFIG_MTK_CMDQ_MBOX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ZYNQMP_IPI_MBOX policy<{'arm64': 'y'}> +CONFIG_SUN6I_MSGBOX policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_SPRD_MBOX policy<{'arm64': 'm'}> +CONFIG_QCOM_IPCC policy<{'arm64': 'y', 'armhf': 'y'}> + +# Menu: Device Drivers >> Memory Controller drivers +CONFIG_MEMORY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_ARM_PL172_MPMC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_BRCMSTB_DPFE policy<{'arm64': 'y'}> +CONFIG_TI_EMIF policy<{'armhf': 'm'}> +CONFIG_TI_EMIF_SRAM policy<{'armhf-generic': 'm'}> +CONFIG_FPGA_DFL_EMIF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MVEBU_DEVBUS policy<{'armhf': 'y'}> +CONFIG_FSL_IFC policy<{'arm64': 'y'}> +CONFIG_MTK_SMI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PL353_SMC policy<{'armhf': 'm'}> +CONFIG_RENESAS_RPCIF policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SAMSUNG_MC policy<{'armhf': 'y'}> +CONFIG_EXYNOS5422_DMC policy<{'armhf': 'n'}> +CONFIG_EXYNOS_SROM policy<{'armhf': 'y'}> + +# Menu: Device Drivers >> Memory Controller drivers >> NVIDIA Tegra Memory Controller support +CONFIG_TEGRA_MC policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_TEGRA20_EMC policy<{'armhf': 'y'}> +CONFIG_TEGRA30_EMC policy<{'armhf': 'y'}> +CONFIG_TEGRA124_EMC policy<{'armhf': 'y'}> +CONFIG_TEGRA210_EMC policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support +CONFIG_MTD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MTD_TESTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_MTD_BLOCK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MTD_BLOCK_RO policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'armhf': '-', 'riscv64': 'm'}> +CONFIG_FTL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFTL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFTL_RW policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_INFTL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RFD_FTL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SSFDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SM_FTL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_OOPS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_PSTORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_SWAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_PARTITIONED_MASTER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +# +CONFIG_MTD note +CONFIG_MTD_BLOCK note + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Enable UBI - Unsorted block images +CONFIG_MTD_UBI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_UBI_WL_THRESHOLD policy<{'amd64': '4096', 'arm64': '4096', 'armhf': '4096', 'ppc64el': '4096', 'riscv64': '4096'}> +CONFIG_MTD_UBI_BEB_LIMIT policy<{'amd64': '20', 'arm64': '20', 'armhf': '20', 'ppc64el': '20', 'riscv64': '20'}> +CONFIG_MTD_UBI_FASTMAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MTD_UBI_GLUEBI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_UBI_BLOCK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> HyperBus support +CONFIG_MTD_HYPERBUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HBMC_AM654 policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> LPDDR & LPDDR2 PCM memory drivers +CONFIG_MTD_LPDDR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_QINFO_PROBE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_LPDDR2_NVM policy<{'armhf': 'm'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Mapping drivers for chip access +CONFIG_MTD_AMD76XROM policy<{'amd64': 'm'}> +CONFIG_MTD_ICHXROM policy<{'amd64': 'm'}> +CONFIG_MTD_ESB2ROM policy<{'amd64': 'm'}> +CONFIG_MTD_CK804XROM policy<{'amd64': 'm'}> +CONFIG_MTD_SCB2_FLASH policy<{'amd64': 'm'}> +CONFIG_MTD_NETtel policy<{'amd64': 'm'}> +CONFIG_MTD_L440GX policy<{'amd64': 'm'}> +CONFIG_MTD_IMPA7 policy<{'armhf': 'm'}> +CONFIG_MTD_INTEL_VR_NOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_PLATRAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Mapping drivers for chip access >> Flash device in physical memory map +CONFIG_MTD_PHYSMAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_PHYSMAP_GPIO_ADDR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Mapping drivers for chip access >> Flash device in physical memory map >> Memory device in physical memory map based on OF description +CONFIG_MTD_PHYSMAP_OF policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MTD_PHYSMAP_VERSATILE policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_MTD_PHYSMAP_GEMINI policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_MTD_PHYSMAP_IXP4XX policy<{'armhf': 'y'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Mapping drivers for chip access >> Flash device in physical memory map >> Physmap compat support +CONFIG_MTD_PHYSMAP_COMPAT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Mapping drivers for chip access >> Support non-linear mappings of flash chips +CONFIG_MTD_COMPLEX_MAPPINGS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MTD_SBC_GXX policy<{'amd64': 'm'}> +CONFIG_MTD_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_PCMCIA policy<{'amd64': 'm'}> +CONFIG_MTD_PCMCIA_ANONYMOUS policy<{'amd64': 'n'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> NAND +CONFIG_MTD_SPI_NAND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> NAND >> ECC engine support +CONFIG_MTD_NAND_ECC_SW_HAMMING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_MTD_NAND_ECC_SW_BCH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> NAND >> OneNAND Device Support +CONFIG_MTD_ONENAND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_ONENAND_VERIFY_WRITE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MTD_ONENAND_GENERIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_ONENAND_OMAP2 policy<{'armhf-generic': 'm'}> +CONFIG_MTD_ONENAND_OTP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_MTD_ONENAND_2X_PROGRAM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +# +CONFIG_MTD_ONENAND_VERIFY_WRITE note +CONFIG_MTD_ONENAND_OTP flag + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> NAND >> Raw/Parallel NAND Device Support +CONFIG_MTD_RAW_NAND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MTD_NAND_DENALI_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_NAND_DENALI_DT policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_NAND_CAFE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_NAND_ORION policy<{'armhf': 'm'}> +CONFIG_MTD_NAND_MARVELL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTD_NAND_TMIO policy<{'armhf': 'm'}> +CONFIG_MTD_NAND_BRCMNAND policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTD_NAND_GPMI_NAND policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTD_NAND_FSL_IFC policy<{'arm64': 'm'}> +CONFIG_MTD_NAND_VF610_NFC policy<{'armhf': 'n'}> +CONFIG_MTD_NAND_MXC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTD_NAND_SUNXI policy<{'arm64': 'n', 'armhf': '-'}> +CONFIG_MTD_NAND_HISI504 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTD_NAND_QCOM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTD_NAND_MTK policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTD_NAND_MXIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_NAND_TEGRA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTD_NAND_MESON policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTD_NAND_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_NAND_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_NAND_CADENCE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_NAND_ARASAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_NAND_INTEL_LGM policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_NAND_ROCKCHIP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTD_NAND_PL35X policy<{'armhf': 'm'}> +CONFIG_MTD_NAND_NANDSIM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_NAND_RICOH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_NAND_DISKONCHIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 'riscv64': '0'}> +CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +# +CONFIG_MTD_RAW_NAND note +CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE note + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> NAND >> Raw/Parallel NAND Device Support >> JZ4780 NAND controller + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Partition parsers +CONFIG_MTD_AR7_PARTS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_CMDLINE_PARTS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MTD_OF_PARTS policy<{'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_OF_PARTS_BCM4908 policy<{'arm64': 'y'}> +CONFIG_MTD_OF_PARTS_LINKSYS_NS policy<{'arm64': 'y'}> +CONFIG_MTD_AFS_PARTS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTD_PARSER_TRX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTD_SHARPSL_PARTS policy<{'armhf': 'm'}> +CONFIG_MTD_QCOMSMEM_PARTS policy<{'arm64': 'm', 'armhf': 'm'}> +# +CONFIG_MTD_CMDLINE_PARTS flag +CONFIG_MTD_OF_PARTS note + + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Partition parsers >> RedBoot partition table parsing +CONFIG_MTD_REDBOOT_PARTS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK policy<{'amd64': '-1', 'arm64': '-1', 'armhf': '-1', 'ppc64el': '-1', 'riscv64': '-1'}> +CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_MTD_REDBOOT_PARTS_READONLY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> RAM/ROM/Flash chip drivers +CONFIG_MTD_CFI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_JEDECPROBE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_CFI_INTELEXT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_CFI_AMDSTD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_CFI_STAA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_RAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_ROM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_ABSENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> RAM/ROM/Flash chip drivers >> Flash chip driver advanced configuration options +CONFIG_MTD_CFI_ADV_OPTIONS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> RAM/ROM/Flash chip drivers >> Flash chip driver advanced configuration options >> Flash cmd/query data swapping + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> RAM/ROM/Flash chip drivers >> Flash chip driver advanced configuration options >> Specific CFI Flash geometry selection +CONFIG_MTD_MAP_BANK_WIDTH_1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MTD_MAP_BANK_WIDTH_2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MTD_MAP_BANK_WIDTH_4 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MTD_CFI_I1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MTD_CFI_I2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> SPI NOR device support +CONFIG_MTD_SPI_NOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SPI_ASPEED_SMC policy<{'armhf': 'm'}> +CONFIG_SPI_HISI_SFC policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> SPI NOR device support >> Software write protection at boot +CONFIG_MTD_SPI_NOR_SWP_DISABLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MTD_SPI_NOR_SWP_KEEP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Device Drivers >> Memory Technology Device (MTD) support >> Self-contained MTD device drivers +CONFIG_MTD_PMC551 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_PMC551_BUGFIX policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_MTD_PMC551_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_MTD_DATAFLASH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_DATAFLASH_WRITE_VERIFY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_MTD_DATAFLASH_OTP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MTD_MCHP23K256 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_MCHP48L640 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_SST25L policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_BCM47XXSFLASH policy<{'armhf': 'm'}> +CONFIG_MTD_SLRAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_PHRAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_MTDRAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTDRAM_TOTAL_SIZE policy<{'amd64': '4096', 'arm64': '4096', 'armhf': '4096', 'ppc64el': '4096', 'riscv64': '4096'}> +CONFIG_MTDRAM_ERASE_SIZE policy<{'amd64': '128', 'arm64': '128', 'armhf': '128', 'ppc64el': '128', 'riscv64': '128'}> +CONFIG_MTD_BLOCK2MTD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTD_POWERNV_FLASH policy<{'ppc64el': 'm'}> +CONFIG_MTD_DOCG3 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +# +CONFIG_MTD_DOCG3 mark note + +# Menu: Device Drivers >> Microsoft Hyper-V guest support +CONFIG_HYPERV policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_HYPERV_UTILS policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_HYPERV_BALLOON policy<{'amd64': 'm', 'arm64': 'm'}> + +# Menu: Device Drivers >> Microsoft Surface Platform-Specific Device Drivers +CONFIG_SURFACE_PLATFORMS policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_SURFACE3_WMI policy<{'amd64': 'm'}> +CONFIG_SURFACE_3_POWER_OPREGION policy<{'amd64': 'm', 'arm64': 'n'}> +CONFIG_SURFACE_ACPI_NOTIFY policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_SURFACE_AGGREGATOR_CDEV policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_SURFACE_AGGREGATOR_REGISTRY policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_SURFACE_DTX policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_SURFACE_GPE policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_SURFACE_HOTPLUG policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_SURFACE_PLATFORM_PROFILE policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_SURFACE_PRO3_BUTTON policy<{'amd64': 'm', 'arm64': 'n'}> + +# Menu: Device Drivers >> Microsoft Surface Platform-Specific Device Drivers >> Microsoft Surface System Aggregator Module Subsystem and Drivers +CONFIG_SURFACE_AGGREGATOR policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_SURFACE_AGGREGATOR_BUS policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_SURFACE_AGGREGATOR_ERROR_INJECTION policy<{'amd64': 'n', 'arm64': 'n'}> + +# Menu: Device Drivers >> Misc devices +CONFIG_AD525X_DPOT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_AD525X_DPOT_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD525X_DPOT_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DUMMY_IRQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_IBM_ASM policy<{'amd64': 'm'}> +CONFIG_IBMVMC policy<{'ppc64el': 'm'}> +CONFIG_PHANTOM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_TIFM_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_TIFM_7XX1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_ICS932S401 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_ENCLOSURE_SERVICES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SGI_XP policy<{'amd64': 'm'}> +CONFIG_HI6421V600_IRQ policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HP_ILO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_QCOM_COINCELL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_FASTRPC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SGI_GRU policy<{'amd64': 'm'}> +CONFIG_SGI_GRU_DEBUG policy<{'amd64': 'n'}> +CONFIG_APDS9802ALS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_ISL29003 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_ISL29020 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SENSORS_TSL2550 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SENSORS_BH1770 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SENSORS_APDS990X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_HMC6352 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_DS1682 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_VMWARE_BALLOON policy<{'amd64': 'm'}> +CONFIG_LATTICE_ECP3_CONFIG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SRAM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_DW_XDATA_PCIE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_PCI_ENDPOINT_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_XILINX_SDFEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_HISI_HIKEY_USB policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'n'}> +CONFIG_CB710_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_CB710_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_SENSORS_LIS3_SPI policy<{'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SENSORS_LIS3_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_ALTERA_STAPL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_INTEL_MEI policy<{'amd64': 'm'}> +CONFIG_INTEL_MEI_ME policy<{'amd64': 'm'}> +CONFIG_INTEL_MEI_TXE policy<{'amd64': 'm'}> +CONFIG_INTEL_MEI_HDCP policy<{'amd64': 'm'}> +CONFIG_VMWARE_VMCI policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_ECHO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_CXL policy<{'ppc64el': 'm'}> +CONFIG_OCXL policy<{'ppc64el': 'm'}> +CONFIG_BCM_VK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_BCM_VK_TTY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MISC_ALCOR_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MISC_RTSX_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MISC_RTSX_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HABANA_AI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_UACCE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_PVPANIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_PVPANIC_MMIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PVPANIC_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +# +CONFIG_CS5535_MFGPT note + +# Menu: Device Drivers >> Misc devices >> EEPROM support +CONFIG_EEPROM_AT24 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_EEPROM_AT25 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_EEPROM_LEGACY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_EEPROM_MAX6875 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_EEPROM_93CX6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_EEPROM_93XX46 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_EEPROM_IDT_89HPESX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_EEPROM_EE1004 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> Misc devices >> GenWQE PCIe Accelerator +CONFIG_GENWQE policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY policy<{'amd64': '0', 'arm64': '0', 'ppc64el': '0', 'riscv64': '0', 's390x': '0'}> + +# Menu: Device Drivers >> Misc devices >> Silicon Labs C2 port support +CONFIG_C2PORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_C2PORT_DURAMAR_2150 policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Misc devices >> Texas Instruments shared transport line discipline +CONFIG_TI_ST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> Multifunction device drivers +CONFIG_MFD_ALTERA_A10SR policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MFD_ALTERA_SYSMGR policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MFD_ACT8945A policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_SUN4I_GPADC policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_MFD_AS3711 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_AS3722 policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PMIC_ADP5520 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_AAT2870_CORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_ATMEL_FLEXCOM policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_ATMEL_HLCDC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_BCM590XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_BD9571MWV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_AC100 policy<{'arm64': 'n', 'armhf': '-'}> +CONFIG_MFD_AXP20X_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_AXP20X_RSB policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_MFD_CROS_EC_DEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_MFD_ASIC3 policy<{'armhf': 'y'}> +CONFIG_PMIC_DA903X policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_DA9052_SPI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_DA9052_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_DA9055 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_DA9062 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_DA9063 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_MFD_DA9150 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_DLN2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MFD_EXYNOS_LPASS policy<{'armhf': 'n'}> +CONFIG_MFD_GATEWORKS_GSC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_MC13XXX_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MFD_MC13XXX_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_MP2629 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_HI6421_PMIC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_HI6421_SPMI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_HI655X_PMIC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HTC_PASIC3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_HTC_I2CPLD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_INTEL_QUARK_I2C_GPIO policy<{'amd64': 'm'}> +CONFIG_LPC_ICH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_LPC_SCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_INTEL_SOC_PMIC policy<{'amd64': 'y'}> +CONFIG_INTEL_SOC_PMIC_BXTWC policy<{'amd64': 'm'}> +CONFIG_INTEL_SOC_PMIC_CHTWC policy<{'amd64': 'y'}> +CONFIG_INTEL_SOC_PMIC_CHTDC_TI policy<{'amd64': 'm'}> +CONFIG_INTEL_SOC_PMIC_MRFLD policy<{'amd64': 'm'}> +CONFIG_MFD_INTEL_LPSS_ACPI policy<{'amd64': 'm'}> +CONFIG_MFD_INTEL_LPSS_PCI policy<{'amd64': 'm'}> +CONFIG_MFD_INTEL_PMC_BXT policy<{'amd64': 'm'}> +CONFIG_MFD_IQS62X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_JANZ_CMODIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_KEMPLD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_88PM800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_88PM805 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_88PM860X policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_MAX14577 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_MFD_MAX77620 policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_MAX77650 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_MAX77686 policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_MAX77693 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_MFD_MAX77843 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_MAX8907 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_MAX8925 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_MAX8997 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_MAX8998 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_MT6360 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_MT6397 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_MENF21BMC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_EZX_PCAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_CPCAP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_VIPERBOARD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MFD_NTXEC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_RETU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_PCF50633 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_PCF50633_ADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PCF50633_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_UCB1400_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_PM8XXX policy<{'armhf': 'm'}> +CONFIG_MFD_QCOM_RPM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MFD_SPMI_PMIC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MFD_RDC321X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_RT4831 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_RT5033 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_RC5T583 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_RK808 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_RN5T618 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_SEC_CORE policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_SI476X_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_SL28CPLD policy<{'arm64': 'm'}> +CONFIG_MFD_SM501 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_SM501_GPIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_SKY81452 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_SC27XX_PMIC policy<{'arm64': 'm'}> +CONFIG_MFD_STMPE policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_SUN6I_PRCM policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_MFD_SYSCON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_MFD_TI_AM335X_TSCADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_LP3943 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_LP8788 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_TI_LMU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_OMAP_USB_HOST policy<{'armhf': 'y'}> +CONFIG_MFD_PALMAS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_TPS6105X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_TPS65010 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_TPS6507X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_TPS65086 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_TPS65090 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_TPS65217 policy<{'arm64': 'm', 'armhf': 'y', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_MFD_TI_LP873X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_TI_LP87565 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_TPS65218 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_TPS6586X policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_TPS65910 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_TPS65912_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_MFD_TPS65912_SPI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TWL4030_CORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_TWL4030_POWER policy<{'armhf': 'y'}> +CONFIG_MFD_TWL4030_AUDIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_TWL6040_CORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_WL1273_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_LM3533 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_TC3589X policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_T7L66XB policy<{'armhf': 'y'}> +CONFIG_MFD_TC6387XB policy<{'armhf': 'y'}> +CONFIG_MFD_TC6393XB policy<{'armhf': 'y'}> +CONFIG_MFD_TQMX86 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_MFD_VX855 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_LOCHNAGAR policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_ARIZONA_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_ARIZONA_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MFD_CS47L24 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_WM5102 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_WM5110 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_WM8997 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_WM8998 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_WM8400 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_WM831X_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_WM831X_SPI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_WM8350_I2C policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_MFD_WM8994 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_ROHM_BD718XX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_ROHM_BD71828 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_ROHM_BD957XMUF policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_STPMIC1 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_STMFX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_WCD934X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_ATC260X_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_KHADAS_MCU policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MFD_ACER_A500_EC policy<{'armhf': 'm'}> +CONFIG_MFD_QCOM_PM8008 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_AAEON policy<{'amd64': 'm'}> +CONFIG_MFD_VEXPRESS_SYSREG policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_RAVE_SP_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_INTEL_M10_BMC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MFD_RSMU_I2C policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_RSMU_SPI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +# +CONFIG_MFD_SM501 note +CONFIG_MFD_TPS65217 mark note + +# Menu: Device Drivers >> Multifunction device drivers >> Cirrus Logic Madera codecs +CONFIG_MFD_MADERA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MFD_MADERA_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_MADERA_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MFD_CS47L15 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_CS47L35 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_CS47L85 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_CS47L90 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MFD_CS47L92 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Multifunction device drivers >> Multimedia Capabilities Port drivers + +# Menu: Device Drivers >> Multifunction device drivers >> STMicroelectronics STMPE Interface Drivers +CONFIG_STMPE_I2C policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_STMPE_SPI policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support +CONFIG_MEDIA_SUPPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MEDIA_SUPPORT_FILTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MEDIA_SUBDRV_AUTOSELECT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Digital TV options +CONFIG_DVB_MMAP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_DVB_NET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DVB_MAX_ADAPTERS policy<{'amd64': '8', 'arm64': '8', 'armhf': '8', 'ppc64el': '8', 'riscv64': '8'}> +CONFIG_DVB_DYNAMIC_MINORS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DVB_DEMUX_SECTION_LOSS_LOG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_DVB_ULE_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +# +CONFIG_DVB_ULE_DEBUG flag + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers +CONFIG_DVB_DUMMY_FE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_IR_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +# +CONFIG_DVB_DUMMY_FE note + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Audio decoders, processors and mixers +CONFIG_VIDEO_TVAUDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TDA7432 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TDA9840 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TDA1997X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TEA6415C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TEA6420 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_MSP3400 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_CS3308 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_CS5345 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_CS53L32A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TLV320AIC23B policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_UDA1342 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_WM8775 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_WM8739 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_VP27SMPX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_SONY_BTF_MPX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Audio/Video compression chips +CONFIG_VIDEO_SAA6752HS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Camera sensor devices +CONFIG_VIDEO_HI556 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_IMX208 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_IMX214 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_IMX219 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_IMX258 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_IMX274 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_IMX290 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_IMX319 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_IMX334 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_IMX335 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_IMX355 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_IMX412 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV02A10 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV2640 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV2659 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV2680 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV2685 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV2740 policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_VIDEO_OV5640 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV5645 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV5647 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV5648 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV6650 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV5670 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV5675 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV5695 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV7251 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV772X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV7640 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV7670 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV7740 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV8856 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV8865 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_VIDEO_OV9282 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV9640 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV9650 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OV9734 policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_VIDEO_OV13858 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_VS6624 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_MT9M001 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_MT9M032 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_MT9M111 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_MT9P031 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_MT9T001 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_MT9T112 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_MT9V011 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_MT9V032 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_MT9V111 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_SR030PC30 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_NOON010PC30 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_M5MOLS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_RDACM20 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_RDACM21 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_RJ54N1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_S5K6AA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_S5K6A3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_S5K4ECGX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_S5K5BAF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_CCS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_ET8EK8 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_S5C73M3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Customise DVB Frontends +CONFIG_DVB_STB0899 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_STB6100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_STV090x policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_STV0910 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_STV6110x policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_STV6111 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_MXL5XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_M88DS3103 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_DRXK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TDA18271C2DD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_SI2165 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_MN88472 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_MN88473 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_CX24110 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_CX24123 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_MT312 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_ZL10036 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_ZL10039 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_S5H1420 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_STV0288 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_STB6000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_STV0299 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_STV6110 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_STV0900 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TDA8083 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TDA10086 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TDA8261 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_VES1X93 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TUNER_ITD1000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TUNER_CX24113 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TDA826X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TUA6100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_CX24116 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_CX24117 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_CX24120 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_SI21XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TS2020 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_DS3000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_MB86A16 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TDA10071 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_SP887X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_CX22700 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_CX22702 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_S5H1432 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_DRXD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_L64781 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TDA1004X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_NXT6000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_MT352 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_ZL10353 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_DIB3000MB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_DIB3000MC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_DIB7000M policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_DIB7000P policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_DIB9000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TDA10048 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_AF9013 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_EC100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_STV0367 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_CXD2820R policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_CXD2841ER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_RTL2830 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_RTL2832 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_RTL2832_SDR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_SI2168 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_ZD1301_DEMOD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_CXD2880 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_VES1820 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TDA10021 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TDA10023 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_STV0297 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_NXT200X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_OR51211 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_OR51132 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_BCM3510 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_LGDT330X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_LGDT3305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_LGDT3306A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_LG2160 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_S5H1409 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_AU8522_DTV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_AU8522_V4L policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_S5H1411 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_MXL692 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_S921 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_DIB8000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_MB86A20S policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TC90522 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_MN88443X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_PLL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TUNER_DIB0070 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TUNER_DIB0090 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_DRX39XYJ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_LNBH25 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_LNBH29 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_LNBP21 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_LNBP22 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_ISL6405 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_ISL6421 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_ISL6423 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_A8293 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_LGS8GL5 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_LGS8GXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_ATBM8830 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TDA665x policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_IX2505V policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_M88RS2000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_AF9033 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_HORUS3A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_ASCOT2E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_HELENE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_CXD2099 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_SP2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Customize TV tuners +CONFIG_MEDIA_TUNER_SIMPLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA18250 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA8290 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA827X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA18271 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA9887 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TEA5761 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TEA5767 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MSI001 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MT20XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MT2060 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MT2063 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MT2266 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MT2131 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_QT1010 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_XC2028 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_XC5000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_XC4000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MXL5005S policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MXL5007T policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MC44S803 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MAX2165 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA18218 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_FC0011 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_FC0012 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_FC0013 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TDA18212 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_E4000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_FC2580 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_M88RS6000T policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_TUA9001 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_SI2157 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_IT913X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_R820T policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_MXL301RF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_QM1D1C0042 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_TUNER_QM1D1B0004 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Flash devices +CONFIG_VIDEO_ADP1653 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_LM3560 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_LM3646 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Lens drivers +CONFIG_VIDEO_AD5820 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_AK7375 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_DW9714 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_DW9768 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_DW9807_VCM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Media SPI Adapters +CONFIG_CXD2880_SPI_DRV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Miscellaneous helper chips +CONFIG_VIDEO_THS7303 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_M52790 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_ST_MIPID02 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> RDS decoders +CONFIG_VIDEO_SAA6588 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> SDR tuner chips +CONFIG_SDR_MAX2175 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> SPI helper chips +CONFIG_VIDEO_GS1662 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Video decoders +CONFIG_VIDEO_ADV7180 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_ADV7183 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_ADV748X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_ADV7604 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_ADV7604_CEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIDEO_ADV7842 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_ADV7842_CEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIDEO_BT819 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_BT856 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_BT866 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_KS0127 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_ML86V7667 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_SAA7110 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_SAA711X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TC358743 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TC358743_CEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIDEO_TVP514X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TVP5150 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TVP7002 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TW2804 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TW9903 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TW9906 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TW9910 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_VPX3220 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_MAX9286 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_SAA717X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_CX25840 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Video encoders +CONFIG_VIDEO_SAA7127 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_SAA7185 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_ADV7170 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_ADV7175 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_ADV7343 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_ADV7393 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_AD9389B policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_AK881X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_THS8200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media ancillary drivers >> Video improvement chips +CONFIG_VIDEO_UPD64031A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_UPD64083 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media controller options +CONFIG_MEDIA_CONTROLLER_DVB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media core support +CONFIG_VIDEO_DEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_CONTROLLER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media device types +CONFIG_MEDIA_CAMERA_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MEDIA_ANALOG_TV_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MEDIA_DIGITAL_TV_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MEDIA_RADIO_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MEDIA_SDR_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MEDIA_PLATFORM_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MEDIA_TEST_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers +CONFIG_SMS_SDIO_DRV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_FIREDTV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SMS_SIANO_RC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SMS_SIANO_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> DVB platform devices +CONFIG_DVB_PLATFORM_DRIVERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DVB_C8SECTPFE policy<{'armhf': 'n'}> +# +CONFIG_DVB_C8SECTPFE flag + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> DVB test drivers +CONFIG_DVB_TEST_DRIVERS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media PCI Adapters +CONFIG_MEDIA_PCI_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIDEO_MEYE policy<{'amd64': 'm'}> +CONFIG_VIDEO_SOLO6X10 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TW5864 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TW68 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TW686X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_HEXIUM_GEMINI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_HEXIUM_ORION policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_MXB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_DT3155 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_CX18 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_CX18_ALSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_CX23885 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEDIA_ALTERA_CI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_CX25821 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_CX25821_ALSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_BT848 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_BT8XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_SAA7164 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_COBALT policy<{'amd64': 'm'}> +CONFIG_DVB_B2C2_FLEXCOP_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_DVB_PLUTO2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_DM1105 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_PT1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_PT3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MANTIS_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_MANTIS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_HOPPER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_NGENE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_DDBRIDGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_DDBRIDGE_MSIENABLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_DVB_SMIPCIE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_NETUP_UNIDVB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_IPU3_CIO2 policy<{'amd64': 'm'}> +CONFIG_CIO2_BRIDGE policy<{'amd64': 'y'}> +CONFIG_VIDEO_PCI_SKELETON policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_VIDEO_IVTV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_IVTV_ALSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_FB_IVTV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_FB_IVTV_FORCE_PAT policy<{'amd64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media PCI Adapters >> Conexant 2388x (bt878 successor) support +CONFIG_VIDEO_CX88 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_CX88_ALSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_CX88_BLACKBIRD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_CX88_DVB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_CX88_ENABLE_VP3054 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media PCI Adapters >> Philips SAA7134 support +CONFIG_VIDEO_SAA7134 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_SAA7134_ALSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_SAA7134_RC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIDEO_SAA7134_DVB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_SAA7134_GO7007 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media PCI Adapters >> SAA7146 DVB cards (aka Budget, Nova-PCI) +CONFIG_DVB_BUDGET_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_BUDGET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_BUDGET_CI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_BUDGET_AV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters +CONFIG_MEDIA_USB_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_VIDEO_CLASS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_PWC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_PWC_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_USB_PWC_INPUT_EVDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIDEO_CPIA2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_ZR364XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_STKWEBCAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_S2255 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_USBTV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_PVRUSB2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_PVRUSB2_SYSFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIDEO_PVRUSB2_DVB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIDEO_PVRUSB2_DEBUGIFC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_VIDEO_HDPVR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_STK1160_COMMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_GO7007 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_GO7007_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_GO7007_LOADER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_GO7007_USB_S2250_BOARD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_AU0828 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_AU0828_V4L2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIDEO_AU0828_RC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIDEO_TM6000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TM6000_ALSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_TM6000_DVB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TTUSB_BUDGET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_TTUSB_DEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SMS_USB_DRV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_B2C2_FLEXCOP_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_DVB_AS102 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_AIRSPY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_HACKRF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_MSI2500 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters >> Conexant cx231xx USB video capture support +CONFIG_VIDEO_CX231XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_CX231XX_RC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIDEO_CX231XX_ALSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_CX231XX_DVB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters >> Empia EM28xx USB devices support +CONFIG_VIDEO_EM28XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_EM28XX_V4L2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_EM28XX_ALSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_EM28XX_DVB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_EM28XX_RC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters >> GSPCA based webcams +CONFIG_USB_GSPCA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_M5602 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_STV06XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GL860 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_BENQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_CONEX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_CPIA1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_DTCS033 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_ETOMS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_FINEPIX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_JEILINJ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_JL2005BCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_KINECT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_KONICA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_MARS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_MR97310A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_NW80X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_OV519 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_OV534 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_OV534_9 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_PAC207 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_PAC7302 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_PAC7311 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_SE401 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_SN9C2028 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_SN9C20X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_SONIXB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_SONIXJ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA500 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA501 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA505 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA506 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA508 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA561 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_SPCA1528 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_SQ905 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_SQ905C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_SQ930X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_STK014 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_STK1135 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_STV0680 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_SUNPLUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_T613 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_TOPRO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_TOUPTEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_TV8532 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_VC032X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_VICAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_XIRLINK_CIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GSPCA_ZC3XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters >> Support for various USB DVB devices +CONFIG_DVB_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_DVB_USB_A800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_DIBUSB_MB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_DIBUSB_MB_FAULTY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_DVB_USB_DIBUSB_MC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_DIB0700 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_UMT_010 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_CXUSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_CXUSB_ANALOG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DVB_USB_M920X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_DIGITV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_VP7045 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_VP702X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_GP8PSK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_NOVA_T_USB2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_TTUSB2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_DTT200U policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_OPERA1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_AF9005 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_AF9005_REMOTE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_PCTV452E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_DW2102 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_CINERGY_T2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_DTV5100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_AZ6027 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_TECHNISAT_USB2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Media USB Adapters >> Support for various USB DVB devices v2 +CONFIG_DVB_USB_V2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_AF9015 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_AF9035 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_ANYSEE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_AU6610 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_AZ6007 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_CE6230 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_EC168 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_GL861 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_LME2510 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_MXL111SF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_RTL28XXU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_DVBSKY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_USB_ZD1301 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Memory-to-memory multimedia devices +CONFIG_V4L_MEM2MEM_DRIVERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIDEO_ALLEGRO_DVT policy<{'arm64': 'm'}> +CONFIG_VIDEO_CODA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_IMX_PXP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_IMX8_JPEG policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_MEDIATEK_VPU policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_MEM2MEM_DEINTERLACE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_MESON_GE2D policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_SAMSUNG_S5P_G2D policy<{'armhf': 'n'}> +CONFIG_VIDEO_SAMSUNG_S5P_JPEG policy<{'armhf': 'n'}> +CONFIG_VIDEO_SAMSUNG_S5P_MFC policy<{'armhf': 'n'}> +CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC policy<{'armhf': 'n'}> +CONFIG_VIDEO_RENESAS_FDP1 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_RENESAS_JPU policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_RENESAS_FCP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_RENESAS_VSP1 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_ROCKCHIP_RGA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_TI_VPE policy<{'armhf': 'm'}> +CONFIG_VIDEO_TI_VPE_DEBUG policy<{'armhf': 'n'}> +CONFIG_VIDEO_QCOM_VENUS policy<{'arm64': 'm'}> +CONFIG_VIDEO_SUN8I_DEINTERLACE policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_VIDEO_SUN8I_ROTATE policy<{'arm64': 'm', 'armhf': '-'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Radio Adapters +CONFIG_RADIO_ADAPTERS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RADIO_SI470X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SI470X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_I2C_SI470X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RADIO_SI476X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_MR800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_DSBR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RADIO_MAXIRADIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RADIO_SHARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RADIO_SHARK2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_KEENE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_RAREMONO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_MA901 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RADIO_TEA5764 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RADIO_SAA7706H policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RADIO_TEF6862 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RADIO_WL1273 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RADIO_WL128X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Radio Adapters >> ISA radio devices + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> Radio Adapters >> Silicon Labs Si4713 FM Radio with RDS Transmitter support +CONFIG_RADIO_SI4713 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SI4713 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PLATFORM_SI4713 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_I2C_SI4713 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> SDR platform devices +CONFIG_SDR_PLATFORM_DRIVERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIDEO_RCAR_DRIF policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> V4L platform devices +CONFIG_V4L_PLATFORM_DRIVERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIDEO_CAFE_CCIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_VIA_CAMERA policy<{'amd64': 'm'}> +CONFIG_VIDEO_OMAP2_VOUT policy<{'armhf-generic': 'm'}> +CONFIG_VIDEO_ASPEED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_CADENCE_CSI2RX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_CADENCE_CSI2TX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_MUX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_OMAP3 policy<{'armhf-generic': 'm'}> +CONFIG_VIDEO_OMAP3_DEBUG policy<{'armhf-generic': 'n'}> +CONFIG_VIDEO_QCOM_CAMSS policy<{'arm64': 'm'}> +CONFIG_VIDEO_RENESAS_CEU policy<{'armhf': 'm'}> +CONFIG_VIDEO_ROCKCHIP_ISP1 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_RCAR_CSI2 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_RCAR_VIN policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_SUN4I_CSI policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_VIDEO_SUN6I_CSI policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_VIDEO_TI_CAL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_TI_CAL_MC policy<{'arm64': 'y', 'armhf-generic': 'n', 'armhf-generic-lpae': 'y'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> V4L platform devices >> Samsung S5P/EXYNOS4 SoC series Camera Subsystem driver +CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS policy<{'armhf': 'n'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> V4L platform devices >> Xilinx Video IP (EXPERIMENTAL) +CONFIG_VIDEO_XILINX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_XILINX_CSI2RXSS policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_XILINX_TPG policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_XILINX_VTC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multimedia support >> Media drivers >> V4L test drivers +CONFIG_V4L_TEST_DRIVERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIDEO_VIMC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_VIVID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_VIVID_CEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIDEO_VIVID_MAX_DEVS policy<{'amd64': '64', 'arm64': '64', 'armhf': '64', 'ppc64el': '64', 'riscv64': '64'}> +CONFIG_VIDEO_VIM2M policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIDEO_VICODEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +# +CONFIG_VIDEO_VIMC note + +# Menu: Device Drivers >> Multimedia support >> Video4Linux options +CONFIG_VIDEO_ADV_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_VIDEO_FIXED_MINOR_RANGES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_VIDEO_V4L2_SUBDEV_API policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_V4L2_FLASH_LED_CLASS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Multiple devices driver support (RAID and LVM) +CONFIG_MD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Device Drivers >> Multiple devices driver support (RAID and LVM) >> Block device as cache +CONFIG_BCACHE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BCACHE_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_BCACHE_CLOSURES_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_BCACHE_ASYNC_REGISTRATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Device Drivers >> Multiple devices driver support (RAID and LVM) >> Device mapper support +CONFIG_BLK_DEV_DM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DM_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'y'}> +CONFIG_DM_UNSTRIPED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_CRYPT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_SNAPSHOT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_THIN_PROVISIONING policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_CACHE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_CACHE_SMQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_WRITECACHE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_EBS policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_ERA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_CLONE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_MIRROR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_LOG_USERSPACE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_RAID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_ZERO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_DELAY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_DUST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DM_INIT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DM_UEVENT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DM_FLAKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_VERITY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DM_VERITY_FEC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DM_SWITCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_LOG_WRITES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_INTEGRITY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_ZONED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +# +CONFIG_BLK_DEV_DM mark note + +# Menu: Device Drivers >> Multiple devices driver support (RAID and LVM) >> Device mapper support >> Multipath target +CONFIG_DM_MULTIPATH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_MULTIPATH_QL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_MULTIPATH_ST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_MULTIPATH_HST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DM_MULTIPATH_IOA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> Multiple devices driver support (RAID and LVM) >> RAID support +CONFIG_BLK_DEV_MD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MD_AUTODETECT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MD_LINEAR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MD_RAID0 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MD_RAID1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MD_RAID10 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MD_RAID456 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MD_MULTIPATH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'y'}> +CONFIG_MD_FAULTY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MD_CLUSTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> Multiplexer drivers +CONFIG_MUX_ADG792A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MUX_ADGS1408 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MUX_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MUX_MMIO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> NVDIMM (Non-Volatile Memory Device) Support +CONFIG_LIBNVDIMM policy<{'amd64': 'y', 'arm64': 'y', 'armhf-generic-lpae': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_BLK_DEV_PMEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BTT policy<{'amd64': 'y', 'arm64': 'y', 'armhf-generic-lpae': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_NVDIMM_PFN policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y'}> +CONFIG_NVDIMM_DAX policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y'}> +CONFIG_OF_PMEM policy<{'arm64': 'm', 'armhf-generic-lpae': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> NVME Support +CONFIG_BLK_DEV_NVME policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NVME_MULTIPATH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NVME_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_NVME_RDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NVME_FC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NVME_TCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +# +CONFIG_BLK_DEV_NVME mark note + +# Menu: Device Drivers >> NVME Support >> NVMe Target support +CONFIG_NVME_TARGET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NVME_TARGET_PASSTHRU policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NVME_TARGET_LOOP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NVME_TARGET_RDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NVME_TARGET_FC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NVME_TARGET_FCLOOP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_NVME_TARGET_TCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> NVMEM Support +CONFIG_NVMEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_NVMEM_SYSFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_NVMEM_IMX_IIM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_NVMEM_IMX_OCOTP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_NVMEM_IMX_OCOTP_SCU policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTK_EFUSE policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_QCOM_QFPROM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_NVMEM_SPMI_SDAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ROCKCHIP_EFUSE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ROCKCHIP_OTP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_NVMEM_BCM_OCOTP policy<{'arm64': 'm'}> +CONFIG_NVMEM_SUNXI_SID policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_UNIPHIER_EFUSE policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_NVMEM_VF610_OCOTP policy<{'armhf': 'n'}> +CONFIG_MESON_EFUSE policy<{'arm64-generic': 'm'}> +CONFIG_MESON_MX_EFUSE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_NVMEM_SNVS_LPGPR policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RAVE_SP_EEPROM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SC27XX_EFUSE policy<{'arm64': 'm'}> +CONFIG_NVMEM_ZYNQMP policy<{'arm64': 'y'}> +CONFIG_SPRD_EFUSE policy<{'arm64': 'm'}> +CONFIG_NVMEM_RMEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +# +CONFIG_NVMEM flag note note + +# Menu: Device Drivers >> Network device support +CONFIG_NETDEVICES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_HIPPI policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_QCOM_IPA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_NET_SB1000 policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_MICREL_KS8995MA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PLIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_XEN_NETDEV_FRONTEND policy<{'amd64': 'y', 'arm64': 'y', 'armhf': '-'}> +CONFIG_XEN_NETDEV_BACKEND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': '-'}> +CONFIG_VMXNET3 policy<{'amd64': 'm', 'arm64-generic': 'm', 'armhf': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FUJITSU_ES policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_USB4_NET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HYPERV_NET policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_NETDEVSIM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_FAILOVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +# +CONFIG_HIPPI flag +CONFIG_XEN_NETDEV_FRONTEND note + +# Menu: Device Drivers >> Network device support >> ARCnet support +CONFIG_ARCNET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_ARCNET_1201 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ARCNET_1051 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ARCNET_RAW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ARCNET_CAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ARCNET_COM90xx policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ARCNET_COM90xxIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ARCNET_RIM_I policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> ARCnet support >> ARCnet COM20020 chipset driver +CONFIG_ARCNET_COM20020 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ARCNET_COM20020_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ARCNET_COM20020_CS policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Network device support >> ATM drivers +CONFIG_ATM_DRIVERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATM_DUMMY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATM_TCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATM_LANAI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATM_ENI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATM_ENI_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_ATM_NICSTAR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATM_NICSTAR_USE_SUNI policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_ATM_NICSTAR_USE_IDT77105 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_ATM_IDT77252 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATM_IDT77252_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_ATM_IDT77252_RCV_ALL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_ATM_IA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATM_IA_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_ATM_HE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATM_HE_USE_SUNI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATM_SOLOS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +# +CONFIG_ATM_NICSTAR_USE_IDT77105 flag + +# Menu: Device Drivers >> Network device support >> ATM drivers >> FORE Systems 200E-series +CONFIG_ATM_FORE200E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATM_FORE200E_USE_TASKLET policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_ATM_FORE200E_TX_RETRY policy<{'amd64': '16', 'arm64': '16', 'armhf': '16', 'ppc64el': '16', 'riscv64': '16'}> +CONFIG_ATM_FORE200E_DEBUG policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 'riscv64': '0'}> + +# Menu: Device Drivers >> Network device support >> ATM drivers >> Fine-tune burst settings +CONFIG_ATM_ENI_TUNE_BURST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Device Drivers >> Network device support >> CAIF transport drivers +CONFIG_CAIF_DRIVERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CAIF_TTY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAIF_VIRTIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Distributed Switch Architecture drivers +CONFIG_NET_DSA_BCM_SF2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_LOOP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_LANTIQ_GSWIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_MT7530 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_MV88E6060 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_MV88E6XXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_MV88E6XXX_PTP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_NET_DSA_MSCC_FELIX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'n'}> +CONFIG_NET_DSA_MSCC_SEVILLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_AR9331 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_SJA1105 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_SJA1105_PTP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_NET_DSA_SJA1105_TAS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_NET_DSA_SJA1105_VL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_NET_DSA_XRS700X_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_XRS700X_MDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_QCA8K policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_REALTEK_SMI policy<{'amd64': 'n', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_SMSC_LAN9303_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_SMSC_LAN9303_MDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_VITESSE_VSC73XX_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +# +CONFIG_NET_DSA_LOOP flag + +# Menu: Device Drivers >> Network device support >> Distributed Switch Architecture drivers >> Broadcom BCM53xx managed switch support +CONFIG_B53 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_B53_SPI_DRIVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_B53_MDIO_DRIVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_B53_MMAP_DRIVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_B53_SRAB_DRIVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_B53_SERDES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Distributed Switch Architecture drivers >> Microchip KSZ8795 series switch support +CONFIG_NET_DSA_MICROCHIP_KSZ8795 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_MICROCHIP_KSZ8863_SMI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Distributed Switch Architecture drivers >> Microchip KSZ9477 series switch support +CONFIG_NET_DSA_MICROCHIP_KSZ9477 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support +CONFIG_ETHERNET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NET_VENDOR_ACTIONS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_OWL_EMAC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_NET_VENDOR_ADAPTEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_ADAPTEC_STARFIRE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_NET_VENDOR_AGERE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_ET131X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_NET_VENDOR_ALACRITECH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SLICOSS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_VENDOR_ALLWINNER policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_SUN4I_EMAC policy<{'arm64': 'n', 'armhf': '-'}> +CONFIG_NET_VENDOR_ALTEON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_ACENIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_ACENIC_OMIT_TIGON_I policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_ALTERA_TSE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_NET_VENDOR_AMAZON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ENA_ETHERNET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_XGENE policy<{'arm64': 'm'}> +CONFIG_NET_XGENE_V2 policy<{'arm64': 'm'}> +CONFIG_NET_VENDOR_AQUANTIA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_AQTION policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_NET_VENDOR_ARC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_EMAC_ROCKCHIP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_NET_VENDOR_BROCADE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_BNA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_NET_VENDOR_CADENCE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MACB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MACB_USE_HWSTAMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MACB_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_CALXEDA_XGMAC policy<{'armhf': 'm'}> +CONFIG_NET_VENDOR_CISCO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_ENIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_NET_VENDOR_CORTINA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_GEMINI_ETHERNET policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CX_ECAT policy<{'amd64': 'm'}> +CONFIG_DM9000 policy<{'armhf': 'm'}> +CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL policy<{'armhf': 'n'}> +CONFIG_DNET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_NET_VENDOR_DEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_NET_VENDOR_DLINK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_DL2K policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SUNDANCE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SUNDANCE_MMIO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_NET_VENDOR_EMULEX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_NET_VENDOR_EZCHIP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_EZCHIP_NPS_MANAGEMENT_ENET policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_VENDOR_FARADAY policy<{'armhf': 'y'}> +CONFIG_FTMAC100 policy<{'armhf': 'm'}> +CONFIG_FTGMAC100 policy<{'armhf': 'm'}> +CONFIG_NET_VENDOR_FUJITSU policy<{'amd64': 'y'}> +CONFIG_PCMCIA_FMVJ18X policy<{'amd64': 'm'}> +CONFIG_NET_VENDOR_GOOGLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_GVE policy<{'amd64': 'm', 'armhf': 'm', 'arm64': 'm', 'ppc64el': 'm'}> +CONFIG_NET_VENDOR_HUAWEI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_HINIC policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_NET_VENDOR_MICROSOFT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_MICROSOFT_MANA policy<{'amd64': 'm'}> +CONFIG_JME policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_NET_VENDOR_LITEX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_LITEX_LITEETH policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_VENDOR_MEDIATEK policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_NET_VENDOR_MICROSEMI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_MSCC_OCELOT_SWITCH policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_VENDOR_MYRI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_MYRI10GE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MYRI10GE_DCA policy<{'amd64': 'y'}> +CONFIG_FEALNX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_NET_VENDOR_NETERION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_S2IO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_VXGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_VXGE_DEBUG_TRACE_ALL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_NET_VENDOR_NETRONOME policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NET_VENDOR_NI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_NI_XGE_MANAGEMENT_ENET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_NET_VENDOR_NVIDIA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_FORCEDETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_NET_VENDOR_OKI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_ETHOC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_NET_VENDOR_PACKET_ENGINES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_HAMACHI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_YELLOWFIN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_NET_VENDOR_PENSANDO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_IONIC policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_NET_VENDOR_RDC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_R6040 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_NET_VENDOR_RENESAS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_SH_ETH policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RAVB policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_NET_VENDOR_ROCKER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_ROCKER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_NET_VENDOR_SAMSUNG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_SXGBE_ETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_NET_VENDOR_SEEQ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_NET_VENDOR_SOLARFLARE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SFC_FALCON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SFC_FALCON_MTD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_NET_VENDOR_SILAN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_SC92031 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_NET_VENDOR_SIS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_SIS900 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SIS190 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_NET_VENDOR_SOCIONEXT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SNI_NETSEC policy<{'arm64': 'm'}> +CONFIG_NET_VENDOR_STMICRO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_NET_VENDOR_SYNOPSYS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DWC_XLGMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DWC_XLGMAC_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_VENDOR_TEHUTI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_TEHUTI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_NET_VENDOR_VIA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_VIA_RHINE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_VIA_RHINE_MMIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIA_VELOCITY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_NET_VENDOR_WIZNET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_WIZNET_W5100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_WIZNET_W5300 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_WIZNET_W5100_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_VENDOR_XIRCOM policy<{'amd64': 'y'}> +CONFIG_PCMCIA_XIRC2PS policy<{'amd64': 'm'}> +# +CONFIG_NET_VENDOR_EMULEX note + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> 3Com devices +CONFIG_NET_VENDOR_3COM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_EL3 policy<{'amd64': 'm'}> +CONFIG_PCMCIA_3C574 policy<{'amd64': 'm'}> +CONFIG_PCMCIA_3C589 policy<{'amd64': 'm'}> +CONFIG_VORTEX policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TYPHOON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> AMD devices +CONFIG_NET_VENDOR_AMD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_AMD8111_ETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PCNET32 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PCMCIA_NMCLAN policy<{'amd64': 'm'}> +CONFIG_AMD_XGBE policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_AMD_XGBE_DCB policy<{'amd64': 'y', 'arm64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Apple devices + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Atheros devices +CONFIG_NET_VENDOR_ATHEROS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_ATL2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_ATL1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_ATL1E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_ATL1C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_ALX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Broadcom devices +CONFIG_NET_VENDOR_BROADCOM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_B44 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BCM4908_ENET policy<{'arm64': 'm'}> +CONFIG_BCMGENET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BNX2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CNIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TIGON3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TIGON3_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BNX2X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BNX2X_SRIOV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BGMAC_PLATFORM policy<{'arm64': 'y'}> +CONFIG_SYSTEMPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +# +CONFIG_TIGON3 flag + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Broadcom devices >> Broadcom NetXtreme-C/E support +CONFIG_BNXT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BNXT_SRIOV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BNXT_FLOWER_OFFLOAD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BNXT_DCB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BNXT_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Cavium ethernet drivers +CONFIG_NET_VENDOR_CAVIUM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_THUNDER_NIC_PF policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_THUNDER_NIC_VF policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_THUNDER_NIC_BGX policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_THUNDER_NIC_RGX policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CAVIUM_PTP policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LIQUIDIO policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LIQUIDIO_VF policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Chelsio devices +CONFIG_NET_VENDOR_CHELSIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_CHELSIO_T1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHELSIO_T1_1G policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CHELSIO_T3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHELSIO_T4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHELSIO_T4_DCB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CHELSIO_T4_FCOE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CHELSIO_T4VF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Chelsio devices >> Chelsio Inline Crypto support +CONFIG_CHELSIO_INLINE_CRYPTO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CHELSIO_IPSEC_INLINE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CHELSIO_TLS_DEVICE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Cirrus devices +CONFIG_NET_VENDOR_CIRRUS policy<{'amd64': 'y', 'armhf': 'y'}> +CONFIG_CS89x0_PLATFORM policy<{'armhf': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> DEC - Tulip devices +CONFIG_NET_TULIP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DE2104X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_DE2104X_DSL policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 'riscv64': '0'}> +CONFIG_WINBOND_840 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_DM9102 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_ULI526X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PCMCIA_XIRCOM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '-'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> DEC - Tulip devices >> DECchip Tulip (dc2114x) PCI support +CONFIG_TULIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TULIP_MWI policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_TULIP_MMIO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_TULIP_NAPI policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +# +CONFIG_TULIP_NAPI flag + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Freescale devices +CONFIG_NET_VENDOR_FREESCALE policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_FEC policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_FSL_FMAN policy<{'arm64': 'y'}> +CONFIG_FSL_PQ_MDIO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FSL_XGMAC_MDIO policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_GIANFAR policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FSL_DPAA_ETH policy<{'arm64': 'm'}> +CONFIG_FSL_DPAA2_ETH policy<{'arm64': 'm'}> +CONFIG_FSL_DPAA2_ETH_DCB policy<{'arm64': 'y'}> +CONFIG_FSL_DPAA2_PTP_CLOCK policy<{'arm64': 'm'}> +CONFIG_FSL_DPAA2_SWITCH policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FSL_ENETC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FSL_ENETC_VF policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FSL_ENETC_IERB policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FSL_ENETC_MDIO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FSL_ENETC_PTP_CLOCK policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_FSL_ENETC_QOS policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Freescale devices >> Freescale Ethernet Driver + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Hisilicon devices +CONFIG_NET_VENDOR_HISILICON policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_HIX5HD2_GMAC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HISI_FEMAC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HIP04_ETH policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HI13X1_GMAC policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_HNS_DSAF policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HNS_ENET policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HNS3 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HNS3_HCLGE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HNS3_DCB policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_HNS3_HCLGEVF policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_HNS3_ENET policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> IBM devices +CONFIG_NET_VENDOR_IBM policy<{'ppc64el': 'y'}> +CONFIG_IBMVETH policy<{'ppc64el': 'm'}> +CONFIG_IBMVNIC policy<{'ppc64el': 'm'}> +# +CONFIG_IBMVNIC mark note + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> IBM devices >> IBM EMAC Ethernet support + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Intel (82586/82593/82596) devices +CONFIG_NET_VENDOR_I825XX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Intel devices +CONFIG_NET_VENDOR_INTEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_E100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_E1000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_E1000E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_E1000E_HWTS policy<{'amd64': 'y'}> +CONFIG_IGB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_IGB_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_IGB_DCA policy<{'amd64': 'y'}> +CONFIG_IGBVF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_IXGB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_IXGBEVF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_IXGBEVF_IPSEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_I40E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_I40E_DCB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_I40EVF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_ICE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_FM10K policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_IGC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Intel devices >> Intel(R) 10GbE PCI Express adapters support +CONFIG_IXGBE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_IXGBE_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_IXGBE_DCA policy<{'amd64': 'y'}> +CONFIG_IXGBE_DCB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_IXGBE_IPSEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Marvell devices +CONFIG_NET_VENDOR_MARVELL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_MV643XX_ETH policy<{'armhf': 'm'}> +CONFIG_MVMDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MVNETA_BM_ENABLE policy<{'armhf': 'n'}> +CONFIG_MVNETA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MVPP2 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MVPP2_PTP policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PXA168_ETH policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SKGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SKGE_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_SKGE_GENESIS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SKY2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SKY2_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_OCTEONTX2_AF policy<{'arm64': 'm'}> +CONFIG_NDC_DIS_DYNAMIC_CACHING policy<{'arm64': 'y'}> +CONFIG_OCTEONTX2_PF policy<{'arm64': 'm'}> +CONFIG_OCTEONTX2_VF policy<{'arm64': 'm'}> +CONFIG_PRESTERA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PRESTERA_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Mellanox devices +CONFIG_NET_VENDOR_MELLANOX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MLX4_EN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MLX4_EN_DCB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MLX4_DEBUG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MLX4_CORE_GEN2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MLX5_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MLX5_FPGA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MLXFW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MLXBF_GIGE policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Mellanox devices >> Mellanox 5th generation network adapters (ConnectX series) Ethernet support +CONFIG_MLX5_CORE_EN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MLX5_EN_ARFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MLX5_EN_RXNFC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MLX5_MPFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MLX5_ESWITCH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MLX5_CLS_ACT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MLX5_TC_CT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MLX5_TC_SAMPLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MLX5_CORE_EN_DCB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MLX5_CORE_IPOIB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MLX5_EN_IPSEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MLX5_SW_STEERING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MLX5_SF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Mellanox devices >> Mellanox Technologies Switch ASICs support +CONFIG_MLXSW_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MLXSW_CORE_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MLXSW_CORE_THERMAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MLXSW_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MLXSW_MINIMAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MLXSW_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MLXSW_SPECTRUM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MLXSW_SPECTRUM_DCB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Micrel devices +CONFIG_NET_VENDOR_MICREL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_KS8842 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KS8851 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KS8851_MLL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KSZ884X_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Microchip devices +CONFIG_NET_VENDOR_MICROCHIP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_ENC28J60 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_ENC28J60_WRITEVERIFY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_ENCX24J600 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_LAN743X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPARX5_SWITCH policy<{'amd64': '-', 'arm64': 'm', 'armhf': '-', 'ppc64el': '-'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> National Semiconductor 8390 devices +CONFIG_NET_VENDOR_8390 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PCMCIA_AXNET policy<{'amd64': 'm'}> +CONFIG_AX88796 policy<{'armhf': 'm'}> +CONFIG_AX88796_93CX6 policy<{'armhf': 'n'}> +CONFIG_NE2K_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PCMCIA_PCNET policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> National Semiconductor devices +CONFIG_NET_VENDOR_NATSEMI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_NATSEMI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_NS83820 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Netronome(R) NFP4000/NFP6000 NIC driver +CONFIG_NFP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_NFP_APP_FLOWER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_NFP_APP_ABM_NIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_NFP_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> QLogic devices +CONFIG_NET_VENDOR_QLOGIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_QLA3XXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_NETXEN_NIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_QED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_QED_SRIOV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_QEDE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> QLogic devices >> QLOGIC QLCNIC 1/10Gb Converged Ethernet NIC Support +CONFIG_QLCNIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_QLCNIC_SRIOV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_QLCNIC_DCB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_QLCNIC_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Qualcomm devices +CONFIG_NET_VENDOR_QUALCOMM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_QCA7000_SPI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_QCA7000_UART policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_QCOM_EMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_RMNET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Realtek devices +CONFIG_NET_VENDOR_REALTEK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_ATP policy<{'amd64': 'm'}> +CONFIG_8139CP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_R8169 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Realtek devices >> RealTek RTL-8129/8130/8139 PCI Fast Ethernet Adapter support +CONFIG_8139TOO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_8139TOO_PIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_8139TOO_TUNE_TWISTER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_8139TOO_8129 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_8139_OLD_RX_RESET policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +# +CONFIG_8139TOO_TUNE_TWISTER flag + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> SMC (SMSC)/Western Digital devices +CONFIG_NET_VENDOR_SMSC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_SMC91X policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PCMCIA_SMC91C92 policy<{'amd64': 'm'}> +CONFIG_EPIC100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SMC911X policy<{'armhf': 'm'}> +CONFIG_SMSC911X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SMSC9420 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> STMicroelectronics Multi-Gigabit Ethernet driver +CONFIG_STMMAC_ETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_STMMAC_SELFTESTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_DWMAC_INTEL policy<{'amd64': 'm'}> +CONFIG_DWMAC_LOONGSON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_STMMAC_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> STMicroelectronics Multi-Gigabit Ethernet driver >> STMMAC Platform bus support +CONFIG_STMMAC_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DWMAC_DWC_QOS_ETH policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DWMAC_GENERIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DWMAC_IPQ806X policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DWMAC_MEDIATEK policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DWMAC_MESON policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DWMAC_QCOM_ETHQOS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DWMAC_ROCKCHIP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DWMAC_SOCFPGA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DWMAC_SUNXI policy<{'arm64': 'n', 'armhf': '-'}> +CONFIG_DWMAC_SUN8I policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_DWMAC_IMX8 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DWMAC_INTEL_PLAT policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'n'}> +CONFIG_DWMAC_VISCONTI policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> ServerEngines' 10Gbps NIC - BladeEngine +CONFIG_BE2NET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BE2NET_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BE2NET_BE2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BE2NET_BE3 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BE2NET_LANCER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BE2NET_SKYHAWK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Solarflare SFC9000/SFC9100/EF100-family support +CONFIG_SFC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SFC_MTD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SFC_MCDI_MON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SFC_SRIOV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SFC_MCDI_LOGGING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Sun devices +CONFIG_NET_VENDOR_SUN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_HAPPYMEAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SUNGEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CASSINI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_NIU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Texas Instruments (TI) devices +CONFIG_NET_VENDOR_TI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_TI_DAVINCI_EMAC policy<{'armhf-generic': 'm'}> +CONFIG_TI_DAVINCI_MDIO policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_TI_CPSW_PHY_SEL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_TI_CPSW policy<{'armhf': 'y'}> +CONFIG_TI_CPSW_SWITCHDEV policy<{'armhf': 'm'}> +CONFIG_TI_CPTS policy<{'armhf': 'y'}> +CONFIG_TI_K3_AM65_CPSW_NUSS policy<{'arm64': 'm'}> +CONFIG_TI_K3_AM65_CPSW_SWITCHDEV policy<{'arm64': 'y'}> +CONFIG_TI_K3_AM65_CPTS policy<{'arm64': 'm'}> +CONFIG_TI_AM65_CPSW_TAS policy<{'arm64': 'y'}> +CONFIG_TLAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Toshiba devices + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> WIZnet interface mode +CONFIG_WIZNET_BUS_DIRECT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_WIZNET_BUS_INDIRECT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_WIZNET_BUS_ANY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Ethernet driver support >> Xilinx devices +CONFIG_NET_VENDOR_XILINX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_XILINX_EMACLITE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_XILINX_AXI_EMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_XILINX_LL_TEMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> Network device support >> FDDI driver support +CONFIG_FDDI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_DEFXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SKFP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Network device support >> IEEE 802.15.4 drivers +CONFIG_IEEE802154_DRIVERS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IEEE802154_FAKELB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IEEE802154_AT86RF230 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IEEE802154_MRF24J40 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IEEE802154_CC2520 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IEEE802154_ATUSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IEEE802154_ADF7242 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IEEE802154_CA8210 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IEEE802154_CA8210_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_IEEE802154_MCR20A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IEEE802154_HWSIM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> MDIO bus device drivers +CONFIG_MDIO_DEVICE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MDIO_ASPEED policy<{'armhf': 'm'}> +CONFIG_MDIO_BCM_IPROC policy<{'arm64': 'n'}> +CONFIG_MDIO_BCM_UNIMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MDIO_BITBANG policy<{'amd64': 'm', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MDIO_BUS_MUX_BCM_IPROC policy<{'arm64': 'y'}> +CONFIG_MDIO_BUS_MUX_GPIO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MDIO_BUS_MUX_MESON_G12A policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MDIO_BUS_MUX_MMIOREG policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MDIO_BUS_MUX_MULTIPLEXER policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MDIO_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MDIO_HISI_FEMAC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MDIO_IPQ4019 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MDIO_IPQ8064 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MDIO_MSCC_MIIM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MDIO_MVUSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MDIO_OCTEON policy<{'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MDIO_SUN4I policy<{'arm64': 'n', 'armhf': '-'}> +CONFIG_MDIO_THUNDER policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MDIO_XGENE policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Network core driver support +CONFIG_NET_CORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BONDING policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DUMMY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_WIREGUARD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_WIREGUARD_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_EQUALIZER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_FC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IFB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MACVLAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MACVTAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IPVLAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IPVTAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_VXLAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_GENEVE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BAREUDP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_GTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MACSEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETCONSOLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETCONSOLE_DYNAMIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NTB_NETDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RIONET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_RIONET_TX_SIZE policy<{'amd64': '128', 'arm64': '128', 'armhf': '128', 'ppc64el': '128', 'riscv64': '128'}> +CONFIG_RIONET_RX_SIZE policy<{'amd64': '128', 'arm64': '128', 'armhf': '128', 'ppc64el': '128', 'riscv64': '128'}> +CONFIG_TUN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TUN_VNET_CROSS_LE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_VETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_VIRTIO_NET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_VRF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_VSOCKMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MHI_NET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +# +CONFIG_VIRTIO_NET note flag + +# Menu: Device Drivers >> Network device support >> Network core driver support >> Ethernet team driver support +CONFIG_NET_TEAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_TEAM_MODE_BROADCAST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_TEAM_MODE_ROUNDROBIN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_TEAM_MODE_RANDOM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_TEAM_MODE_ACTIVEBACKUP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_TEAM_MODE_LOADBALANCE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> Network device support >> PCS device drivers +CONFIG_PCS_XPCS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> Network device support >> PHY Device support and infrastructure +CONFIG_PHYLIB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_LED_TRIGGER_PHY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_FIXED_PHY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SFP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_AMD_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MESON_GXL_PHY policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ADIN_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_AQUANTIA_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_AX88796B_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_BROADCOM_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BCM54140_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BCM7XXX_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BCM84881_PHY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_BCM87XX_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CICADA_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CORTINA_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DAVICOM_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_ICPLUS_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_LXT_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INTEL_XWAY_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_LSI_ET1011C_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MARVELL_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MARVELL_10G_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MARVELL_88X2222_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MAXLINEAR_GPHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MEDIATEK_GE_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MICREL_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MICROCHIP_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MICROCHIP_T1_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MICROSEMI_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MOTORCOMM_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_NATIONAL_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NXP_C45_TJA11XX_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_NXP_TJA11XX_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_AT803X_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_QSEMI_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_REALTEK_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_RENESAS_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_ROCKCHIP_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SMSC_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_STE10XP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TERANETICS_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DP83822_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DP83TC811_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DP83848_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DP83867_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DP83869_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_VITESSE_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_XILINX_GMII2RGMII policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> Network device support >> PPP (point-to-point protocol) support +CONFIG_PPP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_PPP_BSDCOMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PPP_DEFLATE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PPP_FILTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PPP_MPPE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PPP_MULTILINK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PPPOATM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PPPOE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PPTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PPPOL2TP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PPP_ASYNC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PPP_SYNC_TTY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Network device support >> S/390 network device drivers +CONFIG_LCS policy<{'s390x': 'm'}> +CONFIG_CTCM policy<{'s390x': 'm'}> +CONFIG_NETIUCV policy<{'s390x': 'm'}> +CONFIG_SMSGIUCV policy<{'s390x': 'y'}> +CONFIG_SMSGIUCV_EVENT policy<{'s390x': 'm'}> +CONFIG_ISM policy<{'s390x': 'm'}> +# +CONFIG_ISM mark note + +# Menu: Device Drivers >> Network device support >> S/390 network device drivers >> Gigabit Ethernet device support +CONFIG_QETH policy<{'s390x': 'm'}> +CONFIG_QETH_L2 policy<{'s390x': 'm'}> +CONFIG_QETH_L3 policy<{'s390x': 'm'}> +CONFIG_QETH_OSX policy<{'s390x': 'n'}> +# +CONFIG_QETH_OSX mark note + +# Menu: Device Drivers >> Network device support >> SLIP (serial line) support +CONFIG_SLIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SLIP_COMPRESSED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SLIP_SMART policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SLIP_MODE_SLIP6 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> USB Network Adapters +CONFIG_USB_NET_DRIVERS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_CATC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_KAWETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_PEGASUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_RTL8150 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_RTL8152 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_LAN78XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_HSO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_IPHETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> USB Network Adapters >> Multi-purpose USB Networking Framework +CONFIG_USB_USBNET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_AX8817X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_AX88179_178A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_CDCETHER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_CDC_EEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_CDC_NCM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_HUAWEI_CDC_NCM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_CDC_MBIM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_DM9601 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_SR9700 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_SR9800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_SMSC75XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_SMSC95XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_GL620A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_NET1080 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_PLUSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_MCS7830 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_RNDIS_HOST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_ZAURUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_CX82310_ETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_KALMIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_QMI_WWAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_INT51X1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_CDC_PHONET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SIERRA_NET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_VL600 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_CH9200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_AQC111 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_RTL8153_ECM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> USB Network Adapters >> Multi-purpose USB Networking Framework >> Simple USB Network Links (CDC Ethernet subset) +CONFIG_USB_NET_CDC_SUBSET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_ALI_M5632 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_AN2720 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_BELKIN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_ARMLINUX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_EPSON2888 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_KC2190 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wan interfaces support +CONFIG_WAN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_SLIC_DS26522 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_LAPBETHER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wan interfaces support >> Generic HDLC layer +CONFIG_HDLC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HDLC_RAW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HDLC_RAW_ETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HDLC_CISCO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HDLC_FR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HDLC_PPP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HDLC_X25 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PCI200SYN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_WANXL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PC300TOO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FARSYNC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FSL_UCC_HDLC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN +CONFIG_WLAN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_WLAN_VENDOR_ADMTEK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ADM8211 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_WLAN_VENDOR_ATMEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATMEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PCI_ATMEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PCMCIA_ATMEL policy<{'amd64': 'm'}> +CONFIG_AT76C50X_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_WLAN_VENDOR_CISCO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_AIRO policy<{'amd64': 'm', 'ppc64el': 'm'}> +CONFIG_AIRO_CS policy<{'amd64': 'm'}> +CONFIG_WLAN_VENDOR_MICROCHIP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_WILC1000_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_WILC1000_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_WILC1000_HW_OOB_INTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_WLAN_VENDOR_RALINK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_WLAN_VENDOR_RSI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_WLAN_VENDOR_ST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CW1200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CW1200_WLAN_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CW1200_WLAN_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_WLAN_VENDOR_ZYDAS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_ZD1201 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ZD1211RW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ZD1211RW_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_WLAN_VENDOR_QUANTENNA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_QTNFMAC_PCIE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PCMCIA_RAYCS policy<{'amd64': 'm'}> +CONFIG_PCMCIA_WL3501 policy<{'amd64': 'm'}> +CONFIG_MAC80211_HWSIM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET_RNDIS_WLAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIRT_WIFI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices +CONFIG_WLAN_VENDOR_ATH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATH_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_ATH5K_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATH9K_BTCOEX_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATH9K_HTC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATH9K_HTC_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATH9K_COMMON_SPECTRAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_AR5523 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_WCN36XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_WCN36XX_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Atheros 5xxx wireless cards support +CONFIG_ATH5K policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATH5K_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_ATH5K_TRACER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Atheros 802.11ac wireless cards support +CONFIG_ATH10K policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATH10K_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATH10K_AHB policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATH10K_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATH10K_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATH10K_SNOC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ATH10K_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_ATH10K_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATH10K_SPECTRAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATH10K_TRACING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Atheros 802.11n wireless cards support +CONFIG_ATH9K policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATH9K_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATH9K_AHB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATH9K_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATH9K_STATION_STATISTICS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATH9K_DYNACK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_ATH9K_WOW policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ATH9K_RFKILL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATH9K_CHANNEL_CONTEXT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATH9K_PCOEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATH9K_PCI_NO_EEPROM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATH9K_HWRNG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Atheros mobile chipsets support +CONFIG_ATH6KL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATH6KL_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATH6KL_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATH6KL_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_ATH6KL_TRACING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Linux Community AR9170 802.11n USB support +CONFIG_CARL9170 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CARL9170_LEDS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CARL9170_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_CARL9170_HWRNG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Qualcomm Technologies 802.11ax chipset support +CONFIG_ATH11K policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATH11K_AHB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_ATH11K_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATH11K_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_ATH11K_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATH11K_SPECTRAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATH11K_TRACING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Atheros/Qualcomm devices >> Wilocity 60g WiFi card wil6210 support +CONFIG_WIL6210 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_WIL6210_ISR_COR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_WIL6210_TRACING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_WIL6210_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Broadcom devices +CONFIG_WLAN_VENDOR_BROADCOM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_B43LEGACY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_B43LEGACY_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_BRCMSMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BRCM_TRACING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BRCMDBG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +# +CONFIG_BRCMDBG flag + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Broadcom devices >> Broadcom 43xx wireless support (mac80211 stack) +CONFIG_B43 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_B43_SDIO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_B43_PHY_G policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_B43_PHY_N policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_B43_PHY_LP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_B43_PHY_HT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_B43_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Broadcom devices >> Broadcom 43xx wireless support (mac80211 stack) >> Supported bus types +CONFIG_B43_BUSES_BCMA_AND_SSB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_B43_BUSES_BCMA policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_B43_BUSES_SSB policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Broadcom devices >> Broadcom 43xx-legacy data transfer mode +CONFIG_B43LEGACY_DMA_AND_PIO_MODE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_B43LEGACY_DMA_MODE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_B43LEGACY_PIO_MODE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Broadcom devices >> Broadcom FullMAC WLAN driver +CONFIG_BRCMFMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BRCMFMAC_SDIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BRCMFMAC_USB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BRCMFMAC_PCIE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intel devices +CONFIG_WLAN_VENDOR_INTEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_IPW2100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IPW2100_MONITOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_IPW2100_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_LIBIPW_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_IWL4965 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IWL3945 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intel devices >> Intel PRO/Wireless 2200BG and 2915ABG Network Connection +CONFIG_IPW2200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IPW2200_MONITOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_IPW2200_RADIOTAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_IPW2200_PROMISCUOUS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_IPW2200_QOS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_IPW2200_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intel devices >> Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) +CONFIG_IWLWIFI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IWLDVM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IWLMVM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intel devices >> Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) >> Debugging Options +CONFIG_IWLWIFI_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_IWLWIFI_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_IWLWIFI_DEVICE_TRACING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intel devices >> iwl3945 / iwl4965 Debugging Options +CONFIG_IWLEGACY_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_IWLEGACY_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intersil devices +CONFIG_WLAN_VENDOR_INTERSIL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intersil devices >> Hermes chipset 802.11b support (Orinoco/Prism2/Symbol) +CONFIG_HERMES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HERMES_PRISM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_HERMES_CACHE_FW_ON_INIT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PLX_HERMES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TMD_HERMES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NORTEL_HERMES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PCMCIA_HERMES policy<{'amd64': 'm'}> +CONFIG_PCMCIA_SPECTRUM policy<{'amd64': 'm'}> +CONFIG_ORINOCO_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intersil devices >> IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP) +CONFIG_HOSTAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HOSTAP_FIRMWARE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_HOSTAP_FIRMWARE_NVRAM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_HOSTAP_PLX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HOSTAP_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HOSTAP_CS policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Intersil devices >> Softmac Prism54 support +CONFIG_P54_COMMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_P54_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_P54_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_P54_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_P54_SPI_DEFAULT_EEPROM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Marvell devices +CONFIG_WLAN_VENDOR_MARVELL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_LIBERTAS_THINFIRM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LIBERTAS_THINFIRM_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_LIBERTAS_THINFIRM_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MWL8K policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Marvell devices >> Marvell 8xxx Libertas WLAN driver support +CONFIG_LIBERTAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LIBERTAS_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LIBERTAS_CS policy<{'amd64': 'm'}> +CONFIG_LIBERTAS_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LIBERTAS_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LIBERTAS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_LIBERTAS_MESH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Marvell devices >> Marvell WiFi-Ex Driver +CONFIG_MWIFIEX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MWIFIEX_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MWIFIEX_PCIE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MWIFIEX_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> MediaTek devices +CONFIG_WLAN_VENDOR_MEDIATEK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MT7601U policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MT76x0U policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MT76x0E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MT76x2E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MT76x2U policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MT7603E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MT7615E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MT7622_WMAC policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MT7663U policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MT7663S policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MT7915E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MT7921E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Ralink driver support +CONFIG_RT2X00 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RT2400PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RT2500PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RT61PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RT2500USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RT73USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RT2X00_LIB_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_RT2X00_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Ralink driver support >> Ralink rt27xx/rt28xx/rt30xx (PCI/PCIe/PCMCIA) support +CONFIG_RT2800PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RT2800PCI_RT33XX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RT2800PCI_RT35XX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RT2800PCI_RT53XX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RT2800PCI_RT3290 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Ralink driver support >> Ralink rt27xx/rt28xx/rt30xx (USB) support +CONFIG_RT2800USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RT2800USB_RT33XX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RT2800USB_RT35XX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RT2800USB_RT3573 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RT2800USB_RT53XX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RT2800USB_RT55XX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RT2800USB_UNKNOWN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Realtek devices +CONFIG_WLAN_VENDOR_REALTEK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RTL8180 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTL8187 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTL8XXXU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTL8XXXU_UNTESTED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Realtek devices >> Realtek 802.11ac wireless chips support +CONFIG_RTW88 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTW88_8822BE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTW88_8822CE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTW88_8723DE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTW88_8821CE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTW88_DEBUG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RTW88_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Realtek devices >> Realtek 802.11ax wireless chips support +CONFIG_RTW89 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTW89_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTW89_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTW89_8852AE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTW89_DEBUG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RTW89_DEBUGMSG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RTW89_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Realtek devices >> Realtek rtlwifi family of devices +CONFIG_RTL_CARDS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTL8192CE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTL8192SE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTL8192DE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTL8723AE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTL8723BE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTL8188EE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTL8192EE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTL8821AE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTL8192CU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTLWIFI_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Redpine Signals Inc 91x WLAN driver support +CONFIG_RSI_91X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RSI_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_RSI_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RSI_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RSI_COEX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless LAN >> Texas Instrument devices +CONFIG_WLAN_VENDOR_TI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_WL1251 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_WL1251_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_WL1251_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_WL12XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_WL18XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_WLCORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_WLCORE_SPI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_WLCORE_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_WILINK_PLATFORM_DATA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Network device support >> Wireless WAN + +# Menu: Device Drivers >> Network device support >> Wireless WAN >> WWAN Driver Core +CONFIG_WWAN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_WWAN_HWSIM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MHI_WWAN_CTRL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MHI_WWAN_MBIM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RPMSG_WWAN_CTRL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IOSM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Non-Transparent Bridge support +CONFIG_NTB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_NTB_MSI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_NTB_AMD policy<{'amd64': 'n'}> +CONFIG_NTB_IDT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NTB_INTEL policy<{'amd64': 'm'}> +CONFIG_NTB_EPF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NTB_SWITCHTEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NTB_PINGPONG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NTB_TOOL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NTB_PERF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NTB_MSI_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_NTB_TRANSPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> On-Chip Interconnect management support +CONFIG_INTERCONNECT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_INTERCONNECT_QCOM_SC7180 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INTERCONNECT_QCOM_SC7280 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INTERCONNECT_QCOM_SC8180X policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INTERCONNECT_QCOM_SDM845 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INTERCONNECT_QCOM_SDX55 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INTERCONNECT_QCOM_SM8150 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INTERCONNECT_QCOM_SM8250 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INTERCONNECT_QCOM_SM8350 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INTERCONNECT_SAMSUNG policy<{'armhf': 'n'}> +CONFIG_INTERCONNECT_EXYNOS policy<{'armhf': '-'}> + +# Menu: Device Drivers >> On-Chip Interconnect management support >> Qualcomm Network-on-Chip interconnect drivers +CONFIG_INTERCONNECT_QCOM policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_INTERCONNECT_QCOM_MSM8916 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INTERCONNECT_QCOM_MSM8939 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INTERCONNECT_QCOM_MSM8974 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INTERCONNECT_QCOM_OSM_L3 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INTERCONNECT_QCOM_QCS404 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INTERCONNECT_QCOM_SDM660 policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> On-Chip Interconnect management support >> i.MX interconnect drivers +CONFIG_INTERCONNECT_IMX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INTERCONNECT_IMX8MM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INTERCONNECT_IMX8MN policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_INTERCONNECT_IMX8MQ policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> PCCard (PCMCIA/CardBus) support +CONFIG_PCCARD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CARDBUS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '-'}> + +# Menu: Device Drivers >> PCCard (PCMCIA/CardBus) support >> 16-bit PCMCIA support +CONFIG_PCMCIA policy<{'amd64': 'm', 'arm64': 'n', 'armhf': 'n', 'ppc64el': '-'}> +CONFIG_PCMCIA_LOAD_CIS policy<{'amd64': 'y'}> +CONFIG_PD6729 policy<{'amd64': 'm'}> +CONFIG_I82092 policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> PCCard (PCMCIA/CardBus) support >> CardBus yenta-compatible bridge support +CONFIG_YENTA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '-'}> +CONFIG_YENTA_O2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '-'}> +CONFIG_YENTA_RICOH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '-'}> +CONFIG_YENTA_TI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '-'}> +CONFIG_YENTA_ENE_TUNE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '-'}> +CONFIG_YENTA_TOSHIBA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': '-'}> + +# Menu: Device Drivers >> PCI support +CONFIG_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PCIEASPM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PCIE_PTM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PCI_MSI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PCI_QUIRKS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_PCI_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PCI_REALLOC_ENABLE_AUTO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PCI_STUB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_PCI_PF_STUB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_XEN_PCIDEV_FRONTEND policy<{'amd64': 'm'}> +CONFIG_PCI_IOV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PCI_PRI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_PCI_PASID policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_PCI_P2PDMA policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n'}> +CONFIG_PCI_HYPERV policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_PCIEPORTBUS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'n', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_HOTPLUG_PCI_PCIE policy<{'amd64': 'y', 'arm64': 'y', 'riscv64': 'y', 's390x': 'y', 'armhf': '-', 'ppc64el': '-'}> +# +CONFIG_PCI_P2PDMA flag +CONFIG_PCIEPORTBUS mark note +CONFIG_HOTPLUG_PCI_PCIE mark note + +# Menu: Device Drivers >> PCI support >> Default ASPM policy +CONFIG_PCIEASPM_DEFAULT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PCIEASPM_POWERSAVE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PCIEASPM_POWER_SUPERSAVE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PCIEASPM_PERFORMANCE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_PCIEASPM_DEFAULT note + +# Menu: Device Drivers >> PCI support >> PCI Endpoint + +# Menu: Device Drivers >> PCI support >> PCI Endpoint >> PCI Endpoint Support +CONFIG_PCI_ENDPOINT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PCI_ENDPOINT_CONFIGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PCI_EPF_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PCI_EPF_NTB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> PCI support >> PCI Express Advanced Error Reporting support +CONFIG_PCIEAER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'riscv64': 'y', 's390x': 'y', 'ppc64el': '-'}> +CONFIG_PCIEAER_INJECT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'riscv64': 'n', 's390x': 'n', 'ppc64el': '-'}> +CONFIG_PCIE_ECRC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'riscv64': 'n', 's390x': 'n', 'ppc64el': '-'}> +CONFIG_PCIE_DPC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'riscv64': 'y', 's390x': 'y', 'ppc64el': '-'}> +CONFIG_PCIE_EDR policy<{'amd64': 'y', 'arm64': 'y'}> +# +CONFIG_PCIEAER_INJECT flag + +# Menu: Device Drivers >> PCI support >> PCI Express hierarchy optimization setting +CONFIG_PCIE_BUS_TUNE_OFF policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PCIE_BUS_DEFAULT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PCIE_BUS_SAFE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PCIE_BUS_PERFORMANCE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PCIE_BUS_PEER2PEER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Device Drivers >> PCI support >> PCI controller drivers +CONFIG_PCI_MVEBU policy<{'armhf': 'y'}> +CONFIG_PCI_AARDVARK policy<{'arm64': 'y'}> +CONFIG_PCIE_XILINX_NWL policy<{'arm64': 'y'}> +CONFIG_PCI_FTPCI100 policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PCI_IXP4XX policy<{'armhf': '-'}> +CONFIG_PCI_TEGRA policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PCI_RCAR_GEN2 policy<{'armhf': 'y'}> +CONFIG_PCIE_RCAR_HOST policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PCIE_RCAR_EP policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PCI_HOST_GENERIC policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PCIE_XILINX policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PCIE_XILINX_CPM policy<{'arm64': 'y'}> +CONFIG_PCI_XGENE policy<{'arm64': 'y'}> +CONFIG_PCI_XGENE_MSI policy<{'arm64': 'y'}> +CONFIG_PCI_V3_SEMI policy<{'armhf': 'y'}> +CONFIG_PCIE_IPROC_PLATFORM policy<{'arm64': 'm'}> +CONFIG_PCIE_IPROC_MSI policy<{'arm64': 'y'}> +CONFIG_PCIE_ALTERA policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PCIE_ALTERA_MSI policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PCI_HOST_THUNDER_PEM policy<{'arm64': 'y'}> +CONFIG_PCI_HOST_THUNDER_ECAM policy<{'arm64': 'y'}> +CONFIG_PCIE_ROCKCHIP_HOST policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PCIE_ROCKCHIP_EP policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PCIE_MEDIATEK policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PCIE_MEDIATEK_GEN3 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VMD policy<{'amd64': 'm'}> +CONFIG_PCIE_BRCMSTB policy<{'arm64': 'm'}> +CONFIG_PCI_HYPERV_INTERFACE policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_PCIE_MICROCHIP_HOST policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PCIE_HISI_ERR policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> PCI support >> PCI controller drivers >> Cadence PCIe controllers support +CONFIG_PCIE_CADENCE_PLAT_HOST policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PCIE_CADENCE_PLAT_EP policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PCI_J721E_HOST policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PCI_J721E_EP policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> PCI support >> PCI controller drivers >> DesignWare PCI Core Support +CONFIG_PCI_DRA7XX_HOST policy<{'armhf': 'm'}> +CONFIG_PCI_DRA7XX_EP policy<{'armhf': 'm'}> +CONFIG_PCIE_DW_PLAT_HOST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PCIE_DW_PLAT_EP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PCI_EXYNOS policy<{'armhf': 'n'}> +CONFIG_PCI_IMX6 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PCI_KEYSTONE_HOST policy<{'arm64': 'y'}> +CONFIG_PCI_KEYSTONE_EP policy<{'arm64': 'y'}> +CONFIG_PCI_LAYERSCAPE policy<{'arm64': 'y', 'armhf': 'n'}> +CONFIG_PCI_LAYERSCAPE_EP policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PCI_HISI policy<{'arm64': 'y'}> +CONFIG_PCIE_QCOM policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PCIE_ARMADA_8K policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PCIE_ROCKCHIP_DW_HOST policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PCIE_KEEMBAY_HOST policy<{'arm64': 'y'}> +CONFIG_PCIE_KEEMBAY_EP policy<{'arm64': 'y'}> +CONFIG_PCIE_KIRIN policy<{'arm64': 'y'}> +CONFIG_PCIE_HISI_STB policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PCI_MESON policy<{'amd64': 'n', 'arm64': 'm', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PCIE_TEGRA194_HOST policy<{'arm64': 'm'}> +CONFIG_PCIE_TEGRA194_EP policy<{'arm64': 'm'}> +CONFIG_PCIE_VISCONTI_HOST policy<{'arm64': 'y'}> +CONFIG_PCIE_UNIPHIER policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_PCIE_UNIPHIER_EP policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_PCIE_AL policy<{'arm64': 'y'}> +CONFIG_PCIE_FU740 policy<{'riscv64': 'y'}> +# +CONFIG_PCI_MESON note + +# Menu: Device Drivers >> PCI support >> PCI controller drivers >> Mobiveil PCIe Core Support +CONFIG_PCIE_MOBIVEIL_PLAT policy<{'arm64': 'n'}> +CONFIG_PCIE_LAYERSCAPE_GEN4 policy<{'arm64': 'n'}> + +# Menu: Device Drivers >> PCI support >> PCI switch controller drivers +CONFIG_PCI_SW_SWITCHTEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> PCI support >> Support for PCI Hotplug +CONFIG_HOTPLUG_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'n', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_HOTPLUG_PCI_ACPI policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_HOTPLUG_PCI_ACPI_IBM policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_HOTPLUG_PCI_CPCI policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y', 'armhf': '-'}> +CONFIG_HOTPLUG_PCI_CPCI_ZT5550 policy<{'amd64': 'm'}> +CONFIG_HOTPLUG_PCI_CPCI_GENERIC policy<{'amd64': 'm'}> +CONFIG_HOTPLUG_PCI_SHPC policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'n', 'riscv64': 'y', 's390x': 'n', 'armhf': '-'}> +CONFIG_HOTPLUG_PCI_POWERNV policy<{'ppc64el': 'm'}> +CONFIG_HOTPLUG_PCI_RPA policy<{'ppc64el': 'm'}> +CONFIG_HOTPLUG_PCI_RPA_DLPAR policy<{'ppc64el': 'm'}> +CONFIG_HOTPLUG_PCI_S390 policy<{'s390x': 'y'}> +# +CONFIG_HOTPLUG_PCI_SHPC note + +# Menu: Device Drivers >> PHY Subsystem +CONFIG_GENERIC_PHY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_PHY_XGENE policy<{'arm64': 'y'}> +CONFIG_USB_LGM_PHY policy<{'amd64': 'm'}> +CONFIG_PHY_CAN_TRANSCEIVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_PHY_SUN4I_USB policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_PHY_SUN6I_MIPI_DPHY policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_PHY_SUN9I_USB policy<{'arm64': 'n', 'armhf': '-'}> +CONFIG_PHY_SUN50I_USB3 policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_PHY_MESON8B_USB2 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_MESON_GXL_USB2 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_MESON_G12A_USB2 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_MESON_G12A_USB3_PCIE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_MESON_AXG_PCIE policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PHY_MESON_AXG_MIPI_DPHY policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_BCM_SR_USB policy<{'arm64': 'm'}> +CONFIG_BCM_KONA_USB2_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_PHY_BCM_NS_USB2 policy<{'arm64': 'm'}> +CONFIG_PHY_BCM_NS_USB3 policy<{'arm64': 'm'}> +CONFIG_PHY_NS2_PCIE policy<{'arm64': 'y'}> +CONFIG_PHY_NS2_USB_DRD policy<{'arm64': 'm'}> +CONFIG_PHY_BRCM_SATA policy<{'arm64': 'y'}> +CONFIG_PHY_BRCM_USB policy<{'arm64': 'm'}> +CONFIG_PHY_BCM_SR_PCIE policy<{'arm64': 'm'}> +CONFIG_PHY_CADENCE_TORRENT policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PHY_CADENCE_DPHY policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PHY_CADENCE_SIERRA policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PHY_CADENCE_SALVO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PHY_FSL_IMX8MQ_USB policy<{'arm64': 'm'}> +CONFIG_PHY_MIXEL_MIPI_DPHY policy<{'arm64': 'm'}> +CONFIG_PHY_HI6220_USB policy<{'arm64': 'm'}> +CONFIG_PHY_HI3660_USB policy<{'arm64': 'm'}> +CONFIG_PHY_HI3670_USB policy<{'arm64': 'm'}> +CONFIG_PHY_HISTB_COMBPHY policy<{'arm64': 'm'}> +CONFIG_PHY_HISI_INNO_USB2 policy<{'arm64': 'm'}> +CONFIG_PHY_HIX5HD2_SATA policy<{'armhf': 'm'}> +CONFIG_ARMADA375_USBCLUSTER_PHY policy<{'armhf': 'y'}> +CONFIG_PHY_BERLIN_SATA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_BERLIN_USB policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_MVEBU_A3700_COMPHY policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_MVEBU_A3700_UTMI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_MVEBU_A38X_COMPHY policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_MVEBU_CP110_COMPHY policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_MVEBU_CP110_UTMI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_PXA_28NM_HSIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_PHY_PXA_28NM_USB2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_PHY_MTK_TPHY policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_MTK_UFS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_MTK_XSPHY policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_MTK_HDMI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_MTK_MIPI_DSI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_SPARX5_SERDES policy<{'amd64': '-', 'arm64': 'm', 'armhf': '-', 'ppc64el': '-'}> +CONFIG_PHY_CPCAP_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PHY_MAPPHONE_MDM6600 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PHY_OCELOT_SERDES policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PHY_QCOM_APQ8064_SATA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_QCOM_IPQ4019_USB policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_QCOM_IPQ806X_SATA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_QCOM_PCIE2 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_QCOM_QMP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_QCOM_QUSB2 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_QCOM_USB_HS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_QCOM_USB_HSIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PHY_QCOM_USB_HS_28NM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_QCOM_USB_SS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_QCOM_IPQ806X_USB policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_RCAR_GEN2 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_RCAR_GEN3_PCIE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_RCAR_GEN3_USB2 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_RCAR_GEN3_USB3 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_ROCKCHIP_DP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_ROCKCHIP_DPHY_RX0 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_ROCKCHIP_EMMC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_ROCKCHIP_INNO_HDMI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_ROCKCHIP_INNO_USB2 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_ROCKCHIP_PCIE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_ROCKCHIP_TYPEC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_ROCKCHIP_USB policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_EXYNOS_DP_VIDEO policy<{'armhf': 'n'}> +CONFIG_PHY_EXYNOS_MIPI_VIDEO policy<{'armhf': 'n'}> +CONFIG_PHY_EXYNOS_PCIE policy<{'armhf': 'n'}> +CONFIG_PHY_SAMSUNG_UFS policy<{'armhf': 'n'}> +CONFIG_PHY_SAMSUNG_USB2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PHY_EXYNOS5250_SATA policy<{'armhf': '-'}> +CONFIG_PHY_UNIPHIER_USB2 policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_PHY_UNIPHIER_PCIE policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_PHY_UNIPHIER_AHCI policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_PHY_TEGRA_XUSB policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PHY_TEGRA194_P2U policy<{'arm64': 'm'}> +CONFIG_PHY_DM816X_USB policy<{'armhf': 'm'}> +CONFIG_PHY_AM654_SERDES policy<{'arm64': 'm'}> +CONFIG_PHY_J721E_WIZ policy<{'arm64': 'm'}> +CONFIG_OMAP_CONTROL_PHY policy<{'armhf': 'm'}> +CONFIG_OMAP_USB2 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_TI_PIPE3 policy<{'armhf': 'm'}> +CONFIG_PHY_TUSB1210 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TWL4030_USB policy<{'armhf': 'm'}> +CONFIG_PHY_INTEL_KEEMBAY_EMMC policy<{'arm64': 'm'}> +CONFIG_PHY_INTEL_KEEMBAY_USB policy<{'arm64': 'm'}> +CONFIG_PHY_INTEL_LGM_EMMC policy<{'amd64': 'm'}> +CONFIG_PHY_XILINX_ZYNQMP policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> PPS support +CONFIG_PPS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PPS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PPS_CLIENT_KTIMER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PPS_CLIENT_LDISC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_PPS_CLIENT_PARPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PPS_CLIENT_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +# +CONFIG_PPS_CLIENT_KTIMER flag +CONFIG_PPS flag + +# Menu: Device Drivers >> PTP clock support + +# Menu: Device Drivers >> PTP clock support >> PTP clock support +CONFIG_PTP_1588_CLOCK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'm'}> +CONFIG_PTP_1588_CLOCK_DTE policy<{'arm64': 'm'}> +CONFIG_PTP_1588_CLOCK_QORIQ policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_DP83640_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_PTP_1588_CLOCK_INES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_PTP_1588_CLOCK_KVM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_PTP_1588_CLOCK_IDT82P33 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_PTP_1588_CLOCK_IDTCM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_PTP_1588_CLOCK_VMW policy<{'amd64': 'm'}> +CONFIG_PTP_1588_CLOCK_OCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Parallel port support +CONFIG_PARPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_PARPORT_AX88796 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARPORT_1284 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Parallel port support >> PC-style hardware +CONFIG_PARPORT_PC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARPORT_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PARPORT_PC_FIFO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PARPORT_PC_SUPERIO policy<{'amd64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_PARPORT_PC_PCMCIA policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Performance monitor support +CONFIG_ARM_CCI_PMU policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARM_CCI400_PMU policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARM_CCI5xx_PMU policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARM_CCN policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARM_CMN policy<{'arm64': 'm'}> +CONFIG_ARM_PMU policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARM_SMMU_V3_PMU policy<{'arm64': 'm'}> +CONFIG_ARM_DSU_PMU policy<{'arm64': 'm'}> +CONFIG_FSL_IMX8_DDR_PMU policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_L2_PMU policy<{'arm64': 'y'}> +CONFIG_QCOM_L3_PMU policy<{'arm64': 'y'}> +CONFIG_THUNDERX2_PMU policy<{'arm64': 'm'}> +CONFIG_XGENE_PMU policy<{'arm64': 'y'}> +CONFIG_ARM_SPE_PMU policy<{'arm64': 'm'}> +CONFIG_ARM_DMC620_PMU policy<{'arm64': 'm'}> +CONFIG_HISI_PMU policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> Pin controllers +CONFIG_PINCTRL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_PINMUX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PINCONF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DEBUG_PINCTRL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_PINCTRL_AS3722 policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PINCTRL_AXP209 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PINCTRL_AMD policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_PINCTRL_BM1880 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_DA9062 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PINCTRL_MCP23S08 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PINCTRL_ROCKCHIP policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PINCTRL_SINGLE policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PINCTRL_SX150X policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PINCTRL_STMFX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PINCTRL_MAX77620 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PINCTRL_PALMAS policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PINCTRL_ZYNQMP policy<{'arm64': 'm'}> +CONFIG_PINCTRL_RK805 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PINCTRL_OCELOT policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PINCTRL_MICROCHIP_SGPIO policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PINCTRL_KEEMBAY policy<{'arm64': 'm'}> +CONFIG_PINCTRL_ASPEED_G6 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_BCM2835 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_IPROC_GPIO policy<{'arm64': 'y'}> +CONFIG_PINCTRL_NS2_MUX policy<{'arm64': 'y'}> +CONFIG_PINCTRL_AS370 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PINCTRL_BERLIN_BG4CT policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PINCTRL_IMX50 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_IMX51 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_IMX6Q policy<{'armhf': 'y'}> +CONFIG_PINCTRL_IMX6SL policy<{'armhf': 'y'}> +CONFIG_PINCTRL_IMX6SLL policy<{'armhf': 'y'}> +CONFIG_PINCTRL_IMX6SX policy<{'armhf': 'y'}> +CONFIG_PINCTRL_IMX6UL policy<{'armhf': 'y'}> +CONFIG_PINCTRL_IMX7D policy<{'armhf': 'y'}> +CONFIG_PINCTRL_IMX7ULP policy<{'armhf': 'y'}> +CONFIG_PINCTRL_IMX8MM policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PINCTRL_IMX8MN policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PINCTRL_IMX8MP policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PINCTRL_IMX8MQ policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PINCTRL_IMX8QM policy<{'arm64': 'y'}> +CONFIG_PINCTRL_IMX8QXP policy<{'arm64': 'y'}> +CONFIG_PINCTRL_IMX8DXL policy<{'arm64': 'y'}> +CONFIG_PINCTRL_IMX8ULP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_VF610 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_BAYTRAIL policy<{'amd64': 'y'}> +CONFIG_PINCTRL_CHERRYVIEW policy<{'amd64': 'y'}> +CONFIG_PINCTRL_LYNXPOINT policy<{'amd64': 'm'}> +CONFIG_PINCTRL_ALDERLAKE policy<{'amd64': 'm'}> +CONFIG_PINCTRL_BROXTON policy<{'amd64': 'm'}> +CONFIG_PINCTRL_CANNONLAKE policy<{'amd64': 'm'}> +CONFIG_PINCTRL_CEDARFORK policy<{'amd64': 'm'}> +CONFIG_PINCTRL_DENVERTON policy<{'amd64': 'm'}> +CONFIG_PINCTRL_ELKHARTLAKE policy<{'amd64': 'm'}> +CONFIG_PINCTRL_EMMITSBURG policy<{'amd64': 'm'}> +CONFIG_PINCTRL_GEMINILAKE policy<{'amd64': 'm'}> +CONFIG_PINCTRL_ICELAKE policy<{'amd64': 'm'}> +CONFIG_PINCTRL_JASPERLAKE policy<{'amd64': 'm'}> +CONFIG_PINCTRL_LAKEFIELD policy<{'amd64': 'm'}> +CONFIG_PINCTRL_LEWISBURG policy<{'amd64': 'm'}> +CONFIG_PINCTRL_SUNRISEPOINT policy<{'amd64': 'm'}> +CONFIG_PINCTRL_TIGERLAKE policy<{'amd64': 'm'}> +CONFIG_PINCTRL_NPCM7XX policy<{'armhf': 'y'}> +CONFIG_PINCTRL_QCOM_SPMI_PMIC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_QCOM_SSBI_PMIC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_LPASS_LPI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_EXYNOS policy<{'armhf': 'y'}> +CONFIG_PINCTRL_EXYNOS_ARM policy<{'armhf': 'y'}> +CONFIG_PINCTRL_SPRD_SC9860 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_SUN4I_A10 policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN5I policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN6I_A31 policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN6I_A31_R policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN8I_A23 policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN8I_A33 policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN8I_A83T policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN8I_A83T_R policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN8I_A23_R policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN8I_H3 policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN8I_H3_R policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN8I_V3S policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN9I_A80 policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN9I_A80_R policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN50I_A64 policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN50I_A64_R policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN50I_A100 policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN50I_A100_R policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN50I_H5 policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN50I_H6 policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN50I_H6_R policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN50I_H616 policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_SUN50I_H616_R policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_PINCTRL_TI_IODELAY policy<{'armhf': 'y'}> +CONFIG_PINCTRL_LOCHNAGAR policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PINCTRL_TMPV7700 policy<{'arm64': 'y'}> +# +CONFIG_PINCTRL_CHERRYVIEW mark note + +# Menu: Device Drivers >> Pin controllers >> Actions Semi OWL pinctrl driver +CONFIG_PINCTRL_OWL policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PINCTRL_S500 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_S700 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_S900 policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> Pin controllers >> Amlogic SoC pinctrl drivers +CONFIG_PINCTRL_MESON policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PINCTRL_MESON8 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_MESON8B policy<{'armhf': 'y'}> +CONFIG_PINCTRL_MESON_GXBB policy<{'arm64': 'y'}> +CONFIG_PINCTRL_MESON_GXL policy<{'arm64': 'y'}> +CONFIG_PINCTRL_MESON_AXG policy<{'arm64': 'y'}> +CONFIG_PINCTRL_MESON_G12A policy<{'arm64': 'y'}> +CONFIG_PINCTRL_MESON_A1 policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> Pin controllers >> MediaTek pinctrl drivers +CONFIG_EINT_MTK policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PINCTRL_MT2701 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_MT7623 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_MT7629 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_MT8135 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_MT8127 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_MT2712 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_MT6765 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_MT6779 policy<{'arm64': 'm'}> +CONFIG_PINCTRL_MT6797 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_MT7622 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_MT8167 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_MT8173 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_MT8183 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_MT8192 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_MT8195 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_MT8365 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_MT8516 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_MT6397 policy<{'arm64': 'y', 'armhf': 'y'}> +# +CONFIG_PINCTRL_MT8135 flag +CONFIG_PINCTRL_MT8127 flag + +# Menu: Device Drivers >> Pin controllers >> Qualcomm core pin controller driver +CONFIG_PINCTRL_MSM policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PINCTRL_APQ8064 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_APQ8084 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_IPQ4019 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_IPQ8064 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_IPQ8074 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_IPQ6018 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_MSM8226 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_MSM8660 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_MSM8960 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_MDM9607 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_MDM9615 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_MSM8X74 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_MSM8916 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_MSM8953 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_MSM8976 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_MSM8994 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_MSM8996 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_MSM8998 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_QCS404 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_QDF2XXX policy<{'arm64': 'm'}> +CONFIG_PINCTRL_SC7180 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_SC7280 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_SC8180X policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_SDM660 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_SDM845 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_SDX55 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_SM6115 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_SM6125 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_SM8150 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_SM8250 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PINCTRL_SM8350 policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Pin controllers >> Ralink pinctrl drivers + +# Menu: Device Drivers >> Pin controllers >> Renesas pinctrl drivers +CONFIG_PINCTRL_RENESAS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_PINCTRL_PFC_EMEV2 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A77995 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A7794 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A77990 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A7779 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A7790 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A77950 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A77951 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A7778 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A7793 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A7791 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A77965 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A77960 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A77961 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A7792 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A77980 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A77970 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A779A0 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A7740 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_RZA1 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_RZA2 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_RZG2L policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A77470 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A7745 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A7742 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A7743 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A7744 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_R8A774C0 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A774E1 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A774A1 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_PFC_R8A774B1 policy<{'arm64': 'y'}> +CONFIG_PINCTRL_RZN1 policy<{'armhf': 'y'}> +CONFIG_PINCTRL_PFC_SH73A0 policy<{'armhf': 'y'}> + +# Menu: Device Drivers >> Pin controllers >> UniPhier SoC pinctrl drivers +CONFIG_PINCTRL_UNIPHIER policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_PINCTRL_UNIPHIER_LD4 policy<{'armhf': '-'}> +CONFIG_PINCTRL_UNIPHIER_PRO4 policy<{'armhf': '-'}> +CONFIG_PINCTRL_UNIPHIER_SLD8 policy<{'armhf': '-'}> +CONFIG_PINCTRL_UNIPHIER_PRO5 policy<{'armhf': '-'}> +CONFIG_PINCTRL_UNIPHIER_PXS2 policy<{'armhf': '-'}> +CONFIG_PINCTRL_UNIPHIER_LD6B policy<{'armhf': '-'}> +CONFIG_PINCTRL_UNIPHIER_LD11 policy<{'armhf': '-'}> +CONFIG_PINCTRL_UNIPHIER_LD20 policy<{'armhf': '-'}> +CONFIG_PINCTRL_UNIPHIER_PXS3 policy<{'armhf': '-'}> + +# Menu: Device Drivers >> Platform support for Chrome hardware +CONFIG_CHROME_PLATFORMS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y'}> +CONFIG_CHROMEOS_LAPTOP policy<{'amd64': 'm'}> +CONFIG_CHROMEOS_PSTORE policy<{'amd64': 'm'}> +CONFIG_CHROMEOS_TBMC policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_CROS_KBD_LED_BACKLIGHT policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_CROS_EC_CHARDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_CROS_EC_LIGHTBAR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_CROS_EC_VBC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CROS_EC_DEBUGFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_CROS_EC_SENSORHUB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_CROS_EC_SYSFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_CROS_EC_TYPEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_CROS_USBPD_LOGGER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_CROS_USBPD_NOTIFY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Platform support for Chrome hardware >> ChromeOS Embedded Controller +CONFIG_CROS_EC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_CROS_EC_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_CROS_EC_RPMSG policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CROS_EC_ISHTP policy<{'amd64': 'm'}> +CONFIG_CROS_EC_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_CROS_EC_LPC policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Platform support for Chrome hardware >> ChromeOS Embedded Controller >> ChromeOS Wilco Embedded Controller +CONFIG_WILCO_EC policy<{'amd64': 'm'}> +CONFIG_WILCO_EC_DEBUGFS policy<{'amd64': 'm'}> +CONFIG_WILCO_EC_EVENTS policy<{'amd64': 'm'}> +CONFIG_WILCO_EC_TELEMETRY policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Platform support for Goldfish virtual devices +CONFIG_GOLDFISH policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_GOLDFISH_PIPE policy<{'riscv64': 'm'}> + +# Menu: Device Drivers >> Platform support for Mellanox hardware +CONFIG_MELLANOX_PLATFORM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y'}> +CONFIG_MLXREG_HOTPLUG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_MLXREG_IO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_MLXBF_TMFIFO policy<{'arm64': 'm'}> +CONFIG_MLXBF_BOOTCTL policy<{'arm64': 'm'}> +CONFIG_MLXBF_PMC policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> Platform support for OLPC XO 1.75 hardware + +# Menu: Device Drivers >> Plug and Play support +CONFIG_PNP policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_PNP_DEBUG_MESSAGES policy<{'amd64': 'n', 'arm64': 'n'}> + +# Menu: Device Drivers >> Power supply class support +CONFIG_POWER_SUPPLY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_POWER_SUPPLY_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_POWER_SUPPLY_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PDA_POWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GENERIC_ADC_BATTERY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAX8925_POWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_WM831X_BACKUP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_WM831X_POWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_WM8350_POWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TEST_POWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BATTERY_88PM860X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_ADP5061 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BATTERY_ACT8945A policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BATTERY_CPCAP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BATTERY_CW2015 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BATTERY_DS2760 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BATTERY_DS2780 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BATTERY_DS2781 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BATTERY_DS2782 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BATTERY_SBS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_SBS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MANAGER_SBS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BATTERY_BQ27XXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BATTERY_BQ27XXX_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BATTERY_BQ27XXX_HDQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_BATTERY_DA9030 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BATTERY_DA9052 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_DA9150 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BATTERY_DA9150 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CHARGER_AXP20X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BATTERY_AXP20X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AXP20X_POWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AXP288_CHARGER policy<{'amd64': 'm'}> +CONFIG_AXP288_FUEL_GAUGE policy<{'amd64': 'm'}> +CONFIG_BATTERY_MAX17040 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BATTERY_MAX17042 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BATTERY_MAX1721X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BATTERY_TWL4030_MADC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CHARGER_88PM860X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CHARGER_PCF50633 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BATTERY_RX51 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CHARGER_CPCAP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CHARGER_ISP1704 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CHARGER_MAX8903 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_TWL4030 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CHARGER_LP8727 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_LP8788 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CHARGER_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_MANAGER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CHARGER_LT3651 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_LTC4162L policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_MAX14577 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_DETECTOR_MAX14656 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CHARGER_MAX77650 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CHARGER_MAX77693 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_MAX8997 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CHARGER_MAX8998 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CHARGER_MP2629 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CHARGER_MT6360 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CHARGER_QCOM_SMBB policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CHARGER_BQ2415X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_BQ24190 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_BQ24257 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_BQ24735 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_BQ2515X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_BQ25890 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_BQ25980 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_BQ256XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_SMB347 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_TPS65090 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_TPS65217 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': '-'}> +CONFIG_BATTERY_GAUGE_LTC2941 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BATTERY_GOLDFISH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BATTERY_RT5033 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_RT9455 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_CROS_USBPD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_CHARGER_CROS_PCHG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_CHARGER_SC2731 policy<{'arm64': 'm'}> +CONFIG_FUEL_GAUGE_SC27XX policy<{'arm64': 'm'}> +CONFIG_CHARGER_UCS1002 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CHARGER_BD99954 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_CHARGER_WILCO policy<{'amd64': 'm'}> +CONFIG_RN5T618_POWER policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BATTERY_ACER_A500 policy<{'armhf': 'm'}> +CONFIG_BATTERY_SURFACE policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_CHARGER_SURFACE policy<{'amd64': 'm', 'arm64': 'm'}> + +# Menu: Device Drivers >> Pulse-Width Modulation (PWM) Support +CONFIG_PWM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_PWM_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_PWM_ATMEL_HLCDC_PWM policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PWM_ATMEL_TCB policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PWM_BCM_IPROC policy<{'arm64': 'm'}> +CONFIG_PWM_BCM2835 policy<{'arm64': 'm'}> +CONFIG_PWM_BERLIN policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PWM_BRCMSTB policy<{'arm64': 'm'}> +CONFIG_PWM_CRC policy<{'amd64': 'y'}> +CONFIG_PWM_CROS_EC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_PWM_DWC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PWM_FSL_FTM policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PWM_HIBVT policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PWM_IMX1 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PWM_IMX27 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PWM_IMX_TPM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PWM_IQS620A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PWM_KEEMBAY policy<{'arm64': 'm'}> +CONFIG_PWM_LP3943 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PWM_LPSS_PCI policy<{'amd64': 'y'}> +CONFIG_PWM_LPSS_PLATFORM policy<{'amd64': 'y'}> +CONFIG_PWM_MESON policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PWM_MTK_DISP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PWM_MEDIATEK policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PWM_NTXEC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PWM_OMAP_DMTIMER policy<{'armhf': 'm'}> +CONFIG_PWM_PCA9685 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PWM_RASPBERRYPI_POE policy<{'arm64': 'm'}> +CONFIG_PWM_RCAR policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PWM_RENESAS_TPU policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PWM_ROCKCHIP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PWM_SAMSUNG policy<{'armhf': 'n'}> +CONFIG_PWM_SIFIVE policy<{'riscv64': 'm'}> +CONFIG_PWM_SL28CPLD policy<{'arm64': 'm'}> +CONFIG_PWM_SPRD policy<{'arm64': 'm'}> +CONFIG_PWM_STMPE policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PWM_SUN4I policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_PWM_TEGRA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PWM_TIECAP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PWM_TIEHRPWM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PWM_TWL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PWM_TWL_LED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PWM_VISCONTI policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> RapidIO support +CONFIG_RAPIDIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_RAPIDIO_TSI721 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': '-', 'riscv64': 'm', 's390x': '-'}> +CONFIG_RAPIDIO_DISC_TIMEOUT policy<{'amd64': '30', 'arm64': '30', 'armhf': '30', 'ppc64el': '30', 'riscv64': '30'}> +CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_RAPIDIO_DMA_ENGINE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RAPIDIO_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_RAPIDIO_CHMAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_RAPIDIO_MPORT_CDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> RapidIO support >> Enumeration method +CONFIG_RAPIDIO_ENUM_BASIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> RapidIO support >> RapidIO Switch drivers +CONFIG_RAPIDIO_CPS_XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_RAPIDIO_CPS_GEN2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_RAPIDIO_RXS_GEN3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Real Time Clock +CONFIG_RTC_CLASS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RTC_HCTOSYS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RTC_HCTOSYS_DEVICE policy<{'amd64': '"rtc0"', 'arm64': '"rtc0"', 'armhf': '"rtc0"', 'ppc64el': '"rtc0"', 'riscv64': '"rtc0"'}> +CONFIG_RTC_SYSTOHC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RTC_SYSTOHC_DEVICE policy<{'amd64': '"rtc0"', 'arm64': '"rtc0"', 'armhf': '"rtc0"', 'ppc64el': '"rtc0"', 'riscv64': '"rtc0"'}> +CONFIG_RTC_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_RTC_NVMEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RTC_INTF_SYSFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RTC_INTF_PROC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RTC_INTF_DEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RTC_INTF_DEV_UIE_EMUL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_RTC_DRV_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_RTC_DRV_88PM860X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_88PM80X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_ABB5ZES3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_ABEOZ9 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_ABX80X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_BRCMSTB policy<{'arm64': 'm'}> +CONFIG_RTC_DRV_AS3722 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1307 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1307_CENTURY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RTC_DRV_DS1374 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1374_WDT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RTC_DRV_DS1672 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_HYM8563 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_LP8788 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX6900 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX8907 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX8925 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX8998 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX8997 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX77686 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_RK808 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_RS5C372 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_ISL1208 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_ISL12022 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_ISL12026 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_X1205 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF8523 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF85063 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF85363 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF8563 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF8583 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_M41T80 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_M41T80_WDT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RTC_DRV_BD70528 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_BQ32K policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_TWL4030 policy<{'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_PALMAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_TPS6586X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_TPS65910 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_RC5T583 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_RC5T619 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_S35390A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_FM3130 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_RX8010 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_RX8581 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_RX8025 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_EM3027 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_RV3028 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_RV3032 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_RV8803 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_S5M policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_SD3078 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_M41T93 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_M41T94 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1302 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1343 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1347 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1390 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX6916 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_R9701 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_RX4581 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_RS5C348 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_MAX6902 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_PCF2123 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_MCP795 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_DS3232 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_DS3232_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RTC_DRV_PCF2127 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_RV3029C2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_RV3029_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RTC_DRV_RX6110 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_CMOS policy<{'amd64': 'y', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_RTC_DRV_DS1286 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1511 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1553 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1685_FAMILY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_DS1742 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_DS2404 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_DA9052 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_DA9055 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_DA9063 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_EFI policy<{'arm64': 'y', 'armhf': 'y', 'riscv64': 'm'}> +CONFIG_RTC_DRV_STK17TA8 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_M48T86 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_M48T35 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_M48T59 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_MSM6242 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_BQ4802 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_RP5C01 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_V3020 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_WM831X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_WM8350 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_SC27XX policy<{'arm64': 'm'}> +CONFIG_RTC_DRV_PCF50633 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_OPAL policy<{'ppc64el': 'y'}> +CONFIG_RTC_DRV_ZYNQMP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_CROS_EC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_RTC_DRV_NTXEC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_IMXDI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RTC_DRV_FSL_FTM_ALARM policy<{'arm64': 'm'}> +CONFIG_RTC_DRV_MESON policy<{'armhf': 'm'}> +CONFIG_RTC_DRV_MESON_VRTC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RTC_DRV_OMAP policy<{'armhf': 'y'}> +CONFIG_RTC_DRV_S3C policy<{'armhf': 'n'}> +CONFIG_RTC_DRV_SH policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RTC_DRV_PL030 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RTC_DRV_PL031 policy<{'arm64': 'm', 'armhf': 'y'}> +CONFIG_RTC_DRV_GENERIC policy<{'ppc64el': 'y'}> +CONFIG_RTC_DRV_SUN6I policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_RTC_DRV_MV policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_RTC_DRV_ARMADA38X policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RTC_DRV_CADENCE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_FTRTC010 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_PCAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_MC13XXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_PM8XXX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RTC_DRV_TEGRA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RTC_DRV_MXC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RTC_DRV_MXC_V2 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RTC_DRV_SNVS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RTC_DRV_IMX_SC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RTC_DRV_MT2712 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RTC_DRV_MT6397 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_MT7622 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RTC_DRV_XGENE policy<{'arm64': 'y'}> +CONFIG_RTC_DRV_R7301 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_CPCAP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_RTD119X policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_RTC_DRV_ASPEED policy<{'armhf': 'm'}> +CONFIG_RTC_DRV_HID_SENSOR_TIME policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTC_DRV_GOLDFISH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'y'}> +CONFIG_RTC_DRV_WILCO_EC policy<{'amd64': 'm'}> +# +CONFIG_RTC_DRV_TEST flag +CONFIG_RTC_DRV_CMOS note +CONFIG_RTC_DRV_EFI note +CONFIG_RTC_DRV_TWL4030 note + +# Menu: Device Drivers >> Real Time Clock >> Subtype +CONFIG_RTC_DRV_DS1685 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RTC_DRV_DS1689 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_RTC_DRV_DS17285 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_RTC_DRV_DS17485 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_RTC_DRV_DS17885 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> + +# Menu: Device Drivers >> Reliability, Availability and Serviceability (RAS) features +CONFIG_RAS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_RAS_CEC policy<{'amd64': 'y'}> +CONFIG_RAS_CEC_DEBUG policy<{'amd64': 'n'}> + +# Menu: Device Drivers >> Remote Controller support +CONFIG_RC_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_RC_MAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_LIRC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Remote Controller support >> Remote Controller devices +CONFIG_RC_DEVICES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RC_ATI_REMOTE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_ENE policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_IR_HIX5HD2 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_IMON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_IMON_RAW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_MCEUSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_ITE_CIR policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_IR_FINTEK policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_IR_MESON policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IR_MESON_TX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IR_MTK policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IR_NUVOTON policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_IR_REDRAT3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_SPI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_STREAMZAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_WINBOND_CIR policy<{'amd64': 'm'}> +CONFIG_IR_IGORPLUGUSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_IGUANA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_TTUSBIR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_RX51 policy<{'armhf': 'm'}> +CONFIG_RC_LOOPBACK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_GPIO_CIR policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_GPIO_TX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_PWM_TX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_SUNXI policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_IR_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_SERIAL_TRANSMITTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RC_XBOX_DVD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_TOY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Remote Controller support >> Remote Controller devices >> Hardware decoder + +# Menu: Device Drivers >> Remote Controller support >> Remote controller decoders +CONFIG_RC_DECODERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_IR_NEC_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_RC5_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_RC6_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_JVC_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_SONY_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_SANYO_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_SHARP_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_MCE_KBD_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_XMP_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_IMON_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IR_RCMM_DECODER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Remoteproc drivers + +# Menu: Device Drivers >> Remoteproc drivers >> Support for Remote Processor subsystem +CONFIG_REMOTEPROC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_REMOTEPROC_CDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_IMX_REMOTEPROC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTK_SCP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_OMAP_REMOTEPROC policy<{'armhf': 'm'}> +CONFIG_OMAP_REMOTEPROC_WATCHDOG policy<{'armhf': 'n'}> +CONFIG_WKUP_M3_RPROC policy<{'armhf-generic': 'm'}> +CONFIG_PRU_REMOTEPROC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_Q6V5_ADSP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_Q6V5_MSS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_Q6V5_PAS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_Q6V5_WCSS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_SYSMON policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_WCNSS_PIL policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_TI_K3_DSP_REMOTEPROC policy<{'arm64': 'm'}> +CONFIG_TI_K3_R5_REMOTEPROC policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> Reset Controller Support +CONFIG_RESET_CONTROLLER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_RESET_A10SR policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RESET_BERLIN policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_RESET_BRCMSTB policy<{'arm64': 'm'}> +CONFIG_RESET_BRCMSTB_RESCAL policy<{'arm64': 'y', 'riscv64': '-'}> +CONFIG_RESET_IMX7 policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_RESET_MCHP_SPARX5 policy<{'arm64': 'y'}> +CONFIG_RESET_MESON policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_RESET_MESON_AUDIO_ARB policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RESET_NPCM policy<{'armhf': 'y'}> +CONFIG_RESET_QCOM_AOSS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_RESET_QCOM_PDC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RESET_RASPBERRYPI policy<{'arm64': 'm'}> +CONFIG_RESET_RZG2L_USBPHY_CTRL policy<{'arm64': 'm'}> +CONFIG_RESET_SCMI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RESET_SIMPLE policy<{'arm64': 'y', 'armhf': 'y', 'riscv64': 'y'}> +CONFIG_RESET_SOCFPGA policy<{'armhf': 'y'}> +CONFIG_RESET_SUNXI policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_RESET_TI_SCI policy<{'arm64': 'm'}> +CONFIG_RESET_TI_SYSCON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_RESET_UNIPHIER policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_RESET_UNIPHIER_GLUE policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_COMMON_RESET_HI3660 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_COMMON_RESET_HI6220 policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Rpmsg drivers +CONFIG_RPMSG_CHAR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RPMSG_NS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RPMSG_MTK_SCP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RPMSG_QCOM_GLINK_RPM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_RPMSG_QCOM_GLINK_SMEM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RPMSG_QCOM_SMD policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RPMSG_VIRTIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> + +# Menu: Device Drivers >> SCSI device support +CONFIG_RAID_ATTRS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support +CONFIG_SCSI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SCSI_PROC_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BLK_DEV_SD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CHR_DEV_ST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BLK_DEV_SR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CHR_DEV_SG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CHR_DEV_SCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SCSI_ENCLOSURE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SCSI_CONSTANTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SCSI_LOGGING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SCSI_SCAN_ASYNC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BLK_DEV_BSG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_SCSI flag +CONFIG_CHR_DEV_SG note +CONFIG_BLK_DEV_SD mark note +CONFIG_BLK_DEV_SR mark note + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI Device Handlers +CONFIG_SCSI_DH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SCSI_DH_RDAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SCSI_DH_HP_SW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SCSI_DH_EMC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SCSI_DH_ALUA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI Transports +CONFIG_SCSI_SPI_ATTRS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SCSI_FC_ATTRS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SCSI_ISCSI_ATTRS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SCSI_SAS_ATTRS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SCSI_SAS_LIBSAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SCSI_SAS_ATA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SCSI_SAS_HOST_SMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SCSI_SRP_ATTRS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'y', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers +CONFIG_SCSI_LOWLEVEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ISCSI_TCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_ISCSI_BOOT_SYSFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SCSI_CXGB3_ISCSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_CXGB4_ISCSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_BNX2_ISCSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_BNX2X_FCOE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_BE2ISCSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_CXLFLASH policy<{'ppc64el': 'm'}> +CONFIG_BLK_DEV_3W_XXXX_RAID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_HPSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_3W_9XXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_3W_SAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_ACARD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_AHA1740 policy<{'amd64': 'm'}> +CONFIG_SCSI_AACRAID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_AIC94XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_AIC94XX_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_SCSI_HISI_SAS policy<{'arm64': 'm'}> +CONFIG_SCSI_HISI_SAS_PCI policy<{'arm64': 'm'}> +CONFIG_SCSI_HISI_SAS_DEBUGFS_DEFAULT_ENABLE policy<{'arm64': 'n'}> +CONFIG_SCSI_MVSAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_MVSAS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_SCSI_MVSAS_TASKLET policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_SCSI_MVUMI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_DPT_I2O policy<{'amd64': 'm'}> +CONFIG_SCSI_ADVANSYS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_ARCMSR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_ESAS2R policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MEGARAID_NEWGEN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_MEGARAID_MM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_MEGARAID_MAILBOX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEGARAID_LEGACY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MEGARAID_SAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_MPT3SAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SCSI_MPT2SAS_MAX_SGE policy<{'amd64': '128', 'arm64': '128', 'armhf': '128', 'ppc64el': '128', 'riscv64': '128', 's390x': '128'}> +CONFIG_SCSI_MPT3SAS_MAX_SGE policy<{'amd64': '128', 'arm64': '128', 'armhf': '128', 'ppc64el': '128', 'riscv64': '128', 's390x': '128'}> +CONFIG_SCSI_MPT2SAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SCSI_MPI3MR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_SMARTPQI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SCSI_UFS_TI_J721E policy<{'arm64': 'm'}> +CONFIG_SCSI_HPTIOP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_BUSLOGIC policy<{'amd64': 'm'}> +CONFIG_SCSI_FLASHPOINT policy<{'amd64': 'y'}> +CONFIG_SCSI_MYRB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_MYRS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VMWARE_PVSCSI policy<{'amd64': 'm'}> +CONFIG_XEN_SCSI_FRONTEND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': '-'}> +CONFIG_HYPERV_STORAGE policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_LIBFC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SCSI_SNIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_SNIC_DEBUG_FS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_SCSI_DMX3191D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_FDOMAIN_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SCSI_ISCI policy<{'amd64': 'm'}> +CONFIG_SCSI_IPS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_IBMVSCSI policy<{'ppc64el': 'm'}> +CONFIG_SCSI_IBMVSCSIS policy<{'ppc64el': 'm'}> +CONFIG_SCSI_IBMVFC policy<{'ppc64el': 'm'}> +CONFIG_SCSI_IBMVFC_TRACE policy<{'ppc64el': 'y'}> +CONFIG_SCSI_INITIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_INIA100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_PPA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SCSI_IMM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SCSI_IZIP_EPP16 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_SCSI_IZIP_SLOW_CTR policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_SCSI_STEX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_IPR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SCSI_IPR_TRACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SCSI_IPR_DUMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SCSI_QLOGIC_1280 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_QLA_FC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_TCM_QLA2XXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TCM_QLA2XXX_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_SCSI_QLA_ISCSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_QEDI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SCSI_LPFC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_SCSI_LPFC_DEBUG_FS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SCSI_EFCT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_SIM710 policy<{'amd64': 'm'}> +CONFIG_SCSI_DC395x policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_AM53C974 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_NSP32 policy<{'armhf': 'm'}> +CONFIG_SCSI_WD719X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_DEBUG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_ZFCP policy<{'s390x': 'm'}> +CONFIG_SCSI_PMCRAID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_PM8001 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_BFA_FC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_VIRTIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SCSI_CHELSIO_FCOE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +# +CONFIG_SCSI_IPR_TRACE note +CONFIG_SCSI_IPR_DUMP note +CONFIG_SCSI_VIRTIO note + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers >> Adaptec AIC79xx U320 support +CONFIG_SCSI_AIC79XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_AIC79XX_CMDS_PER_DEVICE policy<{'amd64': '32', 'arm64': '32', 'armhf': '32', 'ppc64el': '32', 'riscv64': '32'}> +CONFIG_AIC79XX_RESET_DELAY_MS policy<{'amd64': '5000', 'arm64': '5000', 'armhf': '5000', 'ppc64el': '5000', 'riscv64': '5000'}> +CONFIG_AIC79XX_DEBUG_ENABLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_AIC79XX_DEBUG_MASK policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 'riscv64': '0'}> +CONFIG_AIC79XX_REG_PRETTY_PRINT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers >> Adaptec AIC7xxx Fast -> U160 support +CONFIG_SCSI_AIC7XXX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_AIC7XXX_CMDS_PER_DEVICE policy<{'amd64': '8', 'arm64': '8', 'armhf': '8', 'ppc64el': '8', 'riscv64': '8'}> +CONFIG_AIC7XXX_RESET_DELAY_MS policy<{'amd64': '5000', 'arm64': '5000', 'armhf': '5000', 'ppc64el': '5000', 'riscv64': '5000'}> +CONFIG_AIC7XXX_DEBUG_ENABLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_AIC7XXX_DEBUG_MASK policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 'riscv64': '0'}> +CONFIG_AIC7XXX_REG_PRETTY_PRINT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers >> LibFCoE module +CONFIG_LIBFCOE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_FCOE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_FCOE_FNIC policy<{'amd64': 'm'}> +CONFIG_QEDF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers >> PCMCIA SCSI adapter support +CONFIG_SCSI_LOWLEVEL_PCMCIA policy<{'amd64': 'y'}> +CONFIG_PCMCIA_AHA152X policy<{'amd64': 'm'}> +CONFIG_PCMCIA_FDOMAIN policy<{'amd64': 'm'}> +CONFIG_PCMCIA_QLOGIC policy<{'amd64': 'm'}> +CONFIG_PCMCIA_SYM53C500 policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers >> SYM53C8XX Version 2 SCSI support +CONFIG_SCSI_SYM53C8XX_2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE policy<{'amd64': '1', 'arm64': '1', 'armhf': '1', 'ppc64el': '1', 'riscv64': '1'}> +CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS policy<{'amd64': '16', 'arm64': '16', 'armhf': '16', 'ppc64el': '16', 'riscv64': '16'}> +CONFIG_SCSI_SYM53C8XX_MAX_TAGS policy<{'amd64': '64', 'arm64': '64', 'armhf': '64', 'ppc64el': '64', 'riscv64': '64'}> +CONFIG_SCSI_SYM53C8XX_MMIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers >> Universal Flash Storage Controller Driver Core +CONFIG_SCSI_UFSHCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SCSI_UFSHCD_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SCSI_UFS_DWC_TC_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SCSI_UFS_BSG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SCSI_UFS_CRYPTO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SCSI_UFS_HPB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers >> Universal Flash Storage Controller Driver Core >> Platform bus based UFS Controller support +CONFIG_SCSI_UFSHCD_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SCSI_UFS_CDNS_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SCSI_UFS_DWC_TC_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SCSI_UFS_QCOM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SCSI_UFS_MEDIATEK policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SCSI_UFS_HISI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SCSI_UFS_EXYNOS policy<{'armhf': 'n'}> + +# Menu: Device Drivers >> SCSI device support >> SCSI device support >> SCSI low-level drivers >> Zalon SCSI support + +# Menu: Device Drivers >> SLIMbus support +CONFIG_SLIMBUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SLIM_QCOM_CTRL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SLIM_QCOM_NGD_CTRL policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers +CONFIG_OWL_PM_DOMAINS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ROCKCHIP_GRF policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ROCKCHIP_IODOMAIN policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ROCKCHIP_PM_DOMAINS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SIFIVE_L2 policy<{'riscv64': 'y'}> +CONFIG_ARCH_TEGRA_2x_SOC policy<{'armhf': 'y'}> +CONFIG_ARCH_TEGRA_3x_SOC policy<{'armhf': 'y'}> +CONFIG_ARCH_TEGRA_114_SOC policy<{'armhf': 'y'}> +CONFIG_ARCH_TEGRA_124_SOC policy<{'armhf': 'y'}> +CONFIG_ARCH_TEGRA_132_SOC policy<{'arm64': 'y'}> +CONFIG_ARCH_TEGRA_210_SOC policy<{'arm64': 'y'}> +CONFIG_ARCH_TEGRA_186_SOC policy<{'arm64': 'y'}> +CONFIG_ARCH_TEGRA_194_SOC policy<{'arm64': 'y'}> +CONFIG_ARCH_TEGRA_234_SOC policy<{'arm64': 'y'}> +CONFIG_SOC_TEGRA20_VOLTAGE_COUPLER policy<{'armhf': 'y'}> +CONFIG_SOC_TEGRA30_VOLTAGE_COUPLER policy<{'armhf': 'y'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> ASPEED SoC drivers +CONFIG_ASPEED_LPC_CTRL policy<{'armhf': 'm'}> +CONFIG_ASPEED_LPC_SNOOP policy<{'armhf': 'm'}> +CONFIG_ASPEED_P2A_CTRL policy<{'armhf': 'm'}> +CONFIG_ASPEED_SOCINFO policy<{'armhf': 'y'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Amlogic SoC drivers +CONFIG_MESON_CANVAS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MESON_CLK_MEASURE policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MESON_GX_SOCINFO policy<{'arm64': 'y'}> +CONFIG_MESON_GX_PM_DOMAINS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MESON_EE_PM_DOMAINS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MESON_SECURE_PM_DOMAINS policy<{'arm64-generic': 'y'}> +CONFIG_MESON_MX_SOCINFO policy<{'armhf': 'y'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Broadcom SoC drivers +CONFIG_BCM2835_POWER policy<{'arm64': 'y'}> +CONFIG_RASPBERRYPI_POWER policy<{'arm64': 'y'}> +CONFIG_SOC_BRCMSTB policy<{'arm64': 'y', 'armhf': 'n'}> +CONFIG_BCM_PMB policy<{'arm64': 'y'}> +CONFIG_BRCMSTB_PM policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Enable LiteX SoC Builder specific drivers +CONFIG_LITEX_SOC_CONTROLLER policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> IXP4xx SoC drivers + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> MediaTek SoC drivers +CONFIG_MTK_CMDQ policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTK_DEVAPC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTK_INFRACFG policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MTK_PMIC_WRAP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MTK_SCPSYS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MTK_SCPSYS_PM_DOMAINS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MTK_MMSYS policy<{'arm64': 'y', 'armhf': 'y'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> NXP/Freescale QorIQ SoC drivers +CONFIG_QUICC_ENGINE policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_FSL_MC_DPIO policy<{'arm64': 'm'}> +CONFIG_DPAA2_CONSOLE policy<{'arm64': 'm'}> +CONFIG_FSL_RCPM policy<{'arm64': 'y', 'armhf': 'y'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> NXP/Freescale QorIQ SoC drivers >> QorIQ DPAA1 framework support +CONFIG_FSL_DPAA policy<{'arm64': 'y'}> +CONFIG_FSL_DPAA_CHECKING policy<{'arm64': 'y'}> +CONFIG_FSL_BMAN_TEST policy<{'arm64': 'm'}> +CONFIG_FSL_BMAN_TEST_API policy<{'arm64': 'n'}> +CONFIG_FSL_QMAN_TEST policy<{'arm64': 'n'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Qualcomm SoC drivers +CONFIG_QCOM_CPR policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_AOSS_QMP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_COMMAND_DB policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_QCOM_GENI_SE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_GSBI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_LLCC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_OCMEM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_RMTFS_MEM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_RPMH policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_QCOM_RPMHPD policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_QCOM_RPMPD policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_SMD_RPM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_WCNSS_CTRL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_APR policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Qualcomm SoC drivers >> Qualcomm Shared Memory Manager (SMEM) +CONFIG_QCOM_SMEM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_SMP2P policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_SMSM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_SOCINFO policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Renesas SoC driver support +CONFIG_SOC_RENESAS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARCH_EMEV2 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7794 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7779 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7790 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7778 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7793 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7791 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7792 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7740 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A73A4 policy<{'armhf': 'n'}> +CONFIG_ARCH_R7S72100 policy<{'armhf': 'y'}> +CONFIG_ARCH_R7S9210 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A77470 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7745 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7742 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7743 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A7744 policy<{'armhf': 'y'}> +CONFIG_ARCH_R9A06G032 policy<{'armhf': 'y'}> +CONFIG_ARCH_SH73A0 policy<{'armhf': 'y'}> +CONFIG_ARCH_R8A77995 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A77990 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A77950 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A77951 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A77965 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A77960 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A77961 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A77980 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A77970 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A779A0 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A774C0 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A774E1 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A774A1 policy<{'arm64': 'y'}> +CONFIG_ARCH_R8A774B1 policy<{'arm64': 'y'}> +CONFIG_ARCH_R9A07G044 policy<{'arm64': 'y'}> +CONFIG_RST_RCAR policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SYSC_RCAR policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SYSC_R8A77995 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A7794 policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A77990 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A7779 policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A7790 policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A7795 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A7791 policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A77965 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A77960 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A77961 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A7792 policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A77980 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A77970 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A779A0 policy<{'arm64': 'y'}> +CONFIG_SYSC_RMOBILE policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A77470 policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A7745 policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A7742 policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A7743 policy<{'armhf': 'y'}> +CONFIG_SYSC_R8A774C0 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A774E1 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A774A1 policy<{'arm64': 'y'}> +CONFIG_SYSC_R8A774B1 policy<{'arm64': 'y'}> +# +CONFIG_ARCH_R8A73A4 flag + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Samsung SoC driver support +CONFIG_EXYNOS_ASV_ARM policy<{'armhf': '-'}> +CONFIG_EXYNOS_CHIPID policy<{'armhf': 'n'}> +CONFIG_EXYNOS_PMU policy<{'armhf': 'y'}> +CONFIG_EXYNOS_PMU_ARM_DRIVERS policy<{'armhf': 'y'}> +CONFIG_EXYNOS_PM_DOMAINS policy<{'armhf': 'y'}> +CONFIG_EXYNOS_REGULATOR_COUPLER policy<{'armhf': '-'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> TI SOC drivers support +CONFIG_SOC_TI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_WKUP_M3_IPC policy<{'armhf-generic': 'n'}> +CONFIG_TI_SCI_PM_DOMAINS policy<{'arm64': 'm'}> +CONFIG_TI_K3_RINGACC policy<{'arm64': 'y'}> +CONFIG_TI_PRUSS policy<{'arm64': 'm', 'armhf': 'm'}> +# +CONFIG_SOC_TI flag + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> Xilinx SoC drivers +CONFIG_ZYNQMP_POWER policy<{'arm64': 'y'}> +CONFIG_ZYNQMP_PM_DOMAINS policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> SOC (System On Chip) specific Drivers >> i.MX SoC drivers +CONFIG_IMX_GPCV2_PM_DOMAINS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SOC_IMX8M policy<{'arm64': 'y', 'armhf': 'n'}> + +# Menu: Device Drivers >> SPI support +CONFIG_SPI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_SPI_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_SPI_MEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SPI_ALTERA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_ALTERA_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SPI_ALTERA_DFL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SPI_ARMADA_3700 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_AXI_SPI_ENGINE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_BCM2835 policy<{'arm64': 'm'}> +CONFIG_SPI_BCM2835AUX policy<{'arm64': 'm'}> +CONFIG_SPI_BCM_QSPI policy<{'arm64': 'm'}> +CONFIG_SPI_BITBANG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_BUTTERFLY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SPI_CADENCE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_CADENCE_QUADSPI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_DLN2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SPI_FSI policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SPI_FSL_LPSPI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_FSL_QUADSPI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_HISI_KUNPENG policy<{'arm64': 'm'}> +CONFIG_SPI_HISI_SFC_V3XX policy<{'arm64': 'm'}> +CONFIG_SPI_NXP_FLEXSPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_IMX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_LM70_LLP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SPI_FSL_SPI policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SPI_FSL_DSPI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_MESON_SPICC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_MESON_SPIFC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_MT65XX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_MTK_NOR policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_NPCM_FIU policy<{'armhf': 'm'}> +CONFIG_SPI_NPCM_PSPI policy<{'armhf': 'm'}> +CONFIG_SPI_LANTIQ_SSC policy<{'amd64': 'm'}> +CONFIG_SPI_OC_TINY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_OMAP24XX policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SPI_TI_QSPI policy<{'armhf': 'm'}> +CONFIG_SPI_ORION policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_PL022 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_PXA2XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_ROCKCHIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_SPI_ROCKCHIP_SFC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_RPCIF policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_RSPI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_QCOM_QSPI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_QUP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_QCOM_GENI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_S3C64XX policy<{'armhf': 'n'}> +CONFIG_SPI_SC18IS602 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_SH_MSIOF policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_SH_HSPI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_SIFIVE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'y', 's390x': '-'}> +CONFIG_SPI_SLAVE_MT27XX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_SPRD policy<{'arm64': 'm'}> +CONFIG_SPI_SPRD_ADI policy<{'arm64': 'm'}> +CONFIG_SPI_SUN4I policy<{'arm64': 'n', 'armhf': '-'}> +CONFIG_SPI_SUN6I policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_SPI_SYNQUACER policy<{'arm64': 'm'}> +CONFIG_SPI_MXIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_TEGRA210_QUAD policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_TEGRA114 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_TEGRA20_SFLASH policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_TEGRA20_SLINK policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPI_THUNDERX policy<{'arm64': 'm'}> +CONFIG_SPI_XCOMM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_XILINX policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_SPI_XLP policy<{'arm64': 'm'}> +CONFIG_SPI_ZYNQMP_GQSPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_AMD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_MUX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_SPIDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_LOOPBACK_TEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_TLE62X0 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_SLAVE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SPI_SLAVE_TIME policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_SLAVE_SYSTEM_CONTROL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> SPI support >> DesignWare SPI controller core support +CONFIG_SPI_DESIGNWARE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SPI_DW_DMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SPI_DW_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SPI_DW_MMIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> SPMI support +CONFIG_SPMI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SPMI_MSM_PMIC_ARB policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SPMI_HISI3670 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Serial ATA and Parallel ATA drivers (libata) +CONFIG_ATA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_ATA_VERBOSE_ERROR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATA_FORCE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATA_ACPI policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_SATA_ZPODD policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_SATA_PMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SATA_AHCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SATA_MOBILE_LPM_POLICY policy<{'amd64': '3', 'arm64': '3', 'armhf': '3', 'ppc64el': '3', 'riscv64': '3'}> +CONFIG_SATA_AHCI_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_AHCI_BRCM policy<{'arm64': 'm'}> +CONFIG_AHCI_DM816 policy<{'armhf': 'm'}> +CONFIG_AHCI_IMX policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_AHCI_CEVA policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AHCI_MTK policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_AHCI_MVEBU policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_AHCI_SUNXI policy<{'arm64': 'n', 'armhf': '-'}> +CONFIG_AHCI_TEGRA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_AHCI_XGENE policy<{'arm64': 'm'}> +CONFIG_AHCI_QORIQ policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SATA_AHCI_SEATTLE policy<{'arm64': 'm'}> +CONFIG_SATA_INIC162X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SATA_ACARD_AHCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SATA_SIL24 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +# +CONFIG_SATA_AHCI_PLATFORM note + +# Menu: Device Drivers >> Serial ATA and Parallel ATA drivers (libata) >> ATA SFF support (for legacy IDE and PATA) +CONFIG_ATA_SFF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PDC_ADMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SATA_QSTOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SATA_SX4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_CMD640_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_MPIIX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_NS87410 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_OPTI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_PCMCIA policy<{'amd64': 'm'}> +CONFIG_PATA_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_OF_PLATFORM policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_PATA_RZ1000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_LEGACY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Serial ATA and Parallel ATA drivers (libata) >> ATA SFF support (for legacy IDE and PATA) >> ATA BMDMA support +CONFIG_ATA_BMDMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ATA_PIIX policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SATA_DWC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SATA_DWC_OLD_DMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SATA_HIGHBANK policy<{'armhf': 'y'}> +CONFIG_SATA_MV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SATA_NV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SATA_PROMISE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SATA_RCAR policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SATA_SIL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SATA_SIS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SATA_SVW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SATA_ULI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SATA_VIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_SATA_VITESSE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_ALI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_AMD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_ARTOP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_ATIIXP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_ATP867X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_CMD64X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_CYPRESS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_EFAR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_HPT366 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_HPT37X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_HPT3X2N policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_HPT3X3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_HPT3X3_DMA policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_PATA_IMX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_PATA_IT8213 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_IT821X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_JMICRON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_MARVELL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_NETCELL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_NINJA32 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_NS87415 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_OLDPIIX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_OPTIDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_PDC2027X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_PDC_OLD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_RADISYS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_RDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_SCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_SERVERWORKS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_SIL680 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_SIS policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_TOSHIBA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_TRIFLEX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_VIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_WINBOND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PATA_ACPI policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_ATA_GENERIC policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +# +CONFIG_SATA_HIGHBANK mark note +CONFIG_PATA_HPT3X3_DMA note +CONFIG_ATA_PIIX mark note + +# Menu: Device Drivers >> Sonics Silicon Backplane support +CONFIG_SSB_PCIHOST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> +CONFIG_SSB_PCMCIAHOST policy<{'amd64': 'n'}> +CONFIG_SSB_SDIOHOST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SSB_DRIVER_PCICORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SSB_DRIVER_GPIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': '-'}> + +# Menu: Device Drivers >> Sony MemoryStick card support +CONFIG_MEMSTICK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MEMSTICK_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_MEMSTICK_UNSAFE_RESUME policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_MSPRO_BLOCK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MS_BLOCK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEMSTICK_TIFM_MS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEMSTICK_JMICRON_38X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEMSTICK_R592 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEMSTICK_REALTEK_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MEMSTICK_REALTEK_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Sound card support +CONFIG_SOUND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SOUND_OSS_CORE_PRECLAIM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +# +CONFIG_SOUND note +CONFIG_SOUND_OSS_CORE_PRECLAIM mark note note + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture +CONFIG_SND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_OSSEMUL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_MIXER_OSS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_PCM_OSS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_SND_PCM_TIMER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_HRTIMER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_DYNAMIC_MINORS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_MAX_CARDS policy<{'amd64': '32', 'arm64': '32', 'armhf': '32', 'ppc64el': '32', 'riscv64': '32'}> +CONFIG_SND_SUPPORT_OLD_API policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_PROC_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_VERBOSE_PROCFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_VERBOSE_PRINTK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_SND_HDA_PREALLOC_SIZE policy<{'amd64': '0', 'arm64': '64', 'armhf': '64', 'ppc64el': '64', 'riscv64': '64'}> +CONFIG_SND_INTEL_BYT_PREFER_SOF policy<{'amd64': 'y'}> +CONFIG_SND_XEN_FRONTEND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': '-'}> +CONFIG_SND_VIRTIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +# +CONFIG_SND note +CONFIG_SND_PCM_OSS note + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support +CONFIG_SND_SOC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ADI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ADI_AXI_I2S policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ADI_AXI_SPDIF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_AMD_ACP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_SND_SOC_AMD_CZ_RT5645_MACH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_AMD_ACP3x policy<{'amd64': 'm'}> +CONFIG_SND_SOC_AMD_RV_RT5682_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_AMD_RENOIR policy<{'amd64': 'm'}> +CONFIG_SND_SOC_AMD_RENOIR_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_AMD_ACP5x policy<{'amd64': 'm'}> +CONFIG_SND_SOC_AMD_PS policy<{'amd64': 'm'}> +CONFIG_SND_SOC_AMD_PS_MACH policy<{'amd64': 'm'}> +CONFIG_SND_BCM2835_SOC_I2S policy<{'arm64': 'm'}> +CONFIG_SND_BCM63XX_I2S_WHISTLER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_DESIGNWARE_I2S policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_DESIGNWARE_PCM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_I2S_HI6210_I2S policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_KIRKWOOD_SOC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_KIRKWOOD_SOC_ARMADA370_DB policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_INTEL_KEEMBAY policy<{'arm64': 'm'}> +CONFIG_SND_SOC_MT2701 policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_SND_SOC_MT6797 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_MT6797_MT6351 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_MT8183 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_MT8183_MT6358_TS3A227E_MAX98357A policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_MT8183_DA7219_MAX98357A policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_MTK_BTCVSD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_MT8192 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_MT8192_MT6359_RT1015_RT5682 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_MT8195 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_SPRD policy<{'arm64': 'm'}> +CONFIG_SND_SOC_SPRD_MCDT policy<{'arm64': 'm'}> +CONFIG_SND_SOC_XILINX_I2S policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_XILINX_SPDIF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_XTFPGA_I2S policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SIMPLE_CARD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_AUDIO_GRAPH_CARD policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +# +CONFIG_SND_SOC note +CONFIG_SND_SOC_AMD_RENOIR mark note +CONFIG_SND_SOC_AMD_RENOIR_MACH mark note + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> ASoC support for Amlogic platforms +CONFIG_SND_MESON_AIU policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_MESON_AXG_FRDDR policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_MESON_AXG_TODDR policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_MESON_AXG_TDMIN policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_MESON_AXG_TDMOUT policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_MESON_AXG_SOUND_CARD policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_MESON_AXG_SPDIFOUT policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_MESON_AXG_SPDIFIN policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_MESON_AXG_PDM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_MESON_GX_SOUND_CARD policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_MESON_G12A_TOACODEC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_MESON_G12A_TOHDMITX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_MESON_T9015 policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> ASoC support for Mediatek MT8173 chip +CONFIG_SND_SOC_MT8173 policy<{'arm64': 'n', 'armhf': 'n'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> ASoC support for QCOM platforms +CONFIG_SND_SOC_QCOM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_STORM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_APQ8016_SBC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_QDSP6 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_MSM8996 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_SDM845 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_SM8250 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_SC7180 policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> ASoC support for Rockchip +CONFIG_SND_SOC_ROCKCHIP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_ROCKCHIP_I2S policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_ROCKCHIP_PDM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_ROCKCHIP_SPDIF policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_ROCKCHIP_MAX98090 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_ROCKCHIP_RT5645 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_RK3288_HDMI_ANALOG policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_RK3399_GRU_SOUND policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> ASoC support for Samsung +CONFIG_SND_SOC_SAMSUNG policy<{'armhf': 'n'}> +CONFIG_SND_SAMSUNG_PCM policy<{'armhf': '-'}> +CONFIG_SND_SAMSUNG_SPDIF policy<{'armhf': '-'}> +CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994 policy<{'armhf': '-'}> +CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF policy<{'armhf': '-'}> +CONFIG_SND_SOC_SMDK_WM8994_PCM policy<{'armhf': '-'}> +CONFIG_SND_SOC_SNOW policy<{'armhf': '-'}> +CONFIG_SND_SOC_ODROID policy<{'armhf': '-'}> +CONFIG_SND_SOC_ARNDALE policy<{'armhf': '-'}> +CONFIG_SND_SOC_SAMSUNG_TM2_WM5110 policy<{'armhf': '-'}> +CONFIG_SND_SOC_SAMSUNG_ARIES_WM8994 policy<{'armhf': '-'}> +CONFIG_SND_SOC_SAMSUNG_MIDAS_WM1811 policy<{'armhf': '-'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> ASoC support for UniPhier +CONFIG_SND_SOC_UNIPHIER policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_SND_SOC_UNIPHIER_AIO policy<{'armhf': '-'}> +CONFIG_SND_SOC_UNIPHIER_LD11 policy<{'armhf': '-'}> +CONFIG_SND_SOC_UNIPHIER_PXS2 policy<{'armhf': '-'}> +CONFIG_SND_SOC_UNIPHIER_EVEA_CODEC policy<{'armhf': '-'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> Allwinner SoC Audio support +CONFIG_SND_SUN4I_CODEC policy<{'arm64': 'n', 'armhf': '-'}> +CONFIG_SND_SUN8I_CODEC policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_SND_SUN8I_CODEC_ANALOG policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_SND_SUN50I_CODEC_ANALOG policy<{'arm64': 'm'}> +CONFIG_SND_SUN4I_I2S policy<{'arm64': 'n', 'armhf': '-'}> +CONFIG_SND_SUN4I_SPDIF policy<{'arm64': 'n', 'armhf': '-'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> Audio support for Imagination Technologies designs +CONFIG_SND_SOC_IMG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_SOC_IMG_I2S_IN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_IMG_I2S_OUT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_IMG_PARALLEL_OUT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_IMG_SPDIF_IN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_IMG_SPDIF_OUT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_IMG_PISTACHIO_INTERNAL_DAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> Audio support for Texas Instruments SoCs +CONFIG_SND_SOC_DAVINCI_MCASP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_OMAP_DMIC policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_OMAP_MCBSP policy<{'armhf': 'm'}> +CONFIG_SND_SOC_OMAP_MCPDM policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_NOKIA_RX51 policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_OMAP3_PANDORA policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_OMAP3_TWL4030 policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_OMAP_ABE_TWL6040 policy<{'armhf-generic': 'm'}> +CONFIG_SND_SOC_J721E_EVM policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> Audio support for Texas Instruments SoCs >> DM365 codec select + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> CODEC drivers +CONFIG_SND_SOC_AC97_CODEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU1372_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU1372_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU1701 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU1761_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU1761_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU7002 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU7118_HW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ADAU7118_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_AK4104 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_AK4118 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_AK4458 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_AK4554 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_AK4613 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_AK4642 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_AK5386 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_AK5558 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ALC5623 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_BD28623 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_BT_SCO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CPCAP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CROS_EC_CODEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_CS35L32 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS35L33 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS35L34 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS35L35 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS35L36 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS42L42 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS42L51_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS42L52 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS42L56 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS42L73 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS4234 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS4265 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS4270 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS4271_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS4271_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS42XX8_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS43130 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS4341 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS4349 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CS53L30 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_CX2072X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_DA7213 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_DMIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ES7134 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ES7241 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ES8316 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ES8328_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ES8328_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_GTM601 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ICS43432 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_INNO_RK3036 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_LOCHNAGAR_SC policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98088 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98357A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98504 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_MAX9867 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98927 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98373_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98373_SDW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_MAX98390 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_MAX9860 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_MSM8916_WCD_ANALOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_MSM8916_WCD_DIGITAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_PCM1681 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_PCM1789_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_PCM179X_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_PCM179X_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_PCM186X_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_PCM186X_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_PCM3060_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_PCM3060_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_PCM3168A_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_PCM3168A_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_PCM5102A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_PCM512x_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_PCM512x_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_RK3328 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_RK817 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_RT1308_SDW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_RT1316_SDW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_RT5616 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_RT5631 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_RT5640 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_RT5659 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_RT5682_SDW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_RT700_SDW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_RT711_SDW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_RT711_SDCA_SDW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_RT715_SDW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_RT715_SDCA_SDW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_SDW_MOCKUP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_SGTL5000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_SIMPLE_AMPLIFIER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_SIMPLE_MUX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_SPDIF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_SSM2305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_SSM2518 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_SSM2602_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_SSM2602_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_SSM4567 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_STA32X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_STA350 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_STI_SAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TAS2552 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TAS2562 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TAS2764 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TAS2770 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TAS5086 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TAS571X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TAS5720 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TAS6424 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TDA7419 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TFA9879 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TFA989X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC23_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC23_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC31XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC32X4_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC32X4_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC3X_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320AIC3X_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TLV320ADCX140 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TS3A227E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TSCS42XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TSCS454 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_UDA1334 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WCD9335 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WCD934X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WCD938X_SDW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8510 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8523 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8524 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8580 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8711 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8728 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8731 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8737 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8741 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8750 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8753 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8770 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8776 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8782 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8804_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8804_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8903 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8904 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8960 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8962 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8974 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8978 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WM8985 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_WSA881X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_ZL38060 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_MAX9759 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_MT6351 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_MT6358 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_MT6359 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_MT6359_ACCDET policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_MT6660 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_NAU8315 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_NAU8540 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_NAU8810 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_NAU8822 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_NAU8824 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_TPA6130A2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_LPASS_WSA_MACRO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_LPASS_VA_MACRO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_LPASS_RX_MACRO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_LPASS_TX_MACRO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +# +CONFIG_SND_SOC_SGTL5000 flag + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> Intel ASoC SST drivers +CONFIG_SND_SOC_INTEL_SST_TOPLEVEL policy<{'amd64': 'y'}> +CONFIG_SND_SOC_INTEL_CATPT policy<{'amd64': 'm'}> +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI policy<{'amd64': 'm'}> +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_SKYLAKE policy<{'amd64': 'n'}> +CONFIG_SND_SOC_INTEL_SKL policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_APL policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_KBL policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_GLK policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_CNL policy<{'amd64': 'n'}> +CONFIG_SND_SOC_INTEL_CFL policy<{'amd64': 'n'}> +CONFIG_SND_SOC_INTEL_CML_H policy<{'amd64': 'n'}> +CONFIG_SND_SOC_INTEL_CML_LP policy<{'amd64': 'n'}> +CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC policy<{'amd64': 'y'}> +# +CONFIG_SND_SOC_INTEL_SKYLAKE mark note +CONFIG_SND_SOC_INTEL_CNL mark note +CONFIG_SND_SOC_INTEL_CFL mark note +CONFIG_SND_SOC_INTEL_CML_H mark note +CONFIG_SND_SOC_INTEL_CML_LP mark note +CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC mark note + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> Intel ASoC SST drivers >> Intel Machine drivers +CONFIG_SND_SOC_INTEL_MACH policy<{'amd64': 'y'}> +CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES policy<{'amd64': 'y'}> +CONFIG_SND_SOC_INTEL_HASWELL_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_BROADWELL_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_BYTCR_WM5102_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_CHT_BSW_NAU8824_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_BYT_CHT_CX2072X_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH policy<{'amd64': 'n'}> +CONFIG_SND_SOC_INTEL_SKL_RT286_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_BXT_RT298_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_SOF_WM8804_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98357A_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98927_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_KBL_RT5660_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_SOF_CS42L42_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_EHL_RT5660_MACH policy<{'amd64': 'm'}> +CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH policy<{'amd64': 'm'}> +# +CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES mark note +CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH mark note + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> STMicroelectronics STM32 SOC audio support + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> SoC Audio for Freescale CPUs +CONFIG_SND_SOC_FSL_ASRC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_SAI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_MQS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_AUDMIX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_SSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_SPDIF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_ESAI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_MICFIL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_EASRC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_XCVR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_FSL_AUD2HTX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_FSL_RPMSG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_IMX_AUDMUX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'armhf': 'y', 'riscv64': 'm'}> +# +CONFIG_SND_SOC_FSL_SSI flag +CONFIG_SND_SOC_IMX_AUDMUX flag + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> SoC Audio for Freescale CPUs >> SoC Audio for Freescale PowerPC CPUs + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> SoC Audio for Freescale CPUs >> SoC Audio for Freescale i.MX CPUs +CONFIG_SND_IMX_SOC policy<{'arm64': 'm', 'armhf': 'y'}> +CONFIG_SND_SOC_EUKREA_TLV320 policy<{'armhf': 'm'}> +CONFIG_SND_SOC_IMX_ES8328 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_IMX_SGTL5000 policy<{'arm64': 'm', 'armhf': 'y'}> +CONFIG_SND_SOC_IMX_SPDIF policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_FSL_ASOC_CARD policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_IMX_AUDMIX policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_IMX_HDMI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_IMX_RPMSG policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_IMX_CARD policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> SoC Audio for Freescale MXS CPUs + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> SoC Audio for the Atmel System-on-Chip +CONFIG_SND_ATMEL_SOC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_MIKROE_PROTO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> SoC Audio for the Intel PXA2xx chip + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> SoC Audio for the Tegra System-on-Chip +CONFIG_SND_SOC_TEGRA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA20_AC97 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA20_DAS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA20_I2S policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA20_SPDIF policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA30_AHUB policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA30_I2S policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA210_AHUB policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA210_DMIC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA210_I2S policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA186_DSPK policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA210_ADMAIF policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA_AUDIO_GRAPH_CARD policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA_RT5640 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA_WM8753 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA_WM8903 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA_WM9712 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA_TRIMSLICE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA_ALC5632 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA_MAX98090 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA_RT5677 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_TEGRA_SGTL5000 policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> SoC Audio support for Renesas SoCs +CONFIG_SND_SOC_SH4_FSI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_RCAR policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_SOC_RZ policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> SoC Audio support for Ux500 platform + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> SoC Audio support for the Cirrus Logic EP93xx series + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> Sound Open Firmware Support +CONFIG_SND_SOC_SOF_TOPLEVEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_SOC_SOF_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_SOF_ACPI policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_SND_SOC_SOF_OF policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SOC_SOF_DEBUG_PROBES policy<{'amd64': 'm'}> +CONFIG_SND_SOC_SOF_IMX_TOPLEVEL policy<{'arm64': 'y'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> Sound Open Firmware Support >> SOF developer options support +CONFIG_SND_SOC_SOF_DEVELOPER_SUPPORT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': '-', 'ppc64el': '-'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> Sound Open Firmware Support >> SOF developer options support >> SOF debugging features + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ALSA for SoC audio support >> Sound Open Firmware Support >> SOF support for Intel audio DSPs +CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL policy<{'amd64': 'y'}> +CONFIG_SND_SOC_SOF_BAYTRAIL policy<{'amd64': 'm'}> +CONFIG_SND_SOC_SOF_BROADWELL policy<{'amd64': 'm'}> +CONFIG_SND_SOC_SOF_MERRIFIELD policy<{'amd64': 'm'}> +CONFIG_SND_SOC_SOF_APOLLOLAKE policy<{'amd64': 'm'}> +CONFIG_SND_SOC_SOF_GEMINILAKE policy<{'amd64': 'm'}> +CONFIG_SND_SOC_SOF_CANNONLAKE policy<{'amd64': 'm'}> +CONFIG_SND_SOC_SOF_COFFEELAKE policy<{'amd64': 'm'}> +CONFIG_SND_SOC_SOF_COMETLAKE policy<{'amd64': 'm'}> +CONFIG_SND_SOC_SOF_ICELAKE policy<{'amd64': 'm'}> +CONFIG_SND_SOC_SOF_JASPERLAKE policy<{'amd64': 'm'}> +CONFIG_SND_SOC_SOF_TIGERLAKE policy<{'amd64': 'm'}> +CONFIG_SND_SOC_SOF_ELKHARTLAKE policy<{'amd64': 'm'}> +CONFIG_SND_SOC_SOF_ALDERLAKE policy<{'amd64': 'm'}> +CONFIG_SND_SOC_SOF_HDA_LINK policy<{'amd64': 'y'}> +CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC policy<{'amd64': 'y'}> +CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE policy<{'amd64': 'm'}> +# +CONFIG_SND_SOC_SOF_HDA_LINK mark note +CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC mark note + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ARM sound devices +CONFIG_SND_ARM policy<{'armhf': 'y'}> +CONFIG_SND_ARMAACI policy<{'armhf': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> Apple Onboard Audio driver + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> Atmel devices (AT91) + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> Debug +CONFIG_SND_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> FireWire sound devices +CONFIG_SND_FIREWIRE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_DICE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_OXFW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_ISIGHT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_FIREWORKS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_BEBOB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_FIREWIRE_DIGI00X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_FIREWIRE_TASCAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_FIREWIRE_MOTU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_FIREFACE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> GSC sound devices + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> Generic sound devices +CONFIG_SND_DRIVERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_PCSP policy<{'amd64': 'm'}> +CONFIG_SND_DUMMY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_ALOOP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_VIRMIDI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_MTPAV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_MTS64 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SERIAL_U16550 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_MPU401 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_PORTMAN2X4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_AC97_POWER_SAVE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_AC97_POWER_SAVE_DEFAULT policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 'riscv64': '0'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> HD-Audio +CONFIG_SND_HDA_INTEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_HDA_TEGRA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SND_HDA_HWDEP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_HDA_RECONFIG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_HDA_INPUT_BEEP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_HDA_INPUT_BEEP_MODE policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 'riscv64': '0'}> +CONFIG_SND_HDA_PATCH_LOADER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_HDA_CODEC_REALTEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_ANALOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_SIGMATEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_VIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_HDMI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_CIRRUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_CS8409 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_CONEXANT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_CA0110 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_CA0132 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_CA0132_DSP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_HDA_CODEC_CMEDIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_HDA_CODEC_SI3054 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_HDA_GENERIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_HDA_POWER_SAVE_DEFAULT policy<{'amd64': '1', 'arm64': '1', 'armhf': '1', 'ppc64el': '1'}> +CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM policy<{'amd64': 'y', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +# +CONFIG_SND_HDA_RECONFIG note +CONFIG_SND_HDA_POWER_SAVE_DEFAULT note + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> ISA sound devices + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> MIPS sound devices + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> PCI sound devices +CONFIG_SND_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_AD1889 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_ALS300 policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm'}> +CONFIG_SND_ALS4000 policy<{'amd64': 'm', 'ppc64el': 'm'}> +CONFIG_SND_ALI5451 policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm'}> +CONFIG_SND_ASIHPI policy<{'amd64': 'm'}> +CONFIG_SND_ATIIXP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_ATIIXP_MODEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_AU8810 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_AU8820 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_AU8830 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_AW2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_AZT3328 policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm'}> +CONFIG_SND_BT87X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_BT87X_OVERCLOCK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_SND_CA0106 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_CMIPCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_OXYGEN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_CS4281 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_CS46XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_CS46XX_NEW_DSP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_CTXFI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_DARLA20 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_GINA20 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_LAYLA20 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_DARLA24 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_GINA24 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_LAYLA24 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_MONA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_MIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_ECHO3G policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_INDIGO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_INDIGOIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_INDIGODJ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_INDIGOIOX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_INDIGODJX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_EMU10K1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm'}> +CONFIG_SND_EMU10K1X policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm'}> +CONFIG_SND_ENS1370 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_ENS1371 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_ES1938 policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm'}> +CONFIG_SND_ES1968 policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm'}> +CONFIG_SND_ES1968_INPUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf-generic-lpae': 'y'}> +CONFIG_SND_ES1968_RADIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf-generic-lpae': 'y'}> +CONFIG_SND_FM801 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_FM801_TEA575X_BOOL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_HDSP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_HDSPM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_ICE1712 policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm'}> +CONFIG_SND_ICE1724 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_INTEL8X0 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_INTEL8X0M policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_KORG1212 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_LOLA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_LX6464ES policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_MAESTRO3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm'}> +CONFIG_SND_MAESTRO3_INPUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf-generic-lpae': 'y'}> +CONFIG_SND_MIXART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_NM256 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_PCXHR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_RIPTIDE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_RME32 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_RME96 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_RME9652 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SONICVIBES policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm'}> +CONFIG_SND_TRIDENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm'}> +CONFIG_SND_VIA82XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_VIA82XX_MODEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_VIRTUOSO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_VX222 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_YMFPCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> PCMCIA sound devices +CONFIG_SND_PCMCIA policy<{'amd64': 'y'}> +CONFIG_SND_VXPOCKET policy<{'amd64': 'm'}> +CONFIG_SND_PDAUDIOCF policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> PowerPC sound devices +CONFIG_SND_PPC policy<{'ppc64el': 'y'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> SPI sound devices +CONFIG_SND_SPI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> SUPERH sound devices + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> Sequencer support +CONFIG_SND_SEQUENCER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SEQ_DUMMY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_SEQUENCER_OSS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_SND_SEQ_HRTIMER_DEFAULT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> Sparc sound devices + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> USB sound devices +CONFIG_SND_USB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_USB_AUDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_USB_UA101 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_USB_USX2Y policy<{'amd64': 'm', 'ppc64el': 'm'}> +CONFIG_SND_USB_CAIAQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_USB_CAIAQ_INPUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_SND_USB_US122L policy<{'amd64': 'm'}> +CONFIG_SND_USB_6FIRE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_USB_HIFACE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_BCD2000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_USB_POD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_USB_PODHD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_USB_TONEPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SND_USB_VARIAX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Sound card support >> Advanced Linux Sound Architecture >> X86 sound devices +CONFIG_SND_X86 policy<{'amd64': 'y'}> +CONFIG_HDMI_LPE_AUDIO policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> SoundWire support +CONFIG_SOUNDWIRE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SOUNDWIRE_INTEL policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_SOUNDWIRE_QCOM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +# +CONFIG_SOUNDWIRE mark note + +# Menu: Device Drivers >> Staging drivers +CONFIG_STAGING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_PRISM2_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTL8192U policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTL8723BS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_R8712U policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_R8188EU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTS5208 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_VT6655 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VT6656 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_SM750 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_EMXX policy<{'arm64': 'm', 'armhf': 'y'}> +CONFIG_STAGING_BOARD policy<{'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_LTE_GDM724X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_FIREWIRE_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FWTTY_MAX_TOTAL_PORTS policy<{'amd64': '64', 'arm64': '64', 'armhf': '64', 'ppc64el': '64', 'riscv64': '64'}> +CONFIG_FWTTY_MAX_CARD_PORTS policy<{'amd64': '32', 'arm64': '32', 'armhf': '32', 'ppc64el': '32', 'riscv64': '32'}> +CONFIG_COMMON_CLK_XLNX_CLKWZRD policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'n'}> +CONFIG_KS7010 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GREYBUS_AUDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREYBUS_AUDIO_APB_CODEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREYBUS_BOOTROM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREYBUS_FIRMWARE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREYBUS_HID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREYBUS_LIGHT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREYBUS_LOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREYBUS_LOOPBACK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREYBUS_POWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREYBUS_RAW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREYBUS_VIBRATOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_PI433 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_XIL_AXIS_FIFO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_QLGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_WFX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +# +CONFIG_STAGING flag + +# Menu: Device Drivers >> Staging drivers >> Broadcom VideoCore support +CONFIG_BCM_VIDEOCORE policy<{'arm64': 'm'}> +CONFIG_BCM2835_VCHIQ policy<{'arm64': 'm'}> +CONFIG_VCHIQ_CDEV policy<{'arm64': 'y'}> +CONFIG_SND_BCM2835 policy<{'arm64': 'm'}> +CONFIG_VIDEO_BCM2835 policy<{'arm64': 'm'}> +CONFIG_BCM2835_VCHIQ_MMAL policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Fieldbus Device Support +CONFIG_FIELDBUS_DEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_HMS_ANYBUSS_BUS policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ARCX_ANYBUS_CONTROLLER policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HMS_PROFINET policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Greybus Bridged PHY Class drivers +CONFIG_GREYBUS_BRIDGED_PHY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREYBUS_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREYBUS_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREYBUS_PWM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREYBUS_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREYBUS_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREYBUS_UART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_GREYBUS_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Accelerometers +CONFIG_ADIS16203 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADIS16240 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Active energy metering IC +CONFIG_ADE7854 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADE7854_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADE7854_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Analog digital bi-direction converters +CONFIG_ADT7316 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADT7316_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ADT7316_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Analog to digital converters +CONFIG_AD7816 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD7280 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Capacitance to digital converters +CONFIG_AD7746 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Direct Digital Synthesis +CONFIG_AD9832 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AD9834 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Network Analyzer, Impedance Converters +CONFIG_AD5933 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> IIO staging drivers >> Resolver to digital converters +CONFIG_AD2S1210 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> MOST support +CONFIG_MOST_COMPONENTS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MOST_NET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MOST_VIDEO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MOST_DIM2 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MOST_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Media staging drivers +CONFIG_STAGING_MEDIA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIDEO_IMX_MEDIA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_MESON_VDEC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_OMAP4 policy<{'armhf-generic': 'm'}> +CONFIG_VIDEO_ROCKCHIP_VDEC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_SUNXI policy<{'arm64': 'y', 'armhf': '-'}> +CONFIG_VIDEO_SUNXI_CEDRUS policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_VIDEO_TEGRA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_TEGRA_TPG policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_VIDEO_IPU3_IMGU policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Media staging drivers >> AV7110 cards +CONFIG_DVB_SP8870 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_AV7110 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DVB_AV7110_OSD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_DVB_BUDGET_PATCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Media staging drivers >> Enable support to Intel Atom ISP camera drivers +CONFIG_INTEL_ATOMISP policy<{'amd64': 'y'}> + +# Menu: Device Drivers >> Staging drivers >> Media staging drivers >> Enable support to Intel Atom ISP camera drivers >> Intel Atom Image Signal Processor Driver + +# Menu: Device Drivers >> Staging drivers >> Media staging drivers >> Hantro VPU driver +CONFIG_VIDEO_HANTRO policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VIDEO_HANTRO_IMX8M policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_VIDEO_HANTRO_ROCKCHIP policy<{'arm64': 'y', 'armhf': 'y'}> + +# Menu: Device Drivers >> Staging drivers >> Media staging drivers >> Zoran ZR36060 + +# Menu: Device Drivers >> Staging drivers >> Media staging drivers >> i.MX5/6/7/8 Media Sub devices +CONFIG_VIDEO_IMX_CSI policy<{'armhf': 'm'}> +CONFIG_VIDEO_IMX7_CSI policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> NV Tegra Embedded Controller SMBus Interface +CONFIG_MFD_NVEC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_KEYBOARD_NVEC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_SERIO_NVEC_PS2 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_NVEC_POWER policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_NVEC_PAZ00 policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Support for rtllib wireless devices +CONFIG_RTLLIB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTLLIB_CRYPTO_CCMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTLLIB_CRYPTO_TKIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTLLIB_CRYPTO_WEP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_RTL8192E policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Staging drivers >> Support for small TFT LCD display modules +CONFIG_FB_TFT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_FB_TFT_AGM1264K_FL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_BD663474 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_HX8340BN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_HX8347D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_HX8353D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_HX8357D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9163 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9320 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9325 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9340 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9341 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9481 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_ILI9486 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_PCD8544 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_RA8875 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_S6D02A1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_S6D1121 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_SH1106 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_SSD1289 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_SSD1305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_SSD1306 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_SSD1331 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_SSD1351 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_ST7735R policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_ST7789V policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_TINYLCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_TLS8204 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_UC1611 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_UC1701 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_UPD161704 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_FB_TFT_SEPS525 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> TEE drivers +CONFIG_OPTEE policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_AMDTEE policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> TI VLYNQ + +# Menu: Device Drivers >> Thermal drivers +CONFIG_THERMAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_THERMAL_NETLINK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_THERMAL_STATISTICS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 'riscv64': '0'}> +CONFIG_THERMAL_HWMON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_THERMAL_WRITABLE_TRIPS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_THERMAL_GOV_FAIR_SHARE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_THERMAL_GOV_STEP_WISE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_THERMAL_GOV_BANG_BANG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_THERMAL_GOV_USER_SPACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_THERMAL_GOV_POWER_ALLOCATOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_DEVFREQ_THERMAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_THERMAL_EMULATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_THERMAL_MMIO policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_HISI_THERMAL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IMX_THERMAL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IMX_SC_THERMAL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IMX8MM_THERMAL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_K3_THERMAL policy<{'arm64': 'm'}> +CONFIG_MAX77620_THERMAL policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SUN8I_THERMAL policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_ROCKCHIP_THERMAL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RCAR_THERMAL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RCAR_GEN3_THERMAL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_DOVE_THERMAL policy<{'armhf': 'm'}> +CONFIG_ARMADA_THERMAL policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_DA9062_THERMAL policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MTK_THERMAL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_AMLOGIC_THERMAL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_GENERIC_ADC_THERMAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SPRD_THERMAL policy<{'arm64': 'm'}> +CONFIG_KHADAS_MCU_FAN_THERMAL policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Thermal drivers >> APIs to parse thermal data out of device tree +CONFIG_THERMAL_OF policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CPU_THERMAL policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CPU_FREQ_THERMAL policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CPU_IDLE_THERMAL policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_QORIQ_THERMAL policy<{'arm64': 'm'}> +CONFIG_UNIPHIER_THERMAL policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> + +# Menu: Device Drivers >> Thermal drivers >> Broadcom thermal drivers +CONFIG_BCM2711_THERMAL policy<{'arm64': 'm'}> +CONFIG_BCM2835_THERMAL policy<{'arm64': 'm'}> +CONFIG_BRCMSTB_THERMAL policy<{'arm64': 'm'}> +CONFIG_BCM_NS_THERMAL policy<{'arm64': 'm'}> +CONFIG_BCM_SR_THERMAL policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> Thermal drivers >> Default Thermal governor +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> + +# Menu: Device Drivers >> Thermal drivers >> Intel thermal drivers +CONFIG_INTEL_POWERCLAMP policy<{'amd64': 'm'}> +CONFIG_X86_PKG_TEMP_THERMAL policy<{'amd64': 'm'}> +CONFIG_INTEL_SOC_DTS_THERMAL policy<{'amd64': 'm'}> +CONFIG_INTEL_BXT_PMIC_THERMAL policy<{'amd64': 'm'}> +CONFIG_INTEL_PCH_THERMAL policy<{'amd64': 'm'}> +CONFIG_INTEL_TCC_COOLING policy<{'amd64': 'm'}> +CONFIG_INTEL_MENLOW policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Thermal drivers >> Intel thermal drivers >> ACPI INT340X thermal drivers +CONFIG_INT340X_THERMAL policy<{'amd64': 'm'}> +CONFIG_INT3406_THERMAL policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Thermal drivers >> NVIDIA Tegra thermal drivers +CONFIG_TEGRA_SOCTHERM policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_TEGRA_BPMP_THERMAL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_TEGRA30_TSENSOR policy<{'armhf': 'm'}> + +# Menu: Device Drivers >> Thermal drivers >> Qualcomm thermal drivers +CONFIG_QCOM_TSENS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_SPMI_ADC_TM5 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_SPMI_TEMP_ALARM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_LMH policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> Thermal drivers >> STMicroelectronics thermal drivers + +# Menu: Device Drivers >> Thermal drivers >> Samsung thermal drivers +CONFIG_EXYNOS_THERMAL policy<{'armhf': 'y'}> + +# Menu: Device Drivers >> Thermal drivers >> Texas Instruments thermal drivers + +# Menu: Device Drivers >> Thermal drivers >> Texas Instruments thermal drivers >> Texas Instruments SoCs temperature sensor driver +CONFIG_TI_SOC_THERMAL policy<{'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_TI_THERMAL policy<{'armhf': '-'}> +CONFIG_OMAP3_THERMAL policy<{'armhf': '-'}> +CONFIG_OMAP4_THERMAL policy<{'armhf': '-'}> +CONFIG_DRA752_THERMAL policy<{'armhf': '-'}> + +# Menu: Device Drivers >> USB support +CONFIG_USB_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_USB_LED_TRIG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_ULPI_BUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_CONN_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_UHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_ROLE_SWITCH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_ROLES_INTEL_XHCI policy<{'amd64': 'm'}> +# +CONFIG_USB_UHCI_HCD mark note flag + +# Menu: Device Drivers >> USB support >> ChipIdea Highspeed Dual Role Controller +CONFIG_USB_CHIPIDEA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_CHIPIDEA_UDC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CHIPIDEA_HOST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CHIPIDEA_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_CHIPIDEA_MSM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_CHIPIDEA_IMX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_CHIPIDEA_GENERIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_CHIPIDEA_TEGRA policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB +CONFIG_USB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_ANNOUNCE_NEW_DEVICES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_DEFAULT_PERSIST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_FEW_INIT_RETRIES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_USB_DYNAMIC_MINORS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_OTG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_USB_OTG_PRODUCTLIST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_USB_LEDS_TRIGGER_USBPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_AUTOSUSPEND_DELAY policy<{'amd64': '2', 'arm64': '2', 'armhf': '2', 'ppc64el': '2', 'riscv64': '2'}> +CONFIG_USB_MON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_C67X00_HCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_BRCMSTB policy<{'arm64': 'm'}> +CONFIG_USB_OXU210HP_HCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_ISP116X_HCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_FOTG210_HCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_MAX3421_HCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_FHCI_HCD policy<{'ppc64el': 'm'}> +CONFIG_FHCI_DEBUG policy<{'ppc64el': 'n'}> +CONFIG_USB_U132_HCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SL811_HCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_SL811_HCD_ISO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_SL811_CS policy<{'amd64': 'm'}> +CONFIG_USB_R8A66597_HCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_RENESAS_USBHS_HCD policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_USB_HCD_BCMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_HCD_SSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_HCD_TEST_MODE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_USB_RENESAS_USBHS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_USB_ACM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_PRINTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_WDM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_TMC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_MDC800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_MICROTEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_CDNS_SUPPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_CDNSP_PCI policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_USB_CDNSP_GADGET policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_USB_CDNSP_HOST policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_USB_MTU3 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_USB_MTU3_DEBUG policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_USB_ISP1760 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_USS720 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_EMI62 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_EMI26 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_ADUTUX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_SEVSEG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_LEGOTOWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_LCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_CYPRESS_CY7C63 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_CYTHERM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_IDMOUSE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_FTDI_ELAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_APPLEDISPLAY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_APPLE_MFI_FASTCHARGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_SISUSBVGA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_LD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_TRANCEVIBRATOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_IOWARRIOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_TEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_EHSET_TEST_FIXTURE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_ISIGHTFW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_YUREX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_EZUSB_FX2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_HUB_USB251XB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_HSIC_USB3503 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_HSIC_USB4604 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_LINK_LAYER_TEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_CHAOSKEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_BRCM_USB_PINMAP policy<{'arm64': 'm'}> +# +CONFIG_USB_OTG note note note +CONFIG_USB_HCD_BCMA note +CONFIG_USB_HCD_SSB note + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> Cadence USB3 Dual-Role Controller +CONFIG_USB_CDNS3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_CDNS3_GADGET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CDNS3_HOST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CDNS3_PCI_WRAP policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_USB_CDNS3_TI policy<{'arm64': 'm'}> +CONFIG_USB_CDNS3_IMX policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> DesignWare USB2 DRD Core Support +CONFIG_USB_DWC2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_DWC2_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_DWC2_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_USB_DWC2_TRACK_MISSED_SOFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> DesignWare USB2 DRD Core Support >> DWC2 Mode Selection +CONFIG_USB_DWC2_HOST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_DWC2_DUAL_ROLE policy<{'armhf': 'n'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> DesignWare USB3 DRD Core Support +CONFIG_USB_DWC3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_DWC3_ULPI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_DWC3_OMAP policy<{'armhf': 'm'}> +CONFIG_USB_DWC3_EXYNOS policy<{'armhf': 'n'}> +CONFIG_USB_DWC3_PCI policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_USB_DWC3_HAPS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_DWC3_KEYSTONE policy<{'arm64': 'm'}> +CONFIG_USB_DWC3_MESON_G12A policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_USB_DWC3_OF_SIMPLE policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_DWC3_QCOM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_USB_DWC3_IMX8MP policy<{'arm64': 'm'}> +CONFIG_USB_DWC3_XILINX policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> DesignWare USB3 DRD Core Support >> DWC3 Mode Selection +CONFIG_USB_DWC3_HOST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_USB_DWC3_GADGET policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_USB_DWC3_DUAL_ROLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> EHCI HCD (USB 2.0) support +CONFIG_USB_EHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_EHCI_ROOT_HUB_TT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_EHCI_TT_NEWSCHED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_EHCI_FSL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_EHCI_HCD_NPCM7XX policy<{'armhf': 'm'}> +CONFIG_USB_EHCI_HCD_OMAP policy<{'armhf': 'm'}> +CONFIG_USB_EHCI_HCD_ORION policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_USB_EHCI_TEGRA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_USB_EHCI_HCD_PPC_OF policy<{'ppc64el': 'y'}> +CONFIG_USB_EHCI_EXYNOS policy<{'armhf': 'n'}> +CONFIG_USB_EHCI_HCD_PLATFORM policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +# +CONFIG_USB_EHCI_HCD_PLATFORM mark note flag +CONFIG_USB_EHCI_HCD mark note flag + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> ISP1760 Mode Selection +CONFIG_USB_ISP1760_HOST_ROLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_USB_ISP1760_GADGET_ROLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_USB_ISP1760_DUAL_ROLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> Inventra Highspeed Dual Role Controller +CONFIG_USB_MUSB_HDRC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_MUSB_SUNXI policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_USB_MUSB_TUSB6010 policy<{'armhf': 'm'}> +CONFIG_USB_MUSB_OMAP2PLUS policy<{'armhf': 'm'}> +CONFIG_USB_MUSB_POLARFIRE_SOC policy<{'riscv64': 'm'}> +CONFIG_USB_MUSB_AM35X policy<{'armhf': 'm'}> +CONFIG_USB_MUSB_DSPS policy<{'armhf': 'm'}> +CONFIG_USB_MUSB_MEDIATEK policy<{'arm64': 'm', 'armhf': 'm'}> +# +CONFIG_USB_MUSB_HDRC note flag + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> Inventra Highspeed Dual Role Controller >> Disable DMA (always use PIO) +CONFIG_MUSB_PIO_ONLY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> Inventra Highspeed Dual Role Controller >> MUSB Mode Selection +CONFIG_USB_MUSB_HOST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_USB_MUSB_GADGET policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_USB_MUSB_DUAL_ROLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> MTU3 Mode Selection +CONFIG_USB_MTU3_HOST policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_USB_MTU3_GADGET policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_USB_MTU3_DUAL_ROLE policy<{'arm64': 'y', 'armhf': 'y'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> OHCI HCD (USB 1.1) support +CONFIG_USB_OHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_OHCI_HCD_OMAP3 policy<{'armhf-generic': 'm'}> +CONFIG_USB_OHCI_HCD_PPC_OF_BE policy<{'ppc64el': 'n'}> +CONFIG_USB_OHCI_HCD_PPC_OF_LE policy<{'ppc64el': 'n'}> +CONFIG_USB_OHCI_HCD_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_OHCI_EXYNOS policy<{'armhf': 'n'}> +CONFIG_USB_OHCI_HCD_PLATFORM policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +# +CONFIG_USB_OHCI_HCD marknote +CONFIG_USB_OHCI_HCD_PPC_OF_LE flag + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> USB DSL modem support +CONFIG_USB_ATM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SPEEDTOUCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_CXACRU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_UEAGLEATM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_XUSBATM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> USB Mass Storage support +CONFIG_USB_STORAGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_STORAGE_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_USB_STORAGE_REALTEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REALTEK_AUTOPM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_USB_STORAGE_DATAFAB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_STORAGE_FREECOM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_STORAGE_ISD200 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_STORAGE_USBAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_STORAGE_SDDR09 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_STORAGE_SDDR55 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_STORAGE_JUMPSHOT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_STORAGE_ALAUDA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_STORAGE_ONETOUCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_STORAGE_KARMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_STORAGE_CYPRESS_ATACB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_STORAGE_ENE_UB6250 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_UAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> USB Serial Converter support +CONFIG_USB_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_SERIAL_GENERIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_SERIAL_SIMPLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_AIRCABLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_ARK3116 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_BELKIN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_CH341 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_WHITEHEAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_DIGI_ACCELEPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_CP210X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_CYPRESS_M8 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_EMPEG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_FTDI_SIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_VISOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_IPAQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_IR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_EDGEPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_EDGEPORT_TI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_F81232 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_F8153X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_GARMIN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_IPW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_IUU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_KEYSPAN_PDA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_KEYSPAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_KLSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_KOBIL_SCT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_MCT_U232 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_METRO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_MOS7720 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_MOS7715_PARPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_SERIAL_MOS7840 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_MXUPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_NAVMAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_PL2303 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_OTI6858 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_QCAUX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_QUALCOMM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_SPCP8X5 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_SAFE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_SAFE_PADDED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_USB_SERIAL_SIERRAWIRELESS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_SYMBOL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_TI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_CYBERJACK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_OPTION policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_OMNINET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_OPTICON policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_XSENS_MT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_WISHBONE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_SSU100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_QT2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_UPD78F0730 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_XR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SERIAL_DEBUG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +# +CONFIG_USB_SERIAL_DEBUG note + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> USB/IP support +CONFIG_USBIP_CORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USBIP_VHCI_HCD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USBIP_VHCI_HC_PORTS policy<{'amd64': '8', 'arm64': '8', 'armhf': '8', 'ppc64el': '8', 'riscv64': '8'}> +CONFIG_USBIP_VHCI_NR_HCS policy<{'amd64': '1', 'arm64': '1', 'armhf': '1', 'ppc64el': '1', 'riscv64': '1'}> +CONFIG_USBIP_HOST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USBIP_VUDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USBIP_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Device Drivers >> USB support >> Support for Host-side USB >> xHCI HCD (USB 3.0) support +CONFIG_USB_XHCI_HCD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_XHCI_DBGCAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_XHCI_PCI_RENESAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_XHCI_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_XHCI_HISTB policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_USB_XHCI_MTK policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_USB_XHCI_MVEBU policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_USB_XHCI_RCAR policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_USB_XHCI_TEGRA policy<{'arm64': 'm', 'armhf': 'm'}> +# +CONFIG_USB_XHCI_HCD mark note flag +CONFIG_USB_XHCI_DBGCAP note + +# Menu: Device Drivers >> USB support >> USB Gadget Support +CONFIG_USB_GADGET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_GADGET_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_USB_GADGET_DEBUG_FILES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_USB_GADGET_DEBUG_FS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_USB_GADGET_VBUS_DRAW policy<{'amd64': '2', 'arm64': '2', 'armhf': '2', 'ppc64el': '2', 'riscv64': '2'}> +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS policy<{'amd64': '2', 'arm64': '2', 'armhf': '2', 'ppc64el': '2', 'riscv64': '2'}> +CONFIG_U_SERIAL_CONSOLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> USB Gadget Support >> USB Gadget functions configurable through configfs +CONFIG_USB_CONFIGFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_CONFIGFS_SERIAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_ACM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_OBEX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_NCM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_ECM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_ECM_SUBSET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_RNDIS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_EEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_PHONET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_MASS_STORAGE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_LB_SS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_UAC1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_UAC1_LEGACY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_UAC2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_MIDI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_HID policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_UVC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_PRINTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_CONFIGFS_F_TCM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> USB Gadget Support >> USB Gadget precomposed configurations +CONFIG_USB_ZERO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_AUDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GADGET_UAC1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_GADGET_UAC1_LEGACY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_USB_ETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_ETH_RNDIS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_ETH_EEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_G_NCM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GADGETFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_MASS_STORAGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GADGET_TARGET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_G_SERIAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_MIDI_GADGET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_G_PRINTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_CDC_COMPOSITE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_G_NOKIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_G_ACM_MS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_G_MULTI policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_USB_G_MULTI_RNDIS policy<{'armhf': '-'}> +CONFIG_USB_G_MULTI_CDC policy<{'armhf': '-'}> +CONFIG_USB_G_HID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_G_DBGP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_G_WEBCAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_RAW_GADGET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> USB Gadget Support >> USB Gadget precomposed configurations >> EHCI Debug Device mode +CONFIG_USB_G_DBGP_PRINTK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_USB_G_DBGP_SERIAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> USB Gadget Support >> USB Gadget precomposed configurations >> Function Filesystem +CONFIG_USB_FUNCTIONFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_FUNCTIONFS_ETH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_FUNCTIONFS_RNDIS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_FUNCTIONFS_GENERIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Device Drivers >> USB support >> USB Gadget Support >> USB Peripheral Controller +CONFIG_USB_FUSB300 policy<{'armhf-generic': 'm'}> +CONFIG_USB_FOTG210_UDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GR_UDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_R8A66597 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_RENESAS_USBHS_UDC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_USB_RENESAS_USB3 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_USB_PXA27X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_MV_UDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_MV_U3D policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_SNP_UDC_PLAT policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_M66592 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_USB_BDC_UDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_AMD5536UDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET2272 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_NET2272_DMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_NET2280 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GOKU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_EG20T policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_GADGET_XILINX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_MAX3420_UDC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_USB_TEGRA_XUDC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_USB_ASPEED_VHUB policy<{'armhf': 'm'}> +CONFIG_USB_DUMMY_HCD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +# +CONFIG_USB_M66592 note +CONFIG_USB_DUMMY_HCD flag + +# Menu: Device Drivers >> USB support >> USB Physical Layer drivers +CONFIG_NOP_USB_XCEIV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_AM335X_PHY_USB policy<{'armhf': 'm'}> +CONFIG_TWL6030_USB policy<{'armhf': 'm'}> +CONFIG_USB_GPIO_VBUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TAHVO_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TAHVO_USB_HOST_BY_DEFAULT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_USB_ISP1301 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_USB_MXS_PHY policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_USB_TEGRA_PHY policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_USB_ULPI policy<{'arm64': 'y', 'armhf': 'y'}> +# +CONFIG_NOP_USB_XCEIV note + +# Menu: Device Drivers >> USB support >> USB Type-C Support +CONFIG_TYPEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TYPEC_UCSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_UCSI_CCG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_UCSI_ACPI policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_TYPEC_HD3SS3220 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TYPEC_TPS6598X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TYPEC_STUSB160X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TYPEC_QCOM_PMIC policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Device Drivers >> USB support >> USB Type-C Support >> USB Type-C Alternate Mode drivers +CONFIG_TYPEC_DP_ALTMODE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TYPEC_NVIDIA_ALTMODE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> USB Type-C Support >> USB Type-C Multiplexer/DeMultiplexer Switch support +CONFIG_TYPEC_MUX_PI3USB30532 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TYPEC_MUX_INTEL_PMC policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> USB support >> USB Type-C Support >> USB Type-C Port Controller Manager +CONFIG_TYPEC_TCPM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TYPEC_FUSB302 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> USB support >> USB Type-C Support >> USB Type-C Port Controller Manager >> Type-C Port Controller Interface driver +CONFIG_TYPEC_TCPCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TYPEC_RT1711H policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TYPEC_MT6360 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TYPEC_TCPCI_MAXIM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> Unified support for USB4 and Thunderbolt +CONFIG_USB4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_USB4_DEBUGFS_WRITE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_USB4_DMA_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Device Drivers >> Userspace I/O drivers +CONFIG_UIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_UIO_CIF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_UIO_PDRV_GENIRQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_UIO_DMEM_GENIRQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_UIO_AEC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_UIO_SERCOS3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_UIO_PCI_GENERIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_UIO_NETX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_UIO_FSL_ELBC_GPCM policy<{'ppc64el': 'm'}> +CONFIG_UIO_FSL_ELBC_GPCM_NETX5152 policy<{'ppc64el': 'n'}> +CONFIG_UIO_PRUSS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_UIO_MF624 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_UIO_HV_GENERIC policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_UIO_DFL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Device Drivers >> VFIO Non-Privileged userspace driver framework +CONFIG_VFIO policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_VFIO_NOIOMMU policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_VFIO_MDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_VFIO_FSL_MC policy<{'arm64': 'm'}> +CONFIG_VFIO_PCI policy<{'amd64': 'y', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'y', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_VFIO_PCI_VGA policy<{'amd64': 'y'}> +CONFIG_VFIO_PCI_IGD policy<{'amd64': 'y'}> +# +CONFIG_VFIO mark note +CONFIG_VFIO_PCI mark note + +# Menu: Device Drivers >> VFIO Non-Privileged userspace driver framework >> VFIO support for platform devices +CONFIG_VFIO_PLATFORM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VFIO_AMBA policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VFIO_PLATFORM_AMDXGBE_RESET policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VFIO_PLATFORM_BCMFLEXRM_RESET policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> VHOST drivers +CONFIG_VHOST_MENU policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_VHOST_NET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_VHOST_SCSI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_VHOST_VSOCK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_VHOST_VDPA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VHOST_CROSS_ENDIAN_LEGACY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Device Drivers >> VME bridge support +CONFIG_VME_BUS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_VME_CA91CX42 policy<{'amd64': 'm'}> +CONFIG_VME_TSI148 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_VME_FAKE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_VMIVME_7805 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_VME_USER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Device Drivers >> Virtio drivers +CONFIG_VIRTIO_MENU policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_VIRTIO_PCI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_VIRTIO_PCI_LEGACY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_VIRTIO_VDPA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VIRTIO_PMEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf-generic-lpae': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_VIRTIO_BALLOON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_VIRTIO_MEM policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_VIRTIO_INPUT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_VIRTIO_MMIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +# +CONFIG_VIRTIO_PCI flag +CONFIG_VIRTIO_MMIO note + +# Menu: Device Drivers >> Virtualization drivers +CONFIG_VIRT_DRIVERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_VBOXGUEST policy<{'amd64': 'm'}> +CONFIG_NITRO_ENCLAVES policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_ACRN_HSM policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Voltage and Current Regulator Support +CONFIG_REGULATOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_REGULATOR_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_REGULATOR_FIXED_VOLTAGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_VIRTUAL_CONSUMER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_USERSPACE_CONSUMER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_88PG86X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_88PM800 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_88PM8607 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_ACT8865 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_ACT8945A policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_AD5398 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_ANATOP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_REGULATOR_AAT2870 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_ARIZONA_LDO1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_ARIZONA_MICSUPP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_ARM_SCMI policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_REGULATOR_AS3711 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_AS3722 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_ATC260X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_AXP20X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_BCM590XX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_BD71815 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_BD71828 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_BD718XX policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_BD9571MWV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_BD957XMUF policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_CPCAP policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_CROS_EC policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_REGULATOR_DA903X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_DA9052 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_DA9055 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_DA9062 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_DA9063 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_DA9121 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_DA9210 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_DA9211 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_FAN53555 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_FAN53880 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_HI6421 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_HI6421V530 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_HI655X policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_REGULATOR_HI6421V600 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_ISL9305 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_ISL6271A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_LM363X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_LOCHNAGAR policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_LP3971 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_LP3972 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_LP872X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_LP873X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_LP8755 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_LP87565 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_LP8788 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_LTC3589 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_LTC3676 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_MAX14577 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_MAX1586 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_MAX77620 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_MAX77650 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8649 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_MAX8660 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_MAX8893 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_MAX8907 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8925 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_MAX8952 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_MAX8973 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_MAX8997 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_MAX8998 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_MAX77686 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_MAX77693 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_MAX77802 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_MAX77826 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_MC13783 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_MC13892 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_MCP16502 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_MP5416 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_MP8859 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_MP886X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_MPQ7920 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_MT6311 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_MT6315 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_MT6323 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_MT6358 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_MT6359 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_MT6360 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_MT6380 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_REGULATOR_MT6397 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_PALMAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_PBIAS policy<{'armhf': 'm'}> +CONFIG_REGULATOR_PCA9450 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_PCAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_PCF50633 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_PF8X00 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_PFUZE100 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_PV88060 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_PV88080 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_PV88090 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_PWM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_QCOM_RPM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_REGULATOR_QCOM_RPMH policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_REGULATOR_QCOM_SMD_RPM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_REGULATOR_QCOM_SPMI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_QCOM_USB_VBUS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_RC5T583 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_RK808 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_RN5T618 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_RT4801 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_RT4831 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_RT5033 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_RT6160 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_RT6245 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_RTQ2134 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_RTMV20 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_RTQ6752 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_S2MPA01 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_S2MPS11 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_S5M8767 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_SC2731 policy<{'arm64': 'm'}> +CONFIG_REGULATOR_SKY81452 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_SLG51000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_STPMIC1 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_TI_ABB policy<{'armhf': 'y'}> +CONFIG_REGULATOR_SY8106A policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_SY8824X policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_SY8827N policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_TPS51632 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_TPS6105X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_TPS62360 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_TPS65023 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_TPS6507X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_TPS65086 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_TPS65090 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_TPS65132 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_TPS65217 policy<{'arm64': 'm', 'armhf': 'y', 'ppc64el': '-'}> +CONFIG_REGULATOR_TPS65218 policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_TPS6524X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_TPS6586X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_TPS65910 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_TPS65912 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_TWL4030 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_UNIPHIER policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_REGULATOR_VCTRL policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_VEXPRESS policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_REGULATOR_VQMMC_IPQ4019 policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_REGULATOR_WM831X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_WM8350 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_WM8400 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_REGULATOR_WM8994 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_REGULATOR_QCOM_LABIBB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +# +CONFIG_REGULATOR_FIXED_VOLTAGE note +CONFIG_REGULATOR_TWL4030 mark note +CONFIG_REGULATOR_TPS65217 mark note + +# Menu: Device Drivers >> Watchdog Timer Support +CONFIG_WATCHDOG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_WATCHDOG_CORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_WATCHDOG_NOWAYOUT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_WATCHDOG_OPEN_TIMEOUT policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 'riscv64': '0', 's390x': '0'}> +CONFIG_WATCHDOG_SYSFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SOFT_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SOFT_WATCHDOG_PRETIMEOUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BD957XMUF_WATCHDOG policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DA9052_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_DA9055_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_DA9063_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_DA9062_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_GPIO_WATCHDOG policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MENF21BMC_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MENZ069_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_WDAT_WDT policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_WM831X_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_WM8350_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_XILINX_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_ZIIRAVE_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_RAVE_SP_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MLX_WDT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_SL28CPLD_WATCHDOG policy<{'arm64': 'm'}> +CONFIG_ARM_SP805_WATCHDOG policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_SBSA_WATCHDOG policy<{'arm64': 'm'}> +CONFIG_ARMADA_37XX_WATCHDOG policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CADENCE_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_FTWDT010_WATCHDOG policy<{'armhf': 'm'}> +CONFIG_S3C2410_WATCHDOG policy<{'armhf': 'n'}> +CONFIG_DW_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_OMAP_WATCHDOG policy<{'armhf': 'm'}> +CONFIG_K3_RTI_WATCHDOG policy<{'arm64': 'm'}> +CONFIG_ORION_WATCHDOG policy<{'armhf': 'm'}> +CONFIG_RN5T618_WATCHDOG policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SUNXI_WATCHDOG policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_NPCM7XX_WATCHDOG policy<{'armhf': 'y'}> +CONFIG_TWL4030_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_TS4800_WATCHDOG policy<{'armhf': 'm'}> +CONFIG_MAX63XX_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MAX77620_WATCHDOG policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IMX2_WDT policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IMX_SC_WDT policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IMX7ULP_WDT policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RETU_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_TEGRA_WATCHDOG policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_QCOM_WDT policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MESON_GXBB_WATCHDOG policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MESON_WATCHDOG policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_MEDIATEK_WATCHDOG policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_SMC_WATCHDOG policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RENESAS_WDT policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_RENESAS_RZAWDT policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ASPEED_WATCHDOG policy<{'armhf': 'y'}> +CONFIG_STPMIC1_WATCHDOG policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_UNIPHIER_WATCHDOG policy<{'armhf': 'n', 'armhf-generic-lpae': '-'}> +CONFIG_RTD119X_WATCHDOG policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_SPRD_WATCHDOG policy<{'arm64': 'm'}> +CONFIG_PM8916_WATCHDOG policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_VISCONTI_WATCHDOG policy<{'arm64': 'm'}> +CONFIG_MSC313E_WATCHDOG policy<{'armhf': 'm'}> +CONFIG_ACQUIRE_WDT policy<{'amd64': 'm'}> +CONFIG_ADVANTECH_WDT policy<{'amd64': 'm'}> +CONFIG_ALIM1535_WDT policy<{'amd64': 'm'}> +CONFIG_ALIM7101_WDT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_EBC_C384_WDT policy<{'amd64': 'm'}> +CONFIG_F71808E_WDT policy<{'amd64': 'm'}> +CONFIG_SP5100_TCO policy<{'amd64': 'm'}> +CONFIG_SBC_FITPC2_WATCHDOG policy<{'amd64': 'm'}> +CONFIG_EUROTECH_WDT policy<{'amd64': 'm'}> +CONFIG_IB700_WDT policy<{'amd64': 'm'}> +CONFIG_IBMASR policy<{'amd64': 'm'}> +CONFIG_WAFER_WDT policy<{'amd64': 'm'}> +CONFIG_I6300ESB_WDT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_IE6XX_WDT policy<{'amd64': 'm'}> +CONFIG_ITCO_WDT policy<{'amd64': 'm'}> +CONFIG_ITCO_VENDOR_SUPPORT policy<{'amd64': 'y'}> +CONFIG_IT8712F_WDT policy<{'amd64': 'm'}> +CONFIG_IT87_WDT policy<{'amd64': 'm'}> +CONFIG_HP_WATCHDOG policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_HPWDT_NMI_DECODING policy<{'amd64': 'y'}> +CONFIG_KEMPLD_WDT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_SC1200_WDT policy<{'amd64': 'm'}> +CONFIG_PC87413_WDT policy<{'amd64': 'm'}> +CONFIG_NV_TCO policy<{'amd64': 'm'}> +CONFIG_60XX_WDT policy<{'amd64': 'm'}> +CONFIG_CPU5_WDT policy<{'amd64': 'm'}> +CONFIG_SMSC_SCH311X_WDT policy<{'amd64': 'm'}> +CONFIG_SMSC37B787_WDT policy<{'amd64': 'm'}> +CONFIG_TQMX86_WDT policy<{'amd64': 'm'}> +CONFIG_VIA_WDT policy<{'amd64': 'm'}> +CONFIG_W83627HF_WDT policy<{'amd64': 'm'}> +CONFIG_W83877F_WDT policy<{'amd64': 'm'}> +CONFIG_W83977F_WDT policy<{'amd64': 'm'}> +CONFIG_MACHZ_WDT policy<{'amd64': 'm'}> +CONFIG_SBC_EPX_C3_WATCHDOG policy<{'amd64': 'm'}> +CONFIG_INTEL_MEI_WDT policy<{'amd64': 'm'}> +CONFIG_NI903X_WDT policy<{'amd64': 'm'}> +CONFIG_NIC7018_WDT policy<{'amd64': 'm'}> +CONFIG_BCM2835_WDT policy<{'arm64': 'm'}> +CONFIG_BCM7038_WDT policy<{'arm64': 'm'}> +CONFIG_MEN_A21_WDT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_WATCHDOG_RTAS policy<{'ppc64el': 'm'}> +CONFIG_DIAG288_WATCHDOG policy<{'s390x': 'm'}> +CONFIG_XEN_WDT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': '-'}> +CONFIG_PCIPCWATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_WDTPCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_USBPCWATCHDOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_KEEMBAY_WATCHDOG policy<{'arm64': 'm'}> + +# Menu: Device Drivers >> Watchdog Timer Support >> Enable watchdog pretimeout governors +CONFIG_WATCHDOG_PRETIMEOUT_GOV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_WATCHDOG_PRETIMEOUT_GOV_NOOP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_WATCHDOG_PRETIMEOUT_GOV_PANIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Device Drivers >> Watchdog Timer Support >> Enable watchdog pretimeout governors >> Default Watchdog Pretimeout Governor +CONFIG_WATCHDOG_PRETIMEOUT_DEFAULT_GOV_NOOP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Device Drivers >> X86 Platform Specific Device Drivers +CONFIG_X86_PLATFORM_DEVICES policy<{'amd64': 'y'}> +CONFIG_UV_SYSFS policy<{'amd64': 'm'}> +CONFIG_ACERHDF policy<{'amd64': 'm'}> +CONFIG_ACER_WIRELESS policy<{'amd64': 'm'}> +CONFIG_AMD_PMC policy<{'amd64': 'm'}> +CONFIG_ADV_SWBUTTON policy<{'amd64': 'm'}> +CONFIG_APPLE_GMUX policy<{'amd64': 'm'}> +CONFIG_ASUS_LAPTOP policy<{'amd64': 'm'}> +CONFIG_ASUS_WIRELESS policy<{'amd64': 'm'}> +CONFIG_MERAKI_MX100 policy<{'amd64': 'm'}> +CONFIG_EEEPC_LAPTOP policy<{'amd64': 'm'}> +CONFIG_AMILO_RFKILL policy<{'amd64': 'm'}> +CONFIG_DELL_UART_BACKLIGHT policy<{'amd64': 'm'}> +CONFIG_FUJITSU_LAPTOP policy<{'amd64': 'm'}> +CONFIG_FUJITSU_TABLET policy<{'amd64': 'm'}> +CONFIG_GPD_POCKET_FAN policy<{'amd64': 'm'}> +CONFIG_HP_ACCEL policy<{'amd64': 'm'}> +CONFIG_WIRELESS_HOTKEY policy<{'amd64': 'm'}> +CONFIG_IBM_RTL policy<{'amd64': 'm'}> +CONFIG_SENSORS_HDAPS policy<{'amd64': 'm'}> +CONFIG_MSI_LAPTOP policy<{'amd64': 'm'}> +CONFIG_PCENGINES_APU2 policy<{'amd64': 'm'}> +CONFIG_SAMSUNG_LAPTOP policy<{'amd64': 'm'}> +CONFIG_SAMSUNG_Q10 policy<{'amd64': 'm'}> +CONFIG_TOSHIBA_BT_RFKILL policy<{'amd64': 'm'}> +CONFIG_TOSHIBA_HAPS policy<{'amd64': 'm'}> +CONFIG_ACPI_CMPC policy<{'amd64': 'm'}> +CONFIG_COMPAL_LAPTOP policy<{'amd64': 'm'}> +CONFIG_PANASONIC_LAPTOP policy<{'amd64': 'm'}> +CONFIG_SONY_LAPTOP policy<{'amd64': 'm'}> +CONFIG_SONYPI_COMPAT policy<{'amd64': 'y'}> +CONFIG_SYSTEM76_ACPI policy<{'amd64': 'm'}> +CONFIG_TOPSTAR_LAPTOP policy<{'amd64': 'm'}> +CONFIG_MLX_PLATFORM policy<{'amd64': 'm'}> +CONFIG_TOUCHSCREEN_DMI policy<{'amd64': 'y'}> +CONFIG_INTEL_IPS policy<{'amd64': 'm'}> +CONFIG_INTEL_SCU_PCI policy<{'amd64': 'y'}> +CONFIG_INTEL_SCU_PLATFORM policy<{'amd64': 'm'}> +CONFIG_INTEL_SCU_IPC_UTIL policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> X86 Platform Specific Device Drivers >> Dell X86 Platform Specific Device Drivers +CONFIG_X86_PLATFORM_DRIVERS_DELL policy<{'amd64': 'y'}> +CONFIG_ALIENWARE_WMI policy<{'amd64': 'm'}> +CONFIG_DCDBAS policy<{'amd64': 'm'}> +CONFIG_DELL_LAPTOP policy<{'amd64': 'm'}> +CONFIG_DELL_RBU policy<{'amd64': 'm'}> +CONFIG_DELL_RBTN policy<{'amd64': 'm'}> +CONFIG_DELL_SMO8800 policy<{'amd64': 'm'}> +CONFIG_DELL_WMI_AIO policy<{'amd64': 'm'}> +CONFIG_DELL_WMI_LED policy<{'amd64': 'm'}> +CONFIG_DELL_WMI_SYSMAN policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> X86 Platform Specific Device Drivers >> Dell X86 Platform Specific Device Drivers >> Dell SMBIOS driver +CONFIG_DELL_SMBIOS policy<{'amd64': 'm'}> +CONFIG_DELL_SMBIOS_WMI policy<{'amd64': 'y'}> +CONFIG_DELL_SMBIOS_SMM policy<{'amd64': 'y'}> +CONFIG_DELL_WMI policy<{'amd64': 'm'}> +CONFIG_DELL_WMI_PRIVACY policy<{'amd64': 'y'}> + +# Menu: Device Drivers >> X86 Platform Specific Device Drivers >> Intel x86 Platform Specific Device Drivers +CONFIG_INTEL_ATOMISP2_LED policy<{'amd64': 'm'}> +CONFIG_INTEL_SAR_INT1092 policy<{'amd64': 'm'}> +CONFIG_INTEL_SKL_INT3472 policy<{'amd64': 'm'}> +CONFIG_INTEL_PMC_CORE policy<{'amd64': 'y'}> +CONFIG_INTEL_PMT_TELEMETRY policy<{'amd64': 'm'}> +CONFIG_INTEL_PMT_CRASHLOG policy<{'amd64': 'm'}> +CONFIG_INTEL_TELEMETRY policy<{'amd64': 'm'}> +CONFIG_INTEL_WMI_SBL_FW_UPDATE policy<{'amd64': 'm'}> +CONFIG_INTEL_WMI_THUNDERBOLT policy<{'amd64': 'm'}> +CONFIG_INTEL_HID_EVENT policy<{'amd64': 'm'}> +CONFIG_INTEL_VBTN policy<{'amd64': 'm'}> +CONFIG_INTEL_INT0002_VGPIO policy<{'amd64': 'm'}> +CONFIG_INTEL_OAKTRAIL policy<{'amd64': 'm'}> +CONFIG_INTEL_BXTWC_PMIC_TMU policy<{'amd64': 'm'}> +CONFIG_INTEL_CHTDC_TI_PWRBTN policy<{'amd64': 'm'}> +CONFIG_INTEL_MRFLD_PWRBTN policy<{'amd64': 'm'}> +CONFIG_INTEL_PUNIT_IPC policy<{'amd64': 'm'}> +CONFIG_INTEL_RST policy<{'amd64': 'm'}> +CONFIG_INTEL_SMARTCONNECT policy<{'amd64': 'm'}> +CONFIG_INTEL_TURBO_MAX_3 policy<{'amd64': 'y'}> +CONFIG_INTEL_UNCORE_FREQ_CONTROL policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> X86 Platform Specific Device Drivers >> Intel x86 Platform Specific Device Drivers >> Intel Speed Select Technology interface support +CONFIG_INTEL_SPEED_SELECT_INTERFACE policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> X86 Platform Specific Device Drivers >> ThinkPad ACPI Laptop Extras +CONFIG_THINKPAD_ACPI policy<{'amd64': 'm'}> +CONFIG_THINKPAD_ACPI_ALSA_SUPPORT policy<{'amd64': 'y'}> +CONFIG_THINKPAD_ACPI_DEBUGFACILITIES policy<{'amd64': 'y'}> +CONFIG_THINKPAD_ACPI_DEBUG policy<{'amd64': 'n'}> +CONFIG_THINKPAD_ACPI_UNSAFE_LEDS policy<{'amd64': 'n'}> +CONFIG_THINKPAD_ACPI_VIDEO policy<{'amd64': 'y'}> +CONFIG_THINKPAD_ACPI_HOTKEY_POLL policy<{'amd64': 'y'}> + +# Menu: Device Drivers >> X86 Platform Specific Device Drivers >> WMI +CONFIG_ACPI_WMI policy<{'amd64': 'm'}> +CONFIG_WMI_BMOF policy<{'amd64': 'm'}> +CONFIG_HUAWEI_WMI policy<{'amd64': 'm'}> +CONFIG_MXM_WMI policy<{'amd64': 'm'}> +CONFIG_PEAQ_WMI policy<{'amd64': 'm'}> +CONFIG_NVIDIA_WMI_EC_BACKLIGHT policy<{'amd64': 'm'}> +CONFIG_XIAOMI_WMI policy<{'amd64': 'm'}> +CONFIG_GIGABYTE_WMI policy<{'amd64': 'm'}> +CONFIG_ACER_WMI policy<{'amd64': 'm'}> +CONFIG_ASUS_WMI policy<{'amd64': 'm'}> +CONFIG_ASUS_NB_WMI policy<{'amd64': 'm'}> +CONFIG_EEEPC_WMI policy<{'amd64': 'm'}> +CONFIG_HP_WMI policy<{'amd64': 'm'}> +CONFIG_IDEAPAD_LAPTOP policy<{'amd64': 'm'}> +CONFIG_THINKPAD_LMI policy<{'amd64': 'm'}> +CONFIG_MSI_WMI policy<{'amd64': 'm'}> +CONFIG_ACPI_TOSHIBA policy<{'amd64': 'm'}> +CONFIG_TOSHIBA_WMI policy<{'amd64': 'n'}> +CONFIG_LG_LAPTOP policy<{'amd64': 'm'}> + +# Menu: Device Drivers >> Xen driver support +CONFIG_XEN_BALLOON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': '-'}> +CONFIG_XEN_BALLOON_MEMORY_HOTPLUG policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_XEN_MEMORY_HOTPLUG_LIMIT policy<{'amd64': '512'}> +CONFIG_XEN_SCRUB_PAGES_DEFAULT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': '-'}> +CONFIG_XEN_DEV_EVTCHN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': '-'}> +CONFIG_XENFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': '-'}> +CONFIG_XEN_COMPAT_XENFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': '-'}> +CONFIG_XEN_SYS_HYPERVISOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': '-'}> +CONFIG_XEN_GNTDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': '-'}> +CONFIG_XEN_GNTDEV_DMABUF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': '-'}> +CONFIG_XEN_GRANT_DEV_ALLOC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': '-'}> +CONFIG_XEN_GRANT_DMA_ALLOC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': '-'}> +CONFIG_XEN_PVCALLS_FRONTEND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': '-'}> +CONFIG_XEN_ACPI_PROCESSOR policy<{'amd64': 'y'}> +CONFIG_XEN_MCE_LOG policy<{'amd64': 'y'}> +CONFIG_XEN_SYMS policy<{'amd64': 'y'}> +CONFIG_XEN_UNPOPULATED_ALLOC policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_XEN_VIRTIO policy<{'amd64': 'y', 'arm64': 'y'}> +# +CONFIG_XEN_ACPI_PROCESSOR mark note + +# Menu: Device Drivers >> Xen driver support >> Backend driver support +CONFIG_XEN_BACKEND policy<{'amd64': 'y', 'arm64': 'y', 'armhf': '-'}> +CONFIG_XEN_PCIDEV_BACKEND policy<{'amd64': 'm'}> +CONFIG_XEN_PVCALLS_BACKEND policy<{'amd64': 'n', 'arm64': 'n', 'armhf': '-'}> +CONFIG_XEN_SCSI_BACKEND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': '-'}> + +# Menu: Device Drivers >> vDPA drivers +CONFIG_VDPA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_VDPA_SIM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VDPA_SIM_NET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VDPA_SIM_BLOCK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VDPA_USER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IFCVF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MLX5_VDPA_NET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_VP_VDPA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Dump support +# + +# Menu: Dump support >> Architecture: s390 + +# Menu: Enable loadable module support +CONFIG_MODULES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MODULE_FORCE_LOAD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_MODULE_UNLOAD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MODULE_FORCE_UNLOAD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_MODVERSIONS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MODULE_SRCVERSION_ALL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_MODPROBE_PATH policy<{'amd64': '"/sbin/modprobe"', 'arm64': '"/sbin/modprobe"', 'armhf': '"/sbin/modprobe"', 'ppc64el': '"/sbin/modprobe"', 'riscv64': '"/sbin/modprobe"', 's390x': '"/sbin/modprobe"'}> +CONFIG_TRIM_UNUSED_KSYMS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_MODVERSIONS mark note note + +# Menu: Enable loadable module support >> Module compression mode +CONFIG_MODULE_COMPRESS_NONE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MODULE_COMPRESS_GZIP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_MODULE_COMPRESS_XZ policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_MODULE_COMPRESS_ZSTD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Enable loadable module support >> Module signature verification +CONFIG_MODULE_SIG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MODULE_SIG_FORCE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_MODULE_SIG_ALL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Enable loadable module support >> Module signature verification >> Which hash algorithm should modules be signed with? +CONFIG_MODULE_SIG_SHA1 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_MODULE_SIG_SHA224 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_MODULE_SIG_SHA256 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_MODULE_SIG_SHA384 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_MODULE_SIG_SHA512 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Enable the block layer +CONFIG_BLOCK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BLK_DEV_BSGLIB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BLK_DEV_INTEGRITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BLK_DEV_ZONED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BLK_DEV_THROTTLING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BLK_DEV_THROTTLING_LOW policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_BLK_WBT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BLK_WBT_MQ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BLK_CGROUP_IOLATENCY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_BLK_CGROUP_FC_APPID policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BLK_CGROUP_IOCOST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BLK_CGROUP_IOPRIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BLK_DEBUG_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BLK_SED_OPAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BLK_INLINE_ENCRYPTION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_BLK_DEV_THROTTLING note + +# Menu: Enable the block layer >> IO Schedulers +CONFIG_MQ_IOSCHED_DEADLINE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MQ_IOSCHED_KYBER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IOSCHED_BFQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BFQ_GROUP_IOSCHED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BFQ_CGROUP_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Enable the block layer >> Partition Types + +# Menu: Enable the block layer >> Partition Types >> Advanced partition selection +CONFIG_PARTITION_ADVANCED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_AIX_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_OSF_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_AMIGA_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_ATARI_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_IBM_PARTITION policy<{'s390x': 'y'}> +CONFIG_MAC_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_LDM_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_LDM_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_SGI_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_ULTRIX_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_SUN_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_KARMA_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_EFI_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SYSV68_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_CMDLINE_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +# +CONFIG_PARTITION_ADVANCED flag + +# Menu: Enable the block layer >> Partition Types >> Advanced partition selection >> Acorn partition support +CONFIG_ACORN_PARTITION policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Enable the block layer >> Partition Types >> Advanced partition selection >> PC BIOS (MSDOS partition tables) support +CONFIG_MSDOS_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BSD_DISKLABEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_MINIX_SUBPARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_SOLARIS_X86_PARTITION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_UNIXWARE_DISKLABEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> + +# Menu: Endianness selection +CONFIG_CPU_BIG_ENDIAN policy<{'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'y'}> +CONFIG_CPU_LITTLE_ENDIAN policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> + +# Menu: Endianness selection >> Architecture: powerpc + +# Menu: Executable file formats +CONFIG_BINFMT_ELF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BINFMT_ELF_FDPIC policy<{'armhf': 'y'}> +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BINFMT_SCRIPT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BINFMT_MISC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_COREDUMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_BINFMT_SCRIPT mark note + +# Menu: Executable file formats >> Kernel support for flat binaries +CONFIG_BINFMT_FLAT policy<{'armhf': 'y', 'riscv64': 'y'}> +CONFIG_BINFMT_FLAT_OLD policy<{'armhf': 'y', 'riscv64': 'y'}> +CONFIG_BINFMT_ZFLAT policy<{'armhf': 'y', 'riscv64': 'y'}> + +# Menu: File systems +CONFIG_VALIDATE_FS_PARSER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_EXT2_FS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_EXT3_FS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_JBD2_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_GFS2_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_GFS2_FS_LOCKING_DLM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NILFS2_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_ZONEFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_FS_DAX policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_EXPORTFS_BLOCK_OPS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FILE_LOCKING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FS_ENCRYPTION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FS_ENCRYPTION_INLINE_CRYPT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FS_VERITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FS_VERITY_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_FS_VERITY_BUILTIN_SIGNATURES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DNOTIFY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_INOTIFY_USER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FANOTIFY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FANOTIFY_ACCESS_PERMISSIONS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_QUOTA_NETLINK_INTERFACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_AUTOFS4_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'y'}> +CONFIG_AUTOFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'y'}> +CONFIG_FUSE_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CUSE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_VIRTIO_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_FUSE_DAX policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_SHIFT_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SHIFT_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_UNICODE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_UNICODE_NORMALIZATION_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_EXT2_FS note +CONFIG_EXT3_FS note +CONFIG_FUSE_FS note flag + +# Menu: File systems >> Btrfs filesystem support +CONFIG_BTRFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BTRFS_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BTRFS_FS_CHECK_INTEGRITY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_BTRFS_FS_RUN_SANITY_TESTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_BTRFS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_BTRFS_ASSERT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_BTRFS_FS_REF_VERIFY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: File systems >> CD-ROM/DVD Filesystems +CONFIG_ISO9660_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_JOLIET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ZISOFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_UDF_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: File systems >> Caches +CONFIG_NETFS_STATS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CACHEFILES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CACHEFILES_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_FSCACHE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_FSCACHE_STATS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FSCACHE_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: File systems >> DOS/FAT/EXFAT/NT Filesystems +CONFIG_MSDOS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_EXFAT_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_EXFAT_DEFAULT_IOCHARSET policy<{'amd64': '"utf8"', 'arm64': '"utf8"', 'armhf': '"utf8"', 'ppc64el': '"utf8"', 'riscv64': '"utf8"'}> +CONFIG_NTFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NTFS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_NTFS_RW policy<{'amd64': 'n', 'arm64-generic': 'n', 'armhf': 'n', 'ppc64el': '-', 'riscv64': 'n', 's390x': 'y'}> +CONFIG_VFAT_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FAT_DEFAULT_CODEPAGE policy<{'amd64': '437', 'arm64': '437', 'armhf': '437', 'ppc64el': '437', 'riscv64': '437', 's390x': '437'}> +CONFIG_FAT_DEFAULT_IOCHARSET policy<{'amd64': '"iso8859-1"', 'arm64': '"iso8859-1"', 'armhf': '"iso8859-1"', 'ppc64el': '"iso8859-1"', 'riscv64': '"iso8859-1"', 's390x': '"iso8859-1"'}> +CONFIG_FAT_DEFAULT_UTF8 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_VFAT_FS mark note + +# Menu: File systems >> DOS/FAT/EXFAT/NT Filesystems >> NTFS Read-Write file system support +CONFIG_NTFS3_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NTFS3_64BIT_CLUSTER policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_NTFS3_LZX_XPRESS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NTFS3_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: File systems >> Distributed Lock Manager (DLM) +CONFIG_DLM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_DLM_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: File systems >> F2FS filesystem support +CONFIG_F2FS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_F2FS_STAT_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_F2FS_FS_XATTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_F2FS_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_F2FS_FS_SECURITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_F2FS_CHECK_FS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_F2FS_FAULT_INJECTION policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_F2FS_IOSTAT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: File systems >> F2FS filesystem support >> F2FS compression feature +CONFIG_F2FS_FS_COMPRESSION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_F2FS_FS_LZO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_F2FS_FS_LZ4 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_F2FS_FS_LZ4HC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_F2FS_FS_ZSTD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_F2FS_FS_LZORLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: File systems >> JFS filesystem support +CONFIG_JFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_JFS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_JFS_SECURITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_JFS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_JFS_STATISTICS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems +CONFIG_MISC_FILESYSTEMS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ORANGEFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_ADFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_ADFS_FS_RW policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_AFFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_ECRYPT_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ECRYPT_FS_MESSAGING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_HFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_HFSPLUS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_BEFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_BEFS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_BFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_EFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_CRAMFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_CRAMFS_BLOCKDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CRAMFS_MTD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VXFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MINIX_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_OMFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_HPFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_QNX4FS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_QNX6FS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_QNX6FS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_ROMFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_SYSV_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_UFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_UFS_FS_WRITE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_UFS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_VBOXSF_FS policy<{'amd64': 'm'}> +# +CONFIG_ECRYPT_FS mark note + +# Menu: File systems >> Miscellaneous filesystems >> Default pstore compression algorithm +CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> EROFS filesystem support +CONFIG_EROFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_EROFS_FS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_EROFS_FS_XATTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_EROFS_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_EROFS_FS_SECURITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_EROFS_FS_ZIP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> Journalling Flash File System v2 (JFFS2) support +CONFIG_JFFS2_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_JFFS2_FS_DEBUG policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 'riscv64': '0'}> +CONFIG_JFFS2_FS_WRITEBUFFER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_JFFS2_FS_WBUF_VERIFY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_JFFS2_SUMMARY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_JFFS2_FS_XATTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_JFFS2_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_JFFS2_FS_SECURITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> Journalling Flash File System v2 (JFFS2) support >> Advanced compression options for JFFS2 +CONFIG_JFFS2_COMPRESSION_OPTIONS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_JFFS2_ZLIB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_JFFS2_LZO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_JFFS2_RTIME policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_JFFS2_RUBIN policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: File systems >> Miscellaneous filesystems >> Journalling Flash File System v2 (JFFS2) support >> Advanced compression options for JFFS2 >> JFFS2 default compression mode +CONFIG_JFFS2_CMODE_NONE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_JFFS2_CMODE_PRIORITY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_JFFS2_CMODE_SIZE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_JFFS2_CMODE_FAVOURLZO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> Persistent store support +CONFIG_PSTORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_PSTORE_DEFAULT_KMSG_BYTES policy<{'amd64': '10240', 'arm64': '10240', 'armhf': '10240', 'ppc64el': '10240', 'riscv64': '10240'}> +CONFIG_PSTORE_DEFLATE_COMPRESS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_PSTORE_LZO_COMPRESS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_PSTORE_LZ4_COMPRESS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_PSTORE_LZ4HC_COMPRESS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_PSTORE_842_COMPRESS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_PSTORE_ZSTD_COMPRESS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_PSTORE_CONSOLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'y', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_PSTORE_PMSG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_PSTORE_FTRACE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_PSTORE_RAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PSTORE_BLK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_PSTORE_BLK_BLKDEV policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 'riscv64': '""', 's390x': '-'}> +CONFIG_PSTORE_BLK_MAX_REASON policy<{'amd64': '2', 'arm64': '2', 'armhf': '2', 'ppc64el': '2', 'riscv64': '2', 's390x': '-'}> + +# Menu: File systems >> Miscellaneous filesystems >> Persistent store support >> Log panic/oops to a block device + +# Menu: File systems >> Miscellaneous filesystems >> RomFS backing stores +CONFIG_ROMFS_BACKED_BY_BLOCK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ROMFS_BACKED_BY_MTD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_ROMFS_BACKED_BY_BOTH policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: File systems >> Miscellaneous filesystems >> SquashFS 4.0 - Squashed file system support +CONFIG_SQUASHFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SQUASHFS_XATTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SQUASHFS_ZLIB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SQUASHFS_LZ4 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SQUASHFS_LZO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SQUASHFS_XZ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SQUASHFS_ZSTD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SQUASHFS_4K_DEVBLK_SIZE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SQUASHFS_EMBEDDED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE policy<{'amd64': '3', 'arm64': '3', 'armhf': '3', 'ppc64el': '3', 'riscv64': '3', 's390x': '3'}> +# +CONFIG_SQUASHFS_4K_DEVBLK_SIZE note +CONFIG_SQUASHFS mark note + +# Menu: File systems >> Miscellaneous filesystems >> SquashFS 4.0 - Squashed file system support >> Decompressor parallelisation options +CONFIG_SQUASHFS_DECOMP_SINGLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SQUASHFS_DECOMP_MULTI policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU mark note + +# Menu: File systems >> Miscellaneous filesystems >> SquashFS 4.0 - Squashed file system support >> File decompression options +CONFIG_SQUASHFS_FILE_CACHE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SQUASHFS_FILE_DIRECT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> UBIFS file system support +CONFIG_UBIFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_UBIFS_ATIME_SUPPORT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_UBIFS_FS_XATTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_UBIFS_FS_SECURITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_UBIFS_FS_AUTHENTICATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: File systems >> Miscellaneous filesystems >> UBIFS file system support >> Advanced compression options +CONFIG_UBIFS_FS_ADVANCED_COMPR policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_UBIFS_FS_LZO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_UBIFS_FS_ZLIB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_UBIFS_FS_ZSTD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: File systems >> Native language support +CONFIG_NLS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NLS_DEFAULT policy<{'amd64': '"utf8"', 'arm64': '"utf8"', 'armhf': '"utf8"', 'ppc64el': '"utf8"', 'riscv64': '"utf8"', 's390x': '"utf8"'}> +CONFIG_NLS_CODEPAGE_437 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NLS_CODEPAGE_737 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_775 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_850 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_852 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_855 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_857 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_860 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_861 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_862 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_863 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_864 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_865 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_866 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_869 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_936 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_950 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_932 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_949 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_874 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_8 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_1250 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_CODEPAGE_1251 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_ASCII policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_5 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_7 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_9 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_13 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_14 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_ISO8859_15 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_KOI8_R policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_KOI8_U policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_ROMAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_CELTIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_CENTEURO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_CROATIAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_CYRILLIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_GAELIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_GREEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_ICELAND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_INUIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_ROMANIAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_MAC_TURKISH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NLS_UTF8 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +# +CONFIG_NLS note + +# Menu: File systems >> Network File Systems +CONFIG_NETWORK_FILESYSTEMS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NFSD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFSD_V3_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_RPCSEC_GSS_KRB5 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SUNRPC_DEBUG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SUNRPC_XPRT_RDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CODA_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: File systems >> Network File Systems >> Andrew File System support (AFS) +CONFIG_AFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_AFS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_AFS_FSCACHE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_AFS_DEBUG_CURSOR policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: File systems >> Network File Systems >> Ceph distributed file system +CONFIG_CEPH_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CEPH_FSCACHE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CEPH_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CEPH_FS_SECURITY_LABEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: File systems >> Network File Systems >> NFS client support +CONFIG_NFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFS_V2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFS_V3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFS_V3_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NFS_V4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFS_SWAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NFS_FSCACHE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NFS_USE_LEGACY_DNS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_NFS_DISABLE_UDP_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: File systems >> Network File Systems >> NFS client support >> NFS client support for NFSv4.1 +CONFIG_NFS_V4_1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NFS_V4_2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN policy<{'amd64': '"kernel.org"', 'arm64': '"kernel.org"', 'armhf': '"kernel.org"', 'ppc64el': '"kernel.org"', 'riscv64': '"kernel.org"', 's390x': '"kernel.org"'}> +CONFIG_NFS_V4_1_MIGRATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NFS_V4_2_READ_PLUS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: File systems >> Network File Systems >> NFS server support for NFS version 4 +CONFIG_NFSD_V4 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NFSD_BLOCKLAYOUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NFSD_SCSILAYOUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NFSD_FLEXFILELAYOUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NFSD_V4_2_INTER_SSC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NFSD_V4_SECURITY_LABEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: File systems >> Network File Systems >> Plan 9 Resource Sharing Support (9P2000) +CONFIG_9P_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_9P_FSCACHE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_9P_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_9P_FS_SECURITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: File systems >> Network File Systems >> SMB3 and CIFS support (advanced network filesystem) +CONFIG_CIFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CIFS_STATS2 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CIFS_ALLOW_INSECURE_LEGACY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CIFS_UPCALL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CIFS_XATTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CIFS_POSIX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CIFS_DEBUG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CIFS_DEBUG2 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CIFS_DEBUG_DUMP_KEYS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CIFS_DFS_UPCALL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CIFS_SWN_UPCALL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CIFS_SMB_DIRECT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CIFS_FSCACHE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_CIFS_ALLOW_INSECURE_LEGACY flag + +# Menu: File systems >> Network File Systems >> SMB3 server support (EXPERIMENTAL) +CONFIG_SMB_SERVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SMB_SERVER_SMBDIRECT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SMB_SERVER_KERBEROS5 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: File systems >> OCFS2 file system support +CONFIG_OCFS2_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_OCFS2_FS_O2CB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_OCFS2_FS_USERSPACE_CLUSTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_OCFS2_FS_STATS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_OCFS2_DEBUG_MASKLOG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_OCFS2_DEBUG_FS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: File systems >> Overlay filesystem support +CONFIG_OVERLAY_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_OVERLAY_FS_REDIRECT_DIR policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_OVERLAY_FS_INDEX policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_OVERLAY_FS_XINO_AUTO policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_OVERLAY_FS_METACOPY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_OVERLAY_FS_METACOPY flag + +# Menu: File systems >> Pseudo filesystems +CONFIG_PROC_CHILDREN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SYSFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_HUGETLBFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf-generic-lpae': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CONFIGFS_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_EFIVAR_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'riscv64': 'y'}> +# +CONFIG_CONFIGFS_FS flag +CONFIG_EFIVAR_FS note + +# Menu: File systems >> Pseudo filesystems >> /proc file system support +CONFIG_PROC_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PROC_KCORE policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PROC_VMCORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PROC_VMCORE_DEVICE_DUMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PROC_SYSCTL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PROC_PAGE_MONITOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: File systems >> Pseudo filesystems >> Tmpfs virtual memory file system support (former shm fs) +CONFIG_TMPFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TMPFS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TMPFS_XATTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TMPFS_INODE64 policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_TMPFS_POSIX_ACL mark note + +# Menu: File systems >> Quota support +CONFIG_QUOTA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PRINT_QUOTA_WARNING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_QUOTA_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_QFMT_V1 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_QFMT_V2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: File systems >> Reiserfs support +CONFIG_REISERFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_REISERFS_CHECK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_REISERFS_PROC_INFO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_REISERFS_FS_XATTR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_REISERFS_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_REISERFS_FS_SECURITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: File systems >> The Extended 4 (ext4) filesystem +CONFIG_EXT4_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_EXT4_USE_FOR_EXT2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_EXT4_FS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_EXT4_FS_SECURITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_EXT4_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: File systems >> XFS filesystem support +CONFIG_XFS_FS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_XFS_SUPPORT_V4 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_XFS_QUOTA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_XFS_POSIX_ACL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_XFS_RT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_XFS_ONLINE_SCRUB policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_XFS_WARN policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_XFS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Firmware Drivers +CONFIG_ARM_SCPI_PROTOCOL policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_SCPI_POWER_DOMAIN policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_SDE_INTERFACE policy<{'arm64': 'y'}> +CONFIG_EDD policy<{'amd64': 'y'}> +CONFIG_EDD_OFF policy<{'amd64': 'y'}> +CONFIG_FIRMWARE_MEMMAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_DMIID policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y'}> +CONFIG_DMI_SYSFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm'}> +CONFIG_ISCSI_IBFT_FIND policy<{'amd64': 'y'}> +CONFIG_ISCSI_IBFT policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_RASPBERRYPI_FIRMWARE policy<{'arm64': 'y'}> +CONFIG_FW_CFG_SYSFS policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_FW_CFG_SYSFS_CMDLINE policy<{'amd64': 'n', 'arm64': 'n'}> +CONFIG_INTEL_STRATIX10_SERVICE policy<{'arm64': 'm'}> +CONFIG_INTEL_STRATIX10_RSU policy<{'arm64': 'm'}> +CONFIG_QCOM_SCM policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_SYSFB_SIMPLEFB policy<{'amd64': 'n', 'arm64': 'y', 'armhf': 'y', 'riscv64': 'n'}> +CONFIG_TI_SCI_PROTOCOL policy<{'arm64': 'y'}> +CONFIG_TRUSTED_FOUNDATIONS policy<{'armhf': 'y'}> +CONFIG_TURRIS_MOX_RWTM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_FFA_TRANSPORT policy<{'arm64': 'm'}> +CONFIG_TEE_BNXT_FW policy<{'arm64': 'm'}> +CONFIG_EFI_CUSTOM_SSDT_OVERLAYS policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_IMX_DSP policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_IMX_SCU policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_IMX_SCU_PD policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_MESON_SM policy<{'arm64-generic': 'y'}> +CONFIG_ARM_PSCI_CHECKER policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_ARM_SMCCC_SOC_ID policy<{'arm64': 'y', 'armhf': 'y'}> +# +CONFIG_SYSFB_SIMPLEFB flag + +# Menu: Firmware Drivers >> ARM System Control and Management Interface Protocol + +# Menu: Firmware Drivers >> ARM System Control and Management Interface Protocol >> ARM System Control and Management Interface (SCMI) Message Protocol +CONFIG_ARM_SCMI_PROTOCOL policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARM_SCMI_TRANSPORT_MAILBOX policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARM_SCMI_TRANSPORT_SMC policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARM_SCMI_TRANSPORT_VIRTIO policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARM_SCMI_POWER_DOMAIN policy<{'arm64': 'm', 'armhf': 'm'}> + +# Menu: Firmware Drivers >> EFI (Extensible Firmware Interface) Support +CONFIG_EFI_VARS policy<{'amd64': 'y'}> +CONFIG_EFI_VARS_PSTORE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm'}> +CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'riscv64': 'n'}> +CONFIG_EFI_RUNTIME_MAP policy<{'amd64': 'y'}> +CONFIG_EFI_FAKE_MEMMAP policy<{'amd64': 'n'}> +CONFIG_EFI_SOFT_RESERVE policy<{'amd64': 'y', 'arm64': 'y'}> +CONFIG_EFI_ARMSTUB_DTB_LOADER policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y'}> +CONFIG_EFI_BOOTLOADER_CONTROL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm'}> +CONFIG_EFI_CAPSULE_LOADER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm'}> +CONFIG_EFI_TEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'riscv64': 'm'}> +CONFIG_APPLE_PROPERTIES policy<{'amd64': 'y'}> +CONFIG_RESET_ATTACK_MITIGATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'riscv64': 'y'}> +CONFIG_EFI_RCI2_TABLE policy<{'amd64': 'y'}> +CONFIG_EFI_DISABLE_PCI_DMA policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'riscv64': 'n'}> +# +CONFIG_EFI_VARS mark note note + +# Menu: Firmware Drivers >> Google Firmware Drivers +CONFIG_GOOGLE_FIRMWARE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Firmware Drivers >> Google Firmware Drivers >> Coreboot Table Access + +# Menu: Firmware Drivers >> Tegra firmware driver +CONFIG_TEGRA_IVC policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_TEGRA_BPMP policy<{'arm64': 'y', 'armhf': 'y'}> + +# Menu: Firmware Drivers >> Zynq MPSoC Firmware Drivers +CONFIG_ZYNQMP_FIRMWARE policy<{'arm64': 'y'}> +CONFIG_ZYNQMP_FIRMWARE_DEBUG policy<{'arm64': 'n'}> + +# Menu: Floating point emulation >> Architecture: arm +CONFIG_VFP policy<{'armhf': 'y'}> +CONFIG_NEON policy<{'armhf': 'y'}> +CONFIG_KERNEL_MODE_NEON policy<{'arm64': 'y', 'armhf': 'y'}> + +# Menu: General architecture-dependent options +CONFIG_KPROBES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_JUMP_LABEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'n', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_STATIC_KEYS_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n', 'armhf': '-'}> +CONFIG_STATIC_CALL_SELFTEST policy<{'amd64': 'n'}> +CONFIG_SECCOMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECCOMP_CACHE_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_STACKPROTECTOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_STACKPROTECTOR_STRONG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_ARCH_MMAP_RND_BITS policy<{'amd64': '28', 'arm64': '18', 'armhf': '8', 'ppc64el': '28', 'riscv64': '18'}> +CONFIG_ARCH_MMAP_RND_COMPAT_BITS policy<{'amd64': '8', 'arm64': '11', 'ppc64el': '8'}> +CONFIG_COMPAT_32BIT_TIME policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_VMAP_STACK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'riscv64': 'n', 's390x': 'y'}> +CONFIG_RANDOMIZE_KSTACK_OFFSET policy<{'amd64': 'y', 'arm64': 'y', 's390x': 'y'}> +CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT policy<{'amd64': 'y', 'arm64': 'y', 's390x': 'y'}> +CONFIG_STRICT_KERNEL_RWX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_STRICT_MODULE_RWX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_LOCK_EVENT_COUNTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_FPROBE policy<{'amd64': 'y'}> +# +CONFIG_VMAP_STACK mark +CONFIG_SECCOMP mark +CONFIG_JUMP_LABEL flag +CONFIG_STRICT_KERNEL_RWX mark +CONFIG_STRICT_MODULE_RWX mark + +# Menu: General architecture-dependent options >> Architecture: arm + +# Menu: General architecture-dependent options >> Architecture: arm64 +CONFIG_SHADOW_CALL_STACK policy<{'arm64': 'y'}> + +# Menu: General architecture-dependent options >> Architecture: powerpc + +# Menu: General architecture-dependent options >> Architecture: s390 + +# Menu: General architecture-dependent options >> Architecture: x86 + +# Menu: General architecture-dependent options >> GCC plugins + +# Menu: General architecture-dependent options >> GCOV-based kernel profiling +CONFIG_GCOV_KERNEL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: General architecture-dependent options >> Link Time Optimization (LTO) +CONFIG_LTO_NONE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: General architecture-dependent options >> Link Time Optimization (LTO) >> Architecture: arm + +# Menu: General architecture-dependent options >> Link Time Optimization (LTO) >> Architecture: arm64 + +# Menu: General architecture-dependent options >> Link Time Optimization (LTO) >> Architecture: powerpc + +# Menu: General architecture-dependent options >> Link Time Optimization (LTO) >> Architecture: s390 + +# Menu: General architecture-dependent options >> Link Time Optimization (LTO) >> Architecture: x86 + +# Menu: General setup +CONFIG_COMPILE_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_WERROR policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_LOCALVERSION policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 'riscv64': '""', 's390x': '""'}> +CONFIG_LOCALVERSION_AUTO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_BUILD_SALT policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 'riscv64': '""', 's390x': '""'}> +CONFIG_DEFAULT_INIT policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 'riscv64': '""', 's390x': '""'}> +CONFIG_DEFAULT_HOSTNAME policy<{'amd64': '"(none)"', 'arm64': '"(none)"', 'armhf': '"(none)"', 'ppc64el': '"(none)"', 'riscv64': '"(none)"', 's390x': '"(none)"'}> +CONFIG_VERSION_SIGNATURE policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 'riscv64': '""', 's390x': '""'}> +CONFIG_SWAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SYSVIPC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_POSIX_MQUEUE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_WATCH_QUEUE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CROSS_MEMORY_ATTACH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_USELIB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_AUDIT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SCHED_CORE policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 's390x': 'y', 'armhf': '-'}> +CONFIG_CPU_ISOLATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IKCONFIG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_IKHEADERS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_LOG_BUF_SHIFT policy<{'amd64': '18', 'arm64': '18', 'armhf': '17', 'ppc64el': '18', 'riscv64': '18', 's390x': '18'}> +CONFIG_LOG_CPU_MAX_BUF_SHIFT policy<{'amd64': '12', 'arm64': '12', 'armhf': '12', 'ppc64el': '12', 'riscv64': '12', 's390x': '12'}> +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT policy<{'amd64': '13', 'arm64': '13', 'armhf': '13', 'ppc64el': '13', 'riscv64': '13', 's390x': '13'}> +CONFIG_PRINTK_INDEX policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_NUMA_BALANCING policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NUMA_BALANCING_DEFAULT_ENABLED policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_CHECKPOINT_RESTORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SCHED_AUTOGROUP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SYSFS_DEPRECATED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_RELAY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BOOT_CONFIG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_LD_DEAD_CODE_DATA_ELIMINATION policy<{'ppc64el': 'n'}> +CONFIG_USERFAULTFD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_EMBEDDED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_COMPAT_BRK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SLAB_MERGE_DEFAULT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SLAB_FREELIST_RANDOM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SLAB_FREELIST_HARDENED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SHUFFLE_PAGE_ALLOCATOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SLUB_CPU_PARTIAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PROFILING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_SYSFS_DEPRECATED mark note +CONFIG_COMPAT_BRK mark note +CONFIG_NUMA_BALANCING_DEFAULT_ENABLED note +CONFIG_LOCALVERSION_AUTO mark note + +# Menu: General setup >> BPF subsystem +CONFIG_BPF_LSM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BPF_SYSCALL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BPF_JIT_ALWAYS_ON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BPF_UNPRIV_DEFAULT_OFF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BPF_JIT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_BPF_JIT_ALWAYS_ON flag +CONFIG_BPF_UNPRIV_DEFAULT_OFF mark note + +# Menu: General setup >> BPF subsystem >> Preload BPF file system with kernel specific program and map iterators +CONFIG_BPF_PRELOAD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: General setup >> CPU/Task time and stats accounting +CONFIG_IRQ_TIME_ACCOUNTING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_BSD_PROCESS_ACCT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BSD_PROCESS_ACCT_V3 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TASKSTATS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TASK_DELAY_ACCT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TASK_XACCT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TASK_IO_ACCOUNTING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PSI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PSI_DEFAULT_DISABLED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'y'}> +# +CONFIG_PSI_DEFAULT_DISABLED note + +# Menu: General setup >> CPU/Task time and stats accounting >> Cputime accounting +CONFIG_TICK_CPU_ACCOUNTING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_VIRT_CPU_ACCOUNTING_NATIVE policy<{'ppc64el': 'n', 's390x': 'y'}> +CONFIG_VIRT_CPU_ACCOUNTING_GEN policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> + +# Menu: General setup >> Choose SLAB allocator +CONFIG_SLAB policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SLUB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SLOB policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: General setup >> Compiler optimization level +CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CC_OPTIMIZE_FOR_SIZE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: General setup >> Configure standard kernel features (expert users) +CONFIG_EXPERT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_UID16 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 's390x': 'y'}> +CONFIG_MULTIUSER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SGETMASK_SYSCALL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SYSFS_SYSCALL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FHANDLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_POSIX_TIMERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PRINTK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BUG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ELF_CORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PCSPKR_PLATFORM policy<{'amd64': 'y', 'ppc64el': 'y'}> +CONFIG_BASE_FULL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FUTEX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_EPOLL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SIGNALFD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TIMERFD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_EVENTFD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SHMEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_AIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IO_URING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ADVISE_SYSCALLS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MEMBARRIER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_KALLSYMS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_KALLSYMS_ALL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_KCMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_RSEQ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DEBUG_RSEQ policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PC104 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_VM_EVENT_COUNTERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SLUB_DEBUG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_FHANDLE mark note + +# Menu: General setup >> Control Group support +CONFIG_CGROUPS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MEMCG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BLK_CGROUP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CGROUP_PIDS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CGROUP_RDMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CGROUP_FREEZER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CGROUP_HUGETLB policy<{'amd64': 'y', 'arm64': 'y', 'armhf-generic-lpae': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CPUSETS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PROC_PID_CPUSET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CGROUP_DEVICE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CGROUP_CPUACCT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CGROUP_PERF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CGROUP_BPF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CGROUP_MISC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CGROUP_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: General setup >> Control Group support >> CPU controller +CONFIG_CGROUP_SCHED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FAIR_GROUP_SCHED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CFS_BANDWIDTH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_RT_GROUP_SCHED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_UCLAMP_TASK_GROUP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +# +CONFIG_RT_GROUP_SCHED mark note note note + +# Menu: General setup >> IRQ subsystem +CONFIG_SPARSE_IRQ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_GENERIC_IRQ_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: General setup >> Initial RAM filesystem and RAM disk (initramfs/initrd) support +CONFIG_BLK_DEV_INITRD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_RD_GZIP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_RD_BZIP2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_RD_LZMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_RD_XZ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_RD_LZO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_RD_LZ4 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_RD_ZSTD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: General setup >> Initial RAM filesystem and RAM disk (initramfs/initrd) support >> Initramfs source file(s) +CONFIG_INITRAMFS_SOURCE policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 'riscv64': '""', 's390x': '""'}> +CONFIG_INITRAMFS_PRESERVE_MTIME policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: General setup >> Initial RAM filesystem and RAM disk (initramfs/initrd) support >> Initramfs source file(s) >> Built-in initramfs compression mode + +# Menu: General setup >> Kernel Performance Events And Counters +CONFIG_PERF_EVENTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DEBUG_PERF_USE_VMALLOC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: General setup >> Kernel compression mode +CONFIG_KERNEL_GZIP policy<{'amd64': 'n', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'n'}> +CONFIG_KERNEL_BZIP2 policy<{'amd64': 'n', 's390x': 'n'}> +CONFIG_KERNEL_LZMA policy<{'amd64': 'n', 'armhf': 'n', 's390x': 'n'}> +CONFIG_KERNEL_XZ policy<{'amd64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_KERNEL_LZO policy<{'amd64': 'n', 'armhf': 'n', 's390x': 'n'}> +CONFIG_KERNEL_LZ4 policy<{'amd64': 'n', 'armhf': 'n', 's390x': 'n'}> +CONFIG_KERNEL_ZSTD policy<{'amd64': 'y', 's390x': 'y'}> +CONFIG_KERNEL_UNCOMPRESSED policy<{'s390x': 'n'}> +# +CONFIG_KERNEL_ZSTD mark note + +# Menu: General setup >> Namespaces support +CONFIG_NAMESPACES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_UTS_NS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TIME_NS policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IPC_NS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_USER_NS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PID_NS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NET_NS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: General setup >> Preemption Model +CONFIG_PREEMPT_NONE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'y'}> +CONFIG_PREEMPT_VOLUNTARY policy<{'amd64-generic': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_PREEMPT policy<{'amd64-generic': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_PREEMPT_NONE note + +# Menu: General setup >> RCU Subsystem +# XXX + +# Menu: General setup >> RCU Subsystem >> Make expert-level adjustments to RCU configuration +CONFIG_RCU_EXPERT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_RCU_EXPERT flag + +# Menu: General setup >> Scheduler features +CONFIG_UCLAMP_TASK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_UCLAMP_BUCKETS_COUNT policy<{'amd64': '5', 'arm64': '5', 'armhf': '5', 'ppc64el': '5'}> +# +CONFIG_UCLAMP_TASK flag + +# Menu: General setup >> Timers subsystem +CONFIG_NO_HZ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CONTEXT_TRACKING_FORCE policy<{'amd64': '-', 'arm64': '-', 'armhf': '-', 'ppc64el': '-', 'riscv64': '-', 's390x': '-'}> +CONFIG_HIGH_RES_TIMERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_CONTEXT_TRACKING_FORCE note mark + +# Menu: General setup >> Timers subsystem >> Timer tick handling +CONFIG_HZ_PERIODIC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_NO_HZ_IDLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NO_HZ_FULL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +# +CONFIG_NO_HZ_IDLE note + +# Menu: I/O subsystem >> Architecture: s390 +CONFIG_QDIO policy<{'s390x': 'm'}> +CONFIG_CHSC_SCH policy<{'s390x': 'm'}> +CONFIG_SCM_BUS policy<{'s390x': 'y'}> +CONFIG_EADM_SCH policy<{'s390x': 'm'}> +CONFIG_VFIO_CCW policy<{'s390x': 'm'}> +CONFIG_VFIO_AP policy<{'s390x': 'm'}> +CONFIG_PCI_NR_FUNCTIONS policy<{'s390x': '512'}> +# +CONFIG_PCI_NR_FUNCTIONS mark note + +# Menu: Kernel features +CONFIG_RISCV_SBI_V01 policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking +CONFIG_DEBUG_TIMEKEEPING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_IRQFLAGS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_STACKTRACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_WARN_ALL_UNSEEDED_RANDOM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PROVIDE_OHCI1394_DMA_INIT policy<{'amd64': 'n'}> +CONFIG_STRICT_DEVMEM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IO_STRICT_DEVMEM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_STRICT_DEVMEM mark + +# Menu: Kernel hacking >> $(SRCARCH) Debugging +CONFIG_DEBUG_ENTRY policy<{'amd64': 'n', 's390x': 'n'}> +CONFIG_PID_IN_CONTEXTIDR policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_EARLY_PRINTK policy<{'amd64': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_DEBUG_WX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Kernel hacking >> $(SRCARCH) Debugging >> Architecture: arm +CONFIG_DEBUG_USER policy<{'armhf': 'n'}> +CONFIG_DEBUG_VF_UART_PORT policy<{'armhf': '1'}> +CONFIG_ARM_KPROBES_TEST policy<{'armhf': 'm'}> +CONFIG_ARM_PTDUMP_DEBUGFS policy<{'armhf': 'n'}> + +# Menu: Kernel hacking >> $(SRCARCH) Debugging >> Architecture: arm64 +CONFIG_DEBUG_EFI policy<{'arm64': 'n'}> +CONFIG_ARM64_RELOC_TEST policy<{'arm64': 'n'}> + +# Menu: Kernel hacking >> $(SRCARCH) Debugging >> Architecture: powerpc +CONFIG_PPC_DISABLE_WERROR policy<{'ppc64el': 'n'}> +CONFIG_PRINT_STACK_DEPTH policy<{'ppc64el': '64'}> +CONFIG_HCALL_STATS policy<{'ppc64el': 'n'}> +CONFIG_PPC_EMULATED_STATS policy<{'ppc64el': 'n'}> +CONFIG_CODE_PATCHING_SELFTEST policy<{'ppc64el': 'n'}> +CONFIG_JUMP_LABEL_FEATURE_CHECKS policy<{'ppc64el': 'y'}> +CONFIG_JUMP_LABEL_FEATURE_CHECK_DEBUG policy<{'ppc64el': 'n'}> +CONFIG_FTR_FIXUP_SELFTEST policy<{'ppc64el': 'n'}> +CONFIG_MSI_BITMAP_SELFTEST policy<{'ppc64el': 'n'}> +CONFIG_PPC_IRQ_SOFT_MASK_DEBUG policy<{'ppc64el': 'n'}> +CONFIG_PPC_RFI_SRR_DEBUG policy<{'ppc64el': 'n'}> +CONFIG_BOOTX_TEXT policy<{'ppc64el': 'n'}> +CONFIG_PPC_EARLY_DEBUG policy<{'ppc64el': 'n'}> +CONFIG_PPC_FAST_ENDIAN_SWITCH policy<{'ppc64el': 'n'}> +# +CONFIG_PPC_DISABLE_WERROR flag + +# Menu: Kernel hacking >> $(SRCARCH) Debugging >> Architecture: s390 +CONFIG_CIO_INJECT policy<{'s390x': 'n'}> + +# Menu: Kernel hacking >> $(SRCARCH) Debugging >> Architecture: x86 +CONFIG_X86_VERBOSE_BOOTUP policy<{'amd64': 'n'}> +CONFIG_EFI_PGT_DUMP policy<{'amd64': 'n'}> +CONFIG_PUNIT_ATOM_DEBUG policy<{'amd64': 'm'}> +CONFIG_EARLY_PRINTK_DBGP policy<{'amd64': 'y'}> +CONFIG_EARLY_PRINTK_USB_XDBC policy<{'amd64': 'y'}> +CONFIG_DEBUG_TLBFLUSH policy<{'amd64': 'n'}> +CONFIG_IOMMU_DEBUG policy<{'amd64': 'n'}> +CONFIG_X86_DECODER_SELFTEST policy<{'amd64': 'n'}> +CONFIG_DEBUG_BOOT_PARAMS policy<{'amd64': 'n'}> +CONFIG_CPA_DEBUG policy<{'amd64': 'n'}> +CONFIG_DEBUG_NMI_SELFTEST policy<{'amd64': 'n'}> +CONFIG_X86_DEBUG_FPU policy<{'amd64': 'y'}> +# +CONFIG_PUNIT_ATOM_DEBUG flag +CONFIG_X86_DECODER_SELFTEST flag +CONFIG_X86_DEBUG_FPU flag + +# Menu: Kernel hacking >> $(SRCARCH) Debugging >> Choose kernel unwinder +CONFIG_UNWINDER_FRAME_POINTER policy<{'amd64': 'y', 'armhf': 'y'}> +# +CONFIG_UNWINDER_FRAME_POINTER mark note + +# Menu: Kernel hacking >> $(SRCARCH) Debugging >> Choose kernel unwinder >> Architecture: arm + +# Menu: Kernel hacking >> $(SRCARCH) Debugging >> Choose kernel unwinder >> Architecture: x86 +CONFIG_UNWINDER_ORC policy<{'amd64': 'n'}> + +# Menu: Kernel hacking >> $(SRCARCH) Debugging >> CoreSight Tracing Support +CONFIG_CORESIGHT policy<{'arm64': 'n', 'armhf': 'n'}> + +# Menu: Kernel hacking >> $(SRCARCH) Debugging >> CoreSight Tracing Support >> CoreSight Link and Sink drivers + +# Menu: Kernel hacking >> $(SRCARCH) Debugging >> Early debugging console >> Architecture: powerpc + +# Menu: Kernel hacking >> $(SRCARCH) Debugging >> IO delay type >> Architecture: x86 +CONFIG_IO_DELAY_0X80 policy<{'amd64': 'n'}> +CONFIG_IO_DELAY_0XED policy<{'amd64': 'y'}> +CONFIG_IO_DELAY_UDELAY policy<{'amd64': 'n'}> +CONFIG_IO_DELAY_NONE policy<{'amd64': 'n'}> + +# Menu: Kernel hacking >> $(SRCARCH) Debugging >> Include xmon kernel debugger >> Architecture: powerpc +CONFIG_XMON policy<{'ppc64el': 'y'}> +CONFIG_XMON_DEFAULT policy<{'ppc64el': 'n'}> +CONFIG_XMON_DISASSEMBLY policy<{'ppc64el': 'y'}> +CONFIG_XMON_DEFAULT_RO_MODE policy<{'ppc64el': 'y'}> + +# Menu: Kernel hacking >> $(SRCARCH) Debugging >> Kernel low-level debugging functions (read help!) + +# Menu: Kernel hacking >> $(SRCARCH) Debugging >> Kernel low-level debugging functions (read help!) >> Architecture: arm +CONFIG_DEBUG_LL policy<{'armhf': 'n'}> + +# Menu: Kernel hacking >> $(SRCARCH) Debugging >> Kernel low-level debugging functions (read help!) >> Kernel low-level debugging port >> Architecture: arm + +# Menu: Kernel hacking >> Compile-time checks and compiler options +CONFIG_FRAME_WARN policy<{'amd64': '1024', 'arm64': '1024', 'armhf': '1024', 'ppc64el': '2048', 'riscv64': '1024', 's390x': '1024'}> +CONFIG_STRIP_ASM_SYMS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_READABLE_ASM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_HEADERS_INSTALL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_SECTION_MISMATCH policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SECTION_MISMATCH_WARN_ONLY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FRAME_POINTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'riscv64': 'y'}> +CONFIG_STACK_VALIDATION policy<{'amd64': 'y'}> +CONFIG_VMLINUX_MAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DEBUG_FORCE_WEAK_PER_CPU policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_STACK_VALIDATION mark note + +# Menu: Kernel hacking >> Compile-time checks and compiler options >> Compile the kernel with debug info +CONFIG_DEBUG_INFO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DEBUG_INFO_REDUCED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_INFO_COMPRESSED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_INFO_SPLIT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_INFO_BTF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'n', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MODULE_ALLOW_BTF_MISMATCH policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_GDB_SCRIPTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_DEBUG_INFO mark note +CONFIG_DEBUG_INFO_SPLIT note note +CONFIG_DEBUG_INFO_BTF flag note + +# Menu: Kernel hacking >> Compile-time checks and compiler options >> Compile the kernel with debug info >> DWARF version +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_INFO_DWARF4 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_INFO_DWARF5 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Kernel hacking >> Debug Oops, Lockups and Hangs +CONFIG_PANIC_ON_OOPS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PANIC_TIMEOUT policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '10', 'riscv64': '0', 's390x': '0'}> +CONFIG_SOFTLOCKUP_DETECTOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_HARDLOCKUP_DETECTOR policy<{'amd64': 'y', 'ppc64el': 'y'}> +CONFIG_BOOTPARAM_HARDLOCKUP_PANIC policy<{'amd64': 'n', 'ppc64el': 'n'}> +CONFIG_DETECT_HUNG_TASK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT policy<{'amd64': '120', 'arm64': '120', 'armhf': '120', 'ppc64el': '120', 'riscv64': '120', 's390x': '120'}> +CONFIG_BOOTPARAM_HUNG_TASK_PANIC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_WQ_WATCHDOG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_LOCKUP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_PANIC_ON_OOPS note + +# Menu: Kernel hacking >> Debug kernel data structures +CONFIG_BUG_ON_DATA_CORRUPTION policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_LIST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_PLIST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_SG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_NOTIFIERS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_BUG_ON_DATA_CORRUPTION flag + +# Menu: Kernel hacking >> Generic Kernel Debugging Instruments +CONFIG_MAGIC_SYSRQ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE policy<{'amd64': '0x01b6', 'arm64': '0x01b6', 'armhf': '0x01b6', 'ppc64el': '0x01b6', 'riscv64': '0x01b6', 's390x': '0x01b6'}> +CONFIG_MAGIC_SYSRQ_SERIAL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE policy<{'amd64': '""', 'arm64': '""', 'armhf': '""', 'ppc64el': '""', 'riscv64': '""', 's390x': '""'}> +CONFIG_DEBUG_FS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# + +# Menu: Kernel hacking >> Generic Kernel Debugging Instruments >> Debugfs default access +CONFIG_DEBUG_FS_ALLOW_ALL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DEBUG_FS_DISALLOW_MOUNT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_FS_ALLOW_NONE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Kernel hacking >> Generic Kernel Debugging Instruments >> KCSAN: dynamic data race detector + +# Menu: Kernel hacking >> Generic Kernel Debugging Instruments >> KCSAN: dynamic data race detector >> Strict data-race checking + +# Menu: Kernel hacking >> Generic Kernel Debugging Instruments >> KGDB: kernel debugger +CONFIG_KGDB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_KGDB_HONOUR_BLOCKLIST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_KGDB_SERIAL_CONSOLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_KGDB_TESTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_KGDB_LOW_LEVEL_TRAP policy<{'amd64': 'y'}> +# +CONFIG_KGDB flag +CONFIG_KGDB_SERIAL_CONSOLE note + +# Menu: Kernel hacking >> Generic Kernel Debugging Instruments >> KGDB: kernel debugger >> KGDB_KDB: include kdb frontend for kgdb +CONFIG_KGDB_KDB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_KDB_DEFAULT_ENABLE policy<{'amd64': '0x1', 'arm64': '0x1', 'armhf': '0x1', 'ppc64el': '0x1', 'riscv64': '0x1'}> +CONFIG_KDB_KEYBOARD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_KDB_CONTINUE_CATASTROPHIC policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 'riscv64': '0'}> + +# Menu: Kernel hacking >> Generic Kernel Debugging Instruments >> Undefined behaviour sanity checker +CONFIG_UBSAN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'n', 's390x': 'y'}> +CONFIG_UBSAN_TRAP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_UBSAN mark note + +# Menu: Kernel hacking >> Kernel Testing and Coverage +CONFIG_MEMTEST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_HYPERV_TESTING policy<{'amd64': 'n', 'arm64': 'n'}> + +# Menu: Kernel hacking >> Kernel Testing and Coverage >> Code coverage for fuzzing + +# Menu: Kernel hacking >> Kernel Testing and Coverage >> Fault-injection framework +CONFIG_FAULT_INJECTION policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Kernel hacking >> Kernel Testing and Coverage >> Fault-injection framework >> Debugfs entries for fault-injection capabilities + +# Menu: Kernel hacking >> Kernel Testing and Coverage >> KUnit - Enable support for unit tests +CONFIG_KUNIT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Kernel hacking >> Kernel Testing and Coverage >> Notifier error injection +CONFIG_NOTIFIER_ERROR_INJECTION policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_PM_NOTIFIER_ERROR_INJECT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_OF_RECONFIG_NOTIFIER_ERROR_INJECT policy<{'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_NETDEV_NOTIFIER_ERROR_INJECT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Kernel hacking >> Kernel Testing and Coverage >> Runtime Testing +CONFIG_RUNTIME_TESTING_MENU policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_LKDTM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_MIN_HEAP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_SORT policy<{'amd64': '-', 'arm64': '-', 'armhf': '-', 'ppc64el': '-', 's390x': '-'}> +CONFIG_TEST_DIV64 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_BACKTRACE_SELF_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_RBTREE_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_REED_SOLOMON_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_INTERVAL_TREE_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PERCPU_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_ATOMIC64_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_ASYNC_RAID6_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_HEXDUMP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_STRING_HELPERS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_STRSCPY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_KSTRTOX policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_PRINTF policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_SCANF policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_BITMAP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_UUID policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_XARRAY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_RHASHTABLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_IDA policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_PARMAN policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_LKM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_BITOPS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_VMALLOC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_USER_COPY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_BPF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TEST_BLACKHOLE_DEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_FIND_BIT_BENCHMARK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_FIRMWARE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_SYSCTL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_UDELAY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_STATIC_KEYS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_KMOD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_MEMCAT_P policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_LIVEPATCH policy<{'amd64': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_TEST_OBJAGG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_MEMINIT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_HMM policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n'}> +CONFIG_TEST_FREE_PAGES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TEST_FPU policy<{'amd64': 'n'}> +CONFIG_TEST_CLOCKSOURCE_WATCHDOG policy<{'amd64': 'n'}> +CONFIG_STRING_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_RUNTIME_TESTING_MENU flag +CONFIG_LKDTM flag flag +CONFIG_TEST_LIST_SORT flag +CONFIG_TEST_SORT flag +CONFIG_KPROBES_SANITY_TEST flag +CONFIG_BACKTRACE_SELF_TEST flag +CONFIG_RBTREE_TEST flag +CONFIG_INTERVAL_TREE_TEST flag +CONFIG_PERCPU_TEST flag +CONFIG_ATOMIC64_SELFTEST flag +CONFIG_ASYNC_RAID6_TEST flag +CONFIG_TEST_HEXDUMP flag +CONFIG_TEST_STRING_HELPERS flag +CONFIG_TEST_STRSCPY flag +CONFIG_TEST_KSTRTOX flag +CONFIG_TEST_PRINTF flag +CONFIG_TEST_BITMAP flag +CONFIG_TEST_UUID flag +CONFIG_TEST_XARRAY flag +CONFIG_TEST_RHASHTABLE flag +CONFIG_TEST_HASH flag +CONFIG_TEST_IDA flag +CONFIG_TEST_PARMAN flag +CONFIG_TEST_LKM flag +CONFIG_TEST_BITOPS flag +CONFIG_TEST_VMALLOC flag +CONFIG_TEST_USER_COPY flag +CONFIG_TEST_BPF flag +CONFIG_TEST_BLACKHOLE_DEV flag note +CONFIG_FIND_BIT_BENCHMARK flag +CONFIG_TEST_FIRMWARE flag +CONFIG_TEST_SYSCTL flag +CONFIG_TEST_UDELAY flag +CONFIG_TEST_STATIC_KEYS flag +CONFIG_TEST_KMOD flag +CONFIG_TEST_MEMCAT_P flag +CONFIG_TEST_LIVEPATCH flag +CONFIG_TEST_OBJAGG flag +CONFIG_TEST_STACKINIT flag +CONFIG_TEST_MEMINIT flag +CONFIG_TEST_HMM flag +CONFIG_TEST_FPU flag + +# Menu: Kernel hacking >> Kernel debugging +CONFIG_DEBUG_KERNEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DEBUG_MISC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DEBUG_SHIRQ policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_PREEMPT policy<{'amd64': 'n', 'arm64': 'n'}> +CONFIG_DEBUG_KOBJECT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_CREDENTIALS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_WQ_FORCE_RR_CPU policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CPU_HOTPLUG_STATE_CONTROL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_LATENCYTOP policy<{'amd64-generic': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CPU_IBPB_ENTRY policy<{'amd64': 'y'}> +CONFIG_CPU_IBRS_ENTRY policy<{'amd64': 'y'}> +CONFIG_CPU_UNRET_ENTRY policy<{'amd64': 'y'}> +CONFIG_SPECULATION_MITIGATIONS policy<{'amd64': 'y'}> +CONFIG_RETHUNK policy<{'amd64': 'y'}> +# +CONFIG_LATENCYTOP mark note note + +# Menu: Kernel hacking >> Lock Debugging (spinlocks, mutexes, etc...) +CONFIG_PROVE_LOCKING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_LOCK_STAT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_RT_MUTEXES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_SPINLOCK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_MUTEXES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_WW_MUTEX_SLOWPATH policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_RWSEMS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_LOCK_ALLOC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_ATOMIC_SLEEP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_LOCKING_API_SELFTESTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_LOCK_TORTURE_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_WW_MUTEX_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SCF_TORTURE_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CSD_LOCK_WAIT_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Kernel hacking >> Memory Debugging +CONFIG_PAGE_EXTENSION policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'y', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_PAGEALLOC policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PAGE_OWNER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PAGE_POISONING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DEBUG_PAGE_REF policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_RODATA_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PTDUMP_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'y'}> +CONFIG_SLUB_DEBUG_ON policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SLUB_STATS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_STACK_USAGE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SCHED_STACK_END_CHECK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DEBUG_VM_PGTABLE policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_VIRTUAL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_DEBUG_MEMORY_INIT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_MEMORY_NOTIFIER_ERROR_INJECT policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm', 's390x': 'm'}> +CONFIG_DEBUG_PER_CPU_MAPS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_KMAP_LOCAL policy<{'armhf': 'n'}> +CONFIG_DEBUG_HIGHMEM policy<{'armhf': 'n'}> +CONFIG_DEBUG_STACKOVERFLOW policy<{'ppc64el': 'n'}> +# +CONFIG_PAGE_POISONING mark note + +# Menu: Kernel hacking >> Memory Debugging >> Debug VM +CONFIG_DEBUG_VM policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Kernel hacking >> Memory Debugging >> Debug object operations +CONFIG_DEBUG_OBJECTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Kernel hacking >> Memory Debugging >> KASAN: runtime memory debugger +CONFIG_KASAN policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Kernel hacking >> Memory Debugging >> KASAN: runtime memory debugger >> Instrumentation type + +# Menu: Kernel hacking >> Memory Debugging >> KASAN: runtime memory debugger >> KASAN mode + +# Menu: Kernel hacking >> Memory Debugging >> KFENCE: low-overhead sampling-based memory safety error detector +CONFIG_KFENCE policy<{'amd64': 'y', 'arm64': 'y', 'riscv64': 'y', 's390x': 'y', 'armhf': 'y'}> +CONFIG_KFENCE_STATIC_KEYS policy<{'amd64': 'n', 'arm64': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_KFENCE_DEFERRABLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_KFENCE_SAMPLE_INTERVAL policy<{'amd64': '0', 'arm64': '0', 'riscv64': '0', 's390x': '0', 'armhf': '0'}> +CONFIG_KFENCE_NUM_OBJECTS policy<{'amd64': '255', 'arm64': '255', 'riscv64': '255', 's390x': '255', 'armhf': '255'}> +CONFIG_KFENCE_STRESS_TEST_FAULTS policy<{'amd64': '0', 'arm64': '0', 'riscv64': '0', 's390x': '0', 'armhf': '0'}> + +CONFIG_KFENCE_STATIC_KEYS mark note + +# Menu: Kernel hacking >> Memory Debugging >> Kernel memory leak detector +CONFIG_DEBUG_KMEMLEAK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Kernel hacking >> RCU Debugging +CONFIG_RCU_SCALE_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_RCU_TORTURE_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_RCU_REF_SCALE_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_RCU_CPU_STALL_TIMEOUT policy<{'amd64': '60', 'arm64': '60', 'armhf': '60', 'ppc64el': '60', 'riscv64': '60', 's390x': '60'}> +CONFIG_RCU_EXP_CPU_STALL_TIMEOUT policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 'riscv64': '0', 's390x': '0'}> +CONFIG_RCU_TRACE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_RCU_EQS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_RCU_CPU_STALL_TIMEOUT flag + +# Menu: Kernel hacking >> Sample kernel code +CONFIG_SAMPLES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SAMPLE_AUXDISPLAY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_TRACE_EVENTS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_TRACE_PRINTK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SAMPLE_FTRACE_DIRECT policy<{'amd64': 'm', 's390x': 'n'}> +CONFIG_SAMPLE_TRACE_ARRAY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SAMPLE_KOBJECT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_KPROBES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_HW_BREAKPOINT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_SAMPLE_KFIFO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_KDB policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_SAMPLE_QMI_CLIENT policy<{'arm64': 'n', 'armhf': 'n'}> +CONFIG_SAMPLE_RPMSG_CLIENT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_SAMPLE_LIVEPATCH policy<{'amd64': 'n', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_CONFIGFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_VFIO_MDEV_MTTY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_VFIO_MDEV_MDPY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_VFIO_MDEV_MDPY_FB policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_VFIO_MDEV_MBOCHS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SAMPLE_WATCHDOG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_SAMPLE_TRACE_PRINTK mark note + +# Menu: Kernel hacking >> Scheduler Debugging +CONFIG_SCHED_DEBUG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SCHEDSTATS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Kernel hacking >> Tracers +CONFIG_FTRACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BOOTTIME_TRACING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_STACK_TRACER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IRQSOFF_TRACER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PREEMPT_TRACER policy<{'amd64': 'n', 'arm64': 'n'}> +CONFIG_SCHED_TRACER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_HWLAT_TRACER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_OSNOISE_TRACER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TIMERLAT_TRACER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_MMIOTRACE policy<{'amd64': 'y'}> +CONFIG_FTRACE_SYSCALLS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TRACER_SNAPSHOT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_BLK_DEV_IO_TRACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_KPROBE_EVENTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_KPROBE_EVENTS_ON_NOTRACE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_UPROBE_EVENTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BPF_KPROBE_OVERRIDE policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SYNTH_EVENTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_HIST_TRIGGERS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_TRACE_EVENT_INJECT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TRACEPOINT_BENCHMARK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_RING_BUFFER_BENCHMARK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TRACE_EVAL_MAP_FILE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_FTRACE_STARTUP_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_RING_BUFFER_STARTUP_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_MMIOTRACE_TEST policy<{'amd64': 'n'}> +CONFIG_PREEMPTIRQ_DELAY_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SYNTH_EVENT_GEN_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_KPROBE_EVENT_GEN_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_HIST_TRIGGERS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 's390x': 'n'}> +# +CONFIG_FTRACE_STARTUP_TEST flag +CONFIG_MMIOTRACE_TEST flag +CONFIG_RING_BUFFER_BENCHMARK flag +CONFIG_RING_BUFFER_STARTUP_TEST flag +CONFIG_TRACE_EVAL_MAP_FILE flag + +# Menu: Kernel hacking >> Tracers >> Branch Profiling +CONFIG_BRANCH_PROFILE_NONE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PROFILE_ANNOTATED_BRANCHES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_PROFILE_ALL_BRANCHES policy<{'riscv64': 'n'}> + +# Menu: Kernel hacking >> Tracers >> Kernel Function Tracer +CONFIG_FUNCTION_TRACER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FUNCTION_GRAPH_TRACER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DYNAMIC_FTRACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FUNCTION_PROFILER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FTRACE_RECORD_RECURSION policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Kernel hacking >> printk and dmesg options +CONFIG_PRINTK_TIME policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PRINTK_CALLER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_STACKTRACE_BUILD_ID policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CONSOLE_LOGLEVEL_DEFAULT policy<{'amd64': '7', 'arm64': '7', 'armhf': '7', 'ppc64el': '7', 'riscv64': '7', 's390x': '7'}> +CONFIG_CONSOLE_LOGLEVEL_QUIET policy<{'amd64': '4', 'arm64': '4', 'armhf': '4', 'ppc64el': '4', 'riscv64': '4', 's390x': '4'}> +CONFIG_MESSAGE_LOGLEVEL_DEFAULT policy<{'amd64': '4', 'arm64': '4', 'armhf': '4', 'ppc64el': '4', 'riscv64': '4', 's390x': '4'}> +CONFIG_BOOT_PRINTK_DELAY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'riscv64': 'y'}> +CONFIG_DYNAMIC_DEBUG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DYNAMIC_DEBUG_CORE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SYMBOLIC_ERRNAME policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DEBUG_BUGVERBOSE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Library routines +CONFIG_RAID6_PQ_BENCHMARK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PACKING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_CORDIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_PRIME_NUMBERS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_INDIRECT_PIO policy<{'arm64': 'y'}> +CONFIG_CRC_CCITT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRC16 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRC_T10DIF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRC_ITU_T policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'y', 's390x': 'm'}> +CONFIG_CRC32 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRC32_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CRC64 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRC4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRC7 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'y', 's390x': 'm'}> +CONFIG_LIBCRC32C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CRC8 policy<{'amd64': 'm', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_RANDOM32_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_ZLIB_DFLTCC policy<{'s390x': 'y'}> +CONFIG_DMA_RESTRICTED_POOL policy<{'arm64': 'y', 'armhf-generic-lpae': 'y', 'ppc64el': 'y', 'armhf': '-', 'riscv64': 'y'}> +CONFIG_DMA_API_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DMA_MAP_BENCHMARK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CPUMASK_OFFSTACK policy<{'amd64': 'y'}> +CONFIG_GLOB_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_IRQ_POLL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PARMAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_OBJAGG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +# +CONFIG_ZLIB_DFLTCC mark note + +# Menu: Library routines >> CRC32 implementation +CONFIG_CRC32_SLICEBY8 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CRC32_SLICEBY4 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CRC32_SARWATE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CRC32_BIT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Library routines >> DMA Contiguous Memory Allocator +CONFIG_DMA_CMA policy<{'arm64': 'y', 'armhf': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_DMA_PERNUMA_CMA policy<{'arm64': 'y', 'armhf': 'n', 'riscv64': 'y', 's390x': '-'}> +CONFIG_CMA_SIZE_MBYTES policy<{'arm64': '32', 'armhf': '32', 'riscv64': '32'}> +CONFIG_CMA_ALIGNMENT policy<{'arm64': '8', 'armhf': '8', 'riscv64': '8'}> +# +CONFIG_DMA_CMA mark note note +CONFIG_CMA_SIZE_MBYTES mark note + +# Menu: Library routines >> DMA Contiguous Memory Allocator >> Selected region size +CONFIG_CMA_SIZE_SEL_MBYTES policy<{'arm64': 'y', 'armhf': 'y', 'riscv64': 'y'}> +CONFIG_CMA_SIZE_SEL_PERCENTAGE policy<{'arm64': 'n', 'armhf': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_CMA_SIZE_SEL_MIN policy<{'arm64': 'n', 'armhf': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_CMA_SIZE_SEL_MAX policy<{'arm64': 'n', 'armhf': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Library routines >> Select compiled-in fonts +CONFIG_FONTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FONT_8x8 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FONT_8x16 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FONT_6x11 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_FONT_7x14 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_FONT_PEARL_8x8 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_FONT_ACORN_8x8 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FONT_MINI_4x6 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_FONT_6x10 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FONT_10x18 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_FONT_SUN8x16 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_FONT_SUN12x22 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_FONT_TER16x32 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FONT_6x8 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Library routines >> XZ decompression support +CONFIG_XZ_DEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_XZ_DEC_X86 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_XZ_DEC_POWERPC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_XZ_DEC_IA64 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_XZ_DEC_ARM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_XZ_DEC_ARMTHUMB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_XZ_DEC_SPARC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_XZ_DEC_TEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +# +CONFIG_XZ_DEC note flag + +# Menu: Memory Management options +CONFIG_SPARSEMEM_VMEMMAP policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MEMORY_HOTPLUG policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'n', 's390x': 'n'}> +CONFIG_MEMORY_HOTREMOVE policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_BALLOON_COMPACTION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_COMPACTION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PAGE_REPORTING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MIGRATION policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BOUNCE policy<{'armhf': 'y'}> +CONFIG_KSM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DEFAULT_MMAP_MIN_ADDR policy<{'amd64': '65536', 'arm64': '32768', 'armhf': '32768', 'ppc64el': '65536', 'riscv64': '65536', 's390x': '65536'}> +CONFIG_MEMORY_FAILURE policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y'}> +CONFIG_HWPOISON_INJECT policy<{'amd64': 'm', 'arm64': 'm', 'ppc64el': 'm'}> +CONFIG_TRANSPARENT_HUGEPAGE policy<{'amd64': 'y', 'arm64': 'y', 'armhf-generic-lpae': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FRONTSWAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MEM_SOFT_DIRTY policy<{'amd64': 'y', 'ppc64el': 'n', 's390x': 'y'}> +CONFIG_ZPOOL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ZBUD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_Z3FOLD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_ZSMALLOC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ZSMALLOC_STAT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEFERRED_STRUCT_PAGE_INIT policy<{'amd64': 'n', 'arm64': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_IDLE_PAGE_TRACKING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ZONE_DMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf-generic-lpae': 'y', 's390x': 'y'}> +CONFIG_ZONE_DMA32 policy<{'amd64': 'y', 'arm64': 'y', 'riscv64': 'y'}> +CONFIG_ZONE_DEVICE policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y'}> +CONFIG_DEVICE_PRIVATE policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y'}> +CONFIG_PERCPU_STATS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_GUP_TEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_READ_ONLY_THP_FOR_FS policy<{'amd64': 'n', 'arm64': 'n', 'armhf-generic-lpae': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_ZONE_DMA note +CONFIG_DEFAULT_MMAP_MIN_ADDR mark note note +CONFIG_TRANSPARENT_HUGEPAGE flag +CONFIG_MEM_SOFT_DIRTY flag +CONFIG_IDLE_PAGE_TRACKING flag note +CONFIG_PERCPU_STATS flag +CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE mark note note + +# Menu: Memory Management options >> Compressed cache for swap pages (EXPERIMENTAL) +CONFIG_ZSWAP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ZSWAP_DEFAULT_ON policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Memory Management options >> Compressed cache for swap pages (EXPERIMENTAL) >> Compressed cache for swap pages default allocator +CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Memory Management options >> Compressed cache for swap pages (EXPERIMENTAL) >> Compressed cache for swap pages default compressor +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Memory Management options >> Contiguous Memory Allocator +CONFIG_CMA policy<{'amd64': 'n', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CMA_DEBUG policy<{'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CMA_DEBUGFS policy<{'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CMA_SYSFS policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CMA_AREAS policy<{'arm64': '7', 'armhf': '7', 'ppc64el': '7', 'riscv64': '7', 's390x': '7'}> +# +CONFIG_CMA mark note note + +# Menu: Memory Management options >> Data Access Monitoring +CONFIG_DAMON policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Memory Management options >> Memory model +CONFIG_FLATMEM_MANUAL policy<{'armhf': 'n'}> +CONFIG_SPARSEMEM_MANUAL policy<{'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Memory Management options >> Transparent Hugepage Support sysfs defaults +CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS policy<{'amd64': 'n', 'arm64': 'n', 'armhf-generic-lpae': 'n', 'ppc64el': 'y', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE policy<{'amd64': 'y', 'arm64': 'y', 'armhf-generic-lpae': 'y', 'ppc64el': 'n', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Memory setup >> Architecture: s390 +CONFIG_MAX_PHYSMEM_BITS policy<{'s390x': '46'}> + +# Menu: Networking support +CONFIG_NET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_AF_KCM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MCTP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_CEPH_LIB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CEPH_LIB_PRETTYDEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CEPH_LIB_USE_DNS_RESOLVER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PSAMPLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_IFE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_LWTUNNEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_LWTUNNEL_BPF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FAILOVER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_ETHTOOL_NETLINK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Networking support >> Amateur Radio support +CONFIG_HAMRADIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Networking support >> Amateur Radio support >> Amateur Radio AX.25 Level 2 protocol +CONFIG_AX25 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_AX25_DAMA_SLAVE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_NETROM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ROSE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Networking support >> Amateur Radio support >> Amateur Radio AX.25 Level 2 protocol >> AX.25 network device drivers +CONFIG_MKISS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_6PACK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BPQETHER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BAYCOM_SER_FDX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BAYCOM_SER_HDX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BAYCOM_PAR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BAYCOM_EPP policy<{'armhf': 'm'}> +CONFIG_YAM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Networking support >> Bluetooth subsystem support +CONFIG_BT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BT_LE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_6LOWPAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BT_LEDS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_MSFTEXT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_AOSPEXT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_SELFTEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> + +# Menu: Networking support >> Bluetooth subsystem support >> Bluetooth Classic (BR/EDR) features +CONFIG_BT_BREDR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_RFCOMM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BT_RFCOMM_TTY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_BNEP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BT_BNEP_MC_FILTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_BNEP_PROTO_FILTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_CMTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BT_HIDP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BT_HS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Networking support >> Bluetooth subsystem support >> Bluetooth device drivers +CONFIG_BT_HCIBTSDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BT_HCIUART_LL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_HCIBCM203X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BT_HCIBPA10X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BT_HCIBFUSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BT_HCIDTL1 policy<{'amd64': 'm'}> +CONFIG_BT_HCIBT3C policy<{'amd64': 'm'}> +CONFIG_BT_HCIBLUECARD policy<{'amd64': 'm'}> +CONFIG_BT_HCIVHCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BT_MRVL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BT_MRVL_SDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BT_MTKSDIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BT_MTKUART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BT_QCOMSMD policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_BT_VIRTIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Networking support >> Bluetooth subsystem support >> Bluetooth device drivers >> HCI UART driver +CONFIG_BT_HCIUART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BT_HCIUART_H4 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_HCIUART_NOKIA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm'}> +CONFIG_BT_HCIUART_BCSP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_HCIUART_ATH3K policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_HCIUART_3WIRE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_HCIUART_INTEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_HCIUART_BCM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_HCIUART_RTL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_HCIUART_QCA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_HCIUART_AG6XX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_HCIUART_MRVL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Networking support >> Bluetooth subsystem support >> Bluetooth device drivers >> HCI USB driver +CONFIG_BT_HCIBTUSB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_BT_HCIBTUSB_AUTOSUSPEND policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_HCIBTUSB_BCM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_HCIBTUSB_MTK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_HCIBTUSB_RTL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BT_ATH3K policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Networking support >> CAIF support +CONFIG_CAIF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_CAIF_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_CAIF_NETDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAIF_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Networking support >> CAN bus subsystem support +CONFIG_CAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_CAN_RAW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_BCM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_GW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_J1939 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_ISOTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Networking support >> CAN bus subsystem support >> CAN Device Drivers +CONFIG_CAN_VCAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_VXCAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_SLCAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_DEBUG_DEVICES policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Networking support >> CAN bus subsystem support >> CAN Device Drivers >> Platform CAN drivers with Netlink support +CONFIG_CAN_DEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_CALC_BITTIMING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CAN_FLEXCAN policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_GRCAN policy<{'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_JANZ_ICAN3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_KVASER_PCIEFD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_TI_HECC policy<{'armhf': 'm'}> +CONFIG_CAN_XILINXCAN policy<{'arm64': 'm'}> +CONFIG_CAN_IFI_CANFD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_MSCAN policy<{'ppc64el': 'm'}> +CONFIG_CAN_PEAK_PCIEFD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_RCAR policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CAN_RCAR_CANFD policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_CAN_SOFTING policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_SOFTING_CS policy<{'amd64': 'm'}> + +# Menu: Networking support >> CAN bus subsystem support >> CAN Device Drivers >> Platform CAN drivers with Netlink support >> Bosch CC770 and Intel AN82527 devices +CONFIG_CAN_CC770 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_CC770_ISA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_CC770_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Networking support >> CAN bus subsystem support >> CAN Device Drivers >> Platform CAN drivers with Netlink support >> Bosch C_CAN/D_CAN devices +CONFIG_CAN_C_CAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_C_CAN_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_C_CAN_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Networking support >> CAN bus subsystem support >> CAN Device Drivers >> Platform CAN drivers with Netlink support >> Bosch M_CAN support +CONFIG_CAN_M_CAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_M_CAN_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_M_CAN_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_M_CAN_TCAN4X5X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Networking support >> CAN bus subsystem support >> CAN Device Drivers >> Platform CAN drivers with Netlink support >> CAN SPI interfaces +CONFIG_CAN_HI311X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_MCP251X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_MCP251XFD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_MCP251XFD_SANITY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Networking support >> CAN bus subsystem support >> CAN Device Drivers >> Platform CAN drivers with Netlink support >> CAN USB interfaces +CONFIG_CAN_8DEV_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_EMS_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_ESD_USB2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_ETAS_ES58X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_GS_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_KVASER_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_MCBA_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_PEAK_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_UCAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Networking support >> CAN bus subsystem support >> CAN Device Drivers >> Platform CAN drivers with Netlink support >> Philips/NXP SJA1000 devices +CONFIG_CAN_SJA1000 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_EMS_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_EMS_PCMCIA policy<{'amd64': 'm'}> +CONFIG_CAN_F81601 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_KVASER_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_PEAK_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_PEAK_PCIEC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CAN_PEAK_PCMCIA policy<{'amd64': 'm'}> +CONFIG_CAN_PLX_PCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_SJA1000_ISA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_CAN_SJA1000_PLATFORM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Networking support >> NFC subsystem support +CONFIG_NFC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_NFC_DIGITAL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_NCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_NCI_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_NCI_UART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_HCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_SHDLC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Networking support >> NFC subsystem support >> Near Field Communication (NFC) devices +CONFIG_NFC_TRF7970A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_MEI_PHY policy<{'amd64': 'm'}> +CONFIG_NFC_SIM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_PORT100 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_VIRTUAL_NCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_FDP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_FDP_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_PN544_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_PN544_MEI policy<{'amd64': 'm'}> +CONFIG_NFC_PN533_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_PN533_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_PN532_UART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_MICROREAD_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_MICROREAD_MEI policy<{'amd64': 'm'}> +CONFIG_NFC_MRVL_USB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_MRVL_UART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_MRVL_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_MRVL_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_ST21NFCA_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_ST_NCI_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_ST_NCI_SPI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_NXP_NCI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_NXP_NCI_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_S3FWRN5_I2C policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_S3FWRN82_UART policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NFC_ST95HF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Networking support >> Networking options +CONFIG_PACKET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PACKET_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_UNIX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_UNIX_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TLS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TLS_DEVICE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TLS_TOE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_XFRM_USER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_XFRM_USER_COMPAT policy<{'amd64': 'm'}> +CONFIG_XFRM_INTERFACE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_XFRM_SUB_POLICY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_XFRM_MIGRATE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_XFRM_STATISTICS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NET_KEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_KEY_MIGRATE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_IUCV policy<{'s390x': 'y'}> +CONFIG_AFIUCV policy<{'s390x': 'm'}> +CONFIG_SMC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SMC_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_XDP_SOCKETS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_XDP_SOCKETS_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETWORK_SECMARK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NETWORK_PHY_TIMESTAMPING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_VLAN_8021Q policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_VLAN_8021Q_GVRP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_VLAN_8021Q_MVRP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DECNET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_DECNET_ROUTER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_LLC2 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_ATALK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_X25 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_LAPB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_PHONET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_MAC802154 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_DCB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DNS_RESOLVER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NETLINK_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_NSH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_HSR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_PCPU_DEV_REFCNT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CGROUP_NET_PRIO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_CGROUP_NET_CLASSID policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_SMC mark note +CONFIG_SMC_DIAG mark note +CONFIG_NETWORK_PHY_TIMESTAMPING mark note + +# Menu: Networking support >> Networking options >> 6LoWPAN Support +CONFIG_6LOWPAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_6LOWPAN_DEBUGFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Networking support >> Networking options >> 6LoWPAN Support >> Next Header and Generic Header Compression Support +CONFIG_6LOWPAN_NHC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_DEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_FRAGMENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_HOP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_IPV6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_MOBILITY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_ROUTING policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_6LOWPAN_NHC_UDP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_6LOWPAN_GHC_EXT_HDR_HOP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_6LOWPAN_GHC_UDP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_6LOWPAN_GHC_ICMPV6 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_6LOWPAN_GHC_EXT_HDR_DEST policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Networking support >> Networking options >> 802.1d Ethernet Bridging +CONFIG_BRIDGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_IGMP_SNOOPING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BRIDGE_VLAN_FILTERING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BRIDGE_MRP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BRIDGE_CFM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Networking support >> Networking options >> Appletalk interfaces support +CONFIG_DEV_APPLETALK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IPDDP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +# +CONFIG_IPDDP mark note + +# Menu: Networking support >> Networking options >> Asynchronous Transfer Mode (ATM) +CONFIG_ATM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_ATM_CLIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATM_CLIP_NO_ICMP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_ATM_LANE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATM_MPOA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATM_BR2684 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_ATM_BR2684_IPFILTER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Networking support >> Networking options >> B.A.T.M.A.N. Advanced Meshing Protocol +CONFIG_BATMAN_ADV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_BATMAN_ADV_BATMAN_V policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_BATMAN_ADV_BLA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BATMAN_ADV_DAT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BATMAN_ADV_NC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BATMAN_ADV_MCAST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_BATMAN_ADV_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_BATMAN_ADV_TRACING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> + +# Menu: Networking support >> Networking options >> IEEE Std 802.15.4 Low-Rate Wireless Personal Area Networks support +CONFIG_IEEE802154 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_IEEE802154_NL802154_EXPERIMENTAL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': '-'}> +CONFIG_IEEE802154_SOCKET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_IEEE802154_6LOWPAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> MultiProtocol Label Switching +CONFIG_MPLS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NET_MPLS_GSO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MPLS_ROUTING policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_MPLS_IPTUNNEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) +CONFIG_NETFILTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NETFILTER_ADVANCED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BRIDGE_NETFILTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_BRIDGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> Core Netfilter Configuration +CONFIG_NETFILTER_INGRESS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NETFILTER_NETLINK_HOOK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_NETLINK_ACCT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_NETLINK_QUEUE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_NETLINK_LOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_NETLINK_OSF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_LOG_SYSLOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_FLOW_TABLE_INET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> Core Netfilter Configuration >> Netfilter Xtables support (required for ip_tables) +CONFIG_NETFILTER_XTABLES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XTABLES_COMPAT policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': '-', 's390x': 'y'}> +CONFIG_NETFILTER_XT_MARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_CONNMARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_SET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_AUDIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CHECKSUM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CLASSIFY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CONNMARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_CT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_DSCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_HL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_HMARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_IDLETIMER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_LED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> +CONFIG_NETFILTER_XT_TARGET_LOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_MARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_NAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_NETMAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_NFLOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_NFQUEUE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_NOTRACK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_NETFILTER_XT_TARGET_RATEEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_REDIRECT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_MASQUERADE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TEE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TPROXY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TRACE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_SECMARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TCPMSS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_BPF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CGROUP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CLUSTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_COMMENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNBYTES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNLABEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNMARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CONNTRACK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_CPU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_DCCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_DEVGROUP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_DSCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_ECN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_ESP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_HELPER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_HL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_IPCOMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_IPRANGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_IPVS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_L2TP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_LENGTH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_LIMIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_MAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_MARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_MULTIPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_NFACCT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_OSF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_OWNER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_POLICY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_PHYSDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_PKTTYPE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_QUOTA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_RATEEST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_REALM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_RECENT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_SCTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_SOCKET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_STATE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_STATISTIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_STRING policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_TCPMSS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_TIME policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_XT_MATCH_U32 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> Core Netfilter Configuration >> Netfilter connection tracking support +CONFIG_NF_CONNTRACK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_MARK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NF_CONNTRACK_SECMARK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NF_CONNTRACK_ZONES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NF_CONNTRACK_PROCFS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_NF_CONNTRACK_EVENTS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NF_CONNTRACK_TIMEOUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NF_CONNTRACK_TIMESTAMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NF_CONNTRACK_LABELS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NF_CT_PROTO_DCCP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NF_CT_PROTO_SCTP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NF_CT_PROTO_UDPLITE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NF_CONNTRACK_AMANDA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_FTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_H323 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_IRC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_NETBIOS_NS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_SNMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_PPTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_SANE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_SIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_CONNTRACK_TFTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_CT_NETLINK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_CT_NETLINK_TIMEOUT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_CT_NETLINK_HELPER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NETFILTER_NETLINK_GLUE_CT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NF_NAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +# +CONFIG_NF_CONNTRACK_PROCFS flag + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> Core Netfilter Configuration >> Netfilter nf_tables support +CONFIG_NF_TABLES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_TABLES_INET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NFT_NUMGEN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_CT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_FLOW_OFFLOAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_CONNLIMIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_LOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_LIMIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_MASQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_REDIR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_NAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_TUNNEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_OBJREF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_QUEUE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_QUOTA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_REJECT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_COMPAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_HASH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_FIB_INET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_XFRM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_SOCKET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_OSF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_TPROXY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_SYNPROXY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_FLOW_TABLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> Core Netfilter Configuration >> Netfilter nf_tables support >> Netfilter nf_tables netdev tables support +CONFIG_NF_TABLES_NETDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NF_DUP_NETDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_DUP_NETDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_FWD_NETDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_FIB_NETDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_REJECT_NETDEV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> DECnet: Netfilter Configuration +CONFIG_DECNET_NF_GRABULATOR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> Ethernet Bridge nf_tables support +CONFIG_NF_TABLES_BRIDGE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_BRIDGE_META policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_BRIDGE_REJECT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> Ethernet Bridge tables (ebtables) support +CONFIG_BRIDGE_NF_EBTABLES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_BROUTE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_T_FILTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_T_NAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_802_3 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_AMONG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_ARP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_IP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_IP6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_LIMIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_MARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_PKTTYPE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_STP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_VLAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_ARPREPLY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_DNAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_MARK_T policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_REDIRECT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_SNAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_LOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_BRIDGE_EBT_NFLOG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> IP set support +CONFIG_IP_SET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_SET_MAX policy<{'amd64': '256', 'arm64': '256', 'armhf': '256', 'ppc64el': '256', 'riscv64': '256', 's390x': '256'}> +CONFIG_IP_SET_BITMAP_IP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_SET_BITMAP_IPMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_SET_BITMAP_PORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_IP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_IPMARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_IPPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_IPPORTIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_IPPORTNET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_IPMAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_MAC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_NETPORTNET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_NET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_NETNET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_NETPORT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_SET_HASH_NETIFACE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_SET_LIST_SET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> IP virtual server support +CONFIG_IP_VS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_VS_IPV6 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IP_VS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_IP_VS_TAB_BITS policy<{'amd64': '12', 'arm64': '12', 'armhf': '12', 'ppc64el': '12', 'riscv64': '12', 's390x': '12'}> +CONFIG_IP_VS_PROTO_TCP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IP_VS_PROTO_UDP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IP_VS_PROTO_ESP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IP_VS_PROTO_AH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IP_VS_PROTO_SCTP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IP_VS_RR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_VS_WRR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_VS_LC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_VS_WLC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_VS_FO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_VS_OVF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_VS_LBLC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_VS_LBLCR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_VS_DH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_VS_SH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_VS_MH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_VS_SED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_VS_NQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_VS_TWOS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_IP_VS_SH_TAB_BITS policy<{'amd64': '8', 'arm64': '8', 'armhf': '8', 'ppc64el': '8', 'riscv64': '8', 's390x': '8'}> +CONFIG_IP_VS_MH_TAB_INDEX policy<{'amd64': '12', 'arm64': '12', 'armhf': '12', 'ppc64el': '12', 'riscv64': '12', 's390x': '12'}> +CONFIG_IP_VS_FTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_VS_NFCT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IP_VS_PE_SIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> IP: Netfilter Configuration +CONFIG_NF_SOCKET_IPV4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_TPROXY_IPV4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_TABLES_ARP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NF_DUP_IPV4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_LOG_ARP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_LOG_IPV4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_REJECT_IPV4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_NF_ARPTABLES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_NF_ARPFILTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_NF_ARP_MANGLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_NAT_SNMP_BASIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_TABLES_IPV4 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NFT_DUP_IPV4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_FIB_IPV4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> IP: Netfilter Configuration >> IP tables support (required for filtering/masq/NAT) +CONFIG_IP_NF_IPTABLES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_NF_MATCH_AH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_NF_MATCH_ECN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_NF_MATCH_RPFILTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_NF_MATCH_TTL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_NF_FILTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_NF_TARGET_REJECT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_NF_TARGET_SYNPROXY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_NF_RAW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_NF_SECURITY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> IP: Netfilter Configuration >> IP tables support (required for filtering/masq/NAT) >> Packet mangling +CONFIG_IP_NF_MANGLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_NF_TARGET_CLUSTERIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_NF_TARGET_ECN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_NF_TARGET_TTL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> IP: Netfilter Configuration >> IP tables support (required for filtering/masq/NAT) >> iptables NAT support +CONFIG_IP_NF_NAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_NF_TARGET_MASQUERADE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_NF_TARGET_NETMAP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP_NF_TARGET_REDIRECT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> IPv6: Netfilter Configuration +CONFIG_NF_SOCKET_IPV6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_TPROXY_IPV6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_DUP_IPV6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_REJECT_IPV6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_LOG_IPV6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NF_TABLES_IPV6 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NFT_DUP_IPV6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NFT_FIB_IPV6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Network packet filtering framework (Netfilter) >> IPv6: Netfilter Configuration >> IP6 tables support (required for filtering) +CONFIG_IP6_NF_IPTABLES policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_AH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_EUI64 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_FRAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_OPTS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_HL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_IPV6HEADER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_MH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_RPFILTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_RT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MATCH_SRH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_TARGET_HL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_FILTER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_TARGET_REJECT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_TARGET_SYNPROXY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_MANGLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_RAW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_SECURITY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_NAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_TARGET_MASQUERADE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IP6_NF_TARGET_NPT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Network testing +CONFIG_NET_PKTGEN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_DROP_MONITOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_NET_DROP_MONITOR note + +# Menu: Networking support >> Networking options >> QoS and/or fair queueing +CONFIG_NET_SCHED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NET_SCH_CBQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_HTB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_HFSC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_ATM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_SCH_PRIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_MULTIQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_RED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_SFB policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_SFQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_TEQL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_TBF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_CBS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_ETF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_TAPRIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_GRED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_DSMARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_NETEM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_DRR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_MQPRIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_SKBPRIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_CHOKE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_QFQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_CODEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_FQ_CODEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_CAKE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_FQ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_HHF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_PIE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_FQ_PIE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_INGRESS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_PLUG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_SCH_ETS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_BASIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_TCINDEX policy<{'amd64': '-', 'arm64': '-', 'armhf': '-', 'ppc64el': '-', 'riscv64': '-', 's390x': '-'}> +CONFIG_NET_CLS_ROUTE4 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_FW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_U32 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_CLS_U32_PERF policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_CLS_U32_MARK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NET_CLS_RSVP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_RSVP6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_FLOW policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_CGROUP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_BPF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_FLOWER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_CLS_MATCHALL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> QoS and/or fair queueing >> Actions +CONFIG_NET_CLS_ACT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NET_ACT_POLICE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_GACT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_GACT_PROB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NET_ACT_MIRRED policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_SAMPLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_IPT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_NAT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_PEDIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_SIMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_SKBEDIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_CSUM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_MPLS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_VLAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_BPF policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_CONNMARK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_CTINFO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_SKBMOD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_TUNNEL_KEY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_CT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_ACT_GATE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_TC_SKB_EXT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Networking support >> Networking options >> QoS and/or fair queueing >> Actions >> Inter-FE action based on IETF ForCES InterFE LFB +CONFIG_NET_ACT_IFE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Networking support >> Networking options >> QoS and/or fair queueing >> Allow override default queue discipline +CONFIG_NET_SCH_DEFAULT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Networking support >> Networking options >> QoS and/or fair queueing >> Allow override default queue discipline >> Default queuing discipline + +# Menu: Networking support >> Networking options >> QoS and/or fair queueing >> Extended Matches +CONFIG_NET_EMATCH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NET_EMATCH_STACK policy<{'amd64': '32', 'arm64': '32', 'armhf': '32', 'ppc64el': '32', 'riscv64': '32', 's390x': '32'}> +CONFIG_NET_EMATCH_CMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_EMATCH_NBYTE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_EMATCH_U32 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_EMATCH_META policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_EMATCH_TEXT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_EMATCH_CANID policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_EMATCH_IPSET policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_EMATCH_IPT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Qualcomm IPC Router support +CONFIG_QRTR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_QRTR_SMD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_QRTR_TUN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_QRTR_MHI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking +CONFIG_INET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IP_MULTICAST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NET_IPIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_IPGRE_DEMUX policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_IPGRE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_IPGRE_BROADCAST policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SYN_COOKIES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NET_IPVTI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_FOU policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_FOU_IP_TUNNELS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_INET_AH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INET_ESP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INET_ESP_OFFLOAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INET_ESPINTCP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_INET_IPCOMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCP_MD5SIG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NETLABEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MPTCP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_MPTCP_IPV6 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NET_SWITCHDEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NET_L3_MASTER_DEV policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NET_NCSI policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NCSI_OEM_CMD_GET_MAC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NCSI_OEM_CMD_KEEP_PHY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_BPF_STREAM_PARSER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_SYN_COOKIES mark +CONFIG_NET_SWITCHDEV mark note note +CONFIG_NET_SWITCHDEV mark note note + +# Menu: Networking support >> Networking options >> TCP/IP networking >> BPF based packet filtering framework (BPFILTER) +CONFIG_BPFILTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_BPFILTER_UMH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> Distributed Switch Architecture +CONFIG_NET_DSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'n'}> +CONFIG_NET_DSA_TAG_AR9331 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_BRCM policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_BRCM_LEGACY policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_BRCM_PREPEND policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_HELLCREEK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_GSWIP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_DSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_EDSA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_MTK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_KSZ policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_RTL4_A policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_OCELOT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_OCELOT_8021Q policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_QCA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_LAN9303 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_SJA1105 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_TRAILER policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NET_DSA_TAG_XRS700X policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> INET: socket monitoring interface +CONFIG_INET_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INET_UDP_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INET_RAW_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INET_DIAG_DESTROY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> IP: advanced router +CONFIG_IP_ADVANCED_ROUTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IP_FIB_TRIE_STATS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IP_MULTIPLE_TABLES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IP_ROUTE_MULTIPATH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IP_ROUTE_VERBOSE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> IP: kernel level autoconfiguration +CONFIG_IP_PNP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_IP_PNP note + +# Menu: Networking support >> Networking options >> TCP/IP networking >> IP: multicast routing +CONFIG_IP_MROUTE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IP_MROUTE_MULTIPLE_TABLES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IP_PIMSM_V1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IP_PIMSM_V2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> Layer Two Tunneling Protocol (L2TP) +CONFIG_L2TP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_L2TP_DEBUGFS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_L2TP_V3 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_L2TP_IP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_L2TP_ETH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> Open vSwitch +CONFIG_OPENVSWITCH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_OPENVSWITCH_GRE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_OPENVSWITCH_VXLAN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_OPENVSWITCH_GENEVE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> TCP: advanced congestion control +CONFIG_TCP_CONG_ADVANCED policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TCP_CONG_BIC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_CUBIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TCP_CONG_WESTWOOD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_HTCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_HSTCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_HYBLA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_VEGAS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_NV policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_SCALABLE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_LP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_VENO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_YEAH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_ILLINOIS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_DCTCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_CDG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TCP_CONG_BBR policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> TCP: advanced congestion control >> Default TCP congestion control +CONFIG_DEFAULT_CUBIC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DEFAULT_RENO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The DCCP Protocol +CONFIG_IP_DCCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The DCCP Protocol >> DCCP CCIDs Configuration +CONFIG_IP_DCCP_CCID2_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_IP_DCCP_CCID3 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'y'}> +# +CONFIG_IP_DCCP_CCID3 flag + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The DCCP Protocol >> DCCP Kernel Hacking +CONFIG_IP_DCCP_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The IPv6 protocol +CONFIG_IPV6 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IPV6_ROUTER_PREF policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IPV6_ROUTE_INFO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IPV6_OPTIMISTIC_DAD policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_INET6_AH policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INET6_ESP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INET6_ESP_OFFLOAD policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_INET6_ESPINTCP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_INET6_IPCOMP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IPV6_MIP6 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IPV6_ILA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IPV6_VTI policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IPV6_SIT policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IPV6_SIT_6RD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IPV6_TUNNEL policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IPV6_GRE policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_IPV6_MULTIPLE_TABLES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IPV6_SUBTREES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IPV6_MROUTE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IPV6_MROUTE_MULTIPLE_TABLES policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IPV6_PIMSM_V2 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IPV6_SEG6_LWTUNNEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IPV6_SEG6_HMAC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IPV6_RPL_LWTUNNEL policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_IPV6_IOAM6_LWTUNNEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_IPV6_OPTIMISTIC_DAD flag +CONFIG_IPV6 mark note + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The Reliable Datagram Sockets Protocol +CONFIG_RDS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_RDS_RDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_RDS_TCP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_RDS_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The SCTP Protocol +CONFIG_IP_SCTP policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_SCTP_DBG_OBJCNT policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SCTP_COOKIE_HMAC_MD5 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SCTP_COOKIE_HMAC_SHA1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_SCTP_DBG_OBJCNT flag + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The SCTP Protocol >> Default SCTP cookie HMAC encoding +CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Networking support >> Networking options >> TCP/IP networking >> The TIPC Protocol +CONFIG_TIPC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_TIPC_MEDIA_IB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TIPC_MEDIA_UDP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TIPC_CRYPTO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TIPC_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> + +# Menu: Networking support >> Networking options >> Virtual Socket protocol +CONFIG_VSOCKETS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_VSOCKETS_DIAG policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_VSOCKETS_LOOPBACK policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_VMWARE_VMCI_VSOCKETS policy<{'amd64': 'm', 'arm64': 'm'}> +CONFIG_VIRTIO_VSOCKETS policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_HYPERV_VSOCKETS policy<{'amd64': 'm', 'arm64': 'm'}> + +# Menu: Networking support >> Plan 9 Resource Sharing Support (9P2000) +CONFIG_NET_9P policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_9P_VIRTIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_9P_XEN policy<{'amd64': 'm', 'arm64': 'm', 'armhf': '-'}> +CONFIG_NET_9P_RDMA policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_NET_9P_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_NET_9P note + +# Menu: Networking support >> RF switch subsystem support +CONFIG_RFKILL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_RFKILL_INPUT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_RFKILL_GPIO policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': '-'}> + +# Menu: Networking support >> RxRPC session sockets +CONFIG_AF_RXRPC policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +CONFIG_AF_RXRPC_IPV6 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_AF_RXRPC_INJECT_LOSS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_AF_RXRPC_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_RXKAD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Networking support >> Wireless +CONFIG_WIRELESS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_LIB80211_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> + +# Menu: Networking support >> Wireless >> Generic IEEE 802.11 Networking Stack (mac80211) +CONFIG_MAC80211 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_MAC80211_RC_MINSTREL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MAC80211_MESH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MAC80211_LEDS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MAC80211_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_MAC80211_MESSAGE_TRACING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Networking support >> Wireless >> Generic IEEE 802.11 Networking Stack (mac80211) >> Default rate control algorithm +CONFIG_MAC80211_RC_DEFAULT_MINSTREL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Networking support >> Wireless >> Generic IEEE 802.11 Networking Stack (mac80211) >> Select mac80211 debugging features +CONFIG_MAC80211_DEBUG_MENU policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_MAC80211_STA_HASH_MAX_SIZE policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 'riscv64': '0'}> + +# Menu: Networking support >> Wireless >> cfg80211 - wireless configuration API +CONFIG_CFG80211 policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm'}> +CONFIG_NL80211_TESTMODE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_CFG80211_DEVELOPER_WARNINGS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_CFG80211_DEFAULT_PS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CFG80211_DEBUGFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CFG80211_CRDA_SUPPORT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CFG80211_WEXT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +# +CONFIG_CFG80211_WEXT flag + +# Menu: Networking support >> Wireless >> cfg80211 - wireless configuration API >> cfg80211 certification onus +CONFIG_CFG80211_CERTIFICATION_ONUS policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n'}> +CONFIG_CFG80211_REQUIRE_SIGNED_REGDB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> + +# Menu: Platform selection +CONFIG_ARCH_ACTIONS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARCH_SUNXI policy<{'arm64': 'y', 'armhf': 'n'}> +CONFIG_ARCH_ALPINE policy<{'arm64': 'n', 'armhf-generic': 'y', 'armhf-generic-lpae': 'n'}> +CONFIG_ARCH_BCM2835 policy<{'arm64': 'y'}> +CONFIG_ARCH_BERLIN policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARCH_BRCMSTB policy<{'arm64': 'y'}> +CONFIG_ARCH_EXYNOS policy<{'arm64': 'n', 'armhf': 'y'}> +CONFIG_ARCH_HISI policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARCH_MEDIATEK policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARCH_MESON policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARCH_MVEBU policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARCH_MXC policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARCH_QCOM policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARCH_REALTEK policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARCH_RENESAS policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARCH_ROCKCHIP policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARCH_INTEL_SOCFPGA policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARCH_TEGRA policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARCH_UNIPHIER policy<{'arm64': 'n', 'armhf-generic': 'y', 'armhf-generic-lpae': 'n'}> +CONFIG_ARCH_VEXPRESS policy<{'arm64': 'y', 'armhf': 'y'}> +# +CONFIG_ARCH_ROCKCHIP note note + +# Menu: Platform selection >> Architecture: arm64 +CONFIG_ARCH_APPLE policy<{'arm64': 'y'}> +CONFIG_ARCH_BCM4908 policy<{'arm64': 'y'}> +CONFIG_ARCH_BCM_IPROC policy<{'arm64': 'y'}> +CONFIG_ARCH_BITMAIN policy<{'arm64': 'y'}> +CONFIG_ARCH_SPARX5 policy<{'arm64': 'y'}> +CONFIG_ARCH_K3 policy<{'arm64': 'y'}> +CONFIG_ARCH_LAYERSCAPE policy<{'arm64': 'y'}> +CONFIG_ARCH_LG1K policy<{'arm64': 'y'}> +CONFIG_ARCH_KEEMBAY policy<{'arm64': 'y'}> +CONFIG_ARCH_S32 policy<{'arm64': 'y'}> +CONFIG_ARCH_SEATTLE policy<{'arm64': 'y'}> +CONFIG_ARCH_SYNQUACER policy<{'arm64': 'y'}> +CONFIG_ARCH_SPRD policy<{'arm64': 'y'}> +CONFIG_ARCH_THUNDER policy<{'arm64': 'y'}> +CONFIG_ARCH_THUNDER2 policy<{'arm64': 'y'}> +CONFIG_ARCH_VISCONTI policy<{'arm64': 'y'}> +CONFIG_ARCH_XGENE policy<{'arm64': 'y'}> +CONFIG_ARCH_ZYNQMP policy<{'arm64': 'y'}> + +# Menu: Platform type +CONFIG_ARCH_RV32I policy<{'riscv64': 'n'}> +CONFIG_ARCH_RV64I policy<{'riscv64': 'y'}> +CONFIG_CMODEL_MEDLOW policy<{'riscv64': 'n'}> +CONFIG_CMODEL_MEDANY policy<{'riscv64': 'y'}> +CONFIG_TUNE_GENERIC policy<{'riscv64': 'y'}> +CONFIG_RISCV_ISA_C policy<{'riscv64': 'y'}> +CONFIG_FPU policy<{'riscv64': 'y'}> + +# Menu: Power management and ACPI options +CONFIG_SUSPEND policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SUSPEND_FREEZER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_SUSPEND_SKIP_SYNC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_HIBERNATION policy<{'amd64': 'y', 'arm64': 'n', 'armhf': 'y', 'ppc64el': 'n'}> +CONFIG_HIBERNATION_SNAPSHOT_DEV policy<{'amd64': 'y', 'armhf': 'y'}> +CONFIG_PM_STD_PARTITION policy<{'amd64': '""', 'armhf': '""'}> +CONFIG_PM_AUTOSLEEP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_PM_WAKELOCKS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PM_WAKELOCKS_LIMIT policy<{'amd64': '100', 'arm64': '100', 'armhf': '100', 'ppc64el': '100'}> +CONFIG_PM_WAKELOCKS_GC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'n'}> +CONFIG_PM_TRACE_RTC policy<{'amd64': 'y'}> +CONFIG_APM_EMULATION policy<{'armhf': 'n'}> +CONFIG_WQ_POWER_EFFICIENT_DEFAULT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ENERGY_MODEL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_KVM_GUEST policy<{'amd64': 'y', 'ppc64el': 'y'}> +CONFIG_INTEL_IDLE policy<{'amd64': 'y'}> +# +CONFIG_HIBERNATION flag +CONFIG_HIBERNATION mark note +CONFIG_PM mark note + +# Menu: Power management and ACPI options >> 512x-based boards >> Architecture: powerpc + +# Menu: Power management and ACPI options >> 52xx-based boards >> Architecture: powerpc + +# Menu: Power management and ACPI options >> 82xx-based boards (PQ II) >> Architecture: powerpc + +# Menu: Power management and ACPI options >> 83xx-based boards >> Architecture: powerpc + +# Menu: Power management and ACPI options >> 86xx-based boards >> Architecture: powerpc + +# Menu: Power management and ACPI options >> 8xx Machine Type >> Architecture: powerpc + +# Menu: Power management and ACPI options >> ACPI (Advanced Configuration and Power Interface) Support +# + +# Menu: Power management and ACPI options >> ACPI (Advanced Configuration and Power Interface) Support >> ACPI Platform Error Interface (APEI) + +# Menu: Power management and ACPI options >> ACPI (Advanced Configuration and Power Interface) Support >> Intel DPTF (Dynamic Platform and Thermal Framework) Support + +# Menu: Power management and ACPI options >> ACPI (Advanced Configuration and Power Interface) Support >> PMIC (Power Management Integrated Circuit) operation region support + +# Menu: Power management and ACPI options >> APM (Advanced Power Management) BIOS support >> Architecture: x86 +# +CONFIG_APM flag + +# Menu: Power management and ACPI options >> Architecture: arm + +# Menu: Power management and ACPI options >> Architecture: arm64 + +# Menu: Power management and ACPI options >> Architecture: powerpc +CONFIG_SCOM_DEBUGFS policy<{'ppc64el': 'y'}> +CONFIG_EPAPR_PARAVIRT policy<{'ppc64el': 'y'}> +CONFIG_PPC_OF_BOOT_TRAMPOLINE policy<{'ppc64el': 'y'}> +CONFIG_PPC_DT_CPU_FTRS policy<{'ppc64el': 'y'}> +CONFIG_UDBG_RTAS_CONSOLE policy<{'ppc64el': 'n'}> +CONFIG_MPIC_MSGR policy<{'ppc64el': 'n'}> +CONFIG_RTAS_PROC policy<{'ppc64el': 'y'}> +CONFIG_RTAS_FLASH policy<{'ppc64el': 'm'}> +CONFIG_QE_GPIO policy<{'ppc64el': 'y'}> +CONFIG_GEN_RTC policy<{'ppc64el': 'y'}> +CONFIG_PPC_POWERNV policy<{'ppc64el': 'y'}> +CONFIG_OPAL_PRD policy<{'ppc64el': 'm'}> +CONFIG_PPC_MEMTRACE policy<{'ppc64el': 'y'}> +CONFIG_PPC_VAS policy<{'ppc64el': 'y'}> + +# Menu: Power management and ACPI options >> Architecture: x86 + +# Menu: Power management and ACPI options >> CPU Frequency scaling + +# Menu: Power management and ACPI options >> CPU Frequency scaling >> CPU Frequency scaling +CONFIG_CPU_FREQ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CPU_FREQ_STAT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CPU_FREQ_GOV_PERFORMANCE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CPU_FREQ_GOV_POWERSAVE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CPU_FREQ_GOV_USERSPACE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CPU_FREQ_GOV_ONDEMAND policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CPU_FREQ_GOV_CONSERVATIVE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CPU_FREQ_GOV_SCHEDUTIL policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_X86_AMD_PSTATE policy<{'amd64': 'y'}> +CONFIG_X86_INTEL_PSTATE policy<{'amd64': 'y'}> +CONFIG_X86_PCC_CPUFREQ policy<{'amd64': 'y'}> +CONFIG_X86_SPEEDSTEP_CENTRINO policy<{'amd64': 'y'}> +CONFIG_X86_P4_CLOCKMOD policy<{'amd64': 'm'}> +CONFIG_ACPI_CPPC_CPUFREQ policy<{'arm64': 'm'}> +CONFIG_ACPI_CPPC_CPUFREQ_FIE policy<{'arm64': 'y'}> +CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM policy<{'arm64': 'm', 'armhf': '-'}> +CONFIG_ARM_SCPI_CPUFREQ policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_VEXPRESS_SPC_CPUFREQ policy<{'armhf': 'm'}> +CONFIG_ARM_BRCMSTB_AVS_CPUFREQ policy<{'arm64': 'm'}> +CONFIG_ARM_IMX6Q_CPUFREQ policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_MEDIATEK_CPUFREQ policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_MEDIATEK_CPUFREQ_HW policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_OMAP2PLUS_CPUFREQ policy<{'armhf': 'y'}> +CONFIG_ARM_QCOM_CPUFREQ_NVMEM policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_QCOM_CPUFREQ_HW policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_RASPBERRYPI_CPUFREQ policy<{'arm64': 'm'}> +CONFIG_ARM_SCMI_CPUFREQ policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_TEGRA186_CPUFREQ policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_TEGRA194_CPUFREQ policy<{'arm64': 'm'}> +CONFIG_ARM_TI_CPUFREQ policy<{'armhf': 'y'}> +CONFIG_POWERNV_CPUFREQ policy<{'ppc64el': 'y'}> +CONFIG_QORIQ_CPUFREQ policy<{'arm64': 'm'}> +# +CONFIG_CPU_FREQ_STAT note +CONFIG_CPU_FREQ_GOV_PERFORMANCE note +CONFIG_CPU_FREQ_GOV_POWERSAVE note +CONFIG_CPU_FREQ_GOV_USERSPACE note +CONFIG_CPU_FREQ_GOV_ONDEMAND note +CONFIG_CPU_FREQ_GOV_CONSERVATIVE note +CONFIG_X86_PCC_CPUFREQ note +CONFIG_X86_SPEEDSTEP_CENTRINO note +CONFIG_X86_SPEEDSTEP_ICH note +CONFIG_X86_SPEEDSTEP_SMI note +CONFIG_X86_CPUFREQ_NFORCE2 note + +# Menu: Power management and ACPI options >> CPU Frequency scaling >> CPU Frequency scaling >> ACPI Processor P-States driver +CONFIG_X86_ACPI_CPUFREQ policy<{'amd64': 'y'}> +CONFIG_X86_ACPI_CPUFREQ_CPB policy<{'amd64': 'y'}> +CONFIG_X86_POWERNOW_K8 policy<{'amd64': 'y'}> +CONFIG_X86_AMD_FREQ_SENSITIVITY policy<{'amd64': 'm'}> +# +CONFIG_X86_ACPI_CPUFREQ note +CONFIG_X86_POWERNOW_K8 note + +# Menu: Power management and ACPI options >> CPU Frequency scaling >> CPU Frequency scaling >> CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL) + +# Menu: Power management and ACPI options >> CPU Frequency scaling >> CPU Frequency scaling >> Default CPUFreq governor +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE policy<{'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL policy<{'amd64': 'y', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +# +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE note + +# Menu: Power management and ACPI options >> CPU Frequency scaling >> CPU Frequency scaling >> Generic DT based cpufreq driver +CONFIG_CPUFREQ_DT policy<{'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_ARM_ARMADA_37XX_CPUFREQ policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_ARMADA_8K_CPUFREQ policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_HIGHBANK_CPUFREQ policy<{'armhf': 'm'}> +CONFIG_ARM_IMX_CPUFREQ_DT policy<{'arm64': 'm', 'armhf': 'm'}> +CONFIG_ARM_TEGRA20_CPUFREQ policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARM_TEGRA124_CPUFREQ policy<{'arm64': 'y', 'armhf': 'y'}> +# +CONFIG_CPUFREQ_DT note + +# Menu: Power management and ACPI options >> CPU Idle + +# Menu: Power management and ACPI options >> CPU Idle >> CPU idle PM support +CONFIG_CPU_IDLE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CPU_IDLE_GOV_LADDER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CPU_IDLE_GOV_MENU policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CPU_IDLE_GOV_TEO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_CPU_IDLE_GOV_HALTPOLL policy<{'amd64': 'y', 'ppc64el': 'y'}> +CONFIG_HALTPOLL_CPUIDLE policy<{'amd64': 'm'}> + +# Menu: Power management and ACPI options >> CPU Idle >> CPU idle PM support >> ARM CPU Idle Drivers +CONFIG_ARM_CPUIDLE policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARM_PSCI_CPUIDLE policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARM_PSCI_CPUIDLE_DOMAIN policy<{'arm64': 'y', 'armhf': 'y'}> +CONFIG_ARM_BIG_LITTLE_CPUIDLE policy<{'armhf': 'y'}> +CONFIG_ARM_HIGHBANK_CPUIDLE policy<{'armhf-generic': 'n', 'armhf-generic-lpae': 'y'}> +CONFIG_ARM_EXYNOS_CPUIDLE policy<{'armhf': 'n'}> +CONFIG_ARM_MVEBU_V7_CPUIDLE policy<{'armhf': 'y'}> +CONFIG_ARM_TEGRA_CPUIDLE policy<{'armhf': 'n'}> +CONFIG_ARM_QCOM_SPM_CPUIDLE policy<{'armhf': 'y'}> +# +CONFIG_ARM_HIGHBANK_CPUIDLE note + +# Menu: Power management and ACPI options >> CPU Idle >> CPU idle PM support >> MIPS CPU Idle Drivers + +# Menu: Power management and ACPI options >> CPU Idle >> CPU idle PM support >> POWERPC CPU Idle Drivers +CONFIG_PSERIES_CPUIDLE policy<{'ppc64el': 'y'}> +CONFIG_POWERNV_CPUIDLE policy<{'ppc64el': 'y'}> + +# Menu: Power management and ACPI options >> CPUIdle driver >> Architecture: powerpc + +# Menu: Power management and ACPI options >> CPUIdle driver >> CPU Idle + +# Menu: Power management and ACPI options >> CPUIdle driver >> CPU Idle >> CPU idle PM support + +# Menu: Power management and ACPI options >> CPUIdle driver >> CPU Idle >> CPU idle PM support >> ARM CPU Idle Drivers +# + +# Menu: Power management and ACPI options >> CPUIdle driver >> CPU Idle >> CPU idle PM support >> MIPS CPU Idle Drivers + +# Menu: Power management and ACPI options >> CPUIdle driver >> CPU Idle >> CPU idle PM support >> POWERPC CPU Idle Drivers + +# Menu: Power management and ACPI options >> Cell Broadband Engine options >> Architecture: powerpc + +# Menu: Power management and ACPI options >> Embedded 6xx/7xx/7xxx-based boards >> Architecture: powerpc + +# Menu: Power management and ACPI options >> Freescale Book-E Machine Type >> Architecture: powerpc + +# Menu: Power management and ACPI options >> Freescale Ethernet driver platform-specific options >> Architecture: powerpc + +# Menu: Power management and ACPI options >> Freescale Ethernet driver platform-specific options >> Second Ethernet channel >> Architecture: powerpc + +# Menu: Power management and ACPI options >> IBM pSeries & new (POWER5-based) iSeries +CONFIG_CMM policy<{'ppc64el': 'm', 's390x': 'y'}> +# +CONFIG_CMM flag + +# Menu: Power management and ACPI options >> IBM pSeries & new (POWER5-based) iSeries >> Architecture: powerpc +CONFIG_PPC_PSERIES policy<{'ppc64el': 'y'}> +CONFIG_PPC_SPLPAR policy<{'ppc64el': 'y'}> +CONFIG_DTL policy<{'ppc64el': 'y'}> +CONFIG_PSERIES_ENERGY policy<{'ppc64el': 'm'}> +CONFIG_IO_EVENT_IRQ policy<{'ppc64el': 'y'}> +CONFIG_LPARCFG policy<{'ppc64el': 'y'}> +CONFIG_PPC_SMLPAR policy<{'ppc64el': 'y'}> +CONFIG_HV_PERF_CTRS policy<{'ppc64el': 'y'}> +CONFIG_PAPR_SCM policy<{'ppc64el': 'm'}> +CONFIG_PPC_SVM policy<{'ppc64el': 'y'}> + +# Menu: Power management and ACPI options >> MPC8xx CPM Options >> 8xx advanced setup >> Architecture: powerpc + +# Menu: Power management and ACPI options >> MPC8xx CPM Options >> Architecture: powerpc + +# Menu: Power management and ACPI options >> MPC8xx CPM Options >> Microcode patch selection >> Architecture: powerpc + +# Menu: Power management and ACPI options >> PA Semi PWRficient options >> Architecture: powerpc + +# Menu: Power management and ACPI options >> PS3 Platform Options >> Architecture: powerpc + +# Menu: Power management and ACPI options >> PS3 Platform Options >> PS3 Advanced configuration options >> Architecture: powerpc + +# Menu: Power management and ACPI options >> Power Management Debug Support +CONFIG_PM_DEBUG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PM_ADVANCED_DEBUG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y'}> +CONFIG_PM_TEST_SUSPEND policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +CONFIG_DPM_WATCHDOG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n'}> +# +CONFIG_PM_DEBUG flag + +# Menu: Power management and ACPI options >> Support for 47x variant >> Architecture: powerpc + +# Menu: Processor support +CONFIG_SMP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NR_CPUS policy<{'amd64': '8192', 'arm64': '256', 'armhf': '4', 'ppc64el': '2048', 'riscv64': '32', 's390x': '512'}> +# +CONFIG_NR_CPUS note + +# Menu: Processor support >> Architecture: powerpc +CONFIG_PPC_FPU policy<{'ppc64el': 'y'}> +CONFIG_ALTIVEC policy<{'ppc64el': 'y'}> +CONFIG_VSX policy<{'ppc64el': 'y'}> +CONFIG_PPC_RADIX_MMU policy<{'ppc64el': 'y'}> +CONFIG_PPC_RADIX_MMU_DEFAULT policy<{'ppc64el': 'y'}> +CONFIG_PPC_KUEP policy<{'ppc64el': 'y'}> +CONFIG_PPC_KUAP policy<{'ppc64el': 'y'}> +CONFIG_PPC_KUAP_DEBUG policy<{'ppc64el': 'n'}> +CONFIG_PMU_SYSFS policy<{'ppc64el': 'n'}> + +# Menu: Processor support >> CPU selection +CONFIG_GENERIC_CPU policy<{'amd64': 'y', 'ppc64el': 'y'}> + +# Menu: Processor support >> CPU selection >> Architecture: powerpc +CONFIG_POWER7_CPU policy<{'ppc64el': 'n'}> +CONFIG_POWER8_CPU policy<{'ppc64el': 'n'}> +CONFIG_POWER9_CPU policy<{'ppc64el': 'n'}> + +# Menu: Processor support >> Processor Type >> Architecture: powerpc +CONFIG_PPC_BOOK3S_64 policy<{'ppc64el': 'y'}> +CONFIG_PPC_BOOK3E_64 policy<{'ppc64el': 'n'}> + +# Menu: Processor type and features +CONFIG_NUMA policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_KEXEC_FILE policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_KEXEC_SIG policy<{'amd64': 'y', 'arm64': 'y', 's390x': 'y'}> +CONFIG_ARCH_RANDOM policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_RELOCATABLE policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_RANDOMIZE_BASE policy<{'amd64': 'y', 'arm64': 'y', 's390x': 'y'}> +CONFIG_SCHED_MC policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 's390x': 'y'}> +CONFIG_SCHED_SMT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'n', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_HOTPLUG_CPU policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_NODES_SHIFT policy<{'amd64': '10', 'arm64': '6', 'ppc64el': '8', 'riscv64': '2', 's390x': '1'}> +CONFIG_PARAVIRT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'n'}> +CONFIG_PARAVIRT_TIME_ACCOUNTING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n'}> +CONFIG_XEN policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'n'}> +CONFIG_HIGHPTE policy<{'armhf': 'y'}> +CONFIG_COMPAT_VDSO policy<{'amd64': 'n'}> +CONFIG_HIGHMEM policy<{'armhf': 'y'}> +CONFIG_FORCE_MAX_ZONEORDER policy<{'arm64-generic': '13', 'arm64-generic-64k': '14', 'armhf-generic': '12', 'armhf-generic-lpae': '11', 'ppc64el': '9'}> +# +CONFIG_RELOCATABLE flag +CONFIG_HOTPLUG_CPU flag +CONFIG_NUMA note note +CONFIG_COMPAT_VDSO mark + +# Menu: Processor type and features >> ARM errata workarounds via the alternatives framework >> Architecture: arm64 +CONFIG_ARM64_ERRATUM_826319 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_827319 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_824069 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_819472 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_832075 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_834220 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_845719 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_843419 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_1024718 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_1418040 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_1165522 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_1319367 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_1530923 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_1286807 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_1463225 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_1542419 policy<{'arm64': 'y'}> +CONFIG_ARM64_ERRATUM_1508412 policy<{'arm64': 'y'}> +CONFIG_CAVIUM_ERRATUM_22375 policy<{'arm64': 'y'}> +CONFIG_CAVIUM_ERRATUM_23144 policy<{'arm64': 'y'}> +CONFIG_CAVIUM_ERRATUM_23154 policy<{'arm64': 'y'}> +CONFIG_CAVIUM_ERRATUM_27456 policy<{'arm64': 'y'}> +CONFIG_CAVIUM_ERRATUM_30115 policy<{'arm64': 'y'}> +CONFIG_CAVIUM_TX2_ERRATUM_219 policy<{'arm64': 'y'}> +CONFIG_FUJITSU_ERRATUM_010001 policy<{'arm64': 'y'}> +CONFIG_HISILICON_ERRATUM_161600802 policy<{'arm64': 'y'}> +CONFIG_QCOM_FALKOR_ERRATUM_1003 policy<{'arm64': 'y'}> +CONFIG_QCOM_FALKOR_ERRATUM_1009 policy<{'arm64': 'y'}> +CONFIG_QCOM_QDF2400_ERRATUM_0065 policy<{'arm64': 'y'}> +CONFIG_QCOM_FALKOR_ERRATUM_E1041 policy<{'arm64': 'y'}> +CONFIG_NVIDIA_CARMEL_CNP_ERRATUM policy<{'arm64': 'y'}> +CONFIG_SOCIONEXT_SYNQUACER_PREITS policy<{'arm64': 'y'}> +# +CONFIG_ARM64_ERRATUM_843419 mark note +CONFIG_QCOM_QDF2400_ERRATUM_0065 mark note + +# Menu: Processor type and features >> ARMv8.1 architectural features >> Architecture: arm64 +CONFIG_ARM64_HW_AFDBM policy<{'arm64': 'y'}> +CONFIG_ARM64_PAN policy<{'arm64': 'y'}> +CONFIG_ARM64_USE_LSE_ATOMICS policy<{'arm64': 'y'}> +# +CONFIG_ARM64_USE_LSE_ATOMICS mark note + +# Menu: Processor type and features >> ARMv8.2 architectural features >> Architecture: arm64 +CONFIG_ARM64_PMEM policy<{'arm64': 'y'}> +CONFIG_ARM64_RAS_EXTN policy<{'arm64': 'y'}> +CONFIG_ARM64_CNP policy<{'arm64': 'y'}> + +# Menu: Processor type and features >> ARMv8.3 architectural features >> Architecture: arm64 +CONFIG_ARM64_PTR_AUTH policy<{'arm64': 'y'}> +CONFIG_ARM64_PTR_AUTH_KERNEL policy<{'arm64': 'y'}> + +# Menu: Processor type and features >> ARMv8.4 architectural features >> Architecture: arm64 +CONFIG_ARM64_AMU_EXTN policy<{'arm64': 'y'}> +CONFIG_ARM64_TLB_RANGE policy<{'arm64': 'y'}> + +# Menu: Processor type and features >> ARMv8.5 architectural features + +# Menu: Processor type and features >> ARMv8.5 architectural features >> Architecture: arm64 +CONFIG_ARM64_BTI policy<{'arm64': 'y'}> +CONFIG_ARM64_E0PD policy<{'arm64': 'y'}> +CONFIG_ARM64_MTE policy<{'arm64': 'y'}> + +# Menu: Processor type and features >> ARMv8.7 architectural features >> Architecture: arm64 +CONFIG_ARM64_EPAN policy<{'arm64': 'y'}> + +# Menu: Processor type and features >> Architecture: arm +CONFIG_HAVE_ARM_ARCH_TIMER policy<{'armhf': 'y'}> +CONFIG_ARM_PSCI policy<{'armhf': 'y'}> +CONFIG_THUMB2_KERNEL policy<{'armhf': 'n'}> +CONFIG_ARM_PATCH_IDIV policy<{'armhf': 'y'}> +CONFIG_AEABI policy<{'armhf': 'y'}> +CONFIG_OABI_COMPAT policy<{'armhf': 'n'}> +CONFIG_CPU_SW_DOMAIN_PAN policy<{'armhf-generic': 'y'}> +CONFIG_ARM_MODULE_PLTS policy<{'armhf': 'y'}> +CONFIG_UACCESS_WITH_MEMCPY policy<{'armhf': 'n'}> + +# Menu: Processor type and features >> Architecture: arm64 +CONFIG_KEXEC_IMAGE_VERIFY_SIG policy<{'arm64': 'n'}> +CONFIG_UNMAP_KERNEL_AT_EL0 policy<{'arm64': 'y'}> +CONFIG_RODATA_FULL_DEFAULT_ENABLED policy<{'arm64': 'y'}> +CONFIG_ARM64_SW_TTBR0_PAN policy<{'arm64': 'y'}> +CONFIG_ARM64_TAGGED_ADDR_ABI policy<{'arm64': 'y'}> +CONFIG_ARM64_SVE policy<{'arm64': 'y'}> +CONFIG_ARM64_MODULE_PLTS policy<{'arm64': 'y'}> +CONFIG_ARM64_PSEUDO_NMI policy<{'arm64': 'y'}> +CONFIG_ARM64_DEBUG_PRIORITY_MASKING policy<{'arm64': 'n'}> +CONFIG_RANDOMIZE_MODULE_REGION_FULL policy<{'arm64': 'y'}> +# +CONFIG_KEXEC_IMAGE_VERIFY_SIG flag + +# Menu: Processor type and features >> Architecture: powerpc +CONFIG_PPC_TRANSACTIONAL_MEM policy<{'ppc64el': 'y'}> +CONFIG_PPC_UV policy<{'ppc64el': 'y'}> +CONFIG_LD_HEAD_STUB_CATCH policy<{'ppc64el': 'n'}> +CONFIG_PPC_QUEUED_SPINLOCKS policy<{'ppc64el': 'n'}> +CONFIG_PPC64_SUPPORTS_MEMORY_FAILURE policy<{'ppc64el': 'y'}> +CONFIG_RELOCATABLE_TEST policy<{'ppc64el': 'n'}> +CONFIG_FA_DUMP policy<{'ppc64el': 'y'}> +CONFIG_OPAL_CORE policy<{'ppc64el': 'n'}> +CONFIG_IRQ_ALL_CPUS policy<{'ppc64el': 'y'}> +CONFIG_THREAD_SHIFT policy<{'ppc64el': '14'}> +CONFIG_DATA_SHIFT policy<{'ppc64el': '24'}> +CONFIG_PPC_SUBPAGE_PROT policy<{'ppc64el': 'y'}> +CONFIG_PPC_PROT_SAO_LPAR policy<{'ppc64el': 'n'}> +CONFIG_PPC_DENORMALISATION policy<{'ppc64el': 'y'}> +CONFIG_EXTRA_TARGETS policy<{'ppc64el': '""'}> +CONFIG_PPC_MEM_KEYS policy<{'ppc64el': 'n'}> +CONFIG_PPC_SECURE_BOOT policy<{'ppc64el': 'y'}> +CONFIG_PPC_SECVAR_SYSFS policy<{'ppc64el': 'y'}> +CONFIG_PPC_RTAS_FILTER policy<{'ppc64el': 'y'}> +# +CONFIG_FA_DUMP note +CONFIG_PPC_MEM_KEYS flag note +CONFIG_PPC_SECURE_BOOT mark note note +CONFIG_PPC_SECVAR_SYSFS mark note + +# Menu: Processor type and features >> Architecture: s390 +CONFIG_KERNEL_NOBP policy<{'s390x': 'n'}> +CONFIG_EXPOLINE policy<{'s390x': 'y'}> +CONFIG_EXPOLINE_EXTERN policy<{'s390x': 'y'}> +CONFIG_SCHED_TOPOLOGY policy<{'s390x': 'y'}> + +# Menu: Processor type and features >> Architecture: x86 +CONFIG_X86_FEATURE_NAMES policy<{'amd64': 'y'}> +CONFIG_X86_X2APIC policy<{'amd64': 'y'}> +CONFIG_X86_MPPARSE policy<{'amd64': 'y'}> +CONFIG_RETPOLINE policy<{'amd64': 'y'}> +CONFIG_X86_CPU_RESCTRL policy<{'amd64': 'y'}> +CONFIG_X86_EXTENDED_PLATFORM policy<{'amd64': 'y'}> +CONFIG_X86_INTEL_LPSS policy<{'amd64': 'y'}> +CONFIG_X86_AMD_PLATFORM_DEVICE policy<{'amd64': 'y'}> +CONFIG_IOSF_MBI policy<{'amd64': 'y'}> +CONFIG_IOSF_MBI_DEBUG policy<{'amd64': 'y'}> +CONFIG_SCHED_OMIT_FRAME_POINTER policy<{'amd64': 'y', 'ppc64el': 'y', 's390x': 'y'}> +CONFIG_HPET_TIMER policy<{'amd64': 'y'}> +CONFIG_GART_IOMMU policy<{'amd64': 'y'}> +CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS policy<{'amd64': 'y'}> +CONFIG_X86_16BIT policy<{'amd64': 'y'}> +CONFIG_X86_VSYSCALL_EMULATION policy<{'amd64': 'y'}> +CONFIG_X86_IOPL_IOPERM policy<{'amd64': 'y'}> +CONFIG_X86_MSR policy<{'amd64': 'm'}> +CONFIG_X86_CPUID policy<{'amd64': 'm'}> +CONFIG_X86_5LEVEL policy<{'amd64': 'y'}> +CONFIG_X86_CPA_STATISTICS policy<{'amd64': 'n'}> +CONFIG_AMD_MEM_ENCRYPT policy<{'amd64': 'y'}> +CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT policy<{'amd64': 'n'}> +CONFIG_ARCH_MEMORY_PROBE policy<{'amd64': 'y', 'ppc64el': 'y'}> +CONFIG_X86_PMEM_LEGACY policy<{'amd64': 'y'}> +CONFIG_X86_CHECK_BIOS_CORRUPTION policy<{'amd64': 'y'}> +CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK policy<{'amd64': 'y'}> +CONFIG_MTRR policy<{'amd64': 'y'}> +CONFIG_MTRR_SANITIZER policy<{'amd64': 'y'}> +CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT policy<{'amd64': '1'}> +CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT policy<{'amd64': '1'}> +CONFIG_X86_PAT policy<{'amd64': 'y'}> +CONFIG_X86_UMIP policy<{'amd64': 'y'}> +CONFIG_X86_KERNEL_IBT policy<{'amd64': 'n'}> +CONFIG_X86_X32_ABI policy<{'amd64': 'n'}> +CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS policy<{'amd64': 'y'}> +CONFIG_X86_SGX policy<{'amd64': 'y'}> +CONFIG_EFI_STUB policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'riscv64': 'y'}> +CONFIG_EFI_MIXED policy<{'amd64': 'y'}> +CONFIG_KEXEC_SIG_FORCE policy<{'amd64': 'n'}> +CONFIG_KEXEC_BZIMAGE_VERIFY_SIG policy<{'amd64': 'y'}> +CONFIG_KEXEC_JUMP policy<{'amd64': 'y'}> +CONFIG_PHYSICAL_ALIGN policy<{'amd64': '0x200000'}> +CONFIG_RANDOMIZE_MEMORY policy<{'amd64': 'y'}> +CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING policy<{'amd64': '0xa'}> +CONFIG_BOOTPARAM_HOTPLUG_CPU0 policy<{'amd64': 'n'}> +CONFIG_DEBUG_HOTPLUG_CPU0 policy<{'amd64': 'n'}> +CONFIG_CMDLINE_BOOL policy<{'amd64': 'n'}> +CONFIG_MODIFY_LDT_SYSCALL policy<{'amd64': 'y'}> +# +CONFIG_X86_KERNEL_IBT mark note +CONFIG_X86_LEGACY_VM86 note +CONFIG_KEXEC_BZIMAGE_VERIFY_SIG flag note +CONFIG_MODIFY_LDT_SYSCALL flag note + +# Menu: Processor type and features >> CPU microcode loading support >> Architecture: x86 +CONFIG_MICROCODE policy<{'amd64': 'y'}> +CONFIG_MICROCODE_INTEL policy<{'amd64': 'y'}> +CONFIG_MICROCODE_AMD policy<{'amd64': 'y'}> + +# Menu: Processor type and features >> Endianness + +# Menu: Processor type and features >> Endianness >> Architecture: arm64 + +# Menu: Processor type and features >> Expoline default >> Architecture: s390 +CONFIG_EXPOLINE_OFF policy<{'s390x': 'n'}> +CONFIG_EXPOLINE_AUTO policy<{'s390x': 'y'}> +CONFIG_EXPOLINE_FULL policy<{'s390x': 'n'}> + +# Menu: Processor type and features >> High Memory Support >> Architecture: x86 + +# Menu: Processor type and features >> Kernel command line type + +# Menu: Processor type and features >> Kernel command line type >> Architecture: powerpc + +# Menu: Processor type and features >> Kernel support for 32-bit EL0 +CONFIG_KUSER_HELPERS policy<{'arm64': 'y', 'armhf': 'y'}> +# + +# Menu: Processor type and features >> Kernel support for 32-bit EL0 >> Architecture: arm64 + +# Menu: Processor type and features >> Kernel support for 32-bit EL0 >> Emulate deprecated/obsolete ARMv8 instructions >> Architecture: arm64 +CONFIG_ARMV8_DEPRECATED policy<{'arm64': 'y'}> +CONFIG_SWP_EMULATION policy<{'arm64': 'y'}> +CONFIG_CP15_BARRIER_EMULATION policy<{'arm64': 'y'}> +CONFIG_SETEND_EMULATION policy<{'arm64': 'y'}> +# +CONFIG_ARMV8_DEPRECATED mark note +CONFIG_SWP_EMULATION mark note +CONFIG_CP15_BARRIER_EMULATION mark note +CONFIG_SETEND_EMULATION mark note + +# Menu: Processor type and features >> Linux guest support >> Architecture: x86 +CONFIG_HYPERVISOR_GUEST policy<{'amd64': 'y'}> +CONFIG_XEN_PVHVM_GUEST policy<{'amd64': 'y'}> +CONFIG_ARCH_CPUIDLE_HALTPOLL policy<{'amd64': 'y'}> +CONFIG_PVH policy<{'amd64': 'y'}> +CONFIG_JAILHOUSE_GUEST policy<{'amd64': 'y'}> +CONFIG_ACRN_GUEST policy<{'amd64': 'y'}> + +# Menu: Processor type and features >> Linux guest support >> Enable paravirtualization code + +# Menu: Processor type and features >> Linux guest support >> Enable paravirtualization code >> Architecture: x86 +CONFIG_PARAVIRT_DEBUG policy<{'amd64': 'n'}> +CONFIG_PARAVIRT_SPINLOCKS policy<{'amd64': 'y'}> + +# Menu: Processor type and features >> Linux guest support >> Enable paravirtualization code >> Xen guest support + +# Menu: Processor type and features >> Linux guest support >> Enable paravirtualization code >> Xen guest support >> Architecture: x86 +CONFIG_XEN_PV policy<{'amd64': 'y'}> +CONFIG_XEN_DOM0 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': '-'}> +CONFIG_XEN_512GB policy<{'amd64': 'y'}> +CONFIG_XEN_DEBUG_FS policy<{'amd64': 'n'}> +CONFIG_XEN_PVH policy<{'amd64': 'y'}> +# +CONFIG_XEN_512GB flag note + +# Menu: Processor type and features >> Machine Check / overheating reporting >> Architecture: x86 +CONFIG_X86_MCE policy<{'amd64': 'y'}> +CONFIG_X86_MCELOG_LEGACY policy<{'amd64': 'y'}> +CONFIG_X86_MCE_INTEL policy<{'amd64': 'y'}> +CONFIG_X86_MCE_AMD policy<{'amd64': 'y'}> +CONFIG_X86_MCE_INJECT policy<{'amd64': 'm'}> + +# Menu: Processor type and features >> Math emulation options >> Architecture: powerpc + +# Menu: Processor type and features >> Memory split +CONFIG_VMSPLIT_3G policy<{'armhf': 'y'}> +CONFIG_VMSPLIT_3G_OPT policy<{'armhf-generic': 'n'}> +CONFIG_VMSPLIT_2G policy<{'armhf': 'n'}> +CONFIG_VMSPLIT_1G policy<{'armhf': 'n'}> + +# Menu: Processor type and features >> Memory split >> Architecture: arm + +# Menu: Processor type and features >> Memory split >> Architecture: x86 + +# Menu: Processor type and features >> Page size >> Architecture: arm64 +CONFIG_ARM64_4K_PAGES policy<{'arm64-generic': 'y', 'arm64-generic-64k': 'n'}> +CONFIG_ARM64_16K_PAGES policy<{'arm64': 'n'}> +CONFIG_ARM64_64K_PAGES policy<{'arm64-generic': 'n', 'arm64-generic-64k': 'y'}> + +# Menu: Processor type and features >> Page size >> Architecture: powerpc +CONFIG_PPC_4K_PAGES policy<{'ppc64el': 'n'}> +CONFIG_PPC_64K_PAGES policy<{'ppc64el': 'y'}> + +# Menu: Processor type and features >> Performance monitoring >> Architecture: x86 +CONFIG_PERF_EVENTS_INTEL_UNCORE policy<{'amd64': 'y'}> +CONFIG_PERF_EVENTS_INTEL_RAPL policy<{'amd64': 'm'}> +CONFIG_PERF_EVENTS_INTEL_CSTATE policy<{'amd64': 'm'}> +CONFIG_PERF_EVENTS_AMD_POWER policy<{'amd64': 'n'}> +CONFIG_PERF_EVENTS_AMD_UNCORE policy<{'amd64': 'm'}> + +# Menu: Processor type and features >> Physical address space size >> Architecture: arm64 +CONFIG_ARM64_PA_BITS_48 policy<{'arm64': 'y'}> +CONFIG_ARM64_PA_BITS_52 policy<{'arm64-generic-64k': 'n'}> + +# Menu: Processor type and features >> Power Management Debug Support +# + +# Menu: Processor type and features >> Processor family + +# Menu: Processor type and features >> Processor family >> Architecture: x86 +CONFIG_MK8 policy<{'amd64': 'n'}> +CONFIG_MPSC policy<{'amd64': 'n'}> +CONFIG_MCORE2 policy<{'amd64': 'n'}> +CONFIG_MATOM policy<{'amd64': 'n'}> + +# Menu: Processor type and features >> Processor type >> Architecture: s390 +CONFIG_MARCH_Z10 policy<{'s390x': 'n'}> +CONFIG_MARCH_Z196 policy<{'s390x': 'n'}> +CONFIG_MARCH_ZEC12 policy<{'s390x': 'n'}> +CONFIG_MARCH_Z13 policy<{'s390x': 'y'}> +CONFIG_MARCH_Z14 policy<{'s390x': 'n'}> +CONFIG_MARCH_Z15 policy<{'s390x': 'n'}> + +# Menu: Processor type and features >> Support for extended (non-PC) x86 platforms >> Architecture: x86 +CONFIG_X86_NUMACHIP policy<{'amd64': 'y'}> +CONFIG_X86_VSMP policy<{'amd64': 'n'}> +CONFIG_X86_UV policy<{'amd64': 'y'}> +CONFIG_X86_GOLDFISH policy<{'amd64': 'n'}> +CONFIG_X86_INTEL_MID policy<{'amd64': 'n'}> +# +CONFIG_X86_UV mark note + +# Menu: Processor type and features >> Supported processor vendors >> Architecture: x86 +CONFIG_PROCESSOR_SELECT policy<{'amd64': 'y'}> +CONFIG_CPU_SUP_INTEL policy<{'amd64': 'y'}> +CONFIG_CPU_SUP_AMD policy<{'amd64': 'y'}> +CONFIG_CPU_SUP_HYGON policy<{'amd64': 'y'}> +CONFIG_CPU_SUP_CENTAUR policy<{'amd64': 'y'}> +CONFIG_CPU_SUP_ZHAOXIN policy<{'amd64': 'y'}> + +# Menu: Processor type and features >> Symmetric Multi-Processing +# + +# Menu: Processor type and features >> Symmetric Multi-Processing >> Architecture: arm +CONFIG_SMP_ON_UP policy<{'armhf': 'y'}> +CONFIG_ARM_CPU_TOPOLOGY policy<{'armhf': 'y'}> +CONFIG_MCPM policy<{'armhf': 'y'}> +CONFIG_BIG_LITTLE policy<{'armhf': 'y'}> +CONFIG_BL_SWITCHER policy<{'armhf': 'y'}> +CONFIG_BL_SWITCHER_DUMMY_IF policy<{'armhf': 'm'}> + +# Menu: Processor type and features >> Symmetric multi-processing support +# + +# Menu: Processor type and features >> Symmetric multi-processing support >> Architecture: x86 +CONFIG_MAXSMP policy<{'amd64': 'y'}> +CONFIG_SCHED_MC_PRIO policy<{'amd64': 'y'}> + +# Menu: Processor type and features >> Symmetric multi-processing support >> NUMA Memory Allocation and Scheduler Support +# + +# Menu: Processor type and features >> Symmetric multi-processing support >> NUMA Memory Allocation and Scheduler Support >> Architecture: x86 +CONFIG_NUMA_EMU policy<{'amd64': 'n'}> +CONFIG_AMD_NUMA policy<{'amd64': 'y'}> +CONFIG_X86_64_ACPI_NUMA policy<{'amd64': 'y'}> +# +CONFIG_NUMA_EMU note mark +CONFIG_NUMA_EMU note + +# Menu: Processor type and features >> TSX enable mode >> Architecture: x86 +CONFIG_X86_INTEL_TSX_MODE_OFF policy<{'amd64': 'y'}> +CONFIG_X86_INTEL_TSX_MODE_ON policy<{'amd64': 'n'}> +CONFIG_X86_INTEL_TSX_MODE_AUTO policy<{'amd64': 'n'}> + +# Menu: Processor type and features >> Timer frequency +CONFIG_HZ_100 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'y'}> +CONFIG_HZ_250 policy<{'amd64-generic': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_HZ_300 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_HZ_1000 policy<{'amd64-generic': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Processor type and features >> Timer frequency >> Architecture: arm +CONFIG_HZ_200 policy<{'armhf': 'n'}> +CONFIG_HZ_500 policy<{'armhf': 'n'}> + +# Menu: Processor type and features >> Tune code generation >> Architecture: s390 +CONFIG_TUNE_DEFAULT policy<{'s390x': 'n'}> +CONFIG_TUNE_Z10 policy<{'s390x': 'n'}> +CONFIG_TUNE_Z196 policy<{'s390x': 'n'}> +CONFIG_TUNE_ZEC12 policy<{'s390x': 'n'}> +CONFIG_TUNE_Z13 policy<{'s390x': 'n'}> +CONFIG_TUNE_Z14 policy<{'s390x': 'n'}> +CONFIG_TUNE_Z15 policy<{'s390x': 'y'}> + +# Menu: Processor type and features >> Virtual address space size >> Architecture: arm64 +CONFIG_ARM64_VA_BITS_39 policy<{'arm64-generic': 'n'}> +CONFIG_ARM64_VA_BITS_42 policy<{'arm64-generic-64k': 'n'}> +CONFIG_ARM64_VA_BITS_48 policy<{'arm64': 'y'}> +CONFIG_ARM64_VA_BITS_52 policy<{'arm64-generic-64k': 'n'}> +# +CONFIG_ARM64_VA_BITS_48 mark note + +# Menu: Processor type and features >> vsyscall table for legacy applications >> Architecture: x86 +CONFIG_LEGACY_VSYSCALL_XONLY policy<{'amd64': 'y'}> +CONFIG_LEGACY_VSYSCALL_NONE policy<{'amd64': 'n'}> +# +CONFIG_LEGACY_VSYSCALL_XONLY flag + +# Menu: Security options +CONFIG_SLS policy<{'amd64': 'y'}> +CONFIG_SECURITY_DMESG_RESTRICT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITY_PERF_EVENTS_RESTRICT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITYFS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PAGE_TABLE_ISOLATION policy<{'amd64': 'y'}> +CONFIG_INTEL_TXT policy<{'amd64': 'y'}> +CONFIG_HARDENED_USERCOPY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_HARDEN_BRANCH_HISTORY policy<{'armhf': 'y'}> +CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY policy<{'arm64': 'y'}> +CONFIG_FORTIFY_SOURCE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'n', 's390x': 'y'}> +CONFIG_STATIC_USERMODEHELPER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_LSM policy<{'amd64': '"landlock,lockdown,yama,integrity,apparmor"', 'arm64': '"landlock,lockdown,yama,integrity,apparmor"', 'armhf': '"landlock,lockdown,yama,integrity,apparmor"', 'ppc64el': '"landlock,lockdown,yama,integrity,apparmor"', 'riscv64': '"landlock,lockdown,yama,integrity,apparmor"', 's390x': '"landlock,lockdown,yama,integrity,apparmor"'}> +# +CONFIG_SECURITY_DMESG_RESTRICT mark +CONFIG_LSM mark + +# Menu: Security options >> Enable access key retention support +CONFIG_KEYS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_KEYS_REQUEST_CACHE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_PERSISTENT_KEYRINGS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_TRUSTED_KEYS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ENCRYPTED_KEYS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_KEY_DH_OPERATIONS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_KEY_NOTIFICATIONS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Security options >> Enable different security models +CONFIG_SECURITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITY_NETWORK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITY_INFINIBAND policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITY_NETWORK_XFRM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITY_PATH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_LSM_MMAP_MIN_ADDR policy<{'amd64': '0', 'arm64': '0', 'armhf': '0', 'ppc64el': '0', 'riscv64': '0', 's390x': '0'}> +CONFIG_SECURITY_LOADPIN policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SECURITY_YAMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITY_SAFESETID policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITY_LOCKDOWN_LSM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_LOCK_DOWN_IN_SECURE_BOOT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITY_LANDLOCK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_SECURITY mark +CONFIG_LSM_MMAP_MIN_ADDR mark flag +CONFIG_SECURITY_YAMA mark +CONFIG_SECURITY_SAFESETID mark note +CONFIG_SECURITY_LOCKDOWN_LSM mark +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY mark +CONFIG_LOCK_DOWN_IN_SECURE_BOOT mark + +# Menu: Security options >> Enable different security models >> AppArmor support +CONFIG_SECURITY_APPARMOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITY_APPARMOR_HASH policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITY_APPARMOR_HASH_DEFAULT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITY_APPARMOR_DEBUG policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Security options >> Enable different security models >> Integrity subsystem +CONFIG_INTEGRITY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_INTEGRITY_SIGNATURE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_INTEGRITY_AUDIT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Security options >> Enable different security models >> Integrity subsystem >> EVM support +CONFIG_EVM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_EVM_ATTR_FSUUID policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_EVM_EXTRA_SMACK_XATTRS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_EVM_ADD_XATTRS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_EVM_LOAD_X509 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'y', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_EVM_X509_PATH policy<{'ppc64el': '"/etc/keys/x509_evm.der"'}> +# +CONFIG_EVM note +CONFIG_EVM_ATTR_FSUUID note +CONFIG_EVM_LOAD_X509 note +CONFIG_EVM_X509_PATH note + +# Menu: Security options >> Enable different security models >> Integrity subsystem >> Enable asymmetric keys support +CONFIG_INTEGRITY_ASYMMETRIC_KEYS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_INTEGRITY_TRUSTED_KEYRING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_INTEGRITY_PLATFORM_KEYRING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_LOAD_PPC_KEYS policy<{'ppc64el': 'y'}> +CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_INTEGRITY_PLATFORM_KEYRING mark note +CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY mark note +CONFIG_LOAD_PPC_KEYS mark note + +# Menu: Security options >> Enable different security models >> Integrity subsystem >> Integrity Measurement Architecture(IMA) +CONFIG_IMA policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IMA_KEXEC policy<{'arm64': 'y', 'ppc64el': 'y', 'riscv64': 'y'}> +CONFIG_IMA_WRITE_POLICY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_IMA_READ_POLICY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'y', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_IMA_DISABLE_HTABLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_IMA mark note +CONFIG_IMA_KEXEC mark note +CONFIG_IMA_WRITE_POLICY mark note +CONFIG_IMA_READ_POLICY mark note note + +# Menu: Security options >> Enable different security models >> Integrity subsystem >> Integrity Measurement Architecture(IMA) >> Appraise integrity measurements +CONFIG_IMA_APPRAISE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IMA_APPRAISE_SIGNED_INIT policy<{'amd64': '-', 'arm64': '-', 'armhf': '-', 'ppc64el': 'n', 's390x': '-'}> +CONFIG_IMA_ARCH_POLICY policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT policy<{'amd64': 'y', 'arm64': 'y', 'armhf': '-', 'ppc64el': 'y', 'riscv64': '-', 's390x': 'y'}> +CONFIG_IMA_APPRAISE_BOOTPARAM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IMA_APPRAISE_MODSIG policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IMA_TRUSTED_KEYRING policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IMA_BLACKLIST_KEYRING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_IMA_LOAD_X509 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'y', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_IMA_X509_PATH policy<{'ppc64el': '"/etc/keys/x509_ima.der"'}> +# +CONFIG_IMA_APPRAISE mark note +CONFIG_IMA_TRUSTED_KEYRING mark note +CONFIG_IMA_BLACKLIST_KEYRING mark note +CONFIG_IMA_LOAD_X509 mark note +CONFIG_IMA_X509_PATH mark note +CONFIG_IMA_APPRAISE_SIGNED_INIT mark note +CONFIG_IMA_ARCH_POLICY mark note + +# Menu: Security options >> Enable different security models >> Integrity subsystem >> Integrity Measurement Architecture(IMA) >> Appraise integrity measurements >> IMA build time configured policy rules +CONFIG_IMA_APPRAISE_BUILD_POLICY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Security options >> Enable different security models >> Integrity subsystem >> Integrity Measurement Architecture(IMA) >> Default integrity hash algorithm +CONFIG_IMA_DEFAULT_HASH_SHA1 policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'n', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IMA_DEFAULT_HASH_SHA256 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'y', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_IMA_DEFAULT_HASH_SHA512 policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_IMA_DEFAULT_HASH_SHA256 note + +# Menu: Security options >> Enable different security models >> Integrity subsystem >> Integrity Measurement Architecture(IMA) >> Default template +CONFIG_IMA_NG_TEMPLATE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'n', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_IMA_SIG_TEMPLATE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'y', 'riscv64': 'n', 's390x': 'n'}> +# +CONFIG_IMA_SIG_TEMPLATE note + +# Menu: Security options >> Enable different security models >> Kernel default lockdown mode +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Security options >> Enable different security models >> NSA SELinux Support +CONFIG_SECURITY_SELINUX policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITY_SELINUX_BOOTPARAM policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'n'}> +CONFIG_SECURITY_SELINUX_DISABLE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SECURITY_SELINUX_DEVELOP policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITY_SELINUX_AVC_STATS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE policy<{'amd64': '1', 'arm64': '1', 'armhf': '1', 'ppc64el': '1', 'riscv64': '1', 's390x': '1'}> +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS policy<{'amd64': '9', 'arm64': '9', 'armhf': '9', 'ppc64el': '9', 'riscv64': '9', 's390x': '9'}> +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE policy<{'amd64': '256', 'arm64': '256', 'armhf': '256', 'ppc64el': '256', 'riscv64': '256', 's390x': '256'}> +# +CONFIG_SECURITY_SELINUX mark +CONFIG_SECURITY_SELINUX_DISABLE mark note + +# Menu: Security options >> Enable different security models >> Simplified Mandatory Access Control Kernel Support +CONFIG_SECURITY_SMACK policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITY_SMACK_BRINGUP policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SECURITY_SMACK_NETFILTER policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITY_SMACK_APPEND_SIGNALS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# +CONFIG_SECURITY_SMACK mark + +# Menu: Security options >> Enable different security models >> TOMOYO Linux Support +CONFIG_SECURITY_TOMOYO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY policy<{'amd64': '2048', 'arm64': '2048', 'armhf': '2048', 'ppc64el': '2048', 'riscv64': '2048', 's390x': '2048'}> +CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG policy<{'amd64': '1024', 'arm64': '1024', 'armhf': '1024', 'ppc64el': '1024', 'riscv64': '1024', 's390x': '1024'}> +CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SECURITY_TOMOYO_POLICY_LOADER policy<{'amd64': '"/sbin/tomoyo-init"', 'arm64': '"/sbin/tomoyo-init"', 'armhf': '"/sbin/tomoyo-init"', 'ppc64el': '"/sbin/tomoyo-init"', 'riscv64': '"/sbin/tomoyo-init"', 's390x': '"/sbin/tomoyo-init"'}> +CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER policy<{'amd64': '"/sbin/init"', 'arm64': '"/sbin/init"', 'armhf': '"/sbin/init"', 'ppc64el': '"/sbin/init"', 'riscv64': '"/sbin/init"', 's390x': '"/sbin/init"'}> +CONFIG_SECURITY_TOMOYO_INSECURE_BUILTIN_SETTING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Security options >> First legacy 'major LSM' to be initialized +CONFIG_DEFAULT_SECURITY_SELINUX policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEFAULT_SECURITY_SMACK policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEFAULT_SECURITY_TOMOYO policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEFAULT_SECURITY_APPARMOR policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_DEFAULT_SECURITY_DAC policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> + +# Menu: Security options >> Kernel hardening options + +# Menu: Security options >> Kernel hardening options >> Memory initialization +CONFIG_INIT_ON_ALLOC_DEFAULT_ON policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_INIT_ON_FREE_DEFAULT_ON policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_ZERO_CALL_USED_REGS policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Security options >> Kernel hardening options >> Memory initialization >> Initialize kernel stack variables at function entry +CONFIG_INIT_STACK_ALL_ZERO policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> + +# Menu: Security options >> Kernel hardening options >> Memory initialization >> Poison kernel stack before returning from syscalls + +# Menu: Selftests >> Architecture: s390 + +# Menu: SoC selection +CONFIG_SOC_SIFIVE policy<{'riscv64': 'y'}> +CONFIG_SOC_VIRT policy<{'riscv64': 'y'}> + +# Menu: System Type +# + +# Menu: System Type >> ARM Ltd. Integrator family >> Architecture: arm + +# Menu: System Type >> ARM Ltd. Integrator family >> Support Integrator/AP and Integrator/PP2 platforms >> Architecture: arm + +# Menu: System Type >> ARM Ltd. Integrator family >> Support Integrator/CP platform >> Architecture: arm + +# Menu: System Type >> ARM Ltd. RealView family >> Architecture: arm +CONFIG_ARCH_REALVIEW policy<{'armhf': 'n'}> + +# Menu: System Type >> ARM Ltd. RealView family >> Support RealView(R) Emulation Baseboard >> Architecture: arm + +# Menu: System Type >> ARM Ltd. Versatile Express family + +# Menu: System Type >> ARM Ltd. Versatile Express family >> Architecture: arm +CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA policy<{'armhf': 'y'}> +CONFIG_ARCH_VEXPRESS_DCSCB policy<{'armhf': 'y'}> +CONFIG_ARCH_VEXPRESS_SPC policy<{'armhf': 'y'}> +CONFIG_ARCH_VEXPRESS_TC2_PM policy<{'armhf': 'y'}> + +# Menu: System Type >> ARM system type >> Architecture: arm +CONFIG_ARCH_MULTIPLATFORM policy<{'armhf': 'y'}> +CONFIG_ARCH_FOOTBRIDGE policy<{'armhf': 'n'}> +CONFIG_ARCH_DOVE policy<{'armhf': 'n'}> +CONFIG_ARCH_RPC policy<{'armhf': '-'}> +CONFIG_ARCH_SA1100 policy<{'armhf': 'n'}> + +# Menu: System Type >> AT91/Microchip SoCs >> Architecture: arm +CONFIG_ARCH_AT91 policy<{'armhf': 'n'}> + +# Menu: System Type >> Allwinner SoCs + +# Menu: System Type >> Allwinner SoCs >> Architecture: arm + +# Menu: System Type >> Altera SOCFPGA family + +# Menu: System Type >> Altera SOCFPGA family >> Architecture: arm +CONFIG_SOCFPGA_SUSPEND policy<{'armhf': 'y'}> + +# Menu: System Type >> Amlogic Meson SoCs + +# Menu: System Type >> Amlogic Meson SoCs >> Architecture: arm +CONFIG_MACH_MESON6 policy<{'armhf': 'y'}> +CONFIG_MACH_MESON8 policy<{'armhf': 'y'}> + +# Menu: System Type >> Architecture: arm +CONFIG_ARCH_VIRT policy<{'armhf': 'y'}> +CONFIG_ARCH_AXXIA policy<{'armhf-generic-lpae': 'y'}> +CONFIG_ARCH_DIGICOLOR policy<{'armhf': 'n'}> +CONFIG_ARCH_HIGHBANK policy<{'armhf': 'y'}> +CONFIG_ARCH_KEYSTONE policy<{'armhf': 'n'}> +CONFIG_ARCH_RDA policy<{'armhf': 'y'}> +CONFIG_ARCH_S5PV210 policy<{'armhf': 'n'}> +CONFIG_ARCH_WM8850 policy<{'armhf': 'n'}> +CONFIG_ARCH_ZYNQ policy<{'armhf': 'n'}> +CONFIG_ARM_THUMB policy<{'armhf': 'y'}> +CONFIG_ARM_THUMBEE policy<{'armhf': 'y'}> +CONFIG_SWP_EMULATE policy<{'armhf': 'y'}> +CONFIG_CPU_ICACHE_DISABLE policy<{'armhf': 'n'}> +CONFIG_CPU_ICACHE_MISMATCH_WORKAROUND policy<{'armhf': 'y'}> +CONFIG_CPU_BPREDICT_DISABLE policy<{'armhf': 'n'}> +CONFIG_HARDEN_BRANCH_PREDICTOR policy<{'armhf': 'y'}> +CONFIG_CACHE_FEROCEON_L2 policy<{'armhf': 'y'}> +CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH policy<{'armhf': 'n'}> +CONFIG_CACHE_TAUROS2 policy<{'armhf': 'y'}> +CONFIG_CACHE_UNIPHIER policy<{'armhf-generic': 'y', 'armhf-generic-lpae': '-'}> +CONFIG_ARM_DMA_MEM_BUFFERABLE policy<{'armhf': 'y'}> +CONFIG_DEBUG_ALIGN_RODATA policy<{'armhf': 'y'}> +CONFIG_IWMMXT policy<{'armhf': 'y'}> +CONFIG_PJ4B_ERRATA_4742 policy<{'armhf': 'y'}> +CONFIG_ARM_ERRATA_430973 policy<{'armhf': 'y'}> +CONFIG_ARM_ERRATA_643719 policy<{'armhf': 'y'}> +CONFIG_ARM_ERRATA_720789 policy<{'armhf': 'y'}> +CONFIG_ARM_ERRATA_754322 policy<{'armhf': 'y'}> +CONFIG_ARM_ERRATA_754327 policy<{'armhf': 'y'}> +CONFIG_ARM_ERRATA_764369 policy<{'armhf': 'y'}> +CONFIG_ARM_ERRATA_775420 policy<{'armhf': 'y'}> +CONFIG_ARM_ERRATA_798181 policy<{'armhf': 'y'}> +CONFIG_ARM_ERRATA_773022 policy<{'armhf': 'y'}> +CONFIG_ARM_ERRATA_818325_852422 policy<{'armhf': 'y'}> +CONFIG_ARM_ERRATA_821420 policy<{'armhf': 'y'}> +CONFIG_ARM_ERRATA_825619 policy<{'armhf': 'y'}> +CONFIG_ARM_ERRATA_857271 policy<{'armhf': 'y'}> +CONFIG_ARM_ERRATA_852421 policy<{'armhf': 'y'}> +CONFIG_ARM_ERRATA_852423 policy<{'armhf': 'y'}> +CONFIG_ARM_ERRATA_857272 policy<{'armhf': 'y'}> + +# Menu: System Type >> Aspeed BMC architectures >> Architecture: arm +CONFIG_ARCH_ASPEED policy<{'armhf': 'y'}> +CONFIG_MACH_ASPEED_G6 policy<{'armhf': 'y'}> + +# Menu: System Type >> Axis Communications ARM based ARTPEC SoCs >> Architecture: arm +CONFIG_ARCH_ARTPEC policy<{'armhf': 'y'}> +CONFIG_MACH_ARTPEC6 policy<{'armhf': 'n'}> + +# Menu: System Type >> Broadcom SoC Support + +# Menu: System Type >> Broadcom SoC Support >> Architecture: arm +CONFIG_ARCH_BCM policy<{'armhf': 'n'}> + +# Menu: System Type >> Cavium Networks CNS3XXX family >> Architecture: arm + +# Menu: System Type >> Cirrus EP93xx Implementation Options >> Architecture: arm + +# Menu: System Type >> Enable the L2x0 outer cache controller >> Architecture: arm +CONFIG_CACHE_L2X0 policy<{'armhf': 'y'}> +CONFIG_CACHE_L2X0_PMU policy<{'armhf': 'y'}> +CONFIG_PL310_ERRATA_588369 policy<{'armhf': 'y'}> +CONFIG_PL310_ERRATA_727915 policy<{'armhf': 'y'}> +CONFIG_PL310_ERRATA_753970 policy<{'armhf': 'y'}> +CONFIG_PL310_ERRATA_769419 policy<{'armhf': 'y'}> + +# Menu: System Type >> Footbridge Implementations >> Architecture: arm + +# Menu: System Type >> Freescale i.MX family + +# Menu: System Type >> Freescale i.MX family >> Architecture: arm +CONFIG_SOC_IMX50 policy<{'armhf': 'y'}> +CONFIG_SOC_IMX51 policy<{'armhf': 'y'}> +CONFIG_SOC_IMX53 policy<{'armhf': 'n'}> +CONFIG_SOC_IMX6Q policy<{'armhf': 'y'}> +CONFIG_SOC_IMX6SL policy<{'armhf': 'y'}> +CONFIG_SOC_IMX6SLL policy<{'armhf': 'y'}> +CONFIG_SOC_IMX6SX policy<{'armhf': 'y'}> +CONFIG_SOC_IMX6UL policy<{'armhf': 'y'}> +CONFIG_SOC_LS1021A policy<{'armhf': 'n'}> +CONFIG_SOC_IMX7D policy<{'armhf': 'y'}> +CONFIG_SOC_IMX7ULP policy<{'armhf': 'y'}> +CONFIG_SOC_VF610 policy<{'armhf': 'y'}> + +# Menu: System Type >> Freescale i.MX family >> Clocksource for scheduler clock >> Architecture: arm +CONFIG_VF_USE_ARM_GLOBAL_TIMER policy<{'armhf': 'y'}> +CONFIG_VF_USE_PIT_TIMER policy<{'armhf': 'n'}> + +# Menu: System Type >> Hisilicon platform type >> Architecture: arm +CONFIG_ARCH_HI3xxx policy<{'armhf': 'y'}> +CONFIG_ARCH_HIP01 policy<{'armhf': 'n'}> +CONFIG_ARCH_HIP04 policy<{'armhf': 'y'}> +CONFIG_ARCH_HIX5HD2 policy<{'armhf': 'y'}> + +# Menu: System Type >> IOP32x Implementation Options >> Architecture: arm + +# Menu: System Type >> Intel IXP4xx Implementation Options >> Architecture: arm + +# Menu: System Type >> Intel PXA2xx/PXA3xx Implementations >> Architecture: arm + +# Menu: System Type >> Intel PXA2xx/PXA3xx Implementations >> Gumstix Carrier/Expansion Board >> Architecture: arm + +# Menu: System Type >> Intel PXA2xx/PXA3xx Implementations >> Motorola EZX Platform >> Architecture: arm + +# Menu: System Type >> Intel PXA2xx/PXA3xx Implementations >> PXA based Keith und Koep Trizeps DIMM-Modules >> Architecture: arm + +# Menu: System Type >> Intel PXA2xx/PXA3xx Implementations >> PXA based Keith und Koep Trizeps DIMM-Modules >> Select base board for Trizeps module >> Architecture: arm + +# Menu: System Type >> Intel PXA2xx/PXA3xx Implementations >> PXA based Palm PDAs >> Architecture: arm + +# Menu: System Type >> Intel PXA2xx/PXA3xx Implementations >> PXA based Toshiba e-series PDAs >> Architecture: arm + +# Menu: System Type >> Intel PXA2xx/PXA3xx Implementations >> SHARP Zaurus SL-5600, SL-C7xx and SL-Cxx00 Models >> Architecture: arm + +# Menu: System Type >> Intel PXA2xx/PXA3xx Implementations >> display on pcm990 >> Architecture: arm + +# Menu: System Type >> MMU-based Paged Memory Management Support + +# Menu: System Type >> MMU-based Paged Memory Management Support >> Architecture: arm +CONFIG_MMU policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_ARM_LPAE policy<{'armhf-generic': 'n', 'armhf-generic-lpae': 'y'}> +CONFIG_VDSO policy<{'armhf': 'y'}> + +# Menu: System Type >> MMU-based Paged Memory Management Support >> Marvell Orion >> Architecture: arm + +# Menu: System Type >> MMU-based Paged Memory Management Support >> ST-Ericsson U8500 Series >> Architecture: arm +CONFIG_ARCH_U8500 policy<{'armhf': 'n'}> + +# Menu: System Type >> MMU-based Paged Memory Management Support >> Set flash/sdram size and base addr >> Architecture: arm + +# Menu: System Type >> MOXA ART SoC >> Architecture: arm + +# Menu: System Type >> MStar/Sigmastar Armv7 SoC Support >> Architecture: arm +CONFIG_ARCH_MSTARV7 policy<{'armhf': 'y'}> +CONFIG_MACH_INFINITY policy<{'armhf': 'y'}> +CONFIG_MACH_MERCURY policy<{'armhf': 'y'}> + +# Menu: System Type >> Marvell Berlin SoCs + +# Menu: System Type >> Marvell Berlin SoCs >> Architecture: arm +CONFIG_MACH_BERLIN_BG2 policy<{'armhf': 'y'}> +CONFIG_MACH_BERLIN_BG2CD policy<{'armhf': 'y'}> +CONFIG_MACH_BERLIN_BG2Q policy<{'armhf': 'y'}> + +# Menu: System Type >> Marvell Dove Implementations >> Architecture: arm + +# Menu: System Type >> Marvell Engineering Business Unit (MVEBU) SoCs + +# Menu: System Type >> Marvell Engineering Business Unit (MVEBU) SoCs >> Architecture: arm +CONFIG_MACH_ARMADA_370 policy<{'armhf': 'y'}> +CONFIG_MACH_ARMADA_375 policy<{'armhf': 'y'}> +CONFIG_MACH_ARMADA_38X policy<{'armhf': 'y'}> +CONFIG_MACH_ARMADA_39X policy<{'armhf': 'y'}> +CONFIG_MACH_ARMADA_XP policy<{'armhf': 'y'}> +CONFIG_MACH_DOVE policy<{'armhf': 'y'}> + +# Menu: System Type >> Marvell MV78xx0 >> Architecture: arm + +# Menu: System Type >> Marvell PXA168/910/MMP2/MMP3 >> Architecture: arm +CONFIG_ARCH_MMP policy<{'armhf': 'n'}> + +# Menu: System Type >> Marvell PXA168/910/MMP2/MMP3 >> Marvell PXA168/910/MMP2 Implementations >> Architecture: arm + +# Menu: System Type >> MediaTek SoC Support + +# Menu: System Type >> MediaTek SoC Support >> Architecture: arm +CONFIG_MACH_MT2701 policy<{'armhf': 'y'}> +CONFIG_MACH_MT6589 policy<{'armhf': 'y'}> +CONFIG_MACH_MT6592 policy<{'armhf': 'y'}> +CONFIG_MACH_MT7623 policy<{'armhf': 'y'}> +CONFIG_MACH_MT7629 policy<{'armhf': 'y'}> +CONFIG_MACH_MT8127 policy<{'armhf': 'y'}> +CONFIG_MACH_MT8135 policy<{'armhf': 'y'}> + +# Menu: System Type >> Multiple platform selection >> Architecture: arm +CONFIG_ARCH_MULTI_V6 policy<{'armhf': 'n'}> +CONFIG_ARCH_MULTI_V7 policy<{'armhf': 'y'}> + +# Menu: System Type >> Nuvoton NPCM Architecture >> Architecture: arm +CONFIG_ARCH_NPCM policy<{'armhf': 'y'}> +CONFIG_ARCH_NPCM7XX policy<{'armhf': 'y'}> + +# Menu: System Type >> Oxford Semiconductor OXNAS Family SoCs >> Architecture: arm + +# Menu: System Type >> Qualcomm Support + +# Menu: System Type >> Qualcomm Support >> Architecture: arm +CONFIG_ARCH_IPQ40XX policy<{'armhf': 'n'}> +CONFIG_ARCH_MSM8X60 policy<{'armhf': 'y'}> +CONFIG_ARCH_MSM8960 policy<{'armhf': 'y'}> +CONFIG_ARCH_MSM8974 policy<{'armhf': 'y'}> +CONFIG_ARCH_MDM9615 policy<{'armhf': 'y'}> + +# Menu: System Type >> SA11x0 Implementations >> Architecture: arm + +# Menu: System Type >> SA11x0 Implementations >> Cerf Flash available >> Architecture: arm + +# Menu: System Type >> ST SPEAr Family >> Architecture: arm +CONFIG_PLAT_SPEAR policy<{'armhf': 'n'}> + +# Menu: System Type >> ST SPEAr Family >> ST SPEAr13xx >> Architecture: arm + +# Menu: System Type >> ST SPEAr Family >> ST SPEAr13xx >> ST SPEAr3xx >> Architecture: arm + +# Menu: System Type >> ST-Ericsson Nomadik >> Architecture: arm + +# Menu: System Type >> STMicroelectronics Consumer Electronics SOCs >> Architecture: arm +CONFIG_ARCH_STI policy<{'armhf': 'n'}> + +# Menu: System Type >> STMicroelectronics STM32 family >> Architecture: arm +CONFIG_ARCH_STM32 policy<{'armhf': 'n'}> + +# Menu: System Type >> Samsung Common options >> Architecture: arm + +# Menu: System Type >> Samsung Exynos + +# Menu: System Type >> Samsung Exynos >> Architecture: arm +CONFIG_ARCH_EXYNOS3 policy<{'armhf': 'n'}> +CONFIG_ARCH_EXYNOS4 policy<{'armhf': 'n'}> + +# Menu: System Type >> Samsung Exynos >> Samsung Exynos5 >> Architecture: arm +CONFIG_ARCH_EXYNOS5 policy<{'armhf': 'n'}> +CONFIG_SOC_EXYNOS5250 policy<{'armhf': '-'}> +CONFIG_SOC_EXYNOS5260 policy<{'armhf': '-'}> +CONFIG_SOC_EXYNOS5410 policy<{'armhf': '-'}> +CONFIG_SOC_EXYNOS5420 policy<{'armhf': '-'}> +CONFIG_SOC_EXYNOS5800 policy<{'armhf': '-'}> + +# Menu: System Type >> Samsung S3C24XX SoCs Support >> Architecture: arm + +# Menu: System Type >> Samsung S3C24XX SoCs Support >> Samsung S3C2410 >> Architecture: arm + +# Menu: System Type >> Samsung S3C24XX SoCs Support >> Samsung S3C2412 >> Architecture: arm + +# Menu: System Type >> Samsung S3C24XX SoCs Support >> Samsung S3C2440 >> Architecture: arm + +# Menu: System Type >> Samsung S3C64XX >> Architecture: arm + +# Menu: System Type >> Samsung S3C64XX >> SMDK6410 >> Architecture: arm + +# Menu: System Type >> Samsung S3C64XX >> SMDK6410 >> SMDK6410 MMC/SD slot setup >> Architecture: arm + +# Menu: System Type >> Socionext Milbeaut SoCs >> Architecture: arm +CONFIG_ARCH_MILBEAUT policy<{'armhf': 'y'}> +CONFIG_ARCH_MILBEAUT_M10V policy<{'armhf': 'y'}> + +# Menu: System Type >> TI DaVinci >> Architecture: arm + +# Menu: System Type >> TI DaVinci >> DA850/OMAP-L138/AM18x based system >> Architecture: arm + +# Menu: System Type >> TI DaVinci >> DA850/OMAP-L138/AM18x based system >> Select peripherals connected to expander on UI board >> Architecture: arm + +# Menu: System Type >> TI DaVinci >> DaVinci 644x based system >> Architecture: arm + +# Menu: System Type >> TI DaVinci >> Select DA830/OMAP-L137/AM17x UI board peripheral >> Architecture: arm + +# Menu: System Type >> TI OMAP Common Features >> Architecture: arm +CONFIG_POWER_AVS_OMAP policy<{'armhf-generic': 'y'}> +CONFIG_POWER_AVS_OMAP_CLASS3 policy<{'armhf-generic': 'y'}> +CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE policy<{'armhf-generic': 'n'}> + +# Menu: System Type >> TI OMAP/AM/DM/DRA Family >> Architecture: arm +CONFIG_ARCH_OMAP3 policy<{'armhf-generic': 'y', 'armhf-generic-lpae': 'n'}> +CONFIG_ARCH_OMAP4 policy<{'armhf-generic': 'y', 'armhf-generic-lpae': 'n'}> +CONFIG_SOC_OMAP5 policy<{'armhf': 'n'}> +CONFIG_SOC_AM33XX policy<{'armhf-generic': 'y', 'armhf-generic-lpae': 'n'}> +CONFIG_SOC_AM43XX policy<{'armhf': 'n'}> +CONFIG_SOC_DRA7XX policy<{'armhf': 'y'}> +CONFIG_OMAP5_ERRATA_801819 policy<{'armhf': 'y'}> + +# Menu: System Type >> TI OMAP/AM/DM/DRA Family >> TI OMAP2/3/4 Specific Features >> Architecture: arm +CONFIG_ARCH_OMAP2PLUS_TYPICAL policy<{'armhf': 'y'}> +CONFIG_SOC_HAS_OMAP2_SDRC policy<{'armhf': 'y'}> +CONFIG_SOC_HAS_REALTIME_COUNTER policy<{'armhf': 'y'}> +CONFIG_SOC_OMAP3430 policy<{'armhf-generic': 'y'}> +CONFIG_SOC_TI81XX policy<{'armhf-generic': 'y'}> +CONFIG_OMAP3_SDRC_AC_TIMING policy<{'armhf-generic': 'n'}> + +# Menu: System Type >> TI OMAP1 specific features >> Architecture: arm + +# Menu: System Type >> TI OMAP1 specific features >> OMAP15xx Based System >> Architecture: arm + +# Menu: System Type >> TI OMAP1 specific features >> OMAP16xx Based System >> Architecture: arm +CONFIG_MACH_OMAP_GENERIC policy<{'armhf': 'y'}> + +# Menu: Ubuntu Supplied Third-Party Device Drivers +CONFIG_UBUNTU_HOST policy<{'amd64': 'm', 'arm64': 'm', 'armhf': 'm', 'ppc64el': 'm', 'riscv64': 'm', 's390x': 'm'}> +# + +# Menu: Virtualization +CONFIG_VIRTUALIZATION policy<{'amd64': 'y', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +# + +# Menu: Virtualization >> Architecture: powerpc +CONFIG_KVM_BOOK3S_64 policy<{'ppc64el': 'm'}> +CONFIG_KVM_BOOK3S_64_HV policy<{'ppc64el': 'm'}> +CONFIG_KVM_BOOK3S_64_PR policy<{'ppc64el': 'm'}> +CONFIG_KVM_BOOK3S_HV_EXIT_TIMING policy<{'ppc64el': 'n'}> +CONFIG_KVM_XICS policy<{'ppc64el': 'y'}> + +# Menu: Virtualization >> Architecture: s390 +CONFIG_PROTECTED_VIRTUALIZATION_GUEST policy<{'s390x': 'y'}> +CONFIG_PFAULT policy<{'s390x': 'y'}> +CONFIG_CMM_IUCV policy<{'s390x': 'y'}> +CONFIG_S390_HYPFS_FS policy<{'s390x': 'y'}> +CONFIG_S390_GUEST policy<{'s390x': 'y'}> + +# Menu: Virtualization >> KVM +CONFIG_KVM policy<{'amd64': 'm', 'arm64': 'y', 'ppc64el': 'y', 'riscv64': 'm', 's390x': 'y'}> +# +CONFIG_KVM note + +# Menu: Virtualization >> KVM >> Architecture: s390 +CONFIG_KVM_S390_UCONTROL policy<{'s390x': 'n'}> + +# Menu: Virtualization >> Kernel-based Virtual Machine (KVM) support +# + +# Menu: Virtualization >> Kernel-based Virtual Machine (KVM) support >> Architecture: arm64 +CONFIG_NVHE_EL2_DEBUG policy<{'arm64': 'n'}> + +# Menu: Virtualization >> Kernel-based Virtual Machine (KVM) support >> Architecture: x86 +CONFIG_KVM_WERROR policy<{'amd64': 'y'}> +CONFIG_KVM_INTEL policy<{'amd64': 'm'}> +CONFIG_X86_SGX_KVM policy<{'amd64': 'y'}> +CONFIG_KVM_AMD policy<{'amd64': 'm'}> +CONFIG_KVM_AMD_SEV policy<{'amd64': 'y'}> +CONFIG_KVM_XEN policy<{'amd64': 'y'}> + +CONFIG_TDX_GUEST_DRIVER policy<{'amd64': 'm'}> +CONFIG_TDX_GUEST_DRIVER note + +# Menu: Virtualization >> Linux - VM Monitor Stream, base infrastructure >> Architecture: s390 + +CONFIG_APPLDATA_BASE policy<{'s390x': 'y'}> +CONFIG_APPLDATA_MEM policy<{'s390x': 'm'}> +CONFIG_APPLDATA_OS policy<{'s390x': 'm'}> +CONFIG_APPLDATA_NET_SUM policy<{'s390x': 'm'}> + +# New configs options introduced in 5.19 +CONFIG_CACHEFILES_ONDEMAND policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_SYSTEM_BLACKLIST_AUTH_UPDATE policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_DEBUG_NET policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_BOOT_CONFIG_EMBED policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_MODULE_UNLOAD_TAINT_TRACKING policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'ppc64el': 'n', 'riscv64': 'n', 's390x': 'n'}> +CONFIG_FW_LOADER_COMPRESS_XZ policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_FW_LOADER_COMPRESS_ZSTD policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'ppc64el': 'y', 'riscv64': 'y', 's390x': 'y'}> +CONFIG_EFI_DISABLE_RUNTIME policy<{'amd64': 'n', 'arm64': 'n', 'armhf': 'n', 'riscv64': 'n'}> +CONFIG_EFI_COCO_SECRET policy<{'amd64': 'y', 'arm64': 'y', 'armhf': 'y', 'riscv64': 'y'}> --- linux-gcp-5.19.0.orig/debian.master/config/arm64/config.common.arm64 +++ linux-gcp-5.19.0/debian.master/config/arm64/config.common.arm64 @@ -0,0 +1,729 @@ +# +# Config options for config.common.arm64 automatically generated by splitconfig.pl +# +CONFIG_6LOWPAN=m +CONFIG_AC97_BUS=m +CONFIG_ACCESSIBILITY=y +# CONFIG_ACPI_DEBUG is not set +# CONFIG_ACPI_DEBUGGER is not set +CONFIG_ACPI_REDUCED_HARDWARE_ONLY=y +CONFIG_AD525X_DPOT=m +CONFIG_ADFS_FS=m +CONFIG_ADIN1100_PHY=m +CONFIG_AFFS_FS=m +CONFIG_AIX_PARTITION=y +CONFIG_ALIM7101_WDT=m +CONFIG_ALTERA_STAPL=m +CONFIG_ALTERA_TSE=m +CONFIG_AMIGA_PARTITION=y +CONFIG_ANDROID=y +CONFIG_APDS9802ALS=m +CONFIG_APPLICOM=m +CONFIG_AQTION=m +# CONFIG_ARCH_ALPINE is not set +# CONFIG_ARCH_EXYNOS is not set +CONFIG_ARCH_MMAP_RND_BITS=18 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16 +CONFIG_ARCH_NR_GPIO=2048 +CONFIG_ARCH_SUNXI=y +# CONFIG_ARCH_UNIPHIER is not set +CONFIG_ARCNET=m +CONFIG_ARM_SMMU=y +CONFIG_ATA=y +CONFIG_ATALK=m +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_GENERIC=m +CONFIG_ATA_OVER_ETH=m +CONFIG_ATA_PIIX=m +CONFIG_ATM=m +CONFIG_AUTOFS4_FS=m +CONFIG_AUTOFS_FS=m +CONFIG_AUXDISPLAY=y +CONFIG_AX88796B_PHY=m +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BAREUDP=m +CONFIG_BATMAN_ADV=m +CONFIG_BCH=m +CONFIG_BCM84881_PHY=y +CONFIG_BCMA=m +CONFIG_BCM_KONA_USB2_PHY=m +CONFIG_BCM_VK=m +CONFIG_BE2ISCSI=m +CONFIG_BEFS_FS=m +CONFIG_BFS_FS=m +CONFIG_BLK_DEV_3W_XXXX_RAID=m +CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m +CONFIG_BLK_DEV_SX8=m +CONFIG_BSD_DISKLABEL=y +CONFIG_C2PORT=m +CONFIG_CADENCE_WATCHDOG=m +CONFIG_CAIF=m +CONFIG_CAN=m +CONFIG_CB710_CORE=m +CONFIG_CC_VERSION_TEXT="aarch64-linux-gnu-gcc-12 (Ubuntu 12.2.0-3ubuntu1) 12.2.0" +CONFIG_CDROM_PKTCDVD=m +CONFIG_CMA=y +CONFIG_CMDLINE="console=ttyAMA0" +CONFIG_CMDLINE_PARTITION=y +CONFIG_COMEDI=m +CONFIG_COMMON_CLK=y +CONFIG_COMMON_CLK_AXG_AUDIO=m +CONFIG_COMMON_CLK_XLNX_CLKWZRD=m +CONFIG_COMPAT=y +CONFIG_COUNTER=m +# CONFIG_CPU_BIG_ENDIAN is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set +CONFIG_CRAMFS=m +CONFIG_CRC7=m +CONFIG_CRC8=y +CONFIG_CRC_ITU_T=m +CONFIG_CRYPTO_DEV_ATMEL_ECC=m +CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m +CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m +CONFIG_CRYPTO_DEV_SAFEXCEL=m +CONFIG_CRYPTO_DH_RFC7919_GROUPS=y +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9 +CONFIG_CRYPTO_SM3_GENERIC=m +CONFIG_CRYPTO_SM4_GENERIC=m +CONFIG_CXL_BUS=m +CONFIG_DEBUG_INFO_BTF=y +CONFIG_DECNET=m +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +CONFIG_DMADEVICES=y +CONFIG_DMA_CMA=y +CONFIG_DMA_PERNUMA_CMA=y +CONFIG_DMA_VIRTUAL_CHANNELS=y +# CONFIG_DM_DEBUG is not set +CONFIG_DNET=m +CONFIG_DP83TD510_PHY=m +CONFIG_DRM_AMDGPU=m +CONFIG_DRM_ANALOGIX_ANX78XX=m +CONFIG_DRM_AST=m +CONFIG_DRM_CIRRUS_QEMU=m +CONFIG_DRM_ETNAVIV=m +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_I2C_NXP_TDA9950=m +CONFIG_DRM_I2C_NXP_TDA998X=m +CONFIG_DRM_I2C_SIL164=m +CONFIG_DRM_MGAG200=m +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y +CONFIG_DRM_QXL=m +CONFIG_DRM_RADEON=m +CONFIG_DRM_SIMPLEDRM=m +CONFIG_DRM_SSD130X=m +CONFIG_DRM_VGEM=m +CONFIG_DRM_VKMS=m +CONFIG_DS1682=m +CONFIG_DUMMY_IRQ=m +CONFIG_DWMAC_INTEL_PLAT=m +CONFIG_DW_WATCHDOG=m +CONFIG_DW_XDATA_PCIE=m +CONFIG_ECHO=m +CONFIG_EEPROM_93CX6=m +CONFIG_EEPROM_AT24=m +CONFIG_EEPROM_EE1004=m +CONFIG_EEPROM_IDT_89HPESX=m +CONFIG_EEPROM_LEGACY=m +CONFIG_EEPROM_MAX6875=m +CONFIG_EFS_FS=m +CONFIG_ENCLOSURE_SERVICES=m +CONFIG_ETHOC=m +# CONFIG_EVM_LOAD_X509 is not set +CONFIG_EXFAT_FS=m +CONFIG_EXTCON=y +CONFIG_F2FS_FS=m +CONFIG_FB_3DFX=m +CONFIG_FB_ARK=m +CONFIG_FB_ASILIANT=y +CONFIG_FB_ATY=m +CONFIG_FB_ATY128=m +CONFIG_FB_CARMINE=m +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_CIRRUS=m +CONFIG_FB_CYBER2000=m +CONFIG_FB_I740=m +# CONFIG_FB_IBM_GXT4500 is not set +CONFIG_FB_IMSTT=y +CONFIG_FB_KYRO=m +CONFIG_FB_MATROX=m +CONFIG_FB_MB862XX=m +CONFIG_FB_METRONOME=m +CONFIG_FB_NEOMAGIC=m +CONFIG_FB_NVIDIA=m +CONFIG_FB_OPENCORES=m +CONFIG_FB_PM2=m +CONFIG_FB_PM3=m +CONFIG_FB_RADEON=m +CONFIG_FB_RIVA=m +CONFIG_FB_S1D13XXX=m +CONFIG_FB_S3=m +CONFIG_FB_SAVAGE=m +CONFIG_FB_SIMPLE=m +CONFIG_FB_SIS=m +CONFIG_FB_SM712=m +CONFIG_FB_SSD1307=m +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_TRIDENT=m +CONFIG_FB_UVESA=m +CONFIG_FB_VOODOO1=m +CONFIG_FB_VT8623=m +CONFIG_FDDI=y +CONFIG_FEALNX=m +CONFIG_FIREWIRE=m +CONFIG_FIREWIRE_NOSY=m +CONFIG_FIRMWARE_MEMMAP=y +CONFIG_FORTIFY_SOURCE=y +CONFIG_FPGA_BRIDGE=m +CONFIG_FPGA_DFL=m +CONFIG_FRAME_WARN=1024 +CONFIG_FSL_MC_BUS=y +CONFIG_FUSION=y +CONFIG_GAMEPORT=m +CONFIG_GENERIC_PHY=y +CONFIG_GNSS=m +# CONFIG_GOLDFISH is not set +CONFIG_GPIO_ADP5588=m +CONFIG_GPIO_AMD_FCH=m +CONFIG_GPIO_DWAPB=m +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_GPIO_MAX7300=m +CONFIG_GPIO_MAX732X=m +CONFIG_GPIO_MB86S7X=m +CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCA9570=m +CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_RDC321X=m +CONFIG_GPIO_SIOX=m +CONFIG_GPIO_TPIC2810=m +CONFIG_GPIO_TWL4030=m +CONFIG_GPIO_TWL6040=m +CONFIG_GPIO_VIRTIO=m +CONFIG_GPIO_XILINX=y +CONFIG_GREYBUS=m +CONFIG_HABANA_AI=m +CONFIG_HAMACHI=m +CONFIG_HFSPLUS_FS=m +CONFIG_HFS_FS=m +# CONFIG_HIBERNATION is not set +CONFIG_HID=m +CONFIG_HISI_HIKEY_USB=m +CONFIG_HMC6352=m +CONFIG_HOTPLUG_PCI=y +CONFIG_HOTPLUG_PCI_SHPC=y +CONFIG_HPFS_FS=m +CONFIG_HP_ILO=m +CONFIG_HSI=m +CONFIG_HSR=m +CONFIG_HTC_PASIC3=m +CONFIG_HTE=y +CONFIG_HWMON=y +CONFIG_HWSPINLOCK=y +CONFIG_HW_RANDOM_CCTRNG=m +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HW_RANDOM_XIPHERA=m +CONFIG_HZ=250 +# CONFIG_HZ_100 is not set +CONFIG_HZ_250=y +CONFIG_I2C=y +CONFIG_I2C_ALI1535=m +CONFIG_I2C_ALI1563=m +CONFIG_I2C_ALI15X3=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD8111=m +# CONFIG_I2C_AMD_MP2 is not set +CONFIG_I2C_CBUS_GPIO=m +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_DESIGNWARE_PCI=m +CONFIG_I2C_DESIGNWARE_PLATFORM=y +CONFIG_I2C_GPIO=m +CONFIG_I2C_I801=m +CONFIG_I2C_IMX=m +CONFIG_I2C_ISCH=m +CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_LTC4306=m +CONFIG_I2C_MUX_MLXCPLD=m +CONFIG_I2C_MUX_PCA9541=m +CONFIG_I2C_MUX_PCA954x=m +CONFIG_I2C_MUX_REG=m +CONFIG_I2C_NFORCE2=m +CONFIG_I2C_NVIDIA_GPU=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_PCA_PLATFORM=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_SIMTEC=m +CONFIG_I2C_SIS5595=m +CONFIG_I2C_SIS630=m +CONFIG_I2C_SIS96X=m +CONFIG_I2C_SLAVE=y +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m +CONFIG_I2C_VIRTIO=m +CONFIG_I2C_XILINX=m +CONFIG_I3C=m +CONFIG_I6300ESB_WDT=m +CONFIG_ICS932S401=m +CONFIG_IEEE802154=m +CONFIG_IIO=m +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_IMA_DEFAULT_HASH="sha1" +CONFIG_IMA_DEFAULT_HASH_SHA1=y +# CONFIG_IMA_DEFAULT_HASH_SHA256 is not set +CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng" +# CONFIG_IMA_LOAD_X509 is not set +CONFIG_IMA_NG_TEMPLATE=y +# CONFIG_IMA_READ_POLICY is not set +# CONFIG_IMA_SIG_TEMPLATE is not set +CONFIG_INFINIBAND_OCRDMA=m +CONFIG_INPUT_EVBUG=m +CONFIG_INPUT_FF_MEMLESS=m +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_INPUT_KEYBOARD=y +CONFIG_INPUT_MATRIXKMAP=m +CONFIG_INPUT_MISC=y +CONFIG_INPUT_MOUSE=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_SPARSEKMAP=m +CONFIG_INPUT_TABLET=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_INTERCONNECT=y +# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set +CONFIG_IOMMU_DEFAULT_DMA_STRICT=y +CONFIG_IOMMU_IOVA=y +CONFIG_IPACK_BUS=m +CONFIG_IPMI_HANDLER=m +# CONFIG_IP_DCCP_CCID3 is not set +CONFIG_IP_VS_TWOS=m +CONFIG_IRQ_BYPASS_MANAGER=y +CONFIG_ISL29003=m +CONFIG_ISL29020=m +CONFIG_JFS_FS=m +CONFIG_JME=m +CONFIG_JUMP_LABEL=y +CONFIG_KARMA_PARTITION=y +CONFIG_KVM=y +CONFIG_LAPB=m +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_LDM_PARTITION=y +CONFIG_LIBNVDIMM=y +CONFIG_LLC2=m +CONFIG_LOG_BUF_SHIFT=18 +CONFIG_LPC_ICH=m +CONFIG_LPC_SCH=m +CONFIG_MAC_PARTITION=y +CONFIG_MAILBOX=y +CONFIG_MARVELL_88X2222_PHY=m +CONFIG_MAX63XX_WATCHDOG=m +CONFIG_MAXLINEAR_GPHY=m +CONFIG_MCB=m +CONFIG_MCTP=y +CONFIG_MDIO_BCM_UNIMAC=m +CONFIG_MDIO_BITBANG=y +CONFIG_MDIO_BUS_MUX=y +CONFIG_MDIO_THUNDER=m +CONFIG_MD_MULTIPATH=m +CONFIG_MEDIATEK_GE_PHY=m +CONFIG_MEDIA_CEC_SUPPORT=y +CONFIG_MEDIA_SUPPORT=m +CONFIG_MEGARAID_LEGACY=m +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_SAS=m +CONFIG_MEMORY=y +CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y +CONFIG_MEMSTICK=m +CONFIG_MFD_88PM800=m +CONFIG_MFD_88PM805=m +CONFIG_MFD_ARIZONA_I2C=m +CONFIG_MFD_ATC260X_I2C=m +CONFIG_MFD_AXP20X_I2C=m +CONFIG_MFD_BCM590XX=m +CONFIG_MFD_BD9571MWV=m +CONFIG_MFD_CORE=y +CONFIG_MFD_DA9062=m +CONFIG_MFD_DA9063=y +CONFIG_MFD_DA9150=m +CONFIG_MFD_IQS62X=m +CONFIG_MFD_JANZ_CMODIO=m +CONFIG_MFD_KEMPLD=m +CONFIG_MFD_LM3533=m +CONFIG_MFD_LP3943=m +CONFIG_MFD_MADERA=m +CONFIG_MFD_MAX14577=y +CONFIG_MFD_MAX77693=y +CONFIG_MFD_MAX8907=m +CONFIG_MFD_MC13XXX_I2C=m +CONFIG_MFD_MENF21BMC=m +CONFIG_MFD_MP2629=m +CONFIG_MFD_MT6360=m +CONFIG_MFD_MT6397=m +CONFIG_MFD_PCF50633=m +CONFIG_MFD_RDC321X=m +CONFIG_MFD_RETU=m +CONFIG_MFD_RT4831=m +CONFIG_MFD_RT5033=m +CONFIG_MFD_SI476X_CORE=m +CONFIG_MFD_SKY81452=m +CONFIG_MFD_SM501=m +CONFIG_MFD_SYSCON=y +CONFIG_MFD_TI_AM335X_TSCADC=m +CONFIG_MFD_TI_LMU=m +CONFIG_MFD_TI_LP873X=m +CONFIG_MFD_TPS65086=m +CONFIG_MFD_TPS65217=m +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TQMX86=m +CONFIG_MFD_VX855=m +CONFIG_MFD_WCD934X=m +CONFIG_MFD_WL1273_CORE=m +CONFIG_MFD_WM8994=m +CONFIG_MHI_BUS=m +CONFIG_MHI_BUS_EP=m +CONFIG_MII=y +CONFIG_MINIX_FS=m +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MISC_ALCOR_PCI=m +CONFIG_MISC_RTSX_PCI=m +CONFIG_MLX5_SF=y +CONFIG_MLX5_VFIO_PCI=m +CONFIG_MLXSW_I2C=m +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_CQHCI=m +CONFIG_MMC_HSQ=m +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_ESDHC_IMX=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SPI=m +CONFIG_MOST=m +CONFIG_MOTORCOMM_PHY=m +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CMDLINE_PARTS=m +CONFIG_MTD_NAND_CORE=m +CONFIG_MTD_NAND_OMAP2=m +CONFIG_MTD_NAND_OMAP_BCH_BUILD=m +CONFIG_MTD_OF_PARTS=m +CONFIG_MTD_PHYSMAP_GEMINI=y +CONFIG_MTD_PHYSMAP_VERSATILE=y +CONFIG_MTD_RAW_NAND=m +CONFIG_NET_DSA=m +CONFIG_NET_DSA_MSCC_FELIX=m +CONFIG_NET_DSA_REALTEK_MDIO=m +CONFIG_NET_DSA_REALTEK_SMI=m +CONFIG_NET_VENDOR_3COM=y +CONFIG_NET_VENDOR_ADAPTEC=y +CONFIG_NET_VENDOR_AGERE=y +CONFIG_NET_VENDOR_ALTEON=y +CONFIG_NET_VENDOR_AMD=y +CONFIG_NET_VENDOR_ARC=y +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_NET_VENDOR_BROCADE=y +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_NET_VENDOR_CHELSIO=y +CONFIG_NET_VENDOR_CISCO=y +CONFIG_NET_VENDOR_DAVICOM=y +CONFIG_NET_VENDOR_DEC=y +CONFIG_NET_VENDOR_DLINK=y +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_NET_VENDOR_EZCHIP=y +CONFIG_NET_VENDOR_FUNGIBLE=y +CONFIG_NET_VENDOR_GOOGLE=y +CONFIG_NET_VENDOR_HUAWEI=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_LITEX=y +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_NET_VENDOR_MICROSEMI=y +CONFIG_NET_VENDOR_MICROSOFT=y +CONFIG_NET_VENDOR_MYRI=y +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NET_VENDOR_NI=y +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_NET_VENDOR_OKI=y +CONFIG_NET_VENDOR_PENSANDO=y +CONFIG_NET_VENDOR_QLOGIC=y +CONFIG_NET_VENDOR_QUALCOMM=y +CONFIG_NET_VENDOR_RDC=y +CONFIG_NET_VENDOR_REALTEK=y +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_ROCKER=y +CONFIG_NET_VENDOR_SAMSUNG=y +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SILAN=y +CONFIG_NET_VENDOR_SIS=y +CONFIG_NET_VENDOR_SMSC=y +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_NET_VENDOR_SUN=y +CONFIG_NET_VENDOR_TEHUTI=y +CONFIG_NET_VENDOR_TI=y +CONFIG_NET_VENDOR_VIA=y +CONFIG_NET_VENDOR_WIZNET=y +CONFIG_NEW_LEDS=y +CONFIG_NFC=m +CONFIG_NFP=m +CONFIG_NODES_SHIFT=6 +CONFIG_NOP_USB_XCEIV=m +CONFIG_NOZOMI=m +CONFIG_NR_CPUS=256 +CONFIG_NTB=m +# CONFIG_NTFS_RW is not set +CONFIG_NULL_TTY=m +CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y +CONFIG_NVMEM=y +CONFIG_NXP_C45_TJA11XX_PHY=m +CONFIG_N_GSM=m +CONFIG_OF=y +CONFIG_OMFS_FS=m +CONFIG_OSF_PARTITION=y +CONFIG_PACKING=y +# CONFIG_PAGE_EXTENSION is not set +CONFIG_PAGE_POOL_STATS=y +CONFIG_PANIC_TIMEOUT=0 +CONFIG_PARAVIRT=y +CONFIG_PARPORT=m +CONFIG_PATA_SIS=m +CONFIG_PC104=y +CONFIG_PCCARD=m +CONFIG_PCIEPORTBUS=y +CONFIG_PCIPCWATCHDOG=m +CONFIG_PCI_EPF_NTB=m +CONFIG_PCI_LAYERSCAPE=y +CONFIG_PCI_MESON=m +CONFIG_PCI_PASID=y +CONFIG_PCI_PRI=y +CONFIG_PCI_QUIRKS=y +# CONFIG_PCMCIA is not set +CONFIG_PCS_XPCS=m +CONFIG_PECI=m +CONFIG_PHANTOM=m +CONFIG_PHONET=m +CONFIG_PHY_CAN_TRANSCEIVER=m +CONFIG_PHY_PXA_28NM_HSIC=m +CONFIG_PHY_PXA_28NM_USB2=m +CONFIG_PHY_TI_GMII_SEL=m +CONFIG_PINCTRL=y +CONFIG_PM=y +# CONFIG_PMIC_OPREGION is not set +CONFIG_PM_DEVFREQ=y +CONFIG_POWERCAP=y +CONFIG_POWER_SUPPLY=y +CONFIG_PPP=y +CONFIG_PPS_CLIENT_GPIO=m +CONFIG_PPS_CLIENT_LDISC=m +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +# CONFIG_PSI_DEFAULT_DISABLED is not set +CONFIG_PSTORE=y +# CONFIG_PSTORE_CONSOLE is not set +CONFIG_PSTORE_RAM=m +# CONFIG_PTDUMP_DEBUGFS is not set +CONFIG_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_IDT82P33=m +CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_PVPANIC=y +CONFIG_PWM=y +CONFIG_QNX4FS_FS=m +CONFIG_QNX6FS_FS=m +CONFIG_QRTR=m +CONFIG_RAPIDIO=y +CONFIG_RAVE_SP_CORE=m +CONFIG_RC_CORE=m +CONFIG_REED_SOLOMON=m +CONFIG_REGMAP_I2C=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_REGULATOR_TPS65217=m +CONFIG_REGULATOR_TWL4030=m +CONFIG_REISERFS_FS=m +CONFIG_REMOTEPROC=y +CONFIG_RESET_CONTROLLER=y +CONFIG_RFKILL=y +CONFIG_RMI4_CORE=m +CONFIG_ROMFS_FS=m +CONFIG_RPMSG_VIRTIO=m +CONFIG_RTC_DRV_EFI=y +CONFIG_RTC_DRV_GOLDFISH=m +CONFIG_RTC_DRV_PCF8523=m +CONFIG_RTC_DRV_PL031=m +CONFIG_RTC_DRV_TWL4030=m +CONFIG_S2IO=m +CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_SCHED_SMT=y +CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_3W_SAS=m +CONFIG_SCSI_AACRAID=m +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_AIC79XX=m +CONFIG_SCSI_AIC7XXX=m +CONFIG_SCSI_AIC94XX=m +CONFIG_SCSI_AM53C974=m +CONFIG_SCSI_ARCMSR=m +CONFIG_SCSI_BFA_FC=m +CONFIG_SCSI_BNX2X_FCOE=m +CONFIG_SCSI_BNX2_ISCSI=m +CONFIG_SCSI_CHELSIO_FCOE=m +CONFIG_SCSI_CXGB3_ISCSI=m +CONFIG_SCSI_CXGB4_ISCSI=m +CONFIG_SCSI_DC395x=m +CONFIG_SCSI_DMX3191D=m +CONFIG_SCSI_EFCT=m +CONFIG_SCSI_ESAS2R=m +CONFIG_SCSI_FDOMAIN_PCI=m +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_IPS=m +CONFIG_SCSI_MPI3MR=m +CONFIG_SCSI_MVSAS=m +CONFIG_SCSI_MVUMI=m +CONFIG_SCSI_MYRB=m +CONFIG_SCSI_PM8001=m +CONFIG_SCSI_PMCRAID=m +CONFIG_SCSI_QLA_FC=m +CONFIG_SCSI_QLA_ISCSI=m +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_SNIC=m +CONFIG_SCSI_SRP_ATTRS=m +CONFIG_SCSI_STEX=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_UFSHCD=m +CONFIG_SCSI_WD719X=m +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SENSORS_APDS990X=m +CONFIG_SENSORS_BH1770=m +CONFIG_SENSORS_LIS3_I2C=m +CONFIG_SENSORS_Q54SJ108A2=m +CONFIG_SENSORS_TSL2550=m +CONFIG_SERIAL_8250_DW=y +CONFIG_SERIAL_8250_FINTEK=y +CONFIG_SERIAL_ALTERA_JTAGUART=m +CONFIG_SERIAL_ALTERA_UART=m +CONFIG_SERIAL_ARC=m +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_FSL_LINFLEXUART=m +CONFIG_SERIAL_FSL_LPUART=m +CONFIG_SERIAL_JSM=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIAL_RP2=m +CONFIG_SERIAL_SC16IS7XX=m +CONFIG_SERIAL_SCCNXP=y +CONFIG_SERIAL_SIFIVE=m +CONFIG_SERIO=y +CONFIG_SFC=m +CONFIG_SFC_FALCON=m +CONFIG_SFC_SIENA=m +CONFIG_SGI_PARTITION=y +CONFIG_SLIP=m +CONFIG_SND=m +CONFIG_SND_COMPRESS_OFFLOAD=m +CONFIG_SND_DMAENGINE_PCM=m +# CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM is not set +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_IMX_SOC=m +CONFIG_SND_PCM=m +CONFIG_SND_SOC=m +CONFIG_SND_SOC_FSL_SSI=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_IMX_AUDMUX=m +CONFIG_SND_SOC_IMX_PCM_DMA=m +CONFIG_SND_SOC_IMX_SGTL5000=m +CONFIG_SND_SOC_SGTL5000=m +CONFIG_SND_TIMER=m +CONFIG_SOC_BRCMSTB=y +CONFIG_SOC_IMX8M=y +CONFIG_SOC_TI=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=m +CONFIG_SPI=y +CONFIG_SPI_ROCKCHIP=m +CONFIG_SPI_SIFIVE=m +CONFIG_SPMI=m +CONFIG_SRAM=y +CONFIG_SSB=m +CONFIG_STAGING=y +CONFIG_STANDALONE=y +CONFIG_SUN_PARTITION=y +# CONFIG_SURFACE_3_POWER_OPREGION is not set +# CONFIG_SURFACE_PRO3_BUTTON is not set +CONFIG_SYSFB_SIMPLEFB=y +CONFIG_SYSV68_PARTITION=y +CONFIG_SYSV_FS=m +CONFIG_TCG_TIS_I2C_ATMEL=m +CONFIG_TCG_TIS_I2C_CR50=m +CONFIG_TCG_TIS_I2C_INFINEON=m +CONFIG_TCG_TIS_I2C_NUVOTON=m +CONFIG_TCG_TIS_ST33ZP24_I2C=m +CONFIG_THERMAL=y +CONFIG_TIFM_CORE=m +CONFIG_TOUCHSCREEN_ELAN=m +CONFIG_TPS6105X=m +CONFIG_TPS65010=m +CONFIG_TPS6507X=m +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_TTY_PRINTK=y +CONFIG_UACCE=m +CONFIG_UBSAN=y +CONFIG_UFS_FS=m +CONFIG_UIO_AEC=m +CONFIG_UIO_CIF=m +CONFIG_UIO_DMEM_GENIRQ=m +CONFIG_UIO_MF624=m +CONFIG_UIO_NETX=m +CONFIG_UIO_PCI_GENERIC=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_UIO_PRUSS=m +CONFIG_UIO_SERCOS3=m +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_USB4=m +CONFIG_USB_EHCI_HCD_PLATFORM=m +CONFIG_USB_EMXX=m +CONFIG_USB_GADGET=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_OHCI_HCD_PLATFORM=m +CONFIG_USB_SUPPORT=y +CONFIG_VDPA=m +CONFIG_VFIO=m +CONFIG_VFIO_IOMMU_TYPE1=m +CONFIG_VFIO_PCI=m +CONFIG_VFIO_PCI_CORE=m +CONFIG_VFIO_VIRQFD=m +CONFIG_VIDEO_TI_CAL_MC=y +CONFIG_VIRTIO_MMIO=y +CONFIG_VMAP_STACK=y +CONFIG_VME_BUS=y +CONFIG_VMXNET3=m +CONFIG_VXFS_FS=m +CONFIG_VXGE=m +CONFIG_W1=m +CONFIG_WAN=y +CONFIG_WDTPCI=m +CONFIG_WWAN=y +CONFIG_X25=m +CONFIG_XEN=y +CONFIG_XILINX_EMACLITE=m +CONFIG_XILINX_LL_TEMAC=m +CONFIG_XILINX_SDFEC=m +CONFIG_XILINX_WATCHDOG=m +CONFIG_XILLYBUS=m +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_TEST=m +CONFIG_XZ_DEC_X86=y +CONFIG_YELLOWFIN=m +CONFIG_ZIIRAVE_WATCHDOG=m --- linux-gcp-5.19.0.orig/debian.master/config/arm64/config.flavour.generic +++ linux-gcp-5.19.0/debian.master/config/arm64/config.flavour.generic @@ -0,0 +1,13 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# +CONFIG_ARCH_MMAP_RND_BITS_MAX=33 +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11 +CONFIG_ARM64_4K_PAGES=y +# CONFIG_ARM64_64K_PAGES is not set +CONFIG_ARM64_CONT_PMD_SHIFT=4 +CONFIG_ARM64_CONT_PTE_SHIFT=4 +CONFIG_ARM64_PAGE_SHIFT=12 +CONFIG_FORCE_MAX_ZONEORDER=13 +CONFIG_PGTABLE_LEVELS=4 --- linux-gcp-5.19.0.orig/debian.master/config/arm64/config.flavour.generic-64k +++ linux-gcp-5.19.0/debian.master/config/arm64/config.flavour.generic-64k @@ -0,0 +1,13 @@ +# +# Config options for config.flavour.generic-64k automatically generated by splitconfig.pl +# +CONFIG_ARCH_MMAP_RND_BITS_MAX=29 +CONFIG_ARCH_MMAP_RND_BITS_MIN=14 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=7 +# CONFIG_ARM64_4K_PAGES is not set +CONFIG_ARM64_64K_PAGES=y +CONFIG_ARM64_CONT_PMD_SHIFT=5 +CONFIG_ARM64_CONT_PTE_SHIFT=5 +CONFIG_ARM64_PAGE_SHIFT=16 +CONFIG_FORCE_MAX_ZONEORDER=14 +CONFIG_PGTABLE_LEVELS=3 --- linux-gcp-5.19.0.orig/debian.master/config/armhf/config.common.armhf +++ linux-gcp-5.19.0/debian.master/config/armhf/config.common.armhf @@ -0,0 +1,712 @@ +# +# Config options for config.common.armhf automatically generated by splitconfig.pl +# +CONFIG_6LOWPAN=m +CONFIG_AC97_BUS=y +CONFIG_ACCESSIBILITY=y +CONFIG_AD525X_DPOT=m +CONFIG_ADFS_FS=m +CONFIG_ADIN1100_PHY=m +CONFIG_AFFS_FS=m +CONFIG_AIX_PARTITION=y +CONFIG_ALIM7101_WDT=m +CONFIG_ALTERA_STAPL=m +CONFIG_ALTERA_TSE=m +CONFIG_AMIGA_PARTITION=y +CONFIG_ANDROID=y +CONFIG_APDS9802ALS=m +CONFIG_APPLICOM=m +CONFIG_AQTION=m +CONFIG_ARCH_EXYNOS=y +CONFIG_ARCH_MMAP_RND_BITS=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=16 +CONFIG_ARCH_MMAP_RND_BITS_MIN=8 +CONFIG_ARCH_NR_GPIO=2048 +# CONFIG_ARCH_SUNXI is not set +CONFIG_ARCNET=m +# CONFIG_ARM_SMMU is not set +CONFIG_ATA=y +CONFIG_ATALK=m +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_GENERIC=m +CONFIG_ATA_OVER_ETH=m +CONFIG_ATA_PIIX=m +CONFIG_ATM=m +CONFIG_AUTOFS4_FS=m +CONFIG_AUTOFS_FS=m +CONFIG_AUXDISPLAY=y +CONFIG_AX88796B_PHY=m +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BAREUDP=m +CONFIG_BATMAN_ADV=m +CONFIG_BCH=y +CONFIG_BCM84881_PHY=y +CONFIG_BCMA=m +CONFIG_BCM_KONA_USB2_PHY=m +CONFIG_BCM_VK=m +CONFIG_BE2ISCSI=m +CONFIG_BEFS_FS=m +CONFIG_BFS_FS=m +CONFIG_BLK_DEV_3W_XXXX_RAID=m +CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m +CONFIG_BLK_DEV_SX8=m +CONFIG_BSD_DISKLABEL=y +CONFIG_C2PORT=m +CONFIG_CADENCE_WATCHDOG=m +CONFIG_CAIF=m +CONFIG_CAN=m +CONFIG_CB710_CORE=m +CONFIG_CC_VERSION_TEXT="arm-linux-gnueabihf-gcc-12 (Ubuntu 12.2.0-3ubuntu1) 12.2.0" +CONFIG_CDROM_PKTCDVD=m +CONFIG_CMA=y +CONFIG_CMDLINE="" +CONFIG_CMDLINE_PARTITION=y +CONFIG_COMEDI=m +CONFIG_COMMON_CLK=y +# CONFIG_COMMON_CLK_AXG_AUDIO is not set +CONFIG_COMMON_CLK_XLNX_CLKWZRD=m +CONFIG_COUNTER=m +# CONFIG_CPU_BIG_ENDIAN is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set +CONFIG_CRAMFS=m +CONFIG_CRC7=m +CONFIG_CRC8=y +CONFIG_CRC_ITU_T=m +CONFIG_CRYPTO_DEV_ATMEL_ECC=m +CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m +CONFIG_CRYPTO_DEV_SAFEXCEL=m +CONFIG_CRYPTO_DH_RFC7919_GROUPS=y +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9 +CONFIG_CRYPTO_SM3_GENERIC=m +CONFIG_CRYPTO_SM4_GENERIC=m +CONFIG_CXL_BUS=m +# CONFIG_DEBUG_INFO_BTF is not set +CONFIG_DECNET=m +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +CONFIG_DMADEVICES=y +CONFIG_DMA_CMA=y +# CONFIG_DMA_PERNUMA_CMA is not set +CONFIG_DMA_VIRTUAL_CHANNELS=y +# CONFIG_DM_DEBUG is not set +CONFIG_DNET=m +CONFIG_DP83TD510_PHY=m +CONFIG_DRM_AMDGPU=m +CONFIG_DRM_ANALOGIX_ANX78XX=m +CONFIG_DRM_AST=m +CONFIG_DRM_CIRRUS_QEMU=m +CONFIG_DRM_ETNAVIV=m +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_I2C_NXP_TDA9950=m +CONFIG_DRM_I2C_NXP_TDA998X=m +CONFIG_DRM_I2C_SIL164=m +CONFIG_DRM_MGAG200=m +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y +CONFIG_DRM_QXL=m +CONFIG_DRM_RADEON=m +CONFIG_DRM_SIMPLEDRM=m +CONFIG_DRM_SSD130X=m +CONFIG_DRM_VGEM=m +CONFIG_DRM_VKMS=m +CONFIG_DS1682=m +CONFIG_DUMMY_IRQ=m +CONFIG_DWMAC_INTEL_PLAT=m +CONFIG_DW_WATCHDOG=m +CONFIG_DW_XDATA_PCIE=m +CONFIG_ECHO=m +CONFIG_EEPROM_93CX6=m +CONFIG_EEPROM_AT24=m +CONFIG_EEPROM_EE1004=m +CONFIG_EEPROM_IDT_89HPESX=m +CONFIG_EEPROM_LEGACY=m +CONFIG_EEPROM_MAX6875=m +CONFIG_EFS_FS=m +CONFIG_ENCLOSURE_SERVICES=m +CONFIG_ETHOC=m +# CONFIG_EVM_LOAD_X509 is not set +CONFIG_EXFAT_FS=m +CONFIG_EXTCON=y +CONFIG_F2FS_FS=m +CONFIG_FB_3DFX=m +CONFIG_FB_ARK=m +CONFIG_FB_ASILIANT=y +CONFIG_FB_ATY=m +CONFIG_FB_ATY128=m +CONFIG_FB_CARMINE=m +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_CIRRUS=m +CONFIG_FB_CYBER2000=m +CONFIG_FB_I740=m +# CONFIG_FB_IBM_GXT4500 is not set +CONFIG_FB_IMSTT=y +CONFIG_FB_KYRO=m +CONFIG_FB_MATROX=m +CONFIG_FB_MB862XX=m +CONFIG_FB_METRONOME=m +CONFIG_FB_NEOMAGIC=m +CONFIG_FB_NVIDIA=m +CONFIG_FB_OPENCORES=m +CONFIG_FB_PM2=m +CONFIG_FB_PM3=m +CONFIG_FB_RADEON=m +CONFIG_FB_RIVA=m +CONFIG_FB_S1D13XXX=m +CONFIG_FB_S3=m +CONFIG_FB_SAVAGE=m +CONFIG_FB_SIMPLE=m +CONFIG_FB_SIS=m +CONFIG_FB_SM712=m +CONFIG_FB_SSD1307=m +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_TRIDENT=m +CONFIG_FB_UVESA=m +CONFIG_FB_VOODOO1=m +CONFIG_FB_VT8623=m +CONFIG_FDDI=y +CONFIG_FEALNX=m +CONFIG_FIREWIRE=m +CONFIG_FIREWIRE_NOSY=m +CONFIG_FIRMWARE_MEMMAP=y +CONFIG_FORTIFY_SOURCE=y +CONFIG_FPGA_BRIDGE=m +CONFIG_FPGA_DFL=m +CONFIG_FRAME_WARN=1024 +# CONFIG_FSL_MC_BUS is not set +CONFIG_FUSION=y +CONFIG_GAMEPORT=m +CONFIG_GENERIC_PHY=y +CONFIG_GNSS=m +# CONFIG_GOLDFISH is not set +CONFIG_GPIO_ADP5588=m +CONFIG_GPIO_AMD_FCH=m +CONFIG_GPIO_DWAPB=m +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_GPIO_MAX7300=m +CONFIG_GPIO_MAX732X=m +CONFIG_GPIO_MB86S7X=m +CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCA9570=m +CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_RDC321X=m +CONFIG_GPIO_SIOX=m +CONFIG_GPIO_TPIC2810=m +CONFIG_GPIO_TWL4030=y +CONFIG_GPIO_TWL6040=y +CONFIG_GPIO_VIRTIO=m +CONFIG_GPIO_XILINX=y +CONFIG_GREYBUS=m +CONFIG_HABANA_AI=m +CONFIG_HAMACHI=m +CONFIG_HFSPLUS_FS=m +CONFIG_HFS_FS=m +CONFIG_HIBERNATION=y +CONFIG_HID=m +CONFIG_HISI_HIKEY_USB=m +CONFIG_HMC6352=m +# CONFIG_HOTPLUG_PCI is not set +CONFIG_HPFS_FS=m +CONFIG_HP_ILO=m +CONFIG_HSI=m +CONFIG_HSR=m +CONFIG_HTC_PASIC3=m +CONFIG_HTE=y +CONFIG_HWMON=y +CONFIG_HWSPINLOCK=y +CONFIG_HW_RANDOM_CCTRNG=m +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HW_RANDOM_XIPHERA=m +CONFIG_HZ=250 +# CONFIG_HZ_100 is not set +CONFIG_HZ_250=y +CONFIG_I2C=y +CONFIG_I2C_ALI1535=m +CONFIG_I2C_ALI1563=m +CONFIG_I2C_ALI15X3=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_CBUS_GPIO=m +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_DESIGNWARE_PCI=m +CONFIG_I2C_DESIGNWARE_PLATFORM=y +CONFIG_I2C_GPIO=m +CONFIG_I2C_I801=m +CONFIG_I2C_IMX=y +CONFIG_I2C_ISCH=m +CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_LTC4306=m +CONFIG_I2C_MUX_MLXCPLD=m +CONFIG_I2C_MUX_PCA9541=m +CONFIG_I2C_MUX_PCA954x=m +CONFIG_I2C_MUX_REG=m +CONFIG_I2C_NFORCE2=m +CONFIG_I2C_NVIDIA_GPU=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_PCA_PLATFORM=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_SIMTEC=m +CONFIG_I2C_SIS5595=m +CONFIG_I2C_SIS630=m +CONFIG_I2C_SIS96X=m +CONFIG_I2C_SLAVE=y +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m +CONFIG_I2C_VIRTIO=m +CONFIG_I2C_XILINX=m +CONFIG_I3C=m +CONFIG_I6300ESB_WDT=m +CONFIG_ICS932S401=m +CONFIG_IEEE802154=m +CONFIG_IIO=m +CONFIG_IMA_DEFAULT_HASH="sha1" +CONFIG_IMA_DEFAULT_HASH_SHA1=y +# CONFIG_IMA_DEFAULT_HASH_SHA256 is not set +CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng" +# CONFIG_IMA_LOAD_X509 is not set +CONFIG_IMA_NG_TEMPLATE=y +# CONFIG_IMA_READ_POLICY is not set +# CONFIG_IMA_SIG_TEMPLATE is not set +CONFIG_INFINIBAND_OCRDMA=m +CONFIG_INPUT_EVBUG=m +CONFIG_INPUT_FF_MEMLESS=m +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_INPUT_KEYBOARD=y +CONFIG_INPUT_MATRIXKMAP=m +CONFIG_INPUT_MISC=y +CONFIG_INPUT_MOUSE=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_SPARSEKMAP=m +CONFIG_INPUT_TABLET=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_INTERCONNECT=y +# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set +CONFIG_IOMMU_DEFAULT_DMA_STRICT=y +CONFIG_IOMMU_IOVA=m +CONFIG_IPACK_BUS=m +CONFIG_IPMI_HANDLER=m +# CONFIG_IP_DCCP_CCID3 is not set +CONFIG_IP_VS_TWOS=m +CONFIG_IRQ_BYPASS_MANAGER=m +CONFIG_ISL29003=m +CONFIG_ISL29020=m +CONFIG_JFS_FS=m +CONFIG_JME=m +# CONFIG_JUMP_LABEL is not set +CONFIG_KARMA_PARTITION=y +CONFIG_KERNEL_GZIP=y +CONFIG_LAPB=m +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_LDM_PARTITION=y +CONFIG_LIBNVDIMM=y +CONFIG_LLC2=m +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_LPC_ICH=m +CONFIG_LPC_SCH=m +CONFIG_MAC_PARTITION=y +CONFIG_MAILBOX=y +CONFIG_MARVELL_88X2222_PHY=m +CONFIG_MAX63XX_WATCHDOG=m +CONFIG_MAXLINEAR_GPHY=m +CONFIG_MCB=m +CONFIG_MCTP=y +CONFIG_MDIO_BCM_UNIMAC=m +CONFIG_MDIO_BITBANG=y +CONFIG_MDIO_BUS_MUX=m +CONFIG_MD_MULTIPATH=m +CONFIG_MEDIATEK_GE_PHY=m +CONFIG_MEDIA_CEC_SUPPORT=y +CONFIG_MEDIA_SUPPORT=m +CONFIG_MEGARAID_LEGACY=m +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_SAS=m +CONFIG_MEMORY=y +CONFIG_MEMSTICK=m +CONFIG_MFD_88PM800=m +CONFIG_MFD_88PM805=m +CONFIG_MFD_ARIZONA_I2C=m +CONFIG_MFD_ATC260X_I2C=m +CONFIG_MFD_AXP20X_I2C=m +CONFIG_MFD_BCM590XX=m +CONFIG_MFD_BD9571MWV=m +CONFIG_MFD_CORE=y +CONFIG_MFD_DA9062=m +CONFIG_MFD_DA9063=y +CONFIG_MFD_DA9150=m +CONFIG_MFD_IQS62X=m +CONFIG_MFD_JANZ_CMODIO=m +CONFIG_MFD_KEMPLD=m +CONFIG_MFD_LM3533=m +CONFIG_MFD_LP3943=m +CONFIG_MFD_MADERA=m +CONFIG_MFD_MAX14577=y +CONFIG_MFD_MAX77693=y +CONFIG_MFD_MAX8907=m +CONFIG_MFD_MC13XXX_I2C=m +CONFIG_MFD_MENF21BMC=m +CONFIG_MFD_MP2629=m +CONFIG_MFD_MT6360=m +CONFIG_MFD_MT6397=m +CONFIG_MFD_PCF50633=m +CONFIG_MFD_RDC321X=m +CONFIG_MFD_RETU=m +CONFIG_MFD_RT4831=m +CONFIG_MFD_RT5033=m +CONFIG_MFD_SI476X_CORE=m +CONFIG_MFD_SKY81452=m +CONFIG_MFD_SM501=y +CONFIG_MFD_SYSCON=y +CONFIG_MFD_TI_AM335X_TSCADC=m +CONFIG_MFD_TI_LMU=m +CONFIG_MFD_TI_LP873X=m +CONFIG_MFD_TPS65086=m +CONFIG_MFD_TPS65217=y +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TQMX86=m +CONFIG_MFD_VX855=m +CONFIG_MFD_WCD934X=m +CONFIG_MFD_WL1273_CORE=m +CONFIG_MFD_WM8994=m +CONFIG_MHI_BUS=m +CONFIG_MHI_BUS_EP=m +CONFIG_MII=y +CONFIG_MINIX_FS=m +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MISC_ALCOR_PCI=m +CONFIG_MISC_RTSX_PCI=m +CONFIG_MLX5_SF=y +CONFIG_MLX5_VFIO_PCI=m +CONFIG_MLXSW_I2C=m +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_CQHCI=y +# CONFIG_MMC_HSQ is not set +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_ESDHC_IMX=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SPI=m +CONFIG_MOST=m +CONFIG_MOTORCOMM_PHY=m +CONFIG_MTD=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_NAND_CORE=y +CONFIG_MTD_NAND_OMAP2=y +CONFIG_MTD_NAND_OMAP_BCH_BUILD=y +CONFIG_MTD_OF_PARTS=y +CONFIG_MTD_PHYSMAP_GEMINI=y +CONFIG_MTD_PHYSMAP_VERSATILE=y +CONFIG_MTD_RAW_NAND=y +CONFIG_NET_DSA=m +CONFIG_NET_DSA_MSCC_FELIX=m +CONFIG_NET_DSA_REALTEK_MDIO=m +CONFIG_NET_DSA_REALTEK_SMI=m +CONFIG_NET_VENDOR_3COM=y +CONFIG_NET_VENDOR_ADAPTEC=y +CONFIG_NET_VENDOR_AGERE=y +CONFIG_NET_VENDOR_ALTEON=y +CONFIG_NET_VENDOR_AMD=y +CONFIG_NET_VENDOR_ARC=y +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_NET_VENDOR_BROCADE=y +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_NET_VENDOR_CHELSIO=y +CONFIG_NET_VENDOR_CISCO=y +CONFIG_NET_VENDOR_DAVICOM=y +CONFIG_NET_VENDOR_DEC=y +CONFIG_NET_VENDOR_DLINK=y +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_NET_VENDOR_EZCHIP=y +CONFIG_NET_VENDOR_FUNGIBLE=y +CONFIG_NET_VENDOR_GOOGLE=y +CONFIG_NET_VENDOR_HUAWEI=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_LITEX=y +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_NET_VENDOR_MICROSEMI=y +CONFIG_NET_VENDOR_MICROSOFT=y +CONFIG_NET_VENDOR_MYRI=y +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NET_VENDOR_NI=y +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_NET_VENDOR_OKI=y +CONFIG_NET_VENDOR_PENSANDO=y +CONFIG_NET_VENDOR_QLOGIC=y +CONFIG_NET_VENDOR_QUALCOMM=y +CONFIG_NET_VENDOR_RDC=y +CONFIG_NET_VENDOR_REALTEK=y +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_ROCKER=y +CONFIG_NET_VENDOR_SAMSUNG=y +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SILAN=y +CONFIG_NET_VENDOR_SIS=y +CONFIG_NET_VENDOR_SMSC=y +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_NET_VENDOR_SUN=y +CONFIG_NET_VENDOR_TEHUTI=y +CONFIG_NET_VENDOR_TI=y +CONFIG_NET_VENDOR_VIA=y +CONFIG_NET_VENDOR_WIZNET=y +CONFIG_NEW_LEDS=y +CONFIG_NFC=m +CONFIG_NFP=m +CONFIG_NOP_USB_XCEIV=y +CONFIG_NOZOMI=m +CONFIG_NR_CPUS=4 +CONFIG_NTB=m +# CONFIG_NTFS_RW is not set +CONFIG_NULL_TTY=m +CONFIG_NVMEM=y +CONFIG_NXP_C45_TJA11XX_PHY=m +CONFIG_N_GSM=m +CONFIG_OF=y +CONFIG_OMFS_FS=m +CONFIG_OSF_PARTITION=y +CONFIG_PACKING=y +CONFIG_PAGE_EXTENSION=y +CONFIG_PAGE_OFFSET=0xC0000000 +CONFIG_PAGE_POOL_STATS=y +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_PARAVIRT is not set +CONFIG_PARPORT=m +CONFIG_PATA_SIS=m +CONFIG_PC104=y +CONFIG_PCCARD=m +CONFIG_PCIEPORTBUS=y +CONFIG_PCIPCWATCHDOG=m +CONFIG_PCI_EPF_NTB=m +# CONFIG_PCI_LAYERSCAPE is not set +# CONFIG_PCI_MESON is not set +CONFIG_PCI_PASID=y +CONFIG_PCI_PRI=y +CONFIG_PCI_QUIRKS=y +# CONFIG_PCMCIA is not set +CONFIG_PCS_XPCS=m +CONFIG_PECI=m +CONFIG_PHANTOM=m +CONFIG_PHONET=m +CONFIG_PHY_CAN_TRANSCEIVER=m +CONFIG_PHY_PXA_28NM_HSIC=m +CONFIG_PHY_PXA_28NM_USB2=m +CONFIG_PHY_TI_GMII_SEL=y +CONFIG_PINCTRL=y +CONFIG_PM=y +CONFIG_PM_DEVFREQ=y +CONFIG_POWERCAP=y +CONFIG_POWER_SUPPLY=y +CONFIG_PPP=y +CONFIG_PPS_CLIENT_GPIO=m +CONFIG_PPS_CLIENT_LDISC=m +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +# CONFIG_PSI_DEFAULT_DISABLED is not set +CONFIG_PSTORE=y +CONFIG_PSTORE_CONSOLE=y +CONFIG_PSTORE_RAM=y +CONFIG_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_IDT82P33=m +CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_PVPANIC=y +CONFIG_PWM=y +CONFIG_QNX4FS_FS=m +CONFIG_QNX6FS_FS=m +CONFIG_QRTR=m +CONFIG_RAPIDIO=y +CONFIG_RAVE_SP_CORE=m +CONFIG_RC_CORE=m +CONFIG_REED_SOLOMON=y +CONFIG_REGMAP_I2C=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_TPS65217=y +CONFIG_REGULATOR_TWL4030=y +CONFIG_REISERFS_FS=m +CONFIG_REMOTEPROC=y +CONFIG_RESET_CONTROLLER=y +CONFIG_RFKILL=y +CONFIG_RMI4_CORE=m +CONFIG_ROMFS_FS=m +CONFIG_RPMSG_VIRTIO=m +CONFIG_RTC_DRV_CMOS=m +CONFIG_RTC_DRV_EFI=y +CONFIG_RTC_DRV_GOLDFISH=m +CONFIG_RTC_DRV_PCF8523=y +CONFIG_RTC_DRV_PL031=y +CONFIG_RTC_DRV_TWL4030=y +CONFIG_S2IO=m +CONFIG_SATA_AHCI_PLATFORM=y +# CONFIG_SCHED_SMT is not set +CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_3W_SAS=m +CONFIG_SCSI_AACRAID=m +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_AIC79XX=m +CONFIG_SCSI_AIC7XXX=m +CONFIG_SCSI_AIC94XX=m +CONFIG_SCSI_AM53C974=m +CONFIG_SCSI_ARCMSR=m +CONFIG_SCSI_BFA_FC=m +CONFIG_SCSI_BNX2X_FCOE=m +CONFIG_SCSI_BNX2_ISCSI=m +CONFIG_SCSI_CHELSIO_FCOE=m +CONFIG_SCSI_CXGB3_ISCSI=m +CONFIG_SCSI_CXGB4_ISCSI=m +CONFIG_SCSI_DC395x=m +CONFIG_SCSI_DMX3191D=m +CONFIG_SCSI_EFCT=m +CONFIG_SCSI_ESAS2R=m +CONFIG_SCSI_FDOMAIN_PCI=m +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_IPS=m +CONFIG_SCSI_MPI3MR=m +CONFIG_SCSI_MVSAS=m +CONFIG_SCSI_MVUMI=m +CONFIG_SCSI_MYRB=m +CONFIG_SCSI_PM8001=m +CONFIG_SCSI_PMCRAID=m +CONFIG_SCSI_QLA_FC=m +CONFIG_SCSI_QLA_ISCSI=m +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_SNIC=m +CONFIG_SCSI_SRP_ATTRS=m +CONFIG_SCSI_STEX=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_UFSHCD=m +CONFIG_SCSI_WD719X=m +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SENSORS_APDS990X=m +CONFIG_SENSORS_BH1770=m +CONFIG_SENSORS_LIS3_I2C=m +CONFIG_SENSORS_Q54SJ108A2=m +CONFIG_SENSORS_TSL2550=m +CONFIG_SERIAL_8250_DW=m +# CONFIG_SERIAL_8250_FINTEK is not set +CONFIG_SERIAL_ALTERA_JTAGUART=m +CONFIG_SERIAL_ALTERA_UART=m +CONFIG_SERIAL_ARC=m +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_FSL_LINFLEXUART=m +CONFIG_SERIAL_FSL_LPUART=m +CONFIG_SERIAL_JSM=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIAL_RP2=m +CONFIG_SERIAL_SC16IS7XX=m +CONFIG_SERIAL_SCCNXP=y +CONFIG_SERIAL_SIFIVE=m +CONFIG_SERIO=y +CONFIG_SFC=m +CONFIG_SFC_FALCON=m +CONFIG_SFC_SIENA=m +CONFIG_SGI_PARTITION=y +CONFIG_SLIP=m +CONFIG_SND=y +CONFIG_SND_COMPRESS_OFFLOAD=y +CONFIG_SND_DMAENGINE_PCM=y +# CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM is not set +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_IMX_SOC=y +CONFIG_SND_PCM=y +CONFIG_SND_SOC=y +CONFIG_SND_SOC_FSL_SSI=y +CONFIG_SND_SOC_I2C_AND_SPI=y +CONFIG_SND_SOC_IMX_AUDMUX=y +CONFIG_SND_SOC_IMX_PCM_DMA=y +CONFIG_SND_SOC_IMX_SGTL5000=y +CONFIG_SND_SOC_SGTL5000=y +CONFIG_SND_TIMER=y +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_SOC_IMX8M is not set +CONFIG_SOC_TI=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=y +CONFIG_SPI=y +CONFIG_SPI_ROCKCHIP=m +CONFIG_SPI_SIFIVE=m +CONFIG_SPMI=m +CONFIG_SRAM=y +CONFIG_SSB=m +CONFIG_STAGING=y +CONFIG_STANDALONE=y +CONFIG_SUN_PARTITION=y +CONFIG_SYSFB_SIMPLEFB=y +CONFIG_SYSV68_PARTITION=y +CONFIG_SYSV_FS=m +CONFIG_TCG_TIS_I2C_ATMEL=m +CONFIG_TCG_TIS_I2C_CR50=m +CONFIG_TCG_TIS_I2C_INFINEON=m +CONFIG_TCG_TIS_I2C_NUVOTON=m +CONFIG_TCG_TIS_ST33ZP24_I2C=m +CONFIG_THERMAL=y +CONFIG_TIFM_CORE=m +CONFIG_TOUCHSCREEN_ELAN=m +CONFIG_TPS6105X=m +CONFIG_TPS65010=m +CONFIG_TPS6507X=m +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_TTY_PRINTK=y +CONFIG_UACCE=m +CONFIG_UBSAN=y +CONFIG_UFS_FS=m +CONFIG_UIO_AEC=m +CONFIG_UIO_CIF=m +CONFIG_UIO_DMEM_GENIRQ=m +CONFIG_UIO_MF624=m +CONFIG_UIO_NETX=m +CONFIG_UIO_PCI_GENERIC=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_UIO_PRUSS=m +CONFIG_UIO_SERCOS3=m +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_USB4=m +CONFIG_USB_EHCI_HCD_PLATFORM=m +CONFIG_USB_EMXX=y +CONFIG_USB_GADGET=y +CONFIG_USB_MUSB_HDRC=y +CONFIG_USB_OHCI_HCD_PLATFORM=m +CONFIG_USB_SUPPORT=y +CONFIG_VDPA=m +CONFIG_VFIO=y +CONFIG_VFIO_IOMMU_TYPE1=y +CONFIG_VFIO_PCI=m +CONFIG_VFIO_PCI_CORE=m +CONFIG_VFIO_VIRQFD=m +CONFIG_VIRTIO_MMIO=y +CONFIG_VMAP_STACK=y +CONFIG_VME_BUS=y +CONFIG_VMXNET3=m +CONFIG_VXFS_FS=m +CONFIG_VXGE=m +CONFIG_W1=m +CONFIG_WAN=y +CONFIG_WDTPCI=m +CONFIG_WWAN=y +CONFIG_X25=m +# CONFIG_XEN is not set +CONFIG_XILINX_EMACLITE=m +CONFIG_XILINX_LL_TEMAC=m +CONFIG_XILINX_SDFEC=m +CONFIG_XILINX_WATCHDOG=m +CONFIG_XILLYBUS=m +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_TEST=m +CONFIG_XZ_DEC_X86=y +CONFIG_YELLOWFIN=m +CONFIG_ZIIRAVE_WATCHDOG=m --- linux-gcp-5.19.0.orig/debian.master/config/armhf/config.flavour.generic +++ linux-gcp-5.19.0/debian.master/config/armhf/config.flavour.generic @@ -0,0 +1,15 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# +CONFIG_ARCH_ALPINE=y +CONFIG_ARCH_OMAP3=y +CONFIG_ARCH_OMAP4=y +CONFIG_ARCH_UNIPHIER=y +CONFIG_ARM_ATAG_DTB_COMPAT=y +# CONFIG_ARM_HIGHBANK_CPUIDLE is not set +CONFIG_ARM_L1_CACHE_SHIFT=7 +# CONFIG_ARM_LPAE is not set +CONFIG_FORCE_MAX_ZONEORDER=12 +CONFIG_PGTABLE_LEVELS=2 +CONFIG_SOC_AM33XX=y +# CONFIG_VIDEO_TI_CAL_MC is not set --- linux-gcp-5.19.0.orig/debian.master/config/armhf/config.flavour.generic-lpae +++ linux-gcp-5.19.0/debian.master/config/armhf/config.flavour.generic-lpae @@ -0,0 +1,15 @@ +# +# Config options for config.flavour.generic-lpae automatically generated by splitconfig.pl +# +# CONFIG_ARCH_ALPINE is not set +# CONFIG_ARCH_OMAP3 is not set +# CONFIG_ARCH_OMAP4 is not set +# CONFIG_ARCH_UNIPHIER is not set +# CONFIG_ARM_ATAG_DTB_COMPAT is not set +CONFIG_ARM_HIGHBANK_CPUIDLE=y +CONFIG_ARM_L1_CACHE_SHIFT=6 +CONFIG_ARM_LPAE=y +CONFIG_FORCE_MAX_ZONEORDER=11 +CONFIG_PGTABLE_LEVELS=3 +# CONFIG_SOC_AM33XX is not set +CONFIG_VIDEO_TI_CAL_MC=y --- linux-gcp-5.19.0.orig/debian.master/config/config.common.ubuntu +++ linux-gcp-5.19.0/debian.master/config/config.common.ubuntu @@ -0,0 +1,13309 @@ +# +# Common config options automatically generated by splitconfig.pl +# +CONFIG_104_QUAD_8=m +CONFIG_60XX_WDT=m +CONFIG_64BIT=y +# CONFIG_6LOWPAN_DEBUGFS is not set +# CONFIG_6LOWPAN_GHC_EXT_HDR_DEST is not set +# CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG is not set +# CONFIG_6LOWPAN_GHC_EXT_HDR_HOP is not set +# CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE is not set +# CONFIG_6LOWPAN_GHC_ICMPV6 is not set +# CONFIG_6LOWPAN_GHC_UDP is not set +CONFIG_6LOWPAN_NHC=m +CONFIG_6LOWPAN_NHC_DEST=m +CONFIG_6LOWPAN_NHC_FRAGMENT=m +CONFIG_6LOWPAN_NHC_HOP=m +CONFIG_6LOWPAN_NHC_IPV6=m +CONFIG_6LOWPAN_NHC_MOBILITY=m +CONFIG_6LOWPAN_NHC_ROUTING=m +CONFIG_6LOWPAN_NHC_UDP=m +CONFIG_6PACK=m +CONFIG_8139CP=m +CONFIG_8139TOO=m +CONFIG_8139TOO_8129=y +CONFIG_8139TOO_PIO=y +# CONFIG_8139TOO_TUNE_TWISTER is not set +# CONFIG_8139_OLD_RX_RESET is not set +CONFIG_842_COMPRESS=m +CONFIG_842_DECOMPRESS=m +CONFIG_9P_FS=m +CONFIG_9P_FSCACHE=y +CONFIG_9P_FS_POSIX_ACL=y +CONFIG_9P_FS_SECURITY=y +# CONFIG_A11Y_BRAILLE_CONSOLE is not set +CONFIG_ABP060MG=m +CONFIG_ACENIC=m +# CONFIG_ACENIC_OMIT_TIGON_I is not set +CONFIG_ACERHDF=m +CONFIG_ACER_WIRELESS=m +CONFIG_ACER_WMI=m +# CONFIG_ACORN_PARTITION is not set +CONFIG_ACPI=y +CONFIG_ACPI_AC=y +CONFIG_ACPI_ADXL=y +CONFIG_ACPI_AGDI=y +CONFIG_ACPI_ALS=m +CONFIG_ACPI_APEI=y +CONFIG_ACPI_APEI_EINJ=m +# CONFIG_ACPI_APEI_ERST_DEBUG is not set +CONFIG_ACPI_APEI_GHES=y +CONFIG_ACPI_APEI_MEMORY_FAILURE=y +CONFIG_ACPI_APEI_PCIEAER=y +CONFIG_ACPI_APEI_SEA=y +CONFIG_ACPI_BATTERY=y +CONFIG_ACPI_BGRT=y +CONFIG_ACPI_BUTTON=y +CONFIG_ACPI_CCA_REQUIRED=y +CONFIG_ACPI_CMPC=m +CONFIG_ACPI_CONFIGFS=m +CONFIG_ACPI_CONTAINER=y +CONFIG_ACPI_CPPC_CPUFREQ=m +CONFIG_ACPI_CPPC_CPUFREQ_FIE=y +CONFIG_ACPI_CPPC_LIB=y +CONFIG_ACPI_CPU_FREQ_PSS=y +CONFIG_ACPI_CUSTOM_DSDT_FILE="" +# CONFIG_ACPI_CUSTOM_METHOD is not set +CONFIG_ACPI_DEBUGGER_USER=y +CONFIG_ACPI_DOCK=y +CONFIG_ACPI_DPTF=y +CONFIG_ACPI_EC_DEBUGFS=m +CONFIG_ACPI_EXTLOG=m +CONFIG_ACPI_FAN=y +CONFIG_ACPI_FPDT=y +CONFIG_ACPI_GENERIC_GSI=y +CONFIG_ACPI_GTDT=y +CONFIG_ACPI_HED=y +CONFIG_ACPI_HMAT=y +CONFIG_ACPI_HOTPLUG_CPU=y +CONFIG_ACPI_HOTPLUG_IOAPIC=y +CONFIG_ACPI_HOTPLUG_MEMORY=y +CONFIG_ACPI_I2C_OPREGION=y +CONFIG_ACPI_IORT=y +CONFIG_ACPI_IPMI=m +CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y +CONFIG_ACPI_LPIT=y +CONFIG_ACPI_MCFG=y +CONFIG_ACPI_MDIO=y +CONFIG_ACPI_NFIT=m +CONFIG_ACPI_NUMA=y +CONFIG_ACPI_PCC=y +CONFIG_ACPI_PCI_SLOT=y +CONFIG_ACPI_PFRUT=m +CONFIG_ACPI_PLATFORM_PROFILE=m +CONFIG_ACPI_PPTT=y +CONFIG_ACPI_PRMT=y +CONFIG_ACPI_PROCESSOR=y +CONFIG_ACPI_PROCESSOR_AGGREGATOR=m +CONFIG_ACPI_PROCESSOR_CSTATE=y +CONFIG_ACPI_PROCESSOR_IDLE=y +CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y +CONFIG_ACPI_SBS=m +CONFIG_ACPI_SLEEP=y +CONFIG_ACPI_SPCR_TABLE=y +CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y +CONFIG_ACPI_TABLE_LIB=y +CONFIG_ACPI_TABLE_UPGRADE=y +CONFIG_ACPI_TAD=m +CONFIG_ACPI_THERMAL=y +CONFIG_ACPI_THERMAL_REL=m +CONFIG_ACPI_TOSHIBA=m +CONFIG_ACPI_VIDEO=m +CONFIG_ACPI_VIOT=y +CONFIG_ACPI_WATCHDOG=y +CONFIG_ACPI_WMI=m +CONFIG_ACQUIRE_WDT=m +CONFIG_ACRN_GUEST=y +CONFIG_ACRN_HSM=m +CONFIG_AD2S1200=m +CONFIG_AD2S1210=m +CONFIG_AD2S90=m +CONFIG_AD3552R=m +CONFIG_AD5064=m +CONFIG_AD5110=m +CONFIG_AD525X_DPOT_I2C=m +CONFIG_AD525X_DPOT_SPI=m +CONFIG_AD5272=m +CONFIG_AD5360=m +CONFIG_AD5380=m +CONFIG_AD5421=m +CONFIG_AD5446=m +CONFIG_AD5449=m +CONFIG_AD5504=m +CONFIG_AD5592R=m +CONFIG_AD5592R_BASE=m +CONFIG_AD5593R=m +CONFIG_AD5624R_SPI=m +CONFIG_AD5686=m +CONFIG_AD5686_SPI=m +CONFIG_AD5696_I2C=m +CONFIG_AD5755=m +CONFIG_AD5758=m +CONFIG_AD5761=m +CONFIG_AD5764=m +CONFIG_AD5766=m +CONFIG_AD5770R=m +CONFIG_AD5791=m +CONFIG_AD5933=m +CONFIG_AD7091R5=m +CONFIG_AD7124=m +CONFIG_AD7150=m +CONFIG_AD7192=m +CONFIG_AD7266=m +CONFIG_AD7280=m +CONFIG_AD7291=m +CONFIG_AD7292=m +CONFIG_AD7293=m +CONFIG_AD7298=m +CONFIG_AD7303=m +CONFIG_AD74413R=m +CONFIG_AD7476=m +CONFIG_AD7606=m +CONFIG_AD7606_IFACE_PARALLEL=m +CONFIG_AD7606_IFACE_SPI=m +CONFIG_AD7746=m +CONFIG_AD7766=m +CONFIG_AD7768_1=m +CONFIG_AD7780=m +CONFIG_AD7791=m +CONFIG_AD7793=m +CONFIG_AD7816=m +CONFIG_AD7887=m +CONFIG_AD7923=m +CONFIG_AD7949=m +CONFIG_AD799X=m +CONFIG_AD8366=m +CONFIG_AD8801=m +CONFIG_AD9467=m +CONFIG_AD9523=m +CONFIG_AD9832=m +CONFIG_AD9834=m +CONFIG_ADA4250=m +CONFIG_ADAPTEC_STARFIRE=m +CONFIG_ADE7854=m +CONFIG_ADE7854_I2C=m +CONFIG_ADE7854_SPI=m +CONFIG_ADF4350=m +CONFIG_ADF4371=m +# CONFIG_ADFS_FS_RW is not set +CONFIG_ADIN_PHY=m +CONFIG_ADIS16080=m +CONFIG_ADIS16130=m +CONFIG_ADIS16136=m +CONFIG_ADIS16201=m +CONFIG_ADIS16203=m +CONFIG_ADIS16209=m +CONFIG_ADIS16240=m +CONFIG_ADIS16260=m +CONFIG_ADIS16400=m +CONFIG_ADIS16460=m +CONFIG_ADIS16475=m +CONFIG_ADIS16480=m +CONFIG_ADI_AXI_ADC=m +CONFIG_ADJD_S311=m +CONFIG_ADM8211=m +CONFIG_ADMV1013=m +CONFIG_ADMV1014=m +CONFIG_ADMV4420=m +CONFIG_ADMV8818=m +CONFIG_ADRF6780=m +CONFIG_ADT7316=m +CONFIG_ADT7316_I2C=m +CONFIG_ADT7316_SPI=m +CONFIG_ADUX1020=m +CONFIG_ADVANTECH_WDT=m +CONFIG_ADVISE_SYSCALLS=y +CONFIG_ADV_SWBUTTON=m +CONFIG_ADXL313=m +CONFIG_ADXL313_I2C=m +CONFIG_ADXL313_SPI=m +CONFIG_ADXL355=m +CONFIG_ADXL355_I2C=m +CONFIG_ADXL355_SPI=m +CONFIG_ADXL367=m +CONFIG_ADXL367_I2C=m +CONFIG_ADXL367_SPI=m +CONFIG_ADXL372=m +CONFIG_ADXL372_I2C=m +CONFIG_ADXL372_SPI=m +CONFIG_ADXRS290=m +CONFIG_ADXRS450=m +CONFIG_AD_SIGMA_DELTA=m +CONFIG_AEABI=y +CONFIG_AFE4403=m +CONFIG_AFE4404=m +CONFIG_AFIUCV=m +# CONFIG_AFS_DEBUG is not set +# CONFIG_AFS_DEBUG_CURSOR is not set +CONFIG_AFS_FS=m +CONFIG_AFS_FSCACHE=y +CONFIG_AF_KCM=m +CONFIG_AF_RXRPC=m +# CONFIG_AF_RXRPC_DEBUG is not set +# CONFIG_AF_RXRPC_INJECT_LOSS is not set +CONFIG_AF_RXRPC_IPV6=y +CONFIG_AF_UNIX_OOB=y +CONFIG_AGP=y +CONFIG_AGP_AMD64=y +CONFIG_AGP_INTEL=y +CONFIG_AGP_SIS=m +CONFIG_AGP_VIA=y +CONFIG_AHCI_BRCM=m +CONFIG_AHCI_CEVA=m +CONFIG_AHCI_DM816=m +CONFIG_AHCI_IMX=y +CONFIG_AHCI_MTK=m +CONFIG_AHCI_MVEBU=m +CONFIG_AHCI_QORIQ=m +# CONFIG_AHCI_SUNXI is not set +CONFIG_AHCI_TEGRA=m +CONFIG_AHCI_XGENE=m +CONFIG_AIC79XX_CMDS_PER_DEVICE=32 +# CONFIG_AIC79XX_DEBUG_ENABLE is not set +CONFIG_AIC79XX_DEBUG_MASK=0 +CONFIG_AIC79XX_REG_PRETTY_PRINT=y +CONFIG_AIC79XX_RESET_DELAY_MS=5000 +CONFIG_AIC7XXX_CMDS_PER_DEVICE=8 +# CONFIG_AIC7XXX_DEBUG_ENABLE is not set +CONFIG_AIC7XXX_DEBUG_MASK=0 +CONFIG_AIC7XXX_REG_PRETTY_PRINT=y +CONFIG_AIC7XXX_RESET_DELAY_MS=5000 +# CONFIG_AIC94XX_DEBUG is not set +CONFIG_AIO=y +CONFIG_AIRO=m +CONFIG_AIRO_CS=m +CONFIG_AK09911=m +CONFIG_AK8974=m +CONFIG_AK8975=m +CONFIG_AL3010=m +CONFIG_AL3320A=m +CONFIG_ALIBABA_ENI_VDPA=m +CONFIG_ALIENWARE_WMI=m +CONFIG_ALIGNMENT_TRAP=y +CONFIG_ALIM1535_WDT=m +CONFIG_ALLOW_DEV_COREDUMP=y +CONFIG_ALPINE_MSI=y +CONFIG_ALTERA_FREEZE_BRIDGE=m +CONFIG_ALTERA_MBOX=m +CONFIG_ALTERA_MSGDMA=m +CONFIG_ALTERA_PR_IP_CORE=m +CONFIG_ALTERA_PR_IP_CORE_PLAT=m +CONFIG_ALTERNATE_USER_ADDRESS_SPACE=y +CONFIG_ALTIVEC=y +CONFIG_ALX=m +CONFIG_AL_FIC=y +CONFIG_AM2315=m +CONFIG_AM335X_CONTROL_USB=m +CONFIG_AM335X_PHY_USB=m +CONFIG_AMBA_PL08X=y +CONFIG_AMD8111_ETH=m +CONFIG_AMDTEE=m +CONFIG_AMD_HSMP=m +CONFIG_AMD_IOMMU=y +CONFIG_AMD_IOMMU_V2=m +CONFIG_AMD_MEM_ENCRYPT=y +# CONFIG_AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT is not set +CONFIG_AMD_NB=y +CONFIG_AMD_NUMA=y +CONFIG_AMD_PHY=m +CONFIG_AMD_PMC=m +CONFIG_AMD_PTDMA=m +CONFIG_AMD_SFH_HID=m +CONFIG_AMD_XGBE=m +CONFIG_AMD_XGBE_DCB=y +CONFIG_AMD_XGBE_HAVE_ECC=y +CONFIG_AMILO_RFKILL=m +CONFIG_AMLOGIC_THERMAL=m +CONFIG_AMT=m +CONFIG_ANDROID_BINDERFS=m +CONFIG_ANDROID_BINDER_DEVICES="" +CONFIG_ANDROID_BINDER_IPC=m +# CONFIG_ANDROID_BINDER_IPC_SELFTEST is not set +CONFIG_ANON_VMA_NAME=y +CONFIG_APDS9300=m +CONFIG_APDS9960=m +# CONFIG_APM_EMULATION is not set +CONFIG_APPLDATA_BASE=y +CONFIG_APPLDATA_MEM=m +CONFIG_APPLDATA_NET_SUM=m +CONFIG_APPLDATA_OS=m +CONFIG_APPLE_AIC=y +CONFIG_APPLE_DART=m +CONFIG_APPLE_GMUX=m +CONFIG_APPLE_M1_CPU_PMU=y +CONFIG_APPLE_MAILBOX=m +CONFIG_APPLE_MFI_FASTCHARGE=m +CONFIG_APPLE_PMGR_PWRSTATE=y +CONFIG_APPLE_PROPERTIES=y +CONFIG_APPLE_RTKIT=m +CONFIG_APPLE_SART=m +CONFIG_APPLE_WATCHDOG=m +CONFIG_APQ_GCC_8084=m +CONFIG_APQ_MMCC_8084=m +CONFIG_AQUANTIA_PHY=m +CONFIG_AR5523=m +CONFIG_ARCH_32BIT_OFF_T=y +CONFIG_ARCH_32BIT_USTAT_F_TINODE=y +CONFIG_ARCH_ACTIONS=y +CONFIG_ARCH_AIROHA=y +CONFIG_ARCH_APPLE=y +CONFIG_ARCH_ARTPEC=y +CONFIG_ARCH_ASPEED=y +# CONFIG_ARCH_AT91 is not set +CONFIG_ARCH_AXXIA=y +# CONFIG_ARCH_BCM is not set +CONFIG_ARCH_BCM2835=y +CONFIG_ARCH_BCM4908=y +CONFIG_ARCH_BCM_IPROC=y +CONFIG_ARCH_BERLIN=y +CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS=y +CONFIG_ARCH_BINFMT_ELF_STATE=y +CONFIG_ARCH_BITMAIN=y +CONFIG_ARCH_BRCMSTB=y +CONFIG_ARCH_CLOCKSOURCE_INIT=y +CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y +CONFIG_ARCH_CPUIDLE_HALTPOLL=y +CONFIG_ARCH_CPU_PROBE_RELEASE=y +# CONFIG_ARCH_DIGICOLOR is not set +CONFIG_ARCH_DISABLE_KASAN_INLINE=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +# CONFIG_ARCH_DOVE is not set +CONFIG_ARCH_EMEV2=y +CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y +CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y +CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y +CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y +CONFIG_ARCH_ENABLE_THP_MIGRATION=y +# CONFIG_ARCH_EXYNOS3 is not set +# CONFIG_ARCH_EXYNOS4 is not set +# CONFIG_ARCH_EXYNOS5 is not set +CONFIG_ARCH_FLATMEM_ENABLE=y +# CONFIG_ARCH_FOOTBRIDGE is not set +CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y +CONFIG_ARCH_HAS_ADD_PAGES=y +CONFIG_ARCH_HAS_BANDGAP=y +CONFIG_ARCH_HAS_BINFMT_FLAT=y +CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y +CONFIG_ARCH_HAS_CC_PLATFORM=y +CONFIG_ARCH_HAS_COPY_MC=y +CONFIG_ARCH_HAS_CPU_RELAX=y +CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y +CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y +CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y +CONFIG_ARCH_HAS_DEBUG_WX=y +CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y +CONFIG_ARCH_HAS_DMA_MAP_DIRECT=y +CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y +CONFIG_ARCH_HAS_EARLY_DEBUG=y +CONFIG_ARCH_HAS_ELFCORE_COMPAT=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_ARCH_HAS_FAST_MULTIPLIER=y +CONFIG_ARCH_HAS_FORCE_DMA_UNENCRYPTED=y +CONFIG_ARCH_HAS_FORTIFY_SOURCE=y +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +CONFIG_ARCH_HAS_GIGANTIC_PAGE=y +CONFIG_ARCH_HAS_HUGEPD=y +CONFIG_ARCH_HAS_KCOV=y +CONFIG_ARCH_HAS_KEEPINITRD=y +CONFIG_ARCH_HAS_KEXEC_PURGATORY=y +CONFIG_ARCH_HAS_MEMBARRIER_CALLBACKS=y +CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y +CONFIG_ARCH_HAS_MEMREMAP_COMPAT_ALIGN=y +CONFIG_ARCH_HAS_MEM_ENCRYPT=y +CONFIG_ARCH_HAS_MMIOWB=y +CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y +CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y +CONFIG_ARCH_HAS_PHYS_TO_DMA=y +CONFIG_ARCH_HAS_PKEYS=y +CONFIG_ARCH_HAS_PMEM_API=y +CONFIG_ARCH_HAS_PTE_DEVMAP=y +CONFIG_ARCH_HAS_PTE_SPECIAL=y +CONFIG_ARCH_HAS_RELR=y +CONFIG_ARCH_HAS_RESET_CONTROLLER=y +CONFIG_ARCH_HAS_SCALED_CPUTIME=y +CONFIG_ARCH_HAS_SETUP_DMA_OPS=y +CONFIG_ARCH_HAS_SET_DIRECT_MAP=y +CONFIG_ARCH_HAS_SET_MEMORY=y +CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y +CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y +CONFIG_ARCH_HAS_SUBPAGE_FAULTS=y +CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y +CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y +CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y +CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y +CONFIG_ARCH_HAS_VDSO_DATA=y +CONFIG_ARCH_HAS_VM_GET_PAGE_PROT=y +CONFIG_ARCH_HAS_ZONE_DMA_SET=y +CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y +CONFIG_ARCH_HAVE_ELF_PROT=y +CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y +CONFIG_ARCH_HI3xxx=y +CONFIG_ARCH_HIBERNATION_HEADER=y +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +CONFIG_ARCH_HIGHBANK=y +# CONFIG_ARCH_HIP01 is not set +CONFIG_ARCH_HIP04=y +CONFIG_ARCH_HISI=y +CONFIG_ARCH_HIX5HD2=y +CONFIG_ARCH_HPE=y +CONFIG_ARCH_HPE_GXP=y +CONFIG_ARCH_INLINE_READ_LOCK=y +CONFIG_ARCH_INLINE_READ_LOCK_BH=y +CONFIG_ARCH_INLINE_READ_LOCK_IRQ=y +CONFIG_ARCH_INLINE_READ_LOCK_IRQSAVE=y +CONFIG_ARCH_INLINE_READ_TRYLOCK=y +CONFIG_ARCH_INLINE_READ_UNLOCK=y +CONFIG_ARCH_INLINE_READ_UNLOCK_BH=y +CONFIG_ARCH_INLINE_READ_UNLOCK_IRQ=y +CONFIG_ARCH_INLINE_READ_UNLOCK_IRQRESTORE=y +CONFIG_ARCH_INLINE_SPIN_LOCK=y +CONFIG_ARCH_INLINE_SPIN_LOCK_BH=y +CONFIG_ARCH_INLINE_SPIN_LOCK_IRQ=y +CONFIG_ARCH_INLINE_SPIN_LOCK_IRQSAVE=y +CONFIG_ARCH_INLINE_SPIN_TRYLOCK=y +CONFIG_ARCH_INLINE_SPIN_TRYLOCK_BH=y +CONFIG_ARCH_INLINE_SPIN_UNLOCK=y +CONFIG_ARCH_INLINE_SPIN_UNLOCK_BH=y +CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE=y +CONFIG_ARCH_INLINE_WRITE_LOCK=y +CONFIG_ARCH_INLINE_WRITE_LOCK_BH=y +CONFIG_ARCH_INLINE_WRITE_LOCK_IRQ=y +CONFIG_ARCH_INLINE_WRITE_LOCK_IRQSAVE=y +CONFIG_ARCH_INLINE_WRITE_TRYLOCK=y +CONFIG_ARCH_INLINE_WRITE_UNLOCK=y +CONFIG_ARCH_INLINE_WRITE_UNLOCK_BH=y +CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE=y +CONFIG_ARCH_INTEL_SOCFPGA=y +# CONFIG_ARCH_IPQ40XX is not set +CONFIG_ARCH_K3=y +CONFIG_ARCH_KEEMBAY=y +CONFIG_ARCH_KEEP_MEMBLOCK=y +# CONFIG_ARCH_KEYSTONE is not set +CONFIG_ARCH_LAYERSCAPE=y +CONFIG_ARCH_LG1K=y +CONFIG_ARCH_MAY_HAVE_PC_FDC=y +CONFIG_ARCH_MDM9615=y +CONFIG_ARCH_MEDIATEK=y +CONFIG_ARCH_MEMORY_PROBE=y +CONFIG_ARCH_MESON=y +CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y +CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y +CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y +CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y +CONFIG_ARCH_MILBEAUT=y +CONFIG_ARCH_MILBEAUT_M10V=y +# CONFIG_ARCH_MMP is not set +CONFIG_ARCH_MSM8916=y +CONFIG_ARCH_MSM8960=y +CONFIG_ARCH_MSM8974=y +CONFIG_ARCH_MSM8X60=y +CONFIG_ARCH_MSTARV7=y +CONFIG_ARCH_MULTIPLATFORM=y +# CONFIG_ARCH_MULTI_V6 is not set +CONFIG_ARCH_MULTI_V6_V7=y +CONFIG_ARCH_MULTI_V7=y +CONFIG_ARCH_MVEBU=y +CONFIG_ARCH_MXC=y +CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED=y +CONFIG_ARCH_NPCM=y +CONFIG_ARCH_NPCM7XX=y +CONFIG_ARCH_OMAP=y +CONFIG_ARCH_OMAP2PLUS=y +CONFIG_ARCH_OMAP2PLUS_TYPICAL=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y +CONFIG_ARCH_PROC_KCORE_TEXT=y +CONFIG_ARCH_QCOM=y +CONFIG_ARCH_R7S72100=y +CONFIG_ARCH_R7S9210=y +# CONFIG_ARCH_R8A73A4 is not set +CONFIG_ARCH_R8A7740=y +CONFIG_ARCH_R8A7742=y +CONFIG_ARCH_R8A7743=y +CONFIG_ARCH_R8A7744=y +CONFIG_ARCH_R8A7745=y +CONFIG_ARCH_R8A77470=y +CONFIG_ARCH_R8A774A1=y +CONFIG_ARCH_R8A774B1=y +CONFIG_ARCH_R8A774C0=y +CONFIG_ARCH_R8A774E1=y +CONFIG_ARCH_R8A7778=y +CONFIG_ARCH_R8A7779=y +CONFIG_ARCH_R8A7790=y +CONFIG_ARCH_R8A7791=y +CONFIG_ARCH_R8A7792=y +CONFIG_ARCH_R8A7793=y +CONFIG_ARCH_R8A7794=y +CONFIG_ARCH_R8A77950=y +CONFIG_ARCH_R8A77951=y +CONFIG_ARCH_R8A77960=y +CONFIG_ARCH_R8A77961=y +CONFIG_ARCH_R8A77965=y +CONFIG_ARCH_R8A77970=y +CONFIG_ARCH_R8A77980=y +CONFIG_ARCH_R8A77990=y +CONFIG_ARCH_R8A77995=y +CONFIG_ARCH_R8A779A0=y +CONFIG_ARCH_R8A779F0=y +CONFIG_ARCH_R8A779G0=y +CONFIG_ARCH_R9A06G032=y +CONFIG_ARCH_R9A07G043=y +CONFIG_ARCH_R9A07G044=y +CONFIG_ARCH_R9A07G054=y +CONFIG_ARCH_R9A09G011=y +CONFIG_ARCH_RANDOM=y +CONFIG_ARCH_RCAR_GEN1=y +CONFIG_ARCH_RCAR_GEN2=y +CONFIG_ARCH_RCAR_GEN3=y +CONFIG_ARCH_RDA=y +CONFIG_ARCH_REALTEK=y +# CONFIG_ARCH_REALVIEW is not set +CONFIG_ARCH_RENESAS=y +CONFIG_ARCH_RMOBILE=y +CONFIG_ARCH_ROCKCHIP=y +# CONFIG_ARCH_RV32I is not set +CONFIG_ARCH_RV64I=y +CONFIG_ARCH_RZG2L=y +CONFIG_ARCH_RZN1=y +CONFIG_ARCH_S32=y +# CONFIG_ARCH_S5PV210 is not set +# CONFIG_ARCH_SA1100 is not set +CONFIG_ARCH_SEATTLE=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SH73A0=y +CONFIG_ARCH_SPARSEMEM_DEFAULT=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SPARX5=y +CONFIG_ARCH_SPRD=y +CONFIG_ARCH_STACKWALK=y +# CONFIG_ARCH_STI is not set +# CONFIG_ARCH_STM32 is not set +CONFIG_ARCH_SUPPORTS_ACPI=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_ARCH_SUPPORTS_CFI_CLANG=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_SUPPORTS_HUGETLBFS=y +CONFIG_ARCH_SUPPORTS_INT128=y +CONFIG_ARCH_SUPPORTS_LTO_CLANG=y +CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y +CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y +CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y +CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y +CONFIG_ARCH_SUPPORTS_SHADOW_CALL_STACK=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_ARCH_SUSPEND_NONZERO_CPU=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_ARCH_SYNQUACER=y +CONFIG_ARCH_TEGRA=y +CONFIG_ARCH_TEGRA_114_SOC=y +CONFIG_ARCH_TEGRA_124_SOC=y +CONFIG_ARCH_TEGRA_132_SOC=y +CONFIG_ARCH_TEGRA_186_SOC=y +CONFIG_ARCH_TEGRA_194_SOC=y +CONFIG_ARCH_TEGRA_210_SOC=y +CONFIG_ARCH_TEGRA_234_SOC=y +CONFIG_ARCH_TEGRA_2x_SOC=y +CONFIG_ARCH_TEGRA_3x_SOC=y +CONFIG_ARCH_THUNDER=y +CONFIG_ARCH_THUNDER2=y +# CONFIG_ARCH_U8500 is not set +CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y +CONFIG_ARCH_USES_PG_UNCACHED=y +CONFIG_ARCH_USE_BUILTIN_BSWAP=y +CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_ARCH_USE_GNU_PROPERTY=y +CONFIG_ARCH_USE_MEMREMAP_PROT=y +CONFIG_ARCH_USE_MEMTEST=y +CONFIG_ARCH_USE_QUEUED_RWLOCKS=y +CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y +CONFIG_ARCH_USE_SYM_ANNOTATIONS=y +CONFIG_ARCH_VEXPRESS=y +CONFIG_ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA=y +CONFIG_ARCH_VEXPRESS_DCSCB=y +CONFIG_ARCH_VEXPRESS_SPC=y +CONFIG_ARCH_VEXPRESS_TC2_PM=y +CONFIG_ARCH_VIRT=y +CONFIG_ARCH_VISCONTI=y +CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y +CONFIG_ARCH_WANTS_NO_INSTR=y +CONFIG_ARCH_WANTS_THP_SWAP=y +CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y +CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y +CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y +CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_ARCH_WANT_GENERAL_HUGETLB=y +CONFIG_ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y +CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y +CONFIG_ARCH_WANT_IRQS_OFF_ACTIVATE_MM=y +CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y +CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y +CONFIG_ARCH_WEAK_RELEASE_ACQUIRE=y +# CONFIG_ARCH_WM8850 is not set +CONFIG_ARCH_XGENE=y +# CONFIG_ARCH_ZYNQ is not set +CONFIG_ARCH_ZYNQMP=y +CONFIG_ARCNET_1051=m +CONFIG_ARCNET_1201=m +CONFIG_ARCNET_CAP=m +CONFIG_ARCNET_COM20020=m +CONFIG_ARCNET_COM20020_CS=m +CONFIG_ARCNET_COM20020_PCI=m +CONFIG_ARCNET_COM90xx=m +CONFIG_ARCNET_COM90xxIO=m +CONFIG_ARCNET_RAW=m +CONFIG_ARCNET_RIM_I=m +CONFIG_ARCX_ANYBUS_CONTROLLER=m +CONFIG_ARC_EMAC_CORE=m +CONFIG_ARM=y +CONFIG_ARM64=y +# CONFIG_ARM64_16K_PAGES is not set +CONFIG_ARM64_ACPI_PARKING_PROTOCOL=y +CONFIG_ARM64_AMU_EXTN=y +CONFIG_ARM64_AS_HAS_MTE=y +CONFIG_ARM64_BTI=y +CONFIG_ARM64_CNP=y +CONFIG_ARM64_CRYPTO=y +# CONFIG_ARM64_DEBUG_PRIORITY_MASKING is not set +CONFIG_ARM64_E0PD=y +CONFIG_ARM64_EPAN=y +CONFIG_ARM64_ERRATUM_1024718=y +CONFIG_ARM64_ERRATUM_1165522=y +CONFIG_ARM64_ERRATUM_1286807=y +CONFIG_ARM64_ERRATUM_1319367=y +CONFIG_ARM64_ERRATUM_1418040=y +CONFIG_ARM64_ERRATUM_1463225=y +CONFIG_ARM64_ERRATUM_1508412=y +CONFIG_ARM64_ERRATUM_1530923=y +CONFIG_ARM64_ERRATUM_1542419=y +CONFIG_ARM64_ERRATUM_1742098=y +CONFIG_ARM64_ERRATUM_2051678=y +CONFIG_ARM64_ERRATUM_2054223=y +CONFIG_ARM64_ERRATUM_2067961=y +# CONFIG_ARM64_ERRATUM_2077057 is not set +CONFIG_ARM64_ERRATUM_2441007=y +CONFIG_ARM64_ERRATUM_2441009=y +CONFIG_ARM64_ERRATUM_2457168=y +CONFIG_ARM64_ERRATUM_819472=y +CONFIG_ARM64_ERRATUM_824069=y +CONFIG_ARM64_ERRATUM_826319=y +CONFIG_ARM64_ERRATUM_827319=y +CONFIG_ARM64_ERRATUM_832075=y +CONFIG_ARM64_ERRATUM_834220=y +CONFIG_ARM64_ERRATUM_843419=y +CONFIG_ARM64_ERRATUM_845719=y +CONFIG_ARM64_ERRATUM_858921=y +CONFIG_ARM64_HW_AFDBM=y +CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y +CONFIG_ARM64_LSE_ATOMICS=y +CONFIG_ARM64_MODULE_PLTS=y +CONFIG_ARM64_MTE=y +CONFIG_ARM64_PAN=y +CONFIG_ARM64_PA_BITS=48 +CONFIG_ARM64_PA_BITS_48=y +# CONFIG_ARM64_PA_BITS_52 is not set +CONFIG_ARM64_PMEM=y +CONFIG_ARM64_PSEUDO_NMI=y +CONFIG_ARM64_PTR_AUTH=y +CONFIG_ARM64_PTR_AUTH_KERNEL=y +CONFIG_ARM64_RAS_EXTN=y +# CONFIG_ARM64_RELOC_TEST is not set +CONFIG_ARM64_SME=y +CONFIG_ARM64_SVE=y +CONFIG_ARM64_SW_TTBR0_PAN=y +CONFIG_ARM64_TAGGED_ADDR_ABI=y +CONFIG_ARM64_TLB_RANGE=y +CONFIG_ARM64_USE_LSE_ATOMICS=y +CONFIG_ARM64_VA_BITS=48 +# CONFIG_ARM64_VA_BITS_39 is not set +# CONFIG_ARM64_VA_BITS_42 is not set +CONFIG_ARM64_VA_BITS_48=y +# CONFIG_ARM64_VA_BITS_52 is not set +CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y +CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y +CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y +CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y +CONFIG_ARMADA375_USBCLUSTER_PHY=y +CONFIG_ARMADA_370_CLK=y +CONFIG_ARMADA_370_XP_IRQ=y +CONFIG_ARMADA_370_XP_TIMER=y +CONFIG_ARMADA_375_CLK=y +CONFIG_ARMADA_37XX_CLK=y +CONFIG_ARMADA_37XX_RWTM_MBOX=m +CONFIG_ARMADA_37XX_WATCHDOG=m +CONFIG_ARMADA_38X_CLK=y +CONFIG_ARMADA_39X_CLK=y +CONFIG_ARMADA_AP806_SYSCON=y +CONFIG_ARMADA_AP_CPU_CLK=y +CONFIG_ARMADA_AP_CP_HELPER=y +CONFIG_ARMADA_CP110_SYSCON=y +CONFIG_ARMADA_THERMAL=y +CONFIG_ARMADA_XP_CLK=y +CONFIG_ARMV8_DEPRECATED=y +CONFIG_ARM_ALLWINNER_SUN50I_CPUFREQ_NVMEM=m +CONFIG_ARM_AMBA=y +CONFIG_ARM_APPENDED_DTB=y +CONFIG_ARM_ARCH_TIMER=y +CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y +CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y +CONFIG_ARM_ARMADA_37XX_CPUFREQ=m +CONFIG_ARM_ARMADA_8K_CPUFREQ=m +CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND=y +# CONFIG_ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER is not set +CONFIG_ARM_BIG_LITTLE_CPUIDLE=y +CONFIG_ARM_BRCMSTB_AVS_CPUFREQ=m +CONFIG_ARM_CCI=y +CONFIG_ARM_CCI400_COMMON=y +CONFIG_ARM_CCI400_PMU=y +CONFIG_ARM_CCI400_PORT_CTRL=y +CONFIG_ARM_CCI5xx_PMU=y +CONFIG_ARM_CCI_PMU=y +CONFIG_ARM_CCN=y +CONFIG_ARM_CHARLCD=y +CONFIG_ARM_CMN=m +CONFIG_ARM_CPUIDLE=y +CONFIG_ARM_CPU_SUSPEND=y +CONFIG_ARM_CPU_TOPOLOGY=y +CONFIG_ARM_CRYPTO=y +CONFIG_ARM_DMA_IOMMU_ALIGNMENT=8 +CONFIG_ARM_DMA_MEM_BUFFERABLE=y +CONFIG_ARM_DMA_USE_IOMMU=y +CONFIG_ARM_DMC620_PMU=m +CONFIG_ARM_DSU_PMU=m +CONFIG_ARM_ERRATA_430973=y +CONFIG_ARM_ERRATA_643719=y +CONFIG_ARM_ERRATA_720789=y +CONFIG_ARM_ERRATA_754322=y +CONFIG_ARM_ERRATA_754327=y +CONFIG_ARM_ERRATA_764319=y +CONFIG_ARM_ERRATA_764369=y +CONFIG_ARM_ERRATA_773022=y +CONFIG_ARM_ERRATA_775420=y +CONFIG_ARM_ERRATA_798181=y +CONFIG_ARM_ERRATA_814220=y +CONFIG_ARM_ERRATA_818325_852422=y +CONFIG_ARM_ERRATA_821420=y +CONFIG_ARM_ERRATA_825619=y +CONFIG_ARM_ERRATA_852421=y +CONFIG_ARM_ERRATA_852423=y +CONFIG_ARM_ERRATA_857271=y +CONFIG_ARM_ERRATA_857272=y +# CONFIG_ARM_EXYNOS_BUS_DEVFREQ is not set +# CONFIG_ARM_EXYNOS_CPUIDLE is not set +CONFIG_ARM_FFA_SMCCC=y +CONFIG_ARM_FFA_TRANSPORT=m +CONFIG_ARM_GIC=y +CONFIG_ARM_GIC_MAX_NR=1 +CONFIG_ARM_GIC_PM=y +CONFIG_ARM_GIC_V2M=y +CONFIG_ARM_GIC_V3=y +CONFIG_ARM_GIC_V3_ITS=y +CONFIG_ARM_GIC_V3_ITS_FSL_MC=y +CONFIG_ARM_GIC_V3_ITS_PCI=y +CONFIG_ARM_GLOBAL_TIMER=y +CONFIG_ARM_GT_INITIAL_PRESCALER_VAL=1 +CONFIG_ARM_HAS_GROUP_RELOCS=y +CONFIG_ARM_HAS_SG_CHAIN=y +CONFIG_ARM_HEAVY_MB=y +CONFIG_ARM_HIGHBANK_CPUFREQ=m +CONFIG_ARM_IMX6Q_CPUFREQ=m +CONFIG_ARM_IMX8M_DDRC_DEVFREQ=m +CONFIG_ARM_IMX_BUS_DEVFREQ=m +CONFIG_ARM_IMX_CPUFREQ_DT=m +CONFIG_ARM_KPROBES_TEST=m +CONFIG_ARM_L1_CACHE_SHIFT_6=y +CONFIG_ARM_L1_CACHE_SHIFT_7=y +CONFIG_ARM_MEDIATEK_CPUFREQ=m +CONFIG_ARM_MEDIATEK_CPUFREQ_HW=m +CONFIG_ARM_MHU=m +CONFIG_ARM_MHU_V2=m +CONFIG_ARM_MODULE_PLTS=y +CONFIG_ARM_MVEBU_V7_CPUIDLE=y +CONFIG_ARM_OMAP2PLUS_CPUFREQ=y +CONFIG_ARM_PATCH_IDIV=y +CONFIG_ARM_PATCH_PHYS_VIRT=y +CONFIG_ARM_PL172_MPMC=m +CONFIG_ARM_PMU=y +CONFIG_ARM_PMU_ACPI=y +CONFIG_ARM_PSCI=y +# CONFIG_ARM_PSCI_CHECKER is not set +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y +CONFIG_ARM_PSCI_FW=y +CONFIG_ARM_PTDUMP_CORE=y +# CONFIG_ARM_PTDUMP_DEBUGFS is not set +CONFIG_ARM_QCOM_CPUFREQ_HW=m +CONFIG_ARM_QCOM_CPUFREQ_NVMEM=m +CONFIG_ARM_QCOM_SPM_CPUIDLE=y +CONFIG_ARM_RASPBERRYPI_CPUFREQ=m +CONFIG_ARM_RK3399_DMC_DEVFREQ=m +CONFIG_ARM_SBSA_WATCHDOG=m +CONFIG_ARM_SCMI_CPUFREQ=m +CONFIG_ARM_SCMI_HAVE_MSG=y +CONFIG_ARM_SCMI_HAVE_SHMEM=y +CONFIG_ARM_SCMI_HAVE_TRANSPORT=y +CONFIG_ARM_SCMI_POWER_DOMAIN=m +CONFIG_ARM_SCMI_PROTOCOL=y +CONFIG_ARM_SCMI_TRANSPORT_MAILBOX=y +CONFIG_ARM_SCMI_TRANSPORT_SMC=y +CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE=y +CONFIG_ARM_SCMI_TRANSPORT_VIRTIO=y +CONFIG_ARM_SCMI_TRANSPORT_VIRTIO_ATOMIC_ENABLE=y +CONFIG_ARM_SCMI_TRANSPORT_VIRTIO_VERSION1_COMPLIANCE=y +CONFIG_ARM_SCPI_CPUFREQ=m +CONFIG_ARM_SCPI_POWER_DOMAIN=m +CONFIG_ARM_SCPI_PROTOCOL=m +CONFIG_ARM_SDE_INTERFACE=y +CONFIG_ARM_SMCCC_SOC_ID=y +CONFIG_ARM_SMC_WATCHDOG=m +# CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT is not set +# CONFIG_ARM_SMMU_LEGACY_DT_BINDINGS is not set +CONFIG_ARM_SMMU_QCOM=y +CONFIG_ARM_SMMU_V3=y +CONFIG_ARM_SMMU_V3_PMU=m +CONFIG_ARM_SMMU_V3_SVA=y +CONFIG_ARM_SP805_WATCHDOG=m +CONFIG_ARM_SPE_PMU=m +CONFIG_ARM_SUN8I_A33_MBUS_DEVFREQ=m +CONFIG_ARM_TEGRA124_CPUFREQ=y +CONFIG_ARM_TEGRA186_CPUFREQ=m +CONFIG_ARM_TEGRA194_CPUFREQ=m +CONFIG_ARM_TEGRA20_CPUFREQ=y +# CONFIG_ARM_TEGRA_CPUIDLE is not set +CONFIG_ARM_TEGRA_DEVFREQ=m +CONFIG_ARM_THUMB=y +CONFIG_ARM_THUMBEE=y +CONFIG_ARM_TIMER_SP804=y +CONFIG_ARM_TI_CPUFREQ=y +CONFIG_ARM_VEXPRESS_SPC_CPUFREQ=m +CONFIG_ARM_VIC=y +CONFIG_ARM_VIC_NR=2 +CONFIG_ARM_VIRT_EXT=y +CONFIG_AS3935=m +CONFIG_AS73211=m +CONFIG_ASM_MODVERSIONS=y +CONFIG_ASN1=y +CONFIG_ASN1_ENCODER=y +CONFIG_ASPEED_ADC=m +CONFIG_ASPEED_BT_IPMI_BMC=m +CONFIG_ASPEED_KCS_IPMI_BMC=m +CONFIG_ASPEED_LPC_CTRL=m +CONFIG_ASPEED_LPC_SNOOP=m +CONFIG_ASPEED_P2A_CTRL=m +CONFIG_ASPEED_SOCINFO=y +CONFIG_ASPEED_UART_ROUTING=m +CONFIG_ASPEED_WATCHDOG=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_ASUS_LAPTOP=m +CONFIG_ASUS_NB_WMI=m +CONFIG_ASUS_TF103C_DOCK=m +CONFIG_ASUS_WIRELESS=m +CONFIG_ASUS_WMI=m +CONFIG_ASYMMETRIC_KEY_TYPE=y +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y +CONFIG_ASYNC_CORE=m +CONFIG_ASYNC_MEMCPY=m +CONFIG_ASYNC_PQ=m +CONFIG_ASYNC_RAID6_RECOV=m +# CONFIG_ASYNC_RAID6_TEST is not set +CONFIG_ASYNC_TX_DISABLE_PQ_VAL_DMA=y +CONFIG_ASYNC_TX_DISABLE_XOR_VAL_DMA=y +CONFIG_ASYNC_TX_DMA=y +CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y +CONFIG_ASYNC_XOR=m +CONFIG_AS_AVX512=y +CONFIG_AS_HAS_ARMV8_2=y +CONFIG_AS_HAS_ARMV8_4=y +CONFIG_AS_HAS_ARMV8_5=y +CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y +CONFIG_AS_HAS_LDAPR=y +CONFIG_AS_HAS_LSE_ATOMICS=y +CONFIG_AS_HAS_NON_CONST_LEB128=y +CONFIG_AS_HAS_PAC=y +CONFIG_AS_HAS_SHA3=y +CONFIG_AS_IS_GNU=y +CONFIG_AS_SHA1_NI=y +CONFIG_AS_SHA256_NI=y +CONFIG_AS_TPAUSE=y +CONFIG_AS_VERSION=23900 +CONFIG_AS_VFP_VMRS_FPINST=y +CONFIG_AT76C50X_USB=m +CONFIG_AT803X_PHY=m +CONFIG_ATAGS=y +CONFIG_ATAGS_PROC=y +CONFIG_ATA_ACPI=y +CONFIG_ATA_BMDMA=y +CONFIG_ATA_FORCE=y +CONFIG_ATA_SFF=y +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_ATH10K=m +CONFIG_ATH10K_AHB=y +CONFIG_ATH10K_CE=y +# CONFIG_ATH10K_DEBUG is not set +CONFIG_ATH10K_DEBUGFS=y +CONFIG_ATH10K_PCI=m +CONFIG_ATH10K_SDIO=m +CONFIG_ATH10K_SNOC=m +CONFIG_ATH10K_SPECTRAL=y +CONFIG_ATH10K_TRACING=y +CONFIG_ATH10K_USB=m +CONFIG_ATH11K=m +CONFIG_ATH11K_AHB=m +# CONFIG_ATH11K_DEBUG is not set +CONFIG_ATH11K_DEBUGFS=y +CONFIG_ATH11K_PCI=m +CONFIG_ATH11K_SPECTRAL=y +CONFIG_ATH11K_TRACING=y +CONFIG_ATH5K=m +# CONFIG_ATH5K_DEBUG is not set +CONFIG_ATH5K_PCI=y +# CONFIG_ATH5K_TRACER is not set +CONFIG_ATH6KL=m +# CONFIG_ATH6KL_DEBUG is not set +CONFIG_ATH6KL_SDIO=m +# CONFIG_ATH6KL_TRACING is not set +CONFIG_ATH6KL_USB=m +CONFIG_ATH9K=m +CONFIG_ATH9K_AHB=y +CONFIG_ATH9K_BTCOEX_SUPPORT=y +CONFIG_ATH9K_CHANNEL_CONTEXT=y +CONFIG_ATH9K_COMMON=m +CONFIG_ATH9K_COMMON_DEBUG=y +CONFIG_ATH9K_COMMON_SPECTRAL=y +CONFIG_ATH9K_DEBUGFS=y +# CONFIG_ATH9K_DYNACK is not set +CONFIG_ATH9K_HTC=m +CONFIG_ATH9K_HTC_DEBUGFS=y +CONFIG_ATH9K_HW=m +CONFIG_ATH9K_HWRNG=y +CONFIG_ATH9K_PCI=y +CONFIG_ATH9K_PCI_NO_EEPROM=m +CONFIG_ATH9K_PCOEM=y +CONFIG_ATH9K_RFKILL=y +CONFIG_ATH9K_STATION_STATISTICS=y +CONFIG_ATH9K_WOW=y +CONFIG_ATH_COMMON=m +# CONFIG_ATH_DEBUG is not set +CONFIG_ATL1=m +CONFIG_ATL1C=m +CONFIG_ATL1E=m +CONFIG_ATL2=m +CONFIG_ATLAS_EZO_SENSOR=m +CONFIG_ATLAS_PH_SENSOR=m +CONFIG_ATMEL=m +CONFIG_ATM_BR2684=m +# CONFIG_ATM_BR2684_IPFILTER is not set +CONFIG_ATM_CLIP=m +# CONFIG_ATM_CLIP_NO_ICMP is not set +CONFIG_ATM_DRIVERS=y +CONFIG_ATM_DUMMY=m +CONFIG_ATM_ENI=m +# CONFIG_ATM_ENI_DEBUG is not set +# CONFIG_ATM_ENI_TUNE_BURST is not set +CONFIG_ATM_FORE200E=m +CONFIG_ATM_FORE200E_DEBUG=0 +CONFIG_ATM_FORE200E_TX_RETRY=16 +# CONFIG_ATM_FORE200E_USE_TASKLET is not set +CONFIG_ATM_HE=m +CONFIG_ATM_HE_USE_SUNI=y +CONFIG_ATM_IA=m +# CONFIG_ATM_IA_DEBUG is not set +CONFIG_ATM_IDT77252=m +# CONFIG_ATM_IDT77252_DEBUG is not set +# CONFIG_ATM_IDT77252_RCV_ALL is not set +CONFIG_ATM_IDT77252_USE_SUNI=y +CONFIG_ATM_LANAI=m +CONFIG_ATM_LANE=m +CONFIG_ATM_MPOA=m +CONFIG_ATM_NICSTAR=m +# CONFIG_ATM_NICSTAR_USE_IDT77105 is not set +# CONFIG_ATM_NICSTAR_USE_SUNI is not set +CONFIG_ATM_SOLOS=m +CONFIG_ATM_TCP=m +# CONFIG_ATOMIC64_SELFTEST is not set +CONFIG_ATP=m +CONFIG_AUDIT=y +CONFIG_AUDITSYSCALL=y +CONFIG_AUDIT_ARCH=y +CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y +CONFIG_AUDIT_COMPAT_GENERIC=y +CONFIG_AUDIT_GENERIC=y +CONFIG_AUTO_ZRELADDR=y +CONFIG_AUXILIARY_BUS=y +CONFIG_AX25=m +CONFIG_AX25_DAMA_SLAVE=y +CONFIG_AX88796=m +# CONFIG_AX88796_93CX6 is not set +CONFIG_AXI_DMAC=m +CONFIG_AXP20X_ADC=m +CONFIG_AXP20X_POWER=m +CONFIG_AXP288_ADC=m +CONFIG_AXP288_CHARGER=m +CONFIG_AXP288_FUEL_GAUGE=m +CONFIG_B43=m +CONFIG_B43LEGACY=m +# CONFIG_B43LEGACY_DEBUG is not set +CONFIG_B43LEGACY_DMA=y +CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y +# CONFIG_B43LEGACY_DMA_MODE is not set +CONFIG_B43LEGACY_HWRNG=y +CONFIG_B43LEGACY_LEDS=y +CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y +CONFIG_B43LEGACY_PCI_AUTOSELECT=y +CONFIG_B43LEGACY_PIO=y +# CONFIG_B43LEGACY_PIO_MODE is not set +CONFIG_B43_BCMA=y +CONFIG_B43_BCMA_PIO=y +# CONFIG_B43_BUSES_BCMA is not set +CONFIG_B43_BUSES_BCMA_AND_SSB=y +# CONFIG_B43_BUSES_SSB is not set +# CONFIG_B43_DEBUG is not set +CONFIG_B43_HWRNG=y +CONFIG_B43_LEDS=y +CONFIG_B43_PCICORE_AUTOSELECT=y +CONFIG_B43_PCI_AUTOSELECT=y +CONFIG_B43_PHY_G=y +CONFIG_B43_PHY_HT=y +CONFIG_B43_PHY_LP=y +CONFIG_B43_PHY_N=y +CONFIG_B43_PIO=y +# CONFIG_B43_SDIO is not set +CONFIG_B43_SSB=y +CONFIG_B44=m +CONFIG_B44_PCI=y +CONFIG_B44_PCICORE_AUTOSELECT=y +CONFIG_B44_PCI_AUTOSELECT=y +CONFIG_B53=m +CONFIG_B53_MDIO_DRIVER=m +CONFIG_B53_MMAP_DRIVER=m +CONFIG_B53_SERDES=m +CONFIG_B53_SPI_DRIVER=m +CONFIG_B53_SRAB_DRIVER=m +CONFIG_BACKLIGHT_88PM860X=m +CONFIG_BACKLIGHT_AAT2870=m +CONFIG_BACKLIGHT_ADP5520=m +CONFIG_BACKLIGHT_ADP8860=m +CONFIG_BACKLIGHT_ADP8870=m +CONFIG_BACKLIGHT_APPLE=m +CONFIG_BACKLIGHT_ARCXCNN=m +CONFIG_BACKLIGHT_AS3711=m +CONFIG_BACKLIGHT_BD6107=m +CONFIG_BACKLIGHT_CARILLO_RANCH=m +CONFIG_BACKLIGHT_DA903X=m +CONFIG_BACKLIGHT_DA9052=m +CONFIG_BACKLIGHT_GPIO=m +CONFIG_BACKLIGHT_KTD253=m +CONFIG_BACKLIGHT_LED=m +CONFIG_BACKLIGHT_LM3533=m +CONFIG_BACKLIGHT_LM3630A=m +CONFIG_BACKLIGHT_LM3639=m +CONFIG_BACKLIGHT_LP855X=m +CONFIG_BACKLIGHT_LP8788=m +CONFIG_BACKLIGHT_LV5207LP=m +CONFIG_BACKLIGHT_MAX8925=m +CONFIG_BACKLIGHT_PANDORA=m +CONFIG_BACKLIGHT_PCF50633=m +CONFIG_BACKLIGHT_PWM=m +CONFIG_BACKLIGHT_QCOM_WLED=m +CONFIG_BACKLIGHT_RAVE_SP=m +CONFIG_BACKLIGHT_RT4831=m +CONFIG_BACKLIGHT_SAHARA=m +CONFIG_BACKLIGHT_SKY81452=m +CONFIG_BACKLIGHT_TPS65217=m +CONFIG_BACKLIGHT_WM831X=m +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_BACKTRACE_VERBOSE is not set +CONFIG_BALLOON_COMPACTION=y +CONFIG_BARCO_P50_GPIO=m +CONFIG_BASE_FULL=y +CONFIG_BASE_SMALL=0 +# CONFIG_BATMAN_ADV_BATMAN_V is not set +CONFIG_BATMAN_ADV_BLA=y +CONFIG_BATMAN_ADV_DAT=y +# CONFIG_BATMAN_ADV_DEBUG is not set +CONFIG_BATMAN_ADV_MCAST=y +CONFIG_BATMAN_ADV_NC=y +# CONFIG_BATMAN_ADV_TRACING is not set +CONFIG_BATTERY_88PM860X=m +CONFIG_BATTERY_ACER_A500=m +CONFIG_BATTERY_ACT8945A=m +CONFIG_BATTERY_AXP20X=m +CONFIG_BATTERY_BQ27XXX=m +# CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM is not set +CONFIG_BATTERY_BQ27XXX_HDQ=m +CONFIG_BATTERY_BQ27XXX_I2C=m +CONFIG_BATTERY_CPCAP=m +CONFIG_BATTERY_CW2015=m +CONFIG_BATTERY_DA9030=m +CONFIG_BATTERY_DA9052=m +CONFIG_BATTERY_DA9150=m +CONFIG_BATTERY_DS2760=m +CONFIG_BATTERY_DS2780=m +CONFIG_BATTERY_DS2781=m +CONFIG_BATTERY_DS2782=m +CONFIG_BATTERY_GAUGE_LTC2941=m +CONFIG_BATTERY_GOLDFISH=m +CONFIG_BATTERY_MAX17040=m +CONFIG_BATTERY_MAX17042=m +CONFIG_BATTERY_MAX1721X=m +CONFIG_BATTERY_RT5033=m +CONFIG_BATTERY_RX51=m +CONFIG_BATTERY_SAMSUNG_SDI=y +CONFIG_BATTERY_SBS=m +CONFIG_BATTERY_SURFACE=m +CONFIG_BATTERY_TWL4030_MADC=m +CONFIG_BATTERY_UG3105=m +CONFIG_BAYCOM_EPP=m +CONFIG_BAYCOM_PAR=m +CONFIG_BAYCOM_SER_FDX=m +CONFIG_BAYCOM_SER_HDX=m +CONFIG_BCACHE=m +CONFIG_BCACHE_ASYNC_REGISTRATION=y +# CONFIG_BCACHE_CLOSURES_DEBUG is not set +# CONFIG_BCACHE_DEBUG is not set +CONFIG_BCM2711_THERMAL=m +CONFIG_BCM2835_MBOX=y +CONFIG_BCM2835_POWER=y +CONFIG_BCM2835_THERMAL=m +CONFIG_BCM2835_VCHIQ=m +CONFIG_BCM2835_VCHIQ_MMAL=m +CONFIG_BCM2835_WDT=m +CONFIG_BCM4908_ENET=m +CONFIG_BCM54140_PHY=m +CONFIG_BCM7038_L1_IRQ=y +CONFIG_BCM7038_WDT=m +CONFIG_BCM7120_L2_IRQ=m +CONFIG_BCM7XXX_PHY=m +CONFIG_BCM87XX_PHY=m +CONFIG_BCMA_BLOCKIO=y +# CONFIG_BCMA_DEBUG is not set +CONFIG_BCMA_DRIVER_GMAC_CMN=y +CONFIG_BCMA_DRIVER_GPIO=y +CONFIG_BCMA_DRIVER_PCI=y +CONFIG_BCMA_HOST_PCI=y +CONFIG_BCMA_HOST_PCI_POSSIBLE=y +CONFIG_BCMA_HOST_SOC=y +CONFIG_BCMA_POSSIBLE=y +CONFIG_BCMA_SFLASH=y +CONFIG_BCMGENET=m +CONFIG_BCM_FLEXRM_MBOX=m +CONFIG_BCM_IPROC_ADC=m +CONFIG_BCM_NET_PHYLIB=m +CONFIG_BCM_NS_THERMAL=m +CONFIG_BCM_PDC_MBOX=m +CONFIG_BCM_PMB=y +CONFIG_BCM_SBA_RAID=m +CONFIG_BCM_SR_THERMAL=m +CONFIG_BCM_VIDEOCORE=m +CONFIG_BCM_VK_TTY=y +CONFIG_BD957XMUF_WATCHDOG=m +CONFIG_BE2NET=m +CONFIG_BE2NET_BE2=y +CONFIG_BE2NET_BE3=y +CONFIG_BE2NET_HWMON=y +CONFIG_BE2NET_LANCER=y +CONFIG_BE2NET_SKYHAWK=y +# CONFIG_BEFS_DEBUG is not set +CONFIG_BERLIN2_ADC=m +# CONFIG_BFQ_CGROUP_DEBUG is not set +CONFIG_BFQ_GROUP_IOSCHED=y +CONFIG_BGMAC=y +CONFIG_BGMAC_PLATFORM=y +CONFIG_BH1750=m +CONFIG_BH1780=m +CONFIG_BIG_LITTLE=y +CONFIG_BINARY_PRINTF=y +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_ELF_FDPIC=y +CONFIG_BINFMT_FLAT=y +CONFIG_BINFMT_FLAT_ARGVP_ENVP_ON_STACK=y +CONFIG_BINFMT_FLAT_OLD=y +CONFIG_BINFMT_MISC=m +CONFIG_BINFMT_SCRIPT=y +CONFIG_BINFMT_ZFLAT=y +CONFIG_BITREVERSE=y +CONFIG_BLK_CGROUP=y +CONFIG_BLK_CGROUP_FC_APPID=y +CONFIG_BLK_CGROUP_IOCOST=y +# CONFIG_BLK_CGROUP_IOLATENCY is not set +CONFIG_BLK_CGROUP_IOPRIO=y +CONFIG_BLK_CGROUP_RWSTAT=y +CONFIG_BLK_DEBUG_FS=y +CONFIG_BLK_DEBUG_FS_ZONED=y +CONFIG_BLK_DEV=y +CONFIG_BLK_DEV_BSG=y +CONFIG_BLK_DEV_BSGLIB=y +CONFIG_BLK_DEV_BSG_COMMON=y +CONFIG_BLK_DEV_DM=y +CONFIG_BLK_DEV_DM_BUILTIN=y +CONFIG_BLK_DEV_DRBD=m +CONFIG_BLK_DEV_FD=m +# CONFIG_BLK_DEV_FD_RAWCMD is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_BLK_DEV_INTEGRITY=y +CONFIG_BLK_DEV_INTEGRITY_T10=y +CONFIG_BLK_DEV_IO_TRACE=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +CONFIG_BLK_DEV_MD=y +CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_NULL_BLK=m +CONFIG_BLK_DEV_NVME=m +CONFIG_BLK_DEV_PMEM=m +CONFIG_BLK_DEV_RAM=m +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=65536 +CONFIG_BLK_DEV_RBD=m +CONFIG_BLK_DEV_RNBD=y +CONFIG_BLK_DEV_RNBD_CLIENT=m +CONFIG_BLK_DEV_RNBD_SERVER=m +CONFIG_BLK_DEV_SD=y +CONFIG_BLK_DEV_SR=y +CONFIG_BLK_DEV_THROTTLING=y +# CONFIG_BLK_DEV_THROTTLING_LOW is not set +CONFIG_BLK_DEV_ZONED=y +CONFIG_BLK_ICQ=y +CONFIG_BLK_INLINE_ENCRYPTION=y +CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y +CONFIG_BLK_MQ_PCI=y +CONFIG_BLK_MQ_RDMA=y +CONFIG_BLK_MQ_STACKING=y +CONFIG_BLK_MQ_VIRTIO=y +CONFIG_BLK_PM=y +CONFIG_BLK_RQ_ALLOC_TIME=y +CONFIG_BLK_SED_OPAL=y +CONFIG_BLK_WBT=y +CONFIG_BLK_WBT_MQ=y +CONFIG_BLOCK=y +CONFIG_BLOCK_COMPAT=y +CONFIG_BLOCK_HOLDER_DEPRECATED=y +CONFIG_BLOCK_LEGACY_AUTOLOAD=y +CONFIG_BL_SWITCHER=y +CONFIG_BL_SWITCHER_DUMMY_IF=m +CONFIG_BMA220=m +CONFIG_BMA400=m +CONFIG_BMA400_I2C=m +CONFIG_BMA400_SPI=m +CONFIG_BMC150_ACCEL=m +CONFIG_BMC150_ACCEL_I2C=m +CONFIG_BMC150_ACCEL_SPI=m +CONFIG_BMC150_MAGN=m +CONFIG_BMC150_MAGN_I2C=m +CONFIG_BMC150_MAGN_SPI=m +CONFIG_BME680=m +CONFIG_BME680_I2C=m +CONFIG_BME680_SPI=m +CONFIG_BMG160=m +CONFIG_BMG160_I2C=m +CONFIG_BMG160_SPI=m +CONFIG_BMI088_ACCEL=m +CONFIG_BMI088_ACCEL_SPI=m +CONFIG_BMI160=m +CONFIG_BMI160_I2C=m +CONFIG_BMI160_SPI=m +CONFIG_BMP280=m +CONFIG_BMP280_I2C=m +CONFIG_BMP280_SPI=m +CONFIG_BNA=m +CONFIG_BNX2=m +CONFIG_BNX2X=m +CONFIG_BNX2X_SRIOV=y +CONFIG_BNXT=m +CONFIG_BNXT_DCB=y +CONFIG_BNXT_FLOWER_OFFLOAD=y +CONFIG_BNXT_HWMON=y +CONFIG_BNXT_SRIOV=y +CONFIG_BOARD_TPCI200=m +CONFIG_BONDING=m +# CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set +# CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set +# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set +# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set +CONFIG_BOOTTIME_TRACING=y +# CONFIG_BOOTX_TEXT is not set +CONFIG_BOOT_CONFIG=y +# CONFIG_BOOT_CONFIG_EMBED is not set +CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_BOOT_VESA_SUPPORT=y +CONFIG_BOUNCE=y +CONFIG_BPF=y +CONFIG_BPFILTER=y +CONFIG_BPFILTER_UMH=m +CONFIG_BPF_EVENTS=y +CONFIG_BPF_JIT=y +CONFIG_BPF_JIT_ALWAYS_ON=y +CONFIG_BPF_JIT_DEFAULT_ON=y +CONFIG_BPF_KPROBE_OVERRIDE=y +CONFIG_BPF_LSM=y +# CONFIG_BPF_PRELOAD is not set +CONFIG_BPF_STREAM_PARSER=y +CONFIG_BPF_SYSCALL=y +CONFIG_BPF_UNPRIV_DEFAULT_OFF=y +CONFIG_BPQETHER=m +CONFIG_BQL=y +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_BRCMDBG is not set +CONFIG_BRCMFMAC=m +CONFIG_BRCMFMAC_PCIE=y +CONFIG_BRCMFMAC_PROTO_BCDC=y +CONFIG_BRCMFMAC_PROTO_MSGBUF=y +CONFIG_BRCMFMAC_SDIO=y +CONFIG_BRCMFMAC_USB=y +CONFIG_BRCMSMAC=m +CONFIG_BRCMSMAC_LEDS=y +CONFIG_BRCMSTB_DPFE=y +CONFIG_BRCMSTB_GISB_ARB=y +CONFIG_BRCMSTB_L2_IRQ=y +CONFIG_BRCMSTB_PM=y +CONFIG_BRCMSTB_THERMAL=m +CONFIG_BRCMUTIL=m +CONFIG_BRCM_TRACING=y +CONFIG_BRCM_USB_PINMAP=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_CFM=y +CONFIG_BRIDGE_EBT_802_3=m +CONFIG_BRIDGE_EBT_AMONG=m +CONFIG_BRIDGE_EBT_ARP=m +CONFIG_BRIDGE_EBT_ARPREPLY=m +CONFIG_BRIDGE_EBT_BROUTE=m +CONFIG_BRIDGE_EBT_DNAT=m +CONFIG_BRIDGE_EBT_IP=m +CONFIG_BRIDGE_EBT_IP6=m +CONFIG_BRIDGE_EBT_LIMIT=m +CONFIG_BRIDGE_EBT_LOG=m +CONFIG_BRIDGE_EBT_MARK=m +CONFIG_BRIDGE_EBT_MARK_T=m +CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_BRIDGE_EBT_PKTTYPE=m +CONFIG_BRIDGE_EBT_REDIRECT=m +CONFIG_BRIDGE_EBT_SNAT=m +CONFIG_BRIDGE_EBT_STP=m +CONFIG_BRIDGE_EBT_T_FILTER=m +CONFIG_BRIDGE_EBT_T_NAT=m +CONFIG_BRIDGE_EBT_VLAN=m +CONFIG_BRIDGE_IGMP_SNOOPING=y +CONFIG_BRIDGE_MRP=y +CONFIG_BRIDGE_NETFILTER=m +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BRIDGE_VLAN_FILTERING=y +CONFIG_BROADCOM_PHY=m +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_BT=m +CONFIG_BTREE=y +# CONFIG_BTRFS_ASSERT is not set +# CONFIG_BTRFS_DEBUG is not set +CONFIG_BTRFS_FS=m +# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set +CONFIG_BTRFS_FS_POSIX_ACL=y +# CONFIG_BTRFS_FS_REF_VERIFY is not set +# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set +CONFIG_BTT=y +CONFIG_BT_6LOWPAN=m +CONFIG_BT_AOSPEXT=y +CONFIG_BT_ATH3K=m +CONFIG_BT_BCM=m +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_BREDR=y +CONFIG_BT_CMTP=m +CONFIG_BT_DEBUGFS=y +CONFIG_BT_HCIBCM203X=m +CONFIG_BT_HCIBFUSB=m +CONFIG_BT_HCIBLUECARD=m +CONFIG_BT_HCIBPA10X=m +CONFIG_BT_HCIBT3C=m +CONFIG_BT_HCIBTSDIO=m +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIBTUSB_AUTOSUSPEND=y +CONFIG_BT_HCIBTUSB_BCM=y +CONFIG_BT_HCIBTUSB_MTK=y +CONFIG_BT_HCIBTUSB_RTL=y +CONFIG_BT_HCIDTL1=m +CONFIG_BT_HCIRSI=m +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_3WIRE=y +CONFIG_BT_HCIUART_AG6XX=y +CONFIG_BT_HCIUART_ATH3K=y +CONFIG_BT_HCIUART_BCM=y +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_INTEL=y +CONFIG_BT_HCIUART_LL=y +CONFIG_BT_HCIUART_MRVL=y +CONFIG_BT_HCIUART_NOKIA=m +CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIUART_RTL=y +CONFIG_BT_HCIUART_SERDEV=y +CONFIG_BT_HCIVHCI=m +CONFIG_BT_HIDP=m +CONFIG_BT_HS=y +CONFIG_BT_INTEL=m +CONFIG_BT_LE=y +CONFIG_BT_LEDS=y +CONFIG_BT_MRVL=m +CONFIG_BT_MRVL_SDIO=m +CONFIG_BT_MSFTEXT=y +CONFIG_BT_MTK=m +CONFIG_BT_MTKSDIO=m +CONFIG_BT_MTKUART=m +CONFIG_BT_QCA=m +CONFIG_BT_QCOMSMD=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_RTL=m +# CONFIG_BT_SELFTEST is not set +CONFIG_BT_VIRTIO=m +CONFIG_BUG=y +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +CONFIG_BUILDTIME_MCOUNT_SORT=y +CONFIG_BUILDTIME_TABLE_SORT=y +CONFIG_BUILD_BIN2C=y +CONFIG_BUILD_SALT="" +CONFIG_BXT_WC_PMIC_OPREGION=y +CONFIG_BYTCRC_PMIC_OPREGION=y +CONFIG_C2PORT_DURAMAR_2150=m +CONFIG_CACHEFILES=m +# CONFIG_CACHEFILES_DEBUG is not set +CONFIG_CACHEFILES_ERROR_INJECTION=y +# CONFIG_CACHEFILES_ONDEMAND is not set +CONFIG_CACHE_FEROCEON_L2=y +# CONFIG_CACHE_FEROCEON_L2_WRITETHROUGH is not set +CONFIG_CACHE_L2X0=y +CONFIG_CACHE_L2X0_PMU=y +CONFIG_CACHE_TAUROS2=y +CONFIG_CACHE_UNIPHIER=y +# CONFIG_CAIF_DEBUG is not set +CONFIG_CAIF_DRIVERS=y +CONFIG_CAIF_NETDEV=m +CONFIG_CAIF_TTY=m +CONFIG_CAIF_USB=m +CONFIG_CAIF_VIRTIO=m +CONFIG_CAN_8DEV_USB=m +CONFIG_CAN_BCM=m +CONFIG_CAN_CALC_BITTIMING=y +CONFIG_CAN_CC770=m +CONFIG_CAN_CC770_ISA=m +CONFIG_CAN_CC770_PLATFORM=m +CONFIG_CAN_CTUCANFD=m +CONFIG_CAN_CTUCANFD_PCI=m +CONFIG_CAN_CTUCANFD_PLATFORM=m +CONFIG_CAN_C_CAN=m +CONFIG_CAN_C_CAN_PCI=m +CONFIG_CAN_C_CAN_PLATFORM=m +# CONFIG_CAN_DEBUG_DEVICES is not set +CONFIG_CAN_DEV=m +CONFIG_CAN_EMS_PCI=m +CONFIG_CAN_EMS_PCMCIA=m +CONFIG_CAN_EMS_USB=m +CONFIG_CAN_ESD_USB2=m +CONFIG_CAN_ETAS_ES58X=m +CONFIG_CAN_F81601=m +CONFIG_CAN_FLEXCAN=m +CONFIG_CAN_GRCAN=m +CONFIG_CAN_GS_USB=m +CONFIG_CAN_GW=m +CONFIG_CAN_HI311X=m +CONFIG_CAN_IFI_CANFD=m +CONFIG_CAN_ISOTP=m +CONFIG_CAN_J1939=m +CONFIG_CAN_JANZ_ICAN3=m +CONFIG_CAN_KVASER_PCI=m +CONFIG_CAN_KVASER_PCIEFD=m +CONFIG_CAN_KVASER_USB=m +CONFIG_CAN_MCBA_USB=m +CONFIG_CAN_MCP251X=m +CONFIG_CAN_MCP251XFD=m +# CONFIG_CAN_MCP251XFD_SANITY is not set +CONFIG_CAN_MSCAN=m +CONFIG_CAN_M_CAN=m +CONFIG_CAN_M_CAN_PCI=m +CONFIG_CAN_M_CAN_PLATFORM=m +CONFIG_CAN_M_CAN_TCAN4X5X=m +CONFIG_CAN_PEAK_PCI=m +CONFIG_CAN_PEAK_PCIEC=y +CONFIG_CAN_PEAK_PCIEFD=m +CONFIG_CAN_PEAK_PCMCIA=m +CONFIG_CAN_PEAK_USB=m +CONFIG_CAN_PLX_PCI=m +CONFIG_CAN_RAW=m +CONFIG_CAN_RCAR=m +CONFIG_CAN_RCAR_CANFD=m +CONFIG_CAN_SJA1000=m +CONFIG_CAN_SJA1000_ISA=m +CONFIG_CAN_SJA1000_PLATFORM=m +CONFIG_CAN_SLCAN=m +CONFIG_CAN_SOFTING=m +CONFIG_CAN_SOFTING_CS=m +CONFIG_CAN_TI_HECC=m +CONFIG_CAN_UCAN=m +CONFIG_CAN_VCAN=m +CONFIG_CAN_VXCAN=m +CONFIG_CAN_XILINXCAN=m +CONFIG_CAPI_TRACE=y +CONFIG_CARDBUS=y +CONFIG_CARDMAN_4000=m +CONFIG_CARDMAN_4040=m +CONFIG_CARL9170=m +# CONFIG_CARL9170_DEBUGFS is not set +CONFIG_CARL9170_HWRNG=y +CONFIG_CARL9170_LEDS=y +CONFIG_CARL9170_WPC=y +# CONFIG_CARMINE_DRAM_CUSTOM is not set +CONFIG_CASSINI=m +CONFIG_CAVIUM_CPT=m +CONFIG_CAVIUM_ERRATUM_22375=y +CONFIG_CAVIUM_ERRATUM_23144=y +CONFIG_CAVIUM_ERRATUM_23154=y +CONFIG_CAVIUM_ERRATUM_27456=y +CONFIG_CAVIUM_ERRATUM_30115=y +CONFIG_CAVIUM_PTP=m +CONFIG_CAVIUM_TX2_ERRATUM_219=y +# CONFIG_CB710_DEBUG is not set +CONFIG_CB710_DEBUG_ASSUMPTIONS=y +CONFIG_CC10001_ADC=m +CONFIG_CCS811=m +CONFIG_CCW=y +CONFIG_CCWGROUP=m +CONFIG_CCW_CONSOLE=y +CONFIG_CC_CAN_LINK=y +CONFIG_CC_CAN_LINK_STATIC=y +CONFIG_CC_HAS_ASM_GOTO=y +CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y +CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y +CONFIG_CC_HAS_ASM_INLINE=y +CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y +CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y +CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y +CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y +CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI=y +CONFIG_CC_HAS_IBT=y +CONFIG_CC_HAS_INT128=y +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_CC_HAS_KASAN_SW_TAGS=y +CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y +CONFIG_CC_HAS_RETURN_THUNK=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +CONFIG_CC_HAS_SANE_STACKPROTECTOR=y +CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y +CONFIG_CC_HAS_SLS=y +CONFIG_CC_HAS_UBSAN_BOUNDS=y +CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y +CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y +CONFIG_CC_HAVE_SHADOW_CALL_STACK=y +CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y +CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y +CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" +CONFIG_CC_IS_GCC=y +CONFIG_CC_NO_ARRAY_BOUNDS=y +CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_CDNS_I3C_MASTER=m +CONFIG_CDROM=y +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set +CONFIG_CEC_CH7322=m +CONFIG_CEC_CORE=m +CONFIG_CEC_CROS_EC=m +CONFIG_CEC_GPIO=m +CONFIG_CEC_MESON_AO=m +CONFIG_CEC_MESON_G12A_AO=m +CONFIG_CEC_NOTIFIER=y +CONFIG_CEC_PIN=y +# CONFIG_CEC_PIN_ERROR_INJ is not set +# CONFIG_CEC_SAMSUNG_S5P is not set +CONFIG_CEC_SECO=m +CONFIG_CEC_SECO_RC=y +CONFIG_CEC_TEGRA=m +CONFIG_CEPH_FS=m +CONFIG_CEPH_FSCACHE=y +CONFIG_CEPH_FS_POSIX_ACL=y +CONFIG_CEPH_FS_SECURITY_LABEL=y +CONFIG_CEPH_LIB=m +# CONFIG_CEPH_LIB_PRETTYDEBUG is not set +CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y +CONFIG_CFAG12864B=m +CONFIG_CFAG12864B_RATE=20 +CONFIG_CFG80211=m +# CONFIG_CFG80211_CERTIFICATION_ONUS is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_CFG80211_DEBUGFS=y +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y +CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y +CONFIG_CFG80211_WEXT=y +CONFIG_CFG80211_WEXT_EXPORT=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_CGROUPS=y +CONFIG_CGROUP_BPF=y +CONFIG_CGROUP_CPUACCT=y +# CONFIG_CGROUP_DEBUG is not set +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_HUGETLB=y +CONFIG_CGROUP_MISC=y +CONFIG_CGROUP_NET_CLASSID=y +CONFIG_CGROUP_NET_PRIO=y +CONFIG_CGROUP_PERF=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_RDMA=y +CONFIG_CGROUP_SCHED=y +CONFIG_CGROUP_WRITEBACK=y +CONFIG_CHARGER_88PM860X=m +CONFIG_CHARGER_ADP5061=m +CONFIG_CHARGER_AXP20X=m +CONFIG_CHARGER_BD99954=m +CONFIG_CHARGER_BQ2415X=m +CONFIG_CHARGER_BQ24190=m +CONFIG_CHARGER_BQ24257=m +CONFIG_CHARGER_BQ24735=m +CONFIG_CHARGER_BQ2515X=m +CONFIG_CHARGER_BQ256XX=m +CONFIG_CHARGER_BQ25890=m +CONFIG_CHARGER_BQ25980=m +CONFIG_CHARGER_CPCAP=m +CONFIG_CHARGER_CROS_PCHG=m +CONFIG_CHARGER_CROS_USBPD=m +CONFIG_CHARGER_DA9150=m +CONFIG_CHARGER_DETECTOR_MAX14656=m +CONFIG_CHARGER_GPIO=m +CONFIG_CHARGER_ISP1704=m +CONFIG_CHARGER_LP8727=m +CONFIG_CHARGER_LP8788=m +CONFIG_CHARGER_LT3651=m +CONFIG_CHARGER_LTC4162L=m +CONFIG_CHARGER_MANAGER=y +CONFIG_CHARGER_MAX14577=m +CONFIG_CHARGER_MAX77650=m +CONFIG_CHARGER_MAX77693=m +CONFIG_CHARGER_MAX77976=m +CONFIG_CHARGER_MAX8903=m +CONFIG_CHARGER_MAX8997=m +CONFIG_CHARGER_MAX8998=m +CONFIG_CHARGER_MP2629=m +CONFIG_CHARGER_MT6360=m +CONFIG_CHARGER_PCF50633=m +CONFIG_CHARGER_QCOM_SMBB=m +CONFIG_CHARGER_RT9455=m +CONFIG_CHARGER_SBS=m +CONFIG_CHARGER_SC2731=m +CONFIG_CHARGER_SMB347=m +CONFIG_CHARGER_SURFACE=m +CONFIG_CHARGER_TPS65090=m +CONFIG_CHARGER_TPS65217=m +CONFIG_CHARGER_TWL4030=m +CONFIG_CHARGER_UCS1002=m +CONFIG_CHARGER_WILCO=m +CONFIG_CHARLCD=m +CONFIG_CHARLCD_BL_FLASH=y +# CONFIG_CHARLCD_BL_OFF is not set +# CONFIG_CHARLCD_BL_ON is not set +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_CHECK_SIGNATURE=y +CONFIG_CHELSIO_INLINE_CRYPTO=y +CONFIG_CHELSIO_IPSEC_INLINE=m +CONFIG_CHELSIO_LIB=m +CONFIG_CHELSIO_T1=m +CONFIG_CHELSIO_T1_1G=y +CONFIG_CHELSIO_T3=m +CONFIG_CHELSIO_T4=m +CONFIG_CHELSIO_T4VF=m +CONFIG_CHELSIO_T4_DCB=y +CONFIG_CHELSIO_T4_FCOE=y +CONFIG_CHELSIO_TLS_DEVICE=m +CONFIG_CHROMEOS_ACPI=m +CONFIG_CHROMEOS_LAPTOP=m +CONFIG_CHROMEOS_PRIVACY_SCREEN=m +CONFIG_CHROMEOS_PSTORE=m +CONFIG_CHROMEOS_TBMC=m +CONFIG_CHROME_PLATFORMS=y +CONFIG_CHR_DEV_SCH=m +CONFIG_CHR_DEV_SG=y +CONFIG_CHR_DEV_ST=m +CONFIG_CHSC_SCH=m +CONFIG_CHTCRC_PMIC_OPREGION=y +CONFIG_CHT_DC_TI_PMIC_OPREGION=y +CONFIG_CHT_WC_PMIC_OPREGION=y +CONFIG_CICADA_PHY=m +CONFIG_CIFS=m +CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y +CONFIG_CIFS_DEBUG=y +# CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set +CONFIG_CIFS_DFS_UPCALL=y +CONFIG_CIFS_FSCACHE=y +CONFIG_CIFS_POSIX=y +# CONFIG_CIFS_SMB_DIRECT is not set +# CONFIG_CIFS_STATS2 is not set +CONFIG_CIFS_SWN_UPCALL=y +CONFIG_CIFS_UPCALL=y +CONFIG_CIFS_XATTR=y +CONFIG_CIO2_BRIDGE=y +CONFIG_CIO_DAC=m +# CONFIG_CIO_INJECT is not set +CONFIG_CLANG_VERSION=0 +CONFIG_CLKBLD_I8253=y +CONFIG_CLKEVT_I8253=y +CONFIG_CLKSRC_ARM_GLOBAL_TIMER_SCHED_CLOCK=y +CONFIG_CLKSRC_EXYNOS_MCT=y +CONFIG_CLKSRC_IMX_GPT=y +CONFIG_CLKSRC_IMX_TPM=y +CONFIG_CLKSRC_MMIO=y +CONFIG_CLKSRC_QCOM=y +CONFIG_CLKSRC_TI_32K=y +CONFIG_CLKSRC_VERSATILE=y +CONFIG_CLK_ACTIONS=y +CONFIG_CLK_ANALOGBITS_WRPLL_CLN28HPC=y +CONFIG_CLK_BCM2711_DVP=m +CONFIG_CLK_BCM2835=y +CONFIG_CLK_BCM_NS2=y +CONFIG_CLK_BCM_SR=y +CONFIG_CLK_EMEV2=y +CONFIG_CLK_GFM_LPASS_SM8250=m +CONFIG_CLK_ICST=y +CONFIG_CLK_IMX5=y +CONFIG_CLK_IMX6Q=y +CONFIG_CLK_IMX6SL=y +CONFIG_CLK_IMX6SLL=y +CONFIG_CLK_IMX6SX=y +CONFIG_CLK_IMX6UL=y +CONFIG_CLK_IMX7D=y +CONFIG_CLK_IMX7ULP=y +CONFIG_CLK_IMX8MM=y +CONFIG_CLK_IMX8MN=y +CONFIG_CLK_IMX8MP=y +CONFIG_CLK_IMX8MQ=y +CONFIG_CLK_IMX8QXP=y +CONFIG_CLK_IMX8ULP=m +CONFIG_CLK_IMX93=m +CONFIG_CLK_INTEL_SOCFPGA=y +CONFIG_CLK_INTEL_SOCFPGA32=y +CONFIG_CLK_INTEL_SOCFPGA64=y +CONFIG_CLK_LS1028A_PLLDIG=m +CONFIG_CLK_OWL_S500=y +CONFIG_CLK_OWL_S700=y +CONFIG_CLK_OWL_S900=y +CONFIG_CLK_PX30=y +CONFIG_CLK_QORIQ=y +CONFIG_CLK_R7S9210=y +CONFIG_CLK_R8A7740=y +CONFIG_CLK_R8A7742=y +CONFIG_CLK_R8A7743=y +CONFIG_CLK_R8A7745=y +CONFIG_CLK_R8A77470=y +CONFIG_CLK_R8A774A1=y +CONFIG_CLK_R8A774B1=y +CONFIG_CLK_R8A774C0=y +CONFIG_CLK_R8A774E1=y +CONFIG_CLK_R8A7778=y +CONFIG_CLK_R8A7779=y +CONFIG_CLK_R8A7790=y +CONFIG_CLK_R8A7791=y +CONFIG_CLK_R8A7792=y +CONFIG_CLK_R8A7794=y +CONFIG_CLK_R8A7795=y +CONFIG_CLK_R8A77960=y +CONFIG_CLK_R8A77961=y +CONFIG_CLK_R8A77965=y +CONFIG_CLK_R8A77970=y +CONFIG_CLK_R8A77980=y +CONFIG_CLK_R8A77990=y +CONFIG_CLK_R8A77995=y +CONFIG_CLK_R8A779A0=y +CONFIG_CLK_R8A779F0=y +CONFIG_CLK_R8A779G0=y +CONFIG_CLK_R9A06G032=y +CONFIG_CLK_R9A07G043=y +CONFIG_CLK_R9A07G044=y +CONFIG_CLK_R9A07G054=y +CONFIG_CLK_R9A09G011=y +CONFIG_CLK_RASPBERRYPI=m +CONFIG_CLK_RCAR_CPG_LIB=y +CONFIG_CLK_RCAR_GEN2_CPG=y +CONFIG_CLK_RCAR_GEN3_CPG=y +CONFIG_CLK_RCAR_GEN4_CPG=y +CONFIG_CLK_RCAR_USB2_CLOCK_SEL=y +CONFIG_CLK_RENESAS=y +CONFIG_CLK_RENESAS_CPG_MSSR=y +CONFIG_CLK_RENESAS_CPG_MSTP=y +CONFIG_CLK_RENESAS_DIV6=y +CONFIG_CLK_RK3036=y +CONFIG_CLK_RK312X=y +CONFIG_CLK_RK3188=y +CONFIG_CLK_RK322X=y +CONFIG_CLK_RK3288=y +CONFIG_CLK_RK3308=y +CONFIG_CLK_RK3328=y +CONFIG_CLK_RK3368=y +CONFIG_CLK_RK3399=y +CONFIG_CLK_RK3568=y +CONFIG_CLK_RV110X=y +CONFIG_CLK_RZA1=y +CONFIG_CLK_RZG2L=y +CONFIG_CLK_SH73A0=y +CONFIG_CLK_SIFIVE=y +CONFIG_CLK_SIFIVE_PRCI=y +CONFIG_CLK_SP810=y +CONFIG_CLK_STARFIVE_JH7100=y +CONFIG_CLK_STARFIVE_JH7100_AUDIO=m +CONFIG_CLK_SUNXI=y +CONFIG_CLK_SUNXI_CLOCKS=y +CONFIG_CLK_SUNXI_PRCM_SUN6I=y +CONFIG_CLK_SUNXI_PRCM_SUN8I=y +CONFIG_CLK_SUNXI_PRCM_SUN9I=y +CONFIG_CLK_TEGRA_BPMP=y +CONFIG_CLK_TWL6040=m +# CONFIG_CLK_UNIPHIER is not set +CONFIG_CLK_VEXPRESS_OSC=y +CONFIG_CLK_VF610=y +CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y +CONFIG_CLOCKSOURCE_WATCHDOG=y +CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US=100 +CONFIG_CLONE_BACKWARDS=y +CONFIG_CLONE_BACKWARDS2=y +CONFIG_CLS_U32_MARK=y +# CONFIG_CLS_U32_PERF is not set +CONFIG_CLZ_TAB=y +CONFIG_CM32181=m +CONFIG_CM3232=m +CONFIG_CM3323=m +CONFIG_CM3605=m +CONFIG_CM36651=m +CONFIG_CMA_ALIGNMENT=8 +CONFIG_CMA_AREAS=7 +# CONFIG_CMA_DEBUG is not set +# CONFIG_CMA_DEBUGFS is not set +CONFIG_CMA_SIZE_MBYTES=32 +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +CONFIG_CMA_SYSFS=y +# CONFIG_CMDLINE_BOOL is not set +# CONFIG_CMDLINE_FORCE is not set +CONFIG_CMDLINE_FROM_BOOTLOADER=y +CONFIG_CMM_IUCV=y +CONFIG_CMODEL_MEDANY=y +# CONFIG_CMODEL_MEDLOW is not set +CONFIG_CMT_SPEECH=m +CONFIG_CNIC=m +CONFIG_CODA_FS=m +# CONFIG_CODE_PATCHING_SELFTEST is not set +CONFIG_COMEDI_8254=m +CONFIG_COMEDI_8255=m +CONFIG_COMEDI_8255_PCI=m +CONFIG_COMEDI_8255_SA=m +CONFIG_COMEDI_ADDI_APCI_1032=m +CONFIG_COMEDI_ADDI_APCI_1500=m +CONFIG_COMEDI_ADDI_APCI_1516=m +CONFIG_COMEDI_ADDI_APCI_1564=m +CONFIG_COMEDI_ADDI_APCI_16XX=m +CONFIG_COMEDI_ADDI_APCI_2032=m +CONFIG_COMEDI_ADDI_APCI_2200=m +CONFIG_COMEDI_ADDI_APCI_3120=m +CONFIG_COMEDI_ADDI_APCI_3501=m +CONFIG_COMEDI_ADDI_APCI_3XXX=m +CONFIG_COMEDI_ADDI_WATCHDOG=m +CONFIG_COMEDI_ADL_PCI6208=m +CONFIG_COMEDI_ADL_PCI7X3X=m +CONFIG_COMEDI_ADL_PCI8164=m +CONFIG_COMEDI_ADL_PCI9111=m +CONFIG_COMEDI_ADL_PCI9118=m +CONFIG_COMEDI_ADQ12B=m +CONFIG_COMEDI_ADV_PCI1710=m +CONFIG_COMEDI_ADV_PCI1720=m +CONFIG_COMEDI_ADV_PCI1723=m +CONFIG_COMEDI_ADV_PCI1724=m +CONFIG_COMEDI_ADV_PCI1760=m +CONFIG_COMEDI_ADV_PCI_DIO=m +CONFIG_COMEDI_AIO_AIO12_8=m +CONFIG_COMEDI_AIO_IIRO_16=m +CONFIG_COMEDI_AMPLC_DIO200=m +CONFIG_COMEDI_AMPLC_DIO200_ISA=m +CONFIG_COMEDI_AMPLC_DIO200_PCI=m +CONFIG_COMEDI_AMPLC_PC236=m +CONFIG_COMEDI_AMPLC_PC236_ISA=m +CONFIG_COMEDI_AMPLC_PC236_PCI=m +CONFIG_COMEDI_AMPLC_PC263_ISA=m +CONFIG_COMEDI_AMPLC_PC263_PCI=m +CONFIG_COMEDI_AMPLC_PCI224=m +CONFIG_COMEDI_AMPLC_PCI230=m +CONFIG_COMEDI_BOND=m +CONFIG_COMEDI_C6XDIGIO=m +CONFIG_COMEDI_CB_DAS16_CS=m +CONFIG_COMEDI_CB_PCIDAS=m +CONFIG_COMEDI_CB_PCIDAS64=m +CONFIG_COMEDI_CB_PCIDDA=m +CONFIG_COMEDI_CB_PCIMDAS=m +CONFIG_COMEDI_CB_PCIMDDA=m +CONFIG_COMEDI_CONTEC_PCI_DIO=m +CONFIG_COMEDI_DAC02=m +CONFIG_COMEDI_DAQBOARD2000=m +CONFIG_COMEDI_DAS08=m +CONFIG_COMEDI_DAS08_CS=m +CONFIG_COMEDI_DAS08_ISA=m +CONFIG_COMEDI_DAS08_PCI=m +CONFIG_COMEDI_DAS16=m +CONFIG_COMEDI_DAS16M1=m +CONFIG_COMEDI_DAS1800=m +CONFIG_COMEDI_DAS6402=m +CONFIG_COMEDI_DAS800=m +# CONFIG_COMEDI_DEBUG is not set +CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480 +CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048 +CONFIG_COMEDI_DMM32AT=m +CONFIG_COMEDI_DT2801=m +CONFIG_COMEDI_DT2811=m +CONFIG_COMEDI_DT2814=m +CONFIG_COMEDI_DT2815=m +CONFIG_COMEDI_DT2817=m +CONFIG_COMEDI_DT282X=m +CONFIG_COMEDI_DT3000=m +CONFIG_COMEDI_DT9812=m +CONFIG_COMEDI_DYNA_PCI10XX=m +CONFIG_COMEDI_FL512=m +CONFIG_COMEDI_GSC_HPDI=m +CONFIG_COMEDI_ICP_MULTI=m +CONFIG_COMEDI_II_PCI20KC=m +CONFIG_COMEDI_ISADMA=m +CONFIG_COMEDI_ISA_DRIVERS=y +CONFIG_COMEDI_JR3_PCI=m +CONFIG_COMEDI_KCOMEDILIB=m +CONFIG_COMEDI_KE_COUNTER=m +CONFIG_COMEDI_ME4000=m +CONFIG_COMEDI_ME_DAQ=m +CONFIG_COMEDI_MF6X4=m +CONFIG_COMEDI_MISC_DRIVERS=y +CONFIG_COMEDI_MITE=m +CONFIG_COMEDI_MPC624=m +CONFIG_COMEDI_MULTIQ3=m +CONFIG_COMEDI_NI_6527=m +CONFIG_COMEDI_NI_65XX=m +CONFIG_COMEDI_NI_660X=m +CONFIG_COMEDI_NI_670X=m +CONFIG_COMEDI_NI_ATMIO=m +CONFIG_COMEDI_NI_ATMIO16D=m +CONFIG_COMEDI_NI_AT_A2150=m +CONFIG_COMEDI_NI_AT_AO=m +CONFIG_COMEDI_NI_DAQ_700_CS=m +CONFIG_COMEDI_NI_DAQ_DIO24_CS=m +CONFIG_COMEDI_NI_LABPC=m +CONFIG_COMEDI_NI_LABPC_CS=m +CONFIG_COMEDI_NI_LABPC_ISA=m +CONFIG_COMEDI_NI_LABPC_ISADMA=m +CONFIG_COMEDI_NI_LABPC_PCI=m +CONFIG_COMEDI_NI_MIO_CS=m +CONFIG_COMEDI_NI_PCIDIO=m +CONFIG_COMEDI_NI_PCIMIO=m +CONFIG_COMEDI_NI_ROUTING=m +CONFIG_COMEDI_NI_TIO=m +CONFIG_COMEDI_NI_TIOCMD=m +CONFIG_COMEDI_NI_USB6501=m +CONFIG_COMEDI_PARPORT=m +CONFIG_COMEDI_PCI_DRIVERS=m +CONFIG_COMEDI_PCL711=m +CONFIG_COMEDI_PCL724=m +CONFIG_COMEDI_PCL726=m +CONFIG_COMEDI_PCL730=m +CONFIG_COMEDI_PCL812=m +CONFIG_COMEDI_PCL816=m +CONFIG_COMEDI_PCL818=m +CONFIG_COMEDI_PCM3724=m +CONFIG_COMEDI_PCMAD=m +CONFIG_COMEDI_PCMCIA_DRIVERS=m +CONFIG_COMEDI_PCMDA12=m +CONFIG_COMEDI_PCMMIO=m +CONFIG_COMEDI_PCMUIO=m +CONFIG_COMEDI_QUATECH_DAQP_CS=m +CONFIG_COMEDI_RTD520=m +CONFIG_COMEDI_RTI800=m +CONFIG_COMEDI_RTI802=m +CONFIG_COMEDI_S526=m +CONFIG_COMEDI_S626=m +CONFIG_COMEDI_TEST=m +CONFIG_COMEDI_TESTS=m +CONFIG_COMEDI_TESTS_EXAMPLE=m +CONFIG_COMEDI_TESTS_NI_ROUTES=m +CONFIG_COMEDI_USBDUX=m +CONFIG_COMEDI_USBDUXFAST=m +CONFIG_COMEDI_USBDUXSIGMA=m +CONFIG_COMEDI_USB_DRIVERS=m +CONFIG_COMEDI_VMK80XX=m +CONFIG_COMMAND_LINE_SIZE=4096 +CONFIG_COMMON_CLK_APPLE_NCO=m +CONFIG_COMMON_CLK_ASPEED=y +CONFIG_COMMON_CLK_AXG=y +CONFIG_COMMON_CLK_AXI_CLKGEN=m +CONFIG_COMMON_CLK_BD718XX=m +CONFIG_COMMON_CLK_BM1880=y +CONFIG_COMMON_CLK_CDCE706=m +CONFIG_COMMON_CLK_CDCE925=m +CONFIG_COMMON_CLK_CS2000_CP=m +CONFIG_COMMON_CLK_EN7523=y +CONFIG_COMMON_CLK_FIXED_MMIO=y +CONFIG_COMMON_CLK_FSL_FLEXSPI=m +CONFIG_COMMON_CLK_FSL_SAI=y +CONFIG_COMMON_CLK_G12A=y +CONFIG_COMMON_CLK_GXBB=y +CONFIG_COMMON_CLK_HI3516CV300=m +CONFIG_COMMON_CLK_HI3519=m +CONFIG_COMMON_CLK_HI3559A=y +CONFIG_COMMON_CLK_HI3660=y +CONFIG_COMMON_CLK_HI3670=y +CONFIG_COMMON_CLK_HI3798CV200=m +CONFIG_COMMON_CLK_HI6220=y +CONFIG_COMMON_CLK_HI655X=m +CONFIG_COMMON_CLK_IPROC=y +CONFIG_COMMON_CLK_LOCHNAGAR=m +CONFIG_COMMON_CLK_MAX77686=m +CONFIG_COMMON_CLK_MAX9485=m +CONFIG_COMMON_CLK_MEDIATEK=y +CONFIG_COMMON_CLK_MESON8B=y +CONFIG_COMMON_CLK_MESON_AO_CLKC=y +CONFIG_COMMON_CLK_MESON_CPU_DYNDIV=y +CONFIG_COMMON_CLK_MESON_DUALDIV=y +CONFIG_COMMON_CLK_MESON_EE_CLKC=y +CONFIG_COMMON_CLK_MESON_MPLL=y +CONFIG_COMMON_CLK_MESON_PHASE=m +CONFIG_COMMON_CLK_MESON_PLL=y +CONFIG_COMMON_CLK_MESON_REGMAP=y +CONFIG_COMMON_CLK_MESON_SCLK_DIV=m +CONFIG_COMMON_CLK_MESON_VID_PLL_DIV=y +# CONFIG_COMMON_CLK_MT2701 is not set +CONFIG_COMMON_CLK_MT2712=y +CONFIG_COMMON_CLK_MT2712_BDPSYS=y +CONFIG_COMMON_CLK_MT2712_IMGSYS=y +CONFIG_COMMON_CLK_MT2712_JPGDECSYS=y +CONFIG_COMMON_CLK_MT2712_MFGCFG=y +CONFIG_COMMON_CLK_MT2712_MMSYS=y +CONFIG_COMMON_CLK_MT2712_VDECSYS=y +CONFIG_COMMON_CLK_MT2712_VENCSYS=y +CONFIG_COMMON_CLK_MT6765=y +CONFIG_COMMON_CLK_MT6765_AUDIOSYS=y +CONFIG_COMMON_CLK_MT6765_CAMSYS=y +CONFIG_COMMON_CLK_MT6765_GCESYS=y +CONFIG_COMMON_CLK_MT6765_IMGSYS=y +CONFIG_COMMON_CLK_MT6765_MFGSYS=y +CONFIG_COMMON_CLK_MT6765_MIPI0ASYS=y +CONFIG_COMMON_CLK_MT6765_MIPI0BSYS=y +CONFIG_COMMON_CLK_MT6765_MIPI1ASYS=y +CONFIG_COMMON_CLK_MT6765_MIPI1BSYS=y +CONFIG_COMMON_CLK_MT6765_MIPI2ASYS=y +CONFIG_COMMON_CLK_MT6765_MIPI2BSYS=y +CONFIG_COMMON_CLK_MT6765_MMSYS=y +CONFIG_COMMON_CLK_MT6765_VCODECSYS=y +CONFIG_COMMON_CLK_MT6779=y +CONFIG_COMMON_CLK_MT6779_AUDSYS=y +CONFIG_COMMON_CLK_MT6779_CAMSYS=y +CONFIG_COMMON_CLK_MT6779_IMGSYS=y +CONFIG_COMMON_CLK_MT6779_IPESYS=y +CONFIG_COMMON_CLK_MT6779_MFGCFG=y +CONFIG_COMMON_CLK_MT6779_MMSYS=y +CONFIG_COMMON_CLK_MT6779_VDECSYS=y +CONFIG_COMMON_CLK_MT6779_VENCSYS=y +CONFIG_COMMON_CLK_MT6797=y +CONFIG_COMMON_CLK_MT6797_IMGSYS=y +CONFIG_COMMON_CLK_MT6797_MMSYS=y +CONFIG_COMMON_CLK_MT6797_VDECSYS=y +CONFIG_COMMON_CLK_MT6797_VENCSYS=y +CONFIG_COMMON_CLK_MT7622=y +CONFIG_COMMON_CLK_MT7622_AUDSYS=y +CONFIG_COMMON_CLK_MT7622_ETHSYS=y +CONFIG_COMMON_CLK_MT7622_HIFSYS=y +CONFIG_COMMON_CLK_MT7629=y +CONFIG_COMMON_CLK_MT7629_ETHSYS=y +CONFIG_COMMON_CLK_MT7629_HIFSYS=y +CONFIG_COMMON_CLK_MT7986=y +CONFIG_COMMON_CLK_MT7986_ETHSYS=y +CONFIG_COMMON_CLK_MT8135=y +CONFIG_COMMON_CLK_MT8167=y +CONFIG_COMMON_CLK_MT8167_AUDSYS=y +CONFIG_COMMON_CLK_MT8167_IMGSYS=y +CONFIG_COMMON_CLK_MT8167_MFGCFG=y +CONFIG_COMMON_CLK_MT8167_MMSYS=y +CONFIG_COMMON_CLK_MT8167_VDECSYS=y +CONFIG_COMMON_CLK_MT8173=y +CONFIG_COMMON_CLK_MT8173_MMSYS=y +CONFIG_COMMON_CLK_MT8183=y +CONFIG_COMMON_CLK_MT8183_AUDIOSYS=y +CONFIG_COMMON_CLK_MT8183_CAMSYS=y +CONFIG_COMMON_CLK_MT8183_IMGSYS=y +CONFIG_COMMON_CLK_MT8183_IPU_ADL=y +CONFIG_COMMON_CLK_MT8183_IPU_CONN=y +CONFIG_COMMON_CLK_MT8183_IPU_CORE0=y +CONFIG_COMMON_CLK_MT8183_IPU_CORE1=y +CONFIG_COMMON_CLK_MT8183_MFGCFG=y +CONFIG_COMMON_CLK_MT8183_MMSYS=y +CONFIG_COMMON_CLK_MT8183_VDECSYS=y +CONFIG_COMMON_CLK_MT8183_VENCSYS=y +CONFIG_COMMON_CLK_MT8186=y +CONFIG_COMMON_CLK_MT8192=y +CONFIG_COMMON_CLK_MT8192_AUDSYS=y +CONFIG_COMMON_CLK_MT8192_CAMSYS=y +CONFIG_COMMON_CLK_MT8192_IMGSYS=y +CONFIG_COMMON_CLK_MT8192_IMP_IIC_WRAP=y +CONFIG_COMMON_CLK_MT8192_IPESYS=y +CONFIG_COMMON_CLK_MT8192_MDPSYS=y +CONFIG_COMMON_CLK_MT8192_MFGCFG=y +CONFIG_COMMON_CLK_MT8192_MMSYS=y +CONFIG_COMMON_CLK_MT8192_MSDC=y +CONFIG_COMMON_CLK_MT8192_SCP_ADSP=y +CONFIG_COMMON_CLK_MT8192_VDECSYS=y +CONFIG_COMMON_CLK_MT8192_VENCSYS=y +CONFIG_COMMON_CLK_MT8195=y +CONFIG_COMMON_CLK_MT8516=y +CONFIG_COMMON_CLK_MT8516_AUDSYS=y +CONFIG_COMMON_CLK_PALMAS=m +CONFIG_COMMON_CLK_PWM=m +CONFIG_COMMON_CLK_QCOM=m +CONFIG_COMMON_CLK_RK808=m +CONFIG_COMMON_CLK_ROCKCHIP=y +CONFIG_COMMON_CLK_RS9_PCIE=m +CONFIG_COMMON_CLK_S2MPS11=m +CONFIG_COMMON_CLK_SAMSUNG=y +CONFIG_COMMON_CLK_SCMI=m +CONFIG_COMMON_CLK_SCPI=m +CONFIG_COMMON_CLK_SI514=m +CONFIG_COMMON_CLK_SI5341=m +CONFIG_COMMON_CLK_SI5351=m +CONFIG_COMMON_CLK_SI544=m +CONFIG_COMMON_CLK_SI570=m +CONFIG_COMMON_CLK_TI_ADPLL=y +CONFIG_COMMON_CLK_TPS68470=m +CONFIG_COMMON_CLK_VC5=m +CONFIG_COMMON_CLK_VISCONTI=y +CONFIG_COMMON_CLK_WM831X=m +CONFIG_COMMON_CLK_XGENE=y +CONFIG_COMMON_CLK_ZYNQMP=y +CONFIG_COMMON_RESET_HI3660=m +CONFIG_COMMON_RESET_HI6220=m +CONFIG_COMPACTION=y +CONFIG_COMPAL_LAPTOP=m +CONFIG_COMPAT_32=y +CONFIG_COMPAT_32BIT_TIME=y +CONFIG_COMPAT_BINFMT_ELF=y +# CONFIG_COMPAT_BRK is not set +CONFIG_COMPAT_FOR_U64_ALIGNMENT=y +CONFIG_COMPAT_NETLINK_MESSAGES=y +CONFIG_COMPAT_OLD_SIGACTION=y +# CONFIG_COMPAT_VDSO is not set +# CONFIG_COMPILE_TEST is not set +CONFIG_CONFIGFS_FS=y +CONFIG_CONNECTOR=y +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 +CONFIG_CONSOLE_LOGLEVEL_QUIET=4 +CONFIG_CONSOLE_POLL=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_CONTIG_ALLOC=y +CONFIG_CORDIC=m +CONFIG_COREDUMP=y +# CONFIG_CORESIGHT is not set +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y +CONFIG_CORTINA_PHY=m +CONFIG_CP15_BARRIER_EMULATION=y +# CONFIG_CPA_DEBUG is not set +CONFIG_CPCAP_ADC=m +CONFIG_CPU5_WDT=m +CONFIG_CPUFREQ_DT=y +CONFIG_CPUFREQ_DT_PLATDEV=y +CONFIG_CPUMASK_OFFSTACK=y +CONFIG_CPUSETS=y +CONFIG_CPU_32v6K=y +CONFIG_CPU_32v7=y +CONFIG_CPU_ABRT_EV7=y +# CONFIG_CPU_BPREDICT_DISABLE is not set +CONFIG_CPU_CACHE_V7=y +CONFIG_CPU_CACHE_VIPT=y +CONFIG_CPU_COPY_V6=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y +CONFIG_CPU_FREQ=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +CONFIG_CPU_FREQ_GOV_ATTR_SET=y +CONFIG_CPU_FREQ_GOV_COMMON=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_THERMAL=y +CONFIG_CPU_HAS_ASID=y +# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +CONFIG_CPU_IBPB_ENTRY=y +CONFIG_CPU_IBRS_ENTRY=y +# CONFIG_CPU_ICACHE_DISABLE is not set +CONFIG_CPU_ICACHE_MISMATCH_WORKAROUND=y +CONFIG_CPU_IDLE=y +CONFIG_CPU_IDLE_GOV_HALTPOLL=y +CONFIG_CPU_IDLE_GOV_LADDER=y +CONFIG_CPU_IDLE_GOV_MENU=y +CONFIG_CPU_IDLE_GOV_TEO=y +CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y +CONFIG_CPU_IDLE_THERMAL=y +CONFIG_CPU_ISOLATION=y +CONFIG_CPU_LITTLE_ENDIAN=y +CONFIG_CPU_PABRT_V7=y +CONFIG_CPU_PJ4=y +CONFIG_CPU_PJ4B=y +CONFIG_CPU_PM=y +CONFIG_CPU_RMAP=y +CONFIG_CPU_SPECTRE=y +CONFIG_CPU_SUP_AMD=y +CONFIG_CPU_SUP_CENTAUR=y +CONFIG_CPU_SUP_HYGON=y +CONFIG_CPU_SUP_INTEL=y +CONFIG_CPU_SUP_ZHAOXIN=y +CONFIG_CPU_SW_DOMAIN_PAN=y +CONFIG_CPU_THERMAL=y +CONFIG_CPU_THUMB_CAPABLE=y +CONFIG_CPU_TLB_V7=y +CONFIG_CPU_UNRET_ENTRY=y +CONFIG_CPU_V7=y +CONFIG_CRAMFS_BLOCKDEV=y +CONFIG_CRAMFS_MTD=y +CONFIG_CRASH_CORE=y +CONFIG_CRASH_DUMP=y +CONFIG_CRC16=y +CONFIG_CRC32=y +# CONFIG_CRC32_BIT is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_SELFTEST is not set +# CONFIG_CRC32_SLICEBY4 is not set +CONFIG_CRC32_SLICEBY8=y +CONFIG_CRC4=m +CONFIG_CRC64=y +CONFIG_CRC64_ROCKSOFT=y +CONFIG_CRC_CCITT=y +CONFIG_CRC_T10DIF=y +CONFIG_CROSS_MEMORY_ATTACH=y +CONFIG_CROS_EC=m +CONFIG_CROS_EC_CHARDEV=m +CONFIG_CROS_EC_DEBUGFS=m +CONFIG_CROS_EC_I2C=m +CONFIG_CROS_EC_ISHTP=m +CONFIG_CROS_EC_LIGHTBAR=m +CONFIG_CROS_EC_LPC=m +CONFIG_CROS_EC_MKBP_PROXIMITY=m +CONFIG_CROS_EC_PROTO=y +CONFIG_CROS_EC_RPMSG=m +CONFIG_CROS_EC_SENSORHUB=m +CONFIG_CROS_EC_SPI=m +CONFIG_CROS_EC_SYSFS=m +CONFIG_CROS_EC_TYPEC=m +CONFIG_CROS_EC_VBC=m +CONFIG_CROS_KBD_LED_BACKLIGHT=m +CONFIG_CROS_USBPD_LOGGER=m +CONFIG_CROS_USBPD_NOTIFY=m +CONFIG_CRYPTO=y +CONFIG_CRYPTO_842=m +CONFIG_CRYPTO_ACOMP2=y +CONFIG_CRYPTO_ADIANTUM=m +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_AEGIS128=m +CONFIG_CRYPTO_AEGIS128_AESNI_SSE2=m +CONFIG_CRYPTO_AEGIS128_SIMD=y +CONFIG_CRYPTO_AES=y +CONFIG_CRYPTO_AES_ARM=m +CONFIG_CRYPTO_AES_ARM64=m +CONFIG_CRYPTO_AES_ARM64_BS=m +CONFIG_CRYPTO_AES_ARM64_CE=m +CONFIG_CRYPTO_AES_ARM64_CE_BLK=m +CONFIG_CRYPTO_AES_ARM64_CE_CCM=m +CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m +CONFIG_CRYPTO_AES_ARM_BS=m +CONFIG_CRYPTO_AES_ARM_CE=m +CONFIG_CRYPTO_AES_NI_INTEL=m +CONFIG_CRYPTO_AES_S390=m +CONFIG_CRYPTO_AES_TI=m +CONFIG_CRYPTO_AKCIPHER=y +CONFIG_CRYPTO_AKCIPHER2=y +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_ANSI_CPRNG=m +CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S=y +CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m +CONFIG_CRYPTO_ARCH_HAVE_LIB_CURVE25519=m +CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m +CONFIG_CRYPTO_AUTHENC=m +CONFIG_CRYPTO_BLAKE2B=m +CONFIG_CRYPTO_BLAKE2B_NEON=m +CONFIG_CRYPTO_BLAKE2S_ARM=y +CONFIG_CRYPTO_BLAKE2S_X86=y +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_BLOWFISH_COMMON=m +CONFIG_CRYPTO_BLOWFISH_X86_64=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m +CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m +CONFIG_CRYPTO_CAMELLIA_X86_64=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST5_AVX_X86_64=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_CAST6_AVX_X86_64=m +CONFIG_CRYPTO_CAST_COMMON=m +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CCM=m +CONFIG_CRYPTO_CFB=m +CONFIG_CRYPTO_CHACHA20=m +CONFIG_CRYPTO_CHACHA20POLY1305=m +CONFIG_CRYPTO_CHACHA20_NEON=m +CONFIG_CRYPTO_CHACHA20_X86_64=m +CONFIG_CRYPTO_CHACHA_S390=m +CONFIG_CRYPTO_CMAC=m +CONFIG_CRYPTO_CRC32=m +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CRC32C_INTEL=y +CONFIG_CRYPTO_CRC32C_VPMSUM=m +CONFIG_CRYPTO_CRC32_ARM_CE=m +CONFIG_CRYPTO_CRC32_PCLMUL=m +CONFIG_CRYPTO_CRC32_S390=m +CONFIG_CRYPTO_CRC64_ROCKSOFT=y +CONFIG_CRYPTO_CRCT10DIF=y +CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m +CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m +CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m +CONFIG_CRYPTO_CRCT10DIF_VPMSUM=m +CONFIG_CRYPTO_CRYPTD=m +CONFIG_CRYPTO_CTR=y +CONFIG_CRYPTO_CTS=y +CONFIG_CRYPTO_CURVE25519=m +CONFIG_CRYPTO_CURVE25519_NEON=m +CONFIG_CRYPTO_CURVE25519_X86=m +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_DES3_EDE_X86_64=m +CONFIG_CRYPTO_DES_S390=m +CONFIG_CRYPTO_DEV_ALLWINNER=y +CONFIG_CRYPTO_DEV_AMLOGIC_GXL=m +# CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG is not set +CONFIG_CRYPTO_DEV_ARTPEC6=m +CONFIG_CRYPTO_DEV_ATMEL_I2C=m +CONFIG_CRYPTO_DEV_BCM_SPU=m +CONFIG_CRYPTO_DEV_CAVIUM_ZIP=m +CONFIG_CRYPTO_DEV_CCP=y +CONFIG_CRYPTO_DEV_CCP_CRYPTO=m +CONFIG_CRYPTO_DEV_CCP_DD=m +# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set +CONFIG_CRYPTO_DEV_CCREE=m +CONFIG_CRYPTO_DEV_CHELSIO=m +CONFIG_CRYPTO_DEV_CPT=m +# CONFIG_CRYPTO_DEV_EXYNOS_RNG is not set +CONFIG_CRYPTO_DEV_FSL_CAAM=m +CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API=y +CONFIG_CRYPTO_DEV_FSL_CAAM_AHASH_API_DESC=m +CONFIG_CRYPTO_DEV_FSL_CAAM_COMMON=m +CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API=y +CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC=m +CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_QI=y +# CONFIG_CRYPTO_DEV_FSL_CAAM_DEBUG is not set +CONFIG_CRYPTO_DEV_FSL_CAAM_INTC=y +CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_COUNT_THLD=255 +CONFIG_CRYPTO_DEV_FSL_CAAM_INTC_TIME_THLD=2048 +CONFIG_CRYPTO_DEV_FSL_CAAM_JR=m +CONFIG_CRYPTO_DEV_FSL_CAAM_PKC_API=y +CONFIG_CRYPTO_DEV_FSL_CAAM_PRNG_API=y +CONFIG_CRYPTO_DEV_FSL_CAAM_RINGSIZE=9 +CONFIG_CRYPTO_DEV_FSL_CAAM_RNG_API=y +CONFIG_CRYPTO_DEV_FSL_DPAA2_CAAM=m +CONFIG_CRYPTO_DEV_HIFN_795X=m +CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y +CONFIG_CRYPTO_DEV_HISI_HPRE=m +CONFIG_CRYPTO_DEV_HISI_QM=m +CONFIG_CRYPTO_DEV_HISI_SEC=m +CONFIG_CRYPTO_DEV_HISI_SEC2=m +CONFIG_CRYPTO_DEV_HISI_TRNG=m +CONFIG_CRYPTO_DEV_HISI_ZIP=m +CONFIG_CRYPTO_DEV_KEEMBAY_OCS_AES_SM4=m +CONFIG_CRYPTO_DEV_KEEMBAY_OCS_AES_SM4_CTS=y +CONFIG_CRYPTO_DEV_KEEMBAY_OCS_AES_SM4_ECB=y +CONFIG_CRYPTO_DEV_KEEMBAY_OCS_ECC=m +CONFIG_CRYPTO_DEV_KEEMBAY_OCS_HCU=m +CONFIG_CRYPTO_DEV_KEEMBAY_OCS_HCU_HMAC_SHA224=y +CONFIG_CRYPTO_DEV_MARVELL=m +CONFIG_CRYPTO_DEV_MARVELL_CESA=m +# CONFIG_CRYPTO_DEV_MXS_DCP is not set +CONFIG_CRYPTO_DEV_NITROX=m +CONFIG_CRYPTO_DEV_NX=y +CONFIG_CRYPTO_DEV_NX_COMPRESS=m +CONFIG_CRYPTO_DEV_NX_COMPRESS_POWERNV=m +CONFIG_CRYPTO_DEV_NX_COMPRESS_PSERIES=m +CONFIG_CRYPTO_DEV_OCTEONTX2_CPT=m +CONFIG_CRYPTO_DEV_OCTEONTX_CPT=m +CONFIG_CRYPTO_DEV_OMAP=m +CONFIG_CRYPTO_DEV_OMAP_AES=m +CONFIG_CRYPTO_DEV_OMAP_DES=m +CONFIG_CRYPTO_DEV_OMAP_SHAM=m +CONFIG_CRYPTO_DEV_PADLOCK=y +CONFIG_CRYPTO_DEV_PADLOCK_AES=m +CONFIG_CRYPTO_DEV_PADLOCK_SHA=m +CONFIG_CRYPTO_DEV_QAT=m +CONFIG_CRYPTO_DEV_QAT_4XXX=m +CONFIG_CRYPTO_DEV_QAT_C3XXX=m +CONFIG_CRYPTO_DEV_QAT_C3XXXVF=m +CONFIG_CRYPTO_DEV_QAT_C62X=m +CONFIG_CRYPTO_DEV_QAT_C62XVF=m +CONFIG_CRYPTO_DEV_QAT_DH895xCC=m +CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m +CONFIG_CRYPTO_DEV_QCE=m +CONFIG_CRYPTO_DEV_QCE_AEAD=y +# CONFIG_CRYPTO_DEV_QCE_ENABLE_AEAD is not set +CONFIG_CRYPTO_DEV_QCE_ENABLE_ALL=y +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SHA is not set +# CONFIG_CRYPTO_DEV_QCE_ENABLE_SKCIPHER is not set +CONFIG_CRYPTO_DEV_QCE_SHA=y +CONFIG_CRYPTO_DEV_QCE_SKCIPHER=y +CONFIG_CRYPTO_DEV_QCE_SW_MAX_LEN=512 +CONFIG_CRYPTO_DEV_QCOM_RNG=m +CONFIG_CRYPTO_DEV_ROCKCHIP=m +# CONFIG_CRYPTO_DEV_S5P is not set +CONFIG_CRYPTO_DEV_SA2UL=m +CONFIG_CRYPTO_DEV_SAHARA=m +CONFIG_CRYPTO_DEV_SP_CCP=y +CONFIG_CRYPTO_DEV_SP_PSP=y +CONFIG_CRYPTO_DEV_SUN4I_SS=m +# CONFIG_CRYPTO_DEV_SUN4I_SS_DEBUG is not set +CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG=y +CONFIG_CRYPTO_DEV_SUN8I_CE=m +# CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG is not set +CONFIG_CRYPTO_DEV_SUN8I_CE_HASH=y +CONFIG_CRYPTO_DEV_SUN8I_CE_PRNG=y +CONFIG_CRYPTO_DEV_SUN8I_CE_TRNG=y +CONFIG_CRYPTO_DEV_SUN8I_SS=m +# CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG is not set +CONFIG_CRYPTO_DEV_SUN8I_SS_HASH=y +CONFIG_CRYPTO_DEV_SUN8I_SS_PRNG=y +CONFIG_CRYPTO_DEV_VIRTIO=m +CONFIG_CRYPTO_DEV_VMX=y +CONFIG_CRYPTO_DEV_VMX_ENCRYPT=m +CONFIG_CRYPTO_DEV_ZYNQMP_AES=m +CONFIG_CRYPTO_DEV_ZYNQMP_SHA3=m +CONFIG_CRYPTO_DH=y +CONFIG_CRYPTO_DRBG=y +CONFIG_CRYPTO_DRBG_CTR=y +CONFIG_CRYPTO_DRBG_HASH=y +CONFIG_CRYPTO_DRBG_HMAC=y +CONFIG_CRYPTO_DRBG_MENU=y +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_ECC=m +CONFIG_CRYPTO_ECDH=m +CONFIG_CRYPTO_ECDSA=m +CONFIG_CRYPTO_ECHAINIV=m +CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_ENGINE=m +CONFIG_CRYPTO_ESSIV=m +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_GCM=y +CONFIG_CRYPTO_GF128MUL=y +CONFIG_CRYPTO_GHASH=y +CONFIG_CRYPTO_GHASH_ARM64_CE=m +CONFIG_CRYPTO_GHASH_ARM_CE=m +CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m +CONFIG_CRYPTO_GHASH_S390=m +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_HASH_INFO=y +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_HW=y +CONFIG_CRYPTO_JITTERENTROPY=y +CONFIG_CRYPTO_KDF800108_CTR=y +CONFIG_CRYPTO_KEYWRAP=m +CONFIG_CRYPTO_KPP=y +CONFIG_CRYPTO_KPP2=y +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_LIB_ARC4=m +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y +CONFIG_CRYPTO_LIB_CHACHA=m +CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m +CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m +CONFIG_CRYPTO_LIB_CURVE25519=m +CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m +CONFIG_CRYPTO_LIB_DES=m +CONFIG_CRYPTO_LIB_POLY1305=m +CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m +CONFIG_CRYPTO_LIB_SHA256=y +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_LZ4=m +CONFIG_CRYPTO_LZ4HC=m +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MD5_PPC=m +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_NHPOLY1305=m +CONFIG_CRYPTO_NHPOLY1305_AVX2=m +CONFIG_CRYPTO_NHPOLY1305_NEON=m +CONFIG_CRYPTO_NHPOLY1305_SSE2=m +CONFIG_CRYPTO_NULL=y +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_OFB=m +CONFIG_CRYPTO_PAES_S390=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_PCRYPT=m +CONFIG_CRYPTO_POLY1305=m +CONFIG_CRYPTO_POLY1305_ARM=m +CONFIG_CRYPTO_POLY1305_NEON=m +CONFIG_CRYPTO_POLY1305_X86_64=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=y +CONFIG_CRYPTO_RSA=y +CONFIG_CRYPTO_SEQIV=y +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m +CONFIG_CRYPTO_SERPENT_AVX_X86_64=m +CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA1_ARM=m +CONFIG_CRYPTO_SHA1_ARM64_CE=m +CONFIG_CRYPTO_SHA1_ARM_CE=m +CONFIG_CRYPTO_SHA1_ARM_NEON=m +CONFIG_CRYPTO_SHA1_PPC=m +CONFIG_CRYPTO_SHA1_S390=m +CONFIG_CRYPTO_SHA1_SSSE3=m +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA256_ARM=m +CONFIG_CRYPTO_SHA256_ARM64=m +CONFIG_CRYPTO_SHA256_S390=m +CONFIG_CRYPTO_SHA256_SSSE3=m +CONFIG_CRYPTO_SHA2_ARM64_CE=m +CONFIG_CRYPTO_SHA2_ARM_CE=m +CONFIG_CRYPTO_SHA3=m +CONFIG_CRYPTO_SHA3_256_S390=m +CONFIG_CRYPTO_SHA3_512_S390=m +CONFIG_CRYPTO_SHA3_ARM64=m +CONFIG_CRYPTO_SHA512=y +CONFIG_CRYPTO_SHA512_ARM=m +CONFIG_CRYPTO_SHA512_ARM64=m +CONFIG_CRYPTO_SHA512_ARM64_CE=m +CONFIG_CRYPTO_SHA512_S390=m +CONFIG_CRYPTO_SHA512_SSSE3=m +CONFIG_CRYPTO_SIMD=m +CONFIG_CRYPTO_SKCIPHER=y +CONFIG_CRYPTO_SKCIPHER2=y +CONFIG_CRYPTO_SM2=m +CONFIG_CRYPTO_SM3=m +CONFIG_CRYPTO_SM3_ARM64_CE=m +CONFIG_CRYPTO_SM3_AVX_X86_64=m +CONFIG_CRYPTO_SM4=m +CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64=m +CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64=m +CONFIG_CRYPTO_SM4_ARM64_CE=m +CONFIG_CRYPTO_SM4_ARM64_CE_BLK=m +CONFIG_CRYPTO_SM4_ARM64_NEON_BLK=m +CONFIG_CRYPTO_STATS=y +CONFIG_CRYPTO_STREEBOG=m +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_TWOFISH_X86_64=m +CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m +CONFIG_CRYPTO_USER=m +CONFIG_CRYPTO_USER_API=m +CONFIG_CRYPTO_USER_API_AEAD=m +# CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE is not set +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_RNG=m +# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set +CONFIG_CRYPTO_USER_API_SKCIPHER=m +CONFIG_CRYPTO_VMAC=m +CONFIG_CRYPTO_VPMSUM_TESTER=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_XTS=y +CONFIG_CRYPTO_XXHASH=m +CONFIG_CRYPTO_ZSTD=m +CONFIG_CS89x0=m +CONFIG_CS89x0_PLATFORM=m +# CONFIG_CSD_LOCK_WAIT_DEBUG is not set +CONFIG_CS_DSP=m +CONFIG_CTCM=m +CONFIG_CURRENT_POINTER_IN_TPIDRURO=y +CONFIG_CUSE=m +CONFIG_CW1200=m +CONFIG_CW1200_WLAN_SDIO=m +CONFIG_CW1200_WLAN_SPI=m +CONFIG_CXD2880_SPI_DRV=m +CONFIG_CXL=m +CONFIG_CXLFLASH=m +CONFIG_CXL_ACPI=m +CONFIG_CXL_BASE=y +CONFIG_CXL_MEM=m +# CONFIG_CXL_MEM_RAW_COMMANDS is not set +CONFIG_CXL_PCI=m +CONFIG_CXL_PMEM=m +CONFIG_CXL_PORT=m +CONFIG_CXL_SUSPEND=y +CONFIG_CX_ECAT=m +CONFIG_CYPRESS_FIRMWARE=m +CONFIG_DA280=m +CONFIG_DA311=m +CONFIG_DA9052_WATCHDOG=m +CONFIG_DA9055_WATCHDOG=m +CONFIG_DA9062_THERMAL=m +CONFIG_DA9062_WATCHDOG=m +CONFIG_DA9063_WATCHDOG=m +CONFIG_DA9150_GPADC=m +# CONFIG_DAMON is not set +CONFIG_DASD=m +CONFIG_DASD_DIAG=m +CONFIG_DASD_ECKD=m +CONFIG_DASD_EER=y +CONFIG_DASD_FBA=m +CONFIG_DASD_PROFILE=y +CONFIG_DATA_SHIFT=24 +CONFIG_DAVICOM_PHY=m +CONFIG_DAX=y +CONFIG_DCA=m +CONFIG_DCACHE_WORD_ACCESS=y +CONFIG_DCB=y +CONFIG_DCDBAS=m +CONFIG_DCSSBLK=m +CONFIG_DDR=y +CONFIG_DE2104X=m +CONFIG_DE2104X_DSL=0 +CONFIG_DEBUGGER=y +CONFIG_DEBUG_ALIGN_RODATA=y +# CONFIG_DEBUG_ATOMIC_SLEEP is not set +# CONFIG_DEBUG_BOOT_PARAMS is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_CREDENTIALS is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_EFI is not set +# CONFIG_DEBUG_ENTRY is not set +# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +CONFIG_DEBUG_FS=y +CONFIG_DEBUG_FS_ALLOW_ALL=y +# CONFIG_DEBUG_FS_ALLOW_NONE is not set +# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set +# CONFIG_DEBUG_GPIO is not set +# CONFIG_DEBUG_HIGHMEM is not set +# CONFIG_DEBUG_HOTPLUG_CPU0 is not set +CONFIG_DEBUG_INFO=y +CONFIG_DEBUG_INFO_BTF_MODULES=y +# CONFIG_DEBUG_INFO_COMPRESSED is not set +# CONFIG_DEBUG_INFO_DWARF4 is not set +CONFIG_DEBUG_INFO_DWARF5=y +# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set +# CONFIG_DEBUG_INFO_NONE is not set +# CONFIG_DEBUG_INFO_REDUCED is not set +# CONFIG_DEBUG_INFO_SPLIT is not set +# CONFIG_DEBUG_IRQFLAGS is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_KERNEL_DC is not set +# CONFIG_DEBUG_KMAP_LOCAL is not set +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_DEBUG_KOBJECT is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_LL is not set +CONFIG_DEBUG_LL_INCLUDE="mach/debug-macro.S" +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_DEBUG_MEMORY_INIT is not set +CONFIG_DEBUG_MISC=y +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_NET is not set +# CONFIG_DEBUG_NMI_SELFTEST is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_DEBUG_PAGEALLOC is not set +# CONFIG_DEBUG_PAGE_REF is not set +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_DEBUG_PLIST is not set +# CONFIG_DEBUG_PREEMPT is not set +# CONFIG_DEBUG_RODATA_TEST is not set +# CONFIG_DEBUG_RSEQ is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_DEBUG_RWSEMS is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_SHIRQ is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_STACKOVERFLOW is not set +# CONFIG_DEBUG_STACK_USAGE is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_DEBUG_TLBFLUSH is not set +# CONFIG_DEBUG_USER is not set +CONFIG_DEBUG_VF_UART_PORT=1 +# CONFIG_DEBUG_VIRTUAL is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_VM_PGTABLE is not set +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +CONFIG_DEBUG_WX=y +CONFIG_DECNET_NF_GRABULATOR=m +# CONFIG_DECNET_ROUTER is not set +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_LZ4=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DECOMPRESS_LZO=y +CONFIG_DECOMPRESS_XZ=y +CONFIG_DECOMPRESS_ZSTD=y +CONFIG_DEFAULT_CUBIC=y +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +CONFIG_DEFAULT_INIT="" +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_SECURITY_APPARMOR=y +# CONFIG_DEFAULT_SECURITY_DAC is not set +# CONFIG_DEFAULT_SECURITY_SELINUX is not set +# CONFIG_DEFAULT_SECURITY_SMACK is not set +# CONFIG_DEFAULT_SECURITY_TOMOYO is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set +CONFIG_DEFXX=m +CONFIG_DELL_LAPTOP=m +CONFIG_DELL_RBTN=m +CONFIG_DELL_RBU=m +CONFIG_DELL_SMBIOS=m +CONFIG_DELL_SMBIOS_SMM=y +CONFIG_DELL_SMBIOS_WMI=y +CONFIG_DELL_SMO8800=m +CONFIG_DELL_UART_BACKLIGHT=m +CONFIG_DELL_WMI=m +CONFIG_DELL_WMI_AIO=m +CONFIG_DELL_WMI_DESCRIPTOR=m +CONFIG_DELL_WMI_LED=m +CONFIG_DELL_WMI_PRIVACY=y +CONFIG_DELL_WMI_SYSMAN=m +# CONFIG_DEPRECATED_PARAM_STRUCT is not set +CONFIG_DETECT_HUNG_TASK=y +# CONFIG_DEVFREQ_EVENT_EXYNOS_NOCP is not set +# CONFIG_DEVFREQ_EVENT_EXYNOS_PPMU is not set +CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI=m +CONFIG_DEVFREQ_GOV_PASSIVE=y +CONFIG_DEVFREQ_GOV_PERFORMANCE=y +CONFIG_DEVFREQ_GOV_POWERSAVE=y +CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y +CONFIG_DEVFREQ_GOV_USERSPACE=y +CONFIG_DEVFREQ_THERMAL=y +CONFIG_DEVICE_MIGRATION=y +CONFIG_DEVICE_PRIVATE=y +CONFIG_DEVMEM=y +CONFIG_DEVPORT=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_DEVTMPFS_SAFE=y +CONFIG_DEV_APPLETALK=m +CONFIG_DEV_COREDUMP=y +CONFIG_DEV_DAX=m +CONFIG_DEV_DAX_HMEM=m +CONFIG_DEV_DAX_HMEM_DEVICES=y +CONFIG_DEV_DAX_KMEM=m +CONFIG_DEV_DAX_PMEM=m +CONFIG_DHT11=m +CONFIG_DIAG288_WATCHDOG=m +CONFIG_DIMLIB=y +CONFIG_DL2K=m +CONFIG_DLHL60D=m +CONFIG_DLM=m +# CONFIG_DLM_DEBUG is not set +CONFIG_DLN2_ADC=m +CONFIG_DM9000=m +# CONFIG_DM9000_FORCE_SIMPLE_PHY_POLL is not set +CONFIG_DM9051=m +CONFIG_DM9102=m +# CONFIG_DMABUF_DEBUG is not set +CONFIG_DMABUF_HEAPS=y +CONFIG_DMABUF_HEAPS_CMA=y +CONFIG_DMABUF_HEAPS_SYSTEM=y +# CONFIG_DMABUF_MOVE_NOTIFY is not set +# CONFIG_DMABUF_SELFTESTS is not set +# CONFIG_DMABUF_SYSFS_STATS is not set +# CONFIG_DMADEVICES_DEBUG is not set +CONFIG_DMARD06=m +CONFIG_DMARD09=m +CONFIG_DMARD10=m +CONFIG_DMAR_TABLE=y +# CONFIG_DMATEST is not set +CONFIG_DMA_ACPI=y +# CONFIG_DMA_API_DEBUG is not set +CONFIG_DMA_BCM2835=y +CONFIG_DMA_COHERENT_POOL=y +CONFIG_DMA_DECLARE_COHERENT=y +CONFIG_DMA_DIRECT_REMAP=y +CONFIG_DMA_ENGINE=y +CONFIG_DMA_ENGINE_RAID=y +# CONFIG_DMA_FENCE_TRACE is not set +# CONFIG_DMA_MAP_BENCHMARK is not set +CONFIG_DMA_NONCOHERENT_MMAP=y +CONFIG_DMA_OF=y +CONFIG_DMA_OMAP=y +CONFIG_DMA_OPS=y +CONFIG_DMA_OPS_BYPASS=y +CONFIG_DMA_RESTRICTED_POOL=y +CONFIG_DMA_SHARED_BUFFER=y +CONFIG_DMA_SUN6I=m +CONFIG_DMI=y +CONFIG_DMIID=y +CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y +CONFIG_DMI_SYSFS=m +CONFIG_DM_AUDIT=y +CONFIG_DM_BIO_PRISON=m +CONFIG_DM_BUFIO=m +CONFIG_DM_CACHE=m +CONFIG_DM_CACHE_SMQ=m +CONFIG_DM_CLONE=m +CONFIG_DM_CRYPT=m +# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set +CONFIG_DM_DELAY=m +# CONFIG_DM_DUST is not set +CONFIG_DM_EBS=m +CONFIG_DM_ERA=m +CONFIG_DM_FLAKEY=m +CONFIG_DM_INIT=y +CONFIG_DM_INTEGRITY=m +CONFIG_DM_LOG_USERSPACE=m +CONFIG_DM_LOG_WRITES=m +CONFIG_DM_MIRROR=m +CONFIG_DM_MULTIPATH=m +CONFIG_DM_MULTIPATH_HST=m +CONFIG_DM_MULTIPATH_IOA=m +CONFIG_DM_MULTIPATH_QL=m +CONFIG_DM_MULTIPATH_ST=m +CONFIG_DM_PERSISTENT_DATA=m +CONFIG_DM_RAID=m +CONFIG_DM_SNAPSHOT=m +CONFIG_DM_SWITCH=m +CONFIG_DM_THIN_PROVISIONING=m +CONFIG_DM_UEVENT=y +CONFIG_DM_UNSTRIPED=m +CONFIG_DM_VERITY=m +# CONFIG_DM_VERITY_FEC is not set +CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG=y +# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING is not set +CONFIG_DM_WRITECACHE=m +CONFIG_DM_ZERO=m +CONFIG_DM_ZONED=m +CONFIG_DNOTIFY=y +CONFIG_DNS_RESOLVER=y +CONFIG_DOVE_CLK=y +CONFIG_DOVE_THERMAL=m +CONFIG_DP83640_PHY=m +CONFIG_DP83822_PHY=m +CONFIG_DP83848_PHY=m +CONFIG_DP83867_PHY=m +CONFIG_DP83869_PHY=m +CONFIG_DP83TC811_PHY=m +CONFIG_DPAA2_CONSOLE=m +CONFIG_DPAA_ERRATUM_A050385=y +# CONFIG_DPM_WATCHDOG is not set +CONFIG_DPOT_DAC=m +CONFIG_DPS310=m +CONFIG_DPTF_PCH_FIVR=m +CONFIG_DPTF_POWER=m +CONFIG_DQL=y +CONFIG_DRAGONRISE_FF=y +# CONFIG_DRBD_FAULT_INJECTION is not set +CONFIG_DRM=m +CONFIG_DRM_AMDGPU_CIK=y +CONFIG_DRM_AMDGPU_SI=y +CONFIG_DRM_AMDGPU_USERPTR=y +CONFIG_DRM_AMD_ACP=y +CONFIG_DRM_AMD_DC=y +CONFIG_DRM_AMD_DC_DCN=y +CONFIG_DRM_AMD_DC_HDCP=y +CONFIG_DRM_AMD_DC_SI=y +CONFIG_DRM_AMD_SECURE_DISPLAY=y +CONFIG_DRM_ANALOGIX_ANX6345=m +CONFIG_DRM_ANALOGIX_ANX7625=m +CONFIG_DRM_ANALOGIX_DP=m +CONFIG_DRM_ARCPGU=m +CONFIG_DRM_ARMADA=m +CONFIG_DRM_ASPEED_GFX=m +CONFIG_DRM_ATMEL_HLCDC=m +CONFIG_DRM_BOCHS=m +CONFIG_DRM_BRIDGE=y +CONFIG_DRM_BUDDY=m +CONFIG_DRM_CDNS_DSI=m +CONFIG_DRM_CDNS_MHDP8546=m +CONFIG_DRM_CDNS_MHDP8546_J721E=y +CONFIG_DRM_CHIPONE_ICN6211=m +CONFIG_DRM_CHRONTEL_CH7033=m +CONFIG_DRM_CROS_EC_ANX7688=m +# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set +# CONFIG_DRM_DEBUG_MODESET_LOCK is not set +# CONFIG_DRM_DEBUG_SELFTEST is not set +CONFIG_DRM_DISPLAY_CONNECTOR=m +CONFIG_DRM_DISPLAY_DP_HELPER=y +CONFIG_DRM_DISPLAY_HDCP_HELPER=y +CONFIG_DRM_DISPLAY_HDMI_HELPER=y +CONFIG_DRM_DISPLAY_HELPER=m +CONFIG_DRM_DP_AUX_BUS=m +CONFIG_DRM_DP_AUX_CHARDEV=y +CONFIG_DRM_DP_CEC=y +CONFIG_DRM_DW_HDMI=m +CONFIG_DRM_DW_HDMI_AHB_AUDIO=m +CONFIG_DRM_DW_HDMI_CEC=m +CONFIG_DRM_DW_HDMI_GP_AUDIO=m +CONFIG_DRM_DW_HDMI_I2S_AUDIO=m +CONFIG_DRM_DW_MIPI_DSI=m +CONFIG_DRM_ETNAVIV_THERMAL=y +CONFIG_DRM_EXYNOS=m +CONFIG_DRM_EXYNOS5433_DECON=y +# CONFIG_DRM_EXYNOS7_DECON is not set +CONFIG_DRM_EXYNOS_DSI=y +CONFIG_DRM_EXYNOS_FIMC=y +# CONFIG_DRM_EXYNOS_FIMD is not set +CONFIG_DRM_EXYNOS_G2D=y +CONFIG_DRM_EXYNOS_GSC=y +CONFIG_DRM_EXYNOS_HDMI=y +CONFIG_DRM_EXYNOS_IPP=y +CONFIG_DRM_EXYNOS_MIC=y +CONFIG_DRM_EXYNOS_MIXER=y +CONFIG_DRM_EXYNOS_ROTATOR=y +CONFIG_DRM_EXYNOS_SCALER=y +# CONFIG_DRM_EXYNOS_VIDI is not set +CONFIG_DRM_FBDEV_EMULATION=y +# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set +CONFIG_DRM_FBDEV_OVERALLOC=100 +CONFIG_DRM_FSL_DCU=m +CONFIG_DRM_FSL_LDB=m +CONFIG_DRM_GEM_CMA_HELPER=m +CONFIG_DRM_GEM_SHMEM_HELPER=m +CONFIG_DRM_GM12U320=m +CONFIG_DRM_GMA500=m +CONFIG_DRM_GUD=m +CONFIG_DRM_HDLCD=m +# CONFIG_DRM_HDLCD_SHOW_UNDERRUN is not set +CONFIG_DRM_HISI_HIBMC=m +CONFIG_DRM_HISI_KIRIN=m +CONFIG_DRM_HYPERV=m +CONFIG_DRM_I2C_ADV7511=m +CONFIG_DRM_I2C_ADV7511_AUDIO=y +CONFIG_DRM_I2C_ADV7511_CEC=y +CONFIG_DRM_I915=m +CONFIG_DRM_I915_CAPTURE_ERROR=y +CONFIG_DRM_I915_COMPRESS_ERROR=y +# CONFIG_DRM_I915_DEBUG is not set +# CONFIG_DRM_I915_DEBUG_GUC is not set +# CONFIG_DRM_I915_DEBUG_MMIO is not set +# CONFIG_DRM_I915_DEBUG_RUNTIME_PM is not set +# CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set +CONFIG_DRM_I915_FENCE_TIMEOUT=10000 +CONFIG_DRM_I915_FORCE_PROBE="" +CONFIG_DRM_I915_GVT=y +CONFIG_DRM_I915_GVT_KVMGT=m +CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500 +# CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set +CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000 +CONFIG_DRM_I915_PREEMPT_TIMEOUT=640 +CONFIG_DRM_I915_PXP=y +CONFIG_DRM_I915_REQUEST_TIMEOUT=20000 +# CONFIG_DRM_I915_SELFTEST is not set +CONFIG_DRM_I915_STOP_TIMEOUT=100 +# CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set +# CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set +CONFIG_DRM_I915_TIMESLICE_DURATION=1 +CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250 +CONFIG_DRM_I915_USERPTR=y +# CONFIG_DRM_I915_WERROR is not set +CONFIG_DRM_IMX=m +CONFIG_DRM_IMX_DCSS=m +CONFIG_DRM_IMX_HDMI=m +CONFIG_DRM_IMX_LDB=m +CONFIG_DRM_IMX_PARALLEL_DISPLAY=m +CONFIG_DRM_IMX_TVE=m +CONFIG_DRM_ITE_IT6505=m +CONFIG_DRM_ITE_IT66121=m +CONFIG_DRM_KMB_DISPLAY=m +CONFIG_DRM_KMS_HELPER=m +CONFIG_DRM_KOMEDA=m +# CONFIG_DRM_LEGACY is not set +CONFIG_DRM_LIMA=m +CONFIG_DRM_LOAD_EDID_FIRMWARE=y +CONFIG_DRM_LONTIUM_LT8912B=m +CONFIG_DRM_LONTIUM_LT9211=m +CONFIG_DRM_LONTIUM_LT9611=m +CONFIG_DRM_LONTIUM_LT9611UXC=m +CONFIG_DRM_LVDS_CODEC=m +CONFIG_DRM_MALI_DISPLAY=m +CONFIG_DRM_MCDE=m +CONFIG_DRM_MEDIATEK=m +CONFIG_DRM_MEDIATEK_HDMI=m +CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW=m +CONFIG_DRM_MESON=m +CONFIG_DRM_MESON_DW_HDMI=m +CONFIG_DRM_MIPI_DBI=m +CONFIG_DRM_MIPI_DSI=y +CONFIG_DRM_MSM=m +CONFIG_DRM_MSM_DP=y +CONFIG_DRM_MSM_DPU=y +CONFIG_DRM_MSM_DSI=y +CONFIG_DRM_MSM_DSI_10NM_PHY=y +CONFIG_DRM_MSM_DSI_14NM_PHY=y +CONFIG_DRM_MSM_DSI_20NM_PHY=y +CONFIG_DRM_MSM_DSI_28NM_8960_PHY=y +CONFIG_DRM_MSM_DSI_28NM_PHY=y +CONFIG_DRM_MSM_DSI_7NM_PHY=y +CONFIG_DRM_MSM_GPU_STATE=y +# CONFIG_DRM_MSM_GPU_SUDO is not set +CONFIG_DRM_MSM_HDMI=y +CONFIG_DRM_MSM_HDMI_HDCP=y +CONFIG_DRM_MSM_MDP4=y +CONFIG_DRM_MSM_MDP5=y +CONFIG_DRM_MSM_MDSS=y +CONFIG_DRM_MXS=y +CONFIG_DRM_MXSFB=m +CONFIG_DRM_NOMODESET=y +CONFIG_DRM_NOUVEAU_BACKLIGHT=y +# CONFIG_DRM_NOUVEAU_SVM is not set +CONFIG_DRM_NWL_MIPI_DSI=m +CONFIG_DRM_NXP_PTN3460=m +# CONFIG_DRM_OMAP is not set +CONFIG_DRM_PANEL=y +CONFIG_DRM_PANEL_ABT_Y030XX067A=m +CONFIG_DRM_PANEL_ARM_VERSATILE=m +CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596=m +CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0=m +CONFIG_DRM_PANEL_BOE_HIMAX8279D=m +CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m +CONFIG_DRM_PANEL_BRIDGE=y +CONFIG_DRM_PANEL_DSI_CM=m +CONFIG_DRM_PANEL_EDP=m +CONFIG_DRM_PANEL_ELIDA_KD35T133=m +CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m +CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D=m +CONFIG_DRM_PANEL_ILITEK_IL9322=m +CONFIG_DRM_PANEL_ILITEK_ILI9341=m +CONFIG_DRM_PANEL_ILITEK_ILI9881C=m +CONFIG_DRM_PANEL_INNOLUX_EJ030NA=m +CONFIG_DRM_PANEL_INNOLUX_P079ZCA=m +CONFIG_DRM_PANEL_JDI_LT070ME05000=m +CONFIG_DRM_PANEL_JDI_R63452=m +CONFIG_DRM_PANEL_KHADAS_TS050=m +CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04=m +CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W=m +CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829=m +CONFIG_DRM_PANEL_LG_LB035Q02=m +CONFIG_DRM_PANEL_LG_LG4573=m +CONFIG_DRM_PANEL_LVDS=m +CONFIG_DRM_PANEL_MANTIX_MLAF057WE51=m +CONFIG_DRM_PANEL_MIPI_DBI=m +CONFIG_DRM_PANEL_NEC_NL8048HL11=m +CONFIG_DRM_PANEL_NEWVISION_NV3052C=m +CONFIG_DRM_PANEL_NOVATEK_NT35510=m +CONFIG_DRM_PANEL_NOVATEK_NT35560=m +CONFIG_DRM_PANEL_NOVATEK_NT35950=m +CONFIG_DRM_PANEL_NOVATEK_NT36672A=m +CONFIG_DRM_PANEL_NOVATEK_NT39016=m +CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m +CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m +CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS=m +CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00=m +CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN=m +CONFIG_DRM_PANEL_RAYDIUM_RM67191=m +CONFIG_DRM_PANEL_RAYDIUM_RM68200=m +CONFIG_DRM_PANEL_RONBO_RB070D30=m +CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20=m +CONFIG_DRM_PANEL_SAMSUNG_DB7430=m +CONFIG_DRM_PANEL_SAMSUNG_LD9040=m +CONFIG_DRM_PANEL_SAMSUNG_S6D16D0=m +CONFIG_DRM_PANEL_SAMSUNG_S6D27A1=m +CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2=m +CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03=m +CONFIG_DRM_PANEL_SAMSUNG_S6E63M0=m +CONFIG_DRM_PANEL_SAMSUNG_S6E63M0_DSI=m +CONFIG_DRM_PANEL_SAMSUNG_S6E63M0_SPI=m +CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m +CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0=m +CONFIG_DRM_PANEL_SAMSUNG_SOFEF00=m +CONFIG_DRM_PANEL_SEIKO_43WVF1G=m +CONFIG_DRM_PANEL_SHARP_LQ101R1SX01=m +CONFIG_DRM_PANEL_SHARP_LS037V7DW01=m +CONFIG_DRM_PANEL_SHARP_LS043T1LE01=m +CONFIG_DRM_PANEL_SHARP_LS060T1SX01=m +CONFIG_DRM_PANEL_SIMPLE=m +CONFIG_DRM_PANEL_SITRONIX_ST7701=m +CONFIG_DRM_PANEL_SITRONIX_ST7703=m +CONFIG_DRM_PANEL_SITRONIX_ST7789V=m +CONFIG_DRM_PANEL_SONY_ACX565AKM=m +CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521=m +CONFIG_DRM_PANEL_TDO_TL070WSH30=m +CONFIG_DRM_PANEL_TPO_TD028TTEC1=m +CONFIG_DRM_PANEL_TPO_TD043MTEA1=m +CONFIG_DRM_PANEL_TPO_TPG110=m +CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA=m +CONFIG_DRM_PANEL_VISIONOX_RM69299=m +CONFIG_DRM_PANEL_WIDECHIPS_WS2401=m +CONFIG_DRM_PANEL_XINPENG_XPP055C272=m +CONFIG_DRM_PANFROST=m +CONFIG_DRM_PARADE_PS8622=m +CONFIG_DRM_PARADE_PS8640=m +CONFIG_DRM_PL111=m +CONFIG_DRM_PRIVACY_SCREEN=y +# CONFIG_DRM_RADEON_USERPTR is not set +CONFIG_DRM_RCAR_CMM=m +CONFIG_DRM_RCAR_DU=m +CONFIG_DRM_RCAR_DW_HDMI=m +CONFIG_DRM_RCAR_LVDS=m +CONFIG_DRM_RCAR_MIPI_DSI=m +CONFIG_DRM_RCAR_USE_CMM=y +CONFIG_DRM_RCAR_USE_LVDS=y +CONFIG_DRM_RCAR_VSP=y +CONFIG_DRM_RCAR_WRITEBACK=y +CONFIG_DRM_ROCKCHIP=m +CONFIG_DRM_SCHED=m +CONFIG_DRM_SII902X=m +CONFIG_DRM_SII9234=m +CONFIG_DRM_SIL_SII8620=m +CONFIG_DRM_SIMPLE_BRIDGE=m +CONFIG_DRM_SPRD=m +CONFIG_DRM_SSD130X_I2C=m +CONFIG_DRM_SSD130X_SPI=m +# CONFIG_DRM_STI is not set +CONFIG_DRM_STM=m +CONFIG_DRM_STM_DSI=m +CONFIG_DRM_SUN4I=m +CONFIG_DRM_SUN4I_BACKEND=m +CONFIG_DRM_SUN4I_HDMI=m +CONFIG_DRM_SUN4I_HDMI_CEC=y +CONFIG_DRM_SUN6I_DSI=m +CONFIG_DRM_SUN8I_DW_HDMI=m +CONFIG_DRM_SUN8I_MIXER=m +CONFIG_DRM_SUN8I_TCON_TOP=m +CONFIG_DRM_TEGRA=m +# CONFIG_DRM_TEGRA_DEBUG is not set +CONFIG_DRM_TEGRA_STAGING=y +CONFIG_DRM_THINE_THC63LVD1024=m +CONFIG_DRM_TIDSS=m +CONFIG_DRM_TILCDC=m +CONFIG_DRM_TI_SN65DSI83=m +CONFIG_DRM_TI_SN65DSI86=m +CONFIG_DRM_TI_TFP410=m +CONFIG_DRM_TI_TPD12S015=m +CONFIG_DRM_TOSHIBA_TC358762=m +CONFIG_DRM_TOSHIBA_TC358764=m +CONFIG_DRM_TOSHIBA_TC358767=m +CONFIG_DRM_TOSHIBA_TC358768=m +CONFIG_DRM_TOSHIBA_TC358775=m +CONFIG_DRM_TTM=m +CONFIG_DRM_TTM_HELPER=m +CONFIG_DRM_TVE200=m +CONFIG_DRM_UDL=m +CONFIG_DRM_V3D=m +CONFIG_DRM_VBOXVIDEO=m +CONFIG_DRM_VC4=m +CONFIG_DRM_VC4_HDMI_CEC=y +CONFIG_DRM_VIRTIO_GPU=m +CONFIG_DRM_VMWGFX=m +CONFIG_DRM_VMWGFX_FBCON=y +# CONFIG_DRM_VMWGFX_MKSSTATS is not set +CONFIG_DRM_VRAM_HELPER=m +CONFIG_DRM_XEN=y +CONFIG_DRM_XEN_FRONTEND=m +CONFIG_DRM_ZYNQMP_DPSUB=m +CONFIG_DS1803=m +CONFIG_DS4424=m +CONFIG_DST_CACHE=y +CONFIG_DTC=y +CONFIG_DTL=y +CONFIG_DTPM=y +CONFIG_DTPM_CPU=y +# CONFIG_DTPM_DEVFREQ is not set +CONFIG_DT_IDLE_GENPD=y +CONFIG_DT_IDLE_STATES=y +CONFIG_DUMMY=m +CONFIG_DUMMY_CONSOLE=y +CONFIG_DUMMY_CONSOLE_COLUMNS=80 +CONFIG_DUMMY_CONSOLE_ROWS=25 +CONFIG_DVB_A8293=m +CONFIG_DVB_AF9013=m +CONFIG_DVB_AF9033=m +CONFIG_DVB_AS102=m +CONFIG_DVB_AS102_FE=m +CONFIG_DVB_ASCOT2E=m +CONFIG_DVB_ATBM8830=m +CONFIG_DVB_AU8522=m +CONFIG_DVB_AU8522_DTV=m +CONFIG_DVB_AU8522_V4L=m +CONFIG_DVB_AV7110=m +CONFIG_DVB_AV7110_IR=y +CONFIG_DVB_AV7110_OSD=y +CONFIG_DVB_B2C2_FLEXCOP=m +CONFIG_DVB_B2C2_FLEXCOP_PCI=m +# CONFIG_DVB_B2C2_FLEXCOP_PCI_DEBUG is not set +CONFIG_DVB_B2C2_FLEXCOP_USB=m +# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set +CONFIG_DVB_BCM3510=m +CONFIG_DVB_BT8XX=m +CONFIG_DVB_BUDGET=m +CONFIG_DVB_BUDGET_AV=m +CONFIG_DVB_BUDGET_CI=m +CONFIG_DVB_BUDGET_CORE=m +CONFIG_DVB_BUDGET_PATCH=m +# CONFIG_DVB_C8SECTPFE is not set +CONFIG_DVB_CORE=m +CONFIG_DVB_CX22700=m +CONFIG_DVB_CX22702=m +CONFIG_DVB_CX24110=m +CONFIG_DVB_CX24116=m +CONFIG_DVB_CX24117=m +CONFIG_DVB_CX24120=m +CONFIG_DVB_CX24123=m +CONFIG_DVB_CXD2099=m +CONFIG_DVB_CXD2820R=m +CONFIG_DVB_CXD2841ER=m +CONFIG_DVB_CXD2880=m +CONFIG_DVB_DDBRIDGE=m +# CONFIG_DVB_DDBRIDGE_MSIENABLE is not set +# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set +CONFIG_DVB_DIB3000MB=m +CONFIG_DVB_DIB3000MC=m +CONFIG_DVB_DIB7000M=m +CONFIG_DVB_DIB7000P=m +CONFIG_DVB_DIB8000=m +CONFIG_DVB_DIB9000=m +CONFIG_DVB_DM1105=m +CONFIG_DVB_DRX39XYJ=m +CONFIG_DVB_DRXD=m +CONFIG_DVB_DRXK=m +CONFIG_DVB_DS3000=m +CONFIG_DVB_DUMMY_FE=m +CONFIG_DVB_DYNAMIC_MINORS=y +CONFIG_DVB_EC100=m +CONFIG_DVB_FIREDTV=m +CONFIG_DVB_FIREDTV_INPUT=y +CONFIG_DVB_GP8PSK_FE=m +CONFIG_DVB_HELENE=m +CONFIG_DVB_HOPPER=m +CONFIG_DVB_HORUS3A=m +CONFIG_DVB_ISL6405=m +CONFIG_DVB_ISL6421=m +CONFIG_DVB_ISL6423=m +CONFIG_DVB_IX2505V=m +CONFIG_DVB_L64781=m +CONFIG_DVB_LG2160=m +CONFIG_DVB_LGDT3305=m +CONFIG_DVB_LGDT3306A=m +CONFIG_DVB_LGDT330X=m +CONFIG_DVB_LGS8GL5=m +CONFIG_DVB_LGS8GXX=m +CONFIG_DVB_LNBH25=m +CONFIG_DVB_LNBH29=m +CONFIG_DVB_LNBP21=m +CONFIG_DVB_LNBP22=m +CONFIG_DVB_M88DS3103=m +CONFIG_DVB_M88RS2000=m +CONFIG_DVB_MANTIS=m +CONFIG_DVB_MAX_ADAPTERS=8 +CONFIG_DVB_MB86A16=m +CONFIG_DVB_MB86A20S=m +# CONFIG_DVB_MMAP is not set +CONFIG_DVB_MN88443X=m +CONFIG_DVB_MN88472=m +CONFIG_DVB_MN88473=m +CONFIG_DVB_MT312=m +CONFIG_DVB_MT352=m +CONFIG_DVB_MXL5XX=m +CONFIG_DVB_MXL692=m +CONFIG_DVB_NET=y +CONFIG_DVB_NETUP_UNIDVB=m +CONFIG_DVB_NGENE=m +CONFIG_DVB_NXT200X=m +CONFIG_DVB_NXT6000=m +CONFIG_DVB_OR51132=m +CONFIG_DVB_OR51211=m +CONFIG_DVB_PLATFORM_DRIVERS=y +CONFIG_DVB_PLL=m +CONFIG_DVB_PLUTO2=m +CONFIG_DVB_PT1=m +CONFIG_DVB_PT3=m +CONFIG_DVB_RTL2830=m +CONFIG_DVB_RTL2832=m +CONFIG_DVB_RTL2832_SDR=m +CONFIG_DVB_S5H1409=m +CONFIG_DVB_S5H1411=m +CONFIG_DVB_S5H1420=m +CONFIG_DVB_S5H1432=m +CONFIG_DVB_S921=m +CONFIG_DVB_SI2165=m +CONFIG_DVB_SI2168=m +CONFIG_DVB_SI21XX=m +CONFIG_DVB_SMIPCIE=m +CONFIG_DVB_SP2=m +CONFIG_DVB_SP8870=m +CONFIG_DVB_SP887X=m +CONFIG_DVB_STB0899=m +CONFIG_DVB_STB6000=m +CONFIG_DVB_STB6100=m +CONFIG_DVB_STV0288=m +CONFIG_DVB_STV0297=m +CONFIG_DVB_STV0299=m +CONFIG_DVB_STV0367=m +CONFIG_DVB_STV0900=m +CONFIG_DVB_STV090x=m +CONFIG_DVB_STV0910=m +CONFIG_DVB_STV6110=m +CONFIG_DVB_STV6110x=m +CONFIG_DVB_STV6111=m +CONFIG_DVB_TC90522=m +CONFIG_DVB_TDA10021=m +CONFIG_DVB_TDA10023=m +CONFIG_DVB_TDA10048=m +CONFIG_DVB_TDA1004X=m +CONFIG_DVB_TDA10071=m +CONFIG_DVB_TDA10086=m +CONFIG_DVB_TDA18271C2DD=m +CONFIG_DVB_TDA665x=m +CONFIG_DVB_TDA8083=m +CONFIG_DVB_TDA8261=m +CONFIG_DVB_TDA826X=m +# CONFIG_DVB_TEST_DRIVERS is not set +CONFIG_DVB_TS2020=m +CONFIG_DVB_TTUSB_BUDGET=m +CONFIG_DVB_TTUSB_DEC=m +CONFIG_DVB_TUA6100=m +CONFIG_DVB_TUNER_CX24113=m +CONFIG_DVB_TUNER_DIB0070=m +CONFIG_DVB_TUNER_DIB0090=m +CONFIG_DVB_TUNER_ITD1000=m +# CONFIG_DVB_ULE_DEBUG is not set +CONFIG_DVB_USB=m +CONFIG_DVB_USB_A800=m +CONFIG_DVB_USB_AF9005=m +CONFIG_DVB_USB_AF9005_REMOTE=m +CONFIG_DVB_USB_AF9015=m +CONFIG_DVB_USB_AF9035=m +CONFIG_DVB_USB_ANYSEE=m +CONFIG_DVB_USB_AU6610=m +CONFIG_DVB_USB_AZ6007=m +CONFIG_DVB_USB_AZ6027=m +CONFIG_DVB_USB_CE6230=m +CONFIG_DVB_USB_CINERGY_T2=m +CONFIG_DVB_USB_CXUSB=m +CONFIG_DVB_USB_CXUSB_ANALOG=y +# CONFIG_DVB_USB_DEBUG is not set +CONFIG_DVB_USB_DIB0700=m +CONFIG_DVB_USB_DIB3000MC=m +CONFIG_DVB_USB_DIBUSB_MB=m +# CONFIG_DVB_USB_DIBUSB_MB_FAULTY is not set +CONFIG_DVB_USB_DIBUSB_MC=m +CONFIG_DVB_USB_DIGITV=m +CONFIG_DVB_USB_DTT200U=m +CONFIG_DVB_USB_DTV5100=m +CONFIG_DVB_USB_DVBSKY=m +CONFIG_DVB_USB_DW2102=m +CONFIG_DVB_USB_EC168=m +CONFIG_DVB_USB_GL861=m +CONFIG_DVB_USB_GP8PSK=m +CONFIG_DVB_USB_LME2510=m +CONFIG_DVB_USB_M920X=m +CONFIG_DVB_USB_MXL111SF=m +CONFIG_DVB_USB_NOVA_T_USB2=m +CONFIG_DVB_USB_OPERA1=m +CONFIG_DVB_USB_PCTV452E=m +CONFIG_DVB_USB_RTL28XXU=m +CONFIG_DVB_USB_TECHNISAT_USB2=m +CONFIG_DVB_USB_TTUSB2=m +CONFIG_DVB_USB_UMT_010=m +CONFIG_DVB_USB_V2=m +CONFIG_DVB_USB_VP702X=m +CONFIG_DVB_USB_VP7045=m +CONFIG_DVB_USB_ZD1301=m +CONFIG_DVB_VES1820=m +CONFIG_DVB_VES1X93=m +CONFIG_DVB_ZD1301_DEMOD=m +CONFIG_DVB_ZL10036=m +CONFIG_DVB_ZL10039=m +CONFIG_DVB_ZL10353=m +CONFIG_DWC_XLGMAC=m +CONFIG_DWC_XLGMAC_PCI=m +CONFIG_DWMAC_DWC_QOS_ETH=m +CONFIG_DWMAC_GENERIC=m +CONFIG_DWMAC_IMX8=m +CONFIG_DWMAC_INTEL=m +CONFIG_DWMAC_IPQ806X=m +CONFIG_DWMAC_LOONGSON=m +CONFIG_DWMAC_MEDIATEK=m +CONFIG_DWMAC_MESON=m +CONFIG_DWMAC_QCOM_ETHQOS=m +CONFIG_DWMAC_ROCKCHIP=m +CONFIG_DWMAC_SOCFPGA=m +CONFIG_DWMAC_SUN8I=m +# CONFIG_DWMAC_SUNXI is not set +CONFIG_DWMAC_VISCONTI=m +CONFIG_DW_APB_ICTL=y +CONFIG_DW_APB_TIMER=y +CONFIG_DW_APB_TIMER_OF=y +CONFIG_DW_AXI_DMAC=m +CONFIG_DW_DMAC=m +CONFIG_DW_DMAC_CORE=m +CONFIG_DW_DMAC_PCI=m +CONFIG_DW_EDMA=m +CONFIG_DW_EDMA_PCIE=m +CONFIG_DW_I3C_MASTER=m +CONFIG_DYNAMIC_DEBUG=y +CONFIG_DYNAMIC_DEBUG_CORE=y +CONFIG_DYNAMIC_EVENTS=y +CONFIG_DYNAMIC_FTRACE=y +CONFIG_DYNAMIC_FTRACE_WITH_ARGS=y +CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y +CONFIG_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_DYNAMIC_MEMORY_LAYOUT=y +CONFIG_DYNAMIC_PHYSICAL_MASK=y +CONFIG_DYNAMIC_SIGFRAME=y +CONFIG_E100=m +CONFIG_E1000=m +CONFIG_E1000E=m +CONFIG_E1000E_HWTS=y +CONFIG_EADM_SCH=m +CONFIG_EARLY_PRINTK=y +CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_EARLY_PRINTK_USB=y +CONFIG_EARLY_PRINTK_USB_XDBC=y +CONFIG_EBC_C384_WDT=m +CONFIG_ECRYPT_FS=y +CONFIG_ECRYPT_FS_MESSAGING=y +CONFIG_EDAC=y +CONFIG_EDAC_ALTERA=y +CONFIG_EDAC_ALTERA_ETHERNET=y +CONFIG_EDAC_ALTERA_L2C=y +CONFIG_EDAC_ALTERA_NAND=y +CONFIG_EDAC_ALTERA_OCRAM=y +CONFIG_EDAC_ALTERA_QSPI=y +CONFIG_EDAC_ALTERA_SDMMC=y +CONFIG_EDAC_ALTERA_SDRAM=y +CONFIG_EDAC_ALTERA_USB=y +# CONFIG_EDAC_AL_MC is not set +CONFIG_EDAC_AMD64=m +CONFIG_EDAC_ARMADA_XP=y +CONFIG_EDAC_ASPEED=m +CONFIG_EDAC_ATOMIC_SCRUB=y +CONFIG_EDAC_BLUEFIELD=m +CONFIG_EDAC_CPC925=m +# CONFIG_EDAC_DEBUG is not set +CONFIG_EDAC_DECODE_MCE=m +CONFIG_EDAC_DMC520=m +CONFIG_EDAC_E752X=m +CONFIG_EDAC_GHES=y +CONFIG_EDAC_HIGHBANK_L2=m +CONFIG_EDAC_HIGHBANK_MC=m +CONFIG_EDAC_I10NM=m +CONFIG_EDAC_I3000=m +CONFIG_EDAC_I3200=m +CONFIG_EDAC_I5000=m +CONFIG_EDAC_I5100=m +CONFIG_EDAC_I5400=m +CONFIG_EDAC_I7300=m +CONFIG_EDAC_I7CORE=m +CONFIG_EDAC_I82975X=m +CONFIG_EDAC_IE31200=m +CONFIG_EDAC_IGEN6=m +CONFIG_EDAC_LAYERSCAPE=m +# CONFIG_EDAC_LEGACY_SYSFS is not set +CONFIG_EDAC_PND2=m +CONFIG_EDAC_QCOM=m +CONFIG_EDAC_SBRIDGE=m +CONFIG_EDAC_SIFIVE=y +CONFIG_EDAC_SKX=m +CONFIG_EDAC_SUPPORT=y +CONFIG_EDAC_SYNOPSYS=m +CONFIG_EDAC_THUNDERX=m +CONFIG_EDAC_TI=m +CONFIG_EDAC_X38=m +CONFIG_EDAC_XGENE=m +CONFIG_EDD=y +CONFIG_EDD_OFF=y +CONFIG_EEEPC_LAPTOP=m +CONFIG_EEEPC_WMI=m +CONFIG_EEH=y +CONFIG_EEPROM_93XX46=m +CONFIG_EEPROM_AT25=m +CONFIG_EFI=y +CONFIG_EFIVAR_FS=y +# CONFIG_EFI_ARMSTUB_DTB_LOADER is not set +CONFIG_EFI_BOOTLOADER_CONTROL=m +CONFIG_EFI_CAPSULE_LOADER=m +CONFIG_EFI_COCO_SECRET=y +CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y +CONFIG_EFI_DEV_PATH_PARSER=y +# CONFIG_EFI_DISABLE_PCI_DMA is not set +# CONFIG_EFI_DISABLE_RUNTIME is not set +CONFIG_EFI_DXE_MEM_ATTRIBUTES=y +CONFIG_EFI_EARLYCON=y +CONFIG_EFI_EMBEDDED_FIRMWARE=y +CONFIG_EFI_ESRT=y +# CONFIG_EFI_FAKE_MEMMAP is not set +CONFIG_EFI_GENERIC_STUB=y +CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y +CONFIG_EFI_MIXED=y +CONFIG_EFI_PARAMS_FROM_FDT=y +CONFIG_EFI_PARTITION=y +# CONFIG_EFI_PGT_DUMP is not set +CONFIG_EFI_RCI2_TABLE=y +CONFIG_EFI_RUNTIME_MAP=y +CONFIG_EFI_RUNTIME_WRAPPERS=y +CONFIG_EFI_SECRET=m +CONFIG_EFI_SOFT_RESERVE=y +CONFIG_EFI_STUB=y +CONFIG_EFI_TEST=m +CONFIG_EFI_VARS=y +CONFIG_EFI_VARS_PSTORE=m +# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set +CONFIG_EINT_MTK=y +CONFIG_EISA=y +CONFIG_EISA_NAMES=y +CONFIG_EISA_PCI_EISA=y +CONFIG_EISA_VIRTUAL_ROOT=y +CONFIG_EISA_VLB_PRIMING=y +CONFIG_EL3=m +CONFIG_ELFCORE=y +CONFIG_ELF_CORE=y +CONFIG_EMAC_ROCKCHIP=m +# CONFIG_EMBEDDED is not set +CONFIG_EM_TIMER_STI=y +CONFIG_ENA_ETHERNET=m +CONFIG_ENC28J60=m +# CONFIG_ENC28J60_WRITEVERIFY is not set +CONFIG_ENCRYPTED_KEYS=y +CONFIG_ENCX24J600=m +CONFIG_ENERGY_MODEL=y +CONFIG_ENIC=m +CONFIG_ENVELOPE_DETECTOR=m +CONFIG_EPAPR_BOOT=y +CONFIG_EPAPR_PARAVIRT=y +CONFIG_EPIC100=m +CONFIG_EPOLL=y +CONFIG_EQUALIZER=m +CONFIG_EROFS_FS=m +# CONFIG_EROFS_FS_DEBUG is not set +CONFIG_EROFS_FS_POSIX_ACL=y +CONFIG_EROFS_FS_SECURITY=y +CONFIG_EROFS_FS_XATTR=y +CONFIG_EROFS_FS_ZIP=y +# CONFIG_EROFS_FS_ZIP_LZMA is not set +CONFIG_ERRATA_SIFIVE=y +CONFIG_ERRATA_SIFIVE_CIP_1200=y +CONFIG_ERRATA_SIFIVE_CIP_453=y +# CONFIG_ERRATA_THEAD is not set +CONFIG_ET131X=m +CONFIG_ETHERNET=y +CONFIG_ETHTOOL_NETLINK=y +CONFIG_EUROTECH_WDT=m +CONFIG_EVENTFD=y +CONFIG_EVENT_TRACING=y +CONFIG_EVM=y +CONFIG_EVM_ADD_XATTRS=y +CONFIG_EVM_ATTR_FSUUID=y +CONFIG_EVM_EXTRA_SMACK_XATTRS=y +CONFIG_EVM_X509_PATH="/etc/keys/x509_evm.der" +CONFIG_EXCLUSIVE_SYSTEM_RAM=y +CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" +CONFIG_EXPERT=y +CONFIG_EXPOLINE=y +CONFIG_EXPOLINE_AUTO=y +CONFIG_EXPOLINE_EXTERN=y +# CONFIG_EXPOLINE_FULL is not set +# CONFIG_EXPOLINE_OFF is not set +CONFIG_EXPORTFS=y +CONFIG_EXPORTFS_BLOCK_OPS=y +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +# CONFIG_EXT4_DEBUG is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_EXT4_USE_FOR_EXT2=y +CONFIG_EXTCON_ADC_JACK=m +CONFIG_EXTCON_AXP288=m +CONFIG_EXTCON_FSA9480=m +CONFIG_EXTCON_GPIO=m +CONFIG_EXTCON_INTEL_CHT_WC=m +CONFIG_EXTCON_INTEL_INT3496=m +CONFIG_EXTCON_INTEL_MRFLD=m +CONFIG_EXTCON_MAX14577=m +CONFIG_EXTCON_MAX3355=m +CONFIG_EXTCON_MAX77693=m +CONFIG_EXTCON_MAX77843=m +CONFIG_EXTCON_MAX8997=m +CONFIG_EXTCON_PALMAS=m +CONFIG_EXTCON_PTN5150=m +CONFIG_EXTCON_QCOM_SPMI_MISC=m +CONFIG_EXTCON_RT8973A=m +CONFIG_EXTCON_SM5502=m +CONFIG_EXTCON_USBC_CROS_EC=m +CONFIG_EXTCON_USBC_TUSB320=m +CONFIG_EXTCON_USB_GPIO=m +CONFIG_EXTRA_FIRMWARE="" +CONFIG_EXTRA_TARGETS="" +# CONFIG_EXYNOS5422_DMC is not set +# CONFIG_EXYNOS_ADC is not set +# CONFIG_EXYNOS_AUDSS_CLK_CON is not set +# CONFIG_EXYNOS_CHIPID is not set +# CONFIG_EXYNOS_CLKOUT is not set +CONFIG_EXYNOS_CPU_SUSPEND=y +# CONFIG_EXYNOS_IOMMU is not set +CONFIG_EXYNOS_IRQ_COMBINER=y +CONFIG_EXYNOS_PMU=y +CONFIG_EXYNOS_PMU_ARM_DRIVERS=y +CONFIG_EXYNOS_PM_DOMAINS=y +CONFIG_EXYNOS_SROM=y +CONFIG_EXYNOS_THERMAL=y +# CONFIG_EXYNOS_USI is not set +CONFIG_EZCHIP_NPS_MANAGEMENT_ENET=m +CONFIG_EZX_PCAP=y +# CONFIG_F2FS_CHECK_FS is not set +# CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_FS_LZ4=y +CONFIG_F2FS_FS_LZ4HC=y +CONFIG_F2FS_FS_LZO=y +CONFIG_F2FS_FS_LZORLE=y +CONFIG_F2FS_FS_POSIX_ACL=y +CONFIG_F2FS_FS_SECURITY=y +CONFIG_F2FS_FS_XATTR=y +CONFIG_F2FS_FS_ZSTD=y +# CONFIG_F2FS_IOSTAT is not set +CONFIG_F2FS_STAT_FS=y +CONFIG_F2FS_UNFAIR_RWSEM=y +CONFIG_F71808E_WDT=m +CONFIG_FAILOVER=m +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_FANOTIFY=y +CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y +CONFIG_FARSYNC=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_FAT_DEFAULT_UTF8 is not set +CONFIG_FAT_FS=y +# CONFIG_FAULT_INJECTION is not set +CONFIG_FA_DUMP=y +CONFIG_FB=y +# CONFIG_FB_3DFX_ACCEL is not set +# CONFIG_FB_3DFX_I2C is not set +CONFIG_FB_ARC=m +CONFIG_FB_ARMCLCD=m +CONFIG_FB_ATY128_BACKLIGHT=y +CONFIG_FB_ATY_BACKLIGHT=y +CONFIG_FB_ATY_CT=y +# CONFIG_FB_ATY_GENERIC_LCD is not set +CONFIG_FB_ATY_GX=y +CONFIG_FB_BACKLIGHT=m +CONFIG_FB_CARILLO_RANCH=m +CONFIG_FB_CARMINE_DRAM_EVAL=y +CONFIG_FB_CFB_REV_PIXELS_IN_BYTE=y +CONFIG_FB_CMDLINE=y +CONFIG_FB_CYBER2000_DDC=y +CONFIG_FB_DA8XX=m +CONFIG_FB_DDC=m +CONFIG_FB_DEFERRED_IO=y +CONFIG_FB_EFI=y +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_GOLDFISH=m +CONFIG_FB_HECUBA=m +CONFIG_FB_HGA=m +CONFIG_FB_HYPERV=m +CONFIG_FB_IMX=m +CONFIG_FB_INTEL=m +# CONFIG_FB_INTEL_DEBUG is not set +CONFIG_FB_INTEL_I2C=y +CONFIG_FB_LE80578=m +CONFIG_FB_MACMODES=y +CONFIG_FB_MATROX_G=y +CONFIG_FB_MATROX_I2C=m +CONFIG_FB_MATROX_MAVEN=m +CONFIG_FB_MATROX_MILLENIUM=y +CONFIG_FB_MATROX_MYSTIQUE=y +CONFIG_FB_MB862XX_I2C=y +# CONFIG_FB_MB862XX_LIME is not set +CONFIG_FB_MB862XX_PCI_GDC=y +CONFIG_FB_MODE_HELPERS=y +CONFIG_FB_MX3=y +CONFIG_FB_N411=m +CONFIG_FB_NOTIFY=y +CONFIG_FB_NVIDIA_BACKLIGHT=y +# CONFIG_FB_NVIDIA_DEBUG is not set +CONFIG_FB_NVIDIA_I2C=y +CONFIG_FB_OF=y +CONFIG_FB_OMAP2=m +# CONFIG_FB_OMAP2_CONNECTOR_ANALOG_TV is not set +# CONFIG_FB_OMAP2_CONNECTOR_DVI is not set +# CONFIG_FB_OMAP2_CONNECTOR_HDMI is not set +# CONFIG_FB_OMAP2_DEBUG_SUPPORT is not set +CONFIG_FB_OMAP2_DSS=m +# CONFIG_FB_OMAP2_DSS_DEBUG is not set +# CONFIG_FB_OMAP2_DSS_DEBUGFS is not set +CONFIG_FB_OMAP2_DSS_DPI=y +# CONFIG_FB_OMAP2_DSS_DSI is not set +CONFIG_FB_OMAP2_DSS_HDMI_COMMON=y +CONFIG_FB_OMAP2_DSS_INIT=y +CONFIG_FB_OMAP2_DSS_MIN_FCK_PER_PCK=0 +# CONFIG_FB_OMAP2_DSS_SDI is not set +CONFIG_FB_OMAP2_DSS_SLEEP_AFTER_VENC_RESET=y +CONFIG_FB_OMAP2_DSS_VENC=y +# CONFIG_FB_OMAP2_ENCODER_OPA362 is not set +# CONFIG_FB_OMAP2_ENCODER_TFP410 is not set +# CONFIG_FB_OMAP2_ENCODER_TPD12S015 is not set +CONFIG_FB_OMAP2_NUM_FBS=3 +# CONFIG_FB_OMAP2_PANEL_DPI is not set +# CONFIG_FB_OMAP2_PANEL_LGPHILIPS_LB035Q02 is not set +CONFIG_FB_OMAP4_DSS_HDMI=y +# CONFIG_FB_OMAP5_DSS_HDMI is not set +CONFIG_FB_PM2_FIFO_DISCONNECT=y +CONFIG_FB_PROVIDE_GET_FB_UNMAPPED_AREA=y +CONFIG_FB_RADEON_BACKLIGHT=y +# CONFIG_FB_RADEON_DEBUG is not set +CONFIG_FB_RADEON_I2C=y +CONFIG_FB_RIVA_BACKLIGHT=y +# CONFIG_FB_RIVA_DEBUG is not set +CONFIG_FB_RIVA_I2C=y +CONFIG_FB_S3_DDC=y +# CONFIG_FB_SAVAGE_ACCEL is not set +CONFIG_FB_SAVAGE_I2C=y +CONFIG_FB_SH_MOBILE_LCDC=m +CONFIG_FB_SIS_300=y +CONFIG_FB_SIS_315=y +CONFIG_FB_SM501=m +CONFIG_FB_SM750=m +CONFIG_FB_SMSCUFX=m +CONFIG_FB_SVGALIB=m +CONFIG_FB_SYS_COPYAREA=m +CONFIG_FB_SYS_FILLRECT=m +CONFIG_FB_SYS_FOPS=m +CONFIG_FB_SYS_IMAGEBLIT=m +CONFIG_FB_TFT=m +CONFIG_FB_TFT_AGM1264K_FL=m +CONFIG_FB_TFT_BD663474=m +CONFIG_FB_TFT_HX8340BN=m +CONFIG_FB_TFT_HX8347D=m +CONFIG_FB_TFT_HX8353D=m +CONFIG_FB_TFT_HX8357D=m +CONFIG_FB_TFT_ILI9163=m +CONFIG_FB_TFT_ILI9320=m +CONFIG_FB_TFT_ILI9325=m +CONFIG_FB_TFT_ILI9340=m +CONFIG_FB_TFT_ILI9341=m +CONFIG_FB_TFT_ILI9481=m +CONFIG_FB_TFT_ILI9486=m +CONFIG_FB_TFT_PCD8544=m +CONFIG_FB_TFT_RA8875=m +CONFIG_FB_TFT_S6D02A1=m +CONFIG_FB_TFT_S6D1121=m +CONFIG_FB_TFT_SEPS525=m +CONFIG_FB_TFT_SH1106=m +CONFIG_FB_TFT_SSD1289=m +CONFIG_FB_TFT_SSD1305=m +CONFIG_FB_TFT_SSD1306=m +CONFIG_FB_TFT_SSD1331=m +CONFIG_FB_TFT_SSD1351=m +CONFIG_FB_TFT_ST7735R=m +CONFIG_FB_TFT_ST7789V=m +CONFIG_FB_TFT_TINYLCD=m +CONFIG_FB_TFT_TLS8204=m +CONFIG_FB_TFT_UC1611=m +CONFIG_FB_TFT_UC1701=m +CONFIG_FB_TFT_UPD161704=m +CONFIG_FB_TMIO=m +CONFIG_FB_TMIO_ACCELL=y +CONFIG_FB_UDL=m +CONFIG_FB_VESA=y +CONFIG_FB_VGA16=m +CONFIG_FB_VIA=m +# CONFIG_FB_VIA_DIRECT_PROCFS is not set +CONFIG_FB_VIA_X_COMPATIBILITY=y +# CONFIG_FB_VIRTUAL is not set +CONFIG_FB_XILINX=m +CONFIG_FCOE=m +CONFIG_FCOE_FNIC=m +CONFIG_FEC=y +CONFIG_FHANDLE=y +# CONFIG_FHCI_DEBUG is not set +CONFIG_FIB_RULES=y +CONFIG_FIELDBUS_DEV=m +CONFIG_FILE_LOCKING=y +# CONFIG_FIND_BIT_BENCHMARK is not set +# CONFIG_FIPS_SIGNATURE_SELFTEST is not set +CONFIG_FIQ=y +CONFIG_FIREWIRE_NET=m +CONFIG_FIREWIRE_OHCI=m +CONFIG_FIREWIRE_SBP2=m +CONFIG_FIREWIRE_SERIAL=m +CONFIG_FIRMWARE_EDID=y +CONFIG_FIXED_PHY=y +CONFIG_FIX_EARLYCON_MEM=y +# CONFIG_FLATMEM_MANUAL is not set +CONFIG_FM10K=m +CONFIG_FONTS=y +# CONFIG_FONT_10x18 is not set +CONFIG_FONT_6x10=y +# CONFIG_FONT_6x11 is not set +# CONFIG_FONT_6x8 is not set +# CONFIG_FONT_7x14 is not set +CONFIG_FONT_8x16=y +CONFIG_FONT_8x8=y +CONFIG_FONT_ACORN_8x8=y +# CONFIG_FONT_MINI_4x6 is not set +# CONFIG_FONT_PEARL_8x8 is not set +# CONFIG_FONT_SUN12x22 is not set +# CONFIG_FONT_SUN8x16 is not set +CONFIG_FONT_SUPPORT=y +CONFIG_FONT_TER16x32=y +CONFIG_FORCEDETH=m +CONFIG_FORCE_PCI=y +CONFIG_FORCE_SMP=y +CONFIG_FPGA=m +CONFIG_FPGA_DFL_AFU=m +CONFIG_FPGA_DFL_EMIF=m +CONFIG_FPGA_DFL_FME=m +CONFIG_FPGA_DFL_FME_BRIDGE=m +CONFIG_FPGA_DFL_FME_MGR=m +CONFIG_FPGA_DFL_FME_REGION=m +CONFIG_FPGA_DFL_NIOS_INTEL_PAC_N3000=m +CONFIG_FPGA_DFL_PCI=m +CONFIG_FPGA_MGR_ALTERA_CVP=m +CONFIG_FPGA_MGR_ALTERA_PS_SPI=m +CONFIG_FPGA_MGR_ICE40_SPI=m +CONFIG_FPGA_MGR_MACHXO2_SPI=m +CONFIG_FPGA_MGR_SOCFPGA=m +CONFIG_FPGA_MGR_SOCFPGA_A10=m +CONFIG_FPGA_MGR_STRATIX10_SOC=m +CONFIG_FPGA_MGR_VERSAL_FPGA=m +CONFIG_FPGA_MGR_XILINX_SPI=m +CONFIG_FPGA_MGR_ZYNQMP_FPGA=m +CONFIG_FPGA_REGION=m +CONFIG_FPROBE=y +CONFIG_FPU=y +CONFIG_FRAMEBUFFER_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +CONFIG_FRAME_POINTER=y +CONFIG_FREEZER=y +CONFIG_FRONTSWAP=y +CONFIG_FSCACHE=m +# CONFIG_FSCACHE_DEBUG is not set +CONFIG_FSCACHE_STATS=y +CONFIG_FSI=m +CONFIG_FSI_MASTER_ASPEED=m +CONFIG_FSI_MASTER_AST_CF=m +CONFIG_FSI_MASTER_GPIO=m +CONFIG_FSI_MASTER_HUB=m +# CONFIG_FSI_NEW_DEV_NODE is not set +CONFIG_FSI_OCC=m +CONFIG_FSI_SBEFIFO=m +CONFIG_FSI_SCOM=m +CONFIG_FSL_BMAN_TEST=m +# CONFIG_FSL_BMAN_TEST_API is not set +CONFIG_FSL_DPAA=y +CONFIG_FSL_DPAA2_ETH=m +CONFIG_FSL_DPAA2_ETH_DCB=y +CONFIG_FSL_DPAA2_PTP_CLOCK=m +CONFIG_FSL_DPAA2_QDMA=m +CONFIG_FSL_DPAA2_SWITCH=m +CONFIG_FSL_DPAA_CHECKING=y +CONFIG_FSL_DPAA_ETH=m +CONFIG_FSL_EDMA=m +CONFIG_FSL_ENETC=m +CONFIG_FSL_ENETC_IERB=m +CONFIG_FSL_ENETC_MDIO=m +CONFIG_FSL_ENETC_PTP_CLOCK=m +CONFIG_FSL_ENETC_QOS=y +CONFIG_FSL_ENETC_VF=m +CONFIG_FSL_ERRATUM_A008585=y +CONFIG_FSL_FMAN=y +CONFIG_FSL_GTM=y +CONFIG_FSL_GUTS=y +CONFIG_FSL_IFC=y +CONFIG_FSL_IMX8_DDR_PMU=m +CONFIG_FSL_LBC=y +CONFIG_FSL_MC_DPIO=m +CONFIG_FSL_MC_UAPI_SUPPORT=y +CONFIG_FSL_PQ_MDIO=m +CONFIG_FSL_QDMA=m +# CONFIG_FSL_QMAN_TEST is not set +CONFIG_FSL_RCPM=y +CONFIG_FSL_UCC_HDLC=m +CONFIG_FSL_XGMAC_MDIO=y +CONFIG_FSNOTIFY=y +CONFIG_FS_DAX=y +CONFIG_FS_DAX_LIMITED=y +CONFIG_FS_DAX_PMD=y +CONFIG_FS_ENCRYPTION=y +CONFIG_FS_ENCRYPTION_ALGS=y +CONFIG_FS_ENCRYPTION_INLINE_CRYPT=y +CONFIG_FS_IOMAP=y +CONFIG_FS_MBCACHE=y +CONFIG_FS_POSIX_ACL=y +CONFIG_FS_VERITY=y +CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y +# CONFIG_FS_VERITY_DEBUG is not set +CONFIG_FTGMAC100=m +CONFIG_FTL=m +CONFIG_FTMAC100=m +CONFIG_FTM_QUADDEC=m +CONFIG_FTRACE=y +CONFIG_FTRACE_MCOUNT_RECORD=y +CONFIG_FTRACE_MCOUNT_USE_CC=y +CONFIG_FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY=y +CONFIG_FTRACE_MCOUNT_USE_RECORDMCOUNT=y +# CONFIG_FTRACE_RECORD_RECURSION is not set +# CONFIG_FTRACE_SORT_STARTUP_TEST is not set +# CONFIG_FTRACE_STARTUP_TEST is not set +CONFIG_FTRACE_SYSCALLS=y +# CONFIG_FTR_FIXUP_SELFTEST is not set +CONFIG_FTWDT010_WATCHDOG=m +CONFIG_FUEL_GAUGE_SC27XX=m +CONFIG_FUJITSU_ERRATUM_010001=y +CONFIG_FUJITSU_ES=m +CONFIG_FUJITSU_LAPTOP=m +CONFIG_FUJITSU_TABLET=m +CONFIG_FUNCTION_ERROR_INJECTION=y +CONFIG_FUNCTION_GRAPH_TRACER=y +CONFIG_FUNCTION_PROFILER=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUN_CORE=m +CONFIG_FUN_ETH=m +CONFIG_FUSE_DAX=y +CONFIG_FUSE_FS=y +CONFIG_FUSION_CTL=m +CONFIG_FUSION_FC=m +CONFIG_FUSION_LAN=m +CONFIG_FUSION_LOGGING=y +CONFIG_FUSION_MAX_SGE=128 +CONFIG_FUSION_SAS=m +CONFIG_FUSION_SPI=m +CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y +CONFIG_FWNODE_MDIO=y +CONFIG_FWTTY_MAX_CARD_PORTS=32 +CONFIG_FWTTY_MAX_TOTAL_PORTS=64 +CONFIG_FW_ATTR_CLASS=m +CONFIG_FW_CACHE=y +CONFIG_FW_CFG_SYSFS=m +# CONFIG_FW_CFG_SYSFS_CMDLINE is not set +CONFIG_FW_LOADER=y +CONFIG_FW_LOADER_COMPRESS=y +CONFIG_FW_LOADER_COMPRESS_XZ=y +CONFIG_FW_LOADER_COMPRESS_ZSTD=y +CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_FW_LOADER_SYSFS=y +CONFIG_FW_LOADER_USER_HELPER=y +# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +# CONFIG_FW_UPLOAD is not set +CONFIG_FXAS21002C=m +CONFIG_FXAS21002C_I2C=m +CONFIG_FXAS21002C_SPI=m +CONFIG_FXLS8962AF=m +CONFIG_FXLS8962AF_I2C=m +CONFIG_FXLS8962AF_SPI=m +CONFIG_FXOS8700=m +CONFIG_FXOS8700_I2C=m +CONFIG_FXOS8700_SPI=m +CONFIG_GACT_PROB=y +CONFIG_GADGET_UAC1=y +# CONFIG_GADGET_UAC1_LEGACY is not set +CONFIG_GAMEPORT_EMU10K1=m +CONFIG_GAMEPORT_FM801=m +CONFIG_GAMEPORT_L4=m +CONFIG_GAMEPORT_NS558=m +CONFIG_GARP=m +CONFIG_GART_IOMMU=y +CONFIG_GCC12_NO_ARRAY_BOUNDS=y +CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_GCC_VERSION=120200 +# CONFIG_GCOV_KERNEL is not set +CONFIG_GDB_SCRIPTS=y +CONFIG_GEMINI_ETHERNET=m +CONFIG_GENERIC_ADC_BATTERY=m +CONFIG_GENERIC_ADC_THERMAL=m +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_GENERIC_ARCH_NUMA=y +CONFIG_GENERIC_ARCH_TOPOLOGY=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y +CONFIG_GENERIC_CMOS_UPDATE=y +CONFIG_GENERIC_CPU=y +CONFIG_GENERIC_CPU_AUTOPROBE=y +CONFIG_GENERIC_CPU_VULNERABILITIES=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_EARLY_IOREMAP=y +CONFIG_GENERIC_ENTRY=y +CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_GENERIC_IOMAP=y +CONFIG_GENERIC_IOREMAP=y +CONFIG_GENERIC_IRQ_CHIP=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_GENERIC_IRQ_IPI=y +CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y +CONFIG_GENERIC_IRQ_MIGRATION=y +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_GENERIC_IRQ_RESERVATION_MODE=y +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_ISA_DMA=y +CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y +CONFIG_GENERIC_MSI_IRQ=y +CONFIG_GENERIC_MSI_IRQ_DOMAIN=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_GENERIC_PCI_IOMAP=y +CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_GENERIC_PHY_MIPI_DPHY=y +CONFIG_GENERIC_PINCONF=y +CONFIG_GENERIC_PINCTRL_GROUPS=y +CONFIG_GENERIC_PINMUX_FUNCTIONS=y +CONFIG_GENERIC_PTDUMP=y +CONFIG_GENERIC_SCHED_CLOCK=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_TRACER=y +CONFIG_GENERIC_VDSO_32=y +CONFIG_GENERIC_VDSO_TIME_NS=y +CONFIG_GENEVE=m +CONFIG_GENWQE=m +CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0 +CONFIG_GEN_RTC=y +CONFIG_GFS2_FS=m +CONFIG_GFS2_FS_LOCKING_DLM=y +CONFIG_GIANFAR=m +CONFIG_GIGABYTE_WMI=m +CONFIG_GLOB=y +# CONFIG_GLOB_SELFTEST is not set +CONFIG_GNSS_MTK_SERIAL=m +CONFIG_GNSS_SERIAL=m +CONFIG_GNSS_SIRF_SERIAL=m +CONFIG_GNSS_UBX_SERIAL=m +CONFIG_GNSS_USB=m +CONFIG_GOLDFISH_PIPE=m +CONFIG_GOLDFISH_TTY=m +# CONFIG_GOOGLE_FIRMWARE is not set +CONFIG_GP2AP002=m +CONFIG_GP2AP020A00F=m +CONFIG_GPD_POCKET_FAN=m +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +CONFIG_GPIOLIB_IRQCHIP=y +CONFIG_GPIO_104_DIO_48E=m +CONFIG_GPIO_104_IDIO_16=m +CONFIG_GPIO_104_IDI_48=m +CONFIG_GPIO_74X164=m +CONFIG_GPIO_74XX_MMIO=m +CONFIG_GPIO_AAEON=m +CONFIG_GPIO_ACPI=y +CONFIG_GPIO_ADNP=m +CONFIG_GPIO_ADP5520=m +CONFIG_GPIO_AGGREGATOR=m +CONFIG_GPIO_ALTERA=m +CONFIG_GPIO_ALTERA_A10SR=m +CONFIG_GPIO_AMD8111=m +CONFIG_GPIO_AMDPT=m +CONFIG_GPIO_ARIZONA=m +CONFIG_GPIO_ASPEED=m +CONFIG_GPIO_ASPEED_SGPIO=y +CONFIG_GPIO_BCM_XGS_IPROC=m +CONFIG_GPIO_BD71815=m +CONFIG_GPIO_BD71828=m +CONFIG_GPIO_BD9571MWV=m +CONFIG_GPIO_BRCMSTB=m +CONFIG_GPIO_BT8XX=m +CONFIG_GPIO_CADENCE=m +CONFIG_GPIO_CDEV=y +CONFIG_GPIO_CDEV_V1=y +CONFIG_GPIO_CRYSTAL_COVE=y +CONFIG_GPIO_DA9052=m +CONFIG_GPIO_DA9055=m +CONFIG_GPIO_DAVINCI=y +CONFIG_GPIO_DLN2=m +CONFIG_GPIO_EIC_SPRD=m +# CONFIG_GPIO_EM is not set +CONFIG_GPIO_EN7523=m +CONFIG_GPIO_EXAR=m +CONFIG_GPIO_F7188X=m +CONFIG_GPIO_FTGPIO010=y +CONFIG_GPIO_GPIO_MM=m +CONFIG_GPIO_GRGPIO=m +CONFIG_GPIO_GW_PLD=m +CONFIG_GPIO_HISI=m +CONFIG_GPIO_HLWD=m +CONFIG_GPIO_ICH=m +CONFIG_GPIO_IT87=m +CONFIG_GPIO_JANZ_TTL=m +CONFIG_GPIO_KEMPLD=m +CONFIG_GPIO_LOGICVC=m +CONFIG_GPIO_LP3943=m +CONFIG_GPIO_LP873X=m +CONFIG_GPIO_LP87565=m +CONFIG_GPIO_MADERA=m +CONFIG_GPIO_MAX3191X=m +CONFIG_GPIO_MAX7301=m +CONFIG_GPIO_MAX730X=m +CONFIG_GPIO_MAX77620=m +CONFIG_GPIO_MAX77650=m +CONFIG_GPIO_MC33880=m +CONFIG_GPIO_MENZ127=m +CONFIG_GPIO_MLXBF=m +CONFIG_GPIO_MLXBF2=m +CONFIG_GPIO_ML_IOH=m +# CONFIG_GPIO_MOCKUP is not set +CONFIG_GPIO_MOXTET=m +CONFIG_GPIO_MPC8XXX=y +CONFIG_GPIO_MSC313=y +CONFIG_GPIO_MVEBU=y +CONFIG_GPIO_MXC=y +CONFIG_GPIO_OMAP=y +CONFIG_GPIO_PALMAS=y +CONFIG_GPIO_PCA953X_IRQ=y +CONFIG_GPIO_PCIE_IDIO_24=m +CONFIG_GPIO_PCI_IDIO_16=m +CONFIG_GPIO_PISOSR=m +CONFIG_GPIO_PL061=y +CONFIG_GPIO_PMIC_EIC_SPRD=m +CONFIG_GPIO_RASPBERRYPI_EXP=m +CONFIG_GPIO_RC5T583=y +CONFIG_GPIO_RCAR=m +CONFIG_GPIO_RDA=y +CONFIG_GPIO_REGMAP=m +CONFIG_GPIO_ROCKCHIP=m +CONFIG_GPIO_SAMA5D2_PIOBU=m +CONFIG_GPIO_SCH=m +CONFIG_GPIO_SCH311X=m +CONFIG_GPIO_SIFIVE=y +CONFIG_GPIO_SIM=m +CONFIG_GPIO_SL28CPLD=m +CONFIG_GPIO_SPRD=m +CONFIG_GPIO_STMPE=y +CONFIG_GPIO_SYSCON=m +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_TC3589X=y +CONFIG_GPIO_TEGRA=y +CONFIG_GPIO_TEGRA186=y +CONFIG_GPIO_THUNDERX=m +CONFIG_GPIO_TPS65086=m +CONFIG_GPIO_TPS65218=m +CONFIG_GPIO_TPS6586X=y +CONFIG_GPIO_TPS65910=y +CONFIG_GPIO_TPS65912=m +CONFIG_GPIO_TPS68470=m +CONFIG_GPIO_TQMX86=m +CONFIG_GPIO_TS4800=m +CONFIG_GPIO_TS4900=m +CONFIG_GPIO_UCB1400=m +# CONFIG_GPIO_UNIPHIER is not set +CONFIG_GPIO_VF610=y +CONFIG_GPIO_VIPERBOARD=m +CONFIG_GPIO_VISCONTI=m +CONFIG_GPIO_VX855=m +CONFIG_GPIO_WATCHDOG=m +CONFIG_GPIO_WCD934X=m +CONFIG_GPIO_WHISKEY_COVE=m +CONFIG_GPIO_WINBOND=m +CONFIG_GPIO_WM831X=m +CONFIG_GPIO_WM8350=m +CONFIG_GPIO_WM8994=m +CONFIG_GPIO_WS16C48=m +CONFIG_GPIO_XGENE=y +CONFIG_GPIO_XGENE_SB=m +CONFIG_GPIO_XLP=m +CONFIG_GPIO_XRA1403=m +CONFIG_GPIO_ZEVIO=y +CONFIG_GPIO_ZYNQ=m +CONFIG_GPIO_ZYNQMP_MODEPIN=m +CONFIG_GRACE_PERIOD=m +CONFIG_GREENASIA_FF=y +CONFIG_GREYBUS_AUDIO=m +CONFIG_GREYBUS_AUDIO_APB_CODEC=m +CONFIG_GREYBUS_BOOTROM=m +CONFIG_GREYBUS_BRIDGED_PHY=m +CONFIG_GREYBUS_ES2=m +CONFIG_GREYBUS_FIRMWARE=m +CONFIG_GREYBUS_GPIO=m +CONFIG_GREYBUS_HID=m +CONFIG_GREYBUS_I2C=m +CONFIG_GREYBUS_LIGHT=m +CONFIG_GREYBUS_LOG=m +CONFIG_GREYBUS_LOOPBACK=m +CONFIG_GREYBUS_POWER=m +CONFIG_GREYBUS_PWM=m +CONFIG_GREYBUS_RAW=m +CONFIG_GREYBUS_SDIO=m +CONFIG_GREYBUS_SPI=m +CONFIG_GREYBUS_UART=m +CONFIG_GREYBUS_USB=m +CONFIG_GREYBUS_VIBRATOR=m +CONFIG_GRO_CELLS=y +CONFIG_GTP=m +CONFIG_GUEST_PERF_EVENTS=y +# CONFIG_GUP_TEST is not set +CONFIG_GVE=m +CONFIG_GXP_TIMER=y +CONFIG_GXP_WATCHDOG=m +CONFIG_HALTPOLL_CPUIDLE=m +CONFIG_HAMRADIO=y +CONFIG_HANGCHECK_TIMER=m +CONFIG_HAPPYMEAL=m +CONFIG_HARDENED_USERCOPY=y +CONFIG_HARDEN_BRANCH_HISTORY=y +CONFIG_HARDEN_BRANCH_PREDICTOR=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y +CONFIG_HARDLOCKUP_DETECTOR=y +CONFIG_HARDLOCKUP_DETECTOR_PERF=y +CONFIG_HAS_DMA=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y +CONFIG_HAVE_ACPI_APEI=y +CONFIG_HAVE_ACPI_APEI_NMI=y +CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_HAVE_ARCH_BITREVERSE=y +CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y +CONFIG_HAVE_ARCH_COMPILER_H=y +CONFIG_HAVE_ARCH_HUGE_VMALLOC=y +CONFIG_HAVE_ARCH_HUGE_VMAP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y +CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_ARCH_KASAN_HW_TAGS=y +CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y +CONFIG_HAVE_ARCH_KASAN_VMALLOC=y +CONFIG_HAVE_ARCH_KCSAN=y +CONFIG_HAVE_ARCH_KFENCE=y +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_HAVE_ARCH_KGDB_QXFER_PKT=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y +CONFIG_HAVE_ARCH_NODE_DEV_GROUP=y +CONFIG_HAVE_ARCH_NVRAM_OPS=y +CONFIG_HAVE_ARCH_PFN_VALID=y +CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y +CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y +CONFIG_HAVE_ARCH_SECCOMP=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_HAVE_ARCH_SOFT_DIRTY=y +CONFIG_HAVE_ARCH_STACKLEAK=y +CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y +CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y +CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y +CONFIG_HAVE_ARCH_USERFAULTFD_WP=y +CONFIG_HAVE_ARCH_VMAP_STACK=y +CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y +CONFIG_HAVE_ARM_ARCH_TIMER=y +CONFIG_HAVE_ARM_SCU=y +CONFIG_HAVE_ARM_SMCCC=y +CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y +CONFIG_HAVE_ARM_TWD=y +CONFIG_HAVE_ASM_MODVERSIONS=y +CONFIG_HAVE_BOOTMEM_INFO_NODE=y +CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y +CONFIG_HAVE_CLK=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_HAVE_CMPXCHG_DOUBLE=y +CONFIG_HAVE_CMPXCHG_LOCAL=y +CONFIG_HAVE_CONTEXT_TRACKING=y +CONFIG_HAVE_CONTEXT_TRACKING_OFFSTACK=y +CONFIG_HAVE_C_RECORDMCOUNT=y +CONFIG_HAVE_DEBUG_KMEMLEAK=y +CONFIG_HAVE_DEBUG_STACKOVERFLOW=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_EBPF_JIT=y +CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y +CONFIG_HAVE_EISA=y +CONFIG_HAVE_EXIT_THREAD=y +CONFIG_HAVE_FAST_GUP=y +CONFIG_HAVE_FENTRY=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y +CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_TRACER=y +CONFIG_HAVE_GCC_PLUGINS=y +CONFIG_HAVE_GENERIC_VDSO=y +CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y +CONFIG_HAVE_HARDLOCKUP_DETECTOR_ARCH=y +CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y +CONFIG_HAVE_HW_BREAKPOINT=y +CONFIG_HAVE_IMA_KEXEC=y +CONFIG_HAVE_IMX_ANATOP=y +CONFIG_HAVE_IMX_GPC=y +CONFIG_HAVE_IMX_MMDC=y +CONFIG_HAVE_IMX_SRC=y +CONFIG_HAVE_INTEL_TXT=y +CONFIG_HAVE_IOREMAP_PROT=y +CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_JUMP_LABEL_HACK=y +CONFIG_HAVE_KCSAN_COMPILER=y +CONFIG_HAVE_KERNEL_BZIP2=y +CONFIG_HAVE_KERNEL_GZIP=y +CONFIG_HAVE_KERNEL_LZ4=y +CONFIG_HAVE_KERNEL_LZMA=y +CONFIG_HAVE_KERNEL_LZO=y +CONFIG_HAVE_KERNEL_UNCOMPRESSED=y +CONFIG_HAVE_KERNEL_XZ=y +CONFIG_HAVE_KERNEL_ZSTD=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KPROBES_ON_FTRACE=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_KVM=y +CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL=y +CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y +CONFIG_HAVE_KVM_DIRTY_RING=y +CONFIG_HAVE_KVM_EVENTFD=y +CONFIG_HAVE_KVM_INVALID_WAKEUPS=y +CONFIG_HAVE_KVM_IRQCHIP=y +CONFIG_HAVE_KVM_IRQFD=y +CONFIG_HAVE_KVM_IRQ_BYPASS=y +CONFIG_HAVE_KVM_IRQ_ROUTING=y +CONFIG_HAVE_KVM_MSI=y +CONFIG_HAVE_KVM_NO_POLL=y +CONFIG_HAVE_KVM_PFNCACHE=y +CONFIG_HAVE_KVM_PM_NOTIFIER=y +CONFIG_HAVE_KVM_VCPU_ASYNC_IOCTL=y +CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE=y +CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y +CONFIG_HAVE_LIVEPATCH=y +CONFIG_HAVE_MARCH_Z10_FEATURES=y +CONFIG_HAVE_MARCH_Z13_FEATURES=y +CONFIG_HAVE_MARCH_Z196_FEATURES=y +CONFIG_HAVE_MARCH_ZEC12_FEATURES=y +CONFIG_HAVE_MEMBLOCK_PHYS_MAP=y +CONFIG_HAVE_MEMORYLESS_NODES=y +CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y +CONFIG_HAVE_MMIOTRACE_SUPPORT=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_HAVE_MOVE_PMD=y +CONFIG_HAVE_MOVE_PUD=y +CONFIG_HAVE_NMI=y +CONFIG_HAVE_NMI_WATCHDOG=y +CONFIG_HAVE_NOINSTR_HACK=y +CONFIG_HAVE_NOINSTR_VALIDATION=y +CONFIG_HAVE_NOP_MCOUNT=y +CONFIG_HAVE_OBJTOOL=y +CONFIG_HAVE_OBJTOOL_MCOUNT=y +CONFIG_HAVE_OPTPROBES=y +CONFIG_HAVE_PATA_PLATFORM=y +CONFIG_HAVE_PCI=y +CONFIG_HAVE_PCSPKR_PLATFORM=y +CONFIG_HAVE_PERF_EVENTS=y +CONFIG_HAVE_PERF_EVENTS_NMI=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_PNETID=m +CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y +CONFIG_HAVE_PREEMPT_DYNAMIC=y +CONFIG_HAVE_PREEMPT_DYNAMIC_CALL=y +CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y +CONFIG_HAVE_PROC_CPU=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_RELIABLE_STACKTRACE=y +CONFIG_HAVE_RETHOOK=y +CONFIG_HAVE_RSEQ=y +CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y +CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y +CONFIG_HAVE_SETUP_PER_CPU_AREA=y +CONFIG_HAVE_SMP=y +CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y +CONFIG_HAVE_STACKPROTECTOR=y +CONFIG_HAVE_STACK_VALIDATION=y +CONFIG_HAVE_STATIC_CALL=y +CONFIG_HAVE_STATIC_CALL_INLINE=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_HAVE_UACCESS_VALIDATION=y +CONFIG_HAVE_UID16=y +CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y +CONFIG_HAVE_USER_RETURN_NOTIFIER=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_IDLE=y +CONFIG_HBMC_AM654=m +# CONFIG_HCALL_STATS is not set +CONFIG_HD44780=m +CONFIG_HD44780_COMMON=m +CONFIG_HDC100X=m +CONFIG_HDC2010=m +CONFIG_HDLC=m +CONFIG_HDLC_CISCO=m +CONFIG_HDLC_FR=m +CONFIG_HDLC_PPP=m +CONFIG_HDLC_RAW=m +CONFIG_HDLC_RAW_ETH=m +CONFIG_HDLC_X25=m +CONFIG_HDMI=y +CONFIG_HDMI_LPE_AUDIO=m +CONFIG_HDQ_MASTER_OMAP=m +# CONFIG_HEADERS_INSTALL is not set +CONFIG_HERMES=m +CONFIG_HERMES_CACHE_FW_ON_INIT=y +# CONFIG_HERMES_PRISM is not set +# CONFIG_HFI1_DEBUG_SDMA_ORDER is not set +CONFIG_HI13X1_GMAC=y +CONFIG_HI3660_MBOX=m +CONFIG_HI6220_MBOX=m +CONFIG_HI6421V600_IRQ=m +CONFIG_HI8435=m +CONFIG_HIBERNATE_CALLBACKS=y +CONFIG_HIBERNATION_SNAPSHOT_DEV=y +CONFIG_HIDRAW=y +CONFIG_HID_A4TECH=m +CONFIG_HID_ACCUTOUCH=m +CONFIG_HID_ACRUX=m +CONFIG_HID_ACRUX_FF=y +CONFIG_HID_ALPS=m +CONFIG_HID_APPLE=m +CONFIG_HID_APPLEIR=m +CONFIG_HID_ASUS=m +CONFIG_HID_AUREAL=m +CONFIG_HID_BATTERY_STRENGTH=y +CONFIG_HID_BELKIN=m +CONFIG_HID_BETOP_FF=m +CONFIG_HID_BIGBEN_FF=m +CONFIG_HID_CHERRY=m +CONFIG_HID_CHICONY=m +CONFIG_HID_CMEDIA=m +CONFIG_HID_CORSAIR=m +CONFIG_HID_COUGAR=m +CONFIG_HID_CP2112=m +CONFIG_HID_CREATIVE_SB0540=m +CONFIG_HID_CYPRESS=m +CONFIG_HID_DRAGONRISE=m +CONFIG_HID_ELAN=m +CONFIG_HID_ELECOM=m +CONFIG_HID_ELO=m +CONFIG_HID_EMS_FF=m +CONFIG_HID_EZKEY=m +CONFIG_HID_FT260=m +CONFIG_HID_GEMBIRD=m +CONFIG_HID_GENERIC=m +CONFIG_HID_GFRM=m +CONFIG_HID_GLORIOUS=m +CONFIG_HID_GOOGLE_HAMMER=m +CONFIG_HID_GREENASIA=m +CONFIG_HID_GT683R=m +CONFIG_HID_GYRATION=m +CONFIG_HID_HOLTEK=m +CONFIG_HID_HYPERV_MOUSE=m +CONFIG_HID_ICADE=m +CONFIG_HID_ITE=m +CONFIG_HID_JABRA=m +CONFIG_HID_KENSINGTON=m +CONFIG_HID_KEYTOUCH=m +CONFIG_HID_KYE=m +CONFIG_HID_LCPOWER=m +CONFIG_HID_LED=m +CONFIG_HID_LENOVO=m +CONFIG_HID_LETSKETCH=m +CONFIG_HID_LOGITECH=m +CONFIG_HID_LOGITECH_DJ=m +CONFIG_HID_LOGITECH_HIDPP=m +CONFIG_HID_MACALLY=m +CONFIG_HID_MAGICMOUSE=m +CONFIG_HID_MALTRON=m +CONFIG_HID_MAYFLASH=m +CONFIG_HID_MCP2221=m +CONFIG_HID_MEGAWORLD_FF=m +CONFIG_HID_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_MULTITOUCH=m +CONFIG_HID_NINTENDO=m +CONFIG_HID_NTI=m +CONFIG_HID_NTRIG=m +CONFIG_HID_ORTEK=m +CONFIG_HID_PANTHERLORD=m +CONFIG_HID_PENMOUNT=m +CONFIG_HID_PETALYNX=m +CONFIG_HID_PICOLCD=m +CONFIG_HID_PICOLCD_BACKLIGHT=y +CONFIG_HID_PICOLCD_CIR=y +CONFIG_HID_PICOLCD_FB=y +CONFIG_HID_PICOLCD_LCD=y +CONFIG_HID_PICOLCD_LEDS=y +CONFIG_HID_PID=y +CONFIG_HID_PLANTRONICS=m +CONFIG_HID_PLAYSTATION=m +CONFIG_HID_PRIMAX=m +CONFIG_HID_PRODIKEYS=m +CONFIG_HID_RAZER=m +CONFIG_HID_REDRAGON=m +CONFIG_HID_RETRODE=m +CONFIG_HID_RMI=m +CONFIG_HID_ROCCAT=m +CONFIG_HID_SAITEK=m +CONFIG_HID_SAMSUNG=m +CONFIG_HID_SEMITEK=m +CONFIG_HID_SENSOR_ACCEL_3D=m +CONFIG_HID_SENSOR_ALS=m +CONFIG_HID_SENSOR_CUSTOM_INTEL_HINGE=m +CONFIG_HID_SENSOR_CUSTOM_SENSOR=m +CONFIG_HID_SENSOR_DEVICE_ROTATION=m +CONFIG_HID_SENSOR_GYRO_3D=m +CONFIG_HID_SENSOR_HUB=m +CONFIG_HID_SENSOR_HUMIDITY=m +CONFIG_HID_SENSOR_IIO_COMMON=m +CONFIG_HID_SENSOR_IIO_TRIGGER=m +CONFIG_HID_SENSOR_INCLINOMETER_3D=m +CONFIG_HID_SENSOR_MAGNETOMETER_3D=m +CONFIG_HID_SENSOR_PRESS=m +CONFIG_HID_SENSOR_PROX=m +CONFIG_HID_SENSOR_TEMP=m +CONFIG_HID_SIGMAMICRO=m +CONFIG_HID_SMARTJOYPLUS=m +CONFIG_HID_SONY=m +CONFIG_HID_SPEEDLINK=m +CONFIG_HID_STEAM=m +CONFIG_HID_STEELSERIES=m +CONFIG_HID_SUNPLUS=m +CONFIG_HID_THINGM=m +CONFIG_HID_THRUSTMASTER=m +CONFIG_HID_TIVO=m +# CONFIG_HID_TOPRE is not set +CONFIG_HID_TOPSEED=m +CONFIG_HID_TWINHAN=m +CONFIG_HID_U2FZERO=m +CONFIG_HID_UCLOGIC=m +CONFIG_HID_UDRAW_PS3=m +CONFIG_HID_VIEWSONIC=m +CONFIG_HID_VIVALDI=m +CONFIG_HID_VIVALDI_COMMON=m +CONFIG_HID_WACOM=m +CONFIG_HID_WALTOP=m +CONFIG_HID_WIIMOTE=m +CONFIG_HID_XIAOMI=m +CONFIG_HID_XINMO=m +CONFIG_HID_ZEROPLUS=m +CONFIG_HID_ZYDACRON=m +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_HINIC=m +CONFIG_HIP04_ETH=m +# CONFIG_HIPPI is not set +CONFIG_HISILICON_ERRATUM_161010101=y +CONFIG_HISILICON_ERRATUM_161600802=y +CONFIG_HISILICON_IRQ_MBIGEN=y +CONFIG_HISILICON_LPC=y +CONFIG_HISI_ACC_VFIO_PCI=m +# CONFIG_HISI_DMA is not set +CONFIG_HISI_FEMAC=m +CONFIG_HISI_PCIE_PMU=m +CONFIG_HISI_PMU=m +CONFIG_HISI_THERMAL=m +CONFIG_HIST_TRIGGERS=y +# CONFIG_HIST_TRIGGERS_DEBUG is not set +CONFIG_HIX5HD2_GMAC=m +CONFIG_HMC425=m +CONFIG_HMC_DRV=m +CONFIG_HMEM_REPORTING=y +CONFIG_HMM_MIRROR=y +CONFIG_HMS_ANYBUSS_BUS=m +CONFIG_HMS_PROFINET=m +CONFIG_HNS=m +CONFIG_HNS3=m +CONFIG_HNS3_DCB=y +CONFIG_HNS3_ENET=m +CONFIG_HNS3_HCLGE=m +CONFIG_HNS3_HCLGEVF=m +CONFIG_HNS_DSAF=m +CONFIG_HNS_ENET=m +CONFIG_HNS_MDIO=m +CONFIG_HOLTEK_FF=y +CONFIG_HOSTAP=m +CONFIG_HOSTAP_CS=m +CONFIG_HOSTAP_FIRMWARE=y +CONFIG_HOSTAP_FIRMWARE_NVRAM=y +CONFIG_HOSTAP_PCI=m +CONFIG_HOSTAP_PLX=m +CONFIG_HOTPLUG_CPU=y +CONFIG_HOTPLUG_PCI_ACPI=y +CONFIG_HOTPLUG_PCI_ACPI_IBM=m +CONFIG_HOTPLUG_PCI_CPCI=y +CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m +CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m +CONFIG_HOTPLUG_PCI_PCIE=y +CONFIG_HOTPLUG_PCI_POWERNV=m +CONFIG_HOTPLUG_PCI_RPA=m +CONFIG_HOTPLUG_PCI_RPA_DLPAR=m +CONFIG_HOTPLUG_PCI_S390=y +CONFIG_HOTPLUG_SMT=y +CONFIG_HP03=m +CONFIG_HP206C=m +CONFIG_HPET=y +CONFIG_HPET_EMULATE_RTC=y +CONFIG_HPET_MMAP=y +CONFIG_HPET_MMAP_DEFAULT=y +CONFIG_HPET_TIMER=y +CONFIG_HPWDT_NMI_DECODING=y +CONFIG_HP_ACCEL=m +CONFIG_HP_WATCHDOG=m +CONFIG_HP_WMI=m +CONFIG_HSA_AMD=y +CONFIG_HSA_AMD_SVM=y +CONFIG_HSI_BOARDINFO=y +CONFIG_HSI_CHAR=m +CONFIG_HSU_DMA=y +CONFIG_HT16K33=m +CONFIG_HTC_EGPIO=y +CONFIG_HTC_I2CPLD=y +CONFIG_HTE_TEGRA194=m +CONFIG_HTE_TEGRA194_TEST=m +CONFIG_HTS221=m +CONFIG_HTS221_I2C=m +CONFIG_HTS221_SPI=m +CONFIG_HTU21=m +CONFIG_HUAWEI_WMI=m +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y +# CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON is not set +CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y +CONFIG_HVCS=m +CONFIG_HVC_CONSOLE=y +# CONFIG_HVC_DCC is not set +CONFIG_HVC_DRIVER=y +CONFIG_HVC_IRQ=y +CONFIG_HVC_IUCV=y +CONFIG_HVC_OLD_HVSI=y +CONFIG_HVC_OPAL=y +CONFIG_HVC_RTAS=y +# CONFIG_HVC_UDBG is not set +CONFIG_HVC_XEN=y +CONFIG_HVC_XEN_FRONTEND=y +CONFIG_HV_PERF_CTRS=y +CONFIG_HWLAT_TRACER=y +# CONFIG_HWMON_DEBUG_CHIP is not set +CONFIG_HWMON_VID=m +CONFIG_HWPOISON_INJECT=m +CONFIG_HWSPINLOCK_OMAP=m +CONFIG_HWSPINLOCK_QCOM=m +CONFIG_HWSPINLOCK_SPRD=m +CONFIG_HWSPINLOCK_SUN6I=m +CONFIG_HW_CONSOLE=y +CONFIG_HW_PERF_EVENTS=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_AMD=m +CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=m +CONFIG_HW_RANDOM_BA431=m +CONFIG_HW_RANDOM_BCM2835=m +CONFIG_HW_RANDOM_CAVIUM=m +CONFIG_HW_RANDOM_CN10K=m +# CONFIG_HW_RANDOM_EXYNOS is not set +CONFIG_HW_RANDOM_HISI=m +CONFIG_HW_RANDOM_IMX_RNGC=m +CONFIG_HW_RANDOM_INTEL=m +CONFIG_HW_RANDOM_IPROC_RNG200=m +CONFIG_HW_RANDOM_MESON=m +CONFIG_HW_RANDOM_MTK=m +CONFIG_HW_RANDOM_NPCM=m +CONFIG_HW_RANDOM_OMAP=m +CONFIG_HW_RANDOM_OMAP3_ROM=m +CONFIG_HW_RANDOM_OPTEE=m +CONFIG_HW_RANDOM_POLARFIRE_SOC=m +CONFIG_HW_RANDOM_POWERNV=m +CONFIG_HW_RANDOM_PSERIES=m +CONFIG_HW_RANDOM_S390=m +CONFIG_HW_RANDOM_TPM=y +CONFIG_HW_RANDOM_VIA=m +CONFIG_HW_RANDOM_VIRTIO=m +CONFIG_HW_RANDOM_XGENE=m +CONFIG_HX711=m +CONFIG_HYPERV=m +CONFIG_HYPERVISOR_GUEST=y +CONFIG_HYPERV_BALLOON=m +CONFIG_HYPERV_IOMMU=y +CONFIG_HYPERV_KEYBOARD=m +CONFIG_HYPERV_NET=m +CONFIG_HYPERV_STORAGE=m +# CONFIG_HYPERV_TESTING is not set +CONFIG_HYPERV_TIMER=y +CONFIG_HYPERV_UTILS=m +CONFIG_HYPERV_VSOCKETS=m +# CONFIG_HZ_1000 is not set +# CONFIG_HZ_200 is not set +# CONFIG_HZ_300 is not set +# CONFIG_HZ_500 is not set +CONFIG_HZ_FIXED=0 +# CONFIG_HZ_PERIODIC is not set +CONFIG_I2C_ALGOBIT=m +CONFIG_I2C_ALGOPCA=m +CONFIG_I2C_ALTERA=m +CONFIG_I2C_AMD756_S4882=m +CONFIG_I2C_APPLE=m +CONFIG_I2C_ARB_GPIO_CHALLENGE=m +CONFIG_I2C_ASPEED=m +CONFIG_I2C_AXXIA=m +CONFIG_I2C_BCM2835=m +CONFIG_I2C_BCM_IPROC=m +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_BRCMSTB=m +# CONFIG_I2C_CADENCE is not set +CONFIG_I2C_CCGX_UCSI=m +CONFIG_I2C_CHT_WC=m +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CP2615=m +CONFIG_I2C_CROS_EC_TUNNEL=m +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CORE is not set +CONFIG_I2C_DEMUX_PINCTRL=m +CONFIG_I2C_DESIGNWARE_AMDPSP=y +CONFIG_I2C_DESIGNWARE_BAYTRAIL=y +CONFIG_I2C_DESIGNWARE_CORE=y +# CONFIG_I2C_DESIGNWARE_SLAVE is not set +CONFIG_I2C_DIOLAN_U2C=m +CONFIG_I2C_DLN2=m +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_EXYNOS5 is not set +CONFIG_I2C_FSI=m +# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_HID_ACPI=m +CONFIG_I2C_HID_CORE=m +CONFIG_I2C_HID_OF=m +CONFIG_I2C_HID_OF_GOODIX=m +CONFIG_I2C_HISI=m +CONFIG_I2C_HIX5HD2=m +CONFIG_I2C_IMX_LPI2C=m +CONFIG_I2C_ISMT=m +CONFIG_I2C_KEMPLD=m +CONFIG_I2C_MESON=m +CONFIG_I2C_MLXBF=m +CONFIG_I2C_MLXCPLD=m +CONFIG_I2C_MPC=m +CONFIG_I2C_MT65XX=m +CONFIG_I2C_MUX=m +CONFIG_I2C_MUX_GPMUX=m +CONFIG_I2C_MUX_PINCTRL=m +CONFIG_I2C_MV64XXX=m +CONFIG_I2C_NFORCE2_S4985=m +CONFIG_I2C_NOMADIK=m +CONFIG_I2C_NPCM7XX=m +CONFIG_I2C_OMAP=y +CONFIG_I2C_OPAL=y +CONFIG_I2C_OWL=m +CONFIG_I2C_PARPORT=m +CONFIG_I2C_PXA=m +CONFIG_I2C_PXA_SLAVE=y +CONFIG_I2C_QCOM_CCI=m +CONFIG_I2C_QCOM_GENI=m +CONFIG_I2C_QUP=m +CONFIG_I2C_RCAR=m +CONFIG_I2C_RIIC=m +CONFIG_I2C_RK3X=m +CONFIG_I2C_ROBOTFUZZ_OSIF=m +# CONFIG_I2C_S3C2410 is not set +CONFIG_I2C_SCMI=m +CONFIG_I2C_SH_MOBILE=m +CONFIG_I2C_SI470X=m +CONFIG_I2C_SI4713=m +CONFIG_I2C_SLAVE_EEPROM=m +# CONFIG_I2C_SLAVE_TESTUNIT is not set +CONFIG_I2C_SMBUS=m +CONFIG_I2C_SPRD=y +CONFIG_I2C_STUB=m +CONFIG_I2C_SYNQUACER=m +CONFIG_I2C_TEGRA=m +CONFIG_I2C_TEGRA_BPMP=m +CONFIG_I2C_THUNDERX=m +CONFIG_I2C_TINY_USB=m +# CONFIG_I2C_UNIPHIER is not set +# CONFIG_I2C_UNIPHIER_F is not set +CONFIG_I2C_VERSATILE=m +CONFIG_I2C_VIPERBOARD=m +CONFIG_I2C_XGENE_SLIMPRO=m +CONFIG_I2C_XLP9XX=m +CONFIG_I40E=m +CONFIG_I40EVF=m +CONFIG_I40E_DCB=y +CONFIG_I82092=m +CONFIG_I8253_LOCK=y +CONFIG_I8K=y +CONFIG_IA32_EMULATION=y +CONFIG_IA32_FEAT_CTL=y +CONFIG_IAQCORE=m +CONFIG_IAVF=m +CONFIG_IB700_WDT=m +CONFIG_IBMASR=m +CONFIG_IBMVETH=m +CONFIG_IBMVIO=y +CONFIG_IBMVMC=m +CONFIG_IBMVNIC=m +CONFIG_IBM_ASM=m +CONFIG_IBM_BSR=m +CONFIG_IBM_PARTITION=y +CONFIG_IBM_RTL=m +CONFIG_ICE=m +CONFIG_ICE_HWTS=y +CONFIG_ICE_SWITCHDEV=y +CONFIG_ICP10100=m +CONFIG_ICPLUS_PHY=m +CONFIG_IDEAPAD_LAPTOP=m +CONFIG_IDLE_INJECT=y +CONFIG_IDLE_PAGE_TRACKING=y +CONFIG_IE6XX_WDT=m +CONFIG_IEEE802154_6LOWPAN=m +CONFIG_IEEE802154_ADF7242=m +CONFIG_IEEE802154_AT86RF230=m +CONFIG_IEEE802154_ATUSB=m +CONFIG_IEEE802154_CA8210=m +CONFIG_IEEE802154_CA8210_DEBUGFS=y +CONFIG_IEEE802154_CC2520=m +CONFIG_IEEE802154_DRIVERS=m +CONFIG_IEEE802154_FAKELB=m +CONFIG_IEEE802154_HWSIM=m +CONFIG_IEEE802154_MCR20A=m +CONFIG_IEEE802154_MRF24J40=m +# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set +CONFIG_IEEE802154_SOCKET=m +CONFIG_IFB=m +CONFIG_IFCVF=m +CONFIG_IGB=m +CONFIG_IGBVF=m +CONFIG_IGB_DCA=y +CONFIG_IGB_HWMON=y +CONFIG_IGC=m +CONFIG_IIO_ADIS_LIB=m +CONFIG_IIO_ADIS_LIB_BUFFER=y +CONFIG_IIO_BUFFER=y +CONFIG_IIO_BUFFER_CB=m +CONFIG_IIO_BUFFER_DMA=m +CONFIG_IIO_BUFFER_DMAENGINE=m +CONFIG_IIO_BUFFER_HW_CONSUMER=m +CONFIG_IIO_CONFIGFS=m +CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 +CONFIG_IIO_CROS_EC_ACCEL_LEGACY=m +CONFIG_IIO_CROS_EC_BARO=m +CONFIG_IIO_CROS_EC_LIGHT_PROX=m +CONFIG_IIO_CROS_EC_SENSORS=m +CONFIG_IIO_CROS_EC_SENSORS_CORE=m +CONFIG_IIO_CROS_EC_SENSORS_LID_ANGLE=m +CONFIG_IIO_HRTIMER_TRIGGER=m +CONFIG_IIO_INTERRUPT_TRIGGER=m +CONFIG_IIO_KFIFO_BUF=m +CONFIG_IIO_MS_SENSORS_I2C=m +CONFIG_IIO_MUX=m +CONFIG_IIO_RESCALE=m +CONFIG_IIO_SCMI=m +CONFIG_IIO_SIMPLE_DUMMY=m +# CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set +# CONFIG_IIO_SIMPLE_DUMMY_EVENTS is not set +CONFIG_IIO_SSP_SENSORHUB=m +CONFIG_IIO_SSP_SENSORS_COMMONS=m +CONFIG_IIO_ST_ACCEL_3AXIS=m +CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m +CONFIG_IIO_ST_ACCEL_SPI_3AXIS=m +CONFIG_IIO_ST_GYRO_3AXIS=m +CONFIG_IIO_ST_GYRO_I2C_3AXIS=m +CONFIG_IIO_ST_GYRO_SPI_3AXIS=m +CONFIG_IIO_ST_LSM6DSX=m +CONFIG_IIO_ST_LSM6DSX_I2C=m +CONFIG_IIO_ST_LSM6DSX_I3C=m +CONFIG_IIO_ST_LSM6DSX_SPI=m +CONFIG_IIO_ST_LSM9DS0=m +CONFIG_IIO_ST_LSM9DS0_I2C=m +CONFIG_IIO_ST_LSM9DS0_SPI=m +CONFIG_IIO_ST_MAGN_3AXIS=m +CONFIG_IIO_ST_MAGN_I2C_3AXIS=m +CONFIG_IIO_ST_MAGN_SPI_3AXIS=m +CONFIG_IIO_ST_PRESS=m +CONFIG_IIO_ST_PRESS_I2C=m +CONFIG_IIO_ST_PRESS_SPI=m +CONFIG_IIO_ST_SENSORS_CORE=m +CONFIG_IIO_ST_SENSORS_I2C=m +CONFIG_IIO_ST_SENSORS_SPI=m +CONFIG_IIO_SW_DEVICE=m +CONFIG_IIO_SW_TRIGGER=m +CONFIG_IIO_SYSFS_TRIGGER=m +CONFIG_IIO_TIGHTLOOP_TRIGGER=m +CONFIG_IIO_TRIGGER=y +CONFIG_IIO_TRIGGERED_BUFFER=m +CONFIG_IIO_TRIGGERED_EVENT=m +# CONFIG_IKCONFIG is not set +CONFIG_IKHEADERS=m +CONFIG_IMA=y +CONFIG_IMA_APPRAISE=y +CONFIG_IMA_APPRAISE_BOOTPARAM=y +# CONFIG_IMA_APPRAISE_BUILD_POLICY is not set +CONFIG_IMA_APPRAISE_MODSIG=y +# CONFIG_IMA_APPRAISE_SIGNED_INIT is not set +CONFIG_IMA_ARCH_POLICY=y +# CONFIG_IMA_BLACKLIST_KEYRING is not set +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set +# CONFIG_IMA_DISABLE_HTABLE is not set +CONFIG_IMA_KEXEC=y +# CONFIG_IMA_KEYRINGS_PERMIT_SIGNED_BY_BUILTIN_OR_SECONDARY is not set +CONFIG_IMA_LSM_RULES=y +CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS=y +CONFIG_IMA_MEASURE_PCR_IDX=10 +CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS=y +CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT=y +CONFIG_IMA_TRUSTED_KEYRING=y +# CONFIG_IMA_WRITE_POLICY is not set +CONFIG_IMA_X509_PATH="/etc/keys/x509_ima.der" +CONFIG_IMG_ASCII_LCD=m +CONFIG_IMX2_WDT=m +CONFIG_IMX7D_ADC=m +CONFIG_IMX7ULP_WDT=m +CONFIG_IMX8MM_THERMAL=m +CONFIG_IMX8QXP_ADC=m +CONFIG_IMX_DMA=m +CONFIG_IMX_DSP=m +CONFIG_IMX_DSP_REMOTEPROC=m +CONFIG_IMX_GPCV2=y +CONFIG_IMX_GPCV2_PM_DOMAINS=y +CONFIG_IMX_INTMUX=y +CONFIG_IMX_IPUV3_CORE=m +CONFIG_IMX_IRQSTEER=y +CONFIG_IMX_MBOX=m +CONFIG_IMX_REMOTEPROC=m +CONFIG_IMX_SCU=y +CONFIG_IMX_SCU_PD=y +CONFIG_IMX_SC_THERMAL=m +CONFIG_IMX_SC_WDT=m +CONFIG_IMX_SDMA=m +CONFIG_IMX_THERMAL=m +CONFIG_IMX_WEIM=y +CONFIG_INA2XX_ADC=m +CONFIG_INDIRECT_PIO=y +CONFIG_INET=y +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_ESPINTCP=y +CONFIG_INET6_ESP_OFFLOAD=m +CONFIG_INET6_IPCOMP=m +CONFIG_INET6_TUNNEL=m +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET_AH=m +CONFIG_INET_DCCP_DIAG=m +CONFIG_INET_DIAG=m +CONFIG_INET_DIAG_DESTROY=y +CONFIG_INET_ESP=m +CONFIG_INET_ESPINTCP=y +CONFIG_INET_ESP_OFFLOAD=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_MPTCP_DIAG=m +CONFIG_INET_RAW_DIAG=m +CONFIG_INET_SCTP_DIAG=m +CONFIG_INET_TABLE_PERTURB_ORDER=16 +CONFIG_INET_TCP_DIAG=m +CONFIG_INET_TUNNEL=m +CONFIG_INET_UDP_DIAG=m +CONFIG_INET_XFRM_TUNNEL=m +CONFIG_INFINIBAND=m +CONFIG_INFINIBAND_ADDR_TRANS=y +CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y +CONFIG_INFINIBAND_BNXT_RE=m +CONFIG_INFINIBAND_CXGB4=m +CONFIG_INFINIBAND_EFA=m +CONFIG_INFINIBAND_HFI1=m +CONFIG_INFINIBAND_HNS=m +CONFIG_INFINIBAND_HNS_HIP08=y +CONFIG_INFINIBAND_IPOIB=m +CONFIG_INFINIBAND_IPOIB_CM=y +# CONFIG_INFINIBAND_IPOIB_DEBUG is not set +CONFIG_INFINIBAND_IRDMA=m +CONFIG_INFINIBAND_ISER=m +CONFIG_INFINIBAND_ISERT=m +CONFIG_INFINIBAND_MTHCA=m +# CONFIG_INFINIBAND_MTHCA_DEBUG is not set +CONFIG_INFINIBAND_ON_DEMAND_PAGING=y +CONFIG_INFINIBAND_OPA_VNIC=m +CONFIG_INFINIBAND_QEDR=m +CONFIG_INFINIBAND_QIB=m +CONFIG_INFINIBAND_QIB_DCA=y +CONFIG_INFINIBAND_RDMAVT=m +CONFIG_INFINIBAND_RTRS=m +CONFIG_INFINIBAND_RTRS_CLIENT=m +CONFIG_INFINIBAND_RTRS_SERVER=m +CONFIG_INFINIBAND_SRP=m +CONFIG_INFINIBAND_SRPT=m +CONFIG_INFINIBAND_USER_ACCESS=m +CONFIG_INFINIBAND_USER_MAD=m +CONFIG_INFINIBAND_USER_MEM=y +CONFIG_INFINIBAND_USNIC=m +CONFIG_INFINIBAND_VIRT_DMA=y +CONFIG_INFINIBAND_VMWARE_PVRDMA=m +CONFIG_INFTL=m +CONFIG_INITRAMFS_PRESERVE_MTIME=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y +# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +# CONFIG_INIT_STACK_ALL_PATTERN is not set +CONFIG_INIT_STACK_ALL_ZERO=y +# CONFIG_INIT_STACK_NONE is not set +CONFIG_INLINE_READ_LOCK=y +CONFIG_INLINE_READ_LOCK_BH=y +CONFIG_INLINE_READ_LOCK_IRQ=y +CONFIG_INLINE_READ_LOCK_IRQSAVE=y +CONFIG_INLINE_READ_TRYLOCK=y +CONFIG_INLINE_READ_UNLOCK=y +CONFIG_INLINE_READ_UNLOCK_BH=y +CONFIG_INLINE_READ_UNLOCK_IRQ=y +CONFIG_INLINE_READ_UNLOCK_IRQRESTORE=y +CONFIG_INLINE_SPIN_LOCK=y +CONFIG_INLINE_SPIN_LOCK_BH=y +CONFIG_INLINE_SPIN_LOCK_IRQ=y +CONFIG_INLINE_SPIN_LOCK_IRQSAVE=y +CONFIG_INLINE_SPIN_TRYLOCK=y +CONFIG_INLINE_SPIN_TRYLOCK_BH=y +CONFIG_INLINE_SPIN_UNLOCK_BH=y +CONFIG_INLINE_SPIN_UNLOCK_IRQ=y +CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE=y +CONFIG_INLINE_WRITE_LOCK=y +CONFIG_INLINE_WRITE_LOCK_BH=y +CONFIG_INLINE_WRITE_LOCK_IRQ=y +CONFIG_INLINE_WRITE_LOCK_IRQSAVE=y +CONFIG_INLINE_WRITE_TRYLOCK=y +CONFIG_INLINE_WRITE_UNLOCK=y +CONFIG_INLINE_WRITE_UNLOCK_BH=y +CONFIG_INLINE_WRITE_UNLOCK_IRQ=y +CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE=y +CONFIG_INOTIFY_USER=y +CONFIG_INPUT=y +CONFIG_INPUT_88PM80X_ONKEY=m +CONFIG_INPUT_88PM860X_ONKEY=m +CONFIG_INPUT_AD714X=m +CONFIG_INPUT_AD714X_I2C=m +CONFIG_INPUT_AD714X_SPI=m +CONFIG_INPUT_ADXL34X=m +CONFIG_INPUT_ADXL34X_I2C=m +CONFIG_INPUT_ADXL34X_SPI=m +CONFIG_INPUT_APANEL=m +CONFIG_INPUT_ARIZONA_HAPTICS=m +CONFIG_INPUT_ATC260X_ONKEY=m +CONFIG_INPUT_ATI_REMOTE2=m +CONFIG_INPUT_ATLAS_BTNS=m +CONFIG_INPUT_ATMEL_CAPTOUCH=m +CONFIG_INPUT_AXP20X_PEK=m +CONFIG_INPUT_BMA150=m +CONFIG_INPUT_CM109=m +CONFIG_INPUT_CMA3000=m +CONFIG_INPUT_CMA3000_I2C=m +CONFIG_INPUT_CPCAP_PWRBUTTON=m +CONFIG_INPUT_DA7280_HAPTICS=m +CONFIG_INPUT_DA9052_ONKEY=m +CONFIG_INPUT_DA9055_ONKEY=m +CONFIG_INPUT_DA9063_ONKEY=m +CONFIG_INPUT_DRV260X_HAPTICS=m +CONFIG_INPUT_DRV2665_HAPTICS=m +CONFIG_INPUT_DRV2667_HAPTICS=m +CONFIG_INPUT_E3X0_BUTTON=m +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_GPIO_BEEPER=m +CONFIG_INPUT_GPIO_DECODER=m +CONFIG_INPUT_GPIO_ROTARY_ENCODER=m +CONFIG_INPUT_GPIO_VIBRA=m +CONFIG_INPUT_HISI_POWERKEY=m +CONFIG_INPUT_IDEAPAD_SLIDEBAR=m +CONFIG_INPUT_IMS_PCU=m +CONFIG_INPUT_IQS269A=m +CONFIG_INPUT_IQS626A=m +CONFIG_INPUT_IQS7222=m +CONFIG_INPUT_KEYSPAN_REMOTE=m +CONFIG_INPUT_KXTJ9=m +CONFIG_INPUT_LEDS=m +CONFIG_INPUT_MAX77650_ONKEY=m +CONFIG_INPUT_MAX77693_HAPTIC=m +CONFIG_INPUT_MAX8925_ONKEY=m +CONFIG_INPUT_MAX8997_HAPTIC=m +CONFIG_INPUT_MC13783_PWRBUTTON=m +CONFIG_INPUT_MMA8450=m +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_PALMAS_PWRBUTTON=m +CONFIG_INPUT_PCAP=m +CONFIG_INPUT_PCF50633_PMU=m +CONFIG_INPUT_PCF8574=m +CONFIG_INPUT_PCSPKR=m +CONFIG_INPUT_PM8941_PWRKEY=m +CONFIG_INPUT_PM8XXX_VIBRATOR=m +CONFIG_INPUT_PMIC8XXX_PWRKEY=m +CONFIG_INPUT_POWERMATE=m +CONFIG_INPUT_PWM_BEEPER=m +CONFIG_INPUT_PWM_VIBRA=m +CONFIG_INPUT_RAVE_SP_PWRBUTTON=m +CONFIG_INPUT_REGULATOR_HAPTIC=m +CONFIG_INPUT_RETU_PWRBUTTON=m +CONFIG_INPUT_RK805_PWRKEY=m +CONFIG_INPUT_SC27XX_VIBRA=m +CONFIG_INPUT_SOC_BUTTON_ARRAY=m +CONFIG_INPUT_STPMIC1_ONKEY=m +CONFIG_INPUT_TPS65218_PWRBUTTON=m +CONFIG_INPUT_TWL4030_PWRBUTTON=m +CONFIG_INPUT_TWL4030_VIBRA=m +CONFIG_INPUT_TWL6040_VIBRA=m +CONFIG_INPUT_UINPUT=y +CONFIG_INPUT_VIVALDIFMAP=y +CONFIG_INPUT_WM831X_ON=m +CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m +CONFIG_INPUT_YEALINK=m +CONFIG_INSTRUCTION_DECODER=y +CONFIG_INT3406_THERMAL=m +CONFIG_INT340X_THERMAL=m +CONFIG_INTEGRITY=y +CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y +CONFIG_INTEGRITY_AUDIT=y +CONFIG_INTEGRITY_MACHINE_KEYRING=y +CONFIG_INTEGRITY_PLATFORM_KEYRING=y +CONFIG_INTEGRITY_SIGNATURE=y +CONFIG_INTEGRITY_TRUSTED_KEYRING=y +CONFIG_INTEL_ATOMISP=y +CONFIG_INTEL_ATOMISP2_LED=m +CONFIG_INTEL_ATOMISP2_PDX86=y +CONFIG_INTEL_BXTWC_PMIC_TMU=m +CONFIG_INTEL_BXT_PMIC_THERMAL=m +CONFIG_INTEL_CHTDC_TI_PWRBTN=m +CONFIG_INTEL_CHTWC_INT33FE=m +CONFIG_INTEL_GTT=y +CONFIG_INTEL_HFI_THERMAL=y +CONFIG_INTEL_HID_EVENT=m +CONFIG_INTEL_IDLE=y +CONFIG_INTEL_IDMA64=m +CONFIG_INTEL_IDXD=m +CONFIG_INTEL_IDXD_BUS=m +# CONFIG_INTEL_IDXD_COMPAT is not set +CONFIG_INTEL_IDXD_PERFMON=y +CONFIG_INTEL_IDXD_SVM=y +CONFIG_INTEL_INT0002_VGPIO=m +CONFIG_INTEL_IOATDMA=m +CONFIG_INTEL_IOMMU=y +# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set +CONFIG_INTEL_IOMMU_FLOPPY_WA=y +# CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set +CONFIG_INTEL_IOMMU_SVM=y +CONFIG_INTEL_IPS=m +CONFIG_INTEL_ISHTP_ECLITE=m +CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER=m +CONFIG_INTEL_ISH_HID=m +CONFIG_INTEL_LDMA=y +CONFIG_INTEL_MEI=m +CONFIG_INTEL_MEI_GSC=m +CONFIG_INTEL_MEI_HDCP=m +CONFIG_INTEL_MEI_ME=m +CONFIG_INTEL_MEI_PXP=m +CONFIG_INTEL_MEI_TXE=m +CONFIG_INTEL_MEI_WDT=m +CONFIG_INTEL_MENLOW=m +CONFIG_INTEL_MRFLD_ADC=m +CONFIG_INTEL_MRFLD_PWRBTN=m +CONFIG_INTEL_OAKTRAIL=m +CONFIG_INTEL_PCH_THERMAL=m +CONFIG_INTEL_PMC_CORE=y +CONFIG_INTEL_PMT_CLASS=m +CONFIG_INTEL_PMT_CRASHLOG=m +CONFIG_INTEL_PMT_TELEMETRY=m +CONFIG_INTEL_POWERCLAMP=m +CONFIG_INTEL_PUNIT_IPC=m +CONFIG_INTEL_QEP=m +CONFIG_INTEL_RAPL=m +CONFIG_INTEL_RAPL_CORE=m +CONFIG_INTEL_RST=m +CONFIG_INTEL_SAR_INT1092=m +CONFIG_INTEL_SCU=y +CONFIG_INTEL_SCU_IPC=y +CONFIG_INTEL_SCU_IPC_UTIL=m +CONFIG_INTEL_SCU_PCI=y +CONFIG_INTEL_SCU_PLATFORM=m +CONFIG_INTEL_SDSI=m +CONFIG_INTEL_SKL_INT3472=m +CONFIG_INTEL_SMARTCONNECT=m +CONFIG_INTEL_SOC_DTS_IOSF_CORE=m +CONFIG_INTEL_SOC_DTS_THERMAL=m +CONFIG_INTEL_SOC_PMIC=y +CONFIG_INTEL_SOC_PMIC_BXTWC=m +CONFIG_INTEL_SOC_PMIC_CHTDC_TI=m +CONFIG_INTEL_SOC_PMIC_CHTWC=y +CONFIG_INTEL_SOC_PMIC_MRFLD=m +CONFIG_INTEL_SPEED_SELECT_INTERFACE=m +CONFIG_INTEL_STRATIX10_RSU=m +CONFIG_INTEL_STRATIX10_SERVICE=m +CONFIG_INTEL_TCC_COOLING=m +CONFIG_INTEL_TDX_GUEST=y +CONFIG_INTEL_TELEMETRY=m +CONFIG_INTEL_TH=m +CONFIG_INTEL_TH_ACPI=m +# CONFIG_INTEL_TH_DEBUG is not set +CONFIG_INTEL_TH_GTH=m +CONFIG_INTEL_TH_MSU=m +CONFIG_INTEL_TH_PCI=m +CONFIG_INTEL_TH_PTI=m +CONFIG_INTEL_TH_STH=m +CONFIG_INTEL_TURBO_MAX_3=y +CONFIG_INTEL_TXT=y +CONFIG_INTEL_UNCORE_FREQ_CONTROL=m +CONFIG_INTEL_VBTN=m +CONFIG_INTEL_VSEC=m +CONFIG_INTEL_WMI=y +CONFIG_INTEL_WMI_SBL_FW_UPDATE=m +CONFIG_INTEL_WMI_THUNDERBOLT=m +CONFIG_INTEL_XWAY_PHY=m +CONFIG_INTERCONNECT_IMX=m +CONFIG_INTERCONNECT_IMX8MM=m +CONFIG_INTERCONNECT_IMX8MN=m +CONFIG_INTERCONNECT_IMX8MQ=m +CONFIG_INTERCONNECT_QCOM=y +CONFIG_INTERCONNECT_QCOM_BCM_VOTER=m +CONFIG_INTERCONNECT_QCOM_MSM8916=m +CONFIG_INTERCONNECT_QCOM_MSM8939=m +CONFIG_INTERCONNECT_QCOM_MSM8974=m +CONFIG_INTERCONNECT_QCOM_MSM8996=m +CONFIG_INTERCONNECT_QCOM_OSM_L3=m +CONFIG_INTERCONNECT_QCOM_QCM2290=m +CONFIG_INTERCONNECT_QCOM_QCS404=m +CONFIG_INTERCONNECT_QCOM_RPMH=m +CONFIG_INTERCONNECT_QCOM_RPMH_POSSIBLE=y +CONFIG_INTERCONNECT_QCOM_SC7180=m +CONFIG_INTERCONNECT_QCOM_SC7280=m +CONFIG_INTERCONNECT_QCOM_SC8180X=m +CONFIG_INTERCONNECT_QCOM_SC8280XP=m +CONFIG_INTERCONNECT_QCOM_SDM660=m +CONFIG_INTERCONNECT_QCOM_SDM845=m +CONFIG_INTERCONNECT_QCOM_SDX55=m +CONFIG_INTERCONNECT_QCOM_SDX65=m +CONFIG_INTERCONNECT_QCOM_SM8150=m +CONFIG_INTERCONNECT_QCOM_SM8250=m +CONFIG_INTERCONNECT_QCOM_SM8350=m +CONFIG_INTERCONNECT_QCOM_SM8450=m +CONFIG_INTERCONNECT_QCOM_SMD_RPM=m +# CONFIG_INTERCONNECT_SAMSUNG is not set +CONFIG_INTERRUPT_CNT=m +CONFIG_INTERVAL_TREE=y +# CONFIG_INTERVAL_TREE_TEST is not set +CONFIG_INV_ICM42600=m +CONFIG_INV_ICM42600_I2C=m +CONFIG_INV_ICM42600_SPI=m +CONFIG_INV_MPU6050_I2C=m +CONFIG_INV_MPU6050_IIO=m +CONFIG_INV_MPU6050_SPI=m +CONFIG_IOASID=y +CONFIG_IOMMU_API=y +# CONFIG_IOMMU_DEBUG is not set +# CONFIG_IOMMU_DEBUGFS is not set +# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set +CONFIG_IOMMU_DMA=y +CONFIG_IOMMU_HELPER=y +CONFIG_IOMMU_IO_PGTABLE=y +# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set +CONFIG_IOMMU_IO_PGTABLE_LPAE=y +# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set +CONFIG_IOMMU_SUPPORT=y +CONFIG_IOMMU_SVA=y +CONFIG_IONIC=m +CONFIG_IOSCHED_BFQ=m +CONFIG_IOSF_MBI=y +CONFIG_IOSF_MBI_DEBUG=y +CONFIG_IOSM=m +# CONFIG_IO_DELAY_0X80 is not set +CONFIG_IO_DELAY_0XED=y +# CONFIG_IO_DELAY_NONE is not set +# CONFIG_IO_DELAY_UDELAY is not set +CONFIG_IO_EVENT_IRQ=y +# CONFIG_IO_STRICT_DEVMEM is not set +CONFIG_IO_URING=y +CONFIG_IO_WQ=y +CONFIG_IP5XXX_POWER=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_RPFILTER=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m +CONFIG_IP6_NF_NAT=m +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_SECURITY=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_TARGET_MASQUERADE=m +CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m +CONFIG_IPC_NS=y +# CONFIG_IPDDP is not set +CONFIG_IPMB_DEVICE_INTERFACE=m +CONFIG_IPMI_DEVICE_INTERFACE=m +CONFIG_IPMI_DMI_DECODE=y +CONFIG_IPMI_IPMB=m +CONFIG_IPMI_KCS_BMC=m +CONFIG_IPMI_KCS_BMC_CDEV_IPMI=m +CONFIG_IPMI_KCS_BMC_SERIO=m +# CONFIG_IPMI_PANIC_EVENT is not set +CONFIG_IPMI_PLAT_DATA=y +CONFIG_IPMI_POWERNV=m +CONFIG_IPMI_POWEROFF=m +CONFIG_IPMI_SI=m +CONFIG_IPMI_SSIF=m +CONFIG_IPMI_WATCHDOG=m +# CONFIG_IPMMU_VMSA is not set +CONFIG_IPQ_APSS_6018=m +CONFIG_IPQ_APSS_PLL=m +CONFIG_IPQ_GCC_4019=m +CONFIG_IPQ_GCC_6018=m +CONFIG_IPQ_GCC_806X=m +CONFIG_IPQ_GCC_8074=m +CONFIG_IPQ_LCC_806X=m +CONFIG_IPV6=y +CONFIG_IPV6_FOU=m +CONFIG_IPV6_FOU_TUNNEL=m +CONFIG_IPV6_GRE=m +CONFIG_IPV6_ILA=m +CONFIG_IPV6_IOAM6_LWTUNNEL=y +CONFIG_IPV6_MIP6=m +CONFIG_IPV6_MROUTE=y +CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_NDISC_NODETYPE=y +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +CONFIG_IPV6_PIMSM_V2=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +# CONFIG_IPV6_RPL_LWTUNNEL is not set +CONFIG_IPV6_SEG6_BPF=y +CONFIG_IPV6_SEG6_HMAC=y +CONFIG_IPV6_SEG6_LWTUNNEL=y +CONFIG_IPV6_SIT=m +CONFIG_IPV6_SIT_6RD=y +CONFIG_IPV6_SUBTREES=y +CONFIG_IPV6_TUNNEL=m +CONFIG_IPV6_VTI=m +CONFIG_IPVLAN=m +CONFIG_IPVLAN_L3S=y +CONFIG_IPVTAP=m +CONFIG_IPW2100=m +# CONFIG_IPW2100_DEBUG is not set +CONFIG_IPW2100_MONITOR=y +CONFIG_IPW2200=m +# CONFIG_IPW2200_DEBUG is not set +CONFIG_IPW2200_MONITOR=y +CONFIG_IPW2200_PROMISCUOUS=y +CONFIG_IPW2200_QOS=y +CONFIG_IPW2200_RADIOTAP=y +CONFIG_IPWIRELESS=m +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_DCCP=m +# CONFIG_IP_DCCP_CCID2_DEBUG is not set +# CONFIG_IP_DCCP_CCID3_DEBUG is not set +# CONFIG_IP_DCCP_DEBUG is not set +CONFIG_IP_DCCP_TFRC_LIB=y +CONFIG_IP_FIB_TRIE_STATS=y +CONFIG_IP_MROUTE=y +CONFIG_IP_MROUTE_COMMON=y +CONFIG_IP_MROUTE_MULTIPLE_TABLES=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARP_MANGLE=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_RPFILTER=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_NAT=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_SECURITY=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +# CONFIG_IP_PNP is not set +CONFIG_IP_ROUTE_CLASSID=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_SCTP=m +CONFIG_IP_SET=m +CONFIG_IP_SET_BITMAP_IP=m +CONFIG_IP_SET_BITMAP_IPMAC=m +CONFIG_IP_SET_BITMAP_PORT=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMAC=m +CONFIG_IP_SET_HASH_IPMARK=m +CONFIG_IP_SET_HASH_IPPORT=m +CONFIG_IP_SET_HASH_IPPORTIP=m +CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_MAC=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETIFACE=m +CONFIG_IP_SET_HASH_NETNET=m +CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_HASH_NETPORTNET=m +CONFIG_IP_SET_LIST_SET=m +CONFIG_IP_SET_MAX=256 +CONFIG_IP_VS=m +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_DH=m +CONFIG_IP_VS_FO=m +CONFIG_IP_VS_FTP=m +CONFIG_IP_VS_IPV6=y +CONFIG_IP_VS_LBLC=m +CONFIG_IP_VS_LBLCR=m +CONFIG_IP_VS_LC=m +CONFIG_IP_VS_MH=m +CONFIG_IP_VS_MH_TAB_INDEX=12 +CONFIG_IP_VS_NFCT=y +CONFIG_IP_VS_NQ=m +CONFIG_IP_VS_OVF=m +CONFIG_IP_VS_PE_SIP=m +CONFIG_IP_VS_PROTO_AH=y +CONFIG_IP_VS_PROTO_AH_ESP=y +CONFIG_IP_VS_PROTO_ESP=y +CONFIG_IP_VS_PROTO_SCTP=y +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +CONFIG_IP_VS_RR=m +CONFIG_IP_VS_SED=m +CONFIG_IP_VS_SH=m +CONFIG_IP_VS_SH_TAB_BITS=8 +CONFIG_IP_VS_TAB_BITS=12 +CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_WRR=m +CONFIG_IQS620AT_TEMP=m +CONFIG_IQS621_ALS=m +CONFIG_IQS624_POS=m +CONFIG_IRQCHIP=y +# CONFIG_IRQSOFF_TRACER is not set +CONFIG_IRQSTACKS=y +CONFIG_IRQ_ALL_CPUS=y +CONFIG_IRQ_CROSSBAR=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_IRQ_FASTEOI_HIERARCHY_HANDLERS=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_IRQ_MSI_IOMMU=y +CONFIG_IRQ_POLL=y +CONFIG_IRQ_REMAP=y +CONFIG_IRQ_SIM=y +# CONFIG_IRQ_TIME_ACCOUNTING is not set +CONFIG_IRQ_UNIPHIER_AIDET=y +CONFIG_IRQ_WORK=y +CONFIG_IR_ENE=m +CONFIG_IR_FINTEK=m +CONFIG_IR_GPIO_CIR=m +CONFIG_IR_GPIO_TX=m +CONFIG_IR_HIX5HD2=m +CONFIG_IR_IGORPLUGUSB=m +CONFIG_IR_IGUANA=m +CONFIG_IR_IMON=m +CONFIG_IR_IMON_DECODER=m +CONFIG_IR_IMON_RAW=m +CONFIG_IR_ITE_CIR=m +CONFIG_IR_JVC_DECODER=m +CONFIG_IR_MCEUSB=m +CONFIG_IR_MCE_KBD_DECODER=m +CONFIG_IR_MESON=m +CONFIG_IR_MESON_TX=m +CONFIG_IR_MTK=m +CONFIG_IR_NEC_DECODER=m +CONFIG_IR_NUVOTON=m +CONFIG_IR_PWM_TX=m +CONFIG_IR_RC5_DECODER=m +CONFIG_IR_RC6_DECODER=m +CONFIG_IR_RCMM_DECODER=m +CONFIG_IR_REDRAT3=m +CONFIG_IR_RX51=m +CONFIG_IR_SANYO_DECODER=m +CONFIG_IR_SERIAL=m +CONFIG_IR_SERIAL_TRANSMITTER=y +CONFIG_IR_SHARP_DECODER=m +CONFIG_IR_SONY_DECODER=m +CONFIG_IR_SPI=m +CONFIG_IR_STREAMZAP=m +CONFIG_IR_SUNXI=m +CONFIG_IR_TOY=m +CONFIG_IR_TTUSBIR=m +CONFIG_IR_WINBOND_CIR=m +CONFIG_IR_XMP_DECODER=m +CONFIG_ISA_BUS=y +CONFIG_ISA_BUS_API=y +CONFIG_ISA_DMA_API=y +CONFIG_ISCSI_BOOT_SYSFS=m +CONFIG_ISCSI_IBFT=m +CONFIG_ISCSI_IBFT_FIND=y +CONFIG_ISCSI_TARGET=m +CONFIG_ISCSI_TARGET_CXGB4=m +CONFIG_ISCSI_TCP=m +CONFIG_ISDN=y +CONFIG_ISDN_CAPI=y +CONFIG_ISDN_CAPI_MIDDLEWARE=y +CONFIG_ISL29125=m +CONFIG_ISL29501=m +CONFIG_ISM=m +CONFIG_ISO9660_FS=m +CONFIG_IT8712F_WDT=m +CONFIG_IT87_WDT=m +CONFIG_ITCO_VENDOR_SUPPORT=y +CONFIG_ITCO_WDT=m +CONFIG_ITG3200=m +CONFIG_IUCV=y +CONFIG_IWL3945=m +CONFIG_IWL4965=m +CONFIG_IWLDVM=m +CONFIG_IWLEGACY=m +# CONFIG_IWLEGACY_DEBUG is not set +CONFIG_IWLEGACY_DEBUGFS=y +CONFIG_IWLMVM=m +CONFIG_IWLWIFI=m +# CONFIG_IWLWIFI_DEBUG is not set +CONFIG_IWLWIFI_DEBUGFS=y +CONFIG_IWLWIFI_DEVICE_TRACING=y +CONFIG_IWLWIFI_LEDS=y +CONFIG_IWLWIFI_OPMODE_MODULAR=y +CONFIG_IWMMXT=y +CONFIG_IXGB=m +CONFIG_IXGBE=m +CONFIG_IXGBEVF=m +CONFIG_IXGBEVF_IPSEC=y +CONFIG_IXGBE_DCA=y +CONFIG_IXGBE_DCB=y +CONFIG_IXGBE_HWMON=y +CONFIG_IXGBE_IPSEC=y +CONFIG_JAILHOUSE_GUEST=y +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_JFFS2_CMODE_FAVOURLZO=y +# CONFIG_JFFS2_CMODE_NONE is not set +# CONFIG_JFFS2_CMODE_PRIORITY is not set +# CONFIG_JFFS2_CMODE_SIZE is not set +CONFIG_JFFS2_COMPRESSION_OPTIONS=y +CONFIG_JFFS2_FS=m +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_POSIX_ACL=y +CONFIG_JFFS2_FS_SECURITY=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +CONFIG_JFFS2_FS_WRITEBUFFER=y +CONFIG_JFFS2_FS_XATTR=y +CONFIG_JFFS2_LZO=y +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +# CONFIG_JFFS2_SUMMARY is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFS_DEBUG is not set +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +CONFIG_JFS_STATISTICS=y +CONFIG_JOLIET=y +CONFIG_JOYSTICK_A3D=m +CONFIG_JOYSTICK_ADC=m +CONFIG_JOYSTICK_ADI=m +CONFIG_JOYSTICK_ANALOG=m +CONFIG_JOYSTICK_AS5011=m +CONFIG_JOYSTICK_COBRA=m +CONFIG_JOYSTICK_DB9=m +CONFIG_JOYSTICK_FSIA6B=m +CONFIG_JOYSTICK_GAMECON=m +CONFIG_JOYSTICK_GF2K=m +CONFIG_JOYSTICK_GRIP=m +CONFIG_JOYSTICK_GRIP_MP=m +CONFIG_JOYSTICK_GUILLEMOT=m +CONFIG_JOYSTICK_IFORCE=m +CONFIG_JOYSTICK_IFORCE_232=m +CONFIG_JOYSTICK_IFORCE_USB=m +CONFIG_JOYSTICK_INTERACT=m +CONFIG_JOYSTICK_JOYDUMP=m +CONFIG_JOYSTICK_MAGELLAN=m +CONFIG_JOYSTICK_PSXPAD_SPI=m +CONFIG_JOYSTICK_PSXPAD_SPI_FF=y +CONFIG_JOYSTICK_PXRC=m +CONFIG_JOYSTICK_QWIIC=m +CONFIG_JOYSTICK_SENSEHAT=m +CONFIG_JOYSTICK_SIDEWINDER=m +CONFIG_JOYSTICK_SPACEBALL=m +CONFIG_JOYSTICK_SPACEORB=m +CONFIG_JOYSTICK_STINGER=m +CONFIG_JOYSTICK_TMDC=m +CONFIG_JOYSTICK_TURBOGRAFX=m +CONFIG_JOYSTICK_TWIDJOY=m +CONFIG_JOYSTICK_WALKERA0701=m +CONFIG_JOYSTICK_WARRIOR=m +CONFIG_JOYSTICK_XPAD=m +CONFIG_JOYSTICK_XPAD_FF=y +CONFIG_JOYSTICK_XPAD_LEDS=y +CONFIG_JOYSTICK_ZHENHUA=m +CONFIG_JSA1212=m +CONFIG_JUMP_LABEL_FEATURE_CHECKS=y +# CONFIG_JUMP_LABEL_FEATURE_CHECK_DEBUG is not set +CONFIG_K3_DMA=m +CONFIG_K3_RTI_WATCHDOG=m +CONFIG_K3_THERMAL=m +CONFIG_KALLSYMS=y +CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y +CONFIG_KALLSYMS_ALL=y +CONFIG_KALLSYMS_BASE_RELATIVE=y +# CONFIG_KASAN is not set +CONFIG_KCMP=y +# CONFIG_KCOV is not set +# CONFIG_KCSAN is not set +CONFIG_KDB_CONTINUE_CATASTROPHIC=0 +CONFIG_KDB_DEFAULT_ENABLE=0x1 +CONFIG_KDB_KEYBOARD=y +CONFIG_KEEMBAY_WATCHDOG=m +CONFIG_KEMPLD_WDT=m +# CONFIG_KERNEL_BZIP2 is not set +# CONFIG_KERNEL_LZ4 is not set +# CONFIG_KERNEL_LZMA is not set +# CONFIG_KERNEL_LZO is not set +CONFIG_KERNEL_MODE_NEON=y +# CONFIG_KERNEL_NOBP is not set +CONFIG_KERNEL_START=0xc000000000000000 +# CONFIG_KERNEL_UNCOMPRESSED is not set +# CONFIG_KERNEL_XZ is not set +CONFIG_KERNEL_ZSTD=y +CONFIG_KERNFS=y +CONFIG_KEXEC=y +CONFIG_KEXEC_BZIMAGE_VERIFY_SIG=y +CONFIG_KEXEC_CORE=y +CONFIG_KEXEC_ELF=y +CONFIG_KEXEC_FILE=y +# CONFIG_KEXEC_IMAGE_VERIFY_SIG is not set +CONFIG_KEXEC_JUMP=y +CONFIG_KEXEC_SIG=y +# CONFIG_KEXEC_SIG_FORCE is not set +CONFIG_KEYBOARD_ADC=m +CONFIG_KEYBOARD_ADP5520=m +CONFIG_KEYBOARD_ADP5588=m +CONFIG_KEYBOARD_ADP5589=m +CONFIG_KEYBOARD_APPLESPI=m +CONFIG_KEYBOARD_ATKBD=y +CONFIG_KEYBOARD_BCM=m +CONFIG_KEYBOARD_CAP11XX=m +CONFIG_KEYBOARD_CROS_EC=m +CONFIG_KEYBOARD_CYPRESS_SF=m +CONFIG_KEYBOARD_DLINK_DIR685=m +CONFIG_KEYBOARD_GOLDFISH_EVENTS=m +CONFIG_KEYBOARD_GPIO=m +CONFIG_KEYBOARD_GPIO_POLLED=m +CONFIG_KEYBOARD_IMX=m +CONFIG_KEYBOARD_IMX_SC_KEY=m +CONFIG_KEYBOARD_IQS62X=m +CONFIG_KEYBOARD_LKKBD=m +CONFIG_KEYBOARD_LM8323=m +CONFIG_KEYBOARD_LM8333=m +CONFIG_KEYBOARD_MATRIX=m +CONFIG_KEYBOARD_MAX7359=m +CONFIG_KEYBOARD_MCS=m +CONFIG_KEYBOARD_MPR121=m +CONFIG_KEYBOARD_MT6779=m +CONFIG_KEYBOARD_MTK_PMIC=m +CONFIG_KEYBOARD_NEWTON=m +CONFIG_KEYBOARD_NVEC=m +CONFIG_KEYBOARD_OMAP4=m +CONFIG_KEYBOARD_OPENCORES=m +CONFIG_KEYBOARD_PMIC8XXX=m +CONFIG_KEYBOARD_QT1050=m +CONFIG_KEYBOARD_QT1070=m +CONFIG_KEYBOARD_QT2160=m +CONFIG_KEYBOARD_SAMSUNG=m +CONFIG_KEYBOARD_SNVS_PWRKEY=m +CONFIG_KEYBOARD_STMPE=m +CONFIG_KEYBOARD_STOWAWAY=m +# CONFIG_KEYBOARD_SUN4I_LRADC is not set +CONFIG_KEYBOARD_SUNKBD=m +CONFIG_KEYBOARD_TC3589X=m +CONFIG_KEYBOARD_TCA6416=m +CONFIG_KEYBOARD_TCA8418=m +CONFIG_KEYBOARD_TEGRA=m +CONFIG_KEYBOARD_TM2_TOUCHKEY=m +CONFIG_KEYBOARD_TWL4030=m +CONFIG_KEYBOARD_XTKBD=m +CONFIG_KEYS=y +CONFIG_KEYS_REQUEST_CACHE=y +CONFIG_KEY_DH_OPERATIONS=y +CONFIG_KEY_NOTIFICATIONS=y +CONFIG_KFENCE=y +# CONFIG_KFENCE_DEFERRABLE is not set +CONFIG_KFENCE_NUM_OBJECTS=255 +CONFIG_KFENCE_SAMPLE_INTERVAL=0 +# CONFIG_KFENCE_STATIC_KEYS is not set +CONFIG_KFENCE_STRESS_TEST_FAULTS=0 +CONFIG_KGDB=y +CONFIG_KGDB_HONOUR_BLOCKLIST=y +CONFIG_KGDB_KDB=y +CONFIG_KGDB_LOW_LEVEL_TRAP=y +CONFIG_KGDB_SERIAL_CONSOLE=y +# CONFIG_KGDB_TESTS is not set +CONFIG_KHADAS_MCU_FAN_THERMAL=m +CONFIG_KMAP_LOCAL=y +CONFIG_KMAP_LOCAL_NON_LINEAR_PTE_ARRAY=y +CONFIG_KMX61=m +CONFIG_KPROBES=y +CONFIG_KPROBES_ON_FTRACE=y +CONFIG_KPROBE_EVENTS=y +# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set +# CONFIG_KPROBE_EVENT_GEN_TEST is not set +CONFIG_KPSS_XCC=m +CONFIG_KRAITCC=m +CONFIG_KRAIT_CLOCKS=y +CONFIG_KRAIT_L2_ACCESSORS=y +CONFIG_KRETPROBES=y +CONFIG_KRETPROBE_ON_RETHOOK=y +CONFIG_KS0108=m +CONFIG_KS0108_DELAY=2 +CONFIG_KS0108_PORT=0x378 +CONFIG_KS7010=m +CONFIG_KS8842=m +CONFIG_KS8851=m +CONFIG_KS8851_MLL=m +CONFIG_KSM=y +CONFIG_KSZ884X_PCI=m +# CONFIG_KUNIT is not set +CONFIG_KUSER_HELPERS=y +CONFIG_KVM_AMD=m +CONFIG_KVM_AMD_SEV=y +CONFIG_KVM_ASYNC_PF=y +CONFIG_KVM_ASYNC_PF_SYNC=y +CONFIG_KVM_BOOK3S_64=m +CONFIG_KVM_BOOK3S_64_HANDLER=y +CONFIG_KVM_BOOK3S_64_HV=m +CONFIG_KVM_BOOK3S_64_PR=m +CONFIG_KVM_BOOK3S_HANDLER=y +# CONFIG_KVM_BOOK3S_HV_EXIT_TIMING is not set +CONFIG_KVM_BOOK3S_HV_NESTED_PMU_WORKAROUND=y +CONFIG_KVM_BOOK3S_HV_POSSIBLE=y +CONFIG_KVM_BOOK3S_PR_POSSIBLE=y +CONFIG_KVM_COMPAT=y +CONFIG_KVM_EXTERNAL_WRITE_TRACKING=y +CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y +CONFIG_KVM_GUEST=y +CONFIG_KVM_INTEL=m +CONFIG_KVM_MMIO=y +# CONFIG_KVM_S390_UCONTROL is not set +CONFIG_KVM_VFIO=y +CONFIG_KVM_WERROR=y +CONFIG_KVM_XEN=y +CONFIG_KVM_XFER_TO_GUEST_WORK=y +CONFIG_KVM_XICS=y +CONFIG_KVM_XIVE=y +CONFIG_KXCJK1013=m +CONFIG_KXSD9=m +CONFIG_KXSD9_I2C=m +CONFIG_KXSD9_SPI=m +CONFIG_L2TP=m +CONFIG_L2TP_DEBUGFS=m +CONFIG_L2TP_ETH=m +CONFIG_L2TP_IP=m +CONFIG_L2TP_V3=y +CONFIG_LAN743X=m +CONFIG_LAN966X_SWITCH=m +CONFIG_LAPBETHER=m +# CONFIG_LATENCYTOP is not set +CONFIG_LATTICE_ECP3_CONFIG=m +CONFIG_LCD2S=m +CONFIG_LCD_AMS369FG06=m +CONFIG_LCD_HX8357=m +CONFIG_LCD_ILI922X=m +CONFIG_LCD_ILI9320=m +CONFIG_LCD_L4F00242T03=m +CONFIG_LCD_LMS283GF05=m +CONFIG_LCD_LMS501KF03=m +CONFIG_LCD_LTV350QV=m +CONFIG_LCD_OTM3225A=m +CONFIG_LCD_PLATFORM=m +CONFIG_LCD_TDO24M=m +CONFIG_LCD_VGG2432A4=m +CONFIG_LCS=m +CONFIG_LDISC_AUTOLOAD=y +# CONFIG_LDM_DEBUG is not set +# CONFIG_LD_DEAD_CODE_DATA_ELIMINATION is not set +# CONFIG_LD_HEAD_STUB_CATCH is not set +CONFIG_LD_IS_BFD=y +CONFIG_LD_ORPHAN_WARN=y +CONFIG_LD_VERSION=23900 +CONFIG_LEDS_88PM860X=m +CONFIG_LEDS_AAEON=m +CONFIG_LEDS_AAT1290=m +CONFIG_LEDS_ACER_A500=m +CONFIG_LEDS_ADP5520=m +CONFIG_LEDS_AN30259A=m +CONFIG_LEDS_APU=m +CONFIG_LEDS_AS3645A=m +CONFIG_LEDS_ASIC3=y +CONFIG_LEDS_AW2013=m +CONFIG_LEDS_BCM6328=m +CONFIG_LEDS_BCM6358=m +CONFIG_LEDS_BD2802=m +CONFIG_LEDS_BLINKM=m +CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_CLASS_FLASH=m +CONFIG_LEDS_CLASS_MULTICOLOR=m +CONFIG_LEDS_CLEVO_MAIL=m +CONFIG_LEDS_CPCAP=m +CONFIG_LEDS_CR0014114=m +CONFIG_LEDS_DA903X=m +CONFIG_LEDS_DA9052=m +CONFIG_LEDS_DAC124S085=m +CONFIG_LEDS_EL15203000=m +CONFIG_LEDS_GPIO=m +CONFIG_LEDS_INTEL_SS4200=m +CONFIG_LEDS_IS31FL319X=m +CONFIG_LEDS_IS31FL32XX=m +CONFIG_LEDS_KTD2692=m +CONFIG_LEDS_LM3530=m +CONFIG_LEDS_LM3532=m +CONFIG_LEDS_LM3533=m +CONFIG_LEDS_LM355x=m +CONFIG_LEDS_LM3601X=m +CONFIG_LEDS_LM36274=m +CONFIG_LEDS_LM3642=m +CONFIG_LEDS_LM3692X=m +CONFIG_LEDS_LM3697=m +CONFIG_LEDS_LP3944=m +CONFIG_LEDS_LP3952=m +CONFIG_LEDS_LP50XX=m +CONFIG_LEDS_LP5521=m +CONFIG_LEDS_LP5523=m +CONFIG_LEDS_LP5562=m +CONFIG_LEDS_LP55XX_COMMON=m +CONFIG_LEDS_LP8501=m +CONFIG_LEDS_LP8788=m +CONFIG_LEDS_LP8860=m +CONFIG_LEDS_LT3593=m +CONFIG_LEDS_MAX77650=m +CONFIG_LEDS_MAX77693=m +CONFIG_LEDS_MAX8997=m +CONFIG_LEDS_MC13783=m +CONFIG_LEDS_MENF21BMC=m +CONFIG_LEDS_MLXCPLD=m +CONFIG_LEDS_MLXREG=m +CONFIG_LEDS_MT6323=m +CONFIG_LEDS_MT6360=m +CONFIG_LEDS_NIC78BX=m +CONFIG_LEDS_NS2=m +CONFIG_LEDS_PCA9532=m +CONFIG_LEDS_PCA9532_GPIO=y +CONFIG_LEDS_PCA955X=m +CONFIG_LEDS_PCA955X_GPIO=y +CONFIG_LEDS_PCA963X=m +CONFIG_LEDS_PM8058=m +CONFIG_LEDS_POWERNV=m +CONFIG_LEDS_PWM=m +CONFIG_LEDS_PWM_MULTICOLOR=m +CONFIG_LEDS_QCOM_LPG=m +CONFIG_LEDS_REGULATOR=m +CONFIG_LEDS_RT4505=m +CONFIG_LEDS_RT8515=m +CONFIG_LEDS_SC27XX_BLTC=m +CONFIG_LEDS_SGM3140=m +CONFIG_LEDS_SIEMENS_SIMATIC_IPC=m +CONFIG_LEDS_SPI_BYTE=m +CONFIG_LEDS_SYSCON=y +CONFIG_LEDS_TCA6507=m +CONFIG_LEDS_TI_LMU_COMMON=m +CONFIG_LEDS_TLC591XX=m +CONFIG_LEDS_TPS6105X=m +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_ACTIVITY=m +CONFIG_LEDS_TRIGGER_AUDIO=m +CONFIG_LEDS_TRIGGER_BACKLIGHT=m +CONFIG_LEDS_TRIGGER_CAMERA=m +CONFIG_LEDS_TRIGGER_CPU=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=m +CONFIG_LEDS_TRIGGER_DISK=y +CONFIG_LEDS_TRIGGER_GPIO=m +CONFIG_LEDS_TRIGGER_HEARTBEAT=m +CONFIG_LEDS_TRIGGER_MTD=y +CONFIG_LEDS_TRIGGER_NETDEV=m +CONFIG_LEDS_TRIGGER_ONESHOT=m +CONFIG_LEDS_TRIGGER_PANIC=y +CONFIG_LEDS_TRIGGER_PATTERN=m +CONFIG_LEDS_TRIGGER_TIMER=m +CONFIG_LEDS_TRIGGER_TRANSIENT=m +CONFIG_LEDS_TRIGGER_TTY=m +CONFIG_LEDS_TURRIS_OMNIA=m +CONFIG_LEDS_USER=m +CONFIG_LEDS_WM831X_STATUS=m +CONFIG_LEDS_WM8350=m +CONFIG_LED_TRIGGER_PHY=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=0 +# CONFIG_LEGACY_VSYSCALL_NONE is not set +CONFIG_LEGACY_VSYSCALL_XONLY=y +CONFIG_LG_LAPTOP=m +CONFIG_LIB80211=m +CONFIG_LIB80211_CRYPT_CCMP=m +CONFIG_LIB80211_CRYPT_TKIP=m +CONFIG_LIB80211_CRYPT_WEP=m +# CONFIG_LIB80211_DEBUG is not set +CONFIG_LIBCRC32C=m +CONFIG_LIBERTAS=m +CONFIG_LIBERTAS_CS=m +# CONFIG_LIBERTAS_DEBUG is not set +CONFIG_LIBERTAS_MESH=y +CONFIG_LIBERTAS_SDIO=m +CONFIG_LIBERTAS_SPI=m +CONFIG_LIBERTAS_THINFIRM=m +# CONFIG_LIBERTAS_THINFIRM_DEBUG is not set +CONFIG_LIBERTAS_THINFIRM_USB=m +CONFIG_LIBERTAS_USB=m +CONFIG_LIBFC=m +CONFIG_LIBFCOE=m +CONFIG_LIBFDT=y +CONFIG_LIBIPW=m +# CONFIG_LIBIPW_DEBUG is not set +CONFIG_LIB_MEMNEQ=y +CONFIG_LIDAR_LITE_V2=m +CONFIG_LINEAR_RANGES=y +CONFIG_LINEDISP=m +CONFIG_LIQUIDIO=m +CONFIG_LIQUIDIO_VF=m +CONFIG_LIRC=y +CONFIG_LITEX=y +CONFIG_LITEX_LITEETH=m +CONFIG_LITEX_SOC_CONTROLLER=m +CONFIG_LIVEPATCH=y +CONFIG_LIVEPATCH_64=y +# CONFIG_LKDTM is not set +CONFIG_LLC=m +CONFIG_LLD_VERSION=0 +CONFIG_LMK04832=m +CONFIG_LMP91000=m +CONFIG_LOAD_IPL_KEYS=y +CONFIG_LOAD_PPC_KEYS=y +CONFIG_LOAD_UEFI_KEYS=y +CONFIG_LOCALVERSION="" +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_LOCKD=m +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_LOCKD_V4=y +CONFIG_LOCKUP_DETECTOR=y +CONFIG_LOCK_DEBUGGING_SUPPORT=y +CONFIG_LOCK_DOWN_IN_SECURE_BOOT=y +# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set +# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set +CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y +# CONFIG_LOCK_EVENT_COUNTS is not set +CONFIG_LOCK_SPIN_ON_OWNER=y +# CONFIG_LOCK_STAT is not set +# CONFIG_LOCK_TORTURE_TEST is not set +CONFIG_LOGIG940_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGITECH_FF=y +CONFIG_LOGIWHEELS_FF=y +# CONFIG_LOGO is not set +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +CONFIG_LOOPBACK_TARGET=m +CONFIG_LP8788_ADC=m +CONFIG_LPARCFG=y +# CONFIG_LP_CONSOLE is not set +CONFIG_LRU_CACHE=m +CONFIG_LSI_ET1011C_PHY=m +CONFIG_LSM="landlock,lockdown,yama,integrity,apparmor" +CONFIG_LSM_MMAP_MIN_ADDR=0 +CONFIG_LS_EXTIRQ=y +CONFIG_LS_SCFG_MSI=y +CONFIG_LTC1660=m +CONFIG_LTC2471=m +CONFIG_LTC2485=m +CONFIG_LTC2496=m +CONFIG_LTC2497=m +CONFIG_LTC2632=m +CONFIG_LTC2688=m +CONFIG_LTC2983=m +CONFIG_LTE_GDM724X=m +CONFIG_LTO_NONE=y +CONFIG_LTR501=m +CONFIG_LV0104CS=m +CONFIG_LWTUNNEL=y +CONFIG_LWTUNNEL_BPF=y +CONFIG_LXT_PHY=m +CONFIG_LZ4HC_COMPRESS=m +CONFIG_LZ4_COMPRESS=m +CONFIG_LZ4_DECOMPRESS=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_M62332=m +CONFIG_MAC80211=m +CONFIG_MAC80211_DEBUGFS=y +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_HWSIM=m +CONFIG_MAC80211_LEDS=y +CONFIG_MAC80211_MESH=y +CONFIG_MAC80211_MESSAGE_TRACING=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +CONFIG_MAC802154=m +CONFIG_MACB=m +CONFIG_MACB_PCI=m +CONFIG_MACB_USE_HWSTAMP=y +CONFIG_MACHZ_WDT=m +CONFIG_MACH_ARMADA_370=y +CONFIG_MACH_ARMADA_375=y +CONFIG_MACH_ARMADA_38X=y +CONFIG_MACH_ARMADA_39X=y +CONFIG_MACH_ARMADA_XP=y +# CONFIG_MACH_ARTPEC6 is not set +CONFIG_MACH_ASPEED_G6=y +CONFIG_MACH_BERLIN_BG2=y +CONFIG_MACH_BERLIN_BG2CD=y +CONFIG_MACH_BERLIN_BG2Q=y +CONFIG_MACH_DOVE=y +CONFIG_MACH_INFINITY=y +CONFIG_MACH_MERCURY=y +CONFIG_MACH_MESON6=y +CONFIG_MACH_MESON8=y +CONFIG_MACH_MT2701=y +CONFIG_MACH_MT6589=y +CONFIG_MACH_MT6592=y +CONFIG_MACH_MT7623=y +CONFIG_MACH_MT7629=y +CONFIG_MACH_MT8127=y +CONFIG_MACH_MT8135=y +CONFIG_MACH_MVEBU_ANY=y +CONFIG_MACH_MVEBU_V7=y +CONFIG_MACH_OMAP_GENERIC=y +CONFIG_MACINTOSH_DRIVERS=y +CONFIG_MACSEC=m +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_MAC_EMUMOUSEBTN=m +CONFIG_MADERA_IRQ=m +CONFIG_MAG3110=m +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x01b6 +CONFIG_MAGIC_SYSRQ_SERIAL=y +CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE="" +CONFIG_MAILBOX_TEST=m +CONFIG_MANAGER_SBS=m +CONFIG_MANTIS_CORE=m +CONFIG_MAPPING_DIRTY_HELPERS=y +# CONFIG_MARCH_Z10 is not set +CONFIG_MARCH_Z13=y +# CONFIG_MARCH_Z14 is not set +# CONFIG_MARCH_Z15 is not set +CONFIG_MARCH_Z15_TUNE=y +# CONFIG_MARCH_Z16 is not set +# CONFIG_MARCH_Z196 is not set +# CONFIG_MARCH_ZEC12 is not set +CONFIG_MARVELL_10G_PHY=m +CONFIG_MARVELL_CN10K_DDR_PMU=m +CONFIG_MARVELL_CN10K_TAD_PMU=m +CONFIG_MARVELL_PHY=m +# CONFIG_MATOM is not set +CONFIG_MAX1027=m +CONFIG_MAX11100=m +CONFIG_MAX1118=m +CONFIG_MAX1241=m +CONFIG_MAX1363=m +CONFIG_MAX30100=m +CONFIG_MAX30102=m +CONFIG_MAX31856=m +CONFIG_MAX31865=m +CONFIG_MAX44000=m +CONFIG_MAX44009=m +CONFIG_MAX517=m +CONFIG_MAX5432=m +CONFIG_MAX5481=m +CONFIG_MAX5487=m +CONFIG_MAX5821=m +CONFIG_MAX77620_THERMAL=m +CONFIG_MAX77620_WATCHDOG=m +CONFIG_MAX8925_POWER=m +CONFIG_MAX9611=m +CONFIG_MAXIM_THERMOCOUPLE=m +CONFIG_MAXSMP=y +CONFIG_MAX_PHYSMEM_BITS=46 +CONFIG_MB1232=m +CONFIG_MC3230=m +CONFIG_MCB_LPC=m +CONFIG_MCB_PCI=m +CONFIG_MCHP_CLK_MPFS=y +# CONFIG_MCORE2 is not set +CONFIG_MCP320X=m +CONFIG_MCP3422=m +CONFIG_MCP3911=m +CONFIG_MCP4018=m +CONFIG_MCP41010=m +CONFIG_MCP4131=m +CONFIG_MCP4531=m +CONFIG_MCP4725=m +CONFIG_MCP4922=m +CONFIG_MCPM=y +CONFIG_MCPM_QUAD_CLUSTER=y +CONFIG_MCTP_FLOWS=y +CONFIG_MCTP_SERIAL=m +CONFIG_MCTP_TRANSPORT_I2C=m +CONFIG_MD=y +CONFIG_MDIO=m +CONFIG_MDIO_ASPEED=m +# CONFIG_MDIO_BCM_IPROC is not set +CONFIG_MDIO_BUS=y +CONFIG_MDIO_BUS_MUX_BCM_IPROC=y +CONFIG_MDIO_BUS_MUX_GPIO=m +CONFIG_MDIO_BUS_MUX_MESON_G12A=m +CONFIG_MDIO_BUS_MUX_MMIOREG=m +CONFIG_MDIO_BUS_MUX_MULTIPLEXER=m +CONFIG_MDIO_CAVIUM=m +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_DEVRES=y +CONFIG_MDIO_GPIO=m +CONFIG_MDIO_HISI_FEMAC=m +CONFIG_MDIO_I2C=m +CONFIG_MDIO_IPQ4019=m +CONFIG_MDIO_IPQ8064=m +CONFIG_MDIO_MSCC_MIIM=m +CONFIG_MDIO_MVUSB=m +CONFIG_MDIO_OCTEON=m +# CONFIG_MDIO_SUN4I is not set +CONFIG_MDIO_XGENE=m +CONFIG_MDM_GCC_9607=m +CONFIG_MDM_GCC_9615=m +CONFIG_MDM_LCC_9615=m +CONFIG_MD_AUTODETECT=y +CONFIG_MD_CLUSTER=m +CONFIG_MD_FAULTY=m +CONFIG_MD_LINEAR=m +CONFIG_MD_RAID0=m +CONFIG_MD_RAID1=m +CONFIG_MD_RAID10=m +CONFIG_MD_RAID456=m +CONFIG_MEDIATEK_MT6360_ADC=m +CONFIG_MEDIATEK_MT6577_AUXADC=m +CONFIG_MEDIATEK_WATCHDOG=m +CONFIG_MEDIA_ALTERA_CI=m +CONFIG_MEDIA_ANALOG_TV_SUPPORT=y +CONFIG_MEDIA_ATTACH=y +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_CEC_RC=y +CONFIG_MEDIA_COMMON_OPTIONS=y +CONFIG_MEDIA_CONTROLLER=y +CONFIG_MEDIA_CONTROLLER_DVB=y +CONFIG_MEDIA_CONTROLLER_REQUEST_API=y +CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y +CONFIG_MEDIA_PCI_SUPPORT=y +CONFIG_MEDIA_PLATFORM_DRIVERS=y +CONFIG_MEDIA_PLATFORM_SUPPORT=y +CONFIG_MEDIA_RADIO_SUPPORT=y +CONFIG_MEDIA_SDR_SUPPORT=y +CONFIG_MEDIA_SUBDRV_AUTOSELECT=y +CONFIG_MEDIA_SUPPORT_FILTER=y +CONFIG_MEDIA_TEST_SUPPORT=y +CONFIG_MEDIA_TUNER=m +CONFIG_MEDIA_TUNER_E4000=m +CONFIG_MEDIA_TUNER_FC0011=m +CONFIG_MEDIA_TUNER_FC0012=m +CONFIG_MEDIA_TUNER_FC0013=m +CONFIG_MEDIA_TUNER_FC2580=m +CONFIG_MEDIA_TUNER_IT913X=m +CONFIG_MEDIA_TUNER_M88RS6000T=m +CONFIG_MEDIA_TUNER_MAX2165=m +CONFIG_MEDIA_TUNER_MC44S803=m +CONFIG_MEDIA_TUNER_MSI001=m +CONFIG_MEDIA_TUNER_MT2060=m +CONFIG_MEDIA_TUNER_MT2063=m +CONFIG_MEDIA_TUNER_MT20XX=m +CONFIG_MEDIA_TUNER_MT2131=m +CONFIG_MEDIA_TUNER_MT2266=m +CONFIG_MEDIA_TUNER_MXL301RF=m +CONFIG_MEDIA_TUNER_MXL5005S=m +CONFIG_MEDIA_TUNER_MXL5007T=m +CONFIG_MEDIA_TUNER_QM1D1B0004=m +CONFIG_MEDIA_TUNER_QM1D1C0042=m +CONFIG_MEDIA_TUNER_QT1010=m +CONFIG_MEDIA_TUNER_R820T=m +CONFIG_MEDIA_TUNER_SI2157=m +CONFIG_MEDIA_TUNER_SIMPLE=m +CONFIG_MEDIA_TUNER_TDA18212=m +CONFIG_MEDIA_TUNER_TDA18218=m +CONFIG_MEDIA_TUNER_TDA18250=m +CONFIG_MEDIA_TUNER_TDA18271=m +CONFIG_MEDIA_TUNER_TDA827X=m +CONFIG_MEDIA_TUNER_TDA8290=m +CONFIG_MEDIA_TUNER_TDA9887=m +CONFIG_MEDIA_TUNER_TEA5761=m +CONFIG_MEDIA_TUNER_TEA5767=m +CONFIG_MEDIA_TUNER_TUA9001=m +CONFIG_MEDIA_TUNER_XC2028=m +CONFIG_MEDIA_TUNER_XC4000=m +CONFIG_MEDIA_TUNER_XC5000=m +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_MEGARAID_MAILBOX=m +CONFIG_MEGARAID_MM=m +CONFIG_MELLANOX_PLATFORM=y +CONFIG_MEMBARRIER=y +CONFIG_MEMCG=y +CONFIG_MEMCG_KMEM=y +CONFIG_MEMCG_SWAP=y +CONFIG_MEMFD_CREATE=y +CONFIG_MEMORY_BALLOON=y +CONFIG_MEMORY_FAILURE=y +CONFIG_MEMORY_HOTPLUG=y +CONFIG_MEMORY_HOTREMOVE=y +CONFIG_MEMORY_ISOLATION=y +CONFIG_MEMORY_NOTIFIER_ERROR_INJECT=m +CONFIG_MEMREGION=y +# CONFIG_MEMSTICK_DEBUG is not set +CONFIG_MEMSTICK_JMICRON_38X=m +CONFIG_MEMSTICK_R592=m +CONFIG_MEMSTICK_REALTEK_PCI=m +CONFIG_MEMSTICK_REALTEK_USB=m +CONFIG_MEMSTICK_TIFM_MS=m +# CONFIG_MEMSTICK_UNSAFE_RESUME is not set +CONFIG_MEMTEST=y +CONFIG_MENF21BMC_WATCHDOG=m +CONFIG_MENZ069_WATCHDOG=m +CONFIG_MEN_A21_WDT=m +CONFIG_MEN_Z188_ADC=m +CONFIG_MERAKI_MX100=m +CONFIG_MESON6_TIMER=y +CONFIG_MESON_CANVAS=m +CONFIG_MESON_CLK_MEASURE=y +CONFIG_MESON_EE_PM_DOMAINS=y +CONFIG_MESON_EFUSE=m +CONFIG_MESON_GXBB_WATCHDOG=m +CONFIG_MESON_GXL_PHY=m +CONFIG_MESON_GX_PM_DOMAINS=y +CONFIG_MESON_GX_SOCINFO=y +CONFIG_MESON_IRQ_GPIO=y +CONFIG_MESON_MX_AO_ARC_REMOTEPROC=m +CONFIG_MESON_MX_EFUSE=m +CONFIG_MESON_MX_SOCINFO=y +CONFIG_MESON_SARADC=m +CONFIG_MESON_SECURE_PM_DOMAINS=y +CONFIG_MESON_SM=y +CONFIG_MESON_WATCHDOG=m +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +CONFIG_MFD_88PM860X=y +CONFIG_MFD_AAEON=m +CONFIG_MFD_AAT2870_CORE=y +# CONFIG_MFD_AC100 is not set +CONFIG_MFD_ACER_A500_EC=m +CONFIG_MFD_ACT8945A=m +CONFIG_MFD_ALTERA_A10SR=y +CONFIG_MFD_ALTERA_SYSMGR=y +CONFIG_MFD_ARIZONA=m +CONFIG_MFD_ARIZONA_SPI=m +CONFIG_MFD_AS3711=y +CONFIG_MFD_AS3722=y +CONFIG_MFD_ASIC3=y +CONFIG_MFD_ATC260X=m +CONFIG_MFD_ATMEL_FLEXCOM=m +CONFIG_MFD_ATMEL_HLCDC=m +CONFIG_MFD_AXP20X=m +CONFIG_MFD_AXP20X_RSB=m +CONFIG_MFD_CPCAP=m +CONFIG_MFD_CROS_EC_DEV=m +CONFIG_MFD_CS47L15=y +CONFIG_MFD_CS47L24=y +CONFIG_MFD_CS47L35=y +CONFIG_MFD_CS47L85=y +CONFIG_MFD_CS47L90=y +CONFIG_MFD_CS47L92=y +CONFIG_MFD_DA9052_I2C=y +CONFIG_MFD_DA9052_SPI=y +CONFIG_MFD_DA9055=y +CONFIG_MFD_DLN2=m +# CONFIG_MFD_EXYNOS_LPASS is not set +CONFIG_MFD_GATEWORKS_GSC=m +CONFIG_MFD_HI6421_PMIC=m +CONFIG_MFD_HI6421_SPMI=m +CONFIG_MFD_HI655X_PMIC=m +CONFIG_MFD_INTEL_LPSS=m +CONFIG_MFD_INTEL_LPSS_ACPI=m +CONFIG_MFD_INTEL_LPSS_PCI=m +CONFIG_MFD_INTEL_M10_BMC=m +CONFIG_MFD_INTEL_PMC_BXT=m +CONFIG_MFD_INTEL_QUARK_I2C_GPIO=m +CONFIG_MFD_KHADAS_MCU=m +CONFIG_MFD_LOCHNAGAR=y +CONFIG_MFD_LP8788=y +CONFIG_MFD_MADERA_I2C=m +CONFIG_MFD_MADERA_SPI=m +CONFIG_MFD_MAX77620=y +CONFIG_MFD_MAX77650=m +CONFIG_MFD_MAX77686=y +CONFIG_MFD_MAX77714=m +CONFIG_MFD_MAX77843=y +CONFIG_MFD_MAX8925=y +CONFIG_MFD_MAX8997=y +CONFIG_MFD_MAX8998=y +CONFIG_MFD_MC13XXX=m +CONFIG_MFD_MC13XXX_SPI=m +CONFIG_MFD_NTXEC=m +CONFIG_MFD_NVEC=m +CONFIG_MFD_OMAP_USB_HOST=y +CONFIG_MFD_PALMAS=y +CONFIG_MFD_PM8XXX=m +CONFIG_MFD_QCOM_PM8008=m +CONFIG_MFD_QCOM_RPM=m +CONFIG_MFD_RC5T583=y +CONFIG_MFD_RK808=m +CONFIG_MFD_RN5T618=m +CONFIG_MFD_ROHM_BD71828=m +CONFIG_MFD_ROHM_BD718XX=m +CONFIG_MFD_ROHM_BD957XMUF=m +CONFIG_MFD_RSMU_I2C=m +CONFIG_MFD_RSMU_SPI=m +CONFIG_MFD_SC27XX_PMIC=m +CONFIG_MFD_SEC_CORE=y +CONFIG_MFD_SIMPLE_MFD_I2C=m +CONFIG_MFD_SL28CPLD=m +CONFIG_MFD_SM501_GPIO=y +CONFIG_MFD_SPMI_PMIC=m +CONFIG_MFD_STMFX=m +CONFIG_MFD_STMPE=y +CONFIG_MFD_STPMIC1=m +CONFIG_MFD_SUN4I_GPADC=m +CONFIG_MFD_SUN6I_PRCM=y +CONFIG_MFD_T7L66XB=y +CONFIG_MFD_TC3589X=y +CONFIG_MFD_TC6387XB=y +CONFIG_MFD_TC6393XB=y +CONFIG_MFD_TI_LP87565=m +CONFIG_MFD_TMIO=y +CONFIG_MFD_TPS65090=y +CONFIG_MFD_TPS65218=m +CONFIG_MFD_TPS6586X=y +CONFIG_MFD_TPS65910=y +CONFIG_MFD_TPS65912=y +CONFIG_MFD_TPS65912_SPI=y +CONFIG_MFD_TWL4030_AUDIO=y +CONFIG_MFD_VEXPRESS_SYSREG=y +CONFIG_MFD_VIPERBOARD=m +CONFIG_MFD_WM5102=y +CONFIG_MFD_WM5110=y +CONFIG_MFD_WM831X=y +CONFIG_MFD_WM831X_I2C=y +CONFIG_MFD_WM831X_SPI=y +CONFIG_MFD_WM8350=y +CONFIG_MFD_WM8350_I2C=y +CONFIG_MFD_WM8400=y +CONFIG_MFD_WM8997=y +CONFIG_MFD_WM8998=y +# CONFIG_MHI_BUS_DEBUG is not set +CONFIG_MHI_BUS_PCI_GENERIC=m +CONFIG_MHI_NET=m +CONFIG_MHI_WWAN_CTRL=m +CONFIG_MHI_WWAN_MBIM=m +CONFIG_MHP_MEMMAP_ON_MEMORY=y +CONFIG_MICREL_KS8995MA=m +CONFIG_MICREL_PHY=m +CONFIG_MICROCHIP_PHY=m +CONFIG_MICROCHIP_PIT64B=y +CONFIG_MICROCHIP_T1_PHY=m +CONFIG_MICROCHIP_TCB_CAPTURE=m +CONFIG_MICROCODE=y +CONFIG_MICROCODE_AMD=y +CONFIG_MICROCODE_INTEL=y +# CONFIG_MICROCODE_LATE_LOADING is not set +CONFIG_MICROSEMI_PHY=m +CONFIG_MICROSOFT_MANA=m +CONFIG_MIGHT_HAVE_CACHE_L2X0=y +CONFIG_MIGRATION=y +CONFIG_MILBEAUT_HDMAC=m +CONFIG_MILBEAUT_TIMER=y +CONFIG_MILBEAUT_XDMAC=m +CONFIG_MIPI_I3C_HCI=m +CONFIG_MISC_FILESYSTEMS=y +CONFIG_MISC_RTSX=m +CONFIG_MISC_RTSX_USB=m +CONFIG_MISDN=m +CONFIG_MISDN_AVMFRITZ=m +CONFIG_MISDN_DSP=m +CONFIG_MISDN_HDLC=m +CONFIG_MISDN_HFCMULTI=m +CONFIG_MISDN_HFCPCI=m +CONFIG_MISDN_HFCUSB=m +CONFIG_MISDN_INFINEON=m +CONFIG_MISDN_IPAC=m +CONFIG_MISDN_ISAR=m +CONFIG_MISDN_L1OIP=m +CONFIG_MISDN_NETJET=m +CONFIG_MISDN_SPEEDFAX=m +CONFIG_MISDN_W6692=m +CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y +# CONFIG_MK8 is not set +CONFIG_MKISS=m +CONFIG_MLX4_CORE=m +CONFIG_MLX4_CORE_GEN2=y +CONFIG_MLX4_DEBUG=y +CONFIG_MLX4_EN=m +CONFIG_MLX4_EN_DCB=y +CONFIG_MLX4_INFINIBAND=m +CONFIG_MLX5_BRIDGE=y +CONFIG_MLX5_CLS_ACT=y +CONFIG_MLX5_CORE=m +CONFIG_MLX5_CORE_EN=y +CONFIG_MLX5_CORE_EN_DCB=y +CONFIG_MLX5_CORE_IPOIB=y +CONFIG_MLX5_EN_ARFS=y +CONFIG_MLX5_EN_IPSEC=y +CONFIG_MLX5_EN_RXNFC=y +CONFIG_MLX5_EN_TLS=y +CONFIG_MLX5_ESWITCH=y +CONFIG_MLX5_FPGA=y +CONFIG_MLX5_INFINIBAND=m +CONFIG_MLX5_MPFS=y +CONFIG_MLX5_SF_MANAGER=y +CONFIG_MLX5_SW_STEERING=y +CONFIG_MLX5_TC_CT=y +CONFIG_MLX5_TC_SAMPLE=y +CONFIG_MLX5_VDPA=y +CONFIG_MLX5_VDPA_NET=m +CONFIG_MLX90614=m +CONFIG_MLX90632=m +CONFIG_MLXBF_BOOTCTL=m +CONFIG_MLXBF_GIGE=m +CONFIG_MLXBF_PMC=m +CONFIG_MLXBF_TMFIFO=m +CONFIG_MLXFW=m +CONFIG_MLXREG_HOTPLUG=m +CONFIG_MLXREG_IO=m +CONFIG_MLXREG_LC=m +CONFIG_MLXSW_CORE=m +CONFIG_MLXSW_CORE_HWMON=y +CONFIG_MLXSW_CORE_THERMAL=y +CONFIG_MLXSW_MINIMAL=m +CONFIG_MLXSW_PCI=m +CONFIG_MLXSW_SPECTRUM=m +CONFIG_MLXSW_SPECTRUM_DCB=y +CONFIG_MLX_PLATFORM=m +CONFIG_MLX_WDT=m +CONFIG_MMA7455=m +CONFIG_MMA7455_I2C=m +CONFIG_MMA7455_SPI=m +CONFIG_MMA7660=m +CONFIG_MMA8452=m +CONFIG_MMA9551=m +CONFIG_MMA9551_CORE=m +CONFIG_MMA9553=m +CONFIG_MMC35240=m +CONFIG_MMCONF_FAM10H=y +CONFIG_MMC_ALCOR=m +CONFIG_MMC_ARMMMCI=y +CONFIG_MMC_BCM2835=m +CONFIG_MMC_BLOCK_MINORS=8 +CONFIG_MMC_CAVIUM_THUNDERX=m +CONFIG_MMC_CB710=m +CONFIG_MMC_CRYPTO=y +# CONFIG_MMC_DEBUG is not set +CONFIG_MMC_DW=m +CONFIG_MMC_DW_BLUEFIELD=m +CONFIG_MMC_DW_EXYNOS=m +CONFIG_MMC_DW_HI3798CV200=m +CONFIG_MMC_DW_K3=m +CONFIG_MMC_DW_PCI=m +CONFIG_MMC_DW_PLTFM=m +CONFIG_MMC_DW_ROCKCHIP=m +CONFIG_MMC_LITEX=m +CONFIG_MMC_MESON_GX=m +CONFIG_MMC_MESON_MX_SDHC=m +CONFIG_MMC_MESON_MX_SDIO=m +CONFIG_MMC_MTK=m +CONFIG_MMC_MVSDIO=m +CONFIG_MMC_MXC=m +CONFIG_MMC_OMAP=m +CONFIG_MMC_OMAP_HS=y +CONFIG_MMC_OWL=m +CONFIG_MMC_QCOM_DML=y +CONFIG_MMC_REALTEK_PCI=m +CONFIG_MMC_REALTEK_USB=m +CONFIG_MMC_RICOH_MMC=y +CONFIG_MMC_SDHCI_ACPI=m +CONFIG_MMC_SDHCI_AM654=m +CONFIG_MMC_SDHCI_BIG_ENDIAN_32BIT_BYTE_SWAPPER=y +CONFIG_MMC_SDHCI_BRCMSTB=m +CONFIG_MMC_SDHCI_CADENCE=m +CONFIG_MMC_SDHCI_DOVE=m +CONFIG_MMC_SDHCI_EXTERNAL_DMA=y +CONFIG_MMC_SDHCI_F_SDH30=m +CONFIG_MMC_SDHCI_IO_ACCESSORS=y +CONFIG_MMC_SDHCI_IPROC=m +CONFIG_MMC_SDHCI_MILBEAUT=m +CONFIG_MMC_SDHCI_MSM=m +CONFIG_MMC_SDHCI_OF_ARASAN=m +CONFIG_MMC_SDHCI_OF_ASPEED=m +CONFIG_MMC_SDHCI_OF_AT91=m +CONFIG_MMC_SDHCI_OF_DWCMSHC=m +CONFIG_MMC_SDHCI_OF_ESDHC=m +CONFIG_MMC_SDHCI_OF_HLWD=m +CONFIG_MMC_SDHCI_OF_SPARX5=m +CONFIG_MMC_SDHCI_OMAP=m +CONFIG_MMC_SDHCI_PCI=m +CONFIG_MMC_SDHCI_PXAV3=m +# CONFIG_MMC_SDHCI_S3C is not set +CONFIG_MMC_SDHCI_SPRD=m +CONFIG_MMC_SDHCI_TEGRA=m +CONFIG_MMC_SDHCI_XENON=m +CONFIG_MMC_SDHI=m +CONFIG_MMC_SDHI_INTERNAL_DMAC=m +CONFIG_MMC_SDHI_SYS_DMAC=m +CONFIG_MMC_SDRICOH_CS=m +CONFIG_MMC_SH_MMCIF=m +CONFIG_MMC_STM32_SDMMC=y +CONFIG_MMC_SUNXI=m +# CONFIG_MMC_TEST is not set +CONFIG_MMC_TIFM_SD=m +CONFIG_MMC_TMIO=m +CONFIG_MMC_TMIO_CORE=m +CONFIG_MMC_TOSHIBA_PCI=m +# CONFIG_MMC_UNIPHIER is not set +CONFIG_MMC_USDHI6ROL0=m +CONFIG_MMC_USHC=m +CONFIG_MMC_VIA_SDMMC=m +CONFIG_MMC_VUB300=m +CONFIG_MMC_WBSD=m +CONFIG_MMIOTRACE=y +# CONFIG_MMIOTRACE_TEST is not set +CONFIG_MMIOWB=y +CONFIG_MMU=y +CONFIG_MMU_GATHER_MERGE_VMAS=y +CONFIG_MMU_GATHER_NO_GATHER=y +CONFIG_MMU_GATHER_PAGE_SIZE=y +CONFIG_MMU_GATHER_RCU_TABLE_FREE=y +CONFIG_MMU_GATHER_TABLE_FREE=y +CONFIG_MMU_NOTIFIER=y +CONFIG_MODIFY_LDT_SYSCALL=y +CONFIG_MODPROBE_PATH="/sbin/modprobe" +CONFIG_MODULES=y +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_MODULES_USE_ELF_REL=y +CONFIG_MODULES_USE_ELF_RELA=y +# CONFIG_MODULE_ALLOW_BTF_MISMATCH is not set +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +# CONFIG_MODULE_COMPRESS_GZIP is not set +CONFIG_MODULE_COMPRESS_NONE=y +# CONFIG_MODULE_COMPRESS_XZ is not set +# CONFIG_MODULE_COMPRESS_ZSTD is not set +# CONFIG_MODULE_FORCE_LOAD is not set +# CONFIG_MODULE_FORCE_UNLOAD is not set +CONFIG_MODULE_SECTIONS=y +CONFIG_MODULE_SIG=y +CONFIG_MODULE_SIG_ALL=y +# CONFIG_MODULE_SIG_FORCE is not set +CONFIG_MODULE_SIG_FORMAT=y +CONFIG_MODULE_SIG_HASH="sha512" +CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" +# CONFIG_MODULE_SIG_KEY_TYPE_ECDSA is not set +CONFIG_MODULE_SIG_KEY_TYPE_RSA=y +# CONFIG_MODULE_SIG_SHA1 is not set +# CONFIG_MODULE_SIG_SHA224 is not set +# CONFIG_MODULE_SIG_SHA256 is not set +# CONFIG_MODULE_SIG_SHA384 is not set +CONFIG_MODULE_SIG_SHA512=y +CONFIG_MODULE_SRCVERSION_ALL=y +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set +CONFIG_MODVERSIONS=y +CONFIG_MONREADER=m +CONFIG_MONWRITER=m +CONFIG_MOST_CDEV=m +CONFIG_MOST_COMPONENTS=m +CONFIG_MOST_DIM2=m +CONFIG_MOST_I2C=m +CONFIG_MOST_NET=m +CONFIG_MOST_SND=m +CONFIG_MOST_USB_HDM=m +CONFIG_MOST_VIDEO=m +CONFIG_MOUSE_APPLETOUCH=m +CONFIG_MOUSE_BCM5974=m +CONFIG_MOUSE_CYAPA=m +CONFIG_MOUSE_ELAN_I2C=m +CONFIG_MOUSE_ELAN_I2C_I2C=y +CONFIG_MOUSE_ELAN_I2C_SMBUS=y +CONFIG_MOUSE_GPIO=m +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_BYD=y +CONFIG_MOUSE_PS2_CYPRESS=y +CONFIG_MOUSE_PS2_ELANTECH=y +CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y +CONFIG_MOUSE_PS2_FOCALTECH=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SENTELIC=y +CONFIG_MOUSE_PS2_SMBUS=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y +CONFIG_MOUSE_PS2_TOUCHKIT=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +CONFIG_MOUSE_PS2_VMMOUSE=y +CONFIG_MOUSE_SERIAL=m +CONFIG_MOUSE_SYNAPTICS_I2C=m +CONFIG_MOUSE_SYNAPTICS_USB=m +CONFIG_MOUSE_VSXXXAA=m +CONFIG_MOXA_INTELLIO=m +CONFIG_MOXA_SMARTIO=m +CONFIG_MOXTET=m +CONFIG_MP2629_ADC=m +CONFIG_MPIC=y +# CONFIG_MPIC_MSGR is not set +CONFIG_MPILIB=y +CONFIG_MPL115=m +CONFIG_MPL115_I2C=m +CONFIG_MPL115_SPI=m +CONFIG_MPL3115=m +CONFIG_MPLS=y +CONFIG_MPLS_IPTUNNEL=m +CONFIG_MPLS_ROUTING=m +CONFIG_MPROFILE_KERNEL=y +# CONFIG_MPSC is not set +CONFIG_MPTCP=y +CONFIG_MPTCP_IPV6=y +CONFIG_MPU3050=m +CONFIG_MPU3050_I2C=m +CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=m +CONFIG_MRP=m +CONFIG_MS5611=m +CONFIG_MS5611_I2C=m +CONFIG_MS5611_SPI=m +CONFIG_MS5637=m +CONFIG_MSC313E_WATCHDOG=m +CONFIG_MSCC_OCELOT_SWITCH=m +CONFIG_MSCC_OCELOT_SWITCH_LIB=m +CONFIG_MSDOS_FS=m +CONFIG_MSDOS_PARTITION=y +CONFIG_MSE102X=m +# CONFIG_MSI_BITMAP_SELFTEST is not set +CONFIG_MSI_LAPTOP=m +CONFIG_MSI_WMI=m +CONFIG_MSM_GCC_8660=m +CONFIG_MSM_GCC_8916=m +CONFIG_MSM_GCC_8939=m +CONFIG_MSM_GCC_8953=m +CONFIG_MSM_GCC_8960=m +CONFIG_MSM_GCC_8974=m +CONFIG_MSM_GCC_8976=m +CONFIG_MSM_GCC_8994=m +CONFIG_MSM_GCC_8996=m +CONFIG_MSM_GCC_8998=m +CONFIG_MSM_GPUCC_8998=m +# CONFIG_MSM_IOMMU is not set +CONFIG_MSM_LCC_8960=m +CONFIG_MSM_MMCC_8960=m +CONFIG_MSM_MMCC_8974=m +CONFIG_MSM_MMCC_8994=m +CONFIG_MSM_MMCC_8996=m +CONFIG_MSM_MMCC_8998=m +CONFIG_MSPRO_BLOCK=m +CONFIG_MSTAR_MSC313_MPLL=y +CONFIG_MST_IRQ=y +CONFIG_MS_BLOCK=m +CONFIG_MT7601U=m +CONFIG_MT7603E=m +CONFIG_MT7615E=m +CONFIG_MT7615_COMMON=m +CONFIG_MT7622_WMAC=y +CONFIG_MT7663S=m +CONFIG_MT7663U=m +CONFIG_MT7663_USB_SDIO_COMMON=m +CONFIG_MT76_CONNAC_LIB=m +CONFIG_MT76_CORE=m +CONFIG_MT76_LEDS=y +CONFIG_MT76_SDIO=m +CONFIG_MT76_USB=m +CONFIG_MT76x02_LIB=m +CONFIG_MT76x02_USB=m +CONFIG_MT76x0E=m +CONFIG_MT76x0U=m +CONFIG_MT76x0_COMMON=m +CONFIG_MT76x2E=m +CONFIG_MT76x2U=m +CONFIG_MT76x2_COMMON=m +CONFIG_MT7915E=m +CONFIG_MT7921E=m +CONFIG_MT7921S=m +CONFIG_MT7921U=m +CONFIG_MT7921_COMMON=m +CONFIG_MT7986_WMAC=y +CONFIG_MTDRAM_ERASE_SIZE=128 +CONFIG_MTDRAM_TOTAL_SIZE=4096 +CONFIG_MTD_ABSENT=m +CONFIG_MTD_AFS_PARTS=m +CONFIG_MTD_AMD76XROM=m +CONFIG_MTD_AR7_PARTS=m +CONFIG_MTD_BCM47XXSFLASH=m +CONFIG_MTD_BLOCK2MTD=m +CONFIG_MTD_BLOCK_RO=m +CONFIG_MTD_CFI=m +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_CFI_AMDSTD=m +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +CONFIG_MTD_CFI_INTELEXT=m +CONFIG_MTD_CFI_STAA=m +CONFIG_MTD_CFI_UTIL=m +CONFIG_MTD_CK804XROM=m +CONFIG_MTD_COMPLEX_MAPPINGS=y +CONFIG_MTD_DATAFLASH=m +CONFIG_MTD_DATAFLASH_OTP=y +# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set +# CONFIG_MTD_DOCG3 is not set +CONFIG_MTD_ESB2ROM=m +CONFIG_MTD_GEN_PROBE=m +CONFIG_MTD_HYPERBUS=m +CONFIG_MTD_ICHXROM=m +CONFIG_MTD_IMPA7=m +CONFIG_MTD_INTEL_VR_NOR=m +CONFIG_MTD_JEDECPROBE=m +CONFIG_MTD_L440GX=m +CONFIG_MTD_LPDDR=m +CONFIG_MTD_LPDDR2_NVM=m +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +CONFIG_MTD_MCHP23K256=m +CONFIG_MTD_MCHP48L640=m +CONFIG_MTD_MTDRAM=m +CONFIG_MTD_NAND_ARASAN=m +CONFIG_MTD_NAND_BRCMNAND=m +CONFIG_MTD_NAND_CADENCE=m +CONFIG_MTD_NAND_CAFE=m +CONFIG_MTD_NAND_DENALI=m +CONFIG_MTD_NAND_DENALI_DT=m +CONFIG_MTD_NAND_DENALI_PCI=m +CONFIG_MTD_NAND_DISKONCHIP=m +# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set +CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0 +# CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADVANCED is not set +CONFIG_MTD_NAND_ECC=y +CONFIG_MTD_NAND_ECC_MEDIATEK=m +CONFIG_MTD_NAND_ECC_MXIC=y +CONFIG_MTD_NAND_ECC_SW_BCH=y +CONFIG_MTD_NAND_ECC_SW_HAMMING=y +# CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC is not set +CONFIG_MTD_NAND_FSL_IFC=m +CONFIG_MTD_NAND_GPIO=m +CONFIG_MTD_NAND_GPMI_NAND=m +CONFIG_MTD_NAND_HISI504=m +CONFIG_MTD_NAND_INTEL_LGM=m +CONFIG_MTD_NAND_MARVELL=m +CONFIG_MTD_NAND_MESON=m +CONFIG_MTD_NAND_MTK=m +CONFIG_MTD_NAND_MXC=m +CONFIG_MTD_NAND_MXIC=m +CONFIG_MTD_NAND_NANDSIM=m +CONFIG_MTD_NAND_OMAP_BCH=y +CONFIG_MTD_NAND_ORION=m +CONFIG_MTD_NAND_PL35X=m +CONFIG_MTD_NAND_PLATFORM=m +CONFIG_MTD_NAND_QCOM=m +CONFIG_MTD_NAND_RENESAS=m +CONFIG_MTD_NAND_RICOH=m +CONFIG_MTD_NAND_ROCKCHIP=m +# CONFIG_MTD_NAND_SUNXI is not set +CONFIG_MTD_NAND_TEGRA=m +CONFIG_MTD_NAND_TMIO=m +# CONFIG_MTD_NAND_VF610_NFC is not set +CONFIG_MTD_NETtel=m +CONFIG_MTD_OF_PARTS_BCM4908=y +CONFIG_MTD_OF_PARTS_LINKSYS_NS=y +CONFIG_MTD_ONENAND=m +CONFIG_MTD_ONENAND_2X_PROGRAM=y +CONFIG_MTD_ONENAND_GENERIC=m +CONFIG_MTD_ONENAND_OMAP2=m +# CONFIG_MTD_ONENAND_OTP is not set +CONFIG_MTD_ONENAND_VERIFY_WRITE=y +CONFIG_MTD_OOPS=m +CONFIG_MTD_PARSER_TRX=m +# CONFIG_MTD_PARTITIONED_MASTER is not set +CONFIG_MTD_PCI=m +CONFIG_MTD_PCMCIA=m +# CONFIG_MTD_PCMCIA_ANONYMOUS is not set +CONFIG_MTD_PHRAM=m +CONFIG_MTD_PHYSMAP=m +# CONFIG_MTD_PHYSMAP_COMPAT is not set +CONFIG_MTD_PHYSMAP_GPIO_ADDR=y +CONFIG_MTD_PHYSMAP_IXP4XX=y +CONFIG_MTD_PHYSMAP_OF=y +CONFIG_MTD_PLATRAM=m +CONFIG_MTD_PMC551=m +# CONFIG_MTD_PMC551_BUGFIX is not set +# CONFIG_MTD_PMC551_DEBUG is not set +CONFIG_MTD_POWERNV_FLASH=m +CONFIG_MTD_PSTORE=m +CONFIG_MTD_QCOMSMEM_PARTS=m +CONFIG_MTD_QINFO_PROBE=m +CONFIG_MTD_RAM=m +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 +CONFIG_MTD_REDBOOT_PARTS=m +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set +# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set +CONFIG_MTD_ROM=m +CONFIG_MTD_SBC_GXX=m +CONFIG_MTD_SCB2_FLASH=m +CONFIG_MTD_SHARPSL_PARTS=m +CONFIG_MTD_SLRAM=m +CONFIG_MTD_SM_COMMON=m +CONFIG_MTD_SPI_NAND=m +CONFIG_MTD_SPI_NOR=m +# CONFIG_MTD_SPI_NOR_SWP_DISABLE is not set +CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y +# CONFIG_MTD_SPI_NOR_SWP_KEEP is not set +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y +CONFIG_MTD_SST25L=m +CONFIG_MTD_SWAP=m +# CONFIG_MTD_TESTS is not set +CONFIG_MTD_UBI=m +CONFIG_MTD_UBI_BEB_LIMIT=20 +CONFIG_MTD_UBI_BLOCK=y +CONFIG_MTD_UBI_FASTMAP=y +CONFIG_MTD_UBI_GLUEBI=m +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTK_ADSP_IPC=m +CONFIG_MTK_ADSP_MBOX=m +CONFIG_MTK_CMDQ=m +CONFIG_MTK_CMDQ_MBOX=m +CONFIG_MTK_CQDMA=m +CONFIG_MTK_DEVAPC=m +# CONFIG_MTK_EFUSE is not set +CONFIG_MTK_HSDMA=m +CONFIG_MTK_INFRACFG=y +# CONFIG_MTK_IOMMU is not set +# CONFIG_MTK_IOMMU_V1 is not set +CONFIG_MTK_MMSYS=y +CONFIG_MTK_PMIC_WRAP=m +CONFIG_MTK_SCP=m +CONFIG_MTK_SCPSYS=y +CONFIG_MTK_SCPSYS_PM_DOMAINS=y +CONFIG_MTK_SMI=m +CONFIG_MTK_T7XX=m +CONFIG_MTK_THERMAL=m +CONFIG_MTK_TIMER=y +CONFIG_MTK_UART_APDMA=m +CONFIG_MTRR=y +CONFIG_MTRR_SANITIZER=y +CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1 +CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1 +CONFIG_MULTIPLEXER=m +CONFIG_MULTIUSER=y +CONFIG_MUSB_PIO_ONLY=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_MUX_ADG792A=m +CONFIG_MUX_ADGS1408=m +CONFIG_MUX_GPIO=m +CONFIG_MUX_MMIO=m +CONFIG_MV643XX_ETH=m +CONFIG_MVEBU_CLK_COMMON=y +CONFIG_MVEBU_CLK_COREDIV=y +CONFIG_MVEBU_CLK_CPU=y +CONFIG_MVEBU_DEVBUS=y +CONFIG_MVEBU_GICP=y +CONFIG_MVEBU_ICU=y +CONFIG_MVEBU_MBUS=y +CONFIG_MVEBU_ODMI=y +CONFIG_MVEBU_PIC=y +CONFIG_MVEBU_SEI=y +CONFIG_MVMDIO=m +CONFIG_MVNETA=m +# CONFIG_MVNETA_BM_ENABLE is not set +CONFIG_MVPP2=m +CONFIG_MVPP2_PTP=y +CONFIG_MV_XOR=y +CONFIG_MV_XOR_V2=y +CONFIG_MWAVE=m +CONFIG_MWIFIEX=m +CONFIG_MWIFIEX_PCIE=m +CONFIG_MWIFIEX_SDIO=m +CONFIG_MWIFIEX_USB=m +CONFIG_MWL8K=m +CONFIG_MX3_IPU=y +CONFIG_MX3_IPU_IRQS=4 +CONFIG_MXC4005=m +CONFIG_MXC6255=m +CONFIG_MXC_CLK=y +CONFIG_MXC_CLK_SCU=y +CONFIG_MXC_TZIC=y +CONFIG_MXM_WMI=m +CONFIG_MXS_DMA=y +CONFIG_MYRI10GE=m +CONFIG_MYRI10GE_DCA=y +CONFIG_NAMESPACES=y +CONFIG_NATIONAL_PHY=m +CONFIG_NATSEMI=m +CONFIG_NAU7802=m +CONFIG_NBPFAXI_DMA=m +CONFIG_NCSI_OEM_CMD_GET_MAC=y +# CONFIG_NCSI_OEM_CMD_KEEP_PHY is not set +CONFIG_NDC_DIS_DYNAMIC_CACHING=y +CONFIG_ND_BTT=m +CONFIG_ND_CLAIM=y +CONFIG_ND_PFN=m +CONFIG_NE2K_PCI=m +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y +CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NEON=y +CONFIG_NET=y +CONFIG_NETCONSOLE=m +CONFIG_NETCONSOLE_DYNAMIC=y +CONFIG_NETDEVICES=y +CONFIG_NETDEVSIM=m +# CONFIG_NETDEV_NOTIFIER_ERROR_INJECT is not set +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y +CONFIG_NETFILTER_CONNCOUNT=m +CONFIG_NETFILTER_EGRESS=y +CONFIG_NETFILTER_FAMILY_ARP=y +CONFIG_NETFILTER_FAMILY_BRIDGE=y +CONFIG_NETFILTER_INGRESS=y +CONFIG_NETFILTER_NETLINK=m +CONFIG_NETFILTER_NETLINK_ACCT=m +CONFIG_NETFILTER_NETLINK_GLUE_CT=y +CONFIG_NETFILTER_NETLINK_HOOK=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NETFILTER_NETLINK_OSF=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_SKIP_EGRESS=y +CONFIG_NETFILTER_SYNPROXY=m +CONFIG_NETFILTER_XTABLES=m +CONFIG_NETFILTER_XTABLES_COMPAT=y +CONFIG_NETFILTER_XT_CONNMARK=m +CONFIG_NETFILTER_XT_MARK=m +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m +CONFIG_NETFILTER_XT_MATCH_BPF=m +CONFIG_NETFILTER_XT_MATCH_CGROUP=m +CONFIG_NETFILTER_XT_MATCH_CLUSTER=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_CPU=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ECN=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_HL=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_IPVS=m +CONFIG_NETFILTER_XT_MATCH_L2TP=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_NFACCT=m +CONFIG_NETFILTER_XT_MATCH_OSF=m +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_RATEEST=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +CONFIG_NETFILTER_XT_NAT=m +CONFIG_NETFILTER_XT_SET=m +CONFIG_NETFILTER_XT_TARGET_AUDIT=m +CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m +CONFIG_NETFILTER_XT_TARGET_CT=m +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_HL=m +CONFIG_NETFILTER_XT_TARGET_HMARK=m +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m +CONFIG_NETFILTER_XT_TARGET_LED=m +CONFIG_NETFILTER_XT_TARGET_LOG=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m +CONFIG_NETFILTER_XT_TARGET_NETMAP=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +CONFIG_NETFILTER_XT_TARGET_RATEEST=m +CONFIG_NETFILTER_XT_TARGET_REDIRECT=m +CONFIG_NETFILTER_XT_TARGET_SECMARK=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m +CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETFS_STATS=y +CONFIG_NETFS_SUPPORT=m +CONFIG_NETIUCV=m +CONFIG_NETLABEL=y +CONFIG_NETLINK_DIAG=m +CONFIG_NETPOLL=y +CONFIG_NETROM=m +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NETWORK_PHY_TIMESTAMPING=y +CONFIG_NETWORK_SECMARK=y +CONFIG_NETXEN_NIC=m +CONFIG_NET_9P=m +# CONFIG_NET_9P_DEBUG is not set +CONFIG_NET_9P_FD=m +CONFIG_NET_9P_RDMA=m +CONFIG_NET_9P_VIRTIO=m +CONFIG_NET_9P_XEN=m +CONFIG_NET_ACT_BPF=m +CONFIG_NET_ACT_CONNMARK=m +CONFIG_NET_ACT_CSUM=m +CONFIG_NET_ACT_CT=m +CONFIG_NET_ACT_CTINFO=m +CONFIG_NET_ACT_GACT=m +CONFIG_NET_ACT_GATE=m +# CONFIG_NET_ACT_IFE is not set +CONFIG_NET_ACT_IPT=m +CONFIG_NET_ACT_MIRRED=m +CONFIG_NET_ACT_MPLS=m +CONFIG_NET_ACT_NAT=m +CONFIG_NET_ACT_PEDIT=m +CONFIG_NET_ACT_POLICE=m +CONFIG_NET_ACT_SAMPLE=m +CONFIG_NET_ACT_SIMP=m +CONFIG_NET_ACT_SKBEDIT=m +CONFIG_NET_ACT_SKBMOD=m +CONFIG_NET_ACT_TUNNEL_KEY=m +CONFIG_NET_ACT_VLAN=m +CONFIG_NET_CALXEDA_XGMAC=m +CONFIG_NET_CLS=y +CONFIG_NET_CLS_ACT=y +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_BPF=m +CONFIG_NET_CLS_CGROUP=m +CONFIG_NET_CLS_FLOW=m +CONFIG_NET_CLS_FLOWER=m +CONFIG_NET_CLS_FW=m +CONFIG_NET_CLS_MATCHALL=m +CONFIG_NET_CLS_ROUTE4=m +CONFIG_NET_CLS_RSVP=m +CONFIG_NET_CLS_RSVP6=m +CONFIG_NET_CLS_U32=m +CONFIG_NET_CORE=y +CONFIG_NET_DEVLINK=y +# CONFIG_NET_DEV_REFCNT_TRACKER is not set +CONFIG_NET_DROP_MONITOR=y +CONFIG_NET_DSA_AR9331=m +CONFIG_NET_DSA_BCM_SF2=m +CONFIG_NET_DSA_HIRSCHMANN_HELLCREEK=m +CONFIG_NET_DSA_LANTIQ_GSWIP=m +# CONFIG_NET_DSA_LOOP is not set +CONFIG_NET_DSA_MICROCHIP_KSZ8795=m +CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI=m +CONFIG_NET_DSA_MICROCHIP_KSZ8863_SMI=m +CONFIG_NET_DSA_MICROCHIP_KSZ9477=m +CONFIG_NET_DSA_MICROCHIP_KSZ9477_I2C=m +CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m +CONFIG_NET_DSA_MICROCHIP_KSZ_COMMON=m +CONFIG_NET_DSA_MSCC_SEVILLE=m +CONFIG_NET_DSA_MT7530=m +CONFIG_NET_DSA_MV88E6060=m +CONFIG_NET_DSA_MV88E6XXX=m +CONFIG_NET_DSA_MV88E6XXX_PTP=y +CONFIG_NET_DSA_QCA8K=m +CONFIG_NET_DSA_REALTEK=m +CONFIG_NET_DSA_REALTEK_RTL8365MB=m +CONFIG_NET_DSA_REALTEK_RTL8366RB=m +CONFIG_NET_DSA_SJA1105=m +CONFIG_NET_DSA_SJA1105_PTP=y +CONFIG_NET_DSA_SJA1105_TAS=y +CONFIG_NET_DSA_SJA1105_VL=y +CONFIG_NET_DSA_SMSC_LAN9303=m +CONFIG_NET_DSA_SMSC_LAN9303_I2C=m +CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m +CONFIG_NET_DSA_TAG_AR9331=m +CONFIG_NET_DSA_TAG_BRCM=m +CONFIG_NET_DSA_TAG_BRCM_COMMON=m +CONFIG_NET_DSA_TAG_BRCM_LEGACY=m +CONFIG_NET_DSA_TAG_BRCM_PREPEND=m +CONFIG_NET_DSA_TAG_DSA=m +CONFIG_NET_DSA_TAG_DSA_COMMON=m +CONFIG_NET_DSA_TAG_EDSA=m +CONFIG_NET_DSA_TAG_GSWIP=m +CONFIG_NET_DSA_TAG_HELLCREEK=m +CONFIG_NET_DSA_TAG_KSZ=m +CONFIG_NET_DSA_TAG_LAN9303=m +CONFIG_NET_DSA_TAG_MTK=m +CONFIG_NET_DSA_TAG_OCELOT=m +CONFIG_NET_DSA_TAG_OCELOT_8021Q=m +CONFIG_NET_DSA_TAG_QCA=m +CONFIG_NET_DSA_TAG_RTL4_A=m +CONFIG_NET_DSA_TAG_RTL8_4=m +CONFIG_NET_DSA_TAG_SJA1105=m +CONFIG_NET_DSA_TAG_TRAILER=m +CONFIG_NET_DSA_TAG_XRS700X=m +CONFIG_NET_DSA_VITESSE_VSC73XX=m +CONFIG_NET_DSA_VITESSE_VSC73XX_PLATFORM=m +CONFIG_NET_DSA_VITESSE_VSC73XX_SPI=m +CONFIG_NET_DSA_XRS700X=m +CONFIG_NET_DSA_XRS700X_I2C=m +CONFIG_NET_DSA_XRS700X_MDIO=m +CONFIG_NET_EGRESS=y +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_CANID=m +CONFIG_NET_EMATCH_CMP=m +CONFIG_NET_EMATCH_IPSET=m +CONFIG_NET_EMATCH_IPT=m +CONFIG_NET_EMATCH_META=m +CONFIG_NET_EMATCH_NBYTE=m +CONFIG_NET_EMATCH_STACK=32 +CONFIG_NET_EMATCH_TEXT=m +CONFIG_NET_EMATCH_U32=m +CONFIG_NET_FAILOVER=m +CONFIG_NET_FC=y +CONFIG_NET_FLOW_LIMIT=y +CONFIG_NET_FOU=m +CONFIG_NET_FOU_IP_TUNNELS=y +CONFIG_NET_IFE=m +CONFIG_NET_INGRESS=y +CONFIG_NET_IPGRE=m +CONFIG_NET_IPGRE_BROADCAST=y +CONFIG_NET_IPGRE_DEMUX=m +CONFIG_NET_IPIP=m +CONFIG_NET_IPVTI=m +CONFIG_NET_IP_TUNNEL=m +CONFIG_NET_KEY=m +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_NET_L3_MASTER_DEV=y +CONFIG_NET_MPLS_GSO=m +CONFIG_NET_NCSI=y +CONFIG_NET_NS=y +CONFIG_NET_NSH=m +# CONFIG_NET_NS_REFCNT_TRACKER is not set +CONFIG_NET_PKTGEN=m +CONFIG_NET_POLL_CONTROLLER=y +CONFIG_NET_PTP_CLASSIFY=y +CONFIG_NET_REDIRECT=y +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_NET_SB1000=m +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_ATM=m +CONFIG_NET_SCH_CAKE=m +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_CBS=m +CONFIG_NET_SCH_CHOKE=m +CONFIG_NET_SCH_CODEL=m +# CONFIG_NET_SCH_DEFAULT is not set +CONFIG_NET_SCH_DRR=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_ETF=m +CONFIG_NET_SCH_ETS=m +CONFIG_NET_SCH_FIFO=y +CONFIG_NET_SCH_FQ=m +CONFIG_NET_SCH_FQ_CODEL=m +CONFIG_NET_SCH_FQ_PIE=m +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_HHF=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_INGRESS=m +CONFIG_NET_SCH_MQPRIO=m +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_PIE=m +CONFIG_NET_SCH_PLUG=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_QFQ=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFB=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_SKBPRIO=m +CONFIG_NET_SCH_TAPRIO=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SELFTESTS=y +CONFIG_NET_SOCK_MSG=y +CONFIG_NET_SWITCHDEV=y +CONFIG_NET_TC_SKB_EXT=y +CONFIG_NET_TEAM=m +CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m +CONFIG_NET_TEAM_MODE_BROADCAST=m +CONFIG_NET_TEAM_MODE_LOADBALANCE=m +CONFIG_NET_TEAM_MODE_RANDOM=m +CONFIG_NET_TEAM_MODE_ROUNDROBIN=m +CONFIG_NET_TULIP=y +CONFIG_NET_UDP_TUNNEL=m +CONFIG_NET_VENDOR_8390=y +CONFIG_NET_VENDOR_ACTIONS=y +CONFIG_NET_VENDOR_ALACRITECH=y +CONFIG_NET_VENDOR_ALLWINNER=y +CONFIG_NET_VENDOR_AMAZON=y +CONFIG_NET_VENDOR_AQUANTIA=y +CONFIG_NET_VENDOR_ASIX=y +CONFIG_NET_VENDOR_CADENCE=y +CONFIG_NET_VENDOR_CIRRUS=y +CONFIG_NET_VENDOR_CORTINA=y +CONFIG_NET_VENDOR_ENGLEDER=y +CONFIG_NET_VENDOR_FARADAY=y +CONFIG_NET_VENDOR_FREESCALE=y +CONFIG_NET_VENDOR_FUJITSU=y +CONFIG_NET_VENDOR_HISILICON=y +CONFIG_NET_VENDOR_I825XX=y +CONFIG_NET_VENDOR_IBM=y +# CONFIG_NET_VENDOR_MEDIATEK is not set +CONFIG_NET_VENDOR_MELLANOX=y +CONFIG_NET_VENDOR_NETERION=y +CONFIG_NET_VENDOR_NETRONOME=y +CONFIG_NET_VENDOR_PACKET_ENGINES=y +CONFIG_NET_VENDOR_SOCIONEXT=y +CONFIG_NET_VENDOR_SOLARFLARE=y +CONFIG_NET_VENDOR_SYNOPSYS=y +CONFIG_NET_VENDOR_VERTEXCOM=y +CONFIG_NET_VENDOR_XILINX=y +CONFIG_NET_VENDOR_XIRCOM=y +CONFIG_NET_VRF=m +CONFIG_NET_XGENE=m +CONFIG_NET_XGENE_V2=m +CONFIG_NFC_DIGITAL=m +CONFIG_NFC_FDP=m +CONFIG_NFC_FDP_I2C=m +CONFIG_NFC_HCI=m +CONFIG_NFC_MEI_PHY=m +CONFIG_NFC_MICROREAD=m +CONFIG_NFC_MICROREAD_I2C=m +CONFIG_NFC_MICROREAD_MEI=m +CONFIG_NFC_MRVL=m +CONFIG_NFC_MRVL_I2C=m +CONFIG_NFC_MRVL_SPI=m +CONFIG_NFC_MRVL_UART=m +CONFIG_NFC_MRVL_USB=m +CONFIG_NFC_NCI=m +CONFIG_NFC_NCI_SPI=m +CONFIG_NFC_NCI_UART=m +CONFIG_NFC_NXP_NCI=m +CONFIG_NFC_NXP_NCI_I2C=m +CONFIG_NFC_PN532_UART=m +CONFIG_NFC_PN533=m +CONFIG_NFC_PN533_I2C=m +CONFIG_NFC_PN533_USB=m +CONFIG_NFC_PN544=m +CONFIG_NFC_PN544_I2C=m +CONFIG_NFC_PN544_MEI=m +CONFIG_NFC_PORT100=m +CONFIG_NFC_S3FWRN5=m +CONFIG_NFC_S3FWRN5_I2C=m +CONFIG_NFC_S3FWRN82_UART=m +CONFIG_NFC_SHDLC=y +CONFIG_NFC_SIM=m +CONFIG_NFC_ST21NFCA=m +CONFIG_NFC_ST21NFCA_I2C=m +CONFIG_NFC_ST95HF=m +CONFIG_NFC_ST_NCI=m +CONFIG_NFC_ST_NCI_I2C=m +CONFIG_NFC_ST_NCI_SPI=m +CONFIG_NFC_TRF7970A=m +CONFIG_NFC_VIRTUAL_NCI=m +# CONFIG_NFIT_SECURITY_DEBUG is not set +CONFIG_NFP_APP_ABM_NIC=y +CONFIG_NFP_APP_FLOWER=y +# CONFIG_NFP_DEBUG is not set +CONFIG_NFSD=m +CONFIG_NFSD_BLOCKLAYOUT=y +CONFIG_NFSD_FLEXFILELAYOUT=y +CONFIG_NFSD_PNFS=y +CONFIG_NFSD_SCSILAYOUT=y +CONFIG_NFSD_V2_ACL=y +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +CONFIG_NFSD_V4_2_INTER_SSC=y +CONFIG_NFSD_V4_SECURITY_LABEL=y +CONFIG_NFS_ACL_SUPPORT=m +CONFIG_NFS_COMMON=y +CONFIG_NFS_DEBUG=y +CONFIG_NFS_DISABLE_UDP_SUPPORT=y +CONFIG_NFS_FS=m +CONFIG_NFS_FSCACHE=y +CONFIG_NFS_SWAP=y +CONFIG_NFS_USE_KERNEL_DNS=y +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_V2=m +CONFIG_NFS_V3=m +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=m +CONFIG_NFS_V4_1=y +CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" +CONFIG_NFS_V4_1_MIGRATION=y +CONFIG_NFS_V4_2=y +# CONFIG_NFS_V4_2_READ_PLUS is not set +CONFIG_NFS_V4_2_SSC_HELPER=y +CONFIG_NFS_V4_SECURITY_LABEL=y +CONFIG_NFTL=m +CONFIG_NFTL_RW=y +CONFIG_NFT_BRIDGE_META=m +CONFIG_NFT_BRIDGE_REJECT=m +CONFIG_NFT_COMPAT=m +CONFIG_NFT_CONNLIMIT=m +CONFIG_NFT_CT=m +CONFIG_NFT_DUP_IPV4=m +CONFIG_NFT_DUP_IPV6=m +CONFIG_NFT_DUP_NETDEV=m +CONFIG_NFT_FIB=m +CONFIG_NFT_FIB_INET=m +CONFIG_NFT_FIB_IPV4=m +CONFIG_NFT_FIB_IPV6=m +CONFIG_NFT_FIB_NETDEV=m +CONFIG_NFT_FLOW_OFFLOAD=m +CONFIG_NFT_FWD_NETDEV=m +CONFIG_NFT_HASH=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_LOG=m +CONFIG_NFT_MASQ=m +CONFIG_NFT_NAT=m +CONFIG_NFT_NUMGEN=m +CONFIG_NFT_OBJREF=m +CONFIG_NFT_OSF=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_QUOTA=m +CONFIG_NFT_REDIR=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_REJECT_INET=m +CONFIG_NFT_REJECT_IPV4=m +CONFIG_NFT_REJECT_IPV6=m +CONFIG_NFT_REJECT_NETDEV=m +CONFIG_NFT_SOCKET=m +CONFIG_NFT_SYNPROXY=m +CONFIG_NFT_TPROXY=m +CONFIG_NFT_TUNNEL=m +CONFIG_NFT_XFRM=m +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_BRIDGE=m +CONFIG_NF_CONNTRACK_BROADCAST=m +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_LABELS=y +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_PPTP=m +# CONFIG_NF_CONNTRACK_PROCFS is not set +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_SNMP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CONNTRACK_ZONES=y +CONFIG_NF_CT_NETLINK=m +CONFIG_NF_CT_NETLINK_HELPER=m +CONFIG_NF_CT_NETLINK_TIMEOUT=m +CONFIG_NF_CT_PROTO_DCCP=y +CONFIG_NF_CT_PROTO_GRE=y +CONFIG_NF_CT_PROTO_SCTP=y +CONFIG_NF_CT_PROTO_UDPLITE=y +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_DEFRAG_IPV6=m +CONFIG_NF_DUP_IPV4=m +CONFIG_NF_DUP_IPV6=m +CONFIG_NF_DUP_NETDEV=m +CONFIG_NF_FLOW_TABLE=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_LOG_ARP=m +CONFIG_NF_LOG_IPV4=m +CONFIG_NF_LOG_IPV6=m +CONFIG_NF_LOG_SYSLOG=m +CONFIG_NF_NAT=m +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_H323=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_MASQUERADE=y +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_REDIRECT=y +CONFIG_NF_NAT_SIP=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NF_REJECT_IPV4=m +CONFIG_NF_REJECT_IPV6=m +CONFIG_NF_SOCKET_IPV4=m +CONFIG_NF_SOCKET_IPV6=m +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_ARP=y +CONFIG_NF_TABLES_BRIDGE=m +CONFIG_NF_TABLES_INET=y +CONFIG_NF_TABLES_IPV4=y +CONFIG_NF_TABLES_IPV6=y +CONFIG_NF_TABLES_NETDEV=y +CONFIG_NF_TPROXY_IPV4=m +CONFIG_NF_TPROXY_IPV6=m +CONFIG_NI903X_WDT=m +CONFIG_NIC7018_WDT=m +CONFIG_NILFS2_FS=m +CONFIG_NINTENDO_FF=y +CONFIG_NITRO_ENCLAVES=m +CONFIG_NIU=m +CONFIG_NI_XGE_MANAGEMENT_ENET=m +# CONFIG_NL80211_TESTMODE is not set +CONFIG_NLATTR=y +CONFIG_NLMON=m +CONFIG_NLS=y +CONFIG_NLS_ASCII=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_936=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_ISO8859_1=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +CONFIG_NLS_MAC_CELTIC=m +CONFIG_NLS_MAC_CENTEURO=m +CONFIG_NLS_MAC_CROATIAN=m +CONFIG_NLS_MAC_CYRILLIC=m +CONFIG_NLS_MAC_GAELIC=m +CONFIG_NLS_MAC_GREEK=m +CONFIG_NLS_MAC_ICELAND=m +CONFIG_NLS_MAC_INUIT=m +CONFIG_NLS_MAC_ROMAN=m +CONFIG_NLS_MAC_ROMANIAN=m +CONFIG_NLS_MAC_TURKISH=m +CONFIG_NLS_UTF8=m +CONFIG_NMI_IPI=y +CONFIG_NOA1305=m +CONFIG_NOKIA_MODEM=m +CONFIG_NONSTATIC_KERNEL=y +CONFIG_NOP_TRACER=y +CONFIG_NORTEL_HERMES=m +CONFIG_NOTIFIER_ERROR_INJECTION=m +CONFIG_NOUVEAU_DEBUG=5 +CONFIG_NOUVEAU_DEBUG_DEFAULT=3 +# CONFIG_NOUVEAU_DEBUG_MMU is not set +# CONFIG_NOUVEAU_DEBUG_PUSH is not set +# CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT is not set +CONFIG_NOUVEAU_PLATFORM_DRIVER=y +CONFIG_NO_HZ=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_NO_HZ_FULL is not set +CONFIG_NO_HZ_IDLE=y +CONFIG_NO_IOPORT_MAP=y +CONFIG_NPCM7XX_KCS_IPMI_BMC=m +CONFIG_NPCM7XX_TIMER=y +CONFIG_NPCM7XX_WATCHDOG=y +CONFIG_NPCM_ADC=m +CONFIG_NR_CPUS_DEFAULT=8192 +CONFIG_NR_CPUS_RANGE_BEGIN=8192 +CONFIG_NR_CPUS_RANGE_END=8192 +CONFIG_NR_IRQS=512 +CONFIG_NS83820=m +# CONFIG_NTB_AMD is not set +CONFIG_NTB_EPF=m +CONFIG_NTB_IDT=m +CONFIG_NTB_INTEL=m +CONFIG_NTB_MSI=y +# CONFIG_NTB_MSI_TEST is not set +CONFIG_NTB_NETDEV=m +CONFIG_NTB_PERF=m +CONFIG_NTB_PINGPONG=m +CONFIG_NTB_SWITCHTEC=m +CONFIG_NTB_TOOL=m +CONFIG_NTB_TRANSPORT=m +# CONFIG_NTFS3_64BIT_CLUSTER is not set +CONFIG_NTFS3_FS=m +CONFIG_NTFS3_FS_POSIX_ACL=y +CONFIG_NTFS3_LZX_XPRESS=y +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_FS=m +CONFIG_NUMA=y +CONFIG_NUMA_BALANCING=y +# CONFIG_NUMA_EMU is not set +CONFIG_NUMA_KEEP_MEMINFO=y +CONFIG_NVDIMM_DAX=y +CONFIG_NVDIMM_KEYS=y +CONFIG_NVDIMM_PFN=y +CONFIG_NVEC_PAZ00=m +CONFIG_NVEC_POWER=m +# CONFIG_NVHE_EL2_DEBUG is not set +CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y +CONFIG_NVIDIA_WMI_EC_BACKLIGHT=m +CONFIG_NVMEM_APPLE_EFUSES=m +CONFIG_NVMEM_BCM_OCOTP=m +CONFIG_NVMEM_IMX_IIM=m +CONFIG_NVMEM_IMX_OCOTP=m +CONFIG_NVMEM_IMX_OCOTP_SCU=m +CONFIG_NVMEM_LAYERSCAPE_SFP=m +CONFIG_NVMEM_REBOOT_MODE=m +CONFIG_NVMEM_RMEM=m +CONFIG_NVMEM_SNVS_LPGPR=m +CONFIG_NVMEM_SPMI_SDAM=m +CONFIG_NVMEM_SUNXI_SID=m +CONFIG_NVMEM_SYSFS=y +# CONFIG_NVMEM_VF610_OCOTP is not set +CONFIG_NVMEM_ZYNQMP=y +CONFIG_NVME_APPLE=m +CONFIG_NVME_CORE=m +CONFIG_NVME_FABRICS=m +CONFIG_NVME_FC=m +CONFIG_NVME_HWMON=y +CONFIG_NVME_MULTIPATH=y +CONFIG_NVME_RDMA=m +CONFIG_NVME_TARGET=m +CONFIG_NVME_TARGET_FC=m +# CONFIG_NVME_TARGET_FCLOOP is not set +CONFIG_NVME_TARGET_LOOP=m +CONFIG_NVME_TARGET_PASSTHRU=y +CONFIG_NVME_TARGET_RDMA=m +CONFIG_NVME_TARGET_TCP=m +CONFIG_NVME_TCP=m +# CONFIG_NVME_VERBOSE_ERRORS is not set +CONFIG_NVSW_SN2201=m +CONFIG_NV_TCO=m +CONFIG_NXP_TJA11XX_PHY=m +CONFIG_N_HDLC=m +# CONFIG_OABI_COMPAT is not set +CONFIG_OBJAGG=m +CONFIG_OBJTOOL=y +# CONFIG_OCFS2_DEBUG_FS is not set +CONFIG_OCFS2_DEBUG_MASKLOG=y +CONFIG_OCFS2_FS=m +CONFIG_OCFS2_FS_O2CB=m +CONFIG_OCFS2_FS_STATS=y +CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m +CONFIG_OCTEONTX2_AF=m +CONFIG_OCTEONTX2_MBOX=m +CONFIG_OCTEONTX2_PF=m +CONFIG_OCTEONTX2_VF=m +CONFIG_OCTEON_EP=m +CONFIG_OCXL=m +CONFIG_OCXL_BASE=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_DMA_DEFAULT_COHERENT=y +CONFIG_OF_DYNAMIC=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_FLATTREE=y +CONFIG_OF_FPGA_REGION=m +CONFIG_OF_GPIO=y +CONFIG_OF_IOMMU=y +CONFIG_OF_IRQ=y +CONFIG_OF_KOBJ=y +CONFIG_OF_MDIO=y +CONFIG_OF_NUMA=y +CONFIG_OF_OVERLAY=y +CONFIG_OF_PMEM=m +# CONFIG_OF_RECONFIG_NOTIFIER_ERROR_INJECT is not set +CONFIG_OF_RESERVED_MEM=y +CONFIG_OF_RESOLVE=y +# CONFIG_OF_UNITTEST is not set +CONFIG_OID_REGISTRY=y +CONFIG_OLD_SIGACTION=y +CONFIG_OLD_SIGSUSPEND=y +CONFIG_OLD_SIGSUSPEND3=y +CONFIG_OMAP2PLUS_MBOX=m +CONFIG_OMAP2_VRFB=y +# CONFIG_OMAP3_L2_AUX_SECURE_SAVE_RESTORE is not set +# CONFIG_OMAP3_SDRC_AC_TIMING is not set +CONFIG_OMAP5_ERRATA_801819=y +CONFIG_OMAP_CONTROL_PHY=m +CONFIG_OMAP_DM_TIMER=y +CONFIG_OMAP_GPMC=y +# CONFIG_OMAP_GPMC_DEBUG is not set +CONFIG_OMAP_HWMOD=y +CONFIG_OMAP_INTERCONNECT=y +CONFIG_OMAP_INTERCONNECT_BARRIER=y +CONFIG_OMAP_IOMMU=y +# CONFIG_OMAP_IOMMU_DEBUG is not set +CONFIG_OMAP_IRQCHIP=y +CONFIG_OMAP_MBOX_KFIFO_SIZE=256 +CONFIG_OMAP_OCP2SCP=m +CONFIG_OMAP_REMOTEPROC=m +# CONFIG_OMAP_REMOTEPROC_WATCHDOG is not set +CONFIG_OMAP_SSI=m +CONFIG_OMAP_USB2=m +CONFIG_OMAP_WATCHDOG=m +# CONFIG_OPAL_CORE is not set +CONFIG_OPAL_PRD=m +CONFIG_OPENVSWITCH=m +CONFIG_OPENVSWITCH_GENEVE=m +CONFIG_OPENVSWITCH_GRE=m +CONFIG_OPENVSWITCH_VXLAN=m +CONFIG_OPEN_DICE=m +CONFIG_OPT3001=m +CONFIG_OPTEE=m +CONFIG_OPTPROBES=y +CONFIG_ORANGEFS_FS=m +CONFIG_ORINOCO_USB=m +CONFIG_ORION_IRQCHIP=y +CONFIG_ORION_TIMER=y +CONFIG_ORION_WATCHDOG=m +# CONFIG_OSNOISE_TRACER is not set +CONFIG_OUTER_CACHE=y +CONFIG_OUTER_CACHE_SYNC=y +CONFIG_OUTPUT_FORMAT="elf64-x86-64" +CONFIG_OVERLAY_FS=m +# CONFIG_OVERLAY_FS_INDEX is not set +# CONFIG_OVERLAY_FS_METACOPY is not set +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y +# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set +CONFIG_OVERLAY_FS_XINO_AUTO=y +CONFIG_OWL_DMA=m +CONFIG_OWL_EMAC=m +CONFIG_OWL_PM_DOMAINS=y +CONFIG_OWL_PM_DOMAINS_HELPER=y +CONFIG_OWL_TIMER=y +CONFIG_P54_COMMON=m +CONFIG_P54_LEDS=y +CONFIG_P54_PCI=m +CONFIG_P54_SPI=m +# CONFIG_P54_SPI_DEFAULT_EEPROM is not set +CONFIG_P54_USB=m +CONFIG_PA12203001=m +CONFIG_PACKET=y +CONFIG_PACKET_DIAG=m +CONFIG_PADATA=y +CONFIG_PAGE_COUNTER=y +CONFIG_PAGE_IDLE_FLAG=y +# CONFIG_PAGE_OWNER is not set +CONFIG_PAGE_POISONING=y +CONFIG_PAGE_POOL=y +CONFIG_PAGE_REPORTING=y +CONFIG_PAGE_SIZE_64KB=y +CONFIG_PAGE_SIZE_LESS_THAN_256KB=y +CONFIG_PAGE_SIZE_LESS_THAN_64KB=y +# CONFIG_PAGE_TABLE_CHECK is not set +CONFIG_PAGE_TABLE_ISOLATION=y +CONFIG_PAHOLE_HAS_SPLIT_BTF=y +CONFIG_PAHOLE_VERSION=123 +CONFIG_PALMAS_GPADC=m +CONFIG_PANASONIC_LAPTOP=m +CONFIG_PANEL=m +# CONFIG_PANEL_CHANGE_MESSAGE is not set +CONFIG_PANEL_PARPORT=0 +CONFIG_PANEL_PROFILE=5 +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANTHERLORD_FF=y +CONFIG_PAPR_SCM=m +CONFIG_PARAVIRT_CLOCK=y +# CONFIG_PARAVIRT_DEBUG is not set +CONFIG_PARAVIRT_SPINLOCKS=y +# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set +CONFIG_PARAVIRT_XXL=y +CONFIG_PARIDE=m +CONFIG_PARIDE_ATEN=m +CONFIG_PARIDE_BPCK=m +CONFIG_PARIDE_BPCK6=m +CONFIG_PARIDE_COMM=m +CONFIG_PARIDE_DSTR=m +CONFIG_PARIDE_EPAT=m +CONFIG_PARIDE_EPATC8=y +CONFIG_PARIDE_EPIA=m +CONFIG_PARIDE_FIT2=m +CONFIG_PARIDE_FIT3=m +CONFIG_PARIDE_FRIQ=m +CONFIG_PARIDE_FRPW=m +CONFIG_PARIDE_KBIC=m +CONFIG_PARIDE_KTTI=m +CONFIG_PARIDE_ON20=m +CONFIG_PARIDE_ON26=m +CONFIG_PARIDE_PCD=m +CONFIG_PARIDE_PD=m +CONFIG_PARIDE_PF=m +CONFIG_PARIDE_PG=m +CONFIG_PARIDE_PT=m +CONFIG_PARMAN=m +CONFIG_PARPORT_1284=y +CONFIG_PARPORT_AX88796=m +CONFIG_PARPORT_NOT_PC=y +CONFIG_PARPORT_PANEL=m +CONFIG_PARPORT_PC=m +CONFIG_PARPORT_PC_FIFO=y +CONFIG_PARPORT_PC_PCMCIA=m +# CONFIG_PARPORT_PC_SUPERIO is not set +CONFIG_PARPORT_SERIAL=m +CONFIG_PARTITION_ADVANCED=y +CONFIG_PARTITION_PERCPU=y +CONFIG_PATA_ACPI=m +CONFIG_PATA_ALI=m +CONFIG_PATA_AMD=m +CONFIG_PATA_ARTOP=m +CONFIG_PATA_ATIIXP=m +CONFIG_PATA_ATP867X=m +CONFIG_PATA_CMD640_PCI=m +CONFIG_PATA_CMD64X=m +CONFIG_PATA_CYPRESS=m +CONFIG_PATA_EFAR=m +CONFIG_PATA_HPT366=m +CONFIG_PATA_HPT37X=m +CONFIG_PATA_HPT3X2N=m +CONFIG_PATA_HPT3X3=m +# CONFIG_PATA_HPT3X3_DMA is not set +CONFIG_PATA_IMX=m +CONFIG_PATA_IT8213=m +CONFIG_PATA_IT821X=m +CONFIG_PATA_JMICRON=m +CONFIG_PATA_LEGACY=m +CONFIG_PATA_MARVELL=m +CONFIG_PATA_MPIIX=m +CONFIG_PATA_NETCELL=m +CONFIG_PATA_NINJA32=m +CONFIG_PATA_NS87410=m +CONFIG_PATA_NS87415=m +CONFIG_PATA_OF_PLATFORM=m +CONFIG_PATA_OLDPIIX=m +CONFIG_PATA_OPTI=m +CONFIG_PATA_OPTIDMA=m +CONFIG_PATA_PCMCIA=m +CONFIG_PATA_PDC2027X=m +CONFIG_PATA_PDC_OLD=m +CONFIG_PATA_PLATFORM=m +CONFIG_PATA_RADISYS=m +CONFIG_PATA_RDC=m +CONFIG_PATA_RZ1000=m +CONFIG_PATA_SCH=m +CONFIG_PATA_SERVERWORKS=m +CONFIG_PATA_SIL680=m +CONFIG_PATA_TIMINGS=y +CONFIG_PATA_TOSHIBA=m +CONFIG_PATA_TRIFLEX=m +CONFIG_PATA_VIA=m +CONFIG_PATA_WINBOND=m +CONFIG_PC300TOO=m +CONFIG_PC87413_WDT=m +CONFIG_PCC=y +CONFIG_PCCARD_NONSTATIC=y +CONFIG_PCENGINES_APU2=m +CONFIG_PCF50633_ADC=m +CONFIG_PCF50633_GPIO=m +CONFIG_PCI=y +CONFIG_PCI200SYN=m +CONFIG_PCIEAER=y +# CONFIG_PCIEAER_INJECT is not set +CONFIG_PCIEASPM=y +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_PERFORMANCE is not set +# CONFIG_PCIEASPM_POWERSAVE is not set +# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set +CONFIG_PCIE_AL=y +CONFIG_PCIE_ALTERA=y +CONFIG_PCIE_ALTERA_MSI=y +CONFIG_PCIE_APPLE=m +CONFIG_PCIE_APPLE_MSI_DOORBELL_ADDR=0xfffff000 +CONFIG_PCIE_ARMADA_8K=y +CONFIG_PCIE_BRCMSTB=m +CONFIG_PCIE_BUS_DEFAULT=y +# CONFIG_PCIE_BUS_PEER2PEER is not set +# CONFIG_PCIE_BUS_PERFORMANCE is not set +# CONFIG_PCIE_BUS_SAFE is not set +# CONFIG_PCIE_BUS_TUNE_OFF is not set +CONFIG_PCIE_CADENCE=y +CONFIG_PCIE_CADENCE_EP=y +CONFIG_PCIE_CADENCE_HOST=y +CONFIG_PCIE_CADENCE_PLAT=y +CONFIG_PCIE_CADENCE_PLAT_EP=y +CONFIG_PCIE_CADENCE_PLAT_HOST=y +CONFIG_PCIE_DPC=y +CONFIG_PCIE_DW=y +CONFIG_PCIE_DW_EP=y +CONFIG_PCIE_DW_HOST=y +CONFIG_PCIE_DW_PLAT=y +CONFIG_PCIE_DW_PLAT_EP=y +CONFIG_PCIE_DW_PLAT_HOST=y +# CONFIG_PCIE_ECRC is not set +CONFIG_PCIE_EDR=y +CONFIG_PCIE_FU740=y +CONFIG_PCIE_HISI_ERR=y +CONFIG_PCIE_HISI_STB=y +CONFIG_PCIE_IPROC=m +CONFIG_PCIE_IPROC_MSI=y +CONFIG_PCIE_IPROC_PLATFORM=m +CONFIG_PCIE_KEEMBAY=y +CONFIG_PCIE_KEEMBAY_EP=y +CONFIG_PCIE_KEEMBAY_HOST=y +CONFIG_PCIE_KIRIN=y +# CONFIG_PCIE_LAYERSCAPE_GEN4 is not set +CONFIG_PCIE_MEDIATEK=y +CONFIG_PCIE_MEDIATEK_GEN3=m +CONFIG_PCIE_MICROCHIP_HOST=y +# CONFIG_PCIE_MOBIVEIL_PLAT is not set +CONFIG_PCIE_PME=y +CONFIG_PCIE_PTM=y +CONFIG_PCIE_QCOM=y +CONFIG_PCIE_QCOM_EP=m +CONFIG_PCIE_RCAR_EP=y +CONFIG_PCIE_RCAR_HOST=y +CONFIG_PCIE_ROCKCHIP=y +CONFIG_PCIE_ROCKCHIP_DW_HOST=y +CONFIG_PCIE_ROCKCHIP_EP=y +CONFIG_PCIE_ROCKCHIP_HOST=m +CONFIG_PCIE_TEGRA194=m +CONFIG_PCIE_TEGRA194_EP=m +CONFIG_PCIE_TEGRA194_HOST=m +# CONFIG_PCIE_UNIPHIER is not set +# CONFIG_PCIE_UNIPHIER_EP is not set +CONFIG_PCIE_VISCONTI_HOST=y +CONFIG_PCIE_XILINX=y +CONFIG_PCIE_XILINX_CPM=y +CONFIG_PCIE_XILINX_NWL=y +CONFIG_PCI_AARDVARK=y +CONFIG_PCI_ATMEL=m +CONFIG_PCI_ATS=y +CONFIG_PCI_BRIDGE_EMUL=y +# CONFIG_PCI_CNB20LE_QUIRK is not set +# CONFIG_PCI_DEBUG is not set +CONFIG_PCI_DIRECT=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DOMAINS_GENERIC=y +CONFIG_PCI_DRA7XX=m +CONFIG_PCI_DRA7XX_EP=m +CONFIG_PCI_DRA7XX_HOST=m +CONFIG_PCI_ECAM=y +CONFIG_PCI_ENDPOINT=y +CONFIG_PCI_ENDPOINT_CONFIGFS=y +# CONFIG_PCI_ENDPOINT_TEST is not set +# CONFIG_PCI_EPF_TEST is not set +# CONFIG_PCI_EXYNOS is not set +CONFIG_PCI_FTPCI100=y +CONFIG_PCI_HISI=y +CONFIG_PCI_HOST_COMMON=y +CONFIG_PCI_HOST_GENERIC=y +CONFIG_PCI_HOST_THUNDER_ECAM=y +CONFIG_PCI_HOST_THUNDER_PEM=y +CONFIG_PCI_HYPERV=m +CONFIG_PCI_HYPERV_INTERFACE=m +CONFIG_PCI_IMX6=y +CONFIG_PCI_IOV=y +CONFIG_PCI_J721E=y +CONFIG_PCI_J721E_EP=y +CONFIG_PCI_J721E_HOST=y +CONFIG_PCI_KEYSTONE=y +CONFIG_PCI_KEYSTONE_EP=y +CONFIG_PCI_KEYSTONE_HOST=y +CONFIG_PCI_LABEL=y +CONFIG_PCI_LAYERSCAPE_EP=y +CONFIG_PCI_LOCKLESS_CONFIG=y +CONFIG_PCI_MMCONFIG=y +CONFIG_PCI_MSI=y +CONFIG_PCI_MSI_ARCH_FALLBACKS=y +CONFIG_PCI_MSI_IRQ_DOMAIN=y +CONFIG_PCI_MVEBU=y +CONFIG_PCI_NR_FUNCTIONS=512 +# CONFIG_PCI_P2PDMA is not set +CONFIG_PCI_PF_STUB=m +CONFIG_PCI_RCAR_GEN2=y +CONFIG_PCI_REALLOC_ENABLE_AUTO=y +CONFIG_PCI_STUB=m +CONFIG_PCI_SW_SWITCHTEC=m +CONFIG_PCI_SYSCALL=y +CONFIG_PCI_TEGRA=y +CONFIG_PCI_V3_SEMI=y +CONFIG_PCI_XEN=y +CONFIG_PCI_XGENE=y +CONFIG_PCI_XGENE_MSI=y +CONFIG_PCMCIA_3C574=m +CONFIG_PCMCIA_3C589=m +CONFIG_PCMCIA_AHA152X=m +CONFIG_PCMCIA_ATMEL=m +CONFIG_PCMCIA_AXNET=m +CONFIG_PCMCIA_FDOMAIN=m +CONFIG_PCMCIA_FMVJ18X=m +CONFIG_PCMCIA_HERMES=m +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_PCMCIA_NMCLAN=m +CONFIG_PCMCIA_PCNET=m +CONFIG_PCMCIA_QLOGIC=m +CONFIG_PCMCIA_RAYCS=m +CONFIG_PCMCIA_SMC91C92=m +CONFIG_PCMCIA_SPECTRUM=m +CONFIG_PCMCIA_SYM53C500=m +CONFIG_PCMCIA_WL3501=m +CONFIG_PCMCIA_XIRC2PS=m +CONFIG_PCMCIA_XIRCOM=m +CONFIG_PCNET32=m +CONFIG_PCPU_DEV_REFCNT=y +CONFIG_PCSPKR_PLATFORM=y +CONFIG_PCS_LYNX=m +CONFIG_PD6729=m +CONFIG_PDA_POWER=m +CONFIG_PDC_ADMA=m +CONFIG_PEAQ_WMI=m +CONFIG_PECI_ASPEED=m +CONFIG_PECI_CPU=m +# CONFIG_PERCPU_STATS is not set +# CONFIG_PERCPU_TEST is not set +CONFIG_PERF_EVENTS=y +CONFIG_PERF_EVENTS_AMD_BRS=y +# CONFIG_PERF_EVENTS_AMD_POWER is not set +CONFIG_PERF_EVENTS_AMD_UNCORE=m +CONFIG_PERF_EVENTS_INTEL_CSTATE=m +CONFIG_PERF_EVENTS_INTEL_RAPL=m +CONFIG_PERF_EVENTS_INTEL_UNCORE=y +CONFIG_PERF_USE_VMALLOC=y +CONFIG_PERSISTENT_KEYRINGS=y +CONFIG_PFAULT=y +CONFIG_PGSTE=y +CONFIG_PHYLIB=y +CONFIG_PHYLINK=m +CONFIG_PHYSICAL_ALIGN=0x200000 +CONFIG_PHYS_ADDR_T_64BIT=y +# CONFIG_PHYS_RAM_BASE_FIXED is not set +CONFIG_PHY_AM654_SERDES=m +CONFIG_PHY_BCM_NS_USB2=m +CONFIG_PHY_BCM_NS_USB3=m +CONFIG_PHY_BCM_SR_PCIE=m +CONFIG_PHY_BCM_SR_USB=m +CONFIG_PHY_BERLIN_SATA=m +CONFIG_PHY_BERLIN_USB=m +CONFIG_PHY_BRCM_SATA=y +CONFIG_PHY_BRCM_USB=m +CONFIG_PHY_CADENCE_DPHY=m +CONFIG_PHY_CADENCE_DPHY_RX=m +CONFIG_PHY_CADENCE_SALVO=m +CONFIG_PHY_CADENCE_SIERRA=m +CONFIG_PHY_CADENCE_TORRENT=m +CONFIG_PHY_CPCAP_USB=m +CONFIG_PHY_DM816X_USB=m +# CONFIG_PHY_EXYNOS_DP_VIDEO is not set +# CONFIG_PHY_EXYNOS_MIPI_VIDEO is not set +# CONFIG_PHY_EXYNOS_PCIE is not set +CONFIG_PHY_FSL_IMX8MQ_USB=m +CONFIG_PHY_FSL_IMX8M_PCIE=m +CONFIG_PHY_FSL_LYNX_28G=m +CONFIG_PHY_HI3660_USB=m +CONFIG_PHY_HI3670_PCIE=m +CONFIG_PHY_HI3670_USB=m +CONFIG_PHY_HI6220_USB=m +CONFIG_PHY_HISI_INNO_USB2=m +CONFIG_PHY_HISTB_COMBPHY=m +CONFIG_PHY_HIX5HD2_SATA=m +CONFIG_PHY_INTEL_KEEMBAY_EMMC=m +CONFIG_PHY_INTEL_KEEMBAY_USB=m +CONFIG_PHY_INTEL_LGM_EMMC=m +CONFIG_PHY_J721E_WIZ=m +CONFIG_PHY_LAN966X_SERDES=m +CONFIG_PHY_MAPPHONE_MDM6600=m +CONFIG_PHY_MESON8B_USB2=m +CONFIG_PHY_MESON8_HDMI_TX=m +CONFIG_PHY_MESON_AXG_MIPI_DPHY=m +CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG=y +CONFIG_PHY_MESON_AXG_PCIE=y +CONFIG_PHY_MESON_G12A_USB2=m +CONFIG_PHY_MESON_G12A_USB3_PCIE=m +CONFIG_PHY_MESON_GXL_USB2=m +CONFIG_PHY_MIXEL_MIPI_DPHY=m +CONFIG_PHY_MTK_HDMI=m +CONFIG_PHY_MTK_MIPI_DSI=m +CONFIG_PHY_MTK_TPHY=m +CONFIG_PHY_MTK_UFS=m +CONFIG_PHY_MTK_XSPHY=m +CONFIG_PHY_MVEBU_A3700_COMPHY=m +CONFIG_PHY_MVEBU_A3700_UTMI=m +CONFIG_PHY_MVEBU_A38X_COMPHY=m +CONFIG_PHY_MVEBU_CP110_COMPHY=m +CONFIG_PHY_MVEBU_CP110_UTMI=m +CONFIG_PHY_MVEBU_SATA=y +CONFIG_PHY_NS2_PCIE=y +CONFIG_PHY_NS2_USB_DRD=m +CONFIG_PHY_OCELOT_SERDES=m +CONFIG_PHY_QCOM_APQ8064_SATA=m +CONFIG_PHY_QCOM_EDP=m +CONFIG_PHY_QCOM_IPQ4019_USB=m +CONFIG_PHY_QCOM_IPQ806X_SATA=m +CONFIG_PHY_QCOM_IPQ806X_USB=m +CONFIG_PHY_QCOM_PCIE2=m +CONFIG_PHY_QCOM_QMP=m +CONFIG_PHY_QCOM_QUSB2=m +CONFIG_PHY_QCOM_USB_HS=m +CONFIG_PHY_QCOM_USB_HSIC=m +CONFIG_PHY_QCOM_USB_HS_28NM=m +CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2=m +CONFIG_PHY_QCOM_USB_SS=m +CONFIG_PHY_RCAR_GEN2=m +CONFIG_PHY_RCAR_GEN3_PCIE=m +CONFIG_PHY_RCAR_GEN3_USB2=m +CONFIG_PHY_RCAR_GEN3_USB3=m +CONFIG_PHY_ROCKCHIP_DP=m +CONFIG_PHY_ROCKCHIP_DPHY_RX0=m +CONFIG_PHY_ROCKCHIP_EMMC=m +CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY=m +CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY=m +CONFIG_PHY_ROCKCHIP_INNO_HDMI=m +CONFIG_PHY_ROCKCHIP_INNO_USB2=m +CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY=m +CONFIG_PHY_ROCKCHIP_PCIE=m +CONFIG_PHY_ROCKCHIP_TYPEC=m +CONFIG_PHY_ROCKCHIP_USB=m +# CONFIG_PHY_SAMSUNG_UFS is not set +CONFIG_PHY_SAMSUNG_USB2=m +CONFIG_PHY_SPARX5_SERDES=m +CONFIG_PHY_SUN4I_USB=m +CONFIG_PHY_SUN50I_USB3=m +CONFIG_PHY_SUN6I_MIPI_DPHY=m +# CONFIG_PHY_SUN9I_USB is not set +CONFIG_PHY_TEGRA194_P2U=m +CONFIG_PHY_TEGRA_XUSB=m +CONFIG_PHY_TUSB1210=m +# CONFIG_PHY_UNIPHIER_AHCI is not set +# CONFIG_PHY_UNIPHIER_PCIE is not set +# CONFIG_PHY_UNIPHIER_USB2 is not set +# CONFIG_PHY_UNIPHIER_USB3 is not set +CONFIG_PHY_XGENE=y +CONFIG_PHY_XILINX_ZYNQMP=m +CONFIG_PI433=m +# CONFIG_PID_IN_CONTEXTIDR is not set +CONFIG_PID_NS=y +CONFIG_PINCONF=y +CONFIG_PINCTRL_ALDERLAKE=m +CONFIG_PINCTRL_AMD=y +CONFIG_PINCTRL_APPLE_GPIO=m +CONFIG_PINCTRL_APQ8064=m +CONFIG_PINCTRL_APQ8084=m +CONFIG_PINCTRL_ARMADA_370=y +CONFIG_PINCTRL_ARMADA_375=y +CONFIG_PINCTRL_ARMADA_37XX=y +CONFIG_PINCTRL_ARMADA_38X=y +CONFIG_PINCTRL_ARMADA_39X=y +CONFIG_PINCTRL_ARMADA_AP806=y +CONFIG_PINCTRL_ARMADA_CP110=y +CONFIG_PINCTRL_ARMADA_XP=y +CONFIG_PINCTRL_AS370=y +CONFIG_PINCTRL_AS3722=y +CONFIG_PINCTRL_ASPEED=y +CONFIG_PINCTRL_ASPEED_G6=y +CONFIG_PINCTRL_AXP209=m +CONFIG_PINCTRL_BAYTRAIL=y +CONFIG_PINCTRL_BCM2835=y +CONFIG_PINCTRL_BCM4908=m +CONFIG_PINCTRL_BERLIN=y +CONFIG_PINCTRL_BERLIN_BG2=y +CONFIG_PINCTRL_BERLIN_BG2CD=y +CONFIG_PINCTRL_BERLIN_BG2Q=y +CONFIG_PINCTRL_BERLIN_BG4CT=y +CONFIG_PINCTRL_BM1880=y +CONFIG_PINCTRL_BROXTON=m +CONFIG_PINCTRL_CANNONLAKE=m +CONFIG_PINCTRL_CEDARFORK=m +CONFIG_PINCTRL_CHERRYVIEW=y +CONFIG_PINCTRL_CS47L15=y +CONFIG_PINCTRL_CS47L35=y +CONFIG_PINCTRL_CS47L85=y +CONFIG_PINCTRL_CS47L90=y +CONFIG_PINCTRL_CS47L92=y +CONFIG_PINCTRL_DA9062=m +CONFIG_PINCTRL_DENVERTON=m +CONFIG_PINCTRL_DOVE=y +CONFIG_PINCTRL_ELKHARTLAKE=m +CONFIG_PINCTRL_EMMITSBURG=m +CONFIG_PINCTRL_EXYNOS=y +CONFIG_PINCTRL_EXYNOS_ARM=y +CONFIG_PINCTRL_GEMINILAKE=m +CONFIG_PINCTRL_ICELAKE=m +CONFIG_PINCTRL_IMX=y +CONFIG_PINCTRL_IMX50=y +CONFIG_PINCTRL_IMX51=y +CONFIG_PINCTRL_IMX6Q=y +CONFIG_PINCTRL_IMX6SL=y +CONFIG_PINCTRL_IMX6SLL=y +CONFIG_PINCTRL_IMX6SX=y +CONFIG_PINCTRL_IMX6UL=y +CONFIG_PINCTRL_IMX7D=y +CONFIG_PINCTRL_IMX7ULP=y +CONFIG_PINCTRL_IMX8DXL=y +CONFIG_PINCTRL_IMX8MM=y +CONFIG_PINCTRL_IMX8MN=y +CONFIG_PINCTRL_IMX8MP=y +CONFIG_PINCTRL_IMX8MQ=y +CONFIG_PINCTRL_IMX8QM=y +CONFIG_PINCTRL_IMX8QXP=y +CONFIG_PINCTRL_IMX8ULP=m +CONFIG_PINCTRL_IMX93=m +CONFIG_PINCTRL_IMXRT1050=y +CONFIG_PINCTRL_IMXRT1170=y +CONFIG_PINCTRL_IMX_SCU=y +CONFIG_PINCTRL_INTEL=y +CONFIG_PINCTRL_IPQ4019=m +CONFIG_PINCTRL_IPQ6018=m +CONFIG_PINCTRL_IPQ8064=m +CONFIG_PINCTRL_IPQ8074=m +CONFIG_PINCTRL_IPROC_GPIO=y +CONFIG_PINCTRL_JASPERLAKE=m +CONFIG_PINCTRL_KEEMBAY=m +CONFIG_PINCTRL_LAKEFIELD=m +CONFIG_PINCTRL_LEWISBURG=m +CONFIG_PINCTRL_LOCHNAGAR=m +CONFIG_PINCTRL_LPASS_LPI=m +CONFIG_PINCTRL_LYNXPOINT=m +CONFIG_PINCTRL_MADERA=m +CONFIG_PINCTRL_MAX77620=m +CONFIG_PINCTRL_MCP23S08=m +CONFIG_PINCTRL_MCP23S08_I2C=m +CONFIG_PINCTRL_MCP23S08_SPI=m +CONFIG_PINCTRL_MDM9607=m +CONFIG_PINCTRL_MDM9615=m +CONFIG_PINCTRL_MESON=y +CONFIG_PINCTRL_MESON8=y +CONFIG_PINCTRL_MESON8B=y +CONFIG_PINCTRL_MESON8_PMX=y +CONFIG_PINCTRL_MESON_A1=y +CONFIG_PINCTRL_MESON_AXG=y +CONFIG_PINCTRL_MESON_AXG_PMX=y +CONFIG_PINCTRL_MESON_G12A=y +CONFIG_PINCTRL_MESON_GXBB=y +CONFIG_PINCTRL_MESON_GXL=y +CONFIG_PINCTRL_MESON_S4=m +CONFIG_PINCTRL_MICROCHIP_SGPIO=y +CONFIG_PINCTRL_MSM=y +CONFIG_PINCTRL_MSM8226=m +CONFIG_PINCTRL_MSM8660=m +CONFIG_PINCTRL_MSM8916=m +CONFIG_PINCTRL_MSM8953=m +CONFIG_PINCTRL_MSM8960=m +CONFIG_PINCTRL_MSM8976=m +CONFIG_PINCTRL_MSM8994=m +CONFIG_PINCTRL_MSM8996=m +CONFIG_PINCTRL_MSM8998=m +CONFIG_PINCTRL_MSM8X74=m +CONFIG_PINCTRL_MT2701=y +CONFIG_PINCTRL_MT2712=y +CONFIG_PINCTRL_MT6397=y +CONFIG_PINCTRL_MT6765=y +CONFIG_PINCTRL_MT6779=m +CONFIG_PINCTRL_MT6795=y +CONFIG_PINCTRL_MT6797=y +CONFIG_PINCTRL_MT7622=y +CONFIG_PINCTRL_MT7623=y +CONFIG_PINCTRL_MT7629=y +CONFIG_PINCTRL_MT7986=y +CONFIG_PINCTRL_MT8127=y +CONFIG_PINCTRL_MT8135=y +CONFIG_PINCTRL_MT8167=y +CONFIG_PINCTRL_MT8173=y +CONFIG_PINCTRL_MT8183=y +CONFIG_PINCTRL_MT8186=y +CONFIG_PINCTRL_MT8192=y +CONFIG_PINCTRL_MT8195=y +CONFIG_PINCTRL_MT8365=y +CONFIG_PINCTRL_MT8516=y +CONFIG_PINCTRL_MTK=y +CONFIG_PINCTRL_MTK_MOORE=y +CONFIG_PINCTRL_MTK_PARIS=y +CONFIG_PINCTRL_MTK_V2=y +CONFIG_PINCTRL_MVEBU=y +CONFIG_PINCTRL_NPCM7XX=y +CONFIG_PINCTRL_NS2_MUX=y +CONFIG_PINCTRL_OCELOT=y +CONFIG_PINCTRL_OWL=y +CONFIG_PINCTRL_PALMAS=y +CONFIG_PINCTRL_PFC_EMEV2=y +CONFIG_PINCTRL_PFC_R8A7740=y +CONFIG_PINCTRL_PFC_R8A7742=y +CONFIG_PINCTRL_PFC_R8A7743=y +CONFIG_PINCTRL_PFC_R8A7744=y +CONFIG_PINCTRL_PFC_R8A7745=y +CONFIG_PINCTRL_PFC_R8A77470=y +CONFIG_PINCTRL_PFC_R8A774A1=y +CONFIG_PINCTRL_PFC_R8A774B1=y +CONFIG_PINCTRL_PFC_R8A774C0=y +CONFIG_PINCTRL_PFC_R8A774E1=y +CONFIG_PINCTRL_PFC_R8A7778=y +CONFIG_PINCTRL_PFC_R8A7779=y +CONFIG_PINCTRL_PFC_R8A7790=y +CONFIG_PINCTRL_PFC_R8A7791=y +CONFIG_PINCTRL_PFC_R8A7792=y +CONFIG_PINCTRL_PFC_R8A7793=y +CONFIG_PINCTRL_PFC_R8A7794=y +CONFIG_PINCTRL_PFC_R8A77950=y +CONFIG_PINCTRL_PFC_R8A77951=y +CONFIG_PINCTRL_PFC_R8A77960=y +CONFIG_PINCTRL_PFC_R8A77961=y +CONFIG_PINCTRL_PFC_R8A77965=y +CONFIG_PINCTRL_PFC_R8A77970=y +CONFIG_PINCTRL_PFC_R8A77980=y +CONFIG_PINCTRL_PFC_R8A77990=y +CONFIG_PINCTRL_PFC_R8A77995=y +CONFIG_PINCTRL_PFC_R8A779A0=y +CONFIG_PINCTRL_PFC_R8A779F0=y +CONFIG_PINCTRL_PFC_SH73A0=y +CONFIG_PINCTRL_QCM2290=m +CONFIG_PINCTRL_QCOM_SPMI_PMIC=m +CONFIG_PINCTRL_QCOM_SSBI_PMIC=m +CONFIG_PINCTRL_QCS404=m +CONFIG_PINCTRL_QDF2XXX=m +CONFIG_PINCTRL_RENESAS=y +CONFIG_PINCTRL_RK805=m +CONFIG_PINCTRL_ROCKCHIP=y +CONFIG_PINCTRL_RZA1=y +CONFIG_PINCTRL_RZA2=y +CONFIG_PINCTRL_RZG2L=y +CONFIG_PINCTRL_RZN1=y +CONFIG_PINCTRL_S500=y +CONFIG_PINCTRL_S700=y +CONFIG_PINCTRL_S900=y +CONFIG_PINCTRL_SAMSUNG=y +CONFIG_PINCTRL_SC7180=m +CONFIG_PINCTRL_SC7280=m +CONFIG_PINCTRL_SC7280_LPASS_LPI=m +CONFIG_PINCTRL_SC8180X=m +CONFIG_PINCTRL_SC8280XP=m +CONFIG_PINCTRL_SDM660=m +CONFIG_PINCTRL_SDM845=m +CONFIG_PINCTRL_SDX55=m +CONFIG_PINCTRL_SDX65=m +CONFIG_PINCTRL_SH_PFC=y +CONFIG_PINCTRL_SH_PFC_GPIO=y +CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_SM6115=m +CONFIG_PINCTRL_SM6125=m +CONFIG_PINCTRL_SM6350=m +CONFIG_PINCTRL_SM8150=m +CONFIG_PINCTRL_SM8250=m +CONFIG_PINCTRL_SM8250_LPASS_LPI=m +CONFIG_PINCTRL_SM8350=m +CONFIG_PINCTRL_SM8450=m +CONFIG_PINCTRL_SPRD=y +CONFIG_PINCTRL_SPRD_SC9860=y +CONFIG_PINCTRL_STARFIVE=m +CONFIG_PINCTRL_STMFX=m +CONFIG_PINCTRL_SUN4I_A10=y +CONFIG_PINCTRL_SUN50I_A100=y +CONFIG_PINCTRL_SUN50I_A100_R=y +CONFIG_PINCTRL_SUN50I_A64=y +CONFIG_PINCTRL_SUN50I_A64_R=y +CONFIG_PINCTRL_SUN50I_H5=y +CONFIG_PINCTRL_SUN50I_H6=y +CONFIG_PINCTRL_SUN50I_H616=y +CONFIG_PINCTRL_SUN50I_H616_R=y +CONFIG_PINCTRL_SUN50I_H6_R=y +CONFIG_PINCTRL_SUN5I=y +CONFIG_PINCTRL_SUN6I_A31=y +CONFIG_PINCTRL_SUN6I_A31_R=y +CONFIG_PINCTRL_SUN8I_A23=y +CONFIG_PINCTRL_SUN8I_A23_R=y +CONFIG_PINCTRL_SUN8I_A33=y +CONFIG_PINCTRL_SUN8I_A83T=y +CONFIG_PINCTRL_SUN8I_A83T_R=y +CONFIG_PINCTRL_SUN8I_H3=y +CONFIG_PINCTRL_SUN8I_H3_R=y +CONFIG_PINCTRL_SUN8I_V3S=y +CONFIG_PINCTRL_SUN9I_A80=y +CONFIG_PINCTRL_SUN9I_A80_R=y +CONFIG_PINCTRL_SUNRISEPOINT=m +CONFIG_PINCTRL_SUNXI=y +CONFIG_PINCTRL_SX150X=y +CONFIG_PINCTRL_TEGRA=y +CONFIG_PINCTRL_TEGRA114=y +CONFIG_PINCTRL_TEGRA124=y +CONFIG_PINCTRL_TEGRA194=y +CONFIG_PINCTRL_TEGRA20=y +CONFIG_PINCTRL_TEGRA210=y +CONFIG_PINCTRL_TEGRA30=y +CONFIG_PINCTRL_TEGRA_XUSB=y +CONFIG_PINCTRL_TIGERLAKE=m +CONFIG_PINCTRL_TI_IODELAY=y +CONFIG_PINCTRL_TMPV7700=y +# CONFIG_PINCTRL_UNIPHIER is not set +CONFIG_PINCTRL_VF610=y +CONFIG_PINCTRL_VISCONTI=y +CONFIG_PINCTRL_ZYNQMP=m +CONFIG_PING=m +CONFIG_PINMUX=y +CONFIG_PJ4B_ERRATA_4742=y +CONFIG_PKCS7_MESSAGE_PARSER=y +CONFIG_PKCS7_TEST_KEY=m +CONFIG_PKCS8_PRIVATE_KEY_PARSER=m +CONFIG_PKEY=m +CONFIG_PL310_ERRATA_588369=y +CONFIG_PL310_ERRATA_727915=y +CONFIG_PL310_ERRATA_753970=y +CONFIG_PL310_ERRATA_769419=y +CONFIG_PL320_MBOX=y +CONFIG_PL330_DMA=m +CONFIG_PL353_SMC=m +CONFIG_PLATFORM_MHU=m +CONFIG_PLATFORM_SI4713=m +CONFIG_PLAT_ORION=y +# CONFIG_PLAT_SPEAR is not set +CONFIG_PLAT_VERSATILE=y +CONFIG_PLAYSTATION_FF=y +CONFIG_PLDMFW=y +CONFIG_PLFXLC=m +CONFIG_PLIP=m +CONFIG_PLX_DMA=m +CONFIG_PLX_HERMES=m +CONFIG_PM8916_WATCHDOG=m +CONFIG_PMBUS=m +CONFIG_PMC_ATOM=y +CONFIG_PMIC_ADP5520=y +CONFIG_PMIC_DA903X=y +CONFIG_PMIC_DA9052=y +CONFIG_PMS7003=m +# CONFIG_PMU_SYSFS is not set +CONFIG_PM_ADVANCED_DEBUG=y +# CONFIG_PM_AUTOSLEEP is not set +CONFIG_PM_CLK=y +CONFIG_PM_DEBUG=y +CONFIG_PM_DEVFREQ_EVENT=y +CONFIG_PM_GENERIC_DOMAINS=y +CONFIG_PM_GENERIC_DOMAINS_OF=y +CONFIG_PM_GENERIC_DOMAINS_SLEEP=y +CONFIG_PM_NOTIFIER_ERROR_INJECT=m +CONFIG_PM_OPP=y +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_DEBUG=y +CONFIG_PM_SLEEP_SMP=y +CONFIG_PM_SLEEP_SMP_NONZERO_CPU=y +CONFIG_PM_STD_PARTITION="" +# CONFIG_PM_TEST_SUSPEND is not set +CONFIG_PM_TRACE=y +CONFIG_PM_TRACE_RTC=y +CONFIG_PM_WAKELOCKS=y +CONFIG_PM_WAKELOCKS_GC=y +CONFIG_PM_WAKELOCKS_LIMIT=100 +CONFIG_PNFS_BLOCK=m +CONFIG_PNFS_FILE_LAYOUT=m +CONFIG_PNFS_FLEXFILE_LAYOUT=m +CONFIG_PNP=y +CONFIG_PNPACPI=y +# CONFIG_PNP_DEBUG_MESSAGES is not set +CONFIG_POLARFIRE_SOC_MAILBOX=m +CONFIG_POLARFIRE_SOC_SYS_CTRL=m +CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_POSIX_TIMERS=y +# CONFIG_POWER7_CPU is not set +# CONFIG_POWER8_CPU is not set +# CONFIG_POWER9_CPU is not set +CONFIG_POWERNV_CPUFREQ=y +CONFIG_POWERNV_CPUIDLE=y +CONFIG_POWERNV_OP_PANEL=m +CONFIG_POWER_AVS_OMAP=y +CONFIG_POWER_AVS_OMAP_CLASS3=y +CONFIG_POWER_RESET=y +CONFIG_POWER_RESET_AS3722=y +CONFIG_POWER_RESET_ATC260X=m +CONFIG_POWER_RESET_AXXIA=y +CONFIG_POWER_RESET_BRCMKONA=y +# CONFIG_POWER_RESET_BRCMSTB is not set +CONFIG_POWER_RESET_GPIO=y +CONFIG_POWER_RESET_GPIO_RESTART=y +CONFIG_POWER_RESET_HISI=y +CONFIG_POWER_RESET_LINKSTATION=m +CONFIG_POWER_RESET_LTC2952=y +CONFIG_POWER_RESET_MSM=y +CONFIG_POWER_RESET_MT6323=y +CONFIG_POWER_RESET_OCELOT_RESET=y +CONFIG_POWER_RESET_QCOM_PON=m +# CONFIG_POWER_RESET_QNAP is not set +CONFIG_POWER_RESET_REGULATOR=y +CONFIG_POWER_RESET_RESTART=y +CONFIG_POWER_RESET_RMOBILE=m +CONFIG_POWER_RESET_SC27XX=m +CONFIG_POWER_RESET_SYSCON=y +CONFIG_POWER_RESET_SYSCON_POWEROFF=y +CONFIG_POWER_RESET_TPS65086=y +CONFIG_POWER_RESET_VERSATILE=y +CONFIG_POWER_RESET_VEXPRESS=y +# CONFIG_POWER_RESET_XGENE is not set +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_POWER_SUPPLY_HWMON=y +CONFIG_PPC=y +CONFIG_PPC64=y +CONFIG_PPC64_BOOT_WRAPPER=y +CONFIG_PPC64_ELF_ABI_V2=y +CONFIG_PPC64_SUPPORTS_MEMORY_FAILURE=y +# CONFIG_PPC_4K_PAGES is not set +CONFIG_PPC_64K_PAGES=y +CONFIG_PPC_64S_HASH_MMU=y +CONFIG_PPC_BARRIER_NOSPEC=y +# CONFIG_PPC_BOOK3E_64 is not set +CONFIG_PPC_BOOK3S=y +CONFIG_PPC_BOOK3S_64=y +CONFIG_PPC_BOOK3S_IDLE=y +CONFIG_PPC_COPRO_BASE=y +CONFIG_PPC_DAWR=y +CONFIG_PPC_DENORMALISATION=y +# CONFIG_PPC_DISABLE_WERROR is not set +CONFIG_PPC_DOORBELL=y +CONFIG_PPC_DT_CPU_FTRS=y +# CONFIG_PPC_EARLY_DEBUG is not set +# CONFIG_PPC_EMULATED_STATS is not set +# CONFIG_PPC_EPAPR_HV_BYTECHAN is not set +# CONFIG_PPC_FAST_ENDIAN_SWITCH is not set +CONFIG_PPC_FPU=y +CONFIG_PPC_FPU_REGS=y +CONFIG_PPC_HASH_MMU_NATIVE=y +CONFIG_PPC_HAVE_PMU_SUPPORT=y +CONFIG_PPC_I8259=y +CONFIG_PPC_ICP_HV=y +CONFIG_PPC_ICP_NATIVE=y +CONFIG_PPC_ICS_RTAS=y +CONFIG_PPC_INDIRECT_PIO=y +# CONFIG_PPC_IRQ_SOFT_MASK_DEBUG is not set +CONFIG_PPC_KUAP=y +# CONFIG_PPC_KUAP_DEBUG is not set +CONFIG_PPC_KUEP=y +CONFIG_PPC_LONG_DOUBLE_128=y +CONFIG_PPC_MEMTRACE=y +# CONFIG_PPC_MEM_KEYS is not set +CONFIG_PPC_MSI_BITMAP=y +CONFIG_PPC_OF_BOOT_TRAMPOLINE=y +CONFIG_PPC_P7_NAP=y +CONFIG_PPC_PAGE_SHIFT=16 +CONFIG_PPC_PERF_CTRS=y +CONFIG_PPC_PKEY=y +CONFIG_PPC_POWERNV=y +# CONFIG_PPC_PROT_SAO_LPAR is not set +CONFIG_PPC_PSERIES=y +# CONFIG_PPC_QUEUED_SPINLOCKS is not set +CONFIG_PPC_RADIX_MMU=y +CONFIG_PPC_RADIX_MMU_DEFAULT=y +# CONFIG_PPC_RFI_SRR_DEBUG is not set +CONFIG_PPC_RTAS=y +CONFIG_PPC_RTAS_DAEMON=y +CONFIG_PPC_RTAS_FILTER=y +CONFIG_PPC_SECURE_BOOT=y +CONFIG_PPC_SECVAR_SYSFS=y +CONFIG_PPC_SMLPAR=y +CONFIG_PPC_SMP_MUXED_IPI=y +CONFIG_PPC_SPLPAR=y +CONFIG_PPC_SUBPAGE_PROT=y +CONFIG_PPC_SVM=y +CONFIG_PPC_TRANSACTIONAL_MEM=y +CONFIG_PPC_UDBG_16550=y +CONFIG_PPC_UV=y +CONFIG_PPC_VAS=y +CONFIG_PPC_WATCHDOG=y +CONFIG_PPC_WERROR=y +CONFIG_PPC_XICS=y +CONFIG_PPC_XIVE=y +CONFIG_PPC_XIVE_NATIVE=y +CONFIG_PPC_XIVE_SPAPR=y +CONFIG_PPDEV=m +CONFIG_PPPOATM=m +CONFIG_PPPOE=m +CONFIG_PPPOL2TP=m +CONFIG_PPP_ASYNC=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=m +CONFIG_PPP_MULTILINK=y +CONFIG_PPP_SYNC_TTY=m +CONFIG_PPS=y +# CONFIG_PPS_CLIENT_KTIMER is not set +CONFIG_PPS_CLIENT_PARPORT=m +# CONFIG_PPS_DEBUG is not set +CONFIG_PPTP=m +# CONFIG_PREEMPT is not set +CONFIG_PREEMPTION=y +# CONFIG_PREEMPTIRQ_DELAY_TEST is not set +CONFIG_PREEMPT_BUILD=y +CONFIG_PREEMPT_COUNT=y +CONFIG_PREEMPT_DYNAMIC=y +CONFIG_PREEMPT_NONE_BUILD=y +CONFIG_PREEMPT_NOTIFIERS=y +CONFIG_PREEMPT_RCU=y +# CONFIG_PREEMPT_TRACER is not set +CONFIG_PREEMPT_VOLUNTARY_BUILD=y +CONFIG_PRESTERA=m +CONFIG_PRESTERA_PCI=m +CONFIG_PREVENT_FIRMWARE_BUILD=y +# CONFIG_PRIME_NUMBERS is not set +CONFIG_PRINTER=m +CONFIG_PRINTK=y +# CONFIG_PRINTK_CALLER is not set +# CONFIG_PRINTK_INDEX is not set +CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 +CONFIG_PRINTK_TIME=y +# CONFIG_PRINT_QUOTA_WARNING is not set +CONFIG_PRINT_STACK_DEPTH=64 +CONFIG_PRISM2_USB=m +CONFIG_PROBE_EVENTS=y +CONFIG_PROCESSOR_SELECT=y +CONFIG_PROC_CHILDREN=y +CONFIG_PROC_CPU_RESCTRL=y +CONFIG_PROC_EVENTS=y +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_PROC_PID_ARCH_STATUS=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_THERMAL_MMIO_RAPL=m +CONFIG_PROC_VMCORE=y +CONFIG_PROC_VMCORE_DEVICE_DUMP=y +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +CONFIG_PROFILING=y +CONFIG_PROTECTED_VIRTUALIZATION_GUEST=y +# CONFIG_PROVE_LOCKING is not set +# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set +CONFIG_PRU_REMOTEPROC=m +CONFIG_PSAMPLE=m +CONFIG_PSERIES_CPUIDLE=y +CONFIG_PSERIES_ENERGY=m +CONFIG_PSI=y +# CONFIG_PSTORE_842_COMPRESS is not set +CONFIG_PSTORE_BLK=m +CONFIG_PSTORE_BLK_BLKDEV="" +CONFIG_PSTORE_BLK_CONSOLE_SIZE=64 +CONFIG_PSTORE_BLK_KMSG_SIZE=64 +CONFIG_PSTORE_BLK_MAX_REASON=2 +CONFIG_PSTORE_COMPRESS=y +CONFIG_PSTORE_COMPRESS_DEFAULT="deflate" +CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240 +CONFIG_PSTORE_DEFLATE_COMPRESS=y +CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y +# CONFIG_PSTORE_FTRACE is not set +# CONFIG_PSTORE_LZ4HC_COMPRESS is not set +# CONFIG_PSTORE_LZ4_COMPRESS is not set +# CONFIG_PSTORE_LZO_COMPRESS is not set +# CONFIG_PSTORE_PMSG is not set +CONFIG_PSTORE_ZONE=m +# CONFIG_PSTORE_ZSTD_COMPRESS is not set +CONFIG_PTDUMP_CORE=y +CONFIG_PTE_MARKER=y +CONFIG_PTE_MARKER_UFFD_WP=y +CONFIG_PTP_1588_CLOCK_DTE=m +CONFIG_PTP_1588_CLOCK_IDTCM=m +CONFIG_PTP_1588_CLOCK_INES=m +CONFIG_PTP_1588_CLOCK_KVM=m +CONFIG_PTP_1588_CLOCK_OCP=m +CONFIG_PTP_1588_CLOCK_QORIQ=m +CONFIG_PTP_1588_CLOCK_VMW=m +CONFIG_PUNIT_ATOM_DEBUG=m +CONFIG_PVH=y +CONFIG_PVPANIC_MMIO=m +CONFIG_PVPANIC_PCI=m +CONFIG_PWM_ATMEL_HLCDC_PWM=m +CONFIG_PWM_ATMEL_TCB=m +CONFIG_PWM_BCM2835=m +CONFIG_PWM_BCM_IPROC=m +CONFIG_PWM_BERLIN=m +CONFIG_PWM_BRCMSTB=m +CONFIG_PWM_CRC=y +CONFIG_PWM_CROS_EC=m +# CONFIG_PWM_DEBUG is not set +CONFIG_PWM_DWC=m +CONFIG_PWM_FSL_FTM=m +CONFIG_PWM_HIBVT=m +CONFIG_PWM_IMX1=m +CONFIG_PWM_IMX27=m +CONFIG_PWM_IMX_TPM=m +CONFIG_PWM_IQS620A=m +CONFIG_PWM_KEEMBAY=m +CONFIG_PWM_LP3943=m +CONFIG_PWM_LPSS=y +CONFIG_PWM_LPSS_PCI=y +CONFIG_PWM_LPSS_PLATFORM=y +CONFIG_PWM_MEDIATEK=m +CONFIG_PWM_MESON=m +CONFIG_PWM_MTK_DISP=m +CONFIG_PWM_NTXEC=m +CONFIG_PWM_OMAP_DMTIMER=m +CONFIG_PWM_PCA9685=m +CONFIG_PWM_RASPBERRYPI_POE=m +CONFIG_PWM_RCAR=m +CONFIG_PWM_RENESAS_TPU=m +CONFIG_PWM_ROCKCHIP=m +# CONFIG_PWM_SAMSUNG is not set +CONFIG_PWM_SIFIVE=m +CONFIG_PWM_SL28CPLD=m +CONFIG_PWM_SPRD=m +CONFIG_PWM_STMPE=y +CONFIG_PWM_SUN4I=m +CONFIG_PWM_SYSFS=y +CONFIG_PWM_TEGRA=m +CONFIG_PWM_TIECAP=m +CONFIG_PWM_TIEHRPWM=m +CONFIG_PWM_TWL=m +CONFIG_PWM_TWL_LED=m +CONFIG_PWM_VISCONTI=m +CONFIG_PWM_XILINX=m +CONFIG_PWRSEQ_EMMC=m +CONFIG_PWRSEQ_SD8787=m +CONFIG_PWRSEQ_SIMPLE=m +CONFIG_PXA168_ETH=m +CONFIG_QCA7000=m +CONFIG_QCA7000_SPI=m +CONFIG_QCA7000_UART=m +CONFIG_QCM_DISPCC_2290=m +CONFIG_QCM_GCC_2290=m +CONFIG_QCOM_A53PLL=m +CONFIG_QCOM_A7PLL=m +CONFIG_QCOM_ADM=m +CONFIG_QCOM_AOSS_QMP=m +CONFIG_QCOM_APCS_IPC=m +CONFIG_QCOM_APR=m +CONFIG_QCOM_BAM_DMA=m +CONFIG_QCOM_BAM_DMUX=m +CONFIG_QCOM_CLK_APCC_MSM8996=m +CONFIG_QCOM_CLK_APCS_MSM8916=m +CONFIG_QCOM_CLK_APCS_SDX55=m +CONFIG_QCOM_CLK_RPM=m +CONFIG_QCOM_CLK_RPMH=m +CONFIG_QCOM_CLK_SMD_RPM=m +CONFIG_QCOM_COINCELL=m +CONFIG_QCOM_COMMAND_DB=y +CONFIG_QCOM_CPR=m +CONFIG_QCOM_EBI2=y +CONFIG_QCOM_EMAC=m +CONFIG_QCOM_FALKOR_ERRATUM_1003=y +CONFIG_QCOM_FALKOR_ERRATUM_1009=y +CONFIG_QCOM_FALKOR_ERRATUM_E1041=y +CONFIG_QCOM_FASTRPC=m +CONFIG_QCOM_GDSC=y +CONFIG_QCOM_GENI_SE=m +CONFIG_QCOM_GPI_DMA=m +CONFIG_QCOM_GSBI=m +CONFIG_QCOM_HFPLL=m +CONFIG_QCOM_HIDMA=m +CONFIG_QCOM_HIDMA_MGMT=m +CONFIG_QCOM_IOMMU=y +CONFIG_QCOM_IPA=m +CONFIG_QCOM_IPCC=y +CONFIG_QCOM_IRQ_COMBINER=y +CONFIG_QCOM_KRYO_L2_ACCESSORS=y +CONFIG_QCOM_L2_PMU=y +CONFIG_QCOM_L3_PMU=y +CONFIG_QCOM_LLCC=m +CONFIG_QCOM_LMH=m +CONFIG_QCOM_MDT_LOADER=m +CONFIG_QCOM_MPM=m +CONFIG_QCOM_OCMEM=m +CONFIG_QCOM_PDC=y +CONFIG_QCOM_PDR_HELPERS=m +CONFIG_QCOM_PIL_INFO=m +CONFIG_QCOM_PM8XXX_XOADC=m +CONFIG_QCOM_Q6V5_ADSP=m +CONFIG_QCOM_Q6V5_COMMON=m +CONFIG_QCOM_Q6V5_MSS=m +CONFIG_QCOM_Q6V5_PAS=m +CONFIG_QCOM_Q6V5_WCSS=m +CONFIG_QCOM_QDF2400_ERRATUM_0065=y +CONFIG_QCOM_QFPROM=m +CONFIG_QCOM_QMI_HELPERS=m +CONFIG_QCOM_RMTFS_MEM=m +CONFIG_QCOM_RPMCC=y +CONFIG_QCOM_RPMH=y +CONFIG_QCOM_RPMHPD=y +CONFIG_QCOM_RPMPD=m +CONFIG_QCOM_RPROC_COMMON=m +CONFIG_QCOM_SCM=y +# CONFIG_QCOM_SCM_DOWNLOAD_MODE_DEFAULT is not set +CONFIG_QCOM_SMD_RPM=m +CONFIG_QCOM_SMEM=m +CONFIG_QCOM_SMEM_STATE=y +CONFIG_QCOM_SMP2P=m +CONFIG_QCOM_SMSM=m +CONFIG_QCOM_SOCINFO=m +CONFIG_QCOM_SPM=y +CONFIG_QCOM_SPMI_ADC5=m +CONFIG_QCOM_SPMI_ADC_TM5=m +CONFIG_QCOM_SPMI_IADC=m +CONFIG_QCOM_SPMI_TEMP_ALARM=m +CONFIG_QCOM_SPMI_VADC=m +CONFIG_QCOM_SSC_BLOCK_BUS=y +CONFIG_QCOM_STATS=m +CONFIG_QCOM_SYSMON=m +CONFIG_QCOM_TSENS=m +CONFIG_QCOM_VADC_COMMON=m +CONFIG_QCOM_WCNSS_CTRL=m +# CONFIG_QCOM_WCNSS_PIL is not set +CONFIG_QCOM_WDT=m +CONFIG_QCS_GCC_404=m +CONFIG_QCS_Q6SSTOP_404=m +CONFIG_QCS_TURING_404=m +CONFIG_QDIO=m +CONFIG_QED=m +CONFIG_QEDE=m +CONFIG_QEDF=m +CONFIG_QEDI=m +CONFIG_QED_FCOE=y +CONFIG_QED_ISCSI=y +CONFIG_QED_LL2=y +CONFIG_QED_OOO=y +CONFIG_QED_RDMA=y +CONFIG_QED_SRIOV=y +CONFIG_QETH=m +CONFIG_QETH_L2=m +CONFIG_QETH_L3=m +# CONFIG_QETH_OSX is not set +CONFIG_QE_GPIO=y +CONFIG_QE_TDM=y +CONFIG_QE_USB=y +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QLA3XXX=m +CONFIG_QLCNIC=m +CONFIG_QLCNIC_DCB=y +CONFIG_QLCNIC_HWMON=y +CONFIG_QLCNIC_SRIOV=y +CONFIG_QLGE=m +# CONFIG_QNX6FS_DEBUG is not set +CONFIG_QORIQ_CPUFREQ=m +CONFIG_QORIQ_THERMAL=m +CONFIG_QRTR_MHI=m +CONFIG_QRTR_SMD=m +CONFIG_QRTR_TUN=m +CONFIG_QSEMI_PHY=m +CONFIG_QTNFMAC=m +CONFIG_QTNFMAC_PCIE=m +CONFIG_QUEUED_RWLOCKS=y +CONFIG_QUEUED_SPINLOCKS=y +CONFIG_QUICC_ENGINE=y +CONFIG_QUOTA=y +CONFIG_QUOTACTL=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_QUOTA_TREE=m +CONFIG_R6040=m +CONFIG_R8169=m +CONFIG_R8188EU=m +CONFIG_R8712U=m +CONFIG_RADIO_ADAPTERS=m +CONFIG_RADIO_MAXIRADIO=m +CONFIG_RADIO_SAA7706H=m +CONFIG_RADIO_SHARK=m +CONFIG_RADIO_SHARK2=m +CONFIG_RADIO_SI470X=m +CONFIG_RADIO_SI4713=m +CONFIG_RADIO_SI476X=m +CONFIG_RADIO_TEA575X=m +CONFIG_RADIO_TEA5764=m +CONFIG_RADIO_TEF6862=m +CONFIG_RADIO_WL1273=m +CONFIG_RADIO_WL128X=m +CONFIG_RAID6_PQ=m +CONFIG_RAID6_PQ_BENCHMARK=y +CONFIG_RAID_ATTRS=m +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_RANDOMIZE_BASE=y +CONFIG_RANDOMIZE_KSTACK_OFFSET=y +CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y +CONFIG_RANDOMIZE_MEMORY=y +CONFIG_RANDOMIZE_MEMORY_PHYSICAL_PADDING=0xa +CONFIG_RANDOMIZE_MODULE_REGION_FULL=y +CONFIG_RANDOM_TRUST_BOOTLOADER=y +CONFIG_RANDOM_TRUST_CPU=y +CONFIG_RANDSTRUCT_NONE=y +CONFIG_RAPIDIO_CHMAN=m +CONFIG_RAPIDIO_CPS_GEN2=m +CONFIG_RAPIDIO_CPS_XX=m +# CONFIG_RAPIDIO_DEBUG is not set +CONFIG_RAPIDIO_DISC_TIMEOUT=30 +CONFIG_RAPIDIO_DMA_ENGINE=y +# CONFIG_RAPIDIO_ENABLE_RX_TX_PORTS is not set +CONFIG_RAPIDIO_ENUM_BASIC=m +CONFIG_RAPIDIO_MPORT_CDEV=m +CONFIG_RAPIDIO_RXS_GEN3=m +CONFIG_RAPIDIO_TSI721=m +CONFIG_RAS=y +CONFIG_RASPBERRYPI_FIRMWARE=y +CONFIG_RASPBERRYPI_POWER=y +CONFIG_RAS_CEC=y +# CONFIG_RAS_CEC_DEBUG is not set +CONFIG_RATIONAL=y +CONFIG_RAVB=m +CONFIG_RAVE_SP_EEPROM=m +CONFIG_RAVE_SP_WATCHDOG=m +# CONFIG_RBTREE_TEST is not set +CONFIG_RCAR_DMAC=m +CONFIG_RCAR_GEN3_THERMAL=m +CONFIG_RCAR_GYRO_ADC=m +CONFIG_RCAR_REMOTEPROC=m +CONFIG_RCAR_THERMAL=m +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_EQS_DEBUG is not set +# CONFIG_RCU_EXPERT is not set +CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0 +CONFIG_RCU_NEED_SEGCBLIST=y +# CONFIG_RCU_REF_SCALE_TEST is not set +# CONFIG_RCU_SCALE_TEST is not set +CONFIG_RCU_STALL_COMMON=y +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_TRACE is not set +CONFIG_RC_ATI_REMOTE=m +CONFIG_RC_DECODERS=y +CONFIG_RC_DEVICES=y +CONFIG_RC_LOOPBACK=m +CONFIG_RC_MAP=m +CONFIG_RC_XBOX_DVD=m +CONFIG_RDA_INTC=y +CONFIG_RDA_TIMER=y +CONFIG_RDMA_RXE=m +CONFIG_RDMA_SIW=m +CONFIG_RDS=m +# CONFIG_RDS_DEBUG is not set +CONFIG_RDS_RDMA=m +CONFIG_RDS_TCP=m +CONFIG_RD_BZIP2=y +CONFIG_RD_GZIP=y +CONFIG_RD_LZ4=y +CONFIG_RD_LZMA=y +CONFIG_RD_LZO=y +CONFIG_RD_XZ=y +CONFIG_RD_ZSTD=y +# CONFIG_READABLE_ASM is not set +# CONFIG_READ_ONLY_THP_FOR_FS is not set +CONFIG_REALTEK_AUTOPM=y +CONFIG_REALTEK_PHY=m +CONFIG_REBOOT_MODE=m +CONFIG_REED_SOLOMON_DEC16=y +CONFIG_REED_SOLOMON_DEC8=y +CONFIG_REED_SOLOMON_ENC8=y +# CONFIG_REED_SOLOMON_TEST is not set +CONFIG_REGMAP=y +CONFIG_REGMAP_AC97=m +CONFIG_REGMAP_I3C=m +CONFIG_REGMAP_IRQ=y +CONFIG_REGMAP_MMIO=y +CONFIG_REGMAP_SCCB=m +CONFIG_REGMAP_SLIMBUS=m +CONFIG_REGMAP_SOUNDWIRE=m +CONFIG_REGMAP_SOUNDWIRE_MBQ=m +CONFIG_REGMAP_SPI=y +CONFIG_REGMAP_SPI_AVMM=m +CONFIG_REGMAP_SPMI=m +CONFIG_REGMAP_W1=m +CONFIG_REGULATOR_88PG86X=m +CONFIG_REGULATOR_88PM800=m +CONFIG_REGULATOR_88PM8607=m +CONFIG_REGULATOR_AAT2870=m +CONFIG_REGULATOR_ACT8865=m +CONFIG_REGULATOR_ACT8945A=m +CONFIG_REGULATOR_AD5398=m +CONFIG_REGULATOR_ANATOP=m +CONFIG_REGULATOR_ARIZONA_LDO1=m +CONFIG_REGULATOR_ARIZONA_MICSUPP=m +CONFIG_REGULATOR_ARM_SCMI=m +CONFIG_REGULATOR_AS3711=m +CONFIG_REGULATOR_AS3722=m +CONFIG_REGULATOR_ATC260X=m +CONFIG_REGULATOR_AXP20X=m +CONFIG_REGULATOR_BCM590XX=m +CONFIG_REGULATOR_BD71815=m +CONFIG_REGULATOR_BD71828=m +CONFIG_REGULATOR_BD718XX=m +CONFIG_REGULATOR_BD9571MWV=m +CONFIG_REGULATOR_BD957XMUF=m +CONFIG_REGULATOR_CPCAP=m +CONFIG_REGULATOR_CROS_EC=m +CONFIG_REGULATOR_DA903X=m +CONFIG_REGULATOR_DA9052=m +CONFIG_REGULATOR_DA9055=m +CONFIG_REGULATOR_DA9062=m +CONFIG_REGULATOR_DA9063=m +CONFIG_REGULATOR_DA9121=m +CONFIG_REGULATOR_DA9210=m +CONFIG_REGULATOR_DA9211=m +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FAN53555=m +CONFIG_REGULATOR_FAN53880=m +CONFIG_REGULATOR_GPIO=m +CONFIG_REGULATOR_HI6421=m +CONFIG_REGULATOR_HI6421V530=m +CONFIG_REGULATOR_HI6421V600=m +CONFIG_REGULATOR_HI655X=m +CONFIG_REGULATOR_ISL6271A=m +CONFIG_REGULATOR_ISL9305=m +CONFIG_REGULATOR_LM363X=m +CONFIG_REGULATOR_LOCHNAGAR=m +CONFIG_REGULATOR_LP3971=m +CONFIG_REGULATOR_LP3972=m +CONFIG_REGULATOR_LP872X=m +CONFIG_REGULATOR_LP873X=m +CONFIG_REGULATOR_LP8755=m +CONFIG_REGULATOR_LP87565=m +CONFIG_REGULATOR_LP8788=m +CONFIG_REGULATOR_LTC3589=m +CONFIG_REGULATOR_LTC3676=m +CONFIG_REGULATOR_MAX14577=m +CONFIG_REGULATOR_MAX1586=m +CONFIG_REGULATOR_MAX20086=m +CONFIG_REGULATOR_MAX77620=m +CONFIG_REGULATOR_MAX77650=m +CONFIG_REGULATOR_MAX77686=m +CONFIG_REGULATOR_MAX77693=m +CONFIG_REGULATOR_MAX77802=m +CONFIG_REGULATOR_MAX77826=m +CONFIG_REGULATOR_MAX8649=m +CONFIG_REGULATOR_MAX8660=m +CONFIG_REGULATOR_MAX8893=m +CONFIG_REGULATOR_MAX8907=m +CONFIG_REGULATOR_MAX8925=m +CONFIG_REGULATOR_MAX8952=m +CONFIG_REGULATOR_MAX8973=m +CONFIG_REGULATOR_MAX8997=m +CONFIG_REGULATOR_MAX8998=m +CONFIG_REGULATOR_MC13783=m +CONFIG_REGULATOR_MC13892=m +CONFIG_REGULATOR_MC13XXX_CORE=m +CONFIG_REGULATOR_MCP16502=m +CONFIG_REGULATOR_MP5416=m +CONFIG_REGULATOR_MP8859=m +CONFIG_REGULATOR_MP886X=m +CONFIG_REGULATOR_MPQ7920=m +CONFIG_REGULATOR_MT6311=m +CONFIG_REGULATOR_MT6315=m +CONFIG_REGULATOR_MT6323=m +CONFIG_REGULATOR_MT6358=m +CONFIG_REGULATOR_MT6359=m +CONFIG_REGULATOR_MT6360=m +CONFIG_REGULATOR_MT6380=m +CONFIG_REGULATOR_MT6397=m +CONFIG_REGULATOR_PALMAS=m +CONFIG_REGULATOR_PBIAS=m +CONFIG_REGULATOR_PCA9450=m +CONFIG_REGULATOR_PCAP=m +CONFIG_REGULATOR_PCF50633=m +CONFIG_REGULATOR_PF8X00=m +CONFIG_REGULATOR_PFUZE100=m +CONFIG_REGULATOR_PV88060=m +CONFIG_REGULATOR_PV88080=m +CONFIG_REGULATOR_PV88090=m +CONFIG_REGULATOR_PWM=m +CONFIG_REGULATOR_QCOM_LABIBB=m +CONFIG_REGULATOR_QCOM_RPM=m +CONFIG_REGULATOR_QCOM_RPMH=m +CONFIG_REGULATOR_QCOM_SMD_RPM=m +CONFIG_REGULATOR_QCOM_SPMI=m +CONFIG_REGULATOR_QCOM_USB_VBUS=m +CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY=m +CONFIG_REGULATOR_RC5T583=m +CONFIG_REGULATOR_RK808=m +CONFIG_REGULATOR_RN5T618=m +CONFIG_REGULATOR_ROHM=m +CONFIG_REGULATOR_RT4801=m +CONFIG_REGULATOR_RT4831=m +CONFIG_REGULATOR_RT5033=m +CONFIG_REGULATOR_RT5190A=m +CONFIG_REGULATOR_RT5759=m +CONFIG_REGULATOR_RT6160=m +CONFIG_REGULATOR_RT6245=m +CONFIG_REGULATOR_RTMV20=m +CONFIG_REGULATOR_RTQ2134=m +CONFIG_REGULATOR_RTQ6752=m +CONFIG_REGULATOR_S2MPA01=m +CONFIG_REGULATOR_S2MPS11=m +CONFIG_REGULATOR_S5M8767=m +CONFIG_REGULATOR_SC2731=m +CONFIG_REGULATOR_SKY81452=m +CONFIG_REGULATOR_SLG51000=m +CONFIG_REGULATOR_STPMIC1=m +CONFIG_REGULATOR_SY7636A=m +CONFIG_REGULATOR_SY8106A=m +CONFIG_REGULATOR_SY8824X=m +CONFIG_REGULATOR_SY8827N=m +CONFIG_REGULATOR_TI_ABB=y +CONFIG_REGULATOR_TPS51632=m +CONFIG_REGULATOR_TPS6105X=m +CONFIG_REGULATOR_TPS62360=m +CONFIG_REGULATOR_TPS6286X=m +CONFIG_REGULATOR_TPS65023=m +CONFIG_REGULATOR_TPS6507X=m +CONFIG_REGULATOR_TPS65086=m +CONFIG_REGULATOR_TPS65090=m +CONFIG_REGULATOR_TPS65132=m +CONFIG_REGULATOR_TPS65218=m +CONFIG_REGULATOR_TPS6524X=m +CONFIG_REGULATOR_TPS6586X=m +CONFIG_REGULATOR_TPS65910=m +CONFIG_REGULATOR_TPS65912=m +CONFIG_REGULATOR_TPS68470=m +# CONFIG_REGULATOR_UNIPHIER is not set +CONFIG_REGULATOR_USERSPACE_CONSUMER=m +CONFIG_REGULATOR_VCTRL=m +CONFIG_REGULATOR_VEXPRESS=m +CONFIG_REGULATOR_VIRTUAL_CONSUMER=m +CONFIG_REGULATOR_VQMMC_IPQ4019=m +CONFIG_REGULATOR_WM831X=m +CONFIG_REGULATOR_WM8350=m +CONFIG_REGULATOR_WM8400=m +CONFIG_REGULATOR_WM8994=m +# CONFIG_REISERFS_CHECK is not set +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_REISERFS_FS_SECURITY=y +CONFIG_REISERFS_FS_XATTR=y +# CONFIG_REISERFS_PROC_INFO is not set +CONFIG_RELAY=y +CONFIG_RELOCATABLE=y +# CONFIG_RELOCATABLE_TEST is not set +CONFIG_REMOTEPROC_CDEV=y +CONFIG_RENESAS_DMA=y +CONFIG_RENESAS_INTC_IRQPIN=y +CONFIG_RENESAS_IRQC=y +CONFIG_RENESAS_OSTM=y +CONFIG_RENESAS_PHY=m +CONFIG_RENESAS_RPCIF=m +CONFIG_RENESAS_RZA1_IRQC=y +CONFIG_RENESAS_RZAWDT=m +CONFIG_RENESAS_RZG2LWDT=m +CONFIG_RENESAS_RZN1WDT=m +CONFIG_RENESAS_USB_DMAC=m +CONFIG_RENESAS_WDT=m +CONFIG_RESET_A10SR=m +CONFIG_RESET_ATTACK_MITIGATION=y +CONFIG_RESET_BERLIN=y +CONFIG_RESET_BRCMSTB=m +CONFIG_RESET_BRCMSTB_RESCAL=y +CONFIG_RESET_HISI=y +CONFIG_RESET_IMX7=y +CONFIG_RESET_MCHP_SPARX5=y +CONFIG_RESET_MESON=y +CONFIG_RESET_MESON_AUDIO_ARB=m +CONFIG_RESET_NPCM=y +CONFIG_RESET_QCOM_AOSS=y +CONFIG_RESET_QCOM_PDC=m +CONFIG_RESET_RASPBERRYPI=m +CONFIG_RESET_RZG2L_USBPHY_CTRL=m +CONFIG_RESET_SCMI=m +CONFIG_RESET_SIMPLE=y +CONFIG_RESET_SOCFPGA=y +CONFIG_RESET_STARFIVE_JH7100=y +CONFIG_RESET_SUNXI=y +CONFIG_RESET_TEGRA_BPMP=y +CONFIG_RESET_TI_SCI=m +CONFIG_RESET_TI_SYSCON=m +# CONFIG_RESET_UNIPHIER is not set +# CONFIG_RESET_UNIPHIER_GLUE is not set +CONFIG_RETHOOK=y +CONFIG_RETHUNK=y +CONFIG_RETPOLINE=y +CONFIG_RETU_WATCHDOG=m +CONFIG_RFD77402=m +CONFIG_RFD_FTL=m +CONFIG_RFKILL_GPIO=m +CONFIG_RFKILL_INPUT=y +CONFIG_RFKILL_LEDS=y +CONFIG_RFS_ACCEL=y +CONFIG_RING_BUFFER=y +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set +CONFIG_RIONET=m +CONFIG_RIONET_RX_SIZE=128 +CONFIG_RIONET_TX_SIZE=128 +CONFIG_RISCV=y +CONFIG_RISCV_ALTERNATIVE=y +# CONFIG_RISCV_BOOT_SPINWAIT is not set +CONFIG_RISCV_INTC=y +CONFIG_RISCV_ISA_C=y +# CONFIG_RISCV_ISA_SVPBMT is not set +CONFIG_RISCV_PMU=y +CONFIG_RISCV_PMU_LEGACY=y +CONFIG_RISCV_PMU_SBI=y +CONFIG_RISCV_SBI=y +CONFIG_RISCV_SBI_CPUIDLE=y +# CONFIG_RISCV_SBI_V01 is not set +CONFIG_RISCV_TIMER=y +CONFIG_RMI4_2D_SENSOR=y +CONFIG_RMI4_F03=y +CONFIG_RMI4_F03_SERIO=m +CONFIG_RMI4_F11=y +CONFIG_RMI4_F12=y +CONFIG_RMI4_F30=y +CONFIG_RMI4_F34=y +CONFIG_RMI4_F3A=y +CONFIG_RMI4_F54=y +CONFIG_RMI4_F55=y +CONFIG_RMI4_I2C=m +CONFIG_RMI4_SMB=m +CONFIG_RMI4_SPI=m +CONFIG_RMNET=m +CONFIG_RN5T618_ADC=m +CONFIG_RN5T618_POWER=m +CONFIG_RN5T618_WATCHDOG=m +CONFIG_ROCKCHIP_ANALOGIX_DP=y +CONFIG_ROCKCHIP_CDN_DP=y +CONFIG_ROCKCHIP_DTPM=m +CONFIG_ROCKCHIP_DW_HDMI=y +CONFIG_ROCKCHIP_DW_MIPI_DSI=y +CONFIG_ROCKCHIP_EFUSE=m +CONFIG_ROCKCHIP_GRF=y +CONFIG_ROCKCHIP_INNO_HDMI=y +CONFIG_ROCKCHIP_IODOMAIN=m +CONFIG_ROCKCHIP_IOMMU=y +CONFIG_ROCKCHIP_LVDS=y +CONFIG_ROCKCHIP_MBOX=y +CONFIG_ROCKCHIP_OTP=m +CONFIG_ROCKCHIP_PHY=m +CONFIG_ROCKCHIP_PM_DOMAINS=y +CONFIG_ROCKCHIP_RGB=y +CONFIG_ROCKCHIP_RK3066_HDMI=y +CONFIG_ROCKCHIP_SARADC=m +CONFIG_ROCKCHIP_THERMAL=m +CONFIG_ROCKCHIP_TIMER=y +CONFIG_ROCKCHIP_VOP=y +CONFIG_ROCKCHIP_VOP2=y +CONFIG_ROCKER=m +CONFIG_RODATA_FULL_DEFAULT_ENABLED=y +CONFIG_ROMFS_BACKED_BY_BLOCK=y +# CONFIG_ROMFS_BACKED_BY_BOTH is not set +# CONFIG_ROMFS_BACKED_BY_MTD is not set +CONFIG_ROMFS_ON_BLOCK=y +CONFIG_ROSE=m +CONFIG_RPCSEC_GSS_KRB5=m +CONFIG_RPMSG=m +CONFIG_RPMSG_CHAR=m +CONFIG_RPMSG_CTRL=m +CONFIG_RPMSG_MTK_SCP=m +CONFIG_RPMSG_NS=m +CONFIG_RPMSG_QCOM_GLINK=m +CONFIG_RPMSG_QCOM_GLINK_RPM=m +CONFIG_RPMSG_QCOM_GLINK_SMEM=m +CONFIG_RPMSG_QCOM_SMD=m +CONFIG_RPMSG_TTY=m +CONFIG_RPMSG_WWAN_CTRL=m +CONFIG_RPR0521=m +CONFIG_RPS=y +CONFIG_RSEQ=y +CONFIG_RSI_91X=m +CONFIG_RSI_COEX=y +# CONFIG_RSI_DEBUGFS is not set +CONFIG_RSI_SDIO=m +CONFIG_RSI_USB=m +CONFIG_RST_RCAR=y +CONFIG_RT2400PCI=m +CONFIG_RT2500PCI=m +CONFIG_RT2500USB=m +CONFIG_RT2800PCI=m +CONFIG_RT2800PCI_RT3290=y +CONFIG_RT2800PCI_RT33XX=y +CONFIG_RT2800PCI_RT35XX=y +CONFIG_RT2800PCI_RT53XX=y +CONFIG_RT2800USB=m +CONFIG_RT2800USB_RT33XX=y +CONFIG_RT2800USB_RT3573=y +CONFIG_RT2800USB_RT35XX=y +CONFIG_RT2800USB_RT53XX=y +CONFIG_RT2800USB_RT55XX=y +CONFIG_RT2800USB_UNKNOWN=y +CONFIG_RT2800_LIB=m +CONFIG_RT2800_LIB_MMIO=m +CONFIG_RT2X00=m +# CONFIG_RT2X00_DEBUG is not set +CONFIG_RT2X00_LIB=m +CONFIG_RT2X00_LIB_CRYPTO=y +# CONFIG_RT2X00_LIB_DEBUGFS is not set +CONFIG_RT2X00_LIB_FIRMWARE=y +CONFIG_RT2X00_LIB_LEDS=y +CONFIG_RT2X00_LIB_MMIO=m +CONFIG_RT2X00_LIB_PCI=m +CONFIG_RT2X00_LIB_USB=m +CONFIG_RT61PCI=m +CONFIG_RT73USB=m +CONFIG_RTAS_ERROR_LOGGING=y +CONFIG_RTAS_FLASH=m +CONFIG_RTAS_PROC=y +CONFIG_RTC_CLASS=y +# CONFIG_RTC_DEBUG is not set +CONFIG_RTC_DRV_88PM80X=m +CONFIG_RTC_DRV_88PM860X=m +CONFIG_RTC_DRV_ABB5ZES3=m +CONFIG_RTC_DRV_ABEOZ9=m +CONFIG_RTC_DRV_ABX80X=m +CONFIG_RTC_DRV_ARMADA38X=m +CONFIG_RTC_DRV_AS3722=m +CONFIG_RTC_DRV_ASPEED=m +CONFIG_RTC_DRV_BD70528=m +CONFIG_RTC_DRV_BQ32K=m +CONFIG_RTC_DRV_BQ4802=m +CONFIG_RTC_DRV_BRCMSTB=m +CONFIG_RTC_DRV_CADENCE=m +CONFIG_RTC_DRV_CPCAP=m +CONFIG_RTC_DRV_CROS_EC=m +CONFIG_RTC_DRV_DA9052=m +CONFIG_RTC_DRV_DA9055=m +CONFIG_RTC_DRV_DA9063=m +CONFIG_RTC_DRV_DS1286=m +CONFIG_RTC_DRV_DS1302=m +CONFIG_RTC_DRV_DS1305=m +CONFIG_RTC_DRV_DS1307=m +CONFIG_RTC_DRV_DS1307_CENTURY=y +CONFIG_RTC_DRV_DS1343=m +CONFIG_RTC_DRV_DS1347=m +CONFIG_RTC_DRV_DS1374=m +CONFIG_RTC_DRV_DS1374_WDT=y +CONFIG_RTC_DRV_DS1390=m +CONFIG_RTC_DRV_DS1511=m +CONFIG_RTC_DRV_DS1553=m +CONFIG_RTC_DRV_DS1672=m +CONFIG_RTC_DRV_DS1685=y +CONFIG_RTC_DRV_DS1685_FAMILY=m +# CONFIG_RTC_DRV_DS1689 is not set +# CONFIG_RTC_DRV_DS17285 is not set +CONFIG_RTC_DRV_DS1742=m +# CONFIG_RTC_DRV_DS17485 is not set +# CONFIG_RTC_DRV_DS17885 is not set +CONFIG_RTC_DRV_DS2404=m +CONFIG_RTC_DRV_DS3232=m +CONFIG_RTC_DRV_DS3232_HWMON=y +CONFIG_RTC_DRV_EM3027=m +CONFIG_RTC_DRV_FM3130=m +CONFIG_RTC_DRV_FSL_FTM_ALARM=m +CONFIG_RTC_DRV_FTRTC010=m +CONFIG_RTC_DRV_GENERIC=y +CONFIG_RTC_DRV_HID_SENSOR_TIME=m +CONFIG_RTC_DRV_HYM8563=m +CONFIG_RTC_DRV_IMXDI=m +CONFIG_RTC_DRV_IMX_SC=m +CONFIG_RTC_DRV_ISL12022=m +CONFIG_RTC_DRV_ISL12026=m +CONFIG_RTC_DRV_ISL1208=m +CONFIG_RTC_DRV_LP8788=m +CONFIG_RTC_DRV_M41T80=m +CONFIG_RTC_DRV_M41T80_WDT=y +CONFIG_RTC_DRV_M41T93=m +CONFIG_RTC_DRV_M41T94=m +CONFIG_RTC_DRV_M48T35=m +CONFIG_RTC_DRV_M48T59=m +CONFIG_RTC_DRV_M48T86=m +CONFIG_RTC_DRV_MAX6900=m +CONFIG_RTC_DRV_MAX6902=m +CONFIG_RTC_DRV_MAX6916=m +CONFIG_RTC_DRV_MAX77686=m +CONFIG_RTC_DRV_MAX8907=m +CONFIG_RTC_DRV_MAX8925=m +CONFIG_RTC_DRV_MAX8997=m +CONFIG_RTC_DRV_MAX8998=m +CONFIG_RTC_DRV_MC13XXX=m +CONFIG_RTC_DRV_MCP795=m +CONFIG_RTC_DRV_MESON=m +CONFIG_RTC_DRV_MESON_VRTC=m +CONFIG_RTC_DRV_MSC313=m +CONFIG_RTC_DRV_MSM6242=m +CONFIG_RTC_DRV_MT2712=m +CONFIG_RTC_DRV_MT6397=m +CONFIG_RTC_DRV_MT7622=m +CONFIG_RTC_DRV_MV=y +CONFIG_RTC_DRV_MXC=m +CONFIG_RTC_DRV_MXC_V2=m +CONFIG_RTC_DRV_NTXEC=m +CONFIG_RTC_DRV_OMAP=y +CONFIG_RTC_DRV_OPAL=y +CONFIG_RTC_DRV_OPTEE=m +CONFIG_RTC_DRV_PALMAS=m +CONFIG_RTC_DRV_PCAP=m +CONFIG_RTC_DRV_PCF2123=m +CONFIG_RTC_DRV_PCF2127=m +CONFIG_RTC_DRV_PCF50633=m +CONFIG_RTC_DRV_PCF85063=m +CONFIG_RTC_DRV_PCF85363=m +CONFIG_RTC_DRV_PCF8563=m +CONFIG_RTC_DRV_PCF8583=m +CONFIG_RTC_DRV_PL030=m +CONFIG_RTC_DRV_PM8XXX=m +CONFIG_RTC_DRV_R7301=m +CONFIG_RTC_DRV_R9701=m +CONFIG_RTC_DRV_RC5T583=m +CONFIG_RTC_DRV_RC5T619=m +CONFIG_RTC_DRV_RK808=m +CONFIG_RTC_DRV_RP5C01=m +CONFIG_RTC_DRV_RS5C348=m +CONFIG_RTC_DRV_RS5C372=m +CONFIG_RTC_DRV_RTD119X=y +CONFIG_RTC_DRV_RV3028=m +CONFIG_RTC_DRV_RV3029C2=m +CONFIG_RTC_DRV_RV3029_HWMON=y +CONFIG_RTC_DRV_RV3032=m +CONFIG_RTC_DRV_RV8803=m +CONFIG_RTC_DRV_RX4581=m +CONFIG_RTC_DRV_RX6110=m +CONFIG_RTC_DRV_RX8010=m +CONFIG_RTC_DRV_RX8025=m +CONFIG_RTC_DRV_RX8581=m +CONFIG_RTC_DRV_RZN1=m +CONFIG_RTC_DRV_S35390A=m +# CONFIG_RTC_DRV_S3C is not set +CONFIG_RTC_DRV_S5M=m +CONFIG_RTC_DRV_SC27XX=m +CONFIG_RTC_DRV_SD3078=m +CONFIG_RTC_DRV_SH=m +CONFIG_RTC_DRV_SNVS=m +CONFIG_RTC_DRV_STK17TA8=m +CONFIG_RTC_DRV_SUN6I=y +CONFIG_RTC_DRV_TEGRA=m +# CONFIG_RTC_DRV_TEST is not set +CONFIG_RTC_DRV_TPS6586X=m +CONFIG_RTC_DRV_TPS65910=m +CONFIG_RTC_DRV_V3020=m +CONFIG_RTC_DRV_WILCO_EC=m +CONFIG_RTC_DRV_WM831X=m +CONFIG_RTC_DRV_WM8350=m +CONFIG_RTC_DRV_X1205=m +CONFIG_RTC_DRV_XGENE=y +CONFIG_RTC_DRV_ZYNQMP=m +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_I2C_AND_SPI=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_LIB=y +CONFIG_RTC_MC146818_LIB=y +CONFIG_RTC_NVMEM=y +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +CONFIG_RTD119X_WATCHDOG=y +CONFIG_RTL8180=m +CONFIG_RTL8187=m +CONFIG_RTL8187_LEDS=y +CONFIG_RTL8188EE=m +CONFIG_RTL8192CE=m +CONFIG_RTL8192CU=m +CONFIG_RTL8192C_COMMON=m +CONFIG_RTL8192DE=m +CONFIG_RTL8192E=m +CONFIG_RTL8192EE=m +CONFIG_RTL8192SE=m +CONFIG_RTL8192U=m +CONFIG_RTL8723AE=m +CONFIG_RTL8723BE=m +CONFIG_RTL8723BS=m +CONFIG_RTL8723_COMMON=m +CONFIG_RTL8821AE=m +CONFIG_RTL8XXXU=m +CONFIG_RTL8XXXU_UNTESTED=y +CONFIG_RTLBTCOEXIST=m +CONFIG_RTLLIB=m +CONFIG_RTLLIB_CRYPTO_CCMP=m +CONFIG_RTLLIB_CRYPTO_TKIP=m +CONFIG_RTLLIB_CRYPTO_WEP=m +CONFIG_RTLWIFI=m +# CONFIG_RTLWIFI_DEBUG is not set +CONFIG_RTLWIFI_PCI=m +CONFIG_RTLWIFI_USB=m +CONFIG_RTL_CARDS=m +CONFIG_RTS5208=m +CONFIG_RTW88=m +CONFIG_RTW88_8723D=m +CONFIG_RTW88_8723DE=m +CONFIG_RTW88_8821C=m +CONFIG_RTW88_8821CE=m +CONFIG_RTW88_8822B=m +CONFIG_RTW88_8822BE=m +CONFIG_RTW88_8822C=m +CONFIG_RTW88_8822CE=m +CONFIG_RTW88_CORE=m +CONFIG_RTW88_DEBUG=y +CONFIG_RTW88_DEBUGFS=y +CONFIG_RTW88_PCI=m +CONFIG_RTW89=m +CONFIG_RTW89_8852A=m +CONFIG_RTW89_8852AE=m +CONFIG_RTW89_8852C=m +CONFIG_RTW89_8852CE=m +CONFIG_RTW89_CORE=m +CONFIG_RTW89_DEBUG=y +CONFIG_RTW89_DEBUGFS=y +CONFIG_RTW89_DEBUGMSG=y +CONFIG_RTW89_PCI=m +# CONFIG_RT_GROUP_SCHED is not set +CONFIG_RT_MUTEXES=y +CONFIG_RUNTIME_TESTING_MENU=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_RXKAD=y +CONFIG_RZG2L_ADC=m +CONFIG_RZG2L_THERMAL=m +CONFIG_RZN1_DMAMUX=m +CONFIG_RZ_DMAC=m +CONFIG_S390=y +CONFIG_S390_AP_IOMMU=y +CONFIG_S390_CCW_IOMMU=y +CONFIG_S390_GUEST=y +CONFIG_S390_HYPFS_FS=y +CONFIG_S390_IOMMU=y +CONFIG_S390_PRNG=m +CONFIG_S390_TAPE=m +CONFIG_S390_TAPE_34XX=m +CONFIG_S390_TAPE_3590=m +# CONFIG_S390_UV_UAPI is not set +CONFIG_S390_VMUR=m +# CONFIG_S3C2410_WATCHDOG is not set +CONFIG_S5P_DEV_MFC=y +CONFIG_SAMPLES=y +# CONFIG_SAMPLE_AUXDISPLAY is not set +# CONFIG_SAMPLE_CONFIGFS is not set +# CONFIG_SAMPLE_FPROBE is not set +# CONFIG_SAMPLE_FTRACE_DIRECT_MULTI is not set +# CONFIG_SAMPLE_HW_BREAKPOINT is not set +# CONFIG_SAMPLE_KDB is not set +# CONFIG_SAMPLE_KFIFO is not set +# CONFIG_SAMPLE_KOBJECT is not set +# CONFIG_SAMPLE_KPROBES is not set +# CONFIG_SAMPLE_LIVEPATCH is not set +# CONFIG_SAMPLE_QMI_CLIENT is not set +# CONFIG_SAMPLE_RPMSG_CLIENT is not set +CONFIG_SAMPLE_TRACE_ARRAY=m +# CONFIG_SAMPLE_TRACE_CUSTOM_EVENTS is not set +# CONFIG_SAMPLE_TRACE_EVENTS is not set +CONFIG_SAMPLE_TRACE_PRINTK=m +# CONFIG_SAMPLE_VFIO_MDEV_MBOCHS is not set +# CONFIG_SAMPLE_VFIO_MDEV_MDPY is not set +# CONFIG_SAMPLE_VFIO_MDEV_MDPY_FB is not set +# CONFIG_SAMPLE_VFIO_MDEV_MTTY is not set +# CONFIG_SAMPLE_WATCHDOG is not set +CONFIG_SAMSUNG_LAPTOP=m +CONFIG_SAMSUNG_MC=y +CONFIG_SAMSUNG_Q10=m +CONFIG_SATA_ACARD_AHCI=m +CONFIG_SATA_AHCI=m +CONFIG_SATA_AHCI_SEATTLE=m +CONFIG_SATA_DWC=m +CONFIG_SATA_DWC_OLD_DMA=y +CONFIG_SATA_HIGHBANK=y +CONFIG_SATA_HOST=y +CONFIG_SATA_INIC162X=m +CONFIG_SATA_MOBILE_LPM_POLICY=3 +CONFIG_SATA_MV=m +CONFIG_SATA_NV=m +CONFIG_SATA_PMP=y +CONFIG_SATA_PROMISE=m +CONFIG_SATA_QSTOR=m +CONFIG_SATA_RCAR=m +CONFIG_SATA_SIL=m +CONFIG_SATA_SIL24=m +CONFIG_SATA_SIS=m +CONFIG_SATA_SVW=m +CONFIG_SATA_SX4=m +CONFIG_SATA_ULI=m +CONFIG_SATA_VIA=m +CONFIG_SATA_VITESSE=m +CONFIG_SATA_ZPODD=y +CONFIG_SBC_EPX_C3_WATCHDOG=m +CONFIG_SBC_FITPC2_WATCHDOG=m +CONFIG_SBITMAP=y +CONFIG_SBP_TARGET=m +CONFIG_SC1200_WDT=m +CONFIG_SC27XX_ADC=m +CONFIG_SC27XX_EFUSE=m +CONFIG_SC92031=m +CONFIG_SCA3000=m +CONFIG_SCA3300=m +CONFIG_SCD30_CORE=m +CONFIG_SCD30_I2C=m +CONFIG_SCD30_SERIAL=m +CONFIG_SCD4X=m +# CONFIG_SCF_TORTURE_TEST is not set +CONFIG_SCHEDSTATS=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_SCHED_BOOK=y +CONFIG_SCHED_CLUSTER=y +CONFIG_SCHED_CORE=y +CONFIG_SCHED_DEBUG=y +CONFIG_SCHED_DRAWER=y +CONFIG_SCHED_HRTICK=y +CONFIG_SCHED_INFO=y +CONFIG_SCHED_MC=y +CONFIG_SCHED_MC_PRIO=y +CONFIG_SCHED_OMIT_FRAME_POINTER=y +CONFIG_SCHED_STACK_END_CHECK=y +CONFIG_SCHED_THERMAL_PRESSURE=y +CONFIG_SCHED_TOPOLOGY=y +CONFIG_SCHED_TRACER=y +CONFIG_SCLP_CONSOLE=y +CONFIG_SCLP_OFB=y +CONFIG_SCLP_TTY=y +CONFIG_SCLP_VT220_CONSOLE=y +CONFIG_SCLP_VT220_TTY=y +CONFIG_SCM_BLOCK=m +CONFIG_SCM_BUS=y +CONFIG_SCOM_DEBUGFS=y +CONFIG_SCR24X=m +CONFIG_SCSI=y +CONFIG_SCSI_AHA1740=m +CONFIG_SCSI_BUSLOGIC=m +CONFIG_SCSI_COMMON=y +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_DEBUG=m +CONFIG_SCSI_DH=y +CONFIG_SCSI_DH_ALUA=m +CONFIG_SCSI_DH_EMC=m +CONFIG_SCSI_DH_HP_SW=m +CONFIG_SCSI_DH_RDAC=m +CONFIG_SCSI_DMA=y +CONFIG_SCSI_DPT_I2O=m +CONFIG_SCSI_ENCLOSURE=m +CONFIG_SCSI_FC_ATTRS=m +CONFIG_SCSI_FDOMAIN=m +CONFIG_SCSI_FLASHPOINT=y +CONFIG_SCSI_HISI_SAS=m +# CONFIG_SCSI_HISI_SAS_DEBUGFS_DEFAULT_ENABLE is not set +CONFIG_SCSI_HISI_SAS_PCI=m +CONFIG_SCSI_IBMVFC=m +CONFIG_SCSI_IBMVFC_TRACE=y +CONFIG_SCSI_IBMVSCSI=m +CONFIG_SCSI_IBMVSCSIS=m +CONFIG_SCSI_IMM=m +CONFIG_SCSI_IPR=m +CONFIG_SCSI_IPR_DUMP=y +CONFIG_SCSI_IPR_TRACE=y +CONFIG_SCSI_ISCI=m +CONFIG_SCSI_ISCSI_ATTRS=m +# CONFIG_SCSI_IZIP_EPP16 is not set +# CONFIG_SCSI_IZIP_SLOW_CTR is not set +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_LOWLEVEL=y +CONFIG_SCSI_LOWLEVEL_PCMCIA=y +CONFIG_SCSI_LPFC=m +# CONFIG_SCSI_LPFC_DEBUG_FS is not set +CONFIG_SCSI_MOD=y +CONFIG_SCSI_MPT2SAS=m +CONFIG_SCSI_MPT2SAS_MAX_SGE=128 +CONFIG_SCSI_MPT3SAS=m +CONFIG_SCSI_MPT3SAS_MAX_SGE=128 +# CONFIG_SCSI_MVSAS_DEBUG is not set +# CONFIG_SCSI_MVSAS_TASKLET is not set +CONFIG_SCSI_MYRS=m +CONFIG_SCSI_NETLINK=y +CONFIG_SCSI_NSP32=m +CONFIG_SCSI_PPA=m +CONFIG_SCSI_PROC_FS=y +CONFIG_SCSI_SAS_ATA=y +CONFIG_SCSI_SAS_ATTRS=m +CONFIG_SCSI_SAS_HOST_SMP=y +CONFIG_SCSI_SAS_LIBSAS=m +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SIM710=m +CONFIG_SCSI_SMARTPQI=m +# CONFIG_SCSI_SNIC_DEBUG_FS is not set +CONFIG_SCSI_SPI_ATTRS=m +CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 +CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 +CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 +CONFIG_SCSI_SYM53C8XX_MMIO=y +CONFIG_SCSI_UFSHCD_PCI=m +CONFIG_SCSI_UFSHCD_PLATFORM=m +CONFIG_SCSI_UFS_BSG=y +CONFIG_SCSI_UFS_CDNS_PLATFORM=m +CONFIG_SCSI_UFS_CRYPTO=y +CONFIG_SCSI_UFS_DWC_TC_PCI=m +CONFIG_SCSI_UFS_DWC_TC_PLATFORM=m +# CONFIG_SCSI_UFS_EXYNOS is not set +CONFIG_SCSI_UFS_HISI=m +CONFIG_SCSI_UFS_HPB=y +# CONFIG_SCSI_UFS_HWMON is not set +CONFIG_SCSI_UFS_MEDIATEK=m +CONFIG_SCSI_UFS_QCOM=m +CONFIG_SCSI_UFS_TI_J721E=m +CONFIG_SCSI_VIRTIO=m +CONFIG_SCTP_COOKIE_HMAC_MD5=y +CONFIG_SCTP_COOKIE_HMAC_SHA1=y +# CONFIG_SCTP_DBG_OBJCNT is not set +# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set +# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set +CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y +CONFIG_SC_CAMCC_7180=m +CONFIG_SC_CAMCC_7280=m +CONFIG_SC_DISPCC_7180=m +CONFIG_SC_DISPCC_7280=m +CONFIG_SC_GCC_7180=m +CONFIG_SC_GCC_7280=m +CONFIG_SC_GCC_8180X=m +CONFIG_SC_GCC_8280XP=m +CONFIG_SC_GPUCC_7180=m +CONFIG_SC_GPUCC_7280=m +CONFIG_SC_LPASSCC_7280=m +CONFIG_SC_LPASS_CORECC_7180=m +CONFIG_SC_LPASS_CORECC_7280=m +CONFIG_SC_MSS_7180=m +CONFIG_SC_VIDEOCC_7180=m +CONFIG_SC_VIDEOCC_7280=m +CONFIG_SDIO_UART=m +# CONFIG_SDMA_VERBOSITY is not set +CONFIG_SDM_CAMCC_845=m +CONFIG_SDM_DISPCC_845=m +CONFIG_SDM_GCC_660=m +CONFIG_SDM_GCC_845=m +CONFIG_SDM_GPUCC_660=m +CONFIG_SDM_GPUCC_845=m +CONFIG_SDM_LPASSCC_845=m +CONFIG_SDM_MMCC_660=m +CONFIG_SDM_VIDEOCC_845=m +CONFIG_SDR_MAX2175=m +CONFIG_SDR_PLATFORM_DRIVERS=y +CONFIG_SDX_GCC_55=m +CONFIG_SDX_GCC_65=m +CONFIG_SD_ADC_MODULATOR=m +CONFIG_SECCOMP=y +# CONFIG_SECCOMP_CACHE_DEBUG is not set +CONFIG_SECCOMP_FILTER=y +CONFIG_SECONDARY_TRUSTED_KEYRING=y +CONFIG_SECRETMEM=y +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +CONFIG_SECURITY_APPARMOR=y +# CONFIG_SECURITY_APPARMOR_DEBUG is not set +CONFIG_SECURITY_APPARMOR_EXPORT_BINARY=y +CONFIG_SECURITY_APPARMOR_HASH=y +CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y +CONFIG_SECURITY_APPARMOR_INTROSPECT_POLICY=y +CONFIG_SECURITY_APPARMOR_PARANOID_LOAD=y +# CONFIG_SECURITY_APPARMOR_RESTRICT_USERNS is not set +CONFIG_SECURITY_DMESG_RESTRICT=y +CONFIG_SECURITY_INFINIBAND=y +CONFIG_SECURITY_LANDLOCK=y +# CONFIG_SECURITY_LOADPIN is not set +CONFIG_SECURITY_LOCKDOWN_LSM=y +CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y +CONFIG_SECURITY_NETWORK=y +CONFIG_SECURITY_NETWORK_XFRM=y +CONFIG_SECURITY_PATH=y +CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y +CONFIG_SECURITY_SAFESETID=y +CONFIG_SECURITY_SELINUX=y +CONFIG_SECURITY_SELINUX_AVC_STATS=y +CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 +CONFIG_SECURITY_SELINUX_DEVELOP=y +# CONFIG_SECURITY_SELINUX_DISABLE is not set +CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 +CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 +CONFIG_SECURITY_SMACK=y +CONFIG_SECURITY_SMACK_APPEND_SIGNALS=y +# CONFIG_SECURITY_SMACK_BRINGUP is not set +CONFIG_SECURITY_SMACK_NETFILTER=y +CONFIG_SECURITY_TOMOYO=y +CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init" +# CONFIG_SECURITY_TOMOYO_INSECURE_BUILTIN_SETTING is not set +CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 +CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 +# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set +CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init" +CONFIG_SECURITY_YAMA=y +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_SENSEAIR_SUNRISE_CO2=m +CONFIG_SENSIRION_SGP30=m +CONFIG_SENSIRION_SGP40=m +CONFIG_SENSORS_AAEON=m +CONFIG_SENSORS_ABITUGURU=m +CONFIG_SENSORS_ABITUGURU3=m +CONFIG_SENSORS_ACPI_POWER=m +CONFIG_SENSORS_AD7314=m +CONFIG_SENSORS_AD7414=m +CONFIG_SENSORS_AD7418=m +CONFIG_SENSORS_ADC128D818=m +CONFIG_SENSORS_ADCXX=m +CONFIG_SENSORS_ADM1021=m +CONFIG_SENSORS_ADM1025=m +CONFIG_SENSORS_ADM1026=m +CONFIG_SENSORS_ADM1029=m +CONFIG_SENSORS_ADM1031=m +CONFIG_SENSORS_ADM1177=m +CONFIG_SENSORS_ADM1266=m +CONFIG_SENSORS_ADM1275=m +CONFIG_SENSORS_ADM9240=m +CONFIG_SENSORS_ADS7828=m +CONFIG_SENSORS_ADS7871=m +CONFIG_SENSORS_ADT7310=m +CONFIG_SENSORS_ADT7410=m +CONFIG_SENSORS_ADT7411=m +CONFIG_SENSORS_ADT7462=m +CONFIG_SENSORS_ADT7470=m +CONFIG_SENSORS_ADT7475=m +CONFIG_SENSORS_ADT7X10=m +CONFIG_SENSORS_AHT10=m +CONFIG_SENSORS_AMC6821=m +CONFIG_SENSORS_APPLESMC=m +CONFIG_SENSORS_AQUACOMPUTER_D5NEXT=m +CONFIG_SENSORS_ARM_SCMI=m +CONFIG_SENSORS_ARM_SCPI=m +CONFIG_SENSORS_AS370=m +CONFIG_SENSORS_ASB100=m +CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ASPEED=m +CONFIG_SENSORS_ASUS_EC=m +CONFIG_SENSORS_ASUS_WMI=m +CONFIG_SENSORS_ATK0110=m +CONFIG_SENSORS_ATXP1=m +CONFIG_SENSORS_AXI_FAN_CONTROL=m +CONFIG_SENSORS_BEL_PFE=m +CONFIG_SENSORS_BPA_RS600=m +CONFIG_SENSORS_CORETEMP=m +CONFIG_SENSORS_CORSAIR_CPRO=m +CONFIG_SENSORS_CORSAIR_PSU=m +CONFIG_SENSORS_DA9052_ADC=m +CONFIG_SENSORS_DA9055=m +CONFIG_SENSORS_DELL_SMM=m +CONFIG_SENSORS_DELTA_AHE50DC_FAN=m +CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_DPS920AB=m +CONFIG_SENSORS_DRIVETEMP=m +CONFIG_SENSORS_DS1621=m +CONFIG_SENSORS_DS620=m +CONFIG_SENSORS_EMC1403=m +CONFIG_SENSORS_EMC2103=m +CONFIG_SENSORS_EMC6W201=m +CONFIG_SENSORS_F71805F=m +CONFIG_SENSORS_F71882FG=m +CONFIG_SENSORS_F75375S=m +CONFIG_SENSORS_FAM15H_POWER=m +CONFIG_SENSORS_FSCHMD=m +CONFIG_SENSORS_FSP_3Y=m +CONFIG_SENSORS_FTSTEUTATES=m +CONFIG_SENSORS_G760A=m +CONFIG_SENSORS_G762=m +CONFIG_SENSORS_GL518SM=m +CONFIG_SENSORS_GL520SM=m +CONFIG_SENSORS_GPIO_FAN=m +CONFIG_SENSORS_GSC=m +CONFIG_SENSORS_HDAPS=m +CONFIG_SENSORS_HIH6130=m +CONFIG_SENSORS_HMC5843=m +CONFIG_SENSORS_HMC5843_I2C=m +CONFIG_SENSORS_HMC5843_SPI=m +CONFIG_SENSORS_I5500=m +CONFIG_SENSORS_I5K_AMB=m +CONFIG_SENSORS_IBMAEM=m +CONFIG_SENSORS_IBMPEX=m +CONFIG_SENSORS_IBMPOWERNV=m +CONFIG_SENSORS_IBM_CFFPS=m +CONFIG_SENSORS_IIO_HWMON=m +CONFIG_SENSORS_INA209=m +CONFIG_SENSORS_INA238=m +CONFIG_SENSORS_INA2XX=m +CONFIG_SENSORS_INA3221=m +CONFIG_SENSORS_INSPUR_IPSPS=m +CONFIG_SENSORS_INTEL_M10_BMC_HWMON=m +CONFIG_SENSORS_IR35221=m +CONFIG_SENSORS_IR36021=m +CONFIG_SENSORS_IR38064=m +CONFIG_SENSORS_IR38064_REGULATOR=y +CONFIG_SENSORS_IRPS5401=m +CONFIG_SENSORS_ISL29018=m +CONFIG_SENSORS_ISL29028=m +CONFIG_SENSORS_ISL68137=m +CONFIG_SENSORS_IT87=m +CONFIG_SENSORS_JC42=m +CONFIG_SENSORS_K10TEMP=m +CONFIG_SENSORS_K8TEMP=m +CONFIG_SENSORS_LINEAGE=m +CONFIG_SENSORS_LIS3LV02D=m +CONFIG_SENSORS_LIS3_SPI=m +CONFIG_SENSORS_LM25066=m +CONFIG_SENSORS_LM25066_REGULATOR=y +CONFIG_SENSORS_LM3533=m +CONFIG_SENSORS_LM63=m +CONFIG_SENSORS_LM70=m +CONFIG_SENSORS_LM73=m +CONFIG_SENSORS_LM75=m +CONFIG_SENSORS_LM77=m +CONFIG_SENSORS_LM78=m +CONFIG_SENSORS_LM80=m +CONFIG_SENSORS_LM83=m +CONFIG_SENSORS_LM85=m +CONFIG_SENSORS_LM87=m +CONFIG_SENSORS_LM90=m +CONFIG_SENSORS_LM92=m +CONFIG_SENSORS_LM93=m +CONFIG_SENSORS_LM95234=m +CONFIG_SENSORS_LM95241=m +CONFIG_SENSORS_LM95245=m +CONFIG_SENSORS_LOCHNAGAR=m +CONFIG_SENSORS_LTC2945=m +CONFIG_SENSORS_LTC2947=m +CONFIG_SENSORS_LTC2947_I2C=m +CONFIG_SENSORS_LTC2947_SPI=m +CONFIG_SENSORS_LTC2978=m +CONFIG_SENSORS_LTC2978_REGULATOR=y +CONFIG_SENSORS_LTC2990=m +CONFIG_SENSORS_LTC2992=m +CONFIG_SENSORS_LTC3815=m +CONFIG_SENSORS_LTC4151=m +CONFIG_SENSORS_LTC4215=m +CONFIG_SENSORS_LTC4222=m +CONFIG_SENSORS_LTC4245=m +CONFIG_SENSORS_LTC4260=m +CONFIG_SENSORS_LTC4261=m +CONFIG_SENSORS_MAX1111=m +CONFIG_SENSORS_MAX127=m +CONFIG_SENSORS_MAX15301=m +CONFIG_SENSORS_MAX16064=m +CONFIG_SENSORS_MAX16065=m +CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_MAX16601=m +CONFIG_SENSORS_MAX1668=m +CONFIG_SENSORS_MAX197=m +CONFIG_SENSORS_MAX20730=m +CONFIG_SENSORS_MAX20751=m +CONFIG_SENSORS_MAX31722=m +CONFIG_SENSORS_MAX31730=m +CONFIG_SENSORS_MAX31785=m +CONFIG_SENSORS_MAX31790=m +CONFIG_SENSORS_MAX34440=m +CONFIG_SENSORS_MAX6620=m +CONFIG_SENSORS_MAX6621=m +CONFIG_SENSORS_MAX6639=m +CONFIG_SENSORS_MAX6642=m +CONFIG_SENSORS_MAX6650=m +CONFIG_SENSORS_MAX6697=m +CONFIG_SENSORS_MAX8688=m +CONFIG_SENSORS_MC13783_ADC=m +CONFIG_SENSORS_MCP3021=m +CONFIG_SENSORS_MENF21BMC_HWMON=m +CONFIG_SENSORS_MLXREG_FAN=m +CONFIG_SENSORS_MP2888=m +CONFIG_SENSORS_MP2975=m +CONFIG_SENSORS_MP5023=m +CONFIG_SENSORS_MR75203=m +CONFIG_SENSORS_NCT6683=m +CONFIG_SENSORS_NCT6775=m +CONFIG_SENSORS_NCT6775_CORE=m +CONFIG_SENSORS_NCT6775_I2C=m +CONFIG_SENSORS_NCT7802=m +CONFIG_SENSORS_NCT7904=m +CONFIG_SENSORS_NPCM7XX=m +CONFIG_SENSORS_NTC_THERMISTOR=m +CONFIG_SENSORS_NZXT_KRAKEN2=m +CONFIG_SENSORS_NZXT_SMART2=m +# CONFIG_SENSORS_OCC_P8_I2C is not set +# CONFIG_SENSORS_OCC_P9_SBE is not set +CONFIG_SENSORS_PC87360=m +CONFIG_SENSORS_PC87427=m +CONFIG_SENSORS_PCF8591=m +CONFIG_SENSORS_PECI=m +CONFIG_SENSORS_PECI_CPUTEMP=m +CONFIG_SENSORS_PECI_DIMMTEMP=m +CONFIG_SENSORS_PIM4328=m +CONFIG_SENSORS_PLI1209BC=m +CONFIG_SENSORS_PLI1209BC_REGULATOR=y +CONFIG_SENSORS_PM6764TR=m +CONFIG_SENSORS_PMBUS=m +CONFIG_SENSORS_POWR1220=m +CONFIG_SENSORS_PWM_FAN=m +CONFIG_SENSORS_PXE1610=m +CONFIG_SENSORS_RASPBERRYPI_HWMON=m +CONFIG_SENSORS_RM3100=m +CONFIG_SENSORS_RM3100_I2C=m +CONFIG_SENSORS_RM3100_SPI=m +CONFIG_SENSORS_SBRMI=m +CONFIG_SENSORS_SBTSI=m +CONFIG_SENSORS_SCH5627=m +CONFIG_SENSORS_SCH5636=m +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SENSORS_SHT15=m +CONFIG_SENSORS_SHT21=m +CONFIG_SENSORS_SHT3x=m +CONFIG_SENSORS_SHT4x=m +CONFIG_SENSORS_SHTC1=m +CONFIG_SENSORS_SIS5595=m +CONFIG_SENSORS_SL28CPLD=m +CONFIG_SENSORS_SMM665=m +CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_SMSC47M192=m +CONFIG_SENSORS_SPARX5=m +CONFIG_SENSORS_STPDDC60=m +CONFIG_SENSORS_STTS751=m +CONFIG_SENSORS_SY7636A=m +CONFIG_SENSORS_TC654=m +CONFIG_SENSORS_TC74=m +CONFIG_SENSORS_THMC50=m +CONFIG_SENSORS_TMP102=m +CONFIG_SENSORS_TMP103=m +CONFIG_SENSORS_TMP108=m +CONFIG_SENSORS_TMP401=m +CONFIG_SENSORS_TMP421=m +CONFIG_SENSORS_TMP464=m +CONFIG_SENSORS_TMP513=m +CONFIG_SENSORS_TPS23861=m +CONFIG_SENSORS_TPS40422=m +CONFIG_SENSORS_TPS53679=m +CONFIG_SENSORS_TSL2563=m +CONFIG_SENSORS_UCD9000=m +CONFIG_SENSORS_UCD9200=m +CONFIG_SENSORS_VEXPRESS=m +CONFIG_SENSORS_VIA686A=m +CONFIG_SENSORS_VIA_CPUTEMP=m +CONFIG_SENSORS_VT1211=m +CONFIG_SENSORS_VT8231=m +CONFIG_SENSORS_W83627EHF=m +CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83773G=m +CONFIG_SENSORS_W83781D=m +CONFIG_SENSORS_W83791D=m +CONFIG_SENSORS_W83792D=m +CONFIG_SENSORS_W83793=m +CONFIG_SENSORS_W83795=m +# CONFIG_SENSORS_W83795_FANCTRL is not set +CONFIG_SENSORS_W83L785TS=m +CONFIG_SENSORS_W83L786NG=m +CONFIG_SENSORS_WM831X=m +CONFIG_SENSORS_WM8350=m +CONFIG_SENSORS_XDPE122=m +CONFIG_SENSORS_XDPE122_REGULATOR=y +CONFIG_SENSORS_XDPE152=m +CONFIG_SENSORS_XGENE=m +CONFIG_SENSORS_ZL6100=m +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_16550A_VARIANTS=y +CONFIG_SERIAL_8250_ASPEED_VUART=m +# CONFIG_SERIAL_8250_BCM2835AUX is not set +CONFIG_SERIAL_8250_BCM7271=m +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_CS=m +# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set +# CONFIG_SERIAL_8250_DETECT_IRQ is not set +CONFIG_SERIAL_8250_DMA=y +CONFIG_SERIAL_8250_DWLIB=y +# CONFIG_SERIAL_8250_EM is not set +CONFIG_SERIAL_8250_EXAR=m +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_FSL=y +CONFIG_SERIAL_8250_LPSS=m +CONFIG_SERIAL_8250_MANY_PORTS=y +CONFIG_SERIAL_8250_MEN_MCB=m +CONFIG_SERIAL_8250_MID=y +CONFIG_SERIAL_8250_MT6577=y +CONFIG_SERIAL_8250_NR_UARTS=48 +CONFIG_SERIAL_8250_OMAP=y +CONFIG_SERIAL_8250_OMAP_TTYO_FIXUP=y +CONFIG_SERIAL_8250_PCI=y +CONFIG_SERIAL_8250_PERICOM=m +CONFIG_SERIAL_8250_PNP=y +CONFIG_SERIAL_8250_RSA=y +CONFIG_SERIAL_8250_RT288X=y +CONFIG_SERIAL_8250_RUNTIME_UARTS=32 +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_8250_TEGRA=y +# CONFIG_SERIAL_8250_UNIPHIER is not set +CONFIG_SERIAL_ALTERA_UART_BAUDRATE=115200 +CONFIG_SERIAL_ALTERA_UART_MAXPORTS=4 +CONFIG_SERIAL_AMBA_PL010=m +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_ARC_NR_PORTS=1 +CONFIG_SERIAL_BCM63XX=m +CONFIG_SERIAL_CONEXANT_DIGICOLOR=m +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y +CONFIG_SERIAL_EARLYCON=y +CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y +CONFIG_SERIAL_ICOM=m +CONFIG_SERIAL_IMX=y +CONFIG_SERIAL_IMX_CONSOLE=y +# CONFIG_SERIAL_IMX_EARLYCON is not set +CONFIG_SERIAL_IPOCTAL=m +CONFIG_SERIAL_KGDB_NMI=y +CONFIG_SERIAL_LANTIQ=m +CONFIG_SERIAL_LITEUART=m +CONFIG_SERIAL_LITEUART_MAX_PORTS=1 +CONFIG_SERIAL_MAX3100=m +CONFIG_SERIAL_MAX310X=y +CONFIG_SERIAL_MCTRL_GPIO=y +CONFIG_SERIAL_MEN_Z135=m +CONFIG_SERIAL_MESON=y +CONFIG_SERIAL_MESON_CONSOLE=y +CONFIG_SERIAL_MILBEAUT_USIO=m +CONFIG_SERIAL_MILBEAUT_USIO_PORTS=4 +CONFIG_SERIAL_MSM=y +CONFIG_SERIAL_MSM_CONSOLE=y +CONFIG_SERIAL_MULTI_INSTANTIATE=m +CONFIG_SERIAL_MVEBU_CONSOLE=y +CONFIG_SERIAL_MVEBU_UART=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SERIAL_OWL=y +CONFIG_SERIAL_OWL_CONSOLE=y +CONFIG_SERIAL_QCOM_GENI=m +CONFIG_SERIAL_QCOM_GENI_CONSOLE=y +CONFIG_SERIAL_QE=m +CONFIG_SERIAL_RDA=y +CONFIG_SERIAL_RDA_CONSOLE=y +CONFIG_SERIAL_RP2_NR_UARTS=32 +CONFIG_SERIAL_SAMSUNG=m +CONFIG_SERIAL_SAMSUNG_CONSOLE=y +CONFIG_SERIAL_SAMSUNG_UARTS=4 +CONFIG_SERIAL_SAMSUNG_UARTS_4=y +CONFIG_SERIAL_SC16IS7XX_CORE=m +CONFIG_SERIAL_SC16IS7XX_I2C=y +CONFIG_SERIAL_SC16IS7XX_SPI=y +CONFIG_SERIAL_SCCNXP_CONSOLE=y +CONFIG_SERIAL_SH_SCI=m +CONFIG_SERIAL_SH_SCI_DMA=y +CONFIG_SERIAL_SH_SCI_NR_UARTS=2 +CONFIG_SERIAL_SIFIVE_CONSOLE=y +CONFIG_SERIAL_SPRD=m +CONFIG_SERIAL_ST_ASC=m +CONFIG_SERIAL_TEGRA=m +CONFIG_SERIAL_TEGRA_TCU=y +CONFIG_SERIAL_TEGRA_TCU_CONSOLE=y +CONFIG_SERIAL_UARTLITE=m +CONFIG_SERIAL_UARTLITE_NR_UARTS=1 +CONFIG_SERIAL_XILINX_PS_UART=m +CONFIG_SERIO_ALTERA_PS2=m +CONFIG_SERIO_AMBAKMI=m +CONFIG_SERIO_APBPS2=m +CONFIG_SERIO_ARC_PS2=m +CONFIG_SERIO_CT82C710=m +CONFIG_SERIO_GPIO_PS2=m +CONFIG_SERIO_I8042=y +CONFIG_SERIO_LIBPS2=y +CONFIG_SERIO_NVEC_PS2=m +CONFIG_SERIO_PARKBD=m +CONFIG_SERIO_PCIPS2=m +CONFIG_SERIO_PS2MULT=m +CONFIG_SERIO_RAW=m +CONFIG_SERIO_SERPORT=m +# CONFIG_SERIO_SUN4I_PS2 is not set +CONFIG_SERIO_XILINX_XPS_PS2=m +CONFIG_SETEND_EMULATION=y +CONFIG_SEV_GUEST=m +CONFIG_SFC_FALCON_MTD=y +CONFIG_SFC_MCDI_LOGGING=y +CONFIG_SFC_MCDI_MON=y +CONFIG_SFC_MTD=y +CONFIG_SFC_SIENA_MCDI_LOGGING=y +CONFIG_SFC_SIENA_MCDI_MON=y +CONFIG_SFC_SIENA_MTD=y +CONFIG_SFC_SIENA_SRIOV=y +CONFIG_SFC_SRIOV=y +CONFIG_SFP=m +CONFIG_SF_PDMA=m +CONFIG_SGETMASK_SYSCALL=y +CONFIG_SGI_GRU=m +# CONFIG_SGI_GRU_DEBUG is not set +CONFIG_SGI_XP=m +CONFIG_SGL_ALLOC=y +CONFIG_SG_POOL=y +CONFIG_SG_SPLIT=y +CONFIG_SHADOW_CALL_STACK=y +CONFIG_SHIFT_FS=m +CONFIG_SHIFT_FS_POSIX_ACL=y +CONFIG_SHMEM=y +CONFIG_SHUFFLE_PAGE_ALLOCATOR=y +CONFIG_SH_ETH=m +CONFIG_SH_TIMER_CMT=y +CONFIG_SH_TIMER_MTU2=y +CONFIG_SH_TIMER_TMU=y +CONFIG_SI1133=m +CONFIG_SI1145=m +CONFIG_SI7005=m +CONFIG_SI7020=m +CONFIG_SIEMENS_SIMATIC_IPC=m +CONFIG_SIEMENS_SIMATIC_IPC_WDT=m +CONFIG_SIFIVE_L2=y +CONFIG_SIFIVE_PLIC=y +CONFIG_SIGNALFD=y +CONFIG_SIGNATURE=y +CONFIG_SIGNED_PE_FILE_VERIFICATION=y +CONFIG_SIOX=m +CONFIG_SIOX_BUS_GPIO=m +CONFIG_SIS190=m +CONFIG_SIS900=m +CONFIG_SKB_EXTENSIONS=y +CONFIG_SKFP=m +CONFIG_SKGE=m +# CONFIG_SKGE_DEBUG is not set +CONFIG_SKGE_GENESIS=y +CONFIG_SKY2=m +# CONFIG_SKY2_DEBUG is not set +CONFIG_SL28CPLD_WATCHDOG=m +# CONFIG_SLAB is not set +CONFIG_SLAB_FREELIST_HARDENED=y +CONFIG_SLAB_FREELIST_RANDOM=y +CONFIG_SLAB_MERGE_DEFAULT=y +CONFIG_SLHC=y +CONFIG_SLICOSS=m +CONFIG_SLIC_DS26522=m +CONFIG_SLIMBUS=m +CONFIG_SLIM_QCOM_CTRL=m +CONFIG_SLIM_QCOM_NGD_CTRL=m +CONFIG_SLIP_COMPRESSED=y +CONFIG_SLIP_MODE_SLIP6=y +CONFIG_SLIP_SMART=y +# CONFIG_SLOB is not set +CONFIG_SLS=y +CONFIG_SLUB=y +CONFIG_SLUB_CPU_PARTIAL=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +CONFIG_SMARTJOYPLUS_FF=y +CONFIG_SMBFS_COMMON=m +CONFIG_SMB_SERVER=m +CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y +CONFIG_SMB_SERVER_KERBEROS5=y +CONFIG_SMB_SERVER_SMBDIRECT=y +CONFIG_SMC=m +CONFIG_SMC911X=m +CONFIG_SMC91X=y +CONFIG_SMC_DIAG=m +CONFIG_SMP=y +CONFIG_SMP_ON_UP=y +CONFIG_SMSC37B787_WDT=m +CONFIG_SMSC911X=m +CONFIG_SMSC9420=m +CONFIG_SMSC_PHY=m +CONFIG_SMSC_SCH311X_WDT=m +CONFIG_SMSGIUCV=y +CONFIG_SMSGIUCV_EVENT=m +CONFIG_SMS_SDIO_DRV=m +CONFIG_SMS_SIANO_DEBUGFS=y +CONFIG_SMS_SIANO_MDTV=m +CONFIG_SMS_SIANO_RC=y +CONFIG_SMS_USB_DRV=m +CONFIG_SM_CAMCC_8250=m +CONFIG_SM_DISPCC_6125=m +CONFIG_SM_DISPCC_6350=m +CONFIG_SM_DISPCC_8250=m +CONFIG_SM_FTL=m +CONFIG_SM_GCC_6115=m +CONFIG_SM_GCC_6125=m +CONFIG_SM_GCC_6350=m +CONFIG_SM_GCC_8150=m +CONFIG_SM_GCC_8250=m +CONFIG_SM_GCC_8350=m +CONFIG_SM_GCC_8450=m +CONFIG_SM_GPUCC_6350=m +CONFIG_SM_GPUCC_8150=m +CONFIG_SM_GPUCC_8250=m +CONFIG_SM_VIDEOCC_8150=m +CONFIG_SM_VIDEOCC_8250=m +CONFIG_SND_AC97_CODEC=m +CONFIG_SND_AC97_POWER_SAVE=y +CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 +CONFIG_SND_AD1889=m +CONFIG_SND_ALI5451=m +CONFIG_SND_ALOOP=m +CONFIG_SND_ALS300=m +CONFIG_SND_ALS4000=m +CONFIG_SND_AMD_ACP_CONFIG=m +CONFIG_SND_AMD_ASOC_RENOIR=m +CONFIG_SND_ARM=y +CONFIG_SND_ARMAACI=m +CONFIG_SND_ASIHPI=m +CONFIG_SND_ATIIXP=m +CONFIG_SND_ATIIXP_MODEM=m +CONFIG_SND_ATMEL_SOC=m +CONFIG_SND_AU8810=m +CONFIG_SND_AU8820=m +CONFIG_SND_AU8830=m +CONFIG_SND_AUDIO_GRAPH_CARD=m +CONFIG_SND_AUDIO_GRAPH_CARD2=m +CONFIG_SND_AUDIO_GRAPH_CARD2_CUSTOM_SAMPLE=m +CONFIG_SND_AW2=m +CONFIG_SND_AZT3328=m +CONFIG_SND_BCD2000=m +CONFIG_SND_BCM2835=m +CONFIG_SND_BCM2835_SOC_I2S=m +CONFIG_SND_BCM63XX_I2S_WHISTLER=m +CONFIG_SND_BEBOB=m +CONFIG_SND_BT87X=m +# CONFIG_SND_BT87X_OVERCLOCK is not set +CONFIG_SND_CA0106=m +CONFIG_SND_CMIPCI=m +CONFIG_SND_CS4281=m +CONFIG_SND_CS46XX=m +CONFIG_SND_CS46XX_NEW_DSP=y +CONFIG_SND_CTL_LED=m +CONFIG_SND_CTXFI=m +CONFIG_SND_DARLA20=m +CONFIG_SND_DARLA24=m +# CONFIG_SND_DEBUG is not set +CONFIG_SND_DESIGNWARE_I2S=m +CONFIG_SND_DESIGNWARE_PCM=y +CONFIG_SND_DICE=m +CONFIG_SND_DMA_SGBUF=y +CONFIG_SND_DRIVERS=y +CONFIG_SND_DUMMY=m +CONFIG_SND_DYNAMIC_MINORS=y +CONFIG_SND_ECHO3G=m +CONFIG_SND_EMU10K1=m +CONFIG_SND_EMU10K1X=m +CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_ENS1370=m +CONFIG_SND_ENS1371=m +CONFIG_SND_ES1938=m +CONFIG_SND_ES1968=m +CONFIG_SND_ES1968_INPUT=y +CONFIG_SND_ES1968_RADIO=y +CONFIG_SND_FIREFACE=m +CONFIG_SND_FIREWIRE=y +CONFIG_SND_FIREWIRE_DIGI00X=m +CONFIG_SND_FIREWIRE_LIB=m +CONFIG_SND_FIREWIRE_MOTU=m +CONFIG_SND_FIREWIRE_TASCAM=m +CONFIG_SND_FIREWORKS=m +CONFIG_SND_FM801=m +CONFIG_SND_FM801_TEA575X_BOOL=y +CONFIG_SND_GINA20=m +CONFIG_SND_GINA24=m +CONFIG_SND_HDA=m +CONFIG_SND_HDA_ALIGNED_MMIO=y +CONFIG_SND_HDA_CODEC_ANALOG=m +CONFIG_SND_HDA_CODEC_CA0110=m +CONFIG_SND_HDA_CODEC_CA0132=m +CONFIG_SND_HDA_CODEC_CA0132_DSP=y +CONFIG_SND_HDA_CODEC_CIRRUS=m +CONFIG_SND_HDA_CODEC_CMEDIA=m +CONFIG_SND_HDA_CODEC_CONEXANT=m +CONFIG_SND_HDA_CODEC_CS8409=m +CONFIG_SND_HDA_CODEC_HDMI=m +CONFIG_SND_HDA_CODEC_REALTEK=m +CONFIG_SND_HDA_CODEC_SI3054=m +CONFIG_SND_HDA_CODEC_SIGMATEL=m +CONFIG_SND_HDA_CODEC_VIA=m +CONFIG_SND_HDA_COMPONENT=y +CONFIG_SND_HDA_CORE=m +CONFIG_SND_HDA_CS_DSP_CONTROLS=m +# CONFIG_SND_HDA_CTL_DEV_ID is not set +CONFIG_SND_HDA_DSP_LOADER=y +CONFIG_SND_HDA_EXT_CORE=m +CONFIG_SND_HDA_GENERIC=m +CONFIG_SND_HDA_GENERIC_LEDS=y +CONFIG_SND_HDA_HWDEP=y +CONFIG_SND_HDA_I915=y +CONFIG_SND_HDA_INPUT_BEEP=y +CONFIG_SND_HDA_INPUT_BEEP_MODE=0 +CONFIG_SND_HDA_INTEL=m +CONFIG_SND_HDA_PATCH_LOADER=y +CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 +CONFIG_SND_HDA_RECONFIG=y +CONFIG_SND_HDA_SCODEC_CS35L41=m +CONFIG_SND_HDA_SCODEC_CS35L41_I2C=m +CONFIG_SND_HDA_SCODEC_CS35L41_SPI=m +CONFIG_SND_HDA_TEGRA=m +CONFIG_SND_HDSP=m +CONFIG_SND_HDSPM=m +CONFIG_SND_HRTIMER=m +CONFIG_SND_HWDEP=m +CONFIG_SND_I2S_HI6210_I2S=m +CONFIG_SND_ICE1712=m +CONFIG_SND_ICE1724=m +CONFIG_SND_INDIGO=m +CONFIG_SND_INDIGODJ=m +CONFIG_SND_INDIGODJX=m +CONFIG_SND_INDIGOIO=m +CONFIG_SND_INDIGOIOX=m +CONFIG_SND_INTEL8X0=m +CONFIG_SND_INTEL8X0M=m +CONFIG_SND_INTEL_BYT_PREFER_SOF=y +CONFIG_SND_INTEL_DSP_CONFIG=m +CONFIG_SND_INTEL_NHLT=y +CONFIG_SND_INTEL_SOUNDWIRE_ACPI=m +CONFIG_SND_ISIGHT=m +CONFIG_SND_JACK=y +CONFIG_SND_JACK_INPUT_DEV=y +CONFIG_SND_KIRKWOOD_SOC=m +CONFIG_SND_KIRKWOOD_SOC_ARMADA370_DB=m +CONFIG_SND_KORG1212=m +CONFIG_SND_LAYLA20=m +CONFIG_SND_LAYLA24=m +CONFIG_SND_LOLA=m +CONFIG_SND_LX6464ES=m +CONFIG_SND_MAESTRO3=m +CONFIG_SND_MAESTRO3_INPUT=y +CONFIG_SND_MAX_CARDS=32 +CONFIG_SND_MESON_AIU=m +CONFIG_SND_MESON_AXG_FIFO=m +CONFIG_SND_MESON_AXG_FRDDR=m +CONFIG_SND_MESON_AXG_PDM=m +CONFIG_SND_MESON_AXG_SOUND_CARD=m +CONFIG_SND_MESON_AXG_SPDIFIN=m +CONFIG_SND_MESON_AXG_SPDIFOUT=m +CONFIG_SND_MESON_AXG_TDMIN=m +CONFIG_SND_MESON_AXG_TDMOUT=m +CONFIG_SND_MESON_AXG_TDM_FORMATTER=m +CONFIG_SND_MESON_AXG_TDM_INTERFACE=m +CONFIG_SND_MESON_AXG_TODDR=m +CONFIG_SND_MESON_CARD_UTILS=m +CONFIG_SND_MESON_CODEC_GLUE=m +CONFIG_SND_MESON_G12A_TOACODEC=m +CONFIG_SND_MESON_G12A_TOHDMITX=m +CONFIG_SND_MESON_GX_SOUND_CARD=m +CONFIG_SND_MIA=m +CONFIG_SND_MIXART=m +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_MONA=m +CONFIG_SND_MPU401=m +CONFIG_SND_MPU401_UART=m +CONFIG_SND_MTPAV=m +CONFIG_SND_MTS64=m +CONFIG_SND_NM256=m +CONFIG_SND_OPL3_LIB=m +CONFIG_SND_OPL3_LIB_SEQ=m +CONFIG_SND_OSSEMUL=y +CONFIG_SND_OXFW=m +CONFIG_SND_OXYGEN=m +CONFIG_SND_OXYGEN_LIB=m +CONFIG_SND_PCI=y +CONFIG_SND_PCMCIA=y +CONFIG_SND_PCM_ELD=y +CONFIG_SND_PCM_IEC958=y +# CONFIG_SND_PCM_OSS is not set +CONFIG_SND_PCM_TIMER=y +CONFIG_SND_PCSP=m +CONFIG_SND_PCXHR=m +CONFIG_SND_PDAUDIOCF=m +CONFIG_SND_PORTMAN2X4=m +CONFIG_SND_PPC=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_RAWMIDI=m +CONFIG_SND_RIPTIDE=m +CONFIG_SND_RME32=m +CONFIG_SND_RME96=m +CONFIG_SND_RME9652=m +CONFIG_SND_SB_COMMON=m +CONFIG_SND_SEQUENCER=m +# CONFIG_SND_SEQUENCER_OSS is not set +CONFIG_SND_SEQ_DEVICE=m +CONFIG_SND_SEQ_DUMMY=m +CONFIG_SND_SEQ_HRTIMER_DEFAULT=y +CONFIG_SND_SEQ_MIDI=m +CONFIG_SND_SEQ_MIDI_EMUL=m +CONFIG_SND_SEQ_MIDI_EVENT=m +CONFIG_SND_SEQ_VIRMIDI=m +CONFIG_SND_SERIAL_GENERIC=m +CONFIG_SND_SERIAL_U16550=m +CONFIG_SND_SIMPLE_CARD=m +CONFIG_SND_SIMPLE_CARD_UTILS=m +CONFIG_SND_SOC_AC97_BUS=y +CONFIG_SND_SOC_AC97_CODEC=m +CONFIG_SND_SOC_ACPI=m +CONFIG_SND_SOC_ACPI_INTEL_MATCH=m +CONFIG_SND_SOC_ADAU1372=m +CONFIG_SND_SOC_ADAU1372_I2C=m +CONFIG_SND_SOC_ADAU1372_SPI=m +CONFIG_SND_SOC_ADAU1701=m +CONFIG_SND_SOC_ADAU1761=m +CONFIG_SND_SOC_ADAU1761_I2C=m +CONFIG_SND_SOC_ADAU1761_SPI=m +CONFIG_SND_SOC_ADAU17X1=m +CONFIG_SND_SOC_ADAU7002=m +CONFIG_SND_SOC_ADAU7118=m +CONFIG_SND_SOC_ADAU7118_HW=m +CONFIG_SND_SOC_ADAU7118_I2C=m +CONFIG_SND_SOC_ADAU_UTILS=m +CONFIG_SND_SOC_ADI=m +CONFIG_SND_SOC_ADI_AXI_I2S=m +CONFIG_SND_SOC_ADI_AXI_SPDIF=m +CONFIG_SND_SOC_AK4104=m +CONFIG_SND_SOC_AK4118=m +CONFIG_SND_SOC_AK4375=m +CONFIG_SND_SOC_AK4458=m +CONFIG_SND_SOC_AK4554=m +CONFIG_SND_SOC_AK4613=m +CONFIG_SND_SOC_AK4642=m +CONFIG_SND_SOC_AK5386=m +CONFIG_SND_SOC_AK5558=m +CONFIG_SND_SOC_ALC5623=m +CONFIG_SND_SOC_ALC5632=m +CONFIG_SND_SOC_AMD_ACP=m +CONFIG_SND_SOC_AMD_ACP3x=m +CONFIG_SND_SOC_AMD_ACP5x=m +CONFIG_SND_SOC_AMD_ACP6x=m +CONFIG_SND_SOC_AMD_ACP_COMMON=m +CONFIG_SND_SOC_AMD_ACP_I2S=m +CONFIG_SND_SOC_AMD_ACP_PCI=m +CONFIG_SND_SOC_AMD_ACP_PCM=m +CONFIG_SND_SOC_AMD_ACP_PDM=m +CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH=m +CONFIG_SND_SOC_AMD_CZ_RT5645_MACH=m +CONFIG_SND_SOC_AMD_LEGACY_MACH=m +CONFIG_SND_SOC_AMD_MACH_COMMON=m +CONFIG_SND_SOC_AMD_PS=m +CONFIG_SND_SOC_AMD_PS_MACH=m +CONFIG_SND_SOC_AMD_RENOIR=m +CONFIG_SND_SOC_AMD_RENOIR_MACH=m +CONFIG_SND_SOC_AMD_RV_RT5682_MACH=m +CONFIG_SND_SOC_AMD_SOF_MACH=m +CONFIG_SND_SOC_AMD_VANGOGH_MACH=m +CONFIG_SND_SOC_AMD_YC_MACH=m +CONFIG_SND_SOC_APQ8016_SBC=m +CONFIG_SND_SOC_ARIZONA=m +CONFIG_SND_SOC_AW8738=m +CONFIG_SND_SOC_BD28623=m +CONFIG_SND_SOC_BT_SCO=m +CONFIG_SND_SOC_COMPRESS=y +CONFIG_SND_SOC_CPCAP=m +CONFIG_SND_SOC_CROS_EC_CODEC=m +CONFIG_SND_SOC_CS35L32=m +CONFIG_SND_SOC_CS35L33=m +CONFIG_SND_SOC_CS35L34=m +CONFIG_SND_SOC_CS35L35=m +CONFIG_SND_SOC_CS35L36=m +CONFIG_SND_SOC_CS35L41=m +CONFIG_SND_SOC_CS35L41_I2C=m +CONFIG_SND_SOC_CS35L41_LIB=m +CONFIG_SND_SOC_CS35L41_SPI=m +CONFIG_SND_SOC_CS35L45=m +CONFIG_SND_SOC_CS35L45_I2C=m +CONFIG_SND_SOC_CS35L45_SPI=m +CONFIG_SND_SOC_CS35L45_TABLES=m +CONFIG_SND_SOC_CS4234=m +CONFIG_SND_SOC_CS4265=m +CONFIG_SND_SOC_CS4270=m +CONFIG_SND_SOC_CS4271=m +CONFIG_SND_SOC_CS4271_I2C=m +CONFIG_SND_SOC_CS4271_SPI=m +CONFIG_SND_SOC_CS42L42=m +CONFIG_SND_SOC_CS42L51=m +CONFIG_SND_SOC_CS42L51_I2C=m +CONFIG_SND_SOC_CS42L52=m +CONFIG_SND_SOC_CS42L56=m +CONFIG_SND_SOC_CS42L73=m +CONFIG_SND_SOC_CS42XX8=m +CONFIG_SND_SOC_CS42XX8_I2C=m +CONFIG_SND_SOC_CS43130=m +CONFIG_SND_SOC_CS4341=m +CONFIG_SND_SOC_CS4349=m +CONFIG_SND_SOC_CS53L30=m +CONFIG_SND_SOC_CX2072X=m +CONFIG_SND_SOC_DA7213=m +CONFIG_SND_SOC_DA7219=m +CONFIG_SND_SOC_DAVINCI_MCASP=m +CONFIG_SND_SOC_DMIC=m +CONFIG_SND_SOC_ES7134=m +CONFIG_SND_SOC_ES7241=m +CONFIG_SND_SOC_ES8316=m +CONFIG_SND_SOC_ES8328=m +CONFIG_SND_SOC_ES8328_I2C=m +CONFIG_SND_SOC_ES8328_SPI=m +CONFIG_SND_SOC_EUKREA_TLV320=m +CONFIG_SND_SOC_FSL_ASOC_CARD=m +CONFIG_SND_SOC_FSL_ASRC=m +CONFIG_SND_SOC_FSL_AUD2HTX=m +CONFIG_SND_SOC_FSL_AUDMIX=m +CONFIG_SND_SOC_FSL_EASRC=m +CONFIG_SND_SOC_FSL_ESAI=m +CONFIG_SND_SOC_FSL_MICFIL=m +CONFIG_SND_SOC_FSL_MQS=m +CONFIG_SND_SOC_FSL_RPMSG=m +CONFIG_SND_SOC_FSL_SAI=m +CONFIG_SND_SOC_FSL_SPDIF=m +CONFIG_SND_SOC_FSL_XCVR=m +CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y +CONFIG_SND_SOC_GTM601=m +CONFIG_SND_SOC_HDAC_HDA=m +CONFIG_SND_SOC_HDAC_HDMI=m +CONFIG_SND_SOC_HDMI_CODEC=m +CONFIG_SND_SOC_ICS43432=m +CONFIG_SND_SOC_IMG=y +CONFIG_SND_SOC_IMG_I2S_IN=m +CONFIG_SND_SOC_IMG_I2S_OUT=m +CONFIG_SND_SOC_IMG_PARALLEL_OUT=m +CONFIG_SND_SOC_IMG_PISTACHIO_INTERNAL_DAC=m +CONFIG_SND_SOC_IMG_SPDIF_IN=m +CONFIG_SND_SOC_IMG_SPDIF_OUT=m +CONFIG_SND_SOC_IMX_AUDIO_RPMSG=m +CONFIG_SND_SOC_IMX_AUDMIX=m +CONFIG_SND_SOC_IMX_CARD=m +CONFIG_SND_SOC_IMX_ES8328=m +CONFIG_SND_SOC_IMX_HDMI=m +CONFIG_SND_SOC_IMX_PCM_FIQ=y +CONFIG_SND_SOC_IMX_PCM_RPMSG=m +CONFIG_SND_SOC_IMX_RPMSG=m +CONFIG_SND_SOC_IMX_SPDIF=m +CONFIG_SND_SOC_INNO_RK3036=m +CONFIG_SND_SOC_INTEL_APL=m +CONFIG_SND_SOC_INTEL_AVS=m +CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH=m +CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH=m +CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m +CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_COMMON=m +CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH=m +CONFIG_SND_SOC_INTEL_BXT_RT298_MACH=m +CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m +CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH=m +CONFIG_SND_SOC_INTEL_BYTCR_WM5102_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_CX2072X_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH=m +# CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH is not set +CONFIG_SND_SOC_INTEL_CATPT=m +# CONFIG_SND_SOC_INTEL_CFL is not set +CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m +CONFIG_SND_SOC_INTEL_CHT_BSW_NAU8824_MACH=m +CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m +CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m +# CONFIG_SND_SOC_INTEL_CML_H is not set +# CONFIG_SND_SOC_INTEL_CML_LP is not set +CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH=m +# CONFIG_SND_SOC_INTEL_CNL is not set +CONFIG_SND_SOC_INTEL_DA7219_MAX98357A_GENERIC=m +CONFIG_SND_SOC_INTEL_EHL_RT5660_MACH=m +CONFIG_SND_SOC_INTEL_GLK=m +CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH=m +CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH=m +CONFIG_SND_SOC_INTEL_HASWELL_MACH=m +CONFIG_SND_SOC_INTEL_HDA_DSP_COMMON=m +CONFIG_SND_SOC_INTEL_KBL=m +CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98357A_MACH=m +CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98927_MACH=m +CONFIG_SND_SOC_INTEL_KBL_RT5660_MACH=m +CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH=m +CONFIG_SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH=m +CONFIG_SND_SOC_INTEL_KEEMBAY=m +CONFIG_SND_SOC_INTEL_MACH=y +CONFIG_SND_SOC_INTEL_SKL=m +CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH=m +CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH=m +CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=m +CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m +# CONFIG_SND_SOC_INTEL_SKYLAKE is not set +CONFIG_SND_SOC_INTEL_SKYLAKE_COMMON=m +CONFIG_SND_SOC_INTEL_SKYLAKE_FAMILY=m +CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=y +CONFIG_SND_SOC_INTEL_SKYLAKE_SSP_CLK=m +CONFIG_SND_SOC_INTEL_SOF_CIRRUS_COMMON=m +CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH=m +CONFIG_SND_SOC_INTEL_SOF_CS42L42_MACH=m +CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH=m +CONFIG_SND_SOC_INTEL_SOF_ES8336_MACH=m +CONFIG_SND_SOC_INTEL_SOF_MAXIM_COMMON=m +CONFIG_SND_SOC_INTEL_SOF_NAU8825_MACH=m +CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m +CONFIG_SND_SOC_INTEL_SOF_REALTEK_COMMON=m +CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH=m +CONFIG_SND_SOC_INTEL_SOF_SSP_AMP_MACH=m +CONFIG_SND_SOC_INTEL_SOF_WM8804_MACH=m +CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH=m +CONFIG_SND_SOC_INTEL_SST=m +CONFIG_SND_SOC_INTEL_SST_TOPLEVEL=y +CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES=y +CONFIG_SND_SOC_J721E_EVM=m +CONFIG_SND_SOC_LOCHNAGAR_SC=m +CONFIG_SND_SOC_LPASS_APQ8016=m +CONFIG_SND_SOC_LPASS_CDC_DMA=m +CONFIG_SND_SOC_LPASS_CPU=m +CONFIG_SND_SOC_LPASS_HDMI=m +CONFIG_SND_SOC_LPASS_IPQ806X=m +CONFIG_SND_SOC_LPASS_MACRO_COMMON=m +CONFIG_SND_SOC_LPASS_PLATFORM=m +CONFIG_SND_SOC_LPASS_RX_MACRO=m +CONFIG_SND_SOC_LPASS_SC7180=m +CONFIG_SND_SOC_LPASS_SC7280=m +CONFIG_SND_SOC_LPASS_TX_MACRO=m +CONFIG_SND_SOC_LPASS_VA_MACRO=m +CONFIG_SND_SOC_LPASS_WSA_MACRO=m +CONFIG_SND_SOC_MAX9759=m +CONFIG_SND_SOC_MAX98088=m +CONFIG_SND_SOC_MAX98090=m +CONFIG_SND_SOC_MAX98357A=m +CONFIG_SND_SOC_MAX98373=m +CONFIG_SND_SOC_MAX98373_I2C=m +CONFIG_SND_SOC_MAX98373_SDW=m +CONFIG_SND_SOC_MAX98390=m +CONFIG_SND_SOC_MAX98396=m +CONFIG_SND_SOC_MAX98504=m +CONFIG_SND_SOC_MAX98520=m +CONFIG_SND_SOC_MAX9860=m +CONFIG_SND_SOC_MAX9867=m +CONFIG_SND_SOC_MAX98927=m +CONFIG_SND_SOC_MEDIATEK=m +CONFIG_SND_SOC_MESON_T9015=m +CONFIG_SND_SOC_MIKROE_PROTO=m +CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m +CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m +CONFIG_SND_SOC_MSM8996=m +# CONFIG_SND_SOC_MT2701 is not set +CONFIG_SND_SOC_MT6351=m +CONFIG_SND_SOC_MT6358=m +CONFIG_SND_SOC_MT6359=m +CONFIG_SND_SOC_MT6359_ACCDET=m +CONFIG_SND_SOC_MT6660=m +CONFIG_SND_SOC_MT6797=m +CONFIG_SND_SOC_MT6797_MT6351=m +# CONFIG_SND_SOC_MT8173 is not set +CONFIG_SND_SOC_MT8183=m +CONFIG_SND_SOC_MT8183_DA7219_MAX98357A=m +CONFIG_SND_SOC_MT8183_MT6358_TS3A227E_MAX98357A=m +CONFIG_SND_SOC_MT8192=m +CONFIG_SND_SOC_MT8192_MT6359_RT1015_RT5682=m +CONFIG_SND_SOC_MT8195=m +CONFIG_SND_SOC_MT8195_MT6359=m +CONFIG_SND_SOC_MTK_BTCVSD=m +CONFIG_SND_SOC_NAU8315=m +CONFIG_SND_SOC_NAU8540=m +CONFIG_SND_SOC_NAU8810=m +CONFIG_SND_SOC_NAU8821=m +CONFIG_SND_SOC_NAU8822=m +CONFIG_SND_SOC_NAU8824=m +CONFIG_SND_SOC_NAU8825=m +CONFIG_SND_SOC_NOKIA_RX51=m +CONFIG_SND_SOC_OMAP3_PANDORA=m +CONFIG_SND_SOC_OMAP3_TWL4030=m +CONFIG_SND_SOC_OMAP_ABE_TWL6040=m +CONFIG_SND_SOC_OMAP_DMIC=m +CONFIG_SND_SOC_OMAP_MCBSP=m +CONFIG_SND_SOC_OMAP_MCPDM=m +CONFIG_SND_SOC_PCM1681=m +CONFIG_SND_SOC_PCM1789=m +CONFIG_SND_SOC_PCM1789_I2C=m +CONFIG_SND_SOC_PCM179X=m +CONFIG_SND_SOC_PCM179X_I2C=m +CONFIG_SND_SOC_PCM179X_SPI=m +CONFIG_SND_SOC_PCM186X=m +CONFIG_SND_SOC_PCM186X_I2C=m +CONFIG_SND_SOC_PCM186X_SPI=m +CONFIG_SND_SOC_PCM3060=m +CONFIG_SND_SOC_PCM3060_I2C=m +CONFIG_SND_SOC_PCM3060_SPI=m +CONFIG_SND_SOC_PCM3168A=m +CONFIG_SND_SOC_PCM3168A_I2C=m +CONFIG_SND_SOC_PCM3168A_SPI=m +CONFIG_SND_SOC_PCM5102A=m +CONFIG_SND_SOC_PCM512x=m +CONFIG_SND_SOC_PCM512x_I2C=m +CONFIG_SND_SOC_PCM512x_SPI=m +CONFIG_SND_SOC_QCOM=m +CONFIG_SND_SOC_QCOM_COMMON=m +CONFIG_SND_SOC_QDSP6=m +CONFIG_SND_SOC_QDSP6_ADM=m +CONFIG_SND_SOC_QDSP6_AFE=m +CONFIG_SND_SOC_QDSP6_AFE_CLOCKS=m +CONFIG_SND_SOC_QDSP6_AFE_DAI=m +CONFIG_SND_SOC_QDSP6_APM=m +CONFIG_SND_SOC_QDSP6_APM_DAI=m +CONFIG_SND_SOC_QDSP6_APM_LPASS_DAI=m +CONFIG_SND_SOC_QDSP6_ASM=m +CONFIG_SND_SOC_QDSP6_ASM_DAI=m +CONFIG_SND_SOC_QDSP6_COMMON=m +CONFIG_SND_SOC_QDSP6_CORE=m +CONFIG_SND_SOC_QDSP6_PRM=m +CONFIG_SND_SOC_QDSP6_PRM_LPASS_CLOCKS=m +CONFIG_SND_SOC_QDSP6_ROUTING=m +CONFIG_SND_SOC_RCAR=m +CONFIG_SND_SOC_RK3288_HDMI_ANALOG=m +CONFIG_SND_SOC_RK3328=m +CONFIG_SND_SOC_RK3399_GRU_SOUND=m +CONFIG_SND_SOC_RK817=m +CONFIG_SND_SOC_RL6231=m +CONFIG_SND_SOC_RL6347A=m +CONFIG_SND_SOC_ROCKCHIP=m +CONFIG_SND_SOC_ROCKCHIP_I2S=m +CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=m +CONFIG_SND_SOC_ROCKCHIP_MAX98090=m +CONFIG_SND_SOC_ROCKCHIP_PDM=m +CONFIG_SND_SOC_ROCKCHIP_RT5645=m +CONFIG_SND_SOC_ROCKCHIP_SPDIF=m +CONFIG_SND_SOC_RT1011=m +CONFIG_SND_SOC_RT1015=m +CONFIG_SND_SOC_RT1015P=m +CONFIG_SND_SOC_RT1019=m +CONFIG_SND_SOC_RT1308=m +CONFIG_SND_SOC_RT1308_SDW=m +CONFIG_SND_SOC_RT1316_SDW=m +CONFIG_SND_SOC_RT286=m +CONFIG_SND_SOC_RT298=m +CONFIG_SND_SOC_RT5514=m +CONFIG_SND_SOC_RT5514_SPI=m +CONFIG_SND_SOC_RT5616=m +CONFIG_SND_SOC_RT5631=m +CONFIG_SND_SOC_RT5640=m +CONFIG_SND_SOC_RT5645=m +CONFIG_SND_SOC_RT5651=m +CONFIG_SND_SOC_RT5659=m +CONFIG_SND_SOC_RT5660=m +CONFIG_SND_SOC_RT5663=m +CONFIG_SND_SOC_RT5670=m +CONFIG_SND_SOC_RT5677=m +CONFIG_SND_SOC_RT5677_SPI=m +CONFIG_SND_SOC_RT5682=m +CONFIG_SND_SOC_RT5682S=m +CONFIG_SND_SOC_RT5682_I2C=m +CONFIG_SND_SOC_RT5682_SDW=m +CONFIG_SND_SOC_RT700=m +CONFIG_SND_SOC_RT700_SDW=m +CONFIG_SND_SOC_RT711=m +CONFIG_SND_SOC_RT711_SDCA_SDW=m +CONFIG_SND_SOC_RT711_SDW=m +CONFIG_SND_SOC_RT715=m +CONFIG_SND_SOC_RT715_SDCA_SDW=m +CONFIG_SND_SOC_RT715_SDW=m +CONFIG_SND_SOC_RT9120=m +CONFIG_SND_SOC_RZ=m +# CONFIG_SND_SOC_SAMSUNG is not set +CONFIG_SND_SOC_SC7180=m +CONFIG_SND_SOC_SC7280=m +CONFIG_SND_SOC_SDM845=m +CONFIG_SND_SOC_SDW_MOCKUP=m +CONFIG_SND_SOC_SH4_FSI=m +CONFIG_SND_SOC_SI476X=m +CONFIG_SND_SOC_SIGMADSP=m +CONFIG_SND_SOC_SIGMADSP_I2C=m +CONFIG_SND_SOC_SIGMADSP_REGMAP=m +CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m +CONFIG_SND_SOC_SIMPLE_MUX=m +CONFIG_SND_SOC_SM8250=m +CONFIG_SND_SOC_SOF=m +CONFIG_SND_SOC_SOF_ACPI=m +CONFIG_SND_SOC_SOF_ACPI_DEV=m +CONFIG_SND_SOC_SOF_ALDERLAKE=m +CONFIG_SND_SOC_SOF_AMD_COMMON=m +CONFIG_SND_SOC_SOF_AMD_RENOIR=m +CONFIG_SND_SOC_SOF_AMD_TOPLEVEL=m +CONFIG_SND_SOC_SOF_APOLLOLAKE=m +CONFIG_SND_SOC_SOF_BAYTRAIL=m +CONFIG_SND_SOC_SOF_BROADWELL=m +CONFIG_SND_SOC_SOF_CANNONLAKE=m +CONFIG_SND_SOC_SOF_CLIENT=m +CONFIG_SND_SOC_SOF_COFFEELAKE=m +CONFIG_SND_SOC_SOF_COMETLAKE=m +CONFIG_SND_SOC_SOF_COMPRESS=y +CONFIG_SND_SOC_SOF_DEBUG_PROBES=m +# CONFIG_SND_SOC_SOF_DEVELOPER_SUPPORT is not set +CONFIG_SND_SOC_SOF_ELKHARTLAKE=m +CONFIG_SND_SOC_SOF_GEMINILAKE=m +CONFIG_SND_SOC_SOF_HDA=m +CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC=y +CONFIG_SND_SOC_SOF_HDA_COMMON=m +CONFIG_SND_SOC_SOF_HDA_LINK=y +CONFIG_SND_SOC_SOF_HDA_LINK_BASELINE=m +CONFIG_SND_SOC_SOF_HDA_PROBES=m +CONFIG_SND_SOC_SOF_ICELAKE=m +CONFIG_SND_SOC_SOF_IMX8=m +CONFIG_SND_SOC_SOF_IMX8M=m +CONFIG_SND_SOC_SOF_IMX_COMMON=m +CONFIG_SND_SOC_SOF_IMX_TOPLEVEL=y +CONFIG_SND_SOC_SOF_INTEL_APL=m +CONFIG_SND_SOC_SOF_INTEL_ATOM_HIFI_EP=m +CONFIG_SND_SOC_SOF_INTEL_CNL=m +CONFIG_SND_SOC_SOF_INTEL_COMMON=m +CONFIG_SND_SOC_SOF_INTEL_HIFI_EP_IPC=m +CONFIG_SND_SOC_SOF_INTEL_ICL=m +CONFIG_SND_SOC_SOF_INTEL_MTL=m +CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE=m +CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE=m +CONFIG_SND_SOC_SOF_INTEL_TGL=m +CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL=y +CONFIG_SND_SOC_SOF_JASPERLAKE=m +CONFIG_SND_SOC_SOF_MERRIFIELD=m +CONFIG_SND_SOC_SOF_METEORLAKE=m +CONFIG_SND_SOC_SOF_MT8186=m +CONFIG_SND_SOC_SOF_MT8195=m +CONFIG_SND_SOC_SOF_MTK_COMMON=m +CONFIG_SND_SOC_SOF_MTK_TOPLEVEL=y +CONFIG_SND_SOC_SOF_OF=m +CONFIG_SND_SOC_SOF_OF_DEV=m +CONFIG_SND_SOC_SOF_PCI=m +CONFIG_SND_SOC_SOF_PCI_DEV=m +CONFIG_SND_SOC_SOF_PROBE_WORK_QUEUE=y +CONFIG_SND_SOC_SOF_TIGERLAKE=m +CONFIG_SND_SOC_SOF_TOPLEVEL=y +CONFIG_SND_SOC_SOF_XTENSA=m +CONFIG_SND_SOC_SPDIF=m +CONFIG_SND_SOC_SPRD=m +CONFIG_SND_SOC_SPRD_MCDT=m +CONFIG_SND_SOC_SSM2305=m +CONFIG_SND_SOC_SSM2518=m +CONFIG_SND_SOC_SSM2602=m +CONFIG_SND_SOC_SSM2602_I2C=m +CONFIG_SND_SOC_SSM2602_SPI=m +CONFIG_SND_SOC_SSM4567=m +CONFIG_SND_SOC_STA32X=m +CONFIG_SND_SOC_STA350=m +CONFIG_SND_SOC_STI_SAS=m +CONFIG_SND_SOC_STORM=m +CONFIG_SND_SOC_TAS2552=m +CONFIG_SND_SOC_TAS2562=m +CONFIG_SND_SOC_TAS2764=m +CONFIG_SND_SOC_TAS2770=m +CONFIG_SND_SOC_TAS5086=m +CONFIG_SND_SOC_TAS571X=m +CONFIG_SND_SOC_TAS5720=m +CONFIG_SND_SOC_TAS5805M=m +CONFIG_SND_SOC_TAS6424=m +CONFIG_SND_SOC_TDA7419=m +CONFIG_SND_SOC_TEGRA=m +CONFIG_SND_SOC_TEGRA186_ASRC=m +CONFIG_SND_SOC_TEGRA186_DSPK=m +CONFIG_SND_SOC_TEGRA20_AC97=m +CONFIG_SND_SOC_TEGRA20_DAS=m +CONFIG_SND_SOC_TEGRA20_I2S=m +CONFIG_SND_SOC_TEGRA20_SPDIF=m +CONFIG_SND_SOC_TEGRA210_ADMAIF=m +CONFIG_SND_SOC_TEGRA210_ADX=m +CONFIG_SND_SOC_TEGRA210_AHUB=m +CONFIG_SND_SOC_TEGRA210_AMX=m +CONFIG_SND_SOC_TEGRA210_DMIC=m +CONFIG_SND_SOC_TEGRA210_I2S=m +CONFIG_SND_SOC_TEGRA210_MIXER=m +CONFIG_SND_SOC_TEGRA210_MVC=m +CONFIG_SND_SOC_TEGRA210_SFC=m +CONFIG_SND_SOC_TEGRA30_AHUB=m +CONFIG_SND_SOC_TEGRA30_I2S=m +CONFIG_SND_SOC_TEGRA_ALC5632=m +CONFIG_SND_SOC_TEGRA_AUDIO_GRAPH_CARD=m +CONFIG_SND_SOC_TEGRA_MACHINE_DRV=m +CONFIG_SND_SOC_TEGRA_MAX98090=m +CONFIG_SND_SOC_TEGRA_RT5640=m +CONFIG_SND_SOC_TEGRA_RT5677=m +CONFIG_SND_SOC_TEGRA_SGTL5000=m +CONFIG_SND_SOC_TEGRA_TRIMSLICE=m +CONFIG_SND_SOC_TEGRA_WM8753=m +CONFIG_SND_SOC_TEGRA_WM8903=m +CONFIG_SND_SOC_TEGRA_WM9712=m +CONFIG_SND_SOC_TFA9879=m +CONFIG_SND_SOC_TFA989X=m +CONFIG_SND_SOC_TI_EDMA_PCM=m +CONFIG_SND_SOC_TI_SDMA_PCM=m +CONFIG_SND_SOC_TI_UDMA_PCM=m +CONFIG_SND_SOC_TLV320ADC3XXX=m +CONFIG_SND_SOC_TLV320ADCX140=m +CONFIG_SND_SOC_TLV320AIC23=m +CONFIG_SND_SOC_TLV320AIC23_I2C=m +CONFIG_SND_SOC_TLV320AIC23_SPI=m +CONFIG_SND_SOC_TLV320AIC31XX=m +CONFIG_SND_SOC_TLV320AIC32X4=m +CONFIG_SND_SOC_TLV320AIC32X4_I2C=m +CONFIG_SND_SOC_TLV320AIC32X4_SPI=m +CONFIG_SND_SOC_TLV320AIC3X=m +CONFIG_SND_SOC_TLV320AIC3X_I2C=m +CONFIG_SND_SOC_TLV320AIC3X_SPI=m +CONFIG_SND_SOC_TOPOLOGY=y +CONFIG_SND_SOC_TPA6130A2=m +CONFIG_SND_SOC_TS3A227E=m +CONFIG_SND_SOC_TSCS42XX=m +CONFIG_SND_SOC_TSCS454=m +CONFIG_SND_SOC_TWL4030=m +CONFIG_SND_SOC_TWL6040=m +CONFIG_SND_SOC_UDA1334=m +# CONFIG_SND_SOC_UNIPHIER is not set +CONFIG_SND_SOC_WCD9335=m +CONFIG_SND_SOC_WCD934X=m +CONFIG_SND_SOC_WCD938X=m +CONFIG_SND_SOC_WCD938X_SDW=m +CONFIG_SND_SOC_WCD_MBHC=m +CONFIG_SND_SOC_WM5102=m +CONFIG_SND_SOC_WM8510=m +CONFIG_SND_SOC_WM8523=m +CONFIG_SND_SOC_WM8524=m +CONFIG_SND_SOC_WM8580=m +CONFIG_SND_SOC_WM8711=m +CONFIG_SND_SOC_WM8728=m +CONFIG_SND_SOC_WM8731=m +CONFIG_SND_SOC_WM8731_I2C=m +CONFIG_SND_SOC_WM8731_SPI=m +CONFIG_SND_SOC_WM8737=m +CONFIG_SND_SOC_WM8741=m +CONFIG_SND_SOC_WM8750=m +CONFIG_SND_SOC_WM8753=m +CONFIG_SND_SOC_WM8770=m +CONFIG_SND_SOC_WM8776=m +CONFIG_SND_SOC_WM8782=m +CONFIG_SND_SOC_WM8804=m +CONFIG_SND_SOC_WM8804_I2C=m +CONFIG_SND_SOC_WM8804_SPI=m +CONFIG_SND_SOC_WM8903=m +CONFIG_SND_SOC_WM8904=m +CONFIG_SND_SOC_WM8940=m +CONFIG_SND_SOC_WM8960=m +CONFIG_SND_SOC_WM8962=m +CONFIG_SND_SOC_WM8974=m +CONFIG_SND_SOC_WM8978=m +CONFIG_SND_SOC_WM8985=m +CONFIG_SND_SOC_WM8994=m +CONFIG_SND_SOC_WM9712=m +CONFIG_SND_SOC_WM_ADSP=m +CONFIG_SND_SOC_WM_HUBS=m +CONFIG_SND_SOC_WSA881X=m +CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER=m +CONFIG_SND_SOC_XILINX_I2S=m +CONFIG_SND_SOC_XILINX_SPDIF=m +CONFIG_SND_SOC_XTFPGA_I2S=m +CONFIG_SND_SOC_ZL38060=m +CONFIG_SND_SONICVIBES=m +CONFIG_SND_SPI=y +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM=m +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI=m +CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI=m +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SUN4I_I2S is not set +# CONFIG_SND_SUN4I_SPDIF is not set +CONFIG_SND_SUN50I_CODEC_ANALOG=m +CONFIG_SND_SUN8I_ADDA_PR_REGMAP=m +CONFIG_SND_SUN8I_CODEC=m +CONFIG_SND_SUN8I_CODEC_ANALOG=m +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_SYNTH_EMUX=m +CONFIG_SND_TEST_COMPONENT=m +CONFIG_SND_TRIDENT=m +CONFIG_SND_USB=y +CONFIG_SND_USB_6FIRE=m +CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y +CONFIG_SND_USB_CAIAQ=m +CONFIG_SND_USB_CAIAQ_INPUT=y +CONFIG_SND_USB_HIFACE=m +CONFIG_SND_USB_LINE6=m +CONFIG_SND_USB_POD=m +CONFIG_SND_USB_PODHD=m +CONFIG_SND_USB_TONEPORT=m +CONFIG_SND_USB_UA101=m +CONFIG_SND_USB_US122L=m +CONFIG_SND_USB_USX2Y=m +CONFIG_SND_USB_VARIAX=m +# CONFIG_SND_VERBOSE_PRINTK is not set +CONFIG_SND_VERBOSE_PROCFS=y +CONFIG_SND_VIA82XX=m +CONFIG_SND_VIA82XX_MODEM=m +CONFIG_SND_VIRMIDI=m +CONFIG_SND_VIRTIO=m +CONFIG_SND_VIRTUOSO=m +CONFIG_SND_VMASTER=y +CONFIG_SND_VX222=m +CONFIG_SND_VXPOCKET=m +CONFIG_SND_VX_LIB=m +CONFIG_SND_X86=y +CONFIG_SND_XEN_FRONTEND=m +CONFIG_SND_YMFPCI=m +# CONFIG_SNI_AVE is not set +CONFIG_SNI_NETSEC=m +CONFIG_SOCFPGA_FPGA_BRIDGE=m +CONFIG_SOCFPGA_SUSPEND=y +CONFIG_SOCIONEXT_SYNQUACER_PREITS=y +CONFIG_SOCK_CGROUP_DATA=y +CONFIG_SOCK_RX_QUEUE_MAPPING=y +CONFIG_SOCK_VALIDATE_XMIT=y +# CONFIG_SOC_AM43XX is not set +CONFIG_SOC_BUS=y +CONFIG_SOC_DRA7XX=y +CONFIG_SOC_HAS_OMAP2_SDRC=y +CONFIG_SOC_HAS_REALTIME_COUNTER=y +CONFIG_SOC_IMX5=y +CONFIG_SOC_IMX50=y +CONFIG_SOC_IMX51=y +# CONFIG_SOC_IMX53 is not set +CONFIG_SOC_IMX6=y +CONFIG_SOC_IMX6Q=y +CONFIG_SOC_IMX6SL=y +CONFIG_SOC_IMX6SLL=y +CONFIG_SOC_IMX6SX=y +CONFIG_SOC_IMX6UL=y +CONFIG_SOC_IMX7D=y +CONFIG_SOC_IMX7D_CA7=y +CONFIG_SOC_IMX7ULP=y +# CONFIG_SOC_LS1021A is not set +CONFIG_SOC_MICROCHIP_POLARFIRE=y +CONFIG_SOC_OMAP3430=y +# CONFIG_SOC_OMAP5 is not set +CONFIG_SOC_RENESAS=y +CONFIG_SOC_SAMSUNG=y +CONFIG_SOC_SIFIVE=y +CONFIG_SOC_STARFIVE=y +CONFIG_SOC_TEGRA20_VOLTAGE_COUPLER=y +CONFIG_SOC_TEGRA30_VOLTAGE_COUPLER=y +CONFIG_SOC_TEGRA_FLOWCTRL=y +CONFIG_SOC_TEGRA_FUSE=y +CONFIG_SOC_TEGRA_PMC=y +CONFIG_SOC_TEGRA_POWERGATE_BPMP=y +CONFIG_SOC_TI81XX=y +CONFIG_SOC_VF610=y +CONFIG_SOC_VIRT=y +CONFIG_SOFTLOCKUP_DETECTOR=y +CONFIG_SOFT_WATCHDOG=m +CONFIG_SOFT_WATCHDOG_PRETIMEOUT=y +CONFIG_SONYPI_COMPAT=y +CONFIG_SONY_FF=y +CONFIG_SONY_LAPTOP=m +CONFIG_SOUNDWIRE=m +CONFIG_SOUNDWIRE_CADENCE=m +CONFIG_SOUNDWIRE_GENERIC_ALLOCATION=m +CONFIG_SOUNDWIRE_INTEL=m +CONFIG_SOUNDWIRE_QCOM=m +CONFIG_SOUND_OSS_CORE=y +# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set +CONFIG_SP5100_TCO=m +CONFIG_SPAPR_TCE_IOMMU=y +CONFIG_SPARSEMEM=y +CONFIG_SPARSEMEM_EXTREME=y +CONFIG_SPARSEMEM_MANUAL=y +CONFIG_SPARSEMEM_STATIC=y +CONFIG_SPARSEMEM_VMEMMAP=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_SPARSE_IRQ=y +CONFIG_SPARX5_SWITCH=m +CONFIG_SPEAKUP=m +CONFIG_SPEAKUP_SYNTH_ACNTSA=m +CONFIG_SPEAKUP_SYNTH_APOLLO=m +CONFIG_SPEAKUP_SYNTH_AUDPTR=m +CONFIG_SPEAKUP_SYNTH_BNS=m +CONFIG_SPEAKUP_SYNTH_DECEXT=m +CONFIG_SPEAKUP_SYNTH_DECTLK=m +CONFIG_SPEAKUP_SYNTH_DUMMY=m +CONFIG_SPEAKUP_SYNTH_LTLK=m +CONFIG_SPEAKUP_SYNTH_SOFT=m +CONFIG_SPEAKUP_SYNTH_SPKOUT=m +CONFIG_SPEAKUP_SYNTH_TXPRT=m +CONFIG_SPECULATION_MITIGATIONS=y +CONFIG_SPI_ALTERA=m +CONFIG_SPI_ALTERA_CORE=m +CONFIG_SPI_ALTERA_DFL=m +CONFIG_SPI_AMD=m +CONFIG_SPI_ARMADA_3700=m +CONFIG_SPI_ASPEED_SMC=m +CONFIG_SPI_AX88796C=m +# CONFIG_SPI_AX88796C_COMPRESSION is not set +CONFIG_SPI_AXI_SPI_ENGINE=m +CONFIG_SPI_BCM2835=m +CONFIG_SPI_BCM2835AUX=m +CONFIG_SPI_BCM_QSPI=m +CONFIG_SPI_BITBANG=m +CONFIG_SPI_BUTTERFLY=m +CONFIG_SPI_CADENCE=m +CONFIG_SPI_CADENCE_QUADSPI=m +CONFIG_SPI_CADENCE_XSPI=m +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_DESIGNWARE=m +CONFIG_SPI_DLN2=m +CONFIG_SPI_DW_DMA=y +CONFIG_SPI_DW_MMIO=m +CONFIG_SPI_DW_PCI=m +CONFIG_SPI_DYNAMIC=y +CONFIG_SPI_FSI=m +CONFIG_SPI_FSL_DSPI=m +CONFIG_SPI_FSL_LIB=y +CONFIG_SPI_FSL_LPSPI=m +CONFIG_SPI_FSL_QUADSPI=m +CONFIG_SPI_FSL_SPI=y +CONFIG_SPI_GPIO=m +CONFIG_SPI_HISI_KUNPENG=m +CONFIG_SPI_HISI_SFC=m +CONFIG_SPI_HISI_SFC_V3XX=m +CONFIG_SPI_IMX=m +CONFIG_SPI_INTEL=m +CONFIG_SPI_INTEL_PCI=m +CONFIG_SPI_INTEL_PLATFORM=m +CONFIG_SPI_LANTIQ_SSC=m +CONFIG_SPI_LM70_LLP=m +CONFIG_SPI_LOOPBACK_TEST=m +CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y +CONFIG_SPI_MESON_SPICC=m +CONFIG_SPI_MESON_SPIFC=m +CONFIG_SPI_MT65XX=m +CONFIG_SPI_MTK_NOR=m +CONFIG_SPI_MTK_SNFI=m +CONFIG_SPI_MUX=m +CONFIG_SPI_MXIC=m +CONFIG_SPI_NPCM_FIU=m +CONFIG_SPI_NPCM_PSPI=m +CONFIG_SPI_NXP_FLEXSPI=m +CONFIG_SPI_OC_TINY=m +CONFIG_SPI_OMAP24XX=y +CONFIG_SPI_ORION=m +CONFIG_SPI_PL022=m +CONFIG_SPI_PXA2XX=m +CONFIG_SPI_PXA2XX_PCI=m +CONFIG_SPI_QCOM_GENI=m +CONFIG_SPI_QCOM_QSPI=m +CONFIG_SPI_QUP=m +CONFIG_SPI_ROCKCHIP_SFC=m +CONFIG_SPI_RPCIF=m +CONFIG_SPI_RSPI=m +# CONFIG_SPI_S3C64XX is not set +CONFIG_SPI_SC18IS602=m +CONFIG_SPI_SH_HSPI=m +CONFIG_SPI_SH_MSIOF=m +CONFIG_SPI_SLAVE=y +CONFIG_SPI_SLAVE_MT27XX=m +CONFIG_SPI_SLAVE_SYSTEM_CONTROL=m +CONFIG_SPI_SLAVE_TIME=m +CONFIG_SPI_SPIDEV=m +CONFIG_SPI_SPRD=m +CONFIG_SPI_SPRD_ADI=m +# CONFIG_SPI_SUN4I is not set +CONFIG_SPI_SUN6I=m +CONFIG_SPI_SYNQUACER=m +CONFIG_SPI_TEGRA114=m +CONFIG_SPI_TEGRA20_SFLASH=m +CONFIG_SPI_TEGRA20_SLINK=m +CONFIG_SPI_TEGRA210_QUAD=m +CONFIG_SPI_THUNDERX=m +CONFIG_SPI_TI_QSPI=m +CONFIG_SPI_TLE62X0=m +# CONFIG_SPI_UNIPHIER is not set +CONFIG_SPI_XCOMM=m +# CONFIG_SPI_XILINX is not set +CONFIG_SPI_XLP=m +CONFIG_SPI_ZYNQMP_GQSPI=m +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_SPMI_HISI3670=m +CONFIG_SPMI_MSM_PMIC_ARB=m +CONFIG_SPMI_MTK_PMIF=m +CONFIG_SPMI_PMIC_CLKDIV=m +CONFIG_SPRD_COMMON_CLK=m +CONFIG_SPRD_DMA=m +CONFIG_SPRD_EFUSE=m +CONFIG_SPRD_IOMMU=m +CONFIG_SPRD_MBOX=m +CONFIG_SPRD_SC9860_CLK=m +CONFIG_SPRD_SC9863A_CLK=m +CONFIG_SPRD_THERMAL=m +CONFIG_SPRD_TIMER=y +CONFIG_SPRD_WATCHDOG=m +CONFIG_SPS30=m +CONFIG_SPS30_I2C=m +CONFIG_SPS30_SERIAL=m +CONFIG_SQUASHFS=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_DECOMP_MULTI is not set +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y +# CONFIG_SQUASHFS_DECOMP_SINGLE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +# CONFIG_SQUASHFS_FILE_CACHE is not set +CONFIG_SQUASHFS_FILE_DIRECT=y +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +CONFIG_SQUASHFS_LZ4=y +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_XZ=y +CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_ZSTD=y +CONFIG_SRAM_EXEC=y +CONFIG_SRCU=y +CONFIG_SRF04=m +CONFIG_SRF08=m +CONFIG_SSB_B43_PCI_BRIDGE=y +CONFIG_SSB_BLOCKIO=y +CONFIG_SSB_DRIVER_GPIO=y +CONFIG_SSB_DRIVER_PCICORE=y +CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y +CONFIG_SSB_PCIHOST=y +CONFIG_SSB_PCIHOST_POSSIBLE=y +# CONFIG_SSB_PCMCIAHOST is not set +CONFIG_SSB_PCMCIAHOST_POSSIBLE=y +CONFIG_SSB_POSSIBLE=y +CONFIG_SSB_SDIOHOST=y +CONFIG_SSB_SDIOHOST_POSSIBLE=y +CONFIG_SSB_SPROM=y +CONFIG_SSFDC=m +CONFIG_SSI_PROTOCOL=m +CONFIG_STACKDEPOT=y +CONFIG_STACKPROTECTOR=y +CONFIG_STACKPROTECTOR_PER_TASK=y +CONFIG_STACKPROTECTOR_STRONG=y +CONFIG_STACKTRACE=y +# CONFIG_STACKTRACE_BUILD_ID is not set +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_STACK_HASH_ORDER=20 +CONFIG_STACK_TRACER=y +CONFIG_STACK_VALIDATION=y +# CONFIG_STAGING_BOARD is not set +CONFIG_STAGING_MEDIA=y +# CONFIG_STATIC_CALL_SELFTEST is not set +# CONFIG_STATIC_KEYS_SELFTEST is not set +# CONFIG_STATIC_USERMODEHELPER is not set +CONFIG_STE10XP=m +CONFIG_STK3310=m +CONFIG_STK8312=m +CONFIG_STK8BA50=m +CONFIG_STM=m +CONFIG_STMMAC_ETH=m +CONFIG_STMMAC_PCI=m +CONFIG_STMMAC_PLATFORM=m +# CONFIG_STMMAC_SELFTESTS is not set +CONFIG_STMPE_ADC=m +CONFIG_STMPE_I2C=y +CONFIG_STMPE_SPI=y +CONFIG_STMP_DEVICE=y +CONFIG_STM_DUMMY=m +CONFIG_STM_PROTO_BASIC=m +CONFIG_STM_PROTO_SYS_T=m +CONFIG_STM_SOURCE_CONSOLE=m +CONFIG_STM_SOURCE_FTRACE=m +CONFIG_STM_SOURCE_HEARTBEAT=m +CONFIG_STP=m +CONFIG_STPMIC1_WATCHDOG=m +CONFIG_STREAM_PARSER=y +CONFIG_STRICT_DEVMEM=y +CONFIG_STRICT_KERNEL_RWX=y +CONFIG_STRICT_MODULE_RWX=y +# CONFIG_STRICT_SIGALTSTACK_SIZE is not set +# CONFIG_STRING_SELFTEST is not set +# CONFIG_STRIP_ASM_SYMS is not set +CONFIG_STUB_CLK_HI3660=y +CONFIG_STUB_CLK_HI6220=y +CONFIG_STX104=m +CONFIG_ST_UVIS25=m +CONFIG_ST_UVIS25_I2C=m +CONFIG_ST_UVIS25_SPI=m +# CONFIG_SUN4I_EMAC is not set +# CONFIG_SUN4I_GPADC is not set +CONFIG_SUN4I_TIMER=y +CONFIG_SUN50I_A100_CCU=y +CONFIG_SUN50I_A100_R_CCU=y +CONFIG_SUN50I_A64_CCU=y +CONFIG_SUN50I_DE2_BUS=y +CONFIG_SUN50I_ERRATUM_UNKNOWN1=y +CONFIG_SUN50I_H616_CCU=y +CONFIG_SUN50I_H6_CCU=y +CONFIG_SUN50I_H6_R_CCU=y +CONFIG_SUN50I_IOMMU=y +CONFIG_SUN6I_MSGBOX=y +CONFIG_SUN6I_RTC_CCU=m +CONFIG_SUN6I_R_INTC=y +CONFIG_SUN8I_DE2_CCU=y +CONFIG_SUN8I_H3_CCU=y +CONFIG_SUN8I_R_CCU=y +CONFIG_SUN8I_THERMAL=m +CONFIG_SUNDANCE=m +# CONFIG_SUNDANCE_MMIO is not set +CONFIG_SUNGEM=m +CONFIG_SUNGEM_PHY=m +CONFIG_SUNRPC=m +CONFIG_SUNRPC_BACKCHANNEL=y +CONFIG_SUNRPC_DEBUG=y +CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES=y +CONFIG_SUNRPC_GSS=m +CONFIG_SUNRPC_SWAP=y +CONFIG_SUNRPC_XPRT_RDMA=m +CONFIG_SUNXI_CCU=y +CONFIG_SUNXI_MBUS=y +CONFIG_SUNXI_NMI_INTC=y +CONFIG_SUNXI_RSB=m +CONFIG_SUNXI_SRAM=y +CONFIG_SUNXI_WATCHDOG=m +CONFIG_SURFACE3_WMI=m +CONFIG_SURFACE_ACPI_NOTIFY=m +CONFIG_SURFACE_AGGREGATOR=m +CONFIG_SURFACE_AGGREGATOR_BUS=y +CONFIG_SURFACE_AGGREGATOR_CDEV=m +# CONFIG_SURFACE_AGGREGATOR_ERROR_INJECTION is not set +CONFIG_SURFACE_AGGREGATOR_REGISTRY=m +CONFIG_SURFACE_DTX=m +CONFIG_SURFACE_GPE=m +CONFIG_SURFACE_HID=m +CONFIG_SURFACE_HID_CORE=m +CONFIG_SURFACE_HOTPLUG=m +CONFIG_SURFACE_KBD=m +CONFIG_SURFACE_PLATFORMS=y +CONFIG_SURFACE_PLATFORM_PROFILE=m +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +# CONFIG_SUSPEND_SKIP_SYNC is not set +CONFIG_SVC_I3C_MASTER=m +CONFIG_SWAP=y +CONFIG_SWIOTLB=y +CONFIG_SWIOTLB_XEN=y +CONFIG_SWPHY=y +CONFIG_SWP_EMULATE=y +CONFIG_SWP_EMULATION=y +CONFIG_SW_SYNC=y +CONFIG_SX9310=m +CONFIG_SX9324=m +CONFIG_SX9360=m +CONFIG_SX9500=m +CONFIG_SXGBE_ETH=m +CONFIG_SX_COMMON=m +CONFIG_SYMBOLIC_ERRNAME=y +CONFIG_SYNCLINK_CS=m +CONFIG_SYNCLINK_GT=m +CONFIG_SYNC_FILE=y +CONFIG_SYNTH_EVENTS=y +# CONFIG_SYNTH_EVENT_GEN_TEST is not set +CONFIG_SYN_COOKIES=y +CONFIG_SYSCON_REBOOT_MODE=m +CONFIG_SYSCTL=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_SYSC_R8A7742=y +CONFIG_SYSC_R8A7743=y +CONFIG_SYSC_R8A7745=y +CONFIG_SYSC_R8A77470=y +CONFIG_SYSC_R8A774A1=y +CONFIG_SYSC_R8A774B1=y +CONFIG_SYSC_R8A774C0=y +CONFIG_SYSC_R8A774E1=y +CONFIG_SYSC_R8A7779=y +CONFIG_SYSC_R8A7790=y +CONFIG_SYSC_R8A7791=y +CONFIG_SYSC_R8A7792=y +CONFIG_SYSC_R8A7794=y +CONFIG_SYSC_R8A7795=y +CONFIG_SYSC_R8A77960=y +CONFIG_SYSC_R8A77961=y +CONFIG_SYSC_R8A77965=y +CONFIG_SYSC_R8A77970=y +CONFIG_SYSC_R8A77980=y +CONFIG_SYSC_R8A77990=y +CONFIG_SYSC_R8A77995=y +CONFIG_SYSC_R8A779A0=y +CONFIG_SYSC_R8A779F0=y +CONFIG_SYSC_R8A779G0=y +CONFIG_SYSC_RCAR=y +CONFIG_SYSC_RCAR_GEN4=y +CONFIG_SYSC_RMOBILE=y +CONFIG_SYSFB=y +CONFIG_SYSFS=y +# CONFIG_SYSFS_DEPRECATED is not set +CONFIG_SYSFS_SYSCALL=y +CONFIG_SYSTEM76_ACPI=m +CONFIG_SYSTEMPORT=m +# CONFIG_SYSTEM_BLACKLIST_AUTH_UPDATE is not set +CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" +CONFIG_SYSTEM_BLACKLIST_KEYRING=y +CONFIG_SYSTEM_DATA_VERIFICATION=y +CONFIG_SYSTEM_EXTRA_CERTIFICATE=y +CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE=4096 +CONFIG_SYSTEM_REVOCATION_KEYS="debian/canonical-revoked-certs.pem" +CONFIG_SYSTEM_REVOCATION_LIST=y +CONFIG_SYSTEM_TRUSTED_KEYRING=y +CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem" +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_COMPAT=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_SYS_HYPERVISOR=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_SYS_SUPPORTS_EM_STI=y +CONFIG_SYS_SUPPORTS_SH_CMT=y +CONFIG_SYS_SUPPORTS_SH_MTU2=y +CONFIG_SYS_SUPPORTS_SH_TMU=y +CONFIG_T5403=m +CONFIG_TABLET_SERIAL_WACOM4=m +CONFIG_TABLET_USB_ACECAD=m +CONFIG_TABLET_USB_AIPTEK=m +CONFIG_TABLET_USB_HANWANG=m +CONFIG_TABLET_USB_KBTAB=m +CONFIG_TABLET_USB_PEGASUS=m +CONFIG_TAHVO_USB=m +CONFIG_TAHVO_USB_HOST_BY_DEFAULT=y +CONFIG_TAP=m +CONFIG_TARGET_CORE=m +CONFIG_TASKSTATS=y +CONFIG_TASKS_RCU=y +CONFIG_TASKS_RCU_GENERIC=y +CONFIG_TASKS_RUDE_RCU=y +CONFIG_TASKS_TRACE_RCU=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_TASK_XACCT=y +CONFIG_TCG_ATMEL=m +CONFIG_TCG_CRB=y +CONFIG_TCG_FTPM_TEE=m +CONFIG_TCG_IBMVTPM=y +CONFIG_TCG_INFINEON=m +CONFIG_TCG_NSC=m +CONFIG_TCG_TIS=y +CONFIG_TCG_TIS_CORE=y +CONFIG_TCG_TIS_SPI=m +CONFIG_TCG_TIS_SPI_CR50=y +CONFIG_TCG_TIS_ST33ZP24=m +CONFIG_TCG_TIS_ST33ZP24_SPI=m +CONFIG_TCG_TIS_SYNQUACER=m +CONFIG_TCG_TPM=y +CONFIG_TCG_VTPM_PROXY=m +CONFIG_TCG_XEN=m +CONFIG_TCM_FC=m +CONFIG_TCM_FILEIO=m +CONFIG_TCM_IBLOCK=m +CONFIG_TCM_PSCSI=m +CONFIG_TCM_QLA2XXX=m +# CONFIG_TCM_QLA2XXX_DEBUG is not set +CONFIG_TCM_USER2=m +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_BBR=m +CONFIG_TCP_CONG_BIC=m +CONFIG_TCP_CONG_CDG=m +CONFIG_TCP_CONG_CUBIC=y +CONFIG_TCP_CONG_DCTCP=m +CONFIG_TCP_CONG_HSTCP=m +CONFIG_TCP_CONG_HTCP=m +CONFIG_TCP_CONG_HYBLA=m +CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_TCP_CONG_LP=m +CONFIG_TCP_CONG_NV=m +CONFIG_TCP_CONG_SCALABLE=m +CONFIG_TCP_CONG_VEGAS=m +CONFIG_TCP_CONG_VENO=m +CONFIG_TCP_CONG_WESTWOOD=m +CONFIG_TCP_CONG_YEAH=m +CONFIG_TCP_MD5SIG=y +CONFIG_TCS3414=m +CONFIG_TCS3472=m +CONFIG_TDX_GUEST_DRIVER=m +CONFIG_TEE=m +CONFIG_TEE_BNXT_FW=m +CONFIG_TEGRA124_CLK_EMC=y +CONFIG_TEGRA124_EMC=y +CONFIG_TEGRA186_GPC_DMA=m +CONFIG_TEGRA20_APB_DMA=y +CONFIG_TEGRA20_EMC=y +CONFIG_TEGRA210_ADMA=m +CONFIG_TEGRA210_EMC=m +CONFIG_TEGRA210_EMC_TABLE=y +CONFIG_TEGRA30_EMC=y +CONFIG_TEGRA30_TSENSOR=m +CONFIG_TEGRA_ACONNECT=m +CONFIG_TEGRA_AHB=y +CONFIG_TEGRA_BPMP=y +CONFIG_TEGRA_BPMP_THERMAL=m +CONFIG_TEGRA_CLK_DFLL=y +CONFIG_TEGRA_GMI=m +CONFIG_TEGRA_HOST1X=m +CONFIG_TEGRA_HOST1X_CONTEXT_BUS=y +CONFIG_TEGRA_HOST1X_FIREWALL=y +CONFIG_TEGRA_HSP_MBOX=y +CONFIG_TEGRA_IOMMU_GART=y +CONFIG_TEGRA_IOMMU_SMMU=y +CONFIG_TEGRA_IVC=y +CONFIG_TEGRA_MC=y +# CONFIG_TEGRA_SOCTHERM is not set +CONFIG_TEGRA_TIMER=y +CONFIG_TEGRA_WATCHDOG=m +CONFIG_TEHUTI=m +CONFIG_TELCLOCK=m +CONFIG_TERANETICS_PHY=m +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +# CONFIG_TEST_BITMAP is not set +# CONFIG_TEST_BITOPS is not set +CONFIG_TEST_BLACKHOLE_DEV=m +CONFIG_TEST_BPF=m +# CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set +# CONFIG_TEST_DIV64 is not set +# CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_FPU is not set +# CONFIG_TEST_FREE_PAGES is not set +# CONFIG_TEST_HEXDUMP is not set +# CONFIG_TEST_HMM is not set +# CONFIG_TEST_IDA is not set +# CONFIG_TEST_KMOD is not set +# CONFIG_TEST_KSTRTOX is not set +# CONFIG_TEST_LIVEPATCH is not set +# CONFIG_TEST_LKM is not set +# CONFIG_TEST_LOCKUP is not set +# CONFIG_TEST_MEMCAT_P is not set +# CONFIG_TEST_MEMINIT is not set +# CONFIG_TEST_MIN_HEAP is not set +# CONFIG_TEST_OBJAGG is not set +# CONFIG_TEST_PARMAN is not set +CONFIG_TEST_POWER=m +# CONFIG_TEST_PRINTF is not set +# CONFIG_TEST_REF_TRACKER is not set +# CONFIG_TEST_RHASHTABLE is not set +# CONFIG_TEST_SCANF is not set +# CONFIG_TEST_SIPHASH is not set +# CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_TEST_STRING_HELPERS is not set +# CONFIG_TEST_STRSCPY is not set +# CONFIG_TEST_SYSCTL is not set +# CONFIG_TEST_UBSAN is not set +# CONFIG_TEST_UDELAY is not set +# CONFIG_TEST_USER_COPY is not set +# CONFIG_TEST_UUID is not set +# CONFIG_TEST_VMALLOC is not set +# CONFIG_TEST_XARRAY is not set +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_TEXTSEARCH_KMP=m +# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set +# CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR is not set +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y +# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 +CONFIG_THERMAL_EMULATION=y +CONFIG_THERMAL_GOV_BANG_BANG=y +CONFIG_THERMAL_GOV_FAIR_SHARE=y +CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y +CONFIG_THERMAL_GOV_STEP_WISE=y +CONFIG_THERMAL_GOV_USER_SPACE=y +CONFIG_THERMAL_HWMON=y +CONFIG_THERMAL_MMIO=m +CONFIG_THERMAL_NETLINK=y +CONFIG_THERMAL_OF=y +CONFIG_THERMAL_STATISTICS=y +CONFIG_THERMAL_WRITABLE_TRIPS=y +CONFIG_THINKPAD_ACPI=m +CONFIG_THINKPAD_ACPI_ALSA_SUPPORT=y +# CONFIG_THINKPAD_ACPI_DEBUG is not set +CONFIG_THINKPAD_ACPI_DEBUGFACILITIES=y +CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y +# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set +CONFIG_THINKPAD_ACPI_VIDEO=y +CONFIG_THINKPAD_LMI=m +CONFIG_THP_SWAP=y +CONFIG_THREAD_INFO_IN_TASK=y +CONFIG_THREAD_SHIFT=14 +CONFIG_THRUSTMASTER_FF=y +# CONFIG_THUMB2_KERNEL is not set +CONFIG_THUNDERX2_PMU=m +CONFIG_THUNDER_NIC_BGX=m +CONFIG_THUNDER_NIC_PF=m +CONFIG_THUNDER_NIC_RGX=m +CONFIG_THUNDER_NIC_VF=m +CONFIG_TICK_CPU_ACCOUNTING=y +CONFIG_TICK_ONESHOT=y +CONFIG_TIFM_7XX1=m +CONFIG_TIGON3=m +CONFIG_TIGON3_HWMON=y +CONFIG_TIMERFD=y +# CONFIG_TIMERLAT_TRACER is not set +CONFIG_TIMER_ACPI=y +CONFIG_TIMER_IMX_SYS_CTR=y +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +CONFIG_TIME_NS=y +CONFIG_TINYDRM_HX8357D=m +CONFIG_TINYDRM_ILI9163=m +CONFIG_TINYDRM_ILI9225=m +CONFIG_TINYDRM_ILI9341=m +CONFIG_TINYDRM_ILI9486=m +CONFIG_TINYDRM_MI0283QT=m +CONFIG_TINYDRM_REPAPER=m +CONFIG_TINYDRM_ST7586=m +CONFIG_TINYDRM_ST7735R=m +CONFIG_TIPC=m +CONFIG_TIPC_CRYPTO=y +CONFIG_TIPC_DIAG=m +CONFIG_TIPC_MEDIA_IB=y +CONFIG_TIPC_MEDIA_UDP=y +CONFIG_TI_ADC081C=m +CONFIG_TI_ADC0832=m +CONFIG_TI_ADC084S021=m +CONFIG_TI_ADC108S102=m +CONFIG_TI_ADC12138=m +CONFIG_TI_ADC128S052=m +CONFIG_TI_ADC161S626=m +CONFIG_TI_ADS1015=m +CONFIG_TI_ADS124S08=m +CONFIG_TI_ADS131E08=m +CONFIG_TI_ADS7950=m +CONFIG_TI_ADS8344=m +CONFIG_TI_ADS8688=m +CONFIG_TI_AM335X_ADC=m +CONFIG_TI_AM65_CPSW_TAS=y +CONFIG_TI_CPPI41=m +CONFIG_TI_CPSW=y +# CONFIG_TI_CPSW_PHY_SEL is not set +CONFIG_TI_CPSW_SWITCHDEV=m +CONFIG_TI_CPTS=y +CONFIG_TI_DAC082S085=m +CONFIG_TI_DAC5571=m +CONFIG_TI_DAC7311=m +CONFIG_TI_DAC7612=m +CONFIG_TI_DAVINCI_EMAC=m +CONFIG_TI_DAVINCI_MDIO=y +CONFIG_TI_DMA_CROSSBAR=y +CONFIG_TI_EDMA=y +CONFIG_TI_EMIF=m +CONFIG_TI_EMIF_SRAM=m +CONFIG_TI_EQEP=m +CONFIG_TI_K3_AM65_CPSW_NUSS=m +CONFIG_TI_K3_AM65_CPSW_SWITCHDEV=y +CONFIG_TI_K3_AM65_CPTS=m +CONFIG_TI_K3_DSP_REMOTEPROC=m +CONFIG_TI_K3_PSIL=y +CONFIG_TI_K3_R5_REMOTEPROC=m +CONFIG_TI_K3_RINGACC=y +CONFIG_TI_K3_SOCINFO=y +CONFIG_TI_K3_UDMA=y +CONFIG_TI_K3_UDMA_GLUE_LAYER=y +CONFIG_TI_MESSAGE_MANAGER=y +CONFIG_TI_PIPE3=m +CONFIG_TI_PRUSS=m +CONFIG_TI_PRUSS_INTC=m +CONFIG_TI_PWMSS=y +CONFIG_TI_SCI_CLK=m +# CONFIG_TI_SCI_CLK_PROBE_FROM_FW is not set +CONFIG_TI_SCI_INTA_IRQCHIP=y +CONFIG_TI_SCI_INTA_MSI_DOMAIN=y +CONFIG_TI_SCI_INTR_IRQCHIP=y +CONFIG_TI_SCI_PM_DOMAINS=m +CONFIG_TI_SCI_PROTOCOL=y +# CONFIG_TI_SOC_THERMAL is not set +CONFIG_TI_ST=m +CONFIG_TI_SYSC=y +CONFIG_TI_SYSCON_CLK=y +CONFIG_TI_TLC4541=m +CONFIG_TI_TSC2046=m +CONFIG_TLAN=m +CONFIG_TLS=m +CONFIG_TLS_DEVICE=y +# CONFIG_TLS_TOE is not set +CONFIG_TMD_HERMES=m +CONFIG_TMP006=m +CONFIG_TMP007=m +CONFIG_TMP117=m +CONFIG_TMPFS=y +CONFIG_TMPFS_INODE64=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +CONFIG_TN3215=y +CONFIG_TN3215_CONSOLE=y +CONFIG_TN3270=y +CONFIG_TN3270_CONSOLE=y +CONFIG_TN3270_FS=m +CONFIG_TN3270_TTY=y +CONFIG_TOPSTAR_LAPTOP=m +CONFIG_TOSHIBA_BT_RFKILL=m +CONFIG_TOSHIBA_HAPS=m +# CONFIG_TOSHIBA_WMI is not set +CONFIG_TOUCHSCREEN_88PM860X=m +CONFIG_TOUCHSCREEN_AD7877=m +CONFIG_TOUCHSCREEN_AD7879=m +CONFIG_TOUCHSCREEN_AD7879_I2C=m +CONFIG_TOUCHSCREEN_AD7879_SPI=m +CONFIG_TOUCHSCREEN_ADC=m +CONFIG_TOUCHSCREEN_ADS7846=m +CONFIG_TOUCHSCREEN_AR1021_I2C=m +CONFIG_TOUCHSCREEN_ATMEL_MXT=m +CONFIG_TOUCHSCREEN_ATMEL_MXT_T37=y +CONFIG_TOUCHSCREEN_AUO_PIXCIR=m +CONFIG_TOUCHSCREEN_BU21013=m +CONFIG_TOUCHSCREEN_BU21029=m +CONFIG_TOUCHSCREEN_CHIPONE_ICN8318=m +CONFIG_TOUCHSCREEN_CHIPONE_ICN8505=m +CONFIG_TOUCHSCREEN_COLIBRI_VF50=m +CONFIG_TOUCHSCREEN_CY8CTMA140=m +CONFIG_TOUCHSCREEN_CY8CTMG110=m +CONFIG_TOUCHSCREEN_CYTTSP4_CORE=m +CONFIG_TOUCHSCREEN_CYTTSP4_I2C=m +CONFIG_TOUCHSCREEN_CYTTSP4_SPI=m +CONFIG_TOUCHSCREEN_CYTTSP_CORE=m +CONFIG_TOUCHSCREEN_CYTTSP_I2C=m +CONFIG_TOUCHSCREEN_CYTTSP_SPI=m +CONFIG_TOUCHSCREEN_DA9034=m +CONFIG_TOUCHSCREEN_DA9052=m +CONFIG_TOUCHSCREEN_DMI=y +CONFIG_TOUCHSCREEN_DYNAPRO=m +CONFIG_TOUCHSCREEN_EDT_FT5X06=m +CONFIG_TOUCHSCREEN_EETI=m +CONFIG_TOUCHSCREEN_EGALAX=m +CONFIG_TOUCHSCREEN_EGALAX_SERIAL=m +CONFIG_TOUCHSCREEN_EKTF2127=m +CONFIG_TOUCHSCREEN_ELO=m +CONFIG_TOUCHSCREEN_EXC3000=m +CONFIG_TOUCHSCREEN_FUJITSU=m +CONFIG_TOUCHSCREEN_GOODIX=m +CONFIG_TOUCHSCREEN_GUNZE=m +CONFIG_TOUCHSCREEN_HAMPSHIRE=m +CONFIG_TOUCHSCREEN_HIDEEP=m +CONFIG_TOUCHSCREEN_HYCON_HY46XX=m +CONFIG_TOUCHSCREEN_ILI210X=m +CONFIG_TOUCHSCREEN_ILITEK=m +CONFIG_TOUCHSCREEN_IMAGIS=m +CONFIG_TOUCHSCREEN_IMX6UL_TSC=m +CONFIG_TOUCHSCREEN_INEXIO=m +CONFIG_TOUCHSCREEN_IPROC=m +CONFIG_TOUCHSCREEN_IQS5XX=m +CONFIG_TOUCHSCREEN_MAX11801=m +CONFIG_TOUCHSCREEN_MC13783=m +CONFIG_TOUCHSCREEN_MCS5000=m +CONFIG_TOUCHSCREEN_MELFAS_MIP4=m +CONFIG_TOUCHSCREEN_MK712=m +CONFIG_TOUCHSCREEN_MMS114=m +CONFIG_TOUCHSCREEN_MSG2638=m +CONFIG_TOUCHSCREEN_MTOUCH=m +CONFIG_TOUCHSCREEN_PCAP=m +CONFIG_TOUCHSCREEN_PENMOUNT=m +CONFIG_TOUCHSCREEN_PIXCIR=m +CONFIG_TOUCHSCREEN_RASPBERRYPI_FW=m +CONFIG_TOUCHSCREEN_RM_TS=m +CONFIG_TOUCHSCREEN_ROHM_BU21023=m +CONFIG_TOUCHSCREEN_S6SY761=m +CONFIG_TOUCHSCREEN_SILEAD=m +CONFIG_TOUCHSCREEN_SIS_I2C=m +CONFIG_TOUCHSCREEN_ST1232=m +CONFIG_TOUCHSCREEN_STMFTS=m +CONFIG_TOUCHSCREEN_STMPE=m +# CONFIG_TOUCHSCREEN_SUN4I is not set +CONFIG_TOUCHSCREEN_SUR40=m +CONFIG_TOUCHSCREEN_SURFACE3_SPI=m +CONFIG_TOUCHSCREEN_SX8654=m +CONFIG_TOUCHSCREEN_TI_AM335X_TSC=m +CONFIG_TOUCHSCREEN_TOUCHIT213=m +CONFIG_TOUCHSCREEN_TOUCHRIGHT=m +CONFIG_TOUCHSCREEN_TOUCHWIN=m +CONFIG_TOUCHSCREEN_TPS6507X=m +CONFIG_TOUCHSCREEN_TS4800=m +CONFIG_TOUCHSCREEN_TSC2004=m +CONFIG_TOUCHSCREEN_TSC2005=m +CONFIG_TOUCHSCREEN_TSC2007=m +CONFIG_TOUCHSCREEN_TSC2007_IIO=y +CONFIG_TOUCHSCREEN_TSC200X_CORE=m +CONFIG_TOUCHSCREEN_TSC_SERIO=m +CONFIG_TOUCHSCREEN_UCB1400=m +CONFIG_TOUCHSCREEN_USB_3M=y +CONFIG_TOUCHSCREEN_USB_COMPOSITE=m +CONFIG_TOUCHSCREEN_USB_DMC_TSC10=y +CONFIG_TOUCHSCREEN_USB_E2I=y +CONFIG_TOUCHSCREEN_USB_EASYTOUCH=y +CONFIG_TOUCHSCREEN_USB_EGALAX=y +CONFIG_TOUCHSCREEN_USB_ELO=y +CONFIG_TOUCHSCREEN_USB_ETT_TC45USB=y +CONFIG_TOUCHSCREEN_USB_ETURBO=y +CONFIG_TOUCHSCREEN_USB_GENERAL_TOUCH=y +CONFIG_TOUCHSCREEN_USB_GOTOP=y +CONFIG_TOUCHSCREEN_USB_GUNZE=y +CONFIG_TOUCHSCREEN_USB_IDEALTEK=y +CONFIG_TOUCHSCREEN_USB_IRTOUCH=y +CONFIG_TOUCHSCREEN_USB_ITM=y +CONFIG_TOUCHSCREEN_USB_JASTEC=y +CONFIG_TOUCHSCREEN_USB_NEXIO=y +CONFIG_TOUCHSCREEN_USB_PANJIT=y +CONFIG_TOUCHSCREEN_USB_ZYTRONIC=y +CONFIG_TOUCHSCREEN_WACOM_I2C=m +CONFIG_TOUCHSCREEN_WACOM_W8001=m +CONFIG_TOUCHSCREEN_WDT87XX_I2C=m +CONFIG_TOUCHSCREEN_WM831X=m +CONFIG_TOUCHSCREEN_WM9705=y +CONFIG_TOUCHSCREEN_WM9712=y +CONFIG_TOUCHSCREEN_WM9713=y +CONFIG_TOUCHSCREEN_WM97XX=m +CONFIG_TOUCHSCREEN_ZET6223=m +CONFIG_TOUCHSCREEN_ZFORCE=m +CONFIG_TOUCHSCREEN_ZINITIX=m +CONFIG_TPL0102=m +CONFIG_TPS68470_PMIC_OPREGION=y +CONFIG_TQMX86_WDT=m +CONFIG_TRACEPOINTS=y +# CONFIG_TRACEPOINT_BENCHMARK is not set +CONFIG_TRACER_MAX_TRACE=y +CONFIG_TRACER_SNAPSHOT=y +# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set +CONFIG_TRACE_CLOCK=y +# CONFIG_TRACE_EVAL_MAP_FILE is not set +CONFIG_TRACE_EVENT_INJECT=y +CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_TRACING=y +CONFIG_TRACING_MAP=y +CONFIG_TRACING_SUPPORT=y +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_TRANS_TABLE=y +CONFIG_TREE_RCU=y +CONFIG_TREE_SRCU=y +# CONFIG_TRIM_UNUSED_KSYMS is not set +CONFIG_TRUSTED_FOUNDATIONS=y +CONFIG_TRUSTED_KEYS=y +CONFIG_TRUSTED_KEYS_TPM=y +CONFIG_TS4800_IRQ=m +CONFIG_TS4800_WATCHDOG=m +CONFIG_TSL2583=m +CONFIG_TSL2591=m +CONFIG_TSL2772=m +CONFIG_TSL4531=m +CONFIG_TSNEP=m +# CONFIG_TSNEP_SELFTESTS is not set +CONFIG_TSYS01=m +CONFIG_TSYS02D=m +CONFIG_TTPCI_EEPROM=m +CONFIG_TTY=y +CONFIG_TTY_PRINTK_LEVEL=6 +CONFIG_TULIP=m +# CONFIG_TULIP_MMIO is not set +# CONFIG_TULIP_MWI is not set +# CONFIG_TULIP_NAPI is not set +CONFIG_TUN=y +# CONFIG_TUNE_DEFAULT is not set +CONFIG_TUNE_GENERIC=y +# CONFIG_TUNE_Z10 is not set +# CONFIG_TUNE_Z13 is not set +# CONFIG_TUNE_Z14 is not set +CONFIG_TUNE_Z15=y +# CONFIG_TUNE_Z16 is not set +# CONFIG_TUNE_Z196 is not set +# CONFIG_TUNE_ZEC12 is not set +# CONFIG_TUN_VNET_CROSS_LE is not set +CONFIG_TURRIS_MOX_RWTM=m +CONFIG_TWL4030_CORE=y +CONFIG_TWL4030_MADC=m +CONFIG_TWL4030_POWER=y +CONFIG_TWL4030_USB=m +CONFIG_TWL4030_WATCHDOG=m +CONFIG_TWL6030_GPADC=m +CONFIG_TWL6030_USB=m +CONFIG_TWL6040_CORE=y +CONFIG_TYPEC=m +CONFIG_TYPEC_DP_ALTMODE=m +CONFIG_TYPEC_FUSB302=m +CONFIG_TYPEC_HD3SS3220=m +CONFIG_TYPEC_MT6360=m +CONFIG_TYPEC_MUX_FSA4480=m +CONFIG_TYPEC_MUX_INTEL_PMC=m +CONFIG_TYPEC_MUX_PI3USB30532=m +CONFIG_TYPEC_NVIDIA_ALTMODE=m +CONFIG_TYPEC_QCOM_PMIC=m +CONFIG_TYPEC_RT1711H=m +CONFIG_TYPEC_RT1719=m +CONFIG_TYPEC_STUSB160X=m +CONFIG_TYPEC_TCPCI=m +CONFIG_TYPEC_TCPCI_MAXIM=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_TPS6598X=m +CONFIG_TYPEC_UCSI=m +CONFIG_TYPEC_WCOVE=m +CONFIG_TYPEC_WUSB3801=m +CONFIG_TYPHOON=m +# CONFIG_UACCESS_WITH_MEMCPY is not set +# CONFIG_UBIFS_ATIME_SUPPORT is not set +CONFIG_UBIFS_FS=m +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +CONFIG_UBIFS_FS_AUTHENTICATION=y +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_SECURITY=y +CONFIG_UBIFS_FS_XATTR=y +CONFIG_UBIFS_FS_ZLIB=y +CONFIG_UBIFS_FS_ZSTD=y +# CONFIG_UBSAN_ALIGNMENT is not set +CONFIG_UBSAN_BOOL=y +CONFIG_UBSAN_BOUNDS=y +# CONFIG_UBSAN_DIV_ZERO is not set +CONFIG_UBSAN_ENUM=y +CONFIG_UBSAN_ONLY_BOUNDS=y +CONFIG_UBSAN_SANITIZE_ALL=y +CONFIG_UBSAN_SHIFT=y +# CONFIG_UBSAN_TRAP is not set +# CONFIG_UBSAN_UNREACHABLE is not set +CONFIG_UBUNTU_HOST=m +CONFIG_UBUNTU_ODM_DRIVERS=y +CONFIG_UCB1400_CORE=m +CONFIG_UCC=y +CONFIG_UCC_FAST=y +CONFIG_UCC_SLOW=y +CONFIG_UCLAMP_BUCKETS_COUNT=5 +CONFIG_UCLAMP_TASK=y +CONFIG_UCLAMP_TASK_GROUP=y +CONFIG_UCS2_STRING=y +CONFIG_UCSI_ACPI=m +CONFIG_UCSI_CCG=m +# CONFIG_UDBG_RTAS_CONSOLE is not set +CONFIG_UDF_FS=m +CONFIG_UDMABUF=y +CONFIG_UEFI_CPER=y +CONFIG_UEFI_CPER_ARM=y +CONFIG_UEFI_CPER_X86=y +CONFIG_UEVENT_HELPER=y +CONFIG_UEVENT_HELPER_PATH="" +# CONFIG_UFS_DEBUG is not set +# CONFIG_UFS_FS_WRITE is not set +CONFIG_UHID=m +CONFIG_UID16=y +CONFIG_UIO=m +CONFIG_UIO_DFL=m +CONFIG_UIO_FSL_ELBC_GPCM=m +# CONFIG_UIO_FSL_ELBC_GPCM_NETX5152 is not set +CONFIG_UIO_HV_GENERIC=m +CONFIG_ULI526X=m +CONFIG_UNCOMPRESS_INCLUDE="debug/uncompress.h" +CONFIG_UNICODE=y +# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set +CONFIG_UNINLINE_SPIN_UNLOCK=y +# CONFIG_UNIPHIER_EFUSE is not set +# CONFIG_UNIPHIER_MDMAC is not set +# CONFIG_UNIPHIER_SYSTEM_BUS is not set +# CONFIG_UNIPHIER_THERMAL is not set +# CONFIG_UNIPHIER_WATCHDOG is not set +# CONFIG_UNIPHIER_XDMAC is not set +CONFIG_UNIX=y +CONFIG_UNIX98_PTYS=y +CONFIG_UNIX_DIAG=m +CONFIG_UNIX_SCM=y +CONFIG_UNMAP_KERNEL_AT_EL0=y +# CONFIG_UNWINDER_ARM is not set +CONFIG_UNWINDER_FRAME_POINTER=y +# CONFIG_UNWINDER_ORC is not set +CONFIG_UPROBES=y +CONFIG_UPROBE_EVENTS=y +CONFIG_US5182D=m +CONFIG_USB=y +# CONFIG_USB4_DEBUGFS_WRITE is not set +# CONFIG_USB4_DMA_TEST is not set +CONFIG_USB4_NET=m +CONFIG_USBIP_CORE=m +# CONFIG_USBIP_DEBUG is not set +CONFIG_USBIP_HOST=m +CONFIG_USBIP_VHCI_HCD=m +CONFIG_USBIP_VHCI_HC_PORTS=8 +CONFIG_USBIP_VHCI_NR_HCS=1 +CONFIG_USBIP_VUDC=m +CONFIG_USBPCWATCHDOG=m +CONFIG_USB_ACM=m +CONFIG_USB_ADUTUX=m +CONFIG_USB_AIRSPY=m +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AMD5536UDC=m +CONFIG_USB_AN2720=y +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_APPLEDISPLAY=m +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARMLINUX=y +CONFIG_USB_ASPEED_VHUB=m +CONFIG_USB_ATM=m +CONFIG_USB_AUDIO=m +CONFIG_USB_AUTOSUSPEND_DELAY=2 +CONFIG_USB_BDC_UDC=m +CONFIG_USB_BELKIN=y +CONFIG_USB_BRCMSTB=m +CONFIG_USB_C67X00_HCD=m +CONFIG_USB_CATC=m +CONFIG_USB_CDC_COMPOSITE=m +CONFIG_USB_CDC_PHONET=m +CONFIG_USB_CDNS3=m +CONFIG_USB_CDNS3_GADGET=y +CONFIG_USB_CDNS3_HOST=y +CONFIG_USB_CDNS3_IMX=m +CONFIG_USB_CDNS3_PCI_WRAP=m +CONFIG_USB_CDNS3_TI=m +CONFIG_USB_CDNSP_GADGET=y +CONFIG_USB_CDNSP_HOST=y +CONFIG_USB_CDNSP_PCI=m +CONFIG_USB_CDNS_HOST=y +CONFIG_USB_CDNS_SUPPORT=m +CONFIG_USB_CHAOSKEY=m +CONFIG_USB_CHIPIDEA=m +CONFIG_USB_CHIPIDEA_GENERIC=m +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_IMX=m +CONFIG_USB_CHIPIDEA_MSM=m +CONFIG_USB_CHIPIDEA_PCI=m +CONFIG_USB_CHIPIDEA_TEGRA=m +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_COMMON=y +CONFIG_USB_CONFIGFS=m +CONFIG_USB_CONFIGFS_ACM=y +CONFIG_USB_CONFIGFS_ECM=y +CONFIG_USB_CONFIGFS_ECM_SUBSET=y +CONFIG_USB_CONFIGFS_EEM=y +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_HID=y +CONFIG_USB_CONFIGFS_F_LB_SS=y +CONFIG_USB_CONFIGFS_F_MIDI=y +CONFIG_USB_CONFIGFS_F_PRINTER=y +CONFIG_USB_CONFIGFS_F_TCM=y +CONFIG_USB_CONFIGFS_F_UAC1=y +CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y +CONFIG_USB_CONFIGFS_F_UAC2=y +CONFIG_USB_CONFIGFS_F_UVC=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +CONFIG_USB_CONFIGFS_NCM=y +CONFIG_USB_CONFIGFS_OBEX=y +CONFIG_USB_CONFIGFS_PHONET=y +CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONN_GPIO=m +CONFIG_USB_CXACRU=m +CONFIG_USB_CYPRESS_CY7C63=m +CONFIG_USB_CYTHERM=m +CONFIG_USB_DEFAULT_PERSIST=y +CONFIG_USB_DSBR=m +# CONFIG_USB_DUMMY_HCD is not set +CONFIG_USB_DWC2=y +# CONFIG_USB_DWC2_DEBUG is not set +# CONFIG_USB_DWC2_DUAL_ROLE is not set +CONFIG_USB_DWC2_HOST=y +CONFIG_USB_DWC2_PCI=m +# CONFIG_USB_DWC2_PERIPHERAL is not set +# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set +CONFIG_USB_DWC3=m +CONFIG_USB_DWC3_AM62=m +CONFIG_USB_DWC3_DUAL_ROLE=y +# CONFIG_USB_DWC3_EXYNOS is not set +# CONFIG_USB_DWC3_GADGET is not set +CONFIG_USB_DWC3_HAPS=m +# CONFIG_USB_DWC3_HOST is not set +CONFIG_USB_DWC3_IMX8MP=m +CONFIG_USB_DWC3_KEYSTONE=m +CONFIG_USB_DWC3_MESON_G12A=m +CONFIG_USB_DWC3_OF_SIMPLE=m +CONFIG_USB_DWC3_OMAP=m +CONFIG_USB_DWC3_PCI=m +CONFIG_USB_DWC3_QCOM=m +CONFIG_USB_DWC3_ULPI=y +CONFIG_USB_DWC3_XILINX=m +CONFIG_USB_DYNAMIC_MINORS=y +CONFIG_USB_EG20T=m +CONFIG_USB_EHCI_BRCMSTB=m +# CONFIG_USB_EHCI_EXYNOS is not set +CONFIG_USB_EHCI_FSL=m +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_HCD_NPCM7XX=m +CONFIG_USB_EHCI_HCD_OMAP=m +CONFIG_USB_EHCI_HCD_ORION=y +CONFIG_USB_EHCI_HCD_PPC_OF=y +CONFIG_USB_EHCI_PCI=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TEGRA=m +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHSET_TEST_FIXTURE=m +CONFIG_USB_EMI26=m +CONFIG_USB_EMI62=m +CONFIG_USB_EPSON2888=y +CONFIG_USB_ETH=m +CONFIG_USB_ETH_EEM=y +CONFIG_USB_ETH_RNDIS=y +CONFIG_USB_EZUSB_FX2=m +# CONFIG_USB_FEW_INIT_RETRIES is not set +CONFIG_USB_FHCI_HCD=m +CONFIG_USB_FOTG210_HCD=m +CONFIG_USB_FOTG210_UDC=m +CONFIG_USB_FTDI_ELAN=m +CONFIG_USB_FUNCTIONFS=m +CONFIG_USB_FUNCTIONFS_ETH=y +CONFIG_USB_FUNCTIONFS_GENERIC=y +CONFIG_USB_FUNCTIONFS_RNDIS=y +CONFIG_USB_FUSB300=m +CONFIG_USB_F_ACM=m +CONFIG_USB_F_ECM=m +CONFIG_USB_F_EEM=m +CONFIG_USB_F_FS=m +CONFIG_USB_F_HID=m +CONFIG_USB_F_MASS_STORAGE=m +CONFIG_USB_F_MIDI=m +CONFIG_USB_F_NCM=m +CONFIG_USB_F_OBEX=m +CONFIG_USB_F_PHONET=m +CONFIG_USB_F_PRINTER=m +CONFIG_USB_F_RNDIS=m +CONFIG_USB_F_SERIAL=m +CONFIG_USB_F_SS_LB=m +CONFIG_USB_F_SUBSET=m +CONFIG_USB_F_TCM=m +CONFIG_USB_F_UAC1=m +CONFIG_USB_F_UAC1_LEGACY=m +CONFIG_USB_F_UAC2=m +CONFIG_USB_F_UVC=m +CONFIG_USB_GADGETFS=m +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 +CONFIG_USB_GADGET_TARGET=m +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_XILINX=m +CONFIG_USB_GL860=m +CONFIG_USB_GOKU=m +CONFIG_USB_GPIO_VBUS=m +CONFIG_USB_GR_UDC=m +CONFIG_USB_GSPCA=m +CONFIG_USB_GSPCA_BENQ=m +CONFIG_USB_GSPCA_CONEX=m +CONFIG_USB_GSPCA_CPIA1=m +CONFIG_USB_GSPCA_DTCS033=m +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m +CONFIG_USB_GSPCA_JL2005BCD=m +CONFIG_USB_GSPCA_KINECT=m +CONFIG_USB_GSPCA_KONICA=m +CONFIG_USB_GSPCA_MARS=m +CONFIG_USB_GSPCA_MR97310A=m +CONFIG_USB_GSPCA_NW80X=m +CONFIG_USB_GSPCA_OV519=m +CONFIG_USB_GSPCA_OV534=m +CONFIG_USB_GSPCA_OV534_9=m +CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7302=m +CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SE401=m +CONFIG_USB_GSPCA_SN9C2028=m +CONFIG_USB_GSPCA_SN9C20X=m +CONFIG_USB_GSPCA_SONIXB=m +CONFIG_USB_GSPCA_SONIXJ=m +CONFIG_USB_GSPCA_SPCA1528=m +CONFIG_USB_GSPCA_SPCA500=m +CONFIG_USB_GSPCA_SPCA501=m +CONFIG_USB_GSPCA_SPCA505=m +CONFIG_USB_GSPCA_SPCA506=m +CONFIG_USB_GSPCA_SPCA508=m +CONFIG_USB_GSPCA_SPCA561=m +CONFIG_USB_GSPCA_SQ905=m +CONFIG_USB_GSPCA_SQ905C=m +CONFIG_USB_GSPCA_SQ930X=m +CONFIG_USB_GSPCA_STK014=m +CONFIG_USB_GSPCA_STK1135=m +CONFIG_USB_GSPCA_STV0680=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TOPRO=m +CONFIG_USB_GSPCA_TOUPTEK=m +CONFIG_USB_GSPCA_TV8532=m +CONFIG_USB_GSPCA_VC032X=m +CONFIG_USB_GSPCA_VICAM=m +CONFIG_USB_GSPCA_XIRLINK_CIT=m +CONFIG_USB_GSPCA_ZC3XX=m +CONFIG_USB_G_ACM_MS=m +CONFIG_USB_G_DBGP=m +# CONFIG_USB_G_DBGP_PRINTK is not set +CONFIG_USB_G_DBGP_SERIAL=y +CONFIG_USB_G_HID=m +# CONFIG_USB_G_MULTI is not set +CONFIG_USB_G_NCM=m +CONFIG_USB_G_NOKIA=m +CONFIG_USB_G_PRINTER=m +CONFIG_USB_G_SERIAL=m +CONFIG_USB_G_WEBCAM=m +CONFIG_USB_HACKRF=m +CONFIG_USB_HCD_BCMA=m +CONFIG_USB_HCD_SSB=m +# CONFIG_USB_HCD_TEST_MODE is not set +CONFIG_USB_HID=m +CONFIG_USB_HIDDEV=y +CONFIG_USB_HSIC_USB3503=m +CONFIG_USB_HSIC_USB4604=m +CONFIG_USB_HSO=m +CONFIG_USB_HUB_USB251XB=m +CONFIG_USB_IDMOUSE=m +CONFIG_USB_IOWARRIOR=m +CONFIG_USB_IPHETH=m +CONFIG_USB_ISIGHTFW=m +CONFIG_USB_ISP116X_HCD=m +CONFIG_USB_ISP1301=m +CONFIG_USB_ISP1760=m +CONFIG_USB_ISP1760_DUAL_ROLE=y +# CONFIG_USB_ISP1760_GADGET_ROLE is not set +CONFIG_USB_ISP1760_HCD=y +# CONFIG_USB_ISP1760_HOST_ROLE is not set +CONFIG_USB_ISP1761_UDC=y +CONFIG_USB_KAWETH=m +CONFIG_USB_KBD=m +CONFIG_USB_KC2190=y +CONFIG_USB_KEENE=m +CONFIG_USB_LAN78XX=m +CONFIG_USB_LCD=m +CONFIG_USB_LD=m +CONFIG_USB_LEDS_TRIGGER_USBPORT=m +CONFIG_USB_LED_TRIG=y +CONFIG_USB_LEGOTOWER=m +CONFIG_USB_LGM_PHY=m +CONFIG_USB_LIBCOMPOSITE=m +CONFIG_USB_LINK_LAYER_TEST=m +CONFIG_USB_M5602=m +# CONFIG_USB_M66592 is not set +CONFIG_USB_MA901=m +CONFIG_USB_MASS_STORAGE=m +CONFIG_USB_MAX3420_UDC=m +CONFIG_USB_MAX3421_HCD=m +CONFIG_USB_MDC800=m +CONFIG_USB_MICROTEK=m +CONFIG_USB_MIDI_GADGET=m +CONFIG_USB_MON=m +CONFIG_USB_MOUSE=m +CONFIG_USB_MR800=m +CONFIG_USB_MSI2500=m +CONFIG_USB_MTU3=m +# CONFIG_USB_MTU3_DEBUG is not set +CONFIG_USB_MTU3_DUAL_ROLE=y +# CONFIG_USB_MTU3_GADGET is not set +# CONFIG_USB_MTU3_HOST is not set +CONFIG_USB_MUSB_AM35X=m +CONFIG_USB_MUSB_DSPS=m +CONFIG_USB_MUSB_DUAL_ROLE=y +# CONFIG_USB_MUSB_GADGET is not set +# CONFIG_USB_MUSB_HOST is not set +CONFIG_USB_MUSB_MEDIATEK=m +CONFIG_USB_MUSB_OMAP2PLUS=m +CONFIG_USB_MUSB_POLARFIRE_SOC=m +CONFIG_USB_MUSB_SUNXI=m +CONFIG_USB_MUSB_TUSB6010=m +CONFIG_USB_MV_U3D=m +CONFIG_USB_MV_UDC=m +CONFIG_USB_MXS_PHY=y +CONFIG_USB_NET2272=m +CONFIG_USB_NET2272_DMA=y +CONFIG_USB_NET2280=m +CONFIG_USB_NET_AQC111=m +CONFIG_USB_NET_AX88179_178A=m +CONFIG_USB_NET_AX8817X=m +CONFIG_USB_NET_CDCETHER=m +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_CDC_MBIM=m +CONFIG_USB_NET_CDC_NCM=m +CONFIG_USB_NET_CDC_SUBSET=m +CONFIG_USB_NET_CDC_SUBSET_ENABLE=m +CONFIG_USB_NET_CH9200=m +CONFIG_USB_NET_CX82310_ETH=m +CONFIG_USB_NET_DM9601=m +CONFIG_USB_NET_DRIVERS=m +CONFIG_USB_NET_GL620A=m +CONFIG_USB_NET_HUAWEI_CDC_NCM=m +CONFIG_USB_NET_INT51X1=m +CONFIG_USB_NET_KALMIA=m +CONFIG_USB_NET_MCS7830=m +CONFIG_USB_NET_NET1080=m +CONFIG_USB_NET_PLUSB=m +CONFIG_USB_NET_QMI_WWAN=m +CONFIG_USB_NET_RNDIS_HOST=m +CONFIG_USB_NET_RNDIS_WLAN=m +CONFIG_USB_NET_SMSC75XX=m +CONFIG_USB_NET_SMSC95XX=m +CONFIG_USB_NET_SR9700=m +CONFIG_USB_NET_SR9800=m +CONFIG_USB_NET_ZAURUS=m +# CONFIG_USB_OHCI_EXYNOS is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_OHCI_HCD_OMAP3=m +CONFIG_USB_OHCI_HCD_PCI=y +# CONFIG_USB_OHCI_HCD_PPC_OF_BE is not set +# CONFIG_USB_OHCI_HCD_PPC_OF_LE is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_OTG is not set +# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set +# CONFIG_USB_OTG_PRODUCTLIST is not set +CONFIG_USB_OXU210HP_HCD=m +CONFIG_USB_PCI=y +CONFIG_USB_PEGASUS=m +CONFIG_USB_PHY=y +CONFIG_USB_PRINTER=m +CONFIG_USB_PULSE8_CEC=m +CONFIG_USB_PWC=m +# CONFIG_USB_PWC_DEBUG is not set +CONFIG_USB_PWC_INPUT_EVDEV=y +CONFIG_USB_PXA27X=m +CONFIG_USB_QCOM_EUD=m +CONFIG_USB_R8A66597=m +CONFIG_USB_R8A66597_HCD=m +CONFIG_USB_RAINSHADOW_CEC=m +CONFIG_USB_RAREMONO=m +CONFIG_USB_RAW_GADGET=m +CONFIG_USB_RENESAS_USB3=m +CONFIG_USB_RENESAS_USBHS=m +CONFIG_USB_RENESAS_USBHS_HCD=m +CONFIG_USB_RENESAS_USBHS_UDC=m +CONFIG_USB_ROLES_INTEL_XHCI=m +CONFIG_USB_ROLE_SWITCH=y +CONFIG_USB_RTL8150=m +CONFIG_USB_RTL8152=m +CONFIG_USB_RTL8153_ECM=m +CONFIG_USB_S2255=m +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_DEBUG=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_F81232=m +CONFIG_USB_SERIAL_F8153X=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_METRO=m +CONFIG_USB_SERIAL_MOS7715_PARPORT=y +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MXUPORT=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QT2=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_SAFE=m +# CONFIG_USB_SERIAL_SAFE_PADDED is not set +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SIMPLE=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_SSU100=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_UPD78F0730=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_WISHBONE=m +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_XR=m +CONFIG_USB_SERIAL_XSENS_MT=m +CONFIG_USB_SEVSEG=m +CONFIG_USB_SI470X=m +CONFIG_USB_SI4713=m +CONFIG_USB_SIERRA_NET=m +CONFIG_USB_SISUSBVGA=m +CONFIG_USB_SL811_CS=m +CONFIG_USB_SL811_HCD=m +CONFIG_USB_SL811_HCD_ISO=y +CONFIG_USB_SNP_CORE=m +CONFIG_USB_SNP_UDC_PLAT=m +CONFIG_USB_SPEEDTOUCH=m +CONFIG_USB_STKWEBCAM=m +CONFIG_USB_STORAGE=m +CONFIG_USB_STORAGE_ALAUDA=m +CONFIG_USB_STORAGE_CYPRESS_ATACB=m +CONFIG_USB_STORAGE_DATAFAB=m +# CONFIG_USB_STORAGE_DEBUG is not set +CONFIG_USB_STORAGE_ENE_UB6250=m +CONFIG_USB_STORAGE_FREECOM=m +CONFIG_USB_STORAGE_ISD200=m +CONFIG_USB_STORAGE_JUMPSHOT=m +CONFIG_USB_STORAGE_KARMA=m +CONFIG_USB_STORAGE_ONETOUCH=m +CONFIG_USB_STORAGE_REALTEK=m +CONFIG_USB_STORAGE_SDDR09=m +CONFIG_USB_STORAGE_SDDR55=m +CONFIG_USB_STORAGE_USBAT=m +CONFIG_USB_STV06XX=m +CONFIG_USB_TEGRA_PHY=m +CONFIG_USB_TEGRA_XUDC=m +CONFIG_USB_TEST=m +CONFIG_USB_TMC=m +CONFIG_USB_TRANCEVIBRATOR=m +CONFIG_USB_U132_HCD=m +CONFIG_USB_UAS=m +CONFIG_USB_UEAGLEATM=m +CONFIG_USB_UHCI_ASPEED=y +CONFIG_USB_UHCI_HCD=y +CONFIG_USB_UHCI_PLATFORM=y +CONFIG_USB_UHCI_SUPPORT_NON_PCI_HC=y +CONFIG_USB_ULPI=y +CONFIG_USB_ULPI_BUS=m +CONFIG_USB_ULPI_VIEWPORT=y +CONFIG_USB_USBNET=m +CONFIG_USB_USS720=m +CONFIG_USB_U_AUDIO=m +CONFIG_USB_U_ETHER=m +CONFIG_USB_U_SERIAL=m +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y +CONFIG_USB_VL600=m +CONFIG_USB_WDM=m +CONFIG_USB_XEN_HCD=m +CONFIG_USB_XHCI_DBGCAP=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_HISTB=m +CONFIG_USB_XHCI_MTK=m +CONFIG_USB_XHCI_MVEBU=m +CONFIG_USB_XHCI_PCI=m +CONFIG_USB_XHCI_PCI_RENESAS=m +CONFIG_USB_XHCI_PLATFORM=m +CONFIG_USB_XHCI_RCAR=m +CONFIG_USB_XHCI_TEGRA=m +CONFIG_USB_XUSBATM=m +CONFIG_USB_YUREX=m +CONFIG_USB_ZD1201=m +CONFIG_USB_ZERO=m +CONFIG_USB_ZR364XX=m +CONFIG_USELIB=y +CONFIG_USERFAULTFD=y +CONFIG_USERIO=m +CONFIG_USERMODE_DRIVER=y +CONFIG_USER_DECRYPTED_DATA=y +CONFIG_USER_NS=y +CONFIG_USER_RETURN_NOTIFIER=y +CONFIG_USER_STACKTRACE_SUPPORT=y +CONFIG_USE_OF=y +CONFIG_USE_PERCPU_NUMA_NODE_ID=y +CONFIG_UTS_NS=y +CONFIG_UV_MMTIMER=m +CONFIG_UV_SYSFS=m +CONFIG_U_SERIAL_CONSOLE=y +CONFIG_V4L2_ASYNC=m +CONFIG_V4L2_FLASH_LED_CLASS=m +CONFIG_V4L2_FWNODE=m +CONFIG_V4L2_H264=m +CONFIG_V4L2_JPEG_HELPER=m +CONFIG_V4L2_MEM2MEM_DEV=m +CONFIG_V4L2_VP9=m +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_V4L_TEST_DRIVERS=y +CONFIG_VALIDATE_FS_PARSER=y +CONFIG_VBOXGUEST=m +CONFIG_VBOXSF_FS=m +CONFIG_VCHIQ_CDEV=y +CONFIG_VCNL3020=m +CONFIG_VCNL4000=m +CONFIG_VCNL4035=m +CONFIG_VDPA_SIM=m +CONFIG_VDPA_SIM_BLOCK=m +CONFIG_VDPA_SIM_NET=m +CONFIG_VDPA_USER=m +CONFIG_VDSO=y +CONFIG_VDSO32=y +CONFIG_VEML6030=m +CONFIG_VEML6070=m +CONFIG_VERSION_SIGNATURE="" +CONFIG_VETH=m +CONFIG_VEXPRESS_CONFIG=y +CONFIG_VF610_ADC=m +CONFIG_VF610_DAC=m +CONFIG_VFAT_FS=y +CONFIG_VFIO_AMBA=m +CONFIG_VFIO_AP=m +CONFIG_VFIO_CCW=m +CONFIG_VFIO_FSL_MC=m +CONFIG_VFIO_IOMMU_SPAPR_TCE=y +CONFIG_VFIO_MDEV=m +CONFIG_VFIO_NOIOMMU=y +CONFIG_VFIO_PCI_IGD=y +CONFIG_VFIO_PCI_INTX=y +CONFIG_VFIO_PCI_MMAP=y +CONFIG_VFIO_PCI_VGA=y +CONFIG_VFIO_PCI_ZDEV_KVM=y +CONFIG_VFIO_PLATFORM=m +CONFIG_VFIO_PLATFORM_AMDXGBE_RESET=m +CONFIG_VFIO_PLATFORM_BCMFLEXRM_RESET=m +CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET=m +CONFIG_VFIO_SPAPR_EEH=y +CONFIG_VFP=y +CONFIG_VFPv3=y +CONFIG_VF_USE_ARM_GLOBAL_TIMER=y +# CONFIG_VF_USE_PIT_TIMER is not set +CONFIG_VGASTATE=m +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +CONFIG_VGA_CONSOLE=y +CONFIG_VGA_SWITCHEROO=y +CONFIG_VHOST=m +# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set +CONFIG_VHOST_IOTLB=m +CONFIG_VHOST_MENU=y +CONFIG_VHOST_NET=m +CONFIG_VHOST_RING=m +CONFIG_VHOST_SCSI=m +CONFIG_VHOST_VDPA=m +CONFIG_VHOST_VSOCK=m +CONFIG_VIA_RHINE=m +CONFIG_VIA_RHINE_MMIO=y +CONFIG_VIA_VELOCITY=m +CONFIG_VIA_WDT=m +CONFIG_VIDEOBUF2_CORE=m +CONFIG_VIDEOBUF2_DMA_CONTIG=m +CONFIG_VIDEOBUF2_DMA_SG=m +CONFIG_VIDEOBUF2_DVB=m +CONFIG_VIDEOBUF2_MEMOPS=m +CONFIG_VIDEOBUF2_V4L2=m +CONFIG_VIDEOBUF2_VMALLOC=m +CONFIG_VIDEOBUF_DMA_SG=m +CONFIG_VIDEOBUF_GEN=m +CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_VIDEOMODE_HELPERS=y +CONFIG_VIDEO_AD5820=m +CONFIG_VIDEO_AD9389B=m +CONFIG_VIDEO_ADP1653=m +CONFIG_VIDEO_ADV7170=m +CONFIG_VIDEO_ADV7175=m +CONFIG_VIDEO_ADV7180=m +CONFIG_VIDEO_ADV7183=m +CONFIG_VIDEO_ADV7343=m +CONFIG_VIDEO_ADV7393=m +CONFIG_VIDEO_ADV748X=m +CONFIG_VIDEO_ADV7511=m +# CONFIG_VIDEO_ADV7511_CEC is not set +CONFIG_VIDEO_ADV7604=m +CONFIG_VIDEO_ADV7604_CEC=y +CONFIG_VIDEO_ADV7842=m +CONFIG_VIDEO_ADV7842_CEC=y +# CONFIG_VIDEO_ADV_DEBUG is not set +CONFIG_VIDEO_AK7375=m +CONFIG_VIDEO_AK881X=m +CONFIG_VIDEO_ALLEGRO_DVT=m +CONFIG_VIDEO_AMPHION_VPU=m +CONFIG_VIDEO_APTINA_PLL=m +CONFIG_VIDEO_ASPEED=m +CONFIG_VIDEO_ATOMISP=m +CONFIG_VIDEO_ATOMISP_GC0310=m +CONFIG_VIDEO_ATOMISP_GC2235=m +CONFIG_VIDEO_ATOMISP_ISP2401=y +CONFIG_VIDEO_ATOMISP_LM3554=m +CONFIG_VIDEO_ATOMISP_MSRLIST_HELPER=m +CONFIG_VIDEO_ATOMISP_MT9M114=m +CONFIG_VIDEO_ATOMISP_OV2680=m +CONFIG_VIDEO_ATOMISP_OV2722=m +CONFIG_VIDEO_ATOMISP_OV5693=m +CONFIG_VIDEO_AU0828=m +CONFIG_VIDEO_AU0828_RC=y +CONFIG_VIDEO_AU0828_V4L2=y +CONFIG_VIDEO_BCM2835=m +CONFIG_VIDEO_BT819=m +CONFIG_VIDEO_BT848=m +CONFIG_VIDEO_BT856=m +CONFIG_VIDEO_BT866=m +CONFIG_VIDEO_CADENCE_CSI2RX=m +CONFIG_VIDEO_CADENCE_CSI2TX=m +CONFIG_VIDEO_CAFE_CCIC=m +CONFIG_VIDEO_CCS=m +CONFIG_VIDEO_CCS_PLL=m +CONFIG_VIDEO_COBALT=m +CONFIG_VIDEO_CODA=m +CONFIG_VIDEO_CPIA2=m +CONFIG_VIDEO_CS3308=m +CONFIG_VIDEO_CS5345=m +CONFIG_VIDEO_CS53L32A=m +CONFIG_VIDEO_CX18=m +CONFIG_VIDEO_CX18_ALSA=m +CONFIG_VIDEO_CX231XX=m +CONFIG_VIDEO_CX231XX_ALSA=m +CONFIG_VIDEO_CX231XX_DVB=m +CONFIG_VIDEO_CX231XX_RC=y +CONFIG_VIDEO_CX2341X=m +CONFIG_VIDEO_CX23885=m +CONFIG_VIDEO_CX25821=m +CONFIG_VIDEO_CX25821_ALSA=m +CONFIG_VIDEO_CX25840=m +CONFIG_VIDEO_CX88=m +CONFIG_VIDEO_CX88_ALSA=m +CONFIG_VIDEO_CX88_BLACKBIRD=m +CONFIG_VIDEO_CX88_DVB=m +CONFIG_VIDEO_CX88_ENABLE_VP3054=y +CONFIG_VIDEO_CX88_MPEG=m +CONFIG_VIDEO_CX88_VP3054=m +CONFIG_VIDEO_DEV=m +CONFIG_VIDEO_DT3155=m +CONFIG_VIDEO_DW9714=m +CONFIG_VIDEO_DW9768=m +CONFIG_VIDEO_DW9807_VCM=m +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_EM28XX_DVB=m +CONFIG_VIDEO_EM28XX_RC=m +CONFIG_VIDEO_EM28XX_V4L2=m +CONFIG_VIDEO_ET8EK8=m +CONFIG_VIDEO_FB_IVTV=m +CONFIG_VIDEO_FB_IVTV_FORCE_PAT=y +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEO_GO7007=m +CONFIG_VIDEO_GO7007_LOADER=m +CONFIG_VIDEO_GO7007_USB=m +CONFIG_VIDEO_GO7007_USB_S2250_BOARD=m +CONFIG_VIDEO_GS1662=m +CONFIG_VIDEO_HANTRO=m +CONFIG_VIDEO_HANTRO_IMX8M=y +CONFIG_VIDEO_HANTRO_ROCKCHIP=y +CONFIG_VIDEO_HANTRO_SUNXI=y +CONFIG_VIDEO_HDPVR=m +CONFIG_VIDEO_HEXIUM_GEMINI=m +CONFIG_VIDEO_HEXIUM_ORION=m +CONFIG_VIDEO_HI556=m +CONFIG_VIDEO_HI846=m +CONFIG_VIDEO_HI847=m +CONFIG_VIDEO_I2C=m +CONFIG_VIDEO_IMX208=m +CONFIG_VIDEO_IMX214=m +CONFIG_VIDEO_IMX219=m +CONFIG_VIDEO_IMX258=m +CONFIG_VIDEO_IMX274=m +CONFIG_VIDEO_IMX290=m +CONFIG_VIDEO_IMX319=m +CONFIG_VIDEO_IMX334=m +CONFIG_VIDEO_IMX335=m +CONFIG_VIDEO_IMX355=m +CONFIG_VIDEO_IMX412=m +CONFIG_VIDEO_IMX7_CSI=m +CONFIG_VIDEO_IMX8_JPEG=m +CONFIG_VIDEO_IMX_CSI=m +CONFIG_VIDEO_IMX_MEDIA=m +CONFIG_VIDEO_IMX_MIPI_CSIS=m +CONFIG_VIDEO_IMX_PXP=m +CONFIG_VIDEO_IMX_VDOA=m +CONFIG_VIDEO_IPU3_CIO2=m +CONFIG_VIDEO_IPU3_IMGU=m +CONFIG_VIDEO_IR_I2C=m +CONFIG_VIDEO_ISL7998X=m +CONFIG_VIDEO_IVTV=m +CONFIG_VIDEO_IVTV_ALSA=m +CONFIG_VIDEO_KS0127=m +CONFIG_VIDEO_LM3560=m +CONFIG_VIDEO_LM3646=m +CONFIG_VIDEO_M52790=m +CONFIG_VIDEO_M5MOLS=m +CONFIG_VIDEO_MAX9271_LIB=m +CONFIG_VIDEO_MAX9286=m +CONFIG_VIDEO_MAX96712=m +CONFIG_VIDEO_MEDIATEK_VPU=m +CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m +CONFIG_VIDEO_MESON_GE2D=m +CONFIG_VIDEO_MESON_VDEC=m +CONFIG_VIDEO_MEYE=m +CONFIG_VIDEO_ML86V7667=m +CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_MT9M001=m +CONFIG_VIDEO_MT9M032=m +CONFIG_VIDEO_MT9M111=m +CONFIG_VIDEO_MT9P031=m +CONFIG_VIDEO_MT9T001=m +CONFIG_VIDEO_MT9T112=m +CONFIG_VIDEO_MT9V011=m +CONFIG_VIDEO_MT9V032=m +CONFIG_VIDEO_MT9V111=m +CONFIG_VIDEO_MUX=m +CONFIG_VIDEO_MXB=m +CONFIG_VIDEO_NOON010PC30=m +CONFIG_VIDEO_OG01A1B=m +CONFIG_VIDEO_OMAP2_VOUT=m +CONFIG_VIDEO_OMAP2_VOUT_VRFB=y +CONFIG_VIDEO_OMAP3=m +# CONFIG_VIDEO_OMAP3_DEBUG is not set +CONFIG_VIDEO_OMAP4=m +CONFIG_VIDEO_OV02A10=m +CONFIG_VIDEO_OV08D10=m +CONFIG_VIDEO_OV13858=m +CONFIG_VIDEO_OV13B10=m +CONFIG_VIDEO_OV2640=m +CONFIG_VIDEO_OV2659=m +CONFIG_VIDEO_OV2680=m +CONFIG_VIDEO_OV2685=m +CONFIG_VIDEO_OV2740=m +CONFIG_VIDEO_OV5640=m +CONFIG_VIDEO_OV5645=m +CONFIG_VIDEO_OV5647=m +CONFIG_VIDEO_OV5648=m +CONFIG_VIDEO_OV5670=m +CONFIG_VIDEO_OV5675=m +CONFIG_VIDEO_OV5693=m +CONFIG_VIDEO_OV5695=m +CONFIG_VIDEO_OV6650=m +CONFIG_VIDEO_OV7251=m +CONFIG_VIDEO_OV7640=m +CONFIG_VIDEO_OV7670=m +CONFIG_VIDEO_OV772X=m +CONFIG_VIDEO_OV7740=m +CONFIG_VIDEO_OV8856=m +CONFIG_VIDEO_OV8865=m +CONFIG_VIDEO_OV9282=m +CONFIG_VIDEO_OV9640=m +CONFIG_VIDEO_OV9650=m +CONFIG_VIDEO_OV9734=m +# CONFIG_VIDEO_PCI_SKELETON is not set +CONFIG_VIDEO_PVRUSB2=m +# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set +CONFIG_VIDEO_PVRUSB2_DVB=y +CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_QCOM_CAMSS=m +CONFIG_VIDEO_QCOM_VENUS=m +CONFIG_VIDEO_RCAR_CSI2=m +CONFIG_VIDEO_RCAR_DRIF=m +CONFIG_VIDEO_RCAR_ISP=m +CONFIG_VIDEO_RCAR_VIN=m +CONFIG_VIDEO_RDACM20=m +CONFIG_VIDEO_RDACM21=m +CONFIG_VIDEO_RENESAS_CEU=m +CONFIG_VIDEO_RENESAS_FCP=m +CONFIG_VIDEO_RENESAS_FDP1=m +CONFIG_VIDEO_RENESAS_JPU=m +CONFIG_VIDEO_RENESAS_VSP1=m +CONFIG_VIDEO_RJ54N1=m +CONFIG_VIDEO_ROCKCHIP_ISP1=m +CONFIG_VIDEO_ROCKCHIP_RGA=m +CONFIG_VIDEO_ROCKCHIP_VDEC=m +CONFIG_VIDEO_S5C73M3=m +CONFIG_VIDEO_S5K4ECGX=m +CONFIG_VIDEO_S5K5BAF=m +CONFIG_VIDEO_S5K6A3=m +CONFIG_VIDEO_S5K6AA=m +CONFIG_VIDEO_SAA6588=m +CONFIG_VIDEO_SAA6752HS=m +CONFIG_VIDEO_SAA7110=m +CONFIG_VIDEO_SAA711X=m +CONFIG_VIDEO_SAA7127=m +CONFIG_VIDEO_SAA7134=m +CONFIG_VIDEO_SAA7134_ALSA=m +CONFIG_VIDEO_SAA7134_DVB=m +CONFIG_VIDEO_SAA7134_GO7007=m +CONFIG_VIDEO_SAA7134_RC=y +CONFIG_VIDEO_SAA7146=m +CONFIG_VIDEO_SAA7146_VV=m +CONFIG_VIDEO_SAA7164=m +CONFIG_VIDEO_SAA717X=m +CONFIG_VIDEO_SAA7185=m +# CONFIG_VIDEO_SAMSUNG_EXYNOS4_IS is not set +# CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC is not set +# CONFIG_VIDEO_SAMSUNG_S5P_G2D is not set +# CONFIG_VIDEO_SAMSUNG_S5P_JPEG is not set +# CONFIG_VIDEO_SAMSUNG_S5P_MFC is not set +CONFIG_VIDEO_SOLO6X10=m +CONFIG_VIDEO_SONY_BTF_MPX=m +CONFIG_VIDEO_SR030PC30=m +CONFIG_VIDEO_STK1160=m +CONFIG_VIDEO_STK1160_COMMON=m +CONFIG_VIDEO_ST_MIPID02=m +CONFIG_VIDEO_SUN4I_CSI=m +CONFIG_VIDEO_SUN6I_CSI=m +CONFIG_VIDEO_SUN8I_DEINTERLACE=m +CONFIG_VIDEO_SUN8I_ROTATE=m +CONFIG_VIDEO_SUNXI=y +CONFIG_VIDEO_SUNXI_CEDRUS=m +CONFIG_VIDEO_TC358743=m +CONFIG_VIDEO_TC358743_CEC=y +CONFIG_VIDEO_TDA1997X=m +CONFIG_VIDEO_TDA7432=m +CONFIG_VIDEO_TDA9840=m +CONFIG_VIDEO_TEA6415C=m +CONFIG_VIDEO_TEA6420=m +CONFIG_VIDEO_TEGRA=m +CONFIG_VIDEO_TEGRA_TPG=y +CONFIG_VIDEO_TEGRA_VDE=m +CONFIG_VIDEO_THS7303=m +CONFIG_VIDEO_THS8200=m +CONFIG_VIDEO_TI_CAL=m +CONFIG_VIDEO_TI_CSC=m +CONFIG_VIDEO_TI_SC=m +CONFIG_VIDEO_TI_VPDMA=m +CONFIG_VIDEO_TI_VPE=m +# CONFIG_VIDEO_TI_VPE_DEBUG is not set +CONFIG_VIDEO_TLV320AIC23B=m +CONFIG_VIDEO_TM6000=m +CONFIG_VIDEO_TM6000_ALSA=m +CONFIG_VIDEO_TM6000_DVB=m +CONFIG_VIDEO_TUNER=m +CONFIG_VIDEO_TVAUDIO=m +CONFIG_VIDEO_TVEEPROM=m +CONFIG_VIDEO_TVP514X=m +CONFIG_VIDEO_TVP5150=m +CONFIG_VIDEO_TVP7002=m +CONFIG_VIDEO_TW2804=m +CONFIG_VIDEO_TW5864=m +CONFIG_VIDEO_TW68=m +CONFIG_VIDEO_TW686X=m +CONFIG_VIDEO_TW9903=m +CONFIG_VIDEO_TW9906=m +CONFIG_VIDEO_TW9910=m +CONFIG_VIDEO_UDA1342=m +CONFIG_VIDEO_UPD64031A=m +CONFIG_VIDEO_UPD64083=m +CONFIG_VIDEO_USBTV=m +CONFIG_VIDEO_V4L2_I2C=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_VIDEO_V4L2_TPG=m +CONFIG_VIDEO_VIA_CAMERA=m +CONFIG_VIDEO_VICODEC=m +CONFIG_VIDEO_VIM2M=m +CONFIG_VIDEO_VIMC=m +CONFIG_VIDEO_VIVID=m +CONFIG_VIDEO_VIVID_CEC=y +CONFIG_VIDEO_VIVID_MAX_DEVS=64 +CONFIG_VIDEO_VP27SMPX=m +CONFIG_VIDEO_VPX3220=m +CONFIG_VIDEO_VS6624=m +CONFIG_VIDEO_WM8739=m +CONFIG_VIDEO_WM8775=m +CONFIG_VIDEO_XILINX=m +CONFIG_VIDEO_XILINX_CSI2RXSS=m +CONFIG_VIDEO_XILINX_TPG=m +CONFIG_VIDEO_XILINX_VTC=m +# CONFIG_VIDEO_ZORAN is not set +CONFIG_VIPERBOARD_ADC=m +CONFIG_VIRTIO=y +CONFIG_VIRTIO_ANCHOR=y +CONFIG_VIRTIO_BALLOON=y +CONFIG_VIRTIO_BLK=m +CONFIG_VIRTIO_CONSOLE=y +CONFIG_VIRTIO_DMA_SHARED_BUFFER=m +CONFIG_VIRTIO_FS=m +CONFIG_VIRTIO_INPUT=m +CONFIG_VIRTIO_IOMMU=y +CONFIG_VIRTIO_MEM=m +CONFIG_VIRTIO_MENU=y +CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y +CONFIG_VIRTIO_NET=m +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_PCI_LEGACY=y +CONFIG_VIRTIO_PCI_LIB=y +CONFIG_VIRTIO_PCI_LIB_LEGACY=y +CONFIG_VIRTIO_PMEM=m +CONFIG_VIRTIO_VDPA=m +CONFIG_VIRTIO_VSOCKETS=m +CONFIG_VIRTIO_VSOCKETS_COMMON=m +CONFIG_VIRTUALIZATION=y +CONFIG_VIRT_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +CONFIG_VIRT_DRIVERS=y +CONFIG_VIRT_TO_BUS=y +CONFIG_VIRT_WIFI=m +CONFIG_VISCONTI_WATCHDOG=m +CONFIG_VITESSE_PHY=m +CONFIG_VL53L0X_I2C=m +CONFIG_VL6180=m +CONFIG_VLAN_8021Q=m +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLAN_8021Q_MVRP=y +CONFIG_VMAP_PFN=y +CONFIG_VMCP=y +CONFIG_VMCP_CMA_SIZE=4 +CONFIG_VMD=m +CONFIG_VME_CA91CX42=m +CONFIG_VME_FAKE=m +CONFIG_VME_TSI148=m +CONFIG_VME_USER=m +CONFIG_VMGENID=m +CONFIG_VMIVME_7805=m +CONFIG_VMLINUX_MAP=y +CONFIG_VMLOGRDR=m +# CONFIG_VMSPLIT_1G is not set +# CONFIG_VMSPLIT_2G is not set +CONFIG_VMSPLIT_3G=y +# CONFIG_VMSPLIT_3G_OPT is not set +CONFIG_VMWARE_BALLOON=m +CONFIG_VMWARE_PVSCSI=m +CONFIG_VMWARE_VMCI=m +CONFIG_VMWARE_VMCI_VSOCKETS=m +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_VORTEX=m +CONFIG_VP_VDPA=m +CONFIG_VSOCKETS=m +CONFIG_VSOCKETS_DIAG=m +CONFIG_VSOCKETS_LOOPBACK=m +CONFIG_VSOCKMON=m +CONFIG_VSX=y +CONFIG_VT=y +CONFIG_VT6655=m +CONFIG_VT6656=m +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_VT_HW_CONSOLE_BINDING=y +# CONFIG_VXGE_DEBUG_TRACE_ALL is not set +CONFIG_VXLAN=m +CONFIG_VZ89X=m +CONFIG_W1_CON=y +CONFIG_W1_MASTER_DS1WM=m +CONFIG_W1_MASTER_DS2482=m +CONFIG_W1_MASTER_DS2490=m +CONFIG_W1_MASTER_GPIO=m +CONFIG_W1_MASTER_MATROX=m +CONFIG_W1_MASTER_MXC=m +CONFIG_W1_MASTER_SGI=m +CONFIG_W1_SLAVE_DS2405=m +CONFIG_W1_SLAVE_DS2406=m +CONFIG_W1_SLAVE_DS2408=m +CONFIG_W1_SLAVE_DS2408_READBACK=y +CONFIG_W1_SLAVE_DS2413=m +CONFIG_W1_SLAVE_DS2423=m +CONFIG_W1_SLAVE_DS2430=m +CONFIG_W1_SLAVE_DS2431=m +CONFIG_W1_SLAVE_DS2433=m +# CONFIG_W1_SLAVE_DS2433_CRC is not set +CONFIG_W1_SLAVE_DS2438=m +CONFIG_W1_SLAVE_DS250X=m +CONFIG_W1_SLAVE_DS2780=m +CONFIG_W1_SLAVE_DS2781=m +CONFIG_W1_SLAVE_DS2805=m +CONFIG_W1_SLAVE_DS28E04=m +CONFIG_W1_SLAVE_DS28E17=m +CONFIG_W1_SLAVE_SMEM=m +CONFIG_W1_SLAVE_THERM=m +CONFIG_W83627HF_WDT=m +CONFIG_W83877F_WDT=m +CONFIG_W83977F_WDT=m +CONFIG_WAFER_WDT=m +CONFIG_WANT_COMPAT_NETLINK_MESSAGES=y +CONFIG_WANT_DEV_COREDUMP=y +CONFIG_WANXL=m +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y +# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set +# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_OPEN_TIMEOUT=0 +CONFIG_WATCHDOG_PRETIMEOUT_DEFAULT_GOV_NOOP=y +# CONFIG_WATCHDOG_PRETIMEOUT_DEFAULT_GOV_PANIC is not set +CONFIG_WATCHDOG_PRETIMEOUT_GOV=y +CONFIG_WATCHDOG_PRETIMEOUT_GOV_NOOP=y +CONFIG_WATCHDOG_PRETIMEOUT_GOV_PANIC=m +CONFIG_WATCHDOG_PRETIMEOUT_GOV_SEL=m +CONFIG_WATCHDOG_RTAS=m +CONFIG_WATCHDOG_SYSFS=y +CONFIG_WATCH_QUEUE=y +CONFIG_WCN36XX=m +# CONFIG_WCN36XX_DEBUGFS is not set +CONFIG_WDAT_WDT=m +# CONFIG_WERROR is not set +CONFIG_WEXT_CORE=y +CONFIG_WEXT_PRIV=y +CONFIG_WEXT_PROC=y +CONFIG_WEXT_SPY=y +CONFIG_WFX=m +CONFIG_WIL6210=m +CONFIG_WIL6210_DEBUGFS=y +CONFIG_WIL6210_ISR_COR=y +CONFIG_WIL6210_TRACING=y +CONFIG_WILC1000=m +CONFIG_WILC1000_HW_OOB_INTR=y +CONFIG_WILC1000_SDIO=m +CONFIG_WILC1000_SPI=m +CONFIG_WILCO_EC=m +CONFIG_WILCO_EC_DEBUGFS=m +CONFIG_WILCO_EC_EVENTS=m +CONFIG_WILCO_EC_TELEMETRY=m +CONFIG_WILINK_PLATFORM_DATA=y +CONFIG_WINBOND_840=m +CONFIG_WINDFARM=m +CONFIG_WINMATE_FM07_KEYS=m +CONFIG_WIREGUARD=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_WIRELESS=y +CONFIG_WIRELESS_EXT=y +CONFIG_WIRELESS_HOTKEY=m +CONFIG_WIZNET_BUS_ANY=y +# CONFIG_WIZNET_BUS_DIRECT is not set +# CONFIG_WIZNET_BUS_INDIRECT is not set +CONFIG_WIZNET_W5100=m +CONFIG_WIZNET_W5100_SPI=m +CONFIG_WIZNET_W5300=m +# CONFIG_WKUP_M3_IPC is not set +CONFIG_WKUP_M3_RPROC=m +CONFIG_WL1251=m +CONFIG_WL1251_SDIO=m +CONFIG_WL1251_SPI=m +CONFIG_WL12XX=m +CONFIG_WL18XX=m +CONFIG_WLAN=y +CONFIG_WLAN_VENDOR_ADMTEK=y +CONFIG_WLAN_VENDOR_ATH=y +CONFIG_WLAN_VENDOR_ATMEL=y +CONFIG_WLAN_VENDOR_BROADCOM=y +CONFIG_WLAN_VENDOR_CISCO=y +CONFIG_WLAN_VENDOR_INTEL=y +CONFIG_WLAN_VENDOR_INTERSIL=y +CONFIG_WLAN_VENDOR_MARVELL=y +CONFIG_WLAN_VENDOR_MEDIATEK=y +CONFIG_WLAN_VENDOR_MICROCHIP=y +CONFIG_WLAN_VENDOR_PURELIFI=y +CONFIG_WLAN_VENDOR_QUANTENNA=y +CONFIG_WLAN_VENDOR_RALINK=y +CONFIG_WLAN_VENDOR_REALTEK=y +CONFIG_WLAN_VENDOR_RSI=y +CONFIG_WLAN_VENDOR_SILABS=y +CONFIG_WLAN_VENDOR_ST=y +CONFIG_WLAN_VENDOR_TI=y +CONFIG_WLAN_VENDOR_ZYDAS=y +CONFIG_WLCORE=m +CONFIG_WLCORE_SDIO=m +CONFIG_WLCORE_SPI=m +CONFIG_WM831X_BACKUP=m +CONFIG_WM831X_POWER=m +CONFIG_WM831X_WATCHDOG=m +CONFIG_WM8350_POWER=m +CONFIG_WM8350_WATCHDOG=m +CONFIG_WMI_BMOF=m +CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y +# CONFIG_WQ_WATCHDOG is not set +CONFIG_WWAN_DEBUGFS=y +CONFIG_WWAN_HWSIM=m +# CONFIG_WW_MUTEX_SELFTEST is not set +CONFIG_X509_CERTIFICATE_PARSER=y +CONFIG_X86=y +CONFIG_X86_16BIT=y +CONFIG_X86_5LEVEL=y +CONFIG_X86_64=y +CONFIG_X86_64_ACPI_NUMA=y +CONFIG_X86_64_SMP=y +CONFIG_X86_ACPI_CPUFREQ=y +CONFIG_X86_ACPI_CPUFREQ_CPB=y +CONFIG_X86_AMD_FREQ_SENSITIVITY=m +CONFIG_X86_AMD_PLATFORM_DEVICE=y +CONFIG_X86_AMD_PSTATE=y +CONFIG_X86_ANDROID_TABLETS=m +CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y +CONFIG_X86_CHECK_BIOS_CORRUPTION=y +CONFIG_X86_CMOV=y +CONFIG_X86_CMPXCHG64=y +# CONFIG_X86_CPA_STATISTICS is not set +CONFIG_X86_CPUID=m +CONFIG_X86_CPU_RESCTRL=y +CONFIG_X86_DEBUGCTLMSR=y +CONFIG_X86_DEBUG_FPU=y +# CONFIG_X86_DECODER_SELFTEST is not set +CONFIG_X86_DIRECT_GBPAGES=y +CONFIG_X86_ESPFIX64=y +CONFIG_X86_EXTENDED_PLATFORM=y +CONFIG_X86_FEATURE_NAMES=y +# CONFIG_X86_GOLDFISH is not set +CONFIG_X86_HV_CALLBACK_VECTOR=y +CONFIG_X86_INTEL_LPSS=y +CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y +# CONFIG_X86_INTEL_MID is not set +CONFIG_X86_INTEL_PSTATE=y +# CONFIG_X86_INTEL_TSX_MODE_AUTO is not set +CONFIG_X86_INTEL_TSX_MODE_OFF=y +# CONFIG_X86_INTEL_TSX_MODE_ON is not set +CONFIG_X86_INTERNODE_CACHE_SHIFT=6 +CONFIG_X86_IOPL_IOPERM=y +CONFIG_X86_IO_APIC=y +# CONFIG_X86_KERNEL_IBT is not set +CONFIG_X86_L1_CACHE_SHIFT=6 +CONFIG_X86_LOCAL_APIC=y +CONFIG_X86_MCE=y +CONFIG_X86_MCELOG_LEGACY=y +CONFIG_X86_MCE_AMD=y +CONFIG_X86_MCE_INJECT=m +CONFIG_X86_MCE_INTEL=y +CONFIG_X86_MCE_THRESHOLD=y +CONFIG_X86_MEM_ENCRYPT=y +CONFIG_X86_MINIMUM_CPU_FAMILY=64 +CONFIG_X86_MPPARSE=y +CONFIG_X86_MSR=m +CONFIG_X86_NEED_RELOCS=y +CONFIG_X86_NUMACHIP=y +CONFIG_X86_P4_CLOCKMOD=m +CONFIG_X86_PAT=y +CONFIG_X86_PCC_CPUFREQ=y +CONFIG_X86_PKG_TEMP_THERMAL=m +CONFIG_X86_PLATFORM_DEVICES=y +CONFIG_X86_PLATFORM_DRIVERS_DELL=y +CONFIG_X86_PMEM_LEGACY=y +CONFIG_X86_PMEM_LEGACY_DEVICE=y +CONFIG_X86_PM_TIMER=y +CONFIG_X86_POWERNOW_K8=y +CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y +CONFIG_X86_SGX=y +CONFIG_X86_SGX_KVM=y +CONFIG_X86_SPEEDSTEP_CENTRINO=y +CONFIG_X86_SPEEDSTEP_LIB=m +CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y +CONFIG_X86_THERMAL_VECTOR=y +CONFIG_X86_TSC=y +CONFIG_X86_UMIP=y +CONFIG_X86_UV=y +# CONFIG_X86_VERBOSE_BOOTUP is not set +CONFIG_X86_VMX_FEATURE_NAMES=y +# CONFIG_X86_VSMP is not set +CONFIG_X86_VSYSCALL_EMULATION=y +CONFIG_X86_X2APIC=y +# CONFIG_X86_X32_ABI is not set +CONFIG_XARRAY_MULTI=y +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=m +CONFIG_XENFS=m +CONFIG_XEN_512GB=y +CONFIG_XEN_ACPI=y +CONFIG_XEN_ACPI_PROCESSOR=y +CONFIG_XEN_AUTO_XLATE=y +CONFIG_XEN_BACKEND=y +CONFIG_XEN_BALLOON=y +CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y +CONFIG_XEN_BLKDEV_BACKEND=m +CONFIG_XEN_BLKDEV_FRONTEND=y +CONFIG_XEN_COMPAT_XENFS=y +# CONFIG_XEN_DEBUG_FS is not set +CONFIG_XEN_DEV_EVTCHN=m +CONFIG_XEN_DOM0=y +CONFIG_XEN_EFI=y +CONFIG_XEN_FBDEV_FRONTEND=m +CONFIG_XEN_FRONT_PGDIR_SHBUF=m +CONFIG_XEN_GNTDEV=m +CONFIG_XEN_GNTDEV_DMABUF=y +CONFIG_XEN_GRANT_DEV_ALLOC=m +CONFIG_XEN_GRANT_DMA_ALLOC=y +CONFIG_XEN_GRANT_DMA_IOMMU=y +CONFIG_XEN_GRANT_DMA_OPS=y +CONFIG_XEN_HAVE_PVMMU=y +CONFIG_XEN_HAVE_VPMU=y +CONFIG_XEN_MCE_LOG=y +CONFIG_XEN_MEMORY_HOTPLUG_LIMIT=512 +CONFIG_XEN_NETDEV_BACKEND=m +CONFIG_XEN_NETDEV_FRONTEND=y +CONFIG_XEN_PCIDEV_BACKEND=m +CONFIG_XEN_PCIDEV_FRONTEND=m +CONFIG_XEN_PCIDEV_STUB=m +CONFIG_XEN_PCI_STUB=y +CONFIG_XEN_PRIVCMD=m +CONFIG_XEN_PV=y +# CONFIG_XEN_PVCALLS_BACKEND is not set +CONFIG_XEN_PVCALLS_FRONTEND=m +CONFIG_XEN_PVH=y +CONFIG_XEN_PVHVM=y +CONFIG_XEN_PVHVM_GUEST=y +CONFIG_XEN_PVHVM_SMP=y +CONFIG_XEN_PV_DOM0=y +CONFIG_XEN_PV_SMP=y +CONFIG_XEN_SAVE_RESTORE=y +CONFIG_XEN_SCRUB_PAGES_DEFAULT=y +CONFIG_XEN_SCSI_BACKEND=m +CONFIG_XEN_SCSI_FRONTEND=m +CONFIG_XEN_SYMS=y +CONFIG_XEN_SYS_HYPERVISOR=y +CONFIG_XEN_UNPOPULATED_ALLOC=y +CONFIG_XEN_VIRTIO=y +# CONFIG_XEN_VIRTIO_FORCE_GRANT is not set +CONFIG_XEN_WDT=m +CONFIG_XEN_XENBUS_FRONTEND=y +CONFIG_XFRM=y +CONFIG_XFRM_AH=m +CONFIG_XFRM_ALGO=m +CONFIG_XFRM_ESP=m +CONFIG_XFRM_ESPINTCP=y +CONFIG_XFRM_INTERFACE=m +CONFIG_XFRM_IPCOMP=m +# CONFIG_XFRM_MIGRATE is not set +CONFIG_XFRM_OFFLOAD=y +CONFIG_XFRM_STATISTICS=y +# CONFIG_XFRM_SUB_POLICY is not set +CONFIG_XFRM_USER=m +CONFIG_XFRM_USER_COMPAT=m +# CONFIG_XFS_DEBUG is not set +CONFIG_XFS_FS=m +# CONFIG_XFS_ONLINE_SCRUB is not set +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_QUOTA=y +CONFIG_XFS_RT=y +CONFIG_XFS_SUPPORT_V4=y +# CONFIG_XFS_WARN is not set +CONFIG_XGENE_DMA=m +CONFIG_XGENE_PMU=y +CONFIG_XGENE_SLIMPRO_MBOX=m +CONFIG_XIAOMI_WMI=m +CONFIG_XILINX_AMS=m +CONFIG_XILINX_AXI_EMAC=m +CONFIG_XILINX_DMA=m +CONFIG_XILINX_GMII2RGMII=m +CONFIG_XILINX_INTC=y +CONFIG_XILINX_PR_DECOUPLER=m +CONFIG_XILINX_VCU=m +CONFIG_XILINX_XADC=m +CONFIG_XILINX_ZYNQMP_DMA=m +CONFIG_XILINX_ZYNQMP_DPDMA=m +CONFIG_XILLYBUS_CLASS=m +CONFIG_XILLYBUS_OF=m +CONFIG_XILLYBUS_PCIE=m +CONFIG_XILLYUSB=m +CONFIG_XIL_AXIS_FIFO=m +# CONFIG_XIP_KERNEL is not set +CONFIG_XLNX_EVENT_MANAGER=y +CONFIG_XMON=y +# CONFIG_XMON_DEFAULT is not set +CONFIG_XMON_DEFAULT_RO_MODE=y +CONFIG_XMON_DISASSEMBLY=y +CONFIG_XOR_BLOCKS=m +CONFIG_XPOWER_PMIC_OPREGION=y +CONFIG_XPS=y +CONFIG_XXHASH=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_BCJ=y +CONFIG_XZ_DEC_MICROLZMA=y +CONFIG_YAM=m +CONFIG_YAMAHA_YAS530=m +CONFIG_YENTA=m +CONFIG_YENTA_ENE_TUNE=y +CONFIG_YENTA_O2=y +CONFIG_YENTA_RICOH=y +CONFIG_YENTA_TI=y +CONFIG_YENTA_TOSHIBA=y +CONFIG_YOGABOOK_WMI=m +CONFIG_Z3FOLD=m +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBUD=y +CONFIG_ZCRYPT=m +# CONFIG_ZCRYPT_DEBUG is not set +CONFIG_ZCRYPT_MULTIDEVNODES=y +CONFIG_ZD1211RW=m +# CONFIG_ZD1211RW_DEBUG is not set +CONFIG_ZEROPLUS_FF=y +CONFIG_ZERO_CALL_USED_REGS=y +CONFIG_ZFCP=m +CONFIG_ZISOFS=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_ZLIB_DFLTCC=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZONEFS_FS=m +CONFIG_ZONE_DEVICE=y +CONFIG_ZONE_DMA=y +CONFIG_ZONE_DMA32=y +CONFIG_ZOPT2201=m +CONFIG_ZPA2326=m +CONFIG_ZPA2326_I2C=m +CONFIG_ZPA2326_SPI=m +CONFIG_ZPOOL=y +CONFIG_ZRAM=m +CONFIG_ZRAM_DEF_COMP="lzo-rle" +# CONFIG_ZRAM_DEF_COMP_842 is not set +# CONFIG_ZRAM_DEF_COMP_LZ4 is not set +# CONFIG_ZRAM_DEF_COMP_LZ4HC is not set +# CONFIG_ZRAM_DEF_COMP_LZO is not set +CONFIG_ZRAM_DEF_COMP_LZORLE=y +# CONFIG_ZRAM_DEF_COMP_ZSTD is not set +CONFIG_ZRAM_MEMORY_TRACKING=y +CONFIG_ZRAM_WRITEBACK=y +CONFIG_ZSMALLOC=y +# CONFIG_ZSMALLOC_STAT is not set +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y +CONFIG_ZSWAP=y +CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo" +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y +# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set +# CONFIG_ZSWAP_DEFAULT_ON is not set +CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud" +# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set +CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y +# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set +CONFIG_ZYNQMP_FIRMWARE=y +# CONFIG_ZYNQMP_FIRMWARE_DEBUG is not set +CONFIG_ZYNQMP_IPI_MBOX=y +CONFIG_ZYNQMP_PM_DOMAINS=y +CONFIG_ZYNQMP_POWER=y --- linux-gcp-5.19.0.orig/debian.master/config/ppc64el/config.common.ppc64el +++ linux-gcp-5.19.0/debian.master/config/ppc64el/config.common.ppc64el @@ -0,0 +1,701 @@ +# +# Config options for config.common.ppc64el automatically generated by splitconfig.pl +# +CONFIG_6LOWPAN=m +CONFIG_AC97_BUS=m +CONFIG_ACCESSIBILITY=y +CONFIG_AD525X_DPOT=m +CONFIG_ADFS_FS=m +CONFIG_ADIN1100_PHY=m +CONFIG_AFFS_FS=m +CONFIG_AIX_PARTITION=y +CONFIG_ALIM7101_WDT=m +CONFIG_ALTERA_STAPL=m +CONFIG_ALTERA_TSE=m +CONFIG_AMIGA_PARTITION=y +CONFIG_ANDROID=y +CONFIG_APDS9802ALS=m +CONFIG_APPLICOM=m +CONFIG_AQTION=m +CONFIG_ARCH_MMAP_RND_BITS=28 +CONFIG_ARCH_MMAP_RND_BITS_MAX=29 +CONFIG_ARCH_MMAP_RND_BITS_MIN=14 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=13 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=7 +CONFIG_ARCNET=m +CONFIG_ATA=y +CONFIG_ATALK=m +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_GENERIC=m +CONFIG_ATA_OVER_ETH=m +CONFIG_ATA_PIIX=m +CONFIG_ATM=m +CONFIG_AUTOFS4_FS=m +CONFIG_AUTOFS_FS=m +CONFIG_AUXDISPLAY=y +CONFIG_AX88796B_PHY=m +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BAREUDP=m +CONFIG_BATMAN_ADV=m +CONFIG_BCH=m +CONFIG_BCM84881_PHY=y +CONFIG_BCMA=m +CONFIG_BCM_KONA_USB2_PHY=m +CONFIG_BCM_VK=m +CONFIG_BE2ISCSI=m +CONFIG_BEFS_FS=m +CONFIG_BFS_FS=m +CONFIG_BLK_DEV_3W_XXXX_RAID=m +CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m +CONFIG_BLK_DEV_SX8=m +CONFIG_BSD_DISKLABEL=y +CONFIG_C2PORT=m +CONFIG_CADENCE_WATCHDOG=m +CONFIG_CAIF=m +CONFIG_CAN=m +CONFIG_CB710_CORE=m +CONFIG_CC_VERSION_TEXT="powerpc64le-linux-gnu-gcc-12 (Ubuntu 12.2.0-3ubuntu1) 12.2.0" +CONFIG_CDROM_PKTCDVD=m +CONFIG_CMA=y +CONFIG_CMDLINE="" +CONFIG_CMDLINE_PARTITION=y +CONFIG_CMM=m +CONFIG_COMEDI=m +CONFIG_COMMON_CLK=y +CONFIG_COMMON_CLK_XLNX_CLKWZRD=m +CONFIG_COMPAT=y +CONFIG_COUNTER=m +# CONFIG_CPU_BIG_ENDIAN is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set +CONFIG_CRAMFS=m +CONFIG_CRC7=m +CONFIG_CRC8=m +CONFIG_CRC_ITU_T=m +CONFIG_CRYPTO_DEV_ATMEL_ECC=m +CONFIG_CRYPTO_DEV_ATMEL_SHA204A=m +CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m +CONFIG_CRYPTO_DEV_SAFEXCEL=m +CONFIG_CRYPTO_DH_RFC7919_GROUPS=y +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1 +CONFIG_CRYPTO_SM3_GENERIC=m +CONFIG_CRYPTO_SM4_GENERIC=m +CONFIG_CXL_BUS=m +CONFIG_DEBUG_INFO_BTF=y +CONFIG_DECNET=m +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_DMADEVICES=y +CONFIG_DMA_VIRTUAL_CHANNELS=m +# CONFIG_DM_DEBUG is not set +CONFIG_DNET=m +CONFIG_DP83TD510_PHY=m +CONFIG_DRM_AMDGPU=m +CONFIG_DRM_ANALOGIX_ANX78XX=m +CONFIG_DRM_AST=m +CONFIG_DRM_CIRRUS_QEMU=m +# CONFIG_DRM_ETNAVIV is not set +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_I2C_NXP_TDA9950=m +CONFIG_DRM_I2C_NXP_TDA998X=m +CONFIG_DRM_I2C_SIL164=m +CONFIG_DRM_MGAG200=m +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=m +CONFIG_DRM_QXL=m +CONFIG_DRM_RADEON=m +CONFIG_DRM_SIMPLEDRM=m +CONFIG_DRM_SSD130X=m +CONFIG_DRM_VGEM=m +CONFIG_DRM_VKMS=m +CONFIG_DS1682=m +CONFIG_DUMMY_IRQ=m +CONFIG_DWMAC_INTEL_PLAT=m +CONFIG_DW_WATCHDOG=m +CONFIG_DW_XDATA_PCIE=m +CONFIG_ECHO=m +CONFIG_EEPROM_93CX6=m +CONFIG_EEPROM_AT24=m +CONFIG_EEPROM_EE1004=m +CONFIG_EEPROM_IDT_89HPESX=m +CONFIG_EEPROM_LEGACY=m +CONFIG_EEPROM_MAX6875=m +CONFIG_EFS_FS=m +CONFIG_ENCLOSURE_SERVICES=m +CONFIG_ETHOC=m +CONFIG_EVM_LOAD_X509=y +CONFIG_EXFAT_FS=m +CONFIG_EXTCON=y +CONFIG_F2FS_FS=m +CONFIG_FB_3DFX=m +CONFIG_FB_ARK=m +CONFIG_FB_ASILIANT=y +CONFIG_FB_ATY=m +CONFIG_FB_ATY128=m +CONFIG_FB_CARMINE=m +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_CIRRUS=m +CONFIG_FB_CYBER2000=m +CONFIG_FB_I740=m +CONFIG_FB_IBM_GXT4500=y +CONFIG_FB_IMSTT=y +CONFIG_FB_KYRO=m +CONFIG_FB_MATROX=m +CONFIG_FB_MB862XX=m +CONFIG_FB_METRONOME=m +CONFIG_FB_NEOMAGIC=m +CONFIG_FB_NVIDIA=m +CONFIG_FB_OPENCORES=m +CONFIG_FB_PM2=m +CONFIG_FB_PM3=m +CONFIG_FB_RADEON=m +CONFIG_FB_RIVA=m +CONFIG_FB_S1D13XXX=m +CONFIG_FB_S3=m +CONFIG_FB_SAVAGE=m +CONFIG_FB_SIMPLE=m +CONFIG_FB_SIS=m +CONFIG_FB_SM712=m +CONFIG_FB_SSD1307=m +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_TRIDENT=m +CONFIG_FB_UVESA=m +CONFIG_FB_VOODOO1=m +CONFIG_FB_VT8623=m +CONFIG_FDDI=y +CONFIG_FEALNX=m +CONFIG_FIREWIRE=m +CONFIG_FIREWIRE_NOSY=m +CONFIG_FIRMWARE_MEMMAP=y +CONFIG_FORCE_MAX_ZONEORDER=9 +CONFIG_FORTIFY_SOURCE=y +CONFIG_FPGA_BRIDGE=m +CONFIG_FPGA_DFL=m +CONFIG_FRAME_WARN=2048 +CONFIG_FUSION=y +CONFIG_GAMEPORT=m +CONFIG_GENERIC_PHY=y +CONFIG_GNSS=m +# CONFIG_GOLDFISH is not set +CONFIG_GPIO_ADP5588=m +CONFIG_GPIO_AMD_FCH=m +CONFIG_GPIO_DWAPB=m +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_GENERIC_PLATFORM=m +CONFIG_GPIO_MAX7300=m +CONFIG_GPIO_MAX732X=m +CONFIG_GPIO_MB86S7X=m +CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCA9570=m +CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_RDC321X=m +CONFIG_GPIO_SIOX=m +CONFIG_GPIO_TPIC2810=m +CONFIG_GPIO_TWL4030=m +CONFIG_GPIO_TWL6040=m +CONFIG_GPIO_VIRTIO=m +CONFIG_GPIO_XILINX=y +CONFIG_GREYBUS=m +CONFIG_HABANA_AI=m +CONFIG_HAMACHI=m +CONFIG_HFSPLUS_FS=m +CONFIG_HFS_FS=m +# CONFIG_HIBERNATION is not set +CONFIG_HID=m +CONFIG_HISI_HIKEY_USB=m +CONFIG_HMC6352=m +CONFIG_HOTPLUG_PCI=y +# CONFIG_HOTPLUG_PCI_SHPC is not set +CONFIG_HPFS_FS=m +CONFIG_HP_ILO=m +CONFIG_HSI=m +CONFIG_HSR=m +CONFIG_HTC_PASIC3=m +CONFIG_HTE=y +CONFIG_HWMON=y +CONFIG_HWSPINLOCK=y +# CONFIG_HW_RANDOM_CCTRNG is not set +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HW_RANDOM_XIPHERA=m +CONFIG_HZ=250 +# CONFIG_HZ_100 is not set +CONFIG_HZ_250=y +CONFIG_I2C=y +CONFIG_I2C_ALI1535=m +CONFIG_I2C_ALI1563=m +CONFIG_I2C_ALI15X3=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_CBUS_GPIO=m +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_DESIGNWARE_PCI=m +CONFIG_I2C_DESIGNWARE_PLATFORM=y +CONFIG_I2C_GPIO=m +CONFIG_I2C_I801=m +CONFIG_I2C_ISCH=m +CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_LTC4306=m +CONFIG_I2C_MUX_MLXCPLD=m +CONFIG_I2C_MUX_PCA9541=m +CONFIG_I2C_MUX_PCA954x=m +CONFIG_I2C_MUX_REG=m +CONFIG_I2C_NFORCE2=m +CONFIG_I2C_NVIDIA_GPU=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_PCA_PLATFORM=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_SIMTEC=m +CONFIG_I2C_SIS5595=m +CONFIG_I2C_SIS630=m +CONFIG_I2C_SIS96X=m +# CONFIG_I2C_SLAVE is not set +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m +CONFIG_I2C_VIRTIO=m +CONFIG_I2C_XILINX=m +CONFIG_I3C=m +CONFIG_I6300ESB_WDT=m +CONFIG_ICS932S401=m +CONFIG_IEEE802154=m +CONFIG_IIO=m +CONFIG_ILLEGAL_POINTER_VALUE=0x5deadbeef0000000 +CONFIG_IMA_DEFAULT_HASH="sha256" +# CONFIG_IMA_DEFAULT_HASH_SHA1 is not set +CONFIG_IMA_DEFAULT_HASH_SHA256=y +CONFIG_IMA_DEFAULT_TEMPLATE="ima-sig" +CONFIG_IMA_LOAD_X509=y +# CONFIG_IMA_NG_TEMPLATE is not set +CONFIG_IMA_READ_POLICY=y +CONFIG_IMA_SIG_TEMPLATE=y +CONFIG_INFINIBAND_OCRDMA=m +CONFIG_INPUT_EVBUG=m +CONFIG_INPUT_FF_MEMLESS=m +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_INPUT_KEYBOARD=y +CONFIG_INPUT_MATRIXKMAP=m +CONFIG_INPUT_MISC=y +CONFIG_INPUT_MOUSE=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_SPARSEKMAP=m +CONFIG_INPUT_TABLET=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_INTERCONNECT=y +# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set +CONFIG_IOMMU_DEFAULT_DMA_STRICT=y +CONFIG_IOMMU_IOVA=m +CONFIG_IPACK_BUS=m +CONFIG_IPMI_HANDLER=m +# CONFIG_IP_DCCP_CCID3 is not set +CONFIG_IP_VS_TWOS=m +CONFIG_IRQ_BYPASS_MANAGER=y +CONFIG_ISL29003=m +CONFIG_ISL29020=m +CONFIG_JFS_FS=m +CONFIG_JME=m +CONFIG_JUMP_LABEL=y +CONFIG_KARMA_PARTITION=y +CONFIG_KERNEL_GZIP=y +CONFIG_KVM=y +CONFIG_LAPB=m +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_LDM_PARTITION=y +CONFIG_LIBNVDIMM=y +CONFIG_LLC2=m +CONFIG_LOG_BUF_SHIFT=18 +CONFIG_LPC_ICH=m +CONFIG_LPC_SCH=m +CONFIG_MAC_PARTITION=y +CONFIG_MAILBOX=y +CONFIG_MARVELL_88X2222_PHY=m +CONFIG_MAX63XX_WATCHDOG=m +CONFIG_MAXLINEAR_GPHY=m +CONFIG_MCB=m +CONFIG_MCTP=y +CONFIG_MDIO_BCM_UNIMAC=m +CONFIG_MDIO_BITBANG=m +CONFIG_MDIO_BUS_MUX=m +CONFIG_MDIO_THUNDER=m +CONFIG_MD_MULTIPATH=m +CONFIG_MEDIATEK_GE_PHY=m +CONFIG_MEDIA_CEC_SUPPORT=y +CONFIG_MEDIA_SUPPORT=m +CONFIG_MEGARAID_LEGACY=m +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_SAS=m +CONFIG_MEMORY=y +# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set +CONFIG_MEMSTICK=m +# CONFIG_MEM_SOFT_DIRTY is not set +CONFIG_MFD_88PM800=m +CONFIG_MFD_88PM805=m +CONFIG_MFD_ARIZONA_I2C=m +CONFIG_MFD_ATC260X_I2C=m +CONFIG_MFD_AXP20X_I2C=m +CONFIG_MFD_BCM590XX=m +CONFIG_MFD_BD9571MWV=m +CONFIG_MFD_CORE=y +CONFIG_MFD_DA9062=m +CONFIG_MFD_DA9063=y +CONFIG_MFD_DA9150=m +CONFIG_MFD_IQS62X=m +CONFIG_MFD_JANZ_CMODIO=m +CONFIG_MFD_KEMPLD=m +CONFIG_MFD_LM3533=m +CONFIG_MFD_LP3943=m +CONFIG_MFD_MADERA=m +CONFIG_MFD_MAX14577=y +CONFIG_MFD_MAX77693=y +CONFIG_MFD_MAX8907=m +CONFIG_MFD_MC13XXX_I2C=m +CONFIG_MFD_MENF21BMC=m +CONFIG_MFD_MP2629=m +CONFIG_MFD_MT6360=m +CONFIG_MFD_MT6397=m +CONFIG_MFD_PCF50633=m +CONFIG_MFD_RDC321X=m +CONFIG_MFD_RETU=m +CONFIG_MFD_RT4831=m +CONFIG_MFD_RT5033=m +CONFIG_MFD_SI476X_CORE=m +CONFIG_MFD_SKY81452=m +CONFIG_MFD_SM501=m +CONFIG_MFD_SYSCON=y +CONFIG_MFD_TI_AM335X_TSCADC=m +CONFIG_MFD_TI_LMU=m +CONFIG_MFD_TI_LP873X=m +CONFIG_MFD_TPS65086=m +# CONFIG_MFD_TPS65217 is not set +CONFIG_MFD_TPS65912_I2C=y +CONFIG_MFD_TQMX86=m +CONFIG_MFD_VX855=m +CONFIG_MFD_WCD934X=m +CONFIG_MFD_WL1273_CORE=m +CONFIG_MFD_WM8994=m +CONFIG_MHI_BUS=m +CONFIG_MHI_BUS_EP=m +CONFIG_MII=m +CONFIG_MINIX_FS=m +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MISC_ALCOR_PCI=m +CONFIG_MISC_RTSX_PCI=m +CONFIG_MLX5_SF=y +CONFIG_MLX5_VFIO_PCI=m +CONFIG_MLXSW_I2C=m +CONFIG_MMC=y +CONFIG_MMC_BLOCK=m +CONFIG_MMC_CQHCI=m +# CONFIG_MMC_HSQ is not set +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SPI=m +CONFIG_MOST=m +CONFIG_MOTORCOMM_PHY=m +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CMDLINE_PARTS=m +CONFIG_MTD_NAND_CORE=m +CONFIG_MTD_OF_PARTS=m +# CONFIG_MTD_PHYSMAP_GEMINI is not set +# CONFIG_MTD_PHYSMAP_VERSATILE is not set +CONFIG_MTD_RAW_NAND=m +CONFIG_NET_DSA=m +# CONFIG_NET_DSA_MSCC_FELIX is not set +CONFIG_NET_DSA_REALTEK_MDIO=m +CONFIG_NET_DSA_REALTEK_SMI=m +CONFIG_NET_VENDOR_3COM=y +CONFIG_NET_VENDOR_ADAPTEC=y +CONFIG_NET_VENDOR_AGERE=y +CONFIG_NET_VENDOR_ALTEON=y +CONFIG_NET_VENDOR_AMD=y +CONFIG_NET_VENDOR_ARC=y +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_NET_VENDOR_BROCADE=y +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_NET_VENDOR_CHELSIO=y +CONFIG_NET_VENDOR_CISCO=y +CONFIG_NET_VENDOR_DAVICOM=y +CONFIG_NET_VENDOR_DEC=y +CONFIG_NET_VENDOR_DLINK=y +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_NET_VENDOR_EZCHIP=y +CONFIG_NET_VENDOR_FUNGIBLE=y +CONFIG_NET_VENDOR_GOOGLE=y +CONFIG_NET_VENDOR_HUAWEI=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_LITEX=y +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_NET_VENDOR_MICROSEMI=y +CONFIG_NET_VENDOR_MICROSOFT=y +CONFIG_NET_VENDOR_MYRI=y +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NET_VENDOR_NI=y +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_NET_VENDOR_OKI=y +CONFIG_NET_VENDOR_PENSANDO=y +CONFIG_NET_VENDOR_QLOGIC=y +CONFIG_NET_VENDOR_QUALCOMM=y +CONFIG_NET_VENDOR_RDC=y +CONFIG_NET_VENDOR_REALTEK=y +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_ROCKER=y +CONFIG_NET_VENDOR_SAMSUNG=y +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SILAN=y +CONFIG_NET_VENDOR_SIS=y +CONFIG_NET_VENDOR_SMSC=y +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_NET_VENDOR_SUN=y +CONFIG_NET_VENDOR_TEHUTI=y +CONFIG_NET_VENDOR_TI=y +CONFIG_NET_VENDOR_VIA=y +CONFIG_NET_VENDOR_WIZNET=y +CONFIG_NEW_LEDS=y +CONFIG_NFC=m +CONFIG_NFP=m +CONFIG_NODES_SHIFT=8 +CONFIG_NOP_USB_XCEIV=m +CONFIG_NOZOMI=m +CONFIG_NR_CPUS=2048 +CONFIG_NTB=m +CONFIG_NULL_TTY=m +CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y +CONFIG_NVMEM=y +CONFIG_NVRAM=y +CONFIG_NXP_C45_TJA11XX_PHY=m +CONFIG_N_GSM=m +CONFIG_OF=y +CONFIG_OMFS_FS=m +CONFIG_OSF_PARTITION=y +CONFIG_PACKING=y +# CONFIG_PAGE_EXTENSION is not set +CONFIG_PAGE_OFFSET=0xc000000000000000 +# CONFIG_PAGE_POOL_STATS is not set +CONFIG_PANIC_TIMEOUT=10 +CONFIG_PARPORT=m +CONFIG_PATA_SIS=m +CONFIG_PC104=y +# CONFIG_PCCARD is not set +# CONFIG_PCIEPORTBUS is not set +CONFIG_PCIPCWATCHDOG=m +CONFIG_PCI_EPF_NTB=m +# CONFIG_PCI_MESON is not set +CONFIG_PCI_PASID=y +CONFIG_PCI_PRI=y +CONFIG_PCI_QUIRKS=y +CONFIG_PCS_XPCS=m +CONFIG_PECI=m +CONFIG_PGTABLE_LEVELS=4 +CONFIG_PHANTOM=m +CONFIG_PHONET=m +CONFIG_PHYSICAL_START=0x00000000 +CONFIG_PHY_CAN_TRANSCEIVER=m +CONFIG_PHY_PXA_28NM_HSIC=m +CONFIG_PHY_PXA_28NM_USB2=m +CONFIG_PINCTRL=y +CONFIG_PM=y +CONFIG_PM_DEVFREQ=y +CONFIG_POWERCAP=y +CONFIG_POWER_SUPPLY=y +CONFIG_PPP=y +CONFIG_PPS_CLIENT_GPIO=m +CONFIG_PPS_CLIENT_LDISC=m +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +# CONFIG_PSI_DEFAULT_DISABLED is not set +CONFIG_PSTORE=y +# CONFIG_PSTORE_CONSOLE is not set +CONFIG_PSTORE_RAM=m +# CONFIG_PTDUMP_DEBUGFS is not set +CONFIG_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_IDT82P33=m +CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_PVPANIC=y +CONFIG_PWM=y +CONFIG_QNX4FS_FS=m +CONFIG_QNX6FS_FS=m +CONFIG_QRTR=m +CONFIG_RAPIDIO=y +CONFIG_RAVE_SP_CORE=m +CONFIG_RC_CORE=m +CONFIG_REED_SOLOMON=m +CONFIG_REGMAP_I2C=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_REGULATOR_TWL4030=m +CONFIG_REISERFS_FS=m +CONFIG_REMOTEPROC=y +CONFIG_RESET_CONTROLLER=y +CONFIG_RFKILL=y +CONFIG_RMI4_CORE=m +CONFIG_ROMFS_FS=m +CONFIG_RPMSG_VIRTIO=m +CONFIG_RTC_DRV_CMOS=m +CONFIG_RTC_DRV_GOLDFISH=m +CONFIG_RTC_DRV_PCF8523=m +CONFIG_RTC_DRV_TWL4030=m +CONFIG_S2IO=m +CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_SCHED_SMT=y +CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_3W_SAS=m +CONFIG_SCSI_AACRAID=m +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_AIC79XX=m +CONFIG_SCSI_AIC7XXX=m +CONFIG_SCSI_AIC94XX=m +CONFIG_SCSI_AM53C974=m +CONFIG_SCSI_ARCMSR=m +CONFIG_SCSI_BFA_FC=m +CONFIG_SCSI_BNX2X_FCOE=m +CONFIG_SCSI_BNX2_ISCSI=m +CONFIG_SCSI_CHELSIO_FCOE=m +CONFIG_SCSI_CXGB3_ISCSI=m +CONFIG_SCSI_CXGB4_ISCSI=m +CONFIG_SCSI_DC395x=m +CONFIG_SCSI_DMX3191D=m +CONFIG_SCSI_EFCT=m +CONFIG_SCSI_ESAS2R=m +CONFIG_SCSI_FDOMAIN_PCI=m +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_IPS=m +CONFIG_SCSI_MPI3MR=m +CONFIG_SCSI_MVSAS=m +CONFIG_SCSI_MVUMI=m +CONFIG_SCSI_MYRB=m +CONFIG_SCSI_PM8001=m +CONFIG_SCSI_PMCRAID=m +CONFIG_SCSI_QLA_FC=m +CONFIG_SCSI_QLA_ISCSI=m +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_SNIC=m +CONFIG_SCSI_SRP_ATTRS=y +CONFIG_SCSI_STEX=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_UFSHCD=m +CONFIG_SCSI_WD719X=m +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SENSORS_APDS990X=m +CONFIG_SENSORS_BH1770=m +CONFIG_SENSORS_LIS3_I2C=m +# CONFIG_SENSORS_Q54SJ108A2 is not set +CONFIG_SENSORS_TSL2550=m +CONFIG_SERIAL_8250_DW=m +# CONFIG_SERIAL_8250_FINTEK is not set +CONFIG_SERIAL_ALTERA_JTAGUART=m +CONFIG_SERIAL_ALTERA_UART=m +CONFIG_SERIAL_ARC=m +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_FSL_LINFLEXUART=m +CONFIG_SERIAL_FSL_LPUART=m +CONFIG_SERIAL_JSM=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIAL_RP2=m +CONFIG_SERIAL_SC16IS7XX=m +CONFIG_SERIAL_SCCNXP=y +CONFIG_SERIAL_SIFIVE=m +CONFIG_SERIO=y +CONFIG_SFC=m +CONFIG_SFC_FALCON=m +CONFIG_SFC_SIENA=m +CONFIG_SGI_PARTITION=y +CONFIG_SLIP=m +CONFIG_SND=m +CONFIG_SND_COMPRESS_OFFLOAD=m +CONFIG_SND_DMAENGINE_PCM=m +# CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM is not set +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_PCM=m +CONFIG_SND_SOC=m +CONFIG_SND_SOC_FSL_SSI=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_IMX_AUDMUX=m +CONFIG_SND_SOC_SGTL5000=m +CONFIG_SND_TIMER=m +CONFIG_SOC_TI=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=m +CONFIG_SPI=y +# CONFIG_SPI_ROCKCHIP is not set +CONFIG_SPI_SIFIVE=m +CONFIG_SPMI=m +CONFIG_SRAM=y +CONFIG_SSB=m +CONFIG_STAGING=y +CONFIG_STANDALONE=y +CONFIG_SUN_PARTITION=y +CONFIG_SYSV68_PARTITION=y +CONFIG_SYSV_FS=m +CONFIG_TCG_TIS_I2C_ATMEL=y +CONFIG_TCG_TIS_I2C_CR50=m +CONFIG_TCG_TIS_I2C_INFINEON=y +CONFIG_TCG_TIS_I2C_NUVOTON=y +CONFIG_TCG_TIS_ST33ZP24_I2C=m +CONFIG_THERMAL=y +CONFIG_TIFM_CORE=m +CONFIG_TOUCHSCREEN_ELAN=m +CONFIG_TPS6105X=m +CONFIG_TPS65010=m +CONFIG_TPS6507X=m +CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y +# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set +CONFIG_TTY_PRINTK=y +CONFIG_UACCE=m +CONFIG_UBSAN=y +CONFIG_UFS_FS=m +CONFIG_UIO_AEC=m +CONFIG_UIO_CIF=m +CONFIG_UIO_DMEM_GENIRQ=m +CONFIG_UIO_MF624=m +CONFIG_UIO_NETX=m +CONFIG_UIO_PCI_GENERIC=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_UIO_PRUSS=m +CONFIG_UIO_SERCOS3=m +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_USB4=m +CONFIG_USB_EHCI_HCD_PLATFORM=m +CONFIG_USB_GADGET=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_OHCI_HCD_PLATFORM=m +CONFIG_USB_SUPPORT=y +CONFIG_VDPA=m +CONFIG_VFIO=y +CONFIG_VFIO_PCI=y +CONFIG_VFIO_PCI_CORE=y +CONFIG_VFIO_VIRQFD=y +CONFIG_VIRTIO_MMIO=y +# CONFIG_VIRT_CPU_ACCOUNTING_NATIVE is not set +CONFIG_VME_BUS=y +CONFIG_VXFS_FS=m +CONFIG_VXGE=m +CONFIG_W1=m +CONFIG_WAN=y +CONFIG_WDTPCI=m +CONFIG_WWAN=y +CONFIG_X25=m +CONFIG_XILINX_EMACLITE=m +CONFIG_XILINX_LL_TEMAC=m +CONFIG_XILINX_SDFEC=m +CONFIG_XILINX_WATCHDOG=m +CONFIG_XILLYBUS=m +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_TEST=m +CONFIG_XZ_DEC_X86=y +CONFIG_YELLOWFIN=m +CONFIG_ZIIRAVE_WATCHDOG=m --- linux-gcp-5.19.0.orig/debian.master/config/ppc64el/config.flavour.generic +++ linux-gcp-5.19.0/debian.master/config/ppc64el/config.flavour.generic @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# --- linux-gcp-5.19.0.orig/debian.master/config/riscv64/config.common.riscv64 +++ linux-gcp-5.19.0/debian.master/config/riscv64/config.common.riscv64 @@ -0,0 +1,692 @@ +# +# Config options for config.common.riscv64 automatically generated by splitconfig.pl +# +CONFIG_6LOWPAN=m +CONFIG_AC97_BUS=m +# CONFIG_ACCESSIBILITY is not set +CONFIG_AD525X_DPOT=m +CONFIG_ADFS_FS=m +CONFIG_ADIN1100_PHY=m +CONFIG_AFFS_FS=m +CONFIG_AIX_PARTITION=y +CONFIG_ALIM7101_WDT=m +CONFIG_ALTERA_STAPL=m +CONFIG_ALTERA_TSE=m +CONFIG_AMIGA_PARTITION=y +CONFIG_ANDROID=y +CONFIG_APDS9802ALS=m +CONFIG_APPLICOM=m +CONFIG_AQTION=m +CONFIG_ARCH_MMAP_RND_BITS=18 +CONFIG_ARCH_MMAP_RND_BITS_MAX=24 +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=17 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8 +CONFIG_ARCNET=m +CONFIG_ATA=y +CONFIG_ATALK=m +CONFIG_ATARI_PARTITION=y +CONFIG_ATA_GENERIC=m +CONFIG_ATA_OVER_ETH=m +CONFIG_ATA_PIIX=m +CONFIG_ATM=m +CONFIG_AUTOFS4_FS=m +CONFIG_AUTOFS_FS=m +CONFIG_AUXDISPLAY=y +CONFIG_AX88796B_PHY=m +CONFIG_BACKLIGHT_CLASS_DEVICE=m +CONFIG_BAREUDP=m +CONFIG_BATMAN_ADV=m +CONFIG_BCH=m +CONFIG_BCM84881_PHY=m +CONFIG_BCMA=m +CONFIG_BCM_KONA_USB2_PHY=m +CONFIG_BCM_VK=m +CONFIG_BE2ISCSI=m +CONFIG_BEFS_FS=m +CONFIG_BFS_FS=m +CONFIG_BLK_DEV_3W_XXXX_RAID=m +CONFIG_BLK_DEV_PCIESSD_MTIP32XX=m +CONFIG_BLK_DEV_SX8=m +CONFIG_BSD_DISKLABEL=y +CONFIG_C2PORT=m +CONFIG_CADENCE_WATCHDOG=m +CONFIG_CAIF=m +CONFIG_CAN=m +CONFIG_CB710_CORE=m +CONFIG_CC_VERSION_TEXT="riscv64-linux-gnu-gcc-12 (Ubuntu 12.2.0-3ubuntu1) 12.2.0" +CONFIG_CDROM_PKTCDVD=m +CONFIG_CMA=y +CONFIG_CMDLINE="" +CONFIG_CMDLINE_PARTITION=y +CONFIG_COMEDI=m +CONFIG_COMMON_CLK=y +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_COMPAT is not set +# CONFIG_COUNTER is not set +CONFIG_CRAMFS=m +CONFIG_CRC7=y +CONFIG_CRC8=m +CONFIG_CRC_ITU_T=y +# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set +CONFIG_CRYPTO_DH_RFC7919_GROUPS=y +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1 +CONFIG_CRYPTO_SM3_GENERIC=m +CONFIG_CRYPTO_SM4_GENERIC=m +CONFIG_CXL_BUS=m +CONFIG_DEBUG_INFO_BTF=y +CONFIG_DECNET=m +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +CONFIG_DMADEVICES=y +CONFIG_DMA_CMA=y +CONFIG_DMA_PERNUMA_CMA=y +CONFIG_DMA_VIRTUAL_CHANNELS=m +# CONFIG_DM_DEBUG is not set +CONFIG_DNET=m +CONFIG_DP83TD510_PHY=m +CONFIG_DRM_AMDGPU=m +CONFIG_DRM_ANALOGIX_ANX78XX=m +CONFIG_DRM_AST=m +CONFIG_DRM_CIRRUS_QEMU=m +# CONFIG_DRM_ETNAVIV is not set +CONFIG_DRM_I2C_CH7006=m +CONFIG_DRM_I2C_NXP_TDA9950=m +CONFIG_DRM_I2C_NXP_TDA998X=m +CONFIG_DRM_I2C_SIL164=m +CONFIG_DRM_MGAG200=m +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y +CONFIG_DRM_QXL=m +CONFIG_DRM_RADEON=m +CONFIG_DRM_SIMPLEDRM=m +CONFIG_DRM_SSD130X=m +CONFIG_DRM_VGEM=m +CONFIG_DRM_VKMS=m +CONFIG_DS1682=m +CONFIG_DUMMY_IRQ=m +# CONFIG_DWMAC_INTEL_PLAT is not set +CONFIG_DW_WATCHDOG=m +CONFIG_DW_XDATA_PCIE=m +CONFIG_ECHO=m +CONFIG_EEPROM_93CX6=m +CONFIG_EEPROM_AT24=m +CONFIG_EEPROM_EE1004=m +CONFIG_EEPROM_IDT_89HPESX=m +CONFIG_EEPROM_LEGACY=m +CONFIG_EEPROM_MAX6875=m +CONFIG_EFS_FS=m +CONFIG_ENCLOSURE_SERVICES=m +CONFIG_ETHOC=m +# CONFIG_EVM_LOAD_X509 is not set +CONFIG_EXFAT_FS=m +CONFIG_EXTCON=y +CONFIG_F2FS_FS=m +CONFIG_FB_3DFX=m +CONFIG_FB_ARK=m +CONFIG_FB_ASILIANT=y +CONFIG_FB_ATY=m +CONFIG_FB_ATY128=m +CONFIG_FB_CARMINE=m +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_CIRRUS=m +CONFIG_FB_CYBER2000=m +CONFIG_FB_I740=m +# CONFIG_FB_IBM_GXT4500 is not set +CONFIG_FB_IMSTT=y +CONFIG_FB_KYRO=m +CONFIG_FB_MATROX=m +CONFIG_FB_MB862XX=m +CONFIG_FB_METRONOME=m +CONFIG_FB_NEOMAGIC=m +CONFIG_FB_NVIDIA=m +CONFIG_FB_OPENCORES=m +CONFIG_FB_PM2=m +CONFIG_FB_PM3=m +CONFIG_FB_RADEON=m +CONFIG_FB_RIVA=m +CONFIG_FB_S1D13XXX=m +CONFIG_FB_S3=m +CONFIG_FB_SAVAGE=m +CONFIG_FB_SIMPLE=m +CONFIG_FB_SIS=m +CONFIG_FB_SM712=m +CONFIG_FB_SSD1307=m +CONFIG_FB_TILEBLITTING=y +CONFIG_FB_TRIDENT=m +CONFIG_FB_UVESA=m +CONFIG_FB_VOODOO1=m +CONFIG_FB_VT8623=m +CONFIG_FDDI=y +CONFIG_FEALNX=m +CONFIG_FIREWIRE=m +CONFIG_FIREWIRE_NOSY=m +CONFIG_FIRMWARE_MEMMAP=y +# CONFIG_FORTIFY_SOURCE is not set +CONFIG_FPGA_BRIDGE=m +CONFIG_FPGA_DFL=m +CONFIG_FRAME_WARN=1024 +CONFIG_FUSION=y +CONFIG_GAMEPORT=m +CONFIG_GENERIC_PHY=y +CONFIG_GNSS=m +CONFIG_GOLDFISH=y +CONFIG_GPIO_ADP5588=m +# CONFIG_GPIO_AMD_FCH is not set +CONFIG_GPIO_DWAPB=m +CONFIG_GPIO_GENERIC=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_GPIO_MAX7300=m +CONFIG_GPIO_MAX732X=m +CONFIG_GPIO_MB86S7X=m +CONFIG_GPIO_PCA953X=m +CONFIG_GPIO_PCA9570=m +CONFIG_GPIO_PCF857X=m +CONFIG_GPIO_RDC321X=m +CONFIG_GPIO_SIOX=m +CONFIG_GPIO_TPIC2810=m +CONFIG_GPIO_TWL4030=m +CONFIG_GPIO_TWL6040=m +CONFIG_GPIO_VIRTIO=m +# CONFIG_GPIO_XILINX is not set +# CONFIG_GREYBUS is not set +# CONFIG_HABANA_AI is not set +CONFIG_HAMACHI=m +CONFIG_HFSPLUS_FS=m +CONFIG_HFS_FS=m +CONFIG_HID=m +# CONFIG_HISI_HIKEY_USB is not set +CONFIG_HMC6352=m +CONFIG_HOTPLUG_PCI=y +CONFIG_HOTPLUG_PCI_SHPC=y +CONFIG_HPFS_FS=m +CONFIG_HP_ILO=m +CONFIG_HSI=m +CONFIG_HSR=m +CONFIG_HTC_PASIC3=m +# CONFIG_HTE is not set +CONFIG_HWMON=y +CONFIG_HWSPINLOCK=y +CONFIG_HW_RANDOM_CCTRNG=m +CONFIG_HW_RANDOM_TIMERIOMEM=m +CONFIG_HW_RANDOM_XIPHERA=m +CONFIG_HZ=250 +# CONFIG_HZ_100 is not set +CONFIG_HZ_250=y +CONFIG_I2C=y +CONFIG_I2C_ALI1535=m +CONFIG_I2C_ALI1563=m +CONFIG_I2C_ALI15X3=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_CBUS_GPIO=m +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_DESIGNWARE_PCI=m +CONFIG_I2C_DESIGNWARE_PLATFORM=y +CONFIG_I2C_GPIO=m +CONFIG_I2C_I801=m +CONFIG_I2C_ISCH=m +CONFIG_I2C_MUX_GPIO=m +CONFIG_I2C_MUX_LTC4306=m +CONFIG_I2C_MUX_MLXCPLD=m +CONFIG_I2C_MUX_PCA9541=m +CONFIG_I2C_MUX_PCA954x=m +CONFIG_I2C_MUX_REG=m +CONFIG_I2C_NFORCE2=m +CONFIG_I2C_NVIDIA_GPU=m +CONFIG_I2C_OCORES=m +CONFIG_I2C_PCA_PLATFORM=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_SIMTEC=m +CONFIG_I2C_SIS5595=m +CONFIG_I2C_SIS630=m +CONFIG_I2C_SIS96X=m +# CONFIG_I2C_SLAVE is not set +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m +CONFIG_I2C_VIRTIO=m +CONFIG_I2C_XILINX=m +CONFIG_I3C=m +CONFIG_I6300ESB_WDT=m +CONFIG_ICS932S401=m +CONFIG_IEEE802154=m +CONFIG_IIO=m +CONFIG_IMA_DEFAULT_HASH="sha1" +CONFIG_IMA_DEFAULT_HASH_SHA1=y +# CONFIG_IMA_DEFAULT_HASH_SHA256 is not set +CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng" +# CONFIG_IMA_LOAD_X509 is not set +CONFIG_IMA_NG_TEMPLATE=y +# CONFIG_IMA_READ_POLICY is not set +# CONFIG_IMA_SIG_TEMPLATE is not set +CONFIG_INFINIBAND_OCRDMA=m +CONFIG_INPUT_EVBUG=m +CONFIG_INPUT_FF_MEMLESS=m +CONFIG_INPUT_JOYDEV=m +CONFIG_INPUT_JOYSTICK=y +CONFIG_INPUT_KEYBOARD=y +CONFIG_INPUT_MATRIXKMAP=m +CONFIG_INPUT_MISC=y +CONFIG_INPUT_MOUSE=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_SPARSEKMAP=m +CONFIG_INPUT_TABLET=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_INTERCONNECT=y +# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set +CONFIG_IOMMU_DEFAULT_DMA_STRICT=y +CONFIG_IOMMU_IOVA=m +CONFIG_IPACK_BUS=m +CONFIG_IPMI_HANDLER=m +# CONFIG_IP_DCCP_CCID3 is not set +# CONFIG_IP_VS_TWOS is not set +CONFIG_IRQ_BYPASS_MANAGER=m +CONFIG_ISL29003=m +CONFIG_ISL29020=m +CONFIG_JFS_FS=m +CONFIG_JME=m +CONFIG_JUMP_LABEL=y +CONFIG_KARMA_PARTITION=y +CONFIG_KVM=m +CONFIG_LAPB=m +CONFIG_LCD_CLASS_DEVICE=m +CONFIG_LDM_PARTITION=y +CONFIG_LIBNVDIMM=y +CONFIG_LLC2=m +CONFIG_LOG_BUF_SHIFT=18 +CONFIG_LPC_ICH=m +CONFIG_LPC_SCH=m +CONFIG_MAC_PARTITION=y +CONFIG_MAILBOX=y +CONFIG_MARVELL_88X2222_PHY=m +CONFIG_MAX63XX_WATCHDOG=m +CONFIG_MAXLINEAR_GPHY=m +CONFIG_MCB=m +CONFIG_MCTP=y +CONFIG_MDIO_BCM_UNIMAC=m +CONFIG_MDIO_BITBANG=m +CONFIG_MDIO_BUS_MUX=m +CONFIG_MDIO_THUNDER=m +CONFIG_MD_MULTIPATH=m +CONFIG_MEDIATEK_GE_PHY=m +CONFIG_MEDIA_CEC_SUPPORT=y +CONFIG_MEDIA_SUPPORT=m +CONFIG_MEGARAID_LEGACY=m +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_SAS=m +CONFIG_MEMORY=y +CONFIG_MEMSTICK=m +CONFIG_MFD_88PM800=m +CONFIG_MFD_88PM805=m +CONFIG_MFD_ARIZONA_I2C=m +CONFIG_MFD_ATC260X_I2C=m +CONFIG_MFD_AXP20X_I2C=m +CONFIG_MFD_BCM590XX=m +CONFIG_MFD_BD9571MWV=m +CONFIG_MFD_CORE=y +CONFIG_MFD_DA9062=m +CONFIG_MFD_DA9063=y +CONFIG_MFD_DA9150=m +CONFIG_MFD_IQS62X=m +CONFIG_MFD_JANZ_CMODIO=m +CONFIG_MFD_KEMPLD=m +CONFIG_MFD_LM3533=m +CONFIG_MFD_LP3943=m +CONFIG_MFD_MADERA=m +CONFIG_MFD_MAX14577=y +CONFIG_MFD_MAX77693=y +CONFIG_MFD_MAX8907=m +CONFIG_MFD_MC13XXX_I2C=m +CONFIG_MFD_MENF21BMC=m +CONFIG_MFD_MP2629=m +CONFIG_MFD_MT6360=m +CONFIG_MFD_MT6397=m +CONFIG_MFD_PCF50633=m +CONFIG_MFD_RDC321X=m +CONFIG_MFD_RETU=m +CONFIG_MFD_RT4831=m +CONFIG_MFD_RT5033=m +CONFIG_MFD_SI476X_CORE=m +CONFIG_MFD_SKY81452=m +CONFIG_MFD_SM501=m +CONFIG_MFD_SYSCON=y +CONFIG_MFD_TI_AM335X_TSCADC=m +CONFIG_MFD_TI_LMU=m +CONFIG_MFD_TI_LP873X=m +CONFIG_MFD_TPS65086=m +# CONFIG_MFD_TPS65217 is not set +CONFIG_MFD_TPS65912_I2C=y +# CONFIG_MFD_TQMX86 is not set +CONFIG_MFD_VX855=m +CONFIG_MFD_WCD934X=m +CONFIG_MFD_WL1273_CORE=m +CONFIG_MFD_WM8994=m +CONFIG_MHI_BUS=m +CONFIG_MHI_BUS_EP=m +CONFIG_MII=m +CONFIG_MINIX_FS=m +CONFIG_MINIX_SUBPARTITION=y +CONFIG_MISC_ALCOR_PCI=m +CONFIG_MISC_RTSX_PCI=m +CONFIG_MLX5_SF=y +CONFIG_MLX5_VFIO_PCI=m +CONFIG_MLXSW_I2C=m +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_CQHCI=m +CONFIG_MMC_HSQ=m +CONFIG_MMC_SDHCI=m +CONFIG_MMC_SDHCI_PLTFM=m +CONFIG_MMC_SPI=y +CONFIG_MOST=m +CONFIG_MOTORCOMM_PHY=m +CONFIG_MTD=m +CONFIG_MTD_BLKDEVS=m +CONFIG_MTD_BLOCK=m +CONFIG_MTD_CMDLINE_PARTS=m +CONFIG_MTD_NAND_CORE=m +CONFIG_MTD_OF_PARTS=m +# CONFIG_MTD_PHYSMAP_GEMINI is not set +# CONFIG_MTD_PHYSMAP_VERSATILE is not set +CONFIG_MTD_RAW_NAND=m +CONFIG_NET_DSA=m +CONFIG_NET_DSA_REALTEK_MDIO=m +CONFIG_NET_DSA_REALTEK_SMI=m +CONFIG_NET_VENDOR_3COM=y +CONFIG_NET_VENDOR_ADAPTEC=y +CONFIG_NET_VENDOR_AGERE=y +CONFIG_NET_VENDOR_ALTEON=y +CONFIG_NET_VENDOR_AMD=y +CONFIG_NET_VENDOR_ARC=y +CONFIG_NET_VENDOR_ATHEROS=y +CONFIG_NET_VENDOR_BROADCOM=y +CONFIG_NET_VENDOR_BROCADE=y +CONFIG_NET_VENDOR_CAVIUM=y +CONFIG_NET_VENDOR_CHELSIO=y +CONFIG_NET_VENDOR_CISCO=y +CONFIG_NET_VENDOR_DAVICOM=y +CONFIG_NET_VENDOR_DEC=y +CONFIG_NET_VENDOR_DLINK=y +CONFIG_NET_VENDOR_EMULEX=y +CONFIG_NET_VENDOR_EZCHIP=y +CONFIG_NET_VENDOR_FUNGIBLE=y +CONFIG_NET_VENDOR_GOOGLE=y +CONFIG_NET_VENDOR_HUAWEI=y +CONFIG_NET_VENDOR_INTEL=y +CONFIG_NET_VENDOR_LITEX=y +CONFIG_NET_VENDOR_MARVELL=y +CONFIG_NET_VENDOR_MICREL=y +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_NET_VENDOR_MICROSEMI=y +CONFIG_NET_VENDOR_MICROSOFT=y +CONFIG_NET_VENDOR_MYRI=y +CONFIG_NET_VENDOR_NATSEMI=y +CONFIG_NET_VENDOR_NI=y +CONFIG_NET_VENDOR_NVIDIA=y +CONFIG_NET_VENDOR_OKI=y +CONFIG_NET_VENDOR_PENSANDO=y +CONFIG_NET_VENDOR_QLOGIC=y +CONFIG_NET_VENDOR_QUALCOMM=y +CONFIG_NET_VENDOR_RDC=y +CONFIG_NET_VENDOR_REALTEK=y +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_ROCKER=y +CONFIG_NET_VENDOR_SAMSUNG=y +CONFIG_NET_VENDOR_SEEQ=y +CONFIG_NET_VENDOR_SILAN=y +CONFIG_NET_VENDOR_SIS=y +CONFIG_NET_VENDOR_SMSC=y +CONFIG_NET_VENDOR_STMICRO=y +CONFIG_NET_VENDOR_SUN=y +CONFIG_NET_VENDOR_TEHUTI=y +CONFIG_NET_VENDOR_TI=y +CONFIG_NET_VENDOR_VIA=y +CONFIG_NET_VENDOR_WIZNET=y +CONFIG_NEW_LEDS=y +CONFIG_NFC=m +CONFIG_NFP=m +CONFIG_NODES_SHIFT=2 +CONFIG_NOP_USB_XCEIV=m +CONFIG_NOZOMI=m +CONFIG_NR_CPUS=32 +CONFIG_NTB=m +# CONFIG_NTFS_RW is not set +CONFIG_NULL_TTY=m +CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y +CONFIG_NVMEM=y +CONFIG_NXP_C45_TJA11XX_PHY=m +CONFIG_N_GSM=m +CONFIG_OF=y +CONFIG_OMFS_FS=m +CONFIG_OSF_PARTITION=y +CONFIG_PACKING=y +# CONFIG_PAGE_EXTENSION is not set +CONFIG_PAGE_OFFSET=0xff60000000000000 +# CONFIG_PAGE_POOL_STATS is not set +CONFIG_PANIC_TIMEOUT=0 +CONFIG_PARPORT=m +CONFIG_PATA_SIS=m +CONFIG_PC104=y +# CONFIG_PCCARD is not set +CONFIG_PCIEPORTBUS=y +CONFIG_PCIPCWATCHDOG=m +CONFIG_PCI_EPF_NTB=m +# CONFIG_PCI_MESON is not set +CONFIG_PCI_PASID=y +CONFIG_PCI_PRI=y +CONFIG_PCI_QUIRKS=y +CONFIG_PCS_XPCS=m +CONFIG_PECI=m +CONFIG_PGTABLE_LEVELS=5 +CONFIG_PHANTOM=m +CONFIG_PHONET=m +CONFIG_PHY_CAN_TRANSCEIVER=m +CONFIG_PHY_PXA_28NM_HSIC=m +CONFIG_PHY_PXA_28NM_USB2=m +CONFIG_PINCTRL=y +# CONFIG_PM is not set +CONFIG_PM_DEVFREQ=y +CONFIG_POWERCAP=y +CONFIG_POWER_SUPPLY=y +CONFIG_PPP=y +CONFIG_PPS_CLIENT_GPIO=m +CONFIG_PPS_CLIENT_LDISC=m +# CONFIG_PREEMPT_NONE is not set +CONFIG_PREEMPT_VOLUNTARY=y +# CONFIG_PSI_DEFAULT_DISABLED is not set +CONFIG_PSTORE=y +# CONFIG_PSTORE_CONSOLE is not set +CONFIG_PSTORE_RAM=m +# CONFIG_PTDUMP_DEBUGFS is not set +CONFIG_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_IDT82P33=m +CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_PVPANIC=y +CONFIG_PWM=y +CONFIG_QNX4FS_FS=m +CONFIG_QNX6FS_FS=m +CONFIG_QRTR=m +CONFIG_RAPIDIO=y +CONFIG_RAVE_SP_CORE=m +CONFIG_RC_CORE=m +CONFIG_REED_SOLOMON=m +CONFIG_REGMAP_I2C=y +CONFIG_REGULATOR=y +CONFIG_REGULATOR_FIXED_VOLTAGE=m +CONFIG_REGULATOR_TWL4030=m +CONFIG_REISERFS_FS=m +# CONFIG_REMOTEPROC is not set +CONFIG_RESET_CONTROLLER=y +CONFIG_RFKILL=y +CONFIG_RMI4_CORE=m +CONFIG_ROMFS_FS=m +CONFIG_RPMSG_VIRTIO=m +CONFIG_RTC_DRV_EFI=m +CONFIG_RTC_DRV_GOLDFISH=y +CONFIG_RTC_DRV_PCF8523=m +CONFIG_RTC_DRV_TWL4030=m +CONFIG_S2IO=m +CONFIG_SATA_AHCI_PLATFORM=m +CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_3W_SAS=m +CONFIG_SCSI_AACRAID=m +CONFIG_SCSI_ACARD=m +CONFIG_SCSI_ADVANSYS=m +CONFIG_SCSI_AIC79XX=m +CONFIG_SCSI_AIC7XXX=m +CONFIG_SCSI_AIC94XX=m +CONFIG_SCSI_AM53C974=m +CONFIG_SCSI_ARCMSR=m +CONFIG_SCSI_BFA_FC=m +CONFIG_SCSI_BNX2X_FCOE=m +CONFIG_SCSI_BNX2_ISCSI=m +CONFIG_SCSI_CHELSIO_FCOE=m +CONFIG_SCSI_CXGB3_ISCSI=m +CONFIG_SCSI_CXGB4_ISCSI=m +CONFIG_SCSI_DC395x=m +CONFIG_SCSI_DMX3191D=m +CONFIG_SCSI_EFCT=m +CONFIG_SCSI_ESAS2R=m +# CONFIG_SCSI_FDOMAIN_PCI is not set +CONFIG_SCSI_HPSA=m +CONFIG_SCSI_HPTIOP=m +CONFIG_SCSI_INIA100=m +CONFIG_SCSI_INITIO=m +CONFIG_SCSI_IPS=m +CONFIG_SCSI_MPI3MR=m +CONFIG_SCSI_MVSAS=m +CONFIG_SCSI_MVUMI=m +CONFIG_SCSI_MYRB=m +CONFIG_SCSI_PM8001=m +CONFIG_SCSI_PMCRAID=m +CONFIG_SCSI_QLA_FC=m +CONFIG_SCSI_QLA_ISCSI=m +CONFIG_SCSI_QLOGIC_1280=m +CONFIG_SCSI_SNIC=m +CONFIG_SCSI_SRP_ATTRS=m +CONFIG_SCSI_STEX=m +CONFIG_SCSI_SYM53C8XX_2=m +CONFIG_SCSI_UFSHCD=m +CONFIG_SCSI_WD719X=m +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SENSORS_APDS990X=m +CONFIG_SENSORS_BH1770=m +CONFIG_SENSORS_LIS3_I2C=m +CONFIG_SENSORS_Q54SJ108A2=m +CONFIG_SENSORS_TSL2550=m +CONFIG_SERIAL_8250_DW=m +CONFIG_SERIAL_8250_FINTEK=y +CONFIG_SERIAL_ALTERA_JTAGUART=m +CONFIG_SERIAL_ALTERA_UART=m +CONFIG_SERIAL_ARC=m +CONFIG_SERIAL_CORE=y +# CONFIG_SERIAL_FSL_LINFLEXUART is not set +CONFIG_SERIAL_FSL_LPUART=m +CONFIG_SERIAL_JSM=m +CONFIG_SERIAL_NONSTANDARD=y +CONFIG_SERIAL_RP2=m +CONFIG_SERIAL_SC16IS7XX=m +CONFIG_SERIAL_SCCNXP=y +CONFIG_SERIAL_SIFIVE=y +CONFIG_SERIO=y +CONFIG_SFC=m +CONFIG_SFC_FALCON=m +CONFIG_SFC_SIENA=m +CONFIG_SGI_PARTITION=y +CONFIG_SLIP=m +CONFIG_SND=m +CONFIG_SND_COMPRESS_OFFLOAD=m +CONFIG_SND_DMAENGINE_PCM=m +# CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM is not set +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_PCM=m +CONFIG_SND_SOC=m +CONFIG_SND_SOC_FSL_SSI=m +CONFIG_SND_SOC_I2C_AND_SPI=m +CONFIG_SND_SOC_IMX_AUDMUX=m +CONFIG_SND_SOC_SGTL5000=m +CONFIG_SND_TIMER=m +CONFIG_SOC_TI=y +CONFIG_SOLARIS_X86_PARTITION=y +CONFIG_SOUND=m +CONFIG_SPI=y +# CONFIG_SPI_ROCKCHIP is not set +CONFIG_SPI_SIFIVE=y +CONFIG_SPMI=m +CONFIG_SRAM=y +CONFIG_SSB=m +CONFIG_STAGING=y +CONFIG_STANDALONE=y +CONFIG_SUN_PARTITION=y +# CONFIG_SYSFB_SIMPLEFB is not set +CONFIG_SYSV68_PARTITION=y +CONFIG_SYSV_FS=m +CONFIG_TCG_TIS_I2C_ATMEL=m +CONFIG_TCG_TIS_I2C_CR50=m +CONFIG_TCG_TIS_I2C_INFINEON=m +CONFIG_TCG_TIS_I2C_NUVOTON=m +CONFIG_TCG_TIS_ST33ZP24_I2C=m +CONFIG_THERMAL=y +CONFIG_TIFM_CORE=m +CONFIG_TOUCHSCREEN_ELAN=m +CONFIG_TPS6105X=m +CONFIG_TPS65010=m +CONFIG_TPS6507X=m +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_TTY_PRINTK=y +CONFIG_UACCE=m +# CONFIG_UBSAN is not set +CONFIG_UFS_FS=m +CONFIG_UIO_AEC=m +CONFIG_UIO_CIF=m +CONFIG_UIO_DMEM_GENIRQ=m +CONFIG_UIO_MF624=m +CONFIG_UIO_NETX=m +CONFIG_UIO_PCI_GENERIC=m +CONFIG_UIO_PDRV_GENIRQ=m +CONFIG_UIO_PRUSS=m +CONFIG_UIO_SERCOS3=m +CONFIG_ULTRIX_PARTITION=y +CONFIG_UNIXWARE_DISKLABEL=y +CONFIG_USB4=m +CONFIG_USB_EHCI_HCD_PLATFORM=m +CONFIG_USB_GADGET=m +CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_OHCI_HCD_PLATFORM=m +CONFIG_USB_SUPPORT=y +CONFIG_VDPA=m +CONFIG_VFIO=m +CONFIG_VFIO_PCI=m +CONFIG_VFIO_PCI_CORE=m +CONFIG_VFIO_VIRQFD=m +CONFIG_VIRTIO_MMIO=y +# CONFIG_VMAP_STACK is not set +CONFIG_VME_BUS=y +CONFIG_VMXNET3=m +CONFIG_VXFS_FS=m +CONFIG_VXGE=m +CONFIG_W1=m +CONFIG_WAN=y +CONFIG_WDTPCI=m +CONFIG_WWAN=m +CONFIG_X25=m +CONFIG_XILINX_EMACLITE=m +CONFIG_XILINX_LL_TEMAC=m +# CONFIG_XILINX_SDFEC is not set +CONFIG_XILINX_WATCHDOG=m +CONFIG_XILLYBUS=m +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_SPARC=y +CONFIG_XZ_DEC_TEST=m +CONFIG_XZ_DEC_X86=y +CONFIG_YELLOWFIN=m +CONFIG_ZIIRAVE_WATCHDOG=m --- linux-gcp-5.19.0.orig/debian.master/config/riscv64/config.flavour.generic +++ linux-gcp-5.19.0/debian.master/config/riscv64/config.flavour.generic @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# --- linux-gcp-5.19.0.orig/debian.master/config/s390x/config.common.s390x +++ linux-gcp-5.19.0/debian.master/config/s390x/config.common.s390x @@ -0,0 +1,624 @@ +# +# Config options for config.common.s390x automatically generated by splitconfig.pl +# +# CONFIG_6LOWPAN is not set +# CONFIG_ACCESSIBILITY is not set +# CONFIG_AD525X_DPOT is not set +# CONFIG_ADFS_FS is not set +# CONFIG_ADIN1100_PHY is not set +# CONFIG_AFFS_FS is not set +# CONFIG_AIX_PARTITION is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_ALTERA_STAPL is not set +# CONFIG_ALTERA_TSE is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ANDROID is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_APPLICOM is not set +# CONFIG_AQTION is not set +# CONFIG_ARCNET is not set +# CONFIG_ATA is not set +# CONFIG_ATALK is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_ATA_OVER_ETH is not set +# CONFIG_ATM is not set +CONFIG_AUTOFS4_FS=y +CONFIG_AUTOFS_FS=y +# CONFIG_AUXDISPLAY is not set +# CONFIG_AX88796B_PHY is not set +# CONFIG_BACKLIGHT_CLASS_DEVICE is not set +# CONFIG_BAREUDP is not set +# CONFIG_BATMAN_ADV is not set +# CONFIG_BCM84881_PHY is not set +# CONFIG_BCMA is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_BCM_VK is not set +# CONFIG_BE2ISCSI is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set +# CONFIG_BLK_DEV_SX8 is not set +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_C2PORT is not set +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_CAIF is not set +# CONFIG_CAN is not set +# CONFIG_CB710_CORE is not set +CONFIG_CC_VERSION_TEXT="s390x-linux-gnu-gcc-12 (Ubuntu 12.2.0-3ubuntu1) 12.2.0" +# CONFIG_CDROM_PKTCDVD is not set +CONFIG_CMA=y +# CONFIG_CMDLINE_PARTITION is not set +CONFIG_CMM=y +# CONFIG_COMEDI is not set +# CONFIG_COMMON_CLK is not set +CONFIG_COMPAT=y +# CONFIG_COUNTER is not set +CONFIG_CPU_BIG_ENDIAN=y +# CONFIG_CRAMFS is not set +CONFIG_CRC7=m +CONFIG_CRC8=m +CONFIG_CRC_ITU_T=m +# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set +# CONFIG_CRYPTO_DH_RFC7919_GROUPS is not set +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1 +# CONFIG_CRYPTO_SM3_GENERIC is not set +# CONFIG_CRYPTO_SM4_GENERIC is not set +# CONFIG_CXL_BUS is not set +CONFIG_DEBUG_INFO_BTF=y +# CONFIG_DECNET is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=65536 +# CONFIG_DMADEVICES is not set +# CONFIG_DMA_CMA is not set +CONFIG_DM_DEBUG=y +# CONFIG_DNET is not set +# CONFIG_DP83TD510_PHY is not set +# CONFIG_DRM_AMDGPU is not set +# CONFIG_DRM_ANALOGIX_ANX78XX is not set +# CONFIG_DRM_AST is not set +# CONFIG_DRM_CIRRUS_QEMU is not set +# CONFIG_DRM_ETNAVIV is not set +# CONFIG_DRM_I2C_CH7006 is not set +# CONFIG_DRM_I2C_NXP_TDA9950 is not set +# CONFIG_DRM_I2C_NXP_TDA998X is not set +# CONFIG_DRM_I2C_SIL164 is not set +# CONFIG_DRM_MGAG200 is not set +# CONFIG_DRM_NOUVEAU is not set +CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=m +# CONFIG_DRM_QXL is not set +# CONFIG_DRM_RADEON is not set +# CONFIG_DRM_SIMPLEDRM is not set +# CONFIG_DRM_SSD130X is not set +# CONFIG_DRM_VGEM is not set +# CONFIG_DRM_VKMS is not set +# CONFIG_DS1682 is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_DW_XDATA_PCIE is not set +# CONFIG_ECHO is not set +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_EEPROM_AT24 is not set +# CONFIG_EEPROM_EE1004 is not set +# CONFIG_EEPROM_IDT_89HPESX is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +# CONFIG_EFS_FS is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_ETHOC is not set +# CONFIG_EVM_LOAD_X509 is not set +# CONFIG_EXFAT_FS is not set +# CONFIG_EXTCON is not set +# CONFIG_F2FS_FS is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_CARMINE is not set +CONFIG_FB_CFB_COPYAREA=m +CONFIG_FB_CFB_FILLRECT=m +CONFIG_FB_CFB_IMAGEBLIT=m +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_I740 is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_SM712 is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_FB_TILEBLITTING is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_UVESA is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FDDI is not set +# CONFIG_FEALNX is not set +# CONFIG_FIREWIRE is not set +# CONFIG_FIREWIRE_NOSY is not set +# CONFIG_FIRMWARE_MEMMAP is not set +CONFIG_FORTIFY_SOURCE=y +# CONFIG_FPGA_BRIDGE is not set +# CONFIG_FPGA_DFL is not set +CONFIG_FRAME_WARN=1024 +# CONFIG_FUSION is not set +# CONFIG_GAMEPORT is not set +# CONFIG_GENERIC_PHY is not set +# CONFIG_GNSS is not set +# CONFIG_GOLDFISH is not set +# CONFIG_GPIO_ADP5588 is not set +# CONFIG_GPIO_AMD_FCH is not set +# CONFIG_GPIO_DWAPB is not set +CONFIG_GPIO_GENERIC=m +CONFIG_GPIO_GENERIC_PLATFORM=m +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +# CONFIG_GPIO_MB86S7X is not set +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCA9570 is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_RDC321X is not set +# CONFIG_GPIO_SIOX is not set +# CONFIG_GPIO_TPIC2810 is not set +# CONFIG_GPIO_VIRTIO is not set +# CONFIG_GREYBUS is not set +# CONFIG_HABANA_AI is not set +# CONFIG_HAMACHI is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HID is not set +# CONFIG_HMC6352 is not set +CONFIG_HOTPLUG_PCI=y +# CONFIG_HOTPLUG_PCI_SHPC is not set +# CONFIG_HPFS_FS is not set +# CONFIG_HP_ILO is not set +# CONFIG_HSI is not set +# CONFIG_HSR is not set +# CONFIG_HTC_PASIC3 is not set +# CONFIG_HTE is not set +# CONFIG_HWMON is not set +# CONFIG_HWSPINLOCK is not set +# CONFIG_HW_RANDOM_TIMERIOMEM is not set +# CONFIG_HW_RANDOM_XIPHERA is not set +CONFIG_HZ=100 +CONFIG_HZ_100=y +# CONFIG_HZ_250 is not set +CONFIG_I2C=m +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_CBUS_GPIO is not set +CONFIG_I2C_CHARDEV=m +# CONFIG_I2C_DESIGNWARE_PCI is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_MUX_GPIO is not set +# CONFIG_I2C_MUX_LTC4306 is not set +# CONFIG_I2C_MUX_MLXCPLD is not set +# CONFIG_I2C_MUX_PCA9541 is not set +# CONFIG_I2C_MUX_PCA954x is not set +# CONFIG_I2C_MUX_REG is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_NVIDIA_GPU is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_SLAVE is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set +# CONFIG_I2C_VIRTIO is not set +# CONFIG_I2C_XILINX is not set +# CONFIG_I3C is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_ICS932S401 is not set +# CONFIG_IEEE802154 is not set +# CONFIG_IIO is not set +CONFIG_IMA_DEFAULT_HASH="sha1" +CONFIG_IMA_DEFAULT_HASH_SHA1=y +# CONFIG_IMA_DEFAULT_HASH_SHA256 is not set +CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng" +# CONFIG_IMA_LOAD_X509 is not set +CONFIG_IMA_NG_TEMPLATE=y +# CONFIG_IMA_READ_POLICY is not set +# CONFIG_IMA_SIG_TEMPLATE is not set +# CONFIG_INFINIBAND_OCRDMA is not set +# CONFIG_INPUT_EVBUG is not set +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_JOYDEV is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_KEYBOARD is not set +# CONFIG_INPUT_MATRIXKMAP is not set +# CONFIG_INPUT_MISC is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +# CONFIG_INTERCONNECT is not set +# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set +CONFIG_IOMMU_DEFAULT_DMA_STRICT=y +# CONFIG_IPACK_BUS is not set +# CONFIG_IPMI_HANDLER is not set +CONFIG_IP_DCCP_CCID3=y +# CONFIG_IP_VS_TWOS is not set +CONFIG_IRQ_BYPASS_MANAGER=m +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_JFS_FS is not set +# CONFIG_JME is not set +CONFIG_JUMP_LABEL=y +# CONFIG_KARMA_PARTITION is not set +# CONFIG_KERNEL_GZIP is not set +CONFIG_KVM=y +# CONFIG_LAPB is not set +# CONFIG_LCD_CLASS_DEVICE is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_LIBNVDIMM is not set +# CONFIG_LLC2 is not set +CONFIG_LOG_BUF_SHIFT=18 +# CONFIG_LPC_ICH is not set +# CONFIG_LPC_SCH is not set +# CONFIG_MAC_PARTITION is not set +# CONFIG_MAILBOX is not set +# CONFIG_MARVELL_88X2222_PHY is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAXLINEAR_GPHY is not set +# CONFIG_MCB is not set +# CONFIG_MCTP is not set +# CONFIG_MDIO_BCM_UNIMAC is not set +# CONFIG_MDIO_BITBANG is not set +# CONFIG_MDIO_THUNDER is not set +CONFIG_MD_MULTIPATH=y +# CONFIG_MEDIATEK_GE_PHY is not set +# CONFIG_MEDIA_CEC_SUPPORT is not set +# CONFIG_MEDIA_SUPPORT is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_SAS is not set +# CONFIG_MEMORY is not set +# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set +# CONFIG_MEMSTICK is not set +CONFIG_MEM_SOFT_DIRTY=y +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ATC260X_I2C is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_BD9571MWV is not set +CONFIG_MFD_CORE=m +# CONFIG_MFD_DA9062 is not set +# CONFIG_MFD_DA9063 is not set +# CONFIG_MFD_DA9150 is not set +# CONFIG_MFD_IQS62X is not set +# CONFIG_MFD_JANZ_CMODIO is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_MADERA is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MC13XXX_I2C is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_MFD_MP2629 is not set +# CONFIG_MFD_MT6360 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_RDC321X is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_RT4831 is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SYSCON is not set +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_TI_LMU is not set +# CONFIG_MFD_TI_LP873X is not set +# CONFIG_MFD_TPS65086 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TQMX86 is not set +# CONFIG_MFD_VX855 is not set +# CONFIG_MFD_WCD934X is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_MHI_BUS is not set +# CONFIG_MHI_BUS_EP is not set +# CONFIG_MINIX_FS is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_MISC_ALCOR_PCI is not set +# CONFIG_MISC_RTSX_PCI is not set +# CONFIG_MLX5_SF is not set +# CONFIG_MLX5_VFIO_PCI is not set +# CONFIG_MLXSW_I2C is not set +# CONFIG_MMC is not set +# CONFIG_MOST is not set +# CONFIG_MOTORCOMM_PHY is not set +# CONFIG_MTD is not set +# CONFIG_NET_DSA is not set +# CONFIG_NET_VENDOR_3COM is not set +# CONFIG_NET_VENDOR_ADAPTEC is not set +# CONFIG_NET_VENDOR_AGERE is not set +# CONFIG_NET_VENDOR_ALTEON is not set +# CONFIG_NET_VENDOR_AMD is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_ATHEROS is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_BROCADE is not set +# CONFIG_NET_VENDOR_CAVIUM is not set +# CONFIG_NET_VENDOR_CHELSIO is not set +# CONFIG_NET_VENDOR_CISCO is not set +# CONFIG_NET_VENDOR_DAVICOM is not set +# CONFIG_NET_VENDOR_DEC is not set +# CONFIG_NET_VENDOR_DLINK is not set +# CONFIG_NET_VENDOR_EMULEX is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_FUNGIBLE is not set +# CONFIG_NET_VENDOR_GOOGLE is not set +# CONFIG_NET_VENDOR_HUAWEI is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_LITEX is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_MICROSEMI is not set +# CONFIG_NET_VENDOR_MICROSOFT is not set +# CONFIG_NET_VENDOR_MYRI is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_NI is not set +# CONFIG_NET_VENDOR_NVIDIA is not set +# CONFIG_NET_VENDOR_OKI is not set +# CONFIG_NET_VENDOR_PENSANDO is not set +# CONFIG_NET_VENDOR_QLOGIC is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +# CONFIG_NET_VENDOR_RDC is not set +# CONFIG_NET_VENDOR_REALTEK is not set +# CONFIG_NET_VENDOR_RENESAS is not set +# CONFIG_NET_VENDOR_ROCKER is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SILAN is not set +# CONFIG_NET_VENDOR_SIS is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_SUN is not set +# CONFIG_NET_VENDOR_TEHUTI is not set +# CONFIG_NET_VENDOR_TI is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set +# CONFIG_NEW_LEDS is not set +# CONFIG_NFC is not set +# CONFIG_NFP is not set +CONFIG_NODES_SHIFT=1 +# CONFIG_NOZOMI is not set +CONFIG_NR_CPUS=512 +# CONFIG_NTB is not set +CONFIG_NTFS_RW=y +# CONFIG_NULL_TTY is not set +# CONFIG_NUMA_BALANCING_DEFAULT_ENABLED is not set +# CONFIG_NVMEM is not set +# CONFIG_NXP_C45_TJA11XX_PHY is not set +# CONFIG_N_GSM is not set +# CONFIG_OF is not set +# CONFIG_OMFS_FS is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_PACKING is not set +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_PAGE_POOL_STATS is not set +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_PARPORT is not set +# CONFIG_PC104 is not set +# CONFIG_PCCARD is not set +CONFIG_PCIEPORTBUS=y +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_PCI_EPF_NTB is not set +# CONFIG_PCI_MESON is not set +# CONFIG_PCI_PASID is not set +# CONFIG_PCI_PRI is not set +# CONFIG_PCI_QUIRKS is not set +# CONFIG_PCS_XPCS is not set +# CONFIG_PECI is not set +CONFIG_PGTABLE_LEVELS=5 +# CONFIG_PHANTOM is not set +# CONFIG_PHONET is not set +# CONFIG_PHY_CAN_TRANSCEIVER is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_PINCTRL is not set +# CONFIG_PM_DEVFREQ is not set +# CONFIG_POWERCAP is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_PPP is not set +# CONFIG_PPS_CLIENT_GPIO is not set +# CONFIG_PPS_CLIENT_LDISC is not set +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PSI_DEFAULT_DISABLED=y +# CONFIG_PSTORE is not set +CONFIG_PTDUMP_DEBUGFS=y +CONFIG_PTP_1588_CLOCK=m +# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set +CONFIG_PTP_1588_CLOCK_OPTIONAL=m +# CONFIG_PVPANIC is not set +# CONFIG_PWM is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_QNX6FS_FS is not set +# CONFIG_QRTR is not set +# CONFIG_RAPIDIO is not set +# CONFIG_RAVE_SP_CORE is not set +# CONFIG_RC_CORE is not set +CONFIG_REGMAP_I2C=m +# CONFIG_REGULATOR is not set +# CONFIG_REISERFS_FS is not set +# CONFIG_REMOTEPROC is not set +# CONFIG_RESET_CONTROLLER is not set +# CONFIG_RFKILL is not set +# CONFIG_RMI4_CORE is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_RPMSG_VIRTIO is not set +# CONFIG_S2IO is not set +# CONFIG_SAMPLE_FTRACE_DIRECT is not set +CONFIG_SCHED_SMT=y +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_3W_SAS is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_ADVANSYS is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC94XX is not set +# CONFIG_SCSI_AM53C974 is not set +# CONFIG_SCSI_ARCMSR is not set +# CONFIG_SCSI_BFA_FC is not set +# CONFIG_SCSI_BNX2X_FCOE is not set +# CONFIG_SCSI_BNX2_ISCSI is not set +# CONFIG_SCSI_CHELSIO_FCOE is not set +# CONFIG_SCSI_CXGB3_ISCSI is not set +# CONFIG_SCSI_CXGB4_ISCSI is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_EFCT is not set +# CONFIG_SCSI_ESAS2R is not set +# CONFIG_SCSI_FDOMAIN_PCI is not set +# CONFIG_SCSI_HPSA is not set +# CONFIG_SCSI_HPTIOP is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_MPI3MR is not set +# CONFIG_SCSI_MVSAS is not set +# CONFIG_SCSI_MVUMI is not set +# CONFIG_SCSI_MYRB is not set +# CONFIG_SCSI_PM8001 is not set +# CONFIG_SCSI_PMCRAID is not set +# CONFIG_SCSI_QLA_FC is not set +# CONFIG_SCSI_QLA_ISCSI is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +# CONFIG_SCSI_SNIC is not set +CONFIG_SCSI_SRP_ATTRS=m +# CONFIG_SCSI_STEX is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_SCSI_WD719X is not set +# CONFIG_SECURITY_SELINUX_BOOTPARAM is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_LIS3_I2C is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_ARC is not set +CONFIG_SERIAL_CORE=m +# CONFIG_SERIAL_FSL_LINFLEXUART is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_SERIAL_RP2 is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIO is not set +# CONFIG_SFC is not set +# CONFIG_SFC_FALCON is not set +# CONFIG_SFC_SIENA is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_SLIP is not set +# CONFIG_SOC_TI is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_SOUND is not set +# CONFIG_SPI is not set +# CONFIG_SPMI is not set +# CONFIG_SRAM is not set +# CONFIG_SSB is not set +# CONFIG_STAGING is not set +CONFIG_STANDALONE=y +# CONFIG_SUN_PARTITION is not set +# CONFIG_SYSV68_PARTITION is not set +# CONFIG_SYSV_FS is not set +# CONFIG_TCG_TIS_I2C_ATMEL is not set +# CONFIG_TCG_TIS_I2C_CR50 is not set +# CONFIG_TCG_TIS_I2C_INFINEON is not set +# CONFIG_TCG_TIS_I2C_NUVOTON is not set +# CONFIG_TCG_TIS_ST33ZP24_I2C is not set +# CONFIG_THERMAL is not set +# CONFIG_TIFM_CORE is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X is not set +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +# CONFIG_TTY_PRINTK is not set +# CONFIG_UACCE is not set +CONFIG_UBSAN=y +# CONFIG_UFS_FS is not set +# CONFIG_UIO_AEC is not set +# CONFIG_UIO_CIF is not set +# CONFIG_UIO_DMEM_GENIRQ is not set +# CONFIG_UIO_MF624 is not set +# CONFIG_UIO_NETX is not set +# CONFIG_UIO_PCI_GENERIC is not set +# CONFIG_UIO_PDRV_GENIRQ is not set +# CONFIG_UIO_PRUSS is not set +# CONFIG_UIO_SERCOS3 is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_USB4 is not set +# CONFIG_USB_SUPPORT is not set +# CONFIG_VDPA is not set +CONFIG_VFIO=m +CONFIG_VFIO_IOMMU_TYPE1=m +CONFIG_VFIO_PCI=m +CONFIG_VFIO_PCI_CORE=m +CONFIG_VFIO_VIRQFD=m +# CONFIG_VIRTIO_MMIO is not set +CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y +CONFIG_VMAP_STACK=y +# CONFIG_VME_BUS is not set +# CONFIG_VMXNET3 is not set +# CONFIG_VXFS_FS is not set +# CONFIG_VXGE is not set +# CONFIG_W1 is not set +# CONFIG_WAN is not set +# CONFIG_WDTPCI is not set +# CONFIG_WWAN is not set +# CONFIG_X25 is not set +# CONFIG_XILINX_EMACLITE is not set +# CONFIG_XILINX_LL_TEMAC is not set +# CONFIG_XILINX_SDFEC is not set +# CONFIG_XILINX_WATCHDOG is not set +# CONFIG_XILLYBUS is not set +# CONFIG_XZ_DEC_ARM is not set +# CONFIG_XZ_DEC_ARMTHUMB is not set +# CONFIG_XZ_DEC_IA64 is not set +# CONFIG_XZ_DEC_POWERPC is not set +# CONFIG_XZ_DEC_SPARC is not set +# CONFIG_XZ_DEC_TEST is not set +# CONFIG_XZ_DEC_X86 is not set +# CONFIG_YELLOWFIN is not set +# CONFIG_ZIIRAVE_WATCHDOG is not set --- linux-gcp-5.19.0.orig/debian.master/config/s390x/config.flavour.generic +++ linux-gcp-5.19.0/debian.master/config/s390x/config.flavour.generic @@ -0,0 +1,3 @@ +# +# Config options for config.flavour.generic automatically generated by splitconfig.pl +# --- linux-gcp-5.19.0.orig/debian.master/control.d/flavour-control.stub +++ linux-gcp-5.19.0/debian.master/control.d/flavour-control.stub @@ -0,0 +1,142 @@ +# Items that get replaced: +# FLAVOUR +# DESC +# ARCH +# SUPPORTED +# TARGET +# BOOTLOADER +# =PROVIDES= +# +# Items marked with =FOO= are optional +# +# This file describes the template for packages that are created for each flavour +# in debian/control.d/vars.* +# +# This file gets edited in a couple of places. See the debian/control.stub rule in +# debian/rules. PGGVER, ABINUM, and SRCPKGNAME are all converted in the +# process of creating debian/control. +# +# The flavour specific strings (ARCH, DESC, etc) are converted using values from the various +# flavour files in debian/control.d/vars.* +# +# XXX: Leave the blank line before the first package!! + +Package: linux-image=SIGN-ME-PKG=-PKGVER-ABINUM-FLAVOUR +Build-Profiles: +Architecture: ARCH +Section: kernel +Priority: optional +Provides: linux-image, fuse-module, =PROVIDES=${linux:rprovides} +Depends: ${misc:Depends}, ${shlibs:Depends}, kmod, linux-base (>= 4.5ubuntu1~16.04.1), linux-modules-PKGVER-ABINUM-FLAVOUR +Recommends: BOOTLOADER, initramfs-tools | linux-initramfs-tool +Breaks: flash-kernel (<< 3.90ubuntu2) [arm64 armhf], s390-tools (<< 2.3.0-0ubuntu3) [s390x] +Conflicts: linux-image=SIGN-PEER-PKG=-PKGVER-ABINUM-FLAVOUR +Suggests: fdutils, linux-doc | SRCPKGNAME-source-PKGVER, SRCPKGNAME-tools, linux-headers-PKGVER-ABINUM-FLAVOUR, linux-modules-extra-PKGVER-ABINUM-FLAVOUR +Description: Linux kernel image for version PKGVER on DESC + This package contains the=SIGN-ME-TXT= Linux kernel image for version PKGVER on + DESC. + . + Supports SUPPORTED processors. + . + TARGET + . + You likely do not want to install this package directly. Instead, install + the linux-FLAVOUR meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-modules-PKGVER-ABINUM-FLAVOUR +Build-Profiles: +Architecture: ARCH +Section: kernel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends} +Built-Using: ${linux:BuiltUsing} +Description: Linux kernel extra modules for version PKGVER on DESC + Contains the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports SUPPORTED processors. + . + TARGET + . + You likely do not want to install this package directly. Instead, install + the linux-FLAVOUR meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-modules-extra-PKGVER-ABINUM-FLAVOUR +Build-Profiles: +Architecture: ARCH +Section: kernel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-modules-PKGVER-ABINUM-FLAVOUR, wireless-regdb +Description: Linux kernel extra modules for version PKGVER on DESC + This package contains the Linux kernel extra modules for version PKGVER on + DESC. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports SUPPORTED processors. + . + TARGET + . + You likely do not want to install this package directly. Instead, install + the linux-FLAVOUR meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-PKGVER-ABINUM-FLAVOUR +Build-Profiles: +Architecture: ARCH +Section: devel +Priority: optional +Depends: ${misc:Depends}, SRCPKGNAME-headers-PKGVER-ABINUM, ${shlibs:Depends} +Provides: linux-headers, linux-headers-3.0 +Description: Linux kernel headers for version PKGVER on DESC + This package provides kernel header files for version PKGVER on + DESC. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-PKGVER-ABINUM/debian.README.gz for details. + +Package: linux-image=SIGN-ME-PKG=-PKGVER-ABINUM-FLAVOUR-dbgsym +Build-Profiles: +Architecture: ARCH +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version PKGVER on DESC + This package provides the=SIGN-ME-TXT= kernel debug image for version PKGVER on + DESC. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-tools-PKGVER-ABINUM-FLAVOUR +Build-Profiles: +Architecture: ARCH +Section: devel +Priority: optional +Depends: ${misc:Depends}, SRCPKGNAME-tools-PKGVER-ABINUM +Description: Linux kernel version specific tools for version PKGVER-ABINUM + This package provides the architecture dependant parts for kernel + version locked tools (such as perf and x86_energy_perf_policy) for + version PKGVER-ABINUM on + =HUMAN=. + +Package: linux-cloud-tools-PKGVER-ABINUM-FLAVOUR +Build-Profiles: +Architecture: ARCH +Section: devel +Priority: optional +Depends: ${misc:Depends}, SRCPKGNAME-cloud-tools-PKGVER-ABINUM +Description: Linux kernel version specific cloud tools for version PKGVER-ABINUM + This package provides the architecture dependant parts for kernel + version locked tools for cloud for version PKGVER-ABINUM on + =HUMAN=. + --- linux-gcp-5.19.0.orig/debian.master/control.d/generic.inclusion-list +++ linux-gcp-5.19.0/debian.master/control.d/generic.inclusion-list @@ -0,0 +1,303 @@ +arch/*/{crypto,kernel,oprofile} +arch/*/kvm/kvm.ko +arch/powerpc/kvm/kvm-hv.ko +arch/powerpc/kvm/kvm-pr.ko +arch/powerpc/kvm/vfio.ko +arch/powerpc/platforms/powernv/opal-prd.ko +arch/s390/* +arch/x86/kvm/kvm-amd.ko +arch/x86/kvm/kvm-intel.ko +crypto/* +drivers/acpi/* +drivers/ata/acard-ahci.ko +drivers/ata/ahci.ko +drivers/ata/ahci_platform.ko +drivers/ata/ahci_tegra.ko +drivers/ata/ata_generic.ko +drivers/ata/libahci.ko +drivers/ata/libahci_platform.ko +drivers/block/brd.ko +drivers/block/cryptoloop.ko +drivers/block/floppy.ko +drivers/block/loop.ko +drivers/block/nbd.ko +drivers/block/rbd.ko +drivers/block/virtio_blk.ko +drivers/block/xen-blkfront.ko +drivers/bus/tegra-aconnect.ko +drivers/char/hangcheck-timer.ko +drivers/char/hw_random/powernv-rng.ko +drivers/char/hw_random/virtio-rng.ko +drivers/char/ipmi/* +drivers/char/ipmi/ipmi_msghandler.ko +drivers/char/lp.ko +drivers/char/nvram.ko +drivers/char/ppdev.ko +drivers/char/raw.ko +drivers/char/virtio_console.ko +drivers/clk/clk-max77686.ko +drivers/cpufreq/tegra186-cpufreq.ko +drivers/cpufreq/tegra194-cpufreq.ko +drivers/crypto/nx/* +drivers/crypto/vmx/vmx-crypto.ko +drivers/dma/tegra210-adma.ko +drivers/firmware/efi/* +drivers/firmware/iscsi_ibft.ko +drivers/gpio/gpio-max77620.ko +drivers/gpu/drm/ast/ast.ko +drivers/gpu/drm/bochs/bochs-drm.ko +drivers/gpu/drm/cirrus/cirrus.ko +drivers/gpu/drm/drm.ko +drivers/gpu/drm/drm_kms_helper.ko +drivers/gpu/drm/tegra/tegra-drm.ko +drivers/gpu/drm/ttm/ttm.ko +drivers/gpu/drm/vboxvideo/vboxvideo.ko +drivers/gpu/drm/virtio/virtio-gpu.ko +drivers/gpu/drm/vmwgfx/vmwgfx.ko +drivers/gpu/drm/xen/drm_xen_front.ko +drivers/gpu/host1x/host1x.ko +drivers/hid/hid-generic.ko +drivers/hid/hid-hyperv.ko +drivers/hid/hid.ko +drivers/hid/usbhid/usbhid.ko +drivers/hv/* +drivers/hwmon/ibmpowernv.ko +drivers/hwmon/pwm-fan.ko +drivers/i2c/busses/i2c-tegra-bpmp.ko +drivers/i2c/busses/i2c-tegra-bpmp.ko +drivers/i2c/busses/i2c-tegra.ko +drivers/infiniband/core/ib_addr.ko +drivers/infiniband/core/ib_cm.ko +drivers/infiniband/core/ib_core.ko +drivers/infiniband/core/ib_mad.ko +drivers/infiniband/core/ib_sa.ko +drivers/infiniband/core/iw_cm.ko +drivers/infiniband/core/rdma_cm.ko +drivers/infiniband/ulp/iser/ib_iser.ko +drivers/infiniband/ulp/isert/ib_isert.ko +drivers/input/evbug.ko +drivers/input/gameport/gameport.ko +drivers/input/input-leds.ko +drivers/input/joydev.ko +drivers/input/keyboard/gpio_keys.ko +drivers/input/misc/xen-kbdfront.ko +drivers/input/mouse/psmouse.ko +drivers/input/serio/hyperv-keyboard.ko +drivers/input/serio/serio_raw.ko +drivers/input/serio/serport.ko +drivers/input/touchscreen/usbtouchscreen.ko +drivers/leds/leds-powernv.ko +drivers/md/* +drivers/memory/tegra/tegra210-emc.ko +drivers/message/fusion* +drivers/misc/cxl/* +drivers/misc/eeprom/at24.ko +drivers/misc/vmw_balloon.ko +drivers/misc/vmw_vmci/vmw_vmci.ko +drivers/mmc/host/sdhci-tegra.ko +drivers/mtd/cmdlinepart.ko +drivers/mtd/devices/powernv_flash.ko +drivers/mtd/ofpart.ko +drivers/net/appletalk/ipddp.ko +drivers/net/bonding/bonding.ko +drivers/net/caif/caif_virtio.ko +drivers/net/dummy.ko +drivers/net/eql.ko +drivers/net/ethernet/8390/8390.ko +drivers/net/ethernet/8390/ne2k-pci.ko +drivers/net/ethernet/amazon/ena/ena.ko +drivers/net/ethernet/amd/pcnet32.ko +drivers/net/ethernet/broadcom/bnx2x/* +drivers/net/ethernet/broadcom/tg3.ko +drivers/net/ethernet/dec/tulip/* +drivers/net/ethernet/emulex/benet/* +drivers/net/ethernet/ibm/* +drivers/net/ethernet/intel/e1000/e1000.ko +drivers/net/ethernet/intel/e1000e/e1000e.ko +drivers/net/ethernet/intel/i40e/* +drivers/net/ethernet/intel/iavf/iavf.ko +drivers/net/ethernet/intel/igb/* +drivers/net/ethernet/intel/igbvf/igbvf.ko +drivers/net/ethernet/intel/ixgbe/* +drivers/net/ethernet/intel/ixgbevf/ixgbevf.ko +drivers/net/ethernet/mellanox/* +drivers/net/ethernet/netronome/nfp/nfp.ko +drivers/net/ethernet/realtek/8139cp.ko +drivers/net/ethernet/realtek/8139too.ko +drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.ko +drivers/net/ethernet/stmicro/stmmac/stmmac-platform.ko +drivers/net/ethernet/stmicro/stmmac/stmmac.ko +drivers/net/fddi/* +drivers/net/geneve.ko +drivers/net/hyperv/hv_netvsc.ko +drivers/net/ifb.ko +drivers/net/ipvlan/* +drivers/net/macvlan.ko +drivers/net/macvtap.ko +drivers/net/mii.ko +drivers/net/netconsole.ko +drivers/net/pcs/pcs-xpcs.ko +drivers/net/phy/marvell.ko +drivers/net/phy/phylink.ko +drivers/net/ppp/* +drivers/net/ppp/bsd_comp.ko +drivers/net/slip/* +drivers/net/veth.ko +drivers/net/virtio_net.ko +drivers/net/vmxnet3/vmxnet3.ko +drivers/net/vxlan.ko +drivers/net/wireguard/wireguard.ko +drivers/net/xen-netback/* +drivers/net/xen-netfront.ko +drivers/nvme/host/nvme.ko +drivers/nvmem/nvmem_core.ko +drivers/parport/parport.ko +drivers/parport/parport_pc.ko +drivers/pci/controller/dwc/pcie-tegra194.ko +drivers/pci/host/vmd.ko +drivers/phy/tegra/phy-tegra194-p2u.ko +drivers/pinctrl/pinctrl-max77620.ko +drivers/platform/x86/pvpanic.ko +drivers/pps/pps_core.ko +drivers/ptp/ptp.ko +drivers/pwm/pwm-tegra.ko +drivers/regulator/fixed.ko +drivers/regulator/max77620-regulator.ko +drivers/rtc/rtc-max77686.ko +drivers/rtc/rtc-tegra.ko +drivers/s390/* +drivers/s390/block/xpram.ko +drivers/scsi/BusLogic.ko +drivers/scsi/aacraid/* +drivers/scsi/cxlflash/* +drivers/scsi/device_handler/scsi_dh_alua.ko +drivers/scsi/device_handler/scsi_dh_emc.ko +drivers/scsi/device_handler/scsi_dh_hp_sw.ko +drivers/scsi/device_handler/scsi_dh_rdac.ko +drivers/scsi/hv_storvsc.ko +drivers/scsi/ibmvscsi/* +drivers/scsi/ipr.ko +drivers/scsi/iscsi_boot_sysfs.ko +drivers/scsi/iscsi_tcp.ko +drivers/scsi/libiscsi.ko +drivers/scsi/libiscsi_tcp.ko +drivers/scsi/libsas/* +drivers/scsi/lpfc/* +drivers/scsi/megaraid/* +drivers/scsi/mpt3sas/* +drivers/scsi/osd/libosd.ko +drivers/scsi/osd/osd.ko +drivers/scsi/qla1280.ko +drivers/scsi/qla2xxx/* +drivers/scsi/raid_class.ko +drivers/scsi/scsi_transport_fc.ko +drivers/scsi/scsi_transport_iscsi.ko +drivers/scsi/scsi_transport_sas.ko +drivers/scsi/scsi_transport_spi.ko +drivers/scsi/sd_mod.ko +drivers/scsi/sr_mod.ko +drivers/scsi/virtio_scsi.ko +drivers/scsi/vmw_pvscsi.ko +drivers/spi/spi-tegra114.ko +drivers/staging/media/tegra-video/tegra-video.ko +drivers/target/loopback/tcm_loop.ko +drivers/target/target_core*.ko +drivers/thermal/tegra/tegra-bpmp-thermal.ko +drivers/tty/serial/jsm/* +drivers/tty/serial/serial-tegra.ko +drivers/uio/uio.ko +drivers/uio/uio_pdrv_genirq.ko +drivers/usb/gadget/udc/tegra-xudc.ko +drivers/usb/host/* +drivers/usb/storage/uas.ko +drivers/usb/storage/usb-storage.ko +drivers/vfio/* +drivers/vhost/* +drivers/video/fbdev/* +drivers/video/vgastate.ko +drivers/virt/vboxguest/vboxguest.ko +drivers/virtio/* +drivers/watchdog/softdog.ko +drivers/xen/* +fs/9p/* +fs/aufs/aufs.ko +fs/autofs/autofs4.ko +fs/binfmt_misc.ko +fs/btrfs/* +fs/cachefiles/cachefiles.ko +fs/ceph/* +fs/cifs/* +fs/configfs/* +fs/dlm/dlm.ko +fs/ecryptfs/* +fs/efivarfs/* +fs/exofs/libore.ko +fs/ext4/* +fs/fat/* +fs/fscache/* +fs/fuse/* +fs/isofs/* +fs/lockd/* +fs/nfs/* +fs/nfs_common/* +fs/nfsd/* +fs/nls/nls_cp437.ko +fs/nls/nls_iso8859-1.ko +fs/overlayfs/* +fs/shiftfs.ko +fs/squashfs/* +fs/udf/* +fs/ufs/* +fs/vboxsf/vboxsf.ko +fs/xfs/* +lib/* +net/6lowpan/* +net/802/* +net/8021q/* +net/9p/* +net/appletalk/* +net/atm/* +net/ax25/* +net/bpfilter/* +net/bridge/* +net/can/* +net/ceph/libceph.ko +net/core/* +net/dccp/* +net/decnet/* +net/ieee802154/* +net/ipv4/* +net/ipv6/* +net/ipx/* +net/key/* +net/lapb/* +net/llc/* +net/netfilter/* +net/netlink/netlink_diag.ko +net/netrom/* +net/openvswitch/* +net/packet/af_packet_diag.ko +net/phonet/* +net/rose/* +net/rxrpc/* +net/sched/* +net/sctp/* +net/sunrpc/auth_gss/auth_rpcgss.ko +net/sunrpc/auth_gss/rpcsec_gss_krb5.ko +net/sunrpc/sunrpc.ko +net/tipc/* +net/unix/unix_diag.ko +net/vmw_vsock/* +net/x25/* +net/xfrm/* +! find sound/core -name oss -prune -o -name *.ko -print +sound/drivers/pcsp/snd-pcsp.ko +sound/pci/hda/snd-hda-tegra.ko +sound/pci/snd-ens1370.ko +sound/soc/tegra/snd-soc-tegra186-dspk.ko +sound/soc/tegra/snd-soc-tegra210-admaif.ko +sound/soc/tegra/snd-soc-tegra210-ahub.ko +sound/soc/tegra/snd-soc-tegra210-dmic.ko +sound/soc/tegra/snd-soc-tegra210-i2s.ko +sound/soundcore.ko +ubuntu/ubuntu-host/ubuntu-host.ko --- linux-gcp-5.19.0.orig/debian.master/control.d/linux-doc.stub +++ linux-gcp-5.19.0/debian.master/control.d/linux-doc.stub @@ -0,0 +1,12 @@ +Package: linux-doc +Build-Profiles: +Architecture: all +Section: doc +Priority: optional +Depends: ${misc:Depends} +Description: Linux kernel specific documentation for version PKGVER + This package provides the various documents in the PKGVER kernel + Documentation/ subdirectory. These document kernel subsystems, APIs, device + drivers, and so on. See + /usr/share/doc/SRCPKGNAME-doc/00-INDEX for a list of what is + contained in each file. --- linux-gcp-5.19.0.orig/debian.master/control.d/linux-libc-dev.stub +++ linux-gcp-5.19.0/debian.master/control.d/linux-libc-dev.stub @@ -0,0 +1,12 @@ +Package: linux-libc-dev +Architecture: amd64 armhf arm64 i386 ppc64el riscv64 s390x +Depends: ${misc:Depends} +Conflicts: linux-kernel-headers +Replaces: linux-kernel-headers +Provides: linux-kernel-headers, aufs-dev +Multi-Arch: same +Description: Linux Kernel Headers for development + This package provides headers from the Linux kernel. These headers + are used by the installed headers for GNU glibc and other system + libraries. They are NOT meant to be used to build third-party modules for + your kernel. Use SRCPKGNAME-headers-* packages for that. --- linux-gcp-5.19.0.orig/debian.master/control.d/vars.generic +++ linux-gcp-5.19.0/debian.master/control.d/vars.generic @@ -0,0 +1,6 @@ +arch="amd64 armhf arm64 ppc64el s390x" +supported="Generic" +target="Geared toward desktop and server systems." +desc="=HUMAN= SMP" +bootloader="grub-pc [amd64] | grub-efi-amd64 [amd64] | grub-efi-ia32 [amd64] | grub [amd64] | lilo [amd64] | flash-kernel [armhf arm64] | grub-efi-arm64 [arm64] | grub-efi-arm [armhf] | grub-ieee1275 [ppc64el]" +provides="kvm-api-4, redhat-cluster-modules, ivtv-modules, virtualbox-guest-modules [amd64]" --- linux-gcp-5.19.0.orig/debian.master/control.d/vars.generic-64k +++ linux-gcp-5.19.0/debian.master/control.d/vars.generic-64k @@ -0,0 +1,6 @@ +arch="arm64" +supported="Generic 64K pages" +target="Geared toward desktop and server systems." +desc="=HUMAN= SMP" +bootloader="grub-efi-arm64 [arm64] | flash-kernel [arm64]" +provides="kvm-api-4, redhat-cluster-modules, ivtv-modules" --- linux-gcp-5.19.0.orig/debian.master/control.d/vars.generic-lpae +++ linux-gcp-5.19.0/debian.master/control.d/vars.generic-lpae @@ -0,0 +1,6 @@ +arch="armhf" +supported="Generic LPAE" +target="Geared toward desktop and server systems." +desc="=HUMAN= SMP" +bootloader="flash-kernel [armhf] | grub-efi-arm [armhf]" +provides="kvm-api-4, redhat-cluster-modules, ivtv-modules" --- linux-gcp-5.19.0.orig/debian.master/control.stub.in +++ linux-gcp-5.19.0/debian.master/control.stub.in @@ -0,0 +1,156 @@ +Source: SRCPKGNAME +Section: devel +Priority: optional +Maintainer: Ubuntu Kernel Team +Standards-Version: 3.9.4.0 +Build-Depends: + debhelper-compat (= 10), + cpio, + kmod , + makedumpfile [amd64] , + libcap-dev , + libelf-dev , + libnewt-dev , + libiberty-dev , + default-jdk-headless , + java-common , + rsync , + libdw-dev , + libpci-dev , + pkg-config , + flex , + bison , + libunwind8-dev [amd64 arm64 armhf ppc64el] , + liblzma-dev , + openssl , + libssl-dev , + libaudit-dev , + bc , + gawk , + libudev-dev , + autoconf , + automake , + libtool , + uuid-dev , + libnuma-dev [amd64 arm64 ppc64el s390x] , + dkms , + curl , + zstd [amd64 s390x] , + pahole [amd64 arm64 armhf ppc64el s390x riscv64] | dwarves (>= 1.21) [amd64 arm64 armhf ppc64el s390x riscv64] , +Build-Depends-Indep: + xmlto , + docbook-utils , + ghostscript , + fig2dev , + bzip2 , + sharutils , + asciidoc , + python3-dev , + python3-sphinx , + python3-sphinx-rtd-theme , + fontconfig , + python3-docutils , + imagemagick , + graphviz , + dvipng , + fonts-noto-cjk , + latexmk , + librsvg2-bin , +Vcs-Git: git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/=SERIES= +XS-Testsuite: autopkgtest +#XS-Testsuite-Depends: gcc-4.7 binutils + +Package: linux-source-PKGVER +Build-Profiles: +Architecture: all +Section: devel +Priority: optional +Provides: linux-source +Depends: ${misc:Depends}, binutils, bzip2, coreutils +Recommends: libc-dev, gcc, make +Suggests: libncurses-dev | ncurses-dev, kernel-package, libqt3-dev +Description: Linux kernel source for version PKGVER with Ubuntu patches + This package provides the source code for the Linux kernel version + PKGVER. + . + This package is mainly meant for other packages to use, in order to build + custom flavours. + . + If you wish to use this package to create a custom Linux kernel, then it + is suggested that you investigate the package kernel-package, which has + been designed to ease the task of creating kernel image packages. + . + If you are simply trying to build third-party modules for your kernel, + you do not want this package. Install the appropriate linux-headers + package instead. + +Package: SRCPKGNAME-headers-PKGVER-ABINUM +Build-Profiles: +Architecture: all +Multi-Arch: foreign +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils +Description: Header files related to Linux kernel version PKGVER + This package provides kernel header files for version PKGVER, for sites + that want the latest kernel headers. Please read + /usr/share/doc/SRCPKGNAME-headers-PKGVER-ABINUM/debian.README.gz for details + +Package: SRCPKGNAME-tools-common +Build-Profiles: +Architecture: all +Multi-Arch: foreign +Section: kernel +Priority: optional +Depends: ${misc:Depends}, lsb-release +Description: Linux kernel version specific tools for version PKGVER + This package provides the architecture independent parts for kernel + version locked tools (such as perf and x86_energy_perf_policy) for + version PKGVER. + +Package: SRCPKGNAME-tools-PKGVER-ABINUM +Build-Profiles: +Architecture: amd64 armhf arm64 ppc64el s390x +Section: devel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-tools-common +Description: Linux kernel version specific tools for version PKGVER-ABINUM + This package provides the architecture dependant parts for kernel + version locked tools (such as perf and x86_energy_perf_policy) for + version PKGVER-ABINUM on + =HUMAN=. + You probably want to install linux-tools-PKGVER-ABINUM-. + +Package: SRCPKGNAME-cloud-tools-common +Build-Profiles: +Architecture: all +Multi-Arch: foreign +Section: kernel +Priority: optional +Depends: ${misc:Depends} +Description: Linux kernel version specific cloud tools for version PKGVER + This package provides the architecture independent parts for kernel + version locked tools for cloud tools for version PKGVER. + +Package: SRCPKGNAME-cloud-tools-PKGVER-ABINUM +Build-Profiles: +Architecture: amd64 armhf +Section: devel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-cloud-tools-common +Description: Linux kernel version specific cloud tools for version PKGVER-ABINUM + This package provides the architecture dependant parts for kernel + version locked tools for cloud tools for version PKGVER-ABINUM on + =HUMAN=. + You probably want to install linux-cloud-tools-PKGVER-ABINUM-. + +Package: SRCPKGNAME-tools-host +Build-Profiles: +Architecture: all +Multi-Arch: foreign +Section: kernel +Priority: optional +Depends: ${misc:Depends}, python3 +Description: Linux kernel VM host tools + This package provides kernel tools useful for VM hosts. + --- linux-gcp-5.19.0.orig/debian.master/copyright +++ linux-gcp-5.19.0/debian.master/copyright @@ -0,0 +1,29 @@ +This is the Ubuntu prepackaged version of the Linux kernel. +Linux was written by Linus Torvalds +and others. + +This package was put together by the Ubuntu Kernel Team, from +sources retrieved from upstream linux git. +The sources may be found at most Linux ftp sites, including +ftp://ftp.kernel.org/pub/linux/kernel/ + +This package is currently maintained by the +Ubuntu Kernel Team + +Linux is copyrighted by Linus Torvalds and others. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 dated June, 1991. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Ubuntu Linux systems, the complete text of the GNU General +Public License v2 can be found in `/usr/share/common-licenses/GPL-2'. --- linux-gcp-5.19.0.orig/debian.master/etc/getabis +++ linux-gcp-5.19.0/debian.master/etc/getabis @@ -0,0 +1,19 @@ +repo_list=( + "http://archive.ubuntu.com/ubuntu/pool/main/l/linux" + "http://ports.ubuntu.com/ubuntu-ports/pool/main/l/linux" + "http://archive.ubuntu.com/ubuntu/pool/universe/l/linux" + "http://ports.ubuntu.com/ubuntu-ports/pool/universe/l/linux" + "http://ppa.launchpad.net/canonical-kernel-team/ppa/ubuntu/pool/main/l/linux" + "http://ppa.launchpad.net/canonical-kernel-team/ppa2/ubuntu/pool/main/l/linux" + "http://ppa.launchpad.net/canonical-kernel-team/unstable/ubuntu/pool/main/l/linux" + "http://ppa.launchpad.net/canonical-kernel-team/bootstrap/ubuntu/pool/main/l/linux" +) + +package_prefixes linux-buildinfo + +getall armhf generic +getall armhf generic-lpae +getall amd64 generic +getall arm64 generic generic-64k +getall ppc64el generic +getall s390x generic --- linux-gcp-5.19.0.orig/debian.master/etc/kernelconfig +++ linux-gcp-5.19.0/debian.master/etc/kernelconfig @@ -0,0 +1 @@ +archs="amd64 armhf arm64 ppc64el riscv64 s390x" --- linux-gcp-5.19.0.orig/debian.master/modprobe.d/common.conf +++ linux-gcp-5.19.0/debian.master/modprobe.d/common.conf @@ -0,0 +1,3 @@ +# LP:1434842 -- disable OSS drivers by default to allow pulseaudio to emulate +blacklist snd-mixer-oss +blacklist snd-pcm-oss --- linux-gcp-5.19.0.orig/debian.master/reconstruct +++ linux-gcp-5.19.0/debian.master/reconstruct @@ -0,0 +1,66 @@ +# Recreate any symlinks created since the orig. +# Remove any files deleted from the orig. +rm -f 'Documentation/devicetree/bindings/phy/amlogic,meson-g12a-usb2-phy.yaml' +rm -f 'Documentation/devicetree/bindings/phy/amlogic,meson-g12a-usb3-pcie-phy.yaml' +rm -f 'arch/arm/crypto/blake2s-shash.c' +rm -f 'arch/x86/crypto/blake2s-shash.c' +rm -f 'crypto/blake2s_generic.c' +rm -f 'fs/io-wq.c' +rm -f 'fs/io-wq.h' +rm -f 'fs/io_uring.c' +rm -f 'net/sched/cls_tcindex.c' +rm -f 'tools/testing/selftests/cpu-hotplug/config' +rm -f 'tools/testing/selftests/net/bpf/Makefile' +rm -f 'tools/testing/selftests/net/bpf/nat6to4.c' +chmod +x 'debian/cloud-tools/hv_get_dhcp_info' +chmod +x 'debian/cloud-tools/hv_get_dns_info' +chmod +x 'debian/cloud-tools/hv_set_ifconfig' +chmod +x 'debian/rules' +chmod +x 'debian/scripts/abi-check' +chmod +x 'debian/scripts/config-check' +chmod +x 'debian/scripts/control-create' +chmod +x 'debian/scripts/dkms-build' +chmod +x 'debian/scripts/dkms-build--nvidia-N' +chmod +x 'debian/scripts/dkms-build-configure--zfs' +chmod +x 'debian/scripts/file-downloader' +chmod +x 'debian/scripts/helpers/close' +chmod +x 'debian/scripts/helpers/open' +chmod +x 'debian/scripts/helpers/rebase' +chmod +x 'debian/scripts/link-headers' +chmod +x 'debian/scripts/misc/arch-has-odm-enabled.sh' +chmod +x 'debian/scripts/misc/final-checks' +chmod +x 'debian/scripts/misc/find-missing-sauce.sh' +chmod +x 'debian/scripts/misc/fw-to-ihex.sh' +chmod +x 'debian/scripts/misc/gen-auto-reconstruct' +chmod +x 'debian/scripts/misc/getabis' +chmod +x 'debian/scripts/misc/git-ubuntu-log' +chmod +x 'debian/scripts/misc/insert-changes' +chmod +x 'debian/scripts/misc/insert-mainline-changes' +chmod +x 'debian/scripts/misc/insert-ubuntu-changes' +chmod +x 'debian/scripts/misc/kernelconfig' +chmod +x 'debian/scripts/misc/retag' +chmod +x 'debian/scripts/misc/splitconfig.pl' +chmod +x 'debian/scripts/misc/tristate.sh' +chmod +x 'debian/scripts/misc/update-aufs.sh' +chmod +x 'debian/scripts/module-check' +chmod +x 'debian/scripts/module-inclusion' +chmod +x 'debian/scripts/module-signature-check' +chmod +x 'debian/scripts/retpoline-check' +chmod +x 'debian/scripts/retpoline-extract' +chmod +x 'debian/scripts/retpoline-extract-one' +chmod +x 'debian/scripts/sign-module' +chmod +x 'debian/templates/extra.postinst.in' +chmod +x 'debian/templates/extra.postrm.in' +chmod +x 'debian/templates/headers.postinst.in' +chmod +x 'debian/templates/image.postinst.in' +chmod +x 'debian/templates/image.postrm.in' +chmod +x 'debian/templates/image.preinst.in' +chmod +x 'debian/templates/image.prerm.in' +chmod +x 'debian/tests-build/check-aliases' +chmod +x 'debian/tests/rebuild' +chmod +x 'debian/tests/ubuntu-regression-suite' +chmod -x 'drivers/gpu/drm/vmwgfx/vmwgfx_msg_arm64.h' +chmod +x 'drivers/watchdog/f71808e_wdt.c' +chmod +x 'update-dkms-versions' +chmod +x 'update-version-dkms' +exit 0 --- linux-gcp-5.19.0.orig/debian.master/rules.d/amd64.mk +++ linux-gcp-5.19.0/debian.master/rules.d/amd64.mk @@ -0,0 +1,23 @@ +human_arch = 64 bit x86 +build_arch = x86 +header_arch = $(build_arch) +defconfig = defconfig +flavours = generic +build_image = bzImage +kernel_file = arch/$(build_arch)/boot/bzImage +install_file = vmlinuz +vdso = vdso_install +no_dumpfile = true +uefi_signed = true +do_tools_usbip = true +do_tools_cpupower = true +do_tools_perf = true +do_tools_perf_jvmti = true +do_tools_bpftool = true +do_tools_x86 = true +do_tools_hyperv = true +do_tools_host = true +do_extras_package = true +do_tools_common = true +do_tools_acpidbg = true +do_odm_drivers = true --- linux-gcp-5.19.0.orig/debian.master/rules.d/arm64.mk +++ linux-gcp-5.19.0/debian.master/rules.d/arm64.mk @@ -0,0 +1,21 @@ +human_arch = ARMv8 +build_arch = arm64 +header_arch = arm64 +defconfig = defconfig +flavours = generic generic-64k +build_image = Image.gz +kernel_file = arch/$(build_arch)/boot/Image.gz +install_file = vmlinuz +no_dumpfile = true +uefi_signed = true + +vdso = vdso_install + +do_extras_package = true +do_tools_usbip = true +do_tools_cpupower = true +do_tools_perf = true +do_tools_perf_jvmti = true +do_tools_bpftool = true + +do_dtbs = true --- linux-gcp-5.19.0.orig/debian.master/rules.d/armhf.mk +++ linux-gcp-5.19.0/debian.master/rules.d/armhf.mk @@ -0,0 +1,17 @@ +human_arch = ARM (hard float) +build_arch = arm +header_arch = arm +defconfig = defconfig +flavours = generic generic-lpae +build_image = zImage +kernel_file = arch/$(build_arch)/boot/zImage +install_file = vmlinuz +no_dumpfile = true + +do_tools_usbip = true +do_tools_cpupower = true +do_tools_perf = true +do_tools_perf_jvmti = true +do_tools_bpftool = true + +do_dtbs = true --- linux-gcp-5.19.0.orig/debian.master/rules.d/hooks.mk +++ linux-gcp-5.19.0/debian.master/rules.d/hooks.mk @@ -0,0 +1 @@ +do_enforce_all = true --- linux-gcp-5.19.0.orig/debian.master/rules.d/i386.mk +++ linux-gcp-5.19.0/debian.master/rules.d/i386.mk @@ -0,0 +1,18 @@ +human_arch = 32 bit x86 +build_arch = i386 +header_arch = $(build_arch) +defconfig = defconfig +flavours = generic +build_image = bzImage +kernel_file = arch/$(build_arch)/boot/bzImage +install_file = vmlinuz +vdso = vdso_install +no_dumpfile = true +do_flavour_image_package = false +do_tools = false +do_tools_common = false +do_extras_package = false +do_source_package = false +do_doc_package = false +do_flavour_header_package = false +do_common_headers_indep = false --- linux-gcp-5.19.0.orig/debian.master/rules.d/ppc64el.mk +++ linux-gcp-5.19.0/debian.master/rules.d/ppc64el.mk @@ -0,0 +1,18 @@ +human_arch = PowerPC 64el +build_arch = powerpc +header_arch = $(build_arch) +defconfig = pseries_le_defconfig +flavours = generic +build_image = vmlinux.strip +kernel_file = arch/powerpc/boot/vmlinux.strip +install_file = vmlinux +no_dumpfile = true +do_extras_package = true +opal_signed = false +do_tools_usbip = true +do_tools_cpupower = true +do_tools_perf = true +do_tools_perf_jvmti = true +do_tools_bpftool = true + +#do_flavour_image_package = false --- linux-gcp-5.19.0.orig/debian.master/rules.d/riscv64.mk +++ linux-gcp-5.19.0/debian.master/rules.d/riscv64.mk @@ -0,0 +1,20 @@ +human_arch = RISC-V +build_arch = riscv +header_arch = $(build_arch) +defconfig = defconfig +flavours = generic +build_image = Image +kernel_file = arch/$(build_arch)/boot/Image +install_file = vmlinuz + +vdso = vdso_install +no_dumpfile = true + +do_flavour_image_package = false +do_tools = false +do_tools_common = false +do_extras_package = false +do_source_package = false +do_doc_package = false +do_flavour_header_package = false +do_common_headers_indep = false --- linux-gcp-5.19.0.orig/debian.master/rules.d/s390x.mk +++ linux-gcp-5.19.0/debian.master/rules.d/s390x.mk @@ -0,0 +1,19 @@ +human_arch = System 390x +build_arch = s390 +header_arch = $(build_arch) +defconfig = defconfig +flavours = generic +build_image = bzImage +kernel_file = arch/$(build_arch)/boot/bzImage +install_file = vmlinuz + +vdso = vdso_install +no_dumpfile = true + +do_extras_package = true +sipl_signed = true +do_tools_usbip = true +do_tools_cpupower = true +do_tools_perf = true +do_tools_perf_jvmti = true +do_tools_bpftool = true --- linux-gcp-5.19.0.orig/debian.master/rules.d/x32.mk +++ linux-gcp-5.19.0/debian.master/rules.d/x32.mk @@ -0,0 +1,13 @@ +human_arch = 64 bit x86 (32 bit userspace) +build_arch = x86 +header_arch = $(build_arch) +defconfig = defconfig +flavours = +build_image = bzImage +kernel_file = arch/$(build_arch)/boot/bzImage +install_file = vmlinuz +vdso = vdso_install +no_dumpfile = true +uefi_signed = true + +do_flavour_image_package = false --- linux-gcp-5.19.0.orig/debian.master/tracking-bug +++ linux-gcp-5.19.0/debian.master/tracking-bug @@ -0,0 +1 @@ +2024043 s2023.05.15-1 --- linux-gcp-5.19.0.orig/debian.master/upstream-stable +++ linux-gcp-5.19.0/debian.master/upstream-stable @@ -0,0 +1,6 @@ +# The following upstream stable releases have been ported: +[upstream-stable] + linux-5.15.y = v5.15.99 + linux-5.19.y = v5.19.17 + linux-6.0.y = v6.0.19 + linux-6.1.y = v6.1.16 --- linux-gcp-5.19.0.orig/debian.master/variants +++ linux-gcp-5.19.0/debian.master/variants @@ -0,0 +1,3 @@ +-- +-hwe-22.04 +-hwe-22.04-edge --- linux-gcp-5.19.0.orig/debian/canonical-certs.pem +++ linux-gcp-5.19.0/debian/canonical-certs.pem @@ -0,0 +1,246 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + c7:7e:51:6a:1c:25:cd:40 + Signature Algorithm: sha512WithRSAEncryption + Issuer: CN = Canonical Ltd. Live Patch Signing + Validity + Not Before: Jul 18 23:41:27 2016 GMT + Not After : Jul 16 23:41:27 2026 GMT + Subject: CN = Canonical Ltd. Live Patch Signing + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (4096 bit) + Modulus: + 00:bd:74:ee:72:b3:4a:ab:e6:31:e8:29:24:c2:bd: + 46:98:32:c0:39:ee:a3:fb:8a:ad:fe:ab:1a:5b:a3: + 2e:a1:80:db:79:61:9e:47:79:2c:75:57:a2:21:f0: + 93:f6:87:f2:9b:4b:9d:2f:b3:58:61:28:3c:41:70: + 13:16:a1:72:90:c9:d5:16:71:7c:e0:30:f9:28:5e: + 48:20:36:00:69:b7:59:9f:a3:ec:a8:eb:55:41:9f: + 38:1e:22:4a:57:20:f4:83:59:49:c5:00:93:d3:33: + 02:92:d1:fc:f0:84:3b:4a:5b:8f:b6:73:9a:89:fa: + 30:1e:e6:2a:68:f2:91:ef:59:57:3d:dc:1c:52:6f: + 5e:e6:9b:b5:b8:7c:98:c9:13:d1:39:68:01:67:91: + e0:d3:67:72:16:0a:5e:16:83:45:31:4f:b5:2b:b3: + f6:40:86:89:3a:84:6e:6f:16:61:bc:70:84:be:5a: + 13:36:7b:82:ea:07:19:fc:18:c1:16:c6:32:0b:7d: + 2c:6b:c4:21:b9:38:6b:31:dc:d9:0c:ad:56:40:68: + 7c:e3:c6:64:8e:bf:1c:e0:72:3e:6c:db:d2:73:79: + da:d7:c5:2f:5d:04:7d:b0:07:1e:95:dd:2a:47:5e: + bf:3e:3a:c8:66:f6:67:0f:d4:2a:f1:e2:71:59:d2: + 6c:7b:a0:37:ac:e6:97:80:30:13:97:48:d5:74:fc: + 38:68:e4:57:cb:99:69:5a:84:27:ac:98:51:e4:64: + bd:91:62:e8:58:27:06:2a:b9:0b:b8:08:e5:e5:b4: + 51:a7:a2:10:df:4e:07:6c:a0:3b:96:f2:6e:df:75: + 8c:97:1e:64:a0:9a:86:9b:98:26:f9:d8:b7:de:5b: + 21:b7:af:89:01:a3:f7:98:6b:da:19:ba:86:ef:ef: + f1:ce:bb:2f:89:ed:c0:b6:1b:e5:5b:f8:90:11:9a: + 52:93:e9:be:f7:35:b9:08:cb:ba:c3:ed:2f:73:af: + cc:96:07:55:b5:de:f6:03:f6:f1:89:f9:21:40:76: + c1:69:f2:61:cc:9a:94:df:9c:ec:6a:65:38:be:d1: + 4e:2a:87:c7:2f:3e:53:ae:8b:9f:54:a1:09:59:64: + 25:aa:a9:d8:44:a9:a8:a0:71:e1:32:aa:4c:32:fd: + 44:28:cc:9c:6f:8e:db:81:7e:6f:fa:00:56:c5:e5: + 03:46:63:fb:8e:71:8d:e3:13:91:9f:ac:60:3e:64: + f3:df:25:34:09:fa:2d:96:9f:16:05:ea:93:f5:e6: + 00:08:27:32:7b:3c:bd:ee:70:24:6c:3b:55:e9:db: + f4:10:2d:20:06:b4:ca:e9:29:65:55:ad:f6:52:54: + 5f:e5:a3 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:FALSE + X509v3 Key Usage: + Digital Signature + X509v3 Subject Key Identifier: + 14:DF:34:D1:A8:7C:F3:76:25:AB:EC:03:9E:F2:BF:52:12:49:B9:69 + X509v3 Authority Key Identifier: + keyid:14:DF:34:D1:A8:7C:F3:76:25:AB:EC:03:9E:F2:BF:52:12:49:B9:69 + + Signature Algorithm: sha512WithRSAEncryption + 30:e7:48:02:37:e9:28:cf:04:a2:4d:5c:fa:d8:4e:c9:76:c7: + 14:3f:bd:2c:51:3d:33:f0:1a:bc:49:f1:47:95:8f:69:d8:a9: + 54:14:44:6c:4d:9f:55:82:08:1e:c6:5b:d5:91:d9:bc:2e:b0: + af:d6:25:65:74:96:aa:36:de:ae:31:a8:11:f2:a4:2c:5a:e1: + 4f:73:f8:4a:c3:35:b0:76:96:71:f2:b5:7d:4b:75:ee:5d:bf: + 86:a5:ba:0b:a9:52:cb:ec:ab:e5:23:4b:f2:74:55:28:17:1e: + b3:ac:27:ad:45:13:6e:69:b3:5a:be:42:36:29:48:db:e7:5c: + 22:58:a0:90:82:2c:2a:21:2b:db:f4:64:b7:91:5d:1f:2c:48: + a4:1a:85:e3:86:a5:aa:19:cd:19:e8:a5:fb:a3:7b:94:77:48: + 25:a4:cf:a0:cf:71:82:5c:6f:71:22:7c:d6:97:a0:53:bb:ec: + 30:f6:cb:16:fb:7b:fd:16:94:7a:53:6e:bd:04:64:a2:01:10: + 9f:f0:5b:b5:a6:73:41:9d:5f:6f:45:73:0d:05:f7:30:6d:39: + 90:b6:7d:55:7d:4c:2f:ae:5f:38:56:2f:8b:df:f4:bf:12:06: + 93:6e:0d:02:23:bf:71:91:57:88:e8:bd:62:72:99:00:40:29: + 1e:c9:13:11:da:7e:8e:e1:d2:a5:0d:bf:f7:d6:ec:01:0d:89: + 41:cd:d5:dc:d2:f7:5f:33:0d:4c:2f:85:b7:85:b7:81:e4:17: + 29:f0:74:cf:0e:15:8c:1a:50:0b:08:63:1a:91:4f:e7:76:97: + f1:d4:3b:7e:72:d4:c5:45:58:0c:6a:e9:0d:f2:85:d8:91:1e: + 37:bd:78:e3:39:4d:2e:fd:85:31:c1:a6:3b:6a:cc:2c:53:72: + 1d:8e:7b:f0:e6:76:86:09:6f:1a:f3:e4:a1:e2:dd:76:5f:b0: + 8c:e2:2a:54:5d:c1:88:49:90:10:15:42:7d:05:24:53:8c:54: + ff:48:18:1a:36:e3:31:d3:54:32:78:0d:fe:f2:3d:aa:0d:37: + 15:84:b4:36:47:31:e8:85:6e:0b:58:38:ff:21:91:09:c9:a8: + 43:a3:ea:60:cb:7e:ed:f7:41:6f:4e:91:c1:fd:77:46:e7:d4: + e7:86:c0:1b:fd:50:6c:aa:be:00:b3:63:02:ff:4e:c7:a5:57: + 6e:29:64:e9:54:d5:30:63:38:5f:2d:5a:db:49:5f:14:14:22: + d2:81:1f:61:9e:ee:ee:16:66:d6:bc:bd:ac:1b:5c:fb:38:31: + 95:33:2e:84:6e:7a:de:ee:b9:fc:97:17:06:13:bf:70:1c:6e: + 76:ed:66:38:e2:70:08:00 +-----BEGIN CERTIFICATE----- +MIIFODCCAyCgAwIBAgIJAMd+UWocJc1AMA0GCSqGSIb3DQEBDQUAMCwxKjAoBgNV +BAMMIUNhbm9uaWNhbCBMdGQuIExpdmUgUGF0Y2ggU2lnbmluZzAeFw0xNjA3MTgy +MzQxMjdaFw0yNjA3MTYyMzQxMjdaMCwxKjAoBgNVBAMMIUNhbm9uaWNhbCBMdGQu +IExpdmUgUGF0Y2ggU2lnbmluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC +ggIBAL107nKzSqvmMegpJMK9RpgywDnuo/uKrf6rGlujLqGA23lhnkd5LHVXoiHw +k/aH8ptLnS+zWGEoPEFwExahcpDJ1RZxfOAw+SheSCA2AGm3WZ+j7KjrVUGfOB4i +Slcg9INZScUAk9MzApLR/PCEO0pbj7Zzmon6MB7mKmjyke9ZVz3cHFJvXuabtbh8 +mMkT0TloAWeR4NNnchYKXhaDRTFPtSuz9kCGiTqEbm8WYbxwhL5aEzZ7guoHGfwY +wRbGMgt9LGvEIbk4azHc2QytVkBofOPGZI6/HOByPmzb0nN52tfFL10EfbAHHpXd +Kkdevz46yGb2Zw/UKvHicVnSbHugN6zml4AwE5dI1XT8OGjkV8uZaVqEJ6yYUeRk +vZFi6FgnBiq5C7gI5eW0UaeiEN9OB2ygO5bybt91jJceZKCahpuYJvnYt95bIbev +iQGj95hr2hm6hu/v8c67L4ntwLYb5Vv4kBGaUpPpvvc1uQjLusPtL3OvzJYHVbXe +9gP28Yn5IUB2wWnyYcyalN+c7GplOL7RTiqHxy8+U66Ln1ShCVlkJaqp2ESpqKBx +4TKqTDL9RCjMnG+O24F+b/oAVsXlA0Zj+45xjeMTkZ+sYD5k898lNAn6LZafFgXq +k/XmAAgnMns8ve5wJGw7Venb9BAtIAa0yukpZVWt9lJUX+WjAgMBAAGjXTBbMAwG +A1UdEwEB/wQCMAAwCwYDVR0PBAQDAgeAMB0GA1UdDgQWBBQU3zTRqHzzdiWr7AOe +8r9SEkm5aTAfBgNVHSMEGDAWgBQU3zTRqHzzdiWr7AOe8r9SEkm5aTANBgkqhkiG +9w0BAQ0FAAOCAgEAMOdIAjfpKM8Eok1c+thOyXbHFD+9LFE9M/AavEnxR5WPadip +VBREbE2fVYIIHsZb1ZHZvC6wr9YlZXSWqjberjGoEfKkLFrhT3P4SsM1sHaWcfK1 +fUt17l2/hqW6C6lSy+yr5SNL8nRVKBces6wnrUUTbmmzWr5CNilI2+dcIligkIIs +KiEr2/Rkt5FdHyxIpBqF44alqhnNGeil+6N7lHdIJaTPoM9xglxvcSJ81pegU7vs +MPbLFvt7/RaUelNuvQRkogEQn/BbtaZzQZ1fb0VzDQX3MG05kLZ9VX1ML65fOFYv +i9/0vxIGk24NAiO/cZFXiOi9YnKZAEApHskTEdp+juHSpQ2/99bsAQ2JQc3V3NL3 +XzMNTC+Ft4W3geQXKfB0zw4VjBpQCwhjGpFP53aX8dQ7fnLUxUVYDGrpDfKF2JEe +N7144zlNLv2FMcGmO2rMLFNyHY578OZ2hglvGvPkoeLddl+wjOIqVF3BiEmQEBVC +fQUkU4xU/0gYGjbjMdNUMngN/vI9qg03FYS0Nkcx6IVuC1g4/yGRCcmoQ6PqYMt+ +7fdBb06Rwf13RufU54bAG/1QbKq+ALNjAv9Ox6VXbilk6VTVMGM4Xy1a20lfFBQi +0oEfYZ7u7hZm1ry9rBtc+zgxlTMuhG563u65/JcXBhO/cBxudu1mOOJwCAA= +-----END CERTIFICATE----- +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + e9:df:13:0f:92:92:a9:b7 + Signature Algorithm: sha512WithRSAEncryption + Issuer: C = GB, ST = Isle of Man, L = Douglas, O = Canonical Ltd., CN = Canonical Ltd. Kernel Module Signing + Validity + Not Before: May 31 16:06:09 2016 GMT + Not After : May 29 16:06:09 2026 GMT + Subject: C = GB, ST = Isle of Man, L = Douglas, O = Canonical Ltd., CN = Canonical Ltd. Kernel Module Signing + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (4096 bit) + Modulus: + 00:b3:b0:4f:c6:0a:77:8b:f9:d1:53:33:34:d2:80: + b5:63:6f:e1:f6:a2:83:99:d5:b6:b1:e4:99:91:fa: + 6c:19:c6:d0:91:2a:b9:7d:b5:98:a6:0d:28:01:b8: + 7c:8e:aa:38:ec:51:37:33:96:f0:b0:9b:8d:86:5f: + 67:23:69:2f:d7:c2:f3:fb:c5:d7:f9:04:ff:f2:e5: + 61:68:b7:29:b9:c6:8e:4b:4d:2d:8f:92:0c:00:b3: + a3:d2:5a:08:64:cd:f2:09:0b:a5:0e:e6:64:75:d5: + 41:f4:4d:49:3a:0d:dc:b9:27:8e:c4:d6:b1:df:8f: + 6c:f0:e4:f7:31:cb:a9:04:a1:f9:a7:aa:15:da:59: + 03:4d:46:14:d0:dd:bf:e0:f5:9e:f0:71:0c:70:78: + 2b:08:fb:e0:b6:68:a4:74:12:9d:f7:f2:64:88:17: + 2a:8a:ed:1a:91:b5:6c:13:bd:4c:10:0a:0b:72:0b: + 90:db:7d:f3:78:44:4c:d2:a5:41:f7:1c:77:7d:5a: + 8a:54:bc:8f:fe:b7:ee:e1:bc:59:37:c4:d4:e8:14: + d0:5b:42:9b:04:00:8e:6d:83:8a:25:21:5b:08:c4: + 7b:b2:d9:99:52:c9:5e:59:6d:c4:aa:52:59:e2:e4: + 2f:7e:7e:ac:05:01:99:bf:13:72:b7:45:c5:17:da: + 8a:d5:3e:71:73:2e:d8:aa:e6:eb:5a:d0:9a:c4:93: + f3:be:eb:d2:47:25:34:16:29:fa:dd:9a:2f:b1:20: + e5:41:4e:ed:ea:51:7c:23:80:ba:3d:b5:3a:0b:8c: + 9c:85:48:6c:3c:8b:29:2f:2f:12:c7:52:34:02:ea: + 0f:ac:53:23:3c:f8:3e:40:1b:30:63:e9:2d:e6:f6: + 58:cc:51:f9:eb:08:4a:b4:c7:16:80:d1:8b:c2:64: + 6a:71:a9:70:31:a4:a7:3a:c0:93:99:1b:0e:42:c1: + 00:6d:43:27:99:6c:e5:fd:23:16:c1:8e:b5:66:17: + 2b:4c:53:5a:6d:1e:96:16:13:6a:c6:d4:85:5b:74: + 2e:ce:7c:45:2f:ad:cb:75:9e:5e:91:bd:9a:6a:86: + 1a:06:bd:39:be:a3:50:56:ea:e1:f6:e3:95:69:d7: + 31:e4:66:f7:36:b5:51:c2:22:b4:9c:74:9c:44:0b: + 0e:16:5f:53:f0:23:c6:b9:40:bd:d6:b8:7d:1b:f6: + 73:f6:27:e7:c0:e3:65:a0:58:ab:5c:59:b7:80:8c: + 8c:04:b4:a9:ae:a0:51:40:10:3b:63:59:49:87:d1: + 9b:df:a3:8c:c4:2e:eb:70:c1:0a:18:1f:cb:22:c2: + f2:4a:65:0d:e5:81:74:d8:ce:72:c6:35:be:ba:63: + 72:c4:f9 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:FALSE + X509v3 Key Usage: + Digital Signature + X509v3 Subject Key Identifier: + 88:F7:52:E5:60:A1:E0:73:7E:31:16:3A:46:6A:D7:B7:0A:85:0C:19 + X509v3 Authority Key Identifier: + keyid:88:F7:52:E5:60:A1:E0:73:7E:31:16:3A:46:6A:D7:B7:0A:85:0C:19 + + Signature Algorithm: sha512WithRSAEncryption + 04:85:16:27:58:ba:71:28:57:86:7b:c2:83:db:e5:72:6f:1e: + b2:1c:63:b0:db:ad:c0:42:96:c0:4f:65:f6:35:4d:c0:07:0d: + 46:be:d3:1e:ec:f1:22:18:2a:18:5d:bb:69:a6:a6:d4:0d:c3: + 57:03:b9:e7:45:49:28:ca:6d:98:17:68:97:cb:7b:36:81:0a: + 37:9e:34:79:f3:e1:0e:5b:77:43:bb:5a:a5:45:b7:16:50:86: + fd:12:a4:96:0f:15:19:09:1c:e1:fa:80:a5:80:09:be:bb:c8: + 26:0b:3e:de:03:d2:c2:18:a4:8d:0d:de:c5:32:82:0b:fb:75: + 55:66:1a:2a:bb:e4:bd:25:91:20:15:d4:be:b8:3f:53:e3:fb: + a8:c3:55:e3:d5:e7:82:18:95:df:39:09:a7:fc:89:6e:b4:1c: + aa:2d:e8:67:c2:0d:34:34:3e:f9:fa:0b:ce:81:92:11:ae:12: + 0a:fe:35:63:ce:46:29:c4:2b:4f:cb:4e:05:0a:a1:11:e2:35: + f6:5a:5d:b5:e8:d2:6f:4c:fc:3d:24:a6:03:4b:dd:98:6b:f2: + 71:58:16:1d:a5:25:ef:d9:06:7c:e8:db:7b:88:6a:89:5c:59: + 01:92:64:db:44:08:63:6c:7c:32:d6:55:98:63:09:26:61:67: + 0a:fe:5d:ee:fd:23:59:b3:4d:91:c1:4d:41:8b:cd:20:58:fa: + 2d:45:e5:bd:1d:69:5c:03:a0:49:a6:97:54:13:b6:c9:e0:f8: + 56:83:a1:2a:c3:f4:6c:fd:ab:20:ca:3d:9c:95:c0:cf:04:bb: + 46:39:cf:34:81:65:45:27:64:01:7d:62:b3:b8:72:ea:10:d5: + 0f:53:7d:39:88:25:09:6f:8c:bc:e0:49:bb:39:e2:0e:8d:cf: + 56:4d:c1:82:6d:87:d2:e7:fc:c0:9f:a7:65:60:d2:6c:65:18: + 59:38:6e:d0:9c:d7:c3:81:9a:9a:29:8f:83:84:c3:b5:44:ff: + 28:ac:13:17:64:f2:26:13:d9:55:06:b7:69:68:7c:bf:ec:d1: + 8c:ef:b7:da:76:e1:07:73:c6:31:62:31:cb:b6:e1:e7:7f:0c: + c3:f7:4c:52:be:25:36:8e:a1:bb:60:02:c3:cb:3e:6f:29:fc: + 7f:6a:fa:f8:ec:0a:df:49:e2:57:0e:bc:bd:93:c3:1b:d5:36: + 8a:ff:d8:1b:17:c7:1f:cb:69:00:d2:54:9e:ad:61:89:92:95: + 11:f8:ea:17:83:9f:9b:09:7d:b8:94:a4:ea:f5:ae:ea:dc:dd: + 62:b9:9e:68:9c:18:ec:19:c4:13:08:c8:b1:62:ab:8e:84:69: + 11:3c:da:ea:0d:b7:22:bd +-----BEGIN CERTIFICATE----- +MIIF2jCCA8KgAwIBAgIJAOnfEw+Skqm3MA0GCSqGSIb3DQEBDQUAMH0xCzAJBgNV +BAYTAkdCMRQwEgYDVQQIDAtJc2xlIG9mIE1hbjEQMA4GA1UEBwwHRG91Z2xhczEX +MBUGA1UECgwOQ2Fub25pY2FsIEx0ZC4xLTArBgNVBAMMJENhbm9uaWNhbCBMdGQu +IEtlcm5lbCBNb2R1bGUgU2lnbmluZzAeFw0xNjA1MzExNjA2MDlaFw0yNjA1Mjkx +NjA2MDlaMH0xCzAJBgNVBAYTAkdCMRQwEgYDVQQIDAtJc2xlIG9mIE1hbjEQMA4G +A1UEBwwHRG91Z2xhczEXMBUGA1UECgwOQ2Fub25pY2FsIEx0ZC4xLTArBgNVBAMM +JENhbm9uaWNhbCBMdGQuIEtlcm5lbCBNb2R1bGUgU2lnbmluZzCCAiIwDQYJKoZI +hvcNAQEBBQADggIPADCCAgoCggIBALOwT8YKd4v50VMzNNKAtWNv4faig5nVtrHk +mZH6bBnG0JEquX21mKYNKAG4fI6qOOxRNzOW8LCbjYZfZyNpL9fC8/vF1/kE//Ll +YWi3KbnGjktNLY+SDACzo9JaCGTN8gkLpQ7mZHXVQfRNSToN3LknjsTWsd+PbPDk +9zHLqQSh+aeqFdpZA01GFNDdv+D1nvBxDHB4Kwj74LZopHQSnffyZIgXKortGpG1 +bBO9TBAKC3ILkNt983hETNKlQfccd31ailS8j/637uG8WTfE1OgU0FtCmwQAjm2D +iiUhWwjEe7LZmVLJXlltxKpSWeLkL35+rAUBmb8TcrdFxRfaitU+cXMu2Krm61rQ +msST877r0kclNBYp+t2aL7Eg5UFO7epRfCOAuj21OguMnIVIbDyLKS8vEsdSNALq +D6xTIzz4PkAbMGPpLeb2WMxR+esISrTHFoDRi8JkanGpcDGkpzrAk5kbDkLBAG1D +J5ls5f0jFsGOtWYXK0xTWm0elhYTasbUhVt0Ls58RS+ty3WeXpG9mmqGGga9Ob6j +UFbq4fbjlWnXMeRm9za1UcIitJx0nEQLDhZfU/AjxrlAvda4fRv2c/Yn58DjZaBY +q1xZt4CMjAS0qa6gUUAQO2NZSYfRm9+jjMQu63DBChgfyyLC8kplDeWBdNjOcsY1 +vrpjcsT5AgMBAAGjXTBbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgeAMB0GA1Ud +DgQWBBSI91LlYKHgc34xFjpGate3CoUMGTAfBgNVHSMEGDAWgBSI91LlYKHgc34x +FjpGate3CoUMGTANBgkqhkiG9w0BAQ0FAAOCAgEABIUWJ1i6cShXhnvCg9vlcm8e +shxjsNutwEKWwE9l9jVNwAcNRr7THuzxIhgqGF27aaam1A3DVwO550VJKMptmBdo +l8t7NoEKN540efPhDlt3Q7tapUW3FlCG/RKklg8VGQkc4fqApYAJvrvIJgs+3gPS +whikjQ3exTKCC/t1VWYaKrvkvSWRIBXUvrg/U+P7qMNV49XnghiV3zkJp/yJbrQc +qi3oZ8INNDQ++foLzoGSEa4SCv41Y85GKcQrT8tOBQqhEeI19lpdtejSb0z8PSSm +A0vdmGvycVgWHaUl79kGfOjbe4hqiVxZAZJk20QIY2x8MtZVmGMJJmFnCv5d7v0j +WbNNkcFNQYvNIFj6LUXlvR1pXAOgSaaXVBO2yeD4VoOhKsP0bP2rIMo9nJXAzwS7 +RjnPNIFlRSdkAX1is7hy6hDVD1N9OYglCW+MvOBJuzniDo3PVk3Bgm2H0uf8wJ+n +ZWDSbGUYWThu0JzXw4GamimPg4TDtUT/KKwTF2TyJhPZVQa3aWh8v+zRjO+32nbh +B3PGMWIxy7bh538Mw/dMUr4lNo6hu2ACw8s+byn8f2r6+OwK30niVw68vZPDG9U2 +iv/YGxfHH8tpANJUnq1hiZKVEfjqF4Ofmwl9uJSk6vWu6tzdYrmeaJwY7BnEEwjI +sWKrjoRpETza6g23Ir0= +-----END CERTIFICATE----- --- linux-gcp-5.19.0.orig/debian/canonical-revoked-certs.pem +++ linux-gcp-5.19.0/debian/canonical-revoked-certs.pem @@ -0,0 +1,688 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 1 (0x1) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C = GB, ST = Isle of Man, L = Douglas, O = Canonical Ltd., CN = Canonical Ltd. Master Certificate Authority + Validity + Not Before: Apr 12 11:39:08 2012 GMT + Not After : Apr 11 11:39:08 2042 GMT + Subject: C = GB, ST = Isle of Man, O = Canonical Ltd., OU = Secure Boot, CN = Canonical Ltd. Secure Boot Signing + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:c9:5f:9b:62:8f:0b:b0:64:82:ac:be:c9:e2:62: + e3:4b:d2:9f:1e:8a:d5:61:1a:2b:5d:38:f4:b7:ce: + b9:9a:b8:43:b8:43:97:77:ab:4f:7f:0c:70:46:0b: + fc:7f:6d:c6:6d:ea:80:5e:01:d2:b7:66:1e:87:de: + 0d:6d:d0:41:97:a8:a5:af:0c:63:4f:f7:7c:c2:52: + cc:a0:31:a9:bb:89:5d:99:1e:46:6f:55:73:b9:76: + 69:ec:d7:c1:fc:21:d6:c6:07:e7:4f:bd:22:de:e4: + a8:5b:2d:db:95:34:19:97:d6:28:4b:21:4c:ca:bb: + 1d:79:a6:17:7f:5a:f9:67:e6:5c:78:45:3d:10:6d: + b0:17:59:26:11:c5:57:e3:7f:4e:82:ba:f6:2c:4e: + c8:37:4d:ff:85:15:84:47:e0:ed:3b:7c:7f:bc:af: + e9:01:05:a7:0c:6f:c3:e9:8d:a3:ce:be:a6:e3:cd: + 3c:b5:58:2c:9e:c2:03:1c:60:22:37:39:ff:41:02: + c1:29:a4:65:51:ff:33:34:aa:42:15:f9:95:78:fc: + 2d:f5:da:8a:85:7c:82:9d:fb:37:2c:6b:a5:a8:df: + 7c:55:0b:80:2e:3c:b0:63:e1:cd:38:48:89:e8:14: + 06:0b:82:bc:fd:d4:07:68:1b:0f:3e:d9:15:dd:94: + 11:1b + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:FALSE + X509v3 Extended Key Usage: + Code Signing, 1.3.6.1.4.1.311.10.3.6 + Netscape Comment: + OpenSSL Generated Certificate + X509v3 Subject Key Identifier: + 61:48:2A:A2:83:0D:0A:B2:AD:5A:F1:0B:72:50:DA:90:33:DD:CE:F0 + X509v3 Authority Key Identifier: + AD:91:99:0B:C2:2A:B1:F5:17:04:8C:23:B6:65:5A:26:8E:34:5A:63 + Signature Algorithm: sha256WithRSAEncryption + Signature Value: + 8f:8a:a1:06:1f:29:b7:0a:4a:d5:c5:fd:81:ab:25:ea:c0:7d: + e2:fc:6a:96:a0:79:93:67:ee:05:0e:25:12:25:e4:5a:f6:aa: + 1a:f1:12:f3:05:8d:87:5e:f1:5a:5c:cb:8d:23:73:65:1d:15: + b9:de:22:6b:d6:49:67:c9:a3:c6:d7:62:4e:5c:b5:f9:03:83: + 40:81:dc:87:9c:3c:3f:1c:0d:51:9f:94:65:0a:84:48:67:e4: + a2:f8:a6:4a:f0:e7:cd:cd:bd:94:e3:09:d2:5d:2d:16:1b:05: + 15:0b:cb:44:b4:3e:61:42:22:c4:2a:5c:4e:c5:1d:a3:e2:e0: + 52:b2:eb:f4:8b:2b:dc:38:39:5d:fb:88:a1:56:65:5f:2b:4f: + 26:ff:06:78:10:12:eb:8c:5d:32:e3:c6:45:af:25:9b:a0:ff: + 8e:ef:47:09:a3:e9:8b:37:92:92:69:76:7e:34:3b:92:05:67: + 4e:b0:25:ed:bc:5e:5f:8f:b4:d6:ca:40:ff:e4:e2:31:23:0c: + 85:25:ae:0c:55:01:ec:e5:47:5e:df:5b:bc:14:33:e3:c6:f5: + 18:b6:d9:f7:dd:b3:b4:a1:31:d3:5a:5c:5d:7d:3e:bf:0a:e4: + e4:e8:b4:59:7d:3b:b4:8c:a3:1b:b5:20:a3:b9:3e:84:6f:8c: + 21:00:c3:39 +-----BEGIN CERTIFICATE----- +MIIEIDCCAwigAwIBAgIBATANBgkqhkiG9w0BAQsFADCBhDELMAkGA1UEBhMCR0Ix +FDASBgNVBAgMC0lzbGUgb2YgTWFuMRAwDgYDVQQHDAdEb3VnbGFzMRcwFQYDVQQK +DA5DYW5vbmljYWwgTHRkLjE0MDIGA1UEAwwrQ2Fub25pY2FsIEx0ZC4gTWFzdGVy +IENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0xMjA0MTIxMTM5MDhaFw00MjA0MTEx +MTM5MDhaMH8xCzAJBgNVBAYTAkdCMRQwEgYDVQQIDAtJc2xlIG9mIE1hbjEXMBUG +A1UECgwOQ2Fub25pY2FsIEx0ZC4xFDASBgNVBAsMC1NlY3VyZSBCb290MSswKQYD +VQQDDCJDYW5vbmljYWwgTHRkLiBTZWN1cmUgQm9vdCBTaWduaW5nMIIBIjANBgkq +hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyV+bYo8LsGSCrL7J4mLjS9KfHorVYRor +XTj0t865mrhDuEOXd6tPfwxwRgv8f23GbeqAXgHSt2Yeh94NbdBBl6ilrwxjT/d8 +wlLMoDGpu4ldmR5Gb1VzuXZp7NfB/CHWxgfnT70i3uSoWy3blTQZl9YoSyFMyrsd +eaYXf1r5Z+ZceEU9EG2wF1kmEcVX439Ogrr2LE7IN03/hRWER+DtO3x/vK/pAQWn +DG/D6Y2jzr6m4808tVgsnsIDHGAiNzn/QQLBKaRlUf8zNKpCFfmVePwt9dqKhXyC +nfs3LGulqN98VQuALjywY+HNOEiJ6BQGC4K8/dQHaBsPPtkV3ZQRGwIDAQABo4Gg +MIGdMAwGA1UdEwEB/wQCMAAwHwYDVR0lBBgwFgYIKwYBBQUHAwMGCisGAQQBgjcK +AwYwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRl +MB0GA1UdDgQWBBRhSCqigw0Ksq1a8QtyUNqQM93O8DAfBgNVHSMEGDAWgBStkZkL +wiqx9RcEjCO2ZVomjjRaYzANBgkqhkiG9w0BAQsFAAOCAQEAj4qhBh8ptwpK1cX9 +gasl6sB94vxqlqB5k2fuBQ4lEiXkWvaqGvES8wWNh17xWlzLjSNzZR0Vud4ia9ZJ +Z8mjxtdiTly1+QODQIHch5w8PxwNUZ+UZQqESGfkovimSvDnzc29lOMJ0l0tFhsF +FQvLRLQ+YUIixCpcTsUdo+LgUrLr9Isr3Dg5XfuIoVZlXytPJv8GeBAS64xdMuPG +Ra8lm6D/ju9HCaPpizeSkml2fjQ7kgVnTrAl7bxeX4+01spA/+TiMSMMhSWuDFUB +7OVHXt9bvBQz48b1GLbZ992ztKEx01pcXX0+vwrk5Oi0WX07tIyjG7Ugo7k+hG+M +IQDDOQ== +-----END CERTIFICATE----- +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 2 (0x2) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C = GB, ST = Isle of Man, L = Douglas, O = Canonical Ltd., CN = Canonical Ltd. Master Certificate Authority + Validity + Not Before: Sep 26 21:52:11 2017 GMT + Not After : Sep 25 21:52:11 2047 GMT + Subject: C = GB, ST = Isle of Man, O = Canonical Ltd., OU = Secure Boot, CN = Canonical Ltd. Secure Boot Signing (2017) + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:ef:9f:fa:9f:19:3a:9d:38:23:91:cc:c4:f9:42: + e0:f8:54:12:82:dc:97:2c:d6:5b:c1:35:eb:ff:4a: + 74:06:b5:9d:32:aa:7b:f3:fc:31:5a:34:3e:a1:a4: + 44:db:7b:6d:16:af:35:76:e0:9b:99:ad:21:11:c6: + 12:4b:ae:24:8f:bb:d3:b2:00:fe:c5:1d:9b:3a:1a: + 4a:6c:ca:fa:16:37:85:22:f9:ff:22:fc:40:e0:58: + 35:c1:39:27:b4:c6:42:1a:96:d8:a5:c5:95:2e:f7: + c5:1e:21:6e:36:84:f7:a9:a1:e1:f1:03:08:96:65: + 71:f8:eb:83:cf:82:f7:9a:44:58:72:00:14:39:29: + 4b:e9:78:2f:65:20:b3:80:76:3b:ba:0d:2d:46:f6: + 37:05:e7:05:fe:bd:6c:c7:a2:65:b5:06:6e:07:24: + 99:a1:c1:cf:e1:0e:5e:49:41:71:17:a8:50:e7:38: + 99:e5:6e:b6:db:9f:63:db:56:f4:9c:7d:89:f6:d2: + 03:6c:99:83:e0:99:23:39:36:bd:cb:b5:26:7c:7d: + b0:c6:fe:82:7c:52:ed:f9:2c:8f:79:71:3d:a9:2f: + b5:aa:7e:77:a0:fd:69:f9:97:10:a8:b2:c6:7d:88: + 9e:a2:19:bd:31:b8:02:2d:34:4d:9d:98:60:82:ad: + 04:ff + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:FALSE + X509v3 Extended Key Usage: + Code Signing, 1.3.6.1.4.1.311.10.3.6 + Netscape Comment: + OpenSSL Generated Certificate + X509v3 Subject Key Identifier: + 24:2A:DE:75:AC:4A:15:E5:0D:50:C8:4B:0D:45:FF:3E:AE:70:7A:03 + X509v3 Authority Key Identifier: + AD:91:99:0B:C2:2A:B1:F5:17:04:8C:23:B6:65:5A:26:8E:34:5A:63 + Signature Algorithm: sha256WithRSAEncryption + Signature Value: + 00:b2:b7:57:b5:2b:5d:16:d3:04:88:6a:d7:77:d5:0d:89:f1: + d2:6e:11:d1:8e:f5:62:05:c4:6a:57:df:eb:d2:86:68:f2:fd: + a7:37:11:3c:f4:ce:5d:fe:32:5f:31:a2:6b:3a:da:28:c2:88: + fa:7f:70:b5:25:99:ea:27:9a:56:6a:9d:b2:0f:14:99:e2:b7: + c6:39:1e:8e:a7:76:31:d9:ed:c5:05:8d:48:ae:1b:68:18:14: + 51:a1:7d:f6:c7:df:cb:9d:eb:a4:3b:0b:ff:c2:07:c5:42:bc: + 0d:b2:11:fa:37:17:2b:1c:b5:84:48:2d:f9:31:4a:57:49:8e: + 61:a6:82:11:06:4c:34:ea:9c:2a:47:4d:eb:e0:26:af:da:d2: + c2:08:a0:37:35:7b:73:71:de:0b:c4:ba:c8:34:de:20:04:03: + 6f:46:26:0d:b9:91:02:5b:71:76:cc:45:e4:08:d0:a6:dd:a4: + 50:d3:d9:04:91:2b:d9:5c:34:88:fc:c2:37:fd:c6:d4:3e:57: + f7:6b:ba:7b:d7:02:7a:84:0c:c8:c1:19:cc:bc:fa:52:d5:7f: + b3:35:c4:53:5d:70:0a:f6:44:60:8d:a9:11:7a:1b:7d:ae:7b: + 20:5a:4c:8d:44:f6:c1:a9:61:cb:dc:cb:90:37:d5:28:24:73: + 87:d0:e0:d8 +-----BEGIN CERTIFICATE----- +MIIEKDCCAxCgAwIBAgIBAjANBgkqhkiG9w0BAQsFADCBhDELMAkGA1UEBhMCR0Ix +FDASBgNVBAgMC0lzbGUgb2YgTWFuMRAwDgYDVQQHDAdEb3VnbGFzMRcwFQYDVQQK +DA5DYW5vbmljYWwgTHRkLjE0MDIGA1UEAwwrQ2Fub25pY2FsIEx0ZC4gTWFzdGVy +IENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0xNzA5MjYyMTUyMTFaFw00NzA5MjUy +MTUyMTFaMIGGMQswCQYDVQQGEwJHQjEUMBIGA1UECAwLSXNsZSBvZiBNYW4xFzAV +BgNVBAoMDkNhbm9uaWNhbCBMdGQuMRQwEgYDVQQLDAtTZWN1cmUgQm9vdDEyMDAG +A1UEAwwpQ2Fub25pY2FsIEx0ZC4gU2VjdXJlIEJvb3QgU2lnbmluZyAoMjAxNykw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDvn/qfGTqdOCORzMT5QuD4 +VBKC3Jcs1lvBNev/SnQGtZ0yqnvz/DFaND6hpETbe20WrzV24JuZrSERxhJLriSP +u9OyAP7FHZs6GkpsyvoWN4Ui+f8i/EDgWDXBOSe0xkIaltilxZUu98UeIW42hPep +oeHxAwiWZXH464PPgveaRFhyABQ5KUvpeC9lILOAdju6DS1G9jcF5wX+vWzHomW1 +Bm4HJJmhwc/hDl5JQXEXqFDnOJnlbrbbn2PbVvScfYn20gNsmYPgmSM5Nr3LtSZ8 +fbDG/oJ8Uu35LI95cT2pL7Wqfneg/Wn5lxCossZ9iJ6iGb0xuAItNE2dmGCCrQT/ +AgMBAAGjgaAwgZ0wDAYDVR0TAQH/BAIwADAfBgNVHSUEGDAWBggrBgEFBQcDAwYK +KwYBBAGCNwoDBjAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2Vy +dGlmaWNhdGUwHQYDVR0OBBYEFCQq3nWsShXlDVDISw1F/z6ucHoDMB8GA1UdIwQY +MBaAFK2RmQvCKrH1FwSMI7ZlWiaONFpjMA0GCSqGSIb3DQEBCwUAA4IBAQAAsrdX +tStdFtMEiGrXd9UNifHSbhHRjvViBcRqV9/r0oZo8v2nNxE89M5d/jJfMaJrOtoo +woj6f3C1JZnqJ5pWap2yDxSZ4rfGOR6Op3Yx2e3FBY1IrhtoGBRRoX32x9/Lneuk +Owv/wgfFQrwNshH6NxcrHLWESC35MUpXSY5hpoIRBkw06pwqR03r4Cav2tLCCKA3 +NXtzcd4LxLrINN4gBANvRiYNuZECW3F2zEXkCNCm3aRQ09kEkSvZXDSI/MI3/cbU +Plf3a7p71wJ6hAzIwRnMvPpS1X+zNcRTXXAK9kRgjakReht9rnsgWkyNRPbBqWHL +3MuQN9UoJHOH0ODY +-----END CERTIFICATE----- +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 3 (0x3) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C = GB, ST = Isle of Man, L = Douglas, O = Canonical Ltd., CN = Canonical Ltd. Master Certificate Authority + Validity + Not Before: Oct 26 18:31:14 2018 GMT + Not After : Oct 24 18:31:14 2048 GMT + Subject: C = GB, ST = Isle of Man, O = Canonical Ltd., OU = Secure Boot, CN = Canonical Ltd. Secure Boot Signing (ESM 2018) + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:bf:6a:e5:6d:55:7a:ec:7a:11:37:45:9c:4c:8f: + 6b:2d:56:d3:74:2b:32:ac:84:2d:ba:cb:cc:ec:8d: + 92:22:69:48:a5:d4:f6:75:11:66:2f:cb:b2:fd:9e: + 56:ab:e6:f1:52:8e:75:3e:50:bd:25:b3:50:fc:ef: + 3d:76:f3:3f:7f:03:f6:e2:a1:25:69:5c:14:98:54: + bd:11:bf:e9:a5:ac:46:91:4b:1d:de:b7:18:2b:c8: + 22:83:15:a7:4a:00:8d:9d:e4:c0:da:f7:41:02:fd: + 9f:5f:79:93:56:cc:86:e1:b5:e0:39:0e:3c:a2:5b: + fe:c0:56:f0:92:50:5a:2b:67:67:93:56:d7:7a:75: + 99:6a:25:b4:63:a8:5f:69:7e:3a:49:58:2a:a7:80: + f6:5a:b4:be:b2:be:a8:8c:45:41:c9:f2:fc:76:a8: + 65:ef:99:29:0d:c9:9c:54:6b:0a:f0:4a:0e:61:0d: + ed:99:32:af:12:e2:12:7b:9f:7b:ec:05:c4:e0:b6: + d5:c3:71:28:ae:dd:0b:ba:97:ad:68:0b:76:e9:bf: + e7:01:7e:64:54:39:23:85:36:c8:9d:dd:27:a1:ff: + df:46:36:14:7e:cb:cc:a1:cd:49:0b:6d:c2:0c:45: + 99:56:58:7c:87:0d:59:9a:dc:4a:39:3b:1d:d9:15: + 2e:b5 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:FALSE + X509v3 Extended Key Usage: + Code Signing, 1.3.6.1.4.1.311.10.3.6 + Netscape Comment: + OpenSSL Generated Certificate + X509v3 Subject Key Identifier: + 36:51:88:C1:D3:74:D6:B0:7C:3C:8F:24:0F:8E:F7:22:43:3D:6A:8B + X509v3 Authority Key Identifier: + AD:91:99:0B:C2:2A:B1:F5:17:04:8C:23:B6:65:5A:26:8E:34:5A:63 + Signature Algorithm: sha256WithRSAEncryption + Signature Value: + 4c:0f:cd:77:60:b4:6f:53:87:f3:3c:4f:e6:81:5f:a7:1c:cc: + 60:29:b6:34:6c:4d:08:9b:e2:d2:bd:f6:17:1a:62:79:b8:17: + bc:a2:60:59:fd:03:51:c3:b7:6b:de:73:b3:48:95:f5:0b:aa: + b6:3c:b4:34:dc:1d:0b:c4:97:62:87:e7:48:d5:8f:c9:ea:e8: + 91:8f:2a:40:cd:b7:b3:ee:b2:98:9e:fb:37:31:29:e6:8e:2f: + 0a:39:99:1e:c6:aa:b8:05:62:85:d3:a8:3e:60:38:98:0f:f0: + fe:c7:ab:01:a5:6a:a5:7f:70:a6:26:94:76:23:2f:08:89:74: + 97:c2:2a:ca:22:3e:7a:ea:22:22:08:07:f4:bb:f6:bc:69:9c: + 4e:44:33:e2:8e:70:17:b0:9b:cb:33:94:66:6d:ff:9a:7d:e9: + 50:b2:e8:90:14:e4:2b:91:cb:a0:c5:2e:0e:cf:19:ef:44:ef: + 84:f0:bd:57:9e:26:c2:63:3d:df:fc:a1:84:de:5c:d7:5f:3b: + fb:94:61:f0:93:89:1f:cf:c3:b2:d1:90:97:35:7d:b9:8a:ad: + e6:05:f0:e8:3b:a1:7c:af:2b:c4:af:18:33:2e:5e:87:db:9d: + 80:b5:04:fd:00:d0:60:ab:ff:85:77:0f:cb:47:22:c9:b2:85: + a8:48:16:e2 +-----BEGIN CERTIFICATE----- +MIIELDCCAxSgAwIBAgIBAzANBgkqhkiG9w0BAQsFADCBhDELMAkGA1UEBhMCR0Ix +FDASBgNVBAgMC0lzbGUgb2YgTWFuMRAwDgYDVQQHDAdEb3VnbGFzMRcwFQYDVQQK +DA5DYW5vbmljYWwgTHRkLjE0MDIGA1UEAwwrQ2Fub25pY2FsIEx0ZC4gTWFzdGVy +IENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0xODEwMjYxODMxMTRaFw00ODEwMjQx +ODMxMTRaMIGKMQswCQYDVQQGEwJHQjEUMBIGA1UECAwLSXNsZSBvZiBNYW4xFzAV +BgNVBAoMDkNhbm9uaWNhbCBMdGQuMRQwEgYDVQQLDAtTZWN1cmUgQm9vdDE2MDQG +A1UEAwwtQ2Fub25pY2FsIEx0ZC4gU2VjdXJlIEJvb3QgU2lnbmluZyAoRVNNIDIw +MTgpMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAv2rlbVV67HoRN0Wc +TI9rLVbTdCsyrIQtusvM7I2SImlIpdT2dRFmL8uy/Z5Wq+bxUo51PlC9JbNQ/O89 +dvM/fwP24qElaVwUmFS9Eb/ppaxGkUsd3rcYK8gigxWnSgCNneTA2vdBAv2fX3mT +VsyG4bXgOQ48olv+wFbwklBaK2dnk1bXenWZaiW0Y6hfaX46SVgqp4D2WrS+sr6o +jEVByfL8dqhl75kpDcmcVGsK8EoOYQ3tmTKvEuISe5977AXE4LbVw3Eort0Lupet +aAt26b/nAX5kVDkjhTbInd0nof/fRjYUfsvMoc1JC23CDEWZVlh8hw1ZmtxKOTsd +2RUutQIDAQABo4GgMIGdMAwGA1UdEwEB/wQCMAAwHwYDVR0lBBgwFgYIKwYBBQUH +AwMGCisGAQQBgjcKAwYwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVk +IENlcnRpZmljYXRlMB0GA1UdDgQWBBQ2UYjB03TWsHw8jyQPjvciQz1qizAfBgNV +HSMEGDAWgBStkZkLwiqx9RcEjCO2ZVomjjRaYzANBgkqhkiG9w0BAQsFAAOCAQEA +TA/Nd2C0b1OH8zxP5oFfpxzMYCm2NGxNCJvi0r32FxpiebgXvKJgWf0DUcO3a95z +s0iV9Quqtjy0NNwdC8SXYofnSNWPyerokY8qQM23s+6ymJ77NzEp5o4vCjmZHsaq +uAVihdOoPmA4mA/w/serAaVqpX9wpiaUdiMvCIl0l8IqyiI+euoiIggH9Lv2vGmc +TkQz4o5wF7CbyzOUZm3/mn3pULLokBTkK5HLoMUuDs8Z70TvhPC9V54mwmM93/yh +hN5c1187+5Rh8JOJH8/DstGQlzV9uYqt5gXw6DuhfK8rxK8YMy5eh9udgLUE/QDQ +YKv/hXcPy0ciybKFqEgW4g== +-----END CERTIFICATE----- +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 4 (0x4) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C = GB, ST = Isle of Man, L = Douglas, O = Canonical Ltd., CN = Canonical Ltd. Master Certificate Authority + Validity + Not Before: Sep 18 16:10:17 2019 GMT + Not After : Sep 16 16:10:17 2049 GMT + Subject: C = GB, ST = Isle of Man, O = Canonical Ltd., OU = Secure Boot, CN = Canonical Ltd. Secure Boot Signing (2019) + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:e6:47:d8:75:e5:87:59:26:87:83:7d:5b:7a:b8: + 58:3d:7c:ef:36:f8:a0:7a:b7:14:56:58:7d:01:f1: + 1c:3b:8c:e6:5b:03:77:7d:a0:ed:47:0a:45:e6:75: + 5c:de:95:38:0d:38:fa:41:79:89:56:31:87:e7:a3: + 9a:36:70:b6:cf:24:2f:99:26:89:08:39:0e:14:c3: + 35:be:02:8b:52:e1:8e:7b:0c:a6:9d:78:ff:01:60: + d7:f5:c3:d5:f0:5e:dc:e4:23:09:59:72:93:d3:b5: + 22:af:7c:cd:e0:84:0f:af:11:2d:bc:c6:72:42:af: + ea:67:63:c4:10:41:78:02:80:62:0d:43:74:b4:1c: + ed:50:d7:94:f1:b0:bb:f9:57:80:e4:69:0f:83:4b: + a2:e6:2c:4a:9a:e1:7d:7c:62:19:29:27:97:1f:4c: + f1:85:f0:39:f5:31:9f:3a:39:0e:d4:4d:07:3a:40: + 55:4b:a6:6c:9d:04:89:51:2d:7c:b0:ef:40:b5:42: + 29:16:cc:65:73:38:62:21:f6:e3:2c:17:50:9d:74: + 34:4e:df:7c:4a:33:a4:bb:40:cf:d5:e5:ed:05:07: + cd:4c:f9:af:7f:a6:5c:b9:f7:c5:16:45:4e:44:40: + d7:85:32:de:ac:e5:75:ad:9b:d7:c0:26:33:1f:77: + a5:37 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:FALSE + X509v3 Extended Key Usage: + Code Signing, 1.3.6.1.4.1.311.10.3.6 + Netscape Comment: + OpenSSL Generated Certificate + X509v3 Subject Key Identifier: + C0:74:6F:D6:C5:DA:3A:E8:27:86:46:51:AD:66:AE:47:FE:24:B3:E8 + X509v3 Authority Key Identifier: + AD:91:99:0B:C2:2A:B1:F5:17:04:8C:23:B6:65:5A:26:8E:34:5A:63 + Signature Algorithm: sha256WithRSAEncryption + Signature Value: + aa:12:6c:d1:9d:6a:da:f0:ec:7c:17:46:3b:57:b8:d6:76:5f: + 24:e6:06:a2:0a:55:1f:2f:d3:5e:8f:de:cf:02:f2:ff:e0:dd: + d3:c7:bd:75:59:aa:cd:34:f3:28:80:73:cc:28:69:e7:a2:70: + 88:a2:c7:dc:66:f0:92:0e:ff:64:bf:30:04:54:01:1b:96:ad: + 15:c5:61:fd:32:61:d7:5e:b5:ba:91:fd:31:fc:6b:15:df:ee: + 22:d9:e4:1f:f3:cc:8b:0c:9f:f5:e8:f7:e2:62:3f:40:52:c9: + f0:f1:1c:63:fc:6c:90:e1:5b:74:03:b9:df:d1:3e:a8:ec:db: + 2b:6e:83:6f:9f:7f:ba:b4:79:fc:3d:e7:12:2f:4a:e7:17:8c: + 2b:77:a5:90:74:3c:bd:cf:75:83:0d:1a:95:d5:56:ef:07:9b: + a6:b3:31:e3:8c:97:ce:68:11:b5:7b:25:03:72:1c:ea:67:e9: + 7c:3e:73:c7:7c:3e:fc:f5:ae:8a:b2:07:0d:15:6a:66:09:d7: + 23:b9:5d:80:7a:26:d6:b6:22:30:aa:84:af:c0:42:e9:75:c3: + 59:ab:a3:84:87:6b:0c:b7:ab:4e:92:69:ae:2c:82:6f:ab:01: + 24:ab:ff:78:6d:59:85:c2:3b:23:c0:bd:0d:d8:6e:3a:29:82: + e1:c4:5f:db +-----BEGIN CERTIFICATE----- +MIIEKDCCAxCgAwIBAgIBBDANBgkqhkiG9w0BAQsFADCBhDELMAkGA1UEBhMCR0Ix +FDASBgNVBAgMC0lzbGUgb2YgTWFuMRAwDgYDVQQHDAdEb3VnbGFzMRcwFQYDVQQK +DA5DYW5vbmljYWwgTHRkLjE0MDIGA1UEAwwrQ2Fub25pY2FsIEx0ZC4gTWFzdGVy +IENlcnRpZmljYXRlIEF1dGhvcml0eTAeFw0xOTA5MTgxNjEwMTdaFw00OTA5MTYx +NjEwMTdaMIGGMQswCQYDVQQGEwJHQjEUMBIGA1UECAwLSXNsZSBvZiBNYW4xFzAV +BgNVBAoMDkNhbm9uaWNhbCBMdGQuMRQwEgYDVQQLDAtTZWN1cmUgQm9vdDEyMDAG +A1UEAwwpQ2Fub25pY2FsIEx0ZC4gU2VjdXJlIEJvb3QgU2lnbmluZyAoMjAxOSkw +ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDmR9h15YdZJoeDfVt6uFg9 +fO82+KB6txRWWH0B8Rw7jOZbA3d9oO1HCkXmdVzelTgNOPpBeYlWMYfno5o2cLbP +JC+ZJokIOQ4UwzW+AotS4Y57DKadeP8BYNf1w9XwXtzkIwlZcpPTtSKvfM3ghA+v +ES28xnJCr+pnY8QQQXgCgGINQ3S0HO1Q15TxsLv5V4DkaQ+DS6LmLEqa4X18Yhkp +J5cfTPGF8Dn1MZ86OQ7UTQc6QFVLpmydBIlRLXyw70C1QikWzGVzOGIh9uMsF1Cd +dDRO33xKM6S7QM/V5e0FB81M+a9/ply598UWRU5EQNeFMt6s5XWtm9fAJjMfd6U3 +AgMBAAGjgaAwgZ0wDAYDVR0TAQH/BAIwADAfBgNVHSUEGDAWBggrBgEFBQcDAwYK +KwYBBAGCNwoDBjAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2Vy +dGlmaWNhdGUwHQYDVR0OBBYEFMB0b9bF2jroJ4ZGUa1mrkf+JLPoMB8GA1UdIwQY +MBaAFK2RmQvCKrH1FwSMI7ZlWiaONFpjMA0GCSqGSIb3DQEBCwUAA4IBAQCqEmzR +nWra8Ox8F0Y7V7jWdl8k5gaiClUfL9Nej97PAvL/4N3Tx711WarNNPMogHPMKGnn +onCIosfcZvCSDv9kvzAEVAEblq0VxWH9MmHXXrW6kf0x/GsV3+4i2eQf88yLDJ/1 +6PfiYj9AUsnw8Rxj/GyQ4Vt0A7nf0T6o7NsrboNvn3+6tHn8PecSL0rnF4wrd6WQ +dDy9z3WDDRqV1VbvB5umszHjjJfOaBG1eyUDchzqZ+l8PnPHfD789a6KsgcNFWpm +CdcjuV2AeibWtiIwqoSvwELpdcNZq6OEh2sMt6tOkmmuLIJvqwEkq/94bVmFwjsj +wL0N2G46KYLhxF/b +-----END CERTIFICATE----- +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 6 (0x6) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C = GB, ST = Isle of Man, L = Douglas, O = Canonical Ltd., CN = Canonical Ltd. Master Certificate Authority + Validity + Not Before: Sep 23 19:29:32 2021 GMT + Not After : Sep 22 19:29:32 2051 GMT + Subject: C = GB, ST = Isle of Man, O = Canonical Ltd., OU = Secure Boot, CN = Canonical Ltd. Secure Boot Signing (2021 v1) + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:aa:b8:34:5b:b6:ae:44:bf:41:e1:78:11:b9:7a: + c8:88:b3:b0:26:50:10:9c:98:d1:f3:98:9f:23:50: + 64:f6:39:dd:50:3a:23:44:53:65:fc:f3:9f:f5:a5: + 8b:ae:8b:df:47:9f:e9:d5:a0:92:19:f1:21:ea:cc: + 59:3a:74:df:45:71:bc:de:64:15:a5:f6:db:ca:71: + fa:19:d4:44:0d:12:ec:47:3a:43:e2:f2:dd:8b:fe: + 0d:7b:dc:4d:db:53:06:22:61:e5:8b:35:49:b6:33: + c4:0a:69:5f:5b:81:09:84:6b:42:33:18:09:9d:a0: + 35:f7:9c:1e:de:6e:de:90:69:1a:e8:32:e4:49:ad: + c3:31:e9:f8:4a:a2:28:1d:db:0d:29:b6:48:0a:44: + 93:86:41:62:8f:73:97:60:10:8a:74:46:66:55:fe: + a0:95:35:9e:ef:9f:af:11:fa:5b:a3:7c:c2:35:64: + 11:67:28:1e:14:0a:7d:68:61:9c:cd:c7:46:39:30: + 31:79:94:56:b3:45:16:9a:b5:77:66:fe:41:43:0f: + 00:48:6e:99:dd:0c:d4:47:2c:86:8c:50:04:61:20: + dd:aa:8e:73:4f:21:b4:ee:09:4d:d3:40:01:d0:f2: + a7:5b:7d:05:3d:c1:e7:65:26:aa:8c:9a:58:5a:7c: + 6d:6f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:FALSE + X509v3 Extended Key Usage: + Code Signing, 1.3.6.1.4.1.311.10.3.6 + Netscape Comment: + OpenSSL Generated Certificate + X509v3 Subject Key Identifier: + A8:D5:4B:BB:38:25:CF:B9:4F:A1:3C:9F:8A:59:4A:19:5C:10:7B:8D + X509v3 Authority Key Identifier: + AD:91:99:0B:C2:2A:B1:F5:17:04:8C:23:B6:65:5A:26:8E:34:5A:63 + Signature Algorithm: sha256WithRSAEncryption + Signature Value: + 24:25:25:7e:01:a5:c8:3d:54:8c:1b:05:73:d1:06:d8:db:d4: + 3a:71:d5:19:9d:97:1c:85:3c:ca:38:5a:0c:25:25:39:1a:67: + bc:6c:9d:98:6c:f3:7d:5f:b7:40:f9:73:a0:f5:7b:40:a8:66: + a5:f1:53:b1:78:80:24:3f:19:50:2f:02:09:ec:a1:8a:e6:0d: + df:c4:ae:24:9e:69:0d:5c:dc:44:4c:38:3a:53:4e:4b:a1:4b: + 92:9f:43:a4:9d:1e:76:33:18:1b:bf:62:e5:f5:bc:93:3c:4e: + 21:d5:5b:20:69:11:28:c1:c5:93:b5:8e:96:1d:1b:ca:72:79: + 24:de:67:2a:50:9d:ce:8b:41:dd:3e:82:dd:a5:04:75:54:fb: + 35:70:98:87:b4:f3:ea:41:23:23:80:0e:99:d7:03:16:ee:7e: + 11:e2:c8:29:ab:73:c5:6d:5c:a8:2f:32:03:9f:8e:66:d6:cb: + 54:84:55:75:ab:9a:dd:95:fd:05:1e:11:85:37:1e:63:d2:f4: + 7f:34:64:32:a1:63:91:91:50:39:14:1a:ea:54:78:e6:0d:04: + 23:c7:83:51:c5:25:27:07:6c:f8:65:b7:da:95:89:76:83:cc: + f3:7e:06:74:d3:6c:ef:e9:17:de:29:1e:ab:5c:d7:ec:df:f1: + 98:b8:e9:66 +-----BEGIN CERTIFICATE----- +MIIELTCCAxWgAwIBAgIBBjANBgkqhkiG9w0BAQsFADCBhDELMAkGA1UEBhMCR0Ix +FDASBgNVBAgMC0lzbGUgb2YgTWFuMRAwDgYDVQQHDAdEb3VnbGFzMRcwFQYDVQQK +DA5DYW5vbmljYWwgTHRkLjE0MDIGA1UEAwwrQ2Fub25pY2FsIEx0ZC4gTWFzdGVy +IENlcnRpZmljYXRlIEF1dGhvcml0eTAgFw0yMTA5MjMxOTI5MzJaGA8yMDUxMDky +MjE5MjkzMlowgYkxCzAJBgNVBAYTAkdCMRQwEgYDVQQIDAtJc2xlIG9mIE1hbjEX +MBUGA1UECgwOQ2Fub25pY2FsIEx0ZC4xFDASBgNVBAsMC1NlY3VyZSBCb290MTUw +MwYDVQQDDCxDYW5vbmljYWwgTHRkLiBTZWN1cmUgQm9vdCBTaWduaW5nICgyMDIx +IHYxKTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKq4NFu2rkS/QeF4 +Ebl6yIizsCZQEJyY0fOYnyNQZPY53VA6I0RTZfzzn/Wli66L30ef6dWgkhnxIerM +WTp030VxvN5kFaX228px+hnURA0S7Ec6Q+Ly3Yv+DXvcTdtTBiJh5Ys1SbYzxApp +X1uBCYRrQjMYCZ2gNfecHt5u3pBpGugy5EmtwzHp+EqiKB3bDSm2SApEk4ZBYo9z +l2AQinRGZlX+oJU1nu+frxH6W6N8wjVkEWcoHhQKfWhhnM3HRjkwMXmUVrNFFpq1 +d2b+QUMPAEhumd0M1EcshoxQBGEg3aqOc08htO4JTdNAAdDyp1t9BT3B52Umqoya +WFp8bW8CAwEAAaOBoDCBnTAMBgNVHRMBAf8EAjAAMB8GA1UdJQQYMBYGCCsGAQUF +BwMDBgorBgEEAYI3CgMGMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRl +ZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUqNVLuzglz7lPoTyfillKGVwQe40wHwYD +VR0jBBgwFoAUrZGZC8IqsfUXBIwjtmVaJo40WmMwDQYJKoZIhvcNAQELBQADggEB +ACQlJX4Bpcg9VIwbBXPRBtjb1Dpx1RmdlxyFPMo4WgwlJTkaZ7xsnZhs831ft0D5 +c6D1e0CoZqXxU7F4gCQ/GVAvAgnsoYrmDd/EriSeaQ1c3ERMODpTTkuhS5KfQ6Sd +HnYzGBu/YuX1vJM8TiHVWyBpESjBxZO1jpYdG8pyeSTeZypQnc6LQd0+gt2lBHVU ++zVwmIe08+pBIyOADpnXAxbufhHiyCmrc8VtXKgvMgOfjmbWy1SEVXWrmt2V/QUe +EYU3HmPS9H80ZDKhY5GRUDkUGupUeOYNBCPHg1HFJScHbPhlt9qViXaDzPN+BnTT +bO/pF94pHqtc1+zf8Zi46WY= +-----END CERTIFICATE----- +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 7 (0x7) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C = GB, ST = Isle of Man, L = Douglas, O = Canonical Ltd., CN = Canonical Ltd. Master Certificate Authority + Validity + Not Before: Sep 23 19:29:42 2021 GMT + Not After : Sep 22 19:29:42 2051 GMT + Subject: C = GB, ST = Isle of Man, O = Canonical Ltd., OU = Secure Boot, CN = Canonical Ltd. Secure Boot Signing (2021 v2) + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:ba:06:8b:ee:58:b7:8b:49:7b:53:7a:d1:df:02: + e3:f2:d8:b0:8c:03:5c:f4:2d:0b:d8:18:3b:23:fa: + 68:b0:e8:e9:9d:dc:a2:eb:5e:d3:06:a9:28:d4:9f: + 14:b6:1e:1c:1d:ef:69:0e:7f:44:f2:cc:4a:f1:b1: + d0:71:30:6a:50:1e:b0:d3:f8:a4:19:d0:4a:f1:e3: + eb:7a:e5:57:4c:a1:fb:d1:87:b9:48:e0:55:37:52: + f9:de:99:2e:95:85:36:ce:d3:1d:67:2f:14:cb:7f: + 05:82:75:21:b6:aa:a5:14:ac:da:4a:f4:fe:fa:5c: + 33:49:3d:6f:de:fd:9d:75:ba:e2:c4:02:38:b5:69: + f5:ff:a8:67:4b:3a:e0:34:f6:3b:07:03:a5:7e:59: + 6f:3a:d2:28:a4:2f:25:ac:d8:a9:1f:59:52:5d:24: + 36:58:51:b5:f0:12:a8:d3:78:56:57:b1:e0:a9:df: + 14:05:65:7c:b5:a5:00:f0:88:39:14:44:18:85:2d: + 0c:28:69:7b:b9:b4:1c:47:6f:43:66:4c:22:ad:f7: + f6:19:75:e1:14:2c:0d:33:3f:c1:3f:fc:73:56:b2: + 68:05:b5:92:03:9b:65:6b:81:80:92:35:03:9b:66: + 68:58:c5:66:11:b6:8c:7f:05:09:9a:45:a6:0e:5e: + 5f:bf + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:FALSE + X509v3 Extended Key Usage: + Code Signing, 1.3.6.1.4.1.311.10.3.6 + Netscape Comment: + OpenSSL Generated Certificate + X509v3 Subject Key Identifier: + 4C:F0:46:89:2D:6F:D3:C9:A5:B0:3F:98:D8:45:F9:08:51:DC:6A:8C + X509v3 Authority Key Identifier: + AD:91:99:0B:C2:2A:B1:F5:17:04:8C:23:B6:65:5A:26:8E:34:5A:63 + Signature Algorithm: sha256WithRSAEncryption + Signature Value: + 93:9d:49:7d:9f:3e:3e:27:79:97:d9:c2:fc:0b:f7:30:b7:f4: + 78:b2:c9:e4:5e:42:d3:27:26:70:cf:88:96:d1:f2:ea:a0:75: + 7e:3c:f6:b7:d2:e7:95:30:e3:a6:67:a7:ee:b9:53:8f:fd:b2: + cb:db:e1:98:32:be:98:79:09:46:c6:63:6a:57:87:4d:b2:26: + 46:f6:34:5e:18:75:ca:82:80:8e:33:c2:1d:c7:76:d7:14:57: + ef:2e:0e:9e:58:5c:81:8e:ed:53:2c:07:46:0a:8a:fc:2f:f5: + b2:c8:58:f5:fa:fa:bb:f9:7d:47:13:39:f0:f2:1c:15:9c:75: + 90:40:bd:08:04:b3:6a:de:c2:cd:34:21:7e:ba:31:48:bc:a1: + 23:bc:ee:93:b2:62:96:27:30:86:c2:d4:f7:b4:e6:3c:71:47: + 37:84:ff:3d:0c:1e:ec:f3:0e:da:6b:dc:64:7a:b8:c0:7e:45: + 13:09:bf:02:b3:b7:5b:6d:09:2d:6a:4e:0b:93:94:29:4c:a6: + c3:c7:05:fa:69:08:04:53:3c:4c:64:c0:7e:89:00:91:1b:a6: + c2:d7:ea:c4:db:86:38:fe:66:03:85:7b:fc:39:24:99:4c:2a: + 3e:10:8b:91:c3:6e:20:9d:0c:ee:51:70:b5:98:58:f3:5c:ac: + 16:98:7b:ce +-----BEGIN CERTIFICATE----- +MIIELTCCAxWgAwIBAgIBBzANBgkqhkiG9w0BAQsFADCBhDELMAkGA1UEBhMCR0Ix +FDASBgNVBAgMC0lzbGUgb2YgTWFuMRAwDgYDVQQHDAdEb3VnbGFzMRcwFQYDVQQK +DA5DYW5vbmljYWwgTHRkLjE0MDIGA1UEAwwrQ2Fub25pY2FsIEx0ZC4gTWFzdGVy +IENlcnRpZmljYXRlIEF1dGhvcml0eTAgFw0yMTA5MjMxOTI5NDJaGA8yMDUxMDky +MjE5Mjk0MlowgYkxCzAJBgNVBAYTAkdCMRQwEgYDVQQIDAtJc2xlIG9mIE1hbjEX +MBUGA1UECgwOQ2Fub25pY2FsIEx0ZC4xFDASBgNVBAsMC1NlY3VyZSBCb290MTUw +MwYDVQQDDCxDYW5vbmljYWwgTHRkLiBTZWN1cmUgQm9vdCBTaWduaW5nICgyMDIx +IHYyKTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALoGi+5Yt4tJe1N6 +0d8C4/LYsIwDXPQtC9gYOyP6aLDo6Z3coute0wapKNSfFLYeHB3vaQ5/RPLMSvGx +0HEwalAesNP4pBnQSvHj63rlV0yh+9GHuUjgVTdS+d6ZLpWFNs7THWcvFMt/BYJ1 +IbaqpRSs2kr0/vpcM0k9b979nXW64sQCOLVp9f+oZ0s64DT2OwcDpX5ZbzrSKKQv +JazYqR9ZUl0kNlhRtfASqNN4Vlex4KnfFAVlfLWlAPCIORREGIUtDChpe7m0HEdv +Q2ZMIq339hl14RQsDTM/wT/8c1ayaAW1kgObZWuBgJI1A5tmaFjFZhG2jH8FCZpF +pg5eX78CAwEAAaOBoDCBnTAMBgNVHRMBAf8EAjAAMB8GA1UdJQQYMBYGCCsGAQUF +BwMDBgorBgEEAYI3CgMGMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRl +ZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUTPBGiS1v08mlsD+Y2EX5CFHcaowwHwYD +VR0jBBgwFoAUrZGZC8IqsfUXBIwjtmVaJo40WmMwDQYJKoZIhvcNAQELBQADggEB +AJOdSX2fPj4neZfZwvwL9zC39HiyyeReQtMnJnDPiJbR8uqgdX489rfS55Uw46Zn +p+65U4/9ssvb4Zgyvph5CUbGY2pXh02yJkb2NF4YdcqCgI4zwh3HdtcUV+8uDp5Y +XIGO7VMsB0YKivwv9bLIWPX6+rv5fUcTOfDyHBWcdZBAvQgEs2rews00IX66MUi8 +oSO87pOyYpYnMIbC1Pe05jxxRzeE/z0MHuzzDtpr3GR6uMB+RRMJvwKzt1ttCS1q +TguTlClMpsPHBfppCARTPExkwH6JAJEbpsLX6sTbhjj+ZgOFe/w5JJlMKj4Qi5HD +biCdDO5RcLWYWPNcrBaYe84= +-----END CERTIFICATE----- +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 8 (0x8) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C = GB, ST = Isle of Man, L = Douglas, O = Canonical Ltd., CN = Canonical Ltd. Master Certificate Authority + Validity + Not Before: Sep 23 19:30:02 2021 GMT + Not After : Sep 22 19:30:02 2051 GMT + Subject: C = GB, ST = Isle of Man, O = Canonical Ltd., OU = Secure Boot, CN = Canonical Ltd. Secure Boot Signing (2021 v3) + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:d6:29:96:87:ae:07:42:45:bb:65:09:b2:9b:de: + 5d:8e:78:61:10:d5:6d:ae:ae:26:08:6a:06:ec:4a: + dd:2b:e7:1a:a9:ad:78:e3:fc:cf:8f:d1:47:bd:1e: + 33:d8:7a:e3:66:9b:e9:73:c1:5f:42:e2:fe:bc:c3: + 41:f7:cd:d7:85:d7:42:c9:ea:31:e5:47:b1:93:5b: + 43:2b:07:51:b8:75:08:ad:0f:e7:0d:81:38:5a:21: + df:b1:43:5b:db:37:c5:ac:aa:14:3a:33:19:6a:26: + e0:05:fe:cd:41:31:af:5d:a8:ab:31:77:44:fc:da: + 00:e2:7a:44:33:c3:a7:ed:13:54:9f:19:5d:c9:98: + a2:3b:af:4d:0d:87:29:9c:90:9e:42:9e:9a:06:6a: + 70:27:c5:aa:f7:a2:f2:88:e0:b9:66:9a:72:a0:f6: + 61:7e:30:8f:14:9f:44:0d:dd:54:ae:47:c8:82:ba: + d2:b2:db:6f:24:c1:f4:0a:81:07:90:47:49:5f:57: + d6:3f:bf:2a:73:98:f2:f6:24:1a:74:03:d7:35:f0: + 42:d8:14:c5:94:27:5d:3c:49:0c:b0:f0:7a:61:1b: + d7:5a:e3:a3:40:57:e9:a4:07:ee:02:a3:32:27:94: + bb:f3:36:c5:5f:ef:d3:07:04:3a:80:4c:9c:0a:b7: + 88:9f + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:FALSE + X509v3 Extended Key Usage: + Code Signing, 1.3.6.1.4.1.311.10.3.6 + Netscape Comment: + OpenSSL Generated Certificate + X509v3 Subject Key Identifier: + 10:04:37:BB:6D:E6:E4:69:B5:81:E6:1C:D6:6B:CE:3E:F4:ED:53:AF + X509v3 Authority Key Identifier: + AD:91:99:0B:C2:2A:B1:F5:17:04:8C:23:B6:65:5A:26:8E:34:5A:63 + Signature Algorithm: sha256WithRSAEncryption + Signature Value: + 3b:37:d6:a8:8d:cd:d2:df:13:35:ac:8c:92:d6:b0:ac:d1:38: + a8:00:97:47:59:b8:4a:84:8c:80:a5:1d:c7:29:bf:00:66:e5: + 10:40:26:2e:31:f5:e1:13:c0:1b:29:f3:0b:7e:2d:71:d8:db: + e1:32:8f:79:8e:e3:97:0c:40:a9:a0:12:c1:fc:c2:50:88:72: + 44:c5:bc:8b:45:6e:28:fd:d2:37:d6:db:17:cf:4e:61:33:08: + 5a:5d:08:94:73:44:e2:76:00:44:1b:b8:00:a1:86:00:64:8a: + f1:42:32:3c:28:11:67:7c:8b:aa:06:34:74:58:e8:b3:3a:36: + 8d:f6:04:5d:37:f5:66:52:c9:48:b0:a7:6f:34:09:dd:60:2a: + 86:b9:14:f1:09:f6:06:16:56:e0:51:b1:e8:75:7f:fa:37:dc: + e0:98:a7:69:ae:7b:1a:73:89:0d:06:67:cc:01:ef:80:31:45: + 9e:bb:03:2a:eb:89:70:d6:19:b2:c7:ce:bc:81:df:da:c8:6f: + a9:4b:2d:d7:a7:e1:af:c6:e8:fb:f0:61:c9:cd:d2:91:cd:8b: + c2:6c:ef:e0:b6:7f:f1:c4:81:f9:bb:76:9c:26:e3:fa:a1:a0: + cd:5e:05:de:ee:f9:1b:5b:50:0a:8b:0f:47:e3:90:32:ac:2a: + e7:65:02:80 +-----BEGIN CERTIFICATE----- +MIIELTCCAxWgAwIBAgIBCDANBgkqhkiG9w0BAQsFADCBhDELMAkGA1UEBhMCR0Ix +FDASBgNVBAgMC0lzbGUgb2YgTWFuMRAwDgYDVQQHDAdEb3VnbGFzMRcwFQYDVQQK +DA5DYW5vbmljYWwgTHRkLjE0MDIGA1UEAwwrQ2Fub25pY2FsIEx0ZC4gTWFzdGVy +IENlcnRpZmljYXRlIEF1dGhvcml0eTAgFw0yMTA5MjMxOTMwMDJaGA8yMDUxMDky +MjE5MzAwMlowgYkxCzAJBgNVBAYTAkdCMRQwEgYDVQQIDAtJc2xlIG9mIE1hbjEX +MBUGA1UECgwOQ2Fub25pY2FsIEx0ZC4xFDASBgNVBAsMC1NlY3VyZSBCb290MTUw +MwYDVQQDDCxDYW5vbmljYWwgTHRkLiBTZWN1cmUgQm9vdCBTaWduaW5nICgyMDIx +IHYzKTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANYploeuB0JFu2UJ +spveXY54YRDVba6uJghqBuxK3SvnGqmteOP8z4/RR70eM9h642ab6XPBX0Li/rzD +QffN14XXQsnqMeVHsZNbQysHUbh1CK0P5w2BOFoh37FDW9s3xayqFDozGWom4AX+ +zUExr12oqzF3RPzaAOJ6RDPDp+0TVJ8ZXcmYojuvTQ2HKZyQnkKemgZqcCfFqvei +8ojguWaacqD2YX4wjxSfRA3dVK5HyIK60rLbbyTB9AqBB5BHSV9X1j+/KnOY8vYk +GnQD1zXwQtgUxZQnXTxJDLDwemEb11rjo0BX6aQH7gKjMieUu/M2xV/v0wcEOoBM +nAq3iJ8CAwEAAaOBoDCBnTAMBgNVHRMBAf8EAjAAMB8GA1UdJQQYMBYGCCsGAQUF +BwMDBgorBgEEAYI3CgMGMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRl +ZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUEAQ3u23m5Gm1geYc1mvOPvTtU68wHwYD +VR0jBBgwFoAUrZGZC8IqsfUXBIwjtmVaJo40WmMwDQYJKoZIhvcNAQELBQADggEB +ADs31qiNzdLfEzWsjJLWsKzROKgAl0dZuEqEjIClHccpvwBm5RBAJi4x9eETwBsp +8wt+LXHY2+Eyj3mO45cMQKmgEsH8wlCIckTFvItFbij90jfW2xfPTmEzCFpdCJRz +ROJ2AEQbuAChhgBkivFCMjwoEWd8i6oGNHRY6LM6No32BF039WZSyUiwp280Cd1g +Koa5FPEJ9gYWVuBRseh1f/o33OCYp2muexpziQ0GZ8wB74AxRZ67AyrriXDWGbLH +zryB39rIb6lLLden4a/G6PvwYcnN0pHNi8Js7+C2f/HEgfm7dpwm4/qhoM1eBd7u ++RtbUAqLD0fjkDKsKudlAoA= +-----END CERTIFICATE----- +Certificate: + Data: + Version: 3 (0x2) + Serial Number: 3 (0x3) + Signature Algorithm: sha256WithRSAEncryption + Issuer: C = GB, ST = Isle of Man, L = Douglas, O = Canonical Ltd., CN = Canonical Ltd. Master Certificate Authority + Validity + Not Before: Mar 4 10:27:14 2020 GMT + Not After : Mar 3 10:27:14 2050 GMT + Subject: C = GB, ST = Isle of Man, O = Canonical Ltd., OU = Secure Boot, CN = Canonical Ltd. Secure Boot Signing (Ubuntu Core 2019) + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + Public-Key: (2048 bit) + Modulus: + 00:b9:10:47:2e:75:5d:f3:10:23:bb:a0:75:d2:fa: + 02:2d:ff:22:df:c1:e6:cd:38:7c:36:0f:ae:74:15: + 6e:a5:34:52:2b:c3:a4:3a:60:d7:06:ee:1d:99:93: + ff:66:91:a3:18:52:2c:8c:58:e6:b4:2f:4b:c5:fb: + 83:e6:f3:19:bd:1b:ca:23:ec:97:1f:d8:f1:9a:f1: + 04:da:da:10:04:53:4b:ec:1d:b6:26:47:7c:bb:8f: + a7:0a:6e:2e:e8:91:e6:c4:bb:64:34:78:3c:fa:09: + 15:1c:8f:9e:eb:04:99:36:22:c6:8d:07:15:0f:b9: + 69:08:fa:ff:4b:45:bd:ba:2b:cd:01:0e:e7:01:23: + c9:e5:7a:39:3b:91:b0:45:3c:d5:77:ba:ca:f9:29: + 3d:11:3f:1c:6b:5b:8e:6c:4b:3f:c9:29:05:cb:59: + d6:b1:c1:c0:2d:56:88:70:27:fa:73:05:5c:c2:11: + d4:27:11:f7:0b:c2:d5:68:d3:1a:cd:ed:d0:e4:10: + ff:34:cb:b7:45:70:34:2c:23:53:b6:9c:30:70:b4: + 5c:d1:e2:64:18:82:8f:62:b1:5e:aa:0b:d4:89:f2: + 1c:53:c4:32:7d:ef:53:ee:9b:6e:02:ab:78:bd:25: + 67:8b:39:36:d8:84:3b:06:99:02:d6:75:73:4e:f2: + f6:b9 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:FALSE + X509v3 Extended Key Usage: + Code Signing, 1.3.6.1.4.1.311.10.3.6 + Netscape Comment: + OpenSSL Generated Certificate + X509v3 Subject Key Identifier: + C1:D5:7B:8F:6B:74:3F:23:EE:41:F4:F7:EE:29:2F:06:EE:CA:DF:B9 + X509v3 Authority Key Identifier: + AD:91:99:0B:C2:2A:B1:F5:17:04:8C:23:B6:65:5A:26:8E:34:5A:63 + Signature Algorithm: sha256WithRSAEncryption + Signature Value: + 2d:b5:11:a8:d2:a0:af:81:a0:18:22:18:2c:08:d0:f4:63:e8: + 8f:9a:f4:f5:20:dd:eb:22:77:19:9a:1a:09:3d:7f:aa:7d:c9: + 81:bc:26:98:65:94:46:30:4b:c2:51:7c:f7:21:41:63:87:31: + fc:a4:c9:41:28:c7:2e:2a:2e:d8:a8:75:7a:72:77:3b:1b:9f: + 72:15:0d:0c:96:8d:8b:51:f3:ce:37:b6:ca:9f:ca:59:40:4a: + fc:73:7a:94:12:99:aa:c2:8d:52:ce:91:19:2e:b4:da:ff:e5: + 2c:67:74:d9:58:47:38:2f:61:88:c5:cf:a7:48:e1:08:ba:bc: + ec:d5:3a:47:d9:8c:dc:c3:bc:cb:98:2b:79:7a:02:46:ef:85: + 19:2f:03:4b:05:84:eb:56:98:5f:6d:cf:a5:8b:a2:b6:e5:50: + 51:7c:33:44:bd:7a:94:2e:0d:90:39:39:3e:62:60:ae:3a:e2: + f5:17:fa:f1:94:06:1d:ae:a3:f8:19:20:7f:4b:4c:07:c4:e6: + 2d:0d:e5:94:84:51:6d:6f:0f:c4:c6:79:1d:f0:e8:0e:23:9e: + fd:f9:46:2c:b9:ec:97:38:56:7e:b8:13:f6:d2:e1:8e:a5:93: + 02:7b:6e:dd:33:9a:bf:10:a8:1b:3d:fa:c4:f2:15:f0:27:73: + 26:a6:94:d1 +-----BEGIN CERTIFICATE----- +MIIENjCCAx6gAwIBAgIBAzANBgkqhkiG9w0BAQsFADCBhDELMAkGA1UEBhMCR0Ix +FDASBgNVBAgMC0lzbGUgb2YgTWFuMRAwDgYDVQQHDAdEb3VnbGFzMRcwFQYDVQQK +DA5DYW5vbmljYWwgTHRkLjE0MDIGA1UEAwwrQ2Fub25pY2FsIEx0ZC4gTWFzdGVy +IENlcnRpZmljYXRlIEF1dGhvcml0eTAgFw0yMDAzMDQxMDI3MTRaGA8yMDUwMDMw +MzEwMjcxNFowgZIxCzAJBgNVBAYTAkdCMRQwEgYDVQQIDAtJc2xlIG9mIE1hbjEX +MBUGA1UECgwOQ2Fub25pY2FsIEx0ZC4xFDASBgNVBAsMC1NlY3VyZSBCb290MT4w +PAYDVQQDDDVDYW5vbmljYWwgTHRkLiBTZWN1cmUgQm9vdCBTaWduaW5nIChVYnVu +dHUgQ29yZSAyMDE5KTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALkQ +Ry51XfMQI7ugddL6Ai3/It/B5s04fDYPrnQVbqU0UivDpDpg1wbuHZmT/2aRoxhS +LIxY5rQvS8X7g+bzGb0byiPslx/Y8ZrxBNraEARTS+wdtiZHfLuPpwpuLuiR5sS7 +ZDR4PPoJFRyPnusEmTYixo0HFQ+5aQj6/0tFvborzQEO5wEjyeV6OTuRsEU81Xe6 +yvkpPRE/HGtbjmxLP8kpBctZ1rHBwC1WiHAn+nMFXMIR1CcR9wvC1WjTGs3t0OQQ +/zTLt0VwNCwjU7acMHC0XNHiZBiCj2KxXqoL1InyHFPEMn3vU+6bbgKreL0lZ4s5 +NtiEOwaZAtZ1c07y9rkCAwEAAaOBoDCBnTAMBgNVHRMBAf8EAjAAMB8GA1UdJQQY +MBYGCCsGAQUFBwMDBgorBgEEAYI3CgMGMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NM +IEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUwdV7j2t0PyPuQfT37ikv +Bu7K37kwHwYDVR0jBBgwFoAUrZGZC8IqsfUXBIwjtmVaJo40WmMwDQYJKoZIhvcN +AQELBQADggEBAC21EajSoK+BoBgiGCwI0PRj6I+a9PUg3esidxmaGgk9f6p9yYG8 +JphllEYwS8JRfPchQWOHMfykyUEoxy4qLtiodXpydzsbn3IVDQyWjYtR8843tsqf +yllASvxzepQSmarCjVLOkRkutNr/5SxndNlYRzgvYYjFz6dI4Qi6vOzVOkfZjNzD +vMuYK3l6AkbvhRkvA0sFhOtWmF9tz6WLorblUFF8M0S9epQuDZA5OT5iYK464vUX ++vGUBh2uo/gZIH9LTAfE5i0N5ZSEUW1vD8TGeR3w6A4jnv35Riy57Jc4Vn64E/bS +4Y6lkwJ7bt0zmr8QqBs9+sTyFfAncyamlNE= +-----END CERTIFICATE----- --- linux-gcp-5.19.0.orig/debian/certs/canonical-livepatch-all.pem +++ linux-gcp-5.19.0/debian/certs/canonical-livepatch-all.pem @@ -0,0 +1,121 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + c7:7e:51:6a:1c:25:cd:40 + Signature Algorithm: sha512WithRSAEncryption + Issuer: CN = Canonical Ltd. Live Patch Signing + Validity + Not Before: Jul 18 23:41:27 2016 GMT + Not After : Jul 16 23:41:27 2026 GMT + Subject: CN = Canonical Ltd. Live Patch Signing + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (4096 bit) + Modulus: + 00:bd:74:ee:72:b3:4a:ab:e6:31:e8:29:24:c2:bd: + 46:98:32:c0:39:ee:a3:fb:8a:ad:fe:ab:1a:5b:a3: + 2e:a1:80:db:79:61:9e:47:79:2c:75:57:a2:21:f0: + 93:f6:87:f2:9b:4b:9d:2f:b3:58:61:28:3c:41:70: + 13:16:a1:72:90:c9:d5:16:71:7c:e0:30:f9:28:5e: + 48:20:36:00:69:b7:59:9f:a3:ec:a8:eb:55:41:9f: + 38:1e:22:4a:57:20:f4:83:59:49:c5:00:93:d3:33: + 02:92:d1:fc:f0:84:3b:4a:5b:8f:b6:73:9a:89:fa: + 30:1e:e6:2a:68:f2:91:ef:59:57:3d:dc:1c:52:6f: + 5e:e6:9b:b5:b8:7c:98:c9:13:d1:39:68:01:67:91: + e0:d3:67:72:16:0a:5e:16:83:45:31:4f:b5:2b:b3: + f6:40:86:89:3a:84:6e:6f:16:61:bc:70:84:be:5a: + 13:36:7b:82:ea:07:19:fc:18:c1:16:c6:32:0b:7d: + 2c:6b:c4:21:b9:38:6b:31:dc:d9:0c:ad:56:40:68: + 7c:e3:c6:64:8e:bf:1c:e0:72:3e:6c:db:d2:73:79: + da:d7:c5:2f:5d:04:7d:b0:07:1e:95:dd:2a:47:5e: + bf:3e:3a:c8:66:f6:67:0f:d4:2a:f1:e2:71:59:d2: + 6c:7b:a0:37:ac:e6:97:80:30:13:97:48:d5:74:fc: + 38:68:e4:57:cb:99:69:5a:84:27:ac:98:51:e4:64: + bd:91:62:e8:58:27:06:2a:b9:0b:b8:08:e5:e5:b4: + 51:a7:a2:10:df:4e:07:6c:a0:3b:96:f2:6e:df:75: + 8c:97:1e:64:a0:9a:86:9b:98:26:f9:d8:b7:de:5b: + 21:b7:af:89:01:a3:f7:98:6b:da:19:ba:86:ef:ef: + f1:ce:bb:2f:89:ed:c0:b6:1b:e5:5b:f8:90:11:9a: + 52:93:e9:be:f7:35:b9:08:cb:ba:c3:ed:2f:73:af: + cc:96:07:55:b5:de:f6:03:f6:f1:89:f9:21:40:76: + c1:69:f2:61:cc:9a:94:df:9c:ec:6a:65:38:be:d1: + 4e:2a:87:c7:2f:3e:53:ae:8b:9f:54:a1:09:59:64: + 25:aa:a9:d8:44:a9:a8:a0:71:e1:32:aa:4c:32:fd: + 44:28:cc:9c:6f:8e:db:81:7e:6f:fa:00:56:c5:e5: + 03:46:63:fb:8e:71:8d:e3:13:91:9f:ac:60:3e:64: + f3:df:25:34:09:fa:2d:96:9f:16:05:ea:93:f5:e6: + 00:08:27:32:7b:3c:bd:ee:70:24:6c:3b:55:e9:db: + f4:10:2d:20:06:b4:ca:e9:29:65:55:ad:f6:52:54: + 5f:e5:a3 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:FALSE + X509v3 Key Usage: + Digital Signature + X509v3 Subject Key Identifier: + 14:DF:34:D1:A8:7C:F3:76:25:AB:EC:03:9E:F2:BF:52:12:49:B9:69 + X509v3 Authority Key Identifier: + keyid:14:DF:34:D1:A8:7C:F3:76:25:AB:EC:03:9E:F2:BF:52:12:49:B9:69 + + Signature Algorithm: sha512WithRSAEncryption + 30:e7:48:02:37:e9:28:cf:04:a2:4d:5c:fa:d8:4e:c9:76:c7: + 14:3f:bd:2c:51:3d:33:f0:1a:bc:49:f1:47:95:8f:69:d8:a9: + 54:14:44:6c:4d:9f:55:82:08:1e:c6:5b:d5:91:d9:bc:2e:b0: + af:d6:25:65:74:96:aa:36:de:ae:31:a8:11:f2:a4:2c:5a:e1: + 4f:73:f8:4a:c3:35:b0:76:96:71:f2:b5:7d:4b:75:ee:5d:bf: + 86:a5:ba:0b:a9:52:cb:ec:ab:e5:23:4b:f2:74:55:28:17:1e: + b3:ac:27:ad:45:13:6e:69:b3:5a:be:42:36:29:48:db:e7:5c: + 22:58:a0:90:82:2c:2a:21:2b:db:f4:64:b7:91:5d:1f:2c:48: + a4:1a:85:e3:86:a5:aa:19:cd:19:e8:a5:fb:a3:7b:94:77:48: + 25:a4:cf:a0:cf:71:82:5c:6f:71:22:7c:d6:97:a0:53:bb:ec: + 30:f6:cb:16:fb:7b:fd:16:94:7a:53:6e:bd:04:64:a2:01:10: + 9f:f0:5b:b5:a6:73:41:9d:5f:6f:45:73:0d:05:f7:30:6d:39: + 90:b6:7d:55:7d:4c:2f:ae:5f:38:56:2f:8b:df:f4:bf:12:06: + 93:6e:0d:02:23:bf:71:91:57:88:e8:bd:62:72:99:00:40:29: + 1e:c9:13:11:da:7e:8e:e1:d2:a5:0d:bf:f7:d6:ec:01:0d:89: + 41:cd:d5:dc:d2:f7:5f:33:0d:4c:2f:85:b7:85:b7:81:e4:17: + 29:f0:74:cf:0e:15:8c:1a:50:0b:08:63:1a:91:4f:e7:76:97: + f1:d4:3b:7e:72:d4:c5:45:58:0c:6a:e9:0d:f2:85:d8:91:1e: + 37:bd:78:e3:39:4d:2e:fd:85:31:c1:a6:3b:6a:cc:2c:53:72: + 1d:8e:7b:f0:e6:76:86:09:6f:1a:f3:e4:a1:e2:dd:76:5f:b0: + 8c:e2:2a:54:5d:c1:88:49:90:10:15:42:7d:05:24:53:8c:54: + ff:48:18:1a:36:e3:31:d3:54:32:78:0d:fe:f2:3d:aa:0d:37: + 15:84:b4:36:47:31:e8:85:6e:0b:58:38:ff:21:91:09:c9:a8: + 43:a3:ea:60:cb:7e:ed:f7:41:6f:4e:91:c1:fd:77:46:e7:d4: + e7:86:c0:1b:fd:50:6c:aa:be:00:b3:63:02:ff:4e:c7:a5:57: + 6e:29:64:e9:54:d5:30:63:38:5f:2d:5a:db:49:5f:14:14:22: + d2:81:1f:61:9e:ee:ee:16:66:d6:bc:bd:ac:1b:5c:fb:38:31: + 95:33:2e:84:6e:7a:de:ee:b9:fc:97:17:06:13:bf:70:1c:6e: + 76:ed:66:38:e2:70:08:00 +-----BEGIN CERTIFICATE----- +MIIFODCCAyCgAwIBAgIJAMd+UWocJc1AMA0GCSqGSIb3DQEBDQUAMCwxKjAoBgNV +BAMMIUNhbm9uaWNhbCBMdGQuIExpdmUgUGF0Y2ggU2lnbmluZzAeFw0xNjA3MTgy +MzQxMjdaFw0yNjA3MTYyMzQxMjdaMCwxKjAoBgNVBAMMIUNhbm9uaWNhbCBMdGQu +IExpdmUgUGF0Y2ggU2lnbmluZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC +ggIBAL107nKzSqvmMegpJMK9RpgywDnuo/uKrf6rGlujLqGA23lhnkd5LHVXoiHw +k/aH8ptLnS+zWGEoPEFwExahcpDJ1RZxfOAw+SheSCA2AGm3WZ+j7KjrVUGfOB4i +Slcg9INZScUAk9MzApLR/PCEO0pbj7Zzmon6MB7mKmjyke9ZVz3cHFJvXuabtbh8 +mMkT0TloAWeR4NNnchYKXhaDRTFPtSuz9kCGiTqEbm8WYbxwhL5aEzZ7guoHGfwY +wRbGMgt9LGvEIbk4azHc2QytVkBofOPGZI6/HOByPmzb0nN52tfFL10EfbAHHpXd +Kkdevz46yGb2Zw/UKvHicVnSbHugN6zml4AwE5dI1XT8OGjkV8uZaVqEJ6yYUeRk +vZFi6FgnBiq5C7gI5eW0UaeiEN9OB2ygO5bybt91jJceZKCahpuYJvnYt95bIbev +iQGj95hr2hm6hu/v8c67L4ntwLYb5Vv4kBGaUpPpvvc1uQjLusPtL3OvzJYHVbXe +9gP28Yn5IUB2wWnyYcyalN+c7GplOL7RTiqHxy8+U66Ln1ShCVlkJaqp2ESpqKBx +4TKqTDL9RCjMnG+O24F+b/oAVsXlA0Zj+45xjeMTkZ+sYD5k898lNAn6LZafFgXq +k/XmAAgnMns8ve5wJGw7Venb9BAtIAa0yukpZVWt9lJUX+WjAgMBAAGjXTBbMAwG +A1UdEwEB/wQCMAAwCwYDVR0PBAQDAgeAMB0GA1UdDgQWBBQU3zTRqHzzdiWr7AOe +8r9SEkm5aTAfBgNVHSMEGDAWgBQU3zTRqHzzdiWr7AOe8r9SEkm5aTANBgkqhkiG +9w0BAQ0FAAOCAgEAMOdIAjfpKM8Eok1c+thOyXbHFD+9LFE9M/AavEnxR5WPadip +VBREbE2fVYIIHsZb1ZHZvC6wr9YlZXSWqjberjGoEfKkLFrhT3P4SsM1sHaWcfK1 +fUt17l2/hqW6C6lSy+yr5SNL8nRVKBces6wnrUUTbmmzWr5CNilI2+dcIligkIIs +KiEr2/Rkt5FdHyxIpBqF44alqhnNGeil+6N7lHdIJaTPoM9xglxvcSJ81pegU7vs +MPbLFvt7/RaUelNuvQRkogEQn/BbtaZzQZ1fb0VzDQX3MG05kLZ9VX1ML65fOFYv +i9/0vxIGk24NAiO/cZFXiOi9YnKZAEApHskTEdp+juHSpQ2/99bsAQ2JQc3V3NL3 +XzMNTC+Ft4W3geQXKfB0zw4VjBpQCwhjGpFP53aX8dQ7fnLUxUVYDGrpDfKF2JEe +N7144zlNLv2FMcGmO2rMLFNyHY578OZ2hglvGvPkoeLddl+wjOIqVF3BiEmQEBVC +fQUkU4xU/0gYGjbjMdNUMngN/vI9qg03FYS0Nkcx6IVuC1g4/yGRCcmoQ6PqYMt+ +7fdBb06Rwf13RufU54bAG/1QbKq+ALNjAv9Ox6VXbilk6VTVMGM4Xy1a20lfFBQi +0oEfYZ7u7hZm1ry9rBtc+zgxlTMuhG563u65/JcXBhO/cBxudu1mOOJwCAA= +-----END CERTIFICATE----- --- linux-gcp-5.19.0.orig/debian/certs/ubuntu-drivers-all.pem +++ linux-gcp-5.19.0/debian/certs/ubuntu-drivers-all.pem @@ -0,0 +1,125 @@ +Certificate: + Data: + Version: 3 (0x2) + Serial Number: + e9:df:13:0f:92:92:a9:b7 + Signature Algorithm: sha512WithRSAEncryption + Issuer: C = GB, ST = Isle of Man, L = Douglas, O = Canonical Ltd., CN = Canonical Ltd. Kernel Module Signing + Validity + Not Before: May 31 16:06:09 2016 GMT + Not After : May 29 16:06:09 2026 GMT + Subject: C = GB, ST = Isle of Man, L = Douglas, O = Canonical Ltd., CN = Canonical Ltd. Kernel Module Signing + Subject Public Key Info: + Public Key Algorithm: rsaEncryption + RSA Public-Key: (4096 bit) + Modulus: + 00:b3:b0:4f:c6:0a:77:8b:f9:d1:53:33:34:d2:80: + b5:63:6f:e1:f6:a2:83:99:d5:b6:b1:e4:99:91:fa: + 6c:19:c6:d0:91:2a:b9:7d:b5:98:a6:0d:28:01:b8: + 7c:8e:aa:38:ec:51:37:33:96:f0:b0:9b:8d:86:5f: + 67:23:69:2f:d7:c2:f3:fb:c5:d7:f9:04:ff:f2:e5: + 61:68:b7:29:b9:c6:8e:4b:4d:2d:8f:92:0c:00:b3: + a3:d2:5a:08:64:cd:f2:09:0b:a5:0e:e6:64:75:d5: + 41:f4:4d:49:3a:0d:dc:b9:27:8e:c4:d6:b1:df:8f: + 6c:f0:e4:f7:31:cb:a9:04:a1:f9:a7:aa:15:da:59: + 03:4d:46:14:d0:dd:bf:e0:f5:9e:f0:71:0c:70:78: + 2b:08:fb:e0:b6:68:a4:74:12:9d:f7:f2:64:88:17: + 2a:8a:ed:1a:91:b5:6c:13:bd:4c:10:0a:0b:72:0b: + 90:db:7d:f3:78:44:4c:d2:a5:41:f7:1c:77:7d:5a: + 8a:54:bc:8f:fe:b7:ee:e1:bc:59:37:c4:d4:e8:14: + d0:5b:42:9b:04:00:8e:6d:83:8a:25:21:5b:08:c4: + 7b:b2:d9:99:52:c9:5e:59:6d:c4:aa:52:59:e2:e4: + 2f:7e:7e:ac:05:01:99:bf:13:72:b7:45:c5:17:da: + 8a:d5:3e:71:73:2e:d8:aa:e6:eb:5a:d0:9a:c4:93: + f3:be:eb:d2:47:25:34:16:29:fa:dd:9a:2f:b1:20: + e5:41:4e:ed:ea:51:7c:23:80:ba:3d:b5:3a:0b:8c: + 9c:85:48:6c:3c:8b:29:2f:2f:12:c7:52:34:02:ea: + 0f:ac:53:23:3c:f8:3e:40:1b:30:63:e9:2d:e6:f6: + 58:cc:51:f9:eb:08:4a:b4:c7:16:80:d1:8b:c2:64: + 6a:71:a9:70:31:a4:a7:3a:c0:93:99:1b:0e:42:c1: + 00:6d:43:27:99:6c:e5:fd:23:16:c1:8e:b5:66:17: + 2b:4c:53:5a:6d:1e:96:16:13:6a:c6:d4:85:5b:74: + 2e:ce:7c:45:2f:ad:cb:75:9e:5e:91:bd:9a:6a:86: + 1a:06:bd:39:be:a3:50:56:ea:e1:f6:e3:95:69:d7: + 31:e4:66:f7:36:b5:51:c2:22:b4:9c:74:9c:44:0b: + 0e:16:5f:53:f0:23:c6:b9:40:bd:d6:b8:7d:1b:f6: + 73:f6:27:e7:c0:e3:65:a0:58:ab:5c:59:b7:80:8c: + 8c:04:b4:a9:ae:a0:51:40:10:3b:63:59:49:87:d1: + 9b:df:a3:8c:c4:2e:eb:70:c1:0a:18:1f:cb:22:c2: + f2:4a:65:0d:e5:81:74:d8:ce:72:c6:35:be:ba:63: + 72:c4:f9 + Exponent: 65537 (0x10001) + X509v3 extensions: + X509v3 Basic Constraints: critical + CA:FALSE + X509v3 Key Usage: + Digital Signature + X509v3 Subject Key Identifier: + 88:F7:52:E5:60:A1:E0:73:7E:31:16:3A:46:6A:D7:B7:0A:85:0C:19 + X509v3 Authority Key Identifier: + keyid:88:F7:52:E5:60:A1:E0:73:7E:31:16:3A:46:6A:D7:B7:0A:85:0C:19 + + Signature Algorithm: sha512WithRSAEncryption + 04:85:16:27:58:ba:71:28:57:86:7b:c2:83:db:e5:72:6f:1e: + b2:1c:63:b0:db:ad:c0:42:96:c0:4f:65:f6:35:4d:c0:07:0d: + 46:be:d3:1e:ec:f1:22:18:2a:18:5d:bb:69:a6:a6:d4:0d:c3: + 57:03:b9:e7:45:49:28:ca:6d:98:17:68:97:cb:7b:36:81:0a: + 37:9e:34:79:f3:e1:0e:5b:77:43:bb:5a:a5:45:b7:16:50:86: + fd:12:a4:96:0f:15:19:09:1c:e1:fa:80:a5:80:09:be:bb:c8: + 26:0b:3e:de:03:d2:c2:18:a4:8d:0d:de:c5:32:82:0b:fb:75: + 55:66:1a:2a:bb:e4:bd:25:91:20:15:d4:be:b8:3f:53:e3:fb: + a8:c3:55:e3:d5:e7:82:18:95:df:39:09:a7:fc:89:6e:b4:1c: + aa:2d:e8:67:c2:0d:34:34:3e:f9:fa:0b:ce:81:92:11:ae:12: + 0a:fe:35:63:ce:46:29:c4:2b:4f:cb:4e:05:0a:a1:11:e2:35: + f6:5a:5d:b5:e8:d2:6f:4c:fc:3d:24:a6:03:4b:dd:98:6b:f2: + 71:58:16:1d:a5:25:ef:d9:06:7c:e8:db:7b:88:6a:89:5c:59: + 01:92:64:db:44:08:63:6c:7c:32:d6:55:98:63:09:26:61:67: + 0a:fe:5d:ee:fd:23:59:b3:4d:91:c1:4d:41:8b:cd:20:58:fa: + 2d:45:e5:bd:1d:69:5c:03:a0:49:a6:97:54:13:b6:c9:e0:f8: + 56:83:a1:2a:c3:f4:6c:fd:ab:20:ca:3d:9c:95:c0:cf:04:bb: + 46:39:cf:34:81:65:45:27:64:01:7d:62:b3:b8:72:ea:10:d5: + 0f:53:7d:39:88:25:09:6f:8c:bc:e0:49:bb:39:e2:0e:8d:cf: + 56:4d:c1:82:6d:87:d2:e7:fc:c0:9f:a7:65:60:d2:6c:65:18: + 59:38:6e:d0:9c:d7:c3:81:9a:9a:29:8f:83:84:c3:b5:44:ff: + 28:ac:13:17:64:f2:26:13:d9:55:06:b7:69:68:7c:bf:ec:d1: + 8c:ef:b7:da:76:e1:07:73:c6:31:62:31:cb:b6:e1:e7:7f:0c: + c3:f7:4c:52:be:25:36:8e:a1:bb:60:02:c3:cb:3e:6f:29:fc: + 7f:6a:fa:f8:ec:0a:df:49:e2:57:0e:bc:bd:93:c3:1b:d5:36: + 8a:ff:d8:1b:17:c7:1f:cb:69:00:d2:54:9e:ad:61:89:92:95: + 11:f8:ea:17:83:9f:9b:09:7d:b8:94:a4:ea:f5:ae:ea:dc:dd: + 62:b9:9e:68:9c:18:ec:19:c4:13:08:c8:b1:62:ab:8e:84:69: + 11:3c:da:ea:0d:b7:22:bd +-----BEGIN CERTIFICATE----- +MIIF2jCCA8KgAwIBAgIJAOnfEw+Skqm3MA0GCSqGSIb3DQEBDQUAMH0xCzAJBgNV +BAYTAkdCMRQwEgYDVQQIDAtJc2xlIG9mIE1hbjEQMA4GA1UEBwwHRG91Z2xhczEX +MBUGA1UECgwOQ2Fub25pY2FsIEx0ZC4xLTArBgNVBAMMJENhbm9uaWNhbCBMdGQu +IEtlcm5lbCBNb2R1bGUgU2lnbmluZzAeFw0xNjA1MzExNjA2MDlaFw0yNjA1Mjkx +NjA2MDlaMH0xCzAJBgNVBAYTAkdCMRQwEgYDVQQIDAtJc2xlIG9mIE1hbjEQMA4G +A1UEBwwHRG91Z2xhczEXMBUGA1UECgwOQ2Fub25pY2FsIEx0ZC4xLTArBgNVBAMM +JENhbm9uaWNhbCBMdGQuIEtlcm5lbCBNb2R1bGUgU2lnbmluZzCCAiIwDQYJKoZI +hvcNAQEBBQADggIPADCCAgoCggIBALOwT8YKd4v50VMzNNKAtWNv4faig5nVtrHk +mZH6bBnG0JEquX21mKYNKAG4fI6qOOxRNzOW8LCbjYZfZyNpL9fC8/vF1/kE//Ll +YWi3KbnGjktNLY+SDACzo9JaCGTN8gkLpQ7mZHXVQfRNSToN3LknjsTWsd+PbPDk +9zHLqQSh+aeqFdpZA01GFNDdv+D1nvBxDHB4Kwj74LZopHQSnffyZIgXKortGpG1 +bBO9TBAKC3ILkNt983hETNKlQfccd31ailS8j/637uG8WTfE1OgU0FtCmwQAjm2D +iiUhWwjEe7LZmVLJXlltxKpSWeLkL35+rAUBmb8TcrdFxRfaitU+cXMu2Krm61rQ +msST877r0kclNBYp+t2aL7Eg5UFO7epRfCOAuj21OguMnIVIbDyLKS8vEsdSNALq +D6xTIzz4PkAbMGPpLeb2WMxR+esISrTHFoDRi8JkanGpcDGkpzrAk5kbDkLBAG1D +J5ls5f0jFsGOtWYXK0xTWm0elhYTasbUhVt0Ls58RS+ty3WeXpG9mmqGGga9Ob6j +UFbq4fbjlWnXMeRm9za1UcIitJx0nEQLDhZfU/AjxrlAvda4fRv2c/Yn58DjZaBY +q1xZt4CMjAS0qa6gUUAQO2NZSYfRm9+jjMQu63DBChgfyyLC8kplDeWBdNjOcsY1 +vrpjcsT5AgMBAAGjXTBbMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgeAMB0GA1Ud +DgQWBBSI91LlYKHgc34xFjpGate3CoUMGTAfBgNVHSMEGDAWgBSI91LlYKHgc34x +FjpGate3CoUMGTANBgkqhkiG9w0BAQ0FAAOCAgEABIUWJ1i6cShXhnvCg9vlcm8e +shxjsNutwEKWwE9l9jVNwAcNRr7THuzxIhgqGF27aaam1A3DVwO550VJKMptmBdo +l8t7NoEKN540efPhDlt3Q7tapUW3FlCG/RKklg8VGQkc4fqApYAJvrvIJgs+3gPS +whikjQ3exTKCC/t1VWYaKrvkvSWRIBXUvrg/U+P7qMNV49XnghiV3zkJp/yJbrQc +qi3oZ8INNDQ++foLzoGSEa4SCv41Y85GKcQrT8tOBQqhEeI19lpdtejSb0z8PSSm +A0vdmGvycVgWHaUl79kGfOjbe4hqiVxZAZJk20QIY2x8MtZVmGMJJmFnCv5d7v0j +WbNNkcFNQYvNIFj6LUXlvR1pXAOgSaaXVBO2yeD4VoOhKsP0bP2rIMo9nJXAzwS7 +RjnPNIFlRSdkAX1is7hy6hDVD1N9OYglCW+MvOBJuzniDo3PVk3Bgm2H0uf8wJ+n +ZWDSbGUYWThu0JzXw4GamimPg4TDtUT/KKwTF2TyJhPZVQa3aWh8v+zRjO+32nbh +B3PGMWIxy7bh538Mw/dMUr4lNo6hu2ACw8s+byn8f2r6+OwK30niVw68vZPDG9U2 +iv/YGxfHH8tpANJUnq1hiZKVEfjqF4Ofmwl9uJSk6vWu6tzdYrmeaJwY7BnEEwjI +sWKrjoRpETza6g23Ir0= +-----END CERTIFICATE----- --- linux-gcp-5.19.0.orig/debian/changelog +++ linux-gcp-5.19.0/debian/changelog @@ -0,0 +1,30348 @@ +linux-gcp (5.19.0-1027.29) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1027.29 -proposed tracker (LP: #2024032) + + * Packaging resync (LP: #1786013) + - [Packaging] resync update-dkms-versions helper + + [ Ubuntu: 5.19.0-46.47 ] + + * kinetic/linux: 5.19.0-46.47 -proposed tracker (LP: #2024043) + * Packaging resync (LP: #1786013) + - [Packaging] resync git-ubuntu-log + - [Packaging] resync getabis + * CVE-2023-2430 + - io_uring/msg_ring: fix missing lock on overflow for IOPOLL + * cls_flower: off-by-one in fl_set_geneve_opt (LP: #2023577) + - net/sched: flower: fix possible OOB write in fl_set_geneve_opt() + * Some INVLPG implementations can leave Global translations unflushed when + PCIDs are enabled (LP: #2023220) + - x86/mm: Avoid incomplete Global INVLPG flushes + + [ Ubuntu: 5.19.0-45.46 ] + + * kinetic/linux: 5.19.0-45.46 -proposed tracker (LP: #2023057) + * Kinetic update: upstream stable patchset 2023-05-23 (LP: #2020599) + - wifi: cfg80211: Partial revert "wifi: cfg80211: Fix use after free for wext" + + -- Khalid Elmously Wed, 21 Jun 2023 01:27:15 -0400 + +linux-gcp (5.19.0-1026.28) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1026.28 -proposed tracker (LP: #2019816) + + * Packaging resync (LP: #1786013) + - [Packaging] resync git-ubuntu-log + - [Packaging] resync getabis + + * Kinetic update: upstream stable patchset 2023-05-08 (LP: #2018948) + - [Config] updateconfigs for SND_HDA_CTL_DEV_ID + + * GVE: Performance improvement for "jumbo" frames (LP: #2021830) + - gve: Reduce alloc and copy costs in the GQ rx path + - gve: Fix error return code in gve_prefill_rx_pages() + + * Miscellaneous Ubuntu changes + - [config] Update configs after rebase + + [ Ubuntu: 5.19.0-44.45 ] + + * kinetic/linux: 5.19.0-44.45 -proposed tracker (LP: #2019827) + * Linux 5.19 amdgpu: NULL pointer on GCN2 and invalid load on GCN1 + (LP: #2018470) + - drm/amdgpu: Fix for BO move issue + * CVE-2023-32233 + - netfilter: nf_tables: deactivate anonymous set from preparation phase + * CVE-2023-2612 + - SAUCE: shiftfs: prevent lock unbalance in shiftfs_create_object() + * CVE-2023-31436 + - net: sched: sch_qfq: prevent slab-out-of-bounds in qfq_activate_agg + * CVE-2023-1380 + - wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies() + * conntrack mark is not advertised via netlink (LP: #2016269) + - netfilter: ctnetlink: revert to dumping mark regardless of event type + * 5.19 not reporting cgroups v1 blkio.throttle.io_serviced (LP: #2016186) + - SAUCE: blk-throttle: Fix io statistics for cgroup v1 + * [SRU] Backport request for hpwdt from upstream 6.1 to Jammy (LP: #2008751) + - watchdog/hpwdt: Enable HP_WATCHDOG for ARM64 systems. + - watchdog/hpwdt: Include nmi.h only if CONFIG_HPWDT_NMI_DECODING + - [Config] Add arm64 option to CONFIG_HP_WATCHDOG + * vmwgfx fails to reserve graphics buffer on aarch64 leading to blank display + (LP: #2007001) + - SAUCE: Revert "video/aperture: Disable and unregister sysfb devices via + aperture helpers" + * Ubuntu 22.04 raise abnormal NIC MSI-X requests with larger CPU cores (256) + (LP: #2012335) + - ice: Allow operation with reduced device MSI-X + * Dell: Enable speaker mute hotkey LED indicator (LP: #2015972) + - platform/x86: dell-laptop: Register ctl-led for speaker-mute + * [SRU]With "Performance per Watt (DAPC)" enabled in the BIOS, Bootup time is + taking longer than expected (LP: #2008527) + - cpufreq: ACPI: Defer setting boost MSRs + * [SRU][Jammy] CONFIG_PCI_MESON is not enabled (LP: #2007745) + - [Config] arm64: Enable PCI_MESON module + * Kinetic update: upstream stable patchset 2023-05-08 (LP: #2018948) + - HID: asus: use spinlock to protect concurrent accesses + - HID: asus: use spinlock to safely schedule workers + - powerpc/mm: Rearrange if-else block to avoid clang warning + - ARM: OMAP2+: Fix memory leak in realtime_counter_init() + - arm64: dts: qcom: qcs404: use symbol names for PCIe resets + - arm64: dts: qcom: msm8996-tone: Fix USB taking 6 minutes to wake up + - arm64: dts: qcom: sm8150-kumano: Panel framebuffer is 2.5k instead of 4k + - arm64: dts: qcom: sm6125: Reorder HSUSB PHY clocks to match bindings + - arm64: dts: imx8m: Align SoC unique ID node unit address + - ARM: zynq: Fix refcount leak in zynq_early_slcr_init + - arm64: dts: mediatek: mt8183: Fix systimer 13 MHz clock description + - arm64: dts: qcom: sdm845-db845c: fix audio codec interrupt pin name + - arm64: dts: qcom: sc7180: correct SPMI bus address cells + - arm64: dts: qcom: sc7280: correct SPMI bus address cells + - arm64: dts: meson-gx: Fix Ethernet MAC address unit name + - arm64: dts: meson-g12a: Fix internal Ethernet PHY unit name + - arm64: dts: meson-gx: Fix the SCPI DVFS node name and unit address + - arm64: dts: msm8992-bullhead: add memory hole region + - arm64: dts: qcom: msm8992-bullhead: Fix cont_splash_mem size + - arm64: dts: qcom: msm8992-bullhead: Disable dfps_data_mem + - arm64: dts: qcom: ipq8074: correct USB3 QMP PHY-s clock output names + - arm64: dts: qcom: ipq8074: fix Gen3 PCIe QMP PHY + - arm64: dts: qcom: ipq8074: correct Gen2 PCIe ranges + - arm64: dts: qcom: ipq8074: fix Gen3 PCIe node + - arm64: dts: qcom: ipq8074: correct PCIe QMP PHY output clock names + - arm64: dts: meson: remove CPU opps below 1GHz for G12A boards + - ARM: OMAP1: call platform_device_put() in error case in + omap1_dm_timer_init() + - ARM: bcm2835_defconfig: Enable the framebuffer + - ARM: s3c: fix s3c64xx_set_timer_source prototype + - arm64: dts: ti: k3-j7200: Fix wakeup pinmux range + - ARM: dts: exynos: correct wr-active property in Exynos3250 Rinato + - ARM: imx: Call ida_simple_remove() for ida_simple_get + - arm64: dts: amlogic: meson-gx: fix SCPI clock dvfs node name + - arm64: dts: amlogic: meson-axg: fix SCPI clock dvfs node name + - arm64: dts: amlogic: meson-gx: add missing SCPI sensors compatible + - arm64: dts: amlogic: meson-gxl-s905d-sml5442tw: drop invalid clock-names + property + - arm64: dts: amlogic: meson-gx: add missing unit address to rng node name + - arm64: dts: amlogic: meson-gxl: add missing unit address to eth-phy-mux node + name + - arm64: dts: amlogic: meson-gx-libretech-pc: fix update button name + - arm64: dts: amlogic: meson-sm1-bananapi-m5: fix adc keys node names + - arm64: dts: amlogic: meson-gxl-s905d-phicomm-n1: fix led node name + - arm64: dts: amlogic: meson-gxbb-kii-pro: fix led node name + - arm64: dts: amlogic: meson-sm1-odroid-hc4: fix active fan thermal trip + - locking/rwsem: Disable preemption in all down_read*() and up_read() code + paths + - arm64: dts: renesas: beacon-renesom: Fix gpio expander reference + - arm64: dts: meson: bananapi-m5: switch VDDIO_C pin to OPEN_DRAIN + - ARM: dts: sun8i: nanopi-duo2: Fix regulator GPIO reference + - ARM: dts: imx7s: correct iomuxc gpr mux controller cells + - arm64: dts: mt8192: Fix CPU map for single-cluster SoC + - arm64: dts: mediatek: mt7622: Add missing pwm-cells to pwm node + - blk-mq: avoid sleep in blk_mq_alloc_request_hctx + - blk-mq: remove stale comment for blk_mq_sched_mark_restart_hctx + - blk-mq: correct stale comment of .get_budget + - arm64: dts: qcom: msm8992-lg-bullhead: Correct memory overlaps with the SMEM + and MPSS memory regions + - s390/dasd: Fix potential memleak in dasd_eckd_init() + - sched/rt: pick_next_rt_entity(): check list_entry + - x86/perf/zhaoxin: Add stepping check for ZXC + - KEYS: asymmetric: Fix ECDSA use via keyctl uapi + - arm64: dts: qcom: pmk8350: Specify PBS register for PON + - arm64: dts: qcom: pmk8350: Use the correct PON compatible + - block: bio-integrity: Copy flags when bio_integrity_payload is cloned + - wifi: rsi: Fix memory leak in rsi_coex_attach() + - wifi: rtlwifi: rtl8821ae: don't call kfree_skb() under spin_lock_irqsave() + - wifi: rtlwifi: rtl8188ee: don't call kfree_skb() under spin_lock_irqsave() + - wifi: rtlwifi: rtl8723be: don't call kfree_skb() under spin_lock_irqsave() + - wifi: iwlegacy: common: don't call dev_kfree_skb() under spin_lock_irqsave() + - wifi: libertas: fix memory leak in lbs_init_adapter() + - wifi: rtl8xxxu: don't call dev_kfree_skb() under spin_lock_irqsave() + - wifi: rtlwifi: Fix global-out-of-bounds bug in + _rtl8812ae_phy_set_txpower_limit() + - libbpf: Fix btf__align_of() by taking into account field offsets + - wifi: ipw2x00: don't call dev_kfree_skb() under spin_lock_irqsave() + - wifi: ipw2200: fix memory leak in ipw_wdev_init() + - wifi: wilc1000: fix potential memory leak in wilc_mac_xmit() + - wifi: brcmfmac: fix potential memory leak in brcmf_netdev_start_xmit() + - wifi: brcmfmac: unmap dma buffer in brcmf_msgbuf_alloc_pktid() + - wifi: libertas_tf: don't call kfree_skb() under spin_lock_irqsave() + - wifi: libertas: if_usb: don't call kfree_skb() under spin_lock_irqsave() + - wifi: libertas: main: don't call kfree_skb() under spin_lock_irqsave() + - wifi: libertas: cmdresp: don't call kfree_skb() under spin_lock_irqsave() + - wifi: wl3501_cs: don't call kfree_skb() under spin_lock_irqsave() + - crypto: x86/ghash - fix unaligned access in ghash_setkey() + - ACPICA: Drop port I/O validation for some regions + - genirq: Fix the return type of kstat_cpu_irqs_sum() + - rcu-tasks: Improve comments explaining tasks_rcu_exit_srcu purpose + - rcu-tasks: Remove preemption disablement around srcu_read_[un]lock() calls + - rcu-tasks: Fix synchronize_rcu_tasks() VS zap_pid_ns_processes() + - lib/mpi: Fix buffer overrun when SG is too long + - crypto: ccp - Avoid page allocation failure warning for SEV_GET_ID2 + - ACPICA: nsrepair: handle cases without a return value correctly + - thermal/drivers/tsens: Drop msm8976-specific defines + - thermal/drivers/tsens: Sort out msm8976 vs msm8956 data + - thermal/drivers/tsens: fix slope values for msm8939 + - thermal/drivers/tsens: limit num_sensors to 9 for msm8939 + - wifi: rtl8xxxu: Fix memory leaks with RTL8723BU, RTL8192EU + - wifi: orinoco: check return value of hermes_write_wordrec() + - wifi: ath9k: htc_hst: free skb in ath9k_htc_rx_msg() if there is no callback + function + - ath9k: htc: clean up statistics macros + - wifi: ath9k: hif_usb: clean up skbs if ath9k_hif_usb_rx_stream() fails + - wifi: ath9k: Fix potential stack-out-of-bounds write in + ath9k_wmi_rsp_callback() + - wifi: ath11k: Fix memory leak in ath11k_peer_rx_frag_setup + - wifi: cfg80211: Fix extended KCK key length check in + nl80211_set_rekey_data() + - ACPI: battery: Fix missing NUL-termination with large strings + - crypto: ccp - Failure on re-initialization due to duplicate sysfs filename + - crypto: essiv - Handle EBUSY correctly + - crypto: seqiv - Handle EBUSY correctly + - powercap: fix possible name leak in powercap_register_zone() + - x86/microcode: Print previous version of microcode after reload + - x86/microcode: Add a parameter to microcode_check() to store CPU + capabilities + - x86/microcode: Check CPU capabilities after late microcode update correctly + - x86/microcode: Adjust late loading result reporting message + - crypto: xts - Handle EBUSY correctly + - leds: led-class: Add missing put_device() to led_put() + - crypto: ccp - Flush the SEV-ES TMR memory before giving it to firmware + - bpftool: profile online CPUs instead of possible + - net/mlx5: Enhance debug print in page allocation failure + - irqchip: Fix refcount leak in platform_irqchip_probe + - irqchip/alpine-msi: Fix refcount leak in alpine_msix_init_domains + - irqchip/irq-mvebu-gicp: Fix refcount leak in mvebu_gicp_probe + - irqchip/ti-sci: Fix refcount leak in ti_sci_intr_irq_domain_probe + - s390/mem_detect: fix detect_memory() error handling + - s390/vmem: fix empty page tables cleanup under KASAN + - net: add sock_init_data_uid() + - tun: tun_chr_open(): correctly initialize socket uid + - tap: tap_open(): correctly initialize socket uid + - OPP: fix error checking in opp_migrate_dentry() + - Bluetooth: L2CAP: Fix potential user-after-free + - Bluetooth: hci_qca: get wakeup status from serdev device handle + - s390/ap: fix status returned by ap_aqic() + - s390/ap: fix status returned by ap_qact() + - libbpf: Fix alen calculation in libbpf_nla_dump_errormsg() + - rds: rds_rm_zerocopy_callback() correct order for list_add_tail() + - crypto: rsa-pkcs1pad - Use akcipher_request_complete + - m68k: /proc/hardware should depend on PROC_FS + - RISC-V: time: initialize hrtimer based broadcast clock event device + - wifi: iwl3945: Add missing check for create_singlethread_workqueue + - wifi: iwl4965: Add missing check for create_singlethread_workqueue() + - wifi: mwifiex: fix loop iterator in mwifiex_update_ampdu_txwinsize() + - selftests/bpf: Fix out-of-srctree build + - ACPI: resource: Add IRQ overrides for MAINGEAR Vector Pro 2 models + - ACPI: resource: Do IRQ override on all TongFang GMxRGxx + - crypto: crypto4xx - Call dma_unmap_page when done + - wifi: mac80211: make rate u32 in sta_set_rate_info_rx() + - thermal/drivers/hisi: Drop second sensor hi3660 + - can: esd_usb: Move mislocated storage of SJA1000_ECC_SEG bits in case of a + bus error + - bpf: Fix global subprog context argument resolution logic + - irqchip/irq-brcmstb-l2: Set IRQ_LEVEL for level triggered interrupts + - irqchip/irq-bcm7120-l2: Set IRQ_LEVEL for level triggered interrupts + - selftests/net: Interpret UDP_GRO cmsg data as an int value + - l2tp: Avoid possible recursive deadlock in l2tp_tunnel_register() + - net: bcmgenet: fix MoCA LED control + - sefltests: netdevsim: wait for devlink instance after netns removal + - drm: Fix potential null-ptr-deref due to drmm_mode_config_init() + - drm/fourcc: Add missing big-endian XRGB1555 and RGB565 formats + - drm/bridge: ti-sn65dsi83: Fix delay after reset deassert to match spec + - [Config] updateconfigs for DRM_MXSFB + - drm: mxsfb: DRM_MXSFB should depend on ARCH_MXS || ARCH_MXC + - drm/bridge: megachips: Fix error handling in i2c_register_driver() + - drm/vkms: Fix memory leak in vkms_init() + - drm/vkms: Fix null-ptr-deref in vkms_release() + - drm/vc4: dpi: Add option for inverting pixel clock and output enable + - drm/vc4: dpi: Fix format mapping for RGB565 + - drm: tidss: Fix pixel format definition + - gpu: ipu-v3: common: Add of_node_put() for reference returned by + of_graph_get_port_by_id() + - hwmon: (ftsteutates) Fix scaling of measurements + - drm/msm/hdmi: Add missing check for alloc_ordered_workqueue + - pinctrl: qcom: pinctrl-msm8976: Correct function names for wcss pins + - pinctrl: stm32: Fix refcount leak in stm32_pctrl_get_irq_domain + - pinctrl: rockchip: Fix refcount leak in rockchip_pinctrl_parse_groups + - drm/vc4: hvs: Set AXI panic modes + - drm/vc4: hvs: Fix colour order for xRGB1555 on HVS5 + - drm/vc4: hdmi: Correct interlaced timings again + - drm/msm: clean event_thread->worker in case of an error + - scsi: qla2xxx: edif: Fix I/O timeout due to over-subscription + - scsi: qla2xxx: Fix exchange oversubscription + - scsi: qla2xxx: Fix exchange oversubscription for management commands + - ASoC: fsl_sai: initialize is_dsp_mode flag + - drm/msm/adreno: Fix null ptr access in adreno_gpu_cleanup() + - ALSA: hda/ca0132: minor fix for allocation size + - drm/msm/gem: Add check for kmalloc + - drm/msm/dpu: Disallow unallocated resources to be returned + - drm/bridge: lt9611: fix sleep mode setup + - drm/bridge: lt9611: fix HPD reenablement + - drm/bridge: lt9611: fix polarity programming + - drm/bridge: lt9611: fix programming of video modes + - drm/bridge: lt9611: fix clock calculation + - drm/bridge: lt9611: pass a pointer to the of node + - drm/mipi-dsi: Fix byte order of 16-bit DCS set/get brightness + - drm: exynos: dsi: Fix MIPI_DSI*_NO_* mode flags + - drm/msm/dsi: Allow 2 CTRLs on v2.5.0 + - drm/msm: use strscpy instead of strncpy + - drm/msm/dpu: Add check for cstate + - drm/msm/dpu: Add check for pstates + - drm/msm/mdp5: Add check for kzalloc + - pinctrl: bcm2835: Remove of_node_put() in bcm2835_of_gpio_ranges_fallback() + - pinctrl: mediatek: Initialize variable pullen and pullup to zero + - pinctrl: mediatek: Initialize variable *buf to zero + - gpu: host1x: Don't skip assigning syncpoints to channels + - drm/tegra: firewall: Check for is_addr_reg existence in IMM check + - drm/msm/dpu: set pdpu->is_rt_pipe early in dpu_plane_sspp_atomic_update() + - drm/mediatek: dsi: Reduce the time of dsi from LP11 to sending cmd + - drm/mediatek: Use NULL instead of 0 for NULL pointer + - drm/mediatek: Drop unbalanced obj unref + - drm/mediatek: mtk_drm_crtc: Add checks for devm_kcalloc + - drm/mediatek: Clean dangling pointer on bind error path + - ASoC: soc-compress.c: fixup private_data on snd_soc_new_compress() + - gpio: vf610: connect GPIO label to dev name + - spi: dw_bt1: fix MUX_MMIO dependencies + - ASoC: mchp-spdifrx: fix controls which rely on rsr register + - ASoC: mchp-spdifrx: fix return value in case completion times out + - ASoC: mchp-spdifrx: fix controls that works with completion mechanism + - ASoC: mchp-spdifrx: disable all interrupts in mchp_spdifrx_dai_remove() + - ASoC: rsnd: fixup #endif position + - ASoC: mchp-spdifrx: Fix uninitialized use of mr in mchp_spdifrx_hw_params() + - ASoC: dt-bindings: meson: fix gx-card codec node regex + - hwmon: (ltc2945) Handle error case in ltc2945_value_store + - drm/amdgpu: fix enum odm_combine_mode mismatch + - scsi: mpt3sas: Fix a memory leak + - scsi: aic94xx: Add missing check for dma_map_single() + - HID: multitouch: Add quirks for flipped axes + - HID: retain initial quirks set up when creating HID devices + - ASoC: codecs: lpass: fix incorrect mclk rate + - spi: bcm63xx-hsspi: Fix multi-bit mode setting + - hwmon: (mlxreg-fan) Return zero speed for broken fan + - ASoC: tlv320adcx140: fix 'ti,gpio-config' DT property init + - dm: remove flush_scheduled_work() during local_exit() + - nfs4trace: fix state manager flag printing + - NFS: fix disabling of swap + - spi: synquacer: Fix timeout handling in synquacer_spi_transfer_one() + - ASoC: soc-dapm.h: fixup warning struct snd_pcm_substream not declared + - HID: bigben: use spinlock to protect concurrent accesses + - HID: bigben_worker() remove unneeded check on report_field + - HID: bigben: use spinlock to safely schedule workers + - hid: bigben_probe(): validate report count + - drm/shmem-helper: Fix locking for drm_gem_shmem_get_pages_sgt() + - nfsd: fix race to check ls_layouts + - cifs: Fix lost destroy smbd connection when MR allocate failed + - cifs: Fix warning and UAF when destroy the MR list + - gfs2: jdata writepage fix + - perf llvm: Fix inadvertent file creation + - leds: led-core: Fix refcount leak in of_led_get() + - perf inject: Use perf_data__read() for auxtrace + - perf intel-pt: Do not try to queue auxtrace data on pipe + - perf tools: Fix auto-complete on aarch64 + - sparc: allow PM configs for sparc32 COMPILE_TEST + - printf: fix errname.c list + - objtool: add UACCESS exceptions for __tsan_volatile_read/write + - mfd: cs5535: Don't build on UML + - mfd: pcf50633-adc: Fix potential memleak in pcf50633_adc_async_read() + - dmaengine: idxd: Set traffic class values in GRPCFG on DSA 2.0 + - [Config] updateconfigs for HISI_DMA + - dmaengine: HISI_DMA should depend on ARCH_HISI + - iio: light: tsl2563: Do not hardcode interrupt trigger type + - usb: gadget: fusb300_udc: free irq on the error path in fusb300_probe() + - i2c: designware: fix i2c_dw_clk_rate() return size to be u32 + - soundwire: cadence: Don't overflow the command FIFOs + - driver core: fix potential null-ptr-deref in device_add() + - kobject: modify kobject_get_path() to take a const * + - kobject: Fix slab-out-of-bounds in fill_kobj_path() + - alpha/boot/tools/objstrip: fix the check for ELF header + - media: uvcvideo: Check for INACTIVE in uvc_ctrl_is_accessible() + - coresight: etm4x: Fix accesses to TRCSEQRSTEVR and TRCSEQSTR + - coresight: cti: Prevent negative values of enable count + - coresight: cti: Add PM runtime call in enable_store + - ACPI: resource: Add helper function acpi_dev_get_memory_resources() + - usb: typec: intel_pmc_mux: Use the helper acpi_dev_get_memory_resources() + - usb: typec: intel_pmc_mux: Don't leak the ACPI device reference count + - PCI/IOV: Enlarge virtfn sysfs name buffer + - PCI: switchtec: Return -EFAULT for copy_to_user() errors + - tty: serial: fsl_lpuart: disable Rx/Tx DMA in lpuart32_shutdown() + - tty: serial: fsl_lpuart: clear LPUART Status Register in lpuart32_shutdown() + - serial: tegra: Add missing clk_disable_unprepare() in tegra_uart_hw_init() + - Revert "char: pcmcia: cm4000_cs: Replace mdelay with usleep_range in + set_protocol" + - eeprom: idt_89hpesx: Fix error handling in idt_init() + - applicom: Fix PCI device refcount leak in applicom_init() + - firmware: stratix10-svc: add missing gen_pool_destroy() in + stratix10_svc_drv_probe() + - VMCI: check context->notify_page after call to get_user_pages_fast() to + avoid GPF + - misc/mei/hdcp: Use correct macros to initialize uuid_le + - driver core: fix resource leak in device_add() + - drivers: base: transport_class: fix possible memory leak + - drivers: base: transport_class: fix resource leak when + transport_add_device() fails + - firmware: dmi-sysfs: Fix null-ptr-deref in dmi_sysfs_register_handle + - fotg210-udc: Add missing completion handler + - dmaengine: dw-edma: Fix missing src/dst address of interleaved xfers + - usb: early: xhci-dbc: Fix a potential out-of-bound memory access + - tty: serial: fsl_lpuart: Fix the wrong RXWATER setting for rx dma case + - RDMA/cxgb4: add null-ptr-check after ip_dev_find() + - usb: musb: mediatek: don't unregister something that wasn't registered + - usb: gadget: configfs: Restrict symlink creation is UDC already binded + - iommu/vt-d: Set No Execute Enable bit in PASID table entry + - power: supply: remove faulty cooling logic + - RDMA/cxgb4: Fix potential null-ptr-deref in pass_establish() + - usb: max-3421: Fix setting of I/O pins + - RDMA/irdma: Cap MSIX used to online CPUs + 1 + - serial: fsl_lpuart: fix RS485 RTS polariy inverse issue + - tty: serial: imx: Handle RS485 DE signal active high + - tty: serial: imx: disable Ageing Timer interrupt request irq + - dmaengine: dw-edma: Fix readq_ch() return value truncation + - phy: rockchip-typec: fix tcphy_get_mode error case + - iw_cxgb4: Fix potential NULL dereference in c4iw_fill_res_cm_id_entry() + - iommu: Fix error unwind in iommu_group_alloc() + - dmaengine: sf-pdma: pdma_desc memory leak fix + - dmaengine: dw-axi-dmac: Do not dereference NULL structure + - iommu/vt-d: Fix error handling in sva enable/disable paths + - iommu/vt-d: Allow to use flush-queue when first level is default + - IB/hfi1: Fix math bugs in hfi1_can_pin_pages() + - IB/hfi1: Fix sdma.h tx->num_descs off-by-one errors + - remoteproc: qcom_q6v5_mss: Use a carveout to authenticate modem headers + - media: ti: cal: fix possible memory leak in cal_ctx_create() + - media: platform: ti: Add missing check for devm_regulator_get + - powerpc: Remove linker flag from KBUILD_AFLAGS + - s390/vdso: Drop '-shared' from KBUILD_CFLAGS_64 + - builddeb: clean generated package content + - media: max9286: Fix memleak in max9286_v4l2_register() + - media: ov2740: Fix memleak in ov2740_init_controls() + - media: ov5675: Fix memleak in ov5675_init_controls() + - media: i2c: ov772x: Fix memleak in ov772x_probe() + - media: i2c: imx219: Split common registers from mode tables + - media: i2c: imx219: Fix binning for RAW8 capture + - media: v4l2-jpeg: correct the skip count in jpeg_parse_app14_data + - media: v4l2-jpeg: ignore the unknown APP14 marker + - media: imx-jpeg: Apply clk_bulk api instead of operating specific clk + - media: i2c: ov7670: 0 instead of -EINVAL was returned + - media: usb: siano: Fix use after free bugs caused by do_submit_urb + - media: saa7134: Use video_unregister_device for radio_dev + - rpmsg: glink: Avoid infinite loop on intent for missing channel + - udf: Define EFSCORRUPTED error code + - ARM: dts: exynos: Use Exynos5420 compatible for the MIPI video phy + - blk-iocost: fix divide by 0 error in calc_lcoefs() + - trace/blktrace: fix memory leak with using debugfs_lookup() + - wifi: ath9k: Fix use-after-free in ath9k_hif_usb_disconnect() + - wifi: brcmfmac: Fix potential stack-out-of-bounds in brcmf_c_preinit_dcmds() + - rcu: Make RCU_LOCKDEP_WARN() avoid early lockdep checks + - rcu: Suppress smp_processor_id() complaint in + synchronize_rcu_expedited_wait() + - rcu-tasks: Make rude RCU-Tasks work well with CPU hotplug + - wifi: ath11k: debugfs: fix to work with multiple PCI devices + - thermal: intel: Fix unsigned comparison with less than zero + - timers: Prevent union confusion from unexpected restart_syscall() + - x86/bugs: Reset speculation control settings on init + - wifi: brcmfmac: ensure CLM version is null-terminated to prevent stack-out- + of-bounds + - wifi: mt7601u: fix an integer underflow + - inet: fix fast path in __inet_hash_connect() + - ice: restrict PTP HW clock freq adjustments to 100, 000, 000 PPB + - ice: add missing checks for PF vsi type + - ACPI: Don't build ACPICA with '-Os' + - thermal: intel: intel_pch: Add support for Wellsburg PCH + - clocksource: Suspend the watchdog temporarily when high read latency + detected + - crypto: hisilicon: Wipe entire pool on error + - net: bcmgenet: Add a check for oversized packets + - m68k: Check syscall_trace_enter() return code + - netfilter: nf_tables: NULL pointer dereference in nf_tables_updobj() + - tools/power/x86/intel-speed-select: Add Emerald Rapid quirk + - wifi: mt76: dma: free rx_head in mt76_dma_rx_cleanup + - ACPI: video: Fix Lenovo Ideapad Z570 DMI match + - net/mlx5: fw_tracer: Fix debug print + - coda: Avoid partial allocation of sig_inputArgs + - uaccess: Add minimum bounds check on kernel buffer size + - s390/idle: mark arch_cpu_idle() noinstr + - time/debug: Fix memory leak with using debugfs_lookup() + - PM: domains: fix memory leak with using debugfs_lookup() + - PM: EM: fix memory leak with using debugfs_lookup() + - Bluetooth: btusb: Add VID:PID 13d3:3529 for Realtek RTL8821CE + - hv_netvsc: Check status in SEND_RNDIS_PKT completion message + - scm: add user copy checks to put_cmsg() + - drm/amd/display: Revert Reduce delay when sink device not able to ACK 00340h + write + - drm/amd/display: Fix potential null-deref in dm_resume + - drm/omap: dsi: Fix excessive stack usage + - HID: Add Mapping for System Microphone Mute + - drm/tiny: ili9486: Do not assume 8-bit only SPI controllers + - drm/radeon: free iio for atombios when driver shutdown + - scsi: lpfc: Fix use-after-free KFENCE violation during sysfs firmware write + - Revert "fbcon: don't lose the console font across generic->chip driver + switch" + - drm: amd: display: Fix memory leakage + - drm/msm/dsi: Add missing check for alloc_ordered_workqueue + - docs/scripts/gdb: add necessary make scripts_gdb step + - ASoC: soc-compress: Reposition and add pcm_mutex + - ASoC: kirkwood: Iterate over array indexes instead of using pointer math + - regulator: max77802: Bounds check regulator id against opmode + - regulator: s5m8767: Bounds check id indexing into arrays + - gfs2: Improve gfs2_make_fs_rw error handling + - hwmon: (coretemp) Simplify platform device handling + - pinctrl: at91: use devm_kasprintf() to avoid potential leaks + - scsi: snic: Fix memory leak with using debugfs_lookup() + - HID: logitech-hidpp: Don't restart communication if not necessary + - drm: panel-orientation-quirks: Add quirk for Lenovo IdeaPad Duet 3 10IGL5 + - dm thin: add cond_resched() to various workqueue loops + - dm cache: add cond_resched() to various workqueue loops + - nfsd: zero out pointers after putting nfsd_files on COPY setup error + - drm/shmem-helper: Revert accidental non-GPL export + - wifi: rtl8xxxu: fixing transmisison failure for rtl8192eu + - firmware: coreboot: framebuffer: Ignore reserved pixel color bits + - block: don't allow multiple bios for IOCB_NOWAIT issue + - rtc: pm8xxx: fix set-alarm race + - ipmi:ssif: resend_msg() cannot fail + - ipmi_ssif: Rename idle state and check + - s390/extmem: return correct segment type in __segment_load() + - s390: discard .interp section + - s390/kprobes: fix irq mask clobbering on kprobe reenter from post_handler + - s390/kprobes: fix current_kprobe never cleared after kprobes reenter + - cifs: Fix uninitialized memory read in smb3_qfs_tcon() + - btrfs: hold block group refcount during async discard + - locking/rwsem: Prevent non-first waiter from spinning in down_write() + slowpath + - ksmbd: fix wrong data area length for smb2 lock request + - ksmbd: do not allow the actual frame length to be smaller than the rfc1002 + length + - ARM: dts: exynos: correct HDMI phy compatible in Exynos4 + - hfs: fix missing hfs_bnode_get() in __hfs_bnode_create + - fs: hfsplus: fix UAF issue in hfsplus_put_super + - exfat: fix reporting fs error when reading dir beyond EOF + - exfat: fix unexpected EOF while reading dir + - exfat: redefine DIR_DELETED as the bad cluster number + - exfat: fix inode->i_blocks for non-512 byte sector size device + - fs: dlm: don't set stop rx flag after node reset + - fs: dlm: move sending fin message into state change handling + - fs: dlm: send FIN ack back in right cases + - f2fs: fix information leak in f2fs_move_inline_dirents() + - f2fs: fix cgroup writeback accounting with fs-layer encryption + - ocfs2: fix defrag path triggering jbd2 ASSERT + - ocfs2: fix non-auto defrag path not working issue + - selftests/landlock: Skip overlayfs tests when not supported + - selftests/landlock: Test ptrace as much as possible with Yama + - udf: Truncate added extents on failed expansion + - udf: Do not bother merging very long extents + - udf: Do not update file length for failed writes to inline files + - udf: Preserve link count of system files + - udf: Detect system inodes linked into directory hierarchy + - udf: Fix file corruption when appending just after end of preallocated + extent + - RDMA/siw: Fix user page pinning accounting + - KVM: Destroy target device if coalesced MMIO unregistration fails + - KVM: x86: Inject #GP if WRMSR sets reserved bits in APIC Self-IPI + - KVM: SVM: Fix potential overflow in SEV's send|receive_update_data() + - KVM: SVM: hyper-v: placate modpost section mismatch error + - KVM: s390: disable migration mode when dirty tracking is disabled + - x86/virt: Force GIF=1 prior to disabling SVM (for reboot flows) + - x86/crash: Disable virt in core NMI crash handler to avoid double shootdown + - x86/reboot: Disable virtualization in an emergency if SVM is supported + - x86/reboot: Disable SVM, not just VMX, when stopping CPUs + - x86/kprobes: Fix __recover_optprobed_insn check optimizing logic + - x86/kprobes: Fix arch_check_optimized_kprobe check within optimized_kprobe + range + - x86/microcode/amd: Remove load_microcode_amd()'s bsp parameter + - x86/microcode/AMD: Add a @cpu parameter to the reloading functions + - x86/microcode/AMD: Fix mixed steppings support + - x86/speculation: Allow enabling STIBP with legacy IBRS + - Documentation/hw-vuln: Document the interaction between IBRS and STIBP + - brd: return 0/-error from brd_insert_page() + - ima: Align ima_file_mmap() parameters with mmap_file LSM hook + - irqdomain: Fix association race + - irqdomain: Fix disassociation race + - irqdomain: Look for existing mapping only once + - irqdomain: Drop bogus fwspec-mapping error handling + - irqdomain: Fix domain registration race + - crypto: qat - fix out-of-bounds read + - io_uring: handle TIF_NOTIFY_RESUME when checking for task_work + - io_uring: mark task TASK_RUNNING before handling resume/task work + - io_uring: add a conditional reschedule to the IOPOLL cancelation loop + - io_uring/rsrc: disallow multi-source reg buffers + - io_uring: remove MSG_NOSIGNAL from recvmsg + - io_uring/poll: allow some retries for poll triggering spuriously + - ALSA: ice1712: Do not left ice->gpio_mutex locked in aureon_add_controls() + - ALSA: hda/realtek: Add quirk for HP EliteDesk 800 G6 Tower PC + - jbd2: fix data missing when reusing bh which is ready to be checkpointed + - ext4: optimize ea_inode block expansion + - ext4: refuse to create ea block when umounted + - mtd: spi-nor: sfdp: Fix index value for SCCR dwords + - mtd: spi-nor: spansion: Consider reserved bits in CFR5 register + - mtd: spi-nor: Fix shift-out-of-bounds in spi_nor_set_erase_type + - dm: send just one event on resize, not two + - dm: add cond_resched() to dm_wq_work() + - wifi: rtl8xxxu: Use a longer retry limit of 48 + - wifi: ath11k: allow system suspend to survive ath11k + - wifi: cfg80211: Fix use after free for wext + - qede: fix interrupt coalescing configuration + - thermal: intel: powerclamp: Fix cur_state for multi package system + - dm flakey: fix logic when corrupting a bio + - dm flakey: don't corrupt the zero page + - dm flakey: fix a bug with 32-bit highmem systems + - ARM: dts: qcom: sdx55: Add Qcom SMMU-500 as the fallback for IOMMU node + - ARM: dts: exynos: correct TMU phandle in Exynos4210 + - ARM: dts: exynos: correct TMU phandle in Exynos4 + - ARM: dts: exynos: correct TMU phandle in Odroid XU3 family + - ARM: dts: exynos: correct TMU phandle in Exynos5250 + - ARM: dts: exynos: correct TMU phandle in Odroid XU + - ARM: dts: exynos: correct TMU phandle in Odroid HC1 + - fuse: add inode/permission checks to fileattr_get/fileattr_set + - rbd: avoid use-after-free in do_rbd_add() when rbd_dev_create() fails + - ceph: update the time stamps and try to drop the suid/sgid + - alpha: fix FEN fault handling + - dax/kmem: Fix leak of memory-hotplug resources + - mips: fix syscall_get_nr + - media: ipu3-cio2: Fix PM runtime usage_count in driver unbind + - remoteproc/mtk_scp: Move clk ops outside send_lock + - docs: gdbmacros: print newest record + - mm: memcontrol: deprecate charge moving + - mm/thp: check and bail out if page in deferred queue already + - ktest.pl: Give back console on Ctrt^C on monitor + - ktest.pl: Fix missing "end_monitor" when machine check fails + - ktest.pl: Add RUN_TIMEOUT option with default unlimited + - ring-buffer: Handle race between rb_move_tail and rb_check_pages + - tools/bootconfig: fix single & used for logical condition + - scsi: qla2xxx: Fix link failure in NPIV environment + - scsi: qla2xxx: Check if port is online before sending ELS + - scsi: qla2xxx: Fix DMA-API call trace on NVMe LS requests + - scsi: qla2xxx: Remove unintended flag clearing + - scsi: qla2xxx: Fix erroneous link down + - scsi: qla2xxx: Remove increment of interface err cnt + - scsi: ses: Don't attach if enclosure has no components + - scsi: ses: Fix slab-out-of-bounds in ses_enclosure_data_process() + - scsi: ses: Fix possible addl_desc_ptr out-of-bounds accesses + - scsi: ses: Fix possible desc_ptr out-of-bounds accesses + - scsi: ses: Fix slab-out-of-bounds in ses_intf_remove() + - RISC-V: add a spin_shadow_stack declaration + - riscv: mm: fix regression due to update_mmu_cache change + - riscv: jump_label: Fixup unaligned arch_static_branch function + - riscv, mm: Perform BPF exhandler fixup on page fault + - riscv: ftrace: Remove wasted nops for !RISCV_ISA_C + - riscv: ftrace: Reduce the detour code size to half + - MIPS: DTS: CI20: fix otg power gpio + - PCI/PM: Observe reset delay irrespective of bridge_d3 + - PCI: hotplug: Allow marking devices as disconnected during bind/unbind + - PCI: Avoid FLR for AMD FCH AHCI adapters + - iommu/vt-d: Avoid superfluous IOTLB tracking in lazy mode + - vfio/type1: prevent underflow of locked_vm via exec() + - vfio/type1: track locked_vm per dma + - vfio/type1: restore locked_vm + - drm/i915/quirks: Add inverted backlight quirk for HP 14-r206nv + - drm/radeon: Fix eDP for single-display iMac11,2 + - drm/edid: fix AVI infoframe aspect ratio handling + - qede: avoid uninitialized entries in coal_entry array + - arm64: dts: qcom: ipq8074: fix Gen2 PCIe QMP PHY + - wifi: ath9k: use proper statements in conditionals + - kbuild: Port silent mode detection to future gnu make. + - arm64: dts: qcom: sm6350: Fix up the ramoops node + - arm64: dts: mediatek: mt8192: Fix systimer 13 MHz clock description + - arm64: dts: mediatek: mt8195: Fix systimer 13 MHz clock description + - x86/acpi/boot: Do not register processors that cannot be onlined for x2APIC + - arm64: dts: meson-gxl: jethub-j80: Fix WiFi MAC address node + - arm64: dts: meson-gxl: jethub-j80: Fix Bluetooth MAC node name + - arm64: tegra: Fix duplicate regulator on Jetson TX1 + - arm64: dts: mediatek: mt8192: Mark scp_adsp clock as broken + - arm64: dts: meson: radxa-zero: allow usb otg mode + - arm64: dts: mt8195: Fix CPU map for single-cluster SoC + - arm64: dts: mediatek: mt7986: Fix watchdog compatible + - ARM: dts: stm32: Update part number NVMEM description on stm32mp131 + - blk-mq: wait on correct sbitmap_queue in blk_mq_mark_tag_wait + - blk-mq: Fix potential io hung for shared sbitmap per tagset + - arm64: dts: qcom: sm8350: drop incorrect cells from serial + - arm64: dts: qcom: msm8953: correct TLMM gpio-ranges + - block: Fix io statistics for cgroup in throttle path + - wifi: mt76: mt7915: add missing of_node_put() + - wifi: mt76: mt7921s: fix slab-out-of-bounds access in sdio host + - wifi: mt76: mt7915: check return value before accessing free_block_num + - wifi: mt76: mt7915: drop always true condition of __mt7915_reg_addr() + - wifi: mt76: mt7915: fix unintended sign extension of mt7915_hw_queue_read() + - wifi: rtw89: 8852c: rfk: correct DACK setting + - wifi: rtw89: 8852c: rfk: correct DPK settings + - wifi: wilc1000: add missing unregister_netdev() in wilc_netdev_ifc_init() + - libbpf: Fix invalid return address register in s390 + - kselftest/arm64: Fix syscall-abi for systems without 128 bit SME + - workqueue: Protects wq_unbound_cpumask with wq_pool_attach_mutex + - s390/early: fix sclp_early_sccb variable lifetime + - s390/vfio-ap: fix an error handling path in vfio_ap_mdev_probe_queue() + - x86/signal: Fix the value returned by strict_sas_size() + - wifi: rtw89: fix potential leak in rtw89_append_probe_req_ie() + - wifi: rtw89: Add missing check for alloc_workqueue + - s390/bpf: Add expoline to tail calls + - wifi: iwlwifi: mei: fix compilation errors in rfkill() + - kselftest/arm64: Fix enumeration of systems without 128 bit SME + - can: rcar_canfd: Fix R-Car V3U GAFLCFG field accesses + - wifi: mt76: mt7915: call mt7915_mcu_set_thermal_throttling() only after + init_work + - wifi: mt76: mt7915: fix memory leak in mt7915_mcu_exit + - wifi: mt76: add memory barrier to SDIO queue kick + - cpufreq: davinci: Fix clk use after free + - net: ipa: generic command param fix + - crypto: octeontx2 - Fix objects shared between several modules + - tools/lib/thermal: Fix thermal_sampling_exit() + - selftests/bpf: Fix map_kptr test. + - net/smc: fix potential panic dues to unprotected smc_llc_srv_add_link() + - net: lan966x: Fix possible deadlock inside PTP + - net/mlx4_en: Introduce flexible array to silence overflow warning + - drm/msm/dpu: check for null return of devm_kzalloc() in dpu_writeback_init() + - drm/vc4: hvs: SCALER_DISPBKGND_AUTOHS is only valid on HVS4 + - scsi: qla2xxx: edif: Fix clang warning + - scsi: ufs: exynos: Fix DMA alignment for PAGE_SIZE != 4096 + - habanalabs: bugs fixes in timestamps buff alloc + - dt-bindings: display: mediatek: Fix the fallback for mediatek,mt8186-disp- + ccorr + - ASoC: topology: Properly access value coming from topology file + - regmap: apply reg_base and reg_downshift for single register ops + - hwmon: (asus-ec-sensors) add missing mutex path + - [Config] updateconfigs for SND_HDA_CTL_DEV_ID + - ALSA: hda: Fix the control element identification for multiple codecs + - ASoC: qcom: q6apm-lpass-dai: unprepare stream if its already prepared + - ASoC: qcom: q6apm-dai: fix race condition while updating the position + pointer + - ASoC: qcom: q6apm-dai: Add SNDRV_PCM_INFO_BATCH flag + - nfsd: fix courtesy client with deny mode handling in nfs4_upgrade_open + - NFSD: copy the whole verifier in nfsd_copy_write_verifier + - cifs: use tcon allocation functions even for dummy tcon + - tools/tracing/rtla: osnoise_hist: use total duration for average calculation + - perf test bpf: Skip test if kernel-debuginfo is not present + - perf record: Fix segfault with --overwrite and --max-size + - RDMA/hns: Fix refcount leak in hns_roce_mmap + - mei: pxp: Use correct macros to initialize uuid_le + - misc: fastrpc: Fix an error handling path in fastrpc_rpmsg_probe() + - driver core: location: Free struct acpi_pld_info *pld before return false + - PCI: mt7621: Delay phy ports initialization + - driver core: fw_devlink: Add DL_FLAG_CYCLE support to device links + - mtd: mtdpart: Don't create platform device that'll never probe + - usb: host: fsl-mph-dr-of: reuse device_set_of_node_from_dev + - PCI: Fix dropping valid root bus resources with .end = zero + - dmaengine: ptdma: check for null desc before calling pt_cmd_callback + - RDMA/rxe: Fix missing memory barriers in rxe_queue.h + - media: imx: imx7-media-csi: fix missing clk_disable_unprepare() in + imx7_csi_init() + - media: camss: csiphy-3ph: avoid undefined behavior + - media: drivers/media/v4l2-core/v4l2-h264 : add detection of null pointers + - rpmsg: glink: Release driver_override + - block: clear bio->bi_bdev when putting a bio back in the cache + - block: be a bit more careful in checking for NULL bdev while polling + - ipmi: ipmb: Fix the MODULE_PARM_DESC associated to 'retry_time_ms' + - io_uring: Replace 0-length array with flexible array + - io_uring: fix fget leak when fs don't support nowait buffered read + - scsi: mpi3mr: Fix missing mrioc->evtack_cmds initialization + - scsi: mpi3mr: Fix issues in mpi3mr_get_all_tgt_info() + - scsi: mpi3mr: Remove unnecessary memcpy() to alltgt_info->dmi + - ksmbd: fix possible memory leak in smb2_lock() + - f2fs: fix kernel crash due to null io->bio + - KVM: VMX: Fix crash due to uninitialized current_vmcs + - KVM: x86: Purge "highest ISR" cache when updating APICv state + - KVM: x86: Don't inhibit APICv/AVIC on xAPIC ID "change" if APIC is disabled + - KVM: x86: Don't inhibit APICv/AVIC if xAPIC ID mismatch is due to 32-bit ID + - KVM: SVM: Process ICR on AVIC IPI delivery failure due to invalid target + - virt/sev-guest: Return -EIO if certificate buffer is not large enough + - ima: fix error handling logic when file measurement failed + - irqdomain: Refactor __irq_domain_alloc_irqs() + - irqdomain: Fix mapping-creation race + - mm/damon/paddr: fix missing folio_put() + - cxl/pmem: Fix nvdimm registration races + - cpuidle: add ARCH_SUSPEND_POSSIBLE dependencies + - hwmon: (peci/cputemp) Fix off-by-one in coretemp_label allocation + - hwmon: (nct6775) Fix incorrect parenthesization in nct6775_write_fan_div() + - ARM: dts: qcom: sdx65: Add Qcom SMMU-500 as the fallback for IOMMU node + - [Config] updateconfigs for HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON + - arm64: mm: hugetlb: Disable HUGETLB_PAGE_OPTIMIZE_VMEMMAP + - panic: fix the panic_print NMI backtrace setting + - kprobes: Fix to handle forcibly unoptimized kprobes on freeing_list + - scsi: aacraid: Allocate cmd_priv with scsicmd + - riscv: Avoid enabling interrupts in die() + - PCI: Unify delay handling for reset and resume + - bus: mhi: ep: Only send -ENOTCONN status if client driver is available + - bus: mhi: ep: Move chan->lock to the start of processing queued ch ring + - bus: mhi: ep: Save channel state locally during suspend and resume + - iommu/vt-d: Fix PASID directory pointer coherency + - vfio/type1: exclude mdevs from VFIO_UPDATE_VADDR + - drm/i915: Don't use stolen memory for ring buffers with LLC + - drm/i915: Don't use BAR mappings for ring buffers with LLC + * CVE-2022-4269 + - act_mirred: use the backlog for nested calls to mirred ingress + - net/sched: act_mirred: better wording on protection against excessive stack + growth + * CVE-2023-30456 + - KVM: nVMX: add missing consistency checks for CR0 and CR4 + * CVE-2023-1859 + - 9p/xen : Fix use after free bug in xen_9pfs_front_remove due to race + condition + * CVE-2023-1670 + - xirc2ps_cs: Fix use after free bug in xirc2ps_detach + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + -- Khalid Elmously Mon, 05 Jun 2023 00:45:55 -0400 + +linux-gcp (5.19.0-1025.27) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1025.27 -proposed tracker (LP: #2019595) + + [ Ubuntu: 5.19.0-43.44 ] + + * kinetic/linux: 5.19.0-43.44 -proposed tracker (LP: #2019606) + * CVE-2023-32233 + - netfilter: nf_tables: deactivate anonymous set from preparation phase + * CVE-2023-2612 + - SAUCE: shiftfs: prevent lock unbalance in shiftfs_create_object() + * CVE-2023-31436 + - net: sched: sch_qfq: prevent slab-out-of-bounds in qfq_activate_agg + * CVE-2023-1380 + - wifi: brcmfmac: slab-out-of-bounds read in brcmf_get_assoc_ies() + * CVE-2023-30456 + - KVM: nVMX: add missing consistency checks for CR0 and CR4 + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + -- Thadeu Lima de Souza Cascardo Tue, 23 May 2023 10:10:56 -0300 + +linux-gcp (5.19.0-1024.26) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1024.26 -proposed tracker (LP: #2016490) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * Fix (+follow-up) needed for SEV-SNP vulnerability (LP: #2013198) + - virt/coco/sev-guest: Add throttling awareness + + * Miscellaneous Ubuntu changes + - [config] Set SEV_GUEST back to =y + + [ Ubuntu: 5.19.0-42.43 ] + + * kinetic/linux: 5.19.0-42.43 -proposed tracker (LP: #2016503) + * selftest: fib_tests: Always cleanup before exit (LP: #2015956) + - selftest: fib_tests: Always cleanup before exit + * Debian autoreconstruct Fix restoration of execute permissions (LP: #2015498) + - [Debian] autoreconstruct - fix restoration of execute permissions + * Kinetic update: upstream stable patchset 2023-04-10 (LP: #2015812) + - drm/etnaviv: don't truncate physical page address + - wifi: rtl8xxxu: gen2: Turn on the rate control + - drm/edid: Fix minimum bpc supported with DSC1.2 for HDMI sink + - clk: mxl: Switch from direct readl/writel based IO to regmap based IO + - clk: mxl: Remove redundant spinlocks + - clk: mxl: Add option to override gate clks + - clk: mxl: Fix a clk entry by adding relevant flags + - powerpc: dts: t208x: Mark MAC1 and MAC2 as 10G + - clk: mxl: syscon_node_to_regmap() returns error pointers + - random: always mix cycle counter in add_latent_entropy() + - KVM: x86: Fail emulation during EMULTYPE_SKIP on any exception + - KVM: SVM: Skip WRMSR fastpath on VM-Exit if next RIP isn't valid + - can: kvaser_usb: hydra: help gcc-13 to figure out cmd_len + - powerpc: dts: t208x: Disable 10G on MAC1 and MAC2 + - powerpc/vmlinux.lds: Ensure STRICT_ALIGN_SIZE is at least page aligned + - powerpc/64s/radix: Fix RWX mapping with relocated kernel + - uaccess: Add speculation barrier to copy_from_user() + - wifi: mwifiex: Add missing compatible string for SD8787 + - audit: update the mailing list in MAINTAINERS + - ext4: Fix function prototype mismatch for ext4_feat_ktype + - Revert "net/sched: taprio: make qdisc_leaf() see the per-netdev-queue pfifo + child qdiscs" + - bpf: add missing header file include + - wifi: ath11k: fix warning in dma_free_coherent() of memory chunks while + recovery + - sched/psi: Stop relying on timer_pending() for poll_work rescheduling + - docs: perf: Fix PMU instance name of hisi-pcie-pmu + - randstruct: disable Clang 15 support + - ionic: refactor use of ionic_rx_fill() + - Fix XFRM-I support for nested ESP tunnels + - arm64: dts: rockchip: drop unused LED mode property from rk3328-roc-cc + - ARM: dts: rockchip: add power-domains property to dp node on rk3288 + - HID: elecom: add support for TrackBall 056E:011C + - ACPI: NFIT: fix a potential deadlock during NFIT teardown + - btrfs: send: limit number of clones and allocated memory size + - ASoC: rt715-sdca: fix clock stop prepare timeout issue + - IB/hfi1: Assign npages earlier + - neigh: make sure used and confirmed times are valid + - HID: core: Fix deadloop in hid_apply_multiplier. + - x86/cpu: Add Lunar Lake M + - bpf: bpf_fib_lookup should not return neigh in NUD_FAILED state + - net: Remove WARN_ON_ONCE(sk->sk_forward_alloc) from sk_stream_kill_queues(). + - vc_screen: don't clobber return value in vcs_read + - scripts/tags.sh: fix incompatibility with PCRE2 + - usb: dwc3: pci: add support for the Intel Meteor Lake-M + - USB: serial: option: add support for VW/Skoda "Carstick LTE" + - usb: gadget: u_serial: Add null pointer check in gserial_resume + - USB: core: Don't hold device lock while reading the "descriptors" sysfs file + * Kinetic update: upstream stable patchset 2023-04-06 (LP: #2015511) + - ARM: dts: imx: Fix pca9547 i2c-mux node name + - ARM: dts: vf610: Fix pca9548 i2c-mux node names + - arm64: dts: freescale: Fix pca954x i2c-mux node names + - arm64: dts: imx8mq-thor96: fix no-mmc property for SDHCI + - firmware: arm_scmi: Clear stale xfer->hdr.status + - bpf: Skip task with pid=1 in send_signal_common() + - erofs/zmap.c: Fix incorrect offset calculation + - blk-cgroup: fix missing pd_online_fn() while activating policy + - HID: playstation: sanity check DualSense calibration data. + - dmaengine: imx-sdma: Fix a possible memory leak in sdma_transfer_init + - cifs: fix return of uninitialized rc in dfs_cache_update_tgthint() + - extcon: usbc-tusb320: fix kernel-doc warning + - net: fix NULL pointer in skb_segment_list + - net: mctp: purge receive queues on sk destruction + - firewire: fix memory leak for payload of request subaction to IEC 61883-1 + FCP region + - bus: sunxi-rsb: Fix error handling in sunxi_rsb_init() + - ASoC: Intel: bytcht_es8316: Drop reference count of ACPI device after use + - ASoC: Intel: bytcr_rt5651: Drop reference count of ACPI device after use + - ASoC: Intel: bytcr_rt5640: Drop reference count of ACPI device after use + - ASoC: Intel: bytcr_wm5102: Drop reference count of ACPI device after use + - bpf: Fix a possible task gone issue with bpf_send_signal[_thread]() helpers + - ALSA: hda/via: Avoid potential array out-of-bound in add_secret_dac_path() + - bpf: Fix to preserve reg parent/live fields when copying range info + - bpf, sockmap: Check for any of tcp_bpf_prots when cloning a listener + - arm64: dts: imx8mm: Fix pad control for UART1_DTE_RX + - drm/vc4: hdmi: make CEC adapter name unique + - scsi: Revert "scsi: core: map PQ=1, PDT=other values to + SCSI_SCAN_TARGET_PRESENT" + - vhost/net: Clear the pending messages when the backend is removed + - WRITE is "data source", not destination... + - READ is "data destination", not source... + - fix iov_iter_bvec() "direction" argument + - fix "direction" argument of iov_iter_kvec() + - ice: Prevent set_channel from changing queues while RDMA active + - qede: execute xdp_do_flush() before napi_complete_done() + - virtio-net: execute xdp_do_flush() before napi_complete_done() + - dpaa_eth: execute xdp_do_flush() before napi_complete_done() + - dpaa2-eth: execute xdp_do_flush() before napi_complete_done() + - sfc: correctly advertise tunneled IPv6 segmentation + - net: phy: dp83822: Fix null pointer access on DP83825/DP83826 devices + - block, bfq: replace 0/1 with false/true in bic apis + - block, bfq: fix uaf for bfqq in bic_set_bfqq() + - netrom: Fix use-after-free caused by accept on already connected socket + - drm/i915/guc: Fix locking when searching for a hung request + - drm/i915/adlp: Fix typo for reference clock + - netfilter: br_netfilter: disable sabotage_in hook after first suppression + - squashfs: harden sanity check in squashfs_read_xattr_id_table + - net: phy: meson-gxl: Add generic dummy stubs for MMD register access + - ip/ip6_gre: Fix changing addr gen mode not generating IPv6 link local + address + - ip/ip6_gre: Fix non-point-to-point tunnel not generating IPv6 link local + address + - riscv: kprobe: Fixup kernel panic when probing an illegal position + - igc: return an error if the mac type is unknown in + igc_ptp_systim_to_hwtstamp() + - can: j1939: fix errant WARN_ON_ONCE in j1939_session_deactivate + - ata: libata: Fix sata_down_spd_limit() when no link speed is reported + - selftests: net: udpgso_bench_rx: Fix 'used uninitialized' compiler warning + - selftests: net: udpgso_bench_rx/tx: Stop when wrong CLI args are provided + - selftests: net: udpgso_bench_tx: Cater for pending datagrams zerocopy + benchmarking + - virtio-net: Keep stop() to follow mirror sequence of open() + - net: openvswitch: fix flow memory leak in ovs_flow_cmd_new + - efi: fix potential NULL deref in efi_mem_reserve_persistent + - i2c: designware-pci: Add new PCI IDs for AMD NAVI GPU + - i2c: mxs: suppress probe-deferral error message + - scsi: target: core: Fix warning on RT kernels + - perf/x86/intel: Add Emerald Rapids + - scsi: iscsi_tcp: Fix UAF during logout when accessing the shost ipaddress + - scsi: iscsi_tcp: Fix UAF during login when accessing the shost ipaddress + - i2c: rk3x: fix a bunch of kernel-doc warnings + - platform/x86: gigabyte-wmi: add support for B450M DS3H WIFI-CF + - net/x25: Fix to not accept on connected socket + - drm/amd/display: Fix timing not changning when freesync video is enabled + - iio: adc: stm32-dfsdm: fill module aliases + - usb: dwc3: qcom: enable vbus override when in OTG dr-mode + - usb: gadget: f_fs: Fix unbalanced spinlock in __ffs_ep0_queue_wait + - vc_screen: move load of struct vc_data pointer in vcs_read() to avoid UAF + - fbcon: Check font dimension limits + - net: qrtr: free memory on error path in radix_tree_insert() + - watchdog: diag288_wdt: do not use stack buffers for hardware data + - watchdog: diag288_wdt: fix __diag288() inline assembly + - ALSA: hda/realtek: Add Acer Predator PH315-54 + - efi: Accept version 2 of memory attributes table + - iio: hid: fix the retval in accel_3d_capture_sample + - iio: hid: fix the retval in gyro_3d_capture_sample + - iio: adc: berlin2-adc: Add missing of_node_put() in error path + - iio:adc:twl6030: Enable measurements of VUSB, VBAT and others + - iio: imu: fxos8700: fix ACCEL measurement range selection + - iio: imu: fxos8700: fix incomplete ACCEL and MAGN channels readback + - iio: imu: fxos8700: fix IMU data bits returned to user space + - iio: imu: fxos8700: fix map label of channel type to MAGN sensor + - iio: imu: fxos8700: fix swapped ACCEL and MAGN channels readback + - iio: imu: fxos8700: fix incorrect ODR mode readback + - iio: imu: fxos8700: fix failed initialization ODR mode assignment + - iio: imu: fxos8700: remove definition FXOS8700_CTRL_ODR_MIN + - iio: imu: fxos8700: fix MAGN sensor scale and unit + - nvmem: qcom-spmi-sdam: fix module autoloading + - parisc: Fix return code of pdc_iodc_print() + - parisc: Wire up PTRACE_GETREGS/PTRACE_SETREGS for compat case + - riscv: disable generation of unwind tables + - mm: hugetlb: proc: check for hugetlb shared PMD in /proc/PID/smaps + - usb: gadget: f_uac2: Fix incorrect increment of bNumEndpoints + - kernel/irq/irqdomain.c: fix memory leak with using debugfs_lookup() + - x86/debug: Fix stack recursion caused by wrongly ordered DR7 accesses + - fpga: stratix10-soc: Fix return value check in s10_ops_write_init() + - mm/swapfile: add cond_resched() in get_swap_pages() + - highmem: round down the address passed to kunmap_flush_on_unmap() + - Squashfs: fix handling and sanity checking of xattr_ids count + - drm/i915: Fix potential bit_17 double-free + - nvmem: core: initialise nvmem->id early + - nvmem: core: remove nvmem_config wp_gpio + - nvmem: core: fix cell removal on error + - serial: 8250_dma: Fix DMA Rx completion race + - serial: 8250_dma: Fix DMA Rx rearm race + - phy: qcom-qmp-combo: fix memleak on probe deferral + - phy: qcom-qmp-usb: fix memleak on probe deferral + - phy: qcom-qmp-combo: fix broken power on + - phy: qcom-qmp-combo: fix runtime suspend + - iio:adc:twl6030: Enable measurement of VAC + - powerpc/imc-pmu: Revert nest_init_lock to being a mutex + - fs/ntfs3: Validate attribute data and valid sizes + - ovl: Use "buf" flexible array for memcpy() destination + - fbdev: smscufx: fix error handling code in ufx_usb_probe + - f2fs: fix to do sanity check on i_extra_isize in is_alive() + - wifi: brcmfmac: Check the count value of channel spec to prevent out-of- + bounds reads + - gfs2: Cosmetic gfs2_dinode_{in,out} cleanup + - gfs2: Always check inode size of inline inodes + - bpf: Skip invalid kfunc call in backtrack_insn + - ASoC: Intel: sof_es8336: Drop reference count of ACPI device after use + - ASoC: Intel: avs: Implement PCI shutdown + - bpf: Add missing btf_put to register_btf_id_dtor_kfuncs + - arm64: dts: imx8mm-verdin: Do not power down eth-phy + - vhost-scsi: unbreak any layout for response + - skb: Do mix page pool and page referenced frags in GRO + - net: wwan: t7xx: Fix Runtime PM initialization + - fscache: Use wait_on_bit() to wait for the freeing of relinquished volume + - drm/i915: Fix request ref counting during error capture & debugfs dump + - drm/i915: Fix up locking around dumping requests lists + - ALSA: firewire-motu: fix unreleased lock warning in hwdep device + - sctp: do not check hb_timer.expires when resetting hb_timer + - can: mcp251xfd: mcp251xfd_ring_set_ringparam(): assign missing + tx_obj_num_coalesce_irq + - rtc: sunplus: fix format string for printing resource + - certs: Fix build error when PKCS#11 URI contains semicolon + - hv_netvsc: Fix missed pagebuf entries in netvsc_dma_map/unmap() + - ARM: dts: imx7d-smegw01: Fix USB host over-current polarity + - can: isotp: split tx timer into transmission and timeout + - can: isotp: handle wait_event_interruptible() return values + - iio: adc: xilinx-ams: fix devm_krealloc() return value check + - iio: imx8qxp-adc: fix irq flood when call imx8qxp_adc_read_raw() + - nvmem: brcm_nvram: Add check for kzalloc + - nvmem: sunxi_sid: Always use 32-bit MMIO reads + - Revert "mm: kmemleak: alloc gray object for reserved region with direct map" + - mm: memcg: fix NULL pointer in mem_cgroup_track_foreign_dirty_slowpath() + - usb: typec: ucsi: Don't attempt to resume the ports before they exist + - usb: gadget: udc: do not clear gadget driver.bus + - mm/uffd: fix pte marker when fork() without fork event + - migrate: hugetlb: check for hugetlb shared PMD in node migration + - drm/i915: Avoid potential vm use-after-free + - nvmem: core: fix device node refcounting + - powerpc/64s/radix: Fix crash with unaligned relocated kernel + - powerpc/64s: Fix local irq disable when PMIs are disabled + - btrfs: limit device extents to the device size + - btrfs: zlib: zero-initialize zlib workspace + - ALSA: hda/realtek: Add Positivo N14KP6-TG + - ALSA: emux: Avoid potential array out-of-bound in snd_emux_xg_control() + - ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book2 Pro 360 + - ALSA: hda/realtek: Enable mute/micmute LEDs on HP Elitebook, 645 G9 + - tracing: Fix poll() and select() do not work on per_cpu trace_pipe and + trace_pipe_raw + - of/address: Return an error when no valid dma-ranges are found + - can: j1939: do not wait 250 ms if the same addr was already claimed + - xfrm: compat: change expression for switch in xfrm_xlate64 + - IB/hfi1: Restore allocated resources on failed copyout + - xfrm/compat: prevent potential spectre v1 gadget in xfrm_xlate32_attr() + - IB/IPoIB: Fix legacy IPoIB due to wrong number of queues + - RDMA/irdma: Fix potential NULL-ptr-dereference + - RDMA/usnic: use iommu_map_atomic() under spin_lock() + - xfrm: fix bug with DSCP copy to v6 from v4 tunnel + - net: phylink: move phy_device_free() to correctly release phy device + - bonding: fix error checking in bond_debug_reregister() + - net: phy: meson-gxl: use MMD access dummy stubs for GXL, internal PHY + - ionic: clean interrupt before enabling queue to avoid credit race + - uapi: add missing ip/ipv6 header dependencies for linux/stddef.h + - ice: Do not use WQ_MEM_RECLAIM flag for workqueue + - net: dsa: mt7530: don't change PVC_EG_TAG when CPU port becomes VLAN-aware + - net: mscc: ocelot: fix VCAP filters not matching on MAC with "protocol + 802.1Q" + - net/mlx5e: Update rx ring hw mtu upon each rx-fcs flag change + - net/mlx5: Bridge, fix ageing of peer FDB entries + - net/mlx5e: IPoIB, Show unknown speed instead of error + - net/mlx5: fw_tracer, Clear load bit when freeing string DBs buffers + - net/mlx5: fw_tracer, Zero consumer index when reloading the tracer + - net/mlx5: Serialize module cleanup with reload and remove + - igc: Add ndo_tx_timeout support + - rds: rds_rm_zerocopy_callback() use list_first_entry() + - selftests: forwarding: lib: quote the sysctl values + - ALSA: pci: lx6464es: fix a debug loop + - riscv: stacktrace: Fix missing the first frame + - ASoC: topology: Return -ENOMEM on memory allocation failure + - pinctrl: mediatek: Fix the drive register definition of some Pins + - pinctrl: aspeed: Fix confusing types in return value + - pinctrl: single: fix potential NULL dereference + - spi: dw: Fix wrong FIFO level setting for long xfers + - pinctrl: intel: Restore the pins that used to be in Direct IRQ mode + - cifs: Fix use-after-free in rdata->read_into_pages() + - net: USB: Fix wrong-direction WARNING in plusb.c + - mptcp: be careful on subflow status propagation on errors + - btrfs: free device in btrfs_close_devices for a single device filesystem + - usb: core: add quirk for Alcor Link AK9563 smartcard reader + - usb: typec: altmodes/displayport: Fix probe pin assign check + - clk: ingenic: jz4760: Update M/N/OD calculation algorithm + - ceph: flush cap releases when the session is flushed + - riscv: Fixup race condition on PG_dcache_clean in flush_icache_pte + - powerpc/64s/interrupt: Fix interrupt exit race with security mitigation + switch + - rtmutex: Ensure that the top waiter is always woken up + - arm64: dts: meson-gx: Make mmc host controller interrupts level-sensitive + - arm64: dts: meson-g12-common: Make mmc host controller interrupts level- + sensitive + - arm64: dts: meson-axg: Make mmc host controller interrupts level-sensitive + - Fix page corruption caused by racy check in __free_pages + - drm/amdgpu/fence: Fix oops due to non-matching drm_sched init/fini + - drm/i915: Initialize the obj flags for shmem objects + - drm/i915: Fix VBT DSI DVO port handling + - x86/speculation: Identify processors vulnerable to SMT RSB predictions + - KVM: x86: Mitigate the cross-thread return address predictions bug + - Documentation/hw-vuln: Add documentation for Cross-Thread Return Predictions + - hv_netvsc: Allocate memory in netvsc_dma_map() with GFP_ATOMIC + - xfrm: annotate data-race around use_time + - of: Make OF framebuffer device names unique + - cpufreq: qcom-hw: Fix cpufreq_driver->get() for non-LMH systems + - net: microchip: sparx5: fix PTP init/deinit not checking all ports + - drm/virtio: exbuf->fence_fd unmodified on interrupted wait + - ice: Fix disabling Rx VLAN filtering with port VLAN enabled + - ice: switch: fix potential memleak in ice_add_adv_recipe() + - net/mlx5e: Fix crash unsetting rx-vlan-filter in switchdev mode + - txhash: fix sk->sk_txrehash default + - selftests: Fix failing VXLAN VNI filtering test + - arm64: dts: rockchip: fix input enable pinconf on rk3399 + - arm64: dts: rockchip: set sdmmc0 speed to sd-uhs-sdr50 on rock-3a + - ASoC: tas5805m: rework to avoid scheduling while atomic. + - ASoC: tas5805m: add missing page switch. + - ASoC: fsl_sai: fix getting version from VERID + - mptcp: do not wait for bare sockets' timeout + - selftests: mptcp: allow more slack for slow test-case + - selftests: mptcp: stop tests earlier + - riscv: kprobe: Fixup misaligned load text + - tracing: Fix TASK_COMM_LEN in trace event format file + - drm/i915: Move fd_install after last use of fence + - mptcp: fix locking for in-kernel listener creation + - ASoC: Intel: sof_rt5682: always set dpcm_capture for amplifiers + - ASoC: Intel: sof_cs42l42: always set dpcm_capture for amplifiers + - selftests/bpf: Verify copy_register_state() preserves parent/live fields + - ALSA: hda: Do not unset preset when cleaning up codec + - bpf, sockmap: Don't let sock_map_{close,destroy,unhash} call itself + - ASoC: cs42l56: fix DT probe + - tools/virtio: fix the vringh test for virtio ring changes + - net/rose: Fix to not accept on connected socket + - net: stmmac: do not stop RX_CLK in Rx LPI state for qcs404 SoC + - drm/nouveau/devinit/tu102-: wait for GFW_BOOT_PROGRESS == COMPLETED + - net: sched: sch: Bounds check priority + - s390/decompressor: specify __decompress() buf len to avoid overflow + - nvme-fc: fix a missing queue put in nvmet_fc_ls_create_association + - drm/amd/display: Properly handle additional cases where DCN is not supported + - platform/x86: touchscreen_dmi: Add Chuwi Vi8 (CWI501) DMI match + - nvmem: core: add error handling for dev_set_name + - nvmem: core: fix cleanup after dev_set_name() + - nvmem: core: fix registration vs use race + - nvmem: core: fix return value + - aio: fix mremap after fork null-deref + - drm/amd/display: Fail atomic_check early on normalize_zpos error + - tcp: Fix listen() regression in 5.15.88. + - mmc: jz4740: Work around bug on JZ4760(B) + - mmc: sdio: fix possible resource leaks in some error paths + - mmc: mmc_spi: fix error handling in mmc_spi_probe() + - ALSA: hda/conexant: add a new hda codec SN6180 + - ALSA: hda/realtek - fixed wrong gpio assigned + - sched/psi: Fix use-after-free in ep_remove_wait_queue() + - hugetlb: check for undefined shift on 32 bit architectures + - of: reserved_mem: Have kmemleak ignore dynamically allocated reserved mem + - net: Fix unwanted sign extension in netdev_stats_to_stats64() + - revert "squashfs: harden sanity check in squashfs_read_xattr_id_table" + - ixgbe: allow to increase MTU to 3K with XDP enabled + - i40e: add double of VLAN header when computing the max MTU + - net: bgmac: fix BCM5358 support by setting correct flags + - net: ethernet: ti: am65-cpsw: Add RX DMA Channel Teardown Quirk + - sctp: sctp_sock_filter(): avoid list_entry() on possibly empty list + - dccp/tcp: Avoid negative sk_forward_alloc by ipv6_pinfo.pktoptions. + - net/usb: kalmia: Don't pass act_len in usb_bulk_msg error path + - net: openvswitch: fix possible memory leak in ovs_meter_cmd_set() + - net: stmmac: fix order of dwmac5 FlexPPS parametrization sequence + - bnxt_en: Fix mqprio and XDP ring checking logic + - net: stmmac: Restrict warning on disabling DMA store and fwd mode + - ixgbe: add double of VLAN header when computing the max MTU + - ipv6: Fix datagram socket connection with DSCP. + - ipv6: Fix tcp socket connection with DSCP. + - nilfs2: fix underflow in second superblock position calculations + - mm/filemap: fix page end in filemap_get_read_batch + - drm/i915/gen11: Wa_1408615072/Wa_1407596294 should be on GT list + - net/sched: act_ctinfo: use percpu stats + - i40e: Add checking for null for nlmsg_find_attr() + - kvm: initialize all of the kvm_debugregs structure before sending it to + userspace + - alarmtimer: Prevent starvation by small intervals and SIG_IGN + - ASoC: SOF: Intel: hda-dai: fix possible stream_tag leak + - net: sched: sch: Fix off by one in htb_activate_prios() + - platform/x86/amd: pmc: add CONFIG_SERIO dependency + - kasan: fix Oops due to missing calls to kasan_arch_is_ready() + - fbdev: Fix invalid page access after closing deferred I/O devices + - drm/vmwgfx: Stop accessing buffer objects which failed init + - drm/vmwgfx: Do not drop the reference to the handle too soon + - gpio: sim: fix a memory leak + - coredump: Move dump_emit_page() to kill unused warning + - drm/vc4: crtc: Increase setup cost in core clock calculation to handle + extreme reduced blanking + - ice: fix lost multicast packets in promisc mode + - ice: xsk: Fix cleaning of XDP_TX frames + - tracing: Make trace_define_field_ext() static + - net: use a bounce buffer for copying skb->mark + - igb: conditionalize I2C bit banging on external thermal sensor support + - igb: Fix PPS input and output using 3rd and 4th SDP + * cm32181 module error blocking suspend (LP: #1988346) // Kinetic update: + upstream stable patchset 2023-04-06 (LP: #2015511) + - iio: light: cm32181: Fix PM support on system with 2 I2C resources + * kernel: fix __clear_user() inline assembly constraints (LP: #2013088) + - s390/uaccess: add missing earlyclobber annotations to __clear_user() + * expoline.o is packaged unconditionally for s390x (LP: #2013209) + - [Packaging] Copy expoline.o only when produced by the build + * Fix selftests/ftracetests/Meta-selftests (LP: #2006453) + - selftests/ftrace: Fix bash specific "==" operator + * No HDMI audio under 5.19.0-35 & -37 (regression from -32) (LP: #2009136) + - ALSA: memalloc: Try dma_alloc_noncontiguous() at first + - ALSA: memalloc: Drop special handling of GFP for CONTINUOUS allocation + - ALSA: vx: Drop superfluous GFP setup + - ALSA: pdaudiocf: Drop superfluous GFP setup + - ASoC: Intel: sst: Switch to standard device pages + - ALSA: memalloc: Workaround for Xen PV + * Intel E810 NICs driver in causing hangs when booting and bonds configured + (LP: #2004262) + - ice: avoid bonding causing auxiliary plug/unplug under RTNL lock + * Kinetic update: upstream stable patchset 2023-04-04 (LP: #2015288) + - memory: tegra: Remove clients SID override programming + - memory: atmel-sdramc: Fix missing clk_disable_unprepare in + atmel_ramc_probe() + - memory: mvebu-devbus: Fix missing clk_disable_unprepare in + mvebu_devbus_probe() + - dmaengine: ti: k3-udma: Do conditional decrement of + UDMA_CHAN_RT_PEER_BCNT_REG + - arm64: dts: imx8mp-phycore-som: Remove invalid PMIC property + - ARM: dts: imx6ul-pico-dwarf: Use 'clock-frequency' + - ARM: dts: imx7d-pico: Use 'clock-frequency' + - ARM: dts: imx6qdl-gw560x: Remove incorrect 'uart-has-rtscts' + - arm64: dts: imx8mm-beacon: Fix ecspi2 pinmux + - ARM: imx: add missing of_node_put() + - HID: intel_ish-hid: Add check for ishtp_dma_tx_map + - arm64: dts: imx8mm-venice-gw7901: fix USB2 controller OC polarity + - soc: imx8m: Fix incorrect check for of_clk_get_by_name() + - reset: uniphier-glue: Fix possible null-ptr-deref + - EDAC/highbank: Fix memory leak in highbank_mc_probe() + - firmware: arm_scmi: Harden shared memory access in fetch_response + - firmware: arm_scmi: Harden shared memory access in fetch_notification + - tomoyo: fix broken dependency on *.conf.default + - RDMA/core: Fix ib block iterator counter overflow + - IB/hfi1: Reject a zero-length user expected buffer + - IB/hfi1: Reserve user expected TIDs + - IB/hfi1: Fix expected receive setup error exit issues + - IB/hfi1: Immediately remove invalid memory from hardware + - IB/hfi1: Remove user expected buffer invalidate race + - affs: initialize fsdata in affs_truncate() + - PM: AVS: qcom-cpr: Fix an error handling path in cpr_probe() + - arm64: dts: qcom: msm8992: Don't use sfpb mutex + - arm64: dts: qcom: msm8992-libra: Fix the memory map + - phy: ti: fix Kconfig warning and operator precedence + - NFSD: fix use-after-free in nfsd4_ssc_setup_dul() + - ARM: dts: at91: sam9x60: fix the ddr clock for sam9x60 + - amd-xgbe: TX Flow Ctrl Registers are h/w ver dependent + - amd-xgbe: Delay AN timeout during KR training + - bpf: Fix pointer-leak due to insufficient speculative store bypass + mitigation + - phy: rockchip-inno-usb2: Fix missing clk_disable_unprepare() in + rockchip_usb2phy_power_on() + - net: nfc: Fix use-after-free in local_cleanup() + - net: wan: Add checks for NULL for utdm in undo_uhdlc_init and unmap_si_regs + - net: enetc: avoid deadlock in enetc_tx_onestep_tstamp() + - sch_htb: Avoid grafting on htb_destroy_class_offload when destroying htb + - gpio: mxc: Protect GPIO irqchip RMW with bgpio spinlock + - gpio: mxc: Always set GPIOs used as interrupt source to INPUT mode + - pinctrl: rockchip: fix reading pull type on rk3568 + - net: stmmac: Fix queue statistics reading + - net/sched: sch_taprio: fix possible use-after-free + - l2tp: Serialize access to sk_user_data with sk_callback_lock + - l2tp: Don't sleep and disable BH under writer-side sk_callback_lock + - l2tp: convert l2tp_tunnel_list to idr + - l2tp: close all race conditions in l2tp_tunnel_register() + - net: usb: sr9700: Handle negative len + - net: mdio: validate parameter addr in mdiobus_get_phy() + - HID: check empty report_list in hid_validate_values() + - HID: check empty report_list in bigben_probe() + - net: stmmac: fix invalid call to mdiobus_get_phy() + - pinctrl: rockchip: fix mux route data for rk3568 + - HID: revert CHERRY_MOUSE_000C quirk + - usb: gadget: f_fs: Prevent race during ffs_ep0_queue_wait + - usb: gadget: f_fs: Ensure ep0req is dequeued before free_request + - Bluetooth: Fix possible deadlock in rfcomm_sk_state_change + - net: ipa: disable ipa interrupt during suspend + - net/mlx5: E-switch, Fix setting of reserved fields on + MODIFY_SCHEDULING_ELEMENT + - net: mlx5: eliminate anonymous module_init & module_exit + - drm/panfrost: fix GENERIC_ATOMIC64 dependency + - dmaengine: Fix double increment of client_count in dma_chan_get() + - net: macb: fix PTP TX timestamp failure due to packet padding + - virtio-net: correctly enable callback during start_xmit + - l2tp: prevent lockdep issue in l2tp_tunnel_register() + - HID: betop: check shape of output reports + - cifs: fix potential deadlock in cache_refresh_path() + - dmaengine: xilinx_dma: call of_node_put() when breaking out of + for_each_child_of_node() + - phy: phy-can-transceiver: Skip warning if no "max-bitrate" + - drm/amd/display: fix issues with driver unload + - nvme-pci: fix timeout request state check + - tcp: avoid the lookup process failing to get sk in ehash table + - ptdma: pt_core_execute_cmd() should use spinlock + - device property: fix of node refcount leak in + fwnode_graph_get_next_endpoint() + - w1: fix deadloop in __w1_remove_master_device() + - w1: fix WARNING after calling w1_process() + - driver core: Fix test_async_probe_init saves device in wrong array + - selftests/net: toeplitz: fix race on tpacket_v3 block close + - net: dsa: microchip: ksz9477: port map correction in ALU table entry + register + - thermal/core: Remove duplicate information when an error occurs + - thermal/core: Rename 'trips' to 'num_trips' + - thermal: Validate new state in cur_state_store() + - thermal/core: fix error code in __thermal_cooling_device_register() + - thermal: core: call put_device() only after device_register() fails + - net: stmmac: enable all safety features by default + - tcp: fix rate_app_limited to default to 1 + - scsi: iscsi: Fix multiple iSCSI session unbind events sent to userspace + - cpufreq: Add Tegra234 to cpufreq-dt-platdev blocklist + - kcsan: test: don't put the expect array on the stack + - cpufreq: Add SM6375 to cpufreq-dt-platdev blocklist + - ASoC: fsl_micfil: Correct the number of steps on SX controls + - net: usb: cdc_ether: add support for Thales Cinterion PLS62-W modem + - drm: Add orientation quirk for Lenovo ideapad D330-10IGL + - s390/debug: add _ASM_S390_ prefix to header guard + - s390: expicitly align _edata and _end symbols on page boundary + - perf/x86/msr: Add Emerald Rapids + - perf/x86/intel/uncore: Add Emerald Rapids + - cpufreq: armada-37xx: stop using 0 as NULL pointer + - ASoC: fsl_ssi: Rename AC'97 streams to avoid collisions with AC'97 CODEC + - ASoC: fsl-asoc-card: Fix naming of AC'97 CODEC widgets + - spi: spidev: remove debug messages that access spidev->spi without locking + - KVM: s390: interrupt: use READ_ONCE() before cmpxchg() + - scsi: hisi_sas: Set a port invalid only if there are no devices attached + when refreshing port id + - r8152: add vendor/device ID pair for Microsoft Devkit + - platform/x86: touchscreen_dmi: Add info for the CSL Panther Tab HD + - platform/x86: asus-nb-wmi: Add alternate mapping for KEY_SCREENLOCK + - lockref: stop doing cpu_relax in the cmpxchg loop + - firmware: coreboot: Check size of table entry and use flex-array + - drm/i915: Remove unused variable + - x86: ACPI: cstate: Optimize C3 entry on AMD CPUs + - panic: Separate sysctl logic from CONFIG_SMP + - exit: Put an upper limit on how often we can oops + - exit: Expose "oops_count" to sysfs + - exit: Allow oops_limit to be disabled + - panic: Consolidate open-coded panic_on_warn checks + - panic: Introduce warn_limit + - panic: Expose "warn_count" to sysfs + - docs: Fix path paste-o for /sys/kernel/warn_count + - exit: Use READ_ONCE() for all oops/warn limit reads + - Bluetooth: hci_sync: cancel cmd_timer if hci_open failed + - drm/amdgpu: complete gfxoff allow signal during suspend without delay + - scsi: hpsa: Fix allocation size for scsi_host_alloc() + - module: Don't wait for GOING modules + - tracing: Make sure trace_printk() can output as soon as it can be used + - trace_events_hist: add check for return value of 'create_hist_field' + - ftrace/scripts: Update the instructions for ftrace-bisect.sh + - cifs: Fix oops due to uncleared server->smbd_conn in reconnect + - i2c: mv64xxx: Remove shutdown method from driver + - i2c: mv64xxx: Add atomic_xfer method to driver + - ksmbd: add max connections parameter + - ksmbd: do not sign response to session request for guest login + - ksmbd: downgrade ndr version error message to debug + - ksmbd: limit pdu length size according to connection status + - KVM: x86/vmx: Do not skip segment attributes if unusable bit is set + - KVM: arm64: GICv4.1: Fix race with doorbell on VPE activation/deactivation + - thermal: intel: int340x: Protect trip temperature from concurrent updates + - ipv6: fix reachability confirmation with proxy_ndp + - ARM: 9280/1: mm: fix warning on phys_addr_t to void pointer assignment + - EDAC/device: Respect any driver-supplied workqueue polling value + - EDAC/qcom: Do not pass llcc_driv_data as edac_device_ctl_info's pvt_info + - net: mana: Fix IRQ name - add PCI and queue number + - scsi: ufs: core: Fix devfreq deadlocks + - i2c: designware: use casting of u64 in clock multiplication to avoid + overflow + - netlink: prevent potential spectre v1 gadgets + - net: fix UaF in netns ops registration error path + - drm/i915/selftest: fix intel_selftest_modify_policy argument types + - netfilter: nft_set_rbtree: Switch to node list walk for overlap detection + - netfilter: nft_set_rbtree: skip elements in transaction from garbage + collection + - netlink: annotate data races around nlk->portid + - netlink: annotate data races around dst_portid and dst_group + - netlink: annotate data races around sk_state + - ipv4: prevent potential spectre v1 gadget in ip_metrics_convert() + - ipv4: prevent potential spectre v1 gadget in fib_metrics_match() + - netfilter: conntrack: fix vtag checks for ABORT/SHUTDOWN_COMPLETE + - netrom: Fix use-after-free of a listening socket. + - net/sched: sch_taprio: do not schedule in taprio_reset() + - sctp: fail if no bound addresses can be used for a given scope + - riscv/kprobe: Fix instruction simulation of JALR + - nvme: fix passthrough csi check + - gpio: mxc: Unlock on error path in mxc_flip_edge() + - net: ravb: Fix lack of register setting after system resumed for Gen3 + - net: ravb: Fix possible hang if RIS2_QFF1 happen + - net: mctp: mark socks as dead on unhash, prevent re-add + - thermal: intel: int340x: Add locking to int340x_thermal_get_trip_type() + - net/tg3: resolve deadlock in tg3_reset_task() during EEH + - net: mdio-mux-meson-g12a: force internal PHY off on mux switch + - treewide: fix up files incorrectly marked executable + - tools: gpio: fix -c option of gpio-event-mon + - Revert "Input: synaptics - switch touchpad on HP Laptop 15-da3001TU to RMI + mode" + - x86/i8259: Mark legacy PIC interrupts with IRQ_LEVEL + - netfilter: conntrack: unify established states for SCTP paths + - perf/x86/amd: fix potential integer overflow on shift of a int + - dmaengine: qcom: gpi: Set link_rx bit on GO TRE for rx operation + - soc: imx: imx8mp-blk-ctrl: enable global pixclk with HDMI_TX_PHY PD + - arm64: dts: verdin-imx8mm: fix dahlia audio playback + - arm64: dts: verdin-imx8mm: fix dev board audio playback + - soc: imx: imx8mp-blk-ctrl: don't set power device name + - arm64: dts: imx8mp: Fix missing GPC Interrupt + - arm64: dts: imx8mp: Fix power-domain typo + - reset: ti-sci: honor TI_SCI_PROTOCOL setting when not COMPILE_TEST + - firmware: arm_scmi: Fix virtio channels cleanup on shutdown + - interconnect: qcom: msm8996: Provide UFS clocks to A2NoC + - interconnect: qcom: msm8996: Fix regmap max_register values + - RDMA/rxe: Fix inaccurate constants in rxe_type_info + - RDMA/rxe: Prevent faulty rkey generation + - drm/msm/gpu: Fix potential double-free + - bpf: hash map, avoid deadlock with suitable hash mask + - net: lan966x: add missing fwnode_handle_put() for ports node + - block/rnbd-clt: fix wrong max ID in ida_alloc_max + - usb: ucsi: Ensure connector delayed work items are flushed + - netfilter: conntrack: handle tcp challenge acks during connection reuse + - net/mlx5e: Avoid false lock dependency warning on tc_ht even more + - net/mlx5e: Set decap action based on attr for sample + - dmaengine: tegra: Fix memory leak in terminate_all() + - net: sched: gred: prevent races when adding offloads to stats + - usb: dwc3: fix extcon dependency + - bnxt: Do not read past the end of test names + - btrfs: zoned: enable metadata over-commit for non-ZNS setup + - vfio/type1: Respect IOMMU reserved regions in vfio_test_domain_fgsp() + - kvm/vfio: Fix potential deadlock on vfio group_lock + - ftrace: Export ftrace_free_filter() to modules + - riscv: fix -Wundef warning for CONFIG_RISCV_BOOT_SPINWAIT + - regulator: dt-bindings: samsung,s2mps14: add lost samsung,ext-control-gpios + - i2c: designware: Fix unbalanced suspended flag + - iavf: schedule watchdog immediately when changing primary MAC + - tracing/osnoise: Use built-in RCU list checking + - gpio: ep93xx: Fix port F hwirq numbers in handler + - net: mctp: add an explicit reference from a mctp_sk_key to sock + - net: mctp: move expiry timer delete to unhash + - net: mctp: hold key reference when looking up a general key + - riscv: Move call to init_cpu_topology() to later initialization stage + - Partially revert "perf/arm-cmn: Optimise DTC counter accesses" + - x86/sev: Add SEV-SNP guest feature negotiation support + - acpi: Fix suspend with Xen PV + * CVE-2023-1075 + - net/tls: tls_is_tx_ready() checked list_entry + * devlink_port_split from ubuntu_kernel_selftests.net fails on hirsute + (KeyError: 'flavour') (LP: #1937133) + - selftests: net: devlink_port_split.py: skip test if no suitable device + available + * Connection timeout due to conntrack limits (LP: #2011616) + - netfilter: conntrack: adopt safer max chain length + * Kinetic update: upstream stable patchset 2023-03-27 (LP: #2012977) + - btrfs: fix trace event name typo for FLUSH_DELAYED_REFS + - pNFS/filelayout: Fix coalescing test for single DS + - tools/virtio: initialize spinlocks in vring_test.c + - virtio_pci: modify ENOENT to EINVAL + - vduse: Validate vq_num in vduse_validate_config() + - net/ethtool/ioctl: return -EOPNOTSUPP if we have no phy stats + - r8169: move rtl_wol_enable_rx() and rtl_prepare_power_down() + - RDMA/srp: Move large values to a new enum for gcc13 + - btrfs: always report error in run_one_delayed_ref() + - x86/asm: Fix an assembler warning with current binutils + - f2fs: let's avoid panic if extent_tree is not created + - perf/x86/rapl: Treat Tigerlake like Icelake + - fbdev: omapfb: avoid stack overflow warning + - Bluetooth: hci_qca: Fix driver shutdown on closed serdev + - wifi: brcmfmac: fix regression for Broadcom PCIe wifi devices + - wifi: mac80211: sdata can be NULL during AMPDU start + - Add exception protection processing for vd in axi_chan_handle_err function + - zonefs: Detect append writes at invalid locations + - nilfs2: fix general protection fault in nilfs_btree_insert() + - efi: fix userspace infinite retry read efivars after EFI runtime services + page fault + - ALSA: hda/realtek: fix mute/micmute LEDs don't work for a HP platform + - hugetlb: unshare some PMDs when splitting VMAs + - io_uring: don't gate task_work run on TIF_NOTIFY_SIGNAL + - eventpoll: add EPOLL_URING_WAKE poll wakeup flag + - eventfd: provide a eventfd_signal_mask() helper + - xhci-pci: set the dma max_seg_size + - usb: xhci: Check endpoint is valid before dereferencing it + - xhci: Fix null pointer dereference when host dies + - xhci: Add update_hub_device override for PCI xHCI hosts + - xhci: Add a flag to disable USB3 lpm on a xhci root port level. + - usb: acpi: add helper to check port lpm capability using acpi _DSM + - xhci: Detect lpm incapable xHC USB3 roothub ports from ACPI tables + - prlimit: do_prlimit needs to have a speculation check + - USB: serial: option: add Quectel EM05-G (GR) modem + - USB: serial: option: add Quectel EM05-G (CS) modem + - USB: serial: option: add Quectel EM05-G (RS) modem + - USB: serial: option: add Quectel EC200U modem + - USB: serial: option: add Quectel EM05CN (SG) modem + - USB: serial: option: add Quectel EM05CN modem + - staging: vchiq_arm: fix enum vchiq_status return types + - USB: misc: iowarrior: fix up header size for USB_DEVICE_ID_CODEMERCS_IOW100 + - misc: fastrpc: Don't remove map on creater_process and device_release + - misc: fastrpc: Fix use-after-free race condition for maps + - usb: core: hub: disable autosuspend for TI TUSB8041 + - comedi: adv_pci1760: Fix PWM instruction handling + - ACPI: PRM: Check whether EFI runtime is available + - mmc: sunxi-mmc: Fix clock refcount imbalance during unbind + - mmc: sdhci-esdhc-imx: correct the tuning start tap and step setting + - btrfs: do not abort transaction on failure to write log tree when syncing + log + - btrfs: fix race between quota rescan and disable leading to NULL pointer + deref + - cifs: do not include page data when checking signature + - thunderbolt: Use correct function to calculate maximum USB3 link rate + - riscv: dts: sifive: fu740: fix size of pcie 32bit memory + - bpf: restore the ebpf program ID for BPF_AUDIT_UNLOAD and + PERF_BPF_EVENT_PROG_UNLOAD + - tty: serial: qcom-geni-serial: fix slab-out-of-bounds on RX FIFO buffer + - tty: fix possible null-ptr-defer in spk_ttyio_release + - USB: serial: cp210x: add SCALANCE LPE-9000 device id + - usb: cdns3: remove fetched trb from cache before dequeuing + - usb: host: ehci-fsl: Fix module alias + - usb: typec: tcpm: Fix altmode re-registration causes sysfs create fail + - usb: typec: altmodes/displayport: Add pin assignment helper + - usb: typec: altmodes/displayport: Fix pin assignment calculation + - usb: gadget: g_webcam: Send color matching descriptor per frame + - usb: gadget: f_ncm: fix potential NULL ptr deref in ncm_bitrate() + - usb-storage: apply IGNORE_UAS only for HIKSEMI MD202 on RTL9210 + - dt-bindings: phy: g12a-usb2-phy: fix compatible string documentation + - dt-bindings: phy: g12a-usb3-pcie-phy: fix compatible string documentation + - serial: pch_uart: Pass correct sg to dma_unmap_sg() + - dmaengine: lgm: Move DT parsing after initialization + - dmaengine: tegra210-adma: fix global intr clear + - dmaengine: idxd: Let probe fail when workqueue cannot be enabled + - serial: amba-pl011: fix high priority character transmission in rs486 mode + - serial: atmel: fix incorrect baudrate setup + - gsmi: fix null-deref in gsmi_get_variable + - mei: me: add meteor lake point M DID + - drm/i915: re-disable RC6p on Sandy Bridge + - drm/i915/display: Check source height is > 0 + - drm/amd/display: Fix set scaling doesn's work + - drm/amd/display: Calculate output_color_space after pixel encoding + adjustment + - drm/amd/display: Fix COLOR_SPACE_YCBCR2020_TYPE matrix + - fs/ntfs3: Fix attr_punch_hole() null pointer derenference + - arm64: efi: Execute runtime services from a dedicated stack + - efi: rt-wrapper: Add missing include + - x86/fpu: Use _Alignof to avoid undefined behavior in TYPE_ALIGN + - net/mlx5: fix missing mutex_unlock in mlx5_fw_fatal_reporter_err_work() + - block: mq-deadline: Rename deadline_is_seq_writes() + - Revert "wifi: mac80211: fix memory leak in ieee80211_if_add()" + - soc: qcom: apr: Make qcom,protection-domain optional again + - mm/khugepaged: fix collapse_pte_mapped_thp() to allow anon_vma + - serial: stm32: Merge hard IRQ and threaded IRQ handling into single IRQ + handler + - misc: fastrpc: Fix use-after-free and race in fastrpc_map_find + - btrfs: fix missing error handling when logging directory items + - thunderbolt: Disable XDomain lane 1 only in software connection manager + - thunderbolt: Do not report errors if on-board retimers are found + - thunderbolt: Do not call PM runtime functions in tb_retimer_scan() + - mptcp: explicitly specify sock family at subflow creation time + - mptcp: netlink: respect v4/v6-only sockets + - usb: musb: fix error return code in omap2430_probe() + - USB: gadget: Add ID numbers to configfs-gadget driver names + - arm64: dts: imx8mp: correct usb clocks + - dmaengine: idxd: Prevent use after free on completion memory + - dmaengine: idxd: Do not call DMX TX callbacks during workqueue disable + - mei: bus: fix unlink on bus in error path + - VMCI: Use threaded irqs instead of tasklets + - ARM: omap1: fix !ARCH_OMAP1_ANY link failures + - drm/amdgpu: Correct the power calcultion for Renior/Cezanne. + - drm/i915: Allow switching away via vga-switcheroo if uninitialized + - octeontx2-pf: Avoid use of GFP_KERNEL in atomic context + - octeontx2-pf: Fix the use of GFP_KERNEL in atomic context on rt + * Kinetic update: upstream stable patchset 2023-03-21 (LP: #2012438) + - ALSA: control-led: use strscpy in set_led_id() + - ALSA: hda/realtek - Turn on power early + - ALSA: hda/realtek: Enable mute/micmute LEDs on HP Spectre x360 13-aw0xxx + - KVM: arm64: Fix S1PTW handling on RO memslots + - KVM: arm64: nvhe: Fix build with profile optimization + - selftests: kvm: Fix a compile error in selftests/kvm/rseq_test.c + - efi: tpm: Avoid READ_ONCE() for accessing the event log + - docs: Fix the docs build with Sphinx 6.0 + - net: stmmac: add aux timestamps fifo clearance wait + - perf auxtrace: Fix address filter duplicate symbol selection + - s390/kexec: fix ipl report address for kdump + - ASoC: qcom: lpass-cpu: Fix fallback SD line index handling + - s390/cpum_sf: add READ_ONCE() semantics to compare and swap loops + - s390/percpu: add READ_ONCE() to arch_this_cpu_to_op_simple() + - drm/virtio: Fix GEM handle creation UAF + - drm/i915/gt: Reset twice + - cifs: Fix uninitialized memory read for smb311 posix symlink create + - platform/x86: dell-privacy: Only register SW_CAMERA_LENS_COVER if present + - platform/surface: aggregator: Ignore command messages not intended for us + - platform/x86: dell-privacy: Fix SW_CAMERA_LENS_COVER reporting + - dt-bindings: msm: dsi-controller-main: Fix operating-points-v2 constraint + - drm/msm/adreno: Make adreno quirks not overwrite each other + - dt-bindings: msm: dsi-controller-main: Fix power-domain constraint + - dt-bindings: msm: dsi-controller-main: Fix description of core clock + - dt-bindings: msm: dsi-phy-28nm: Add missing qcom, dsi-phy-regulator-ldo-mode + - platform/x86: ideapad-laptop: Add Legion 5 15ARH05 DMI id to + set_fn_lock_led_list[] + - drm/msm/dp: do not complete dp_aux_cmd_fifo_tx() if irq is not for aux + transfer + - dt-bindings: msm/dsi: Don't require vdds-supply on 10nm PHY + - dt-bindings: msm/dsi: Don't require vcca-supply on 14nm PHY + - platform/x86: sony-laptop: Don't turn off 0x153 keyboard backlight during + probe + - ixgbe: fix pci device refcount leak + - ipv6: raw: Deduct extension header length in rawv6_push_pending_frames + - usb: ulpi: defer ulpi_register on ulpi_read_id timeout + - iommu/iova: Fix alloc iova overflows issue + - iommu/mediatek-v1: Fix an error handling path in mtk_iommu_v1_probe() + - sched/core: Fix use-after-free bug in dup_user_cpus_ptr() + - netfilter: ipset: Fix overflow before widen in the bitmap_ip_create() + function. + - powerpc/imc-pmu: Fix use of mutex in IRQs disabled section + - x86/boot: Avoid using Intel mnemonics in AT&T syntax asm + - EDAC/device: Fix period calculation in edac_device_reset_delay_period() + - x86/resctrl: Fix task CLOSID/RMID update race + - regulator: da9211: Use irq handler when ready + - scsi: mpi3mr: Refer CONFIG_SCSI_MPI3MR in Makefile + - scsi: ufs: core: WLUN suspend SSU/enter hibern8 fail recovery + - ASoC: wm8904: fix wrong outputs volume after power reactivation + - ALSA: usb-audio: Make sure to stop endpoints before closing EPs + - ALSA: usb-audio: Relax hw constraints for implicit fb sync + - tipc: fix unexpected link reset due to discovery messages + - octeontx2-af: Fix LMAC config in cgx_lmac_rx_tx_enable + - hvc/xen: lock console list traversal + - nfc: pn533: Wait for out_urb's completion in pn533_usb_send_frame() + - af_unix: selftest: Fix the size of the parameter to connect() + - tools/nolibc: restore mips branch ordering in the _start block + - tools/nolibc: fix the O_* fcntl/open macro definitions for riscv + - net/sched: act_mpls: Fix warning during failed attribute validation + - net/mlx5: Fix ptp max frequency adjustment range + - net/mlx5e: Don't support encap rules with gbp option + - perf build: Properly guard libbpf includes + - igc: Fix PPS delta between two synchronized end-points + - platform/surface: aggregator: Add missing call to ssam_request_sync_free() + - KVM: x86: Do not return host topology information from + KVM_GET_SUPPORTED_CPUID + - arm64: atomics: remove LL/SC trampolines + - arm64: cmpxchg_double*: hazard against entire exchange variable + - efi: fix NULL-deref in init error path + - io_uring/io-wq: free worker if task_work creation is canceled + - io_uring/io-wq: only free worker if it was allocated for creation + - Revert "usb: ulpi: defer ulpi_register on ulpi_read_id timeout" + - pinctrl: amd: Add dynamic debugging for active GPIOs + - arm64: mte: Fix double-freeing of the temporary tag storage during coredump + - elfcore: Add a cprm parameter to elf_core_extra_{phdrs,data_size} + - cpufreq: amd-pstate: fix kernel hang issue while amd-pstate unregistering + - drm/i915: Reserve enough fence slot for i915_vma_unbind_async + - drm/i915: Fix potential context UAFs + - cifs: do not query ifaces on smb1 mounts + - ASoC: rt9120: Make dev PM runtime bind AsoC component PM + - platform/x86: int3472/discrete: Ensure the clk/power enable pins are in + output mode + - platform/x86: asus-wmi: Don't load fan curves without fan + - drm/msm: another fix for the headless Adreno GPU + - arm64/signal: Always allocate SVE signal frames on SME only systems + - arm64/signal: Always accept SVE signal frames on SME only systems + - arm64/mm: add pud_user_exec() check in pud_user_accessible_page() + - arm64: ptrace: Use ARM64_SME to guard the SME register enumerations + - arm64/mm: fix incorrect file_map_count for invalid pmd + - iavf/iavf_main: actually log ->src mask when talking about it + - x86/pat: Fix pat_x_mtrr_type() for MTRR disabled case + - scsi: storvsc: Fix swiotlb bounce buffer leak in confidential VM + - ASoC: Intel: fix sof-nau8825 link failure + - drm/msm/dpu: Fix some kernel-doc comments + - drm/msm/dpu: Fix memory leak in msm_mdss_parse_data_bus_icc_path + - mtd: cfi: allow building spi-intel standalone + - stmmac: dwmac-mediatek: remove the dwmac_fix_mac_speed + - sched/core: Fix arch_scale_freq_tick() on tickless systems + - net/mlx5: check attr pointer validity before dereferencing it + - net/mlx5e: TC, Keep mod hdr actions after mod hdr alloc + - net/mlx5: Fix command stats access after free + - net/mlx5e: Verify dev is present for fix features ndo + - net/mlx5e: IPoIB, Block queue count configuration when sub interfaces are + present + - net/mlx5e: IPoIB, Block PKEY interfaces with less rx queues than parent + - net/mlx5e: IPoIB, Fix child PKEY interface stats on rx path + - octeontx2-pf: Fix resource leakage in VF driver unbind + - net: lan966x: check for ptp to be enabled in lan966x_ptp_deinit() + - net: hns3: fix wrong use of rss size during VF rss config + - bnxt: make sure we return pages to the pool + - platform/x86/amd: Fix refcount leak in amd_pmc_probe + * Kinetic update: upstream stable patchset 2023-03-20 (LP: #2012307) + - parisc: Align parisc MADV_XXX constants with all other architectures + - x86/fpu: Take task_struct* in copy_sigframe_from_user_to_xstate() + - x86/fpu: Add a pkru argument to copy_uabi_from_kernel_to_xstate(). + - x86/fpu: Add a pkru argument to copy_uabi_to_xstate() + - x86/fpu: Allow PKRU to be (once again) written by ptrace. + - x86/fpu: Emulate XRSTOR's behavior if the xfeatures PKRU bit is not set + - selftests/vm/pkeys: Add a regression test for setting PKRU through ptrace + - serial: fixup backport of "serial: Deassert Transmit Enable on probe in + driver-specific way" + - ALSA: hda/hdmi: Add a HP device 0x8715 to force connect list + - ALSA: hda - Enable headset mic on another Dell laptop with ALC3254 + - Revert "SUNRPC: Use RMW bitops in single-threaded hot paths" + - ALSA: hda: cs35l41: Check runtime suspend capability at runtime_idle + * Kinetic update: upstream stable patchset 2023-03-06 (LP: #2009546) + - usb: dwc3: qcom: Fix memory leak in dwc3_qcom_interconnect_init + - cifs: fix oops during encryption + - nvme-pci: fix doorbell buffer value endianness + - nvme-pci: fix mempool alloc size + - nvme-pci: fix page size checks + - ACPI: resource: do IRQ override on LENOVO IdeaPad + - ACPI: resource: do IRQ override on XMG Core 15 + - ACPI: resource: do IRQ override on Lenovo 14ALC7 + - block, bfq: fix uaf for bfqq in bfq_exit_icq_bfqq + - ata: ahci: Fix PCS quirk application for suspend + - nvme: fix the NVME_CMD_EFFECTS_CSE_MASK definition + - nvmet: don't defer passthrough commands with trivial effects to the + workqueue + - fs/ntfs3: Validate BOOT record_size + - fs/ntfs3: Add overflow check for attribute size + - fs/ntfs3: Validate data run offset + - fs/ntfs3: Add null pointer check to attr_load_runs_vcn + - fs/ntfs3: Fix memory leak on ntfs_fill_super() error path + - fs/ntfs3: Add null pointer check for inode operations + - fs/ntfs3: Validate attribute name offset + - fs/ntfs3: Validate buffer length while parsing index + - fs/ntfs3: Validate resident attribute name + - fs/ntfs3: Fix slab-out-of-bounds read in run_unpack + - soundwire: dmi-quirks: add quirk variant for LAPBC710 NUC15 + - fs/ntfs3: Validate index root when initialize NTFS security + - fs/ntfs3: Use __GFP_NOWARN allocation at wnd_init() + - fs/ntfs3: Use __GFP_NOWARN allocation at ntfs_fill_super() + - fs/ntfs3: Delete duplicate condition in ntfs_read_mft() + - fs/ntfs3: Fix slab-out-of-bounds in r_page + - objtool: Fix SEGFAULT + - powerpc/rtas: avoid device tree lookups in rtas_os_term() + - powerpc/rtas: avoid scheduling in rtas_os_term() + - HID: multitouch: fix Asus ExpertBook P2 P2451FA trackpoint + - HID: plantronics: Additional PIDs for double volume key presses quirk + - pstore: Properly assign mem_type property + - pstore/zone: Use GFP_ATOMIC to allocate zone buffer + - hfsplus: fix bug causing custom uid and gid being unable to be assigned with + mount + - binfmt: Fix error return code in load_elf_fdpic_binary() + - ovl: Use ovl mounter's fsuid and fsgid in ovl_link() + - ALSA: line6: correct midi status byte when receiving data from podxt + - ALSA: line6: fix stack overflow in line6_midi_transmit + - pnode: terminate at peers of source + - mfd: mt6360: Add bounds checking in Regmap read/write call-backs + - md: fix a crash in mempool_free + - mm, compaction: fix fast_isolate_around() to stay within boundaries + - f2fs: should put a page when checking the summary info + - f2fs: allow to read node block after shutdown + - mmc: vub300: fix warning - do not call blocking ops when !TASK_RUNNING + - tpm: acpi: Call acpi_put_table() to fix memory leak + - tpm: tpm_crb: Add the missed acpi_put_table() to fix memory leak + - tpm: tpm_tis: Add the missed acpi_put_table() to fix memory leak + - SUNRPC: Don't leak netobj memory when gss_read_proxy_verf() fails + - kcsan: Instrument memcpy/memset/memmove with newer Clang + - media: stv0288: use explicitly signed char + - soc: qcom: Select REMAP_MMIO for LLCC driver + - kest.pl: Fix grub2 menu handling for rebooting + - ktest.pl minconfig: Unset configs instead of just removing them + - jbd2: use the correct print format + - perf/x86/intel/uncore: Disable I/O stacks to PMU mapping on ICX-D + - perf/x86/intel/uncore: Clear attr_update properly + - arm64: dts: qcom: sdm845-db845c: correct SPI2 pins drive strength + - mmc: sdhci-sprd: Disable CLK_AUTO when the clock is less than 400K + - btrfs: fix resolving backrefs for inline extent followed by prealloc + - ARM: ux500: do not directly dereference __iomem + - arm64: dts: qcom: sdm850-lenovo-yoga-c630: correct I2C12 pins drive strength + - selftests: Use optional USERCFLAGS and USERLDFLAGS + - PM/devfreq: governor: Add a private governor_data for governor + - cpufreq: Init completion before kobject_init_and_add() + - ALSA: patch_realtek: Fix Dell Inspiron Plus 16 + - ALSA: hda/realtek: Apply dual codec fixup for Dell Latitude laptops + - fs: dlm: fix sock release if listen fails + - fs: dlm: retry accept() until -EAGAIN or error returns + - mptcp: remove MPTCP 'ifdef' in TCP SYN cookies + - dm cache: Fix ABBA deadlock between shrink_slab and dm_cache_metadata_abort + - dm thin: Fix ABBA deadlock between shrink_slab and dm_pool_abort_metadata + - dm thin: Use last transaction's pmd->root when commit failed + - dm thin: resume even if in FAIL mode + - dm thin: Fix UAF in run_timer_softirq() + - dm integrity: Fix UAF in dm_integrity_dtr() + - dm clone: Fix UAF in clone_dtr() + - dm cache: Fix UAF in destroy() + - dm cache: set needs_check flag after aborting metadata + - tracing/hist: Fix out-of-bound write on 'action_data.var_ref_idx' + - perf/core: Call LSM hook after copying perf_event_attr + - of/kexec: Fix reading 32-bit "linux,initrd-{start,end}" values + - KVM: VMX: Resume guest immediately when injecting #GP on ECREATE + - KVM: nVMX: Inject #GP, not #UD, if "generic" VMXON CR0/CR4 check fails + - KVM: nVMX: Properly expose ENABLE_USR_WAIT_PAUSE control to L1 + - x86/microcode/intel: Do not retry microcode reloading on the APs + - ftrace/x86: Add back ftrace_expected for ftrace bug reports + - x86/kprobes: Fix kprobes instruction boudary check with CONFIG_RETHUNK + - x86/kprobes: Fix optprobe optimization check with CONFIG_RETHUNK + - tracing: Fix race where eprobes can be called before the event + - tracing: Fix complicated dependency of CONFIG_TRACER_MAX_TRACE + - tracing/hist: Fix wrong return value in parse_action_params() + - tracing/probes: Handle system names with hyphens + - tracing: Fix infinite loop in tracing_read_pipe on overflowed + print_trace_line + - staging: media: tegra-video: fix chan->mipi value on error + - staging: media: tegra-video: fix device_node use after free + - ARM: 9256/1: NWFPE: avoid compiler-generated __aeabi_uldivmod + - media: dvb-core: Fix double free in dvb_register_device() + - cifs: fix confusing debug message + - cifs: fix missing display of three mount options + - rtc: ds1347: fix value written to century register + - block: mq-deadline: Do not break sequential write streams to zoned HDDs + - md/bitmap: Fix bitmap chunk size overflow issues + - efi: Add iMac Pro 2017 to uefi skip cert quirk + - wifi: wilc1000: sdio: fix module autoloading + - ASoC: jz4740-i2s: Handle independent FIFO flush bits + - ipu3-imgu: Fix NULL pointer dereference in imgu_subdev_set_selection() + - ipmi: fix long wait in unload when IPMI disconnect + - mtd: spi-nor: Check for zero erase size in spi_nor_find_best_erase_type() + - ima: Fix a potential NULL pointer access in ima_restore_measurement_list + - ipmi: fix use after free in _ipmi_destroy_user() + - PCI: Fix pci_device_is_present() for VFs by checking PF + - PCI/sysfs: Fix double free in error path + - riscv: stacktrace: Fixup ftrace_graph_ret_addr retp argument + - riscv: mm: notify remote harts about mmu cache updates + - crypto: n2 - add missing hash statesize + - driver core: Fix bus_type.match() error handling in __driver_attach() + - phy: qcom-qmp-combo: fix sc8180x reset + - iommu/amd: Fix ivrs_acpihid cmdline parsing code + - remoteproc: core: Do pm_relax when in RPROC_OFFLINE state + - parisc: led: Fix potential null-ptr-deref in start_task() + - device_cgroup: Roll back to original exceptions after copy failure + - drm/connector: send hotplug uevent on connector cleanup + - drm/i915/dsi: fix VBT send packet port selection for dual link DSI + - drm/ingenic: Fix missing platform_driver_unregister() call in + ingenic_drm_init() + - ext4: silence the warning when evicting inode with dioread_nolock + - ext4: add inode table check in __ext4_get_inode_loc to aovid possible + infinite loop + - ext4: remove trailing newline from ext4_msg() message + - fs: ext4: initialize fsdata in pagecache_write() + - ext4: fix use-after-free in ext4_orphan_cleanup + - ext4: fix undefined behavior in bit shift for ext4_check_flag_values + - ext4: add EXT4_IGET_BAD flag to prevent unexpected bad inode + - ext4: add helper to check quota inums + - ext4: fix bug_on in __es_tree_search caused by bad quota inode + - ext4: fix reserved cluster accounting in __es_remove_extent() + - ext4: check and assert if marking an no_delete evicting inode dirty + - ext4: fix bug_on in __es_tree_search caused by bad boot loader inode + - ext4: fix leaking uninitialized memory in fast-commit journal + - ext4: fix uninititialized value in 'ext4_evict_inode' + - ext4: init quota for 'old.inode' in 'ext4_rename' + - ext4: fix delayed allocation bug in ext4_clu_mapped for bigalloc + inline + - ext4: fix error code return to user-space in ext4_get_branch() + - ext4: avoid BUG_ON when creating xattrs + - ext4: fix kernel BUG in 'ext4_write_inline_data_end()' + - ext4: fix inode leak in ext4_xattr_inode_create() on an error path + - ext4: initialize quota before expanding inode in setproject ioctl + - ext4: avoid unaccounted block allocation when expanding inode + - ext4: allocate extended attribute value in vmalloc area + - drm/amdgpu: handle polaris10/11 overlap asics (v2) + - block: mq-deadline: Fix dd_finish_request() for zoned devices + - tracing: Fix issue of missing one synthetic field + - ext4: use ext4_debug() instead of jbd_debug() + - ext4: introduce EXT4_FC_TAG_BASE_LEN helper + - ext4: factor out ext4_fc_get_tl() + - ext4: fix potential out of bound read in ext4_fc_replay_scan() + - ext4: disable fast-commit of encrypted dir operations + - ext4: don't set up encryption key during jbd2 transaction + - ext4: add missing validation of fast-commit record lengths + - ext4: fix unaligned memory access in ext4_fc_reserve_space() + - ext4: fix off-by-one errors in fast-commit block filling + - ARM: renumber bits related to _TIF_WORK_MASK + - phy: qcom-qmp-combo: fix out-of-bounds clock access + - btrfs: replace strncpy() with strscpy() + - btrfs: fix extent map use-after-free when handling missing device in + read_one_chunk + - x86/MCE/AMD: Clear DFR errors found in THR handler + - media: s5p-mfc: Fix to handle reference queue during finishing + - media: s5p-mfc: Clear workbit to handle error condition + - media: s5p-mfc: Fix in register read and write for H264 + - perf probe: Use dwarf_attr_integrate as generic DWARF attr accessor + - perf probe: Fix to get the DW_AT_decl_file and DW_AT_call_file as unsinged + data + - ravb: Fix "failed to switch device to config mode" message during unbind + - ext4: goto right label 'failed_mount3a' + - ext4: correct inconsistent error msg in nojournal mode + - mbcache: automatically delete entries from cache on freeing + - ext4: fix deadlock due to mbcache entry corruption + - SUNRPC: ensure the matching upcall is in-flight upon downcall + - btrfs: fix an error handling path in btrfs_defrag_leaves() + - bpf: pull before calling skb_postpull_rcsum() + - drm/panfrost: Fix GEM handle creation ref-counting + - netfilter: nf_tables: consolidate set description + - netfilter: nf_tables: add function to create set stateful expressions + - netfilter: nf_tables: perform type checking for existing sets + - vmxnet3: correctly report csum_level for encapsulated packet + - netfilter: nf_tables: honor set timeout and garbage collection updates + - veth: Fix race with AF_XDP exposing old or uninitialized descriptors + - nfsd: shut down the NFSv4 state objects before the filecache + - net: hns3: add interrupts re-initialization while doing VF FLR + - net: hns3: fix miss L3E checking for rx packet + - net: hns3: fix VF promisc mode not update when mac table full + - qlcnic: prevent ->dcb use-after-free on qlcnic_dcb_enable() failure + - net: dsa: mv88e6xxx: depend on PTP conditionally + - nfc: Fix potential resource leaks + - vdpa_sim: fix possible memory leak in vdpasim_net_init() and + vdpasim_blk_init() + - vhost/vsock: Fix error handling in vhost_vsock_init() + - vringh: fix range used in iotlb_translate() + - vhost: fix range used in translate_desc() + - vdpa_sim: fix vringh initialization in vdpasim_queue_ready() + - net/mlx5: E-Switch, properly handle ingress tagged packets on VST + - net/mlx5: Add forgotten cleanup calls into mlx5_init_once() error path + - net/mlx5: Avoid recovery in probe flows + - net/mlx5e: IPoIB, Don't allow CQE compression to be turned on by default + - net/mlx5e: Always clear dest encap in neigh-update-del + - net/mlx5e: Fix hw mtu initializing at XDP SQ allocation + - net: amd-xgbe: add missed tasklet_kill + - net: ena: Fix toeplitz initial hash value + - net: ena: Don't register memory info on XDP exchange + - net: ena: Account for the number of processed bytes in XDP + - net: ena: Use bitmask to indicate packet redirection + - net: ena: Fix rx_copybreak value update + - net: ena: Set default value for RX interrupt moderation + - net: ena: Update NUMA TPH hint register upon NUMA node update + - net: phy: xgmiitorgmii: Fix refcount leak in xgmiitorgmii_probe + - RDMA/mlx5: Fix mlx5_ib_get_hw_stats when used for device + - RDMA/mlx5: Fix validation of max_rd_atomic caps for DC + - drm/meson: Reduce the FIFO lines held when AFBC is not used + - filelock: new helper: vfs_inode_has_locks + - ceph: switch to vfs_inode_has_locks() to fix file lock bug + - gpio: sifive: Fix refcount leak in sifive_gpio_probe + - net: sched: atm: dont intepret cls results when asked to drop + - net: sched: cbq: dont intepret cls results when asked to drop + - net: sparx5: Fix reading of the MAC address + - netfilter: ipset: fix hash:net,port,net hang with /0 subnet + - netfilter: ipset: Rework long task execution when adding/deleting entries + - perf tools: Fix resources leak in perf_data__open_dir() + - drm/imx: ipuv3-plane: Fix overlay plane width + - fs/ntfs3: don't hold ni_lock when calling truncate_setsize() + - drivers/net/bonding/bond_3ad: return when there's no aggregator + - octeontx2-pf: Fix lmtst ID used in aura free + - usb: rndis_host: Secure rndis_query check against int overflow + - perf stat: Fix handling of --for-each-cgroup with --bpf-counters to match + non BPF mode + - drm/i915: unpin on error in intel_vgpu_shadow_mm_pin() + - caif: fix memory leak in cfctrl_linkup_request() + - udf: Fix extension of the last extent in the file + - ASoC: Intel: bytcr_rt5640: Add quirk for the Advantech MICA-071 tablet + - nvme: fix multipath crash caused by flush request when blktrace is enabled + - io_uring: check for valid register opcode earlier + - nvmet: use NVME_CMD_EFFECTS_CSUPP instead of open coding it + - nvme: also return I/O command effects from nvme_command_effects + - btrfs: check superblock to ensure the fs was not modified at thaw time + - x86/kexec: Fix double-free of elf header buffer + - nfsd: fix handling of readdir in v4root vs. mount upcall timeout + - fbdev: matroxfb: G200eW: Increase max memory from 1 MB to 16 MB + - block: don't allow splitting of a REQ_NOWAIT bio + - io_uring: fix CQ waiting timeout handling + - thermal: int340x: Add missing attribute for data rate base + - riscv: uaccess: fix type of 0 variable on error in get_user() + - riscv, kprobes: Stricter c.jr/c.jalr decoding + - drm/i915/gvt: fix gvt debugfs destroy + - drm/i915/gvt: fix vgpu debugfs clean in remove + - hfs/hfsplus: avoid WARN_ON() for sanity check, use proper error handling + - ksmbd: fix infinite loop in ksmbd_conn_handler_loop() + - ksmbd: check nt_len to be at least CIFS_ENCPWD_SIZE in + ksmbd_decode_ntlmssp_auth_blob + - Revert "ACPI: PM: Add support for upcoming AMD uPEP HID AMDI007" + - mptcp: dedicated request sock for subflow in v6 + - mptcp: use proper req destructor for IPv6 + - ext4: don't allow journal inode to have encrypt flag + - btrfs: make thaw time super block check to also verify checksum + - mbcache: Avoid nesting of cache->c_list_lock under bit locks + - efi: random: combine bootloader provided RNG seed with RNG protocol output + - drm/mgag200: Fix PLL setup for G200_SE_A rev >=4 + - futex: Fix futex_waitv() hrtimer debug object leak on kcalloc error + - rtmutex: Add acquire semantics for rtmutex lock acquisition slow path + - mm/mempolicy: fix memory leak in set_mempolicy_home_node system call + - block: Do not reread partition table on exclusively open device + - arm64: dts: qcom: sdm850-samsung-w737: correct I2C12 pins drive strength + - EDAC/mc_sysfs: Increase legacy channel support to 12 + - ext2: unbugger ext2_empty_dir() + - bpf: Resolve fext program type when checking map compatibility + - mptcp: netlink: fix some error return code + - ima: Fix hash dependency to correct algorithm + - KVM: x86: fix APICv/x2AVIC disabled when vm reboot by itself + - powerpc/ftrace: fix syscall tracing on PPC64_ELF_ABI_V1 + - arm64: dts: mediatek: mt8195-demo: fix the memory size of node secmon + - drm/amdgpu: fix mmhub register base coding error + - mtd: spi-nor: gigadevice: gd25q256: replace gd25q256_default_init with + gd25q256_post_bfpt + - ima: Fix memory leak in __ima_inode_hash() + - crypto: ccree,hisilicon - Fix dependencies to correct algorithm + - RISC-V: kexec: Fix memory leak of fdt buffer + - riscv: Fixup compile error with !MMU + - RISC-V: kexec: Fix memory leak of elf header buffer + - bus: mhi: host: Fix race between channel preparation and M0 event + - test_kprobes: Fix implicit declaration error of test_kprobes + - remoteproc: imx_dsp_rproc: Add mutex protection for workqueue + - remoteproc: imx_rproc: Correct i.MX93 DRAM mapping + - parisc: Add missing FORCE prerequisites in Makefile + - ext4: journal_path mount options should follow links + - drm/i915: improve the catch-all evict to handle lock contention + - drm/i915/migrate: Account for the reserved_space + - cifs: fix interface count calculation during refresh + - cifs: refcount only the selected iface during interface update + - usb: dwc3: gadget: Ignore End Transfer delay on teardown + - ice: xsk: do not use xdp_return_frame() on tx_buf->raw_buf + - net: vrf: determine the dst using the original ifindex for multicast + - mptcp: fix lockdep false positive + - net: lan966x: Fix configuration of the PCS + - bnxt_en: Simplify bnxt_xdp_buff_init() + - bnxt_en: Fix XDP RX path + - bnxt_en: Fix first buffer size calculations for XDP multi-buffer + - bnxt_en: Fix HDS and jumbo thresholds for RX packets + - vdpa/mlx5: Fix rule forwarding VLAN to TIR + - vdpa/mlx5: Fix wrong mac address deletion + - vhost-vdpa: fix an iotlb memory leak + - virtio-crypto: fix memory leak in virtio_crypto_alg_skcipher_close_session() + - vdpa/vp_vdpa: fix kfree a wrong pointer in vp_vdpa_remove + - vdpasim: fix memory leak when freeing IOTLBs + - net/mlx5: Fix io_eq_size and event_eq_size params validation + - net/mlx5: Fix RoCE setting at HCA level + - net/mlx5e: CT: Fix ct debugfs folder name + - net/mlx5e: Set geneve_tlv_option_0_exist when matching on geneve option + - net/mlx5: Lag, fix failure to cancel delayed bond work + - vxlan: Fix memory leaks in error path + - drm/i915/gvt: fix double free bug in split_2MB_gtt_entry + - qed: allow sleep in qed_mcp_trace_dump() + - usb: dwc3: xilinx: include linux/gpio/consumer.h + - net: dsa: tag_qca: fix wrong MGMT_DATA2 size + - vhost_vdpa: fix the crash in unmap a large memory + - of/fdt: run soc memory setup when early_init_dt_scan_memory fails + * CVE-2022-36280 + - drm/vmwgfx: Validate the box size for the snooped cursor + * CVE-2023-1118 + - media: rc: Fix use-after-free bugs caused by ene_tx_irqsim() + + -- Khalid Elmously Mon, 15 May 2023 01:30:35 -0400 + +linux-gcp (5.19.0-1022.24) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1022.24 -proposed tracker (LP: #2016638) + + * CVE-2023-1829 + - [Config]: Make sure CONFIG_NET_CLS_TCINDEX is not available + + [ Ubuntu: 5.19.0-41.42 ] + + * kinetic/linux: 5.19.0-41.42 -proposed tracker (LP: #2016651) + * CVE-2023-1829 + - net/sched: Retire tcindex classifier + - [Config]: Make sure CONFIG_NET_CLS_TCINDEX is not available + * CVE-2023-0386 + - ovl: fail on invalid uid/gid mapping at copy up + + -- Thadeu Lima de Souza Cascardo Fri, 21 Apr 2023 10:11:17 -0300 + +linux-gcp (5.19.0-1021.23) kinetic; urgency=medium + + * Miscellaneous Ubuntu changes + - [packaging] Add sev-guest to default module list + + -- Khalid Elmously Mon, 17 Apr 2023 02:15:42 -0400 + +linux-gcp (5.19.0-1020.22) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1020.22 -proposed tracker (LP: #2011863) + + * Miscellaneous Ubuntu changes + - [config] Enable CONFIG_TDX_GUEST_DRIVER=m + - [packaging] update annotations + + [ Ubuntu: 5.19.0-40.41 ] + + * kinetic/linux: 5.19.0-40.41 -proposed tracker (LP: #2012668) + * CVE-2023-0468 + - io_uring: fix tw losing poll events + - io_uring: make poll refs more robust + * Regression in ext4 during online resize (LP: #2003816) + - ext4: fix bad checksum after online resize + - ext4: fix corruption when online resizing a 1K bigalloc fs + - ext4: fix corrupt backup group descriptors after online resize + + [ Ubuntu: 5.19.0-39.40 ] + + * kinetic/linux: 5.19.0-39.40 -proposed tracker (LP: #2011876) + * CVE-2023-26545 + - net: mpls: fix stale pointer if allocation fails during device rename + * CVE-2023-1032 + - net: avoid double iput when sock_alloc_file fails + * CVE-2022-41218 // CVE-2022-41218 is assigned to those bugs above. + - media: dvb-core: Fix UAF due to refcount races at releasing + * CVE-2023-1281 + - net/sched: tcindex: update imperfect hash filters respecting rcu + * linux: CONFIG_SERIAL_8250_MID=y (LP: #2009283) + - [Config] enable CONFIG_SERIAL_8250_MID=y + * apply the latest TDX attestation driver from Intel (LP: #2009437) + - Revert "UBUNTU: SAUCE: selftests: tdx: Test GetReport TDX attestation + feature" + - Revert "UBUNTU: SAUCE: x86/tdx: Add TDX Guest attestation interface driver" + - x86/tdx: Add a wrapper to get TDREPORT0 from the TDX Module + - virt: Add TDX guest driver + - selftests/tdx: Test TDX attestation GetReport support + - [Config] enable TDX attestation driver as module by default + * cpufreq: intel_pstate: Update Balance performance EPP for Sapphire Rapids + (LP: #2008519) + - cpufreq: intel_pstate: Adjust balance_performance EPP for Sapphire Rapids + * Fail to output sound to external monitor which connects via docking station + (LP: #2009024) + - [Config] Enable CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM + * Fix mediatek wifi driver crash when loading wrong SAR table (LP: #2009118) + - wifi: mt76: mt7921: fix error code of return in mt7921_acpi_read + * CVE-2022-47929 + - net: sched: disallow noqueue for qdisc classes + * Intel graphic driver is not probing[8086:468b] (LP: #1990242) + - drm/i915: Add new ADL-S pci id + * Some QHD panels fail to refresh when PSR2 enabled (LP: #2009014) + - drm/i915/psr: Use full update In case of area calculation fails + - drm/i915: Ensure damage clip area is within pipe area + - SAUCE: drm/i915/psr: Use calculated io and fast wake lines + * overlayfs mounts as R/O over idmapped mount (LP: #2009065) + - SAUCE: overlayfs: handle idmapped mounts in ovl_do_(set|remove)xattr + * Kinetic update: upstream stable patchset 2023-02-28 (LP: #2008832) + - usb: musb: remove extra check in musb_gadget_vbus_draw + - arm64: dts: qcom: ipq6018-cp01-c1: use BLSPI1 pins + - arm64: dts: qcom: sm8250-sony-xperia-edo: fix touchscreen bias-disable + - arm64: dts: qcom: msm8996: Add MSM8996 Pro support + - arm64: dts: qcom: msm8996: fix supported-hw in cpufreq OPP tables + - arm64: dts: qcom: msm8996: fix GPU OPP table + - ARM: dts: qcom: apq8064: fix coresight compatible + - arm64: dts: qcom: sdm630: fix UART1 pin bias + - arm64: dts: qcom: sdm845-cheza: fix AP suspend pin bias + - arm64: dts: qcom: msm8916: Drop MSS fallback compatible + - objtool, kcsan: Add volatile read/write instrumentation to whitelist + - ARM: dts: stm32: Drop stm32mp15xc.dtsi from Avenger96 + - ARM: dts: stm32: Fix AV96 WLAN regulator gpio property + - drivers: soc: ti: knav_qmss_queue: Mark knav_acc_firmwares as static + - arm64: dts: qcom: pm660: Use unique ADC5_VCOIN address in node name + - arm64: dts: qcom: sm8250: correct LPASS pin pull down + - soc: qcom: llcc: make irq truly optional + - arm64: dts: qcom: sm8150: fix UFS PHY registers + - arm64: dts: qcom: sm8250: fix UFS PHY registers + - arm64: dts: qcom: sm8350: fix UFS PHY registers + - arm64: dts: qcom: sm8250: drop bogus DP PHY clock + - soc: qcom: apr: Add check for idr_alloc and of_property_read_string_index + - arm64: dts: qcom: sm6125: fix SDHCI CQE reg names + - arm: dts: spear600: Fix clcd interrupt + - soc: ti: knav_qmss_queue: Fix PM disable depth imbalance in knav_queue_probe + - soc: ti: smartreflex: Fix PM disable depth imbalance in omap_sr_probe + - arm64: mm: kfence: only handle translation faults + - perf: arm_dsu: Fix hotplug callback leak in dsu_pmu_init() + - perf/arm_dmc620: Fix hotplug callback leak in dmc620_pmu_init() + - perf/smmuv3: Fix hotplug callback leak in arm_smmu_pmu_init() + - arm64: dts: ti: k3-am65-main: Drop dma-coherent in crypto node + - arm64: dts: ti: k3-j721e-main: Drop dma-coherent in crypto node + - ARM: dts: nuvoton: Remove bogus unit addresses from fixed-partition nodes + - arm64: dts: mt6779: Fix devicetree build warnings + - arm64: dts: mt2712e: Fix unit_address_vs_reg warning for oscillators + - arm64: dts: mt2712e: Fix unit address for pinctrl node + - arm64: dts: mt2712-evb: Fix vproc fixed regulators unit names + - arm64: dts: mt2712-evb: Fix usb vbus regulators unit names + - arm64: dts: mediatek: pumpkin-common: Fix devicetree warnings + - arm64: dts: mediatek: mt6797: Fix 26M oscillator unit name + - ARM: dts: dove: Fix assigned-addresses for every PCIe Root Port + - ARM: dts: armada-370: Fix assigned-addresses for every PCIe Root Port + - ARM: dts: armada-xp: Fix assigned-addresses for every PCIe Root Port + - ARM: dts: armada-375: Fix assigned-addresses for every PCIe Root Port + - ARM: dts: armada-38x: Fix assigned-addresses for every PCIe Root Port + - ARM: dts: armada-39x: Fix assigned-addresses for every PCIe Root Port + - ARM: dts: turris-omnia: Add ethernet aliases + - ARM: dts: turris-omnia: Add switch port 6 node + - arm64: dts: armada-3720-turris-mox: Add missing interrupt for RTC + - seccomp: Move copy_seccomp() to no failure path. + - pstore/ram: Fix error return code in ramoops_probe() + - ARM: mmp: fix timer_read delay + - pstore: Avoid kcore oops by vmap()ing with VM_IOREMAP + - tpm/tpm_ftpm_tee: Fix error handling in ftpm_mod_init() + - tpm/tpm_crb: Fix error message in __crb_relinquish_locality() + - ovl: remove privs in ovl_copyfile() + - ovl: remove privs in ovl_fallocate() + - sched/uclamp: Fix relationship between uclamp and migration margin + - sched/uclamp: Make task_fits_capacity() use util_fits_cpu() + - sched/uclamp: Make select_idle_capacity() use util_fits_cpu() + - sched/core: Introduce sched_asym_cpucap_active() + - sched/uclamp: Make asym_fits_capacity() use util_fits_cpu() + - cpuidle: dt: Return the correct numbers of parsed idle states + - alpha: fix TIF_NOTIFY_SIGNAL handling + - alpha: fix syscall entry in !AUDUT_SYSCALL case + - x86/sgx: Reduce delay and interference of enclave release + - PM: hibernate: Fix mistake in kerneldoc comment + - fs: don't audit the capability check in simple_xattr_list() + - cpufreq: qcom-hw: Fix memory leak in qcom_cpufreq_hw_read_lut() + - selftests/ftrace: event_triggers: wait longer for test_event_enable + - perf: Fix possible memleak in pmu_dev_alloc() + - lib/debugobjects: fix stat count and optimize debug_objects_mem_init + - platform/x86: huawei-wmi: fix return value calculation + - timerqueue: Use rb_entry_safe() in timerqueue_getnext() + - proc: fixup uptime selftest + - lib/fonts: fix undefined behavior in bit shift for get_default_font + - ocfs2: fix memory leak in ocfs2_stack_glue_init() + - MIPS: vpe-mt: fix possible memory leak while module exiting + - MIPS: vpe-cmp: fix possible memory leak while module exiting + - selftests/efivarfs: Add checking of the test return value + - PNP: fix name memory leak in pnp_alloc_dev() + - perf/x86/intel/uncore: Fix reference count leak in sad_cfg_iio_topology() + - perf/x86/intel/uncore: Fix reference count leak in hswep_has_limit_sbox() + - perf/x86/intel/uncore: Fix reference count leak in snr_uncore_mmio_map() + - perf/x86/intel/uncore: Fix reference count leak in __uncore_imc_init_box() + - platform/chrome: cros_usbpd_notify: Fix error handling in + cros_usbpd_notify_init() + - thermal: core: fix some possible name leaks in error paths + - irqchip: gic-pm: Use pm_runtime_resume_and_get() in gic_probe() + - irqchip/wpcm450: Fix memory leak in wpcm450_aic_of_init() + - EDAC/i10nm: fix refcount leak in pci_get_dev_wrapper() + - NFSD: Finish converting the NFSv2 GETACL result encoder + - nfsd: don't call nfsd_file_put from client states seqfile display + - genirq/irqdesc: Don't try to remove non-existing sysfs files + - cpufreq: amd_freq_sensitivity: Add missing pci_dev_put() + - libfs: add DEFINE_SIMPLE_ATTRIBUTE_SIGNED for signed value + - lib/notifier-error-inject: fix error when writing -errno to debugfs file + - debugfs: fix error when writing negative value to atomic_t debugfs file + - rapidio: fix possible name leaks when rio_add_device() fails + - rapidio: rio: fix possible name leak in rio_register_mport() + - clocksource/drivers/sh_cmt: Access registers according to spec + - mips: ralink: mt7621: define MT7621_SYSC_BASE with __iomem + - mips: ralink: mt7621: soc queries and tests as functions + - mips: ralink: mt7621: do not use kzalloc too early + - futex: Resend potentially swallowed owner death notification + - cpu/hotplug: Make target_store() a nop when target == state + - cpu/hotplug: Do not bail-out in DYING/STARTING sections + - clocksource/drivers/timer-ti-dm: Fix missing clk_disable_unprepare in + dmtimer_systimer_init_clock() + - ACPICA: Fix use-after-free in acpi_ut_copy_ipackage_to_ipackage() + - uprobes/x86: Allow to probe a NOP instruction with 0x66 prefix + - x86/xen: Fix memory leak in xen_smp_intr_init{_pv}() + - x86/xen: Fix memory leak in xen_init_lock_cpu() + - xen/privcmd: Fix a possible warning in privcmd_ioctl_mmap_resource() + - PM: runtime: Do not call __rpm_callback() from rpm_idle() + - platform/chrome: cros_ec_typec: Cleanup switch handle return paths + - platform/chrome: cros_ec_typec: zero out stale pointers + - platform/x86: mxm-wmi: fix memleak in mxm_wmi_call_mx[ds|mx]() + - platform/x86: intel_scu_ipc: fix possible name leak in + __intel_scu_ipc_register() + - MIPS: BCM63xx: Add check for NULL for clk in clk_enable + - MIPS: OCTEON: warn only once if deprecated link status is being used + - lockd: set other missing fields when unlocking files + - fs: sysv: Fix sysv_nblocks() returns wrong value + - rapidio: fix possible UAF when kfifo_alloc() fails + - eventfd: change int to __u64 in eventfd_signal() ifndef CONFIG_EVENTFD + - relay: fix type mismatch when allocating memory in relay_create_buf() + - hfs: Fix OOB Write in hfs_asc2mac + - rapidio: devices: fix missing put_device in mport_cdev_open + - platform/mellanox: mlxbf-pmc: Fix event typo + - wifi: ath9k: hif_usb: fix memory leak of urbs in + ath9k_hif_usb_dealloc_tx_urbs() + - wifi: ath9k: hif_usb: Fix use-after-free in ath9k_hif_usb_reg_in_cb() + - wifi: rtl8xxxu: Fix reading the vendor of combo chips + - drm/bridge: adv7533: remove dynamic lane switching from adv7533 bridge + - libbpf: Fix use-after-free in btf_dump_name_dups + - libbpf: Fix null-pointer dereference in find_prog_by_sec_insn() + - ata: libata: fix NCQ autosense logic + - ipmi: kcs: Poll OBF briefly to reduce OBE latency + - drm/amdgpu/powerplay/psm: Fix memory leak in power state init + - media: v4l2-ctrls: Fix off-by-one error in integer menu control check + - media: coda: jpeg: Add check for kmalloc + - media: adv748x: afe: Select input port when initializing AFE + - media: i2c: ad5820: Fix error path + - venus: pm_helpers: Fix error check in vcodec_domains_get() + - soreuseport: Fix socket selection for SO_INCOMING_CPU. + - media: exynos4-is: don't rely on the v4l2_async_subdev internals + - libbpf: Btf dedup identical struct test needs check for nested + structs/arrays + - can: kvaser_usb: kvaser_usb_leaf: Get capabilities from device + - can: kvaser_usb: kvaser_usb_leaf: Rename {leaf,usbcan}_cmd_error_event to + {leaf,usbcan}_cmd_can_error_event + - can: kvaser_usb: kvaser_usb_leaf: Handle CMD_ERROR_EVENT + - can: kvaser_usb_leaf: Set Warning state even without bus errors + - can: kvaser_usb_leaf: Fix improved state not being reported + - can: kvaser_usb_leaf: Fix wrong CAN state after stopping + - can: kvaser_usb_leaf: Fix bogus restart events + - can: kvaser_usb: Add struct kvaser_usb_busparams + - can: kvaser_usb: Compare requested bittiming parameters with actual + parameters in do_set_{,data}_bittiming + - drm/rockchip: lvds: fix PM usage counter unbalance in poweron + - clk: renesas: r9a06g032: Repair grave increment error + - spi: Update reference to struct spi_controller + - drm/panel/panel-sitronix-st7701: Remove panel on DSI attach failure + - drm/msm/hdmi: drop unused GPIO support + - drm/msm/hdmi: use devres helper for runtime PM management + - bpf: Fix slot type check in check_stack_write_var_off + - media: vivid: fix compose size exceed boundary + - media: platform: exynos4-is: fix return value check in fimc_md_probe() + - bpf: propagate precision in ALU/ALU64 operations + - bpf: propagate precision across all frames, not just the last one + - clk: qcom: gcc-sm8250: Use retention mode for USB GDSCs + - mtd: Fix device name leak when register device failed in add_mtd_device() + - Input: joystick - fix Kconfig warning for JOYSTICK_ADC + - wifi: rsi: Fix handling of 802.3 EAPOL frames sent via control port + - media: camss: Clean up received buffers on failed start of streaming + - net, proc: Provide PROC_FS=n fallback for proc_create_net_single_write() + - rxrpc: Fix ack.bufferSize to be 0 when generating an ack + - bfq: fix waker_bfqq inconsistency crash + - drm/radeon: Add the missed acpi_put_table() to fix memory leak + - drm/mediatek: Modify dpi power on/off sequence. + - ASoC: pxa: fix null-pointer dereference in filter() + - nvmet: only allocate a single slab for bvecs + - regulator: core: fix unbalanced of node refcount in regulator_dev_lookup() + - amdgpu/pm: prevent array underflow in vega20_odn_edit_dpm_table() + - nvme: return err on nvme_init_non_mdts_limits fail + - regulator: qcom-rpmh: Fix PMR735a S3 regulator spec + - drm/fourcc: Fix vsub/hsub for Q410 and Q401 + - integrity: Fix memory leakage in keyring allocation error path + - ima: Fix misuse of dereference of pointer in template_desc_init_fields() + - block: clear ->slave_dir when dropping the main slave_dir reference + - wifi: ath10k: Fix return value in ath10k_pci_init() + - drm/msm/a6xx: Fix speed-bin detection vs probe-defer + - mtd: lpddr2_nvm: Fix possible null-ptr-deref + - Input: elants_i2c - properly handle the reset GPIO when power is off + - media: vidtv: Fix use-after-free in vidtv_bridge_dvb_init() + - media: solo6x10: fix possible memory leak in solo_sysfs_init() + - media: platform: exynos4-is: Fix error handling in fimc_md_init() + - media: videobuf-dma-contig: use dma_mmap_coherent + - mtd: spi-nor: hide jedec_id sysfs attribute if not present + - mtd: spi-nor: Fix the number of bytes for the dummy cycles + - bpf: Move skb->len == 0 checks into __bpf_redirect + - HID: hid-sensor-custom: set fixed size for custom attributes + - pinctrl: k210: call of_node_put() + - ALSA: pcm: fix undefined behavior in bit shift for SNDRV_PCM_RATE_KNOT + - ALSA: seq: fix undefined behavior in bit shift for + SNDRV_SEQ_FILTER_USE_EVENT + - regulator: core: use kfree_const() to free space conditionally + - clk: rockchip: Fix memory leak in rockchip_clk_register_pll() + - drm/amdgpu: fix pci device refcount leak + - bonding: fix link recovery in mode 2 when updelay is nonzero + - mtd: maps: pxa2xx-flash: fix memory leak in probe + - drbd: remove call to memset before free device/resource/connection + - drbd: destroy workqueue when drbd device was freed + - ASoC: qcom: Add checks for devm_kcalloc + - media: vimc: Fix wrong function called when vimc_init() fails + - media: imon: fix a race condition in send_packet() + - clk: imx8mn: rename vpu_pll to m7_alt_pll + - clk: imx: replace osc_hdmi with dummy + - clk: imx8mn: fix imx8mn_sai2_sels clocks list + - clk: imx8mn: fix imx8mn_enet_phy_sels clocks list + - pinctrl: pinconf-generic: add missing of_node_put() + - media: dvb-core: Fix ignored return value in dvb_register_frontend() + - media: dvb-usb: az6027: fix null-ptr-deref in az6027_i2c_xfer() + - media: s5p-mfc: Add variant data for MFC v7 hardware for Exynos 3250 SoC + - drm/tegra: Add missing clk_disable_unprepare() in tegra_dc_probe() + - ASoC: dt-bindings: wcd9335: fix reset line polarity in example + - ASoC: mediatek: mtk-btcvsd: Add checks for write and read of mtk_btcvsd_snd + - NFSv4.2: Clear FATTR4_WORD2_SECURITY_LABEL when done decoding + - NFSv4.2: Fix a memory stomp in decode_attr_security_label + - NFSv4.2: Fix initialisation of struct nfs4_label + - NFSv4: Fix a credential leak in _nfs4_discover_trunking() + - NFSv4: Fix a deadlock between nfs4_open_recover_helper() and delegreturn + - NFS: Fix an Oops in nfs_d_automount() + - ALSA: asihpi: fix missing pci_disable_device() + - wifi: iwlwifi: mvm: fix double free on tx path. + - ASoC: mediatek: mt8173: Enable IRQ when pdata is ready + - drm/amd/pm/smu11: BACO is supported when it's in BACO state + - drm/radeon: Fix PCI device refcount leak in radeon_atrm_get_bios() + - drm/amdgpu: Fix PCI device refcount leak in amdgpu_atrm_get_bios() + - drm/amdkfd: Fix memory leakage + - ASoC: pcm512x: Fix PM disable depth imbalance in pcm512x_probe + - netfilter: conntrack: set icmpv6 redirects as RELATED + - Input: wistron_btns - disable on UML + - bpf, sockmap: Fix repeated calls to sock_put() when msg has more_data + - bpf, sockmap: Fix missing BPF_F_INGRESS flag when using apply_bytes + - bpf, sockmap: Fix data loss caused by using apply_bytes on ingress redirect + - bonding: uninitialized variable in bond_miimon_inspect() + - spi: spidev: mask SPI_CS_HIGH in SPI_IOC_RD_MODE + - wifi: cfg80211: Fix not unregister reg_pdev when load_builtin_regdb_keys() + fails + - wifi: mt76: mt7921: fix reporting of TX AGGR histogram + - wifi: mt76: fix coverity overrun-call in mt76_get_txpower() + - regulator: core: fix module refcount leak in set_supply() + - clk: qcom: lpass-sc7180: Fix pm_runtime usage + - clk: qcom: clk-krait: fix wrong div2 functions + - hsr: Add a rcu-read lock to hsr_forward_skb(). + - hsr: Avoid double remove of a node. + - hsr: Disable netpoll. + - hsr: Synchronize sending frames to have always incremented outgoing seq nr. + - hsr: Synchronize sequence number updates. + - configfs: fix possible memory leak in configfs_create_dir() + - regulator: core: fix resource leak in regulator_register() + - hwmon: (jc42) Convert register access and caching to regmap/regcache + - hwmon: (jc42) Restore the min/max/critical temperatures on resume + - bpf, sockmap: fix race in sock_map_free() + - ALSA: pcm: Set missing stop_operating flag at undoing trigger start + - media: saa7164: fix missing pci_disable_device() + - ALSA: mts64: fix possible null-ptr-defer in snd_mts64_interrupt + - xprtrdma: Fix regbuf data not freed in rpcrdma_req_create() + - SUNRPC: Fix missing release socket in rpc_sockname() + - NFSv4.x: Fail client initialisation if state manager thread can't run + - riscv, bpf: Emit fixed-length instructions for BPF_PSEUDO_FUNC + - mmc: alcor: fix return value check of mmc_add_host() + - mmc: moxart: fix return value check of mmc_add_host() + - mmc: mxcmmc: fix return value check of mmc_add_host() + - mmc: pxamci: fix return value check of mmc_add_host() + - mmc: rtsx_pci: fix return value check of mmc_add_host() + - mmc: rtsx_usb_sdmmc: fix return value check of mmc_add_host() + - mmc: toshsd: fix return value check of mmc_add_host() + - mmc: vub300: fix return value check of mmc_add_host() + - mmc: wmt-sdmmc: fix return value check of mmc_add_host() + - mmc: atmel-mci: fix return value check of mmc_add_host() + - mmc: omap_hsmmc: fix return value check of mmc_add_host() + - mmc: meson-gx: fix return value check of mmc_add_host() + - mmc: via-sdmmc: fix return value check of mmc_add_host() + - mmc: wbsd: fix return value check of mmc_add_host() + - mmc: mmci: fix return value check of mmc_add_host() + - mmc: renesas_sdhi: alway populate SCC pointer + - memstick/ms_block: Add check for alloc_ordered_workqueue + - mmc: core: Normalize the error handling branch in sd_read_ext_regs() + - regulator: qcom-labibb: Fix missing of_node_put() in + qcom_labibb_regulator_probe() + - media: c8sectpfe: Add of_node_put() when breaking out of loop + - media: coda: Add check for dcoda_iram_alloc + - media: coda: Add check for kmalloc + - clk: samsung: Fix memory leak in _samsung_clk_register_pll() + - spi: spi-gpio: Don't set MOSI as an input if not 3WIRE mode + - wifi: rtl8xxxu: Add __packed to struct rtl8723bu_c2h + - wifi: rtl8xxxu: Fix the channel width reporting + - wifi: brcmfmac: Fix error return code in brcmf_sdio_download_firmware() + - blktrace: Fix output non-blktrace event when blk_classic option enabled + - bpf: Do not zero-extend kfunc return values + - clk: socfpga: Fix memory leak in socfpga_gate_init() + - net: vmw_vsock: vmci: Check memcpy_from_msg() + - net: defxx: Fix missing err handling in dfx_init() + - net: stmmac: selftests: fix potential memleak in stmmac_test_arpoffload() + - net: stmmac: fix possible memory leak in stmmac_dvr_probe() + - drivers: net: qlcnic: Fix potential memory leak in qlcnic_sriov_init() + - of: overlay: fix null pointer dereferencing in find_dup_cset_node_entry() + and find_dup_cset_prop() + - ethernet: s2io: don't call dev_kfree_skb() under spin_lock_irqsave() + - net: farsync: Fix kmemleak when rmmods farsync + - net/tunnel: wait until all sk_user_data reader finish before releasing the + sock + - net: apple: mace: don't call dev_kfree_skb() under spin_lock_irqsave() + - net: apple: bmac: don't call dev_kfree_skb() under spin_lock_irqsave() + - net: emaclite: don't call dev_kfree_skb() under spin_lock_irqsave() + - net: ethernet: dnet: don't call dev_kfree_skb() under spin_lock_irqsave() + - hamradio: don't call dev_kfree_skb() under spin_lock_irqsave() + - net: amd: lance: don't call dev_kfree_skb() under spin_lock_irqsave() + - af_unix: call proto_unregister() in the error path in af_unix_init() + - net: amd-xgbe: Fix logic around active and passive cables + - net: amd-xgbe: Check only the minimum speed for active/passive cables + - can: tcan4x5x: Remove invalid write in clear_interrupts + - can: m_can: Call the RAM init directly from m_can_chip_config + - can: tcan4x5x: Fix use of register error status mask + - net: lan9303: Fix read error execution path + - ntb_netdev: Use dev_kfree_skb_any() in interrupt context + - sctp: sysctl: make extra pointers netns aware + - Bluetooth: MGMT: Fix error report for ADD_EXT_ADV_PARAMS + - Bluetooth: btintel: Fix missing free skb in btintel_setup_combined() + - Bluetooth: btusb: don't call kfree_skb() under spin_lock_irqsave() + - Bluetooth: hci_qca: don't call kfree_skb() under spin_lock_irqsave() + - Bluetooth: hci_ll: don't call kfree_skb() under spin_lock_irqsave() + - Bluetooth: hci_h5: don't call kfree_skb() under spin_lock_irqsave() + - Bluetooth: hci_bcsp: don't call kfree_skb() under spin_lock_irqsave() + - Bluetooth: hci_core: don't call kfree_skb() under spin_lock_irqsave() + - Bluetooth: RFCOMM: don't call kfree_skb() under spin_lock_irqsave() + - stmmac: fix potential division by 0 + - i40e: Fix the inability to attach XDP program on downed interface + - net: dsa: tag_8021q: avoid leaking ctx on dsa_tag_8021q_register() error + path + - crypto: hisilicon/qm - fix missing destroy qp_idr + - crypto: sun8i-ss - use dma_addr instead u32 + - crypto: nitrox - avoid double free on error path in nitrox_sriov_init() + - scsi: core: Fix a race between scsi_done() and scsi_timeout() + - apparmor: Use pointer to struct aa_label for lbs_cred + - PCI: dwc: Fix n_fts[] array overrun + - RDMA/core: Fix order of nldev_exit call + - PCI: pci-epf-test: Register notifier if only core_init_notifier is enabled + - f2fs: Fix the race condition of resize flag between resizefs + - crypto: rockchip - do not do custom power management + - crypto: rockchip - do not store mode globally + - crypto: rockchip - add fallback for cipher + - crypto: rockchip - add fallback for ahash + - crypto: rockchip - better handle cipher key + - crypto: rockchip - remove non-aligned handling + - crypto: rockchip - rework by using crypto_engine + - apparmor: Fix memleak in alloc_ns() + - f2fs: fix to invalidate dcc->f2fs_issue_discard in error path + - f2fs: fix normal discard process + - f2fs: fix to destroy sbi->post_read_wq in error path of f2fs_fill_super() + - RDMA/irdma: Report the correct link speed + - scsi: qla2xxx: Fix set-but-not-used variable warnings + - RDMA/siw: Fix immediate work request flush to completion queue + - IB/mad: Don't call to function that might sleep while in atomic context + - RDMA/restrack: Release MR restrack when delete + - RDMA/core: Make sure "ib_port" is valid when access sysfs node + - RDMA/nldev: Return "-EAGAIN" if the cm_id isn't from expected port + - RDMA/siw: Set defined status for work completion with undefined status + - scsi: scsi_debug: Fix a warning in resp_write_scat() + - crypto: ccree - Remove debugfs when platform_driver_register failed + - crypto: cryptd - Use request context instead of stack for sub-request + - crypto: hisilicon/qm - add missing pci_dev_put() in q_num_set() + - RDMA/hns: Repacing 'dseg_len' by macros in fill_ext_sge_inl_data() + - RDMA/hns: Fix ext_sge num error when post send + - PCI: Check for alloc failure in pci_request_irq() + - RDMA/hfi: Decrease PCI device reference count in error path + - crypto: ccree - Make cc_debugfs_global_fini() available for module init + function + - RDMA/hns: fix memory leak in hns_roce_alloc_mr() + - RDMA/rxe: Fix NULL-ptr-deref in rxe_qp_do_cleanup() when socket create + failed + - dt-bindings: imx6q-pcie: Fix clock names for imx6sx and imx8mq + - dt-bindings: visconti-pcie: Fix interrupts array max constraints + - scsi: hpsa: Fix possible memory leak in hpsa_init_one() + - crypto: tcrypt - Fix multibuffer skcipher speed test mem leak + - padata: Always leave BHs disabled when running ->parallel() + - padata: Fix list iterator in padata_do_serial() + - scsi: mpt3sas: Fix possible resource leaks in mpt3sas_transport_port_add() + - scsi: hpsa: Fix error handling in hpsa_add_sas_host() + - scsi: hpsa: Fix possible memory leak in hpsa_add_sas_device() + - scsi: efct: Fix possible memleak in efct_device_init() + - scsi: scsi_debug: Fix a warning in resp_verify() + - scsi: scsi_debug: Fix a warning in resp_report_zones() + - scsi: fcoe: Fix possible name leak when device_register() fails + - scsi: scsi_debug: Fix possible name leak in sdebug_add_host_helper() + - scsi: ipr: Fix WARNING in ipr_init() + - scsi: fcoe: Fix transport not deattached when fcoe_if_init() fails + - scsi: snic: Fix possible UAF in snic_tgt_create() + - RDMA/nldev: Add checks for nla_nest_start() in fill_stat_counter_qps() + - f2fs: avoid victim selection from previous victim section + - RDMA/nldev: Fix failure to send large messages + - crypto: amlogic - Remove kcalloc without check + - crypto: omap-sham - Use pm_runtime_resume_and_get() in omap_sham_probe() + - riscv/mm: add arch hook arch_clear_hugepage_flags + - RDMA/hfi1: Fix error return code in parse_platform_config() + - RDMA/srp: Fix error return code in srp_parse_options() + - orangefs: Fix sysfs not cleanup when dev init failed + - RDMA/hns: Fix AH attr queried by query_qp + - RDMA/hns: Fix PBL page MTR find + - RDMA/hns: Fix page size cap from firmware + - RDMA/hns: Fix error code of CMD + - crypto: img-hash - Fix variable dereferenced before check 'hdev->req' + - hwrng: amd - Fix PCI device refcount leak + - hwrng: geode - Fix PCI device refcount leak + - IB/IPoIB: Fix queue count inconsistency for PKEY child interfaces + - RISC-V: Align the shadow stack + - drivers: dio: fix possible memory leak in dio_init() + - serial: tegra: Read DMA status before terminating + - serial: 8250_bcm7271: Fix error handling in brcmuart_init() + - class: fix possible memory leak in __class_register() + - vfio: platform: Do not pass return buffer to ACPI _RST method + - uio: uio_dmem_genirq: Fix missing unlock in irq configuration + - uio: uio_dmem_genirq: Fix deadlock between irq config and handling + - usb: fotg210-udc: Fix ages old endianness issues + - staging: vme_user: Fix possible UAF in tsi148_dma_list_add + - usb: typec: Check for ops->exit instead of ops->enter in altmode_exit + - usb: typec: tcpci: fix of node refcount leak in tcpci_register_port() + - usb: typec: tipd: Cleanup resources if devm_tps6598_psy_register fails + - usb: typec: tipd: Fix spurious fwnode_handle_put in error path + - extcon: usbc-tusb320: Factor out extcon into dedicated functions + - extcon: usbc-tusb320: Add USB TYPE-C support + - extcon: usbc-tusb320: Update state on probe even if no IRQ pending + - serial: amba-pl011: avoid SBSA UART accessing DMACR register + - serial: pl011: Do not clear RX FIFO & RX interrupt in unthrottle. + - serial: stm32: move dma_request_chan() before clk_prepare_enable() + - serial: pch: Fix PCI device refcount leak in pch_request_dma() + - tty: serial: clean up stop-tx part in altera_uart_tx_chars() + - tty: serial: altera_uart_{r,t}x_chars() need only uart_port + - serial: altera_uart: fix locking in polling mode + - serial: sunsab: Fix error handling in sunsab_init() + - test_firmware: fix memory leak in test_firmware_init() + - misc: ocxl: fix possible name leak in ocxl_file_register_afu() + - ocxl: fix pci device refcount leak when calling get_function_0() + - misc: tifm: fix possible memory leak in tifm_7xx1_switch_media() + - misc: sgi-gru: fix use-after-free error in gru_set_context_option, gru_fault + and gru_handle_user_call_os + - firmware: raspberrypi: fix possible memory leak in rpi_firmware_probe() + - cxl: fix possible null-ptr-deref in cxl_guest_init_afu|adapter() + - cxl: fix possible null-ptr-deref in cxl_pci_init_afu|adapter() + - iio: temperature: ltc2983: make bulk write buffer DMA-safe + - iio: adis: add '__adis_enable_irq()' implementation + - counter: stm32-lptimer-cnt: fix the check on arr and cmp registers update + - coresight: trbe: remove cpuhp instance node before remove cpuhp state + - usb: roles: fix of node refcount leak in usb_role_switch_is_parent() + - usb: gadget: f_hid: fix f_hidg lifetime vs cdev + - usb: gadget: f_hid: fix refcount leak on error path + - drivers: mcb: fix resource leak in mcb_probe() + - mcb: mcb-parse: fix error handing in chameleon_parse_gdd() + - chardev: fix error handling in cdev_device_add() + - i2c: pxa-pci: fix missing pci_disable_device() on error in ce4100_i2c_probe + - staging: rtl8192u: Fix use after free in ieee80211_rx() + - staging: rtl8192e: Fix potential use-after-free in rtllib_rx_Monitor() + - vme: Fix error not catched in fake_init() + - gpiolib: cdev: fix NULL-pointer dereferences + - gpiolib: protect the GPIO device against being dropped while in use by user- + space + - i2c: mux: reg: check return value after calling platform_get_resource() + - i2c: ismt: Fix an out-of-bounds bug in ismt_access() + - usb: storage: Add check for kcalloc + - tracing/hist: Fix issue of losting command info in error_log + - ksmbd: Fix resource leak in ksmbd_session_rpc_open() + - samples: vfio-mdev: Fix missing pci_disable_device() in mdpy_fb_probe() + - thermal/drivers/imx8mm_thermal: Validate temperature range + - thermal/drivers/qcom/temp-alarm: Fix inaccurate warning for gen2 + - thermal/drivers/qcom/lmh: Fix irq handler return value + - fbdev: ssd1307fb: Drop optional dependency + - fbdev: pm2fb: fix missing pci_disable_device() + - fbdev: via: Fix error in via_core_init() + - fbdev: vermilion: decrease reference count in error path + - fbdev: ep93xx-fb: Add missing clk_disable_unprepare in ep93xxfb_probe() + - fbdev: geode: don't build on UML + - fbdev: uvesafb: don't build on UML + - fbdev: uvesafb: Fixes an error handling path in uvesafb_probe() + - HSI: omap_ssi_core: fix unbalanced pm_runtime_disable() + - HSI: omap_ssi_core: fix possible memory leak in ssi_probe() + - power: supply: fix residue sysfs file in error handle route of + __power_supply_register() + - perf trace: Return error if a system call doesn't exist + - perf trace: Use macro RAW_SYSCALL_ARGS_NUM to replace number + - perf trace: Handle failure when trace point folder is missed + - perf symbol: correction while adjusting symbol + - power: supply: z2_battery: Fix possible memleak in z2_batt_probe() + - HSI: omap_ssi_core: Fix error handling in ssi_init() + - power: supply: ab8500: Fix error handling in ab8500_charger_init() + - power: supply: fix null pointer dereferencing in + power_supply_get_battery_info + - perf stat: Refactor __run_perf_stat() common code + - perf stat: Do not delay the workload with --delay + - RDMA/siw: Fix pointer cast warning + - fs/ntfs3: Avoid UBSAN error on true_sectors_per_clst() + - fs/ntfs3: Harden against integer overflows + - iommu/sun50i: Fix reset release + - iommu/sun50i: Consider all fault sources for reset + - iommu/sun50i: Fix R/W permission check + - iommu/sun50i: Fix flush size + - iommu/rockchip: fix permission bits in page table entries v2 + - phy: usb: s2 WoL wakeup_count not incremented for USB->Eth devices + - include/uapi/linux/swab: Fix potentially missing __always_inline + - pwm: tegra: Improve required rate calculation + - fs/ntfs3: Fix slab-out-of-bounds read in ntfs_trim_fs + - dmaengine: idxd: Fix crc_val field for completion record + - rtc: rtc-cmos: Do not check ACPI_FADT_LOW_POWER_S0 + - rtc: cmos: Fix event handler registration ordering issue + - rtc: cmos: Fix wake alarm breakage + - rtc: cmos: fix build on non-ACPI platforms + - rtc: cmos: Call cmos_wake_setup() from cmos_do_probe() + - rtc: cmos: Call rtc_wake_setup() from cmos_do_probe() + - rtc: cmos: Eliminate forward declarations of some functions + - rtc: cmos: Rename ACPI-related functions + - rtc: cmos: Disable ACPI RTC event on removal + - rtc: snvs: Allow a time difference on clock register read + - rtc: pcf85063: Fix reading alarm + - iommu/amd: Fix pci device refcount leak in ppr_notifier() + - iommu/fsl_pamu: Fix resource leak in fsl_pamu_probe() + - macintosh: fix possible memory leak in macio_add_one_device() + - macintosh/macio-adb: check the return value of ioremap() + - powerpc/52xx: Fix a resource leak in an error handling path + - cxl: Fix refcount leak in cxl_calc_capp_routing + - powerpc/xmon: Fix -Wswitch-unreachable warning in bpt_cmds + - powerpc/xive: add missing iounmap() in error path in + xive_spapr_populate_irq_data() + - powerpc/perf: callchain validate kernel stack pointer bounds + - powerpc/83xx/mpc832x_rdb: call platform_device_put() in error case in + of_fsl_spi_probe() + - powerpc/hv-gpci: Fix hv_gpci event list + - selftests/powerpc: Fix resource leaks + - iommu/sun50i: Remove IOMMU_DOMAIN_IDENTITY + - pwm: sifive: Call pwm_sifive_update_clock() while mutex is held + - pwm: mtk-disp: Fix the parameters calculated by the enabled flag of disp_pwm + - pwm: mediatek: always use bus clock for PWM on MT7622 + - remoteproc: sysmon: fix memory leak in qcom_add_sysmon_subdev() + - remoteproc: qcom: q6v5: Fix potential null-ptr-deref in + q6v5_wcss_init_mmio() + - remoteproc: qcom_q6v5_pas: disable wakeup on probe fail or remove + - remoteproc: qcom_q6v5_pas: detach power domains on remove + - remoteproc: qcom_q6v5_pas: Fix missing of_node_put() in + adsp_alloc_memory_region() + - remoteproc: qcom: q6v5: Fix missing clk_disable_unprepare() in + q6v5_wcss_qcs404_power_on() + - powerpc/pseries/eeh: use correct API for error log size + - mfd: bd957x: Fix Kconfig dependency on REGMAP_IRQ + - mfd: qcom_rpm: Fix an error handling path in qcom_rpm_probe() + - mfd: pm8008: Remove driver data structure pm8008_data + - mfd: pm8008: Fix return value check in pm8008_probe() + - netfilter: flowtable: really fix NAT IPv6 offload + - rtc: st-lpc: Add missing clk_disable_unprepare in st_rtc_probe() + - rtc: pic32: Move devm_rtc_allocate_device earlier in pic32_rtc_probe() + - rtc: pcf85063: fix pcf85063_clkout_control + - nfsd: under NFSv4.1, fix double svc_xprt_put on rpc_create failure + - net: macsec: fix net device access prior to holding a lock + - mISDN: hfcsusb: don't call dev_kfree_skb/kfree_skb() under + spin_lock_irqsave() + - mISDN: hfcpci: don't call dev_kfree_skb/kfree_skb() under + spin_lock_irqsave() + - mISDN: hfcmulti: don't call dev_kfree_skb/kfree_skb() under + spin_lock_irqsave() + - block, bfq: fix possible uaf for 'bfqq->bic' + - net: enetc: avoid buffer leaks on xdp_do_redirect() failure + - nfc: pn533: Clear nfc_target before being used + - unix: Fix race in SOCK_SEQPACKET's unix_dgram_sendmsg() + - r6040: Fix kmemleak in probe and remove + - igc: Enhance Qbv scheduling by using first flag bit + - igc: Use strict cycles for Qbv scheduling + - igc: Add checking for basetime less than zero + - igc: allow BaseTime 0 enrollment for Qbv + - igc: recalculate Qbv end_time by considering cycle time + - igc: Lift TAPRIO schedule restriction + - igc: Set Qbv start_time and end_time to end_time if not being configured in + GCL + - rtc: mxc_v2: Add missing clk_disable_unprepare() + - selftests: devlink: fix the fd redirect in dummy_reporter_test + - openvswitch: Fix flow lookup to use unmasked key + - soc: mediatek: pm-domains: Fix the power glitch issue + - arm64: dts: mt8183: Fix Mali GPU clock + - skbuff: Account for tail adjustment during pull operations + - mailbox: mpfs: read the system controller's status + - mailbox: arm_mhuv2: Fix return value check in mhuv2_probe() + - mailbox: zynq-ipi: fix error handling while device_register() fails + - net_sched: reject TCF_EM_SIMPLE case for complex ematch module + - rxrpc: Fix missing unlock in rxrpc_do_sendmsg() + - myri10ge: Fix an error handling path in myri10ge_probe() + - net: stream: purge sk_error_queue in sk_stream_kill_queues() + - HID: amd_sfh: Add missing check for dma_alloc_coherent + - rcu: Fix __this_cpu_read() lockdep warning in rcu_force_quiescent_state() + - arm64: make is_ttbrX_addr() noinstr-safe + - video: hyperv_fb: Avoid taking busy spinlock on panic path + - x86/hyperv: Remove unregister syscore call from Hyper-V cleanup + - binfmt_misc: fix shift-out-of-bounds in check_special_flags + - fs: jfs: fix shift-out-of-bounds in dbAllocAG + - udf: Avoid double brelse() in udf_rename() + - jfs: Fix fortify moan in symlink + - fs: jfs: fix shift-out-of-bounds in dbDiscardAG + - ACPICA: Fix error code path in acpi_ds_call_control_method() + - nilfs2: fix shift-out-of-bounds/overflow in nilfs_sb2_bad_offset() + - nilfs2: fix shift-out-of-bounds due to too large exponent of block size + - acct: fix potential integer overflow in encode_comp_t() + - hfs: fix OOB Read in __hfs_brec_find + - drm/etnaviv: add missing quirks for GC300 + - media: imx-jpeg: Disable useless interrupt to avoid kernel panic + - brcmfmac: return error when getting invalid max_flowrings from dongle + - wifi: ath9k: verify the expected usb_endpoints are present + - wifi: ar5523: Fix use-after-free on ar5523_cmd() timed out + - ASoC: codecs: rt298: Add quirk for KBL-R RVP platform + - ipmi: fix memleak when unload ipmi driver + - drm/amd/display: prevent memory leak + - Revert "drm/amd/display: Limit max DSC target bpp for specific monitors" + - qed (gcc13): use u16 for fid to be big enough + - bpf: make sure skb->len != 0 when redirecting to a tunneling device + - net: ethernet: ti: Fix return type of netcp_ndo_start_xmit() + - hamradio: baycom_epp: Fix return type of baycom_send_packet() + - wifi: brcmfmac: Fix potential shift-out-of-bounds in + brcmf_fw_alloc_request() + - igb: Do not free q_vector unless new one was allocated + - drm/amdgpu: Fix type of second parameter in trans_msg() callback + - drm/amdgpu: Fix type of second parameter in odn_edit_dpm_table() callback + - s390/ctcm: Fix return type of ctc{mp,}m_tx() + - s390/netiucv: Fix return type of netiucv_tx() + - s390/lcs: Fix return type of lcs_start_xmit() + - drm/msm: Use drm_mode_copy() + - drm/rockchip: Use drm_mode_copy() + - drm/sti: Use drm_mode_copy() + - drm/mediatek: Fix return type of mtk_hdmi_bridge_mode_valid() + - drivers/md/md-bitmap: check the return value of md_bitmap_get_counter() + - md/raid1: stop mdx_raid1 thread when raid1 array run failed + - drm/amd/display: fix array index out of bound error in bios parser + - net: add atomic_long_t to net_device_stats fields + - ipv6/sit: use DEV_STATS_INC() to avoid data-races + - mrp: introduce active flags to prevent UAF when applicant uninit + - ppp: associate skb with a device at tx + - bpf: Prevent decl_tag from being referenced in func_proto arg + - ethtool: avoiding integer overflow in ethtool_phys_id() + - media: dvb-frontends: fix leak of memory fw + - media: dvbdev: adopts refcnt to avoid UAF + - media: dvb-usb: fix memory leak in dvb_usb_adapter_init() + - blk-mq: fix possible memleak when register 'hctx' failed + - drm/amd/display: Use the largest vready_offset in pipe group + - libbpf: Avoid enum forward-declarations in public API in C++ mode + - regulator: core: fix use_count leakage when handling boot-on + - wifi: mt76: do not run mt76u_status_worker if the device is not running + - mmc: f-sdh30: Add quirks for broken timeout clock capability + - mmc: renesas_sdhi: better reset from HS400 mode + - media: si470x: Fix use-after-free in si470x_int_in_callback() + - clk: st: Fix memory leak in st_of_quadfs_setup() + - crypto: hisilicon/hpre - fix resource leak in remove process + - scsi: lpfc: Fix hard lockup when reading the rx_monitor from debugfs + - scsi: ufs: Reduce the START STOP UNIT timeout + - scsi: elx: libefc: Fix second parameter type in state callbacks + - hugetlbfs: fix null-ptr-deref in hugetlbfs_parse_param() + - drm/fsl-dcu: Fix return type of fsl_dcu_drm_connector_mode_valid() + - drm/sti: Fix return type of sti_{dvo,hda,hdmi}_connector_mode_valid() + - orangefs: Fix kmemleak in orangefs_prepare_debugfs_help_string() + - orangefs: Fix kmemleak in orangefs_{kernel,client}_debug_init() + - KVM: selftests: Fix build regression by using accessor function + - hwmon: (jc42) Fix missing unlock on error in jc42_write() + - ALSA: hda: add snd_hdac_stop_streams() helper + - ASoC: Intel: Skylake: Fix driver hang during shutdown + - ASoC: mediatek: mt8173-rt5650-rt5514: fix refcount leak in + mt8173_rt5650_rt5514_dev_probe() + - ASoC: audio-graph-card: fix refcount leak of cpu_ep in + __graph_for_each_link() + - ASoC: rockchip: pdm: Add missing clk_disable_unprepare() in + rockchip_pdm_runtime_resume() + - ASoC: mediatek: mt8183: fix refcount leak in + mt8183_mt6358_ts3a227_max98357_dev_probe() + - ASoC: wm8994: Fix potential deadlock + - ASoC: rockchip: spdif: Add missing clk_disable_unprepare() in + rk_spdif_runtime_resume() + - ASoC: rt5670: Remove unbalanced pm_runtime_put() + - drm/i915/display: Don't disable DDI/Transcoder when setting phy test pattern + - LoadPin: Ignore the "contents" argument of the LSM hooks + - pstore: Switch pmsg_lock to an rt_mutex to avoid priority inversion + - perf debug: Set debug_peo_args and redirect_to_stderr variable to correct + values in perf_quiet_option() + - afs: Fix lost servers_outstanding count + - pstore: Make sure CONFIG_PSTORE_PMSG selects CONFIG_RT_MUTEXES + - ALSA: usb-audio: add the quirk for KT0206 device + - ALSA: hda/realtek: Add quirk for Lenovo TianYi510Pro-14IOB + - ALSA: hda/hdmi: Add HP Device 0x8711 to force connect list + - usb: cdnsp: fix lack of ZLP for ep0 + - usb: xhci-mtk: fix leakage of shared hcd when fail to set wakeup irq + - arm64: dts: qcom: sm8250: fix USB-DP PHY registers + - usb: dwc3: Fix race between dwc3_set_mode and __dwc3_set_mode + - usb: dwc3: core: defer probe on ulpi_read_id timeout + - xhci: Prevent infinite loop in transaction errors recovery for streams + - HID: wacom: Ensure bootloader PID is usable in hidraw mode + - HID: mcp2221: don't connect hidraw + - loop: Fix the max_loop commandline argument treatment when it is set to 0 + - 9p: set req refcount to zero to avoid uninitialized usage + - security: Restrict CONFIG_ZERO_CALL_USED_REGS to gcc or clang > 15.0.6 + - reiserfs: Add missing calls to reiserfs_security_free() + - iio: fix memory leak in iio_device_register_eventset() + - iio: adc: ad_sigma_delta: do not use internal iio_dev lock + - iio: adc128s052: add proper .data members in adc128_of_match table + - regulator: core: fix deadlock on regulator enable + - floppy: Fix memory leak in do_floppy_init() + - gcov: add support for checksum field + - fbdev: fbcon: release buffer when fbcon_do_set_font() failed + - ovl: fix use inode directly in rcu-walk mode + - btrfs: do not BUG_ON() on ENOMEM when dropping extent items for a range + - scsi: qla2xxx: Fix crash when I/O abort times out + - net: stmmac: fix errno when create_singlethread_workqueue() fails + - media: dvbdev: fix build warning due to comments + - media: dvbdev: fix refcnt bug + - extcon: usbc-tusb320: Call the Type-C IRQ handler only if a port is + registered + - mfd: qcom_rpm: Use devm_of_platform_populate() to simplify code + - pwm: tegra: Fix 32 bit build + - staging: r8188eu: fix led register settings + - arm64: dts: renesas: r8a779g0: Fix HSCIF0 "brg_int" clock + - memory: renesas-rpc-if: Clear HS bit during hardware initialization + - firmware: ti_sci: Fix polled mode during system suspend + - arm64: dts: qcom: sc7180-trogdor-homestar: fully configure secondary I2S + pins + - arm64: dts: qcom: sm8450: fix UFS PHY registers + - arm64: dts: qcom: sm6350: drop bogus DP PHY clock + - arm64: dts: qcom: pm6350: Include header for KEY_POWER + - arm64: dts: renesas: r9a09g011: Fix unit address format error + - dt-bindings: pwm: fix microchip corePWM's pwm-cells + - arm64: dts: mt7986: fix trng node name + - drivers: perf: marvell_cn10k: Fix hotplug callback leak in tad_pmu_init() + - arm64: dts: ti: k3-j721s2: Fix the interrupt ranges property for main & wkup + gpio intr + - arm64: dts: mediatek: mt8195: Fix CPUs capacity-dmips-mhz + - arm64: dts: mt7896a: Fix unit_address_vs_reg warning for oscillator + - soc: apple: sart: Stop casting function pointer signatures + - soc: apple: rtkit: Stop casting function pointer signatures + - drivers/perf: hisi: Fix some event id for hisi-pcie-pmu + - arch: arm64: apple: t8103: Use standard "iommu" node name + - sched/uclamp: Fix fits_capacity() check in feec() + - sched/uclamp: Make cpu_overutilized() use util_fits_cpu() + - sched/uclamp: Cater for uclamp in find_energy_efficient_cpu()'s early exit + condition + - sched/psi: Fix possible missing or delayed pending event + - x86/split_lock: Add sysctl to control the misery mode + - selftests: cgroup: fix unsigned comparison with less than zero + - cpufreq: qcom-hw: Fix the frequency returned by cpufreq_driver->get() + - mailbox: pcc: Reset pcc_chan_count to zero in case of PCC probe failure + - ACPI: pfr_telemetry: use ACPI_FREE() to free acpi_object + - ACPI: pfr_update: use ACPI_FREE() to free acpi_object + - NFSD: Finish converting the NFSv3 GETACL result encoder + - ocfs2: fix memory leak in ocfs2_mount_volume() + - erofs: Fix pcluster memleak when its block address is zero + - erofs: fix missing unmap if z_erofs_get_extent_compressedlen() fails + - NFSD: pass range end to vfs_fsync_range() instead of count + - ipc: fix memory leak in init_mqueue_fs() + - wifi: ath11k: fix firmware assert during bandwidth change for peer sta + - libbpf: Fix memory leak in parse_usdt_arg() + - selftest/bpf: Fix memory leak in kprobe_multi_test + - selftests/bpf: Fix error failure of case test_xdp_adjust_tail_grow + - selftest/bpf: Fix error usage of ASSERT_OK in xdp_adjust_tail.c + - libbpf: Use elf_getshdrnum() instead of e_shnum + - libbpf: Deal with section with no data gracefully + - ASoC: Intel: avs: Fix potential RX buffer overflow + - drm/bridge: it6505: Initialize AUX channel in it6505_i2c_probe + - Input: iqs7222 - set all ULP entry masks by default + - Input: iqs7222 - drop unused device node references + - Input: iqs7222 - report malformed properties + - Input: iqs7222 - protect against undefined slider size + - media: amphion: reset instance if it's aborted before codec header parsed + - media: mediatek: vcodec: fix h264 cavlc bitstream fail + - drm/i915: Fix compute pre-emption w/a to apply to compute engines + - media: i2c: hi846: Fix memory leak in hi846_parse_dt() + - media: i2c: ov5648: Free V4L2 fwnode data on unbind + - clk: renesas: r8a779a0: Fix SD0H clock name + - ASoC: dt-bindings: rt5682: Set sound-dai-cells to 1 + - dw9768: Enable low-power probe on ACPI + - drm/ttm: fix undefined behavior in bit shift for TTM_TT_FLAG_PRIV_POPULATED + - drm/msm/mdp5: stop overriding drvdata + - bpf: Clobber stack slot when writing over spilled PTR_TO_BTF_ID + - drm/msm/dpu1: Account for DSC's bits_per_pixel having 4 fractional bits + - drm/msm/dsi: Remove useless math in DSC calculations + - drm/msm/dsi: Remove repeated calculation of slice_per_intf + - drm/msm/dsi: Use DIV_ROUND_UP instead of conditional increment on modulo + - drm/msm/dsi: Reuse earlier computed dsc->slice_chunk_size + - drm/msm/dsi: Appropriately set dsc->mux_word_size based on bpc + - media: rkvdec: Add required padding + - clk: qcom: gcc-ipq806x: use parent_data for the last remaining entry + - clk: qcom: dispcc-sm6350: Add CLK_OPS_PARENT_ENABLE to pixel&byte src + - mtd: core: fix possible resource leak in init_mtd() + - clk: renesas: r8a779f0: Fix SCIF parent clocks + - virt/sev-guest: Add a MODULE_ALIAS + - wifi: rtw89: use u32_encode_bits() to fill MAC quota value + - drm: rcar-du: Drop leftovers dependencies from Kconfig + - drbd: use blk_queue_max_discard_sectors helper + - dt-bindings: pinctrl: update uart/mmc bindings for MT7986 SoC + - pinctrl: mediatek: fix the pinconf register offset of some pins + - wifi: iwlwifi: mei: make sure ownership confirmed message is sent + - wifi: iwlwifi: mei: don't send SAP commands if AMT is disabled + - wifi: iwlwifi: mei: fix tx DHCP packet for devices with new Tx API + - wifi: iwlwifi: mei: avoid blocking sap messages handling due to rtnl lock + - wifi: iwlwifi: mei: fix potential NULL-ptr deref after clone + - module: Fix NULL vs IS_ERR checking for module_get_next_page + - wifi: rtw89: Fix some error handling path in rtw89_core_sta_assoc() + - net: ethernet: mtk_eth_soc: do not overwrite mtu configuration running reset + routine + - media: amphion: add lock around vdec_g_fmt + - media: amphion: apply vb2_queue_error instead of setting manually + - media: amphion: Fix error handling in vpu_driver_init() + - net: ethernet: mtk_eth_soc: fix RSTCTRL_PPE{0,1} definitions + - clk: imx93: correct the flexspi1 clock setting + - HID: i2c: let RMI devices decide what constitutes wakeup event + - clk: imx93: unmap anatop base in error handling path + - clk: imx93: correct enet clock + - clk: imx: imxrt1050: fix IMXRT1050_CLK_LCDIF_APB offsets + - wifi: rtw89: fix physts IE page check + - ASoC: Intel: avs: Lock substream before snd_pcm_stop() + - drm/i915/guc: make default_lists const data + - mtd: core: Fix refcount error in del_mtd_device() + - media: imx: imx7-media-csi: Clear BIT_MIPI_DOUBLE_CMPNT for <16b formats + - x86/boot: Skip realmode init code when running as Xen PV guest + - media: amphion: try to wakeup vpu core to avoid failure + - media: amphion: cancel vpu before release instance + - media: amphion: lock and check m2m_ctx in event handler + - media: mediatek: vcodec: Fix getting NULL pointer for dst buffer + - media: mediatek: vcodec: Fix h264 set lat buffer error + - media: mediatek: vcodec: Setting lat buf to lat_list when lat decode error + - media: mediatek: vcodec: Core thread depends on core_list + - NFSv4.2: Always decode the security label + - wifi: plfxlc: fix potential memory leak in __lf_x_usb_enable_rx() + - wifi: rtl8xxxu: Fix use after rcu_read_unlock in rtl8xxxu_bss_info_changed + - clk: mediatek: fix dependency of MT7986 ADC clocks + - amdgpu/nv.c: Corrected typo in the video capabilities resolution + - drm/i915/bios: fix a memory leak in generate_lfp_data_ptrs + - clk: visconti: Fix memory leak in visconti_register_pll() + - wifi: mac80211: fix memory leak in ieee80211_if_add() + - wifi: mt76: mt7915: fix mt7915_mac_set_timing() + - wifi: mt76: mt7915: fix reporting of TX AGGR histogram + - mt76: mt7915: Fix PCI device refcount leak in mt7915_pci_init_hif2() + - dt-bindings: clock: Add resets for LPASS audio clock controller for SC7280 + - dt-bindings: clock: Add support for external MCLKs for LPASS on SC7280 + - clk: qcom: lpass: Add support for resets & external mclk for SC7280 + - pinctrl: thunderbay: fix possible memory leak in + thunderbay_build_functions() + - bpftool: Fix memory leak in do_build_table_cb + - mmc: litex_mmc: ensure `host->irq == 0` if polling + - ipvs: use u64_stats_t for the per-cpu counters + - net: setsockopt: fix IPV6_UNICAST_IF option for connected sockets + - net: ethernet: ti: am65-cpsw: Fix PM runtime leakage in + am65_cpsw_nuss_ndo_slave_open() + - crypto: hisilicon/qm - re-enable communicate interrupt before notifying PF + - fortify: Do not cast to "unsigned char" + - f2fs: allow to set compression for inlined file + - f2fs: fix the assign logic of iocb + - RDMA/irdma: Fix inline for multiple SGE's + - RDMA/irdma: Fix RQ completion opcode + - RDMA/irdma: Do not request 2-level PBLEs for CQ alloc + - RDMA/rxe: Fix mr->map double free + - RDMA/hns: Fix incorrect sge nums calculation + - RDMA/irdma: Initialize net_type before checking it + - scsi: ufs: core: Fix the polling implementation + - f2fs: set zstd compress level correctly + - f2fs: fix to enable compress for newly created file if extension matches + - crypto: qat - fix error return code in adf_probe + - RDMA: Disable IB HW for UML + - PCI: vmd: Fix secondary bus reset for Intel bridges + - RDMA/hns: Fix the gid problem caused by free mr + - RDMA/hns: Fix XRC caps on HIP08 + - RISC-V: Fix unannoted hardirqs-on in return to userspace slow-path + - RISC-V: Fix MEMREMAP_WB for systems with Svpbmt + - riscv: Fix crash during early errata patching + - f2fs: fix iostat parameter for discard + - riscv: Fix P4D_SHIFT definition for 3-level page table mode + - interconnect: qcom: sc7180: fix dropped const of qcom_icc_bcm + - usb: typec: tipd: Fix typec_unregister_port error paths + - usb: musb: omap2430: Fix probe regression for missing resources + - USB: gadget: Fix use-after-free during usb config switch + - tracing/user_events: Fix call print_fmt leak + - usb: typec: wusb3801: fix fwnode refcount leak in wusb3801_probe() + - thermal/drivers/k3_j72xx_bandgap: Fix the debug print message + - led: qcom-lpg: Fix sleeping in atomic + - watchdog: iTCO_wdt: Set NO_REBOOT if the watchdog is not already running + - power: supply: cw2015: Fix potential null-ptr-deref in cw_bat_probe() + - perf off_cpu: Fix a typo in BTF tracepoint name, it should be + 'btf_trace_sched_switch' + - ftrace: Allow WITH_ARGS flavour of graph tracer with shadow call stack + - phy: marvell: phy-mvebu-a3700-comphy: Reset COMPHY registers before USB 3.0 + power on + - iommu/s390: Fix duplicate domain attachments + - iommu/sun50i: Implement .iotlb_sync_map + - phy: usb: Use slow clock for wake enabled suspend + - phy: usb: Fix clock imbalance for suspend/resume + - pwm: tegra: Ensure the clock rate is not less than needed + - rtc: rzn1: Check return value in rzn1_rtc_probe + - rtc: class: Fix potential memleak in devm_rtc_allocate_device() + - iommu/mediatek: Check return value after calling platform_get_resource() + - kprobes: Fix check for probe enabled in kill_kprobe() + - iommu/mediatek: Add platform_device_put for recovering the device refcnt + - iommu/mediatek: Use component_match_add + - iommu/mediatek: Add error path for loop of mm_dts_parse + - iommu/mediatek: Validate number of phandles associated with "mediatek,larbs" + - mfd: axp20x: Do not sleep in the power off handler + - selftests/bpf: Select CONFIG_FUNCTION_ERROR_INJECTION + - mctp: serial: Fix starting value for frame check sequence + - mctp: Remove device type check at unregister + - ASoC: sof_es8336: fix possible use-after-free in sof_es8336_remove() + - ALSA: hda/hdmi: fix i915 silent stream programming flow + - ALSA: hda/hdmi: set default audio parameters for KAE silent-stream + - ALSA: hda/hdmi: fix stream-id config keep-alive for rt suspend + - lkdtm: cfi: Make PAC test work with GCC 7 and 8 + - drm/amd/pm: avoid large variable on kernel stack + - MIPS: ralink: mt7621: avoid to init common ralink reset controller + - perf test: Fix "all PMU test" to skip parametrized events + - Input: iqs7222 - avoid sending empty SYN_REPORT events + - dt-bindings: input: iqs7222: Reduce 'linux,code' to optional + - dt-bindings: input: iqs7222: Correct minimum slider size + - dt-bindings: input: iqs7222: Add support for IQS7222A v1.13+ + - Input: iqs7222 - trim force communication command + - Input: iqs7222 - add support for IQS7222A v1.13+ + - arm64: dts: qcom: sm6350: fix USB-DP PHY registers + - dt-bindings: clocks: imx8mp: Add ID for usb suspend clock + - clk: imx: imx8mp: add shared clk gate for usb suspend clk + - iio: addac: ad74413r: fix integer promotion bug in + ad74413_get_input_current_offset() + - mm/gup: disallow FOLL_FORCE|FOLL_WRITE on hugetlb mappings + + [ Ubuntu: 5.19.0-38.39 ] + + * kinetic/linux: 5.19.0-38.39 -proposed tracker (LP: #2012088) + * NFS deathlock with last Kernel 5.4.0-144.161 and 5.15.0-67.74 (LP: #2009325) + - NFS: Correct timing for assigning access cache timestamp + + -- Khalid Elmously Tue, 04 Apr 2023 01:14:45 -0400 + +linux-gcp (5.19.0-1019.21) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1019.21 -proposed tracker (LP: #2008293) + + [ Ubuntu: 5.19.0-37.38 ] + + * kinetic/linux: 5.19.0-37.38 -proposed tracker (LP: #2008305) + * XPS 9320 screen flicker on UHD panel 3840x2400 (LP: #2007516) + - SAUCE: drm/i915/display/psr: Disable PSR2 sel fetch on panel SHP 5457 + * Fix speaker mute hotkey doesn't work on Dell G16 series (LP: #2003161) + - platform/x86: dell-wmi: Add a keymap for KEY_MUTE in type 0x0010 table + * net:cmsg_ipv6.sh from ubuntu_kernel_selftests failed with K-5.19 + (LP: #2000709) + - selftest: net: Improve IPV6_TCLASS/IPV6_HOPLIMIT tests apparmor + compatibility + * rtcpie in timers from ubuntu_kernel_selftests randomly failing + (LP: #1814234) + - SAUCE: selftest: rtcpie: Force passing unreliable subtest + * CVE-2023-0469 + - io_uring/filetable: fix file reference underflow + * Improve arp_ndisc_evict_nocarrier.sh test result processing (LP: #2006546) + - selftests: net: return non-zero for failures reported in + arp_ndisc_evict_nocarrier + * Make cm32181 sensor work after system suspend (LP: #1981773) + - iio: light: cm32181: Add PM support + * Fix Thunderbolt device hotplug fail when connect via thunderbolt dock + (LP: #1991366) + - PCI: Fix used_buses calculation in pci_scan_child_bus_extend() + - PCI: Pass available buses even if the bridge is already configured + - PCI: Move pci_assign_unassigned_root_bus_resources() + - PCI: Fix whitespace and indentation + - PCI: Fix typo in pci_scan_child_bus_extend() + * arp_ndisc_evict_nocarrier.sh in net from ubuntu_kernel_selftests failed on + J-oem-5.17 / K (LP: #1968310) + - selftests: net: fix cleanup_v6() for arp_ndisc_evict_nocarrier + * Screen freeze after resuming from suspend (nvme0: I/O timeout) + (LP: #1996048) + - PCI: vmd: Disable MSI remapping after suspend + * RaptorLake: Fix the Screen is shaking by onboard HDMI port in mirror mode + (LP: #1993561) + - drm/i915/display: Drop check for doublescan mode in modevalid + - drm/i915/display: Prune Interlace modes for Display >=12 + * udpgro_frglist.sh in net from ubuntu_kernel_selftests failed with K-5.19 + (Missing nat6to4 helper) (LP: #2000708) + - selftests/net: mv bpf/nat6to4.c to net folder + * selftests/.../nat6to4 breaks the selftests build (LP: #1996536) + - selftests: net: Add cross-compilation support for BPF programs + - selftests: net: Fix O=dir builds + * CVE-2023-0266 // CVE-2023-0266 was assigned for this issue. + - ALSA: pcm: Move rwsem lock inside snd_ctl_elem_read to prevent UAF + * CVE-2022-4382 + - USB: gadgetfs: Fix race between mounting and unmounting + * CVE-2022-2196 + - KVM: VMX: Execute IBPB on emulated VM-exit when guest has IBRS + * ubuntu_kernel_selftests: net:udpgso_bench.sh failed (LP: #1951447) + - selftests: net: udpgso_bench: Fix racing bug between the rx/tx programs + * Kinetic update: upstream stable patchset 2023-02-02 (LP: #2004602) + - clk: generalize devm_clk_get() a bit + - clk: Provide new devm_clk helpers for prepared and enabled clocks + - mmc: mtk-sd: Fix missing clk_disable_unprepare in msdc_of_clock_parse() + - arm64: dts: rockchip: keep I2S1 disabled for GPIO function on ROCK Pi 4 + series + - arm: dts: rockchip: fix node name for hym8563 rtc + - arm: dts: rockchip: remove clock-frequency from rtc + - ARM: dts: rockchip: fix ir-receiver node names + - arm64: dts: rockchip: fix ir-receiver node names + - ARM: dts: rockchip: rk3188: fix lcdc1-rgb24 node name + - fs: use acquire ordering in __fget_light() + - ARM: 9251/1: perf: Fix stacktraces for tracepoint events in THUMB2 kernels + - ARM: 9266/1: mm: fix no-MMU ZERO_PAGE() implementation + - ASoC: wm8962: Wait for updated value of WM8962_CLOCKING1 register + - spi: mediatek: Fix DEVAPC Violation at KO Remove + - ARM: dts: rockchip: disable arm_global_timer on rk3066 and rk3188 + - ASoC: rt711-sdca: fix the latency time of clock stop prepare state machine + transitions + - 9p/fd: Use P9_HDRSZ for header size + - regulator: slg51000: Wait after asserting CS pin + - ALSA: seq: Fix function prototype mismatch in snd_seq_expand_var_event + - btrfs: send: avoid unaligned encoded writes when attempting to clone range + - ASoC: soc-pcm: Add NULL check in BE reparenting + - regulator: twl6030: fix get status of twl6032 regulators + - fbcon: Use kzalloc() in fbcon_prepare_logo() + - usb: dwc3: gadget: Disable GUSB2PHYCFG.SUSPHY for End Transfer + - 9p/xen: check logical size for buffer size + - net: usb: qmi_wwan: add u-blox 0x1342 composition + - mm/khugepaged: take the right locks for page table retraction + - mm/khugepaged: fix GUP-fast interaction by sending IPI + - mm/khugepaged: invoke MMU notifiers in shmem/file collapse paths + - cifs: fix use-after-free caused by invalid pointer `hostname` + - xen/netback: do some code cleanup + - xen/netback: don't call kfree_skb() with interrupts disabled + - media: videobuf2-core: take mmap_lock in vb2_get_unmapped_area() + - soundwire: intel: Initialize clock stop timeout + - media: v4l2-dv-timings.c: fix too strict blanking sanity checks + - memcg: fix possible use-after-free in memcg_write_event_control() + - mm/gup: fix gup_pud_range() for dax + - Bluetooth: btusb: Add debug message for CSR controllers + - Bluetooth: Fix crash when replugging CSR fake controllers + - net: mana: Fix race on per-CQ variable napi work_done + - KVM: s390: vsie: Fix the initialization of the epoch extension (epdx) field + - drm/vmwgfx: Don't use screen objects when SEV is active + - drm/amdgpu/sdma_v4_0: turn off SDMA ring buffer in the s2idle suspend + - drm/shmem-helper: Remove errant put in error path + - drm/shmem-helper: Avoid vm_open error paths + - net: dsa: sja1105: avoid out of bounds access in sja1105_init_l2_policing() + - HID: usbhid: Add ALWAYS_POLL quirk for some mice + - HID: hid-lg4ff: Add check for empty lbuf + - HID: core: fix shift-out-of-bounds in hid_report_raw_event + - HID: ite: Enable QUIRK_TOUCHPAD_ON_OFF_REPORT on Acer Aspire Switch V 10 + - can: af_can: fix NULL pointer dereference in can_rcv_filter + - clk: Fix pointer casting to prevent oops in devm_clk_release() + - gpiolib: fix memory leak in gpiochip_setup_dev() + - netfilter: nft_set_pipapo: Actually validate intervals in fields after the + first one + - drm/vmwgfx: Fix race issue calling pin_user_pages + - ieee802154: cc2520: Fix error return code in cc2520_hw_init() + - ca8210: Fix crash by zero initializing data + - netfilter: ctnetlink: fix compilation warning after data race fixes in ct + mark + - drm/bridge: ti-sn65dsi86: Fix output polarity setting bug + - gpio: amd8111: Fix PCI device reference count leak + - e1000e: Fix TX dispatch condition + - igb: Allocate MSI-X vector when testing + - net: broadcom: Add PTP_1588_CLOCK_OPTIONAL dependency for BCMGENET under + ARCH_BCM2835 + - drm: bridge: dw_hdmi: fix preference of RGB modes over YUV420 + - af_unix: Get user_ns from in_skb in unix_diag_get_exact(). + - vmxnet3: correctly report encapsulated LRO packet + - vmxnet3: use correct intrConf reference when using extended queues + - Bluetooth: 6LoWPAN: add missing hci_dev_put() in get_l2cap_conn() + - Bluetooth: Fix not cleanup led when bt_init fails + - net: dsa: ksz: Check return value + - net: dsa: hellcreek: Check return value + - net: dsa: sja1105: Check return value + - selftests: rtnetlink: correct xfrm policy rule in kci_test_ipsec_offload + - mac802154: fix missing INIT_LIST_HEAD in ieee802154_if_add() + - net: encx24j600: Add parentheses to fix precedence + - net: encx24j600: Fix invalid logic in reading of MISTAT register + - net: mdiobus: fwnode_mdiobus_register_phy() rework error handling + - net: mdiobus: fix double put fwnode in the error path + - octeontx2-pf: Fix potential memory leak in otx2_init_tc() + - xen-netfront: Fix NULL sring after live migration + - net: mvneta: Prevent out of bounds read in mvneta_config_rss() + - i40e: Fix not setting default xps_cpus after reset + - i40e: Fix for VF MAC address 0 + - i40e: Disallow ip4 and ip6 l4_4_bytes + - NFC: nci: Bounds check struct nfc_target arrays + - nvme initialize core quirks before calling nvme_init_subsystem + - gpio/rockchip: fix refcount leak in rockchip_gpiolib_register() + - net: stmmac: fix "snps,axi-config" node property parsing + - ip_gre: do not report erspan version on GRE interface + - net: microchip: sparx5: Fix missing destroy_workqueue of mact_queue + - net: thunderx: Fix missing destroy_workqueue of nicvf_rx_mode_wq + - net: hisilicon: Fix potential use-after-free in hisi_femac_rx() + - net: mdio: fix unbalanced fwnode reference count in mdio_device_release() + - net: hisilicon: Fix potential use-after-free in hix5hd2_rx() + - tipc: Fix potential OOB in tipc_link_proto_rcv() + - ipv4: Fix incorrect route flushing when source address is deleted + - ipv4: Fix incorrect route flushing when table ID 0 is used + - net: dsa: sja1105: fix memory leak in sja1105_setup_devlink_regions() + - tipc: call tipc_lxc_xmit without holding node_read_lock + - ethernet: aeroflex: fix potential skb leak in greth_init_rings() + - dpaa2-switch: Fix memory leak in dpaa2_switch_acl_entry_add() and + dpaa2_switch_acl_entry_remove() + - net: phy: mxl-gpy: fix version reporting + - net: plip: don't call kfree_skb/dev_kfree_skb() under spin_lock_irq() + - ipv6: avoid use-after-free in ip6_fragment() + - net: thunderbolt: fix memory leak in tbnet_open() + - net: mvneta: Fix an out of bounds check + - macsec: add missing attribute validation for offload + - s390/qeth: fix use-after-free in hsci + - can: esd_usb: Allow REC and TEC to return to zero + - io_uring: Fix a null-ptr-deref in io_tctx_exit_cb() + - madvise: use zap_page_range_single for madvise dontneed + - drm/i915: Remove non-existent pipes from bigjoiner pipe mask + - arm64: dts: rockchip: Fix gmac failure of rgmii-id from rk3566-roc-pc + - arm64: dts: rockchip: Fix i2c3 pinctrl on rk3566-roc-pc + - arm64: dts: rockchip: remove i2c5 from rk3566-roc-pc + - arm64: dts: rockchip: fix node name for hym8563 rtc + - ARM: dts: rockchip: fix adc-keys sub node names + - arm64: dts: rockchip: fix adc-keys sub node names + - LoongArch: Makefile: Use "grep -E" instead of "egrep" + - LoongArch: Combine acpi_boot_table_init() and acpi_boot_init() + - LoongArch: Set _PAGE_DIRTY only if _PAGE_MODIFIED is set in + {pmd,pte}_mkwrite() + - net/mlx5: Lag, avoid lockdep warnings + - hugetlb: don't delete vma_lock in hugetlb MADV_DONTNEED processing + - crypto: ccp - Add a quirk to firmware update + - soundwire: dmi-quirks: add remapping for HP Omen 16-k0005TX + - platform/x86: asus-wmi: Adjust tablet/lidflip handling to use enum + - platform/x86: asus-wmi: Add support for ROG X13 tablet mode + - fscache: Fix oops due to race with cookie_lru and use_cookie + - tmpfs: fix data loss from failed fallocate + - selftests/tls: Fix tls selftests dependency to correct algorithm + - drm/amd/display: fix array index out of bound error in DCN32 DML + - HID: uclogic: Add HID_QUIRK_HIDINPUT_FORCE quirk + - ARM: 9278/1: kfence: only handle translation faults + - netfilter: conntrack: fix using __this_cpu_add in preemptible + - net: ethernet: ti: am65-cpsw: Fix RGMII configuration at SPEED_10 + - inet: ping: use hlist_nulls rcu iterator during lookup + - Bluetooth: Remove codec id field in vendor codec definition + - Bluetooth: Fix support for Read Local Supported Codecs V2 + - nfp: correct desc type when header dma len is 4096 + - net: microchip: sparx5: correctly free skb in xmit + - net: wwan: iosm: fix memory leak in ipc_mux_init() + - ravb: Fix potential use-after-free in ravb_rx_gbeth() + - bonding: get correct NA dest address + - net: dsa: mv88e6xxx: accept phy-mode = "internal" for internal PHY ports + - drm/amdgpu/vcn: update vcn4 fw shared data structure + - x86/vdso: Conditionally export __vdso_sgx_enter_enclave() + - ASoC: fsl_micfil: explicitly clear software reset bit + - ASoC: fsl_micfil: explicitly clear CHnF flags + - ASoC: ops: Check bounds for second channel in snd_soc_put_volsw_sx() + - libbpf: Use page size as max_entries when probing ring buffer map + - pinctrl: meditatek: Startup with the IRQs disabled + - can: sja1000: fix size of OCR_MODE_MASK define + - can: mcba_usb: Fix termination command argument + - net: fec: don't reset irq coalesce settings to defaults on "ip link up" + - ASoC: cs42l51: Correct PGA Volume minimum value + - perf: Fix perf_pending_task() UaF + - nvme-pci: clear the prp2 field when not used + - ASoC: ops: Correct bounds check for second channel on SX controls + - net: fec: properly guard irq coalesce setup + - libbpf: Fix uninitialized warning in btf_dump_dump_type_data + - udf: Discard preallocation before extending file with a hole + - udf: Fix preallocation discarding at indirect extent boundary + - udf: Do not bother looking for prealloc extents if i_lenExtents matches + i_size + - udf: Fix extending file within last block + - usb: gadget: uvc: Prevent buffer overflow in setup handler + - USB: serial: option: add Quectel EM05-G modem + - USB: serial: cp210x: add Kamstrup RF sniffer PIDs + - USB: serial: f81232: fix division by zero on line-speed change + - USB: serial: f81534: fix division by zero on line-speed change + - xhci: Apply XHCI_RESET_TO_DEFAULT quirk to ADL-N + - igb: Initialize mailbox message for VF reset + - usb: dwc3: pci: Update PCIe device ID for USB3 controller on CPU sub-system + for Raptor Lake + - selftests: net: Use "grep -E" instead of "egrep" + - net: loopback: use NET_NAME_PREDICTABLE for name_assign_type + - PCI: mt7621: Add sentinel to quirks table + - kallsyms: Make module_kallsyms_on_each_symbol generally available + - ftrace: Add support to resolve module symbols in ftrace_lookup_symbols + - bpf: Rename __bpf_kprobe_multi_cookie_cmp to bpf_kprobe_multi_addrs_cmp + - bpf: Take module reference on kprobe_multi link + - selftests/bpf: Add load_kallsyms_refresh function + - selftests/bpf: Add bpf_testmod_fentry_* functions + - selftests/bpf: Add kprobe_multi check to module attach test + - selftests/bpf: Add kprobe_multi kmod attach api tests + - usb: typec: ucsi: Resume in separate work + - KEYS: encrypted: fix key instantiation with user-provided data + * Kinetic update: upstream stable patchset 2023-02-02 (LP: #2004602) // + net:fcnal-test.sh 'nettest' command not found on F/K (LP: #2006391) + - selftests/net: Find nettest in current directory + * CVE-2023-23559 + - wifi: rndis_wlan: Prevent buffer overflow in rndis_query_oid + * CVE-2023-0045 + - x86/bugs: Flush IBP in ib_prctl_set() + + -- Khalid Elmously Wed, 08 Mar 2023 03:09:27 -0500 + +linux-gcp (5.19.0-1018.20) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1018.20 -proposed tracker (LP: #2004287) + + * Kinetic update: upstream stable patchset 2023-01-27 (LP: #2004051) + - [Config] Update configs after rebase + + [ Ubuntu: 5.19.0-35.36 ] + + * kinetic/linux: 5.19.0-35.36 -proposed tracker (LP: #2004652) + * CVE-2023-0461 + - SAUCE: Fix inet_csk_listen_start after CVE-2023-0461 + + [ Ubuntu: 5.19.0-34.35 ] + + * kinetic/linux: 5.19.0-34.35 -proposed tracker (LP: #2004299) + * LXD containers using shiftfs on ZFS or TMPFS broken on 5.15.0-48.54 + (LP: #1990849) + - [SAUCE] shiftfs: fix -EOVERFLOW inside the container + * Kinetic update: upstream stable patchset 2023-01-27 (LP: #2004051) + - ASoC: fsl_sai: use local device pointer + - serial: Add rs485_supported to uart_port + - serial: fsl_lpuart: Fill in rs485_supported + - x86/sgx: Create utility to validate user provided offset and length + - x86/sgx: Add overflow check in sgx_validate_offset_length() + - binder: validate alloc->mm in ->mmap() handler + - ceph: Use kcalloc for allocating multiple elements + - ceph: fix NULL pointer dereference for req->r_session + - wifi: mac80211: fix memory free error when registering wiphy fail + - wifi: mac80211_hwsim: fix debugfs attribute ps with rc table support + - riscv: dts: sifive unleashed: Add PWM controlled LEDs + - audit: fix undefined behavior in bit shift for AUDIT_BIT + - wifi: airo: do not assign -1 to unsigned char + - wifi: mac80211: Fix ack frame idr leak when mesh has no route + - wifi: ath11k: Fix QCN9074 firmware boot on x86 + - spi: stm32: fix stm32_spi_prepare_mbr() that halves spi clk for every run + - selftests/bpf: Add verifier test for release_reference() + - Revert "net: macsec: report real_dev features when HW offloading is enabled" + - platform/x86: ideapad-laptop: Disable touchpad_switch + - platform/x86: touchscreen_dmi: Add info for the RCA Cambio W101 v2 2-in-1 + - platform/x86/intel/pmt: Sapphire Rapids PMT errata fix + - scsi: ibmvfc: Avoid path failures during live migration + - scsi: scsi_debug: Make the READ CAPACITY response compliant with ZBC + - drm: panel-orientation-quirks: Add quirk for Acer Switch V 10 (SW5-017) + - block, bfq: fix null pointer dereference in bfq_bio_bfqg() + - arm64/syscall: Include asm/ptrace.h in syscall_wrapper header. + - nvmet: fix memory leak in nvmet_subsys_attr_model_store_locked + - Revert "drm/amdgpu: Revert "drm/amdgpu: getting fan speed pwm for vega10 + properly"" + - ALSA: usb-audio: add quirk to fix Hamedal C20 disconnect issue + - RISC-V: vdso: Do not add missing symbols to version section in linker script + - MIPS: pic32: treat port as signed integer + - xfrm: fix "disable_policy" on ipv4 early demux + - xfrm: replay: Fix ESN wrap around for GSO + - af_key: Fix send_acquire race with pfkey_register + - ARM: dts: am335x-pcm-953: Define fixed regulators in root node + - ASoC: hdac_hda: fix hda pcm buffer overflow issue + - ASoC: sgtl5000: Reset the CHIP_CLK_CTRL reg on remove + - ASoC: soc-pcm: Don't zero TDM masks in __soc_pcm_open() + - x86/hyperv: Restore VP assist page after cpu offlining/onlining + - scsi: storvsc: Fix handling of srb_status and capacity change events + - ASoC: max98373: Add checks for devm_kcalloc + - regulator: core: fix kobject release warning and memory leak in + regulator_register() + - spi: dw-dma: decrease reference count in dw_spi_dma_init_mfld() + - regulator: core: fix UAF in destroy_regulator() + - bus: sunxi-rsb: Remove the shutdown callback + - bus: sunxi-rsb: Support atomic transfers + - tee: optee: fix possible memory leak in optee_register_device() + - ARM: dts: at91: sam9g20ek: enable udc vbus gpio pinctrl + - selftests: mptcp: fix mibit vs mbit mix up + - net: liquidio: simplify if expression + - rxrpc: Fix race between conn bundle lookup and bundle removal [ZDI- + CAN-15975] + - net: dsa: sja1105: disallow C45 transactions on the BASE-TX MDIO bus + - nfc/nci: fix race with opening and closing + - net: pch_gbe: fix potential memleak in pch_gbe_tx_queue() + - 9p/fd: fix issue of list_del corruption in p9_fd_cancel() + - netfilter: conntrack: Fix data-races around ct mark + - netfilter: nf_tables: do not set up extensions for end interval + - iavf: Fix a crash during reset task + - iavf: Do not restart Tx queues after reset task failure + - iavf: Fix race condition between iavf_shutdown and iavf_remove + - ARM: mxs: fix memory leak in mxs_machine_init() + - ARM: dts: imx6q-prti6q: Fix ref/tcxo-clock-frequency properties + - net: ethernet: mtk_eth_soc: fix error handling in mtk_open() + - net/mlx4: Check retval of mlx4_bitmap_init + - net: mvpp2: fix possible invalid pointer dereference + - net/qla3xxx: fix potential memleak in ql3xxx_send() + - octeontx2-af: debugsfs: fix pci device refcount leak + - net: pch_gbe: fix pci device refcount leak while module exiting + - nfp: fill splittable of devlink_port_attrs correctly + - nfp: add port from netdev validation for EEPROM access + - macsec: Fix invalid error code set + - Drivers: hv: vmbus: fix double free in the error path of + vmbus_add_channel_work() + - Drivers: hv: vmbus: fix possible memory leak in vmbus_device_register() + - netfilter: ipset: regression in ip_set_hash_ip.c + - net/mlx5: Do not query pci info while pci disabled + - net/mlx5: Fix FW tracer timestamp calculation + - net/mlx5: Fix handling of entry refcount when command is not issued to FW + - tipc: set con sock in tipc_conn_alloc + - tipc: add an extra conn_get in tipc_conn_alloc + - tipc: check skb_linearize() return value in tipc_disc_rcv() + - xfrm: Fix oops in __xfrm_state_delete() + - xfrm: Fix ignored return value in xfrm6_init() + - net: wwan: iosm: use ACPI_FREE() but not kfree() in ipc_pcie_read_bios_cfg() + - sfc: fix potential memleak in __ef100_hard_start_xmit() + - net: sparx5: fix error handling in sparx5_port_open() + - net: sched: allow act_ct to be built without NF_NAT + - NFC: nci: fix memory leak in nci_rx_data_packet() + - regulator: twl6030: re-add TWL6032_SUBCLASS + - bnx2x: fix pci device refcount leak in bnx2x_vf_is_pcie_pending() + - dma-buf: fix racing conflict of dma_heap_add() + - netfilter: ipset: restore allowing 64 clashing elements in hash:net,iface + - netfilter: flowtable_offload: add missing locking + - fs: do not update freeing inode i_io_list + - dccp/tcp: Reset saddr on failure after inet6?_hash_connect(). + - ipv4: Fix error return code in fib_table_insert() + - arcnet: fix potential memory leak in com20020_probe() + - s390/dasd: fix no record found for raw_track_access + - nfc: st-nci: fix incorrect validating logic in EVT_TRANSACTION + - nfc: st-nci: fix memory leaks in EVT_TRANSACTION + - nfc: st-nci: fix incorrect sizing calculations in EVT_TRANSACTION + - net: enetc: cache accesses to &priv->si->hw + - net: enetc: preserve TX ring priority across reconfiguration + - octeontx2-pf: Add check for devm_kcalloc + - octeontx2-af: Fix reference count issue in rvu_sdp_init() + - net: thunderx: Fix the ACPI memory leak + - s390/crashdump: fix TOD programmable field size + - lib/vdso: use "grep -E" instead of "egrep" + - [Config] updateconfigs for CC_HAS_ASM_GOTO_TIED_OUTPUT + - init/Kconfig: fix CC_HAS_ASM_GOTO_TIED_OUTPUT test with dash + - nios2: add FORCE for vmlinuz.gz + - KVM: arm64: pkvm: Fixup boot mode to reflect that the kernel resumes from + EL1 + - usb: dwc3: exynos: Fix remove() function + - usb: cdnsp: Fix issue with Clear Feature Halt Endpoint + - usb: cdnsp: fix issue with ZLP - added TD_SIZE = 1 + - ext4: fix use-after-free in ext4_ext_shift_extents + - arm64: dts: rockchip: lower rk3399-puma-haikou SD controller clock frequency + - iio: light: apds9960: fix wrong register for gesture gain + - iio: core: Fix entry not deleted when iio_register_sw_trigger_type() fails + - bus: ixp4xx: Don't touch bit 7 on IXP42x + - usb: dwc3: gadget: conditionally remove requests + - usb: dwc3: gadget: Return -ESHUTDOWN on ep disable + - usb: dwc3: gadget: Clear ep descriptor last + - nilfs2: fix nilfs_sufile_mark_dirty() not set segment usage as dirty + - gcov: clang: fix the buffer overflow issue + - mm: vmscan: fix extreme overreclaim and swap floods + - KVM: x86: nSVM: leave nested mode on vCPU free + - KVM: x86: forcibly leave nested mode on vCPU reset + - KVM: x86: nSVM: harden svm_free_nested against freeing vmcb02 while still in + use + - KVM: x86: add kvm_leave_nested + - KVM: x86: remove exit_int_info warning in svm_handle_exit + - x86/tsx: Add a feature bit for TSX control MSR support + - x86/pm: Add enumeration check before spec MSRs save/restore setup + - x86/ioremap: Fix page aligned size calculation in __ioremap_caller() + - Input: synaptics - switch touchpad on HP Laptop 15-da3001TU to RMI mode + - ASoC: Intel: bytcht_es8316: Add quirk for the Nanote UMPC-01 + - tools: iio: iio_generic_buffer: Fix read size + - serial: 8250: 8250_omap: Avoid RS485 RTS glitch on ->set_termios() + - Input: goodix - try resetting the controller when no config is set + - Input: soc_button_array - add use_low_level_irq module parameter + - Input: soc_button_array - add Acer Switch V 10 to dmi_use_low_level_irq[] + - Input: i8042 - apply probe defer to more ASUS ZenBook models + - ASoC: stm32: dfsdm: manage cb buffers cleanup + - xen-pciback: Allow setting PCI_MSIX_FLAGS_MASKALL too + - xen/platform-pci: add missing free_irq() in error path + - platform/x86: asus-wmi: add missing pci_dev_put() in asus_wmi_set_xusb2pr() + - platform/x86: acer-wmi: Enable SW_TABLET_MODE on Switch V 10 (SW5-017) + - drm/amdgpu: disable BACO support on more cards + - zonefs: fix zone report size in __zonefs_io_error() + - platform/x86: hp-wmi: Ignore Smart Experience App event + - platform/x86: ideapad-laptop: Fix interrupt storm on fn-lock toggle on some + Yoga laptops + - [Config] updateconfigs for INET_TABLE_PERTURB_ORDER + - tcp: configurable source port perturb table size + - net: usb: qmi_wwan: add Telit 0x103a composition + - scsi: iscsi: Fix possible memory leak when device_register() failed + - gpu: host1x: Avoid trying to use GART on Tegra20 + - dm integrity: flush the journal on suspend + - dm integrity: clear the journal on suspend + - fuse: lock inode unconditionally in fuse_fallocate() + - wifi: wilc1000: validate length of IEEE80211_P2P_ATTR_OPER_CHANNEL attribute + - wifi: wilc1000: validate length of IEEE80211_P2P_ATTR_CHANNEL_LIST attribute + - wifi: wilc1000: validate number of channels + - btrfs: free btrfs_path before copying root refs to userspace + - btrfs: free btrfs_path before copying fspath to userspace + - btrfs: free btrfs_path before copying subvol info to userspace + - btrfs: zoned: fix missing endianness conversion in sb_write_pointer + - btrfs: use kvcalloc in btrfs_get_dev_zone_info + - btrfs: sysfs: normalize the error handling branch in btrfs_init_sysfs() + - drm/amd/dc/dce120: Fix audio register mapping, stop triggering KASAN + - drm/amdgpu: Enable Aldebaran devices to report CU Occupancy + - drm/amdgpu: always register an MMU notifier for userptr + - drm/i915: fix TLB invalidation for Gen12 video and compute engines + - wifi: cfg80211: Fix bitrates overflow issue + - spi: tegra210-quad: Don't initialise DMA if not supported + - s390/zcrypt: fix warning about field-spanning write + - selftests/net: give more time to udpgro bg processes to complete startup + - ACPI: video: Add backlight=native DMI quirk for Dell G15 5515 + - drm: panel-orientation-quirks: Add quirk for Nanote UMPC-01 + - s390: always build relocatable kernel + - nvme: quiet user passthrough command errors + - net: wwan: iosm: fix kernel test robot reported errors + - drm/amdgpu: Drop eviction lock when allocating PT BO + - arm64: dts: rockchip: fix quartz64-a bluetooth configuration + - power: supply: ip5xxx: Fix integer overflow in current_now calculation + - power: supply: ab8500: Defer thermal zone probe + - arm64: dts: rockchip: Fix Pine64 Quartz4-B PMIC interrupt + - regulator: rt5759: fix OOB in validate_desc() + - spi: tegra210-quad: Fix duplicate resource error + - selftests: mptcp: gives slow test-case more time + - selftests: mptcp: run mptcp_sockopt from a new netns + - bonding: fix ICMPv6 header handling when receiving IPv6 messages + - drm/i915: Fix warn in intel_display_power_*_domain() functions + - net/mlx5: SF: Fix probing active SFs during driver probe phase + - net/mlx5: cmdif, Print info on any firmware cmd failure to tracepoint + - net/mlx5: E-Switch, Set correctly vport destination + - net/mlx5e: Offload rule only when all encaps are valid + - net: phy: at803x: fix error return code in at803x_probe() + - zonefs: Fix race between modprobe and mount + - tsnep: Fix rotten packets + - blk-mq: fix queue reference leak on blk_mq_alloc_disk_for_queue failure + - test_kprobes: fix implicit declaration error of test_kprobes + - net: ethernet: mtk_eth_soc: fix resource leak in error path + - net: dm9051: Fix missing dev_kfree_skb() in dm9051_loop_rx() + - s390/ap: fix memory leak in ap_init_qci_info() + - fscache: fix OOB Read in __fscache_acquire_volume + - net: wwan: t7xx: Fix the ACPI memory leak + - virtio_net: Fix probe failed when modprobe virtio_net + - can: gs_usb: remove dma allocations + - cifs: fix missing unlock in cifs_file_copychunk_range() + - cifs: Use after free in debug code + - iio: adc: aspeed: Remove the trim valid dts property. + - dt-bindings: iio: adc: Remove the property "aspeed,trim-data-valid" + - mm/damon/sysfs-schemes: skip stats update if the scheme directory is removed + - virt/sev-guest: Prevent IV reuse in the SNP guest driver + - zonefs: Fix active zone accounting + - spi: spi-imx: Fix spi_bus_clk if requested clock is higher than input clock + - spi: spi-imx: spi_imx_transfer_one(): check for DMA transfer first + - mm/cgroup/reclaim: fix dirty pages throttling on cgroup v1 + - KVM: x86/mmu: Fix race condition in direct_page_fault + - KVM: x86/xen: Only do in-kernel acceleration of hypercalls for guest CPL0 + - KVM: x86/xen: Validate port number in SCHEDOP_poll + - drm/i915/gvt: Get reference to KVM iff attachment to VM is successful + - KVM: Update gfn_to_pfn_cache khva when it moves within the same page + - mm: fix unexpected changes to {failslab|fail_page_alloc}.attr + - mm: correctly charge compressed memory to its memcg + - LoongArch: Clear FPU/SIMD thread info flags for kernel thread + - LoongArch: Set _PAGE_DIRTY only if _PAGE_WRITE is set in {pmd,pte}_mkdirty() + - ASoC: amd: yc: Add Alienware m17 R5 AMD into DMI table + - ASoC: Intel: soc-acpi: add ES83x6 support to IceLake + - ASoC: hda: intel-dsp-config: add ES83x6 quirk for IceLake + - ASoC: SOF: ipc3-topology: use old pipeline teardown flow with SOF2.1 and + older + - Revert "tty: n_gsm: avoid call of sleeping functions from atomic context" + - Revert "tty: n_gsm: replace kicktimer with delayed_work" + - ASoC: sof_es8336: reduce pop noise on speaker + - pinctrl: qcom: sc8280xp: Rectify UFS reset pins + - platform/x86: thinkpad_acpi: Enable s2idle quirk for 21A1 machine type + - platform/x86: ideapad-laptop: Add module parameters to match DMI quirk + tables + - block: make blk_set_default_limits() private + - scsi: mpi3mr: Suppress command reply debug prints + - btrfs: free btrfs_path before copying inodes to userspace + - btrfs: do not modify log tree while holding a leaf from fs tree locked + - drm/i915/ttm: never purge busy objects + - drm/display/dp_mst: Fix drm_dp_mst_add_affected_dsc_crtcs() return code + - drm/amdgpu/psp: don't free PSP buffers on suspend + - drm/amd/amdgpu: reserve vm invalidation engine for firmware + - drm/amdgpu: Partially revert "drm/amdgpu: update drm_display_info correctly + when the edid is read" + - btrfs: sink iterator parameter to btrfs_ioctl_logical_to_ino + - btrfs: qgroup: fix sleep from invalid context bug in btrfs_qgroup_inherit() + - iio: health: afe4403: Fix oob read in afe4403_read_raw + - iio: health: afe4404: Fix oob read in afe4404_[read|write]_raw + - iio: light: rpr0521: add missing Kconfig dependencies + - bpf, perf: Use subprog name when reporting subprog ksymbol + - scripts/faddr2line: Fix regression in name resolution on ppc64le + - ARM: at91: rm9200: fix usb device clock id + - libbpf: Handle size overflow for ringbuf mmap + - hwmon: (ltc2947) fix temperature scaling + - hwmon: (ina3221) Fix shunt sum critical calculation + - hwmon: (i5500_temp) fix missing pci_disable_device() + - hwmon: (ibmpex) Fix possible UAF when ibmpex_register_bmc() fails + - bpf: Do not copy spin lock field from user in bpf_selem_alloc + - nvmem: rmem: Fix return value check in rmem_read() + - of: property: decrement node refcount in of_fwnode_get_reference_args() + - ixgbevf: Fix resource leak in ixgbevf_init_module() + - i40e: Fix error handling in i40e_init_module() + - fm10k: Fix error handling in fm10k_init_module() + - iavf: Fix error handling in iavf_init_module() + - e100: Fix possible use after free in e100_xmit_prepare + - net/mlx5: DR, Fix uninitialized var warning + - net/mlx5: Fix uninitialized variable bug in outlen_write() + - net/mlx5e: Fix use-after-free when reverting termination table + - can: sja1000_isa: sja1000_isa_probe(): add missing free_sja1000dev() + - can: cc770: cc770_isa_probe(): add missing free_cc770dev() + - can: etas_es58x: es58x_init_netdev(): free netdev when register_candev() + - can: m_can: pci: add missing m_can_class_free_dev() in probe/remove methods + - can: m_can: Add check for devm_clk_get + - qlcnic: fix sleep-in-atomic-context bugs caused by msleep + - aquantia: Do not purge addresses when setting the number of rings + - wifi: cfg80211: fix buffer overflow in elem comparison + - wifi: cfg80211: don't allow multi-BSSID in S1G + - wifi: mac8021: fix possible oob access in ieee80211_get_rate_duration + - net: phy: fix null-ptr-deref while probe() failed + - net: ethernet: ti: am65-cpsw: fix error handling in am65_cpsw_nuss_probe() + - net: net_netdev: Fix error handling in ntb_netdev_init_module() + - net/9p: Fix a potential socket leak in p9_socket_open + - net: ethernet: nixge: fix NULL dereference + - net: wwan: iosm: fix kernel test robot reported error + - net: wwan: iosm: fix dma_alloc_coherent incompatible pointer type + - dsa: lan9303: Correct stat name + - tipc: re-fetch skb cb after tipc_msg_validate + - net: hsr: Fix potential use-after-free + - net: mdiobus: fix unbalanced node reference count + - afs: Fix fileserver probe RTT handling + - net: tun: Fix use-after-free in tun_detach() + - packet: do not set TP_STATUS_CSUM_VALID on CHECKSUM_COMPLETE + - sctp: fix memory leak in sctp_stream_outq_migrate() + - net: ethernet: renesas: ravb: Fix promiscuous mode after system resumed + - hwmon: (coretemp) Check for null before removing sysfs attrs + - hwmon: (coretemp) fix pci device refcount leak in nv1a_ram_new() + - riscv: vdso: fix section overlapping under some conditions + - riscv: mm: Proper page permissions after initmem free + - ALSA: dice: fix regression for Lexicon I-ONIX FW810S + - error-injection: Add prompt for function error injection + - tools/vm/slabinfo-gnuplot: use "grep -E" instead of "egrep" + - nilfs2: fix NULL pointer dereference in nilfs_palloc_commit_free_entry() + - x86/bugs: Make sure MSR_SPEC_CTRL is updated properly upon resume from S3 + - pinctrl: intel: Save and restore pins in "direct IRQ" mode + - v4l2: don't fall back to follow_pfn() if pin_user_pages_fast() fails + - net: stmmac: Set MAC's flow control register to reflect current settings + - mmc: mmc_test: Fix removal of debugfs file + - mmc: core: Fix ambiguous TRIM and DISCARD arg + - mmc: sdhci-esdhc-imx: correct CQHCI exit halt state check + - mmc: sdhci-sprd: Fix no reset data and command after voltage switch + - mmc: sdhci: Fix voltage switch delay + - drm/amdgpu: temporarily disable broken Clang builds due to blown stack-frame + - drm/amdgpu: enable Vangogh VCN indirect sram mode + - drm/i915: Fix negative value passed as remaining time + - drm/i915: Never return 0 if not all requests retired + - tracing/osnoise: Fix duration type + - tracing: Fix race where histograms can be called before the event + - tracing: Free buffers when a used dynamic event is removed + - io_uring: cmpxchg for poll arm refs release + - io_uring/poll: fix poll_refs race with cancelation + - ASoC: ops: Fix bounds check for _sx controls + - pinctrl: single: Fix potential division by zero + - riscv: Sync efi page table's kernel mappings before switching + - riscv: fix race when vmap stack overflow + - riscv: kexec: Fixup irq controller broken in kexec crash path + - nvme: fix SRCU protection of nvme_ns_head list + - iommu/vt-d: Fix PCI device refcount leak in has_external_pci() + - iommu/vt-d: Fix PCI device refcount leak in dmar_dev_scope_init() + - mm: migrate: fix THP's mapcount on isolation + - Kconfig.debug: provide a little extra FRAME_WARN leeway when KASAN is + enabled + - ipv4: Handle attempt to delete multipath route when fib_info contains an nh + reference + - ipv4: Fix route deletion when nexthop info is not specified + - i2c: npcm7xx: Fix error handling in npcm_i2c_init() + - i2c: imx: Only DMA messages with I2C_M_DMA_SAFE flag set + - ACPI: HMAT: remove unnecessary variable initialization + - ACPI: HMAT: Fix initiator registration for single-initiator systems + - Revert "clocksource/drivers/riscv: Events are stopped during CPU suspend" + - char: tpm: Protect tpm_pm_suspend with locks + - Input: raydium_ts_i2c - fix memory leak in raydium_i2c_send() + - ipc/sem: Fix dangling sem_array access in semtimedop race + - clk: samsung: exynos7885: Correct "div4" clock parents + - libbpf: Use correct return pointer in attach_raw_tp + - clocksource/drivers/arm_arch_timer: Fix XGene-1 TVAL register math error + - clk: qcom: gcc-sc8280xp: add cxo as parent for three ufs ref clks + - vfs: fix copy_file_range() averts filesystem freeze protection + - net: wwan: iosm: fix crash in peek throughput test + - net: wwan: iosm: fix incorrect skb length + - mptcp: don't orphan ssk in mptcp_close() + - mptcp: fix sleep in atomic at close time + - hwmon: (asus-ec-sensors) Add checks for devm_kcalloc + - ASoC: tlv320adc3xxx: Fix build error for implicit function declaration + - mm/damon/sysfs: fix wrong empty schemes assumption under online tuning in + damon_sysfs_set_schemes() + - i2c: Restore initial power state if probe fails + - i2c: qcom-geni: fix error return code in geni_i2c_gpi_xfer + - powerpc/bpf/32: Fix Oops on tail call tests + * 5.15.0-58.64 breaks xen bridge networking (pvh domU) (LP: #2002889) + - xen/netback: fix build warning + * NFS: client permission error after adding user to permissible group + (LP: #2003053) + - NFS: Clear the file access cache upon login + - NFS: Judge the file access cache's timestamp in rcu path + - NFS: Fix up a sparse warning + * cmsg_so_mark.sh / cmsg_time.sh / cmsg_ipv6.sh in net from + ubuntu_kernel_selftests hang with non-amd64 (LP: #2000667) + - selftests: net: fix cmsg_so_mark.sh test hang + * Set explicit CC in the headers package (LP: #1999750) + - [Packaging] Set explicit CC in the headers package + * powerpc-build in ubuntu_kernel_selftests failed on P9 with K-5.19 + (LP: #2000772) + - selftests/powerpc: Avoid GCC 12 uninitialised variable warning + * [SRU] SoF for RPL platform support (LP: #1992714) + - ASoC: SOC: Intel: introduce cl_init callback + - ASoC: SOF: Intel: add MeteorLake machines + - ASoC: SOF: Intel: Add support for MeteorLake (MTL) + - ASoC: Intel: common: add ACPI matching tables for Raptor Lake + - ASoC: SOF: Intel: pci-tgl: use RPL specific firmware definitions + - [Config] Enable SND_SOC_SOF_METEORLAKE as module + * Rear Audio port sometimes has no audio output after reboot(Cirrus Logic) + (LP: #1998905) + - ALSA: hda/cirrus: Add extra 10 ms delay to allow PLL settle and lock. + * Fix SUT can't displayed after resume from WB/CB with dGFX + installed(FR:6/10)[RX6300][RX6500] (LP: #1999836) + - drm/amd/display: No display after resume from WB/CB + * commit cf58599cded35cf4affed1e659c0e2c742d3fda7 seems to be missing in + kinetic master to remove "hio" reference from Makefile (LP: #1999556) + - Ubuntu: remove leftover reference to ubuntu/hio driver + * Add additional Mediatek MT7922 BT device ID (LP: #1998885) + - Bluetooth: btusb: Add a new VID/PID 0489/e0f2 for MT7922 + * Mute/mic LEDs no function on a HP platfrom (LP: #1998882) + - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook + * CVE-2023-0461 + - net/ulp: prevent ULP without clone op from entering the LISTEN status + - net/ulp: use consistent error code when blocking ULP + * CVE-2023-0179 + - netfilter: nft_payload: incorrect arithmetics when fetching VLAN header bits + * CVE-2022-20369 + - NFSD: fix use-after-free in __nfs42_ssc_open() + * Kinetic update: upstream stable patchset 2023-01-23 (LP: #2003753) + - ASoC: wm5102: Revert "ASoC: wm5102: Fix PM disable depth imbalance in + wm5102_probe" + - ASoC: wm5110: Revert "ASoC: wm5110: Fix PM disable depth imbalance in + wm5110_probe" + - ASoC: wm8997: Revert "ASoC: wm8997: Fix PM disable depth imbalance in + wm8997_probe" + - ASoC: mt6660: Keep the pm_runtime enables before component stuff in + mt6660_i2c_probe + - ASoC: rt1019: Fix the TDM settings + - ASoC: wm8962: Add an event handler for TEMP_HP and TEMP_SPK + - spi: intel: Fix the offset to get the 64K erase opcode + - ASoC: codecs: jz4725b: add missed Line In power control bit + - ASoC: codecs: jz4725b: fix reported volume for Master ctl + - ASoC: codecs: jz4725b: use right control for Capture Volume + - ASoC: codecs: jz4725b: fix capture selector naming + - ASoC: Intel: sof_sdw: add quirk variant for LAPBC710 NUC15 + - selftests/futex: fix build for clang + - selftests/intel_pstate: fix build for ARCH=x86_64 + - ASoC: rt1308-sdw: add the default value of some registers + - drm/amd/display: Remove wrong pipe control lock + - ACPI: scan: Add LATT2021 to acpi_ignore_dep_ids[] + - RDMA/efa: Add EFA 0xefa2 PCI ID + - btrfs: raid56: properly handle the error when unable to find the missing + stripe + - NFSv4: Retry LOCK on OLD_STATEID during delegation return + - ACPI: x86: Add another system to quirk list for forcing StorageD3Enable + - firmware: arm_scmi: Cleanup the core driver removal callback + - i2c: tegra: Allocate DMA memory for DMA engine + - i2c: i801: add lis3lv02d's I2C address for Vostro 5568 + - drm/imx: imx-tve: Fix return type of imx_tve_connector_mode_valid + - btrfs: remove pointless and double ulist frees in error paths of qgroup + tests + - x86/cpu: Add several Intel server CPU model numbers + - ASoC: codecs: jz4725b: Fix spelling mistake "Sourc" -> "Source", "Routee" -> + "Route" + - KVM: x86/pmu: Do not speculatively query Intel GP PMCs that don't exist yet + - hugetlbfs: don't delete error page from pagecache + - arm64: dts: qcom: sa8155p-adp: Specify which LDO modes are allowed + - arm64: dts: qcom: sm8150-xperia-kumano: Specify which LDO modes are allowed + - arm64: dts: qcom: sm8250-xperia-edo: Specify which LDO modes are allowed + - arm64: dts: qcom: sm8350-hdk: Specify which LDO modes are allowed + - spi: stm32: Print summary 'callbacks suppressed' message + - ARM: dts: at91: sama7g5: fix signal name of pin PB2 + - ASoC: core: Fix use-after-free in snd_soc_exit() + - ASoC: tas2770: Fix set_tdm_slot in case of single slot + - ASoC: tas2764: Fix set_tdm_slot in case of single slot + - ARM: at91: pm: avoid soft resetting AC DLL + - serial: 8250: omap: Fix missing PM runtime calls for omap8250_set_mctrl() + - serial: 8250_omap: remove wait loop from Errata i202 workaround + - serial: 8250: omap: Fix unpaired pm_runtime_put_sync() in omap8250_remove() + - serial: 8250: omap: Flush PM QOS work on remove + - serial: imx: Add missing .thaw_noirq hook + - tty: n_gsm: fix sleep-in-atomic-context bug in gsm_control_send + - bpf, test_run: Fix alignment problem in bpf_prog_test_run_skb() + - ASoC: soc-utils: Remove __exit for snd_soc_util_exit() + - pinctrl: rockchip: list all pins in a possible mux route for PX30 + - scsi: scsi_transport_sas: Fix error handling in sas_phy_add() + - block: sed-opal: kmalloc the cmd/resp buffers + - bpf: Fix memory leaks in __check_func_call + - arm64: Fix bit-shifting UB in the MIDR_CPU_MODEL() macro + - siox: fix possible memory leak in siox_device_add() + - parport_pc: Avoid FIFO port location truncation + - pinctrl: devicetree: fix null pointer dereferencing in pinctrl_dt_to_map + - drm/vc4: kms: Fix IS_ERR() vs NULL check for vc4_kms + - drm/panel: simple: set bpc field for logic technologies displays + - drm/drv: Fix potential memory leak in drm_dev_init() + - drm: Fix potential null-ptr-deref in drm_vblank_destroy_worker() + - arm64: dts: imx8mm: Fix NAND controller size-cells + - arm64: dts: imx8mn: Fix NAND controller size-cells + - ata: libata-transport: fix double ata_host_put() in ata_tport_add() + - ata: libata-transport: fix error handling in ata_tport_add() + - ata: libata-transport: fix error handling in ata_tlink_add() + - ata: libata-transport: fix error handling in ata_tdev_add() + - nfp: change eeprom length to max length enumerators + - MIPS: fix duplicate definitions for exported symbols + - MIPS: Loongson64: Add WARN_ON on kexec related kmalloc failed + - bpf: Initialize same number of free nodes for each pcpu_freelist + - net: bgmac: Drop free_netdev() from bgmac_enet_remove() + - mISDN: fix possible memory leak in mISDN_dsp_element_register() + - net: hinic: Fix error handling in hinic_module_init() + - net: stmmac: ensure tx function is not running in stmmac_xdp_release() + - soc: imx8m: Enable OCOTP clock before reading the register + - net: liquidio: release resources when liquidio driver open failed + - mISDN: fix misuse of put_device() in mISDN_register_device() + - net: macvlan: Use built-in RCU list checking + - net: caif: fix double disconnect client in chnl_net_open() + - bnxt_en: Remove debugfs when pci_register_driver failed + - net: mhi: Fix memory leak in mhi_net_dellink() + - net: dsa: make dsa_master_ioctl() see through port_hwtstamp_get() shims + - xen/pcpu: fix possible memory leak in register_pcpu() + - net: ionic: Fix error handling in ionic_init_module() + - net: ena: Fix error handling in ena_init() + - net: hns3: fix setting incorrect phy link ksettings for firmware in + resetting process + - bridge: switchdev: Fix memory leaks when changing VLAN protocol + - drbd: use after free in drbd_create_device() + - platform/x86/intel: pmc: Don't unconditionally attach Intel PMC when + virtualized + - platform/surface: aggregator: Do not check for repeated unsequenced packets + - cifs: add check for returning value of SMB2_close_init + - net: ag71xx: call phylink_disconnect_phy if ag71xx_hw_enable() fail in + ag71xx_open() + - net/x25: Fix skb leak in x25_lapb_receive_frame() + - cifs: Fix wrong return value checking when GETFLAGS + - net: microchip: sparx5: Fix potential null-ptr-deref in sparx_stats_init() + and sparx5_start() + - net: thunderbolt: Fix error handling in tbnet_init() + - cifs: add check for returning value of SMB2_set_info_init + - ftrace: Fix the possible incorrect kernel message + - ftrace: Optimize the allocation for mcount entries + - ftrace: Fix null pointer dereference in ftrace_add_mod() + - ring_buffer: Do not deactivate non-existant pages + - tracing: Fix memory leak in tracing_read_pipe() + - tracing/ring-buffer: Have polling block on watermark + - tracing: Fix memory leak in test_gen_synth_cmd() and + test_empty_synth_event() + - tracing: Fix wild-memory-access in register_synth_event() + - tracing: Fix race where eprobes can be called before the event + - tracing: kprobe: Fix potential null-ptr-deref on trace_event_file in + kprobe_event_gen_test_exit() + - tracing: kprobe: Fix potential null-ptr-deref on trace_array in + kprobe_event_gen_test_exit() + - drm/amd/display: Add HUBP surface flip interrupt handler + - ALSA: usb-audio: Drop snd_BUG_ON() from snd_usbmidi_output_open() + - ALSA: hda/realtek: fix speakers for Samsung Galaxy Book Pro + - ALSA: hda/realtek: Fix the speaker output on Samsung Galaxy Book Pro 360 + - Revert "usb: dwc3: disable USB core PHY management" + - slimbus: qcom-ngd: Fix build error when CONFIG_SLIM_QCOM_NGD_CTRL=y && + CONFIG_QCOM_RPROC_COMMON=m + - slimbus: stream: correct presence rate frequencies + - speakup: fix a segfault caused by switching consoles + - USB: bcma: Make GPIO explicitly optional + - USB: serial: option: add Sierra Wireless EM9191 + - USB: serial: option: remove old LARA-R6 PID + - USB: serial: option: add u-blox LARA-R6 00B modem + - USB: serial: option: add u-blox LARA-L6 modem + - USB: serial: option: add Fibocom FM160 0x0111 composition + - usb: add NO_LPM quirk for Realforce 87U Keyboard + - usb: chipidea: fix deadlock in ci_otg_del_timer + - usb: cdns3: host: fix endless superspeed hub port reset + - usb: typec: mux: Enter safe mode only when pins need to be reconfigured + - iio: adc: at91_adc: fix possible memory leak in at91_adc_allocate_trigger() + - iio: trigger: sysfs: fix possible memory leak in iio_sysfs_trig_init() + - iio: adc: mp2629: fix wrong comparison of channel + - iio: adc: mp2629: fix potential array out of bound access + - iio: pressure: ms5611: changed hardcoded SPI speed to value limited + - dm ioctl: fix misbehavior if list_versions races with module loading + - serial: 8250: Fall back to non-DMA Rx if IIR_RDI occurs + - serial: 8250: Flush DMA Rx on RLSI + - serial: 8250_lpss: Configure DMA also w/o DMA filter + - Input: iforce - invert valid length check when fetching device IDs + - maccess: Fix writing offset in case of fault in + strncpy_from_kernel_nofault() + - net: phy: marvell: add sleep time after enabling the loopback bit + - scsi: zfcp: Fix double free of FSF request when qdio send fails + - iommu/vt-d: Preset Access bit for IOVA in FL non-leaf paging entries + - iommu/vt-d: Set SRE bit only when hardware has SRS cap + - firmware: coreboot: Register bus in module init + - mmc: core: properly select voltage range without power cycle + - mmc: sdhci-pci-o2micro: fix card detect fail issue caused by CD# debounce + timeout + - mmc: sdhci-pci: Fix possible memory leak caused by missing pci_dev_put() + - docs: update mediator contact information in CoC doc + - misc/vmw_vmci: fix an infoleak in vmci_host_do_receive_datagram() + - perf/x86/intel/pt: Fix sampling using single range output + - nvme: restrict management ioctls to admin + - nvme: ensure subsystem reset is single threaded + - serial: 8250_lpss: Use 16B DMA burst with Elkhart Lake + - perf: Improve missing SIGTRAP checking + - ring-buffer: Include dropped pages in counting dirty patches + - tracing: Fix warning on variable 'struct trace_array' + - net: use struct_group to copy ip/ipv6 header addresses + - scsi: target: tcm_loop: Fix possible name leak in tcm_loop_setup_hba_bus() + - scsi: scsi_debug: Fix possible UAF in sdebug_add_host_helper() + - kprobes: Skip clearing aggrprobe's post_handler in kprobe-on-ftrace case + - Input: i8042 - fix leaking of platform device on module removal + - macvlan: enforce a consistent minimal mtu + - tcp: cdg: allow tcp_cdg_release() to be called multiple times + - kcm: avoid potential race in kcm_tx_work + - kcm: close race conditions on sk_receive_queue + - 9p: trans_fd/p9_conn_cancel: drop client lock earlier + - gfs2: Check sb_bsize_shift after reading superblock + - gfs2: Switch from strlcpy to strscpy + - 9p/trans_fd: always use O_NONBLOCK read/write + - wifi: wext: use flex array destination for memcpy() + - mm: fs: initialize fsdata passed to write_begin/write_end interface + - net/9p: use a dedicated spinlock for trans_fd + - ntfs: fix use-after-free in ntfs_attr_find() + - ntfs: fix out-of-bounds read in ntfs_attr_find() + - ntfs: check overflow when iterating ATTR_RECORDs + - drm/msm/gpu: Fix crash during system suspend after unbind + - spi: tegra210-quad: Fix combined sequence + - ASoC: rt5682s: Fix the TDM Tx settings + - selftests/kexec: fix build for ARCH=x86_64 + - ASoC: Intel: sof_rt5682: Add quirk for Rex board + - ASoC: amd: yc: Adding Lenovo ThinkBook 14 Gen 4+ ARA and Lenovo ThinkBook 16 + Gen 4+ ARA to the Quirks List + - ASoC: amd: yc: Add Lenovo Thinkbook 14+ 2022 21D0 to quirks table + - drm/amdgpu: Adjust MES polling timeout for sriov + - platform/x86: thinkpad_acpi: Fix reporting a non present second fan on some + models + - drm/scheduler: fix fence ref counting + - cxl/mbox: Add a check on input payload size + - SUNRPC: Fix crasher in gss_unwrap_resp_integ() + - drm/rockchip: vop2: fix null pointer in plane_atomic_disable + - drm/rockchip: vop2: disable planes when disabling the crtc + - ksefltests: pidfd: Fix wait_states: Test terminated by timeout + - powerpc/64e: Fix amdgpu build on Book3E w/o AltiVec + - block: blk_add_rq_to_plug(): clear stale 'last' after flush + - firmware: arm_scmi: Make tx_prepare time out eventually + - drm/amd/display: Ignore Cable ID Feature + - drm/amdgpu: set fb_modifiers_not_supported in vkms + - drm/amd: Fail the suspend if resources can't be evicted + - cxl/pmem: Use size_add() against integer overflow + - tools/testing/cxl: Fix some error exits + - arm64/mm: fold check for KFENCE into can_set_direct_map() + - arm64: fix rodata=full again + - KVM: SVM: remove dead field from struct svm_cpu_data + - KVM: SVM: do not allocate struct svm_cpu_data dynamically + - KVM: SVM: restore host save area from assembly + - KVM: SVM: move MSR_IA32_SPEC_CTRL save/restore to assembly + - arm64: dts: qcom: sc7280: Add the reset reg for lpass audiocc on SC7280 + - ASoC: fsl_asrc fsl_esai fsl_sai: allow CONFIG_PM=N + - arm64: dts: qcom: sm8250: Disable the not yet supported cluster idle state + - tty: serial: fsl_lpuart: don't break the on-going transfer when global reset + - bnxt_en: refactor bnxt_cancel_reservations() + - bnxt_en: fix the handling of PCIE-AER + - mtd: onenand: omap2: add dependency on GPMC + - sctp: remove the unnecessary sinfo_stream check in sctp_prsctp_prune_unsent + - sctp: clear out_curr if all frag chunks of current msg are pruned + - erofs: clean up .read_folio() and .readahead() in fscache mode + - io_uring: calculate CQEs from the user visible value + - pinctrl: mediatek: common-v2: Fix bias-disable for PULL_PU_PD_RSEL_TYPE + - selftests/bpf: Fix test_progs compilation failure in 32-bit arch + - arm64: dts: imx8mm-tqma8mqml-mba8mx: Fix USB DR + - cifs: Fix connections leak when tlink setup failed + - ata: libata-core: do not issue non-internal commands once EH is pending + - net: phy: dp83867: Fix SGMII FIFO depth for non OF devices + - mctp i2c: don't count unused / invalid keys for flow release + - octeon_ep: delete unnecessary napi rollback under set_queues_err in + octep_open() + - octeon_ep: ensure octep_get_link_status() successfully before + octep_link_up() + - octeon_ep: fix potential memory leak in octep_device_setup() + - octeon_ep: ensure get mac address successfully before eth_hw_addr_set() + - erofs: fix missing xas_retry() in fscache mode + - mlxsw: Avoid warnings when not offloaded FDB entry with IPv6 is removed + - net: hns3: fix incorrect hw rss hash type of rx packet + - net: hns3: fix return value check bug of rx copybreak + - netfs: Fix missing xas_retry() calls in xarray iteration + - netfs: Fix dodgy maths + - net: dsa: don't leak tagger-owned storage on switch driver unbind + - net: lan966x: Fix potential null-ptr-deref in lan966x_stats_init() + - s390: avoid using global register for current_stack_pointer + - netdevsim: Fix memory leak of nsim_dev->fa_cookie + - rethook: fix a potential memleak in rethook_alloc() + - drm/amd/pm: fix SMU13 runpm hang due to unintentional workaround + - drm/display: Don't assume dual mode adaptors support i2c sub-addressing + - drm/amd/display: Fix invalid DPIA AUX reply causing system hang + - drm/amd/display: Fix access timeout to DPIA AUX at boot time + - drm/amd/display: Support parsing VRAM info v3.0 from VBIOS + - usb: dwc3: Do not get extcon device when usb-role-switch is used + - nvme-pci: add NVME_QUIRK_BOGUS_NID for Micron Nitro + - nvme-pci: add NVME_QUIRK_BOGUS_NID for Netac NV7000 + - usb: typec: tipd: Prevent uninitialized event{1,2} in IRQ handler + - iio: accel: bma400: Ensure VDDIO is enable defore reading the chip ID. + - iio: pressure: ms5611: fixed value compensation bug + - ceph: avoid putting the realm twice when decoding snaps fails + - s390/dcssblk: fix deadlock when adding a DCSS + - blk-cgroup: properly pin the parent in blkcg_css_online + - x86/fpu: Drop fpregs lock before inheriting FPU permissions + - ASoC: SOF: topology: No need to assign core ID if token parsing failed + - perf/x86/amd: Fix crash due to race between amd_pmu_enable_all, perf NMI and + throttling + - net: usb: smsc95xx: fix external PHY reset + - tracing: Fix potential null-pointer-access of entry in list 'tr->err_log' + - arm64/mm: fix incorrect file_map_count for non-leaf pmd/pud + - KVM: x86/xen: Fix eventfd error handling in kvm_xen_eventfd_assign() + - netlink: Bounds-check struct nlmsgerr creation + - bpf: Prevent bpf program recursion for raw tracepoint probes + * Fix RPL-S support on powercap/intel_rapl (LP: #1990161) + - powercap: intel_rapl: Add support for RAPTORLAKE_P + - powercap: intel_rapl: Add support for RAPTORLAKE_S + * Kinetic update: upstream stable patchset 2023-01-04 (LP: #2001726) + - drm/amdkfd: handle CPU fault on COW mapping + - drm/amdkfd: Fix NULL pointer dereference in svm_migrate_to_ram() + - hwspinlock: qcom: correct MMIO max register for newer SoCs + - phy: stm32: fix an error code in probe + - wifi: cfg80211: silence a sparse RCU warning + - wifi: cfg80211: fix memory leak in query_regdb_file() + - soundwire: qcom: reinit broadcast completion + - soundwire: qcom: check for outanding writes before doing a read + - bpf, verifier: Fix memory leak in array reallocation for stack state + - bpf, sockmap: Fix the sk->sk_forward_alloc warning of sk_stream_kill_queues + - wifi: mac80211: Set TWT Information Frame Disabled bit as 1 + - bpftool: Fix NULL pointer dereference when pin {PROG, MAP, LINK} without + FILE + - HID: hyperv: fix possible memory leak in mousevsc_probe() + - bpf, sockmap: Fix sk->sk_forward_alloc warn_on in sk_stream_kill_queues + - bpf: Fix sockmap calling sleepable function in teardown path + - bpf, sock_map: Move cancel_work_sync() out of sock lock + - bpf: Add helper macro bpf_for_each_reg_in_vstate + - bpf: Fix wrong reg type conversion in release_reference() + - net: gso: fix panic on frag_list with mixed head alloc types + - macsec: delete new rxsc when offload fails + - macsec: fix secy->n_rx_sc accounting + - macsec: fix detection of RXSCs when toggling offloading + - macsec: clear encryption keys from the stack after setting up offload + - octeontx2-pf: NIX TX overwrites SQ_CTX_HW_S[SQ_INT] + - net: tun: Fix memory leaks of napi_get_frags + - bnxt_en: Fix possible crash in bnxt_hwrm_set_coal() + - bnxt_en: fix potentially incorrect return value for ndo_rx_flow_steer + - net: fman: Unregister ethernet device on removal + - capabilities: fix undefined behavior in bit shift for CAP_TO_MASK + - phy: ralink: mt7621-pci: add sentinel to quirks table + - KVM: s390: pv: don't allow userspace to set the clock under PV + - net: lapbether: fix issue of dev reference count leakage in + lapbeth_device_event() + - hamradio: fix issue of dev reference count leakage in bpq_device_event() + - net: wwan: iosm: fix memory leak in ipc_wwan_dellink + - net: wwan: mhi: fix memory leak in mhi_mbim_dellink + - drm/vc4: Fix missing platform_unregister_drivers() call in + vc4_drm_register() + - tcp: prohibit TCP_REPAIR_OPTIONS if data was already sent + - ipv6: addrlabel: fix infoleak when sending struct ifaddrlblmsg to network + - can: af_can: fix NULL pointer dereference in can_rx_register() + - net: stmmac: dwmac-meson8b: fix meson8b_devm_clk_prepare_enable() + - net: broadcom: Fix BCMGENET Kconfig + - tipc: fix the msg->req tlv len check in + tipc_nl_compat_name_table_dump_header + - dmaengine: pxa_dma: use platform_get_irq_optional + - dmaengine: mv_xor_v2: Fix a resource leak in mv_xor_v2_remove() + - dmaengine: ti: k3-udma-glue: fix memory leak when register device fail + - net: lapbether: fix issue of invalid opcode in lapbeth_open() + - drivers: net: xgene: disable napi when register irq failed in + xgene_enet_open() + - perf stat: Fix printing os->prefix in CSV metrics output + - perf tools: Add the include/perf/ directory to .gitignore + - netfilter: nfnetlink: fix potential dead lock in nfnetlink_rcv_msg() + - netfilter: Cleanup nft_net->module_list from nf_tables_exit_net() + - net: marvell: prestera: fix memory leak in prestera_rxtx_switch_init() + - net: nixge: disable napi when enable interrupts failed in nixge_open() + - net: wwan: iosm: fix memory leak in ipc_pcie_read_bios_cfg + - net/mlx5: Bridge, verify LAG state when adding bond to bridge + - net/mlx5: Allow async trigger completion execution on single CPU systems + - net/mlx5e: E-Switch, Fix comparing termination table instance + - net: cpsw: disable napi in cpsw_ndo_open() + - net: cxgb3_main: disable napi when bind qsets failed in cxgb_up() + - stmmac: intel: Update PCH PTP clock rate from 200MHz to 204.8MHz + - mctp: Fix an error handling path in mctp_init() + - cxgb4vf: shut down the adapter when t4vf_update_port_info() failed in + cxgb4vf_open() + - stmmac: dwmac-loongson: fix missing pci_disable_msi() while module exiting + - stmmac: dwmac-loongson: fix missing pci_disable_device() in + loongson_dwmac_probe() + - stmmac: dwmac-loongson: fix missing of_node_put() while module exiting + - net: phy: mscc: macsec: clear encryption keys when freeing a flow + - net: atlantic: macsec: clear encryption keys from the stack + - ethernet: s2io: disable napi when start nic failed in s2io_card_up() + - net: mv643xx_eth: disable napi when init rxq or txq failed in + mv643xx_eth_open() + - ethernet: tundra: free irq when alloc ring failed in tsi108_open() + - net: macvlan: fix memory leaks of macvlan_common_newlink + - riscv: process: fix kernel info leakage + - riscv: vdso: fix build with llvm + - riscv: fix reserved memory setup + - arm64: efi: Fix handling of misaligned runtime regions and drop warning + - MIPS: jump_label: Fix compat branch range check + - mmc: cqhci: Provide helper for resetting both SDHCI and CQHCI + - mmc: sdhci-of-arasan: Fix SDHCI_RESET_ALL for CQHCI + - mmc: sdhci_am654: Fix SDHCI_RESET_ALL for CQHCI + - mmc: sdhci-tegra: Fix SDHCI_RESET_ALL for CQHCI + - mmc: sdhci-esdhc-imx: use the correct host caps for MMC_CAP_8_BIT_DATA + - ALSA: hda/hdmi - enable runtime pm for more AMD display audio + - ALSA: hda/ca0132: add quirk for EVGA Z390 DARK + - ALSA: hda: fix potential memleak in 'add_widget_node' + - ALSA: hda/realtek: Add Positivo C6300 model quirk + - ALSA: usb-audio: Yet more regression for for the delayed card registration + - ALSA: usb-audio: Add quirk entry for M-Audio Micro + - ALSA: usb-audio: Add DSD support for Accuphase DAC-60 + - vmlinux.lds.h: Fix placement of '.data..decrypted' section + - ata: libata-scsi: fix SYNCHRONIZE CACHE (16) command failure + - nilfs2: fix deadlock in nilfs_count_free_blocks() + - nilfs2: fix use-after-free bug of ns_writer on remount + - drm/i915/dmabuf: fix sg_table handling in map_dma_buf + - drm/amdgpu: disable BACO on special BEIGE_GOBY card + - btrfs: fix match incorrectly in dev_args_match_device + - btrfs: selftests: fix wrong error check in btrfs_free_dummy_root() + - btrfs: zoned: initialize device's zone info for seeding + - mms: sdhci-esdhc-imx: Fix SDHCI_RESET_ALL for CQHCI + - udf: Fix a slab-out-of-bounds write bug in udf_find_entry() + - mm/damon/dbgfs: check if rm_contexts input is for a real context + - mm/memremap.c: map FS_DAX device memory as decrypted + - mm/shmem: use page_mapping() to detect page cache for uffd continue + - can: j1939: j1939_send_one(): fix missing CAN header initialization + - dmaengine: at_hdmac: Fix at_lli struct definition + - dmaengine: at_hdmac: Don't start transactions at tx_submit level + - dmaengine: at_hdmac: Start transfer for cyclic channels in issue_pending + - dmaengine: at_hdmac: Fix premature completion of desc in issue_pending + - dmaengine: at_hdmac: Do not call the complete callback on + device_terminate_all + - dmaengine: at_hdmac: Protect atchan->status with the channel lock + - dmaengine: at_hdmac: Fix concurrency problems by removing atc_complete_all() + - dmaengine: at_hdmac: Fix concurrency over descriptor + - dmaengine: at_hdmac: Free the memset buf without holding the chan lock + - dmaengine: at_hdmac: Fix concurrency over the active list + - dmaengine: at_hdmac: Fix descriptor handling when issuing it to hardware + - dmaengine: at_hdmac: Fix completion of unissued descriptor in case of errors + - dmaengine: at_hdmac: Don't allow CPU to reorder channel enable + - dmaengine: at_hdmac: Fix impossible condition + - dmaengine: at_hdmac: Check return code of dma_async_device_register + - drm/amdkfd: Migrate in CPU page fault use current mm + - net: tun: call napi_schedule_prep() to ensure we own a napi + - x86/cpu: Restore AMD's DE_CFG MSR after resume + - drm/i915/gvt: Add missing vfio_unregister_group_dev() call + - KVM: debugfs: Return retval of simple_attr_open() if it fails + - HID: wacom: Fix logic used for 3rd barrel switch emulation + - ALSA: arm: pxa: pxa2xx-ac97-lib: fix return value check of + platform_get_irq() + - spi: mediatek: Fix package division error + - drm/vc4: hdmi: Fix HSM clock too low on Pi4 + - PCI: hv: Fix the definition of vector in hv_compose_msi_msg() + - KVM: s390: pci: Fix allocation size of aift kzdev elements + - drm/i915/psr: Send update also on invalidate + - drm/i915: Do not set cache_dirty for DGFX + - dt-bindings: net: tsnep: Fix typo on generic nvmem property + - dmanegine: idxd: reformat opcap output to match bitmap_parse() input + - dmaengine: idxd: Fix max batch size for Intel IAA + - dmaengine: idxd: fix RO device state error after been disabled/reset + - dmaengine: stm32-dma: fix potential race between pause and resume + - net: ethernet: mtk-star-emac: disable napi when connect and start PHY failed + in mtk_star_enable() + - octeontx2-pf: Fix SQE threshold checking + - perf stat: Fix crash with --per-node --metric-only in CSV mode + - net: wwan: iosm: fix invalid mux header type + - net/mlx5e: Add missing sanity checks for max TX WQE size + - ice: Fix spurious interrupt during removal of trusted VF + - iavf: Fix VF driver counting VLAN 0 filters + - ALSA: memalloc: Don't fall back for SG-buffer with IOMMU + - eth: sp7021: drop free_netdev() from spl2sw_init_netdev() + - mmc: sdhci-brcmstb: Fix SDHCI_RESET_ALL for CQHCI + - ALSA: hda/realtek: Add quirk for ASUS Zenbook using CS35L41 + - drm/amdgpu: workaround for TLB seq race + - drm/amdkfd: Fix error handling in criu_checkpoint + - drm/amdkfd: Fix error handling in kfd_criu_restore_events + - btrfs: zoned: clone zoned device info when cloning a device + - net: ethernet: ti: am65-cpsw: Fix segmentation fault at module unload + - spi: intel: Use correct mask for flash and protected regions + - dmaengine: idxd: Do not enable user type Work Queue without Shared Virtual + Addressing + - can: isotp: fix tx state handling for echo tx processing + - can: rcar_canfd: Add missing ECC error checks for channels 2-7 + - KVM: x86: use a separate asm-offsets.c file + - KVM: SVM: replace regs argument of __svm_vcpu_run() with vcpu_svm + - KVM: SVM: adjust register allocation for __svm_vcpu_run() + - KVM: SVM: retrieve VMCB from assembly + - KVM: SVM: move guest vmsave/vmload back to assembly + * AMD Rembrandt: DP tunneling fails with Thunderbolt monitors + (LP: #1983143) // Kinetic update: upstream stable patchset 2023-01-04 + (LP: #2001726) + - thunderbolt: Add DP OUT resource when DP tunnel is discovered + * CVE-2022-47520 + - wifi: wilc1000: validate pairwise and authentication suite offsets + * CVE-2022-3545 + - nfp: fix use-after-free in area_cache_get() + + -- Khalid Elmously Sun, 12 Feb 2023 20:53:44 -0500 + +linux-gcp (5.19.0-1017.19) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1017.19 -proposed tracker (LP: #2003416) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/2023.01.02) + + [ Ubuntu: 5.19.0-31.32 ] + + * kinetic/linux: 5.19.0-31.32 -proposed tracker (LP: #2003423) + * amdgpu: framebuffer is destroyed and the screen freezes with unsupported IP + blocks (LP: #2003524) + - drm/amd: Delay removal of the firmware framebuffer + * Revoke & rotate to new signing key (LP: #2002812) + - [Packaging] Revoke and rotate to new signing key + + -- Stefan Bader Tue, 24 Jan 2023 16:01:30 +0100 + +linux-gcp (5.19.0-1016.17) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1016.17 -proposed tracker (LP: #2001746) + + * Kinetic update: upstream stable patchset 2022-11-14 (LP: #1996540) + - [Config] gcp: updateconfigs for HID_TOPRE + + [ Ubuntu: 5.19.0-30.31 ] + + * kinetic/linux: 5.19.0-30.31 -proposed tracker (LP: #2001756) + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - debian/dkms-versions -- update from kernel-versions (main/2023.01.02) + * Add some ACPI device IDs for Intel HID device (LP: #1995453) + - platform/x86/intel/hid: Add some ACPI device IDs + * Fix iosm: WWAN cannot build the connection (DW5823e) (LP: #1998115) + - net: wwan: iosm: fix driver not working with INTEL_IOMMU disabled + - [Config] CONFIG_IOSM update annotations on arm64 armhf ppc64el s390x riscv64 + * BPF_[AND|OR|XOR|FETCH|XCHG|CMPXCHG] in net:test_bpf.sh from + ubuntu_kernel_selftests failed on K-5.19 P9 (LP: #2001618) + - powerpc/bpf/64: add support for BPF_ATOMIC bitwise operations + - powerpc/bpf/64: add support for atomic fetch operations + - powerpc/bpf/64: Add instructions for atomic_[cmp]xchg + * [DEP-8] Run ADT regression suite for lowlatency kernels Jammy and later + (LP: #1999528) + - [DEP-8] Fix regression suite to run on lowlatency + * Kinetic update: upstream stable patchset 2022-12-15 (LP: #1999828) + - serial: ar933x: Deassert Transmit Enable on ->rs485_config() + - KVM: x86: Trace re-injected exceptions + - RDMA/cma: Use output interface for net_dev check + - IB/hfi1: Correctly move list in sc_disable() + - RDMA/hns: Disable local invalidate operation + - NFSv4: Fix a potential state reclaim deadlock + - NFSv4.1: Handle RECLAIM_COMPLETE trunking errors + - NFSv4.1: We must always send RECLAIM_COMPLETE after a reboot + - SUNRPC: Fix null-ptr-deref when xps sysfs alloc failed + - NFSv4.2: Fixup CLONE dest file size for zero-length count + - nfs4: Fix kmemleak when allocate slot failed + - net: dsa: Fix possible memory leaks in dsa_loop_init() + - RDMA/core: Fix null-ptr-deref in ib_core_cleanup() + - RDMA/qedr: clean up work queue on failure in qedr_alloc_resources() + - net: dsa: fall back to default tagger if we can't load the one from DT + - nfc: fdp: Fix potential memory leak in fdp_nci_send() + - nfc: nxp-nci: Fix potential memory leak in nxp_nci_send() + - nfc: s3fwrn5: Fix potential memory leak in s3fwrn5_nci_send() + - nfc: nfcmrvl: Fix potential memory leak in nfcmrvl_i2c_nci_send() + - net: fec: fix improper use of NETDEV_TX_BUSY + - ata: pata_legacy: fix pdc20230_set_piomode() + - net: sched: Fix use after free in red_enqueue() + - net: tun: fix bugs for oversize packet when napi frags enabled + - netfilter: nf_tables: netlink notifier might race to release objects + - netfilter: nf_tables: release flow rule object from commit path + - ipvs: use explicitly signed chars + - ipvs: fix WARNING in __ip_vs_cleanup_batch() + - ipvs: fix WARNING in ip_vs_app_net_cleanup() + - rose: Fix NULL pointer dereference in rose_send_frame() + - mISDN: fix possible memory leak in mISDN_register_device() + - isdn: mISDN: netjet: fix wrong check of device registration + - btrfs: fix inode list leak during backref walking at resolve_indirect_refs() + - btrfs: fix inode list leak during backref walking at find_parent_nodes() + - btrfs: fix ulist leaks in error paths of qgroup self tests + - netfilter: ipset: enforce documented limit to prevent allocating huge memory + - Bluetooth: virtio_bt: Use skb_put to set length + - Bluetooth: L2CAP: fix use-after-free in l2cap_conn_del() + - Bluetooth: L2CAP: Fix memory leak in vhci_write + - net: mdio: fix undefined behavior in bit shift for __mdiobus_register + - ibmvnic: Free rwi on reset success + - stmmac: dwmac-loongson: fix invalid mdio_node + - net/smc: Fix possible leaked pernet namespace in smc_init() + - net, neigh: Fix null-ptr-deref in neigh_table_clear() + - ipv6: fix WARNING in ip6_route_net_exit_late() + - vsock: fix possible infinite sleep in vsock_connectible_wait_data() + - media: rkisp1: Don't pass the quantization to rkisp1_csm_config() + - media: rkisp1: Initialize color space on resizer sink and source pads + - media: rkisp1: Use correct macro for gradient registers + - media: rkisp1: Zero v4l2_subdev_format fields in when validating links + - media: s5p_cec: limit msg.len to CEC_MAX_MSG_SIZE + - media: cros-ec-cec: limit msg.len to CEC_MAX_MSG_SIZE + - media: dvb-frontends/drxk: initialize err to 0 + - media: meson: vdec: fix possible refcount leak in vdec_probe() + - media: v4l: subdev: Fail graciously when getting try data for NULL state + - ACPI: APEI: Fix integer overflow in ghes_estatus_pool_init() + - scsi: core: Restrict legal sdev_state transitions via sysfs + - HID: saitek: add madcatz variant of MMO7 mouse device ID + - drm/amdgpu: set vm_update_mode=0 as default for Sienna Cichlid in SRIOV case + - i2c: xiic: Add platform module alias + - efi/tpm: Pass correct address to memblock_reserve + - clk: qcom: Update the force mem core bit for GPU clocks + - ARM: dts: imx6qdl-gw59{10,13}: fix user pushbutton GPIO offset + - arm64: dts: imx8: correct clock order + - arm64: dts: lx2160a: specify clock frequencies for the MDIO controllers + - arm64: dts: ls1088a: specify clock frequencies for the MDIO controllers + - arm64: dts: ls208xa: specify clock frequencies for the MDIO controllers + - block: Fix possible memory leak for rq_wb on add_disk failure + - firmware: arm_scmi: Suppress the driver's bind attributes + - firmware: arm_scmi: Make Rx chan_setup fail on memory errors + - firmware: arm_scmi: Fix devres allocation device in virtio transport + - arm64: dts: juno: Add thermal critical trip points + - i2c: piix4: Fix adapter not be removed in piix4_remove() + - Bluetooth: L2CAP: Fix attempting to access uninitialized memory + - fscrypt: stop using keyrings subsystem for fscrypt_master_key + - fscrypt: fix keyring memory leak on mount failure + - btrfs: fix lost file sync on direct IO write with nowait and dsync iocb + - btrfs: fix tree mod log mishandling of reallocated nodes + - btrfs: fix type of parameter generation in btrfs_get_dentry + - ftrace: Fix use-after-free for dynamic ftrace_ops + - tracing: kprobe: Fix memory leak in test_gen_kprobe/kretprobe_cmd() + - kprobe: reverse kp->flags when arm_kprobe failed + - ring-buffer: Check for NULL cpu_buffer in ring_buffer_wake_waiters() + - tools/nolibc/string: Fix memcmp() implementation + - tracing/histogram: Update document for KEYS_MAX size + - capabilities: fix potential memleak on error path from vfs_getxattr_alloc() + - fuse: add file_modified() to fallocate + - efi: random: reduce seed size to 32 bytes + - efi: random: Use 'ACPI reclaim' memory for random seed + - arm64: entry: avoid kprobe recursion + - perf/x86/intel: Fix pebs event constraints for ICL + - perf/x86/intel: Add Cooper Lake stepping to isolation_ucodes[] + - perf/x86/intel: Fix pebs event constraints for SPR + - parisc: Make 8250_gsc driver dependend on CONFIG_PARISC + - parisc: Export iosapic_serial_irq() symbol for serial port driver + - parisc: Avoid printing the hardware path twice + - ext4: fix warning in 'ext4_da_release_space' + - ext4: fix BUG_ON() when directory entry has invalid rec_len + - x86/syscall: Include asm/ptrace.h in syscall_wrapper header + - KVM: x86: Mask off reserved bits in CPUID.80000006H + - KVM: x86: Mask off reserved bits in CPUID.8000001AH + - KVM: x86: Mask off reserved bits in CPUID.80000008H + - KVM: x86: Mask off reserved bits in CPUID.80000001H + - KVM: x86: Mask off reserved bits in CPUID.8000001FH + - KVM: VMX: fully disable SGX if SECONDARY_EXEC_ENCLS_EXITING unavailable + - KVM: arm64: Fix bad dereference on MTE-enabled systems + - KVM: x86: emulator: em_sysexit should update ctxt->mode + - KVM: x86: emulator: introduce emulator_recalc_and_set_mode + - KVM: x86: emulator: update the emulation mode after rsm + - KVM: x86: emulator: update the emulation mode after CR0 write + - tee: Fix tee_shm_register() for kernel TEE drivers + - ext4,f2fs: fix readahead of verity data + - cifs: fix regression in very old smb1 mounts + - drm/rockchip: dsi: Clean up 'usage_mode' when failing to attach + - drm/rockchip: dsi: Force synchronous probe + - drm/i915/sdvo: Filter out invalid outputs more sensibly + - drm/i915/sdvo: Setup DDC fully before output init + - wifi: brcmfmac: Fix potential buffer overflow in brcmf_fweh_event_worker() + - usb: dwc3: gadget: Don't delay End Transfer on delayed_status + - RDMA/hns: Fix NULL pointer problem in free_mr_init() + - docs/process/howto: Replace C89 with C11 + - RDMA/rxe: Fix mr leak in RESPST_ERR_RNR + - tools/nolibc: Fix missing strlen() definition and infinite loop with gcc-12 + - ata: palmld: fix return value check in palmld_pata_probe() + - net: lan966x: Fix the MTU calculation + - net: lan966x: Adjust maximum frame size when vlan is enabled/disabled + - net: lan966x: Fix FDMA when MTU is changed + - net: lan966x: Fix unmapping of received frames using FDMA + - bridge: Fix flushing of dynamic FDB entries + - iio: adc: stm32-adc: fix channel sampling time init + - drm/vc4: hdmi: Check the HSM rate at runtime_resume + - hwrng: bcm2835 - use hwrng_msleep() instead of cpu_relax() + - drm/amdkfd: Fix type of reset_type parameter in hqd_destroy() callback + - drm/amdgpu: Program GC registers through RLCG interface in gfx_v11/gmc_v11 + - nvme-pci: disable write zeroes on various Kingston SSD + - bio: safeguard REQ_ALLOC_CACHE bio put + - clk: rs9: Fix I2C accessors + - arm64: dts: imx8mm: Enable CPLD_Dn pull down resistor on MX8Menlo + - clk: renesas: r8a779g0: Fix HSCIF parent clocks + - arm64: dts: verdin-imx8mp: fix ctrl_sleep_moci + - arm64: dts: imx8mm: remove otg1/2 power domain dependency on hsio + - arm64: dts: imx8mm: correct usb power domains + - arm64: dts: imx8mn: remove otg1 power domain dependency on hsio + - arm64: dts: imx8mn: Correct the usb power domain + - drm/rockchip: dw_hdmi: filter regulator -EPROBE_DEFER error messages + - drm/rockchip: fix fbdev on non-IOMMU devices + - drm/i915: stop abusing swiotlb_max_segment + - blk-mq: Fix kmemleak in blk_mq_init_allocated_queue + - firmware: arm_scmi: Fix deferred_tx_wq release on error paths + - clk: renesas: r8a779g0: Add SASYNCPER clocks + - btrfs: fix a memory allocation failure test in btrfs_submit_direct + - ACPI: NUMA: Add CXL CFMWS 'nodes' to the possible nodes set + - tracing/fprobe: Fix to check whether fprobe is registered correctly + - fprobe: Check rethook_alloc() return in rethook initialization + - fuse: fix readdir cache race + - net/ulp: remove SOCK_SUPPORT_ZC from tls sockets + - ARM: dts: imx6dl-yapp4: Do not allow PM to switch PU regulator off on Q/QP + - net: remove SOCK_SUPPORT_ZC from sockmap + - net: also flag accepted sockets supporting msghdr originated zerocopy + - ext4: update the backup superblock's at the end of the online resize + - x86/tdx: Prepare for using "INFO" call for a second purpose + - x86/tdx: Panic on bad configs that #VE on "private" memory access + - KVM: VMX: Fold vmx_supported_debugctl() into vcpu_supported_debugctl() + - KVM: VMX: Ignore guest CPUID for host userspace writes to DEBUGCTL + - KVM: Initialize gfn_to_pfn_cache locks in dedicated helper + - KVM: Reject attempts to consume or refresh inactive gfn_to_pfn_cache + - KVM: arm64: Fix SMPRI_EL1/TPIDR2_EL0 trapping on VHE + - drm/amdgpu: disable GFXOFF during compute for GFX11 + * Kinetic update: upstream stable patchset 2022-12-07 (LP: #1999079) + - can: j1939: transport: j1939_session_skb_drop_old(): + spin_unlock_irqrestore() before kfree_skb() + - can: kvaser_usb: Fix possible completions during init_completion + - ALSA: Use del_timer_sync() before freeing timer + - ALSA: usb-audio: Add quirks for M-Audio Fast Track C400/600 + - ALSA: au88x0: use explicitly signed char + - ALSA: rme9652: use explicitly signed char + - USB: add RESET_RESUME quirk for NVIDIA Jetson devices in RCM + - usb: gadget: uvc: fix sg handling in error case + - usb: gadget: uvc: fix sg handling during video encode + - usb: dwc3: gadget: Stop processing more requests on IMI + - usb: dwc3: gadget: Don't set IMI for no_interrupt + - usb: bdc: change state when port disconnected + - usb: xhci: add XHCI_SPURIOUS_SUCCESS to ASM1042 despite being a V0.96 + controller + - mtd: rawnand: marvell: Use correct logic for nand-keep-config + - xhci: Add quirk to reset host back to default state at shutdown + - xhci-pci: Set runtime PM as default policy on all xHC 1.2 or later devices + - xhci: Remove device endpoints from bandwidth list when freeing the device + - tools: iio: iio_utils: fix digit calculation + - iio: light: tsl2583: Fix module unloading + - iio: temperature: ltc2983: allocate iio channels once + - iio: adxl372: Fix unsafe buffer attributes + - fbdev: smscufx: Fix several use-after-free bugs + - cpufreq: intel_pstate: Read all MSRs on the target CPU + - cpufreq: intel_pstate: hybrid: Use known scaling factor for P-cores + - fs/binfmt_elf: Fix memory leak in load_elf_binary() + - exec: Copy oldsighand->action under spin-lock + - mac802154: Fix LQI recording + - scsi: qla2xxx: Use transport-defined speed mask for supported_speeds + - drm/amdgpu: disallow gfxoff until GC IP blocks complete s2idle resume + - drm/msm/dsi: fix memory corruption with too many bridges + - drm/msm/hdmi: fix memory corruption with too many bridges + - drm/msm/dp: fix IRQ lifetime + - coresight: cti: Fix hang in cti_disable_hw() + - mmc: sdhci_am654: 'select', not 'depends' REGMAP_MMIO + - mmc: core: Fix kernel panic when remove non-standard SDIO card + - mmc: sdhci-pci-core: Disable ES for ASUS BIOS on Jasper Lake + - mmc: sdhci-esdhc-imx: Propagate ESDHC_FLAG_HS400* only on 8bit bus + - counter: microchip-tcb-capture: Handle Signal1 read and Synapse + - kernfs: fix use-after-free in __kernfs_remove + - pinctrl: Ingenic: JZ4755 bug fixes + - ARC: mm: fix leakage of memory allocated for PTE + - perf auxtrace: Fix address filter symbol name match for modules + - s390/futex: add missing EX_TABLE entry to __futex_atomic_op() + - s390/pci: add missing EX_TABLE entries to + __pcistg_mio_inuser()/__pcilg_mio_inuser() + - mmc: block: Remove error check of hw_reset on reset + - ethtool: eeprom: fix null-deref on genl_info in dump + - net: ieee802154: fix error return code in dgram_bind() + - media: v4l2: Fix v4l2_i2c_subdev_set_name function documentation + - media: atomisp: prevent integer overflow in sh_css_set_black_frame() + - drm/msm: Fix return type of mdp4_lvds_connector_mode_valid + - KVM: selftests: Fix number of pages for memory slot in + memslot_modification_stress_test + - ASoC: qcom: lpass-cpu: mark HDMI TX registers as volatile + - perf: Fix missing SIGTRAPs + - sched/core: Fix comparison in sched_group_cookie_match() + - arc: iounmap() arg is volatile + - mtd: rawnand: intel: Add missing of_node_put() in ebu_nand_probe() + - ASoC: qcom: lpass-cpu: Mark HDMI TX parity register as volatile + - ALSA: ac97: fix possible memory leak in snd_ac97_dev_register() + - perf/x86/intel/lbr: Use setup_clear_cpu_cap() instead of clear_cpu_cap() + - tipc: fix a null-ptr-deref in tipc_topsrv_accept + - net: netsec: fix error handling in netsec_register_mdio() + - net: hinic: fix incorrect assignment issue in hinic_set_interrupt_cfg() + - net: hinic: fix memory leak when reading function table + - net: hinic: fix the issue of CMDQ memory leaks + - net: hinic: fix the issue of double release MBOX callback of VF + - net: macb: Specify PHY PM management done by MAC + - nfc: virtual_ncidev: Fix memory leak in virtual_nci_send() + - x86/unwind/orc: Fix unreliable stack dump with gcov + - amd-xgbe: fix the SFP compliance codes check for DAC cables + - amd-xgbe: add the bit rate quirk for Molex cables + - drm/i915/dp: Reset frl trained flag before restarting FRL training + - atlantic: fix deadlock at aq_nic_stop + - kcm: annotate data-races around kcm->rx_psock + - kcm: annotate data-races around kcm->rx_wait + - net: fix UAF issue in nfqnl_nf_hook_drop() when ops_init() failed + - net: lantiq_etop: don't free skb when returning NETDEV_TX_BUSY + - tcp: fix a signed-integer-overflow bug in tcp_add_backlog() + - tcp: fix indefinite deferral of RTO with SACK reneging + - net-memcg: avoid stalls when under memory pressure + - drm/amdkfd: Fix memory leak in kfd_mem_dmamap_userptr() + - can: mscan: mpc5xxx: mpc5xxx_can_probe(): add missing put_clock() in error + path + - can: mcp251x: mcp251x_can_probe(): add missing unregister_candev() in error + path + - PM: hibernate: Allow hybrid sleep to work with s2idle + - media: vivid: s_fbuf: add more sanity checks + - media: vivid: dev->bitmap_cap wasn't freed in all cases + - media: v4l2-dv-timings: add sanity checks for blanking values + - media: videodev2.h: V4L2_DV_BT_BLANKING_HEIGHT should check 'interlaced' + - media: vivid: set num_in/outputs to 0 if not supported + - perf vendor events power10: Fix hv-24x7 metric events + - ipv6: ensure sane device mtu in tunnels + - i40e: Fix ethtool rx-flow-hash setting for X722 + - i40e: Fix VF hang when reset is triggered on another VF + - i40e: Fix flow-type by setting GL_HASH_INSET registers + - net: ksz884x: fix missing pci_disable_device() on error in pcidev_init() + - PM: domains: Fix handling of unavailable/disabled idle states + - perf vendor events arm64: Fix incorrect Hisi hip08 L3 metrics + - net: fec: limit register access on i.MX6UL + - net: ethernet: ave: Fix MAC to be in charge of PHY PM + - ALSA: aoa: i2sbus: fix possible memory leak in i2sbus_add_dev() + - ALSA: aoa: Fix I2S device accounting + - openvswitch: switch from WARN to pr_warn + - net: ehea: fix possible memory leak in ehea_register_port() + - net: bcmsysport: Indicate MAC is in charge of PHY PM + - nh: fix scope used to find saddr when adding non gw nh + - net: broadcom: bcm4908_enet: update TX stats after actual transmission + - netdevsim: remove dir in nsim_dev_debugfs_init() when creating ports dir + failed + - net/mlx5e: Do not increment ESN when updating IPsec ESN state + - net/mlx5e: Extend SKB room check to include PTP-SQ + - net/mlx5: Fix possible use-after-free in async command interface + - net/mlx5: Update fw fatal reporter state on PCI handlers successful recover + - net/mlx5: Fix crash during sync firmware reset + - net: do not sense pfmemalloc status in skb_append_pagefrags() + - kcm: do not sense pfmemalloc status in kcm_sendpage() + - net: enetc: survive memory pressure without crashing + - arm64: Add AMPERE1 to the Spectre-BHB affected list + - can: rcar_canfd: fix channel specific IRQ handling for RZ/G2L + - can: rcar_canfd: rcar_canfd_handle_global_receive(): fix IRQ storm on global + FIFO receive + - ALSA: hda/realtek: Add quirk for ASUS Zenbook using CS35L41 + - ALSA: hda/realtek: Add another HP ZBook G9 model quirks + - usb: gadget: uvc: limit isoc_sg to super speed gadgets + - usb: gadget: uvc: fix dropped frame after missed isoc + - usb: gadget: aspeed: Fix probe regression + - usb: dwc3: gadget: Force sending delayed status during soft disconnect + - usb: typec: ucsi: Check the connection on resume + - usb: typec: ucsi: acpi: Implement resume callback + - usb: dwc3: Don't switch OTG -> peripheral if extcon is present + - mtd: rawnand: tegra: Fix PM disable depth imbalance in probe + - mtd: parsers: bcm47xxpart: Fix halfblock reads + - iio: adxl367: Fix unsafe buffer attributes + - fbdev: stifb: Fall back to cfb_fillrect() on 32-bit HCRX cards + - drm/amdgpu: Fix VRAM BO swap issue + - drm/i915: Extend Wa_1607297627 to Alderlake-P + - drm/amdgpu: Remove ATC L2 access for MMHUB 2.1.x + - drm/amdgpu: fix pstate setting issue + - drm/amdkfd: update gfx1037 Lx cache setting + - drm/amdkfd: correct the cache info for gfx1036 + - drm/msm: fix use-after-free on probe deferral + - drm/msm/hdmi: fix IRQ lifetime + - drm/msm/dp: fix memory corruption with too many bridges + - drm/msm/dp: fix bridge lifetime + - mmc: queue: Cancel recovery work on cleanup + - mmc: core: Fix WRITE_ZEROES CQE handling + - counter: 104-quad-8: Fix race getting function mode and direction + - mm/uffd: fix vma check on userfault for wp + - mm: migrate: fix return value if all subpages of THPs are migrated + successfully + - mm,madvise,hugetlb: fix unexpected data loss with MADV_DONTNEED on hugetlbfs + - mm/huge_memory: do not clobber swp_entry_t during THP split + - s390/cio: fix out-of-bounds access on cio_ignore free + - s390/uaccess: add missing EX_TABLE entries to __clear_user() + - ACPI: PCC: Fix unintentional integer overflow + - powerpc/64s/interrupt: Fix clear of PACA_IRQS_HARD_DIS when returning to + soft-masked context + - media: amphion: release m2m ctx when releasing vpu instance + - media: ov8865: Fix an error handling path in ov8865_probe() + - media: sun6i-csi: Add a Kconfig dependency on RESET_CONTROLLER + - media: sun4i-csi: Add a Kconfig dependency on RESET_CONTROLLER + - media: sun8i-di: Add a Kconfig dependency on RESET_CONTROLLER + - media: sun8i-rotate: Add a Kconfig dependency on RESET_CONTROLLER + - media: cedrus: Add a Kconfig dependency on RESET_CONTROLLER + - drm/msm/a6xx: Replace kcalloc() with kvzalloc() + - drm/msm/dp: add atomic_check to bridge ops + - drm/msm/dp: cleared DP_DOWNSPREAD_CTRL register before start link training + - ASoC: codec: tlv320adc3xxx: add GPIOLIB dependency + - pinctrl: qcom: Avoid glitching lines when we first mux to output + - spi: qup: support using GPIO as chip select line + - x86/fpu: Configure init_fpstate attributes orderly + - x86/fpu: Fix the init_fpstate size check with the actual size + - x86/fpu: Exclude dynamic states from init_fpstate + - bpf: prevent decl_tag from being referenced in func_proto + - mtd: rawnand: intel: Remove unused nand_pa member from ebu_nand_cs + - mtd: rawnand: intel: Use devm_platform_ioremap_resource_byname() + - ASoC: codecs: tlv320adc3xxx: Wrap adc3xxx_i2c_remove() in __exit_p() + - spi: aspeed: Fix window offset of CE1 + - net: lan966x: Fix the rx drop counter + - x86/fpu: Fix copy_xstate_to_uabi() to copy init states correctly + - amd-xgbe: Yellow carp devices do not need rrc + - drm/i915/dgfx: Keep PCI autosuspend control 'on' by default on all dGPU + - net: lan966x: Stop replacing tx dcbs and dcbs_buf when changing MTU + - mptcp: set msk local address earlier + - netdevsim: fix memory leak in nsim_bus_dev_new() + - net/mlx5: Wait for firmware to enable CRS before pci_restore_state + - net/mlx5: DR, Fix matcher disconnect error flow + - net/mlx5e: Update restore chain id for slow path packets + - net/mlx5e: TC, Reject forwarding from internal port to internal port + - riscv: mm: add missing memcpy in kasan_init + * Virtual GPU driver packaging regression (LP: #1996112) + - [Packaging] Reintroduce VM DRM drivers into modules + * Fix AMD-PState driver for Genoa CPU (LP: #1998106) + - Documentation: amd-pstate: Add unit test introduction + - cpufreq: amd-pstate: cpufreq: amd-pstate: reset MSR_AMD_PERF_CTL register at + init + - cpufreq: amd-pstate: change amd-pstate driver to be built-in type + - cpufreq: amd-pstate: add amd-pstate driver parameter for mode selection + - Documentation: amd-pstate: add driver working mode introduction + - Documentation: add amd-pstate kernel command line options + * Kinetic update: upstream stable patchset 2022-11-30 (LP: #1998398) + - clk: tegra: Fix Tegra PWM parent clock + - Revert "btrfs: call __btrfs_remove_free_space_cache_locked on cache load + failure" + - ocfs2: clear dinode links count in case of error + - ocfs2: fix BUG when iput after ocfs2_mknod fails + - selinux: enable use of both GFP_KERNEL and GFP_ATOMIC in convert_context() + - cpufreq: qcom: fix writes in read-only memory region + - i2c: qcom-cci: Fix ordering of pm_runtime_xx and i2c_add_adapter + - x86/microcode/AMD: Apply the patch early on every logical thread + - hwmon/coretemp: Handle large core ID value + - ata: ahci-imx: Fix MODULE_ALIAS + - ata: ahci: Match EM_MAX_SLOTS with SATA_PMP_MAX_PORTS + - x86/resctrl: Fix min_cbm_bits for AMD + - cpufreq: qcom: fix memory leak in error path + - drm/amdgpu: fix sdma doorbell init ordering on APUs + - mm,hugetlb: take hugetlb_lock before decrementing h->resv_huge_pages + - kvm: Add support for arch compat vm ioctls + - KVM: arm64: vgic: Fix exit condition in scan_its_table() + - media: ipu3-imgu: Fix NULL pointer dereference in active selection access + - media: mceusb: set timeout to at least timeout provided + - media: venus: dec: Handle the case where find_format fails + - x86/topology: Fix multiple packages shown on a single-package system + - x86/topology: Fix duplicated core ID within a package + - btrfs: fix processing of delayed data refs during backref walking + - btrfs: fix processing of delayed tree block refs during backref walking + - drm/vc4: Add module dependency on hdmi-codec + - ACPI: extlog: Handle multiple records + - tipc: Fix recognition of trial period + - tipc: fix an information leak in tipc_topsrv_kern_subscr + - i40e: Fix DMA mappings leak + - HID: magicmouse: Do not set BTN_MOUSE on double report + - sfc: Change VF mac via PF as first preference if available. + - net/atm: fix proc_mpc_write incorrect return value + - net: phy: dp83867: Extend RX strap quirk for SGMII mode + - net: phylink: add mac_managed_pm in phylink_config structure + - scsi: lpfc: Fix memory leak in lpfc_create_port() + - udp: Update reuse->has_conns under reuseport_lock. + - cifs: Fix xid leak in cifs_create() + - cifs: Fix xid leak in cifs_copy_file_range() + - cifs: Fix xid leak in cifs_flock() + - cifs: Fix xid leak in cifs_ses_add_channel() + - dm: remove unnecessary assignment statement in alloc_dev() + - net: hsr: avoid possible NULL deref in skb_clone() + - ionic: catch NULL pointer issue on reconfig + - netfilter: nf_tables: relax NFTA_SET_ELEM_KEY_END set flags requirements + - nvme-hwmon: consistently ignore errors from nvme_hwmon_init + - nvme-hwmon: kmalloc the NVME SMART log buffer + - nvmet: fix workqueue MEM_RECLAIM flushing dependency + - net: sched: cake: fix null pointer access issue when cake_init() fails + - net: sched: delete duplicate cleanup of backlog and qlen + - net: sched: sfb: fix null pointer access issue when sfb_init() fails + - sfc: include vport_id in filter spec hash and equal() + - wwan_hwsim: fix possible memory leak in wwan_hwsim_dev_new() + - net: hns: fix possible memory leak in hnae_ae_register() + - net: sched: fix race condition in qdisc_graft() + - net: phy: dp83822: disable MDI crossover status change interrupt + - iommu/vt-d: Allow NVS regions in arch_rmrr_sanity_check() + - iommu/vt-d: Clean up si_domain in the init_dmars() error path + - ACPI: video: Force backlight native for more TongFang devices + - x86/Kconfig: Drop check for -mabi=ms for CONFIG_EFI_STUB + - mm: /proc/pid/smaps_rollup: fix no vma's null-deref + - smb3: interface count displayed incorrectly + - cpufreq: tegra194: Fix module loading + - KVM: x86: Copy filter arg outside kvm_vm_ioctl_set_msr_filter() + - KVM: x86: Add compat handler for KVM_X86_SET_MSR_FILTER + - media: venus: Fix NV12 decoder buffer discovery on HFI_VERSION_1XX + - drm/vc4: hdmi: Enforce the minimum rate at runtime_resume + - net/smc: Fix an error code in smc_lgr_create() + - net: stmmac: Enable mac_managed_pm phylink config + - blk-mq: fix null pointer dereference in blk_mq_clear_rq_mapping() + - net: ethernet: mtk_eth_soc: fix possible memory leak in mtk_probe() + - net: ethernet: mtk_eth_wed: add missing put_device() in mtk_wed_add_hw() + - net: ethernet: mtk_eth_wed: add missing of_node_put() + - ip6mr: fix UAF issue in ip6mr_sk_done() when addrconf_init_net() failed + - cifs: Fix memory leak when build ntlmssp negotiate blob failed + - netfilter: rpfilter/fib: Populate flowic_l3mdev field + - netfilter: rpfilter/fib: Set ->flowic_uid correctly for user namespaces. + - net: Fix return value of qdisc ingress handling on success + - drbd: only clone bio if we have a backing device + - wifi: mt76: mt7921e: fix random fw download fail + * Mediatek WLAN RZ616(MT7922) SAR table control (LP: #1997200) + - mt76: add 6 GHz band support in mt76_sar_freq_ranges + - mt76: mt7921: introduce ACPI SAR support + - mt76: mt7921: introduce ACPI SAR config in tx power + - wifi: mt76: mt7921: fix use after free in mt7921_acpi_read() + * Kinetic update: upstream stable patchset 2022-11-14 (LP: #1996540) + - scsi: qla2xxx: Fix response queue handler reading stale packets + - Upstream stable to v5.15.74, v6.0.2 + - rcu-tasks: Convert RCU_LOCKDEP_WARN() to WARN_ONCE() + - mmc: sdhci-msm: add compatible string check for sdm670 + - thermal: intel_powerclamp: Use first online CPU as control_cpu + - gcov: support GCC 12.1 and newer compilers + - io-wq: Fix memory leak in worker creation + - arm64: mte: Avoid setting PG_mte_tagged if no tags cleared or restored + - serial: Deassert Transmit Enable on probe in driver-specific way + - KVM: x86: Treat #DBs from the emulator as fault-like (code and DR7.GD=1) + - drm/amd/display: Enable dpia support for dcn314 + - drm/amdgpu: Enable F32_WPTR_POLL_ENABLE in mqd + - libbpf: Initialize err in probe_map_create + - libbpf: Fix crash if SEC("freplace") programs don't have attach_prog_fd set + - libbpf: Fix NULL pointer exception in API btf_dump__dump_type_data + - drm/vc4: drv: Call component_unbind_all() + - video/aperture: Disable and unregister sysfb devices via aperture helpers + - drm/bridge: anx7625: Fix refcount bug in anx7625_parse_dt() + - drm/i915/dg2: Bump up CDCLK for DG2 + - drm/panel: use 'select' for Ili9341 panel driver helpers + - drm: fix drm_mipi_dbi build errors + - ALSA: hda/hdmi: change type for the 'assigned' variable + - ALSA: hda/hdmi: Fix the converter allocation for the silent stream + - arm64: dts: qcom: sc7280: Cleanup the lpasscc node + - arm64: dts: qcom: sc7280: Update lpasscore node + - arm64: dts: qcom: pm8350c: Drop PWM reg declaration + - arm64: dts: qcom: sc7180-trogdor: Keep pm6150_adc enabled for TZ + - arm64: dts: qcom: sm8350-sagami: correct TS pin property + - soc/tegra: fuse: Add missing of_node_put() in tegra_init_fuse() + - arm64: dts: qcom: ipq8074: fix PCIe PHY serdes size + - arm64: dts: qcom: sm8450: fix UFS PHY serdes size + - arm64: dts: exynos: fix polarity of "enable" line of NFC chip in TM2 + - selftests/cpu-hotplug: Use return instead of exit + - selftests/cpu-hotplug: Delete fault injection related code + - selftests/cpu-hotplug: Reserve one cpu online at least + - usb: common: usb-conn-gpio: Simplify some error message + - HID: uclogic: Fix warning in uclogic_rdesc_template_apply + - tty: xilinx_uartps: Check clk_enable return value + - fpga: dfl-pci: Add IDs for Intel N6000, N6001 and C6100 cards + - iio: Use per-device lockdep class for mlock + - scsi: lpfc: Fix various issues reported by tools + - phy: qcom-qmp-usb: disable runtime PM on unbind + - block: Fix the enum blk_eh_timer_return documentation + - RDMA/rxe: Set pd early in mr alloc routines + - clk: imx8mp: tune the order of enet_qos_root_clk + - libbpf: Ensure functions with always_inline attribute are inline + - libbpf: Do not require executable permission for shared libraries + - micrel: ksz8851: fixes struct pointer issue + - net: ftmac100: fix endianness-related issues from 'sparse' + - net: sched: cls_u32: Avoid memcpy() false-positive warning + - libbpf: Fix overrun in netlink attribute iteration + - ALSA: usb-audio: Add quirk to enable Avid Mbox 3 support + - ASoC: sunxi: sun4i-codec: set debugfs_prefix for CPU DAI component + - ASoC: amd: yc: Add ASUS UM5302TA into DMI table + - ASoC: amd: yc: Add Lenovo Yoga Slim 7 Pro X to quirks table + - arm64: dts: qcom: sc7280-idp: correct ADC channel node name and unit address + - ARM: orion: fix include path + - hid: topre: Add driver fixing report descriptor + - [Config] updateconfigs for HID_TOPRE + - fsi: master-ast-cf: Fix missing of_node_put in fsi_master_acf_probe + - dmaengine: dw-edma: Remove runtime PM support + - HID: playstation: stop DualSense output work on remove. + - HID: playstation: add initial DualSense Edge controller support + - net: flag sockets supporting msghdr originated zerocopy + - drm/amd/pm: disable cstate feature for gpu reset scenario + - dm clone: Fix typo in block_device format specifier + + -- Khalid Elmously Sun, 15 Jan 2023 04:25:18 -0500 + +linux-gcp (5.19.0-1015.16) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1015.16 -proposed tracker (LP: #1999789) + + [ Ubuntu: 5.19.0-29.30 ] + + * kinetic/linux: 5.19.0-29.30 -proposed tracker (LP: #1999799) + * CVE-2022-3643 + - xen/netback: Ensure protocol headers don't fall in the non-linear area + * CVE-2022-45934 + - Bluetooth: L2CAP: Fix u8 overflow + * CVE-2022-4378 + - proc: proc_skip_spaces() shouldn't think it is working on C strings + - proc: avoid integer type confusion in get_proc_long + * CVE-2022-42896 + - Bluetooth: L2CAP: Fix accepting connection request for invalid SPSM + - Bluetooth: L2CAP: Fix l2cap_global_chan_by_psm + + -- Thadeu Lima de Souza Cascardo Mon, 09 Jan 2023 09:54:52 -0300 + +linux-gcp (5.19.0-1014.15) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1014.15 -proposed tracker (LP: #1999736) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - [Packaging] update Ubuntu.md + + * Kinetic update: v5.19.9 upstream stable release (LP: #1994068) // Kinetic + update: v5.19.15 upstream stable release (LP: #1994078) // Kinetic update: + v5.19.17 upstream stable release (LP: #1994179) + - [Configs] gcp: Updates after rebase + + * remove circular dep between linux-image and modules (LP: #1989334) + - [Packaging] remove circular dep between modules and image + + [ Ubuntu: 5.19.0-28.29 ] + + * kinetic/linux: 5.19.0-28.29 -proposed tracker (LP: #1999746) + * mm:vma05 in ubuntu_ltp fails with '[vdso] bug not patched' on kinetic/linux + 5.19.0-27.28 (LP: #1999094) + - fix coredump breakage + + [ Ubuntu: 5.19.0-27.28 ] + + * kinetic/linux: 5.19.0-27.28 -proposed tracker (LP: #1997794) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/2022.11.14) + * selftests/.../nat6to4 breaks the selftests build (LP: #1996536) + - [Config] Disable selftests/net/bpf/nat6to4 + * Expose built-in trusted and revoked certificates (LP: #1996892) + - [Packaging] Expose built-in trusted and revoked certificates + * support for same series backports versioning numbers (LP: #1993563) + - [Packaging] sameport -- add support for sameport versioning + * Add cs35l41 firmware loading support (LP: #1995957) + - ASoC: cs35l41: Move cs35l41 exit hibernate function into shared code + - ASoC: cs35l41: Add common cs35l41 enter hibernate function + - ASoC: cs35l41: Do not print error when waking from hibernation + - ALSA: hda: cs35l41: Don't dereference fwnode handle + - ALSA: hda: cs35l41: Allow compilation test on non-ACPI configurations + - ALSA: hda: cs35l41: Drop wrong use of ACPI_PTR() + - ALSA: hda: cs35l41: Consolidate selections under SND_HDA_SCODEC_CS35L41 + - ALSA: hda: hda_cs_dsp_ctl: Add Library to support CS_DSP ALSA controls + - ALSA: hda: hda_cs_dsp_ctl: Add apis to write the controls directly + - ALSA: hda: cs35l41: Save codec object inside component struct + - ALSA: hda: cs35l41: Add initial DSP support and firmware loading + - ALSA: hda: cs35l41: Save Subsystem ID inside CS35L41 Driver + - ALSA: hda: cs35l41: Support reading subsystem id from ACPI + - ALSA: hda: cs35l41: Support multiple load paths for firmware + - ALSA: hda: cs35l41: Support Speaker ID for laptops + - ALSA: hda: cs35l41: Support Hibernation during Suspend + - ALSA: hda: cs35l41: Read Speaker Calibration data from UEFI variables + - ALSA: hda: hda_cs_dsp_ctl: Add fw id strings + - ALSA: hda: cs35l41: Add defaulted values into dsp bypass config sequence + - ALSA: hda: cs35l41: Support Firmware switching and reloading + - ALSA: hda: cs35l41: Add module parameter to control firmware load + - Revert "ALSA: hda: cs35l41: Allow compilation test on non-ACPI + configurations" + - ALSA: hda/realtek: More robust component matching for CS35L41 + - [Config] updateconfigs for SND_HDA_CS_DSP_CONTROLS + * Fibocom WWAN FM350-GL suspend error (notebook not suspend) (LP: #1990700) + - net: wwan: t7xx: Add AP CLDMA + * Screen cannot turn on after screen off with Matrox G200eW3 [102b:0536] + (LP: #1995573) + - drm/mgag200: Optimize damage clips + - drm/mgag200: Add FB_DAMAGE_CLIPS support + - drm/mgag200: Enable atomic gamma lut update + * TEE Support for CCP driver (LP: #1991608) + - crypto: ccp: Add support for TEE for PCI ID 0x14CA + * AMD Cezanne takes 5 minutes to wake up from suspend (LP: #1993715) + - platform/x86/amd: pmc: Read SMU version during suspend on Cezanne systems + * Fix ath11k deadlock on WCN6855 (LP: #1995041) + - wifi: ath11k: avoid deadlock during regulatory update in + ath11k_regd_update() + * intel_pmc_core not load on Raptor Lake (LP: #1988461) + - x86/cpu: Add new Raptor Lake CPU model number + - platform/x86/intel: pmc/core: Add Raptor Lake support to pmc core driver + * [UBUNTU 20.04] boot: Add s390x secure boot trailer (LP: #1996071) + - s390/boot: add secure boot trailer + * Fix rfkill causing soft blocked wifi (LP: #1996198) + - platform/x86: hp_wmi: Fix rfkill causing soft blocked wifi + * Support Icicle Kit reference design v2022.10 (LP: #1993148) + - riscv: dts: microchip: icicle: re-jig fabric peripheral addresses + - riscv: dts: microchip: reduce the fic3 clock rate + - riscv: dts: microchip: update memory configuration for v2022.10 + - riscv: dts: microchip: fix fabric i2c reg size + - SAUCE: riscv: dts: microchip: Disable PCIe on the Icicle Kit + * Fix Turbostat is not working for fam: 6 model: 191: stepping: 2 CPU + (LP: #1991365) + - tools/power turbostat: Add support for RPL-S + * armhf kernel compiled with gcc-12 fails to boot on pi 3/2 (LP: #1993120) + - [Packaging] Support arch-specific compilers in updateconfigs + * Kinetic update: v5.19.17 upstream stable release (LP: #1994179) + - Revert "fs: check FMODE_LSEEK to control internal pipe splicing" + - ALSA: oss: Fix potential deadlock at unregistration + - ALSA: rawmidi: Drop register_mutex in snd_rawmidi_free() + - ALSA: usb-audio: Fix potential memory leaks + - ALSA: usb-audio: Fix NULL dererence at error path + - ALSA: hda/realtek: remove ALC289_FIXUP_DUAL_SPK for Dell 5530 + - ALSA: hda/realtek: Correct pin configs for ASUS G533Z + - ALSA: hda/realtek: Add quirk for ASUS GV601R laptop + - ALSA: hda/realtek: Add Intel Reference SSID to support headset keys + - mtd: rawnand: atmel: Unmap streaming DMA mappings + - io_uring/rw: fix unexpected link breakage + - io_uring/net: fix fast_iov assignment in io_setup_async_msg() + - io_uring/net: don't update msg_name if not provided + - io_uring: correct pinned_vm accounting + - hv_netvsc: Fix race between VF offering and VF association message from host + - cifs: destage dirty pages before re-reading them for cache=none + - cifs: Fix the error length of VALIDATE_NEGOTIATE_INFO message + - iio: dac: ad5593r: Fix i2c read protocol requirements + - iio: ltc2497: Fix reading conversion results + - iio: adc: ad7923: fix channel readings for some variants + - iio: pressure: dps310: Refactor startup procedure + - iio: pressure: dps310: Reset chip after timeout + - xhci: dbc: Fix memory leak in xhci_alloc_dbc() + - usb: gadget: uvc: Fix argument to sizeof() in uvc_register_video() + - usb: add quirks for Lenovo OneLink+ Dock + - mmc: core: Add SD card quirk for broken discard + - can: kvaser_usb: Fix use of uninitialized completion + - can: kvaser_usb_leaf: Fix overread with an invalid command + - can: kvaser_usb_leaf: Fix TX queue out of sync after restart + - can: kvaser_usb_leaf: Fix CAN state after restart + - mmc: renesas_sdhi: Fix rounding errors + - mmc: sdhci-tegra: Use actual clock rate for SW tuning correction + - mmc: sdhci-sprd: Fix minimum clock limit + - i2c: designware: Fix handling of real but unexpected device interrupts + - fs: dlm: fix race between test_bit() and queue_work() + - fs: dlm: handle -EBUSY first in lock arg validation + - fs: dlm: fix invalid derefence of sb_lvbptr + - btf: Export bpf_dynptr definition + - HID: multitouch: Add memory barriers + - quota: Check next/prev free block number after reading from quota file + - platform/chrome: cros_ec_proto: Update version on GET_NEXT_EVENT failure + - arm64: dts: qcom: sdm845-mtp: correct ADC settle time + - ASoC: wcd9335: fix order of Slimbus unprepare/disable + - ASoC: wcd934x: fix order of Slimbus unprepare/disable + - hwmon: (gsc-hwmon) Call of_node_get() before of_find_xxx API + - net: thunderbolt: Enable DMA paths only after rings are enabled + - regulator: qcom_rpm: Fix circular deferral regression + - arm64: topology: move store_cpu_topology() to shared code + - riscv: topology: fix default topology reporting + - RISC-V: Re-enable counter access from userspace + - RISC-V: Make port I/O string accessors actually work + - parisc: fbdev/stifb: Align graphics memory size to 4MB + - parisc: Fix userspace graphics card breakage due to pgtable special bit + - riscv: vdso: fix NULL deference in vdso_join_timens() when vfork + - riscv: Make VM_WRITE imply VM_READ + - riscv: always honor the CONFIG_CMDLINE_FORCE when parsing dtb + - riscv: Pass -mno-relax only on lld < 15.0.0 + - UM: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK + - nvmem: core: Fix memleak in nvmem_register() + - nvme-multipath: fix possible hang in live ns resize with ANA access + - dmaengine: mxs: use platform_driver_register + - dmaengine: qcom-adm: fix wrong sizeof config in slave_config + - dmaengine: qcom-adm: fix wrong calling convention for prep_slave_sg + - drm/virtio: Check whether transferred 2D BO is shmem + - drm/virtio: Unlock reservations on virtio_gpu_object_shmem_init() error + - drm/virtio: Unlock reservations on dma_resv_reserve_fences() error + - drm/virtio: Use appropriate atomic state in virtio_gpu_plane_cleanup_fb() + - drm/udl: Restore display mode on resume + - arm64: mte: move register initialization to C + - [Config] updateconfigs for ARM64_ERRATUM_2441007 + - arm64: errata: Add Cortex-A55 to the repeat tlbi list + - clocksource/drivers/arm_arch_timer: Fix CNTPCT_LO and CNTVCT_LO value + - mm/hugetlb: fix races when looking up a CONT-PTE/PMD size hugetlb page + - mm/damon: validate if the pmd entry is present before accessing + - mm/uffd: fix warning without PTE_MARKER_UFFD_WP compiled in + - mm/mmap: undo ->mmap() when arch_validate_flags() fails + - xen/gntdev: Prevent leaking grants + - xen/gntdev: Accommodate VMA splitting + - PCI: Sanitise firmware BAR assignments behind a PCI-PCI bridge + - serial: cpm_uart: Don't request IRQ too early for console port + - serial: stm32: Deassert Transmit Enable on ->rs485_config() + - serial: 8250: Let drivers request full 16550A feature probing + - serial: 8250: Request full 16550A feature probing for OxSemi PCIe devices + - cpufreq: qcom-cpufreq-hw: Fix uninitialized throttled_freq warning + - powercap: intel_rapl: Use standard Energy Unit for SPR Dram RAPL domain + - powerpc/Kconfig: Fix non existing CONFIG_PPC_FSL_BOOKE + - powerpc/boot: Explicitly disable usage of SPE instructions + - slimbus: qcom-ngd: use correct error in message of pdr_add_lookup() failure + - slimbus: qcom-ngd: cleanup in probe error path + - scsi: lpfc: Rework MIB Rx Monitor debug info logic + - scsi: qedf: Populate sysfs attributes for vport + - gpio: rockchip: request GPIO mux to pinctrl when setting direction + - pinctrl: rockchip: add pinmux_ops.gpio_set_direction callback + - fbdev: smscufx: Fix use-after-free in ufx_ops_open() + - hwrng: core - let sleep be interrupted when unregistering hwrng + - smb3: do not log confusing message when server returns no network interfaces + - ksmbd: fix incorrect handling of iterate_dir + - ksmbd: fix endless loop when encryption for response fails + - ksmbd: Fix wrong return value and message length check in smb2_ioctl() + - ksmbd: Fix user namespace mapping + - fs: record I_DIRTY_TIME even if inode already has I_DIRTY_INODE + - btrfs: fix alignment of VMA for memory mapped files on THP + - btrfs: enhance unsupported compat RO flags handling + - btrfs: fix race between quota enable and quota rescan ioctl + - btrfs: fix missed extent on fsync after dropping extent maps + - btrfs: set generation before calling btrfs_clean_tree_block in + btrfs_init_new_buffer + - f2fs: fix wrong continue condition in GC + - f2fs: complete checkpoints during remount + - f2fs: flush pending checkpoints when freezing super + - f2fs: increase the limit for reserve_root + - f2fs: fix to do sanity check on destination blkaddr during recovery + - f2fs: fix to do sanity check on summary info + - jbd2: wake up journal waiters in FIFO order, not LIFO + - jbd2: fix potential buffer head reference count leak + - jbd2: fix potential use-after-free in jbd2_fc_wait_bufs + - jbd2: add miss release buffer head in fc_do_one_pass() + - ext2: Add sanity checks for group and filesystem size + - ext4: avoid crash when inline data creation follows DIO write + - ext4: fix null-ptr-deref in ext4_write_info + - ext4: make ext4_lazyinit_thread freezable + - ext4: fix check for block being out of directory size + - ext4: don't increase iversion counter for ea_inodes + - ext4: unconditionally enable the i_version counter + - ext4: ext4_read_bh_lock() should submit IO if the buffer isn't uptodate + - ext4: place buffer head allocation before handle start + - ext4: fix i_version handling in ext4 + - ext4: fix dir corruption when ext4_dx_add_entry() fails + - ext4: fix miss release buffer head in ext4_fc_write_inode + - ext4: fix potential memory leak in ext4_fc_record_modified_inode() + - ext4: fix potential memory leak in ext4_fc_record_regions() + - ext4: update 'state->fc_regions_size' after successful memory allocation + - livepatch: fix race between fork and KLP transition + - ftrace: Properly unset FTRACE_HASH_FL_MOD + - ftrace: Still disable enabled records marked as disabled + - ring-buffer: Allow splice to read previous partially read pages + - ring-buffer: Have the shortest_full queue be the shortest not longest + - ring-buffer: Check pending waiters when doing wake ups as well + - ring-buffer: Add ring_buffer_wake_waiters() + - ring-buffer: Fix race between reset page and reading page + - tracing: Disable interrupt or preemption before acquiring arch_spinlock_t + - tracing: Wake up ring buffer waiters on closing of the file + - tracing: Wake up waiters when tracing is disabled + - tracing: Add ioctl() to force ring buffer waiters to wake up + - tracing: Do not free snapshot if tracer is on cmdline + - tracing: Move duplicate code of trace_kprobe/eprobe.c into header + - tracing: Add "(fault)" name injection to kernel probes + - tracing: Fix reading strings from synthetic events + - rpmsg: char: Avoid double destroy of default endpoint + - thunderbolt: Explicitly enable lane adapter hotplug events at startup + - efi: libstub: drop pointless get_memory_map() call + - media: cedrus: Set the platform driver data earlier + - media: cedrus: Fix endless loop in cedrus_h265_skip_bits() + - blk-throttle: fix that io throttle can only work for single bio + - blk-wbt: call rq_qos_add() after wb_normal is initialized + - KVM: x86/emulator: Fix handing of POP SS to correctly set interruptibility + - KVM: nVMX: Unconditionally purge queued/injected events on nested "exit" + - KVM: nVMX: Don't propagate vmcs12's PERF_GLOBAL_CTRL settings to vmcs02 + - KVM: VMX: Drop bits 31:16 when shoving exception error code into VMCS + - staging: greybus: audio_helper: remove unused and wrong debugfs usage + - drm/nouveau/kms/nv140-: Disable interlacing + - drm/nouveau: fix a use-after-free in nouveau_gem_prime_import_sg_table() + - drm/i915/gt: Use i915_vm_put on ppgtt_create error paths + - drm/i915: Fix watermark calculations for gen12+ RC CCS modifier + - drm/i915: Fix watermark calculations for gen12+ MC CCS modifier + - drm/i915: Fix watermark calculations for gen12+ CCS+CC modifier + - drm/i915: Fix watermark calculations for DG2 CCS modifiers + - drm/i915: Fix watermark calculations for DG2 CCS+CC modifier + - drm/amd/display: Fix vblank refcount in vrr transition + - drm/amd/display: explicitly disable psr_feature_enable appropriately + - smb3: must initialize two ACL struct fields to zero + - selinux: use "grep -E" instead of "egrep" + - ima: fix blocking of security.ima xattrs of unsupported algorithms + - userfaultfd: open userfaultfds with O_RDONLY + - ntfs3: rework xattr handlers and switch to POSIX ACL VFS helpers + - thermal: cpufreq_cooling: Check the policy first in + cpufreq_cooling_register() + - cpufreq: amd-pstate: Fix initial highest_perf value + - sh: machvec: Use char[] for section boundaries + - MIPS: SGI-IP30: Fix platform-device leak in bridge_platform_create() + - MIPS: SGI-IP27: Fix platform-device leak in bridge_platform_create() + - erofs: fix order >= MAX_ORDER warning due to crafted negative i_size + - erofs: use kill_anon_super() to kill super in fscache mode + - ARM: 9243/1: riscpc: Unbreak the build + - ARM: 9244/1: dump: Fix wrong pg_level in walk_pmd() + - ARM: 9247/1: mm: set readonly for MT_MEMORY_RO with ARM_LPAE + - ACPI: PCC: Release resources on address space setup failure path + - ACPI: PCC: replace wait_for_completion() + - ACPI: PCC: Fix Tx acknowledge in the PCC address space handler + - objtool: Preserve special st_shndx indexes in elf_update_symbol + - nfsd: Fix a memory leak in an error handling path + - NFSD: Fix handling of oversized NFSv4 COMPOUND requests + - x86/paravirt: add extra clobbers with ZERO_CALL_USED_REGS enabled + - wifi: rtlwifi: 8192de: correct checking of IQK reload + - wifi: ath10k: add peer map clean up for peer delete in ath10k_sta_state() + - bpf: Fix non-static bpf_func_proto struct definitions + - bpf: convert cgroup_bpf.progs to hlist + - bpf: Cleanup check_refcount_ok + - leds: lm3601x: Don't use mutex after it was destroyed + - tsnep: Fix TSNEP_INFO_TX_TIME register define + - bpf: Fix reference state management for synchronous callbacks + - wifi: cfg80211: get correct AP link chandef + - wifi: mac80211: allow bw change during channel switch in mesh + - bpftool: Fix a wrong type cast in btf_dumper_int + - audit: explicitly check audit_context->context enum value + - audit: free audit_proctitle only on task exit + - esp: choose the correct inner protocol for GSO on inter address family + tunnels + - spi: mt7621: Fix an error message in mt7621_spi_probe() + - x86/resctrl: Fix to restore to original value when re-enabling hardware + prefetch register + - xsk: Fix backpressure mechanism on Tx + - selftests/xsk: Add missing close() on netns fd + - bpf: Disable preemption when increasing per-cpu map_locked + - bpf: Propagate error from htab_lock_bucket() to userspace + - wifi: ath11k: Fix incorrect QMI message ID mappings + - bpf: Use this_cpu_{inc|dec|inc_return} for bpf_task_storage_busy + - bpf: Use this_cpu_{inc_return|dec} for prog->active + - Bluetooth: btusb: mediatek: fix WMT failure during runtime suspend + - wifi: rtw89: pci: fix interrupt stuck after leaving low power mode + - wifi: rtw89: pci: correct TX resource checking in low power mode + - wifi: rtl8xxxu: tighten bounds checking in rtl8xxxu_read_efuse() + - wifi: wfx: prevent underflow in wfx_send_pds() + - wifi: rtw88: add missing destroy_workqueue() on error path in + rtw_core_init() + - selftests/xsk: Avoid use-after-free on ctx + - spi: qup: add missing clk_disable_unprepare on error in spi_qup_resume() + - spi: qup: add missing clk_disable_unprepare on error in + spi_qup_pm_resume_runtime() + - wifi: rtl8xxxu: Fix skb misuse in TX queue selection + - spi: meson-spicc: do not rely on busy flag in pow2 clk ops + - bpf: btf: fix truncated last_member_type_id in btf_struct_resolve + - wifi: rtl8xxxu: gen2: Fix mistake in path B IQ calibration + - wifi: rtl8xxxu: Remove copy-paste leftover in gen2_update_rate_mask + - wifi: mt76: mt7921e: fix race issue between reset and suspend/resume + - wifi: mt76: mt7921s: fix race issue between reset and suspend/resume + - wifi: mt76: mt7921u: fix race issue between reset and suspend/resume + - wifi: mt76: sdio: fix the deadlock caused by sdio->stat_work + - wifi: mt76: sdio: poll sta stat when device transmits data + - wifi: mt76: sdio: fix transmitting packet hangs + - wifi: mt76: mt7615: add mt7615_mutex_acquire/release in + mt7615_sta_set_decap_offload + - wifi: mt76: mt7915: fix possible unaligned access in + mt7915_mac_add_twt_setup + - wifi: mt76: connac: fix possible unaligned access in + mt76_connac_mcu_add_nested_tlv + - wifi: mt76: mt7921: add mt7921_mutex_acquire at mt7921_[start, stop]_ap + - wifi: mt76: mt7921: add mt7921_mutex_acquire at mt7921_sta_set_decap_offload + - wifi: mt76: mt7915: fix mcs value in ht mode + - wifi: mt76: mt7915: do not check state before configuring implicit beamform + - wifi: mt76: mt7921e: fix rmmod crash in driver reload test + - Bluetooth: RFCOMM: Fix possible deadlock on socket shutdown/release + - net: fs_enet: Fix wrong check in do_pd_setup + - bpf: Ensure correct locking around vulnerable function find_vpid() + - wifi: ath11k: Include STA_KEEPALIVE_ARP_RESPONSE TLV header by default + - Bluetooth: hci_{ldisc,serdev}: check percpu_init_rwsem() failure + - netfilter: conntrack: fix the gc rescheduling delay + - netfilter: conntrack: revisit the gc initial rescheduling bias + - flow_dissector: Do not count vlan tags inside tunnel payload + - wifi: ath11k: fix failed to find the peer with peer_id 0 when disconnected + - wifi: ath11k: fix number of VHT beamformee spatial streams + - mips: dts: ralink: mt7621: fix external phy on GB-PC2 + - x86/microcode/AMD: Track patch allocation size explicitly + - wifi: ath11k: fix peer addition/deletion error on sta band migration + - x86/cpu: Include the header of init_ia32_feat_ctl()'s prototype + - spi: cadence-quadspi: Fix PM disable depth imbalance in cqspi_probe + - spi: dw: Fix PM disable depth imbalance in dw_spi_bt1_probe + - spi/omap100k:Fix PM disable depth imbalance in omap1_spi100k_probe + - skmsg: Schedule psock work if the cached skb exists on the psock + - cw1200: fix incorrect check to determine if no element is found in list + - i2c: mlxbf: support lock mechanism + - Bluetooth: hci_core: Fix not handling link timeouts propertly + - xfrm: Reinject transport-mode packets through workqueue + - netfilter: nft_fib: Fix for rpath check with VRF devices + - spi: s3c64xx: Fix large transfers with DMA + - wifi: rtl8xxxu: gen2: Enable 40 MHz channel width + - wifi: rtl8xxxu: Fix AIFS written to REG_EDCA_*_PARAM + - vhost/vsock: Use kvmalloc/kvfree for larger packets. + - eth: alx: take rtnl_lock on resume + - sctp: handle the error returned from sctp_auth_asoc_init_active_key + - tcp: fix tcp_cwnd_validate() to not forget is_cwnd_limited + - spi: Ensure that sg_table won't be used after being freed + - Bluetooth: hci_sync: Fix not indicating power state + - hwmon: (pmbus/mp2888) Fix sensors readouts for MPS Multi-phase mp2888 + controller + - net: rds: don't hold sock lock when cancelling work from + rds_tcp_reset_callbacks() + - af_unix: Fix memory leaks of the whole sk due to OOB skb. + - net: prestera: acl: Add check for kmemdup + - eth: lan743x: reject extts for non-pci11x1x devices + - bnx2x: fix potential memory leak in bnx2x_tpa_stop() + - eth: sp7021: fix use after free bug in spl2sw_nvmem_get_mac_address + - net: wwan: iosm: Call mutex_init before locking it + - net/ieee802154: reject zero-sized raw_sendmsg() + - once: add DO_ONCE_SLOW() for sleepable contexts + - net: mvpp2: fix mvpp2 debugfs leak + - drm: bridge: adv7511: fix CEC power down control register offset + - drm: bridge: adv7511: unregister cec i2c device after cec adapter + - drm/bridge: Avoid uninitialized variable warning + - drm/mipi-dsi: Detach devices when removing the host + - drm/bridge: it6505: Power on downstream device in .atomic_enable + - drm/virtio: Correct drm_gem_shmem_get_sg_table() error handling + - drm/bridge: tc358767: Add of_node_put() when breaking out of loop + - drm/bridge: parade-ps8640: Fix regulator supply order + - drm/dp_mst: fix drm_dp_dpcd_read return value checks + - drm:pl111: Add of_node_put() when breaking out of + for_each_available_child_of_node() + - ASoC: mt6359: fix tests for platform_get_irq() failure + - drm/msm: Make .remove and .shutdown HW shutdown consistent + - platform/chrome: fix double-free in chromeos_laptop_prepare() + - platform/chrome: fix memory corruption in ioctl + - drm/virtio: Fix same-context optimization + - ASoC: soc-pcm.c: call __soc_pcm_close() in soc_pcm_close() + - ASoC: tas2764: Allow mono streams + - ASoC: tas2764: Drop conflicting set_bias_level power setting + - ASoC: tas2764: Fix mute/unmute + - platform/x86: msi-laptop: Fix old-ec check for backlight registering + - platform/x86: msi-laptop: Fix resource cleanup + - platform/chrome: cros_ec_typec: Correct alt mode index + - drm/amdgpu: add missing pci_disable_device() in + amdgpu_pmops_runtime_resume() + - drm/bridge: megachips: Fix a null pointer dereference bug + - drm/bridge: it6505: Fix the order of DP_SET_POWER commands + - ASoC: rsnd: Add check for rsnd_mod_power_on + - ASoC: wm_adsp: Handle optional legacy support + - ALSA: hda: beep: Simplify keep-power-at-enable behavior + - drm/virtio: set fb_modifiers_not_supported + - drm/bochs: fix blanking + - ASoC: SOF: mediatek: mt8195: Import namespace SND_SOC_SOF_MTK_COMMON + - drm/omap: dss: Fix refcount leak bugs + - drm/amdgpu: Fix memory leak in hpd_rx_irq_create_workqueue() + - mmc: au1xmmc: Fix an error handling path in au1xmmc_probe() + - ASoC: eureka-tlv320: Hold reference returned from of_find_xxx API + - drm/msm: lookup the ICC paths in both mdp5/dpu and mdss devices + - drm/msm/dpu: index dpu_kms->hw_vbif using vbif_idx + - drm/msm/dp: correct 1.62G link rate at dp_catalog_ctrl_config_msa() + - ALSA: usb-audio: Properly refcounting clock rate + - drm/vmwgfx: Fix memory leak in vmw_mksstat_add_ioctl() + - virtio-gpu: fix shift wrapping bug in virtio_gpu_fence_event_create() + - ASoC: codecs: tx-macro: fix kcontrol put + - ASoC: da7219: Fix an error handling path in da7219_register_dai_clks() + - ALSA: dmaengine: increment buffer pointer atomically + - mmc: wmt-sdmmc: Fix an error handling path in wmt_mci_probe() + - ASoC: stm32: dfsdm: Fix PM disable depth imbalance in stm32_adfsdm_probe + - ASoC: stm32: spdifrx: Fix PM disable depth imbalance in stm32_spdifrx_probe + - ASoC: stm: Fix PM disable depth imbalance in stm32_i2s_probe + - ASoC: wm8997: Fix PM disable depth imbalance in wm8997_probe + - ASoC: wm5110: Fix PM disable depth imbalance in wm5110_probe + - ASoC: wm5102: Fix PM disable depth imbalance in wm5102_probe + - ASoC: mt6660: Fix PM disable depth imbalance in mt6660_i2c_probe + - ALSA: hda/hdmi: Don't skip notification handling during PM operation + - memory: pl353-smc: Fix refcount leak bug in pl353_smc_probe() + - memory: of: Fix refcount leak bug in of_get_ddr_timings() + - memory: of: Fix refcount leak bug in of_lpddr3_get_ddr_timings() + - locks: fix TOCTOU race when granting write lease + - soc: qcom: smsm: Fix refcount leak bugs in qcom_smsm_probe() + - soc: qcom: smem_state: Add refcounting for the 'state->of_node' + - ARM: dts: imx6qdl-kontron-samx6i: hook up DDC i2c bus + - arm64: dts: renesas: r9a07g044: Fix SCI{Rx,Tx} interrupt types + - arm64: dts: renesas: r9a07g054: Fix SCI{Rx,Tx} interrupt types + - arm64: dts: renesas: r9a07g043: Fix SCI{Rx,Tx} interrupt types + - dt-bindings: clock: exynosautov9: correct clock numbering of peric0/c1 + - ARM: dts: turris-omnia: Fix mpp26 pin name and comment + - ARM: dts: kirkwood: lsxl: fix serial line + - ARM: dts: kirkwood: lsxl: remove first ethernet port + - ia64: export memory_add_physaddr_to_nid to fix cxl build error + - soc/tegra: fuse: Drop Kconfig dependency on TEGRA20_APB_DMA + - arm64: dts: ti: k3-j7200: fix main pinmux range + - ARM: dts: exynos: correct s5k6a3 reset polarity on Midas family + - ARM: Drop CMDLINE_* dependency on ATAGS + - ext4: don't run ext4lazyinit for read-only filesystems + - arm64: ftrace: fix module PLTs with mcount + - ARM: dts: exynos: fix polarity of VBUS GPIO of Origen + - iomap: iomap: fix memory corruption when recording errors during writeback + - iio: adc: at91-sama5d2_adc: fix AT91_SAMA5D2_MR_TRACKTIM_MAX + - iio: adc: at91-sama5d2_adc: check return status for pressure and touch + - iio: adc: at91-sama5d2_adc: lock around oversampling and sample freq + - iio: adc: at91-sama5d2_adc: disable/prepare buffer on suspend/resume + - iio: inkern: only release the device node when done with it + - iio: inkern: fix return value in devm_of_iio_channel_get_by_name() + - iio: ABI: Fix wrong format of differential capacitance channel ABI. + - iio: magnetometer: yas530: Change data type of hard_offsets to signed + - RDMA/mlx5: Don't compare mkey tags in DEVX indirect mkey + - usb: common: debug: Check non-standard control requests + - clk: meson: Hold reference returned by of_get_parent() + - clk: st: Hold reference returned by of_get_parent() + - clk: oxnas: Hold reference returned by of_get_parent() + - clk: qoriq: Hold reference returned by of_get_parent() + - clk: berlin: Add of_node_put() for of_get_parent() + - clk: sprd: Hold reference returned by of_get_parent() + - clk: tegra: Fix refcount leak in tegra210_clock_init + - clk: tegra: Fix refcount leak in tegra114_clock_init + - clk: tegra20: Fix refcount leak in tegra20_clock_init + - clk: samsung: exynosautov9: correct register offsets of peric0/c1 + - HSI: omap_ssi: Fix refcount leak in ssi_probe + - HSI: omap_ssi_port: Fix dma_map_sg error check + - clk: qcom: gcc-sdm660: Use floor ops for SDCC1 clock + - media: exynos4-is: fimc-is: Add of_node_put() when breaking out of loop + - tty: xilinx_uartps: Fix the ignore_status + - media: amphion: insert picture startcode after seek for vc1g format + - media: amphion: adjust the encoder's value range of gop size + - media: amphion: don't change the colorspace reported by decoder. + - media: amphion: fix a bug that vpu core may not resume after suspend + - media: meson: vdec: add missing clk_disable_unprepare on error in + vdec_hevc_start() + - media: uvcvideo: Fix memory leak in uvc_gpio_parse + - media: uvcvideo: Use entity get_cur in uvc_ctrl_set + - media: xilinx: vipp: Fix refcount leak in xvip_graph_dma_init + - RDMA/rxe: Fix "kernel NULL pointer dereference" error + - RDMA/rxe: Fix the error caused by qp->sk + - clk: mediatek: clk-mt8195-vdo0: Set rate on vdo0_dp_intf0_dp_intf's parent + - clk: mediatek: clk-mt8195-vdo1: Reparent and set rate on vdo1_dpintf's + parent + - clk: mediatek: mt8195-infra_ao: Set pwrmcu clocks as critical + - misc: ocxl: fix possible refcount leak in afu_ioctl() + - fpga: prevent integer overflow in dfl_feature_ioctl_set_irq() + - phy: rockchip-inno-usb2: Return zero after otg sync + - dmaengine: idxd: avoid deadlock in process_misc_interrupts() + - dmaengine: hisilicon: Disable channels when unregister hisi_dma + - dmaengine: hisilicon: Fix CQ head update + - dmaengine: hisilicon: Add multi-thread support for a DMA channel + - usb: gadget: f_fs: stricter integer overflow checks + - dyndbg: fix static_branch manipulation + - dyndbg: fix module.dyndbg handling + - dyndbg: let query-modname override actual module name + - dyndbg: drop EXPORTed dynamic_debug_exec_queries + - clk: qcom: sm6115: Select QCOM_GDSC + - mtd: devices: docg3: check the return value of devm_ioremap() in the probe + - remoteproc: Harden rproc_handle_vdev() against integer overflow + - phy: amlogic: phy-meson-axg-mipi-pcie-analog: Hold reference returned by + of_get_parent() + - phy: phy-mtk-tphy: fix the phy type setting issue + - mtd: rawnand: intel: Read the chip-select line from the correct OF node + - mtd: rawnand: intel: Remove undocumented compatible string + - mtd: rawnand: fsl_elbc: Fix none ECC mode + - RDMA/irdma: Align AE id codes to correct flush code and event + - RDMA/irdma: Validate udata inlen and outlen + - RDMA/srp: Fix srp_abort() + - RDMA/siw: Always consume all skbuf data in sk_data_ready() upcall. + - RDMA/siw: Fix QP destroy to wait for all references dropped. + - ata: fix ata_id_sense_reporting_enabled() and ata_id_has_sense_reporting() + - ata: fix ata_id_has_devslp() + - ata: fix ata_id_has_ncq_autosense() + - ata: fix ata_id_has_dipm() + - mtd: rawnand: meson: fix bit map use in meson_nfc_ecc_correct() + - md/raid5: Ensure stripe_fill happens on non-read IO with journal + - md/raid5: Remove unnecessary bio_put() in raid5_read_one_chunk() + - RDMA/cm: Use SLID in the work completion as the DLID in responder side + - IB: Set IOVA/LENGTH on IB_MR in core/uverbs layers + - xhci: Don't show warning for reinit on known broken suspend + - usb: gadget: function: fix dangling pnp_string in f_printer.c + - usb: dwc3: core: fix some leaks in probe + - drivers: serial: jsm: fix some leaks in probe + - serial: 8250: Toggle IER bits on only after irq has been set up + - tty: serial: fsl_lpuart: disable dma rx/tx use flags in lpuart_dma_shutdown + - phy: qualcomm: call clk_disable_unprepare in the error handling + - staging: vt6655: fix some erroneous memory clean-up loops + - slimbus: qcom-ngd-ctrl: allow compile testing without QCOM_RPROC_COMMON + - slimbus: qcom-ngd: Add error handling in of_qcom_slim_ngd_register + - firmware: google: Test spinlock on panic path to avoid lockups + - serial: 8250: Fix restoring termios speed after suspend + - scsi: libsas: Fix use-after-free bug in smp_execute_task_sg() + - scsi: pm8001: Fix running_req for internal abort commands + - scsi: iscsi: Rename iscsi_conn_queue_work() + - scsi: iscsi: Add recv workqueue helpers + - scsi: iscsi: Run recv path from workqueue + - scsi: iscsi: iscsi_tcp: Fix null-ptr-deref while calling getpeername() + - clk: qcom: apss-ipq6018: mark apcs_alias0_core_clk as critical + - clk: qcom: gcc-sm6115: Override default Alpha PLL regs + - RDMA/rxe: Fix resize_finish() in rxe_queue.c + - fsi: core: Check error number after calling ida_simple_get + - mfd: intel_soc_pmic: Fix an error handling path in + intel_soc_pmic_i2c_probe() + - mfd: fsl-imx25: Fix an error handling path in mx25_tsadc_setup_irq() + - mfd: lp8788: Fix an error handling path in lp8788_probe() + - mfd: lp8788: Fix an error handling path in lp8788_irq_init() and + lp8788_irq_init() + - mfd: fsl-imx25: Fix check for platform_get_irq() errors + - mfd: sm501: Add check for platform_driver_register() + - mfd: da9061: Fix Failed to set Two-Wire Bus Mode. + - clk: mediatek: mt8183: mfgcfg: Propagate rate changes to parent + - clk: mediatek: clk-mt8195-mfg: Reparent mfg_bg3d and propagate rate changes + - clk: mediatek: fix unregister function in mtk_clk_register_dividers cleanup + - clk: mediatek: Migrate remaining clk_unregister_*() to clk_hw_unregister_*() + - dmaengine: ioat: stop mod_timer from resurrecting deleted timer in + __cleanup() + - usb: mtu3: fix failed runtime suspend in host only mode + - spmi: pmic-arb: correct duplicate APID to PPID mapping logic + - clk: vc5: Fix 5P49V6901 outputs disabling when enabling FOD + - clk: baikal-t1: Fix invalid xGMAC PTP clock divider + - clk: baikal-t1: Add shared xGMAC ref/ptp clocks internal parent + - clk: baikal-t1: Add SATA internal ref clock buffer + - clk: bcm2835: fix bcm2835_clock_rate_from_divisor declaration + - clk: imx: scu: fix memleak on platform_device_add() fails + - clk: ti: Balance of_node_get() calls for of_find_node_by_name() + - clk: ti: dra7-atl: Fix reference leak in of_dra7_atl_clk_probe + - clk: ast2600: BCLK comes from EPLL + - mailbox: mpfs: fix handling of the reg property + - mailbox: mpfs: account for mbox offsets while sending + - mailbox: bcm-ferxrm-mailbox: Fix error check for dma_map_sg + - ipc: mqueue: fix possible memory leak in init_mqueue_fs() + - powerpc/configs: Properly enable PAPR_SCM in pseries_defconfig + - powerpc/math_emu/efp: Include module.h + - powerpc/sysdev/fsl_msi: Add missing of_node_put() + - powerpc/pci_dn: Add missing of_node_put() + - powerpc/powernv: add missing of_node_put() in opal_export_attrs() + - cpuidle: riscv-sbi: Fix CPU_PM_CPU_IDLE_ENTER_xyz() macro usage + - powerpc: Fix fallocate and fadvise64_64 compat parameter combination + - x86/hyperv: Fix 'struct hv_enlightened_vmcs' definition + - powerpc/64s: Fix GENERIC_CPU build flags for PPC970 / G5 + - powerpc/64: mark irqs hard disabled in boot paca + - powerpc/64/interrupt: Fix return to masked context after hard-mask irq + becomes pending + - powerpc: Fix SPE Power ISA properties for e500v1 platforms + - powerpc/kprobes: Fix null pointer reference in arch_prepare_kprobe() + - powerpc/pseries/vas: Pass hw_cpu_id to node associativity HCALL + - crypto: sahara - don't sleep when in softirq + - crypto: hisilicon/zip - fix mismatch in get/set sgl_sge_nr + - hwrng: arm-smccc-trng - fix NO_ENTROPY handling + - crypto: ccp - Fail the PSP initialization when writing psp data file failed + - cgroup: Honor caller's cgroup NS when resolving path + - hwrng: imx-rngc - Moving IRQ handler registering after + imx_rngc_irq_mask_clear() + - crypto: qat - fix default value of WDT timer + - crypto: hisilicon/qm - fix missing put dfx access + - cgroup/cpuset: Enable update_tasks_cpumask() on top_cpuset + - iommu/omap: Fix buffer overflow in debugfs + - crypto: akcipher - default implementation for setting a private key + - crypto: ccp - Release dma channels before dmaengine unrgister + - crypto: inside-secure - Change swab to swab32 + - crypto: qat - fix DMA transfer direction + - clocksource/drivers/arm_arch_timer: Fix handling of ARM erratum 858921 + - clocksource/drivers/timer-gxp: Add missing error handling in gxp_timer_probe + - cifs: return correct error in ->calc_signature() + - iommu/iova: Fix module config properly + - tracing: kprobe: Fix kprobe event gen test module on exit + - tracing: kprobe: Make gen test module work in arm and riscv + - tracing/osnoise: Fix possible recursive locking in stop_per_cpu_kthreads + - kbuild: remove the target in signal traps when interrupted + - linux/export: use inline assembler to populate symbol CRCs + - kbuild: rpm-pkg: fix breakage when V=1 is used + - crypto: marvell/octeontx - prevent integer overflows + - crypto: cavium - prevent integer overflow loading firmware + - random: schedule jitter credit for next jiffy, not in two jiffies + - thermal/drivers/qcom/tsens-v0_1: Fix MSM8939 fourth sensor hw_id + - ACPI: APEI: do not add task_work to kernel thread to avoid memory leak + - f2fs: fix race condition on setting FI_NO_EXTENT flag + - f2fs: fix to account FS_CP_DATA_IO correctly + - selftest: tpm2: Add Client.__del__() to close /dev/tpm* handle + - module: tracking: Keep a record of tainted unloaded modules only + - fs: dlm: fix race in lowcomms + - rcu: Avoid triggering strict-GP irq-work when RCU is idle + - rcu: Back off upon fill_page_cache_func() allocation failure + - cpufreq: amd_pstate: fix wrong lowest perf fetch + - ACPI: video: Add Toshiba Satellite/Portege Z830 quirk + - fortify: Fix __compiletime_strlen() under UBSAN_BOUNDS_LOCAL + - ACPI: tables: FPDT: Don't call acpi_os_map_memory() on invalid phys address + - cpufreq: intel_pstate: Add Tigerlake support in no-HWP mode + - MIPS: BCM47XX: Cast memcmp() of function to (void *) + - powercap: intel_rapl: fix UBSAN shift-out-of-bounds issue + - thermal: intel_powerclamp: Use get_cpu() instead of smp_processor_id() to + avoid crash + - ARM: decompressor: Include .data.rel.ro.local + - ACPI: x86: Add a quirk for Dell Inspiron 14 2-in-1 for StorageD3Enable + - x86/entry: Work around Clang __bdos() bug + - NFSD: Return nfserr_serverfault if splice_ok but buf->pages have data + - NFSD: fix use-after-free on source server when doing inter-server copy + - wifi: ath10k: Set tx credit to one for WCN3990 snoc based devices + - wifi: brcmfmac: fix invalid address access when enabling SCAN log level + - bpftool: Clear errno after libcap's checks + - ice: set tx_tstamps when creating new Tx rings via ethtool + - net: ethernet: ti: davinci_mdio: Add workaround for errata i2329 + - openvswitch: Fix double reporting of drops in dropwatch + - openvswitch: Fix overreporting of drops in dropwatch + - tcp: annotate data-race around tcp_md5sig_pool_populated + - x86/mce: Retrieve poison range from hardware + - wifi: ath9k: avoid uninit memory read in ath9k_htc_rx_msg() + - thunderbolt: Add back Intel Falcon Ridge end-to-end flow control workaround + - x86/apic: Don't disable x2APIC if locked + - net: axienet: Switch to 64-bit RX/TX statistics + - net-next: Fix IP_UNICAST_IF option behavior for connected sockets + - xfrm: Update ipcomp_scratches with NULL when freed + - wifi: ath11k: Register shutdown handler for WCN6750 + - rtw89: ser: leave lps with mutex + - iavf: Fix race between iavf_close and iavf_reset_task + - wifi: brcmfmac: fix use-after-free bug in brcmf_netdev_start_xmit() + - Bluetooth: btintel: Mark Intel controller to support LE_STATES quirk + - regulator: core: Prevent integer underflow + - wifi: ath11k: mhi: fix potential memory leak in ath11k_mhi_register() + - wifi: mt76: mt7921: reset msta->airtime_ac while clearing up hw value + - wifi: rtw89: free unused skb to prevent memory leak + - wifi: rtw89: fix rx filter after scan + - Bluetooth: L2CAP: initialize delayed works at l2cap_chan_create() + - Bluetooth: hci_sysfs: Fix attempting to call device_add multiple times + - bnxt_en: replace reset with config timestamps + - selftests/bpf: Free the allocated resources after test case succeeds + - can: bcm: check the result of can_send() in bcm_can_tx() + - wifi: rt2x00: don't run Rt5592 IQ calibration on MT7620 + - wifi: rt2x00: set correct TX_SW_CFG1 MAC register for MT7620 + - wifi: rt2x00: set VGC gain for both chains of MT7620 + - wifi: rt2x00: set SoC wmac clock register + - wifi: rt2x00: correctly set BBP register 86 for MT7620 + - hwmon: (sht4x) do not overflow clamping operation on 32-bit platforms + - net: If sock is dead don't access sock's sk_wq in sk_stream_wait_memory + - bpf: Adjust kprobe_multi entry_ip for CONFIG_X86_KERNEL_IBT + - bpf: use bpf_prog_pack for bpf_dispatcher + - Bluetooth: L2CAP: Fix user-after-free + - i2c: designware-pci: Group AMD NAVI quirk parts together + - drm/nouveau/nouveau_bo: fix potential memory leak in nouveau_bo_alloc() + - drm: Use size_t type for len variable in drm_copy_field() + - drm: Prevent drm_copy_field() to attempt copying a NULL pointer + - drm/komeda: Fix handling of atomic commits in the atomic_commit_tail hook + - gpu: lontium-lt9611: Fix NULL pointer dereference in lt9611_connector_init() + - drm/amd/display: fix overflow on MIN_I64 definition + - udmabuf: Set ubuf->sg = NULL if the creation of sg table fails + - platform/x86: pmc_atom: Improve quirk message to be less cryptic + - drm: bridge: dw_hdmi: only trigger hotplug event on link change + - drm/amdgpu: Skip the program of MMMC_VM_AGP_* in SRIOV on MMHUB v3_0_0 + - drm/admgpu: Skip CG/PG on SOC21 under SRIOV VF + - ALSA: usb-audio: Register card at the last interface + - drm/vc4: vec: Fix timings for VEC modes + - drm: panel-orientation-quirks: Add quirk for Anbernic Win600 + - drm: panel-orientation-quirks: Add quirk for Aya Neo Air + - platform/chrome: cros_ec: Notify the PM of wake events during resume + - platform/x86: hp-wmi: Setting thermal profile fails with 0x06 + - platform/x86: msi-laptop: Change DMI match / alias strings to fix module + autoloading + - ALSA: intel-dspconfig: add ES8336 support for AlderLake-PS + - ASoC: SOF: pci: Change DMI match info to support all Chrome platforms + - ASoC: SOF: add quirk to override topology mclk_id + - drm/amdgpu: SDMA update use unlocked iterator + - drm/amd/display: correct hostvm flag + - drm/amdgpu: fix initial connector audio value + - drm/meson: reorder driver deinit sequence to fix use-after-free bug + - drm/meson: explicitly remove aggregate driver at module unload time + - drm/meson: remove drm bridges at aggregate driver unbind time + - drm/dp: Don't rewrite link config when setting phy test pattern + - drm/amd/display: Remove interface for periodic interrupt 1 + - drm/amd/display: polling vid stream status in hpo dp blank + - drm/amdkfd: Fix UBSAN shift-out-of-bounds warning + - ARM: dts: imx6: delete interrupts property if interrupts-extended is set + - ARM: dts: imx7d-sdb: config the max pressure for tsc2046 + - ARM: dts: imx6q: add missing properties for sram + - ARM: dts: imx6dl: add missing properties for sram + - ARM: dts: imx6qp: add missing properties for sram + - ARM: dts: imx6sl: add missing properties for sram + - ARM: dts: imx6sll: add missing properties for sram + - ARM: dts: imx6sx: add missing properties for sram + - ARM: dts: imx6sl: use tabs for code indent + - ARM: dts: imx6sx-udoo-neo: don't use multiple blank lines + - kselftest/arm64: Fix validatation termination record after EXTRA_CONTEXT + - arm64: dts: imx8mm-kontron: Use the VSELECT signal to switch SD card IO + voltage + - arm64: dts: imx8mq-librem5: Add bq25895 as max17055's power supply + - btrfs: dump extra info if one free space cache has more bitmaps than it + should + - btrfs: scrub: properly report super block errors in system log + - btrfs: scrub: try to fix super block errors + - btrfs: don't print information about space cache or tree every remount + - btrfs: call __btrfs_remove_free_space_cache_locked on cache load failure + - ARM: 9233/1: stacktrace: Skip frame pointer boundary check for + call_with_stack() + - ARM: 9234/1: stacktrace: Avoid duplicate saving of exception PC value + - ARM: 9242/1: kasan: Only map modules if CONFIG_KASAN_VMALLOC=n + - clk: zynqmp: Fix stack-out-of-bounds in strncpy` + - media: cx88: Fix a null-ptr-deref bug in buffer_prepare() + - media: platform: fix some double free in meson-ge2d and mtk-jpeg and s5p-mfc + - clk: zynqmp: pll: rectify rate rounding in zynqmp_pll_round_rate + - RDMA/rxe: Delete error messages triggered by incoming Read requests + - usb: host: xhci-plat: suspend and resume clocks + - usb: host: xhci-plat: suspend/resume clks for brcm + - scsi: lpfc: Fix null ndlp ptr dereference in abnormal exit path for GFT_ID + - dmaengine: ti: k3-udma: Reset UDMA_CHAN_RT byte counters to prevent overflow + - scsi: 3w-9xxx: Avoid disabling device if failing to enable it + - nbd: Fix hung when signal interrupts nbd_start_device_ioctl() + - iommu/arm-smmu-v3: Make default domain type of HiSilicon PTT device to + identity + - usb: gadget: uvc: increase worker prio to WQ_HIGHPRI + - power: supply: adp5061: fix out-of-bounds read in adp5061_get_chg_type() + - staging: vt6655: fix potential memory leak + - blk-throttle: prevent overflow while calculating wait time + - ata: libahci_platform: Sanity check the DT child nodes number + - bcache: fix set_at_max_writeback_rate() for multiple attached devices + - soundwire: cadence: Don't overwrite msg->buf during write commands + - soundwire: intel: fix error handling on dai registration issues + - HID: roccat: Fix use-after-free in roccat_read() + - HSI: ssi_protocol: fix potential resource leak in ssip_pn_open() + - HID: nintendo: check analog user calibration for plausibility + - eventfd: guard wake_up in eventfd fs calls as well + - md/raid5: Wait for MD_SB_CHANGE_PENDING in raid5d + - usb: host: xhci: Fix potential memory leak in xhci_alloc_stream_info() + - usb: musb: Fix musb_gadget.c rxstate overflow bug + - usb: dwc3: core: add gfladj_refclk_lpm_sel quirk + - arm64: dts: imx8mp: Add snps,gfladj-refclk-lpm-sel quirk to USB nodes + - usb: dwc3: core: Enable GUCTL1 bit 10 for fixing termination error after + resume bug + - Revert "usb: storage: Add quirk for Samsung Fit flash" + - staging: rtl8723bs: fix potential memory leak in rtw_init_drv_sw() + - staging: rtl8723bs: fix a potential memory leak in rtw_init_cmd_priv() + - scsi: tracing: Fix compile error in trace_array calls when TRACING is + disabled + - ext2: Use kvmalloc() for group descriptor array + - nvme: handle effects after freeing the request + - nvme: copy firmware_rev on each init + - nvmet-tcp: add bounds check on Transfer Tag + - usb: idmouse: fix an uninit-value in idmouse_open + - blk-mq: use quiesced elevator switch when reinitializing queues + - hwmon (occ): Retry for checksum failure + - fsi: occ: Prevent use after free + - usb: typec: ucsi: Don't warn on probe deferral + - clk: bcm2835: Make peripheral PLLC critical + - clk: bcm2835: Round UART input clock up + - perf: Skip and warn on unknown format 'configN' attrs + - perf intel-pt: Fix segfault in intel_pt_print_info() with uClibc + - perf intel-pt: Fix system_wide dummy event for hybrid + - mm: hugetlb: fix UAF in hugetlb_handle_userfault + - net: ieee802154: return -EINVAL for unknown addr type + - ALSA: usb-audio: Fix last interface check for registration + - blk-wbt: fix that 'rwb->wc' is always set to 1 in wbt_init() + - [Config] updateconfigs for MDIO_BITBANG + - net: ethernet: ti: davinci_mdio: fix build for mdio bitbang uses + - Revert "drm/amd/display: correct hostvm flag" + - Revert "net/ieee802154: reject zero-sized raw_sendmsg()" + - net/ieee802154: don't warn zero-sized raw_sendmsg() + - powerpc/64s/interrupt: Fix lost interrupts when returning to soft-masked + context + - drm/amd/display: Fix build breakage with CONFIG_DEBUG_FS=n + - kbuild: Add skip_encoding_btf_enum64 option to pahole + - Kconfig.debug: simplify the dependency of DEBUG_INFO_DWARF4/5 + - Kconfig.debug: add toolchain checks for DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT + - [Config] updateconfigs for AS_HAS_NON_CONST_LEB128 + - lib/Kconfig.debug: Add check for non-constant .{s,u}leb128 support to DWARF5 + - HID: uclogic: Add missing suffix for digitalizers + - ext4: continue to expand file system when the target size doesn't reach + - drm/i915: Rename block_size()/block_offset() + - drm/i915/bios: Validate fp_timing terminator presence + - drm/i915/bios: Use hardcoded fp_timing size for generating LFP data pointers + - Linux 5.19.17 + * Kinetic update: v5.19.16 upstream stable release (LP: #1994164) + - nilfs2: fix use-after-free bug of struct nilfs_root + - nilfs2: fix leak of nilfs_root in case of writer thread creation failure + - nilfs2: replace WARN_ONs by nilfs_error for checkpoint acquisition failure + - ceph: don't truncate file in atomic_open + - nvme-pci: set min_align_mask before calculating max_hw_sectors + - random: restore O_NONBLOCK support + - random: clamp credited irq bits to maximum mixed + - ALSA: hda: Fix position reporting on Poulsbo + - ALSA: hda/realtek: Add quirk for HP Zbook Firefly 14 G9 model + - efi: Correct Macmini DMI match in uefi cert quirk + - USB: serial: qcserial: add new usb-id for Dell branded EM7455 + - Revert "USB: fixup for merge issue with "usb: dwc3: Don't switch OTG -> + peripheral if extcon is present"" + - Revert "usb: dwc3: Don't switch OTG -> peripheral if extcon is present" + - Revert "powerpc/rtas: Implement reentrant rtas call" + - Revert "crypto: qat - reduce size of mapped region" + - random: avoid reading two cache lines on irq randomness + - random: use expired timer rather than wq for mixing fast pool + - mctp: prevent double key removal and unref + - Input: xpad - add supported devices as contributed on github + - Input: xpad - fix wireless 360 controller breaking after suspend + - misc: pci_endpoint_test: Aggregate params checking for xfer + - misc: pci_endpoint_test: Fix pci_endpoint_test_{copy,write,read}() panic + - Linux 5.19.16 + * Kinetic update: v5.19.15 upstream stable release (LP: #1994078) + - sparc: Unbreak the build + - Makefile.extrawarn: Move -Wcast-function-type-strict to W=1 + - [Config] updateconfigs for CC_HAS_AUTO_VAR_INIT_ZERO_ENABLER + - hardening: Remove Clang's enable flag for -ftrivial-auto-var-init=zero + - docs: update mediator information in CoC docs + - xsk: Inherit need_wakeup flag for shared sockets + - firmware: arm_scmi: Improve checks in the info_get operations + - firmware: arm_scmi: Harden accesses to the sensor domains + - firmware: arm_scmi: Add SCMI PM driver remove routine + - arm64: dts: rockchip: fix upper usb port on BPI-R2-Pro + - dmaengine: xilinx_dma: Fix devm_platform_ioremap_resource error handling + - dmaengine: xilinx_dma: cleanup for fetching xlnx,num-fstores property + - dmaengine: xilinx_dma: Report error in case of dma_set_mask_and_coherent API + failure + - wifi: iwlwifi: don't spam logs with NSS>2 messages + - ARM: dts: fix Moxa SDIO 'compatible', remove 'sdhci' misnomer + - drm/amdgpu/mes: zero the sdma_hqd_mask of 2nd SDMA engine for SDMA 6.0.1 + - scsi: qedf: Fix a UAF bug in __qedf_probe() + - net/ieee802154: fix uninit value bug in dgram_sendmsg + - net: marvell: prestera: add support for for Aldrin2 + - ALSA: hda/hdmi: Fix the converter reuse for the silent stream + - um: Cleanup syscall_handler_t cast in syscalls_32.h + - um: Cleanup compiler warning in arch/x86/um/tls_32.c + - gpio: ftgpio010: Make irqchip immutable + - arch: um: Mark the stack non-executable to fix a binutils warning + - net: atlantic: fix potential memory leak in aq_ndev_close() + - KVM: s390: Pass initialized arg even if unused + - drm/amd/display: Fix double cursor on non-video RGB MPO + - drm/amd/display: Assume an LTTPR is always present on fixed_vs links + - drm/amd/display: update gamut remap if plane has changed + - drm/amd/display: skip audio setup when audio stream is enabled + - drm/amd/display: Fix DP MST timeslot issue when fallback happened + - drm/amd/display: increase dcn315 pstate change latency + - perf/x86/intel: Fix unchecked MSR access error for Alder Lake N + - don't use __kernel_write() on kmap_local_page() + - i2c: davinci: fix PM disable depth imbalance in davinci_i2c_probe + - usb: mon: make mmapped memory read only + - USB: serial: ftdi_sio: fix 300 bps rate for SIO + - gpiolib: acpi: Add support to ignore programming an interrupt + - gpiolib: acpi: Add a quirk for Asus UM325UAZ + - mmc: core: Replace with already defined values for readability + - mmc: core: Terminate infinite loop in SD-UHS voltage switch + - rpmsg: qcom: glink: replace strncpy() with strscpy_pad() + - bpf: Gate dynptr API behind CAP_BPF + - net: ethernet: mtk_eth_soc: fix state in __mtk_foe_entry_clear + - bpf: Fix resetting logic for unreferenced kptrs + - Bluetooth: use hdev->workqueue when queuing hdev->{cmd,ncmd}_timer works + - Revert "clk: ti: Stop using legacy clkctrl names for omap4 and 5" + - Linux 5.19.15 + * Kinetic update: v5.19.14 upstream stable release (LP: #1994076) + - riscv: make t-head erratas depend on MMU + - tools/perf: Fix out of bound access to cpu mask array + - perf record: Fix cpu mask bit setting for mixed mmaps + - counter: 104-quad-8: Utilize iomap interface + - counter: 104-quad-8: Implement and utilize register structures + - counter: 104-quad-8: Fix skipped IRQ lines during events configuration + - uas: add no-uas quirk for Hiksemi usb_disk + - usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS + - uas: ignore UAS for Thinkplus chips + - usb: typec: ucsi: Remove incorrect warning + - thunderbolt: Explicitly reset plug events delay back to USB4 spec value + - net: usb: qmi_wwan: Add new usb-id for Dell branded EM7455 + - Input: snvs_pwrkey - fix SNVS_HPVIDR1 register address + - can: c_can: don't cache TX messages for C_CAN cores + - clk: ingenic-tcu: Properly enable registers before accessing timers + - wifi: mac80211: ensure vif queues are operational after start + - x86/sgx: Do not fail on incomplete sanitization on premature stop of ksgxd + - frontswap: don't call ->init if no ops are registered + - ARM: dts: integrator: Tag PCI host with device_type + - ntfs: fix BUG_ON in ntfs_lookup_inode_by_name() + - x86/uaccess: avoid check_object_size() in copy_from_user_nmi() + - mm/damon/dbgfs: fix memory leak when using debugfs_lookup() + - net: mt7531: only do PLL once after the reset + - Revert "firmware: arm_scmi: Add clock management to the SCMI power domain" + - powerpc/64s/radix: don't need to broadcast IPI for radix pmd collapse flush + - drm/i915/gt: Restrict forced preemption to the active context + - drm/amdgpu: Add amdgpu suspend-resume code path under SRIOV + - vduse: prevent uninitialized memory accesses + - libata: add ATA_HORKAGE_NOLPM for Pioneer BDR-207M and BDR-205 + - mm: fix BUG splat with kvmalloc + GFP_ATOMIC + - mptcp: factor out __mptcp_close() without socket lock + - mptcp: fix unreleased socket in accept queue + - mmc: moxart: fix 4-bit bus width and remove 8-bit bus width + - mmc: hsq: Fix data stomping during mmc recovery + - mm: gup: fix the fast GUP race against THP collapse + - mm/page_alloc: fix race condition between build_all_zonelists and page + allocation + - mm: prevent page_frag_alloc() from corrupting the memory + - mm/page_isolation: fix isolate_single_pageblock() isolation behavior + - mm: fix dereferencing possible ERR_PTR + - mm/migrate_device.c: flush TLB while holding PTL + - mm/migrate_device.c: add missing flush_cache_page() + - mm/migrate_device.c: copy pte dirty bit to page + - mm: fix madivse_pageout mishandling on non-LRU page + - mm: bring back update_mmu_cache() to finish_fault() + - mm/hugetlb: correct demote page offset logic + - mm,hwpoison: check mm when killing accessing process + - media: dvb_vb2: fix possible out of bound access + - media: rkvdec: Disable H.264 error detection + - media: mediatek: vcodec: Drop platform_get_resource(IORESOURCE_IRQ) + - media: v4l2-compat-ioctl32.c: zero buffer passed to + v4l2_compat_get_array_args() + - ARM: dts: am33xx: Fix MMCHS0 dma properties + - reset: imx7: Fix the iMX8MP PCIe PHY PERST support + - ARM: dts: am5748: keep usb4_tm disabled + - soc: sunxi: sram: Actually claim SRAM regions + - soc: sunxi: sram: Prevent the driver from being unbound + - soc: sunxi: sram: Fix probe function ordering issues + - soc: sunxi: sram: Fix debugfs info for A64 SRAM C + - ASoC: imx-card: Fix refcount issue with of_node_put + - clk: microchip: mpfs: fix clk_cfg array bounds violation + - clk: microchip: mpfs: make the rtc's ahb clock critical + - arm64: dts: qcom: sm8350: fix UFS PHY serdes size + - ASoC: tas2770: Reinit regcache on reset + - drm/bridge: lt8912b: add vsync hsync + - drm/bridge: lt8912b: set hdmi or dvi mode + - drm/bridge: lt8912b: fix corrupted image output + - net: macb: Fix ZynqMP SGMII non-wakeup source resume failure + - Revert "drm: bridge: analogix/dp: add panel prepare/unprepare in + suspend/resume time" + - Input: melfas_mip4 - fix return value check in mip4_probe() + - gpio: mvebu: Fix check for pwm support on non-A8K platforms + - perf parse-events: Break out tracepoint and printing + - perf print-events: Fix "perf list" can not display the PMU prefix for some + hybrid cache events + - perf parse-events: Remove "not supported" hybrid cache events + - usbnet: Fix memory leak in usbnet_disconnect() + - net: sched: act_ct: fix possible refcount leak in tcf_ct_init() + - cxgb4: fix missing unlock on ETHOFLD desc collect fail path + - net/mlxbf_gige: Fix an IS_ERR() vs NULL bug in mlxbf_gige_mdio_probe + - nvme: Fix IOC_PR_CLEAR and IOC_PR_RELEASE ioctls for nvme devices + - wifi: cfg80211: fix MCS divisor value + - wifi: mac80211: fix regression with non-QoS drivers + - wifi: mac80211: fix memory corruption in minstrel_ht_update_rates() + - net: stmmac: power up/down serdes in stmmac_open/release + - net: phy: Don't WARN for PHY_UP state in mdio_bus_phy_resume() + - selftests: Fix the if conditions of in test_extra_filter() + - ice: xsk: change batched Tx descriptor cleaning + - ice: xsk: drop power of 2 ring size restriction for AF_XDP + - vdpa/ifcvf: fix the calculation of queuepair + - virtio-blk: Fix WARN_ON_ONCE in virtio_queue_rq() + - vdpa/mlx5: Fix MQ to support non power of two num queues + - clk: imx: imx6sx: remove the SET_RATE_PARENT flag for QSPI clocks + - drm/i915/gt: Perf_limit_reasons are only available for Gen11+ + - clk: iproc: Do not rely on node name for correct PLL setup + - clk: imx93: drop of_match_ptr + - net: mscc: ocelot: fix tagged VLAN refusal while under a VLAN-unaware bridge + - net: ethernet: mtk_eth_soc: fix mask of RX_DMA_GET_SPORT{,_V2} + - perf test: Fix test case 87 ("perf record tests") for hybrid systems + - perf tests record: Fail the test if the 'errs' counter is not zero + - KVM: x86: Hide IA32_PLATFORM_DCA_CAP[31:0] from the guest + - x86/cacheinfo: Add a cpu_llc_shared_mask() UP variant + - x86/alternative: Fix race in try_get_desc() + - damon/sysfs: fix possible memleak on damon_sysfs_add_target + - Linux 5.19.14 + * Kinetic update: v5.19.13 upstream stable release (LP: #1994075) + - Linux 5.19.13 + * Kinetic update: v5.19.12 upstream stable release (LP: #1994074) + - smb3: Move the flush out of smb2_copychunk_range() into its callers + - smb3: fix temporary data corruption in collapse range + - smb3: fix temporary data corruption in insert range + - usb: add quirks for Lenovo OneLink+ Dock + - usb: gadget: udc-xilinx: replace memcpy with memcpy_toio + - smb3: use filemap_write_and_wait_range instead of filemap_write_and_wait + - Revert "usb: add quirks for Lenovo OneLink+ Dock" + - Revert "usb: gadget: udc-xilinx: replace memcpy with memcpy_toio" + - xfrm: fix XFRMA_LASTUSED comment + - block: remove QUEUE_FLAG_DEAD + - block: stop setting the nomerges flags in blk_cleanup_queue + - block: simplify disk shutdown + - scsi: core: Fix a use-after-free + - drivers/base: Fix unsigned comparison to -1 in CPUMAP_FILE_MAX_BYTES + - USB: core: Fix RST error in hub.c + - USB: serial: option: add Quectel BG95 0x0203 composition + - USB: serial: option: add Quectel RM520N + - ALSA: core: Fix double-free at snd_card_new() + - ALSA: hda/tegra: set depop delay for tegra + - ALSA: hda: Fix hang at HD-audio codec unbinding due to refcount saturation + - ALSA: hda: Fix Nvidia dp infoframe + - ALSA: hda: add Intel 5 Series / 3400 PCI DID + - ALSA: hda/realtek: Add quirk for Huawei WRT-WX9 + - ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5570 laptop + - ALSA: hda/realtek: Re-arrange quirk table entries + - ALSA: hda/realtek: Add pincfg for ASUS G513 HP jack + - ALSA: hda/realtek: Add pincfg for ASUS G533Z HP jack + - ALSA: hda/realtek: Add quirk for ASUS GA503R laptop + - ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5530 laptop + - ALSA: hda/realtek: Add a quirk for HP OMEN 16 (8902) mute LED + - iommu/vt-d: Check correct capability for sagaw determination + - exfat: fix overflow for large capacity partition + - btrfs: fix hang during unmount when stopping block group reclaim worker + - btrfs: fix hang during unmount when stopping a space reclaim worker + - btrfs: zoned: wait for extent buffer IOs before finishing a zone + - libperf evlist: Fix polling of system-wide events + - media: flexcop-usb: fix endpoint type check + - usb: dwc3: core: leave default DMA if the controller does not support 64-bit + DMA + - thunderbolt: Add support for Intel Maple Ridge single port controller + - efi: x86: Wipe setup_data on pure EFI boot + - efi: libstub: check Shim mode using MokSBStateRT + - wifi: mt76: fix reading current per-tid starting sequence number for + aggregation + - gpio: mockup: fix NULL pointer dereference when removing debugfs + - gpio: mockup: Fix potential resource leakage when register a chip + - gpiolib: cdev: Set lineevent_state::irq after IRQ register successfully + - riscv: fix a nasty sigreturn bug... + - riscv: fix RISCV_ISA_SVPBMT kconfig dependency warning + - drm/i915/gem: Flush contexts on driver release + - drm/i915/gem: Really move i915_gem_context.link under ref protection + - xen/xenbus: fix xenbus_setup_ring() + - kasan: call kasan_malloc() from __kmalloc_*track_caller() + - can: flexcan: flexcan_mailbox_read() fix return value for drop = true + - net: mana: Add rmb after checking owner bits + - mm/slub: fix to return errno if kmalloc() fails + - mm: slub: fix flush_cpu_slab()/__free_slab() invocations in task context. + - KVM: x86: Reinstate kvm_vcpu_arch.guest_supported_xcr0 + - KVM: x86: Always enable legacy FP/SSE in allowed user XFEATURES + - KVM: x86: Inject #UD on emulated XSETBV if XSAVES isn't enabled + - perf/arm-cmn: Add more bits to child node address offset field + - arm64: topology: fix possible overflow in amu_fie_setup() + - vmlinux.lds.h: CFI: Reduce alignment of jump-table to function alignment + - batman-adv: Fix hang up with small MTU hard-interface + - firmware: arm_scmi: Harden accesses to the reset domains + - firmware: arm_scmi: Fix the asynchronous reset requests + - arm64: dts: rockchip: Lower sd speed on quartz64-b + - arm64: dts: rockchip: Pull up wlan wake# on Gru-Bob + - arm64: dts: rockchip: Fix typo in lisense text for PX30.Core + - drm/mediatek: dsi: Add atomic {destroy,duplicate}_state, reset callbacks + - arm64: dts: imx8mm: Reverse CPLD_Dn GPIO label mapping on MX8Menlo + - arm64: dts: rockchip: Set RK3399-Gru PCLK_EDP to 24 MHz + - arm64: dts: imx8mn: remove GPU power domain reset + - arm64: dts: imx8ulp: add #reset-cells for pcc + - dmaengine: ti: k3-udma-private: Fix refcount leak bug in of_xudma_dev_get() + - arm64: dts: rockchip: fix property for usb2 phy supply on rock-3a + - arm64: dts: rockchip: fix property for usb2 phy supply on rk3568-evb1-v10 + - arm64: dts: rockchip: Remove 'enable-active-low' from rk3399-puma + - arm64: dts: rockchip: Remove 'enable-active-low' from rk3566-quartz64-a + - arm64: dts: imx8mm-verdin: extend pmic voltages + - netfilter: nf_conntrack_sip: fix ct_sip_walk_headers + - netfilter: nf_conntrack_irc: Tighten matching on DCC message + - netfilter: nfnetlink_osf: fix possible bogus match in nf_osf_find() + - ice: Don't double unplug aux on peer initiated reset + - ice: Fix crash by keep old cfg when update TCs more than queues + - iavf: Fix cached head and tail value for iavf_get_tx_pending + - ipvlan: Fix out-of-bound bugs caused by unset skb->mac_header + - net: core: fix flow symmetric hash + - wifi: iwlwifi: Mark IWLMEI as broken + - [Config] updateconfigs for IWLMEI + - arm64: dts: tqma8mqml: Include phy-imx8-pcie.h header + - drm/mediatek: Fix wrong dither settings + - arm64: dts: imx8mp-venice-gw74xx: fix CAN STBY polarity + - arm64: dts: imx8mp-venice-gw74xx: fix ksz9477 cpu port + - ARM: dts: lan966x: Fix the interrupt number for internal PHYs + - net: phy: aquantia: wait for the suspend/resume operations to finish + - arm64: dts: imx8mp-venice-gw74xx: fix port/phy validation + - scsi: qla2xxx: Fix memory leak in __qlt_24xx_handle_abts() + - scsi: mpt3sas: Fix return value check of dma_get_required_mask() + - net: bonding: Share lacpdu_mcast_addr definition + - net: bonding: Unsync device addresses on ndo_stop + - net: team: Unsync device addresses on ndo_stop + - drm/panel: simple: Fix innolux_g121i1_l01 bus_format + - mm/slab_common: fix possible double free of kmem_cache + - MIPS: lantiq: export clk_get_io() for lantiq_wdt.ko + - MIPS: Loongson32: Fix PHY-mode being left unspecified + - um: fix default console kernel parameter + - iavf: Fix bad page state + - mlxbf_gige: clear MDIO gateway lock after read + - i40e: Fix set max_tx_rate when it is lower than 1 Mbps + - netdevsim: Fix hwstats debugfs file permissions + - sfc: fix TX channel offset when using legacy interrupts + - sfc: fix null pointer dereference in efx_hard_start_xmit + - bnxt_en: fix flags to check for supported fw version + - gve: Fix GFP flags when allocing pages + - drm/hisilicon: Add depends on MMU + - of: mdio: Add of_node_put() when breaking out of for_each_xx + - net: ipa: properly limit modem routing table use + - sfc/siena: fix TX channel offset when using legacy interrupts + - sfc/siena: fix null pointer dereference in efx_hard_start_xmit + - wireguard: ratelimiter: disable timings test by default + - wireguard: netlink: avoid variable-sized memcpy on sockaddr + - net: enetc: move enetc_set_psfp() out of the common enetc_set_features() + - net: enetc: deny offload of tc-based TSN features on VF interfaces + - ipv6: Fix crash when IPv6 is administratively disabled + - net/sched: taprio: avoid disabling offload when it was never enabled + - net/sched: taprio: make qdisc_leaf() see the per-netdev-queue pfifo child + qdiscs + - ice: config netdev tc before setting queues number + - ice: Fix interface being down after reset with link-down-on-close flag on + - netfilter: nf_tables: fix nft_counters_enabled underflow at + nf_tables_addchain() + - netfilter: nf_tables: fix percpu memory leak at nf_tables_addchain() + - netfilter: ebtables: fix memory leak when blob is malformed + - netfilter: nf_ct_ftp: fix deadlock when nat rewrite is needed + - net: ravb: Fix PHY state warning splat during system resume + - net: sh_eth: Fix PHY state warning splat during system resume + - gpio: tqmx86: fix uninitialized variable girq + - can: gs_usb: gs_can_open(): fix race dev->can.state condition + - perf stat: Fix BPF program section name + - perf stat: Fix cpu map index in bperf cgroup code + - perf jit: Include program header in ELF files + - perf kcore_copy: Do not check /proc/modules is unchanged + - perf tools: Honor namespace when synthesizing build-ids + - drm/mediatek: dsi: Move mtk_dsi_stop() call back to mtk_dsi_poweroff() + - ice: Fix ice_xdp_xmit() when XDP TX queue number is not sufficient + - net/smc: Stop the CLC flow if no link to map buffers on + - net: phy: micrel: fix shared interrupt on LAN8814 + - bonding: fix NULL deref in bond_rr_gen_slave_id + - net: sunhme: Fix packet reception for len < RX_COPY_THRESHOLD + - net: sched: fix possible refcount leak in tc_new_tfilter() + - bnxt: prevent skb UAF after handing over to PTP worker + - selftests: forwarding: add shebang for sch_red.sh + - io_uring: ensure that cached task references are always put on exit + - serial: fsl_lpuart: Reset prior to registration + - serial: Create uart_xmit_advance() + - serial: tegra: Use uart_xmit_advance(), fixes icount.tx accounting + - serial: tegra-tcu: Use uart_xmit_advance(), fixes icount.tx accounting + - cgroup: cgroup_get_from_id() must check the looked-up kn is a directory + - phy: marvell: phy-mvebu-a3700-comphy: Remove broken reset support + - s390/dasd: fix Oops in dasd_alias_get_start_dev due to missing pavgroup + - blk-mq: fix error handling in __blk_mq_alloc_disk + - block: call blk_mq_exit_queue from disk_release for never added disks + - block: Do not call blk_put_queue() if gendisk allocation fails + - Drivers: hv: Never allocate anything besides framebuffer from framebuffer + memory region + - drm/gma500: Fix BUG: sleeping function called from invalid context errors + - drm/gma500: Fix WARN_ON(lock->magic != lock) error + - drm/gma500: Fix (vblank) IRQs not working after suspend/resume + - gpio: ixp4xx: Make irqchip immutable + - drm/amd/pm: disable BACO entry/exit completely on several sienna cichlid + cards + - drm/amdgpu: change the alignment size of TMR BO to 1M + - drm/amdgpu: add HDP remap functionality to nbio 7.7 + - drm/amdgpu: Skip reset error status for psp v13_0_0 + - drm/amd/display: Limit user regamma to a valid value + - drm/amd/display: Reduce number of arguments of dml31's + CalculateWatermarksAndDRAMSpeedChangeSupport() + - drm/amd/display: Reduce number of arguments of dml31's + CalculateFlipSchedule() + - drm/amd/display: Mark dml30's UseMinimumDCFCLK() as noinline for stack usage + - drm/rockchip: Fix return type of cdn_dp_connector_mode_valid + - gpio: mt7621: Make the irqchip immutable + - pmem: fix a name collision + - fsdax: Fix infinite loop in dax_iomap_rw() + - workqueue: don't skip lockdep work dependency in cancel_work_sync() + - i2c: imx: If pm_runtime_get_sync() returned 1 device access is possible + - i2c: mlxbf: incorrect base address passed during io write + - i2c: mlxbf: prevent stack overflow in mlxbf_i2c_smbus_start_transaction() + - i2c: mlxbf: Fix frequency calculation + - i2c: mux: harden i2c_mux_alloc() against integer overflows + - drm/amdgpu: don't register a dirty callback for non-atomic + - certs: make system keyring depend on built-in x509 parser + - Makefile.debug: set -g unconditional on CONFIG_DEBUG_INFO_SPLIT + - Makefile.debug: re-enable debug info for .S files + - devdax: Fix soft-reservation memory description + - ext4: fix bug in extents parsing when eh_entries == 0 and eh_depth > 0 + - ext4: limit the number of retries after discarding preallocations blocks + - ext4: make mballoc try target group first even with mb_optimize_scan + - ext4: avoid unnecessary spreading of allocations among groups + - ext4: use locality group preallocation for small closed files + - ext4: use buckets for cr 1 block scan instead of rbtree + - Revert "block: freeze the queue earlier in del_gendisk" + - ext4: fixup possible uninitialized variable access in + ext4_mb_choose_next_group_cr1() + - ext4: make directory inode spreading reflect flexbg size + - Linux 5.19.12 + * Kinetic update: v5.19.11 upstream stable release (LP: #1994070) + - of: fdt: fix off-by-one error in unflatten_dt_nodes() + - pinctrl: qcom: sc8180x: Fix gpio_wakeirq_map + - pinctrl: qcom: sc8180x: Fix wrong pin numbers + - pinctrl: rockchip: Enhance support for IRQ_TYPE_EDGE_BOTH + - pinctrl: sunxi: Fix name for A100 R_PIO + - SUNRPC: Fix call completion races with call_decode() + - NFSv4: Turn off open-by-filehandle and NFS re-export for NFSv4.0 + - gpio: mpc8xxx: Fix support for IRQ_TYPE_LEVEL_LOW flow_type in mpc85xx + - NFSv4.2: Update mode bits after ALLOCATE and DEALLOCATE + - Revert "SUNRPC: Remove unreachable error condition" + - drm/panel-edp: Fix delays for Innolux N116BCA-EA1 + - drm/meson: Correct OSD1 global alpha value + - drm/meson: Fix OSD1 RGB to YCbCr coefficient + - drm/rockchip: vop2: Fix eDP/HDMI sync polarities + - drm/i915/vdsc: Set VDSC PIC_HEIGHT before using for DP DSC + - drm/i915/guc: Don't update engine busyness stats too frequently + - drm/i915/guc: Cancel GuC engine busyness worker synchronously + - block: blk_queue_enter() / __bio_queue_enter() must return -EAGAIN for + nowait + - parisc: ccio-dma: Add missing iounmap in error path in ccio_probe() + - of/device: Fix up of_dma_configure_id() stub + - io_uring/msg_ring: check file type before putting + - cifs: revalidate mapping when doing direct writes + - cifs: don't send down the destination address to sendmsg for a SOCK_STREAM + - cifs: always initialize struct msghdr smb_msg completely + - blk-lib: fix blkdev_issue_secure_erase + - parisc: Allow CONFIG_64BIT with ARCH=parisc + - tools/include/uapi: Fix for parisc and xtensa + - drm/i915/gt: Fix perf limit reasons bit positions + - drm/i915: Set correct domains values at _i915_vma_move_to_active + - drm/amdgpu: make sure to init common IP before gmc + - drm/amdgpu: Don't enable LTR if not supported + - drm/amdgpu: move nbio ih_doorbell_range() into ih code for vega + - drm/amdgpu: move nbio sdma_doorbell_range() into sdma code for vega + - net: Find dst with sk's xfrm policy not ctl_sk + - dt-bindings: apple,aic: Fix required item "apple,fiq-index" in affinity + description + - cgroup: Add missing cpus_read_lock() to cgroup_attach_task_all() + - ALSA: hda/sigmatel: Keep power up while beep is enabled + - ALSA: hda/sigmatel: Fix unused variable warning for beep power change + - Linux 5.19.11 + * Kinetic update: v5.19.10 upstream stable release (LP: #1994069) + - iommu/vt-d: Fix kdump kernels boot failure with scalable mode + - net/mlx5: Introduce ifc bits for using software vhca id + - net/mlx5: Use software VHCA id when it's supported + - RDMA/mlx5: Rely on RoCE fw cap instead of devlink when setting profile + - RDMA/mlx5: Add a umr recovery flow + - RDMA/mlx5: Fix UMR cleanup on error flow of driver init + - ACPI: resource: skip IRQ override on AMD Zen platforms + - Input: goodix - add support for GT1158 + - platform/surface: aggregator_registry: Add support for Surface Laptop Go 2 + - drm/msm/rd: Fix FIFO-full deadlock + - peci: cpu: Fix use-after-free in adev_release() + - kvm: x86: mmu: Always flush TLBs when enabling dirty logging + - dt-bindings: iio: gyroscope: bosch,bmg160: correct number of pins + - HID: ishtp-hid-clientHID: ishtp-hid-client: Fix comment typo + - hid: intel-ish-hid: ishtp: Fix ishtp client sending disordered message + - Bluetooth: MGMT: Fix Get Device Flags + - tg3: Disable tg3 device on system reboot to avoid triggering AER + - r8152: add PID for the Lenovo OneLink+ Dock + - gpio: mockup: remove gpio debugfs when remove device + - ieee802154: cc2520: add rc code in cc2520_tx() + - Input: iforce - add support for Boeder Force Feedback Wheel + - drm/amdgpu: disable FRU access on special SIENNA CICHLID card + - drm/amd/pm: use vbios carried pptable for all SMU13.0.7 SKUs + - nvme-pci: add NVME_QUIRK_BOGUS_NID for Lexar NM610 + - nvmet-tcp: fix unhandled tcp states in nvmet_tcp_state_change() + - drm/amd/amdgpu: skip ucode loading if ucode_size == 0 + - net: dsa: hellcreek: Print warning only once + - perf/arm_pmu_platform: fix tests for platform_get_irq() failure + - platform/x86: acer-wmi: Acer Aspire One AOD270/Packard Bell Dot keymap fixes + - usb: storage: Add ASUS <0x0b05:0x1932> to IGNORE_UAS + - platform/x86: asus-wmi: Increase FAN_CURVE_BUF_LEN to 32 + - LoongArch: Fix section mismatch due to acpi_os_ioremap() + - LoongArch: Fix arch_remove_memory() undefined build error + - gpio: 104-dio-48e: Make irq_chip immutable + - gpio: 104-idio-16: Make irq_chip immutable + - RDMA/irdma: Use s/g array in post send only when its valid + - Input: goodix - add compatible string for GT1158 + - Linux 5.19.10 + * Kinetic update: v5.19.9 upstream stable release (LP: #1994068) + - efi: libstub: Disable struct randomization + - efi: capsule-loader: Fix use-after-free in efi_capsule_write + - wifi: mt76: mt7921e: fix crash in chip reset fail + - wifi: iwlegacy: 4965: corrected fix for potential off-by-one overflow in + il4965_rs_fill_link_cmd() + - fs: only do a memory barrier for the first set_buffer_uptodate() + - soc: fsl: select FSL_GUTS driver for DPIO + - Revert "mm: kmemleak: take a full lowmem check in kmemleak_*_phys()" + - scsi: qla2xxx: Disable ATIO interrupt coalesce for quad port ISP27XX + - scsi: core: Allow the ALUA transitioning state enough time + - scsi: megaraid_sas: Fix double kfree() + - drm/gem: Fix GEM handle release errors + - drm/amdgpu: Move psp_xgmi_terminate call from amdgpu_xgmi_remove_device to + psp_hw_fini + - drm/amdgpu: fix hive reference leak when adding xgmi device + - drm/amdgpu: Check num_gfx_rings for gfx v9_0 rb setup. + - drm/amdgpu: Remove the additional kfd pre reset call for sriov + - drm/radeon: add a force flush to delay work when radeon + - scsi: ufs: core: Reduce the power mode change timeout + - Revert "parisc: Show error if wrong 32/64-bit compiler is being used" + - parisc: ccio-dma: Handle kmalloc failure in ccio_init_resources() + - parisc: Add runtime check to prevent PA2.0 kernels on PA1.x machines + - [Config] updateconfigs for ARM64_ERRATUM_2457168 + - arm64: errata: add detection for AMEVCNTR01 incrementing incorrectly + - netfilter: conntrack: work around exceeded receive window + - thermal/int340x_thermal: handle data_vault when the value is ZERO_SIZE_PTR + - cpufreq: check only freq_table in __resolve_freq() + - net/core/skbuff: Check the return value of skb_copy_bits() + - md: Flush workqueue md_rdev_misc_wq in md_alloc() + - fbdev: omapfb: Fix tests for platform_get_irq() failure + - fbdev: fbcon: Destroy mutex on freeing struct fb_info + - fbdev: chipsfb: Add missing pci_disable_device() in chipsfb_pci_init() + - x86/sev: Mark snp_abort() noreturn + - drm/amdgpu: add sdma instance check for gfx11 CGCG + - drm/amdgpu: mmVM_L2_CNTL3 register not initialized correctly + - ALSA: pcm: oss: Fix race at SNDCTL_DSP_SYNC + - ALSA: emu10k1: Fix out of bounds access in snd_emu10k1_pcm_channel_alloc() + - ALSA: hda: Once again fix regression of page allocations with IOMMU + - ALSA: aloop: Fix random zeros in capture data when using jiffies timer + - ALSA: usb-audio: Clear fixed clock rate at closing EP + - ALSA: usb-audio: Fix an out-of-bounds bug in + __snd_usb_parse_audio_interface() + - tracefs: Only clobber mode/uid/gid on remount if asked + - tracing: hold caller_addr to hardirq_{enable,disable}_ip + - tracing: Fix to check event_mutex is held while accessing trigger list + - btrfs: zoned: set pseudo max append zone limit in zone emulation mode + - btrfs: zoned: fix API misuse of zone finish waiting + - vfio/type1: Unpin zero pages + - kprobes: Prohibit probes in gate area + - perf: RISC-V: fix access beyond allocated array + - debugfs: add debugfs_lookup_and_remove() + - sched/debug: fix dentry leak in update_sched_domain_debugfs + - drm/amd/display: fix memory leak when using debugfs_lookup() + - driver core: fix driver_set_override() issue with empty strings + - nvmet: fix a use-after-free + - drm/i915/bios: Copy the whole MIPI sequence block + - drm/i915/slpc: Let's fix the PCODE min freq table setup for SLPC + - scsi: mpt3sas: Fix use-after-free warning + - scsi: lpfc: Add missing destroy_workqueue() in error path + - cgroup: Elide write-locking threadgroup_rwsem when updating csses on an + empty subtree + - cgroup: Fix threadgroup_rwsem <-> cpus_read_lock() deadlock + - cifs: remove useless parameter 'is_fsctl' from SMB2_ioctl() + - smb3: missing inode locks in zero range + - spi: bitbang: Fix lsb-first Rx + - ASoC: cs42l42: Only report button state if there was a button interrupt + - Revert "soc: imx: imx8m-blk-ctrl: set power device name" + - arm64: dts: imx8mm-verdin: update CAN clock to 40MHz + - arm64: dts: imx8mm-verdin: use level interrupt for mcp251xfd + - ASoC: qcom: sm8250: add missing module owner + - regmap: spi: Reserve space for register address/padding + - arm64: dts: imx8mp-venice-gw74xx: fix sai2 pin settings + - arm64: dts: imx8mq-tqma8mq: Remove superfluous interrupt-names + - RDMA/rtrs-clt: Use the right sg_cnt after ib_dma_map_sg + - RDMA/rtrs-srv: Pass the correct number of entries for dma mapped SGL + - ARM: dts: imx6qdl-vicut1.dtsi: Fix node name backlight_led + - ARM: dts: imx6qdl-kontron-samx6i: remove duplicated node + - ARM: dts: imx6qdl-kontron-samx6i: fix spi-flash compatible + - arm64: dts: ls1028a-qds-65bb: don't use in-band autoneg for 2500base-x + - soc: imx: gpcv2: Assert reset before ungating clock + - arm64: dts: verdin-imx8mm: add otg2 pd to usbphy + - arm64: dts: imx8mm-venice-gw7901: fix port/phy validation + - arm64: dts: freescale: verdin-imx8mm: fix atmel_mxt_ts reset polarity + - arm64: dts: freescale: verdin-imx8mp: fix atmel_mxt_ts reset polarity + - regulator: core: Clean up on enable failure + - ASoC: SOF: Kconfig: Make IPC_FLOOD_TEST depend on SND_SOC_SOF + - ASoC: SOF: Kconfig: Make IPC_MESSAGE_INJECTOR depend on SND_SOC_SOF + - tee: fix compiler warning in tee_shm_register() + - RDMA/irdma: Fix drain SQ hang with no completion + - arm64: dts: renesas: r8a779g0: Fix HSCIF0 interrupt number + - RDMA/cma: Fix arguments order in net device validation + - soc: brcmstb: pm-arm: Fix refcount leak and __iomem leak bugs + - RDMA/hns: Fix supported page size + - RDMA/hns: Fix wrong fixed value of qp->rq.wqe_shift + - RDMA/hns: Remove the num_qpc_timer variable + - wifi: wilc1000: fix DMA on stack objects + - ARM: at91: pm: fix self-refresh for sama7g5 + - ARM: at91: pm: fix DDR recalibration when resuming from backup and self- + refresh + - ARM: dts: at91: sama5d27_wlsom1: specify proper regulator output ranges + - ARM: dts: at91: sama5d2_icp: specify proper regulator output ranges + - ARM: dts: at91: sama7g5ek: specify proper regulator output ranges + - ARM: dts: at91: sama5d27_wlsom1: don't keep ldo2 enabled all the time + - ARM: dts: at91: sama5d2_icp: don't keep vdd_other enabled all the time + - netfilter: br_netfilter: Drop dst references before setting. + - netfilter: nf_tables: clean up hook list when offload flags check fails + - riscv: dts: microchip: use an mpfs specific l2 compatible + - netfilter: nf_conntrack_irc: Fix forged IP logic + - RDMA/srp: Set scmnd->result only when scmnd is not NULL + - ALSA: usb-audio: Inform the delayed registration more properly + - ALSA: usb-audio: Register card again for iface over delayed_register option + - rxrpc: Fix ICMP/ICMP6 error handling + - rxrpc: Fix an insufficiently large sglist in rxkad_verify_packet_2() + - afs: Use the operation issue time instead of the reply time for callbacks + - kunit: fix assert_type for comparison macros + - Revert "net: phy: meson-gxl: improve link-up behavior" + - sch_sfb: Don't assume the skb is still around after enqueueing to child + - tipc: fix shift wrapping bug in map_get() + - net: introduce __skb_fill_page_desc_noacc + - tcp: TX zerocopy should not sense pfmemalloc status + - ice: Fix DMA mappings leak + - ice: use bitmap_free instead of devm_kfree + - i40e: Fix kernel crash during module removal + - iavf: Detach device during reset task + - xen-netback: only remove 'hotplug-status' when the vif is actually destroyed + - block: don't add partitions if GD_SUPPRESS_PART_SCAN is set + - RDMA/siw: Pass a pointer to virt_to_page() + - bonding: use unspecified address if no available link local address + - bonding: add all node mcast address when slave up + - ipv6: sr: fix out-of-bounds read when setting HMAC data. + - IB/core: Fix a nested dead lock as part of ODP flow + - RDMA/mlx5: Set local port to one when accessing counters + - btrfs: zoned: fix mounting with conventional zones + - erofs: fix error return code in erofs_fscache_{meta_,}read_folio + - erofs: fix pcluster use-after-free on UP platforms + - nvme-tcp: fix UAF when detecting digest errors + - nvme-tcp: fix regression that causes sporadic requests to time out + - tcp: fix early ETIMEDOUT after spurious non-SACK RTO + - btrfs: fix the max chunk size and stripe length calculation + - nvmet: fix mar and mor off-by-one errors + - RDMA/irdma: Report the correct max cqes from query device + - RDMA/irdma: Return error on MR deregister CQP failure + - RDMA/irdma: Return correct WC error for bind operation failure + - RDMA/irdma: Report RNR NAK generation in device caps + - net: dsa: felix: disable cut-through forwarding for frames oversized for tc- + taprio + - net: dsa: felix: access QSYS_TAG_CONFIG under tas_lock in + vsc9959_sched_speed_set + - net: ethernet: mtk_eth_soc: fix typo in __mtk_foe_entry_clear + - net: ethernet: mtk_eth_soc: check max allowed hash in mtk_ppe_check_skb + - net/smc: Fix possible access to freed memory in link clear + - io_uring: recycle kbuf recycle on tw requeue + - net: phy: lan87xx: change interrupt src of link_up to comm_ready + - sch_sfb: Also store skb len before calling child enqueue + - libperf evlist: Fix per-thread mmaps for multi-threaded targets + - perf dlfilter dlfilter-show-cycles: Fix types for print format + - perf script: Fix Cannot print 'iregs' field for hybrid systems + - perf record: Fix synthesis failure warnings + - hwmon: (tps23861) fix byte order in resistance register + - ASoC: mchp-spdiftx: remove references to mchp_i2s_caps + - ASoC: mchp-spdiftx: Fix clang -Wbitfield-constant-conversion + - MIPS: loongson32: ls1c: Fix hang during startup + - kbuild: disable header exports for UML in a straightforward way + - i40e: Refactor tc mqprio checks + - i40e: Fix ADQ rate limiting for PF + - net: bonding: replace dev_trans_start() with the jiffies of the last ARP/NS + - bonding: accept unsolicited NA message + - swiotlb: avoid potential left shift overflow + - iommu/amd: use full 64-bit value in build_completion_wait() + - s390/boot: fix absolute zero lowcore corruption on boot + - time64.h: consolidate uses of PSEC_PER_NSEC + - net: dsa: felix: tc-taprio intervals smaller than MTU should send at least + one packet + - hwmon: (mr75203) fix VM sensor allocation when "intel,vm-map" not defined + - hwmon: (mr75203) update pvt->v_num and vm_num to the actual number of used + sensors + - hwmon: (mr75203) fix voltage equation for negative source input + - hwmon: (mr75203) fix multi-channel voltage reading + - hwmon: (mr75203) enable polling for all VM channels + - perf evlist: Always use arch_evlist__add_default_attrs() + - perf stat: Fix L2 Topdown metrics disappear for raw events + - Revert "arm64: kasan: Revert "arm64: mte: reset the page tag in + page->flags"" + - hwmon: (asus-ec-sensors) add support for Strix Z690-a D4 + - hwmon: (asus-ec-sensors) add support for Maximus XI Hero + - hwmon: (asus-ec-sensors) add missing sensors for X570-I GAMING + - hwmon: (asus-ec-sensors) add definitions for ROG ZENITH II EXTREME + - hwmon: (asus-ec-sensors) autoload module via DMI data + - arm64/bti: Disable in kernel BTI when cross section thunks are broken + - [Config] updateconfigs for ARM64_BTI_KERNEL + - iommu/vt-d: Correctly calculate sagaw value of IOMMU + - iommu/virtio: Fix interaction with VFIO + - iommu: Fix false ownership failure on AMD systems with PASID activated + - drm/amd/display: Add SMU logging code + - drm/amd/display: Removing assert statements for Linux + - Linux 5.19.9 + * Kinetic update: v5.19.8 upstream stable release (LP: #1994061) + - drm/msm/dp: make eDP panel as the first connected connector + - drm/msm/dsi: fix the inconsistent indenting + - drm/msm/dpu: populate wb or intf before reset_intf_cfg + - drm/msm/dp: delete DP_RECOVERED_CLOCK_OUT_EN to fix tps4 + - drm/msm/dsi: Fix number of regulators for msm8996_dsi_cfg + - drm/msm/dsi: Fix number of regulators for SDM660 + - platform/x86: pmc_atom: Fix SLP_TYPx bitfield mask + - platform/x86: x86-android-tablets: Fix broken touchscreen on Chuwi Hi8 with + Windows BIOS + - xsk: Fix corrupted packets for XDP_SHARED_UMEM + - drm/msm/gpu: Drop qos request if devm_devfreq_add_device() fails + - peci: aspeed: fix error check return value of platform_get_irq() + - iio: adc: mcp3911: make use of the sign bit + - skmsg: Fix wrong last sg check in sk_msg_recvmsg() + - bpf: Restrict bpf_sys_bpf to CAP_PERFMON + - ip_tunnel: Respect tunnel key's "flow_flags" in IP tunnels + - bpf, cgroup: Fix kernel BUG in purge_effective_progs + - drm/i915/gvt: Fix Comet Lake + - ieee802154/adf7242: defer destroy_workqueue call + - bpf: Fix a data-race around bpf_jit_limit. + - drm/i915/ttm: fix CCS handling + - drm/i915/display: avoid warnings when registering dual panel backlight + - ALSA: hda: intel-nhlt: Correct the handling of fmt_config flexible array + - wifi: cfg80211: debugfs: fix return type in ht40allow_map_read() + - xhci: Fix null pointer dereference in remove if xHC has only one roothub + - Revert "xhci: turn off port power in shutdown" + - bpf: Allow helpers to accept pointers with a fixed size + - bpf: Tidy up verifier check_func_arg() + - bpf: Do mark_chain_precision for ARG_CONST_ALLOC_SIZE_OR_ZERO + - Bluetooth: hci_event: Fix vendor (unknown) opcode status handling + - Bluetooth: hci_sync: Fix suspend performance regression + - Bluetooth: hci_event: Fix checking conn for le_conn_complete_evt + - Bluetooth: hci_sync: hold hdev->lock when cleanup hci_conn + - net: sparx5: fix handling uneven length packets in manual extraction + - net: smsc911x: Stop and start PHY during suspend and resume + - openvswitch: fix memory leak at failed datapath creation + - nfp: flower: fix ingress police using matchall filter + - net: dsa: xrs700x: Use irqsave variant for u64 stats update + - net: sched: tbf: don't call qdisc_put() while holding tree lock + - net/sched: fix netdevice reference leaks in attach_default_qdiscs() + - net: phy: micrel: Make the GPIO to be non-exclusive + - net: lan966x: improve error handle in lan966x_fdma_rx_get_frame() + - ethernet: rocker: fix sleep in atomic context bug in neigh_timer_handler + - cachefiles: fix error return code in cachefiles_ondemand_copen() + - cachefiles: make on-demand request distribution fairer + - mlxbf_gige: compute MDIO period based on i1clk + - kcm: fix strp_init() order and cleanup + - sch_cake: Return __NET_XMIT_STOLEN when consuming enqueued skb + - tcp: annotate data-race around challenge_timestamp + - Revert "sch_cake: Return __NET_XMIT_STOLEN when consuming enqueued skb" + - net/smc: Remove redundant refcount increase + - soundwire: qcom: fix device status array range + - mm/slab_common: Deleting kobject in kmem_cache_destroy() without holding + slab_mutex/cpu_hotplug_lock + - platform/mellanox: mlxreg-lc: Fix coverity warning + - platform/mellanox: mlxreg-lc: Fix locking issue + - serial: fsl_lpuart: RS485 RTS polariy is inverse + - tty: serial: atmel: Preserve previous USART mode if RS485 disabled + - staging: rtl8712: fix use after free bugs + - staging: r8188eu: Add Rosewill USB-N150 Nano to device tables + - staging: r8188eu: add firmware dependency + - Revert "powerpc: Remove unused FW_FEATURE_NATIVE references" + - powerpc: align syscall table for ppc32 + - powerpc/rtas: Fix RTAS MSR[HV] handling for Cell + - vt: Clear selection before changing the font + - musb: fix USB_MUSB_TUSB6010 dependency + - tty: serial: lpuart: disable flow control while waiting for the transmit + engine to complete + - Input: iforce - wake up after clearing IFORCE_XMIT_RUNNING flag + - iio: light: cm3605: Fix an error handling path in cm3605_probe() + - iio: ad7292: Prevent regulator double disable + - iio: adc: mcp3911: correct "microchip,device-addr" property + - iio: adc: mcp3911: use correct formula for AD conversion + - misc: fastrpc: fix memory corruption on probe + - misc: fastrpc: fix memory corruption on open + - firmware_loader: Fix use-after-free during unregister + - firmware_loader: Fix memory leak in firmware upload + - USB: serial: ftdi_sio: add Omron CS1W-CIF31 device id + - landlock: Fix file reparenting without explicit LANDLOCK_ACCESS_FS_REFER + - mmc: core: Fix UHS-I SD 1.8V workaround branch + - mmc: core: Fix inconsistent sd3_bus_mode at UHS-I SD voltage switch failure + - binder: fix UAF of ref->proc caused by race condition + - binder: fix alloc->vma_vm_mm null-ptr dereference + - cifs: fix small mempool leak in SMB2_negotiate() + - KVM: VMX: Heed the 'msr' argument in msr_write_intercepted() + - riscv: kvm: move extern sbi_ext declarations to a header + - clk: ti: Fix missing of_node_get() ti_find_clock_provider() + - drm/i915/reg: Fix spelling mistake "Unsupport" -> "Unsupported" + - clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops + - Revert "clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops" + - clk: core: Fix runtime PM sequence in clk_core_unprepare() + - Input: rk805-pwrkey - fix module autoloading + - powerpc/papr_scm: Fix nvdimm event mappings + - clk: bcm: rpi: Fix error handling of raspberrypi_fw_get_rate + - clk: bcm: rpi: Prevent out-of-bounds access + - clk: bcm: rpi: Add missing newline + - hwmon: (gpio-fan) Fix array out of bounds access + - gpio: pca953x: Add mutex_lock for regcache sync in PM + - gpio: realtek-otto: switch to 32-bit I/O + - KVM: x86: Mask off unsupported and unknown bits of IA32_ARCH_CAPABILITIES + - powerpc/papr_scm: Ensure rc is always initialized in papr_scm_pmu_register() + - xen/grants: prevent integer overflow in gnttab_dma_alloc_pages() + - mm: pagewalk: Fix race between unmap and page walker + - xen-blkback: Advertise feature-persistent as user requested + - xen-blkfront: Advertise feature-persistent as user requested + - xen-blkfront: Cache feature_persistent value before advertisement + - thunderbolt: Use the actual buffer in tb_async_error() + - thunderbolt: Check router generation before connecting xHCI + - usb: dwc3: pci: Add support for Intel Raptor Lake + - media: mceusb: Use new usb_control_msg_*() routines + - xhci: Add grace period after xHC start to prevent premature runtime suspend. + - usb: dwc3: disable USB core PHY management + - usb: dwc3: gadget: Avoid duplicate requests to enable Run/Stop + - usb: dwc3: fix PHY disable sequence + - USB: serial: ch341: fix lost character on LCR updates + - USB: serial: ch341: fix disabled rx timer on older devices + - USB: serial: cp210x: add Decagon UCA device id + - USB: serial: option: add support for OPPO R11 diag port + - USB: serial: option: add Quectel EM060K modem + - USB: serial: option: add support for Cinterion MV32-WA/WB RmNet mode + - Revert "usb: typec: ucsi: add a common function + ucsi_unregister_connectors()" + - usb: typec: altmodes/displayport: correct pin assignment for UFP receptacles + - usb: typec: intel_pmc_mux: Add new ACPI ID for Meteor Lake IOM device + - usb: typec: tcpm: Return ENOTSUPP for power supply prop writes + - usb: dwc2: fix wrong order of phy_power_on and phy_init + - usb: cdns3: fix issue with rearming ISO OUT endpoint + - usb: cdns3: fix incorrect handling TRB_SMM flag for ISOC transfer + - USB: cdc-acm: Add Icom PMR F3400 support (0c26:0020) + - usb-storage: Add ignore-residue quirk for NXP PN7462AU + - s390/hugetlb: fix prepare_hugepage_range() check for 2 GB hugepages + - s390: fix nospec table alignments + - USB: core: Prevent nested device-reset calls + - usb: xhci-mtk: relax TT periodic bandwidth allocation + - usb: xhci-mtk: fix bandwidth release issue + - usb: gadget: f_uac2: fix superspeed transfer + - usb: gadget: mass_storage: Fix cdrom data transfers on MAC-OS + - USB: gadget: Fix obscure lockdep violation for udc_mutex + - dma-buf/dma-resv: check if the new fence is really later + - arm64/kexec: Fix missing extra range for crashkres_low. + - driver core: Don't probe devices after bus_type.match() probe deferral + - wifi: mac80211: Don't finalize CSA in IBSS mode if state is disconnected + - wifi: mac80211: Fix UAF in ieee80211_scan_rx() + - ip: fix triggering of 'icmp redirect' + - net: Use u64_stats_fetch_begin_irq() for stats fetch. + - net: mac802154: Fix a condition in the receive path + - ALSA: memalloc: Revive x86-specific WC page allocations again + - ALSA: hda/realtek: Add speaker AMP init for Samsung laptops with ALC298 + - ALSA: seq: oss: Fix data-race for max_midi_devs access + - ALSA: seq: Fix data-race at module auto-loading + - drm/i915/backlight: Disable pps power hook for aux based backlight + - drm/i915/guc: clear stalled request after a reset + - drm/i915/glk: ECS Liva Q2 needs GLK HDMI port timing quirk + - drm/i915: Skip wm/ddb readout for disabled pipes + - tty: n_gsm: add sanity check for gsm->receive in gsm_receive_buf() + - tty: n_gsm: initialize more members at gsm_alloc_mux() + - tty: n_gsm: replace kicktimer with delayed_work + - tty: n_gsm: avoid call of sleeping functions from atomic context + - Linux 5.19.8 + * md: Replace snprintf with scnprintf (LP: #1993315) + - md: Replace snprintf with scnprintf + * ACPI: processor idle: Practically limit "Dummy wait" workaround to old Intel + systems (LP: #1990985) + - ACPI: processor idle: Practically limit "Dummy wait" workaround to old Intel + systems + * iavf: SR-IOV VFs error with no traffic flow when MTU greater than 1500 + (LP: #1983656) + - iavf: Fix set max MTU size with port VLAN and jumbo frames + - i40e: Fix VF set max MTU size + * Fix resume on AMD platforms when TBT monitor is plugged (LP: #1990920) + - drm/amd/display: Detect dpcd_rev when hotplug mst monitor + - drm/amd/display: Release remote dc_sink under mst scenario + * [SRU][J/OEM-5.17][PATCH 0/1] Fix oled brightness set above frame-average + luminance (LP: #1978986) + - drm: New function to get luminance range based on static hdr metadata + - drm/amdgpu_dm: Rely on split out luminance calculation function + - drm/i915: Use luminance range calculated during edid parsing + * Update Broadcom Emulex FC HBA lpfc driver to 14.2.0.5 for Ubuntu 22.04 + (LP: #1988711) + - scsi: lpfc: Fix uninitialized cqe field in lpfc_nvme_cancel_iocb() + - scsi: lpfc: Set PU field when providing D_ID in XMIT_ELS_RSP64_CX iocb + - scsi: lpfc: Fix lost NVMe paths during LIF bounce stress test + - scsi: lpfc: Refactor lpfc_nvmet_prep_abort_wqe() into + lpfc_sli_prep_abort_xri() + - scsi: lpfc: Update lpfc version to 14.2.0.5 + - scsi: lpfc: Copyright updates for 14.2.0.5 patches + * input/keyboard: the keyboard on some Asus laptops can't work (LP: #1992266) + - ACPI: resource: Skip IRQ override on Asus Vivobook K3402ZA/K3502ZA + - ACPI: resource: Add ASUS model S5402ZA to quirks + * pcieport 0000:00:1b.0: PCIe Bus Error: severity=Uncorrected (Non-Fatal), + type=Transaction Layer, (Requester ID) (LP: #1988797) + - PCI/PTM: Cache PTM Capability offset + - PCI/PTM: Add pci_upstream_ptm() helper + - PCI/PTM: Separate configuration and enable + - PCI/PTM: Add pci_suspend_ptm() and pci_resume_ptm() + - PCI/PTM: Move pci_ptm_info() body into its only caller + - PCI/PTM: Preserve RsvdP bits in PTM Control register + - PCI/PTM: Reorder functions in logical order + - PCI/PTM: Consolidate PTM interface declarations + - PCI/PM: Always disable PTM for all devices during suspend + - PCI/PM: Simplify pci_pm_suspend_noirq() + + -- Khalid Elmously Wed, 04 Jan 2023 22:10:39 -0500 + +linux-gcp (5.19.0-1013.14) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1013.14 -proposed tracker (LP: #1997423) + + [ Ubuntu: 5.19.0-26.27 ] + + * kinetic/linux: 5.19.0-26.27 -proposed tracker (LP: #1997434) + * CVE-2022-3566 + - tcp: Fix data races around icsk->icsk_af_ops. + * CVE-2022-3567 + - ipv6: Fix data races around sk->sk_prot. + * CVE-2022-3621 + - nilfs2: fix NULL pointer dereference at nilfs_bmap_lookup_at_level() + * CVE-2022-3565 + - mISDN: fix use-after-free bugs in l1oip timer handlers + * CVE-2022-3594 + - r8152: Rate limit overflow messages + * CVE-2022-3564 + - Bluetooth: L2CAP: Fix use-after-free caused by l2cap_reassemble_sdu + * CVE-2022-3524 + - tcp/udp: Fix memory leak in ipv6_renew_options(). + * CVE-2022-43945 + - SUNRPC: Fix svcxdr_init_decode's end-of-buffer calculation + - SUNRPC: Fix svcxdr_init_encode's buflen calculation + - NFSD: Protect against send buffer overflow in NFSv2 READDIR + - NFSD: Protect against send buffer overflow in NFSv3 READDIR + - NFSD: Protect against send buffer overflow in NFSv2 READ + - NFSD: Protect against send buffer overflow in NFSv3 READ + - NFSD: Remove "inline" directives on op_rsize_bop helpers + - NFSD: Cap rsize_bop result based on send buffer size + + -- Thadeu Lima de Souza Cascardo Thu, 24 Nov 2022 06:18:12 -0300 + +linux-gcp (5.19.0-1010.11) kinetic; urgency=medium + + [ Ubuntu: 5.19.0-23.24 ] + + * CVE-2022-2602 + - SAUCE: io_uring/af_unix: defer registered files gc to io_uring release + - SAUCE: io_uring/af_unix: fix memleak during unix GC + * CVE-2022-41674 + - SAUCE: wifi: cfg80211: fix u8 overflow in + cfg80211_update_notlisted_nontrans() + - SAUCE: wifi: cfg80211/mac80211: reject bad MBSSID elements + - SAUCE: wifi: cfg80211: ensure length byte is present before access + - SAUCE: wifi: mac80211_hwsim: avoid mac80211 warning on bad rate + - SAUCE: wifi: cfg80211: update hidden BSSes to avoid WARN_ON + * CVE-2022-42722 + - SAUCE: wifi: mac80211: fix crash in beacon protection for P2P-device + * CVE-2022-42721 + - SAUCE: wifi: cfg80211: avoid nontransmitted BSS list corruption + * CVE-2022-42720 + - SAUCE: wifi: cfg80211: fix BSS refcounting bugs + * CVE-2022-42719 + - SAUCE: wifi: mac80211: fix MBSSID parsing use-after-free + + -- Thadeu Lima de Souza Cascardo Sat, 15 Oct 2022 08:43:32 -0300 + +linux-gcp (5.19.0-1008.8) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1008.8 -proposed tracker (LP: #1992745) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs following Ubuntu-5.19.0-21.21 rebase + + -- Paolo Pisati Thu, 13 Oct 2022 12:09:39 +0200 + +linux-gcp (5.19.0-1007.7) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1007.7 -proposed tracker (LP: #1991266) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs following Ubuntu-5.19.0-19.19 rebase + + -- Paolo Pisati Mon, 03 Oct 2022 10:41:13 +0200 + +linux-gcp (5.19.0-1006.6) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1006.6 -proposed tracker (LP: #1990498) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + - [Packaging] resync getabis + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs following Ubuntu-5.19.0-18.18 rebase + + -- Paolo Pisati Thu, 22 Sep 2022 19:19:29 +0200 + +linux-gcp (5.19.0-1005.5) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1005.5 -proposed tracker (LP: #1988718) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs following Ubuntu-5.19.0-16.16 rebase + + -- Paolo Pisati Tue, 06 Sep 2022 16:03:19 +0200 + +linux-gcp (5.19.0-1004.4) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1004.4 -proposed tracker (LP: #1983444) + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs following Ubuntu-5.19.0-15.15 rebase + + -- Paolo Pisati Wed, 03 Aug 2022 15:23:43 +0200 + +linux-gcp (5.19.0-1003.3) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1003.3 -proposed tracker (LP: #1983079) + + -- Paolo Pisati Fri, 29 Jul 2022 10:54:37 +0200 + +linux-gcp (5.19.0-1002.2) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1002.2 -proposed tracker (LP: #1982806) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs following Ubuntu-5.19.0-12.12 rebase + + [ Ubuntu: 5.19.0-12.12 ] + + * kinetic/linux: 5.19.0-12.12 -proposed tracker (LP: #1982741) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * Miscellaneous Ubuntu changes + - [Packaging]: always use fully qualified -gcc-VER toolchain + + [ Ubuntu: 5.19.0-11.11 ] + + * kinetic/linux: 5.19.0-11.11 -proposed tracker (LP: #1982726) + * Packaging resync (LP: #1786013) + - [Packaging] update variants + - debian/dkms-versions -- update from kernel-versions (main/master) + * GPIO character device v1 API not enabled in kernel (LP: #1953613) + - [Config] Enable CONFIG_GPIO_CDEV_V1 + * Use kernel-testing repo from launchpad for ADT tests (LP: #1968016) + - [Debian] Use kernel-testing repo from launchpad + * Support AMD P-State cpufreq control mechanism (LP: #1956509) + - [Config] enable X86_AMD_PSTATE as built-in on amd64 + * PCIE LnkCtl ASPM not enabled under VMD mode for Alder Lake platforms + (LP: #1942160) + - SAUCE: PCI/ASPM: Enable ASPM for links under VMD domain + - SAUCE: PCI/ASPM: Enable LTR for endpoints behind VMD + - SAUCE: vmd: fixup bridge ASPM by driver name instead + * Miscellaneous Ubuntu changes + - [Packaging] Double the speed of updateconfigs + - Remove ubuntu/hio driver + - [Config] update config after rebase to 5.19-rc8 + * Rebase to v5.19-rc8 + + [ Ubuntu: 5.19.0-10.10 ] + + * kinetic/linux: 5.19.0-10.10 -proposed tracker (LP: #1982013) + * enable config for fixing 5.17 kernel won't load mok (LP: #1972802) + - [Config] enable configs for fixing kernel won't load mok + * RISC-V kernel config is out of sync with other archs (LP: #1981437) + - [Config] Disable CONFIG_CXL_MEM_RAW_COMMANDS on riscv64 + - [Config] Disable CONFIG_EROFS_FS_ZIP_LZMA on riscv64 + - [Config] Disable CONFIG_FONT_6x8 on riscv64 + - [Config] Disable CONFIG_NTFS3_64BIT_CLUSTER on riscv64 + - [Config] Disable CONFIG_SCSI_IZIP_EPP16 on riscv64 + - [Config] Disable CONFIG_SCSI_UFS_HWMON on riscv64 + - [Config] Disable CONFIG_SPI_AX88796C_COMPRESSION on riscv64 + - [Config] Disable CONFIG_VIDEO_ZORAN on riscv64 + - [Config] Enable CONFIG_BPF_KPROBE_OVERRIDE on riscv64 + - [Config] Enable CONFIG_CACHEFILES_ERROR_INJECTION on riscv64 + - [Config] Enable CONFIG_DRM_AMD_DC_SI on riscv64 + - [Config] Enable CONFIG_NUMA_BALANCING on riscv64 + - [Config] Enable CONFIG_PROC_VMCORE_DEVICE_DUMP on riscv64 + - [Config] Enable CONFIG_WLAN_VENDOR_MICROCHIP on riscv64 + - [Config] Set CONFIG_MHI_WWAN_CTRL=m on riscv64 + - [Config] Set CONFIG_NFC_S3FWRN82_UART=m on riscv64 + - [Config] Enable CONFIG_EFIVAR_FS on riscv64 + - [Config] Enable CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES on riscv64 + - [Config] Enable CONFIG_STRICT_DEVMEM on riscv64 + - [Config] Enable CONFIG_VMAP_STACK on riscv64 + - [Config] Enable CONFIG_KEXEC_FILE on riscv64 + - [Config] Set CONFIG_MTD_PSTORE=m on riscv64 + - [Config] Set CONFIG_KFENCE_SAMPLE_INTERVAL=0 on riscv64 + - [Config] Enable CONFIG_KEXEC_FILE on s390x + * Ubuntu 22.04 and 20.04 DPC Fixes for Failure Cases of DownPort Containment + events (LP: #1965241) + - Enable config option CONFIG_PCIE_EDR + - Correct CONFIG_PCIE_EDR annotation on arm64 + * config CONFIG_HISI_PMU for kunpeng920 (LP: #1956086) + - [Config] CONFIG_HISI_PMU=m + * Skip setting ethernet LED on Dell EMC board (LP: #1971667) + - SAUCE: net: phy: marvell: Skip setting LED on Dell EMC board + * Miscellaneous Ubuntu changes + - [Packaging] ignore warnings from the output of ld.bfd + - [Packaging] Fix bashism in dkms-build script + - [Packaging] Always catch errors in dkms-build scripts + - [Packaging] Fix dkms builds with linker @module.mod files + - [Packaging] mark dkms-build-configure--zfs executable + - [Config] update configs and annotations after rebase to 5.19-rc7 + * Rebase to v5.19-rc7 + + [ Ubuntu: 5.19.0-9.9 ] + + * kinetic/linux: 5.19.0-9.9 -proposed tracker (LP: #1980622) + * Miscellaneous Ubuntu changes + - [Config] update config after rebase to 5.19-rc5 + * Rebase to v5.19-rc5 + + [ Ubuntu: 5.19.0-8.8 ] + + * kinetic/linux: 5.19.0-8.8 -proposed tracker (LP: #1980482) + * temporarily disable CONFIG_X86_KERNEL_IBT (LP: #1980484) + - [Config] temporarily disable CONFIG_X86_KERNEL_IBT + + [ Ubuntu: 5.19.0-7.7 ] + + * kinetic/linux: 5.19.0-7.7 -proposed tracker (LP: #1980056) + * Packaging resync (LP: #1786013) + - [Packaging] update variants + * RISC-V enables CONFIG_COMPAT in the unstable branch (LP: #1980061) + - [Config] Disable CONFIG_COMPAT on RISC-V + * No RISC-V configuration in the unstable tree (LP: #1979647) + - [Config] Merge riscv64 config and annotations + + [ Ubuntu: 5.19.0-6.6 ] + + * Empty entry + + [ Ubuntu: 5.19.0-6.6 ] + + * kinetic/linux-unstable: 5.19.0-6.6 -proposed tracker (LP: #1979948) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * Miscellaneous Ubuntu changes + - [Packaging] Remove 'family=ubuntu' concept + - [Packaging] final-checks: Remove useless sourcing of kernelconfig + - [Config] update config after rebase to 5.19-rc4 + * Rebase to v5.19-rc4 + + [ Ubuntu: 5.19.0-5.5 ] + + * kinetic/linux-unstable: 5.19.0-5.5 -proposed tracker (LP: #1979611) + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] temporarily disable signing for ppc64el and + s390x" + + [ Ubuntu: 5.19.0-4.4 ] + + * kinetic/linux-unstable: 5.19.0-4.4 -proposed tracker (LP: #1979177) + * Miscellaneous Ubuntu changes + - [Config] update configs after rebase to 5.19-rc3 + * Rebase to v5.19-rc3 + + [ Ubuntu: 5.19.0-3.3 ] + + * kinetic/linux-unstable: 5.19.0-3.3 -proposed tracker (LP: #1978439) + * Miscellaneous Ubuntu changes + - [Config] update annotations for 5.19 + * Rebase to v5.19-rc2 + + [ Ubuntu: 5.19.0-2.2 ] + + * kinetic/linux-unstable: 5.19.0-2.2 -proposed tracker (LP: #1978313) + + [ Ubuntu: 5.19.0-1.1 ] + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * linux: Staging modules should be unsigned (LP: #1642368) + - [Packaging] Move and update signature inclusion list + - [Packaging] Strip signatures from untrusted staging modules + - [Packaging] Add module-signature-check + * Miscellaneous Ubuntu changes + - [Config] update configs and annotations after rebase to 5.19-rc1 + - [Packaging] move to kernel 5.19 + - [Packaging] workaround missing python3-dev dependency + - SAUCE: Revert "perf tools: Use Python devtools for version autodetection + rather than runtime" + - SAUCE: watchdog: gxp: Add missing MODULE_LICENSE + - [Packaging] add python3-dev as build dependency + + [ Ubuntu: 5.19.0-0.0 ] + + * Empty entry + + [ Ubuntu: 5.18.0-6.6 ] + + * kinetic/linux: 5.18.0-6.6 -proposed tracker (LP: #1976327) + * Miscellaneous Ubuntu changes + - [Packaging] temporarily disable signing for ppc64el and s390x + - [Config] update toolchain versions + - [Config] enable CONFIG_X86_KERNEL_IBT + + [ Ubuntu: 5.18.0-5.5 ] + + * Empty entry + + [ Ubuntu: 5.18.0-5.5 ] + + * kinetic/linux-unstable: 5.18.0-5.5 -proposed tracker (LP: #1975458) + * enable CONFIG_DEVTMPFS_SAFE (LP: #1974442) + - [Config] enable CONFIG_DEVTMPFS_SAFE + * build backport-iwlwifi-dkms as linux-modules-iwlwifi-ABI (LP: #1969434) + - [Packaging] drop do_ arch specific configs + * prevent kernel panic with overlayfs + shiftfs (LP: #1973620) + - SAUCE: overlayfs: prevent dereferencing struct file in ovl_vm_prfile_set() + * linux-image-5.0.0-35-generic breaks checkpointing of container + (LP: #1857257) // re-apply missing overlayfs SAUCE patch (LP: #1967924) + - SAUCE: overlayfs: fix incorrect mnt_id of files opened from map_files + * Rebase to v5.18 + + [ Ubuntu: 5.18.0-4.4 ] + + * kinetic/linux-unstable: 5.18.0-4.4 -proposed tracker (LP: #1973587) + * build backport-iwlwifi-dkms as linux-modules-iwlwifi-ABI (LP: #1969434) + - [Packaging] support standalone dkms module builds + * Enable speakup kernel modules to allow the speakup screen reader to function + (LP: #1967702) + - [Config] CONFIG_SPEAKUP=m for all but s390x + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] temporarily disable v4l2loopback" + - Revert "UBUNTU: [Packaging] temporarily disable zfs" + * Rebase to v5.18-rc7 + + [ Ubuntu: 5.18.0-3.3 ] + + * kinetic/linux-unstable: 5.18.0-3.3 -proposed tracker (LP: #1972162) + * disable Intel DMA remapping by default (LP: #1971699) + - Revert "UBUNTU: [Config] enable Intel DMA remapping options by default" + * Rebase to v5.18-rc6 + + [ Ubuntu: 5.18.0-2.2 ] + + * kinetic/linux-unstable: 5.18.0-2.2 -proposed tracker (LP: #1971340) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * Miscellaneous Ubuntu changes + - [Config] update configs after rebase + * Rebase to v5.18-rc5 + + [ Ubuntu: 5.18.0-1.1 ] + + * Empty entry + + [ Ubuntu: 5.18.0-1.1 ] + + * kinetic/linux-unstable: 5.18.0-1.1 -proposed tracker (LP: #1969476) + * Miscellaneous Ubuntu changes + - [Config] update configs and annotations after rebase to 5.18 + - [Packaging] temporarily disable zfs + - [Packaging] temporarily disable v4l2loopback + * Rebase to v5.18-rc3 + + [ Ubuntu: 5.18.0-0.0 ] + + * Empty entry + + [ Ubuntu: 5.17.0-8.8 ] + + * jammy/linux-unstable: 5.17.0-8.8 -proposed tracker (LP: #1969016) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + [ Ubuntu: 5.17.0-7.7 ] + + * jammy/linux-unstable: 5.17.0-7.7 -proposed tracker (LP: #1968988) + * zfcpdump-kernel update to v5.15 (LP: #1965766) + - SAUCE: Audit: Fix incorrect static inline function declration. + * intel_iommu breaks Intel IPU6 camera: isys port open ready failed -16 + (LP: #1958004) + - SAUCE: iommu: intel-ipu: use IOMMU passthrough mode for Intel IPUs + * Jammy update: v5.17.3 upstream stable release (LP: #1968986) + - lib/logic_iomem: correct fallback config references + - um: fix and optimize xor select template for CONFIG64 and timetravel mode + - rtc: wm8350: Handle error for wm8350_register_irq + - net: dsa: felix: fix possible NULL pointer dereference + - mm: kfence: fix objcgs vector allocation + - KVM: x86/pmu: Use different raw event masks for AMD and Intel + - KVM: SVM: Fix kvm_cache_regs.h inclusions for is_guest_mode() + - KVM: x86/svm: Clear reserved bits written to PerfEvtSeln MSRs + - KVM: x86/pmu: Fix and isolate TSX-specific performance event logic + - KVM: x86/emulator: Emulate RDPID only if it is enabled in guest + - drm: Add orientation quirk for GPD Win Max + - Bluetooth: hci_sync: Fix compilation warning + - ath5k: fix OOB in ath5k_eeprom_read_pcal_info_5111 + - Bluetooth: fix null ptr deref on hci_sync_conn_complete_evt + - drm/amd/display: Add signal type check when verify stream backends same + - drm/amdkfd: enable heavy-weight TLB flush on Arcturus + - drm/edid: remove non_desktop quirk for HPN-3515 and LEN-B800. + - drm/edid: improve non-desktop quirk logging + - Bluetooth: hci_event: Ignore multiple conn complete events + - drm/amd/amdgpu/amdgpu_cs: fix refcount leak of a dma_fence obj + - drm/amd/display: Fix memory leak + - drm/amd/display: Use PSR version selected during set_psr_caps + - usb: gadget: tegra-xudc: Do not program SPARAM + - usb: gadget: tegra-xudc: Fix control endpoint's definitions + - usb: cdnsp: fix cdnsp_decode_trb function to properly handle ret value + - ptp: replace snprintf with sysfs_emit + - Bluetooth: hci_sync: Fix queuing commands when HCI_UNREGISTER is set + - selftests, xsk: Fix bpf_res cleanup test + - net/mlx5e: TC, Hold sample_attr on stack instead of pointer + - drm/amdkfd: Don't take process mutex for svm ioctls + - drm/amdkfd: Ensure mm remain valid in svm deferred_list work + - drm/amdkfd: svm range restore work deadlock when process exit + - drm/amdgpu: Fix an error message in rmmod + - mlxsw: spectrum: Guard against invalid local ports + - RDMA/rtrs-clt: Do stop and failover outside reconnect work. + - powerpc/xive: Export XIVE IPI information for online-only processors. + - powerpc: dts: t104xrdb: fix phy type for FMAN 4/5 + - ath11k: fix kernel panic during unload/load ath11k modules + - ath11k: pci: fix crash on suspend if board file is not found + - ath11k: mhi: use mhi_sync_power_up() + - net/smc: Send directly when TCP_CORK is cleared + - drm/bridge: Add missing pm_runtime_put_sync + - bpf: Make dst_port field in struct bpf_sock 16-bit wide + - scsi: mvsas: Replace snprintf() with sysfs_emit() + - scsi: bfa: Replace snprintf() with sysfs_emit() + - drm/v3d: fix missing unlock + - power: supply: axp20x_battery: properly report current when discharging + - mt76: mt7921: fix crash when startup fails. + - mt76: dma: initialize skip_unmap in mt76_dma_rx_fill + - i40e: Add sending commands in atomic context + - cfg80211: don't add non transmitted BSS to 6GHz scanned channels + - libbpf: Fix build issue with llvm-readelf + - ipv6: make mc_forwarding atomic + - ref_tracker: implement use-after-free detection + - net: initialize init_net earlier + - powerpc: Set crashkernel offset to mid of RMA region + - drm/amdgpu: Fix recursive locking warning + - scsi: smartpqi: Fix rmmod stack trace + - scsi: smartpqi: Fix kdump issue when controller is locked up + - PCI: aardvark: Fix support for MSI interrupts + - kvm: selftests: aarch64: fix assert in gicv3_access_reg + - kvm: selftests: aarch64: pass vgic_irq guest args as a pointer + - kvm: selftests: aarch64: fix the failure check in + kvm_set_gsi_routing_irqchip_check + - kvm: selftests: aarch64: fix some vgic related comments + - kvm: selftests: aarch64: use a tighter assert in vgic_poke_irq() + - iommu/arm-smmu-v3: fix event handling soft lockup + - usb: ehci: add pci device support for Aspeed platforms + - KVM: arm64: Do not change the PMU event filter after a VCPU has run + - libbpf: Fix accessing syscall arguments on powerpc + - libbpf: Fix accessing the first syscall argument on arm64 + - libbpf: Fix accessing the first syscall argument on s390 + - PCI: endpoint: Fix alignment fault error in copy tests + - tcp: Don't acquire inet_listen_hashbucket::lock with disabled BH. + - PCI: pciehp: Add Qualcomm quirk for Command Completed erratum + - scsi: mpi3mr: Fix deadlock while canceling the fw event + - scsi: mpi3mr: Fix reporting of actual data transfer size + - scsi: mpi3mr: Fix memory leaks + - powerpc/set_memory: Avoid spinlock recursion in change_page_attr() + - power: supply: axp288-charger: Set Vhold to 4.4V + - drm/sprd: fix potential NULL dereference + - drm/sprd: check the platform_get_resource() return value + - drm/amd/display: reset lane settings after each PHY repeater LT + - net/mlx5e: Disable TX queues before registering the netdev + - HID: apple: Report Magic Keyboard 2021 battery over USB + - HID: apple: Report Magic Keyboard 2021 with fingerprint reader battery over + USB + - usb: dwc3: pci: Set the swnode from inside dwc3_pci_quirks() + - iwlwifi: mvm: Correctly set fragmented EBS + - iwlwifi: fix small doc mistake for iwl_fw_ini_addr_val + - iwlwifi: mvm: move only to an enabled channel + - ipv6: annotate some data-races around sk->sk_prot + - drm/msm/dsi: Remove spurious IRQF_ONESHOT flag + - x86/mce: Work around an erratum on fast string copy instructions + - rtw89: fix RCU usage in rtw89_core_txq_push() + - ath11k: Fix frames flush failure caused by deadlock + - ipv4: Invalidate neighbour for broadcast address upon address addition + - rtw88: change rtw_info() to proper message level + - dm ioctl: prevent potential spectre v1 gadget + - dm: requeue IO if mapping table not yet available + - drm/amdkfd: make CRAT table missing message informational only + - vfio/pci: Stub vfio_pci_vga_rw when !CONFIG_VFIO_PCI_VGA + - scsi: pm8001: Fix pm80xx_pci_mem_copy() interface + - scsi: pm8001: Fix pm8001_mpi_task_abort_resp() + - scsi: pm8001: Fix tag values handling + - scsi: pm8001: Fix task leak in pm8001_send_abort_all() + - scsi: pm8001: Fix tag leaks on error + - scsi: pm8001: Fix memory leak in pm8001_chip_fw_flash_update_req() + - mt76: mt7915: fix injected MPDU transmission to not use HW A-MSDU + - mctp: make __mctp_dev_get() take a refcount hold + - powerpc/64s/hash: Make hash faults work in NMI context + - mt76: mt7615: Fix assigning negative values to unsigned variable + - power: supply: axp288_charger: Use acpi_quirk_skip_acpi_ac_and_battery() + - power: supply: axp288_fuel_gauge: Use acpi_quirk_skip_acpi_ac_and_battery() + - scsi: aha152x: Fix aha152x_setup() __setup handler return value + - scsi: hisi_sas: Free irq vectors in order for v3 HW + - scsi: hisi_sas: Limit users changing debugfs BIST count value + - net/smc: correct settings of RMB window update limit + - mips: ralink: fix a refcount leak in ill_acc_of_setup() + - iavf: stop leaking iavf_status as "errno" values + - macvtap: advertise link netns via netlink + - platform/x86: thinkpad_acpi: Add dual fan probe + - tuntap: add sanity checks about msg_controllen in sendmsg + - Bluetooth: mediatek: fix the conflict between mtk and msft vendor event + - Bluetooth: Fix not checking for valid hdev on bt_dev_{info,warn,err,dbg} + - Bluetooth: use memset avoid memory leaks + - bnxt_en: Eliminate unintended link toggle during FW reset + - PCI: endpoint: Fix misused goto label + - MIPS: fix fortify panic when copying asm exception handlers + - powerpc/code-patching: Pre-map patch area + - powerpc/64e: Tie PPC_BOOK3E_64 to PPC_FSL_BOOK3E + - powerpc/secvar: fix refcount leak in format_show() + - scsi: libfc: Fix use after free in fc_exch_abts_resp() + - platform/x86: x86-android-tablets: Depend on EFI and SPI + - can: isotp: set default value for N_As to 50 micro seconds + - can: etas_es58x: es58x_fd_rx_event_msg(): initialize rx_event_msg before + calling es58x_check_msg_len() + - riscv: Fixed misaligned memory access. Fixed pointer comparison. + - net: account alternate interface name memory + - net: limit altnames to 64k total + - net/mlx5e: Remove overzealous validations in netlink EEPROM query + - platform/x86: hp-wmi: Fix SW_TABLET_MODE detection method + - platform/x86: hp-wmi: Fix 0x05 error code reported by several WMI calls + - net: sfp: add 2500base-X quirk for Lantech SFP module + - usb: dwc3: omap: fix "unbalanced disables for smps10_out1" on omap5evm + - xen/usb: harden xen_hcd against malicious backends + - mt76: fix monitor mode crash with sdio driver + - xtensa: fix DTC warning unit_address_format + - iwlwifi: mei: fix building iwlmei + - MIPS: ingenic: correct unit node address + - Bluetooth: Fix use after free in hci_send_acl + - netfilter: conntrack: revisit gc autotuning + - netlabel: fix out-of-bounds memory accesses + - ceph: fix inode reference leakage in ceph_get_snapdir() + - ceph: fix memory leak in ceph_readdir when note_last_dentry returns error + - lib/Kconfig.debug: add ARCH dependency for FUNCTION_ALIGN option + - init/main.c: return 1 from handled __setup() functions + - minix: fix bug when opening a file with O_DIRECT + - clk: si5341: fix reported clk_rate when output divider is 2 + - clk: mediatek: Fix memory leaks on probe + - staging: vchiq_arm: Avoid NULL ptr deref in vchiq_dump_platform_instances + - staging: vchiq_core: handle NULL result of find_service_by_handle + - phy: amlogic: phy-meson-gxl-usb2: fix shared reset controller use + - phy: amlogic: meson8b-usb2: Use dev_err_probe() + - phy: amlogic: meson8b-usb2: fix shared reset control use + - clk: rockchip: drop CLK_SET_RATE_PARENT from dclk_vop* on rk3568 + - cpufreq: CPPC: Fix performance/frequency conversion + - opp: Expose of-node's name in debugfs + - staging: wfx: apply the necessary SDIO quirks for the Silabs WF200 + - staging: wfx: fix an error handling in wfx_init_common() + - w1: w1_therm: fixes w1_seq for ds28ea00 sensors + - NFSv4.2: fix reference count leaks in _nfs42_proc_copy_notify() + - NFSv4: Protect the state recovery thread against direct reclaim + - habanalabs: fix possible memory leak in MMU DR fini + - habanalabs: reject host map with mmu disabled + - habanalabs/gaudi: handle axi errors from NIC engines + - xen: delay xen_hvm_init_time_ops() if kdump is boot on vcpu>=32 + - clk: ti: Preserve node in ti_dt_clocks_register() + - clk: Enforce that disjoints limits are invalid + - SUNRPC/xprt: async tasks mustn't block waiting for memory + - SUNRPC: remove scheduling boost for "SWAPPER" tasks. + - NFS: swap IO handling is slightly different for O_DIRECT IO + - NFS: swap-out must always use STABLE writes. + - x86: Annotate call_on_stack() + - x86/Kconfig: Do not allow CONFIG_X86_X32_ABI=y with llvm-objcopy + - serial: samsung_tty: do not unlock port->lock for uart_write_wakeup() + - virtio_console: eliminate anonymous module_init & module_exit + - jfs: prevent NULL deref in diFree + - SUNRPC: Fix socket waits for write buffer space + - NFS: nfsiod should not block forever in mempool_alloc() + - NFS: Avoid writeback threads getting stuck in mempool_alloc() + - selftests: net: Add tls config dependency for tls selftests + - parisc: Fix CPU affinity for Lasi, WAX and Dino chips + - parisc: Fix patch code locking and flushing + - mm: fix race between MADV_FREE reclaim and blkdev direct IO read + - drm/amdgpu: fix off by one in amdgpu_gfx_kiq_acquire() + - Drivers: hv: vmbus: Fix initialization of device object in + vmbus_device_register() + - Drivers: hv: vmbus: Fix potential crash on module unload + - netfilter: bitwise: fix reduce comparisons + - Revert "NFSv4: Handle the special Linux file open access mode" + - NFSv4: fix open failure with O_ACCMODE flag + - scsi: core: scsi_logging: Fix a BUG + - scsi: sr: Fix typo in CDROM(CLOSETRAY|EJECT) handling + - scsi: core: Fix sbitmap depth in scsi_realloc_sdev_budget_map() + - scsi: zorro7xx: Fix a resource leak in zorro7xx_remove_one() + - vdpa: mlx5: prevent cvq work from hogging CPU + - net: sfc: add missing xdp queue reinitialization + - net/tls: fix slab-out-of-bounds bug in decrypt_internal + - vrf: fix packet sniffing for traffic originating from ip tunnels + - skbuff: fix coalescing for page_pool fragment recycling + - Revert "net: dsa: stop updating master MTU from master.c" + - ice: Clear default forwarding VSI during VSI release + - ice: Fix MAC address setting + - mctp: Fix check for dev_hard_header() result + - mctp: Use output netdev to allocate skb headroom + - net: ipv4: fix route with nexthop object delete warning + - net: stmmac: Fix unset max_speed difference between DT and non-DT platforms + - drm/imx: imx-ldb: Check for null pointer after calling kmemdup + - drm/imx: Fix memory leak in imx_pd_connector_get_modes + - drm/imx: dw_hdmi-imx: Fix bailout in error cases of probe + - regulator: rtq2134: Fix missing active_discharge_on setting + - spi: rpc-if: Fix RPM imbalance in probe error path + - regulator: atc260x: Fix missing active_discharge_on setting + - arch/arm64: Fix topology initialization for core scheduling + - bnxt_en: Synchronize tx when xdp redirects happen on same ring + - bnxt_en: reserve space inside receive page for skb_shared_info + - bnxt_en: Prevent XDP redirect from running when stopping TX queue + - sfc: Do not free an empty page_ring + - RDMA/mlx5: Don't remove cache MRs when a delay is needed + - RDMA/mlx5: Add a missing update of cache->last_add + - IB/cm: Cancel mad on the DREQ event when the state is MRA_REP_RCVD + - cifs: fix potential race with cifsd thread + - IB/rdmavt: add lock to call to rvt_error_qp to prevent a race condition + - sctp: count singleton chunks in assoc user stats + - dpaa2-ptp: Fix refcount leak in dpaa2_ptp_probe + - ice: Set txq_teid to ICE_INVAL_TEID on ring creation + - ice: Do not skip not enabled queues in ice_vc_dis_qs_msg + - ipv6: Fix stats accounting in ip6_pkt_drop + - ice: synchronize_rcu() when terminating rings + - ice: xsk: fix VSI state check in ice_xsk_wakeup() + - ice: clear cmd_type_offset_bsz for TX rings + - net: openvswitch: don't send internal clone attribute to the userspace. + - net: ethernet: mv643xx: Fix over zealous checking of_get_mac_address() + - net: openvswitch: fix leak of nested actions + - rxrpc: fix a race in rxrpc_exit_net() + - net: sfc: fix using uninitialized xdp tx_queue + - net: phy: mscc-miim: reject clause 45 register accesses + - qede: confirm skb is allocated before using + - spi: bcm-qspi: fix MSPI only access with bcm_qspi_exec_mem_op() + - drm/amd/display: Fix for dmub outbox notification enable + - drm/amd/display: Remove redundant dsc power gating from init_hw + - bpf: Support dual-stack sockets in bpf_tcp_check_syncookie + - drbd: Fix five use after free bugs in get_initial_state + - scsi: sd: sd_read_cpr() requires VPD pages + - scsi: ufs: ufshpb: Fix a NULL check on list iterator + - io_uring: nospec index for tags on files update + - io_uring: don't touch scm_fp_list after queueing skb + - SUNRPC: Handle ENOMEM in call_transmit_status() + - SUNRPC: Handle low memory situations in call_status() + - SUNRPC: svc_tcp_sendmsg() should handle errors from xdr_alloc_bvec() + - iommu/omap: Fix regression in probe for NULL pointer dereference + - perf unwind: Don't show unwind error messages when augmenting frame pointer + stack + - perf: arm-spe: Fix perf report --mem-mode + - perf tools: Fix perf's libperf_print callback + - perf session: Remap buf if there is no space for event + - arm64: Add part number for Arm Cortex-A78AE + - scsi: mpt3sas: Fix use after free in _scsih_expander_node_remove() + - scsi: ufs: ufs-pci: Add support for Intel MTL + - Revert "mmc: sdhci-xenon: fix annoying 1.8V regulator warning" + - mmc: block: Check for errors after write on SPI + - mmc: mmci: stm32: correctly check all elements of sg list + - mmc: renesas_sdhi: special 4tap settings only apply to HS400 + - mmc: renesas_sdhi: don't overwrite TAP settings when HS400 tuning is + complete + - mmc: core: Fixup support for writeback-cache for eMMC and SD + - lz4: fix LZ4_decompress_safe_partial read out of bound + - highmem: fix checks in __kmap_local_sched_{in,out} + - mmmremap.c: avoid pointless invalidate_range_start/end on mremap(old_size=0) + - mm/mempolicy: fix mpol_new leak in shared_policy_replace + - io_uring: don't check req->file in io_fsync_prep() + - io_uring: defer splice/tee file validity check until command issue + - io_uring: implement compat handling for IORING_REGISTER_IOWQ_AFF + - io_uring: fix race between timeout flush and removal + - x86/pm: Save the MSR validity status at context setup + - x86/speculation: Restore speculation related MSRs during S3 resume + - perf/x86/intel: Update the FRONTEND MSR mask on Sapphire Rapids + - btrfs: fix qgroup reserve overflow the qgroup limit + - btrfs: zoned: traverse devices under chunk_mutex in btrfs_can_activate_zone + - btrfs: remove device item and update super block in the same transaction + - btrfs: avoid defragging extents whose next extents are not targets + - btrfs: prevent subvol with swapfile from being deleted + - spi: core: add dma_map_dev for __spi_unmap_msg() + - cifs: force new session setup and tcon for dfs + - qed: fix ethtool register dump + - arm64: patch_text: Fixup last cpu should be master + - RDMA/hfi1: Fix use-after-free bug for mm struct + - drbd: fix an invalid memory access caused by incorrect use of list iterator + - gpio: Restrict usage of GPIO chip irq members before initialization + - x86/msi: Fix msi message data shadow struct + - x86/mm/tlb: Revert retpoline avoidance approach + - perf/x86/intel: Don't extend the pseudo-encoding to GP counters + - ata: sata_dwc_460ex: Fix crash due to OOB write + - perf: qcom_l2_pmu: fix an incorrect NULL check on list iterator + - perf/core: Inherit event_caps + - irqchip/gic-v3: Fix GICR_CTLR.RWP polling + - fbdev: Fix unregistering of framebuffers without device + - amd/display: set backlight only if required + - drm/panel: ili9341: fix optional regulator handling + - drm/amd/display: Fix by adding FPU protection for dcn30_internal_validate_bw + - drm/amdgpu/display: change pipe policy for DCN 2.1 + - drm/amdgpu/smu10: fix SoC/fclk units in auto mode + - drm/amdgpu/vcn: Fix the register setting for vcn1 + - drm/nouveau/pmu: Add missing callbacks for Tegra devices + - drm/amdkfd: Create file descriptor after client is added to smi_clients list + - drm/amdgpu: don't use BACO for reset in S3 + - SUNRPC: Ensure we flush any closed sockets before xs_xprt_free() + - Revert "ACPI: processor: idle: Only flush cache on entering C3" + - drm/amdkfd: Fix variable set but not used warning + - net/smc: send directly on setting TCP_NODELAY + - Revert "selftests: net: Add tls config dependency for tls selftests" + - bpf: Make remote_port field in struct bpf_sk_lookup 16-bit wide + - selftests/bpf: Fix u8 narrow load checks for bpf_sk_lookup remote_port + - bpf: Treat bpf_sk_lookup remote_port as a 2-byte field + - perf build: Don't use -ffat-lto-objects in the python feature test when + building with clang-13 + - perf python: Fix probing for some clang command line options + - tools build: Filter out options and warnings not supported by clang + - tools build: Use $(shell ) instead of `` to get embedded libperl's ccopts + - dmaengine: Revert "dmaengine: shdma: Fix runtime PM imbalance on error" + - KVM: avoid NULL pointer dereference in kvm_dirty_ring_push + - Drivers: hv: vmbus: Replace smp_store_mb() with virt_store_mb() + - powerpc: Fix virt_addr_valid() for 64-bit Book3E & 32-bit + - Revert "powerpc: Set max_mapnr correctly" + - x86/bug: Prevent shadowing in __WARN_FLAGS + - objtool: Fix SLS validation for kcov tail-call replacement + - sched/core: Fix forceidle balancing + - sched: Teach the forced-newidle balancer about CPU affinity limitation. + - x86,static_call: Fix __static_call_return0 for i386 + - x86/extable: Prefer local labels in .set directives + - irqchip/gic-v4: Wait for GICR_VPENDBASER.Dirty to clear before descheduling + - powerpc/64: Fix build failure with allyesconfig in book3s_64_entry.S + - irqchip/gic, gic-v3: Prevent GSI to SGI translations + - mm/sparsemem: fix 'mem_section' will never be NULL gcc 12 warning + - static_call: Don't make __static_call_return0 static + - io_uring: move read/write file prep state into actual opcode handler + - io_uring: propagate issue_flags state down to file assignment + - io_uring: defer file assignment + - io_uring: drop the old style inflight file tracking + - Linux 5.17.3 + * Jammy update: v5.17.2 upstream stable release Edit (LP: #1968984) + - Revert "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" + - USB: serial: pl2303: add IBM device IDs + - dt-bindings: usb: hcd: correct usb-device path + - USB: serial: pl2303: fix GS type detection + - USB: serial: simple: add Nokia phone driver + - mm: kfence: fix missing objcg housekeeping for SLAB + - locking/lockdep: Avoid potential access of invalid memory in lock_class + - drm/amdgpu: move PX checking into amdgpu_device_ip_early_init + - drm/amdgpu: only check for _PR3 on dGPUs + - iommu/iova: Improve 32-bit free space estimate + - block: flush plug based on hardware and software queue order + - block: ensure plug merging checks the correct queue at least once + - usb: typec: tipd: Forward plug orientation to typec subsystem + - USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c + - xhci: fix garbage USBSTS being logged in some cases + - xhci: fix runtime PM imbalance in USB2 resume + - xhci: make xhci_handshake timeout for xhci_reset() adjustable + - xhci: fix uninitialized string returned by xhci_decode_ctrl_ctx() + - mei: me: disable driver on the ign firmware + - mei: me: add Alder Lake N device id. + - mei: avoid iterator usage outside of list_for_each_entry + - bus: mhi: pci_generic: Add mru_default for Quectel EM1xx series + - bus: mhi: Fix pm_state conversion to string + - bus: mhi: Fix MHI DMA structure endianness + - docs: sphinx/requirements: Limit jinja2<3.1 + - coresight: Fix TRCCONFIGR.QE sysfs interface + - coresight: syscfg: Fix memleak on registration failure in + cscfg_create_device + - dt-bindings: iio: adc: zynqmp_ams: Add clock entry + - iio: adc: xilinx-ams: Fix single channel switching sequence + - iio: accel: mma8452: use the correct logic to get mma8452_data + - iio: adc: aspeed: Add divider flag to fix incorrect voltage reading. + - iio: imu: st_lsm6dsx: use dev_to_iio_dev() to get iio_dev struct + - iio: afe: rescale: use s64 for temporary scale calculations + - iio: adc: xilinx-ams: Fixed missing PS channels + - iio: adc: xilinx-ams: Fixed wrong sequencer register settings + - iio: inkern: apply consumer scale on IIO_VAL_INT cases + - iio: inkern: apply consumer scale when no channel scale is available + - iio: inkern: make a best effort on offset calculation + - greybus: svc: fix an error handling bug in gb_svc_hello() + - clk: rockchip: re-add rational best approximation algorithm to the + fractional divider + - clk: uniphier: Fix fixed-rate initialization + - ptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE + - cifs: truncate the inode and mapping when we simulate fcollapse + - cifs: fix handlecache and multiuser + - cifs: we do not need a spinlock around the tree access during umount + - KEYS: fix length validation in keyctl_pkey_params_get_2() + - KEYS: asymmetric: enforce that sig algo matches key algo + - KEYS: asymmetric: properly validate hash_algo and encoding + - Documentation: add link to stable release candidate tree + - Documentation: update stable tree link + - firmware: stratix10-svc: add missing callback parameter on RSU + - firmware: sysfb: fix platform-device leak in error path + - HID: intel-ish-hid: Use dma_alloc_coherent for firmware update + - SUNRPC: avoid race between mod_timer() and del_timer_sync() + - SUNRPC: Do not dereference non-socket transports in sysfs + - NFS: NFSv2/v3 clients should never be setting NFS_CAP_XATTR + - NFSD: prevent underflow in nfssvc_decode_writeargs() + - NFSD: prevent integer overflow on 32 bit systems + - f2fs: fix to unlock page correctly in error path of is_alive() + - f2fs: quota: fix loop condition at f2fs_quota_sync() + - f2fs: fix to do sanity check on .cp_pack_total_block_count + - remoteproc: Fix count check in rproc_coredump_write() + - mm/mlock: fix two bugs in user_shm_lock() + - pinctrl: ingenic: Fix regmap on X series SoCs + - pinctrl: samsung: drop pin banks references on error paths + - net: bnxt_ptp: fix compilation error + - spi: mxic: Fix the transmit path + - mtd: spi-nor: Skip erase logic when SPI_NOR_NO_ERASE is set + - mtd: rawnand: protect access to rawnand devices while in suspend + - can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path + - can: m_can: m_can_tx_handler(): fix use after free of skb + - can: usb_8dev: usb_8dev_start_xmit(): fix double dev_kfree_skb() in error + path + - jffs2: fix use-after-free in jffs2_clear_xattr_subsystem + - jffs2: fix memory leak in jffs2_do_mount_fs + - jffs2: fix memory leak in jffs2_scan_medium + - mm: fs: fix lru_cache_disabled race in bh_lru + - mm: don't skip swap entry even if zap_details specified + - mm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node + - mm: invalidate hwpoison page cache page in fault path + - mempolicy: mbind_range() set_policy() after vma_merge() + - scsi: core: sd: Add silence_suspend flag to suppress some PM messages + - scsi: ufs: Fix runtime PM messages never-ending cycle + - scsi: scsi_transport_fc: Fix FPIN Link Integrity statistics counters + - scsi: libsas: Fix sas_ata_qc_issue() handling of NCQ NON DATA commands + - qed: display VF trust config + - qed: validate and restrict untrusted VFs vlan promisc mode + - riscv: dts: canaan: Fix SPI3 bus width + - riscv: Fix fill_callchain return value + - riscv: Increase stack size under KASAN + - RISC-V: Declare per cpu boot data as static + - Revert "Input: clear BTN_RIGHT/MIDDLE on buttonpads" + - cifs: do not skip link targets when an I/O fails + - cifs: fix incorrect use of list iterator after the loop + - cifs: prevent bad output lengths in smb2_ioctl_query_info() + - cifs: fix NULL ptr dereference in smb2_ioctl_query_info() + - ALSA: cs4236: fix an incorrect NULL check on list iterator + - ALSA: hda: Avoid unsol event during RPM suspending + - ALSA: pcm: Fix potential AB/BA lock with buffer_mutex and mmap_lock + - ALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 2020 + - rtc: mc146818-lib: fix locking in mc146818_set_time + - rtc: pl031: fix rtc features null pointer dereference + - io_uring: ensure that fsnotify is always called + - ocfs2: fix crash when mount with quota enabled + - drm/simpledrm: Add "panel orientation" property on non-upright mounted LCD + panels + - mm: madvise: skip unmapped vma holes passed to process_madvise + - mm: madvise: return correct bytes advised with process_madvise + - Revert "mm: madvise: skip unmapped vma holes passed to process_madvise" + - mm,hwpoison: unmap poisoned page before invalidation + - mm: only re-generate demotion targets when a numa node changes its N_CPU + state + - mm/kmemleak: reset tag when compare object pointer + - dm stats: fix too short end duration_ns when using precise_timestamps + - dm: fix use-after-free in dm_cleanup_zoned_dev() + - dm: interlock pending dm_io and dm_wait_for_bios_completion + - dm: fix double accounting of flush with data + - dm integrity: set journal entry unused when shrinking device + - tracing: Have trace event string test handle zero length strings + - drbd: fix potential silent data corruption + - can: isotp: sanitize CAN ID checks in isotp_bind() + - PCI: fu740: Force 2.5GT/s for initial device probe + - arm64: signal: nofpsimd: Do not allocate fp/simd context when not available + - arm64: Do not defer reserve_crashkernel() for platforms with no DMA memory + zones + - arm64: dts: qcom: sm8250: Fix MSI IRQ for PCIe1 and PCIe2 + - arm64: dts: ti: k3-am65: Fix gic-v3 compatible regs + - arm64: dts: ti: k3-j721e: Fix gic-v3 compatible regs + - arm64: dts: ti: k3-j7200: Fix gic-v3 compatible regs + - arm64: dts: ti: k3-am64: Fix gic-v3 compatible regs + - arm64: dts: ti: k3-j721s2: Fix gic-v3 compatible regs + - ASoC: SOF: Intel: Fix NULL ptr dereference when ENOMEM + - mmc: core: use sysfs_emit() instead of sprintf() + - Revert "ACPI: Pass the same capabilities to the _OSC regardless of the query + flag" + - ACPI: properties: Consistently return -ENOENT if there are no more + references + - coredump: Also dump first pages of non-executable ELF libraries + - ext4: fix ext4_fc_stats trace point + - ext4: fix fs corruption when tring to remove a non-empty directory with IO + error + - ext4: make mb_optimize_scan option work with set/unset mount cmd + - ext4: make mb_optimize_scan performance mount option work with extents + - samples/landlock: Fix path_list memory leak + - landlock: Use square brackets around "landlock-ruleset" + - mailbox: tegra-hsp: Flush whole channel + - btrfs: zoned: put block group after final usage + - block: fix rq-qos breakage from skipping rq_qos_done_bio() + - block: limit request dispatch loop duration + - block: don't merge across cgroup boundaries if blkcg is enabled + - drm/edid: check basic audio support on CEA extension block + - fbdev: Hot-unplug firmware fb devices on forced removal + - video: fbdev: sm712fb: Fix crash in smtcfb_read() + - video: fbdev: atari: Atari 2 bpp (STe) palette bugfix + - rfkill: make new event layout opt-in + - ARM: dts: at91: sama7g5: Remove unused properties in i2c nodes + - ARM: dts: at91: sama5d2: Fix PMERRLOC resource size + - ARM: dts: exynos: fix UART3 pins configuration in Exynos5250 + - ARM: dts: exynos: add missing HDMI supplies on SMDK5250 + - ARM: dts: exynos: add missing HDMI supplies on SMDK5420 + - mgag200 fix memmapsl configuration in GCTL6 register + - carl9170: fix missing bit-wise or operator for tx_params + - pstore: Don't use semaphores in always-atomic-context code + - thermal: int340x: Increase bitmap size + - lib/raid6/test: fix multiple definition linking error + - exec: Force single empty string when argv is empty + - crypto: rsa-pkcs1pad - only allow with rsa + - crypto: rsa-pkcs1pad - correctly get hash from source scatterlist + - crypto: rsa-pkcs1pad - restore signature length check + - crypto: rsa-pkcs1pad - fix buffer overread in pkcs1pad_verify_complete() + - bcache: fixup multiple threads crash + - PM: domains: Fix sleep-in-atomic bug caused by genpd_debug_remove() + - DEC: Limit PMAX memory probing to R3k systems + - media: gpio-ir-tx: fix transmit with long spaces on Orange Pi PC + - media: omap3isp: Use struct_group() for memcpy() region + - media: venus: vdec: fixed possible memory leak issue + - media: venus: hfi_cmds: List HDR10 property as unsupported for v1 and v3 + - media: venus: venc: Fix h264 8x8 transform control + - media: davinci: vpif: fix unbalanced runtime PM get + - media: davinci: vpif: fix unbalanced runtime PM enable + - media: davinci: vpif: fix use-after-free on driver unbind + - mips: Always permit to build u-boot images + - btrfs: zoned: mark relocation as writing + - btrfs: extend locking to all space_info members accesses + - btrfs: verify the tranisd of the to-be-written dirty extent buffer + - xtensa: define update_mmu_tlb function + - xtensa: fix stop_machine_cpuslocked call in patch_text + - xtensa: fix xtensa_wsr always writing 0 + - KVM: s390x: fix SCK locking + - drm/syncobj: flatten dma_fence_chains on transfer + - drm/nouveau/backlight: Fix LVDS backlight detection on some laptops + - drm/nouveau/backlight: Just set all backlight types as RAW + - drm/fb-helper: Mark screen buffers in system memory with FBINFO_VIRTFB + - brcmfmac: firmware: Allocate space for default boardrev in nvram + - brcmfmac: pcie: Release firmwares in the brcmf_pcie_setup error path + - brcmfmac: pcie: Declare missing firmware files in pcie.c + - brcmfmac: pcie: Replace brcmf_pcie_copy_mem_todev with memcpy_toio + - brcmfmac: pcie: Fix crashes due to early IRQs + - drm/i915/opregion: check port number bounds for SWSCI display power state + - drm/i915/gem: add missing boundary check in vm_access + - PCI: imx6: Allow to probe when dw_pcie_wait_for_link() fails + - PCI: pciehp: Clear cmd_busy bit in polling mode + - PCI: xgene: Revert "PCI: xgene: Use inbound resources for setup" + - PCI: xgene: Revert "PCI: xgene: Fix IB window setup" + - regulator: qcom_smd: fix for_each_child.cocci warnings + - selinux: access superblock_security_struct in LSM blob way + - selinux: check return value of sel_make_avc_files + - crypto: ccp - Ensure psp_ret is always init'd in + __sev_platform_init_locked() + - crypto: qat - fix a signedness bug in get_service_enabled() + - hwrng: cavium - HW_RANDOM_CAVIUM should depend on ARCH_THUNDER + - crypto: sun8i-ss - really disable hash on A80 + - crypto: kdf - Select hmac in addition to sha256 + - crypto: qat - fix access to PFVF interrupt registers for GEN4 + - crypto: authenc - Fix sleep in atomic context in decrypt_tail + - crypto: octeontx2 - select CONFIG_NET_DEVLINK + - crypto: mxs-dcp - Fix scatterlist processing + - selinux: Fix selinux_sb_mnt_opts_compat() + - thermal: int340x: Check for NULL after calling kmemdup() + - crypto: octeontx2 - remove CONFIG_DM_CRYPT check + - spi: tegra114: Add missing IRQ check in tegra_spi_probe + - spi: tegra210-quad: Fix missin IRQ check in tegra_qspi_probe + - perf: MARVELL_CN10K_TAD_PMU should depend on ARCH_THUNDER + - selftests/sgx: Fix NULL-pointer-dereference upon early test failure + - selftests/sgx: Do not attempt enclave build without valid enclave + - selftests/sgx: Ensure enclave data available during debug print + - stack: Constrain and fix stack offset randomization with Clang builds + - arm64/mm: avoid fixmap race condition when create pud mapping + - security: add sctp_assoc_established hook + - blk-cgroup: set blkg iostat after percpu stat aggregation + - selftests/x86: Add validity check and allow field splitting + - selftests/sgx: Treat CC as one argument + - crypto: rockchip - ECB does not need IV + - block: update io_ticks when io hang + - audit: log AUDIT_TIME_* records only from rules + - EVM: fix the evm= __setup handler return value + - crypto: ccree - don't attempt 0 len DMA mappings + - crypto: hisilicon/sec - fix the aead software fallback for engine + - spi: pxa2xx-pci: Balance reference count for PCI DMA device + - hwmon: (pmbus) Add mutex to regulator ops + - hwmon: (sch56xx-common) Replace WDOG_ACTIVE with WDOG_HW_RUNNING + - nvme: cleanup __nvme_check_ids + - nvme: fix the check for duplicate unique identifiers + - block: don't delete queue kobject before its children + - PM: hibernate: fix __setup handler error handling + - PM: suspend: fix return value of __setup handler + - spi: spi-zynqmp-gqspi: Handle error for dma_set_mask + - hwrng: atmel - disable trng on failure path + - crypto: sun8i-ss - call finalize with bh disabled + - crypto: sun8i-ce - call finalize with bh disabled + - crypto: amlogic - call finalize with bh disabled + - crypto: gemini - call finalize with bh disabled + - crypto: vmx - add missing dependencies + - clocksource/drivers/timer-ti-dm: Fix regression from errata i940 fix + - clocksource/drivers/exynos_mct: Handle DTS with higher number of interrupts + - clocksource/drivers/timer-microchip-pit64b: Use notrace + - clocksource/drivers/timer-of: Check return value of of_iomap in + timer_of_base_init() + - arm64: prevent instrumentation of bp hardening callbacks + - perf/arm-cmn: Hide XP PUB events for CMN-600 + - perf/arm-cmn: Update watchpoint format + - KEYS: trusted: Fix trusted key backends when building as module + - KEYS: trusted: Avoid calling null function trusted_key_exit + - ACPI: APEI: fix return value of __setup handlers + - crypto: ccp - ccp_dmaengine_unregister release dma channels + - crypto: ccree - Fix use after free in cc_cipher_exit() + - crypto: qat - fix initialization of pfvf cap_msg structures + - crypto: qat - fix initialization of pfvf rts_map_msg structures + - hwrng: nomadik - Change clk_disable to clk_disable_unprepare + - hwmon: (pmbus) Add Vin unit off handling + - clocksource: acpi_pm: fix return value of __setup handler + - io_uring: don't check unrelated req->open.how in accept request + - io_uring: terminate manual loop iterator loop correctly for non-vecs + - watch_queue: Fix NULL dereference in error cleanup + - watch_queue: Actually free the watch + - f2fs: fix to enable ATGC correctly via gc_idle sysfs interface + - sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa + - sched/core: Export pelt_thermal_tp + - sched/sugov: Ignore 'busy' filter when rq is capped by uclamp_max + - sched/uclamp: Fix iowait boost escaping uclamp restriction + - rseq: Remove broken uapi field layout on 32-bit little endian + - perf/core: Fix address filter parser for multiple filters + - perf/x86/intel/pt: Fix address filter config for 32-bit kernel + - sched/fair: Improve consistency of allowed NUMA balance calculations + - f2fs: fix missing free nid in f2fs_handle_failed_inode + - ext4: fix remount with 'abort' option + - nfsd: more robust allocation failure handling in nfsd_file_cache_init + - sched/cpuacct: Fix charge percpu cpuusage + - sched/rt: Plug rt_mutex_setprio() vs push_rt_task() race + - f2fs: fix to avoid potential deadlock + - btrfs: fix unexpected error path when reflinking an inline extent + - iomap: Fix iomap_invalidatepage tracepoint + - fs: erofs: add sanity check for kobject in erofs_unregister_sysfs + - f2fs: fix compressed file start atomic write may cause data corruption + - cifs: use a different reconnect helper for non-cifsd threads + - selftests, x86: fix how check_cc.sh is being invoked + - drivers/base/memory: add memory block to memory group after registration + succeeded + - kunit: make kunit_test_timeout compatible with comment + - pinctrl: samsung: Remove EINT handler for Exynos850 ALIVE and CMGP gpios + - media: staging: media: zoran: fix usage of vb2_dma_contig_set_max_seg_size + - media: camss: csid-170: fix non-10bit formats + - media: camss: csid-170: don't enable unused irqs + - media: camss: csid-170: set the right HALT_CMD when disabled + - media: camss: vfe-170: fix "VFE halt timeout" error + - media: staging: media: imx: imx7-mipi-csis: Make subdev name unique + - media: v4l2-mem2mem: Apply DST_QUEUE_OFF_BASE on MMAP buffers across ioctls + - media: mtk-vcodec: potential dereference of null pointer + - media: imx: imx8mq-mipi-csi2: remove wrong irq config write operation + - media: imx: imx8mq-mipi_csi2: fix system resume + - media: bttv: fix WARNING regression on tunerless devices + - media: atmel: atmel-sama7g5-isc: fix ispck leftover + - ASoC: sh: rz-ssi: Drop calling rz_ssi_pio_recv() recursively + - ASoC: codecs: Check for error pointer after calling devm_regmap_init_mmio + - ASoC: xilinx: xlnx_formatter_pcm: Handle sysclk setting + - ASoC: simple-card-utils: Set sysclk on all components + - memory: tegra20-emc: Correct memory device mask + - media: coda: Fix missing put_device() call in coda_get_vdoa_data + - media: meson: vdec: potential dereference of null pointer + - media: hantro: Fix overfill bottom register field name + - media: ov6650: Fix set format try processing path + - media: v4l: Avoid unaligned access warnings when printing 4cc modifiers + - media: ov5648: Don't pack controls struct + - media: ov2740: identify module after subdev initialisation + - media: aspeed: Correct value for h-total-pixels + - video: fbdev: matroxfb: set maxvram of vbG200eW to the same as vbG200 to + avoid black screen + - video: fbdev: controlfb: Fix COMPILE_TEST build + - video: fbdev: smscufx: Fix null-ptr-deref in ufx_usb_probe() + - video: fbdev: atmel_lcdfb: fix an error code in atmel_lcdfb_probe() + - video: fbdev: fbcvt.c: fix printing in fb_cvt_print_name() + - ARM: dts: Fix OpenBMC flash layout label addresses + - ASoC: max98927: add missing header file + - arm64: dts: qcom: sc7280: Fix gmu unit address + - firmware: qcom: scm: Remove reassignment to desc following initializer + - ARM: dts: qcom: ipq4019: fix sleep clock + - soc: qcom: rpmpd: Check for null return of devm_kcalloc + - soc: qcom: ocmem: Fix missing put_device() call in of_get_ocmem + - soc: qcom: aoss: Fix missing put_device call in qmp_get + - soc: qcom: aoss: remove spurious IRQF_ONESHOT flags + - arm64: dts: qcom: sdm845: fix microphone bias properties and values + - arm64: dts: qcom: sm8250: fix PCIe bindings to follow schema + - arm64: dts: qcom: msm8916-j5: Fix typo + - arm64: dts: broadcom: bcm4908: use proper TWD binding + - arm64: dts: qcom: sm8150: Correct TCS configuration for apps rsc + - arm64: dts: qcom: sm8350: Correct TCS configuration for apps rsc + - arm64: dts: qcom: sm8450: Update cpuidle states parameters + - arm64: dts: qcom: msm8994: Provide missing "xo_board" and "sleep_clk" to GCC + - arm64: dts: qcom: ipq6018: fix usb reference period + - firmware: ti_sci: Fix compilation failure when CONFIG_TI_SCI_PROTOCOL is not + defined + - soc: ti: wkup_m3_ipc: Fix IRQ check in wkup_m3_ipc_probe + - cpuidle: qcom-spm: Check if any CPU is managed by SPM + - ARM: dts: sun8i: v3s: Move the csi1 block to follow address order + - ARM: dts: stm32: fix AV96 board SAI2 pin muxing on stm32mp15 + - vsprintf: Fix potential unaligned access + - ARM: dts: qcom: sdx55: Fix the address used for PCIe EP local addr space + - ARM: dts: imx: Add missing LVDS decoder on M53Menlo + - media: mexon-ge2d: fixup frames size in registers + - media: video/hdmi: handle short reads of hdmi info frame. + - media: ti-vpe: cal: Fix a NULL pointer dereference in + cal_ctx_v4l2_init_formats() + - media: em28xx: initialize refcount before kref_get + - media: uapi: Init VP9 stateless decode params + - media: usb: go7007: s2250-board: fix leak in probe() + - media: cedrus: H265: Fix neighbour info buffer size + - media: cedrus: h264: Fix neighbour info buffer size + - arm64: dts: ti: k3-j721s2-mcu-wakeup: Fix the interrupt-parent for + wkup_gpioX instances + - ASoC: codecs: rx-macro: fix accessing compander for aux + - ASoC: codecs: rx-macro: fix accessing array out of bounds for enum type + - ASoC: codecs: va-macro: fix accessing array out of bounds for enum type + - ASoC: codecs: wc938x: fix accessing array out of bounds for enum type + - ASoC: codecs: wcd938x: fix kcontrol max values + - ASoC: codecs: wcd934x: fix kcontrol max values + - ASoC: codecs: wcd934x: fix return value of wcd934x_rx_hph_mode_put + - media: v4l2-core: Initialize h264 scaling matrix + - media: hantro: sunxi: Fix VP9 steps + - media: ov5640: Fix set format, v4l2_mbus_pixelcode not updated + - selftests: vm: remove dependecy from internal kernel macros + - selftests/lkdtm: Add UBSAN config + - vsprintf: Fix %pK with kptr_restrict == 0 + - uaccess: fix nios2 and microblaze get_user_8() + - ASoC: rt5663: check the return value of devm_kzalloc() in rt5663_parse_dp() + - ASoC: acp: check the return value of devm_kzalloc() in + acp_legacy_dai_links_create() + - soc: mediatek: pm-domains: Add wakeup capacity support in power domain + - mmc: sdhci_am654: Fix the driver data of AM64 SoC + - ASoC: ti: davinci-i2s: Add check for clk_enable() + - ALSA: spi: Add check for clk_enable() + - arm64: dts: ns2: Fix spi-cpol and spi-cpha property + - arm64: dts: broadcom: Fix sata nodename + - printk: fix return value of printk.devkmsg __setup handler + - ASoC: mxs-saif: Handle errors for clk_enable + - ASoC: atmel_ssc_dai: Handle errors for clk_enable + - ASoC: dwc-i2s: Handle errors for clk_enable + - ASoC: soc-compress: prevent the potentially use of null pointer + - media: i2c: Fix pixel array positions in ov8865 + - memory: emif: Add check for setup_interrupts + - memory: emif: check the pointer temp in get_device_details() + - ALSA: firewire-lib: fix uninitialized flag for AV/C deferred transaction + - arm64: dts: rockchip: Fix SDIO regulator supply properties on rk3399-firefly + - m68k: coldfire/device.c: only build for MCF_EDMA when h/w macros are defined + - media: stk1160: If start stream fails, return buffers with + VB2_BUF_STATE_QUEUED + - media: vidtv: Check for null return of vzalloc + - ASoC: cs35l41: Fix GPIO2 configuration + - ASoC: cs35l41: Fix max number of TX channels + - ASoC: atmel: Add missing of_node_put() in at91sam9g20ek_audio_probe + - ASoC: wm8350: Handle error for wm8350_register_irq + - ASoC: fsi: Add check for clk_enable + - video: fbdev: omapfb: Add missing of_node_put() in dvic_probe_of + - media: saa7134: fix incorrect use to determine if list is empty + - ivtv: fix incorrect device_caps for ivtvfb + - ASoC: atmel: Fix error handling in snd_proto_probe + - ASoC: rockchip: i2s: Fix missing clk_disable_unprepare() in + rockchip_i2s_probe + - ASoC: SOF: Add missing of_node_put() in imx8m_probe + - ASoC: mediatek: mt8192-mt6359: Fix error handling in mt8192_mt6359_dev_probe + - ASoC: rk817: Fix missing clk_disable_unprepare() in rk817_platform_probe + - ASoC: dmaengine: do not use a NULL prepare_slave_config() callback + - ASoC: mxs: Fix error handling in mxs_sgtl5000_probe + - ASoC: fsl_spdif: Disable TX clock when stop + - ASoC: imx-es8328: Fix error return code in imx_es8328_probe() + - ASoC: SOF: Intel: enable DMI L1 for playback streams + - ASoC: msm8916-wcd-digital: Fix missing clk_disable_unprepare() in + msm8916_wcd_digital_probe + - mmc: davinci_mmc: Handle error for clk_enable + - rtla/osnoise: Fix osnoise hist stop tracing message + - ASoC: rockchip: Fix PM usage reference of rockchip_i2s_tdm_resume + - ASoC: atmel: Fix error handling in sam9x5_wm8731_driver_probe + - ASoC: msm8916-wcd-analog: Fix error handling in pm8916_wcd_analog_spmi_probe + - ASoC: mediatek: mt8195: Fix error handling in + mt8195_mt6359_rt1019_rt5682_dev_probe + - ASoC: codecs: wcd934x: Add missing of_node_put() in wcd934x_codec_parse_data + - ASoC: amd: Fix reference to PCM buffer address + - ARM: configs: multi_v5_defconfig: re-enable CONFIG_V4L_PLATFORM_DRIVERS + - ARM: configs: multi_v5_defconfig: re-enable DRM_PANEL and FB_xxx + - drm/bridge: sn65dsi83: Fix an error handling path in sn65dsi83_probe() + - drm/meson: osd_afbcd: Add an exit callback to struct meson_afbcd_ops + - drm/meson: Fix error handling when afbcd.ops->init fails + - drm/bridge: Fix free wrong object in sii8620_init_rcp_input_dev + - drm/bridge: Add missing pm_runtime_disable() in __dw_mipi_dsi_probe + - drm/bridge: nwl-dsi: Fix PM disable depth imbalance in nwl_dsi_probe + - drm: bridge: adv7511: Fix ADV7535 HPD enablement + - ath11k: add missing of_node_put() to avoid leak + - ath10k: fix memory overwrite of the WoWLAN wakeup packet pattern + - drm/v3d/v3d_drv: Check for error num after setting mask + - Bluetooth: hci_sync: unlock on error in hci_inquiry_result_with_rssi_evt() + - ath11k: free peer for station when disconnect from AP for QCA6390/WCN6855 + - drm/panfrost: Check for error num after setting mask + - bpftool: Fix error check when calling hashmap__new() + - libbpf: Fix possible NULL pointer dereference when destroying skeleton + - bpftool: Only set obj->skeleton on complete success + - ath11k: fix error code in ath11k_qmi_assign_target_mem_chunk() + - udmabuf: validate ubuf->pagecount + - bpf: Fix UAF due to race between btf_try_get_module and load_module + - drm/selftests/test-drm_dp_mst_helper: Fix memory leak in + sideband_msg_req_encode_decode + - drm/locking: fix drm_modeset_acquire_ctx kernel-doc + - selftests: bpf: Fix bind on used port + - Bluetooth: btintel: Fix WBS setting for Intel legacy ROM products + - Bluetooth: hci_serdev: call init_rwsem() before p->open() + - Bluetooth: mt7921s: fix firmware coredump retrieve + - Bluetooth: mt7921s: fix bus hang with wrong privilege + - Bluetooth: btmtksdio: refactor btmtksdio_runtime_[suspend|resume]() + - Bluetooth: mt7921s: fix btmtksdio_[drv|fw]_pmctrl() + - Bluetooth: btmtksdio: mask out interrupt status + - mtd: onenand: Check for error irq + - mtd: rawnand: gpmi: fix controller timings setting + - selftests, xsk: Fix rx_full stats test + - drm/edid: Don't clear formats if using deep color + - drm/edid: Split deep color modes between RGB and YUV444 + - ionic: fix type complaint in ionic_dev_cmd_clean() + - ionic: start watchdog after all is setup + - ionic: Don't send reset commands if FW isn't running + - ionic: fix up printing of timeout error + - ionic: Correctly print AQ errors if completions aren't received + - net: dsa: Move VLAN filtering syncing out of dsa_switch_bridge_leave + - net: dsa: Avoid cross-chip syncing of VLAN filtering + - Bluetooth: hci_event: Fix HCI_EV_VENDOR max_len + - drm/nouveau/acr: Fix undefined behavior in nvkm_acr_hsfw_load_bl() + - drm/amd/display: Call dc_stream_release for remove link enc assignment + - drm/amd/display: Fix a NULL pointer dereference in + amdgpu_dm_connector_add_common_modes() + - drm/amd/pm: return -ENOTSUPP if there is no get_dpm_ultimate_freq function + - net: phy: at803x: move page selection fix to config_init + - selftests/bpf/test_xdp_redirect_multi: use temp netns for testing + - ath9k_htc: fix uninit value bugs + - ath11k: set WMI_PEER_40MHZ while peer assoc for 6 GHz + - RDMA/core: Set MR type in ib_reg_user_mr + - KVM: PPC: Fix vmx/vsx mixup in mmio emulation + - selftests/net: timestamping: Fix bind_phc check + - rtw88: check for validity before using a pointer + - rtw88: fix idle mode flow for hw scan + - rtw88: fix memory overrun and memory leak during hw_scan + - drm/bridge: lt9611: Fix an error handling path in lt9611_probe() + - i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb + - i40e: respect metadata on XSK Rx to skb + - ice: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb + - ice: respect metadata on XSK Rx to skb + - igc: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb + - ixgbe: pass bi->xdp to ixgbe_construct_skb_zc() directly + - ixgbe: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skb + - ixgbe: respect metadata on XSK Rx to skb + - power: reset: gemini-poweroff: Fix IRQ check in gemini_poweroff_probe + - ray_cs: Check ioremap return value + - powerpc: dts: t1040rdb: fix ports names for Seville Ethernet switch + - KVM: PPC: Book3S HV: Check return value of kvmppc_radix_init + - powerpc/perf: Don't use perf_hw_context for trace IMC PMU + - mt76: connac: fix sta_rec_wtbl tag len + - mt76: mt7915: use proper aid value in mt7915_mcu_wtbl_generic_tlv in sta + mode + - mt76: mt7915: use proper aid value in mt7915_mcu_sta_basic_tlv + - mt76: mt76_connac: fix MCU_CE_CMD_SET_ROC definition error + - mt76: mt7921: set EDCA parameters with the MCU CE command + - mt76: mt7921: do not always disable fw runtime-pm + - mt76: mt7921: fix a leftover race in runtime-pm + - mt76: mt7615: fix a leftover race in runtime-pm + - mt76: mt7915: fix ht mcs in mt7915_mac_add_txs_skb() + - mt76: mt7921: fix ht mcs in mt7921_mac_add_txs_skb() + - mt76: mt7921s: fix mt7921s_mcu_[fw|drv]_pmctrl + - mt76: mt7921e: fix possible probe failure after reboot + - mt76: mt7603: check sta_rates pointer in mt7603_sta_rate_tbl_update + - mt76: mt7615: check sta_rates pointer in mt7615_sta_rate_tbl_update + - mt76: mt7915: fix possible memory leak in mt7915_mcu_add_sta + - mt76: mt7921s: fix a possible memory leak in mt7921_load_patch + - mt76: mt7915: fix mcs_map in mt7915_mcu_set_sta_he_mcs() + - mt76: mt7915: fix the nss setting in bitrates + - ptp: unregister virtual clocks when unregistering physical clock. + - net: dsa: mv88e6xxx: Enable port policy support on 6097 + - bpf: Fix a btf decl_tag bug when tagging a function + - mac80211: limit bandwidth in HE capabilities + - scripts/dtc: Call pkg-config POSIXly correct + - livepatch: Fix build failure on 32 bits processors + - net: asix: add proper error handling of usb read errors + - i2c: bcm2835: Fix the error handling in 'bcm2835_i2c_probe()' + - mtd: mchp23k256: Add SPI ID table + - mtd: mchp48l640: Add SPI ID table + - selftests/bpf: Extract syscall wrapper + - selftests/bpf: Use "__se_" prefix on architectures without syscall wrapper + - igc: avoid kernel warning when changing RX ring parameters + - igb: refactor XDP registration + - drm/amdgpu: Don't offset by 2 in FRU EEPROM + - PCI: aardvark: Fix reading MSI interrupt number + - PCI: aardvark: Fix reading PCI_EXP_RTSTA_PME bit on emulated bridge + - RDMA/rxe: Check the last packet by RXE_END_MASK + - libbpf: Fix signedness bug in btf_dump_array_data() + - libbpf: Fix riscv register names + - cxl/core: Fix cxl_probe_component_regs() error message + - tools/testing/cxl: Fix root port to host bridge assignment + - cxl/regs: Fix size of CXL Capability Header Register + - Netvsc: Call hv_unmap_memory() in the netvsc_device_remove() + - net:enetc: allocate CBD ring data memory using DMA coherent methods + - libbpf: Fix compilation warning due to mismatched printf format + - rtw88: fix use after free in rtw_hw_scan_update_probe_req() + - drm/bridge: dw-hdmi: use safe format when first in bridge chain + - power: supply: ab8500: Swap max and overvoltage + - libbpf: Fix libbpf.map inheritance chain for LIBBPF_0.7.0 + - libbpf: Use dynamically allocated buffer when receiving netlink messages + - power: supply: ab8500: Fix memory leak in ab8500_fg_sysfs_init + - HID: i2c-hid: fix GET/SET_REPORT for unnumbered reports + - iommu/ipmmu-vmsa: Check for error num after setting mask + - drm/bridge: anx7625: Fix overflow issue on reading EDID + - ath11k: fix uninitialized rate_idx in ath11k_dp_tx_update_txcompl() + - i2c: pasemi: Drop I2C classes from platform driver variant + - bpftool: Fix the error when lookup in no-btf maps + - drm/amd/pm: enable pm sysfs write for one VF mode + - drm/amd/display: Add affected crtcs to atomic state for dsc mst unplug + - bpftool: Fix pretty print dump for maps without BTF loaded + - libbpf: Fix memleak in libbpf_netlink_recv() + - IB/cma: Allow XRC INI QPs to set their local ACK timeout + - cxl/core/port: Rename bus.c to port.c + - cxl/port: Hold port reference until decoder release + - dax: make sure inodes are flushed before destroy cache + - selftests: mptcp: add csum mib check for mptcp_connect + - iwlwifi: mvm: Don't call iwl_mvm_sta_from_mac80211() with NULL sta + - iwlwifi: mvm: don't iterate unadded vifs when handling FW SMPS req + - iwlwifi: mvm: align locking in D3 test debugfs + - iwlwifi: yoyo: remove DBGI_SRAM address reset writing + - iwlwifi: yoyo: Avoid using dram data if allocation failed + - iwlwifi: mvm: fix off by one in iwl_mvm_stat_iterator_all_macs() + - iwlwifi: Fix -EIO error code that is never returned + - iwlwifi: mvm: Fix an error code in iwl_mvm_up() + - mtd: rawnand: pl353: Set the nand chip node as the flash node + - drm/msm/dp: do not initialize phy until plugin interrupt received + - drm/msm/dp: populate connector of struct dp_panel + - drm/msm/dp: stop link training after link training 2 failed + - drm/msm/dp: always add fail-safe mode into connector mode list + - drm/msm/dsi: Use "ref" fw clock instead of global name for VCO parent + - drm/msm/dsi/phy: fix 7nm v4.0 settings for C-PHY mode + - drm/msm/dpu: add DSPP blocks teardown + - drm/msm/dpu: fix dp audio condition + - drm/msm/dpu: remove msm_dp cached in dpu_encoder_virt + - drm/msm/dp: fix panel bridge attachment + - i40e: remove dead stores on XSK hotpath + - ath11k: Invalidate cached reo ring entry before accessing it + - mips: Enable KCSAN + - dm crypt: fix get_key_size compiler warning if !CONFIG_KEYS + - vfio/pci: fix memory leak during D3hot to D0 transition + - vfio/pci: wake-up devices around reset functions + - scsi: fnic: Fix a tracing statement + - scsi: pm8001: Fix command initialization in pm80XX_send_read_log() + - scsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req() + - scsi: pm8001: Fix payload initialization in pm80xx_set_thermal_config() + - scsi: pm8001: Fix le32 values handling in + pm80xx_set_sas_protocol_timer_config() + - scsi: pm8001: Fix payload initialization in pm80xx_encrypt_update() + - scsi: pm8001: Fix le32 values handling in pm80xx_chip_ssp_io_req() + - scsi: pm8001: Fix le32 values handling in pm80xx_chip_sata_req() + - scsi: pm8001: Fix NCQ NON DATA command task initialization + - scsi: pm8001: Fix NCQ NON DATA command completion handling + - scsi: pm8001: Fix abort all task initialization + - mt76: do not always copy ethhdr in reverse_frag0_hdr_trans + - mt76: fix endianness errors in reverse_frag0_hdr_trans + - mt76: mt7921s: fix missing fc type/sub-type for 802.11 pkts + - net: dsa: realtek-smi: fix kdoc warnings + - net: dsa: realtek-smi: move to subdirectory + - RDMA/mlx5: Fix the flow of a miss in the allocation of a cache ODP MR + - drm/amd/display: Remove vupdate_int_entry definition + - TOMOYO: fix __setup handlers return values + - power: supply: sbs-charger: Don't cancel work that is not initialized + - mt76: mt7915: enlarge wcid size to 544 + - mt76: mt7915: fix the muru tlv issue + - drm/dp: Fix OOB read when handling Post Cursor2 register + - ext2: correct max file size computing + - drm/tegra: Fix reference leak in tegra_dsi_ganged_probe + - power: supply: bq24190_charger: Fix bq24190_vbus_is_enabled() wrong false + return + - scsi: hisi_sas: Change permission of parameter prot_mask + - drm/bridge: cdns-dsi: Make sure to to create proper aliases for dt + - bpf, arm64: Call build_prologue() first in first JIT pass + - bpf, arm64: Feed byte-offset into bpf line info + - xsk: Fix race at socket teardown + - RDMA/irdma: Fix netdev notifications for vlan's + - RDMA/irdma: Fix Passthrough mode in VM + - RDMA/irdma: Remove incorrect masking of PD + - libbpf: Fix BPF_MAP_TYPE_PERF_EVENT_ARRAY auto-pinning + - gpu: host1x: Fix an error handling path in 'host1x_probe()' + - gpu: host1x: Fix a memory leak in 'host1x_remove()' + - libbpf: Skip forward declaration when counting duplicated type names + - powerpc/mm/numa: skip NUMA_NO_NODE onlining in parse_numa_properties() + - powerpc/Makefile: Don't pass -mcpu=powerpc64 when building 32-bit + - KVM: x86: Fix emulation in writing cr8 + - KVM: x86/emulator: Defer not-present segment check in + __load_segment_descriptor() + - KVM: SVM: Exit to userspace on ENOMEM/EFAULT GHCB errors + - hv_balloon: rate-limit "Unhandled message" warning + - KVM: arm64: Enable Cortex-A510 erratum 2077057 by default + - i2c: xiic: Make bus names unique + - net: phy: micrel: Fix concurrent register access + - Bluetooth: hci_sync: fix undefined return of hci_disconnect_all_sync() + - Bluetooth: Fix skb allocation in mgmt_remote_name() & + mgmt_device_connected() + - power: supply: wm8350-power: Handle error for wm8350_register_irq + - power: supply: wm8350-power: Add missing free in free_charger_irq + - IB/hfi1: Allow larger MTU without AIP + - RDMA/core: Fix ib_qp_usecnt_dec() called when error + - PCI: Reduce warnings on possible RW1C corruption + - net: axienet: fix RX ring refill allocation failure handling + - drm/msm/a6xx: Fix missing ARRAY_SIZE() check + - mips: DEC: honor CONFIG_MIPS_FP_SUPPORT=n + - MIPS: Sanitise Cavium switch cases in TLB handler synthesizers + - powerpc/sysdev: fix incorrect use to determine if list is empty + - powerpc/64s: Don't use DSISR for SLB faults + - mfd: mc13xxx: Add check for mc13xxx_irq_request + - libbpf: Unmap rings when umem deleted + - selftests/bpf: Make test_lwt_ip_encap more stable and faster + - platform/x86: huawei-wmi: check the return value of device_create_file() + - scsi: mpt3sas: Fix incorrect 4GB boundary check + - powerpc: 8xx: fix a return value error in mpc8xx_pic_init + - xtensa: add missing XCHAL_HAVE_WINDOWED check + - iwlwifi: pcie: fix SW error MSI-X mapping + - vxcan: enable local echo for sent CAN frames + - ath10k: Fix error handling in ath10k_setup_msa_resources + - mips: cdmm: Fix refcount leak in mips_cdmm_phys_base + - MIPS: RB532: fix return value of __setup handler + - MIPS: pgalloc: fix memory leak caused by pgd_free() + - mtd: rawnand: atmel: fix refcount issue in atmel_nand_controller_init + - power: ab8500_chargalg: Use CLOCK_MONOTONIC + - RDMA/irdma: Prevent some integer underflows + - Revert "RDMA/core: Fix ib_qp_usecnt_dec() called when error" + - RDMA/mlx5: Fix memory leak in error flow for subscribe event routine + - bpf, sockmap: Fix memleak in sk_psock_queue_msg + - bpf, sockmap: Fix memleak in tcp_bpf_sendmsg while sk msg is full + - bpf, sockmap: Fix more uncharged while msg has more_data + - bpf, sockmap: Fix double uncharge the mem of sk_msg + - samples/bpf, xdpsock: Fix race when running for fix duration of time + - USB: storage: ums-realtek: fix error code in rts51x_read_mem() + - drm/amd/display: Fix double free during GPU reset on DC streams + - RDMA/rxe: Change variable and function argument to proper type + - RDMA/rxe: Fix ref error in rxe_av.c + - powerpc/xive: fix return value of __setup handler + - powerpc/time: Fix KVM host re-arming a timer beyond decrementer range + - drm/i915/display: Fix HPD short pulse handling for eDP + - drm/i915/display: Do not re-enable PSR after it was marked as not reliable + - netfilter: flowtable: Fix QinQ and pppoe support for inet table + - mt76: mt7921: fix mt7921_queues_acq implementation + - can: isotp: return -EADDRNOTAVAIL when reading from unbound socket + - can: isotp: support MSG_TRUNC flag when reading from socket + - bareudp: use ipv6_mod_enabled to check if IPv6 enabled + - PCI: imx6: Invoke the PHY exit function after PHY power off + - PCI: imx6: Assert i.MX8MM CLKREQ# even if no device present + - ibmvnic: fix race between xmit and reset + - af_unix: Fix some data-races around unix_sk(sk)->oob_skb. + - selftests/bpf: Fix error reporting from sock_fields programs + - Bluetooth: hci_uart: add missing NULL check in h5_enqueue + - Bluetooth: call hci_le_conn_failed with hdev lock in hci_le_conn_failed + - Bluetooth: btmtksdio: Fix kernel oops in btmtksdio_interrupt + - RDMA/nldev: Prevent underflow in nldev_stat_set_counter_dynamic_doit() + - ipv4: Fix route lookups when handling ICMP redirects and PMTU updates + - mptcp: Fix crash due to tcp_tsorted_anchor was initialized before release + skb + - af_netlink: Fix shift out of bounds in group mask calculation + - i2c: meson: Fix wrong speed use from probe + - netfilter: conntrack: Add and use nf_ct_set_auto_assign_helper_warned() + - i2c: mux: demux-pinctrl: do not deactivate a master that is not active + - powerpc/pseries: Fix use after free in remove_phb_dynamic() + - ax25: Fix refcount leaks caused by ax25_cb_del() + - ax25: Fix NULL pointer dereferences in ax25 timers + - drm/i915: Fix renamed struct field + - selftests/bpf/test_lirc_mode2.sh: Exit with proper code + - bpftool: Fix print error when show bpf map + - PCI: Avoid broken MSI on SB600 USB devices + - net: bcmgenet: Use stronger register read/writes to assure ordering + - tcp: ensure PMTU updates are processed during fastopen + - openvswitch: always update flow key after nat + - net: dsa: fix panic on shutdown if multi-chip tree failed to probe + - net: wwan: qcom_bam_dmux: fix wrong pointer passed to IS_ERR() + - tipc: fix the timer expires after interval 100ms + - mfd: asic3: Add missing iounmap() on error asic3_mfd_probe + - ice: fix 'scheduling while atomic' on aux critical err interrupt + - ice: don't allow to run ice_send_event_to_aux() in atomic ctx + - drivers: ethernet: cpsw: fix panic when interrupt coaleceing is set via + ethtool + - kernel/resource: fix kfree() of bootmem memory again + - clk: renesas: r9a07g044: Update multiplier and divider values for PLL2/3 + - staging: r8188eu: release_firmware is not called if allocation fails + - mxser: fix xmit_buf leak in activate when LSR == 0xff + - fsi: scom: Fix error handling + - fsi: scom: Remove retries in indirect scoms + - pwm: lpc18xx-sct: Initialize driver data and hardware before pwmchip_add() + - pps: clients: gpio: Propagate return value from pps_gpio_probe + - fsi: Aspeed: Fix a potential double free + - misc: alcor_pci: Fix an error handling path + - cpufreq: qcom-cpufreq-nvmem: fix reading of PVS Valid fuse + - soundwire: intel: fix wrong register name in intel_shim_wake + - clk: qcom: ipq8074: fix PCI-E clock oops + - dmaengine: idxd: restore traffic class defaults after wq reset + - iio: mma8452: Fix probe failing when an i2c_device_id is used + - staging: qlge: add unregister_netdev in qlge_probe + - serial: 8250_aspeed_vuart: add PORT_ASPEED_VUART port type + - staging:iio:adc:ad7280a: Fix handing of device address bit reversing. + - clk: renesas: r8a779f0: Fix RSW2 clock divider + - pinctrl: renesas: r8a77470: Reduce size for narrow VIN1 channel + - pinctrl: renesas: checker: Fix miscalculation of number of states + - clk: qcom: ipq8074: Use floor ops for SDCC1 clock + - phy: dphy: Correct lpx parameter and its derivatives(ta_{get,go,sure}) + - phy: phy-brcm-usb: fixup BCM4908 support + - serial: 8250_mid: Balance reference count for PCI DMA device + - serial: 8250_lpss: Balance reference count for PCI DMA device + - NFS: Use of mapping_set_error() results in spurious errors + - serial: 8250: Fix race condition in RTS-after-send handling + - iio: adc: Add check for devm_request_threaded_irq + - habanalabs: Add check for pci_enable_device + - NFS: Return valid errors from nfs2/3_decode_dirent() + - staging: r8188eu: fix endless loop in recv_func + - dma-debug: fix return value of __setup handlers + - clk: imx7d: Remove audio_mclk_root_clk + - clk: imx: off by one in imx_lpcg_parse_clks_from_dt() + - clk: at91: sama7g5: fix parents of PDMCs' GCLK + - clk: qcom: clk-rcg2: Update logic to calculate D value for RCG + - clk: qcom: clk-rcg2: Update the frac table for pixel clock + - clk: starfive: jh7100: Don't round divisor up twice + - clk: starfive: jh7100: Handle audio_div clock properly + - dmaengine: hisi_dma: fix MSI allocate fail when reload hisi_dma + - remoteproc: qcom: Fix missing of_node_put in adsp_alloc_memory_region + - remoteproc: qcom_wcnss: Add missing of_node_put() in + wcnss_alloc_memory_region + - remoteproc: qcom_q6v5_mss: Fix some leaks in q6v5_alloc_memory_region + - nvdimm/region: Fix default alignment for small regions + - clk: actions: Terminate clk_div_table with sentinel element + - clk: loongson1: Terminate clk_div_table with sentinel element + - clk: hisilicon: Terminate clk_div_table with sentinel element + - clk: clps711x: Terminate clk_div_table with sentinel element + - clk: Fix clk_hw_get_clk() when dev is NULL + - clk: tegra: tegra124-emc: Fix missing put_device() call in + emc_ensure_emc_driver + - mailbox: imx: fix crash in resume on i.mx8ulp + - NFS: remove unneeded check in decode_devicenotify_args() + - staging: mt7621-dts: fix LEDs and pinctrl on GB-PC1 devicetree + - staging: mt7621-dts: fix formatting + - staging: mt7621-dts: fix pinctrl properties for ethernet + - staging: mt7621-dts: fix GB-PC2 devicetree + - pinctrl: ocelot: fix confops resource index + - pinctrl: ocelot: fix duplicate debugfs entry + - pinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_init + - pinctrl: mediatek: paris: Fix PIN_CONFIG_BIAS_* readback + - pinctrl: mediatek: paris: Fix "argument" argument type for mtk_pinconf_get() + - pinctrl: mediatek: paris: Fix pingroup pin config state readback + - pinctrl: mediatek: paris: Skip custom extra pin config dump for virtual + GPIOs + - pinctrl: ocelot: Fix interrupt parsing + - pinctrl: microchip-sgpio: lock RMW access + - pinctrl: nomadik: Add missing of_node_put() in nmk_pinctrl_probe + - pinctrl/rockchip: Add missing of_node_put() in rockchip_pinctrl_probe + - clk: visconti: prevent array overflow in visconti_clk_register_gates() + - tty: hvc: fix return value of __setup handler + - kgdboc: fix return value of __setup handler + - serial: 8250: fix XOFF/XON sending when DMA is used + - virt: acrn: obtain pa from VMA with PFNMAP flag + - virt: acrn: fix a memory leak in acrn_dev_ioctl() + - kgdbts: fix return value of __setup handler + - firmware: google: Properly state IOMEM dependency + - driver core: dd: fix return value of __setup handler + - perf test arm64: Test unwinding using fame-pointer (fp) mode + - jfs: fix divide error in dbNextAG + - SUNRPC/call_alloc: async tasks mustn't block waiting for memory + - SUNRPC: improve 'swap' handling: scheduling and PF_MEMALLOC + - SUNRPC: Don't call connect() more than once on a TCP socket + - perf parse-events: Move slots only with topdown + - netfilter: egress: Report interface as outgoing + - netfilter: nf_conntrack_tcp: preserve liberal flag in tcp options + - SUNRPC don't resend a task on an offlined transport + - NFSv4.1: don't retry BIND_CONN_TO_SESSION on session error + - kdb: Fix the putarea helper function + - perf stat: Fix forked applications enablement of counters + - net: stmmac: dwmac-qcom-ethqos: Enable RGMII functional clock on resume + - clk: qcom: gcc-msm8994: Fix gpll4 width + - vsock/virtio: initialize vdev->priv before using VQs + - vsock/virtio: read the negotiated features before using VQs + - vsock/virtio: enable VQs early on probe + - clk: Initialize orphan req_rate + - xen: fix is_xen_pmu() + - net: enetc: report software timestamping via SO_TIMESTAMPING + - net: hns3: fix bug when PF set the duplicate MAC address for VFs + - net: hns3: fix port base vlan add fail when concurrent with reset + - net: hns3: add vlan list lock to protect vlan list + - net: hns3: refine the process when PF set VF VLAN + - net: phy: broadcom: Fix brcm_fet_config_init() + - selftests: test_vxlan_under_vrf: Fix broken test case + - NFS: Don't loop forever in nfs_do_recoalesce() + - libperf tests: Fix typo in perf_evlist__open() failure error messages + - net: hns3: fix ethtool tx copybreak buf size indicating not aligned issue + - net: hns3: add max order judgement for tx spare buffer + - net: hns3: clean residual vf config after disable sriov + - net: hns3: add netdev reset check for hns3_set_tunable() + - net: hns3: add NULL pointer check for hns3_set/get_ringparam() + - net: hns3: fix phy can not link up when autoneg off and reset + - net: sparx5: depends on PTP_1588_CLOCK_OPTIONAL + - qlcnic: dcb: default to returning -EOPNOTSUPP + - net/x25: Fix null-ptr-deref caused by x25_disconnect + - net: sparx5: switchdev: fix possible NULL pointer dereference + - octeontx2-af: initialize action variable + - selftests: tls: skip cmsg_to_pipe tests with TLS=n + - net/sched: act_ct: fix ref leak when switching zones + - NFSv4/pNFS: Fix another issue with a list iterator pointing to the head + - net: dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator + - fs: fd tables have to be multiples of BITS_PER_LONG + - lib/test: use after free in register_test_dev_kmod() + - fs: fix fd table size alignment properly + - LSM: general protection fault in legacy_parse_param + - regulator: rpi-panel: Handle I2C errors/timing to the Atmel + - crypto: hisilicon/qm - cleanup warning in qm_vf_read_qos + - crypto: octeontx2 - CN10K CPT to RNM workaround + - gcc-plugins/stackleak: Exactly match strings instead of prefixes + - rcu: Kill rnp->ofl_seq and use only rcu_state.ofl_lock for exclusion + - pinctrl: npcm: Fix broken references to chip->parent_device + - rcu: Mark writes to the rcu_segcblist structure's ->flags field + - block: throttle split bio in case of iops limit + - memstick/mspro_block: fix handling of read-only devices + - block/bfq_wf2q: correct weight to ioprio + - crypto: xts - Add softdep on ecb + - crypto: hisilicon/sec - not need to enable sm4 extra mode at HW V3 + - block, bfq: don't move oom_bfqq + - selinux: use correct type for context length + - powercap/dtpm_cpu: Reset per_cpu variable in the release function + - arm64: module: remove (NOLOAD) from linker script + - selinux: allow FIOCLEX and FIONCLEX with policy capability + - loop: use sysfs_emit() in the sysfs xxx show() + - Fix incorrect type in assignment of ipv6 port for audit + - irqchip/qcom-pdc: Fix broken locking + - irqchip/nvic: Release nvic_base upon failure + - fs/binfmt_elf: Fix AT_PHDR for unusual ELF files + - hwrng: cavium - fix NULL but dereferenced coccicheck error + - bfq: fix use-after-free in bfq_dispatch_request + - ACPICA: Avoid walking the ACPI Namespace if it is not there + - ACPI / x86: Add skip i2c clients quirk for Nextbook Ares 8 + - ACPI / x86: Add skip i2c clients quirk for Lenovo Yoga Tablet 1050F/L + - lib/raid6/test/Makefile: Use $(pound) instead of \# for Make 4.3 + - Revert "Revert "block, bfq: honor already-setup queue merges"" + - ACPI/APEI: Limit printable size of BERT table data + - PM: core: keep irq flags in device_pm_check_callbacks() + - parisc: Fix non-access data TLB cache flush faults + - parisc: Fix handling off probe non-access faults + - nvme-tcp: lockdep: annotate in-kernel sockets + - spi: tegra20: Use of_device_get_match_data() + - spi: fsi: Implement a timeout for polling status + - atomics: Fix atomic64_{read_acquire,set_release} fallbacks + - locking/lockdep: Iterate lock_classes directly when reading lockdep files + - ext4: correct cluster len and clusters changed accounting in ext4_mb_mark_bb + - ext4: fix ext4_mb_mark_bb() with flex_bg with fast_commit + - sched/tracing: Report TASK_RTLOCK_WAIT tasks as TASK_UNINTERRUPTIBLE + - ext4: don't BUG if someone dirty pages without asking ext4 first + - f2fs: fix to do sanity check on curseg->alloc_type + - NFSD: Fix nfsd_breaker_owns_lease() return values + - f2fs: don't get FREEZE lock in f2fs_evict_inode in frozen fs + - btrfs: harden identification of a stale device + - btrfs: make search_csum_tree return 0 if we get -EFBIG + - btrfs: handle csum lookup errors properly on reads + - btrfs: do not double complete bio on errors during compressed reads + - btrfs: do not clean up repair bio if submit fails + - f2fs: use spin_lock to avoid hang + - f2fs: compress: fix to print raw data size in error path of lz4 + decompression + - Adjust cifssb maximum read size + - ntfs: add sanity check on allocation size + - media: staging: media: zoran: move videodev alloc + - media: staging: media: zoran: calculate the right buffer number for + zoran_reap_stat_com + - media: staging: media: zoran: fix various V4L2 compliance errors + - media: atmel: atmel-isc-base: report frame sizes as full supported range + - media: ir_toy: free before error exiting + - ASoC: sh: rz-ssi: Make the data structures available before registering the + handlers + - ASoC: cs42l42: Report full jack status when plug is detected + - ASoC: SOF: Intel: match sdw version on link_slaves_found + - media: imx-jpeg: Prevent decoding NV12M jpegs into single-planar buffers + - ASoC: SOF: Intel: hda: Remove link assignment limitation + - media: iommu/mediatek-v1: Free the existed fwspec if the master dev already + has + - media: iommu/mediatek: Return ENODEV if the device is NULL + - media: iommu/mediatek: Add device_link between the consumer and the larb + devices + - video: fbdev: nvidiafb: Use strscpy() to prevent buffer overflow + - video: fbdev: w100fb: Reset global state + - video: fbdev: cirrusfb: check pixclock to avoid divide by zero + - video: fbdev: omapfb: acx565akm: replace snprintf with sysfs_emit + - ARM: dts: qcom: fix gic_irq_domain_translate warnings for msm8960 + - ARM: dts: bcm2837: Add the missing L1/L2 cache information + - ASoC: madera: Add dependencies on MFD + - media: atomisp_gmin_platform: Add DMI quirk to not turn AXP ELDO2 regulator + off on some boards + - media: atomisp: fix dummy_ptr check to avoid duplicate active_bo + - ARM: ftrace: avoid redundant loads or clobbering IP + - ALSA: hda: Fix driver index handling at re-binding + - ARM: dts: imx7: Use audio_mclk_post_div instead audio_mclk_root_clk + - arm64: defconfig: build imx-sdma as a module + - video: fbdev: omapfb: panel-dsi-cm: Use sysfs_emit() instead of snprintf() + - video: fbdev: omapfb: panel-tpo-td043mtea1: Use sysfs_emit() instead of + snprintf() + - video: fbdev: udlfb: replace snprintf in show functions with sysfs_emit + - ARM: dts: bcm2711: Add the missing L1/L2 cache information + - ASoC: soc-core: skip zero num_dai component in searching dai name + - ASoC: Intel: sof_es8336: add quirk for Huawei D15 2021 + - media: imx-jpeg: fix a bug of accessing array out of bounds + - media: cx88-mpeg: clear interrupt status register before streaming video + - ASoC: rt5682s: Fix the wrong jack type detected + - ARM: tegra: transformer: Drop reg-shift for Tegra HS UART + - uaccess: fix type mismatch warnings from access_ok() + - lib/test_lockup: fix kernel pointer check for separate address spaces + - ARM: tegra: tamonten: Fix I2C3 pad setting + - ARM: mmp: Fix failure to remove sram device + - ASoC: amd: vg: fix for pm resume callback sequence + - ASoC: amd: vangogh: fix uninitialized symbol warning in machine driver + - video: fbdev: sm712fb: Fix crash in smtcfb_write() + - media: i2c: ov5648: Fix lockdep error + - media: Revert "media: em28xx: add missing em28xx_close_extension" + - media: hdpvr: initialize dev->worker at hdpvr_register_videodev + - ASoC: SOF: debug: clarify operator precedence + - ASoC: Intel: sof_sdw: fix quirks for 2022 HP Spectre x360 13" + - ASoC: SOF: Intel: hda: retrieve DMIC number for I2S boards + - ALSA: intel-nhlt: add helper to detect SSP link mask + - ALSA: intel-dsp-config: add more ACPI HIDs for ES83x6 devices + - ASoC: Intel: soc-acpi: add more ACPI HIDs for ES83x6 devices + - ALSA: intel-dspconfig: add ES8336 support for CNL + - ASoC: Intel: Revert "ASoC: Intel: sof_es8336: add quirk for Huawei D15 2021" + - ASoC: Intel: sof_es8336: log all quirks + - tracing: Have TRACE_DEFINE_ENUM affect trace event types as well + - mmc: host: Return an error when ->enable_sdio_irq() ops is missing + - ASoC: mediatek: Fix error handling in mt8183_da7219_max98357_dev_probe + - media: atomisp: fix bad usage at error handling logic + - ALSA: hda/realtek: Add alc256-samsung-headphone fixup + - KVM: SVM: Allow AVIC support on system w/ physical APIC ID > 255 + - KVM: x86: Reinitialize context if host userspace toggles EFER.LME + - KVM: x86/mmu: Use common TDP MMU zap helper for MMU notifier unmap hook + - KVM: x86/mmu: Move "invalid" check out of kvm_tdp_mmu_get_root() + - KVM: x86/mmu: Zap _all_ roots when unmapping gfn range in TDP MMU + - KVM: x86/mmu: Check for present SPTE when clearing dirty bit in TDP MMU + - KVM: x86: hyper-v: Drop redundant 'ex' parameter from kvm_hv_send_ipi() + - KVM: x86: hyper-v: Drop redundant 'ex' parameter from kvm_hv_flush_tlb() + - KVM: x86: hyper-v: Fix the maximum number of sparse banks for XMM fast TLB + flush hypercalls + - KVM: x86: hyper-v: HVCALL_SEND_IPI_EX is an XMM fast hypercall + - powerpc/kasan: Fix early region not updated correctly + - powerpc/tm: Fix more userspace r13 corruption + - powerpc/lib/sstep: Fix 'sthcx' instruction + - powerpc/lib/sstep: Fix build errors with newer binutils + - powerpc: Add set_memory_{p/np}() and remove set_memory_attr() + - powerpc: Fix build errors with newer binutils + - drm/dp: Fix off-by-one in register cache size + - drm/i915: Treat SAGV block time 0 as SAGV disabled + - drm/i915: Fix PSF GV point mask when SAGV is not possible + - drm/i915: Reject unsupported TMDS rates on ICL+ + - scsi: qla2xxx: Refactor asynchronous command initialization + - scsi: qla2xxx: Implement ref count for SRB + - scsi: qla2xxx: Fix stuck session in gpdb + - scsi: qla2xxx: Fix warning message due to adisc being flushed + - scsi: qla2xxx: Fix scheduling while atomic + - scsi: qla2xxx: Fix premature hw access after PCI error + - scsi: qla2xxx: Fix wrong FDMI data for 64G adapter + - scsi: qla2xxx: Fix warning for missing error code + - scsi: qla2xxx: Fix device reconnect in loop topology + - scsi: qla2xxx: edif: Fix clang warning + - scsi: qla2xxx: Fix T10 PI tag escape and IP guard options for 28XX adapters + - scsi: qla2xxx: Add devids and conditionals for 28xx + - scsi: qla2xxx: Check for firmware dump already collected + - scsi: qla2xxx: Suppress a kernel complaint in qla_create_qpair() + - scsi: qla2xxx: Fix disk failure to rediscover + - scsi: qla2xxx: Fix incorrect reporting of task management failure + - scsi: qla2xxx: Fix hang due to session stuck + - scsi: qla2xxx: Fix laggy FC remote port session recovery + - scsi: qla2xxx: Fix missed DMA unmap for NVMe ls requests + - scsi: qla2xxx: Fix crash during module load unload test + - scsi: qla2xxx: Fix N2N inconsistent PLOGI + - scsi: qla2xxx: Fix stuck session of PRLI reject + - scsi: qla2xxx: Reduce false trigger to login + - scsi: qla2xxx: Use correct feature type field during RFF_ID processing + - platform: chrome: Split trace include file + - MIPS: crypto: Fix CRC32 code + - KVM: x86: Check lapic_in_kernel() before attempting to set a SynIC irq + - KVM: x86: Avoid theoretical NULL pointer dereference in + kvm_irq_delivery_to_apic_fast() + - KVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activated + - KVM: x86/mmu: do compare-and-exchange of gPTE via the user address + - KVM: Prevent module exit until all VMs are freed + - KVM: x86: fix sending PV IPI + - KVM: SVM: fix panic on out-of-bounds guest IRQ + - KVM: avoid double put_page with gfn-to-pfn cache + - ubifs: rename_whiteout: Fix double free for whiteout_ui->data + - ubifs: Fix deadlock in concurrent rename whiteout and inode writeback + - ubifs: Add missing iput if do_tmpfile() failed in rename whiteout + - ubifs: Rename whiteout atomically + - ubifs: Fix 'ui->dirty' race between do_tmpfile() and writeback work + - ubifs: Rectify space amount budget for mkdir/tmpfile operations + - ubifs: setflags: Make dirtied_ino_d 8 bytes aligned + - ubifs: Fix read out-of-bounds in ubifs_wbuf_write_nolock() + - ubifs: Fix to add refcount once page is set private + - ubifs: rename_whiteout: correct old_dir size computing + - nvme: allow duplicate NSIDs for private namespaces + - nvme: fix the read-only state for zoned namespaces with unsupposed features + - wireguard: queueing: use CFI-safe ptr_ring cleanup function + - wireguard: socket: free skb in send6 when ipv6 is disabled + - wireguard: socket: ignore v6 endpoints when ipv6 is disabled + - XArray: Fix xas_create_range() when multi-order entry present + - can: mcba_usb: mcba_usb_start_xmit(): fix double dev_kfree_skb in error path + - can: mcba_usb: properly check endpoint type + - can: mcp251xfd: mcp251xfd_register_get_dev_id(): fix return of error value + - XArray: Include bitmap.h from xarray.h + - XArray: Update the LRU list in xas_split() + - modpost: restore the warning message for missing symbol versions + - rtc: gamecube: Fix refcount leak in gamecube_rtc_read_offset_from_sram + - rtc: check if __rtc_read_time was successful + - loop: fix ioctl calls using compat_loop_info + - gfs2: gfs2_setattr_size error path fix + - gfs2: Fix gfs2_file_buffered_write endless loop workaround + - gfs2: Make sure FITRIM minlen is rounded up to fs block size + - net: hns3: fix the concurrency between functions reading debugfs + - net: hns3: fix software vlan talbe of vlan 0 inconsistent with hardware + - rxrpc: fix some null-ptr-deref bugs in server_key.c + - rxrpc: Fix call timer start racing with call destruction + - mailbox: imx: fix wakeup failure from freeze mode + - crypto: x86/poly1305 - Fixup SLS + - crypto: arm/aes-neonbs-cbc - Select generic cbc and aes + - watch_queue: Free the page array when watch_queue is dismantled + - pinctrl: pinconf-generic: Print arguments for bias-pull-* + - watchdog: rti-wdt: Add missing pm_runtime_disable() in probe function + - net: sparx5: uses, depends on BRIDGE or !BRIDGE + - pinctrl: nuvoton: npcm7xx: Rename DS() macro to DSTR() + - pinctrl: nuvoton: npcm7xx: Use %zu printk format for ARRAY_SIZE() + - ASoC: rockchip: i2s_tdm: Fixup config for SND_SOC_DAIFMT_DSP_A/B + - ASoC: mediatek: mt6358: add missing EXPORT_SYMBOLs + - ubi: Fix race condition between ctrl_cdev_ioctl and ubi_cdev_ioctl + - ARM: iop32x: offset IRQ numbers by 1 + - block: Fix the maximum minor value is blk_alloc_ext_minor() + - block: restore the old set_task_ioprio() behaviour wrt PF_EXITING + - Revert "virtio-pci: harden INTX interrupts" + - Revert "virtio_pci: harden MSI-X interrupts" + - virtio: use virtio_device_ready() in virtio_device_restore() + - io_uring: remove poll entry from list when canceling all + - io_uring: bump poll refs to full 31-bits + - io_uring: fix memory leak of uid in files registration + - riscv module: remove (NOLOAD) + - ACPI: CPPC: Avoid out of bounds access when parsing _CPC data + - vhost: handle error while adding split ranges to iotlb + - spi: Fix Tegra QSPI example + - platform/chrome: cros_ec_typec: Check for EC device + - platform/x86: asus-wmi: Fix regression when probing for fan curve control + - can: isotp: restore accidentally removed MSG_PEEK feature + - proc: bootconfig: Add null pointer check + - x86/fpu/xstate: Fix the ARCH_REQ_XCOMP_PERM implementation + - x86/sev: Unroll string mmio with CC_ATTR_GUEST_UNROLL_STRING_IO + - drm/connector: Fix typo in documentation + - scsi: qla2xxx: Add qla2x00_async_done() for async routines + - staging: mt7621-dts: fix pinctrl-0 items to be size-1 items on ethernet + - docs: fix 'make htmldocs' warning in SCTP.rst + - arm64: mm: Drop 'const' from conditional arm64_dma_phys_limit definition + - ASoC: soc-compress: Change the check for codec_dai + - KVM: x86: SVM: fix avic spec based definitions again + - ax25: fix UAF bug in ax25_send_control() + - Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE"" + - tracing: Have type enum modifications copy the strings + - mips: Enable KCSAN - take 2 + - net: add skb_set_end_offset() helper + - mm/mmap: return 1 from stack_guard_gap __setup() handler + - ARM: 9187/1: JIVE: fix return value of __setup handler + - mm/memcontrol: return 1 from cgroup.memory __setup() handler + - mm/usercopy: return 1 from hardened_usercopy __setup() handler + - af_unix: Support POLLPRI for OOB. + - libbpf: Define BTF_KIND_* constants in btf.h to avoid compilation errors + - bpf: Adjust BPF stack helper functions to accommodate skip > 0 + - bpf: Fix comment for helper bpf_current_task_under_cgroup() + - nbd: fix possible overflow on 'first_minor' in nbd_dev_add() + - mmc: rtsx: Use pm_runtime_{get,put}() to handle runtime PM + - dt-bindings: mtd: nand-controller: Fix the reg property description + - dt-bindings: mtd: nand-controller: Fix a comment in the examples + - dt-bindings: spi: mxic: The interrupt property is not mandatory + - media: dt-binding: media: hynix,hi846: use $defs/port-base port description + - media: dt-bindings: media: hynix,hi846: add link-frequencies description + - dt-bindings: memory: mtk-smi: Rename clock to clocks + - dt-bindings: memory: mtk-smi: No need mediatek,larb-id for mt8167 + - dt-bindings: memory: mtk-smi: Correct minItems to 2 for the gals clocks + - dt-bindings: pinctrl: mt8195: fix bias-pull-{up,down} checks + - dt-bindings: pinctrl: pinctrl-microchip-sgpio: Fix example + - ubi: fastmap: Return error code if memory allocation fails in add_aeb() + - net: preserve skb_end_offset() in skb_unclone_keeptruesize() + - ASoC: SOF: Intel: Fix build error without SND_SOC_SOF_PCI_DEV + - ASoC: topology: Allow TLV control to be either read or write + - perf vendor events: Update metrics for SkyLake Server + - media: ov6650: Add try support to selection API operations + - media: ov6650: Fix crop rectangle affected by set format + - pinctrl: canonical rsel resistance selection property + - spi: mediatek: support tick_delay without enhance_timing + - ARM: dts: spear1340: Update serial node properties + - ARM: dts: spear13xx: Update SPI dma properties + - arm64: dts: ls1043a: Update i2c dma properties + - arm64: dts: ls1046a: Update i2c node dma properties + - um: Fix uml_mconsole stop/go + - docs: sysctl/kernel: add missing bit to panic_print + - xsk: Do not write NULL in SW ring at allocation failure + - ice: xsk: Fix indexing in ice_tx_xsk_pool() + - vdpa/mlx5: Avoid processing works if workqueue was destroyed + - openvswitch: Fixed nd target mask field in the flow dump. + - torture: Make torture.sh help message match reality + - n64cart: convert bi_disk to bi_bdev->bd_disk fix build + - Revert "nbd: fix possible overflow on 'first_minor' in nbd_dev_add()" + - mmc: rtsx: Let MMC core handle runtime PM + - mmc: rtsx: Fix build errors/warnings for unused variable + - coredump: Snapshot the vmas in do_coredump + - coredump: Remove the WARN_ON in dump_vma_snapshot + - coredump/elf: Pass coredump_params into fill_note_info + - coredump: Use the vma snapshot in fill_files_note + - Linux 5.17.2 + * Jammy update: v5.17.1 upstream stable release (LP: #1968982) + - tpm: Fix error handling in async work + - Bluetooth: btusb: Add another Realtek 8761BU + - llc: fix netdevice reference leaks in llc_ui_bind() + - ASoC: sti: Fix deadlock via snd_pcm_stop_xrun() call + - ALSA: oss: Fix PCM OSS buffer allocation overflow + - ALSA: usb-audio: add mapping for new Corsair Virtuoso SE + - ALSA: hda/realtek: Add quirk for Clevo NP70PNJ + - ALSA: hda/realtek: Add quirk for Clevo NP50PNJ + - ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671 + - ALSA: hda/realtek: Add quirk for ASUS GA402 + - ALSA: pcm: Fix races among concurrent hw_params and hw_free calls + - ALSA: pcm: Fix races among concurrent read/write and buffer changes + - ALSA: pcm: Fix races among concurrent prepare and hw_params/hw_free calls + - ALSA: pcm: Fix races among concurrent prealloc proc writes + - ALSA: pcm: Add stream lock during PCM reset ioctl operations + - ALSA: usb-audio: Add mute TLV for playback volumes on RODE NT-USB + - ALSA: cmipci: Restore aux vol on suspend/resume + - ALSA: pci: fix reading of swapped values from pcmreg in AC97 codec + - drivers: net: xgene: Fix regression in CRC stripping + - netfilter: nf_tables: initialize registers in nft_do_chain() + - netfilter: nf_tables: validate registers coming from userspace. + - ACPI / x86: Work around broken XSDT on Advantech DAC-BJ01 board + - ACPI: battery: Add device HID and quirk for Microsoft Surface Go 3 + - ACPI: video: Force backlight native for Clevo NL5xRU and NL5xNU + - crypto: qat - disable registration of algorithms + - Bluetooth: btusb: Add one more Bluetooth part for the Realtek RTL8852AE + - Bluetooth: hci_sync: Add a new quirk to skip HCI_FLT_CLEAR_ALL + - Bluetooth: btusb: Use quirk to skip HCI_FLT_CLEAR_ALL on fake CSR + controllers + - Revert "ath: add support for special 0x0 regulatory domain" + - drm/virtio: Ensure that objs is not NULL in virtio_gpu_array_put_free() + - jbd2: fix use-after-free of transaction_t race + - rcu: Don't deboost before reporting expedited quiescent state + - uaccess: fix integer overflow on access_ok() + - mac80211: fix potential double free on mesh join + - tpm: fix reference counting for struct tpm_chip + - tpm: use try_get_ops() in tpm-space.c + - wcn36xx: Differentiate wcn3660 from wcn3620 + - m68k: fix access_ok for coldfire + - nds32: fix access_ok() checks in get/put_user + - drm/msm/gpu: Fix crash on devices without devfreq support (v2) + - llc: only change llc->dev when bind() succeeds + - Linux 5.17.1 + * Miscellaneous Ubuntu changes + - SAUCE: shiftfs: always rely on init_user_ns + - [Config] update configs and annotations after stable updates + - SAUCE: sfc: The size of the RX recycle ring should be more flexible + - [Packaging] remove references to lowlatency flavor + + [ Ubuntu: 5.17.0-6.6 ] + + * jammy/linux-unstable: 5.17.0-6.6 -proposed tracker (LP: #1965731) + * dependency on crda obsolete according to Debian (LP: #1958918) + - [Packaging] switch dependency from crda to wireless-regdb + * Miscellaneous Ubuntu changes + - [Config] disable CONFIG_SYSFB_SIMPLEFB on amd64 + * Rebase to v5.17 + + [ Ubuntu: 5.17.0-5.5 ] + + * jammy/linux-unstable: 5.17.0-5.5 -proposed tracker (LP: #1964766) + * Packaging resync (LP: #1786013) + - [Packaging] resync dkms-build{,--nvidia-N} from LRMv5 + * Miscellaneous Ubuntu changes + - [Config] update configs and annotations after rebase to v5.17-rc8 + * Rebase to v5.17-rc8 + + [ Ubuntu: 5.17.0-4.4 ] + + * jammy/linux-unstable: 5.17.0-4.4 -proposed tracker (LP: #1963880) + * Rebase to v5.17-rc7 + + [ Ubuntu: 5.17.0-3.3 ] + + * jammy/linux-unstable: 5.17.0-3.3 -proposed tracker (LP: #1962450) + * 5.15 stuck at boot on c4.large (LP: #1956780) + - Revert "PCI/MSI: Mask MSI-X vectors only on success" + * [22.04 FEAT] KVM: Enable storage key checking for intercepted instruction + handled by userspace (LP: #1933179) + - s390/uaccess: Add copy_from/to_user_key functions + - KVM: s390: Honor storage keys when accessing guest memory + - KVM: s390: handle_tprot: Honor storage keys + - KVM: s390: Add optional storage key checking to MEMOP IOCTL + - KVM: s390: Add vm IOCTL for key checked guest absolute memory access + - KVM: s390: Rename existing vcpu memop functions + - KVM: s390: Update api documentation for memop ioctl + - KVM: s390: Clarify key argument for MEM_OP in api docs + - KVM: s390: Add missing vm MEM_OP size check + * Rebase to v5.17-rc6 + + [ Ubuntu: 5.17.0-2.2 ] + + * jammy/linux-unstable: 5.17.0-2.2 -proposed tracker (LP: #1962137) + * CVE-2022-25636 + - netfilter: nf_tables_offload: incorrect flow offload action array size + * Packaging resync (LP: #1786013) + - [Packaging] resync getabis + - [Packaging] update Ubuntu.md + - debian/dkms-versions -- update from kernel-versions (main/master) + * Jammy update: v5.15.22 upstream stable release (LP: #1960516) + - Revert "ASoC: mediatek: Check for error clk pointer" + - [Config] disable FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION + * Jammy update: v5.15.20 upstream stable release (LP: #1960509) + - Revert "UBUNTU: SAUCE: Revert "e1000e: Additional PHY power saving in S0ix"" + * Jammy update: v5.15.19 upstream stable release (LP: #1959879) + - drm/etnaviv: relax submit size limits + * Jammy update: v5.15.17 upstream stable release (LP: #1959376) + - net: dsa: hellcreek: Allow PTP P2P measurements on blocked ports + - rtw88: add quirk to disable pci caps on HP 250 G7 Notebook PC + - ASoC: mediatek: Check for error clk pointer + - regulator: da9121: Prevent current limit change when enabled + - ath9k: Fix out-of-bound memcpy in ath9k_hif_usb_rx_stream + - drm/etnaviv: limit submit sizes + - Bluetooth: hci_sync: Fix not setting adv set duration + - net: axienet: Wait for PhyRstCmplt after core reset + * rtw88_8821ce causes freeze (LP: #1927808) // Jammy update: v5.15.17 upstream + stable release (LP: #1959376) + - rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE + * Jammy update: v5.15.15 upstream stable release (LP: #1958418) + - Bluetooth: btusb: Add support for Foxconn MT7922A + - Bluetooth: btbcm: disable read tx power for MacBook Air 8,1 and 8,2 + - platform/x86/intel: hid: add quirk to support Surface Go 3 + * Support USB4 DP alt mode for AMD Yellow Carp graphics card (LP: #1953008) + - SAUCE: drm/amd/display: Fixup previous PSR policy commit + * alsa/sdw: add sdw audio machine driver for several ADL machines + (LP: #1951563) + - ASoC: Intel: sof_sdw: Add support for SKU 0B11 product + - ASoC: Intel: sof_sdw: Add support for SKU 0B13 product + - ASoC: Intel: sof_sdw: Add support for SKU 0B29 product + - ASoC: Intel: sof_sdw: Add support for SKU 0B12 product + * Improve performance and idle power consumption (LP: #1941893) + - x86: ACPI: cstate: Optimize C3 entry on AMD CPUs + * Fix spurious wakeup caused by Intel 7560 WWAN (LP: #1956443) + - net: wwan: iosm: Keep device at D0 for s2idle case + * Jammy update: v5.15.13 upstream stable release (LP: #1956926) + - scsi: lpfc: Terminate string in lpfc_debugfs_nvmeio_trc_write() + - net/mlx5: Fix tc max supported prio for nic mode + * Miscellaneous Ubuntu changes + - [Packaging] Update dependency of pahole / dwarves + - [packaging] unhook lowlatency flavours from the build + - [Packaging] use default zstd compression + - [Packaging] do not use compression for image packages + - [Packaging] use xz compression for ddebs + - SAUCE: Makefile: Remove inclusion of lbm header files + - SAUCE: Makefile: Fix compiler warnings + - [Config] drop unused lowlatency configs + - [Config] update configs and annotations after rebase to v5.17-rc5 + * Miscellaneous upstream changes + - Revert "rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE" + - MAINTAINERS: Add scripts/pahole-flags.sh to BPF section + - kbuild: Add CONFIG_PAHOLE_VERSION + - lib/Kconfig.debug: Use CONFIG_PAHOLE_VERSION + - lib/Kconfig.debug: Allow BTF + DWARF5 with pahole 1.21+ + - Revert "UBUNTU: [Packaging] temporarily disable zfs" + + [ Ubuntu: 5.17.0-1.1 ] + + * Rebase to 5.17-rc1 + + [ Ubuntu: 5.17.0-0.0 ] + + * Empty entry + + -- Paolo Pisati Wed, 27 Jul 2022 12:08:21 +0200 + +linux-gcp (5.19.0-1001.1) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.19.0-1001.1 -proposed tracker (LP: #1980071) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - [Packaging] switch to kinetic 5.19.0 + - [Config] updateconfigs and annotations following 5.19.0-7.7 rebase + + -- Paolo Pisati Wed, 29 Jun 2022 12:18:32 +0200 + +linux-gcp (5.19.0-1000.0) kinetic; urgency=medium + + * Dummy entry + + -- Paolo Pisati Wed, 29 Jun 2022 12:08:07 +0200 + +linux-gcp (5.18.0-1001.1) kinetic; urgency=medium + + * kinetic/linux-gcp: 5.18.0-1001.1 -proposed tracker (LP: #1975967) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/2022.05.30) + + * Miscellaneous Ubuntu changes + - [Packaging] switch to kinetic 5.18.0 + - [Config] updateconfigs and annotations following 5.18.0-6.6 rebase + + -- Paolo Pisati Thu, 09 Jun 2022 09:06:52 +0200 + +linux-gcp (5.18.0-1000.0) kinetic; urgency=medium + + * Dummy entry + + -- Paolo Pisati Wed, 08 Jun 2022 16:11:49 +0200 + +linux-gcp (5.15.0-1004.7) jammy; urgency=medium + + * jammy/linux-gcp: 5.15.0-1004.7 -proposed tracker (LP: #1969492) + + [ Ubuntu: 5.15.0-27.28 ] + + * jammy/linux: 5.15.0-27.28 -proposed tracker (LP: #1968954) + + [ Ubuntu: 5.15.0-26.27 ] + + * jammy/linux: 5.15.0-26.27 -proposed tracker (LP: #1968850) + * CVE-2022-1016 + - netfilter: nf_tables: initialize registers in nft_do_chain() + * CVE-2022-1015 + - netfilter: nf_tables: validate registers coming from userspace. + * CVE-2022-26490 + - nfc: st21nfca: Fix potential buffer overflows in EVT_TRANSACTION + * harden indirect calls against BHI attacks (LP: #1967579) + - objtool: Classify symbols + - objtool: Explicitly avoid self modifying code in .altinstr_replacement + - objtool: Shrink struct instruction + - objtool,x86: Replace alternatives with .retpoline_sites + - x86/retpoline: Remove unused replacement symbols + - x86/asm: Fix register order + - x86/asm: Fixup odd GEN-for-each-reg.h usage + - x86/retpoline: Move the retpoline thunk declarations to nospec-branch.h + - x86/retpoline: Create a retpoline thunk array + - x86/alternative: Implement .retpoline_sites support + - x86/alternative: Handle Jcc __x86_indirect_thunk_\reg + - x86/alternative: Try inline spectre_v2=retpoline,amd + - x86/alternative: Add debug prints to apply_retpolines() + - bpf,x86: Simplify computing label offsets + - bpf,x86: Respect X86_FEATURE_RETPOLINE* + + -- Paolo Pisati Wed, 20 Apr 2022 06:14:31 +0200 + +linux-gcp (5.15.0-1003.6) jammy; urgency=medium + + * jammy/linux-gcp: 5.15.0-1003.6 -proposed tracker (LP: #1966482) + + * dependency on crda obsolete according to Debian (LP: #1958918) + - [Packaging] switch dependency from crda to wireless-regdb + + * Miscellaneous Ubuntu changes + - [gcp] add arm64 to getabis + - [Config] updateconfigs + + [ Ubuntu: 5.15.0-25.25 ] + + * jammy/linux: 5.15.0-25.25 -proposed tracker (LP: #1967146) + * Miscellaneous Ubuntu changes + - SAUCE: Revert "scsi: core: Reallocate device's budget map on queue depth + change" + + [ Ubuntu: 5.15.0-24.24 ] + + * jammy/linux: 5.15.0-24.24 -proposed tracker (LP: #1966305) + * Update OS policy capability handshake (LP: #1966089) + - thermal: int340x: Update OS policy capability handshake + * Jammy update: v5.15.30 upstream stable release (LP: #1966057) + - Revert "xfrm: state and policy should fail if XFRMA_IF_ID 0" + - arm64: dts: rockchip: fix rk3399-puma-haikou USB OTG mode + - xfrm: Check if_id in xfrm_migrate + - xfrm: Fix xfrm migrate issues when address family changes + - arm64: dts: rockchip: fix rk3399-puma eMMC HS400 signal integrity + - arm64: dts: rockchip: align pl330 node name with dtschema + - arm64: dts: rockchip: reorder rk3399 hdmi clocks + - arm64: dts: agilex: use the compatible "intel,socfpga-agilex-hsotg" + - ARM: dts: rockchip: reorder rk322x hmdi clocks + - ARM: dts: rockchip: fix a typo on rk3288 crypto-controller + - mac80211: refuse aggregations sessions before authorized + - MIPS: smp: fill in sibling and core maps earlier + - ARM: 9178/1: fix unmet dependency on BITREVERSE for HAVE_ARCH_BITREVERSE + - Bluetooth: hci_core: Fix leaking sent_cmd skb + - can: rcar_canfd: rcar_canfd_channel_probe(): register the CAN device when + fully ready + - atm: firestream: check the return value of ioremap() in fs_init() + - iwlwifi: don't advertise TWT support + - drm/vrr: Set VRR capable prop only if it is attached to connector + - nl80211: Update bss channel on channel switch for P2P_CLIENT + - tcp: make tcp_read_sock() more robust + - sfc: extend the locking on mcdi->seqno + - bnx2: Fix an error message + - kselftest/vm: fix tests build with old libc + - x86/module: Fix the paravirt vs alternative order + - ice: Fix race condition during interface enslave + - Linux 5.15.30 + * Jammy update: v5.15.29 upstream stable release (LP: #1966056) + - arm64: dts: qcom: sm8350: Describe GCC dependency clocks + - arm64: dts: qcom: sm8350: Correct UFS symbol clocks + - HID: elo: Revert USB reference counting + - HID: hid-thrustmaster: fix OOB read in thrustmaster_interrupts + - ARM: boot: dts: bcm2711: Fix HVS register range + - clk: qcom: gdsc: Add support to update GDSC transition delay + - clk: qcom: dispcc: Update the transition delay for MDSS GDSC + - HID: vivaldi: fix sysfs attributes leak + - arm64: dts: armada-3720-turris-mox: Add missing ethernet0 alias + - tipc: fix kernel panic when enabling bearer + - vdpa/mlx5: add validation for VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET command + - vduse: Fix returning wrong type in vduse_domain_alloc_iova() + - net: phy: meson-gxl: fix interrupt handling in forced mode + - mISDN: Fix memory leak in dsp_pipeline_build() + - vhost: fix hung thread due to erroneous iotlb entries + - virtio-blk: Don't use MAX_DISCARD_SEGMENTS if max_discard_seg is zero + - vdpa: fix use-after-free on vp_vdpa_remove + - isdn: hfcpci: check the return value of dma_set_mask() in setup_hw() + - net: qlogic: check the return value of dma_alloc_coherent() in + qed_vf_hw_prepare() + - esp: Fix possible buffer overflow in ESP transformation + - esp: Fix BEET mode inter address family tunneling on GSO + - qed: return status of qed_iov_get_link + - smsc95xx: Ignore -ENODEV errors when device is unplugged + - gpiolib: acpi: Convert ACPI value of debounce to microseconds + - drm/sun4i: mixer: Fix P010 and P210 format numbers + - net: dsa: mt7530: fix incorrect test in mt753x_phylink_validate() + - ARM: dts: aspeed: Fix AST2600 quad spi group + - iavf: Fix handling of vlan strip virtual channel messages + - i40e: stop disabling VFs due to PF error responses + - ice: stop disabling VFs due to PF error responses + - ice: Fix error with handling of bonding MTU + - ice: Don't use GFP_KERNEL in atomic context + - ice: Fix curr_link_speed advertised speed + - ethernet: Fix error handling in xemaclite_of_probe + - tipc: fix incorrect order of state message data sanity check + - net: ethernet: ti: cpts: Handle error for clk_enable + - net: ethernet: lpc_eth: Handle error for clk_enable + - net: marvell: prestera: Add missing of_node_put() in + prestera_switch_set_base_mac_addr + - ax25: Fix NULL pointer dereference in ax25_kill_by_device + - net/mlx5: Fix size field in bufferx_reg struct + - net/mlx5: Fix a race on command flush flow + - net/mlx5e: Lag, Only handle events from highest priority multipath entry + - NFC: port100: fix use-after-free in port100_send_complete + - selftests: pmtu.sh: Kill tcpdump processes launched by subshell. + - selftests: pmtu.sh: Kill nettest processes launched in subshell. + - gpio: ts4900: Do not set DAT and OE together + - gianfar: ethtool: Fix refcount leak in gfar_get_ts_info + - net: phy: DP83822: clear MISR2 register to disable interrupts + - sctp: fix kernel-infoleak for SCTP sockets + - net: bcmgenet: Don't claim WOL when its not available + - net: phy: meson-gxl: improve link-up behavior + - selftests/bpf: Add test for bpf_timer overwriting crash + - swiotlb: fix info leak with DMA_FROM_DEVICE + - usb: dwc3: pci: add support for the Intel Raptor Lake-S + - pinctrl: tigerlake: Revert "Add Alder Lake-M ACPI ID" + - KVM: Fix lockdep false negative during host resume + - kvm: x86: Disable KVM_HC_CLOCK_PAIRING if tsc is in always catchup mode + - spi: rockchip: Fix error in getting num-cs property + - spi: rockchip: terminate dma transmission when slave abort + - drm/vc4: hdmi: Unregister codec device on unbind + - x86/kvm: Don't use pv tlb/ipi/sched_yield if on 1 vCPU + - net-sysfs: add check for netdevice being present to speed_show + - hwmon: (pmbus) Clear pmbus fault/warning bits after read + - PCI: Mark all AMD Navi10 and Navi14 GPU ATS as broken + - gpio: Return EPROBE_DEFER if gc->to_irq is NULL + - drm/amdgpu: bypass tiling flag check in virtual display case (v2) + - Revert "xen-netback: remove 'hotplug-status' once it has served its purpose" + - Revert "xen-netback: Check for hotplug-status existence before watching" + - ipv6: prevent a possible race condition with lifetimes + - tracing: Ensure trace buffer is at least 4096 bytes large + - tracing/osnoise: Make osnoise_main to sleep for microseconds + - selftest/vm: fix map_fixed_noreplace test failure + - selftests/memfd: clean up mapping in mfd_fail_write + - ARM: Spectre-BHB: provide empty stub for non-config + - fuse: fix fileattr op failure + - fuse: fix pipe buffer lifetime for direct_io + - staging: rtl8723bs: Fix access-point mode deadlock + - staging: gdm724x: fix use after free in gdm_lte_rx() + - net: macb: Fix lost RX packet wakeup race in NAPI receive + - riscv: alternative only works on !XIP_KERNEL + - mmc: meson: Fix usage of meson_mmc_post_req() + - riscv: Fix auipc+jalr relocation range checks + - tracing/osnoise: Force quiescent states while tracing + - arm64: dts: marvell: armada-37xx: Remap IO space to bus address 0x0 + - arm64: Ensure execute-only permissions are not allowed without EPAN + - arm64: kasan: fix include error in MTE functions + - swiotlb: rework "fix info leak with DMA_FROM_DEVICE" + - KVM: x86/mmu: kvm_faultin_pfn has to return false if pfh is returned + - virtio: unexport virtio_finalize_features + - virtio: acknowledge all features before access + - net/mlx5: Fix offloading with ESWITCH_IPV4_TTL_MODIFY_ENABLE + - ARM: fix Thumb2 regression with Spectre BHB + - watch_queue: Fix filter limit check + - watch_queue, pipe: Free watchqueue state after clearing pipe ring + - watch_queue: Fix to release page in ->release() + - watch_queue: Fix to always request a pow-of-2 pipe ring size + - watch_queue: Fix the alloc bitmap size to reflect notes allocated + - watch_queue: Free the alloc bitmap when the watch_queue is torn down + - watch_queue: Fix lack of barrier/sync/lock between post and read + - watch_queue: Make comment about setting ->defunct more accurate + - x86/boot: Fix memremap of setup_indirect structures + - x86/boot: Add setup_indirect support in early_memremap_is_setup_data() + - x86/sgx: Free backing memory after faulting the enclave page + - x86/traps: Mark do_int3() NOKPROBE_SYMBOL + - drm/panel: Select DRM_DP_HELPER for DRM_PANEL_EDP + - btrfs: make send work with concurrent block group relocation + - drm/i915: Workaround broken BIOS DBUF configuration on TGL/RKL + - riscv: dts: k210: fix broken IRQs on hart1 + - block: drop unused includes in + - Revert "net: dsa: mv88e6xxx: flush switchdev FDB workqueue before removing + VLAN" + - vhost: allow batching hint without size + - Linux 5.15.29 + * Jammy update: v5.15.28 upstream stable release (LP: #1966055) + - slip: fix macro redefine warning + - ARM: fix co-processor register typo + - ARM: Do not use NOCROSSREFS directive with ld.lld + - arm64: Do not include __READ_ONCE() block in assembly files + - ARM: fix build warning in proc-v7-bugs.c + - xen/xenbus: don't let xenbus_grant_ring() remove grants in error case + - xen/grant-table: add gnttab_try_end_foreign_access() + - xen/blkfront: don't use gnttab_query_foreign_access() for mapped status + - xen/netfront: don't use gnttab_query_foreign_access() for mapped status + - xen/scsifront: don't use gnttab_query_foreign_access() for mapped status + - xen/gntalloc: don't use gnttab_query_foreign_access() + - xen: remove gnttab_query_foreign_access() + - xen/9p: use alloc/free_pages_exact() + - xen/pvcalls: use alloc/free_pages_exact() + - xen/gnttab: fix gnttab_end_foreign_access() without page specified + - xen/netfront: react properly to failing gnttab_end_foreign_access_ref() + - Revert "ACPI: PM: s2idle: Cancel wakeup before dispatching EC GPE" + - Linux 5.15.28 + * zfcpdump-kernel update to v5.15 (LP: #1965766) + - SAUCE: Audit: Fix incorrect static inline function declration. + * [22.04 FEAT] SMC-R v2 Support (LP: #1929035) + - net/smc: save stack space and allocate smc_init_info + - net/smc: prepare for SMC-Rv2 connection + - net/smc: add SMC-Rv2 connection establishment + - net/smc: add listen processing for SMC-Rv2 + - net/smc: add v2 format of CLC decline message + - net/smc: retrieve v2 gid from IB device + - net/smc: add v2 support to the work request layer + - net/smc: extend LLC layer for SMC-Rv2 + - net/smc: add netlink support for SMC-Rv2 + - net/smc: stop links when their GID is removed + - net/smc: fix kernel panic caused by race of smc_sock + - net/smc: Fix hung_task when removing SMC-R devices + * [22.04 FEAT] Transparent PCI device recovery (LP: #1959532) + - s390/pci: tolerate inconsistent handle in recover + - s390/pci: add simpler s390dbf traces for events + - s390/pci: refresh function handle in iomap + - s390/pci: implement reset_slot for hotplug slot + - PCI: Export pci_dev_lock() + - s390/pci: implement minimal PCI error recovery + * Mute/mic LEDs no function on some HP platfroms (LP: #1965080) + - ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machines + * [22.04 FEAT] smc: Add User-defined EID (Enterprise ID) Support - kernel + (LP: #1929060) + - net/smc: add support for user defined EIDs + - net/smc: keep static copy of system EID + - net/smc: add generic netlink support for system EID + * Rotate to 2021v1 signing key (LP: #1964990) + - [Packaging] Rotate to 2021v1 signing key + * [22.04 FEAT] zcrypt DD: Exploitation Support of new IBM Z Crypto Hardware + (kernel part) (LP: #1959547) + - s390/zcrypt: rework of debug feature messages + - s390/ap/zcrypt: debug feature improvements + - s390/zcrypt: CEX8S exploitation support + - s390/zcrypt: handle checkstopped cards with new state + - s390/zcrypt: Support CPRB minor version T7 + - s390/zcrypt: change reply buffer size offering + - s390/zcrypt: Provide target domain for EP11 cprbs to scheduling function + - s390/airq: use DMA memory for summary indicators + * [22.04 FEAT] [VS2103] Set KVM_CAP_S390_MEM_OP_EXTENSION capability to 211 + (LP: #1963901) + - SAUCE: Set KVM_CAP_S390_MEM_OP_EXTENSION capability to 211 + * dependency on crda obsolete according to Debian (LP: #1958918) + - [Packaging] switch dependency from crda to wireless-regdb + * Cirrus audio support [1028:0BB5] & [1028:0BB6] (LP: #1964748) + - ALSA: hda/cs8409: Add new Warlock SKUs to patch_cs8409 + * Miscellaneous Ubuntu changes + - [Packaging] mark dkms-build-configure--zfs executable + - [Packaging] Fix bashism in dkms-build script + - [Packaging] Always catch errors in dkms-build scripts + - [Config] toolchain version update + * Miscellaneous upstream changes + - Ubuntu: remove leftover reference to ubuntu/hio driver + - Reverting commits 61005756c824 and cdb0f8e66513 due to a conflict with + LP#1929035. Re-pick them afterwards, which will establish the upstream + commit content and order again. + - Revert "UBUNTU: [Packaging] Rotate to 2021v1 signing key" + + [ Ubuntu: 5.15.0-23.23 ] + + * jammy/linux: 5.15.0-23.23 -proposed tracker (LP: #1964573) + * Packaging resync (LP: #1786013) + - [Packaging] resync dkms-build{,--nvidia-N} from LRMv5 + - debian/dkms-versions -- update from kernel-versions (main/master) + * [22.04 FEAT] KVM: Enable GISA support for Secure Execution guests + (LP: #1959977) + - KVM: s390: pv: make use of ultravisor AIV support + * intel_iommu breaks Intel IPU6 camera: isys port open ready failed -16 + (LP: #1958004) + - SAUCE: iommu: intel-ipu: use IOMMU passthrough mode for Intel IPUs + * CVE-2022-23960 + - ARM: report Spectre v2 status through sysfs + - ARM: early traps initialisation + - ARM: use LOADADDR() to get load address of sections + - ARM: Spectre-BHB workaround + - ARM: include unprivileged BPF status in Spectre V2 reporting + - arm64: Add Neoverse-N2, Cortex-A710 CPU part definition + - arm64: Add HWCAP for self-synchronising virtual counter + - arm64: Add Cortex-X2 CPU part definition + - arm64: add ID_AA64ISAR2_EL1 sys register + - arm64: cpufeature: add HWCAP for FEAT_AFP + - arm64: cpufeature: add HWCAP for FEAT_RPRES + - arm64: entry.S: Add ventry overflow sanity checks + - arm64: spectre: Rename spectre_v4_patch_fw_mitigation_conduit + - KVM: arm64: Allow indirect vectors to be used without SPECTRE_V3A + - arm64: entry: Make the trampoline cleanup optional + - arm64: entry: Free up another register on kpti's tramp_exit path + - arm64: entry: Move the trampoline data page before the text page + - arm64: entry: Allow tramp_alias to access symbols after the 4K boundary + - arm64: entry: Don't assume tramp_vectors is the start of the vectors + - arm64: entry: Move trampoline macros out of ifdef'd section + - arm64: entry: Make the kpti trampoline's kpti sequence optional + - arm64: entry: Allow the trampoline text to occupy multiple pages + - arm64: entry: Add non-kpti __bp_harden_el1_vectors for mitigations + - arm64: entry: Add vectors that have the bhb mitigation sequences + - arm64: entry: Add macro for reading symbol addresses from the trampoline + - arm64: Add percpu vectors for EL1 + - arm64: proton-pack: Report Spectre-BHB vulnerabilities as part of Spectre-v2 + - arm64: Mitigate spectre style branch history side channels + - KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated + - arm64: Use the clearbhb instruction in mitigations + - arm64: proton-pack: Include unprivileged eBPF status in Spectre v2 + mitigation reporting + - ARM: fix build error when BPF_SYSCALL is disabled + * CVE-2021-26401 + - x86/speculation: Use generic retpoline by default on AMD + - x86/speculation: Update link to AMD speculation whitepaper + - x86/speculation: Warn about Spectre v2 LFENCE mitigation + - x86/speculation: Warn about eIBRS + LFENCE + Unprivileged eBPF + SMT + * CVE-2022-0001 + - x86,bugs: Unconditionally allow spectre_v2=retpoline,amd + - x86/speculation: Rename RETPOLINE_AMD to RETPOLINE_LFENCE + - x86/speculation: Add eIBRS + Retpoline options + - Documentation/hw-vuln: Update spectre doc + - x86/speculation: Include unprivileged eBPF status in Spectre v2 mitigation + reporting + * Jammy update: v5.15.27 upstream stable release (LP: #1964361) + - mac80211_hwsim: report NOACK frames in tx_status + - mac80211_hwsim: initialize ieee80211_tx_info at hw_scan_work + - i2c: bcm2835: Avoid clock stretching timeouts + - ASoC: rt5668: do not block workqueue if card is unbound + - ASoC: rt5682: do not block workqueue if card is unbound + - regulator: core: fix false positive in regulator_late_cleanup() + - Input: clear BTN_RIGHT/MIDDLE on buttonpads + - btrfs: get rid of warning on transaction commit when using flushoncommit + - KVM: arm64: vgic: Read HW interrupt pending state from the HW + - block: loop:use kstatfs.f_bsize of backing file to set discard granularity + - tipc: fix a bit overflow in tipc_crypto_key_rcv() + - cifs: do not use uninitialized data in the owner/group sid + - cifs: fix double free race when mount fails in cifs_get_root() + - cifs: modefromsids must add an ACE for authenticated users + - selftests/seccomp: Fix seccomp failure by adding missing headers + - drm/amd/pm: correct UMD pstate clocks for Dimgrey Cavefish and Beige Goby + - dmaengine: shdma: Fix runtime PM imbalance on error + - i2c: cadence: allow COMPILE_TEST + - i2c: imx: allow COMPILE_TEST + - i2c: qup: allow COMPILE_TEST + - net: usb: cdc_mbim: avoid altsetting toggling for Telit FN990 + - block-map: add __GFP_ZERO flag for alloc_page in function bio_copy_kern + - usb: gadget: don't release an existing dev->buf + - usb: gadget: clear related members when goto fail + - exfat: reuse exfat_inode_info variable instead of calling EXFAT_I() + - exfat: fix i_blocks for files truncated over 4 GiB + - tracing: Add test for user space strings when filtering on string pointers + - arm64: Mark start_backtrace() notrace and NOKPROBE_SYMBOL + - serial: stm32: prevent TDR register overwrite when sending x_char + - ext4: drop ineligible txn start stop APIs + - ext4: simplify updating of fast commit stats + - ext4: fast commit may not fallback for ineligible commit + - ext4: fast commit may miss file actions + - sched/fair: Fix fault in reweight_entity + - ata: pata_hpt37x: fix PCI clock detection + - drm/amdgpu: check vm ready by amdgpu_vm->evicting flag + - tracing: Add ustring operation to filtering string pointers + - ipv6: fix skb drops in igmp6_event_query() and igmp6_event_report() + - NFSD: Have legacy NFSD WRITE decoders use xdr_stream_subsegment() + - NFSD: Fix zero-length NFSv3 WRITEs + - io_uring: fix no lock protection for ctx->cq_extra + - tools/resolve_btf_ids: Close ELF file on error + - mtd: spi-nor: Fix mtd size for s3an flashes + - MIPS: fix local_{add,sub}_return on MIPS64 + - signal: In get_signal test for signal_group_exit every time through the loop + - PCI: mediatek-gen3: Disable DVFSRC voltage request + - PCI: rcar: Check if device is runtime suspended instead of + __clk_is_enabled() + - PCI: dwc: Do not remap invalid res + - PCI: aardvark: Fix checking for MEM resource type + - KVM: VMX: Don't unblock vCPU w/ Posted IRQ if IRQs are disabled in guest + - KVM: s390: Ensure kvm_arch_no_poll() is read once when blocking vCPU + - KVM: VMX: Read Posted Interrupt "control" exactly once per loop iteration + - KVM: X86: Ensure that dirty PDPTRs are loaded + - KVM: x86: Handle 32-bit wrap of EIP for EMULTYPE_SKIP with flat code seg + - KVM: x86: Exit to userspace if emulation prepared a completion callback + - i3c: fix incorrect address slot lookup on 64-bit + - i3c/master/mipi-i3c-hci: Fix a potentially infinite loop in + 'hci_dat_v1_get_index()' + - tracing: Do not let synth_events block other dyn_event systems during create + - Input: ti_am335x_tsc - set ADCREFM for X configuration + - Input: ti_am335x_tsc - fix STEPCONFIG setup for Z2 + - PCI: mvebu: Check for errors from pci_bridge_emul_init() call + - PCI: mvebu: Do not modify PCI IO type bits in conf_write + - PCI: mvebu: Fix support for bus mastering and PCI_COMMAND on emulated bridge + - PCI: mvebu: Fix configuring secondary bus of PCIe Root Port via emulated + bridge + - PCI: mvebu: Setup PCIe controller to Root Complex mode + - PCI: mvebu: Fix support for PCI_BRIDGE_CTL_BUS_RESET on emulated bridge + - PCI: mvebu: Fix support for PCI_EXP_DEVCTL on emulated bridge + - PCI: mvebu: Fix support for PCI_EXP_RTSTA on emulated bridge + - PCI: mvebu: Fix support for DEVCAP2, DEVCTL2 and LNKCTL2 registers on + emulated bridge + - NFSD: Fix verifier returned in stable WRITEs + - Revert "nfsd: skip some unnecessary stats in the v4 case" + - nfsd: fix crash on COPY_NOTIFY with special stateid + - x86/hyperv: Properly deal with empty cpumasks in hyperv_flush_tlb_multi() + - drm/i915: don't call free_mmap_offset when purging + - SUNRPC: Fix sockaddr handling in the svc_xprt_create_error trace point + - SUNRPC: Fix sockaddr handling in svcsock_accept_class trace points + - drm/sun4i: dw-hdmi: Fix missing put_device() call in sun8i_hdmi_phy_get + - drm/atomic: Check new_crtc_state->active to determine if CRTC needs disable + in self refresh mode + - ntb_hw_switchtec: Fix pff ioread to read into mmio_part_cfg_all + - ntb_hw_switchtec: Fix bug with more than 32 partitions + - drm/amdkfd: Check for null pointer after calling kmemdup + - drm/amdgpu: use spin_lock_irqsave to avoid deadlock by local interrupt + - i3c: master: dw: check return of dw_i3c_master_get_free_pos() + - dma-buf: cma_heap: Fix mutex locking section + - tracing/uprobes: Check the return value of kstrdup() for tu->filename + - tracing/probes: check the return value of kstrndup() for pbuf + - mm: defer kmemleak object creation of module_alloc() + - kasan: fix quarantine conflicting with init_on_free + - selftests/vm: make charge_reserved_hugetlb.sh work with existing cgroup + setting + - hugetlbfs: fix off-by-one error in hugetlb_vmdelete_list() + - drm/amdgpu/display: Only set vblank_disable_immediate when PSR is not + enabled + - drm/amdgpu: filter out radeon PCI device IDs + - drm/amdgpu: filter out radeon secondary ids as well + - drm/amd/display: Use adjusted DCN301 watermarks + - drm/amd/display: move FPU associated DSC code to DML folder + - ethtool: Fix link extended state for big endian + - octeontx2-af: Optimize KPU1 processing for variable-length headers + - octeontx2-af: Reset PTP config in FLR handler + - octeontx2-af: cn10k: RPM hardware timestamp configuration + - octeontx2-af: cn10k: Use appropriate register for LMAC enable + - octeontx2-af: Adjust LA pointer for cpt parse header + - octeontx2-af: Add KPU changes to parse NGIO as separate layer + - net/mlx5e: IPsec: Refactor checksum code in tx data path + - net/mlx5e: IPsec: Fix crypto offload for non TCP/UDP encapsulated traffic + - bpf: Use u64_stats_t in struct bpf_prog_stats + - bpf: Fix possible race in inc_misses_counter + - drm/amd/display: Update watermark values for DCN301 + - drm: mxsfb: Set fallback bus format when the bridge doesn't provide one + - drm: mxsfb: Fix NULL pointer dereference + - riscv/mm: Add XIP_FIXUP for phys_ram_base + - drm/i915/display: split out dpt out of intel_display.c + - drm/i915/display: Move DRRS code its own file + - drm/i915: Disable DRRS on IVB/HSW port != A + - gve: Recording rx queue before sending to napi + - net: dsa: ocelot: seville: utilize of_mdiobus_register + - net: dsa: seville: register the mdiobus under devres + - ibmvnic: don't release napi in __ibmvnic_open() + - of: net: move of_net under net/ + - net: ethernet: litex: Add the dependency on HAS_IOMEM + - drm/mediatek: mtk_dsi: Reset the dsi0 hardware + - cifs: protect session channel fields with chan_lock + - cifs: fix confusing unneeded warning message on smb2.1 and earlier + - drm/amd/display: Fix stream->link_enc unassigned during stream removal + - bnxt_en: Fix occasional ethtool -t loopback test failures + - drm/amd/display: For vblank_disable_immediate, check PSR is really used + - PCI: mvebu: Fix device enumeration regression + - net: of: fix stub of_net helpers for CONFIG_NET=n + - ALSA: intel_hdmi: Fix reference to PCM buffer address + - ucounts: Fix systemd LimitNPROC with private users regression + - riscv/efi_stub: Fix get_boot_hartid_from_fdt() return value + - riscv: Fix config KASAN && SPARSEMEM && !SPARSE_VMEMMAP + - riscv: Fix config KASAN && DEBUG_VIRTUAL + - iwlwifi: mvm: check debugfs_dir ptr before use + - ASoC: ops: Shift tested values in snd_soc_put_volsw() by +min + - iommu/vt-d: Fix double list_add when enabling VMD in scalable mode + - iommu/amd: Recover from event log overflow + - drm/i915: s/JSP2/ICP2/ PCH + - drm/amd/display: Reduce dmesg error to a debug print + - xen/netfront: destroy queues before real_num_tx_queues is zeroed + - thermal: core: Fix TZ_GET_TRIP NULL pointer dereference + - mac80211: fix EAPoL rekey fail in 802.3 rx path + - blktrace: fix use after free for struct blk_trace + - ntb: intel: fix port config status offset for SPR + - mm: Consider __GFP_NOWARN flag for oversized kvmalloc() calls + - xfrm: fix MTU regression + - netfilter: fix use-after-free in __nf_register_net_hook() + - bpf, sockmap: Do not ignore orig_len parameter + - xfrm: fix the if_id check in changelink + - xfrm: enforce validity of offload input flags + - e1000e: Correct NVM checksum verification flow + - net: fix up skbs delta_truesize in UDP GRO frag_list + - netfilter: nf_queue: don't assume sk is full socket + - netfilter: nf_queue: fix possible use-after-free + - netfilter: nf_queue: handle socket prefetch + - batman-adv: Request iflink once in batadv-on-batadv check + - batman-adv: Request iflink once in batadv_get_real_netdevice + - batman-adv: Don't expect inter-netns unique iflink indices + - net: ipv6: ensure we call ipv6_mc_down() at most once + - net: dcb: flush lingering app table entries for unregistered devices + - net: ipa: add an interconnect dependency + - net/smc: fix connection leak + - net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error generated by client + - net/smc: fix unexpected SMC_CLC_DECL_ERR_REGRMB error cause by server + - btrfs: fix ENOSPC failure when attempting direct IO write into NOCOW range + - mac80211: fix forwarded mesh frames AC & queue selection + - net: stmmac: fix return value of __setup handler + - mac80211: treat some SAE auth steps as final + - iavf: Fix missing check for running netdev + - net: sxgbe: fix return value of __setup handler + - ibmvnic: register netdev after init of adapter + - net: arcnet: com20020: Fix null-ptr-deref in com20020pci_probe() + - ixgbe: xsk: change !netif_carrier_ok() handling in ixgbe_xmit_zc() + - iavf: Fix deadlock in iavf_reset_task + - efivars: Respect "block" flag in efivar_entry_set_safe() + - auxdisplay: lcd2s: Fix lcd2s_redefine_char() feature + - firmware: arm_scmi: Remove space in MODULE_ALIAS name + - ASoC: cs4265: Fix the duplicated control name + - auxdisplay: lcd2s: Fix memory leak in ->remove() + - auxdisplay: lcd2s: Use proper API to free the instance of charlcd object + - can: gs_usb: change active_channels's type from atomic_t to u8 + - iommu/tegra-smmu: Fix missing put_device() call in tegra_smmu_find + - arm64: dts: rockchip: Switch RK3399-Gru DP to SPDIF output + - igc: igc_read_phy_reg_gpy: drop premature return + - ARM: Fix kgdb breakpoint for Thumb2 + - mips: setup: fix setnocoherentio() boolean setting + - ARM: 9182/1: mmu: fix returns from early_param() and __setup() functions + - mptcp: Correctly set DATA_FIN timeout when number of retransmits is large + - selftests: mlxsw: tc_police_scale: Make test more robust + - pinctrl: sunxi: Use unique lockdep classes for IRQs + - igc: igc_write_phy_reg_gpy: drop premature return + - ibmvnic: free reset-work-item when flushing + - memfd: fix F_SEAL_WRITE after shmem huge page allocated + - s390/extable: fix exception table sorting + - sched: Fix yet more sched_fork() races + - arm64: dts: juno: Remove GICv2m dma-range + - iommu/amd: Fix I/O page table memory leak + - MIPS: ralink: mt7621: do memory detection on KSEG1 + - ARM: dts: switch timer config to common devkit8000 devicetree + - ARM: dts: Use 32KiHz oscillator on devkit8000 + - soc: fsl: guts: Revert commit 3c0d64e867ed + - soc: fsl: guts: Add a missing memory allocation failure check + - soc: fsl: qe: Check of ioremap return value + - netfilter: nf_tables: prefer kfree_rcu(ptr, rcu) variant + - ARM: tegra: Move panels to AUX bus + - can: etas_es58x: change opened_channel_cnt's type from atomic_t to u8 + - net: stmmac: enhance XDP ZC driver level switching performance + - net: stmmac: only enable DMA interrupts when ready + - ibmvnic: initialize rc before completing wait + - ibmvnic: define flush_reset_queue helper + - ibmvnic: complete init_done on transport events + - net: chelsio: cxgb3: check the return value of pci_find_capability() + - net: sparx5: Fix add vlan when invalid operation + - iavf: Refactor iavf state machine tracking + - iavf: Add __IAVF_INIT_FAILED state + - iavf: Combine init and watchdog state machines + - iavf: Add trace while removing device + - iavf: Rework mutexes for better synchronisation + - iavf: Add helper function to go from pci_dev to adapter + - iavf: Fix kernel BUG in free_msi_irqs + - iavf: Add waiting so the port is initialized in remove + - iavf: Fix init state closure on remove + - iavf: Fix locking for VIRTCHNL_OP_GET_OFFLOAD_VLAN_V2_CAPS + - iavf: Fix race in init state + - iavf: Fix __IAVF_RESETTING state usage + - drm/i915/guc/slpc: Correct the param count for unset param + - drm/bridge: ti-sn65dsi86: Properly undo autosuspend + - e1000e: Fix possible HW unit hang after an s0ix exit + - MIPS: ralink: mt7621: use bitwise NOT instead of logical + - nl80211: Handle nla_memdup failures in handle_nan_filter + - drm/amdgpu: fix suspend/resume hang regression + - net: dcb: disable softirqs in dcbnl_flush_dev() + - selftests: mlxsw: resource_scale: Fix return value + - net: stmmac: perserve TX and RX coalesce value during XDP setup + - iavf: do not override the adapter state in the watchdog task (again) + - iavf: missing unlocks in iavf_watchdog_task() + - MAINTAINERS: adjust file entry for of_net.c after movement + - Input: elan_i2c - move regulator_[en|dis]able() out of + elan_[en|dis]able_power() + - Input: elan_i2c - fix regulator enable count imbalance after suspend/resume + - Input: samsung-keypad - properly state IOMEM dependency + - HID: add mapping for KEY_DICTATE + - HID: add mapping for KEY_ALL_APPLICATIONS + - tracing/histogram: Fix sorting on old "cpu" value + - tracing: Fix return value of __setup handlers + - btrfs: fix lost prealloc extents beyond eof after full fsync + - btrfs: fix relocation crash due to premature return from + btrfs_commit_transaction() + - btrfs: do not WARN_ON() if we have PageError set + - btrfs: qgroup: fix deadlock between rescan worker and remove qgroup + - btrfs: add missing run of delayed items after unlink during log replay + - btrfs: do not start relocation until in progress drops are done + - Revert "xfrm: xfrm_state_mtu should return at least 1280 for ipv6" + - proc: fix documentation and description of pagemap + - KVM: x86/mmu: Passing up the error state of mmu_alloc_shadow_roots() + - hamradio: fix macro redefine warning + - Linux 5.15.27 + - [Config] updateconfigs + * devices on thunderbolt dock are not recognized on adl-p platform + (LP: #1955016) + - thunderbolt: Tear down existing tunnels when resuming from hibernate + - thunderbolt: Runtime resume USB4 port when retimers are scanned + - thunderbolt: Do not allow subtracting more NFC credits than configured + - thunderbolt: Do not program path HopIDs for USB4 routers + - thunderbolt: Add debug logging of DisplayPort resource allocation + * MT7921[14c3:7961] ASPM is disabled and it affects power consumption + (LP: #1955882) + - mt76: mt7921: enable aspm by default + * Add proper runtime PM support to Realtek PCIe cardreader (LP: #1963615) + - mmc: rtsx: Use pm_runtime_{get, put}() to handle runtime PM + - misc: rtsx: Rework runtime power management flow + - misc: rtsx: Cleanup power management ops + - misc: rtsx: Quiesce rts5249 on system suspend + - mmc: rtsx: Let MMC core handle runtime PM + - misc: rtsx: conditionally build rtsx_pm_power_saving() + - misc: rtsx: rts522a rts5228 rts5261 support Runtime PM + - mmc: rtsx: Fix build errors/warnings for unused variable + - mmc: rtsx: add 74 Clocks in power on flow + * [22.04 FEAT] In-kernel crypto: SIMD implementation of chacha20 + (LP: #1853152) + - s390/crypto: add SIMD implementation for ChaCha20 + - s390/crypto: fix compile error for ChaCha20 module + * Add ConnectX7 support and bug fixes to Jammy (LP: #1962185) + - IB/mlx5: Expose NDR speed through MAD + * INVALID or PRIVATE BUG (LP: #1959890) + - [Config] Deactivate CONFIG_QETH_OSX kernel config option + * Move virtual graphics drivers from linux-modules-extra to linux-modules + (LP: #1960633) + - [Packaging] Move VM DRM drivers into modules + * Not able to enter s2idle state on AMD platforms (LP: #1961121) + - HID: amd_sfh: Handle amd_sfh work buffer in PM ops + - HID: amd_sfh: Disable the interrupt for all command + - HID: amd_sfh: Add functionality to clear interrupts + - HID: amd_sfh: Add interrupt handler to process interrupts + * INVALID or PRIVATE BUG (LP: #1960580) + - s390/kexec_file: move kernel image size check + - s390: support command lines longer than 896 bytes + * [UBUNTU 20.04] kernel: Add support for CPU-MF counter second version 7 + (LP: #1960182) + - s390/cpumf: Support for CPU Measurement Facility CSVN 7 + - s390/cpumf: Support for CPU Measurement Sampling Facility LS bit + * [SRU]PCI: vmd: Do not disable MSI-X remapping if interrupt remapping is + enabled by IOMMU (LP: #1937295) + - PCI: vmd: Do not disable MSI-X remapping if interrupt remapping is enabled + by IOMMU + * Jammy update: v5.15.26 upstream stable release (LP: #1963891) + - mm/filemap: Fix handling of THPs in generic_file_buffered_read() + - cgroup/cpuset: Fix a race between cpuset_attach() and cpu hotplug + - cgroup-v1: Correct privileges check in release_agent writes + - x86/ptrace: Fix xfpregs_set()'s incorrect xmm clearing + - btrfs: tree-checker: check item_size for inode_item + - btrfs: tree-checker: check item_size for dev_item + - clk: jz4725b: fix mmc0 clock gating + - io_uring: don't convert to jiffies for waiting on timeouts + - io_uring: disallow modification of rsrc_data during quiesce + - selinux: fix misuse of mutex_is_locked() + - vhost/vsock: don't check owner in vhost_vsock_stop() while releasing + - parisc/unaligned: Fix fldd and fstd unaligned handlers on 32-bit kernel + - parisc/unaligned: Fix ldw() and stw() unalignment handlers + - KVM: x86/mmu: make apf token non-zero to fix bug + - drm/amd/display: Protect update_bw_bounding_box FPU code. + - drm/amd/pm: fix some OEM SKU specific stability issues + - drm/amd: Check if ASPM is enabled from PCIe subsystem + - drm/amdgpu: disable MMHUB PG for Picasso + - drm/amdgpu: do not enable asic reset for raven2 + - drm/i915: Widen the QGV point mask + - drm/i915: Correctly populate use_sagv_wm for all pipes + - drm/i915: Fix bw atomic check when switching between SAGV vs. no SAGV + - sr9700: sanity check for packet length + - USB: zaurus: support another broken Zaurus + - CDC-NCM: avoid overflow in sanity checking + - netfilter: xt_socket: fix a typo in socket_mt_destroy() + - netfilter: xt_socket: missing ifdef CONFIG_IP6_NF_IPTABLES dependency + - tee: export teedev_open() and teedev_close_context() + - optee: use driver internal tee_context for some rpc + - ping: remove pr_err from ping_lookup + - Revert "i40e: Fix reset bw limit when DCB enabled with 1 TC" + - gpu: host1x: Always return syncpoint value when waiting + - perf evlist: Fix failed to use cpu list for uncore events + - perf data: Fix double free in perf_session__delete() + - mptcp: fix race in incoming ADD_ADDR option processing + - mptcp: add mibs counter for ignored incoming options + - selftests: mptcp: fix diag instability + - selftests: mptcp: be more conservative with cookie MPJ limits + - bnx2x: fix driver load from initrd + - bnxt_en: Fix active FEC reporting to ethtool + - bnxt_en: Fix offline ethtool selftest with RDMA enabled + - bnxt_en: Fix incorrect multicast rx mask setting when not requested + - hwmon: Handle failure to register sensor with thermal zone correctly + - net/mlx5: Fix tc max supported prio for nic mode + - ice: check the return of ice_ptp_gettimex64 + - ice: initialize local variable 'tlv' + - net/mlx5: Update the list of the PCI supported devices + - bpf: Fix crash due to incorrect copy_map_value + - bpf: Do not try bpf_msg_push_data with len 0 + - selftests: bpf: Check bpf_msg_push_data return value + - bpf: Fix a bpf_timer initialization issue + - bpf: Add schedule points in batch ops + - io_uring: add a schedule point in io_add_buffers() + - net: __pskb_pull_tail() & pskb_carve_frag_list() drop_monitor friends + - nvme: also mark passthrough-only namespaces ready in nvme_update_ns_info + - tipc: Fix end of loop tests for list_for_each_entry() + - gso: do not skip outer ip header in case of ipip and net_failover + - net: mv643xx_eth: process retval from of_get_mac_address + - openvswitch: Fix setting ipv6 fields causing hw csum failure + - drm/edid: Always set RGB444 + - net/mlx5e: Fix wrong return value on ioctl EEPROM query failure + - drm/vc4: crtc: Fix runtime_pm reference counting + - drm/i915/dg2: Print PHY name properly on calibration error + - net/sched: act_ct: Fix flow table lookup after ct clear or switching zones + - net: ll_temac: check the return value of devm_kmalloc() + - net: Force inlining of checksum functions in net/checksum.h + - netfilter: nf_tables: unregister flowtable hooks on netns exit + - nfp: flower: Fix a potential leak in nfp_tunnel_add_shared_mac() + - net: mdio-ipq4019: add delay after clock enable + - netfilter: nf_tables: fix memory leak during stateful obj update + - net/smc: Use a mutex for locking "struct smc_pnettable" + - surface: surface3_power: Fix battery readings on batteries without a serial + number + - udp_tunnel: Fix end of loop test in udp_tunnel_nic_unregister() + - net/mlx5: DR, Cache STE shadow memory + - ibmvnic: schedule failover only if vioctl fails + - net/mlx5: DR, Don't allow match on IP w/o matching on full + ethertype/ip_version + - net/mlx5: Fix possible deadlock on rule deletion + - net/mlx5: Fix wrong limitation of metadata match on ecpf + - net/mlx5: DR, Fix the threshold that defines when pool sync is initiated + - net/mlx5e: MPLSoUDP decap, fix check for unsupported matches + - net/mlx5e: kTLS, Use CHECKSUM_UNNECESSARY for device-offloaded packets + - net/mlx5: Update log_max_qp value to be 17 at most + - spi: spi-zynq-qspi: Fix a NULL pointer dereference in + zynq_qspi_exec_mem_op() + - gpio: rockchip: Reset int_bothedge when changing trigger + - regmap-irq: Update interrupt clear register for proper reset + - net-timestamp: convert sk->sk_tskey to atomic_t + - RDMA/rtrs-clt: Fix possible double free in error case + - RDMA/rtrs-clt: Move free_permit from free_clt to rtrs_clt_close + - bnxt_en: Increase firmware message response DMA wait time + - configfs: fix a race in configfs_{,un}register_subsystem() + - RDMA/ib_srp: Fix a deadlock + - tracing: Dump stacktrace trigger to the corresponding instance + - tracing: Have traceon and traceoff trigger honor the instance + - iio:imu:adis16480: fix buffering for devices with no burst mode + - iio: adc: men_z188_adc: Fix a resource leak in an error handling path + - iio: adc: tsc2046: fix memory corruption by preventing array overflow + - iio: adc: ad7124: fix mask used for setting AIN_BUFP & AIN_BUFM bits + - iio: accel: fxls8962af: add padding to regmap for SPI + - iio: imu: st_lsm6dsx: wait for settling time in st_lsm6dsx_read_oneshot + - iio: Fix error handling for PM + - sc16is7xx: Fix for incorrect data being transmitted + - ata: pata_hpt37x: disable primary channel on HPT371 + - Revert "USB: serial: ch341: add new Product ID for CH341A" + - usb: gadget: rndis: add spinlock for rndis response list + - USB: gadget: validate endpoint index for xilinx udc + - tracefs: Set the group ownership in apply_options() not parse_options() + - USB: serial: option: add support for DW5829e + - USB: serial: option: add Telit LE910R1 compositions + - usb: dwc2: drd: fix soft connect when gadget is unconfigured + - usb: dwc3: pci: Add "snps,dis_u2_susphy_quirk" for Intel Bay Trail + - usb: dwc3: pci: Fix Bay Trail phy GPIO mappings + - usb: dwc3: gadget: Let the interrupt handler disable bottom halves. + - xhci: re-initialize the HC during resume if HCE was set + - xhci: Prevent futile URB re-submissions due to incorrect return value. + - nvmem: core: Fix a conflict between MTD and NVMEM on wp-gpios property + - mtd: core: Fix a conflict between MTD and NVMEM on wp-gpios property + - driver core: Free DMA range map when device is released + - btrfs: prevent copying too big compressed lzo segment + - RDMA/cma: Do not change route.addr.src_addr outside state checks + - thermal: int340x: fix memory leak in int3400_notify() + - staging: fbtft: fb_st7789v: reset display before initialization + - tps6598x: clear int mask on probe failure + - IB/qib: Fix duplicate sysfs directory name + - riscv: fix nommu_k210_sdcard_defconfig + - riscv: fix oops caused by irqsoff latency tracer + - tty: n_gsm: fix encoding of control signal octet bit DV + - tty: n_gsm: fix proper link termination after failed open + - tty: n_gsm: fix NULL pointer access due to DLCI release + - tty: n_gsm: fix wrong tty control line for flow control + - tty: n_gsm: fix wrong modem processing in convergence layer type 2 + - tty: n_gsm: fix deadlock in gsmtty_open() + - pinctrl: fix loop in k210_pinconf_get_drive() + - pinctrl: k210: Fix bias-pull-up + - gpio: tegra186: Fix chip_data type confusion + - memblock: use kfree() to release kmalloced memblock regions + - ice: Fix race conditions between virtchnl handling and VF ndo ops + - ice: fix concurrent reset and removal of VFs + - Linux 5.15.26 + * Jammy update: v5.15.25 upstream stable release (LP: #1963890) + - drm/nouveau/pmu/gm200-: use alternate falcon reset sequence + - fs/proc: task_mmu.c: don't read mapcount for migration entry + - btrfs: zoned: cache reported zone during mount + - HID:Add support for UGTABLET WP5540 + - Revert "svm: Add warning message for AVIC IPI invalid target" + - parisc: Show error if wrong 32/64-bit compiler is being used + - serial: parisc: GSC: fix build when IOSAPIC is not set + - parisc: Drop __init from map_pages declaration + - parisc: Fix data TLB miss in sba_unmap_sg + - parisc: Fix sglist access in ccio-dma.c + - mmc: block: fix read single on recovery logic + - mm: don't try to NUMA-migrate COW pages that have other uses + - HID: amd_sfh: Add illuminance mask to limit ALS max value + - HID: i2c-hid: goodix: Fix a lockdep splat + - HID: amd_sfh: Increase sensor command timeout + - HID: amd_sfh: Correct the structure field name + - PCI: hv: Fix NUMA node assignment when kernel boots with custom NUMA + topology + - parisc: Add ioread64_lo_hi() and iowrite64_lo_hi() + - btrfs: send: in case of IO error log it + - platform/x86: touchscreen_dmi: Add info for the RWC NANOTE P8 AY07J 2-in-1 + - platform/x86: ISST: Fix possible circular locking dependency detected + - kunit: tool: Import missing importlib.abc + - selftests: rtc: Increase test timeout so that all tests run + - kselftest: signal all child processes + - net: ieee802154: at86rf230: Stop leaking skb's + - selftests/zram: Skip max_comp_streams interface on newer kernel + - selftests/zram01.sh: Fix compression ratio calculation + - selftests/zram: Adapt the situation that /dev/zram0 is being used + - selftests: openat2: Print also errno in failure messages + - selftests: openat2: Add missing dependency in Makefile + - selftests: openat2: Skip testcases that fail with EOPNOTSUPP + - selftests: skip mincore.check_file_mmap when fs lacks needed support + - ax25: improve the incomplete fix to avoid UAF and NPD bugs + - pinctrl: bcm63xx: fix unmet dependency on REGMAP for GPIO_REGMAP + - vfs: make freeze_super abort when sync_filesystem returns error + - quota: make dquot_quota_sync return errors from ->sync_fs + - scsi: pm80xx: Fix double completion for SATA devices + - kselftest: Fix vdso_test_abi return status + - scsi: core: Reallocate device's budget map on queue depth change + - scsi: pm8001: Fix use-after-free for aborted TMF sas_task + - scsi: pm8001: Fix use-after-free for aborted SSP/STP sas_task + - drm/amd: Warn users about potential s0ix problems + - nvme: fix a possible use-after-free in controller reset during load + - nvme-tcp: fix possible use-after-free in transport error_recovery work + - nvme-rdma: fix possible use-after-free in transport error_recovery work + - net: sparx5: do not refer to skb after passing it on + - drm/amd: add support to check whether the system is set to s3 + - drm/amd: Only run s3 or s0ix if system is configured properly + - drm/amdgpu: fix logic inversion in check + - x86/Xen: streamline (and fix) PV CPU enumeration + - Revert "module, async: async_synchronize_full() on module init iff async is + used" + - gcc-plugins/stackleak: Use noinstr in favor of notrace + - random: wake up /dev/random writers after zap + - KVM: x86/xen: Fix runstate updates to be atomic when preempting vCPU + - KVM: x86: nSVM/nVMX: set nested_run_pending on VM entry which is a result of + RSM + - KVM: x86: SVM: don't passthrough SMAP/SMEP/PKE bits in !NPT && !gCR0.PG case + - KVM: x86: nSVM: fix potential NULL derefernce on nested migration + - KVM: x86: nSVM: mark vmcb01 as dirty when restoring SMM saved state + - iwlwifi: fix use-after-free + - drm/radeon: Fix backlight control on iMac 12,1 + - drm/atomic: Don't pollute crtc_state->mode_blob with error pointers + - drm/amd/pm: correct the sequence of sending gpu reset msg + - drm/amdgpu: skipping SDMA hw_init and hw_fini for S0ix. + - drm/i915/opregion: check port number bounds for SWSCI display power state + - drm/i915: Fix dbuf slice config lookup + - drm/i915: Fix mbus join config lookup + - vsock: remove vsock from connected table when connect is interrupted by a + signal + - drm/cma-helper: Set VM_DONTEXPAND for mmap + - drm/i915/gvt: Make DRM_I915_GVT depend on X86 + - drm/i915/ttm: tweak priority hint selection + - iwlwifi: pcie: fix locking when "HW not ready" + - iwlwifi: pcie: gen2: fix locking when "HW not ready" + - iwlwifi: mvm: don't send SAR GEO command for 3160 devices + - selftests: netfilter: fix exit value for nft_concat_range + - netfilter: nft_synproxy: unregister hooks on init error path + - selftests: netfilter: disable rp_filter on router + - ipv4: fix data races in fib_alias_hw_flags_set + - ipv6: fix data-race in fib6_info_hw_flags_set / fib6_purge_rt + - ipv6: mcast: use rcu-safe version of ipv6_get_lladdr() + - ipv6: per-netns exclusive flowlabel checks + - Revert "net: ethernet: bgmac: Use devm_platform_ioremap_resource_byname" + - mac80211: mlme: check for null after calling kmemdup + - brcmfmac: firmware: Fix crash in brcm_alt_fw_path + - cfg80211: fix race in netlink owner interface destruction + - net: dsa: lan9303: fix reset on probe + - net: dsa: mv88e6xxx: flush switchdev FDB workqueue before removing VLAN + - net: dsa: lantiq_gswip: fix use after free in gswip_remove() + - net: dsa: lan9303: handle hwaccel VLAN tags + - net: dsa: lan9303: add VLAN IDs to master device + - net: ieee802154: ca8210: Fix lifs/sifs periods + - ping: fix the dif and sdif check in ping_lookup + - bonding: force carrier update when releasing slave + - drop_monitor: fix data-race in dropmon_net_event / trace_napi_poll_hit + - net_sched: add __rcu annotation to netdev->qdisc + - bonding: fix data-races around agg_select_timer + - libsubcmd: Fix use-after-free for realloc(..., 0) + - net/smc: Avoid overwriting the copies of clcsock callback functions + - net: phy: mediatek: remove PHY mode check on MT7531 + - atl1c: fix tx timeout after link flap on Mikrotik 10/25G NIC + - tipc: fix wrong publisher node address in link publications + - dpaa2-switch: fix default return of dpaa2_switch_flower_parse_mirror_key + - dpaa2-eth: Initialize mutex used in one step timestamping path + - net: bridge: multicast: notify switchdev driver whenever MC processing gets + disabled + - perf bpf: Defer freeing string after possible strlen() on it + - selftests/exec: Add non-regular to TEST_GEN_PROGS + - arm64: Correct wrong label in macro __init_el2_gicv3 + - ALSA: usb-audio: revert to IMPLICIT_FB_FIXED_DEV for M-Audio FastTrack Ultra + - ALSA: hda/realtek: Add quirk for Legion Y9000X 2019 + - ALSA: hda/realtek: Fix deadlock by COEF mutex + - ALSA: hda: Fix regression on forced probe mask option + - ALSA: hda: Fix missing codec probe on Shenker Dock 15 + - ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw() + - ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw_range() + - ASoC: ops: Fix stereo change notifications in snd_soc_put_volsw_sx() + - ASoC: ops: Fix stereo change notifications in snd_soc_put_xr_sx() + - cifs: fix set of group SID via NTSD xattrs + - powerpc/603: Fix boot failure with DEBUG_PAGEALLOC and KFENCE + - powerpc/lib/sstep: fix 'ptesync' build error + - mtd: rawnand: gpmi: don't leak PM reference in error path + - smb3: fix snapshot mount option + - tipc: fix wrong notification node addresses + - scsi: ufs: Remove dead code + - scsi: ufs: Fix a deadlock in the error handler + - ASoC: tas2770: Insert post reset delay + - ASoC: qcom: Actually clear DMA interrupt register for HDMI + - block/wbt: fix negative inflight counter when remove scsi device + - NFS: Remove an incorrect revalidation in nfs4_update_changeattr_locked() + - NFS: LOOKUP_DIRECTORY is also ok with symlinks + - NFS: Do not report writeback errors in nfs_getattr() + - tty: n_tty: do not look ahead for EOL character past the end of the buffer + - block: fix surprise removal for drivers calling blk_set_queue_dying + - mtd: rawnand: qcom: Fix clock sequencing in qcom_nandc_probe() + - mtd: parsers: qcom: Fix kernel panic on skipped partition + - mtd: parsers: qcom: Fix missing free for pparts in cleanup + - mtd: phram: Prevent divide by zero bug in phram_setup() + - mtd: rawnand: brcmnand: Fixed incorrect sub-page ECC status + - HID: elo: fix memory leak in elo_probe + - mtd: rawnand: ingenic: Fix missing put_device in ingenic_ecc_get + - Drivers: hv: vmbus: Fix memory leak in vmbus_add_channel_kobj + - KVM: x86/pmu: Refactoring find_arch_event() to pmc_perf_hw_id() + - KVM: x86/pmu: Don't truncate the PerfEvtSeln MSR when creating a perf event + - KVM: x86/pmu: Use AMD64_RAW_EVENT_MASK for PERF_TYPE_RAW + - ARM: OMAP2+: hwmod: Add of_node_put() before break + - ARM: OMAP2+: adjust the location of put_device() call in omapdss_init_of + - phy: usb: Leave some clocks running during suspend + - staging: vc04_services: Fix RCU dereference check + - phy: phy-mtk-tphy: Fix duplicated argument in phy-mtk-tphy + - irqchip/sifive-plic: Add missing thead,c900-plic match string + - x86/bug: Merge annotate_reachable() into _BUG_FLAGS() asm + - netfilter: conntrack: don't refresh sctp entries in closed state + - ksmbd: fix same UniqueId for dot and dotdot entries + - ksmbd: don't align last entry offset in smb2 query directory + - arm64: dts: meson-gx: add ATF BL32 reserved-memory region + - arm64: dts: meson-g12: add ATF BL32 reserved-memory region + - arm64: dts: meson-g12: drop BL32 region from SEI510/SEI610 + - pidfd: fix test failure due to stack overflow on some arches + - selftests: fixup build warnings in pidfd / clone3 tests + - mm: io_uring: allow oom-killer from io_uring_setup + - kconfig: let 'shell' return enough output for deep path names + - ata: libata-core: Disable TRIM on M88V29 + - soc: aspeed: lpc-ctrl: Block error printing on probe defer cases + - xprtrdma: fix pointer derefs in error cases of rpcrdma_ep_create + - drm/rockchip: dw_hdmi: Do not leave clock enabled in error case + - tracing: Fix tp_printk option related with tp_printk_stop_on_boot + - display/amd: decrease message verbosity about watermarks table failure + - drm/amd/display: Cap pflip irqs per max otg number + - drm/amd/display: fix yellow carp wm clamping + - net: usb: qmi_wwan: Add support for Dell DW5829e + - net: macb: Align the dma and coherent dma masks + - kconfig: fix failing to generate auto.conf + - scsi: lpfc: Fix pt2pt NVMe PRLI reject LOGO loop + - EDAC: Fix calculation of returned address and next offset in + edac_align_ptr() + - ucounts: Handle wrapping in is_ucounts_overlimit + - ucounts: In set_cred_ucounts assume new->ucounts is non-NULL + - ucounts: Base set_cred_ucounts changes on the real user + - ucounts: Enforce RLIMIT_NPROC not RLIMIT_NPROC+1 + - lib/iov_iter: initialize "flags" in new pipe_buffer + - rlimit: Fix RLIMIT_NPROC enforcement failure caused by capability calls in + set_user + - ucounts: Move RLIMIT_NPROC handling after set_user + - net: sched: limit TC_ACT_REPEAT loops + - dmaengine: sh: rcar-dmac: Check for error num after setting mask + - dmaengine: stm32-dmamux: Fix PM disable depth imbalance in + stm32_dmamux_probe + - dmaengine: sh: rcar-dmac: Check for error num after dma_set_max_seg_size + - tests: fix idmapped mount_setattr test + - i2c: qcom-cci: don't delete an unregistered adapter + - i2c: qcom-cci: don't put a device tree node before i2c_add_adapter() + - dmaengine: ptdma: Fix the error handling path in pt_core_init() + - copy_process(): Move fd_install() out of sighand->siglock critical section + - scsi: qedi: Fix ABBA deadlock in qedi_process_tmf_resp() and + qedi_process_cmd_cleanup_resp() + - ice: enable parsing IPSEC SPI headers for RSS + - i2c: brcmstb: fix support for DSL and CM variants + - lockdep: Correct lock_classes index mapping + - Linux 5.15.25 + * Jammy update: v5.15.24 upstream stable release (LP: #1963889) + - integrity: check the return value of audit_log_start() + - ima: fix reference leak in asymmetric_verify() + - ima: Remove ima_policy file before directory + - ima: Allow template selection with ima_template[_fmt]= after ima_hash= + - ima: Do not print policy rule with inactive LSM labels + - mmc: sdhci-of-esdhc: Check for error num after setting mask + - mmc: core: Wait for command setting 'Power Off Notification' bit to complete + - can: isotp: fix potential CAN frame reception race in isotp_rcv() + - can: isotp: fix error path in isotp_sendmsg() to unlock wait queue + - net: phy: marvell: Fix RGMII Tx/Rx delays setting in 88e1121-compatible PHYs + - net: phy: marvell: Fix MDI-x polarity setting in 88e1118-compatible PHYs + - NFS: Fix initialisation of nfs_client cl_flags field + - NFSD: Fix NFSv3 SETATTR/CREATE's handling of large file sizes + - NFSD: Fix ia_size underflow + - NFSD: Clamp WRITE offsets + - NFSD: Fix offset type in I/O trace points + - NFSD: Fix the behavior of READ near OFFSET_MAX + - thermal/drivers/int340x: Improve the tcc offset saving for suspend/resume + - thermal/drivers/int340x: processor_thermal: Suppot 64 bit RFIM responses + - thermal: int340x: Limit Kconfig to 64-bit + - thermal/drivers/int340x: Fix RFIM mailbox write commands + - tracing: Propagate is_signed to expression + - NFS: change nfs_access_get_cached to only report the mask + - NFSv4 only print the label when its queried + - nfs: nfs4clinet: check the return value of kstrdup() + - NFSv4.1: Fix uninitialised variable in devicenotify + - NFSv4 remove zero number of fs_locations entries error check + - NFSv4 store server support for fs_location attribute + - NFSv4.1 query for fs_location attr on a new file system + - NFSv4 expose nfs_parse_server_name function + - NFSv4 handle port presence in fs_location server string + - SUNRPC allow for unspecified transport time in rpc_clnt_add_xprt + - net/sunrpc: fix reference count leaks in rpc_sysfs_xprt_state_change + - sunrpc: Fix potential race conditions in rpc_sysfs_xprt_state_change() + - irqchip/realtek-rtl: Service all pending interrupts + - perf/x86/rapl: fix AMD event handling + - x86/perf: Avoid warning for Arch LBR without XSAVE + - sched: Avoid double preemption in __cond_resched_*lock*() + - drm/vc4: Fix deadlock on DSI device attach error + - drm: panel-orientation-quirks: Add quirk for the 1Netbook OneXPlayer + - net: sched: Clarify error message when qdisc kind is unknown + - powerpc/fixmap: Fix VM debug warning on unmap + - scsi: target: iscsi: Make sure the np under each tpg is unique + - scsi: ufs: ufshcd-pltfrm: Check the return value of devm_kstrdup() + - scsi: qedf: Add stag_work to all the vports + - scsi: qedf: Fix refcount issue when LOGO is received during TMF + - scsi: qedf: Change context reset messages to ratelimited + - scsi: pm8001: Fix bogus FW crash for maxcpus=1 + - scsi: ufs: Use generic error code in ufshcd_set_dev_pwr_mode() + - scsi: ufs: Treat link loss as fatal error + - scsi: myrs: Fix crash in error case + - net: stmmac: reduce unnecessary wakeups from eee sw timer + - PM: hibernate: Remove register_nosave_region_late() + - drm/amd/display: Correct MPC split policy for DCN301 + - usb: dwc2: gadget: don't try to disable ep0 in dwc2_hsotg_suspend + - perf: Always wake the parent event + - nvme-pci: add the IGNORE_DEV_SUBNQN quirk for Intel P4500/P4600 SSDs + - MIPS: Fix build error due to PTR used in more places + - net: stmmac: dwmac-sun8i: use return val of readl_poll_timeout() + - KVM: eventfd: Fix false positive RCU usage warning + - KVM: nVMX: eVMCS: Filter out VM_EXIT_SAVE_VMX_PREEMPTION_TIMER + - KVM: nVMX: Also filter MSR_IA32_VMX_TRUE_PINBASED_CTLS when eVMCS + - KVM: SVM: Don't kill SEV guest if SMAP erratum triggers in usermode + - KVM: VMX: Set vmcs.PENDING_DBG.BS on #DB in STI/MOVSS blocking shadow + - KVM: x86: Report deprecated x87 features in supported CPUID + - riscv: fix build with binutils 2.38 + - riscv: cpu-hotplug: clear cpu from numa map when teardown + - riscv: eliminate unreliable __builtin_frame_address(1) + - gfs2: Fix gfs2_release for non-writers regression + - ARM: dts: imx23-evk: Remove MX23_PAD_SSP1_DETECT from hog group + - ARM: dts: Fix boot regression on Skomer + - ARM: socfpga: fix missing RESET_CONTROLLER + - nvme-tcp: fix bogus request completion when failing to send AER + - ACPI/IORT: Check node revision for PMCG resources + - PM: s2idle: ACPI: Fix wakeup interrupts handling + - drm/amdgpu/display: change pipe policy for DCN 2.0 + - drm/rockchip: vop: Correct RK3399 VOP register fields + - drm/i915: Allow !join_mbus cases for adlp+ dbuf configuration + - drm/i915: Populate pipe dbuf slices more accurately during readout + - ARM: dts: Fix timer regression for beagleboard revision c + - ARM: dts: meson: Fix the UART compatible strings + - ARM: dts: meson8: Fix the UART device-tree schema validation + - ARM: dts: meson8b: Fix the UART device-tree schema validation + - phy: broadcom: Kconfig: Fix PHY_BRCM_USB config option + - staging: fbtft: Fix error path in fbtft_driver_module_init() + - ARM: dts: imx6qdl-udoo: Properly describe the SD card detect + - phy: xilinx: zynqmp: Fix bus width setting for SGMII + - phy: stm32: fix a refcount leak in stm32_usbphyc_pll_enable() + - ARM: dts: imx7ulp: Fix 'assigned-clocks-parents' typo + - arm64: dts: imx8mq: fix mipi_csi bidirectional port numbers + - usb: f_fs: Fix use-after-free for epfile + - phy: dphy: Correct clk_pre parameter + - gpio: aggregator: Fix calling into sleeping GPIO controllers + - NFS: Don't overfill uncached readdir pages + - NFS: Don't skip directory entries when doing uncached readdir + - drm/vc4: hdmi: Allow DBLCLK modes even if horz timing is odd. + - misc: fastrpc: avoid double fput() on failed usercopy + - net: sparx5: Fix get_stat64 crash in tcpdump + - netfilter: ctnetlink: disable helper autoassign + - arm64: dts: meson-g12b-odroid-n2: fix typo 'dio2133' + - arm64: dts: meson-sm1-odroid: use correct enable-gpio pin for tf-io + regulator + - arm64: dts: meson-sm1-bananapi-m5: fix wrong GPIO domain for GPIOE_2 + - arm64: dts: meson-sm1-odroid: fix boot loop after reboot + - ixgbevf: Require large buffers for build_skb on 82599VF + - drm/panel: simple: Assign data from panel_dpi_probe() correctly + - ACPI: PM: s2idle: Cancel wakeup before dispatching EC GPE + - gpiolib: Never return internal error codes to user space + - gpio: sifive: use the correct register to read output values + - fbcon: Avoid 'cap' set but not used warning + - bonding: pair enable_port with slave_arr_updates + - net: dsa: mv88e6xxx: don't use devres for mdiobus + - net: dsa: ar9331: register the mdiobus under devres + - net: dsa: bcm_sf2: don't use devres for mdiobus + - net: dsa: felix: don't use devres for mdiobus + - net: dsa: mt7530: fix kernel bug in mdiobus_free() when unbinding + - net: dsa: lantiq_gswip: don't use devres for mdiobus + - ipmr,ip6mr: acquire RTNL before calling ip[6]mr_free_table() on failure path + - nfp: flower: fix ida_idx not being released + - net: do not keep the dst cache when uncloning an skb dst and its metadata + - net: fix a memleak when uncloning an skb dst and its metadata + - veth: fix races around rq->rx_notify_masked + - net: mdio: aspeed: Add missing MODULE_DEVICE_TABLE + - tipc: rate limit warning for received illegal binding update + - net: amd-xgbe: disable interrupts during pci removal + - drm/amd/pm: fix hwmon node of power1_label create issue + - mptcp: netlink: process IPv6 addrs in creating listening sockets + - dpaa2-eth: unregister the netdev before disconnecting from the PHY + - ice: fix an error code in ice_cfg_phy_fec() + - ice: fix IPIP and SIT TSO offload + - ice: Fix KASAN error in LAG NETDEV_UNREGISTER handler + - ice: Avoid RTNL lock when re-creating auxiliary device + - net: mscc: ocelot: fix mutex lock error during ethtool stats read + - net: dsa: mv88e6xxx: fix use-after-free in mv88e6xxx_mdios_unregister + - vt_ioctl: fix array_index_nospec in vt_setactivate + - vt_ioctl: add array_index_nospec to VT_ACTIVATE + - n_tty: wake up poll(POLLRDNORM) on receiving data + - eeprom: ee1004: limit i2c reads to I2C_SMBUS_BLOCK_MAX + - usb: dwc2: drd: fix soft connect when gadget is unconfigured + - Revert "usb: dwc2: drd: fix soft connect when gadget is unconfigured" + - net: usb: ax88179_178a: Fix out-of-bounds accesses in RX fixup + - usb: ulpi: Move of_node_put to ulpi_dev_release + - usb: ulpi: Call of_node_put correctly + - usb: dwc3: gadget: Prevent core from processing stale TRBs + - usb: gadget: udc: renesas_usb3: Fix host to USB_ROLE_NONE transition + - USB: gadget: validate interface OS descriptor requests + - usb: gadget: rndis: check size of RNDIS_MSG_SET command + - usb: gadget: f_uac2: Define specific wTerminalType + - usb: raw-gadget: fix handling of dual-direction-capable endpoints + - USB: serial: ftdi_sio: add support for Brainboxes US-159/235/320 + - USB: serial: option: add ZTE MF286D modem + - USB: serial: ch341: add support for GW Instek USB2.0-Serial devices + - USB: serial: cp210x: add NCR Retail IO box id + - USB: serial: cp210x: add CPI Bulk Coin Recycler id + - speakup-dectlk: Restore pitch setting + - phy: ti: Fix missing sentinel for clk_div_table + - iio: buffer: Fix file related error handling in IIO_BUFFER_GET_FD_IOCTL + - mm: memcg: synchronize objcg lists with a dedicated spinlock + - seccomp: Invalidate seccomp mode to catch death failures + - signal: HANDLER_EXIT should clear SIGNAL_UNKILLABLE + - s390/cio: verify the driver availability for path_event call + - bus: mhi: pci_generic: Add mru_default for Foxconn SDX55 + - bus: mhi: pci_generic: Add mru_default for Cinterion MV31-W + - hwmon: (dell-smm) Speed up setting of fan speed + - x86/sgx: Silence softlockup detection when releasing large enclaves + - Makefile.extrawarn: Move -Wunaligned-access to W=1 + - scsi: lpfc: Remove NVMe support if kernel has NVME_FC disabled + - scsi: lpfc: Reduce log messages seen after firmware download + - MIPS: octeon: Fix missed PTR->PTR_WD conversion + - arm64: dts: imx8mq: fix lcdif port node + - perf: Fix list corruption in perf_cgroup_switch() + - iommu: Fix potential use-after-free during probe + - Linux 5.15.24 + * Jammy update: v5.15.23 upstream stable release (LP: #1963888) + - moxart: fix potential use-after-free on remove path + - arm64: Add Cortex-A510 CPU part definition + - ksmbd: fix SMB 3.11 posix extension mount failure + - crypto: api - Move cryptomgr soft dependency into algapi + - Linux 5.15.23 + * [22.04 FEAT] KVM: Enable storage key checking for intercepted instruction + handled by userspace (LP: #1933179) + - KVM: s390: gaccess: Refactor gpa and length calculation + - KVM: s390: gaccess: Refactor access address range check + - KVM: s390: gaccess: Cleanup access to guest pages + - s390/uaccess: introduce bit field for OAC specifier + - s390/uaccess: fix compile error + - s390/uaccess: Add copy_from/to_user_key functions + - KVM: s390: Honor storage keys when accessing guest memory + - KVM: s390: handle_tprot: Honor storage keys + - KVM: s390: selftests: Test TEST PROTECTION emulation + - KVM: s390: Add optional storage key checking to MEMOP IOCTL + - KVM: s390: Add vm IOCTL for key checked guest absolute memory access + - KVM: s390: Rename existing vcpu memop functions + - KVM: s390: Add capability for storage key extension of MEM_OP IOCTL + - KVM: s390: Update api documentation for memop ioctl + - KVM: s390: Clarify key argument for MEM_OP in api docs + - KVM: s390: Add missing vm MEM_OP size check + * CVE-2022-25636 + - netfilter: nf_tables_offload: incorrect flow offload action array size + * ubuntu_kernel_selftests / ftrace:ftracetest do_softirq failure on Jammy + realtime (LP: #1959610) + - selftests/ftrace: Do not trace do_softirq because of PREEMPT_RT + * CVE-2022-0435 + - tipc: improve size validations for received domain records + * CVE-2022-0516 + - KVM: s390: Return error on SIDA memop on normal guest + * EDAC update for AMD Genoa support in 22.04 (LP: #1960362) + - EDAC: Add RDDR5 and LRDDR5 memory types + - EDAC/amd64: Add support for AMD Family 19h Models 10h-1Fh and A0h-AFh + * hwmon: k10temp updates for AMD Genoa in 22.04 (LP: #1960361) + - x86/amd_nb: Add AMD Family 19h Models (10h-1Fh) and (A0h-AFh) PCI IDs + - hwmon: (k10temp) Remove unused definitions + - hwmon: (k10temp) Support up to 12 CCDs on AMD Family of processors + - hwmon: (k10temp) Add support for AMD Family 19h Models 10h-1Fh and A0h-AFh + * [SRU][I/J/OEM-5.13/OEM-5.14] Add basic support of MT7922 (LP: #1958151) + - mt76: mt7921: Add mt7922 support + - mt76: mt7921: add support for PCIe ID 0x0608/0x0616 + - mt76: mt7921: introduce 160 MHz channel bandwidth support + * Use EC GPE for s2idle wakeup on AMD platforms (LP: #1960771) + - ACPI: PM: Revert "Only mark EC GPE for wakeup on Intel systems" + * Update Broadcom Emulex FC HBA lpfc driver to 14.0.0.4 for Ubuntu 22.04 + (LP: #1956982) + - scsi: lpfc: Change return code on I/Os received during link bounce + - scsi: lpfc: Fix NPIV port deletion crash + - scsi: lpfc: Adjust CMF total bytes and rxmonitor + - scsi: lpfc: Cap CMF read bytes to MBPI + - scsi: lpfc: Add additional debugfs support for CMF + - scsi: lpfc: Update lpfc version to 14.0.0.4 + * Forward-port drm/i915 commits from oem-5.14 for Alder Lake S & P + (LP: #1960298) + - drm/i915/dmc: Update to DMC v2.12 + - drm/i915/adlp/tc: Fix PHY connected check for Thunderbolt mode + - drm/i915/tc: Remove waiting for PHY complete during releasing ownership + - drm/i915/tc: Check for DP-alt, legacy sinks before taking PHY ownership + - drm/i915/tc: Add/use helpers to retrieve TypeC port properties + - drm/i915/tc: Don't keep legacy TypeC ports in connected state w/o a sink + - drm/i915/tc: Add a mode for the TypeC PHY's disconnected state + - drm/i915/tc: Refactor TC-cold block/unblock helpers + - drm/i915/tc: Avoid using legacy AUX PW in TBT mode + - drm/i915/icl/tc: Remove the ICL special casing during TC-cold blocking + - drm/i915/tc: Fix TypeC PHY connect/disconnect logic on ADL-P + - drm/i915/tc: Drop extra TC cold blocking from intel_tc_port_connected() + - drm/i915/tc: Fix system hang on ADL-P during TypeC PHY disconnect + - drm/i915/display/adlp: Disable underrun recovery + - drm/i915/adl_s: Remove require_force_probe protection + - drm/i915/adlp: Remove require_force_probe protection + * INVALID or PRIVATE BUG (LP: #1959735) + - KVM: s390: Simplify SIGP Set Arch handling + - KVM: s390: Add a routine for setting userspace CPU state + * Include the QCA WCN 6856 v2.1 support (LP: #1954938) + - SAUCE: ath11k: shrink TCSR read mask for WCN6855 hw2.1 + * Jammy update: v5.15.22 upstream stable release (LP: #1960516) + - drm/i915: Disable DSB usage for now + - selinux: fix double free of cond_list on error paths + - audit: improve audit queue handling when "audit=1" on cmdline + - ipc/sem: do not sleep with a spin lock held + - spi: stm32-qspi: Update spi registering + - ASoC: hdmi-codec: Fix OOB memory accesses + - ASoC: ops: Reject out of bounds values in snd_soc_put_volsw() + - ASoC: ops: Reject out of bounds values in snd_soc_put_volsw_sx() + - ASoC: ops: Reject out of bounds values in snd_soc_put_xr_sx() + - ALSA: usb-audio: Correct quirk for VF0770 + - ALSA: hda: Fix UAF of leds class devs at unbinding + - ALSA: hda: realtek: Fix race at concurrent COEF updates + - ALSA: hda/realtek: Add quirk for ASUS GU603 + - ALSA: hda/realtek: Add missing fixup-model entry for Gigabyte X570 ALC1220 + quirks + - ALSA: hda/realtek: Fix silent output on Gigabyte X570S Aorus Master (newer + chipset) + - ALSA: hda/realtek: Fix silent output on Gigabyte X570 Aorus Xtreme after + reboot from Windows + - btrfs: don't start transaction for scrub if the fs is mounted read-only + - btrfs: fix deadlock between quota disable and qgroup rescan worker + - btrfs: fix use-after-free after failure to create a snapshot + - Revert "fs/9p: search open fids first" + - drm/nouveau: fix off by one in BIOS boundary checking + - drm/i915/adlp: Fix TypeC PHY-ready status readout + - drm/amd/pm: correct the MGpuFanBoost support for Beige Goby + - drm/amd/display: watermark latencies is not enough on DCN31 + - drm/amd/display: Force link_rate as LINK_RATE_RBR2 for 2018 15" Apple Retina + panels + - nvme-fabrics: fix state check in nvmf_ctlr_matches_baseopts() + - mm/debug_vm_pgtable: remove pte entry from the page table + - mm/pgtable: define pte_index so that preprocessor could recognize it + - mm/kmemleak: avoid scanning potential huge holes + - block: bio-integrity: Advance seed correctly for larger interval sizes + - dma-buf: heaps: Fix potential spectre v1 gadget + - IB/hfi1: Fix AIP early init panic + - Revert "fbcon: Disable accelerated scrolling" + - fbcon: Add option to enable legacy hardware acceleration + - mptcp: fix msk traversal in mptcp_nl_cmd_set_flags() + - Revert "ASoC: mediatek: Check for error clk pointer" + - KVM: arm64: Avoid consuming a stale esr value when SError occur + - KVM: arm64: Stop handle_exit() from handling HVC twice when an SError occurs + - RDMA/cma: Use correct address when leaving multicast group + - RDMA/ucma: Protect mc during concurrent multicast leaves + - RDMA/siw: Fix refcounting leak in siw_create_qp() + - IB/rdmavt: Validate remote_addr during loopback atomic tests + - RDMA/siw: Fix broken RDMA Read Fence/Resume logic. + - RDMA/mlx4: Don't continue event handler after memory allocation failure + - ALSA: usb-audio: initialize variables that could ignore errors + - ALSA: hda: Fix signedness of sscanf() arguments + - ALSA: hda: Skip codec shutdown in case the codec is not registered + - iommu/vt-d: Fix potential memory leak in intel_setup_irq_remapping() + - iommu/amd: Fix loop timeout issue in iommu_ga_log_enable() + - spi: bcm-qspi: check for valid cs before applying chip select + - spi: mediatek: Avoid NULL pointer crash in interrupt + - spi: meson-spicc: add IRQ check in meson_spicc_probe + - spi: uniphier: fix reference count leak in uniphier_spi_probe() + - IB/hfi1: Fix tstats alloc and dealloc + - IB/cm: Release previously acquired reference counter in the cm_id_priv + - net: ieee802154: hwsim: Ensure proper channel selection at probe time + - net: ieee802154: mcr20a: Fix lifs/sifs periods + - net: ieee802154: ca8210: Stop leaking skb's + - netfilter: nft_reject_bridge: Fix for missing reply from prerouting + - net: ieee802154: Return meaningful error codes from the netlink helpers + - net/smc: Forward wakeup to smc socket waitqueue after fallback + - net: stmmac: dwmac-visconti: No change to ETHER_CLOCK_SEL for unexpected + speed request. + - net: stmmac: properly handle with runtime pm in stmmac_dvr_remove() + - net: macsec: Fix offload support for NETDEV_UNREGISTER event + - net: macsec: Verify that send_sci is on when setting Tx sci explicitly + - net: stmmac: dump gmac4 DMA registers correctly + - net: stmmac: ensure PTP time register reads are consistent + - drm/kmb: Fix for build errors with Warray-bounds + - drm/i915/overlay: Prevent divide by zero bugs in scaling + - drm/amd: avoid suspend on dGPUs w/ s2idle support when runtime PM enabled + - ASoC: fsl: Add missing error handling in pcm030_fabric_probe + - ASoC: xilinx: xlnx_formatter_pcm: Make buffer bytes multiple of period bytes + - ASoC: simple-card: fix probe failure on platform component + - ASoC: cpcap: Check for NULL pointer after calling of_get_child_by_name + - ASoC: max9759: fix underflow in speaker_gain_control_put() + - ASoC: codecs: wcd938x: fix incorrect used of portid + - ASoC: codecs: lpass-rx-macro: fix sidetone register offsets + - ASoC: codecs: wcd938x: fix return value of mixer put function + - pinctrl: sunxi: Fix H616 I2S3 pin data + - pinctrl: intel: Fix a glitch when updating IRQ flags on a preconfigured line + - pinctrl: intel: fix unexpected interrupt + - pinctrl: bcm2835: Fix a few error paths + - scsi: bnx2fc: Make bnx2fc_recv_frame() mp safe + - nfsd: nfsd4_setclientid_confirm mistakenly expires confirmed client. + - gve: fix the wrong AdminQ buffer queue index check + - bpf: Use VM_MAP instead of VM_ALLOC for ringbuf + - selftests/exec: Remove pipe from TEST_GEN_FILES + - selftests: futex: Use variable MAKE instead of make + - tools/resolve_btfids: Do not print any commands when building silently + - e1000e: Separate ADP board type from TGP + - rtc: cmos: Evaluate century appropriate + - kvm: add guest_state_{enter,exit}_irqoff() + - kvm/arm64: rework guest entry logic + - perf: Copy perf_event_attr::sig_data on modification + - perf stat: Fix display of grouped aliased events + - perf/x86/intel/pt: Fix crash with stop filters in single-range mode + - x86/perf: Default set FREEZE_ON_SMI for all + - EDAC/altera: Fix deferred probing + - EDAC/xgene: Fix deferred probing + - ext4: prevent used blocks from being allocated during fast commit replay + - ext4: modify the logic of ext4_mb_new_blocks_simple + - ext4: fix error handling in ext4_restore_inline_data() + - ext4: fix error handling in ext4_fc_record_modified_inode() + - ext4: fix incorrect type issue during replay_del_range + - net: dsa: mt7530: make NET_DSA_MT7530 select MEDIATEK_GE_PHY + - cgroup/cpuset: Fix "suspicious RCU usage" lockdep warning + - tools include UAPI: Sync sound/asound.h copy with the kernel sources + - gpio: idt3243x: Fix an ignored error return from platform_get_irq() + - gpio: mpc8xxx: Fix an ignored error return from platform_get_irq() + - selftests: nft_concat_range: add test for reload with no element add/del + - selftests: netfilter: check stateless nat udp checksum fixup + - Linux 5.15.22 + - [Config] disable FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION + * Jammy update: v5.15.21 upstream stable release (LP: #1960515) + - Revert "drm/vc4: hdmi: Make sure the device is powered with CEC" + - Revert "drm/vc4: hdmi: Make sure the device is powered with CEC" again + - Linux 5.15.21 + * Jammy update: v5.15.20 upstream stable release (LP: #1960509) + - Revert "UBUNTU: SAUCE: Revert "e1000e: Add handshake with the CSME to + support S0ix"" + - Revert "UBUNTU: SAUCE: Revert "e1000e: Add polling mechanism to indicate + CSME DPG exit"" + - Revert "UBUNTU: SAUCE: Revert "e1000e: Additional PHY power saving in S0ix"" + - PCI: pciehp: Fix infinite loop in IRQ handler upon power fault + - selftests: mptcp: fix ipv6 routing setup + - net: ipa: use a bitmap for endpoint replenish_enabled + - net: ipa: prevent concurrent replenish + - drm/vc4: hdmi: Make sure the device is powered with CEC + - cgroup-v1: Require capabilities to set release_agent + - Revert "mm/gup: small refactoring: simplify try_grab_page()" + - ovl: don't fail copy up if no fileattr support on upper + - lockd: fix server crash on reboot of client holding lock + - lockd: fix failure to cleanup client locks + - net/mlx5e: IPsec: Fix tunnel mode crypto offload for non TCP/UDP traffic + - net/mlx5: Bridge, take rtnl lock in init error handler + - net/mlx5: Bridge, ensure dev_name is null-terminated + - net/mlx5e: Fix handling of wrong devices during bond netevent + - net/mlx5: Use del_timer_sync in fw reset flow of halting poll + - net/mlx5e: Fix module EEPROM query + - net/mlx5: Fix offloading with ESWITCH_IPV4_TTL_MODIFY_ENABLE + - net/mlx5e: Don't treat small ceil values as unlimited in HTB offload + - net/mlx5: Bridge, Fix devlink deadlock on net namespace deletion + - net/mlx5: E-Switch, Fix uninitialized variable modact + - ipheth: fix EOVERFLOW in ipheth_rcvbulk_callback + - i40e: Fix reset bw limit when DCB enabled with 1 TC + - i40e: Fix reset path while removing the driver + - net: amd-xgbe: ensure to reset the tx_timer_active flag + - net: amd-xgbe: Fix skb data length underflow + - fanotify: Fix stale file descriptor in copy_event_to_user() + - net: sched: fix use-after-free in tc_new_tfilter() + - rtnetlink: make sure to refresh master_dev/m_ops in __rtnl_newlink() + - cpuset: Fix the bug that subpart_cpus updated wrongly in update_cpumask() + - e1000e: Handshake with CSME starts from ADL platforms + - af_packet: fix data-race in packet_setsockopt / packet_setsockopt + - tcp: add missing tcp_skb_can_collapse() test in tcp_shift_skb_data() + - ovl: fix NULL pointer dereference in copy up warning + - Linux 5.15.20 + * Miscellaneous Ubuntu changes + - [Packaging] use default zstd compression + - [Packaging] do not use compression for image packages + - [Packaging] use xz compression for ddebs + - [Config] upgrade debug symbols from DWARF4 to DWARF5 + - SAUCE: Makefile: Remove inclusion of lbm header files + - SAUCE: Makefile: Fix compiler warnings + - SAUCE: AUFS + - SAUCE: aufs: switch to 64-bit ino_t for s390x + - [Config] set AUFS as disabled + - SAUCE: mt76: mt7921e: fix possible probe failure after reboot + - Remove ubuntu/hio driver + - SAUCE: ima_policy: fix test for empty rule set + - SAUCE: sfc: The size of the RX recycle ring should be more flexible + - [Config] MITIGATE_SPECTRE_BRANCH_HISTORY=y && HARDEN_BRANCH_HISTORY=y + * Miscellaneous upstream changes + - kbuild: Unify options for BTF generation for vmlinux and modules + - MAINTAINERS: Add scripts/pahole-flags.sh to BPF section + - kbuild: Add CONFIG_PAHOLE_VERSION + - scripts/pahole-flags.sh: Use pahole-version.sh + - lib/Kconfig.debug: Use CONFIG_PAHOLE_VERSION + - lib/Kconfig.debug: Allow BTF + DWARF5 with pahole 1.21+ + - x86/sched: Decrease further the priorities of SMT siblings + - sched/topology: Introduce sched_group::flags + - sched/fair: Optimize checking for group_asym_packing + - sched/fair: Provide update_sg_lb_stats() with sched domain statistics + - sched/fair: Carve out logic to mark a group for asymmetric packing + - sched/fair: Consider SMT in ASYM_PACKING load balance + - Revert "UBUNTU: [Config] x86-64: SYSFB_SIMPLEFB=y" + + -- Paolo Pisati Thu, 31 Mar 2022 17:47:52 +0200 + +linux-gcp (5.15.0-1002.5) jammy; urgency=medium + + * jammy/linux-gcp: 5.15.0-1002.5 -proposed tracker (LP: #1965077) + + * arm64 suport (LP: #1965075) + - [packaging] arm64 bringup + - [config] Import arm64 config from master and update-configs + - [packaging] update annotations for arm64 + + -- Khalid Elmously Tue, 15 Mar 2022 23:44:47 -0400 + +linux-gcp (5.15.0-1001.3) jammy; urgency=medium + + * jammy/linux-gcp: 5.15.0-1001.3 -proposed tracker (LP: #1960473) + + * Packaging resync (LP: #1786013) + - [Packaging] resync getabis + - [Packaging] update update.conf + + * Miscellaneous Ubuntu changes + - [oracle] jammy/gcp bring-up + - [packaging] Fix up annotations + - [config] gcp: Enable GCP-specific configs based on annotations + - [packaging] Override master annotations + + [ Ubuntu: 5.15.0-22.22 ] + + * jammy/linux: 5.15.0-22.22 -proposed tracker (LP: #1960290) + + [ Ubuntu: 5.15.0-21.21 ] + + * jammy/linux: 5.15.0-21.21 -proposed tracker (LP: #1960211) + * Miscellaneous Ubuntu changes + - [packaging] unhook lowlatency flavours from the build + + [ Ubuntu: 5.15.0-20.20 ] + + * jammy/linux: 5.15.0-20.20 -proposed tracker (LP: #1959881) + * Jammy update: v5.15.19 upstream stable release (LP: #1959879) + - can: m_can: m_can_fifo_{read,write}: don't read or write from/to FIFO if + length is 0 + - net: sfp: ignore disabled SFP node + - net: stmmac: configure PTP clock source prior to PTP initialization + - net: stmmac: skip only stmmac_ptp_register when resume from suspend + - ARM: 9179/1: uaccess: avoid alignment faults in + copy_[from|to]_kernel_nofault + - ARM: 9180/1: Thumb2: align ALT_UP() sections in modules sufficiently + - KVM: arm64: Use shadow SPSR_EL1 when injecting exceptions on !VHE + - s390/hypfs: include z/VM guests with access control group set + - s390/nmi: handle guarded storage validity failures for KVM guests + - s390/nmi: handle vector validity failures for KVM guests + - bpf: Guard against accessing NULL pt_regs in bpf_get_task_stack() + - powerpc32/bpf: Fix codegen for bpf-to-bpf calls + - powerpc/bpf: Update ldimm64 instructions during extra pass + - scsi: zfcp: Fix failed recovery on gone remote port with non-NPIV FCP + devices + - udf: Restore i_lenAlloc when inode expansion fails + - udf: Fix NULL ptr deref when converting from inline format + - efi: runtime: avoid EFIv2 runtime services on Apple x86 machines + - PM: wakeup: simplify the output logic of pm_show_wakelocks() + - tracing/histogram: Fix a potential memory leak for kstrdup() + - tracing: Don't inc err_log entry count if entry allocation fails + - ceph: properly put ceph_string reference after async create attempt + - ceph: set pool_ns in new inode layout for async creates + - fsnotify: fix fsnotify hooks in pseudo filesystems + - Revert "KVM: SVM: avoid infinite loop on NPF from bad address" + - psi: Fix uaf issue when psi trigger is destroyed while being polled + - powerpc/audit: Fix syscall_get_arch() + - perf/x86/intel/uncore: Fix CAS_COUNT_WRITE issue for ICX + - perf/x86/intel: Add a quirk for the calculation of the number of counters on + Alder Lake + - drm/etnaviv: relax submit size limits + - drm/atomic: Add the crtc to affected crtc only if uapi.enable = true + - drm/amd/display: Fix FP start/end for dcn30_internal_validate_bw. + - KVM: LAPIC: Also cancel preemption timer during SET_LAPIC + - KVM: SVM: Never reject emulation due to SMAP errata for !SEV guests + - KVM: SVM: Don't intercept #GP for SEV guests + - KVM: x86: nSVM: skip eax alignment check for non-SVM instructions + - KVM: x86: Forcibly leave nested virt when SMM state is toggled + - KVM: x86: Keep MSR_IA32_XSS unchanged for INIT + - KVM: x86: Update vCPU's runtime CPUID on write to MSR_IA32_XSS + - KVM: x86: Sync the states size with the XCR0/IA32_XSS at, any time + - KVM: PPC: Book3S HV Nested: Fix nested HFSCR being clobbered with multiple + vCPUs + - dm: revert partial fix for redundant bio-based IO accounting + - block: add bio_start_io_acct_time() to control start_time + - dm: properly fix redundant bio-based IO accounting + - serial: pl011: Fix incorrect rs485 RTS polarity on set_mctrl + - serial: 8250: of: Fix mapped region size when using reg-offset property + - serial: stm32: fix software flow control transfer + - tty: n_gsm: fix SW flow control encoding/handling + - tty: Partially revert the removal of the Cyclades public API + - tty: Add support for Brainboxes UC cards. + - kbuild: remove include/linux/cyclades.h from header file check + - usb-storage: Add unusual-devs entry for VL817 USB-SATA bridge + - usb: xhci-plat: fix crash when suspend if remote wake enable + - usb: common: ulpi: Fix crash in ulpi_match() + - usb: gadget: f_sourcesink: Fix isoc transfer for USB_SPEED_SUPER_PLUS + - usb: cdnsp: Fix segmentation fault in cdns_lost_power function + - usb: dwc3: xilinx: Skip resets and USB3 register settings for USB2.0 mode + - usb: dwc3: xilinx: Fix error handling when getting USB3 PHY + - USB: core: Fix hang in usb_kill_urb by adding memory barriers + - usb: typec: tcpci: don't touch CC line if it's Vconn source + - usb: typec: tcpm: Do not disconnect while receiving VBUS off + - usb: typec: tcpm: Do not disconnect when receiving VSAFE0V + - ucsi_ccg: Check DEV_INT bit only when starting CCG4 + - mm, kasan: use compare-exchange operation to set KASAN page tag + - jbd2: export jbd2_journal_[grab|put]_journal_head + - ocfs2: fix a deadlock when commit trans + - sched/membarrier: Fix membarrier-rseq fence command missing from query + bitmask + - PCI/sysfs: Find shadow ROM before static attribute initialization + - x86/MCE/AMD: Allow thresholding interface updates after init + - x86/cpu: Add Xeon Icelake-D to list of CPUs that support PPIN + - powerpc/32s: Allocate one 256k IBAT instead of two consecutives 128k IBATs + - powerpc/32s: Fix kasan_init_region() for KASAN + - powerpc/32: Fix boot failure with GCC latent entropy plugin + - i40e: Increase delay to 1 s after global EMP reset + - i40e: Fix issue when maximum queues is exceeded + - i40e: Fix queues reservation for XDP + - i40e: Fix for failed to init adminq while VF reset + - i40e: fix unsigned stat widths + - usb: roles: fix include/linux/usb/role.h compile issue + - rpmsg: char: Fix race between the release of rpmsg_ctrldev and cdev + - rpmsg: char: Fix race between the release of rpmsg_eptdev and cdev + - scsi: elx: efct: Don't use GFP_KERNEL under spin lock + - scsi: bnx2fc: Flush destroy_work queue before calling bnx2fc_interface_put() + - ipv6_tunnel: Rate limit warning messages + - ARM: 9170/1: fix panic when kasan and kprobe are enabled + - net: fix information leakage in /proc/net/ptype + - hwmon: (lm90) Mark alert as broken for MAX6646/6647/6649 + - hwmon: (lm90) Mark alert as broken for MAX6680 + - ping: fix the sk_bound_dev_if match in ping_lookup + - ipv4: avoid using shared IP generator for connected sockets + - hwmon: (lm90) Reduce maximum conversion rate for G781 + - NFSv4: Handle case where the lookup of a directory fails + - NFSv4: nfs_atomic_open() can race when looking up a non-regular file + - net-procfs: show net devices bound packet types + - drm/msm: Fix wrong size calculation + - drm/msm/dsi: Fix missing put_device() call in dsi_get_phy + - drm/msm/dsi: invalid parameter check in msm_dsi_phy_enable + - ipv6: annotate accesses to fn->fn_sernum + - NFS: Ensure the server has an up to date ctime before hardlinking + - NFS: Ensure the server has an up to date ctime before renaming + - KVM: arm64: pkvm: Use the mm_ops indirection for cache maintenance + - SUNRPC: Use BIT() macro in rpc_show_xprt_state() + - SUNRPC: Don't dereference xprt->snd_task if it's a cookie + - powerpc64/bpf: Limit 'ldbrx' to processors compliant with ISA v2.06 + - netfilter: conntrack: don't increment invalid counter on NF_REPEAT + - powerpc/64s: Mask SRR0 before checking against the masked NIP + - perf: Fix perf_event_read_local() time + - sched/pelt: Relax the sync of util_sum with util_avg + - net: phy: broadcom: hook up soft_reset for BCM54616S + - net: stmmac: dwmac-visconti: Fix bit definitions for ETHER_CLK_SEL + - net: stmmac: dwmac-visconti: Fix clock configuration for RMII mode + - phylib: fix potential use-after-free + - octeontx2-af: Do not fixup all VF action entries + - octeontx2-af: Fix LBK backpressure id count + - octeontx2-af: Retry until RVU block reset complete + - octeontx2-pf: cn10k: Ensure valid pointers are freed to aura + - octeontx2-af: verify CQ context updates + - octeontx2-af: Increase link credit restore polling timeout + - octeontx2-af: cn10k: Do not enable RPM loopback for LPC interfaces + - octeontx2-pf: Forward error codes to VF + - rxrpc: Adjust retransmission backoff + - efi/libstub: arm64: Fix image check alignment at entry + - io_uring: fix bug in slow unregistering of nodes + - Drivers: hv: balloon: account for vmbus packet header in max_pkt_size + - hwmon: (lm90) Re-enable interrupts after alert clears + - hwmon: (lm90) Mark alert as broken for MAX6654 + - hwmon: (lm90) Fix sysfs and udev notifications + - hwmon: (adt7470) Prevent divide by zero in adt7470_fan_write() + - powerpc/perf: Fix power_pmu_disable to call clear_pmi_irq_pending only if + PMI is pending + - ipv4: fix ip option filtering for locally generated fragments + - ibmvnic: Allow extra failures before disabling + - ibmvnic: init ->running_cap_crqs early + - ibmvnic: don't spin in tasklet + - net/smc: Transitional solution for clcsock race issue + - video: hyperv_fb: Fix validation of screen resolution + - can: tcan4x5x: regmap: fix max register value + - drm/msm/hdmi: Fix missing put_device() call in msm_hdmi_get_phy + - drm/msm/dpu: invalid parameter check in dpu_setup_dspp_pcc + - drm/msm/a6xx: Add missing suspend_count increment + - yam: fix a memory leak in yam_siocdevprivate() + - net: cpsw: Properly initialise struct page_pool_params + - net: hns3: handle empty unknown interrupt for VF + - sch_htb: Fail on unsupported parameters when offload is requested + - Revert "drm/ast: Support 1600x900 with 108MHz PCLK" + - KVM: selftests: Don't skip L2's VMCALL in SMM test for SVM guest + - ceph: put the requests/sessions when it fails to alloc memory + - gve: Fix GFP flags when allocing pages + - Revert "ipv6: Honor all IPv6 PIO Valid Lifetime values" + - net: bridge: vlan: fix single net device option dumping + - ipv4: raw: lock the socket in raw_bind() + - ipv4: tcp: send zero IPID in SYNACK messages + - ipv4: remove sparse error in ip_neigh_gw4() + - net: bridge: vlan: fix memory leak in __allowed_ingress + - Bluetooth: refactor malicious adv data check + - irqchip/realtek-rtl: Map control data to virq + - irqchip/realtek-rtl: Fix off-by-one in routing + - dt-bindings: can: tcan4x5x: fix mram-cfg RX FIFO config + - perf/core: Fix cgroup event list management + - psi: fix "no previous prototype" warnings when CONFIG_CGROUPS=n + - psi: fix "defined but not used" warnings when CONFIG_PROC_FS=n + - usb: dwc3: xilinx: fix uninitialized return value + - usr/include/Makefile: add linux/nfc.h to the compile-test coverage + - fsnotify: invalidate dcache before IN_DELETE event + - block: Fix wrong offset in bio_truncate() + - mtd: rawnand: mpc5121: Remove unused variable in ads5121_select_chip() + - Linux 5.15.19 + * Jammy update: v5.15.18 upstream stable release (LP: #1959878) + - drm/i915: Flush TLBs before releasing backing store + - drm/amd/display: reset dcn31 SMU mailbox on failures + - io_uring: fix not released cached task refs + - bnx2x: Utilize firmware 7.13.21.0 + - bnx2x: Invalidate fastpath HSI version for VFs + - memcg: flush stats only if updated + - memcg: unify memcg stat flushing + - memcg: better bounds on the memcg stats updates + - rcu: Tighten rcu_advance_cbs_nowake() checks + - select: Fix indefinitely sleeping task in poll_schedule_timeout() + - drm/amdgpu: Use correct VIEWPORT_DIMENSION for DCN2 + - arm64/bpf: Remove 128MB limit for BPF JIT programs + - Linux 5.15.18 + * CVE-2022-22942 + - SAUCE: drm/vmwgfx: Fix stale file descriptors on failed usercopy + * CVE-2022-24122 + - ucount: Make get_ucount a safe get_user replacement + * CVE-2022-23222 + - bpf, selftests: Add verifier test for mem_or_null register with offset. + * Miscellaneous Ubuntu changes + - [Config] toolchain version update + * Miscellaneous upstream changes + - s390/module: fix loading modules with a lot of relocations + + [ Ubuntu: 5.15.0-19.19 ] + + * jammy/linux: 5.15.0-19.19 -proposed tracker (LP: #1959418) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * Jammy update: v5.15.17 upstream stable release (LP: #1959376) + - KVM: x86/mmu: Fix write-protection of PTs mapped by the TDP MMU + - KVM: VMX: switch blocked_vcpu_on_cpu_lock to raw spinlock + - HID: Ignore battery for Elan touchscreen on HP Envy X360 15t-dr100 + - HID: uhid: Fix worker destroying device without any protection + - HID: wacom: Reset expected and received contact counts at the same time + - HID: wacom: Ignore the confidence flag when a touch is removed + - HID: wacom: Avoid using stale array indicies to read contact count + - ALSA: core: Fix SSID quirk lookup for subvendor=0 + - f2fs: fix to do sanity check on inode type during garbage collection + - f2fs: fix to do sanity check in is_alive() + - f2fs: avoid EINVAL by SBI_NEED_FSCK when pinning a file + - nfc: llcp: fix NULL error pointer dereference on sendmsg() after failed + bind() + - mtd: rawnand: gpmi: Add ERR007117 protection for nfc_apply_timings + - mtd: rawnand: gpmi: Remove explicit default gpmi clock setting for i.MX6 + - mtd: Fixed breaking list in __mtd_del_partition. + - mtd: rawnand: davinci: Don't calculate ECC when reading page + - mtd: rawnand: davinci: Avoid duplicated page read + - mtd: rawnand: davinci: Rewrite function description + - mtd: rawnand: Export nand_read_page_hwecc_oob_first() + - mtd: rawnand: ingenic: JZ4740 needs 'oob_first' read page function + - riscv: Get rid of MAXPHYSMEM configs + - RISC-V: Use common riscv_cpuid_to_hartid_mask() for both SMP=y and SMP=n + - riscv: try to allocate crashkern region from 32bit addressible memory + - riscv: Don't use va_pa_offset on kdump + - riscv: use hart id instead of cpu id on machine_kexec + - riscv: mm: fix wrong phys_ram_base value for RV64 + - x86/gpu: Reserve stolen memory for first integrated Intel GPU + - tools/nolibc: x86-64: Fix startup code bug + - crypto: x86/aesni - don't require alignment of data + - tools/nolibc: i386: fix initial stack alignment + - tools/nolibc: fix incorrect truncation of exit code + - rtc: cmos: take rtc_lock while reading from CMOS + - net: phy: marvell: add Marvell specific PHY loopback + - ksmbd: uninitialized variable in create_socket() + - ksmbd: fix guest connection failure with nautilus + - ksmbd: add support for smb2 max credit parameter + - ksmbd: move credit charge deduction under processing request + - ksmbd: limits exceeding the maximum allowable outstanding requests + - ksmbd: add reserved room in ipc request/response + - media: cec: fix a deadlock situation + - media: ov8865: Disable only enabled regulators on error path + - media: v4l2-ioctl.c: readbuffers depends on V4L2_CAP_READWRITE + - media: flexcop-usb: fix control-message timeouts + - media: mceusb: fix control-message timeouts + - media: em28xx: fix control-message timeouts + - media: cpia2: fix control-message timeouts + - media: s2255: fix control-message timeouts + - media: dib0700: fix undefined behavior in tuner shutdown + - media: redrat3: fix control-message timeouts + - media: pvrusb2: fix control-message timeouts + - media: stk1160: fix control-message timeouts + - media: cec-pin: fix interrupt en/disable handling + - can: softing_cs: softingcs_probe(): fix memleak on registration failure + - mei: hbm: fix client dma reply status + - iio: adc: ti-adc081c: Partial revert of removal of ACPI IDs + - iio: trigger: Fix a scheduling whilst atomic issue seen on tsc2046 + - lkdtm: Fix content of section containing lkdtm_rodata_do_nothing() + - bus: mhi: pci_generic: Graceful shutdown on freeze + - bus: mhi: core: Fix reading wake_capable channel configuration + - bus: mhi: core: Fix race while handling SYS_ERR at power up + - cxl/pmem: Fix reference counting for delayed work + - arm64: errata: Fix exec handling in erratum 1418040 workaround + - ARM: dts: at91: update alternate function of signal PD20 + - iommu/io-pgtable-arm-v7s: Add error handle for page table allocation failure + - gpu: host1x: Add back arm_iommu_detach_device() + - drm/tegra: Add back arm_iommu_detach_device() + - virtio/virtio_mem: handle a possible NULL as a memcpy parameter + - dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled() + - PCI: Add function 1 DMA alias quirk for Marvell 88SE9125 SATA controller + - mm_zone: add function to check if managed dma zone exists + - dma/pool: create dma atomic pool only if dma zone has managed pages + - mm/page_alloc.c: do not warn allocation failure on zone DMA if no managed + pages + - shmem: fix a race between shmem_unused_huge_shrink and shmem_evict_inode + - drm/ttm: Put BO in its memory manager's lru list + - Bluetooth: L2CAP: Fix not initializing sk_peer_pid + - drm/bridge: display-connector: fix an uninitialized pointer in probe() + - drm: fix null-ptr-deref in drm_dev_init_release() + - drm/panel: kingdisplay-kd097d04: Delete panel on attach() failure + - drm/panel: innolux-p079zca: Delete panel on attach() failure + - drm/rockchip: dsi: Fix unbalanced clock on probe error + - drm/rockchip: dsi: Hold pm-runtime across bind/unbind + - drm/rockchip: dsi: Disable PLL clock on bind error + - drm/rockchip: dsi: Reconfigure hardware on resume() + - Bluetooth: virtio_bt: fix memory leak in virtbt_rx_handle() + - Bluetooth: cmtp: fix possible panic when cmtp_init_sockets() fails + - clk: bcm-2835: Pick the closest clock rate + - clk: bcm-2835: Remove rounding up the dividers + - drm/vc4: hdmi: Set a default HSM rate + - drm/vc4: hdmi: Move the HSM clock enable to runtime_pm + - drm/vc4: hdmi: Make sure the controller is powered in detect + - drm/vc4: hdmi: Make sure the controller is powered up during bind + - drm/vc4: hdmi: Rework the pre_crtc_configure error handling + - drm/vc4: crtc: Make sure the HDMI controller is powered when disabling + - wcn36xx: ensure pairing of init_scan/finish_scan and start_scan/end_scan + - wcn36xx: Indicate beacon not connection loss on MISSED_BEACON_IND + - drm/vc4: hdmi: Enable the scrambler on reconnection + - libbpf: Free up resources used by inner map definition + - wcn36xx: Fix DMA channel enable/disable cycle + - wcn36xx: Release DMA channel descriptor allocations + - wcn36xx: Put DXE block into reset before freeing memory + - wcn36xx: populate band before determining rate on RX + - wcn36xx: fix RX BD rate mapping for 5GHz legacy rates + - ath11k: Send PPDU_STATS_CFG with proper pdev mask to firmware + - bpftool: Fix memory leak in prog_dump() + - mtd: hyperbus: rpc-if: Check return value of rpcif_sw_init() + - media: videobuf2: Fix the size printk format + - media: atomisp: add missing media_device_cleanup() in + atomisp_unregister_entities() + - media: atomisp: fix punit_ddr_dvfs_enable() argument for mrfld_power up case + - media: atomisp: fix inverted logic in buffers_needed() + - media: atomisp: do not use err var when checking port validity for ISP2400 + - media: atomisp: fix inverted error check for + ia_css_mipi_is_source_port_valid() + - media: atomisp: fix ifdefs in sh_css.c + - media: atomisp: add NULL check for asd obtained from atomisp_video_pipe + - media: atomisp: fix enum formats logic + - media: atomisp: fix uninitialized bug in gmin_get_pmic_id_and_addr() + - media: aspeed: fix mode-detect always time out at 2nd run + - media: em28xx: fix memory leak in em28xx_init_dev + - media: aspeed: Update signal status immediately to ensure sane hw state + - arm64: dts: amlogic: meson-g12: Fix GPU operating point table node name + - arm64: dts: amlogic: Fix SPI NOR flash node name for ODROID N2/N2+ + - arm64: dts: meson-gxbb-wetek: fix HDMI in early boot + - arm64: dts: meson-gxbb-wetek: fix missing GPIO binding + - fs: dlm: don't call kernel_getpeername() in error_report() + - memory: renesas-rpc-if: Return error in case devm_ioremap_resource() fails + - Bluetooth: stop proccessing malicious adv data + - ath11k: Fix ETSI regd with weather radar overlap + - ath11k: clear the keys properly via DISABLE_KEY + - ath11k: reset RSN/WPA present state for open BSS + - spi: hisi-kunpeng: Fix the debugfs directory name incorrect + - tee: fix put order in teedev_close_context() + - fs: dlm: fix build with CONFIG_IPV6 disabled + - drm/dp: Don't read back backlight mode in drm_edp_backlight_enable() + - drm/vboxvideo: fix a NULL vs IS_ERR() check + - arm64: dts: renesas: cat875: Add rx/tx delays + - media: dmxdev: fix UAF when dvb_register_device() fails + - crypto: atmel-aes - Reestablish the correct tfm context at dequeue + - crypto: qce - fix uaf on qce_aead_register_one + - crypto: qce - fix uaf on qce_ahash_register_one + - crypto: qce - fix uaf on qce_skcipher_register_one + - arm64: dts: qcom: sc7280: Fix incorrect clock name + - mtd: hyperbus: rpc-if: fix bug in rpcif_hb_remove + - cpufreq: qcom-cpufreq-hw: Update offline CPUs per-cpu thermal pressure + - cpufreq: qcom-hw: Fix probable nested interrupt handling + - ARM: dts: stm32: fix dtbs_check warning on ili9341 dts binding on stm32f429 + disco + - libbpf: Fix potential misaligned memory access in btf_ext__new() + - libbpf: Fix glob_syms memory leak in bpf_linker + - libbpf: Fix using invalidated memory in bpf_linker + - crypto: qat - remove unnecessary collision prevention step in PFVF + - crypto: qat - make pfvf send message direction agnostic + - crypto: qat - fix undetected PFVF timeout in ACK loop + - ath11k: Use host CE parameters for CE interrupts configuration + - arm64: dts: ti: k3-j721e: correct cache-sets info + - tty: serial: atmel: Check return code of dmaengine_submit() + - tty: serial: atmel: Call dma_async_issue_pending() + - mfd: atmel-flexcom: Remove #ifdef CONFIG_PM_SLEEP + - mfd: atmel-flexcom: Use .resume_noirq + - bfq: Do not let waker requests skip proper accounting + - libbpf: Silence uninitialized warning/error in btf_dump_dump_type_data + - media: i2c: imx274: fix s_frame_interval runtime resume not requested + - media: i2c: Re-order runtime pm initialisation + - media: i2c: ov8865: Fix lockdep error + - media: rcar-csi2: Correct the selection of hsfreqrange + - media: imx-pxp: Initialize the spinlock prior to using it + - media: si470x-i2c: fix possible memory leak in si470x_i2c_probe() + - media: mtk-vcodec: call v4l2_m2m_ctx_release first when file is released + - media: hantro: Hook up RK3399 JPEG encoder output + - media: coda: fix CODA960 JPEG encoder buffer overflow + - media: venus: correct low power frequency calculation for encoder + - media: venus: core: Fix a potential NULL pointer dereference in an error + handling path + - media: venus: core: Fix a resource leak in the error handling path of + 'venus_probe()' + - net: stmmac: Add platform level debug register dump feature + - thermal/drivers/imx: Implement runtime PM support + - igc: AF_XDP zero-copy metadata adjust breaks SKBs on XDP_PASS + - netfilter: bridge: add support for pppoe filtering + - powerpc: Avoid discarding flags in system_call_exception() + - arm64: dts: qcom: msm8916: fix MMC controller aliases + - drm/vmwgfx: Remove the deprecated lower mem limit + - drm/vmwgfx: Fail to initialize on broken configs + - cgroup: Trace event cgroup id fields should be u64 + - ACPI: EC: Rework flushing of EC work while suspended to idle + - thermal/drivers/imx8mm: Enable ADC when enabling monitor + - drm/amdgpu: Fix a NULL pointer dereference in + amdgpu_connector_lcd_native_mode() + - drm/radeon/radeon_kms: Fix a NULL pointer dereference in + radeon_driver_open_kms() + - libbpf: Clean gen_loader's attach kind. + - crypto: caam - save caam memory to support crypto engine retry mechanism. + - arm64: dts: ti: k3-am642: Fix the L2 cache sets + - arm64: dts: ti: k3-j7200: Fix the L2 cache sets + - arm64: dts: ti: k3-j721e: Fix the L2 cache sets + - arm64: dts: ti: k3-j7200: Correct the d-cache-sets info + - tty: serial: uartlite: allow 64 bit address + - serial: amba-pl011: do not request memory region twice + - mtd: core: provide unique name for nvmem device + - floppy: Fix hang in watchdog when disk is ejected + - staging: rtl8192e: return error code from rtllib_softmac_init() + - staging: rtl8192e: rtllib_module: fix error handle case in alloc_rtllib() + - Bluetooth: btmtksdio: fix resume failure + - bpf: Fix the test_task_vma selftest to support output shorter than 1 kB + - sched/fair: Fix detection of per-CPU kthreads waking a task + - sched/fair: Fix per-CPU kthread and wakee stacking for asym CPU capacity + - bpf: Adjust BTF log size limit. + - bpf: Disallow BPF_LOG_KERNEL log level for bpf(BPF_BTF_LOAD) + - bpf: Remove config check to enable bpf support for branch records + - arm64: clear_page() shouldn't use DC ZVA when DCZID_EL0.DZP == 1 + - arm64: mte: DC {GVA,GZVA} shouldn't be used when DCZID_EL0.DZP == 1 + - samples/bpf: Install libbpf headers when building + - samples/bpf: Clean up samples/bpf build failes + - samples: bpf: Fix xdp_sample_user.o linking with Clang + - samples: bpf: Fix 'unknown warning group' build warning on Clang + - media: dib8000: Fix a memleak in dib8000_init() + - media: saa7146: mxb: Fix a NULL pointer dereference in mxb_attach() + - media: si2157: Fix "warm" tuner state detection + - wireless: iwlwifi: Fix a double free in iwl_txq_dyn_alloc_dma + - sched/rt: Try to restart rt period timer when rt runtime exceeded + - ath10k: Fix the MTU size on QCA9377 SDIO + - Bluetooth: refactor set_exp_feature with a feature table + - Bluetooth: MGMT: Use hci_dev_test_and_{set,clear}_flag + - drm/amd/display: Fix bug in debugfs crc_win_update entry + - drm/msm/gpu: Don't allow zero fence_id + - drm/msm/dp: displayPort driver need algorithm rational + - rcu/exp: Mark current CPU as exp-QS in IPI loop second pass + - wcn36xx: Fix max channels retrieval + - drm/msm/dsi: fix initialization in the bonded DSI case + - mwifiex: Fix possible ABBA deadlock + - xfrm: fix a small bug in xfrm_sa_len() + - x86/uaccess: Move variable into switch case statement + - selftests: clone3: clone3: add case CLONE3_ARGS_NO_TEST + - selftests: harness: avoid false negatives if test has no ASSERTs + - crypto: stm32/cryp - fix CTR counter carry + - crypto: stm32/cryp - fix xts and race condition in crypto_engine requests + - crypto: stm32/cryp - check early input data + - crypto: stm32/cryp - fix double pm exit + - crypto: stm32/cryp - fix lrw chaining mode + - crypto: stm32/cryp - fix bugs and crash in tests + - crypto: stm32 - Revert broken pm_runtime_resume_and_get changes + - crypto: hisilicon/qm - fix incorrect return value of hisi_qm_resume() + - ath11k: Fix deleting uninitialized kernel timer during fragment cache flush + - spi: Fix incorrect cs_setup delay handling + - ARM: dts: gemini: NAS4220-B: fis-index-block with 128 KiB sectors + - perf/arm-cmn: Fix CPU hotplug unregistration + - media: dw2102: Fix use after free + - media: msi001: fix possible null-ptr-deref in msi001_probe() + - media: coda/imx-vdoa: Handle dma_set_coherent_mask error codes + - ath11k: Fix a NULL pointer dereference in ath11k_mac_op_hw_scan() + - net: dsa: hellcreek: Fix insertion of static FDB entries + - net: dsa: hellcreek: Add STP forwarding rule + - net: dsa: hellcreek: Allow PTP P2P measurements on blocked ports + - net: dsa: hellcreek: Add missing PTP via UDP rules + - arm64: dts: qcom: c630: Fix soundcard setup + - arm64: dts: qcom: ipq6018: Fix gpio-ranges property + - drm/msm/dpu: fix safe status debugfs file + - drm/bridge: ti-sn65dsi86: Set max register for regmap + - gpu: host1x: select CONFIG_DMA_SHARED_BUFFER + - drm/tegra: gr2d: Explicitly control module reset + - drm/tegra: vic: Fix DMA API misuse + - media: hantro: Fix probe func error path + - xfrm: interface with if_id 0 should return error + - xfrm: state and policy should fail if XFRMA_IF_ID 0 + - ARM: 9159/1: decompressor: Avoid UNPREDICTABLE NOP encoding + - usb: ftdi-elan: fix memory leak on device disconnect + - arm64: dts: marvell: cn9130: add GPIO and SPI aliases + - arm64: dts: marvell: cn9130: enable CP0 GPIO controllers + - ARM: dts: armada-38x: Add generic compatible to UART nodes + - mt76: mt7921: drop offload_flags overwritten + - wilc1000: fix double free error in probe() + - rtw88: add quirk to disable pci caps on HP 250 G7 Notebook PC + - iwlwifi: mvm: fix 32-bit build in FTM + - iwlwifi: mvm: test roc running status bits before removing the sta + - iwlwifi: mvm: perform 6GHz passive scan after suspend + - iwlwifi: mvm: set protected flag only for NDP ranging + - mmc: meson-mx-sdhc: add IRQ check + - mmc: meson-mx-sdio: add IRQ check + - block: fix error unwinding in device_add_disk + - selinux: fix potential memleak in selinux_add_opt() + - um: fix ndelay/udelay defines + - um: rename set_signals() to um_set_signals() + - um: virt-pci: Fix 32-bit compile + - lib/logic_iomem: Fix 32-bit build + - lib/logic_iomem: Fix operation on 32-bit + - um: virtio_uml: Fix time-travel external time propagation + - Bluetooth: L2CAP: Fix using wrong mode + - bpftool: Enable line buffering for stdout + - backlight: qcom-wled: Validate enabled string indices in DT + - backlight: qcom-wled: Pass number of elements to read to read_u32_array + - backlight: qcom-wled: Fix off-by-one maximum with default num_strings + - backlight: qcom-wled: Override default length with qcom,enabled-strings + - backlight: qcom-wled: Use cpu_to_le16 macro to perform conversion + - backlight: qcom-wled: Respect enabled-strings in set_brightness + - software node: fix wrong node passed to find nargs_prop + - Bluetooth: hci_qca: Stop IBS timer during BT OFF + - x86/boot/compressed: Move CLANG_FLAGS to beginning of KBUILD_CFLAGS + - crypto: octeontx2 - prevent underflow in get_cores_bmap() + - regulator: qcom-labibb: OCP interrupts are not a failure while disabled + - hwmon: (mr75203) fix wrong power-up delay value + - x86/mce/inject: Avoid out-of-bounds write when setting flags + - io_uring: remove double poll on poll update + - serial: 8250_bcm7271: Propagate error codes from brcmuart_probe() + - ACPI: scan: Create platform device for BCM4752 and LNV4752 ACPI nodes + - pcmcia: rsrc_nonstatic: Fix a NULL pointer dereference in + __nonstatic_find_io_region() + - pcmcia: rsrc_nonstatic: Fix a NULL pointer dereference in + nonstatic_find_mem_region() + - power: reset: mt6397: Check for null res pointer + - net/xfrm: IPsec tunnel mode fix inner_ipproto setting in sec_path + - net: ethernet: mtk_eth_soc: fix return values and refactor MDIO ops + - net: dsa: fix incorrect function pointer check for MRP ring roles + - netfilter: ipt_CLUSTERIP: fix refcount leak in clusterip_tg_check() + - bpf, sockmap: Fix return codes from tcp_bpf_recvmsg_parser() + - bpf, sockmap: Fix double bpf_prog_put on error case in map_link + - bpf: Don't promote bogus looking registers after null check. + - bpf: Fix verifier support for validation of async callbacks + - bpf: Fix SO_RCVBUF/SO_SNDBUF handling in _bpf_setsockopt(). + - netfilter: nft_payload: do not update layer 4 checksum when mangling + fragments + - netfilter: nft_set_pipapo: allocate pcpu scratch maps on clone + - net: fix SOF_TIMESTAMPING_BIND_PHC to work with multiple sockets + - ppp: ensure minimum packet size in ppp_write() + - rocker: fix a sleeping in atomic bug + - staging: greybus: audio: Check null pointer + - fsl/fman: Check for null pointer after calling devm_ioremap + - Bluetooth: hci_bcm: Check for error irq + - Bluetooth: hci_qca: Fix NULL vs IS_ERR_OR_NULL check in qca_serdev_probe + - net/smc: Reset conn->lgr when link group registration fails + - usb: dwc3: qcom: Fix NULL vs IS_ERR checking in dwc3_qcom_probe + - usb: dwc2: do not gate off the hardware if it does not support clock gating + - usb: dwc2: gadget: initialize max_speed from params + - usb: gadget: u_audio: Subdevice 0 for capture ctls + - HID: hid-uclogic-params: Invalid parameter check in uclogic_params_init + - HID: hid-uclogic-params: Invalid parameter check in + uclogic_params_get_str_desc + - HID: hid-uclogic-params: Invalid parameter check in + uclogic_params_huion_init + - HID: hid-uclogic-params: Invalid parameter check in + uclogic_params_frame_init_v1_buttonpad + - debugfs: lockdown: Allow reading debugfs files that are not world readable + - drivers/firmware: Add missing platform_device_put() in sysfb_create_simplefb + - serial: liteuart: fix MODULE_ALIAS + - serial: stm32: move tx dma terminate DMA to shutdown + - x86, sched: Fix undefined reference to init_freq_invariance_cppc() build + error + - net/mlx5e: Fix page DMA map/unmap attributes + - net/mlx5e: Fix wrong usage of fib_info_nh when routes with nexthop objects + are used + - net/mlx5e: Don't block routes with nexthop objects in SW + - Revert "net/mlx5e: Block offload of outer header csum for UDP tunnels" + - Revert "net/mlx5e: Block offload of outer header csum for GRE tunnel" + - net/mlx5e: Fix matching on modified inner ip_ecn bits + - net/mlx5: Fix access to sf_dev_table on allocation failure + - net/mlx5e: Sync VXLAN udp ports during uplink representor profile change + - net/mlx5: Set command entry semaphore up once got index free + - lib/mpi: Add the return value check of kcalloc() + - Bluetooth: L2CAP: uninitialized variables in l2cap_sock_setsockopt() + - mptcp: fix per socket endpoint accounting + - mptcp: fix opt size when sending DSS + MP_FAIL + - mptcp: fix a DSS option writing error + - spi: spi-meson-spifc: Add missing pm_runtime_disable() in meson_spifc_probe + - octeontx2-af: Increment ptp refcount before use + - ax25: uninitialized variable in ax25_setsockopt() + - netrom: fix api breakage in nr_setsockopt() + - regmap: Call regmap_debugfs_exit() prior to _init() + - net: mscc: ocelot: fix incorrect balancing with down LAG ports + - can: mcp251xfd: add missing newline to printed strings + - tpm: add request_locality before write TPM_INT_ENABLE + - tpm_tis: Fix an error handling path in 'tpm_tis_core_init()' + - can: softing: softing_startstop(): fix set but not used variable warning + - can: xilinx_can: xcan_probe(): check for error irq + - can: rcar_canfd: rcar_canfd_channel_probe(): make sure we free CAN network + device + - pcmcia: fix setting of kthread task states + - net/sched: flow_dissector: Fix matching on zone id for invalid conns + - net: openvswitch: Fix matching zone id for invalid conns arriving from tc + - net: openvswitch: Fix ct_state nat flags for conns arriving from tc + - iwlwifi: mvm: Use div_s64 instead of do_div in iwl_mvm_ftm_rtt_smoothing() + - bnxt_en: Refactor coredump functions + - bnxt_en: move coredump functions into dedicated file + - bnxt_en: use firmware provided max timeout for messages + - net: mcs7830: handle usb read errors properly + - ext4: avoid trim error on fs with small groups + - ASoC: Intel: sof_sdw: fix jack detection on HP Spectre x360 convertible + - ALSA: jack: Add missing rwsem around snd_ctl_remove() calls + - ALSA: PCM: Add missing rwsem around snd_ctl_remove() calls + - ALSA: hda: Add missing rwsem around snd_ctl_remove() calls + - ALSA: hda: Fix potential deadlock at codec unbinding + - RDMA/bnxt_re: Scan the whole bitmap when checking if "disabling RCFW with + pending cmd-bit" + - RDMA/hns: Validate the pkey index + - scsi: pm80xx: Update WARN_ON check in pm8001_mpi_build_cmd() + - clk: renesas: rzg2l: Check return value of pm_genpd_init() + - clk: renesas: rzg2l: propagate return value of_genpd_add_provider_simple() + - clk: imx8mn: Fix imx8mn_clko1_sels + - powerpc/prom_init: Fix improper check of prom_getprop() + - ASoC: uniphier: drop selecting non-existing SND_SOC_UNIPHIER_AIO_DMA + - ASoC: codecs: wcd938x: add SND_SOC_WCD938_SDW to codec list instead + - RDMA/rtrs-clt: Fix the initial value of min_latency + - ALSA: hda: Make proper use of timecounter + - dt-bindings: thermal: Fix definition of cooling-maps contribution property + - powerpc/perf: Fix PMU callbacks to clear pending PMI before resetting an + overflown PMC + - powerpc/modules: Don't WARN on first module allocation attempt + - powerpc/32s: Fix shift-out-of-bounds in KASAN init + - clocksource: Avoid accidental unstable marking of clocksources + - ALSA: oss: fix compile error when OSS_DEBUG is enabled + - ALSA: usb-audio: Drop superfluous '0' in Presonus Studio 1810c's ID + - misc: at25: Make driver OF independent again + - char/mwave: Adjust io port register size + - binder: fix handling of error during copy + - binder: avoid potential data leakage when copying txn + - openrisc: Add clone3 ABI wrapper + - iommu: Extend mutex lock scope in iommu_probe_device() + - iommu/io-pgtable-arm: Fix table descriptor paddr formatting + - scsi: core: Fix scsi_device_max_queue_depth() + - scsi: ufs: Fix race conditions related to driver data + - RDMA/qedr: Fix reporting max_{send/recv}_wr attrs + - PCI/MSI: Fix pci_irq_vector()/pci_irq_get_affinity() + - powerpc/powermac: Add additional missing lockdep_register_key() + - iommu/arm-smmu-qcom: Fix TTBR0 read + - RDMA/core: Let ib_find_gid() continue search even after empty entry + - RDMA/cma: Let cma_resolve_ib_dev() continue search even after empty entry + - ASoC: rt5663: Handle device_property_read_u32_array error codes + - of: unittest: fix warning on PowerPC frame size warning + - of: unittest: 64 bit dma address test requires arch support + - clk: stm32: Fix ltdc's clock turn off by clk_disable_unused() after system + enter shell + - mips: add SYS_HAS_CPU_MIPS64_R5 config for MIPS Release 5 support + - mips: fix Kconfig reference to PHYS_ADDR_T_64BIT + - dmaengine: pxa/mmp: stop referencing config->slave_id + - iommu/amd: Restore GA log/tail pointer on host resume + - iommu/amd: X2apic mode: re-enable after resume + - iommu/amd: X2apic mode: setup the INTX registers on mask/unmask + - iommu/amd: X2apic mode: mask/unmask interrupts on suspend/resume + - iommu/amd: Remove useless irq affinity notifier + - ASoC: Intel: catpt: Test dmaengine_submit() result before moving on + - iommu/iova: Fix race between FQ timeout and teardown + - ASoC: mediatek: mt8195: correct default value + - of: fdt: Aggregate the processing of "linux,usable-memory-range" + - efi: apply memblock cap after memblock_add() + - scsi: block: pm: Always set request queue runtime active in + blk_post_runtime_resume() + - phy: uniphier-usb3ss: fix unintended writing zeros to PHY register + - ASoC: mediatek: Check for error clk pointer + - powerpc/64s: Mask NIP before checking against SRR0 + - powerpc/64s: Use EMIT_WARN_ENTRY for SRR debug warnings + - phy: cadence: Sierra: Fix to get correct parent for mux clocks + - ASoC: samsung: idma: Check of ioremap return value + - misc: lattice-ecp3-config: Fix task hung when firmware load failed + - ASoC: mediatek: mt8195: correct pcmif BE dai control flow + - arm64: tegra: Remove non existent Tegra194 reset + - mips: lantiq: add support for clk_set_parent() + - mips: bcm63xx: add support for clk_set_parent() + - powerpc/xive: Add missing null check after calling kmalloc + - ASoC: fsl_mqs: fix MODULE_ALIAS + - ALSA: hda/cs8409: Increase delay during jack detection + - ALSA: hda/cs8409: Fix Jack detection after resume + - RDMA/cxgb4: Set queue pair state when being queried + - clk: qcom: gcc-sc7280: Mark gcc_cfg_noc_lpass_clk always enabled + - ASoC: imx-card: Need special setting for ak4497 on i.MX8MQ + - ASoC: imx-card: Fix mclk calculation issue for akcodec + - ASoC: imx-card: improve the sound quality for low rate + - ASoC: fsl_asrc: refine the check of available clock divider + - clk: bm1880: remove kfrees on static allocations + - of: base: Fix phandle argument length mismatch error message + - of/fdt: Don't worry about non-memory region overlap for no-map + - MIPS: boot/compressed/: add __ashldi3 to target for ZSTD compression + - MIPS: compressed: Fix build with ZSTD compression + - mailbox: fix gce_num of mt8192 driver data + - ARM: dts: omap3-n900: Fix lp5523 for multi color + - leds: lp55xx: initialise output direction from dts + - Bluetooth: Fix debugfs entry leak in hci_register_dev() + - Bluetooth: Fix memory leak of hci device + - drm/panel: Delete panel on mipi_dsi_attach() failure + - Bluetooth: Fix removing adv when processing cmd complete + - fs: dlm: filter user dlm messages for kernel locks + - drm/lima: fix warning when CONFIG_DEBUG_SG=y & CONFIG_DMA_API_DEBUG=y + - selftests/bpf: Fix memory leaks in btf_type_c_dump() helper + - selftests/bpf: Destroy XDP link correctly + - selftests/bpf: Fix bpf_object leak in skb_ctx selftest + - ar5523: Fix null-ptr-deref with unexpected WDCMSG_TARGET_START reply + - drm/bridge: dw-hdmi: handle ELD when DRM_BRIDGE_ATTACH_NO_CONNECTOR + - drm/nouveau/pmu/gm200-: avoid touching PMU outside of DEVINIT/PREOS/ACR + - media: atomisp: fix try_fmt logic + - media: atomisp: set per-device's default mode + - media: atomisp-ov2680: Fix ov2680_set_fmt() clobbering the exposure + - media: atomisp: check before deference asd variable + - ARM: shmobile: rcar-gen2: Add missing of_node_put() + - batman-adv: allow netlink usage in unprivileged containers + - media: atomisp: handle errors at sh_css_create_isp_params() + - ath11k: Fix crash caused by uninitialized TX ring + - usb: dwc3: meson-g12a: fix shared reset control use + - USB: ehci_brcm_hub_control: Improve port index sanitizing + - usb: gadget: f_fs: Use stream_open() for endpoint files + - psi: Fix PSI_MEM_FULL state when tasks are in memstall and doing reclaim + - drm: panel-orientation-quirks: Add quirk for the Lenovo Yoga Book X91F/L + - HID: magicmouse: Report battery level over USB + - HID: apple: Do not reset quirks when the Fn key is not found + - media: b2c2: Add missing check in flexcop_pci_isr: + - libbpf: Accommodate DWARF/compiler bug with duplicated structs + - ethernet: renesas: Use div64_ul instead of do_div + - EDAC/synopsys: Use the quirk for version instead of ddr version + - arm64: dts: qcom: sm8350: Shorten camera-thermal-bottom name + - soc: imx: gpcv2: Synchronously suspend MIX domains + - ARM: imx: rename DEBUG_IMX21_IMX27_UART to DEBUG_IMX27_UART + - drm/amd/display: check top_pipe_to_program pointer + - drm/amdgpu/display: set vblank_disable_immediate for DC + - soc: ti: pruss: fix referenced node in error message + - mlxsw: pci: Add shutdown method in PCI driver + - drm/amd/display: add else to avoid double destroy clk_mgr + - drm/bridge: megachips: Ensure both bridges are probed before registration + - mxser: keep only !tty test in ISR + - tty: serial: imx: disable UCR4_OREN in .stop_rx() instead of .shutdown() + - gpiolib: acpi: Do not set the IRQ type if the IRQ is already in use + - HSI: core: Fix return freed object in hsi_new_client + - crypto: jitter - consider 32 LSB for APT + - mwifiex: Fix skb_over_panic in mwifiex_usb_recv() + - rsi: Fix use-after-free in rsi_rx_done_handler() + - rsi: Fix out-of-bounds read in rsi_read_pkt() + - ath11k: Avoid NULL ptr access during mgmt tx cleanup + - media: venus: avoid calling core_clk_setrate() concurrently during + concurrent video sessions + - regulator: da9121: Prevent current limit change when enabled + - drm/vmwgfx: Release ttm memory if probe fails + - drm/vmwgfx: Introduce a new placement for MOB page tables + - ACPI / x86: Drop PWM2 device on Lenovo Yoga Book from always present table + - ACPI: Change acpi_device_always_present() into acpi_device_override_status() + - ACPI / x86: Allow specifying acpi_device_override_status() quirks by path + - ACPI / x86: Add not-present quirk for the PCI0.SDHB.BRC1 device on the GPD + win + - arm64: dts: ti: j7200-main: Fix 'dtbs_check' serdes_ln_ctrl node + - arm64: dts: ti: j721e-main: Fix 'dtbs_check' in serdes_ln_ctrl node + - usb: uhci: add aspeed ast2600 uhci support + - floppy: Add max size check for user space request + - x86/mm: Flush global TLB when switching to trampoline page-table + - drm: rcar-du: Fix CRTC timings when CMM is used + - media: uvcvideo: Increase UVC_CTRL_CONTROL_TIMEOUT to 5 seconds. + - media: rcar-vin: Update format alignment constraints + - media: saa7146: hexium_orion: Fix a NULL pointer dereference in + hexium_attach() + - media: atomisp: fix "variable dereferenced before check 'asd'" + - media: m920x: don't use stack on USB reads + - thunderbolt: Runtime PM activate both ends of the device link + - arm64: dts: renesas: Fix thermal bindings + - iwlwifi: mvm: synchronize with FW after multicast commands + - iwlwifi: mvm: avoid clearing a just saved session protection id + - rcutorture: Avoid soft lockup during cpu stall + - ath11k: avoid deadlock by change ieee80211_queue_work for regd_update_work + - ath10k: Fix tx hanging + - net-sysfs: update the queue counts in the unregistration path + - net: phy: prefer 1000baseT over 1000baseKX + - gpio: aspeed: Convert aspeed_gpio.lock to raw_spinlock + - gpio: aspeed-sgpio: Convert aspeed_sgpio.lock to raw_spinlock + - selftests/ftrace: make kprobe profile testcase description unique + - ath11k: Avoid false DEADLOCK warning reported by lockdep + - ARM: dts: qcom: sdx55: fix IPA interconnect definitions + - x86/mce: Allow instrumentation during task work queueing + - x86/mce: Mark mce_panic() noinstr + - x86/mce: Mark mce_end() noinstr + - x86/mce: Mark mce_read_aux() noinstr + - net: bonding: debug: avoid printing debug logs when bond is not notifying + peers + - kunit: Don't crash if no parameters are generated + - bpf: Do not WARN in bpf_warn_invalid_xdp_action() + - drm/amdkfd: Fix error handling in svm_range_add + - HID: quirks: Allow inverting the absolute X/Y values + - HID: i2c-hid-of: Expose the touchscreen-inverted properties + - media: igorplugusb: receiver overflow should be reported + - media: rockchip: rkisp1: use device name for debugfs subdir name + - media: saa7146: hexium_gemini: Fix a NULL pointer dereference in + hexium_attach() + - mmc: tmio: reinit card irqs in reset routine + - mmc: core: Fixup storing of OCR for MMC_QUIRK_NONSTD_SDIO + - drm/amd/amdgpu: fix psp tmr bo pin count leak in SRIOV + - drm/amd/amdgpu: fix gmc bo pin count leak in SRIOV + - audit: ensure userspace is penalized the same as the kernel when under + pressure + - arm64: dts: ls1028a-qds: move rtc node to the correct i2c bus + - arm64: tegra: Adjust length of CCPLEX cluster MMIO region + - crypto: ccp - Move SEV_INIT retry for corrupted data + - crypto: hisilicon/hpre - fix memory leak in hpre_curve25519_src_init() + - PM: runtime: Add safety net to supplier device release + - cpufreq: Fix initialization of min and max frequency QoS requests + - mt76: mt7615: fix possible deadlock while mt7615_register_ext_phy() + - mt76: do not pass the received frame with decryption error + - mt76: mt7615: improve wmm index allocation + - ath9k_htc: fix NULL pointer dereference at ath9k_htc_rxep() + - ath9k_htc: fix NULL pointer dereference at ath9k_htc_tx_get_packet() + - ath9k: Fix out-of-bound memcpy in ath9k_hif_usb_rx_stream + - rtw88: 8822c: update rx settings to prevent potential hw deadlock + - PM: AVS: qcom-cpr: Use div64_ul instead of do_div + - iwlwifi: fix leaks/bad data after failed firmware load + - iwlwifi: remove module loading failure message + - iwlwifi: mvm: Fix calculation of frame length + - iwlwifi: mvm: fix AUX ROC removal + - iwlwifi: pcie: make sure prph_info is set when treating wakeup IRQ + - mmc: sdhci-pci-gli: GL9755: Support for CD/WP inversion on OF platforms + - block: check minor range in device_add_disk() + - um: registers: Rename function names to avoid conflicts and build problems + - ath11k: Fix napi related hang + - Bluetooth: btintel: Add missing quirks and msft ext for legacy bootloader + - Bluetooth: vhci: Set HCI_QUIRK_VALID_LE_STATES + - xfrm: rate limit SA mapping change message to user space + - drm/etnaviv: consider completed fence seqno in hang check + - jffs2: GC deadlock reading a page that is used in jffs2_write_begin() + - ACPICA: actypes.h: Expand the ACPI_ACCESS_ definitions + - ACPICA: Utilities: Avoid deleting the same object twice in a row + - ACPICA: Executer: Fix the REFCLASS_REFOF case in acpi_ex_opcode_1A_0T_1R() + - ACPICA: Fix wrong interpretation of PCC address + - ACPICA: Hardware: Do not flush CPU cache when entering S4 and S5 + - mmc: mtk-sd: Use readl_poll_timeout instead of open-coded polling + - drm/amdgpu: fixup bad vram size on gmc v8 + - amdgpu/pm: Make sysfs pm attributes as read-only for VFs + - ACPI: battery: Add the ThinkPad "Not Charging" quirk + - ACPI: CPPC: Check present CPUs for determining _CPC is valid + - btrfs: remove BUG_ON() in find_parent_nodes() + - btrfs: remove BUG_ON(!eie) in find_parent_nodes + - net: mdio: Demote probed message to debug print + - mac80211: allow non-standard VHT MCS-10/11 + - dm btree: add a defensive bounds check to insert_at() + - dm space map common: add bounds check to sm_ll_lookup_bitmap() + - bpf/selftests: Fix namespace mount setup in tc_redirect + - mlxsw: pci: Avoid flow control for EMAD packets + - net: phy: marvell: configure RGMII delays for 88E1118 + - net: gemini: allow any RGMII interface mode + - regulator: qcom_smd: Align probe function with rpmh-regulator + - serial: pl010: Drop CR register reset on set_termios + - serial: pl011: Drop CR register reset on set_termios + - serial: core: Keep mctrl register state and cached copy in sync + - random: do not throw away excess input to crng_fast_load + - net/mlx5: Update log_max_qp value to FW max capability + - net/mlx5e: Unblock setting vid 0 for VF in case PF isn't eswitch manager + - parisc: Avoid calling faulthandler_disabled() twice + - can: flexcan: allow to change quirks at runtime + - can: flexcan: rename RX modes + - can: flexcan: add more quirks to describe RX path capabilities + - x86/kbuild: Enable CONFIG_KALLSYMS_ALL=y in the defconfigs + - powerpc/6xx: add missing of_node_put + - powerpc/powernv: add missing of_node_put + - powerpc/cell: add missing of_node_put + - powerpc/btext: add missing of_node_put + - powerpc/watchdog: Fix missed watchdog reset due to memory ordering race + - ASoC: imx-hdmi: add put_device() after of_find_device_by_node() + - i2c: i801: Don't silently correct invalid transfer size + - powerpc/smp: Move setup_profiling_timer() under CONFIG_PROFILING + - i2c: mpc: Correct I2C reset procedure + - clk: meson: gxbb: Fix the SDM_EN bit for MPLL0 on GXBB + - powerpc/powermac: Add missing lockdep_register_key() + - KVM: PPC: Book3S: Suppress warnings when allocating too big memory slots + - KVM: PPC: Book3S: Suppress failed alloc warning in H_COPY_TOFROM_GUEST + - w1: Misuse of get_user()/put_user() reported by sparse + - nvmem: core: set size for sysfs bin file + - dm: fix alloc_dax error handling in alloc_dev + - interconnect: qcom: rpm: Prevent integer overflow in rate + - scsi: ufs: Fix a kernel crash during shutdown + - scsi: lpfc: Fix leaked lpfc_dmabuf mbox allocations with NPIV + - scsi: lpfc: Trigger SLI4 firmware dump before doing driver cleanup + - ALSA: seq: Set upper limit of processed events + - MIPS: Loongson64: Use three arguments for slti + - powerpc/40x: Map 32Mbytes of memory at startup + - selftests/powerpc/spectre_v2: Return skip code when miss_percent is high + - powerpc: handle kdump appropriately with crash_kexec_post_notifiers option + - powerpc/fadump: Fix inaccurate CPU state info in vmcore generated with panic + - udf: Fix error handling in udf_new_inode() + - MIPS: OCTEON: add put_device() after of_find_device_by_node() + - irqchip/gic-v4: Disable redistributors' view of the VPE table at boot time + - i2c: designware-pci: Fix to change data types of hcnt and lcnt parameters + - selftests/powerpc: Add a test of sigreturning to the kernel + - MIPS: Octeon: Fix build errors using clang + - scsi: sr: Don't use GFP_DMA + - scsi: mpi3mr: Fixes around reply request queues + - ASoC: mediatek: mt8192-mt6359: fix device_node leak + - phy: phy-mtk-tphy: add support efuse setting + - ASoC: mediatek: mt8173: fix device_node leak + - ASoC: mediatek: mt8183: fix device_node leak + - habanalabs: skip read fw errors if dynamic descriptor invalid + - phy: mediatek: Fix missing check in mtk_mipi_tx_probe + - mailbox: change mailbox-mpfs compatible string + - seg6: export get_srh() for ICMP handling + - icmp: ICMPV6: Examine invoking packet for Segment Route Headers. + - udp6: Use Segment Routing Header for dest address if present + - rpmsg: core: Clean up resources on announce_create failure. + - ifcvf/vDPA: fix misuse virtio-net device config size for blk dev + - crypto: omap-aes - Fix broken pm_runtime_and_get() usage + - crypto: stm32/crc32 - Fix kernel BUG triggered in probe() + - crypto: caam - replace this_cpu_ptr with raw_cpu_ptr + - ubifs: Error path in ubifs_remount_rw() seems to wrongly free write buffers + - tpm: fix potential NULL pointer access in tpm_del_char_device + - tpm: fix NPE on probe for missing device + - mfd: tps65910: Set PWR_OFF bit during driver probe + - spi: uniphier: Fix a bug that doesn't point to private data correctly + - xen/gntdev: fix unmap notification order + - md: Move alloc/free acct bioset in to personality + - HID: magicmouse: Fix an error handling path in magicmouse_probe() + - fuse: Pass correct lend value to filemap_write_and_wait_range() + - serial: Fix incorrect rs485 polarity on uart open + - cputime, cpuacct: Include guest time in user time in cpuacct.stat + - sched/cpuacct: Fix user/system in shown cpuacct.usage* + - tracing/kprobes: 'nmissed' not showed correctly for kretprobe + - tracing: Have syscall trace events use trace_event_buffer_lock_reserve() + - remoteproc: imx_rproc: Fix a resource leak in the remove function + - iwlwifi: mvm: Increase the scan timeout guard to 30 seconds + - s390/mm: fix 2KB pgtable release race + - device property: Fix fwnode_graph_devcon_match() fwnode leak + - drm/tegra: submit: Add missing pm_runtime_mark_last_busy() + - drm/etnaviv: limit submit sizes + - drm/amd/display: Fix the uninitialized variable in enable_stream_features() + - drm/nouveau/kms/nv04: use vzalloc for nv04_display + - drm/bridge: analogix_dp: Make PSR-exit block less + - parisc: Fix lpa and lpa_user defines + - powerpc/64s/radix: Fix huge vmap false positive + - scsi: lpfc: Fix lpfc_force_rscn ndlp kref imbalance + - drm/amdgpu: don't do resets on APUs which don't support it + - drm/i915/display/ehl: Update voltage swing table + - PCI: xgene: Fix IB window setup + - PCI: pciehp: Use down_read/write_nested(reset_lock) to fix lockdep errors + - PCI: pci-bridge-emul: Make expansion ROM Base Address register read-only + - PCI: pci-bridge-emul: Properly mark reserved PCIe bits in PCI config space + - PCI: pci-bridge-emul: Fix definitions of reserved bits + - PCI: pci-bridge-emul: Correctly set PCIe capabilities + - PCI: pci-bridge-emul: Set PCI_STATUS_CAP_LIST for PCIe device + - xfrm: fix policy lookup for ipv6 gre packets + - xfrm: fix dflt policy check when there is no policy configured + - btrfs: fix deadlock between quota enable and other quota operations + - btrfs: check the root node for uptodate before returning it + - btrfs: respect the max size in the header when activating swap file + - ext4: make sure to reset inode lockdep class when quota enabling fails + - ext4: make sure quota gets properly shutdown on error + - ext4: fix a possible ABBA deadlock due to busy PA + - ext4: initialize err_blk before calling __ext4_get_inode_loc + - ext4: fix fast commit may miss tracking range for FALLOC_FL_ZERO_RANGE + - ext4: set csum seed in tmp inode while migrating to extents + - ext4: Fix BUG_ON in ext4_bread when write quota data + - ext4: use ext4_ext_remove_space() for fast commit replay delete range + - ext4: fast commit may miss tracking unwritten range during ftruncate + - ext4: destroy ext4_fc_dentry_cachep kmemcache on module removal + - ext4: fix null-ptr-deref in '__ext4_journal_ensure_credits' + - ext4: fix an use-after-free issue about data=journal writeback mode + - ext4: don't use the orphan list when migrating an inode + - tracing/osnoise: Properly unhook events if start_per_cpu_kthreads() fails + - ath11k: qmi: avoid error messages when dma allocation fails + - drm/radeon: fix error handling in radeon_driver_open_kms + - of: base: Improve argument length mismatch error + - firmware: Update Kconfig help text for Google firmware + - can: mcp251xfd: mcp251xfd_tef_obj_read(): fix typo in error message + - media: rcar-csi2: Optimize the selection PHTW register + - drm/vc4: hdmi: Make sure the device is powered with CEC + - media: correct MEDIA_TEST_SUPPORT help text + - Documentation: coresight: Fix documentation issue + - Documentation: dmaengine: Correctly describe dmatest with channel unset + - Documentation: ACPI: Fix data node reference documentation + - Documentation, arch: Remove leftovers from raw device + - Documentation, arch: Remove leftovers from CIFS_WEAK_PW_HASH + - Documentation: refer to config RANDOMIZE_BASE for kernel address-space + randomization + - Documentation: fix firewire.rst ABI file path error + - net: usb: Correct reset handling of smsc95xx + - Bluetooth: hci_sync: Fix not setting adv set duration + - scsi: core: Show SCMD_LAST in text form + - scsi: ufs: ufs-mediatek: Fix error checking in ufs_mtk_init_va09_pwr_ctrl() + - RDMA/cma: Remove open coding of overflow checking for private_data_len + - dmaengine: uniphier-xdmac: Fix type of address variables + - dmaengine: idxd: fix wq settings post wq disable + - RDMA/hns: Modify the mapping attribute of doorbell to device + - RDMA/rxe: Fix a typo in opcode name + - dmaengine: stm32-mdma: fix STM32_MDMA_CTBR_TSEL_MASK + - Revert "net/mlx5: Add retry mechanism to the command entry index allocation" + - powerpc/cell: Fix clang -Wimplicit-fallthrough warning + - powerpc/fsl/dts: Enable WA for erratum A-009885 on fman3l MDIO buses + - block: fix async_depth sysfs interface for mq-deadline + - block: Fix fsync always failed if once failed + - drm/vc4: crtc: Drop feed_txp from state + - drm/vc4: Fix non-blocking commit getting stuck forever + - drm/vc4: crtc: Copy assigned channel to the CRTC + - bpftool: Remove inclusion of utilities.mak from Makefiles + - bpftool: Fix indent in option lists in the documentation + - xdp: check prog type before updating BPF link + - bpf: Fix mount source show for bpffs + - bpf: Mark PTR_TO_FUNC register initially with zero offset + - perf evsel: Override attr->sample_period for non-libpfm4 events + - ipv4: update fib_info_cnt under spinlock protection + - ipv4: avoid quadratic behavior in netns dismantle + - mlx5: Don't accidentally set RTO_ONLINK before mlx5e_route_lookup_ipv4_get() + - net/fsl: xgmac_mdio: Add workaround for erratum A-009885 + - net/fsl: xgmac_mdio: Fix incorrect iounmap when removing module + - parisc: pdc_stable: Fix memory leak in pdcs_register_pathentries + - riscv: dts: microchip: mpfs: Drop empty chosen node + - drm/vmwgfx: Remove explicit transparent hugepages support + - drm/vmwgfx: Remove unused compile options + - f2fs: fix remove page failed in invalidate compress pages + - f2fs: fix to avoid panic in is_alive() if metadata is inconsistent + - f2fs: compress: fix potential deadlock of compress file + - f2fs: fix to reserve space for IO align feature + - f2fs: fix to check available space of CP area correctly in + update_ckpt_flags() + - crypto: octeontx2 - uninitialized variable in kvf_limits_store() + - af_unix: annote lockless accesses to unix_tot_inflight & gc_in_progress + - clk: Emit a stern warning with writable debugfs enabled + - clk: si5341: Fix clock HW provider cleanup + - pinctrl/rockchip: fix gpio device creation + - gpio: mpc8xxx: Fix IRQ check in mpc8xxx_probe + - gpio: idt3243x: Fix IRQ check in idt_gpio_probe + - net/smc: Fix hung_task when removing SMC-R devices + - net: axienet: increase reset timeout + - net: axienet: Wait for PhyRstCmplt after core reset + - net: axienet: reset core on initialization prior to MDIO access + - net: axienet: add missing memory barriers + - net: axienet: limit minimum TX ring size + - net: axienet: Fix TX ring slot available check + - net: axienet: fix number of TX ring slots for available check + - net: axienet: fix for TX busy handling + - net: axienet: increase default TX ring size to 128 + - bitops: protect find_first_{,zero}_bit properly + - um: gitignore: Add kernel/capflags.c + - HID: vivaldi: fix handling devices not using numbered reports + - rtc: pxa: fix null pointer dereference + - vdpa/mlx5: Fix wrong configuration of virtio_version_1_0 + - virtio_ring: mark ring unused on error + - taskstats: Cleanup the use of task->exit_code + - inet: frags: annotate races around fqdir->dead and fqdir->high_thresh + - netns: add schedule point in ops_exit_list() + - iwlwifi: fix Bz NMI behaviour + - xfrm: Don't accidentally set RTO_ONLINK in decode_session4() + - vdpa/mlx5: Restore cur_num_vqs in case of failure in change_num_qps() + - gre: Don't accidentally set RTO_ONLINK in gre_fill_metadata_dst() + - libcxgb: Don't accidentally set RTO_ONLINK in cxgb_find_route() + - perf script: Fix hex dump character output + - dmaengine: at_xdmac: Don't start transactions at tx_submit level + - dmaengine: at_xdmac: Start transfer for cyclic channels in issue_pending + - dmaengine: at_xdmac: Print debug message after realeasing the lock + - dmaengine: at_xdmac: Fix concurrency over xfers_list + - dmaengine: at_xdmac: Fix lld view setting + - dmaengine: at_xdmac: Fix at_xdmac_lld struct definition + - perf tools: Drop requirement for libstdc++.so for libopencsd check + - perf probe: Fix ppc64 'perf probe add events failed' case + - devlink: Remove misleading internal_flags from health reporter dump + - arm64: dts: qcom: msm8996: drop not documented adreno properties + - net: fix sock_timestamping_bind_phc() to release device + - net: bonding: fix bond_xmit_broadcast return value error bug + - net: ipa: fix atomic update in ipa_endpoint_replenish() + - net_sched: restore "mpu xxx" handling + - net: mscc: ocelot: don't let phylink re-enable TX PAUSE on the NPI port + - bcmgenet: add WOL IRQ check + - net: wwan: Fix MRU mismatch issue which may lead to data connection lost + - net: ethernet: mtk_eth_soc: fix error checking in mtk_mac_config() + - net: ocelot: Fix the call to switchdev_bridge_port_offload + - net: sfp: fix high power modules without diagnostic monitoring + - net: cpsw: avoid alignment faults by taking NET_IP_ALIGN into account + - net: phy: micrel: use kszphy_suspend()/kszphy_resume for irq aware devices + - net: mscc: ocelot: fix using match before it is set + - dt-bindings: display: meson-dw-hdmi: add missing sound-name-prefix property + - dt-bindings: display: meson-vpu: Add missing amlogic,canvas property + - dt-bindings: watchdog: Require samsung,syscon-phandle for Exynos7 + - sch_api: Don't skip qdisc attach on ingress + - scripts/dtc: dtx_diff: remove broken example from help text + - lib82596: Fix IRQ check in sni_82596_probe + - mm/hmm.c: allow VM_MIXEDMAP to work with hmm_range_fault + - bonding: Fix extraction of ports from the packet headers + - lib/test_meminit: destroy cache in kmem_cache_alloc_bulk() test + - scripts: sphinx-pre-install: add required ctex dependency + - scripts: sphinx-pre-install: Fix ctex support on Debian + - Linux 5.15.17 + * rtw88_8821ce causes freeze (LP: #1927808) // Jammy update: v5.15.17 upstream + stable release (LP: #1959376) + - rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE + * Jammy update: v5.15.16 upstream stable release (LP: #1958977) + - devtmpfs regression fix: reconfigure on each mount + - orangefs: Fix the size of a memory allocation in orangefs_bufmap_alloc() + - remoteproc: qcom: pil_info: Don't memcpy_toio more than is provided + - perf: Protect perf_guest_cbs with RCU + - KVM: x86: Register perf callbacks after calling vendor's hardware_setup() + - KVM: x86: Register Processor Trace interrupt hook iff PT enabled in guest + - KVM: x86: don't print when fail to read/write pv eoi memory + - KVM: s390: Clarify SIGP orders versus STOP/RESTART + - remoteproc: qcom: pas: Add missing power-domain "mxc" for CDSP + - 9p: only copy valid iattrs in 9P2000.L setattr implementation + - video: vga16fb: Only probe for EGA and VGA 16 color graphic cards + - media: uvcvideo: fix division by zero at stream start + - rtlwifi: rtl8192cu: Fix WARNING when calling local_irq_restore() with + interrupts enabled + - firmware: qemu_fw_cfg: fix sysfs information leak + - firmware: qemu_fw_cfg: fix NULL-pointer deref on duplicate entries + - firmware: qemu_fw_cfg: fix kobject leak in probe error path + - perf annotate: Avoid TUI crash when navigating in the annotation of + recursive functions + - KVM: x86: remove PMU FIXED_CTR3 from msrs_to_save_all + - ALSA: hda/realtek: Add speaker fixup for some Yoga 15ITL5 devices + - ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Master after + reboot from Windows + - ALSA: hda: ALC287: Add Lenovo IdeaPad Slim 9i 14ITL5 speaker quirk + - ALSA: hda/tegra: Fix Tegra194 HDA reset failure + - ALSA: hda/realtek: Add quirk for Legion Y9000X 2020 + - ALSA: hda/realtek: Re-order quirk entries for Lenovo + - mtd: fixup CFI on ixp4xx + - Linux 5.15.16 + * UBSAN: array-index-out-of-bounds in dcn31_resources on AMD yellow carp + platform (LP: #1958229) + - drm/amd/display: Fix out of bounds access on DNC31 stream encoder regs + * Jammy update: v5.15.15 upstream stable release (LP: #1958418) + - s390/kexec: handle R_390_PLT32DBL rela in arch_kexec_apply_relocations_add() + - workqueue: Fix unbind_workers() VS wq_worker_running() race + - staging: r8188eu: switch the led off during deinit + - bpf: Fix out of bounds access from invalid *_or_null type verification + - Bluetooth: btusb: Add protocol for MediaTek bluetooth devices(MT7922) + - Bluetooth: btusb: Add the new support ID for Realtek RTL8852A + - Bluetooth: btusb: Add support for IMC Networks Mediatek Chip(MT7921) + - Bbluetooth: btusb: Add another Bluetooth part for Realtek 8852AE + - Bluetooth: btusb: fix memory leak in btusb_mtk_submit_wmt_recv_urb() + - Bluetooth: btusb: enable Mediatek to support AOSP extension + - Bluetooth: btusb: Add one more Bluetooth part for the Realtek RTL8852AE + - fget: clarify and improve __fget_files() implementation + - Bluetooth: btusb: Add two more Bluetooth parts for WCN6855 + - Bluetooth: btusb: Add support for Foxconn MT7922A + - Bluetooth: btintel: Fix broken LED quirk for legacy ROM devices + - Bluetooth: btusb: Add support for Foxconn QCA 0xe0d0 + - Bluetooth: bfusb: fix division by zero in send path + - ARM: dts: exynos: Fix BCM4330 Bluetooth reset polarity in I9100 + - USB: core: Fix bug in resuming hub's handling of wakeup requests + - USB: Fix "slab-out-of-bounds Write" bug in usb_hcd_poll_rh_status + - ath11k: Fix buffer overflow when scanning with extraie + - mmc: sdhci-pci: Add PCI ID for Intel ADL + - Bluetooth: add quirk disabling LE Read Transmit Power + - Bluetooth: btbcm: disable read tx power for some Macs with the T2 Security + chip + - Bluetooth: btbcm: disable read tx power for MacBook Air 8,1 and 8,2 + - veth: Do not record rx queue hint in veth_xmit + - mfd: intel-lpss: Fix too early PM enablement in the ACPI ->probe() + - can: gs_usb: fix use of uninitialized variable, detach device on reception + of invalid USB data + - can: isotp: convert struct tpcon::{idx,len} to unsigned int + - can: gs_usb: gs_can_start_xmit(): zero-initialize hf->{flags,reserved} + - random: fix data race on crng_node_pool + - random: fix data race on crng init time + - random: fix crash on multiple early calls to add_bootloader_randomness() + - platform/x86/intel: hid: add quirk to support Surface Go 3 + - media: Revert "media: uvcvideo: Set unique vdev name based in type" + - staging: wlan-ng: Avoid bitwise vs logical OR warning in + hfa384x_usb_throttlefn() + - drm/i915: Avoid bitwise vs logical OR warning in snb_wm_latency_quirk() + - staging: greybus: fix stack size warning with UBSAN + - Linux 5.15.15 + * UBSAN warning on unplugging USB4 DP alt mode from AMD Yellow Carp graphics + card (LP: #1956497) + - drm/amd/display: explicitly set is_dsc_supported to false before use + * Support USB4 DP alt mode for AMD Yellow Carp graphics card (LP: #1953008) + - drm/amd/display: Enable PSR by default on newer DCN + - SAUCE: drm/amd/display: Fixup previous PSR policy commit + - drm/amd/display: Fix USB4 hot plug crash issue + - drm/amd/display: Creating a fw boot options bit for an upcoming feature + - drm/amd/display: Enable dpia in dmub only for DCN31 B0 + - drm/amd/display: MST support for DPIA + - drm/amd/display: Set phy_mux_sel bit in dmub scratch register + - drm/amd/display: Don't lock connection_mutex for DMUB HPD + - drm/amd/display: Add callbacks for DMUB HPD IRQ notifications + * Jammy update: v5.15.14 upstream stable release (LP: #1957882) + - fscache_cookie_enabled: check cookie is valid before accessing it + - selftests: x86: fix [-Wstringop-overread] warn in test_process_vm_readv() + - tracing: Fix check for trace_percpu_buffer validity in get_trace_buf() + - tracing: Tag trace_percpu_buffer as a percpu pointer + - Revert "RDMA/mlx5: Fix releasing unallocated memory in dereg MR flow" + - ieee802154: atusb: fix uninit value in atusb_set_extended_addr + - i40e: Fix to not show opcode msg on unsuccessful VF MAC change + - iavf: Fix limit of total number of queues to active queues of VF + - RDMA/core: Don't infoleak GRH fields + - Revert "net: usb: r8152: Add MAC passthrough support for more Lenovo Docks" + - netrom: fix copying in user data in nr_setsockopt + - RDMA/uverbs: Check for null return of kmalloc_array + - mac80211: initialize variable have_higher_than_11mbit + - mac80211: mesh: embedd mesh_paths and mpp_paths into ieee80211_if_mesh + - sfc: The RX page_ring is optional + - i40e: fix use-after-free in i40e_sync_filters_subtask() + - i40e: Fix for displaying message regarding NVM version + - i40e: Fix incorrect netdev's real number of RX/TX queues + - ftrace/samples: Add missing prototypes direct functions + - ipv4: Check attribute length for RTA_GATEWAY in multipath route + - ipv4: Check attribute length for RTA_FLOW in multipath route + - ipv6: Check attribute length for RTA_GATEWAY in multipath route + - ipv6: Check attribute length for RTA_GATEWAY when deleting multipath route + - lwtunnel: Validate RTA_ENCAP_TYPE attribute length + - selftests: net: udpgro_fwd.sh: explicitly checking the available ping + feature + - sctp: hold endpoint before calling cb in sctp_transport_lookup_process + - batman-adv: mcast: don't send link-local multicast to mcast routers + - sch_qfq: prevent shift-out-of-bounds in qfq_init_qdisc + - net: ena: Fix undefined state when tx request id is out of bounds + - net: ena: Fix wrong rx request id by resetting device + - net: ena: Fix error handling when calculating max IO queues number + - md/raid1: fix missing bitmap update w/o WriteMostly devices + - EDAC/i10nm: Release mdev/mbase when failing to detect HBM + - KVM: x86: Check for rmaps allocation + - cgroup: Use open-time credentials for process migraton perm checks + - cgroup: Allocate cgroup_file_ctx for kernfs_open_file->priv + - cgroup: Use open-time cgroup namespace for process migration perm checks + - Revert "i2c: core: support bus regulator controlling in adapter" + - i2c: mpc: Avoid out of bounds memory access + - power: supply: core: Break capacity loop + - power: reset: ltc2952: Fix use of floating point literals + - reset: renesas: Fix Runtime PM usage + - rndis_host: support Hytera digital radios + - gpio: gpio-aspeed-sgpio: Fix wrong hwirq base in irq handler + - net ticp:fix a kernel-infoleak in __tipc_sendmsg() + - phonet: refcount leak in pep_sock_accep + - fbdev: fbmem: add a helper to determine if an aperture is used by a fw fb + - drm/amdgpu: disable runpm if we are the primary adapter + - power: bq25890: Enable continuous conversion for ADC at charging + - ipv6: Continue processing multipath route even if gateway attribute is + invalid + - ipv6: Do cleanup if attribute validation fails in multipath route + - auxdisplay: charlcd: checking for pointer reference before dereferencing + - drm/amdgpu: fix dropped backing store handling in amdgpu_dma_buf_move_notify + - drm/amd/pm: Fix xgmi link control on aldebaran + - usb: mtu3: fix interval value for intr and isoc + - scsi: libiscsi: Fix UAF in iscsi_conn_get_param()/iscsi_conn_teardown() + - ip6_vti: initialize __ip6_tnl_parm struct in vti6_siocdevprivate + - net: udp: fix alignment problem in udp4_seq_show() + - atlantic: Fix buff_ring OOB in aq_ring_rx_clean + - drm/amd/pm: skip setting gfx cgpg in the s0ix suspend-resume + - mISDN: change function names to avoid conflicts + - drm/amd/display: fix B0 TMDS deepcolor no dislay issue + - drm/amd/display: Added power down for DCN10 + - ipv6: raw: check passed optlen before reading + - userfaultfd/selftests: fix hugetlb area allocations + - ARM: dts: gpio-ranges property is now required + - Input: zinitix - make sure the IRQ is allocated before it gets enabled + - Revert "drm/amdgpu: stop scheduler when calling hw_fini (v2)" + - drm/amd/pm: keep the BACO feature enabled for suspend + - Linux 5.15.14 + * alsa/sdw: add sdw audio machine driver for several ADL machines + (LP: #1951563) + - ASoC: Intel: sof_sdw: Add support for SKU 0AF3 product + - ASoC: Intel: soc-acpi: add SKU 0AF3 SoundWire configuration + - ASoC: Intel: sof_sdw: Add support for SKU 0B00 and 0B01 products + - ASoC: Intel: sof_sdw: Add support for SKU 0B11 product + - ASoC: Intel: sof_sdw: Add support for SKU 0B13 product + - ASoC: Intel: soc-acpi: add SKU 0B13 SoundWire configuration + - ASoC: Intel: sof_sdw: Add support for SKU 0B29 product + - ASoC: Intel: soc-acpi: add SKU 0B29 SoundWire configuration + - ASoC: Intel: sof_sdw: Add support for SKU 0B12 product + - ASoC: intel: sof_sdw: return the original error number + - ASoC: intel: sof_sdw: rename be_index/link_id to link_index + - ASoC: intel: sof_sdw: Use a fixed DAI link id for AMP + - ASoC: intel: sof_sdw: move DMIC link id overwrite to create_sdw_dailink + - ASoC: intel: sof_sdw: remove SOF_RT715_DAI_ID_FIX quirk + - ASoC: intel: sof_sdw: remove sof_sdw_mic_codec_mockup_init + - ASoC: intel: sof_sdw: remove get_next_be_id + - ASoC: intel: sof_sdw: add link adr order check + * Add basic Wifi support for Qualcomm WCN6856 (LP: #1955613) + - ath11k: change to use dynamic memory for channel list of scan + - ath11k: add string type to search board data in board-2.bin for WCN6855 + * Enable audio mute LED and mic mute LED on a new HP laptop (LP: #1956454) + - ALSA: hda/realtek: Use ALC285_FIXUP_HP_GPIO_LED on another HP laptop + * Add missing BT ID for Qualcomm WCN6856 (LP: #1956407) + - Bluetooth: btusb: Add one more Bluetooth part for WCN6855 + * Add Bluetooth support for Qualcomm WCN6856 (LP: #1955689) + - Bluetooth: btusb: Add support using different nvm for variant WCN6855 + controller + - Bluetooth: btusb: re-definition for board_id in struct qca_version + - Bluetooth: btusb: Add the new support IDs for WCN6855 + * Improve performance and idle power consumption (LP: #1941893) + - x86: ACPI: cstate: Optimize C3 entry on AMD CPUs + * [Yellow Carp] USB4 interdomain communication problems (LP: #1945361) + - thunderbolt: Enable retry logic for intra-domain control packets + * 1951111: + - scsi: lpfc: Fix mailbox command failure during driver initialization + * [Jammy] Update Broadcom Emulex FC HBA lpfc driver to 14.0.0.3 for Ubuntu + 22.04 (LP: #1951111) + - scsi: lpfc: Fix premature rpi release for unsolicited TPLS and LS_RJT + - scsi: lpfc: Fix hang on unload due to stuck fport node + - scsi: lpfc: Fix rediscovery of tape device after LIP + - scsi: lpfc: Don't remove ndlp on PRLI errors in P2P mode + - scsi: lpfc: Fix EEH support for NVMe I/O + - scsi: lpfc: Adjust bytes received vales during cmf timer interval + - scsi: lpfc: Fix I/O block after enabling managed congestion mode + - scsi: lpfc: Zero CGN stats only during initial driver load and stat reset + - scsi: lpfc: Improve PBDE checks during SGL processing + - scsi: lpfc: Update lpfc version to 14.0.0.2 + * smartpqi: Update 20.04.4 to latest kernel.org patch level (LP: #1953689) + - scsi: smartpqi: Update device removal management + - scsi: smartpqi: Capture controller reason codes + - scsi: smartpqi: Update LUN reset handler + - scsi: smartpqi: Add TEST UNIT READY check for SANITIZE operation + - scsi: smartpqi: Avoid failing I/Os for offline devices + - scsi: smartpqi: Add extended report physical LUNs + - scsi: smartpqi: Fix boot failure during LUN rebuild + - scsi: smartpqi: Fix duplicate device nodes for tape changers + - scsi: smartpqi: Add 3252-8i PCI id + - scsi: smartpqi: Update version to 2.1.12-055 + * Let VMD follow host bridge PCIe settings (LP: #1954611) + - PCI: vmd: Honor ACPI _OSC on PCIe features + * Fix spurious wakeup caused by Intel 7560 WWAN (LP: #1956443) + - net: wwan: iosm: Keep device at D0 for s2idle case + * [uacc-0623] hisi_sec2 fail to alloc uacce (LP: #1933301) + - crypto: hisilicon/qm - modify the uacce mode check + * Jammy update: v5.15.13 upstream stable release (LP: #1956926) + - Input: i8042 - add deferred probe support + - Input: i8042 - enable deferred probe quirk for ASUS UM325UA + - tomoyo: Check exceeded quota early in tomoyo_domain_quota_is_ok(). + - tomoyo: use hwight16() in tomoyo_domain_quota_is_ok() + - net/sched: Extend qdisc control block with tc control block + - parisc: Clear stale IIR value on instruction access rights trap + - platform/mellanox: mlxbf-pmc: Fix an IS_ERR() vs NULL bug in + mlxbf_pmc_map_counters + - platform/x86: apple-gmux: use resource_size() with res + - memblock: fix memblock_phys_alloc() section mismatch error + - recordmcount.pl: fix typo in s390 mcount regex + - powerpc/ptdump: Fix DEBUG_WX since generic ptdump conversion + - efi: Move efifb_setup_from_dmi() prototype from arch headers + - selinux: initialize proto variable in selinux_ip_postroute_compat() + - scsi: lpfc: Terminate string in lpfc_debugfs_nvmeio_trc_write() + - net/mlx5: DR, Fix NULL vs IS_ERR checking in dr_domain_init_resources + - net/mlx5: Fix error print in case of IRQ request failed + - net/mlx5: Fix SF health recovery flow + - net/mlx5: Fix tc max supported prio for nic mode + - net/mlx5e: Wrap the tx reporter dump callback to extract the sq + - net/mlx5e: Fix interoperability between XSK and ICOSQ recovery flow + - net/mlx5e: Fix ICOSQ recovery flow for XSK + - net/mlx5e: Use tc sample stubs instead of ifdefs in source file + - net/mlx5e: Delete forward rule for ct or sample action + - udp: using datalen to cap ipv6 udp max gso segments + - selftests: Calculate udpgso segment count without header adjustment + - sctp: use call_rcu to free endpoint + - net/smc: fix using of uninitialized completions + - net: usb: pegasus: Do not drop long Ethernet frames + - net: ag71xx: Fix a potential double free in error handling paths + - net: lantiq_xrx200: fix statistics of received bytes + - NFC: st21nfca: Fix memory leak in device probe and remove + - net/smc: don't send CDC/LLC message if link not ready + - net/smc: fix kernel panic caused by race of smc_sock + - igc: Do not enable crosstimestamping for i225-V models + - igc: Fix TX timestamp support for non-MSI-X platforms + - drm/amd/display: Send s0i2_rdy in stream_count == 0 optimization + - drm/amd/display: Set optimize_pwr_state for DCN31 + - ionic: Initialize the 'lif->dbid_inuse' bitmap + - net/mlx5e: Fix wrong features assignment in case of error + - net: bridge: mcast: add and enforce query interval minimum + - net: bridge: mcast: add and enforce startup query interval minimum + - selftests/net: udpgso_bench_tx: fix dst ip argument + - selftests: net: Fix a typo in udpgro_fwd.sh + - net: bridge: mcast: fix br_multicast_ctx_vlan_global_disabled helper + - net/ncsi: check for error return from call to nla_put_u32 + - selftests: net: using ping6 for IPv6 in udpgro_fwd.sh + - fsl/fman: Fix missing put_device() call in fman_port_probe + - i2c: validate user data in compat ioctl + - nfc: uapi: use kernel size_t to fix user-space builds + - uapi: fix linux/nfc.h userspace compilation errors + - drm/nouveau: wait for the exclusive fence after the shared ones v2 + - drm/amdgpu: When the VCN(1.0) block is suspended, powergating is explicitly + enabled + - drm/amdgpu: add support for IP discovery gc_info table v2 + - drm/amd/display: Changed pipe split policy to allow for multi-display pipe + split + - xhci: Fresco FL1100 controller should not have BROKEN_MSI quirk set. + - usb: gadget: f_fs: Clear ffs_eventfd in ffs_data_clear. + - usb: mtu3: add memory barrier before set GPD's HWO + - usb: mtu3: fix list_head check warning + - usb: mtu3: set interval of FS intr and isoc endpoint + - nitro_enclaves: Use get_user_pages_unlocked() call to handle mmap assert + - binder: fix async_free_space accounting for empty parcels + - scsi: vmw_pvscsi: Set residual data length conditionally + - Input: appletouch - initialize work before device registration + - Input: spaceball - fix parsing of movement data packets + - mm/damon/dbgfs: fix 'struct pid' leaks in 'dbgfs_target_ids_write()' + - net: fix use-after-free in tw_timer_handler + - fs/mount_setattr: always cleanup mount_kattr + - perf intel-pt: Fix parsing of VM time correlation arguments + - perf script: Fix CPU filtering of a script's switch events + - perf scripts python: intel-pt-events.py: Fix printing of switch events + - Linux 5.15.13 + * Miscellaneous Ubuntu changes + - [Packaging] getabis: Add fwinfo.builtin to the ABI + - [Packaging] Add list of built-in firmwares to the ABI + - [Config] x86-64: SYSFB_SIMPLEFB=y + - [packaging] arm64: introduce the lowlatency and lowlatency-64k flavours + - [packaging] arm64: updateconfigs + - [Config] annotations: remove duplicates when arm64-generic == + arm64-generic-64k option + - [Config] annotations: introduce arm64-lowlatency and arm64-lowlatency-64k + kconfig options checks + - [Packaging] Update dependency of pahole / dwarves + - [Config] toolchain version update + * Miscellaneous upstream changes + - scsi: lpfc: Revert LOG_TRACE_EVENT back to LOG_INIT prior to + driver_resource_setup() + - scsi: lpfc: Correct sysfs reporting of loop support after SFP status change + - scsi: lpfc: Allow PLOGI retry if previous PLOGI was aborted + - scsi: lpfc: Update lpfc version to 14.0.0.3 + - Revert "rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE" + + [ Ubuntu: 5.15.0-18.18 ] + + * jammy/linux: 5.15.0-18.18 -proposed tracker (LP: #1958638) + * CVE-2021-4155 + - xfs: map unwritten blocks in XFS_IOC_{ALLOC, FREE}SP just like fallocate + * CVE-2022-0185 + - SAUCE: vfs: test that one given mount param is not larger than PAGE_SIZE + * [UBUNTU 20.04] KVM hardware diagnose data improvements for guest kernel - + kernel part (LP: #1953334) + - KVM: s390: add debug statement for diag 318 CPNC data + * OOB write on BPF_RINGBUF (LP: #1956585) + - SAUCE: bpf: prevent helper argument PTR_TO_ALLOC_MEM to have offset other + than 0 + * Miscellaneous Ubuntu changes + - [Config] re-enable shiftfs + - [SAUCE] shiftfs: support kernel 5.15 + - [Config] update toolchain versions + * Miscellaneous upstream changes + - vfs: fs_context: fix up param length parsing in legacy_parse_param + + [ Ubuntu: 5.15.0-17.17 ] + + * jammy/linux: 5.15.0-17.17 -proposed tracker (LP: #1957809) + + [ Ubuntu: 5.15.0-16.16 ] + + * jammy/linux: 5.15.0-16.16 -proposed tracker (LP: #1956820) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * 5.15 stuck at boot on c4.large (LP: #1956780) + - Revert "PCI/MSI: Mask MSI-X vectors only on success" + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] temporarily disable signed v4l2loopback" + + [ Ubuntu: 5.15.0-15.15 ] + + * jammy/linux: 5.15.0-15.15 -proposed tracker (LP: #1956314) + * Packaging resync (LP: #1786013) + - update dkms package versions + - debian/dkms-versions -- update from kernel-versions (main/master) + * rtw88_8821ce causes freeze (LP: #1927808) + - rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE + * alsa/sdw: fix the audio sdw codec parsing logic in the acpi table + (LP: #1955686) + - ALSA: hda: intel-sdw-acpi: go through HDAS ACPI at max depth of 2 + - ALSA: hda: intel-sdw-acpi: harden detection of controller + * Got black screen when resume from s2idle with AMD dGPU (LP: #1955790) + - SAUCE: drm/amdgpu: put SMU into proper state on runpm suspending for BOCO + capable platform + - SAUCE: drm/amdgpu: always reset the asic in suspend (v2) + * Fix USB3 detection on HP dock (LP: #1955443) + - usb: hub: Add delay for SuperSpeed hub resume to let links transit to U0 + * support signed v4l2loopback dkms build (LP: #1938531) + - enable v4l2loopback builds on amd64 kernels + - support v4l2loopback dkms build + * Jammy update: v5.15.12 upstream stable release (LP: #1956305) + - arm64: vdso32: require CROSS_COMPILE_COMPAT for gcc+bfd + - net: usb: lan78xx: add Allied Telesis AT29M2-AF + - ext4: prevent partial update of the extent blocks + - ext4: check for out-of-order index extents in ext4_valid_extent_entries() + - ext4: check for inconsistent extents between index and leaf block + - selftests: KVM: Fix non-x86 compiling + - HID: holtek: fix mouse probing + - HID: potential dereference of null pointer + - NFSD: Fix READDIR buffer overflow + - PM: sleep: Fix error handling in dpm_prepare() + - arm64: dts: allwinner: orangepi-zero-plus: fix PHY mode + - bus: sunxi-rsb: Fix shutdown + - spi: change clk_disable_unprepare to clk_unprepare + - ucounts: Fix rlimit max values check + - drm/mediatek: hdmi: Perform NULL pointer check for mtk_hdmi_conf + - ASoC: meson: aiu: fifo: Add missing dma_coerce_mask_and_coherent() + - RDMA/hns: Fix RNR retransmission issue for HIP08 + - IB/qib: Fix memory leak in qib_user_sdma_queue_pkts() + - RDMA/hns: Replace kfree() with kvfree() + - netfilter: nf_tables: fix use-after-free in nft_set_catchall_destroy() + - netfilter: fix regression in looped (broad|multi)cast's MAC handling + - ARM: dts: imx6qdl-wandboard: Fix Ethernet support + - ice: Use xdp_buf instead of rx_buf for xsk zero-copy + - ice: xsk: return xsk buffers back to pool when cleaning the ring + - net: marvell: prestera: fix incorrect return of port_find + - net: marvell: prestera: fix incorrect structure access + - qlcnic: potential dereference null pointer of rx_queue->page_ring + - tcp: move inet->rx_dst_ifindex to sk->sk_rx_dst_ifindex + - ipv6: move inet6_sk(sk)->rx_dst_cookie to sk->sk_rx_dst_cookie + - inet: fully convert sk->sk_rx_dst to RCU rules + - net: accept UFOv6 packages in virtio_net_hdr_to_skb + - net: skip virtio_net_hdr_set_proto if protocol already set + - igb: fix deadlock caused by taking RTNL in RPM resume path + - ipmi: Fix UAF when uninstall ipmi_si and ipmi_msghandler module + - gpio: virtio: remove timeout + - bonding: fix ad_actor_system option setting to default + - fjes: Check for error irq + - drivers: net: smc911x: Check for error irq + - net: ks8851: Check for error irq + - sfc: Check null pointer of rx_queue->page_ring + - sfc: falcon: Check null pointer of rx_queue->page_ring + - asix: fix uninit-value in asix_mdio_read() + - asix: fix wrong return value in asix_check_host_enable() + - io_uring: zero iocb->ki_pos for stream file types + - veth: ensure skb entering GRO are not cloned. + - net: stmmac: ptp: fix potentially overflowing expression + - net: bridge: Use array_size() helper in copy_to_user() + - net: bridge: fix ioctl old_deviceless bridge argument + - r8152: fix the force speed doesn't work for RTL8156 + - net: stmmac: dwmac-visconti: Fix value of ETHER_CLK_SEL_FREQ_SEL_2P5M + - pinctrl: bcm2835: Change init order for gpio hogs + - hwmon: (lm90) Fix usage of CONFIG2 register in detect function + - hwmon: (lm90) Prevent integer overflow/underflow in hysteresis calculations + - hwmon: (lm90) Introduce flag indicating extended temperature support + - hwmon: (lm90) Add basic support for TI TMP461 + - hwmon: (lm90) Drop critical attribute support for MAX6654 + - ARM: 9160/1: NOMMU: Reload __secondary_data after PROCINFO_INITFUNC + - uapi: Fix undefined __always_inline on non-glibc systems + - compiler.h: Fix annotation macro misplacement with Clang + - platform/x86/intel: Remove X86_PLATFORM_DRIVERS_INTEL + - kernel/crash_core: suppress unknown crashkernel parameter warning + - Revert "x86/boot: Pull up cmdline preparation and early param parsing" + - x86/boot: Move EFI range reservation after cmdline parsing + - ALSA: jack: Check the return value of kstrdup() + - ALSA: drivers: opl3: Fix incorrect use of vp->state + - ALSA: rawmidi - fix the uninitalized user_pversion + - ALSA: hda/hdmi: Disable silent stream on GLK + - ALSA: hda/realtek: Amp init fixup for HP ZBook 15 G6 + - ALSA: hda/realtek: Add new alc285-hp-amp-init model + - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook + - ALSA: hda/realtek: Fix quirk for Clevo NJ51CU + - ASoC: meson: aiu: Move AIU_I2S_MISC hold setting to aiu-fifo-i2s + - ASoC: tegra: Add DAPM switches for headphones and mic jack + - ASoC: tegra: Restore headphones jack name on Nyan Big + - Input: atmel_mxt_ts - fix double free in mxt_read_info_block + - ipmi: bail out if init_srcu_struct fails + - ipmi: ssif: initialize ssif_info->client early + - ipmi: fix initialization when workqueue allocation fails + - parisc: Correct completer in lws start + - parisc: Fix mask used to select futex spinlock + - tee: handle lookup of shm with reference count 0 + - x86/pkey: Fix undefined behaviour with PKRU_WD_BIT + - platform/x86: amd-pmc: only use callbacks for suspend + - platform/x86: intel_pmc_core: fix memleak on registration failure + - KVM: x86: Always set kvm_run->if_flag + - KVM: x86/mmu: Don't advance iterator after restart due to yielding + - KVM: nVMX: Synthesize TRIPLE_FAULT for L2 if emulation is required + - KVM: VMX: Always clear vmx->fail on emulation_required + - KVM: VMX: Wake vCPU when delivering posted IRQ even if vCPU == this vCPU + - pinctrl: stm32: consider the GPIO offset to expose all the GPIO lines + - gpio: dln2: Fix interrupts when replugging the device + - mmc: sdhci-tegra: Fix switch to HS400ES mode + - mmc: meson-mx-sdhc: Set MANUAL_STOP for multi-block SDIO commands + - mmc: core: Disable card detect during shutdown + - mmc: mmci: stm32: clear DLYB_CR after sending tuning command + - ARM: 9169/1: entry: fix Thumb2 bug in iWMMXt exception handling + - ksmbd: fix error code in ndr_read_int32() + - ksmbd: fix uninitialized symbol 'pntsd_size' + - ksmbd: disable SMB2_GLOBAL_CAP_ENCRYPTION for SMB 3.1.1 + - mac80211: fix locking in ieee80211_start_ap error path + - mm: mempolicy: fix THP allocations escaping mempolicy restrictions + - mm, hwpoison: fix condition in free hugetlb page path + - mm/hwpoison: clear MF_COUNT_INCREASED before retrying get_any_page() + - mm/damon/dbgfs: protect targets destructions with kdamond_lock + - tee: optee: Fix incorrect page free bug + - f2fs: fix to do sanity check on last xattr entry in __f2fs_setxattr() + - netfs: fix parameter of cleanup() + - KVM: VMX: Fix stale docs for kvm-intel.emulate_invalid_guest_state + - arm64: dts: lx2160a: fix scl-gpios property name + - kfence: fix memory leak when cat kfence objects + - Input: iqs626a - prohibit inlining of channel parsing functions + - Input: elants_i2c - do not check Remark ID on eKTH3900/eKTH5312 + - Input: goodix - add id->model mapping for the "9111" model + - ASoC: tas2770: Fix setting of high sample rates + - ASoC: SOF: Intel: pci-tgl: add new ADL-P variant + - ASoC: SOF: Intel: pci-tgl: add ADL-N support + - ASoC: rt5682: fix the wrong jack type detected + - pinctrl: mediatek: fix global-out-of-bounds issue + - hwmom: (lm90) Fix citical alarm status for MAX6680/MAX6681 + - hwmon: (lm90) Do not report 'busy' status bit as alarm + - r8152: sync ocp base + - ax25: NPD bug when detaching AX25 device + - hamradio: defer ax25 kfree after unregister_netdev + - hamradio: improve the incomplete fix to avoid NPD + - tun: avoid double free in tun_free_netdev + - phonet/pep: refuse to enable an unbound pipe + - Linux 5.15.12 + * Thinkpad E14 Gen2: Kernel panic with trackpad and trackpoint enabled + (LP: #1945590) // Jammy update: v5.15.12 upstream stable release + (LP: #1956305) + - Input: elantech - fix stack out of bound access in + elantech_change_report_id() + * Jammy update: v5.15.11 upstream stable release (LP: #1956302) + - reset: tegra-bpmp: Revert Handle errors in BPMP response + - KVM: VMX: clear vmx_x86_ops.sync_pir_to_irr if APICv is disabled + - KVM: selftests: Make sure kvm_create_max_vcpus test won't hit RLIMIT_NOFILE + - KVM: downgrade two BUG_ONs to WARN_ON_ONCE + - x86/kvm: remove unused ack_notifier callbacks + - KVM: X86: Fix tlb flush for tdp in kvm_invalidate_pcid() + - mac80211: fix rate control for retransmitted frames + - mac80211: fix regression in SSN handling of addba tx + - mac80211: mark TX-during-stop for TX in in_reconfig + - mac80211: send ADDBA requests using the tid/queue of the aggregation session + - mac80211: validate extended element ID is present + - firmware: arm_scpi: Fix string overflow in SCPI genpd driver + - bpf: Fix kernel address leakage in atomic fetch + - bpf, selftests: Add test case for atomic fetch on spilled pointer + - bpf: Fix signed bounds propagation after mov32 + - bpf: Make 32->64 bounds propagation slightly more robust + - bpf, selftests: Add test case trying to taint map value pointer + - bpf: Fix kernel address leakage in atomic cmpxchg's r0 aux reg + - bpf, selftests: Update test case for atomic cmpxchg on r0 with pointer + - vduse: fix memory corruption in vduse_dev_ioctl() + - vduse: check that offset is within bounds in get_config() + - virtio_ring: Fix querying of maximum DMA mapping size for virtio device + - vdpa: check that offsets are within bounds + - s390/entry: fix duplicate tracking of irq nesting level + - recordmcount.pl: look for jgnop instruction as well as bcrl on s390 + - arm64: dts: ten64: remove redundant interrupt declaration for gpio-keys + - ceph: fix up non-directory creation in SGID directories + - dm btree remove: fix use after free in rebalance_children() + - audit: improve robustness of the audit queue handling + - btrfs: convert latest_bdev type to btrfs_device and rename + - btrfs: use latest_dev in btrfs_show_devname + - btrfs: update latest_dev when we create a sprout device + - btrfs: remove stale comment about the btrfs_show_devname + - scsi: ufs: core: Retry START_STOP on UNIT_ATTENTION + - arm64: dts: rockchip: remove mmc-hs400-enhanced-strobe from rk3399-khadas- + edge + - arm64: dts: rockchip: fix rk3308-roc-cc vcc-sd supply + - arm64: dts: rockchip: fix rk3399-leez-p710 vcc3v3-lan supply + - arm64: dts: rockchip: fix audio-supply for Rock Pi 4 + - arm64: dts: rockchip: fix poweroff on helios64 + - dmaengine: idxd: add halt interrupt support + - dmaengine: idxd: fix calling wq quiesce inside spinlock + - mac80211: track only QoS data frames for admission control + - tee: amdtee: fix an IS_ERR() vs NULL bug + - ceph: fix duplicate increment of opened_inodes metric + - ceph: initialize pathlen variable in reconnect_caps_cb + - ARM: socfpga: dts: fix qspi node compatible + - arm64: dts: imx8mq: remove interconnect property from lcdif + - clk: Don't parent clks until the parent is fully registered + - soc: imx: Register SoC device only on i.MX boards + - iwlwifi: mvm: don't crash on invalid rate w/o STA + - virtio: always enter drivers/virtio/ + - virtio/vsock: fix the transport to work with VMADDR_CID_ANY + - vdpa: Consider device id larger than 31 + - Revert "drm/fb-helper: improve DRM fbdev emulation device names" + - selftests: net: Correct ping6 expected rc from 2 to 1 + - s390/kexec_file: fix error handling when applying relocations + - sch_cake: do not call cake_destroy() from cake_init() + - inet_diag: fix kernel-infoleak for UDP sockets + - netdevsim: don't overwrite read only ethtool parms + - selftests: icmp_redirect: pass xfail=0 to log_test() + - net: hns3: fix use-after-free bug in hclgevf_send_mbx_msg + - net: hns3: fix race condition in debugfs + - selftests: Add duplicate config only for MD5 VRF tests + - selftests: Fix raw socket bind tests with VRF + - selftests: Fix IPv6 address bind tests + - dmaengine: idxd: fix missed completion on abort path + - dmaengine: st_fdma: fix MODULE_ALIAS + - drm: simpledrm: fix wrong unit with pixel clock + - net/sched: sch_ets: don't remove idle classes from the round-robin list + - selftests/net: toeplitz: fix udp option + - net: dsa: mv88e6xxx: Unforce speed & duplex in mac_link_down() + - selftest/net/forwarding: declare NETIFS p9 p10 + - mptcp: never allow the PM to close a listener subflow + - drm/ast: potential dereference of null pointer + - drm/i915/display: Fix an unsigned subtraction which can never be negative. + - mac80211: agg-tx: don't schedule_and_wake_txq() under sta->lock + - cfg80211: Acquire wiphy mutex on regulatory work + - mac80211: fix lookup when adding AddBA extension element + - net: stmmac: fix tc flower deletion for VLAN priority Rx steering + - flow_offload: return EOPNOTSUPP for the unsupported mpls action type + - rds: memory leak in __rds_conn_create() + - ice: Use div64_u64 instead of div_u64 in adjfine + - ice: Don't put stale timestamps in the skb + - drm/amd/display: Set exit_optimized_pwr_state for DCN31 + - drm/amd/pm: fix a potential gpu_metrics_table memory leak + - mptcp: remove tcp ulp setsockopt support + - mptcp: clear 'kern' flag from fallback sockets + - mptcp: fix deadlock in __mptcp_push_pending() + - soc/tegra: fuse: Fix bitwise vs. logical OR warning + - igb: Fix removal of unicast MAC filters of VFs + - igbvf: fix double free in `igbvf_probe` + - igc: Fix typo in i225 LTR functions + - ixgbe: Document how to enable NBASE-T support + - ixgbe: set X550 MDIO speed before talking to PHY + - netdevsim: Zero-initialize memory for new map's value in function + nsim_bpf_map_alloc + - net/packet: rx_owner_map depends on pg_vec + - net: stmmac: dwmac-rk: fix oob read in rk_gmac_setup + - sfc_ef100: potential dereference of null pointer + - dsa: mv88e6xxx: fix debug print for SPEED_UNFORCED + - net: Fix double 0x prefix print in SKB dump + - net/smc: Prevent smc_release() from long blocking + - net: systemport: Add global locking for descriptor lifecycle + - sit: do not call ipip6_dev_free() from sit_init_net() + - afs: Fix mmap + - arm64: kexec: Fix missing error code 'ret' warning in load_other_segments() + - bpf: Fix extable fixup offset. + - bpf, selftests: Fix racing issue in btf_skc_cls_ingress test + - powerpc/85xx: Fix oops when CONFIG_FSL_PMC=n + - USB: gadget: bRequestType is a bitfield, not a enum + - Revert "usb: early: convert to readl_poll_timeout_atomic()" + - KVM: x86: Drop guest CPUID check for host initiated writes to + MSR_IA32_PERF_CAPABILITIES + - tty: n_hdlc: make n_hdlc_tty_wakeup() asynchronous + - USB: NO_LPM quirk Lenovo USB-C to Ethernet Adapher(RTL8153-04) + - usb: dwc2: fix STM ID/VBUS detection startup delay in dwc2_driver_probe + - PCI/MSI: Clear PCI_MSIX_FLAGS_MASKALL on error + - PCI/MSI: Mask MSI-X vectors only on success + - usb: xhci-mtk: fix list_del warning when enable list debug + - usb: xhci: Extend support for runtime power management for AMD's Yellow + carp. + - usb: cdnsp: Fix incorrect status for control request + - usb: cdnsp: Fix incorrect calling of cdnsp_died function + - usb: cdnsp: Fix issue in cdnsp_log_ep trace event + - usb: cdnsp: Fix lack of spin_lock_irqsave/spin_lock_restore + - usb: typec: tcpm: fix tcpm unregister port but leave a pending timer + - usb: gadget: u_ether: fix race in setting MAC address in setup phase + - USB: serial: cp210x: fix CP2105 GPIO registration + - USB: serial: option: add Telit FN990 compositions + - selinux: fix sleeping function called from invalid context + - btrfs: fix memory leak in __add_inode_ref() + - btrfs: fix double free of anon_dev after failure to create subvolume + - btrfs: check WRITE_ERR when trying to read an extent buffer + - btrfs: fix missing blkdev_put() call in btrfs_scan_one_device() + - zonefs: add MODULE_ALIAS_FS + - iocost: Fix divide-by-zero on donation from low hweight cgroup + - serial: 8250_fintek: Fix garbled text for console + - timekeeping: Really make sure wall_to_monotonic isn't positive + - cifs: sanitize multiple delimiters in prepath + - locking/rtmutex: Fix incorrect condition in rtmutex_spin_on_owner() + - riscv: dts: unleashed: Add gpio card detect to mmc-spi-slot + - riscv: dts: unmatched: Add gpio card detect to mmc-spi-slot + - perf inject: Fix segfault due to close without open + - perf inject: Fix segfault due to perf_data__fd() without open + - libata: if T_LENGTH is zero, dma direction should be DMA_NONE + - powerpc/module_64: Fix livepatching for RO modules + - drm/amdgpu: correct register access for RLC_JUMP_TABLE_RESTORE + - drm/amdgpu: don't override default ECO_BITs setting + - drm/amd/pm: fix reading SMU FW version from amdgpu_firmware_info on YC + - Revert "can: m_can: remove support for custom bit timing" + - can: m_can: make custom bittiming fields const + - can: m_can: pci: use custom bit timings for Elkhart Lake + - ARM: dts: imx6ull-pinfunc: Fix CSI_DATA07__ESAI_TX0 pad name + - xsk: Do not sleep in poll() when need_wakeup set + - mptcp: add missing documented NL params + - bpf, x64: Factor out emission of REX byte in more cases + - bpf: Fix extable address check. + - USB: core: Make do_proc_control() and do_proc_bulk() killable + - media: mxl111sf: change mutex_init() location + - fuse: annotate lock in fuse_reverse_inval_entry() + - ovl: fix warning in ovl_create_real() + - scsi: scsi_debug: Don't call kcalloc() if size arg is zero + - scsi: scsi_debug: Fix type in min_t to avoid stack OOB + - scsi: scsi_debug: Sanity check block descriptor length in resp_mode_select() + - io-wq: remove spurious bit clear on task_work addition + - io-wq: check for wq exit after adding new worker task_work + - rcu: Mark accesses to rcu_state.n_force_qs + - io-wq: drop wqe lock before creating new worker + - bus: ti-sysc: Fix variable set but not used warning for reinit_modules + - selftests/damon: test debugfs file reads/writes with huge count + - Revert "xsk: Do not sleep in poll() when need_wakeup set" + - xen/blkfront: harden blkfront against event channel storms + - xen/netfront: harden netfront against event channel storms + - xen/console: harden hvc_xen against event channel storms + - xen/netback: fix rx queue stall detection + - xen/netback: don't queue unlimited number of packages + - Linux 5.15.11 + * Jammy update: v5.15.10 upstream stable release (LP: #1956301) + - nfc: fix segfault in nfc_genl_dump_devices_done + - hwmon: (corsair-psu) fix plain integer used as NULL pointer + - RDMA: Fix use-after-free in rxe_queue_cleanup + - RDMA/mlx5: Fix releasing unallocated memory in dereg MR flow + - mtd: rawnand: Fix nand_erase_op delay + - mtd: rawnand: Fix nand_choose_best_timings() on unsupported interface + - inet: use #ifdef CONFIG_SOCK_RX_QUEUE_MAPPING consistently + - dt-bindings: media: nxp,imx7-mipi-csi2: Drop bad if/then schema + - clk: qcom: sm6125-gcc: Swap ops of ice and apps on sdcc1 + - perf bpf_skel: Do not use typedef to avoid error on old clang + - netfs: Fix lockdep warning from taking sb_writers whilst holding mmap_lock + - RDMA/irdma: Fix a user-after-free in add_pble_prm + - RDMA/irdma: Fix a potential memory allocation issue in + 'irdma_prm_add_pble_mem()' + - RDMA/irdma: Report correct WC errors + - RDMA/irdma: Don't arm the CQ more than two times if no CE for this CQ + - ice: fix FDIR init missing when reset VF + - vmxnet3: fix minimum vectors alloc issue + - i2c: virtio: fix completion handling + - drm/msm: Fix null ptr access msm_ioctl_gem_submit() + - drm/msm/a6xx: Fix uinitialized use of gpu_scid + - drm/msm/dsi: set default num_data_lanes + - drm/msm/dp: Avoid unpowered AUX xfers that caused crashes + - KVM: arm64: Save PSTATE early on exit + - s390/test_unwind: use raw opcode instead of invalid instruction + - Revert "tty: serial: fsl_lpuart: drop earlycon entry for i.MX8QXP" + - net/mlx4_en: Update reported link modes for 1/10G + - loop: Use pr_warn_once() for loop_control_remove() warning + - ALSA: hda: Add Intel DG2 PCI ID and HDMI codec vid + - ALSA: hda/hdmi: fix HDA codec entry table order for ADL-P + - parisc/agp: Annotate parisc agp init functions with __init + - i2c: rk3x: Handle a spurious start completion interrupt flag + - net: netlink: af_netlink: Prevent empty skb by adding a check on len. + - drm/amdgpu: cancel the correct hrtimer on exit + - drm/amdgpu: check atomic flag to differeniate with legacy path + - drm/amd/display: Fix for the no Audio bug with Tiled Displays + - drm/amdkfd: fix double free mem structure + - drm/amd/display: add connector type check for CRC source set + - drm/amdkfd: process_info lock not needed for svm + - tracing: Fix a kmemleak false positive in tracing_map + - staging: most: dim2: use device release method + - fuse: make sure reclaim doesn't write the inode + - perf inject: Fix itrace space allowed for new attributes + - Linux 5.15.10 + * Jammy update: v5.15.9 upstream stable release (LP: #1955161) + - netfilter: selftest: conntrack_vrf.sh: fix file permission + - Linux 5.15.9 + * [SRU][I/J/OEM-5.13/OEM-5.14] Fix pci port lost when hotplug dock + (LP: #1954646) + - PCI: Re-enable Downstream Port LTR after reset or hotplug + * Add support for NVIDIA EC backlight (LP: #1953286) + - platform/x86: Add driver for ACPI WMAA EC-based backlight control + - platform/x86: Remove "WMAA" from identifier names in wmaa-backlight-wmi.c + - platform/x86: Rename wmaa-backlight-wmi to nvidia-wmi-ec-backlight + - [Config] NVIDIA_WMI_EC_BACKLIGHT=m + * Improve USB Type-C support (LP: #1950974) + - usb: typec: ucsi: Always cancel the command if PPM reports BUSY condition + - usb: typec: ucsi: Don't stop alt mode registration on busy condition + - usb: typec: ucsi: Add polling mechanism for partner tasks like alt mode + checking + - usb: typec: ucsi: acpi: Reduce the command completion timeout + - usb: typec: ucsi: Check the partner alt modes always if there is PD contract + - usb: typec: ucsi: Read the PDOs in separate work + - usb: typec: ucsi: Better fix for missing unplug events issue + * Fix power button wakeup with shared IRQs on AMD platforms (LP: #1953540) + - pinctrl: amd: Fix wakeups when IRQ is shared with SCI + * AMD: Suspend not working when some cores are disabled through cpufreq + (LP: #1954930) + - ACPI: processor idle: Allow playing dead in C3 state + * Jammy update: v5.15.8 upstream stable release (LP: #1954931) + - Revert "UBUNTU: SAUCE: selftests: fib_tests: assign address to dummy1 for + rp_filter tests" + - usb: gadget: uvc: fix multiple opens + - HID: quirks: Add quirk for the Microsoft Surface 3 type-cover + - HID: google: add eel USB id + - HID: intel-ish-hid: ipc: only enable IRQ wakeup when requested + - HID: add hid_is_usb() function to make it simpler for USB detection + - HID: add USB_HID dependancy to hid-prodikeys + - HID: add USB_HID dependancy to hid-chicony + - HID: add USB_HID dependancy on some USB HID drivers + - HID: bigbenff: prevent null pointer dereference + - HID: wacom: fix problems when device is not a valid USB device + - HID: check for valid USB device for many HID drivers + - mtd: dataflash: Add device-tree SPI IDs + - mmc: spi: Add device-tree SPI IDs + - HID: sony: fix error path in probe + - HID: Ignore battery for Elan touchscreen on Asus UX550VE + - platform/x86/intel: hid: add quirk to support Surface Go 3 + - nft_set_pipapo: Fix bucket load in AVX2 lookup routine for six 8-bit groups + - IB/hfi1: Insure use of smp_processor_id() is preempt disabled + - IB/hfi1: Fix early init panic + - IB/hfi1: Fix leak of rcvhdrtail_dummy_kvaddr + - can: kvaser_usb: get CAN clock frequency from device + - can: kvaser_pciefd: kvaser_pciefd_rx_error_frame(): increase correct + stats->{rx,tx}_errors counter + - can: sja1000: fix use after free in ems_pcmcia_add_card() + - can: pch_can: pch_can_rx_normal: fix use after free + - can: m_can: m_can_read_fifo: fix memory leak in error branch + - can: m_can: pci: fix incorrect reference clock rate + - can: m_can: pci: fix iomap_read_fifo() and iomap_write_fifo() + - can: m_can: Disable and ignore ELO interrupt + - net: dsa: mv88e6xxx: fix "don't use PHY_DETECT on internal PHY's" + - net: dsa: mv88e6xxx: allow use of PHYs on CPU and DSA ports + - x86/sme: Explicitly map new EFI memmap table as encrypted + - platform/x86: amd-pmc: Fix s2idle failures on certain AMD laptops + - nfc: fix potential NULL pointer deref in nfc_genl_dump_ses_done + - selftests: netfilter: add a vrf+conntrack testcase + - vrf: don't run conntrack on vrf with !dflt qdisc + - bpf, x86: Fix "no previous prototype" warning + - bpf, sockmap: Attach map progs to psock early for feature probes + - bpf: Make sure bpf_disable_instrumentation() is safe vs preemption. + - bpf: Fix the off-by-two error in range markings + - ice: ignore dropped packets during init + - ethtool: do not perform operations on net devices being unregistered + - bonding: make tx_rebalance_counter an atomic + - nfp: Fix memory leak in nfp_cpp_area_cache_add() + - udp: using datalen to cap max gso segments + - netfilter: nft_exthdr: break evaluation if setting TCP option fails + - netfilter: conntrack: annotate data-races around ct->timeout + - iavf: restore MSI state on reset + - iavf: Fix reporting when setting descriptor count + - IB/hfi1: Correct guard on eager buffer deallocation + - devlink: fix netns refcount leak in devlink_nl_cmd_reload() + - net: bcm4908: Handle dma_set_coherent_mask error codes + - net: dsa: mv88e6xxx: error handling for serdes_power functions + - net: dsa: felix: Fix memory leak in felix_setup_mmio_filtering + - net/sched: fq_pie: prevent dismantle issue + - net: mvpp2: fix XDP rx queues registering + - KVM: x86: Don't WARN if userspace mucks with RCX during string I/O exit + - KVM: x86: Ignore sparse banks size for an "all CPUs", non-sparse IPI req + - KVM: x86: Wait for IPIs to be delivered when handling Hyper-V TLB flush + hypercall + - timers: implement usleep_idle_range() + - mm/damon/core: fix fake load reports due to uninterruptible sleeps + - mm/slub: fix endianness bug for alloc/free_traces attributes + - mm: bdi: initialize bdi_min_ratio when bdi is unregistered + - ALSA: ctl: Fix copy of updated id with element read/write + - ALSA: hda/realtek - Add headset Mic support for Lenovo ALC897 platform + - ALSA: hda/realtek: Fix quirk for TongFang PHxTxX1 + - ALSA: pcm: oss: Fix negative period/buffer sizes + - ALSA: pcm: oss: Limit the period size to 16MB + - ALSA: pcm: oss: Handle missing errors in snd_pcm_oss_change_params*() + - cifs: Fix crash on unload of cifs_arc4.ko + - scsi: qla2xxx: Format log strings only if needed + - btrfs: clear extent buffer uptodate when we fail to write it + - btrfs: fix re-dirty process of tree-log nodes + - btrfs: replace the BUG_ON in btrfs_del_root_ref with proper error handling + - btrfs: free exchange changeset on failures + - perf intel-pt: Fix some PGE (packet generation enable/control flow packets) + usage + - perf intel-pt: Fix sync state when a PSB (synchronization) packet is found + - perf intel-pt: Fix intel_pt_fup_event() assumptions about setting state type + - perf intel-pt: Fix state setting when receiving overflow (OVF) packet + - perf intel-pt: Fix next 'err' value, walking trace + - perf intel-pt: Fix missing 'instruction' events with 'q' option + - perf intel-pt: Fix error timestamp setting on the decoder error path + - md: fix update super 1.0 on rdev size change + - nfsd: fix use-after-free due to delegation race + - nfsd: Fix nsfd startup race (again) + - tracefs: Have new files inherit the ownership of their parent + - selftests: KVM: avoid failures due to reserved HyperTransport region + - hwmon: (pwm-fan) Ensure the fan going on in .probe() + - mmc: renesas_sdhi: initialize variable properly when tuning + - clk: qcom: regmap-mux: fix parent clock lookup + - thermal: int340x: Fix VCoRefLow MMIO bit offset for TGL + - drm/syncobj: Deal with signalled fences in drm_syncobj_find_fence. + - libata: add horkage for ASMedia 1092 + - io_uring: ensure task_work gets run as part of cancelations + - wait: add wake_up_pollfree() + - binder: use wake_up_pollfree() + - signalfd: use wake_up_pollfree() + - aio: keep poll requests on waitqueue until completed + - aio: fix use-after-free due to missing POLLFREE handling + - tracefs: Set all files to the same group ownership as the mount option + - i2c: mpc: Use atomic read and fix break condition + - block: fix ioprio_get(IOPRIO_WHO_PGRP) vs setuid(2) + - scsi: pm80xx: Do not call scsi_remove_host() in pm8001_alloc() + - scsi: scsi_debug: Fix buffer size of REPORT ZONES command + - ALSA: usb-audio: Reorder snd_djm_devices[] entries + - qede: validate non LSO skb length + - PM: runtime: Fix pm_runtime_active() kerneldoc comment + - ASoC: rt5682: Fix crash due to out of scope stack vars + - ASoC: qdsp6: q6routing: Fix return value from msm_routing_put_audio_mixer + - ASoC: codecs: wsa881x: fix return values from kcontrol put + - ASoC: codecs: wcd934x: handle channel mappping list correctly + - ASoC: codecs: wcd934x: return correct value from mixer put + - RDMA/hns: Do not halt commands during reset until later + - RDMA/hns: Do not destroy QP resources in the hw resetting phase + - hwmon: (dell-smm) Fix warning on /proc/i8k creation error + - clk: imx: use module_platform_driver + - clk: qcom: clk-alpha-pll: Don't reconfigure running Trion + - i40e: Fix failed opcode appearing if handling messages from VF + - i40e: Fix pre-set max number of queues for VF + - mtd: rawnand: fsmc: Take instruction delay into account + - mtd: rawnand: fsmc: Fix timing computation + - bpf, sockmap: Re-evaluate proto ops when psock is removed from sockmap + - i40e: Fix NULL pointer dereference in i40e_dbg_dump_desc + - Revert "PCI: aardvark: Fix support for PCI_ROM_ADDRESS1 on emulated bridge" + - drm/amd/display: Fix DPIA outbox timeout after S3/S4/reset + - perf tools: Fix SMT detection fast read path + - Documentation/locking/locktypes: Update migrate_disable() bits. + - dt-bindings: net: Reintroduce PHY no lane swap binding + - tools build: Remove needless libpython-version feature check that breaks + test-all fast path + - net: cdc_ncm: Allow for dwNtbOutMaxSize to be unset or zero + - net: altera: set a couple error code in probe() + - net: fec: only clear interrupt of handling queue in fec_enet_rx_queue() + - net, neigh: clear whole pneigh_entry at alloc time + - net/qla3xxx: fix an error code in ql_adapter_up() + - selftests/fib_tests: Rework fib_rp_filter_test() + - USB: gadget: detect too-big endpoint 0 requests + - USB: gadget: zero allocate endpoint 0 buffers + - Revert "usb: dwc3: dwc3-qcom: Enable tx-fifo-resize property by default" + - usb: core: config: fix validation of wMaxPacketValue entries + - usb: core: config: using bit mask instead of individual bits + - xhci: avoid race between disable slot command and host runtime suspend + - iio: gyro: adxrs290: fix data signedness + - iio: trigger: Fix reference counting + - iio: trigger: stm32-timer: fix MODULE_ALIAS + - iio: stk3310: Don't return error code in interrupt handler + - iio: mma8452: Fix trigger reference couting + - iio: ltr501: Don't return error code in trigger handler + - iio: kxsd9: Don't return error code in trigger handler + - iio: itg3200: Call iio_trigger_notify_done() on error + - iio: dln2-adc: Fix lockdep complaint + - iio: dln2: Check return value of devm_iio_trigger_register() + - iio: at91-sama5d2: Fix incorrect sign extension + - iio: adc: stm32: fix a current leak by resetting pcsel before disabling vdda + - iio: adc: axp20x_adc: fix charging current reporting on AXP22x + - iio: ad7768-1: Call iio_trigger_notify_done() on error + - iio: accel: kxcjk-1013: Fix possible memory leak in probe and remove + - nvmem: eeprom: at25: fix FRAM byte_len + - bus: mhi: pci_generic: Fix device recovery failed issue + - bus: mhi: core: Add support for forced PM resume + - csky: fix typo of fpu config macro + - irqchip/aspeed-scu: Replace update_bits with write_bits. + - irqchip/armada-370-xp: Fix return value of armada_370_xp_msi_alloc() + - irqchip/armada-370-xp: Fix support for Multi-MSI interrupts + - aio: Fix incorrect usage of eventfd_signal_allowed() + - irqchip/irq-gic-v3-its.c: Force synchronisation when issuing INVALL + - irqchip: nvic: Fix offset for Interrupt Priority Offsets + - misc: fastrpc: fix improper packet size calculation + - clocksource/drivers/dw_apb_timer_of: Fix probe failure + - bpf: Add selftests to cover packet access corner cases + - Linux 5.15.8 + * Can't read/write SD card after running CPU offline test in 5.11.0 and 5.13.0 + (LP: #1951784) // Jammy update: v5.15.8 upstream stable release + (LP: #1954931) + - misc: rtsx: Avoid mangling IRQ during runtime PM + * Enable Landlock by default (LP: #1953192) + - [Config] Enable Landlock by default + * Add s0i3 RTC wake up for AMD systems (LP: #1950013) + - platform/x86: amd-pmc: Export Idlemask values based on the APU + - platform/x86: amd-pmc: adjust arguments for `amd_pmc_send_cmd` + - platform/x86: amd-pmc: Add special handling for timer based S0i3 wakeup + * Fix runtime power management on USB controller with XHCI_RESET_ON_RESUME + flag (LP: #1954369) + - SAUCE: xhci: Remove CONFIG_USB_DEFAULT_PERSIST to prevent xHCI from runtime + suspending + * Fix System hangs on black screen when reboot (LP: #1949321) + - drm/i915/hdmi: convert intel_hdmi_to_dev to intel_hdmi_to_i915 + - drm/i915: Don't request GMBUS to generate irqs when called while irqs are + off + - drm/i915/hdmi: Turn DP++ TMDS output buffers back on in encoder->shutdown() + * require CAP_NET_ADMIN to attach N_HCI ldisc (LP: #1949516) + - Bluetooth: hci_ldisc: require CAP_NET_ADMIN to attach N_HCI ldisc + * mt7921e: Failed to start WM firmware (LP: #1954300) + - SAUCE: Bluetooth: btusb: Handle download_firmware failure cases + - SAUCE: Bluetooth: btusb: Return error code when getting patch status failed + * Miscellaneous Ubuntu changes + - [Packaging] Add list of built-in modules to the ABI + - [Packaging] abi-check: Process modules.builtin + - SAUCE: allow to use __wake_up_pollfree() from GPL modules + - [Packaging] enforce xz compression for debs + - [Config] update config after v5.15.12 + - [Packaging] temporarily disable signed v4l2loopback + + [ Ubuntu: 5.15.0-14.14 ] + + * jammy/linux: 5.15.0-14.14 -proposed tracker (LP: #1954627) + * Jammy update: v5.15.7 upstream stable release (LP: #1953731) + - ALSA: usb-audio: Restrict rates for the shared clocks + - ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback + - ALSA: usb-audio: Disable low-latency playback for free-wheel mode + - ALSA: usb-audio: Disable low-latency mode for implicit feedback sync + - ALSA: usb-audio: Check available frames for the next packet size + - ALSA: usb-audio: Add spinlock to stop_urbs() + - ALSA: usb-audio: Improved lowlatency playback support + - ALSA: usb-audio: Avoid killing in-flight URBs during draining + - ALSA: usb-audio: Fix packet size calculation regression + - ALSA: usb-audio: Less restriction for low-latency playback mode + - ALSA: usb-audio: Switch back to non-latency mode at a later point + - ALSA: usb-audio: Don't start stream for capture at prepare + - gfs2: release iopen glock early in evict + - gfs2: Fix length of holes reported at end-of-file + - powerpc/pseries/ddw: Revert "Extend upper limit for huge DMA window for + persistent memory" + - powerpc/pseries/ddw: Do not try direct mapping with persistent memory and + one window + - drm/sun4i: fix unmet dependency on RESET_CONTROLLER for PHY_SUN6I_MIPI_DPHY + - mac80211: do not access the IV when it was stripped + - mac80211: fix throughput LED trigger + - x86/hyperv: Move required MSRs check to initial platform probing + - net/smc: Transfer remaining wait queue entries during fallback + - atlantic: Fix OOB read and write in hw_atl_utils_fw_rpc_wait + - net: return correct error code + - pinctrl: qcom: fix unmet dependencies on GPIOLIB for GPIOLIB_IRQCHIP + - platform/x86: dell-wmi-descriptor: disable by default + - platform/x86: thinkpad_acpi: Add support for dual fan control + - platform/x86: thinkpad_acpi: Fix WWAN device disabled issue after S3 deep + - s390/setup: avoid using memblock_enforce_memory_limit + - btrfs: silence lockdep when reading chunk tree during mount + - btrfs: check-integrity: fix a warning on write caching disabled disk + - thermal: core: Reset previous low and high trip during thermal zone init + - scsi: iscsi: Unblock session then wake up error handler + - drm/amd/pm: Remove artificial freq level on Navi1x + - drm/amd/amdkfd: Fix kernel panic when reset failed and been triggered again + - drm/amd/amdgpu: fix potential memleak + - ata: ahci: Add Green Sardine vendor ID as board_ahci_mobile + - ata: libahci: Adjust behavior when StorageD3Enable _DSD is set + - ethernet: hisilicon: hns: hns_dsaf_misc: fix a possible array overflow in + hns_dsaf_ge_srst_by_port() + - ipv6: check return value of ipv6_skip_exthdr + - net: tulip: de4x5: fix the problem that the array 'lp->phy[8]' may be out of + bound + - net: ethernet: dec: tulip: de4x5: fix possible array overflows in + type3_infoblock() + - perf sort: Fix the 'weight' sort key behavior + - perf sort: Fix the 'ins_lat' sort key behavior + - perf sort: Fix the 'p_stage_cyc' sort key behavior + - perf inject: Fix ARM SPE handling + - perf hist: Fix memory leak of a perf_hpp_fmt + - perf report: Fix memory leaks around perf_tip() + - tracing: Don't use out-of-sync va_list in event printing + - net/smc: Avoid warning of possible recursive locking + - ACPI: Add stubs for wakeup handler functions + - net/tls: Fix authentication failure in CCM mode + - vrf: Reset IPCB/IP6CB when processing outbound pkts in vrf dev xmit + - kprobes: Limit max data_size of the kretprobe instances + - ALSA: hda/cs8409: Set PMSG_ON earlier inside cs8409 driver + - rt2x00: do not mark device gone on EPROTO errors during start + - ipmi: Move remove_work to dedicated workqueue + - cpufreq: Fix get_cpu_device() failure in add_cpu_dev_symlink() + - iwlwifi: mvm: retry init flow if failed + - dma-buf: system_heap: Use 'for_each_sgtable_sg' in pages free flow + - s390/pci: move pseudo-MMIO to prevent MIO overlap + - fget: check that the fd still exists after getting a ref to it + - sata_fsl: fix UAF in sata_fsl_port_stop when rmmod sata_fsl + - sata_fsl: fix warning in remove_proc_entry when rmmod sata_fsl + - scsi: lpfc: Fix non-recovery of remote ports following an unsolicited LOGO + - scsi: ufs: ufs-pci: Add support for Intel ADL + - ipv6: fix memory leak in fib6_rule_suppress + - drm/amd/display: Allow DSC on supported MST branch devices + - drm/i915/dp: Perform 30ms delay after source OUI write + - KVM: fix avic_set_running for preemptable kernels + - KVM: Disallow user memslot with size that exceeds "unsigned long" + - KVM: x86/mmu: Fix TLB flush range when handling disconnected pt + - KVM: Ensure local memslot copies operate on up-to-date arch-specific data + - KVM: x86: ignore APICv if LAPIC is not enabled + - KVM: nVMX: Emulate guest TLB flush on nested VM-Enter with new vpid12 + - KVM: nVMX: Flush current VPID (L1 vs. L2) for KVM_REQ_TLB_FLUSH_GUEST + - KVM: nVMX: Abide to KVM_REQ_TLB_FLUSH_GUEST request on nested vmentry/vmexit + - KVM: VMX: prepare sync_pir_to_irr for running with APICv disabled + - KVM: x86: Use a stable condition around all VT-d PI paths + - KVM: MMU: shadow nested paging does not have PKU + - KVM: arm64: Avoid setting the upper 32 bits of TCR_EL2 and CPTR_EL2 to 1 + - KVM: X86: Use vcpu->arch.walk_mmu for kvm_mmu_invlpg() + - KVM: x86: check PIR even for vCPUs with disabled APICv + - tracing/histograms: String compares should not care about signed values + - net: dsa: mv88e6xxx: Fix application of erratum 4.8 for 88E6393X + - net: dsa: mv88e6xxx: Drop unnecessary check in + mv88e6393x_serdes_erratum_4_6() + - net: dsa: mv88e6xxx: Save power by disabling SerDes trasmitter and receiver + - net: dsa: mv88e6xxx: Add fix for erratum 5.2 of 88E6393X family + - net: dsa: mv88e6xxx: Fix inband AN for 2500base-x on 88E6393X family + - net: dsa: mv88e6xxx: Link in pcs_get_state() if AN is bypassed + - wireguard: selftests: increase default dmesg log size + - wireguard: allowedips: add missing __rcu annotation to satisfy sparse + - wireguard: selftests: actually test for routing loops + - wireguard: selftests: rename DEBUG_PI_LIST to DEBUG_PLIST + - wireguard: device: reset peer src endpoint when netns exits + - wireguard: receive: use ring buffer for incoming handshakes + - wireguard: receive: drop handshakes if queue lock is contended + - wireguard: ratelimiter: use kvcalloc() instead of kvzalloc() + - i2c: stm32f7: flush TX FIFO upon transfer errors + - i2c: stm32f7: recover the bus on access timeout + - i2c: stm32f7: stop dma transfer in case of NACK + - i2c: cbus-gpio: set atomic transfer callback + - natsemi: xtensa: fix section mismatch warnings + - tcp: fix page frag corruption on page fault + - net: qlogic: qlcnic: Fix a NULL pointer dereference in + qlcnic_83xx_add_rings() + - net: mpls: Fix notifications when deleting a device + - siphash: use _unaligned version by default + - arm64: ftrace: add missing BTIs + - iwlwifi: fix warnings produced by kernel debug options + - net/mlx5e: IPsec: Fix Software parser inner l3 type setting in case of + encapsulation + - net/mlx4_en: Fix an use-after-free bug in mlx4_en_try_alloc_resources() + - selftests: net: Correct case name + - net: dsa: b53: Add SPI ID table + - mt76: mt7915: fix NULL pointer dereference in mt7915_get_phy_mode + - ASoC: tegra: Fix wrong value type in ADMAIF + - ASoC: tegra: Fix wrong value type in I2S + - ASoC: tegra: Fix wrong value type in DMIC + - ASoC: tegra: Fix wrong value type in DSPK + - ASoC: tegra: Fix kcontrol put callback in ADMAIF + - ASoC: tegra: Fix kcontrol put callback in I2S + - ASoC: tegra: Fix kcontrol put callback in DMIC + - ASoC: tegra: Fix kcontrol put callback in DSPK + - ASoC: tegra: Fix kcontrol put callback in AHUB + - rxrpc: Fix rxrpc_peer leak in rxrpc_look_up_bundle() + - rxrpc: Fix rxrpc_local leak in rxrpc_lookup_peer() + - ALSA: intel-dsp-config: add quirk for CML devices based on ES8336 codec + - net: stmmac: Avoid DMA_CHAN_CONTROL write if no Split Header support + - net: usb: lan78xx: lan78xx_phy_init(): use PHY_POLL instead of "0" if no IRQ + is available + - net: marvell: mvpp2: Fix the computation of shared CPUs + - dpaa2-eth: destroy workqueue at the end of remove function + - octeontx2-af: Fix a memleak bug in rvu_mbox_init() + - net: annotate data-races on txq->xmit_lock_owner + - ipv4: convert fib_num_tclassid_users to atomic_t + - net/smc: fix wrong list_del in smc_lgr_cleanup_early + - net/rds: correct socket tunable error in rds_tcp_tune() + - net/smc: Keep smc_close_final rc during active close + - drm/msm/a6xx: Allocate enough space for GMU registers + - drm/msm: Do hw_init() before capturing GPU state + - drm/vc4: kms: Wait for the commit before increasing our clock rate + - drm/vc4: kms: Fix return code check + - drm/vc4: kms: Add missing drm_crtc_commit_put + - drm/vc4: kms: Clear the HVS FIFO commit pointer once done + - drm/vc4: kms: Don't duplicate pending commit + - drm/vc4: kms: Fix previous HVS commit wait + - atlantic: Increase delay for fw transactions + - atlatnic: enable Nbase-t speeds with base-t + - atlantic: Fix to display FW bundle version instead of FW mac version. + - atlantic: Add missing DIDs and fix 115c. + - Remove Half duplex mode speed capabilities. + - atlantic: Fix statistics logic for production hardware + - atlantic: Remove warn trace message. + - KVM: x86/mmu: Skip tlb flush if it has been done in zap_gfn_range() + - KVM: x86/mmu: Pass parameter flush as false in + kvm_tdp_mmu_zap_collapsible_sptes() + - drm/msm/devfreq: Fix OPP refcnt leak + - drm/msm: Fix mmap to include VM_IO and VM_DONTDUMP + - drm/msm: Fix wait_fence submitqueue leak + - drm/msm: Restore error return on invalid fence + - ASoC: rk817: Add module alias for rk817-codec + - iwlwifi: Fix memory leaks in error handling path + - KVM: X86: Fix when shadow_root_level=5 && guest root_level<4 + - KVM: SEV: initialize regions_list of a mirror VM + - net/mlx5e: Fix missing IPsec statistics on uplink representor + - net/mlx5: Move MODIFY_RQT command to ignore list in internal error state + - net/mlx5: E-switch, Respect BW share of the new group + - net/mlx5: E-Switch, fix single FDB creation on BlueField + - net/mlx5: E-Switch, Check group pointer before reading bw_share value + - KVM: x86/pmu: Fix reserved bits for AMD PerfEvtSeln register + - KVM: VMX: Set failure code in prepare_vmcs02() + - mctp: Don't let RTM_DELROUTE delete local routes + - Revert "drm/i915: Implement Wa_1508744258" + - io-wq: don't retry task_work creation failure on fatal conditions + - x86/sev: Fix SEV-ES INS/OUTS instructions for word, dword, and qword + - x86/entry: Add a fence for kernel entry SWAPGS in paranoid_entry() + - x86/entry: Use the correct fence macro after swapgs in kernel CR3 + - x86/xen: Add xenpv_restore_regs_and_return_to_usermode() + - preempt/dynamic: Fix setup_preempt_mode() return value + - sched/uclamp: Fix rq->uclamp_max not set on first enqueue + - KVM: SEV: Return appropriate error codes if SEV-ES scratch setup fails + - KVM: x86/mmu: Rename slot_handle_leaf to slot_handle_level_4k + - KVM: x86/mmu: Remove spurious TLB flushes in TDP MMU zap collapsible path + - net/mlx5e: Rename lro_timeout to packet_merge_timeout + - net/mlx5e: Rename TIR lro functions to TIR packet merge functions + - net/mlx5e: Sync TIR params updates against concurrent create/modify + - serial: 8250_bcm7271: UART errors after resuming from S2 + - parisc: Fix KBUILD_IMAGE for self-extracting kernel + - parisc: Fix "make install" on newer debian releases + - parisc: Mark cr16 CPU clocksource unstable on all SMP machines + - vgacon: Propagate console boot parameters before calling `vc_resize' + - xhci: Fix commad ring abort, write all 64 bits to CRCR register. + - USB: NO_LPM quirk Lenovo Powered USB-C Travel Hub + - usb: typec: tcpm: Wait in SNK_DEBOUNCED until disconnect + - usb: cdns3: gadget: fix new urb never complete if ep cancel previous + requests + - usb: cdnsp: Fix a NULL pointer dereference in cdnsp_endpoint_init() + - x86/tsc: Add a timer to make sure TSC_adjust is always checked + - x86/tsc: Disable clocksource watchdog for TSC on qualified platorms + - x86/64/mm: Map all kernel memory into trampoline_pgd + - tty: serial: msm_serial: Deactivate RX DMA for polling support + - serial: pl011: Add ACPI SBSA UART match id + - serial: tegra: Change lower tolerance baud rate limit for tegra20 and + tegra30 + - serial: core: fix transmit-buffer reset and memleak + - serial: 8250_pci: Fix ACCES entries in pci_serial_quirks array + - serial: 8250_pci: rewrite pericom_do_set_divisor() + - serial: 8250: Fix RTS modem control while in rs485 mode + - serial: liteuart: Fix NULL pointer dereference in ->remove() + - serial: liteuart: fix use-after-free and memleak on unbind + - serial: liteuart: fix minor-number leak on probe errors + - ipmi: msghandler: Make symbol 'remove_work_wq' static + - Linux 5.15.7 + * Updates to ib_peer_memory requested by Nvidia (LP: #1947206) + - SAUCE: RDMA/core: Updated ib_peer_memory + - SAUCE: RDMA/core: ib_peer_memory fix build errors + * Jammy update: v5.15.6 upstream stable release (LP: #1953370) + - scsi: sd: Fix sd_do_mode_sense() buffer length handling + - ACPI: Get acpi_device's parent from the parent field + - ACPI: CPPC: Add NULL pointer check to cppc_get_perf() + - USB: serial: pl2303: fix GC type detection + - USB: serial: option: add Telit LE910S1 0x9200 composition + - USB: serial: option: add Fibocom FM101-GL variants + - usb: dwc2: gadget: Fix ISOC flow for elapsed frames + - usb: dwc2: hcd_queue: Fix use of floating point literal + - usb: dwc3: leave default DMA for PCI devices + - usb: dwc3: core: Revise GHWPARAMS9 offset + - usb: dwc3: gadget: Ignore NoStream after End Transfer + - usb: dwc3: gadget: Check for L1/L2/U3 for Start Transfer + - usb: dwc3: gadget: Fix null pointer exception + - net: usb: Correct PHY handling of smsc95xx + - net: nexthop: fix null pointer dereference when IPv6 is not enabled + - usb: chipidea: ci_hdrc_imx: fix potential error pointer dereference in probe + - usb: typec: fusb302: Fix masking of comparator and bc_lvl interrupts + - usb: xhci: tegra: Check padctrl interrupt presence in device tree + - usb: hub: Fix usb enumeration issue due to address0 race + - usb: hub: Fix locking issues with address0_mutex + - binder: fix test regression due to sender_euid change + - ALSA: ctxfi: Fix out-of-range access + - ALSA: hda/realtek: Add quirk for ASRock NUC Box 1100 + - ALSA: hda/realtek: Fix LED on HP ProBook 435 G7 + - media: cec: copy sequence field for the reply + - Revert "parisc: Fix backtrace to always include init funtion names" + - HID: wacom: Use "Confidence" flag to prevent reporting invalid contacts + - staging/fbtft: Fix backlight + - staging: greybus: Add missing rwsem around snd_ctl_remove() calls + - staging: rtl8192e: Fix use after free in _rtl92e_pci_disconnect() + - staging: r8188eu: Use kzalloc() with GFP_ATOMIC in atomic context + - staging: r8188eu: Fix breakage introduced when 5G code was removed + - staging: r8188eu: use GFP_ATOMIC under spinlock + - staging: r8188eu: fix a memory leak in rtw_wx_read32() + - fuse: release pipe buf after last use + - xen: don't continue xenstore initialization in case of errors + - xen: detect uninitialized xenbus in xenbus_init + - io_uring: correct link-list traversal locking + - io_uring: fail cancellation for EXITING tasks + - io_uring: fix link traversal locking + - drm/amdgpu: IH process reset count when restart + - drm/amdgpu/pm: fix powerplay OD interface + - drm/nouveau: recognise GA106 + - ksmbd: downgrade addition info error msg to debug in smb2_get_info_sec() + - ksmbd: contain default data stream even if xattr is empty + - ksmbd: fix memleak in get_file_stream_info() + - KVM: PPC: Book3S HV: Prevent POWER7/8 TLB flush flushing SLB + - tracing/uprobe: Fix uprobe_perf_open probes iteration + - tracing: Fix pid filtering when triggers are attached + - mmc: sdhci-esdhc-imx: disable CMDQ support + - mmc: sdhci: Fix ADMA for PAGE_SIZE >= 64KiB + - mdio: aspeed: Fix "Link is Down" issue + - arm64: mm: Fix VM_BUG_ON(mm != &init_mm) for trans_pgd + - cpufreq: intel_pstate: Fix active mode offline/online EPP handling + - powerpc/32: Fix hardlockup on vmap stack overflow + - iomap: Fix inline extent handling in iomap_readpage + - NFSv42: Fix pagecache invalidation after COPY/CLONE + - PCI: aardvark: Deduplicate code in advk_pcie_rd_conf() + - PCI: aardvark: Implement re-issuing config requests on CRS response + - PCI: aardvark: Simplify initialization of rootcap on virtual bridge + - PCI: aardvark: Fix link training + - drm/amd/display: Fix OLED brightness control on eDP + - proc/vmcore: fix clearing user buffer by properly using clear_user() + - ASoC: SOF: Intel: hda: fix hotplug when only codec is suspended + - netfilter: ctnetlink: fix filtering with CTA_TUPLE_REPLY + - netfilter: ctnetlink: do not erase error code with EINVAL + - netfilter: ipvs: Fix reuse connection if RS weight is 0 + - netfilter: flowtable: fix IPv6 tunnel addr match + - media: v4l2-core: fix VIDIOC_DQEVENT handling on non-x86 + - firmware: arm_scmi: Fix null de-reference on error path + - ARM: dts: BCM5301X: Fix I2C controller interrupt + - ARM: dts: BCM5301X: Add interrupt properties to GPIO node + - ARM: dts: bcm2711: Fix PCIe interrupts + - ASoC: qdsp6: q6routing: Conditionally reset FrontEnd Mixer + - ASoC: qdsp6: q6asm: fix q6asm_dai_prepare error handling + - ASoC: topology: Add missing rwsem around snd_ctl_remove() calls + - ASoC: codecs: wcd938x: fix volatile register range + - ASoC: codecs: wcd934x: return error code correctly from hw_params + - ASoC: codecs: lpass-rx-macro: fix HPHR setting CLSH mask + - net: ieee802154: handle iftypes as u32 + - firmware: arm_scmi: Fix base agent discover response + - firmware: arm_scmi: pm: Propagate return value to caller + - ASoC: stm32: i2s: fix 32 bits channel length without mclk + - NFSv42: Don't fail clone() unless the OP_CLONE operation failed + - ARM: socfpga: Fix crash with CONFIG_FORTIRY_SOURCE + - drm/nouveau/acr: fix a couple NULL vs IS_ERR() checks + - scsi: qla2xxx: edif: Fix off by one bug in qla_edif_app_getfcinfo() + - scsi: mpt3sas: Fix kernel panic during drive powercycle test + - scsi: mpt3sas: Fix system going into read-only mode + - scsi: mpt3sas: Fix incorrect system timestamp + - drm/vc4: fix error code in vc4_create_object() + - drm/aspeed: Fix vga_pw sysfs output + - net: marvell: prestera: fix brige port operation + - net: marvell: prestera: fix double free issue on err path + - HID: input: Fix parsing of HID_CP_CONSUMER_CONTROL fields + - HID: input: set usage type to key on keycode remap + - HID: magicmouse: prevent division by 0 on scroll + - iavf: Prevent changing static ITR values if adaptive moderation is on + - iavf: Fix refreshing iavf adapter stats on ethtool request + - iavf: Fix VLAN feature flags after VFR + - x86/pvh: add prototype for xen_pvh_init() + - xen/pvh: add missing prototype to header + - ALSA: intel-dsp-config: add quirk for JSL devices based on ES8336 codec + - mptcp: fix delack timer + - mptcp: use delegate action to schedule 3rd ack retrans + - af_unix: fix regression in read after shutdown + - firmware: smccc: Fix check for ARCH_SOC_ID not implemented + - ipv6: fix typos in __ip6_finish_output() + - nfp: checking parameter process for rx-usecs/tx-usecs is invalid + - net: stmmac: retain PTP clock time during SIOCSHWTSTAMP ioctls + - net: ipv6: add fib6_nh_release_dsts stub + - net: nexthop: release IPv6 per-cpu dsts when replacing a nexthop group + - ice: fix vsi->txq_map sizing + - ice: avoid bpf_prog refcount underflow + - scsi: core: sysfs: Fix setting device state to SDEV_RUNNING + - scsi: scsi_debug: Zero clear zones at reset write pointer + - erofs: fix deadlock when shrink erofs slab + - i2c: virtio: disable timeout handling + - net/smc: Ensure the active closing peer first closes clcsock + - mlxsw: spectrum: Protect driver from buggy firmware + - net: ipa: directly disable ipa-setup-ready interrupt + - net: ipa: separate disabling setup from modem stop + - net: ipa: kill ipa_cmd_pipeline_clear() + - net: marvell: mvpp2: increase MTU limit when XDP enabled + - cpufreq: intel_pstate: Add Ice Lake server to out-of-band IDs + - nvmet-tcp: fix incomplete data digest send + - drm/hyperv: Fix device removal on Gen1 VMs + - arm64: uaccess: avoid blocking within critical sections + - net/ncsi : Add payload to be 32-bit aligned to fix dropped packets + - PM: hibernate: use correct mode for swsusp_close() + - drm/amd/display: Fix DPIA outbox timeout after GPU reset + - drm/amd/display: Set plane update flags for all planes in reset + - tcp_cubic: fix spurious Hystart ACK train detections for not-cwnd-limited + flows + - lan743x: fix deadlock in lan743x_phy_link_status_change() + - net: phylink: Force link down and retrigger resolve on interface change + - net: phylink: Force retrigger in case of latched link-fail indicator + - net/smc: Fix NULL pointer dereferencing in smc_vlan_by_tcpsk() + - net/smc: Fix loop in smc_listen + - nvmet: use IOCB_NOWAIT only if the filesystem supports it + - igb: fix netpoll exit with traffic + - MIPS: loongson64: fix FTLB configuration + - MIPS: use 3-level pgtable for 64KB page size on MIPS_VA_BITS_48 + - tls: splice_read: fix record type check + - tls: splice_read: fix accessing pre-processed records + - tls: fix replacing proto_ops + - net: stmmac: Disable Tx queues when reconfiguring the interface + - net/sched: sch_ets: don't peek at classes beyond 'nbands' + - ethtool: ioctl: fix potential NULL deref in ethtool_set_coalesce() + - net: vlan: fix underflow for the real_dev refcnt + - net/smc: Don't call clcsock shutdown twice when smc shutdown + - net: hns3: fix VF RSS failed problem after PF enable multi-TCs + - net: hns3: fix incorrect components info of ethtool --reset command + - net: mscc: ocelot: don't downgrade timestamping RX filters in SIOCSHWTSTAMP + - net: mscc: ocelot: correctly report the timestamping RX filters in ethtool + - locking/rwsem: Make handoff bit handling more consistent + - perf: Ignore sigtrap for tracepoints destined for other tasks + - sched/scs: Reset task stack state in bringup_cpu() + - iommu/rockchip: Fix PAGE_DESC_HI_MASKs for RK3568 + - iommu/vt-d: Fix unmap_pages support + - f2fs: quota: fix potential deadlock + - f2fs: set SBI_NEED_FSCK flag when inconsistent node block found + - riscv: dts: microchip: fix board compatible + - riscv: dts: microchip: drop duplicated MMC/SDHC node + - cifs: nosharesock should not share socket with future sessions + - ceph: properly handle statfs on multifs setups + - iommu/amd: Clarify AMD IOMMUv2 initialization messages + - vdpa_sim: avoid putting an uninitialized iova_domain + - vhost/vsock: fix incorrect used length reported to the guest + - ksmbd: Fix an error handling path in 'smb2_sess_setup()' + - tracing: Check pid filtering when creating events + - cifs: nosharesock should be set on new server + - io_uring: fix soft lockup when call __io_remove_buffers + - firmware: arm_scmi: Fix type error assignment in voltage protocol + - firmware: arm_scmi: Fix type error in sensor protocol + - docs: accounting: update delay-accounting.rst reference + - blk-mq: cancel blk-mq dispatch work in both blk_cleanup_queue and + disk_release() + - block: avoid to quiesce queue in elevator_init_mq + - drm/amdgpu/gfx10: add wraparound gpu counter check for APUs as well + - drm/amdgpu/gfx9: switch to golden tsc registers for renoir+ + - Linux 5.15.6 + * Fix bogus HDMI audio interface (LP: #1953208) + - ALSA: hda/hdmi: Consider ELD is invalid when no SAD is present + * Miscellaneous Ubuntu changes + - [Config] re-enabled UBSAN without TRAP + - SAUCE: ipv6: fix NULL pointer dereference in ip6_output() + - SAUCE: RDMA/core: Introduce peer memory interface + - [Config] toolchain version update + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] Temporarily disable signing for ppc64el and s390x" + - Revert "UBUNTU: SAUCE: vt -- maintain bootloader screen mode and content + until vt switch" + + [ Ubuntu: 5.15.0-13.13 ] + + * jammy/linux: 5.15.0-13.13 -proposed tracker (LP: #1952583) + * Packaging resync (LP: #1786013) + - [Packaging] resync update-dkms-versions helper + - debian/dkms-versions -- update from kernel-versions (main/master) + * Jammy update: v5.15.5 upstream stable release (LP: #1952579) + - arm64: zynqmp: Do not duplicate flash partition label property + - arm64: zynqmp: Fix serial compatible string + - clk: sunxi-ng: Unregister clocks/resets when unbinding + - ARM: dts: sunxi: Fix OPPs node name + - arm64: dts: allwinner: h5: Fix GPU thermal zone node name + - arm64: dts: allwinner: a100: Fix thermal zone node name + - staging: wfx: ensure IRQ is ready before enabling it + - ARM: dts: BCM5301X: Fix nodes names + - ARM: dts: BCM5301X: Fix MDIO mux binding + - ARM: dts: NSP: Fix mpcore, mmc node names + - arm64: dts: broadcom: bcm4908: Move reboot syscon out of bus + - scsi: pm80xx: Fix memory leak during rmmod + - scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq() + - ASoC: mediatek: mt8195: Add missing of_node_put() + - arm64: dts: rockchip: Disable CDN DP on Pinebook Pro + - arm64: dts: hisilicon: fix arm,sp805 compatible string + - RDMA/bnxt_re: Check if the vlan is valid before reporting + - bus: ti-sysc: Add quirk handling for reinit on context lost + - bus: ti-sysc: Use context lost quirk for otg + - usb: musb: tusb6010: check return value after calling + platform_get_resource() + - usb: typec: tipd: Remove WARN_ON in tps6598x_block_read + - ARM: dts: ux500: Skomer regulator fixes + - staging: rtl8723bs: remove possible deadlock when disconnect (v2) + - staging: rtl8723bs: remove a second possible deadlock + - staging: rtl8723bs: remove a third possible deadlock + - ARM: BCM53016: Specify switch ports for Meraki MR32 + - arm64: dts: qcom: msm8998: Fix CPU/L2 idle state latency and residency + - arm64: dts: qcom: ipq6018: Fix qcom,controlled-remotely property + - arm64: dts: qcom: ipq8074: Fix qcom,controlled-remotely property + - arm64: dts: qcom: sdm845: Fix qcom,controlled-remotely property + - arm64: dts: freescale: fix arm,sp805 compatible string + - arm64: dts: ls1012a: Add serial alias for ls1012a-rdb + - RDMA/rxe: Separate HW and SW l/rkeys + - ASoC: SOF: Intel: hda-dai: fix potential locking issue + - scsi: core: Fix scsi_mode_sense() buffer length handling + - ALSA: usb-audio: disable implicit feedback sync for Behringer UFX1204 and + UFX1604 + - clk: imx: imx6ul: Move csi_sel mux to correct base register + - ASoC: es8316: Use IRQF_NO_AUTOEN when requesting the IRQ + - ASoC: rt5651: Use IRQF_NO_AUTOEN when requesting the IRQ + - ASoC: nau8824: Add DMI quirk mechanism for active-high jack-detect + - scsi: advansys: Fix kernel pointer leak + - scsi: smartpqi: Add controller handshake during kdump + - arm64: dts: imx8mm-kontron: Fix reset delays for ethernet PHY + - ALSA: intel-dsp-config: add quirk for APL/GLK/TGL devices based on ES8336 + codec + - ASoC: Intel: soc-acpi: add missing quirk for TGL SDCA single amp + - ASoC: Intel: sof_sdw: add missing quirk for Dell SKU 0A45 + - firmware_loader: fix pre-allocated buf built-in firmware use + - HID: multitouch: disable sticky fingers for UPERFECT Y + - ALSA: usb-audio: Add support for the Pioneer DJM 750MK2 Mixer/Soundcard + - ARM: dts: omap: fix gpmc,mux-add-data type + - usb: host: ohci-tmio: check return value after calling + platform_get_resource() + - ASoC: rt5682: fix a little pop while playback + - ARM: dts: ls1021a: move thermal-zones node out of soc/ + - ARM: dts: ls1021a-tsn: use generic "jedec,spi-nor" compatible for flash + - ALSA: ISA: not for M68K + - iommu/vt-d: Do not falsely log intel_iommu is unsupported kernel option + - tty: tty_buffer: Fix the softlockup issue in flush_to_ldisc + - MIPS: sni: Fix the build + - scsi: scsi_debug: Fix out-of-bound read in resp_readcap16() + - scsi: scsi_debug: Fix out-of-bound read in resp_report_tgtpgs() + - scsi: target: Fix ordered tag handling + - scsi: target: Fix alua_tg_pt_gps_count tracking + - iio: imu: st_lsm6dsx: Avoid potential array overflow in st_lsm6dsx_set_odr() + - RDMA/core: Use kvzalloc when allocating the struct ib_port + - scsi: lpfc: Fix use-after-free in lpfc_unreg_rpi() routine + - scsi: lpfc: Fix link down processing to address NULL pointer dereference + - scsi: lpfc: Allow fabric node recovery if recovery is in progress before + devloss + - memory: tegra20-emc: Add runtime dependency on devfreq governor module + - powerpc/5200: dts: fix memory node unit name + - ARM: dts: qcom: fix memory and mdio nodes naming for RB3011 + - arm64: dts: qcom: Fix node name of rpm-msg-ram device nodes + - ALSA: gus: fix null pointer dereference on pointer block + - ALSA: usb-audio: fix null pointer dereference on pointer cs_desc + - clk: at91: sama7g5: remove prescaler part of master clock + - iommu/dart: Initialize DART_STREAMS_ENABLE + - powerpc/dcr: Use cmplwi instead of 3-argument cmpli + - powerpc/8xx: Fix Oops with STRICT_KERNEL_RWX without DEBUG_RODATA_TEST + - sh: check return code of request_irq + - maple: fix wrong return value of maple_bus_init(). + - f2fs: fix up f2fs_lookup tracepoints + - f2fs: fix to use WHINT_MODE + - f2fs: fix wrong condition to trigger background checkpoint correctly + - sh: fix kconfig unmet dependency warning for FRAME_POINTER + - sh: math-emu: drop unused functions + - sh: define __BIG_ENDIAN for math-emu + - f2fs: compress: disallow disabling compress on non-empty compressed file + - f2fs: fix incorrect return value in f2fs_sanity_check_ckpt() + - clk: ingenic: Fix bugs with divided dividers + - clk/ast2600: Fix soc revision for AHB + - clk: qcom: gcc-msm8996: Drop (again) gcc_aggre1_pnoc_ahb_clk + - KVM: arm64: Fix host stage-2 finalization + - mips: BCM63XX: ensure that CPU_SUPPORTS_32BIT_KERNEL is set + - MIPS: boot/compressed/: add __bswapdi2() to target for ZSTD decompression + - sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain() + - sched/fair: Prevent dead task groups from regaining cfs_rq's + - perf/x86/vlbr: Add c->flags to vlbr event constraints + - blkcg: Remove extra blkcg_bio_issue_init + - tracing/histogram: Do not copy the fixed-size char array field over the + field size + - perf bpf: Avoid memory leak from perf_env__insert_btf() + - perf bench futex: Fix memory leak of perf_cpu_map__new() + - perf tests: Remove bash construct from record+zstd_comp_decomp.sh + - drm/nouveau: hdmigv100.c: fix corrupted HDMI Vendor InfoFrame + - bpf: Fix inner map state pruning regression. + - samples/bpf: Fix summary per-sec stats in xdp_sample_user + - samples/bpf: Fix incorrect use of strlen in xdp_redirect_cpu + - selftests: net: switch to socat in the GSO GRE test + - net/ipa: ipa_resource: Fix wrong for loop range + - tcp: Fix uninitialized access in skb frags array for Rx 0cp. + - tracing: Add length protection to histogram string copies + - nl80211: fix radio statistics in survey dump + - mac80211: fix monitor_sdata RCU/locking assertions + - net: ipa: HOLB register sometimes must be written twice + - net: ipa: disable HOLB drop when updating timer + - selftests: gpio: fix gpio compiling error + - net: bnx2x: fix variable dereferenced before check + - bnxt_en: reject indirect blk offload when hw-tc-offload is off + - tipc: only accept encrypted MSG_CRYPTO msgs + - sock: fix /proc/net/sockstat underflow in sk_clone_lock() + - net/smc: Make sure the link_id is unique + - NFSD: Fix exposure in nfsd4_decode_bitmap() + - iavf: Fix return of set the new channel count + - iavf: check for null in iavf_fix_features + - iavf: free q_vectors before queues in iavf_disable_vf + - iavf: don't clear a lock we don't hold + - iavf: Fix failure to exit out from last all-multicast mode + - iavf: prevent accidental free of filter structure + - iavf: validate pointers + - iavf: Fix for the false positive ASQ/ARQ errors while issuing VF reset + - iavf: Fix for setting queues to 0 + - iavf: Restore VLAN filters after link down + - bpf: Fix toctou on read-only map's constant scalar tracking + - MIPS: generic/yamon-dt: fix uninitialized variable error + - mips: bcm63xx: add support for clk_get_parent() + - mips: lantiq: add support for clk_get_parent() + - gpio: rockchip: needs GENERIC_IRQ_CHIP to fix build errors + - platform/x86: hp_accel: Fix an error handling path in 'lis3lv02d_probe()' + - platform/x86: think-lmi: Abort probe on analyze failure + - udp: Validate checksum in udp_read_sock() + - btrfs: make 1-bit bit-fields of scrub_page unsigned int + - RDMA/core: Set send and receive CQ before forwarding to the driver + - net/mlx5e: kTLS, Fix crash in RX resync flow + - net/mlx5e: Wait for concurrent flow deletion during neigh/fib events + - net/mlx5: E-Switch, Fix resetting of encap mode when entering switchdev + - net/mlx5e: nullify cq->dbg pointer in mlx5_debug_cq_remove() + - net/mlx5: Update error handler for UCTX and UMEM + - net/mlx5: E-Switch, rebuild lag only when needed + - net/mlx5e: CT, Fix multiple allocations and memleak of mod acts + - net/mlx5: Lag, update tracker when state change event received + - net/mlx5: E-Switch, return error if encap isn't supported + - scsi: ufs: core: Improve SCSI abort handling + - scsi: core: sysfs: Fix hang when device state is set via sysfs + - scsi: ufs: core: Fix task management completion timeout race + - scsi: ufs: core: Fix another task management completion race + - net: mvmdio: fix compilation warning + - net: sched: act_mirred: drop dst for the direction from egress to ingress + - net: dpaa2-eth: fix use-after-free in dpaa2_eth_remove + - net: virtio_net_hdr_to_skb: count transport header in UFO + - i40e: Fix correct max_pkt_size on VF RX queue + - i40e: Fix NULL ptr dereference on VSI filter sync + - i40e: Fix changing previously set num_queue_pairs for PFs + - i40e: Fix ping is lost after configuring ADq on VF + - RDMA/mlx4: Do not fail the registration on port stats + - i40e: Fix warning message and call stack during rmmod i40e driver + - i40e: Fix creation of first queue by omitting it if is not power of two + - i40e: Fix display error code in dmesg + - NFC: reorganize the functions in nci_request + - NFC: reorder the logic in nfc_{un,}register_device + - NFC: add NCI_UNREG flag to eliminate the race + - e100: fix device suspend/resume + - ptp: ocp: Fix a couple NULL vs IS_ERR() checks + - tools build: Fix removal of feature-sync-compare-and-swap feature detection + - riscv: fix building external modules + - KVM: PPC: Book3S HV: Use GLOBAL_TOC for kvmppc_h_set_dabr/xdabr() + - powerpc: clean vdso32 and vdso64 directories + - powerpc/pseries: rename numa_dist_table to form2_distances + - powerpc/pseries: Fix numa FORM2 parsing fallback code + - pinctrl: qcom: sdm845: Enable dual edge errata + - pinctrl: qcom: sm8350: Correct UFS and SDC offsets + - perf/x86/intel/uncore: Fix filter_tid mask for CHA events on Skylake Server + - perf/x86/intel/uncore: Fix IIO event constraints for Skylake Server + - perf/x86/intel/uncore: Fix IIO event constraints for Snowridge + - s390/kexec: fix return code handling + - blk-cgroup: fix missing put device in error path from blkg_conf_pref() + - dmaengine: remove debugfs #ifdef + - tun: fix bonding active backup with arp monitoring + - Revert "mark pstore-blk as broken" + - pstore/blk: Use "%lu" to format unsigned long + - hexagon: export raw I/O routines for modules + - hexagon: clean up timer-regs.h + - tipc: check for null after calling kmemdup + - ipc: WARN if trying to remove ipc object which is absent + - shm: extend forced shm destroy to support objects from several IPC nses + - mm: kmemleak: slob: respect SLAB_NOLEAKTRACE flag + - hugetlb, userfaultfd: fix reservation restore on userfaultfd error + - kmap_local: don't assume kmap PTEs are linear arrays in memory + - mm/damon/dbgfs: use '__GFP_NOWARN' for user-specified size buffer allocation + - mm/damon/dbgfs: fix missed use of damon_dbgfs_lock + - x86/boot: Pull up cmdline preparation and early param parsing + - x86/sgx: Fix free page accounting + - x86/hyperv: Fix NULL deref in set_hv_tscchange_cb() if Hyper-V setup fails + - KVM: x86: Assume a 64-bit hypercall for guests with protected state + - KVM: x86: Fix uninitialized eoi_exit_bitmap usage in vcpu_load_eoi_exitmap() + - KVM: x86/mmu: include EFER.LMA in extended mmu role + - KVM: x86/xen: Fix get_attr of KVM_XEN_ATTR_TYPE_SHARED_INFO + - powerpc/signal32: Fix sigset_t copy + - powerpc/xive: Change IRQ domain to a tree domain + - powerpc/8xx: Fix pinned TLBs with CONFIG_STRICT_KERNEL_RWX + - Revert "drm/i915/tgl/dsi: Gate the ddi clocks after pll mapping" + - Revert "parisc: Reduce sigreturn trampoline to 3 instructions" + - ata: libata: improve ata_read_log_page() error message + - ata: libata: add missing ata_identify_page_supported() calls + - scsi: qla2xxx: Fix mailbox direction flags in qla2xxx_get_adapter_id() + - pinctrl: ralink: include 'ralink_regs.h' in 'pinctrl-mt7620.c' + - s390/setup: avoid reserving memory above identity mapping + - s390/boot: simplify and fix kernel memory layout setup + - s390/vdso: filter out -mstack-guard and -mstack-size + - s390/kexec: fix memory leak of ipl report buffer + - s390/dump: fix copying to user-space of swapped kdump oldmem + - block: Check ADMIN before NICE for IOPRIO_CLASS_RT + - fbdev: Prevent probing generic drivers if a FB is already registered + - KVM: SEV: Disallow COPY_ENC_CONTEXT_FROM if target has created vCPUs + - KVM: nVMX: don't use vcpu->arch.efer when checking host state on nested + state load + - drm/cma-helper: Release non-coherent memory with dma_free_noncoherent() + - printk: restore flushing of NMI buffers on remote CPUs after NMI backtraces + - udf: Fix crash after seekdir + - spi: fix use-after-free of the add_lock mutex + - net: stmmac: socfpga: add runtime suspend/resume callback for stratix10 + platform + - Drivers: hv: balloon: Use VMBUS_RING_SIZE() wrapper for dm_ring_size + - btrfs: fix memory ordering between normal and ordered work functions + - fs: handle circular mappings correctly + - net: stmmac: Fix signed/unsigned wreckage + - parisc/sticon: fix reverse colors + - cfg80211: call cfg80211_stop_ap when switch from P2P_GO type + - mac80211: fix radiotap header generation + - mac80211: drop check for DONT_REORDER in __ieee80211_select_queue + - drm/amd/display: Update swizzle mode enums + - drm/amd/display: Limit max DSC target bpp for specific monitors + - drm/i915/guc: Fix outstanding G2H accounting + - drm/i915/guc: Don't enable scheduling on a banned context, guc_id invalid, + not registered + - drm/i915/guc: Workaround reset G2H is received after schedule done G2H + - drm/i915/guc: Don't drop ce->guc_active.lock when unwinding context + - drm/i915/guc: Unwind context requests in reverse order + - drm/udl: fix control-message timeout + - drm/prime: Fix use after free in mmap with drm_gem_ttm_mmap + - drm/nouveau: Add a dedicated mutex for the clients list + - drm/nouveau: use drm_dev_unplug() during device removal + - drm/nouveau: clean up all clients on device removal + - drm/i915/dp: Ensure sink rate values are always valid + - drm/i915/dp: Ensure max link params are always valid + - drm/i915: Fix type1 DVI DP dual mode adapter heuristic for modern platforms + - drm/amdgpu: fix set scaling mode Full/Full aspect/Center not works on vga + and dvi connectors + - drm/amd/pm: avoid duplicate powergate/ungate setting + - signal: Implement force_fatal_sig + - exit/syscall_user_dispatch: Send ordinary signals on failure + - signal/powerpc: On swapcontext failure force SIGSEGV + - signal/s390: Use force_sigsegv in default_trap_handler + - signal/sparc32: Exit with a fatal signal when try_to_clear_window_buffer + fails + - signal/sparc32: In setup_rt_frame and setup_fram use force_fatal_sig + - signal/vm86_32: Properly send SIGSEGV when the vm86 state cannot be saved. + - signal/x86: In emulate_vsyscall force a signal instead of calling do_exit + - signal: Replace force_sigsegv(SIGSEGV) with force_fatal_sig(SIGSEGV) + - signal: Don't always set SA_IMMUTABLE for forced signals + - signal: Replace force_fatal_sig with force_exit_sig when in doubt + - hugetlbfs: flush TLBs correctly after huge_pmd_unshare + - RDMA/netlink: Add __maybe_unused to static inline in C file + - bpf: Forbid bpf_ktime_get_coarse_ns and bpf_timer_* in tracing progs + - selinux: fix NULL-pointer dereference when hashtab allocation fails + - ASoC: DAPM: Cover regression by kctl change notification fix + - ASoC: rsnd: fixup DMAEngine API + - usb: max-3421: Use driver data instead of maintaining a list of bound + devices + - ice: Fix VF true promiscuous mode + - ice: Delete always true check of PF pointer + - fs: export an inode_update_time helper + - btrfs: update device path inode time instead of bd_inode + - net: add and use skb_unclone_keeptruesize() helper + - x86/Kconfig: Fix an unused variable error in dell-smm-hwmon + - ALSA: hda: hdac_ext_stream: fix potential locking issues + - ALSA: hda: hdac_stream: fix potential locking issue in + snd_hdac_stream_assign() + - Linux 5.15.5 + * Fix non-working e1000e device after resume (LP: #1951861) + - SAUCE: Revert "e1000e: Additional PHY power saving in S0ix" + - SAUCE: Revert "e1000e: Add polling mechanism to indicate CSME DPG exit" + - SAUCE: Revert "e1000e: Add handshake with the CSME to support S0ix" + * [SRU][I/OEM-5.13/OEM-5.14] Add MAC passthrough support for more Lenovo docks + (LP: #1951767) + - net: usb: r8152: Add MAC passthrough support for more Lenovo Docks + * [amdgpu] USB4 support for DP tunneling (LP: #1951868) + - drm/amd/display: Support for DMUB HPD interrupt handling + - drm/amd/display: Update link encoder object creation. + - drm/amd/display: USB4 DPIA enumeration and AUX Tunneling + - drm/amd/display: Support for DMUB HPD and HPD RX interrupt handling + - drm/amd/display: Set DPIA link endpoint type + - drm/amd/display: Stub out DPIA link training call + - drm/amd/display: Add stub to get DPIA tunneling device data + - drm/amd/display: Skip DPCD read for DPTX-to-DPIA hop + - drm/amd/display: Train DPIA links with fallback + - drm/amd/display: Implement DPIA training loop + - drm/amd/display: Implement DPIA link configuration + - drm/amd/display: Implement DPIA clock recovery phase + - drm/amd/display: Implement DPIA equalisation phase + - drm/amd/display: Implement end of training for hop in DPIA display path + - drm/amd/display: Support for SET_CONFIG processing with DMUB + - drm/amd/display: isolate link training setting override to its own function + - drm/amd/display: Read USB4 DP tunneling data from DPCD. + - drm/amd/display: Add dpia debug options + - drm/amd/display: Support for SET_CONFIG processing with DMUB + - drm/amd/display: Add DPCD writes at key points + - drm/amd/display: Fix DIG_HPD_SELECT for USB4 display endpoints. + - drm/amd/display: Add helper for blanking all dp displays + - drm/amd/display: Fix link training fallback logic + - drm/amd/display: Add debug flags for USB4 DP link training. + - drm/amd/display: Fix dynamic link encoder access. + - drm/amd/display: Fix concurrent dynamic encoder assignment + - drm/amd/display: Fix dynamic encoder reassignment + - drm/amd/display: Fix for access for ddc pin and aux engine. + - drm/amd/display: Deadlock/HPD Status/Crash Bug Fix + - drm/amd/display: Fix USB4 Aux via DMUB terminate unexpectedly + * Miscellaneous Ubuntu changes + - [Packaging] Rewrite debian/scripts/module-check in Python + - [Config] update config and annotations after applying v5.15.5 + + [ Ubuntu: 5.15.0-12.12 ] + + * jammy/linux: 5.15.0-12.12 -proposed tracker (LP: #1951810) + * Jammy update: v5.15.4 upstream stable release (LP: #1951820) + - string: uninline memcpy_and_pad + - Revert "drm: fb_helper: improve CONFIG_FB dependency" + - Revert "drm: fb_helper: fix CONFIG_FB dependency" + - KVM: Fix steal time asm constraints + - btrfs: introduce btrfs_is_data_reloc_root + - btrfs: zoned: add a dedicated data relocation block group + - btrfs: zoned: only allow one process to add pages to a relocation inode + - btrfs: zoned: use regular writes for relocation + - btrfs: check for relocation inodes on zoned btrfs in should_nocow + - btrfs: zoned: allow preallocation for relocation inodes + - fortify: Explicitly disable Clang support + - block: Add a helper to validate the block size + - loop: Use blk_validate_block_size() to validate block size + - Bluetooth: btusb: Add support for TP-Link UB500 Adapter + - parisc/entry: fix trace test in syscall exit path + - PCI/MSI: Deal with devices lying about their MSI mask capability + - PCI: Add MSI masking quirk for Nvidia ION AHCI + - perf/core: Avoid put_page() when GUP fails + - thermal: Fix NULL pointer dereferences in of_thermal_ functions + - Revert "ACPI: scan: Release PM resources blocked by unused objects" + - Linux 5.15.4 + * Jammy update: v5.15.3 upstream stable release (LP: #1951822) + - xhci: Fix USB 3.1 enumeration issues by increasing roothub power-on-good + delay + - usb: xhci: Enable runtime-pm by default on AMD Yellow Carp platform + - Input: iforce - fix control-message timeout + - Input: elantench - fix misreporting trackpoint coordinates + - Input: i8042 - Add quirk for Fujitsu Lifebook T725 + - libata: fix read log timeout value + - ocfs2: fix data corruption on truncate + - scsi: scsi_ioctl: Validate command size + - scsi: core: Avoid leaving shost->last_reset with stale value if EH does not + run + - scsi: core: Remove command size deduction from scsi_setup_scsi_cmnd() + - scsi: lpfc: Don't release final kref on Fport node while ABTS outstanding + - scsi: lpfc: Fix FCP I/O flush functionality for TMF routines + - scsi: qla2xxx: Fix crash in NVMe abort path + - scsi: qla2xxx: Fix kernel crash when accessing port_speed sysfs file + - scsi: qla2xxx: Fix use after free in eh_abort path + - ce/gf100: fix incorrect CE0 address calculation on some GPUs + - char: xillybus: fix msg_ep UAF in xillyusb_probe() + - mmc: mtk-sd: Add wait dma stop done flow + - mmc: dw_mmc: Dont wait for DRTO on Write RSP error + - exfat: fix incorrect loading of i_blocks for large files + - io-wq: remove worker to owner tw dependency + - parisc: Fix set_fixmap() on PA1.x CPUs + - parisc: Fix ptrace check on syscall return + - tpm: Check for integer overflow in tpm2_map_response_body() + - firmware/psci: fix application of sizeof to pointer + - crypto: s5p-sss - Add error handling in s5p_aes_probe() + - media: rkvdec: Do not override sizeimage for output format + - media: ite-cir: IR receiver stop working after receive overflow + - media: rkvdec: Support dynamic resolution changes + - media: ir-kbd-i2c: improve responsiveness of hauppauge zilog receivers + - media: v4l2-ioctl: Fix check_ext_ctrls + - ALSA: hda/realtek: Fix mic mute LED for the HP Spectre x360 14 + - ALSA: hda/realtek: Add a quirk for HP OMEN 15 mute LED + - ALSA: hda/realtek: Add quirk for Clevo PC70HS + - ALSA: hda/realtek: Headset fixup for Clevo NH77HJQ + - ALSA: hda/realtek: Add a quirk for Acer Spin SP513-54N + - ALSA: hda/realtek: Add quirk for ASUS UX550VE + - ALSA: hda/realtek: Add quirk for HP EliteBook 840 G7 mute LED + - ALSA: ua101: fix division by zero at probe + - ALSA: 6fire: fix control and bulk message timeouts + - ALSA: line6: fix control and interrupt message timeouts + - ALSA: mixer: oss: Fix racy access to slots + - ALSA: mixer: fix deadlock in snd_mixer_oss_set_volume + - ALSA: usb-audio: Line6 HX-Stomp XL USB_ID for 48k-fixed quirk + - ALSA: usb-audio: Add registration quirk for JBL Quantum 400 + - ALSA: hda: Free card instance properly at probe errors + - ALSA: synth: missing check for possible NULL after the call to kstrdup + - ALSA: pci: rme: Fix unaligned buffer addresses + - ALSA: PCM: Fix NULL dereference at mmap checks + - ALSA: timer: Fix use-after-free problem + - ALSA: timer: Unconditionally unlink slave instances, too + - Revert "ext4: enforce buffer head state assertion in ext4_da_map_blocks" + - ext4: fix lazy initialization next schedule time computation in more + granular unit + - ext4: ensure enough credits in ext4_ext_shift_path_extents + - ext4: refresh the ext4_ext_path struct after dropping i_data_sem. + - fuse: fix page stealing + - x86/sme: Use #define USE_EARLY_PGTABLE_L5 in mem_encrypt_identity.c + - x86/cpu: Fix migration safety with X86_BUG_NULL_SEL + - x86/irq: Ensure PI wakeup handler is unregistered before module unload + - x86/iopl: Fake iopl(3) CLI/STI usage + - btrfs: clear MISSING device status bit in btrfs_close_one_device + - btrfs: fix lost error handling when replaying directory deletes + - btrfs: call btrfs_check_rw_degradable only if there is a missing device + - KVM: x86/mmu: Drop a redundant, broken remote TLB flush + - KVM: VMX: Unregister posted interrupt wakeup handler on hardware unsetup + - KVM: PPC: Tick accounting should defer vtime accounting 'til after IRQ + handling + - ia64: kprobes: Fix to pass correct trampoline address to the handler + - selinux: fix race condition when computing ocontext SIDs + - ipmi:watchdog: Set panic count to proper value on a panic + - md/raid1: only allocate write behind bio for WriteMostly device + - hwmon: (pmbus/lm25066) Add offset coefficients + - regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is + disabled + - regulator: dt-bindings: samsung,s5m8767: correct s5m8767,pmic-buck-default- + dvs-idx property + - EDAC/sb_edac: Fix top-of-high-memory value for Broadwell/Haswell + - mwifiex: fix division by zero in fw download path + - ath6kl: fix division by zero in send path + - ath6kl: fix control-message timeout + - ath10k: fix control-message timeout + - ath10k: fix division by zero in send path + - PCI: Mark Atheros QCA6174 to avoid bus reset + - rtl8187: fix control-message timeouts + - evm: mark evm_fixmode as __ro_after_init + - ifb: Depend on netfilter alternatively to tc + - platform/surface: aggregator_registry: Add support for Surface Laptop Studio + - mt76: mt7615: fix skb use-after-free on mac reset + - HID: surface-hid: Use correct event registry for managing HID events + - HID: surface-hid: Allow driver matching for target ID 1 devices + - wcn36xx: Fix HT40 capability for 2Ghz band + - wcn36xx: Fix tx_status mechanism + - wcn36xx: Fix (QoS) null data frame bitrate/modulation + - PM: sleep: Do not let "syscore" devices runtime-suspend during system + transitions + - mwifiex: Read a PCI register after writing the TX ring write pointer + - mwifiex: Try waking the firmware until we get an interrupt + - libata: fix checking of DMA state + - dma-buf: fix and rework dma_buf_poll v7 + - wcn36xx: handle connection loss indication + - rsi: fix occasional initialisation failure with BT coex + - rsi: fix key enabled check causing unwanted encryption for vap_id > 0 + - rsi: fix rate mask set leading to P2P failure + - rsi: Fix module dev_oper_mode parameter description + - perf/x86/intel/uncore: Support extra IMC channel on Ice Lake server + - perf/x86/intel/uncore: Fix invalid unit check + - perf/x86/intel/uncore: Fix Intel ICX IIO event constraints + - RDMA/qedr: Fix NULL deref for query_qp on the GSI QP + - ASoC: tegra: Set default card name for Trimslice + - ASoC: tegra: Restore AC97 support + - signal: Remove the bogus sigkill_pending in ptrace_stop + - memory: renesas-rpc-if: Correct QSPI data transfer in Manual mode + - signal/mips: Update (_save|_restore)_fp_context to fail with -EFAULT + - soc: samsung: exynos-pmu: Fix compilation when nothing selects + CONFIG_MFD_CORE + - soc: fsl: dpio: replace smp_processor_id with raw_smp_processor_id + - soc: fsl: dpio: use the combined functions to protect critical zone + - mtd: rawnand: socrates: Keep the driver compatible with on-die ECC engines + - mctp: handle the struct sockaddr_mctp padding fields + - power: supply: max17042_battery: Prevent int underflow in set_soc_threshold + - power: supply: max17042_battery: use VFSOC for capacity when no rsns + - iio: core: fix double free in iio_device_unregister_sysfs() + - iio: core: check return value when calling dev_set_name() + - KVM: arm64: Extract ESR_ELx.EC only + - KVM: x86: Fix recording of guest steal time / preempted status + - KVM: x86: Add helper to consolidate core logic of SET_CPUID{2} flows + - KVM: nVMX: Query current VMCS when determining if MSR bitmaps are in use + - KVM: nVMX: Handle dynamic MSR intercept toggling + - can: peak_usb: always ask for BERR reporting for PCAN-USB devices + - can: mcp251xfd: mcp251xfd_irq(): add missing + can_rx_offload_threaded_irq_finish() in case of bus off + - can: j1939: j1939_tp_cmd_recv(): ignore abort message in the BAM transport + - can: j1939: j1939_can_recv(): ignore messages with invalid source address + - can: j1939: j1939_tp_cmd_recv(): check the dst address of TP.CM_BAM + - iio: adc: tsc2046: fix scan interval warning + - powerpc/85xx: Fix oops when mpc85xx_smp_guts_ids node cannot be found + - io_uring: honour zeroes as io-wq worker limits + - ring-buffer: Protect ring_buffer_reset() from reentrancy + - serial: core: Fix initializing and restoring termios speed + - ifb: fix building without CONFIG_NET_CLS_ACT + - xen/balloon: add late_initcall_sync() for initial ballooning done + - ovl: fix use after free in struct ovl_aio_req + - ovl: fix filattr copy-up failure + - PCI: pci-bridge-emul: Fix emulation of W1C bits + - PCI: cadence: Add cdns_plat_pcie_probe() missing return + - cxl/pci: Fix NULL vs ERR_PTR confusion + - PCI: aardvark: Do not clear status bits of masked interrupts + - PCI: aardvark: Fix checking for link up via LTSSM state + - PCI: aardvark: Do not unmask unused interrupts + - PCI: aardvark: Fix reporting Data Link Layer Link Active + - PCI: aardvark: Fix configuring Reference clock + - PCI: aardvark: Fix return value of MSI domain .alloc() method + - PCI: aardvark: Read all 16-bits from PCIE_MSI_PAYLOAD_REG + - PCI: aardvark: Fix support for bus mastering and PCI_COMMAND on emulated + bridge + - PCI: aardvark: Fix support for PCI_BRIDGE_CTL_BUS_RESET on emulated bridge + - PCI: aardvark: Set PCI Bridge Class Code to PCI Bridge + - PCI: aardvark: Fix support for PCI_ROM_ADDRESS1 on emulated bridge + - quota: check block number when reading the block in quota file + - quota: correct error number in free_dqentry() + - cifs: To match file servers, make sure the server hostname matches + - cifs: set a minimum of 120s for next dns resolution + - mfd: simple-mfd-i2c: Select MFD_CORE to fix build error + - pinctrl: core: fix possible memory leak in pinctrl_enable() + - coresight: cti: Correct the parameter for pm_runtime_put + - coresight: trbe: Fix incorrect access of the sink specific data + - coresight: trbe: Defer the probe on offline CPUs + - iio: buffer: check return value of kstrdup_const() + - iio: buffer: Fix memory leak in iio_buffers_alloc_sysfs_and_mask() + - iio: buffer: Fix memory leak in __iio_buffer_alloc_sysfs_and_mask() + - iio: buffer: Fix memory leak in iio_buffer_register_legacy_sysfs_groups() + - drivers: iio: dac: ad5766: Fix dt property name + - iio: dac: ad5446: Fix ad5622_write() return value + - iio: ad5770r: make devicetree property reading consistent + - Documentation:devicetree:bindings:iio:dac: Fix val + - USB: serial: keyspan: fix memleak on probe errors + - serial: 8250: fix racy uartclk update + - ksmbd: set unique value to volume serial field in FS_VOLUME_INFORMATION + - io-wq: serialize hash clear with wakeup + - serial: 8250: Fix reporting real baudrate value in c_ospeed field + - Revert "serial: 8250: Fix reporting real baudrate value in c_ospeed field" + - most: fix control-message timeouts + - USB: iowarrior: fix control-message timeouts + - USB: chipidea: fix interrupt deadlock + - power: supply: max17042_battery: Clear status bits in interrupt handler + - component: do not leave master devres group open after bind + - dma-buf: WARN on dmabuf release with pending attachments + - drm: panel-orientation-quirks: Update the Lenovo Ideapad D330 quirk (v2) + - drm: panel-orientation-quirks: Add quirk for KD Kurio Smart C15200 2-in-1 + - drm: panel-orientation-quirks: Add quirk for the Samsung Galaxy Book 10.6 + - Bluetooth: sco: Fix lock_sock() blockage by memcpy_from_msg() + - Bluetooth: fix use-after-free error in lock_sock_nested() + - Bluetooth: call sock_hold earlier in sco_conn_del + - drm/panel-orientation-quirks: add Valve Steam Deck + - rcutorture: Avoid problematic critical section nesting on PREEMPT_RT + - platform/x86: wmi: do not fail if disabling fails + - drm/amdgpu: move iommu_resume before ip init/resume + - MIPS: lantiq: dma: add small delay after reset + - MIPS: lantiq: dma: reset correct number of channel + - locking/lockdep: Avoid RCU-induced noinstr fail + - net: sched: update default qdisc visibility after Tx queue cnt changes + - rcu-tasks: Move RTGS_WAIT_CBS to beginning of rcu_tasks_kthread() loop + - smackfs: Fix use-after-free in netlbl_catmap_walk() + - ath11k: Align bss_chan_info structure with firmware + - crypto: aesni - check walk.nbytes instead of err + - x86/mm/64: Improve stack overflow warnings + - x86: Increase exception stack sizes + - mwifiex: Run SET_BSS_MODE when changing from P2P to STATION vif-type + - mwifiex: Properly initialize private structure on interface type changes + - spi: Check we have a spi_device_id for each DT compatible + - fscrypt: allow 256-bit master keys with AES-256-XTS + - drm/amdgpu: Fix MMIO access page fault + - drm/amd/display: Fix null pointer dereference for encoders + - selftests: net: fib_nexthops: Wait before checking reported idle time + - ath11k: Avoid reg rules update during firmware recovery + - ath11k: add handler for scan event WMI_SCAN_EVENT_DEQUEUED + - ath11k: Change DMA_FROM_DEVICE to DMA_TO_DEVICE when map reinjected packets + - ath10k: high latency fixes for beacon buffer + - octeontx2-pf: Enable promisc/allmulti match MCAM entries. + - media: mt9p031: Fix corrupted frame after restarting stream + - media: netup_unidvb: handle interrupt properly according to the firmware + - media: atomisp: Fix error handling in probe + - media: stm32: Potential NULL pointer dereference in dcmi_irq_thread() + - media: uvcvideo: Set capability in s_param + - media: uvcvideo: Return -EIO for control errors + - media: uvcvideo: Set unique vdev name based in type + - media: vidtv: Fix memory leak in remove + - media: s5p-mfc: fix possible null-pointer dereference in s5p_mfc_probe() + - media: s5p-mfc: Add checking to s5p_mfc_probe(). + - media: videobuf2: rework vb2_mem_ops API + - media: imx: set a media_device bus_info string + - media: rcar-vin: Use user provided buffers when starting + - media: mceusb: return without resubmitting URB in case of -EPROTO error. + - ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK + - rtw88: fix RX clock gate setting while fifo dump + - brcmfmac: Add DMI nvram filename quirk for Cyberbook T116 tablet + - media: rcar-csi2: Add checking to rcsi2_start_receiver() + - ipmi: Disable some operations during a panic + - fs/proc/uptime.c: Fix idle time reporting in /proc/uptime + - kselftests/sched: cleanup the child processes + - ACPICA: Avoid evaluating methods too early during system resume + - cpufreq: Make policy min/max hard requirements + - ice: Move devlink port to PF/VF struct + - media: imx-jpeg: Fix possible null pointer dereference + - media: ipu3-imgu: imgu_fmt: Handle properly try + - media: ipu3-imgu: VIDIOC_QUERYCAP: Fix bus_info + - media: usb: dvd-usb: fix uninit-value bug in dibusb_read_eeprom_byte() + - net-sysfs: try not to restart the syscall if it will fail eventually + - drm/amdkfd: rm BO resv on validation to avoid deadlock + - tracefs: Have tracefs directories not set OTH permission bits by default + - tracing: Disable "other" permission bits in the tracefs files + - ath: dfs_pattern_detector: Fix possible null-pointer dereference in + channel_detector_create() + - KVM: arm64: Propagate errors from __pkvm_prot_finalize hypercall + - mmc: moxart: Fix reference count leaks in moxart_probe + - iov_iter: Fix iov_iter_get_pages{,_alloc} page fault return value + - ACPI: battery: Accept charges over the design capacity as full + - ACPI: scan: Release PM resources blocked by unused objects + - drm/amd/display: fix null pointer deref when plugging in display + - drm/amdkfd: fix resume error when iommu disabled in Picasso + - net: phy: micrel: make *-skew-ps check more lenient + - leaking_addresses: Always print a trailing newline + - thermal/core: Fix null pointer dereference in thermal_release() + - drm/msm: prevent NULL dereference in msm_gpu_crashstate_capture() + - thermal/drivers/tsens: Add timeout to get_temp_tsens_valid + - block: bump max plugged deferred size from 16 to 32 + - floppy: fix calling platform_device_unregister() on invalid drives + - md: update superblock after changing rdev flags in state_store + - memstick: r592: Fix a UAF bug when removing the driver + - locking/rwsem: Disable preemption for spinning region + - lib/xz: Avoid overlapping memcpy() with invalid input with in-place + decompression + - lib/xz: Validate the value before assigning it to an enum variable + - workqueue: make sysfs of unbound kworker cpumask more clever + - tracing/cfi: Fix cmp_entries_* functions signature mismatch + - mt76: mt7915: fix an off-by-one bound check + - mwl8k: Fix use-after-free in mwl8k_fw_state_machine() + - iwlwifi: change all JnP to NO-160 configuration + - block: remove inaccurate requeue check + - media: allegro: ignore interrupt if mailbox is not initialized + - drm/amdgpu/pm: properly handle sclk for profiling modes on vangogh + - nvmet: fix use-after-free when a port is removed + - nvmet-rdma: fix use-after-free when a port is removed + - nvmet-tcp: fix use-after-free when a port is removed + - nvme: drop scan_lock and always kick requeue list when removing namespaces + - samples/bpf: Fix application of sizeof to pointer + - arm64: vdso32: suppress error message for 'make mrproper' + - PM: hibernate: Get block device exclusively in swsusp_check() + - selftests: kvm: fix mismatched fclose() after popen() + - selftests/bpf: Fix perf_buffer test on system with offline cpus + - iwlwifi: mvm: disable RX-diversity in powersave + - smackfs: use __GFP_NOFAIL for smk_cipso_doi() + - ARM: clang: Do not rely on lr register for stacktrace + - gre/sit: Don't generate link-local addr if addr_gen_mode is + IN6_ADDR_GEN_MODE_NONE + - can: bittiming: can_fixup_bittiming(): change type of tseg1 and alltseg to + unsigned int + - gfs2: Cancel remote delete work asynchronously + - gfs2: Fix glock_hash_walk bugs + - ARM: 9136/1: ARMv7-M uses BE-8, not BE-32 + - tools/latency-collector: Use correct size when writing queue_full_warning + - vrf: run conntrack only in context of lower/physdev for locally generated + packets + - net: annotate data-race in neigh_output() + - ACPI: AC: Quirk GK45 to skip reading _PSR + - ACPI: resources: Add one more Medion model in IRQ override quirk + - btrfs: reflink: initialize return value to 0 in btrfs_extent_same() + - btrfs: do not take the uuid_mutex in btrfs_rm_device + - spi: bcm-qspi: Fix missing clk_disable_unprepare() on error in + bcm_qspi_probe() + - wcn36xx: Correct band/freq reporting on RX + - wcn36xx: Fix packet drop on resume + - Revert "wcn36xx: Enable firmware link monitoring" + - ftrace: do CPU checking after preemption disabled + - inet: remove races in inet{6}_getname() + - x86/hyperv: Protect set_hv_tscchange_cb() against getting preempted + - drm/amd/display: dcn20_resource_construct reduce scope of FPU enabled + - perf/x86/intel: Fix ICL/SPR INST_RETIRED.PREC_DIST encodings + - parisc: fix warning in flush_tlb_all + - task_stack: Fix end_of_stack() for architectures with upwards-growing stack + - erofs: don't trigger WARN() when decompression fails + - parisc/unwind: fix unwinder when CONFIG_64BIT is enabled + - parisc/kgdb: add kgdb_roundup() to make kgdb work with idle polling + - netfilter: conntrack: set on IPS_ASSURED if flows enters internal stream + state + - selftests/bpf: Fix strobemeta selftest regression + - fbdev/efifb: Release PCI device's runtime PM ref during FB destroy + - drm/bridge: anx7625: Propagate errors from sp_tx_rst_aux() + - perf/x86/intel/uncore: Fix Intel SPR CHA event constraints + - perf/x86/intel/uncore: Fix Intel SPR IIO event constraints + - perf/x86/intel/uncore: Fix Intel SPR M2PCIE event constraints + - perf/x86/intel/uncore: Fix Intel SPR M3UPI event constraints + - drm/bridge: it66121: Initialize {device,vendor}_ids + - drm/bridge: it66121: Wait for next bridge to be probed + - Bluetooth: fix init and cleanup of sco_conn.timeout_work + - libbpf: Don't crash on object files with no symbol tables + - Bluetooth: hci_uart: fix GPF in h5_recv + - rcu: Fix existing exp request check in sync_sched_exp_online_cleanup() + - MIPS: lantiq: dma: fix burst length for DEU + - x86/xen: Mark cpu_bringup_and_idle() as dead_end_function + - objtool: Handle __sanitize_cov*() tail calls + - net/mlx5: Publish and unpublish all devlink parameters at once + - drm/v3d: fix wait for TMU write combiner flush + - crypto: sm4 - Do not change section of ck and sbox + - virtio-gpu: fix possible memory allocation failure + - lockdep: Let lock_is_held_type() detect recursive read as read + - net: net_namespace: Fix undefined member in key_remove_domain() + - net: phylink: don't call netif_carrier_off() with NULL netdev + - drm: bridge: it66121: Fix return value it66121_probe + - spi: Fixed division by zero warning + - cgroup: Make rebind_subsystems() disable v2 controllers all at once + - wcn36xx: Fix Antenna Diversity Switching + - wilc1000: fix possible memory leak in cfg_scan_result() + - Bluetooth: btmtkuart: fix a memleak in mtk_hci_wmt_sync + - drm/amdgpu: Fix crash on device remove/driver unload + - drm/amd/display: Pass display_pipe_params_st as const in DML + - drm/amdgpu: move amdgpu_virt_release_full_gpu to fini_early stage + - crypto: caam - disable pkc for non-E SoCs + - crypto: qat - power up 4xxx device + - Bluetooth: hci_h5: Fix (runtime)suspend issues on RTL8723BS HCIs + - bnxt_en: Check devlink allocation and registration status + - qed: Don't ignore devlink allocation failures + - rxrpc: Fix _usecs_to_jiffies() by using usecs_to_jiffies() + - mptcp: do not shrink snd_nxt when recovering + - fortify: Fix dropped strcpy() compile-time write overflow check + - mac80211: twt: don't use potentially unaligned pointer + - cfg80211: always free wiphy specific regdomain + - net/mlx5: Accept devlink user input after driver initialization complete + - net: dsa: rtl8366rb: Fix off-by-one bug + - net: dsa: rtl8366: Fix a bug in deleting VLANs + - bpf/tests: Fix error in tail call limit tests + - ath11k: fix some sleeping in atomic bugs + - ath11k: Avoid race during regd updates + - ath11k: fix packet drops due to incorrect 6 GHz freq value in rx status + - ath11k: Fix memory leak in ath11k_qmi_driver_event_work + - gve: DQO: avoid unused variable warnings + - ath10k: Fix missing frame timestamp for beacon/probe-resp + - ath10k: sdio: Add missing BH locking around napi_schdule() + - drm/ttm: stop calling tt_swapin in vm_access + - arm64: mm: update max_pfn after memory hotplug + - drm/amdgpu: fix warning for overflow check + - libbpf: Fix skel_internal.h to set errno on loader retval < 0 + - media: em28xx: add missing em28xx_close_extension + - media: meson-ge2d: Fix rotation parameter changes detection in + 'ge2d_s_ctrl()' + - media: cxd2880-spi: Fix a null pointer dereference on error handling path + - media: ttusb-dec: avoid release of non-acquired mutex + - media: dvb-usb: fix ununit-value in az6027_rc_query + - media: imx258: Fix getting clock frequency + - media: v4l2-ioctl: S_CTRL output the right value + - media: mtk-vcodec: venc: fix return value when start_streaming fails + - media: TDA1997x: handle short reads of hdmi info frame. + - media: mtk-vpu: Fix a resource leak in the error handling path of + 'mtk_vpu_probe()' + - media: imx-jpeg: Fix the error handling path of 'mxc_jpeg_probe()' + - media: i2c: ths8200 needs V4L2_ASYNC + - media: sun6i-csi: Allow the video device to be open multiple times + - media: radio-wl1273: Avoid card name truncation + - media: si470x: Avoid card name truncation + - media: tm6000: Avoid card name truncation + - media: cx23885: Fix snd_card_free call on null card pointer + - media: atmel: fix the ispck initialization + - scs: Release kasan vmalloc poison in scs_free process + - kprobes: Do not use local variable when creating debugfs file + - crypto: ecc - fix CRYPTO_DEFAULT_RNG dependency + - drm: fb_helper: fix CONFIG_FB dependency + - cpuidle: Fix kobject memory leaks in error paths + - media: em28xx: Don't use ops->suspend if it is NULL + - ath10k: Don't always treat modem stop events as crashes + - ath9k: Fix potential interrupt storm on queue reset + - PM: EM: Fix inefficient states detection + - x86/insn: Use get_unaligned() instead of memcpy() + - EDAC/amd64: Handle three rank interleaving mode + - rcu: Always inline rcu_dynticks_task*_{enter,exit}() + - rcu: Fix rcu_dynticks_curr_cpu_in_eqs() vs noinstr + - netfilter: nft_dynset: relax superfluous check on set updates + - media: venus: fix vpp frequency calculation for decoder + - media: dvb-frontends: mn88443x: Handle errors of clk_prepare_enable() + - crypto: ccree - avoid out-of-range warnings from clang + - crypto: qat - detect PFVF collision after ACK + - crypto: qat - disregard spurious PFVF interrupts + - hwrng: mtk - Force runtime pm ops for sleep ops + - ima: fix deadlock when traversing "ima_default_rules". + - b43legacy: fix a lower bounds test + - b43: fix a lower bounds test + - gve: Recover from queue stall due to missed IRQ + - gve: Track RX buffer allocation failures + - mmc: sdhci-omap: Fix NULL pointer exception if regulator is not configured + - mmc: sdhci-omap: Fix context restore + - memstick: avoid out-of-range warning + - memstick: jmb38x_ms: use appropriate free function in jmb38x_ms_alloc_host() + - net, neigh: Fix NTF_EXT_LEARNED in combination with NTF_USE + - hwmon: Fix possible memleak in __hwmon_device_register() + - hwmon: (pmbus/lm25066) Let compiler determine outer dimension of + lm25066_coeff + - ath10k: fix max antenna gain unit + - kernel/sched: Fix sched_fork() access an invalid sched_task_group + - net: fealnx: fix build for UML + - net: intel: igc_ptp: fix build for UML + - net: tulip: winbond-840: fix build for UML + - tcp: switch orphan_count to bare per-cpu counters + - crypto: octeontx2 - set assoclen in aead_do_fallback() + - thermal/core: fix a UAF bug in __thermal_cooling_device_register() + - drm/msm/dsi: do not enable irq handler before powering up the host + - drm/msm: Fix potential Oops in a6xx_gmu_rpmh_init() + - drm/msm: potential error pointer dereference in init() + - drm/msm: unlock on error in get_sched_entity() + - drm/msm: fix potential NULL dereference in cleanup + - drm/msm: uninitialized variable in msm_gem_import() + - net: stream: don't purge sk_error_queue in sk_stream_kill_queues() + - thermal/drivers/qcom/lmh: make QCOM_LMH depends on QCOM_SCM + - mailbox: Remove WARN_ON for async_cb.cb in cmdq_exec_done + - media: ivtv: fix build for UML + - media: ir_toy: assignment to be16 should be of correct type + - mmc: mxs-mmc: disable regulator on error and in the remove function + - io-wq: Remove duplicate code in io_workqueue_create() + - block: ataflop: fix breakage introduced at blk-mq refactoring + - platform/x86: thinkpad_acpi: Fix bitwise vs. logical warning + - mailbox: mtk-cmdq: Validate alias_id on probe + - mailbox: mtk-cmdq: Fix local clock ID usage + - ACPI: PM: Turn off unused wakeup power resources + - ACPI: PM: Fix sharing of wakeup power resources + - drm/amdkfd: Fix an inappropriate error handling in allloc memory of gpu + - mt76: mt7921: fix endianness in mt7921_mcu_tx_done_event + - mt76: mt7915: fix endianness warning in mt7915_mac_add_txs_skb + - mt76: mt7921: fix endianness warning in mt7921_update_txs + - mt76: mt7615: fix endianness warning in mt7615_mac_write_txwi + - mt76: mt7915: fix info leak in mt7915_mcu_set_pre_cal() + - mt76: connac: fix mt76_connac_gtk_rekey_tlv usage + - mt76: fix build error implicit enumeration conversion + - mt76: mt7921: fix survey-dump reporting + - mt76: mt76x02: fix endianness warnings in mt76x02_mac.c + - mt76: mt7921: Fix out of order process by invalid event pkt + - mt76: mt7915: fix potential overflow of eeprom page index + - mt76: mt7915: fix bit fields for HT rate idx + - mt76: mt7921: fix dma hang in rmmod + - mt76: connac: fix GTK rekey offload failure on WPA mixed mode + - mt76: overwrite default reg_ops if necessary + - mt76: mt7921: report HE MU radiotap + - mt76: mt7921: fix firmware usage of RA info using legacy rates + - mt76: mt7921: fix kernel warning from cfg80211_calculate_bitrate + - mt76: mt7921: always wake device if necessary in debugfs + - mt76: mt7915: fix hwmon temp sensor mem use-after-free + - mt76: mt7615: fix hwmon temp sensor mem use-after-free + - mt76: mt7915: fix possible infinite loop release semaphore + - mt76: mt7921: fix retrying release semaphore without end + - mt76: mt7615: fix monitor mode tear down crash + - mt76: connac: fix possible NULL pointer dereference in + mt76_connac_get_phy_mode_v2 + - mt76: mt7915: fix sta_rec_wtbl tag len + - mt76: mt7915: fix muar_idx in mt7915_mcu_alloc_sta_req() + - rsi: stop thread firstly in rsi_91x_init() error handling + - mwifiex: Send DELBA requests according to spec + - iwlwifi: mvm: reset PM state on unsuccessful resume + - iwlwifi: pnvm: don't kmemdup() more than we have + - iwlwifi: pnvm: read EFI data only if long enough + - net: enetc: unmap DMA in enetc_send_cmd() + - phy: micrel: ksz8041nl: do not use power down mode + - nbd: Fix use-after-free in pid_show + - nvme-rdma: fix error code in nvme_rdma_setup_ctrl + - PM: hibernate: fix sparse warnings + - clocksource/drivers/timer-ti-dm: Select TIMER_OF + - x86/sev: Fix stack type check in vc_switch_off_ist() + - drm/msm: Fix potential NULL dereference in DPU SSPP + - drm/msm/dsi: fix wrong type in msm_dsi_host + - crypto: tcrypt - fix skcipher multi-buffer tests for 1420B blocks + - smackfs: use netlbl_cfg_cipsov4_del() for deleting cipso_v4_doi + - KVM: selftests: Fix nested SVM tests when built with clang + - libbpf: Fix memory leak in btf__dedup() + - bpftool: Avoid leaking the JSON writer prepared for program metadata + - libbpf: Fix overflow in BTF sanity checks + - libbpf: Fix BTF header parsing checks + - mt76: mt7615: mt7622: fix ibss and meshpoint + - s390/gmap: validate VMA in __gmap_zap() + - s390/gmap: don't unconditionally call pte_unmap_unlock() in __gmap_zap() + - s390/mm: validate VMA in PGSTE manipulation functions + - s390/mm: fix VMA and page table handling code in storage key handling + functions + - s390/uv: fully validate the VMA before calling follow_page() + - KVM: s390: pv: avoid double free of sida page + - KVM: s390: pv: avoid stalls for kvm_s390_pv_init_vm + - irq: mips: avoid nested irq_enter() + - net: dsa: avoid refcount warnings when ->port_{fdb,mdb}_del returns error + - ARM: 9142/1: kasan: work around LPAE build warning + - ath10k: fix module load regression with iram-recovery feature + - block: ataflop: more blk-mq refactoring fixes + - blk-cgroup: synchronize blkg creation against policy deactivation + - libbpf: Fix off-by-one bug in bpf_core_apply_relo() + - tpm: fix Atmel TPM crash caused by too frequent queries + - tpm_tis_spi: Add missing SPI ID + - libbpf: Fix endianness detection in BPF_CORE_READ_BITFIELD_PROBED() + - tcp: don't free a FIN sk_buff in tcp_remove_empty_skb() + - tracing: Fix missing trace_boot_init_histograms kstrdup NULL checks + - cpufreq: intel_pstate: Fix cpu->pstate.turbo_freq initialization + - spi: spi-rpc-if: Check return value of rpcif_sw_init() + - samples/kretprobes: Fix return value if register_kretprobe() failed + - KVM: s390: Fix handle_sske page fault handling + - libertas_tf: Fix possible memory leak in probe and disconnect + - libertas: Fix possible memory leak in probe and disconnect + - wcn36xx: add proper DMA memory barriers in rx path + - wcn36xx: Fix discarded frames due to wrong sequence number + - bpf: Avoid races in __bpf_prog_run() for 32bit arches + - bpf: Fixes possible race in update_prog_stats() for 32bit arches + - wcn36xx: Channel list update before hardware scan + - drm/amdgpu: fix a potential memory leak in amdgpu_device_fini_sw() + - drm/amdgpu/gmc6: fix DMA mask from 44 to 40 bits + - selftests/bpf: Fix fd cleanup in sk_lookup test + - selftests/bpf: Fix memory leak in test_ima + - sctp: allow IP fragmentation when PLPMTUD enters Error state + - sctp: reset probe_timer in sctp_transport_pl_update + - sctp: subtract sctphdr len in sctp_transport_pl_hlen + - sctp: return true only for pathmtu update in sctp_transport_pl_toobig + - net: amd-xgbe: Toggle PLL settings during rate change + - ipmi: kcs_bmc: Fix a memory leak in the error handling path of + 'kcs_bmc_serio_add_device()' + - nfp: fix NULL pointer access when scheduling dim work + - nfp: fix potential deadlock when canceling dim work + - net: phylink: avoid mvneta warning when setting pause parameters + - net: bridge: fix uninitialized variables when BRIDGE_CFM is disabled + - selftests: net: bridge: update IGMP/MLD membership interval value + - crypto: pcrypt - Delay write to padata->info + - selftests/bpf: Fix fclose/pclose mismatch in test_progs + - udp6: allow SO_MARK ctrl msg to affect routing + - ibmvnic: don't stop queue in xmit + - ibmvnic: Process crqs after enabling interrupts + - ibmvnic: delay complete() + - selftests: mptcp: fix proto type in link_failure tests + - skmsg: Lose offset info in sk_psock_skb_ingress + - cgroup: Fix rootcg cpu.stat guest double counting + - bpf: Fix propagation of bounds from 64-bit min/max into 32-bit and var_off. + - bpf: Fix propagation of signed bounds from 64-bit min/max into 32-bit. + - of: unittest: fix EXPECT text for gpio hog errors + - cpufreq: Fix parameter in parse_perf_domain() + - staging: r8188eu: fix memory leak in rtw_set_key + - arm64: dts: meson: sm1: add Ethernet PHY reset line for ODROID-C4/HC4 + - iio: st_sensors: disable regulators after device unregistration + - RDMA/rxe: Fix wrong port_cap_flags + - ARM: dts: BCM5301X: Fix memory nodes names + - arm64: dts: broadcom: bcm4908: Fix UART clock name + - clk: mvebu: ap-cpu-clk: Fix a memory leak in error handling paths + - scsi: pm80xx: Fix lockup in outbound queue management + - scsi: qla2xxx: edif: Use link event to wake up app + - scsi: lpfc: Fix NVMe I/O failover to non-optimized path + - ARM: s3c: irq-s3c24xx: Fix return value check for s3c24xx_init_intc() + - arm64: dts: rockchip: Fix GPU register width for RK3328 + - ARM: dts: qcom: msm8974: Add xo_board reference clock to DSI0 PHY + - RDMA/bnxt_re: Fix query SRQ failure + - arm64: dts: ti: k3-j721e-main: Fix "max-virtual-functions" in PCIe EP nodes + - arm64: dts: ti: k3-j721e-main: Fix "bus-range" upto 256 bus number for PCIe + - arm64: dts: ti: j7200-main: Fix "vendor-id"/"device-id" properties of pcie + node + - arm64: dts: ti: j7200-main: Fix "bus-range" upto 256 bus number for PCIe + - arm64: dts: meson-g12a: Fix the pwm regulator supply properties + - arm64: dts: meson-g12b: Fix the pwm regulator supply properties + - arm64: dts: meson-sm1: Fix the pwm regulator supply properties + - bus: ti-sysc: Fix timekeeping_suspended warning on resume + - ARM: dts: at91: tse850: the emac<->phy interface is rmii + - arm64: dts: qcom: sc7180: Base dynamic CPU power coefficients in reality + - soc: qcom: llcc: Disable MMUHWT retention + - arm64: dts: qcom: sc7280: fix display port phy reg property + - scsi: dc395: Fix error case unwinding + - MIPS: loongson64: make CPU_LOONGSON64 depends on MIPS_FP_SUPPORT + - JFS: fix memleak in jfs_mount + - pinctrl: renesas: rzg2l: Fix missing port register 21h + - ASoC: wcd9335: Use correct version to initialize Class H + - arm64: dts: qcom: msm8916: Fix Secondary MI2S bit clock + - arm64: dts: renesas: beacon: Fix Ethernet PHY mode + - iommu/mediatek: Fix out-of-range warning with clang + - arm64: dts: qcom: pm8916: Remove wrong reg-names for rtc@6000 + - iommu/dma: Fix sync_sg with swiotlb + - iommu/dma: Fix arch_sync_dma for map + - ALSA: hda: Reduce udelay() at SKL+ position reporting + - ALSA: hda: Use position buffer for SKL+ again + - ALSA: usb-audio: Fix possible race at sync of urb completions + - soundwire: debugfs: use controller id and link_id for debugfs + - power: reset: at91-reset: check properly the return value of devm_of_iomap + - scsi: ufs: core: Fix ufshcd_probe_hba() prototype to match the definition + - scsi: ufs: core: Stop clearing UNIT ATTENTIONS + - scsi: megaraid_sas: Fix concurrent access to ISR between IRQ polling and + real interrupt + - scsi: pm80xx: Fix misleading log statement in pm8001_mpi_get_nvmd_resp() + - driver core: Fix possible memory leak in device_link_add() + - arm: dts: omap3-gta04a4: accelerometer irq fix + - ASoC: SOF: topology: do not power down primary core during topology removal + - iio: st_pressure_spi: Add missing entries SPI to device ID table + - soc/tegra: Fix an error handling path in tegra_powergate_power_up() + - memory: fsl_ifc: fix leak of irq and nand_irq in fsl_ifc_ctrl_probe + - clk: at91: check pmc node status before registering syscore ops + - powerpc/mem: Fix arch/powerpc/mm/mem.c:53:12: error: no previous prototype + for 'create_section_mapping' + - video: fbdev: chipsfb: use memset_io() instead of memset() + - powerpc: fix unbalanced node refcount in check_kvm_guest() + - powerpc/paravirt: correct preempt debug splat in vcpu_is_preempted() + - serial: 8250_dw: Drop wrong use of ACPI_PTR() + - usb: gadget: hid: fix error code in do_config() + - power: supply: rt5033_battery: Change voltage values to µV + - power: supply: max17040: fix null-ptr-deref in max17040_probe() + - scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn() + - RDMA/mlx4: Return missed an error if device doesn't support steering + - usb: musb: select GENERIC_PHY instead of depending on it + - staging: most: dim2: do not double-register the same device + - staging: ks7010: select CRYPTO_HASH/CRYPTO_MICHAEL_MIC + - RDMA/core: Set sgtable nents when using ib_dma_virt_map_sg() + - dyndbg: make dyndbg a known cli param + - powerpc/perf: Fix cycles/instructions as PM_CYC/PM_INST_CMPL in power10 + - pinctrl: renesas: checker: Fix off-by-one bug in drive register check + - ARM: dts: stm32: Reduce DHCOR SPI NOR frequency to 50 MHz + - ARM: dts: stm32: fix STUSB1600 Type-C irq level on stm32mp15xx-dkx + - ARM: dts: stm32: fix SAI sub nodes register range + - ARM: dts: stm32: fix AV96 board SAI2 pin muxing on stm32mp15 + - ASoC: cs42l42: Always configure both ASP TX channels + - ASoC: cs42l42: Correct some register default values + - ASoC: cs42l42: Defer probe if request_threaded_irq() returns EPROBE_DEFER + - soc: qcom: rpmhpd: Make power_on actually enable the domain + - soc: qcom: socinfo: add two missing PMIC IDs + - iio: buffer: Fix double-free in iio_buffers_alloc_sysfs_and_mask() + - usb: typec: STUSB160X should select REGMAP_I2C + - iio: adis: do not disabe IRQs in 'adis_init()' + - soundwire: bus: stop dereferencing invalid slave pointer + - scsi: ufs: ufshcd-pltfrm: Fix memory leak due to probe defer + - scsi: lpfc: Wait for successful restart of SLI3 adapter during host sg_reset + - serial: imx: fix detach/attach of serial console + - usb: dwc2: drd: fix dwc2_force_mode call in dwc2_ovr_init + - usb: dwc2: drd: fix dwc2_drd_role_sw_set when clock could be disabled + - usb: dwc2: drd: reset current session before setting the new one + - powerpc/booke: Disable STRICT_KERNEL_RWX, DEBUG_PAGEALLOC and KFENCE + - usb: dwc3: gadget: Skip resizing EP's TX FIFO if already resized + - firmware: qcom_scm: Fix error retval in __qcom_scm_is_call_available() + - soc: qcom: rpmhpd: fix sm8350_mxc's peer domain + - soc: qcom: apr: Add of_node_put() before return + - arm64: dts: qcom: pmi8994: Fix "eternal"->"external" typo in WLED node + - arm64: dts: qcom: sdm845: Use RPMH_CE_CLK macro directly + - arm64: dts: qcom: sdm845: Fix Qualcomm crypto engine bus clock + - pinctrl: equilibrium: Fix function addition in multiple groups + - ASoC: topology: Fix stub for snd_soc_tplg_component_remove() + - phy: qcom-qusb2: Fix a memory leak on probe + - phy: ti: gmii-sel: check of_get_address() for failure + - phy: qcom-qmp: another fix for the sc8180x PCIe definition + - phy: qcom-snps: Correct the FSEL_MASK + - phy: Sparx5 Eth SerDes: Fix return value check in sparx5_serdes_probe() + - serial: xilinx_uartps: Fix race condition causing stuck TX + - clk: at91: sam9x60-pll: use DIV_ROUND_CLOSEST_ULL + - clk: at91: clk-master: check if div or pres is zero + - clk: at91: clk-master: fix prescaler logic + - HID: u2fzero: clarify error check and length calculations + - HID: u2fzero: properly handle timeouts in usb_submit_urb + - powerpc/nohash: Fix __ptep_set_access_flags() and ptep_set_wrprotect() + - powerpc/book3e: Fix set_memory_x() and set_memory_nx() + - powerpc/44x/fsp2: add missing of_node_put + - powerpc/xmon: fix task state output + - ALSA: oxfw: fix functional regression for Mackie Onyx 1640i in v5.14 or + later + - iommu/dma: Fix incorrect error return on iommu deferred attach + - powerpc: Don't provide __kernel_map_pages() without + ARCH_SUPPORTS_DEBUG_PAGEALLOC + - ASoC: cs42l42: Correct configuring of switch inversion from ts-inv + - RDMA/hns: Fix initial arm_st of CQ + - RDMA/hns: Modify the value of MAX_LP_MSG_LEN to meet hardware compatibility + - ASoC: rsnd: Fix an error handling path in 'rsnd_node_count()' + - serial: cpm_uart: Protect udbg definitions by CONFIG_SERIAL_CPM_CONSOLE + - virtio_ring: check desc == NULL when using indirect with packed + - vdpa/mlx5: Fix clearing of VIRTIO_NET_F_MAC feature bit + - mips: cm: Convert to bitfield API to fix out-of-bounds access + - power: supply: bq27xxx: Fix kernel crash on IRQ handler register error + - RDMA/core: Require the driver to set the IOVA correctly during rereg_mr + - apparmor: fix error check + - rpmsg: Fix rpmsg_create_ept return when RPMSG config is not defined + - mtd: rawnand: intel: Fix potential buffer overflow in probe + - nfsd: don't alloc under spinlock in rpc_parse_scope_id + - rtc: ds1302: Add SPI ID table + - rtc: ds1390: Add SPI ID table + - rtc: pcf2123: Add SPI ID table + - remoteproc: imx_rproc: Fix TCM io memory type + - i2c: i801: Use PCI bus rescan mutex to protect P2SB access + - dmaengine: idxd: move out percpu_ref_exit() to ensure it's outside + submission + - rtc: mcp795: Add SPI ID table + - Input: ariel-pwrbutton - add SPI device ID table + - i2c: mediatek: fixing the incorrect register offset + - NFS: Default change_attr_type to NFS4_CHANGE_TYPE_IS_UNDEFINED + - NFS: Don't set NFS_INO_DATA_INVAL_DEFER and NFS_INO_INVALID_DATA + - NFS: Ignore the directory size when marking for revalidation + - NFS: Fix dentry verifier races + - pnfs/flexfiles: Fix misplaced barrier in nfs4_ff_layout_prepare_ds + - drm/bridge/lontium-lt9611uxc: fix provided connector suport + - drm/plane-helper: fix uninitialized variable reference + - PCI: aardvark: Don't spam about PIO Response Status + - PCI: aardvark: Fix preserving PCI_EXP_RTCTL_CRSSVE flag on emulated bridge + - opp: Fix return in _opp_add_static_v2() + - NFS: Fix deadlocks in nfs_scan_commit_list() + - sparc: Add missing "FORCE" target when using if_changed + - fs: orangefs: fix error return code of orangefs_revalidate_lookup() + - Input: st1232 - increase "wait ready" timeout + - drm/bridge: nwl-dsi: Add atomic_get_input_bus_fmts + - mtd: spi-nor: hisi-sfc: Remove excessive clk_disable_unprepare() + - PCI: uniphier: Serialize INTx masking/unmasking and fix the bit operation + - mtd: rawnand: arasan: Prevent an unsupported configuration + - mtd: core: don't remove debugfs directory if device is in use + - remoteproc: Fix a memory leak in an error handling path in + 'rproc_handle_vdev()' + - rtc: rv3032: fix error handling in rv3032_clkout_set_rate() + - dmaengine: at_xdmac: call at_xdmac_axi_config() on resume path + - dmaengine: at_xdmac: fix AT_XDMAC_CC_PERID() macro + - dmaengine: stm32-dma: fix stm32_dma_get_max_width + - NFS: Fix up commit deadlocks + - NFS: Fix an Oops in pnfs_mark_request_commit() + - Fix user namespace leak + - auxdisplay: img-ascii-lcd: Fix lock-up when displaying empty string + - auxdisplay: ht16k33: Connect backlight to fbdev + - auxdisplay: ht16k33: Fix frame buffer device blanking + - soc: fsl: dpaa2-console: free buffer before returning from + dpaa2_console_read + - netfilter: nfnetlink_queue: fix OOB when mac header was cleared + - dmaengine: dmaengine_desc_callback_valid(): Check for `callback_result` + - dmaengine: tegra210-adma: fix pm runtime unbalance + - dmanegine: idxd: fix resource free ordering on driver removal + - dmaengine: idxd: reconfig device after device reset command + - signal/sh: Use force_sig(SIGKILL) instead of do_group_exit(SIGKILL) + - m68k: set a default value for MEMORY_RESERVE + - watchdog: f71808e_wdt: fix inaccurate report in WDIOC_GETTIMEOUT + - ar7: fix kernel builds for compiler test + - scsi: target: core: Remove from tmr_list during LUN unlink + - scsi: qla2xxx: Relogin during fabric disturbance + - scsi: qla2xxx: Fix gnl list corruption + - scsi: qla2xxx: Turn off target reset during issue_lip + - scsi: qla2xxx: edif: Fix app start fail + - scsi: qla2xxx: edif: Fix app start delay + - scsi: qla2xxx: edif: Flush stale events and msgs on session down + - scsi: qla2xxx: edif: Increase ELS payload + - scsi: qla2xxx: edif: Fix EDIF bsg + - NFSv4: Fix a regression in nfs_set_open_stateid_locked() + - dmaengine: idxd: fix resource leak on dmaengine driver disable + - i2c: xlr: Fix a resource leak in the error handling path of + 'xlr_i2c_probe()' + - gpio: realtek-otto: fix GPIO line IRQ offset + - xen-pciback: Fix return in pm_ctrl_init() + - nbd: fix max value for 'first_minor' + - nbd: fix possible overflow for 'first_minor' in nbd_dev_add() + - io-wq: fix max-workers not correctly set on multi-node system + - net: davinci_emac: Fix interrupt pacing disable + - kselftests/net: add missed icmp.sh test to Makefile + - kselftests/net: add missed setup_loopback.sh/setup_veth.sh to Makefile + - kselftests/net: add missed SRv6 tests + - kselftests/net: add missed vrf_strict_mode_test.sh test to Makefile + - kselftests/net: add missed toeplitz.sh/toeplitz_client.sh to Makefile + - ethtool: fix ethtool msg len calculation for pause stats + - openrisc: fix SMP tlb flush NULL pointer dereference + - net: vlan: fix a UAF in vlan_dev_real_dev() + - net: dsa: felix: fix broken VLAN-tagged PTP under VLAN-aware bridge + - ice: Fix replacing VF hardware MAC to existing MAC filter + - ice: Fix not stopping Tx queues for VFs + - kdb: Adopt scheduler's task classification + - ACPI: PMIC: Fix intel_pmic_regs_handler() read accesses + - PCI: j721e: Fix j721e_pcie_probe() error path + - nvdimm/btt: do not call del_gendisk() if not needed + - scsi: bsg: Fix errno when scsi_bsg_register_queue() fails + - scsi: ufs: ufshpb: Use proper power management API + - scsi: ufs: core: Fix NULL pointer dereference + - scsi: ufs: ufshpb: Properly handle max-single-cmd + - drm/nouveau/svm: Fix refcount leak bug and missing check against null bug + - nvdimm/pmem: cleanup the disk if pmem_release_disk() is yet assigned + - block/ataflop: use the blk_cleanup_disk() helper + - block/ataflop: add registration bool before calling del_gendisk() + - block/ataflop: provide a helper for cleanup up an atari disk + - ataflop: remove ataflop_probe_lock mutex + - PCI: Do not enable AtomicOps on VFs + - cpufreq: intel_pstate: Clear HWP desired on suspend/shutdown and offline + - net: phy: fix duplex out of sync problem while changing settings + - block: fix device_add_disk() kobject_create_and_add() error handling + - drm/ttm: remove ttm_bo_vm_insert_huge() + - bonding: Fix a use-after-free problem when bond_sysfs_slave_add() failed + - octeontx2-pf: select CONFIG_NET_DEVLINK + - ALSA: memalloc: Catch call with NULL snd_dma_buffer pointer + - mfd: core: Add missing of_node_put for loop iteration + - mfd: cpcap: Add SPI device ID table + - mfd: sprd: Add SPI device ID table + - mfd: altera-sysmgr: Fix a mistake caused by resource_size conversion + - ACPI: PM: Fix device wakeup power reference counting error + - libbpf: Fix lookup_and_delete_elem_flags error reporting + - selftests/bpf/xdp_redirect_multi: Put the logs to tmp folder + - selftests/bpf/xdp_redirect_multi: Use arping to accurate the arp number + - selftests/bpf/xdp_redirect_multi: Give tcpdump a chance to terminate cleanly + - selftests/bpf/xdp_redirect_multi: Limit the tests in netns + - drm: fb_helper: improve CONFIG_FB dependency + - Revert "drm/imx: Annotate dma-fence critical section in commit path" + - drm/amdgpu/powerplay: fix sysfs_emit/sysfs_emit_at handling + - can: etas_es58x: es58x_rx_err_msg(): fix memory leak in error path + - can: mcp251xfd: mcp251xfd_chip_start(): fix error handling for + mcp251xfd_chip_rx_int_enable() + - mm/zsmalloc.c: close race window between zs_pool_dec_isolated() and + zs_unregister_migration() + - zram: off by one in read_block_state() + - perf bpf: Add missing free to bpf_event__print_bpf_prog_info() + - llc: fix out-of-bound array index in llc_sk_dev_hash() + - nfc: pn533: Fix double free when pn533_fill_fragment_skbs() fails + - litex_liteeth: Fix a double free in the remove function + - arm64: arm64_ftr_reg->name may not be a human-readable string + - arm64: pgtable: make __pte_to_phys/__phys_to_pte_val inline functions + - bpf, sockmap: Remove unhash handler for BPF sockmap usage + - bpf, sockmap: Fix race in ingress receive verdict with redirect to self + - bpf: sockmap, strparser, and tls are reusing qdisc_skb_cb and colliding + - bpf, sockmap: sk_skb data_end access incorrect when src_reg = dst_reg + - dmaengine: stm32-dma: fix burst in case of unaligned memory address + - dmaengine: stm32-dma: avoid 64-bit division in stm32_dma_get_max_width + - gve: Fix off by one in gve_tx_timeout() + - drm/i915/fb: Fix rounding error in subsampled plane size calculation + - init: make unknown command line param message clearer + - seq_file: fix passing wrong private data + - drm/amdgpu: fix uvd crash on Polaris12 during driver unloading + - net: dsa: mv88e6xxx: Don't support >1G speeds on 6191X on ports other than + 10 + - net/sched: sch_taprio: fix undefined behavior in ktime_mono_to_any + - net: hns3: fix ROCE base interrupt vector initialization bug + - net: hns3: fix pfc packet number incorrect after querying pfc parameters + - net: hns3: fix kernel crash when unload VF while it is being reset + - net: hns3: allow configure ETS bandwidth of all TCs + - net: stmmac: allow a tc-taprio base-time of zero + - net: ethernet: ti: cpsw_ale: Fix access to un-initialized memory + - net: marvell: mvpp2: Fix wrong SerDes reconfiguration order + - vsock: prevent unnecessary refcnt inc for nonblocking connect + - net/smc: fix sk_refcnt underflow on linkdown and fallback + - cxgb4: fix eeprom len when diagnostics not implemented + - selftests/net: udpgso_bench_rx: fix port argument + - thermal: int340x: fix build on 32-bit targets + - smb3: do not error on fsync when readonly + - ARM: 9155/1: fix early early_iounmap() + - ARM: 9156/1: drop cc-option fallbacks for architecture selection + - parisc: Fix backtrace to always include init funtion names + - parisc: Flush kernel data mapping in set_pte_at() when installing pte for + user page + - MIPS: fix duplicated slashes for Platform file path + - MIPS: fix *-pkg builds for loongson2ef platform + - MIPS: Fix assembly error from MIPSr2 code used within MIPS_ISA_ARCH_LEVEL + - x86/mce: Add errata workaround for Skylake SKX37 + - PCI/MSI: Move non-mask check back into low level accessors + - PCI/MSI: Destroy sysfs before freeing entries + - KVM: x86: move guest_pv_has out of user_access section + - posix-cpu-timers: Clear task::posix_cputimers_work in copy_process() + - irqchip/sifive-plic: Fixup EOI failed when masked + - f2fs: should use GFP_NOFS for directory inodes + - f2fs: include non-compressed blocks in compr_written_block + - f2fs: fix UAF in f2fs_available_free_memory + - ceph: fix mdsmap decode when there are MDS's beyond max_mds + - erofs: fix unsafe pagevec reuse of hooked pclusters + - drm/i915/guc: Fix blocked context accounting + - block: Hold invalidate_lock in BLKDISCARD ioctl + - block: Hold invalidate_lock in BLKZEROOUT ioctl + - block: Hold invalidate_lock in BLKRESETZONE ioctl + - ksmbd: Fix buffer length check in fsctl_validate_negotiate_info() + - ksmbd: don't need 8byte alignment for request length in ksmbd_check_message + - dmaengine: ti: k3-udma: Set bchan to NULL if a channel request fail + - dmaengine: ti: k3-udma: Set r/tchan or rflow to NULL if request fail + - dmaengine: bestcomm: fix system boot lockups + - net, neigh: Enable state migration between NUD_PERMANENT and NTF_USE + - 9p/net: fix missing error check in p9_check_errors + - mm/filemap.c: remove bogus VM_BUG_ON + - memcg: prohibit unconditional exceeding the limit of dying tasks + - mm, oom: pagefault_out_of_memory: don't force global OOM for dying tasks + - mm, oom: do not trigger out_of_memory from the #PF + - mm, thp: lock filemap when truncating page cache + - mm, thp: fix incorrect unmap behavior for private pages + - mfd: dln2: Add cell for initializing DLN2 ADC + - video: backlight: Drop maximum brightness override for brightness zero + - bcache: fix use-after-free problem in bcache_device_free() + - bcache: Revert "bcache: use bvec_virt" + - PM: sleep: Avoid calling put_device() under dpm_list_mtx + - s390/cpumf: cpum_cf PMU displays invalid value after hotplug remove + - s390/cio: check the subchannel validity for dev_busid + - s390/tape: fix timer initialization in tape_std_assign() + - s390/ap: Fix hanging ioctl caused by orphaned replies + - s390/cio: make ccw_device_dma_* more robust + - remoteproc: elf_loader: Fix loading segment when is_iomem true + - remoteproc: Fix the wrong default value of is_iomem + - remoteproc: imx_rproc: Fix ignoring mapping vdev regions + - remoteproc: imx_rproc: Fix rsc-table name + - mtd: rawnand: fsmc: Fix use of SM ORDER + - mtd: rawnand: ams-delta: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: xway: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: mpc5121: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: gpio: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: pasemi: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: orion: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: plat_nand: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: au1550nd: Keep the driver compatible with on-die ECC engines + - powerpc/vas: Fix potential NULL pointer dereference + - powerpc/bpf: Fix write protecting JIT code + - powerpc/32e: Ignore ESR in instruction storage interrupt handler + - powerpc/powernv/prd: Unregister OPAL_MSG_PRD2 notifier during module unload + - powerpc/security: Use a mutex for interrupt exit code patching + - powerpc/64s/interrupt: Fix check_return_regs_valid() false positive + - powerpc/pseries/mobility: ignore ibm, platform-facilities updates + - powerpc/85xx: fix timebase sync issue when CONFIG_HOTPLUG_CPU=n + - drm/sun4i: Fix macros in sun8i_csc.h + - PCI: Add PCI_EXP_DEVCTL_PAYLOAD_* macros + - PCI: aardvark: Fix PCIe Max Payload Size setting + - SUNRPC: Partial revert of commit 6f9f17287e78 + - drm/amd/display: Look at firmware version to determine using dmub on dcn21 + - media: vidtv: move kfree(dvb) to vidtv_bridge_dev_release() + - cifs: fix memory leak of smb3_fs_context_dup::server_hostname + - ath10k: fix invalid dma_addr_t token assignment + - mmc: moxart: Fix null pointer dereference on pointer host + - selftests/x86/iopl: Adjust to the faked iopl CLI/STI usage + - selftests/bpf: Fix also no-alu32 strobemeta selftest + - arch/cc: Introduce a function to check for confidential computing features + - x86/sev: Add an x86 version of cc_platform_has() + - x86/sev: Make the #VC exception stacks part of the default stacks storage + - media: videobuf2: always set buffer vb2 pointer + - media: videobuf2-dma-sg: Fix buf->vb NULL pointer dereference + - Linux 5.15.3 + * kernel panic: NULL pointer dereference in wb_timer_f() (LP: #1947557) // + Jammy update: v5.15.3 upstream stable release (LP: #1951822) + - blk-wbt: prevent NULL pointer dereference in wb_timer_fn + * Medion Notebook Keyboard not working (LP: #1909814) // Jammy update: v5.15.3 + upstream stable release (LP: #1951822) + - ACPI: resources: Add DMI-based legacy IRQ override quirk + * Enable CONFIG_INTEL_IOMMU_DEFAULT_ON and + CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON on jammy 5.15 (LP: #1951440) + - [Config] enable Intel DMA remapping options by default + * Thinkpad E14 Gen2: Kernel panic with trackpad and trackpoint enabled + (LP: #1945590) + - SAUCE: Input: elantech - Fix stack out of bound access in + elantech_change_report_id() + * Miscellaneous Ubuntu changes + - SAUCE: LSM: Specify which LSM to display (using struct cred as input) + - SAUCE: selftests/seccomp: fix check of fds being assigned + - [Config] enable SUNRPC_DISABLE_INSECURE_ENCTYPES + - [Config] updateconfigs following v5.15.3, v5.15.4 import + * Miscellaneous upstream changes + - binder: use cred instead of task for selinux checks + - binder: use cred instead of task for getsecid + - Revert "UBUNTU: SAUCE: storvsc: use small sg_tablesize on x86" + + [ Ubuntu: 5.15.0-11.11 ] + + * jammy/linux: 5.15.0-11.11 -proposed tracker (LP: #1950948) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * OOPs on boot: invalid opcode: 0000 [#1] SMP NOPTI (LP: #1942215) + - SAUCE: ACPICA: prevent out-of-bound access with buggy DSDT + - [Config] disable UBSAN + - SAUCE: ACPICA: avoid accessing operands out-of-bounds + * Jammy update: v5.15.2 upstream stable release (LP: #1950949) + - KVM: x86: avoid warning with -Wbitwise-instead-of-logical + - Revert "x86/kvm: fix vcpu-id indexed array sizes" + - usb: ehci: handshake CMD_RUN instead of STS_HALT + - usb: gadget: Mark USB_FSL_QE broken on 64-bit + - usb: musb: Balance list entry in musb_gadget_queue + - usb-storage: Add compatibility quirk flags for iODD 2531/2541 + - Revert "proc/wchan: use printk format instead of lookup_symbol_name()" + - binder: use euid from cred instead of using task + - binder: don't detect sender/target during buffer cleanup + - kfence: always use static branches to guard kfence_alloc() + - kfence: default to dynamic branch instead of static keys mode + - btrfs: fix lzo_decompress_bio() kmap leakage + - staging: rtl8712: fix use-after-free in rtl8712_dl_fw + - isofs: Fix out of bound access for corrupted isofs image + - comedi: dt9812: fix DMA buffers on stack + - comedi: ni_usb6501: fix NULL-deref in command paths + - comedi: vmk80xx: fix transfer-buffer overflows + - comedi: vmk80xx: fix bulk-buffer overflow + - comedi: vmk80xx: fix bulk and interrupt message timeouts + - staging: r8712u: fix control-message timeout + - staging: rtl8192u: fix control-message timeouts + - staging: r8188eu: fix memleak in rtw_wx_set_enc_ext + - media: staging/intel-ipu3: css: Fix wrong size comparison imgu_css_fw_init + - rsi: fix control-message timeout + - Linux 5.15.2 + * reuseport_bpf_numa in net from ubuntu_kernel_selftests fails on ppc64le + (LP: #1867570) + - selftests/net: Fix reuseport_bpf_numa by skipping unavailable nodes + * Miscellaneous Ubuntu changes + - packaging: switch getabis to the linux package name + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: (no-up) rename the adv7511 drm driver to adv7511_drm" + - Revert "UBUNTU: SAUCE: drm/i915/dp: Use max params for older panels" + - Revert "UBUNTU: SAUCE: i915: Fix build error due to missing struct + definition" + - selftests/core: fix conflicting types compile error for close_range() + - selftests: net: test_vxlan_under_vrf: fix HV connectivity test + - Revert "UBUNTU: SAUCE: ACPICA: prevent out-of-bound access with buggy DSDT" + + [ Ubuntu: 5.15.0-10.10 ] + + * jammy/linux: 5.15.0-10.10 -proposed tracker (LP: #1950133) + * Jammy update: v5.15.1 upstream stable release (LP: #1950131) + - sfc: Fix reading non-legacy supported link modes + - media: firewire: firedtv-avc: fix a buffer overflow in avc_ca_pmt() + - Revert "xhci: Set HCD flag to defer primary roothub registration" + - Revert "usb: core: hcd: Add support for deferring roothub registration" + - drm/amdkfd: fix boot failure when iommu is disabled in Picasso. + - Revert "soc: imx: gpcv2: move reset assert after requesting domain power up" + - ARM: 9120/1: Revert "amba: make use of -1 IRQs warn" + - Revert "wcn36xx: Disable bmps when encryption is disabled" + - drm/amdgpu: revert "Add autodump debugfs node for gpu reset v8" + - drm/amd/display: Revert "Directly retrain link from debugfs" + - Revert "drm/i915/gt: Propagate change in error status to children on unhold" + - ALSA: usb-audio: Add quirk for Audient iD14 + - Linux 5.15.1 + * Miscellaneous Ubuntu changes + - packaging: fixup previous ABI/spin to -9.9 + - [Packaging] Drop unused d-i build-deps and packaging + - [Packaging] Drop now unsupported d-i/ input files + * Miscellaneous upstream changes + - selftests: net: properly support IPv6 in GSO GRE test + - signal: Add SA_IMMUTABLE to ensure forced siganls do not get changed + + [ Ubuntu: 5.15.0-9.9 ] + + * jammy/linux: 5.15.0-1.1 -proposed tracker (LP: #1949876) + * Packaging resync (LP: #1786013) + - [Packaging] update variants + - [Packaging] update Ubuntu.md + * Add F81966 watchdog support (LP: #1949063) + - SAUCE: ODM: watchdog: f71808e_wdt: Add F81966 support + * Miscellaneous Ubuntu changes + - [Packaging] Rewrite debian/scripts/misc/insert-changes.pl in Python + - [Packaging] change source package name to linux + + [ Ubuntu: 5.15.0-0.0 ] + + * Empty entry + + [ Ubuntu: 5.15.0-8.8 ] + + * jammy/linux-unstable: 5.15.0-8.8 -proposed tracker (LP: #1949436) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * Drop "UBUNTU: SAUCE: cachefiles: Page leaking in + cachefiles_read_backing_file while vmscan is active" (LP: #1947709) + - Revert "UBUNTU: SAUCE: cachefiles: Page leaking in + cachefiles_read_backing_file while vmscan is active" + * Add l2tp.sh in net from ubuntu_kernel_selftests back (LP: #1934293) + - Revert "UBUNTU: SAUCE: selftests/net -- disable l2tp.sh test" + * Check for changes relevant for security certifications (LP: #1945989) + - [Packaging] Add fips-checks as part of finalchecks + * Add final-checks to check certificates (LP: #1947174) + - [Packaging] Add system trusted and revocation keys final check + * Can only reach PC3 when ethernet is plugged r8169 (LP: #1946433) + - r8169: Enable chip-specific ASPM regardless of PCIe ASPM status + - PCI/ASPM: Introduce a new helper to report ASPM capability + - r8169: Implement dynamic ASPM mechanism + * rtw89 kernel module for Realtek 8852 wifi is missing (LP: #1945967) + - rtw89: add Realtek 802.11ax driver + - rtw89: Remove redundant check of ret after call to rtw89_mac_enable_bb_rf + - rtw89: fix return value check in rtw89_cam_send_sec_key_cmd() + - rtw89: remove unneeded semicolon + - [Config] RTW89=m + * Fix A yellow screen pops up in an instant (< 1 second) and then disappears + before loading the system (LP: #1945932) + - drm/i915: Stop force enabling pipe bottom color gammma/csc + * disable CONFIG_KFENCE_STATIC_KEYS in linux 5.15 (LP: #1948038) + - [Config] disable CONFIG_KFENCE_STATIC_KEYS + * Miscellaneous Ubuntu changes + - [Debian] Remove old and unused firmware helper scripts + - [Packaging] Replace Perl oneliner with Bash statements + - rebase to v5.15 + * Rebase to v5.15 + + [ Ubuntu: 5.15.0-7.7 ] + + * jammy/linux-unstable: 5.15.0-7.7 -proposed tracker (LP: #1948770) + * Miscellaneous Ubuntu changes + - [Config] Temporarily disable signing for ppc64el and s390x + - packaging: switch release to Jammy + - rebase to v5.15-rc7 + - [Config] GCC version update + * Rebase to v5.15-rc7 + + [ Ubuntu: 5.15.0-6.6 ] + + * impish/linux-unstable: 5.15.0-6.6 -proposed tracker (LP: #1947565) + * [impish] Remove the downstream xr-usb-uart driver (LP: #1945938) + - SAUCE: xr-usb-serial: remove driver + - [Config] update modules list + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc6 + - [Config] update config & annotations following v5.15-rc6 rebase + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: xr-usb-serial: switch to tty_alloc_driver() and + tty_driver_kref_put()" + - Revert "UBUNTU: SAUCE: xr-usb-serial: update return code for + xr_usb_serial_tty_write_room() and xr_usb_serial_tty_chars_in_buffer()" + - Revert "UBUNTU: [Packaging] FTBFS: disable zfs" + * Rebase to v5.15-rc6 + + [ Ubuntu: 5.15.0-5.5 ] + + * impish/linux-unstable: 5.15.0-5.5 -proposed tracker (LP: #1946338) + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc5 + - [Config] FB_SIMPLE=m + - [Config] update annotations + * Rebase to v5.15-rc5 + + [ Ubuntu: 5.15.0-4.4 ] + + * impish/linux-unstable: 5.15.0-4.4 -proposed tracker (LP: #1945953) + * Fix missing HDMI audio on Intel RKL (LP: #1945556) + - drm/i915/audio: Use BIOS provided value for RKL HDA link + * Miscellaneous Ubuntu changes + - SAUCE: media: atomisp: add missing return type (fix -Werror=return-type) + - SAUCE: xr-usb-serial: switch to tty_alloc_driver() and tty_driver_kref_put() + - rebase to v5.15-rc4 + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] FTBFS: disable INTEL_ATOMISP" + - Revert "UBUNTU: [Config] FTBFS: disable xr-usb-serial" + * Rebase to v5.15-rc4 + + [ Ubuntu: 5.15.0-3.3 ] + + * impish/linux-unstable: 5.15.0-3.3 -proposed tracker (LP: #1944944) + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc3 + - [Config] updateconfigs following v5.15-rc3 rebase + - [Packaging] correctly evaluate release in update-dkms-versions + * Rebase to v5.15-rc3 + + [ Ubuntu: 5.15.0-2.2 ] + + * impish/linux-unstable: 5.15.0-2.2 -proposed tracker (LP: #1944423) + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc2 + - [Config] updateconfigs following v5.15-rc2 rebase + * Rebase to v5.15-rc2 + + [ Ubuntu: 5.15.0-1.1 ] + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + * LRMv5: switch primary version handling to kernel-versions data set + (LP: #1928921) + - [Packaging] switch to kernel-versions + * Miscellaneous Ubuntu changes + - [Packaging] remove remaining references to ports + - [Packaging] drop x32 architecture configs + - [Config] mark CONFIG_BPF_UNPRIV_DEFAULT_OFF enforced + - [Packaging] bump kernel version to 5.15 + - rebase to v5.15-rc1 + - [Config] updateconfigs following v5.15-rc1 rebase + - [Config] FTBFS: disable INTEL_ATOMISP + - [Config] FTBFS: disable xr-usb-serial + - [Packaging] FTBFS: disable zfs + * Miscellaneous upstream changes + - Revert "r8169: avoid link-up interrupt issue on RTL8106e if user enables + ASPM" + - Revert "UBUNTU: SAUCE: RDMA/core: Introduce peer memory interface" + * Rebase to v5.15-rc1 + + [ Ubuntu: 5.15.0-0.0 ] + + * Empty entry + + [ Ubuntu: 5.14.0-9.9 ] + + * impish/linux-unstable: 5.14.0-9.9 -proposed tracker (LP: #1943022) + * Packaging resync (LP: #1786013) + - update dkms package versions + * Miscellaneous Ubuntu changes + - [Packaging] NVIDIA -- Add the NVIDIA 470 driver + - [Packaging] NVIDIA: transition -460 and -465 to -470, transition -460-server + to -470-server + * Miscellaneous upstream changes + - vt_kdsetmode: extend console locking + - Bluetooth: btusb: check conditions before enabling USB ALT 3 for WBS + - net: dsa: mt7530: fix VLAN traffic leaks again + - btrfs: fix NULL pointer dereference when deleting device by invalid id + - Revert "floppy: reintroduce O_NDELAY fix" + - fscrypt: add fscrypt_symlink_getattr() for computing st_size + - ext4: report correct st_size for encrypted symlinks + - f2fs: report correct st_size for encrypted symlinks + - ubifs: report correct st_size for encrypted symlinks + - net: don't unconditionally copy_from_user a struct ifreq for socket ioctls + - audit: move put_tree() to avoid trim_trees refcount underflow and UAF + - Linux 5.14.1 + + [ Ubuntu: 5.14.0-8.8 ] + + * impish/linux-unstable: 5.14.0-8.8 -proposed tracker (LP: #1941887) + * Fix Intel AC9560 BT function cannot turn on if BT turn off before S3 entry + (LP: #1941696) + - SAUCE: Bluetooth: btusb: add a reject table to disable msft + * Add USB4 support for AMD SoC (LP: #1941036) + - thunderbolt: Add vendor specific NHI quirk for auto-clearing interrupt + status + - thunderbolt: Handle ring interrupt by reading interrupt status register + - thunderbolt: Do not read control adapter config space + - thunderbolt: Fix port linking by checking all adapters + * Support builtin revoked certificates (LP: #1932029) + - [Config] Enforce SYSTEM_TRUSTED_KEYS and SYSTEM_REVOCATION_KEYS + * GPIO error logs in start and dmesg after update of kernel (LP: #1937897) + - ODM: mfd: Check AAEON BFPI version before adding device + * initramfs-tools & kernel: use zstd as the default compression method + (LP: #1931725) + - [Config] enforce ZSTD compression + * Miscellaneous Ubuntu changes + - rebase to v5.14 + - [Config] RESET_MCHP_SPARX5 depends on ARCH_SPARX5 + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] FTBFS: disable zfs" + * Rebase to v5.14 + + [ Ubuntu: 5.14.0-7.7 ] + + * Please enable CONFIG_UBSAN_BOUNDS (LP: #1914685) + - [Config] Enable CONFIG_UBSAN_BOUNDS + * CONFIG_HARDENED_USERCOPY_FALLBACK should be disabled (LP: #1855340) + - [Config] Disable CONFIG_HARDENED_USERCOPY_FALLBACK + * fs: removing mandatory locks (LP: #1940392) + - [Config] Disable CONFIG_MANDATORY_FILE_LOCKING + * Fix kernel panic caused by legacy devices on AMD platforms (LP: #1936682) + - SAUCE: iommu/amd: Keep swiotlb enabled to ensure devices with 32bit DMA + still work + * ALSA: hda/cs8409: Add support for dolphin (LP: #1939541) + - ALSA: hda/cirrus: Move CS8409 HDA bridge to separate module + - ALSA: hda/cs8409: Move arrays of configuration to a new file + - ALSA: hda/cs8409: Use enums for register names and coefficients + - ALSA: hda/cs8409: Mask all CS42L42 interrupts on initialization + - ALSA: hda/cs8409: Reduce HS pops/clicks for Cyborg + - ALSA: hda/cs8409: Disable unnecessary Ring Sense for Cyborg/Warlock/Bullseye + - ALSA: hda/cs8409: Disable unsolicited responses during suspend + - ALSA: hda/cs8409: Disable unsolicited response for the first boot + - ALSA: hda/cs8409: Mask CS42L42 wake events + - ALSA: hda/cs8409: Simplify CS42L42 jack detect. + - ALSA: hda/cs8409: Prevent I2C access during suspend time + - ALSA: hda/cs8409: Generalize volume controls + - ALSA: hda/cs8409: Dont disable I2C clock between consecutive accesses + - ALSA: hda/cs8409: Avoid setting the same I2C address for every access + - ALSA: hda/cs8409: Avoid re-setting the same page as the last access + - ALSA: hda/cs8409: Support i2c bulk read/write functions + - ALSA: hda/cs8409: Separate CS8409, CS42L42 and project functions + - ALSA: hda/cs8409: Move codec properties to its own struct + - ALSA: hda/cs8409: Support multiple sub_codecs for Suspend/Resume/Unsol + events + - ALSA: hda/cs8409: Add Support to disable jack type detection for CS42L42 + - ALSA: hda/cs8409: Add support for dolphin + - ALSA: hda/cs8409: Enable Full Scale Volume for Line Out Codec on Dolphin + - ALSA: hda/cs8409: Set fixed sample rate of 48kHz for CS42L42 + - ALSA: hda/cs8409: Use timeout rather than retries for I2C transaction waits + - ALSA: hda/cs8409: Remove unnecessary delays + - ALSA: hda/cs8409: Follow correct CS42L42 power down sequence for suspend + - ALSA: hda/cs8409: Unmute/Mute codec when stream starts/stops + - ALSA: hda/cs8409: Prevent pops and clicks during suspend + - SAUCE: ALSA: hda/cs8409: Prevent pops and clicks during reboot + - [Config] Enable Cirrus Logic HDA bridge support + * e1000e: add handshake with the Intel CSME to support S0ix (LP: #1937252) + - SAUCE: e1000e: Add handshake with the CSME to support S0ix + - SAUCE: e1000e: Add polling mechanism to indicate CSME DPG exit + - SAUCE: e1000e: Additional PHY power saving in S0ix + * AMDGPU: Fix System hang after resume from suspend (LP: #1940204) + - SAUCE: drm/amdgpu: disable BACO support for 699F:C7 polaris12 SKU + temporarily + * [Regression] Audio card [8086:9d71] not detected after upgrade from linux + 5.4 to 5.8 (LP: #1915117) + - [Config] set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y + * Miscellaneous Ubuntu changes + - rebase to v5.14-rc7 + - [Config] updateconfigs following 5.14-rc7 rebase + - [Config] Enable CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT + - [Config] annotations: set CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT to y + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] annotations: set + CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y" + - Revert "UBUNTU: [Config] set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to + y" + * Rebase to v5.14-rc7 + + [ Ubuntu: 5.14.0-6.6 ] + + * Miscellaneous Ubuntu changes + - no changes upload (to avoid picking up libc6 from -proposed) + * No changes upload (to avoid picking up libc6 from -proposed) + + [ Ubuntu: 5.14.0-5.5 ] + + * disable “CONFIG_HISI_DMA” config for ubuntu version (LP: #1936771) + - [Config] Disable CONFIG_HISI_DMA + * Dell XPS 17 (9710) PCI/internal sound card not detected (LP: #1935850) + - ASoC: Intel: sof_sdw: include rt711.h for RT711 JD mode + - ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 + * [regression] USB device is not detected during boot (LP: #1939638) + - SAUCE: Revert "usb: core: reduce power-on-good delay time of root hub" + * armhf build failure (LP: #1939308) + - SAUCE: arm: Fix instruction set selection for GCC 11 + * REGRESSION: shiftfs lets sendfile fail with EINVAL (LP: #1939301) + - SAUCE: shiftfs: fix sendfile() invocations + * Wobbly graphics on built-in display since linux-image-5.11.0-22-generic + (LP: #1936708) + - SAUCE: drm/i915/dp: Use max params for older panels + * [SRU][H/OEM-5.10/OEM-5.13/U] Fix system hang after unplug tbt dock + (LP: #1938689) + - SAUCE: igc: fix page fault when thunderbolt is unplugged + * e1000e blocks the boot process when it tried to write checksum to its NVM + (LP: #1936998) + - SAUCE: e1000e: Do not take care about recovery NVM checksum + * [Regression] Audio card [8086:9d71] not detected after upgrade from linux + 5.4 to 5.8 (LP: #1915117) + - [Config] set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y + - [Config] annotations: set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y + * Miscellaneous Ubuntu changes + - [Config] updateconfigs following 5.14-rc6 rebase + - rebase to v5.14-rc6 + * Rebase to v5.14-rc6 + + [ Ubuntu: 5.14.0-4.4 ] + + * impish/linux-unstable: 5.14.0-4.4 -proposed tracker (LP: #1938566) + * Packaging resync (LP: #1786013) + - update dkms package versions + * Miscellaneous upstream changes + - Revert "riscv: Get CPU manufacturer information" + + [ Ubuntu: 5.14.0-3.3 ] + + * Add additional Mediatek MT7921 WiFi/BT device IDs (LP: #1937004) + - SAUCE: Bluetooth: btusb: Add Mediatek MT7921 support for Foxconn + - SAUCE: Bluetooth: btusb: Add Mediatek MT7921 support for IMC Network + - SAUCE: Bluetooth: btusb: Add support for Foxconn Mediatek Chip + * Fix display output on HP hybrid GFX laptops (LP: #1936296) + - drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops + * Miscellaneous Ubuntu changes + - rebase to v5.14-rc3 + - [Config] updateconfigs following 5.14-rc3 rebase + * Rebase to v5.14-rc3 + + [ Ubuntu: 5.14.0-2.2 ] + + * Packaging resync (LP: #1786013) + - update dkms package versions + * Miscellaneous Ubuntu changes + - SAUCE: xr-usb-serial: update return code for xr_usb_serial_tty_write_room() + and xr_usb_serial_tty_chars_in_buffer() + - SAUCE: platform/x86: dell-uart-backlight: update return code for + uart_chars_in_buffer(() + - [Config] updateconfigs following 5.14-rc2 rebase + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] FTBFS: disable ubuntu/xr-usb-serial" + - Revert "UBUNTU: [Config] FTBFS: disable DELL_UART_BACKLIGHT" + * Rebase to v5.14-rc2 + + [ Ubuntu: 5.14.0-1.1 ] + + * Packaging resync (LP: #1786013) + - update dkms package versions + * Miscellaneous Ubuntu changes + - [Packaging] bump kernel version to 5.14 + - [Config] updateconfigs following 5.14-rc1 rebase + - [Config] update annotations + - [Packaging] FTBFS: disable zfs + - [Config] FTBFS: disable DELL_UART_BACKLIGHT + - [Config] FTBFS: disable ubuntu/xr-usb-serial + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] update variants" + * Rebase to v5.14-rc1 + + [ Ubuntu: 5.14.0-0.0 ] + + * Empty entry + + -- Khalid Elmously Thu, 10 Feb 2022 00:35:08 -0500 + +linux-gcp (5.15.0-1000.0) jammy; urgency=medium + + * jammy/linux-gcp: Initial bring-up of jammy-linux-gcp + + [ Ubuntu: 5.13.0-30.33 ] + + -- Khalid Elmously Tue, 09 Feb 2022 04:48:49 -0500 + +linux (5.15.0-22.22) jammy; urgency=medium + + * jammy/linux: 5.15.0-22.22 -proposed tracker (LP: #1960290) + + -- Paolo Pisati Tue, 08 Feb 2022 10:48:49 +0100 + +linux (5.15.0-21.21) jammy; urgency=medium + + * jammy/linux: 5.15.0-21.21 -proposed tracker (LP: #1960211) + + * Miscellaneous Ubuntu changes + - [packaging] unhook lowlatency flavours from the build + + -- Paolo Pisati Mon, 07 Feb 2022 11:30:18 +0100 + +linux (5.15.0-20.20) jammy; urgency=medium + + * jammy/linux: 5.15.0-20.20 -proposed tracker (LP: #1959881) + + * Jammy update: v5.15.19 upstream stable release (LP: #1959879) + - can: m_can: m_can_fifo_{read,write}: don't read or write from/to FIFO if + length is 0 + - net: sfp: ignore disabled SFP node + - net: stmmac: configure PTP clock source prior to PTP initialization + - net: stmmac: skip only stmmac_ptp_register when resume from suspend + - ARM: 9179/1: uaccess: avoid alignment faults in + copy_[from|to]_kernel_nofault + - ARM: 9180/1: Thumb2: align ALT_UP() sections in modules sufficiently + - KVM: arm64: Use shadow SPSR_EL1 when injecting exceptions on !VHE + - s390/hypfs: include z/VM guests with access control group set + - s390/nmi: handle guarded storage validity failures for KVM guests + - s390/nmi: handle vector validity failures for KVM guests + - bpf: Guard against accessing NULL pt_regs in bpf_get_task_stack() + - powerpc32/bpf: Fix codegen for bpf-to-bpf calls + - powerpc/bpf: Update ldimm64 instructions during extra pass + - scsi: zfcp: Fix failed recovery on gone remote port with non-NPIV FCP + devices + - udf: Restore i_lenAlloc when inode expansion fails + - udf: Fix NULL ptr deref when converting from inline format + - efi: runtime: avoid EFIv2 runtime services on Apple x86 machines + - PM: wakeup: simplify the output logic of pm_show_wakelocks() + - tracing/histogram: Fix a potential memory leak for kstrdup() + - tracing: Don't inc err_log entry count if entry allocation fails + - ceph: properly put ceph_string reference after async create attempt + - ceph: set pool_ns in new inode layout for async creates + - fsnotify: fix fsnotify hooks in pseudo filesystems + - Revert "KVM: SVM: avoid infinite loop on NPF from bad address" + - psi: Fix uaf issue when psi trigger is destroyed while being polled + - powerpc/audit: Fix syscall_get_arch() + - perf/x86/intel/uncore: Fix CAS_COUNT_WRITE issue for ICX + - perf/x86/intel: Add a quirk for the calculation of the number of counters on + Alder Lake + - drm/etnaviv: relax submit size limits + - drm/atomic: Add the crtc to affected crtc only if uapi.enable = true + - drm/amd/display: Fix FP start/end for dcn30_internal_validate_bw. + - KVM: LAPIC: Also cancel preemption timer during SET_LAPIC + - KVM: SVM: Never reject emulation due to SMAP errata for !SEV guests + - KVM: SVM: Don't intercept #GP for SEV guests + - KVM: x86: nSVM: skip eax alignment check for non-SVM instructions + - KVM: x86: Forcibly leave nested virt when SMM state is toggled + - KVM: x86: Keep MSR_IA32_XSS unchanged for INIT + - KVM: x86: Update vCPU's runtime CPUID on write to MSR_IA32_XSS + - KVM: x86: Sync the states size with the XCR0/IA32_XSS at, any time + - KVM: PPC: Book3S HV Nested: Fix nested HFSCR being clobbered with multiple + vCPUs + - dm: revert partial fix for redundant bio-based IO accounting + - block: add bio_start_io_acct_time() to control start_time + - dm: properly fix redundant bio-based IO accounting + - serial: pl011: Fix incorrect rs485 RTS polarity on set_mctrl + - serial: 8250: of: Fix mapped region size when using reg-offset property + - serial: stm32: fix software flow control transfer + - tty: n_gsm: fix SW flow control encoding/handling + - tty: Partially revert the removal of the Cyclades public API + - tty: Add support for Brainboxes UC cards. + - kbuild: remove include/linux/cyclades.h from header file check + - usb-storage: Add unusual-devs entry for VL817 USB-SATA bridge + - usb: xhci-plat: fix crash when suspend if remote wake enable + - usb: common: ulpi: Fix crash in ulpi_match() + - usb: gadget: f_sourcesink: Fix isoc transfer for USB_SPEED_SUPER_PLUS + - usb: cdnsp: Fix segmentation fault in cdns_lost_power function + - usb: dwc3: xilinx: Skip resets and USB3 register settings for USB2.0 mode + - usb: dwc3: xilinx: Fix error handling when getting USB3 PHY + - USB: core: Fix hang in usb_kill_urb by adding memory barriers + - usb: typec: tcpci: don't touch CC line if it's Vconn source + - usb: typec: tcpm: Do not disconnect while receiving VBUS off + - usb: typec: tcpm: Do not disconnect when receiving VSAFE0V + - ucsi_ccg: Check DEV_INT bit only when starting CCG4 + - mm, kasan: use compare-exchange operation to set KASAN page tag + - jbd2: export jbd2_journal_[grab|put]_journal_head + - ocfs2: fix a deadlock when commit trans + - sched/membarrier: Fix membarrier-rseq fence command missing from query + bitmask + - PCI/sysfs: Find shadow ROM before static attribute initialization + - x86/MCE/AMD: Allow thresholding interface updates after init + - x86/cpu: Add Xeon Icelake-D to list of CPUs that support PPIN + - powerpc/32s: Allocate one 256k IBAT instead of two consecutives 128k IBATs + - powerpc/32s: Fix kasan_init_region() for KASAN + - powerpc/32: Fix boot failure with GCC latent entropy plugin + - i40e: Increase delay to 1 s after global EMP reset + - i40e: Fix issue when maximum queues is exceeded + - i40e: Fix queues reservation for XDP + - i40e: Fix for failed to init adminq while VF reset + - i40e: fix unsigned stat widths + - usb: roles: fix include/linux/usb/role.h compile issue + - rpmsg: char: Fix race between the release of rpmsg_ctrldev and cdev + - rpmsg: char: Fix race between the release of rpmsg_eptdev and cdev + - scsi: elx: efct: Don't use GFP_KERNEL under spin lock + - scsi: bnx2fc: Flush destroy_work queue before calling bnx2fc_interface_put() + - ipv6_tunnel: Rate limit warning messages + - ARM: 9170/1: fix panic when kasan and kprobe are enabled + - net: fix information leakage in /proc/net/ptype + - hwmon: (lm90) Mark alert as broken for MAX6646/6647/6649 + - hwmon: (lm90) Mark alert as broken for MAX6680 + - ping: fix the sk_bound_dev_if match in ping_lookup + - ipv4: avoid using shared IP generator for connected sockets + - hwmon: (lm90) Reduce maximum conversion rate for G781 + - NFSv4: Handle case where the lookup of a directory fails + - NFSv4: nfs_atomic_open() can race when looking up a non-regular file + - net-procfs: show net devices bound packet types + - drm/msm: Fix wrong size calculation + - drm/msm/dsi: Fix missing put_device() call in dsi_get_phy + - drm/msm/dsi: invalid parameter check in msm_dsi_phy_enable + - ipv6: annotate accesses to fn->fn_sernum + - NFS: Ensure the server has an up to date ctime before hardlinking + - NFS: Ensure the server has an up to date ctime before renaming + - KVM: arm64: pkvm: Use the mm_ops indirection for cache maintenance + - SUNRPC: Use BIT() macro in rpc_show_xprt_state() + - SUNRPC: Don't dereference xprt->snd_task if it's a cookie + - powerpc64/bpf: Limit 'ldbrx' to processors compliant with ISA v2.06 + - netfilter: conntrack: don't increment invalid counter on NF_REPEAT + - powerpc/64s: Mask SRR0 before checking against the masked NIP + - perf: Fix perf_event_read_local() time + - sched/pelt: Relax the sync of util_sum with util_avg + - net: phy: broadcom: hook up soft_reset for BCM54616S + - net: stmmac: dwmac-visconti: Fix bit definitions for ETHER_CLK_SEL + - net: stmmac: dwmac-visconti: Fix clock configuration for RMII mode + - phylib: fix potential use-after-free + - octeontx2-af: Do not fixup all VF action entries + - octeontx2-af: Fix LBK backpressure id count + - octeontx2-af: Retry until RVU block reset complete + - octeontx2-pf: cn10k: Ensure valid pointers are freed to aura + - octeontx2-af: verify CQ context updates + - octeontx2-af: Increase link credit restore polling timeout + - octeontx2-af: cn10k: Do not enable RPM loopback for LPC interfaces + - octeontx2-pf: Forward error codes to VF + - rxrpc: Adjust retransmission backoff + - efi/libstub: arm64: Fix image check alignment at entry + - io_uring: fix bug in slow unregistering of nodes + - Drivers: hv: balloon: account for vmbus packet header in max_pkt_size + - hwmon: (lm90) Re-enable interrupts after alert clears + - hwmon: (lm90) Mark alert as broken for MAX6654 + - hwmon: (lm90) Fix sysfs and udev notifications + - hwmon: (adt7470) Prevent divide by zero in adt7470_fan_write() + - powerpc/perf: Fix power_pmu_disable to call clear_pmi_irq_pending only if + PMI is pending + - ipv4: fix ip option filtering for locally generated fragments + - ibmvnic: Allow extra failures before disabling + - ibmvnic: init ->running_cap_crqs early + - ibmvnic: don't spin in tasklet + - net/smc: Transitional solution for clcsock race issue + - video: hyperv_fb: Fix validation of screen resolution + - can: tcan4x5x: regmap: fix max register value + - drm/msm/hdmi: Fix missing put_device() call in msm_hdmi_get_phy + - drm/msm/dpu: invalid parameter check in dpu_setup_dspp_pcc + - drm/msm/a6xx: Add missing suspend_count increment + - yam: fix a memory leak in yam_siocdevprivate() + - net: cpsw: Properly initialise struct page_pool_params + - net: hns3: handle empty unknown interrupt for VF + - sch_htb: Fail on unsupported parameters when offload is requested + - Revert "drm/ast: Support 1600x900 with 108MHz PCLK" + - KVM: selftests: Don't skip L2's VMCALL in SMM test for SVM guest + - ceph: put the requests/sessions when it fails to alloc memory + - gve: Fix GFP flags when allocing pages + - Revert "ipv6: Honor all IPv6 PIO Valid Lifetime values" + - net: bridge: vlan: fix single net device option dumping + - ipv4: raw: lock the socket in raw_bind() + - ipv4: tcp: send zero IPID in SYNACK messages + - ipv4: remove sparse error in ip_neigh_gw4() + - net: bridge: vlan: fix memory leak in __allowed_ingress + - Bluetooth: refactor malicious adv data check + - irqchip/realtek-rtl: Map control data to virq + - irqchip/realtek-rtl: Fix off-by-one in routing + - dt-bindings: can: tcan4x5x: fix mram-cfg RX FIFO config + - perf/core: Fix cgroup event list management + - psi: fix "no previous prototype" warnings when CONFIG_CGROUPS=n + - psi: fix "defined but not used" warnings when CONFIG_PROC_FS=n + - usb: dwc3: xilinx: fix uninitialized return value + - usr/include/Makefile: add linux/nfc.h to the compile-test coverage + - fsnotify: invalidate dcache before IN_DELETE event + - block: Fix wrong offset in bio_truncate() + - mtd: rawnand: mpc5121: Remove unused variable in ads5121_select_chip() + - Linux 5.15.19 + + * Jammy update: v5.15.18 upstream stable release (LP: #1959878) + - drm/i915: Flush TLBs before releasing backing store + - drm/amd/display: reset dcn31 SMU mailbox on failures + - io_uring: fix not released cached task refs + - bnx2x: Utilize firmware 7.13.21.0 + - bnx2x: Invalidate fastpath HSI version for VFs + - memcg: flush stats only if updated + - memcg: unify memcg stat flushing + - memcg: better bounds on the memcg stats updates + - rcu: Tighten rcu_advance_cbs_nowake() checks + - select: Fix indefinitely sleeping task in poll_schedule_timeout() + - drm/amdgpu: Use correct VIEWPORT_DIMENSION for DCN2 + - arm64/bpf: Remove 128MB limit for BPF JIT programs + - Linux 5.15.18 + + * CVE-2022-22942 + - SAUCE: drm/vmwgfx: Fix stale file descriptors on failed usercopy + + * CVE-2022-24122 + - ucount: Make get_ucount a safe get_user replacement + + * CVE-2022-23222 + - bpf, selftests: Add verifier test for mem_or_null register with offset. + + * Miscellaneous Ubuntu changes + - [Config] toolchain version update + + * Miscellaneous upstream changes + - s390/module: fix loading modules with a lot of relocations + + -- Paolo Pisati Thu, 03 Feb 2022 12:09:37 +0100 + +linux (5.15.0-19.19) jammy; urgency=medium + + * jammy/linux: 5.15.0-19.19 -proposed tracker (LP: #1959418) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Jammy update: v5.15.17 upstream stable release (LP: #1959376) + - KVM: x86/mmu: Fix write-protection of PTs mapped by the TDP MMU + - KVM: VMX: switch blocked_vcpu_on_cpu_lock to raw spinlock + - HID: Ignore battery for Elan touchscreen on HP Envy X360 15t-dr100 + - HID: uhid: Fix worker destroying device without any protection + - HID: wacom: Reset expected and received contact counts at the same time + - HID: wacom: Ignore the confidence flag when a touch is removed + - HID: wacom: Avoid using stale array indicies to read contact count + - ALSA: core: Fix SSID quirk lookup for subvendor=0 + - f2fs: fix to do sanity check on inode type during garbage collection + - f2fs: fix to do sanity check in is_alive() + - f2fs: avoid EINVAL by SBI_NEED_FSCK when pinning a file + - nfc: llcp: fix NULL error pointer dereference on sendmsg() after failed + bind() + - mtd: rawnand: gpmi: Add ERR007117 protection for nfc_apply_timings + - mtd: rawnand: gpmi: Remove explicit default gpmi clock setting for i.MX6 + - mtd: Fixed breaking list in __mtd_del_partition. + - mtd: rawnand: davinci: Don't calculate ECC when reading page + - mtd: rawnand: davinci: Avoid duplicated page read + - mtd: rawnand: davinci: Rewrite function description + - mtd: rawnand: Export nand_read_page_hwecc_oob_first() + - mtd: rawnand: ingenic: JZ4740 needs 'oob_first' read page function + - riscv: Get rid of MAXPHYSMEM configs + - RISC-V: Use common riscv_cpuid_to_hartid_mask() for both SMP=y and SMP=n + - riscv: try to allocate crashkern region from 32bit addressible memory + - riscv: Don't use va_pa_offset on kdump + - riscv: use hart id instead of cpu id on machine_kexec + - riscv: mm: fix wrong phys_ram_base value for RV64 + - x86/gpu: Reserve stolen memory for first integrated Intel GPU + - tools/nolibc: x86-64: Fix startup code bug + - crypto: x86/aesni - don't require alignment of data + - tools/nolibc: i386: fix initial stack alignment + - tools/nolibc: fix incorrect truncation of exit code + - rtc: cmos: take rtc_lock while reading from CMOS + - net: phy: marvell: add Marvell specific PHY loopback + - ksmbd: uninitialized variable in create_socket() + - ksmbd: fix guest connection failure with nautilus + - ksmbd: add support for smb2 max credit parameter + - ksmbd: move credit charge deduction under processing request + - ksmbd: limits exceeding the maximum allowable outstanding requests + - ksmbd: add reserved room in ipc request/response + - media: cec: fix a deadlock situation + - media: ov8865: Disable only enabled regulators on error path + - media: v4l2-ioctl.c: readbuffers depends on V4L2_CAP_READWRITE + - media: flexcop-usb: fix control-message timeouts + - media: mceusb: fix control-message timeouts + - media: em28xx: fix control-message timeouts + - media: cpia2: fix control-message timeouts + - media: s2255: fix control-message timeouts + - media: dib0700: fix undefined behavior in tuner shutdown + - media: redrat3: fix control-message timeouts + - media: pvrusb2: fix control-message timeouts + - media: stk1160: fix control-message timeouts + - media: cec-pin: fix interrupt en/disable handling + - can: softing_cs: softingcs_probe(): fix memleak on registration failure + - mei: hbm: fix client dma reply status + - iio: adc: ti-adc081c: Partial revert of removal of ACPI IDs + - iio: trigger: Fix a scheduling whilst atomic issue seen on tsc2046 + - lkdtm: Fix content of section containing lkdtm_rodata_do_nothing() + - bus: mhi: pci_generic: Graceful shutdown on freeze + - bus: mhi: core: Fix reading wake_capable channel configuration + - bus: mhi: core: Fix race while handling SYS_ERR at power up + - cxl/pmem: Fix reference counting for delayed work + - arm64: errata: Fix exec handling in erratum 1418040 workaround + - ARM: dts: at91: update alternate function of signal PD20 + - iommu/io-pgtable-arm-v7s: Add error handle for page table allocation failure + - gpu: host1x: Add back arm_iommu_detach_device() + - drm/tegra: Add back arm_iommu_detach_device() + - virtio/virtio_mem: handle a possible NULL as a memcpy parameter + - dma_fence_array: Fix PENDING_ERROR leak in dma_fence_array_signaled() + - PCI: Add function 1 DMA alias quirk for Marvell 88SE9125 SATA controller + - mm_zone: add function to check if managed dma zone exists + - dma/pool: create dma atomic pool only if dma zone has managed pages + - mm/page_alloc.c: do not warn allocation failure on zone DMA if no managed + pages + - shmem: fix a race between shmem_unused_huge_shrink and shmem_evict_inode + - drm/ttm: Put BO in its memory manager's lru list + - Bluetooth: L2CAP: Fix not initializing sk_peer_pid + - drm/bridge: display-connector: fix an uninitialized pointer in probe() + - drm: fix null-ptr-deref in drm_dev_init_release() + - drm/panel: kingdisplay-kd097d04: Delete panel on attach() failure + - drm/panel: innolux-p079zca: Delete panel on attach() failure + - drm/rockchip: dsi: Fix unbalanced clock on probe error + - drm/rockchip: dsi: Hold pm-runtime across bind/unbind + - drm/rockchip: dsi: Disable PLL clock on bind error + - drm/rockchip: dsi: Reconfigure hardware on resume() + - Bluetooth: virtio_bt: fix memory leak in virtbt_rx_handle() + - Bluetooth: cmtp: fix possible panic when cmtp_init_sockets() fails + - clk: bcm-2835: Pick the closest clock rate + - clk: bcm-2835: Remove rounding up the dividers + - drm/vc4: hdmi: Set a default HSM rate + - drm/vc4: hdmi: Move the HSM clock enable to runtime_pm + - drm/vc4: hdmi: Make sure the controller is powered in detect + - drm/vc4: hdmi: Make sure the controller is powered up during bind + - drm/vc4: hdmi: Rework the pre_crtc_configure error handling + - drm/vc4: crtc: Make sure the HDMI controller is powered when disabling + - wcn36xx: ensure pairing of init_scan/finish_scan and start_scan/end_scan + - wcn36xx: Indicate beacon not connection loss on MISSED_BEACON_IND + - drm/vc4: hdmi: Enable the scrambler on reconnection + - libbpf: Free up resources used by inner map definition + - wcn36xx: Fix DMA channel enable/disable cycle + - wcn36xx: Release DMA channel descriptor allocations + - wcn36xx: Put DXE block into reset before freeing memory + - wcn36xx: populate band before determining rate on RX + - wcn36xx: fix RX BD rate mapping for 5GHz legacy rates + - ath11k: Send PPDU_STATS_CFG with proper pdev mask to firmware + - bpftool: Fix memory leak in prog_dump() + - mtd: hyperbus: rpc-if: Check return value of rpcif_sw_init() + - media: videobuf2: Fix the size printk format + - media: atomisp: add missing media_device_cleanup() in + atomisp_unregister_entities() + - media: atomisp: fix punit_ddr_dvfs_enable() argument for mrfld_power up case + - media: atomisp: fix inverted logic in buffers_needed() + - media: atomisp: do not use err var when checking port validity for ISP2400 + - media: atomisp: fix inverted error check for + ia_css_mipi_is_source_port_valid() + - media: atomisp: fix ifdefs in sh_css.c + - media: atomisp: add NULL check for asd obtained from atomisp_video_pipe + - media: atomisp: fix enum formats logic + - media: atomisp: fix uninitialized bug in gmin_get_pmic_id_and_addr() + - media: aspeed: fix mode-detect always time out at 2nd run + - media: em28xx: fix memory leak in em28xx_init_dev + - media: aspeed: Update signal status immediately to ensure sane hw state + - arm64: dts: amlogic: meson-g12: Fix GPU operating point table node name + - arm64: dts: amlogic: Fix SPI NOR flash node name for ODROID N2/N2+ + - arm64: dts: meson-gxbb-wetek: fix HDMI in early boot + - arm64: dts: meson-gxbb-wetek: fix missing GPIO binding + - fs: dlm: don't call kernel_getpeername() in error_report() + - memory: renesas-rpc-if: Return error in case devm_ioremap_resource() fails + - Bluetooth: stop proccessing malicious adv data + - ath11k: Fix ETSI regd with weather radar overlap + - ath11k: clear the keys properly via DISABLE_KEY + - ath11k: reset RSN/WPA present state for open BSS + - spi: hisi-kunpeng: Fix the debugfs directory name incorrect + - tee: fix put order in teedev_close_context() + - fs: dlm: fix build with CONFIG_IPV6 disabled + - drm/dp: Don't read back backlight mode in drm_edp_backlight_enable() + - drm/vboxvideo: fix a NULL vs IS_ERR() check + - arm64: dts: renesas: cat875: Add rx/tx delays + - media: dmxdev: fix UAF when dvb_register_device() fails + - crypto: atmel-aes - Reestablish the correct tfm context at dequeue + - crypto: qce - fix uaf on qce_aead_register_one + - crypto: qce - fix uaf on qce_ahash_register_one + - crypto: qce - fix uaf on qce_skcipher_register_one + - arm64: dts: qcom: sc7280: Fix incorrect clock name + - mtd: hyperbus: rpc-if: fix bug in rpcif_hb_remove + - cpufreq: qcom-cpufreq-hw: Update offline CPUs per-cpu thermal pressure + - cpufreq: qcom-hw: Fix probable nested interrupt handling + - ARM: dts: stm32: fix dtbs_check warning on ili9341 dts binding on stm32f429 + disco + - libbpf: Fix potential misaligned memory access in btf_ext__new() + - libbpf: Fix glob_syms memory leak in bpf_linker + - libbpf: Fix using invalidated memory in bpf_linker + - crypto: qat - remove unnecessary collision prevention step in PFVF + - crypto: qat - make pfvf send message direction agnostic + - crypto: qat - fix undetected PFVF timeout in ACK loop + - ath11k: Use host CE parameters for CE interrupts configuration + - arm64: dts: ti: k3-j721e: correct cache-sets info + - tty: serial: atmel: Check return code of dmaengine_submit() + - tty: serial: atmel: Call dma_async_issue_pending() + - mfd: atmel-flexcom: Remove #ifdef CONFIG_PM_SLEEP + - mfd: atmel-flexcom: Use .resume_noirq + - bfq: Do not let waker requests skip proper accounting + - libbpf: Silence uninitialized warning/error in btf_dump_dump_type_data + - media: i2c: imx274: fix s_frame_interval runtime resume not requested + - media: i2c: Re-order runtime pm initialisation + - media: i2c: ov8865: Fix lockdep error + - media: rcar-csi2: Correct the selection of hsfreqrange + - media: imx-pxp: Initialize the spinlock prior to using it + - media: si470x-i2c: fix possible memory leak in si470x_i2c_probe() + - media: mtk-vcodec: call v4l2_m2m_ctx_release first when file is released + - media: hantro: Hook up RK3399 JPEG encoder output + - media: coda: fix CODA960 JPEG encoder buffer overflow + - media: venus: correct low power frequency calculation for encoder + - media: venus: core: Fix a potential NULL pointer dereference in an error + handling path + - media: venus: core: Fix a resource leak in the error handling path of + 'venus_probe()' + - net: stmmac: Add platform level debug register dump feature + - thermal/drivers/imx: Implement runtime PM support + - igc: AF_XDP zero-copy metadata adjust breaks SKBs on XDP_PASS + - netfilter: bridge: add support for pppoe filtering + - powerpc: Avoid discarding flags in system_call_exception() + - arm64: dts: qcom: msm8916: fix MMC controller aliases + - drm/vmwgfx: Remove the deprecated lower mem limit + - drm/vmwgfx: Fail to initialize on broken configs + - cgroup: Trace event cgroup id fields should be u64 + - ACPI: EC: Rework flushing of EC work while suspended to idle + - thermal/drivers/imx8mm: Enable ADC when enabling monitor + - drm/amdgpu: Fix a NULL pointer dereference in + amdgpu_connector_lcd_native_mode() + - drm/radeon/radeon_kms: Fix a NULL pointer dereference in + radeon_driver_open_kms() + - libbpf: Clean gen_loader's attach kind. + - crypto: caam - save caam memory to support crypto engine retry mechanism. + - arm64: dts: ti: k3-am642: Fix the L2 cache sets + - arm64: dts: ti: k3-j7200: Fix the L2 cache sets + - arm64: dts: ti: k3-j721e: Fix the L2 cache sets + - arm64: dts: ti: k3-j7200: Correct the d-cache-sets info + - tty: serial: uartlite: allow 64 bit address + - serial: amba-pl011: do not request memory region twice + - mtd: core: provide unique name for nvmem device + - floppy: Fix hang in watchdog when disk is ejected + - staging: rtl8192e: return error code from rtllib_softmac_init() + - staging: rtl8192e: rtllib_module: fix error handle case in alloc_rtllib() + - Bluetooth: btmtksdio: fix resume failure + - bpf: Fix the test_task_vma selftest to support output shorter than 1 kB + - sched/fair: Fix detection of per-CPU kthreads waking a task + - sched/fair: Fix per-CPU kthread and wakee stacking for asym CPU capacity + - bpf: Adjust BTF log size limit. + - bpf: Disallow BPF_LOG_KERNEL log level for bpf(BPF_BTF_LOAD) + - bpf: Remove config check to enable bpf support for branch records + - arm64: clear_page() shouldn't use DC ZVA when DCZID_EL0.DZP == 1 + - arm64: mte: DC {GVA,GZVA} shouldn't be used when DCZID_EL0.DZP == 1 + - samples/bpf: Install libbpf headers when building + - samples/bpf: Clean up samples/bpf build failes + - samples: bpf: Fix xdp_sample_user.o linking with Clang + - samples: bpf: Fix 'unknown warning group' build warning on Clang + - media: dib8000: Fix a memleak in dib8000_init() + - media: saa7146: mxb: Fix a NULL pointer dereference in mxb_attach() + - media: si2157: Fix "warm" tuner state detection + - wireless: iwlwifi: Fix a double free in iwl_txq_dyn_alloc_dma + - sched/rt: Try to restart rt period timer when rt runtime exceeded + - ath10k: Fix the MTU size on QCA9377 SDIO + - Bluetooth: refactor set_exp_feature with a feature table + - Bluetooth: MGMT: Use hci_dev_test_and_{set,clear}_flag + - drm/amd/display: Fix bug in debugfs crc_win_update entry + - drm/msm/gpu: Don't allow zero fence_id + - drm/msm/dp: displayPort driver need algorithm rational + - rcu/exp: Mark current CPU as exp-QS in IPI loop second pass + - wcn36xx: Fix max channels retrieval + - drm/msm/dsi: fix initialization in the bonded DSI case + - mwifiex: Fix possible ABBA deadlock + - xfrm: fix a small bug in xfrm_sa_len() + - x86/uaccess: Move variable into switch case statement + - selftests: clone3: clone3: add case CLONE3_ARGS_NO_TEST + - selftests: harness: avoid false negatives if test has no ASSERTs + - crypto: stm32/cryp - fix CTR counter carry + - crypto: stm32/cryp - fix xts and race condition in crypto_engine requests + - crypto: stm32/cryp - check early input data + - crypto: stm32/cryp - fix double pm exit + - crypto: stm32/cryp - fix lrw chaining mode + - crypto: stm32/cryp - fix bugs and crash in tests + - crypto: stm32 - Revert broken pm_runtime_resume_and_get changes + - crypto: hisilicon/qm - fix incorrect return value of hisi_qm_resume() + - ath11k: Fix deleting uninitialized kernel timer during fragment cache flush + - spi: Fix incorrect cs_setup delay handling + - ARM: dts: gemini: NAS4220-B: fis-index-block with 128 KiB sectors + - perf/arm-cmn: Fix CPU hotplug unregistration + - media: dw2102: Fix use after free + - media: msi001: fix possible null-ptr-deref in msi001_probe() + - media: coda/imx-vdoa: Handle dma_set_coherent_mask error codes + - ath11k: Fix a NULL pointer dereference in ath11k_mac_op_hw_scan() + - net: dsa: hellcreek: Fix insertion of static FDB entries + - net: dsa: hellcreek: Add STP forwarding rule + - net: dsa: hellcreek: Allow PTP P2P measurements on blocked ports + - net: dsa: hellcreek: Add missing PTP via UDP rules + - arm64: dts: qcom: c630: Fix soundcard setup + - arm64: dts: qcom: ipq6018: Fix gpio-ranges property + - drm/msm/dpu: fix safe status debugfs file + - drm/bridge: ti-sn65dsi86: Set max register for regmap + - gpu: host1x: select CONFIG_DMA_SHARED_BUFFER + - drm/tegra: gr2d: Explicitly control module reset + - drm/tegra: vic: Fix DMA API misuse + - media: hantro: Fix probe func error path + - xfrm: interface with if_id 0 should return error + - xfrm: state and policy should fail if XFRMA_IF_ID 0 + - ARM: 9159/1: decompressor: Avoid UNPREDICTABLE NOP encoding + - usb: ftdi-elan: fix memory leak on device disconnect + - arm64: dts: marvell: cn9130: add GPIO and SPI aliases + - arm64: dts: marvell: cn9130: enable CP0 GPIO controllers + - ARM: dts: armada-38x: Add generic compatible to UART nodes + - mt76: mt7921: drop offload_flags overwritten + - wilc1000: fix double free error in probe() + - rtw88: add quirk to disable pci caps on HP 250 G7 Notebook PC + - iwlwifi: mvm: fix 32-bit build in FTM + - iwlwifi: mvm: test roc running status bits before removing the sta + - iwlwifi: mvm: perform 6GHz passive scan after suspend + - iwlwifi: mvm: set protected flag only for NDP ranging + - mmc: meson-mx-sdhc: add IRQ check + - mmc: meson-mx-sdio: add IRQ check + - block: fix error unwinding in device_add_disk + - selinux: fix potential memleak in selinux_add_opt() + - um: fix ndelay/udelay defines + - um: rename set_signals() to um_set_signals() + - um: virt-pci: Fix 32-bit compile + - lib/logic_iomem: Fix 32-bit build + - lib/logic_iomem: Fix operation on 32-bit + - um: virtio_uml: Fix time-travel external time propagation + - Bluetooth: L2CAP: Fix using wrong mode + - bpftool: Enable line buffering for stdout + - backlight: qcom-wled: Validate enabled string indices in DT + - backlight: qcom-wled: Pass number of elements to read to read_u32_array + - backlight: qcom-wled: Fix off-by-one maximum with default num_strings + - backlight: qcom-wled: Override default length with qcom,enabled-strings + - backlight: qcom-wled: Use cpu_to_le16 macro to perform conversion + - backlight: qcom-wled: Respect enabled-strings in set_brightness + - software node: fix wrong node passed to find nargs_prop + - Bluetooth: hci_qca: Stop IBS timer during BT OFF + - x86/boot/compressed: Move CLANG_FLAGS to beginning of KBUILD_CFLAGS + - crypto: octeontx2 - prevent underflow in get_cores_bmap() + - regulator: qcom-labibb: OCP interrupts are not a failure while disabled + - hwmon: (mr75203) fix wrong power-up delay value + - x86/mce/inject: Avoid out-of-bounds write when setting flags + - io_uring: remove double poll on poll update + - serial: 8250_bcm7271: Propagate error codes from brcmuart_probe() + - ACPI: scan: Create platform device for BCM4752 and LNV4752 ACPI nodes + - pcmcia: rsrc_nonstatic: Fix a NULL pointer dereference in + __nonstatic_find_io_region() + - pcmcia: rsrc_nonstatic: Fix a NULL pointer dereference in + nonstatic_find_mem_region() + - power: reset: mt6397: Check for null res pointer + - net/xfrm: IPsec tunnel mode fix inner_ipproto setting in sec_path + - net: ethernet: mtk_eth_soc: fix return values and refactor MDIO ops + - net: dsa: fix incorrect function pointer check for MRP ring roles + - netfilter: ipt_CLUSTERIP: fix refcount leak in clusterip_tg_check() + - bpf, sockmap: Fix return codes from tcp_bpf_recvmsg_parser() + - bpf, sockmap: Fix double bpf_prog_put on error case in map_link + - bpf: Don't promote bogus looking registers after null check. + - bpf: Fix verifier support for validation of async callbacks + - bpf: Fix SO_RCVBUF/SO_SNDBUF handling in _bpf_setsockopt(). + - netfilter: nft_payload: do not update layer 4 checksum when mangling + fragments + - netfilter: nft_set_pipapo: allocate pcpu scratch maps on clone + - net: fix SOF_TIMESTAMPING_BIND_PHC to work with multiple sockets + - ppp: ensure minimum packet size in ppp_write() + - rocker: fix a sleeping in atomic bug + - staging: greybus: audio: Check null pointer + - fsl/fman: Check for null pointer after calling devm_ioremap + - Bluetooth: hci_bcm: Check for error irq + - Bluetooth: hci_qca: Fix NULL vs IS_ERR_OR_NULL check in qca_serdev_probe + - net/smc: Reset conn->lgr when link group registration fails + - usb: dwc3: qcom: Fix NULL vs IS_ERR checking in dwc3_qcom_probe + - usb: dwc2: do not gate off the hardware if it does not support clock gating + - usb: dwc2: gadget: initialize max_speed from params + - usb: gadget: u_audio: Subdevice 0 for capture ctls + - HID: hid-uclogic-params: Invalid parameter check in uclogic_params_init + - HID: hid-uclogic-params: Invalid parameter check in + uclogic_params_get_str_desc + - HID: hid-uclogic-params: Invalid parameter check in + uclogic_params_huion_init + - HID: hid-uclogic-params: Invalid parameter check in + uclogic_params_frame_init_v1_buttonpad + - debugfs: lockdown: Allow reading debugfs files that are not world readable + - drivers/firmware: Add missing platform_device_put() in sysfb_create_simplefb + - serial: liteuart: fix MODULE_ALIAS + - serial: stm32: move tx dma terminate DMA to shutdown + - x86, sched: Fix undefined reference to init_freq_invariance_cppc() build + error + - net/mlx5e: Fix page DMA map/unmap attributes + - net/mlx5e: Fix wrong usage of fib_info_nh when routes with nexthop objects + are used + - net/mlx5e: Don't block routes with nexthop objects in SW + - Revert "net/mlx5e: Block offload of outer header csum for UDP tunnels" + - Revert "net/mlx5e: Block offload of outer header csum for GRE tunnel" + - net/mlx5e: Fix matching on modified inner ip_ecn bits + - net/mlx5: Fix access to sf_dev_table on allocation failure + - net/mlx5e: Sync VXLAN udp ports during uplink representor profile change + - net/mlx5: Set command entry semaphore up once got index free + - lib/mpi: Add the return value check of kcalloc() + - Bluetooth: L2CAP: uninitialized variables in l2cap_sock_setsockopt() + - mptcp: fix per socket endpoint accounting + - mptcp: fix opt size when sending DSS + MP_FAIL + - mptcp: fix a DSS option writing error + - spi: spi-meson-spifc: Add missing pm_runtime_disable() in meson_spifc_probe + - octeontx2-af: Increment ptp refcount before use + - ax25: uninitialized variable in ax25_setsockopt() + - netrom: fix api breakage in nr_setsockopt() + - regmap: Call regmap_debugfs_exit() prior to _init() + - net: mscc: ocelot: fix incorrect balancing with down LAG ports + - can: mcp251xfd: add missing newline to printed strings + - tpm: add request_locality before write TPM_INT_ENABLE + - tpm_tis: Fix an error handling path in 'tpm_tis_core_init()' + - can: softing: softing_startstop(): fix set but not used variable warning + - can: xilinx_can: xcan_probe(): check for error irq + - can: rcar_canfd: rcar_canfd_channel_probe(): make sure we free CAN network + device + - pcmcia: fix setting of kthread task states + - net/sched: flow_dissector: Fix matching on zone id for invalid conns + - net: openvswitch: Fix matching zone id for invalid conns arriving from tc + - net: openvswitch: Fix ct_state nat flags for conns arriving from tc + - iwlwifi: mvm: Use div_s64 instead of do_div in iwl_mvm_ftm_rtt_smoothing() + - bnxt_en: Refactor coredump functions + - bnxt_en: move coredump functions into dedicated file + - bnxt_en: use firmware provided max timeout for messages + - net: mcs7830: handle usb read errors properly + - ext4: avoid trim error on fs with small groups + - ASoC: Intel: sof_sdw: fix jack detection on HP Spectre x360 convertible + - ALSA: jack: Add missing rwsem around snd_ctl_remove() calls + - ALSA: PCM: Add missing rwsem around snd_ctl_remove() calls + - ALSA: hda: Add missing rwsem around snd_ctl_remove() calls + - ALSA: hda: Fix potential deadlock at codec unbinding + - RDMA/bnxt_re: Scan the whole bitmap when checking if "disabling RCFW with + pending cmd-bit" + - RDMA/hns: Validate the pkey index + - scsi: pm80xx: Update WARN_ON check in pm8001_mpi_build_cmd() + - clk: renesas: rzg2l: Check return value of pm_genpd_init() + - clk: renesas: rzg2l: propagate return value of_genpd_add_provider_simple() + - clk: imx8mn: Fix imx8mn_clko1_sels + - powerpc/prom_init: Fix improper check of prom_getprop() + - ASoC: uniphier: drop selecting non-existing SND_SOC_UNIPHIER_AIO_DMA + - ASoC: codecs: wcd938x: add SND_SOC_WCD938_SDW to codec list instead + - RDMA/rtrs-clt: Fix the initial value of min_latency + - ALSA: hda: Make proper use of timecounter + - dt-bindings: thermal: Fix definition of cooling-maps contribution property + - powerpc/perf: Fix PMU callbacks to clear pending PMI before resetting an + overflown PMC + - powerpc/modules: Don't WARN on first module allocation attempt + - powerpc/32s: Fix shift-out-of-bounds in KASAN init + - clocksource: Avoid accidental unstable marking of clocksources + - ALSA: oss: fix compile error when OSS_DEBUG is enabled + - ALSA: usb-audio: Drop superfluous '0' in Presonus Studio 1810c's ID + - misc: at25: Make driver OF independent again + - char/mwave: Adjust io port register size + - binder: fix handling of error during copy + - binder: avoid potential data leakage when copying txn + - openrisc: Add clone3 ABI wrapper + - iommu: Extend mutex lock scope in iommu_probe_device() + - iommu/io-pgtable-arm: Fix table descriptor paddr formatting + - scsi: core: Fix scsi_device_max_queue_depth() + - scsi: ufs: Fix race conditions related to driver data + - RDMA/qedr: Fix reporting max_{send/recv}_wr attrs + - PCI/MSI: Fix pci_irq_vector()/pci_irq_get_affinity() + - powerpc/powermac: Add additional missing lockdep_register_key() + - iommu/arm-smmu-qcom: Fix TTBR0 read + - RDMA/core: Let ib_find_gid() continue search even after empty entry + - RDMA/cma: Let cma_resolve_ib_dev() continue search even after empty entry + - ASoC: rt5663: Handle device_property_read_u32_array error codes + - of: unittest: fix warning on PowerPC frame size warning + - of: unittest: 64 bit dma address test requires arch support + - clk: stm32: Fix ltdc's clock turn off by clk_disable_unused() after system + enter shell + - mips: add SYS_HAS_CPU_MIPS64_R5 config for MIPS Release 5 support + - mips: fix Kconfig reference to PHYS_ADDR_T_64BIT + - dmaengine: pxa/mmp: stop referencing config->slave_id + - iommu/amd: Restore GA log/tail pointer on host resume + - iommu/amd: X2apic mode: re-enable after resume + - iommu/amd: X2apic mode: setup the INTX registers on mask/unmask + - iommu/amd: X2apic mode: mask/unmask interrupts on suspend/resume + - iommu/amd: Remove useless irq affinity notifier + - ASoC: Intel: catpt: Test dmaengine_submit() result before moving on + - iommu/iova: Fix race between FQ timeout and teardown + - ASoC: mediatek: mt8195: correct default value + - of: fdt: Aggregate the processing of "linux,usable-memory-range" + - efi: apply memblock cap after memblock_add() + - scsi: block: pm: Always set request queue runtime active in + blk_post_runtime_resume() + - phy: uniphier-usb3ss: fix unintended writing zeros to PHY register + - ASoC: mediatek: Check for error clk pointer + - powerpc/64s: Mask NIP before checking against SRR0 + - powerpc/64s: Use EMIT_WARN_ENTRY for SRR debug warnings + - phy: cadence: Sierra: Fix to get correct parent for mux clocks + - ASoC: samsung: idma: Check of ioremap return value + - misc: lattice-ecp3-config: Fix task hung when firmware load failed + - ASoC: mediatek: mt8195: correct pcmif BE dai control flow + - arm64: tegra: Remove non existent Tegra194 reset + - mips: lantiq: add support for clk_set_parent() + - mips: bcm63xx: add support for clk_set_parent() + - powerpc/xive: Add missing null check after calling kmalloc + - ASoC: fsl_mqs: fix MODULE_ALIAS + - ALSA: hda/cs8409: Increase delay during jack detection + - ALSA: hda/cs8409: Fix Jack detection after resume + - RDMA/cxgb4: Set queue pair state when being queried + - clk: qcom: gcc-sc7280: Mark gcc_cfg_noc_lpass_clk always enabled + - ASoC: imx-card: Need special setting for ak4497 on i.MX8MQ + - ASoC: imx-card: Fix mclk calculation issue for akcodec + - ASoC: imx-card: improve the sound quality for low rate + - ASoC: fsl_asrc: refine the check of available clock divider + - clk: bm1880: remove kfrees on static allocations + - of: base: Fix phandle argument length mismatch error message + - of/fdt: Don't worry about non-memory region overlap for no-map + - MIPS: boot/compressed/: add __ashldi3 to target for ZSTD compression + - MIPS: compressed: Fix build with ZSTD compression + - mailbox: fix gce_num of mt8192 driver data + - ARM: dts: omap3-n900: Fix lp5523 for multi color + - leds: lp55xx: initialise output direction from dts + - Bluetooth: Fix debugfs entry leak in hci_register_dev() + - Bluetooth: Fix memory leak of hci device + - drm/panel: Delete panel on mipi_dsi_attach() failure + - Bluetooth: Fix removing adv when processing cmd complete + - fs: dlm: filter user dlm messages for kernel locks + - drm/lima: fix warning when CONFIG_DEBUG_SG=y & CONFIG_DMA_API_DEBUG=y + - selftests/bpf: Fix memory leaks in btf_type_c_dump() helper + - selftests/bpf: Destroy XDP link correctly + - selftests/bpf: Fix bpf_object leak in skb_ctx selftest + - ar5523: Fix null-ptr-deref with unexpected WDCMSG_TARGET_START reply + - drm/bridge: dw-hdmi: handle ELD when DRM_BRIDGE_ATTACH_NO_CONNECTOR + - drm/nouveau/pmu/gm200-: avoid touching PMU outside of DEVINIT/PREOS/ACR + - media: atomisp: fix try_fmt logic + - media: atomisp: set per-device's default mode + - media: atomisp-ov2680: Fix ov2680_set_fmt() clobbering the exposure + - media: atomisp: check before deference asd variable + - ARM: shmobile: rcar-gen2: Add missing of_node_put() + - batman-adv: allow netlink usage in unprivileged containers + - media: atomisp: handle errors at sh_css_create_isp_params() + - ath11k: Fix crash caused by uninitialized TX ring + - usb: dwc3: meson-g12a: fix shared reset control use + - USB: ehci_brcm_hub_control: Improve port index sanitizing + - usb: gadget: f_fs: Use stream_open() for endpoint files + - psi: Fix PSI_MEM_FULL state when tasks are in memstall and doing reclaim + - drm: panel-orientation-quirks: Add quirk for the Lenovo Yoga Book X91F/L + - HID: magicmouse: Report battery level over USB + - HID: apple: Do not reset quirks when the Fn key is not found + - media: b2c2: Add missing check in flexcop_pci_isr: + - libbpf: Accommodate DWARF/compiler bug with duplicated structs + - ethernet: renesas: Use div64_ul instead of do_div + - EDAC/synopsys: Use the quirk for version instead of ddr version + - arm64: dts: qcom: sm8350: Shorten camera-thermal-bottom name + - soc: imx: gpcv2: Synchronously suspend MIX domains + - ARM: imx: rename DEBUG_IMX21_IMX27_UART to DEBUG_IMX27_UART + - drm/amd/display: check top_pipe_to_program pointer + - drm/amdgpu/display: set vblank_disable_immediate for DC + - soc: ti: pruss: fix referenced node in error message + - mlxsw: pci: Add shutdown method in PCI driver + - drm/amd/display: add else to avoid double destroy clk_mgr + - drm/bridge: megachips: Ensure both bridges are probed before registration + - mxser: keep only !tty test in ISR + - tty: serial: imx: disable UCR4_OREN in .stop_rx() instead of .shutdown() + - gpiolib: acpi: Do not set the IRQ type if the IRQ is already in use + - HSI: core: Fix return freed object in hsi_new_client + - crypto: jitter - consider 32 LSB for APT + - mwifiex: Fix skb_over_panic in mwifiex_usb_recv() + - rsi: Fix use-after-free in rsi_rx_done_handler() + - rsi: Fix out-of-bounds read in rsi_read_pkt() + - ath11k: Avoid NULL ptr access during mgmt tx cleanup + - media: venus: avoid calling core_clk_setrate() concurrently during + concurrent video sessions + - regulator: da9121: Prevent current limit change when enabled + - drm/vmwgfx: Release ttm memory if probe fails + - drm/vmwgfx: Introduce a new placement for MOB page tables + - ACPI / x86: Drop PWM2 device on Lenovo Yoga Book from always present table + - ACPI: Change acpi_device_always_present() into acpi_device_override_status() + - ACPI / x86: Allow specifying acpi_device_override_status() quirks by path + - ACPI / x86: Add not-present quirk for the PCI0.SDHB.BRC1 device on the GPD + win + - arm64: dts: ti: j7200-main: Fix 'dtbs_check' serdes_ln_ctrl node + - arm64: dts: ti: j721e-main: Fix 'dtbs_check' in serdes_ln_ctrl node + - usb: uhci: add aspeed ast2600 uhci support + - floppy: Add max size check for user space request + - x86/mm: Flush global TLB when switching to trampoline page-table + - drm: rcar-du: Fix CRTC timings when CMM is used + - media: uvcvideo: Increase UVC_CTRL_CONTROL_TIMEOUT to 5 seconds. + - media: rcar-vin: Update format alignment constraints + - media: saa7146: hexium_orion: Fix a NULL pointer dereference in + hexium_attach() + - media: atomisp: fix "variable dereferenced before check 'asd'" + - media: m920x: don't use stack on USB reads + - thunderbolt: Runtime PM activate both ends of the device link + - arm64: dts: renesas: Fix thermal bindings + - iwlwifi: mvm: synchronize with FW after multicast commands + - iwlwifi: mvm: avoid clearing a just saved session protection id + - rcutorture: Avoid soft lockup during cpu stall + - ath11k: avoid deadlock by change ieee80211_queue_work for regd_update_work + - ath10k: Fix tx hanging + - net-sysfs: update the queue counts in the unregistration path + - net: phy: prefer 1000baseT over 1000baseKX + - gpio: aspeed: Convert aspeed_gpio.lock to raw_spinlock + - gpio: aspeed-sgpio: Convert aspeed_sgpio.lock to raw_spinlock + - selftests/ftrace: make kprobe profile testcase description unique + - ath11k: Avoid false DEADLOCK warning reported by lockdep + - ARM: dts: qcom: sdx55: fix IPA interconnect definitions + - x86/mce: Allow instrumentation during task work queueing + - x86/mce: Mark mce_panic() noinstr + - x86/mce: Mark mce_end() noinstr + - x86/mce: Mark mce_read_aux() noinstr + - net: bonding: debug: avoid printing debug logs when bond is not notifying + peers + - kunit: Don't crash if no parameters are generated + - bpf: Do not WARN in bpf_warn_invalid_xdp_action() + - drm/amdkfd: Fix error handling in svm_range_add + - HID: quirks: Allow inverting the absolute X/Y values + - HID: i2c-hid-of: Expose the touchscreen-inverted properties + - media: igorplugusb: receiver overflow should be reported + - media: rockchip: rkisp1: use device name for debugfs subdir name + - media: saa7146: hexium_gemini: Fix a NULL pointer dereference in + hexium_attach() + - mmc: tmio: reinit card irqs in reset routine + - mmc: core: Fixup storing of OCR for MMC_QUIRK_NONSTD_SDIO + - drm/amd/amdgpu: fix psp tmr bo pin count leak in SRIOV + - drm/amd/amdgpu: fix gmc bo pin count leak in SRIOV + - audit: ensure userspace is penalized the same as the kernel when under + pressure + - arm64: dts: ls1028a-qds: move rtc node to the correct i2c bus + - arm64: tegra: Adjust length of CCPLEX cluster MMIO region + - crypto: ccp - Move SEV_INIT retry for corrupted data + - crypto: hisilicon/hpre - fix memory leak in hpre_curve25519_src_init() + - PM: runtime: Add safety net to supplier device release + - cpufreq: Fix initialization of min and max frequency QoS requests + - mt76: mt7615: fix possible deadlock while mt7615_register_ext_phy() + - mt76: do not pass the received frame with decryption error + - mt76: mt7615: improve wmm index allocation + - ath9k_htc: fix NULL pointer dereference at ath9k_htc_rxep() + - ath9k_htc: fix NULL pointer dereference at ath9k_htc_tx_get_packet() + - ath9k: Fix out-of-bound memcpy in ath9k_hif_usb_rx_stream + - rtw88: 8822c: update rx settings to prevent potential hw deadlock + - PM: AVS: qcom-cpr: Use div64_ul instead of do_div + - iwlwifi: fix leaks/bad data after failed firmware load + - iwlwifi: remove module loading failure message + - iwlwifi: mvm: Fix calculation of frame length + - iwlwifi: mvm: fix AUX ROC removal + - iwlwifi: pcie: make sure prph_info is set when treating wakeup IRQ + - mmc: sdhci-pci-gli: GL9755: Support for CD/WP inversion on OF platforms + - block: check minor range in device_add_disk() + - um: registers: Rename function names to avoid conflicts and build problems + - ath11k: Fix napi related hang + - Bluetooth: btintel: Add missing quirks and msft ext for legacy bootloader + - Bluetooth: vhci: Set HCI_QUIRK_VALID_LE_STATES + - xfrm: rate limit SA mapping change message to user space + - drm/etnaviv: consider completed fence seqno in hang check + - jffs2: GC deadlock reading a page that is used in jffs2_write_begin() + - ACPICA: actypes.h: Expand the ACPI_ACCESS_ definitions + - ACPICA: Utilities: Avoid deleting the same object twice in a row + - ACPICA: Executer: Fix the REFCLASS_REFOF case in acpi_ex_opcode_1A_0T_1R() + - ACPICA: Fix wrong interpretation of PCC address + - ACPICA: Hardware: Do not flush CPU cache when entering S4 and S5 + - mmc: mtk-sd: Use readl_poll_timeout instead of open-coded polling + - drm/amdgpu: fixup bad vram size on gmc v8 + - amdgpu/pm: Make sysfs pm attributes as read-only for VFs + - ACPI: battery: Add the ThinkPad "Not Charging" quirk + - ACPI: CPPC: Check present CPUs for determining _CPC is valid + - btrfs: remove BUG_ON() in find_parent_nodes() + - btrfs: remove BUG_ON(!eie) in find_parent_nodes + - net: mdio: Demote probed message to debug print + - mac80211: allow non-standard VHT MCS-10/11 + - dm btree: add a defensive bounds check to insert_at() + - dm space map common: add bounds check to sm_ll_lookup_bitmap() + - bpf/selftests: Fix namespace mount setup in tc_redirect + - mlxsw: pci: Avoid flow control for EMAD packets + - net: phy: marvell: configure RGMII delays for 88E1118 + - net: gemini: allow any RGMII interface mode + - regulator: qcom_smd: Align probe function with rpmh-regulator + - serial: pl010: Drop CR register reset on set_termios + - serial: pl011: Drop CR register reset on set_termios + - serial: core: Keep mctrl register state and cached copy in sync + - random: do not throw away excess input to crng_fast_load + - net/mlx5: Update log_max_qp value to FW max capability + - net/mlx5e: Unblock setting vid 0 for VF in case PF isn't eswitch manager + - parisc: Avoid calling faulthandler_disabled() twice + - can: flexcan: allow to change quirks at runtime + - can: flexcan: rename RX modes + - can: flexcan: add more quirks to describe RX path capabilities + - x86/kbuild: Enable CONFIG_KALLSYMS_ALL=y in the defconfigs + - powerpc/6xx: add missing of_node_put + - powerpc/powernv: add missing of_node_put + - powerpc/cell: add missing of_node_put + - powerpc/btext: add missing of_node_put + - powerpc/watchdog: Fix missed watchdog reset due to memory ordering race + - ASoC: imx-hdmi: add put_device() after of_find_device_by_node() + - i2c: i801: Don't silently correct invalid transfer size + - powerpc/smp: Move setup_profiling_timer() under CONFIG_PROFILING + - i2c: mpc: Correct I2C reset procedure + - clk: meson: gxbb: Fix the SDM_EN bit for MPLL0 on GXBB + - powerpc/powermac: Add missing lockdep_register_key() + - KVM: PPC: Book3S: Suppress warnings when allocating too big memory slots + - KVM: PPC: Book3S: Suppress failed alloc warning in H_COPY_TOFROM_GUEST + - w1: Misuse of get_user()/put_user() reported by sparse + - nvmem: core: set size for sysfs bin file + - dm: fix alloc_dax error handling in alloc_dev + - interconnect: qcom: rpm: Prevent integer overflow in rate + - scsi: ufs: Fix a kernel crash during shutdown + - scsi: lpfc: Fix leaked lpfc_dmabuf mbox allocations with NPIV + - scsi: lpfc: Trigger SLI4 firmware dump before doing driver cleanup + - ALSA: seq: Set upper limit of processed events + - MIPS: Loongson64: Use three arguments for slti + - powerpc/40x: Map 32Mbytes of memory at startup + - selftests/powerpc/spectre_v2: Return skip code when miss_percent is high + - powerpc: handle kdump appropriately with crash_kexec_post_notifiers option + - powerpc/fadump: Fix inaccurate CPU state info in vmcore generated with panic + - udf: Fix error handling in udf_new_inode() + - MIPS: OCTEON: add put_device() after of_find_device_by_node() + - irqchip/gic-v4: Disable redistributors' view of the VPE table at boot time + - i2c: designware-pci: Fix to change data types of hcnt and lcnt parameters + - selftests/powerpc: Add a test of sigreturning to the kernel + - MIPS: Octeon: Fix build errors using clang + - scsi: sr: Don't use GFP_DMA + - scsi: mpi3mr: Fixes around reply request queues + - ASoC: mediatek: mt8192-mt6359: fix device_node leak + - phy: phy-mtk-tphy: add support efuse setting + - ASoC: mediatek: mt8173: fix device_node leak + - ASoC: mediatek: mt8183: fix device_node leak + - habanalabs: skip read fw errors if dynamic descriptor invalid + - phy: mediatek: Fix missing check in mtk_mipi_tx_probe + - mailbox: change mailbox-mpfs compatible string + - seg6: export get_srh() for ICMP handling + - icmp: ICMPV6: Examine invoking packet for Segment Route Headers. + - udp6: Use Segment Routing Header for dest address if present + - rpmsg: core: Clean up resources on announce_create failure. + - ifcvf/vDPA: fix misuse virtio-net device config size for blk dev + - crypto: omap-aes - Fix broken pm_runtime_and_get() usage + - crypto: stm32/crc32 - Fix kernel BUG triggered in probe() + - crypto: caam - replace this_cpu_ptr with raw_cpu_ptr + - ubifs: Error path in ubifs_remount_rw() seems to wrongly free write buffers + - tpm: fix potential NULL pointer access in tpm_del_char_device + - tpm: fix NPE on probe for missing device + - mfd: tps65910: Set PWR_OFF bit during driver probe + - spi: uniphier: Fix a bug that doesn't point to private data correctly + - xen/gntdev: fix unmap notification order + - md: Move alloc/free acct bioset in to personality + - HID: magicmouse: Fix an error handling path in magicmouse_probe() + - fuse: Pass correct lend value to filemap_write_and_wait_range() + - serial: Fix incorrect rs485 polarity on uart open + - cputime, cpuacct: Include guest time in user time in cpuacct.stat + - sched/cpuacct: Fix user/system in shown cpuacct.usage* + - tracing/kprobes: 'nmissed' not showed correctly for kretprobe + - tracing: Have syscall trace events use trace_event_buffer_lock_reserve() + - remoteproc: imx_rproc: Fix a resource leak in the remove function + - iwlwifi: mvm: Increase the scan timeout guard to 30 seconds + - s390/mm: fix 2KB pgtable release race + - device property: Fix fwnode_graph_devcon_match() fwnode leak + - drm/tegra: submit: Add missing pm_runtime_mark_last_busy() + - drm/etnaviv: limit submit sizes + - drm/amd/display: Fix the uninitialized variable in enable_stream_features() + - drm/nouveau/kms/nv04: use vzalloc for nv04_display + - drm/bridge: analogix_dp: Make PSR-exit block less + - parisc: Fix lpa and lpa_user defines + - powerpc/64s/radix: Fix huge vmap false positive + - scsi: lpfc: Fix lpfc_force_rscn ndlp kref imbalance + - drm/amdgpu: don't do resets on APUs which don't support it + - drm/i915/display/ehl: Update voltage swing table + - PCI: xgene: Fix IB window setup + - PCI: pciehp: Use down_read/write_nested(reset_lock) to fix lockdep errors + - PCI: pci-bridge-emul: Make expansion ROM Base Address register read-only + - PCI: pci-bridge-emul: Properly mark reserved PCIe bits in PCI config space + - PCI: pci-bridge-emul: Fix definitions of reserved bits + - PCI: pci-bridge-emul: Correctly set PCIe capabilities + - PCI: pci-bridge-emul: Set PCI_STATUS_CAP_LIST for PCIe device + - xfrm: fix policy lookup for ipv6 gre packets + - xfrm: fix dflt policy check when there is no policy configured + - btrfs: fix deadlock between quota enable and other quota operations + - btrfs: check the root node for uptodate before returning it + - btrfs: respect the max size in the header when activating swap file + - ext4: make sure to reset inode lockdep class when quota enabling fails + - ext4: make sure quota gets properly shutdown on error + - ext4: fix a possible ABBA deadlock due to busy PA + - ext4: initialize err_blk before calling __ext4_get_inode_loc + - ext4: fix fast commit may miss tracking range for FALLOC_FL_ZERO_RANGE + - ext4: set csum seed in tmp inode while migrating to extents + - ext4: Fix BUG_ON in ext4_bread when write quota data + - ext4: use ext4_ext_remove_space() for fast commit replay delete range + - ext4: fast commit may miss tracking unwritten range during ftruncate + - ext4: destroy ext4_fc_dentry_cachep kmemcache on module removal + - ext4: fix null-ptr-deref in '__ext4_journal_ensure_credits' + - ext4: fix an use-after-free issue about data=journal writeback mode + - ext4: don't use the orphan list when migrating an inode + - tracing/osnoise: Properly unhook events if start_per_cpu_kthreads() fails + - ath11k: qmi: avoid error messages when dma allocation fails + - drm/radeon: fix error handling in radeon_driver_open_kms + - of: base: Improve argument length mismatch error + - firmware: Update Kconfig help text for Google firmware + - can: mcp251xfd: mcp251xfd_tef_obj_read(): fix typo in error message + - media: rcar-csi2: Optimize the selection PHTW register + - drm/vc4: hdmi: Make sure the device is powered with CEC + - media: correct MEDIA_TEST_SUPPORT help text + - Documentation: coresight: Fix documentation issue + - Documentation: dmaengine: Correctly describe dmatest with channel unset + - Documentation: ACPI: Fix data node reference documentation + - Documentation, arch: Remove leftovers from raw device + - Documentation, arch: Remove leftovers from CIFS_WEAK_PW_HASH + - Documentation: refer to config RANDOMIZE_BASE for kernel address-space + randomization + - Documentation: fix firewire.rst ABI file path error + - net: usb: Correct reset handling of smsc95xx + - Bluetooth: hci_sync: Fix not setting adv set duration + - scsi: core: Show SCMD_LAST in text form + - scsi: ufs: ufs-mediatek: Fix error checking in ufs_mtk_init_va09_pwr_ctrl() + - RDMA/cma: Remove open coding of overflow checking for private_data_len + - dmaengine: uniphier-xdmac: Fix type of address variables + - dmaengine: idxd: fix wq settings post wq disable + - RDMA/hns: Modify the mapping attribute of doorbell to device + - RDMA/rxe: Fix a typo in opcode name + - dmaengine: stm32-mdma: fix STM32_MDMA_CTBR_TSEL_MASK + - Revert "net/mlx5: Add retry mechanism to the command entry index allocation" + - powerpc/cell: Fix clang -Wimplicit-fallthrough warning + - powerpc/fsl/dts: Enable WA for erratum A-009885 on fman3l MDIO buses + - block: fix async_depth sysfs interface for mq-deadline + - block: Fix fsync always failed if once failed + - drm/vc4: crtc: Drop feed_txp from state + - drm/vc4: Fix non-blocking commit getting stuck forever + - drm/vc4: crtc: Copy assigned channel to the CRTC + - bpftool: Remove inclusion of utilities.mak from Makefiles + - bpftool: Fix indent in option lists in the documentation + - xdp: check prog type before updating BPF link + - bpf: Fix mount source show for bpffs + - bpf: Mark PTR_TO_FUNC register initially with zero offset + - perf evsel: Override attr->sample_period for non-libpfm4 events + - ipv4: update fib_info_cnt under spinlock protection + - ipv4: avoid quadratic behavior in netns dismantle + - mlx5: Don't accidentally set RTO_ONLINK before mlx5e_route_lookup_ipv4_get() + - net/fsl: xgmac_mdio: Add workaround for erratum A-009885 + - net/fsl: xgmac_mdio: Fix incorrect iounmap when removing module + - parisc: pdc_stable: Fix memory leak in pdcs_register_pathentries + - riscv: dts: microchip: mpfs: Drop empty chosen node + - drm/vmwgfx: Remove explicit transparent hugepages support + - drm/vmwgfx: Remove unused compile options + - f2fs: fix remove page failed in invalidate compress pages + - f2fs: fix to avoid panic in is_alive() if metadata is inconsistent + - f2fs: compress: fix potential deadlock of compress file + - f2fs: fix to reserve space for IO align feature + - f2fs: fix to check available space of CP area correctly in + update_ckpt_flags() + - crypto: octeontx2 - uninitialized variable in kvf_limits_store() + - af_unix: annote lockless accesses to unix_tot_inflight & gc_in_progress + - clk: Emit a stern warning with writable debugfs enabled + - clk: si5341: Fix clock HW provider cleanup + - pinctrl/rockchip: fix gpio device creation + - gpio: mpc8xxx: Fix IRQ check in mpc8xxx_probe + - gpio: idt3243x: Fix IRQ check in idt_gpio_probe + - net/smc: Fix hung_task when removing SMC-R devices + - net: axienet: increase reset timeout + - net: axienet: Wait for PhyRstCmplt after core reset + - net: axienet: reset core on initialization prior to MDIO access + - net: axienet: add missing memory barriers + - net: axienet: limit minimum TX ring size + - net: axienet: Fix TX ring slot available check + - net: axienet: fix number of TX ring slots for available check + - net: axienet: fix for TX busy handling + - net: axienet: increase default TX ring size to 128 + - bitops: protect find_first_{,zero}_bit properly + - um: gitignore: Add kernel/capflags.c + - HID: vivaldi: fix handling devices not using numbered reports + - rtc: pxa: fix null pointer dereference + - vdpa/mlx5: Fix wrong configuration of virtio_version_1_0 + - virtio_ring: mark ring unused on error + - taskstats: Cleanup the use of task->exit_code + - inet: frags: annotate races around fqdir->dead and fqdir->high_thresh + - netns: add schedule point in ops_exit_list() + - iwlwifi: fix Bz NMI behaviour + - xfrm: Don't accidentally set RTO_ONLINK in decode_session4() + - vdpa/mlx5: Restore cur_num_vqs in case of failure in change_num_qps() + - gre: Don't accidentally set RTO_ONLINK in gre_fill_metadata_dst() + - libcxgb: Don't accidentally set RTO_ONLINK in cxgb_find_route() + - perf script: Fix hex dump character output + - dmaengine: at_xdmac: Don't start transactions at tx_submit level + - dmaengine: at_xdmac: Start transfer for cyclic channels in issue_pending + - dmaengine: at_xdmac: Print debug message after realeasing the lock + - dmaengine: at_xdmac: Fix concurrency over xfers_list + - dmaengine: at_xdmac: Fix lld view setting + - dmaengine: at_xdmac: Fix at_xdmac_lld struct definition + - perf tools: Drop requirement for libstdc++.so for libopencsd check + - perf probe: Fix ppc64 'perf probe add events failed' case + - devlink: Remove misleading internal_flags from health reporter dump + - arm64: dts: qcom: msm8996: drop not documented adreno properties + - net: fix sock_timestamping_bind_phc() to release device + - net: bonding: fix bond_xmit_broadcast return value error bug + - net: ipa: fix atomic update in ipa_endpoint_replenish() + - net_sched: restore "mpu xxx" handling + - net: mscc: ocelot: don't let phylink re-enable TX PAUSE on the NPI port + - bcmgenet: add WOL IRQ check + - net: wwan: Fix MRU mismatch issue which may lead to data connection lost + - net: ethernet: mtk_eth_soc: fix error checking in mtk_mac_config() + - net: ocelot: Fix the call to switchdev_bridge_port_offload + - net: sfp: fix high power modules without diagnostic monitoring + - net: cpsw: avoid alignment faults by taking NET_IP_ALIGN into account + - net: phy: micrel: use kszphy_suspend()/kszphy_resume for irq aware devices + - net: mscc: ocelot: fix using match before it is set + - dt-bindings: display: meson-dw-hdmi: add missing sound-name-prefix property + - dt-bindings: display: meson-vpu: Add missing amlogic,canvas property + - dt-bindings: watchdog: Require samsung,syscon-phandle for Exynos7 + - sch_api: Don't skip qdisc attach on ingress + - scripts/dtc: dtx_diff: remove broken example from help text + - lib82596: Fix IRQ check in sni_82596_probe + - mm/hmm.c: allow VM_MIXEDMAP to work with hmm_range_fault + - bonding: Fix extraction of ports from the packet headers + - lib/test_meminit: destroy cache in kmem_cache_alloc_bulk() test + - scripts: sphinx-pre-install: add required ctex dependency + - scripts: sphinx-pre-install: Fix ctex support on Debian + - Linux 5.15.17 + + * rtw88_8821ce causes freeze (LP: #1927808) // Jammy update: v5.15.17 upstream + stable release (LP: #1959376) + - rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE + + * Jammy update: v5.15.16 upstream stable release (LP: #1958977) + - devtmpfs regression fix: reconfigure on each mount + - orangefs: Fix the size of a memory allocation in orangefs_bufmap_alloc() + - remoteproc: qcom: pil_info: Don't memcpy_toio more than is provided + - perf: Protect perf_guest_cbs with RCU + - KVM: x86: Register perf callbacks after calling vendor's hardware_setup() + - KVM: x86: Register Processor Trace interrupt hook iff PT enabled in guest + - KVM: x86: don't print when fail to read/write pv eoi memory + - KVM: s390: Clarify SIGP orders versus STOP/RESTART + - remoteproc: qcom: pas: Add missing power-domain "mxc" for CDSP + - 9p: only copy valid iattrs in 9P2000.L setattr implementation + - video: vga16fb: Only probe for EGA and VGA 16 color graphic cards + - media: uvcvideo: fix division by zero at stream start + - rtlwifi: rtl8192cu: Fix WARNING when calling local_irq_restore() with + interrupts enabled + - firmware: qemu_fw_cfg: fix sysfs information leak + - firmware: qemu_fw_cfg: fix NULL-pointer deref on duplicate entries + - firmware: qemu_fw_cfg: fix kobject leak in probe error path + - perf annotate: Avoid TUI crash when navigating in the annotation of + recursive functions + - KVM: x86: remove PMU FIXED_CTR3 from msrs_to_save_all + - ALSA: hda/realtek: Add speaker fixup for some Yoga 15ITL5 devices + - ALSA: hda/realtek - Fix silent output on Gigabyte X570 Aorus Master after + reboot from Windows + - ALSA: hda: ALC287: Add Lenovo IdeaPad Slim 9i 14ITL5 speaker quirk + - ALSA: hda/tegra: Fix Tegra194 HDA reset failure + - ALSA: hda/realtek: Add quirk for Legion Y9000X 2020 + - ALSA: hda/realtek: Re-order quirk entries for Lenovo + - mtd: fixup CFI on ixp4xx + - Linux 5.15.16 + + * UBSAN: array-index-out-of-bounds in dcn31_resources on AMD yellow carp + platform (LP: #1958229) + - drm/amd/display: Fix out of bounds access on DNC31 stream encoder regs + + * Jammy update: v5.15.15 upstream stable release (LP: #1958418) + - s390/kexec: handle R_390_PLT32DBL rela in arch_kexec_apply_relocations_add() + - workqueue: Fix unbind_workers() VS wq_worker_running() race + - staging: r8188eu: switch the led off during deinit + - bpf: Fix out of bounds access from invalid *_or_null type verification + - Bluetooth: btusb: Add protocol for MediaTek bluetooth devices(MT7922) + - Bluetooth: btusb: Add the new support ID for Realtek RTL8852A + - Bluetooth: btusb: Add support for IMC Networks Mediatek Chip(MT7921) + - Bbluetooth: btusb: Add another Bluetooth part for Realtek 8852AE + - Bluetooth: btusb: fix memory leak in btusb_mtk_submit_wmt_recv_urb() + - Bluetooth: btusb: enable Mediatek to support AOSP extension + - Bluetooth: btusb: Add one more Bluetooth part for the Realtek RTL8852AE + - fget: clarify and improve __fget_files() implementation + - Bluetooth: btusb: Add two more Bluetooth parts for WCN6855 + - Bluetooth: btusb: Add support for Foxconn MT7922A + - Bluetooth: btintel: Fix broken LED quirk for legacy ROM devices + - Bluetooth: btusb: Add support for Foxconn QCA 0xe0d0 + - Bluetooth: bfusb: fix division by zero in send path + - ARM: dts: exynos: Fix BCM4330 Bluetooth reset polarity in I9100 + - USB: core: Fix bug in resuming hub's handling of wakeup requests + - USB: Fix "slab-out-of-bounds Write" bug in usb_hcd_poll_rh_status + - ath11k: Fix buffer overflow when scanning with extraie + - mmc: sdhci-pci: Add PCI ID for Intel ADL + - Bluetooth: add quirk disabling LE Read Transmit Power + - Bluetooth: btbcm: disable read tx power for some Macs with the T2 Security + chip + - Bluetooth: btbcm: disable read tx power for MacBook Air 8,1 and 8,2 + - veth: Do not record rx queue hint in veth_xmit + - mfd: intel-lpss: Fix too early PM enablement in the ACPI ->probe() + - can: gs_usb: fix use of uninitialized variable, detach device on reception + of invalid USB data + - can: isotp: convert struct tpcon::{idx,len} to unsigned int + - can: gs_usb: gs_can_start_xmit(): zero-initialize hf->{flags,reserved} + - random: fix data race on crng_node_pool + - random: fix data race on crng init time + - random: fix crash on multiple early calls to add_bootloader_randomness() + - platform/x86/intel: hid: add quirk to support Surface Go 3 + - media: Revert "media: uvcvideo: Set unique vdev name based in type" + - staging: wlan-ng: Avoid bitwise vs logical OR warning in + hfa384x_usb_throttlefn() + - drm/i915: Avoid bitwise vs logical OR warning in snb_wm_latency_quirk() + - staging: greybus: fix stack size warning with UBSAN + - Linux 5.15.15 + + * UBSAN warning on unplugging USB4 DP alt mode from AMD Yellow Carp graphics + card (LP: #1956497) + - drm/amd/display: explicitly set is_dsc_supported to false before use + + * Support USB4 DP alt mode for AMD Yellow Carp graphics card (LP: #1953008) + - drm/amd/display: Enable PSR by default on newer DCN + - SAUCE: drm/amd/display: Fixup previous PSR policy commit + - drm/amd/display: Fix USB4 hot plug crash issue + - drm/amd/display: Creating a fw boot options bit for an upcoming feature + - drm/amd/display: Enable dpia in dmub only for DCN31 B0 + - drm/amd/display: MST support for DPIA + - drm/amd/display: Set phy_mux_sel bit in dmub scratch register + - drm/amd/display: Don't lock connection_mutex for DMUB HPD + - drm/amd/display: Add callbacks for DMUB HPD IRQ notifications + + * Jammy update: v5.15.14 upstream stable release (LP: #1957882) + - fscache_cookie_enabled: check cookie is valid before accessing it + - selftests: x86: fix [-Wstringop-overread] warn in test_process_vm_readv() + - tracing: Fix check for trace_percpu_buffer validity in get_trace_buf() + - tracing: Tag trace_percpu_buffer as a percpu pointer + - Revert "RDMA/mlx5: Fix releasing unallocated memory in dereg MR flow" + - ieee802154: atusb: fix uninit value in atusb_set_extended_addr + - i40e: Fix to not show opcode msg on unsuccessful VF MAC change + - iavf: Fix limit of total number of queues to active queues of VF + - RDMA/core: Don't infoleak GRH fields + - Revert "net: usb: r8152: Add MAC passthrough support for more Lenovo Docks" + - netrom: fix copying in user data in nr_setsockopt + - RDMA/uverbs: Check for null return of kmalloc_array + - mac80211: initialize variable have_higher_than_11mbit + - mac80211: mesh: embedd mesh_paths and mpp_paths into ieee80211_if_mesh + - sfc: The RX page_ring is optional + - i40e: fix use-after-free in i40e_sync_filters_subtask() + - i40e: Fix for displaying message regarding NVM version + - i40e: Fix incorrect netdev's real number of RX/TX queues + - ftrace/samples: Add missing prototypes direct functions + - ipv4: Check attribute length for RTA_GATEWAY in multipath route + - ipv4: Check attribute length for RTA_FLOW in multipath route + - ipv6: Check attribute length for RTA_GATEWAY in multipath route + - ipv6: Check attribute length for RTA_GATEWAY when deleting multipath route + - lwtunnel: Validate RTA_ENCAP_TYPE attribute length + - selftests: net: udpgro_fwd.sh: explicitly checking the available ping + feature + - sctp: hold endpoint before calling cb in sctp_transport_lookup_process + - batman-adv: mcast: don't send link-local multicast to mcast routers + - sch_qfq: prevent shift-out-of-bounds in qfq_init_qdisc + - net: ena: Fix undefined state when tx request id is out of bounds + - net: ena: Fix wrong rx request id by resetting device + - net: ena: Fix error handling when calculating max IO queues number + - md/raid1: fix missing bitmap update w/o WriteMostly devices + - EDAC/i10nm: Release mdev/mbase when failing to detect HBM + - KVM: x86: Check for rmaps allocation + - cgroup: Use open-time credentials for process migraton perm checks + - cgroup: Allocate cgroup_file_ctx for kernfs_open_file->priv + - cgroup: Use open-time cgroup namespace for process migration perm checks + - Revert "i2c: core: support bus regulator controlling in adapter" + - i2c: mpc: Avoid out of bounds memory access + - power: supply: core: Break capacity loop + - power: reset: ltc2952: Fix use of floating point literals + - reset: renesas: Fix Runtime PM usage + - rndis_host: support Hytera digital radios + - gpio: gpio-aspeed-sgpio: Fix wrong hwirq base in irq handler + - net ticp:fix a kernel-infoleak in __tipc_sendmsg() + - phonet: refcount leak in pep_sock_accep + - fbdev: fbmem: add a helper to determine if an aperture is used by a fw fb + - drm/amdgpu: disable runpm if we are the primary adapter + - power: bq25890: Enable continuous conversion for ADC at charging + - ipv6: Continue processing multipath route even if gateway attribute is + invalid + - ipv6: Do cleanup if attribute validation fails in multipath route + - auxdisplay: charlcd: checking for pointer reference before dereferencing + - drm/amdgpu: fix dropped backing store handling in amdgpu_dma_buf_move_notify + - drm/amd/pm: Fix xgmi link control on aldebaran + - usb: mtu3: fix interval value for intr and isoc + - scsi: libiscsi: Fix UAF in iscsi_conn_get_param()/iscsi_conn_teardown() + - ip6_vti: initialize __ip6_tnl_parm struct in vti6_siocdevprivate + - net: udp: fix alignment problem in udp4_seq_show() + - atlantic: Fix buff_ring OOB in aq_ring_rx_clean + - drm/amd/pm: skip setting gfx cgpg in the s0ix suspend-resume + - mISDN: change function names to avoid conflicts + - drm/amd/display: fix B0 TMDS deepcolor no dislay issue + - drm/amd/display: Added power down for DCN10 + - ipv6: raw: check passed optlen before reading + - userfaultfd/selftests: fix hugetlb area allocations + - ARM: dts: gpio-ranges property is now required + - Input: zinitix - make sure the IRQ is allocated before it gets enabled + - Revert "drm/amdgpu: stop scheduler when calling hw_fini (v2)" + - drm/amd/pm: keep the BACO feature enabled for suspend + - Linux 5.15.14 + + * alsa/sdw: add sdw audio machine driver for several ADL machines + (LP: #1951563) + - ASoC: Intel: sof_sdw: Add support for SKU 0AF3 product + - ASoC: Intel: soc-acpi: add SKU 0AF3 SoundWire configuration + - ASoC: Intel: sof_sdw: Add support for SKU 0B00 and 0B01 products + - ASoC: Intel: sof_sdw: Add support for SKU 0B11 product + - ASoC: Intel: sof_sdw: Add support for SKU 0B13 product + - ASoC: Intel: soc-acpi: add SKU 0B13 SoundWire configuration + - ASoC: Intel: sof_sdw: Add support for SKU 0B29 product + - ASoC: Intel: soc-acpi: add SKU 0B29 SoundWire configuration + - ASoC: Intel: sof_sdw: Add support for SKU 0B12 product + - ASoC: intel: sof_sdw: return the original error number + - ASoC: intel: sof_sdw: rename be_index/link_id to link_index + - ASoC: intel: sof_sdw: Use a fixed DAI link id for AMP + - ASoC: intel: sof_sdw: move DMIC link id overwrite to create_sdw_dailink + - ASoC: intel: sof_sdw: remove SOF_RT715_DAI_ID_FIX quirk + - ASoC: intel: sof_sdw: remove sof_sdw_mic_codec_mockup_init + - ASoC: intel: sof_sdw: remove get_next_be_id + - ASoC: intel: sof_sdw: add link adr order check + + * Add basic Wifi support for Qualcomm WCN6856 (LP: #1955613) + - ath11k: change to use dynamic memory for channel list of scan + - ath11k: add string type to search board data in board-2.bin for WCN6855 + + * Enable audio mute LED and mic mute LED on a new HP laptop (LP: #1956454) + - ALSA: hda/realtek: Use ALC285_FIXUP_HP_GPIO_LED on another HP laptop + + * Add missing BT ID for Qualcomm WCN6856 (LP: #1956407) + - Bluetooth: btusb: Add one more Bluetooth part for WCN6855 + + * Add Bluetooth support for Qualcomm WCN6856 (LP: #1955689) + - Bluetooth: btusb: Add support using different nvm for variant WCN6855 + controller + - Bluetooth: btusb: re-definition for board_id in struct qca_version + - Bluetooth: btusb: Add the new support IDs for WCN6855 + + * Improve performance and idle power consumption (LP: #1941893) + - x86: ACPI: cstate: Optimize C3 entry on AMD CPUs + + * [Yellow Carp] USB4 interdomain communication problems (LP: #1945361) + - thunderbolt: Enable retry logic for intra-domain control packets + + * 1951111: + - scsi: lpfc: Fix mailbox command failure during driver initialization + + * [Jammy] Update Broadcom Emulex FC HBA lpfc driver to 14.0.0.3 for Ubuntu + 22.04 (LP: #1951111) + - scsi: lpfc: Fix premature rpi release for unsolicited TPLS and LS_RJT + - scsi: lpfc: Fix hang on unload due to stuck fport node + - scsi: lpfc: Fix rediscovery of tape device after LIP + - scsi: lpfc: Don't remove ndlp on PRLI errors in P2P mode + - scsi: lpfc: Fix EEH support for NVMe I/O + - scsi: lpfc: Adjust bytes received vales during cmf timer interval + - scsi: lpfc: Fix I/O block after enabling managed congestion mode + - scsi: lpfc: Zero CGN stats only during initial driver load and stat reset + - scsi: lpfc: Improve PBDE checks during SGL processing + - scsi: lpfc: Update lpfc version to 14.0.0.2 + + * smartpqi: Update 20.04.4 to latest kernel.org patch level (LP: #1953689) + - scsi: smartpqi: Update device removal management + - scsi: smartpqi: Capture controller reason codes + - scsi: smartpqi: Update LUN reset handler + - scsi: smartpqi: Add TEST UNIT READY check for SANITIZE operation + - scsi: smartpqi: Avoid failing I/Os for offline devices + - scsi: smartpqi: Add extended report physical LUNs + - scsi: smartpqi: Fix boot failure during LUN rebuild + - scsi: smartpqi: Fix duplicate device nodes for tape changers + - scsi: smartpqi: Add 3252-8i PCI id + - scsi: smartpqi: Update version to 2.1.12-055 + + * Let VMD follow host bridge PCIe settings (LP: #1954611) + - PCI: vmd: Honor ACPI _OSC on PCIe features + + * Fix spurious wakeup caused by Intel 7560 WWAN (LP: #1956443) + - net: wwan: iosm: Keep device at D0 for s2idle case + + * [uacc-0623] hisi_sec2 fail to alloc uacce (LP: #1933301) + - crypto: hisilicon/qm - modify the uacce mode check + + * Jammy update: v5.15.13 upstream stable release (LP: #1956926) + - Input: i8042 - add deferred probe support + - Input: i8042 - enable deferred probe quirk for ASUS UM325UA + - tomoyo: Check exceeded quota early in tomoyo_domain_quota_is_ok(). + - tomoyo: use hwight16() in tomoyo_domain_quota_is_ok() + - net/sched: Extend qdisc control block with tc control block + - parisc: Clear stale IIR value on instruction access rights trap + - platform/mellanox: mlxbf-pmc: Fix an IS_ERR() vs NULL bug in + mlxbf_pmc_map_counters + - platform/x86: apple-gmux: use resource_size() with res + - memblock: fix memblock_phys_alloc() section mismatch error + - recordmcount.pl: fix typo in s390 mcount regex + - powerpc/ptdump: Fix DEBUG_WX since generic ptdump conversion + - efi: Move efifb_setup_from_dmi() prototype from arch headers + - selinux: initialize proto variable in selinux_ip_postroute_compat() + - scsi: lpfc: Terminate string in lpfc_debugfs_nvmeio_trc_write() + - net/mlx5: DR, Fix NULL vs IS_ERR checking in dr_domain_init_resources + - net/mlx5: Fix error print in case of IRQ request failed + - net/mlx5: Fix SF health recovery flow + - net/mlx5: Fix tc max supported prio for nic mode + - net/mlx5e: Wrap the tx reporter dump callback to extract the sq + - net/mlx5e: Fix interoperability between XSK and ICOSQ recovery flow + - net/mlx5e: Fix ICOSQ recovery flow for XSK + - net/mlx5e: Use tc sample stubs instead of ifdefs in source file + - net/mlx5e: Delete forward rule for ct or sample action + - udp: using datalen to cap ipv6 udp max gso segments + - selftests: Calculate udpgso segment count without header adjustment + - sctp: use call_rcu to free endpoint + - net/smc: fix using of uninitialized completions + - net: usb: pegasus: Do not drop long Ethernet frames + - net: ag71xx: Fix a potential double free in error handling paths + - net: lantiq_xrx200: fix statistics of received bytes + - NFC: st21nfca: Fix memory leak in device probe and remove + - net/smc: don't send CDC/LLC message if link not ready + - net/smc: fix kernel panic caused by race of smc_sock + - igc: Do not enable crosstimestamping for i225-V models + - igc: Fix TX timestamp support for non-MSI-X platforms + - drm/amd/display: Send s0i2_rdy in stream_count == 0 optimization + - drm/amd/display: Set optimize_pwr_state for DCN31 + - ionic: Initialize the 'lif->dbid_inuse' bitmap + - net/mlx5e: Fix wrong features assignment in case of error + - net: bridge: mcast: add and enforce query interval minimum + - net: bridge: mcast: add and enforce startup query interval minimum + - selftests/net: udpgso_bench_tx: fix dst ip argument + - selftests: net: Fix a typo in udpgro_fwd.sh + - net: bridge: mcast: fix br_multicast_ctx_vlan_global_disabled helper + - net/ncsi: check for error return from call to nla_put_u32 + - selftests: net: using ping6 for IPv6 in udpgro_fwd.sh + - fsl/fman: Fix missing put_device() call in fman_port_probe + - i2c: validate user data in compat ioctl + - nfc: uapi: use kernel size_t to fix user-space builds + - uapi: fix linux/nfc.h userspace compilation errors + - drm/nouveau: wait for the exclusive fence after the shared ones v2 + - drm/amdgpu: When the VCN(1.0) block is suspended, powergating is explicitly + enabled + - drm/amdgpu: add support for IP discovery gc_info table v2 + - drm/amd/display: Changed pipe split policy to allow for multi-display pipe + split + - xhci: Fresco FL1100 controller should not have BROKEN_MSI quirk set. + - usb: gadget: f_fs: Clear ffs_eventfd in ffs_data_clear. + - usb: mtu3: add memory barrier before set GPD's HWO + - usb: mtu3: fix list_head check warning + - usb: mtu3: set interval of FS intr and isoc endpoint + - nitro_enclaves: Use get_user_pages_unlocked() call to handle mmap assert + - binder: fix async_free_space accounting for empty parcels + - scsi: vmw_pvscsi: Set residual data length conditionally + - Input: appletouch - initialize work before device registration + - Input: spaceball - fix parsing of movement data packets + - mm/damon/dbgfs: fix 'struct pid' leaks in 'dbgfs_target_ids_write()' + - net: fix use-after-free in tw_timer_handler + - fs/mount_setattr: always cleanup mount_kattr + - perf intel-pt: Fix parsing of VM time correlation arguments + - perf script: Fix CPU filtering of a script's switch events + - perf scripts python: intel-pt-events.py: Fix printing of switch events + - Linux 5.15.13 + + * Miscellaneous Ubuntu changes + - [Packaging] getabis: Add fwinfo.builtin to the ABI + - [Packaging] Add list of built-in firmwares to the ABI + - [Config] x86-64: SYSFB_SIMPLEFB=y + - [packaging] arm64: introduce the lowlatency and lowlatency-64k flavours + - [packaging] arm64: updateconfigs + - [Config] annotations: remove duplicates when arm64-generic == + arm64-generic-64k option + - [Config] annotations: introduce arm64-lowlatency and arm64-lowlatency-64k + kconfig options checks + - [Packaging] Update dependency of pahole / dwarves + - [Config] toolchain version update + + * Miscellaneous upstream changes + - scsi: lpfc: Revert LOG_TRACE_EVENT back to LOG_INIT prior to + driver_resource_setup() + - scsi: lpfc: Correct sysfs reporting of loop support after SFP status change + - scsi: lpfc: Allow PLOGI retry if previous PLOGI was aborted + - scsi: lpfc: Update lpfc version to 14.0.0.3 + - Revert "rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE" + + -- Paolo Pisati Fri, 28 Jan 2022 17:16:21 +0100 + +linux (5.15.0-18.18) jammy; urgency=medium + + * jammy/linux: 5.15.0-18.18 -proposed tracker (LP: #1958638) + + * CVE-2021-4155 + - xfs: map unwritten blocks in XFS_IOC_{ALLOC, FREE}SP just like fallocate + + * CVE-2022-0185 + - SAUCE: vfs: test that one given mount param is not larger than PAGE_SIZE + + * [UBUNTU 20.04] KVM hardware diagnose data improvements for guest kernel - + kernel part (LP: #1953334) + - KVM: s390: add debug statement for diag 318 CPNC data + + * OOB write on BPF_RINGBUF (LP: #1956585) + - SAUCE: bpf: prevent helper argument PTR_TO_ALLOC_MEM to have offset other + than 0 + + * Miscellaneous Ubuntu changes + - [Config] re-enable shiftfs + - [SAUCE] shiftfs: support kernel 5.15 + - [Config] update toolchain versions + + * Miscellaneous upstream changes + - vfs: fs_context: fix up param length parsing in legacy_parse_param + + -- Andrea Righi Fri, 21 Jan 2022 13:32:27 +0100 + +linux (5.15.0-17.17) jammy; urgency=medium + + * jammy/linux: 5.15.0-17.17 -proposed tracker (LP: #1957809) + + -- Andrea Righi Thu, 13 Jan 2022 17:11:21 +0100 + +linux (5.15.0-16.16) jammy; urgency=medium + + * jammy/linux: 5.15.0-16.16 -proposed tracker (LP: #1956820) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * 5.15 stuck at boot on c4.large (LP: #1956780) + - Revert "PCI/MSI: Mask MSI-X vectors only on success" + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] temporarily disable signed v4l2loopback" + + -- Andrea Righi Sat, 08 Jan 2022 10:57:58 +0100 + +linux (5.15.0-15.15) jammy; urgency=medium + + * jammy/linux: 5.15.0-15.15 -proposed tracker (LP: #1956314) + + * Packaging resync (LP: #1786013) + - update dkms package versions + - debian/dkms-versions -- update from kernel-versions (main/master) + + * rtw88_8821ce causes freeze (LP: #1927808) + - rtw88: Disable PCIe ASPM while doing NAPI poll on 8821CE + + * alsa/sdw: fix the audio sdw codec parsing logic in the acpi table + (LP: #1955686) + - ALSA: hda: intel-sdw-acpi: go through HDAS ACPI at max depth of 2 + - ALSA: hda: intel-sdw-acpi: harden detection of controller + + * Got black screen when resume from s2idle with AMD dGPU (LP: #1955790) + - SAUCE: drm/amdgpu: put SMU into proper state on runpm suspending for BOCO + capable platform + - SAUCE: drm/amdgpu: always reset the asic in suspend (v2) + + * Fix USB3 detection on HP dock (LP: #1955443) + - usb: hub: Add delay for SuperSpeed hub resume to let links transit to U0 + + * support signed v4l2loopback dkms build (LP: #1938531) + - enable v4l2loopback builds on amd64 kernels + - support v4l2loopback dkms build + + * Jammy update: v5.15.12 upstream stable release (LP: #1956305) + - arm64: vdso32: require CROSS_COMPILE_COMPAT for gcc+bfd + - net: usb: lan78xx: add Allied Telesis AT29M2-AF + - ext4: prevent partial update of the extent blocks + - ext4: check for out-of-order index extents in ext4_valid_extent_entries() + - ext4: check for inconsistent extents between index and leaf block + - selftests: KVM: Fix non-x86 compiling + - HID: holtek: fix mouse probing + - HID: potential dereference of null pointer + - NFSD: Fix READDIR buffer overflow + - PM: sleep: Fix error handling in dpm_prepare() + - arm64: dts: allwinner: orangepi-zero-plus: fix PHY mode + - bus: sunxi-rsb: Fix shutdown + - spi: change clk_disable_unprepare to clk_unprepare + - ucounts: Fix rlimit max values check + - drm/mediatek: hdmi: Perform NULL pointer check for mtk_hdmi_conf + - ASoC: meson: aiu: fifo: Add missing dma_coerce_mask_and_coherent() + - RDMA/hns: Fix RNR retransmission issue for HIP08 + - IB/qib: Fix memory leak in qib_user_sdma_queue_pkts() + - RDMA/hns: Replace kfree() with kvfree() + - netfilter: nf_tables: fix use-after-free in nft_set_catchall_destroy() + - netfilter: fix regression in looped (broad|multi)cast's MAC handling + - ARM: dts: imx6qdl-wandboard: Fix Ethernet support + - ice: Use xdp_buf instead of rx_buf for xsk zero-copy + - ice: xsk: return xsk buffers back to pool when cleaning the ring + - net: marvell: prestera: fix incorrect return of port_find + - net: marvell: prestera: fix incorrect structure access + - qlcnic: potential dereference null pointer of rx_queue->page_ring + - tcp: move inet->rx_dst_ifindex to sk->sk_rx_dst_ifindex + - ipv6: move inet6_sk(sk)->rx_dst_cookie to sk->sk_rx_dst_cookie + - inet: fully convert sk->sk_rx_dst to RCU rules + - net: accept UFOv6 packages in virtio_net_hdr_to_skb + - net: skip virtio_net_hdr_set_proto if protocol already set + - igb: fix deadlock caused by taking RTNL in RPM resume path + - ipmi: Fix UAF when uninstall ipmi_si and ipmi_msghandler module + - gpio: virtio: remove timeout + - bonding: fix ad_actor_system option setting to default + - fjes: Check for error irq + - drivers: net: smc911x: Check for error irq + - net: ks8851: Check for error irq + - sfc: Check null pointer of rx_queue->page_ring + - sfc: falcon: Check null pointer of rx_queue->page_ring + - asix: fix uninit-value in asix_mdio_read() + - asix: fix wrong return value in asix_check_host_enable() + - io_uring: zero iocb->ki_pos for stream file types + - veth: ensure skb entering GRO are not cloned. + - net: stmmac: ptp: fix potentially overflowing expression + - net: bridge: Use array_size() helper in copy_to_user() + - net: bridge: fix ioctl old_deviceless bridge argument + - r8152: fix the force speed doesn't work for RTL8156 + - net: stmmac: dwmac-visconti: Fix value of ETHER_CLK_SEL_FREQ_SEL_2P5M + - pinctrl: bcm2835: Change init order for gpio hogs + - hwmon: (lm90) Fix usage of CONFIG2 register in detect function + - hwmon: (lm90) Prevent integer overflow/underflow in hysteresis calculations + - hwmon: (lm90) Introduce flag indicating extended temperature support + - hwmon: (lm90) Add basic support for TI TMP461 + - hwmon: (lm90) Drop critical attribute support for MAX6654 + - ARM: 9160/1: NOMMU: Reload __secondary_data after PROCINFO_INITFUNC + - uapi: Fix undefined __always_inline on non-glibc systems + - compiler.h: Fix annotation macro misplacement with Clang + - platform/x86/intel: Remove X86_PLATFORM_DRIVERS_INTEL + - kernel/crash_core: suppress unknown crashkernel parameter warning + - Revert "x86/boot: Pull up cmdline preparation and early param parsing" + - x86/boot: Move EFI range reservation after cmdline parsing + - ALSA: jack: Check the return value of kstrdup() + - ALSA: drivers: opl3: Fix incorrect use of vp->state + - ALSA: rawmidi - fix the uninitalized user_pversion + - ALSA: hda/hdmi: Disable silent stream on GLK + - ALSA: hda/realtek: Amp init fixup for HP ZBook 15 G6 + - ALSA: hda/realtek: Add new alc285-hp-amp-init model + - ALSA: hda/realtek: fix mute/micmute LEDs for a HP ProBook + - ALSA: hda/realtek: Fix quirk for Clevo NJ51CU + - ASoC: meson: aiu: Move AIU_I2S_MISC hold setting to aiu-fifo-i2s + - ASoC: tegra: Add DAPM switches for headphones and mic jack + - ASoC: tegra: Restore headphones jack name on Nyan Big + - Input: atmel_mxt_ts - fix double free in mxt_read_info_block + - ipmi: bail out if init_srcu_struct fails + - ipmi: ssif: initialize ssif_info->client early + - ipmi: fix initialization when workqueue allocation fails + - parisc: Correct completer in lws start + - parisc: Fix mask used to select futex spinlock + - tee: handle lookup of shm with reference count 0 + - x86/pkey: Fix undefined behaviour with PKRU_WD_BIT + - platform/x86: amd-pmc: only use callbacks for suspend + - platform/x86: intel_pmc_core: fix memleak on registration failure + - KVM: x86: Always set kvm_run->if_flag + - KVM: x86/mmu: Don't advance iterator after restart due to yielding + - KVM: nVMX: Synthesize TRIPLE_FAULT for L2 if emulation is required + - KVM: VMX: Always clear vmx->fail on emulation_required + - KVM: VMX: Wake vCPU when delivering posted IRQ even if vCPU == this vCPU + - pinctrl: stm32: consider the GPIO offset to expose all the GPIO lines + - gpio: dln2: Fix interrupts when replugging the device + - mmc: sdhci-tegra: Fix switch to HS400ES mode + - mmc: meson-mx-sdhc: Set MANUAL_STOP for multi-block SDIO commands + - mmc: core: Disable card detect during shutdown + - mmc: mmci: stm32: clear DLYB_CR after sending tuning command + - ARM: 9169/1: entry: fix Thumb2 bug in iWMMXt exception handling + - ksmbd: fix error code in ndr_read_int32() + - ksmbd: fix uninitialized symbol 'pntsd_size' + - ksmbd: disable SMB2_GLOBAL_CAP_ENCRYPTION for SMB 3.1.1 + - mac80211: fix locking in ieee80211_start_ap error path + - mm: mempolicy: fix THP allocations escaping mempolicy restrictions + - mm, hwpoison: fix condition in free hugetlb page path + - mm/hwpoison: clear MF_COUNT_INCREASED before retrying get_any_page() + - mm/damon/dbgfs: protect targets destructions with kdamond_lock + - tee: optee: Fix incorrect page free bug + - f2fs: fix to do sanity check on last xattr entry in __f2fs_setxattr() + - netfs: fix parameter of cleanup() + - KVM: VMX: Fix stale docs for kvm-intel.emulate_invalid_guest_state + - arm64: dts: lx2160a: fix scl-gpios property name + - kfence: fix memory leak when cat kfence objects + - Input: iqs626a - prohibit inlining of channel parsing functions + - Input: elants_i2c - do not check Remark ID on eKTH3900/eKTH5312 + - Input: goodix - add id->model mapping for the "9111" model + - ASoC: tas2770: Fix setting of high sample rates + - ASoC: SOF: Intel: pci-tgl: add new ADL-P variant + - ASoC: SOF: Intel: pci-tgl: add ADL-N support + - ASoC: rt5682: fix the wrong jack type detected + - pinctrl: mediatek: fix global-out-of-bounds issue + - hwmom: (lm90) Fix citical alarm status for MAX6680/MAX6681 + - hwmon: (lm90) Do not report 'busy' status bit as alarm + - r8152: sync ocp base + - ax25: NPD bug when detaching AX25 device + - hamradio: defer ax25 kfree after unregister_netdev + - hamradio: improve the incomplete fix to avoid NPD + - tun: avoid double free in tun_free_netdev + - phonet/pep: refuse to enable an unbound pipe + - Linux 5.15.12 + + * Thinkpad E14 Gen2: Kernel panic with trackpad and trackpoint enabled + (LP: #1945590) // Jammy update: v5.15.12 upstream stable release + (LP: #1956305) + - Input: elantech - fix stack out of bound access in + elantech_change_report_id() + + * Jammy update: v5.15.11 upstream stable release (LP: #1956302) + - reset: tegra-bpmp: Revert Handle errors in BPMP response + - KVM: VMX: clear vmx_x86_ops.sync_pir_to_irr if APICv is disabled + - KVM: selftests: Make sure kvm_create_max_vcpus test won't hit RLIMIT_NOFILE + - KVM: downgrade two BUG_ONs to WARN_ON_ONCE + - x86/kvm: remove unused ack_notifier callbacks + - KVM: X86: Fix tlb flush for tdp in kvm_invalidate_pcid() + - mac80211: fix rate control for retransmitted frames + - mac80211: fix regression in SSN handling of addba tx + - mac80211: mark TX-during-stop for TX in in_reconfig + - mac80211: send ADDBA requests using the tid/queue of the aggregation session + - mac80211: validate extended element ID is present + - firmware: arm_scpi: Fix string overflow in SCPI genpd driver + - bpf: Fix kernel address leakage in atomic fetch + - bpf, selftests: Add test case for atomic fetch on spilled pointer + - bpf: Fix signed bounds propagation after mov32 + - bpf: Make 32->64 bounds propagation slightly more robust + - bpf, selftests: Add test case trying to taint map value pointer + - bpf: Fix kernel address leakage in atomic cmpxchg's r0 aux reg + - bpf, selftests: Update test case for atomic cmpxchg on r0 with pointer + - vduse: fix memory corruption in vduse_dev_ioctl() + - vduse: check that offset is within bounds in get_config() + - virtio_ring: Fix querying of maximum DMA mapping size for virtio device + - vdpa: check that offsets are within bounds + - s390/entry: fix duplicate tracking of irq nesting level + - recordmcount.pl: look for jgnop instruction as well as bcrl on s390 + - arm64: dts: ten64: remove redundant interrupt declaration for gpio-keys + - ceph: fix up non-directory creation in SGID directories + - dm btree remove: fix use after free in rebalance_children() + - audit: improve robustness of the audit queue handling + - btrfs: convert latest_bdev type to btrfs_device and rename + - btrfs: use latest_dev in btrfs_show_devname + - btrfs: update latest_dev when we create a sprout device + - btrfs: remove stale comment about the btrfs_show_devname + - scsi: ufs: core: Retry START_STOP on UNIT_ATTENTION + - arm64: dts: rockchip: remove mmc-hs400-enhanced-strobe from rk3399-khadas- + edge + - arm64: dts: rockchip: fix rk3308-roc-cc vcc-sd supply + - arm64: dts: rockchip: fix rk3399-leez-p710 vcc3v3-lan supply + - arm64: dts: rockchip: fix audio-supply for Rock Pi 4 + - arm64: dts: rockchip: fix poweroff on helios64 + - dmaengine: idxd: add halt interrupt support + - dmaengine: idxd: fix calling wq quiesce inside spinlock + - mac80211: track only QoS data frames for admission control + - tee: amdtee: fix an IS_ERR() vs NULL bug + - ceph: fix duplicate increment of opened_inodes metric + - ceph: initialize pathlen variable in reconnect_caps_cb + - ARM: socfpga: dts: fix qspi node compatible + - arm64: dts: imx8mq: remove interconnect property from lcdif + - clk: Don't parent clks until the parent is fully registered + - soc: imx: Register SoC device only on i.MX boards + - iwlwifi: mvm: don't crash on invalid rate w/o STA + - virtio: always enter drivers/virtio/ + - virtio/vsock: fix the transport to work with VMADDR_CID_ANY + - vdpa: Consider device id larger than 31 + - Revert "drm/fb-helper: improve DRM fbdev emulation device names" + - selftests: net: Correct ping6 expected rc from 2 to 1 + - s390/kexec_file: fix error handling when applying relocations + - sch_cake: do not call cake_destroy() from cake_init() + - inet_diag: fix kernel-infoleak for UDP sockets + - netdevsim: don't overwrite read only ethtool parms + - selftests: icmp_redirect: pass xfail=0 to log_test() + - net: hns3: fix use-after-free bug in hclgevf_send_mbx_msg + - net: hns3: fix race condition in debugfs + - selftests: Add duplicate config only for MD5 VRF tests + - selftests: Fix raw socket bind tests with VRF + - selftests: Fix IPv6 address bind tests + - dmaengine: idxd: fix missed completion on abort path + - dmaengine: st_fdma: fix MODULE_ALIAS + - drm: simpledrm: fix wrong unit with pixel clock + - net/sched: sch_ets: don't remove idle classes from the round-robin list + - selftests/net: toeplitz: fix udp option + - net: dsa: mv88e6xxx: Unforce speed & duplex in mac_link_down() + - selftest/net/forwarding: declare NETIFS p9 p10 + - mptcp: never allow the PM to close a listener subflow + - drm/ast: potential dereference of null pointer + - drm/i915/display: Fix an unsigned subtraction which can never be negative. + - mac80211: agg-tx: don't schedule_and_wake_txq() under sta->lock + - cfg80211: Acquire wiphy mutex on regulatory work + - mac80211: fix lookup when adding AddBA extension element + - net: stmmac: fix tc flower deletion for VLAN priority Rx steering + - flow_offload: return EOPNOTSUPP for the unsupported mpls action type + - rds: memory leak in __rds_conn_create() + - ice: Use div64_u64 instead of div_u64 in adjfine + - ice: Don't put stale timestamps in the skb + - drm/amd/display: Set exit_optimized_pwr_state for DCN31 + - drm/amd/pm: fix a potential gpu_metrics_table memory leak + - mptcp: remove tcp ulp setsockopt support + - mptcp: clear 'kern' flag from fallback sockets + - mptcp: fix deadlock in __mptcp_push_pending() + - soc/tegra: fuse: Fix bitwise vs. logical OR warning + - igb: Fix removal of unicast MAC filters of VFs + - igbvf: fix double free in `igbvf_probe` + - igc: Fix typo in i225 LTR functions + - ixgbe: Document how to enable NBASE-T support + - ixgbe: set X550 MDIO speed before talking to PHY + - netdevsim: Zero-initialize memory for new map's value in function + nsim_bpf_map_alloc + - net/packet: rx_owner_map depends on pg_vec + - net: stmmac: dwmac-rk: fix oob read in rk_gmac_setup + - sfc_ef100: potential dereference of null pointer + - dsa: mv88e6xxx: fix debug print for SPEED_UNFORCED + - net: Fix double 0x prefix print in SKB dump + - net/smc: Prevent smc_release() from long blocking + - net: systemport: Add global locking for descriptor lifecycle + - sit: do not call ipip6_dev_free() from sit_init_net() + - afs: Fix mmap + - arm64: kexec: Fix missing error code 'ret' warning in load_other_segments() + - bpf: Fix extable fixup offset. + - bpf, selftests: Fix racing issue in btf_skc_cls_ingress test + - powerpc/85xx: Fix oops when CONFIG_FSL_PMC=n + - USB: gadget: bRequestType is a bitfield, not a enum + - Revert "usb: early: convert to readl_poll_timeout_atomic()" + - KVM: x86: Drop guest CPUID check for host initiated writes to + MSR_IA32_PERF_CAPABILITIES + - tty: n_hdlc: make n_hdlc_tty_wakeup() asynchronous + - USB: NO_LPM quirk Lenovo USB-C to Ethernet Adapher(RTL8153-04) + - usb: dwc2: fix STM ID/VBUS detection startup delay in dwc2_driver_probe + - PCI/MSI: Clear PCI_MSIX_FLAGS_MASKALL on error + - PCI/MSI: Mask MSI-X vectors only on success + - usb: xhci-mtk: fix list_del warning when enable list debug + - usb: xhci: Extend support for runtime power management for AMD's Yellow + carp. + - usb: cdnsp: Fix incorrect status for control request + - usb: cdnsp: Fix incorrect calling of cdnsp_died function + - usb: cdnsp: Fix issue in cdnsp_log_ep trace event + - usb: cdnsp: Fix lack of spin_lock_irqsave/spin_lock_restore + - usb: typec: tcpm: fix tcpm unregister port but leave a pending timer + - usb: gadget: u_ether: fix race in setting MAC address in setup phase + - USB: serial: cp210x: fix CP2105 GPIO registration + - USB: serial: option: add Telit FN990 compositions + - selinux: fix sleeping function called from invalid context + - btrfs: fix memory leak in __add_inode_ref() + - btrfs: fix double free of anon_dev after failure to create subvolume + - btrfs: check WRITE_ERR when trying to read an extent buffer + - btrfs: fix missing blkdev_put() call in btrfs_scan_one_device() + - zonefs: add MODULE_ALIAS_FS + - iocost: Fix divide-by-zero on donation from low hweight cgroup + - serial: 8250_fintek: Fix garbled text for console + - timekeeping: Really make sure wall_to_monotonic isn't positive + - cifs: sanitize multiple delimiters in prepath + - locking/rtmutex: Fix incorrect condition in rtmutex_spin_on_owner() + - riscv: dts: unleashed: Add gpio card detect to mmc-spi-slot + - riscv: dts: unmatched: Add gpio card detect to mmc-spi-slot + - perf inject: Fix segfault due to close without open + - perf inject: Fix segfault due to perf_data__fd() without open + - libata: if T_LENGTH is zero, dma direction should be DMA_NONE + - powerpc/module_64: Fix livepatching for RO modules + - drm/amdgpu: correct register access for RLC_JUMP_TABLE_RESTORE + - drm/amdgpu: don't override default ECO_BITs setting + - drm/amd/pm: fix reading SMU FW version from amdgpu_firmware_info on YC + - Revert "can: m_can: remove support for custom bit timing" + - can: m_can: make custom bittiming fields const + - can: m_can: pci: use custom bit timings for Elkhart Lake + - ARM: dts: imx6ull-pinfunc: Fix CSI_DATA07__ESAI_TX0 pad name + - xsk: Do not sleep in poll() when need_wakeup set + - mptcp: add missing documented NL params + - bpf, x64: Factor out emission of REX byte in more cases + - bpf: Fix extable address check. + - USB: core: Make do_proc_control() and do_proc_bulk() killable + - media: mxl111sf: change mutex_init() location + - fuse: annotate lock in fuse_reverse_inval_entry() + - ovl: fix warning in ovl_create_real() + - scsi: scsi_debug: Don't call kcalloc() if size arg is zero + - scsi: scsi_debug: Fix type in min_t to avoid stack OOB + - scsi: scsi_debug: Sanity check block descriptor length in resp_mode_select() + - io-wq: remove spurious bit clear on task_work addition + - io-wq: check for wq exit after adding new worker task_work + - rcu: Mark accesses to rcu_state.n_force_qs + - io-wq: drop wqe lock before creating new worker + - bus: ti-sysc: Fix variable set but not used warning for reinit_modules + - selftests/damon: test debugfs file reads/writes with huge count + - Revert "xsk: Do not sleep in poll() when need_wakeup set" + - xen/blkfront: harden blkfront against event channel storms + - xen/netfront: harden netfront against event channel storms + - xen/console: harden hvc_xen against event channel storms + - xen/netback: fix rx queue stall detection + - xen/netback: don't queue unlimited number of packages + - Linux 5.15.11 + + * Jammy update: v5.15.10 upstream stable release (LP: #1956301) + - nfc: fix segfault in nfc_genl_dump_devices_done + - hwmon: (corsair-psu) fix plain integer used as NULL pointer + - RDMA: Fix use-after-free in rxe_queue_cleanup + - RDMA/mlx5: Fix releasing unallocated memory in dereg MR flow + - mtd: rawnand: Fix nand_erase_op delay + - mtd: rawnand: Fix nand_choose_best_timings() on unsupported interface + - inet: use #ifdef CONFIG_SOCK_RX_QUEUE_MAPPING consistently + - dt-bindings: media: nxp,imx7-mipi-csi2: Drop bad if/then schema + - clk: qcom: sm6125-gcc: Swap ops of ice and apps on sdcc1 + - perf bpf_skel: Do not use typedef to avoid error on old clang + - netfs: Fix lockdep warning from taking sb_writers whilst holding mmap_lock + - RDMA/irdma: Fix a user-after-free in add_pble_prm + - RDMA/irdma: Fix a potential memory allocation issue in + 'irdma_prm_add_pble_mem()' + - RDMA/irdma: Report correct WC errors + - RDMA/irdma: Don't arm the CQ more than two times if no CE for this CQ + - ice: fix FDIR init missing when reset VF + - vmxnet3: fix minimum vectors alloc issue + - i2c: virtio: fix completion handling + - drm/msm: Fix null ptr access msm_ioctl_gem_submit() + - drm/msm/a6xx: Fix uinitialized use of gpu_scid + - drm/msm/dsi: set default num_data_lanes + - drm/msm/dp: Avoid unpowered AUX xfers that caused crashes + - KVM: arm64: Save PSTATE early on exit + - s390/test_unwind: use raw opcode instead of invalid instruction + - Revert "tty: serial: fsl_lpuart: drop earlycon entry for i.MX8QXP" + - net/mlx4_en: Update reported link modes for 1/10G + - loop: Use pr_warn_once() for loop_control_remove() warning + - ALSA: hda: Add Intel DG2 PCI ID and HDMI codec vid + - ALSA: hda/hdmi: fix HDA codec entry table order for ADL-P + - parisc/agp: Annotate parisc agp init functions with __init + - i2c: rk3x: Handle a spurious start completion interrupt flag + - net: netlink: af_netlink: Prevent empty skb by adding a check on len. + - drm/amdgpu: cancel the correct hrtimer on exit + - drm/amdgpu: check atomic flag to differeniate with legacy path + - drm/amd/display: Fix for the no Audio bug with Tiled Displays + - drm/amdkfd: fix double free mem structure + - drm/amd/display: add connector type check for CRC source set + - drm/amdkfd: process_info lock not needed for svm + - tracing: Fix a kmemleak false positive in tracing_map + - staging: most: dim2: use device release method + - fuse: make sure reclaim doesn't write the inode + - perf inject: Fix itrace space allowed for new attributes + - Linux 5.15.10 + + * Jammy update: v5.15.9 upstream stable release (LP: #1955161) + - netfilter: selftest: conntrack_vrf.sh: fix file permission + - Linux 5.15.9 + + * [SRU][I/J/OEM-5.13/OEM-5.14] Fix pci port lost when hotplug dock + (LP: #1954646) + - PCI: Re-enable Downstream Port LTR after reset or hotplug + + * Add support for NVIDIA EC backlight (LP: #1953286) + - platform/x86: Add driver for ACPI WMAA EC-based backlight control + - platform/x86: Remove "WMAA" from identifier names in wmaa-backlight-wmi.c + - platform/x86: Rename wmaa-backlight-wmi to nvidia-wmi-ec-backlight + - [Config] NVIDIA_WMI_EC_BACKLIGHT=m + + * Improve USB Type-C support (LP: #1950974) + - usb: typec: ucsi: Always cancel the command if PPM reports BUSY condition + - usb: typec: ucsi: Don't stop alt mode registration on busy condition + - usb: typec: ucsi: Add polling mechanism for partner tasks like alt mode + checking + - usb: typec: ucsi: acpi: Reduce the command completion timeout + - usb: typec: ucsi: Check the partner alt modes always if there is PD contract + - usb: typec: ucsi: Read the PDOs in separate work + - usb: typec: ucsi: Better fix for missing unplug events issue + + * Fix power button wakeup with shared IRQs on AMD platforms (LP: #1953540) + - pinctrl: amd: Fix wakeups when IRQ is shared with SCI + + * AMD: Suspend not working when some cores are disabled through cpufreq + (LP: #1954930) + - ACPI: processor idle: Allow playing dead in C3 state + + * Jammy update: v5.15.8 upstream stable release (LP: #1954931) + - Revert "UBUNTU: SAUCE: selftests: fib_tests: assign address to dummy1 for + rp_filter tests" + - usb: gadget: uvc: fix multiple opens + - HID: quirks: Add quirk for the Microsoft Surface 3 type-cover + - HID: google: add eel USB id + - HID: intel-ish-hid: ipc: only enable IRQ wakeup when requested + - HID: add hid_is_usb() function to make it simpler for USB detection + - HID: add USB_HID dependancy to hid-prodikeys + - HID: add USB_HID dependancy to hid-chicony + - HID: add USB_HID dependancy on some USB HID drivers + - HID: bigbenff: prevent null pointer dereference + - HID: wacom: fix problems when device is not a valid USB device + - HID: check for valid USB device for many HID drivers + - mtd: dataflash: Add device-tree SPI IDs + - mmc: spi: Add device-tree SPI IDs + - HID: sony: fix error path in probe + - HID: Ignore battery for Elan touchscreen on Asus UX550VE + - platform/x86/intel: hid: add quirk to support Surface Go 3 + - nft_set_pipapo: Fix bucket load in AVX2 lookup routine for six 8-bit groups + - IB/hfi1: Insure use of smp_processor_id() is preempt disabled + - IB/hfi1: Fix early init panic + - IB/hfi1: Fix leak of rcvhdrtail_dummy_kvaddr + - can: kvaser_usb: get CAN clock frequency from device + - can: kvaser_pciefd: kvaser_pciefd_rx_error_frame(): increase correct + stats->{rx,tx}_errors counter + - can: sja1000: fix use after free in ems_pcmcia_add_card() + - can: pch_can: pch_can_rx_normal: fix use after free + - can: m_can: m_can_read_fifo: fix memory leak in error branch + - can: m_can: pci: fix incorrect reference clock rate + - can: m_can: pci: fix iomap_read_fifo() and iomap_write_fifo() + - can: m_can: Disable and ignore ELO interrupt + - net: dsa: mv88e6xxx: fix "don't use PHY_DETECT on internal PHY's" + - net: dsa: mv88e6xxx: allow use of PHYs on CPU and DSA ports + - x86/sme: Explicitly map new EFI memmap table as encrypted + - platform/x86: amd-pmc: Fix s2idle failures on certain AMD laptops + - nfc: fix potential NULL pointer deref in nfc_genl_dump_ses_done + - selftests: netfilter: add a vrf+conntrack testcase + - vrf: don't run conntrack on vrf with !dflt qdisc + - bpf, x86: Fix "no previous prototype" warning + - bpf, sockmap: Attach map progs to psock early for feature probes + - bpf: Make sure bpf_disable_instrumentation() is safe vs preemption. + - bpf: Fix the off-by-two error in range markings + - ice: ignore dropped packets during init + - ethtool: do not perform operations on net devices being unregistered + - bonding: make tx_rebalance_counter an atomic + - nfp: Fix memory leak in nfp_cpp_area_cache_add() + - udp: using datalen to cap max gso segments + - netfilter: nft_exthdr: break evaluation if setting TCP option fails + - netfilter: conntrack: annotate data-races around ct->timeout + - iavf: restore MSI state on reset + - iavf: Fix reporting when setting descriptor count + - IB/hfi1: Correct guard on eager buffer deallocation + - devlink: fix netns refcount leak in devlink_nl_cmd_reload() + - net: bcm4908: Handle dma_set_coherent_mask error codes + - net: dsa: mv88e6xxx: error handling for serdes_power functions + - net: dsa: felix: Fix memory leak in felix_setup_mmio_filtering + - net/sched: fq_pie: prevent dismantle issue + - net: mvpp2: fix XDP rx queues registering + - KVM: x86: Don't WARN if userspace mucks with RCX during string I/O exit + - KVM: x86: Ignore sparse banks size for an "all CPUs", non-sparse IPI req + - KVM: x86: Wait for IPIs to be delivered when handling Hyper-V TLB flush + hypercall + - timers: implement usleep_idle_range() + - mm/damon/core: fix fake load reports due to uninterruptible sleeps + - mm/slub: fix endianness bug for alloc/free_traces attributes + - mm: bdi: initialize bdi_min_ratio when bdi is unregistered + - ALSA: ctl: Fix copy of updated id with element read/write + - ALSA: hda/realtek - Add headset Mic support for Lenovo ALC897 platform + - ALSA: hda/realtek: Fix quirk for TongFang PHxTxX1 + - ALSA: pcm: oss: Fix negative period/buffer sizes + - ALSA: pcm: oss: Limit the period size to 16MB + - ALSA: pcm: oss: Handle missing errors in snd_pcm_oss_change_params*() + - cifs: Fix crash on unload of cifs_arc4.ko + - scsi: qla2xxx: Format log strings only if needed + - btrfs: clear extent buffer uptodate when we fail to write it + - btrfs: fix re-dirty process of tree-log nodes + - btrfs: replace the BUG_ON in btrfs_del_root_ref with proper error handling + - btrfs: free exchange changeset on failures + - perf intel-pt: Fix some PGE (packet generation enable/control flow packets) + usage + - perf intel-pt: Fix sync state when a PSB (synchronization) packet is found + - perf intel-pt: Fix intel_pt_fup_event() assumptions about setting state type + - perf intel-pt: Fix state setting when receiving overflow (OVF) packet + - perf intel-pt: Fix next 'err' value, walking trace + - perf intel-pt: Fix missing 'instruction' events with 'q' option + - perf intel-pt: Fix error timestamp setting on the decoder error path + - md: fix update super 1.0 on rdev size change + - nfsd: fix use-after-free due to delegation race + - nfsd: Fix nsfd startup race (again) + - tracefs: Have new files inherit the ownership of their parent + - selftests: KVM: avoid failures due to reserved HyperTransport region + - hwmon: (pwm-fan) Ensure the fan going on in .probe() + - mmc: renesas_sdhi: initialize variable properly when tuning + - clk: qcom: regmap-mux: fix parent clock lookup + - thermal: int340x: Fix VCoRefLow MMIO bit offset for TGL + - drm/syncobj: Deal with signalled fences in drm_syncobj_find_fence. + - libata: add horkage for ASMedia 1092 + - io_uring: ensure task_work gets run as part of cancelations + - wait: add wake_up_pollfree() + - binder: use wake_up_pollfree() + - signalfd: use wake_up_pollfree() + - aio: keep poll requests on waitqueue until completed + - aio: fix use-after-free due to missing POLLFREE handling + - tracefs: Set all files to the same group ownership as the mount option + - i2c: mpc: Use atomic read and fix break condition + - block: fix ioprio_get(IOPRIO_WHO_PGRP) vs setuid(2) + - scsi: pm80xx: Do not call scsi_remove_host() in pm8001_alloc() + - scsi: scsi_debug: Fix buffer size of REPORT ZONES command + - ALSA: usb-audio: Reorder snd_djm_devices[] entries + - qede: validate non LSO skb length + - PM: runtime: Fix pm_runtime_active() kerneldoc comment + - ASoC: rt5682: Fix crash due to out of scope stack vars + - ASoC: qdsp6: q6routing: Fix return value from msm_routing_put_audio_mixer + - ASoC: codecs: wsa881x: fix return values from kcontrol put + - ASoC: codecs: wcd934x: handle channel mappping list correctly + - ASoC: codecs: wcd934x: return correct value from mixer put + - RDMA/hns: Do not halt commands during reset until later + - RDMA/hns: Do not destroy QP resources in the hw resetting phase + - hwmon: (dell-smm) Fix warning on /proc/i8k creation error + - clk: imx: use module_platform_driver + - clk: qcom: clk-alpha-pll: Don't reconfigure running Trion + - i40e: Fix failed opcode appearing if handling messages from VF + - i40e: Fix pre-set max number of queues for VF + - mtd: rawnand: fsmc: Take instruction delay into account + - mtd: rawnand: fsmc: Fix timing computation + - bpf, sockmap: Re-evaluate proto ops when psock is removed from sockmap + - i40e: Fix NULL pointer dereference in i40e_dbg_dump_desc + - Revert "PCI: aardvark: Fix support for PCI_ROM_ADDRESS1 on emulated bridge" + - drm/amd/display: Fix DPIA outbox timeout after S3/S4/reset + - perf tools: Fix SMT detection fast read path + - Documentation/locking/locktypes: Update migrate_disable() bits. + - dt-bindings: net: Reintroduce PHY no lane swap binding + - tools build: Remove needless libpython-version feature check that breaks + test-all fast path + - net: cdc_ncm: Allow for dwNtbOutMaxSize to be unset or zero + - net: altera: set a couple error code in probe() + - net: fec: only clear interrupt of handling queue in fec_enet_rx_queue() + - net, neigh: clear whole pneigh_entry at alloc time + - net/qla3xxx: fix an error code in ql_adapter_up() + - selftests/fib_tests: Rework fib_rp_filter_test() + - USB: gadget: detect too-big endpoint 0 requests + - USB: gadget: zero allocate endpoint 0 buffers + - Revert "usb: dwc3: dwc3-qcom: Enable tx-fifo-resize property by default" + - usb: core: config: fix validation of wMaxPacketValue entries + - usb: core: config: using bit mask instead of individual bits + - xhci: avoid race between disable slot command and host runtime suspend + - iio: gyro: adxrs290: fix data signedness + - iio: trigger: Fix reference counting + - iio: trigger: stm32-timer: fix MODULE_ALIAS + - iio: stk3310: Don't return error code in interrupt handler + - iio: mma8452: Fix trigger reference couting + - iio: ltr501: Don't return error code in trigger handler + - iio: kxsd9: Don't return error code in trigger handler + - iio: itg3200: Call iio_trigger_notify_done() on error + - iio: dln2-adc: Fix lockdep complaint + - iio: dln2: Check return value of devm_iio_trigger_register() + - iio: at91-sama5d2: Fix incorrect sign extension + - iio: adc: stm32: fix a current leak by resetting pcsel before disabling vdda + - iio: adc: axp20x_adc: fix charging current reporting on AXP22x + - iio: ad7768-1: Call iio_trigger_notify_done() on error + - iio: accel: kxcjk-1013: Fix possible memory leak in probe and remove + - nvmem: eeprom: at25: fix FRAM byte_len + - bus: mhi: pci_generic: Fix device recovery failed issue + - bus: mhi: core: Add support for forced PM resume + - csky: fix typo of fpu config macro + - irqchip/aspeed-scu: Replace update_bits with write_bits. + - irqchip/armada-370-xp: Fix return value of armada_370_xp_msi_alloc() + - irqchip/armada-370-xp: Fix support for Multi-MSI interrupts + - aio: Fix incorrect usage of eventfd_signal_allowed() + - irqchip/irq-gic-v3-its.c: Force synchronisation when issuing INVALL + - irqchip: nvic: Fix offset for Interrupt Priority Offsets + - misc: fastrpc: fix improper packet size calculation + - clocksource/drivers/dw_apb_timer_of: Fix probe failure + - bpf: Add selftests to cover packet access corner cases + - Linux 5.15.8 + + * Can't read/write SD card after running CPU offline test in 5.11.0 and 5.13.0 + (LP: #1951784) // Jammy update: v5.15.8 upstream stable release + (LP: #1954931) + - misc: rtsx: Avoid mangling IRQ during runtime PM + + * Enable Landlock by default (LP: #1953192) + - [Config] Enable Landlock by default + + * Add s0i3 RTC wake up for AMD systems (LP: #1950013) + - platform/x86: amd-pmc: Export Idlemask values based on the APU + - platform/x86: amd-pmc: adjust arguments for `amd_pmc_send_cmd` + - platform/x86: amd-pmc: Add special handling for timer based S0i3 wakeup + + * Fix runtime power management on USB controller with XHCI_RESET_ON_RESUME + flag (LP: #1954369) + - SAUCE: xhci: Remove CONFIG_USB_DEFAULT_PERSIST to prevent xHCI from runtime + suspending + + * Fix System hangs on black screen when reboot (LP: #1949321) + - drm/i915/hdmi: convert intel_hdmi_to_dev to intel_hdmi_to_i915 + - drm/i915: Don't request GMBUS to generate irqs when called while irqs are + off + - drm/i915/hdmi: Turn DP++ TMDS output buffers back on in encoder->shutdown() + + * require CAP_NET_ADMIN to attach N_HCI ldisc (LP: #1949516) + - Bluetooth: hci_ldisc: require CAP_NET_ADMIN to attach N_HCI ldisc + + * mt7921e: Failed to start WM firmware (LP: #1954300) + - SAUCE: Bluetooth: btusb: Handle download_firmware failure cases + - SAUCE: Bluetooth: btusb: Return error code when getting patch status failed + + * Miscellaneous Ubuntu changes + - [Packaging] Add list of built-in modules to the ABI + - [Packaging] abi-check: Process modules.builtin + - SAUCE: allow to use __wake_up_pollfree() from GPL modules + - [Packaging] enforce xz compression for debs + - [Config] update config after v5.15.12 + - [Packaging] temporarily disable signed v4l2loopback + + -- Andrea Righi Tue, 04 Jan 2022 11:22:10 +0100 + +linux (5.15.0-14.14) jammy; urgency=medium + + * jammy/linux: 5.15.0-14.14 -proposed tracker (LP: #1954627) + + * Jammy update: v5.15.7 upstream stable release (LP: #1953731) + - ALSA: usb-audio: Restrict rates for the shared clocks + - ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback + - ALSA: usb-audio: Disable low-latency playback for free-wheel mode + - ALSA: usb-audio: Disable low-latency mode for implicit feedback sync + - ALSA: usb-audio: Check available frames for the next packet size + - ALSA: usb-audio: Add spinlock to stop_urbs() + - ALSA: usb-audio: Improved lowlatency playback support + - ALSA: usb-audio: Avoid killing in-flight URBs during draining + - ALSA: usb-audio: Fix packet size calculation regression + - ALSA: usb-audio: Less restriction for low-latency playback mode + - ALSA: usb-audio: Switch back to non-latency mode at a later point + - ALSA: usb-audio: Don't start stream for capture at prepare + - gfs2: release iopen glock early in evict + - gfs2: Fix length of holes reported at end-of-file + - powerpc/pseries/ddw: Revert "Extend upper limit for huge DMA window for + persistent memory" + - powerpc/pseries/ddw: Do not try direct mapping with persistent memory and + one window + - drm/sun4i: fix unmet dependency on RESET_CONTROLLER for PHY_SUN6I_MIPI_DPHY + - mac80211: do not access the IV when it was stripped + - mac80211: fix throughput LED trigger + - x86/hyperv: Move required MSRs check to initial platform probing + - net/smc: Transfer remaining wait queue entries during fallback + - atlantic: Fix OOB read and write in hw_atl_utils_fw_rpc_wait + - net: return correct error code + - pinctrl: qcom: fix unmet dependencies on GPIOLIB for GPIOLIB_IRQCHIP + - platform/x86: dell-wmi-descriptor: disable by default + - platform/x86: thinkpad_acpi: Add support for dual fan control + - platform/x86: thinkpad_acpi: Fix WWAN device disabled issue after S3 deep + - s390/setup: avoid using memblock_enforce_memory_limit + - btrfs: silence lockdep when reading chunk tree during mount + - btrfs: check-integrity: fix a warning on write caching disabled disk + - thermal: core: Reset previous low and high trip during thermal zone init + - scsi: iscsi: Unblock session then wake up error handler + - drm/amd/pm: Remove artificial freq level on Navi1x + - drm/amd/amdkfd: Fix kernel panic when reset failed and been triggered again + - drm/amd/amdgpu: fix potential memleak + - ata: ahci: Add Green Sardine vendor ID as board_ahci_mobile + - ata: libahci: Adjust behavior when StorageD3Enable _DSD is set + - ethernet: hisilicon: hns: hns_dsaf_misc: fix a possible array overflow in + hns_dsaf_ge_srst_by_port() + - ipv6: check return value of ipv6_skip_exthdr + - net: tulip: de4x5: fix the problem that the array 'lp->phy[8]' may be out of + bound + - net: ethernet: dec: tulip: de4x5: fix possible array overflows in + type3_infoblock() + - perf sort: Fix the 'weight' sort key behavior + - perf sort: Fix the 'ins_lat' sort key behavior + - perf sort: Fix the 'p_stage_cyc' sort key behavior + - perf inject: Fix ARM SPE handling + - perf hist: Fix memory leak of a perf_hpp_fmt + - perf report: Fix memory leaks around perf_tip() + - tracing: Don't use out-of-sync va_list in event printing + - net/smc: Avoid warning of possible recursive locking + - ACPI: Add stubs for wakeup handler functions + - net/tls: Fix authentication failure in CCM mode + - vrf: Reset IPCB/IP6CB when processing outbound pkts in vrf dev xmit + - kprobes: Limit max data_size of the kretprobe instances + - ALSA: hda/cs8409: Set PMSG_ON earlier inside cs8409 driver + - rt2x00: do not mark device gone on EPROTO errors during start + - ipmi: Move remove_work to dedicated workqueue + - cpufreq: Fix get_cpu_device() failure in add_cpu_dev_symlink() + - iwlwifi: mvm: retry init flow if failed + - dma-buf: system_heap: Use 'for_each_sgtable_sg' in pages free flow + - s390/pci: move pseudo-MMIO to prevent MIO overlap + - fget: check that the fd still exists after getting a ref to it + - sata_fsl: fix UAF in sata_fsl_port_stop when rmmod sata_fsl + - sata_fsl: fix warning in remove_proc_entry when rmmod sata_fsl + - scsi: lpfc: Fix non-recovery of remote ports following an unsolicited LOGO + - scsi: ufs: ufs-pci: Add support for Intel ADL + - ipv6: fix memory leak in fib6_rule_suppress + - drm/amd/display: Allow DSC on supported MST branch devices + - drm/i915/dp: Perform 30ms delay after source OUI write + - KVM: fix avic_set_running for preemptable kernels + - KVM: Disallow user memslot with size that exceeds "unsigned long" + - KVM: x86/mmu: Fix TLB flush range when handling disconnected pt + - KVM: Ensure local memslot copies operate on up-to-date arch-specific data + - KVM: x86: ignore APICv if LAPIC is not enabled + - KVM: nVMX: Emulate guest TLB flush on nested VM-Enter with new vpid12 + - KVM: nVMX: Flush current VPID (L1 vs. L2) for KVM_REQ_TLB_FLUSH_GUEST + - KVM: nVMX: Abide to KVM_REQ_TLB_FLUSH_GUEST request on nested vmentry/vmexit + - KVM: VMX: prepare sync_pir_to_irr for running with APICv disabled + - KVM: x86: Use a stable condition around all VT-d PI paths + - KVM: MMU: shadow nested paging does not have PKU + - KVM: arm64: Avoid setting the upper 32 bits of TCR_EL2 and CPTR_EL2 to 1 + - KVM: X86: Use vcpu->arch.walk_mmu for kvm_mmu_invlpg() + - KVM: x86: check PIR even for vCPUs with disabled APICv + - tracing/histograms: String compares should not care about signed values + - net: dsa: mv88e6xxx: Fix application of erratum 4.8 for 88E6393X + - net: dsa: mv88e6xxx: Drop unnecessary check in + mv88e6393x_serdes_erratum_4_6() + - net: dsa: mv88e6xxx: Save power by disabling SerDes trasmitter and receiver + - net: dsa: mv88e6xxx: Add fix for erratum 5.2 of 88E6393X family + - net: dsa: mv88e6xxx: Fix inband AN for 2500base-x on 88E6393X family + - net: dsa: mv88e6xxx: Link in pcs_get_state() if AN is bypassed + - wireguard: selftests: increase default dmesg log size + - wireguard: allowedips: add missing __rcu annotation to satisfy sparse + - wireguard: selftests: actually test for routing loops + - wireguard: selftests: rename DEBUG_PI_LIST to DEBUG_PLIST + - wireguard: device: reset peer src endpoint when netns exits + - wireguard: receive: use ring buffer for incoming handshakes + - wireguard: receive: drop handshakes if queue lock is contended + - wireguard: ratelimiter: use kvcalloc() instead of kvzalloc() + - i2c: stm32f7: flush TX FIFO upon transfer errors + - i2c: stm32f7: recover the bus on access timeout + - i2c: stm32f7: stop dma transfer in case of NACK + - i2c: cbus-gpio: set atomic transfer callback + - natsemi: xtensa: fix section mismatch warnings + - tcp: fix page frag corruption on page fault + - net: qlogic: qlcnic: Fix a NULL pointer dereference in + qlcnic_83xx_add_rings() + - net: mpls: Fix notifications when deleting a device + - siphash: use _unaligned version by default + - arm64: ftrace: add missing BTIs + - iwlwifi: fix warnings produced by kernel debug options + - net/mlx5e: IPsec: Fix Software parser inner l3 type setting in case of + encapsulation + - net/mlx4_en: Fix an use-after-free bug in mlx4_en_try_alloc_resources() + - selftests: net: Correct case name + - net: dsa: b53: Add SPI ID table + - mt76: mt7915: fix NULL pointer dereference in mt7915_get_phy_mode + - ASoC: tegra: Fix wrong value type in ADMAIF + - ASoC: tegra: Fix wrong value type in I2S + - ASoC: tegra: Fix wrong value type in DMIC + - ASoC: tegra: Fix wrong value type in DSPK + - ASoC: tegra: Fix kcontrol put callback in ADMAIF + - ASoC: tegra: Fix kcontrol put callback in I2S + - ASoC: tegra: Fix kcontrol put callback in DMIC + - ASoC: tegra: Fix kcontrol put callback in DSPK + - ASoC: tegra: Fix kcontrol put callback in AHUB + - rxrpc: Fix rxrpc_peer leak in rxrpc_look_up_bundle() + - rxrpc: Fix rxrpc_local leak in rxrpc_lookup_peer() + - ALSA: intel-dsp-config: add quirk for CML devices based on ES8336 codec + - net: stmmac: Avoid DMA_CHAN_CONTROL write if no Split Header support + - net: usb: lan78xx: lan78xx_phy_init(): use PHY_POLL instead of "0" if no IRQ + is available + - net: marvell: mvpp2: Fix the computation of shared CPUs + - dpaa2-eth: destroy workqueue at the end of remove function + - octeontx2-af: Fix a memleak bug in rvu_mbox_init() + - net: annotate data-races on txq->xmit_lock_owner + - ipv4: convert fib_num_tclassid_users to atomic_t + - net/smc: fix wrong list_del in smc_lgr_cleanup_early + - net/rds: correct socket tunable error in rds_tcp_tune() + - net/smc: Keep smc_close_final rc during active close + - drm/msm/a6xx: Allocate enough space for GMU registers + - drm/msm: Do hw_init() before capturing GPU state + - drm/vc4: kms: Wait for the commit before increasing our clock rate + - drm/vc4: kms: Fix return code check + - drm/vc4: kms: Add missing drm_crtc_commit_put + - drm/vc4: kms: Clear the HVS FIFO commit pointer once done + - drm/vc4: kms: Don't duplicate pending commit + - drm/vc4: kms: Fix previous HVS commit wait + - atlantic: Increase delay for fw transactions + - atlatnic: enable Nbase-t speeds with base-t + - atlantic: Fix to display FW bundle version instead of FW mac version. + - atlantic: Add missing DIDs and fix 115c. + - Remove Half duplex mode speed capabilities. + - atlantic: Fix statistics logic for production hardware + - atlantic: Remove warn trace message. + - KVM: x86/mmu: Skip tlb flush if it has been done in zap_gfn_range() + - KVM: x86/mmu: Pass parameter flush as false in + kvm_tdp_mmu_zap_collapsible_sptes() + - drm/msm/devfreq: Fix OPP refcnt leak + - drm/msm: Fix mmap to include VM_IO and VM_DONTDUMP + - drm/msm: Fix wait_fence submitqueue leak + - drm/msm: Restore error return on invalid fence + - ASoC: rk817: Add module alias for rk817-codec + - iwlwifi: Fix memory leaks in error handling path + - KVM: X86: Fix when shadow_root_level=5 && guest root_level<4 + - KVM: SEV: initialize regions_list of a mirror VM + - net/mlx5e: Fix missing IPsec statistics on uplink representor + - net/mlx5: Move MODIFY_RQT command to ignore list in internal error state + - net/mlx5: E-switch, Respect BW share of the new group + - net/mlx5: E-Switch, fix single FDB creation on BlueField + - net/mlx5: E-Switch, Check group pointer before reading bw_share value + - KVM: x86/pmu: Fix reserved bits for AMD PerfEvtSeln register + - KVM: VMX: Set failure code in prepare_vmcs02() + - mctp: Don't let RTM_DELROUTE delete local routes + - Revert "drm/i915: Implement Wa_1508744258" + - io-wq: don't retry task_work creation failure on fatal conditions + - x86/sev: Fix SEV-ES INS/OUTS instructions for word, dword, and qword + - x86/entry: Add a fence for kernel entry SWAPGS in paranoid_entry() + - x86/entry: Use the correct fence macro after swapgs in kernel CR3 + - x86/xen: Add xenpv_restore_regs_and_return_to_usermode() + - preempt/dynamic: Fix setup_preempt_mode() return value + - sched/uclamp: Fix rq->uclamp_max not set on first enqueue + - KVM: SEV: Return appropriate error codes if SEV-ES scratch setup fails + - KVM: x86/mmu: Rename slot_handle_leaf to slot_handle_level_4k + - KVM: x86/mmu: Remove spurious TLB flushes in TDP MMU zap collapsible path + - net/mlx5e: Rename lro_timeout to packet_merge_timeout + - net/mlx5e: Rename TIR lro functions to TIR packet merge functions + - net/mlx5e: Sync TIR params updates against concurrent create/modify + - serial: 8250_bcm7271: UART errors after resuming from S2 + - parisc: Fix KBUILD_IMAGE for self-extracting kernel + - parisc: Fix "make install" on newer debian releases + - parisc: Mark cr16 CPU clocksource unstable on all SMP machines + - vgacon: Propagate console boot parameters before calling `vc_resize' + - xhci: Fix commad ring abort, write all 64 bits to CRCR register. + - USB: NO_LPM quirk Lenovo Powered USB-C Travel Hub + - usb: typec: tcpm: Wait in SNK_DEBOUNCED until disconnect + - usb: cdns3: gadget: fix new urb never complete if ep cancel previous + requests + - usb: cdnsp: Fix a NULL pointer dereference in cdnsp_endpoint_init() + - x86/tsc: Add a timer to make sure TSC_adjust is always checked + - x86/tsc: Disable clocksource watchdog for TSC on qualified platorms + - x86/64/mm: Map all kernel memory into trampoline_pgd + - tty: serial: msm_serial: Deactivate RX DMA for polling support + - serial: pl011: Add ACPI SBSA UART match id + - serial: tegra: Change lower tolerance baud rate limit for tegra20 and + tegra30 + - serial: core: fix transmit-buffer reset and memleak + - serial: 8250_pci: Fix ACCES entries in pci_serial_quirks array + - serial: 8250_pci: rewrite pericom_do_set_divisor() + - serial: 8250: Fix RTS modem control while in rs485 mode + - serial: liteuart: Fix NULL pointer dereference in ->remove() + - serial: liteuart: fix use-after-free and memleak on unbind + - serial: liteuart: fix minor-number leak on probe errors + - ipmi: msghandler: Make symbol 'remove_work_wq' static + - Linux 5.15.7 + + * Updates to ib_peer_memory requested by Nvidia (LP: #1947206) + - SAUCE: RDMA/core: Updated ib_peer_memory + - SAUCE: RDMA/core: ib_peer_memory fix build errors + + * Jammy update: v5.15.6 upstream stable release (LP: #1953370) + - scsi: sd: Fix sd_do_mode_sense() buffer length handling + - ACPI: Get acpi_device's parent from the parent field + - ACPI: CPPC: Add NULL pointer check to cppc_get_perf() + - USB: serial: pl2303: fix GC type detection + - USB: serial: option: add Telit LE910S1 0x9200 composition + - USB: serial: option: add Fibocom FM101-GL variants + - usb: dwc2: gadget: Fix ISOC flow for elapsed frames + - usb: dwc2: hcd_queue: Fix use of floating point literal + - usb: dwc3: leave default DMA for PCI devices + - usb: dwc3: core: Revise GHWPARAMS9 offset + - usb: dwc3: gadget: Ignore NoStream after End Transfer + - usb: dwc3: gadget: Check for L1/L2/U3 for Start Transfer + - usb: dwc3: gadget: Fix null pointer exception + - net: usb: Correct PHY handling of smsc95xx + - net: nexthop: fix null pointer dereference when IPv6 is not enabled + - usb: chipidea: ci_hdrc_imx: fix potential error pointer dereference in probe + - usb: typec: fusb302: Fix masking of comparator and bc_lvl interrupts + - usb: xhci: tegra: Check padctrl interrupt presence in device tree + - usb: hub: Fix usb enumeration issue due to address0 race + - usb: hub: Fix locking issues with address0_mutex + - binder: fix test regression due to sender_euid change + - ALSA: ctxfi: Fix out-of-range access + - ALSA: hda/realtek: Add quirk for ASRock NUC Box 1100 + - ALSA: hda/realtek: Fix LED on HP ProBook 435 G7 + - media: cec: copy sequence field for the reply + - Revert "parisc: Fix backtrace to always include init funtion names" + - HID: wacom: Use "Confidence" flag to prevent reporting invalid contacts + - staging/fbtft: Fix backlight + - staging: greybus: Add missing rwsem around snd_ctl_remove() calls + - staging: rtl8192e: Fix use after free in _rtl92e_pci_disconnect() + - staging: r8188eu: Use kzalloc() with GFP_ATOMIC in atomic context + - staging: r8188eu: Fix breakage introduced when 5G code was removed + - staging: r8188eu: use GFP_ATOMIC under spinlock + - staging: r8188eu: fix a memory leak in rtw_wx_read32() + - fuse: release pipe buf after last use + - xen: don't continue xenstore initialization in case of errors + - xen: detect uninitialized xenbus in xenbus_init + - io_uring: correct link-list traversal locking + - io_uring: fail cancellation for EXITING tasks + - io_uring: fix link traversal locking + - drm/amdgpu: IH process reset count when restart + - drm/amdgpu/pm: fix powerplay OD interface + - drm/nouveau: recognise GA106 + - ksmbd: downgrade addition info error msg to debug in smb2_get_info_sec() + - ksmbd: contain default data stream even if xattr is empty + - ksmbd: fix memleak in get_file_stream_info() + - KVM: PPC: Book3S HV: Prevent POWER7/8 TLB flush flushing SLB + - tracing/uprobe: Fix uprobe_perf_open probes iteration + - tracing: Fix pid filtering when triggers are attached + - mmc: sdhci-esdhc-imx: disable CMDQ support + - mmc: sdhci: Fix ADMA for PAGE_SIZE >= 64KiB + - mdio: aspeed: Fix "Link is Down" issue + - arm64: mm: Fix VM_BUG_ON(mm != &init_mm) for trans_pgd + - cpufreq: intel_pstate: Fix active mode offline/online EPP handling + - powerpc/32: Fix hardlockup on vmap stack overflow + - iomap: Fix inline extent handling in iomap_readpage + - NFSv42: Fix pagecache invalidation after COPY/CLONE + - PCI: aardvark: Deduplicate code in advk_pcie_rd_conf() + - PCI: aardvark: Implement re-issuing config requests on CRS response + - PCI: aardvark: Simplify initialization of rootcap on virtual bridge + - PCI: aardvark: Fix link training + - drm/amd/display: Fix OLED brightness control on eDP + - proc/vmcore: fix clearing user buffer by properly using clear_user() + - ASoC: SOF: Intel: hda: fix hotplug when only codec is suspended + - netfilter: ctnetlink: fix filtering with CTA_TUPLE_REPLY + - netfilter: ctnetlink: do not erase error code with EINVAL + - netfilter: ipvs: Fix reuse connection if RS weight is 0 + - netfilter: flowtable: fix IPv6 tunnel addr match + - media: v4l2-core: fix VIDIOC_DQEVENT handling on non-x86 + - firmware: arm_scmi: Fix null de-reference on error path + - ARM: dts: BCM5301X: Fix I2C controller interrupt + - ARM: dts: BCM5301X: Add interrupt properties to GPIO node + - ARM: dts: bcm2711: Fix PCIe interrupts + - ASoC: qdsp6: q6routing: Conditionally reset FrontEnd Mixer + - ASoC: qdsp6: q6asm: fix q6asm_dai_prepare error handling + - ASoC: topology: Add missing rwsem around snd_ctl_remove() calls + - ASoC: codecs: wcd938x: fix volatile register range + - ASoC: codecs: wcd934x: return error code correctly from hw_params + - ASoC: codecs: lpass-rx-macro: fix HPHR setting CLSH mask + - net: ieee802154: handle iftypes as u32 + - firmware: arm_scmi: Fix base agent discover response + - firmware: arm_scmi: pm: Propagate return value to caller + - ASoC: stm32: i2s: fix 32 bits channel length without mclk + - NFSv42: Don't fail clone() unless the OP_CLONE operation failed + - ARM: socfpga: Fix crash with CONFIG_FORTIRY_SOURCE + - drm/nouveau/acr: fix a couple NULL vs IS_ERR() checks + - scsi: qla2xxx: edif: Fix off by one bug in qla_edif_app_getfcinfo() + - scsi: mpt3sas: Fix kernel panic during drive powercycle test + - scsi: mpt3sas: Fix system going into read-only mode + - scsi: mpt3sas: Fix incorrect system timestamp + - drm/vc4: fix error code in vc4_create_object() + - drm/aspeed: Fix vga_pw sysfs output + - net: marvell: prestera: fix brige port operation + - net: marvell: prestera: fix double free issue on err path + - HID: input: Fix parsing of HID_CP_CONSUMER_CONTROL fields + - HID: input: set usage type to key on keycode remap + - HID: magicmouse: prevent division by 0 on scroll + - iavf: Prevent changing static ITR values if adaptive moderation is on + - iavf: Fix refreshing iavf adapter stats on ethtool request + - iavf: Fix VLAN feature flags after VFR + - x86/pvh: add prototype for xen_pvh_init() + - xen/pvh: add missing prototype to header + - ALSA: intel-dsp-config: add quirk for JSL devices based on ES8336 codec + - mptcp: fix delack timer + - mptcp: use delegate action to schedule 3rd ack retrans + - af_unix: fix regression in read after shutdown + - firmware: smccc: Fix check for ARCH_SOC_ID not implemented + - ipv6: fix typos in __ip6_finish_output() + - nfp: checking parameter process for rx-usecs/tx-usecs is invalid + - net: stmmac: retain PTP clock time during SIOCSHWTSTAMP ioctls + - net: ipv6: add fib6_nh_release_dsts stub + - net: nexthop: release IPv6 per-cpu dsts when replacing a nexthop group + - ice: fix vsi->txq_map sizing + - ice: avoid bpf_prog refcount underflow + - scsi: core: sysfs: Fix setting device state to SDEV_RUNNING + - scsi: scsi_debug: Zero clear zones at reset write pointer + - erofs: fix deadlock when shrink erofs slab + - i2c: virtio: disable timeout handling + - net/smc: Ensure the active closing peer first closes clcsock + - mlxsw: spectrum: Protect driver from buggy firmware + - net: ipa: directly disable ipa-setup-ready interrupt + - net: ipa: separate disabling setup from modem stop + - net: ipa: kill ipa_cmd_pipeline_clear() + - net: marvell: mvpp2: increase MTU limit when XDP enabled + - cpufreq: intel_pstate: Add Ice Lake server to out-of-band IDs + - nvmet-tcp: fix incomplete data digest send + - drm/hyperv: Fix device removal on Gen1 VMs + - arm64: uaccess: avoid blocking within critical sections + - net/ncsi : Add payload to be 32-bit aligned to fix dropped packets + - PM: hibernate: use correct mode for swsusp_close() + - drm/amd/display: Fix DPIA outbox timeout after GPU reset + - drm/amd/display: Set plane update flags for all planes in reset + - tcp_cubic: fix spurious Hystart ACK train detections for not-cwnd-limited + flows + - lan743x: fix deadlock in lan743x_phy_link_status_change() + - net: phylink: Force link down and retrigger resolve on interface change + - net: phylink: Force retrigger in case of latched link-fail indicator + - net/smc: Fix NULL pointer dereferencing in smc_vlan_by_tcpsk() + - net/smc: Fix loop in smc_listen + - nvmet: use IOCB_NOWAIT only if the filesystem supports it + - igb: fix netpoll exit with traffic + - MIPS: loongson64: fix FTLB configuration + - MIPS: use 3-level pgtable for 64KB page size on MIPS_VA_BITS_48 + - tls: splice_read: fix record type check + - tls: splice_read: fix accessing pre-processed records + - tls: fix replacing proto_ops + - net: stmmac: Disable Tx queues when reconfiguring the interface + - net/sched: sch_ets: don't peek at classes beyond 'nbands' + - ethtool: ioctl: fix potential NULL deref in ethtool_set_coalesce() + - net: vlan: fix underflow for the real_dev refcnt + - net/smc: Don't call clcsock shutdown twice when smc shutdown + - net: hns3: fix VF RSS failed problem after PF enable multi-TCs + - net: hns3: fix incorrect components info of ethtool --reset command + - net: mscc: ocelot: don't downgrade timestamping RX filters in SIOCSHWTSTAMP + - net: mscc: ocelot: correctly report the timestamping RX filters in ethtool + - locking/rwsem: Make handoff bit handling more consistent + - perf: Ignore sigtrap for tracepoints destined for other tasks + - sched/scs: Reset task stack state in bringup_cpu() + - iommu/rockchip: Fix PAGE_DESC_HI_MASKs for RK3568 + - iommu/vt-d: Fix unmap_pages support + - f2fs: quota: fix potential deadlock + - f2fs: set SBI_NEED_FSCK flag when inconsistent node block found + - riscv: dts: microchip: fix board compatible + - riscv: dts: microchip: drop duplicated MMC/SDHC node + - cifs: nosharesock should not share socket with future sessions + - ceph: properly handle statfs on multifs setups + - iommu/amd: Clarify AMD IOMMUv2 initialization messages + - vdpa_sim: avoid putting an uninitialized iova_domain + - vhost/vsock: fix incorrect used length reported to the guest + - ksmbd: Fix an error handling path in 'smb2_sess_setup()' + - tracing: Check pid filtering when creating events + - cifs: nosharesock should be set on new server + - io_uring: fix soft lockup when call __io_remove_buffers + - firmware: arm_scmi: Fix type error assignment in voltage protocol + - firmware: arm_scmi: Fix type error in sensor protocol + - docs: accounting: update delay-accounting.rst reference + - blk-mq: cancel blk-mq dispatch work in both blk_cleanup_queue and + disk_release() + - block: avoid to quiesce queue in elevator_init_mq + - drm/amdgpu/gfx10: add wraparound gpu counter check for APUs as well + - drm/amdgpu/gfx9: switch to golden tsc registers for renoir+ + - Linux 5.15.6 + + * Fix bogus HDMI audio interface (LP: #1953208) + - ALSA: hda/hdmi: Consider ELD is invalid when no SAD is present + + * Miscellaneous Ubuntu changes + - [Config] re-enabled UBSAN without TRAP + - SAUCE: ipv6: fix NULL pointer dereference in ip6_output() + - SAUCE: RDMA/core: Introduce peer memory interface + - [Config] toolchain version update + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] Temporarily disable signing for ppc64el and s390x" + - Revert "UBUNTU: SAUCE: vt -- maintain bootloader screen mode and content + until vt switch" + + -- Paolo Pisati Mon, 13 Dec 2021 12:13:17 +0100 + +linux (5.15.0-13.13) jammy; urgency=medium + + * jammy/linux: 5.15.0-13.13 -proposed tracker (LP: #1952583) + + * Packaging resync (LP: #1786013) + - [Packaging] resync update-dkms-versions helper + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Jammy update: v5.15.5 upstream stable release (LP: #1952579) + - arm64: zynqmp: Do not duplicate flash partition label property + - arm64: zynqmp: Fix serial compatible string + - clk: sunxi-ng: Unregister clocks/resets when unbinding + - ARM: dts: sunxi: Fix OPPs node name + - arm64: dts: allwinner: h5: Fix GPU thermal zone node name + - arm64: dts: allwinner: a100: Fix thermal zone node name + - staging: wfx: ensure IRQ is ready before enabling it + - ARM: dts: BCM5301X: Fix nodes names + - ARM: dts: BCM5301X: Fix MDIO mux binding + - ARM: dts: NSP: Fix mpcore, mmc node names + - arm64: dts: broadcom: bcm4908: Move reboot syscon out of bus + - scsi: pm80xx: Fix memory leak during rmmod + - scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq() + - ASoC: mediatek: mt8195: Add missing of_node_put() + - arm64: dts: rockchip: Disable CDN DP on Pinebook Pro + - arm64: dts: hisilicon: fix arm,sp805 compatible string + - RDMA/bnxt_re: Check if the vlan is valid before reporting + - bus: ti-sysc: Add quirk handling for reinit on context lost + - bus: ti-sysc: Use context lost quirk for otg + - usb: musb: tusb6010: check return value after calling + platform_get_resource() + - usb: typec: tipd: Remove WARN_ON in tps6598x_block_read + - ARM: dts: ux500: Skomer regulator fixes + - staging: rtl8723bs: remove possible deadlock when disconnect (v2) + - staging: rtl8723bs: remove a second possible deadlock + - staging: rtl8723bs: remove a third possible deadlock + - ARM: BCM53016: Specify switch ports for Meraki MR32 + - arm64: dts: qcom: msm8998: Fix CPU/L2 idle state latency and residency + - arm64: dts: qcom: ipq6018: Fix qcom,controlled-remotely property + - arm64: dts: qcom: ipq8074: Fix qcom,controlled-remotely property + - arm64: dts: qcom: sdm845: Fix qcom,controlled-remotely property + - arm64: dts: freescale: fix arm,sp805 compatible string + - arm64: dts: ls1012a: Add serial alias for ls1012a-rdb + - RDMA/rxe: Separate HW and SW l/rkeys + - ASoC: SOF: Intel: hda-dai: fix potential locking issue + - scsi: core: Fix scsi_mode_sense() buffer length handling + - ALSA: usb-audio: disable implicit feedback sync for Behringer UFX1204 and + UFX1604 + - clk: imx: imx6ul: Move csi_sel mux to correct base register + - ASoC: es8316: Use IRQF_NO_AUTOEN when requesting the IRQ + - ASoC: rt5651: Use IRQF_NO_AUTOEN when requesting the IRQ + - ASoC: nau8824: Add DMI quirk mechanism for active-high jack-detect + - scsi: advansys: Fix kernel pointer leak + - scsi: smartpqi: Add controller handshake during kdump + - arm64: dts: imx8mm-kontron: Fix reset delays for ethernet PHY + - ALSA: intel-dsp-config: add quirk for APL/GLK/TGL devices based on ES8336 + codec + - ASoC: Intel: soc-acpi: add missing quirk for TGL SDCA single amp + - ASoC: Intel: sof_sdw: add missing quirk for Dell SKU 0A45 + - firmware_loader: fix pre-allocated buf built-in firmware use + - HID: multitouch: disable sticky fingers for UPERFECT Y + - ALSA: usb-audio: Add support for the Pioneer DJM 750MK2 Mixer/Soundcard + - ARM: dts: omap: fix gpmc,mux-add-data type + - usb: host: ohci-tmio: check return value after calling + platform_get_resource() + - ASoC: rt5682: fix a little pop while playback + - ARM: dts: ls1021a: move thermal-zones node out of soc/ + - ARM: dts: ls1021a-tsn: use generic "jedec,spi-nor" compatible for flash + - ALSA: ISA: not for M68K + - iommu/vt-d: Do not falsely log intel_iommu is unsupported kernel option + - tty: tty_buffer: Fix the softlockup issue in flush_to_ldisc + - MIPS: sni: Fix the build + - scsi: scsi_debug: Fix out-of-bound read in resp_readcap16() + - scsi: scsi_debug: Fix out-of-bound read in resp_report_tgtpgs() + - scsi: target: Fix ordered tag handling + - scsi: target: Fix alua_tg_pt_gps_count tracking + - iio: imu: st_lsm6dsx: Avoid potential array overflow in st_lsm6dsx_set_odr() + - RDMA/core: Use kvzalloc when allocating the struct ib_port + - scsi: lpfc: Fix use-after-free in lpfc_unreg_rpi() routine + - scsi: lpfc: Fix link down processing to address NULL pointer dereference + - scsi: lpfc: Allow fabric node recovery if recovery is in progress before + devloss + - memory: tegra20-emc: Add runtime dependency on devfreq governor module + - powerpc/5200: dts: fix memory node unit name + - ARM: dts: qcom: fix memory and mdio nodes naming for RB3011 + - arm64: dts: qcom: Fix node name of rpm-msg-ram device nodes + - ALSA: gus: fix null pointer dereference on pointer block + - ALSA: usb-audio: fix null pointer dereference on pointer cs_desc + - clk: at91: sama7g5: remove prescaler part of master clock + - iommu/dart: Initialize DART_STREAMS_ENABLE + - powerpc/dcr: Use cmplwi instead of 3-argument cmpli + - powerpc/8xx: Fix Oops with STRICT_KERNEL_RWX without DEBUG_RODATA_TEST + - sh: check return code of request_irq + - maple: fix wrong return value of maple_bus_init(). + - f2fs: fix up f2fs_lookup tracepoints + - f2fs: fix to use WHINT_MODE + - f2fs: fix wrong condition to trigger background checkpoint correctly + - sh: fix kconfig unmet dependency warning for FRAME_POINTER + - sh: math-emu: drop unused functions + - sh: define __BIG_ENDIAN for math-emu + - f2fs: compress: disallow disabling compress on non-empty compressed file + - f2fs: fix incorrect return value in f2fs_sanity_check_ckpt() + - clk: ingenic: Fix bugs with divided dividers + - clk/ast2600: Fix soc revision for AHB + - clk: qcom: gcc-msm8996: Drop (again) gcc_aggre1_pnoc_ahb_clk + - KVM: arm64: Fix host stage-2 finalization + - mips: BCM63XX: ensure that CPU_SUPPORTS_32BIT_KERNEL is set + - MIPS: boot/compressed/: add __bswapdi2() to target for ZSTD decompression + - sched/core: Mitigate race cpus_share_cache()/update_top_cache_domain() + - sched/fair: Prevent dead task groups from regaining cfs_rq's + - perf/x86/vlbr: Add c->flags to vlbr event constraints + - blkcg: Remove extra blkcg_bio_issue_init + - tracing/histogram: Do not copy the fixed-size char array field over the + field size + - perf bpf: Avoid memory leak from perf_env__insert_btf() + - perf bench futex: Fix memory leak of perf_cpu_map__new() + - perf tests: Remove bash construct from record+zstd_comp_decomp.sh + - drm/nouveau: hdmigv100.c: fix corrupted HDMI Vendor InfoFrame + - bpf: Fix inner map state pruning regression. + - samples/bpf: Fix summary per-sec stats in xdp_sample_user + - samples/bpf: Fix incorrect use of strlen in xdp_redirect_cpu + - selftests: net: switch to socat in the GSO GRE test + - net/ipa: ipa_resource: Fix wrong for loop range + - tcp: Fix uninitialized access in skb frags array for Rx 0cp. + - tracing: Add length protection to histogram string copies + - nl80211: fix radio statistics in survey dump + - mac80211: fix monitor_sdata RCU/locking assertions + - net: ipa: HOLB register sometimes must be written twice + - net: ipa: disable HOLB drop when updating timer + - selftests: gpio: fix gpio compiling error + - net: bnx2x: fix variable dereferenced before check + - bnxt_en: reject indirect blk offload when hw-tc-offload is off + - tipc: only accept encrypted MSG_CRYPTO msgs + - sock: fix /proc/net/sockstat underflow in sk_clone_lock() + - net/smc: Make sure the link_id is unique + - NFSD: Fix exposure in nfsd4_decode_bitmap() + - iavf: Fix return of set the new channel count + - iavf: check for null in iavf_fix_features + - iavf: free q_vectors before queues in iavf_disable_vf + - iavf: don't clear a lock we don't hold + - iavf: Fix failure to exit out from last all-multicast mode + - iavf: prevent accidental free of filter structure + - iavf: validate pointers + - iavf: Fix for the false positive ASQ/ARQ errors while issuing VF reset + - iavf: Fix for setting queues to 0 + - iavf: Restore VLAN filters after link down + - bpf: Fix toctou on read-only map's constant scalar tracking + - MIPS: generic/yamon-dt: fix uninitialized variable error + - mips: bcm63xx: add support for clk_get_parent() + - mips: lantiq: add support for clk_get_parent() + - gpio: rockchip: needs GENERIC_IRQ_CHIP to fix build errors + - platform/x86: hp_accel: Fix an error handling path in 'lis3lv02d_probe()' + - platform/x86: think-lmi: Abort probe on analyze failure + - udp: Validate checksum in udp_read_sock() + - btrfs: make 1-bit bit-fields of scrub_page unsigned int + - RDMA/core: Set send and receive CQ before forwarding to the driver + - net/mlx5e: kTLS, Fix crash in RX resync flow + - net/mlx5e: Wait for concurrent flow deletion during neigh/fib events + - net/mlx5: E-Switch, Fix resetting of encap mode when entering switchdev + - net/mlx5e: nullify cq->dbg pointer in mlx5_debug_cq_remove() + - net/mlx5: Update error handler for UCTX and UMEM + - net/mlx5: E-Switch, rebuild lag only when needed + - net/mlx5e: CT, Fix multiple allocations and memleak of mod acts + - net/mlx5: Lag, update tracker when state change event received + - net/mlx5: E-Switch, return error if encap isn't supported + - scsi: ufs: core: Improve SCSI abort handling + - scsi: core: sysfs: Fix hang when device state is set via sysfs + - scsi: ufs: core: Fix task management completion timeout race + - scsi: ufs: core: Fix another task management completion race + - net: mvmdio: fix compilation warning + - net: sched: act_mirred: drop dst for the direction from egress to ingress + - net: dpaa2-eth: fix use-after-free in dpaa2_eth_remove + - net: virtio_net_hdr_to_skb: count transport header in UFO + - i40e: Fix correct max_pkt_size on VF RX queue + - i40e: Fix NULL ptr dereference on VSI filter sync + - i40e: Fix changing previously set num_queue_pairs for PFs + - i40e: Fix ping is lost after configuring ADq on VF + - RDMA/mlx4: Do not fail the registration on port stats + - i40e: Fix warning message and call stack during rmmod i40e driver + - i40e: Fix creation of first queue by omitting it if is not power of two + - i40e: Fix display error code in dmesg + - NFC: reorganize the functions in nci_request + - NFC: reorder the logic in nfc_{un,}register_device + - NFC: add NCI_UNREG flag to eliminate the race + - e100: fix device suspend/resume + - ptp: ocp: Fix a couple NULL vs IS_ERR() checks + - tools build: Fix removal of feature-sync-compare-and-swap feature detection + - riscv: fix building external modules + - KVM: PPC: Book3S HV: Use GLOBAL_TOC for kvmppc_h_set_dabr/xdabr() + - powerpc: clean vdso32 and vdso64 directories + - powerpc/pseries: rename numa_dist_table to form2_distances + - powerpc/pseries: Fix numa FORM2 parsing fallback code + - pinctrl: qcom: sdm845: Enable dual edge errata + - pinctrl: qcom: sm8350: Correct UFS and SDC offsets + - perf/x86/intel/uncore: Fix filter_tid mask for CHA events on Skylake Server + - perf/x86/intel/uncore: Fix IIO event constraints for Skylake Server + - perf/x86/intel/uncore: Fix IIO event constraints for Snowridge + - s390/kexec: fix return code handling + - blk-cgroup: fix missing put device in error path from blkg_conf_pref() + - dmaengine: remove debugfs #ifdef + - tun: fix bonding active backup with arp monitoring + - Revert "mark pstore-blk as broken" + - pstore/blk: Use "%lu" to format unsigned long + - hexagon: export raw I/O routines for modules + - hexagon: clean up timer-regs.h + - tipc: check for null after calling kmemdup + - ipc: WARN if trying to remove ipc object which is absent + - shm: extend forced shm destroy to support objects from several IPC nses + - mm: kmemleak: slob: respect SLAB_NOLEAKTRACE flag + - hugetlb, userfaultfd: fix reservation restore on userfaultfd error + - kmap_local: don't assume kmap PTEs are linear arrays in memory + - mm/damon/dbgfs: use '__GFP_NOWARN' for user-specified size buffer allocation + - mm/damon/dbgfs: fix missed use of damon_dbgfs_lock + - x86/boot: Pull up cmdline preparation and early param parsing + - x86/sgx: Fix free page accounting + - x86/hyperv: Fix NULL deref in set_hv_tscchange_cb() if Hyper-V setup fails + - KVM: x86: Assume a 64-bit hypercall for guests with protected state + - KVM: x86: Fix uninitialized eoi_exit_bitmap usage in vcpu_load_eoi_exitmap() + - KVM: x86/mmu: include EFER.LMA in extended mmu role + - KVM: x86/xen: Fix get_attr of KVM_XEN_ATTR_TYPE_SHARED_INFO + - powerpc/signal32: Fix sigset_t copy + - powerpc/xive: Change IRQ domain to a tree domain + - powerpc/8xx: Fix pinned TLBs with CONFIG_STRICT_KERNEL_RWX + - Revert "drm/i915/tgl/dsi: Gate the ddi clocks after pll mapping" + - Revert "parisc: Reduce sigreturn trampoline to 3 instructions" + - ata: libata: improve ata_read_log_page() error message + - ata: libata: add missing ata_identify_page_supported() calls + - scsi: qla2xxx: Fix mailbox direction flags in qla2xxx_get_adapter_id() + - pinctrl: ralink: include 'ralink_regs.h' in 'pinctrl-mt7620.c' + - s390/setup: avoid reserving memory above identity mapping + - s390/boot: simplify and fix kernel memory layout setup + - s390/vdso: filter out -mstack-guard and -mstack-size + - s390/kexec: fix memory leak of ipl report buffer + - s390/dump: fix copying to user-space of swapped kdump oldmem + - block: Check ADMIN before NICE for IOPRIO_CLASS_RT + - fbdev: Prevent probing generic drivers if a FB is already registered + - KVM: SEV: Disallow COPY_ENC_CONTEXT_FROM if target has created vCPUs + - KVM: nVMX: don't use vcpu->arch.efer when checking host state on nested + state load + - drm/cma-helper: Release non-coherent memory with dma_free_noncoherent() + - printk: restore flushing of NMI buffers on remote CPUs after NMI backtraces + - udf: Fix crash after seekdir + - spi: fix use-after-free of the add_lock mutex + - net: stmmac: socfpga: add runtime suspend/resume callback for stratix10 + platform + - Drivers: hv: balloon: Use VMBUS_RING_SIZE() wrapper for dm_ring_size + - btrfs: fix memory ordering between normal and ordered work functions + - fs: handle circular mappings correctly + - net: stmmac: Fix signed/unsigned wreckage + - parisc/sticon: fix reverse colors + - cfg80211: call cfg80211_stop_ap when switch from P2P_GO type + - mac80211: fix radiotap header generation + - mac80211: drop check for DONT_REORDER in __ieee80211_select_queue + - drm/amd/display: Update swizzle mode enums + - drm/amd/display: Limit max DSC target bpp for specific monitors + - drm/i915/guc: Fix outstanding G2H accounting + - drm/i915/guc: Don't enable scheduling on a banned context, guc_id invalid, + not registered + - drm/i915/guc: Workaround reset G2H is received after schedule done G2H + - drm/i915/guc: Don't drop ce->guc_active.lock when unwinding context + - drm/i915/guc: Unwind context requests in reverse order + - drm/udl: fix control-message timeout + - drm/prime: Fix use after free in mmap with drm_gem_ttm_mmap + - drm/nouveau: Add a dedicated mutex for the clients list + - drm/nouveau: use drm_dev_unplug() during device removal + - drm/nouveau: clean up all clients on device removal + - drm/i915/dp: Ensure sink rate values are always valid + - drm/i915/dp: Ensure max link params are always valid + - drm/i915: Fix type1 DVI DP dual mode adapter heuristic for modern platforms + - drm/amdgpu: fix set scaling mode Full/Full aspect/Center not works on vga + and dvi connectors + - drm/amd/pm: avoid duplicate powergate/ungate setting + - signal: Implement force_fatal_sig + - exit/syscall_user_dispatch: Send ordinary signals on failure + - signal/powerpc: On swapcontext failure force SIGSEGV + - signal/s390: Use force_sigsegv in default_trap_handler + - signal/sparc32: Exit with a fatal signal when try_to_clear_window_buffer + fails + - signal/sparc32: In setup_rt_frame and setup_fram use force_fatal_sig + - signal/vm86_32: Properly send SIGSEGV when the vm86 state cannot be saved. + - signal/x86: In emulate_vsyscall force a signal instead of calling do_exit + - signal: Replace force_sigsegv(SIGSEGV) with force_fatal_sig(SIGSEGV) + - signal: Don't always set SA_IMMUTABLE for forced signals + - signal: Replace force_fatal_sig with force_exit_sig when in doubt + - hugetlbfs: flush TLBs correctly after huge_pmd_unshare + - RDMA/netlink: Add __maybe_unused to static inline in C file + - bpf: Forbid bpf_ktime_get_coarse_ns and bpf_timer_* in tracing progs + - selinux: fix NULL-pointer dereference when hashtab allocation fails + - ASoC: DAPM: Cover regression by kctl change notification fix + - ASoC: rsnd: fixup DMAEngine API + - usb: max-3421: Use driver data instead of maintaining a list of bound + devices + - ice: Fix VF true promiscuous mode + - ice: Delete always true check of PF pointer + - fs: export an inode_update_time helper + - btrfs: update device path inode time instead of bd_inode + - net: add and use skb_unclone_keeptruesize() helper + - x86/Kconfig: Fix an unused variable error in dell-smm-hwmon + - ALSA: hda: hdac_ext_stream: fix potential locking issues + - ALSA: hda: hdac_stream: fix potential locking issue in + snd_hdac_stream_assign() + - Linux 5.15.5 + + * Fix non-working e1000e device after resume (LP: #1951861) + - SAUCE: Revert "e1000e: Additional PHY power saving in S0ix" + - SAUCE: Revert "e1000e: Add polling mechanism to indicate CSME DPG exit" + - SAUCE: Revert "e1000e: Add handshake with the CSME to support S0ix" + + * [SRU][I/OEM-5.13/OEM-5.14] Add MAC passthrough support for more Lenovo docks + (LP: #1951767) + - net: usb: r8152: Add MAC passthrough support for more Lenovo Docks + + * [amdgpu] USB4 support for DP tunneling (LP: #1951868) + - drm/amd/display: Support for DMUB HPD interrupt handling + - drm/amd/display: Update link encoder object creation. + - drm/amd/display: USB4 DPIA enumeration and AUX Tunneling + - drm/amd/display: Support for DMUB HPD and HPD RX interrupt handling + - drm/amd/display: Set DPIA link endpoint type + - drm/amd/display: Stub out DPIA link training call + - drm/amd/display: Add stub to get DPIA tunneling device data + - drm/amd/display: Skip DPCD read for DPTX-to-DPIA hop + - drm/amd/display: Train DPIA links with fallback + - drm/amd/display: Implement DPIA training loop + - drm/amd/display: Implement DPIA link configuration + - drm/amd/display: Implement DPIA clock recovery phase + - drm/amd/display: Implement DPIA equalisation phase + - drm/amd/display: Implement end of training for hop in DPIA display path + - drm/amd/display: Support for SET_CONFIG processing with DMUB + - drm/amd/display: isolate link training setting override to its own function + - drm/amd/display: Read USB4 DP tunneling data from DPCD. + - drm/amd/display: Add dpia debug options + - drm/amd/display: Support for SET_CONFIG processing with DMUB + - drm/amd/display: Add DPCD writes at key points + - drm/amd/display: Fix DIG_HPD_SELECT for USB4 display endpoints. + - drm/amd/display: Add helper for blanking all dp displays + - drm/amd/display: Fix link training fallback logic + - drm/amd/display: Add debug flags for USB4 DP link training. + - drm/amd/display: Fix dynamic link encoder access. + - drm/amd/display: Fix concurrent dynamic encoder assignment + - drm/amd/display: Fix dynamic encoder reassignment + - drm/amd/display: Fix for access for ddc pin and aux engine. + - drm/amd/display: Deadlock/HPD Status/Crash Bug Fix + - drm/amd/display: Fix USB4 Aux via DMUB terminate unexpectedly + + * Miscellaneous Ubuntu changes + - [Packaging] Rewrite debian/scripts/module-check in Python + - [Config] update config and annotations after applying v5.15.5 + + -- Andrea Righi Mon, 29 Nov 2021 09:25:37 +0100 + +linux (5.15.0-12.12) jammy; urgency=medium + + * jammy/linux: 5.15.0-12.12 -proposed tracker (LP: #1951810) + + * Jammy update: v5.15.4 upstream stable release (LP: #1951820) + - string: uninline memcpy_and_pad + - Revert "drm: fb_helper: improve CONFIG_FB dependency" + - Revert "drm: fb_helper: fix CONFIG_FB dependency" + - KVM: Fix steal time asm constraints + - btrfs: introduce btrfs_is_data_reloc_root + - btrfs: zoned: add a dedicated data relocation block group + - btrfs: zoned: only allow one process to add pages to a relocation inode + - btrfs: zoned: use regular writes for relocation + - btrfs: check for relocation inodes on zoned btrfs in should_nocow + - btrfs: zoned: allow preallocation for relocation inodes + - fortify: Explicitly disable Clang support + - block: Add a helper to validate the block size + - loop: Use blk_validate_block_size() to validate block size + - Bluetooth: btusb: Add support for TP-Link UB500 Adapter + - parisc/entry: fix trace test in syscall exit path + - PCI/MSI: Deal with devices lying about their MSI mask capability + - PCI: Add MSI masking quirk for Nvidia ION AHCI + - perf/core: Avoid put_page() when GUP fails + - thermal: Fix NULL pointer dereferences in of_thermal_ functions + - Revert "ACPI: scan: Release PM resources blocked by unused objects" + - Linux 5.15.4 + + * Jammy update: v5.15.3 upstream stable release (LP: #1951822) + - xhci: Fix USB 3.1 enumeration issues by increasing roothub power-on-good + delay + - usb: xhci: Enable runtime-pm by default on AMD Yellow Carp platform + - Input: iforce - fix control-message timeout + - Input: elantench - fix misreporting trackpoint coordinates + - Input: i8042 - Add quirk for Fujitsu Lifebook T725 + - libata: fix read log timeout value + - ocfs2: fix data corruption on truncate + - scsi: scsi_ioctl: Validate command size + - scsi: core: Avoid leaving shost->last_reset with stale value if EH does not + run + - scsi: core: Remove command size deduction from scsi_setup_scsi_cmnd() + - scsi: lpfc: Don't release final kref on Fport node while ABTS outstanding + - scsi: lpfc: Fix FCP I/O flush functionality for TMF routines + - scsi: qla2xxx: Fix crash in NVMe abort path + - scsi: qla2xxx: Fix kernel crash when accessing port_speed sysfs file + - scsi: qla2xxx: Fix use after free in eh_abort path + - ce/gf100: fix incorrect CE0 address calculation on some GPUs + - char: xillybus: fix msg_ep UAF in xillyusb_probe() + - mmc: mtk-sd: Add wait dma stop done flow + - mmc: dw_mmc: Dont wait for DRTO on Write RSP error + - exfat: fix incorrect loading of i_blocks for large files + - io-wq: remove worker to owner tw dependency + - parisc: Fix set_fixmap() on PA1.x CPUs + - parisc: Fix ptrace check on syscall return + - tpm: Check for integer overflow in tpm2_map_response_body() + - firmware/psci: fix application of sizeof to pointer + - crypto: s5p-sss - Add error handling in s5p_aes_probe() + - media: rkvdec: Do not override sizeimage for output format + - media: ite-cir: IR receiver stop working after receive overflow + - media: rkvdec: Support dynamic resolution changes + - media: ir-kbd-i2c: improve responsiveness of hauppauge zilog receivers + - media: v4l2-ioctl: Fix check_ext_ctrls + - ALSA: hda/realtek: Fix mic mute LED for the HP Spectre x360 14 + - ALSA: hda/realtek: Add a quirk for HP OMEN 15 mute LED + - ALSA: hda/realtek: Add quirk for Clevo PC70HS + - ALSA: hda/realtek: Headset fixup for Clevo NH77HJQ + - ALSA: hda/realtek: Add a quirk for Acer Spin SP513-54N + - ALSA: hda/realtek: Add quirk for ASUS UX550VE + - ALSA: hda/realtek: Add quirk for HP EliteBook 840 G7 mute LED + - ALSA: ua101: fix division by zero at probe + - ALSA: 6fire: fix control and bulk message timeouts + - ALSA: line6: fix control and interrupt message timeouts + - ALSA: mixer: oss: Fix racy access to slots + - ALSA: mixer: fix deadlock in snd_mixer_oss_set_volume + - ALSA: usb-audio: Line6 HX-Stomp XL USB_ID for 48k-fixed quirk + - ALSA: usb-audio: Add registration quirk for JBL Quantum 400 + - ALSA: hda: Free card instance properly at probe errors + - ALSA: synth: missing check for possible NULL after the call to kstrdup + - ALSA: pci: rme: Fix unaligned buffer addresses + - ALSA: PCM: Fix NULL dereference at mmap checks + - ALSA: timer: Fix use-after-free problem + - ALSA: timer: Unconditionally unlink slave instances, too + - Revert "ext4: enforce buffer head state assertion in ext4_da_map_blocks" + - ext4: fix lazy initialization next schedule time computation in more + granular unit + - ext4: ensure enough credits in ext4_ext_shift_path_extents + - ext4: refresh the ext4_ext_path struct after dropping i_data_sem. + - fuse: fix page stealing + - x86/sme: Use #define USE_EARLY_PGTABLE_L5 in mem_encrypt_identity.c + - x86/cpu: Fix migration safety with X86_BUG_NULL_SEL + - x86/irq: Ensure PI wakeup handler is unregistered before module unload + - x86/iopl: Fake iopl(3) CLI/STI usage + - btrfs: clear MISSING device status bit in btrfs_close_one_device + - btrfs: fix lost error handling when replaying directory deletes + - btrfs: call btrfs_check_rw_degradable only if there is a missing device + - KVM: x86/mmu: Drop a redundant, broken remote TLB flush + - KVM: VMX: Unregister posted interrupt wakeup handler on hardware unsetup + - KVM: PPC: Tick accounting should defer vtime accounting 'til after IRQ + handling + - ia64: kprobes: Fix to pass correct trampoline address to the handler + - selinux: fix race condition when computing ocontext SIDs + - ipmi:watchdog: Set panic count to proper value on a panic + - md/raid1: only allocate write behind bio for WriteMostly device + - hwmon: (pmbus/lm25066) Add offset coefficients + - regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is + disabled + - regulator: dt-bindings: samsung,s5m8767: correct s5m8767,pmic-buck-default- + dvs-idx property + - EDAC/sb_edac: Fix top-of-high-memory value for Broadwell/Haswell + - mwifiex: fix division by zero in fw download path + - ath6kl: fix division by zero in send path + - ath6kl: fix control-message timeout + - ath10k: fix control-message timeout + - ath10k: fix division by zero in send path + - PCI: Mark Atheros QCA6174 to avoid bus reset + - rtl8187: fix control-message timeouts + - evm: mark evm_fixmode as __ro_after_init + - ifb: Depend on netfilter alternatively to tc + - platform/surface: aggregator_registry: Add support for Surface Laptop Studio + - mt76: mt7615: fix skb use-after-free on mac reset + - HID: surface-hid: Use correct event registry for managing HID events + - HID: surface-hid: Allow driver matching for target ID 1 devices + - wcn36xx: Fix HT40 capability for 2Ghz band + - wcn36xx: Fix tx_status mechanism + - wcn36xx: Fix (QoS) null data frame bitrate/modulation + - PM: sleep: Do not let "syscore" devices runtime-suspend during system + transitions + - mwifiex: Read a PCI register after writing the TX ring write pointer + - mwifiex: Try waking the firmware until we get an interrupt + - libata: fix checking of DMA state + - dma-buf: fix and rework dma_buf_poll v7 + - wcn36xx: handle connection loss indication + - rsi: fix occasional initialisation failure with BT coex + - rsi: fix key enabled check causing unwanted encryption for vap_id > 0 + - rsi: fix rate mask set leading to P2P failure + - rsi: Fix module dev_oper_mode parameter description + - perf/x86/intel/uncore: Support extra IMC channel on Ice Lake server + - perf/x86/intel/uncore: Fix invalid unit check + - perf/x86/intel/uncore: Fix Intel ICX IIO event constraints + - RDMA/qedr: Fix NULL deref for query_qp on the GSI QP + - ASoC: tegra: Set default card name for Trimslice + - ASoC: tegra: Restore AC97 support + - signal: Remove the bogus sigkill_pending in ptrace_stop + - memory: renesas-rpc-if: Correct QSPI data transfer in Manual mode + - signal/mips: Update (_save|_restore)_fp_context to fail with -EFAULT + - soc: samsung: exynos-pmu: Fix compilation when nothing selects + CONFIG_MFD_CORE + - soc: fsl: dpio: replace smp_processor_id with raw_smp_processor_id + - soc: fsl: dpio: use the combined functions to protect critical zone + - mtd: rawnand: socrates: Keep the driver compatible with on-die ECC engines + - mctp: handle the struct sockaddr_mctp padding fields + - power: supply: max17042_battery: Prevent int underflow in set_soc_threshold + - power: supply: max17042_battery: use VFSOC for capacity when no rsns + - iio: core: fix double free in iio_device_unregister_sysfs() + - iio: core: check return value when calling dev_set_name() + - KVM: arm64: Extract ESR_ELx.EC only + - KVM: x86: Fix recording of guest steal time / preempted status + - KVM: x86: Add helper to consolidate core logic of SET_CPUID{2} flows + - KVM: nVMX: Query current VMCS when determining if MSR bitmaps are in use + - KVM: nVMX: Handle dynamic MSR intercept toggling + - can: peak_usb: always ask for BERR reporting for PCAN-USB devices + - can: mcp251xfd: mcp251xfd_irq(): add missing + can_rx_offload_threaded_irq_finish() in case of bus off + - can: j1939: j1939_tp_cmd_recv(): ignore abort message in the BAM transport + - can: j1939: j1939_can_recv(): ignore messages with invalid source address + - can: j1939: j1939_tp_cmd_recv(): check the dst address of TP.CM_BAM + - iio: adc: tsc2046: fix scan interval warning + - powerpc/85xx: Fix oops when mpc85xx_smp_guts_ids node cannot be found + - io_uring: honour zeroes as io-wq worker limits + - ring-buffer: Protect ring_buffer_reset() from reentrancy + - serial: core: Fix initializing and restoring termios speed + - ifb: fix building without CONFIG_NET_CLS_ACT + - xen/balloon: add late_initcall_sync() for initial ballooning done + - ovl: fix use after free in struct ovl_aio_req + - ovl: fix filattr copy-up failure + - PCI: pci-bridge-emul: Fix emulation of W1C bits + - PCI: cadence: Add cdns_plat_pcie_probe() missing return + - cxl/pci: Fix NULL vs ERR_PTR confusion + - PCI: aardvark: Do not clear status bits of masked interrupts + - PCI: aardvark: Fix checking for link up via LTSSM state + - PCI: aardvark: Do not unmask unused interrupts + - PCI: aardvark: Fix reporting Data Link Layer Link Active + - PCI: aardvark: Fix configuring Reference clock + - PCI: aardvark: Fix return value of MSI domain .alloc() method + - PCI: aardvark: Read all 16-bits from PCIE_MSI_PAYLOAD_REG + - PCI: aardvark: Fix support for bus mastering and PCI_COMMAND on emulated + bridge + - PCI: aardvark: Fix support for PCI_BRIDGE_CTL_BUS_RESET on emulated bridge + - PCI: aardvark: Set PCI Bridge Class Code to PCI Bridge + - PCI: aardvark: Fix support for PCI_ROM_ADDRESS1 on emulated bridge + - quota: check block number when reading the block in quota file + - quota: correct error number in free_dqentry() + - cifs: To match file servers, make sure the server hostname matches + - cifs: set a minimum of 120s for next dns resolution + - mfd: simple-mfd-i2c: Select MFD_CORE to fix build error + - pinctrl: core: fix possible memory leak in pinctrl_enable() + - coresight: cti: Correct the parameter for pm_runtime_put + - coresight: trbe: Fix incorrect access of the sink specific data + - coresight: trbe: Defer the probe on offline CPUs + - iio: buffer: check return value of kstrdup_const() + - iio: buffer: Fix memory leak in iio_buffers_alloc_sysfs_and_mask() + - iio: buffer: Fix memory leak in __iio_buffer_alloc_sysfs_and_mask() + - iio: buffer: Fix memory leak in iio_buffer_register_legacy_sysfs_groups() + - drivers: iio: dac: ad5766: Fix dt property name + - iio: dac: ad5446: Fix ad5622_write() return value + - iio: ad5770r: make devicetree property reading consistent + - Documentation:devicetree:bindings:iio:dac: Fix val + - USB: serial: keyspan: fix memleak on probe errors + - serial: 8250: fix racy uartclk update + - ksmbd: set unique value to volume serial field in FS_VOLUME_INFORMATION + - io-wq: serialize hash clear with wakeup + - serial: 8250: Fix reporting real baudrate value in c_ospeed field + - Revert "serial: 8250: Fix reporting real baudrate value in c_ospeed field" + - most: fix control-message timeouts + - USB: iowarrior: fix control-message timeouts + - USB: chipidea: fix interrupt deadlock + - power: supply: max17042_battery: Clear status bits in interrupt handler + - component: do not leave master devres group open after bind + - dma-buf: WARN on dmabuf release with pending attachments + - drm: panel-orientation-quirks: Update the Lenovo Ideapad D330 quirk (v2) + - drm: panel-orientation-quirks: Add quirk for KD Kurio Smart C15200 2-in-1 + - drm: panel-orientation-quirks: Add quirk for the Samsung Galaxy Book 10.6 + - Bluetooth: sco: Fix lock_sock() blockage by memcpy_from_msg() + - Bluetooth: fix use-after-free error in lock_sock_nested() + - Bluetooth: call sock_hold earlier in sco_conn_del + - drm/panel-orientation-quirks: add Valve Steam Deck + - rcutorture: Avoid problematic critical section nesting on PREEMPT_RT + - platform/x86: wmi: do not fail if disabling fails + - drm/amdgpu: move iommu_resume before ip init/resume + - MIPS: lantiq: dma: add small delay after reset + - MIPS: lantiq: dma: reset correct number of channel + - locking/lockdep: Avoid RCU-induced noinstr fail + - net: sched: update default qdisc visibility after Tx queue cnt changes + - rcu-tasks: Move RTGS_WAIT_CBS to beginning of rcu_tasks_kthread() loop + - smackfs: Fix use-after-free in netlbl_catmap_walk() + - ath11k: Align bss_chan_info structure with firmware + - crypto: aesni - check walk.nbytes instead of err + - x86/mm/64: Improve stack overflow warnings + - x86: Increase exception stack sizes + - mwifiex: Run SET_BSS_MODE when changing from P2P to STATION vif-type + - mwifiex: Properly initialize private structure on interface type changes + - spi: Check we have a spi_device_id for each DT compatible + - fscrypt: allow 256-bit master keys with AES-256-XTS + - drm/amdgpu: Fix MMIO access page fault + - drm/amd/display: Fix null pointer dereference for encoders + - selftests: net: fib_nexthops: Wait before checking reported idle time + - ath11k: Avoid reg rules update during firmware recovery + - ath11k: add handler for scan event WMI_SCAN_EVENT_DEQUEUED + - ath11k: Change DMA_FROM_DEVICE to DMA_TO_DEVICE when map reinjected packets + - ath10k: high latency fixes for beacon buffer + - octeontx2-pf: Enable promisc/allmulti match MCAM entries. + - media: mt9p031: Fix corrupted frame after restarting stream + - media: netup_unidvb: handle interrupt properly according to the firmware + - media: atomisp: Fix error handling in probe + - media: stm32: Potential NULL pointer dereference in dcmi_irq_thread() + - media: uvcvideo: Set capability in s_param + - media: uvcvideo: Return -EIO for control errors + - media: uvcvideo: Set unique vdev name based in type + - media: vidtv: Fix memory leak in remove + - media: s5p-mfc: fix possible null-pointer dereference in s5p_mfc_probe() + - media: s5p-mfc: Add checking to s5p_mfc_probe(). + - media: videobuf2: rework vb2_mem_ops API + - media: imx: set a media_device bus_info string + - media: rcar-vin: Use user provided buffers when starting + - media: mceusb: return without resubmitting URB in case of -EPROTO error. + - ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK + - rtw88: fix RX clock gate setting while fifo dump + - brcmfmac: Add DMI nvram filename quirk for Cyberbook T116 tablet + - media: rcar-csi2: Add checking to rcsi2_start_receiver() + - ipmi: Disable some operations during a panic + - fs/proc/uptime.c: Fix idle time reporting in /proc/uptime + - kselftests/sched: cleanup the child processes + - ACPICA: Avoid evaluating methods too early during system resume + - cpufreq: Make policy min/max hard requirements + - ice: Move devlink port to PF/VF struct + - media: imx-jpeg: Fix possible null pointer dereference + - media: ipu3-imgu: imgu_fmt: Handle properly try + - media: ipu3-imgu: VIDIOC_QUERYCAP: Fix bus_info + - media: usb: dvd-usb: fix uninit-value bug in dibusb_read_eeprom_byte() + - net-sysfs: try not to restart the syscall if it will fail eventually + - drm/amdkfd: rm BO resv on validation to avoid deadlock + - tracefs: Have tracefs directories not set OTH permission bits by default + - tracing: Disable "other" permission bits in the tracefs files + - ath: dfs_pattern_detector: Fix possible null-pointer dereference in + channel_detector_create() + - KVM: arm64: Propagate errors from __pkvm_prot_finalize hypercall + - mmc: moxart: Fix reference count leaks in moxart_probe + - iov_iter: Fix iov_iter_get_pages{,_alloc} page fault return value + - ACPI: battery: Accept charges over the design capacity as full + - ACPI: scan: Release PM resources blocked by unused objects + - drm/amd/display: fix null pointer deref when plugging in display + - drm/amdkfd: fix resume error when iommu disabled in Picasso + - net: phy: micrel: make *-skew-ps check more lenient + - leaking_addresses: Always print a trailing newline + - thermal/core: Fix null pointer dereference in thermal_release() + - drm/msm: prevent NULL dereference in msm_gpu_crashstate_capture() + - thermal/drivers/tsens: Add timeout to get_temp_tsens_valid + - block: bump max plugged deferred size from 16 to 32 + - floppy: fix calling platform_device_unregister() on invalid drives + - md: update superblock after changing rdev flags in state_store + - memstick: r592: Fix a UAF bug when removing the driver + - locking/rwsem: Disable preemption for spinning region + - lib/xz: Avoid overlapping memcpy() with invalid input with in-place + decompression + - lib/xz: Validate the value before assigning it to an enum variable + - workqueue: make sysfs of unbound kworker cpumask more clever + - tracing/cfi: Fix cmp_entries_* functions signature mismatch + - mt76: mt7915: fix an off-by-one bound check + - mwl8k: Fix use-after-free in mwl8k_fw_state_machine() + - iwlwifi: change all JnP to NO-160 configuration + - block: remove inaccurate requeue check + - media: allegro: ignore interrupt if mailbox is not initialized + - drm/amdgpu/pm: properly handle sclk for profiling modes on vangogh + - nvmet: fix use-after-free when a port is removed + - nvmet-rdma: fix use-after-free when a port is removed + - nvmet-tcp: fix use-after-free when a port is removed + - nvme: drop scan_lock and always kick requeue list when removing namespaces + - samples/bpf: Fix application of sizeof to pointer + - arm64: vdso32: suppress error message for 'make mrproper' + - PM: hibernate: Get block device exclusively in swsusp_check() + - selftests: kvm: fix mismatched fclose() after popen() + - selftests/bpf: Fix perf_buffer test on system with offline cpus + - iwlwifi: mvm: disable RX-diversity in powersave + - smackfs: use __GFP_NOFAIL for smk_cipso_doi() + - ARM: clang: Do not rely on lr register for stacktrace + - gre/sit: Don't generate link-local addr if addr_gen_mode is + IN6_ADDR_GEN_MODE_NONE + - can: bittiming: can_fixup_bittiming(): change type of tseg1 and alltseg to + unsigned int + - gfs2: Cancel remote delete work asynchronously + - gfs2: Fix glock_hash_walk bugs + - ARM: 9136/1: ARMv7-M uses BE-8, not BE-32 + - tools/latency-collector: Use correct size when writing queue_full_warning + - vrf: run conntrack only in context of lower/physdev for locally generated + packets + - net: annotate data-race in neigh_output() + - ACPI: AC: Quirk GK45 to skip reading _PSR + - ACPI: resources: Add one more Medion model in IRQ override quirk + - btrfs: reflink: initialize return value to 0 in btrfs_extent_same() + - btrfs: do not take the uuid_mutex in btrfs_rm_device + - spi: bcm-qspi: Fix missing clk_disable_unprepare() on error in + bcm_qspi_probe() + - wcn36xx: Correct band/freq reporting on RX + - wcn36xx: Fix packet drop on resume + - Revert "wcn36xx: Enable firmware link monitoring" + - ftrace: do CPU checking after preemption disabled + - inet: remove races in inet{6}_getname() + - x86/hyperv: Protect set_hv_tscchange_cb() against getting preempted + - drm/amd/display: dcn20_resource_construct reduce scope of FPU enabled + - perf/x86/intel: Fix ICL/SPR INST_RETIRED.PREC_DIST encodings + - parisc: fix warning in flush_tlb_all + - task_stack: Fix end_of_stack() for architectures with upwards-growing stack + - erofs: don't trigger WARN() when decompression fails + - parisc/unwind: fix unwinder when CONFIG_64BIT is enabled + - parisc/kgdb: add kgdb_roundup() to make kgdb work with idle polling + - netfilter: conntrack: set on IPS_ASSURED if flows enters internal stream + state + - selftests/bpf: Fix strobemeta selftest regression + - fbdev/efifb: Release PCI device's runtime PM ref during FB destroy + - drm/bridge: anx7625: Propagate errors from sp_tx_rst_aux() + - perf/x86/intel/uncore: Fix Intel SPR CHA event constraints + - perf/x86/intel/uncore: Fix Intel SPR IIO event constraints + - perf/x86/intel/uncore: Fix Intel SPR M2PCIE event constraints + - perf/x86/intel/uncore: Fix Intel SPR M3UPI event constraints + - drm/bridge: it66121: Initialize {device,vendor}_ids + - drm/bridge: it66121: Wait for next bridge to be probed + - Bluetooth: fix init and cleanup of sco_conn.timeout_work + - libbpf: Don't crash on object files with no symbol tables + - Bluetooth: hci_uart: fix GPF in h5_recv + - rcu: Fix existing exp request check in sync_sched_exp_online_cleanup() + - MIPS: lantiq: dma: fix burst length for DEU + - x86/xen: Mark cpu_bringup_and_idle() as dead_end_function + - objtool: Handle __sanitize_cov*() tail calls + - net/mlx5: Publish and unpublish all devlink parameters at once + - drm/v3d: fix wait for TMU write combiner flush + - crypto: sm4 - Do not change section of ck and sbox + - virtio-gpu: fix possible memory allocation failure + - lockdep: Let lock_is_held_type() detect recursive read as read + - net: net_namespace: Fix undefined member in key_remove_domain() + - net: phylink: don't call netif_carrier_off() with NULL netdev + - drm: bridge: it66121: Fix return value it66121_probe + - spi: Fixed division by zero warning + - cgroup: Make rebind_subsystems() disable v2 controllers all at once + - wcn36xx: Fix Antenna Diversity Switching + - wilc1000: fix possible memory leak in cfg_scan_result() + - Bluetooth: btmtkuart: fix a memleak in mtk_hci_wmt_sync + - drm/amdgpu: Fix crash on device remove/driver unload + - drm/amd/display: Pass display_pipe_params_st as const in DML + - drm/amdgpu: move amdgpu_virt_release_full_gpu to fini_early stage + - crypto: caam - disable pkc for non-E SoCs + - crypto: qat - power up 4xxx device + - Bluetooth: hci_h5: Fix (runtime)suspend issues on RTL8723BS HCIs + - bnxt_en: Check devlink allocation and registration status + - qed: Don't ignore devlink allocation failures + - rxrpc: Fix _usecs_to_jiffies() by using usecs_to_jiffies() + - mptcp: do not shrink snd_nxt when recovering + - fortify: Fix dropped strcpy() compile-time write overflow check + - mac80211: twt: don't use potentially unaligned pointer + - cfg80211: always free wiphy specific regdomain + - net/mlx5: Accept devlink user input after driver initialization complete + - net: dsa: rtl8366rb: Fix off-by-one bug + - net: dsa: rtl8366: Fix a bug in deleting VLANs + - bpf/tests: Fix error in tail call limit tests + - ath11k: fix some sleeping in atomic bugs + - ath11k: Avoid race during regd updates + - ath11k: fix packet drops due to incorrect 6 GHz freq value in rx status + - ath11k: Fix memory leak in ath11k_qmi_driver_event_work + - gve: DQO: avoid unused variable warnings + - ath10k: Fix missing frame timestamp for beacon/probe-resp + - ath10k: sdio: Add missing BH locking around napi_schdule() + - drm/ttm: stop calling tt_swapin in vm_access + - arm64: mm: update max_pfn after memory hotplug + - drm/amdgpu: fix warning for overflow check + - libbpf: Fix skel_internal.h to set errno on loader retval < 0 + - media: em28xx: add missing em28xx_close_extension + - media: meson-ge2d: Fix rotation parameter changes detection in + 'ge2d_s_ctrl()' + - media: cxd2880-spi: Fix a null pointer dereference on error handling path + - media: ttusb-dec: avoid release of non-acquired mutex + - media: dvb-usb: fix ununit-value in az6027_rc_query + - media: imx258: Fix getting clock frequency + - media: v4l2-ioctl: S_CTRL output the right value + - media: mtk-vcodec: venc: fix return value when start_streaming fails + - media: TDA1997x: handle short reads of hdmi info frame. + - media: mtk-vpu: Fix a resource leak in the error handling path of + 'mtk_vpu_probe()' + - media: imx-jpeg: Fix the error handling path of 'mxc_jpeg_probe()' + - media: i2c: ths8200 needs V4L2_ASYNC + - media: sun6i-csi: Allow the video device to be open multiple times + - media: radio-wl1273: Avoid card name truncation + - media: si470x: Avoid card name truncation + - media: tm6000: Avoid card name truncation + - media: cx23885: Fix snd_card_free call on null card pointer + - media: atmel: fix the ispck initialization + - scs: Release kasan vmalloc poison in scs_free process + - kprobes: Do not use local variable when creating debugfs file + - crypto: ecc - fix CRYPTO_DEFAULT_RNG dependency + - drm: fb_helper: fix CONFIG_FB dependency + - cpuidle: Fix kobject memory leaks in error paths + - media: em28xx: Don't use ops->suspend if it is NULL + - ath10k: Don't always treat modem stop events as crashes + - ath9k: Fix potential interrupt storm on queue reset + - PM: EM: Fix inefficient states detection + - x86/insn: Use get_unaligned() instead of memcpy() + - EDAC/amd64: Handle three rank interleaving mode + - rcu: Always inline rcu_dynticks_task*_{enter,exit}() + - rcu: Fix rcu_dynticks_curr_cpu_in_eqs() vs noinstr + - netfilter: nft_dynset: relax superfluous check on set updates + - media: venus: fix vpp frequency calculation for decoder + - media: dvb-frontends: mn88443x: Handle errors of clk_prepare_enable() + - crypto: ccree - avoid out-of-range warnings from clang + - crypto: qat - detect PFVF collision after ACK + - crypto: qat - disregard spurious PFVF interrupts + - hwrng: mtk - Force runtime pm ops for sleep ops + - ima: fix deadlock when traversing "ima_default_rules". + - b43legacy: fix a lower bounds test + - b43: fix a lower bounds test + - gve: Recover from queue stall due to missed IRQ + - gve: Track RX buffer allocation failures + - mmc: sdhci-omap: Fix NULL pointer exception if regulator is not configured + - mmc: sdhci-omap: Fix context restore + - memstick: avoid out-of-range warning + - memstick: jmb38x_ms: use appropriate free function in jmb38x_ms_alloc_host() + - net, neigh: Fix NTF_EXT_LEARNED in combination with NTF_USE + - hwmon: Fix possible memleak in __hwmon_device_register() + - hwmon: (pmbus/lm25066) Let compiler determine outer dimension of + lm25066_coeff + - ath10k: fix max antenna gain unit + - kernel/sched: Fix sched_fork() access an invalid sched_task_group + - net: fealnx: fix build for UML + - net: intel: igc_ptp: fix build for UML + - net: tulip: winbond-840: fix build for UML + - tcp: switch orphan_count to bare per-cpu counters + - crypto: octeontx2 - set assoclen in aead_do_fallback() + - thermal/core: fix a UAF bug in __thermal_cooling_device_register() + - drm/msm/dsi: do not enable irq handler before powering up the host + - drm/msm: Fix potential Oops in a6xx_gmu_rpmh_init() + - drm/msm: potential error pointer dereference in init() + - drm/msm: unlock on error in get_sched_entity() + - drm/msm: fix potential NULL dereference in cleanup + - drm/msm: uninitialized variable in msm_gem_import() + - net: stream: don't purge sk_error_queue in sk_stream_kill_queues() + - thermal/drivers/qcom/lmh: make QCOM_LMH depends on QCOM_SCM + - mailbox: Remove WARN_ON for async_cb.cb in cmdq_exec_done + - media: ivtv: fix build for UML + - media: ir_toy: assignment to be16 should be of correct type + - mmc: mxs-mmc: disable regulator on error and in the remove function + - io-wq: Remove duplicate code in io_workqueue_create() + - block: ataflop: fix breakage introduced at blk-mq refactoring + - platform/x86: thinkpad_acpi: Fix bitwise vs. logical warning + - mailbox: mtk-cmdq: Validate alias_id on probe + - mailbox: mtk-cmdq: Fix local clock ID usage + - ACPI: PM: Turn off unused wakeup power resources + - ACPI: PM: Fix sharing of wakeup power resources + - drm/amdkfd: Fix an inappropriate error handling in allloc memory of gpu + - mt76: mt7921: fix endianness in mt7921_mcu_tx_done_event + - mt76: mt7915: fix endianness warning in mt7915_mac_add_txs_skb + - mt76: mt7921: fix endianness warning in mt7921_update_txs + - mt76: mt7615: fix endianness warning in mt7615_mac_write_txwi + - mt76: mt7915: fix info leak in mt7915_mcu_set_pre_cal() + - mt76: connac: fix mt76_connac_gtk_rekey_tlv usage + - mt76: fix build error implicit enumeration conversion + - mt76: mt7921: fix survey-dump reporting + - mt76: mt76x02: fix endianness warnings in mt76x02_mac.c + - mt76: mt7921: Fix out of order process by invalid event pkt + - mt76: mt7915: fix potential overflow of eeprom page index + - mt76: mt7915: fix bit fields for HT rate idx + - mt76: mt7921: fix dma hang in rmmod + - mt76: connac: fix GTK rekey offload failure on WPA mixed mode + - mt76: overwrite default reg_ops if necessary + - mt76: mt7921: report HE MU radiotap + - mt76: mt7921: fix firmware usage of RA info using legacy rates + - mt76: mt7921: fix kernel warning from cfg80211_calculate_bitrate + - mt76: mt7921: always wake device if necessary in debugfs + - mt76: mt7915: fix hwmon temp sensor mem use-after-free + - mt76: mt7615: fix hwmon temp sensor mem use-after-free + - mt76: mt7915: fix possible infinite loop release semaphore + - mt76: mt7921: fix retrying release semaphore without end + - mt76: mt7615: fix monitor mode tear down crash + - mt76: connac: fix possible NULL pointer dereference in + mt76_connac_get_phy_mode_v2 + - mt76: mt7915: fix sta_rec_wtbl tag len + - mt76: mt7915: fix muar_idx in mt7915_mcu_alloc_sta_req() + - rsi: stop thread firstly in rsi_91x_init() error handling + - mwifiex: Send DELBA requests according to spec + - iwlwifi: mvm: reset PM state on unsuccessful resume + - iwlwifi: pnvm: don't kmemdup() more than we have + - iwlwifi: pnvm: read EFI data only if long enough + - net: enetc: unmap DMA in enetc_send_cmd() + - phy: micrel: ksz8041nl: do not use power down mode + - nbd: Fix use-after-free in pid_show + - nvme-rdma: fix error code in nvme_rdma_setup_ctrl + - PM: hibernate: fix sparse warnings + - clocksource/drivers/timer-ti-dm: Select TIMER_OF + - x86/sev: Fix stack type check in vc_switch_off_ist() + - drm/msm: Fix potential NULL dereference in DPU SSPP + - drm/msm/dsi: fix wrong type in msm_dsi_host + - crypto: tcrypt - fix skcipher multi-buffer tests for 1420B blocks + - smackfs: use netlbl_cfg_cipsov4_del() for deleting cipso_v4_doi + - KVM: selftests: Fix nested SVM tests when built with clang + - libbpf: Fix memory leak in btf__dedup() + - bpftool: Avoid leaking the JSON writer prepared for program metadata + - libbpf: Fix overflow in BTF sanity checks + - libbpf: Fix BTF header parsing checks + - mt76: mt7615: mt7622: fix ibss and meshpoint + - s390/gmap: validate VMA in __gmap_zap() + - s390/gmap: don't unconditionally call pte_unmap_unlock() in __gmap_zap() + - s390/mm: validate VMA in PGSTE manipulation functions + - s390/mm: fix VMA and page table handling code in storage key handling + functions + - s390/uv: fully validate the VMA before calling follow_page() + - KVM: s390: pv: avoid double free of sida page + - KVM: s390: pv: avoid stalls for kvm_s390_pv_init_vm + - irq: mips: avoid nested irq_enter() + - net: dsa: avoid refcount warnings when ->port_{fdb,mdb}_del returns error + - ARM: 9142/1: kasan: work around LPAE build warning + - ath10k: fix module load regression with iram-recovery feature + - block: ataflop: more blk-mq refactoring fixes + - blk-cgroup: synchronize blkg creation against policy deactivation + - libbpf: Fix off-by-one bug in bpf_core_apply_relo() + - tpm: fix Atmel TPM crash caused by too frequent queries + - tpm_tis_spi: Add missing SPI ID + - libbpf: Fix endianness detection in BPF_CORE_READ_BITFIELD_PROBED() + - tcp: don't free a FIN sk_buff in tcp_remove_empty_skb() + - tracing: Fix missing trace_boot_init_histograms kstrdup NULL checks + - cpufreq: intel_pstate: Fix cpu->pstate.turbo_freq initialization + - spi: spi-rpc-if: Check return value of rpcif_sw_init() + - samples/kretprobes: Fix return value if register_kretprobe() failed + - KVM: s390: Fix handle_sske page fault handling + - libertas_tf: Fix possible memory leak in probe and disconnect + - libertas: Fix possible memory leak in probe and disconnect + - wcn36xx: add proper DMA memory barriers in rx path + - wcn36xx: Fix discarded frames due to wrong sequence number + - bpf: Avoid races in __bpf_prog_run() for 32bit arches + - bpf: Fixes possible race in update_prog_stats() for 32bit arches + - wcn36xx: Channel list update before hardware scan + - drm/amdgpu: fix a potential memory leak in amdgpu_device_fini_sw() + - drm/amdgpu/gmc6: fix DMA mask from 44 to 40 bits + - selftests/bpf: Fix fd cleanup in sk_lookup test + - selftests/bpf: Fix memory leak in test_ima + - sctp: allow IP fragmentation when PLPMTUD enters Error state + - sctp: reset probe_timer in sctp_transport_pl_update + - sctp: subtract sctphdr len in sctp_transport_pl_hlen + - sctp: return true only for pathmtu update in sctp_transport_pl_toobig + - net: amd-xgbe: Toggle PLL settings during rate change + - ipmi: kcs_bmc: Fix a memory leak in the error handling path of + 'kcs_bmc_serio_add_device()' + - nfp: fix NULL pointer access when scheduling dim work + - nfp: fix potential deadlock when canceling dim work + - net: phylink: avoid mvneta warning when setting pause parameters + - net: bridge: fix uninitialized variables when BRIDGE_CFM is disabled + - selftests: net: bridge: update IGMP/MLD membership interval value + - crypto: pcrypt - Delay write to padata->info + - selftests/bpf: Fix fclose/pclose mismatch in test_progs + - udp6: allow SO_MARK ctrl msg to affect routing + - ibmvnic: don't stop queue in xmit + - ibmvnic: Process crqs after enabling interrupts + - ibmvnic: delay complete() + - selftests: mptcp: fix proto type in link_failure tests + - skmsg: Lose offset info in sk_psock_skb_ingress + - cgroup: Fix rootcg cpu.stat guest double counting + - bpf: Fix propagation of bounds from 64-bit min/max into 32-bit and var_off. + - bpf: Fix propagation of signed bounds from 64-bit min/max into 32-bit. + - of: unittest: fix EXPECT text for gpio hog errors + - cpufreq: Fix parameter in parse_perf_domain() + - staging: r8188eu: fix memory leak in rtw_set_key + - arm64: dts: meson: sm1: add Ethernet PHY reset line for ODROID-C4/HC4 + - iio: st_sensors: disable regulators after device unregistration + - RDMA/rxe: Fix wrong port_cap_flags + - ARM: dts: BCM5301X: Fix memory nodes names + - arm64: dts: broadcom: bcm4908: Fix UART clock name + - clk: mvebu: ap-cpu-clk: Fix a memory leak in error handling paths + - scsi: pm80xx: Fix lockup in outbound queue management + - scsi: qla2xxx: edif: Use link event to wake up app + - scsi: lpfc: Fix NVMe I/O failover to non-optimized path + - ARM: s3c: irq-s3c24xx: Fix return value check for s3c24xx_init_intc() + - arm64: dts: rockchip: Fix GPU register width for RK3328 + - ARM: dts: qcom: msm8974: Add xo_board reference clock to DSI0 PHY + - RDMA/bnxt_re: Fix query SRQ failure + - arm64: dts: ti: k3-j721e-main: Fix "max-virtual-functions" in PCIe EP nodes + - arm64: dts: ti: k3-j721e-main: Fix "bus-range" upto 256 bus number for PCIe + - arm64: dts: ti: j7200-main: Fix "vendor-id"/"device-id" properties of pcie + node + - arm64: dts: ti: j7200-main: Fix "bus-range" upto 256 bus number for PCIe + - arm64: dts: meson-g12a: Fix the pwm regulator supply properties + - arm64: dts: meson-g12b: Fix the pwm regulator supply properties + - arm64: dts: meson-sm1: Fix the pwm regulator supply properties + - bus: ti-sysc: Fix timekeeping_suspended warning on resume + - ARM: dts: at91: tse850: the emac<->phy interface is rmii + - arm64: dts: qcom: sc7180: Base dynamic CPU power coefficients in reality + - soc: qcom: llcc: Disable MMUHWT retention + - arm64: dts: qcom: sc7280: fix display port phy reg property + - scsi: dc395: Fix error case unwinding + - MIPS: loongson64: make CPU_LOONGSON64 depends on MIPS_FP_SUPPORT + - JFS: fix memleak in jfs_mount + - pinctrl: renesas: rzg2l: Fix missing port register 21h + - ASoC: wcd9335: Use correct version to initialize Class H + - arm64: dts: qcom: msm8916: Fix Secondary MI2S bit clock + - arm64: dts: renesas: beacon: Fix Ethernet PHY mode + - iommu/mediatek: Fix out-of-range warning with clang + - arm64: dts: qcom: pm8916: Remove wrong reg-names for rtc@6000 + - iommu/dma: Fix sync_sg with swiotlb + - iommu/dma: Fix arch_sync_dma for map + - ALSA: hda: Reduce udelay() at SKL+ position reporting + - ALSA: hda: Use position buffer for SKL+ again + - ALSA: usb-audio: Fix possible race at sync of urb completions + - soundwire: debugfs: use controller id and link_id for debugfs + - power: reset: at91-reset: check properly the return value of devm_of_iomap + - scsi: ufs: core: Fix ufshcd_probe_hba() prototype to match the definition + - scsi: ufs: core: Stop clearing UNIT ATTENTIONS + - scsi: megaraid_sas: Fix concurrent access to ISR between IRQ polling and + real interrupt + - scsi: pm80xx: Fix misleading log statement in pm8001_mpi_get_nvmd_resp() + - driver core: Fix possible memory leak in device_link_add() + - arm: dts: omap3-gta04a4: accelerometer irq fix + - ASoC: SOF: topology: do not power down primary core during topology removal + - iio: st_pressure_spi: Add missing entries SPI to device ID table + - soc/tegra: Fix an error handling path in tegra_powergate_power_up() + - memory: fsl_ifc: fix leak of irq and nand_irq in fsl_ifc_ctrl_probe + - clk: at91: check pmc node status before registering syscore ops + - powerpc/mem: Fix arch/powerpc/mm/mem.c:53:12: error: no previous prototype + for 'create_section_mapping' + - video: fbdev: chipsfb: use memset_io() instead of memset() + - powerpc: fix unbalanced node refcount in check_kvm_guest() + - powerpc/paravirt: correct preempt debug splat in vcpu_is_preempted() + - serial: 8250_dw: Drop wrong use of ACPI_PTR() + - usb: gadget: hid: fix error code in do_config() + - power: supply: rt5033_battery: Change voltage values to µV + - power: supply: max17040: fix null-ptr-deref in max17040_probe() + - scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn() + - RDMA/mlx4: Return missed an error if device doesn't support steering + - usb: musb: select GENERIC_PHY instead of depending on it + - staging: most: dim2: do not double-register the same device + - staging: ks7010: select CRYPTO_HASH/CRYPTO_MICHAEL_MIC + - RDMA/core: Set sgtable nents when using ib_dma_virt_map_sg() + - dyndbg: make dyndbg a known cli param + - powerpc/perf: Fix cycles/instructions as PM_CYC/PM_INST_CMPL in power10 + - pinctrl: renesas: checker: Fix off-by-one bug in drive register check + - ARM: dts: stm32: Reduce DHCOR SPI NOR frequency to 50 MHz + - ARM: dts: stm32: fix STUSB1600 Type-C irq level on stm32mp15xx-dkx + - ARM: dts: stm32: fix SAI sub nodes register range + - ARM: dts: stm32: fix AV96 board SAI2 pin muxing on stm32mp15 + - ASoC: cs42l42: Always configure both ASP TX channels + - ASoC: cs42l42: Correct some register default values + - ASoC: cs42l42: Defer probe if request_threaded_irq() returns EPROBE_DEFER + - soc: qcom: rpmhpd: Make power_on actually enable the domain + - soc: qcom: socinfo: add two missing PMIC IDs + - iio: buffer: Fix double-free in iio_buffers_alloc_sysfs_and_mask() + - usb: typec: STUSB160X should select REGMAP_I2C + - iio: adis: do not disabe IRQs in 'adis_init()' + - soundwire: bus: stop dereferencing invalid slave pointer + - scsi: ufs: ufshcd-pltfrm: Fix memory leak due to probe defer + - scsi: lpfc: Wait for successful restart of SLI3 adapter during host sg_reset + - serial: imx: fix detach/attach of serial console + - usb: dwc2: drd: fix dwc2_force_mode call in dwc2_ovr_init + - usb: dwc2: drd: fix dwc2_drd_role_sw_set when clock could be disabled + - usb: dwc2: drd: reset current session before setting the new one + - powerpc/booke: Disable STRICT_KERNEL_RWX, DEBUG_PAGEALLOC and KFENCE + - usb: dwc3: gadget: Skip resizing EP's TX FIFO if already resized + - firmware: qcom_scm: Fix error retval in __qcom_scm_is_call_available() + - soc: qcom: rpmhpd: fix sm8350_mxc's peer domain + - soc: qcom: apr: Add of_node_put() before return + - arm64: dts: qcom: pmi8994: Fix "eternal"->"external" typo in WLED node + - arm64: dts: qcom: sdm845: Use RPMH_CE_CLK macro directly + - arm64: dts: qcom: sdm845: Fix Qualcomm crypto engine bus clock + - pinctrl: equilibrium: Fix function addition in multiple groups + - ASoC: topology: Fix stub for snd_soc_tplg_component_remove() + - phy: qcom-qusb2: Fix a memory leak on probe + - phy: ti: gmii-sel: check of_get_address() for failure + - phy: qcom-qmp: another fix for the sc8180x PCIe definition + - phy: qcom-snps: Correct the FSEL_MASK + - phy: Sparx5 Eth SerDes: Fix return value check in sparx5_serdes_probe() + - serial: xilinx_uartps: Fix race condition causing stuck TX + - clk: at91: sam9x60-pll: use DIV_ROUND_CLOSEST_ULL + - clk: at91: clk-master: check if div or pres is zero + - clk: at91: clk-master: fix prescaler logic + - HID: u2fzero: clarify error check and length calculations + - HID: u2fzero: properly handle timeouts in usb_submit_urb + - powerpc/nohash: Fix __ptep_set_access_flags() and ptep_set_wrprotect() + - powerpc/book3e: Fix set_memory_x() and set_memory_nx() + - powerpc/44x/fsp2: add missing of_node_put + - powerpc/xmon: fix task state output + - ALSA: oxfw: fix functional regression for Mackie Onyx 1640i in v5.14 or + later + - iommu/dma: Fix incorrect error return on iommu deferred attach + - powerpc: Don't provide __kernel_map_pages() without + ARCH_SUPPORTS_DEBUG_PAGEALLOC + - ASoC: cs42l42: Correct configuring of switch inversion from ts-inv + - RDMA/hns: Fix initial arm_st of CQ + - RDMA/hns: Modify the value of MAX_LP_MSG_LEN to meet hardware compatibility + - ASoC: rsnd: Fix an error handling path in 'rsnd_node_count()' + - serial: cpm_uart: Protect udbg definitions by CONFIG_SERIAL_CPM_CONSOLE + - virtio_ring: check desc == NULL when using indirect with packed + - vdpa/mlx5: Fix clearing of VIRTIO_NET_F_MAC feature bit + - mips: cm: Convert to bitfield API to fix out-of-bounds access + - power: supply: bq27xxx: Fix kernel crash on IRQ handler register error + - RDMA/core: Require the driver to set the IOVA correctly during rereg_mr + - apparmor: fix error check + - rpmsg: Fix rpmsg_create_ept return when RPMSG config is not defined + - mtd: rawnand: intel: Fix potential buffer overflow in probe + - nfsd: don't alloc under spinlock in rpc_parse_scope_id + - rtc: ds1302: Add SPI ID table + - rtc: ds1390: Add SPI ID table + - rtc: pcf2123: Add SPI ID table + - remoteproc: imx_rproc: Fix TCM io memory type + - i2c: i801: Use PCI bus rescan mutex to protect P2SB access + - dmaengine: idxd: move out percpu_ref_exit() to ensure it's outside + submission + - rtc: mcp795: Add SPI ID table + - Input: ariel-pwrbutton - add SPI device ID table + - i2c: mediatek: fixing the incorrect register offset + - NFS: Default change_attr_type to NFS4_CHANGE_TYPE_IS_UNDEFINED + - NFS: Don't set NFS_INO_DATA_INVAL_DEFER and NFS_INO_INVALID_DATA + - NFS: Ignore the directory size when marking for revalidation + - NFS: Fix dentry verifier races + - pnfs/flexfiles: Fix misplaced barrier in nfs4_ff_layout_prepare_ds + - drm/bridge/lontium-lt9611uxc: fix provided connector suport + - drm/plane-helper: fix uninitialized variable reference + - PCI: aardvark: Don't spam about PIO Response Status + - PCI: aardvark: Fix preserving PCI_EXP_RTCTL_CRSSVE flag on emulated bridge + - opp: Fix return in _opp_add_static_v2() + - NFS: Fix deadlocks in nfs_scan_commit_list() + - sparc: Add missing "FORCE" target when using if_changed + - fs: orangefs: fix error return code of orangefs_revalidate_lookup() + - Input: st1232 - increase "wait ready" timeout + - drm/bridge: nwl-dsi: Add atomic_get_input_bus_fmts + - mtd: spi-nor: hisi-sfc: Remove excessive clk_disable_unprepare() + - PCI: uniphier: Serialize INTx masking/unmasking and fix the bit operation + - mtd: rawnand: arasan: Prevent an unsupported configuration + - mtd: core: don't remove debugfs directory if device is in use + - remoteproc: Fix a memory leak in an error handling path in + 'rproc_handle_vdev()' + - rtc: rv3032: fix error handling in rv3032_clkout_set_rate() + - dmaengine: at_xdmac: call at_xdmac_axi_config() on resume path + - dmaengine: at_xdmac: fix AT_XDMAC_CC_PERID() macro + - dmaengine: stm32-dma: fix stm32_dma_get_max_width + - NFS: Fix up commit deadlocks + - NFS: Fix an Oops in pnfs_mark_request_commit() + - Fix user namespace leak + - auxdisplay: img-ascii-lcd: Fix lock-up when displaying empty string + - auxdisplay: ht16k33: Connect backlight to fbdev + - auxdisplay: ht16k33: Fix frame buffer device blanking + - soc: fsl: dpaa2-console: free buffer before returning from + dpaa2_console_read + - netfilter: nfnetlink_queue: fix OOB when mac header was cleared + - dmaengine: dmaengine_desc_callback_valid(): Check for `callback_result` + - dmaengine: tegra210-adma: fix pm runtime unbalance + - dmanegine: idxd: fix resource free ordering on driver removal + - dmaengine: idxd: reconfig device after device reset command + - signal/sh: Use force_sig(SIGKILL) instead of do_group_exit(SIGKILL) + - m68k: set a default value for MEMORY_RESERVE + - watchdog: f71808e_wdt: fix inaccurate report in WDIOC_GETTIMEOUT + - ar7: fix kernel builds for compiler test + - scsi: target: core: Remove from tmr_list during LUN unlink + - scsi: qla2xxx: Relogin during fabric disturbance + - scsi: qla2xxx: Fix gnl list corruption + - scsi: qla2xxx: Turn off target reset during issue_lip + - scsi: qla2xxx: edif: Fix app start fail + - scsi: qla2xxx: edif: Fix app start delay + - scsi: qla2xxx: edif: Flush stale events and msgs on session down + - scsi: qla2xxx: edif: Increase ELS payload + - scsi: qla2xxx: edif: Fix EDIF bsg + - NFSv4: Fix a regression in nfs_set_open_stateid_locked() + - dmaengine: idxd: fix resource leak on dmaengine driver disable + - i2c: xlr: Fix a resource leak in the error handling path of + 'xlr_i2c_probe()' + - gpio: realtek-otto: fix GPIO line IRQ offset + - xen-pciback: Fix return in pm_ctrl_init() + - nbd: fix max value for 'first_minor' + - nbd: fix possible overflow for 'first_minor' in nbd_dev_add() + - io-wq: fix max-workers not correctly set on multi-node system + - net: davinci_emac: Fix interrupt pacing disable + - kselftests/net: add missed icmp.sh test to Makefile + - kselftests/net: add missed setup_loopback.sh/setup_veth.sh to Makefile + - kselftests/net: add missed SRv6 tests + - kselftests/net: add missed vrf_strict_mode_test.sh test to Makefile + - kselftests/net: add missed toeplitz.sh/toeplitz_client.sh to Makefile + - ethtool: fix ethtool msg len calculation for pause stats + - openrisc: fix SMP tlb flush NULL pointer dereference + - net: vlan: fix a UAF in vlan_dev_real_dev() + - net: dsa: felix: fix broken VLAN-tagged PTP under VLAN-aware bridge + - ice: Fix replacing VF hardware MAC to existing MAC filter + - ice: Fix not stopping Tx queues for VFs + - kdb: Adopt scheduler's task classification + - ACPI: PMIC: Fix intel_pmic_regs_handler() read accesses + - PCI: j721e: Fix j721e_pcie_probe() error path + - nvdimm/btt: do not call del_gendisk() if not needed + - scsi: bsg: Fix errno when scsi_bsg_register_queue() fails + - scsi: ufs: ufshpb: Use proper power management API + - scsi: ufs: core: Fix NULL pointer dereference + - scsi: ufs: ufshpb: Properly handle max-single-cmd + - drm/nouveau/svm: Fix refcount leak bug and missing check against null bug + - nvdimm/pmem: cleanup the disk if pmem_release_disk() is yet assigned + - block/ataflop: use the blk_cleanup_disk() helper + - block/ataflop: add registration bool before calling del_gendisk() + - block/ataflop: provide a helper for cleanup up an atari disk + - ataflop: remove ataflop_probe_lock mutex + - PCI: Do not enable AtomicOps on VFs + - cpufreq: intel_pstate: Clear HWP desired on suspend/shutdown and offline + - net: phy: fix duplex out of sync problem while changing settings + - block: fix device_add_disk() kobject_create_and_add() error handling + - drm/ttm: remove ttm_bo_vm_insert_huge() + - bonding: Fix a use-after-free problem when bond_sysfs_slave_add() failed + - octeontx2-pf: select CONFIG_NET_DEVLINK + - ALSA: memalloc: Catch call with NULL snd_dma_buffer pointer + - mfd: core: Add missing of_node_put for loop iteration + - mfd: cpcap: Add SPI device ID table + - mfd: sprd: Add SPI device ID table + - mfd: altera-sysmgr: Fix a mistake caused by resource_size conversion + - ACPI: PM: Fix device wakeup power reference counting error + - libbpf: Fix lookup_and_delete_elem_flags error reporting + - selftests/bpf/xdp_redirect_multi: Put the logs to tmp folder + - selftests/bpf/xdp_redirect_multi: Use arping to accurate the arp number + - selftests/bpf/xdp_redirect_multi: Give tcpdump a chance to terminate cleanly + - selftests/bpf/xdp_redirect_multi: Limit the tests in netns + - drm: fb_helper: improve CONFIG_FB dependency + - Revert "drm/imx: Annotate dma-fence critical section in commit path" + - drm/amdgpu/powerplay: fix sysfs_emit/sysfs_emit_at handling + - can: etas_es58x: es58x_rx_err_msg(): fix memory leak in error path + - can: mcp251xfd: mcp251xfd_chip_start(): fix error handling for + mcp251xfd_chip_rx_int_enable() + - mm/zsmalloc.c: close race window between zs_pool_dec_isolated() and + zs_unregister_migration() + - zram: off by one in read_block_state() + - perf bpf: Add missing free to bpf_event__print_bpf_prog_info() + - llc: fix out-of-bound array index in llc_sk_dev_hash() + - nfc: pn533: Fix double free when pn533_fill_fragment_skbs() fails + - litex_liteeth: Fix a double free in the remove function + - arm64: arm64_ftr_reg->name may not be a human-readable string + - arm64: pgtable: make __pte_to_phys/__phys_to_pte_val inline functions + - bpf, sockmap: Remove unhash handler for BPF sockmap usage + - bpf, sockmap: Fix race in ingress receive verdict with redirect to self + - bpf: sockmap, strparser, and tls are reusing qdisc_skb_cb and colliding + - bpf, sockmap: sk_skb data_end access incorrect when src_reg = dst_reg + - dmaengine: stm32-dma: fix burst in case of unaligned memory address + - dmaengine: stm32-dma: avoid 64-bit division in stm32_dma_get_max_width + - gve: Fix off by one in gve_tx_timeout() + - drm/i915/fb: Fix rounding error in subsampled plane size calculation + - init: make unknown command line param message clearer + - seq_file: fix passing wrong private data + - drm/amdgpu: fix uvd crash on Polaris12 during driver unloading + - net: dsa: mv88e6xxx: Don't support >1G speeds on 6191X on ports other than + 10 + - net/sched: sch_taprio: fix undefined behavior in ktime_mono_to_any + - net: hns3: fix ROCE base interrupt vector initialization bug + - net: hns3: fix pfc packet number incorrect after querying pfc parameters + - net: hns3: fix kernel crash when unload VF while it is being reset + - net: hns3: allow configure ETS bandwidth of all TCs + - net: stmmac: allow a tc-taprio base-time of zero + - net: ethernet: ti: cpsw_ale: Fix access to un-initialized memory + - net: marvell: mvpp2: Fix wrong SerDes reconfiguration order + - vsock: prevent unnecessary refcnt inc for nonblocking connect + - net/smc: fix sk_refcnt underflow on linkdown and fallback + - cxgb4: fix eeprom len when diagnostics not implemented + - selftests/net: udpgso_bench_rx: fix port argument + - thermal: int340x: fix build on 32-bit targets + - smb3: do not error on fsync when readonly + - ARM: 9155/1: fix early early_iounmap() + - ARM: 9156/1: drop cc-option fallbacks for architecture selection + - parisc: Fix backtrace to always include init funtion names + - parisc: Flush kernel data mapping in set_pte_at() when installing pte for + user page + - MIPS: fix duplicated slashes for Platform file path + - MIPS: fix *-pkg builds for loongson2ef platform + - MIPS: Fix assembly error from MIPSr2 code used within MIPS_ISA_ARCH_LEVEL + - x86/mce: Add errata workaround for Skylake SKX37 + - PCI/MSI: Move non-mask check back into low level accessors + - PCI/MSI: Destroy sysfs before freeing entries + - KVM: x86: move guest_pv_has out of user_access section + - posix-cpu-timers: Clear task::posix_cputimers_work in copy_process() + - irqchip/sifive-plic: Fixup EOI failed when masked + - f2fs: should use GFP_NOFS for directory inodes + - f2fs: include non-compressed blocks in compr_written_block + - f2fs: fix UAF in f2fs_available_free_memory + - ceph: fix mdsmap decode when there are MDS's beyond max_mds + - erofs: fix unsafe pagevec reuse of hooked pclusters + - drm/i915/guc: Fix blocked context accounting + - block: Hold invalidate_lock in BLKDISCARD ioctl + - block: Hold invalidate_lock in BLKZEROOUT ioctl + - block: Hold invalidate_lock in BLKRESETZONE ioctl + - ksmbd: Fix buffer length check in fsctl_validate_negotiate_info() + - ksmbd: don't need 8byte alignment for request length in ksmbd_check_message + - dmaengine: ti: k3-udma: Set bchan to NULL if a channel request fail + - dmaengine: ti: k3-udma: Set r/tchan or rflow to NULL if request fail + - dmaengine: bestcomm: fix system boot lockups + - net, neigh: Enable state migration between NUD_PERMANENT and NTF_USE + - 9p/net: fix missing error check in p9_check_errors + - mm/filemap.c: remove bogus VM_BUG_ON + - memcg: prohibit unconditional exceeding the limit of dying tasks + - mm, oom: pagefault_out_of_memory: don't force global OOM for dying tasks + - mm, oom: do not trigger out_of_memory from the #PF + - mm, thp: lock filemap when truncating page cache + - mm, thp: fix incorrect unmap behavior for private pages + - mfd: dln2: Add cell for initializing DLN2 ADC + - video: backlight: Drop maximum brightness override for brightness zero + - bcache: fix use-after-free problem in bcache_device_free() + - bcache: Revert "bcache: use bvec_virt" + - PM: sleep: Avoid calling put_device() under dpm_list_mtx + - s390/cpumf: cpum_cf PMU displays invalid value after hotplug remove + - s390/cio: check the subchannel validity for dev_busid + - s390/tape: fix timer initialization in tape_std_assign() + - s390/ap: Fix hanging ioctl caused by orphaned replies + - s390/cio: make ccw_device_dma_* more robust + - remoteproc: elf_loader: Fix loading segment when is_iomem true + - remoteproc: Fix the wrong default value of is_iomem + - remoteproc: imx_rproc: Fix ignoring mapping vdev regions + - remoteproc: imx_rproc: Fix rsc-table name + - mtd: rawnand: fsmc: Fix use of SM ORDER + - mtd: rawnand: ams-delta: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: xway: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: mpc5121: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: gpio: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: pasemi: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: orion: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: plat_nand: Keep the driver compatible with on-die ECC engines + - mtd: rawnand: au1550nd: Keep the driver compatible with on-die ECC engines + - powerpc/vas: Fix potential NULL pointer dereference + - powerpc/bpf: Fix write protecting JIT code + - powerpc/32e: Ignore ESR in instruction storage interrupt handler + - powerpc/powernv/prd: Unregister OPAL_MSG_PRD2 notifier during module unload + - powerpc/security: Use a mutex for interrupt exit code patching + - powerpc/64s/interrupt: Fix check_return_regs_valid() false positive + - powerpc/pseries/mobility: ignore ibm, platform-facilities updates + - powerpc/85xx: fix timebase sync issue when CONFIG_HOTPLUG_CPU=n + - drm/sun4i: Fix macros in sun8i_csc.h + - PCI: Add PCI_EXP_DEVCTL_PAYLOAD_* macros + - PCI: aardvark: Fix PCIe Max Payload Size setting + - SUNRPC: Partial revert of commit 6f9f17287e78 + - drm/amd/display: Look at firmware version to determine using dmub on dcn21 + - media: vidtv: move kfree(dvb) to vidtv_bridge_dev_release() + - cifs: fix memory leak of smb3_fs_context_dup::server_hostname + - ath10k: fix invalid dma_addr_t token assignment + - mmc: moxart: Fix null pointer dereference on pointer host + - selftests/x86/iopl: Adjust to the faked iopl CLI/STI usage + - selftests/bpf: Fix also no-alu32 strobemeta selftest + - arch/cc: Introduce a function to check for confidential computing features + - x86/sev: Add an x86 version of cc_platform_has() + - x86/sev: Make the #VC exception stacks part of the default stacks storage + - media: videobuf2: always set buffer vb2 pointer + - media: videobuf2-dma-sg: Fix buf->vb NULL pointer dereference + - Linux 5.15.3 + + * kernel panic: NULL pointer dereference in wb_timer_f() (LP: #1947557) // + Jammy update: v5.15.3 upstream stable release (LP: #1951822) + - blk-wbt: prevent NULL pointer dereference in wb_timer_fn + + * Medion Notebook Keyboard not working (LP: #1909814) // Jammy update: v5.15.3 + upstream stable release (LP: #1951822) + - ACPI: resources: Add DMI-based legacy IRQ override quirk + + * Enable CONFIG_INTEL_IOMMU_DEFAULT_ON and + CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON on jammy 5.15 (LP: #1951440) + - [Config] enable Intel DMA remapping options by default + + * Thinkpad E14 Gen2: Kernel panic with trackpad and trackpoint enabled + (LP: #1945590) + - SAUCE: Input: elantech - Fix stack out of bound access in + elantech_change_report_id() + + * Miscellaneous Ubuntu changes + - SAUCE: LSM: Specify which LSM to display (using struct cred as input) + - SAUCE: selftests/seccomp: fix check of fds being assigned + - [Config] enable SUNRPC_DISABLE_INSECURE_ENCTYPES + - [Config] updateconfigs following v5.15.3, v5.15.4 import + + * Miscellaneous upstream changes + - binder: use cred instead of task for selinux checks + - binder: use cred instead of task for getsecid + - Revert "UBUNTU: SAUCE: storvsc: use small sg_tablesize on x86" + + -- Paolo Pisati Mon, 22 Nov 2021 13:14:15 +0100 + +linux (5.15.0-11.11) jammy; urgency=medium + + * jammy/linux: 5.15.0-11.11 -proposed tracker (LP: #1950948) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * OOPs on boot: invalid opcode: 0000 [#1] SMP NOPTI (LP: #1942215) + - SAUCE: ACPICA: prevent out-of-bound access with buggy DSDT + - [Config] disable UBSAN + - SAUCE: ACPICA: avoid accessing operands out-of-bounds + + * Jammy update: v5.15.2 upstream stable release (LP: #1950949) + - KVM: x86: avoid warning with -Wbitwise-instead-of-logical + - Revert "x86/kvm: fix vcpu-id indexed array sizes" + - usb: ehci: handshake CMD_RUN instead of STS_HALT + - usb: gadget: Mark USB_FSL_QE broken on 64-bit + - usb: musb: Balance list entry in musb_gadget_queue + - usb-storage: Add compatibility quirk flags for iODD 2531/2541 + - Revert "proc/wchan: use printk format instead of lookup_symbol_name()" + - binder: use euid from cred instead of using task + - binder: don't detect sender/target during buffer cleanup + - kfence: always use static branches to guard kfence_alloc() + - kfence: default to dynamic branch instead of static keys mode + - btrfs: fix lzo_decompress_bio() kmap leakage + - staging: rtl8712: fix use-after-free in rtl8712_dl_fw + - isofs: Fix out of bound access for corrupted isofs image + - comedi: dt9812: fix DMA buffers on stack + - comedi: ni_usb6501: fix NULL-deref in command paths + - comedi: vmk80xx: fix transfer-buffer overflows + - comedi: vmk80xx: fix bulk-buffer overflow + - comedi: vmk80xx: fix bulk and interrupt message timeouts + - staging: r8712u: fix control-message timeout + - staging: rtl8192u: fix control-message timeouts + - staging: r8188eu: fix memleak in rtw_wx_set_enc_ext + - media: staging/intel-ipu3: css: Fix wrong size comparison imgu_css_fw_init + - rsi: fix control-message timeout + - Linux 5.15.2 + + * reuseport_bpf_numa in net from ubuntu_kernel_selftests fails on ppc64le + (LP: #1867570) + - selftests/net: Fix reuseport_bpf_numa by skipping unavailable nodes + + * Miscellaneous Ubuntu changes + - packaging: switch getabis to the linux package name + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: (no-up) rename the adv7511 drm driver to adv7511_drm" + - Revert "UBUNTU: SAUCE: drm/i915/dp: Use max params for older panels" + - Revert "UBUNTU: SAUCE: i915: Fix build error due to missing struct + definition" + - selftests/core: fix conflicting types compile error for close_range() + - selftests: net: test_vxlan_under_vrf: fix HV connectivity test + - Revert "UBUNTU: SAUCE: ACPICA: prevent out-of-bound access with buggy DSDT" + + -- Paolo Pisati Mon, 15 Nov 2021 10:12:47 +0100 + +linux (5.15.0-10.10) jammy; urgency=medium + + * jammy/linux: 5.15.0-10.10 -proposed tracker (LP: #1950133) + + * Jammy update: v5.15.1 upstream stable release (LP: #1950131) + - sfc: Fix reading non-legacy supported link modes + - media: firewire: firedtv-avc: fix a buffer overflow in avc_ca_pmt() + - Revert "xhci: Set HCD flag to defer primary roothub registration" + - Revert "usb: core: hcd: Add support for deferring roothub registration" + - drm/amdkfd: fix boot failure when iommu is disabled in Picasso. + - Revert "soc: imx: gpcv2: move reset assert after requesting domain power up" + - ARM: 9120/1: Revert "amba: make use of -1 IRQs warn" + - Revert "wcn36xx: Disable bmps when encryption is disabled" + - drm/amdgpu: revert "Add autodump debugfs node for gpu reset v8" + - drm/amd/display: Revert "Directly retrain link from debugfs" + - Revert "drm/i915/gt: Propagate change in error status to children on unhold" + - ALSA: usb-audio: Add quirk for Audient iD14 + - Linux 5.15.1 + + * Miscellaneous Ubuntu changes + - packaging: fixup previous ABI/spin to -9.9 + - [Packaging] Drop unused d-i build-deps and packaging + - [Packaging] Drop now unsupported d-i/ input files + + * Miscellaneous upstream changes + - selftests: net: properly support IPv6 in GSO GRE test + - signal: Add SA_IMMUTABLE to ensure forced siganls do not get changed + + -- Paolo Pisati Mon, 08 Nov 2021 14:43:24 +0100 + +linux (5.15.0-9.9) jammy; urgency=medium + + * jammy/linux: 5.15.0-1.1 -proposed tracker (LP: #1949876) + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + - [Packaging] update Ubuntu.md + + * Add F81966 watchdog support (LP: #1949063) + - SAUCE: ODM: watchdog: f71808e_wdt: Add F81966 support + + * Miscellaneous Ubuntu changes + - [Packaging] Rewrite debian/scripts/misc/insert-changes.pl in Python + - [Packaging] change source package name to linux + + -- Andrea Righi Thu, 04 Nov 2021 18:47:19 +0100 + +linux (5.15.0-0.0) jammy; urgency=medium + + * Empty entry + + -- Andrea Righi Thu, 04 Nov 2021 16:47:16 +0100 + +linux-unstable (5.15.0-8.8) jammy; urgency=medium + + * jammy/linux-unstable: 5.15.0-8.8 -proposed tracker (LP: #1949436) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Drop "UBUNTU: SAUCE: cachefiles: Page leaking in + cachefiles_read_backing_file while vmscan is active" (LP: #1947709) + - Revert "UBUNTU: SAUCE: cachefiles: Page leaking in + cachefiles_read_backing_file while vmscan is active" + + * Add l2tp.sh in net from ubuntu_kernel_selftests back (LP: #1934293) + - Revert "UBUNTU: SAUCE: selftests/net -- disable l2tp.sh test" + + * Check for changes relevant for security certifications (LP: #1945989) + - [Packaging] Add fips-checks as part of finalchecks + + * Add final-checks to check certificates (LP: #1947174) + - [Packaging] Add system trusted and revocation keys final check + + * Can only reach PC3 when ethernet is plugged r8169 (LP: #1946433) + - r8169: Enable chip-specific ASPM regardless of PCIe ASPM status + - PCI/ASPM: Introduce a new helper to report ASPM capability + - r8169: Implement dynamic ASPM mechanism + + * rtw89 kernel module for Realtek 8852 wifi is missing (LP: #1945967) + - rtw89: add Realtek 802.11ax driver + - rtw89: Remove redundant check of ret after call to rtw89_mac_enable_bb_rf + - rtw89: fix return value check in rtw89_cam_send_sec_key_cmd() + - rtw89: remove unneeded semicolon + - [Config] RTW89=m + + * Fix A yellow screen pops up in an instant (< 1 second) and then disappears + before loading the system (LP: #1945932) + - drm/i915: Stop force enabling pipe bottom color gammma/csc + + * disable CONFIG_KFENCE_STATIC_KEYS in linux 5.15 (LP: #1948038) + - [Config] disable CONFIG_KFENCE_STATIC_KEYS + + * Miscellaneous Ubuntu changes + - [Debian] Remove old and unused firmware helper scripts + - [Packaging] Replace Perl oneliner with Bash statements + - rebase to v5.15 + + [ Upstream Kernel Changes ] + + * Rebase to v5.15 + + -- Paolo Pisati Tue, 02 Nov 2021 08:29:45 +0100 + +linux-unstable (5.15.0-7.7) jammy; urgency=medium + + * jammy/linux-unstable: 5.15.0-7.7 -proposed tracker (LP: #1948770) + + * Miscellaneous Ubuntu changes + - [Config] Temporarily disable signing for ppc64el and s390x + - packaging: switch release to Jammy + - rebase to v5.15-rc7 + - [Config] GCC version update + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc7 + + -- Paolo Pisati Tue, 26 Oct 2021 11:38:14 +0200 + +linux-unstable (5.15.0-6.6) jammy; urgency=medium + + * impish/linux-unstable: 5.15.0-6.6 -proposed tracker (LP: #1947565) + + * [impish] Remove the downstream xr-usb-uart driver (LP: #1945938) + - SAUCE: xr-usb-serial: remove driver + - [Config] update modules list + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc6 + - [Config] update config & annotations following v5.15-rc6 rebase + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: xr-usb-serial: switch to tty_alloc_driver() and + tty_driver_kref_put()" + - Revert "UBUNTU: SAUCE: xr-usb-serial: update return code for + xr_usb_serial_tty_write_room() and xr_usb_serial_tty_chars_in_buffer()" + - Revert "UBUNTU: [Packaging] FTBFS: disable zfs" + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc6 + + -- Paolo Pisati Mon, 18 Oct 2021 12:24:45 +0200 + +linux-unstable (5.15.0-5.5) impish; urgency=medium + + * impish/linux-unstable: 5.15.0-5.5 -proposed tracker (LP: #1946338) + + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc5 + - [Config] FB_SIMPLE=m + - [Config] update annotations + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc5 + + -- Paolo Pisati Mon, 11 Oct 2021 12:14:02 +0200 + +linux-unstable (5.15.0-4.4) impish; urgency=medium + + * impish/linux-unstable: 5.15.0-4.4 -proposed tracker (LP: #1945953) + + * Fix missing HDMI audio on Intel RKL (LP: #1945556) + - drm/i915/audio: Use BIOS provided value for RKL HDA link + + * Miscellaneous Ubuntu changes + - SAUCE: media: atomisp: add missing return type (fix -Werror=return-type) + - SAUCE: xr-usb-serial: switch to tty_alloc_driver() and tty_driver_kref_put() + - rebase to v5.15-rc4 + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] FTBFS: disable INTEL_ATOMISP" + - Revert "UBUNTU: [Config] FTBFS: disable xr-usb-serial" + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc4 + + -- Paolo Pisati Mon, 04 Oct 2021 10:52:41 +0200 + +linux-unstable (5.15.0-3.3) impish; urgency=medium + + * impish/linux-unstable: 5.15.0-3.3 -proposed tracker (LP: #1944944) + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc3 + - [Config] updateconfigs following v5.15-rc3 rebase + - [Packaging] correctly evaluate release in update-dkms-versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc3 + + -- Paolo Pisati Mon, 27 Sep 2021 16:48:03 +0200 + +linux-unstable (5.15.0-2.2) impish; urgency=medium + + * impish/linux-unstable: 5.15.0-2.2 -proposed tracker (LP: #1944423) + + * Miscellaneous Ubuntu changes + - rebase to v5.15-rc2 + - [Config] updateconfigs following v5.15-rc2 rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc2 + + -- Paolo Pisati Tue, 21 Sep 2021 11:46:59 +0200 + +linux-unstable (5.15.0-1.1) impish; urgency=medium + + * Packaging resync (LP: #1786013) + - debian/dkms-versions -- update from kernel-versions (main/master) + + * LRMv5: switch primary version handling to kernel-versions data set + (LP: #1928921) + - [Packaging] switch to kernel-versions + + * Miscellaneous Ubuntu changes + - [Packaging] remove remaining references to ports + - [Packaging] drop x32 architecture configs + - [Config] mark CONFIG_BPF_UNPRIV_DEFAULT_OFF enforced + - [Packaging] bump kernel version to 5.15 + - rebase to v5.15-rc1 + - [Config] updateconfigs following v5.15-rc1 rebase + - [Config] FTBFS: disable INTEL_ATOMISP + - [Config] FTBFS: disable xr-usb-serial + - [Packaging] FTBFS: disable zfs + + * Miscellaneous upstream changes + - Revert "r8169: avoid link-up interrupt issue on RTL8106e if user enables + ASPM" + - Revert "UBUNTU: SAUCE: RDMA/core: Introduce peer memory interface" + + [ Upstream Kernel Changes ] + + * Rebase to v5.15-rc1 + + -- Paolo Pisati Fri, 17 Sep 2021 11:42:25 +0200 + +linux-unstable (5.15.0-0.0) impish; urgency=medium + + * Empty entry + + -- Paolo Pisati Wed, 15 Sep 2021 11:54:10 +0200 + +linux-unstable (5.14.0-9.9) impish; urgency=medium + + * impish/linux-unstable: 5.14.0-9.9 -proposed tracker (LP: #1943022) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Packaging] NVIDIA -- Add the NVIDIA 470 driver + - [Packaging] NVIDIA: transition -460 and -465 to -470, transition -460-server + to -470-server + + * Miscellaneous upstream changes + - vt_kdsetmode: extend console locking + - Bluetooth: btusb: check conditions before enabling USB ALT 3 for WBS + - net: dsa: mt7530: fix VLAN traffic leaks again + - btrfs: fix NULL pointer dereference when deleting device by invalid id + - Revert "floppy: reintroduce O_NDELAY fix" + - fscrypt: add fscrypt_symlink_getattr() for computing st_size + - ext4: report correct st_size for encrypted symlinks + - f2fs: report correct st_size for encrypted symlinks + - ubifs: report correct st_size for encrypted symlinks + - net: don't unconditionally copy_from_user a struct ifreq for socket ioctls + - audit: move put_tree() to avoid trim_trees refcount underflow and UAF + - Linux 5.14.1 + + -- Paolo Pisati Wed, 08 Sep 2021 12:20:18 +0200 + +linux-unstable (5.14.0-8.8) impish; urgency=medium + + * impish/linux-unstable: 5.14.0-8.8 -proposed tracker (LP: #1941887) + + * Fix Intel AC9560 BT function cannot turn on if BT turn off before S3 entry + (LP: #1941696) + - SAUCE: Bluetooth: btusb: add a reject table to disable msft + + * Add USB4 support for AMD SoC (LP: #1941036) + - thunderbolt: Add vendor specific NHI quirk for auto-clearing interrupt + status + - thunderbolt: Handle ring interrupt by reading interrupt status register + - thunderbolt: Do not read control adapter config space + - thunderbolt: Fix port linking by checking all adapters + + * Support builtin revoked certificates (LP: #1932029) + - [Config] Enforce SYSTEM_TRUSTED_KEYS and SYSTEM_REVOCATION_KEYS + + * GPIO error logs in start and dmesg after update of kernel (LP: #1937897) + - ODM: mfd: Check AAEON BFPI version before adding device + + * initramfs-tools & kernel: use zstd as the default compression method + (LP: #1931725) + - [Config] enforce ZSTD compression + + * Miscellaneous Ubuntu changes + - rebase to v5.14 + - [Config] RESET_MCHP_SPARX5 depends on ARCH_SPARX5 + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] FTBFS: disable zfs" + + [ Upstream Kernel Changes ] + + * Rebase to v5.14 + + -- Paolo Pisati Mon, 30 Aug 2021 12:57:19 +0200 + +linux-unstable (5.14.0-7.7) impish; urgency=medium + + * Please enable CONFIG_UBSAN_BOUNDS (LP: #1914685) + - [Config] Enable CONFIG_UBSAN_BOUNDS + + * CONFIG_HARDENED_USERCOPY_FALLBACK should be disabled (LP: #1855340) + - [Config] Disable CONFIG_HARDENED_USERCOPY_FALLBACK + + * fs: removing mandatory locks (LP: #1940392) + - [Config] Disable CONFIG_MANDATORY_FILE_LOCKING + + * Fix kernel panic caused by legacy devices on AMD platforms (LP: #1936682) + - SAUCE: iommu/amd: Keep swiotlb enabled to ensure devices with 32bit DMA + still work + + * ALSA: hda/cs8409: Add support for dolphin (LP: #1939541) + - ALSA: hda/cirrus: Move CS8409 HDA bridge to separate module + - ALSA: hda/cs8409: Move arrays of configuration to a new file + - ALSA: hda/cs8409: Use enums for register names and coefficients + - ALSA: hda/cs8409: Mask all CS42L42 interrupts on initialization + - ALSA: hda/cs8409: Reduce HS pops/clicks for Cyborg + - ALSA: hda/cs8409: Disable unnecessary Ring Sense for Cyborg/Warlock/Bullseye + - ALSA: hda/cs8409: Disable unsolicited responses during suspend + - ALSA: hda/cs8409: Disable unsolicited response for the first boot + - ALSA: hda/cs8409: Mask CS42L42 wake events + - ALSA: hda/cs8409: Simplify CS42L42 jack detect. + - ALSA: hda/cs8409: Prevent I2C access during suspend time + - ALSA: hda/cs8409: Generalize volume controls + - ALSA: hda/cs8409: Dont disable I2C clock between consecutive accesses + - ALSA: hda/cs8409: Avoid setting the same I2C address for every access + - ALSA: hda/cs8409: Avoid re-setting the same page as the last access + - ALSA: hda/cs8409: Support i2c bulk read/write functions + - ALSA: hda/cs8409: Separate CS8409, CS42L42 and project functions + - ALSA: hda/cs8409: Move codec properties to its own struct + - ALSA: hda/cs8409: Support multiple sub_codecs for Suspend/Resume/Unsol + events + - ALSA: hda/cs8409: Add Support to disable jack type detection for CS42L42 + - ALSA: hda/cs8409: Add support for dolphin + - ALSA: hda/cs8409: Enable Full Scale Volume for Line Out Codec on Dolphin + - ALSA: hda/cs8409: Set fixed sample rate of 48kHz for CS42L42 + - ALSA: hda/cs8409: Use timeout rather than retries for I2C transaction waits + - ALSA: hda/cs8409: Remove unnecessary delays + - ALSA: hda/cs8409: Follow correct CS42L42 power down sequence for suspend + - ALSA: hda/cs8409: Unmute/Mute codec when stream starts/stops + - ALSA: hda/cs8409: Prevent pops and clicks during suspend + - SAUCE: ALSA: hda/cs8409: Prevent pops and clicks during reboot + - [Config] Enable Cirrus Logic HDA bridge support + + * e1000e: add handshake with the Intel CSME to support S0ix (LP: #1937252) + - SAUCE: e1000e: Add handshake with the CSME to support S0ix + - SAUCE: e1000e: Add polling mechanism to indicate CSME DPG exit + - SAUCE: e1000e: Additional PHY power saving in S0ix + + * AMDGPU: Fix System hang after resume from suspend (LP: #1940204) + - SAUCE: drm/amdgpu: disable BACO support for 699F:C7 polaris12 SKU + temporarily + + * [Regression] Audio card [8086:9d71] not detected after upgrade from linux + 5.4 to 5.8 (LP: #1915117) + - [Config] set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y + + * Miscellaneous Ubuntu changes + - rebase to v5.14-rc7 + - [Config] updateconfigs following 5.14-rc7 rebase + - [Config] Enable CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT + - [Config] annotations: set CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT to y + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] annotations: set + CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y" + - Revert "UBUNTU: [Config] set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to + y" + + [ Upstream Kernel Changes ] + + * Rebase to v5.14-rc7 + + -- Paolo Pisati Tue, 24 Aug 2021 10:32:31 +0200 + +linux-unstable (5.14.0-6.6) impish; urgency=medium + + * Miscellaneous Ubuntu changes + - no changes upload (to avoid picking up libc6 from -proposed) + + * No changes upload (to avoid picking up libc6 from -proposed) + + -- Paolo Pisati Wed, 18 Aug 2021 13:41:16 +0200 + +linux-unstable (5.14.0-5.5) impish; urgency=medium + + * disable “CONFIG_HISI_DMA” config for ubuntu version (LP: #1936771) + - [Config] Disable CONFIG_HISI_DMA + + * Dell XPS 17 (9710) PCI/internal sound card not detected (LP: #1935850) + - ASoC: Intel: sof_sdw: include rt711.h for RT711 JD mode + - ASoC: Intel: sof_sdw: add quirk for Dell XPS 9710 + + * [regression] USB device is not detected during boot (LP: #1939638) + - SAUCE: Revert "usb: core: reduce power-on-good delay time of root hub" + + * armhf build failure (LP: #1939308) + - SAUCE: arm: Fix instruction set selection for GCC 11 + + * REGRESSION: shiftfs lets sendfile fail with EINVAL (LP: #1939301) + - SAUCE: shiftfs: fix sendfile() invocations + + * Wobbly graphics on built-in display since linux-image-5.11.0-22-generic + (LP: #1936708) + - SAUCE: drm/i915/dp: Use max params for older panels + + * [SRU][H/OEM-5.10/OEM-5.13/U] Fix system hang after unplug tbt dock + (LP: #1938689) + - SAUCE: igc: fix page fault when thunderbolt is unplugged + + * e1000e blocks the boot process when it tried to write checksum to its NVM + (LP: #1936998) + - SAUCE: e1000e: Do not take care about recovery NVM checksum + + * [Regression] Audio card [8086:9d71] not detected after upgrade from linux + 5.4 to 5.8 (LP: #1915117) + - [Config] set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y + - [Config] annotations: set CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC to y + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs following 5.14-rc6 rebase + - rebase to v5.14-rc6 + + [ Upstream Kernel Changes ] + + * Rebase to v5.14-rc6 + + -- Paolo Pisati Tue, 17 Aug 2021 17:49:15 +0200 + +linux-unstable (5.14.0-4.4) impish; urgency=medium + + * impish/linux-unstable: 5.14.0-4.4 -proposed tracker (LP: #1938566) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous upstream changes + - Revert "riscv: Get CPU manufacturer information" + + -- Paolo Pisati Tue, 03 Aug 2021 14:50:27 +0200 + +linux-unstable (5.14.0-3.3) impish; urgency=medium + + * Add additional Mediatek MT7921 WiFi/BT device IDs (LP: #1937004) + - SAUCE: Bluetooth: btusb: Add Mediatek MT7921 support for Foxconn + - SAUCE: Bluetooth: btusb: Add Mediatek MT7921 support for IMC Network + - SAUCE: Bluetooth: btusb: Add support for Foxconn Mediatek Chip + + * Fix display output on HP hybrid GFX laptops (LP: #1936296) + - drm/i915: Invoke another _DSM to enable MUX on HP Workstation laptops + + * Miscellaneous Ubuntu changes + - rebase to v5.14-rc3 + - [Config] updateconfigs following 5.14-rc3 rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.14-rc3 + + -- Paolo Pisati Mon, 26 Jul 2021 12:52:38 +0200 + +linux-unstable (5.14.0-2.2) impish; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - SAUCE: xr-usb-serial: update return code for xr_usb_serial_tty_write_room() + and xr_usb_serial_tty_chars_in_buffer() + - SAUCE: platform/x86: dell-uart-backlight: update return code for + uart_chars_in_buffer(() + - [Config] updateconfigs following 5.14-rc2 rebase + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] FTBFS: disable ubuntu/xr-usb-serial" + - Revert "UBUNTU: [Config] FTBFS: disable DELL_UART_BACKLIGHT" + + [ Upstream Kernel Changes ] + + * Rebase to v5.14-rc2 + + -- Paolo Pisati Thu, 22 Jul 2021 11:03:28 +0200 + +linux-unstable (5.14.0-1.1) impish; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Packaging] bump kernel version to 5.14 + - [Config] updateconfigs following 5.14-rc1 rebase + - [Config] update annotations + - [Packaging] FTBFS: disable zfs + - [Config] FTBFS: disable DELL_UART_BACKLIGHT + - [Config] FTBFS: disable ubuntu/xr-usb-serial + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] update variants" + + [ Upstream Kernel Changes ] + + * Rebase to v5.14-rc1 + + -- Paolo Pisati Fri, 16 Jul 2021 15:20:04 +0200 + +linux-unstable (5.14.0-0.0) impish; urgency=medium + + * Empty entry + + -- Paolo Pisati Tue, 13 Jul 2021 12:15:35 +0200 + +linux (5.13.0-11.11) impish; urgency=medium + + * impish/linux: 5.13.0-11.11 -proposed tracker (LP: #1933854) + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * Support builtin revoked certificates (LP: #1932029) + - [Packaging] build canonical-revoked-certs.pem from branch/arch certs + - [Packaging] Revoke 2012 UEFI signing certificate as built-in + - [Config] Configure CONFIG_SYSTEM_REVOCATION_KEYS with revoked keys + + * Miscellaneous Ubuntu changes + - [Packaging] Change source package name to linux + + * Miscellaneous upstream changes + - mm/page_alloc: Correct return value of populated elements if bulk array is + populated + + -- Andrea Righi Tue, 29 Jun 2021 07:50:25 +0200 + +linux (5.13.0-10.10) impish; urgency=medium + + * Empty entry + + -- Andrea Righi Mon, 28 Jun 2021 08:40:05 +0200 + +linux-unstable (5.13.0-10.10) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-10.10 -proposed tracker (LP: #1933795) + + * Pixel format change broken for Elgato Cam Link 4K (LP: #1932367) + - media: uvcvideo: Fix pixel format change for Elgato Cam Link 4K + + * initramfs-tools & kernel: use zstd as the default compression method + (LP: #1931725) + - s390/decompressor: correct BOOT_HEAP_SIZE condition + - s390/boot: add zstd support + - [Packaging] use ZSTD to compress s390 kernels + + * Miscellaneous Ubuntu changes + - SAUCE: selftests: tls: fix chacha+bidir tests + - SAUCE: selftests: icmp_redirect: support expected failures + - [Config] update configs and annotations after rebase to 5.13 + + * Miscellaneous upstream changes + - tls: prevent oversized sendfile() hangs by ignoring MSG_MORE + + [ Upstream Kernel Changes ] + + * Rebase to v5.13 + + -- Andrea Righi Mon, 28 Jun 2021 08:40:05 +0200 + +linux-unstable (5.13.0-9.9) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-9.9 -proposed tracker (LP: #1933070) + + * Add support for selective build of special drivers (LP: #1912789) + - [Packaging] Add support for ODM drivers + - [Packaging] Turn on ODM support for amd64 + - [Packaging] Fix ODM support in actual build + - [Packaging] Fix ODM DRIVERS Kconfig + + * Add support for IO functions of AAEON devices (LP: #1929504) + - ODM: [Config] update config for AAEON devices + - ODM: hwmon: add driver for AAEON devices + - ODM: leds: add driver for AAEON devices + - ODM: watchdog: add driver for AAEON devices + - ODM: gpio: add driver for AAEON devices + - ODM: mfd: Add support for IO functions of AAEON devices + + * Disable hv-kvp-daemon.service on certain instance types (LP: #1932081) + - [Packaging]: Add kernel command line condition to hv-kvp-daemon service + + * Fix non-working GPU on Some HP desktops (LP: #1931147) + - PCI: Coalesce host bridge contiguous apertures + + * Miscellaneous Ubuntu changes + - SAUCE: selftests: seccomp: bump up timeout to 5min + - SAUCE: Revert "net/tls(TLS_SW): Add selftest for 'chunked' sendfile test" + - [Config] update annotations after rebase to 5.13-rc7 + + [ Upstream Kernel Changes ] + + * Rebase to v5.13-rc7 + + -- Andrea Righi Mon, 21 Jun 2021 10:55:36 +0200 + +linux-unstable (5.13.0-8.8) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-8.8 -proposed tracker (LP: #1932018) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * initramfs-tools & kernel: use zstd as the default compression method + (LP: #1931725) + - [Config] use ZSTD to compress amd64 kernels + + * Miscellaneous Ubuntu changes + - [Config] enable signing for ppc64el + - SAUCE: powerpc: Fix initrd corruption with relative jump labels + + -- Andrea Righi Tue, 15 Jun 2021 15:07:34 +0200 + +linux-unstable (5.13.0-7.7) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-7.7 -proposed tracker (LP: #1931840) + + * Packaging resync (LP: #1786013) + - update dkms package versions + - [Packaging] resync getabis + - [Packaging] update helper scripts + - update dkms package versions + + * Intel ADL-S graphics feature enabling (LP: #1931240) + - SAUCE: drm/i915/adl_s: ADL-S platform Update PCI ids for Mobile BGA + + * Kernel package builds running out of space on builders (LP: #1930713) + - [Config] CONFIG_DEBUG_INFO_COMPRESSED=n + + * Miscellaneous Ubuntu changes + - [Debian] remove nvidia dkms build support + - [Config] remove now unsued do_dkms_nvidia* build variables + - [Config] enable signing for s390x + - [Config] update annotations after configs review + - [Config] update toolchain versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.13-rc6 + + -- Andrea Righi Mon, 14 Jun 2021 11:53:08 +0200 + +linux-unstable (5.13.0-6.6) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-6.6 -proposed tracker (LP: #1931071) + + * Kernel package builds running out of space on builders (LP: #1930713) + - [Debian] use stamps for flavour install targets + - [Debian] run install-$(flavour) targets during build phase + - [Debian] remove dh_testroot from install targets + - [Debian] dkms-build -- use fakeroot if not running as root + - [Debian] exclude $(DEBIAN)/__abi.current from linux-source + + * [UBUNTU 21.04] tools/kvm_stat: Add restart delay (LP: #1921870) + - [Debian] install kvm_stat systemd service + + * Debugging symbols (dbgsym) packages are missing GDB kernel scripts + (LP: #1928715) + - [Packaging] Build and include GDB Python scripts into debug packages + + * Can't detect intel wifi 6235 (LP: #1920180) + - SAUCE: iwlwifi: add new pci id for 6235 + + * Select correct boot VGA when BIOS doesn't do it properly (LP: #1929217) + - vgaarb: Use ACPI HID name to find integrated GPU + + * Fix kernel panic on Intel Bluetooth (LP: #1928838) + - Bluetooth: Shutdown controller after workqueues are flushed or cancelled + + * build module CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH=m for 5.11, 5.13-rc2 + and later (LP: #1921632) + - [Config] enable soundwire audio mach driver + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_SND_SOC_RT1308 can only be enabled on amd64 + + [ Upstream Kernel Changes ] + + * Rebase to v5.13-rc5 + + -- Andrea Righi Mon, 07 Jun 2021 10:45:13 +0200 + +linux-unstable (5.13.0-5.5) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-5.5 -proposed tracker (LP: #1930205) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Config] set CONFIG_BPF_UNPRIV_DEFAULT_OFF=y + + -- Andrea Righi Mon, 31 May 2021 12:32:38 +0200 + +linux-unstable (5.13.0-4.4) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-4.4 -proposed tracker (LP: #1929404) + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Support importing mokx keys into revocation list from the mok table + (LP: #1928679) + - SAUCE: integrity: add informational messages when revoking certs + + * Support importing mokx keys into revocation list from the mok table + (LP: #1928679) // CVE-2020-26541 when certificates are revoked via + MokListXRT. + - SAUCE: integrity: Load mokx certs from the EFI MOK config table + + * Miscellaneous Ubuntu changes + - [Config] Temporarily disable signing for ppc64el and s390x + - SAUCE: Revert "UBUNTU: SAUCE: overlayfs: Be more careful about copying up + sxid files" + - SAUCE: Revert "UBUNTU: SAUCE: overlayfs: Propogate nosuid from lower and + upper mounts" + - SAUCE: Revert "UBUNTU: SAUCE: overlayfs: Enable user namespace mounts" + - SAUCE: Revert "UBUNTU: SAUCE: overlayfs: ensure mounter privileges when + reading directories" + - SAUCE: Revert "UBUNTU: SAUCE: fs: Move SB_I_NOSUID to the top of s_iflags" + + [ Upstream Kernel Changes ] + + * Rebase to v5.13-rc3 + + -- Andrea Righi Mon, 24 May 2021 13:06:17 +0200 + +linux-unstable (5.13.0-3.3) impish; urgency=medium + + * impish/linux-unstable: 5.13.0-3.3 -proposed tracker (LP: #1928655) + + [ Upstream Kernel Changes ] + + * Rebase to v5.13-rc2 + + -- Andrea Righi Mon, 17 May 2021 11:55:02 +0200 + +linux-unstable (5.13.0-2.2) impish; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] enable CONFIG_DEBUG_INFO_COMPRESSED + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] temporarily disable BPF JIT" + + -- Andrea Righi Fri, 14 May 2021 09:19:02 +0200 + +linux-unstable (5.13.0-1.1) impish; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v5.13-rc1 + + -- Andrea Righi Wed, 12 May 2021 11:35:23 +0200 + +linux-unstable (5.13.0-0.0) impish; urgency=medium + + * Empty entry + + -- Andrea Righi Tue, 11 May 2021 08:40:09 +0200 + +linux-unstable (5.12.0-11.11) impish; urgency=medium + + * Impish update: v5.12.1 upstream stable release (LP: #1927094) + - net: hso: fix NULL-deref on disconnect regression + - USB: CDC-ACM: fix poison/unpoison imbalance + - iwlwifi: Fix softirq/hardirq disabling in iwl_pcie_gen2_enqueue_hcmd() + - cfg80211: fix locking in netlink owner interface destruction + - mei: me: add Alder Lake P device id. + - Linux 5.12.1 + + * Packaging resync (LP: #1786013) // Impish update: v5.12.1 upstream stable + release (LP: #1927094) + - update dkms package versions + + * Gigabyte R120-T33 (ARM ThunderX SoC) fails to boot in ACPI mode + (LP: #1925075) // Impish update: v5.12.1 upstream stable release + (LP: #1927094) + - ACPI: GTDT: Don't corrupt interrupt mappings on watchdow probe failure + + * Fix kernel panic at boot on dual GFX systems (LP: #1926792) // Impish + update: v5.12.1 upstream stable release (LP: #1927094) + - drm/amdgpu: Register VGA clients after init can no longer fail + + * On TGL platforms screen shows garbage when browsing website by scrolling + mouse (LP: #1926579) // Impish update: v5.12.1 upstream stable release + (LP: #1927094) + - SAUCE: drm/i915/display: Disable PSR2 if TGL Display stepping is B1 from A0 + + * CirrusLogic: Cracking noises appears in built-in speaker when output volume + is set >80% (LP: #1924997) // Impish update: v5.12.1 upstream stable release + (LP: #1927094) + - SAUCE: ALSA: hda/cirrus: Use CS8409 Equalizer to fix abnormal sounds on + Bullseye + + * Enable mute/micmute LEDs and limit mic boost on EliteBook 845 G8 + (LP: #1925415) // Impish update: v5.12.1 upstream stable release + (LP: #1927094) + - ALSA: hda/realtek: Enable mute/micmute LEDs and limit mic boost on EliteBook + 845 G8 + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: PCI: Disable broken RTIT_BAR of Intel TH" + - Revert "UBUNTU: [Config] temporarily disable ZFS" + + -- Paolo Pisati Tue, 04 May 2021 18:35:54 +0200 + +linux-unstable (5.12.0-10.10) impish; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Packaging] Drop versioned ABI directory names + - [Packaging] getabis: Download ABIs into an unversioned directory + - [Packaging] final-checks: Handle unversioned ABI directories + - bump to impish + - [Config] GCC version update + + -- Paolo Pisati Thu, 29 Apr 2021 12:27:20 +0200 + +linux-unstable (5.12.0-9.9) impish; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc8 + + -- Seth Forshee Mon, 26 Apr 2021 11:14:16 -0500 + +linux-unstable (5.12.0-8.8) hirsute; urgency=medium + + * CVE-2021-3492 + - SAUCE: shiftfs: free allocated memory in shiftfs_btrfs_ioctl_fd_replace() + error paths + - SAUCE: shiftfs: handle copy_to_user() return values correctly + + * Fix no picture from HDMI when it's plugged after boot (LP: #1924238) + - drm/i915/display: Handle lane polarity for DDI port + + * hirsute beta desktop AMD64 ISO kernel panic on boot when booting using UEFI + (LP: #1922403) + - SAUCE: efifb: Check efifb_pci_dev before using it + + * Miscellaneous Ubuntu changes + - Rebase to v5.12-rc8 + - [Config] updateconfigs following 5.12-rc8 rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc8 + + -- Paolo Pisati Mon, 19 Apr 2021 11:37:27 +0200 + +linux-unstable (5.12.0-7.7) hirsute; urgency=medium + + * drm/i915: Drop force_probe requirement for Rocket Lake (LP: #1905466) + - drm/i915/rkl: Remove require_force_probe protection + + * HP m400 cartridges fail to find NIC when deploying hirsute (LP: #1918793) + - PCI: xgene: Fix cfg resource mapping + + * Update - Fix no screen show on display after S3 on CML-R (LP: #1922768) + - drm/i915/gen9bc: Handle TGP PCH during suspend/resume + + * Miscellaneous Ubuntu changes + - SAUCE: RDMA/core: Introduce peer memory interface + - Rebase to v5.12-rc7 + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc7 + + -- Paolo Pisati Mon, 12 Apr 2021 11:48:07 +0200 + +linux-unstable (5.12.0-6.6) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * i915 doesn't support some high pixel clock 4k * 60Hz monitors (LP: #1922372) + - drm/i915/vbt: update DP max link rate table + + * Tegra "mmc0: Timeout waiting for hardware interrupt" (LP: #1921140) + - SAUCE: mmc: host: Add required callbacks to set/clear CQE_EN bit + + * Enable ath11k debugfs/tracing (LP: #1922033) + - [Config] enable ath11k debugfs/tracing + + * Fix mic on P620 after S3 resume (LP: #1921757) + - ALSA: usb-audio: Carve out connector value checking into a helper + - ALSA: usb-audio: Check connector value on resume + + * Miscellaneous Ubuntu changes + - [Config] amd64,arm64: build KFENCE support but disable it by default + (KFENCE_SAMPLE_INTERVAL=0) + - Rebase to v5.12-rc6 + + * Miscellaneous upstream changes + - drm/dp: add MSO related DPCD registers + - drm/i915/edp: reject modes with dimensions other than fixed mode + - drm/i915/edp: always add fixed mode to probed modes in ->get_modes() + - drm/i915/edp: read sink MSO configuration for eDP 1.4+ + - drm/i915/reg: add stream splitter configuration definitions + - drm/i915/mso: add splitter state readout for platforms that support it + - drm/i915/mso: add splitter state check + - drm/i915/edp: modify fixed and downclock modes for MSO + - drm/i915/edp: enable eDP MSO during link training + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc6 + + -- Paolo Pisati Wed, 07 Apr 2021 11:42:55 +0200 + +linux-unstable (5.12.0-5.5) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * alsa/realtek: extend the delay time in the determine_headset_type for a + Dell AIO (LP: #1920747) + - SAUCE: ALSA: hda/realtek: fix a determine_headset_type issue for a Dell AIO + + * power off stress test will hang on the TGL machines (LP: #1919930) + - SAUCE: ASoC: SOF: Intel: TGL: set shutdown callback to hda_dsp_shutdown + - [Config] set SND_SOC_SOF_HDA_ALWAYS_ENABLE_DMI_L1 to n + + * lockdown on power (LP: #1855668) + - SAUCE: (lockdown) powerpc: lock down kernel in secure boot mode + + * Miscellaneous Ubuntu changes + - [Config] arm64 -- unify build_image and kernel_file values + - SAUCE: (lockdown) Add efi_status_to_str() and rework efi_status_to_err(). + - SAUCE: (lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (lockdown) security: lockdown: expose a hook to lock the kernel down + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot + mode + - SAUCE: (lockdown) efi: Lock down the kernel if booted in secure boot mode + - SAUCE: (lockdown) s390: Lock down the kernel when the IPL secure flag is set + - SAUCE: (lockdown) KEYS: Make use of platform keyring for module signature + verify + - SAUCE: (lockdown) arm64: Allow locking down the kernel under EFI secure boot + - SAUCE: (lockdown) security: lockdown: Make + CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic + - SAUCE: xr-usb-serial: clean up indentation + - SAUCE: xr-usb-serial: clean up build warnings + - SAUCE: apparmor: Fix build error, make sk parameter const + - Rebase to v5.12-rc5 + - [Config] updateconfigs following v5.12-rc5 rebase + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: (lockdown) s390: Lock down the kernel when the IPL + secure flag is set" + - Revert "UBUNTU: SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to + indicate secure boot mode" + - Revert "UBUNTU: SAUCE: (lockdown) powerpc: lock down kernel in secure boot + mode" + - Revert "UBUNTU: SAUCE: (lockdown) security: lockdown: Make + CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic" + - Revert "UBUNTU: SAUCE: (lockdown) arm64: Allow locking down the kernel under + EFI secure boot" + - Revert "UBUNTU: SAUCE: (lockdown) KEYS: Make use of platform keyring for + module signature verify" + - Revert "UBUNTU: SAUCE: (lockdown) efi: Lock down the kernel if booted in + secure boot mode" + - Revert "UBUNTU: SAUCE: (lockdown) security: lockdown: expose a hook to lock + the kernel down" + - Revert "UBUNTU: SAUCE: (lockdown) Make get_cert_list() use + efi_status_to_str() to print error messages." + - Revert "UBUNTU: SAUCE: (lockdown) Add efi_status_to_str() and rework + efi_status_to_err()." + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc5 + + -- Paolo Pisati Mon, 29 Mar 2021 12:59:38 +0200 + +linux-unstable (5.12.0-4.4) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Fix broken efifb on graphics device without driver (LP: #1914411) + - SAUCE: efifb: Ensure graphics device for efifb stays at PCI D0 + + * Fix system sleep on TGL systems with Intel ME (LP: #1919321) + - SAUCE: PCI: Serialize TGL e1000e PM ops + + * Miscellaneous Ubuntu changes + - Rebase to v5.12-rc4 + - [Config] updateconfigs following v5.12-rc4 rebase + + * Miscellaneous upstream changes + - riscv: dts: fu740: fix cache-controller interrupts + - riscv: sifive: fu740: cpu{1, 2, 3, 4} set compatible to sifive, u74-mc + - riscv: sifive: unmatched: update for 16GB rev3 + - riscv: Add 3 SBI wrapper functions to get cpu manufacturer information + - riscv: Get CPU manufacturer information + - riscv: Introduce alternative mechanism to apply errata solution + - riscv: sifive: apply errata "cip-453" patch + - clk: sifive: Add pcie_aux clock in prci driver for PCIe driver + - clk: sifive: Use reset-simple in prci driver for PCIe driver + - MAINTAINERS: Add maintainers for SiFive FU740 PCIe driver + - dt-bindings: PCI: Add SiFive FU740 PCIe host controller + - PCI: designware: Add SiFive FU740 PCIe host controller driver + - riscv: dts: Add PCIe support for the SiFive FU740-C000 SoC + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc4 + + -- Paolo Pisati Mon, 22 Mar 2021 12:43:14 +0100 + +linux-unstable (5.12.0-3.3) hirsute; urgency=medium + + * riscv: revert SiFive Unleashed CPUFreq (LP: #1917433) + - SAUCE: Revert "SiFive Unleashed CPUFreq" + + * Dell Precision 5550 takes up to 10 seconds to respond when coming out of + sleep (LP: #1919123) + - SAUCE: Input: i8042 - add dmi quirk + + * LRMv4: switch to signing nvidia modules via the Ubuntu Modules signing key + (LP: #1918134) + - [Packaging] sync dkms-build et al from LRMv4 + + * curtin: install flash-kernel in arm64 UEFI unexpected (LP: #1918427) + - [Packaging] Allow grub-efi-arm* to satisfy recommends on ARM + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Enable Tegra support in arm64 for NVIDIA Jetson (LP: #1918471) + - [Config] enable ARCH_TEGRA and all Tegra SOC's + - [Packaging] include modern Tegra modules + + * Cirrus Audio Codec CS8409/CS42L42: Input Device does not switch to headset + Mic when a headset is inserted (LP: #1918378) + - SAUCE: ALSA: hda/cirrus: Fix Headset Mic volume control name + + * Cirrus Audio Codec CS8409/CS42L42 support (LP: #1916554) + - ALSA: hda/cirrus: Increase AUTO_CFG_MAX_INS from 8 to 18 + - ALSA: hda/cirrus: Add support for CS8409 HDA bridge and CS42L42 companion + codec. + - ALSA: hda/cirrus: Add jack detect interrupt support from CS42L42 companion + codec. + - ALSA: hda/cirrus: Add Headphone and Headset MIC Volume Control + + * drm/i915: Drop force_probe requirement for JSL (LP: #1917843) + - SAUCE: drm/i915: Drop require_force_probe from JSL + + * Miscellaneous Ubuntu changes + - [Packaging] Skip d-i code if udebs are disabled + - [Packaging] Disable udebs if $DEBIAN/d-i doesn't exist + - [Packaging] remove dh-systemd build dependency + - [Config] fix several annotaions with enforcement typos + - [Config] refresh annotations + - [Config] updateconfigs following v5.12-rc3 rebase + - annotations: fixup after v5.12-rc3 rebase + - Rebase to v5.12-rc3 + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc3 + + -- Paolo Pisati Tue, 16 Mar 2021 18:43:03 +0100 + +linux-unstable (5.12.0-2.2) hirsute; urgency=medium + + * Miscellaneous Ubuntu changes + - Rebase to v5.12-rc2 + - [Config] updateconfigs following v5.12-rc2 rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc2 + + -- Paolo Pisati Mon, 08 Mar 2021 11:22:04 +0100 + +linux-unstable (5.12.0-1.1) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Support no udeb profile (LP: #1916095) + - [Packaging] replace custom filter script with dctrl-tools + - [Packaging] correctly implement noudeb build profiles. + + * Miscellaneous Ubuntu changes + - [Packaging] dkms-versions -- remove nvidia-graphics-drivers-440-server + - [Debian] run ubuntu-regression-suite for linux-unstable + - [Packaging] remove Provides: aufs-dkms + - [Config] update config and annotations following v5.12-rc1 rebase + - [Config] disable nvidia and nvidia_server builds + - [Config] temporarily disable ZFS + - temporarily disable modules check + - annotations: s390: temporarily remove CONFIG_KMSG_IDS + - [Config] amd64: FTBFS: disable HIO + - [Config] FTBFS: disable SHIFT_FS + - [Config] s390: temporarily remove CONFIG_KMSG_IDS + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] disable nvidia and nvidia_server builds" + - Revert "UBUNTU: SAUCE: s390: kernel message catalog" + + [ Upstream Kernel Changes ] + + * Rebase to v5.12-rc1 + + -- Paolo Pisati Thu, 04 Mar 2021 18:26:12 +0100 + +linux-unstable (5.12.0-0.0) hirsute; urgency=medium + + * Empty entry + + -- Paolo Pisati Thu, 04 Mar 2021 18:17:32 +0100 + +linux-unstable (5.11.0-10.11) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * Support CML-S CPU + TGP PCH (LP: #1909457) + - drm/i915/rkl: new rkl ddc map for different PCH + - SAUCE: drm/i915/gen9_bc : Add TGP PCH support + + * Use DCPD to control HP DreamColor panel (LP: #1911001) + - SAUCE: drm/dp: Another HP DreamColor panel brigntness fix + + * Update nvidia dkms build for module linker script changes + - [Packaging] build-dkms--nvidia-N -- Update for preprocessed module linker + script + + * Please trust Canonical Livepatch Service kmod signing key (LP: #1898716) + - [Config] enable CONFIG_MODVERSIONS=y + - [Packaging] build canonical-certs.pem from branch/arch certs + - [Config] add Canonical Livepatch Service key to SYSTEM_TRUSTED_KEYS + - [Config] add ubuntu-drivers key to SYSTEM_TRUSTED_KEYS + + * Miscellaneous Ubuntu changes + - [Config] re-enable nvidia dkms + - SAUCE: selftests: memory-hotplug: bump timeout to 10min + - [Debian] update-aufs.sh -- Don't apply tmpfs-idr.patch + - [Config] Update configs + - [Config] disable nvidia and nvidia_server builds + - SAUCE: Import aufs driver + - [Config] CONFIG_AUFS_FS=n + - [Config] refresh annotations file + - [Config] set CONFIG_MIPI_I3C_HCI=m consistently + - [Config] set CONFIG_PINCTRL_MSM8953=m on armhf generic-lpae + - [Packaging] Change source package name to linux-unstable + - [Config] update LD_VERSION in config due to toolchain update + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: tmpfs: Don't use 64-bit inodes by defulat with 32-bit + ino_t" + + -- Andrea Righi Mon, 22 Feb 2021 07:18:07 +0100 + +linux-unstable (5.11.0-9.10) hirsute; urgency=medium + + * Empty entry + + -- Andrea Righi Mon, 22 Feb 2021 07:02:45 +0100 + +linux (5.11.0-9.10) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Config] update configs/annotations after rebase to 5.11 + - zfs-modules.ignore: add zzstd + + [ Upstream Kernel Changes ] + + * Rebase to v5.11 + + -- Andrea Righi Mon, 15 Feb 2021 16:29:36 +0100 + +linux (5.11.0-8.9) hirsute; urgency=medium + + * Missing device id for Intel TGL-H ISH [8086:43fc] in intel-ish-hid driver + (LP: #1914543) + - SAUCE: HID: intel-ish-hid: ipc: Add Tiger Lake H PCI device ID + + * Add support for new Realtek ethernet NIC (LP: #1914604) + - r8169: Add support for another RTL8168FP + + * Miscellaneous Ubuntu changes + - SAUCE: tmpfs: Don't use 64-bit inodes by defulat with 32-bit ino_t + - [Config] Set CONFIG_TMPFS_INODE64=n for s390x + - [Config] re-enable ZFS + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc7 + + -- Andrea Righi Mon, 08 Feb 2021 11:56:23 +0100 + +linux (5.11.0-7.8) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Boot fails: failed to validate module [nls_iso8859_1] BTF: -22 + (LP: #1911359) + - SAUCE: x86/entry: build thunk_$(BITS) only if CONFIG_PREEMPTION=y + + * Remove scary stack trace from Realtek WiFi driver (LP: #1913263) + - rtw88: reduce the log level for failure of tx report + + * Fix unexpected AER/DPC on PCH400 and PCH500 (LP: #1913691) + - Revert "UBUNTU: SAUCE: PCI: Enable ACS quirk on all CML root ports" + - Revert "UBUNTU: SAUCE: PCI: Enable ACS quirk on CML root port" + - SAUCE: PCI/AER: Disable AER interrupt during suspend + - SAUCE: PCI/DPC: Disable DPC interrupt during suspend + + * switch to an autogenerated nvidia series based core via dkms-versions + (LP: #1912803) + - [Packaging] nvidia -- use dkms-versions to define versions built + - [Packaging] update-version-dkms -- maintain flags fields + + * Introduce the new NVIDIA 460-server series and update the 460 series + (LP: #1913200) + - [Config] dkms-versions -- add the 460-server nvidia driver + + * Fix the video can't output through WD19TB connected with TGL platform during + cold-boot (LP: #1910211) + - SAUCE: drm/i915/dp: Prevent setting LTTPR mode if no LTTPR is detected + + * Stop using get_scalar_status command in Dell AIO uart backlight driver + (LP: #1865402) + - SAUCE: platform/x86: dell-uart-backlight: add get_display_mode command + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/seccomp: Accept any valid fd in user_notification_addfd + - [Packaging] Don't disable CONFIG_DEBUG_INFO in headers packages + - [Config] update configs/annotations after rebase to 5.11-rc6 + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc6 + + -- Andrea Righi Mon, 01 Feb 2021 10:27:52 +0100 + +linux (5.11.0-6.7) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Prevent thermal shutdown during boot process (LP: #1906168) + - thermal/drivers/acpi: Use hot and critical ops + - thermal/core: Remove notify ops + - thermal: int340x: Fix unexpected shutdown at critical temperature + - thermal: intel: pch: Fix unexpected shutdown at critical temperature + + * riscv: backport support for SiFive Unmatched (LP: #1910965) + - RISC-V: Update l2 cache DT documentation to add support for SiFive FU740 + - RISC-V: sifive_l2_cache: Update L2 cache driver to support SiFive FU740 + - dt-bindings: riscv: Update DT binding docs to support SiFive FU740 SoC + - riscv: dts: add initial support for the SiFive FU740-C000 SoC + - dt-bindings: riscv: Update YAML doc to support SiFive HiFive Unmatched board + - riscv: dts: add initial board data for the SiFive HiFive Unmatched + - PCI: microsemi: Add host driver for Microsemi PCIe controller + - Microsemi PCIe expansion board DT entry. + - SiFive Unleashed CPUFreq + - SiFive HiFive Unleashed: Add PWM LEDs (D1, D2, D3, D4) + + * initramfs unpacking failed (LP: #1835660) + - lib/decompress_unlz4.c: correctly handle zero-padding around initrds. + + * Miscellaneous Ubuntu changes + - [Config] update configs and annotations after rebase to 5.11-rc5 + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc5 + + -- Andrea Righi Mon, 25 Jan 2021 09:31:31 +0100 + +linux (5.11.0-5.6) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Config] update config and annotations after rebase to 5.11-rc4 + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc4 + + -- Andrea Righi Mon, 18 Jan 2021 10:46:10 +0100 + +linux (5.11.0-4.5) hirsute; urgency=medium + + * Boot fails: failed to validate module [nls_iso8859_1] BTF: -22 + (LP: #1911359) + - SAUCE: x86/entry: build thunk_$(BITS) only if CONFIG_PREEMPTION=y + + -- Andrea Righi Thu, 14 Jan 2021 12:53:26 +0100 + +linux (5.11.0-3.4) hirsute; urgency=medium + + * Boot fails: failed to validate module [nls_iso8859_1] BTF: -22 + (LP: #1911359) + - bpf: Allow empty module BTFs + - libbpf: Allow loading empty BTFs + + -- Andrea Righi Thu, 14 Jan 2021 07:43:45 +0100 + +linux (5.11.0-2.3) hirsute; urgency=medium + + * DMI entry syntax fix for Pegatron / ByteSpeed C15B (LP: #1910639) + - Input: i8042 - unbreak Pegatron C15B + + * SYNA30B4:00 06CB:CE09 Mouse on HP EliteBook 850 G7 not working at all + (LP: #1908992) + - HID: multitouch: Enable multi-input for Synaptics pointstick/touchpad device + + * debian/scripts/file-downloader does not handle positive failures correctly + (LP: #1878897) + - [Packaging] file-downloader not handling positive failures correctly + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * CVE-2021-1052 // CVE-2021-1053 + - [Packaging] NVIDIA -- Add the NVIDIA 460 driver + + * Miscellaneous Ubuntu changes + - [Packaging] Remove nvidia-455 dkms build + - SAUCE: ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP + machines + - [Config] update configs and annotations after rebase to 5.11-rc3 + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc3 + + -- Andrea Righi Mon, 11 Jan 2021 09:52:27 +0100 + +linux (5.11.0-1.2) hirsute; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc2 + + -- Andrea Righi Thu, 07 Jan 2021 16:57:01 +0100 + +linux (5.11.0-0.1) hirsute; urgency=medium + + * dep-8 ubuntu-regression-suite tests are not run for all linux-hwe-* kernels + (LP: #1908529) + - [dep-8] Allow all hwe kernels + + * Fix reading speed and duplex sysfs on igc device (LP: #1906851) + - igc: Report speed and duplex as unknown when device is runtime suspended + + * rtwpci driver blocks the system to enter PC10, stuck at PC3 (LP: #1907200) + - SAUCE: rtw88: 8723de: let cpu enter c10 + + * [21.04 FEAT] Deactivate CONFIG_QETH_OSN kernel config option (LP: #1906370) + - [Config] Deactivate CONFIG_QETH_OSN kernel config option + + * Add dpcd backlight control for 0x4c83 0x4f41 (LP: #1905663) + - SAUCE: drm/dp: Add dpcd backlight control for 0x4c83 0x4f41 + + * disable building bpf selftests (LP: #1908144) + - SAUCE: selftests/bpf: Clarify build error if no vmlinux + - SAUCE: selftests: Skip BPF selftests by default + - disable building bpf selftests (no VMLINUX_BTF) + + * Miscellaneous Ubuntu changes + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot + mode + - SAUCE: (lockdown) s390: Lock down the kernel when the IPL secure flag is set + - [Config] update configs and annotations after rebase to v5.11-rc1 + - hio: fix build error with kernel 5.11 + - SAUCE: shiftfs: fix build error with 5.11 + - [Config] temporarily disable ZFS + - check-aliases: do not error if modules.alias does not exist + - ppc64el: don't build stripped vdso + + * Miscellaneous upstream changes + - irq: export irq_check_status_bit + + [ Upstream Kernel Changes ] + + * Rebase to v5.11-rc1 + + -- Andrea Righi Mon, 04 Jan 2021 09:17:48 +0100 + +linux (5.11.0-0.0) hirsute; urgency=medium + + * Empty entry + + -- Andrea Righi Wed, 30 Dec 2020 09:04:41 +0100 + +linux (5.10.0-9.10) hirsute; urgency=medium + + * Use INTx for Pericom USB controllers (LP: #1906839) + - PCI: Disable MSI for Pericom PCIe-USB adapter + + * disable building bpf selftests (LP: #1908144) + - SAUCE: selftests/bpf: clarify build error if no vmlinux + - SAUCE: selftests: Skip BPF seftests by default + - disable building bpf selftests (no VMLINUX_BTF) + + * Miscellaneous Ubuntu changes + - [Config] Enable CONFIG_BPF_LSM + + * Miscellaneous upstream changes + - Revert "md: change mddev 'chunk_sectors' from int to unsigned" + - Revert "dm raid: fix discard limits for raid1 and raid10" + + -- Andrea Righi Tue, 15 Dec 2020 10:16:14 +0100 + +linux (5.10.0-8.9) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * Fix bpf selftest compilation with clang 11 + - bpf: Fix selftest compilation on clang 11 + + * Miscellaneous Ubuntu changes + - [Config] update configs and annotations after rebase to v5.10 + + [ Upstream Kernel Changes ] + + * Rebase to v5.10 + + -- Andrea Righi Mon, 14 Dec 2020 08:57:57 +0100 + +linux (5.10.0-7.8) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Fix linux-libc-dev build for hirsute forward port kernels (LP: #1904067) + - [Debian] Build linux-libc-dev for debian.master* branches + + * Update kernel packaging to support forward porting kernels (LP: #1902957) + - [Debian] Update for leader included in BACKPORT_SUFFIX + + * Introduce the new NVIDIA 455 series (LP: #1897751) + - [Packaging] NVIDIA -- Add signed modules for the 455 driver + + * 5.10 kernel fails to boot with secure boot disabled (LP: #1904906) + - [Config] CONFIG_RCU_SCALE_TEST=n + + * Miscellaneous Ubuntu changes + - [Config] s390x: disable GPIO_CDEV + - [Config] ARM_CMN=m + - [Config] disable GPIO_CDEV_V1 + - [Config] Reorder annotations after 5.10-rc6 rebase + - [Packaging] Remove nvidia-435 dkms build + - [Packaging] Change source package name to linux + - [Config] Update configs and annotations after rebase to v5.10-rc7 + - SAUCE: Revert "mm/filemap: add static for function + __add_to_page_cache_locked" + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc7 + + -- Seth Forshee Mon, 07 Dec 2020 00:15:20 -0600 + +linux (5.10.0-6.7) hirsute; urgency=medium + + * Empty entry. + + -- Seth Forshee Sun, 06 Dec 2020 22:13:46 -0600 + +linux-5.10 (5.10.0-6.7) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Avoid double newline when running insertchanges (LP: #1903293) + - [Packaging] insertchanges: avoid double newline + + * Miscellaneous Ubuntu changes + - [Packaging]: linux-modules should depend on linux-image + - [Packaging]: linux-image should suggest linux-modules-extra + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc6 + + -- Andrea Righi Mon, 30 Nov 2020 07:47:34 +0100 + +linux-5.10 (5.10.0-5.6) hirsute; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] add CONFIG_INFINIBAND_VIRT_DMA + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc5 + + -- Andrea Righi Mon, 23 Nov 2020 13:17:44 +0100 + +linux-5.10 (5.10.0-4.5) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Packaging] reduce the size required to build packages + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc4 + + -- Andrea Righi Mon, 16 Nov 2020 08:33:54 +0100 + +linux-5.10 (5.10.0-3.4) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * e1000e: fix issues with S0ix (LP: #1902687) + - SAUCE: e1000e: fix S0ix flow to allow S0i3.2 subset entry + - SAUCE: e1000e: allow turning s0ix flows on for systems with ME + - SAUCE: e1000e: Add Dell's Comet Lake systems into s0ix heuristics + - SAUCE: e1000e: Add more Dell CML systems into s0ix heuristics + - [Config] Update CONFIG_E1000E for ppc64el in annotations + + * perf: Add support for Rocket Lake (LP: #1902004) + - SAUCE: perf/x86/intel: Add Rocket Lake CPU support + - SAUCE: perf/x86/cstate: Add Rocket Lake CPU support + - SAUCE: perf/x86/msr: Add Rocket Lake CPU support + - SAUCE: perf/x86/intel/uncore: Add Rocket Lake support + + * Miscellaneous Ubuntu changes + - [Config] Disable CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE + - [Config] update CONFIG_MST_IRQ after rebase to 5.10-rc3 + - [Config] drop obsolete SND_SST_IPC options + - [Config] re-enable ZFS + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc3 + + -- Andrea Righi Mon, 09 Nov 2020 09:37:08 +0100 + +linux-5.10 (5.10.0-2.3) hirsute; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] Switch arm64 default cpufreq governor to ondemand + - [Debian] Include scripts/module.lds from builddir in headers package + + -- Seth Forshee Tue, 03 Nov 2020 21:01:52 -0600 + +linux-5.10 (5.10.0-1.2) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Fix non-working Intel NVMe after S3 (LP: #1900847) + - SAUCE: PCI: Enable ACS quirk on all CML root ports + + * Miscellaneous Ubuntu changes + - [Packaging] move to hirsute + - [Config] Update configs and annotations after rebase to 5.10-rc2 + - [Config] Update numerous configs to conform with policy + - [Config] Switch default CPUFreq governer for arm64/armhf to schedultil + - [Config] Temporarily disable DEBUG_INFO_BTF for armhf + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc2 + + -- Seth Forshee Mon, 02 Nov 2020 13:18:27 -0600 + +linux-5.10 (5.10.0-0.1) hirsute; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - [Config] Update configs and annotations for v5.10-rc1 + - SAUCE: platform/x86: dell-uart-backlight: rename kzfree() to + kfree_sensitive() + - SAUCE: apparmor: rename kzfree() to kfree_sensitive() + - SAUCE: LSM: change ima_read_file() to use lsmblob + - SAUCE: LSM: Use lsmblob in smk_netlbl_mls() + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Packaging] Change source package name to linux-5.10" + - s390: correct __bootdata / __bootdata_preserved macros + + [ Upstream Kernel Changes ] + + * Rebase to v5.10-rc1 + + -- Paolo Pisati Tue, 27 Oct 2020 16:57:07 +0100 + +linux-5.10 (5.10.0-0.0) groovy; urgency=medium + + * Empty entry + + -- Paolo Pisati Mon, 26 Oct 2020 14:55:48 +0100 + +linux-5.9 (5.9.0-2.3) groovy; urgency=medium + + * Fix system reboot when disconnecting WiFi (LP: #1899726) + - iwlwifi: msix: limit max RX queues for 9000 family + + * booting linux-generic-lpae armhf kernel under qemu results in relocation out + of range, and thus no modules can be loaded (LP: #1899519) + - [Config] armhf: ARM_MODULE_PLTS=y + + * Fix broken MSI interrupt after HDA controller was suspended (LP: #1899586) + - ALSA: hda: fix jack detection with Realtek codecs when in D3 + + * CVE-2020-16119 + - SAUCE: dccp: avoid double free of ccid on child socket + + * python3-venv is gone (LP: #1896801) + - SAUCE: doc: remove python3-venv dependency + + * *-tools-common packages descriptions have typo "PGKVER" (LP: #1898903) + - [Packaging] Fix typo in -tools template s/PGKVER/PKGVER/ + + * Enable brightness control on HP DreamColor panel (LP: #1898865) + - SAUCE: drm/i915/dpcd_bl: Skip testing control capability with force DPCD + quirk + - SAUCE: drm/dp: HP DreamColor panel brigntness fix + + * HP Zbook Studio G7 boots into corrupted screen with PSR featured panel + (LP: #1897501) + - SAUCE: drm/i915/psr: allow overriding PSR disable param by quirk + - SAUCE: drm/dp: add DP_QUIRK_FORCE_PSR_CHIP_DEFAULT quirk to CMN prod-ID + 19-15 + + * Fix broken e1000e device after S3 (LP: #1897755) + - SAUCE: e1000e: Increase polling timeout on MDIC ready bit + + * Wakeup the system by touching the touchpad (LP: #1888331) + - HID: i2c-hid: Enable wakeup capability from Suspend-to-Idle + + * Enable LTR for endpoints behind VMD (LP: #1896598) + - SAUCE: PCI/ASPM: Enable LTR for endpoints behind VMD + + * [SRU] [Focal/OEM-5.6/Groovy]Fix AMD usb host controller lost after stress S3 + (LP: #1893914) + - SAUCE: xhci: workaround for S3 issue on AMD SNPS 3.0 xHC + + * debian/rules editconfigs does not work on s390x to change s390x only configs + (LP: #1863116) + - [Packaging] kernelconfig -- only update/edit configurations on architectures + we have compiler support + + * Fix non-working NVMe after S3 (LP: #1895718) + - SAUCE: PCI: Enable ACS quirk on CML root port + + * Miscellaneous Ubuntu changes + - SAUCE: bpf: Check CONFIG_BPF option for resolve_btfids + - SAUCE: tools resolve_btfids: Always force HOSTARCH + - packaging: arm64: add a 64KB mem pages flavour called 'generic-64k' + - packaging: arm64: generic-64k: skip ABI, modules and retpoline checks + - SAUCE: drm/i915/display: Fix null deref in intel_psr_atomic_check() + - [Config] Update toolchain versions + - [Config] Refresh annotations + - Add ubuntu-host module + - CONFIG_UBUNTU_HOST=m + - SAUCE: apparmor: drop prefixing abs root labels with '=' + - SAUCE: apparmor: disable showing the mode as part of a secid to secctx + - SAUCE: apparmor: rename aa_sock() to aa_unix_sk() + - SAUCE: apparmor: LSM stacking: switch from SK_CTX() to aa_sock() + - SAUCE: LSM: Infrastructure management of the sock security + - SAUCE: LSM: Create and manage the lsmblob data structure. + - SAUCE: LSM: Use lsmblob in security_audit_rule_match + - SAUCE: LSM: Use lsmblob in security_kernel_act_as + - SAUCE: net: Prepare UDS for security module stacking + - SAUCE: LSM: Use lsmblob in security_secctx_to_secid + - SAUCE: LSM: Use lsmblob in security_secid_to_secctx + - SAUCE: LSM: Use lsmblob in security_ipc_getsecid + - SAUCE: LSM: Use lsmblob in security_task_getsecid + - SAUCE: LSM: Use lsmblob in security_inode_getsecid + - SAUCE: LSM: Use lsmblob in security_cred_getsecid + - SAUCE: IMA: Change internal interfaces to use lsmblobs + - SAUCE: LSM: Specify which LSM to display + - SAUCE: LSM: Ensure the correct LSM context releaser + - SAUCE: LSM: Use lsmcontext in security_secid_to_secctx + - SAUCE: LSM: Use lsmcontext in security_inode_getsecctx + - SAUCE: LSM: security_secid_to_secctx in netlink netfilter + - SAUCE: NET: Store LSM netlabel data in a lsmblob + - SAUCE: LSM: Verify LSM display sanity in binder + - SAUCE: Audit: Add new record for multiple process LSM attributes + - SAUCE: Audit: Add a new record for multiple object LSM + - SAUCE: LSM: Add /proc attr entry for full LSM context + - SAUCE: AppArmor: Remove the exclusive flag + - SAUCE: Audit: Fix for missing NULL check + + * Miscellaneous upstream changes + - tty: hvcs: Don't NULL tty->driver_data until hvcs_cleanup() + + [ Upstream Kernel Changes ] + + * Rebase to v5.9 + + -- Seth Forshee Wed, 14 Oct 2020 13:31:18 -0500 + +linux-5.9 (5.9.0-1.2) groovy; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] Update configs after rebase to 5.9-rc6 + - SAUCE: dax: Fix compilation for CONFIG_DAX && !CONFIG_FS_DAX + - SAUCE: bpf: Use --no-fail option if CONFIG_BPF is not enabled + - SAUCE: tools resolve_btfids: Always force HOSTARCH + + [ Upstream Kernel Changes ] + + * Rebase to v5.9-rc6 + + -- Seth Forshee Mon, 21 Sep 2020 14:39:34 -0500 + +linux-5.9 (5.9.0-0.1) groovy; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] Update configs and annotations for v5.9-rc1 + - SAUCE: i915: Fix build error due to missing struct definition + - hio -- Update blk_queue_split() calls for changes in 5.9-rc1 + - hio -- Updates for move of make_request_fn to struct block_device_operations + - [Config] Disable zfs dkms build + - [Config] Disable nvidia dkms build + - [Config] Disable nvidia server dkms builds + - SAUCE: remoteproc: qcom: Use div_u64() for 64-bit division + - SAUCE: PCI/ASPM: Enable ASPM for links under VMD domain + - [Packaging] Bind hv_vss_daemon startup to hv_vss device + - [Packaging] bind hv_fcopy_daemon startup to hv_fcopy device + - [Config] Re-enable UEFI signing for arm64 + - SAUCE: Revert "UBUNTU: SAUCE: export __get_vm_area_caller() and map_kernel_range()" + - [Config] Set the default CPU governor to ONDEMAND + - [Packaging] update variants + - [Packaging] update helper scripts + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.9-rc5 + + -- Seth Forshee Thu, 17 Sep 2020 15:01:21 -0500 + +linux-5.9 (5.9.0-0.0) groovy; urgency=medium + + * Empty entry + + -- Seth Forshee Tue, 18 Aug 2020 16:48:03 -0500 + +linux (5.8.0-16.17) groovy; urgency=medium + + * groovy/linux: 5.8.0-16.17 -proposed tracker (LP: #1891233) + + * Miscellaneous Ubuntu changes + - hio -- Update to use bio_{start,end}_io_acct with 5.8+ + - Enable hio driver + - [Packaging] Temporarily disable building doc package contents + + -- Seth Forshee Tue, 11 Aug 2020 15:32:58 -0500 + +linux (5.8.0-15.16) groovy; urgency=medium + + * groovy/linux: 5.8.0-15.16 -proposed tracker (LP: #1891177) + + * Miscellaneous Ubuntu changes + - SAUCE: Documentation: import error c_funcptr_sig_re, c_sig_re (sphinx- + doc/sphinx@0f49e30c) + + -- Seth Forshee Tue, 11 Aug 2020 09:29:58 -0500 + +linux (5.8.0-14.15) groovy; urgency=medium + + * groovy/linux: 5.8.0-14.15 -proposed tracker (LP: #1891085) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * msg_zerocopy.sh in net from ubuntu_kernel_selftests failed (LP: #1812620) + - selftests/net: relax cpu affinity requirement in msg_zerocopy test + + * Fix missing HDMI/DP Audio on an HP Desktop (LP: #1890441) + - ALSA: hda/hdmi: Add quirk to force connectivity + + * Add initial audio support for Lenovo ThinkStation P620 (LP: #1890317) + - ALSA: usb-audio: Add support for Lenovo ThinkStation P620 + + * Fix IOMMU error on AMD Radeon Pro W5700 (LP: #1890306) + - PCI: Mark AMD Navi10 GPU rev 0x00 ATS as broken + + * Enlarge hisi_sec2 capability (LP: #1890222) + - crypto: hisilicon - update SEC driver module parameter + + * Miscellaneous Ubuntu changes + - [Config] Re-enable signing for ppc64el + + -- Seth Forshee Mon, 10 Aug 2020 15:26:46 -0500 + +linux (5.8.0-13.14) groovy; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] Remove i386 configs + - SAUCE: apply a workaround to re-enable CONFIG_CRYPTO_AEGIS128_SIMD + - SAUCE: export __get_vm_area_caller() and map_kernel_range() + - [Config] drop CONFIG_BINFMT_AOUT enforcement + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] disable CONFIG_CRYPTO_AEGIS128_SIMD" + + [ Upstream Kernel Changes ] + + * Rebase to v5.8 + + -- Andrea Righi Tue, 04 Aug 2020 09:51:50 +0200 + +linux (5.8.0-12.13) groovy; urgency=medium + + * groovy/linux: 5.8.0-12.13 -proposed tracker (LP: #1889481) + + * Fix right speaker of HP laptop (LP: #1889375) + - SAUCE: hda/realtek: Fix right speaker of HP laptop + + * blk_update_request error when mount nvme partition (LP: #1872383) + - SAUCE: nvme-pci: prevent SK hynix PC400 from using Write Zeroes command + + * Add support for Atlantic NIC firmware v4 (LP: #1886908) + - Revert "UBUNTU: SAUCE: net: atlantic: Add support for firmware v4" + - net: atlantic: align return value of ver_match function with function name + - net: atlantic: add support for FW 4.x + + * Miscellaneous Ubuntu changes + - [Debian] Fix debian/tests for linux-5.8 -> linux rename + - SAUCE: selftests/powerpc: return skip code for spectre_v2 + + -- Seth Forshee Wed, 29 Jul 2020 16:58:47 -0500 + +linux (5.8.0-11.12) groovy; urgency=medium + + * groovy/linux: 5.8.0-11.12 -proposed tracker (LP: #1889336) + + * Miscellaneous Ubuntu changes + - [Packaging] dwarves is not required for linux-libc-dev or stage1 + + -- Seth Forshee Tue, 28 Jul 2020 22:33:24 -0500 + +linux (5.8.0-10.11) groovy; urgency=medium + + * groovy/linux: 5.8.0-10.11 -proposed tracker (LP: #1889316) + + * Miscellaneous Ubuntu changes + - [Packaging] Add more packages to Build-Depends-Indep for docs + - [Debian] Specify python executable in kmake + - [Debian] Don't treat warnings as errors during perf builds + - [Config] Disable signing for ppc64el + + -- Seth Forshee Tue, 28 Jul 2020 17:09:52 -0500 + +linux (5.8.0-9.10) groovy; urgency=medium + + * groovy/linux: 5.8.0-9.10 -proposed tracker (LP: #1889140) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * Miscellaneous Ubuntu changes + - SAUCE: Fix s390x compile error on F32 utils/stat-display.c + - [Packaging] Add python3-venv to Build-Depends-Indep + + -- Seth Forshee Mon, 27 Jul 2020 21:01:46 -0500 + +linux (5.8.0-8.9) groovy; urgency=medium + + * groovy/linux: 5.8.0-8.9 -proposed tracker (LP: #1889104) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - update dkms package versions + - [Packaging] update variants + + * Introduce the new NVIDIA 450-server and the 450 UDA series (LP: #1887674) + - [Packaging] NVIDIA -- Add signed modules for 450 450-server + + * Introduce the new NVIDIA 418-server and 440-server series, and update the + current NVIDIA drivers (LP: #1881137) + - [packaging] add signed modules for the 418-server and the 440-server + flavours + + * Miscellaneous Ubuntu changes + - SAUCE: Revert "radix-tree: Use local_lock for protection" + - [Config] CONFIG_DEBUG_INFO_COMPRESSED=n + - [Config] disable CONFIG_CRYPTO_AEGIS128_SIMD + - [Config] Enable nvidia dkms build + + * Miscellaneous upstream changes + - usbip: tools: fix build error for multiple definition + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc7 + + -- Seth Forshee Mon, 27 Jul 2020 11:18:12 -0500 + +linux (5.8.0-7.8) groovy; urgency=medium + + * Empty entry + + -- Seth Forshee Mon, 27 Jul 2020 09:22:19 +0200 + +linux-5.8 (5.8.0-7.8) groovy; urgency=medium + + * soc/amd/renoir: detect dmic from acpi table (LP: #1887734) + - ASoC: amd: add logic to check dmic hardware runtime + - ASoC: amd: add ACPI dependency check + - ASoC: amd: fixed kernel warnings + + * linux 4.15.0-109-generic network DoS regression vs -108 (LP: #1886668) + - SAUCE: Revert "netprio_cgroup: Fix unlimited memory leak of v2 cgroups" + + * Add support for Atlantic NIC firmware v4 (LP: #1886908) + - SAUCE: net: atlantic: Add support for firmware v4 + + * MGA G200e doesn't work under GDM Wayland (LP: #1886140) + - drm/mgag200: Remove HW cursor + - drm/mgag200: Clean up mga_set_start_address() + - drm/mgag200: Clean up mga_crtc_do_set_base() + - drm/mgag200: Move mode-setting code into separate helper function + - drm/mgag200: Split MISC register update into PLL selection, SYNC and I/O + - drm/mgag200: Update mode registers after plane registers + - drm/mgag200: Set pitch in a separate helper function + - drm/mgag200: Set primary plane's format in separate helper function + - drm/mgag200: Move TAGFIFO reset into separate function + - drm/mgag200: Move hiprilvl setting into separate functions + - drm/mgag200: Move register initialization into separate function + - drm/mgag200: Remove out-commented suspend/resume helpers + - drm/mgag200: Use simple-display data structures + - drm/mgag200: Convert to simple KMS helper + - drm/mgag200: Replace VRAM helpers with SHMEM helpers + + * Miscellaneous Ubuntu changes + - SAUCE: s390/bpf: fix sign extension in branch_ku + - SAUCE: selftests: net: ip_defrag: modprobe missing nf_defrag_ipv6 support + - SAUCE: selftests: fib_nexthop_multiprefix: fix cleanup() netns deletion + - [packaging] debhelper-compat (= 10) (and retire debian/compat) + - [Config] Update configs after rebase to 5.8-rc6 + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc6 + + -- Andrea Righi Mon, 20 Jul 2020 09:55:47 +0200 + +linux-5.8 (5.8.0-6.7) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * perf build broken after updating to bintuils 2.34.90.20200706-1ubuntu1 + (LP: #1887397) + - SAUCE: libtraceevent: Strip symbol version from nm output + + -- Seth Forshee Mon, 13 Jul 2020 14:07:53 -0500 + +linux-5.8 (5.8.0-5.6) groovy; urgency=medium + + * linux-libc-dev broken for crossbuilding, Multi-Arch:same violation + (LP: #1886188) + - [Packaging] Produce linux-libc-deb package for riscv64 + - [Debian] Disallow building linux-libc-dev from linux-riscv + + * Miscellaneous Ubuntu changes + - SAUCE: Revert "UBUNTU: SAUCE: test_bpf: remove expected fail for Ctx heavy + transformations test on s390" + - SAUCE: Revert "test_bpf: flag tests that cannot be jited on s390" + - [Config] Update configs (gcc update) + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc5 + + -- Andrea Righi Mon, 13 Jul 2020 08:42:14 +0200 + +linux-5.8 (5.8.0-4.5) groovy; urgency=medium + + * Add generic LED class support for audio LED (LP: #1885896) + - ALSA: hda: generic: Always call led-trigger for mic mute LED + - ALSA: hda: generic: Add a helper for mic-mute LED with LED classdev + - ALSA: hda/realtek: Convert to cdev-variant of mic-mute LED controls + - ALSA: hda/conexant: Convert to cdev-variant of mic-mute LED controls + - ALSA: hda/sigmatel: Convert to cdev-variant of mic-mute LED controls + - ALSA: hda: generic: Drop unused snd_hda_gen_fixup_micmute_led() + - ALSA: hda: generic: Drop the old mic-mute LED hook + - ALSA: hda: generic: Add vmaster mute LED helper + - ALSA: hda/realtek: Use the new vmaster mute LED helper + - ALSA: hda/conexant: Use the new vmaster mute LED helper + - ALSA: hda/sigmatel: Use the new vmaster mute LED helper + - ALSA: hda/realtek: Unify LED helper code + - ALSA: hda: Let LED cdev handling suspend/resume + + * seccomp_bpf fails on powerpc (LP: #1885757) + - SAUCE: selftests/seccomp: fix ptrace tests on powerpc + + * CVE-2020-11935 + - SAUCE: aufs: do not call i_readcount_inc() + + * Miscellaneous Ubuntu changes + - SAUCE: Update aufs to 5.x-rcN 20200622 + - [Config] Update configs to set CONFIG_SND_HDA_GENERIC_LEDS value + - [Config] CONFIG_SECURITY_DMESG_RESTRICT=y + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc4 + + -- Seth Forshee Mon, 06 Jul 2020 08:14:28 -0500 + +linux-5.8 (5.8.0-3.4) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - update dkms package versions + + * lxc 1:4.0.2-0ubuntu1 ADT test failure with linux-5.8 5.8.0-1.2 + (LP: #1884635) + - SAUCE: overlayfs: fix faulty rebase + + * shiftfs: O_TMPFILE reports ESTALE (LP: #1872757) + - SAUCE: shiftfs: prevent ESTALE for LOOKUP_JUMP lookups + + * shiftfs: fix btrfs regression (LP: #1884767) + - SAUCE: Revert "UBUNTU: SAUCE: shiftfs: fix dentry revalidation" + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_DEBUG_INFO_COMPRESSED=y + - SAUCE: regulator: rename da903x to da903x-regulator + - [Config] Add da903x to modules.ignore + - [Config] Update configs for rebase to 5.8-rc3 + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc3 + + -- Seth Forshee Mon, 29 Jun 2020 08:48:25 -0500 + +linux-5.8 (5.8.0-2.3) groovy; urgency=medium + + * Support Audio Mute LED for two new HP laptops (LP: #1884251) + - ALSA: hda/realtek: Add mute LED and micmute LED support for HP systems + + * CVE-2019-16089 + - SAUCE: nbd_genl_status: null check for nla_nest_start + + * tpm: fix TIS locality timeout problems (LP: #1881710) + - SAUCE: tpm: fix TIS locality timeout problems + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Miscellaneous Ubuntu changes + - SAUCE: security,perf: Allow further restriction of perf_event_open + - [Config] CONFIG_SECURITY_PERF_EVENTS_RESTRICT=y + - [Config] Update configs and annotations for 5.8-rc2 + - [Config] Enable zfs + - [Config] Enable CONFIG_DEBUG_INFO_BTF + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc2 + + -- Seth Forshee Mon, 22 Jun 2020 15:05:54 -0500 + +linux-5.8 (5.8.0-1.2) groovy; urgency=medium + + * Miscellaneous Ubuntu changes + - [Debian] Support linux-x.y in udeb package names + - [Packaging] Use SRCPKGNAME for udeb packages + + -- Seth Forshee Wed, 17 Jun 2020 19:34:32 -0500 + +linux-5.8 (5.8.0-0.1) groovy; urgency=medium + + * Docker registry doesn't stay up and keeps restarting (LP: #1879690) + - Revert "UBUNTU: SAUCE: overlayfs: use shiftfs hacks only with shiftfs as underlay" + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * Miscellaneous Ubuntu changes + - [Packaging] Update source package name to linux-5.8 + - SAUCE: (lockdown) Add efi_status_to_str() and rework efi_status_to_err(). + - SAUCE: (lockdown) Make get_cert_list() use efi_status_to_str() to print error messages. + - SAUCE: (lockdown) security: lockdown: expose a hook to lock the kernel down + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode + - SAUCE: (lockdown) efi: Lock down the kernel if booted in secure boot mode + - SAUCE: (lockdown) s390: Lock down the kernel when the IPL secure flag is set + - SAUCE: (lockdown) KEYS: Make use of platform keyring for module signature verify + - SAUCE: (lockdown) arm64: Allow locking down the kernel under EFI secure boot + - SAUCE: (lockdown) security: lockdown: Make CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic + - SAUCE: (lockdown) powerpc: lock down kernel in secure boot mode + - SAUCE: Import aufs driver + - [Config] Update configs for v5.8-rc1 + - [Config] Update annotations for v5.8-rc1 config changes + - SAUCE: shiftfs -- Fix build errors from missing fiemap definitions + - Disable hio driver + + * Miscellaneous upstream changes + - acpi: disallow loading configfs acpi tables when locked down + + [ Upstream Kernel Changes ] + + * Rebase to v5.8-rc1 + + -- Seth Forshee Wed, 17 Jun 2020 11:54:24 -0500 + +linux-5.8 (5.8.0-0.0) groovy; urgency=medium + + * Empty entry + + -- Seth Forshee Sun, 14 Jun 2020 22:40:35 -0500 + +linux-5.7 (5.7.0-8.9) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Enforce all config annotations (LP: #1879327) + - [Config]: do not enforce CONFIG_VERSION_SIGNATURE + - [Config]: prepare to enforce all + - [Config]: enforce all config options + + * Miscellaneous Ubuntu changes + - [Config]: annotations review after 5.7 rebase + - [Config] annotations: IXP4XX* depends on ARCH_IXP4XX + - [Config] THERMAL_GOV_POWER_ALLOCATOR=y + - [Config] annotations: SOC_CAMERA is marked as BROKEN + - [Config] annotations: NFSD_V4_2_INTER_SSC depends on NFS_FS=y + - [Config] annotations: CRYPTO_DEV_CHELSIO_TLS depends on legacy (and largely + unmantained) TLS_TOE + - [Config] annotations: SERIO_OLPC_APSP depends on ARCH_MMP + - [Config] RTW88_DEBUG=y + - [Config] annotations: ISDN_CAPI is a bool, and BT_CMTP depends on it + - [Config] annotations SND_SOC_SOF_DEVELOPER_SUPPORT depends on + SND_SOC_SOF_DEVELOPER_SUPPORT + - [Config] annotations: SND_SOC_SOF_BAYTRAIL_SUPPORT is mutually exclusive + with SND_SST_ATOM_HIFI2_PLATFORM_ACPI + - [Config] annotations: DEBUG_IMX_UART_PORT is defined only any + DEBUG_IMX*_UART is enabled + - [Config] annotations: HW_RANDOM_IMX_RNGC depends on SOC_IMX25 + - [Config] annotations: armhf: VIRTUALIZATION support was removed for arm32 + - [Config] annotations: arm64: remove DEBUG_ALIGN_RODATA + - [Config] annotations: ppc64: DATA_SHIFT defaults to PPC_PAGE_SHIFT + - [Config] arm64: enforce ARM64_USE_LSE_ATOMICS + - [Config] s390x: MOST is not set + - [Config] s390x: BCM84881_PHY is not set + - [Config] s390x: XILINX_LL_TEMAC is not set + - [Config] s390x: PHY_INTEL_EMMC requires GENERIC_PHY (off by default on + s390x) + - [Config] s390x: CHECK_STACK conflicts with VMAP_STACK + - [Config] annotations: s390x: NODES_SHIFT=1 + - [Config] annotations: import new symbols + - [Config] annotations: remove unmatched menu and options + + -- Paolo Pisati Fri, 12 Jun 2020 12:03:01 +0200 + +linux-5.7 (5.7.0-7.8) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + - [Packaging] update helper scripts + + * [UBUNTU 20.04] s390x/pci: fix linking between PF and VF for multifunction + devices (LP: #1879704) + - PCI/IOV: Introduce pci_iov_sysfs_link() function + - s390/pci: create links between PFs and VFs + + * Miscellaneous Ubuntu changes + - [Config] Disable UEFI signing for arm64 + - Rebase to v5.7.1 + + [ Upstream Kernel Changes ] + + * Rebase to v5.7.1 + + -- Paolo Pisati Mon, 08 Jun 2020 11:16:58 +0200 + +linux-5.7 (5.7.0-6.7) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - update dkms package versions + + * shiftfs: fix btrfs snapshot deletion (LP: #1879688) + - SAUCE: shiftfs: let userns root destroy subvolumes from other users + + * seccomp_benchmark times out on eoan (LP: #1881576) + - SAUCE: selftests/seccomp: use 90s as timeout + + * Realtek 8723DE [10ec:d723] subsystem [10ec:d738] disconnects unsolicitedly + when Bluetooth is paired: Reason: 23=IEEE8021X_FAILED (LP: #1878147) + - SAUCE: Revert "UBUNTU: SAUCE: rtw88: Move driver IQK to set channel before + association for 11N chip" + - SAUCE: Revert "UBUNTU: SAUCE: rtw88: fix rate for a while after being + connected" + - SAUCE: Revert "UBUNTU: SAUCE: rtw88: No retry and report for auth and assoc" + - SAUCE: Revert "UBUNTU: SAUCE: rtw88: 8723d: Add coex support" + - rtw88: 8723d: Add coex support + - SAUCE: rtw88: coex: 8723d: set antanna control owner + - SAUCE: rtw88: coex: 8723d: handle BT inquiry cases + - SAUCE: rtw88: fix EAPOL 4-way failure by finish IQK earlier + + * ASoC/amd: add audio driver for amd renoir (LP: #1881046) + - ASoC: amd: add Renoir ACP3x IP register header + - ASoC: amd: add Renoir ACP PCI driver + - ASoC: amd: add acp init/de-init functions + - ASoC: amd: create acp3x pdm platform device + - ASoC: amd: add ACP3x PDM platform driver + - ASoC: amd: irq handler changes for ACP3x PDM dma driver + - ASoC: amd: add acp3x pdm driver dma ops + - ASoC: amd: add ACP PDM DMA driver dai ops + - ASoC: amd: add Renoir ACP PCI driver PM ops + - ASoC: amd: add ACP PDM DMA driver pm ops + - ASoC: amd: enable Renoir acp3x drivers build + - ASoC: amd: create platform devices for Renoir + - ASoC: amd: RN machine driver using dmic + - ASoC: amd: enable build for RN machine driver + - ASoC: amd: fix kernel warning + - ASoC: amd: refactoring dai_hw_params() callback + - ASoC: amd: return error when acp de-init fails + - [Config]: enable amd renoir ASoC audio + + * Slow send speed with Intel I219-V on Ubuntu 18.04.1 (LP: #1802691) + - e1000e: Disable TSO for buffer overrun workaround + + * Fix incorrect speed/duplex when I210 device is runtime suspended + (LP: #1880656) + - igb: Report speed and duplex as unknown when device is runtime suspended + + * Fix Pericom USB controller OHCI/EHCI PME# defect (LP: #1879321) + - serial: 8250_pci: Move Pericom IDs to pci_ids.h + - PCI: Avoid Pericom USB controller OHCI/EHCI PME# defect + + * [UBUNTU 20.04] s390x/pci: enumerate pci functions per physical adapter + (LP: #1874056) + - s390/pci: Expose new port attribute for PCIe functions + - s390/pci: adaptation of iommu to multifunction + - s390/pci: define kernel parameters for PCI multifunction + - s390/pci: define RID and RID available + - s390/pci: create zPCI bus + - s390/pci: adapt events for zbus + - s390/pci: Handling multifunctions + - s390/pci: Do not disable PF when VFs exist + - s390/pci: Documentation for zPCI + - s390/pci: removes wrong PCI multifunction assignment + + * add 16-bit width registers support for EEPROM at24 device (LP: #1876699) + - regmap-i2c: add 16-bit width registers support + + * Miscellaneous Ubuntu changes + - [Config] Enable virtualbox guest and shared-folder modules + + [ Upstream Kernel Changes ] + + * Rebase to v5.7 + + -- Seth Forshee Mon, 01 Jun 2020 16:11:24 -0500 + +linux-5.7 (5.7.0-5.6) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * [UBUNTU 20.04] PSI generates overhead on s390x (LP: #1876044) + - Ubuntu: [Config] CONFIG_PSI is enabled by default, but creates additional + overhead on s390x, hence should be disabled by default on s390x only. + + * Miscellaneous Ubuntu changes + - Rebase to v5.7-rc7 + - [Config] ppc64el: disable STRICT_KERNEL_RWX + + [ Upstream Kernel Changes ] + + * Rebase to v5.7-rc7 + + -- Paolo Pisati Mon, 25 May 2020 11:44:09 +0200 + +linux-5.7 (5.7.0-4.5) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * update-initramfs complains of missing amdgpu firmware files (LP: #1873325) + - SAUCE: drm/amdgpu: Remove unreleased arcturus and navi12 firmware from + modinfo + + * Support DMIC micmute LED on HP platforms (LP: #1876859) + - ALSA: hda/realtek - Introduce polarity for micmute LED GPIO + - ALSA: hda/realtek - Enable micmute LED on and HP system + - ALSA: hda/realtek - Add LED class support for micmute LED + - ALSA: hda/realtek - Fix unused variable warning w/o + CONFIG_LEDS_TRIGGER_AUDIO + - ASoC: SOF: Update correct LED status at the first time usage of + update_mute_led() + + * Killer(R) Wi-Fi 6 AX1650i 160MHz Wireless Network Adapter (201NGW), + REV=0x354 [8086:a0f0] subsystem id [1a56:1651] wireless adapter not found + due to firmware crash (LP: #1874685) + - SAUCE: iwlwifi: pcie: handle QuZ configs with killer NICs as well + + * rtkit-daemon[*]: Failed to make ourselves RT: Operation not permitted after + upgrade to 20.04 (LP: #1875665) + - [Config] Turn off CONFIG_RT_GROUP_SCHED everywhere + + * Unable to handle kernel pointer dereference in virtual kernel address space + on Eoan (LP: #1876645) + - SAUCE: overlayfs: fix shitfs special-casing + + * Miscellaneous Ubuntu changes + - SAUCE: skip building selftest 'runqslower' if kernel not built + - Rebase to v5.7-rc6 + - [Config] updateconfigs after 5.7-rc6 rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.7-rc6 + + -- Paolo Pisati Mon, 18 May 2020 11:27:25 +0200 + +linux-5.7 (5.7.0-3.4) groovy; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v5.7-rc5 + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * getitimer returns it_value=0 erroneously (LP: #1349028) + - [Config] CONTEXT_TRACKING_FORCE policy should be unset + + * lockdown on power (LP: #1855668) // Ubuntu Kernel Support for OpenPOWER NV + Secure & Trusted Boot (LP: #1866909) + - [Config] Enable configs for OpenPOWER NV Secure & Trusted Boot + + * Miscellaneous Ubuntu changes + - SAUCE: Import aufs driver + - [Config] Enable aufs + - [Config] annotations: remove SND_SOC_SOF_HDA_COMMON_HDMI_CODEC + - [Config] Remove CONFIG_SND_HDA_INTEL_DETECT_DMIC from annotations + - [Debian] final-checks -- Do not remove ~* from abi + - [Config] Enable 5-level page table support for x86 + - [Config] updateconfigs after 5.7-rc5 rebase + + -- Paolo Pisati Mon, 11 May 2020 10:25:42 +0200 + +linux-5.7 (5.7.0-2.3) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - update dkms package versions + - [Packaging] update helper scripts + + * ASUS T100HAN boots to a blank screen with a cursor [i965: Failed to submit + batchbuffer: Input/output error] (LP: #1860754) + - [Config] CONFIG_PMIC_OPREGION=y and CONFIG_GPIO_CRYSTAL_COVE=y for amd64 + + * ubuntu/focal64 fails to mount Vagrant shared folders (LP: #1873506) + - [Packaging] Move virtualbox modules to linux-modules + - [Packaging] Remove vbox and zfs modules from generic.inclusion-list + + * built-using constraints preventing uploads (LP: #1875601) + - temporarily drop Built-Using data + + * dkms artifacts may expire from the pool (LP: #1850958) + - [Packaging] autoreconstruct -- manage executable debian files + - [packaging] handle downloads from the librarian better + + * Add signed modules for the 435 NVIDIA driver (LP: #1875888) + - [Packaging] NVIDIA -- add signed modules for the 435 NVIDIA driver + + * [Selftests] Apply various fixes and improvements (LP: #1870543) + - SAUCE: selftests/seccomp -- Disable timeout for seccomp tests + + * [17.04 FEAT] Integrate kernel message catalogue for s390x into Ubuntu + distribution (LP: #1628889) + - SAUCE: s390: kernel message catalog + + * Overlayfs in user namespace leaks directory content of inaccessible + directories (LP: #1793458) // CVE-2018-6559 + - SAUCE: overlayfs: ensure mounter privileges when reading directories + + * suspend only works once on ThinkPad X1 Carbon gen 7 (LP: #1865570) + - SAUCE: e1000e: Disable s0ix flow for X1 Carbon 7th + + * [ICL] TC port in legacy/static mode can't be detected due TCCOLD + (LP: #1868936) + - drm/i915/display: Move out code to return the digital_port of the aux ch + - drm/i915/display: Add intel_legacy_aux_to_power_domain() + - drm/i915/display: Split hsw_power_well_enable() into two + - drm/i915/tc/icl: Implement TC cold sequences + - drm/i915/tc: Skip ref held check for TC legacy aux power wells + - drm/i915/tc/tgl: Implement TC cold sequences + - drm/i915/tc: Catch TC users accessing FIA registers without enable aux + - drm/i915/tc: Do not warn when aux power well of static TC ports timeout + + * Touchpad doesn't work on Dell Inspiron 7000 2-in-1 (LP: #1851901) + - Revert "UBUNTU: SAUCE: mfd: intel-lpss: add quirk for Dell XPS 13 7390 + 2-in-1" + + * 'Elan touchpad' not detected on 'Lenovo ThinkBook 15 IIL' (LP: #1861610) + - SAUCE: Input: elan_i2c - add more hardware ID for Lenovo laptop + + * linux-image-5.0.0-35-generic breaks checkpointing of container + (LP: #1857257) + - SAUCE: overlayfs: use shiftfs hacks only with shiftfs as underlay + + * alsa/sof: kernel oops on the machine without Intel hdmi audio codec (a + regression in the asoc machine driver) (LP: #1874359) + - ASoC: intel/skl/hda - fix oops on systems without i915 audio codec + + * Add debian/rules targets to compile/run kernel selftests (LP: #1874286) + - [Packaging] add support to compile/run selftests + + * 5.4.0-24.28 does not seem to apply rtprio, whereas -21 does. (LP: #1873315) + - [Config] lowlatency: turn off RT_GROUP_SCHED + + * alsa/sof: external mic can't be deteced on Lenovo and HP laptops + (LP: #1872569) + - SAUCE: ASoC: intel/skl/hda - set autosuspend timeout for hda codecs + + * shiftfs: O_TMPFILE reports ESTALE (LP: #1872757) + - SAUCE: shiftfs: fix dentry revalidation + + * shiftfs: broken shiftfs nesting (LP: #1872094) + - SAUCE: shiftfs: record correct creator credentials + + * lockdown on power (LP: #1855668) + - SAUCE: (lockdown) powerpc: lock down kernel in secure boot mode + + * Add support for Realtek 8723DE wireless adapter (LP: #1780590) + - SAUCE: rtw88: add adaptivity support for EU/JP regulatory + - SAUCE: rtw88: update tx descriptor of mgmt and rsvd page packets + - SAUCE: rtw88: sar: dump sar information via debugfs + - SAUCE: rtw88: 8723d: add IQ calibration + - SAUCE: rtw88: 8723d: Add power tracking + - SAUCE: rtw88: 8723d: implement flush queue + - SAUCE: rtw88: 8723d: set ltecoex register address in chip_info + - SAUCE: rtw88: 8723d: Add coex support + - SAUCE: rtw88: 8723d: Add shutdown callback to disable BT USB suspend + + * Fix authentication fail on Realtek WiFi 8723de (LP: #1871300) + - SAUCE: rtw88: No retry and report for auth and assoc + - SAUCE: rtw88: fix rate for a while after being connected + - SAUCE: rtw88: Move driver IQK to set channel before association for 11N chip + + * Miscellaneous Ubuntu changes + - SAUCE: rtw88: fix 'const' mismatch in power suequence hooks + - SAUCE: rtw88: fix 'const' mismatch in + __priority_queue_cfg_legacy()/__priority_queue_cfg() + - [Config] RTW88=m + - SAUCE: (lockdown) Revert carried-forward lockdown patches + - SAUCE: (lockdown) Add efi_status_to_str() and rework efi_status_to_err(). + - SAUCE: (lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (lockdown) security: lockdown: expose a hook to lock the kernel down + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot + mode + - SAUCE: (lockdown) efi: Lock down the kernel if booted in secure boot mode + - SAUCE: (lockdown) s390: Lock down the kernel when the IPL secure flag is set + - SAUCE: (lockdown) KEYS: Make use of platform keyring for module signature + verify + - SAUCE: (lockdown) arm64: Allow locking down the kernel under EFI secure boot + - SAUCE: (lockdown) security: lockdown: Make + CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic + - [Config] Add back CONFIG_LOCK_DOWN_IN_SECURE_BOOT annotation for ppc64el + - [Config] CONFIG_RT_GROUP_SCHED=y + - [Packaging] Include modules.builtin.modinfo in linux-modules + - SAUCE: LSM: Infrastructure management of the sock security + - SAUCE: Fix-up af_unix mediation for sock infrastructure management + - SAUCE: Revert "apparmor: Allow filtering based on secmark policy" + - SAUCE: Revert "apparmor: Parse secmark policy" + - SAUCE: Revert "apparmor: Add a wildcard secid" + - SAUCE: Revert "apparmor: fixup secid map conversion to using IDR" + - SAUCE: Revert "apparmor: Use an IDR to allocate apparmor secids" + - SAUCE: Revert "apparmor: add support for mapping secids and using secctxes" + - Update dropped.txt for restored apparmor patches + - Remove lockdown patches from dropped.txt + - SAUCE: powerpc/ima: require IMA module signatures only if MODULE_SIG is not + enabled + - SAUCE: selftests/ftrace: Use printf instead of echo in kprobe syntax error + tests + - SAUCE: selftests/net -- disable l2tp.sh test + - SAUCE: selftests/net -- disable timeout + - SAUCE: tools: hv: Update shebang to use python3 instead of python + - Remove dropped.txt + - [Packaging] move linux-doc and linux-libc-dev stubs to debian.master + - [Debian] Support generating configs for riscv64 + - [Config] CONFIG_KMSG_IDS=y for s390x + - [Packaging] add libcap-dev dependency + - [Config] CONFIG_AD5770R=m + - [Config] CONFIG_AL3010=m + - [Config] CONFIG_APPLE_MFI_FASTCHARGE=m + - [Config] CONFIG_BAREUDP=m + - [Config] CONFIG_CRYPTO_DEV_OCTEONTX_CPT=m + - [Config] CONFIG_CRYPTO_DEV_ZYNQMP_AES=m + - [Config] CONFIG_DRM_DISPLAY_CONNECTOR=m + - [Config] CONFIG_DRM_PANEL_BOE_TV101WUM_NL6=m + - [Config] CONFIG_DRM_PANEL_ELIDA_KD35T133=m + - [Config] CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02=m + - [Config] CONFIG_DRM_PANEL_NOVATEK_NT35510=m + - [Config] CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m + - [Config] CONFIG_DRM_PARADE_PS8640=m + - [Config] CONFIG_DRM_SIMPLE_BRIDGE=m + - [Config] CONFIG_DRM_TIDSS=m + - [Config] CONFIG_DRM_TI_TPD12S015=m + - [Config] CONFIG_DRM_TOSHIBA_TC358768=m + - [Config] CONFIG_EDAC_DMC520=m + - [Config] CONFIG_EXFAT_FS=m + - [Config] CONFIG_GP2AP002=m + - [Config] CONFIG_GPIO_MLXBF2=m + - [Config] CONFIG_HID_GLORIOUS=m + - [Config] CONFIG_HID_MCP2221=m + - [Config] CONFIG_HMC425=m + - [Config] CONFIG_ICP10100=m + - [Config] CONFIG_IMX8MM_THERMAL=m + - [Config] CONFIG_IMX_SC_THERMAL=m + - [Config] CONFIG_INTERCONNECT_QCOM_OSM_L3=m + - [Config] CONFIG_INTERCONNECT_QCOM_SC7180=m + - [Config] CONFIG_K3_RTI_WATCHDOG=m + - [Config] CONFIG_MDIO_IPQ8064=m + - [Config] CONFIG_MDIO_MVUSB=m + - [Config] CONFIG_MHI_BUS=m + - [Config] CONFIG_OCTEONTX2_VF=m + - [Config] CONFIG_PHY_CADENCE_TORRENT=m + - [Config] CONFIG_PHY_QCOM_USB_HS_28NM=m + - [Config] CONFIG_PHY_QCOM_USB_SS=m + - [Config] CONFIG_PINCTRL_DA9062=m + - [Config] CONFIG_PINCTRL_IPQ6018=m + - [Config] CONFIG_PTP_1588_CLOCK_IDT82P33=m + - [Config] CONFIG_PTP_1588_CLOCK_VMW=m + - [Config] CONFIG_QCOM_IPA=m + - [Config] CONFIG_REGULATOR_MP5416=m + - [Config] CONFIG_REGULATOR_MP886X=m + - [Config] CONFIG_RN5T618_ADC=m + - [Config] CONFIG_RTC_DRV_MT2712=m + - [Config] CONFIG_RTC_DRV_RC5T619=m + - [Config] CONFIG_SC_MSS_7180=m + - [Config] CONFIG_SENSORS_AXI_FAN_CONTROL=m + - [Config] CONFIG_SM_GCC_8250=m + - [Config] CONFIG_SND_BCM63XX_I2S_WHISTLER=m + - [Config] CONFIG_SND_MESON_AIU=m + - [Config] CONFIG_SND_MESON_G12A_TOACODEC=m + - [Config] CONFIG_SND_MESON_GX_SOUND_CARD=m + - [Config] CONFIG_SND_SOC_AMD_RV_RT5682_MACH=m + - [Config] CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH=m + - [Config] CONFIG_SND_SOC_MESON_T9015=m + - [Config] CONFIG_SND_SOC_RT5682_SDW=m + - [Config] CONFIG_SND_SOC_TLV320ADCX140=m + - [Config] CONFIG_SPI_FSI=m + - [Config] CONFIG_SPI_MTK_NOR=m + - [Config] CONFIG_SPI_MUX=m + - [Config] CONFIG_SPRD_THERMAL=m + - [Config] CONFIG_SURFACE_3_POWER_OPREGION=m + - [Config] CONFIG_TINYDRM_ILI9486=m + - [Config] CONFIG_TI_K3_AM65_CPSW_NUSS=m + - [Config] CONFIG_TYPEC_MUX_INTEL_PMC=m + - [Config] CONFIG_UACCE=m + - [Config] CONFIG_UNIPHIER_XDMAC=m + - [Config] CONFIG_USB_MAX3420_UDC=m + - [Config] CONFIG_USB_RAW_GADGET=m + - [Config] CONFIG_VHOST_VDPA=m + - [Config] CONFIG_VIDEO_IMX219=m + - [Config] CONFIG_VIDEO_SUN8I_ROTATE=m + - [Config] CONFIG_VIRTIO_VDPA=m + - [Config] CONFIG_MOST_COMPONENTS=m + - [Config] CONFIG_MFD_IQS62X=m + - packaging: getabis: switch to ckt-ppa:bootstrap/linux-5.7 + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: rtw88: add rtw_read8_mask and rtw_read16_mask" + - Revert "UBUNTU: SAUCE: drm/i915/fbc: disable framebuffer compression on + IceLake" + - Revert "UBUNTU: SAUCE: platform/x86: dell-uart-backlight: move retry block" + + -- Paolo Pisati Mon, 04 May 2020 10:48:48 +0200 + +linux-5.7 (5.7.0-1.2) groovy; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * Miscellaneous Ubuntu changes + - SAUCE: hio: pass make_request ptr directly to blk_alloc_queue() + - SAUCE: hio: locally define disk_map_sector_rcu() + - SAUCE: hio: Revert "block: unexport disk_map_sector_rcu" + - SAUCE: hio: include + - [Config] amd64: i386: HIO=m + - [Config] updateconfigs after 5.7-rc3 rebase + + -- Paolo Pisati Mon, 27 Apr 2020 11:31:38 +0200 + +linux-5.7 (5.7.0-0.1) groovy; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs after rebase to 5.7-rc1 + + [ Upstream Kernel Changes ] + + * Rebase to v5.7-rc1 + * Rebase to v5.7-rc2 + + -- Paolo Pisati Thu, 16 Apr 2020 11:53:58 +0200 + +linux-5.7 (5.7.0-0.0) focal; urgency=medium + + * Dummy entry + + -- Paolo Pisati Thu, 16 Apr 2020 11:53:58 +0200 + +linux-5.6 (5.6.0-7.7) focal; urgency=medium + + * Packaging resync (LP: #1786013) + - update dkms package versions + + * Kernel Oops - general protection fault: 0000 [#1] SMP PTI after + disconnecting thunderbolt docking station (LP: #1864754) + - SAUCE: ptp: free ptp clock properly + + * swap storms kills interactive use (LP: #1861359) + - SAUCE: mm/page_alloc.c: disable memory reclaim watermark boosting by default + + * sysfs: incorrect network device permissions on network namespace change + (LP: #1865359) + - sysfs: add sysfs_file_change_owner() + - sysfs: add sysfs_link_change_owner() + - sysfs: add sysfs_group{s}_change_owner() + - sysfs: add sysfs_change_owner() + - device: add device_change_owner() + - drivers/base/power: add dpm_sysfs_change_owner() + - net-sysfs: add netdev_change_owner() + - net-sysfs: add queue_change_owner() + - net: fix sysfs permssions when device changes network namespace + - sysfs: fix static inline declaration of sysfs_groups_change_owner() + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs after rebase to 5.6 + + [ Upstream Kernel Changes ] + + * Rebase to v5.6 + + -- Andrea Righi Tue, 31 Mar 2020 10:45:09 +0200 + +linux-5.6 (5.6.0-6.6) focal; urgency=medium + + * suspend only works once on ThinkPad X1 Carbon gen 7 (LP: #1865570) + - SAUCE: e1000e: Disable s0ix flow for X1 Carbon 7th + + * Make Dell WD19 dock more reliable after suspend (LP: #1868217) + - xhci: Ensure link state is U3 after setting USB_SS_PORT_LS_U3 + - xhci: Wait until link state trainsits to U0 after setting USB_SS_PORT_LS_U0 + - xhci: Finetune host initiated USB3 rootport link suspend and resume + + * update-version-dkms doesn't add a BugLink (LP: #1867790) + - [Packaging] Add BugLink to update-version-dkms commit + + * Add support for Realtek 8723DE wireless adapter (LP: #1780590) + - SAUCE: rtw88: add regulatory process strategy for different chipset + - SAUCE: rtw88: support dynamic user regulatory setting + - SAUCE: rtw88: Use secondary channel offset enumeration + - SAUCE: rtw88: 8822c: modify rf protection setting + - SAUCE: rtw88: disable TX-AMSDU on 2.4G band + - SAUCE: Revert "rtw88: disable TX-AMSDU on 2.4G band" + - SAUCE: rtw88: disable TX-AMSDU on 2.4G band + - SAUCE: rtw88: remove unused parameter vif in rtw_lps_pg_info_get() + - SAUCE: rtw88: add rtw_read8_mask and rtw_read16_mask + - SAUCE: rtw88: pci: 8822c should set clock delay to zero + - SAUCE: rtw88: move rtw_enter_ips() to the last when config + - SAUCE: rtw88: avoid holding mutex for cancel_delayed_work_sync() + - SAUCE: rtw88: add ciphers to suppress error message + - SAUCE: rtw88: 8822c: update power sequence to v16 + - SAUCE: rtw88: Fix incorrect beamformee role setting + - SAUCE: rtw88: don't hold all IRQs disabled for PS operations + - SAUCE: rtw88: extract alloc rsvd_page and h2c skb routines + - SAUCE: rtw88: associate reserved pages with each vif + - SAUCE: rtw88: add adaptivity support for EU/JP regulatory + - SAUCE: rtw88: 8723d: Add basic chip capabilities + - SAUCE: rtw88: 8723d: add beamform wrapper functions + - SAUCE: rtw88: 8723d: Add power sequence + - SAUCE: rtw88: 8723d: Add RF read/write ops + - SAUCE: rtw88: 8723d: Add mac/bb/rf/agc/power_limit tables + - SAUCE: rtw88: 8723d: Add cfg_ldo25 to control LDO25 + - SAUCE: rtw88: 8723d: Add new chip op efuse_grant() to control efuse access + - SAUCE: rtw88: 8723d: Add read_efuse to recognize efuse info from map + - SAUCE: rtw88: add legacy firmware download for 8723D devices + - SAUCE: rtw88: no need to send additional information to legacy firmware + - SAUCE: rtw88: 8723d: Add mac power-on/-off function + - SAUCE: rtw88: decompose while(1) loop of power sequence polling command + - SAUCE: rtw88: 8723d: 11N chips don't support H2C queue + - SAUCE: rtw88: 8723d: implement set_tx_power_index ops + - SAUCE: rtw88: 8723d: Organize chip TX/RX FIFO + - SAUCE: rtw88: 8723d: initialize mac/bb/rf basic functions + - SAUCE: rtw88: 8723d: Add DIG parameter + - SAUCE: rtw88: 8723d: Add query_rx_desc + - SAUCE: rtw88: 8723d: Add set_channel + - SAUCE: rtw88: handle C2H_CCX_TX_RPT to know if packet TX'ed successfully + - SAUCE: rtw88: 8723d: 11N chips don't support LDPC + - SAUCE: rtw88: set default port to firmware + - SAUCE: rtw88: update tx descriptor of mgmt and rsvd page packets + - SAUCE: rtw88: sar: add SAR of TX power limit + - SAUCE: rtw88: sar: Load static SAR table from ACPI WRDS method + - SAUCE: rtw88: sar: Load dynamic SAR table from ACPI methods + - SAUCE: rtw88: sar: apply dynamic SAR table to tx power limit + - SAUCE: rtw88: sar: add sar_work to poll if dynamic SAR table is changed + - SAUCE: rtw88: sar: dump sar information via debugfs + - SAUCE: rtw88: 8723d: Add chip_ops::false_alarm_statistics + - SAUCE: rtw88: 8723d: Set IG register for CCK rate + - SAUCE: rtw88: 8723d: add interface configurations table + - SAUCE: rtw88: 8723d: Add LC calibration + - SAUCE: rtw88: 8723d: add IQ calibration + - SAUCE: rtw88: 8723d: Add power tracking + - SAUCE: rtw88: 8723d: Add shutdown callback to disable BT USB suspend + - SAUCE: rtw88: 8723d: implement flush queue + - SAUCE: rtw88: 8723d: set ltecoex register address in chip_info + - SAUCE: rtw88: 8723d: Add coex support + - SAUCE: rtw88: fill zeros to words 0x06 and 0x07 of security cam entry + - SAUCE: rtw88: 8723d: Add 8723DE to Kconfig and Makefile + - [Config] CONFIG_RTW88_8723DE=y + + * [Ubuntu 20.04] Unset HIBERNATION and PM kernel config options for focal + (LP: #1867753) + - [Config] CONFIG_HIBERNATION=n and CONFIG_PM=n for s390x + + * [20.04 FEAT] Base KVM setup for secure guests - kernel part (LP: #1835531) + - s390/protvirt: introduce host side setup + - s390/protvirt: add ultravisor initialization + - s390/mm: provide memory management functions for protected KVM guests + - s390/mm: add (non)secure page access exceptions handlers + - s390/protvirt: Add sysfs firmware interface for Ultravisor information + - KVM: s390/interrupt: do not pin adapter interrupt pages + - KVM: s390: protvirt: Add UV debug trace + - KVM: s390: add new variants of UV CALL + - KVM: s390: protvirt: Add initial vm and cpu lifecycle handling + - KVM: s390: protvirt: Secure memory is not mergeable + - KVM: s390/mm: Make pages accessible before destroying the guest + - KVM: s390: protvirt: Handle SE notification interceptions + - KVM: s390: protvirt: Instruction emulation + - KVM: s390: protvirt: Implement interrupt injection + - KVM: s390: protvirt: Add SCLP interrupt handling + - KVM: s390: protvirt: Handle spec exception loops + - KVM: s390: protvirt: Add new gprs location handling + - KVM: S390: protvirt: Introduce instruction data area bounce buffer + - KVM: s390: protvirt: handle secure guest prefix pages + - KVM: s390/mm: handle guest unpin events + - KVM: s390: protvirt: Write sthyi data to instruction data area + - KVM: s390: protvirt: STSI handling + - KVM: s390: protvirt: disallow one_reg + - KVM: s390: protvirt: Do only reset registers that are accessible + - KVM: s390: protvirt: Only sync fmt4 registers + - KVM: s390: protvirt: Add program exception injection + - KVM: s390: protvirt: UV calls in support of diag308 0, 1 + - KVM: s390: protvirt: Report CPU state to Ultravisor + - KVM: s390: protvirt: Support cmd 5 operation state + - KVM: s390: protvirt: Mask PSW interrupt bits for interception 104 and 112 + - KVM: s390: protvirt: do not inject interrupts after start + - KVM: s390: protvirt: Add UV cpu reset calls + - DOCUMENTATION: Protected virtual machine introduction and IPL + - KVM: s390: protvirt: introduce and enable KVM_CAP_S390_PROTECTED + - KVM: s390: protvirt: Add KVM api documentation + - mm/gup/writeback: add callbacks for inaccessible pages + + * All PS/2 ports on PS/2 Serial add-in bracket are not working after S3 + (LP: #1866734) + - SAUCE: Input: i8042 - fix the selftest retry logic + + * Sys oopsed with sysfs test in ubuntu_stress_smoke_test on X-hwe ARM64 + (LP: #1866772) + - ACPI: sysfs: copy ACPI data using io memory copying + + * Miscellaneous Ubuntu changes + - hio -- remove duplicated MODULE_DEVICE_TABLE declaration + - SAUCE: r8169: disable ASPM L1.1 + - [Config] update annotations from configs + - [Config] update configs after annotation file review + - SAUCE: Revert "tools/power turbostat: Fix 32-bit capabilities warning" + + * Miscellaneous upstream changes + - drm/i915: Fix eDP DPCD aux max backlight calculations + - drm/dp: Introduce EDID-based quirks + - drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED panel + - drm/i915: Force DPCD backlight mode for some Dell CML 2020 panels + + [ Upstream Kernel Changes ] + + * Rebase to v5.6-rc7 + + -- Andrea Righi Wed, 25 Mar 2020 18:09:13 +0100 + +linux-5.6 (5.6.0-5.5) focal; urgency=medium + + * please help enable CONFIG_EROFS_FS_ZIP (LP: #1867099) + - [Config] CONFIG_EROFS_FS_ZIP=y + - [Config] CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1 + + * Miscellaneous Ubuntu changes + - Config: Fix SND_HDA_PREALLOC_SIZE annotations + - Config: Fix DATA_SHIFT annotations + - Config: remove ANDROID_VSOC from annotations + - Config: remove arm arch from annotations + - Config: Update SOC_R8A7796X annotations + - Config: Update CLK_R8A7796X annotations + - update dkms package versions + - [Config] updateconfigs after rebase to 5.6-rc6 + + [ Upstream Kernel Changes ] + + * Rebase to v5.6-rc6 + + -- Andrea Righi Wed, 18 Mar 2020 17:25:30 +0100 + +linux-5.6 (5.6.0-4.4) focal; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] resync getabis + - [Packaging] update helper scripts + + * Add sysfs attribute to show remapped NVMe (LP: #1863621) + - SAUCE: ata: ahci: Add sysfs attribute to show remapped NVMe device count + + * [20.04 FEAT] Compression improvements in Linux kernel (LP: #1830208) + - [Config] Introducing s390x specific kernel config option CONFIG_ZLIB_DFLTCC + + * [UBUNTU 20.04] s390x/pci: increase CONFIG_PCI_NR_FUNCTIONS to 512 in kernel + config (LP: #1866056) + - [Config] Increase CONFIG_PCI_NR_FUNCTIONS from 64 to 512 starting with focal + on s390x + + * CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set (LP: #1865332) + - [Config] CONFIG_IP_MROUTE_MULTIPLE_TABLES=y + + * [UBUNTU 20.04] Enable CONFIG_NET_SWITCHDEV in kernel config for s390x + starting with focal (LP: #1865452) + - [Config] Enable CONFIG_NET_SWITCHDEV in kernel config for s390x starting + with focal + + * Miscellaneous Ubuntu changes + - SAUCE: Revert "UBUNTU: SAUCE: blk/core: Gracefully handle unset + make_request_fn" + - [Packaging] prevent duplicated entries in modules.ignore + - update dkms package versions + - [Config] updateconfigs after rebase to 5.6-rc5 + + [ Upstream Kernel Changes ] + + * Rebase to v5.6-rc5 + + -- Andrea Righi Mon, 09 Mar 2020 09:42:06 +0100 + +linux-5.6 (5.6.0-3.3) focal; urgency=medium + + * nsleep-lat / set-timer-lat / inconsistency-check / raw_skew from timer in + ubuntu_kernel_selftests timeout on 5.3 / 5.4 (LP: #1864626) + - selftests/timers: Turn off timeout setting + + * Update kernel options CONFIG_NR_CPUS and CONFIG_NUMA_EMU for focal + (LP: #1864198) + - Ubuntu: [Config] Update kernel options CONFIG_NR_CPUS and CONFIG_NUMA_EMU + + * alsa/hda/realtek: fix a mute led regression on Lenovo X1 Carbon + (LP: #1864576) + - SAUCE: ALSA: hda/realtek - Fix a regression for mute led on Lenovo Carbon X1 + + * r8152 init may take up to 40 seconds at initialization with Dell WD19/WD19DC + during hotplug (LP: #1864284) + - UBUNTU SAUCE: r8151: check disconnect status after long sleep + + * Another Dell AIO backlight issue (LP: #1863880) + - SAUCE: platform/x86: dell-uart-backlight: move retry block + + * Backport GetFB2 ioctl (LP: #1863874) + - SAUCE: drm: Add getfb2 ioctl + + * Focal Fossa (20.04) feature request - Enable CONFIG_X86_UV (LP: #1863810) + - [Config] CONFIG_X86_UV=y + + * Miscellaneous Ubuntu changes + - debian: remove snapdragon config, rules and flavour + - remove snapdragon abi files + - update dkms package versions + - [Config] updateconfigs after rebase to 5.6-rc4 + + * Miscellaneous upstream changes + - updateconfigs following snapdragon removal + + [ Upstream Kernel Changes ] + + * Rebase to v5.6-rc4 + + -- Andrea Righi Wed, 04 Mar 2020 08:21:10 +0100 + +linux-5.6 (5.6.0-2.2) focal; urgency=medium + + * Sometimes can't adjust brightness on Dell AIO (LP: #1862885) + - SAUCE: platform/x86: dell-uart-backlight: increase retry times + + * Dell XPS 13 (7390) Display Flickering - 19.10 (LP: #1849947) + - SAUCE: drm/i915: Disable PSR by default on all platforms + + * Miscellaneous Ubuntu changes + - [debian] ignore missing wireguard module + - SAUCE: (lockdown) Add efi_status_to_str() and rework efi_status_to_err(). + - SAUCE: (lockdown) security: lockdown: expose a hook to lock the kernel down + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot + mode + - SAUCE: (lockdown) efi: Lock down the kernel if booted in secure boot mode + - SAUCE: (lockdown) s390: Lock down the kernel when the IPL secure flag is set + - SAUCE: (lockdown) KEYS: Make use of platform keyring for module signature + verify + - SAUCE: (lockdown) arm64: Allow locking down the kernel under EFI secure boot + - SAUCE: (lockdown) security: lockdown: Make + CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic + - [Config] CONFIG_LOCK_DOWN_IN_SECURE_BOOT=y + - update dkms package versions + - [Config] updateconfigs after rebase to 5.6-rc3 + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: (lockdown) s390/ipl: lockdown kernel when booted + secure" + - Revert "UBUNTU: SAUCE: (lockdown) KEYS: Make use of platform keyring for + module signature verify" + - Revert "UBUNTU: SAUCE: (lockdown) Add a SysRq option to lift kernel + lockdown" + - Revert "UBUNTU: SAUCE: (lockdown) security: lockdown: expose a hook to lock + the kernel down" + - Revert "UBUNTU: SAUCE: (lockdown) Add efi_status_to_str() and rework + efi_status_to_err()." + + -- Andrea Righi Mon, 24 Feb 2020 18:57:22 +0100 + +linux-5.6 (5.6.0-1.1) focal; urgency=medium + + * Integrate Intel SGX driver into linux-azure (LP: #1844245) + - [Packaging] Add systemd service to load intel_sgx + + * QAT drivers for C3XXX and C62X not included as modules (LP: #1845959) + - [Config] CRYPTO_DEV_QAT_C3XXX=m, CRYPTO_DEV_QAT_C62X=m and + CRYPTO_DEV_QAT_DH895xCC=m + + * 5.4.0-11 crash on cryptsetup open (LP: #1860231) + - SAUCE: blk/core: Gracefully handle unset make_request_fn + + * multi-zone raid0 corruption (LP: #1850540) + - SAUCE: md/raid0: Use kernel specific layout + + * Miscellaneous Ubuntu changes + - update dkms package versions + - update dropped.txt after rebase to v5.6-rc1 + - [Config] updateconfigs after rebase to 5.6-rc1 + - hio -- proc_create() requires a "struct proc_ops" in 5.6 + - SAUCE: arm: fix build error in kvm tracepoint + + * Miscellaneous upstream changes + - Revert "UBUNTU: [Config] Disable the uselib system call" + - Revert "UBUNTU: [Config] Disable legacy PTY naming" + - Revert "UBUNTU: [Config] Enforce filtered access to iomem" + - Revert "UBUNTU: [Config] Enable notifier call chain validations" + - Revert "UBUNTU: [Config] Enable scatterlist validation" + - Revert "UBUNTU: [Config] Enable cred sanity checks" + - Revert "UBUNTU: [Config] Enable linked list manipulation checks" + + [ Upstream Kernel Changes ] + + * Rebase to v5.6-rc1 + + -- Andrea Righi Thu, 13 Feb 2020 17:20:27 +0100 + +linux-5.6 (5.6.0-0.0) focal; urgency=medium + + * Dummy entry + + -- Andrea Righi Mon, 10 Feb 2020 11:06:18 +0100 + +linux-5.5 (5.5.0-7.8) focal; urgency=medium + + * CONFIG_USELIB should be disabled (LP: #1855341) + - [Config] Disable the uselib system call + + * CONFIG_LEGACY_PTYS should be disabled (LP: #1855339) + - [Config] Disable legacy PTY naming + + * CONFIG_IO_STRICT_DEVMEM should be enabled (LP: #1855338) + - [Config] Enforce filtered access to iomem + + * CONFIG_DEBUG_NOTIFIERS should be enabled (LP: #1855337) + - [Config] Enable notifier call chain validations + + * CONFIG_DEBUG_SG should be enabled (LP: #1855336) + - [Config] Enable scatterlist validation + + * CONFIG_DEBUG_CREDENTIALS should be enabled (LP: #1855335) + - [Config] Enable cred sanity checks + + * CONFIG_DEBUG_LIST should be enabled (LP: #1855334) + - [Config] Enable linked list manipulation checks + + * shiftfs: prevent lower dentries from going negative during unlink + (LP: #1860041) + - SAUCE: shiftfs: prevent lower dentries from going negative during unlink + + * [SRU][B/OEM-B/OEM-OSP1/D/E/Unstable] UBUNTU: SAUCE: Use native backlight on + Lenovo E41-25/45 (LP: #1859561) + - SAUCE: ACPI: video: Use native backlight on Lenovo E41-25/45 + + * USB key cannot be detected by hotplug on Sunix USB Type-A 3.1 Gen 2 card + [1b21:2142] (LP: #1858988) + - SAUCE: PCI: Avoid ASMedia XHCI USB PME# from D0 defect + + * Dell AIO can't adjust brightness (LP: #1858761) + - SAUCE: platform/x86: dell-uart-backlight: add retry for get scalar status + + * Miscellaneous Ubuntu changes + - [Config] Fix typo in annotations file + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.5 + + -- Andrea Righi Mon, 27 Jan 2020 11:39:38 +0100 + +linux-5.5 (5.5.0-6.7) focal; urgency=medium + + * Miscellaneous Ubuntu changes + - [Packaging] Update ubuntu-regression-suite dependency to python2 + - [Packaging] Fix ubuntu-regression-suite python dependency for hwe kernel + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.5-rc7 + + -- Andrea Righi Mon, 20 Jan 2020 10:16:01 +0100 + +linux-5.5 (5.5.0-5.6) focal; urgency=medium + + * Miscellaneous Ubuntu changes + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.5-rc6 + + -- Andrea Righi Mon, 13 Jan 2020 15:50:12 +0100 + +linux-5.5 (5.5.0-4.5) focal; urgency=medium + + * linux build and autopkg tests need to use python2 instead of python + (LP: #1858487) + - [Packaging] Remove python-dev build dependency + + -- Andrea Righi Wed, 08 Jan 2020 16:00:26 +0100 + +linux-5.5 (5.5.0-3.4) focal; urgency=medium + + * [SRU][B/OEM-B/OEM-OSP1/D/E/F] Add LG I2C touchscreen multitouch support + (LP: #1857541) + - SAUCE: HID: multitouch: Add LG MELF0410 I2C touchscreen support + + * Make vfio-pci built-in or xhci_hcd optional (LP: #1770845) + - [Config]: built-in VFIO_PCI for amd64 + + * multi-zone raid0 corruption (LP: #1850540) + - SAUCE: md/raid0: Link to wiki with guidance on multi-zone RAID0 layout + migration + + * Packaging resync (LP: #1786013) + - [Packaging] update variants + + * Miscellaneous Ubuntu changes + - [Packaging] Change source package to linux-5.5 + - [Packaging] Don't use SRCPKGNAME for linux-libc-dev + - [Packaging] Remove linux-source-3 Provides: from linux-source + - [Packaging] Fix linux-doc in linux-image Suggests: + - [Debian] Read variants list into a variable + - [Packaging] Generate linux-libc-dev package only for primary variant + - [Packaging] Generate linux-doc for only the primary variant + - [Debian] Update linux source package name in debian/tests/* + - update dkms package versions + - [Config] updateconfigs after rebase to 5.5-rc3 + - [Config] disable PCI_MESON + - [Config] Add pinctrl-equilibrium to modules.ignore + + [ Upstream Kernel Changes ] + + * Rebase to v5.5-rc5 + + -- Andrea Righi Wed, 08 Jan 2020 11:28:43 +0100 + +linux-5.5 (5.5.0-2.3) focal; urgency=medium + + * Empty entry. + + -- Seth Forshee Tue, 17 Dec 2019 22:33:59 -0600 + +linux (5.5.0-2.3) focal; urgency=medium + + * Support DPCD aux brightness control (LP: #1856134) + - SAUCE: drm/i915: Fix eDP DPCD aux max backlight calculations + - SAUCE: drm/i915: Assume 100% brightness when not in DPCD control mode + - SAUCE: drm/i915: Fix DPCD register order in intel_dp_aux_enable_backlight() + - SAUCE: drm/i915: Auto detect DPCD backlight support by default + - SAUCE: drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED + panel + - USUNTU: SAUCE: drm/i915: Force DPCD backlight mode on Dell Precision 4K sku + + * change kconfig of the soundwire bus driver from y to m (LP: #1855685) + - [Config]: SOUNDWIRE=m + + * Fix unusable USB hub on Dell TB16 after S3 (LP: #1855312) + - SAUCE: USB: core: Make port power cycle a seperate helper function + - SAUCE: USB: core: Attempt power cycle port when it's in eSS.Disabled state + + * Miscellaneous Ubuntu changes + - [Debian] add python depends to ubuntu-regression-suite + - SAUCE: selftests: net: tls: remove recv_rcvbuf test + - update dkms package versions + + * Miscellaneous upstream changes + - [Config] updateconfigs after rebase to 5.5-rc2 + + -- Andrea Righi Tue, 17 Dec 2019 16:02:43 +0100 + +linux (5.5.0-1.2) focal; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] disable nvidia dkms build + - [Config] disable virtualbox dkms build + - [Config] disable zfs dkms build + - update dropped.txt after rebase to v5.5-rc1 + - SAUCE: (lockdown) Make get_cert_list() not complain about cert lists that + aren't present. + - SAUCE: (lockdown) Add efi_status_to_str() and rework efi_status_to_err(). + - SAUCE: (lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (lockdown) security: lockdown: expose a hook to lock the kernel down + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot + mode + - SAUCE: (lockdown) efi: Lock down the kernel if booted in secure boot mode + - SAUCE: (lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (lockdown) KEYS: Make use of platform keyring for module signature + verify + - SAUCE: (lockdown) arm64: Allow locking down the kernel under EFI secure boot + - SAUCE: (lockdown) security: lockdown: Make + CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic + - SAUCE: (lockdown) s390/ipl: lockdown kernel when booted secure + - [Config] Enable lockdown under secure boot + - update dkms package versions + + -- Andrea Righi Thu, 12 Dec 2019 16:54:41 +0100 + +linux (5.5.0-0.1) focal; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs after rebase to 5.5-rc1 + + [ Upstream Kernel Changes ] + + * Rebase to v5.5-rc1 + + -- Andrea Righi Mon, 09 Dec 2019 19:03:35 +0100 + +linux (5.5.0-0.0) focal; urgency=medium + + * Dummy entry. + + -- Andrea Righi Mon, 09 Dec 2019 15:14:37 +0100 + +linux (5.4.0-8.11) focal; urgency=medium + + * focal/linux: 5.4.0-8.9 -proposed tracker (LP: #1855448) + + * update ENA driver for DIMLIB dynamic interrupt moderation (LP: #1853180) + - SAUCE: net: ena: fix issues in setting interrupt moderation params in + ethtool + - SAUCE: net: ena: fix too long default tx interrupt moderation interval + + * Kernel build log filled with "/bin/bash: line 5: warning: command + substitution: ignored null byte in input" (LP: #1853843) + - [Debian] Fix warnings when checking for modules signatures + + * hwe-edge kernel 5.3.0-23.25 kernel does not boot on Precision 5720 AIO + (LP: #1852581) + - [Packaging] Fix module signing with older modinfo + + * Fix MST support on Ice Lake (LP: #1854432) + - drm/i915: fix port checks for MST support on gen >= 11 + + * headphone has noise as not mute on dell machines with alc236/256 + (LP: #1854401) + - SAUCE: ALSA: hda/realtek - Dell headphone has noise on unmute for ALC236 + + * [CML-S62] Need enable intel_pmc_core driver patch for Comet lake- S 6+2 + (LP: #1847450) + - SAUCE: platform/x86: intel_pmc_core: Add Comet Lake (CML) platform support + to intel_pmc_core driver + + * CVE-2019-14901 + - SAUCE: mwifiex: Fix heap overflow in mmwifiex_process_tdls_action_frame() + + * CVE-2019-14896 // CVE-2019-14897 + - SAUCE: libertas: Fix two buffer overflows at parsing bss descriptor + + * CVE-2019-14895 + - SAUCE: mwifiex: fix possible heap overflow in mwifiex_process_country_ie() + + * [CML-S62] Need enable intel_rapl patch support for Comet lake- S 6+2 + (LP: #1847454) + - powercap/intel_rapl: add support for CometLake Mobile + - powercap/intel_rapl: add support for Cometlake desktop + + * External microphone can't work on some dell machines with the codec alc256 + or alc236 (LP: #1853791) + - SAUCE: ALSA: hda/realtek - Move some alc256 pintbls to fallback table + - SAUCE: ALSA: hda/realtek - Move some alc236 pintbls to fallback table + + * remount of multilower moved pivoted-root overlayfs root, results in I/O + errors on some modified files (LP: #1824407) + - SAUCE: ovl: fix lookup failure on multi lower squashfs + + * [CML-S62] Need enable turbostat patch support for Comet lake- S 6+2 + (LP: #1847451) + - SAUCE: tools/power turbostat: Add Cometlake support + + * CONFIG_ARCH_ROCKCHIP is not set in ubuntu 18.04 aarch64,arm64 (LP: #1825222) + - [Config] Enable ROCKCHIP support for arm64 + + * [broadwell-rt286, playback] Since Linux 5.2rc2 audio playback no longer + works on Dell Venue 11 Pro 7140 (LP: #1846539) + - SAUCE: ASoC: SOF: Intel: Broadwell: clarify mutual exclusion with legacy + driver + + * i40e: general protection fault in i40e_config_vf_promiscuous_mode + (LP: #1852663) + - SAUCE: i40e Fix GPF when deleting VMs + + * libbpf check_abi fails on ppc64el (LP: #1854974) + - libbpf: Fix readelf output parsing on powerpc with recent binutils + + * CVE-2019-19050 + - crypto: user - fix memory leak in crypto_reportstat + + * Make hotplugging docking station to Thunderbolt port more reliable + (LP: #1853991) + - PCI/PM: Add pcie_wait_for_link_delay() + - PCI/PM: Add missing link delays required by the PCIe spec + + * i915: Display flickers (monitor loses signal briefly) during "flickerfree" + boot, while showing the BIOS logo on a black background (LP: #1836858) + - [Config] FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y + + * [CML] New device id's for CMP-H (LP: #1846335) + - i2c: i801: Add support for Intel Comet Lake PCH-H + - mtd: spi-nor: intel-spi: Add support for Intel Comet Lake-H SPI serial flash + - mfd: intel-lpss: Add Intel Comet Lake PCH-H PCI IDs + + * Focal update: v5.4.2 upstream stable release (LP: #1855326) + - io_uring: async workers should inherit the user creds + - net: separate out the msghdr copy from ___sys_{send,recv}msg() + - net: disallow ancillary data for __sys_{send,recv}msg_file() + - crypto: inside-secure - Fix stability issue with Macchiatobin + - driver core: platform: use the correct callback type for bus_find_device + - usb: dwc2: use a longer core rest timeout in dwc2_core_reset() + - staging: wilc1000: fix illegal memory access in wilc_parse_join_bss_param() + - staging: rtl8192e: fix potential use after free + - staging: rtl8723bs: Drop ACPI device ids + - staging: rtl8723bs: Add 024c:0525 to the list of SDIO device-ids + - USB: serial: ftdi_sio: add device IDs for U-Blox C099-F9P + - mei: bus: prefix device names on bus with the bus name + - mei: me: add comet point V device id + - thunderbolt: Power cycle the router if NVM authentication fails + - x86/fpu: Don't cache access to fpu_fpregs_owner_ctx + - gve: Fix the queue page list allocated pages count + - macvlan: schedule bc_work even if error + - mdio_bus: don't use managed reset-controller + - net: dsa: sja1105: fix sja1105_parse_rgmii_delays() + - net: macb: add missed tasklet_kill + - net: psample: fix skb_over_panic + - net: sched: fix `tc -s class show` no bstats on class with nolock subqueues + - openvswitch: fix flow command message size + - sctp: Fix memory leak in sctp_sf_do_5_2_4_dupcook + - slip: Fix use-after-free Read in slip_open + - sctp: cache netns in sctp_ep_common + - openvswitch: drop unneeded BUG_ON() in ovs_flow_cmd_build_info() + - openvswitch: remove another BUG_ON() + - net/tls: take into account that bpf_exec_tx_verdict() may free the record + - net/tls: free the record on encryption error + - net: skmsg: fix TLS 1.3 crash with full sk_msg + - selftests/tls: add a test for fragmented messages + - net/tls: remove the dead inplace_crypto code + - net/tls: use sg_next() to walk sg entries + - selftests: bpf: test_sockmap: handle file creation failures gracefully + - selftests: bpf: correct perror strings + - tipc: fix link name length check + - selftests: pmtu: use -oneline for ip route list cache + - r8169: fix jumbo configuration for RTL8168evl + - r8169: fix resume on cable plug-in + - ext4: add more paranoia checking in ext4_expand_extra_isize handling + - Revert "jffs2: Fix possible null-pointer dereferences in + jffs2_add_frag_to_fragtree()" + - crypto: talitos - Fix build error by selecting LIB_DES + - HID: core: check whether Usage Page item is after Usage ID items + - platform/x86: hp-wmi: Fix ACPI errors caused by too small buffer + - platform/x86: hp-wmi: Fix ACPI errors caused by passing 0 as input size + - Linux 5.4.2 + + * no HDMI video output since GDM greeter after linux-oem-osp1 version + 5.0.0-1026 (LP: #1852386) + - drm/i915: Add new CNL PCH ID seen on a CML platform + - SAUCE: drm/i915: Fix detection for a CMP-V PCH + + * Please add patch fixing RK818 ID detection (LP: #1853192) + - SAUCE: mfd: rk808: Fix RK818 ID template + + * Raydium Touchscreen on ThinkPad L390 does not work (LP: #1849721) + - HID: i2c-hid: fix no irq after reset on raydium 3118 + + * Touchpad doesn't work on Dell Inspiron 7000 2-in-1 (LP: #1851901) + - Revert "UBUNTU: SAUCE: mfd: intel-lpss: add quirk for Dell XPS 13 7390 + 2-in-1" + - lib: devres: add a helper function for ioremap_uc + - mfd: intel-lpss: Use devm_ioremap_uc for MMIO + + * Lenovo dock MAC Address pass through doesn't work in Ubuntu (LP: #1827961) + - r8152: Add macpassthru support for ThinkPad Thunderbolt 3 Dock Gen 2 + + * Disable unreliable HPET on CFL-H system (LP: #1852216) + - SAUCE: x86/intel: Disable HPET on Intel Coffe Lake H platforms + + * Miscellaneous Ubuntu changes + - update dkms package versions + - [Config] Enable virtualbox dkms build + - [Config] update annotations to match current configs + - SAUCE: Add exfat module to signature inclusion list + + * Miscellaneous upstream changes + - Bluetooth: Fix invalid-free in bcsp_close() + - ath9k_hw: fix uninitialized variable data + - ath10k: Fix a NULL-ptr-deref bug in ath10k_usb_alloc_urb_from_pipe + - ath10k: Fix HOST capability QMI incompatibility + - ath10k: restore QCA9880-AR1A (v1) detection + - Revert "Bluetooth: hci_ll: set operational frequency earlier" + - Revert "dm crypt: use WQ_HIGHPRI for the IO and crypt workqueues" + - md/raid10: prevent access of uninitialized resync_pages offset + - x86/insn: Fix awk regexp warnings + - x86/speculation: Fix incorrect MDS/TAA mitigation status + - x86/speculation: Fix redundant MDS mitigation message + - nbd: prevent memory leak + - x86/stackframe/32: Repair 32-bit Xen PV + - x86/xen/32: Make xen_iret_crit_fixup() independent of frame layout + - x86/xen/32: Simplify ring check in xen_iret_crit_fixup() + - x86/doublefault/32: Fix stack canaries in the double fault handler + - x86/pti/32: Size initial_page_table correctly + - x86/cpu_entry_area: Add guard page for entry stack on 32bit + - x86/entry/32: Fix IRET exception + - x86/entry/32: Use %ss segment where required + - x86/entry/32: Move FIXUP_FRAME after pushing %fs in SAVE_ALL + - x86/entry/32: Unwind the ESPFIX stack earlier on exception entry + - x86/entry/32: Fix NMI vs ESPFIX + - selftests/x86/mov_ss_trap: Fix the SYSENTER test + - selftests/x86/sigreturn/32: Invalidate DS and ES when abusing the kernel + - x86/pti/32: Calculate the various PTI cpu_entry_area sizes correctly, make + the CPU_ENTRY_AREA_PAGES assert precise + - x86/entry/32: Fix FIXUP_ESPFIX_STACK with user CR3 + - futex: Prevent robust futex exit race + - ALSA: usb-audio: Fix NULL dereference at parsing BADD + - ALSA: usb-audio: Fix Scarlett 6i6 Gen 2 port data + - media: vivid: Set vid_cap_streaming and vid_out_streaming to true + - media: vivid: Fix wrong locking that causes race conditions on streaming + stop + - media: usbvision: Fix invalid accesses after device disconnect + - media: usbvision: Fix races among open, close, and disconnect + - cpufreq: Add NULL checks to show() and store() methods of cpufreq + - futex: Move futex exit handling into futex code + - futex: Replace PF_EXITPIDONE with a state + - exit/exec: Seperate mm_release() + - futex: Split futex_mm_release() for exit/exec + - futex: Set task::futex_state to DEAD right after handling futex exit + - futex: Mark the begin of futex exit explicitly + - futex: Sanitize exit state handling + - futex: Provide state handling for exec() as well + - futex: Add mutex around futex exit + - futex: Provide distinct return value when owner is exiting + - futex: Prevent exit livelock + - media: uvcvideo: Fix error path in control parsing failure + - media: b2c2-flexcop-usb: add sanity checking + - media: cxusb: detect cxusb_ctrl_msg error in query + - media: imon: invalid dereference in imon_touch_event + - media: mceusb: fix out of bounds read in MCE receiver buffer + - ALSA: hda - Disable audio component for legacy Nvidia HDMI codecs + - USBIP: add config dependency for SGL_ALLOC + - usbip: tools: fix fd leakage in the function of read_attr_usbip_status + - usbip: Fix uninitialized symbol 'nents' in stub_recv_cmd_submit() + - usb-serial: cp201x: support Mark-10 digital force gauge + - USB: chaoskey: fix error case of a timeout + - appledisplay: fix error handling in the scheduled work + - USB: serial: mos7840: add USB ID to support Moxa UPort 2210 + - USB: serial: mos7720: fix remote wakeup + - USB: serial: mos7840: fix remote wakeup + - USB: serial: option: add support for DW5821e with eSIM support + - USB: serial: option: add support for Foxconn T77W968 LTE modules + - staging: comedi: usbduxfast: usbduxfast_ai_cmdtest rounding error + - powerpc/book3s64: Fix link stack flush on context switch + - KVM: PPC: Book3S HV: Flush link stack on guest exit to host kernel + - Linux 5.4.1 + + -- Seth Forshee Fri, 06 Dec 2019 15:53:53 -0600 + +linux (5.4.0-7.8) focal; urgency=medium + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/bpf: Comment out BPF_CORE_READ's which cause clang to + segfault + - Update nvidia-430 to nvidia-440 + - [Config] Enable nvidia dkms build + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.4 + + -- Andrea Righi Mon, 25 Nov 2019 15:02:30 +0100 + +linux (5.4.0-6.7) focal; urgency=medium + + * Miscellaneous Ubuntu changes + - update dkms package versions + - [Config] updateconfigs after rebase to 5.4-rc8 + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc7 + + -- Andrea Righi Mon, 18 Nov 2019 12:08:01 +0100 + +linux (5.4.0-5.6) focal; urgency=medium + + * refcount underflow and type confusion in shiftfs (LP: #1850867) // + CVE-2019-15793 + - SAUCE: shiftfs: Correct id translation for lower fs operations + + * refcount underflow and type confusion in shiftfs (LP: #1850867) // + CVE-2019-15792 + - SAUCE: shiftfs: prevent type confusion + + * refcount underflow and type confusion in shiftfs (LP: #1850867) // + CVE-2019-15791 + - SAUCE: shiftfs: Fix refcount underflow in btrfs ioctl handling + + * Some EFI systems fail to boot in efi_init() when booted via maas + (LP: #1851810) + - SAUCE: efi: efi_get_memory_map -- increase map headroom + + * seccomp: fix SECCOMP_USER_NOTIF_FLAG_CONTINUE test (LP: #1849281) + - SAUCE: seccomp: rework define for SECCOMP_USER_NOTIF_FLAG_CONTINUE + - SAUCE: seccomp: avoid overflow in implicit constant conversion + + * dkms artifacts may expire from the pool (LP: #1850958) + - [Packaging] dkms -- try launchpad librarian for pool downloads + - [Packaging] dkms -- dkms-build quieten wget verbiage + + * tsc marked unstable after entered PC10 on Intel CoffeeLake (LP: #1840239) + - SAUCE: x86/intel: Disable HPET on Intel Coffe Lake platforms + - SAUCE: x86/intel: Disable HPET on Intel Ice Lake platforms + + * shiftfs: prevent exceeding project quotas (LP: #1849483) + - SAUCE: shiftfs: drop CAP_SYS_RESOURCE from effective capabilities + + * shiftfs: fix fallocate() (LP: #1849482) + - SAUCE: shiftfs: setup correct s_maxbytes limit + + * The alsa hda driver is not loaded due to the missing of PCIID for Comet + Lake-S [8086:a3f0] (LP: #1852070) + - SAUCE: ALSA: hda: Add Cometlake-S PCI ID + + * Can't adjust brightness on DELL UHD dGPU AIO (LP: #1813877) + - SAUCE: platform/x86: dell-uart-backlight: add missing status command + - SAUCE: platform/x86: dell-uart-backlight: load driver by scalar status + - SAUCE: platform/x86: dell-uart-backlight: add force parameter + - SAUCE: platform/x86: dell-uart-backlight: add quirk for old platforms + + * s_iflags overlap prevents unprivileged overlayfs mounts (LP: #1851677) + - SAUCE: fs: Move SB_I_NOSUID to the top of s_iflags + + * ubuntu-aufs-modified mmap_region() breaks refcounting in overlayfs/shiftfs + error path (LP: #1850994) // CVE-2019-15794 + - SAUCE: shiftfs: Restore vm_file value when lower fs mmap fails + - SAUCE: ovl: Restore vm_file value when lower fs mmap fails + + * Miscellaneous Ubuntu changes + - [Debian] Convert update-aufs.sh to use aufs5 + - SAUCE: import aufs driver + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc7 + + -- Seth Forshee Wed, 13 Nov 2019 11:56:35 -0800 + +linux (5.4.0-4.5) focal; urgency=medium + + * High power consumption using 5.0.0-25-generic (LP: #1840835) + - PCI: Add a helper to check Power Resource Requirements _PR3 existence + - ALSA: hda: Allow HDA to be runtime suspended when dGPU is not bound to a + driver + - PCI: Fix missing inline for pci_pr3_present() + + * Fix signing of staging modules in eoan (LP: #1850234) + - [Packaging] Leave unsigned modules unsigned after adding .gnu_debuglink + + * [20.04 FEAT] Set Architecture Level (ALS) to z13 (LP: #1837525) + - [Config] s390x bump march to z13, with tune to z15 + + * Miscellaneous Ubuntu changes + - [Debian]: do not skip tests for linux-hwe-edge + - update dkms package versions + - [Config] re-enable zfs + - [Config] rename module virtio_fs to virtiofs + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc6 + + -- Andrea Righi Mon, 04 Nov 2019 15:12:02 +0100 + +linux (5.4.0-3.4) focal; urgency=medium + + * seccomp: fix SECCOMP_USER_NOTIF_FLAG_CONTINUE test (LP: #1849281) + - SAUCE: seccomp: fix SECCOMP_USER_NOTIF_FLAG_CONTINUE test + + * cloudimg: no iavf/i40evf module so no network available with SR-IOV enabled + cloud (LP: #1848481) + - [Packaging] include iavf/i40evf in generic + + * CVE-2019-17666 + - SAUCE: rtlwifi: Fix potential overflow on P2P code + + * Change Config Option CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE for s390x from yes + to no (LP: #1848492) + - [Config] Change Config Option CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE for s390x + from yes to no + + * Add Intel Comet Lake ethernet support (LP: #1848555) + - SAUCE: e1000e: Add support for Comet Lake + + * seccomp: add SECCOMP_USER_NOTIF_FLAG_CONTINUE (LP: #1847744) + - SAUCE: seccomp: add SECCOMP_USER_NOTIF_FLAG_CONTINUE + - SAUCE: seccomp: test SECCOMP_USER_NOTIF_FLAG_CONTINUE + + * drm/i915: Fix the issue of "azx_get_response timeout" for hdmi audio on ICL + platforms (LP: #1847192) + - SAUCE: drm/i915: Fix audio power up sequence for gen10+ display + - SAUCE: drm/i915: extend audio CDCLK>=2*BCLK constraint to more platforms + + * PM / hibernate: fix potential memory corruption (LP: #1847118) + - SAUCE: PM / hibernate: memory_bm_find_bit -- tighten node optimisation + + * [regression] NoNewPrivileges incompatible with Apparmor (LP: #1844186) + - SAUCE: apparmor: fix nnp subset test for unconfined + + * overlayfs: allow with shiftfs as underlay (LP: #1846272) + - SAUCE: overlayfs: allow with shiftfs as underlay + + * eoan: alsa/sof: Enable SOF_HDA link and codec (LP: #1848490) + - [Config] Fix SOF Kconfig options + + * linux won't build when new virtualbox version is present on the archive + (LP: #1848788) + - [Packaging]: download virtualbox from sources + + * Miscellaneous Ubuntu changes + - [Config] update annotations from configs + - [Config] updateconfigs after rebase to 5.4-rc5 + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc5 + + -- Seth Forshee Tue, 29 Oct 2019 12:01:27 -0500 + +linux (5.4.0-2.3) eoan; urgency=medium + + * Add installer support for iwlmvm adapters (LP: #1848236) + - d-i: Add iwlmvm to nic-modules + + * shiftfs: rework how shiftfs opens files (LP: #1846265) + - SAUCE: shiftfs: rework how shiftfs opens files + + * Miscellaneous Ubuntu changes + - update dkms package versions + - [Config] updateconfigs after rebase to 5.4-rc4 + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc4 + + -- Andrea Righi Mon, 21 Oct 2019 17:31:26 +0200 + +linux (5.4.0-1.2) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - update dkms package versions + - [Config] updateconfigs after rebase to 5.4-rc3 + - [Config] add flexfb, fbtft_device and rio500 to modules.ignore + - [Config] amd64: ignore fbtft and all dependent modules + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc3 + + -- Andrea Righi Mon, 14 Oct 2019 19:48:52 +0200 + +linux (5.4.0-0.1) eoan; urgency=medium + + * Enable the Dragonboards out of Eoan/master arm64 kernel (LP: #1846704) + - [Packaging] arm64: snapdragon: introduce a snapdragon flavour + - [Packaging] arm64: snapdragon: switch kernel format to Image + - [Config] arm64: snapdragon: CONFIG_PINCTRL_MSM8916=y + - [Config] arm64: snapdragon: CONFIG_PINCTRL_MSM8994=y + - [Config] arm64: snapdragon: CONFIG_PINCTRL_MSM8996=y + - [Config] arm64: snapdragon: CONFIG_PINCTRL_MSM8998=y + - [Config] arm64: snapdragon: CONFIG_REGULATOR_QCOM_RPMH=y + - [Config] arm64: snapdragon: CONFIG_QCOM_BAM_DMA=y + - [Config] arm64: snapdragon: CONFIG_QCOM_HIDMA_MGMT=y + - [Config] arm64: snapdragon: CONFIG_QCOM_HIDMA=y + - [Config] arm64: snapdragon: CONFIG_COMMON_CLK_QCOM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_CLK_RPMH=y + - [Config] arm64: snapdragon: CONFIG_MSM_GCC_8916=y + - [Config] arm64: snapdragon: CONFIG_MSM_GCC_8994=y + - [Config] arm64: snapdragon: CONFIG_MSM_MMCC_8996=y + - [Config] arm64: snapdragon: CONFIG_MSM_GCC_8998=y + - [Config] arm64: snapdragon: CONFIG_HWSPINLOCK_QCOM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_APCS_IPC=y + - [Config] arm64: snapdragon: CONFIG_RPMSG_QCOM_GLINK_RPM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_GENI_SE=y + - [Config] arm64: snapdragon: CONFIG_QCOM_SMEM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_SMD_RPM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_SMP2P=y + - [Config] arm64: snapdragon: CONFIG_QCOM_SMSM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_QFPROM=y + - [Config] arm64: snapdragon: CONFIG_SERIAL_QCOM_GENI=y + - [Config] arm64: snapdragon: CONFIG_QCOM_TSENS=y + - [Config] arm64: snapdragon: CONFIG_REGULATOR_QCOM_SMD_RPM=y + - [Config] arm64: snapdragon: CONFIG_QCOM_CLK_SMD_RPM=y + - [Config] arm64: snapdragon: CONFIG_RPMSG_QCOM_SMD=y + - [Config] arm64: snapdragon: CONFIG_MFD_QCOM_RPM=y + - [Config] arm64: snapdragon: CONFIG_SCSI_UFSHCD=y + - [Config] arm64: snapdragon: CONFIG_SCSI_UFSHCD_PLATFORM=y + - [Config] arm64: snapdragon: CONFIG_SCSI_UFS_HISI=y + - [Config] arm64: snapdragon: CONFIG_MMC_SDHCI=y + - [Config] arm64: snapdragon: CONFIG_MMC_SDHCI_PLTFM=y + - [Config] arm64: snapdragon: CONFIG_MMC_SDHCI_MSM=y + - [Config] arm64: snapdragon: CONFIG_REGULATOR_QCOM_SPMI=y + - [Config] arm64: snapdragon: CONFIG_PINCTRL_QCOM_SPMI_PMIC=y + - [Config] arm64: snapdragon: CONFIG_PHY_QCOM_USB_HS=y + - [Config] arm64: snapdragon: CONFIG_PHY_QCOM_QMP=y + - [Config] arm64: snapdragon: CONFIG_PHY_QCOM_UFS=y + - [Config] arm64: snapdragon: CONFIG_PHY_QCOM_USB_HSIC=y + - [Config] arm64: snapdragon: CONFIG_USB_CHIPIDEA_OF=y + - [Config] arm64: snapdragon: CONFIG_USB_EHCI_HCD_PLATFORM=y + - [Config] arm64: snapdragon: CONFIG_EXTCON_USB_GPIO=y + - [Config] arm64: snapdragon: CONFIG_REGULATOR_FIXED_VOLTAGE=y + - [Config] arm64: snapdragon: CONFIG_LEDS_GPIO=y + - [Config] arm64: snapdragon: CONFIG_USB_HSIC_USB3503=y + - [Config] arm64: snapdragon: CONFIG_USB_NET_DRIVERS=y + - [Config] arm64: snapdragon: CONFIG_USB_OTG=y + - [Config] arm64: snapdragon: CONFIG_USB_XHCI_PLATFORM=y + - [Config] arm64: snapdragon: CONFIG_USB_OHCI_HCD_PLATFORM=y + - [Config] arm64: snapdragon: CONFIG_USB_MUSB_HDRC=y + - [Config] arm64: snapdragon: CONFIG_USB_DWC3=y + - [Config] arm64: snapdragon: CONFIG_USB_DWC3_PCI=y + - [Config] arm64: snapdragon: CONFIG_USB_DWC3_OF_SIMPLE=y + - [Config] arm64: snapdragon: CONFIG_USB_DWC3_QCOM=y + - [Config] arm64: snapdragon: CONFIG_LEDS_PWM=y + - [Config] arm64: snapdragon: CONFIG_LEDS_TRIGGER_HEARTBEAT=y + - [Config] arm64: snapdragon: CONFIG_LEDS_TRIGGER_DEFAULT_ON=y + - [Config] arm64: snapdragon: CONFIG_QCOM_A53PLL=y + - [Config] arm64: snapdragon: CONFIG_QCOM_CLK_APCS_MSM8916=y + - [Config] arm64: snapdragon: CONFIG_NLS_ISO8859_1=y + - [Config] arm64: snapdragon: CONFIG_USB_USBNET=y + - [Config] arm64: snapdragon: CONFIG_CRYPTO_DEV_QCOM_RNG=y + - [Config] arm64: snapdragon: CONFIG_POWER_RESET_QCOM_PON=y + - [Config] arm64: snapdragon: CONFIG_INPUT_PM8941_PWRKEY=y + - [Config] arm64: snapdragon: CONFIG_KEYBOARD_GPIO=y + - [Config] arm64: snapdragon: CONFIG_RTC_DRV_PM8XXX=y + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs after rebase to 5.4-rc2 + - SAUCE: (lockdown) Make get_cert_list() not complain about cert lists that + aren't present. + - SAUCE: (lockdown) Add efi_status_to_str() and rework efi_status_to_err(). + - SAUCE: (lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (lockdown) security: lockdown: expose a hook to lock the kernel down + - SAUCE: (lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure boot + mode + - SAUCE: (lockdown) efi: Lock down the kernel if booted in secure boot mode + - SAUCE: (lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (lockdown) KEYS: Make use of platform keyring for module signature + verify + - SAUCE: (lockdown) arm64: Allow locking down the kernel under EFI secure boot + - SAUCE: (lockdown) security: lockdown: Make + CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT more generic + - SAUCE: (lockdown) s390/ipl: lockdown kernel when booted secure + - [Config] Enable lockdown under secure boot + - SAUCE: import aufs driver + - SAUCE: aufs: rwsem owner changed to atmoic_long_t in 5.3 + - SAUCE: aufs: add "WITH Linux-syscall-note" to SPDX tag of uapi headers + - [Config] enable aufs + - update dkms package versions + - [Config] disable zfs + - [Config] disable nvidia dkms build + - [Config] disable virtualbox dkms build + - [Debian] Generate stub reconstruct for -rc kernels + - Revert "UBUNTU: SAUCE: (namespace) block_dev: Forbid unprivileged mounting + when device is opened for writing" + - Revert "UBUNTU: SAUCE: (namespace) ext4: Add module parameter to enable user + namespace mounts" + - Revert "UBUNTU: SAUCE: (namespace) ext4: Add support for unprivileged mounts + from user namespaces" + - Revert "UBUNTU: SAUCE: (namespace) mtd: Check permissions towards mtd block + device inode when mounting" + - Revert "UBUNTU: SAUCE: (namespace) block_dev: Check permissions towards + block device inode when mounting" + - Revert "UBUNTU: SAUCE: (namespace) block_dev: Support checking inode + permissions in lookup_bdev()" + + [ Upstream Kernel Changes ] + + * Rebase to v5.4-rc2 + + -- Seth Forshee Fri, 11 Oct 2019 16:42:41 -0500 + +linux (5.4.0-0.0) eoan; urgency=medium + + * Dummy entry. + + -- Seth Forshee Tue, 08 Oct 2019 09:59:00 -0500 + +linux (5.3.0-17.18) eoan; urgency=medium + + * eoan/linux: 5.3.0-17.18 -proposed tracker (LP: #1846641) + + * CVE-2019-17056 + - nfc: enforce CAP_NET_RAW for raw sockets + + * CVE-2019-17055 + - mISDN: enforce CAP_NET_RAW for raw sockets + + * CVE-2019-17054 + - appletalk: enforce CAP_NET_RAW for raw sockets + + * CVE-2019-17053 + - ieee802154: enforce CAP_NET_RAW for raw sockets + + * CVE-2019-17052 + - ax25: enforce CAP_NET_RAW for raw sockets + + * CVE-2019-15098 + - ath6kl: fix a NULL-ptr-deref bug in ath6kl_usb_alloc_urb_from_pipe() + + * xHCI on AMD Stoney Ridge cannot detect USB 2.0 or 1.1 devices. + (LP: #1846470) + - x86/PCI: Avoid AMD FCH XHCI USB PME# from D0 defect + + * Re-enable linux-libc-dev build on i386 (LP: #1846508) + - [Packaging] Build only linux-libc-dev for i386 + - [Debian] final-checks -- ignore archtictures with no binaries + + * arm64: loop on boot after installing linux-generic-hwe-18.04-edge/bionic- + proposed (LP: #1845820) + - [Config] Disable CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT + + * Revert ESE DASD discard support (LP: #1846219) + - SAUCE: Revert "s390/dasd: Add discard support for ESE volumes" + + * Miscellaneous Ubuntu changes + - update dkms package versions + + -- Seth Forshee Thu, 03 Oct 2019 16:57:05 -0500 + +linux (5.3.0-16.17) eoan; urgency=medium + + * eoan/linux: 5.3.0-16.17 -proposed tracker (LP: #1846204) + + * zfs fails to build on s390x with debug symbols enabled (LP: #1846143) + - SAUCE: s390: Mark atomic const ops always inline + + -- Seth Forshee Tue, 01 Oct 2019 07:46:43 -0500 + +linux (5.3.0-15.16) eoan; urgency=medium + + * eoan/linux: 5.3.0-15.16 -proposed tracker (LP: #1845987) + + * Drop i386 build for 19.10 (LP: #1845714) + - [Packaging] Remove x32 arch references from control files + - [Debian] final-checks -- Get arch list from debian/control + + * ZFS kernel modules lack debug symbols (LP: #1840704) + - [Debian] Fix conditional for setting zfs debug package path + + * Use pyhon3-sphinx instead of python-sphinx for building html docs + (LP: #1845808) + - [Packaging] Update sphinx build dependencies to python3 packages + + * Kernel panic with 19.10 beta image (LP: #1845454) + - efi/tpm: Don't access event->count when it isn't mapped. + - efi/tpm: don't traverse an event log with no events + - efi/tpm: only set efi_tpm_final_log_size after successful event log parsing + + -- Seth Forshee Mon, 30 Sep 2019 11:57:20 -0500 + +linux (5.3.0-14.15) eoan; urgency=medium + + * eoan/linux: 5.3.0-14.15 -proposed tracker (LP: #1845728) + + * Drop i386 build for 19.10 (LP: #1845714) + - [Debian] Remove support for producing i386 kernels + - [Debian] Don't use CROSS_COMPILE for i386 configs + + * udevadm trigger will fail when trying to add /sys/devices/vio/ + (LP: #1845572) + - SAUCE: powerpc/vio: drop bus_type from parent device + + * Trying to online dasd drive results in invalid input/output from the kernel + on z/VM (LP: #1845323) + - SAUCE: s390/dasd: Fix error handling during online processing + + * intel-lpss driver conflicts with write-combining MTRR region (LP: #1845584) + - SAUCE: mfd: intel-lpss: add quirk for Dell XPS 13 7390 2-in-1 + + * Support Hi1620 zip hw accelerator (LP: #1845355) + - [Config] Enable HiSilicon QM/ZIP as modules + - crypto: hisilicon - add queue management driver for HiSilicon QM module + - crypto: hisilicon - add hardware SGL support + - crypto: hisilicon - add HiSilicon ZIP accelerator support + - crypto: hisilicon - add SRIOV support for ZIP + - Documentation: Add debugfs doc for hisi_zip + - crypto: hisilicon - add debugfs for ZIP and QM + - MAINTAINERS: add maintainer for HiSilicon QM and ZIP controller driver + - crypto: hisilicon - fix kbuild warnings + - crypto: hisilicon - add dependency for CRYPTO_DEV_HISI_ZIP + - crypto: hisilicon - init curr_sgl_dma to fix compile warning + - crypto: hisilicon - add missing single_release + - crypto: hisilicon - fix error handle in hisi_zip_create_req_q + - crypto: hisilicon - Fix warning on printing %p with dma_addr_t + - crypto: hisilicon - Fix return value check in hisi_zip_acompress() + - crypto: hisilicon - avoid unused function warning + + * SafeSetID LSM should be built but disabled by default (LP: #1845391) + - LSM: SafeSetID: Stop releasing uninitialized ruleset + - [Config] Build SafeSetID LSM but don't enable it by default + + * CONFIG_LSM should not specify loadpin since it is not built (LP: #1845383) + - [Config] loadpin shouldn't be in CONFIG_LSM + + * Add new pci-id's for CML-S, ICL (LP: #1845317) + - drm/i915/icl: Add missing device ID + - drm/i915/cml: Add Missing PCI IDs + + * Thunderbolt support for ICL (LP: #1844680) + - thunderbolt: Correct path indices for PCIe tunnel + - thunderbolt: Move NVM upgrade support flag to struct icm + - thunderbolt: Use 32-bit writes when writing ring producer/consumer + - thunderbolt: Do not fail adding switch if some port is not implemented + - thunderbolt: Hide switch attributes that are not set + - thunderbolt: Expose active parts of NVM even if upgrade is not supported + - thunderbolt: Add support for Intel Ice Lake + - ACPI / property: Add two new Thunderbolt property GUIDs to the list + + * Ubuntu 19.10 - Additional PCI patch and fix (LP: #1844668) + - s390/pci: fix MSI message data + + * Enhanced Hardware Support - Finalize Naming (LP: #1842774) + - s390: add support for IBM z15 machines + - [Config] CONFIG_MARCH_Z15=n, CONFIG_TUNE_Z15=n + + * Eoan update: v5.3.1 upstream stable release (LP: #1845642) + - USB: usbcore: Fix slab-out-of-bounds bug during device reset + - media: tm6000: double free if usb disconnect while streaming + - phy: renesas: rcar-gen3-usb2: Disable clearing VBUS in over-current + - ip6_gre: fix a dst leak in ip6erspan_tunnel_xmit + - net/sched: fix race between deactivation and dequeue for NOLOCK qdisc + - net_sched: let qdisc_put() accept NULL pointer + - udp: correct reuseport selection with connected sockets + - xen-netfront: do not assume sk_buff_head list is empty in error handling + - net: dsa: Fix load order between DSA drivers and taggers + - net: stmmac: Hold rtnl lock in suspend/resume callbacks + - KVM: coalesced_mmio: add bounds checking + - Documentation: sphinx: Add missing comma to list of strings + - firmware: google: check if size is valid when decoding VPD data + - serial: sprd: correct the wrong sequence of arguments + - tty/serial: atmel: reschedule TX after RX was started + - nl80211: Fix possible Spectre-v1 for CQM RSSI thresholds + - Revert "arm64: Remove unnecessary ISBs from set_{pte,pmd,pud}" + - ovl: fix regression caused by overlapping layers detection + - phy: qcom-qmp: Correct ready status, again + - floppy: fix usercopy direction + - media: technisat-usb2: break out of loop at end of buffer + - Linux 5.3.1 + + * ZFS kernel modules lack debug symbols (LP: #1840704) + - [Debian]: Remove hardcoded $(pkgdir) in debug symbols handling + - [Debian]: Handle debug symbols for modules in extras too + - [Debian]: Check/link modules with debug symbols after DKMS modules + - [Debian]: Warn about modules without debug symbols + - [Debian]: dkms-build: new parameter for debug package directory + - [Debian]: dkms-build: zfs: support for debug symbols + - [Debian]: dkms-build: Avoid executing post-processor scripts twice + - [Debian]: dkms-build: Move zfs special-casing into configure script + + * /proc/self/maps paths missing on live session (was vlc won't start; eoan + 19.10 & bionic 18.04 ubuntu/lubuntu/kubuntu/xubuntu/ubuntu-mate dailies) + (LP: #1842382) + - SAUCE: Revert "UBUNTU: SAUCE: shiftfs: enable overlayfs on shiftfs" + + -- Seth Forshee Fri, 27 Sep 2019 16:08:06 -0500 + +linux (5.3.0-13.14) eoan; urgency=medium + + * eoan/linux: 5.3.0-13.14 -proposed tracker (LP: #1845105) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * Miscellaneous Ubuntu changes + - [Debian] Remove binutils-dev build dependency + + -- Seth Forshee Mon, 23 Sep 2019 19:26:43 -0500 + +linux (5.3.0-12.13) eoan; urgency=medium + + * Change kernel compression method to improve boot speed (LP: #1840934) + - [Packaging] Add lz4 build dependency for s390x + + * Miscellaneous Ubuntu changes + - SAUCE: Remove spl and zfs source + + -- Seth Forshee Tue, 17 Sep 2019 13:36:26 +0200 + +linux (5.3.0-11.12) eoan; urgency=medium + + * eoan/linux: 5.3.0-11.12 -proposed tracker (LP: #1844144) + + * Suspend to RAM(S3) does not wake up for latest megaraid and mpt3sas + adapters(SAS3.5 onwards) (LP: #1838751) + - PCI: Restore Resizable BAR size bits correctly for 1MB BARs + + * s390/setup: Actually init kernel lock down (LP: #1843961) + - SAUCE: (lockdown) s390/setup: Actually init kernel lock down + + * cherrypick has_sipl fix (LP: #1843960) + - SAUCE: s390/sclp: Fix bit checked for has_sipl + + * Change kernel compression method to improve boot speed (LP: #1840934) + - [Config]: Switch kernel compression from LZO to LZ4 on s390x + + * Installation fails on eoan/PowerVM : missing /dev/nvram (LP: #1837726) + - [Config] CONFIG_NVRAM=y for ppc64el + + * Miscellaneous Ubuntu changes + - [Config]: remove nvram from ppc64el modules ABI + - [Config] Update annotations for recent config changes + - SAUCE: sched: Add __ASSEMBLY__ guards around struct clone_args + - SAUCE: i2c: qcom-geni: Disable DMA processing on the Lenovo Yoga C630 + - SAUCE: arm64: dts: qcom: Add Lenovo Yoga C630 + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.3 + + -- Paolo Pisati Mon, 16 Sep 2019 16:18:27 +0200 + +linux (5.3.0-10.11) eoan; urgency=medium + + * eoan/linux: 5.3.0-10.11 -proposed tracker (LP: #1843232) + + * No sound inputs from the external microphone and headset on a Dell machine + (LP: #1842265) + - SAUCE: ALSA: hda - Expand pin_match function to match upcoming new tbls + - SAUCE: ALSA: hda - Define a fallback_pin_fixup_tbl for alc269 family + + * Horizontal corrupted line at top of screen caused by framebuffer compression + (LP: #1840236) + - SAUCE: drm/i915/fbc: disable framebuffer compression on IceLake + + * Add bpftool to linux-tools-common (LP: #1774815) + - [Debian] package bpftool in linux-tools-common + + * Miscellaneous Ubuntu changes + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc8 + + -- Paolo Pisati Mon, 09 Sep 2019 10:00:41 +0200 + +linux (5.3.0-9.10) eoan; urgency=medium + + * eoan/linux: 5.3.0-9.10 -proposed tracker (LP: #1842393) + + * shiftfs: mark kmem_cache as reclaimable (LP: #1842059) + - SAUCE: shiftfs: mark slab objects SLAB_RECLAIM_ACCOUNT + + * shiftfs: drop entries from cache on unlink (LP: #1841977) + - SAUCE: shiftfs: fix buggy unlink logic + + * Fix touchpad IRQ storm after S3 (LP: #1841396) + - pinctrl: intel: remap the pin number to gpio offset for irq enabled pin + + * Please include DTBs for arm64 laptops (LP: #1842050) + - arm64: dts: qcom: Add Lenovo Miix 630 + - arm64: dts: qcom: Add HP Envy x2 + - arm64: dts: qcom: Add Asus NovaGo TP370QL + + * Miscellaneous Ubuntu changes + - SAUCE: import aufs driver + - [Packaging]: ignore vbox modules when vbox is disabled + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc7 + + -- Paolo Pisati Tue, 03 Sep 2019 10:27:33 +0200 + +linux (5.3.0-8.9) eoan; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] resync getabis + + * Change kernel compression method to improve boot speed (LP: #1840934) + - [Config] change kernel compression method to improve boot speed + - [Packaging] add build dependencies for compression algorithms + + * realtek r8822be kernel module fails after update to linux kernel-headers + 5.0.0-21 (LP: #1838133) + - rtw88: Fix misuse of GENMASK macro + - rtw88: pci: Rearrange the memory usage for skb in RX ISR + - rtw88: pci: Use DMA sync instead of remapping in RX ISR + - rtw88: debug: dump tx power indexes in use + - rtw88: use txpwr_lmt_cfg_pair struct, not arrays + - rtw88: pci: remove set but not used variable 'ip_sel' + - rtw88: allow c2h operation in irq context + - rtw88: enclose c2h cmd handle with mutex + - rtw88: add BT co-existence support + - SAUCE: rtw88: pci: enable MSI interrupt + + * VIMC module not available (CONFIG_VIDEO_VIMC not set) (LP: #1831482) + - [Config] Enable VIMC module + + * Goodix touchpad may drop first input event (LP: #1840075) + - Revert "UBUNTU: SAUCE: i2c: designware: add G3 3590 into i2c quirk" + - Revert "UBUNTU: SAUCE: i2c: designware: add Inpiron 7591 into i2c quirk" + - Revert "UBUNTU: SAUCE: i2c: designware: add Inpiron/Vostro 7590 into i2c + quirk" + - Revert "UBUNTU: SAUCE: i2c: designware: Add disable runtime pm quirk" + - mfd: intel-lpss: Remove D3cold delay + + * Include Sunix serial/parallel driver (LP: #1826716) + - serial: 8250_pci: Add support for Sunix serial boards + - parport: parport_serial: Add support for Sunix Multi I/O boards + + * enable lockdown on s390x when Secure IPL is performed (LP: #1839622) + - SAUCE: (lockdown) s390/ipl: lockdown kernel when booted secure + - Ubuntu: [Config] Enable CONFIG_LOCK_DOWN_KERNEL on s390x. + + * UBUNTU: SAUCE: shiftfs: pass correct point down (LP: #1837231) + - SAUCE: shiftfs: pass correct point down + + * shiftfs: add O_DIRECT support (LP: #1837223) + - SAUCE: shiftfs: add O_DIRECT support + + * Miscellaneous Ubuntu changes + - [Config] enable secureboot signing on s390x + - [Config] CONFIG_TEST_BLACKHOLE_DEV=m + - SAUCE: selftests: fib_tests: assign address to dummy1 for rp_filter tests + - [Debian] disable dkms builds for autopktest rebuilds + - update dkms package versions + - [Config] updateconfigs after v5.3-rc6 rebase + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc5 + + -- Paolo Pisati Mon, 26 Aug 2019 10:09:42 +0200 + +linux (5.3.0-7.8) eoan; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] resync getabis + + * Miscellaneous Ubuntu changes + - [Config] updateconfigs after v5.3-rc5 rebase + - remove missing module after updateconfigs + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc5 + + -- Paolo Pisati Mon, 19 Aug 2019 15:31:24 +0200 + +linux (5.3.0-6.7) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/bpf: prevent headers to be compiled as C code + + -- Seth Forshee Wed, 14 Aug 2019 13:25:01 -0500 + +linux (5.3.0-5.6) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - update dkms package versions + - [Config] enable zfs build + + -- Seth Forshee Tue, 13 Aug 2019 09:16:06 -0500 + +linux (5.3.0-4.5) eoan; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] resync getabis + - [Packaging] update helper scripts + + * bcache: bch_allocator_thread(): hung task timeout (LP: #1784665) // Tight + timeout for bcache removal causes spurious failures (LP: #1796292) + - SAUCE: bcache: fix deadlock in bcache_allocator + + * shiftfs: allow overlayfs (LP: #1838677) + - SAUCE: shiftfs: enable overlayfs on shiftfs + + * Miscellaneous Ubuntu changes + - SAUCE: Revert "kbuild: modpost: do not parse unnecessary rules for vmlinux + modpost" + - update dkms package versions + - enable nvidia dkms build + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc4 + + -- Seth Forshee Mon, 12 Aug 2019 10:41:27 -0500 + +linux (5.3.0-3.4) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - update dkms package versions + - SAUCE: aufs: add "WITH Linux-syscall-note" to SPDX tag of uapi headers + - [Config] add mux-* to modules.ignore + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc3 + + -- Paolo Pisati Mon, 05 Aug 2019 18:17:09 +0200 + +linux (5.3.0-2.3) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - [Packaging] add build dependincy on fontconfig + + -- Seth Forshee Mon, 29 Jul 2019 12:18:46 -0400 + +linux (5.3.0-1.2) eoan; urgency=medium + + * System does not auto detect disconnection of external monitor (LP: #1835001) + - SAUCE: drm/i915: Add support for retrying hotplug + - SAUCE: drm/i915: Enable hotplug retry + + * Please enable CONFIG_SCSI_UFS_QCOM as a module on arm64 (LP: #1837332) + - [Config] Enable CONFIG_SCSI_UFS_QCOM as a module on arm64. + + * Add arm64 CONFIG_ARCH_MESON=y and related configs Edit (LP: #1820530) + - [Config] enable ARCH_MESON + - remove missing module + - [Config] update annotations after enabling ARCH_MESON for arm64 + + * Miscellaneous Ubuntu changes + - SAUCE: KVM: PPC: comment implicit fallthrough + - update dkms package versions + - [Config] enable vbox dkms build + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc2 + + -- Seth Forshee Sun, 28 Jul 2019 23:10:16 -0400 + +linux (5.3.0-0.1) eoan; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] resync git-ubuntu-log + + * Miscellaneous Ubuntu changes + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the kernel is + locked down + - SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the kernel is locked + down + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and + KEXEC_SIG_FORCE + - SAUCE: (efi-lockdown) kexec_file: Restrict at runtime if the kernel is + locked down + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Lock down module params that specify hardware + parameters (eg. ioport) + - SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the testmmiotrace module + - SAUCE: (efi-lockdown) Lock down /proc/kcore + - SAUCE: (efi-lockdown) Lock down kprobes + - SAUCE: (efi-lockdown) bpf: Restrict kernel image access functions when the + kernel is locked down + - SAUCE: (efi-lockdown) Lock down perf + - SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the kernel is locked + down + - SAUCE: (efi-lockdown) lockdown: Print current->comm in restriction messages + - SAUCE: (efi-lockdown) kexec: Allow kexec_file() with appropriate IMA policy + when locked down + - SAUCE: (efi-lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (efi-lockdown) debugfs: avoid EPERM when no open file operation + defined + - SAUCE: (efi-lockdown) Make get_cert_list() not complain about cert lists + that aren't present. + - SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err(). + - SAUCE: (efi-lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) KEYS: Make use of platform keyring for module + signature verify + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) furter KEXEC_VERIFY_SIG -> KEXEC_SIG updates + - SAUCE: (efi-lockdown) arm64: add kernel config option to lock down when in + Secure Boot mode + - SAUCE: import aufs driver + - SAUCE: aufs: rwsem owner changed to atmoic_long_t in 5.3 + - [Config] disable zfs dkms build + - [Config] disable nvidia dkms build + - [Config] disable vbox dkms build + - SAUCE: perf diff: use llabs for s64 vaules + + [ Upstream Kernel Changes ] + + * Rebase to v5.3-rc1 + + -- Seth Forshee Tue, 23 Jul 2019 21:45:44 -0500 + +linux (5.3.0-0.0) eoan; urgency=medium + + * Dummy entry. + + -- Seth Forshee Mon, 22 Jul 2019 10:19:04 -0500 + +linux (5.2.0-9.10) eoan; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * input/mouse: alps trackpoint-only device doesn't work (LP: #1836752) + - SAUCE: Input: alps - don't handle ALPS cs19 trackpoint-only device + - SAUCE: Input: alps - fix a mismatch between a condition check and its + comment + + * System does not auto detect disconnection of external monitor (LP: #1835001) + - SAUCE: drm/i915: Add support for retrying hotplug + - SAUCE: drm/i915: Enable hotplug retry + + * alsa/hdmi: add icelake hdmi audio support for a Dell machine (LP: #1836916) + - SAUCE: ALSA: hda/hdmi - Remove duplicated define + - SAUCE: ALSA: hda/hdmi - Fix i915 reverse port/pin mapping + + * First click on Goodix touchpad doesn't be recognized after runtime suspended + (LP: #1836836) + - SAUCE: i2c: designware: add G3 3590 into i2c quirk + + * ixgbe{vf} - Physical Function gets IRQ when VF checks link state + (LP: #1836760) + - ixgbevf: Use cached link state instead of re-reading the value for ethtool + + * Doing multiple squashfs (and other loop?) mounts in parallel breaks + (LP: #1836914) + - SAUCE: Revert "loop: Don't change loop device under exclusive opener" + + * hibmc-drm Causes Unreadable Display for Huawei amd64 Servers (LP: #1762940) + - SAUCE: Make CONFIG_DRM_HISI_HIBMC depend on ARM64 + - [Config] Set CONFIG_DRM_HISI_HIBMC to arm64 only + - [Config] add hibmc-drm to modules.ignore + + * hda/realtek: can't detect external mic on a Dell machine (LP: #1836755) + - ALSA: hda/realtek: apply ALC891 headset fixup to one Dell machine + + * Enable Armada SOCs and MVPP2 NIC driver for disco/generic arm64 + (LP: #1835054) + - [Config] Enable Armada SOCs and MVPP2 NIC driver for disco/generic arm64 + + * Unhide Nvidia HDA audio controller (LP: #1836308) + - PCI: Enable NVIDIA HDA controllers + + * Intel ethernet I219 may wrongly detect connection speed as 10Mbps + (LP: #1836177) + - e1000e: Make watchdog use delayed work + + * Sometimes touchpad(goodix) can't use tap function (LP: #1836020) + - SAUCE: i2c: designware: add Inpiron/Vostro 7590 into i2c quirk + - SAUCE: i2c: designware: add Inpiron 7591 into i2c quirk + + * Intel ethernet I219 has slow RX speed (LP: #1836152) + - e1000e: add workaround for possible stalled packet + - e1000e: disable force K1-off feature + + * bcache: risk of data loss on I/O errors in backing or caching devices + (LP: #1829563) + - Revert "bcache: set CACHE_SET_IO_DISABLE in bch_cached_dev_error()" + + * bnx2x driver causes 100% CPU load (LP: #1832082) + - bnx2x: Prevent ptp_task to be rescheduled indefinitely + + * fcf-protection=none patch with new version + - Revert "UBUNTU: SAUCE: kbuild: add -fcf-protection=none to retpoline flags" + - SAUCE: kbuild: add -fcf-protection=none when using retpoline flags + + * CVE-2019-12614 + - powerpc/pseries/dlpar: Fix a missing check in dlpar_parse_cc_property() + + * Eoan update: v5.2.1 upstream stable release (LP: #1836622) + - crypto: lrw - use correct alignmask + - crypto: talitos - rename alternative AEAD algos. + - fscrypt: don't set policy for a dead directory + - udf: Fix incorrect final NOT_ALLOCATED (hole) extent length + - media: stv0297: fix frequency range limit + - ALSA: usb-audio: Fix parse of UAC2 Extension Units + - ALSA: hda/realtek - Headphone Mic can't record after S3 + - tpm: Actually fail on TPM errors during "get random" + - tpm: Fix TPM 1.2 Shutdown sequence to prevent future TPM operations + - block: fix .bi_size overflow + - block, bfq: NULL out the bic when it's no longer valid + - perf intel-pt: Fix itrace defaults for perf script + - perf auxtrace: Fix itrace defaults for perf script + - perf intel-pt: Fix itrace defaults for perf script intel-pt documentation + - perf pmu: Fix uncore PMU alias list for ARM64 + - perf thread-stack: Fix thread stack return from kernel for kernel-only case + - perf header: Assign proper ff->ph in perf_event__synthesize_features() + - x86/ptrace: Fix possible spectre-v1 in ptrace_get_debugreg() + - x86/tls: Fix possible spectre-v1 in do_get_thread_area() + - Documentation: Add section about CPU vulnerabilities for Spectre + - Documentation/admin: Remove the vsyscall=native documentation + - mwifiex: Don't abort on small, spec-compliant vendor IEs + - USB: serial: ftdi_sio: add ID for isodebug v1 + - USB: serial: option: add support for GosunCn ME3630 RNDIS mode + - Revert "serial: 8250: Don't service RX FIFO if interrupts are disabled" + - p54usb: Fix race between disconnect and firmware loading + - usb: gadget: f_fs: data_len used before properly set + - usb: gadget: ether: Fix race between gether_disconnect and rx_submit + - usb: dwc2: use a longer AHB idle timeout in dwc2_core_reset() + - usb: renesas_usbhs: add a workaround for a race condition of workqueue + - drivers/usb/typec/tps6598x.c: fix portinfo width + - drivers/usb/typec/tps6598x.c: fix 4CC cmd write + - p54: fix crash during initialization + - staging: comedi: dt282x: fix a null pointer deref on interrupt + - staging: wilc1000: fix error path cleanup in wilc_wlan_initialize() + - staging: bcm2835-camera: Restore return behavior of ctrl_set_bitrate() + - staging: comedi: amplc_pci230: fix null pointer deref on interrupt + - staging: mt7621-pci: fix PCIE_FTS_NUM_LO macro + - HID: Add another Primax PIXART OEM mouse quirk + - lkdtm: support llvm-objcopy + - binder: fix memory leak in error path + - binder: return errors from buffer copy functions + - iio: adc: stm32-adc: add missing vdda-supply + - coresight: Potential uninitialized variable in probe() + - coresight: etb10: Do not call smp_processor_id from preemptible + - coresight: tmc-etr: Do not call smp_processor_id() from preemptible + - coresight: tmc-etr: alloc_perf_buf: Do not call smp_processor_id from + preemptible + - coresight: tmc-etf: Do not call smp_processor_id from preemptible + - carl9170: fix misuse of device driver API + - Revert "x86/build: Move _etext to actual end of .text" + - VMCI: Fix integer overflow in VMCI handle arrays + - staging: vchiq_2835_arm: revert "quit using custom down_interruptible()" + - staging: vchiq: make wait events interruptible + - staging: vchiq: revert "switch to wait_for_completion_killable" + - staging: fsl-dpaa2/ethsw: fix memory leak of switchdev_work + - staging: bcm2835-camera: Replace spinlock protecting context_map with mutex + - staging: bcm2835-camera: Ensure all buffers are returned on disable + - staging: bcm2835-camera: Remove check of the number of buffers supplied + - staging: bcm2835-camera: Handle empty EOS buffers whilst streaming + - staging: rtl8712: reduce stack usage, again + - Linux 5.2.1 + - [Config] updateconfigs after v5.2.1 stable update + + * fcf-protection=none patch with upstream version + - Revert "UBUNTU: SAUCE: add -fcf-protection=none to retpoline flags" + - SAUCE: kbuild: add -fcf-protection=none to retpoline flags + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/ftrace: avoid failure when trying to probe a notrace + function + - SAUCE: selftests/powerpc/ptrace: fix build failure + - update dkms package versions + - [Packaging] add zlua to zfs-modules.ignore + - update dkms package versions + + -- Seth Forshee Fri, 19 Jul 2019 15:04:45 -0500 + +linux (5.2.0-8.9) eoan; urgency=medium + + * linux: 5.2.0-8.9 -proposed tracker (LP: #1835700) + + * Miscellaneous Ubuntu changes + - [Packaging] replace zfs and spl build with zfs 0.8.1-1ubuntu1 + - SAUCE: test_bpf: remove expected fail for Ctx heavy transformations test on + s390 + - SAUCE: add -fcf-protection=none to retpoline flags + - SAUCE: usbip: ensure strings copied using strncpy are null-terminated + - SAUCE: usbip: add -Wno-address-of-packed-member to EXTRA_CFLAGS + - SAUCE: perf jvmti: ensure strncpy result is null-terminated + - update dkms package versions + - add removed zfs modules to modules.ignore + + [ Upstream Kernel Changes ] + + * Rebase to v5.2 + + -- Seth Forshee Mon, 08 Jul 2019 07:13:41 -0500 + +linux (5.2.0-7.8) eoan; urgency=medium + + * Kernel panic upon resetting ixgbe SR-IOV VFIO virtual function using 5.0 + kernel (LP: #1829652) + - SAUCE: ixgbe: Avoid NULL pointer dereference with VF on non-IPsec hw + + * Hi1620 driver updates from upstream 5.2 merge window (LP: #1830815) + - net: hns3: initialize CPU reverse mapping + - net: hns3: refine the flow director handle + - net: hns3: add aRFS support for PF + - net: hns3: fix for FEC configuration + - RDMA/hns: Remove unnecessary print message in aeq + - RDMA/hns: Update CQE specifications + - RDMA/hns: Move spin_lock_irqsave to the correct place + - RDMA/hns: Remove jiffies operation in disable interrupt context + - RDMA/hns: Replace magic numbers with #defines + - net: hns3: fix compile warning without CONFIG_RFS_ACCEL + - net: hns3: fix for HNS3_RXD_GRO_SIZE_M macro + - net: hns3: add support for dump firmware statistics by debugfs + - net: hns3: use HCLGE_STATE_NIC_REGISTERED to indicate PF NIC client has + registered + - net: hns3: use HCLGE_STATE_ROCE_REGISTERED to indicate PF ROCE client has + registered + - net: hns3: use HCLGEVF_STATE_NIC_REGISTERED to indicate VF NIC client has + registered + - net: hns3: modify hclge_init_client_instance() + - net: hns3: modify hclgevf_init_client_instance() + - net: hns3: add handshake with hardware while doing reset + - net: hns3: stop schedule reset service while unloading driver + - net: hns3: adjust hns3_uninit_phy()'s location in the hns3_client_uninit() + - net: hns3: fix a memory leak issue for hclge_map_unmap_ring_to_vf_vector + - RDMA/hns: Bugfix for posting multiple srq work request + - net: hns3: remove redundant core reset + - net: hns3: don't configure new VLAN ID into VF VLAN table when it's full + - net: hns3: fix VLAN filter restore issue after reset + - net: hns3: set the port shaper according to MAC speed + - net: hns3: add a check to pointer in error_detected and slot_reset + - net: hns3: set ops to null when unregister ad_dev + - net: hns3: add handling of two bits in MAC tunnel interrupts + - net: hns3: remove setting bit of reset_requests when handling mac tunnel + interrupts + - net: hns3: add opcode about query and clear RAS & MSI-X to special opcode + - net: hns3: delay and separate enabling of NIC and ROCE HW errors + - RDMA/hns: fix inverted logic of readl read and shift + - RDMA/hns: Bugfix for filling the sge of srq + - net: hns3: log detail error info of ROCEE ECC and AXI errors + - net: hns3: fix wrong size of mailbox responding data + - net: hns3: make HW GRO handling compliant with SW GRO + - net: hns3: replace numa_node_id with numa_mem_id for buffer reusing + - net: hns3: refactor hns3_get_new_int_gl function + - net: hns3: trigger VF reset if a VF has an over_8bd_nfe_err + - net: hns3: delete the redundant user NIC codes + - net: hns3: small changes for magic numbers + - net: hns3: use macros instead of magic numbers + - net: hns3: refactor PF/VF RSS hash key configuration + - net: hns3: some modifications to simplify and optimize code + - net: hns3: fix some coding style issues + - net: hns3: delay setting of reset level for hw errors until slot_reset is + called + - net: hns3: fix avoid unnecessary resetting for the H/W errors which do not + require reset + - net: hns3: process H/W errors occurred before HNS dev initialization + - net: hns3: add recovery for the H/W errors occurred before the HNS dev + initialization + - net: hns3: some changes of MSI-X bits in PPU(RCB) + - net: hns3: extract handling of mpf/pf msi-x errors into functions + - net: hns3: clear restting state when initializing HW device + - net: hns3: free irq when exit from abnormal branch + - net: hns3: fix for dereferencing before null checking + - net: hns3: fix for skb leak when doing selftest + - net: hns3: delay ring buffer clearing during reset + - net: hns3: some variable modification + - net: hns3: fix dereference of ae_dev before it is null checked + - scsi: hisi_sas: Delete PHY timers when rmmod or probe failed + - scsi: hisi_sas: Fix the issue of argument mismatch of printing ecc errors + - scsi: hisi_sas: Reduce HISI_SAS_SGE_PAGE_CNT in size + - scsi: hisi_sas: Change the type of some numbers to unsigned + - scsi: hisi_sas: Ignore the error code between phy down to phy up + - scsi: hisi_sas: Disable stash for v3 hw + - net: hns3: Add missing newline at end of file + - RDMa/hns: Don't stuck in endless timeout loop + + * Sometimes touchpad automatically trigger double click (LP: #1833484) + - SAUCE: i2c: designware: Add disable runtime pm quirk + + * Add pointstick support on HP ZBook 17 G5 (LP: #1833387) + - Revert "HID: multitouch: Support ALPS PTP stick with pid 0x120A" + + * depmod may prefer unsigned l-r-m nvidia modules to signed modules + (LP: #1834479) + - [Packaging] dkms-build--nvidia-N -- clean up unsigned ko files + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/powerpc: disable signal_fuzzer test + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc7 + + -- Seth Forshee Mon, 01 Jul 2019 07:22:18 -0500 + +linux (5.2.0-6.7) eoan; urgency=medium + + * hinic: fix oops due to race in set_rx_mode (LP: #1832048) + - hinic: fix a bug in set rx mode + + * Miscellaneous Ubuntu changes + - rebase to v5.2-rc6 + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc6 + + -- Seth Forshee Sun, 23 Jun 2019 23:36:11 -0500 + +linux (5.2.0-5.6) eoan; urgency=medium + + * QCA9377 isn't being recognized sometimes (LP: #1757218) + - SAUCE: USB: Disable USB2 LPM at shutdown + + * shiftfs: allow changing ro/rw for subvolumes (LP: #1832316) + - SAUCE: shiftfs: allow changing ro/rw for subvolumes + + * Miscellaneous Ubuntu changes + - update dkms package versions + - [Packaging] replace nvidia-418 dkms build with nvidia-430 + - SAUCE: import aufs driver + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc5 + + -- Seth Forshee Mon, 17 Jun 2019 15:04:12 -0500 + +linux (5.2.0-4.5) eoan; urgency=medium + + * arm64: cma_alloc errors at boot (LP: #1823753) + - [Config] Bump CMA_SIZE_MBYTES to 32 on arm64 + - dma-contiguous: add dma_{alloc,free}_contiguous() helpers + - dma-contiguous: use fallback alloc_pages for single pages + - dma-contiguous: fix !CONFIG_DMA_CMA version of dma_{alloc, + free}_contiguous() + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_MFD_TQMX86=n for s390x + - [Config] CONFIG_GPIO_AMD_FCH=n for s390x + - [Config] CONFIG_BACKLIGHT_CLASS_DEVICE=n on s390x + - [Config] CONFIG_LCD_CLASS_DEVICE=n for s390x + - [Config] CONFIG_DRM_ETNAVIV=m for armhf generic-lpae + - [Config] CONFIG_DRM_NOUVEAU_SVM=n + - [Config] CONFIG_HWMON=n for s390x + - [Config] CONFIG_NEW_LEDS=n for s390x + - [Config] CONFIG_MTD_NAND_OMAP2=y for armhf + - [Config] CONFIG_VOP_BUS=n for non-amd64 arches + - [Config] CONFIG_TI_CPSW_PHY_SEL=n + - [Config] CONFIG_INTERCONNECT=n for s390x + - [Config] CONFIG_SCSI_GDTH=n for s390x + - [Config] CONFIG_PACKING=n for s390x + - [Config] CONFIG_ARCH_MILBEAUT=y for armhf + - [Config] update annotations following config review + - update dkms package versions + - [Config] enable nvidia dkms build + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc4 + + -- Seth Forshee Mon, 10 Jun 2019 07:00:11 -0500 + +linux (5.2.0-3.4) eoan; urgency=medium + + * [18.04/18.10] File libperf-jvmti.so is missing in linux-tools-common deb on + Ubuntu (LP: #1761379) + - [Packaging] Support building libperf-jvmti.so + + * Miscellaneous Ubuntu changes + - SAUCE: Revert "bpf, selftest: test global data/bss/rodata sections" + - update dkms package versions + - [Config] enable zfs + - rebase to v5.2-rc3 + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc3 + + -- Seth Forshee Sun, 02 Jun 2019 21:48:50 -0500 + +linux (5.2.0-2.3) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - SAUCE: perf arm64: Fix mksyscalltbl when system kernel headers are ahead of + the kernel + + -- Seth Forshee Tue, 28 May 2019 07:12:39 -0500 + +linux (5.2.0-1.2) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_INTEGRITY_PLATFORM_KEYRING=y + - update dkms package versions + - [Config] enable vbox dkms build + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc2 + + -- Seth Forshee Mon, 27 May 2019 21:11:27 -0500 + +linux (5.2.0-0.1) eoan; urgency=medium + + * Miscellaneous Ubuntu changes + - SAUCE: import aufs driver + - [Packaging] disable ZFS + - [Packaging] disable nvidia + - [Packaging] dkms-build -- expand paths searched for make.log files + - add virtualbox-guest-dkms dkms package build + - enable vbox dkms build for amd64 and i386 + - update dkms package versions + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the kernel is + locked down + - SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the kernel is locked + down + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and + KEXEC_SIG_FORCE + - SAUCE: (efi-lockdown) kexec_file: Restrict at runtime if the kernel is + locked down + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Lock down module params that specify hardware + parameters (eg. ioport) + - SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the testmmiotrace module + - SAUCE: (efi-lockdown) Lock down /proc/kcore + - SAUCE: (efi-lockdown) Lock down kprobes + - SAUCE: (efi-lockdown) bpf: Restrict kernel image access functions when the + kernel is locked down + - SAUCE: (efi-lockdown) Lock down perf + - SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the kernel is locked + down + - SAUCE: (efi-lockdown) lockdown: Print current->comm in restriction messages + - SAUCE: (efi-lockdown) kexec: Allow kexec_file() with appropriate IMA policy + when locked down + - SAUCE: (efi-lockdown) Make get_cert_list() not complain about cert lists + that aren't present. + - SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err(). + - SAUCE: (efi-lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) KEYS: Make use of platform keyring for module + signature verify + - SAUCE: (efi-lockdown) debugfs: avoid EPERM when no open file operation + defined + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) furter KEXEC_VERIFY_SIG -> KEXEC_SIG updates + - SAUCE: (efi-lockdown) arm64: add kernel config option to lock down when in + Secure Boot mode + - update dkms package versions + - [Config] disable vbox build + - SAUCE: s390: mark __cpacf_check_opcode() and cpacf_query_func() as + __always_inline + - SAUCE: IB/mlx5: use size_t instead of u64 when dividing + + [ Upstream Kernel Changes ] + + * Rebase to v5.2-rc1 + + -- Seth Forshee Tue, 21 May 2019 11:18:43 -0500 + +linux (5.2.0-0.0) eoan; urgency=medium + + * Dummy entry. + + -- Seth Forshee Tue, 21 May 2019 07:34:43 -0500 + +linux (5.1.0-2.2) eoan; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] resync git-ubuntu-log + + * Eoan update: v5.1.2 upstream stable release (LP: #1829050) + - x86/msr-index: Cleanup bit defines + - x86/speculation: Consolidate CPU whitelists + - x86/speculation/mds: Add basic bug infrastructure for MDS + - x86/speculation/mds: Add BUG_MSBDS_ONLY + - x86/kvm: Expose X86_FEATURE_MD_CLEAR to guests + - x86/speculation/mds: Add mds_clear_cpu_buffers() + - x86/speculation/mds: Clear CPU buffers on exit to user + - x86/kvm/vmx: Add MDS protection when L1D Flush is not active + - x86/speculation/mds: Conditionally clear CPU buffers on idle entry + - x86/speculation/mds: Add mitigation control for MDS + - x86/speculation/mds: Add sysfs reporting for MDS + - x86/speculation/mds: Add mitigation mode VMWERV + - Documentation: Move L1TF to separate directory + - Documentation: Add MDS vulnerability documentation + - x86/speculation/mds: Add mds=full,nosmt cmdline option + - x86/speculation: Move arch_smt_update() call to after mitigation decisions + - x86/speculation/mds: Add SMT warning message + - x86/speculation/mds: Fix comment + - x86/speculation/mds: Print SMT vulnerable on MSBDS with mitigations off + - cpu/speculation: Add 'mitigations=' cmdline option + - x86/speculation: Support 'mitigations=' cmdline option + - powerpc/speculation: Support 'mitigations=' cmdline option + - s390/speculation: Support 'mitigations=' cmdline option + - x86/speculation/mds: Add 'mitigations=' support for MDS + - x86/mds: Add MDSUM variant to the MDS documentation + - Documentation: Correct the possible MDS sysfs values + - x86/speculation/mds: Fix documentation typo + - Linux 5.1.2 + + * Eoan update: v5.1.1 upstream stable release (LP: #1829046) + - Drivers: hv: vmbus: Remove the undesired put_cpu_ptr() in hv_synic_cleanup() + - ubsan: Fix nasty -Wbuiltin-declaration-mismatch GCC-9 warnings + - staging: greybus: power_supply: fix prop-descriptor request size + - staging: wilc1000: Avoid GFP_KERNEL allocation from atomic context. + - staging: most: cdev: fix chrdev_region leak in mod_exit + - staging: most: sound: pass correct device when creating a sound card + - usb: dwc3: Allow building USB_DWC3_QCOM without EXTCON + - usb: dwc3: Fix default lpm_nyet_threshold value + - USB: serial: f81232: fix interrupt worker not stop + - USB: cdc-acm: fix unthrottle races + - usb-storage: Set virt_boundary_mask to avoid SG overflows + - genirq: Prevent use-after-free and work list corruption + - intel_th: pci: Add Comet Lake support + - iio: adc: qcom-spmi-adc5: Fix of-based module autoloading + - cpufreq: armada-37xx: fix frequency calculation for opp + - ACPI / LPSS: Use acpi_lpss_* instead of acpi_subsys_* functions for + hibernate + - soc: sunxi: Fix missing dependency on REGMAP_MMIO + - scsi: lpfc: change snprintf to scnprintf for possible overflow + - scsi: qla2xxx: Fix incorrect region-size setting in optrom SYSFS routines + - scsi: qla2xxx: Set remote port devloss timeout to 0 + - scsi: qla2xxx: Fix device staying in blocked state + - Bluetooth: hidp: fix buffer overflow + - Bluetooth: Align minimum encryption key size for LE and BR/EDR connections + - Bluetooth: Fix not initializing L2CAP tx_credits + - Bluetooth: hci_bcm: Fix empty regulator supplies for Intel Macs + - UAS: fix alignment of scatter/gather segments + - ASoC: Intel: avoid Oops if DMA setup fails + - i3c: Fix a shift wrap bug in i3c_bus_set_addr_slot_status() + - locking/futex: Allow low-level atomic operations to return -EAGAIN + - arm64: futex: Bound number of LDXR/STXR loops in FUTEX_WAKE_OP + - Linux 5.1.1 + + * shiftfs: lock security sensitive superblock flags (LP: #1827122) + - SAUCE: shiftfs: lock down certain superblock flags + + * Please package libbpf (which is done out of the kernel src) in Debian [for + 19.10] (LP: #1826410) + - SAUCE: tools -- fix add ability to disable libbfd + + * ratelimit cma_alloc messages (LP: #1828092) + - SAUCE: cma: ratelimit cma_alloc error messages + + * Headphone jack switch sense is inverted: plugging in headphones disables + headphone output (LP: #1824259) + - ASoC: rt5645: Headphone Jack sense inverts on the LattePanda board + + * There are 4 HDMI/Displayport audio output listed in sound setting without + attach any HDMI/DP monitor (LP: #1827967) + - ALSA: hda/hdmi - Read the pin sense from register when repolling + - ALSA: hda/hdmi - Consider eld_valid when reporting jack event + + * CONFIG_LOG_BUF_SHIFT set to 14 is too low on arm64 (LP: #1824864) + - [Config] CONFIG_LOG_BUF_SHIFT=18 on all 64bit arches + + * CTAUTO:DevOps:860.50:devops4fp1:Error occurred during LINUX Dmesg error + Checking for all LINUX clients for devops4p10 (LP: #1766201) + - SAUCE: integrity: downgrade error to warning + + * linux-buildinfo: pull out ABI information into its own package + (LP: #1806380) + - [Packaging] autoreconstruct -- base tag is always primary mainline version + + * [SRU] Please sync vbox modules from virtualbox 6.0.6 on next kernel update + (LP: #1825210) + - vbox-update: updates for renamed makefiles + - ubuntu: vbox -- update to 6.0.6-dfsg-1 + + * autofs kernel module missing (LP: #1824333) + - [Config] Update autofs4 path in inclusion list + + * The Realtek card reader does not enter PCIe 1.1/1.2 (LP: #1825487) + - SAUCE: misc: rtsx: Fixed rts5260 power saving parameter and sd glitch + + * CVE-2019-3874 + - sctp: implement memory accounting on tx path + - sctp: implement memory accounting on rx path + + * apparmor does not start in Disco LXD containers (LP: #1824812) + - SAUCE: shiftfs: use separate llseek method for directories + + * Miscellaneous Ubuntu changes + - [Packaging] autoreconstruct -- remove for -rc kernels + - SAUCE: (efi-lockdown) debugfs: avoid EPERM when no open file operation + defined + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) furter KEXEC_VERIFY_SIG -> KEXEC_SIG updates + - [Config] (efi-lockdown): update configs after efi lockdown patch refresh + - [Packaging] don't delete efi_parser.c + - vbox-update -- do not fix up KERN_DIR or KBUILD_EXTMOD + - ubuntu: vbox -- update to 6.0.6-dfsg-2 + - add nvidia-418 dkms build + - remove virtualbox guest drivers + - [Packaging] dkms-build -- expand paths searched for make.log files + - add virtualbox-guest-dkms dkms package build + - enable vbox dkms build for amd64 and i386 + - [Config] update configs for v5.1(-rc7)? rebase + - update dkms package versions + - Add the ability to lock down access to the running kernel image + - Enforce module signatures if the kernel is locked down + - Restrict /dev/{mem,kmem,port} when the kernel is locked down + - kexec_load: Disable at runtime if the kernel is locked down + - Copy secure_boot flag in boot params across kexec reboot + - kexec_file: split KEXEC_VERIFY_SIG into KEXEC_SIG and KEXEC_SIG_FORCE + - kexec_file: Restrict at runtime if the kernel is locked down + - hibernate: Disable when the kernel is locked down + - uswsusp: Disable when the kernel is locked down + - PCI: Lock down BAR access when the kernel is locked down + - x86: Lock down IO port access when the kernel is locked down + - x86/msr: Restrict MSR access when the kernel is locked down + - ACPI: Limit access to custom_method when the kernel is locked down + - acpi: Ignore acpi_rsdp kernel param when the kernel has been locked down + - acpi: Disable ACPI table override if the kernel is locked down + - acpi: Disable APEI error injection if the kernel is locked down + - Prohibit PCMCIA CIS storage when the kernel is locked down + - Lock down TIOCSSERIAL + - Lock down module params that specify hardware parameters (eg. ioport) + - x86/mmiotrace: Lock down the testmmiotrace module + - Lock down /proc/kcore + - Lock down kprobes + - bpf: Restrict kernel image access functions when the kernel is locked down + - Lock down perf + - debugfs: Restrict debugfs when the kernel is locked down + - lockdown: Print current->comm in restriction messages + - kexec: Allow kexec_file() with appropriate IMA policy when locked down + - Make get_cert_list() not complain about cert lists that aren't present. + - Add efi_status_to_str() and rework efi_status_to_err(). + - Make get_cert_list() use efi_status_to_str() to print error messages. + - efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode + - efi: Lock down the kernel if booted in secure boot mode + - KEYS: Make use of platform keyring for module signature verify + + * Miscellaneous upstream changes + - ALSA: hdea/realtek - Headset fixup for System76 Gazelle (gaze14) + + -- Seth Forshee Tue, 14 May 2019 12:32:56 -0500 + +linux (5.1.0-1.1) eoan; urgency=medium + + * bionic: fork out linux-snapdragon into its own topic kernel (LP: #1820868) + - [Packaging]: really drop snapdragon + + * Miscellaneous Ubuntu changes + - SAUCE: fix vbox use of MAP_SHARED + - SAUCE: fix vbox use of vm_fault_t + - [Packaging] disable ZFS + - [Packaging] disable nvidia + - SAUCE: perf annotate: Fix build on 32 bit for BPF annotation + - [Config]: updateconfig after rebase to v5.1-rc + - [Config]: build ETNAVIV only on arm platforms + - [Config]: Disable CMA on non-arm platforms + - [Config]: MMC_CQHCI is needed by some built-in drivers + - [Config]: a.out support has been deprecated + - [Config]: R3964 was marked as BROKEN + - [Config]: Add SENSIRION_SGP30 module + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: tools: lib/bpf -- add generated headers to search + path" + - Revert "UBUNTU: SAUCE: btqcomsmd: introduce BT_QCOMSMD_HACK" + + -- Thadeu Lima de Souza Cascardo Thu, 25 Apr 2019 10:03:25 -0300 + +linux (5.1.0-0.0) eoan; urgency=medium + + * Dummy entry. + + -- Thadeu Lima de Souza Cascardo Thu, 25 Apr 2019 09:49:47 -0300 + +linux (5.0.0-13.14) disco; urgency=medium + + * linux: 5.0.0-13.14 -proposed tracker (LP: #1824819) + + * Display only has 640x480 (LP: #1824677) + - Revert "UBUNTU: SAUCE: drm/nouveau: Disable nouveau driver by default" + + * shiftfs: use after free when checking mount options (LP: #1824735) + - SAUCE: shiftfs: prevent use-after-free when verifying mount options + + -- Seth Forshee Mon, 15 Apr 2019 09:11:23 -0500 + +linux (5.0.0-12.13) disco; urgency=medium + + * linux: 5.0.0-12.13 -proposed tracker (LP: #1824726) + + * Linux 5.0 black screen on boot, display flickers (i915 regression with + certain laptop panels) (LP: #1824216) + - drm/i915/dp: revert back to max link rate and lane count on eDP + + * kernel BUG at fs/attr.c:287 when using shiftfs (LP: #1824717) + - SAUCE: shiftfs: fix passing of attrs to underaly for setattr + + -- Seth Forshee Sun, 14 Apr 2019 13:38:05 -0500 + +linux (5.0.0-11.12) disco; urgency=medium + + * linux: 5.0.0-11.12 -proposed tracker (LP: #1824383) + + * hns3: PPU_PF_ABNORMAL_INT_ST over_8bd_no_fe found [error status=0x1] + (LP: #1824194) + - net: hns3: fix for not calculating tx bd num correctly + + * disco: unable to use iptables/enable ufw under -virtual kernel + (LP: #1823862) + - [Packaging] add bpfilter to linux-modules + + * Make shiftfs a module rather than built-in (LP: #1824354) + - [Config] CONFIG_SHIFT_FS=m + + * shiftfs: chown sets untranslated ids in lower fs (LP: #1824350) + - SAUCE: shiftfs: use translated ids when chaning lower fs attrs + + * [Hyper-V] KVP daemon fails to start on first boot of disco VM (LP: #1820063) + - [Packaging] bind hv_kvp_daemon startup to hv_kvp device + + -- Seth Forshee Thu, 11 Apr 2019 10:17:19 -0500 + +linux (5.0.0-10.11) disco; urgency=medium + + * linux: 5.0.0-10.11 -proposed tracker (LP: #1823936) + + * Apparmor enforcement failure in lxc selftests (LP: #1823379) + - SAUCE: apparmor: Restore Y/N in /sys for apparmor's "enabled" + + * systemd cause kernel trace "BUG: unable to handle kernel paging request at + 6db23a14" on Cosmic i386 (LP: #1813244) + - openvswitch: fix flow actions reallocation + + -- Seth Forshee Tue, 09 Apr 2019 08:30:38 -0500 + +linux (5.0.0-9.10) disco; urgency=medium + + * linux: 5.0.0-9.10 -proposed tracker (LP: #1823228) + + * Packaging resync (LP: #1786013) + - [Packaging] resync git-ubuntu-log + - [Packaging] update helper scripts + - [Packaging] resync retpoline extraction + + * Huawei Hi1822 NIC has poor performance (LP: #1820187) + - net-next/hinic: replace disable_irq_nosync/enable_irq + + * Add uid shifting overlay filesystem (shiftfs) (LP: #1823186) + - shiftfs: uid/gid shifting bind mount + - shiftfs: rework and extend + - shiftfs: support some btrfs ioctls + - [Config] enable shiftfs + + * Cannot boot or install - have to use nomodeset (LP: #1821820) + - Revert "drm/i915/fbdev: Actually configure untiled displays" + + * Disco update: v5.0.6 upstream stable release (LP: #1823060) + - netfilter: nf_tables: fix set double-free in abort path + - dccp: do not use ipv6 header for ipv4 flow + - genetlink: Fix a memory leak on error path + - gtp: change NET_UDP_TUNNEL dependency to select + - ipv6: make ip6_create_rt_rcu return ip6_null_entry instead of NULL + - mac8390: Fix mmio access size probe + - mISDN: hfcpci: Test both vendor & device ID for Digium HFC4S + - net: aquantia: fix rx checksum offload for UDP/TCP over IPv6 + - net: datagram: fix unbounded loop in __skb_try_recv_datagram() + - net/packet: Set __GFP_NOWARN upon allocation in alloc_pg_vec + - net: phy: meson-gxl: fix interrupt support + - net: rose: fix a possible stack overflow + - net: stmmac: fix memory corruption with large MTUs + - net-sysfs: call dev_hold if kobject_init_and_add success + - net: usb: aqc111: Extend HWID table by QNAP device + - packets: Always register packet sk in the same order + - rhashtable: Still do rehash when we get EEXIST + - sctp: get sctphdr by offset in sctp_compute_cksum + - sctp: use memdup_user instead of vmemdup_user + - tcp: do not use ipv6 header for ipv4 flow + - tipc: allow service ranges to be connect()'ed on RDM/DGRAM + - tipc: change to check tipc_own_id to return in tipc_net_stop + - tipc: fix cancellation of topology subscriptions + - tun: properly test for IFF_UP + - vrf: prevent adding upper devices + - vxlan: Don't call gro_cells_destroy() before device is unregistered + - thunderx: enable page recycling for non-XDP case + - thunderx: eliminate extra calls to put_page() for pages held for recycling + - net: dsa: mv88e6xxx: fix few issues in mv88e6390x_port_set_cmode + - net: mii: Fix PAUSE cap advertisement from linkmode_adv_to_lcl_adv_t() + helper + - net: phy: don't clear BMCR in genphy_soft_reset + - r8169: fix cable re-plugging issue + - ila: Fix rhashtable walker list corruption + - tun: add a missing rcu_read_unlock() in error path + - powerpc/fsl: Fix the flush of branch predictor. + - Btrfs: fix incorrect file size after shrinking truncate and fsync + - btrfs: remove WARN_ON in log_dir_items + - btrfs: don't report readahead errors and don't update statistics + - btrfs: Fix bound checking in qgroup_trace_new_subtree_blocks + - btrfs: Avoid possible qgroup_rsv_size overflow in + btrfs_calculate_inode_block_rsv_size + - Btrfs: fix assertion failure on fsync with NO_HOLES enabled + - locks: wake any locks blocked on request before deadlock check + - tracing: initialize variable in create_dyn_event() + - ARM: imx6q: cpuidle: fix bug that CPU might not wake up at expected time + - powerpc: bpf: Fix generation of load/store DW instructions + - vfio: ccw: only free cp on final interrupt + - NFS: Fix nfs4_lock_state refcounting in nfs4_alloc_{lock,unlock}data() + - NFS: fix mount/umount race in nlmclnt. + - NFSv4.1 don't free interrupted slot on open + - net: dsa: qca8k: remove leftover phy accessors + - ALSA: rawmidi: Fix potential Spectre v1 vulnerability + - ALSA: seq: oss: Fix Spectre v1 vulnerability + - ALSA: pcm: Fix possible OOB access in PCM oss plugins + - ALSA: pcm: Don't suspend stream in unrecoverable PCM state + - ALSA: hda/realtek - Fixed Headset Mic JD not stable + - ALSA: hda/realtek: merge alc_fixup_headset_jack to alc295_fixup_chromebook + - ALSA: hda/realtek - Add support headset mode for DELL WYSE AIO + - ALSA: hda/realtek - Add support headset mode for New DELL WYSE NB + - ALSA: hda/realtek: Enable headset MIC of Acer AIO with ALC286 + - ALSA: hda/realtek: Enable headset MIC of Acer Aspire Z24-890 with ALC286 + - ALSA: hda/realtek - Add support for Acer Aspire E5-523G/ES1-432 headset mic + - ALSA: hda/realtek: Enable ASUS X441MB and X705FD headset MIC with ALC256 + - ALSA: hda/realtek: Enable headset mic of ASUS P5440FF with ALC256 + - ALSA: hda/realtek: Enable headset MIC of ASUS X430UN and X512DK with ALC256 + - ALSA: hda/realtek - Fix speakers on Acer Predator Helios 500 Ryzen laptops + - kbuild: modversions: Fix relative CRC byte order interpretation + - fs/open.c: allow opening only regular files during execve() + - ocfs2: fix inode bh swapping mixup in ocfs2_reflink_inodes_lock + - scsi: sd: Fix a race between closing an sd device and sd I/O + - scsi: sd: Quiesce warning if device does not report optimal I/O size + - scsi: zfcp: fix rport unblock if deleted SCSI devices on Scsi_Host + - scsi: zfcp: fix scsi_eh host reset with port_forced ERP for non-NPIV FCP + devices + - drm/rockchip: vop: reset scale mode when win is disabled + - tty/serial: atmel: Add is_half_duplex helper + - tty/serial: atmel: RS485 HD w/DMA: enable RX after TX is stopped + - tty: mxs-auart: fix a potential NULL pointer dereference + - tty: atmel_serial: fix a potential NULL pointer dereference + - tty: serial: qcom_geni_serial: Initialize baud in qcom_geni_console_setup + - staging: comedi: ni_mio_common: Fix divide-by-zero for DIO cmdtest + - staging: olpc_dcon_xo_1: add missing 'const' qualifier + - staging: speakup_soft: Fix alternate speech with other synths + - staging: vt6655: Remove vif check from vnt_interrupt + - staging: vt6655: Fix interrupt race condition on device start up. + - staging: erofs: fix to handle error path of erofs_vmap() + - staging: erofs: fix error handling when failed to read compresssed data + - staging: erofs: keep corrupted fs from crashing kernel in erofs_readdir() + - serial: max310x: Fix to avoid potential NULL pointer dereference + - serial: mvebu-uart: Fix to avoid a potential NULL pointer dereference + - serial: sh-sci: Fix setting SCSCR_TIE while transferring data + - USB: serial: cp210x: add new device id + - USB: serial: ftdi_sio: add additional NovaTech products + - USB: serial: mos7720: fix mos_parport refcount imbalance on error path + - USB: serial: option: set driver_info for SIM5218 and compatibles + - USB: serial: option: add support for Quectel EM12 + - USB: serial: option: add Olicard 600 + - ACPI / CPPC: Fix guaranteed performance handling + - Disable kgdboc failed by echo space to /sys/module/kgdboc/parameters/kgdboc + - fs/proc/proc_sysctl.c: fix NULL pointer dereference in put_links + - drivers/block/zram/zram_drv.c: fix idle/writeback string compare + - blk-mq: fix sbitmap ws_active for shared tags + - cpufreq: intel_pstate: Also use CPPC nominal_perf for base_frequency + - cpufreq: scpi: Fix use after free + - drm/vgem: fix use-after-free when drm_gem_handle_create() fails + - drm/vkms: fix use-after-free when drm_gem_handle_create() fails + - drm/i915: Mark AML 0x87CA as ULX + - drm/i915/gvt: Fix MI_FLUSH_DW parsing with correct index check + - drm/i915/icl: Fix the TRANS_DDI_FUNC_CTL2 bitfield macro + - gpio: exar: add a check for the return value of ida_simple_get fails + - gpio: adnp: Fix testing wrong value in adnp_gpio_direction_input + - phy: sun4i-usb: Support set_mode to USB_HOST for non-OTG PHYs + - usb: mtu3: fix EXTCON dependency + - USB: gadget: f_hid: fix deadlock in f_hidg_write() + - usb: common: Consider only available nodes for dr_mode + - mm/memory.c: fix modifying of page protection by insert_pfn() + - usb: host: xhci-rcar: Add XHCI_TRUST_TX_LENGTH quirk + - xhci: Fix port resume done detection for SS ports with LPM enabled + - usb: xhci: dbc: Don't free all memory with spinlock held + - xhci: Don't let USB3 ports stuck in polling state prevent suspend + - usb: cdc-acm: fix race during wakeup blocking TX traffic + - usb: typec: tcpm: Try PD-2.0 if sink does not respond to 3.0 source-caps + - usb: typec: Fix unchecked return value + - mm/hotplug: fix offline undo_isolate_page_range() + - mm: add support for kmem caches in DMA32 zone + - iommu/io-pgtable-arm-v7s: request DMA32 memory, and improve debugging + - mm: mempolicy: make mbind() return -EIO when MPOL_MF_STRICT is specified + - mm/debug.c: fix __dump_page when mapping->host is not set + - mm/memory_hotplug.c: fix notification in offline error path + - mm/page_isolation.c: fix a wrong flag in set_migratetype_isolate() + - mm/migrate.c: add missing flush_dcache_page for non-mapped page migrate + - perf pmu: Fix parser error for uncore event alias + - perf intel-pt: Fix TSC slip + - objtool: Query pkg-config for libelf location + - powerpc/pseries/energy: Use OF accessor functions to read ibm,drc-indexes + - powerpc/64: Fix memcmp reading past the end of src/dest + - powerpc/pseries/mce: Fix misleading print for TLB mutlihit + - watchdog: Respect watchdog cpumask on CPU hotplug + - cpu/hotplug: Prevent crash when CPU bringup fails on CONFIG_HOTPLUG_CPU=n + - x86/smp: Enforce CONFIG_HOTPLUG_CPU when SMP=y + - KVM: Reject device ioctls from processes other than the VM's creator + - KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts + - KVM: x86: update %rip after emulating IO + - bpf: do not restore dst_reg when cur_state is freed + - mt76x02u: use usb_bulk_msg to upload firmware + - Linux 5.0.6 + + * RDMA/hns updates for disco (LP: #1822897) + - RDMA/hns: Fix the bug with updating rq head pointer when flush cqe + - RDMA/hns: Bugfix for the scene without receiver queue + - RDMA/hns: Add constraint on the setting of local ACK timeout + - RDMA/hns: Modify the pbl ba page size for hip08 + - RDMA/hns: RDMA/hns: Assign rq head pointer when enable rq record db + - RDMA/hns: Add the process of AEQ overflow for hip08 + - RDMA/hns: Add SCC context allocation support for hip08 + - RDMA/hns: Add SCC context clr support for hip08 + - RDMA/hns: Add timer allocation support for hip08 + - RDMA/hns: Remove set but not used variable 'rst' + - RDMA/hns: Make some function static + - RDMA/hns: Fix the Oops during rmmod or insmod ko when reset occurs + - RDMA/hns: Fix the chip hanging caused by sending mailbox&CMQ during reset + - RDMA/hns: Fix the chip hanging caused by sending doorbell during reset + - RDMA/hns: Limit minimum ROCE CQ depth to 64 + - RDMA/hns: Fix the state of rereg mr + - RDMA/hns: Set allocated memory to zero for wrid + - RDMA/hns: Delete useful prints for aeq subtype event + - RDMA/hns: Configure capacity of hns device + - RDMA/hns: Modify qp&cq&pd specification according to UM + - RDMA/hns: Bugfix for set hem of SCC + - RDMA/hns: Use GFP_ATOMIC in hns_roce_v2_modify_qp + + * autopkgtests run too often, too much and don't skip enough (LP: #1823056) + - Set +x on rebuild testcase. + - Skip rebuild test, for regression-suite deps. + - Make ubuntu-regression-suite skippable on unbootable kernels. + - make rebuild use skippable error codes when skipping. + - Only run regression-suite, if requested to. + + * touchpad not working on lenovo yoga 530 (LP: #1787775) + - Revert "UBUNTU: SAUCE: i2c:amd Depends on ACPI" + - Revert "UBUNTU: SAUCE: i2c:amd move out pointer in union i2c_event_base" + - i2c: add extra check to safe DMA buffer helper + - i2c: Add drivers for the AMD PCIe MP2 I2C controller + - [Config] Update config for AMD MP2 I2C driver + + * Detect SMP PHY control command errors (LP: #1822680) + - scsi: libsas: Check SMP PHY control function result + + * disable a.out support (LP: #1818552) + - [Config] Disable a.out support + - [Config] remove binfmt_aout from abi for i386 lowlatency + + * bionic: fork out linux-snapdragon into its own topic kernel (LP: #1820868) + - [Packaging] remove snapdragon flavour support + - Revert "UBUNTU: SAUCE: (snapdragon) drm/msm/adv7511: wrap hacks under + CONFIG_ADV7511_SNAPDRAGON_HACKS #ifdefs" + - Revert "UBUNTU: SAUCE: (snapdragon) media: ov5645: skip address change if dt + addr == default addr" + - Revert "UBUNTU: SAUCE: (snapdragon) DT: leds: Add Qualcomm Light Pulse + Generator binding" + - Revert "UBUNTU: SAUCE: (snapdragon) MAINTAINERS: Add Qualcomm Camera Control + Interface driver" + - Revert "UBUNTU: SAUCE: (snapdragon) dt-bindings: media: Binding document for + Qualcomm Camera Control Interface driver" + - Revert "UBUNTU: SAUCE: (snapdragon) leds: Add driver for Qualcomm LPG" + - Revert "UBUNTU: SAUCE: (snapdragon) HACK: drm/msm/adv7511: Don't rely on + interrupts for EDID parsing" + - Revert "UBUNTU: SAUCE: (snapdragon) drm/bridge/adv7511: Delay clearing of + HPD interrupt status" + - Revert "UBUNTU: SAUCE: (snapdragon) media: ov5645: Fix I2C address" + - Revert "UBUNTU: SAUCE: (snapdragon) i2c-qcom-cci: Fix I2C address bug" + - Revert "UBUNTU: SAUCE: (snapdragon) i2c-qcom-cci: Fix run queue completion + timeout" + - Revert "UBUNTU: SAUCE: (snapdragon) camss: Do not register if no cameras are + present" + - Revert "UBUNTU: SAUCE: (snapdragon) i2c: Add Qualcomm Camera Control + Interface driver" + - Revert "UBUNTU: SAUCE: (snapdragon) ov5645: I2C address change" + - Revert "UBUNTU: SAUCE: (snapdragon) regulator: smd: Allow + REGULATOR_QCOM_SMD_RPM=m" + - Revert "UBUNTU: SAUCE: (snapdragon) cpufreq: Add apq8016 to cpufreq-dt- + platdev blacklist" + - Revert "UBUNTU: SAUCE: (snapdragon) PM / OPP: Add a helper to get an opp + regulator for device" + - Revert "UBUNTU: SAUCE: (snapdragon) PM / OPP: HACK: Allow to set regulator + without opp_list" + - Revert "UBUNTU: SAUCE: (snapdragon) PM / OPP: Drop RCU usage in + dev_pm_opp_adjust_voltage()" + - Revert "UBUNTU: SAUCE: (snapdragon) PM / OPP: Support adjusting OPP voltages + at runtime" + - Revert "UBUNTU: SAUCE: (snapdragon) regulator: smd: Add floor and corner + operations" + - Revert "UBUNTU: SAUCE: (snapdragon) power: avs: cpr: Register with cpufreq- + dt" + - Revert "UBUNTU: SAUCE: (snapdragon) power: avs: cpr: fix with new + reg_sequence structures" + - Revert "UBUNTU: SAUCE: (snapdragon) power: avs: cpr: Use raw mem access for + qfprom" + - Revert "UBUNTU: SAUCE: (snapdragon) power: avs: Add support for CPR (Core + Power Reduction)" + - Revert "UBUNTU: SAUCE: (snapdragon) HACK: drm/msm/iommu: Remove runtime_put + calls in map/unmap" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable LEDS_QCOM_LPG" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable 'BBR' TCP + congestion algorithm" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable 'fq' and + 'fq_codel' qdiscs" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable + 'schedutil' CPUfreq governor" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs: set USB_CONFIG_F_FS in + distro.config" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable + CONFIG_USB_CONFIGFS_F_FS by default" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs: add freq stat to sysfs" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: configs: Enable camera drivers" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: disable ANALOG_TV and + DIGITAL_TV" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs: add more USB net + drivers" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: configs: enable BT_QCOMSMD" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable + CFG80211_DEFAULT_PS by default" + - Revert "UBUNTU: SAUCE: (snapdragon) Force the SMD regulator driver to be + compiled-in" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs: enable dm_mod and + dm_crypt" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: Enable a53/apcs and + avs" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: configs: enable QCOM Venus" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: distro.config: enable debug + friendly USB network adpater" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: configs: enable WCN36xx" + - Revert "UBUNTU: SAUCE: (snapdragon) kernel: configs; add distro.config" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable QCOM audio + drivers for APQ8016 and DB410c" + - Revert "UBUNTU: SAUCE: (snapdragon) arm64: defconfig: enable REMOTEPROC" + - [Config] fix abi for remove i2c-qcom-cci module + - [Config] update annotations + - [Config] update configs following snapdragon removal + + * Disco update: v5.0.5 upstream stable release (LP: #1822671) + - Revert "ALSA: hda - Enforces runtime_resume after S3 and S4 for each codec" + - ALSA: hda - add Lenovo IdeaCentre B550 to the power_save_blacklist + - ALSA: firewire-motu: use 'version' field of unit directory to identify model + - mmc: pxamci: fix enum type confusion + - mmc: alcor: fix DMA reads + - mmc: mxcmmc: "Revert mmc: mxcmmc: handle highmem pages" + - mmc: renesas_sdhi: limit block count to 16 bit for old revisions + - drm/amdgpu: fix invalid use of change_bit + - drm/vmwgfx: Don't double-free the mode stored in par->set_mode + - drm/vmwgfx: Return 0 when gmrid::get_node runs out of ID's + - iommu/amd: fix sg->dma_address for sg->offset bigger than PAGE_SIZE + - iommu/iova: Fix tracking of recently failed iova address + - libceph: wait for latest osdmap in ceph_monc_blacklist_add() + - udf: Fix crash on IO error during truncate + - mips: loongson64: lemote-2f: Add IRQF_NO_SUSPEND to "cascade" irqaction. + - MIPS: Ensure ELF appended dtb is relocated + - MIPS: Fix kernel crash for R6 in jump label branch function + - powerpc/vdso64: Fix CLOCK_MONOTONIC inconsistencies across Y2038 + - powerpc/security: Fix spectre_v2 reporting + - net/mlx5: Fix DCT creation bad flow + - scsi: core: Avoid that a kernel warning appears during system resume + - scsi: qla2xxx: Fix FC-AL connection target discovery + - scsi: ibmvscsi: Protect ibmvscsi_head from concurrent modificaiton + - scsi: ibmvscsi: Fix empty event pool access during host removal + - futex: Ensure that futex address is aligned in handle_futex_death() + - perf probe: Fix getting the kernel map + - objtool: Move objtool_file struct off the stack + - irqchip/gic-v3-its: Fix comparison logic in lpi_range_cmp + - clocksource/drivers/riscv: Fix clocksource mask + - ALSA: ac97: Fix of-node refcount unbalance + - ext4: fix NULL pointer dereference while journal is aborted + - ext4: fix data corruption caused by unaligned direct AIO + - ext4: brelse all indirect buffer in ext4_ind_remove_space() + - media: v4l2-ctrls.c/uvc: zero v4l2_event + - Bluetooth: hci_uart: Check if socket buffer is ERR_PTR in h4_recv_buf() + - Bluetooth: Fix decrementing reference count twice in releasing socket + - Bluetooth: hci_ldisc: Initialize hci_dev before open() + - Bluetooth: hci_ldisc: Postpone HCI_UART_PROTO_READY bit set in + hci_uart_set_proto() + - drm/vkms: Fix flush_work() without INIT_WORK(). + - RDMA/cma: Rollback source IP address if failing to acquire device + - f2fs: fix to avoid deadlock of atomic file operations + - aio: simplify - and fix - fget/fput for io_submit() + - netfilter: ebtables: remove BUGPRINT messages + - loop: access lo_backing_file only when the loop device is Lo_bound + - x86/unwind: Handle NULL pointer calls better in frame unwinder + - x86/unwind: Add hardcoded ORC entry for NULL + - locking/lockdep: Add debug_locks check in __lock_downgrade() + - ALSA: hda - Record the current power state before suspend/resume calls + - ALSA: hda - Enforces runtime_resume after S3 and S4 for each codec + - Linux 5.0.5 + + * hisi_sas updates for disco (LP: #1822385) + - scsi: hisi_sas: send primitive NOTIFY to SSP situation only + - scsi: hisi_sas: shutdown axi bus to avoid exception CQ returned + - scsi: hisi_sas: remove the check of sas_dev status in + hisi_sas_I_T_nexus_reset() + - scsi: hisi_sas: Remove unused parameter of function hisi_sas_alloc() + - scsi: hisi_sas: Reject setting programmed minimum linkrate > 1.5G + - scsi: hisi_sas: Fix losing directly attached disk when hot-plug + - scsi: hisi_sas: Correct memory allocation size for DQ debugfs + - scsi: hisi_sas: Some misc tidy-up + - scsi: hisi_sas: Fix to only call scsi_get_prot_op() for non-NULL scsi_cmnd + - scsi: hisi_sas: Add missing seq_printf() call in hisi_sas_show_row_32() + - scsi: hisi_sas: Add support for DIX feature for v3 hw + - scsi: hisi_sas: Add manual trigger for debugfs dump + - scsi: hisi_sas: change queue depth from 512 to 4096 + - scsi: hisi_sas: Issue internal abort on all relevant queues + - scsi: hisi_sas: Use pci_irq_get_affinity() for v3 hw as experimental + - scsi: hisi_sas: Do some more tidy-up + - scsi: hisi_sas: Change return variable type in phy_up_v3_hw() + - scsi: hisi_sas: Fix a timeout race of driver internal and SMP IO + - scsi: hisi_sas: print PHY RX errors count for later revision of v3 hw + - scsi: hisi_sas: Set PHY linkrate when disconnected + - scsi: hisi_sas: Send HARD RESET to clear the previous affiliation of STP + target port + - scsi: hisi_sas: Change SERDES_CFG init value to increase reliability of + HiLink + - scsi: hisi_sas: Add softreset in hisi_sas_I_T_nexus_reset() + + * [Patch][Raven 2] kernel 5.0.0 cannot boot because of psp response + (LP: #1822267) + - drm/amdgpu/psp: Fix can't detect psp INVOKE command failed + - drm/amdgpu/psp: ignore psp response status + + * 3b080b2564287be91605bfd1d5ee985696e61d3c in ubuntu_btrfs_kernel_fixes + triggers system hang on i386 (LP: #1812845) + - btrfs: raid56: properly unmap parity page in finish_parity_scrub() + + * enable CONFIG_DRM_BOCHS (LP: #1795857) + - [Config] Reenable DRM_BOCHS as module + + * [Dell Precision 7530/5530 with Nvidia Quadro P1000] Live USB freezes or + cannot complete install when nouveau driver is loaded (crashing in GP100 + code) (LP: #1822026) + - SAUCE: drm/nouveau: Disable nouveau driver by default + + * Need to add Intel CML related pci-id's (LP: #1821863) + - drm/i915/cml: Add CML PCI IDS + - drm/i915/cml: Introduce Comet Lake PCH + + * ARM: Add support for the SDEI interface (LP: #1822005) + - ACPI / APEI: Don't wait to serialise with oops messages when panic()ing + - ACPI / APEI: Remove silent flag from ghes_read_estatus() + - ACPI / APEI: Switch estatus pool to use vmalloc memory + - ACPI / APEI: Make hest.c manage the estatus memory pool + - ACPI / APEI: Make estatus pool allocation a static size + - ACPI / APEI: Don't store CPER records physical address in struct ghes + - ACPI / APEI: Remove spurious GHES_TO_CLEAR check + - ACPI / APEI: Don't update struct ghes' flags in read/clear estatus + - ACPI / APEI: Generalise the estatus queue's notify code + - ACPI / APEI: Don't allow ghes_ack_error() to mask earlier errors + - ACPI / APEI: Move NOTIFY_SEA between the estatus-queue and NOTIFY_NMI + - ACPI / APEI: Switch NOTIFY_SEA to use the estatus queue + - KVM: arm/arm64: Add kvm_ras.h to collect kvm specific RAS plumbing + - arm64: KVM/mm: Move SEA handling behind a single 'claim' interface + - ACPI / APEI: Move locking to the notification helper + - ACPI / APEI: Let the notification helper specify the fixmap slot + - ACPI / APEI: Pass ghes and estatus separately to avoid a later copy + - ACPI / APEI: Make GHES estatus header validation more user friendly + - ACPI / APEI: Split ghes_read_estatus() to allow a peek at the CPER length + - ACPI / APEI: Only use queued estatus entry during in_nmi_queue_one_entry() + - ACPI / APEI: Use separate fixmap pages for arm64 NMI-like notifications + - firmware: arm_sdei: Add ACPI GHES registration helper + - ACPI / APEI: Add support for the SDEI GHES Notification type + + * CVE-2019-9857 + - inotify: Fix fsnotify_mark refcount leak in inotify_update_existing_watch() + + * scsi: libsas: Support SATA PHY connection rate unmatch fixing during + discovery (LP: #1821408) + - scsi: libsas: Support SATA PHY connection rate unmatch fixing during + discovery + + * Qualcomm Atheros QCA9377 wireless does not work (LP: #1818204) + - platform/x86: ideapad-laptop: Add Ideapad 530S-14ARR to no_hw_rfkill list + + * Lenovo ideapad 330-15ICH Wifi rfkill hard blocked (LP: #1811815) + - platform/x86: ideapad: Add ideapad 330-15ICH to no_hw_rfkill + + * hid-sensor-hub spamming dmesg in 4.20 (LP: #1818547) + - HID: Increase maximum report size allowed by hid_field_extract() + + * [disco] [5.0.0-7.8] can't mount guest cifs share (LP: #1821053) + - cifs: allow guest mounts to work for smb3.11 + - SMB3: Fix SMB3.1.1 guest mounts to Samba + + * Add HiSilicon SoC quirk for cpufreq (LP: #1821620) + - ACPI / CPPC: Add a helper to get desired performance + - cpufreq / cppc: Work around for Hisilicon CPPC cpufreq + + * Disco update: v5.0.4 upstream stable release (LP: #1821607) + - 9p: use inode->i_lock to protect i_size_write() under 32-bit + - 9p/net: fix memory leak in p9_client_create + - ASoC: fsl_esai: fix register setting issue in RIGHT_J mode + - ASoC: codecs: pcm186x: fix wrong usage of DECLARE_TLV_DB_SCALE() + - ASoC: codecs: pcm186x: Fix energysense SLEEP bit + - iio: adc: exynos-adc: Fix NULL pointer exception on unbind + - iio: adc: exynos-adc: Use proper number of channels for Exynos4x12 + - mei: hbm: clean the feature flags on link reset + - mei: bus: move hw module get/put to probe/release + - stm class: Prevent division by zero + - stm class: Fix an endless loop in channel allocation + - crypto: caam - fix hash context DMA unmap size + - crypto: ccree - fix missing break in switch statement + - crypto: caam - fixed handling of sg list + - crypto: caam - fix DMA mapping of stack memory + - crypto: ccree - fix free of unallocated mlli buffer + - crypto: ccree - unmap buffer before copying IV + - crypto: ccree - don't copy zero size ciphertext + - crypto: cfb - add missing 'chunksize' property + - crypto: cfb - remove bogus memcpy() with src == dest + - crypto: ofb - fix handling partial blocks and make thread-safe + - crypto: ahash - fix another early termination in hash walk + - crypto: rockchip - fix scatterlist nents error + - crypto: rockchip - update new iv to device in multiple operations + - dax: Flush partial PMDs correctly + - nfit: Fix nfit_intel_shutdown_status() command submission + - nfit: acpi_nfit_ctl(): Check out_obj->type in the right place + - acpi/nfit: Fix bus command validation + - nfit/ars: Attempt a short-ARS whenever the ARS state is idle at boot + - nfit/ars: Attempt short-ARS even in the no_init_ars case + - libnvdimm/label: Clear 'updating' flag after label-set update + - libnvdimm, pfn: Fix over-trim in trim_pfn_device() + - libnvdimm/pmem: Honor force_raw for legacy pmem regions + - libnvdimm: Fix altmap reservation size calculation + - fix cgroup_do_mount() handling of failure exits + - crypto: aead - set CRYPTO_TFM_NEED_KEY if ->setkey() fails + - crypto: aegis - fix handling chunked inputs + - crypto: arm/crct10dif - revert to C code for short inputs + - crypto: arm64/aes-neonbs - fix returning final keystream block + - crypto: arm64/crct10dif - revert to C code for short inputs + - crypto: hash - set CRYPTO_TFM_NEED_KEY if ->setkey() fails + - crypto: morus - fix handling chunked inputs + - crypto: pcbc - remove bogus memcpy()s with src == dest + - crypto: skcipher - set CRYPTO_TFM_NEED_KEY if ->setkey() fails + - crypto: testmgr - skip crc32c context test for ahash algorithms + - crypto: x86/aegis - fix handling chunked inputs and MAY_SLEEP + - crypto: x86/aesni-gcm - fix crash on empty plaintext + - crypto: x86/morus - fix handling chunked inputs and MAY_SLEEP + - crypto: arm64/aes-ccm - fix logical bug in AAD MAC handling + - crypto: arm64/aes-ccm - fix bugs in non-NEON fallback routine + - CIFS: Fix leaking locked VFS cache pages in writeback retry + - CIFS: Do not reset lease state to NONE on lease break + - CIFS: Do not skip SMB2 message IDs on send failures + - CIFS: Fix read after write for files with read caching + - smb3: make default i/o size for smb3 mounts larger + - tracing: Use strncpy instead of memcpy for string keys in hist triggers + - tracing: Do not free iter->trace in fail path of tracing_open_pipe() + - tracing/perf: Use strndup_user() instead of buggy open-coded version + - vmw_balloon: release lock on error in vmballoon_reset() + - xen: fix dom0 boot on huge systems + - ACPI / device_sysfs: Avoid OF modalias creation for removed device + - mmc: sdhci-esdhc-imx: fix HS400 timing issue + - mmc: renesas_sdhi: Fix card initialization failure in high speed mode + - mmc:fix a bug when max_discard is 0 + - spi: ti-qspi: Fix mmap read when more than one CS in use + - spi: pxa2xx: Setup maximum supported DMA transfer length + - spi: omap2-mcspi: Fix DMA and FIFO event trigger size mismatch + - spi: spi-gpio: fix SPI_CS_HIGH capability + - regulator: s2mps11: Fix steps for buck7, buck8 and LDO35 + - regulator: max77620: Initialize values for DT properties + - regulator: s2mpa01: Fix step values for some LDOs + - mt76: fix corrupted software generated tx CCMP PN + - clocksource/drivers/exynos_mct: Move one-shot check from tick clear to ISR + - clocksource/drivers/exynos_mct: Clear timer interrupt when shutdown + - clocksource/drivers/arch_timer: Workaround for Allwinner A64 timer + instability + - s390: vfio_ap: link the vfio_ap devices to the vfio_ap bus subsystem + - s390/setup: fix early warning messages + - s390/virtio: handle find on invalid queue gracefully + - scsi: virtio_scsi: don't send sc payload with tmfs + - scsi: aacraid: Fix performance issue on logical drives + - scsi: sd: Optimal I/O size should be a multiple of physical block size + - scsi: target/iscsi: Avoid iscsit_release_commands_from_conn() deadlock + - scsi: qla2xxx: Fix LUN discovery if loop id is not assigned yet by firmware + - scsi: qla2xxx: Avoid PCI IRQ affinity mapping when multiqueue is not + supported + - scsi: qla2xxx: Use complete switch scan for RSCN events + - fs/devpts: always delete dcache dentry-s in dput() + - splice: don't merge into linked buffers + - ovl: During copy up, first copy up data and then xattrs + - ovl: Do not lose security.capability xattr over metadata file copy-up + - m68k: Add -ffreestanding to CFLAGS + - Btrfs: setup a nofs context for memory allocation at btrfs_create_tree() + - Btrfs: setup a nofs context for memory allocation at __btrfs_set_acl + - btrfs: scrub: fix circular locking dependency warning + - btrfs: drop the lock on error in btrfs_dev_replace_cancel + - btrfs: ensure that a DUP or RAID1 block group has exactly two stripes + - btrfs: init csum_list before possible free + - Btrfs: fix corruption reading shared and compressed extents after hole + punching + - Btrfs: fix deadlock between clone/dedupe and rename + - soc: qcom: rpmh: Avoid accessing freed memory from batch API + - libertas_tf: don't set URB_ZERO_PACKET on IN USB transfer + - irqchip/gic-v3-its: Avoid parsing _indirect_ twice for Device table + - irqchip/brcmstb-l2: Use _irqsave locking variants in non-interrupt code + - x86/kprobes: Prohibit probing on optprobe template code + - cpufreq: kryo: Release OPP tables on module removal + - cpufreq: tegra124: add missing of_node_put() + - cpufreq: pxa2xx: remove incorrect __init annotation + - ext4: fix check of inode in swap_inode_boot_loader + - ext4: cleanup pagecache before swap i_data + - mm: hwpoison: fix thp split handing in soft_offline_in_use_page() + - mm/vmalloc: fix size check for remap_vmalloc_range_partial() + - mm/memory.c: do_fault: avoid usage of stale vm_area_struct + - kernel/sysctl.c: add missing range check in do_proc_dointvec_minmax_conv + - nvmem: core: don't check the return value of notifier chain call + - device property: Fix the length used in PROPERTY_ENTRY_STRING() + - intel_th: Don't reference unassigned outputs + - parport_pc: fix find_superio io compare code, should use equal test. + - i2c: tegra: fix maximum transfer size + - i2c: tegra: update maximum transfer size + - media: i2c: ov5640: Fix post-reset delay + - gpio: pca953x: Fix dereference of irq data in shutdown + - ext4: update quota information while swapping boot loader inode + - ext4: add mask of ext4 flags to swap + - ext4: fix crash during online resizing + - dma: Introduce dma_max_mapping_size() + - swiotlb: Introduce swiotlb_max_mapping_size() + - swiotlb: Add is_swiotlb_active() function + - PCI/ASPM: Use LTR if already enabled by platform + - PCI/DPC: Fix print AER status in DPC event handling + - PCI: qcom: Don't deassert reset GPIO during probe + - PCI: dwc: skip MSI init if MSIs have been explicitly disabled + - PCI: pci-bridge-emul: Create per-bridge copy of register behavior + - PCI: pci-bridge-emul: Extend pci_bridge_emul_init() with flags + - IB/hfi1: Close race condition on user context disable and close + - IB/rdmavt: Fix loopback send with invalidate ordering + - IB/rdmavt: Fix concurrency panics in QP post_send and modify to error + - cxl: Wrap iterations over afu slices inside 'afu_list_lock' + - ext2: Fix underflow in ext2_max_size() + - clk: uniphier: Fix update register for CPU-gear + - clk: clk-twl6040: Fix imprecise external abort for pdmclk + - clk: samsung: exynos5: Fix possible NULL pointer exception on + platform_device_alloc() failure + - clk: samsung: exynos5: Fix kfree() of const memory on setting + driver_override + - clk: ingenic: Fix round_rate misbehaving with non-integer dividers + - clk: ingenic: Fix doc of ingenic_cgu_div_info + - usb: chipidea: tegra: Fix missed ci_hdrc_remove_device() + - usb: typec: tps6598x: handle block writes separately with plain-I2C adapters + - dmaengine: usb-dmac: Make DMAC system sleep callbacks explicit + - serial: uartps: Fix stuck ISR if RX disabled with non-empty FIFO + - serial: 8250_of: assume reg-shift of 2 for mrvl,mmp-uart + - serial: 8250_pci: Fix number of ports for ACCES serial cards + - serial: 8250_pci: Have ACCES cards that use the four port Pericom PI7C9X7954 + chip use the pci_pericom_setup() + - jbd2: clear dirty flag when revoking a buffer from an older transaction + - jbd2: fix compile warning when using JBUFFER_TRACE + - selinux: add the missing walk_size + len check in selinux_sctp_bind_connect + - security/selinux: fix SECURITY_LSM_NATIVE_LABELS on reused superblock + - powerpc/32: Clear on-stack exception marker upon exception return + - powerpc/wii: properly disable use of BATs when requested. + - powerpc/powernv: Make opal log only readable by root + - powerpc/83xx: Also save/restore SPRG4-7 during suspend + - powerpc/kvm: Save and restore host AMR/IAMR/UAMOR + - powerpc/powernv: Don't reprogram SLW image on every KVM guest entry/exit + - powerpc/64s/hash: Fix assert_slb_presence() use of the slbfee. instruction + - powerpc: Fix 32-bit KVM-PR lockup and host crash with MacOS guest + - powerpc/ptrace: Simplify vr_get/set() to avoid GCC warning + - powerpc/hugetlb: Don't do runtime allocation of 16G pages in LPAR + configuration + - powerpc/smp: Fix NMI IPI timeout + - powerpc/smp: Fix NMI IPI xmon timeout + - powerpc/traps: fix recoverability of machine check handling on book3s/32 + - powerpc/traps: Fix the message printed when stack overflows + - ARM: s3c24xx: Fix boolean expressions in osiris_dvs_notify + - arm64: Fix HCR.TGE status for NMI contexts + - arm64: debug: Don't propagate UNKNOWN FAR into si_code for debug signals + - arm64: debug: Ensure debug handlers check triggering exception level + - arm64: KVM: Fix architecturally invalid reset value for FPEXC32_EL2 + - Revert "KVM/MMU: Flush tlb directly in the kvm_zap_gfn_range()" + - ipmi_si: Fix crash when using hard-coded device + - ipmi_si: fix use-after-free of resource->name + - dm: fix to_sector() for 32bit + - dm integrity: limit the rate of error messages + - media: cx25840: mark pad sig_types to fix cx231xx init + - mfd: sm501: Fix potential NULL pointer dereference + - cpcap-charger: generate events for userspace + - cpuidle: governor: Add new governors to cpuidle_governors again + - NFS: Fix I/O request leakages + - NFS: Fix an I/O request leakage in nfs_do_recoalesce + - NFS: Don't recoalesce on error in nfs_pageio_complete_mirror() + - nfsd: fix performance-limiting session calculation + - nfsd: fix memory corruption caused by readdir + - nfsd: fix wrong check in write_v4_end_grace() + - NFSv4.1: Reinitialise sequence results before retransmitting a request + - svcrpc: fix UDP on servers with lots of threads + - PM / wakeup: Rework wakeup source timer cancellation + - PM / OPP: Update performance state when freq == old_freq + - bcache: treat stale && dirty keys as bad keys + - bcache: use (REQ_META|REQ_PRIO) to indicate bio for metadata + - stable-kernel-rules.rst: add link to networking patch queue + - vt: perform safe console erase in the right order + - x86/unwind/orc: Fix ORC unwind table alignment + - perf intel-pt: Fix CYC timestamp calculation after OVF + - perf tools: Fix split_kallsyms_for_kcore() for trampoline symbols + - perf auxtrace: Define auxtrace record alignment + - perf intel-pt: Fix overlap calculation for padding + - perf/x86/intel/uncore: Fix client IMC events return huge result + - perf intel-pt: Fix divide by zero when TSC is not available + - md: Fix failed allocation of md_register_thread + - x86/kvmclock: set offset for kvm unstable clock + - x86/ftrace: Fix warning and considate ftrace_jmp_replace() and + ftrace_call_replace() + - tpm/tpm_crb: Avoid unaligned reads in crb_recv() + - tpm: Unify the send callback behaviour + - rcu: Do RCU GP kthread self-wakeup from softirq and interrupt + - media: imx: prpencvf: Stop upstream before disabling IDMA channel + - media: lgdt330x: fix lock status reporting + - media: sun6i: Fix CSI regmap's max_register + - media: uvcvideo: Avoid NULL pointer dereference at the end of streaming + - media: vimc: Add vimc-streamer for stream control + - media: imx-csi: Input connections to CSI should be optional + - media: imx: csi: Disable CSI immediately after last EOF + - media: imx: csi: Stop upstream before disabling IDMA channel + - drm/fb-helper: generic: Fix drm_fbdev_client_restore() + - drm/radeon/evergreen_cs: fix missing break in switch statement + - drm/amd/powerplay: correct power reading on fiji + - drm/amd/display: don't call dm_pp_ function from an fpu block + - KVM: Call kvm_arch_memslots_updated() before updating memslots + - KVM: VMX: Compare only a single byte for VMCS' "launched" in vCPU-run + - KVM: VMX: Zero out *all* general purpose registers after VM-Exit + - KVM: x86/mmu: Detect MMIO generation wrap in any address space + - KVM: x86/mmu: Do not cache MMIO accesses while memslots are in flux + - KVM: nVMX: Sign extend displacements of VMX instr's mem operands + - KVM: nVMX: Apply addr size mask to effective address for VMX instructions + - KVM: nVMX: Ignore limit checks on VMX instructions using flat segments + - KVM: nVMX: Check a single byte for VMCS "launched" in nested early checks + - net: dsa: lantiq_gswip: fix use-after-free on failed probe + - net: dsa: lantiq_gswip: fix OF child-node lookups + - s390/setup: fix boot crash for machine without EDAT-1 + - SUNRPC: Prevent thundering herd when the socket is not connected + - SUNRPC: Fix up RPC back channel transmission + - SUNRPC: Respect RPC call timeouts when retrying transmission + - Linux 5.0.4 + - [Config] update configs for 5.0.4 stable update + + * New Intel Wireless-AC 9260 [8086:2526] card not correctly probed in Ubuntu + system (LP: #1821271) + - iwlwifi: add new card for 9260 series + + * [CONFIG] please enable highdpi font FONT_TER16x32 (LP: #1819881) + - [Config]: enable highdpi Terminus 16x32 font support + + * [SRU][B/B-OEM/C/D] Fix AMD IOMMU NULL dereference (LP: #1820990) + - iommu/amd: Fix NULL dereference bug in match_hid_uid + + * some codecs stop working after S3 (LP: #1820930) + - ALSA: hda - Enforces runtime_resume after S3 and S4 for each codec + - ALSA: hda - Don't trigger jackpoll_work in azx_resume + + * tcm_loop.ko: move from modules-extra into main modules package + (LP: #1817786) + - [Packaging] move tcm_loop.lo to main linux-modules package + + * C++ demangling support missing from perf (LP: #1396654) + - [Packaging] fix a mistype + + * r8169 doesn't get woken up by ethernet cable plugging, no PME generated + (LP: #1817676) + - PCI: pciehp: Disable Data Link Layer State Changed event on suspend + + * Disco update: v5.0.3 upstream stable release (LP: #1821074) + - connector: fix unsafe usage of ->real_parent + - fou, fou6: avoid uninit-value in gue_err() and gue6_err() + - gro_cells: make sure device is up in gro_cells_receive() + - ipv4/route: fail early when inet dev is missing + - l2tp: fix infoleak in l2tp_ip6_recvmsg() + - lan743x: Fix RX Kernel Panic + - lan743x: Fix TX Stall Issue + - net: hsr: fix memory leak in hsr_dev_finalize() + - net/hsr: fix possible crash in add_timer() + - net: sit: fix UBSAN Undefined behaviour in check_6rd + - net/x25: fix use-after-free in x25_device_event() + - net/x25: reset state in x25_connect() + - pptp: dst_release sk_dst_cache in pptp_sock_destruct + - ravb: Decrease TxFIFO depth of Q3 and Q2 to one + - route: set the deleted fnhe fnhe_daddr to 0 in ip_del_fnhe to fix a race + - rxrpc: Fix client call queueing, waiting for channel + - sctp: remove sched init from sctp_stream_init + - tcp: do not report TCP_CM_INQ of 0 for closed connections + - tcp: Don't access TCP_SKB_CB before initializing it + - tcp: handle inet_csk_reqsk_queue_add() failures + - vxlan: Fix GRO cells race condition between receive and link delete + - vxlan: test dev->flags & IFF_UP before calling gro_cells_receive() + - net/mlx4_core: Fix reset flow when in command polling mode + - net/mlx4_core: Fix locking in SRIOV mode when switching between events and + polling + - net/mlx4_core: Fix qp mtt size calculation + - net: dsa: mv88e6xxx: Set correct interface mode for CPU/DSA ports + - vsock/virtio: fix kernel panic from virtio_transport_reset_no_sock + - net: sched: flower: insert new filter to idr after setting its mask + - f2fs: wait on atomic writes to count F2FS_CP_WB_DATA + - perf/x86: Fixup typo in stub functions + - ALSA: bebob: use more identical mod_alias for Saffire Pro 10 I/O against + Liquid Saffire 56 + - ALSA: firewire-motu: fix construction of PCM frame for capture direction + - ALSA: hda: Extend i915 component bind timeout + - ALSA: hda - add more quirks for HP Z2 G4 and HP Z240 + - ALSA: hda/realtek: Enable audio jacks of ASUS UX362FA with ALC294 + - ALSA: hda/realtek - Reduce click noise on Dell Precision 5820 headphone + - ALSA: hda/realtek: Enable headset MIC of Acer TravelMate X514-51T with + ALC255 + - perf/x86/intel: Fix memory corruption + - perf/x86/intel: Make dev_attr_allow_tsx_force_abort static + - It's wrong to add len to sector_nr in raid10 reshape twice + - drm: Block fb changes for async plane updates + - Linux 5.0.3 + + * Disco update: v5.0.2 upstream stable release (LP: #1820318) + - media: uvcvideo: Fix 'type' check leading to overflow + - Input: wacom_serial4 - add support for Wacom ArtPad II tablet + - Input: elan_i2c - add id for touchpad found in Lenovo s21e-20 + - iscsi_ibft: Fix missing break in switch statement + - scsi: aacraid: Fix missing break in switch statement + - x86/PCI: Fixup RTIT_BAR of Intel Denverton Trace Hub + - arm64: dts: zcu100-revC: Give wifi some time after power-on + - arm64: dts: hikey: Give wifi some time after power-on + - arm64: dts: hikey: Revert "Enable HS200 mode on eMMC" + - ARM: dts: exynos: Fix pinctrl definition for eMMC RTSN line on Odroid X2/U3 + - ARM: dts: exynos: Add minimal clkout parameters to Exynos3250 PMU + - ARM: dts: exynos: Fix max voltage for buck8 regulator on Odroid XU3/XU4 + - drm: disable uncached DMA optimization for ARM and arm64 + - media: Revert "media: rc: some events are dropped by userspace" + - Revert "PCI/PME: Implement runtime PM callbacks" + - bpf: Stop the psock parser before canceling its work + - gfs2: Fix missed wakeups in find_insert_glock + - staging: erofs: keep corrupted fs from crashing kernel in erofs_namei() + - staging: erofs: compressed_pages should not be accessed again after freed + - scripts/gdb: replace flags (MS_xyz -> SB_xyz) + - ath9k: Avoid OF no-EEPROM quirks without qca,no-eeprom + - perf/x86/intel: Make cpuc allocations consistent + - perf/x86/intel: Generalize dynamic constraint creation + - x86: Add TSX Force Abort CPUID/MSR + - perf/x86/intel: Implement support for TSX Force Abort + - Linux 5.0.2 + + * Linux security module stacking support + - LSM: Introduce LSM_FLAG_LEGACY_MAJOR + - LSM: Provide separate ordered initialization + - LSM: Plumb visibility into optional "enabled" state + - LSM: Lift LSM selection out of individual LSMs + - LSM: Build ordered list of LSMs to initialize + - LSM: Introduce CONFIG_LSM + - LSM: Introduce "lsm=" for boottime LSM selection + - LSM: Tie enabling logic to presence in ordered list + - LSM: Prepare for reorganizing "security=" logic + - LSM: Refactor "security=" in terms of enable/disable + - LSM: Separate idea of "major" LSM from "exclusive" LSM + - apparmor: Remove SECURITY_APPARMOR_BOOTPARAM_VALUE + - selinux: Remove SECURITY_SELINUX_BOOTPARAM_VALUE + - LSM: Add all exclusive LSMs to ordered initialization + - LSM: Split LSM preparation from initialization + - LoadPin: Initialize as ordered LSM + - Yama: Initialize as ordered LSM + - LSM: Introduce enum lsm_order + - capability: Initialize as LSM_ORDER_FIRST + - procfs: add smack subdir to attrs + - Smack: Abstract use of cred security blob + - SELinux: Abstract use of cred security blob + - SELinux: Remove cred security blob poisoning + - SELinux: Remove unused selinux_is_enabled + - AppArmor: Abstract use of cred security blob + - TOMOYO: Abstract use of cred security blob + - Infrastructure management of the cred security blob + - SELinux: Abstract use of file security blob + - Smack: Abstract use of file security blob + - LSM: Infrastructure management of the file security + - SELinux: Abstract use of inode security blob + - Smack: Abstract use of inode security blob + - LSM: Infrastructure management of the inode security + - LSM: Infrastructure management of the task security + - SELinux: Abstract use of ipc security blobs + - Smack: Abstract use of ipc security blobs + - LSM: Infrastructure management of the ipc security blob + - TOMOYO: Update LSM flags to no longer be exclusive + - LSM: generalize flag passing to security_capable + - LSM: Make lsm_early_cred() and lsm_early_task() local functions. + - LSM: Make some functions static + - apparmor: Adjust offset when accessing task blob. + - LSM: Ignore "security=" when "lsm=" is specified + - LSM: Update list of SECURITYFS users in Kconfig + - apparmor: delete the dentry in aafs_remove() to avoid a leak + - apparmor: fix double free when unpack of secmark rules fails + - SAUCE: LSM: Infrastructure management of the sock security + - SAUCE: LSM: Limit calls to certain module hooks + - SAUCE: LSM: Special handling for secctx lsm hooks + - SAUCE: LSM: Specify which LSM to display with /proc/self/attr/display + - SAUCE: Fix-up af_unix mediation for sock infrastructure management + - SAUCE: Revert "apparmor: Fix warning about unused function + apparmor_ipv6_postroute" + - SAUCE: Revert "apparmor: fix checkpatch error in Parse secmark policy" + - SAUCE: Revert "apparmor: add #ifdef checks for secmark filtering" + - SAUCE: Revert "apparmor: Allow filtering based on secmark policy" + - SAUCE: Revert "apparmor: Parse secmark policy" + - SAUCE: Revert "apparmor: Add a wildcard secid" + - SAUCE: Revert "apparmor: fix bad debug check in apparmor_secid_to_secctx()" + - SAUCE: Revert "apparmor: fixup secid map conversion to using IDR" + - SAUCE: Revert "apparmor: Use an IDR to allocate apparmor secids" + - SAUCE: Revert "apparmor: Fix memory leak of rule on error exit path" + - SAUCE: Revert "apparmor: modify audit rule support to support profile + stacks" + - SAUCE: Revert "apparmor: Add support for audit rule filtering" + - SAUCE: Revert "apparmor: add the ability to get a task's secid" + - SAUCE: Revert "apparmor: add support for mapping secids and using secctxes" + - SAUCE: apparmor: add proc subdir to attrs + - SAUCE: apparmor: add an apparmorfs entry to access current attrs + - SAUCE: apparmor: update flags to no longer be exclusive + - SAUCE: update configs and annotations for LSM stacking + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_EARLY_PRINTK_USB_XDBC=y + - SAUCE: (efi-lockdown) bpf: Restrict kernel image access functions when the + kernel is locked down + - [Config] CONFIG_RANDOM_TRUST_CPU=y + - [Config] refresh annotations for recent config changes + - ubuntu: vbox -- update to 6.0.4-dfsg-7 + - Revert "UBUNTU: SAUCE: i2c:amd I2C Driver based on PCI Interface for + upcoming platform" + + -- Seth Forshee Thu, 04 Apr 2019 14:49:59 -0500 + +linux (5.0.0-8.9) disco; urgency=medium + + * linux: 5.0.0-8.9 -proposed tracker (LP: #1819759) + + * hisi_sas: add debugfs support (LP: #1819500) + - scsi: hisi_sas: Create root and device debugfs directories + - scsi: hisi_sas: Alloc debugfs snapshot buffer memory for all registers + - scsi: hisi_sas: Take debugfs snapshot for all regs + - scsi: hisi_sas: Debugfs global register create file and add file operations + - scsi: hisi_sas: Add debugfs for port registers + - scsi: hisi_sas: Add debugfs CQ file and add file operations + - scsi: hisi_sas: Add debugfs DQ file and add file operations + - scsi: hisi_sas: Add debugfs IOST file and add file operations + - scsi: hisi_sas: No need to check return value of debugfs_create functions + - scsi: hisi_sas: Fix type casting and missing static qualifier in debugfs + code + - scsi: hisi_sas: Add debugfs ITCT file and add file operations + + * [disco] hns driver updates from 5.1 merge window (LP: #1819535) + - net: hns: Use struct_size() in devm_kzalloc() + - net: hns3: modify enet reinitialization interface + - net: hns3: remove unused member in struct hns3_enet_ring + - net: hns3: remove unnecessary hns3_adjust_tqps_num + - net: hns3: reuse reinitialization interface in the hns3_set_channels + - net: hns3: add interface hclge_tm_bp_setup + - net: hns3: modify parameter checks in the hns3_set_channels + - net: hns3: remove redundant codes in hclge_knic_setup + - net: hns3: fix user configuration loss for ethtool -L + - net: hns3: adjust the use of alloc_tqps and num_tqps + - net: hns3: fix wrong combined count returned by ethtool -l + - net: hns3: do reinitialization while ETS configuration changed + - net: hns3: add HNAE3_RESTORE_CLIENT interface in enet module + - net: hns3: add calling roce callback function when link status change + - net: hns3: add rx multicast packets statistic + - net: hns3: refactor the statistics updating for netdev + - net: hns3: fix rss configuration lost problem when setting channel + - net: hns3: fix for shaper not setting when TC num changes + - net: hns3: fix bug of ethtool_ops.get_channels for VF + - net: hns3: clear param in ring when free ring + - net: hns3: Change fw error code NOT_EXEC to NOT_SUPPORTED + - net: hns3: do not return GE PFC setting err when initializing + - net: hns3: add ETS TC weight setting in SSU module + - net: hns3: add statistics for PFC frames and MAC control frames + - net: hns3: fix PFC not setting problem for DCB module + - net: hns3: don't update packet statistics for packets dropped by hardware + - net: hns3: clear pci private data when unload hns3 driver + - net: hns3: add error handling in hclge_ieee_setets + - net: hns3: fix return value handle issue for hclge_set_loopback() + - net: hns3: fix broadcast promisc issue for revision 0x20 + - net: hns3: After setting the loopback, add the status of getting MAC + - net: hns3: do reinitialization while mqprio configuration changed + - net: hns3: remove dcb_ops->map_update in hclge_dcb + - net: hns3: call hns3_nic_set_real_num_queue with netdev down + - net: hns3: add 8 BD limit for tx flow + - net: hns3: add initialization for nic state + - net: hns3: don't allow vf to enable promisc mode + - net: hns3: reuse the definition of l3 and l4 header info union + - net: hns3: fix VF dump register issue + - net: hns3: use the correct interface to stop|open port + - net: hns3: change hnae3_register_ae_dev() to int + - net: hns3: only support tc 0 for VF + - net: hns3: Fix NULL deref when unloading driver + - net: hns3: fix netif_napi_del() not do problem when unloading + - net: hns3: fix for rss result nonuniform + - net: hns3: fix improper error handling in the hclge_init_ae_dev() + - net: hns3: fix an issue for hclgevf_ae_get_hdev + - net: hns3: stop sending keep alive msg to PF when VF is resetting + - net: hns3: keep flow director state unchanged when reset + - net: hns3: Check for allocation failure + - net: hns3: fix a code style issue for hns3_update_new_int_gl() + - net: hns3: fix an issue for hns3_update_new_int_gl + - net: hns3: Modify parameter type from int to bool in set_gro_en + - net: hns3: code optimization for hclge_rx_buffer_calc + - net: hns3: add hclge_cmd_check_retval() to parse comman's return value + - net: hns3: move some set_bit statement into hclge_prepare_mac_addr + - net: hns3: fix a wrong checking in the hclge_tx_buffer_calc() + - net: hns3: fix the problem that the supported port is empty + - net: hns3: optimize the maximum TC macro + - net: hns3: don't allow user to change vlan filter state + - net: hns3: modify the upper limit judgment condition + - net: hns3: MAC table entry count function increases operation 0 value + protection measures + - net: hns3: make function hclge_set_all_vf_rst() static + - net: hns3: add pointer checking at the beginning of the exported functions. + - net: hns3: Check variable is valid before assigning it to another + - net: hns3: convert mac advertize and supported from u32 to link mode + - net: hns3: fix port info query issue for copper port + - net: hns3: modify print message of ssu common ecc errors + - net: hns3: some bugfix of ppu(rcb) ras errors + - net: hns3: enable 8~11th bit of mac common msi-x error + - net: hns3: fix 6th bit of ppp mpf abnormal errors + - net: hns3: Record VF unicast and multicast tables + - net: hns3: Record VF vlan tables + - net: hns3: uninitialize command queue while unloading PF driver + - net: hns3: clear command queue's registers when unloading VF driver + - net: hns3: add xps setting support for hns3 driver + - net: hns3: avoid mult + div op in critical data path + - net: hns3: limit some variable scope in critical data path + - net: hns3: remove some ops in struct hns3_nic_ops + - net: hns3: add unlikely for error handling in data path + - net: hns3: replace hnae3_set_bit and hnae3_set_field in data path + - net: hns3: remove hnae3_get_bit in data path + - net: hns3: add support to config depth for tx|rx ring separately + - net: hns3: enable VF VLAN filter for each VF when initializing + - net: hns3: fix get VF RSS issue + - net: hns3: fix setting of the hns reset_type for rdma hw errors + - net: hns3: fix improper error handling for hns3_client_start + - net: hns: use struct_size() in devm_kzalloc() + - net: hns3: Fix a logical vs bitwise typo + - net: hns3: add dma_rmb() for rx description + - net: hns3: fix to stop multiple HNS reset due to the AER changes + + * Build Nvidia drivers in conjunction with kernel (LP: #1764792) + - [Packaging] dkms-build -- support building against packages in PPAs + - [Packaging] dkms-build: do not redownload files on subsequent passes + - [Packaging] dkms-build -- elide partial Built-Using information + - [Packaging] dkms-build -- remove retpoline data from final binary packages + - [Packaging] dkms-build--nvidia* -- check gcc version against primary build + - [Packaging] dkms-build -- add support for unversioned overrides + - [Packaging] dkms-build--nvidia-* -- convert to generic -N form + - [Packaging] fix-filenames -- handle exact string removal + - [Packaging] dkms-build--nvidia-N -- remove GCC versions + + * Disco update: v5.0.1 upstream stable release (LP: #1819515) + - cpufreq: Use struct kobj_attribute instead of struct global_attr + - staging: erofs: fix mis-acted TAIL merging behavior + - binder: create node flag to request sender's security context + - USB: serial: option: add Telit ME910 ECM composition + - USB: serial: cp210x: add ID for Ingenico 3070 + - USB: serial: ftdi_sio: add ID for Hjelmslund Electronics USB485 + - driver core: Postpone DMA tear-down until after devres release + - staging: erofs: fix fast symlink w/o xattr when fs xattr is on + - staging: erofs: fix memleak of inode's shared xattr array + - staging: erofs: fix race of initializing xattrs of a inode at the same time + - staging: erofs: fix illegal address access under memory pressure + - staging: comedi: ni_660x: fix missing break in switch statement + - staging: wilc1000: fix to set correct value for 'vif_num' + - staging: android: ion: fix sys heap pool's gfp_flags + - staging: android: ashmem: Don't call fallocate() with ashmem_mutex held. + - staging: android: ashmem: Avoid range_alloc() allocation with ashmem_mutex + held. + - ip6mr: Do not call __IP6_INC_STATS() from preemptible context + - net: dsa: mv88e6xxx: add call to mv88e6xxx_ports_cmode_init to probe for new + DSA framework + - net: dsa: mv88e6xxx: handle unknown duplex modes gracefully in + mv88e6xxx_port_set_duplex + - net: dsa: mv8e6xxx: fix number of internal PHYs for 88E6x90 family + - net: mscc: Enable all ports in QSGMII + - net: sched: put back q.qlen into a single location + - net-sysfs: Fix mem leak in netdev_register_kobject + - qmi_wwan: Add support for Quectel EG12/EM12 + - sctp: call iov_iter_revert() after sending ABORT + - team: Free BPF filter when unregistering netdev + - tipc: fix RDM/DGRAM connect() regression + - x86/CPU/AMD: Set the CPB bit unconditionally on F17h + - x86/boot/compressed/64: Do not read legacy ROM on EFI system + - tracing: Fix event filters and triggers to handle negative numbers + - xhci: tegra: Prevent error pointer dereference + - usb: xhci: Fix for Enabling USB ROLE SWITCH QUIRK on + INTEL_SUNRISEPOINT_LP_XHCI + - applicom: Fix potential Spectre v1 vulnerabilities + - alpha: wire up io_pgetevents system call + - MIPS: irq: Allocate accurate order pages for irq stack + - aio: Fix locking in aio_poll() + - xtensa: fix get_wchan + - gnss: sirf: fix premature wakeup interrupt enable + - USB: serial: cp210x: fix GPIO in autosuspend + - Revert "selftests: firmware: add CONFIG_FW_LOADER_USER_HELPER_FALLBACK to + config" + - Revert "selftests: firmware: remove use of non-standard diff -Z option" + - selftests: firmware: fix verify_reqs() return value + - Bluetooth: btrtl: Restore old logic to assume firmware is already loaded + - Bluetooth: Fix locking in bt_accept_enqueue() for BH context + - Linux 5.0.1 + + * sky2 ethernet card doesn't work after returning from suspend + (LP: #1807259) // sky2 ethernet card link not up after suspend + (LP: #1809843) // Disco update: v5.0.1 upstream stable release + (LP: #1819515) + - sky2: Disable MSI on Dell Inspiron 1545 and Gateway P-79 + + * tls selftest failures/hangs on i386 (LP: #1813607) + - [Config] CONFIG_TLS=n for i386 + + * CVE-2019-8980 + - exec: Fix mem leak in kernel_read_file + + * Miscellaneous Ubuntu changes + - SAUCE: selftests: net: Use 'ipproto ipv6-icmp' to match ICMPv6 headers + - [Config] enable nvidia build + - [Config] update gcc version to 8.3 + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: selftests: pmtu: disable accept_dad for tests" + + -- Thadeu Lima de Souza Cascardo Tue, 12 Mar 2019 16:15:44 -0300 + +linux (5.0.0-7.8) disco; urgency=medium + + * linux: 5.0.0-7.8 -proposed tracker (LP: #1818519) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * unnecessary request_queue freeze (LP: #1815733) + - block: avoid setting nr_requests to current value + - block: avoid setting none scheduler if it's already none + + * Miscellaneous Ubuntu changes + - SAUCE: selftests: net: Don't fail test_vxlan_under_vrf on xfail + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.0 + + -- Seth Forshee Mon, 04 Mar 2019 08:46:10 -0600 + +linux (5.0.0-6.7) disco; urgency=medium + + * linux: 5.0.0-6.7 -proposed tracker (LP: #1817585) + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + - [Packaging] resync getabis + + * installer does not support iSCSI iBFT (LP: #1817321) + - d-i: add iscsi_ibft to scsi-modules + + * Silent "Unknown key" message when pressing keyboard backlight hotkey + (LP: #1817063) + - platform/x86: dell-wmi: Ignore new keyboard backlight change event + + * Fix I219 doesn't get woken up after plugging ethernet cable (LP: #1817058) + - e1000e: Disable runtime PM on CNP+ + + * efi/arm/arm64: Allow SetVirtualAddressMap() to be omitted (LP: #1814982) + - efi/arm/arm64: Allow SetVirtualAddressMap() to be omitted + + * CVE-2019-3460 + - Bluetooth: Check L2CAP option sizes returned from l2cap_get_conf_opt + + * CVE-2019-3459 + - Bluetooth: Verify that l2cap_get_conf_opt provides large enough buffer + + * kernel net tls selftest fails on 5.0 (LP: #1816716) + - SAUCE: Revert "selftests/tls: Add test for recv(PEEK) spanning across + multiple records" + + * Please enable CONFIG_DMA_CMA=y on arm64 (LP: #1803206) + - [Config] annotations -- enforce CONFIG_DMA_CMA and update notes + + * [19.04 FEAT] [LS1801] PCI Virtual function enablement (LP: #1814684) + - s390/pci: map IOV resources + - s390/pci: improve bar check + + * glibc 2.28-0ubuntu1 ADT test failure with linux 5.0.0-1.2 (LP: #1813060) + - SAUCE: prevent a glibc test failure when looking for obsolete types on + headers + + * Miscellaneous Ubuntu changes + - [Config] Enforce CONFIG_ZCRYPT_MULTIDEVNODES in annotations + - SAUCE: selftests: pmtu: disable accept_dad for tests + - SAUCE: arm64: add kernel config option to lock down when in Secure Boot mode + - SAUCE: selftests: net: Make test for VXLAN underlay in non-default VRF an + expected failure + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc8 + + -- Seth Forshee Mon, 25 Feb 2019 09:37:36 -0600 + +linux (5.0.0-5.6) disco; urgency=medium + + * [ALSA] [PATCH] System76 darp5 and oryp5 fixups (LP: #1815831) + - ALSA: hda/realtek - Headset microphone and internal speaker support for + System76 oryp5 + + * Miscellaneous Ubuntu changes + - [Config] Fix aufs menus in annotations file + - [Config] CONFIG_SAMPLE_TRACE_PRINTK=m + - [Config] Update annotations based on configs + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc7 + + -- Seth Forshee Mon, 18 Feb 2019 10:04:11 +0100 + +linux (5.0.0-4.5) disco; urgency=medium + + * linux-buildinfo: pull out ABI information into its own package + (LP: #1806380) + - [Packaging] autoreconstruct -- base tag is always primary mainline version + + * [Packaging] Allow overlay of config annotations (LP: #1752072) + - [Packaging] config-check: Add an include directive + + * Miscellaneous Ubuntu changes + - hio -- stub out BIOVEC_PHYS_MERGEABLE for 4.20+ + - hio -- replace use of do_gettimeofday() + - hio -- part_round_stats() removed in 5.0 + - hio -- device_add_disk() grew a 'groups' argument in 4.20 + - enable hio build + - Revert "UBUNTU: [Packaging] autoreconstruct -- base tag is always primary + mainline version" + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc6 + + -- Seth Forshee Tue, 12 Feb 2019 08:15:32 -0600 + +linux (5.0.0-3.4) disco; urgency=medium + + * CONFIG_TEST_BPF is disabled (LP: #1813955) + - [Config]: Reenable TEST_BPF + + * Ignore "incomplete report" from Elan touchpanels (LP: #1813733) + - HID: i2c-hid: Ignore input report if there's no data present on Elan + touchpanels + + * SecureBoot support for arm64 (LP: #1804481) + - Build signed kernels for arm64 + + * Miscellaneous Ubuntu changes + - SAUCE: selftests: net: fix "from" match test in fib_rule_tests.sh + - [Config] CONFIG_PCMCIA=n for arm64 and s390x + - [Config] CONFIG_SERIAL_SC16IS7XX=n for s390x + - [Config] disable I2C TPM drivers for s390x + - [Config] CONFIG_RAPIDIO=n for s390x + - [Config] CONFIG_DMADEVICES=n for s390x + - [Config] disable gpio drivers for s390x + - [Config] CONFIG_SENSORS_OCC_P8_I2C=m for ppc64el + - [Config] disable I2C hardware drivers for s390x + - [Config] CONFIG_I3C=n for s390x + - [Config] CONFIG_SERIO=n for s390x + - [Config] disable misc drivers for s390x + - [Config] disable EEPROM drivers for s390x + - [Config] disable MFD drivers for s390x + - [Config] CONFIG_NVMEM=n for s390x + - [Config] CONFIG_MLXSW_I2C=n for s390x + - [Config] CONFIG_NET_VENDOR_MICROCHIP=n for s390x + - [Config] CONFIG_PPP=n for s390x + - [Config] CONFIG_PCCARD=n for s390x + - [Config] CONFIG_PCI_MESON=y + - [Config] CONFIG_SCSI_MYRB=n for s390x + - [Config] CONFIG_REGULATOR=n for s390x + - [Config] CONFIG_ZIIRAVE_WATCHDOG=n for s390x + - [Config] CONFIG_NCSI_OEM_CMD_GET_MAC=y + - [Config] update annotations following config review + - [Packaging] remove handoff check for uefi signing + - [Packaging] decompress gzipped efi images in signing tarball + - vbox-update: allow leading whitespace when fixing up KERN_DIR + - ubuntu: vbox -- update to 6.0.4-dfsg-3 + - vbox: remove remount check in sf_read_super_aux() + - enable vbox build + - [Config] CONFIG_ANDROID_BINDER_DEVICES="" + - SAUCE: import aufs driver + - [Config]: Enable aufs + - [Config] relocate aufs annotations to menu + - [Config] remove unmatched configs from annotations + - [Config] fix up abi for removed modules + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) module: remove support for having IMA validate modules + - SAUCE: (efi-lockdown) Move EFI signature blob parser to shared location + - SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI Secure Boot + - SAUCE: (efi-lockdown) MODSIGN: Allow the "db" UEFI variable to be suppressed + - [Config] (efi-lockdown) enable importing of efi certificates for module sig + verification + + * Miscellaneous upstream changes + - binder: fix CONFIG_ANDROID_BINDER_DEVICES + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc5 + + -- Seth Forshee Tue, 05 Feb 2019 14:26:12 -0600 + +linux (5.0.0-2.3) disco; urgency=medium + + * kernel oops in bcache module (LP: #1793901) + - SAUCE: bcache: never writeback a discard operation + + * Enable sound card power saving by default (LP: #1804265) + - [Config] CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: SAUCE: selftests: disable some failing networking tests" + - SAUCE: ashmem: turn into module + - SAUCE: binder: turn into module + - SAUCE: binder: give binder_alloc its own debug mask file + - [Config] enable binder and ashmem as modules + - SAUCE: selftests: net: replace AF_MAX with INT_MAX in socket.c + - SAUCE: selftests/ftrace: Fix tab expansion in trace_marker snapshot trigger + test + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc4 + + -- Seth Forshee Tue, 29 Jan 2019 06:57:32 -0600 + +linux (5.0.0-1.2) disco; urgency=medium + + * Fix non-working QCA Rome Bluetooth after S3 (LP: #1812812) + - USB: Add new USB LPM helpers + - USB: Consolidate LPM checks to avoid enabling LPM twice + + * bluetooth controller not detected with 4.15 kernel (LP: #1810797) + - SAUCE: btqcomsmd: introduce BT_QCOMSMD_HACK + - [Config] arm64: snapdragon: BT_QCOMSMD_HACK=y + + * [19.04 FEAT| Enable virtio-gpu for s390x (LP: #1799467) + - [Config] enable virtio-gpu for s390x + + * Crash on "ip link add foo type ipip" (LP: #1811803) + - SAUCE: fan: Fix NULL pointer dereference + + * Fix not working Goodix touchpad (LP: #1811929) + - HID: i2c-hid: Disable runtime PM on Goodix touchpad + + * Miscellaneous Ubuntu changes + - update dkms package versions + - enable zfs build + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc3 + + -- Seth Forshee Tue, 22 Jan 2019 13:56:17 -0600 + +linux (5.0.0-0.1) disco; urgency=medium + + * Build Nvidia drivers in conjunction with kernel (LP: #1764792) + - [Packaging] dkms -- add per package post-process step + - [Packaging] dkms -- switch to a consistent build prefix length and strip + - [Packaging] nvidia -- build and sign nvidia packages and ship signatures + - [Packaging] nvidia -- make nvidia package version explicit + + * Add support for ALC3277 codec on new Dell edge gateways (LP: #1807334) + - [Config] CONFIG_SND_SOC_INTEL_KBL_RT5660_MACH=m + + * RTL8822BE WiFi Disabled in Kernel 4.18.0-12 (LP: #1806472) + - [Config] CONFIG_RTLWIFI_DEBUG_ST=n + + * Miscellaneous Ubuntu changes + - ubuntu -- disable vbox build + - ubuntu -- disable hio build + - Disable zfs build + - SAUCE: import aufs driver + - update dkms package versions + - [Config] disable aufs config options + - [Config] disable nvidia build + - update dropped.txt + - [Packaging] disable nvidia dkms builds for mainline + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the kernel is + locked down + - SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the kernel is locked + down + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Lock down module params that specify hardware + parameters (eg. ioport) + - SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the testmmiotrace module + - SAUCE: (efi-lockdown) Lock down /proc/kcore + - SAUCE: (efi-lockdown) Lock down kprobes + - SAUCE: (efi-lockdown) Lock down perf + - SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the kernel is locked + down + - SAUCE: (efi-lockdown) debugfs: avoid EPERM when no open file operation + defined + - SAUCE: (efi-lockdown) KEYS: Allow unrestricted boot-time addition of keys to + secondary keyring + - SAUCE: (efi-lockdown) Make get_cert_list() not complain about cert lists + that aren't present. + - SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err(). + - SAUCE: (efi-lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - [Config] set config options for efi lockdown + - Revert "UBUNTU: SAUCE: import aufs driver" + + [ Upstream Kernel Changes ] + + * Rebase to v5.0-rc2 + + -- Seth Forshee Thu, 17 Jan 2019 12:31:29 -0600 + +linux (5.0.0-0.0) disco; urgency=medium + + * Dummy entry. + + -- Seth Forshee Wed, 16 Jan 2019 14:48:05 -0600 + +linux (4.20.0-2.3) disco; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v4.20 + + -- Seth Forshee Thu, 03 Jan 2019 12:11:43 -0600 + +linux (4.20.0-1.2) disco; urgency=medium + + * Packaging resync (LP: #1786013) + - [Packaging] update helper scripts + + * Power leakage at S5 with Qualcomm Atheros QCA9377 802.11ac Wireless Network + Adapter (LP: #1805607) + - SAUCE: ath10k: provide reset function for QCA9377 chip + + * zfs/spl build in conjunction with the kernel from DKMS source (LP: #1807378) + - [Packaging] dkms -- dkms package build packaging support + - [Packaging] dkms -- save build objects artifacts for validation + - [Packaging] dkms -- add general Built-Using: support + - [Packaging] simplify Provides comma handling + - [Packaging] zfs/spl -- remove packaging support for incorporated source + - [Packaging] zfs/spl -- remove incorporated source + - [Packaging] zfs/spl -- build via dkms + - [Packaging] zfs/spl -- make zfs package version explicit + - [Packaging] update-version-dkms -- sync archive versions to package + + * Miscellaneous Ubuntu changes + - [Packaging] update-version-dkms -- fix getting distrbution from changelog + - update dkms package versions + + [ Upstream Kernel Changes ] + + * Rebase to v4.20-rc6 + + -- Seth Forshee Tue, 11 Dec 2018 11:33:08 -0600 + +linux (4.20.0-0.1) disco; urgency=medium + + * Overlayfs in user namespace leaks directory content of inaccessible + directories (LP: #1793458) // CVE-2018-6559 + - Revert "ovl: relax permission checking on underlying layers" + - SAUCE: overlayfs: ensure mounter privileges when reading directories + + * Miscellaneous Ubuntu changes + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the kernel is + locked down + - SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the kernel is locked + down + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Lock down module params that specify hardware + parameters (eg. ioport) + - SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the testmmiotrace module + - SAUCE: (efi-lockdown) Lock down /proc/kcore + - SAUCE: (efi-lockdown) Lock down kprobes + - SAUCE: (efi-lockdown) Lock down perf + - SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the kernel is locked + down + - SAUCE: (efi-lockdown) KEYS: Allow unrestricted boot-time addition of keys to + secondary keyring + - SAUCE: (efi-lockdown) efi: Add EFI signature data types + - SAUCE: (efi-lockdown) efi: Add an EFI signature blob parser + - SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI Secure Boot + - SAUCE: (efi-lockdown) MODSIGN: Allow the "db" UEFI variable to be suppressed + - SAUCE: (efi-lockdown) Make get_cert_list() not complain about cert lists + that aren't present. + - SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err(). + - SAUCE: (efi-lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) Fix for module sig verification + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: Import aufs driver + - ubuntu: vbox -- update to 5.2.22-dfsg-2 + - ubuntu -- disable vbox build + - ubuntu -- disable hio build + - Disable zfs build + + [ Upstream Kernel Changes ] + + * Rebase to v4.20-rc5 + + -- Seth Forshee Fri, 07 Dec 2018 07:13:42 -0600 + +linux (4.20.0-0.0) disco; urgency=medium + + * Dummy entry. + + -- Seth Forshee Thu, 06 Dec 2018 10:20:19 -0600 + +linux (4.19.0-8.9) disco; urgency=medium + + * linux: 4.19.0-8.9 -proposed tracker (LP: #1806952) + + * Workaround CSS timeout on AMD SNPS 3.0 xHC (LP: #1806838) + - xhci: workaround CSS timeout on AMD SNPS 3.0 xHC + + * Fix Intel I210 doesn't work when ethernet cable gets plugged (LP: #1806818) + - igb: Fix an issue that PME is not enabled during runtime suspend + + * The line-out on the Dell Dock station can't work (LP: #1806532) + - ALSA: usb-audio: Add vendor and product name for Dell WD19 Dock + + * CVE-2018-19407 + - KVM: X86: Fix scan ioapic use-before-initialization + + * PC SN720 NVMe WDC 256GB consumes more power in S2Idle than during long idle + (LP: #1805775) + - SAUCE: pci/nvme: prevent WDC PC SN720 NVMe from entering D3 and being + disabled + + * Disco update: 4.19.6 upstream stable release (LP: #1806909) + - HID: steam: remove input device when a hid client is running. + - efi/libstub: arm: support building with clang + - usb: core: Fix hub port connection events lost + - usb: dwc3: gadget: fix ISOC TRB type on unaligned transfers + - usb: dwc3: gadget: Properly check last unaligned/zero chain TRB + - usb: dwc3: core: Clean up ULPI device + - usb: dwc3: Fix NULL pointer exception in dwc3_pci_remove() + - xhci: Fix leaking USB3 shared_hcd at xhci removal + - xhci: handle port status events for removed USB3 hcd + - xhci: Add check for invalid byte size error when UAS devices are connected. + - usb: xhci: fix uninitialized completion when USB3 port got wrong status + - usb: xhci: fix timeout for transition from RExit to U0 + - xhci: Add quirk to workaround the errata seen on Cavium Thunder-X2 Soc + - usb: xhci: Prevent bus suspend if a port connect change or polling state is + detected + - ALSA: oss: Use kvzalloc() for local buffer allocations + - MAINTAINERS: Add Sasha as a stable branch maintainer + - Documentation/security-bugs: Clarify treatment of embargoed information + - Documentation/security-bugs: Postpone fix publication in exceptional cases + - mmc: sdhci-pci: Try "cd" for card-detect lookup before using NULL + - mmc: sdhci-pci: Workaround GLK firmware failing to restore the tuning value + - gpio: don't free unallocated ida on gpiochip_add_data_with_key() error path + - iwlwifi: fix wrong WGDS_WIFI_DATA_SIZE + - iwlwifi: mvm: support sta_statistics() even on older firmware + - iwlwifi: mvm: fix regulatory domain update when the firmware starts + - iwlwifi: mvm: don't use SAR Geo if basic SAR is not used + - brcmfmac: fix reporting support for 160 MHz channels + - opp: ti-opp-supply: Dynamically update u_volt_min + - opp: ti-opp-supply: Correct the supply in _get_optimal_vdd_voltage call + - tools/power/cpupower: fix compilation with STATIC=true + - v9fs_dir_readdir: fix double-free on p9stat_read error + - selinux: Add __GFP_NOWARN to allocation at str_read() + - Input: synaptics - avoid using uninitialized variable when probing + - bfs: add sanity check at bfs_fill_super() + - sctp: clear the transport of some out_chunk_list chunks in + sctp_assoc_rm_peer + - gfs2: Don't leave s_fs_info pointing to freed memory in init_sbd + - llc: do not use sk_eat_skb() + - mm: don't warn about large allocations for slab + - mm/memory.c: recheck page table entry with page table lock held + - tcp: do not release socket ownership in tcp_close() + - drm/fb-helper: Blacklist writeback when adding connectors to fbdev + - drm/amdgpu: Add missing firmware entry for HAINAN + - drm/vc4: Set ->legacy_cursor_update to false when doing non-async updates + - drm/amdgpu: Fix oops when pp_funcs->switch_power_profile is unset + - drm/i915: Disable LP3 watermarks on all SNB machines + - drm/ast: change resolution may cause screen blurred + - drm/ast: fixed cursor may disappear sometimes + - drm/ast: Remove existing framebuffers before loading driver + - can: flexcan: Unlock the MB unconditionally + - can: dev: can_get_echo_skb(): factor out non sending code to + __can_get_echo_skb() + - can: dev: __can_get_echo_skb(): replace struct can_frame by canfd_frame to + access frame length + - can: dev: __can_get_echo_skb(): Don't crash the kernel if can_priv::echo_skb + is accessed out of bounds + - can: dev: __can_get_echo_skb(): print error message, if trying to echo non + existing skb + - can: rx-offload: introduce can_rx_offload_get_echo_skb() and + can_rx_offload_queue_sorted() functions + - can: rx-offload: rename can_rx_offload_irq_queue_err_skb() to + can_rx_offload_queue_tail() + - can: flexcan: use can_rx_offload_queue_sorted() for flexcan_irq_bus_*() + - can: flexcan: handle tx-complete CAN frames via rx-offload infrastructure + - can: raw: check for CAN FD capable netdev in raw_sendmsg() + - can: hi311x: Use level-triggered interrupt + - can: flexcan: Always use last mailbox for TX + - can: flexcan: remove not needed struct flexcan_priv::tx_mb and struct + flexcan_priv::tx_mb_idx + - ACPICA: AML interpreter: add region addresses in global list during + initialization + - IB/hfi1: Eliminate races in the SDMA send error path + - fsnotify: generalize handling of extra event flags + - fanotify: fix handling of events on child sub-directory + - pinctrl: meson: fix pinconf bias disable + - pinctrl: meson: fix gxbb ao pull register bits + - pinctrl: meson: fix gxl ao pull register bits + - pinctrl: meson: fix meson8 ao pull register bits + - pinctrl: meson: fix meson8b ao pull register bits + - tools/testing/nvdimm: Fix the array size for dimm devices. + - scsi: lpfc: fix remoteport access + - scsi: hisi_sas: Remove set but not used variable 'dq_list' + - KVM: PPC: Move and undef TRACE_INCLUDE_PATH/FILE + - cpufreq: imx6q: add return value check for voltage scale + - rtc: cmos: Do not export alarm rtc_ops when we do not support alarms + - rtc: pcf2127: fix a kmemleak caused in pcf2127_i2c_gather_write + - crypto: simd - correctly take reqsize of wrapped skcipher into account + - floppy: fix race condition in __floppy_read_block_0() + - powerpc/io: Fix the IO workarounds code to work with Radix + - sched/fair: Fix cpu_util_wake() for 'execl' type workloads + - perf/x86/intel/uncore: Add more IMC PCI IDs for KabyLake and CoffeeLake CPUs + - block: copy ioprio in __bio_clone_fast() and bounce + - SUNRPC: Fix a bogus get/put in generic_key_to_expire() + - riscv: add missing vdso_install target + - RISC-V: Silence some module warnings on 32-bit + - drm/amdgpu: fix bug with IH ring setup + - kdb: Use strscpy with destination buffer size + - NFSv4: Fix an Oops during delegation callbacks + - powerpc/numa: Suppress "VPHN is not supported" messages + - efi/arm: Revert deferred unmap of early memmap mapping + - z3fold: fix possible reclaim races + - mm, memory_hotplug: check zone_movable in has_unmovable_pages + - tmpfs: make lseek(SEEK_DATA/SEK_HOLE) return ENXIO with a negative offset + - mm, page_alloc: check for max order in hot path + - dax: Avoid losing wakeup in dax_lock_mapping_entry + - include/linux/pfn_t.h: force '~' to be parsed as an unary operator + - tty: wipe buffer. + - tty: wipe buffer if not echoing data + - gfs2: Fix iomap buffer head reference counting bug + - rcu: Make need_resched() respond to urgent RCU-QS needs + - media: ov5640: Re-work MIPI startup sequence + - media: ov5640: Fix timings setup code + - media: ov5640: fix exposure regression + - media: ov5640: fix auto gain & exposure when changing mode + - media: ov5640: fix wrong binning value in exposure calculation + - media: ov5640: fix auto controls values when switching to manual mode + - Linux 4.19.6 + + * linux-buildinfo: pull out ABI information into its own package + (LP: #1806380) + - [Packaging] limit preparation to linux-libc-dev in headers + - [Packaging] commonise debhelper invocation + - [Packaging] ABI -- accumulate abi information at the end of the build + - [Packaging] buildinfo -- add basic build information + - [Packaging] buildinfo -- add firmware information to the flavour ABI + - [Packaging] buildinfo -- add compiler information to the flavour ABI + - [Packaging] buildinfo -- add buildinfo support to getabis + - [Packaging] getabis -- handle all known package combinations + - [Packaging] getabis -- support parsing a simple version + + * linux packages should own /usr/lib/linux/triggers (LP: #1770256) + - [Packaging] own /usr/lib/linux/triggers + + * Miscellaneous upstream changes + - blk-mq: fix corruption with direct issue + + -- Seth Forshee Wed, 05 Dec 2018 09:18:30 -0600 + +linux (4.19.0-7.8) disco; urgency=medium + + * linux: 4.19.0-7.8 -proposed tracker (LP: #1805465) + + * Fix and issue that LG I2C touchscreen stops working after reboot + (LP: #1805085) + - HID: i2c-hid: Disable runtime PM for LG touchscreen + + * click/pop noise in the headphone on several lenovo laptops (LP: #1805079) // + click/pop noise in the headphone on several lenovo laptops (LP: #1805079) + - ALSA: hda/realtek - fix the pop noise on headphone for lenovo laptops + + * Regression: hinic performance degrades over time (LP: #1805248) + - Revert "net-next/hinic: add checksum offload and TSO support" + + * Disco update: 4.19.5 upstream stable release (LP: #1805461) + - drm/i915: Replace some PAGE_SIZE with I915_GTT_PAGE_SIZE + - cifs: don't dereference smb_file_target before null check + - cifs: fix return value for cifs_listxattr + - arm64: kprobe: make page to RO mode when allocate it + - block: brd: associate with queue until adding disk + - net: hns3: bugfix for rtnl_lock's range in the hclgevf_reset() + - net: hns3: bugfix for rtnl_lock's range in the hclge_reset() + - net: hns3: bugfix for handling mailbox while the command queue reinitialized + - net: hns3: bugfix for the initialization of command queue's spin lock + - ixgbe: fix MAC anti-spoofing filter after VFLR + - reiserfs: propagate errors from fill_with_dentries() properly + - hfs: prevent btree data loss on root split + - hfsplus: prevent btree data loss on root split + - perf unwind: Take pgoff into account when reporting elf to libdwfl + - um: Give start_idle_thread() a return code + - drm/edid: Add 6 bpc quirk for BOE panel. + - afs: Handle EIO from delivery function + - platform/x86: intel_telemetry: report debugfs failure + - clk: fixed-rate: fix of_node_get-put imbalance + - perf symbols: Set PLT entry/header sizes properly on Sparc + - fs/exofs: fix potential memory leak in mount option parsing + - clk: samsung: exynos5420: Enable PERIS clocks for suspend + - apparmor: Fix uninitialized value in aa_split_fqname + - x86/earlyprintk: Add a force option for pciserial device + - platform/x86: acerhdf: Add BIOS entry for Gateway LT31 v1.3307 + - clk: meson-axg: pcie: drop the mpll3 clock parent + - arm64: percpu: Initialize ret in the default case + - clk: meson: clk-pll: drop CLK_GET_RATE_NOCACHE where unnecessary + - clk: renesas: r9a06g032: Fix UART34567 clock rate + - clk: ti: fix OF child-node lookup + - serial: sh-sci: Fix receive on SCIFA/SCIFB variants with DMA + - netfilter: ipv6: fix oops when defragmenting locally generated fragments + - netfilter: bridge: define INT_MIN & INT_MAX in userspace + - s390/decompressor: add missing FORCE to build targets + - s390/vdso: add missing FORCE to build targets + - HID: i2c-hid: Add a small delay after sleep command for Raydium touchpanel + - Revert "HID: add NOGET quirk for Eaton Ellipse MAX UPS" + - HID: alps: allow incoming reports when only the trackstick is opened + - Revert "netfilter: nft_numgen: add map lookups for numgen random operations" + - netfilter: ipset: list:set: Decrease refcount synchronously on deletion and + replace + - netfilter: ipset: actually allow allowable CIDR 0 in hash:net,port,net + - netfilter: ipset: fix ip_set_list allocation failure + - s390/mm: fix mis-accounting of pgtable_bytes + - s390/mm: Fix ERROR: "__node_distance" undefined! + - bpf: fix bpf_prog_get_info_by_fd to return 0 func_lens for unpriv + - netfilter: ipset: Correct rcu_dereference() call in ip_set_put_comment() + - netfilter: xt_IDLETIMER: add sysfs filename checking routine + - netfilter: ipset: Fix calling ip_set() macro at dumping + - netfilter: nft_compat: ebtables 'nat' table is normal chain type + - s390/qeth: fix HiperSockets sniffer + - s390/qeth: unregister netdevice only when registered + - net: hns3: Fix for out-of-bounds access when setting pfc back pressure + - hwmon: (ibmpowernv) Remove bogus __init annotations + - ARM: dts: imx6sll: fix typo for fsl,imx6sll-i2c node + - ARM: dts: fsl: Fix improperly quoted stdout-path values + - Revert "drm/exynos/decon5433: implement frame counter" + - arm64: dts: renesas: r8a7795: add missing dma-names on hscif2 + - arm64: dts: renesas: condor: switch from EtherAVB to GEther + - xen/grant-table: Fix incorrect gnttab_dma_free_pages() pr_debug message + - clk: fixed-factor: fix of_node_get-put imbalance + - mtd: nand: Fix nanddev_pos_next_page() kernel-doc header + - lib/raid6: Fix arm64 test build + - drm/amd/display: Stop leaking planes + - block: Clear kernel memory before copying to user + - drm/amd/display: Drop reusing drm connector for MST + - drm/amd/amdgpu/dm: Fix dm_dp_create_fake_mst_encoder() + - s390/perf: Change CPUM_CF return code in event init function + - ceph: quota: fix null pointer dereference in quota check + - of/device: Really only set bus DMA mask when appropriate + - nvme: make sure ns head inherits underlying device limits + - i2c: omap: Enable for ARCH_K3 + - i2c: qcom-geni: Fix runtime PM mismatch with child devices + - sched/core: Take the hotplug lock in sched_init_smp() + - perf tools: Fix undefined symbol scnprintf in libperf-jvmti.so + - perf tools: Do not zero sample_id_all for group members + - ice: Fix dead device link issue with flow control + - ice: Fix the bytecount sent to netdev_tx_sent_queue + - ice: Change req_speeds to be u16 + - i40e: restore NETIF_F_GSO_IPXIP[46] to netdev features + - qed: Fix memory/entry leak in qed_init_sp_request() + - qed: Fix blocking/unlimited SPQ entries leak + - qed: Fix SPQ entries not returned to pool in error flows + - qed: Fix potential memory corruption + - net: stmmac: Fix RX packet size > 8191 + - net: aquantia: fix potential IOMMU fault after driver unbind + - net: aquantia: fixed enable unicast on 32 macvlan + - net: aquantia: invalid checksumm offload implementation + - kbuild: deb-pkg: fix too low build version number + - Revert "scripts/setlocalversion: git: Make -dirty check more robust" + - SUNRPC: drop pointless static qualifier in xdr_get_next_encode_buffer() + - x86/mm: Move LDT remap out of KASLR region on 5-level paging + - x86/ldt: Unmap PTEs for the slot before freeing LDT pages + - x86/ldt: Remove unused variable in map_ldt_struct() + - media: v4l: event: Add subscription to list before calling "add" operation + - MIPS: OCTEON: cavium_octeon_defconfig: re-enable OCTEON USB driver + - RISC-V: Fix raw_copy_{to,from}_user() + - uio: Fix an Oops on load + - ALSA: hda/realtek - Add quirk entry for HP Pavilion 15 + - ALSA: hda/ca0132 - Call pci_iounmap() instead of iounmap() + - can: kvaser_usb: Fix accessing freed memory in kvaser_usb_start_xmit() + - can: kvaser_usb: Fix potential uninitialized variable use + - usb: cdc-acm: add entry for Hiro (Conexant) modem + - USB: Wait for extra delay time after USB_PORT_FEAT_RESET for quirky hub + - usb: quirks: Add delay-init quirk for Corsair K70 LUX RGB + - misc: atmel-ssc: Fix section annotation on atmel_ssc_get_driver_data + - USB: misc: appledisplay: add 20" Apple Cinema Display + - gnss: serial: fix synchronous write timeout + - gnss: sirf: fix synchronous write timeout + - mtd: rawnand: atmel: fix OF child-node lookup + - drivers/misc/sgi-gru: fix Spectre v1 vulnerability + - ACPI / platform: Add SMB0001 HID to forbidden_id_list + - HID: uhid: forbid UHID_CREATE under KERNEL_DS or elevated privileges + - HID: Add quirk for Primax PIXART OEM mice + - HID: Add quirk for Microsoft PIXART OEM mouse + - libceph: fall back to sendmsg for slab pages + - mt76x0: run vco calibration for each channel configuration + - Linux 4.19.5 + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: Build signed kernels for arm64" + + -- Seth Forshee Tue, 27 Nov 2018 10:38:34 -0600 + +linux (4.19.0-6.7) disco; urgency=medium + + * linux: 4.19.0-6.7 -proposed tracker (LP: #1805195) + + * SecureBoot support for arm64 (LP: #1804481) + - Build signed kernels for arm64 + + * Add pointstick support for Cirque Touchpad (LP: #1805081) + - HID: multitouch: Add pointstick support for Cirque Touchpad + + * Power consumption during s2idle is higher than long idle (Intel SSDPEKKF) + (LP: #1804588) + - SAUCE: pci: prevent Intel NVMe SSDPEKKF from entering D3 + - SAUCE: nvme: add quirk to not call disable function when suspending + + * Disco update: 4.19.4 upstream stable release (LP: #1805159) + - flow_dissector: do not dissect l4 ports for fragments + - ibmvnic: fix accelerated VLAN handling + - ip_tunnel: don't force DF when MTU is locked + - ipv6: fix a dst leak when removing its exception + - ipv6: Fix PMTU updates for UDP/raw sockets in presence of VRF + - net: bcmgenet: protect stop from timeout + - net-gro: reset skb->pkt_type in napi_reuse_skb() + - sctp: not allow to set asoc prsctp_enable by sockopt + - tcp: Fix SOF_TIMESTAMPING_RX_HARDWARE to use the latest timestamp during TCP + coalescing + - tg3: Add PHY reset for 5717/5719/5720 in change ring and flow control paths + - tipc: don't assume linear buffer when reading ancillary data + - tipc: fix lockdep warning when reinitilaizing sockets + - tuntap: fix multiqueue rx + - net: systemport: Protect stop from timeout + - net/sched: act_pedit: fix memory leak when IDR allocation fails + - net: sched: cls_flower: validate nested enc_opts_policy to avoid warning + - tipc: fix link re-establish failure + - net/mlx5e: Don't match on vlan non-existence if ethertype is wildcarded + - net/mlx5e: Claim TC hw offloads support only under a proper build config + - net/mlx5e: Adjust to max number of channles when re-attaching + - net/mlx5e: RX, verify received packet size in Linear Striding RQ + - Revert "sctp: remove sctp_transport_pmtu_check" + - net/mlx5e: Always use the match level enum when parsing TC rule match + - net/mlx5e: Fix selftest for small MTUs + - net/mlx5e: Removed unnecessary warnings in FEC caps query + - inet: frags: better deal with smp races + - l2tp: fix a sock refcnt leak in l2tp_tunnel_register + - net/mlx5: IPSec, Fix the SA context hash key + - net/mlx5e: IPoIB, Reset QP after channels are closed + - net: dsa: mv88e6xxx: Fix clearing of stats counters + - net: phy: realtek: fix RTL8201F sysfs name + - sctp: define SCTP_SS_DEFAULT for Stream schedulers + - net: qualcomm: rmnet: Fix incorrect assignment of real_dev + - net: dsa: microchip: initialize mutex before use + - sctp: fix strchange_flags name for Stream Change Event + - net: phy: mdio-gpio: Fix working over slow can_sleep GPIOs + - sctp: not increase stream's incnt before sending addstrm_in request + - mlxsw: spectrum: Fix IP2ME CPU policer configuration + - net: smsc95xx: Fix MTU range + - rxrpc: Fix lockup due to no error backoff after ack transmit error + - usbnet: smsc95xx: disable carrier check while suspending + - Revert "x86/speculation: Enable cross-hyperthread spectre v2 STIBP + mitigation" + - Linux 4.19.4 + + * Disco update: 4.19.3 upstream stable release (LP: #1805158) + - powerpc/traps: restore recoverability of machine_check interrupts + - powerpc/64/module: REL32 relocation range check + - powerpc/mm: Fix page table dump to work on Radix + - powerpc/mm: fix always true/false warning in slice.c + - drm/amd/display: fix bug of accessing invalid memory + - Input: wm97xx-ts - fix exit path + - powerpc/Makefile: Fix PPC_BOOK3S_64 ASFLAGS + - powerpc/eeh: Fix possible null deref in eeh_dump_dev_log() + - tty: check name length in tty_find_polling_driver() + - tracing/kprobes: Check the probe on unloaded module correctly + - drm/nouveau/secboot/acr: fix memory leak + - drm/amdgpu/powerplay: fix missing break in switch statements + - ARM: imx_v6_v7_defconfig: Select CONFIG_TMPFS_POSIX_ACL + - powerpc/nohash: fix undefined behaviour when testing page size support + - drm/msm/gpu: fix parameters in function msm_gpu_crashstate_capture + - drm/msm/disp/dpu: Use proper define for drm_encoder_init() 'encoder_type' + - drm/msm: dpu: Allow planes to extend past active display + - powerpc/mm: Don't report hugepage tables as memory leaks when using kmemleak + - drm/omap: fix memory barrier bug in DMM driver + - drm/amd/display: Raise dispclk value for dce120 by 15% + - drm/amd/display: fix gamma not being applied + - drm/hisilicon: hibmc: Do not carry error code in HiBMC framebuffer pointer + - media: pci: cx23885: handle adding to list failure + - media: coda: don't overwrite h.264 profile_idc on decoder instance + - MIPS: kexec: Mark CPU offline before disabling local IRQ + - powerpc/boot: Ensure _zimage_start is a weak symbol + - powerpc/memtrace: Remove memory in chunks + - MIPS/PCI: Call pcie_bus_configure_settings() to set MPS/MRRS + - staging: erofs: fix a missing endian conversion + - serial: 8250_of: Fix for lack of interrupt support + - sc16is7xx: Fix for multi-channel stall + - media: tvp5150: fix width alignment during set_selection() + - powerpc/selftests: Wait all threads to join + - staging:iio:ad7606: fix voltage scales + - drm: rcar-du: Update Gen3 output limitations + - drm/amdgpu: Fix SDMA TO after GPU reset v3 + - staging: most: video: fix registration of an empty comp core_component + - 9p locks: fix glock.client_id leak in do_lock + - udf: Prevent write-unsupported filesystem to be remounted read-write + - ARM: dts: imx6ull: keep IMX6UL_ prefix for signals on both i.MX6UL and + i.MX6ULL + - media: ov5640: fix mode change regression + - 9p: clear dangling pointers in p9stat_free + - drm/amdgpu: fix integer overflow test in amdgpu_bo_list_create() + - media: ov5640: fix restore of last mode set + - cdrom: fix improper type cast, which can leat to information leak. + - ovl: fix error handling in ovl_verify_set_fh() + - ovl: fix recursive oi->lock in ovl_link() + - ovl: check whiteout in ovl_create_over_whiteout() + - ovl: automatically enable redirect_dir on metacopy=on + - serial: sh-sci: Fix could not remove dev_attr_rx_fifo_timeout + - scsi: qla2xxx: Fix incorrect port speed being set for FC adapters + - scsi: qla2xxx: Fix process response queue for ISP26XX and above + - scsi: qla2xxx: Remove stale debug trace message from tcm_qla2xxx + - scsi: qla2xxx: Fix early srb free on abort + - scsi: qla2xxx: shutdown chip if reset fail + - scsi: qla2xxx: Reject bsg request if chip is down. + - scsi: qla2xxx: Fix re-using LoopID when handle is in use + - scsi: qla2xxx: Fix for double free of SRB structure + - scsi: qla2xxx: Fix NVMe session hang on unload + - scsi: qla2xxx: Fix NVMe Target discovery + - scsi: qla2xxx: Fix duplicate switch database entries + - scsi: qla2xxx: Fix driver hang when FC-NVMe LUNs are configured + - vfs: fix FIGETBSZ ioctl on an overlayfs file + - fuse: Fix use-after-free in fuse_dev_do_read() + - fuse: Fix use-after-free in fuse_dev_do_write() + - fuse: fix blocked_waitq wakeup + - fuse: set FR_SENT while locked + - drm/msm: fix OF child-node lookup + - arm64: dts: stratix10: Support Ethernet Jumbo frame + - arm64: dts: stratix10: fix multicast filtering + - clk: meson-gxbb: set fclk_div3 as CLK_IS_CRITICAL + - clk: meson: axg: mark fdiv2 and fdiv3 as critical + - zram: close udev startup race condition as default groups + - MIPS: Loongson-3: Fix CPU UART irq delivery problem + - MIPS: Loongson-3: Fix BRIDGE irq delivery problem + - xtensa: add NOTES section to the linker script + - xtensa: make sure bFLT stack is 16 byte aligned + - xtensa: fix boot parameters address translation + - um: Drop own definition of PTRACE_SYSEMU/_SINGLESTEP + - clk: s2mps11: Fix matching when built as module and DT node contains + compatible + - clk: at91: Fix division by zero in PLL recalc_rate() + - clk: sunxi-ng: h6: fix bus clocks' divider position + - clk: rockchip: fix wrong mmc sample phase shift for rk3328 + - clk: rockchip: Fix static checker warning in rockchip_ddrclk_get_parent call + - libceph: bump CEPH_MSG_MAX_DATA_LEN + - Revert "ceph: fix dentry leak in splice_dentry()" + - thermal: core: Fix use-after-free in thermal_cooling_device_destroy_sysfs + - mach64: fix display corruption on big endian machines + - mach64: fix image corruption due to reading accelerator registers + - acpi/nfit, x86/mce: Handle only uncorrectable machine checks + - acpi/nfit, x86/mce: Validate a MCE's address before using it + - acpi, nfit: Fix ARS overflow continuation + - reset: hisilicon: fix potential NULL pointer dereference + - crypto: hisilicon - Fix NULL dereference for same dst and src + - crypto: hisilicon - Fix reference after free of memories on error path + - vhost/scsi: truncate T10 PI iov_iter to prot_bytes + - scsi: qla2xxx: Initialize port speed to avoid setting lower speed + - SCSI: fix queue cleanup race before queue initialization is done + - Revert "powerpc/8xx: Use L1 entry APG to handle _PAGE_ACCESSED for + CONFIG_SWAP" + - soc: ti: QMSS: Fix usage of irq_set_affinity_hint + - ocfs2: fix a misuse a of brelse after failing ocfs2_check_dir_entry + - ocfs2: free up write context when direct IO failed + - mm: thp: relax __GFP_THISNODE for MADV_HUGEPAGE mappings + - memory_hotplug: cond_resched in __remove_pages + - netfilter: conntrack: fix calculation of next bucket number in early_drop + - ARM: 8809/1: proc-v7: fix Thumb annotation of cpu_v7_hvc_switch_mm + - bonding/802.3ad: fix link_failure_count tracking + - mtd: spi-nor: cadence-quadspi: Return error code in + cqspi_direct_read_execute() + - mtd: nand: Fix nanddev_neraseblocks() + - mtd: docg3: don't set conflicting BCH_CONST_PARAMS option + - hwmon: (core) Fix double-free in __hwmon_device_register() + - perf cs-etm: Correct CPU mode for samples + - perf stat: Handle different PMU names with common prefix + - perf callchain: Honour the ordering of PERF_CONTEXT_{USER,KERNEL,etc} + - perf intel-pt/bts: Calculate cpumode for synthesized samples + - perf intel-pt: Insert callchain context into synthesized callchains + - of, numa: Validate some distance map rules + - x86/cpu/vmware: Do not trace vmware_sched_clock() + - x86/hyper-v: Enable PIT shutdown quirk + - termios, tty/tty_baudrate.c: fix buffer overrun + - arch/alpha, termios: implement BOTHER, IBSHIFT and termios2 + - watchdog/core: Add missing prototypes for weak functions + - btrfs: fix pinned underflow after transaction aborted + - Btrfs: fix missing data checksums after a ranged fsync (msync) + - Btrfs: fix cur_offset in the error case for nocow + - Btrfs: fix infinite loop on inode eviction after deduplication of eof block + - Btrfs: fix data corruption due to cloning of eof block + - btrfs: tree-checker: Fix misleading group system information + - clockevents/drivers/i8253: Add support for PIT shutdown quirk + - ext4: add missing brelse() update_backups()'s error path + - ext4: add missing brelse() in set_flexbg_block_bitmap()'s error path + - ext4: add missing brelse() add_new_gdb_meta_bg()'s error path + - ext4: avoid potential extra brelse in setup_new_flex_group_blocks() + - ext4: missing !bh check in ext4_xattr_inode_write() + - ext4: fix possible inode leak in the retry loop of ext4_resize_fs() + - ext4: avoid buffer leak on shutdown in ext4_mark_iloc_dirty() + - ext4: avoid buffer leak in ext4_orphan_add() after prior errors + - ext4: fix missing cleanup if ext4_alloc_flex_bg_array() fails while resizing + - ext4: avoid possible double brelse() in add_new_gdb() on error path + - ext4: fix possible leak of sbi->s_group_desc_leak in error path + - ext4: fix possible leak of s_journal_flag_rwsem in error path + - ext4: fix buffer leak in ext4_xattr_get_block() on error path + - ext4: release bs.bh before re-using in ext4_xattr_block_find() + - ext4: fix buffer leak in ext4_xattr_move_to_block() on error path + - ext4: fix buffer leak in ext4_expand_extra_isize_ea() on error path + - ext4: fix buffer leak in __ext4_read_dirblock() on error path + - mount: Prevent MNT_DETACH from disconnecting locked mounts + - mnt: fix __detach_mounts infinite loop + - uapi: fix linux/kfd_ioctl.h userspace compilation errors + - ARM: cpuidle: Don't register the driver when back-end init returns -ENXIO + - kdb: use correct pointer when 'btc' calls 'btt' + - kdb: print real address of pointers instead of hashed addresses + - sunrpc: correct the computation for page_ptr when truncating + - NFSv4: Don't exit the state manager without clearing + NFS4CLNT_MANAGER_RUNNING + - nfsd: COPY and CLONE operations require the saved filehandle to be set + - rtc: hctosys: Add missing range error reporting + - fuse: fix use-after-free in fuse_direct_IO() + - fuse: fix leaked notify reply + - fuse: fix possibly missed wake-up after abort + - selinux: check length properly in SCTP bind hook + - gfs2: Put bitmap buffers in put_super + - gfs2: Fix metadata read-ahead during truncate (2) + - libata: blacklist SAMSUNG MZ7TD256HAFV-000L9 SSD + - crypto: user - fix leaking uninitialized memory to userspace + - lib/ubsan.c: don't mark __ubsan_handle_builtin_unreachable as noreturn + - hugetlbfs: fix kernel BUG at fs/hugetlbfs/inode.c:444! + - mm/swapfile.c: use kvzalloc for swap_info_struct allocation + - efi/arm/libstub: Pack FDT after populating it + - mm: don't reclaim inodes with many attached pages + - scripts/spdxcheck.py: make python3 compliant + - drm/rockchip: Allow driver to be shutdown on reboot/kexec + - drm/amdgpu: Fix typo in amdgpu_vmid_mgr_init + - drm/amdgpu: add missing CHIP_HAINAN in amdgpu_ucode_get_load_type + - drm/amdgpu: Suppress keypresses from ACPI_VIDEO events + - drm/nouveau: Check backlight IDs are >= 0, not > 0 + - drm/nouveau: Fix nv50_mstc->best_encoder() + - drm/amd/powerplay: Enable/Disable NBPSTATE on On/OFF of UVD + - drm/etnaviv: fix bogus fence complete check in timeout handler + - drm/dp_mst: Check if primary mstb is null + - drm: panel-orientation-quirks: Add quirk for Acer One 10 (S1003) + - drm/i915/dp: Link train Fallback on eDP only if fallback link BW can fit + panel's native mode + - drm/i915: Use the correct crtc when sanitizing plane mapping + - drm/i915: Restore vblank interrupts earlier + - drm/i915: Don't unset intel_connector->mst_port + - drm/i915: Skip vcpi allocation for MSTB ports that are gone + - drm/i915: Large page offsets for pread/pwrite + - drm/i915/dp: Fix link retraining comment in intel_dp_long_pulse() + - drm/i915/dp: Restrict link retrain workaround to external monitors + - drm/i915/icl: Fix the macros for DFLEXDPMLE register bits + - drm/i915/hdmi: Add HDMI 2.0 audio clock recovery N values + - drm/i915: Mark up GTT sizes as u64 + - drm/i915: Fix error handling for the NV12 fb dimensions check + - drm/i915: Fix ilk+ watermarks when disabling pipes + - drm/i915: Compare user's 64b GTT offset even on 32b + - drm/i915: Don't oops during modeset shutdown after lpe audio deinit + - drm/i915: Mark pin flags as u64 + - drm/i915/ringbuffer: Delay after EMIT_INVALIDATE for gen4/gen5 + - drm/i915/execlists: Force write serialisation into context image vs + execution + - drm/i915: Fix possible race in intel_dp_add_mst_connector() + - drm/i915: Fix NULL deref when re-enabling HPD IRQs on systems with MST + - drm/i915: Fix hpd handling for pins with two encoders + - CONFIG_XEN_PV breaks xen_create_contiguous_region on ARM + - Revert "ACPICA: AML interpreter: add region addresses in global list during + initialization" + - Linux 4.19.3 + + * glibc 2.28-0ubuntu1 ADT test failure with linux 4.19.0-5.6 (LP: #1805154) + - SAUCE: Revert "x86: vdso: Use $LD instead of $CC to link" + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.7.12-1ubuntu1, zfs to 0.7.12-1ubuntu1 + + -- Seth Forshee Mon, 26 Nov 2018 11:44:00 -0600 + +linux (4.19.0-5.6) disco; urgency=medium + + * crash in ENA driver on removing an interface (LP: #1802341) + - SAUCE: net: ena: fix crash during ena_remove() + + * Ubuntu 18.04.1 - [s390x] Kernel panic while stressing network bonding + (LP: #1797367) + - s390/qeth: sanitize strings in debug messages + + * Disco update: 4.19.2 upstream stable release (LP: #1803410) + - bpf: fix partial copy of map_ptr when dst is scalar + - MIPS: VDSO: Reduce VDSO_RANDOMIZE_SIZE to 64MB for 64bit + - gpio: mxs: Get rid of external API call + - mtd: rawnand: marvell: fix the IRQ handler complete() condition + - mtd: maps: gpio-addr-flash: Fix ioremapped size + - mtd: spi-nor: fsl-quadspi: fix read error for flash size larger than 16MB + - mtd: spi-nor: intel-spi: Add support for Intel Ice Lake SPI serial flash + - mtd: spi-nor: fsl-quadspi: Don't let -EINVAL on the bus + - spi: spi-mem: Adjust op len based on message/transfer size limitations + - spi: bcm-qspi: switch back to reading flash using smaller chunks + - spi: bcm-qspi: fix calculation of address length + - bcache: trace missed reading by cache_missed + - bcache: fix ioctl in flash device + - bcache: correct dirty data statistics + - bcache: fix miss key refill->end in writeback + - hwmon: (pmbus) Fix page count auto-detection. + - jffs2: free jffs2_sb_info through jffs2_kill_sb() + - block: setup bounce bio_sets properly + - block: make sure discard bio is aligned with logical block size + - block: make sure writesame bio is aligned with logical block size + - cpufreq: conservative: Take limits changes into account properly + - dma-mapping: fix panic caused by passing empty cma command line argument + - pcmcia: Implement CLKRUN protocol disabling for Ricoh bridges + - ACPI / OSL: Use 'jiffies' as the time bassis for acpi_os_get_timer() + - ACPICA: AML interpreter: add region addresses in global list during + initialization + - ACPICA: AML Parser: fix parse loop to correctly skip erroneous extended + opcodes + - acpi, nfit: Fix Address Range Scrub completion tracking + - kprobes/x86: Use preempt_enable() in optimized_callback() + - mailbox: PCC: handle parse error + - parisc: Fix address in HPMC IVA + - parisc: Fix map_pages() to not overwrite existing pte entries + - parisc: Fix exported address of os_hpmc handler + - ALSA: hda - Add quirk for ASUS G751 laptop + - ALSA: hda - Fix headphone pin config for ASUS G751 + - ALSA: hda - Add mic quirk for the Lenovo G50-30 (17aa:3905) + - ALSA: hda: Add 2 more models to the power_save blacklist + - ALSA: ca0106: Disable IZD on SB0570 DAC to fix audio pops + - ALSA: hda - Fix incorrect clearance of thinkpad_acpi hooks + - x86/speculation: Enable cross-hyperthread spectre v2 STIBP mitigation + - x86/xen: Fix boot loader version reported for PVH guests + - x86/corruption-check: Fix panic in memory_corruption_check() when boot + option without value is provided + - x86/kvm/nVMX: allow bare VMXON state migration + - x86/mm/pat: Disable preemption around __flush_tlb_all() + - x86/numa_emulation: Fix uniform-split numa emulation + - ARM: dts: exynos: Disable pull control for MAX8997 interrupts on Origen + - net: socionext: Reset tx queue in ndo_stop + - net: loopback: clear skb->tstamp before netif_rx() + - locking/lockdep: Fix debug_locks off performance problem + - netfilter: xt_nat: fix DNAT target for shifted portmap ranges + - ataflop: fix error handling during setup + - swim: fix cleanup on setup error + - arm64: cpufeature: ctr: Fix cpu capability check for late CPUs + - hv_netvsc: fix vf serial matching with pci slot info + - nfp: devlink port split support for 1x100G CXP NIC + - tun: Consistently configure generic netdev params via rtnetlink + - s390/sthyi: Fix machine name validity indication + - hwmon: (pwm-fan) Set fan speed to 0 on suspend + - lightnvm: pblk: fix race on sysfs line state + - lightnvm: pblk: fix two sleep-in-atomic-context bugs + - lightnvm: pblk: fix race condition on metadata I/O + - spi: spi-ep93xx: Use dma_data_direction for ep93xx_spi_dma_{finish,prepare} + - perf tools: Free temporary 'sys' string in read_event_files() + - perf tools: Cleanup trace-event-info 'tdata' leak + - perf tools: Free 'printk' string in parse_ftrace_printk() + - perf strbuf: Match va_{add,copy} with va_end + - cpupower: Fix coredump on VMWare + - bcache: Populate writeback_rate_minimum attribute + - mmc: sdhci-pci-o2micro: Add quirk for O2 Micro dev 0x8620 rev 0x01 + - sdhci: acpi: add free_slot callback + - mtd: rawnand: denali: set SPARE_AREA_SKIP_BYTES register to 8 if unset + - iwlwifi: pcie: avoid empty free RB queue + - iwlwifi: mvm: clear HW_RESTART_REQUESTED when stopping the interface + - iwlwifi: mvm: check for n_profiles validity in EWRD ACPI + - x86/olpc: Indicate that legacy PC XO-1 platform should not register RTC + - wlcore: Fix BUG with clear completion on timeout + - ACPI/PPTT: Handle architecturally unknown cache types + - ACPI / PM: LPIT: Register sysfs attributes based on FADT + - ACPI / processor: Fix the return value of acpi_processor_ids_walk() + - cpufreq: dt: Try freeing static OPPs only if we have added them + - x86/intel_rdt: Show missing resctrl mount options + - mtd: rawnand: atmel: Fix potential NULL pointer dereference + - nvme: call nvme_complete_rq when nvmf_check_ready fails for mpath I/O + - ath10k: fix tx status flag setting for management frames + - signal: Introduce COMPAT_SIGMINSTKSZ for use in compat_sys_sigaltstack + - ice: fix changing of ring descriptor size (ethtool -G) + - ice: update fw version check logic + - net: hns3: Fix for packet buffer setting bug + - Bluetooth: btbcm: Add entry for BCM4335C0 UART bluetooth + - Bluetooth: hci_qca: Remove hdev dereference in qca_close(). + - x86: boot: Fix EFI stub alignment + - net: hns3: Add nic state check before calling netif_tx_wake_queue + - net: hns3: Fix ets validate issue + - pinctrl: sunxi: fix 'pctrl->functions' allocation in + sunxi_pinctrl_build_state + - pinctrl: qcom: spmi-mpp: Fix err handling of pmic_mpp_set_mux + - brcmfmac: fix for proper support of 160MHz bandwidth + - net: hns3: Check hdev state when getting link status + - net: hns3: Set STATE_DOWN bit of hdev state when stopping net + - net: phy: phylink: ensure the carrier is off when starting phylink + - block, bfq: correctly charge and reset entity service in all cases + - arm64: entry: Allow handling of undefined instructions from EL1 + - kprobes: Return error if we fail to reuse kprobe instead of BUG_ON() + - spi: gpio: No MISO does not imply no RX + - ACPI / LPSS: Add alternative ACPI HIDs for Cherry Trail DMA controllers + - pinctrl: qcom: spmi-mpp: Fix drive strength setting + - bpf/verifier: fix verifier instability + - failover: Add missing check to validate 'slave_dev' in + net_failover_slave_unregister + - perf tests: Fix record+probe_libc_inet_pton.sh without ping's debuginfo + - pinctrl: spmi-mpp: Fix pmic_mpp_config_get() to be compliant + - pinctrl: ssbi-gpio: Fix pm8xxx_pin_config_get() to be compliant + - net: hns3: Preserve vlan 0 in hardware table + - net: hns3: Fix ping exited problem when doing lp selftest + - net: hns3: Fix for vf vlan delete failed problem + - net: dsa: mv88e6xxx: Fix writing to a PHY page. + - mt76x2u: run device cleanup routine if resume fails + - rsi: fix memory alignment issue in ARM32 platforms + - libertas_tf: prevent underflow in process_cmdrequest() + - iwlwifi: mvm: fix BAR seq ctrl reporting + - gpio: brcmstb: allow 0 width GPIO banks + - ixgbe: disallow IPsec Tx offload when in SR-IOV mode + - ixgbevf: VF2VF TCP RSS + - wil6210: fix RX buffers release and unmap + - ath10k: schedule hardware restart if WMI command times out + - libata: Apply NOLPM quirk for SAMSUNG MZ7TD256HAFV-000L9 + - thermal: rcar_thermal: Prevent doing work after unbind + - thermal: da9062/61: Prevent hardware access during system suspend + - cifs: fix a credits leak for compund commands + - cgroup, netclassid: add a preemption point to write_classid + - net: stmmac: dwmac-sun8i: fix OF child-node lookup + - f2fs: fix to account IO correctly for cgroup writeback + - MD: Memory leak when flush bio size is zero + - md: fix memleak for mempool + - of: Add missing exports of node name compare functions + - scsi: esp_scsi: Track residual for PIO transfers + - scsi: ufs: Schedule clk gating work on correct queue + - UAPI: ndctl: Fix g++-unsupported initialisation in headers + - KVM: nVMX: Clear reserved bits of #DB exit qualification + - scsi: megaraid_sas: fix a missing-check bug + - RDMA/core: Do not expose unsupported counters + - RDMA/cm: Respect returned status of cm_init_av_by_path + - IB/ipoib: Clear IPCB before icmp_send + - RDMA/bnxt_re: Avoid accessing nq->bar_reg_iomem in failure case + - RDMA/bnxt_re: Fix recursive lock warning in debug kernel + - usb: host: ohci-at91: fix request of irq for optional gpio + - PCI: mediatek: Fix mtk_pcie_find_port() endpoint/port matching logic + - PCI: cadence: Use AXI region 0 to signal interrupts from EP + - usb: typec: tcpm: Report back negotiated PPS voltage and current + - tpm: suppress transmit cmd error logs when TPM 1.2 is disabled/deactivated + - f2fs: clear PageError on the read path + - Drivers: hv: vmbus: Use cpumask_var_t for on-stack cpu mask + - VMCI: Resource wildcard match fixed + - PCI / ACPI: Enable wake automatically for power managed bridges + - xprtrdma: Reset credit grant properly after a disconnect + - irqchip/pdc: Setup all edge interrupts as rising edge at GIC + - usb: dwc2: fix call to vbus supply exit routine, call it unlocked + - usb: dwc2: fix a race with external vbus supply + - usb: gadget: udc: atmel: handle at91sam9rl PMC + - ext4: fix argument checking in EXT4_IOC_MOVE_EXT + - MD: fix invalid stored role for a disk + - PCI: cadence: Correct probe behaviour when failing to get PHY + - nvmem: check the return value of nvmem_add_cells() + - xhci: Avoid USB autosuspend when resuming USB2 ports. + - scsi: qla2xxx: Fix recursive mailbox timeout + - f2fs: fix to recover inode's crtime during POR + - f2fs: fix to recover inode's i_flags during POR + - PCI/MSI: Warn and return error if driver enables MSI/MSI-X twice + - coresight: etb10: Fix handling of perf mode + - PCI: dwc: pci-dra7xx: Enable errata i870 for both EP and RC mode + - crypto: caam - fix implicit casts in endianness helpers + - usb: chipidea: Prevent unbalanced IRQ disable + - Smack: ptrace capability use fixes + - driver/dma/ioat: Call del_timer_sync() without holding prep_lock + - ASoC: AMD: Fix capture unstable in beginning for some runs + - firmware: coreboot: Unmap ioregion after device population + - IB/ipoib: Use dev_port to expose network interface port numbers + - IB/mlx5: Allow transition of DCI QP to reset + - uio: ensure class is registered before devices + - scsi: lpfc: Correct soft lockup when running mds diagnostics + - scsi: lpfc: Correct race with abort on completion path + - f2fs: avoid sleeping under spin_lock + - f2fs: report error if quota off error during umount + - signal: Always deliver the kernel's SIGKILL and SIGSTOP to a pid namespace + init + - f2fs: fix to flush all dirty inodes recovered in readonly fs + - mfd: menelaus: Fix possible race condition and leak + - dmaengine: dma-jz4780: Return error if not probed from DT + - IB/rxe: fix for duplicate request processing and ack psns + - ALSA: hda: Check the non-cached stream buffers more explicitly + - cpupower: Fix AMD Family 0x17 msr_pstate size + - Revert "f2fs: fix to clear PG_checked flag in set_page_dirty()" + - f2fs: fix missing up_read + - f2fs: fix to recover cold bit of inode block during POR + - f2fs: fix to account IO correctly + - OPP: Free OPP table properly on performance state irregularities + - ARM: dts: exynos: Convert exynos5250.dtsi to opp-v2 bindings + - ARM: dts: exynos: Mark 1 GHz CPU OPP as suspend OPP on Exynos5250 + - xen-swiotlb: use actually allocated size on check physical continuous + - tpm: Restore functionality to xen vtpm driver. + - xen/blkfront: avoid NULL blkfront_info dereference on device removal + - xen/balloon: Support xend-based toolstack + - xen: fix race in xen_qlock_wait() + - xen: make xen_qlock_wait() nestable + - xen/pvh: increase early stack size + - xen/pvh: don't try to unplug emulated devices + - libertas: don't set URB_ZERO_PACKET on IN USB transfer + - usbip:vudc: BUG kmalloc-2048 (Not tainted): Poison overwritten + - usb: typec: tcpm: Fix APDO PPS order checking to be based on voltage + - usb: gadget: udc: renesas_usb3: Fix b-device mode for "workaround" + - mt76: mt76x2: fix multi-interface beacon configuration + - iwlwifi: mvm: check return value of rs_rate_from_ucode_rate() + - net/ipv4: defensive cipso option parsing + - dmaengine: ppc4xx: fix off-by-one build failure + - scsi: sched/wait: Add wait_event_lock_irq_timeout for TASK_UNINTERRUPTIBLE + usage + - scsi: target: Fix target_wait_for_sess_cmds breakage with active signals + - libnvdimm: Hold reference on parent while scheduling async init + - libnvdimm, region: Fail badblocks listing for inactive regions + - libnvdimm, pmem: Fix badblocks population for 'raw' namespaces + - ASoC: intel: skylake: Add missing break in skl_tplg_get_token() + - ASoC: sta32x: set ->component pointer in private struct + - IB/mlx5: Fix MR cache initialization + - IB/rxe: Revise the ib_wr_opcode enum + - jbd2: fix use after free in jbd2_log_do_checkpoint() + - gfs2_meta: ->mount() can get NULL dev_name + - ext4: fix EXT4_IOC_SWAP_BOOT + - ext4: initialize retries variable in ext4_da_write_inline_data_begin() + - ext4: fix setattr project check in fssetxattr ioctl + - ext4: propagate error from dquot_initialize() in EXT4_IOC_FSSETXATTR + - ext4: fix use-after-free race in ext4_remount()'s error path + - selinux: fix mounting of cgroup2 under older policies + - HID: wacom: Work around HID descriptor bug in DTK-2451 and DTH-2452 + - HID: hiddev: fix potential Spectre v1 + - EDAC, amd64: Add Family 17h, models 10h-2fh support + - EDAC, {i7core,sb,skx}_edac: Fix uncorrected error counting + - EDAC, skx_edac: Fix logical channel intermediate decoding + - ARM: dts: dra7: Fix up unaligned access setting for PCIe EP + - PCI/ASPM: Fix link_state teardown on device removal + - PCI: Add Device IDs for Intel GPU "spurious interrupt" quirk + - signal/GenWQE: Fix sending of SIGKILL + - signal: Guard against negative signal numbers in copy_siginfo_from_user32 + - crypto: lrw - Fix out-of bounds access on counter overflow + - crypto: tcrypt - fix ghash-generic speed test + - crypto: aesni - don't use GFP_ATOMIC allocation if the request doesn't cross + a page in gcm + - crypto: morus/generic - fix for big endian systems + - crypto: aegis/generic - fix for big endian systems + - crypto: speck - remove Speck + - mm: /proc/pid/smaps_rollup: fix NULL pointer deref in smaps_pte_range() + - userfaultfd: disable irqs when taking the waitqueue lock + - ima: fix showing large 'violations' or 'runtime_measurements_count' + - ima: open a new file instance if no read permissions + - hugetlbfs: dirty pages as they are added to pagecache + - mm/rmap: map_pte() was not handling private ZONE_DEVICE page properly + - mm/hmm: fix race between hmm_mirror_unregister() and mmu_notifier callback + - KVM: arm/arm64: Ensure only THP is candidate for adjustment + - KVM: arm64: Fix caching of host MDCR_EL2 value + - kbuild: fix kernel/bounds.c 'W=1' warning + - iio: ad5064: Fix regulator handling + - iio: adc: imx25-gcq: Fix leak of device_node in mx25_gcq_setup_cfgs() + - iio: adc: at91: fix acking DRDY irq on simple conversions + - iio: adc: at91: fix wrong channel number in triggered buffer mode + - w1: omap-hdq: fix missing bus unregister at removal + - smb3: allow stats which track session and share reconnects to be reset + - smb3: do not attempt cifs operation in smb3 query info error path + - smb3: on kerberos mount if server doesn't specify auth type use krb5 + - printk: Fix panic caused by passing log_buf_len to command line + - genirq: Fix race on spurious interrupt detection + - tpm: fix response size validation in tpm_get_random() + - NFC: nfcmrvl_uart: fix OF child-node lookup + - NFSv4.1: Fix the r/wsize checking + - nfs: Fix a missed page unlock after pg_doio() + - nfsd: correctly decrement odstate refcount in error path + - nfsd: Fix an Oops in free_session() + - lockd: fix access beyond unterminated strings in prints + - dm ioctl: harden copy_params()'s copy_from_user() from malicious users + - dm zoned: fix metadata block ref counting + - dm zoned: fix various dmz_get_mblock() issues + - media: ov7670: make "xclk" clock optional + - fsnotify: Fix busy inodes during unmount + - powerpc64/module elfv1: Set opd addresses after module relocation + - powerpc/msi: Fix compile error on mpc83xx + - powerpc/tm: Fix HFSCR bit for no suspend case + - powerpc/64s/hash: Do not use PPC_INVALIDATE_ERAT on CPUs before POWER9 + - MIPS: OCTEON: fix out of bounds array access on CN68XX + - rtc: ds1307: fix ds1339 wakealarm support + - rtc: cmos: Fix non-ACPI undefined reference to `hpet_rtc_interrupt' + - rtc: cmos: Remove the `use_acpi_alarm' module parameter for !ACPI + - power: supply: twl4030-charger: fix OF sibling-node lookup + - ocxl: Fix access to the AFU Descriptor Data + - iommu/arm-smmu: Ensure that page-table updates are visible before TLBI + - TC: Set DMA masks for devices + - net: bcmgenet: fix OF child-node lookup + - media: v4l2-tpg: fix kernel oops when enabling HFLIP and OSD + - Revert "media: dvbsky: use just one mutex for serializing device R/W ops" + - kgdboc: Passing ekgdboc to command line causes panic + - remoteproc: qcom: q6v5: Propagate EPROBE_DEFER + - media: cec: make cec_get_edid_spa_location() an inline function + - media: cec: integrate cec_validate_phys_addr() in cec-api.c + - xen: fix xen_qlock_wait() + - xen: remove size limit of privcmd-buf mapping interface + - xen-blkfront: fix kernel panic with negotiate_mq error path + - media: cec: add new tx/rx status bits to detect aborts/timeouts + - media: cec: fix the Signal Free Time calculation + - media: cec: forgot to cancel delayed work + - media: em28xx: use a default format if TRY_FMT fails + - media: tvp5150: avoid going past array on v4l2_querymenu() + - media: em28xx: fix input name for Terratec AV 350 + - media: em28xx: make v4l2-compliance happier by starting sequence on zero + - media: em28xx: fix handler for vidioc_s_input() + - media: adv7604: when the EDID is cleared, unconfigure CEC as well + - media: adv7842: when the EDID is cleared, unconfigure CEC as well + - drm/mediatek: fix OF sibling-node lookup + - media: media colorspaces*.rst: rename AdobeRGB to opRGB + - media: replace ADOBERGB by OPRGB + - media: hdmi.h: rename ADOBE_RGB to OPRGB and ADOBE_YCC to OPYCC + - arm64: lse: remove -fcall-used-x0 flag + - rpmsg: smd: fix memory leak on channel create + - Cramfs: fix abad comparison when wrap-arounds occur + - ARM: dts: socfpga: Fix SDRAM node address for Arria10 + - arm64: dts: stratix10: Correct System Manager register size + - soc: qcom: rmtfs-mem: Validate that scm is available + - soc/tegra: pmc: Fix child-node lookup + - selftests/ftrace: Fix synthetic event test to delete event correctly + - selftests/powerpc: Fix ptrace tm failure + - tracing: Return -ENOENT if there is no target synthetic event + - btrfs: qgroup: Avoid calling qgroup functions if qgroup is not enabled + - btrfs: Handle owner mismatch gracefully when walking up tree + - btrfs: locking: Add extra check in btrfs_init_new_buffer() to avoid deadlock + - btrfs: fix error handling in free_log_tree + - btrfs: fix error handling in btrfs_dev_replace_start + - btrfs: Enhance btrfs_trim_fs function to handle error better + - btrfs: Ensure btrfs_trim_fs can trim the whole filesystem + - btrfs: iterate all devices during trim, instead of fs_devices::alloc_list + - btrfs: don't attempt to trim devices that don't support it + - btrfs: keep trim from interfering with transaction commits + - btrfs: wait on caching when putting the bg cache + - Btrfs: don't clean dirty pages during buffered writes + - btrfs: release metadata before running delayed refs + - btrfs: protect space cache inode alloc with GFP_NOFS + - btrfs: reset max_extent_size on clear in a bitmap + - btrfs: make sure we create all new block groups + - Btrfs: fix warning when replaying log after fsync of a tmpfile + - Btrfs: fix wrong dentries after fsync of file that got its parent replaced + - btrfs: qgroup: Dirty all qgroups before rescan + - Btrfs: fix null pointer dereference on compressed write path error + - Btrfs: fix assertion on fsync of regular file when using no-holes feature + - Btrfs: fix deadlock when writing out free space caches + - btrfs: reset max_extent_size properly + - btrfs: set max_extent_size properly + - btrfs: don't use ctl->free_space for max_extent_size + - btrfs: only free reserved extent if we didn't insert it + - btrfs: fix insert_reserved error handling + - btrfs: don't run delayed_iputs in commit + - btrfs: move the dio_sem higher up the callchain + - Btrfs: fix use-after-free during inode eviction + - Btrfs: fix use-after-free when dumping free space + - net: sched: Remove TCA_OPTIONS from policy + - vt: fix broken display when running aptitude + - bpf: wait for running BPF programs when updating map-in-map + - vga_switcheroo: Fix missing gpu_bound call at audio client registration + - MD: fix invalid stored role for a disk - try2 + - Linux 4.19.2 + + * [FEAT] Guest-dedicated Crypto Adapters (LP: #1787405) + - KVM: s390: vsie: simulate VCPU SIE entry/exit + - KVM: s390: introduce and use KVM_REQ_VSIE_RESTART + - KVM: s390: refactor crypto initialization + - s390: vfio-ap: base implementation of VFIO AP device driver + - s390: vfio-ap: register matrix device with VFIO mdev framework + - s390: vfio-ap: sysfs interfaces to configure adapters + - s390: vfio-ap: sysfs interfaces to configure domains + - s390: vfio-ap: sysfs interfaces to configure control domains + - s390: vfio-ap: sysfs interface to view matrix mdev matrix + - KVM: s390: interface to clear CRYCB masks + - s390: vfio-ap: implement mediated device open callback + - s390: vfio-ap: implement VFIO_DEVICE_GET_INFO ioctl + - s390: vfio-ap: zeroize the AP queues + - s390: vfio-ap: implement VFIO_DEVICE_RESET ioctl + - KVM: s390: Clear Crypto Control Block when using vSIE + - KVM: s390: vsie: Do the CRYCB validation first + - KVM: s390: vsie: Make use of CRYCB FORMAT2 clear + - KVM: s390: vsie: Allow CRYCB FORMAT-2 + - KVM: s390: vsie: allow CRYCB FORMAT-1 + - KVM: s390: vsie: allow CRYCB FORMAT-0 + - KVM: s390: vsie: allow guest FORMAT-0 CRYCB on host FORMAT-1 + - KVM: s390: vsie: allow guest FORMAT-1 CRYCB on host FORMAT-2 + - KVM: s390: vsie: allow guest FORMAT-0 CRYCB on host FORMAT-2 + - KVM: s390: device attrs to enable/disable AP interpretation + - KVM: s390: CPU model support for AP virtualization + - s390: doc: detailed specifications for AP virtualization + - KVM: s390: fix locking for crypto setting error path + - KVM: s390: Tracing APCB changes + - s390: vfio-ap: setup APCB mask using KVM dedicated function + - [Config:] Enable CONFIG_S390_AP_IOMMU and set CONFIG_VFIO_AP to module. + + * Bypass of mount visibility through userns + mount propagation (LP: #1789161) + - mount: Retest MNT_LOCKED in do_umount + - mount: Don't allow copying MNT_UNBINDABLE|MNT_LOCKED mounts + + * CVE-2018-18955: nested user namespaces with more than five extents + incorrectly grant privileges over inode (LP: #1801924) // CVE-2018-18955 + - userns: also map extents in the reverse map to kernel IDs + + * kdump fail due to an IRQ storm (LP: #1797990) + - SAUCE: x86/PCI: Export find_cap() to be used in early PCI code + - SAUCE: x86/quirks: Add parameter to clear MSIs early on boot + - SAUCE: x86/quirks: Scan all busses for early PCI quirks + + * Disable LPM for Raydium Touchscreens (LP: #1802248) + - USB: quirks: Add no-lpm quirk for Raydium touchscreens + + * Power consumption during s2idle is higher than long idle(sk hynix) + (LP: #1801875) + - SAUCE: pci: prevent sk hynix nvme from entering D3 + - SAUCE: nvme: add quirk to not call disable function when suspending + + * Disco update: v4.19.1 upstream stable release (LP: #1801739) + - bridge: do not add port to router list when receives query with source + 0.0.0.0 + - ipv6/ndisc: Preserve IPv6 control buffer if protocol error handlers are + called + - net/mlx5e: fix csum adjustments caused by RXFCS + - net: sched: gred: pass the right attribute to gred_change_table_def() + - net: stmmac: Fix stmmac_mdio_reset() when building stmmac as modules + - net: udp: fix handling of CHECKSUM_COMPLETE packets + - Revert "net: simplify sock_poll_wait" + - rtnetlink: Disallow FDB configuration for non-Ethernet device + - vhost: Fix Spectre V1 vulnerability + - bonding: fix length of actor system + - openvswitch: Fix push/pop ethernet validation + - net/ipv6: Allow onlink routes to have a device mismatch if it is the default + route + - net/smc: fix smc_buf_unuse to use the lgr pointer + - mlxsw: spectrum_switchdev: Don't ignore deletions of learned MACs + - mlxsw: core: Fix devlink unregister flow + - net: drop skb on failure in ip_check_defrag() + - net: Properly unlink GRO packets on overflow. + - r8169: fix broken Wake-on-LAN from S5 (poweroff) + - Revert "be2net: remove desc field from be_eq_obj" + - sctp: check policy more carefully when getting pr status + - sparc64: Export __node_distance. + - sparc64: Make corrupted user stacks more debuggable. + - sparc64: Wire up compat getpeername and getsockname. + - net: bridge: remove ipv6 zero address check in mcast queries + - Linux 4.19.1 + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.7.11-1ubuntu1, zfs to 0.7.11-3ubuntu1 + - [Config] updateconfigs after 4.19.2 stable update + - [Config] Disable unneded options for s390 + - [Config] Update annotations for 4.19 + + -- Seth Forshee Thu, 15 Nov 2018 09:55:37 -0800 + +linux (4.19.0-4.5) disco; urgency=medium + + * Add checksum offload and TSO support for HiNIC adapters (LP: #1800664) + - net-next/hinic: add checksum offload and TSO support + + * [Bionic][Cosmic] Fix to ipmi to support vendor specific messages greater + than 255 bytes (LP: #1799794) + - ipmi:ssif: Add support for multi-part transmit messages > 2 parts + + * Packaging resync (LP: #1786013) + - [Package] add support for specifying the primary makefile + + * Update ENA driver to version 2.0.1K (LP: #1798182) + - net: ena: minor performance improvement + - net: ena: complete host info to match latest ENA spec + - net: ena: introduce Low Latency Queues data structures according to ENA spec + - net: ena: add functions for handling Low Latency Queues in ena_com + - net: ena: add functions for handling Low Latency Queues in ena_netdev + - net: ena: use CSUM_CHECKED device indication to report skb's checksum status + - net: ena: explicit casting and initialization, and clearer error handling + - net: ena: limit refill Rx threshold to 256 to avoid latency issues + - net: ena: change rx copybreak default to reduce kernel memory pressure + - net: ena: remove redundant parameter in ena_com_admin_init() + - net: ena: update driver version to 2.0.1 + - net: ena: fix indentations in ena_defs for better readability + - net: ena: Fix Kconfig dependency on X86 + - net: ena: enable Low Latency Queues + - net: ena: fix compilation error in xtensa architecture + + * [Bionic][Cosmic] ipmi: Fix timer race with module unload (LP: #1799281) + - ipmi: Fix timer race with module unload + + * Overlayfs in user namespace leaks directory content of inaccessible + directories (LP: #1793458) // CVE-2018-6559 + - SAUCE: overlayfs: ensure mounter privileges when reading directories + + * not able to unwind the stack from within __kernel_clock_gettime in the Linux + vDSO (LP: #1797963) + - powerpc/vdso: Correct call frame information + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Don't print secure boot state + from the efi stub" + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Make get_cert_list() use + efi_status_to_str() to print error messages." + - Revert "UBUNTU: SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err()." + - Revert "UBUNTU: SAUCE: (efi-lockdown) Make get_cert_list() not complain + about cert lists that aren't present." + - Revert "UBUNTU: SAUCE: (efi-lockdown) MODSIGN: Allow the "db" UEFI variable + to be suppressed" + - Revert "UBUNTU: SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI + Secure Boot" + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Add an EFI signature blob parser" + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Add EFI signature data types" + - Revert "UBUNTU: SAUCE: (efi-lockdown) KEYS: Allow unrestricted boot-time + addition of keys to secondary keyring" + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in + secure boot mode" + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to + indicate secure boot mode" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Copy secure_boot flag in boot params + across kexec reboot" + - Revert "UBUNTU: SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Lock down perf" + - Revert "UBUNTU: SAUCE: (efi-lockdown) bpf: Restrict kernel image access + functions when the kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Lock down kprobes" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Lock down /proc/kcore" + - Revert "UBUNTU: SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the + testmmiotrace module" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Lock down module params that specify + hardware parameters (eg. ioport)" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Lock down TIOCSSERIAL" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) acpi: Disable APEI error injection if + the kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) acpi: Disable ACPI table override if + the kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param + when the kernel has been locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) ACPI: Limit access to custom_method + when the kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) x86: Lock down IO port access when the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) PCI: Lock down BAR access when the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is + locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) hibernate: Disable when the kernel is + locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Enforce module signatures if the + kernel is locked down" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Add a SysRq option to lift kernel + lockdown" + - Revert "UBUNTU: SAUCE: (efi-lockdown) Add the ability to lock down access to + the running kernel image" + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the kernel is + locked down + - SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the kernel is locked + down + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Lock down module params that specify hardware + parameters (eg. ioport) + - SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the testmmiotrace module + - SAUCE: (efi-lockdown) Lock down /proc/kcore + - SAUCE: (efi-lockdown) Lock down kprobes + - SAUCE: (efi-lockdown) Lock down perf + - SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the kernel is locked + down + - SAUCE: (efi-lockdown) KEYS: Allow unrestricted boot-time addition of keys to + secondary keyring + - SAUCE: (efi-lockdown) efi: Add EFI signature data types + - SAUCE: (efi-lockdown) efi: Add an EFI signature blob parser + - SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI Secure Boot + - SAUCE: (efi-lockdown) MODSIGN: Allow the "db" UEFI variable to be suppressed + - SAUCE: (efi-lockdown) Make get_cert_list() not complain about cert lists + that aren't present. + - SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err(). + - SAUCE: (efi-lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) efi/x86: Call efi_parse_options() from efi_main() + - SAUCE: (efi-lockdown) Fix for module sig verification + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) module: remove support for having IMA validate modules + - [Packaging] generate Vcs-Git url from changelog + - [Config] CONFIG_SCSI_MQ_DEFAULT=y + + -- Seth Forshee Fri, 02 Nov 2018 14:22:55 -0500 + +linux (4.19.0-3.4) cosmic; urgency=medium + + * Support Edge Gateway's Bluetooth LED (LP: #1798332) + - SAUCE: Bluetooth: Support for LED on Edge Gateways + + * Support Edge Gateway's WIFI LED (LP: #1798330) + - SAUCE: mwifiex: Switch WiFi LED state according to the device status + + [ Upstream Kernel Changes ] + + * Rebase to v4.19 + + -- Seth Forshee Mon, 22 Oct 2018 09:13:39 -0500 + +linux (4.19.0-2.3) cosmic; urgency=medium + + * fscache: bad refcounting in fscache_op_complete leads to OOPS (LP: #1797314) + - SAUCE: fscache: Fix race in decrementing refcount of op->npages + + * Provide mode where all vCPUs on a core must be the same VM (LP: #1792957) + - KVM: PPC: Book3S HV: Provide mode where all vCPUs on a core must be the same + VM + + * The front MIC can't work on the Lenovo M715 (LP: #1797292) + - ALSA: hda/realtek - Fix the problem of the front MIC on the Lenovo M715 + + * arm64: snapdragon: WARNING: CPU: 0 PID: 1 at drivers/irqchip/irq-gic.c:1016 + gic_irq_domain_translate (LP: #1797143) + - SAUCE: arm64: dts: msm8916: camms: fix gic_irq_domain_translate warnings + + * Dell new AIO requires a new uart backlight driver (LP: #1727235) + - SAUCE: platform/x86: dell-uart-backlight: new backlight driver for DELL AIO + - updateconfigs for Dell UART backlight driver + + * Please make CONFIG_PWM_LPSS_PCI and CONFIG_PWM_LPSS_PLATFORM built in to + make brightness adjustment working on various BayTrail/CherryTrail-based + devices (LP: #1783964) + - [Config]: Make PWM_LPSS_* built-in + + * check and fix zkey required kernel modules locations in debs, udebs, and + initramfs (LP: #1794346) + - [Config] add s390 crypto modules to crypt-modules udeb + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_VBOXGUEST=n + - ubuntu: vbox -- update to 5.2.18-dfsg-2 + - ubuntu: enable vbox build + + [ Upstream Kernel Changes ] + + * Rebase to v4.19-rc8 + + -- Seth Forshee Mon, 15 Oct 2018 10:52:04 -0500 + +linux (4.19.0-1.2) cosmic; urgency=medium + + * Page leaking in cachefiles_read_backing_file while vmscan is active + (LP: #1793430) + - SAUCE: cachefiles: Page leaking in cachefiles_read_backing_file while vmscan + is active + + * SRU: Enable middle button of touchpad on ThinkPad P72 (LP: #1793463) + - Input: elantech - enable middle button of touchpad on ThinkPad P72 + + * Improvements to the kernel source package preparation (LP: #1793461) + - [Packaging] startnewrelease: add support for backport kernels + + * Fix unusable NVIDIA GPU after S3 (LP: #1793338) + - SAUCE: PCI: Reprogram bridge prefetch registers on resume + + * Error reported when creating ZFS pool with "-t" option, despite successful + pool creation (LP: #1769937) + - SAUCE: (noup) Update zfs to 0.7.9-3ubuntu6 + + * device hotplug of vfio devices can lead to deadlock in vfio_pci_release + (LP: #1792099) + - SAUCE: vfio -- release device lock before userspace requests + + * Miscellaneous Ubuntu changes + - [Packaging] retpoline -- fix temporary filenaming + - CONFIG_BCH_CONST_PARAMS=n + - Packaging: final-checks: remove trailing backport suffix + - SAUCE: import aufs driver + + [ Upstream Kernel Changes ] + + * Rebase to v4.19-rc5 + + -- Seth Forshee Tue, 25 Sep 2018 16:32:24 -0500 + +linux (4.19.0-0.1) cosmic; urgency=medium + + * Miscellaneous Ubuntu changes + - ubuntu -- disable vbox build + - Disable zfs build + - SAUCE: Import aufs driver + - Update dropped.txt + + [ Upstream Kernel Changes ] + + * Rebase to v4.19-rc3 + + -- Seth Forshee Thu, 13 Sep 2018 07:54:47 -0500 + +linux (4.19.0-0.0) cosmic; urgency=medium + + * Dummy entry. + + -- Seth Forshee Thu, 13 Sep 2018 06:44:09 -0500 + +linux (4.18.0-8.9) cosmic; urgency=medium + + * linux: 4.18.0-8.9 -proposed tracker (LP: #1791663) + + * Cosmic update to v4.18.7 stable release (LP: #1791660) + - rcu: Make expedited GPs handle CPU 0 being offline + - net: 6lowpan: fix reserved space for single frames + - net: mac802154: tx: expand tailroom if necessary + - 9p/net: Fix zero-copy path in the 9p virtio transport + - spi: davinci: fix a NULL pointer dereference + - spi: pxa2xx: Add support for Intel Ice Lake + - spi: spi-fsl-dspi: Fix imprecise abort on VF500 during probe + - spi: cadence: Change usleep_range() to udelay(), for atomic context + - mmc: block: Fix unsupported parallel dispatch of requests + - mmc: renesas_sdhi_internal_dmac: mask DMAC interrupts + - mmc: renesas_sdhi_internal_dmac: fix #define RST_RESERVED_BITS + - readahead: stricter check for bdi io_pages + - block: fix infinite loop if the device loses discard capability + - block: blk_init_allocated_queue() set q->fq as NULL in the fail case + - block: really disable runtime-pm for blk-mq + - blkcg: Introduce blkg_root_lookup() + - block: Introduce blk_exit_queue() + - block: Ensure that a request queue is dissociated from the cgroup controller + - apparmor: fix bad debug check in apparmor_secid_to_secctx() + - dma-buf: Move BUG_ON from _add_shared_fence to _add_shared_inplace + - libertas: fix suspend and resume for SDIO connected cards + - media: Revert "[media] tvp5150: fix pad format frame height" + - mailbox: xgene-slimpro: Fix potential NULL pointer dereference + - Replace magic for trusting the secondary keyring with #define + - Fix kexec forbidding kernels signed with keys in the secondary keyring to + boot + - powerpc/fadump: handle crash memory ranges array index overflow + - powerpc/64s: Fix page table fragment refcount race vs speculative references + - powerpc/pseries: Fix endianness while restoring of r3 in MCE handler. + - powerpc/pkeys: Give all threads control of their key permissions + - powerpc/pkeys: Deny read/write/execute by default + - powerpc/pkeys: key allocation/deallocation must not change pkey registers + - powerpc/pkeys: Save the pkey registers before fork + - powerpc/pkeys: Fix calculation of total pkeys. + - powerpc/pkeys: Preallocate execute-only key + - powerpc/nohash: fix pte_access_permitted() + - powerpc64/ftrace: Include ftrace.h needed for enable/disable calls + - powerpc/powernv/pci: Work around races in PCI bridge enabling + - cxl: Fix wrong comparison in cxl_adapter_context_get() + - IB/mlx5: Honor cnt_set_id_valid flag instead of set_id + - IB/mlx5: Fix leaking stack memory to userspace + - IB/srpt: Fix srpt_cm_req_recv() error path (1/2) + - IB/srpt: Fix srpt_cm_req_recv() error path (2/2) + - IB/srpt: Support HCAs with more than two ports + - overflow.h: Add arithmetic shift helper + - RDMA/mlx5: Fix shift overflow in mlx5_ib_create_wq + - ib_srpt: Fix a use-after-free in srpt_close_ch() + - ib_srpt: Fix a use-after-free in __srpt_close_all_ch() + - RDMA/rxe: Set wqe->status correctly if an unexpected response is received + - 9p: fix multiple NULL-pointer-dereferences + - fs/9p/xattr.c: catch the error of p9_client_clunk when setting xattr failed + - 9p/virtio: fix off-by-one error in sg list bounds check + - net/9p/client.c: version pointer uninitialized + - net/9p/trans_fd.c: fix race-condition by flushing workqueue before the + kfree() + - dm integrity: change 'suspending' variable from bool to int + - dm thin: stop no_space_timeout worker when switching to write-mode + - dm cache metadata: save in-core policy_hint_size to on-disk superblock + - dm cache metadata: set dirty on all cache blocks after a crash + - dm crypt: don't decrease device limits + - dm writecache: fix a crash due to reading past end of dirty_bitmap + - uart: fix race between uart_put_char() and uart_shutdown() + - Drivers: hv: vmbus: Fix the offer_in_progress in vmbus_process_offer() + - Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind() + - iio: sca3000: Fix missing return in switch + - iio: ad9523: Fix displayed phase + - iio: ad9523: Fix return value for ad952x_store() + - extcon: Release locking when sending the notification of connector state + - eventpoll.h: wrap casts in () properly + - vmw_balloon: fix inflation of 64-bit GFNs + - vmw_balloon: do not use 2MB without batching + - vmw_balloon: VMCI_DOORBELL_SET does not check status + - vmw_balloon: fix VMCI use when balloon built into kernel + - rtc: omap: fix resource leak in registration error path + - rtc: omap: fix potential crash on power off + - tracing: Do not call start/stop() functions when tracing_on does not change + - tracing/blktrace: Fix to allow setting same value + - printk/tracing: Do not trace printk_nmi_enter() + - livepatch: Validate module/old func name length + - uprobes: Use synchronize_rcu() not synchronize_sched() + - mfd: hi655x: Fix regmap area declared size for hi655x + - ovl: fix wrong use of impure dir cache in ovl_iterate() + - ACPICA: AML Parser: skip opcodes that open a scope upon parse failure + - ACPICA: Clear status of all events when entering sleep states + - drivers/block/zram/zram_drv.c: fix bug storing backing_dev + - sched: idle: Avoid retaining the tick when it has been stopped + - cpuidle: menu: Handle stopped tick more aggressively + - cpufreq: governor: Avoid accessing invalid governor_data + - PM / sleep: wakeup: Fix build error caused by missing SRCU support + - ALSA: ac97: fix device initialization in the compat layer + - ALSA: ac97: fix check of pm_runtime_get_sync failure + - ALSA: ac97: fix unbalanced pm_runtime_enable + - i2c: designware: Re-init controllers with pm_disabled set on resume + - KVM: VMX: fixes for vmentry_l1d_flush module parameter + - KVM: PPC: Book3S: Fix guest DMA when guest partially backed by THP pages + - xtensa: limit offsets in __loop_cache_{all,page} + - xtensa: increase ranges in ___invalidate_{i,d}cache_all + - block, bfq: return nbytes and not zero from struct cftype .write() method + - pnfs/blocklayout: off by one in bl_map_stripe() + - nfsd: fix leaked file lock with nfs exported overlayfs + - NFSv4 client live hangs after live data migration recovery + - NFSv4: Fix locking in pnfs_generic_recover_commit_reqs + - NFSv4: Fix a sleep in atomic context in nfs4_callback_sequence() + - ARM: tegra: Fix Tegra30 Cardhu PCA954x reset + - ARM: dts: am57xx-idk: Enable dual role for USB2 port + - pwm: omap-dmtimer: Return -EPROBE_DEFER if no dmtimer platform data + - mm/tlb: Remove tlb_remove_table() non-concurrent condition + - iommu/ipmmu-vmsa: Don't register as BUS IOMMU if machine doesn't have IPMMU- + VMSA + - iommu/vt-d: Add definitions for PFSID + - iommu/vt-d: Fix dev iotlb pfsid use + - sys: don't hold uts_sem while accessing userspace memory + - userns: move user access out of the mutex + - ubifs: Fix memory leak in lprobs self-check + - Revert "UBIFS: Fix potential integer overflow in allocation" + - ubifs: Check data node size before truncate + - ubifs: xattr: Don't operate on deleted inodes + - ubifs: Fix directory size calculation for symlinks + - ubifs: Fix synced_i_size calculation for xattr inodes + - pwm: tiehrpwm: Don't use emulation mode bits to control PWM output + - pwm: tiehrpwm: Fix disabling of output of PWMs + - fb: fix lost console when the user unplugs a USB adapter + - udlfb: fix semaphore value leak + - udlfb: fix display corruption of the last line + - udlfb: don't switch if we are switching to the same videomode + - udlfb: set optimal write delay + - udlfb: make a local copy of fb_ops + - udlfb: handle allocation failure + - udlfb: set line_length in dlfb_ops_set_par + - getxattr: use correct xattr length + - libnvdimm: Use max contiguous area for namespace size + - libnvdimm: fix ars_status output length calculation + - bcache: release dc->writeback_lock properly in bch_writeback_thread() + - kconfig: fix "Can't open ..." in parallel build + - perf auxtrace: Fix queue resize + - crypto: vmx - Fix sleep-in-atomic bugs + - crypto: aesni - Use unaligned loads from gcm_context_data + - crypto: arm64/sm4-ce - check for the right CPU feature bit + - crypto: caam - fix DMA mapping direction for RSA forms 2 & 3 + - crypto: caam/jr - fix descriptor DMA unmapping + - crypto: caam/qi - fix error path in xts setkey + - fs/quota: Fix spectre gadget in do_quotactl + - udf: Fix mounting of Win7 created UDF filesystems + - cpuidle: menu: Retain tick when shallow state is selected + - arm64: mm: always enable CONFIG_HOLES_IN_ZONE + - Linux 4.18.7 + + * CVE-2017-5715 + - s390: detect etoken facility + - KVM: s390: add etoken support for guests + + * Missing Intel GPU pci-id's (LP: #1789924) + - drm/i915/whl: Introducing Whiskey Lake platform + - drm/i915/aml: Introducing Amber Lake platform + - drm/i915/cfl: Add a new CFL PCI ID. + + * [18.10 FEAT] Add kernel config options for SMC-R/D (LP: #1789934) + - s390/ism: add device driver for internal shared memory + - CONFIG_ISM=y for s390 + + * Cosmic update to v4.18.6 stable release (LP: #1791105) + - PATCH scripts/kernel-doc + - scripts/kernel-doc: Escape all literal braces in regexes + - scsi: libsas: dynamically allocate and free ata host + - xprtrdma: Fix disconnect regression + - mei: don't update offset in write + - cifs: add missing support for ACLs in SMB 3.11 + - CIFS: fix uninitialized ptr deref in smb2 signing + - cifs: add missing debug entries for kconfig options + - cifs: use a refcount to protect open/closing the cached file handle + - cifs: check kmalloc before use + - smb3: enumerating snapshots was leaving part of the data off end + - smb3: Do not send SMB3 SET_INFO if nothing changed + - smb3: don't request leases in symlink creation and query + - smb3: fill in statfs fsid and correct namelen + - btrfs: use correct compare function of dirty_metadata_bytes + - btrfs: don't leak ret from do_chunk_alloc + - Btrfs: fix mount failure after fsync due to hard link recreation + - Btrfs: fix btrfs_write_inode vs delayed iput deadlock + - Btrfs: fix send failure when root has deleted files still open + - Btrfs: send, fix incorrect file layout after hole punching beyond eof + - hwmon: (k10temp) 27C Offset needed for Threadripper2 + - bpf, arm32: fix stack var offset in jit + - regulator: arizona-ldo1: Use correct device to get enable GPIO + - iommu/arm-smmu: Error out only if not enough context interrupts + - printk: Split the code for storing a message into the log buffer + - printk: Create helper function to queue deferred console handling + - printk/nmi: Prevent deadlock when accessing the main log buffer in NMI + - kprobes/arm64: Fix %p uses in error messages + - arm64: Fix mismatched cache line size detection + - arm64: Handle mismatched cache type + - arm64: mm: check for upper PAGE_SHIFT bits in pfn_valid() + - arm64: dts: rockchip: corrected uart1 clock-names for rk3328 + - KVM: arm/arm64: Fix potential loss of ptimer interrupts + - KVM: arm/arm64: Fix lost IRQs from emulated physcial timer when blocked + - KVM: arm/arm64: Skip updating PMD entry if no change + - KVM: arm/arm64: Skip updating PTE entry if no change + - s390/kvm: fix deadlock when killed by oom + - perf kvm: Fix subcommands on s390 + - stop_machine: Reflow cpu_stop_queue_two_works() + - stop_machine: Atomically queue and wake stopper threads + - ext4: check for NUL characters in extended attribute's name + - ext4: use ext4_warning() for sb_getblk failure + - ext4: sysfs: print ext4_super_block fields as little-endian + - ext4: reset error code in ext4_find_entry in fallback + - ext4: fix race when setting the bitmap corrupted flag + - x86/gpu: reserve ICL's graphics stolen memory + - platform/x86: wmi: Do not mix pages and kmalloc + - platform/x86: ideapad-laptop: Apply no_hw_rfkill to Y20-15IKBM, too + - mm: move tlb_table_flush to tlb_flush_mmu_free + - mm/tlb, x86/mm: Support invalidating TLB caches for RCU_TABLE_FREE + - x86/speculation/l1tf: Fix overflow in l1tf_pfn_limit() on 32bit + - x86/speculation/l1tf: Fix off-by-one error when warning that system has too + much RAM + - x86/speculation/l1tf: Suggest what to do on systems with too much RAM + - x86/vdso: Fix vDSO build if a retpoline is emitted + - x86/process: Re-export start_thread() + - KVM: x86: ensure all MSRs can always be KVM_GET/SET_MSR'd + - KVM: x86: SVM: Call x86_spec_ctrl_set_guest/host() with interrupts disabled + - fuse: Don't access pipe->buffers without pipe_lock() + - fuse: fix initial parallel dirops + - fuse: fix double request_end() + - fuse: fix unlocked access to processing queue + - fuse: umount should wait for all requests + - fuse: Fix oops at process_init_reply() + - fuse: Add missed unlock_page() to fuse_readpages_fill() + - lib/vsprintf: Do not handle %pO[^F] as %px + - udl-kms: change down_interruptible to down + - udl-kms: handle allocation failure + - udl-kms: fix crash due to uninitialized memory + - udl-kms: avoid division + - b43legacy/leds: Ensure NUL-termination of LED name string + - b43/leds: Ensure NUL-termination of LED name string + - ASoC: dpcm: don't merge format from invalid codec dai + - ASoC: zte: Fix incorrect PCM format bit usages + - ASoC: sirf: Fix potential NULL pointer dereference + - ASoC: wm_adsp: Correct DSP pointer for preloader control + - soc: qcom: rmtfs-mem: fix memleak in probe error paths + - pinctrl: freescale: off by one in imx1_pinconf_group_dbg_show() + - scsi: qla2xxx: Fix stalled relogin + - x86/vdso: Fix lsl operand order + - x86/nmi: Fix NMI uaccess race against CR3 switching + - x86/irqflags: Mark native_restore_fl extern inline + - x86/spectre: Add missing family 6 check to microcode check + - x86/speculation/l1tf: Increase l1tf memory limit for Nehalem+ + - hwmon: (nct6775) Fix potential Spectre v1 + - x86/entry/64: Wipe KASAN stack shadow before rewind_stack_do_exit() + - x86: Allow generating user-space headers without a compiler + - s390/mm: fix addressing exception after suspend/resume + - s390/lib: use expoline for all bcr instructions + - s390: fix br_r1_trampoline for machines without exrl + - s390/qdio: reset old sbal_state flags + - s390/numa: move initial setup of node_to_cpumask_map + - s390/purgatory: Fix crash with expoline enabled + - s390/purgatory: Add missing FORCE to Makefile targets + - kprobes: Show blacklist addresses as same as kallsyms does + - kprobes: Replace %p with other pointer types + - kprobes/arm: Fix %p uses in error messages + - kprobes: Make list and blacklist root user read only + - MIPS: Correct the 64-bit DSP accumulator register size + - MIPS: memset.S: Fix byte_fixup for MIPSr6 + - MIPS: Always use -march=, not - shortcuts + - MIPS: Change definition of cpu_relax() for Loongson-3 + - MIPS: lib: Provide MIPS64r6 __multi3() for GCC < 7 + - tpm: Return the actual size when receiving an unsupported command + - tpm: separate cmd_ready/go_idle from runtime_pm + - scsi: mpt3sas: Fix calltrace observed while running IO & reset + - scsi: mpt3sas: Fix _transport_smp_handler() error path + - scsi: sysfs: Introduce sysfs_{un,}break_active_protection() + - scsi: core: Avoid that SCSI device removal through sysfs triggers a deadlock + - iscsi target: fix session creation failure handling + - mtd: rawnand: hynix: Use ->exec_op() in hynix_nand_reg_write_op() + - mtd: rawnand: fsmc: Stop using chip->read_buf() + - mtd: rawnand: marvell: add suspend and resume hooks + - mtd: rawnand: qcom: wait for desc completion in all BAM channels + - clk: rockchip: fix clk_i2sout parent selection bits on rk3399 + - clk: npcm7xx: fix memory allocation + - PM / clk: signedness bug in of_pm_clk_add_clks() + - power: generic-adc-battery: fix out-of-bounds write when copying channel + properties + - power: generic-adc-battery: check for duplicate properties copied from iio + channels + - watchdog: Mark watchdog touch functions as notrace + - cdrom: Fix info leak/OOB read in cdrom_ioctl_drive_status + - x86/dumpstack: Don't dump kernel memory based on usermode RIP + - Linux 4.18.6 + - updateconfigs after v4.18.6 stable update + + * random oopses on s390 systems using NVMe devices (LP: #1790480) + - s390/pci: fix out of bounds access during irq setup + + * [18.10 FEAT] zcrypt DD: introduce APQN tags to support deterministic driver + binding (LP: #1784331) + - s390/zcrypt: code beautify + - s390/zcrypt: AP bus support for alternate driver(s) + - s390/zcrypt: hex string mask improvements for apmask and aqmask. + + * performance drop with ATS enabled (LP: #1788097) + - powerpc/powernv: Fix concurrency issue with npu->mmio_atsd_usage + + * Fix MCE handling for user access of poisoned device-dax mapping + (LP: #1774366) + - device-dax: Convert to vmf_insert_mixed and vm_fault_t + - device-dax: Enable page_mapping() + - device-dax: Set page->index + - filesystem-dax: Set page->index + - mm, madvise_inject_error: Disable MADV_SOFT_OFFLINE for ZONE_DEVICE pages + - mm, dev_pagemap: Do not clear ->mapping on final put + - mm, madvise_inject_error: Let memory_failure() optionally take a page + reference + - mm, memory_failure: Collect mapping size in collect_procs() + - filesystem-dax: Introduce dax_lock_mapping_entry() + - mm, memory_failure: Teach memory_failure() about dev_pagemap pages + - x86/mm/pat: Prepare {reserve, free}_memtype() for "decoy" addresses + - x86/memory_failure: Introduce {set, clear}_mce_nospec() + - libnvdimm, pmem: Restore page attributes when clearing errors + + * Reconcile hns3 SAUCE patches with upstream (LP: #1787477) + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix comments for + hclge_get_ring_chain_from_mbx" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for using wrong mask and + shift in hclge_get_ring_chain_from_mbx" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for reset_level default + assignment probelm" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove unnecessary ring + configuration operation while resetting" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix return value error in + hns3_reset_notify_down_enet" + - Revert "UBUNTU: SAUCE: net: hns3: Fix for phy link issue when using marvell + phy driver" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: separate roce from nic when + resetting" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: correct reset event status + register" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: prevent to request reset + frequently" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: reset net device with rtnl_lock" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: modify the order of initializeing + command queue register" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: prevent sending command during + global or core reset" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: Use roce handle when calling roce + callback function" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove the warning when clear + reset cause" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix get_vector ops in + hclgevf_main module" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix warning bug when doing lp + selftest" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: Add configure for mac minimal + frame size" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for mailbox message truncated + problem" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for l4 checksum offload bug" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for waterline not setting + correctly" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix for mac pause not disable in + pfc mode" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix tc setup when netdev is first + up" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: Add calling roce callback + function when link status change" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: optimize the process of notifying + roce client" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: Add pf reset for hip08 RoCE" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: Add SPDX tags to hns3 driver" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove unused struct member and + definition" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix mislead parameter name" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: modify inconsistent bit mask + macros" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: use decimal for bit offset + macros" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: fix unreasonable code comments" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove extra space and brackets" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: standardize the handle of return + value" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove some redundant + assignments" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: modify hnae_ to hnae3_" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: use dma_zalloc_coherent instead + of kzalloc/dma_map_single" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: give default option while + dependency HNS3 set" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove some unused members of + some structures" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove a redundant + hclge_cmd_csq_done" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: using modulo for cyclic counters + in hclge_cmd_send" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: simplify hclge_cmd_csq_clean" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove some redundant + assignments" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove useless code in + hclge_cmd_send" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove unused + hclge_ring_to_dma_dir" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: use lower_32_bits and + upper_32_bits" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove back in struct hclge_hw" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: add unlikely for error check" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove the Redundant put_vector + in hns3_client_uninit" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: print the ret value in error + information" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: extraction an interface for state + state init|uninit" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove unused head file in + hnae3.c" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: add l4_type check for both ipv4 + and ipv6" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: add vector status check before + free vector" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: rename the interface for + init_client_instance and uninit_client_instance" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: remove hclge_get_vector_index + from hclge_bind_ring_with_vector" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: RX BD information valid only in + last BD except VLD bit and buffer size" + - Revert "UBUNTU: SAUCE: {topost} net: hns3: add support for serdes loopback + selftest" + - net: hns3: Updates RX packet info fetch in case of multi BD + - net: hns3: remove hclge_get_vector_index from hclge_bind_ring_with_vector + - net: hns3: rename the interface for init_client_instance and + uninit_client_instance + - net: hns3: add vector status check before free vector + - net: hns3: add l4_type check for both ipv4 and ipv6 + - net: hns3: add unlikely for error check + - net: hns3: remove unused head file in hnae3.c + - net: hns3: extraction an interface for state init|uninit + - net: hns3: print the ret value in error information + - net: hns3: remove the Redundant put_vector in hns3_client_uninit + - net: hns3: remove back in struct hclge_hw + - net: hns3: use lower_32_bits and upper_32_bits + - net: hns3: remove unused hclge_ring_to_dma_dir + - net: hns3: remove useless code in hclge_cmd_send + - net: hns3: remove some redundant assignments + - net: hns3: simplify hclge_cmd_csq_clean + - net: hns3: remove a redundant hclge_cmd_csq_done + - net: hns3: remove some unused members of some structures + - net: hns3: give default option while dependency HNS3 set + - net: hns3: use dma_zalloc_coherent instead of kzalloc/dma_map_single + - net: hns3: modify hnae_ to hnae3_ + - net: hns3: Fix tc setup when netdev is first up + - net: hns3: Fix for mac pause not disable in pfc mode + - net: hns3: Fix for waterline not setting correctly + - net: hns3: Fix for l4 checksum offload bug + - net: hns3: Fix for mailbox message truncated problem + - net: hns3: Add configure for mac minimal frame size + - net: hns3: Fix warning bug when doing lp selftest + - net: hns3: Fix get_vector ops in hclgevf_main module + - net: hns3: Remove the warning when clear reset cause + - net: hns3: Prevent sending command during global or core reset + - net: hns3: Modify the order of initializing command queue register + - net: hns3: Reset net device with rtnl_lock + - net: hns3: Prevent to request reset frequently + - net: hns3: Correct reset event status register + - net: hns3: Fix return value error in hns3_reset_notify_down_enet + - net: hns3: remove unnecessary ring configuration operation while resetting + - net: hns3: Fix for reset_level default assignment probelm + - net: hns3: Fix for using wrong mask and shift in + hclge_get_ring_chain_from_mbx + - net: hns3: Fix comments for hclge_get_ring_chain_from_mbx + - net: hns3: Remove some redundant assignments + - net: hns3: Standardize the handle of return value + - net: hns3: Remove extra space and brackets + - net: hns3: Correct unreasonable code comments + - net: hns3: Use decimal for bit offset macros + - net: hns3: Modify inconsistent bit mask macros + - net: hns3: Fix misleading parameter name + - net: hns3: Remove unused struct member and definition + - net: hns3: Add SPDX tags to HNS3 PF driver + - net: hns3: Add support for serdes loopback selftest + - net: hns3: Fix for phy link issue when using marvell phy driver + + * [Regression] kernel crashdump fails on arm64 (LP: #1786878) + - arm64: export memblock_reserve()d regions via /proc/iomem + - drivers: acpi: add dependency of EFI for arm64 + - efi/arm: preserve early mapping of UEFI memory map longer for BGRT + - efi/arm: map UEFI memory map even w/o runtime services enabled + - arm64: acpi: fix alignment fault in accessing ACPI + - [Config] CONFIG_ARCH_SUPPORTS_ACPI=y + - arm64: fix ACPI dependencies + - ACPI: fix menuconfig presentation of ACPI submenu + + * TB 16 issue on Dell Lattitude 7490 with large amount of data (LP: #1785780) + - r8152: disable RX aggregation on new Dell TB16 dock + + * Support Power Management for Thunderbolt Controller (LP: #1789358) + - thunderbolt: Use 64-bit DMA mask if supported by the platform + - thunderbolt: Do not unnecessarily call ICM get route + - thunderbolt: No need to take tb->lock in domain suspend/complete + - thunderbolt: Use correct ICM commands in system suspend + - thunderbolt: Add support for runtime PM + + * Enable AMD PCIe MP2 for AMDI0011 (LP: #1773940) + - SAUCE: i2c:amd I2C Driver based on PCI Interface for upcoming platform + - SAUCE: i2c:amd move out pointer in union i2c_event_base + - SAUCE: i2c:amd Depends on ACPI + - [Config] i2c: CONFIG_I2C_AMD_MP2=y on x86 + + * Microphone cannot be detected with front panel audio combo jack on HP Z8-G4 + machine (LP: #1789145) + - ALSA: hda/realtek - Fix HP Headset Mic can't record + + * Please enable CONFIG_PAGE_POISONING (LP: #1783651) + - [Config] Enable CONFIG_PAGE_POISONING configs + + * Tango platform uses __initcall without further checks (LP: #1787945) + - [Config] disable ARCH_TANGO + + * [18.10 FEAT] SMC-Direct (LP: #1786902) + - net/smc: determine port attributes independent from pnet table + - net/smc: add pnetid support + - net/smc: add base infrastructure for SMC-D and ISM + - net/smc: add pnetid support for SMC-D and ISM + - net/smc: add SMC-D support in CLC messages + - net/smc: add SMC-D support in data transfer + - net/smc: add SMC-D support in af_smc + - net/smc: add SMC-D diag support + - net/smc: provide smc mode in smc_diag.c + - net/smc: eliminate cursor read and write calls + - net/smc: add function to get link group from link + - net/smc: use DECLARE_BITMAP for rtokens_used_mask + - net/smc: remove local variable page in smc_rx_splice() + - net/smc: Remove a WARN_ON() statement + - net/smc: Simplify ib_post_(send|recv|srq_recv)() calls + - net/smc: fewer parameters for smc_llc_send_confirm_link() + - net/smc: use correct vlan gid of RoCE device + - net/smc: provide fallback reason code + - net/smc: improve delete link processing + - net: simplify sock_poll_wait + - net/smc: send response to test link signal + + * Miscellaneous Ubuntu changes + - [Config] update annotations for CONFIG_CRYPTO_SPECK_NEON + - [Config] fix up annotatios for CONFIG_CRYPTO_SPECK + + -- Seth Forshee Mon, 10 Sep 2018 07:08:38 -0500 + +linux (4.18.0-7.8) cosmic; urgency=medium + + * linux: 4.18.0-7.8 -proposed tracker (LP: #1789459) + + * pmtu.sh fails on 4.18 kernel (LP: #1789436) + - SAUCE: Revert "vti6: fix PMTU caching and reporting on xmit" + + -- Seth Forshee Tue, 28 Aug 2018 11:08:51 -0500 + +linux (4.18.0-6.7) cosmic; urgency=medium + + * linux: 4.18.0-6.7 -proposed tracker (LP: #1788881) + + * systemd 237-3ubuntu10 ADT test failure with linux 4.18.0-5.6 (LP: #1787440) + - Config: Disable BPF_JIT_ALWAYS_ON on i386 + + * execveat03 in ubuntu_ltp_syscalls failed on X/B (LP: #1786729) + - cap_inode_getsecurity: use d_find_any_alias() instead of d_find_alias() + + * Cosmic update to v4.18.5 stable release (LP: #1788874) + - EDAC: Add missing MEM_LRDDR4 entry in edac_mem_types[] + - pty: fix O_CLOEXEC for TIOCGPTPEER + - mm: Allow non-direct-map arguments to free_reserved_area() + - x86/mm/init: Pass unconverted symbol addresses to free_init_pages() + - x86/mm/init: Add helper for freeing kernel image pages + - x86/mm/init: Remove freed kernel image areas from alias mapping + - powerpc64s: Show ori31 availability in spectre_v1 sysfs file not v2 + - ext4: fix spectre gadget in ext4_mb_regular_allocator() + - drm/i915/kvmgt: Fix potential Spectre v1 + - drm/amdgpu/pm: Fix potential Spectre v1 + - parisc: Remove unnecessary barriers from spinlock.h + - parisc: Remove ordered stores from syscall.S + - PCI: Restore resized BAR state on resume + - PCI / ACPI / PM: Resume all bridges on suspend-to-RAM + - PCI: hotplug: Don't leak pci_slot on registration failure + - PCI: aardvark: Size bridges before resources allocation + - PCI: Skip MPS logic for Virtual Functions (VFs) + - PCI: pciehp: Fix use-after-free on unplug + - PCI: pciehp: Fix unprotected list iteration in IRQ handler + - i2c: core: ACPI: Properly set status byte to 0 for multi-byte writes + - i2c: imx: Fix race condition in dma read + - reiserfs: fix broken xattr handling (heap corruption, bad retval) + - Linux 4.18.5 + + * [18.10 FEAT] Add kernel config option "CONFIG_SCLP_OFB" (LP: #1787898) + - [Config] CONFIG_SCLP_OFB=y for s390x + + * errors when scanning partition table of corrupted AIX disk (LP: #1787281) + - partitions/aix: fix usage of uninitialized lv_info and lvname structures + - partitions/aix: append null character to print data from disk + + * Apply NVMe bugfix from Google that bjf asked for (LP: #1787635) + - nvme-pci: add a memory barrier to nvme_dbbuf_update_and_check_event + + * ThinkPad systems have no HDMI sound when using the nvidia GPU (LP: #1787058) + - ACPI / OSI: Add OEM _OSI string to enable NVidia HDMI audio + + * Cosmic update to v4.18.4 stable release (LP: #1788454) + - l2tp: use sk_dst_check() to avoid race on sk->sk_dst_cache + - net_sched: fix NULL pointer dereference when delete tcindex filter + - net_sched: Fix missing res info when create new tc_index filter + - r8169: don't use MSI-X on RTL8168g + - ALSA: hda - Sleep for 10ms after entering D3 on Conexant codecs + - ALSA: hda - Turn CX8200 into D3 as well upon reboot + - ALSA: vx222: Fix invalid endian conversions + - ALSA: virmidi: Fix too long output trigger loop + - ALSA: cs5535audio: Fix invalid endian conversion + - ALSA: dice: fix wrong copy to rx parameters for Alesis iO26 + - ALSA: hda: Correct Asrock B85M-ITX power_save blacklist entry + - ALSA: memalloc: Don't exceed over the requested size + - ALSA: vxpocket: Fix invalid endian conversions + - ALSA: seq: Fix poll() error return + - media: gl861: fix probe of dvb_usb_gl861 + - USB: serial: sierra: fix potential deadlock at close + - USB: serial: pl2303: add a new device id for ATEN + - USB: option: add support for DW5821e + - ACPI / PM: save NVS memory for ASUS 1025C laptop + - tty: serial: 8250: Revert NXP SC16C2552 workaround + - serial: 8250_exar: Read INT0 from slave device, too + - serial: 8250_dw: always set baud rate in dw8250_set_termios + - serial: 8250_dw: Add ACPI support for uart on Broadcom SoC + - uio: fix wrong return value from uio_mmap() + - misc: sram: fix resource leaks in probe error path + - Revert "uio: use request_threaded_irq instead" + - Bluetooth: avoid killing an already killed socket + - isdn: Disable IIOCDBGVAR + - net: sock_diag: Fix spectre v1 gadget in __sock_diag_cmd() + - hv/netvsc: Fix NULL dereference at single queue mode fallback + - r8169: don't use MSI-X on RTL8106e + - ip_vti: fix a null pointer deferrence when create vti fallback tunnel + - net: ethernet: mvneta: Fix napi structure mixup on armada 3700 + - net: mvneta: fix mvneta_config_rss on armada 3700 + - cls_matchall: fix tcf_unbind_filter missing + - Linux 4.18.4 + + * Cosmic update to v4.18.3 stable release (LP: #1788453) + - x86/speculation/l1tf: Exempt zeroed PTEs from inversion + - Linux 4.18.3 + + * Cosmic update to v4.18.2 stable release (LP: #1788452) + - x86/l1tf: Fix build error seen if CONFIG_KVM_INTEL is disabled + - x86: i8259: Add missing include file + - x86/hyper-v: Check for VP_INVAL in hyperv_flush_tlb_others() + - x86/platform/UV: Mark memblock related init code and data correctly + - x86/mm/pti: Clear Global bit more aggressively + - xen/pv: Call get_cpu_address_sizes to set x86_virt/phys_bits + - x86/mm: Disable ioremap free page handling on x86-PAE + - kbuild: verify that $DEPMOD is installed + - crypto: ccree - fix finup + - crypto: ccree - fix iv handling + - crypto: ccp - Check for NULL PSP pointer at module unload + - crypto: ccp - Fix command completion detection race + - crypto: x86/sha256-mb - fix digest copy in sha256_mb_mgr_get_comp_job_avx2() + - crypto: vmac - require a block cipher with 128-bit block size + - crypto: vmac - separate tfm and request context + - crypto: blkcipher - fix crash flushing dcache in error path + - crypto: ablkcipher - fix crash flushing dcache in error path + - crypto: skcipher - fix aligning block size in skcipher_copy_iv() + - crypto: skcipher - fix crash flushing dcache in error path + - ioremap: Update pgtable free interfaces with addr + - x86/mm: Add TLB purge to free pmd/pte page interfaces + - Linux 4.18.2 + + * Cosmic update to v4.18.2 stable release (LP: #1788452) // CVE-2018-9363 + - Bluetooth: hidp: buffer overflow in hidp_process_report + + * linux-cloud-tools-common: Ensure hv-kvp-daemon.service starts before + walinuxagent.service (LP: #1739107) + - [Debian] hyper-v -- Ensure that hv-kvp-daemon.service starts before + walinuxagent.service + + * Miscellaneous Ubuntu changes + - SAUCE: ipvs: remove nbsp characters from Kconfig + - [Config] CONFIG_MPROFILE_KERNEL=y for ppc64el + - [Config] CONFIG_DRM_RCAR_LVDS=m for snapdragon + - [Config] CONFIG_MDIO_MSCC_MIIM=n for s390x + - [Config] CONFIG_NET_VENDOR_MICROSEMI=n, CONFIG_NET_VENDOR_NI=n for s390x + - [Config] update annotations following config review + - [Debian] set CROSS_COMPILE when generating kernel configs + - [Config] Disable the Speck cipher + + -- Seth Forshee Fri, 24 Aug 2018 14:18:15 -0500 + +linux (4.18.0-5.6) cosmic; urgency=medium + + * Cosmic update to v4.18.1 stable release (LP: #1787264) + - x86/paravirt: Fix spectre-v2 mitigations for paravirt guests + - x86/speculation: Protect against userspace-userspace spectreRSB + - kprobes/x86: Fix %p uses in error messages + - x86/irqflags: Provide a declaration for native_save_fl + - x86/speculation/l1tf: Increase 32bit PAE __PHYSICAL_PAGE_SHIFT + - x86/speculation/l1tf: Change order of offset/type in swap entry + - x86/speculation/l1tf: Protect swap entries against L1TF + - x86/speculation/l1tf: Protect PROT_NONE PTEs against speculation + - x86/speculation/l1tf: Make sure the first page is always reserved + - x86/speculation/l1tf: Add sysfs reporting for l1tf + - x86/speculation/l1tf: Disallow non privileged high MMIO PROT_NONE mappings + - x86/speculation/l1tf: Limit swap file size to MAX_PA/2 + - x86/bugs: Move the l1tf function and define pr_fmt properly + - sched/smt: Update sched_smt_present at runtime + - x86/smp: Provide topology_is_primary_thread() + - x86/topology: Provide topology_smt_supported() + - cpu/hotplug: Make bringup/teardown of smp threads symmetric + - cpu/hotplug: Split do_cpu_down() + - cpu/hotplug: Provide knobs to control SMT + - x86/cpu: Remove the pointless CPU printout + - x86/cpu/AMD: Remove the pointless detect_ht() call + - x86/cpu/common: Provide detect_ht_early() + - x86/cpu/topology: Provide detect_extended_topology_early() + - x86/cpu/intel: Evaluate smp_num_siblings early + - x86/CPU/AMD: Do not check CPUID max ext level before parsing SMP info + - x86/cpu/AMD: Evaluate smp_num_siblings early + - x86/apic: Ignore secondary threads if nosmt=force + - x86/speculation/l1tf: Extend 64bit swap file size limit + - x86/cpufeatures: Add detection of L1D cache flush support. + - x86/CPU/AMD: Move TOPOEXT reenablement before reading smp_num_siblings + - x86/speculation/l1tf: Protect PAE swap entries against L1TF + - x86/speculation/l1tf: Fix up pte->pfn conversion for PAE + - Revert "x86/apic: Ignore secondary threads if nosmt=force" + - cpu/hotplug: Boot HT siblings at least once + - x86/KVM: Warn user if KVM is loaded SMT and L1TF CPU bug being present + - x86/KVM/VMX: Add module argument for L1TF mitigation + - x86/KVM/VMX: Add L1D flush algorithm + - x86/KVM/VMX: Add L1D MSR based flush + - x86/KVM/VMX: Add L1D flush logic + - x86/KVM/VMX: Split the VMX MSR LOAD structures to have an host/guest numbers + - x86/KVM/VMX: Add find_msr() helper function + - x86/KVM/VMX: Separate the VMX AUTOLOAD guest/host number accounting + - x86/KVM/VMX: Extend add_atomic_switch_msr() to allow VMENTER only MSRs + - x86/KVM/VMX: Use MSR save list for IA32_FLUSH_CMD if required + - cpu/hotplug: Online siblings when SMT control is turned on + - x86/litf: Introduce vmx status variable + - x86/kvm: Drop L1TF MSR list approach + - x86/l1tf: Handle EPT disabled state proper + - x86/kvm: Move l1tf setup function + - x86/kvm: Add static key for flush always + - x86/kvm: Serialize L1D flush parameter setter + - x86/kvm: Allow runtime control of L1D flush + - cpu/hotplug: Expose SMT control init function + - cpu/hotplug: Set CPU_SMT_NOT_SUPPORTED early + - x86/bugs, kvm: Introduce boot-time control of L1TF mitigations + - Documentation: Add section about CPU vulnerabilities + - x86/speculation/l1tf: Unbreak !__HAVE_ARCH_PFN_MODIFY_ALLOWED architectures + - x86/KVM/VMX: Initialize the vmx_l1d_flush_pages' content + - Documentation/l1tf: Fix typos + - cpu/hotplug: detect SMT disabled by BIOS + - x86/KVM/VMX: Don't set l1tf_flush_l1d to true from vmx_l1d_flush() + - x86/KVM/VMX: Replace 'vmx_l1d_flush_always' with 'vmx_l1d_flush_cond' + - x86/KVM/VMX: Move the l1tf_flush_l1d test to vmx_l1d_flush() + - x86/irq: Demote irq_cpustat_t::__softirq_pending to u16 + - x86/KVM/VMX: Introduce per-host-cpu analogue of l1tf_flush_l1d + - x86: Don't include linux/irq.h from asm/hardirq.h + - x86/irq: Let interrupt handlers set kvm_cpu_l1tf_flush_l1d + - x86/KVM/VMX: Don't set l1tf_flush_l1d from vmx_handle_external_intr() + - Documentation/l1tf: Remove Yonah processors from not vulnerable list + - x86/speculation: Simplify sysfs report of VMX L1TF vulnerability + - x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on vmentry + - KVM: VMX: Tell the nested hypervisor to skip L1D flush on vmentry + - cpu/hotplug: Fix SMT supported evaluation + - x86/speculation/l1tf: Invert all not present mappings + - x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert + - x86/mm/pat: Make set_memory_np() L1TF safe + - x86/mm/kmmio: Make the tracer robust against L1TF + - tools headers: Synchronise x86 cpufeatures.h for L1TF additions + - x86/microcode: Allow late microcode loading with SMT disabled + - x86/smp: fix non-SMP broken build due to redefinition of + apic_id_is_primary_thread + - cpu/hotplug: Non-SMP machines do not make use of booted_once + - x86/init: fix build with CONFIG_SWAP=n + - Linux 4.18.1 + - [Config] updateconfigs after v4.18.1 stable update + + * Consider enabling CONFIG_NETWORK_PHY_TIMESTAMPING (LP: #1785816) + - [Config] Enable timestamping in network PHY devices + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_SYSCTL_SYSCALL=n + + [ Upstream Kernel Changes ] + + * Rebase to v4.18 + + -- Seth Forshee Wed, 15 Aug 2018 14:20:59 -0500 + +linux (4.18.0-4.5) cosmic; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v4.18-rc8 + + -- Seth Forshee Mon, 06 Aug 2018 13:54:02 -0500 + +linux (4.18.0-3.4) cosmic; urgency=medium + + * Suspend fails in Ubuntu and Kubuntu 18.04 but works fine in Ubuntu and + Kubuntu 17.10 (and on Kubuntu 18.04 using kernel 4.14.47) (LP: #1774950) + - ACPI / LPSS: Avoid PM quirks on suspend and resume from hibernation + + * hinic interfaces aren't getting predictable names (LP: #1783138) + - hinic: Link the logical network device to the pci device in sysfs + + * libvirtd is unable to configure bridge devices inside of LXD containers + (LP: #1784501) + - kernfs: allow creating kernfs objects with arbitrary uid/gid + - sysfs, kobject: allow creating kobject belonging to arbitrary users + - kobject: kset_create_and_add() - fetch ownership info from parent + - driver core: set up ownership of class devices in sysfs + - net-sysfs: require net admin in the init ns for setting tx_maxrate + - net-sysfs: make sure objects belong to container's owner + - net: create reusable function for getting ownership info of sysfs inodes + - bridge: make sure objects belong to container's owner + - sysfs: Fix regression when adding a file to an existing group + + * locking sockets broken due to missing AppArmor socket mediation patches + (LP: #1780227) + - UBUNTU SAUCE: apparmor: fix apparmor mediating locking non-fs, unix sockets + + * Update2 for ocxl driver (LP: #1781436) + - ocxl: Fix page fault handler in case of fault on dying process + + * HDMI/DP audio can't work on the laptop of Dell Latitude 5495 (LP: #1782689) + - ALSA: hda: use PCI_BASE_CLASS_DISPLAY to replace PCI_CLASS_DISPLAY_VGA + - vga_switcheroo: set audio client id according to bound GPU id + + * Allow Raven Ridge's audio controller to be runtime suspended (LP: #1782540) + - ALSA: hda: Add AZX_DCAPS_PM_RUNTIME for AMD Raven Ridge + + * Invoking obsolete 'firmware_install' target breaks snap build (LP: #1782166) + - snapcraft.yaml: stop invoking the obsolete (and non-existing) + 'firmware_install' target + + * snapcraft.yaml: missing ubuntu-retpoline-extract-one script breaks the build + (LP: #1782116) + - snapcraft.yaml: copy retpoline-extract-one to scripts before build + + [ Upstream Kernel Changes ] + + * Rebase to v4.18-rc7 + + -- Seth Forshee Wed, 01 Aug 2018 08:49:40 -0500 + +linux (4.18.0-2.3) cosmic; urgency=medium + + * Kernel error "task zfs:pid blocked for more than 120 seconds" (LP: #1781364) + - SAUCE: (noup) zfs to 0.7.9-3ubuntu4 + + * [Regression] EXT4-fs error (device sda1): ext4_validate_inode_bitmap:99: + comm stress-ng: Corrupt inode bitmap (LP: #1780137) + - SAUCE: ext4: fix ext4_validate_inode_bitmap: comm stress-ng: Corrupt inode + bitmap + + * Cloud-init causes potentially huge boot delays with 4.15 kernels + (LP: #1780062) + - random: Make getrandom() ready earlier + + * hisi_sas_v3_hw: internal task abort: timeout and not done. (LP: #1777736) + - scsi: hisi_sas: Update a couple of register settings for v3 hw + + * hisi_sas: Add missing PHY spinlock init (LP: #1777734) + - scsi: hisi_sas: Add missing PHY spinlock init + + * hisi_sas: improve read performance by pre-allocating slot DMA buffers + (LP: #1777727) + - scsi: hisi_sas: Use dmam_alloc_coherent() + - scsi: hisi_sas: Pre-allocate slot DMA buffers + + * hisi_sas: Failures during host reset (LP: #1777696) + - scsi: hisi_sas: Only process broadcast change in phy_bcast_v3_hw() + - scsi: hisi_sas: Fix the conflict between dev gone and host reset + - scsi: hisi_sas: Adjust task reject period during host reset + - scsi: hisi_sas: Add a flag to filter PHY events during reset + - scsi: hisi_sas: Release all remaining resources in clear nexus ha + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.7.9-3ubuntu2, zfs to 0.7.9-3ubuntu3 + - SAUCE: mm: Fix exports that inadvertently make put_page() EXPORT_SYMBOL_GPL + - Enable zfs build + - SAUCE: Import aufs driver + - Revert "UBUNTU: [Config]: set CONFIG_EDAC_DEBUG=y for ARM64" + - [Config] retpoline -- review and accept retpoline changes + + [ Upstream Kernel Changes ] + + * Rebase to v4.18-rc5 + * Rebase to v4.18-rc6 + + -- Seth Forshee Tue, 24 Jul 2018 08:41:22 -0500 + +linux (4.18.0-1.2) cosmic; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v4.18-rc4 + + -- Seth Forshee Mon, 09 Jul 2018 07:36:31 -0500 + +linux (4.18.0-0.1) cosmic; urgency=medium + + * Miscellaneous Ubuntu changes + - ubuntu -- disable vbox build + - Disable zfs build + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) Add a SysRq option to lift kernel lockdown + - SAUCE: (efi-lockdown) ima: require secure_boot rules in lockdown mode + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/{mem,kmem,port} when the kernel is + locked down + - SAUCE: (efi-lockdown) kexec_load: Disable at runtime if the kernel is locked + down + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86/msr: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Lock down module params that specify hardware + parameters (eg. ioport) + - SAUCE: (efi-lockdown) x86/mmiotrace: Lock down the testmmiotrace module + - SAUCE: (efi-lockdown) Lock down /proc/kcore + - SAUCE: (efi-lockdown) Lock down kprobes + - SAUCE: (efi-lockdown) bpf: Restrict kernel image access functions when the + kernel is locked down + - SAUCE: (efi-lockdown) Lock down perf + - SAUCE: (efi-lockdown) debugfs: Restrict debugfs when the kernel is locked + down + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) KEYS: Allow unrestricted boot-time addition of keys to + secondary keyring + - SAUCE: (efi-lockdown) efi: Add EFI signature data types + - SAUCE: (efi-lockdown) efi: Add an EFI signature blob parser + - SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI Secure Boot + - SAUCE: (efi-lockdown) MODSIGN: Allow the "db" UEFI variable to be suppressed + - SAUCE: (efi-lockdown) Make get_cert_list() not complain about cert lists + that aren't present. + - SAUCE: (efi-lockdown) Add efi_status_to_str() and rework + efi_status_to_err(). + - SAUCE: (efi-lockdown) Make get_cert_list() use efi_status_to_str() to print + error messages. + - SAUCE: (efi-lockdown) lockdown: fix coordination of kernel module signature + verification + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) efi: Don't print secure boot state from the efi stub + - SAUCE: (namespace) block_dev: Support checking inode permissions in + lookup_bdev() + - SAUCE: (namespace) block_dev: Check permissions towards block device inode + when mounting + - SAUCE: (namespace) mtd: Check permissions towards mtd block device inode + when mounting + - SAUCE: (namespace) ext4: Add support for unprivileged mounts from user + namespaces + - SAUCE: (namespace) ext4: Add module parameter to enable user namespace + mounts + - SAUCE: (namespace) block_dev: Forbid unprivileged mounting when device is + opened for writing + - SAUCE: Import aufs driver + - Update dropped.txt + - [Config] updateconfigs after 4.18-rc3 rebase + - SAUCE: (no-up): ASoC: Intel: bytcr-rt5660: Remove snd_soc_codec use for 4.18 + + [ Upstream Kernel Changes ] + + * Rebase to v4.18-rc3 + + -- Seth Forshee Fri, 06 Jul 2018 10:46:37 -0500 + +linux (4.18.0-0.0) cosmic; urgency=medium + + * Dummy entry. + + -- Seth Forshee Tue, 03 Jul 2018 11:10:33 -0500 + +linux (4.17.0-4.5) cosmic; urgency=medium + + * linux: 4.17.0-4.5 -proposed tracker (LP: #1779399) + + * Update to ocxl driver for 18.04.1 (LP: #1775786) + - powerpc: Add TIDR CPU feature for POWER9 + - powerpc: Use TIDR CPU feature to control TIDR allocation + - powerpc: use task_pid_nr() for TID allocation + - ocxl: Rename pnv_ocxl_spa_remove_pe to clarify it's action + - ocxl: Expose the thread_id needed for wait on POWER9 + - ocxl: Add an IOCTL so userspace knows what OCXL features are available + - ocxl: Document new OCXL IOCTLs + - ocxl: Fix missing unlock on error in afu_ioctl_enable_p9_wait() + + * Please include ax88179_178a and r8152 modules in d-i udeb (LP: #1771823) + - [Config:] d-i: Add ax88179_178a and r8152 to nic-modules + + * glibc pkeys test fail on powerpc (LP: #1776967) + - [Config] Temporarily disable CONFIG_PPC_MEM_KEYS + + * After update to 4.13-43 Intel Graphics are Laggy (LP: #1773520) + - Revert "drm/i915/edp: Allow alternate fixed mode for eDP if available." + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.7.9-3ubuntu1, zfs to 0.7.9-3ubuntu1 + + -- Seth Forshee Fri, 29 Jun 2018 13:37:52 -0500 + +linux (4.17.0-3.4) cosmic; urgency=medium + + * linux: 4.17.0-3.4 -proposed tracker (LP: #1779124) + + * Cosmic update to v4.17.3 stable release (LP: #1778997) + - net: aquantia: fix unsigned numvecs comparison with less than zero + - bonding: re-evaluate force_primary when the primary slave name changes + - cdc_ncm: avoid padding beyond end of skb + - ipv6: allow PMTU exceptions to local routes + - net: dsa: add error handling for pskb_trim_rcsum + - net: phy: dp83822: use BMCR_ANENABLE instead of BMSR_ANEGCAPABLE for DP83620 + - net/sched: act_simple: fix parsing of TCA_DEF_DATA + - tcp: verify the checksum of the first data segment in a new connection + - tls: fix use-after-free in tls_push_record + - tls: fix waitall behavior in tls_sw_recvmsg + - socket: close race condition between sock_close() and sockfs_setattr() + - udp: fix rx queue len reported by diag and proc interface + - net: in virtio_net_hdr only add VLAN_HLEN to csum_start if payload holds + vlan + - hv_netvsc: Fix a network regression after ifdown/ifup + - ACPICA: AML parser: attempt to continue loading table after error + - ext4: fix hole length detection in ext4_ind_map_blocks() + - ext4: update mtime in ext4_punch_hole even if no blocks are released + - ext4: do not allow external inodes for inline data + - ext4: bubble errors from ext4_find_inline_data_nolock() up to ext4_iget() + - ext4: correctly handle a zero-length xattr with a non-zero e_value_offs + - ext4: fix fencepost error in check for inode count overflow during resize + - driver core: Don't ignore class_dir_create_and_add() failure. + - Btrfs: allow empty subvol= again + - Btrfs: fix clone vs chattr NODATASUM race + - Btrfs: fix memory and mount leak in btrfs_ioctl_rm_dev_v2() + - btrfs: return error value if create_io_em failed in cow_file_range + - btrfs: scrub: Don't use inode pages for device replace + - ALSA: usb-audio: Disable the quirk for Nura headset + - ALSA: hda/conexant - Add fixup for HP Z2 G4 workstation + - ALSA: hda - Handle kzalloc() failure in snd_hda_attach_pcm_stream() + - ALSA: hda: add dock and led support for HP EliteBook 830 G5 + - ALSA: hda: add dock and led support for HP ProBook 640 G4 + - x86/MCE: Fix stack out-of-bounds write in mce-inject.c: Flags_read() + - smb3: fix various xid leaks + - smb3: on reconnect set PreviousSessionId field + - CIFS: 511c54a2f69195b28afb9dd119f03787b1625bb4 adds a check for session + expiry + - cifs: For SMB2 security informaion query, check for minimum sized security + descriptor instead of sizeof FileAllInformation class + - nbd: fix nbd device deletion + - nbd: update size when connected + - nbd: use bd_set_size when updating disk size + - blk-mq: reinit q->tag_set_list entry only after grace period + - bdi: Move cgroup bdi_writeback to a dedicated low concurrency workqueue + - cpufreq: Fix new policy initialization during limits updates via sysfs + - cpufreq: ti-cpufreq: Fix an incorrect error return value + - cpufreq: governors: Fix long idle detection logic in load calculation + - libata: zpodd: small read overflow in eject_tray() + - libata: Drop SanDisk SD7UB3Q*G1001 NOLPM quirk + - nvme/pci: Sync controller reset for AER slot_reset + - w1: mxc_w1: Enable clock before calling clk_get_rate() on it + - x86/vector: Fix the args of vector_alloc tracepoint + - x86/apic/vector: Prevent hlist corruption and leaks + - x86/apic: Provide apic_ack_irq() + - x86/ioapic: Use apic_ack_irq() + - x86/platform/uv: Use apic_ack_irq() + - irq_remapping: Use apic_ack_irq() + - genirq/generic_pending: Do not lose pending affinity update + - genirq/affinity: Defer affinity setting if irq chip is busy + - genirq/migration: Avoid out of line call if pending is not set + - x86/intel_rdt: Enable CMT and MBM on new Skylake stepping + - media: uvcvideo: Prevent setting unavailable flags + - media: rc: ensure input/lirc device can be opened after register + - iwlwifi: fw: harden page loading code + - orangefs: set i_size on new symlink + - orangefs: report attributes_mask and attributes for statx + - HID: intel_ish-hid: ipc: register more pm callbacks to support hibernation + - HID: wacom: Correct logical maximum Y for 2nd-gen Intuos Pro large + - vhost: fix info leak due to uninitialized memory + - mm, page_alloc: do not break __GFP_THISNODE by zonelist reset + - Linux 4.17.3 + + * Use-after-free in sk_peer_label (LP: #1778646) + - SAUCE: apparmor: fix use after free in sk_peer_label + + * kernel: Fix memory leak on CCA and EP11 CPRB processing. (LP: #1775390) + - s390/zcrypt: Fix CCA and EP11 CPRB processing failure memory leak. + + * Various fixes for CXL kernel module (LP: #1774471) + - cxl: Configure PSL to not use APC virtual machines + - cxl: Disable prefault_mode in Radix mode + + * Bluetooth not working (LP: #1764645) + - Bluetooth: btusb: Apply QCA Rome patches for some ATH3012 models + + * Fake SAS addresses for SATA disks on HiSilicon D05 are non-unique + (LP: #1776750) + - scsi: hisi_sas: make SAS address of SATA disks unique + + * linux-snapdragon: wcn36xx: mac address generation on boot (LP: #1776491) + - [Config] arm64: snapdragon: WCN36XX_SNAPDRAGON_HACKS=y + - SAUCE: wcn36xx: read MAC from file or randomly generate one + + * Lenovo V330 needs patch in ideapad_laptop module for rfkill (LP: #1774636) + - SAUCE: Add Lenovo V330 to the ideapad_laptop rfkill blacklist + + * register on binfmt_misc may overflow and crash the system (LP: #1775856) + - fs/binfmt_misc.c: do not allow offset overflow + + * Network installs fail on SocioNext board (LP: #1775884) + - net: socionext: reset hardware in ndo_stop + - net: netsec: enable tx-irq during open callback + + * Fix several bugs in RDMA/hns driver (LP: #1770974) + - RDMA/hns: Drop local zgid in favor of core defined variable + - RDMA/hns: Add 64KB page size support for hip08 + - RDMA/hns: Rename the idx field of db + - RDMA/hns: Modify uar allocation algorithm to avoid bitmap exhaust + - RDMA/hns: Increase checking CMQ status timeout value + - RDMA/hns: Add reset process for RoCE in hip08 + - RDMA/hns: Fix the illegal memory operation when cross page + - RDMA/hns: Implement the disassociate_ucontext API + + * powerpc/livepatch: Implement reliable stack tracing for the consistency + model (LP: #1771844) + - powerpc/livepatch: Implement reliable stack tracing for the consistency + model + + * Adding back alx WoL feature (LP: #1772610) + - SAUCE: Revert "alx: remove WoL support" + - SAUCE: alx: add enable_wol paramenter + + * Lancer A0 Asic HBA's won't boot with 18.04 (LP: #1768103) + - scsi: lpfc: Fix WQ/CQ creation for older asic's. + - scsi: lpfc: Fix 16gb hbas failing cq create. + + * [LTCTest][OPAL][OP920] cpupower idle-info is not listing stop4 and stop5 + idle states when all CORES are guarded (LP: #1771780) + - powerpc/powernv/cpuidle: Init all present cpus for deep states + + * Huawei 25G/100G Network Adapters Unsupported (LP: #1770970) + - net-next/hinic: add pci device ids for 25ge and 100ge card + + * Expose arm64 CPU topology to userspace (LP: #1770231) + - drivers: base: cacheinfo: move cache_setup_of_node() + - drivers: base: cacheinfo: setup DT cache properties early + - cacheinfo: rename of_node to fw_token + - arm64/acpi: Create arch specific cpu to acpi id helper + - ACPI/PPTT: Add Processor Properties Topology Table parsing + - [Config] CONFIG_ACPI_PPTT=y + - ACPI: Enable PPTT support on ARM64 + - drivers: base cacheinfo: Add support for ACPI based firmware tables + - arm64: Add support for ACPI based firmware tables + - arm64: topology: rename cluster_id + - arm64: topology: enable ACPI/PPTT based CPU topology + - ACPI: Add PPTT to injectable table list + - arm64: topology: divorce MC scheduling domain from core_siblings + + * Vcs-Git header on bionic linux source package points to zesty git tree + (LP: #1766055) + - [Packaging]: Update Vcs-Git + + * Request to revert SAUCE patches in the 18.04 SRU and update with upstream + version (LP: #1768431) + - scsi: cxlflash: Handle spurious interrupts + - scsi: cxlflash: Remove commmands from pending list on timeout + - scsi: cxlflash: Synchronize reset and remove ops + - SAUCE: (no-up) cxlflash: OCXL diff between v2 and v3 + + * hisi_sas robustness fixes (LP: #1774466) + - scsi: hisi_sas: delete timer when removing hisi_sas driver + - scsi: hisi_sas: print device id for errors + - scsi: hisi_sas: Add some checks to avoid free'ing a sas_task twice + - scsi: hisi_sas: check host frozen before calling "done" function + - scsi: hisi_sas: check sas_dev gone earlier in hisi_sas_abort_task() + - scsi: hisi_sas: stop controller timer for reset + - scsi: hisi_sas: update PHY linkrate after a controller reset + - scsi: hisi_sas: change slot index allocation mode + - scsi: hisi_sas: Change common allocation mode of device id + - scsi: hisi_sas: Reset disks when discovered + - scsi: hisi_sas: Create a scsi_host_template per HW module + - scsi: hisi_sas: Init disks after controller reset + - scsi: hisi_sas: Try wait commands before before controller reset + - scsi: hisi_sas: Include TMF elements in struct hisi_sas_slot + - scsi: hisi_sas: Add v2 hw force PHY function for internal ATA command + - scsi: hisi_sas: Terminate STP reject quickly for v2 hw + - scsi: hisi_sas: Fix return value when get_free_slot() failed + - scsi: hisi_sas: Mark PHY as in reset for nexus reset + + * hisi_sas: Support newer v3 hardware (LP: #1774467) + - scsi: hisi_sas: update RAS feature for later revision of v3 HW + - scsi: hisi_sas: check IPTT is valid before using it for v3 hw + - scsi: hisi_sas: fix PI memory size + - scsi: hisi_sas: config ATA de-reset as an constrained command for v3 hw + - scsi: hisi_sas: remove redundant handling to event95 for v3 + - scsi: hisi_sas: add readl poll timeout helper wrappers + - scsi: hisi_sas: workaround a v3 hw hilink bug + - scsi: hisi_sas: Add LED feature for v3 hw + + * hisi_sas: improve performance by optimizing DQ locking (LP: #1774472) + - scsi: hisi_sas: optimise the usage of DQ locking + - scsi: hisi_sas: relocate smp sg map + - scsi: hisi_sas: make return type of prep functions void + - scsi: hisi_sas: allocate slot buffer earlier + - scsi: hisi_sas: Don't lock DQ for complete task sending + - scsi: hisi_sas: Use device lock to protect slot alloc/free + - scsi: hisi_sas: add check of device in hisi_sas_task_exec() + - scsi: hisi_sas: fix a typo in hisi_sas_task_prep() + + * FS-Cache: Assertion failed: FS-Cache: 6 == 5 is false (LP: #1774336) + - SAUCE: CacheFiles: fix a read_waiter/read_copier race + + * enable mic-mute hotkey and led on Lenovo M820z and M920z (LP: #1774306) + - ALSA: hda/realtek - Enable mic-mute hotkey for several Lenovo AIOs + + * hns3 driver updates (LP: #1768670) + - net: hns3: Remove error log when getting pfc stats fails + - net: hns3: fix to correctly fetch l4 protocol outer header + - net: hns3: Fixes the out of bounds access in hclge_map_tqp + - net: hns3: Fixes the error legs in hclge_init_ae_dev function + - net: hns3: fix for phy_addr error in hclge_mac_mdio_config + - net: hns3: Fix to support autoneg only for port attached with phy + - net: hns3: fix a dead loop in hclge_cmd_csq_clean + - net: hns3: Fix for packet loss due wrong filter config in VLAN tbls + - net: hns3: Remove packet statistics in the range of 8192~12287 + - net: hns3: Add support of hardware rx-vlan-offload to HNS3 VF driver + - net: hns3: Fix for setting mac address when resetting + - net: hns3: remove add/del_tunnel_udp in hns3_enet module + - net: hns3: fix for cleaning ring problem + - net: hns3: refactor the loopback related function + - net: hns3: Fix for deadlock problem occurring when unregistering ae_algo + - net: hns3: Fix for the null pointer problem occurring when initializing + ae_dev failed + - net: hns3: Add a check for client instance init state + - net: hns3: Change return type of hnae3_register_ae_dev + - net: hns3: Change return type of hnae3_register_ae_algo + - net: hns3: Change return value in hnae3_register_client + - net: hns3: Fixes the back pressure setting when sriov is enabled + - net: hns3: Fix for fiber link up problem + - net: hns3: Add support of .sriov_configure in HNS3 driver + - net: hns3: Fixes the missing PCI iounmap for various legs + - net: hns3: Fixes error reported by Kbuild and internal review + - net: hns3: Fixes API to fetch ethernet header length with kernel default + - net: hns3: cleanup of return values in hclge_init_client_instance() + - net: hns3: Fix the missing client list node initialization + - net: hns3: Fix for hns3 module is loaded multiple times problem + - net: hns3: Use enums instead of magic number in hclge_is_special_opcode + - net: hns3: Fix for netdev not running problem after calling net_stop and + net_open + - net: hns3: Fixes kernel panic issue during rmmod hns3 driver + - net: hns3: Fix for CMDQ and Misc. interrupt init order problem + - net: hns3: Updates RX packet info fetch in case of multi BD + - net: hns3: Add support for tx_accept_tag2 and tx_accept_untag2 config + - net: hns3: Add STRP_TAGP field support for hardware revision 0x21 + - net: hns3: Add support to enable TX/RX promisc mode for H/W rev(0x21) + - net: hns3: Fix for PF mailbox receving unknown message + - net: hns3: Fixes the state to indicate client-type initialization + - net: hns3: Fixes the init of the VALID BD info in the descriptor + - net: hns3: Removes unnecessary check when clearing TX/RX rings + - net: hns3: Clear TX/RX rings when stopping port & un-initializing client + - net: hns3: Remove unused led control code + - net: hns3: Adds support for led locate command for copper port + - net: hns3: Fixes initalization of RoCE handle and makes it conditional + - net: hns3: Disable vf vlan filter when vf vlan table is full + - net: hns3: Add support for IFF_ALLMULTI flag + - net: hns3: Add repeat address checking for setting mac address + - net: hns3: Fix setting mac address error + - net: hns3: Fix for service_task not running problem after resetting + - net: hns3: Fix for hclge_reset running repeatly problem + - net: hns3: Fix for phy not link up problem after resetting + - net: hns3: Add missing break in misc_irq_handle + - net: hns3: Fix for vxlan tx checksum bug + - net: hns3: Optimize the PF's process of updating multicast MAC + - net: hns3: Optimize the VF's process of updating multicast MAC + - SAUCE: {topost} net: hns3: add support for serdes loopback selftest + - SAUCE: {topost} net: hns3: RX BD information valid only in last BD except + VLD bit and buffer size + - SAUCE: {topost} net: hns3: remove hclge_get_vector_index from + hclge_bind_ring_with_vector + - SAUCE: {topost} net: hns3: rename the interface for init_client_instance and + uninit_client_instance + - SAUCE: {topost} net: hns3: add vector status check before free vector + - SAUCE: {topost} net: hns3: add l4_type check for both ipv4 and ipv6 + - SAUCE: {topost} net: hns3: remove unused head file in hnae3.c + - SAUCE: {topost} net: hns3: extraction an interface for state state + init|uninit + - SAUCE: {topost} net: hns3: print the ret value in error information + - SAUCE: {topost} net: hns3: remove the Redundant put_vector in + hns3_client_uninit + - SAUCE: {topost} net: hns3: add unlikely for error check + - SAUCE: {topost} net: hns3: remove back in struct hclge_hw + - SAUCE: {topost} net: hns3: use lower_32_bits and upper_32_bits + - SAUCE: {topost} net: hns3: remove unused hclge_ring_to_dma_dir + - SAUCE: {topost} net: hns3: remove useless code in hclge_cmd_send + - SAUCE: {topost} net: hns3: remove some redundant assignments + - SAUCE: {topost} net: hns3: simplify hclge_cmd_csq_clean + - SAUCE: {topost} net: hns3: using modulo for cyclic counters in + hclge_cmd_send + - SAUCE: {topost} net: hns3: remove a redundant hclge_cmd_csq_done + - SAUCE: {topost} net: hns3: remove some unused members of some structures + - SAUCE: {topost} net: hns3: give default option while dependency HNS3 set + - SAUCE: {topost} net: hns3: use dma_zalloc_coherent instead of + kzalloc/dma_map_single + - SAUCE: {topost} net: hns3: modify hnae_ to hnae3_ + - SAUCE: {topost} net: hns3: fix unused function warning in VF driver + - SAUCE: {topost} net: hns3: remove some redundant assignments + - SAUCE: {topost} net: hns3: standardize the handle of return value + - SAUCE: {topost} net: hns3: remove extra space and brackets + - SAUCE: {topost} net: hns3: fix unreasonable code comments + - SAUCE: {topost} net: hns3: use decimal for bit offset macros + - SAUCE: {topost} net: hns3: modify inconsistent bit mask macros + - SAUCE: {topost} net: hns3: fix mislead parameter name + - SAUCE: {topost} net: hns3: remove unused struct member and definition + - SAUCE: {topost} net: hns3: Add SPDX tags to hns3 driver + - SAUCE: {topost} net: hns3: Add pf reset for hip08 RoCE + - SAUCE: {topost} net: hns3: optimize the process of notifying roce client + - SAUCE: {topost} net: hns3: Add calling roce callback function when link + status change + - SAUCE: {topost} net: hns3: fix tc setup when netdev is first up + - SAUCE: {topost} net: hns3: fix for mac pause not disable in pfc mode + - SAUCE: {topost} net: hns3: fix for waterline not setting correctly + - SAUCE: {topost} net: hns3: fix for l4 checksum offload bug + - SAUCE: {topost} net: hns3: fix for mailbox message truncated problem + - SAUCE: {topost} net: hns3: Add configure for mac minimal frame size + - SAUCE: {topost} net: hns3: fix warning bug when doing lp selftest + - SAUCE: {topost} net: hns3: fix get_vector ops in hclgevf_main module + - SAUCE: {topost} net: hns3: remove the warning when clear reset cause + - SAUCE: {topost} net: hns3: Use roce handle when calling roce callback + function + - SAUCE: {topost} net: hns3: prevent sending command during global or core + reset + - SAUCE: {topost} net: hns3: modify the order of initializeing command queue + register + - SAUCE: {topost} net: hns3: reset net device with rtnl_lock + - SAUCE: {topost} net: hns3: prevent to request reset frequently + - SAUCE: {topost} net: hns3: correct reset event status register + - SAUCE: {topost} net: hns3: separate roce from nic when resetting + - SAUCE: net: hns3: Fix for phy link issue when using marvell phy driver + - SAUCE: {topost} net: hns3: fix return value error in + hns3_reset_notify_down_enet + - SAUCE: {topost} net: hns3: remove unnecessary ring configuration operation + while resetting + - SAUCE: {topost} net: hns3: fix for reset_level default assignment probelm + - SAUCE: {topost} net: hns3: fix for using wrong mask and shift in + hclge_get_ring_chain_from_mbx + - SAUCE: {topost} net: hns3: fix comments for hclge_get_ring_chain_from_mbx + - SAUCE: net: hns3: Fix for VF mailbox cannot receiving PF response + - SAUCE: net: hns3: Fix for VF mailbox receiving unknown message + - SAUCE: net: hns3: Optimize PF CMDQ interrupt switching process + + * CVE-2018-7755 + - SAUCE: floppy: Do not copy a kernel pointer to user memory in FDGETPRM ioctl + + * Incorrect blacklist of bcm2835_wdt (LP: #1766052) + - [Packaging] Fix missing watchdog for Raspberry Pi + + * kernel: Fix arch random implementation (LP: #1775391) + - s390/archrandom: Rework arch random implementation. + + * [Ubuntu 1804][boston][ixgbe] EEH causes kernel BUG at /build/linux- + jWa1Fv/linux-4.15.0/drivers/pci/msi.c:352 (i2S) (LP: #1776389) + - ixgbe/ixgbevf: Free IRQ when PCI error recovery removes the device + + * Cosmic update to v4.17.2 stable release (LP: #1779117) + - crypto: chelsio - request to HW should wrap + - blkdev_report_zones_ioctl(): Use vmalloc() to allocate large buffers + - KVM: X86: Fix reserved bits check for MOV to CR3 + - KVM: x86: introduce linear_{read,write}_system + - kvm: fix typo in flag name + - kvm: nVMX: Enforce cpl=0 for VMX instructions + - KVM: x86: pass kvm_vcpu to kvm_read_guest_virt and + kvm_write_guest_virt_system + - kvm: x86: use correct privilege level for sgdt/sidt/fxsave/fxrstor access + - staging: android: ion: Switch to pr_warn_once in ion_buffer_destroy + - NFC: pn533: don't send USB data off of the stack + - usbip: vhci_sysfs: fix potential Spectre v1 + - usb-storage: Add support for FL_ALWAYS_SYNC flag in the UAS driver + - usb-storage: Add compatibility quirk flags for G-Technologies G-Drive + - Input: xpad - add GPD Win 2 Controller USB IDs + - phy: qcom-qusb2: Fix crash if nvmem cell not specified + - usb: core: message: remove extra endianness conversion in + usb_set_isoch_delay + - usb: typec: wcove: Remove dependency on HW FSM + - usb: gadget: function: printer: avoid wrong list handling in printer_write() + - usb: gadget: udc: renesas_usb3: fix double phy_put() + - usb: gadget: udc: renesas_usb3: should remove debugfs + - usb: gadget: udc: renesas_usb3: should call pm_runtime_enable() before add + udc + - usb: gadget: udc: renesas_usb3: should call devm_phy_get() before add udc + - usb: gadget: udc: renesas_usb3: should fail if devm_phy_get() returns error + - usb: gadget: udc: renesas_usb3: disable the controller's irqs for + reconnecting + - serial: sh-sci: Stop using printk format %pCr + - tty/serial: atmel: use port->name as name in request_irq() + - serial: samsung: fix maxburst parameter for DMA transactions + - serial: 8250: omap: Fix idling of clocks for unused uarts + - vmw_balloon: fixing double free when batching mode is off + - doc: fix sysfs ABI documentation + - arm64: defconfig: Enable CONFIG_PINCTRL_MT7622 by default + - tty: pl011: Avoid spuriously stuck-off interrupts + - crypto: ccree - correct host regs offset + - Input: goodix - add new ACPI id for GPD Win 2 touch screen + - Input: elan_i2c - add ELAN0612 (Lenovo v330 14IKB) ACPI ID + - crypto: caam - strip input zeros from RSA input buffer + - crypto: caam - fix DMA mapping dir for generated IV + - crypto: caam - fix IV DMA mapping and updating + - crypto: caam/qi - fix IV DMA mapping and updating + - crypto: caam - fix size of RSA prime factor q + - crypto: cavium - Fix fallout from CONFIG_VMAP_STACK + - crypto: cavium - Limit result reading attempts + - crypto: vmx - Remove overly verbose printk from AES init routines + - crypto: vmx - Remove overly verbose printk from AES XTS init + - crypto: omap-sham - fix memleak + - Linux 4.17.2 + + * Cosmic update to v4.17.1 stable release (LP: #1779116) + - netfilter: nf_flow_table: attach dst to skbs + - bnx2x: use the right constant + - ip6mr: only set ip6mr_table from setsockopt when ip6mr_new_table succeeds + - ipv6: omit traffic class when calculating flow hash + - l2tp: fix refcount leakage on PPPoL2TP sockets + - netdev-FAQ: clarify DaveM's position for stable backports + - net: metrics: add proper netlink validation + - net/packet: refine check for priv area size + - rtnetlink: validate attributes in do_setlink() + - sctp: not allow transport timeout value less than HZ/5 for hb_timer + - team: use netdev_features_t instead of u32 + - vrf: check the original netdevice for generating redirect + - net: dsa: b53: Fix for brcm tag issue in Cygnus SoC + - ipmr: fix error path when ipmr_new_table fails + - PCI: hv: Do not wait forever on a device that has disappeared + - Linux 4.17.1 + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: SAUCE: crypto: thunderx_zip: Fix fallout from + CONFIG_VMAP_STACK" + - Revert "UBUNTU: SAUCE: cred: Add clone_cred() interface" + - SAUCE: apparmor: userspace queries + - SAUCE: apparmor: patch to provide compatibility with v2.x net rules + - SAUCE: apparmor: af_unix mediation + + -- Seth Forshee Thu, 28 Jun 2018 08:03:32 -0500 + +linux (4.17.0-2.3) cosmic; urgency=medium + + * linux: 4.17.0-2.3 -proposed tracker (LP: #1776276) + + * Miscellaneous Ubuntu changes + - Config: remove IrDA from annotations + - Config: remove scsi drivers from annotations + - Config: remove BT_HCIBTUART from annotations + - Config: pstore zlib support was renamed + - Config: disable NVRAM for armhf on annotations + - Config: Disable VT on s390x + - Config: Update SSB and B43/B44 options + - Config: some options not supported on some arches anymore + - Config: renamed and removed options + - Config: TCG_CRB is required for IMA on ACPI systems + - Config: EXTCON_AXP288 depends on X86 + - Config: CONFIG_FSI depends on OF + - Config: DRM_RCAR_LVDS now depends on DRM + - CONFIG: Allow CONFIG_LEDS_MLXCPLD for i386 + - Config: Enable HINIC on arm64 + - Config: Set PPS and PTP_1588_CLOCK as y + - Config: Some NF_TABLES options are built-in now + - Config: GENERIC_CPU for ppc64el + - Config: KEXEC_FILE=n for s390x + - Config: CRYPTO_DEFLATE is needed by PSTORE_DEFLATE_COMPRESS + - Config: Disable STM32 support + - Config: Enable FORTIFY_SOURCE for armhf + - Config: use STRONG instead of AUTO for CC_STACKPROTECTOR + + [ Upstream Kernel Changes ] + + * Rebase to v4.17 + + -- Thadeu Lima de Souza Cascardo Mon, 11 Jun 2018 15:22:10 -0300 + +linux (4.17.0-1.2) cosmic; urgency=medium + + [ Seth Forshee ] + * [Config] enable EDAC_DEBUG on ARM64 (LP: #1772516) + - [Config]: set CONFIG_EDAC_DEBUG=y for ARM64 + + * Ubuntu 18.04 kernel crashed while in degraded mode (LP: #1770849) + - SAUCE: powerpc/perf: Fix memory allocation for core-imc based on + num_possible_cpus() + + * Integrated Webcam Realtek Integrated_Webcam_HD (0bda:58f4) not working in + DELL XPS 13 9370 with firmware 1.50 (LP: #1763748) + - SAUCE: media: uvcvideo: Support realtek's UVC 1.5 device + + * Switch Build-Depends: transfig to fig2dev (LP: #1770770) + - [Config] update Build-Depends: transfig to fig2dev + + * update-initramfs not adding i915 GuC firmware for Kaby Lake, firmware fails + to load (LP: #1728238) + - Revert "UBUNTU: SAUCE: (no-up) i915: Remove MODULE_FIRMWARE statements for + unreleased firmware" + + * No driver for Huawei network adapters on arm64 (LP: #1769899) + - net-next/hinic: add arm64 support + + * linux-snapdragon: reduce EPROBEDEFER noise during boot (LP: #1768761) + - [Config] snapdragon: DRM_I2C_ADV7511=y + + * Add d-i support for Huawei NICs (LP: #1767490) + - d-i: add hinic to nic-modules udeb + + * Acer Swift sf314-52 power button not managed (LP: #1766054) + - SAUCE: platform/x86: acer-wmi: add another KEY_POWER keycode + + * Include nfp driver in linux-modules (LP: #1768526) + - [Config] Add nfp.ko to generic inclusion list + + * Miscellaneous Ubuntu changes + - SAUCE: Import aufs driver + - [Config] Enable AUFS config options + - SAUCE: (efi-lockdown) Fix for module sig verification + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) efi: Add an EFI_SECURE_BOOT flag to indicate secure + boot mode + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) efi: Don't print secure boot state from the efi stub + - [Config] CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT=y + - SAUCE: (efi-lockdown) really lock down kernel under EFI secure boot + - SAUCE: (noup) Update spl to 0.7.5-1ubuntu3, zfs to 0.7.5-1ubuntu17 + - enable zfs build + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: (efi-lockdown) ima: require secure_boot rules in + lockdown mode" + - Rebased to v4.17-rc6 + + -- Thadeu Lima de Souza Cascardo Tue, 22 May 2018 14:48:13 -0300 + +linux (4.17.0-0.1) bionic; urgency=medium + + [ Upstream Kernel Changes ] + + * Rebase to v4.17-rc4 + + -- Thadeu Lima de Souza Cascardo Tue, 08 May 2018 16:38:51 -0300 + +linux (4.17.0-0.0) bionic; urgency=medium + + * Dummy entry. + + -- Thadeu Lima de Souza Cascardo Fri, 27 Apr 2018 11:01:13 -0300 + +linux (4.16.0-4.5) bionic; urgency=medium + + * [18.04 FEAT] Add kvm_stat from kernel tree (LP: #1734130) + - tools/kvm_stat: Fix python3 syntax + - tools/kvm_stat: Don't use deprecated file() + - tools/kvm_stat: Remove unused function + - [Packaging] Add linux-tools-host package for VM host tools + - [Config] do_tools_host=true for amd64 + + * [Featire] CNL: Enable RAPL support (LP: #1685712) + - powercap: RAPL: Add support for Cannon Lake + + * Bionic update to v4.16.2 stable release (LP: #1763388) + - sparc64: Oracle DAX driver depends on SPARC64 + - arp: fix arp_filter on l3slave devices + - net: dsa: Discard frames from unused ports + - net/ipv6: Increment OUTxxx counters after netfilter hook + - net/sched: fix NULL dereference in the error path of tcf_bpf_init() + - pptp: remove a buggy dst release in pptp_connect() + - sctp: do not leak kernel memory to user space + - sctp: sctp_sockaddr_af must check minimal addr length for AF_INET6 + - vlan: also check phy_driver ts_info for vlan's real device + - net: fool proof dev_valid_name() + - ip_tunnel: better validate user provided tunnel names + - ipv6: sit: better validate user provided tunnel names + - ip6_gre: better validate user provided tunnel names + - ip6_tunnel: better validate user provided tunnel names + - vti6: better validate user provided tunnel names + - net_sched: fix a missing idr_remove() in u32_delete_key() + - nfp: use full 40 bits of the NSP buffer address + - Linux 4.16.2 + + * sky2 gigabit ethernet driver sometimes stops working after lid-open resume + from sleep (88E8055) (LP: #1758507) // Bionic update to v4.16.2 stable + release (LP: #1763388) + - sky2: Increase D3 delay to sky2 stops working after suspend + + * Merge the linux-snapdragon kernel into bionic master/snapdragon + (LP: #1763040) + - arm64: defconfig: enable REMOTEPROC + - arm64: defconfig: enable QCOM audio drivers for APQ8016 and DB410c + - kernel: configs; add distro.config + - arm64: configs: enable WCN36xx + - kernel: distro.config: enable debug friendly USB network adpater + - arm64: configs: enable QCOM Venus + - arm64: defconfig: Enable a53/apcs and avs + - arm64: defconfig: enable ondemand governor as default + - arm64: defconfig: enable QCOM_TSENS + - kernel: configs: enable dm_mod and dm_crypt + - Force the SMD regulator driver to be compiled-in + - arm64: defconfig: enable CFG80211_DEFAULT_PS by default + - arm64: configs: enable BT_QCOMSMD + - kernel: configs: add more USB net drivers + - arm64: defconfig: disable ANALOG_TV and DIGITAL_TV + - arm64: configs: Enable camera drivers + - kernel: configs: add freq stat to sysfs + - arm64: defconfig: enable CONFIG_USB_CONFIGFS_F_FS by default + - arm64: defconfig: Enable QRTR features + - kernel: configs: set USB_CONFIG_F_FS in distro.config + - kernel: distro.config: enable 'schedutil' CPUfreq governor + - kernel: distro.config: enable 'fq' and 'fq_codel' qdiscs + - kernel: distro.config: enable 'BBR' TCP congestion algorithm + - arm64: defconfig: enable LEDS_QCOM_LPG + - HACK: drm/msm/iommu: Remove runtime_put calls in map/unmap + - power: avs: Add support for CPR (Core Power Reduction) + - power: avs: cpr: Use raw mem access for qfprom + - power: avs: cpr: fix with new reg_sequence structures + - power: avs: cpr: Register with cpufreq-dt + - regulator: smd: Add floor and corner operations + - PM / OPP: Support adjusting OPP voltages at runtime + - PM / OPP: Drop RCU usage in dev_pm_opp_adjust_voltage() + - PM / OPP: HACK: Allow to set regulator without opp_list + - PM / OPP: Add a helper to get an opp regulator for device + - cpufreq: Add apq8016 to cpufreq-dt-platdev blacklist + - regulator: smd: Allow REGULATOR_QCOM_SMD_RPM=m + - ov5645: I2C address change + - i2c: Add Qualcomm Camera Control Interface driver + - camss: vfe: Skip first four frames from sensor + - camss: Do not register if no cameras are present + - i2c-qcom-cci: Fix run queue completion timeout + - i2c-qcom-cci: Fix I2C address bug + - media: ov5645: Fix I2C address + - drm/bridge/adv7511: Delay clearing of HPD interrupt status + - HACK: drm/msm/adv7511: Don't rely on interrupts for EDID parsing + - leds: Add driver for Qualcomm LPG + - wcn36xx: Fix warning due to duplicate scan_completed notification + - arm64: dts: Add CPR DT node for msm8916 + - arm64: dts: add spmi-regulator nodes + - arm64: dts: msm8916: Add cpufreq support + - arm64: dts: msm8916: Add a shared CPU opp table + - arm64: dts: msm8916: Add cpu cooling maps + - arm64: dts: pm8916: Mark the s2 regulator as always-on + - arm64: dts: qcom: msm8916: Add msm8916 A53 PLL DT node + - arm64: dts: qcom: msm8916: Use the new APCS mailbox driver + - arm64: dts: qcom: msm8916: Add clock properties to the APCS node + - dt-bindings: media: Binding document for Qualcomm Camera Control Interface + driver + - MAINTAINERS: Add Qualcomm Camera Control Interface driver + - DT: leds: Add Qualcomm Light Pulse Generator binding + - arm64: dts: qcom: msm8996: Add mpp and lpg blocks + - arm64: dts: qcom: Add pwm node for pm8916 + - arm64: dts: qcom: Add user LEDs on db820c + - arm64: dts: qcom: Add WiFI/BT LEDs on db820c + - ARM: dts: qcom: Add LPG node to pm8941 + - ARM: dts: qcom: honami: Add LPG node and RGB LED + - arm64: dts: qcom: Add Camera Control Interface support + - arm64: dts: qcom: Add apps_iommu vfe child node + - arm64: dts: qcom: Add camss device node + - arm64: dts: qcom: Add ov5645 device nodes + - arm64: dts: msm8916: Fix camera sensors I2C addresses + - arm: dts: qcom: db410c: Enable PWM signal on MPP4 + - packaging: arm64: add a uboot flavour - part1 + - packaging: arm64: add a uboot flavour - part2 + - packaging: arm64: add a uboot flavour - part3 + - packaging: arm64: add a uboot flavour - part4 + - packaging: arm64: add a uboot flavour - part5 + - packaging: arm64: rename uboot flavour to snapdragon + - [Config] updateconfigs after qcomlt import + - [Config] arm64: snapdragon: COMMON_CLK_QCOM=y + - [Config] arm64: snapdragon: MSM_GCC_8916=y + - [Config] arm64: snapdragon: REGULATOR_FIXED_VOLTAGE=y + - [Config] arm64: snapdragon: PINCTRL_MSM8916=y + - [Config] arm64: snapdragon: HWSPINLOCK_QCOM=y + - [Config] arm64: snapdragon: SPMI=y, SPMI_MSM_PMIC_ARB=y + - [Config] arm64: snapdragon: REGMAP_SPMI=y, PINCTRL_QCOM_SPMI_PMIC=y + - [Config] arm64: snapdragon: REGULATOR_QCOM_SPMI=y + - [Config] arm64: snapdragon: MFD_SPMI_PMIC=y + - [Config] arm64: snapdragon: QCOM_SMEM=y + - [Config] arm64: snapdragon: RPMSG=y, RPMSG_QCOM_SMD=y + - [Config] arm64: snapdragon: QCOM_SMD_RPM=y, REGULATOR_QCOM_SMD_RPM=y + - [Config] arm64: snapdragon: QCOM_CLK_SMD_RPM=y + - [Config] arm64: snapdragon: QCOM_BAM_DMA=y + - [Config] arm64: snapdragon: QCOM_HIDMA=y, QCOM_HIDMA_MGMT=y + - [Config] arm64: snapdragon: QCOM_CPR=y + - [Config] arm64: snapdragon: QCOM_QFPROM=y, QCOM_TSENS=y + - [Config] arm64: snapdragon: MMC_SDHCI=y, MMC_SDHCI_PLTFM=y, MMC_SDHCI_MSM=y + - [Config] turn off DRM_MSM_REGISTER_LOGGING + - [Config] arm64: snapdragon: I2C_QUP=y + - [Config] arm64: snapdragon: SPI_QUP=y + - [Config] arm64: snapdragon: USB_ULPI_BUS=y, PHY_QCOM_USB_HS=y + - [Config] arm64: snapdragon: QCOM_APCS_IPC=y + - [Config] arm64: snapdragon: QCOM_WCNSS_CTRL=y + - [Config] arm64: snapdragon: QCOM_SMSM=y + - [Config] arm64: snapdragon: QCOM_SMP2P=y + - [Config] arm64: snapdragon: DRM_MSM=y + - [Config] arm64: snapdragon: SND_SOC=y + - [Config] arm64: snapdragon: QCOM_WCNSS_PIL=m + - [Config] arm64: snapdragon: INPUT_PM8941_PWRKEY=y + - [Config] arm64: snapdragon: MEDIA_SUBDRV_AUTOSELECT=y, VIDEO_OV5645=m + - [Config] arm64: snapdragon: SND_SOC_APQ8016_SBC=y, SND_SOC_LPASS_APQ8016=y + - [Config] arm64: snapdragon: SND_SOC_MSM8916_WCD_ANALOG=y, + SND_SOC_MSM8916_WCD_DIGITAL=y + - SAUCE: media: ov5645: skip address change if dt addr == default addr + - SAUCE: drm/msm/adv7511: wrap hacks under CONFIG_ADV7511_SNAPDRAGON_HACKS + #ifdefs + - [Config] arm64: snapdragon: ADV7511_SNAPDRAGON_HACKS=y + - [Packaging] fix up snapdragon abi paths + + * LSM stacking patches for bionic (LP: #1763062) + - SAUCE: LSM stacking: procfs: add smack subdir to attrs + - SAUCE: LSM stacking: LSM: Manage credential security blobs + - SAUCE: LSM stacking: LSM: Manage file security blobs + - SAUCE: LSM stacking: LSM: Manage task security blobs + - SAUCE: LSM stacking: LSM: Manage remaining security blobs + - SAUCE: LSM stacking: LSM: General stacking + - SAUCE: LSM stacking: fixup initialize task->security + - SAUCE: LSM stacking: fixup: alloc_task_ctx is dead code + - SAUCE: LSM stacking: add support for stacking getpeersec_stream + - SAUCE: LSM stacking: add stacking support to apparmor network hooks + - SAUCE: LSM stacking: fixup apparmor stacking enablement + - SAUCE: LSM stacking: fixup stacking kconfig + - SAUCE: LSM stacking: allow selecting multiple LSMs using kernel boot params + - SAUCE: LSM stacking: provide prctl interface for setting context + - SAUCE: LSM stacking: inherit current display LSM + - SAUCE: LSM stacking: keep an index for each registered LSM + - SAUCE: LSM stacking: verify display LSM + - SAUCE: LSM stacking: provide a way to specify the default display lsm + - SAUCE: LSM stacking: make sure LSM blob align on 64 bit boundaries + - SAUCE: LSM stacking: add /proc//attr/display_lsm + - SAUCE: LSM stacking: add Kconfig to set default display LSM + - SAUCE: LSM stacking: add configs for LSM stacking + - SAUCE: LSM stacking: add apparmor and selinux proc dirs + - SAUCE: LSM stacking: remove procfs context interface + + * linux 4.13.0-13.14 ADT test failure with linux 4.13.0-13.14 + (LP: #1720779) // LSM stacking patches for bionic (LP: #1763062) + - SAUCE: LSM stacking: check for invalid zero sized writes + + * Support cq/rq record doorbell for RDMA on HSilicon hip08 systems + (LP: #1762755) + - RDMA/hns: Support rq record doorbell for the user space + - RDMA/hns: Support cq record doorbell for the user space + - RDMA/hns: Support rq record doorbell for kernel space + - RDMA/hns: Support cq record doorbell for kernel space + - RDMA/hns: Fix cqn type and init resp + - RDMA/hns: Fix init resp when alloc ucontext + - RDMA/hns: Fix cq record doorbell enable in kernel + + * Replace LPC patchset with upstream version (LP: #1762758) + - Revert "UBUNTU: SAUCE: MAINTAINERS: Add maintainer for HiSilicon LPC driver" + - Revert "UBUNTU: SAUCE: HISI LPC: Add ACPI support" + - Revert "UBUNTU: SAUCE: ACPI / scan: do not enumerate Indirect IO host + children" + - Revert "UBUNTU: SAUCE: HISI LPC: Support the LPC host on Hip06/Hip07 with DT + bindings" + - Revert "UBUNTU: SAUCE: OF: Add missing I/O range exception for indirect-IO + devices" + - Revert "UBUNTU: SAUCE: PCI: Apply the new generic I/O management on PCI IO + hosts" + - Revert "UBUNTU: SAUCE: PCI: Add fwnode handler as input param of + pci_register_io_range()" + - Revert "UBUNTU: SAUCE: PCI: Remove unused __weak attribute in + pci_register_io_range()" + - Revert "UBUNTU: SAUCE: LIB: Introduce a generic PIO mapping method" + - lib: Add generic PIO mapping method + - PCI: Remove __weak tag from pci_register_io_range() + - PCI: Add fwnode handler as input param of pci_register_io_range() + - PCI: Apply the new generic I/O management on PCI IO hosts + - of: Add missing I/O range exception for indirect-IO devices + - HISI LPC: Support the LPC host on Hip06/Hip07 with DT bindings + - ACPI / scan: Rename acpi_is_serial_bus_slave() for more general use + - ACPI / scan: Do not enumerate Indirect IO host children + - HISI LPC: Add ACPI support + - MAINTAINERS: Add John Garry as maintainer for HiSilicon LPC driver + + * Enable Tunneled Operations on POWER9 (LP: #1762448) + - powerpc/powernv: Enable tunneled operations + - cxl: read PHB indications from the device tree + + * PSL traces reset after PERST for debug AFU image (LP: #1762462) + - cxl: Enable NORST bit in PSL_DEBUG register for PSL9 + + * NFS + sec=krb5 is broken (LP: #1759791) + - sunrpc: remove incorrect HMAC request initialization + + * Raspberry Pi 3 microSD support missing from the installer (LP: #1729128) + - d-i: add bcm2835 to block-modules + + * Backport USB core quirks (LP: #1762695) + - usb: core: Add "quirks" parameter for usbcore + - usb: core: Copy parameter string correctly and remove superfluous null check + - usb: core: Add USB_QUIRK_DELAY_CTRL_MSG to usbcore quirks + + * [Ubuntu 18.04] cryptsetup: 'device-mapper: reload ioctl on failed' when + setting up a second end-to-end encrypted disk (LP: #1762353) + - SAUCE: s390/crypto: Adjust s390 aes and paes cipher + + * System Z {kernel} UBUNTU18.04 wrong kernel config (LP: #1762719) + - s390: move nobp parameter functions to nospec-branch.c + - s390: add automatic detection of the spectre defense + - s390: report spectre mitigation via syslog + - s390: add sysfs attributes for spectre + - [Config] CONFIG_EXPOLINE_AUTO=y, CONFIG_KERNEL_NOBP=n for s390 + - s390: correct nospec auto detection init order + + * Additional spectre and meltdown patches (LP: #1760099) // CVE-2017-5715 + - powerpc/64s: Wire up cpu_show_spectre_v2() + + * Additional spectre and meltdown patches (LP: #1760099) // CVE-2017-5753 + - powerpc/64s: Wire up cpu_show_spectre_v1() + + * Additional spectre and meltdown patches (LP: #1760099) // CVE-2017-5754 + - powerpc/rfi-flush: Move the logic to avoid a redo into the debugfs code + - powerpc/rfi-flush: Make it possible to call setup_rfi_flush() again + - powerpc/rfi-flush: Always enable fallback flush on pseries + - powerpc/rfi-flush: Differentiate enabled and patched flush types + - powerpc/rfi-flush: Call setup_rfi_flush() after LPM migration + - powerpc/64s: Move cpu_show_meltdown() + - powerpc/64s: Enhance the information in cpu_show_meltdown() + - powerpc/powernv: Use the security flags in pnv_setup_rfi_flush() + - powerpc/pseries: Use the security flags in pseries_setup_rfi_flush() + + * Additional spectre and meltdown patches (LP: #1760099) // CVE-2017-5715 // + CVE-2017-5753 // CVE-2017-5754 + - powerpc/pseries: Add new H_GET_CPU_CHARACTERISTICS flags + - powerpc: Add security feature flags for Spectre/Meltdown + - powerpc/pseries: Set or clear security feature flags + - powerpc/powernv: Set or clear security feature flags + + * Hisilicon network subsystem 3 support (LP: #1761610) + - net: hns3: export pci table of hclge and hclgevf to userspace + - d-i: Add hns3 drivers to nic-modules + + * "ip a" command on a guest VM shows UNKNOWN status (LP: #1761534) + - virtio-net: Fix operstate for virtio when no VIRTIO_NET_F_STATUS + + * perf vendor events arm64: Enable JSON events for ThunderX2 B0 (LP: #1760712) + - perf vendor events: Drop incomplete multiple mapfile support + - perf vendor events: Fix error code in json_events() + - perf vendor events: Drop support for unused topic directories + - perf vendor events: Add support for pmu events vendor subdirectory + - perf vendor events arm64: Relocate ThunderX2 JSON to cavium subdirectory + - perf vendor events arm64: Relocate Cortex A53 JSONs to arm subdirectory + - perf vendor events: Add support for arch standard events + - perf vendor events arm64: Add armv8-recommended.json + - perf vendor events arm64: Fixup ThunderX2 to use recommended events + - perf vendor events arm64: fixup A53 to use recommended events + - perf vendor events arm64: add HiSilicon hip08 JSON file + - perf vendor events arm64: Enable JSON events for ThunderX2 B0 + + * Warning "cache flush timed out!" seen when unloading the cxl driver + (LP: #1762367) + - cxl: Check if PSL data-cache is available before issue flush request + + * Bionic update to v4.16.1 stable release (LP: #1763170) + - bitmap: fix memset optimization on big-endian systems + - USB: serial: ftdi_sio: add RT Systems VX-8 cable + - USB: serial: ftdi_sio: add support for Harman FirmwareHubEmulator + - USB: serial: cp210x: add ELDAT Easywave RX09 id + - serial: 8250: Add Nuvoton NPCM UART + - mei: remove dev_err message on an unsupported ioctl + - /dev/mem: Avoid overwriting "err" in read_mem() + - media: usbtv: prevent double free in error case + - parport_pc: Add support for WCH CH382L PCI-E single parallel port card. + - crypto: lrw - Free rctx->ext with kzfree + - crypto: ccp - Fill the result buffer only on digest, finup, and final ops + - crypto: talitos - don't persistently map req_ctx->hw_context and + req_ctx->buf + - crypto: inside-secure - fix clock management + - crypto: testmgr - Fix incorrect values in PKCS#1 test vector + - crypto: talitos - fix IPsec cipher in length + - crypto: ahash - Fix early termination in hash walk + - crypto: caam - Fix null dereference at error path + - crypto: ccp - return an actual key size from RSA max_size callback + - crypto: arm,arm64 - Fix random regeneration of S_shipped + - crypto: x86/cast5-avx - fix ECB encryption when long sg follows short one + - Bluetooth: hci_bcm: Add 6 new ACPI HIDs + - Btrfs: fix unexpected cow in run_delalloc_nocow + - siox: fix possible buffer overflow in device_add_store + - staging: comedi: ni_mio_common: ack ai fifo error interrupts. + - Revert "base: arch_topology: fix section mismatch build warnings" + - Input: ALPS - fix TrackStick detection on Thinkpad L570 and Latitude 7370 + - Input: i8042 - add Lenovo ThinkPad L460 to i8042 reset list + - Input: i8042 - enable MUX on Sony VAIO VGN-CS series to fix touchpad + - vt: change SGR 21 to follow the standards + - Fix slab name "biovec-(1<<(21-12))" + - signal: Correct the offset of si_pkey and si_lower in struct siginfo on m68k + - Linux 4.16.1 + + * [18.04][config] regression: nvme and nvme_core couldn't be built as modules + starting 4.15-rc2 (LP: #1759893) + - SAUCE: Revert "lightnvm: include NVM Express driver if OCSSD is selected for + build" + - [Config] CONFIG_BLK_DEV_NMVE=m + + * FFe: Enable configuring resume offset via sysfs (LP: #1760106) + - PM / hibernate: Make passing hibernate offsets more friendly + + * Ubuntu18.04:POWER9:DD2.2 - Unable to start a KVM guest with default machine + type(pseries-bionic) complaining "KVM implementation does not support + Transactional Memory, try cap-htm=off" (kvm) (LP: #1752026) + - powerpc: Use feature bit for RTC presence rather than timebase presence + - powerpc: Book E: Remove unused CPU_FTR_L2CSR bit + - powerpc: Free up CPU feature bits on 64-bit machines + - powerpc: Add CPU feature bits for TM bug workarounds on POWER9 v2.2 + - powerpc/powernv: Provide a way to force a core into SMT4 mode + - KVM: PPC: Book3S HV: Work around transactional memory bugs in POWER9 + - KVM: PPC: Book3S HV: Work around XER[SO] bug in fake suspend mode + - KVM: PPC: Book3S HV: Work around TEXASR bug in fake suspend state + + * [Feature][CFL][ICL] [CNL]Thunderbolt support (Titan Ridge) (LP: #1730775) + - thunderbolt: Resume control channel after hibernation image is created + - thunderbolt: Serialize PCIe tunnel creation with PCI rescan + - thunderbolt: Handle connecting device in place of host properly + - thunderbolt: Do not overwrite error code when domain adding fails + - thunderbolt: Wait a bit longer for root switch config space + - thunderbolt: Wait a bit longer for ICM to authenticate the active NVM + - thunderbolt: Handle rejected Thunderbolt devices + - thunderbolt: Factor common ICM add and update operations out + - thunderbolt: Correct function name in kernel-doc comment + - thunderbolt: Add tb_switch_get() + - thunderbolt: Add tb_switch_find_by_route() + - thunderbolt: Add tb_xdomain_find_by_route() + - thunderbolt: Add constant for approval timeout + - thunderbolt: Move driver ready handling to struct icm + - thunderbolt: Add 'boot' attribute for devices + - thunderbolt: Add support for preboot ACL + - thunderbolt: Introduce USB only (SL4) security level + - thunderbolt: Add support for Intel Titan Ridge + + * QCA9377 requires more IRAM banks for its new firmware (LP: #1748345) + - ath10k: update the IRAM bank number for QCA9377 + + * Fix an issue that when system in S3, USB keyboard can't wake up the system. + (LP: #1759511) + - ACPI / PM: Allow deeper wakeup power states with no _SxD nor _SxW + + * cxl: Fix timebase synchronization status on POWER9 missing (CAPI) + (LP: #1757228) + - cxl: Fix timebase synchronization status on P9 + + * [Feature]Update Ubuntu 18.04 lpfc FC driver with 32/64GB HBA support and bug + fixes (LP: #1752182) + - scsi: lpfc: Fix frequency of Release WQE CQEs + - scsi: lpfc: Increase CQ and WQ sizes for SCSI + - scsi: lpfc: move placement of target destroy on driver detach + - scsi: lpfc: correct debug counters for abort + - scsi: lpfc: Add WQ Full Logic for NVME Target + - scsi: lpfc: Fix PRLI handling when topology type changes + - scsi: lpfc: Fix IO failure during hba reset testing with nvme io. + - scsi: lpfc: Fix RQ empty firmware trap + - scsi: lpfc: Allow set of maximum outstanding SCSI cmd limit for a target + - scsi: lpfc: Fix soft lockup in lpfc worker thread during LIP testing + - scsi: lpfc: Fix issue_lip if link is disabled + - scsi: lpfc: Indicate CONF support in NVMe PRLI + - scsi: lpfc: Fix SCSI io host reset causing kernel crash + - scsi: lpfc: Validate adapter support for SRIU option + - scsi: lpfc: Fix header inclusion in lpfc_nvmet + - scsi: lpfc: Treat SCSI Write operation Underruns as an error + - scsi: lpfc: Fix nonrecovery of NVME controller after cable swap. + - scsi: lpfc: update driver version to 11.4.0.7 + - scsi: lpfc: Update 11.4.0.7 modified files for 2018 Copyright + - scsi: lpfc: Rework lpfc to allow different sli4 cq and eq handlers + - scsi: lpfc: Rework sli4 doorbell infrastructure + - scsi: lpfc: Add SLI-4 if_type=6 support to the code base + - scsi: lpfc: Add push-to-adapter support to sli4 + - scsi: lpfc: Add PCI Ids for if_type=6 hardware + - scsi: lpfc: Add 64G link speed support + - scsi: lpfc: Add if_type=6 support for cycling valid bits + - scsi: lpfc: Enable fw download on if_type=6 devices + - scsi: lpfc: Add embedded data pointers for enhanced performance + - scsi: lpfc: Fix nvme embedded io length on new hardware + - scsi: lpfc: Work around NVME cmd iu SGL type + - scsi: lpfc: update driver version to 12.0.0.0 + - scsi: lpfc: Change Copyright of 12.0.0.0 modified files to 2018 + - scsi: lpfc: use __raw_writeX on DPP copies + - scsi: lpfc: Add missing unlock in WQ full logic + + * /dev/bcache/by-uuid links not created after reboot (LP: #1729145) + - SAUCE: (no-up) bcache: decouple emitting a cached_dev CHANGE uevent + + * DKMS driver builds fail with: Cannot use CONFIG_STACK_VALIDATION=y, please + install libelf-dev, libelf-devel or elfutils-libelf-devel (LP: #1760876) + - [Packaging] include the retpoline extractor in the headers + + * Use med_with_dipm SATA LPM to save more power for mobile platforms + (LP: #1759547) + - [Config] CONFIG_SATA_MOBILE_LPM_POLICY=3 + + * Miscellaneous Ubuntu changes + - [Packaging] Only install cloud init files when do_tools_common=true + - SAUCE: Import aufs driver + - [Config] Enable AUFS config options + + -- Seth Forshee Thu, 12 Apr 2018 09:30:56 -0500 + +linux (4.16.0-3.4) bionic; urgency=medium + + * Allow multiple mounts of zfs datasets (LP: #1759848) + - SAUCE: Allow mounting datasets more than once (LP: #1759848) + + * zfs system process hung on container stop/delete (LP: #1754584) + - SAUCE: Fix non-prefaulted page deadlock (LP: #1754584) + - Revert "UBUNTU: SAUCE: Fix non-prefaulted page deadlock (LP: #1754584)" + - SAUCE: Fix non-prefaulted page deadlock (LP: #1754584) + + * ubuntu_zram_smoke test will cause soft lockup on Artful ThunderX ARM64 + (LP: #1755073) + - SAUCE: crypto: thunderx_zip: Fix fallout from CONFIG_VMAP_STACK + + * CAPI Flash (cxlflash) update (LP: #1752672) + - SAUCE: cxlflash: Preserve number of interrupts for master contexts + - SAUCE: cxlflash: Avoid clobbering context control register value + - SAUCE: cxlflash: Add argument identifier names + - SAUCE: cxlflash: Introduce OCXL backend + - SAUCE: cxlflash: Hardware AFU for OCXL + - SAUCE: cxlflash: Read host function configuration + - SAUCE: cxlflash: Setup function acTag range + - SAUCE: cxlflash: Read host AFU configuration + - SAUCE: cxlflash: Setup AFU acTag range + - SAUCE: cxlflash: Setup AFU PASID + - SAUCE: cxlflash: Adapter context support for OCXL + - SAUCE: cxlflash: Use IDR to manage adapter contexts + - SAUCE: cxlflash: Support adapter file descriptors for OCXL + - SAUCE: cxlflash: Support adapter context discovery + - SAUCE: cxlflash: Support image reload policy modification + - SAUCE: cxlflash: MMIO map the AFU + - SAUCE: cxlflash: Support starting an adapter context + - SAUCE: cxlflash: Support process specific mappings + - SAUCE: cxlflash: Support AFU state toggling + - SAUCE: cxlflash: Support reading adapter VPD data + - SAUCE: cxlflash: Setup function OCXL link + - SAUCE: cxlflash: Setup OCXL transaction layer + - SAUCE: cxlflash: Support process element lifecycle + - SAUCE: cxlflash: Support AFU interrupt management + - SAUCE: cxlflash: Support AFU interrupt mapping and registration + - SAUCE: cxlflash: Support starting user contexts + - SAUCE: cxlflash: Support adapter context polling + - SAUCE: cxlflash: Support adapter context reading + - SAUCE: cxlflash: Support adapter context mmap and release + - SAUCE: cxlflash: Support file descriptor mapping + - SAUCE: cxlflash: Introduce object handle fop + - SAUCE: cxlflash: Setup LISNs for user contexts + - SAUCE: cxlflash: Setup LISNs for master contexts + - SAUCE: cxlflash: Update synchronous interrupt status bits + - SAUCE: cxlflash: Introduce OCXL context state machine + - SAUCE: cxlflash: Register for translation errors + - SAUCE: cxlflash: Support AFU reset + - SAUCE: cxlflash: Enable OCXL operations + + * [Artful][Wyse 3040] System hang when trying to enable an offlined CPU core + (LP: #1736393) + - SAUCE: drm/i915:Don't set chip specific data + - SAUCE: drm/i915: make previous commit affects Wyse 3040 only + + * zed process consuming 100% cpu (LP: #1751796) + - SAUCE: Fix ioctl loop-spin in zed (LP: #1751796) + + * Ubuntu18.04:PowerPC - Set Transparent Huge Pages (THP) by default to + "always" (LP: #1753708) + - Config: Set TRANSPARENT_HUGEPAGE_ALWAYS=y on ppc64el + + * retpoline hints: primary infrastructure and initial hints (LP: #1758856) + - [Packaging] retpoline -- add safe usage hint support + - [Packaging] retpoline-check -- only report additions + - [Packaging] retpoline -- widen indirect call/jmp detection + - [Packaging] retpoline -- elide %rip relative indirections + - [Packaging] retpoline -- clear hint information from packages + - SAUCE: apm -- annotate indirect calls within + firmware_restrict_branch_speculation_{start,end} + - SAUCE: EFI -- annotate indirect calls within + firmware_restrict_branch_speculation_{start,end} + - SAUCE: early/late -- annotate indirect calls in early/late initialisation + code + - SAUCE: vga_set_mode -- avoid jump tables + - [Config] retpoine -- switch to new format + + * Miscellaneous Ubuntu changes + - [Packaging] final-checks -- remove check for empty retpoline files + - [Packaging] skip cloud tools packaging when not building package + + [ Upstream Kernel Changes ] + + * Rebase to v4.16 + + -- Seth Forshee Mon, 02 Apr 2018 16:15:36 -0500 + +linux (4.16.0-2.3) bionic; urgency=medium + + * devpts: handle bind-mounts (LP: #1755857) + - SAUCE: devpts: hoist out check for DEVPTS_SUPER_MAGIC + - SAUCE: devpts: resolve devpts bind-mounts + - SAUCE: devpts: comment devpts_mntget() + - SAUCE: selftests: add devpts selftests + + * [bionic][arm64] d-i: add hisi_sas_v3_hw to scsi-modules (LP: #1756103) + - d-i: add hisi_sas_v3_hw to scsi-modules + + * [Bionic][ARM64] PCI and SAS driver patches for hip08 SoCs (LP: #1756094) + - SAUCE: scsi: hisi_sas: config for hip08 ES + - SAUCE: scsi: hisi_sas: export device table of v3 hw to userspace + + * s390/crypto: Fix kernel crash on aes_s390 module remove (LP: #1753424) + - SAUCE: s390/crypto: Fix kernel crash on aes_s390 module remove. + + * Fix ARC hit rate (LP: #1755158) + - SAUCE: Fix ARC hit rate (LP: #1755158) + + * ZFS setgid broken on 0.7 (LP: #1753288) + - SAUCE: Fix ZFS setgid + + * CONFIG_EFI=y on armhf (LP: #1726362) + - [Config] CONFIG_EFI=y on armhf, reconcile secureboot EFI settings + + * [Feature] Add xHCI debug device support in the driver (LP: #1730832) + - [Config] CONFIG_USB_XHCI_DBGCAP=y + + * retpoline: ignore %cs:0xNNN constant indirections (LP: #1752655) + - [Packaging] retpoline -- elide %cs:0xNNNN constants on i386 + - [Config] retpoline -- clean up i386 retpoline files + + * Miscellaneous Ubuntu changes + - [Packaging] retpoline-extract: flag *0xNNN(%reg) branches + - [Config] fix up retpoline abi files + - [Config] fix up retpoline abi files + - d-i: Add netsec to nic-modules + + [ Upstream Kernel Changes ] + + * Rebase to v4.16-rc6 + + -- Seth Forshee Mon, 19 Mar 2018 14:09:49 -0500 + +linux (4.16.0-1.2) bionic; urgency=medium + + * Driver not found in Ubuntu kernel does not detect interface (LP: #1745927) + - d-i: add cxgb4 to nic-modules + + * Support low-pin-count devices on Hisilicon SoCs (LP: #1677319) + - [Config] CONFIG_INDIRECT_PIO=y + - SAUCE: LIB: Introduce a generic PIO mapping method + - SAUCE: PCI: Remove unused __weak attribute in pci_register_io_range() + - SAUCE: PCI: Add fwnode handler as input param of pci_register_io_range() + - SAUCE: PCI: Apply the new generic I/O management on PCI IO hosts + - SAUCE: OF: Add missing I/O range exception for indirect-IO devices + - [Config] CONFIG_HISILICON_LPC=y + - SAUCE: HISI LPC: Support the LPC host on Hip06/Hip07 with DT bindings + - SAUCE: ACPI / scan: do not enumerate Indirect IO host children + - SAUCE: HISI LPC: Add ACPI support + - SAUCE: MAINTAINERS: Add maintainer for HiSilicon LPC driver + + * Miscellaneous Ubuntu changes + - SAUCE: tools: use CC for linking acpi tools + + [ Upstream Kernel Changes ] + + * Rebase to v4.16-rc3 + + -- Seth Forshee Wed, 28 Feb 2018 10:17:23 -0600 + +linux (4.16.0-0.1) bionic; urgency=medium + + * retpoline abi files are empty on i386 (LP: #1751021) + - [Packaging] retpoline-extract -- instantiate retpoline files for i386 + - [Packaging] final-checks -- sanity checking ABI contents + - [Packaging] final-checks -- check for empty retpoline files + + * Miscellaneous upstream changes + - disable vbox build + - Disable zfs build + + [ Upstream Kernel Changes ] + + * Rebase to v4.16-rc2 + + -- Seth Forshee Thu, 22 Feb 2018 08:58:57 -0600 + +linux (4.16.0-0.0) bionic; urgency=medium + + * Dummy entry + + -- Seth Forshee Wed, 21 Feb 2018 14:33:13 -0600 + +linux (4.15.0-10.11) bionic; urgency=medium + + * linux: 4.15.0-10.11 -proposed tracker (LP: #1749250) + + * "swiotlb: coherent allocation failed" dmesg spam with linux 4.15.0-9.10 + (LP: #1749202) + - swiotlb: suppress warning when __GFP_NOWARN is set + - drm/ttm: specify DMA_ATTR_NO_WARN for huge page pools + + * linux-tools: perf incorrectly linking libbfd (LP: #1748922) + - SAUCE: tools -- add ability to disable libbfd + - [Packaging] correct disablement of libbfd + + * [Artful] Realtek ALC225: 2 secs noise when a headset plugged in + (LP: #1744058) + - ALSA: hda/realtek - update ALC225 depop optimize + + * [Artful] Support headset mode for DELL WYSE (LP: #1723913) + - SAUCE: ALSA: hda/realtek - Add support headset mode for DELL WYSE + + * headset mic can't be detected on two Dell machines (LP: #1748807) + - ALSA: hda/realtek - Support headset mode for ALC215/ALC285/ALC289 + - ALSA: hda - Fix headset mic detection problem for two Dell machines + + * Bionic update to v4.15.3 stable release (LP: #1749191) + - ip6mr: fix stale iterator + - net: igmp: add a missing rcu locking section + - qlcnic: fix deadlock bug + - qmi_wwan: Add support for Quectel EP06 + - r8169: fix RTL8168EP take too long to complete driver initialization. + - tcp: release sk_frag.page in tcp_disconnect + - vhost_net: stop device during reset owner + - ipv6: addrconf: break critical section in addrconf_verify_rtnl() + - ipv6: change route cache aging logic + - Revert "defer call to mem_cgroup_sk_alloc()" + - net: ipv6: send unsolicited NA after DAD + - rocker: fix possible null pointer dereference in + rocker_router_fib_event_work + - tcp_bbr: fix pacing_gain to always be unity when using lt_bw + - cls_u32: add missing RCU annotation. + - ipv6: Fix SO_REUSEPORT UDP socket with implicit sk_ipv6only + - soreuseport: fix mem leak in reuseport_add_sock() + - net_sched: get rid of rcu_barrier() in tcf_block_put_ext() + - net: sched: fix use-after-free in tcf_block_put_ext + - media: mtk-vcodec: add missing MODULE_LICENSE/DESCRIPTION + - media: soc_camera: soc_scale_crop: add missing + MODULE_DESCRIPTION/AUTHOR/LICENSE + - media: tegra-cec: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - gpio: uniphier: fix mismatch between license text and MODULE_LICENSE + - crypto: tcrypt - fix S/G table for test_aead_speed() + - Linux 4.15.3 + + * bnx2x_attn_int_deasserted3:4323 MC assert! (LP: #1715519) // + CVE-2018-1000026 + - net: create skb_gso_validate_mac_len() + - bnx2x: disable GSO where gso_size is too big for hardware + + * ethtool -p fails to light NIC LED on HiSilicon D05 systems (LP: #1748567) + - net: hns: add ACPI mode support for ethtool -p + + * CVE-2017-5715 (Spectre v2 Intel) + - [Packaging] retpoline files must be sorted + - [Packaging] pull in retpoline files + + * [Feature] PXE boot with Intel Omni-Path (LP: #1712031) + - d-i: Add hfi1 to nic-modules + + * CVE-2017-5715 (Spectre v2 retpoline) + - [Packaging] retpoline -- add call site validation + - [Config] disable retpoline checks for first upload + + * Do not duplicate changelog entries assigned to more than one bug or CVE + (LP: #1743383) + - [Packaging] git-ubuntu-log -- handle multiple bugs/cves better + + -- Seth Forshee Tue, 13 Feb 2018 11:33:58 -0600 + +linux (4.15.0-9.10) bionic; urgency=medium + + * linux: 4.15.0-9.10 -proposed tracker (LP: #1748244) + + * Miscellaneous Ubuntu changes + - [Debian] tests -- remove gcc-multilib dependency for arm64 + + -- Seth Forshee Thu, 08 Feb 2018 11:25:04 -0600 + +linux (4.15.0-8.9) bionic; urgency=medium + + * linux: 4.15.0-8.9 -proposed tracker (LP: #1748075) + + * Bionic update to v4.15.2 stable release (LP: #1748072) + - KVM: x86: Make indirect calls in emulator speculation safe + - KVM: VMX: Make indirect call speculation safe + - module/retpoline: Warn about missing retpoline in module + - x86/cpufeatures: Add CPUID_7_EDX CPUID leaf + - x86/cpufeatures: Add Intel feature bits for Speculation Control + - x86/cpufeatures: Add AMD feature bits for Speculation Control + - x86/msr: Add definitions for new speculation control MSRs + - x86/pti: Do not enable PTI on CPUs which are not vulnerable to Meltdown + - x86/cpufeature: Blacklist SPEC_CTRL/PRED_CMD on early Spectre v2 microcodes + - x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier) support + - x86/alternative: Print unadorned pointers + - x86/nospec: Fix header guards names + - x86/bugs: Drop one "mitigation" from dmesg + - x86/cpu/bugs: Make retpoline module warning conditional + - x86/cpufeatures: Clean up Spectre v2 related CPUID flags + - x86/retpoline: Simplify vmexit_fill_RSB() + - x86/speculation: Simplify indirect_branch_prediction_barrier() + - auxdisplay: img-ascii-lcd: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - iio: adc/accel: Fix up module licenses + - pinctrl: pxa: pxa2xx: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - ASoC: pcm512x: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - KVM: nVMX: Eliminate vmcs02 pool + - KVM: VMX: introduce alloc_loaded_vmcs + - objtool: Improve retpoline alternative handling + - objtool: Add support for alternatives at the end of a section + - objtool: Warn on stripped section symbol + - x86/mm: Fix overlap of i386 CPU_ENTRY_AREA with FIX_BTMAP + - x86/spectre: Check CONFIG_RETPOLINE in command line parser + - x86/entry/64: Remove the SYSCALL64 fast path + - x86/entry/64: Push extra regs right away + - x86/asm: Move 'status' from thread_struct to thread_info + - Documentation: Document array_index_nospec + - array_index_nospec: Sanitize speculative array de-references + - x86: Implement array_index_mask_nospec + - x86: Introduce barrier_nospec + - x86: Introduce __uaccess_begin_nospec() and uaccess_try_nospec + - x86/usercopy: Replace open coded stac/clac with __uaccess_{begin, end} + - x86/uaccess: Use __uaccess_begin_nospec() and uaccess_try_nospec + - x86/get_user: Use pointer masking to limit speculation + - x86/syscall: Sanitize syscall table de-references under speculation + - vfs, fdtable: Prevent bounds-check bypass via speculative execution + - nl80211: Sanitize array index in parse_txq_params + - x86/spectre: Report get_user mitigation for spectre_v1 + - x86/spectre: Fix spelling mistake: "vunerable"-> "vulnerable" + - x86/cpuid: Fix up "virtual" IBRS/IBPB/STIBP feature bits on Intel + - x86/speculation: Use Indirect Branch Prediction Barrier in context switch + - x86/paravirt: Remove 'noreplace-paravirt' cmdline option + - KVM: VMX: make MSR bitmaps per-VCPU + - x86/kvm: Update spectre-v1 mitigation + - x86/retpoline: Avoid retpolines for built-in __init functions + - x86/spectre: Simplify spectre_v2 command line parsing + - x86/pti: Mark constant arrays as __initconst + - x86/speculation: Fix typo IBRS_ATT, which should be IBRS_ALL + - KVM/x86: Update the reverse_cpuid list to include CPUID_7_EDX + - KVM/x86: Add IBPB support + - KVM/VMX: Emulate MSR_IA32_ARCH_CAPABILITIES + - KVM/VMX: Allow direct access to MSR_IA32_SPEC_CTRL + - KVM/SVM: Allow direct access to MSR_IA32_SPEC_CTRL + - serial: core: mark port as initialized after successful IRQ change + - fpga: region: release of_parse_phandle nodes after use + - Linux 4.15.2 + + * Add support for the NIC on SynQuacer E-Series boards (LP: #1747792) + - net: phy: core: remove now uneeded disabling of interrupts + - [Config] CONFIG_NET_VENDOR_SOCIONEXT=y & CONFIG_SNI_NETSEC=m + - net: socionext: Add Synquacer NetSec driver + - net: socionext: include linux/io.h to fix build + - net: socionext: Fix error return code in netsec_netdev_open() + + * [Artful/Bionic] [Config] enable EDAC_GHES for ARM64 (LP: #1747746) + - [Config] CONFIG_EDAC_GHES=y + + * support thunderx2 vendor pmu events (LP: #1747523) + - perf pmu: Pass pmu as a parameter to get_cpuid_str() + - perf tools arm64: Add support for get_cpuid_str function. + - perf pmu: Add helper function is_pmu_core to detect PMU CORE devices + - perf vendor events arm64: Add ThunderX2 implementation defined pmu core + events + - perf pmu: Add check for valid cpuid in perf_pmu__find_map() + + * linux 4.14.0-7.9 ADT test failure with linux 4.14.0-7.9 (LP: #1732463) + - SAUCE: mm: disable vma based swap readahead by default + - SAUCE: mm: fix memory hotplug in ZONE_HIGHMEM + + * Miscellaneous Ubuntu changes + - [Config] Fix CONFIG_PROFILE_ALL_BRANCHES annotations + + -- Seth Forshee Wed, 07 Feb 2018 21:13:27 -0600 + +linux (4.15.0-7.8) bionic; urgency=medium + + * Bionic update to v4.15.1 stable release (LP: #1747169) + - Bluetooth: hci_serdev: Init hci_uart proto_lock to avoid oops + - tools/gpio: Fix build error with musl libc + - gpio: stmpe: i2c transfer are forbiden in atomic context + - gpio: Fix kernel stack leak to userspace + - ALSA: hda - Reduce the suspend time consumption for ALC256 + - crypto: ecdh - fix typo in KPP dependency of CRYPTO_ECDH + - crypto: aesni - handle zero length dst buffer + - crypto: aesni - fix typo in generic_gcmaes_decrypt + - crypto: aesni - add wrapper for generic gcm(aes) + - crypto: aesni - Fix out-of-bounds access of the data buffer in generic-gcm- + aesni + - crypto: aesni - Fix out-of-bounds access of the AAD buffer in generic-gcm- + aesni + - crypto: inside-secure - fix hash when length is a multiple of a block + - crypto: inside-secure - avoid unmapping DMA memory that was not mapped + - crypto: sha3-generic - fixes for alignment and big endian operation + - crypto: af_alg - whitelist mask and type + - HID: wacom: EKR: ensure devres groups at higher indexes are released + - HID: wacom: Fix reporting of touch toggle (WACOM_HID_WD_MUTE_DEVICE) events + - power: reset: zx-reboot: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - gpio: iop: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - gpio: ath79: add missing MODULE_DESCRIPTION/LICENSE + - mtd: nand: denali_pci: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE + - igb: Free IRQs when device is hotplugged + - ima/policy: fix parsing of fsuuid + - scsi: aacraid: Fix udev inquiry race condition + - scsi: aacraid: Fix hang in kdump + - scsi: storvsc: missing error code in storvsc_probe() + - staging: lustre: separate a connection destroy from free struct kib_conn + - staging: ccree: NULLify backup_info when unused + - staging: ccree: fix fips event irq handling build + - tty: fix data race between tty_init_dev and flush of buf + - usb: option: Add support for FS040U modem + - USB: serial: pl2303: new device id for Chilitag + - USB: cdc-acm: Do not log urb submission errors on disconnect + - CDC-ACM: apply quirk for card reader + - USB: serial: io_edgeport: fix possible sleep-in-atomic + - usbip: prevent bind loops on devices attached to vhci_hcd + - usbip: list: don't list devices attached to vhci_hcd + - USB: serial: simple: add Motorola Tetra driver + - usb: f_fs: Prevent gadget unbind if it is already unbound + - usb: uas: unconditionally bring back host after reset + - usb/gadget: Fix "high bandwidth" check in usb_gadget_ep_match_desc() + - ANDROID: binder: remove waitqueue when thread exits. + - android: binder: use VM_ALLOC to get vm area + - mei: me: allow runtime pm for platform with D0i3 + - serial: 8250_of: fix return code when probe function fails to get reset + - serial: 8250_uniphier: fix error return code in uniphier_uart_probe() + - serial: 8250_dw: Revert "Improve clock rate setting" + - serial: imx: Only wakeup via RTSDEN bit if the system has RTS/CTS + - spi: imx: do not access registers while clocks disabled + - iio: adc: stm32: fix scan of multiple channels with DMA + - iio: chemical: ccs811: Fix output of IIO_CONCENTRATION channels + - test_firmware: fix missing unlock on error in config_num_requests_store() + - Input: synaptics-rmi4 - unmask F03 interrupts when port is opened + - Input: synaptics-rmi4 - do not delete interrupt memory too early + - x86/efi: Clarify that reset attack mitigation needs appropriate userspace + - Linux 4.15.1 + + * Dell XPS 13 9360 bluetooth (Atheros) won't connect after resume + (LP: #1744712) + - Revert "Bluetooth: btusb: fix QCA Rome suspend/resume" + - Bluetooth: btusb: Restore QCA Rome suspend/resume fix with a "rewritten" + version + + * apparmor profile load in stacked policy container fails (LP: #1746463) + - SAUCE: apparmor: fix display of .ns_name for containers + + -- Seth Forshee Sun, 04 Feb 2018 11:56:32 +0100 + +linux (4.15.0-6.7) bionic; urgency=low + + * upload urgency should be medium by default (LP: #1745338) + - [Packaging] update urgency to medium by default + + * Shutdown hang on 16.04 with iscsi targets (LP: #1569925) + - scsi: libiscsi: Allow sd_shutdown on bad transport + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.7.5-1ubuntu1, zfs to 0.7.5-1ubuntu1 + - Revert "UBUNTU: SAUCE: mm: fix memory hotplug in ZONE_HIGHMEM" + - Revert "UBUNTU: SAUCE: mm: disable vma based swap readahead by default" + + [ Upstream Kernel Changes ] + + * Rebase to v4.15 + + -- Seth Forshee Mon, 29 Jan 2018 08:47:07 -0600 + +linux (4.15.0-5.6) bionic; urgency=low + + * $(LOCAL_ENV_CC) and $(LOCAL_ENV_DISTCC_HOSTS) should be properly quoted + (LP: #1744077) + - [Debian] pass LOCAL_ENV_CC and LOCAL_ENV_DISTCC_HOSTS properly + + * Missing install-time driver for QLogic QED 25/40/100Gb Ethernet NIC + (LP: #1743638) + - [d-i] Add qede to nic-modules udeb + + * boot failure on AMD Raven + WesternXT (LP: #1742759) + - SAUCE: drm/amdgpu: add atpx quirk handling (v2) + + * Unable to handle kernel NULL pointer dereference at isci_task_abort_task + (LP: #1726519) + - SAUCE: Revert "scsi: libsas: allow async aborts" + + * Update Ubuntu-4.15.0 config to support Intel Atom devices (LP: #1739939) + - [Config] CONFIG_SERIAL_DEV_BUS=y, CONFIG_SERIAL_DEV_CTRL_TTYPORT=y + + * Miscellaneous Ubuntu changes + - Rebase to v4.15-rc7 + - [Config] CONFIG_CPU_ISOLATION=y + - [Config] Update annotations following config review + - Revert "UBUNTU: SAUCE: Import aufs driver" + - SAUCE: Import aufs driver + - ubuntu: vbox -- update to 5.2.6-dfsg-1 + - ubuntu: vbox: build fixes for 4.15 + - ubuntu: vbox -- update to 5.2.6-dfsg-2 + - hio: updates for timer api changes in 4.15 + - enable hio build + - Rebase to v4.15-rc9 + + [ Upstream Kernel Changes ] + + * Rebase to v4.15-rc9 + + -- Seth Forshee Mon, 22 Jan 2018 10:16:05 -0600 + +linux (4.15.0-4.5) bionic; urgency=low + + * [0cf3:e010] QCA6174A XR failed to pair with bt 4.0 device (LP: #1741166) + - SAUCE: Bluetooth: btusb: Add support for 0cf3:e010 + + * External HDMI monitor failed to show screen on Lenovo X1 series + (LP: #1738523) + - SAUCE: drm/i915: Disable writing of TMDS_OE on Lenovo ThinkPad X1 series + + * Miscellaneous Ubuntu changes + - [Debian] autoreconstruct - add resoration of execute permissions + + [ Upstream Kernel Changes ] + + * Rebase to v4.15-rc4 + + -- Seth Forshee Wed, 10 Jan 2018 10:24:22 -0600 + +linux (4.15.0-3.4) bionic; urgency=low + + * ubuntu/xr-usb-serial didn't get built in zesty and artful (LP: #1733281) + - SAUCE: make sure ubuntu/xr-usb-serial builds for x86 + + [ Upstream Kernel Changes ] + + * Rebase to v4.15-rc6 + + -- Seth Forshee Wed, 03 Jan 2018 20:20:43 -0600 + +linux (4.15.0-2.3) bionic; urgency=low + + * nvidia-graphics-drivers-384 384.90-0ubuntu6 ADT test failure with linux + 4.15.0-1.2 (LP: #1737752) + - x86/mm: Unbreak modules that use the DMA API + + * Ubuntu 17.10 corrupting BIOS - many LENOVO laptops models (LP: #1734147) + - [Config] CONFIG_SPI_INTEL_SPI_*=n + + * power: commonise configs IBMVETH/IBMVSCSI and ensure both are in linux-image + and udebs (LP: #1521712) + - [Config] Include ibmvnic in nic-modules + + * Enable arm64 emulation of removed ARMv7 instructions (LP: #1545542) + - [Config] Enable support for emulation of deprecated ARMv8 instructions + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl with 4.15 compat fix (LP:#1737761) + - Enable zfs build + - [Debian] add icp to zfs-modules.ignore + + [ Upstream Kernel Changes ] + + * Rebase to v4.15-rc4 + + -- Seth Forshee Mon, 18 Dec 2017 09:27:13 -0600 + +linux (4.15.0-1.2) bionic; urgency=low + + * Disabling zfs does not always disable module checks for the zfs modules + (LP: #1737176) + - [Packaging] disable zfs module checks when zfs is disabled + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_UNWINDER_FRAME_POINTER=y for amd64 + + [ Upstream Kernel Changes ] + + * Rebase to v4.15-rc3 + + -- Seth Forshee Sun, 10 Dec 2017 22:07:19 -0600 + +linux (4.15.0-0.1) bionic; urgency=low + + * Miscellaneous Ubuntu changes + - ubuntu: vbox -- update to 5.2.2-dfsg-2 + - ubuntu: vbox: build fixes for 4.15 + - disable hio build + - [Config] Update kernel lockdown options to fix build errors + - Disable zfs build + - SAUCE: Import aufs driver + - [Config] Enable AUFS config options + + [ Upstream Kernel Changes ] + + * Rebase to v4.15-rc2 + + -- Seth Forshee Fri, 08 Dec 2017 13:55:42 -0600 + +linux (4.14.0-11.13) bionic; urgency=low + + * linux: 4.14.0-11.13 -proposed tracker (LP: #1736168) + + * CVE-2017-1000405 + - mm, thp: Do not make page table dirty unconditionally in touch_p[mu]d() + + * linux 4.14.0-7.9 ADT test failure with linux 4.14.0-7.9 (LP: #1732463) + - SAUCE: mm: disable vma based swap readahead by default + - SAUCE: mm: fix memory hotplug in ZONE_HIGHMEM + + * Bionic update to v4.14.3 stable release (LP: #1735843) + - s390: fix transactional execution control register handling + - s390/noexec: execute kexec datamover without DAT + - s390/runtime instrumention: fix possible memory corruption + - s390/guarded storage: fix possible memory corruption + - s390/disassembler: add missing end marker for e7 table + - s390/disassembler: increase show_code buffer size + - ACPI / PM: Fix acpi_pm_notifier_lock vs flush_workqueue() deadlock + - ACPI / EC: Fix regression related to triggering source of EC event handling + - cpufreq: schedutil: Reset cached_raw_freq when not in sync with next_freq + - serdev: fix registration of second slave + - sched: Make resched_cpu() unconditional + - lib/mpi: call cond_resched() from mpi_powm() loop + - x86/boot: Fix boot failure when SMP MP-table is based at 0 + - x86/decoder: Add new TEST instruction pattern + - x86/entry/64: Fix entry_SYSCALL_64_after_hwframe() IRQ tracing + - x86/entry/64: Add missing irqflags tracing to native_load_gs_index() + - perf/x86/intel: Hide TSX events when RTM is not supported + - arm64: Implement arch-specific pte_access_permitted() + - ARM: 8722/1: mm: make STRICT_KERNEL_RWX effective for LPAE + - ARM: 8721/1: mm: dump: check hardware RO bit for LPAE + - uapi: fix linux/tls.h userspace compilation error + - uapi: fix linux/rxrpc.h userspace compilation errors + - MIPS: cmpxchg64() and HAVE_VIRT_CPU_ACCOUNTING_GEN don't work for 32-bit SMP + - MIPS: ralink: Fix MT7628 pinmux + - MIPS: ralink: Fix typo in mt7628 pinmux function + - net: mvneta: fix handling of the Tx descriptor counter + - nbd: wait uninterruptible for the dead timeout + - nbd: don't start req until after the dead connection logic + - PM / OPP: Add missing of_node_put(np) + - PCI/ASPM: Account for downstream device's Port Common_Mode_Restore_Time + - PCI/ASPM: Use correct capability pointer to program LTR_L1.2_THRESHOLD + - PCI: hv: Use effective affinity mask + - PCI: Set Cavium ACS capability quirk flags to assert RR/CR/SV/UF + - PCI: Apply Cavium ThunderX ACS quirk to more Root Ports + - ALSA: hda: Add Raven PCI ID + - dm integrity: allow unaligned bv_offset + - dm cache: fix race condition in the writeback mode overwrite_bio + optimisation + - dm crypt: allow unaligned bv_offset + - dm zoned: ignore last smaller runt zone + - dm mpath: remove annoying message of 'blk_get_request() returned -11' + - dm bufio: fix integer overflow when limiting maximum cache size + - ovl: Put upperdentry if ovl_check_origin() fails + - dm: allocate struct mapped_device with kvzalloc + - sched/rt: Simplify the IPI based RT balancing logic + - MIPS: pci: Remove KERN_WARN instance inside the mt7620 driver + - dm: fix race between dm_get_from_kobject() and __dm_destroy() + - dm: discard support requires all targets in a table support discards + - MIPS: Fix odd fp register warnings with MIPS64r2 + - MIPS: Fix MIPS64 FP save/restore on 32-bit kernels + - MIPS: dts: remove bogus bcm96358nb4ser.dtb from dtb-y entry + - MIPS: Fix an n32 core file generation regset support regression + - MIPS: BCM47XX: Fix LED inversion for WRT54GSv1 + - MIPS: math-emu: Fix final emulation phase for certain instructions + - rt2x00usb: mark device removed when get ENOENT usb error + - mm/z3fold.c: use kref to prevent page free/compact race + - autofs: don't fail mount for transient error + - nilfs2: fix race condition that causes file system corruption + - fscrypt: lock mutex before checking for bounce page pool + - eCryptfs: use after free in ecryptfs_release_messaging() + - libceph: don't WARN() if user tries to add invalid key + - bcache: check ca->alloc_thread initialized before wake up it + - fs: guard_bio_eod() needs to consider partitions + - fanotify: fix fsnotify_prepare_user_wait() failure + - isofs: fix timestamps beyond 2027 + - btrfs: change how we decide to commit transactions during flushing + - f2fs: expose some sectors to user in inline data or dentry case + - NFS: Fix typo in nomigration mount option + - NFS: Revert "NFS: Move the flock open mode check into nfs_flock()" + - nfs: Fix ugly referral attributes + - NFS: Avoid RCU usage in tracepoints + - NFS: revalidate "." etc correctly on "open". + - nfsd: deal with revoked delegations appropriately + - rtlwifi: rtl8192ee: Fix memory leak when loading firmware + - rtlwifi: fix uninitialized rtlhal->last_suspend_sec time + - iwlwifi: fix firmware names for 9000 and A000 series hw + - md: fix deadlock error in recent patch. + - md: don't check MD_SB_CHANGE_CLEAN in md_allow_write + - Bluetooth: btqcomsmd: Add support for BD address setup + - md/bitmap: revert a patch + - fsnotify: clean up fsnotify_prepare/finish_user_wait() + - fsnotify: pin both inode and vfsmount mark + - fsnotify: fix pinning group in fsnotify_prepare_user_wait() + - ata: fixes kernel crash while tracing ata_eh_link_autopsy event + - ext4: fix interaction between i_size, fallocate, and delalloc after a crash + - ext4: prevent data corruption with inline data + DAX + - ext4: prevent data corruption with journaling + DAX + - ALSA: pcm: update tstamp only if audio_tstamp changed + - ALSA: usb-audio: Add sanity checks to FE parser + - ALSA: usb-audio: Fix potential out-of-bound access at parsing SU + - ALSA: usb-audio: Add sanity checks in v2 clock parsers + - ALSA: timer: Remove kernel warning at compat ioctl error paths + - ALSA: hda/realtek - Fix ALC275 no sound issue + - ALSA: hda: Fix too short HDMI/DP chmap reporting + - ALSA: hda - Fix yet remaining issue with vmaster 0dB initialization + - ALSA: hda/realtek - Fix ALC700 family no sound issue + - ASoC: sun8i-codec: Invert Master / Slave condition + - ASoC: sun8i-codec: Fix left and right channels inversion + - ASoC: sun8i-codec: Set the BCLK divider + - mfd: lpc_ich: Avoton/Rangeley uses SPI_BYT method + - fix a page leak in vhost_scsi_iov_to_sgl() error recovery + - 9p: Fix missing commas in mount options + - fs/9p: Compare qid.path in v9fs_test_inode + - net/9p: Switch to wait_event_killable() + - scsi: qla2xxx: Suppress a kernel complaint in qla_init_base_qpair() + - scsi: sd_zbc: Fix sd_zbc_read_zoned_characteristics() + - scsi: lpfc: fix pci hot plug crash in timer management routines + - scsi: lpfc: fix pci hot plug crash in list_add call + - scsi: lpfc: Fix crash receiving ELS while detaching driver + - scsi: lpfc: Fix FCP hba_wqidx assignment + - scsi: lpfc: Fix oops if nvmet_fc_register_targetport fails + - iscsi-target: Make TASK_REASSIGN use proper se_cmd->cmd_kref + - iscsi-target: Fix non-immediate TMR reference leak + - target: fix null pointer regression in core_tmr_drain_tmr_list + - target: fix buffer offset in core_scsi3_pri_read_full_status + - target: Fix QUEUE_FULL + SCSI task attribute handling + - target: Fix caw_sem leak in transport_generic_request_failure + - target: Fix quiese during transport_write_pending_qf endless loop + - target: Avoid early CMD_T_PRE_EXECUTE failures during ABORT_TASK + - mtd: Avoid probe failures when mtd->dbg.dfs_dir is invalid + - mtd: nand: Export nand_reset() symbol + - mtd: nand: atmel: Actually use the PM ops + - mtd: nand: omap2: Fix subpage write + - mtd: nand: Fix writing mtdoops to nand flash. + - mtd: nand: mtk: fix infinite ECC decode IRQ issue + - mailbox: bcm-flexrm-mailbox: Fix FlexRM ring flush sequence + - p54: don't unregister leds when they are not initialized + - block: Fix a race between blk_cleanup_queue() and timeout handling + - raid1: prevent freeze_array/wait_all_barriers deadlock + - genirq: Track whether the trigger type has been set + - irqchip/gic-v3: Fix ppi-partitions lookup + - lockd: double unregister of inetaddr notifiers + - KVM: PPC: Book3S HV: Don't call real-mode XICS hypercall handlers if not + enabled + - KVM: nVMX: set IDTR and GDTR limits when loading L1 host state + - KVM: SVM: obey guest PAT + - kvm: vmx: Reinstate support for CPUs without virtual NMI + - dax: fix PMD faults on zero-length files + - dax: fix general protection fault in dax_alloc_inode + - SUNRPC: Fix tracepoint storage issues with svc_recv and svc_rqst_status + - clk: ti: dra7-atl-clock: fix child-node lookups + - libnvdimm, dimm: clear 'locked' status on successful DIMM enable + - libnvdimm, pfn: make 'resource' attribute only readable by root + - libnvdimm, namespace: fix label initialization to use valid seq numbers + - libnvdimm, region : make 'resource' attribute only readable by root + - libnvdimm, namespace: make 'resource' attribute only readable by root + - svcrdma: Preserve CB send buffer across retransmits + - IB/srpt: Do not accept invalid initiator port names + - IB/cm: Fix memory corruption in handling CM request + - IB/hfi1: Fix incorrect available receive user context count + - IB/srp: Avoid that a cable pull can trigger a kernel crash + - IB/core: Avoid crash on pkey enforcement failed in received MADs + - IB/core: Only maintain real QPs in the security lists + - NFC: fix device-allocation error return + - spi-nor: intel-spi: Fix broken software sequencing codes + - i40e: Use smp_rmb rather than read_barrier_depends + - igb: Use smp_rmb rather than read_barrier_depends + - igbvf: Use smp_rmb rather than read_barrier_depends + - ixgbevf: Use smp_rmb rather than read_barrier_depends + - i40evf: Use smp_rmb rather than read_barrier_depends + - fm10k: Use smp_rmb rather than read_barrier_depends + - ixgbe: Fix skb list corruption on Power systems + - parisc: Fix validity check of pointer size argument in new CAS + implementation + - powerpc: Fix boot on BOOK3S_32 with CONFIG_STRICT_KERNEL_RWX + - powerpc/mm/radix: Fix crashes on Power9 DD1 with radix MMU and STRICT_RWX + - powerpc/perf/imc: Use cpu_to_node() not topology_physical_package_id() + - powerpc/signal: Properly handle return value from uprobe_deny_signal() + - powerpc/64s: Fix masking of SRR1 bits on instruction fault + - powerpc/64s/radix: Fix 128TB-512TB virtual address boundary case allocation + - powerpc/64s/hash: Fix 512T hint detection to use >= 128T + - powerpc/64s/hash: Fix 128TB-512TB virtual address boundary case allocation + - powerpc/64s/hash: Fix fork() with 512TB process address space + - powerpc/64s/hash: Allow MAP_FIXED allocations to cross 128TB boundary + - media: Don't do DMA on stack for firmware upload in the AS102 driver + - media: rc: check for integer overflow + - media: rc: nec decoder should not send both repeat and keycode + - cx231xx-cards: fix NULL-deref on missing association descriptor + - media: v4l2-ctrl: Fix flags field on Control events + - media: venus: fix wrong size on dma_free + - media: venus: venc: fix bytesused v4l2_plane field + - media: venus: reimplement decoder stop command + - ARM64: dts: meson-gxl: Add alternate ARM Trusted Firmware reserved memory + zone + - iwlwifi: fix wrong struct for a000 device + - iwlwifi: add a new a000 device + - iwlwifi: pcie: sort IDs for the 9000 series for easier comparisons + - iwlwifi: add new cards for a000 series + - iwlwifi: add new cards for 8265 series + - iwlwifi: add new cards for 8260 series + - iwlwifi: fix PCI IDs and configuration mapping for 9000 series + - iwlwifi: mvm: support version 7 of the SCAN_REQ_UMAC FW command + - e1000e: Fix error path in link detection + - e1000e: Fix return value test + - e1000e: Separate signaling for link check/link up + - e1000e: Avoid receiver overrun interrupt bursts + - e1000e: fix buffer overrun while the I219 is processing DMA transactions + - Linux 4.14.3 + + * Miscellaneous Ubuntu changes + - SAUCE: s390/topology: don't inline cpu_to_node + - SAUCE: (noup) Update spl to 0.7.3-1ubuntu1, zfs to 0.7.3-1ubuntu1 + + -- Seth Forshee Mon, 04 Dec 2017 09:08:07 -0600 + +linux (4.14.0-10.12) bionic; urgency=low + + * linux: 4.14.0-10.12 -proposed tracker (LP: #1734901) + + * Miscellaneous Ubuntu changes + - SAUCE: Enable the ACPI kernel debugger and acpidbg tool + - [Packaging] Include arch/arm64/kernel/ftrace-mod.o in headers package + + -- Seth Forshee Tue, 28 Nov 2017 08:46:49 -0600 + +linux (4.14.0-9.11) bionic; urgency=low + + * linux: 4.14.0-9.11 -proposed tracker (LP: #1734728) + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: SAUCE: (noup) Update spl to 0.7.3-1ubuntu1, zfs to + 0.7.3-1ubuntu1" + + -- Seth Forshee Mon, 27 Nov 2017 12:44:48 -0600 + +linux (4.14.0-8.10) bionic; urgency=low + + * linux: 4.14.0-8.10 -proposed tracker (LP: #1734695) + + * Bionic update to v4.14.2 stable release (LP: #1734694) + - bio: ensure __bio_clone_fast copies bi_partno + - af_netlink: ensure that NLMSG_DONE never fails in dumps + - vxlan: fix the issue that neigh proxy blocks all icmpv6 packets + - net: cdc_ncm: GetNtbFormat endian fix + - fealnx: Fix building error on MIPS + - net/sctp: Always set scope_id in sctp_inet6_skb_msgname + - ima: do not update security.ima if appraisal status is not INTEGRITY_PASS + - serial: omap: Fix EFR write on RTS deassertion + - serial: 8250_fintek: Fix finding base_port with activated SuperIO + - tpm-dev-common: Reject too short writes + - rcu: Fix up pending cbs check in rcu_prepare_for_idle + - mm/pagewalk.c: report holes in hugetlb ranges + - ocfs2: fix cluster hang after a node dies + - ocfs2: should wait dio before inode lock in ocfs2_setattr() + - ipmi: fix unsigned long underflow + - mm/page_alloc.c: broken deferred calculation + - mm/page_ext.c: check if page_ext is not prepared + - coda: fix 'kernel memory exposure attempt' in fsync + - ipmi: Prefer ACPI system interfaces over SMBIOS ones + - Linux 4.14.2 + + * Bionic update to v4.14.1 stable release (LP: #1734693) + - EDAC, sb_edac: Don't create a second memory controller if HA1 is not present + - dmaengine: dmatest: warn user when dma test times out + - media: imon: Fix null-ptr-deref in imon_probe + - media: dib0700: fix invalid dvb_detach argument + - crypto: dh - Fix double free of ctx->p + - crypto: dh - Don't permit 'p' to be 0 + - crypto: dh - Don't permit 'key' or 'g' size longer than 'p' + - crypto: brcm - Explicity ACK mailbox message + - USB: early: Use new USB product ID and strings for DbC device + - USB: usbfs: compute urb->actual_length for isochronous + - USB: Add delay-init quirk for Corsair K70 LUX keyboards + - usb: gadget: f_fs: Fix use-after-free in ffs_free_inst + - USB: serial: metro-usb: stop I/O after failed open + - USB: serial: Change DbC debug device binding ID + - USB: serial: qcserial: add pid/vid for Sierra Wireless EM7355 fw update + - USB: serial: garmin_gps: fix I/O after failed probe and remove + - USB: serial: garmin_gps: fix memory leak on probe errors + - selftests/x86/protection_keys: Fix syscall NR redefinition warnings + - x86/MCE/AMD: Always give panic severity for UC errors in kernel context + - platform/x86: peaq-wmi: Add DMI check before binding to the WMI interface + - platform/x86: peaq_wmi: Fix missing terminating entry for peaq_dmi_table + - HID: cp2112: add HIDRAW dependency + - HID: wacom: generic: Recognize WACOM_HID_WD_PEN as a type of pen collection + - rpmsg: glink: Add missing MODULE_LICENSE + - staging: wilc1000: Fix bssid buffer offset in Txq + - staging: sm750fb: Fix parameter mistake in poke32 + - staging: ccree: fix 64 bit scatter/gather DMA ops + - staging: greybus: spilib: fix use-after-free after deregistration + - staging: rtl8188eu: Revert 4 commits breaking ARP + - spi: fix use-after-free at controller deregistration + - sparc32: Add cmpxchg64(). + - sparc64: mmu_context: Add missing include files + - sparc64: Fix page table walk for PUD hugepages + - Linux 4.14.1 + + * Set PANIC_TIMEOUT=10 on Power Systems (LP: #1730660) + - [Config]: Set PANIC_TIMEOUT=10 on ppc64el + + * enable CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH easily confuse users + (LP: #1732627) + - [Config] CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=n + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.7.3-1ubuntu1, zfs to 0.7.3-1ubuntu1 + + -- Seth Forshee Mon, 27 Nov 2017 07:43:44 -0600 + +linux (4.14.0-7.9) bionic; urgency=low + + * Miscellaneous Ubuntu changes + - SAUCE: apparmor: add base infastructure for socket mediation + - SAUCE: apparmor: af_unix mediation + - SAUCE: LSM stacking: procfs: add smack subdir to attrs + - SAUCE: LSM stacking: LSM: manage credential security blobs + - SAUCE: LSM stacking: LSM: Manage file security blobs + - SAUCE: LSM stacking: LSM: manage task security blobs + - SAUCE: LSM stacking: LSM: Infrastructure management of the remaining blobs + - SAUCE: LSM stacking: LSM: general but not extreme module stacking + - SAUCE: LSM stacking: LSM: Complete task_alloc hook + - SAUCE: LSM stacking: fixup procsfs: add smack subdir to attrs + - SAUCE: LSM stacking: fixup initialize task->security + - SAUCE: LSM stacking: fixup: alloc_task_ctx is dead code + - SAUCE: LSM stacking: add support for stacking getpeersec_stream + - SAUCE: LSM stacking: add stacking support to apparmor network hooks + - SAUCE: LSM stacking: fixup apparmor stacking enablement + - SAUCE: LSM stacking: fixup stacking kconfig + - SAUCE: LSM stacking: allow selecting multiple LSMs using kernel boot params + - SAUCE: LSM stacking: provide prctl interface for setting context + - SAUCE: LSM stacking: inherit current display LSM + - SAUCE: LSM stacking: keep an index for each registered LSM + - SAUCE: LSM stacking: verify display LSM + - SAUCE: LSM stacking: provide a way to specify the default display lsm + - SAUCE: LSM stacking: make sure LSM blob align on 64 bit boundaries + - SAUCE: LSM stacking: add /proc//attr/display_lsm + - SAUCE: LSM stacking: add Kconfig to set default display LSM + - SAUCE: LSM stacking: add configs for LSM stacking + - SAUCE: LSM stacking: check for invalid zero sized writes + - [Config] Run updateconfigs after merging LSM stacking + - [Config] CONFIG_AMD_MEM_ENCRYPT=y + + [ Upstream Kernel Changes ] + + * Rebase to v4.14 + + -- Seth Forshee Mon, 13 Nov 2017 08:12:08 -0600 + +linux (4.14.0-6.8) bionic; urgency=low + + * Miscellaneous Ubuntu changes + - SAUCE: add workarounds to enable ZFS for 4.14 + + [ Upstream Kernel Changes ] + + * Rebase to v4.14-rc8 + + -- Seth Forshee Mon, 06 Nov 2017 11:39:00 -0600 + +linux (4.14.0-5.7) bionic; urgency=low + + * Miscellaneous Ubuntu changes + - [Debian] Fix invocation of dh_prep for dbgsym packages + + -- Seth Forshee Tue, 31 Oct 2017 07:07:23 -0500 + +linux (4.14.0-4.5) bionic; urgency=low + + * Miscellaneous Ubuntu changes + - [Packaging] virtualbox -- reduce in kernel module versions + - vbox-update: Fix up KERN_DIR definitions + - ubuntu: vbox -- update to 5.2.0-dfsg-2 + - [Config] CONFIG_AMD_MEM_ENCRYPT=n + + [ Upstream Kernel Changes ] + + * Rebase to v4.14-rc7 + + -- Seth Forshee Mon, 30 Oct 2017 13:29:20 -0500 + +linux (4.14.0-3.4) artful; urgency=low + + * Touchpad and TrackPoint Dose Not Work on Lenovo X1C6 and X280 (LP: #1723986) + - SAUCE: Input: synaptics-rmi4 - RMI4 can also use SMBUS version 3 + - SAUCE: Input: synaptics - Lenovo X1 Carbon 5 should use SMBUS/RMI + - SAUCE: Input: synaptics - add Intertouch support on X1 Carbon 6th and X280 + + * powerpc/64s: Add workaround for P9 vector CI load issuenext (LP: #1721070) + - powerpc/64s: Add workaround for P9 vector CI load issue + + * Miscellaneous Ubuntu changes + - SAUCE: staging: vboxvideo: Fix reporting invalid suggested-offset-properties + - [Config] CONFIG_DRM_VBOXVIDEO=m + - SAUCE: Import aufs driver + - [Config] Enable aufs + - [Config] Reorder annotations file after enabling aufs + - vbox-update: Disable imported vboxvideo module + - ubuntu: vbox -- update to 5.1.30-dfsg-1 + - Enable vbox + - hio: Use correct sizes when initializing ssd_index_bits* arrays + - hio: Update io stat accounting for 4.14 + - Enable hio + + [ Upstream Kernel Changes ] + + * Rebase to v4.14-rc5 + * Rebase to v4.14-rc6 + + -- Seth Forshee Mon, 23 Oct 2017 13:53:52 -0500 + +linux (4.14.0-2.3) artful; urgency=low + + * [Bug] USB controller failed to respond on Denverton after loading + intel_th_pci module (LP: #1715833) + - SAUCE: PCI: Disable broken RTIT_BAR of Intel TH + + * CONFIG_DEBUG_FS is not enabled by "make zfcpdump_defconfig" with Ubuntu + 17.10 (kernel 4.13) (LP: #1719290) + - SAUCE: s390: update zfcpdump_defconfig + + * Add installer support for Broadcom BCM573xx network drivers. (LP: #1720466) + - d-i: Add bnxt_en to nic-modules. + + * Miscellaneous Ubuntu changes + - [Config] Update annotations for 4.14-rc2 + + [ Upstream Kernel Changes ] + + * Rebase to v4.14-rc3 + * Rebase to v4.14-rc4 + + -- Seth Forshee Wed, 11 Oct 2017 16:04:27 -0500 + +linux (4.14.0-1.2) artful; urgency=low + + * [Bug] USB 3.1 Gen2 works as 5Gbps (LP: #1720045) + - xhci: set missing SuperSpeedPlus Link Protocol bit in roothub descriptor + + * Please make linux-libc-dev Provide: aufs-dev (LP: #1716091) + - [Packaging] Add aufs-dev to the Provides: for linux-libc-dev + + * Upgrade to 4.13.0-11.12 in artful amd64 VM breaks display on wayland + (LP: #1718679) + - [Config] CONFIG_DRM_VBOXVIDEO=n + + * ipmmu-vmsa driver breaks arm64 boots (LP: #1718734) + - [Config] Disable CONFIG_IPMMU_VMSA on arm64 + + * autopkgtest profile fails to build on armhf (LP: #1717920) + - [Packaging] autopkgtest -- disable d-i when dropping flavours + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_I2C_XLP9XX=m + - [Packaging] Use SRCPKGNAME rather than hard-coding the source package name + + [ Upstream Kernel Changes ] + + * Rebase to v4.14-rc2 + + -- Seth Forshee Fri, 29 Sep 2017 09:09:11 -0400 + +linux (4.14.0-0.1) artful; urgency=low + + * Miscellaneous Ubuntu changes + - Disable vbox build + - Disable hio build + - Disable zfs build + + [ Upstream Kernel Changes ] + + * Rebase to v4.14-rc1 + + -- Seth Forshee Tue, 19 Sep 2017 20:22:29 -0500 + +linux (4.13.0-11.12) artful; urgency=low + + * linux: 4.13.0-11.12 -proposed tracker (LP: #1716699) + + * kernel panic -not syncing: Fatal exception: panic_on_oops (LP: #1708399) + - s390/mm: fix local TLB flushing vs. detach of an mm address space + - s390/mm: fix race on mm->context.flush_mm + + * CVE-2017-1000251 + - Bluetooth: Properly check L2CAP config option output buffer length + + -- Seth Forshee Tue, 12 Sep 2017 10:18:38 -0500 + +linux (4.13.0-10.11) artful; urgency=low + + * linux: 4.13.0-10.11 -proposed tracker (LP: #1716287) + + * please add aufs-dkms to the Provides: for the kernel packages (LP: #1716093) + - [Packaging] Add aufs-dkms to the Provides: for kernel packages + + * Artful update to v4.13.1 stable release (LP: #1716284) + - usb: quirks: add delay init quirk for Corsair Strafe RGB keyboard + - USB: serial: option: add support for D-Link DWM-157 C1 + - usb: Add device quirk for Logitech HD Pro Webcam C920-C + - usb:xhci:Fix regression when ATI chipsets detected + - USB: musb: fix external abort on suspend + - ANDROID: binder: add padding to binder_fd_array_object. + - ANDROID: binder: add hwbinder,vndbinder to BINDER_DEVICES. + - USB: core: Avoid race of async_completed() w/ usbdev_release() + - staging/rts5208: fix incorrect shift to extract upper nybble + - staging: ccree: save ciphertext for CTS IV + - staging: fsl-dpaa2/eth: fix off-by-one FD ctrl bitmaks + - iio: adc: ti-ads1015: fix incorrect data rate setting update + - iio: adc: ti-ads1015: fix scale information for ADS1115 + - iio: adc: ti-ads1015: enable conversion when CONFIG_PM is not set + - iio: adc: ti-ads1015: avoid getting stale result after runtime resume + - iio: adc: ti-ads1015: don't return invalid value from buffer setup callbacks + - iio: adc: ti-ads1015: add adequate wait time to get correct conversion + - driver core: bus: Fix a potential double free + - HID: wacom: Do not completely map WACOM_HID_WD_TOUCHRINGSTATUS usage + - binder: free memory on error + - crypto: caam/qi - fix compilation with CONFIG_DEBUG_FORCE_WEAK_PER_CPU=y + - crypto: caam/qi - fix compilation with DEBUG enabled + - thunderbolt: Fix reset response_type + - fpga: altera-hps2fpga: fix multiple init of l3_remap_lock + - intel_th: pci: Add Cannon Lake PCH-H support + - intel_th: pci: Add Cannon Lake PCH-LP support + - ath10k: fix memory leak in rx ring buffer allocation + - drm/vgem: Pin our pages for dmabuf exports + - drm/ttm: Fix accounting error when fail to get pages for pool + - drm/dp/mst: Handle errors from drm_atomic_get_private_obj_state() correctly + - rtlwifi: rtl_pci_probe: Fix fail path of _rtl_pci_find_adapter + - Bluetooth: Add support of 13d3:3494 RTL8723BE device + - iwlwifi: pci: add new PCI ID for 7265D + - dlm: avoid double-free on error path in dlm_device_{register,unregister} + - mwifiex: correct channel stat buffer overflows + - MCB: add support for SC31 to mcb-lpc + - s390/mm: avoid empty zero pages for KVM guests to avoid postcopy hangs + - drm/nouveau/pci/msi: disable MSI on big-endian platforms by default + - drm/nouveau: Fix error handling in nv50_disp_atomic_commit + - workqueue: Fix flag collision + - ahci: don't use MSI for devices with the silly Intel NVMe remapping scheme + - cs5536: add support for IDE controller variant + - scsi: sg: protect against races between mmap() and SG_SET_RESERVED_SIZE + - scsi: sg: recheck MMAP_IO request length with lock held + - of/device: Prevent buffer overflow in of_device_modalias() + - rtlwifi: Fix memory leak when firmware request fails + - rtlwifi: Fix fallback firmware loading + - Linux 4.13.1 + + * Kernel has trouble recognizing Corsair Strafe RGB keyboard (LP: #1678477) + - usb: quirks: add delay init quirk for Corsair Strafe RGB keyboard + + * SRIOV: warning if unload VFs (LP: #1715073) + - PCI: Disable VF decoding before pcibios_sriov_disable() updates resources + + * [Patch] network-i40e:NVM bug fixes (cherrypick from 4.14) (LP: #1715578) + - i40e: avoid NVM acquire deadlock during NVM update + - i40e: point wb_desc at the nvm_wb_desc during i40e_read_nvm_aq + + * [P9,POwer NV] Perf PMU event : pm_br_2path and pm_ld_miss_l1 is counted + twice when perf stat is done (perf:) (LP: #1714571) + - perf vendor events powerpc: Remove duplicate events + + * Unable to install Ubuntu on the NVMe disk under VMD PCI domain + (LP: #1703339) + - [Config] Include vmd in storage-core-modules udeb + + * 17.10 fails to boot on POWER9 DD2.0 with Deep stop states (LP: #1715064) + - powerpc/powernv: Save/Restore additional SPRs for stop4 cpuidle + - powerpc/powernv: Clear PECE1 in LPCR via stop-api only on Hotplug + - SAUCE: powerpc/powernv: Clear LPCR[PECE1] via stop-api only for deep state + offline + + * Miscellaneous Ubuntu changes + - SAUCE: selftests/seccomp: Support glibc 2.26 siginfo_t.h + - Revert "UBUNTU: SAUCE: Import aufs driver" + - SAUCE: Import aufs driver + + -- Seth Forshee Sun, 10 Sep 2017 17:48:59 -0500 + +linux (4.13.0-9.10) artful; urgency=low + + * linux: 4.13.0-9.10 -proposed tracker (LP: #1715145) + + * EDAC sbridge: Failed to register device with error -22. (LP: #1714112) + - [Config] CONFIG_EDAC_GHES=n + + * Miscellaneous Ubuntu changes + - ubuntu: vbox -- update to 5.1.26-dfsg-2 + + [ Upstream Kernel Changes ] + + * Rebase to v4.13 + + -- Seth Forshee Tue, 05 Sep 2017 07:51:19 -0500 + +linux (4.13.0-8.9) artful; urgency=low + + * snapd 2.27.3+17.10 ADT test failure with linux 4.13.0-6.7 (LP: #1713103) + - SAUCE: apparmor: fix apparmorfs DAC access, permissions + + * enable ARCH_SUNXI (and friends) in arm64 kernel .config (LP: #1701137) + - [Config] Enable CONFIG_ARCH_SUNXI and related options for arm64 + + * [Bug] Harrisonville: pnd2_edac always fail to load on B1 stepping + Harrisonville SDP (LP: #1709257) + - EDAC, pnd2: Build in a minimal sideband driver for Apollo Lake + - EDAC, pnd2: Mask off the lower four bits of a BAR + - EDAC, pnd2: Conditionally unhide/hide the P2SB PCI device to read BAR + - EDAC, pnd2: Properly toggle hidden state for P2SB PCI device + - SAUCE: i2c: i801: Restore the presence state of P2SB PCI device after + reading BAR + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: SAUCE: Import aufs driver" + - SAUCE: Import aufs driver + - SAUCE: selftests/powerpc: Disable some ptrace selftests + - [Config] CONFIG_CRYPTO_DEV_NITROX_CNN55XX=n for s390x + - [Config] CONFIG_I2C_SLAVE=n for amd64, i386, ppc64el + - [Config] Disable CONFIG_MDIO_* options for s390x + - [Config] CONFIG_SCSI_MQ_DEFAULT=n for s390x + - [Config] Update annotations for 4.13 + + -- Seth Forshee Thu, 31 Aug 2017 14:27:09 -0500 + +linux (4.13.0-7.8) artful; urgency=low + + * linux 4.12.0-11.12 ADT test failure with linux 4.12.0-11.12 (LP: #1710904) + - SAUCE: selftests/powerpc: Use snprintf to construct DSCR sysfs interface + paths + + * Miscellaneous Ubuntu changes + - Revert "UBUNTU: SAUCE: seccomp: log actions even when audit is disabled" + + * Miscellaneous upstream changes + - seccomp: Provide matching filter for introspection + - seccomp: Sysctl to display available actions + - seccomp: Operation for checking if an action is available + - seccomp: Sysctl to configure actions that are allowed to be logged + - seccomp: Selftest for detection of filter flag support + - seccomp: Filter flag to log all actions except SECCOMP_RET_ALLOW + - seccomp: Action to log before allowing + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc7 + + -- Seth Forshee Mon, 28 Aug 2017 08:12:24 -0500 + +linux (4.13.0-6.7) artful; urgency=low + + * HID: multitouch: Support ALPS PTP Stick and Touchpad devices (LP: #1712481) + - SAUCE: HID: multitouch: Support ALPS PTP stick with pid 0x120A + + * sort ABI files with C.UTF-8 locale (LP: #1712345) + - [Packaging] sort ABI files with C.UTF-8 locale + + * igb: Support using Broadcom 54616 as PHY (LP: #1712024) + - SAUCE: igb: add support for using Broadcom 54616 as PHY + + * RPT related fixes missing in Ubuntu 16.04.3 (LP: #1709220) + - powerpc/mm/radix: Improve _tlbiel_pid to be usable for PWC flushes + - powerpc/mm/radix: Improve TLB/PWC flushes + - powerpc/mm/radix: Avoid flushing the PWC on every flush_tlb_range + + * Linux 4.12 refuses to load self-signed modules under Secure Boot with + properly enrolled keys (LP: #1712168) + - SAUCE: (efi-lockdown) MODSIGN: Fix module signature verification + + * [17.10 FEAT] Enable NVMe driver - kernel (LP: #1708432) + - [Config] CONFIG_BLK_DEV_NVME=m for s390 + + * Artful: 4.12.0-11.12: Boot panic in vlv2_plat_configure_clock+0x3b/0xa0 + (LP: #1711298) + - [Config] CONFIG_INTEL_ATOMISP=n + + * Miscellaneous Ubuntu changes + - SAUCE: apparmor: af_unix mediation + + * Miscellaneous upstream changes + - apparmor: Fix shadowed local variable in unpack_trans_table() + - apparmor: Fix logical error in verify_header() + - apparmor: Fix an error code in aafs_create() + - apparmor: Redundant condition: prev_ns. in [label.c:1498] + - apparmor: add the ability to mediate signals + - apparmor: add mount mediation + - apparmor: cleanup conditional check for label in label_print + - apparmor: add support for absolute root view based labels + - apparmor: make policy_unpack able to audit different info messages + - apparmor: add more debug asserts to apparmorfs + - apparmor: add base infastructure for socket mediation + - apparmor: move new_null_profile to after profile lookup fns() + - apparmor: fix race condition in null profile creation + - apparmor: ensure unconfined profiles have dfas initialized + - apparmor: fix incorrect type assignment when freeing proxies + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc6 + + -- Seth Forshee Wed, 23 Aug 2017 08:10:38 -0500 + +linux (4.13.0-5.6) artful; urgency=low + + * Ubuntu17.10 - perf: Update Power9 PMU event JSON files (LP: #1708630) + - perf pmu-events: Support additional POWER8+ PVR in mapfile + - perf vendor events: Add POWER9 PMU events + - perf vendor events: Add POWER9 PVRs to mapfile + - SAUCE: perf vendor events powerpc: remove suffix in mapfile + - SAUCE: perf vendor events powerpc: Update POWER9 events + + * Disable CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE (LP: #1709171) + - [Config] CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=n for ppc64el + + * Please only recommend or suggest initramfs-tools | linux-initramfs-tool for + kernels able to boot without initramfs (LP: #1700972) + - [Debian] Don't depend on initramfs-tools + + * Miscellaneous Ubuntu changes + - SAUCE: Import aufs driver + - SAUCE: aufs -- Add missing argument to loop_switch() call + - [Config] Enable aufs + - SAUCE: (noup) Update spl to 0.6.5.11-ubuntu1, zfs to 0.6.5.11-1ubuntu3 + - Enable zfs build + - SAUCE: powerpc: Always initialize input array when calling epapr_hypercall() + - [Packaging] switch up to debhelper 9 + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc5 + + -- Seth Forshee Tue, 15 Aug 2017 09:24:16 -0500 + +linux (4.13.0-4.5) artful; urgency=low + + * Lenovo Yoga 910 Sensors (LP: #1708120) + - SAUCE: (no-up) HID: Add quirk for Lenovo Yoga 910 with ITE Chips + + * Unable to install Ubuntu on the NVMe disk under VMD PCI domain + (LP: #1703339) + - [Config] Add vmd driver to generic inclusion list + + * Set CONFIG_SATA_HIGHBANK=y on armhf (LP: #1703430) + - [Config] CONFIG_SATA_HIGHBANK=y + + * Miscellaneous Ubuntu changes + - ubuntu: vbox -- update to 5.1.26-dfsg-1 + - SAUCE: hio: Build fixes for 4.13 + - Enable hio build + - SAUCE: (noup) Update spl to 0.6.5.11-1, zfs to 0.6.5.11-1ubuntu1 + - [debian] use all rather than amd64 dkms debs for sync + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc4 + + -- Seth Forshee Tue, 08 Aug 2017 11:31:48 -0500 + +linux (4.13.0-3.4) artful; urgency=low + + * Adt tests of src:linux time out often on armhf lxc containers (LP: #1705495) + - [Packaging] tests -- reduce rebuild test to one flavour + - [Packaging] tests -- reduce rebuild test to one flavour -- use filter + + * snapd 2.26.8+17.10 ADT test failure with linux 4.12.0-6.7 (LP: #1704158) + - SAUCE: virtio_net: Revert mergeable buffer handling rework + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc3 + + -- Seth Forshee Mon, 31 Jul 2017 10:08:16 -0500 + +linux (4.13.0-2.3) artful; urgency=low + + * Change CONFIG_IBMVETH to module (LP: #1704479) + - [Config] CONFIG_IBMVETH=m + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc2 + + -- Seth Forshee Mon, 24 Jul 2017 13:58:08 -0500 + +linux (4.13.0-1.2) artful; urgency=low + + * Miscellaneous Ubuntu changes + - [Debian] Support sphinx-based kernel documentation + + -- Seth Forshee Thu, 20 Jul 2017 09:18:33 -0500 + +linux (4.13.0-0.1) artful; urgency=low + + * Miscellaneous Ubuntu changes + - Disable hio + - Disable zfs build + - ubuntu: vbox -- update to 5.1.24-dfsg-1 + + [ Upstream Kernel Changes ] + + * Rebase to v4.13-rc1 + + -- Seth Forshee Wed, 19 Jul 2017 15:09:31 -0500 + +linux (4.12.0-7.8) artful; urgency=low + + * ThunderX: soft lockup on 4.8+ kernels when running qemu-efi with vhost=on + (LP: #1673564) + - arm64: Add a facility to turn an ESR syndrome into a sysreg encoding + - KVM: arm/arm64: vgic-v3: Add accessors for the ICH_APxRn_EL2 registers + - KVM: arm64: Make kvm_condition_valid32() accessible from EL2 + - KVM: arm64: vgic-v3: Add hook to handle guest GICv3 sysreg accesses at EL2 + - KVM: arm64: vgic-v3: Add ICV_BPR1_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_IGRPEN1_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_IAR1_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_EOIR1_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_AP1Rn_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_HPPIR1_EL1 handler + - KVM: arm64: vgic-v3: Enable trapping of Group-1 system registers + - KVM: arm64: Enable GICv3 Group-1 sysreg trapping via command-line + - KVM: arm64: vgic-v3: Add ICV_BPR0_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_IGNREN0_EL1 handler + - KVM: arm64: vgic-v3: Add misc Group-0 handlers + - KVM: arm64: vgic-v3: Enable trapping of Group-0 system registers + - KVM: arm64: Enable GICv3 Group-0 sysreg trapping via command-line + - arm64: Add MIDR values for Cavium cn83XX SoCs + - arm64: Add workaround for Cavium Thunder erratum 30115 + - KVM: arm64: vgic-v3: Add ICV_DIR_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_RPR_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_CTLR_EL1 handler + - KVM: arm64: vgic-v3: Add ICV_PMR_EL1 handler + - KVM: arm64: Enable GICv3 common sysreg trapping via command-line + - KVM: arm64: vgic-v3: Log which GICv3 system registers are trapped + - KVM: arm64: Log an error if trapping a read-from-write-only GICv3 access + - KVM: arm64: Log an error if trapping a write-to-read-only GICv3 access + + * hns: under heavy load, NIC may fail and require reboot (LP: #1704146) + - net: hns: Bugfix for Tx timeout handling in hns driver + + * New ACPI identifiers for ThunderX SMMU (LP: #1703437) + - iommu/arm-smmu: Plumb in new ACPI identifiers + + * Transparent hugepages should default to enabled=madvise (LP: #1703742) + - SAUCE: use CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y as default + + * Artful update to v4.12.1 stable release (LP: #1703858) + - driver core: platform: fix race condition with driver_override + - RDMA/uverbs: Check port number supplied by user verbs cmds + - usb: dwc3: replace %p with %pK + - USB: serial: cp210x: add ID for CEL EM3588 USB ZigBee stick + - usb: usbip: set buffer pointers to NULL after free + - Add USB quirk for HVR-950q to avoid intermittent device resets + - usb: Fix typo in the definition of Endpoint[out]Request + - USB: core: fix device node leak + - USB: serial: option: add two Longcheer device ids + - USB: serial: qcserial: new Sierra Wireless EM7305 device ID + - xhci: Limit USB2 port wake support for AMD Promontory hosts + - gfs2: Fix glock rhashtable rcu bug + - Add "shutdown" to "struct class". + - tpm: Issue a TPM2_Shutdown for TPM2 devices. + - tpm: fix a kernel memory leak in tpm-sysfs.c + - powerpc/powernv: Fix CPU_HOTPLUG=n idle.c compile error + - x86/uaccess: Optimize copy_user_enhanced_fast_string() for short strings + - sched/fair, cpumask: Export for_each_cpu_wrap() + - sched/core: Implement new approach to scale select_idle_cpu() + - sched/numa: Use down_read_trylock() for the mmap_sem + - sched/numa: Override part of migrate_degrades_locality() when idle balancing + - sched/fair: Simplify wake_affine() for the single socket case + - sched/numa: Implement NUMA node level wake_affine() + - sched/fair: Remove effective_load() + - sched/numa: Hide numa_wake_affine() from UP build + - xen: avoid deadlock in xenbus driver + - crypto: drbg - Fixes panic in wait_for_completion call + - Linux 4.12.1 + + * cxlflash update request in the Xenial SRU stream (LP: #1702521) + - scsi: cxlflash: Combine the send queue locks + - scsi: cxlflash: Update cxlflash_afu_sync() to return errno + - scsi: cxlflash: Reset hardware queue context via specified register + - scsi: cxlflash: Schedule asynchronous reset of the host + - scsi: cxlflash: Handle AFU sync failures + - scsi: cxlflash: Track pending scsi commands in each hardware queue + - scsi: cxlflash: Flush pending commands in cleanup path + - scsi: cxlflash: Add scsi command abort handler + - scsi: cxlflash: Create character device to provide host management interface + - scsi: cxlflash: Separate AFU internal command handling from AFU sync + specifics + - scsi: cxlflash: Introduce host ioctl support + - scsi: cxlflash: Refactor AFU capability checking + - scsi: cxlflash: Support LUN provisioning + - scsi: cxlflash: Support AFU debug + - scsi: cxlflash: Support WS16 unmap + - scsi: cxlflash: Remove zeroing of private command data + - scsi: cxlflash: Update TMF command processing + - scsi: cxlflash: Avoid double free of character device + - scsi: cxlflash: Update send_tmf() parameters + - scsi: cxlflash: Update debug prints in reset handlers + + * make snap-pkg support (LP: #1700747) + - make snap-pkg support + + * Quirk for non-compliant PCI bridge on HiSilicon D05 board (LP: #1698706) + - SAUCE: PCI: Support hibmc VGA cards behind a misbehaving HiSilicon bridge + + * arm64: fix crash reading /proc/kcore (LP: #1702749) + - fs/proc: kcore: use kcore_list type to check for vmalloc/module address + - arm64: mm: select CONFIG_ARCH_PROC_KCORE_TEXT + + * Opal and POWER9 DD2 (LP: #1702159) + - SAUCE: powerpc/powernv: Tell OPAL about our MMU mode on POWER9 + + * Data corruption with hio driver (LP: #1701316) + - SAUCE: hio: Fix incorrect use of enum req_opf values + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.6.5.10-1, zfs to 0.6.5.10-1ubuntu2 + - snapcraft.yaml: Sync with xenial + - [Config] CONFIG_CAVIUM_ERRATUM_30115=y + + * Miscellaneous upstream changes + - Revert "UBUNTU: SAUCE: (efi-lockdown) efi: Add sysctls for secureboot and + MokSBState" + + -- Seth Forshee Fri, 14 Jul 2017 15:25:41 -0500 + +linux (4.12.0-6.7) artful; urgency=low + + * update ENA driver to 1.2.0k from net-next (LP: #1701575) + - net: ena: change return value for unsupported features unsupported return + value + - net: ena: add hardware hints capability to the driver + - net: ena: change sizeof() argument to be the type pointer + - net: ena: add reset reason for each device FLR + - net: ena: add support for out of order rx buffers refill + - net: ena: allow the driver to work with small number of msix vectors + - net: ena: use napi_schedule_irqoff when possible + - net: ena: separate skb allocation to dedicated function + - net: ena: use lower_32_bits()/upper_32_bits() to split dma address + - net: ena: update driver's rx drop statistics + - net: ena: update ena driver to version 1.2.0 + + * APST gets enabled against explicit kernel option (LP: #1699004) + - nvme: explicitly disable APST on quirked devices + + * Miscellaneous Ubuntu changes + - SAUCE: hio: Update to Huawei ES3000_V2 (2.1.0.40) + - SAUCE: hio updates for 4.12 + - SAUCE: Enable hio build + + -- Seth Forshee Wed, 05 Jul 2017 14:23:20 -0500 + +linux (4.12.0-5.6) artful; urgency=low + + * ERAT invalidate on context switch removal (LP: #1700819) + - powerpc: Only do ERAT invalidate on radix context switch on P9 DD1 + + * powerpc: Invalidate ERAT on powersave wakeup for POWER9 (LP: #1700521) + - SAUCE: powerpc: Invalidate ERAT on powersave wakeup for POWER9 + + * Miscellaneous Ubuntu changes + - d-i: Move qcom-emac from arm64 to shared nic-modules + + [ Upstream Kernel Changes ] + + * Rebase to v4.12 + + -- Seth Forshee Mon, 03 Jul 2017 07:52:02 -0500 + +linux (4.12.0-4.5) artful; urgency=low + + * aacraid driver may return uninitialized stack data to userspace + (LP: #1700077) + - SAUCE: scsi: aacraid: Don't copy uninitialized stack memory to userspace + + * KILLER1435-S[0489:e0a2] BT cannot search BT 4.0 device (LP: #1699651) + - Bluetooth: btusb: Add support for 0489:e0a2 QCA_ROME device + + * AACRAID for power9 platform (LP: #1689980) + - scsi: aacraid: Remove __GFP_DMA for raw srb memory + - scsi: aacraid: Fix DMAR issues with iommu=pt + - scsi: aacraid: Added 32 and 64 queue depth for arc natives + - scsi: aacraid: Set correct Queue Depth for HBA1000 RAW disks + - scsi: aacraid: Remove reset support from check_health + - scsi: aacraid: Change wait time for fib completion + - scsi: aacraid: Log count info of scsi cmds before reset + - scsi: aacraid: Print ctrl status before eh reset + - scsi: aacraid: Using single reset mask for IOP reset + - scsi: aacraid: Rework IOP reset + - scsi: aacraid: Add periodic checks to see IOP reset status + - scsi: aacraid: Rework SOFT reset code + - scsi: aacraid: Rework aac_src_restart + - scsi: aacraid: Use correct function to get ctrl health + - scsi: aacraid: Make sure ioctl returns on controller reset + - scsi: aacraid: Enable ctrl reset for both hba and arc + - scsi: aacraid: Add reset debugging statements + - scsi: aacraid: Remove reference to Series-9 + - scsi: aacraid: Update driver version to 50834 + + * hibmc driver does not include "pci:" prefix in bus ID (LP: #1698700) + - SAUCE: drm: hibmc: Use set_busid function from drm core + + * HiSilicon D05: installer doesn't appear on VGA (LP: #1698954) + - d-i: Add hibmc-drm to kernel-image udeb + + * Fix /proc/cpuinfo revision for POWER9 DD2 (LP: #1698844) + - SAUCE: powerpc: Fix /proc/cpuinfo revision for POWER9 DD2 + + * Miscellaneous Ubuntu changes + - [Config] CONFIG_SATA_MV=n and CONFIG_GENERIC_PHY=n for s390x + - [Config] CONFIG_ATA=n for s390x + - [Config] Update annotations for 4.12 + + [ Upstream Kernel Changes ] + + * Rebase to v4.12-rc7 + + -- Seth Forshee Mon, 26 Jun 2017 11:27:29 -0500 + +linux (4.12.0-3.4) artful; urgency=low + + * Miscellaneous upstream changes + - ufs: fix the logics for tail relocation + + [ Upstream Kernel Changes ] + + * Rebase to v4.12-rc6 + + -- Seth Forshee Mon, 19 Jun 2017 14:50:39 -0500 + +linux (4.12.0-2.3) artful; urgency=low + + * CVE-2014-9900 + - SAUCE: (no-up) net: Zeroing the structure ethtool_wolinfo in + ethtool_get_wol() + + * System doesn't boot properly on Gigabyte AM4 motherboards (AMD Ryzen) + (LP: #1671360) + - pinctrl/amd: Use regular interrupt instead of chained + + * extend-diff-ignore should use exact matches (LP: #1693504) + - [Packaging] exact extend-diff-ignore matches + + * Miscellaneous Ubuntu changes + - SAUCE: efi: Don't print secure boot state from the efi stub + - ubuntu: vbox -- Update to 5.1.22-dfsg-1 + - SAUCE: vbox fixes for 4.12 + - Re-enable virtualbox build + - [Config] CONFIG_ORANGEFS_FS=m + - SAUCE: (noup) Update spl to 0.6.5.9-1ubuntu2, zfs to 0.6.5.9-5ubuntu7 + - Enable zfs build + + [ Upstream Kernel Changes ] + + * Rebase to v4.12-rc4 + * Rebase to v4.12-rc5 + + -- Seth Forshee Sun, 11 Jun 2017 22:25:13 -0500 + +linux (4.12.0-1.2) artful; urgency=low + + * Enable Matrox driver for Ubuntu 16.04.3 (LP: #1693337) + - [Config] Enable CONFIG_DRM_MGAG200 as module + + * Support low-pin-count devices on Hisilicon SoCs (LP: #1677319) + - [Config] CONFIG_LIBIO=y on arm64 only + - SAUCE: LIBIO: Introduce a generic PIO mapping method + - SAUCE: OF: Add missing I/O range exception for indirect-IO devices + - [Config] CONFIG_HISILICON_LPC=y + - SAUCE: LPC: Support the device-tree LPC host on Hip06/Hip07 + - SAUCE: LIBIO: Support the dynamically logical PIO registration of ACPI host + I/O + - SAUCE: LPC: Add the ACPI LPC support + - SAUCE: PCI: Apply the new generic I/O management on PCI IO hosts + - SAUCE: PCI: Restore codepath for !CONFIG_LIBIO + + * POWER9: Additional patches for TTY and CPU_IDLE (LP: #1674325) + - SAUCE: tty: Fix ldisc crash on reopened tty + + * Miscellaneous Ubuntu changes + - [Debian] Add build-dep on libnuma-dev to enable 'perf bench numa' + - Rebase to v4.12-rc3 + + [ Upstream Kernel Changes ] + + * Rebase to v4.12-rc3 + + -- Seth Forshee Mon, 29 May 2017 20:56:29 -0500 + +linux (4.12.0-0.1) artful; urgency=low + + * please enable CONFIG_ARM64_LSE_ATOMICS (LP: #1691614) + - [Config] CONFIG_ARM64_LSE_ATOMICS=y + + * [Regression] NUMA_BALANCING disabled on arm64 (LP: #1690914) + - [Config] CONFIG_NUMA_BALANCING{,_DEFAULT_ENABLED}=y on arm64 + + * exec'ing a setuid binary from a threaded program sometimes fails to setuid + (LP: #1672819) + - SAUCE: exec: ensure file system accounting in check_unsafe_exec is correct + + * Miscellaneous Ubuntu changes + - Update find-missing-sauce.sh to compare to artful + - Update dropped.txt + - SAUCE: (efi-lockdown) efi: Add EFI_SECURE_BOOT bit + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/mem and /dev/kmem when the kernel is + locked down + - SAUCE: (efi-lockdown) Add a sysrq option to exit secure boot mode + - SAUCE: (efi-lockdown) kexec: Disable at runtime if the kernel is locked down + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) kexec_file: Disable at runtime if securelevel has been + set + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) asus-wmi: Restrict debugfs interface when the kernel + is locked down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Enable cold boot attack mitigation + - SAUCE: (efi-lockdown) bpf: Restrict kernel image access functions when the + kernel is locked down + - SAUCE: (efi-lockdown) scsi: Lock down the eata driver + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) KEYS: Allow unrestricted boot-time addition of keys to + secondary keyring + - SAUCE: (efi-lockdown) efi: Add EFI signature data types + - SAUCE: (efi-lockdown) efi: Add an EFI signature blob parser + - SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI Secure Boot + - SAUCE: (efi-lockdown) MODSIGN: Allow the "db" UEFI variable to be suppressed + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) efi: Add secure_boot state and status bit for + MokSBState + - SAUCE: (efi-lockdown) efi: Add sysctls for secureboot and MokSBState + - [Config] Set values for UEFI secure boot lockdown options + - Disable virtualbox build + - Disable hio build + - SAUCE: securityfs: Replace CURRENT_TIME with current_time() + - Disable zfs build + - [Debian] Work out upstream tag for use with gen-auto-reconstruct + - SAUCE: Import aufs driver + - SAUCE: aufs -- Include linux/mm.h in fs/aufs/file.h + - [Config] Enable aufs + - SAUCE: perf callchain: Include errno.h on x86 unconditinally + + [ Upstream Kernel Changes ] + + * Rebase to v4.12-rc2 + + -- Seth Forshee Sun, 21 May 2017 23:44:44 -0500 + +linux (4.11.0-3.8) artful; urgency=low + + [ Seth Forshee ] + + * Release Tracking Bug + - LP: #1690999 + + * apparmor_parser hangs indefinitely when called by multiple threads + (LP: #1645037) + - SAUCE: apparmor: fix lock ordering for mkdir + + * apparmor leaking securityfs pin count (LP: #1660846) + - SAUCE: apparmor: fix leak on securityfs pin count + + * apparmor reference count leak when securityfs_setup_d_inode\ () fails + (LP: #1660845) + - SAUCE: apparmor: fix reference count leak when securityfs_setup_d_inode() + fails + + * apparmor not checking error if security_pin_fs() fails (LP: #1660842) + - SAUCE: apparmor: fix not handling error case when securityfs_pin_fs() fails + + * libvirt profile is blocking global setrlimit despite having no rlimit rule + (LP: #1679704) + - SAUCE: apparmor: fix complain mode failure for rlimit mediation + - apparmor: update auditing of rlimit check to provide capability information + + * apparmor: does not provide a way to detect policy updataes (LP: #1678032) + - SAUCE: apparmor: add policy revision file interface + + * apparmor does not make support of query data visible (LP: #1678023) + - SAUCE: apparmor: add label data availability to the feature set + + * apparmor query interface does not make supported query info available + (LP: #1678030) + - SAUCE: apparmor: add information about the query inteface to the feature set + + * change_profile incorrect when using namespaces with a compound stack + (LP: #1677959) + - SAUCE: apparmor: fix label parse for stacked labels + + * Regression in 4.4.0-65-generic causes very frequent system crashes + (LP: #1669611) + - apparmor: sync of apparmor 3.6+ (17.04) + + * Artful update to 4.11.1 stable release (LP: #1690814) + - dm ioctl: prevent stack leak in dm ioctl call + - drm/sti: fix GDP size to support up to UHD resolution + - power: supply: lp8788: prevent out of bounds array access + - brcmfmac: Ensure pointer correctly set if skb data location changes + - brcmfmac: Make skb header writable before use + - sparc64: fix fault handling in NGbzero.S and GENbzero.S + - refcount: change EXPORT_SYMBOL markings + - net: macb: fix phy interrupt parsing + - tcp: fix access to sk->sk_state in tcp_poll() + - geneve: fix incorrect setting of UDP checksum flag + - bpf: enhance verifier to understand stack pointer arithmetic + - bpf, arm64: fix jit branch offset related to ldimm64 + - tcp: fix wraparound issue in tcp_lp + - net: ipv6: Do not duplicate DAD on link up + - net: usb: qmi_wwan: add Telit ME910 support + - tcp: do not inherit fastopen_req from parent + - ipv4, ipv6: ensure raw socket message is big enough to hold an IP header + - rtnetlink: NUL-terminate IFLA_PHYS_PORT_NAME string + - ipv6: initialize route null entry in addrconf_init() + - ipv6: reorder ip6_route_dev_notifier after ipv6_dev_notf + - tcp: randomize timestamps on syncookies + - bnxt_en: allocate enough space for ->ntp_fltr_bmap + - bpf: don't let ldimm64 leak map addresses on unprivileged + - net: mdio-mux: bcm-iproc: call mdiobus_free() in error path + - f2fs: sanity check segment count + - xen/arm,arm64: fix xen_dma_ops after 815dd18 "Consolidate get_dma_ops..." + - xen: Revert commits da72ff5bfcb0 and 72a9b186292d + - block: get rid of blk_integrity_revalidate() + - Linux 4.11.1 + + * Module signing exclusion for staging drivers does not work properly + (LP: #1690908) + - SAUCE: Fix module signing exclusion in package builds + + * perf: qcom: Add L3 cache PMU driver (LP: #1689856) + - [Config] CONFIG_QCOM_L3_PMU=y + - perf: qcom: Add L3 cache PMU driver + + * No PMU support for ACPI-based arm64 systems (LP: #1689661) + - drivers/perf: arm_pmu: rework per-cpu allocation + - drivers/perf: arm_pmu: manage interrupts per-cpu + - drivers/perf: arm_pmu: split irq request from enable + - drivers/perf: arm_pmu: remove pointless PMU disabling + - drivers/perf: arm_pmu: define armpmu_init_fn + - drivers/perf: arm_pmu: fold init into alloc + - drivers/perf: arm_pmu: factor out pmu registration + - drivers/perf: arm_pmu: simplify cpu_pmu_request_irqs() + - drivers/perf: arm_pmu: handle no platform_device + - drivers/perf: arm_pmu: rename irq request/free functions + - drivers/perf: arm_pmu: split cpu-local irq request/free + - drivers/perf: arm_pmu: move irq request/free into probe + - drivers/perf: arm_pmu: split out platform device probe logic + - arm64: add function to get a cpu's MADT GICC table + - [Config] CONFIG_ARM_PMU_ACPI=y + - drivers/perf: arm_pmu: add ACPI framework + - arm64: pmuv3: handle !PMUv3 when probing + - arm64: pmuv3: use arm_pmu ACPI framework + + * Fix NVLINK2 TCE route (LP: #1690155) + - powerpc/powernv: Fix TCE kill on NVLink2 + + * CVE-2017-0605 + - tracing: Use strlcpy() instead of strcpy() in __trace_find_cmdline() + + * Miscellaneous Ubuntu changes + - [Config] Restore powerpc arch to annotations file + - [Config] Disable runtime testing modules + - [Config] Disable drivers not needed on s390x + - [Config] Update annotations for 4.11 + - [Config] updateconfigs after apparmor updates + + * Miscellaneous upstream changes + - apparmor: use SHASH_DESC_ON_STACK + - apparmor: fix invalid reference to index variable of iterator line 836 + - apparmor: fix parameters so that the permission test is bypassed at boot + - apparmor: Make path_max parameter readonly + - apparmorfs: Combine two function calls into one in aa_fs_seq_raw_abi_show() + - apparmorfs: Use seq_putc() in two functions + - apparmor: provide information about path buffer size at boot + - apparmor: add/use fns to print hash string hex value + + -- Seth Forshee Tue, 16 May 2017 00:39:13 -0500 + +linux (4.11.0-2.7) artful; urgency=low + + * kernel-wedge fails in artful due to leftover squashfs-modules d-i files + (LP: #1688259) + - Remove squashfs-modules files from d-i + - [Config] as squashfs-modules is builtin kernel-image must Provides: it + + * [Zesty] d-i: replace msm_emac with qcom_emac (LP: #1677297) + - Revert "UBUNTU: d-i: initrd needs msm_emac on amberwing platform." + - d-i: initrd needs qcom_emac on amberwing platform. + + * update for V3 kernel bits and improved multiple fan slice support + (LP: #1470091) + - SAUCE: fan: tunnel multiple mapping mode (v3) + + * Miscellaneous Ubuntu changes + - SAUCE: (noup) Update spl to 0.6.5.9-1ubuntu1, zfs to 0.6.5.9-5ubuntu5 + - Enable zfs + - SAUCE: fan: add VXLAN implementation + - SAUCE: (efi-lockdown) efi: Add EFI_SECURE_BOOT bit + - SAUCE: (efi-lockdown) Add the ability to lock down access to the running + kernel image + - SAUCE: (efi-lockdown) efi: Lock down the kernel if booted in secure boot + mode + - SAUCE: (efi-lockdown) Enforce module signatures if the kernel is locked down + - SAUCE: (efi-lockdown) Restrict /dev/mem and /dev/kmem when the kernel is + locked down + - SAUCE: (efi-lockdown) Add a sysrq option to exit secure boot mode + - SAUCE: (efi-lockdown) kexec: Disable at runtime if the kernel is locked down + - SAUCE: (efi-lockdown) Copy secure_boot flag in boot params across kexec + reboot + - SAUCE: (efi-lockdown) kexec_file: Disable at runtime if securelevel has been + set + - SAUCE: (efi-lockdown) hibernate: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) uswsusp: Disable when the kernel is locked down + - SAUCE: (efi-lockdown) PCI: Lock down BAR access when the kernel is locked + down + - SAUCE: (efi-lockdown) x86: Lock down IO port access when the kernel is + locked down + - SAUCE: (efi-lockdown) x86: Restrict MSR access when the kernel is locked + down + - SAUCE: (efi-lockdown) asus-wmi: Restrict debugfs interface when the kernel + is locked down + - SAUCE: (efi-lockdown) ACPI: Limit access to custom_method when the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Ignore acpi_rsdp kernel param when the kernel + has been locked down + - SAUCE: (efi-lockdown) acpi: Disable ACPI table override if the kernel is + locked down + - SAUCE: (efi-lockdown) acpi: Disable APEI error injection if the kernel is + locked down + - SAUCE: (efi-lockdown) Enable cold boot attack mitigation + - SAUCE: (efi-lockdown) bpf: Restrict kernel image access functions when the + kernel is locked down + - SAUCE: (efi-lockdown) scsi: Lock down the eata driver + - SAUCE: (efi-lockdown) Prohibit PCMCIA CIS storage when the kernel is locked + down + - SAUCE: (efi-lockdown) Lock down TIOCSSERIAL + - SAUCE: (efi-lockdown) Add EFI signature data types + - SAUCE: (efi-lockdown) Add an EFI signature blob parser and key loader. + - SAUCE: (efi-lockdown) KEYS: Add a system blacklist keyring + - SAUCE: (efi-lockdown) MODSIGN: Import certificates from UEFI Secure Boot + - SAUCE: (efi-lockdown) MODSIGN: Support not importing certs from db + - SAUCE: (efi-lockdown) MODSIGN: Don't try secure boot if EFI runtime is + disabled + - SAUCE: (efi-lockdown) efi: Sanitize boot_params in efi stub + - SAUCE: (efi-lockdown) efi: Add secure_boot state and status bit for + MokSBState + - SAUCE: (efi-lockdown) efi: Add sysctls for secureboot and MokSBState + - [Config] Set values for UEFI secure boot lockdown options + - Update dropped.txt + + [ Upstream Kernel Changes ] + + * rebase to v4.11 + + -- Seth Forshee Fri, 05 May 2017 07:43:14 -0500 + +linux (4.11.0-1.6) artful; urgency=low + + * Miscellaneous Ubuntu changes + - [Debian] Use default compression for all packages + - SAUCE: (namespace) block_dev: Support checking inode permissions in + lookup_bdev() + - SAUCE: (namespace) block_dev: Check permissions towards block device inode + when mounting + - SAUCE: (namespace) mtd: Check permissions towards mtd block device inode + when mounting + - SAUCE: (namespace) fs: Allow superblock owner to change ownership of inodes + - SAUCE: (namespace) fs: Don't remove suid for CAP_FSETID for userns root + - SAUCE: (namespace) fs: Allow superblock owner to access do_remount_sb() + - SAUCE: (namespace) capabilities: Allow privileged user in s_user_ns to set + security.* xattrs + - SAUCE: (namespace) fs: Allow CAP_SYS_ADMIN in s_user_ns to freeze and thaw + filesystems + - SAUCE: (namespace) fuse: Add support for pid namespaces + - SAUCE: (namespace) fuse: Support fuse filesystems outside of init_user_ns + - SAUCE: (namespace) fuse: Restrict allow_other to the superblock's namespace + or a descendant + - SAUCE: (namespace) fuse: Allow user namespace mounts + - SAUCE: (namespace) ext4: Add support for unprivileged mounts from user + namespaces + - SAUCE: (namespace) evm: Don't update hmacs in user ns mounts + - SAUCE: (namespace) ext4: Add module parameter to enable user namespace + mounts + - SAUCE: (namespace) block_dev: Forbid unprivileged mounting when device is + opened for writing + + -- Seth Forshee Wed, 26 Apr 2017 10:08:29 -0500 + +linux (4.11.0-0.5) artful; urgency=low + + * [Hyper-V][SAUCE] pci-hyperv: Use only 16 bit integer for PCI domain + (LP: #1684971) + - SAUCE: pci-hyperv: Use only 16 bit integer for PCI domain + + * [Hyper-V] Ubuntu 14.04.2 LTS Generation 2 SCSI Errors on VSS Based Backups + (LP: #1470250) + - SAUCE: Tools: hv: vss: Thaw the filesystem and continue after freeze fails + + * Enable virtual scsi server driver for Power (LP: #1615665) + - SAUCE: Return TCMU-generated sense data to fabric module + + * include/linux/security.h header syntax error with !CONFIG_SECURITYFS + (LP: #1630990) + - SAUCE: (no-up) include/linux/security.h -- fix syntax error with + CONFIG_SECURITYFS=n + + * Miscellaneous Ubuntu changes + - SAUCE: Import aufs driver + - [Config] Enable aufs + - [Debian] Add script to update virtualbox + - ubuntu: vbox -- Update to 5.1.20-dfsg-2 + - Enable vbox + - SAUCE: aufs -- Include linux/mm.h in fs/aufs/file.h + + [ Upstream Kernel Changes ] + + * rebase to v4.11-rc8 + + -- Seth Forshee Tue, 25 Apr 2017 13:42:54 -0500 + +linux (4.11.0-0.4) zesty; urgency=low + + * POWER9: Improve performance on memory management (LP: #1681429) + - SAUCE: powerpc/mm/radix: Don't do page walk cache flush when doing full mm + flush + - SAUCE: powerpc/mm/radix: Remove unnecessary ptesync + + * Miscellaneous Ubuntu changes + - find-missing-sauce.sh + + [ Upstream Kernel Changes ] + + * rebase to v4.11-rc7 + + -- Seth Forshee Tue, 18 Apr 2017 08:19:43 -0500 + +linux (4.11.0-0.3) zesty; urgency=low + + * Disable CONFIG_HVC_UDBG on ppc64el (LP: #1680888) + - [Config] Disable CONFIG_HVC_UDBG on ppc64el + + * smartpqi driver needed in initram disk and installer (LP: #1680156) + - [Config] Add smartpqi to d-i + + * Disable CONFIG_SECURITY_SELINUX_DISABLE (LP: #1680315) + - [Config] CONFIG_SECURITY_SELINUX_DISABLE=n + + * Miscellaneous Ubuntu changes + - [Config] flash-kernel should be a Breaks + - [Config] drop the info directory + - [Config] drop NOTES as obsolete + - [Config] drop changelog.historical as obsolete + - rebase to v4.11-rc6 + + [ Upstream Kernel Changes ] + + * rebase to v4.11-rc6 + + -- Tim Gardner Tue, 11 Apr 2017 07:16:52 -0600 + +linux (4.11.0-0.2) zesty; urgency=low + + [ Upstream Kernel Changes ] + + * rebase to v4.11-rc5 + + -- Tim Gardner Mon, 03 Apr 2017 08:26:07 +0100 + +linux (4.11.0-0.1) zesty; urgency=low + + [ Upstream Kernel Changes ] + + * rebase to v4.11-rc4 + - LP: #1591053 + + -- Tim Gardner Mon, 20 Mar 2017 05:15:32 -0600 + +linux (4.11.0-0.0) zesty; urgency=low + + * dummy entry + + -- Tim Gardner Mon, 20 Mar 2017 05:15:32 -0600 --- linux-gcp-5.19.0.orig/debian/cloud-tools/hv_get_dhcp_info +++ linux-gcp-5.19.0/debian/cloud-tools/hv_get_dhcp_info @@ -0,0 +1,55 @@ +#!/bin/bash + +# This example script retrieves the DHCP state of a given interface. +# In the interest of keeping the KVP daemon code free of distro specific +# information; the kvp daemon code invokes this external script to gather +# DHCP setting for the specific interface. +# +# Input: Name of the interface +# +# Output: The script prints the string "Enabled" to stdout to indicate +# that DHCP is enabled on the interface. If DHCP is not enabled, +# the script prints the string "Disabled" to stdout. +# +# Each Distro is expected to implement this script in a distro specific +# fashion. + +#set -x + +IF_FILE="/etc/network/interfaces" +NMCMD="nmcli" + +function checknetworkmanager { + #Assumes if $NMCMD exists, inteface exists and interface is not + # in $IF_FILE then dhcp is being used by NM + if hash $NMCMD >/dev/null 2>&1 ; then + if $NMCMD dev status |grep -q $1 ; then + echo "Enabled" + else + echo "Disabled" + fi + else + #Give up + echo "Disabled" + fi +} + +if [ -z $1 ] ; then echo "Disabled"; exit; fi + +if [ -e $IF_FILE ]; then + if grep -v -e "^#" $IF_FILE|grep -q $1 ; then + #interface exists so + if grep -q -e $1\.\*dhcp $IF_FILE; then + echo "Enabled"; exit; + else + echo "Disabled"; exit; + fi + else + checknetworkmanager $1 + exit + fi +else + checknetworkmanager $1 + exit +fi + --- linux-gcp-5.19.0.orig/debian/cloud-tools/hv_get_dns_info +++ linux-gcp-5.19.0/debian/cloud-tools/hv_get_dns_info @@ -0,0 +1,13 @@ +#!/bin/bash + +# This example script parses /etc/resolv.conf to retrive DNS information. +# In the interest of keeping the KVP daemon code free of distro specific +# information; the kvp daemon code invokes this external script to gather +# DNS information. +# This script is expected to print the nameserver values to stdout. +# Each Distro is expected to implement this script in a distro specific +# fashion. For instance on Distros that ship with Network Manager enabled, +# this script can be based on the Network Manager APIs for retrieving DNS +# entries. + +cat /etc/resolv.conf 2>/dev/null | awk '/^nameserver/ { print $2 }' --- linux-gcp-5.19.0.orig/debian/cloud-tools/hv_set_ifconfig +++ linux-gcp-5.19.0/debian/cloud-tools/hv_set_ifconfig @@ -0,0 +1,288 @@ +#!/usr/bin/python3 +# +# hv_set_ifconfig -- take the hv_kvp_daemon generated configuration +# file and apply it to the Ubuntu configuration. +# + +# CONFIG example: +# HWADDR=11:22:33:44:55:66 +# DEVICE=foo1 +# DHCP=yes + +# CONFIG example: +# HWADDR=11:22:33:44:55:66 +# DEVICE=foo1 +# IPADDR=192.168.99.10 +# GATEWAY=192.168.99.1 +# DNS1=192.168.88.250 +# IPADDR2=192.168.99.11 +# IPV6ADDR=2001:DB8:99::10 +# IPV6NETMASK=64 +# IPV6_DEFAULTGW=2001:DB8:99::10 + +# set interfaces in hv_kvp_daemon style +import fileinput +import sys +import errno +import os +import shutil +import tempfile +import subprocess + +if_filename="/etc/network/interfaces" + +# Drop our output (XXX?) +sys.stdout = open(os.devnull, 'w') +sys.stderr = open(os.devnull, 'w') + +# Confirm we can open the network configuration. +try: + if_file=open(if_filename,"r+") +except IOError as e: + exit(e.errno) +else: + if_file.close() + +# Usage: hv_set_ifconfig +if len(sys.argv) != 2 : + exit(errno.EINVAL) + +# +# Here is the format of the ip configuration file: +# +# HWADDR=macaddr +# DEVICE=interface name +# BOOTPROTO= (where is "dhcp" if DHCP is configured +# or "none" if no boot-time protocol should be used) +# +# IPADDR0=ipaddr1 +# IPADDR1=ipaddr2 +# IPADDRx=ipaddry (where y = x + 1) +# +# NETMASK0=netmask1 +# NETMASKx=netmasky (where y = x + 1) +# +# GATEWAY=ipaddr1 +# GATEWAYx=ipaddry (where y = x + 1) +# +# DNSx=ipaddrx (where first DNS address is tagged as DNS1 etc) +# +# IPV6 addresses will be tagged as IPV6ADDR, IPV6 gateway will be +# tagged as IPV6_DEFAULTGW and IPV6 NETMASK will be tagged as +# IPV6NETMASK. +# + +kvp=dict(line.strip().split("=") for line in fileinput.input()) + +# Setting the hwaddress to something azure is not expecting is fatal +# to networking. +if not "HWADDR" in kvp : + exit(errno.EPROTO) + +# Confirm we have a device specified. +if not "DEVICE" in kvp : + exit(1) + +autolist = [] +output=[] +basename=kvp["DEVICE"] + +# DNS entries will go with the first interface and there can be a max +# of three. These will be emitted with the first interface. +dns = [] +for count in (1, 2, 3): + key = "DNS" + str(count) + if key in kvp: + dns += [kvp[key]] +dns_emitted = False + +# IPV4 may either be dhcp or static. +if ("DHCP" in kvp and kvp["DHCP"] == "yes") or \ + ("BOOTPROTO" in kvp and kvp["BOOTPROTO"] == "dhcp"): + autolist.append(basename) + output += ["iface " + basename + " inet dhcp"] + output += [""] +else: + # Matchup the interface specific lines + + # No real max for the number of interface + aliases ... + # only required is the address (but mate everything up that comes in. + + # IPv4 -- ensure we sort by numeric suffixes. + v4names = [ int(name[6:]) for name in kvp.keys() if name.startswith("IPADDR") ] + v4names.sort() + + for if_count in v4names: + ifname = basename + which = str(if_count) + + if if_count: + ifname += ":" + str(if_count) + which_gw = which + else: + which_gw = "" + + if not ifname in autolist: + autolist += [ifname] + + output += [ "iface " + ifname + " inet static" ] + output += [ "\t" + "address " + kvp["IPADDR" + which] ] + if "NETMASK" + which in kvp: + output += [ "\tnetmask " + kvp["NETMASK" + which] ] + if "GATEWAY" + which_gw in kvp: + output += ["\tgateway " + kvp["GATEWAY" + which_gw]] + + if not dns_emitted: + dns_emitted = True + output += ["\tdns-nameservers " + ' '.join(dns)] + output += [""] + +# IPv6 requires a netmask +# If an ipv6 exists, you'll want to turn off /proc/sys/net/ipv6/conf/all/autoconf with +# echo 0 > /proc/sys/net/ipv6/conf/all/autoconf +v6names = [ int(name[8:]) for name in kvp.keys() if name.startswith("IPV6ADDR") ] +v6names.sort() + +for if6_count in v6names: + ifname = basename + which = str(if6_count) + + if if6_count: + ifname += ":" + str(if6_count) + which_gw = which + else: + which_gw = "" + + if not ifname in autolist: + autolist += [ifname] + + if "IPV6NETMASK" + which in kvp: + output += [ "iface " + ifname + " inet6 static"] + output += [ "\taddress " + kvp["IPV6ADDR" + which]] + output += [ "\tnetmask " + kvp["IPV6NETMASK" + which]] + if "IPV6_DEFAULTGW" + which_gw in kvp: + output += [ "\tgateway " + kvp["IPV6_DEFAULTGW" + which_gw] ] + if not dns_emitted: + dns_emitted = True + output += ["\tdns-nameservers " + ' '.join(dns)] + output += [""] + +# Mark this new interface for automatic up. +if len(autolist): + output = ["auto "+" ".join(autolist)] + output + +print("===================================") +print(output) +print("===================================") + + +# Time to clean out the existing interface file + +# Markers. +start_mark = "# The following stanza(s) added by hv_set_ifconfig" +end_mark = "#End of hv_set_ifconfig stanzas" + +f=open(if_filename,"r") +flines=f.readlines() +f.close() +newfile=[] +pitchstanza=0 +inastanza=0 +stanza=[] +prev_line=None +for line in flines: + if line.startswith("auto"): + if inastanza: + if not pitchstanza: + newfile.extend(stanza) + stanza=[] + inastanza=0 + newline="" + autoline=line.strip().split(" ") + for word in autoline: + if (not word == basename) and (not word.startswith(basename+":")): + newline+=word + " " + newline = newline.strip() + if not newline == "auto": + newfile += [newline.strip()] + elif line.startswith(("iface","mapping","source")): + '''Read a stanza''' + '''A Stanza can also start with allow- ie allow-hotplug''' + if inastanza: + if not pitchstanza: + newfile.extend(stanza) + stanza=[] + inastanza=1 + pitchstanza=0 + autoline=line.strip().split(" ") + for word in autoline: + if (word == basename) or (word.startswith(basename+":")): + pitchstanza=1 + if not pitchstanza: + stanza+=[line.strip()] + elif line.strip() in (start_mark, end_mark): + if inastanza: + if not pitchstanza: + newfile.extend(stanza) + stanza=[] + inastanza = 0 + pitchstanza = 0 + # Deduplicate markers. + if line != prev_line: + newfile += [line.strip()] + else: + if inastanza: + if not pitchstanza: + stanza+=[line.strip()] + else: + if not pitchstanza: + newfile += [line.strip()] + prev_line=line + +# Include pending stanza if any. +if inastanza and not pitchstanza: + newfile.extend(stanza) + + +def emit(line): + print(line) + output = line + "\n" + os.write(fd, output.encode('utf-8')) + +# Insert the new output at the end and inside the existing markers if found. +emitted = False +fd, path = tempfile.mkstemp() +for line in newfile: + if line == end_mark: + emit("\n".join(output)) + emitted = True + emit(line) +if not emitted: + emit(start_mark) + emit("\n".join(output)) + emit(end_mark) +os.close(fd) + +shutil.copy(path,if_filename) +os.chmod(if_filename,0o644) + +#print("TMPFILE is at: " + path) +#print("Copied file is at: " + if_filename) + +try: + retcode = subprocess.call("ifdown "+basename , shell=True) + if retcode < 0: + print("Child was terminated by signal", -retcode, file=sys.stderr) + else: + print("Child returned", retcode, file=sys.stderr) +except OSError as e: + print("Execution failed:", e, file=sys.stderr) + +try: + retcode = subprocess.call("ifup "+basename , shell=True) + if retcode < 0: + print("Child was terminated by signal", -retcode, file=sys.stderr) + else: + print("Child returned", retcode, file=sys.stderr) +except OSError as e: + print("Execution failed:", e, file=sys.stderr) --- linux-gcp-5.19.0.orig/debian/commit-templates/bumpabi +++ linux-gcp-5.19.0/debian/commit-templates/bumpabi @@ -0,0 +1,3 @@ +UBUNTU: Bump ABI + +Ignore: yes --- linux-gcp-5.19.0.orig/debian/commit-templates/config-updates +++ linux-gcp-5.19.0/debian/commit-templates/config-updates @@ -0,0 +1,15 @@ +# +# This template is used for commit messages that don't need to +# show up in debian/changelog. Administrative stuff like config +# updates, ABI bumps, etc. Setting 'Ignore: yes' prevents +# 'debian/rules insertchanges' from inserting this commit meesage +# as a changelog entry. +# +# Please give a one-line description of the config change followed +# by a detailed explanation if necessary + +UBUNTU: [Config] XXXX + +# BugLink: http://bugs.launchpad.net/bugs/ +# Ignore: yes +# Other text below here. --- linux-gcp-5.19.0.orig/debian/commit-templates/external-driver +++ linux-gcp-5.19.0/debian/commit-templates/external-driver @@ -0,0 +1,20 @@ +# Ubuntu external driver commit. +# +# NOTE: This gets reformatted for README.Ubuntu-External-Drivers and +# debian/changelog. +# +# This is only needed when a driver is added, updated or removed. It is +# not needed when patches or fixes are applied to the driver. If the +# driver is being removed, add the line: +# +# Removing: yes +# +# to the commit, and you can remove all other tags (except UBUNTU:). +# +UBUNTU: + +ExternalDriver: +Description: +Url: +Mask: +Version: --- linux-gcp-5.19.0.orig/debian/commit-templates/missing-modules +++ linux-gcp-5.19.0/debian/commit-templates/missing-modules @@ -0,0 +1,3 @@ +UBUNTU: build/modules: Add modules that have intentionally gone missing + +Ignore: yes --- linux-gcp-5.19.0.orig/debian/commit-templates/newrelease +++ linux-gcp-5.19.0/debian/commit-templates/newrelease @@ -0,0 +1,3 @@ +UBUNTU: Start new release + +Ignore: yes --- linux-gcp-5.19.0.orig/debian/commit-templates/sauce-patch +++ linux-gcp-5.19.0/debian/commit-templates/sauce-patch @@ -0,0 +1,40 @@ +# Ubuntu commit template. +# +# NOTE: This gets reformatted for debian/changelog +# +# +# SAUCE refers to the fact that this patch might not go upstream, but we need to +# carry it to successive releases. In most cases you DONOT want to use this +# template. +# +# An example of a SAUCE patch is the ACPI DSDT-in-initramfs patch which has been +# refused upstream, but still provides useful functionality to users with broken +# BIOSes. +# +#------------------------------------------------------------------------- +# +# The initial UBUNTU is a flag that this is an Ubuntu commit. It will be +# referenced to the Author in the debian/changelog entry. +# +# The text following is the short message that will be placed in the +# changelog. Extra text on the following lines will be ignored, but left +# in the git commit. Lines with # will be ignored in the commit. +# +# OriginalAuthor allows for alternate attribution. +# +# OriginalLocation allows for a URL or description of where the patch came +# from. +# +# BugLink is a URL to a Malone bug. +# +# Ignore: yes will keep this commit from showing up in the changelog. +# +UBUNTU: SAUCE: + + + +# OriginalAuthor: +# OriginalLocation: +# BugLink: http://bugs.launchpad.net/bugs/ +# Ignore: yes +# Other text below here. --- linux-gcp-5.19.0.orig/debian/commit-templates/upstream-patch +++ linux-gcp-5.19.0/debian/commit-templates/upstream-patch @@ -0,0 +1,27 @@ +# Ubuntu commit template. +# +# NOTE: This gets reformatted for debian/changelog +# +# The initial UBUNTU is a flag that this is an Ubuntu commit. It will be +# referenced to the Author in the debian/changelog entry. +# +# The text following is the short message that will be placed in the +# changelog. Extra text on the following lines will be ignored, but left +# in the git commit. Lines with # will be ignored in the commit. +# +# OriginalAuthor allows for alternate attribution. +# +# OriginalLocation allows for a URL or description of where the patch came +# from. +# +# BugLink is a URL to a Malone bug. +# +# Ignore: yes will keep this commit from showing up in the changelog. +# +UBUNTU: [Upstream] + +# OriginalAuthor: +# OriginalLocation: +# BugLink: http://bugs.launchpad.net/bugs/ +# Ignore: yes +# Other text below here. --- linux-gcp-5.19.0.orig/debian/control +++ linux-gcp-5.19.0/debian/control @@ -0,0 +1,206 @@ +Source: linux-gcp +Section: devel +Priority: optional +Maintainer: Ubuntu Kernel Team +XSC-Ubuntu-Compatible-Signing: ubuntu/4 pro/3 +Standards-Version: 3.9.4.0 +Build-Depends: + gcc-12, gcc-12-aarch64-linux-gnu [arm64] , gcc-12-arm-linux-gnueabihf [armhf] , gcc-12-powerpc64le-linux-gnu [ppc64el] , gcc-12-riscv64-linux-gnu [riscv64] , gcc-12-s390x-linux-gnu [s390x] , gcc-12-x86-64-linux-gnu [amd64] , + debhelper-compat (= 10), + cpio, + kernel-wedge , + dctrl-tools , + kmod , + libcap-dev , + makedumpfile [amd64] , + libelf-dev , + libnewt-dev , + libiberty-dev , + rsync , + libdw-dev , + libpci-dev , + pkg-config , + flex , + bison , + libunwind8-dev [amd64 arm64 armhf ppc64el] , + liblzma-dev , + openssl , + libssl-dev , + libaudit-dev , + bc , + gawk , + libudev-dev , + autoconf , + automake , + libtool , + uuid-dev , + libnuma-dev [amd64 arm64 ppc64el s390x] , + dkms , + curl , + zstd [amd64 s390x] , + dwarves [amd64 arm64 armhf ppc64el s390x] , +Build-Depends-Indep: + xmlto , + docbook-utils , + ghostscript , + fig2dev , + bzip2 , + sharutils , + asciidoc , + python3-sphinx , + python3-sphinx-rtd-theme , + fontconfig , + python3-docutils , +Vcs-Git: git://git.launchpad.net/~canonical-kernel/ubuntu/+source/linux-gcp/+git/kinetic +XS-Testsuite: autopkgtest +#XS-Testsuite-Depends: gcc-4.7 binutils + +Package: linux-gcp-headers-5.19.0-1027 +Build-Profiles: +Architecture: amd64 arm64 +Multi-Arch: foreign +Section: devel +Priority: optional +Depends: ${misc:Depends}, coreutils +Breaks: iscsitarget-dkms (<< 1.4.20.3+svn502-2ubuntu4.4) +Description: Header files related to Linux kernel version 5.19.0 + This package provides kernel header files for version 5.19.0, for sites + that want the latest kernel headers. Please read + /usr/share/doc/linux-gcp-headers-5.19.0-1027/debian.README.gz for details + +Package: linux-gcp-tools-5.19.0-1027 +Build-Profiles: +Architecture: amd64 arm64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, linux-tools-common +Description: Linux kernel version specific tools for version 5.19.0-1027 + This package provides the architecture dependant parts for kernel + version locked tools (such as perf and x86_energy_perf_policy) for + version 5.19.0-1027 on + 64 bit x86. + You probably want to install linux-tools-5.19.0-1027-. + + +Package: linux-image-unsigned-5.19.0-1027-gcp +Build-Profiles: +Architecture: amd64 arm64 +Section: kernel +Priority: optional +Provides: linux-image, fuse-module, ${linux:rprovides} +Depends: ${misc:Depends}, ${shlibs:Depends}, kmod, linux-base (>= 4.5ubuntu1~16.04.1), linux-modules-5.19.0-1027-gcp +Recommends: grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub | lilo | grub-efi-arm64 [arm64] +Breaks: flash-kernel (<< 3.90ubuntu2) [arm64 armhf], s390-tools (<< 2.3.0-0ubuntu3) [s390x] +Conflicts: linux-image-5.19.0-1027-gcp +Suggests: fdutils, linux-gcp-doc-5.19.0 | linux-gcp-source-5.19.0, linux-gcp-tools, linux-headers-5.19.0-1027-gcp, initramfs-tools | linux-initramfs-tool +Description: Linux kernel image for version 5.19.0 on 64 bit x86 SMP + This package contains the unsigned Linux kernel image for version 5.19.0 on + 64 bit x86 SMP. + . + Supports amd64 processors. + . + Geared toward GCP/GKE systems. + . + You likely do not want to install this package directly. Instead, install + the linux-gcp meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-modules-5.19.0-1027-gcp +Build-Profiles: +Architecture: amd64 arm64 +Section: kernel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends} +Built-Using: ${linux:BuiltUsing} +Description: Linux kernel extra modules for version 5.19.0 on 64 bit x86 SMP + Contains the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports amd64 processors. + . + Geared toward GCP/GKE systems. + . + You likely do not want to install this package directly. Instead, install + the linux-gcp meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-modules-extra-5.19.0-1027-gcp +Build-Profiles: +Architecture: amd64 arm64 +Section: kernel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends}, wireless-regdb, linux-modules-5.19.0-1027-gcp +Description: Linux kernel extra modules for version 5.19.0 on 64 bit x86 SMP + This package contains the Linux kernel extra modules for version 5.19.0 on + 64 bit x86 SMP. + . + Also includes the corresponding System.map file, the modules built by the + packager, and scripts that try to ensure that the system is not left in an + unbootable state after an update. + . + Supports amd64 processors. + . + Geared toward GCP/GKE systems. + . + You likely do not want to install this package directly. Instead, install + the linux-gcp meta-package, which will ensure that upgrades work + correctly, and that supporting packages are also installed. + +Package: linux-headers-5.19.0-1027-gcp +Build-Profiles: +Architecture: amd64 arm64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, linux-gcp-headers-5.19.0-1027, ${shlibs:Depends} +Provides: linux-headers, linux-headers-3.0 +Description: Linux kernel headers for version 5.19.0 on 64 bit x86 SMP + This package provides kernel header files for version 5.19.0 on + 64 bit x86 SMP. + . + This is for sites that want the latest kernel headers. Please read + /usr/share/doc/linux-headers-5.19.0-1027/debian.README.gz for details. + +Package: linux-image-unsigned-5.19.0-1027-gcp-dbgsym +Build-Profiles: +Architecture: amd64 arm64 +Section: devel +Priority: optional +Depends: ${misc:Depends} +Provides: linux-debug +Description: Linux kernel debug image for version 5.19.0 on 64 bit x86 SMP + This package provides the unsigned kernel debug image for version 5.19.0 on + 64 bit x86 SMP. + . + This is for sites that wish to debug the kernel. + . + The kernel image contained in this package is NOT meant to boot from. It + is uncompressed, and unstripped. This package also includes the + unstripped modules. + +Package: linux-tools-5.19.0-1027-gcp +Build-Profiles: +Architecture: amd64 arm64 +Section: devel +Priority: optional +Depends: ${misc:Depends}, linux-gcp-tools-5.19.0-1027 +Description: Linux kernel version specific tools for version 5.19.0-1027 + This package provides the architecture dependant parts for kernel + version locked tools (such as perf and x86_energy_perf_policy) for + version 5.19.0-1027 on + 64 bit x86. + + +Package: linux-buildinfo-5.19.0-1027-gcp +Build-Profiles: +Architecture: amd64 arm64 +Section: kernel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends} +Built-Using: ${linux:BuiltUsing} +Description: Linux kernel buildinfo for version 5.19.0 on 64 bit x86 SMP + This package contains the Linux kernel buildinfo for version 5.19.0 on + 64 bit x86 SMP. + . + You likely do not want to install this package. + --- linux-gcp-5.19.0.orig/debian/control.d/flavour-buildinfo.stub +++ linux-gcp-5.19.0/debian/control.d/flavour-buildinfo.stub @@ -0,0 +1,14 @@ + +Package: linux-buildinfo-PKGVER-ABINUM-FLAVOUR +Build-Profiles: +Architecture: ARCH +Section: kernel +Priority: optional +Depends: ${misc:Depends}, ${shlibs:Depends} +Built-Using: ${linux:BuiltUsing} +Description: Linux kernel buildinfo for version PKGVER on DESC + This package contains the Linux kernel buildinfo for version PKGVER on + DESC. + . + You likely do not want to install this package. + --- linux-gcp-5.19.0.orig/debian/control.d/flavour-module.stub +++ linux-gcp-5.19.0/debian/control.d/flavour-module.stub @@ -0,0 +1,19 @@ + +Package: linux-modules-MODULE-PKGVER-ABINUM-FLAVOUR +Build-Profiles: +Architecture: ARCH +Section: kernel +Priority: optional +Depends: + ${misc:Depends}, + linux-image-PKGVER-ABINUM-FLAVOUR | linux-image-unsigned-PKGVER-ABINUM-FLAVOUR, +Built-Using: ${linux:BuiltUsing} +Description: Linux kernel MODULE modules for version PKGVER-ABINUM + This package provides the Linux kernel MODULE modules for version + PKGVER-ABINUM. + . + You likely do not want to install this package directly. Instead, install the + one of the linux-modules-MODULE-FLAVOUR* meta-packages, + which will ensure that upgrades work correctly, and that supporting packages are + also installed. + --- linux-gcp-5.19.0.orig/debian/copyright +++ linux-gcp-5.19.0/debian/copyright @@ -0,0 +1,29 @@ +This is the Ubuntu prepackaged version of the Linux kernel. +Linux was written by Linus Torvalds +and others. + +This package was put together by the Ubuntu Kernel Team, from +sources retrieved from upstream linux git. +The sources may be found at most Linux ftp sites, including +ftp://ftp.kernel.org/pub/linux/kernel/ + +This package is currently maintained by the +Ubuntu Kernel Team + +Linux is copyrighted by Linus Torvalds and others. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 dated June, 1991. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Ubuntu Linux systems, the complete text of the GNU General +Public License v2 can be found in `/usr/share/common-licenses/GPL-2'. --- linux-gcp-5.19.0.orig/debian/debian.env +++ linux-gcp-5.19.0/debian/debian.env @@ -0,0 +1 @@ +DEBIAN=debian.gcp --- linux-gcp-5.19.0.orig/debian/dkms-versions +++ linux-gcp-5.19.0/debian/dkms-versions @@ -0,0 +1,2 @@ +zfs-linux 2.1.5-1ubuntu6 modulename=zfs debpath=pool/universe/z/%package%/zfs-dkms_%version%_all.deb arch=amd64 arch=arm64 arch=ppc64el arch=s390x rprovides=spl-modules rprovides=spl-dkms rprovides=zfs-modules rprovides=zfs-dkms +v4l2loopback 0.12.7-2ubuntu2 modulename=v4l2loopback debpath=pool/universe/v/%package%/v4l2loopback-dkms_%version%_all.deb arch=amd64 rprovides=v4l2loopback-modules rprovides=v4l2loopback-dkms --- linux-gcp-5.19.0.orig/debian/docs/README.inclusion-list +++ linux-gcp-5.19.0/debian/docs/README.inclusion-list @@ -0,0 +1,51 @@ +This README describes the reason for, and the use of, module +inclusion lists. + +The original Hardy release had the notion of sub-flavours, +e.g., a flavour that was constructed as a subset of an existing flavour. +For example, the virtual flavour was extracted from the server flavour using +a subset of the server flavour modules. However, there were some difficult +mainteneance issues with regard to packaging, make rules, and scripts. This +re-implementation of the sub-flavours philosophy is hopefully simpler, +and retrofitable to all releases. + +A module inclusion list looks at the problem of of constructing a package +from the perspective of what modules do we _want_ in the package, as opposed +to what modules we _don't_ want. As the kernel matures, more and more devices are added +which makes the problem of configuration maintenance a real pain in the ass. +If we took the approach of disabling all of the config options that we don't want, +then the differences between flavours will quickly become quite large, making +it difficult to quickly compare the individual flavour configs. Each time a +new config option is added then we also have to make a decision about disabling in +order to continue to keep the minimal number of modules. + +A module inclusion list is applied on a per-flavour basis. For example, +debian./control.d/${flavour}.inclusion-list. For example, the +config for virtual is very close to server and generic, but the inclusion list +causes the virtual package to be constructed with _only_ the modules described +in the inclusion list. + +The inclusion list format is a simple bash regular expression list of files. For example, + +arch/*/{crypto,kernel,oprofile} +drivers/acpi/* +drivers/ata/ahci.ko + +These 3 regular expression forms are suitable for expansion by bash and as inputs to 'find'. +See debian/scripts/module-inclusion for details. + +There are 2 log files created as a side effect of the application of the module +inclusion list; $(flavour).inclusion-list.log and $(flavour).depmod.log. + +$(flavour).inclusion-list.log : This log is created while the inclusion list +modules are being copied. If any are missing, then those warnings go in this log. +While its not considered a fatal error, you should endevour to correct your inclusion +list such that there are no missing modules. + +$(flavour).depmod.log : The log is created as a result of running depmod on the +resulting set of modules. If there are missing symbols then you'll find that information +here. Again, you should modify your inclusion list such that there are no missing +symbols. + +Tim Gardner +June 2, 2010 --- linux-gcp-5.19.0.orig/debian/gbp.conf +++ linux-gcp-5.19.0/debian/gbp.conf @@ -0,0 +1,2 @@ +[buildpackage] +debian-tag = Ubuntu-gcp-%(version)s --- linux-gcp-5.19.0.orig/debian/linux-cloud-tools-common.hv-fcopy-daemon.service +++ linux-gcp-5.19.0/debian/linux-cloud-tools-common.hv-fcopy-daemon.service @@ -0,0 +1,14 @@ +# On Azure/Hyper-V systems start the hv_fcopy_daemon +# +# author "Andy Whitcroft " +[Unit] +Description=Hyper-V File Copy Protocol Daemon +ConditionVirtualization=microsoft +ConditionPathExists=/dev/vmbus/hv_fcopy +BindsTo=sys-devices-virtual-misc-vmbus\x21hv_fcopy.device + +[Service] +ExecStart=/usr/sbin/hv_fcopy_daemon -n + +[Install] +WantedBy=multi-user.target --- linux-gcp-5.19.0.orig/debian/linux-cloud-tools-common.hv-fcopy-daemon.udev +++ linux-gcp-5.19.0/debian/linux-cloud-tools-common.hv-fcopy-daemon.udev @@ -0,0 +1 @@ +SUBSYSTEM=="misc", KERNEL=="vmbus/hv_fcopy", TAG+="systemd", ENV{SYSTEMD_WANTS}+="hv-fcopy-daemon.service" --- linux-gcp-5.19.0.orig/debian/linux-cloud-tools-common.hv-fcopy-daemon.upstart +++ linux-gcp-5.19.0/debian/linux-cloud-tools-common.hv-fcopy-daemon.upstart @@ -0,0 +1,22 @@ +# On Azure/Hyper-V systems start the hv_fcopy_daemon +# +description "Hyper-V File Copy Protocol Daemon" +author "Andy Whitcroft " + +start on runlevel [2345] +stop on runlevel [!2345] +console log + +pre-start script + if [ -e "/etc/default/hv-kvp-daemon-init" ]; then + . /etc/default/hv-kvp-daemon-init + fi + [ "$RUN_FCOPY_DAEMON" -eq 0 ] && { stop; exit 0; } + if [ -d /sys/class/dmi/id/. ]; then + read company " +[Unit] +Description=Hyper-V KVP Protocol Daemon +ConditionVirtualization=microsoft +ConditionKernelCommandLine=!snapd_recovery_mode +DefaultDependencies=no +BindsTo=sys-devices-virtual-misc-vmbus\x21hv_kvp.device +After=sys-devices-virtual-misc-vmbus\x21hv_kvp.device systemd-remount-fs.service +Before=shutdown.target cloud-init-local.service walinuxagent.service +Conflicts=shutdown.target +RequiresMountsFor=/var/lib/hyperv + +[Service] +ExecStart=/usr/sbin/hv_kvp_daemon -n + +[Install] +WantedBy=multi-user.target --- linux-gcp-5.19.0.orig/debian/linux-cloud-tools-common.hv-kvp-daemon.udev +++ linux-gcp-5.19.0/debian/linux-cloud-tools-common.hv-kvp-daemon.udev @@ -0,0 +1 @@ +SUBSYSTEM=="misc", KERNEL=="vmbus/hv_kvp", TAG+="systemd", ENV{SYSTEMD_WANTS}+="hv-kvp-daemon.service" --- linux-gcp-5.19.0.orig/debian/linux-cloud-tools-common.hv-kvp-daemon.upstart +++ linux-gcp-5.19.0/debian/linux-cloud-tools-common.hv-kvp-daemon.upstart @@ -0,0 +1,22 @@ +# On Azure/Hyper-V systems start the hv_kvp_daemon +# +description "Hyper-V KVP Protocol Daemon" +author "Adam Conrad " + +start on runlevel [2345] +stop on runlevel [!2345] +console log + +pre-start script + if [ -e "/etc/default/hv-kvp-daemon-init" ]; then + . /etc/default/hv-kvp-daemon-init + fi + [ "$RUN_KVP_DAEMON" = 0 ] && { stop; exit 0; } + if [ -d /sys/class/dmi/id/. ]; then + read company " +[Unit] +Description=Hyper-V VSS Protocol Daemon +ConditionVirtualization=microsoft +ConditionPathExists=/dev/vmbus/hv_vss +BindsTo=sys-devices-virtual-misc-vmbus\x21hv_vss.device + +[Service] +ExecStart=/usr/sbin/hv_vss_daemon -n + +[Install] +WantedBy=multi-user.target --- linux-gcp-5.19.0.orig/debian/linux-cloud-tools-common.hv-vss-daemon.udev +++ linux-gcp-5.19.0/debian/linux-cloud-tools-common.hv-vss-daemon.udev @@ -0,0 +1 @@ +SUBSYSTEM=="misc", KERNEL=="vmbus/hv_vss", TAG+="systemd", ENV{SYSTEMD_WANTS}+="hv-vss-daemon.service" --- linux-gcp-5.19.0.orig/debian/linux-cloud-tools-common.hv-vss-daemon.upstart +++ linux-gcp-5.19.0/debian/linux-cloud-tools-common.hv-vss-daemon.upstart @@ -0,0 +1,22 @@ +# On Azure/Hyper-V systems start the hv_vss_daemon +# +description "Hyper-V VSS Protocol Daemon" +author "Ben Howard " + +start on runlevel [2345] +stop on runlevel [!2345] +console log + +pre-start script + if [ -e "/etc/default/hv-kvp-daemon-init" ]; then + . /etc/default/hv-kvp-daemon-init + fi + [ "$RUN_VSS_DAEMON" -eq 0 ] && { stop; exit 0; } + if [ -d /sys/class/dmi/id/. ]; then + read company +# + +DEBIAN=$(shell awk -F= '($$1 == "DEBIAN") { print $$2 }' /dev/null || echo $$$$m >> $(prev_abidir)/../modules.ignore; done)) \ + ) \ +) + +ifeq ($(do_dkms_wireguard),false) + do_wireguard_disable:=$(shell for m in $$(cat $(DROOT)/wireguard-modules.ignore); do grep -qxF $$m $(prev_abidir)/../modules.ignore 2>/dev/null || echo $$m >> $(prev_abidir)/../modules.ignore; done) +endif + +# Either tools package needs the common source preparation +do_any_tools=$(sort $(filter-out false,$(do_linux_tools) $(do_cloud_tools))) + +# NVIDIA DKMS package gross series split into desktop and server. +nvidia_desktop_series=$(shell sed -n -e 's/^nvidia-graphics-drivers-\([0-9][0-9]*\) .*/\1/p' debian/dkms-versions) +nvidia_server_series=$(shell sed -n -e 's/^nvidia-graphics-drivers-\([0-9][0-9]*-server\) .*/\1/p' debian/dkms-versions) + +# Debian Build System targets +binary: binary-indep binary-arch + +build: build-arch build-indep + +clean: debian/control debian/canonical-certs.pem debian/canonical-revoked-certs.pem + dh_testdir + dh_testroot + dh_clean + + # normal build junk + rm -rf $(DEBIAN)/abi/$(release)-$(revision) + rm -rf $(builddir) + rm -f $(stampdir)/stamp-* + rm -rf $(DEBIAN)/linux-* + + cp $(DEBIAN)/changelog debian/changelog + + # Install the copyright information. + cp $(DEBIAN)/copyright debian/copyright + + # Install the retpoline extractor. + cp $(DROOT)/scripts/retpoline-extract-one scripts/ubuntu-retpoline-extract-one + + # If we have a reconstruct script use it. + [ -f $(DEBIAN)/reconstruct ] && bash $(DEBIAN)/reconstruct || true + + # Remove generated intermediate files + rm -f $(DROOT)/control.stub $(DEBIAN)/control.stub + rm -f $(DROOT)/scripts/fix-filenames + +distclean: clean + rm -rf $(DROOT)/control debian/changelog \ + debian/control debian/control.stub debian/copyright \ + scripts/ubuntu-retpoline-extract-one + +# Builds the image, arch headers and debug packages +include $(DROOT)/rules.d/2-binary-arch.mk + +# Builds the source, doc and linux-headers indep packages +include $(DROOT)/rules.d/3-binary-indep.mk + +# Various checks to be performed on builds +include $(DROOT)/rules.d/4-checks.mk + +control_files := $(DEBIAN)/control.stub.in +ifeq ($(do_libc_dev_package),true) +ifneq (,$(wildcard $(DEBIAN)/control.d/linux-libc-dev.stub)) + control_files += $(DEBIAN)/control.d/linux-libc-dev.stub +endif +endif +ifeq ($(do_doc_package),true) +ifneq (,$(wildcard $(DEBIAN)/control.d/linux-doc.stub)) + control_files += $(DEBIAN)/control.d/linux-doc.stub +endif +endif + +# Calculate Ubuntu Compatible Signing levels +UBUNTU_COMPATIBLE_SIGNING=$(shell grep -qx ' *Subject: C = GB, ST = Isle of Man, O = Canonical Ltd., OU = Secure Boot, CN = Canonical Ltd. Secure Boot Signing (2021 v3)' debian/canonical-revoked-certs.pem && echo ubuntu/4 pro/3) + +# Misc stuff +.PHONY: $(DEBIAN)/control.stub +$(DEBIAN)/control.stub: \ + $(DROOT)/scripts/control-create \ + $(control_files) \ + debian/canonical-revoked-certs.pem \ + $(DROOT)/control.d/flavour-module.stub \ + $(DEBIAN)/changelog \ + $(wildcard $(DEBIAN)/control.d/* $(DEBIAN)/sub-flavours/*.vars) + for i in $(control_files); do \ + cat $$i; \ + echo ""; \ + done | sed -e 's/PKGVER/$(release)/g' \ + -e 's/ABINUM/$(abinum)/g' \ + -e 's/SRCPKGNAME/$(src_pkg_name)/g' \ + -e 's/=HUMAN=/$(human_arch)/g' \ + -e 's/=SERIES=/$(series)/g' \ + -e 's|\(^Maintainer:.*\)|\1\nXSC-Ubuntu-Compatible-Signing: $(UBUNTU_COMPATIBLE_SIGNING)|g' \ + -e 's/\(^Build-Depends:$$\)/\1\n$(GCC_BUILD_DEPENDS)/g' \ + > $(DEBIAN)/control.stub; + flavours="$(sort $(wildcard $(DEBIAN)/control.d/vars.* $(DEBIAN)/sub-flavours/*.vars))";\ + for i in $$flavours; do \ + $(SHELL) $(DROOT)/scripts/control-create $$i "$(any_signed)" | \ + sed -e 's/PKGVER/$(release)/g' \ + -e 's/ABINUM/$(abinum)/g' \ + -e 's/SRCPKGNAME/$(src_pkg_name)/g' \ + -e 's/=HUMAN=/$(human_arch)/g' \ + -e 's/=SERIES=/$(series)/g' \ + >> $(DEBIAN)/control.stub; \ + done + +.PHONY: debian/control +debian/control: $(DEBIAN)/control.stub + cp $(DEBIAN)/control.stub debian/control + +debian/canonical-certs.pem: $(wildcard $(DROOT)/certs/*-all.pem) $(wildcard $(DROOT)/certs/*-$(arch).pem) $(wildcard $(DEBIAN)/certs/*-all.pem) $(wildcard $(DEBIAN)/certs/*-$(arch).pem) + for cert in $(sort $(notdir $^)); \ + do \ + for dir in $(DEBIAN) $(DROOT); \ + do \ + if [ -f "$$dir/certs/$$cert" ]; then \ + cat "$$dir/certs/$$cert"; \ + break; \ + fi; \ + done; \ + done >"$@" + +debian/canonical-revoked-certs.pem: $(wildcard $(DROOT)/revoked-certs/*-all.pem) $(wildcard $(DROOT)/revoked-certs/*-$(arch).pem) $(wildcard $(DEBIAN)/revoked-certs/*-all.pem) $(wildcard $(DEBIAN)/revoked-certs/*-$(arch).pem) + for cert in $(sort $(notdir $^)); \ + do \ + for dir in $(DEBIAN) $(DROOT); \ + do \ + if [ -f "$$dir/revoked-certs/$$cert" ]; then \ + cat "$$dir/revoked-certs/$$cert"; \ + break; \ + fi; \ + done; \ + done >"$@" --- linux-gcp-5.19.0.orig/debian/rules.d/0-common-vars.mk +++ linux-gcp-5.19.0/debian/rules.d/0-common-vars.mk @@ -0,0 +1,331 @@ +# Used when you need to 'escape' a comma. +comma = , + +# +# The source package name will be the first token from $(DEBIAN)/changelog +# +src_pkg_name=$(shell sed -n '1s/^\(.*\) (.*).*$$/\1/p' $(DEBIAN)/changelog) + +# Get the series +series=$(shell dpkg-parsechangelog -l$(DEBIAN)/changelog | sed -ne 's/^Distribution: *//p' | sed -e 's/-\(security\|updates\|proposed\)$$//') + +# Get some version info +release := $(shell sed -n '1s/^$(src_pkg_name).*(\(.*\)-.*).*$$/\1/p' $(DEBIAN)/changelog) +revisions := $(shell sed -n 's/^$(src_pkg_name)\ .*($(release)-\(.*\)).*$$/\1/p' $(DEBIAN)/changelog | tac) +revision ?= $(word $(words $(revisions)),$(revisions)) +prev_revisions := $(filter-out $(revision),0.0 $(revisions)) +ifneq (,$(prev_revisions)) +prev_revision := $(word $(words $(prev_revisions)),$(prev_revisions)) +endif + +prev_fullver ?= $(shell dpkg-parsechangelog -l$(DEBIAN)/changelog -o1 -c1 | sed -ne 's/^Version: *//p') + +# Get variants. Assume primary if debian/variants is not present. +variants = -- +ifneq (,$(wildcard $(DEBIAN)/variants)) + variants := $(shell cat $(DEBIAN)/variants) +endif + +# Get upstream version info +upstream_version := $(shell sed -n 's/^VERSION = \(.*\)$$/\1/p' Makefile) +upstream_patchlevel := $(shell sed -n 's/^PATCHLEVEL = \(.*\)$$/\1/p' Makefile) +upstream_tag := "v$(upstream_version).$(upstream_patchlevel)" + +# This is an internally used mechanism for the daily kernel builds. It +# creates packages whose ABI is suffixed with a minimal representation of +# the current git HEAD sha. If .git/HEAD is not present, then it uses the +# uuidgen program, +# +# AUTOBUILD can also be used by anyone wanting to build a custom kernel +# image, or rebuild the entire set of Ubuntu packages using custom patches +# or configs. +AUTOBUILD= + +ifneq ($(AUTOBUILD),) +skipabi = true +skipmodule = true +skipretpoline = true +skipdbg = true +gitver=$(shell if test -f .git/HEAD; then cat .git/HEAD; else uuidgen; fi) +gitverpre=$(shell echo $(gitver) | cut -b -3) +gitverpost=$(shell echo $(gitver) | cut -b 38-40) +abi_suffix = -$(gitverpre)$(gitverpost) +endif + +ifneq ($(NOKERNLOG),) +ubuntu_log_opts += --no-kern-log +endif +ifneq ($(PRINTSHAS),) +ubuntu_log_opts += --print-shas +endif + +# Get the kernels own extra version to be added to the release signature. +raw_kernelversion=$(shell make kernelversion) + +# +# full_build -- are we doing a full buildd style build +# +ifeq ($(wildcard /CurrentlyBuilding),) +full_build?=false +else +full_build?=true +endif + +# +# The debug packages are ginormous, so you probably want to skip +# building them (as a developer). +# +ifeq ($(full_build),false) +skipdbg=true +endif + +abinum := $(shell echo $(revision) | sed -r -e 's/([^\+~]*)\.[^\.]+(~.*)?(\+.*)?$$/\1/')$(abi_suffix) +prev_abinum := $(shell echo $(prev_revision) | sed -r -e 's/([^\+~]*)\.[^\.]+(~.*)?(\+.*)?$$/\1/')$(abi_suffix) +abi_release := $(release)-$(abinum) + +uploadnum := $(shell echo $(revision) | sed -r -e 's/[^\+~]*\.([^\.~]+(~.*)?(\+.*)?$$)/\1/') +ifneq ($(full_build),false) + uploadnum := $(uploadnum)-Ubuntu +endif + +# XXX: linux-libc-dev got bumped to -803.N inadvertantly by a ti-omap4 upload +# shift our version higher for this package only. Ensure this only +# occurs for the v2.6.35 kernel so that we do not propogate this into +# any other series. +raw_uploadnum := $(shell echo $(revision) | sed -e 's/.*\.//') +libc_dev_version := +ifeq ($(DEBIAN),debian.master) +ifeq ($(release),2.6.35) +libc_dev_version := -v$(release)-$(shell expr "$(abinum)" + 1000).$(raw_uploadnum) +endif +endif + +DEB_HOST_MULTIARCH = $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +DEB_HOST_GNU_TYPE = $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE = $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEB_BUILD_ARCH = $(shell dpkg-architecture -qDEB_BUILD_ARCH) + +# +# Detect invocations of the form 'fakeroot debian/rules binary arch=armhf' +# within an x86'en schroot. This only gets you part of the way since the +# packaging phase fails, but you can at least compile the kernel quickly. +# +arch := $(DEB_HOST_ARCH) +CROSS_COMPILE ?= $(DEB_HOST_GNU_TYPE)- + +# +# Set consistent toolchain +# If a given kernel wants to change this, they can do so via their own +# $(DEBIAN)/rules.d/hooks.mk and $(DEBIAN)/rules.d/$(arch).mk files +# +export gcc?=gcc-12 +GCC_BUILD_DEPENDS=\ $(gcc), $(gcc)-aarch64-linux-gnu [arm64] , $(gcc)-arm-linux-gnueabihf [armhf] , $(gcc)-powerpc64le-linux-gnu [ppc64el] , $(gcc)-riscv64-linux-gnu [riscv64] , $(gcc)-s390x-linux-gnu [s390x] , $(gcc)-x86-64-linux-gnu [amd64] , + +abidir := $(CURDIR)/$(DEBIAN)/__abi.current/$(arch) +prev_abidir := $(CURDIR)/$(DEBIAN)/abi/$(arch) +commonconfdir := $(CURDIR)/$(DEBIAN)/config +archconfdir := $(CURDIR)/$(DEBIAN)/config/$(arch) +sharedconfdir := $(CURDIR)/debian.master/config +builddir := $(CURDIR)/debian/build +stampdir := $(CURDIR)/debian/stamps + +# +# The binary package name always starts with linux-image-$KVER-$ABI.$UPLOAD_NUM. There +# are places that you'll find linux-image hard coded, but I guess thats OK since the +# assumption that the binary package always starts with linux-image will never change. +# +bin_pkg_name_signed=linux-image-$(abi_release) +bin_pkg_name_unsigned=linux-image-unsigned-$(abi_release) +mods_pkg_name=linux-modules-$(abi_release) +mods_extra_pkg_name=linux-modules-extra-$(abi_release) +bldinfo_pkg_name=linux-buildinfo-$(abi_release) +hdrs_pkg_name=linux-headers-$(abi_release) +indep_hdrs_pkg_name=$(src_pkg_name)-headers-$(abi_release) + +# +# The generation of content in the doc package depends on both 'AUTOBUILD=' and +# 'do_doc_package_content=true'. There are usually build errors during the development +# cycle, so its OK to leave 'do_doc_package_content=false' until those build +# failures get sorted out. Finally, the doc package doesn't really need to be built +# for developer testing (its kind of slow), so only do it if on a buildd. +ifneq ($(filter --,$(variants)),) +do_doc_package=true +else +do_doc_package=false +endif +do_doc_package_content=false +ifeq ($(full_build),false) +do_doc_package_content=false +endif +doc_pkg_name=$(src_pkg_name)-doc + +# +# Similarly with the linux-source package, you need not build it as a developer. Its +# somewhat I/O intensive and utterly useless. +# +do_source_package=true +do_source_package_content=true +ifeq ($(full_build),false) +do_source_package_content=false +endif + +# linux-libc-dev may not be needed, default to building it only for the +# primary variant +ifneq ($(filter --,$(variants)),) +do_libc_dev_package=true +else +do_libc_dev_package=false +endif + +# common headers normally is built as an indep package, but may be arch +do_common_headers_indep=true + +# add a 'full source' mode +do_full_source=false + +# Add an option to enable special drivers which should only be build when +# explicitly enabled. +do_odm_drivers=false + +# build tools +ifneq ($(wildcard $(CURDIR)/tools),) + ifeq ($(do_tools),) + ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) + do_tools=false + endif + endif + do_tools?=true +else + do_tools?=false +endif +tools_pkg_name=$(src_pkg_name)-tools-$(abi_release) +tools_common_pkg_name=$(src_pkg_name)-tools-common +tools_flavour_pkg_name=linux-tools-$(abi_release) +cloud_pkg_name=$(src_pkg_name)-cloud-tools-$(abi_release) +cloud_common_pkg_name=$(src_pkg_name)-cloud-tools-common +cloud_flavour_pkg_name=linux-cloud-tools-$(abi_release) +hosttools_pkg_name=$(src_pkg_name)-tools-host + +# The general flavour specific image package. +do_flavour_image_package=true + +# The general flavour specific header package. +do_flavour_header_package=true + +# DTBs +do_dtbs=false + +# FIPS check +do_fips_checks=false + +# Support parallel= in DEB_BUILD_OPTIONS (see #209008) +# +# These 2 environment variables set the -j value of the kernel build. For example, +# CONCURRENCY_LEVEL=16 fakeroot $(DEBIAN)/rules binary-debs +# or +# DEB_BUILD_OPTIONS=parallel=16 fakeroot $(DEBIAN)/rules binary-debs +# +# The default is to use the number of CPUs. +# +COMMA=, +DEB_BUILD_OPTIONS_PARA = $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS)))) +ifneq (,$(DEB_BUILD_OPTIONS_PARA)) + CONCURRENCY_LEVEL := $(DEB_BUILD_OPTIONS_PARA) +endif + +ifeq ($(CONCURRENCY_LEVEL),) + # Check the environment + CONCURRENCY_LEVEL := $(shell echo $$CONCURRENCY_LEVEL) + # No? Then build with the number of CPUs on the host. + ifeq ($(CONCURRENCY_LEVEL),) + CONCURRENCY_LEVEL := $(shell expr `getconf _NPROCESSORS_ONLN` \* 1) + endif + # Oh hell, give 'em one + ifeq ($(CONCURRENCY_LEVEL),) + CONCURRENCY_LEVEL := 1 + endif +endif + +conc_level = -j$(CONCURRENCY_LEVEL) + +PYTHON ?= $(firstword $(wildcard /usr/bin/python3) $(wildcard /usr/bin/python2) $(wildcard /usr/bin/python)) + +# target_flavour is filled in for each step +kmake = make ARCH=$(build_arch) \ + CROSS_COMPILE=$(CROSS_COMPILE) \ + HOSTCC=$(DEB_BUILD_GNU_TYPE)-$(gcc) \ + CC=$(CROSS_COMPILE)$(gcc) \ + KERNELVERSION=$(abi_release)-$(target_flavour) \ + CONFIG_DEBUG_SECTION_MISMATCH=y \ + KBUILD_BUILD_VERSION="$(uploadnum)" \ + LOCALVERSION= localver-extra= \ + CFLAGS_MODULE="-DPKG_ABI=$(abinum)" \ + PYTHON=$(PYTHON) +ifneq ($(LOCAL_ENV_CC),) +kmake += CC="$(LOCAL_ENV_CC)" DISTCC_HOSTS="$(LOCAL_ENV_DISTCC_HOSTS)" +endif + +# Locking is required in parallel builds to prevent loss of contents +# of the debian/files. +lockme_file = $(CURDIR)/debian/.LOCK +lockme_cmd = flock -w 60 +lockme = $(lockme_cmd) $(lockme_file) + +# Don't fail if a link already exists. +LN = ln -sf + +# Checks if a var is overriden by the custom rules. Called with var and +# flavour as arguments. +custom_override = \ + $(shell if [ -n "$($(1)_$(2))" ]; then echo "$($(1)_$(2))"; else echo "$($(1))"; fi) + +# selftests that Ubuntu cares about +ubuntu_selftests = breakpoints cpu-hotplug efivarfs memfd memory-hotplug mount net ptrace seccomp timers powerpc user ftrace + +# DKMS +all_dkms_modules = + +subst_paired = $(subst $(firstword $(subst =, ,$(1))),$(lastword $(subst =, ,$(1))),$(2)) +recursive_call = $(if $(2),$(call recursive_call,$(1),$(wordlist 2,$(words $(2)),$(2)),$(call $(1),$(firstword $(2)),$(3))),$(3)) + +$(foreach _line,$(shell gawk '{ OFS = "!"; $$1 = $$1; print }' $(DROOT)/dkms-versions), \ + $(eval _params = $(subst !, ,$(_line))) \ + $(eval _deb_pkgname = $(firstword $(_params))) \ + $(eval _deb_version = $(word 2,$(_params))) \ + $(if $(filter modulename=%,$(_params)), \ + $(eval _m = $(word 2,$(subst =, ,$(filter modulename=%,$(_params))))) \ + , \ + $(info modulename for $(_deb_pkgname) not specified in dkms-versions. Assume $(_deb_pkgname).) \ + $(eval _m = $(_deb_pkgname)) \ + ) \ + $(eval all_dkms_modules += $(_m)) \ + $(eval dkms_$(_m)_version = $(_deb_version)) \ + $(foreach _p,$(patsubst debpath=%,%,$(filter debpath=%,$(_params))), \ + $(eval dkms_$(_m)_debpath += $(strip \ + $(call recursive_call,subst_paired, \ + %module%=$(_m) \ + %package%=$(_deb_pkgname) \ + %version%=$(lastword $(subst :, ,$(_deb_version))) \ + , \ + $(_p) \ + ) \ + )) \ + ) \ + $(if $(dkms_$(_m)_debpath),,$(error debpath for $(_deb_pkgname) not specified.)) \ + $(if $(filter arch=%,$(_params)), \ + $(eval dkms_$(_m)_archs = $(patsubst arch=%,%,$(filter arch=%,$(_params)))) \ + , \ + $(eval dkms_$(_m)_archs = any) \ + ) \ + $(eval dkms_$(_m)_rprovides = $(patsubst rprovides=%,%,$(filter rprovides=%,$(_params)))) \ + $(eval dkms_$(_m)_type = $(word 1,$(patsubst type=%,%,$(filter type=%,$(_params))) built-in)) \ + $(eval all_$(dkms_$(_m)_type)_dkms_modules += $(_m)) \ + $(if $(filter standalone,$(dkms_$(_m)_type)), \ + $(eval dkms_$(_m)_pkg_name = linux-modules-$(_m)-$(abi_release)) \ + $(eval dkms_$(_m)_subdir = ubuntu) \ + , \ + $(eval dkms_$(_m)_pkg_name = $(mods_pkg_name)) \ + $(eval dkms_$(_m)_subdir = kernel) \ + ) \ +) --- linux-gcp-5.19.0.orig/debian/rules.d/1-maintainer.mk +++ linux-gcp-5.19.0/debian/rules.d/1-maintainer.mk @@ -0,0 +1,173 @@ +# The following targets are for the maintainer only! do not run if you don't +# know what they do. + +.PHONY: printenv updateconfigs printchanges insertchanges startnewrelease diffupstream help autoreconstruct finalchecks + +help: + @echo "These are the targets in addition to the normal $(DEBIAN) ones:" + @echo + @echo " printenv : Print some variables used in the build" + @echo + @echo " updateconfigs : Update core arch configs" + @echo + @echo " editconfigs : Update core arch configs interractively" + @echo " genconfigs : Generate core arch configs in CONFIGS/*" + @echo + @echo " printchanges : Print the current changelog entries (from git)" + @echo + @echo " insertchanges : Insert current changelog entries (from git)" + @echo + @echo " startnewrelease : Start a new changelog set" + @echo + @echo " diffupstream : Diff stock kernel code against upstream (git)" + @echo + @echo " compileselftests : Only compile the selftests listed on ubuntu_selftests variable" + @echo + @echo " runselftests : Run the selftests listed on ubuntu_selftests variable" + @echo + @echo " help : If you are kernel hacking, you need the professional" + @echo " version of this" + @echo + @echo "Environment variables:" + @echo + @echo " NOKERNLOG : Do not add upstream kernel commits to changelog" + @echo " CONCURRENCY_LEVEL=X" + @echo " : Use -jX for kernel compile" + @echo " PRINTSHAS : Include SHAs for commits in changelog" + +printdebian: + @echo "$(DEBIAN)" + +updateconfigs defaultconfigs editconfigs genconfigs dumpconfigs: + dh_testdir; + conc_level=$(conc_level) $(SHELL) $(DROOT)/scripts/misc/kernelconfig $@ "$(do_enforce_all)" + rm -rf build + +printenv: + dh_testdir + @echo "src package name = $(src_pkg_name)" + @echo "series = $(series)" + @echo "release = $(release)" + @echo "revisions = $(revisions)" + @echo "revision = $(revision)" + @echo "uploadnum = $(uploadnum)" + @echo "prev_revisions = $(prev_revisions)" + @echo "prev_revision = $(prev_revision)" + @echo "abinum = $(abinum)" + @echo "upstream_tag = $(upstream_tag)" + @echo "gitver = $(gitver)" + @echo "variants = $(variants)" + @echo "flavours = $(flavours)" + @echo "skipabi = $(skipabi)" + @echo "skipmodule = $(skipmodule)" + @echo "skipdbg = $(skipdbg)" + @echo "ubuntu_log_opts = $(ubuntu_log_opts)" + @echo "CONCURRENCY_LEVEL = $(CONCURRENCY_LEVEL)" + @echo "ubuntu_selftests = $(ubuntu_selftests)" + @echo "bin package name = $(bin_pkg_name)" + @echo "hdr package name = $(hdrs_pkg_name)" + @echo "doc package name = $(doc_pkg_name)" + @echo "do_doc_package = $(do_doc_package)" + @echo "do_doc_package_content = $(do_doc_package_content)" + @echo "do_source_package = $(do_source_package)" + @echo "do_source_package_content = $(do_source_package_content)" + @echo "do_libc_dev_package = $(do_libc_dev_package)" + @echo "do_flavour_image_package = $(do_flavour_image_package)" + @echo "do_flavour_header_package = $(do_flavour_header_package)" + @echo "do_common_headers_indep = $(do_common_headers_indep)" + @echo "do_full_source = $(do_full_source)" + @echo "do_odm_drivers = $(do_odm_drivers)" + @echo "do_tools = $(do_tools)" + @echo "do_any_tools = $(do_any_tools)" + @echo "do_linux_tools = $(do_linux_tools)" + @echo " do_tools_cpupower = $(do_tools_cpupower)" + @echo " do_tools_perf = $(do_tools_perf)" + @echo " do_tools_bpftool = $(do_tools_bpftool)" + @echo " do_tools_x86 = $(do_tools_x86)" + @echo " do_tools_host = $(do_tools_host)" + @echo "do_cloud_tools = $(do_cloud_tools)" + @echo " do_tools_hyperv = $(do_tools_hyperv)" + @echo "any_signed = $(any_signed)" + @echo " uefi_signed = $(uefi_signed)" + @echo " opal_signed = $(opal_signed)" + @echo " sipl_signed = $(sipl_signed)" + @echo "full_build = $(full_build)" + @echo "libc_dev_version = $(libc_dev_version)" + @echo "DEB_HOST_GNU_TYPE = $(DEB_HOST_GNU_TYPE)" + @echo "DEB_BUILD_GNU_TYPE = $(DEB_BUILD_GNU_TYPE)" + @echo "DEB_HOST_ARCH = $(DEB_HOST_ARCH)" + @echo "DEB_BUILD_ARCH = $(DEB_BUILD_ARCH)" + @echo "arch = $(arch)" + @echo "kmake = $(kmake)" + +printchanges: + @baseCommit=$$(git log --pretty=format:'%H %s' | \ + gawk '/UBUNTU: '".*Ubuntu-.*`echo $(prev_fullver) | sed 's/+/\\\\+/'`"'(~.*)?$$/ { print $$1; exit }'); \ + if [ -z "$$baseCommit" ]; then \ + echo "WARNING: couldn't find a commit for the previous version. Using the lastest one." >&2; \ + baseCommit=$$(git log --pretty=format:'%H %s' | \ + gawk '/UBUNTU:\s*Ubuntu-.*$$/ { print $$1; exit }'); \ + fi; \ + git log "$$baseCommit"..HEAD | \ + $(DROOT)/scripts/misc/git-ubuntu-log $(ubuntu_log_opts) + +insertchanges: autoreconstruct finalchecks + $(DROOT)/scripts/misc/insert-changes $(DROOT) $(DEBIAN) + +autoreconstruct: + # No need for reconstruct for -rc kernels since we don't upload an + # orig tarball, so just remove it. + if grep -q "^EXTRAVERSION = -rc[0-9]\+$$" Makefile; then \ + echo "exit 0" >$(DEBIAN)/reconstruct; \ + else \ + $(DROOT)/scripts/misc/gen-auto-reconstruct $(upstream_tag) $(DEBIAN)/reconstruct $(DROOT)/source/options; \ + fi + +finalchecks: debian/control +ifeq ($(do_fips_checks),true) + $(DROOT)/scripts/misc/fips-checks +endif + $(DROOT)/scripts/misc/final-checks "$(DEBIAN)" "$(prev_fullver)" + +diffupstream: + @git diff-tree -p refs/remotes/linux-2.6/master..HEAD $(shell ls | grep -vE '^(ubuntu|$(DEBIAN)|\.git.*)') + +startnewrelease: + dh_testdir + @[ -f "$(DEBIAN)/etc/update.conf" ] && . "$(DEBIAN)/etc/update.conf"; \ + if [ -n "$$BACKPORT_SUFFIX" ]; then \ + ver="$$(dpkg-parsechangelog -l"$$DEBIAN_MASTER/changelog" -SVersion)$${BACKPORT_SUFFIX/--/}.1"; \ + prev_ver="$$(dpkg-parsechangelog -l"$(DEBIAN)/changelog" -SVersion)"; \ + if [ "$${ver%.*}" = "$${prev_ver%.*}" ]; then \ + ver="$${ver%.*}.$$(( $${prev_ver##*.} +1 ))"; \ + fi; \ + else \ + rev=$(revision); \ + suffix=$$(echo "$${rev}" | sed 's/^[0-9]*\.[0-9]*//'); \ + abi=$${rev%%.*}; \ + upload=$${rev#*.}; \ + upload=$${upload%$${suffix}}; \ + ver=$(release)-$$((abi + 1)).$$((upload + 1))$${suffix}; \ + fi; \ + now="$(shell date -R)"; \ + echo "Creating new changelog set for $$ver..."; \ + echo -e "$(src_pkg_name) ($$ver) UNRELEASED; urgency=medium\n" > $(DEBIAN)/changelog.new; \ + echo " CHANGELOG: Do not edit directly. Autogenerated at release." >> \ + $(DEBIAN)/changelog.new; \ + echo " CHANGELOG: Use the printchanges target to see the curent changes." \ + >> $(DEBIAN)/changelog.new; \ + echo " CHANGELOG: Use the insertchanges target to create the final log." \ + >> $(DEBIAN)/changelog.new; \ + echo -e "\n -- $$DEBFULLNAME <$$DEBEMAIL> $$now\n" >> \ + $(DEBIAN)/changelog.new ; \ + cat $(DEBIAN)/changelog >> $(DEBIAN)/changelog.new; \ + mv $(DEBIAN)/changelog.new $(DEBIAN)/changelog + +compileselftests: + # a loop is needed here to fail on errors + for test in $(ubuntu_selftests); do \ + $(kmake) -C tools/testing/selftests TARGETS="$$test"; \ + done; + +runselftests: + $(kmake) -C tools/testing/selftests TARGETS="$(ubuntu_selftests)" run_tests --- linux-gcp-5.19.0.orig/debian/rules.d/2-binary-arch.mk +++ linux-gcp-5.19.0/debian/rules.d/2-binary-arch.mk @@ -0,0 +1,864 @@ +# We don't want make removing intermediary stamps +.SECONDARY : + +# Prepare the out-of-tree build directory +ifeq ($(do_full_source),true) +build_cd = cd $(builddir)/build-$*; # +build_O = +else +build_cd = +build_O = O=$(builddir)/build-$* +endif + +# TODO this is probably wrong, and should be using $(DEB_HOST_MULTIARCH) +shlibdeps_opts = $(if $(CROSS_COMPILE),-- -l$(CROSS_COMPILE:%-=/usr/%)/lib) + +debian/scripts/fix-filenames: debian/scripts/fix-filenames.c + $(CC) -o $@ $^ + +$(stampdir)/stamp-prepare-%: config-prepare-check-% + @echo Debug: $@ + @touch $@ +$(stampdir)/stamp-prepare-tree-%: target_flavour = $* +$(stampdir)/stamp-prepare-tree-%: $(commonconfdir)/config.common.ubuntu $(archconfdir)/config.common.$(arch) $(archconfdir)/config.flavour.% debian/scripts/fix-filenames + @echo Debug: $@ + install -d $(builddir)/build-$* + touch $(builddir)/build-$*/ubuntu-build + [ "$(do_full_source)" != 'true' ] && true || \ + rsync -a --exclude debian --exclude debian.master --exclude $(DEBIAN) * $(builddir)/build-$* + cat $(wordlist 1,3,$^) | sed -e 's/.*CONFIG_VERSION_SIGNATURE.*/CONFIG_VERSION_SIGNATURE="Ubuntu $(release)-$(revision)-$* $(raw_kernelversion)"/' > $(builddir)/build-$*/.config + [ "$(do_odm_drivers)" = 'true' ] && true || \ + sed -ie 's/.*CONFIG_UBUNTU_ODM_DRIVERS.*/# CONFIG_UBUNTU_ODM_DRIVERS is not set/' \ + $(builddir)/build-$*/.config + find $(builddir)/build-$* -name "*.ko" | xargs rm -f + $(build_cd) $(kmake) $(build_O) -j1 syncconfig prepare scripts + touch $@ + +# Used by developers as a shortcut to prepare a tree for compilation. +prepare-%: $(stampdir)/stamp-prepare-% + @echo Debug: $@ +# Used by developers to allow efficient pre-building without fakeroot. +build-%: $(stampdir)/stamp-install-% + @echo Debug: $@ + +# Do the actual build, including image and modules +$(stampdir)/stamp-build-%: target_flavour = $* +$(stampdir)/stamp-build-%: bldimg = $(call custom_override,build_image,$*) +$(stampdir)/stamp-build-%: $(stampdir)/stamp-prepare-% + @echo Debug: $@ build_image $(build_image) bldimg $(bldimg) + $(build_cd) $(kmake) $(build_O) $(conc_level) $(bldimg) modules $(if $(filter true,$(do_dtbs)),dtbs) + +ifneq ($(skipdbg),true) + # The target scripts_gdb is part of "all", so we need to call it manually + if grep -q CONFIG_GDB_SCRIPTS=y $(builddir)/build-$*/.config; then \ + $(build_cd) $(kmake) $(build_O) $(conc_level) scripts_gdb ; \ + fi +endif + + @touch $@ + +define build_dkms_sign = + $(shell set -x; if grep -q CONFIG_MODULE_SIG=y $(1)/.config; then + echo $(1)/scripts/sign-file $(MODHASHALGO) $(MODSECKEY) $(MODPUBKEY); + else + echo "-"; + fi + ) +endef +define build_dkms = + ARCH=$(build_arch) CROSS_COMPILE=$(CROSS_COMPILE) $(SHELL) $(DROOT)/scripts/dkms-build $(dkms_dir) $(abi_release)-$* '$(call build_dkms_sign,$(builddir)/build-$*)' $(1) $(2) $(3) $(4) $(5) +endef + +define install_control = + for which in $(3); \ + do \ + template="$(DROOT)/templates/$(2).$$which.in"; \ + script="$(DROOT)/$(1).$$which"; \ + sed -e 's/@abiname@/$(abi_release)/g' \ + -e 's/@localversion@/-$*/g' \ + -e 's/@image-stem@/$(instfile)/g' \ + <"$$template" >"$$script"; \ + done +endef + +# Ensure the directory prefix is exactly 100 characters long so pathnames are the +# exact same length in any binary files produced by the builds. These will be +# commonised later. +dkms_20d=.................... +dkms_100d=$(dkms_20d)$(dkms_20d)$(dkms_20d)$(dkms_20d)$(dkms_20d) +dkms_100c=$(shell echo '$(dkms_100d)' | sed -e 's/\./_/g') +define dkms_dir_prefix = +$(shell echo $(1)/$(dkms_100c) | \ + sed -e 's/\($(dkms_100d)\).*/\1/' -e 's/^\(.*\)....$$/\1dkms/') +endef + +# Install the finished build +$(stampdir)/stamp-install-%: pkgdir_bin = $(CURDIR)/debian/$(bin_pkg_name)-$* +$(stampdir)/stamp-install-%: pkgdir = $(CURDIR)/debian/$(mods_pkg_name)-$* +$(stampdir)/stamp-install-%: pkgdir_ex = $(CURDIR)/debian/$(mods_extra_pkg_name)-$* +$(stampdir)/stamp-install-%: pkgdir_bldinfo = $(CURDIR)/debian/$(bldinfo_pkg_name)-$* +$(stampdir)/stamp-install-%: bindoc = $(pkgdir)/usr/share/doc/$(bin_pkg_name)-$* +$(stampdir)/stamp-install-%: dbgpkgdir = $(CURDIR)/debian/$(bin_pkg_name)-$*-dbgsym +$(stampdir)/stamp-install-%: signingv = $(CURDIR)/debian/$(bin_pkg_name)-signing/$(release)-$(revision) +$(stampdir)/stamp-install-%: toolspkgdir = $(CURDIR)/debian/$(tools_flavour_pkg_name)-$* +$(stampdir)/stamp-install-%: cloudpkgdir = $(CURDIR)/debian/$(cloud_flavour_pkg_name)-$* +$(stampdir)/stamp-install-%: basepkg = $(hdrs_pkg_name) +$(stampdir)/stamp-install-%: indeppkg = $(indep_hdrs_pkg_name) +$(stampdir)/stamp-install-%: kernfile = $(call custom_override,kernel_file,$*) +$(stampdir)/stamp-install-%: instfile = $(call custom_override,install_file,$*) +$(stampdir)/stamp-install-%: hdrdir = $(CURDIR)/debian/$(basepkg)-$*/usr/src/$(basepkg)-$* +$(stampdir)/stamp-install-%: target_flavour = $* +$(stampdir)/stamp-install-%: MODHASHALGO=sha512 +$(stampdir)/stamp-install-%: MODSECKEY=$(builddir)/build-$*/certs/signing_key.pem +$(stampdir)/stamp-install-%: MODPUBKEY=$(builddir)/build-$*/certs/signing_key.x509 +$(stampdir)/stamp-install-%: build_dir=$(builddir)/build-$* +$(stampdir)/stamp-install-%: dkms_dir=$(call dkms_dir_prefix,$(builddir)/build-$*) +$(foreach _m,$(all_dkms_modules), \ + $(eval $$(stampdir)/stamp-install-%: enable_$(_m) = $$(filter true,$$(call custom_override,do_$(_m),$$*))) \ + $(eval $$(stampdir)/stamp-install-%: dkms_$(_m)_pkgdir = $$(CURDIR)/debian/$(dkms_$(_m)_pkg_name)-$$*) \ +) +$(stampdir)/stamp-install-%: dbgpkgdir_dkms = $(if $(filter true,$(skipdbg)),"",$(dbgpkgdir)/usr/lib/debug/lib/modules/$(abi_release)-$*/kernel) +$(stampdir)/stamp-install-%: $(stampdir)/stamp-build-% $(stampdir)/stamp-install-headers + @echo Debug: $@ kernel_file $(kernel_file) kernfile $(kernfile) install_file $(install_file) instfile $(instfile) + dh_testdir + dh_prep -p$(bin_pkg_name)-$* + dh_prep -p$(mods_pkg_name)-$* + dh_prep -p$(hdrs_pkg_name)-$* + $(foreach _m,$(all_standalone_dkms_modules), \ + $(if $(enable_$(_m)),dh_prep -p$(dkms_$(_m)_pkg_name)-$*;)\ + ) +ifneq ($(skipdbg),true) + dh_prep -p$(bin_pkg_name)-$*-dbgsym +endif +ifeq ($(do_extras_package),true) + dh_prep -p$(mods_extra_pkg_name)-$* +endif + + # The main image + # compress_file logic required because not all architectures + # generate a zImage automatically out of the box +ifeq ($(compress_file),) + install -m600 -D $(builddir)/build-$*/$(kernfile) \ + $(pkgdir_bin)/boot/$(instfile)-$(abi_release)-$* +else + install -d $(pkgdir_bin)/boot + gzip -c9v $(builddir)/build-$*/$(kernfile) > \ + $(pkgdir_bin)/boot/$(instfile)-$(abi_release)-$* + chmod 600 $(pkgdir_bin)/boot/$(instfile)-$(abi_release)-$* +endif + +ifeq ($(uefi_signed),true) + install -d $(signingv) + # gzipped kernel images must be decompressed for signing + if [[ "$(kernfile)" =~ \.gz$$ ]]; then \ + < $(pkgdir_bin)/boot/$(instfile)-$(abi_release)-$* \ + gunzip -cv > $(signingv)/$(instfile)-$(abi_release)-$*.efi; \ + cp -p --attributes-only $(pkgdir_bin)/boot/$(instfile)-$(abi_release)-$* \ + $(signingv)/$(instfile)-$(abi_release)-$*.efi; \ + echo "GZIP=1" >> $(signingv)/$(instfile)-$(abi_release)-$*.efi.vars; \ + else \ + cp -p $(pkgdir_bin)/boot/$(instfile)-$(abi_release)-$* \ + $(signingv)/$(instfile)-$(abi_release)-$*.efi; \ + fi +endif +ifeq ($(opal_signed),true) + install -d $(signingv) + cp -p $(pkgdir_bin)/boot/$(instfile)-$(abi_release)-$* \ + $(signingv)/$(instfile)-$(abi_release)-$*.opal; +endif +ifeq ($(sipl_signed),true) + install -d $(signingv) + cp -p $(pkgdir_bin)/boot/$(instfile)-$(abi_release)-$* \ + $(signingv)/$(instfile)-$(abi_release)-$*.sipl; +endif + + install -d $(pkgdir)/boot + install -m644 $(builddir)/build-$*/.config \ + $(pkgdir)/boot/config-$(abi_release)-$* + install -m600 $(builddir)/build-$*/System.map \ + $(pkgdir)/boot/System.map-$(abi_release)-$* + +ifeq ($(do_dtbs),true) + $(build_cd) $(kmake) $(build_O) $(conc_level) dtbs_install \ + INSTALL_DTBS_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree +endif + +ifeq ($(no_dumpfile),) + makedumpfile -g $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* \ + -x $(builddir)/build-$*/vmlinux + chmod 0600 $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* +endif + + $(build_cd) $(kmake) $(build_O) $(conc_level) modules_install $(vdso) \ + INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=$(pkgdir)/ \ + INSTALL_FW_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$* + + # + # Build module blacklists: + # - blacklist all watchdog drivers (LP:1432837) + # + install -d $(pkgdir)/lib/modprobe.d + echo "# Kernel supplied blacklist for $(src_pkg_name) $(abi_release)-$* $(arch)" \ + >$(pkgdir)/lib/modprobe.d/blacklist_$(src_pkg_name)_$(abi_release)-$*.conf + for conf in $(arch)-$* $(arch) common.conf; do \ + if [ -f $(DEBIAN)/modprobe.d/$$conf ]; then \ + echo "# modprobe.d/$$conf"; \ + cat $(DEBIAN)/modprobe.d/$$conf; \ + fi; \ + done >>$(pkgdir)/lib/modprobe.d/blacklist_$(src_pkg_name)_$(abi_release)-$*.conf + echo "# Autogenerated watchdog blacklist" \ + >>$(pkgdir)/lib/modprobe.d/blacklist_$(src_pkg_name)_$(abi_release)-$*.conf + ls -1 $(pkgdir)/lib/modules/$(abi_release)-$*/kernel/drivers/watchdog/ | \ + grep -v '^bcm2835_wdt$$' | \ + sed -e 's/^/blacklist /' -e 's/.ko$$//' | \ + sort -u \ + >>$(pkgdir)/lib/modprobe.d/blacklist_$(src_pkg_name)_$(abi_release)-$*.conf + +ifeq ($(do_extras_package),true) + # + # Remove all modules not in the inclusion list. + # + if [ -f $(DEBIAN)/control.d/$(target_flavour).inclusion-list ] ; then \ + /sbin/depmod -v -b $(pkgdir) $(abi_release)-$* | \ + sed -e "s@$(pkgdir)/lib/modules/$(abi_release)-$*/kernel/@@g" | \ + awk '{ print $$1 " " $$NF}' >$(build_dir)/module-inclusion.depmap; \ + mkdir -p $(pkgdir_ex)/lib/modules/$(abi_release)-$*; \ + mv $(pkgdir)/lib/modules/$(abi_release)-$*/kernel \ + $(pkgdir_ex)/lib/modules/$(abi_release)-$*/kernel; \ + $(SHELL) $(DROOT)/scripts/module-inclusion --master \ + $(pkgdir_ex)/lib/modules/$(abi_release)-$*/kernel \ + $(pkgdir)/lib/modules/$(abi_release)-$*/kernel \ + $(DEBIAN)/control.d/$(target_flavour).inclusion-list \ + $(build_dir)/module-inclusion.depmap 2>&1 | \ + tee $(target_flavour).inclusion-list.log; \ + /sbin/depmod -b $(pkgdir) -ea -F $(pkgdir)/boot/System.map-$(abi_release)-$* \ + $(abi_release)-$* 2>&1 |tee $(target_flavour).depmod.log; \ + if [ `grep -c 'unknown symbol' $(target_flavour).depmod.log` -gt 0 ]; then \ + echo "EE: Unresolved module dependencies in base package!"; \ + exit 1; \ + fi \ + fi +endif + +ifeq ($(no_dumpfile),) + makedumpfile -g $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* \ + -x $(builddir)/build-$*/vmlinux + chmod 0600 $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* +endif + rm -f $(pkgdir)/lib/modules/$(abi_release)-$*/build + rm -f $(pkgdir)/lib/modules/$(abi_release)-$*/source + + # Some initramfs-tools specific modules + install -d $(pkgdir)/lib/modules/$(abi_release)-$*/initrd + if [ -f $(pkgdir)/lib/modules/$(abi_release)-$*/kernel/drivers/video/vesafb.ko ]; then\ + $(LN) $(pkgdir)/lib/modules/$(abi_release)-$*/kernel/drivers/video/vesafb.ko \ + $(pkgdir)/lib/modules/$(abi_release)-$*/initrd/; \ + fi + + echo "interest linux-update-$(abi_release)-$*" >"$(DROOT)/$(bin_pkg_name)-$*.triggers" + install -d $(pkgdir_bin)/usr/lib/linux/triggers + $(call install_control,$(bin_pkg_name)-$*,image,postinst postrm preinst prerm) + install -d $(pkgdir)/usr/lib/linux/triggers + $(call install_control,$(mods_pkg_name)-$*,extra,postinst postrm) +ifeq ($(do_extras_package),true) + # Install the postinit/postrm scripts in the extras package. + if [ -f $(DEBIAN)/control.d/$(target_flavour).inclusion-list ] ; then \ + install -d $(pkgdir_ex)/usr/lib/linux/triggers; \ + $(call install_control,$(mods_extra_pkg_name)-$*,extra,postinst postrm); \ + fi +endif + $(foreach _m,$(all_standalone_dkms_modules), \ + $(if $(enable_$(_m)), \ + install -d $(dkms_$(_m)_pkgdir)/usr/lib/linux/triggers; \ + $(call install_control,$(dkms_$(_m)_pkg_name)-$*,extra,postinst postrm); \ + ) \ + ) + + # Install the full changelog. +ifeq ($(do_doc_package),true) + install -d $(bindoc) + cat $(DEBIAN)/changelog $(DEBIAN)/changelog.historical | \ + gzip -9 >$(bindoc)/changelog.Debian.old.gz + chmod 644 $(bindoc)/changelog.Debian.old.gz +endif + +ifneq ($(skipsub),true) + for sub in $($(*)_sub); do \ + if ! (TO=$$sub FROM=$* ABI_RELEASE=$(abi_release) $(SHELL) \ + $(DROOT)/scripts/sub-flavour); then exit 1; fi; \ + /sbin/depmod -b debian/$(bin_pkg_name)-$$sub \ + -ea -F debian/$(bin_pkg_name)-$$sub/boot/System.map-$(abi_release)-$* \ + $(abi_release)-$*; \ + $(call install_control,$(bin_pkg_name)--$$sub,image,postinst postrm preinst prerm); \ + done +endif + +ifneq ($(skipdbg),true) + # Debug image is simple + install -m644 -D $(builddir)/build-$*/vmlinux \ + $(dbgpkgdir)/usr/lib/debug/boot/vmlinux-$(abi_release)-$* + if [ -d $(builddir)/build-$*/scripts/gdb/linux ]; then \ + install -m644 -D $(builddir)/build-$*/vmlinux-gdb.py \ + $(dbgpkgdir)/usr/share/gdb/auto-load/boot/vmlinux-$(abi_release)-$*/vmlinuz-$(abi_release)-$*-gdb.py; \ + install -m644 -D $(builddir)/build-$*/scripts/gdb/linux/* \ + --target-directory=$(dbgpkgdir)/usr/share/gdb/auto-load/boot/vmlinux-$(abi_release)-$*/scripts/gdb/linux; \ + fi + $(build_cd) $(kmake) $(build_O) modules_install $(vdso) \ + INSTALL_MOD_PATH=$(dbgpkgdir)/usr/lib/debug + # Add .gnu_debuglink sections only after all/DKMS modules are built. + rm -f $(dbgpkgdir)/usr/lib/debug/lib/modules/$(abi_release)-$*/build + rm -f $(dbgpkgdir)/usr/lib/debug/lib/modules/$(abi_release)-$*/source + rm -f $(dbgpkgdir)/usr/lib/debug/lib/modules/$(abi_release)-$*/modules.* + rm -fr $(dbgpkgdir)/usr/lib/debug/lib/firmware +endif + + # The flavour specific headers image + # TODO: Would be nice if we didn't have to dupe the original builddir + install -d -m755 $(hdrdir) + cp $(builddir)/build-$*/.config $(hdrdir) + chmod 644 $(hdrdir)/.config + $(kmake) O=$(hdrdir) -j1 syncconfig prepare scripts + # Makefile may need per-arch-flavour CC settings, which are + # normally set via $(kmake) during build + rm -f $(hdrdir)/Makefile + cp -a $(indep_hdrdir)/Makefile $(hdrdir)/Makefile + sed -i 's|\(^HOSTCC = \)gcc$$|\1$(gcc)|' $(hdrdir)/Makefile + sed -i 's|\(^CC = $$(CROSS_COMPILE)\)gcc$$|\1$(gcc)|' $(hdrdir)/Makefile + # Quick check for successful substitutions + grep '^HOSTCC .*$(gcc)$$' $(hdrdir)/Makefile + grep '^CC .*$(gcc)$$' $(hdrdir)/Makefile + rm -rf $(hdrdir)/include2 $(hdrdir)/source + # We do not need the retpoline information. + find $(hdrdir) -name \*.o.ur-\* | xargs rm -f + # Copy over the compilation version. + cp "$(builddir)/build-$*/include/generated/compile.h" \ + "$(hdrdir)/include/generated/compile.h" + # Add UTS_UBUNTU_RELEASE_ABI since UTS_RELEASE is difficult to parse. + echo "#define UTS_UBUNTU_RELEASE_ABI $(abinum)" >> $(hdrdir)/include/generated/utsrelease.h + # powerpc kernel arch seems to need some .o files for external module linking. Add them in. +ifeq ($(build_arch),powerpc) + mkdir -p $(hdrdir)/arch/powerpc/lib + cp $(builddir)/build-$*/arch/powerpc/lib/*.o $(hdrdir)/arch/powerpc/lib +endif +ifeq ($(build_arch),s390) + if [ -n "$$(find $(builddir)/build-$*/arch/s390/lib/expoline -maxdepth 1 -name '*.o' -print -quit)" ]; then \ + mkdir -p $(hdrdir)/arch/s390/lib/expoline/; \ + cp $(builddir)/build-$*/arch/s390/lib/expoline/*.o $(hdrdir)/arch/s390/lib/expoline/; \ + fi +endif + # Copy over scripts/module.lds for building external modules + cp $(builddir)/build-$*/scripts/module.lds $(hdrdir)/scripts + # Copy over the new retpoline extractor. + cp scripts/ubuntu-retpoline-extract-one $(hdrdir)/scripts + # Script to symlink everything up + $(SHELL) $(DROOT)/scripts/link-headers "$(hdrdir)" "$(indeppkg)" "$*" + # The build symlink + install -d debian/$(basepkg)-$*/lib/modules/$(abi_release)-$* + $(LN) /usr/src/$(basepkg)-$* \ + debian/$(basepkg)-$*/lib/modules/$(abi_release)-$*/build + # And finally the symvers + install -m644 $(builddir)/build-$*/Module.symvers \ + $(hdrdir)/Module.symvers + + # Now the header scripts + $(call install_control,$(hdrs_pkg_name)-$*,headers,postinst) + + # At the end of the package prep, call the tests + DPKG_ARCH="$(arch)" KERN_ARCH="$(build_arch)" FLAVOUR="$*" \ + VERSION="$(abi_release)" REVISION="$(revision)" \ + PREV_REVISION="$(prev_revision)" ABI_NUM="$(abinum)" \ + PREV_ABI_NUM="$(prev_abinum)" BUILD_DIR="$(builddir)/build-$*" \ + INSTALL_DIR="$(pkgdir)" SOURCE_DIR="$(CURDIR)" \ + run-parts -v $(DROOT)/tests-build + + # + # Remove files which are generated at installation by postinst, + # except for modules.order and modules.builtin + # + # NOTE: need to keep this list in sync with postrm + # + mkdir $(pkgdir)/lib/modules/$(abi_release)-$*/_ + mv $(pkgdir)/lib/modules/$(abi_release)-$*/modules.order \ + $(pkgdir)/lib/modules/$(abi_release)-$*/_ + if [ -f $(pkgdir)/lib/modules/$(abi_release)-$*/modules.builtin ] ; then \ + mv $(pkgdir)/lib/modules/$(abi_release)-$*/modules.builtin \ + $(pkgdir)/lib/modules/$(abi_release)-$*/_; \ + fi + if [ -f $(pkgdir)/lib/modules/$(abi_release)-$*/modules.builtin.modinfo ] ; then \ + mv $(pkgdir)/lib/modules/$(abi_release)-$*/modules.builtin.modinfo \ + $(pkgdir)/lib/modules/$(abi_release)-$*/_; \ + fi + rm -f $(pkgdir)/lib/modules/$(abi_release)-$*/modules.* + mv $(pkgdir)/lib/modules/$(abi_release)-$*/_/* \ + $(pkgdir)/lib/modules/$(abi_release)-$* + rmdir $(pkgdir)/lib/modules/$(abi_release)-$*/_ + +ifeq ($(do_linux_tools),true) + # Create the linux-tools tool links + install -d $(toolspkgdir)/usr/lib/linux-tools/$(abi_release)-$* +ifeq ($(do_tools_usbip),true) + $(LN) ../../$(src_pkg_name)-tools-$(abi_release)/usbip $(toolspkgdir)/usr/lib/linux-tools/$(abi_release)-$* + $(LN) ../../$(src_pkg_name)-tools-$(abi_release)/usbipd $(toolspkgdir)/usr/lib/linux-tools/$(abi_release)-$* +endif +ifeq ($(do_tools_acpidbg),true) + $(LN) ../../$(src_pkg_name)-tools-$(abi_release)/acpidbg $(toolspkgdir)/usr/lib/linux-tools/$(abi_release)-$* +endif +ifeq ($(do_tools_cpupower),true) + $(LN) ../../$(src_pkg_name)-tools-$(abi_release)/cpupower $(toolspkgdir)/usr/lib/linux-tools/$(abi_release)-$* +endif +ifeq ($(do_tools_perf),true) + $(LN) ../../$(src_pkg_name)-tools-$(abi_release)/perf $(toolspkgdir)/usr/lib/linux-tools/$(abi_release)-$* +ifeq ($(do_tools_perf_jvmti),true) + $(LN) ../../$(src_pkg_name)-tools-$(abi_release)/libperf-jvmti.so $(toolspkgdir)/usr/lib/linux-tools/$(abi_release)-$* +endif +endif +ifeq ($(do_tools_bpftool),true) + $(LN) ../../$(src_pkg_name)-tools-$(abi_release)/bpftool $(toolspkgdir)/usr/lib/linux-tools/$(abi_release)-$* +endif +ifeq ($(do_tools_x86),true) + $(LN) ../../$(src_pkg_name)-tools-$(abi_release)/x86_energy_perf_policy $(toolspkgdir)/usr/lib/linux-tools/$(abi_release)-$* + $(LN) ../../$(src_pkg_name)-tools-$(abi_release)/turbostat $(toolspkgdir)/usr/lib/linux-tools/$(abi_release)-$* +endif +endif +ifeq ($(do_cloud_tools),true) +ifeq ($(do_tools_hyperv),true) + # Create the linux-hyperv tool links + install -d $(cloudpkgdir)/usr/lib/linux-tools/$(abi_release)-$* + $(LN) ../../$(src_pkg_name)-tools-$(abi_release)/hv_kvp_daemon $(cloudpkgdir)/usr/lib/linux-tools/$(abi_release)-$* + $(LN) ../../$(src_pkg_name)-tools-$(abi_release)/hv_vss_daemon $(cloudpkgdir)/usr/lib/linux-tools/$(abi_release)-$* + $(LN) ../../$(src_pkg_name)-tools-$(abi_release)/hv_fcopy_daemon $(cloudpkgdir)/usr/lib/linux-tools/$(abi_release)-$* + $(LN) ../../$(src_pkg_name)-tools-$(abi_release)/lsvmbus $(cloudpkgdir)/usr/lib/linux-tools/$(abi_release)-$* +endif +endif + + # Build a temporary "installed headers" directory. + install -d $(dkms_dir) $(dkms_dir)/headers $(dkms_dir)/build $(dkms_dir)/source + cp -rp "$(hdrdir)" "$(indep_hdrdir)" "$(dkms_dir)/headers" + + $(foreach _m,$(all_dkms_modules), \ + $(if $(enable_$(_m)), \ + $(call build_dkms,$(dkms_$(_m)_pkg_name)-$*,$(dkms_$(_m)_pkgdir)/lib/modules/$(abi_release)-$*/$(dkms_$(_m)_subdir),$(dbgpkgdir_dkms),$(_m),$(dkms_$(_m)_debpath)); \ + ) \ + ) + + +ifneq ($(skipdbg),true) + # Add .gnu_debuglink sections to each stripped .ko + # pointing to unstripped verson + find $(pkgdir) \ + $(if $(filter true,$(do_extras_package)),$(pkgdir_ex)) \ + -name '*.ko' | while read path_module ; do \ + module="/lib/modules/$${path_module#*/lib/modules/}"; \ + if [[ -f "$(dbgpkgdir)/usr/lib/debug/$$module" ]] ; then \ + while IFS= read -r -d '' signature < <(tail -c 28 "$$path_module"); do \ + break; \ + done; \ + $(CROSS_COMPILE)objcopy \ + --add-gnu-debuglink=$(dbgpkgdir)/usr/lib/debug/$$module \ + $$path_module; \ + if grep -q CONFIG_MODULE_SIG=y $(builddir)/build-$*/.config && \ + [ "$$signature" = $$'~Module signature appended~\n' ]; then \ + $(builddir)/build-$*/scripts/sign-file $(MODHASHALGO) \ + $(MODSECKEY) \ + $(MODPUBKEY) \ + $$path_module; \ + fi; \ + else \ + echo "WARNING: Missing debug symbols for module '$$module'."; \ + fi; \ + done +endif + + # Build the final ABI information. + install -d $(abidir) + sed -e 's/^\(.\+\)[[:space:]]\+\(.\+\)[[:space:]]\(.\+\)$$/\3 \2 \1/' \ + $(builddir)/build-$*/Module.symvers | sort > $(abidir)/$* + + # Build the final ABI modules information. + find $(pkgdir_bin) $(pkgdir) $(pkgdir_ex) -name \*.ko | \ + sed -e 's/.*\/\([^\/]*\)\.ko/\1/' | sort > $(abidir)/$*.modules + + # Build the final ABI built-in modules information. + if [ -f $(pkgdir)/lib/modules/$(abi_release)-$*/modules.builtin ] ; then \ + sed -e 's/.*\/\([^\/]*\)\.ko/\1/' $(pkgdir)/lib/modules/$(abi_release)-$*/modules.builtin | \ + sort > $(abidir)/$*.modules.builtin; \ + fi + + # Build the final ABI firmware information. + find $(pkgdir_bin) $(pkgdir) $(pkgdir_ex) -name \*.ko | \ + while read ko; do \ + /sbin/modinfo $$ko | grep ^firmware || true; \ + done | sort -u >$(abidir)/$*.fwinfo + + # Build the final ABI built-in firmware information. + if [ -f $(pkgdir)/lib/modules/$(abi_release)-$*/modules.builtin.modinfo ] ; then \ + cat $(pkgdir)/lib/modules/$(abi_release)-$*/modules.builtin.modinfo | \ + tr '\0' '\n' | sed -n 's/^.*firmware=/firmware: /p' | \ + sort -u > $(abidir)/$*.fwinfo.builtin; \ + fi + + # Build the final ABI compiler information. + ko=$$(find $(pkgdir_bin) $(pkgdir) $(pkgdir_ex) -name \*.ko | head -1); \ + readelf -p .comment "$$ko" | gawk ' \ + ($$1 == "[") { \ + printf("%s", $$3); \ + for (n=4; n<=NF; n++) { \ + printf(" %s", $$n); \ + } \ + print "" \ + }' | sort -u >$(abidir)/$*.compiler + + # Build the final ABI retpoline information. + if grep -q CONFIG_RETPOLINE=y $(builddir)/build-$*/.config; then \ + echo "# retpoline v1.0" >$(abidir)/$*.retpoline; \ + $(SHELL) $(DROOT)/scripts/retpoline-extract $(builddir)/build-$* $(CURDIR) | \ + sort >>$(abidir)/$*.retpoline; \ + else \ + echo "# RETPOLINE NOT ENABLED" >$(abidir)/$*.retpoline; \ + fi + + # Build the buildinfo package content. + install -d $(pkgdir_bldinfo)/usr/lib/linux/$(abi_release)-$* + install -m644 $(builddir)/build-$*/.config \ + $(pkgdir_bldinfo)/usr/lib/linux/$(abi_release)-$*/config + install -m644 $(abidir)/$* \ + $(pkgdir_bldinfo)/usr/lib/linux/$(abi_release)-$*/abi + install -m644 $(abidir)/$*.modules \ + $(pkgdir_bldinfo)/usr/lib/linux/$(abi_release)-$*/modules + install -m644 $(abidir)/$*.fwinfo \ + $(pkgdir_bldinfo)/usr/lib/linux/$(abi_release)-$*/fwinfo + install -m644 $(abidir)/$*.retpoline \ + $(pkgdir_bldinfo)/usr/lib/linux/$(abi_release)-$*/retpoline + install -m644 $(abidir)/$*.compiler \ + $(pkgdir_bldinfo)/usr/lib/linux/$(abi_release)-$*/compiler + if [ -f $(abidir)/$*.modules.builtin ] ; then \ + install -m644 $(abidir)/$*.modules.builtin \ + $(pkgdir_bldinfo)/usr/lib/linux/$(abi_release)-$*/modules.builtin; \ + fi + if [ -f $(abidir)/$*.fwinfo.builtin ] ; then \ + install -m644 $(abidir)/$*.fwinfo.builtin \ + $(pkgdir_bldinfo)/usr/lib/linux/$(abi_release)-$*/fwinfo.builtin; \ + fi + install -m644 $(DROOT)/canonical-certs.pem $(pkgdir_bldinfo)/usr/lib/linux/$(abi_release)-$*/canonical-certs.pem + install -m644 $(DROOT)/canonical-revoked-certs.pem $(pkgdir_bldinfo)/usr/lib/linux/$(abi_release)-$*/canonical-revoked-certs.pem + +ifneq ($(full_build),false) + # Clean out this flavours build directory. + rm -rf $(builddir)/build-$* +endif + @touch $@ + +headers_tmp := $(CURDIR)/debian/tmp-headers +headers_dir := $(CURDIR)/debian/linux-libc-dev + +hmake := $(MAKE) -C $(CURDIR) O=$(headers_tmp) \ + KERNELVERSION=$(abi_release) INSTALL_HDR_PATH=$(headers_tmp)/install \ + SHELL="$(SHELL)" ARCH=$(header_arch) + +install-arch-headers: + @echo Debug: $@ + dh_testdir + dh_testroot +ifeq ($(do_libc_dev_package),true) + dh_prep -plinux-libc-dev +endif + + rm -rf $(headers_tmp) + install -d $(headers_tmp) $(headers_dir)/usr/include/ + + $(hmake) $(defconfig) + mv $(headers_tmp)/.config $(headers_tmp)/.config.old + sed -e 's/^# \(CONFIG_MODVERSIONS\) is not set$$/\1=y/' \ + -e 's/.*CONFIG_LOCALVERSION_AUTO.*/# CONFIG_LOCALVERSION_AUTO is not set/' \ + $(headers_tmp)/.config.old > $(headers_tmp)/.config + $(hmake) syncconfig + $(hmake) headers_install + + ( cd $(headers_tmp)/install/include/ && \ + find . -name '.' -o -name '.*' -prune -o -print | \ + cpio -pvd --preserve-modification-time \ + $(headers_dir)/usr/include/ ) + mkdir $(headers_dir)/usr/include/$(DEB_HOST_MULTIARCH) + mv $(headers_dir)/usr/include/asm $(headers_dir)/usr/include/$(DEB_HOST_MULTIARCH)/ + + rm -rf $(headers_tmp) + +define dh_all + dh_installchangelogs -p$(1) + dh_installdocs -p$(1) + dh_compress -p$(1) + dh_fixperms -p$(1) -X/boot/ + dh_shlibdeps -p$(1) $(shlibdeps_opts) + dh_installdeb -p$(1) + dh_installdebconf -p$(1) + $(lockme) dh_gencontrol -p$(1) -- -Vlinux:rprovides='$(rprovides)' $(2) + dh_md5sums -p$(1) + dh_builddeb -p$(1) +endef +define newline + + +endef +define dh_all_inline + $(subst ${newline},; \${newline},$(call dh_all,$(1),$(2))) +endef + +binary-arch-headers: install-arch-headers + @echo Debug: $@ + dh_testdir + dh_testroot +ifeq ($(do_libc_dev_package),true) +ifeq ($(filter debian.master%,$(DEBIAN)),) + echo "non-master branch building linux-libc-dev, aborting" + exit 1 +endif + $(call dh_all,linux-libc-dev) +endif + +binary-%: pkgimg = $(bin_pkg_name)-$* +binary-%: pkgimg_mods = $(mods_pkg_name)-$* +binary-%: pkgimg_ex = $(mods_extra_pkg_name)-$* +binary-%: pkgdir_ex = $(CURDIR)/debian/$(extra_pkg_name)-$* +binary-%: pkgbldinfo = $(bldinfo_pkg_name)-$* +binary-%: pkghdr = $(hdrs_pkg_name)-$* +binary-%: dbgpkg = $(bin_pkg_name)-$*-dbgsym +binary-%: dbgpkgdir = $(CURDIR)/debian/$(bin_pkg_name)-$*-dbgsym +binary-%: pkgtools = $(tools_flavour_pkg_name)-$* +binary-%: pkgcloud = $(cloud_flavour_pkg_name)-$* +$(foreach _m,$(all_dkms_modules), \ + $(eval binary-%: enable_$(_m) = $$(filter true,$$(call custom_override,do_$(_m),$$*))) \ +) +binary-%: rprovides = $(foreach _m,$(all_built-in_dkms_modules),$(if $(enable_$(_m)),$(foreach _r,$(dkms_$(_m)_rprovides),$(_r)$(comma) ))) +binary-%: target_flavour = $* +binary-%: checks-% + @echo Debug: $@ + dh_testdir + dh_testroot + + $(call dh_all,$(pkgimg)) -- -Znone + $(call dh_all,$(pkgimg_mods)) + +ifeq ($(do_extras_package),true) + ifeq ($(ship_extras_package),false) + # If $(ship_extras_package) is explicitly set to false, then do not + # construct the linux-image-extra package; instead just log all of the + # "extra" modules which were pointlessly built yet won't be shipped. + find $(pkgdir_ex) -name '*.ko' | sort \ + | sed 's|^$(pkgdir_ex)/|NOT-SHIPPED |' \ + | tee -a $(target_flavour).not-shipped.log; + else + if [ -f $(DEBIAN)/control.d/$(target_flavour).inclusion-list ] ; then \ + $(call dh_all_inline,$(pkgimg_ex)); \ + fi + endif +endif + + $(foreach _m,$(all_standalone_dkms_modules), \ + $(if $(enable_$(_m)),$(call dh_all,$(dkms_$(_m)_pkg_name)-$*);)\ + ) + + $(call dh_all,$(pkgbldinfo)) + $(call dh_all,$(pkghdr)) + +ifneq ($(skipsub),true) + @set -e; for sub in $($(*)_sub); do \ + pkg=$(bin_pkg_name)-$$sub; \ + $(call dh_all_inline,$$pkg); \ + done +endif + +ifneq ($(skipdbg),true) + $(call dh_all,$(dbgpkg)) -- -Zxz + + # Hokay...here's where we do a little twiddling... + # Renaming the debug package prevents it from getting into + # the primary archive, and therefore prevents this very large + # package from being mirrored. It is instead, through some + # archive admin hackery, copied to http://ddebs.ubuntu.com. + # + mv ../$(dbgpkg)_$(release)-$(revision)_$(arch).deb \ + ../$(dbgpkg)_$(release)-$(revision)_$(arch).ddeb + set -e; \ + ( \ + $(lockme_cmd) 9 || exit 1; \ + if grep -qs '^Build-Debug-Symbols: yes$$' /CurrentlyBuilding; then \ + sed -i '/^$(dbgpkg)_/s/\.deb /.ddeb /' debian/files; \ + else \ + grep -v '^$(dbgpkg)_.*$$' debian/files > debian/files.new; \ + mv debian/files.new debian/files; \ + fi; \ + ) 9>$(lockme_file) + # Now, the package wont get into the archive, but it will get put + # into the debug system. +endif + +ifeq ($(do_linux_tools),true) + $(call dh_all,$(pkgtools)) +endif +ifeq ($(do_cloud_tools),true) + $(call dh_all,$(pkgcloud)) +endif + +ifneq ($(full_build),false) + # Clean out the debugging package source directory. + rm -rf $(dbgpkgdir) +endif + +# +# per-architecture packages +# +builddirpa = $(builddir)/tools-perarch + +$(stampdir)/stamp-prepare-perarch: + @echo Debug: $@ +ifeq ($(do_any_tools),true) + rm -rf $(builddirpa) + install -d $(builddirpa) + rsync -a --exclude debian --exclude debian.master --exclude $(DEBIAN) --exclude .git -a ./ $(builddirpa)/ +endif + touch $@ + +$(stampdir)/stamp-build-perarch: $(stampdir)/stamp-prepare-perarch install-arch-headers + @echo Debug: $@ +ifeq ($(do_linux_tools),true) +ifeq ($(do_tools_usbip),true) + chmod 755 $(builddirpa)/tools/usb/usbip/autogen.sh + cd $(builddirpa)/tools/usb/usbip && ./autogen.sh + chmod 755 $(builddirpa)/tools/usb/usbip/configure + cd $(builddirpa)/tools/usb/usbip && ./configure --prefix=$(builddirpa)/tools/usb/usbip/bin + cd $(builddirpa)/tools/usb/usbip && make install CFLAGS="-g -O2 -static" CROSS_COMPILE=$(CROSS_COMPILE) +endif +ifeq ($(do_tools_acpidbg),true) + cd $(builddirpa)/tools/power/acpi && make clean && make CFLAGS="-g -O2 -static -I$(builddirpa)/include" CROSS_COMPILE=$(CROSS_COMPILE) acpidbg +endif +ifeq ($(do_tools_cpupower),true) + # Allow for multiple installed versions of cpupower and libcpupower.so: + # Override LIB_MIN in order to to generate a versioned .so named + # libcpupower.so.$(abi_release) and link cpupower with that. + make -C $(builddirpa)/tools/power/cpupower \ + CROSS_COMPILE=$(CROSS_COMPILE) \ + CROSS=$(CROSS_COMPILE) \ + LIB_MIN=$(abi_release) CPUFREQ_BENCH=false +endif +ifeq ($(do_tools_perf),true) + cd $(builddirpa) && $(kmake) $(defconfig) + mv $(builddirpa)/.config $(builddirpa)/.config.old + sed -e 's/^# \(CONFIG_MODVERSIONS\) is not set$$/\1=y/' \ + -e 's/.*CONFIG_LOCALVERSION_AUTO.*/# CONFIG_LOCALVERSION_AUTO is not set/' \ + $(builddirpa)/.config.old > $(builddirpa)/.config + cd $(builddirpa) && $(kmake) syncconfig + cd $(builddirpa) && $(kmake) prepare + cd $(builddirpa)/tools/perf && \ + $(kmake) prefix=/usr HAVE_NO_LIBBFD=1 HAVE_CPLUS_DEMANGLE_SUPPORT=1 CROSS_COMPILE=$(CROSS_COMPILE) NO_LIBPYTHON=1 NO_LIBPERL=1 WERROR=0 +endif +ifeq ($(do_tools_bpftool),true) + $(kmake) CROSS_COMPILE=$(CROSS_COMPILE) -C $(builddirpa)/tools/bpf/bpftool +endif +ifeq ($(do_tools_x86),true) + cd $(builddirpa)/tools/power/x86/x86_energy_perf_policy && make CROSS_COMPILE=$(CROSS_COMPILE) + cd $(builddirpa)/tools/power/x86/turbostat && make CROSS_COMPILE=$(CROSS_COMPILE) +endif +endif +ifeq ($(do_cloud_tools),true) +ifeq ($(do_tools_hyperv),true) + cd $(builddirpa)/tools/hv && make CFLAGS="-I$(headers_dir)/usr/include -I$(headers_dir)/usr/include/$(DEB_HOST_MULTIARCH)" CROSS_COMPILE=$(CROSS_COMPILE) hv_kvp_daemon hv_vss_daemon hv_fcopy_daemon +endif +endif + @touch $@ + +install-perarch: toolspkgdir = $(CURDIR)/debian/$(tools_pkg_name) +install-perarch: cloudpkgdir = $(CURDIR)/debian/$(cloud_pkg_name) +install-perarch: $(stampdir)/stamp-build-perarch + @echo Debug: $@ + # Add the tools. +ifeq ($(do_linux_tools),true) + install -d $(toolspkgdir)/usr/lib + install -d $(toolspkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release) +ifeq ($(do_tools_usbip),true) + install -m755 $(builddirpa)/tools/usb/usbip/bin/sbin/usbip \ + $(toolspkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release) + install -m755 $(builddirpa)/tools/usb/usbip/bin/sbin/usbipd \ + $(toolspkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release) +endif +ifeq ($(do_tools_acpidbg),true) + install -m755 $(builddirpa)/tools/power/acpi/acpidbg \ + $(toolspkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release) +endif +ifeq ($(do_tools_cpupower),true) + install -m755 $(builddirpa)/tools/power/cpupower/cpupower \ + $(toolspkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release) + # Install only the full versioned libcpupower.so.$(abi_release), not + # the usual symlinks to it. + install -m644 $(builddirpa)/tools/power/cpupower/libcpupower.so.$(abi_release) \ + $(toolspkgdir)/usr/lib/ +endif +ifeq ($(do_tools_perf),true) + install -m755 $(builddirpa)/tools/perf/perf $(toolspkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release) +ifeq ($(do_tools_perf_jvmti),true) + install -m755 $(builddirpa)/tools/perf/libperf-jvmti.so $(toolspkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release) +endif +endif +ifeq ($(do_tools_bpftool),true) + install -m755 $(builddirpa)/tools/bpf/bpftool/bpftool $(toolspkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release) +endif +ifeq ($(do_tools_x86),true) + install -m755 $(builddirpa)/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy \ + $(toolspkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release) + install -m755 $(builddirpa)/tools/power/x86/turbostat/turbostat \ + $(toolspkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release) +endif +endif +ifeq ($(do_cloud_tools),true) +ifeq ($(do_tools_hyperv),true) + install -d $(cloudpkgdir)/usr/lib + install -d $(cloudpkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release) + install -m755 $(builddirpa)/tools/hv/hv_kvp_daemon \ + $(cloudpkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release) + install -m755 $(builddirpa)/tools/hv/hv_vss_daemon \ + $(cloudpkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release) + install -m755 $(builddirpa)/tools/hv/hv_fcopy_daemon \ + $(cloudpkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release) + install -m755 $(builddirpa)/tools/hv/lsvmbus \ + $(cloudpkgdir)/usr/lib/$(src_pkg_name)-tools-$(abi_release) +endif +endif + +binary-perarch: toolspkg = $(tools_pkg_name) +binary-perarch: cloudpkg = $(cloud_pkg_name) +binary-perarch: install-perarch + @echo Debug: $@ +ifeq ($(do_linux_tools),true) + $(call dh_all,$(toolspkg)) +endif +ifeq ($(do_cloud_tools),true) + $(call dh_all,$(cloudpkg)) +endif + +binary-debs: signing = $(CURDIR)/debian/$(bin_pkg_name)-signing +binary-debs: signingv = $(CURDIR)/debian/$(bin_pkg_name)-signing/$(release)-$(revision) +binary-debs: signing_tar = $(src_pkg_name)_$(release)-$(revision)_$(arch).tar.gz +binary-debs: binary-perarch $(addprefix binary-,$(flavours)) + @echo Debug: $@ +ifeq ($(any_signed),true) + install -d $(signingv)/control + { echo "tarball"; } >$(signingv)/control/options + cd $(signing) && tar czvf ../../../$(signing_tar) . + dpkg-distaddfile $(signing_tar) raw-signing - +endif + +build-arch-deps-$(do_flavour_image_package) += $(addprefix $(stampdir)/stamp-install-,$(flavours)) +build-arch: $(build-arch-deps-true) + @echo Debug: $@ + +ifeq ($(AUTOBUILD),) +binary-arch-deps-$(do_flavour_image_package) += binary-debs +else +binary-arch-deps-$(do_flavour_image_package) = binary-debs +endif +binary-arch-deps-$(do_libc_dev_package) += binary-arch-headers +ifneq ($(do_common_headers_indep),true) +binary-arch-deps-$(do_flavour_header_package) += binary-headers +endif +binary-arch: $(binary-arch-deps-true) + @echo Debug: $@ + --- linux-gcp-5.19.0.orig/debian/rules.d/3-binary-indep.mk +++ linux-gcp-5.19.0/debian/rules.d/3-binary-indep.mk @@ -0,0 +1,232 @@ +build-indep: + @echo Debug: $@ + +# The binary-indep dependency chain is: +# +# install-headers <- install-doc <- install-source <- install-tools <- install-indep <- binary-indep +# install-headers <- binary-headers +# +indep_hdrpkg = $(indep_hdrs_pkg_name) +indep_hdrdir = $(CURDIR)/debian/$(indep_hdrpkg)/usr/src/$(indep_hdrpkg) +$(stampdir)/stamp-install-headers: $(stampdir)/stamp-prepare-indep + @echo Debug: $@ + dh_testdir + +ifeq ($(do_flavour_header_package),true) + install -d $(indep_hdrdir) + find . -path './debian' -prune -o -path './$(DEBIAN)' -prune \ + -o -path './include/*' -prune \ + -o -path './scripts/*' -prune -o -type f \ + \( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Kbuild*' -o \ + -name '*.sh' -o -name '*.pl' -o -name '*.lds' \) \ + -print | cpio -pd --preserve-modification-time $(indep_hdrdir) + cp -a scripts include $(indep_hdrdir) + (find arch -name include -type d -print | \ + xargs -n1 -i: find : -type f) | \ + cpio -pd --preserve-modification-time $(indep_hdrdir) +endif + @touch $@ + +docpkg = $(doc_pkg_name) +docdir = $(CURDIR)/debian/$(docpkg)/usr/share/doc/$(docpkg) +install-doc: $(stampdir)/stamp-prepare-indep + @echo Debug: $@ +ifeq ($(do_doc_package),true) + dh_testdir + dh_testroot + + install -d $(docdir) +ifeq ($(do_doc_package_content),true) + # First the html docs. We skip these for autobuilds + if [ -z "$(AUTOBUILD)" ]; then \ + install -d $(docdir)/$(doc_pkg_name)-tmp; \ + $(kmake) O=$(docdir)/$(doc_pkg_name)-tmp htmldocs; \ + install -d $(docdir)/html; \ + rsync -aL $(docdir)/$(doc_pkg_name)-tmp/Documentation/output/ \ + $(docdir)/html/; \ + rm -rf $(docdir)/$(doc_pkg_name)-tmp; \ + fi +endif + # Copy the rest + cp -a Documentation/* $(docdir) + find $(docdir) -name .gitignore | xargs rm -f +endif + +srcpkg = linux-source-$(release) +srcdir = $(CURDIR)/debian/$(srcpkg)/usr/src/$(srcpkg) +balldir = $(CURDIR)/debian/$(srcpkg)/usr/src/$(srcpkg)/$(srcpkg) +install-source: $(stampdir)/stamp-prepare-indep + @echo Debug: $@ +ifeq ($(do_source_package),true) + + install -d $(srcdir) +ifeq ($(do_source_package_content),true) + find . -path './debian' -prune -o -path './$(DEBIAN)' -prune -o \ + -path './.*' -prune -o -print | \ + cpio -pd --preserve-modification-time $(balldir) + (cd $(srcdir); tar cf - $(srcpkg)) | bzip2 -9c > \ + $(srcdir)/$(srcpkg).tar.bz2 + rm -rf $(balldir) + find './debian' './$(DEBIAN)' \ + -path './debian/linux-*' -prune -o \ + -path './debian/$(src_pkg_name)-*' -prune -o \ + -path './debian/build' -prune -o \ + -path './debian/files' -prune -o \ + -path './debian/stamps' -prune -o \ + -path './debian/tmp' -prune -o \ + -path './$(DEBIAN)/__abi.current' -prune -o \ + -print | \ + cpio -pd --preserve-modification-time $(srcdir) + $(LN) $(srcpkg)/$(srcpkg).tar.bz2 $(srcdir)/.. +endif +endif + +install-tools: toolspkg = $(tools_common_pkg_name) +install-tools: toolsbin = $(CURDIR)/debian/$(toolspkg)/usr/bin +install-tools: toolssbin = $(CURDIR)/debian/$(toolspkg)/usr/sbin +install-tools: toolsman = $(CURDIR)/debian/$(toolspkg)/usr/share/man +install-tools: toolsbashcomp = $(CURDIR)/debian/$(toolspkg)/usr/share/bash-completion/completions +install-tools: hosttoolspkg = $(hosttools_pkg_name) +install-tools: hosttoolsbin = $(CURDIR)/debian/$(hosttoolspkg)/usr/bin +install-tools: hosttoolsman = $(CURDIR)/debian/$(hosttoolspkg)/usr/share/man +install-tools: hosttoolssystemd = $(CURDIR)/debian/$(hosttoolspkg)/lib/systemd/system +install-tools: cloudpkg = $(cloud_common_pkg_name) +install-tools: cloudbin = $(CURDIR)/debian/$(cloudpkg)/usr/bin +install-tools: cloudsbin = $(CURDIR)/debian/$(cloudpkg)/usr/sbin +install-tools: cloudman = $(CURDIR)/debian/$(cloudpkg)/usr/share/man +install-tools: $(stampdir)/stamp-prepare-indep $(stampdir)/stamp-build-perarch + @echo Debug: $@ + +ifeq ($(do_tools_common),true) + rm -rf $(builddir)/tools + install -d $(builddir)/tools + for i in *; do $(LN) $(CURDIR)/$$i $(builddir)/tools/; done + rm $(builddir)/tools/tools + rsync -a tools/ $(builddir)/tools/tools/ + + install -d $(toolsbin) + install -d $(toolssbin) + install -d $(toolsman)/man1 + install -d $(toolsman)/man8 + install -d $(toolsbashcomp) + + install -m755 debian/tools/generic $(toolsbin)/usbip + install -m755 debian/tools/generic $(toolsbin)/usbipd + install -m644 $(CURDIR)/tools/usb/usbip/doc/*.8 $(toolsman)/man1/ + + install -m755 debian/tools/generic $(toolsbin)/cpupower + install -m644 $(CURDIR)/tools/power/cpupower/man/*.1 $(toolsman)/man1/ + + install -m755 debian/tools/generic $(toolsbin)/perf + + install -m755 debian/tools/generic $(toolssbin)/bpftool + make -C $(builddir)/tools/tools/bpf/bpftool doc + install -m644 $(builddir)/tools/tools/bpf/bpftool/Documentation/*.8 \ + $(toolsman)/man8 + install -m644 $(builddir)/tools/tools/bpf/bpftool/bash-completion/bpftool \ + $(toolsbashcomp) + + install -m755 debian/tools/generic $(toolsbin)/x86_energy_perf_policy + install -m755 debian/tools/generic $(toolsbin)/turbostat + + cd $(builddir)/tools/tools/perf && make man + install -m644 $(builddir)/tools/tools/perf/Documentation/*.1 \ + $(toolsman)/man1 + + install -m644 $(CURDIR)/tools/power/x86/x86_energy_perf_policy/*.8 $(toolsman)/man8 + install -m644 $(CURDIR)/tools/power/x86/turbostat/*.8 $(toolsman)/man8 + +ifeq ($(do_cloud_tools),true) +ifeq ($(do_tools_hyperv),true) + install -d $(cloudsbin) + install -m755 debian/tools/generic $(cloudsbin)/hv_kvp_daemon + install -m755 debian/tools/generic $(cloudsbin)/hv_vss_daemon + install -m755 debian/tools/generic $(cloudsbin)/hv_fcopy_daemon + install -m755 debian/tools/generic $(cloudsbin)/lsvmbus + install -m755 debian/cloud-tools/hv_get_dhcp_info $(cloudsbin) + install -m755 debian/cloud-tools/hv_get_dns_info $(cloudsbin) + install -m755 debian/cloud-tools/hv_set_ifconfig $(cloudsbin) + + install -d $(cloudman)/man8 + install -m644 $(CURDIR)/tools/hv/*.8 $(cloudman)/man8 +endif +endif + +ifeq ($(do_tools_acpidbg),true) + install -m755 debian/tools/generic $(toolsbin)/acpidbg +endif + +endif + +ifeq ($(do_tools_host),true) + install -d $(hosttoolsbin) + install -d $(hosttoolsman)/man1 + install -d $(hosttoolssystemd) + + install -m 755 $(CURDIR)/tools/kvm/kvm_stat/kvm_stat $(hosttoolsbin)/ + install -m 644 $(CURDIR)/tools/kvm/kvm_stat/kvm_stat.service \ + $(hosttoolssystemd)/ + + cd $(builddir)/tools/tools/kvm/kvm_stat && make man + install -m644 $(builddir)/tools/tools/kvm/kvm_stat/*.1 \ + $(hosttoolsman)/man1 +endif + +$(stampdir)/stamp-prepare-indep: + @echo Debug: $@ + dh_prep -i + @touch $@ + +install-indep: $(stampdir)/stamp-install-headers install-doc install-source install-tools + @echo Debug: $@ + +# This is just to make it easy to call manually. Normally done in +# binary-indep target during builds. +binary-headers: $(stampdir)/stamp-prepare-indep $(stampdir)/stamp-install-headers + @echo Debug: $@ + dh_installchangelogs -p$(indep_hdrpkg) + dh_installdocs -p$(indep_hdrpkg) + dh_compress -p$(indep_hdrpkg) + dh_fixperms -p$(indep_hdrpkg) + dh_installdeb -p$(indep_hdrpkg) + $(lockme) dh_gencontrol -p$(indep_hdrpkg) + dh_md5sums -p$(indep_hdrpkg) + dh_builddeb -p$(indep_hdrpkg) + +binary-indep: cloudpkg = $(cloud_common_pkg_name) +binary-indep: hosttoolspkg = $(hosttools_pkg_name) +binary-indep: install-indep + @echo Debug: $@ + dh_installchangelogs -i + dh_installdocs -i + dh_compress -i + dh_fixperms -i +ifeq ($(do_tools_common),true) +ifeq ($(do_cloud_tools),true) +ifeq ($(do_tools_hyperv),true) + dh_installinit -p$(cloudpkg) -n --name hv-kvp-daemon + dh_installinit -p$(cloudpkg) -n --name hv-vss-daemon + dh_installinit -p$(cloudpkg) -n --name hv-fcopy-daemon + dh_installudev -p$(cloudpkg) -n --name hv-kvp-daemon + dh_installudev -p$(cloudpkg) -n --name hv-vss-daemon + dh_installudev -p$(cloudpkg) -n --name hv-fcopy-daemon + dh_systemd_enable -p$(cloudpkg) + dh_installinit -p$(cloudpkg) -o --name hv-kvp-daemon + dh_installinit -p$(cloudpkg) -o --name hv-vss-daemon + dh_installinit -p$(cloudpkg) -o --name hv-fcopy-daemon + dh_systemd_start -p$(cloudpkg) +endif + # Keep intel_sgx service disabled by default, so add it after dh_systemd_enable + # and dh_systemd_start are called: + dh_installinit -p$(cloudpkg) --no-start --no-enable --name intel-sgx-load-module +endif +endif +ifeq ($(do_tools_host),true) + # Keep kvm_stat.service disabled by default (after dh_systemd_enable + # and dh_systemd_start: + dh_installinit -p$(hosttoolspkg) --no-enable --no-start --name kvm_stat +endif + dh_installdeb -i + $(lockme) dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i --- linux-gcp-5.19.0.orig/debian/rules.d/4-checks.mk +++ linux-gcp-5.19.0/debian/rules.d/4-checks.mk @@ -0,0 +1,35 @@ +# Check ABI for package against last release (if not same abinum) +abi-check-%: $(stampdir)/stamp-install-% + @echo Debug: $@ + @perl -f $(DROOT)/scripts/abi-check "$*" "$(prev_abinum)" "$(abinum)" \ + "$(prev_abidir)" "$(abidir)" "$(skipabi)" + +# Check the module list against the last release (always) +module-check-%: $(stampdir)/stamp-install-% + @echo Debug: $@ + $(DROOT)/scripts/module-check "$*" \ + "$(prev_abidir)" "$(abidir)" $(skipmodule) + +# Check the signature of staging modules +module-signature-check-%: $(stampdir)/stamp-install-% + @echo Debug: $@ + $(DROOT)/scripts/module-signature-check "$*" \ + "$(DROOT)/$(mods_pkg_name)-$*" \ + "$(DROOT)/$(mods_extra_pkg_name)-$*" + +# Check the reptoline jmp/call functions against the last release. +retpoline-check-%: $(stampdir)/stamp-install-% + @echo Debug: $@ + $(SHELL) $(DROOT)/scripts/retpoline-check "$*" \ + "$(prev_abidir)" "$(abidir)" "$(skipretpoline)" "$(builddir)/build-$*" + +checks-%: module-check-% module-signature-check-% abi-check-% retpoline-check-% + @echo Debug: $@ + +# Check the config against the known options list. +config-prepare-check-%: $(stampdir)/stamp-prepare-tree-% + @echo Debug: $@ + @perl -f $(DROOT)/scripts/config-check \ + $(builddir)/build-$*/.config "$(arch)" "$*" "$(commonconfdir)" \ + "$(skipconfig)" "$(do_enforce_all)" + --- linux-gcp-5.19.0.orig/debian/scripts/abi-check +++ linux-gcp-5.19.0/debian/scripts/abi-check @@ -0,0 +1,210 @@ +#!/usr/bin/perl -w + +my $flavour = shift; +my $prev_abinum = shift; +my $abinum = shift; +my $prev_abidir = shift; +my $abidir = shift; +my $skipabi = shift; + +my $fail_exit = 1; +my $EE = "EE:"; +my $errors = 0; +my $abiskip = 0; + +my $count; + +print "II: Checking ABI for $flavour...\n"; + +if (-f "$prev_abidir/ignore" + or -f "$prev_abidir/$flavour.ignore" or "$skipabi" eq "true") { + print "WW: Explicitly asked to ignore ABI, running in no-fail mode\n"; + $fail_exit = 0; + $abiskip = 1; + $EE = "WW:"; +} + +if ($prev_abinum != $abinum) { + print "II: Different ABI's, running in no-fail mode\n"; + $fail_exit = 0; + $EE = "WW:"; +} + +if (not -f "$abidir/$flavour" or not -f "$prev_abidir/$flavour") { + print "EE: Previous or current ABI file missing!\n"; + print " $abidir/$flavour\n" if not -f "$abidir/$flavour"; + print " $prev_abidir/$flavour\n" if not -f "$prev_abidir/$flavour"; + + # Exit if the ABI files are missing, but return status based on whether + # skip ABI was indicated. + if ("$abiskip" eq "1") { + exit(0); + } else { + exit(1); + } +} + +my %symbols; +my %symbols_ignore; +my %modules_ignore; +my %module_syms; + +# See if we have any ignores +my $ignore = 0; +print " Reading symbols/modules to ignore..."; + +for $file ("$prev_abidir/../blacklist") { + if (-f $file) { + open(IGNORE, "< $file") or + die "Could not open $file"; + while () { + chomp; + if ($_ =~ m/M: (.*)/) { + $modules_ignore{$1} = 1; + } else { + $symbols_ignore{$_} = 1; + } + $ignore++; + } + close(IGNORE); + } +} +print "read $ignore symbols/modules.\n"; + +sub is_ignored($$) { + my ($mod, $sym) = @_; + + die "Missing module name in is_ignored()" if not defined($mod); + die "Missing symbol name in is_ignored()" if not defined($sym); + + if (defined($symbols_ignore{$sym}) or defined($modules_ignore{$mod})) { + return 1; + } + return 0; +} + +# Read new syms first +print " Reading new symbols ($abinum)..."; +$count = 0; +open(NEW, "< $abidir/$flavour") or + die "Could not open $abidir/$flavour"; +while () { + chomp; + m/^(\S+)\s(.+)\s(0x[0-9a-f]+)\s(.+)$/; + $symbols{$4}{'type'} = $1; + $symbols{$4}{'loc'} = $2; + $symbols{$4}{'hash'} = $3; + $module_syms{$2} = 0; + $count++; +} +close(NEW); +print "read $count symbols.\n"; + +# Now the old symbols, checking for missing ones +print " Reading old symbols ($prev_abinum)..."; +$count = 0; +open(OLD, "< $prev_abidir/$flavour") or + die "Could not open $prev_abidir/$flavour"; +while () { + chomp; + m/^(\S+)\s(.+)\s(0x[0-9a-f]+)\s(.+)$/; + $symbols{$4}{'old_type'} = $1; + $symbols{$4}{'old_loc'} = $2; + $symbols{$4}{'old_hash'} = $3; + $count++; +} +close(OLD); + +print "read $count symbols.\n"; + +print "II: Checking for missing symbols in new ABI..."; +$count = 0; +foreach $sym (keys(%symbols)) { + if (!defined($symbols{$sym}{'type'})) { + print "\n" if not $count; + printf(" MISS : %s%s\n", $sym, + is_ignored($symbols{$sym}{'old_loc'}, $sym) ? " (ignored)" : ""); + $count++ if !is_ignored($symbols{$sym}{'old_loc'}, $sym); + } +} +print " " if $count; +print "found $count missing symbols\n"; +if ($count) { + print "$EE Symbols gone missing (what did you do!?!)\n"; + $errors++; +} + + +print "II: Checking for new symbols in new ABI..."; +$count = 0; +foreach $sym (keys(%symbols)) { + if (!defined($symbols{$sym}{'old_type'})) { + print "\n" if not $count; + print " NEW : $sym\n"; + $count++; + } +} +print " " if $count; +print "found $count new symbols\n"; +if ($count and $prev_abinum == $abinum) { + print "WW: Found new symbols within same ABI. Not recommended\n"; +} + +print "II: Checking for changes to ABI...\n"; +$count = 0; +my $moved = 0; +my $changed_type = 0; +my $changed_hash = 0; +foreach $sym (keys(%symbols)) { + if (!defined($symbols{$sym}{'old_type'}) or + !defined($symbols{$sym}{'type'})) { + next; + } + + # Changes in location don't hurt us, but log it anyway + if ($symbols{$sym}{'loc'} ne $symbols{$sym}{'old_loc'}) { + printf(" MOVE : %-40s : %s => %s\n", $sym, $symbols{$sym}{'old_loc'}, + $symbols{$sym}{'loc'}); + $moved++; + } + + # Changes to export type are only bad if new type isn't + # EXPORT_SYMBOL. Changing things to GPL are bad. + if ($symbols{$sym}{'type'} ne $symbols{$sym}{'old_type'}) { + printf(" TYPE : %-40s : %s => %s%s\n", $sym, $symbols{$sym}{'old_type'}. + $symbols{$sym}{'type'}, is_ignored($symbols{$sym}{'loc'}, $sym) + ? " (ignored)" : ""); + $changed_type++ if $symbols{$sym}{'type'} ne "EXPORT_SYMBOL" + and !is_ignored($symbols{$sym}{'loc'}, $sym); + } + + # Changes to the hash are always bad + if ($symbols{$sym}{'hash'} ne $symbols{$sym}{'old_hash'}) { + printf(" HASH : %-40s : %s => %s%s\n", $sym, $symbols{$sym}{'old_hash'}, + $symbols{$sym}{'hash'}, is_ignored($symbols{$sym}{'loc'}, $sym) + ? " (ignored)" : ""); + $changed_hash++ if !is_ignored($symbols{$sym}{'loc'}, $sym); + $module_syms{$symbols{$sym}{'loc'}}++; + } +} + +print "WW: $moved symbols changed location\n" if $moved; +print "$EE $changed_type symbols changed export type and weren't ignored\n" if $changed_type; +print "$EE $changed_hash symbols changed hash and weren't ignored\n" if $changed_hash; + +$errors++ if $changed_hash or $changed_type; +if ($changed_hash) { + print "II: Module hash change summary...\n"; + foreach $mod (sort { $module_syms{$b} <=> $module_syms{$a} } keys %module_syms) { + next if ! $module_syms{$mod}; + printf(" %-40s: %d\n", $mod, $module_syms{$mod}); + } +} + +print "II: Done\n"; + +if ($errors) { + exit($fail_exit); +} else { + exit(0); +} --- linux-gcp-5.19.0.orig/debian/scripts/config-check +++ linux-gcp-5.19.0/debian/scripts/config-check @@ -0,0 +1,163 @@ +#!/usr/bin/perl +# +# check-config -- check the current config for issues +# +use strict; +use File::Basename; +use File::Spec; + +my $P = 'check-config'; + +my $test = -1; +if ($ARGV[0] eq '--test') { + $test = $ARGV[1] + 0; +} elsif ($#ARGV != 5) { + die "Usage: $P \n"; +} + +my ($configfile, $arch, $flavour, $commonconfig, $warn_only, $enforce_all) = @ARGV; + +my %values = (); + +# If we are in overridden then still perform the checks and emit the messages +# but do not return failure. Those items marked FATAL will alway trigger +# failure. +my $fail_exit = 1; +$fail_exit = 0 if ($warn_only eq 'true' || $warn_only eq '1'); +my $exit_val = 0; + +$enforce_all = 0 if $enforce_all eq "no" or $enforce_all eq "false"; + +# Load up the current configuration values -- FATAL if this fails +print "$P: $configfile: loading config\n"; +open(CONFIG, "<$configfile") || die "$P: $configfile: open failed -- $! -- aborting\n"; +while () { + # Pull out values. + /^#*\s*(CONFIG_\w+)[\s=](.*)$/ or next; + if ($2 eq 'is not set') { + $values{$1} = 'n'; + } else { + $values{$1} = $2; + } +} +close(CONFIG); + +sub read_annotations { + my ($filename) = @_; + my %annot; + my $form = 1; + my ($config, $value, $options); + + # Keep track of the configs that shouldn't be appended because + # they were include_annot from another annotations file. + # That's a hash of undefs, aka a set. + my %noappend; + + print "$P: $filename loading annotations\n"; + open(my $fd, "<$filename") || + die "$P: $filename: open failed -- $! -- aborting\n"; + while (<$fd>) { + if (/^# FORMAT: (\S+)/) { + die "$P: $1: unknown annotations format\n" if ($1 != 2 && $1 != 3); + $form = $1; + } + + # Format #3 adds the include directive on top of format #2: + if ($form == 3 && /^\s*include(\s|$)/) { + # Include quoted or unquoted files: + if (/^\s*include\s+"(.*)"\s*$/ || /^\s*include\s+(.*)$/) { + # The include is relative to the current file + my $include_filename = File::Spec->join(dirname($filename), $1); + # Append the include files + my %include_annot = read_annotations($include_filename); + %annot = ( %annot, %include_annot ); + # And marked them to not be appended: + my %included_noappend; + # Discard the values and keep only the keys + @included_noappend{keys %include_annot} = (); + %noappend = ( %noappend, %included_noappend ); + next; + } else { + die "$P: Invalid include: $_"; + } + } + + /^#/ && next; + chomp; + /^$/ && next; + /^CONFIG_/ || next; + + if ($form == 1) { + ($config, $value, $options) = split(' ', $_, 3); + } elsif ($form >= 2) { + ($config, $options) = split(' ', $_, 2); + } + + if (exists $noappend{$config}) { + delete $annot{$config}; + delete $noappend{$config}; + } + $annot{$config} = $annot{$config} . ' ' . $options; + } + close($fd); + return %annot; +} + +# ANNOTATIONS: check any annotations marked for enforcement +my $annotations = "$commonconfig/annotations"; +my %annot = read_annotations($annotations); + +my $pass = 0; +my $total = 0; +my ($config, $value, $options, $option, $check, $policy); +for $config (keys %annot) { + $check = $enforce_all; + $options = $annot{$config}; + + $policy = undef; + while ($options =~ /\s*([^\s<]+)<(.*?)?>/g) { + ($option, $value) = ($1, $2); + + if ($option eq 'mark' && $value eq 'ENFORCED') { + $check = 1; + + } elsif ($option eq 'policy') { + if ($value =~ /^{/) { + $value =~ s/:/=>/g; + $policy = eval($value); + warn "$config: $@" if ($@); + } else { + $policy = undef; + } + } + } + if ($check == 1 && !defined($policy)) { + print "$P: INVALID POLICY (use policy<{...}>) $config$options\n"; + $total++; + $check = 0; + } + if ($check) { + # CONFIG_VERSION_SIGNATURE is dynamically set during the build + next if ($config eq "CONFIG_VERSION_SIGNATURE"); + my $is = '-'; + $is = $values{$config} if (defined $values{$config}); + + my $value = '-'; + for my $which ("$arch-$flavour", "$arch-*", "*-$flavour", "$arch", "*") { + if (defined $policy->{$which}) { + $value = $policy->{$which}; + last; + } + } + if ($is eq $value) { + $pass++; + } else { + print "$P: FAIL ($is != $value): $config$options\n"; + $exit_val = $fail_exit; + } + $total++; + } +} + +print "$P: $pass/$total checks passed -- exit $exit_val\n"; +exit $exit_val; --- linux-gcp-5.19.0.orig/debian/scripts/control-create +++ linux-gcp-5.19.0/debian/scripts/control-create @@ -0,0 +1,67 @@ +#!/bin/bash + +. debian/debian.env + +vars=$1 +any_signed=$2 + +. $vars + +[ "$provides" != '' ] && provides="$provides, " + +if [ "$is_sub" = "" ]; then + flavour=$(basename $vars | sed 's/.*\.//') + stub="${DEBIAN}/control.d/flavour-control.stub debian/control.d/flavour-buildinfo.stub" + if [ "$any_signed" = 'true' ]; then + sign_me_pkg="-unsigned" + sign_me_txt=" unsigned" + sign_peer_pkg="" + else + sign_me_pkg="" + sign_me_txt="" + sign_peer_pkg="-unsigned" + fi +else + flavour=$(basename $vars .vars) + stub=${DEBIAN}/sub-flavours/control.stub +fi + +cat $stub | grep -v '^#' | sed \ + -e "s#FLAVOUR#$flavour#g" \ + -e "s#DESC#$desc#g" \ + -e "s#ARCH#$arch#g" \ + -e "s#SUPPORTED#$supported#g" \ + -e "s#TARGET#$target#g" \ + -e "s#BOOTLOADER#$bootloader#g" \ + -e "s#=PROVIDES=#$provides#g" \ + -e "s#=CONFLICTS=#$conflicts#g" \ + -e "s#=SIGN-ME-PKG=#$sign_me_pkg#g" \ + -e "s#=SIGN-ME-TXT=#$sign_me_txt#g" \ + -e "s#=SIGN-PEER-PKG=#$sign_peer_pkg#g" + +while read package version extras +do + module="$package" + module_type= + + # Module arch parameters are skipped here, so a package section will + # be generated for each flavour, and its Architecture will be set to + # all architectures with that flavour. Even that is being generated, + # it doesn't follow all of them will be built. That's to work-around + # dkms_exclude/dkms_include that manipulates supported architectures + # in $(DEBIAN)/rules.d/$(arch).mk. + for param in $extras; do + case "$param" in + modulename=*) module="${param#modulename=}" ;; + type=*) module_type="${param#type=}" ;; + *) continue ;; + esac + done + + [ "$module_type" = "standalone" ] || continue + + cat debian/control.d/flavour-module.stub | grep -v '^#' | sed \ + -e "s#ARCH#$arch#g" \ + -e "s#MODULE#$module#g" \ + -e "s#FLAVOUR#$flavour#g" +done <"debian/dkms-versions" --- linux-gcp-5.19.0.orig/debian/scripts/dkms-build +++ linux-gcp-5.19.0/debian/scripts/dkms-build @@ -0,0 +1,269 @@ +#!/bin/sh +set -e + +dkms_dir="$1" +abi_flavour="$2" +sign="$3" +pkgname="$4" +pkgdir="$5" +dbgpkgdir="$6" +package="$7" +shift 7 + +here=$(dirname "$(readlink -f "${0}")") + +srcdir=$(pwd) +cd "$dkms_dir" || exit 1 + +built_using_record() +{ + local subst="$1" + local built_using="$2" + if [ ! -f "$subst" ]; then + touch "$subst" + fi + if ! grep -q -s "^linux:BuiltUsing=" "$subst"; then + echo "linux:BuiltUsing=" >>"$subst" + fi + sed -i -e "s/^\(linux:BuiltUsing=.*\)/\1$built_using, /" "$subst" +} + +# ABI: returns present in $? and located path in lpackage_path when found. +package_present() +{ + for lpackage_path in "$1"_*.deb + do + break + done + [ -f "$lpackage_path" ] +} + +# Download and extract the DKMS package -- note there may be more +# than one package to install. +for package_path in "$@" +do + package_file=$(basename "$package_path") + echo "II: dkms-build downloading $package ($package_file)" + rpackage=$( echo "$package_path" | sed -e 's@.*/@@' -e 's@_.*@@' ) + lpackage=$( echo "$rpackage" | sed -e 's@=.*@@' ) + + while true + do + if package_present "$lpackage"; then + break + fi + case "$package_path" in + pool/*) + # Attempt download from the launchpad librarian first. + "$here/file-downloader" "https://launchpad.net/ubuntu/+archive/primary/+files/$package_file" || true + if package_present "$lpackage"; then + break + fi + + # Download from the available pools. + for pool in $( grep -h '^deb ' /etc/apt/sources.list /etc/apt/sources.list.d/*.list | awk '{print $2}' | sort -u ) + do + if package_present "$lpackage"; then + break + fi + url="$pool/$package_path" + "$here/file-downloader" "$url" && break || true + # No components in PPAs. + url=$(echo "$url" | sed -e 's@/pool/[^/]*/@/pool/main/@') + "$here/file-downloader" "$url" && break || true + done + ;; + http*:*) + "$here/file-downloader" "$package_path" + ;; + */*) + cp -p "$package_path" . + ;; + *) + apt-get download "$rpackage" + ;; + esac + break + done + if ! package_present "$lpackage"; then + echo "EE: $lpackage not found" + exit 1 + fi + + dpkg -x "$lpackage"_*.deb "$package" + + lversion=$( echo "$lpackage_path" | sed -e 's@.*/@@' -e 's@_[^_]*$@@' -e 's@.*_@@') + #built_using_record "$srcdir/debian/$pkgname.substvars" "$built_using$lpackage (= $lversion)" +done + +# Pick out the package/version from the dkms.conf. +for dkms_conf in "$package/usr/src"/*/"dkms.conf" +do + break +done + +# It seems some packages have a # in the name which works fine if the +# package is installed directly, but not so much if we build it out +# of the normal location. +sed -i -e '/^PACKAGE_NAME=/ s/#//g' "$dkms_conf" + +# Run any dkms-package specfic configuration steps +dkms_config_specific="$srcdir/$0-configure--$package" +dkms_config_generic=$(echo "$dkms_config_specific" | sed -e 's/-[0-9][0-9]*$/-N/') +for dkms_config in "$dkms_config_specific" "$dkms_config_generic" +do + if [ -z "$dkms_config" -o ! -e "$dkms_config" ]; then + continue + fi + echo "II: dkms-build-configure $(basename "$dkms_config") found, executing" + "$dkms_config" \ + "$srcdir" \ + "$dkms_conf" \ + "$dkms_dir" \ + "$abi_flavour" \ + "$sign" \ + "$pkgname" \ + "$pkgdir" \ + "$dbgpkgdir" \ + "$package" \ + "$@" || exit 1 + break +done + +cat - <<'EOF' >>"$dkms_conf" +POST_BUILD="ubuntu-save-objects ${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/build ${dkms_tree}/${PACKAGE_NAME}/${PACKAGE_VERSION}/objects $POST_BUILD" +EOF +ubuntu_script="$(dirname "$dkms_conf")/ubuntu-save-objects" +cat - <<'EOF' >"$ubuntu_script" +#!/bin/sh +from="$1" +to="$2" +script="$3" +shift 2 + +# Copy the objects. +echo "II: copying objects to '$to'" +mkdir -p "$to" +(cd "$from" && find -name \*.o -o -name \*.o.ur-\* -o -name \*.mod | cpio -Lpd "$to") + +# Call the original post_install script if there is one. +[ "$script" = '' ] && exit 0 + +shift +exec "$(dirname "$0")/$script" "$@" +EOF +chmod +x "$ubuntu_script" +dkms_package=$( sed -ne 's/PACKAGE_NAME="\(.*\)"/\1/p' "$dkms_conf" ) +dkms_version=$( sed -ne 's/PACKAGE_VERSION="\(.*\)"/\1/p' "$dkms_conf" ) + +# Build the DKMS binaries. +echo "II: dkms-build building $package" +fakeroot="" +[ $(id -u) -ne 0 ] && fakeroot="/usr/bin/fakeroot" +rc=0 +$fakeroot /usr/sbin/dkms build --no-prepare-kernel --no-clean-kernel \ + -k "$abi_flavour" ${ARCH:+-a $ARCH} \ + --sourcetree "$dkms_dir/source" \ + --dkmstree "$dkms_dir/build" \ + --kernelsourcedir "$dkms_dir/headers/linux-headers-$abi_flavour" \ + "$dkms_conf" || rc=1 + +# Find the log and add it to our own. +for log in "$dkms_dir/build/$dkms_package/$dkms_version/$abi_flavour"/*/"log/make.log" "$dkms_dir/build/$dkms_package/$dkms_version/build/make.log" +do + [ -f "$log" ] && break +done +sed -e "s@$dkms_dir@<>@g" <"$log" + +# If this build failed then exit here. +[ "$rc" != 0 ] && exit "$rc" + +# Install the modules with debug symbols we possibly built, +# and strip the original modules for the next install step. +if [ -n "$dbgpkgdir" ]; then + dbgpkgdir="$dbgpkgdir/$package" + echo "II: dkms-build installing $package into $dbgpkgdir (debug symbols)" + install -d "$dbgpkgdir" + find "$dkms_dir/build/$dkms_package/$dkms_version/$abi_version" -name \*.ko | + while read module; do + vmodule=$( basename "$module" ) + + # Check for '.debug_info' section in order to copy module. + # Useful if debug symbols are requested but not built for + # any reason (including not yet supported by DKMS package). + # Strip module just in case even if section isn't present. + if ${CROSS_COMPILE}objdump -h -j '.debug_info' "$module" >/dev/null 2>&1 + then + echo "copying $vmodule" + cp "$module" "$dbgpkgdir" + else + echo "ignoring $vmodule (missing debug symbols)" + fi + + # Just 'strip -g' as '/usr/sbin/dkms' does. + echo "stripping $vmodule" + strip -g "$module" + done +fi + +# Install and optionally sign the modules we have built. +pkgdir="$pkgdir/$package" +echo "II: dkms-build installing $package into $pkgdir" +install -d "$pkgdir" +find "$dkms_dir/build/$dkms_package/$dkms_version/$abi_version" -name \*.ko | +while read module; do + vmodule=$( basename "$module" ) + case "$sign" in + --*) + echo "copying $vmodule" + cp "$module" "$pkgdir" + ;; + *) + echo "signing $vmodule" + $sign "$module" "$pkgdir/$vmodule" + ;; + esac +done + +find "$dkms_dir/build/$dkms_package/$dkms_version/objects" -name \*.o -print | \ +while read object +do + "$srcdir/debian/scripts/fix-filenames" "$object" "$dkms_dir" +done + +# This assumes that .mod files are in the top level build tree +# If there are ever .mod files in sub-directories, the dirname of objectlist needs to be stripped as well +find "$dkms_dir/build/$dkms_package/$dkms_version/objects" -name \*.mod -print | \ +while read objectlist +do + sed "s|^$dkms_dir/build/$dkms_package/$dkms_version/build/||" -i $objectlist +done + +# Finally see if there is a dkms-package specific post processor present. Hand +# it the original source directory, destination package directory, the objects +# as squirreled away, and the log in case it is useful. Finally pass a formed +# signing command line in case we need to do that. +dkms_build_specific="$srcdir/$0--$package" +dkms_build_generic=$(echo "$dkms_build_specific" | sed -n -e 's/-[0-9][0-9]*[a-z]*$/-N/p') +for dkms_build in "$dkms_build_specific" "$dkms_build_generic" +do + if [ -z "$dkms_build" -o ! -e "$dkms_build" ]; then + continue + fi + echo "II: dkms-build override $(basename "$dkms_build") found, executing" + "$dkms_build" \ + "$srcdir" \ + "$dkms_dir/build/$dkms_package/$dkms_version/objects" \ + "$log" \ + "$dkms_dir" \ + "$abi_flavour" \ + "$sign" \ + "$pkgname" \ + "$pkgdir" \ + "$dbgpkgdir" \ + "$package" \ + "$@" || exit 1 + break +done + +echo "II: dkms-build build $package complete" --- linux-gcp-5.19.0.orig/debian/scripts/dkms-build--nvidia-N +++ linux-gcp-5.19.0/debian/scripts/dkms-build--nvidia-N @@ -0,0 +1,113 @@ +#!/bin/sh +set -e + +srcdir="$1" +objects="$2" +log="$3" +shift 3 + +dkms_dir="$1" +abi_flavour="$2" +sign="$3" +pkgname="$4" +pkgdir="$5" +dbgpkgdir="$6" +package="$7" +shift 7 + +build="$( dirname "$objects" )/build" + +# Copy over the objects ready for reconstruction. The objects copy contains +# the *.o files and the *.o-ur* retpoline files to allow the kernel to track +# any retpoline sequences therein. For our purposes we only want the *.o +# files, elide the rest. And .mod files for ld linking in recentish kernels. +mkdir -p "$pkgdir/bits/scripts" +( + gcc_variant1=$(gcc --version | head -1 | sed -e 's/^gcc/GCC:/') + gcc_variant2=$(gcc --version | head -1 | sed -e 's/^\(gcc\) \((.*)\) \(.*\)$/\1 version \3 \2/') + cd "$objects" || exit 1 + find -name \*.o -o -name \*.mod | \ + while read file + do + cp --parents "$file" "$pkgdir/bits" + "$srcdir/debian/scripts/fix-filenames" "$pkgdir/bits/$file" "$gcc_variant1" + "$srcdir/debian/scripts/fix-filenames" "$pkgdir/bits/$file" "$gcc_variant2" + done +) + +# Install the support files we need. +echo "II: copying support files ..." +for lds_src in \ + "$dkms_dir/headers/linux-headers-$abi_flavour/scripts/module.lds" \ + "/usr/src/linux-headers-$abi_flavour/scripts/module.lds" \ + "$dkms_dir/headers/linux-headers-$abi_flavour/scripts/module-common.lds" \ + "/usr/src/linux-headers-$abi_flavour/scripts/module-common.lds" +do + [ ! -f "$lds_src" ] && continue + echo "II: copying support files ... found $lds_src" + cp "$lds_src" "$pkgdir/bits/scripts" + break +done + +# Build helper scripts. +cat - <<'EOL' >"$pkgdir/bits/BUILD" +[ "$1" = "unsigned" ] && { signed_only=:; shift; } +[ "$1" = "nocheck" ] && { check_only=:; shift; } +EOL +grep /usr/bin/ld.bfd "$log" | grep -v scripts/genksyms/genksyms | grep -v "warning:\|NOTE:" | sed -e "s@$build/@@g" >>"$pkgdir/bits/BUILD" +sed -e 's/.*-o *\([^ ]*\) .*/rm -f \1/g' <"$pkgdir/bits/BUILD" >"$pkgdir/bits/CLEAN" + +# As the builds contain the absolute filenames as used. Use RECONSTRUCT to +# rebuild the .ko's, sign them, pull off the signatures and then finally clean +# up again. +( + cd "$pkgdir/bits" || exit 1 + + # Add checksum check. + echo "\$check_only sha256sum -c SHA256SUMS || exit 1" >>"$pkgdir/bits/BUILD" + + # Add .ko handling to the CLEAN/BUILD dance. + for ko in "$pkgdir"/*.ko + do + ko=$(basename "$ko") + echo "\$signed_only cat '$ko' '$ko.sig' >'../$ko'" >>"$pkgdir/bits/BUILD" + echo "\$signed_only rm -f '$ko'" >>"$pkgdir/bits/BUILD" + echo "rm -f '../$ko'" >>"$pkgdir/bits/CLEAN" + done + + # Clear out anything we are not going to distribute and build unsigned .kos. + sh ./CLEAN + sh ./BUILD unsigned nocheck + + if [ "$sign" = "--custom" ]; then + # We are building for and archive custom signing upload. Keep everything. + : + elif [ "$sign" = "--lrm" ]; then + # We are in the LRM build; grab sha256 checksums and clean up. + sha256sum -b *.ko >"SHA256SUMS" + sh ./CLEAN + + else + # We are in the main kernel, put the .kos together as we will + # on the users machine, sign them, and keep just the signature. + : >"SHA256SUMS" + for ko in *.ko + do + echo "detached-signature $ko" + $sign "$ko" "$ko.signed" + length=$( stat --format %s "$ko" ) + dd if="$ko.signed" of="$ko.sig" bs=1 skip="$length" 2>/dev/null + + rm -f "$ko.signed" + # Keep a checksum of the pre-signed object so we can check it is + # built correctly in LRM. + sha256sum -b "$ko" >>"SHA256SUMS" + done + + # Clean out anything which not a signature. + mv "$pkgdir/bits/"*.sig "$pkgdir" + mv "$pkgdir/bits/SHA256SUMS" "$pkgdir" + find "$pkgdir" -name \*.sig -prune -o -name SHA256SUMS -prune -o -type f -print | xargs rm -f + find "$pkgdir" -depth -type d -print | xargs rmdir --ignore-fail-on-non-empty + fi +) || exit "$?" --- linux-gcp-5.19.0.orig/debian/scripts/dkms-build-configure--zfs +++ linux-gcp-5.19.0/debian/scripts/dkms-build-configure--zfs @@ -0,0 +1,24 @@ +#!/bin/sh +set -e + +srcdir="$1" +dkms_conf="$2" +shift 2 + +dkms_dir="$1" +abi_flavour="$2" +sign="$3" +pkgname="$4" +pkgdir="$5" +dbgpkgdir="$6" +package="$7" +shift 7 + +# ZFS debug symbols are enabled in dkms.conf via PACKAGE_CONFIG file. +if [ -n "$dbgpkgdir" ]; then + echo "enable zfs debug symbols" + pkg_cfg="$(dirname "$dkms_conf")/pkg_cfg" + echo 'ZFS_DKMS_ENABLE_DEBUGINFO=yes' >"$pkg_cfg" + echo 'ZFS_DKMS_DISABLE_STRIP=yes' >>"$pkg_cfg" + sed -i "s,^\(PACKAGE_CONFIG=\).*,\1$pkg_cfg," $dkms_conf +fi --- linux-gcp-5.19.0.orig/debian/scripts/file-downloader +++ linux-gcp-5.19.0/debian/scripts/file-downloader @@ -0,0 +1,34 @@ +#!/bin/sh + +if [ "$#" -ne 1 ]; then + echo "Usage: $0 " 1>&2 + exit 1 +fi +url="$1" + +to=$(basename "$url") + +count=0 +what='fetching' +while : +do + if [ "$count" -eq 20 ]; then + echo "EE: excessive redirects" 1>&2 + exit 1 + fi + count=$(($count+1)) + + echo "II: $what $url" + + curl --silent --fail --show-error "$url" -o "$to" -D "$to.hdr" || exit 1 + redirect=$(awk '/^Location: / {gsub(/^[[:space:]]+|[[:space:]]+$/,"",$2); print $2;}' "$to.hdr") + [ -z "$redirect" ] && break + what=' following' + + url=$(echo "$redirect" | sed -e 's@https://launchpadlibrarian.net/@http://launchpadlibrarian.net/@') + if [ "$redirect" != "$url" ]; then + echo "II: fixing $redirect" + fi +done + +exit 0 --- linux-gcp-5.19.0.orig/debian/scripts/fix-filenames.c +++ linux-gcp-5.19.0/debian/scripts/fix-filenames.c @@ -0,0 +1,80 @@ +/* + * fix-filenames: find a specified pathname prefix and remove it from + * C strings. + * + * Copyright (C) 2018 Canonical Ltd. + * Author: Andy Whitcroft + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +int +main(int argc, char *argv[]) +{ + int rc; + char *in_name; + char *prefix; + int prefix_len; + int in_fd; + struct stat in_info; + char *in; + off_t size; + int length; + + if (argc != 3) { + fprintf(stderr, "Usage: %s \n", argv[0]); + exit(1); + } + in_name = argv[1]; + prefix = argv[2]; + prefix_len = strlen(prefix); + + in_fd = open(in_name, O_RDWR); + if (in_fd < 0) { + perror("open input failed"); + exit(1); + } + + rc = fstat(in_fd, &in_info); + if (rc < 0) { + perror("fstat input failed"); + exit(1); + } + size = in_info.st_size; + + in = mmap((void *)0, size, PROT_READ|PROT_WRITE, MAP_SHARED, in_fd, (off_t)0); + if (!in) { + perror("mmap failed"); + exit(1); + } + + for (; size > 0; size--, in++) { + if (*in != *prefix) + continue; + if (strncmp(in, prefix, prefix_len) != 0) + continue; + /* In the case of an exact match there there is nothing to move. */ + if (in[prefix_len] == '\0') + length = 0; + /* If this is a filename, strip the leading slash. */ + else if (in[prefix_len] == '/') + length = strlen(in + prefix_len + 1) + 1; + /* Otherwise just keep the suffix. */ + else + length = strlen(in + prefix_len) + 1; + + /* + * Copy the suffix portion down to the start and clear + * the remainder of the space to 0. + */ + memmove(in, in + prefix_len + 1, length); + memset(in + length, '\0', prefix_len); + } +} --- linux-gcp-5.19.0.orig/debian/scripts/helpers/close +++ linux-gcp-5.19.0/debian/scripts/helpers/close @@ -0,0 +1,195 @@ +#!/bin/bash -eu +export LC_ALL=C.UTF-8 + +usage() { + cat << EOF +Usage: ${P:-$(basename "$0")} [-h|--help] [-d|--dry-run] [-c|--include-config] [-s|--skip-master] [-b BASE_VERSION] + +Prepare the closing release commit. Include all the changelog entries +in the current release, including the changes from the base +kernel. Also close the changelog entry and check for config changes. + +Optional arguments: + -d, --dry-run Perform a trial run with no changes made + printing the commands instead. + -c, --include-config Include config changes in the closing commit. + -s, --skip-master Skip master kernel changelog entries (used when + bootstraping new kernels). + -b BASE_VERSION For derivatives and backports, force the changelog + entries to have the base version as provided (used + when changing the base derivative version of a + backport). + -h, --help Show this help message and exit. + +Examples: + Simply close a release: + \$ cranky close + + Also include any config changes to the closing commit: + \$ cranky close -c + +EOF +} + +dry_run=0 +commit_configs=0 +skip_master_entries=0 +base_version= +while [ "$#" -gt 0 ]; do + case "$1" in + -h|--help) + usage + exit 0 + ;; + -d|--dry-run) + dry_run=1 + ;; + -c|--include-config) + commit_configs=1 + ;; + -s|--skip-master) + skip_master_entries=1 + ;; + -b) + shift + base_version="$1" + ;; + *) + usage + exit 1 + ;; + esac + shift +done + +hl() { echo -e "\e[1m$*\e[0m"; } + +run() { + # Quote args for echo or eval + local quoted=() + for token; do + quoted+=( "$(printf '%q' "$token")" ) + done + # Run + if [ "$dry_run" -eq 1 ]; then + hl "DRY RUN: ${quoted[*]}" + else + hl "${quoted[*]}" + "$@" + echo + fi +} + +# Trick shellcheck so it doesn't complain every time it's necessary to +# use `run $CHROOT`. Use `chroot_run` instead. +shopt -s expand_aliases +alias chroot_run='run ${CHROOT:-}' + +DEBIAN= +# shellcheck disable=SC1091 +. debian/debian.env + +# Check if the "$DEBIAN" directory exists. +if [ ! -d "$DEBIAN" ]; then + echo "You must run this script from the top directory of this repository." + exit 1 +fi + +CONF="$DEBIAN/etc/update.conf" +if [ -f "$CONF" ]; then + # shellcheck disable=SC1090 + . "$CONF" +fi + +# Check if changelog is open +series=$(dpkg-parsechangelog -l"$DEBIAN/changelog" -SDistribution) +if [ "$series" != 'UNRELEASED' ]; then + echo "The last entry of the changelog is already released." + exit 1 +fi + +# Update configs +if [ -d "$DEBIAN/config" ]; then + chroot_run fakeroot debian/rules clean updateconfigs + changes=$(git diff HEAD -- "./$DEBIAN/config/") + if [ "$commit_configs" -eq 0 ] && [ -n "$changes" ]; then + echo "Config has changed! please, review it and commit." + exit 1 + fi +fi + +# For normal trees the fact that the update.conf file exists means that they are rebase +# kernels. There are some special trees which started with uc20-efi, which have that +# file because they logically depend on another source but do not have the directory +# which DEBIAN_MASTER points to. +# Skip inserting parent source entries if this is not a rebase tree. +if [ ! -f "$DEBIAN/etc/update.conf" ]; then + skip_master_entries=1 +elif [ "$DEBIAN_MASTER" != "" -a ! -d "$DEBIAN_MASTER" ]; then + skip_master_entries=1 +fi +if [ $skip_master_entries == 0 ]; then + if [ "$DEBIAN_MASTER" = "" ]; then + echo "DEBIAN_MASTER should be defined either in $DEBIAN/etc/update.conf or the environment" + exit 1 + fi + + if [ -z "${base_version}" ]; then + offset=0 + # If not provided as an option, loop through each entry of the current changelog, + # searching for an entry that refers to the master version used as base + # (ie a line containing "[ Ubuntu: 4.15.0-39.42 ]"): + while true; do + changes=$(dpkg-parsechangelog -l"$DEBIAN/changelog" -SChanges -c1 -o"$offset") + if ! [ "$changes" ]; then + echo "Failed to retrieve base master version from changelog file: $DEBIAN/changelog" + exit 1 + fi + base_version=$(echo "$changes" | sed -n -r -e '/^\s.*\[ Ubuntu: ([~0-9.-]*) \]$/{s//\1/p;q}') + [ "$base_version" ] && break + offset=$(( offset + 1 )) + done + fi + + master_version=$(dpkg-parsechangelog -l${DEBIAN_MASTER}/changelog -SVersion) + if ! [ "$master_version" ]; then + echo "Failed to retrieve current master version from changelog: $DEBIAN/changelog" + exit 1 + fi + run ./debian/scripts/misc/insert-ubuntu-changes "$DEBIAN/changelog" "$base_version" "$master_version" \ + "$DEBIAN_MASTER/changelog" +fi + +# Insert local changes +run fakeroot debian/rules insertchanges + +# This should be the last step. If there were no changes to the +# changelog, there is nothing to release, so nothing to commit. +changes=$(git diff HEAD) +if [ -z "$changes" ] && [ "$dry_run" -eq 0 ]; then + hl "No changes to commit." + exit 1 +fi + +# Find the current series from previous changelog entries: +series='' +offset=0 +while true; do + series=$(dpkg-parsechangelog -l"$DEBIAN/changelog" -SDistribution -c1 -o"$offset") + if [ "$series" ] && [ "$series" != 'UNRELEASED' ]; then + break + fi + offset=$(( offset + 1 )) +done +if ! [ "$series" ]; then + echo "Failed to retrieve the package series from changelog: $DEBIAN/changelog" + exit 1 +fi +# Close the changelog +run dch --nomultimaint -c "$DEBIAN/changelog" -r -D "$series" '' + +# Commit changes +package=$(dpkg-parsechangelog -l"$DEBIAN/changelog" -SSource) +prefix="Ubuntu$(echo "$package" | sed -r -e 's/linux(-?)/\1/')-" +version=$(dpkg-parsechangelog -l"$DEBIAN/changelog" -SVersion) +run git commit -sam "UBUNTU: $prefix$version" --- linux-gcp-5.19.0.orig/debian/scripts/helpers/open +++ linux-gcp-5.19.0/debian/scripts/helpers/open @@ -0,0 +1,234 @@ +#!/bin/bash -eu +export LC_ALL=C.UTF-8 + +out() +{ + local rc=${?} + + trap - EXIT INT TERM HUP + [ "${rc}" -eq 0 ] || echo "Error: Script failed" >&2 + + exit "${rc}" +} + +hl() { + echo -e "\e[1m$*\e[0m" +} + +run() { + # Quote args for echo or eval + local quoted=() + for token; do + quoted+=("$(printf '%q' "$token")") + done + # Run + if [ "$dry_run" -eq 1 ]; then + hl "DRY RUN: ${quoted[*]}" + else + hl "${quoted[*]}" + "$@" + echo + fi +} + +usage() { + cat << EOF +Usage: ${P:-$(basename "$0")} [-h|--help] [-d|--dry-run] [-r|--reuse-abi] + +Create a "start new release" commit. The new commit will contain ABI +changes and any customization required by backport kernels. + +Optional arguments: + -d, --dry-run Perform a trial run with no changes made + printing the commands instead. + -r, --reuse-abi Do not download the previous release ABI files + for the new release and just rename the + current ABI directory. This might cause the + build to fail if the module list or the + retpoline information has changed. + -h, --help Show this help message and exit. + +Environment variable: + CRANKY_MAILENFORCE Regular expression used to validate \$DEBEMAIL. If not + set, it defaults to "@canonical.com$". + +Examples: + Simply start a new release (that will fetch the ABI files from the + archieve repositories): + \$ cranky open + + Start a new release re-using the ABI files already present in the + tree: + \$ cranky open --reuse-abi + +EOF +} + +dry_run=0 +reuse_abi=0 +while [ "$#" -gt 0 ]; do + case "$1" in + -h|--help) + usage + exit 0 + ;; + -d|--dry-run) + dry_run=1 + ;; + -r|--reuse-abi) + reuse_abi=1 + ;; + *) + usage + exit 1 + ;; + esac + shift +done + +trap out EXIT INT TERM HUP + +# Trick shellcheck so it doesn't complain every time it's necessary to +# use `run $CHROOT`. Use `chroot_run` instead. +shopt -s expand_aliases +alias chroot_run='run ${CHROOT:-}' + +# Check DEBEMAIL (used to create the new changelog stanza): +DEBEMAIL="${DEBEMAIL:-}" +CRANKY_MAILENFORCE="${CRANKY_MAILENFORCE:-@canonical.com\$}" +if [ -z "$DEBEMAIL" ] || ! echo "$DEBEMAIL" | grep -qE "$CRANKY_MAILENFORCE"; then + echo "DEBEMAIL is unset, or does not contain \"$CRANKY_MAILENFORCE\": $DEBEMAIL" >&2 + exit 1 +fi + +# Requires a git repo +if [ ! -e .git ]; then + echo "Not a git repository!" >&2 + exit 1 +fi + +# Check the debian directory +if [ ! -e debian/debian.env ]; then + echo "Cannot find debian/debian.env!" >&2 + exit 1 +fi +DEBIAN= +# shellcheck disable=SC1091 +. debian/debian.env +if [ -z "$DEBIAN" ] || [ ! -d "$DEBIAN" ]; then + echo "Invalid DEBIAN directory: $DEBIAN" >&2 + exit 1 +fi + +# Abort if changes or untracked files are found in the debian +# directory (ie, in "debian.master/"). cranky open is expected to +# change and commit files in this directory. +if ! git diff-index --quiet HEAD -- "$DEBIAN/" || \ + [ -n "$(git ls-files --others -- "$DEBIAN/")" ]; then + echo "\"$DEBIAN/\" is not clean!" >&2 + exit 1 +fi + +# Check changelog +series=$(dpkg-parsechangelog -l"$DEBIAN/changelog" -SDistribution) +if [ "$series" == 'UNRELEASED' ]; then + echo "$DEBIAN/changelog is not closed!" >&2 + exit 1 +fi + +# Load the info about derivative +BACKPORT_SUFFIX= +BACKPORT_NO_SUFFIX= +derivative_conf="$DEBIAN/etc/update.conf" +if [ -f "$derivative_conf" ]; then + # shellcheck disable=SC1090 + . "$derivative_conf" +fi + +# Run the update script used for backport kernels +if [ -n "$BACKPORT_SUFFIX" ] || [ -n "$BACKPORT_NO_SUFFIX" ]; then + update_from_master_script="$DEBIAN/scripts/helpers/copy-files" + if [ ! -x "$update_from_master_script" ]; then + echo "Backport kernel is missing the"\ + "\"$update_from_master_script\" script!"; + exit 1 + fi + # The tree should be clean at this point, since that is enforced at + # the beginning of the script. Because of that, it's safe to git add + # "$DEBIAN/". + run env CHROOT="$CHROOT" "$update_from_master_script" + run git add "$DEBIAN" + # Update configs after the necessary files were copied from + # the base kernel. It's not expected that `fdr updateconfigs` + # will fail at this point, because the base kernel's + # configuration and annotations file are expected to be in a + # correct state. `fdr updateconfigs` should only change a few + # configuration options that depend on the userspace tooling + # version, such as gcc. + if ! chroot_run fakeroot debian/rules clean updateconfigs; then + echo "Failed to update configs. Please review the previous" \ + "rebase operation and \"$update_from_master_script\""; + exit 1 + fi + run git add "$DEBIAN/config" +fi + +# fdr clean should be called after copy-files, that way we can git add +# any changes in "debian./" (`fdr clean` in trusty will +# usually generate changes in "debian./). Also, fdr clean +# removes an ABI that matches the current version in the +# changelog. Since `fdr startnewrelease` requires `fdr clean`, we need +# to call it before getabis. +chroot_run fakeroot debian/rules clean + +# Update ABI +if [ -d "$DEBIAN/abi" ]; then + # The new ABI directory should use the current version in the + # changelog since `fdr startnewrelease` was't called at this + # point yet: + new=$(dpkg-parsechangelog -l"$DEBIAN/changelog" -SVersion) + + if [ "$reuse_abi" -ne 0 ]; then + if [ -f "$DEBIAN/abi/version" ]; then + # This is an unversioned ABI directory, so simply update the + # version file + echo "$new" > "$DEBIAN/abi/version" + git add "$DEBIAN/abi/version" + else + # Get the old ABI directory: + old=$(find "$DEBIAN/abi/" -mindepth 1 -maxdepth 1 -type d | \ + grep -P '/abi/[0-9]+\.[0-9]+\.[0-9]+-[0-9]+\.[0-9]+') + if [ -z "${old}" ] ; then + echo "Failed to find the previous ABI directory." \ + "Please check \"$DEBIAN/abi/\"!" >&2 + exit 1 + elif [ "$(echo "$old" | wc -l)" -gt 1 ]; then + echo "Failed to rename the current ABI directory." \ + "Multiple directories found. Please check \"$DEBIAN/abi/\"!" >&2 + exit 1 + fi + new="$DEBIAN/abi/$new" + # Rename the ABI directory + run git mv "$old" "$new" + fi + else + # Call in-tree getabis: + # Use the single argument form since getabis is now + # updated by cranky fix. + run debian/scripts/misc/getabis "${new}" + # getabis already handles the necessary git add/rm calls. + fi +fi + +# Create the new changelog entry: +run fakeroot debian/rules startnewrelease +run git add "$DEBIAN/changelog" + +# Create the commit +run git commit -s -F debian/commit-templates/newrelease + +# Mimic maint-startnewrelease +[ "$dry_run" -eq 0 ] && \ + hl "\n***** Now please inspect the commit before pushing *****" + +exit 0 --- linux-gcp-5.19.0.orig/debian/scripts/helpers/rebase +++ linux-gcp-5.19.0/debian/scripts/helpers/rebase @@ -0,0 +1,148 @@ +#!/bin/bash -e +# +# This script is intended as a helper when rebasing from its master branch. +# + +LOCAL_BRANCH= +RELEASE_REPO= +SOURCE_RELEASE_BRANCH= +OWN= + +function out() +{ + local rc="${?}" + trap - EXIT INT TERM HUP + [ "${rc}" -eq 0 ] || echo "Error: Script failed" + exit "${rc}" +} + +trap out EXIT INT TERM HUP + +if [ -f debian/debian.env ]; then + # shellcheck disable=SC1091 + . debian/debian.env +fi + +if [ ! -d "${DEBIAN}" ]; then + echo You must run this script from the top directory of this repository. + exit 1 +fi + +CONF="${DEBIAN}"/etc/update.conf +if [ -f "${CONF}" ]; then + # shellcheck disable=SC1090 + . "${CONF}" +fi + +usage="$0 [-r RELEASE_REPO] [ -b REMOTE_BRANCH ] [-l LOCAL_BRANCH] [-d]"$'\n\n' +usage+="-r RELEASE_REPO Git repository to fetch the reference branch from."$'\n' +usage+="-b REMOTE_BRANCH Remote branch to fetch from."$'\n' +usage+="-l LOCAL_BRANCH Use LOCAL_BRANCH as the reference branch."$'\n' +usage+="-o Rebase against own kernel."$'\n' +usage+="-d Dry run (do not rebase)." + +# +# command line options: +# [-r RELEASE_REPO] - override default git repository. +# [-b REMOTE_BRANCH] - override default remote branch. +# [-l LOCAL_BRANCH] - do not fetch from remote repo, use a local branch. + +while getopts "r:b:l:od" opt; do + case $opt in + r ) RELEASE_REPO="$OPTARG" ;; + b ) SOURCE_RELEASE_BRANCH="$OPTARG" ;; + l ) LOCAL_BRANCH="$OPTARG" ;; + d ) DRY_RUN=1 ;; + o ) OWN=1 ;; + \? ) echo "usage: ${usage}"; exit ;; + esac +done +shift $((OPTIND - 1)) + +# For normal trees the fact that the update.conf file exists means that they are rebase +# kernels. There are some special trees which started with uc20-efi, which have that +# file because they logically depend on another source but do not have the directory +# which DEBIAN_MASTER points to. +IS_REBASE_KERNEL=true +if [ ! -f "$DEBIAN/etc/update.conf" ]; then + IS_REBASE_KERNEL=false +elif [ "$DEBIAN_MASTER" != "" -a ! -d "$DEBIAN_MASTER" ]; then + IS_REBASE_KERNEL=false +fi +if ! $IS_REBASE_KERNEL && [ -z "$OWN" ]; then + echo "This is not a rebase kernel, no rebase should be needed, please report if otherwise" + exit 0 +fi + +if [ "${OWN}" ] ; then + DEBIAN_MASTER="${DEBIAN}" +fi + +if [ "$DEBIAN_MASTER" = "" ]; then + echo "DEBIAN_MASTER should be defined either in ${DEBIAN}/etc/update.conf or the environment" + exit 1 +fi + +if [ -z "${LOCAL_BRANCH}" ]; then + if [ -z "${RELEASE_REPO}" ] || [ -z "${SOURCE_RELEASE_BRANCH}" ]; then + echo Missing update.conf or missing parameters for remote repo and branch. + exit 1 + fi + # + # Fetch the upstream branch. + # + git fetch "${RELEASE_REPO}" + git fetch "${RELEASE_REPO}" "${SOURCE_RELEASE_BRANCH}" + LOCAL_BRANCH=FETCH_HEAD +fi + +# +# Find the most recent tag on given upstream branch, then +# rebase against it. This avoids the case where there have been some +# commits since the last official tag. +# +MASTER_COMMIT=$(git log --pretty=one "${LOCAL_BRANCH}" "${DEBIAN_MASTER}" | \ + awk ' + /Ubuntu-/ { + if (match($0, /UBUNTU: Ubuntu-/)) { + print $1 + exit + } + } + ' +) +# +# Find the current merge point where current branch was based. +# +BASE_COMMIT=$(git log --pretty=one "${DEBIAN_MASTER}" | \ + awk ' + /Ubuntu-/ { + if (match($0, /UBUNTU: Ubuntu-/)) { + print $1 + exit + } + } + ' +) +if [ "${MASTER_COMMIT}" = "${BASE_COMMIT}" ]; then + echo Already up to date. + exit 0 +fi + +if [ -z "${MASTER_COMMIT}" ] || [ -z "${BASE_COMMIT}" ]; then + echo "Could not find either master or base commit." + echo "master commit: ${MASTER_COMMIT}" + echo "base commit: ${BASE_COMMIT}" + exit 1 +fi + +MASTER_VERSION=$(git show --format=%s -s "$MASTER_COMMIT" | sed 's/^UBUNTU: //') +BASE_VERSION=$(git show --format=%s -s "$BASE_COMMIT" | sed 's/^UBUNTU: //') +echo "Rebase still needed between $BASE_VERSION and $MASTER_VERSION." + +if [ "${DRY_RUN}" ]; then + echo "DRY RUN: git rebase --onto ${MASTER_COMMIT} ${BASE_COMMIT}" + exit 0 +fi + +git rebase --onto "${MASTER_COMMIT}" "${BASE_COMMIT}" --- linux-gcp-5.19.0.orig/debian/scripts/link-headers +++ linux-gcp-5.19.0/debian/scripts/link-headers @@ -0,0 +1,42 @@ +#!/bin/bash -e + +. debian/debian.env + +hdrdir="$1" +symdir="$2" +flavour="$3" + +echo "Symlinking and copying headers for $flavour..." + +excludes="( -path ./debian -prune -o -path ./${DEBIAN} -prune -o -path ./.git ) -prune -o" + +( +find . $excludes -type f \ + \( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Kbuild*' -o \ + -name '*.sh' -o -name '*.pl' -o -name '*.lds' \) -print +find ./include ./scripts -name .gitignore -prune -o -type f -print +find ./include -mindepth 1 -maxdepth 1 $excludes -type d -print +) | ( +while read file; do + dir=$file + lastdir=$file + + if [ -e "$hdrdir/$file" -o -L "$hdrdir/$file" ]; then + continue + fi + + while [ ! -e "$hdrdir/$dir" -a ! -L "$hdrdir/$dir" ]; do + lastdir=$dir + dir=`dirname $dir` + done + # If the last item to exist is a symlink we assume all is good + if [ ! -L "$hdrdir/$dir" ]; then + # Turns things like "./foo" into "../" + deref="`echo -n $lastdir | sed -e 's/^\.//' -e's,/[^/]*,../,g'`" + item="`echo -n $lastdir | sed -e 's/^\.\///'`" + ln -s $deref$symdir/$item $hdrdir/$item + fi +done +) + +exit --- linux-gcp-5.19.0.orig/debian/scripts/misc/arch-has-odm-enabled.sh +++ linux-gcp-5.19.0/debian/scripts/misc/arch-has-odm-enabled.sh @@ -0,0 +1,30 @@ +#!/bin/sh +# Evaluate whether arch ($1) will be built with do_odm_drivers set to true. +set -e + +if [ "$1" = "" ]; then + # This would be set doing the actual kernel build + if [ "$KBUILD_VERBOSE" = "" ]; then + return 1 + fi + case $ARCH in + x86) ARCH=amd64;; + *) ;; + esac +else + ARCH=$1 +fi + +TOPDIR=$(dirname $0)/../../.. +. $TOPDIR/debian/debian.env +RULESDIR=$TOPDIR/$DEBIAN/rules.d + +do_odm_drivers=false +for f in $ARCH.mk hooks.mk; do + eval $(cat $RULESDIR/$f | sed -n -e '/do_odm_drivers/s/ \+//gp') +done +if [ "$do_odm_drivers" != "true" ]; then + return 1 +fi + +return 0 --- linux-gcp-5.19.0.orig/debian/scripts/misc/final-checks +++ linux-gcp-5.19.0/debian/scripts/misc/final-checks @@ -0,0 +1,91 @@ +#!/bin/bash + +debian="$1" +abi="$2" + +archs=$(awk '/^Architecture:/ { $1=""; for (i=1; i<=NF; i++) { if ($i != "all") { print $i }}}' debian/control | sort -u) + +fail=0 + +failure() +{ + echo "EE: $@" 1>&2 + fail=1 +} + +abi_check() +{ + local abidir="$1" + local arch="$2" + local flavour="$3" + + local abidir="$abidir/$arch" + + if [ ! -f "$abidir/$flavour" -a \ + ! -f "$abidir/$flavour.ignore" -a \ + ! -f "$abidir/ignore" ] + then + failure "$arch/$flavour ABI symbol file missing" + fi + + if [ ! -f "$abidir/$flavour.modules" -a \ + ! -f "$abidir/$flavour.ignore.modules" -a \ + ! -f "$abidir/ignore.modules" ] + then + failure "$arch/$flavour ABI modules file missing" + fi + + if [ ! -f "$abidir/$flavour.retpoline" -a \ + ! -f "$abidir/$flavour.ignore.retpoline" -a \ + ! -f "$abidir/ignore.retpoline" ] + then + failure "$arch/$flavour ABI retpoline file missing" + fi +} + +abi_version="$debian/abi/version" +if ! [ -f "$abi_version" ] +then + failure "$abi_version ABI version file missing" +fi + +version=$(cat "$abi_version") +if [ "$abi" != "$version" ] +then + failure "$abi_version ABI version mismatch ($abi != $version)" +fi + +if [ -d debian/certs ]; then + if ! grep -q '^CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem"$' $debian/config/config.common.ubuntu; then + failure "'CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem"' is required" + fi +fi + +if [ -d debian/revoked-certs ]; then + if ! grep -q '^CONFIG_SYSTEM_REVOCATION_KEYS="debian/canonical-revoked-certs.pem"$' $debian/config/config.common.ubuntu; then + failure "'CONFIG_SYSTEM_REVOCATION_KEYS="debian/canonical-revoked-certs.pem"' is required" + fi +fi + +for arch in $archs +do + image_pkg=$(awk -F '\\s*=\\s*' '$1 == "do_flavour_image_package" { print $2 }' $debian/rules.d/$arch.mk) + if [ "$image_pkg" = "false" ]; then + continue + fi + if [ ! -f "$debian/rules.d/$arch.mk" ]; then + continue + fi + flavours=$( + awk '/^\s*flavours\s*=/{ + sub(/^\s*flavours\s*=\s*/, ""); + print + }' "$debian/rules.d/$arch.mk") + for flavour in $flavours + do + flavour=$(echo "$flavour" | sed -e 's@.*/config.flavour.@@') + abi_check "$debian/abi" "$arch" "$flavour" + done +done + +exit "$fail" --- linux-gcp-5.19.0.orig/debian/scripts/misc/find-missing-sauce.sh +++ linux-gcp-5.19.0/debian/scripts/misc/find-missing-sauce.sh @@ -0,0 +1,15 @@ +#!/bin/bash +# +# Find the 'UBUNTU: SAUCE:' patches that have been dropped from +# the previous release. +# +PREV_REL=focal +PREV_REPO=git://kernel.ubuntu.com/ubuntu/ubuntu-${PREV_REL}.git + +git fetch ${PREV_REPO} master-next +git log --pretty=oneline FETCH_HEAD|grep SAUCE|while read c m;do echo $m;done |sort > $$.prev-rel +git log --pretty=oneline |grep SAUCE|while read c m;do echo $m;done |sort > $$.curr-rel + +diff -u $$.prev-rel $$.curr-rel |grep "^-" +rm -f $$.prev-rel $$.curr-rel + --- linux-gcp-5.19.0.orig/debian/scripts/misc/fw-to-ihex.sh +++ linux-gcp-5.19.0/debian/scripts/misc/fw-to-ihex.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +F=$1 +if [ "$F" = "" ] +then + echo You must supply a firmware file. + exit 1 +fi + +echo "unsigned char d[] = {" > $F.c +hexdump -v -e '"\t" 8/1 "0x%02x, " "\n"' $F >> $F.c +echo "};" >> $F.c +sed -i 's/0x .*$//' $F.c + +O="`dirname $F`/`basename $F`.o" +gcc -o $O -c $F.c +objcopy -Oihex $F.o $F.ihex + --- linux-gcp-5.19.0.orig/debian/scripts/misc/gen-auto-reconstruct +++ linux-gcp-5.19.0/debian/scripts/misc/gen-auto-reconstruct @@ -0,0 +1,89 @@ +#!/bin/bash + +if [ "$#" -ne 3 ]; then + echo "Usage: $0 | " 1>&2 + exit 1 +fi +tag="$1" +reconstruct="$2" +options="$3" + +case "$tag" in +v*) ;; +*) tag="v${tag%.*}" ;; +esac + +# Validate the tag. +count=$( git tag -l "$tag" | wc -l ) +if [ "$count" != 1 ]; then + echo "$0: $tag: tag invalid" 1>&2 + exit 1 +fi + +#git ls-tree -r --full-tree HEAD | grep ^120 | \ +#while read mode type blobid name + +( + # Identify all new symlinks since the proffered tag. + echo "# Recreate any symlinks created since the orig." + git diff "$tag.." --raw --no-renames | awk '(/^:000000 120000/ && $5 == "A") { print $NF }' | \ + while read name + do + link=$( readlink "$name" ) + + echo "[ ! -L '$name' ] && ln -sf '$link' '$name'" + done + + # Identify all removed files since the proffered tag. + echo "# Remove any files deleted from the orig." + git diff "$tag.." --raw --no-renames | awk '(/^:/ && $5 == "D") { print $NF }' | \ + while read name + do + echo "rm -f '$name'" + done + + # Identify files with execute permissions added since the proffered tag. + git diff "$tag.." --raw --no-renames | awk -F '[: \t]' '{print $2, $3, $NF }' | \ + while IFS=" " read old new name + do + old=$( printf "0%s" $old ) + new=$( printf "0%s" $new ) + changed=$(( (old ^ new) & 0111 )) + if [ "$changed" -ne 0 ]; then + added=$(( new & 0111 )) + if [ "$added" -ne 0 ]; then + echo "chmod +x '$name'" + else + echo "chmod -x '$name'" + fi + fi + done + + # All done, make sure this does not complete in error. + echo "exit 0" +) >"$reconstruct" + +( + # Identify all new symlinks since the proffered tag. + echo "# Ignore any symlinks created since the orig which are rebuilt by reconstruct." + git diff "$tag.." --raw --no-renames | awk '(/^:000000 120000/ && $5 == "A") { print $NF }' | \ + while read name + do + echo "extend-diff-ignore=^$name\$" + done +) >"$options.update" + + +head='^## autoreconstruct -- begin$' +foot='^## autoreconstruct -- end$' +sed -i -e " + /$head/,/$foot/{ + /$head/{ + p; + r $options.update + }; + /$foot/p; + d + } +" "$options" +rm -f "$options.update" --- linux-gcp-5.19.0.orig/debian/scripts/misc/getabis +++ linux-gcp-5.19.0/debian/scripts/misc/getabis @@ -0,0 +1,219 @@ +#!/bin/bash + +export LC_ALL=C.UTF-8 + +if [ "$#" = "1" ]; then + set - $(echo "$1" | sed -e 's/-/ /') +fi +if [ "$#" != "2" ]; then + echo "Usage: $0 " 1>&2 + echo "Usage: $0 " 1>&2 + exit 1 +fi + +if [ "$DEBIAN" = "" ]; then + . debian/debian.env +fi + +ver=$1 +revision=$2 +abi=${revision%%.*} + +verabi=$ver-$abi +verfull=$ver-$revision + +WGET="wget --tries=1 --timeout=10 --quiet -c" + +# Check if we use a flat (unversioned) ABI directory +if [ -f "${DEBIAN}/abi/version" ] || \ + grep -qP '^abidir\s+.*/__abi.current/' debian/rules.d/0-common-vars.mk ; then + echo "Using flat ABI directory" + flat_abi=1 + abidir=$(pwd)/${DEBIAN}/abi +else + echo "Using versioned ABI directory" + flat_abi=0 + abidir=$(pwd)/${DEBIAN}/abi/${verfull} +fi + +tmpdir="`pwd`/abi-tmp-$verfull" +origdir="`pwd`" +fwinfo=$abidir/fwinfo + +test -d $tmpdir || mkdir $tmpdir + +package_prefixes() { + : # no longer used ... +} + +getall() { + arch=$1 + shift + + mkdir -p $abidir/$arch + + for sub in $@; do + if [ -f $abidir/$arch/$sub ]; then + echo "Existing $sub($arch)..." + continue + fi + echo "Fetching $sub($arch)..." + getall_set "linux-buildinfo" "$arch" "$sub" || \ + getall_set "linux-image-unsigned linux-modules linux-modules-extra" "$arch" "$sub" || \ + getall_set "linux-image-unsigned linux-modules" "$arch" "$sub" || \ + getall_set "linux-image linux-modules linux-modules-extra" "$arch" "$sub" || \ + getall_set "linux-image linux-modules" "$arch" "$sub" || \ + getall_set "linux-image linux-image-extra" "$arch" "$sub" || \ + getall_set "linux-image" "$arch" "$sub" || \ + { echo "FAILED"; exit 1; } + done +} +getall_set() +{ + prefixes="$1" + arch="$2" + sub="$3" + ( + echo -n " set:" + filenames="" + cd $tmpdir + found=1 + for prefix in $prefixes + do + echo -n " $prefix=" + if [ "$found" = 0 ]; then + echo -n "-" + continue + fi + filename=${prefix}-${verabi}-${sub}_${verfull}_${arch}.deb + for r in "${repo_list[@]}" + do + if ! [ -f $filename ]; then + $WGET $r/$filename + rc="$?" + # If this was not successful or a valid error + # return from the server all bets are off, bail. + [ "$rc" != 0 -a "$rc" != 8 ] && return 2 + fi + if [ -f $filename ]; then + echo -n "y" + filenames="$filenames $filename" + break + fi + done + if [ ! -f "$filename" ]; then + echo -n "n" + found=0 + fi + done + echo "" + if [ "$found" = 0 ]; then + return 1 + fi + echo " extracting..." + for filename in $filenames + do + dpkg-deb --extract $filename tmp + done + # FORM 1: linux-image et al extracted here. + if [ -d tmp/boot ]; then + echo " images..." + find tmp -name "*.ko" | while read f; do + modinfo $f | grep ^firmware >> $fwinfo + done + if [ -f tmp/boot/abi-* ]; then + mv tmp/boot/abi-* $abidir/$arch/$sub + else + echo " NO ABI FILE" + fi + if [ -f tmp/boot/retpoline-* ]; then + mv tmp/boot/retpoline-* $abidir/$arch/$sub.retpoline + else + echo " NO RETPOLINE FILE" + fi + (cd tmp; find lib/modules/$verabi-$sub/kernel -name '*.ko') | \ + sed -e 's/.*\/\([^\/]*\)\.ko/\1/' | sort > \ + $abidir/$arch/$sub.modules + ( + cd tmp; + # Prevent exposing some errors when called by python scripts. SIGPIPE seems to get + # exposed when using the `find ...` form of the command. + ko=$(find lib/modules/$verabi-$sub/kernel \ + -name '*.ko' | head -1) + readelf -p .comment "$ko" | gawk ' + ($1 == "[") { + printf("%s", $3); + for (n=4; n<=NF; n++) { + printf(" %s", $n); + } + print "" + }' | sort -u >$abidir/$arch/$sub.compiler + version=`cat $abidir/$arch/$sub.compiler` + echo " $version" + ) + # FORM 2: moduleinfo packages + # cranky fix -- modinfo supported + else + echo " buildinfo..." + base="tmp/usr/lib/linux/${verabi}-${sub}" + mv "$base/abi" "$abidir/$arch/$sub" + for comp in 'modules' 'retpoline' 'compiler' + do + mv "$base/$comp" "$abidir/$arch/$sub.$comp" + done + cat "$base/fwinfo" >>"$fwinfo" + if [ -e "${base}"/fwinfo.builtin ] ; then + cat "${base}"/fwinfo.builtin >> "${fwinfo}".builtin + fi + fi + rm -rf tmp $filenames + echo " done" + ) + rc="$?" + if [ "$rc" = 2 ]; then + echo "ERROR: downloads are reporting network failures" 1>&2 + exit 1 + fi + return "$rc" +} + +# MAIN + +# Setup abi directory +rm -rf "${abidir}" +mkdir -p $abidir +echo $abi > $abidir/abiname +if [ ${flat_abi} -eq 1 ] ; then + echo "${verfull}" > "${abidir}"/version +fi + +# NOTE: The flavours are hardcoded, because they may have changed from the +# current build. + +. $DEBIAN/etc/getabis + +# Extract compiler source package version from e.g.: +# GCC: (Ubuntu/Linaro 4.8.2-19ubuntu1) 4.8.2 +compilers=`sed 's/^.*(.* \(.*\)).*$/\1/' $abidir/*/*.compiler | sort -u | wc -l` +if [ "$compilers" != 1 ]; then + echo "WARNING: inconsistent compiler versions detected:" 1>&2 + sort -u $abidir/*/*.compiler | sed 's/^/WARNING: /' 1>&2 +fi + +# Sort fwinfo files +sort < $fwinfo | uniq > fwinfo.tmp +mv fwinfo.tmp $fwinfo +if [ -e "${fwinfo}".builtin ] ; then + sort < "${fwinfo}".builtin | uniq > fwinfo.tmp + mv fwinfo.tmp "${fwinfo}".builtin +fi + +rmdir $tmpdir + +# If this is running in a git repo, add the new ABI directory, remove the old +if [ -d ".git" ]; then + git add "${abidir}" + if [ ${flat_abi} -eq 0 ] ; then + find "$DEBIAN"/abi/* -maxdepth 0 -type d | grep -v "$verfull" | while read f; do git rm -rf "$f"; done + fi +fi --- linux-gcp-5.19.0.orig/debian/scripts/misc/git-ubuntu-log +++ linux-gcp-5.19.0/debian/scripts/misc/git-ubuntu-log @@ -0,0 +1,166 @@ +#!/usr/bin/env python3 + +import sys + +import codecs +import urllib.request +import json + +import textwrap + +sys.stdin = codecs.getreader("utf-8")(sys.stdin.detach()) +sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach()) + +entries = [] + + +def add_entry(entry): + if entry and 'ignore' not in entry: + combo = [] + for bug in set(entry.get('bugs', [])): + combo.append(bug) + for cve in set(entry.get('cves', [])): + combo.append(cve) + combo = sorted(combo) + + if len(combo) == 0: + if entry.get('subject', "").startswith('UBUNTU'): + combo = '__packaging__' + else: + combo = '__mainline__' + else: + if entry.get('subject', "") == 'UBUNTU: link-to-tracker: update tracking bug': + # Construct a key with '__trackingbug__' on the first position + # and the tracking bug number afterwards + combo.insert(0, '__trackingbug__') + # Tracking bug goes at the top + keys.insert(0, combo) + else: + if combo not in keys: + keys.append(combo) + + entry['key'] = combo + entries.append(entry) + + +# Suck up the git log output and extract the information we need. +keys = [] +entry = None +subject_wait = False +for line in sys.stdin: + if line.startswith('commit '): + add_entry(entry) + entry = {} + subject_wait = True + + elif line.startswith('Author: '): + bits = line.strip().split(maxsplit=1) + entry['author'] = bits[1] + + elif subject_wait and line.startswith(' '): + subject_wait = False + entry['subject'] = line.strip() + + elif line.startswith(' BugLink: '): + bits = line.strip().split(maxsplit=2) + if len(bits) > 2: + # There is text after the URL, so use that (after stripping the + # enclosing characters) + entry.setdefault('bugs', []).append(bits[2][1:-1]) + elif 'launchpad.net' in bits[1]: + # Extract the bug number from the launchpad URL + bits = bits[1].split('/') + entry.setdefault('bugs', []).append(bits[-1]) + + elif line.startswith(' CVE-'): + entry.setdefault('cves', []).append(line.strip()) + + elif line.startswith(' Ignore:'): + entry['ignore'] = True + + elif line.startswith(' Properties:'): + for prop in line.strip().split()[1:]: + if prop in ('ignore', 'no-changelog'): + entry['ignore'] = True + +add_entry(entry) + +entries.reverse() + +# Go through the entries and clear out authors for upstream commits. +for entry in entries: + if entry['subject'].startswith('UBUNTU:'): + entry['subject'] = entry['subject'][7:].strip() + else: + del entry['author'] + +# Lump everything without a bug at the bottom. +keys.append('__packaging__') +keys.append('__mainline__') + +emit_nl = False +for key in keys: + if key == '__packaging__': + title_set = ['Miscellaneous Ubuntu changes'] + elif key == '__mainline__': + title_set = ['Miscellaneous upstream changes'] + else: + title_set = [] + for bug in key: + if bug.startswith('CVE-'): + title_set.append(bug) + elif bug == '__trackingbug__': + # Look for the tracking bug number on the second + # position of the key + continue + elif bug.isdigit(): + # Assume that it is an LP bug number if 'bug' contains only digits + bug_info = None + + try: + # urllib.request.urlcleanup() + request = urllib.request.Request('https://api.launchpad.net/devel/bugs/' + bug) + request.add_header('Cache-Control', 'max-age=0') + with urllib.request.urlopen(request) as response: + data = response.read() + bug_info = json.loads(data.decode('utf-8')) + + title = bug_info['title'] + if 'description' in bug_info: + for line in bug_info['description'].split('\n'): + if line.startswith('Kernel-Description:'): + title = line.split(' ', 1)[1] + + except urllib.error.HTTPError: + title = 'INVALID or PRIVATE BUG' + + title += ' (LP###' + bug + ')' + title_set.append(title) + else: + # Finally treat 'bug' itself as the title + title_set.append(bug) + + emit_title = True + for entry in entries: + if entry['key'] != key: + continue + + if emit_title: + if emit_nl: + print('') + emit_nl = True + + title_lines = textwrap.wrap('#// '.join(title_set), 76) + print(' * ' + title_lines[0].replace('LP###', 'LP: #').replace('#//', ' //')) + for line in title_lines[1:]: + line = line.replace('LP###', 'LP: #').replace('#//', ' //') + print(' ' + line) + + emit_title = False + + if key[0] != '__trackingbug__': + title_lines = textwrap.wrap(entry['subject'], 76) + print(' - ' + title_lines[0]) + for line in title_lines[1:]: + line = line.replace('LP###', 'LP: #') + print(' ' + line) --- linux-gcp-5.19.0.orig/debian/scripts/misc/insert-changes +++ linux-gcp-5.19.0/debian/scripts/misc/insert-changes @@ -0,0 +1,42 @@ +#!/usr/bin/python3 + +import os +import sys + +from subprocess import check_output + +droot = 'debian' +if len(sys.argv) > 1: + droot = sys.argv[1] + +debian = 'debian.master' +if len(sys.argv) > 2: + debian = sys.argv[2] + +rules = os.path.join(droot, 'rules') +changelog = os.path.join(debian, 'changelog') +changelog_new = os.path.join(debian, 'changelog.new') + +# Generate the list of new changes +changes = check_output(['make', '-s', '-f', rules, 'printchanges']).decode('UTF-8') + +# Insert the new changes into the changelog +with open(changelog) as orig, open(changelog_new, 'w') as new: + printed = False + skip_newline = False + for line in orig: + if line.startswith(' CHANGELOG: '): + if not printed: + printed = True + if changes == '': + skip_newline = True + continue + new.write(changes) + else: + if skip_newline and line.strip() == '': + skip_newline = False + continue + new.write(line) + +# Replace the original changelog with the new one +os.rename(changelog_new, changelog) --- linux-gcp-5.19.0.orig/debian/scripts/misc/insert-mainline-changes +++ linux-gcp-5.19.0/debian/scripts/misc/insert-mainline-changes @@ -0,0 +1,42 @@ +#!/usr/bin/perl + +if ($#ARGV != 2) { + warn "Usage: $0 \n"; + die " $0 debian.master/changelog v3.2.3 v3.2.2..v3.2.3\n"; +} +my ($changelog, $to, $range) = @ARGV; + +my @changes = (); + +push(@changes, "\n"); +push(@changes, " [ Upstream Kernel Changes ]\n\n"); +push(@changes, " * rebase to $to\n"); + +open(LOG, "git log '$range'|") || die "$0: git log failed: - $!\n"; +while () { + if (m@BugLink: .*launchpad.net/.*/([0-9]+)\s$@) { + push(@changes, " - LP: #$1\n"); + } +} +close(LOG); + +open(CHANGELOG, "< $changelog") or die "Cannot open changelog"; +open(NEW, "> $changelog.new") or die "Cannot open new changelog"; + +$printed = 3; +while () { + if (/^ CHANGELOG: /) { + $printed--; + print NEW; + if ($printed == 0) { + print NEW @changes; + } + next; + } + print NEW; +} + +close(NEW); +close(CHANGELOG); + +rename("$changelog.new", "$changelog"); --- linux-gcp-5.19.0.orig/debian/scripts/misc/insert-ubuntu-changes +++ linux-gcp-5.19.0/debian/scripts/misc/insert-ubuntu-changes @@ -0,0 +1,83 @@ +#!/usr/bin/perl + +if ($#ARGV != 2 && $#ARGV != 3) { + die "Usage: $0 []\n"; +} +if ($#ARGV == 2) { + push(@ARGV, "debian.master/changelog") +} +my ($changelog, $end, $start, $source_changelog) = @ARGV; + +$end =~ s/^\D+//; +$start =~ s/^\D+//; + +sub version_cmp($$) { + my @a = split(/[\.-]+/, $_[0]); + my @b = split(/[\.-]+/, $_[1]); + for (my $i = 1;; $i++) { + if (!defined $a[$i]) { + if (!defined $b[$i]) { + return 0; + } + return -1; + } + if (!defined $b[$i]) { + return 1; + } + if ($a[$i] < $b[$i]) { + return -1; + } + if ($a[$i] > $b[$i]) { + return 1; + } + } +} + +my @changes = (); +my $output = 0; +open(CHG, "<$source_changelog") || + open(CHG, ") { + if (/^\S+\s+\((.*)\)/) { + if (version_cmp($1, $end) <= 0) { + last; + } + if ($1 eq $start) { + $output = 1; + } + if ($output) { + push(@changes, "\n [ Ubuntu: $1 ]\n\n"); + next; + } + } + next if ($output == 0); + + next if (/^\s*$/); + next if (/^\s--/); + next if (/^\s\s[^\*\s]/); + + push(@changes, $_); +} +close(CHG); + +open(CHANGELOG, "< $changelog") or die "Cannot open changelog"; +open(NEW, "> $changelog.new") or die "Cannot open new changelog"; + +$printed = 3; +while () { + if (/^ CHANGELOG: /) { + $printed--; + print NEW; + if ($printed == 0) { + print NEW @changes; + } + next; + } + print NEW; +} + +close(NEW); +close(CHANGELOG); + +rename("$changelog.new", "$changelog"); --- linux-gcp-5.19.0.orig/debian/scripts/misc/kernelconfig +++ linux-gcp-5.19.0/debian/scripts/misc/kernelconfig @@ -0,0 +1,218 @@ +#!/bin/bash + +. debian/debian.env + +# Script to merge all configs and run 'make syncconfig' on it to wade out bad juju. +# Then split the configs into distro-commmon and flavour-specific parts + +# We have to be in the top level kernel source directory +if [ ! -f MAINTAINERS ] || [ ! -f Makefile ]; then + echo "This does not appear to be the kernel source directory." 1>&2 + exit 1 +fi + +mode=${1:?"Usage: $0 (oldconfig|editconfig) [do_enforce_all]"} +do_enforce_all=${2:-0} +yes=0 +case "$mode" in + update*configs) mode='syncconfig' ;; + default*configs) mode='oldconfig'; yes=1 ;; + edit*configs) ;; # All is good + gen*configs) mode='genconfigs' ;; # All is good + dump*configs) mode='config'; yes=1 ;; + *) echo "$0 called with invalid mode" 1>&2 + exit 1 ;; +esac + +if [ -z "$gcc" ]; then + echo "ERROR: gcc environment variable must be set" + exit 1 +fi + +kerneldir="`pwd`" +confdir="$kerneldir/${DEBIAN}/config" +variant="$2" + +. $DEBIAN/etc/kernelconfig + +bindir="`pwd`/${DROOT}/scripts/misc" +common_conf="$confdir/config.common.ubuntu" +tmpdir=`mktemp -d` +mkdir "$tmpdir/CONFIGS" + +if [ "$mode" = "genconfigs" ]; then + keep=1 + mode="oldconfig" + test -d CONFIGS || mkdir CONFIGS +fi + +warning_partial= + +for arch in $archs; do + rm -rf build + mkdir build + + # Map debian archs to kernel archs + case "$arch" in + ppc64|ppc64el) kernarch="powerpc" ;; + amd64) kernarch="x86_64" ;; + lpia) kernarch="x86" ;; + sparc) kernarch="sparc64" ;; + armel|armhf) kernarch="arm" ;; + s390x) kernarch="s390" ;; + riscv64) kernarch="riscv" ;; + *) kernarch="$arch" ;; + esac + + # Determine cross toolchain to use for Kconfig compiler tests + cross_compile="$(dpkg-architecture -qDEB_HOST_GNU_TYPE -a$arch 2>/dev/null)-" + + # Arch-specific compiler, if any + archgcc=$(echo -e "show-%:\n\t@echo \$(\$*)\ninclude $DEBIAN/rules.d/$arch.mk" | make -s -f - show-gcc) + + # Environment variables for 'make *config'. We omit CROSS_COMPILE + # for i386 since it is no longer supported after 19.04, however + # we maintain the configs for hwe. + modify_config=true + env="ARCH=$kernarch DEB_ARCH=$arch" + compiler_path=$(which "${cross_compile}${archgcc:-$gcc}" || true) + if [ "$compiler_path" != '' ]; then + env="$env CROSS_COMPILE=$cross_compile CC=$compiler_path" + else + echo "WARNING: ${cross_compile}gcc not installed" + modify_config= + warning_partial="$warning_partial $arch" + fi + + archconfdir=$confdir/$arch + flavourconfigs=$(cd $archconfdir && ls config.flavour.*) + + # Merge configs + # We merge config.common.ubuntu + config.common. + + # config.flavour. + + for config in $flavourconfigs; do + fullconf="$tmpdir/$arch-$config-full" + case $config in + *) + : >"$fullconf" + if [ -f $common_conf ]; then + cat $common_conf >> "$fullconf" + fi + if [ -f $archconfdir/config.common.$arch ]; then + cat $archconfdir/config.common.$arch >> "$fullconf" + fi + cat "$archconfdir/$config" >>"$fullconf" + if [ -f $confdir/OVERRIDES ]; then + cat $confdir/OVERRIDES >> "$fullconf" + fi + ;; + esac + done + + for config in $flavourconfigs; do + if [ -f $archconfdir/$config ]; then + fullconf="$tmpdir/$arch-$config-full" + cat "$fullconf" > build/.config + # Call oldconfig or menuconfig + if [ "$modify_config" ]; then + case "$mode" in + editconfigs) + # Interactively edit config parameters + while : ; do + echo -n "Do you want to edit config: $arch/$config? [Y/n] " + read choice + case "$choice" in + y* | Y* | "" ) + make O=`pwd`/build $conc_level $env menuconfig + break ;; + n* | N* ) + # 'syncconfig' prevents + # errors for '-' options set + # in common config fragments + make O=`pwd`/build $conc_level $env syncconfig + break ;; + *) + echo "Entry not valid" + esac + done + ;; + *) + echo "* Run $mode (yes=$yes) on $arch/$config ..." + if [ "$yes" -eq 1 ]; then + yes "" | make O=`pwd`/build $conc_level $env "$mode" + else + make O=`pwd`/build $conc_level $env "$mode" + fi ;; + esac + fi + cat build/.config > $archconfdir/$config + [ "$modify_config" ] && cat build/.config >"$tmpdir/CONFIGS/$arch-$config" + if [ "$keep" = "1" ]; then + cat build/.config > CONFIGS/$arch-$config + fi + else + echo "!! Config not found $archconfdir/$config..." + fi + done + + echo "Running splitconfig.pl for $arch" + echo + + # Can we make this more robust by avoiding $tmpdir completely? + # This approach was used for now because I didn't want to change + # splitconfig.pl + (cd $archconfdir; $bindir/splitconfig.pl config.flavour.*; mv config.common \ + config.common.$arch; cp config.common.$arch $tmpdir) +done + +rm -f $common_conf + +# Now run splitconfig.pl on all the config.common. copied to +# $tmpdir +(cd $tmpdir; $bindir/splitconfig.pl *) +( + cd $confdir; + rm -f *-full + grep -v 'is UNMERGABLE' <$tmpdir/config.common >$common_conf + for arch in $archs; do + grep -v 'is UNMERGABLE' <$tmpdir/config.common.$arch \ + >$arch/config.common.$arch + done +) + +echo "" +echo "Running config-check for all configurations ..." +echo "" +fail=0 +for arch in $archs; do + archconfdir=$confdir/$arch + flavourconfigs=$(cd $archconfdir && ls config.flavour.*) + for config in $flavourconfigs; do + flavour="${config##*.}" + if [ -f $archconfdir/$config ]; then + fullconf="$tmpdir/CONFIGS/$arch-$config" + [ ! -f "$fullconf" ] && continue + "$bindir/../config-check" "$fullconf" "$arch" "$flavour" "$confdir" "0" "$do_enforce_all" || let "fail=$fail+1" + fi + done +done + +rc=0 +if [ "$fail" != 0 ]; then + rc=1 + echo "" + echo "*** ERROR: $fail config-check failures detected" + echo "" +fi + +rm -rf build + +if [ "$warning_partial" ]; then + rc=1 + echo "" + echo "WARNING: configuration operation applied only to a subset of architectures (skipped$warning_partial)" 1>&2 + echo "" +fi + +exit "${rc}" --- linux-gcp-5.19.0.orig/debian/scripts/misc/retag +++ linux-gcp-5.19.0/debian/scripts/misc/retag @@ -0,0 +1,34 @@ +#!/usr/bin/perl -w + +open(TAGS, "git tag -l |") or die "Could not get list of tags"; +@tags = ; +close(TAGS); + +open(LOGS, "git log --pretty=short |") or die "ERROR: Calling git log"; +my $commit = ""; + +while () { + my $origtag; + + if (m|^commit (.*)$|) { + $commit = $1; + next; + } + + m|\s*UBUNTU: (Ubuntu-2\.6\..*)| or next; + + $tag = $1; + + ($origtag) = grep(/^$tag.orig$/, @tags); + + if (!defined($origtag)) { + print "I: Adding original tag for $tag\n"; + system("git tag -m $tag $tag.orig $tag"); + } + + print "I: Tagging $tag => $commit\n"; + + system("git tag -f -m $tag $tag $commit"); +} + +close(LOGS); --- linux-gcp-5.19.0.orig/debian/scripts/misc/splitconfig.pl +++ linux-gcp-5.19.0/debian/scripts/misc/splitconfig.pl @@ -0,0 +1,107 @@ +#!/usr/bin/perl -w + +%allconfigs = (); +%common = (); + +print "Reading config's ...\n"; + +for $config (@ARGV) { + # Only config.* + next if $config !~ /^config\..*/; + # Nothing that is disabled, or remnant + next if $config =~ /.*\.(default|disabled|stub)$/; + + %{$allconfigs{$config}} = (); + + print " processing $config ... "; + + open(CONFIG, "< $config"); + + while () { + # Skip comments + /^#*\s*CONFIG_(\w+)[\s=](.*)$/ or next; + + ${$allconfigs{$config}}{$1} = $2; + + $common{$1} = $2; + } + + close(CONFIG); + + print "done.\n"; +} + +print "\n"; + +print "Merging lists ... \n"; + +# %options - pointer to flavour config inside the allconfigs array +for $config (keys(%allconfigs)) { + my %options = %{$allconfigs{$config}}; + + print " processing $config ... "; + + for $key (keys(%common)) { + next if not defined $common{$key}; + + # If we don't have the common option, then it isn't + # common. If we do have that option, it must have the same + # value. EXCEPT where this file does not have a value at all + # which may safely be merged with any other value; the value + # will be elided during recombination of the parts. + if (!defined($options{$key})) { + # Its ok really ... let it merge + } elsif (not defined($options{$key})) { + undef $common{$key}; + } elsif ($common{$key} ne $options{$key}) { + undef $common{$key}; + } + } + + print "done.\n"; +} + +print "\n"; + +print "Creating common config ... "; + +open(COMMON, "> config.common"); +print COMMON "#\n# Common config options automatically generated by splitconfig.pl\n#\n"; + +for $key (sort(keys(%common))) { + if (not defined $common{$key}) { + print COMMON "# CONFIG_$key is UNMERGABLE\n"; + } elsif ($common{$key} eq "is not set") { + print COMMON "# CONFIG_$key is not set\n"; + } else { + print COMMON "CONFIG_$key=$common{$key}\n"; + } +} +close(COMMON); + +print "done.\n\n"; + +print "Creating stub configs ...\n"; + +for $config (keys(%allconfigs)) { + my %options = %{$allconfigs{$config}}; + + print " processing $config ... "; + + open(STUB, "> $config"); + print STUB "#\n# Config options for $config automatically generated by splitconfig.pl\n#\n"; + + for $key (sort(keys(%options))) { + next if defined $common{$key}; + + if ($options{$key} =~ /^is /) { + print STUB "# CONFIG_$key $options{$key}\n"; + } else { + print STUB "CONFIG_$key=$options{$key}\n"; + } + } + + close(STUB); + + print "done.\n"; +} --- linux-gcp-5.19.0.orig/debian/scripts/misc/tristate.sh +++ linux-gcp-5.19.0/debian/scripts/misc/tristate.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +# +# Find config variables that might be able to transition from =y to =m +# +# Example: debian/scripts/misc/tristate.sh debian.master/config/config.common.ubuntu +# + +KC=Kconfig.tmp +rm -f ${KC} +find .|grep Kconfig | while read f +do + cat $f >> ${KC} +done + +grep =y $1 | sed -e 's/CONFIG_//' -e 's/=y//' | while read c +do + cat < tristate.awk +BEGIN { tristate=0; } +/^config ${c}\$/ { tristate=1; next; } +/tristate/ { if (tristate == 1) printf("CONFIG_%s=m\n","${c}"); next; } +{ if (tristate == 1) exit; } +EOF + + gawk -f tristate.awk ${KC} +done --- linux-gcp-5.19.0.orig/debian/scripts/misc/update-aufs.sh +++ linux-gcp-5.19.0/debian/scripts/misc/update-aufs.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +AUFS=aufs4-standalone + +# +# Before you run this be sure you've removed or reverted the 'UBUNTU: SAUCE: AUFS" patch. +# +# +# Make sure the current working directory is at the top of the +# linux tree. +# +if ! grep PATCHLEVEL Makefile +then + echo "You must run this script from the top of the linux tree" + exit 1 +fi + +clean=0 +if [ "$#" = 1 ]; then + AUFS="$1" +else + clean=1 + rm -rf ${AUFS} + git clone https://github.com/sfjro/aufs5-standalone.git ${AUFS} + (cd ${AUFS}; git checkout -b aufs5.x-rcN remotes/origin/aufs5.x-rcN) +fi + +cp ${AUFS}/include/uapi/linux/aufs_type.h include/uapi/linux +rsync -av ${AUFS}/fs/ fs/ +rsync -av ${AUFS}/Documentation/ Documentation/ + +PATCHES="${PATCHES} aufs5-kbuild.patch" +PATCHES="${PATCHES} aufs5-base.patch" +PATCHES="${PATCHES} aufs5-mmap.patch" +PATCHES="${PATCHES} aufs5-standalone.patch" +PATCHES="${PATCHES} aufs5-loopback.patch" +#PATCHES="${PATCHES} vfs-ino.patch" +#PATCHES="${PATCHES} tmpfs-idr.patch" + +for i in ${PATCHES} +do + patch -p1 < ${AUFS}/$i +done + +[ "$clean" = 1 ] && rm -rf ${AUFS} +git add mm/prfile.c +git add -u +find . -name "*.orig" | xargs rm +find . |grep aufs | xargs git add +git commit -s -m"UBUNTU: SAUCE: AUFS" --- linux-gcp-5.19.0.orig/debian/scripts/module-check +++ linux-gcp-5.19.0/debian/scripts/module-check @@ -0,0 +1,113 @@ +#!/usr/bin/python3 + +import os +import sys + +if len(sys.argv) < 4 or len(sys.argv) > 5: + print('Usage: module-check []') + sys.exit(2) + +flavor, prev_abidir, abidir = sys.argv[1:4] # pylint: disable=W0632 +if len(sys.argv) > 4: + skipmodule = sys.argv[4] +else: + skipmodule = '' + +print('II: Checking modules for {}...'.format(flavor), end='') + +if ((os.path.exists('{}/ignore.modules'.format(prev_abidir)) or + os.path.exists('{}/{}.ignore.modules'.format(prev_abidir, flavor)))): + print('explicitly ignoring modules') + sys.exit(0) + +curr_modules = '{}/{}.modules'.format(abidir, flavor) +prev_modules = '{}/{}.modules'.format(prev_abidir, flavor) +if not os.path.exists(curr_modules) or not os.path.exists(prev_modules): + print('previous or current modules file missing!') + print(' {}'.format(curr_modules)) + print(' {}'.format(prev_modules)) + sys.exit(0 if skipmodule else 1) + +print() + +modules = {} +modules_ignore = {} +missing = 0 +new = 0 +errors = 0 + +# See if we have any ignores +prev_modules_ignore = '{}/../modules.ignore'.format(prev_abidir) +if os.path.exists(prev_modules_ignore): + ignore = 0 + with open(prev_modules_ignore) as fh: + for mod in fh: + mod = mod.strip() + if mod.startswith('#'): + continue + modules_ignore[mod] = 1 + ignore += 1 + print('read {} modules.'.format(ignore)) + +# Read new modules first +print(' reading new modules...', end='') +new_count = 0 +for f in (curr_modules, curr_modules + '.builtin'): + if not os.path.exists(f): + continue + with open(f) as fh: + for mod in fh: + mod = mod.strip() + modules[mod] = 1 + new_count += 1 +print('read {} modules.'.format(new_count)) + +# Now the old modules, checking for missing ones +print(' reading old modules...', end='') +old_count = 0 +for f in (prev_modules, prev_modules + '.builtin'): + if not os.path.exists(f): + continue + with open(f) as fh: + for mod in fh: + mod = mod.strip() + if mod not in modules: + if not missing: + print() + missing += 1 + if mod not in modules_ignore: + print(' MISS: {}'.format(mod)) + errors += 1 + else: + print(' MISS: {} (ignored)'.format(mod)) + else: + modules[mod] += 1 + old_count += 1 +# Check for new modules +for mod, cnt in modules.items(): + if cnt < 2: + if not missing and not new: + print() + print(' NEW: {}'.format(mod)) + new += 1 +if new or missing: + print(' read {} modules : new({}) missing({})'.format(old_count, new, missing)) +else: + print('read {} modules.'.format(old_count)) + +# Let's see where we stand... +if errors: + if skipmodule: + print('WW: Explicitly asked to ignore failures') + else: + print('EE: Missing modules') + sys.exit(1) + +if new: + print('II: New modules') +else: + print('II: No new modules') + +print('II: Done') + +sys.exit(0) --- linux-gcp-5.19.0.orig/debian/scripts/module-inclusion +++ linux-gcp-5.19.0/debian/scripts/module-inclusion @@ -0,0 +1,104 @@ +#!/bin/bash + +# +# Build a new directory of modules based on an inclusion list. +# The includsion list format must be a bash regular expression. +# +# usage: $0 ROOT INCLUSION_LIST +# example: $0 \ +# debian/build/build-virtual-ALL debian/build/build-virtual \ +# debian.master/control.d/virtual.inclusion-list \ +# virtual.depmap +master=0 +if [ "$1" = "--master" ]; then + master=1 + shift +fi + +ROOT=$1 +NROOT=$2 +ILIST=$3 +DEPMAP=$4 + +tmp="/tmp/module-inclusion.$$" + +# +# Prep a destination directory. +# +mkdir -p ${NROOT} + +{ + # Copy over the framework into the master package. + if [ "$master" -eq 1 ]; then + (cd ${ROOT}; find . ! -name "*.ko" -type f) + fi + + # Copy over modules by name or pattern. + while read -r i + do + # + # 'find' blurts a warning if it cannot find any ko files. + # + case "$i" in + \!*) + (cd ${ROOT}; ${i#!} || true) + ;; + *\**) + (cd ${ROOT}; eval find "${i}" -name "*.ko" || true) + ;; + *) + echo "$i" + ;; + esac + done <"${ILIST}" +} >"$tmp" + +# Copy over the listed modules. +while read i +do + # If this is already moved over, all is good. + if [ -f "${NROOT}/$i" ]; then + : + + # If present in the source, moved it over. + elif [ -f "${ROOT}/$i" ]; then + mkdir -p "${NROOT}/`dirname $i`" + mv "${ROOT}/$i" "${NROOT}/$i" + + # Otherwise, it is missing. + else + echo "Warning: Could not find ${ROOT}/$i" 1>&2 + fi +done <"$tmp" + +# Copy over any dependancies, note if those are missing +# we know they are in a pre-requisite package as they must +# have existed at depmap generation time, and can only have +# moved into a package. +let n=0 || true +while [ -s "$tmp" ] +do + let n="$n+1" || true + [ "$n" = "20" ] && break || true + + echo "NOTE: pass $n: dependency scan" 1>&2 + + while read i + do + grep "^$i " "$DEPMAP" | \ + while read m d + do + if [ -f "${ROOT}/$d" ]; then + echo "NOTE: pass $n: ${i} pulls in ${d}" 1>&2 + echo "$d" + mkdir -p "${NROOT}/`dirname $d`" + mv "${ROOT}/$d" "${NROOT}/$d" + fi + done + done <"$tmp" >"$tmp.new" + mv -f "$tmp.new" "$tmp" +done + +rm -f "$tmp" + +exit 0 --- linux-gcp-5.19.0.orig/debian/scripts/module-signature-check +++ linux-gcp-5.19.0/debian/scripts/module-signature-check @@ -0,0 +1,76 @@ +#!/bin/bash -eu + +flavor="${1}" +mods_dir="${2}" +mods_extra_dir="${3}" + +echo "II: Checking signature of staging modules for ${flavor}..." + +root=$(dirname "$(realpath -e "${0}")")/../.. +. "${root}"/debian/debian.env + +# Collect the signature-inclusion files +sig_incs=() +for d in debian "${DEBIAN}" ; do + if [ -f "${root}"/"${d}"/signature-inclusion ] ; then + sig_incs+=("${root}"/"${d}"/signature-inclusion) + fi +done + +if [ "${#sig_incs[@]}" -gt 0 ] ; then + echo "II: Use signature inclusion file(s):" + printf " %s\n" "${sig_incs[@]}" + sig_all=0 +else + echo "WW: Signature inclusion file(s) missing" + echo "II: All modules must be signed" + sig_all=1 +fi + +if ! [ -d "${mods_dir}" ] ; then + echo "EE: Modules directory missing:" + echo " ${mods_dir}" + exit 1 +fi + +echo "II: Checking modules directory:" +echo " ${mods_dir}" +mods_dirs=("${mods_dir}") + +if [ -d "${mods_extra_dir}" ] ; then + echo " ${mods_extra_dir}" + mods_dirs+=("${mods_extra_dir}") +fi + +pass=0 +fail=0 +while IFS= read -r mod ; do + is=0 + if /sbin/modinfo "${mod}" | grep -q "^signature:" ; then + # Module is signed + is=1 + fi + + must=0 + if [ ${sig_all} -eq 1 ] || grep -qFx "${mod##*/}" "${sig_incs[@]}" ; then + # Module must be signed + must=1 + fi + + case "${is}${must}" in + 00) echo " PASS (unsigned) : ${mod##*/}" ; pass=$((pass + 1)) ;; + 01) echo " FAIL (unsigned) : ${mod##*/}" ; fail=$((fail + 1)) ;; + 10) echo " FAIL (signed) : ${mod##*/}" ; fail=$((fail + 1)) ;; + 11) echo " PASS (signed) : ${mod##*/}" ; pass=$((pass + 1)) ;; + esac +done < <(find "${mods_dirs[@]}" -path '*/drivers/staging/*.ko' | sort) + +echo "II: Checked $((pass + fail)) modules : ${pass} PASS, ${fail} FAIL" + +if [ ${fail} -eq 0 ] ; then + echo "II: Done" + exit 0 +else + echo "EE: Modules signature failures" + exit 1 +fi --- linux-gcp-5.19.0.orig/debian/scripts/retpoline-check +++ linux-gcp-5.19.0/debian/scripts/retpoline-check @@ -0,0 +1,47 @@ +#!/bin/bash + +flavour="$1" +prev_abidir="$2" +curr_abidir="$3" +skipretpoline="$4" + +echo "II: Checking retpoline indirections for $flavour..."; + +if [ "$skipretpoline" = 'true' ]; then + echo "manual request ignoring retpoline delta" +fi + +if [ -f "$prev_abidir/ignore.retpoline" -o \ + -f "$prev_abidir/$flavour.ignore.retpoline" ]; then + echo "explicitly ignoring retpoline delta" + skipretpoline='true' +fi + +prev="$prev_abidir/$flavour.retpoline" +curr="$curr_abidir/$flavour.retpoline" +if [ ! -f "$prev" ]; then + echo "previous retpoline file missing!" + echo " $prev" + prev="/dev/null" +fi +if [ ! -f "$curr" ]; then + echo "current retpoline file missing!" + echo " $curr" + curr="/dev/null" +fi + +echo "II: retpoline delta in this package..." +rc=0 +diff -u "$prev" "$curr" || true +count=$( diff -u "$prev" "$curr" | grep '^+[^+]' | wc -l ) +if [ "$count" != 0 ]; then + rc=1 + echo "WW: $count new retpoline sequences detected" +fi + +echo "II: Done"; +if [ "$skipretpoline" = 'true' -a "$rc" -ne 0 ]; then + echo "II: ignoring errors" + exit 0 +fi +exit "$rc" --- linux-gcp-5.19.0.orig/debian/scripts/retpoline-extract +++ linux-gcp-5.19.0/debian/scripts/retpoline-extract @@ -0,0 +1,23 @@ +#!/bin/bash + +cd "$1" || exit 1 + +# Find all valid retpoline information, collate the detected and +# safe information together. Join the result to find the detected +# but non-safe elements. These are our concern. +ur_detected=$(mktemp --tmpdir "retpoline-check-XXXXXX.ur-detected") +ur_safe=$(mktemp --tmpdir "retpoline-check-XXXXXX.ur-safe") + +find "." -path './drivers/firmware/efi/libstub' -prune -o \ + -path './arch/x86/boot' -prune -o \ + -path './arch/x86/purgatory' -prune -o \ + -name \*.ur-detected -print0 | xargs -0 cat | \ + sed -e "s@^$1@@" -e "s@ $2/@ @" -e "s@^/@@" | \ + sort -k 1b,1 >"$ur_detected" +find "." -name \*.ur-safe -print0 | xargs -0 cat | \ + sed -e "s@^$1@@" -e "s@^/@@" | \ + sort -k 1b,1 >"$ur_safe" + +join -v 1 -j 1 "$ur_detected" "$ur_safe" | sed -s 's/[^ ]* *//' + +rm -f "$ur_detected" "$ur_safe" --- linux-gcp-5.19.0.orig/debian/scripts/retpoline-extract-one +++ linux-gcp-5.19.0/debian/scripts/retpoline-extract-one @@ -0,0 +1,270 @@ +#!/bin/bash + +exec &2 + exit 1 + fi +} + +# Form an associative lookup for the section numbers in the ELF symbol table. +# Uses 8 character 0 expanded hexadecimal key for ease of consumption. +__sectionmap_init() +{ + readelf -W --headers "$1" | \ + awk ' + { sub("\\[", ""); sub("\\]", ""); } + ($1 ~ /^[0-9][0-9]*/) { printf("%08x %s %s %s\n", int($1), $2, $3, $4); } + ' | \ + { + while read section_num section_name section_type section_vma + do + echo "sectionmap_$section_num='$section_name'" + echo "sectionvma_$section_num='$section_vma'" + case "$section_type" in + REL|RELA) section_relocation="$section_type" ;; + esac + done + echo "section_relocation='$section_relocation'" + } +} +sectionmap_init() +{ + eval $(__sectionmap_init "$1") +} +sectionmap() +{ + eval RET="\$sectionmap_$1" + if [ "$RET" = '' ]; then + echo "sectionmap: $1: invalid section" 1>&2 + exit 1 + fi +} +sectionvma() +{ + eval RET="\$sectionvma_$1" + if [ "$RET" = '' ]; then + echo "sectionvma: $1: invalid section" 1>&2 + exit 1 + fi +} + +# Read and parse the hex-dump output. +hex="[0-9a-f]" +hex_8="$hex$hex$hex$hex$hex$hex$hex$hex" +hexspc="[0-9a-f ]" +hexspc_8="$hexspc$hexspc$hexspc$hexspc$hexspc$hexspc$hexspc$hexspc" + +raw32() +{ + readelf --hex-dump "$2" "$1" 2>/dev/null | + sed \ + -e '/^Hex/d' -e '/^$/d' -e '/^ *NOTE/d' \ + -e 's/ *[^ ][^ ]* *\('"$hex_8"'\) \('"$hexspc_8"'\) \('"$hexspc_8"'\) \('"$hexspc_8"'\) .*/\1 \2 \3 \4 /' \ + -e 's/\('"$hex$hex"'\)\('"$hex$hex"'\)\('"$hex$hex"'\)\('"$hex$hex"'\) /\4\3\2\1 /g' \ + -e 's/ $//g' -e 's/ /\n/g' +} +#-e 's/\([^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ]\) \([^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ]\) /\2\1 /g' \ + +rela() +{ + #file="$(basename "$1")" + file="$1" + + # Read relocation information for a 64bit binary. Each relocation entry + # is 3 long longs so we collect 6 quads here. Note that the dump is in + # listed in increasing byte order not withstanding the quad split. + # + # The record says to take the value of add and + # shove that into in the segment of the . + # + # Format: + # 64 bits + # 32 bits + # 32 bits + # 64 bits + raw32 "$1" ".rela$SECTION" | \ + { + a1=''; a2=''; a3=''; a4=''; a5='' + while read a6 + do + [ "$a1" = '' ] && { a1="$a6"; continue; } + [ "$a2" = '' ] && { a2="$a6"; continue; } + [ "$a3" = '' ] && { a3="$a6"; continue; } + [ "$a4" = '' ] && { a4="$a6"; continue; } + [ "$a5" = '' ] && { a5="$a6"; continue; } + + #echo ">$a1< >$a2< >$a3< >$a4< >$a5< >$a6<" 1>&2 + #echo "type<$a3> symbol<$a4> offset<$a2$a1> addr<$a6a5>" 1>&2 + + symbolmap "$a4"; section_num="$RET" + #echo "section_num<$section_num>" 1>&2 + + sectionmap "$section_num"; section="$RET" + sectionvma "$section_num"; vma="$RET" + #echo "section<$section> vma<$vma>" 1>&2 + + # Adjust the segment addressing by the segment offset. + printf -v addr "%u" "0x$a6$a5" + printf -v vma "%u" "0x$vma" + let offset="$addr + $vma" + printf -v offset "%x" "$offset" + + echo "$file-$section-$offset" + + a1=''; a2=''; a3=''; a4=''; a5='' + done + } | sed -e 's/-00*\([0-9a-f]\)/-\1/' +} + +# Form an associative lookup for the raw contents for an ELF section. +# Uses 8 character 0 expanded hexadecimal key for ease of consumption. +contentmap_init() +{ + raw32 "$1" "$2" >"$tmp" + let offset=0 + while read value + do + printf -v offset_hex "%08x" $offset + eval contentmap_$offset_hex=\'$value\' + + let offset="$offset + 4" + done <"$tmp" + rm -f "$tmp" +} +contentmap() +{ + eval RET="\$contentmap_$1" + if [ "$RET" = '' ]; then + echo "contentmap: $1: invalid offset" 1>&2 + exit 1 + fi +} + +rel() +{ + # Load up the current contents of the $SECTION segment + # as the offsets (see below) are recorded there and we will need + # those to calculate the actuall address. + contentmap_init "$1" "$SECTION" + + #file="$(basename "$1")" + file="$1" + + # Read relocation information for a 32bit binary. Each relocation entry + # is 3 longs so we collect 3 quads here. Note that the dump is in + # listed in increasing byte order not withstanding the quad split. + # + # The record says to take the value of and add that to the + # existing contents of in the segment of the . + # + # Format: + # 32 bits + # 24 bits + # 8 bits + raw32 "$1" ".rel$SECTION" | \ + { + a1='' + while read a2 + do + [ "$a1" = '' ] && { a1="$a2"; continue; } + + #echo ">$a1< >$a2<" + contentmap "$a1"; offset="$RET" + symbolmap "00${a2%??}"; section_num="$RET" + + sectionmap "$section_num"; section="$RET" + sectionvma "$section_num"; vma="$RET" + #echo ">$a1< >$a2< >$offset< >$section<" + + echo "$file-$section-$offset" + + a1='' + done + } | sed -e 's/-00*\([0-9a-f]\)/-\1/' +} + +tmp=$(mktemp --tmpdir "retpoline-extract-XXXXXX") + +disassemble() +{ + local object="$1" + local src="$2" + local options="$3" + local selector="$4" + + objdump $options --disassemble --no-show-raw-insn "$object" | \ + awk -F' ' ' + BEGIN { file="'"$object"'"; src="'"$src"'"; } + /Disassembly of section/ { segment=$4; sub(":", "", segment); } + /^[0-9a-f][0-9a-f]* <.*>:/ { tag=$0; sub(".*<", "", tag); sub(">.*", "", tag); } + $0 ~ /(call|jmp)q? *\*0x[0-9a-f]*\(%rip\)/ { + next + } + $0 ~ /(call|jmp)q? *\*.*%/ { + sub(":", "", $1); + if ('"$selector"') { + offset=$1 + $1=tag + print(file "-" segment "-" offset " " src " " segment " " $0); + } + } + ' +} + +# Accumulate potentially vunerable indirect call/jmp sequences. We do this +# by examining the raw disassembly for affected forms, recording the location +# of each. +case "$bit16" in +'') disassemble "$object" "$src" '' 'segment != ".init.text"' ;; +*) disassemble "$object" "$src" '--disassembler-options=i8086' 'segment != ".init.text" && segment != ".text32" && segment != ".text64"' + disassemble "$object" "$src" '--disassembler-options=i386' 'segment == ".text32"' + disassemble "$object" "$src" '--disassembler-options=x86-64' 'segment == ".text64"' + ;; +esac | sort -k 1b,1 >"$object.ur-detected" +[ ! -s "$object.ur-detected" ] && rm -f "$object.ur-detected" + +# Load up the symbol table and section mappings. +symbolmap_init "$object" +sectionmap_init "$object" + +# Accumulate annotated safe indirect call/jmp sequences. We do this by examining +# the $SECTION sections (and their associated relocation information), +# each entry represents the address of an instruction which has been marked +# as ok. +case "$section_relocation" in +REL) rel "$object" ;; +RELA) rela "$object" ;; +esac | sort -k 1b,1 >"$object.ur-safe" +[ ! -s "$object.ur-safe" ] && rm -f "$object.ur-safe" + +# We will perform the below join on the summarised and sorted fragments +# formed above. This is performed in retpoline-check. +#join -v 1 -j 1 "$tmp.extracted" "$tmp.safe" | sed -s 's/[^ ]* *//' + +rm -f "$tmp" --- linux-gcp-5.19.0.orig/debian/scripts/sign-module +++ linux-gcp-5.19.0/debian/scripts/sign-module @@ -0,0 +1,40 @@ +#!/bin/bash -eu +# +# Staging drivers must not be signed if they are not listed in a +# signature-inclusion file to prevent loading of 'unsafe' drivers in a +# Secure Boot environment. +# +# Exit with status 0 if the provided module needs to be signed, 1 otherwise +# + +mod=${1} + +# Sign the module if not a staging driver +if [ "${mod/\/drivers\/staging\//}" = "${mod}" ] ; then + exit 0 +fi + +root=$(dirname "$(realpath -e "${0}")")/../.. +. "${root}"/debian/debian.env + +# Collect the signature-inclusion files +sig_incls=() +for d in debian "${DEBIAN}" ; do + if [ -f "${root}"/"${d}"/signature-inclusion ] ; then + sig_incls+=("${root}"/"${d}"/signature-inclusion) + fi +done + +# Sign the module if no signature-inclusion files +if [ ${#sig_incls[@]} -eq 0 ] ; then + exit 0 +fi + +# Sign the module if listed in signature-inclusion files +if grep -qFx "${mod##*/}" "${sig_incls[@]}" ; then + exit 0 +fi + +# Don't sign the module +echo "UBUNTU: Not signing ${1}" +exit 1 --- linux-gcp-5.19.0.orig/debian/scripts/sub-flavour +++ linux-gcp-5.19.0/debian/scripts/sub-flavour @@ -0,0 +1,69 @@ +#!/bin/bash + +. debian/debian.env + +echo "SUB_PROCESS $FROM => $TO" + +export from_pkg="linux-image-$ABI_RELEASE-$FROM" +export to_pkg="linux-image-$ABI_RELEASE-$TO" + +from_moddir="debian/$from_pkg/lib/modules/$ABI_RELEASE-$FROM" +to_moddir="debian/$to_pkg/lib/modules/$ABI_RELEASE-$FROM" + +install -d "debian/$to_pkg/boot" +install -m644 debian/$from_pkg/boot/config-$ABI_RELEASE-$FROM \ + debian/$to_pkg/boot/ +install -m600 debian/$from_pkg/boot/{vmlinuz,System.map}-$ABI_RELEASE-$FROM \ + debian/$to_pkg/boot/ + +# +# Print some warnings if there are files in the sub-flavours list +# that do not actually exist. +# +cat ${DEBIAN}/sub-flavours/$TO.list | while read line +do +( + cd debian/$from_pkg/lib/modules/$ABI_RELEASE-$FROM/kernel; + # + # If its a wildcard, then check that there are files that match. + # + if echo "$line" | grep '\*' > /dev/null + then + if [ `eval find "$line" -name '*.ko' 2>/dev/null|wc -l` -lt 1 ] + then + echo SUB_INST Warning - No files in $line + fi + # + # Else it should be a single file reference. + # + elif [ ! -f "$line" ] + then + echo SUB_INST Warning - could not find "$line" + fi +) +done + +cat ${DEBIAN}/sub-flavours/$TO.list | while read line; do + ( + cd debian/$from_pkg/lib/modules/$ABI_RELEASE-$FROM/kernel; + if echo "$line" | grep '\*' > /dev/null + then + eval find "$line" -name '*.ko' 2>/dev/null || true + elif [ -f "$line" ] + then + echo "$line" + fi + ); +done | while read mod; do + echo "SUB_INST checking: $mod" + fromdir="/lib/modules/$ABI_RELEASE-$FROM/" + egrep "^($fromdir)?kernel/$mod:" \ + $from_moddir/modules.dep | sed -e "s|^$fromdir||" -e 's/://' -e 's/ /\n/g' | \ + while read m; do + m="${fromdir}$m" + test -f debian/$to_pkg/$m && continue + echo "SUB_INST installing: $m" + install -D -m644 debian/$from_pkg/$m \ + debian/$to_pkg/$m + done +done --- linux-gcp-5.19.0.orig/debian/signature-inclusion +++ linux-gcp-5.19.0/debian/signature-inclusion @@ -0,0 +1,12 @@ +# +# This file lists the staging drivers that are safe for signing +# and loading in a secure boot environment with signed module enforcement. +# +r8188eu.ko +r8192e_pci.ko +r8192u_usb.ko +r8712u.ko +rtllib_crypt_ccmp.ko +rtllib_crypt_tkip.ko +rtllib_crypt_wep.ko +rtllib.ko --- linux-gcp-5.19.0.orig/debian/snapcraft.mk +++ linux-gcp-5.19.0/debian/snapcraft.mk @@ -0,0 +1,11 @@ +ifeq ($(ARCH),) + arch := $(shell uname -m | sed -e s/i.86/i386/ -e s/x86_64/amd64/ \ + -e s/arm.*/armhf/ -e s/s390/s390x/ -e s/ppc.*/powerpc/ \ + -e s/aarch64.*/arm64/ ) +else ifeq ($(ARCH),arm) + arch := armhf +else + arch := $(ARCH) +endif +config: + cat debian.$(branch)/config/config.common.ubuntu debian.$(branch)/config/$(arch)/config.common.$(arch) debian.$(branch)/config/$(arch)/config.flavour.$(flavour) >.config --- linux-gcp-5.19.0.orig/debian/source/format +++ linux-gcp-5.19.0/debian/source/format @@ -0,0 +1 @@ +1.0 --- linux-gcp-5.19.0.orig/debian/source/options +++ linux-gcp-5.19.0/debian/source/options @@ -0,0 +1,8 @@ +# Ignore vbox symlinks, we will regenerate these at clean (LP:1426113) +## autoreconstruct -- begin +# Ignore any symlinks created since the orig which are rebuilt by reconstruct. +## autoreconstruct -- end + +# force "dpkg-source -I -i" behavior +diff-ignore +tar-ignore --- linux-gcp-5.19.0.orig/debian/stamps/keep-dir +++ linux-gcp-5.19.0/debian/stamps/keep-dir @@ -0,0 +1 @@ +Place holder --- linux-gcp-5.19.0.orig/debian/templates/extra.postinst.in +++ linux-gcp-5.19.0/debian/templates/extra.postinst.in @@ -0,0 +1,20 @@ +#!/bin/sh +set -e + +version=@abiname@@localversion@ +image_path=/boot/@image-stem@-$version + +if [ "$1" != configure ]; then + exit 0 +fi + +depmod -a -F /boot/System.map-$version $version || true +if [ -d /etc/kernel/postinst.d ]; then + cat - >/usr/lib/linux/triggers/$version </dev/null || true +# +# We should be rebuilding the initramfs here on removal to pare down the +# initramfs if it contains any of the objects we just removed. But people +# commonly remove kernels in order to free space in /boot, and rebuilding the +# initramfs now risks ENOSPC when we are trying to make space. The files we +# leave lying about could be confusing, but we trade that against safety on +# removal. +# +#if [ -d /etc/kernel/postinst.d ]; then +# # We want to behave as if linux-image (without us) was installed, therefore +# # we do not want the postinst support to know we are being removed, claim +# # this is an installation event. +# cat - >/usr/lib/linux/triggers/$version </usr/lib/linux/triggers/$version </dev/null; then + linux-update-symlinks remove $version $image_path +fi + +if [ -d /etc/kernel/postrm.d ]; then + # We cannot trigger ourselves as at the end of this we will no longer + # exist and can no longer respond to the trigger. The trigger would + # then become lost. Therefore we clear any pending trigger and apply + # postrm directly. + if [ -f /usr/lib/linux/triggers/$version ]; then + echo "$0 ... removing pending trigger" + rm -f /usr/lib/linux/triggers/$version + fi + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/postrm.d +fi + +if [ "$1" = purge ]; then + for extra_file in modules.dep modules.isapnpmap modules.pcimap \ + modules.usbmap modules.parportmap \ + modules.generic_string modules.ieee1394map \ + modules.ieee1394map modules.pnpbiosmap \ + modules.alias modules.ccwmap modules.inputmap \ + modules.symbols modules.ofmap \ + modules.seriomap modules.\*.bin \ + modules.softdep modules.devname; do + eval rm -f /lib/modules/$version/$extra_file + done + rmdir /lib/modules/$version || true +fi + +exit 0 --- linux-gcp-5.19.0.orig/debian/templates/image.preinst.in +++ linux-gcp-5.19.0/debian/templates/image.preinst.in @@ -0,0 +1,22 @@ +#!/bin/sh +set -e + +version=@abiname@@localversion@ +image_path=/boot/@image-stem@-$version + +if [ "$1" = abort-upgrade ]; then + exit 0 +fi + +if [ "$1" = install ]; then + # Create a flag file for postinst + mkdir -p /lib/modules/$version + touch /lib/modules/$version/.fresh-install +fi + +if [ -d /etc/kernel/preinst.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/preinst.d +fi + +exit 0 --- linux-gcp-5.19.0.orig/debian/templates/image.prerm.in +++ linux-gcp-5.19.0/debian/templates/image.prerm.in @@ -0,0 +1,18 @@ +#!/bin/sh +set -e + +version=@abiname@@localversion@ +image_path=/boot/@image-stem@-$version + +if [ "$1" != remove ]; then + exit 0 +fi + +linux-check-removal $version + +if [ -d /etc/kernel/prerm.d ]; then + DEB_MAINT_PARAMS="$*" run-parts --report --exit-on-error --arg=$version \ + --arg=$image_path /etc/kernel/prerm.d +fi + +exit 0 --- linux-gcp-5.19.0.orig/debian/tests-build/README +++ linux-gcp-5.19.0/debian/tests-build/README @@ -0,0 +1,21 @@ +Scripts placed in this directory get called one at a time by run-parts(8). +The scripts are expected to perform some sort of sanity checks on the +finished build. Scripts will be called once for each flavour. + +Some environment variables are exported to make life a little easier: + +DPKG_ARCH : The dpkg architecture (e.g. "amd64") +KERN_ARCH : The kernel architecture (e.g. "x86_64") +FLAVOUR : The specific flavour for this run (e.g. "generic") +VERSION : The full version of this build (e.g. 2.6.22-1) +REVISION : The exact revision of this build (e.g. 1.3) +PREV_REVISION : The revision prior to this one +ABI_NUM : The specific ABI number for this build (e.g. 2) +PREV_ABI_NUM : The previous ABI number. Can be the same as ABI_NUM. +BUILD_DIR : The directory where this build took place +INSTALL_DIR : The directory where the package is prepared +SOURCE_DIR : Where the main kernel source is + +Scripts are expected to have a zero exit status when no problems occur, +and non-zero when an error occurs that should stop the build. Scripts +should print whatever info they deem needed to deduce the problem. --- linux-gcp-5.19.0.orig/debian/tests-build/check-aliases +++ linux-gcp-5.19.0/debian/tests-build/check-aliases @@ -0,0 +1,26 @@ +#!/usr/bin/perl -w + +my %map; + +print "Checking for dupe aliases in $ENV{'FLAVOUR'}...\n"; + +$aliases = + "$ENV{'INSTALL_DIR'}/lib/modules/$ENV{'VERSION'}-$ENV{'FLAVOUR'}/modules.alias"; + +exit 0 unless (-e $aliases); + +open(ALIASES, "< $aliases") or die "Could not open $aliases"; + +while () { + chomp; + my ($junk, $alias, $module) = split; + + if (defined($map{$alias})) { + printf("%s %20s / %-20s : %s \n", ("$map{$alias}" eq "$module") + ? "INT" : " ", $map{$alias}, $module, $alias); + } else { + $map{$alias} = $module; + } +} + +exit(0); --- linux-gcp-5.19.0.orig/debian/tests/control +++ linux-gcp-5.19.0/debian/tests/control @@ -0,0 +1,7 @@ +Tests: rebuild +Depends: @builddeps@, fakeroot +Restrictions: allow-stderr, skippable + +Tests: ubuntu-regression-suite +Depends: build-essential, gcc-multilib [amd64 armhf i386], gdb, git, python2 | python, bzr +Restrictions: allow-stderr, isolation-machine, breaks-testbed, skippable --- linux-gcp-5.19.0.orig/debian/tests/rebuild +++ linux-gcp-5.19.0/debian/tests/rebuild @@ -0,0 +1,20 @@ +#!/bin/sh + +# If we are triggering for just linux or linux-meta we know we have +# just built the kernel and there is no point in repeating that +# build, it just wastes time. (LP: #1498862) +build_needed=0 +for trigger in ${ADT_TEST_TRIGGERS:-force} +do + case "$trigger" in + linux/*|linux-lts-*/*|linux-meta*/*|linux-oem*/*|fakeroot/*|gdb/*|git/*|bzr/*|gcc-multilib/*) ;; + *) build_needed=1 ;; + esac +done +if [ "$build_needed" -eq 0 ]; then + echo "rebuild: short circuiting build for '${ADT_TEST_TRIGGERS}'" + exit 77 +fi + +set -e +dpkg-buildpackage -rfakeroot -us -uc -b -Pautopkgtest --- linux-gcp-5.19.0.orig/debian/tests/ubuntu-regression-suite +++ linux-gcp-5.19.0/debian/tests/ubuntu-regression-suite @@ -0,0 +1,45 @@ +#!/bin/sh +set -e + +# Only run regression-suite on kernels we can boot in canonistack +source=`dpkg-parsechangelog -SSource` +case $source in + linux|linux-unstable|linux-hwe*|linux-lowlatency*|linux-kvm|linux-oem) + ;; + *) + echo "ubuntu-regression-suite is pointless, if one cannot boot the kernel" + exit 77 + ;; +esac + +# Only run regression-suite if we were requested to +have_meta=0 +for trigger in ${ADT_TEST_TRIGGERS} +do + case "$trigger" in + linux-meta/*|linux-meta-*/*) + have_meta=1 + ;; + esac +done +if [ -n "$ADT_TEST_TRIGGERS" ] && [ "$have_meta" -eq 0 ]; then + echo "ubuntu-regression-suite is not requested, as there is no linux-meta trigger" + exit 77 +fi + +sver=`dpkg-parsechangelog -SVersion` +read x rver x &2 + exit 1 +fi + +git clone --depth=1 git://git.launchpad.net/~canonical-kernel-team/+git/kernel-testing +kernel-testing/run-dep8-tests --- linux-gcp-5.19.0.orig/debian/tools/generic +++ linux-gcp-5.19.0/debian/tools/generic @@ -0,0 +1,60 @@ +#!/bin/bash +full_version=`uname -r` + +# First check for a fully qualified version. +this="/usr/lib/linux-tools/$full_version/`basename $0`" +if [ -f "$this" ]; then + exec "$this" "$@" +fi + +# Removing flavour from version i.e. generic or server. +flavour_abi=${full_version#*-} +flavour=${flavour_abi#*-} +version=${full_version%-$flavour} +this="$0_$version" +if [ -f "$this" ]; then + exec "$this" "$@" +fi + +# Before saucy kernels we had no flavour linkage. +if dpkg --compare-versions "$version" lt "3.11.0"; then + flavour='' +else + flavour="-$flavour" +fi +# Hint at the cloud tools if they exist (trusty and later) +if dpkg --compare-versions "$version" ge "3.13.0"; then + cld="" +else + cld=":" +fi +# Work out if this is an LTS backport or not. +codename=`lsb_release -cs` +case "$codename" in +precise) base='3.2.0-9999' ;; +trusty) base='3.13.0-9999' ;; +*) base='' ;; +esac +std="" +lts=":" +if [ "$base" != "" ]; then + if dpkg --compare-versions "$version" gt "$base"; then + std=":" + lts="" + fi +fi + +# Give them a hint as to what to install. + echo "WARNING: `basename $0` not found for kernel $version" >&2 + echo "" >&2 + echo " You may need to install the following packages for this specific kernel:" >&2 + echo " linux-tools-$version$flavour" >&2 +$cld echo " linux-cloud-tools-$version$flavour" >&2 + echo "" >&2 + echo " You may also want to install one of the following packages to keep up to date:" >&2 +$std echo " linux-tools$flavour" >&2 +$std $cld echo " linux-cloud-tools$flavour" >&2 +$lts echo " linux-tools$flavour-lts-" >&2 +$lts $cld echo " linux-cloud-tools$flavour-lts-" >&2 + +exit 2 --- linux-gcp-5.19.0.orig/debian/v4l2loopback-modules.ignore +++ linux-gcp-5.19.0/debian/v4l2loopback-modules.ignore @@ -0,0 +1 @@ +v4l2loopback --- linux-gcp-5.19.0.orig/debian/wireguard-modules.ignore +++ linux-gcp-5.19.0/debian/wireguard-modules.ignore @@ -0,0 +1 @@ +wireguard --- linux-gcp-5.19.0.orig/debian/zfs-modules.ignore +++ linux-gcp-5.19.0/debian/zfs-modules.ignore @@ -0,0 +1,11 @@ +icp +spl +splat +zavl +zcommon +zfs +zlua +znvpair +zpios +zunicode +zzstd --- linux-gcp-5.19.0.orig/drivers/Makefile +++ linux-gcp-5.19.0/drivers/Makefile @@ -59,14 +59,9 @@ # iommu/ comes before gpu as gpu are using iommu controllers obj-y += iommu/ -# gpu/ comes after char for AGP vs DRM startup and after iommu -obj-y += gpu/ obj-$(CONFIG_CONNECTOR) += connector/ -# i810fb and intelfb depend on char/agp/ -obj-$(CONFIG_FB_I810) += video/fbdev/i810/ -obj-$(CONFIG_FB_INTEL) += video/fbdev/intelfb/ obj-$(CONFIG_PARPORT) += parport/ obj-y += base/ block/ misc/ mfd/ nfc/ @@ -79,6 +74,12 @@ obj-y += scsi/ obj-y += nvme/ obj-$(CONFIG_ATA) += ata/ + +# gpu/ comes after char for AGP vs DRM startup and after iommu +obj-y += gpu/ +# i810fb and intelfb depend on char/agp/ +obj-$(CONFIG_FB_I810) += video/fbdev/i810/ +obj-$(CONFIG_FB_INTEL) += video/fbdev/intelfb/ obj-$(CONFIG_TARGET_CORE) += target/ obj-$(CONFIG_MTD) += mtd/ obj-$(CONFIG_SPI) += spi/ --- linux-gcp-5.19.0.orig/drivers/accessibility/speakup/main.c +++ linux-gcp-5.19.0/drivers/accessibility/speakup/main.c @@ -1778,7 +1778,7 @@ { unsigned long flags; - if (!speakup_console[vc->vc_num] || spk_parked) + if (!speakup_console[vc->vc_num] || spk_parked || !synth) return; if (!spin_trylock_irqsave(&speakup_info.spinlock, flags)) /* Speakup output, discard */ --- linux-gcp-5.19.0.orig/drivers/accessibility/speakup/spk_ttyio.c +++ linux-gcp-5.19.0/drivers/accessibility/speakup/spk_ttyio.c @@ -354,6 +354,9 @@ { struct tty_struct *tty = in_synth->dev; + if (tty == NULL) + return; + tty_lock(tty); if (tty->ops->close) --- linux-gcp-5.19.0.orig/drivers/acpi/acpi_extlog.c +++ linux-gcp-5.19.0/drivers/acpi/acpi_extlog.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -138,8 +139,8 @@ int cpu = mce->extcpu; struct acpi_hest_generic_status *estatus, *tmp; struct acpi_hest_generic_data *gdata; - const guid_t *fru_id = &guid_null; - char *fru_text = ""; + const guid_t *fru_id; + char *fru_text; guid_t *sec_type; static u32 err_seq; @@ -160,17 +161,23 @@ /* log event via trace */ err_seq++; - gdata = (struct acpi_hest_generic_data *)(tmp + 1); - if (gdata->validation_bits & CPER_SEC_VALID_FRU_ID) - fru_id = (guid_t *)gdata->fru_id; - if (gdata->validation_bits & CPER_SEC_VALID_FRU_TEXT) - fru_text = gdata->fru_text; - sec_type = (guid_t *)gdata->section_type; - if (guid_equal(sec_type, &CPER_SEC_PLATFORM_MEM)) { - struct cper_sec_mem_err *mem = (void *)(gdata + 1); - if (gdata->error_data_length >= sizeof(*mem)) - trace_extlog_mem_event(mem, err_seq, fru_id, fru_text, - (u8)gdata->error_severity); + apei_estatus_for_each_section(tmp, gdata) { + if (gdata->validation_bits & CPER_SEC_VALID_FRU_ID) + fru_id = (guid_t *)gdata->fru_id; + else + fru_id = &guid_null; + if (gdata->validation_bits & CPER_SEC_VALID_FRU_TEXT) + fru_text = gdata->fru_text; + else + fru_text = ""; + sec_type = (guid_t *)gdata->section_type; + if (guid_equal(sec_type, &CPER_SEC_PLATFORM_MEM)) { + struct cper_sec_mem_err *mem = (void *)(gdata + 1); + + if (gdata->error_data_length >= sizeof(*mem)) + trace_extlog_mem_event(mem, err_seq, fru_id, fru_text, + (u8)gdata->error_severity); + } } out: --- linux-gcp-5.19.0.orig/drivers/acpi/acpi_fpdt.c +++ linux-gcp-5.19.0/drivers/acpi/acpi_fpdt.c @@ -143,6 +143,23 @@ static struct kobject *fpdt_kobj; +#if defined CONFIG_X86 && defined CONFIG_PHYS_ADDR_T_64BIT +#include +static bool fpdt_address_valid(u64 address) +{ + /* + * On some systems the table contains invalid addresses + * with unsuppored high address bits set, check for this. + */ + return !(address >> boot_cpu_data.x86_phys_bits); +} +#else +static bool fpdt_address_valid(u64 address) +{ + return true; +} +#endif + static int fpdt_process_subtable(u64 address, u32 subtable_type) { struct fpdt_subtable_header *subtable_header; @@ -151,6 +168,11 @@ u32 length, offset; int result; + if (!fpdt_address_valid(address)) { + pr_info(FW_BUG "invalid physical address: 0x%llx!\n", address); + return -EINVAL; + } + subtable_header = acpi_os_map_memory(address, sizeof(*subtable_header)); if (!subtable_header) return -ENOMEM; --- linux-gcp-5.19.0.orig/drivers/acpi/acpi_lpss.c +++ linux-gcp-5.19.0/drivers/acpi/acpi_lpss.c @@ -422,6 +422,9 @@ if (!lpss_clk_dev) lpt_register_clock_device(); + if (IS_ERR(lpss_clk_dev)) + return PTR_ERR(lpss_clk_dev); + clk_data = platform_get_drvdata(lpss_clk_dev); if (!clk_data) return -ENODEV; --- linux-gcp-5.19.0.orig/drivers/acpi/acpi_pcc.c +++ linux-gcp-5.19.0/drivers/acpi/acpi_pcc.c @@ -23,6 +23,12 @@ #include +/* + * Arbitrary retries in case the remote processor is slow to respond + * to PCC commands + */ +#define PCC_CMD_WAIT_RETRIES_NUM 500ULL + struct pcc_data { struct pcc_mbox_chan *pcc_chan; void __iomem *pcc_comm_addr; @@ -63,6 +69,7 @@ if (IS_ERR(data->pcc_chan)) { pr_err("Failed to find PCC channel for subspace %d\n", ctx->subspace_id); + kfree(data); return AE_NOT_FOUND; } @@ -72,6 +79,8 @@ if (!data->pcc_comm_addr) { pr_err("Failed to ioremap PCC comm region mem for %d\n", ctx->subspace_id); + pcc_mbox_free_channel(data->pcc_chan); + kfree(data); return AE_NO_MEMORY; } @@ -86,6 +95,7 @@ { int ret; struct pcc_data *data = region_context; + u64 usecs_lat; reinit_completion(&data->done); @@ -96,10 +106,22 @@ if (ret < 0) return AE_ERROR; - if (data->pcc_chan->mchan->mbox->txdone_irq) - wait_for_completion(&data->done); + if (data->pcc_chan->mchan->mbox->txdone_irq) { + /* + * pcc_chan->latency is just a Nominal value. In reality the remote + * processor could be much slower to reply. So add an arbitrary + * amount of wait on top of Nominal. + */ + usecs_lat = PCC_CMD_WAIT_RETRIES_NUM * data->pcc_chan->latency; + ret = wait_for_completion_timeout(&data->done, + usecs_to_jiffies(usecs_lat)); + if (ret == 0) { + pr_err("PCC command executed timeout!\n"); + return AE_TIME; + } + } - mbox_client_txdone(data->pcc_chan->mchan, ret); + mbox_chan_txdone(data->pcc_chan->mchan, ret); memcpy_fromio(value, data->pcc_comm_addr, data->ctx.length); --- linux-gcp-5.19.0.orig/drivers/acpi/acpi_video.c +++ linux-gcp-5.19.0/drivers/acpi/acpi_video.c @@ -496,6 +496,22 @@ DMI_MATCH(DMI_PRODUCT_NAME, "SATELLITE R830"), }, }, + { + .callback = video_disable_backlight_sysfs_if, + .ident = "Toshiba Satellite Z830", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), + DMI_MATCH(DMI_PRODUCT_NAME, "SATELLITE Z830"), + }, + }, + { + .callback = video_disable_backlight_sysfs_if, + .ident = "Toshiba Portege Z830", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"), + DMI_MATCH(DMI_PRODUCT_NAME, "PORTEGE Z830"), + }, + }, /* * Some machine's _DOD IDs don't have bit 31(Device ID Scheme) set * but the IDs actually follow the Device ID Scheme. --- linux-gcp-5.19.0.orig/drivers/acpi/acpica/Makefile +++ linux-gcp-5.19.0/drivers/acpi/acpica/Makefile @@ -3,7 +3,7 @@ # Makefile for ACPICA Core interpreter # -ccflags-y := -Os -D_LINUX -DBUILDING_ACPICA +ccflags-y := -D_LINUX -DBUILDING_ACPICA ccflags-$(CONFIG_ACPI_DEBUG) += -DACPI_DEBUG_OUTPUT # use acpi.o to put all files here into acpi.o modparam namespace --- linux-gcp-5.19.0.orig/drivers/acpi/acpica/dsmethod.c +++ linux-gcp-5.19.0/drivers/acpi/acpica/dsmethod.c @@ -517,7 +517,7 @@ info = ACPI_ALLOCATE_ZEROED(sizeof(struct acpi_evaluate_info)); if (!info) { status = AE_NO_MEMORY; - goto cleanup; + goto pop_walk_state; } info->parameters = &this_walk_state->operands[0]; @@ -529,7 +529,7 @@ ACPI_FREE(info); if (ACPI_FAILURE(status)) { - goto cleanup; + goto pop_walk_state; } next_walk_state->method_nesting_depth = @@ -575,6 +575,12 @@ return_ACPI_STATUS(status); +pop_walk_state: + + /* On error, pop the walk state to be deleted from thread */ + + acpi_ds_pop_walk_state(thread); + cleanup: /* On error, we must terminate the method properly */ --- linux-gcp-5.19.0.orig/drivers/acpi/acpica/dswexec.c +++ linux-gcp-5.19.0/drivers/acpi/acpica/dswexec.c @@ -395,11 +395,11 @@ /* Resolve all operands */ + union acpi_operand_object **stack_ptr = NULL; + if (walk_state->num_operands > 0) + stack_ptr = ACPI_WALK_OPERANDS; status = acpi_ex_resolve_operands(walk_state->opcode, - &(walk_state-> - operands - [walk_state-> - num_operands - 1]), + stack_ptr, walk_state); } --- linux-gcp-5.19.0.orig/drivers/acpi/acpica/hwvalid.c +++ linux-gcp-5.19.0/drivers/acpi/acpica/hwvalid.c @@ -23,8 +23,8 @@ * * The table is used to implement the Microsoft port access rules that * first appeared in Windows XP. Some ports are always illegal, and some - * ports are only illegal if the BIOS calls _OSI with a win_XP string or - * later (meaning that the BIOS itelf is post-XP.) + * ports are only illegal if the BIOS calls _OSI with nothing newer than + * the specific _OSI strings. * * This provides ACPICA with the desired port protections and * Microsoft compatibility. @@ -145,7 +145,8 @@ /* Port illegality may depend on the _OSI calls made by the BIOS */ - if (acpi_gbl_osi_data >= port_info->osi_dependency) { + if (port_info->osi_dependency == ACPI_ALWAYS_ILLEGAL || + acpi_gbl_osi_data == port_info->osi_dependency) { ACPI_DEBUG_PRINT((ACPI_DB_VALUES, "Denied AML access to port 0x%8.8X%8.8X/%X (%s 0x%.4X-0x%.4X)\n", ACPI_FORMAT_UINT64(address), --- linux-gcp-5.19.0.orig/drivers/acpi/acpica/nsrepair.c +++ linux-gcp-5.19.0/drivers/acpi/acpica/nsrepair.c @@ -181,8 +181,9 @@ * Try to fix if there was no return object. Warning if failed to fix. */ if (!return_object) { - if (expected_btypes && (!(expected_btypes & ACPI_RTYPE_NONE))) { - if (package_index != ACPI_NOT_PACKAGE_ELEMENT) { + if (expected_btypes) { + if (!(expected_btypes & ACPI_RTYPE_NONE) && + package_index != ACPI_NOT_PACKAGE_ELEMENT) { ACPI_WARN_PREDEFINED((AE_INFO, info->full_pathname, ACPI_WARN_ALWAYS, @@ -196,14 +197,15 @@ if (ACPI_SUCCESS(status)) { return (AE_OK); /* Repair was successful */ } - } else { + } + + if (expected_btypes != ACPI_RTYPE_NONE) { ACPI_WARN_PREDEFINED((AE_INFO, info->full_pathname, ACPI_WARN_ALWAYS, "Missing expected return value")); + return (AE_AML_NO_RETURN_VALUE); } - - return (AE_AML_NO_RETURN_VALUE); } } --- linux-gcp-5.19.0.orig/drivers/acpi/acpica/utcopy.c +++ linux-gcp-5.19.0/drivers/acpi/acpica/utcopy.c @@ -916,13 +916,6 @@ status = acpi_ut_walk_package_tree(source_obj, dest_obj, acpi_ut_copy_ielement_to_ielement, walk_state); - if (ACPI_FAILURE(status)) { - - /* On failure, delete the destination package object */ - - acpi_ut_remove_reference(dest_obj); - } - return_ACPI_STATUS(status); } --- linux-gcp-5.19.0.orig/drivers/acpi/apei/bert.c +++ linux-gcp-5.19.0/drivers/acpi/apei/bert.c @@ -29,16 +29,26 @@ #undef pr_fmt #define pr_fmt(fmt) "BERT: " fmt + +#define ACPI_BERT_PRINT_MAX_RECORDS 5 #define ACPI_BERT_PRINT_MAX_LEN 1024 static int bert_disable; +/* + * Print "all" the error records in the BERT table, but avoid huge spam to + * the console if the BIOS included oversize records, or too many records. + * Skipping some records here does not lose anything because the full + * data is available to user tools in: + * /sys/firmware/acpi/tables/data/BERT + */ static void __init bert_print_all(struct acpi_bert_region *region, unsigned int region_len) { struct acpi_hest_generic_status *estatus = (struct acpi_hest_generic_status *)region; int remain = region_len; + int printed = 0, skipped = 0; u32 estatus_len; while (remain >= sizeof(struct acpi_bert_region)) { @@ -46,24 +56,26 @@ if (remain < estatus_len) { pr_err(FW_BUG "Truncated status block (length: %u).\n", estatus_len); - return; + break; } /* No more error records. */ if (!estatus->block_status) - return; + break; if (cper_estatus_check(estatus)) { pr_err(FW_BUG "Invalid error record.\n"); - return; + break; } - pr_info_once("Error records from previous boot:\n"); - if (region_len < ACPI_BERT_PRINT_MAX_LEN) + if (estatus_len < ACPI_BERT_PRINT_MAX_LEN && + printed < ACPI_BERT_PRINT_MAX_RECORDS) { + pr_info_once("Error records from previous boot:\n"); cper_estatus_print(KERN_INFO HW_ERR, estatus); - else - pr_info_once("Max print length exceeded, table data is available at:\n" - "/sys/firmware/acpi/tables/data/BERT"); + printed++; + } else { + skipped++; + } /* * Because the boot error source is "one-time polled" type, @@ -75,6 +87,9 @@ estatus = (void *)estatus + estatus_len; remain -= estatus_len; } + + if (skipped) + pr_info(HW_ERR "Skipped %d error records\n", skipped); } static int __init setup_bert_disable(char *str) --- linux-gcp-5.19.0.orig/drivers/acpi/apei/einj.c +++ linux-gcp-5.19.0/drivers/acpi/apei/einj.c @@ -546,6 +546,8 @@ != REGION_INTERSECTS) && (region_intersects(base_addr, size, IORESOURCE_MEM, IORES_DESC_PERSISTENT_MEMORY) != REGION_INTERSECTS) && + (region_intersects(base_addr, size, IORESOURCE_MEM, IORES_DESC_SOFT_RESERVED) + != REGION_INTERSECTS) && !arch_is_platform_page(base_addr))) return -EINVAL; --- linux-gcp-5.19.0.orig/drivers/acpi/apei/ghes.c +++ linux-gcp-5.19.0/drivers/acpi/apei/ghes.c @@ -163,7 +163,7 @@ clear_fixmap(fixmap_idx); } -int ghes_estatus_pool_init(int num_ghes) +int ghes_estatus_pool_init(unsigned int num_ghes) { unsigned long addr, len; int rc; @@ -985,7 +985,7 @@ ghes_estatus_cache_add(generic, estatus); } - if (task_work_pending && current->mm != &init_mm) { + if (task_work_pending && current->mm) { estatus_node->task_work.func = ghes_kick_task_work; estatus_node->task_work_cpu = smp_processor_id(); ret = task_work_add(current, &estatus_node->task_work, --- linux-gcp-5.19.0.orig/drivers/acpi/battery.c +++ linux-gcp-5.19.0/drivers/acpi/battery.c @@ -440,7 +440,7 @@ if (element->type == ACPI_TYPE_STRING || element->type == ACPI_TYPE_BUFFER) - strncpy(ptr, element->string.pointer, 32); + strscpy(ptr, element->string.pointer, 32); else if (element->type == ACPI_TYPE_INTEGER) { strncpy(ptr, (u8 *)&element->integer.value, sizeof(u64)); --- linux-gcp-5.19.0.orig/drivers/acpi/bus.c +++ linux-gcp-5.19.0/drivers/acpi/bus.c @@ -1399,6 +1399,7 @@ pci_mmcfg_late_init(); acpi_iort_init(); + acpi_viot_early_init(); acpi_hest_init(); acpi_ghes_init(); acpi_scan_init(); --- linux-gcp-5.19.0.orig/drivers/acpi/cppc_acpi.c +++ linux-gcp-5.19.0/drivers/acpi/cppc_acpi.c @@ -618,33 +618,6 @@ return 0; } -/* Check if CPPC revision + num_ent combination is supported */ -static bool is_cppc_supported(int revision, int num_ent) -{ - int expected_num_ent; - - switch (revision) { - case CPPC_V2_REV: - expected_num_ent = CPPC_V2_NUM_ENT; - break; - case CPPC_V3_REV: - expected_num_ent = CPPC_V3_NUM_ENT; - break; - default: - pr_debug("Firmware exports unsupported CPPC revision: %d\n", - revision); - return false; - } - - if (expected_num_ent != num_ent) { - pr_debug("Firmware exports %d entries. Expected: %d for CPPC rev:%d\n", - num_ent, expected_num_ent, revision); - return false; - } - - return true; -} - /* * An example CPC table looks like the following. * @@ -733,7 +706,6 @@ cpc_obj->type, pr->id); goto out_free; } - cpc_ptr->num_entries = num_ent; /* Second entry should be revision. */ cpc_obj = &out_obj->package.elements[1]; @@ -744,10 +716,32 @@ cpc_obj->type, pr->id); goto out_free; } - cpc_ptr->version = cpc_rev; - if (!is_cppc_supported(cpc_rev, num_ent)) + if (cpc_rev < CPPC_V2_REV) { + pr_debug("Unsupported _CPC Revision (%d) for CPU:%d\n", cpc_rev, + pr->id); goto out_free; + } + + /* + * Disregard _CPC if the number of entries in the return pachage is not + * as expected, but support future revisions being proper supersets of + * the v3 and only causing more entries to be returned by _CPC. + */ + if ((cpc_rev == CPPC_V2_REV && num_ent != CPPC_V2_NUM_ENT) || + (cpc_rev == CPPC_V3_REV && num_ent != CPPC_V3_NUM_ENT) || + (cpc_rev > CPPC_V3_REV && num_ent <= CPPC_V3_NUM_ENT)) { + pr_debug("Unexpected number of _CPC return package entries (%d) for CPU:%d\n", + num_ent, pr->id); + goto out_free; + } + if (cpc_rev > CPPC_V3_REV) { + num_ent = CPPC_V3_NUM_ENT; + cpc_rev = CPPC_V3_REV; + } + + cpc_ptr->num_entries = num_ent; + cpc_ptr->version = cpc_rev; /* Iterate through remaining entries in _CPC */ for (i = 2; i < num_ent; i++) { --- linux-gcp-5.19.0.orig/drivers/acpi/ec.c +++ linux-gcp-5.19.0/drivers/acpi/ec.c @@ -180,7 +180,6 @@ static struct workqueue_struct *ec_query_wq; static int EC_FLAGS_CORRECT_ECDT; /* Needs ECDT port address correction */ -static int EC_FLAGS_IGNORE_DSDT_GPE; /* Needs ECDT GPE as correction setting */ static int EC_FLAGS_TRUST_DSDT_GPE; /* Needs DSDT GPE as correction setting */ static int EC_FLAGS_CLEAR_ON_RESUME; /* Needs acpi_ec_clear() on boot/resume */ @@ -1407,24 +1406,16 @@ if (ec->data_addr == 0 || ec->command_addr == 0) return AE_OK; - if (boot_ec && boot_ec_is_ecdt && EC_FLAGS_IGNORE_DSDT_GPE) { - /* - * Always inherit the GPE number setting from the ECDT - * EC. - */ - ec->gpe = boot_ec->gpe; - } else { - /* Get GPE bit assignment (EC events). */ - /* TODO: Add support for _GPE returning a package */ - status = acpi_evaluate_integer(handle, "_GPE", NULL, &tmp); - if (ACPI_SUCCESS(status)) - ec->gpe = tmp; + /* Get GPE bit assignment (EC events). */ + /* TODO: Add support for _GPE returning a package */ + status = acpi_evaluate_integer(handle, "_GPE", NULL, &tmp); + if (ACPI_SUCCESS(status)) + ec->gpe = tmp; + /* + * Errors are non-fatal, allowing for ACPI Reduced Hardware + * platforms which use GpioInt instead of GPE. + */ - /* - * Errors are non-fatal, allowing for ACPI Reduced Hardware - * platforms which use GpioInt instead of GPE. - */ - } /* Use the global lock for all EC transactions? */ tmp = 0; acpi_evaluate_integer(handle, "_GLK", NULL, &tmp); @@ -1862,60 +1853,12 @@ return 0; } -/* - * Some DSDTs contain wrong GPE setting. - * Asus FX502VD/VE, GL702VMK, X550VXK, X580VD - * https://bugzilla.kernel.org/show_bug.cgi?id=195651 - */ -static int ec_honor_ecdt_gpe(const struct dmi_system_id *id) -{ - pr_debug("Detected system needing ignore DSDT GPE setting.\n"); - EC_FLAGS_IGNORE_DSDT_GPE = 1; - return 0; -} - static const struct dmi_system_id ec_dmi_table[] __initconst = { { ec_correct_ecdt, "MSI MS-171F", { DMI_MATCH(DMI_SYS_VENDOR, "Micro-Star"), DMI_MATCH(DMI_PRODUCT_NAME, "MS-171F"),}, NULL}, { - ec_honor_ecdt_gpe, "ASUS FX502VD", { - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), - DMI_MATCH(DMI_PRODUCT_NAME, "FX502VD"),}, NULL}, - { - ec_honor_ecdt_gpe, "ASUS FX502VE", { - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), - DMI_MATCH(DMI_PRODUCT_NAME, "FX502VE"),}, NULL}, - { - ec_honor_ecdt_gpe, "ASUS GL702VMK", { - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), - DMI_MATCH(DMI_PRODUCT_NAME, "GL702VMK"),}, NULL}, - { - ec_honor_ecdt_gpe, "ASUSTeK COMPUTER INC. X505BA", { - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), - DMI_MATCH(DMI_PRODUCT_NAME, "X505BA"),}, NULL}, - { - ec_honor_ecdt_gpe, "ASUSTeK COMPUTER INC. X505BP", { - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), - DMI_MATCH(DMI_PRODUCT_NAME, "X505BP"),}, NULL}, - { - ec_honor_ecdt_gpe, "ASUSTeK COMPUTER INC. X542BA", { - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), - DMI_MATCH(DMI_PRODUCT_NAME, "X542BA"),}, NULL}, - { - ec_honor_ecdt_gpe, "ASUSTeK COMPUTER INC. X542BP", { - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), - DMI_MATCH(DMI_PRODUCT_NAME, "X542BP"),}, NULL}, - { - ec_honor_ecdt_gpe, "ASUS X550VXK", { - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), - DMI_MATCH(DMI_PRODUCT_NAME, "X550VXK"),}, NULL}, - { - ec_honor_ecdt_gpe, "ASUS X580VD", { - DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), - DMI_MATCH(DMI_PRODUCT_NAME, "X580VD"),}, NULL}, - { /* https://bugzilla.kernel.org/show_bug.cgi?id=209989 */ ec_honor_dsdt_gpe, "HP Pavilion Gaming Laptop 15-cx0xxx", { DMI_MATCH(DMI_SYS_VENDOR, "HP"), @@ -2208,13 +2151,6 @@ }, }, { - .ident = "ThinkPad X1 Carbon 6th", - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_FAMILY, "ThinkPad X1 Carbon 6th"), - }, - }, - { .ident = "ThinkPad X1 Yoga 3rd", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), --- linux-gcp-5.19.0.orig/drivers/acpi/nfit/core.c +++ linux-gcp-5.19.0/drivers/acpi/nfit/core.c @@ -3297,8 +3297,8 @@ mutex_lock(&acpi_desc->init_mutex); set_bit(ARS_CANCEL, &acpi_desc->scrub_flags); - cancel_delayed_work_sync(&acpi_desc->dwork); mutex_unlock(&acpi_desc->init_mutex); + cancel_delayed_work_sync(&acpi_desc->dwork); /* * Bounce the nvdimm bus lock to make sure any in-flight --- linux-gcp-5.19.0.orig/drivers/acpi/numa/hmat.c +++ linux-gcp-5.19.0/drivers/acpi/numa/hmat.c @@ -563,17 +563,26 @@ { struct memory_initiator *ia; struct memory_initiator *ib; - unsigned long *p_nodes = priv; ia = list_entry(a, struct memory_initiator, node); ib = list_entry(b, struct memory_initiator, node); - set_bit(ia->processor_pxm, p_nodes); - set_bit(ib->processor_pxm, p_nodes); - return ia->processor_pxm - ib->processor_pxm; } +static int initiators_to_nodemask(unsigned long *p_nodes) +{ + struct memory_initiator *initiator; + + if (list_empty(&initiators)) + return -ENXIO; + + list_for_each_entry(initiator, &initiators, node) + set_bit(initiator->processor_pxm, p_nodes); + + return 0; +} + static void hmat_register_target_initiators(struct memory_target *target) { static DECLARE_BITMAP(p_nodes, MAX_NUMNODES); @@ -610,7 +619,10 @@ * initiators. */ bitmap_zero(p_nodes, MAX_NUMNODES); - list_sort(p_nodes, &initiators, initiator_cmp); + list_sort(NULL, &initiators, initiator_cmp); + if (initiators_to_nodemask(p_nodes) < 0) + return; + if (!access0done) { for (i = WRITE_LATENCY; i <= READ_BANDWIDTH; i++) { loc = localities_types[i]; @@ -644,8 +656,9 @@ /* Access 1 ignores Generic Initiators */ bitmap_zero(p_nodes, MAX_NUMNODES); - list_sort(p_nodes, &initiators, initiator_cmp); - best = 0; + if (initiators_to_nodemask(p_nodes) < 0) + return; + for (i = WRITE_LATENCY; i <= READ_BANDWIDTH; i++) { loc = localities_types[i]; if (!loc) --- linux-gcp-5.19.0.orig/drivers/acpi/numa/srat.c +++ linux-gcp-5.19.0/drivers/acpi/numa/srat.c @@ -327,6 +327,7 @@ pr_warn("ACPI NUMA: Failed to add memblk for CFMWS node %d [mem %#llx-%#llx]\n", node, start, end); } + node_set(node, numa_nodes_parsed); /* Set the next available fake_pxm value */ (*fake_pxm)++; --- linux-gcp-5.19.0.orig/drivers/acpi/osi.c +++ linux-gcp-5.19.0/drivers/acpi/osi.c @@ -468,6 +468,77 @@ }, /* + * The following Lenovo models have a broken workaround in the + * acpi_video backlight implementation to meet the Windows 8 + * requirement of 101 backlight levels. Reverting to pre-Win8 + * behavior fixes the problem. + */ + { + .callback = dmi_disable_osi_win8, + .ident = "Lenovo ThinkPad L430", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad L430"), + }, + }, + { + .callback = dmi_disable_osi_win8, + .ident = "Lenovo ThinkPad T430", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T430"), + }, + }, + { + .callback = dmi_disable_osi_win8, + .ident = "Lenovo ThinkPad T430s", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T430s"), + }, + }, + { + .callback = dmi_disable_osi_win8, + .ident = "Lenovo ThinkPad T530", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad T530"), + }, + }, + { + .callback = dmi_disable_osi_win8, + .ident = "Lenovo ThinkPad W530", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad W530"), + }, + }, + { + .callback = dmi_disable_osi_win8, + .ident = "Lenovo ThinkPad X1 Carbon", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X1 Carbon"), + }, + }, + { + .callback = dmi_disable_osi_win8, + .ident = "Lenovo ThinkPad X230", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad X230"), + }, + }, + { + .callback = dmi_disable_osi_win8, + .ident = "Lenovo ThinkPad Edge E330", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "ThinkPad Edge E330"), + }, + }, + + /* * BIOS invocation of _OSI(Linux) is almost always a BIOS bug. * Linux ignores it, except for the machines enumerated below. */ --- linux-gcp-5.19.0.orig/drivers/acpi/pci_mcfg.c +++ linux-gcp-5.19.0/drivers/acpi/pci_mcfg.c @@ -41,6 +41,8 @@ static struct mcfg_fixup mcfg_quirks[] = { /* { OEM_ID, OEM_TABLE_ID, REV, SEGMENT, BUS_RANGE, ops, cfgres }, */ +#ifdef CONFIG_ARM64 + #define AL_ECAM(table_id, rev, seg, ops) \ { "AMAZON", table_id, rev, seg, MCFG_BUS_ANY, ops } @@ -169,6 +171,7 @@ ALTRA_ECAM_QUIRK(1, 13), ALTRA_ECAM_QUIRK(1, 14), ALTRA_ECAM_QUIRK(1, 15), +#endif /* ARM64 */ }; static char mcfg_oem_id[ACPI_OEM_ID_SIZE]; --- linux-gcp-5.19.0.orig/drivers/acpi/pfr_telemetry.c +++ linux-gcp-5.19.0/drivers/acpi/pfr_telemetry.c @@ -144,7 +144,7 @@ ret = 0; free_acpi_buffer: - kfree(out_obj); + ACPI_FREE(out_obj); return ret; } @@ -180,7 +180,7 @@ ret = -EBUSY; } - kfree(out_obj); + ACPI_FREE(out_obj); return ret; } @@ -218,7 +218,7 @@ ret = obj->integer.value; free_acpi_buffer: - kfree(out_obj); + ACPI_FREE(out_obj); return ret; } --- linux-gcp-5.19.0.orig/drivers/acpi/pfr_update.c +++ linux-gcp-5.19.0/drivers/acpi/pfr_update.c @@ -178,7 +178,7 @@ ret = 0; free_acpi_buffer: - kfree(out_obj); + ACPI_FREE(out_obj); return ret; } @@ -224,7 +224,7 @@ ret = 0; free_acpi_buffer: - kfree(out_obj); + ACPI_FREE(out_obj); return ret; } @@ -385,7 +385,7 @@ ret = 0; free_acpi_buffer: - kfree(out_obj); + ACPI_FREE(out_obj); return ret; } --- linux-gcp-5.19.0.orig/drivers/acpi/pptt.c +++ linux-gcp-5.19.0/drivers/acpi/pptt.c @@ -532,21 +532,37 @@ return -ENOENT; } + +static struct acpi_table_header *acpi_get_pptt(void) +{ + static struct acpi_table_header *pptt; + acpi_status status; + + /* + * PPTT will be used at runtime on every CPU hotplug in path, so we + * don't need to call acpi_put_table() to release the table mapping. + */ + if (!pptt) { + status = acpi_get_table(ACPI_SIG_PPTT, 0, &pptt); + if (ACPI_FAILURE(status)) + acpi_pptt_warn_missing(); + } + + return pptt; +} + static int find_acpi_cpu_topology_tag(unsigned int cpu, int level, int flag) { struct acpi_table_header *table; - acpi_status status; int retval; - status = acpi_get_table(ACPI_SIG_PPTT, 0, &table); - if (ACPI_FAILURE(status)) { - acpi_pptt_warn_missing(); + table = acpi_get_pptt(); + if (!table) return -ENOENT; - } + retval = topology_get_acpi_cpu_tag(table, cpu, level, flag); pr_debug("Topology Setup ACPI CPU %d, level %d ret = %d\n", cpu, level, retval); - acpi_put_table(table); return retval; } @@ -567,16 +583,13 @@ static int check_acpi_cpu_flag(unsigned int cpu, int rev, u32 flag) { struct acpi_table_header *table; - acpi_status status; u32 acpi_cpu_id = get_acpi_id_for_cpu(cpu); struct acpi_pptt_processor *cpu_node = NULL; int ret = -ENOENT; - status = acpi_get_table(ACPI_SIG_PPTT, 0, &table); - if (ACPI_FAILURE(status)) { - acpi_pptt_warn_missing(); - return ret; - } + table = acpi_get_pptt(); + if (!table) + return -ENOENT; if (table->revision >= rev) cpu_node = acpi_find_processor_node(table, acpi_cpu_id); @@ -584,8 +597,6 @@ if (cpu_node) ret = (cpu_node->flags & flag) != 0; - acpi_put_table(table); - return ret; } @@ -604,18 +615,15 @@ u32 acpi_cpu_id; struct acpi_table_header *table; int number_of_levels = 0; - acpi_status status; + + table = acpi_get_pptt(); + if (!table) + return -ENOENT; pr_debug("Cache Setup find last level CPU=%d\n", cpu); acpi_cpu_id = get_acpi_id_for_cpu(cpu); - status = acpi_get_table(ACPI_SIG_PPTT, 0, &table); - if (ACPI_FAILURE(status)) { - acpi_pptt_warn_missing(); - } else { - number_of_levels = acpi_find_cache_levels(table, acpi_cpu_id); - acpi_put_table(table); - } + number_of_levels = acpi_find_cache_levels(table, acpi_cpu_id); pr_debug("Cache Setup find last level level=%d\n", number_of_levels); return number_of_levels; @@ -637,20 +645,16 @@ int cache_setup_acpi(unsigned int cpu) { struct acpi_table_header *table; - acpi_status status; - pr_debug("Cache Setup ACPI CPU %d\n", cpu); - - status = acpi_get_table(ACPI_SIG_PPTT, 0, &table); - if (ACPI_FAILURE(status)) { - acpi_pptt_warn_missing(); + table = acpi_get_pptt(); + if (!table) return -ENOENT; - } + + pr_debug("Cache Setup ACPI CPU %d\n", cpu); cache_setup_acpi_cpu(table, cpu); - acpi_put_table(table); - return status; + return 0; } /** @@ -766,50 +770,38 @@ int find_acpi_cpu_topology_cluster(unsigned int cpu) { struct acpi_table_header *table; - acpi_status status; struct acpi_pptt_processor *cpu_node, *cluster_node; u32 acpi_cpu_id; int retval; int is_thread; - status = acpi_get_table(ACPI_SIG_PPTT, 0, &table); - if (ACPI_FAILURE(status)) { - acpi_pptt_warn_missing(); + table = acpi_get_pptt(); + if (!table) return -ENOENT; - } acpi_cpu_id = get_acpi_id_for_cpu(cpu); cpu_node = acpi_find_processor_node(table, acpi_cpu_id); - if (cpu_node == NULL || !cpu_node->parent) { - retval = -ENOENT; - goto put_table; - } + if (!cpu_node || !cpu_node->parent) + return -ENOENT; is_thread = cpu_node->flags & ACPI_PPTT_ACPI_PROCESSOR_IS_THREAD; cluster_node = fetch_pptt_node(table, cpu_node->parent); - if (cluster_node == NULL) { - retval = -ENOENT; - goto put_table; - } + if (!cluster_node) + return -ENOENT; + if (is_thread) { - if (!cluster_node->parent) { - retval = -ENOENT; - goto put_table; - } + if (!cluster_node->parent) + return -ENOENT; + cluster_node = fetch_pptt_node(table, cluster_node->parent); - if (cluster_node == NULL) { - retval = -ENOENT; - goto put_table; - } + if (!cluster_node) + return -ENOENT; } if (cluster_node->flags & ACPI_PPTT_ACPI_PROCESSOR_ID_VALID) retval = cluster_node->acpi_processor_id; else retval = ACPI_PTR_DIFF(cluster_node, table); -put_table: - acpi_put_table(table); - return retval; } --- linux-gcp-5.19.0.orig/drivers/acpi/prmt.c +++ linux-gcp-5.19.0/drivers/acpi/prmt.c @@ -236,6 +236,11 @@ efi_status_t status; struct prm_context_buffer context; + if (!efi_enabled(EFI_RUNTIME_SERVICES)) { + pr_err_ratelimited("PRM: EFI runtime services no longer available\n"); + return AE_NO_HANDLER; + } + /* * The returned acpi_status will always be AE_OK. Error values will be * saved in the first byte of the PRM message buffer to be used by ASL. @@ -325,6 +330,11 @@ pr_info("PRM: found %u modules\n", mc); + if (!efi_enabled(EFI_RUNTIME_SERVICES)) { + pr_err("PRM: EFI runtime services unavailable\n"); + return; + } + status = acpi_install_address_space_handler(ACPI_ROOT_OBJECT, ACPI_ADR_SPACE_PLATFORM_RT, &acpi_platformrt_space_handler, --- linux-gcp-5.19.0.orig/drivers/acpi/processor_idle.c +++ linux-gcp-5.19.0/drivers/acpi/processor_idle.c @@ -530,10 +530,27 @@ /* No delay is needed if we are in guest */ if (boot_cpu_has(X86_FEATURE_HYPERVISOR)) return; + /* + * Modern (>=Nehalem) Intel systems use ACPI via intel_idle, + * not this code. Assume that any Intel systems using this + * are ancient and may need the dummy wait. This also assumes + * that the motivating chipset issue was Intel-only. + */ + if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL) + return; #endif - /* Dummy wait op - must do something useless after P_LVL2 read - because chipsets cannot guarantee that STPCLK# signal - gets asserted in time to freeze execution properly. */ + /* + * Dummy wait op - must do something useless after P_LVL2 read + * because chipsets cannot guarantee that STPCLK# signal gets + * asserted in time to freeze execution properly + * + * This workaround has been in place since the original ACPI + * implementation was merged, circa 2002. + * + * If a profile is pointing to this instruction, please first + * consider moving your system to a more modern idle + * mechanism. + */ inl(acpi_gbl_FADT.xpm_timer_block.address); } @@ -607,7 +624,7 @@ * @cx: Target state context * @index: index of target state */ -static int acpi_idle_enter_bm(struct cpuidle_driver *drv, +static int __cpuidle acpi_idle_enter_bm(struct cpuidle_driver *drv, struct acpi_processor *pr, struct acpi_processor_cx *cx, int index) @@ -664,7 +681,7 @@ return index; } -static int acpi_idle_enter(struct cpuidle_device *dev, +static int __cpuidle acpi_idle_enter(struct cpuidle_device *dev, struct cpuidle_driver *drv, int index) { struct acpi_processor_cx *cx = per_cpu(acpi_cstate[index], dev->cpu); @@ -693,7 +710,7 @@ return index; } -static int acpi_idle_enter_s2idle(struct cpuidle_device *dev, +static int __cpuidle acpi_idle_enter_s2idle(struct cpuidle_device *dev, struct cpuidle_driver *drv, int index) { struct acpi_processor_cx *cx = per_cpu(acpi_cstate[index], dev->cpu); --- linux-gcp-5.19.0.orig/drivers/acpi/processor_thermal.c +++ linux-gcp-5.19.0/drivers/acpi/processor_thermal.c @@ -151,7 +151,7 @@ unsigned int cpu; for_each_cpu(cpu, policy->related_cpus) { - struct acpi_processor *pr = per_cpu(processors, policy->cpu); + struct acpi_processor *pr = per_cpu(processors, cpu); if (pr) freq_qos_remove_request(&pr->thermal_req); --- linux-gcp-5.19.0.orig/drivers/acpi/property.c +++ linux-gcp-5.19.0/drivers/acpi/property.c @@ -155,10 +155,10 @@ return acpi_nondev_subnode_data_ok(handle, link, list, parent); } -static int acpi_add_nondev_subnodes(acpi_handle scope, - const union acpi_object *links, - struct list_head *list, - struct fwnode_handle *parent) +static bool acpi_add_nondev_subnodes(acpi_handle scope, + const union acpi_object *links, + struct list_head *list, + struct fwnode_handle *parent) { bool ret = false; int i; --- linux-gcp-5.19.0.orig/drivers/acpi/resource.c +++ linux-gcp-5.19.0/drivers/acpi/resource.c @@ -399,16 +399,93 @@ { } }; +static const struct dmi_system_id asus_laptop[] = { + { + .ident = "Asus Vivobook K3402ZA", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_BOARD_NAME, "K3402ZA"), + }, + }, + { + .ident = "Asus Vivobook K3502ZA", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_BOARD_NAME, "K3502ZA"), + }, + }, + { + .ident = "Asus Vivobook S5402ZA", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_BOARD_NAME, "S5402ZA"), + }, + }, + { } +}; + +static const struct dmi_system_id lenovo_laptop[] = { + { + .ident = "LENOVO IdeaPad Flex 5 14ALC7", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_NAME, "82R9"), + }, + }, + { + .ident = "LENOVO IdeaPad Flex 5 16ALC7", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_NAME, "82RA"), + }, + }, + { } +}; + +static const struct dmi_system_id tongfang_gm_rg[] = { + { + .ident = "TongFang GMxRGxx/XMG CORE 15 (M22)/TUXEDO Stellaris 15 Gen4 AMD", + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "GMxRGxx"), + }, + }, + { } +}; + +static const struct dmi_system_id maingear_laptop[] = { + { + .ident = "MAINGEAR Vector Pro 2 15", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Micro Electronics Inc"), + DMI_MATCH(DMI_PRODUCT_NAME, "MG-VCP2-15A3070T"), + } + }, + { + .ident = "MAINGEAR Vector Pro 2 17", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Micro Electronics Inc"), + DMI_MATCH(DMI_PRODUCT_NAME, "MG-VCP2-17A3070T"), + }, + }, + { } +}; + struct irq_override_cmp { const struct dmi_system_id *system; unsigned char irq; unsigned char triggering; unsigned char polarity; unsigned char shareable; + bool override; }; -static const struct irq_override_cmp skip_override_table[] = { - { medion_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0 }, +static const struct irq_override_cmp override_table[] = { + { medion_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, + { asus_laptop, 1, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, false }, + { lenovo_laptop, 6, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, true }, + { lenovo_laptop, 10, ACPI_LEVEL_SENSITIVE, ACPI_ACTIVE_LOW, 0, true }, + { tongfang_gm_rg, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true }, + { maingear_laptop, 1, ACPI_EDGE_SENSITIVE, ACPI_ACTIVE_LOW, 1, true }, }; static bool acpi_dev_irq_override(u32 gsi, u8 triggering, u8 polarity, @@ -416,17 +493,27 @@ { int i; - for (i = 0; i < ARRAY_SIZE(skip_override_table); i++) { - const struct irq_override_cmp *entry = &skip_override_table[i]; + for (i = 0; i < ARRAY_SIZE(override_table); i++) { + const struct irq_override_cmp *entry = &override_table[i]; if (dmi_check_system(entry->system) && entry->irq == gsi && entry->triggering == triggering && entry->polarity == polarity && entry->shareable == shareable) - return false; + return entry->override; } +#ifdef CONFIG_X86 + /* + * IRQ override isn't needed on modern AMD Zen systems and + * this override breaks active low IRQs on AMD Ryzen 6000 and + * newer systems. Skip it. + */ + if (boot_cpu_has(X86_FEATURE_ZEN)) + return false; +#endif + return true; } @@ -709,6 +796,23 @@ EXPORT_SYMBOL_GPL(acpi_dev_get_dma_resources); /** + * acpi_dev_get_memory_resources - Get current memory resources of a device. + * @adev: ACPI device node to get the resources for. + * @list: Head of the resultant list of resources (must be empty). + * + * This is a helper function that locates all memory type resources of @adev + * with acpi_dev_get_resources(). + * + * The number of resources in the output list is returned on success, an error + * code reflecting the error condition is returned otherwise. + */ +int acpi_dev_get_memory_resources(struct acpi_device *adev, struct list_head *list) +{ + return acpi_dev_get_resources(adev, list, is_memory, NULL); +} +EXPORT_SYMBOL_GPL(acpi_dev_get_memory_resources); + +/** * acpi_dev_filter_resource_type - Filter ACPI resource according to resource * types * @ares: Input ACPI resource object. --- linux-gcp-5.19.0.orig/drivers/acpi/scan.c +++ linux-gcp-5.19.0/drivers/acpi/scan.c @@ -811,6 +811,7 @@ static const char * const acpi_ignore_dep_ids[] = { "PNP0D80", /* Windows-compatible System Power Management Controller */ "INT33BD", /* Intel Baytrail Mailbox Device */ + "LATT2021", /* Lattice FW Update Client Driver */ NULL }; --- linux-gcp-5.19.0.orig/drivers/acpi/sleep.c +++ linux-gcp-5.19.0/drivers/acpi/sleep.c @@ -60,13 +60,17 @@ .priority = 0, }; +#ifndef acpi_skip_set_wakeup_address +#define acpi_skip_set_wakeup_address() false +#endif + static int acpi_sleep_prepare(u32 acpi_state) { #ifdef CONFIG_ACPI_SLEEP unsigned long acpi_wakeup_address; /* do we have a wakeup address for S2 and S3? */ - if (acpi_state == ACPI_STATE_S3) { + if (acpi_state == ACPI_STATE_S3 && !acpi_skip_set_wakeup_address()) { acpi_wakeup_address = acpi_get_wakeup_address(); if (!acpi_wakeup_address) return -EFAULT; @@ -360,6 +364,14 @@ DMI_MATCH(DMI_PRODUCT_NAME, "80E3"), }, }, + { + .callback = init_nvs_save_s3, + .ident = "Lenovo G40-45", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_NAME, "80E1"), + }, + }, /* * ThinkPad X1 Tablet(2016) cannot do suspend-to-idle using * the Low Power S0 Idle firmware interface (see --- linux-gcp-5.19.0.orig/drivers/acpi/video_detect.c +++ linux-gcp-5.19.0/drivers/acpi/video_detect.c @@ -319,7 +319,7 @@ /* Lenovo Ideapad Z570 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "102434U"), + DMI_MATCH(DMI_PRODUCT_VERSION, "Ideapad Z570"), }, }, { @@ -349,6 +349,14 @@ }, { .callback = video_detect_force_native, + /* Dell Inspiron N4010 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron N4010"), + }, + }, + { + .callback = video_detect_force_native, /* Dell Vostro V131 */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), @@ -430,7 +438,6 @@ .callback = video_detect_force_native, .ident = "Clevo NL5xRU", .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), }, }, @@ -438,56 +445,150 @@ .callback = video_detect_force_native, .ident = "Clevo NL5xRU", .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "SchenkerTechnologiesGmbH"), - DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), + DMI_MATCH(DMI_BOARD_NAME, "AURA1501"), }, }, { .callback = video_detect_force_native, .ident = "Clevo NL5xRU", .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), - DMI_MATCH(DMI_BOARD_NAME, "NL5xRU"), + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), + DMI_MATCH(DMI_BOARD_NAME, "EDUBOOK1502"), }, }, { .callback = video_detect_force_native, - .ident = "Clevo NL5xRU", + .ident = "Clevo NL5xNU", + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "NL5xNU"), + }, + }, + /* + * The TongFang PF5PU1G, PF4NU1F, PF5NU1G, and PF5LUXG/TUXEDO BA15 Gen10, + * Pulse 14/15 Gen1, and Pulse 15 Gen2 have the same problem as the Clevo + * NL5xRU and NL5xNU/TUXEDO Aura 15 Gen1 and Gen2. See the description + * above. + */ + { + .callback = video_detect_force_native, + .ident = "TongFang PF5PU1G", + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "PF5PU1G"), + }, + }, + { + .callback = video_detect_force_native, + .ident = "TongFang PF4NU1F", + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "PF4NU1F"), + }, + }, + { + .callback = video_detect_force_native, + .ident = "TongFang PF4NU1F", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), - DMI_MATCH(DMI_BOARD_NAME, "AURA1501"), + DMI_MATCH(DMI_BOARD_NAME, "PULSE1401"), }, }, { .callback = video_detect_force_native, - .ident = "Clevo NL5xRU", + .ident = "TongFang PF5NU1G", + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "PF5NU1G"), + }, + }, + { + .callback = video_detect_force_native, + .ident = "TongFang PF5NU1G", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), - DMI_MATCH(DMI_BOARD_NAME, "EDUBOOK1502"), + DMI_MATCH(DMI_BOARD_NAME, "PULSE1501"), }, }, { .callback = video_detect_force_native, - .ident = "Clevo NL5xNU", + .ident = "TongFang PF5LUXG", + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "PF5LUXG"), + }, + }, + /* + * More Tongfang devices with the same issue as the Clevo NL5xRU and + * NL5xNU/TUXEDO Aura 15 Gen1 and Gen2. See the description above. + */ + { + .callback = video_detect_force_native, + .ident = "TongFang GKxNRxx", + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "GKxNRxx"), + }, + }, + { + .callback = video_detect_force_native, + .ident = "TongFang GKxNRxx", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), - DMI_MATCH(DMI_BOARD_NAME, "NL5xNU"), + DMI_MATCH(DMI_BOARD_NAME, "POLARIS1501A1650TI"), }, }, { .callback = video_detect_force_native, - .ident = "Clevo NL5xNU", + .ident = "TongFang GKxNRxx", .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "SchenkerTechnologiesGmbH"), - DMI_MATCH(DMI_BOARD_NAME, "NL5xNU"), + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), + DMI_MATCH(DMI_BOARD_NAME, "POLARIS1501A2060"), }, }, { .callback = video_detect_force_native, - .ident = "Clevo NL5xNU", + .ident = "TongFang GKxNRxx", .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Notebook"), - DMI_MATCH(DMI_BOARD_NAME, "NL5xNU"), + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), + DMI_MATCH(DMI_BOARD_NAME, "POLARIS1701A1650TI"), + }, + }, + { + .callback = video_detect_force_native, + .ident = "TongFang GKxNRxx", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "TUXEDO"), + DMI_MATCH(DMI_BOARD_NAME, "POLARIS1701A2060"), + }, + }, + { + .callback = video_detect_force_native, + .ident = "TongFang GMxNGxx", + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "GMxNGxx"), + }, + }, + { + .callback = video_detect_force_native, + .ident = "TongFang GMxZGxx", + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "GMxZGxx"), + }, + }, + { + .callback = video_detect_force_native, + .ident = "TongFang GMxRGxx", + .matches = { + DMI_MATCH(DMI_BOARD_NAME, "GMxRGxx"), + }, + }, + /* + * Models which have nvidia-ec-wmi support, but should not use it. + * Note this indicates a likely firmware bug on these models and should + * be revisited if/when Linux gets support for dynamic mux mode. + */ + { + .callback = video_detect_force_native, + /* Dell G15 5515 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Dell G15 5515"), }, }, --- linux-gcp-5.19.0.orig/drivers/acpi/viot.c +++ linux-gcp-5.19.0/drivers/acpi/viot.c @@ -249,6 +249,26 @@ } /** + * acpi_viot_early_init - Test the presence of VIOT and enable ACS + * + * If the VIOT does exist, ACS must be enabled. This cannot be + * done in acpi_viot_init() which is called after the bus scan + */ +void __init acpi_viot_early_init(void) +{ +#ifdef CONFIG_PCI + acpi_status status; + struct acpi_table_header *hdr; + + status = acpi_get_table(ACPI_SIG_VIOT, 0, &hdr); + if (ACPI_FAILURE(status)) + return; + pci_request_acs(); + acpi_put_table(hdr); +#endif +} + +/** * acpi_viot_init - Parse the VIOT table * * Parse the VIOT table, prepare the list of endpoints to be used during DMA @@ -319,12 +339,6 @@ epid = ((domain_nr - ep->segment_start) << 16) + dev_id - ep->bdf_start + ep->endpoint_id; - /* - * If we found a PCI range managed by the viommu, we're - * the one that has to request ACS. - */ - pci_request_acs(); - return viot_dev_iommu_init(&pdev->dev, ep->viommu, epid); } --- linux-gcp-5.19.0.orig/drivers/acpi/x86/s2idle.c +++ linux-gcp-5.19.0/drivers/acpi/x86/s2idle.c @@ -380,16 +380,13 @@ * AMDI0006: * - should use rev_id 0x0 * - function mask = 0x3: Should use Microsoft method - * AMDI0007: - * - Should use rev_id 0x2 - * - Should only use AMD method */ const char *hid = acpi_device_hid(adev); - rev_id = strcmp(hid, "AMDI0007") ? 0 : 2; + rev_id = 0; lps0_dsm_func_mask = validate_dsm(adev->handle, ACPI_LPS0_DSM_UUID_AMD, rev_id, &lps0_dsm_guid); lps0_dsm_func_mask_microsoft = validate_dsm(adev->handle, - ACPI_LPS0_DSM_UUID_MICROSOFT, 0, + ACPI_LPS0_DSM_UUID_MICROSOFT, rev_id, &lps0_dsm_guid_microsoft); if (lps0_dsm_func_mask > 0x3 && (!strcmp(hid, "AMD0004") || !strcmp(hid, "AMD0005") || @@ -397,9 +394,6 @@ lps0_dsm_func_mask = (lps0_dsm_func_mask << 1) | 0x1; acpi_handle_debug(adev->handle, "_DSM UUID %s: Adjusted function mask: 0x%x\n", ACPI_LPS0_DSM_UUID_AMD, lps0_dsm_func_mask); - } else if (lps0_dsm_func_mask_microsoft > 0 && !strcmp(hid, "AMDI0007")) { - lps0_dsm_func_mask_microsoft = -EINVAL; - acpi_handle_debug(adev->handle, "_DSM Using AMD method\n"); } } else { rev_id = 1; --- linux-gcp-5.19.0.orig/drivers/acpi/x86/utils.c +++ linux-gcp-5.19.0/drivers/acpi/x86/utils.c @@ -207,9 +207,32 @@ {} }; +static const struct dmi_system_id force_storage_d3_dmi[] = { + { + /* + * _ADR is ambiguous between GPP1.DEV0 and GPP1.NVME + * but .NVME is needed to get StorageD3Enable node + * https://bugzilla.kernel.org/show_bug.cgi?id=216440 + */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 14 7425 2-in-1"), + } + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 16 5625"), + } + }, + {} +}; + bool force_storage_d3(void) { - return x86_match_cpu(storage_d3_cpu_ids); + const struct dmi_system_id *dmi_id = dmi_first_match(force_storage_d3_dmi); + + return dmi_id || x86_match_cpu(storage_d3_cpu_ids); } /* @@ -295,6 +318,27 @@ }, .driver_data = (void *)(ACPI_QUIRK_SKIP_I2C_CLIENTS | ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY), + }, + { + /* Lenovo Yoga Tablet 1050F/L */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Intel Corp."), + DMI_MATCH(DMI_PRODUCT_NAME, "VALLEYVIEW C0 PLATFORM"), + DMI_MATCH(DMI_BOARD_NAME, "BYT-T FFD8"), + /* Partial match on beginning of BIOS version */ + DMI_MATCH(DMI_BIOS_VERSION, "BLADE_21"), + }, + .driver_data = (void *)(ACPI_QUIRK_SKIP_I2C_CLIENTS | + ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY), + }, + { + /* Nextbook Ares 8 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Insyde"), + DMI_MATCH(DMI_PRODUCT_NAME, "M890BAP"), + }, + .driver_data = (void *)(ACPI_QUIRK_SKIP_I2C_CLIENTS | + ACPI_QUIRK_SKIP_ACPI_AC_AND_BATTERY), }, { /* Nextbook Ares 8 */ --- linux-gcp-5.19.0.orig/drivers/android/Kconfig +++ linux-gcp-5.19.0/drivers/android/Kconfig @@ -9,7 +9,7 @@ if ANDROID config ANDROID_BINDER_IPC - bool "Android Binder IPC Driver" + tristate "Android Binder IPC Driver" depends on MMU default n help @@ -21,8 +21,8 @@ between said processes. config ANDROID_BINDERFS - bool "Android Binderfs filesystem" - depends on ANDROID_BINDER_IPC + tristate "Android Binderfs filesystem" + depends on (ANDROID_BINDER_IPC=y) || (ANDROID_BINDER_IPC=m && m) default n help Binderfs is a pseudo-filesystem for the Android Binder IPC driver --- linux-gcp-5.19.0.orig/drivers/android/Makefile +++ linux-gcp-5.19.0/drivers/android/Makefile @@ -1,6 +1,10 @@ # SPDX-License-Identifier: GPL-2.0-only ccflags-y += -I$(src) # needed for trace events -obj-$(CONFIG_ANDROID_BINDERFS) += binderfs.o -obj-$(CONFIG_ANDROID_BINDER_IPC) += binder.o binder_alloc.o -obj-$(CONFIG_ANDROID_BINDER_IPC_SELFTEST) += binder_alloc_selftest.o +binder_linux-y := binder.o binder_alloc.o +obj-$(CONFIG_ANDROID_BINDER_IPC) += binder_linux.o +binder_linux-$(CONFIG_ANDROID_BINDERFS) += binderfs.o +binder_linux-$(CONFIG_ANDROID_BINDER_IPC_SELFTEST) += binder_alloc_selftest.o + +# binder-$(CONFIG_ANDROID_BINDER_IPC) := binder.o binder_alloc.o +# binder-$(CONFIG_ANDROID_BINDERFS) += binderfs.o --- linux-gcp-5.19.0.orig/drivers/android/binder.c +++ linux-gcp-5.19.0/drivers/android/binder.c @@ -197,8 +197,32 @@ atomic_inc(&binder_stats.obj_created[type]); } -struct binder_transaction_log binder_transaction_log; -struct binder_transaction_log binder_transaction_log_failed; +struct binder_transaction_log_entry { + int debug_id; + int debug_id_done; + int call_type; + int from_proc; + int from_thread; + int target_handle; + int to_proc; + int to_thread; + int to_node; + int data_size; + int offsets_size; + int return_error_line; + uint32_t return_error; + uint32_t return_error_param; + char context_name[BINDERFS_MAX_NAME + 1]; +}; + +struct binder_transaction_log { + atomic_t cur; + bool full; + struct binder_transaction_log_entry entry[32]; +}; + +static struct binder_transaction_log binder_transaction_log; +static struct binder_transaction_log binder_transaction_log_failed; static struct binder_transaction_log_entry *binder_transaction_log_add( struct binder_transaction_log *log) @@ -1361,6 +1385,18 @@ } ret = binder_inc_ref_olocked(ref, strong, target_list); *rdata = ref->data; + if (ret && ref == new_ref) { + /* + * Cleanup the failed reference here as the target + * could now be dead and have already released its + * references by now. Calling on the new reference + * with strong=0 and a tmp_refs will not decrement + * the node. The new_ref gets kfree'd below. + */ + binder_cleanup_ref_olocked(new_ref); + ref = NULL; + } + binder_proc_unlock(proc); if (new_ref && ref != new_ref) /* @@ -2781,8 +2817,7 @@ binder_size_t last_fixup_min_off = 0; struct binder_context *context = proc->context; int t_debug_id = atomic_inc_return(&binder_last_id); - char *secctx = NULL; - u32 secctx_sz = 0; + struct lsmcontext lsmctx = { }; struct list_head sgc_head; struct list_head pf_head; const void __user *user_buffer = (const void __user *) @@ -3054,11 +3089,11 @@ t->priority = task_nice(current); if (target_node && target_node->txn_security_ctx) { - u32 secid; + struct lsmblob blob; size_t added_size; - security_cred_getsecid(proc->cred, &secid); - ret = security_secid_to_secctx(secid, &secctx, &secctx_sz); + security_cred_getsecid(proc->cred, &blob); + ret = security_secid_to_secctx(&blob, &lsmctx, LSMBLOB_DISPLAY); if (ret) { binder_txn_error("%d:%d failed to get security context\n", thread->pid, proc->pid); @@ -3067,7 +3102,7 @@ return_error_line = __LINE__; goto err_get_secctx_failed; } - added_size = ALIGN(secctx_sz, sizeof(u64)); + added_size = ALIGN(lsmctx.len, sizeof(u64)); extra_buffers_size += added_size; if (extra_buffers_size < added_size) { binder_txn_error("%d:%d integer overflow of extra_buffers_size\n", @@ -3101,23 +3136,23 @@ t->buffer = NULL; goto err_binder_alloc_buf_failed; } - if (secctx) { + if (lsmctx.context) { int err; size_t buf_offset = ALIGN(tr->data_size, sizeof(void *)) + ALIGN(tr->offsets_size, sizeof(void *)) + ALIGN(extra_buffers_size, sizeof(void *)) - - ALIGN(secctx_sz, sizeof(u64)); + ALIGN(lsmctx.len, sizeof(u64)); + t->security_interface = lsm_task_ilsm(current); t->security_ctx = (uintptr_t)t->buffer->user_data + buf_offset; err = binder_alloc_copy_to_buffer(&target_proc->alloc, t->buffer, buf_offset, - secctx, secctx_sz); + lsmctx.context, lsmctx.len); if (err) { t->security_ctx = 0; WARN_ON(1); } - security_release_secctx(secctx, secctx_sz); - secctx = NULL; + security_release_secctx(&lsmctx); } t->buffer->debug_id = t->debug_id; t->buffer->transaction = t; @@ -3161,7 +3196,7 @@ off_end_offset = off_start_offset + tr->offsets_size; sg_buf_offset = ALIGN(off_end_offset, sizeof(void *)); sg_buf_end_offset = sg_buf_offset + extra_buffers_size - - ALIGN(secctx_sz, sizeof(u64)); + ALIGN(lsmctx.len, sizeof(u64)); off_min = 0; for (buffer_offset = off_start_offset; buffer_offset < off_end_offset; buffer_offset += sizeof(binder_size_t)) { @@ -3532,8 +3567,8 @@ binder_alloc_free_buf(&target_proc->alloc, t->buffer); err_binder_alloc_buf_failed: err_bad_extra_size: - if (secctx) - security_release_secctx(secctx, secctx_sz); + if (lsmctx.context) + security_release_secctx(&lsmctx); err_get_secctx_failed: kfree(tcomplete); binder_stats_deleted(BINDER_STAT_TRANSACTION_COMPLETE); @@ -4554,6 +4589,26 @@ tr.secctx = t->security_ctx; if (t->security_ctx) { + int to_ilsm = lsm_task_ilsm(current); + int from_ilsm = t->security_interface; + + if (to_ilsm == LSMBLOB_INVALID) + to_ilsm = 0; + if (from_ilsm == LSMBLOB_INVALID) + from_ilsm = 0; + /* + * The sender provided a security context from + * a different security module than the one this + * process wants to report if these don't match. + */ + if (from_ilsm != to_ilsm) { + if (t_from) + binder_thread_dec_tmpref(t_from); + + binder_cleanup_transaction(t, "security context mismatch", + BR_FAILED_REPLY); + return -EINVAL; + } cmd = BR_TRANSACTION_SEC_CTX; trsize = sizeof(tr); } @@ -6197,8 +6252,7 @@ print_binder_stats(m, " ", &proc->stats); } - -int binder_state_show(struct seq_file *m, void *unused) +static int state_show(struct seq_file *m, void *unused) { struct binder_proc *proc; struct binder_node *node; @@ -6237,7 +6291,7 @@ return 0; } -int binder_stats_show(struct seq_file *m, void *unused) +static int stats_show(struct seq_file *m, void *unused) { struct binder_proc *proc; @@ -6253,7 +6307,7 @@ return 0; } -int binder_transactions_show(struct seq_file *m, void *unused) +static int transactions_show(struct seq_file *m, void *unused) { struct binder_proc *proc; @@ -6309,7 +6363,7 @@ "\n" : " (incomplete)\n"); } -int binder_transaction_log_show(struct seq_file *m, void *unused) +static int transaction_log_show(struct seq_file *m, void *unused) { struct binder_transaction_log *log = m->private; unsigned int log_cur = atomic_read(&log->cur); @@ -6341,6 +6395,45 @@ .release = binder_release, }; +DEFINE_SHOW_ATTRIBUTE(state); +DEFINE_SHOW_ATTRIBUTE(stats); +DEFINE_SHOW_ATTRIBUTE(transactions); +DEFINE_SHOW_ATTRIBUTE(transaction_log); + +const struct binder_debugfs_entry binder_debugfs_entries[] = { + { + .name = "state", + .mode = 0444, + .fops = &state_fops, + .data = NULL, + }, + { + .name = "stats", + .mode = 0444, + .fops = &stats_fops, + .data = NULL, + }, + { + .name = "transactions", + .mode = 0444, + .fops = &transactions_fops, + .data = NULL, + }, + { + .name = "transaction_log", + .mode = 0444, + .fops = &transaction_log_fops, + .data = &binder_transaction_log, + }, + { + .name = "failed_transaction_log", + .mode = 0444, + .fops = &transaction_log_fops, + .data = &binder_transaction_log_failed, + }, + {} /* terminator */ +}; + static int __init init_binder_device(const char *name) { int ret; @@ -6386,36 +6479,18 @@ atomic_set(&binder_transaction_log_failed.cur, ~0U); binder_debugfs_dir_entry_root = debugfs_create_dir("binder", NULL); - if (binder_debugfs_dir_entry_root) + if (binder_debugfs_dir_entry_root) { + const struct binder_debugfs_entry *db_entry; + + binder_for_each_debugfs_entry(db_entry) + debugfs_create_file(db_entry->name, + db_entry->mode, + binder_debugfs_dir_entry_root, + db_entry->data, + db_entry->fops); + binder_debugfs_dir_entry_proc = debugfs_create_dir("proc", binder_debugfs_dir_entry_root); - - if (binder_debugfs_dir_entry_root) { - debugfs_create_file("state", - 0444, - binder_debugfs_dir_entry_root, - NULL, - &binder_state_fops); - debugfs_create_file("stats", - 0444, - binder_debugfs_dir_entry_root, - NULL, - &binder_stats_fops); - debugfs_create_file("transactions", - 0444, - binder_debugfs_dir_entry_root, - NULL, - &binder_transactions_fops); - debugfs_create_file("transaction_log", - 0444, - binder_debugfs_dir_entry_root, - &binder_transaction_log, - &binder_transaction_log_fops); - debugfs_create_file("failed_transaction_log", - 0444, - binder_debugfs_dir_entry_root, - &binder_transaction_log_failed, - &binder_transaction_log_fops); } if (!IS_ENABLED(CONFIG_ANDROID_BINDERFS) && @@ -6459,9 +6534,20 @@ return ret; } -device_initcall(binder_init); +module_init(binder_init); +/* + * binder will have no exit function since binderfs instances can be mounted + * multiple times and also in user namespaces finding and destroying them all + * is not feasible without introducing insane locking. Just ignoring existing + * instances on module unload also wouldn't work since we would loose track of + * what major numer was dynamically allocated and also what minor numbers are + * already given out. So this would get us into all kinds of issues with device + * number reuse. So simply don't allow unloading unless we are forced to do so. + */ + +MODULE_AUTHOR("Google, Inc."); +MODULE_DESCRIPTION("Driver for Android binder device"); +MODULE_LICENSE("GPL v2"); #define CREATE_TRACE_POINTS #include "binder_trace.h" - -MODULE_LICENSE("GPL v2"); --- linux-gcp-5.19.0.orig/drivers/android/binder_alloc.c +++ linux-gcp-5.19.0/drivers/android/binder_alloc.c @@ -38,8 +38,7 @@ }; static uint32_t binder_alloc_debug_mask = BINDER_DEBUG_USER_ERROR; -module_param_named(debug_mask, binder_alloc_debug_mask, - uint, 0644); +module_param_named(alloc_debug_mask, binder_alloc_debug_mask, uint, 0644); #define binder_alloc_debug(mask, x...) \ do { \ @@ -213,7 +212,7 @@ if (mm) { mmap_read_lock(mm); - vma = alloc->vma; + vma = vma_lookup(mm, alloc->vma_addr); } if (!vma && need_mm) { @@ -313,16 +312,21 @@ static inline void binder_alloc_set_vma(struct binder_alloc *alloc, struct vm_area_struct *vma) { - if (vma) - alloc->vma_vm_mm = vma->vm_mm; + unsigned long vm_start = 0; + /* - * If we see alloc->vma is not NULL, buffer data structures set up - * completely. Look at smp_rmb side binder_alloc_get_vma. - * We also want to guarantee new alloc->vma_vm_mm is always visible - * if alloc->vma is set. + * Allow clearing the vma with holding just the read lock to allow + * munmapping downgrade of the write lock before freeing and closing the + * file using binder_alloc_vma_close(). */ - smp_wmb(); - alloc->vma = vma; + if (vma) { + vm_start = vma->vm_start; + mmap_assert_write_locked(alloc->vma_vm_mm); + } else { + mmap_assert_locked(alloc->vma_vm_mm); + } + + alloc->vma_addr = vm_start; } static inline struct vm_area_struct *binder_alloc_get_vma( @@ -330,11 +334,9 @@ { struct vm_area_struct *vma = NULL; - if (alloc->vma) { - /* Look at description in binder_alloc_set_vma */ - smp_rmb(); - vma = alloc->vma; - } + if (alloc->vma_addr) + vma = vma_lookup(alloc->vma_vm_mm, alloc->vma_addr); + return vma; } @@ -398,12 +400,15 @@ size_t size, data_offsets_size; int ret; + mmap_read_lock(alloc->vma_vm_mm); if (!binder_alloc_get_vma(alloc)) { + mmap_read_unlock(alloc->vma_vm_mm); binder_alloc_debug(BINDER_DEBUG_USER_ERROR, "%d: binder_alloc_buf, no vma\n", alloc->pid); return ERR_PTR(-ESRCH); } + mmap_read_unlock(alloc->vma_vm_mm); data_offsets_size = ALIGN(data_size, sizeof(void *)) + ALIGN(offsets_size, sizeof(void *)); @@ -754,6 +759,12 @@ const char *failure_string; struct binder_buffer *buffer; + if (unlikely(vma->vm_mm != alloc->vma_vm_mm)) { + ret = -EINVAL; + failure_string = "invalid vma->vm_mm"; + goto err_invalid_mm; + } + mutex_lock(&binder_alloc_mmap_lock); if (alloc->buffer_size) { ret = -EBUSY; @@ -788,7 +799,6 @@ binder_insert_free_buffer(alloc, buffer); alloc->free_async_space = alloc->buffer_size / 2; binder_alloc_set_vma(alloc, vma); - mmgrab(alloc->vma_vm_mm); return 0; @@ -801,6 +811,7 @@ alloc->buffer_size = 0; err_already_mapped: mutex_unlock(&binder_alloc_mmap_lock); +err_invalid_mm: binder_alloc_debug(BINDER_DEBUG_USER_ERROR, "%s: %d %lx-%lx %s failed %d\n", __func__, alloc->pid, vma->vm_start, vma->vm_end, @@ -817,7 +828,8 @@ buffers = 0; mutex_lock(&alloc->mutex); - BUG_ON(alloc->vma); + BUG_ON(alloc->vma_addr && + vma_lookup(alloc->vma_vm_mm, alloc->vma_addr)); while ((n = rb_first(&alloc->allocated_buffers))) { buffer = rb_entry(n, struct binder_buffer, rb_node); @@ -924,17 +936,25 @@ * Make sure the binder_alloc is fully initialized, otherwise we might * read inconsistent state. */ - if (binder_alloc_get_vma(alloc) != NULL) { - for (i = 0; i < alloc->buffer_size / PAGE_SIZE; i++) { - page = &alloc->pages[i]; - if (!page->page_ptr) - free++; - else if (list_empty(&page->lru)) - active++; - else - lru++; - } + + mmap_read_lock(alloc->vma_vm_mm); + if (binder_alloc_get_vma(alloc) == NULL) { + mmap_read_unlock(alloc->vma_vm_mm); + goto uninitialized; + } + + mmap_read_unlock(alloc->vma_vm_mm); + for (i = 0; i < alloc->buffer_size / PAGE_SIZE; i++) { + page = &alloc->pages[i]; + if (!page->page_ptr) + free++; + else if (list_empty(&page->lru)) + active++; + else + lru++; } + +uninitialized: mutex_unlock(&alloc->mutex); seq_printf(m, " pages: %d:%d:%d\n", active, lru, free); seq_printf(m, " pages high watermark: %zu\n", alloc->pages_high); @@ -1075,6 +1095,8 @@ void binder_alloc_init(struct binder_alloc *alloc) { alloc->pid = current->group_leader->pid; + alloc->vma_vm_mm = current->mm; + mmgrab(alloc->vma_vm_mm); mutex_init(&alloc->mutex); INIT_LIST_HEAD(&alloc->buffers); } --- linux-gcp-5.19.0.orig/drivers/android/binder_alloc.h +++ linux-gcp-5.19.0/drivers/android/binder_alloc.h @@ -6,6 +6,7 @@ #ifndef _LINUX_BINDER_ALLOC_H #define _LINUX_BINDER_ALLOC_H +#include #include #include #include @@ -100,7 +101,7 @@ */ struct binder_alloc { struct mutex mutex; - struct vm_area_struct *vma; + unsigned long vma_addr; struct mm_struct *vma_vm_mm; void __user *buffer; struct list_head buffers; @@ -115,7 +116,7 @@ bool oneway_spam_detected; }; -#ifdef CONFIG_ANDROID_BINDER_IPC_SELFTEST +#if IS_ENABLED(CONFIG_ANDROID_BINDER_IPC_SELFTEST) void binder_selftest_alloc(struct binder_alloc *alloc); #else static inline void binder_selftest_alloc(struct binder_alloc *alloc) {} --- linux-gcp-5.19.0.orig/drivers/android/binder_alloc_selftest.c +++ linux-gcp-5.19.0/drivers/android/binder_alloc_selftest.c @@ -287,7 +287,7 @@ if (!binder_selftest_run) return; mutex_lock(&binder_selftest_lock); - if (!binder_selftest_run || !alloc->vma) + if (!binder_selftest_run || !alloc->vma_addr) goto done; pr_info("STARTED\n"); binder_selftest_alloc_offset(alloc, end_offset, 0); --- linux-gcp-5.19.0.orig/drivers/android/binder_internal.h +++ linux-gcp-5.19.0/drivers/android/binder_internal.h @@ -5,6 +5,7 @@ #include #include +#include #include #include #include @@ -77,7 +78,7 @@ extern char *binder_devices_param; -#ifdef CONFIG_ANDROID_BINDERFS +#if IS_ENABLED(CONFIG_ANDROID_BINDERFS) extern bool is_binderfs_device(const struct inode *inode); extern struct dentry *binderfs_create_file(struct dentry *dir, const char *name, const struct file_operations *fops, @@ -98,7 +99,7 @@ static inline void binderfs_remove_file(struct dentry *dentry) {} #endif -#ifdef CONFIG_ANDROID_BINDERFS +#if IS_ENABLED(CONFIG_ANDROID_BINDERFS) extern int __init init_binderfs(void); #else static inline int __init init_binderfs(void) @@ -107,41 +108,19 @@ } #endif -int binder_stats_show(struct seq_file *m, void *unused); -DEFINE_SHOW_ATTRIBUTE(binder_stats); - -int binder_state_show(struct seq_file *m, void *unused); -DEFINE_SHOW_ATTRIBUTE(binder_state); - -int binder_transactions_show(struct seq_file *m, void *unused); -DEFINE_SHOW_ATTRIBUTE(binder_transactions); +struct binder_debugfs_entry { + const char *name; + umode_t mode; + const struct file_operations *fops; + void *data; +}; -int binder_transaction_log_show(struct seq_file *m, void *unused); -DEFINE_SHOW_ATTRIBUTE(binder_transaction_log); +extern const struct binder_debugfs_entry binder_debugfs_entries[]; -struct binder_transaction_log_entry { - int debug_id; - int debug_id_done; - int call_type; - int from_proc; - int from_thread; - int target_handle; - int to_proc; - int to_thread; - int to_node; - int data_size; - int offsets_size; - int return_error_line; - uint32_t return_error; - uint32_t return_error_param; - char context_name[BINDERFS_MAX_NAME + 1]; -}; - -struct binder_transaction_log { - atomic_t cur; - bool full; - struct binder_transaction_log_entry entry[32]; -}; +#define binder_for_each_debugfs_entry(entry) \ + for ((entry) = binder_debugfs_entries; \ + (entry)->name; \ + (entry)++) enum binder_stat_types { BINDER_STAT_PROC, @@ -550,6 +529,7 @@ long saved_priority; kuid_t sender_euid; struct list_head fd_fixups; + int security_interface; binder_uintptr_t security_ctx; /** * @lock: protects @from, @to_proc, and @to_thread @@ -580,6 +560,4 @@ }; }; -extern struct binder_transaction_log binder_transaction_log; -extern struct binder_transaction_log binder_transaction_log_failed; #endif /* _LINUX_BINDER_INTERNAL_H */ --- linux-gcp-5.19.0.orig/drivers/android/binderfs.c +++ linux-gcp-5.19.0/drivers/android/binderfs.c @@ -123,7 +123,7 @@ struct super_block *sb = ref_inode->i_sb; struct binderfs_info *info = sb->s_fs_info; #if defined(CONFIG_IPC_NS) - bool use_reserve = (info->ipc_ns == &init_ipc_ns); + bool use_reserve = (info->ipc_ns == show_init_ipc_ns()); #else bool use_reserve = true; #endif @@ -412,7 +412,7 @@ struct dentry *root = sb->s_root; struct binderfs_info *info = sb->s_fs_info; #if defined(CONFIG_IPC_NS) - bool use_reserve = (info->ipc_ns == &init_ipc_ns); + bool use_reserve = (info->ipc_ns == show_init_ipc_ns()); #else bool use_reserve = true; #endif @@ -629,6 +629,7 @@ static int init_binder_logs(struct super_block *sb) { struct dentry *binder_logs_root_dir, *dentry, *proc_log_dir; + const struct binder_debugfs_entry *db_entry; struct binderfs_info *info; int ret = 0; @@ -639,43 +640,15 @@ goto out; } - dentry = binderfs_create_file(binder_logs_root_dir, "stats", - &binder_stats_fops, NULL); - if (IS_ERR(dentry)) { - ret = PTR_ERR(dentry); - goto out; - } - - dentry = binderfs_create_file(binder_logs_root_dir, "state", - &binder_state_fops, NULL); - if (IS_ERR(dentry)) { - ret = PTR_ERR(dentry); - goto out; - } - - dentry = binderfs_create_file(binder_logs_root_dir, "transactions", - &binder_transactions_fops, NULL); - if (IS_ERR(dentry)) { - ret = PTR_ERR(dentry); - goto out; - } - - dentry = binderfs_create_file(binder_logs_root_dir, - "transaction_log", - &binder_transaction_log_fops, - &binder_transaction_log); - if (IS_ERR(dentry)) { - ret = PTR_ERR(dentry); - goto out; - } - - dentry = binderfs_create_file(binder_logs_root_dir, - "failed_transaction_log", - &binder_transaction_log_fops, - &binder_transaction_log_failed); - if (IS_ERR(dentry)) { - ret = PTR_ERR(dentry); - goto out; + binder_for_each_debugfs_entry(db_entry) { + dentry = binderfs_create_file(binder_logs_root_dir, + db_entry->name, + db_entry->fops, + db_entry->data); + if (IS_ERR(dentry)) { + ret = PTR_ERR(dentry); + goto out; + } } proc_log_dir = binderfs_create_dir(binder_logs_root_dir, "proc"); @@ -725,7 +698,7 @@ return -ENOMEM; info = sb->s_fs_info; - info->ipc_ns = get_ipc_ns(current->nsproxy->ipc_ns); + info->ipc_ns = get_ipc_ns_exported(current->nsproxy->ipc_ns); info->root_gid = make_kgid(sb->s_user_ns, 0); if (!gid_valid(info->root_gid)) --- linux-gcp-5.19.0.orig/drivers/ata/ahci.c +++ linux-gcp-5.19.0/drivers/ata/ahci.c @@ -84,6 +84,7 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent); static void ahci_remove_one(struct pci_dev *dev); static void ahci_shutdown_one(struct pci_dev *dev); +static void ahci_intel_pcs_quirk(struct pci_dev *pdev, struct ahci_host_priv *hpriv); static int ahci_vt8251_hardreset(struct ata_link *link, unsigned int *class, unsigned long deadline); static int ahci_avn_hardreset(struct ata_link *link, unsigned int *class, @@ -677,6 +678,25 @@ ahci_save_initial_config(&pdev->dev, hpriv); } +static int ahci_pci_reset_controller(struct ata_host *host) +{ + struct pci_dev *pdev = to_pci_dev(host->dev); + struct ahci_host_priv *hpriv = host->private_data; + int rc; + + rc = ahci_reset_controller(host); + if (rc) + return rc; + + /* + * If platform firmware failed to enable ports, try to enable + * them here. + */ + ahci_intel_pcs_quirk(pdev, hpriv); + + return 0; +} + static void ahci_pci_init_controller(struct ata_host *host) { struct ahci_host_priv *hpriv = host->private_data; @@ -871,7 +891,7 @@ struct ata_host *host = pci_get_drvdata(pdev); int rc; - rc = ahci_reset_controller(host); + rc = ahci_pci_reset_controller(host); if (rc) return rc; ahci_pci_init_controller(host); @@ -907,7 +927,7 @@ ahci_mcp89_apple_enable(pdev); if (pdev->dev.power.power_state.event == PM_EVENT_SUSPEND) { - rc = ahci_reset_controller(host); + rc = ahci_pci_reset_controller(host); if (rc) return rc; @@ -1788,12 +1808,6 @@ /* save initial config */ ahci_pci_save_initial_config(pdev, hpriv); - /* - * If platform firmware failed to enable ports, try to enable - * them here. - */ - ahci_intel_pcs_quirk(pdev, hpriv); - /* prepare host */ if (hpriv->cap & HOST_CAP_NCQ) { pi.flags |= ATA_FLAG_NCQ; @@ -1903,7 +1917,7 @@ if (rc) return rc; - rc = ahci_reset_controller(host); + rc = ahci_pci_reset_controller(host); if (rc) return rc; --- linux-gcp-5.19.0.orig/drivers/ata/ahci.h +++ linux-gcp-5.19.0/drivers/ata/ahci.h @@ -252,7 +252,7 @@ PCS_7 = 0x94, /* 7+ port PCS (Denverton) */ /* em constants */ - EM_MAX_SLOTS = 8, + EM_MAX_SLOTS = SATA_PMP_MAX_PORTS, EM_MAX_RETRY = 5, /* em_ctl bits */ --- linux-gcp-5.19.0.orig/drivers/ata/ahci_imx.c +++ linux-gcp-5.19.0/drivers/ata/ahci_imx.c @@ -1230,4 +1230,4 @@ MODULE_DESCRIPTION("Freescale i.MX AHCI SATA platform driver"); MODULE_AUTHOR("Richard Zhu "); MODULE_LICENSE("GPL"); -MODULE_ALIAS("ahci:imx"); +MODULE_ALIAS("platform:" DRV_NAME); --- linux-gcp-5.19.0.orig/drivers/ata/libahci_platform.c +++ linux-gcp-5.19.0/drivers/ata/libahci_platform.c @@ -451,14 +451,24 @@ } } - hpriv->nports = child_nodes = of_get_child_count(dev->of_node); + /* + * Too many sub-nodes most likely means having something wrong with + * the firmware. + */ + child_nodes = of_get_child_count(dev->of_node); + if (child_nodes > AHCI_MAX_PORTS) { + rc = -EINVAL; + goto err_out; + } /* * If no sub-node was found, we still need to set nports to * one in order to be able to use the * ahci_platform_[en|dis]able_[phys|regulators] functions. */ - if (!child_nodes) + if (child_nodes) + hpriv->nports = child_nodes; + else hpriv->nports = 1; hpriv->phys = devm_kcalloc(dev, hpriv->nports, sizeof(*hpriv->phys), GFP_KERNEL); --- linux-gcp-5.19.0.orig/drivers/ata/libata-core.c +++ linux-gcp-5.19.0/drivers/ata/libata-core.c @@ -3107,7 +3107,7 @@ */ if (spd > 1) mask &= (1 << (spd - 1)) - 1; - else + else if (link->sata_spd) return -EINVAL; /* were we already at the bottom? */ @@ -3988,6 +3988,10 @@ { "PIONEER DVD-RW DVR-212D", NULL, ATA_HORKAGE_NOSETXFER }, { "PIONEER DVD-RW DVR-216D", NULL, ATA_HORKAGE_NOSETXFER }, + /* These specific Pioneer models have LPM issues */ + { "PIONEER BD-RW BDR-207M", NULL, ATA_HORKAGE_NOLPM }, + { "PIONEER BD-RW BDR-205", NULL, ATA_HORKAGE_NOLPM }, + /* Crucial BX100 SSD 500GB has broken LPM support */ { "CT500BX100SSD1", NULL, ATA_HORKAGE_NOLPM }, --- linux-gcp-5.19.0.orig/drivers/ata/libata-eh.c +++ linux-gcp-5.19.0/drivers/ata/libata-eh.c @@ -2122,6 +2122,7 @@ { ATA_CMD_WRITE_QUEUED_FUA_EXT, "WRITE DMA QUEUED FUA EXT" }, { ATA_CMD_FPDMA_READ, "READ FPDMA QUEUED" }, { ATA_CMD_FPDMA_WRITE, "WRITE FPDMA QUEUED" }, + { ATA_CMD_NCQ_NON_DATA, "NCQ NON-DATA" }, { ATA_CMD_FPDMA_SEND, "SEND FPDMA QUEUED" }, { ATA_CMD_FPDMA_RECV, "RECEIVE FPDMA QUEUED" }, { ATA_CMD_PIO_READ, "READ SECTOR(S)" }, --- linux-gcp-5.19.0.orig/drivers/ata/libata-sata.c +++ linux-gcp-5.19.0/drivers/ata/libata-sata.c @@ -1392,7 +1392,8 @@ tf->hob_lbah = buf[10]; tf->nsect = buf[12]; tf->hob_nsect = buf[13]; - if (dev->class == ATA_DEV_ZAC && ata_id_has_ncq_autosense(dev->id)) + if (dev->class == ATA_DEV_ZAC && ata_id_has_ncq_autosense(dev->id) && + (tf->status & ATA_SENSE)) tf->auxiliary = buf[14] << 16 | buf[15] << 8 | buf[16]; return 0; @@ -1456,8 +1457,12 @@ memcpy(&qc->result_tf, &tf, sizeof(tf)); qc->result_tf.flags = ATA_TFLAG_ISADDR | ATA_TFLAG_LBA | ATA_TFLAG_LBA48; qc->err_mask |= AC_ERR_DEV | AC_ERR_NCQ; - if (dev->class == ATA_DEV_ZAC && - ((qc->result_tf.status & ATA_SENSE) || qc->result_tf.auxiliary)) { + + /* + * If the device supports NCQ autosense, ata_eh_read_log_10h() will have + * stored the sense data in qc->result_tf.auxiliary. + */ + if (qc->result_tf.auxiliary) { char sense_key, asc, ascq; sense_key = (qc->result_tf.auxiliary >> 16) & 0xff; --- linux-gcp-5.19.0.orig/drivers/ata/libata-scsi.c +++ linux-gcp-5.19.0/drivers/ata/libata-scsi.c @@ -3267,6 +3267,7 @@ case REPORT_LUNS: case REQUEST_SENSE: case SYNCHRONIZE_CACHE: + case SYNCHRONIZE_CACHE_16: case REZERO_UNIT: case SEEK_6: case SEEK_10: @@ -3925,6 +3926,7 @@ return ata_scsi_write_same_xlat; case SYNCHRONIZE_CACHE: + case SYNCHRONIZE_CACHE_16: if (ata_try_flush_cache(dev)) return ata_scsi_flush_xlat; break; @@ -3965,9 +3967,19 @@ int __ata_scsi_queuecmd(struct scsi_cmnd *scmd, struct ata_device *dev) { + struct ata_port *ap = dev->link->ap; u8 scsi_op = scmd->cmnd[0]; ata_xlat_func_t xlat_func; + /* + * scsi_queue_rq() will defer commands if scsi_host_in_recovery(). + * However, this check is done without holding the ap->lock (a libata + * specific lock), so we can have received an error irq since then, + * therefore we must check if EH is pending, while holding ap->lock. + */ + if (ap->pflags & (ATA_PFLAG_EH_PENDING | ATA_PFLAG_EH_IN_PROGRESS)) + return SCSI_MLQUEUE_DEVICE_BUSY; + if (unlikely(!scmd->cmd_len)) goto bad_cdb_len; @@ -4148,6 +4160,7 @@ * turning this into a no-op. */ case SYNCHRONIZE_CACHE: + case SYNCHRONIZE_CACHE_16: fallthrough; /* no-op's, complete with success */ --- linux-gcp-5.19.0.orig/drivers/ata/libata-transport.c +++ linux-gcp-5.19.0/drivers/ata/libata-transport.c @@ -301,7 +301,9 @@ pm_runtime_enable(dev); pm_runtime_forbid(dev); - transport_add_device(dev); + error = transport_add_device(dev); + if (error) + goto tport_transport_add_err; transport_configure_device(dev); error = ata_tlink_add(&ap->link); @@ -312,12 +314,12 @@ tport_link_err: transport_remove_device(dev); + tport_transport_add_err: device_del(dev); tport_err: transport_destroy_device(dev); put_device(dev); - ata_host_put(ap->host); return error; } @@ -456,7 +458,9 @@ goto tlink_err; } - transport_add_device(dev); + error = transport_add_device(dev); + if (error) + goto tlink_transport_err; transport_configure_device(dev); ata_for_each_dev(ata_dev, link, ALL) { @@ -471,6 +475,7 @@ ata_tdev_delete(ata_dev); } transport_remove_device(dev); + tlink_transport_err: device_del(dev); tlink_err: transport_destroy_device(dev); @@ -708,7 +713,13 @@ return error; } - transport_add_device(dev); + error = transport_add_device(dev); + if (error) { + device_del(dev); + ata_tdev_free(ata_dev); + return error; + } + transport_configure_device(dev); return 0; } --- linux-gcp-5.19.0.orig/drivers/ata/pata_legacy.c +++ linux-gcp-5.19.0/drivers/ata/pata_legacy.c @@ -315,9 +315,10 @@ outb(inb(0x1F4) & 0x07, 0x1F4); rt = inb(0x1F3); - rt &= 0x07 << (3 * adev->devno); + rt &= ~(0x07 << (3 * !adev->devno)); if (pio) - rt |= (1 + 3 * pio) << (3 * adev->devno); + rt |= (1 + 3 * pio) << (3 * !adev->devno); + outb(rt, 0x1F3); udelay(100); outb(inb(0x1F2) | 0x01, 0x1F2); --- linux-gcp-5.19.0.orig/drivers/ata/pata_palmld.c +++ linux-gcp-5.19.0/drivers/ata/pata_palmld.c @@ -63,8 +63,8 @@ /* remap drive's physical memory address */ mem = devm_platform_ioremap_resource(pdev, 0); - if (!mem) - return -ENOMEM; + if (IS_ERR(mem)) + return PTR_ERR(mem); /* request and activate power and reset GPIOs */ lda->power = devm_gpiod_get(dev, "power", GPIOD_OUT_HIGH); --- linux-gcp-5.19.0.orig/drivers/ata/sata_mv.c +++ linux-gcp-5.19.0/drivers/ata/sata_mv.c @@ -4057,7 +4057,7 @@ /* * Simple resource validation .. */ - if (unlikely(pdev->num_resources != 2)) { + if (unlikely(pdev->num_resources != 1)) { dev_err(&pdev->dev, "invalid number of resources\n"); return -EINVAL; } --- linux-gcp-5.19.0.orig/drivers/atm/idt77252.c +++ linux-gcp-5.19.0/drivers/atm/idt77252.c @@ -3752,6 +3752,7 @@ card = idt77252_chain; dev = card->atmdev; idt77252_chain = card->next; + del_timer_sync(&card->tst_timer); if (dev->phy->stop) dev->phy->stop(dev); --- linux-gcp-5.19.0.orig/drivers/base/arch_topology.c +++ linux-gcp-5.19.0/drivers/base/arch_topology.c @@ -791,4 +791,23 @@ else if (of_have_populated_dt() && parse_dt_topology()) reset_cpu_topology(); } + +void store_cpu_topology(unsigned int cpuid) +{ + struct cpu_topology *cpuid_topo = &cpu_topology[cpuid]; + + if (cpuid_topo->package_id != -1) + goto topology_populated; + + cpuid_topo->thread_id = -1; + cpuid_topo->core_id = cpuid; + cpuid_topo->package_id = cpu_to_node(cpuid); + + pr_debug("CPU%u: package %d core %d thread %d\n", + cpuid, cpuid_topo->package_id, cpuid_topo->core_id, + cpuid_topo->thread_id); + +topology_populated: + update_siblings_masks(cpuid); +} #endif --- linux-gcp-5.19.0.orig/drivers/base/class.c +++ linux-gcp-5.19.0/drivers/base/class.c @@ -192,6 +192,11 @@ } error = class_add_groups(class_get(cls), cls->class_groups); class_put(cls); + if (error) { + kobject_del(&cp->subsys.kobj); + kfree_const(cp->subsys.kobj.name); + kfree(cp); + } return error; } EXPORT_SYMBOL_GPL(__class_register); --- linux-gcp-5.19.0.orig/drivers/base/core.c +++ linux-gcp-5.19.0/drivers/base/core.c @@ -270,6 +270,12 @@ return false; } +static inline bool device_link_flag_is_sync_state_only(u32 flags) +{ + return (flags & ~(DL_FLAG_INFERRED | DL_FLAG_CYCLE)) == + (DL_FLAG_SYNC_STATE_ONLY | DL_FLAG_MANAGED); +} + /** * device_is_dependent - Check if one device depends on another one * @dev: Device to check dependencies for. @@ -296,8 +302,7 @@ return ret; list_for_each_entry(link, &dev->links.consumers, s_node) { - if ((link->flags & ~DL_FLAG_INFERRED) == - (DL_FLAG_SYNC_STATE_ONLY | DL_FLAG_MANAGED)) + if (device_link_flag_is_sync_state_only(link->flags)) continue; if (link->consumer == target) @@ -370,8 +375,7 @@ device_for_each_child(dev, NULL, device_reorder_to_tail); list_for_each_entry(link, &dev->links.consumers, s_node) { - if ((link->flags & ~DL_FLAG_INFERRED) == - (DL_FLAG_SYNC_STATE_ONLY | DL_FLAG_MANAGED)) + if (device_link_flag_is_sync_state_only(link->flags)) continue; device_reorder_to_tail(link->consumer, NULL); } @@ -632,7 +636,8 @@ DL_FLAG_AUTOREMOVE_SUPPLIER | \ DL_FLAG_AUTOPROBE_CONSUMER | \ DL_FLAG_SYNC_STATE_ONLY | \ - DL_FLAG_INFERRED) + DL_FLAG_INFERRED | \ + DL_FLAG_CYCLE) #define DL_ADD_VALID_FLAGS (DL_MANAGED_LINK_FLAGS | DL_FLAG_STATELESS | \ DL_FLAG_PM_RUNTIME | DL_FLAG_RPM_ACTIVE) @@ -701,8 +706,6 @@ if (!consumer || !supplier || consumer == supplier || flags & ~DL_ADD_VALID_FLAGS || (flags & DL_FLAG_STATELESS && flags & DL_MANAGED_LINK_FLAGS) || - (flags & DL_FLAG_SYNC_STATE_ONLY && - (flags & ~DL_FLAG_INFERRED) != DL_FLAG_SYNC_STATE_ONLY) || (flags & DL_FLAG_AUTOPROBE_CONSUMER && flags & (DL_FLAG_AUTOREMOVE_CONSUMER | DL_FLAG_AUTOREMOVE_SUPPLIER))) @@ -718,6 +721,10 @@ if (!(flags & DL_FLAG_STATELESS)) flags |= DL_FLAG_MANAGED; + if (flags & DL_FLAG_SYNC_STATE_ONLY && + !device_link_flag_is_sync_state_only(flags)) + return NULL; + device_links_write_lock(); device_pm_lock(); @@ -1638,7 +1645,7 @@ if (!(link->flags & DL_FLAG_INFERRED)) return; - if (link->flags == (DL_FLAG_MANAGED | FW_DEVLINK_FLAGS_PERMISSIVE)) + if (device_link_flag_is_sync_state_only(link->flags)) return; pm_runtime_drop_link(link); @@ -1706,8 +1713,8 @@ return ret; list_for_each_entry(link, &con->links.consumers, s_node) { - if ((link->flags & ~DL_FLAG_INFERRED) == - (DL_FLAG_SYNC_STATE_ONLY | DL_FLAG_MANAGED)) + if (!(link->flags & DL_FLAG_CYCLE) && + device_link_flag_is_sync_state_only(link->flags)) continue; if (!fw_devlink_relax_cycle(link->consumer, sup)) @@ -1716,6 +1723,7 @@ ret = 1; fw_devlink_relax_link(link); + link->flags |= DL_FLAG_CYCLE; } return ret; } @@ -3362,7 +3370,7 @@ /* we require the name to be set before, and pass NULL */ error = kobject_add(&dev->kobj, dev->kobj.parent, NULL); if (error) { - glue_dir = get_glue_dir(dev); + glue_dir = kobj; goto Error; } @@ -3462,6 +3470,7 @@ device_pm_remove(dev); dpm_sysfs_remove(dev); DPMError: + dev->driver = NULL; bus_remove_device(dev); BusError: device_remove_attrs(dev); --- linux-gcp-5.19.0.orig/drivers/base/dd.c +++ linux-gcp-5.19.0/drivers/base/dd.c @@ -897,6 +897,11 @@ dev_dbg(dev, "Device match requests probe deferral\n"); dev->can_match = true; driver_deferred_probe_add(dev); + /* + * Device can't match with a driver right now, so don't attempt + * to match or bind with other drivers on the bus. + */ + return ret; } else if (ret < 0) { dev_dbg(dev, "Bus failed to match device: %d\n", ret); return ret; @@ -1115,6 +1120,7 @@ static int __driver_attach(struct device *dev, void *data) { struct device_driver *drv = data; + bool async = false; int ret; /* @@ -1135,9 +1141,18 @@ dev_dbg(dev, "Device match requests probe deferral\n"); dev->can_match = true; driver_deferred_probe_add(dev); + /* + * Driver could not match with device, but may match with + * another device on the bus. + */ + return 0; } else if (ret < 0) { dev_dbg(dev, "Bus failed to match device: %d\n", ret); - return ret; + /* + * Driver could not match with device, but may match with + * another device on the bus. + */ + return 0; } /* ret > 0 means positive match */ if (driver_allows_async_probing(drv)) { @@ -1153,9 +1168,11 @@ if (!dev->driver && !dev->p->async_driver) { get_device(dev); dev->p->async_driver = drv; - async_schedule_dev(__driver_attach_async_helper, dev); + async = true; } device_unlock(dev); + if (async) + async_schedule_dev(__driver_attach_async_helper, dev); return 0; } --- linux-gcp-5.19.0.orig/drivers/base/driver.c +++ linux-gcp-5.19.0/drivers/base/driver.c @@ -63,6 +63,12 @@ if (len >= (PAGE_SIZE - 1)) return -EINVAL; + /* + * Compute the real length of the string in case userspace sends us a + * bunch of \0 characters like python likes to do. + */ + len = strlen(s); + if (!len) { /* Empty string passed - clear override */ device_lock(dev); --- linux-gcp-5.19.0.orig/drivers/base/firmware_loader/sysfs.c +++ linux-gcp-5.19.0/drivers/base/firmware_loader/sysfs.c @@ -93,10 +93,9 @@ { struct fw_sysfs *fw_sysfs = to_fw_sysfs(dev); - if (fw_sysfs->fw_upload_priv) { - free_fw_priv(fw_sysfs->fw_priv); - kfree(fw_sysfs->fw_upload_priv); - } + if (fw_sysfs->fw_upload_priv) + fw_upload_free(fw_sysfs); + kfree(fw_sysfs); } --- linux-gcp-5.19.0.orig/drivers/base/firmware_loader/sysfs.h +++ linux-gcp-5.19.0/drivers/base/firmware_loader/sysfs.h @@ -106,12 +106,17 @@ extern struct device_attribute dev_attr_remaining_size; int fw_upload_start(struct fw_sysfs *fw_sysfs); +void fw_upload_free(struct fw_sysfs *fw_sysfs); umode_t fw_upload_is_visible(struct kobject *kobj, struct attribute *attr, int n); #else static inline int fw_upload_start(struct fw_sysfs *fw_sysfs) { return 0; } + +static inline void fw_upload_free(struct fw_sysfs *fw_sysfs) +{ +} #endif #endif /* __FIRMWARE_SYSFS_H */ --- linux-gcp-5.19.0.orig/drivers/base/firmware_loader/sysfs_upload.c +++ linux-gcp-5.19.0/drivers/base/firmware_loader/sysfs_upload.c @@ -264,6 +264,15 @@ return 0; } +void fw_upload_free(struct fw_sysfs *fw_sysfs) +{ + struct fw_upload_priv *fw_upload_priv = fw_sysfs->fw_upload_priv; + + free_fw_priv(fw_sysfs->fw_priv); + kfree(fw_upload_priv->fw_upload); + kfree(fw_upload_priv); +} + /** * firmware_upload_register() - register for the firmware upload sysfs API * @module: kernel module of this device @@ -377,6 +386,7 @@ { struct fw_sysfs *fw_sysfs = fw_upload->priv; struct fw_upload_priv *fw_upload_priv = fw_sysfs->fw_upload_priv; + struct module *module = fw_upload_priv->module; mutex_lock(&fw_upload_priv->lock); if (fw_upload_priv->progress == FW_UPLOAD_PROG_IDLE) { @@ -392,6 +402,6 @@ unregister: device_unregister(&fw_sysfs->dev); - module_put(fw_upload_priv->module); + module_put(module); } EXPORT_SYMBOL_GPL(firmware_upload_unregister); --- linux-gcp-5.19.0.orig/drivers/base/node.c +++ linux-gcp-5.19.0/drivers/base/node.c @@ -45,7 +45,7 @@ return n; } -static BIN_ATTR_RO(cpumap, 0); +static BIN_ATTR_RO(cpumap, CPUMAP_FILE_MAX_BYTES); static inline ssize_t cpulist_read(struct file *file, struct kobject *kobj, struct bin_attribute *attr, char *buf, @@ -66,7 +66,7 @@ return n; } -static BIN_ATTR_RO(cpulist, 0); +static BIN_ATTR_RO(cpulist, CPULIST_FILE_MAX_BYTES); /** * struct node_access_nodes - Access class device to hold user visible --- linux-gcp-5.19.0.orig/drivers/base/physical_location.c +++ linux-gcp-5.19.0/drivers/base/physical_location.c @@ -24,8 +24,11 @@ dev->physical_location = kzalloc(sizeof(*dev->physical_location), GFP_KERNEL); - if (!dev->physical_location) + if (!dev->physical_location) { + ACPI_FREE(pld); return false; + } + dev->physical_location->panel = pld->panel; dev->physical_location->vertical_position = pld->vertical_position; dev->physical_location->horizontal_position = pld->horizontal_position; --- linux-gcp-5.19.0.orig/drivers/base/power/domain.c +++ linux-gcp-5.19.0/drivers/base/power/domain.c @@ -220,10 +220,10 @@ static void genpd_debug_remove(struct generic_pm_domain *genpd) { - struct dentry *d; + if (!genpd_debugfs_dir) + return; - d = debugfs_lookup(genpd->name, genpd_debugfs_dir); - debugfs_remove(d); + debugfs_lookup_and_remove(genpd->name, genpd_debugfs_dir); } static void genpd_update_accounting(struct generic_pm_domain *genpd) @@ -2947,6 +2947,10 @@ np = it.node; if (!of_match_node(idle_state_match, np)) continue; + + if (!of_device_is_available(np)) + continue; + if (states) { ret = genpd_parse_state(&states[i], np); if (ret) { --- linux-gcp-5.19.0.orig/drivers/base/power/runtime.c +++ linux-gcp-5.19.0/drivers/base/power/runtime.c @@ -484,7 +484,17 @@ dev->power.idle_notification = true; - retval = __rpm_callback(callback, dev); + if (dev->power.irq_safe) + spin_unlock(&dev->power.lock); + else + spin_unlock_irq(&dev->power.lock); + + retval = callback(dev); + + if (dev->power.irq_safe) + spin_lock(&dev->power.lock); + else + spin_lock_irq(&dev->power.lock); dev->power.idle_notification = false; wake_up_all(&dev->power.wait_queue); --- linux-gcp-5.19.0.orig/drivers/base/property.c +++ linux-gcp-5.19.0/drivers/base/property.c @@ -989,26 +989,32 @@ fwnode_graph_get_next_endpoint(const struct fwnode_handle *fwnode, struct fwnode_handle *prev) { + struct fwnode_handle *ep, *port_parent = NULL; const struct fwnode_handle *parent; - struct fwnode_handle *ep; /* * If this function is in a loop and the previous iteration returned * an endpoint from fwnode->secondary, then we need to use the secondary * as parent rather than @fwnode. */ - if (prev) - parent = fwnode_graph_get_port_parent(prev); - else + if (prev) { + port_parent = fwnode_graph_get_port_parent(prev); + parent = port_parent; + } else { parent = fwnode; + } if (IS_ERR_OR_NULL(parent)) return NULL; ep = fwnode_call_ptr_op(parent, graph_get_next_endpoint, prev); if (ep) - return ep; + goto out_put_port_parent; - return fwnode_graph_get_next_endpoint(parent->secondary, NULL); + ep = fwnode_graph_get_next_endpoint(parent->secondary, NULL); + +out_put_port_parent: + fwnode_handle_put(port_parent); + return ep; } EXPORT_SYMBOL_GPL(fwnode_graph_get_next_endpoint); --- linux-gcp-5.19.0.orig/drivers/base/regmap/regmap-spi.c +++ linux-gcp-5.19.0/drivers/base/regmap/regmap-spi.c @@ -113,6 +113,7 @@ const struct regmap_config *config) { size_t max_size = spi_max_transfer_size(spi); + size_t max_msg_size, reg_reserve_size; struct regmap_bus *bus; if (max_size != SIZE_MAX) { @@ -120,9 +121,16 @@ if (!bus) return ERR_PTR(-ENOMEM); + max_msg_size = spi_max_message_size(spi); + reg_reserve_size = config->reg_bits / BITS_PER_BYTE + + config->pad_bits / BITS_PER_BYTE; + if (max_size + reg_reserve_size > max_msg_size) + max_size -= reg_reserve_size; + bus->free_on_exit = true; bus->max_raw_read = max_size; bus->max_raw_write = max_size; + return bus; } --- linux-gcp-5.19.0.orig/drivers/base/regmap/regmap.c +++ linux-gcp-5.19.0/drivers/base/regmap/regmap.c @@ -1940,6 +1940,8 @@ { struct regmap *map = context; + reg += map->reg_base; + reg >>= map->format.reg_downshift; return map->bus->reg_write(map->bus_context, reg, val); } @@ -2711,6 +2713,8 @@ { struct regmap *map = context; + reg += map->reg_base; + reg >>= map->format.reg_downshift; return map->bus->reg_read(map->bus_context, reg, val); } @@ -3083,6 +3087,8 @@ *change = false; if (regmap_volatile(map, reg) && map->reg_update_bits) { + reg += map->reg_base; + reg >>= map->format.reg_downshift; ret = map->reg_update_bits(map->bus_context, reg, mask, val); if (ret == 0 && change) *change = true; --- linux-gcp-5.19.0.orig/drivers/base/test/test_async_driver_probe.c +++ linux-gcp-5.19.0/drivers/base/test/test_async_driver_probe.c @@ -145,7 +145,7 @@ calltime = ktime_get(); for_each_online_cpu(cpu) { nid = cpu_to_node(cpu); - pdev = &sync_dev[sync_id]; + pdev = &async_dev[async_id]; *pdev = test_platform_device_register_node("test_async_driver", async_id, --- linux-gcp-5.19.0.orig/drivers/base/topology.c +++ linux-gcp-5.19.0/drivers/base/topology.c @@ -62,47 +62,47 @@ static DEVICE_ATTR_ADMIN_RO(ppin); define_siblings_read_func(thread_siblings, sibling_cpumask); -static BIN_ATTR_RO(thread_siblings, 0); -static BIN_ATTR_RO(thread_siblings_list, 0); +static BIN_ATTR_RO(thread_siblings, CPUMAP_FILE_MAX_BYTES); +static BIN_ATTR_RO(thread_siblings_list, CPULIST_FILE_MAX_BYTES); define_siblings_read_func(core_cpus, sibling_cpumask); -static BIN_ATTR_RO(core_cpus, 0); -static BIN_ATTR_RO(core_cpus_list, 0); +static BIN_ATTR_RO(core_cpus, CPUMAP_FILE_MAX_BYTES); +static BIN_ATTR_RO(core_cpus_list, CPULIST_FILE_MAX_BYTES); define_siblings_read_func(core_siblings, core_cpumask); -static BIN_ATTR_RO(core_siblings, 0); -static BIN_ATTR_RO(core_siblings_list, 0); +static BIN_ATTR_RO(core_siblings, CPUMAP_FILE_MAX_BYTES); +static BIN_ATTR_RO(core_siblings_list, CPULIST_FILE_MAX_BYTES); #ifdef TOPOLOGY_CLUSTER_SYSFS define_siblings_read_func(cluster_cpus, cluster_cpumask); -static BIN_ATTR_RO(cluster_cpus, 0); -static BIN_ATTR_RO(cluster_cpus_list, 0); +static BIN_ATTR_RO(cluster_cpus, CPUMAP_FILE_MAX_BYTES); +static BIN_ATTR_RO(cluster_cpus_list, CPULIST_FILE_MAX_BYTES); #endif #ifdef TOPOLOGY_DIE_SYSFS define_siblings_read_func(die_cpus, die_cpumask); -static BIN_ATTR_RO(die_cpus, 0); -static BIN_ATTR_RO(die_cpus_list, 0); +static BIN_ATTR_RO(die_cpus, CPUMAP_FILE_MAX_BYTES); +static BIN_ATTR_RO(die_cpus_list, CPULIST_FILE_MAX_BYTES); #endif define_siblings_read_func(package_cpus, core_cpumask); -static BIN_ATTR_RO(package_cpus, 0); -static BIN_ATTR_RO(package_cpus_list, 0); +static BIN_ATTR_RO(package_cpus, CPUMAP_FILE_MAX_BYTES); +static BIN_ATTR_RO(package_cpus_list, CPULIST_FILE_MAX_BYTES); #ifdef TOPOLOGY_BOOK_SYSFS define_id_show_func(book_id, "%d"); static DEVICE_ATTR_RO(book_id); define_siblings_read_func(book_siblings, book_cpumask); -static BIN_ATTR_RO(book_siblings, 0); -static BIN_ATTR_RO(book_siblings_list, 0); +static BIN_ATTR_RO(book_siblings, CPUMAP_FILE_MAX_BYTES); +static BIN_ATTR_RO(book_siblings_list, CPULIST_FILE_MAX_BYTES); #endif #ifdef TOPOLOGY_DRAWER_SYSFS define_id_show_func(drawer_id, "%d"); static DEVICE_ATTR_RO(drawer_id); define_siblings_read_func(drawer_siblings, drawer_cpumask); -static BIN_ATTR_RO(drawer_siblings, 0); -static BIN_ATTR_RO(drawer_siblings_list, 0); +static BIN_ATTR_RO(drawer_siblings, CPUMAP_FILE_MAX_BYTES); +static BIN_ATTR_RO(drawer_siblings_list, CPULIST_FILE_MAX_BYTES); #endif static struct bin_attribute *bin_attrs[] = { --- linux-gcp-5.19.0.orig/drivers/base/transport_class.c +++ linux-gcp-5.19.0/drivers/base/transport_class.c @@ -155,12 +155,27 @@ struct device *dev, struct device *classdev) { + struct transport_class *tclass = class_to_transport_class(cont->class); int error = attribute_container_add_class_device(classdev); struct transport_container *tcont = attribute_container_to_transport_container(cont); - if (!error && tcont->statistics) + if (error) + goto err_remove; + + if (tcont->statistics) { error = sysfs_create_group(&classdev->kobj, tcont->statistics); + if (error) + goto err_del; + } + + return 0; + +err_del: + attribute_container_class_device_del(classdev); +err_remove: + if (tclass->remove) + tclass->remove(tcont, dev, classdev); return error; } --- linux-gcp-5.19.0.orig/drivers/block/ataflop.c +++ linux-gcp-5.19.0/drivers/block/ataflop.c @@ -2045,7 +2045,6 @@ if (!unit[i].disk[type]) continue; del_gendisk(unit[i].disk[type]); - blk_cleanup_queue(unit[i].disk[type]->queue); put_disk(unit[i].disk[type]); } blk_mq_free_tag_set(&unit[i].tag_set); --- linux-gcp-5.19.0.orig/drivers/block/brd.c +++ linux-gcp-5.19.0/drivers/block/brd.c @@ -78,11 +78,9 @@ } /* - * Look up and return a brd's page for a given sector. - * If one does not exist, allocate an empty page, and insert that. Then - * return it. + * Insert a new page for a given sector, if one does not already exist. */ -static struct page *brd_insert_page(struct brd_device *brd, sector_t sector) +static int brd_insert_page(struct brd_device *brd, sector_t sector) { pgoff_t idx; struct page *page; @@ -90,7 +88,7 @@ page = brd_lookup_page(brd, sector); if (page) - return page; + return 0; /* * Must use NOIO because we don't want to recurse back into the @@ -99,11 +97,11 @@ gfp_flags = GFP_NOIO | __GFP_ZERO | __GFP_HIGHMEM; page = alloc_page(gfp_flags); if (!page) - return NULL; + return -ENOMEM; if (radix_tree_preload(GFP_NOIO)) { __free_page(page); - return NULL; + return -ENOMEM; } spin_lock(&brd->brd_lock); @@ -120,8 +118,7 @@ spin_unlock(&brd->brd_lock); radix_tree_preload_end(); - - return page; + return 0; } /* @@ -174,16 +171,17 @@ { unsigned int offset = (sector & (PAGE_SECTORS-1)) << SECTOR_SHIFT; size_t copy; + int ret; copy = min_t(size_t, n, PAGE_SIZE - offset); - if (!brd_insert_page(brd, sector)) - return -ENOSPC; + ret = brd_insert_page(brd, sector); + if (ret) + return ret; if (copy < n) { sector += copy >> SECTOR_SHIFT; - if (!brd_insert_page(brd, sector)) - return -ENOSPC; + ret = brd_insert_page(brd, sector); } - return 0; + return ret; } /* --- linux-gcp-5.19.0.orig/drivers/block/drbd/drbd_main.c +++ linux-gcp-5.19.0/drivers/block/drbd/drbd_main.c @@ -2217,7 +2217,8 @@ kref_put(&peer_device->connection->kref, drbd_destroy_connection); kfree(peer_device); } - memset(device, 0xfd, sizeof(*device)); + if (device->submit.wq) + destroy_workqueue(device->submit.wq); kfree(device); kref_put(&resource->kref, drbd_destroy_resource); } @@ -2309,7 +2310,6 @@ idr_destroy(&resource->devices); free_cpumask_var(resource->cpu_mask); kfree(resource->name); - memset(resource, 0xf2, sizeof(*resource)); kfree(resource); } @@ -2650,7 +2650,6 @@ drbd_free_socket(&connection->data); kfree(connection->int_dig_in); kfree(connection->int_dig_vv); - memset(connection, 0xfc, sizeof(*connection)); kfree(connection); kref_put(&resource->kref, drbd_destroy_resource); } @@ -2672,7 +2671,7 @@ enum drbd_ret_code drbd_create_device(struct drbd_config_context *adm_ctx, unsigned int minor) { struct drbd_resource *resource = adm_ctx->resource; - struct drbd_connection *connection; + struct drbd_connection *connection, *n; struct drbd_device *device; struct drbd_peer_device *peer_device, *tmp_peer_device; struct gendisk *disk; @@ -2774,7 +2773,7 @@ err = add_disk(disk); if (err) - goto out_idr_remove_from_resource; + goto out_destroy_workqueue; /* inherit the connection state */ device->state.conn = first_connection(resource)->cstate; @@ -2788,8 +2787,10 @@ drbd_debugfs_device_add(device); return NO_ERROR; +out_destroy_workqueue: + destroy_workqueue(device->submit.wq); out_idr_remove_from_resource: - for_each_connection(connection, resource) { + for_each_connection_safe(connection, n, resource) { peer_device = idr_remove(&connection->peer_devices, vnr); if (peer_device) kref_put(&connection->kref, drbd_destroy_connection); --- linux-gcp-5.19.0.orig/drivers/block/drbd/drbd_nl.c +++ linux-gcp-5.19.0/drivers/block/drbd/drbd_nl.c @@ -1210,6 +1210,7 @@ struct drbd_connection *connection = first_peer_device(device)->connection; struct request_queue *q = device->rq_queue; + unsigned int max_discard_sectors; if (bdev && !bdev_max_discard_sectors(bdev->backing_bdev)) goto not_supported; @@ -1230,15 +1231,14 @@ * topology on all peers. */ blk_queue_discard_granularity(q, 512); - q->limits.max_discard_sectors = drbd_max_discard_sectors(connection); - q->limits.max_write_zeroes_sectors = - drbd_max_discard_sectors(connection); + max_discard_sectors = drbd_max_discard_sectors(connection); + blk_queue_max_discard_sectors(q, max_discard_sectors); + blk_queue_max_write_zeroes_sectors(q, max_discard_sectors); return; not_supported: blk_queue_discard_granularity(q, 0); - q->limits.max_discard_sectors = 0; - q->limits.max_write_zeroes_sectors = 0; + blk_queue_max_discard_sectors(q, 0); } static void fixup_write_zeroes(struct drbd_device *device, struct request_queue *q) --- linux-gcp-5.19.0.orig/drivers/block/drbd/drbd_req.c +++ linux-gcp-5.19.0/drivers/block/drbd/drbd_req.c @@ -30,11 +30,6 @@ return NULL; memset(req, 0, sizeof(*req)); - req->private_bio = bio_alloc_clone(device->ldev->backing_bdev, bio_src, - GFP_NOIO, &drbd_io_bio_set); - req->private_bio->bi_private = req; - req->private_bio->bi_end_io = drbd_request_endio; - req->rq_state = (bio_data_dir(bio_src) == WRITE ? RQ_WRITE : 0) | (bio_op(bio_src) == REQ_OP_WRITE_ZEROES ? RQ_ZEROES : 0) | (bio_op(bio_src) == REQ_OP_DISCARD ? RQ_UNMAP : 0); @@ -1221,9 +1216,12 @@ /* Update disk stats */ req->start_jif = bio_start_io_acct(req->master_bio); - if (!get_ldev(device)) { - bio_put(req->private_bio); - req->private_bio = NULL; + if (get_ldev(device)) { + req->private_bio = bio_alloc_clone(device->ldev->backing_bdev, + bio, GFP_NOIO, + &drbd_io_bio_set); + req->private_bio->bi_private = req; + req->private_bio->bi_end_io = drbd_request_endio; } /* process discards always from our submitter thread */ --- linux-gcp-5.19.0.orig/drivers/block/floppy.c +++ linux-gcp-5.19.0/drivers/block/floppy.c @@ -4593,8 +4593,10 @@ goto out_put_disk; err = floppy_alloc_disk(drive, 0); - if (err) + if (err) { + blk_mq_free_tag_set(&tag_sets[drive]); goto out_put_disk; + } timer_setup(&motor_off_timer[drive], motor_off_callback, 0); } --- linux-gcp-5.19.0.orig/drivers/block/loop.c +++ linux-gcp-5.19.0/drivers/block/loop.c @@ -979,6 +979,11 @@ lo->lo_offset = info->lo_offset; lo->lo_sizelimit = info->lo_sizelimit; + + /* loff_t vars have been assigned __u64 */ + if (lo->lo_offset < 0 || lo->lo_sizelimit < 0) + return -EOVERFLOW; + memcpy(lo->lo_file_name, info->lo_file_name, LO_NAME_SIZE); lo->lo_file_name[LO_NAME_SIZE-1] = 0; lo->lo_flags = info->lo_flags; @@ -1768,7 +1773,16 @@ /* * And now the modules code and kernel interface. */ -static int max_loop; + +/* + * If max_loop is specified, create that many devices upfront. + * This also becomes a hard limit. If max_loop is not specified, + * create CONFIG_BLK_DEV_LOOP_MIN_COUNT loop devices at module + * init time. Loop devices can be requested on-demand with the + * /dev/loop-control interface, or be instantiated by accessing + * a 'dead' device node. + */ +static int max_loop = CONFIG_BLK_DEV_LOOP_MIN_COUNT; module_param(max_loop, int, 0444); MODULE_PARM_DESC(max_loop, "Maximum number of loop devices"); module_param(max_part, int, 0444); @@ -2057,7 +2071,6 @@ { /* Make this loop device unreachable from pathname. */ del_gendisk(lo->lo_disk); - blk_cleanup_queue(lo->lo_disk->queue); blk_mq_free_tag_set(&lo->tag_set); mutex_lock(&loop_ctl_mutex); @@ -2177,7 +2190,7 @@ static int __init loop_init(void) { - int i, nr; + int i; int err; part_shift = 0; @@ -2205,19 +2218,6 @@ goto err_out; } - /* - * If max_loop is specified, create that many devices upfront. - * This also becomes a hard limit. If max_loop is not specified, - * create CONFIG_BLK_DEV_LOOP_MIN_COUNT loop devices at module - * init time. Loop devices can be requested on-demand with the - * /dev/loop-control interface, or be instantiated by accessing - * a 'dead' device node. - */ - if (max_loop) - nr = max_loop; - else - nr = CONFIG_BLK_DEV_LOOP_MIN_COUNT; - err = misc_register(&loop_misc); if (err < 0) goto err_out; @@ -2229,7 +2229,7 @@ } /* pre-create number of devices given by config or max_loop */ - for (i = 0; i < nr; i++) + for (i = 0; i < max_loop; i++) loop_add(i); printk(KERN_INFO "loop: module loaded\n"); --- linux-gcp-5.19.0.orig/drivers/block/mtip32xx/mtip32xx.c +++ linux-gcp-5.19.0/drivers/block/mtip32xx/mtip32xx.c @@ -146,11 +146,8 @@ pci_read_config_word(dd->pdev, 0x00, &vendor_id); if (vendor_id == 0xFFFF) { dd->sr = true; - if (dd->queue) - blk_queue_flag_set(QUEUE_FLAG_DEAD, dd->queue); - else - dev_warn(&dd->pdev->dev, - "%s: dd->queue is NULL\n", __func__); + if (dd->disk) + blk_mark_disk_dead(dd->disk); return true; /* device removed */ } @@ -3297,26 +3294,12 @@ return 0; } -static int mtip_block_open(struct block_device *dev, fmode_t mode) +static void mtip_block_free_disk(struct gendisk *disk) { - struct driver_data *dd; - - if (dev && dev->bd_disk) { - dd = (struct driver_data *) dev->bd_disk->private_data; - - if (dd) { - if (test_bit(MTIP_DDF_REMOVAL_BIT, - &dd->dd_flag)) { - return -ENODEV; - } - return 0; - } - } - return -ENODEV; -} + struct driver_data *dd = disk->private_data; -static void mtip_block_release(struct gendisk *disk, fmode_t mode) -{ + ida_free(&rssd_index_ida, dd->index); + kfree(dd); } /* @@ -3326,13 +3309,12 @@ * layer. */ static const struct block_device_operations mtip_block_ops = { - .open = mtip_block_open, - .release = mtip_block_release, .ioctl = mtip_block_ioctl, #ifdef CONFIG_COMPAT .compat_ioctl = mtip_block_compat_ioctl, #endif .getgeo = mtip_block_getgeo, + .free_disk = mtip_block_free_disk, .owner = THIS_MODULE }; @@ -3673,72 +3655,6 @@ return rv; } -static bool mtip_no_dev_cleanup(struct request *rq, void *data, bool reserv) -{ - struct mtip_cmd *cmd = blk_mq_rq_to_pdu(rq); - - cmd->status = BLK_STS_IOERR; - blk_mq_complete_request(rq); - return true; -} - -/* - * Block layer deinitialization function. - * - * Called by the PCI layer as each P320 device is removed. - * - * @dd Pointer to the driver data structure. - * - * return value - * 0 - */ -static int mtip_block_remove(struct driver_data *dd) -{ - mtip_hw_debugfs_exit(dd); - - if (dd->mtip_svc_handler) { - set_bit(MTIP_PF_SVC_THD_STOP_BIT, &dd->port->flags); - wake_up_interruptible(&dd->port->svc_wait); - kthread_stop(dd->mtip_svc_handler); - } - - if (!dd->sr) { - /* - * Explicitly wait here for IOs to quiesce, - * as mtip_standby_drive usually won't wait for IOs. - */ - if (!mtip_quiesce_io(dd->port, MTIP_QUIESCE_IO_TIMEOUT_MS)) - mtip_standby_drive(dd); - } - else - dev_info(&dd->pdev->dev, "device %s surprise removal\n", - dd->disk->disk_name); - - blk_freeze_queue_start(dd->queue); - blk_mq_quiesce_queue(dd->queue); - blk_mq_tagset_busy_iter(&dd->tags, mtip_no_dev_cleanup, dd); - blk_mq_unquiesce_queue(dd->queue); - - if (dd->disk) { - if (test_bit(MTIP_DDF_INIT_DONE_BIT, &dd->dd_flag)) - del_gendisk(dd->disk); - if (dd->disk->queue) { - blk_cleanup_queue(dd->queue); - blk_mq_free_tag_set(&dd->tags); - dd->queue = NULL; - } - put_disk(dd->disk); - } - dd->disk = NULL; - - ida_free(&rssd_index_ida, dd->index); - - /* De-initialize the protocol layer. */ - mtip_hw_exit(dd); - - return 0; -} - /* * Function called by the PCI layer when just before the * machine shuts down. @@ -3755,23 +3671,14 @@ { mtip_hw_shutdown(dd); - /* Delete our gendisk structure, and cleanup the blk queue. */ - if (dd->disk) { - dev_info(&dd->pdev->dev, - "Shutting down %s ...\n", dd->disk->disk_name); + dev_info(&dd->pdev->dev, + "Shutting down %s ...\n", dd->disk->disk_name); - if (test_bit(MTIP_DDF_INIT_DONE_BIT, &dd->dd_flag)) - del_gendisk(dd->disk); - if (dd->disk->queue) { - blk_cleanup_queue(dd->queue); - blk_mq_free_tag_set(&dd->tags); - } - put_disk(dd->disk); - dd->disk = NULL; - dd->queue = NULL; - } + if (test_bit(MTIP_DDF_INIT_DONE_BIT, &dd->dd_flag)) + del_gendisk(dd->disk); - ida_free(&rssd_index_ida, dd->index); + blk_mq_free_tag_set(&dd->tags); + put_disk(dd->disk); return 0; } @@ -4087,8 +3994,6 @@ struct driver_data *dd = pci_get_drvdata(pdev); unsigned long flags, to; - set_bit(MTIP_DDF_REMOVAL_BIT, &dd->dd_flag); - spin_lock_irqsave(&dev_lock, flags); list_del_init(&dd->online_list); list_add(&dd->remove_list, &removing_list); @@ -4109,11 +4014,35 @@ "Completion workers still active!\n"); } - blk_mark_disk_dead(dd->disk); set_bit(MTIP_DDF_REMOVE_PENDING_BIT, &dd->dd_flag); - /* Clean up the block layer. */ - mtip_block_remove(dd); + if (test_bit(MTIP_DDF_INIT_DONE_BIT, &dd->dd_flag)) + del_gendisk(dd->disk); + + mtip_hw_debugfs_exit(dd); + + if (dd->mtip_svc_handler) { + set_bit(MTIP_PF_SVC_THD_STOP_BIT, &dd->port->flags); + wake_up_interruptible(&dd->port->svc_wait); + kthread_stop(dd->mtip_svc_handler); + } + + if (!dd->sr) { + /* + * Explicitly wait here for IOs to quiesce, + * as mtip_standby_drive usually won't wait for IOs. + */ + if (!mtip_quiesce_io(dd->port, MTIP_QUIESCE_IO_TIMEOUT_MS)) + mtip_standby_drive(dd); + } + else + dev_info(&dd->pdev->dev, "device %s surprise removal\n", + dd->disk->disk_name); + + blk_mq_free_tag_set(&dd->tags); + + /* De-initialize the protocol layer. */ + mtip_hw_exit(dd); if (dd->isr_workq) { destroy_workqueue(dd->isr_workq); @@ -4128,10 +4057,10 @@ list_del_init(&dd->remove_list); spin_unlock_irqrestore(&dev_lock, flags); - kfree(dd); - pcim_iounmap_regions(pdev, 1 << MTIP_ABAR); pci_set_drvdata(pdev, NULL); + + put_disk(dd->disk); } /* --- linux-gcp-5.19.0.orig/drivers/block/mtip32xx/mtip32xx.h +++ linux-gcp-5.19.0/drivers/block/mtip32xx/mtip32xx.h @@ -149,7 +149,6 @@ MTIP_DDF_RESUME_BIT = 6, MTIP_DDF_INIT_DONE_BIT = 7, MTIP_DDF_REBUILD_FAILED_BIT = 8, - MTIP_DDF_REMOVAL_BIT = 9, MTIP_DDF_STOP_IO = ((1 << MTIP_DDF_REMOVE_PENDING_BIT) | (1 << MTIP_DDF_SEC_LOCK_BIT) | --- linux-gcp-5.19.0.orig/drivers/block/nbd.c +++ linux-gcp-5.19.0/drivers/block/nbd.c @@ -11,6 +11,8 @@ * (part of code stolen from loop.c) */ +#define pr_fmt(fmt) "nbd: " fmt + #include #include @@ -1412,10 +1414,12 @@ mutex_unlock(&nbd->config_lock); ret = wait_event_interruptible(config->recv_wq, atomic_read(&config->recv_threads) == 0); - if (ret) + if (ret) { sock_shutdown(nbd); - flush_workqueue(nbd->recv_workq); + nbd_clear_que(nbd); + } + flush_workqueue(nbd->recv_workq); mutex_lock(&nbd->config_lock); nbd_bdev_reset(nbd); /* user requested, ignore socket errors */ @@ -1951,7 +1955,7 @@ test_bit(NBD_DISCONNECT_REQUESTED, &nbd->flags)) || !refcount_inc_not_zero(&nbd->refs)) { mutex_unlock(&nbd_index_mutex); - pr_err("nbd: device at index %d is going down\n", + pr_err("device at index %d is going down\n", index); return -EINVAL; } @@ -1962,7 +1966,7 @@ if (!nbd) { nbd = nbd_dev_add(index, 2); if (IS_ERR(nbd)) { - pr_err("nbd: failed to add new device\n"); + pr_err("failed to add new device\n"); return PTR_ERR(nbd); } } @@ -2391,6 +2395,12 @@ } dev_list = nla_nest_start_noflag(reply, NBD_ATTR_DEVICE_LIST); + if (!dev_list) { + nlmsg_free(reply); + ret = -EMSGSIZE; + goto out; + } + if (index == -1) { ret = idr_for_each(&nbd_index_idr, &status_cb, reply); if (ret) { --- linux-gcp-5.19.0.orig/drivers/block/null_blk/main.c +++ linux-gcp-5.19.0/drivers/block/null_blk/main.c @@ -2043,8 +2043,13 @@ blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, nullb->q); mutex_lock(&lock); - nullb->index = ida_simple_get(&nullb_indexes, 0, 0, GFP_KERNEL); - dev->index = nullb->index; + rv = ida_simple_get(&nullb_indexes, 0, 0, GFP_KERNEL); + if (rv < 0) { + mutex_unlock(&lock); + goto out_cleanup_zone; + } + nullb->index = rv; + dev->index = rv; mutex_unlock(&lock); blk_queue_logical_block_size(nullb->q, dev->blocksize); @@ -2070,7 +2075,7 @@ rv = null_gendisk_register(nullb); if (rv) - goto out_cleanup_zone; + goto out_ida_free; mutex_lock(&lock); list_add_tail(&nullb->list, &nullb_list); @@ -2079,6 +2084,9 @@ pr_info("disk %s created\n", nullb->disk_name); return 0; + +out_ida_free: + ida_free(&nullb_indexes, nullb->index); out_cleanup_zone: null_free_zoned_dev(dev); out_cleanup_disk: --- linux-gcp-5.19.0.orig/drivers/block/rbd.c +++ linux-gcp-5.19.0/drivers/block/rbd.c @@ -5292,8 +5292,7 @@ module_put(THIS_MODULE); } -static struct rbd_device *__rbd_dev_create(struct rbd_client *rbdc, - struct rbd_spec *spec) +static struct rbd_device *__rbd_dev_create(struct rbd_spec *spec) { struct rbd_device *rbd_dev; @@ -5338,9 +5337,6 @@ rbd_dev->dev.parent = &rbd_root_dev; device_initialize(&rbd_dev->dev); - rbd_dev->rbd_client = rbdc; - rbd_dev->spec = spec; - return rbd_dev; } @@ -5353,12 +5349,10 @@ { struct rbd_device *rbd_dev; - rbd_dev = __rbd_dev_create(rbdc, spec); + rbd_dev = __rbd_dev_create(spec); if (!rbd_dev) return NULL; - rbd_dev->opts = opts; - /* get an id and fill in device name */ rbd_dev->dev_id = ida_simple_get(&rbd_dev_id_ida, 0, minor_to_rbd_dev_id(1 << MINORBITS), @@ -5375,6 +5369,10 @@ /* we have a ref from do_rbd_add() */ __module_get(THIS_MODULE); + rbd_dev->rbd_client = rbdc; + rbd_dev->spec = spec; + rbd_dev->opts = opts; + dout("%s rbd_dev %p dev_id %d\n", __func__, rbd_dev, rbd_dev->dev_id); return rbd_dev; @@ -6736,7 +6734,7 @@ goto out_err; } - parent = __rbd_dev_create(rbd_dev->rbd_client, rbd_dev->parent_spec); + parent = __rbd_dev_create(rbd_dev->parent_spec); if (!parent) { ret = -ENOMEM; goto out_err; @@ -6746,8 +6744,8 @@ * Images related by parent/child relationships always share * rbd_client and spec/parent_spec, so bump their refcounts. */ - __rbd_get_client(rbd_dev->rbd_client); - rbd_spec_get(rbd_dev->parent_spec); + parent->rbd_client = __rbd_get_client(rbd_dev->rbd_client); + parent->spec = rbd_spec_get(rbd_dev->parent_spec); __set_bit(RBD_DEV_FLAG_READONLY, &parent->flags); --- linux-gcp-5.19.0.orig/drivers/block/rnbd/rnbd-clt.c +++ linux-gcp-5.19.0/drivers/block/rnbd/rnbd-clt.c @@ -1453,7 +1453,7 @@ goto out_alloc; } - ret = ida_alloc_max(&index_ida, 1 << (MINORBITS - RNBD_PART_BITS), + ret = ida_alloc_max(&index_ida, (1 << (MINORBITS - RNBD_PART_BITS)) - 1, GFP_KERNEL); if (ret < 0) { pr_err("Failed to initialize device '%s' from session %s, allocating idr failed, err: %d\n", @@ -1755,7 +1755,7 @@ list_for_each_entry_safe(dev, tn, &sess->devs_list, list) { /* * Here unmap happens in parallel for only one reason: - * blk_cleanup_queue() takes around half a second, so + * del_gendisk() takes around half a second, so * on huge amount of devices the whole module unload * procedure takes minutes. */ --- linux-gcp-5.19.0.orig/drivers/block/rnbd/rnbd-srv.c +++ linux-gcp-5.19.0/drivers/block/rnbd/rnbd-srv.c @@ -323,10 +323,11 @@ { struct rnbd_srv_session *sess = sess_dev->sess; - sess_dev->keep_id = true; /* It is already started to close by client's close message. */ if (!mutex_trylock(&sess->lock)) return; + + sess_dev->keep_id = true; /* first remove sysfs itself to avoid deadlock */ sysfs_remove_file_self(&sess_dev->kobj, &attr->attr); rnbd_srv_destroy_dev_session_sysfs(sess_dev); --- linux-gcp-5.19.0.orig/drivers/block/sx8.c +++ linux-gcp-5.19.0/drivers/block/sx8.c @@ -1536,7 +1536,7 @@ clear_bit(0, &carm_major_alloc); else if (host->major == 161) clear_bit(1, &carm_major_alloc); - blk_cleanup_queue(host->oob_q); + blk_mq_destroy_queue(host->oob_q); blk_mq_free_tag_set(&host->tag_set); err_out_dma_free: dma_free_coherent(&pdev->dev, CARM_SHM_SIZE, host->shm, host->shm_dma); @@ -1570,7 +1570,7 @@ clear_bit(0, &carm_major_alloc); else if (host->major == 161) clear_bit(1, &carm_major_alloc); - blk_cleanup_queue(host->oob_q); + blk_mq_destroy_queue(host->oob_q); blk_mq_free_tag_set(&host->tag_set); dma_free_coherent(&pdev->dev, CARM_SHM_SIZE, host->shm, host->shm_dma); iounmap(host->mmio); --- linux-gcp-5.19.0.orig/drivers/block/virtio_blk.c +++ linux-gcp-5.19.0/drivers/block/virtio_blk.c @@ -101,6 +101,14 @@ } } +static inline struct virtio_blk_vq *get_virtio_blk_vq(struct blk_mq_hw_ctx *hctx) +{ + struct virtio_blk *vblk = hctx->queue->queuedata; + struct virtio_blk_vq *vq = &vblk->vqs[hctx->queue_num]; + + return vq; +} + static int virtblk_add_req(struct virtqueue *vq, struct virtblk_req *vbr) { struct scatterlist hdr, status, *sgs[3]; @@ -314,14 +322,14 @@ if (unlikely(status)) return status; - blk_mq_start_request(req); - vbr->sg_table.nents = virtblk_map_data(hctx, req, vbr); if (unlikely(vbr->sg_table.nents < 0)) { virtblk_cleanup_cmd(req); return BLK_STS_RESOURCE; } + blk_mq_start_request(req); + return BLK_STS_OK; } @@ -383,8 +391,7 @@ } static bool virtblk_add_req_batch(struct virtio_blk_vq *vq, - struct request **rqlist, - struct request **requeue_list) + struct request **rqlist) { unsigned long flags; int err; @@ -400,7 +407,7 @@ if (err) { virtblk_unmap_data(req, vbr); virtblk_cleanup_cmd(req); - rq_list_add(requeue_list, req); + blk_mq_requeue_request(req, true); } } @@ -416,7 +423,7 @@ struct request *requeue_list = NULL; rq_list_for_each_safe(rqlist, req, next) { - struct virtio_blk_vq *vq = req->mq_hctx->driver_data; + struct virtio_blk_vq *vq = get_virtio_blk_vq(req->mq_hctx); bool kick; if (!virtblk_prep_rq_batch(req)) { @@ -428,7 +435,7 @@ if (!next || req->mq_hctx != next->mq_hctx) { req->rq_next = NULL; - kick = virtblk_add_req_batch(vq, rqlist, &requeue_list); + kick = virtblk_add_req_batch(vq, rqlist); if (kick) virtqueue_notify(vq->vq); @@ -837,7 +844,7 @@ static int virtblk_poll(struct blk_mq_hw_ctx *hctx, struct io_comp_batch *iob) { struct virtio_blk *vblk = hctx->queue->queuedata; - struct virtio_blk_vq *vq = hctx->driver_data; + struct virtio_blk_vq *vq = get_virtio_blk_vq(hctx); struct virtblk_req *vbr; unsigned long flags; unsigned int len; @@ -862,22 +869,10 @@ return found; } -static int virtblk_init_hctx(struct blk_mq_hw_ctx *hctx, void *data, - unsigned int hctx_idx) -{ - struct virtio_blk *vblk = data; - struct virtio_blk_vq *vq = &vblk->vqs[hctx_idx]; - - WARN_ON(vblk->tag_set.tags[hctx_idx] != hctx->tags); - hctx->driver_data = vq; - return 0; -} - static const struct blk_mq_ops virtio_mq_ops = { .queue_rq = virtio_queue_rq, .queue_rqs = virtio_queue_rqs, .commit_rqs = virtio_commit_rqs, - .init_hctx = virtblk_init_hctx, .complete = virtblk_request_done, .map_queues = virtblk_map_queues, .poll = virtblk_poll, @@ -1111,7 +1106,6 @@ flush_work(&vblk->config_work); del_gendisk(vblk->disk); - blk_cleanup_queue(vblk->disk->queue); blk_mq_free_tag_set(&vblk->tag_set); mutex_lock(&vblk->vdev_mutex); --- linux-gcp-5.19.0.orig/drivers/block/xen-blkback/common.h +++ linux-gcp-5.19.0/drivers/block/xen-blkback/common.h @@ -226,6 +226,9 @@ sector_t size; unsigned int flush_support:1; unsigned int discard_secure:1; + /* Connect-time cached feature_persistent parameter value */ + unsigned int feature_gnt_persistent_parm:1; + /* Persistent grants feature negotiation result */ unsigned int feature_gnt_persistent:1; unsigned int overflow_max_grants:1; }; --- linux-gcp-5.19.0.orig/drivers/block/xen-blkback/xenbus.c +++ linux-gcp-5.19.0/drivers/block/xen-blkback/xenbus.c @@ -157,6 +157,11 @@ return 0; } +/* Enable the persistent grants feature. */ +static bool feature_persistent = true; +module_param(feature_persistent, bool, 0644); +MODULE_PARM_DESC(feature_persistent, "Enables the persistent grants feature"); + static struct xen_blkif *xen_blkif_alloc(domid_t domid) { struct xen_blkif *blkif; @@ -472,12 +477,6 @@ vbd->bdev = NULL; } -/* Enable the persistent grants feature. */ -static bool feature_persistent = true; -module_param(feature_persistent, bool, 0644); -MODULE_PARM_DESC(feature_persistent, - "Enables the persistent grants feature"); - static int xen_vbd_create(struct xen_blkif *blkif, blkif_vdev_t handle, unsigned major, unsigned minor, int readonly, int cdrom) @@ -520,8 +519,6 @@ if (bdev_max_secure_erase_sectors(bdev)) vbd->discard_secure = true; - vbd->feature_gnt_persistent = feature_persistent; - pr_debug("Successful creation of handle=%04x (dom=%u)\n", handle, blkif->domid); return 0; @@ -910,7 +907,7 @@ xen_blkbk_barrier(xbt, be, be->blkif->vbd.flush_support); err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u", - be->blkif->vbd.feature_gnt_persistent); + be->blkif->vbd.feature_gnt_persistent_parm); if (err) { xenbus_dev_fatal(dev, err, "writing %s/feature-persistent", dev->nodename); @@ -1087,10 +1084,11 @@ xenbus_dev_fatal(dev, err, "unknown fe protocol %s", protocol); return -ENOSYS; } - if (blkif->vbd.feature_gnt_persistent) - blkif->vbd.feature_gnt_persistent = - xenbus_read_unsigned(dev->otherend, - "feature-persistent", 0); + + blkif->vbd.feature_gnt_persistent_parm = feature_persistent; + blkif->vbd.feature_gnt_persistent = + blkif->vbd.feature_gnt_persistent_parm && + xenbus_read_unsigned(dev->otherend, "feature-persistent", 0); blkif->vbd.overflow_max_grants = 0; --- linux-gcp-5.19.0.orig/drivers/block/xen-blkfront.c +++ linux-gcp-5.19.0/drivers/block/xen-blkfront.c @@ -213,6 +213,9 @@ unsigned int feature_fua:1; unsigned int feature_discard:1; unsigned int feature_secdiscard:1; + /* Connect-time cached feature_persistent parameter */ + unsigned int feature_persistent_parm:1; + /* Persistent grants feature negotiation result */ unsigned int feature_persistent:1; unsigned int bounce:1; unsigned int discard_granularity; @@ -1756,6 +1759,12 @@ return err; } +/* Enable the persistent grants feature. */ +static bool feature_persistent = true; +module_param(feature_persistent, bool, 0644); +MODULE_PARM_DESC(feature_persistent, + "Enables the persistent grants feature"); + /* Common code used when first setting up, and when resuming. */ static int talk_to_blkback(struct xenbus_device *dev, struct blkfront_info *info) @@ -1847,8 +1856,9 @@ message = "writing protocol"; goto abort_transaction; } + info->feature_persistent_parm = feature_persistent; err = xenbus_printf(xbt, dev->nodename, "feature-persistent", "%u", - info->feature_persistent); + info->feature_persistent_parm); if (err) dev_warn(&dev->dev, "writing persistent grants feature to xenbus"); @@ -1916,12 +1926,6 @@ return 0; } -/* Enable the persistent grants feature. */ -static bool feature_persistent = true; -module_param(feature_persistent, bool, 0644); -MODULE_PARM_DESC(feature_persistent, - "Enables the persistent grants feature"); - /* * Entry point to this code when a new device is created. Allocate the basic * structures and the ring buffer for communication with the backend, and @@ -1988,8 +1992,6 @@ info->vdevice = vdevice; info->connected = BLKIF_STATE_DISCONNECTED; - info->feature_persistent = feature_persistent; - /* Front end dir is a number, which is used as the id. */ info->handle = simple_strtoul(strrchr(dev->nodename, '/')+1, NULL, 0); dev_set_drvdata(&dev->dev, info); @@ -2283,7 +2285,7 @@ if (xenbus_read_unsigned(info->xbdev->otherend, "feature-discard", 0)) blkfront_setup_discard(info); - if (info->feature_persistent) + if (info->feature_persistent_parm) info->feature_persistent = !!xenbus_read_unsigned(info->xbdev->otherend, "feature-persistent", 0); --- linux-gcp-5.19.0.orig/drivers/block/z2ram.c +++ linux-gcp-5.19.0/drivers/block/z2ram.c @@ -384,7 +384,6 @@ for (i = 0; i < Z2MINOR_COUNT; i++) { del_gendisk(z2ram_gendisk[i]); - blk_cleanup_queue(z2ram_gendisk[i]->queue); put_disk(z2ram_gendisk[i]); } blk_mq_free_tag_set(&tag_set); --- linux-gcp-5.19.0.orig/drivers/block/zram/zcomp.c +++ linux-gcp-5.19.0/drivers/block/zram/zcomp.c @@ -63,12 +63,6 @@ bool zcomp_available_algorithm(const char *comp) { - int i; - - i = sysfs_match_string(backends, comp); - if (i >= 0) - return true; - /* * Crypto does not ignore a trailing new line symbol, * so make sure you don't supply a string containing @@ -217,6 +211,11 @@ struct zcomp *comp; int error; + /* + * Crypto API will execute /sbin/modprobe if the compression module + * is not loaded yet. We must do it here, otherwise we are about to + * call /sbin/modprobe under CPU hot-plug lock. + */ if (!zcomp_available_algorithm(compress)) return ERR_PTR(-EINVAL); --- linux-gcp-5.19.0.orig/drivers/block/zram/zram_drv.c +++ linux-gcp-5.19.0/drivers/block/zram/zram_drv.c @@ -1144,14 +1144,15 @@ static ssize_t debug_stat_show(struct device *dev, struct device_attribute *attr, char *buf) { - int version = 2; + int version = 1; struct zram *zram = dev_to_zram(dev); ssize_t ret; down_read(&zram->init_lock); ret = scnprintf(buf, PAGE_SIZE, - "version: %d\n%8llu\n", + "version: %d\n%8llu %8llu\n", version, + (u64)atomic64_read(&zram->stats.writestall), (u64)atomic64_read(&zram->stats.miss_free)); up_read(&zram->init_lock); @@ -1367,6 +1368,7 @@ } kunmap_atomic(mem); +compress_again: zstrm = zcomp_stream_get(zram->comp); src = kmap_atomic(page); ret = zcomp_compress(zstrm, src, &comp_len); @@ -1375,20 +1377,39 @@ if (unlikely(ret)) { zcomp_stream_put(zram->comp); pr_err("Compression failed! err=%d\n", ret); + zs_free(zram->mem_pool, handle); return ret; } if (comp_len >= huge_class_size) comp_len = PAGE_SIZE; - - handle = zs_malloc(zram->mem_pool, comp_len, - __GFP_KSWAPD_RECLAIM | - __GFP_NOWARN | - __GFP_HIGHMEM | - __GFP_MOVABLE); - - if (unlikely(!handle)) { + /* + * handle allocation has 2 paths: + * a) fast path is executed with preemption disabled (for + * per-cpu streams) and has __GFP_DIRECT_RECLAIM bit clear, + * since we can't sleep; + * b) slow path enables preemption and attempts to allocate + * the page with __GFP_DIRECT_RECLAIM bit set. we have to + * put per-cpu compression stream and, thus, to re-do + * the compression once handle is allocated. + * + * if we have a 'non-null' handle here then we are coming + * from the slow path and handle has already been allocated. + */ + if (!handle) + handle = zs_malloc(zram->mem_pool, comp_len, + __GFP_KSWAPD_RECLAIM | + __GFP_NOWARN | + __GFP_HIGHMEM | + __GFP_MOVABLE); + if (!handle) { zcomp_stream_put(zram->comp); + atomic64_inc(&zram->stats.writestall); + handle = zs_malloc(zram->mem_pool, comp_len, + GFP_NOIO | __GFP_HIGHMEM | + __GFP_MOVABLE); + if (handle) + goto compress_again; return -ENOMEM; } @@ -1946,6 +1967,7 @@ if (ZRAM_LOGICAL_BLOCK_SIZE == PAGE_SIZE) blk_queue_max_write_zeroes_sectors(zram->disk->queue, UINT_MAX); + blk_queue_flag_set(QUEUE_FLAG_STABLE_WRITES, zram->disk->queue); ret = device_add_disk(NULL, zram->disk, zram_disk_groups); if (ret) goto out_cleanup_disk; --- linux-gcp-5.19.0.orig/drivers/block/zram/zram_drv.h +++ linux-gcp-5.19.0/drivers/block/zram/zram_drv.h @@ -81,6 +81,7 @@ atomic64_t huge_pages_since; /* no. of huge pages since zram set up */ atomic64_t pages_stored; /* no. of pages currently stored */ atomic_long_t max_used_pages; /* no. of maximum pages stored */ + atomic64_t writestall; /* no. of write slow paths */ atomic64_t miss_free; /* no. of missed free */ #ifdef CONFIG_ZRAM_WRITEBACK atomic64_t bd_count; /* no. of pages in backing device */ --- linux-gcp-5.19.0.orig/drivers/bluetooth/btbcm.c +++ linux-gcp-5.19.0/drivers/bluetooth/btbcm.c @@ -379,6 +379,18 @@ { .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "Apple Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir8,1"), + }, + }, + { + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Apple Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "MacBookAir8,2"), + }, + }, + { + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Apple Inc."), DMI_MATCH(DMI_PRODUCT_NAME, "iMac20,1"), }, }, @@ -454,6 +466,8 @@ { 0x6606, "BCM4345C5" }, /* 003.006.006 */ { 0x230f, "BCM4356A2" }, /* 001.003.015 */ { 0x220e, "BCM20702A1" }, /* 001.002.014 */ + { 0x420d, "BCM4349B1" }, /* 002.002.013 */ + { 0x420e, "BCM4349B1" }, /* 002.002.014 */ { 0x4217, "BCM4329B1" }, /* 002.002.023 */ { 0x6106, "BCM4359C0" }, /* 003.001.006 */ { 0x4106, "BCM4335A0" }, /* 002.001.006 */ --- linux-gcp-5.19.0.orig/drivers/bluetooth/btintel.c +++ linux-gcp-5.19.0/drivers/bluetooth/btintel.c @@ -2439,15 +2439,20 @@ INTEL_ROM_LEGACY_NO_WBS_SUPPORT)) set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, &hdev->quirks); + if (ver.hw_variant == 0x08 && ver.fw_variant == 0x22) + set_bit(HCI_QUIRK_VALID_LE_STATES, + &hdev->quirks); err = btintel_legacy_rom_setup(hdev, &ver); break; case 0x0b: /* SfP */ - case 0x0c: /* WsP */ case 0x11: /* JfP */ case 0x12: /* ThP */ case 0x13: /* HrP */ case 0x14: /* CcP */ + set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks); + fallthrough; + case 0x0c: /* WsP */ /* Apply the device specific HCI quirks * * All Legacy bootloader devices support WBS @@ -2455,11 +2460,6 @@ set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, &hdev->quirks); - /* Valid LE States quirk for JfP/ThP familiy */ - if (ver.hw_variant == 0x11 || ver.hw_variant == 0x12) - set_bit(HCI_QUIRK_VALID_LE_STATES, - &hdev->quirks); - /* Setup MSFT Extension support */ btintel_set_msft_opcode(hdev, ver.hw_variant); @@ -2522,7 +2522,7 @@ */ err = btintel_read_version(hdev, &ver); if (err) - return err; + break; /* Apply the device specific HCI quirks * @@ -2530,9 +2530,8 @@ */ set_bit(HCI_QUIRK_WIDEBAND_SPEECH_SUPPORTED, &hdev->quirks); - /* Valid LE States quirk for JfP/ThP familiy */ - if (ver.hw_variant == 0x11 || ver.hw_variant == 0x12) - set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks); + /* Set Valid LE States quirk */ + set_bit(HCI_QUIRK_VALID_LE_STATES, &hdev->quirks); /* Setup MSFT Extension support */ btintel_set_msft_opcode(hdev, ver.hw_variant); @@ -2564,7 +2563,8 @@ default: bt_dev_err(hdev, "Unsupported Intel hw variant (%u)", INTEL_HW_VARIANT(ver_tlv.cnvi_bt)); - return -EINVAL; + err = -EINVAL; + break; } exit_error: --- linux-gcp-5.19.0.orig/drivers/bluetooth/btusb.c +++ linux-gcp-5.19.0/drivers/bluetooth/btusb.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -407,6 +408,10 @@ { USB_VENDOR_AND_INTERFACE_INFO(0x8087, 0xe0, 0x01, 0x01), .driver_info = BTUSB_IGNORE }, + /* Realtek 8821CE Bluetooth devices */ + { USB_DEVICE(0x13d3, 0x3529), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, + /* Realtek 8822CE Bluetooth devices */ { USB_DEVICE(0x0bda, 0xb00c), .driver_info = BTUSB_REALTEK | BTUSB_WIDEBAND_SPEECH }, @@ -427,6 +432,18 @@ { USB_DEVICE(0x04ca, 0x4006), .driver_info = BTUSB_REALTEK | BTUSB_WIDEBAND_SPEECH }, + /* Realtek 8852CE Bluetooth devices */ + { USB_DEVICE(0x04ca, 0x4007), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, + { USB_DEVICE(0x04c5, 0x1675), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, + { USB_DEVICE(0x0cb8, 0xc558), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, + { USB_DEVICE(0x13d3, 0x3587), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, + { USB_DEVICE(0x13d3, 0x3586), .driver_info = BTUSB_REALTEK | + BTUSB_WIDEBAND_SPEECH }, + /* Realtek Bluetooth devices */ { USB_VENDOR_AND_INTERFACE_INFO(0x0bda, 0xe0, 0x01, 0x01), .driver_info = BTUSB_REALTEK }, @@ -454,6 +471,9 @@ { USB_DEVICE(0x0489, 0xe0c8), .driver_info = BTUSB_MEDIATEK | BTUSB_WIDEBAND_SPEECH | BTUSB_VALID_LE_STATES }, + { USB_DEVICE(0x0489, 0xe0cd), .driver_info = BTUSB_MEDIATEK | + BTUSB_WIDEBAND_SPEECH | + BTUSB_VALID_LE_STATES }, { USB_DEVICE(0x04ca, 0x3802), .driver_info = BTUSB_MEDIATEK | BTUSB_WIDEBAND_SPEECH | BTUSB_VALID_LE_STATES }, @@ -478,6 +498,20 @@ BTUSB_WIDEBAND_SPEECH | BTUSB_VALID_LE_STATES }, + /* MediaTek MT7922A Bluetooth devices */ + { USB_DEVICE(0x0489, 0xe0d8), .driver_info = BTUSB_MEDIATEK | + BTUSB_WIDEBAND_SPEECH | + BTUSB_VALID_LE_STATES }, + { USB_DEVICE(0x0489, 0xe0d9), .driver_info = BTUSB_MEDIATEK | + BTUSB_WIDEBAND_SPEECH | + BTUSB_VALID_LE_STATES }, + { USB_DEVICE(0x13d3, 0x3568), .driver_info = BTUSB_MEDIATEK | + BTUSB_WIDEBAND_SPEECH | + BTUSB_VALID_LE_STATES }, + { USB_DEVICE(0x0489, 0xe0f2), .driver_info = BTUSB_MEDIATEK | + BTUSB_WIDEBAND_SPEECH | + BTUSB_VALID_LE_STATES }, + /* Additional Realtek 8723AE Bluetooth devices */ { USB_DEVICE(0x0930, 0x021d), .driver_info = BTUSB_REALTEK }, { USB_DEVICE(0x13d3, 0x3394), .driver_info = BTUSB_REALTEK }, @@ -770,13 +804,13 @@ spin_lock_irqsave(&data->rxlock, flags); - kfree_skb(data->evt_skb); + dev_kfree_skb_irq(data->evt_skb); data->evt_skb = NULL; - kfree_skb(data->acl_skb); + dev_kfree_skb_irq(data->acl_skb); data->acl_skb = NULL; - kfree_skb(data->sco_skb); + dev_kfree_skb_irq(data->sco_skb); data->sco_skb = NULL; spin_unlock_irqrestore(&data->rxlock, flags); @@ -2007,6 +2041,11 @@ rp = (struct hci_rp_read_local_version *)skb->data; + bt_dev_info(hdev, "CSR: Setting up dongle with HCI ver=%u rev=%04x; LMP ver=%u subver=%04x; manufacturer=%u", + le16_to_cpu(rp->hci_ver), le16_to_cpu(rp->hci_rev), + le16_to_cpu(rp->lmp_ver), le16_to_cpu(rp->lmp_subver), + le16_to_cpu(rp->manufacturer)); + /* Detect a wide host of Chinese controllers that aren't CSR. * * Known fake bcdDevices: 0x0100, 0x0134, 0x1915, 0x2520, 0x7558, 0x8891 @@ -2436,15 +2475,29 @@ set_bit(BTUSB_TX_WAIT_VND_EVT, &data->flags); + /* WMT cmd/event doesn't follow up the generic HCI cmd/event handling, + * it needs constantly polling control pipe until the host received the + * WMT event, thus, we should require to specifically acquire PM counter + * on the USB to prevent the interface from entering auto suspended + * while WMT cmd/event in progress. + */ + err = usb_autopm_get_interface(data->intf); + if (err < 0) + goto err_free_wc; + err = __hci_cmd_send(hdev, 0xfc6f, hlen, wc); if (err < 0) { clear_bit(BTUSB_TX_WAIT_VND_EVT, &data->flags); + usb_autopm_put_interface(data->intf); goto err_free_wc; } /* Submit control IN URB on demand to process the WMT event */ err = btusb_mtk_submit_wmt_recv_urb(hdev); + + usb_autopm_put_interface(data->intf); + if (err < 0) goto err_free_wc; @@ -2956,6 +3009,35 @@ return 0; } +#define BTUSB_EDGE_LED_COMMAND 0xfc77 + +static void btusb_edge_set_led(struct hci_dev *hdev, bool state) +{ + struct sk_buff *skb; + u8 config_led[] = { 0x09, 0x00, 0x01, 0x01 }; + + if (state) + config_led[1] = 0x01; + + skb = __hci_cmd_sync(hdev, BTUSB_EDGE_LED_COMMAND, sizeof(config_led), config_led, HCI_INIT_TIMEOUT); + if (IS_ERR(skb)) + BT_ERR("%s fail to set LED (%ld)", hdev->name, PTR_ERR(skb)); + else + kfree_skb(skb); +} + +static int btusb_edge_post_init(struct hci_dev *hdev) +{ + btusb_edge_set_led(hdev, true); + return 0; +} + +static int btusb_edge_shutdown(struct hci_dev *hdev) +{ + btusb_edge_set_led(hdev, false); + return 0; +} + static int btusb_set_bdaddr_ath3012(struct hci_dev *hdev, const bdaddr_t *bdaddr) { @@ -3785,8 +3867,18 @@ btintel_set_flag(hdev, INTEL_BROKEN_SHUTDOWN_LED); } - if (id->driver_info & BTUSB_MARVELL) + if (id->driver_info & BTUSB_MARVELL) { + struct pci_dev *pdev; hdev->set_bdaddr = btusb_set_bdaddr_marvell; + pdev = pci_get_subsys(PCI_ANY_ID, PCI_ANY_ID, 0x1028, 0x0720, NULL); + if (!pdev) + pdev = pci_get_subsys(PCI_ANY_ID, PCI_ANY_ID, 0x1028, 0x0733, NULL); + if (pdev) { + pci_dev_put(pdev); + hdev->post_init = btusb_edge_post_init; + hdev->shutdown = btusb_edge_shutdown; + } + } if (IS_ENABLED(CONFIG_BT_HCIBTUSB_MTK) && (id->driver_info & BTUSB_MEDIATEK)) { --- linux-gcp-5.19.0.orig/drivers/bluetooth/hci_bcm.c +++ linux-gcp-5.19.0/drivers/bluetooth/hci_bcm.c @@ -1544,8 +1544,10 @@ { .compatible = "brcm,bcm43430a0-bt" }, { .compatible = "brcm,bcm43430a1-bt" }, { .compatible = "brcm,bcm43438-bt", .data = &bcm43438_device_data }, + { .compatible = "brcm,bcm4349-bt", .data = &bcm43438_device_data }, { .compatible = "brcm,bcm43540-bt", .data = &bcm4354_device_data }, { .compatible = "brcm,bcm4335a0" }, + { .compatible = "infineon,cyw55572-bt" }, { }, }; MODULE_DEVICE_TABLE(of, bcm_bluetooth_of_match); --- linux-gcp-5.19.0.orig/drivers/bluetooth/hci_bcsp.c +++ linux-gcp-5.19.0/drivers/bluetooth/hci_bcsp.c @@ -378,7 +378,7 @@ i++; __skb_unlink(skb, &bcsp->unack); - kfree_skb(skb); + dev_kfree_skb_irq(skb); } if (skb_queue_empty(&bcsp->unack)) --- linux-gcp-5.19.0.orig/drivers/bluetooth/hci_h5.c +++ linux-gcp-5.19.0/drivers/bluetooth/hci_h5.c @@ -313,7 +313,7 @@ break; __skb_unlink(skb, &h5->unack); - kfree_skb(skb); + dev_kfree_skb_irq(skb); } if (skb_queue_empty(&h5->unack)) --- linux-gcp-5.19.0.orig/drivers/bluetooth/hci_intel.c +++ linux-gcp-5.19.0/drivers/bluetooth/hci_intel.c @@ -1217,7 +1217,11 @@ int __init intel_init(void) { - platform_driver_register(&intel_driver); + int err; + + err = platform_driver_register(&intel_driver); + if (err) + return err; return hci_uart_register_proto(&intel_proto); } --- linux-gcp-5.19.0.orig/drivers/bluetooth/hci_ldisc.c +++ linux-gcp-5.19.0/drivers/bluetooth/hci_ldisc.c @@ -493,6 +493,11 @@ BT_ERR("Can't allocate control structure"); return -ENFILE; } + if (percpu_init_rwsem(&hu->proto_lock)) { + BT_ERR("Can't allocate semaphore structure"); + kfree(hu); + return -ENOMEM; + } tty->disc_data = hu; hu->tty = tty; @@ -505,8 +510,6 @@ INIT_WORK(&hu->init_ready, hci_uart_init_work); INIT_WORK(&hu->write_work, hci_uart_write_work); - percpu_init_rwsem(&hu->proto_lock); - /* Flush any pending characters in the driver */ tty_driver_flush_buffer(tty); --- linux-gcp-5.19.0.orig/drivers/bluetooth/hci_ll.c +++ linux-gcp-5.19.0/drivers/bluetooth/hci_ll.c @@ -345,7 +345,7 @@ default: BT_ERR("illegal hcill state: %ld (losing packet)", ll->hcill_state); - kfree_skb(skb); + dev_kfree_skb_irq(skb); break; } --- linux-gcp-5.19.0.orig/drivers/bluetooth/hci_qca.c +++ linux-gcp-5.19.0/drivers/bluetooth/hci_qca.c @@ -912,7 +912,7 @@ default: BT_ERR("Illegal tx state: %d (losing packet)", qca->tx_ibs_state); - kfree_skb(skb); + dev_kfree_skb_irq(skb); break; } @@ -1582,13 +1582,14 @@ struct hci_uart *hu = hci_get_drvdata(hdev); bool wakeup; - /* UART driver handles the interrupt from BT SoC.So we need to use - * device handle of UART driver to get the status of device may wakeup. + /* BT SoC attached through the serial bus is handled by the serdev driver. + * So we need to use the device handle of the serdev driver to get the + * status of device may wakeup. */ - wakeup = device_may_wakeup(hu->serdev->ctrl->dev.parent); + wakeup = device_may_wakeup(&hu->serdev->ctrl->dev); bt_dev_dbg(hu->hdev, "wakeup status : %d", wakeup); - return !wakeup; + return wakeup; } static int qca_regulator_init(struct hci_uart *hu) @@ -2157,10 +2158,17 @@ int timeout = msecs_to_jiffies(CMD_TRANS_TIMEOUT_MS); struct serdev_device *serdev = to_serdev_device(dev); struct qca_serdev *qcadev = serdev_device_get_drvdata(serdev); + struct hci_uart *hu = &qcadev->serdev_hu; + struct hci_dev *hdev = hu->hdev; + struct qca_data *qca = hu->priv; const u8 ibs_wake_cmd[] = { 0xFD }; const u8 edl_reset_soc_cmd[] = { 0x01, 0x00, 0xFC, 0x01, 0x05 }; if (qcadev->btsoc_type == QCA_QCA6390) { + if (test_bit(QCA_BT_OFF, &qca->flags) || + !test_bit(HCI_RUNNING, &hdev->flags)) + return; + serdev_device_write_flush(serdev); ret = serdev_device_write_buf(serdev, ibs_wake_cmd, sizeof(ibs_wake_cmd)); --- linux-gcp-5.19.0.orig/drivers/bluetooth/hci_serdev.c +++ linux-gcp-5.19.0/drivers/bluetooth/hci_serdev.c @@ -231,6 +231,15 @@ return 0; } +/* Check if the device is wakeable */ +static bool hci_uart_wakeup(struct hci_dev *hdev) +{ + /* HCI UART devices are assumed to be wakeable by default. + * Implement wakeup callback to override this behavior. + */ + return true; +} + /** hci_uart_write_wakeup - transmit buffer wakeup * @serdev: serial device * @@ -301,11 +310,12 @@ serdev_device_set_client_ops(hu->serdev, &hci_serdev_client_ops); + if (percpu_init_rwsem(&hu->proto_lock)) + return -ENOMEM; + err = serdev_device_open(hu->serdev); if (err) - return err; - - percpu_init_rwsem(&hu->proto_lock); + goto err_rwsem; err = p->open(hu); if (err) @@ -342,6 +352,8 @@ hdev->flush = hci_uart_flush; hdev->send = hci_uart_send_frame; hdev->setup = hci_uart_setup; + if (!hdev->wakeup) + hdev->wakeup = hci_uart_wakeup; SET_HCIDEV_DEV(hdev, &hu->serdev->dev); if (test_bit(HCI_UART_NO_SUSPEND_NOTIFIER, &hu->flags)) @@ -378,6 +390,8 @@ p->close(hu); err_open: serdev_device_close(hu->serdev); +err_rwsem: + percpu_free_rwsem(&hu->proto_lock); return err; } EXPORT_SYMBOL_GPL(hci_uart_register_device); @@ -399,5 +413,6 @@ clear_bit(HCI_UART_PROTO_READY, &hu->flags); serdev_device_close(hu->serdev); } + percpu_free_rwsem(&hu->proto_lock); } EXPORT_SYMBOL_GPL(hci_uart_unregister_device); --- linux-gcp-5.19.0.orig/drivers/bluetooth/virtio_bt.c +++ linux-gcp-5.19.0/drivers/bluetooth/virtio_bt.c @@ -219,7 +219,7 @@ if (!skb) return; - skb->len = len; + skb_put(skb, len); virtbt_rx_handle(vbt, skb); if (virtbt_add_inbuf(vbt) < 0) --- linux-gcp-5.19.0.orig/drivers/bus/hisi_lpc.c +++ linux-gcp-5.19.0/drivers/bus/hisi_lpc.c @@ -503,13 +503,13 @@ { struct acpi_device *adev = ACPI_COMPANION(hostdev); struct acpi_device *child; + struct platform_device *pdev; int ret; /* Only consider the children of the host */ list_for_each_entry(child, &adev->children, node) { const char *hid = acpi_device_hid(child); const struct hisi_lpc_acpi_cell *cell; - struct platform_device *pdev; const struct resource *res; bool found = false; int num_res; @@ -571,22 +571,24 @@ ret = platform_device_add_resources(pdev, res, num_res); if (ret) - goto fail; + goto fail_put_device; ret = platform_device_add_data(pdev, cell->pdata, cell->pdata_size); if (ret) - goto fail; + goto fail_put_device; ret = platform_device_add(pdev); if (ret) - goto fail; + goto fail_put_device; acpi_device_set_enumerated(child); } return 0; +fail_put_device: + platform_device_put(pdev); fail: hisi_lpc_acpi_remove(hostdev); return ret; --- linux-gcp-5.19.0.orig/drivers/bus/intel-ixp4xx-eb.c +++ linux-gcp-5.19.0/drivers/bus/intel-ixp4xx-eb.c @@ -49,7 +49,7 @@ #define IXP4XX_EXP_SIZE_SHIFT 10 #define IXP4XX_EXP_CNFG_0 BIT(9) /* Always zero */ #define IXP43X_EXP_SYNC_INTEL BIT(8) /* Only on IXP43x */ -#define IXP43X_EXP_EXP_CHIP BIT(7) /* Only on IXP43x */ +#define IXP43X_EXP_EXP_CHIP BIT(7) /* Only on IXP43x, dangerous to touch on IXP42x */ #define IXP4XX_EXP_BYTE_RD16 BIT(6) #define IXP4XX_EXP_HRDY_POL BIT(5) /* Only on IXP42x */ #define IXP4XX_EXP_MUX_EN BIT(4) @@ -57,8 +57,6 @@ #define IXP4XX_EXP_WORD BIT(2) /* Always zero */ #define IXP4XX_EXP_WR_EN BIT(1) #define IXP4XX_EXP_BYTE_EN BIT(0) -#define IXP42X_RESERVED (BIT(30)|IXP4XX_EXP_CNFG_0|BIT(8)|BIT(7)|IXP4XX_EXP_WORD) -#define IXP43X_RESERVED (BIT(30)|IXP4XX_EXP_CNFG_0|BIT(5)|IXP4XX_EXP_WORD) #define IXP4XX_EXP_CNFG0 0x20 #define IXP4XX_EXP_CNFG0_MEM_MAP BIT(31) @@ -252,10 +250,9 @@ cs_cfg |= val << IXP4XX_EXP_CYC_TYPE_SHIFT; } - if (eb->is_42x) - cs_cfg &= ~IXP42X_RESERVED; if (eb->is_43x) { - cs_cfg &= ~IXP43X_RESERVED; + /* Should always be zero */ + cs_cfg &= ~IXP4XX_EXP_WORD; /* * This bit for Intel strata flash is currently unused, but let's * report it if we find one. --- linux-gcp-5.19.0.orig/drivers/bus/mhi/ep/main.c +++ linux-gcp-5.19.0/drivers/bus/mhi/ep/main.c @@ -196,9 +196,11 @@ mhi_ep_mmio_disable_chdb(mhi_cntrl, ch_id); /* Send channel disconnect status to client drivers */ - result.transaction_status = -ENOTCONN; - result.bytes_xferd = 0; - mhi_chan->xfer_cb(mhi_chan->mhi_dev, &result); + if (mhi_chan->xfer_cb) { + result.transaction_status = -ENOTCONN; + result.bytes_xferd = 0; + mhi_chan->xfer_cb(mhi_chan->mhi_dev, &result); + } /* Set channel state to STOP */ mhi_chan->state = MHI_CH_STATE_STOP; @@ -228,9 +230,11 @@ mhi_ep_ring_reset(mhi_cntrl, ch_ring); /* Send channel disconnect status to client driver */ - result.transaction_status = -ENOTCONN; - result.bytes_xferd = 0; - mhi_chan->xfer_cb(mhi_chan->mhi_dev, &result); + if (mhi_chan->xfer_cb) { + result.transaction_status = -ENOTCONN; + result.bytes_xferd = 0; + mhi_chan->xfer_cb(mhi_chan->mhi_dev, &result); + } /* Set channel state to DISABLED */ mhi_chan->state = MHI_CH_STATE_DISABLED; @@ -719,24 +723,37 @@ list_del(&itr->node); ring = itr->ring; + chan = &mhi_cntrl->mhi_chan[ring->ch_id]; + mutex_lock(&chan->lock); + + /* + * The ring could've stopped while we waited to grab the (chan->lock), so do + * a sanity check before going further. + */ + if (!ring->started) { + mutex_unlock(&chan->lock); + kfree(itr); + continue; + } + /* Update the write offset for the ring */ ret = mhi_ep_update_wr_offset(ring); if (ret) { dev_err(dev, "Error updating write offset for ring\n"); + mutex_unlock(&chan->lock); kfree(itr); continue; } /* Sanity check to make sure there are elements in the ring */ if (ring->rd_offset == ring->wr_offset) { + mutex_unlock(&chan->lock); kfree(itr); continue; } el = &ring->ring_cache[ring->rd_offset]; - chan = &mhi_cntrl->mhi_chan[ring->ch_id]; - mutex_lock(&chan->lock); dev_dbg(dev, "Processing the ring for channel (%u)\n", ring->ch_id); ret = mhi_ep_process_ch_ring(ring, el); if (ret) { @@ -1119,6 +1136,7 @@ dev_dbg(&mhi_chan->mhi_dev->dev, "Suspending channel\n"); /* Set channel state to SUSPENDED */ + mhi_chan->state = MHI_CH_STATE_SUSPENDED; tmp &= ~CHAN_CTX_CHSTATE_MASK; tmp |= FIELD_PREP(CHAN_CTX_CHSTATE_MASK, MHI_CH_STATE_SUSPENDED); mhi_cntrl->ch_ctx_cache[i].chcfg = cpu_to_le32(tmp); @@ -1148,6 +1166,7 @@ dev_dbg(&mhi_chan->mhi_dev->dev, "Resuming channel\n"); /* Set channel state to RUNNING */ + mhi_chan->state = MHI_CH_STATE_RUNNING; tmp &= ~CHAN_CTX_CHSTATE_MASK; tmp |= FIELD_PREP(CHAN_CTX_CHSTATE_MASK, MHI_CH_STATE_RUNNING); mhi_cntrl->ch_ctx_cache[i].chcfg = cpu_to_le32(tmp); --- linux-gcp-5.19.0.orig/drivers/bus/mhi/host/pm.c +++ linux-gcp-5.19.0/drivers/bus/mhi/host/pm.c @@ -301,7 +301,8 @@ read_lock_irq(&mhi_chan->lock); /* Only ring DB if ring is not empty */ - if (tre_ring->base && tre_ring->wp != tre_ring->rp) + if (tre_ring->base && tre_ring->wp != tre_ring->rp && + mhi_chan->ch_state == MHI_CH_STATE_ENABLED) mhi_ring_chan_db(mhi_cntrl, mhi_chan); read_unlock_irq(&mhi_chan->lock); } --- linux-gcp-5.19.0.orig/drivers/bus/sunxi-rsb.c +++ linux-gcp-5.19.0/drivers/bus/sunxi-rsb.c @@ -271,6 +271,9 @@ /* common code that starts a transfer */ static int _sunxi_rsb_run_xfer(struct sunxi_rsb *rsb) { + u32 int_mask, status; + bool timeout; + if (readl(rsb->regs + RSB_CTRL) & RSB_CTRL_START_TRANS) { dev_dbg(rsb->dev, "RSB transfer still in progress\n"); return -EBUSY; @@ -278,13 +281,23 @@ reinit_completion(&rsb->complete); - writel(RSB_INTS_LOAD_BSY | RSB_INTS_TRANS_ERR | RSB_INTS_TRANS_OVER, - rsb->regs + RSB_INTE); + int_mask = RSB_INTS_LOAD_BSY | RSB_INTS_TRANS_ERR | RSB_INTS_TRANS_OVER; + writel(int_mask, rsb->regs + RSB_INTE); writel(RSB_CTRL_START_TRANS | RSB_CTRL_GLOBAL_INT_ENB, rsb->regs + RSB_CTRL); - if (!wait_for_completion_io_timeout(&rsb->complete, - msecs_to_jiffies(100))) { + if (irqs_disabled()) { + timeout = readl_poll_timeout_atomic(rsb->regs + RSB_INTS, + status, (status & int_mask), + 10, 100000); + writel(status, rsb->regs + RSB_INTS); + } else { + timeout = !wait_for_completion_io_timeout(&rsb->complete, + msecs_to_jiffies(100)); + status = rsb->status; + } + + if (timeout) { dev_dbg(rsb->dev, "RSB timeout\n"); /* abort the transfer */ @@ -296,18 +309,18 @@ return -ETIMEDOUT; } - if (rsb->status & RSB_INTS_LOAD_BSY) { + if (status & RSB_INTS_LOAD_BSY) { dev_dbg(rsb->dev, "RSB busy\n"); return -EBUSY; } - if (rsb->status & RSB_INTS_TRANS_ERR) { - if (rsb->status & RSB_INTS_TRANS_ERR_ACK) { + if (status & RSB_INTS_TRANS_ERR) { + if (status & RSB_INTS_TRANS_ERR_ACK) { dev_dbg(rsb->dev, "RSB slave nack\n"); return -EINVAL; } - if (rsb->status & RSB_INTS_TRANS_ERR_DATA) { + if (status & RSB_INTS_TRANS_ERR_DATA) { dev_dbg(rsb->dev, "RSB transfer data error\n"); return -EIO; } @@ -816,14 +829,6 @@ return 0; } -static void sunxi_rsb_shutdown(struct platform_device *pdev) -{ - struct sunxi_rsb *rsb = platform_get_drvdata(pdev); - - pm_runtime_disable(&pdev->dev); - sunxi_rsb_hw_exit(rsb); -} - static const struct dev_pm_ops sunxi_rsb_dev_pm_ops = { SET_RUNTIME_PM_OPS(sunxi_rsb_runtime_suspend, sunxi_rsb_runtime_resume, NULL) @@ -839,7 +844,6 @@ static struct platform_driver sunxi_rsb_driver = { .probe = sunxi_rsb_probe, .remove = sunxi_rsb_remove, - .shutdown = sunxi_rsb_shutdown, .driver = { .name = RSB_CTRL_NAME, .of_match_table = sunxi_rsb_of_match_table, @@ -857,7 +861,13 @@ return ret; } - return platform_driver_register(&sunxi_rsb_driver); + ret = platform_driver_register(&sunxi_rsb_driver); + if (ret) { + bus_unregister(&sunxi_rsb_bus); + return ret; + } + + return 0; } module_init(sunxi_rsb_init); --- linux-gcp-5.19.0.orig/drivers/cdrom/cdrom.c +++ linux-gcp-5.19.0/drivers/cdrom/cdrom.c @@ -281,7 +281,7 @@ /* default compatibility mode */ static bool autoclose=1; static bool autoeject; -static bool lockdoor = 1; +static bool lockdoor = 0; /* will we ever get to use this... sigh. */ static bool check_media_type; /* automatically restart mrw format */ --- linux-gcp-5.19.0.orig/drivers/cdrom/gdrom.c +++ linux-gcp-5.19.0/drivers/cdrom/gdrom.c @@ -831,7 +831,6 @@ static int remove_gdrom(struct platform_device *devptr) { - blk_cleanup_queue(gd.gdrom_rq); blk_mq_free_tag_set(&gd.tag_set); free_irq(HW_EVENT_GDROM_CMD, &gd); free_irq(HW_EVENT_GDROM_DMA, &gd); --- linux-gcp-5.19.0.orig/drivers/char/applicom.c +++ linux-gcp-5.19.0/drivers/char/applicom.c @@ -197,8 +197,10 @@ if (!pci_match_id(applicom_pci_tbl, dev)) continue; - if (pci_enable_device(dev)) + if (pci_enable_device(dev)) { + pci_dev_put(dev); return -EIO; + } RamIO = ioremap(pci_resource_start(dev, 0), LEN_RAM_IO); @@ -207,6 +209,7 @@ "space at 0x%llx\n", (unsigned long long)pci_resource_start(dev, 0)); pci_disable_device(dev); + pci_dev_put(dev); return -EIO; } --- linux-gcp-5.19.0.orig/drivers/char/hw_random/amd-rng.c +++ linux-gcp-5.19.0/drivers/char/hw_random/amd-rng.c @@ -143,15 +143,19 @@ found: err = pci_read_config_dword(pdev, 0x58, &pmbase); if (err) - return err; + goto put_dev; pmbase &= 0x0000FF00; - if (pmbase == 0) - return -EIO; + if (pmbase == 0) { + err = -EIO; + goto put_dev; + } priv = kzalloc(sizeof(*priv), GFP_KERNEL); - if (!priv) - return -ENOMEM; + if (!priv) { + err = -ENOMEM; + goto put_dev; + } if (!request_region(pmbase + PMBASE_OFFSET, PMBASE_SIZE, DRV_NAME)) { dev_err(&pdev->dev, DRV_NAME " region 0x%x already in use!\n", @@ -185,6 +189,8 @@ release_region(pmbase + PMBASE_OFFSET, PMBASE_SIZE); out: kfree(priv); +put_dev: + pci_dev_put(pdev); return err; } @@ -200,6 +206,8 @@ release_region(priv->pmbase + PMBASE_OFFSET, PMBASE_SIZE); + pci_dev_put(priv->pcidev); + kfree(priv); } --- linux-gcp-5.19.0.orig/drivers/char/hw_random/arm_smccc_trng.c +++ linux-gcp-5.19.0/drivers/char/hw_random/arm_smccc_trng.c @@ -71,8 +71,6 @@ MAX_BITS_PER_CALL); arm_smccc_1_1_invoke(ARM_SMCCC_TRNG_RND, bits, &res); - if ((int)res.a0 < 0) - return (int)res.a0; switch ((int)res.a0) { case SMCCC_RET_SUCCESS: @@ -88,6 +86,8 @@ return copied; cond_resched(); break; + default: + return -EIO; } } --- linux-gcp-5.19.0.orig/drivers/char/hw_random/bcm2835-rng.c +++ linux-gcp-5.19.0/drivers/char/hw_random/bcm2835-rng.c @@ -71,7 +71,7 @@ while ((rng_readl(priv, RNG_STATUS) >> 24) == 0) { if (!wait) return 0; - cpu_relax(); + hwrng_msleep(rng, 1000); } num_words = rng_readl(priv, RNG_STATUS) >> 24; --- linux-gcp-5.19.0.orig/drivers/char/hw_random/core.c +++ linux-gcp-5.19.0/drivers/char/hw_random/core.c @@ -507,16 +507,17 @@ rng->quality = current_quality; /* obsolete */ quality = rng->quality; mutex_unlock(&reading_mutex); + + if (rc <= 0) + hwrng_msleep(rng, 10000); + put_rng(rng); if (!quality) break; - if (rc <= 0) { - pr_warn("hwrng: no data available\n"); - msleep_interruptible(10000); + if (rc <= 0) continue; - } /* If we cannot credit at least one bit of entropy, * keep track of the remainder for the next iteration @@ -570,6 +571,7 @@ init_completion(&rng->cleanup_done); complete(&rng->cleanup_done); + init_completion(&rng->dying); if (!current_rng || (!cur_rng_set_by_user && rng->quality > current_rng->quality)) { @@ -617,6 +619,7 @@ old_rng = current_rng; list_del(&rng->list); + complete_all(&rng->dying); if (current_rng == rng) { err = enable_best_rng(); if (err) { @@ -685,6 +688,14 @@ } EXPORT_SYMBOL_GPL(devm_hwrng_unregister); +long hwrng_msleep(struct hwrng *rng, unsigned int msecs) +{ + unsigned long timeout = msecs_to_jiffies(msecs) + 1; + + return wait_for_completion_interruptible_timeout(&rng->dying, timeout); +} +EXPORT_SYMBOL_GPL(hwrng_msleep); + static int __init hwrng_modinit(void) { int ret; --- linux-gcp-5.19.0.orig/drivers/char/hw_random/geode-rng.c +++ linux-gcp-5.19.0/drivers/char/hw_random/geode-rng.c @@ -51,6 +51,10 @@ }; MODULE_DEVICE_TABLE(pci, pci_tbl); +struct amd_geode_priv { + struct pci_dev *pcidev; + void __iomem *membase; +}; static int geode_rng_data_read(struct hwrng *rng, u32 *data) { @@ -90,6 +94,7 @@ const struct pci_device_id *ent; void __iomem *mem; unsigned long rng_base; + struct amd_geode_priv *priv; for_each_pci_dev(pdev) { ent = pci_match_id(pci_tbl, pdev); @@ -97,17 +102,26 @@ goto found; } /* Device not found. */ - goto out; + return err; found: + priv = kzalloc(sizeof(*priv), GFP_KERNEL); + if (!priv) { + err = -ENOMEM; + goto put_dev; + } + rng_base = pci_resource_start(pdev, 0); if (rng_base == 0) - goto out; + goto free_priv; err = -ENOMEM; mem = ioremap(rng_base, 0x58); if (!mem) - goto out; - geode_rng.priv = (unsigned long)mem; + goto free_priv; + + geode_rng.priv = (unsigned long)priv; + priv->membase = mem; + priv->pcidev = pdev; pr_info("AMD Geode RNG detected\n"); err = hwrng_register(&geode_rng); @@ -116,20 +130,26 @@ err); goto err_unmap; } -out: return err; err_unmap: iounmap(mem); - goto out; +free_priv: + kfree(priv); +put_dev: + pci_dev_put(pdev); + return err; } static void __exit geode_rng_exit(void) { - void __iomem *mem = (void __iomem *)geode_rng.priv; + struct amd_geode_priv *priv; + priv = (struct amd_geode_priv *)geode_rng.priv; hwrng_unregister(&geode_rng); - iounmap(mem); + iounmap(priv->membase); + pci_dev_put(priv->pcidev); + kfree(priv); } module_init(geode_rng_init); --- linux-gcp-5.19.0.orig/drivers/char/hw_random/imx-rngc.c +++ linux-gcp-5.19.0/drivers/char/hw_random/imx-rngc.c @@ -270,13 +270,6 @@ goto err; } - ret = devm_request_irq(&pdev->dev, - irq, imx_rngc_irq, 0, pdev->name, (void *)rngc); - if (ret) { - dev_err(rngc->dev, "Can't get interrupt working.\n"); - goto err; - } - init_completion(&rngc->rng_op_done); rngc->rng.name = pdev->name; @@ -290,6 +283,13 @@ imx_rngc_irq_mask_clear(rngc); + ret = devm_request_irq(&pdev->dev, + irq, imx_rngc_irq, 0, pdev->name, (void *)rngc); + if (ret) { + dev_err(rngc->dev, "Can't get interrupt working.\n"); + return ret; + } + if (self_test) { ret = imx_rngc_self_test(rngc); if (ret) { --- linux-gcp-5.19.0.orig/drivers/char/ipmi/ipmi_ipmb.c +++ linux-gcp-5.19.0/drivers/char/ipmi/ipmi_ipmb.c @@ -27,7 +27,7 @@ static unsigned int retry_time_ms = 250; module_param(retry_time_ms, uint, 0644); -MODULE_PARM_DESC(max_retries, "Timeout time between retries, in milliseconds."); +MODULE_PARM_DESC(retry_time_ms, "Timeout time between retries, in milliseconds."); static unsigned int max_retries = 1; module_param(max_retries, uint, 0644); --- linux-gcp-5.19.0.orig/drivers/char/ipmi/ipmi_msghandler.c +++ linux-gcp-5.19.0/drivers/char/ipmi/ipmi_msghandler.c @@ -1336,6 +1336,7 @@ unsigned long flags; struct cmd_rcvr *rcvr; struct cmd_rcvr *rcvrs = NULL; + struct module *owner; if (!acquire_ipmi_user(user, &i)) { /* @@ -1398,8 +1399,9 @@ kfree(rcvr); } + owner = intf->owner; kref_put(&intf->refcount, intf_free); - module_put(intf->owner); + module_put(owner); } int ipmi_destroy_user(struct ipmi_user *user) @@ -3710,12 +3712,16 @@ struct ipmi_smi_msg *msg, unsigned char err) { + int rv; msg->rsp[0] = msg->data[0] | 4; msg->rsp[1] = msg->data[1]; msg->rsp[2] = err; msg->rsp_size = 3; - /* It's an error, so it will never requeue, no need to check return. */ - handle_one_recv_msg(intf, msg); + + /* This will never requeue, but it may ask us to free the message. */ + rv = handle_one_recv_msg(intf, msg); + if (rv == 0) + ipmi_free_smi_msg(msg); } static void cleanup_smi_msgs(struct ipmi_smi *intf) --- linux-gcp-5.19.0.orig/drivers/char/ipmi/ipmi_si_intf.c +++ linux-gcp-5.19.0/drivers/char/ipmi/ipmi_si_intf.c @@ -2153,6 +2153,20 @@ } module_init(init_ipmi_si); +static void wait_msg_processed(struct smi_info *smi_info) +{ + unsigned long jiffies_now; + long time_diff; + + while (smi_info->curr_msg || (smi_info->si_state != SI_NORMAL)) { + jiffies_now = jiffies; + time_diff = (((long)jiffies_now - (long)smi_info->last_timeout_jiffies) + * SI_USEC_PER_JIFFY); + smi_event_handler(smi_info, time_diff); + schedule_timeout_uninterruptible(1); + } +} + static void shutdown_smi(void *send_info) { struct smi_info *smi_info = send_info; @@ -2187,16 +2201,13 @@ * in the BMC. Note that timers and CPU interrupts are off, * so no need for locks. */ - while (smi_info->curr_msg || (smi_info->si_state != SI_NORMAL)) { - poll(smi_info); - schedule_timeout_uninterruptible(1); - } + wait_msg_processed(smi_info); + if (smi_info->handlers) disable_si_irq(smi_info); - while (smi_info->curr_msg || (smi_info->si_state != SI_NORMAL)) { - poll(smi_info); - schedule_timeout_uninterruptible(1); - } + + wait_msg_processed(smi_info); + if (smi_info->handlers) smi_info->handlers->cleanup(smi_info->si_sm); --- linux-gcp-5.19.0.orig/drivers/char/ipmi/ipmi_ssif.c +++ linux-gcp-5.19.0/drivers/char/ipmi/ipmi_ssif.c @@ -92,7 +92,7 @@ #define SSIF_WATCH_WATCHDOG_TIMEOUT msecs_to_jiffies(250) enum ssif_intf_state { - SSIF_NORMAL, + SSIF_IDLE, SSIF_GETTING_FLAGS, SSIF_GETTING_EVENTS, SSIF_CLEARING_FLAGS, @@ -100,8 +100,8 @@ /* FIXME - add watchdog stuff. */ }; -#define SSIF_IDLE(ssif) ((ssif)->ssif_state == SSIF_NORMAL \ - && (ssif)->curr_msg == NULL) +#define IS_SSIF_IDLE(ssif) ((ssif)->ssif_state == SSIF_IDLE \ + && (ssif)->curr_msg == NULL) /* * Indexes into stats[] in ssif_info below. @@ -348,9 +348,9 @@ /* * Must be called with the message lock held. This will release the - * message lock. Note that the caller will check SSIF_IDLE and start a - * new operation, so there is no need to check for new messages to - * start in here. + * message lock. Note that the caller will check IS_SSIF_IDLE and + * start a new operation, so there is no need to check for new + * messages to start in here. */ static void start_clear_flags(struct ssif_info *ssif_info, unsigned long *flags) { @@ -367,7 +367,7 @@ if (start_send(ssif_info, msg, 3) != 0) { /* Error, just go to normal state. */ - ssif_info->ssif_state = SSIF_NORMAL; + ssif_info->ssif_state = SSIF_IDLE; } } @@ -382,7 +382,7 @@ mb[0] = (IPMI_NETFN_APP_REQUEST << 2); mb[1] = IPMI_GET_MSG_FLAGS_CMD; if (start_send(ssif_info, mb, 2) != 0) - ssif_info->ssif_state = SSIF_NORMAL; + ssif_info->ssif_state = SSIF_IDLE; } static void check_start_send(struct ssif_info *ssif_info, unsigned long *flags, @@ -393,7 +393,7 @@ flags = ipmi_ssif_lock_cond(ssif_info, &oflags); ssif_info->curr_msg = NULL; - ssif_info->ssif_state = SSIF_NORMAL; + ssif_info->ssif_state = SSIF_IDLE; ipmi_ssif_unlock_cond(ssif_info, flags); ipmi_free_smi_msg(msg); } @@ -407,7 +407,7 @@ msg = ipmi_alloc_smi_msg(); if (!msg) { - ssif_info->ssif_state = SSIF_NORMAL; + ssif_info->ssif_state = SSIF_IDLE; ipmi_ssif_unlock_cond(ssif_info, flags); return; } @@ -430,7 +430,7 @@ msg = ipmi_alloc_smi_msg(); if (!msg) { - ssif_info->ssif_state = SSIF_NORMAL; + ssif_info->ssif_state = SSIF_IDLE; ipmi_ssif_unlock_cond(ssif_info, flags); return; } @@ -448,9 +448,9 @@ /* * Must be called with the message lock held. This will release the - * message lock. Note that the caller will check SSIF_IDLE and start a - * new operation, so there is no need to check for new messages to - * start in here. + * message lock. Note that the caller will check IS_SSIF_IDLE and + * start a new operation, so there is no need to check for new + * messages to start in here. */ static void handle_flags(struct ssif_info *ssif_info, unsigned long *flags) { @@ -466,7 +466,7 @@ /* Events available. */ start_event_fetch(ssif_info, flags); else { - ssif_info->ssif_state = SSIF_NORMAL; + ssif_info->ssif_state = SSIF_IDLE; ipmi_ssif_unlock_cond(ssif_info, flags); } } @@ -568,7 +568,7 @@ if (ssif_info->watch_timeout) { mod_timer(&ssif_info->watch_timer, jiffies + ssif_info->watch_timeout); - if (SSIF_IDLE(ssif_info)) { + if (IS_SSIF_IDLE(ssif_info)) { start_flag_fetch(ssif_info, flags); /* Releases lock */ return; } @@ -602,7 +602,7 @@ start_get(ssif_info); } -static int start_resend(struct ssif_info *ssif_info); +static void start_resend(struct ssif_info *ssif_info); static void msg_done_handler(struct ssif_info *ssif_info, int result, unsigned char *data, unsigned int len) @@ -756,7 +756,7 @@ } switch (ssif_info->ssif_state) { - case SSIF_NORMAL: + case SSIF_IDLE: ipmi_ssif_unlock_cond(ssif_info, flags); if (!msg) break; @@ -774,7 +774,7 @@ * Error fetching flags, or invalid length, * just give up for now. */ - ssif_info->ssif_state = SSIF_NORMAL; + ssif_info->ssif_state = SSIF_IDLE; ipmi_ssif_unlock_cond(ssif_info, flags); dev_warn(&ssif_info->client->dev, "Error getting flags: %d %d, %x\n", @@ -809,7 +809,7 @@ "Invalid response clearing flags: %x %x\n", data[0], data[1]); } - ssif_info->ssif_state = SSIF_NORMAL; + ssif_info->ssif_state = SSIF_IDLE; ipmi_ssif_unlock_cond(ssif_info, flags); break; @@ -887,7 +887,7 @@ } flags = ipmi_ssif_lock_cond(ssif_info, &oflags); - if (SSIF_IDLE(ssif_info) && !ssif_info->stopping) { + if (IS_SSIF_IDLE(ssif_info) && !ssif_info->stopping) { if (ssif_info->req_events) start_event_fetch(ssif_info, flags); else if (ssif_info->req_flags) @@ -909,31 +909,17 @@ if (result < 0) { ssif_info->retries_left--; if (ssif_info->retries_left > 0) { - if (!start_resend(ssif_info)) { - ssif_inc_stat(ssif_info, send_retries); - return; - } - /* request failed, just return the error. */ - ssif_inc_stat(ssif_info, send_errors); - - if (ssif_info->ssif_debug & SSIF_DEBUG_MSG) - dev_dbg(&ssif_info->client->dev, - "%s: Out of retries\n", __func__); - msg_done_handler(ssif_info, -EIO, NULL, 0); + start_resend(ssif_info); return; } ssif_inc_stat(ssif_info, send_errors); - /* - * Got an error on transmit, let the done routine - * handle it. - */ if (ssif_info->ssif_debug & SSIF_DEBUG_MSG) dev_dbg(&ssif_info->client->dev, - "%s: Error %d\n", __func__, result); + "%s: Out of retries\n", __func__); - msg_done_handler(ssif_info, result, NULL, 0); + msg_done_handler(ssif_info, -EIO, NULL, 0); return; } @@ -996,7 +982,7 @@ } } -static int start_resend(struct ssif_info *ssif_info) +static void start_resend(struct ssif_info *ssif_info) { int command; @@ -1021,7 +1007,6 @@ ssif_i2c_send(ssif_info, msg_written_handler, I2C_SMBUS_WRITE, command, ssif_info->data, I2C_SMBUS_BLOCK_DATA); - return 0; } static int start_send(struct ssif_info *ssif_info, @@ -1036,7 +1021,8 @@ ssif_info->retries_left = SSIF_SEND_RETRIES; memcpy(ssif_info->data + 1, data, len); ssif_info->data_len = len; - return start_resend(ssif_info); + start_resend(ssif_info); + return 0; } /* Must be called with the message lock held. */ @@ -1046,7 +1032,7 @@ unsigned long oflags; restart: - if (!SSIF_IDLE(ssif_info)) { + if (!IS_SSIF_IDLE(ssif_info)) { ipmi_ssif_unlock_cond(ssif_info, flags); return; } @@ -1269,7 +1255,7 @@ dev_set_drvdata(&ssif_info->client->dev, NULL); /* make sure the driver is not looking for flags any more. */ - while (ssif_info->ssif_state != SSIF_NORMAL) + while (ssif_info->ssif_state != SSIF_IDLE) schedule_timeout(1); ssif_info->stopping = true; @@ -1841,7 +1827,7 @@ } spin_lock_init(&ssif_info->lock); - ssif_info->ssif_state = SSIF_NORMAL; + ssif_info->ssif_state = SSIF_IDLE; timer_setup(&ssif_info->retry_timer, retry_timeout, 0); timer_setup(&ssif_info->watch_timer, watch_timeout, 0); --- linux-gcp-5.19.0.orig/drivers/char/ipmi/kcs_bmc_aspeed.c +++ linux-gcp-5.19.0/drivers/char/ipmi/kcs_bmc_aspeed.c @@ -399,13 +399,31 @@ static void aspeed_kcs_irq_mask_update(struct kcs_bmc_device *kcs_bmc, u8 mask, u8 state) { struct aspeed_kcs_bmc *priv = to_aspeed_kcs_bmc(kcs_bmc); + int rc; + u8 str; /* We don't have an OBE IRQ, emulate it */ if (mask & KCS_BMC_EVENT_TYPE_OBE) { - if (KCS_BMC_EVENT_TYPE_OBE & state) - mod_timer(&priv->obe.timer, jiffies + OBE_POLL_PERIOD); - else + if (KCS_BMC_EVENT_TYPE_OBE & state) { + /* + * Given we don't have an OBE IRQ, delay by polling briefly to see if we can + * observe such an event before returning to the caller. This is not + * incorrect because OBF may have already become clear before enabling the + * IRQ if we had one, under which circumstance no event will be propagated + * anyway. + * + * The onus is on the client to perform a race-free check that it hasn't + * missed the event. + */ + rc = read_poll_timeout_atomic(aspeed_kcs_inb, str, + !(str & KCS_BMC_STR_OBF), 1, 100, false, + &priv->kcs_bmc, priv->kcs_bmc.ioreg.str); + /* Time for the slow path? */ + if (rc == -ETIMEDOUT) + mod_timer(&priv->obe.timer, jiffies + OBE_POLL_PERIOD); + } else { del_timer(&priv->obe.timer); + } } if (mask & KCS_BMC_EVENT_TYPE_IBF) { --- linux-gcp-5.19.0.orig/drivers/char/mem.c +++ linux-gcp-5.19.0/drivers/char/mem.c @@ -706,8 +706,8 @@ #endif [5] = { "zero", 0666, &zero_fops, FMODE_NOWAIT }, [7] = { "full", 0666, &full_fops, 0 }, - [8] = { "random", 0666, &random_fops, 0 }, - [9] = { "urandom", 0666, &urandom_fops, 0 }, + [8] = { "random", 0666, &random_fops, FMODE_NOWAIT }, + [9] = { "urandom", 0666, &urandom_fops, FMODE_NOWAIT }, #ifdef CONFIG_PRINTK [11] = { "kmsg", 0644, &kmsg_fops, 0 }, #endif --- linux-gcp-5.19.0.orig/drivers/char/pcmcia/cm4000_cs.c +++ linux-gcp-5.19.0/drivers/char/pcmcia/cm4000_cs.c @@ -529,7 +529,8 @@ DEBUGP(5, dev, "NumRecBytes is valid\n"); break; } - usleep_range(10000, 11000); + /* can not sleep as this is in atomic context */ + mdelay(10); } if (i == 100) { DEBUGP(5, dev, "Timeout waiting for NumRecBytes getting " @@ -549,7 +550,8 @@ } break; } - usleep_range(10000, 11000); + /* can not sleep as this is in atomic context */ + mdelay(10); } /* check whether it is a short PTS reply? */ --- linux-gcp-5.19.0.orig/drivers/char/random.c +++ linux-gcp-5.19.0/drivers/char/random.c @@ -903,20 +903,23 @@ #endif struct fast_pool { - struct work_struct mix; unsigned long pool[4]; unsigned long last; unsigned int count; + struct timer_list mix; }; +static void mix_interrupt_randomness(struct timer_list *work); + static DEFINE_PER_CPU(struct fast_pool, irq_randomness) = { #ifdef CONFIG_64BIT #define FASTMIX_PERM SIPHASH_PERMUTATION - .pool = { SIPHASH_CONST_0, SIPHASH_CONST_1, SIPHASH_CONST_2, SIPHASH_CONST_3 } + .pool = { SIPHASH_CONST_0, SIPHASH_CONST_1, SIPHASH_CONST_2, SIPHASH_CONST_3 }, #else #define FASTMIX_PERM HSIPHASH_PERMUTATION - .pool = { HSIPHASH_CONST_0, HSIPHASH_CONST_1, HSIPHASH_CONST_2, HSIPHASH_CONST_3 } + .pool = { HSIPHASH_CONST_0, HSIPHASH_CONST_1, HSIPHASH_CONST_2, HSIPHASH_CONST_3 }, #endif + .mix = __TIMER_INITIALIZER(mix_interrupt_randomness, 0) }; /* @@ -958,7 +961,7 @@ } #endif -static void mix_interrupt_randomness(struct work_struct *work) +static void mix_interrupt_randomness(struct timer_list *work) { struct fast_pool *fast_pool = container_of(work, struct fast_pool, mix); /* @@ -989,7 +992,7 @@ local_irq_enable(); mix_pool_bytes(pool, sizeof(pool)); - credit_init_bits(max(1u, (count & U16_MAX) / 64)); + credit_init_bits(clamp_t(unsigned int, (count & U16_MAX) / 64, 1, sizeof(pool) * 8)); memzero_explicit(pool, sizeof(pool)); } @@ -1012,10 +1015,11 @@ if (new_count < 1024 && !time_is_before_jiffies(fast_pool->last + HZ)) return; - if (unlikely(!fast_pool->mix.func)) - INIT_WORK(&fast_pool->mix, mix_interrupt_randomness); fast_pool->count |= MIX_INFLIGHT; - queue_work_on(raw_smp_processor_id(), system_highpri_wq, &fast_pool->mix); + if (!timer_pending(&fast_pool->mix)) { + fast_pool->mix.expires = jiffies; + add_timer_on(&fast_pool->mix, raw_smp_processor_id()); + } } EXPORT_SYMBOL_GPL(add_interrupt_randomness); @@ -1174,7 +1178,7 @@ */ static void __cold try_to_generate_entropy(void) { - enum { NUM_TRIAL_SAMPLES = 8192, MAX_SAMPLES_PER_BIT = HZ / 30 }; + enum { NUM_TRIAL_SAMPLES = 8192, MAX_SAMPLES_PER_BIT = HZ / 15 }; struct entropy_timer_state stack; unsigned int i, num_different = 0; unsigned long last = random_get_entropy(); @@ -1193,7 +1197,7 @@ timer_setup_on_stack(&stack.timer, entropy_timer, 0); while (!crng_ready() && !signal_pending(current)) { if (!timer_pending(&stack.timer)) - mod_timer(&stack.timer, jiffies + 1); + mod_timer(&stack.timer, jiffies); mix_pool_bytes(&stack.entropy, sizeof(stack.entropy)); schedule(); stack.entropy = random_get_entropy(); @@ -1330,6 +1334,11 @@ { int ret; + if (!crng_ready() && + ((kiocb->ki_flags & (IOCB_NOWAIT | IOCB_NOIO)) || + (kiocb->ki_filp->f_flags & O_NONBLOCK))) + return -EAGAIN; + ret = wait_for_random_bytes(); if (ret != 0) return ret; --- linux-gcp-5.19.0.orig/drivers/char/tpm/eventlog/acpi.c +++ linux-gcp-5.19.0/drivers/char/tpm/eventlog/acpi.c @@ -90,16 +90,21 @@ return -ENODEV; if (tbl->header.length < - sizeof(*tbl) + sizeof(struct acpi_tpm2_phy)) + sizeof(*tbl) + sizeof(struct acpi_tpm2_phy)) { + acpi_put_table((struct acpi_table_header *)tbl); return -ENODEV; + } tpm2_phy = (void *)tbl + sizeof(*tbl); len = tpm2_phy->log_area_minimum_length; start = tpm2_phy->log_area_start_address; - if (!start || !len) + if (!start || !len) { + acpi_put_table((struct acpi_table_header *)tbl); return -ENODEV; + } + acpi_put_table((struct acpi_table_header *)tbl); format = EFI_TCG2_EVENT_LOG_FORMAT_TCG_2; } else { /* Find TCPA entry in RSDT (ACPI_LOGICAL_ADDRESSING) */ @@ -120,8 +125,10 @@ break; } + acpi_put_table((struct acpi_table_header *)buff); format = EFI_TCG2_EVENT_LOG_FORMAT_TCG_1_2; } + if (!len) { dev_warn(&chip->dev, "%s: TCPA log area empty\n", __func__); return -EIO; @@ -156,5 +163,4 @@ kfree(log->bios_event_log); log->bios_event_log = NULL; return ret; - } --- linux-gcp-5.19.0.orig/drivers/char/tpm/tpm-interface.c +++ linux-gcp-5.19.0/drivers/char/tpm/tpm-interface.c @@ -401,13 +401,14 @@ !pm_suspend_via_firmware()) goto suspended; - if (!tpm_chip_start(chip)) { + rc = tpm_try_get_ops(chip); + if (!rc) { if (chip->flags & TPM_CHIP_FLAG_TPM2) tpm2_shutdown(chip, TPM2_SU_STATE); else rc = tpm1_pm_suspend(chip, tpm_suspend_pcr); - tpm_chip_stop(chip); + tpm_put_ops(chip); } suspended: --- linux-gcp-5.19.0.orig/drivers/char/tpm/tpm2-cmd.c +++ linux-gcp-5.19.0/drivers/char/tpm/tpm2-cmd.c @@ -752,6 +752,12 @@ } rc = tpm2_get_cc_attrs_tbl(chip); + if (rc == TPM2_RC_FAILURE || (rc < 0 && rc != -ENOMEM)) { + dev_info(&chip->dev, + "TPM in field failure mode, requires firmware upgrade\n"); + chip->flags |= TPM_CHIP_FLAG_FIRMWARE_UPGRADE; + rc = 0; + } out: /* --- linux-gcp-5.19.0.orig/drivers/char/tpm/tpm_crb.c +++ linux-gcp-5.19.0/drivers/char/tpm/tpm_crb.c @@ -252,7 +252,7 @@ iowrite32(CRB_LOC_CTRL_RELINQUISH, &priv->regs_h->loc_ctrl); if (!crb_wait_for_reg_32(&priv->regs_h->loc_state, mask, value, TPM2_TIMEOUT_C)) { - dev_warn(dev, "TPM_LOC_STATE_x.requestAccess timed out\n"); + dev_warn(dev, "TPM_LOC_STATE_x.Relinquish timed out\n"); return -ETIME; } @@ -676,12 +676,16 @@ /* Should the FIFO driver handle this? */ sm = buf->start_method; - if (sm == ACPI_TPM2_MEMORY_MAPPED) - return -ENODEV; + if (sm == ACPI_TPM2_MEMORY_MAPPED) { + rc = -ENODEV; + goto out; + } priv = devm_kzalloc(dev, sizeof(struct crb_priv), GFP_KERNEL); - if (!priv) - return -ENOMEM; + if (!priv) { + rc = -ENOMEM; + goto out; + } if (sm == ACPI_TPM2_COMMAND_BUFFER_WITH_ARM_SMC) { if (buf->header.length < (sizeof(*buf) + sizeof(*crb_smc))) { @@ -689,7 +693,8 @@ FW_BUG "TPM2 ACPI table has wrong size %u for start method type %d\n", buf->header.length, ACPI_TPM2_COMMAND_BUFFER_WITH_ARM_SMC); - return -EINVAL; + rc = -EINVAL; + goto out; } crb_smc = ACPI_ADD_PTR(struct tpm2_crb_smc, buf, sizeof(*buf)); priv->smc_func_id = crb_smc->smc_func_id; @@ -700,17 +705,23 @@ rc = crb_map_io(device, priv, buf); if (rc) - return rc; + goto out; chip = tpmm_chip_alloc(dev, &tpm_crb); - if (IS_ERR(chip)) - return PTR_ERR(chip); + if (IS_ERR(chip)) { + rc = PTR_ERR(chip); + goto out; + } dev_set_drvdata(&chip->dev, priv); chip->acpi_dev_handle = device->handle; chip->flags = TPM_CHIP_FLAG_TPM2; - return tpm_chip_register(chip); + rc = tpm_chip_register(chip); + +out: + acpi_put_table((struct acpi_table_header *)buf); + return rc; } static int crb_acpi_remove(struct acpi_device *device) --- linux-gcp-5.19.0.orig/drivers/char/tpm/tpm_ftpm_tee.c +++ linux-gcp-5.19.0/drivers/char/tpm/tpm_ftpm_tee.c @@ -397,7 +397,13 @@ if (rc) return rc; - return driver_register(&ftpm_tee_driver.driver); + rc = driver_register(&ftpm_tee_driver.driver); + if (rc) { + platform_driver_unregister(&ftpm_tee_plat_driver); + return rc; + } + + return 0; } static void __exit ftpm_mod_exit(void) --- linux-gcp-5.19.0.orig/drivers/char/tpm/tpm_tis.c +++ linux-gcp-5.19.0/drivers/char/tpm/tpm_tis.c @@ -125,6 +125,7 @@ const struct acpi_device_id *aid = acpi_match_device(tpm_acpi_tbl, dev); struct acpi_table_tpm2 *tbl; acpi_status st; + int ret = 0; if (!aid || aid->driver_data != DEVICE_IS_TPM2) return 0; @@ -132,8 +133,7 @@ /* If the ACPI TPM2 signature is matched then a global ACPI_SIG_TPM2 * table is mandatory */ - st = - acpi_get_table(ACPI_SIG_TPM2, 1, (struct acpi_table_header **)&tbl); + st = acpi_get_table(ACPI_SIG_TPM2, 1, (struct acpi_table_header **)&tbl); if (ACPI_FAILURE(st) || tbl->header.length < sizeof(*tbl)) { dev_err(dev, FW_BUG "failed to get TPM2 ACPI table\n"); return -EINVAL; @@ -141,9 +141,10 @@ /* The tpm2_crb driver handles this device */ if (tbl->start_method != ACPI_TPM2_MEMORY_MAPPED) - return -ENODEV; + ret = -ENODEV; - return 0; + acpi_put_table((struct acpi_table_header *)tbl); + return ret; } #else static int check_acpi_tpm2(struct device *dev) --- linux-gcp-5.19.0.orig/drivers/clk/at91/at91rm9200.c +++ linux-gcp-5.19.0/drivers/clk/at91/at91rm9200.c @@ -40,7 +40,7 @@ }; static const struct sck at91rm9200_systemck[] = { - { .n = "udpck", .p = "usbck", .id = 2 }, + { .n = "udpck", .p = "usbck", .id = 1 }, { .n = "uhpck", .p = "usbck", .id = 4 }, { .n = "pck0", .p = "prog0", .id = 8 }, { .n = "pck1", .p = "prog1", .id = 9 }, --- linux-gcp-5.19.0.orig/drivers/clk/baikal-t1/ccu-div.c +++ linux-gcp-5.19.0/drivers/clk/baikal-t1/ccu-div.c @@ -34,6 +34,7 @@ #define CCU_DIV_CTL_CLKDIV_MASK(_width) \ GENMASK((_width) + CCU_DIV_CTL_CLKDIV_FLD - 1, CCU_DIV_CTL_CLKDIV_FLD) #define CCU_DIV_CTL_LOCK_SHIFTED BIT(27) +#define CCU_DIV_CTL_GATE_REF_BUF BIT(28) #define CCU_DIV_CTL_LOCK_NORMAL BIT(31) #define CCU_DIV_RST_DELAY_US 1 @@ -170,6 +171,40 @@ return !!(val & CCU_DIV_CTL_EN); } +static int ccu_div_buf_enable(struct clk_hw *hw) +{ + struct ccu_div *div = to_ccu_div(hw); + unsigned long flags; + + spin_lock_irqsave(&div->lock, flags); + regmap_update_bits(div->sys_regs, div->reg_ctl, + CCU_DIV_CTL_GATE_REF_BUF, 0); + spin_unlock_irqrestore(&div->lock, flags); + + return 0; +} + +static void ccu_div_buf_disable(struct clk_hw *hw) +{ + struct ccu_div *div = to_ccu_div(hw); + unsigned long flags; + + spin_lock_irqsave(&div->lock, flags); + regmap_update_bits(div->sys_regs, div->reg_ctl, + CCU_DIV_CTL_GATE_REF_BUF, CCU_DIV_CTL_GATE_REF_BUF); + spin_unlock_irqrestore(&div->lock, flags); +} + +static int ccu_div_buf_is_enabled(struct clk_hw *hw) +{ + struct ccu_div *div = to_ccu_div(hw); + u32 val = 0; + + regmap_read(div->sys_regs, div->reg_ctl, &val); + + return !(val & CCU_DIV_CTL_GATE_REF_BUF); +} + static unsigned long ccu_div_var_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) { @@ -323,6 +358,7 @@ CCU_DIV_DBGFS_BIT_ATTR("div_en", CCU_DIV_CTL_EN), CCU_DIV_DBGFS_BIT_ATTR("div_rst", CCU_DIV_CTL_RST), CCU_DIV_DBGFS_BIT_ATTR("div_bypass", CCU_DIV_CTL_SET_CLKDIV), + CCU_DIV_DBGFS_BIT_ATTR("div_buf", CCU_DIV_CTL_GATE_REF_BUF), CCU_DIV_DBGFS_BIT_ATTR("div_lock", CCU_DIV_CTL_LOCK_NORMAL) }; @@ -441,6 +477,9 @@ continue; } + if (!strcmp("div_buf", name)) + continue; + bits[didx] = ccu_div_bits[bidx]; bits[didx].div = div; @@ -477,6 +516,21 @@ &ccu_div_dbgfs_fixed_clkdiv_fops); } +static void ccu_div_buf_debug_init(struct clk_hw *hw, struct dentry *dentry) +{ + struct ccu_div *div = to_ccu_div(hw); + struct ccu_div_dbgfs_bit *bit; + + bit = kmalloc(sizeof(*bit), GFP_KERNEL); + if (!bit) + return; + + *bit = ccu_div_bits[3]; + bit->div = div; + debugfs_create_file_unsafe(bit->name, ccu_div_dbgfs_mode, dentry, bit, + &ccu_div_dbgfs_bit_fops); +} + static void ccu_div_fixed_debug_init(struct clk_hw *hw, struct dentry *dentry) { struct ccu_div *div = to_ccu_div(hw); @@ -489,6 +543,7 @@ #define ccu_div_var_debug_init NULL #define ccu_div_gate_debug_init NULL +#define ccu_div_buf_debug_init NULL #define ccu_div_fixed_debug_init NULL #endif /* !CONFIG_DEBUG_FS */ @@ -520,6 +575,13 @@ .debug_init = ccu_div_gate_debug_init }; +static const struct clk_ops ccu_div_buf_ops = { + .enable = ccu_div_buf_enable, + .disable = ccu_div_buf_disable, + .is_enabled = ccu_div_buf_is_enabled, + .debug_init = ccu_div_buf_debug_init +}; + static const struct clk_ops ccu_div_fixed_ops = { .recalc_rate = ccu_div_fixed_recalc_rate, .round_rate = ccu_div_fixed_round_rate, @@ -566,6 +628,8 @@ } else if (div_init->type == CCU_DIV_GATE) { hw_init.ops = &ccu_div_gate_ops; div->divider = div_init->divider; + } else if (div_init->type == CCU_DIV_BUF) { + hw_init.ops = &ccu_div_buf_ops; } else if (div_init->type == CCU_DIV_FIXED) { hw_init.ops = &ccu_div_fixed_ops; div->divider = div_init->divider; @@ -579,6 +643,7 @@ goto err_free_div; } parent_data.fw_name = div_init->parent_name; + parent_data.name = div_init->parent_name; hw_init.parent_data = &parent_data; hw_init.num_parents = 1; --- linux-gcp-5.19.0.orig/drivers/clk/baikal-t1/ccu-div.h +++ linux-gcp-5.19.0/drivers/clk/baikal-t1/ccu-div.h @@ -14,6 +14,14 @@ #include /* + * CCU Divider private clock IDs + * @CCU_SYS_SATA_CLK: CCU SATA internal clock + * @CCU_SYS_XGMAC_CLK: CCU XGMAC internal clock + */ +#define CCU_SYS_SATA_CLK -1 +#define CCU_SYS_XGMAC_CLK -2 + +/* * CCU Divider private flags * @CCU_DIV_SKIP_ONE: Due to some reason divider can't be set to 1. * It can be 0 though, which is functionally the same. @@ -31,11 +39,13 @@ * enum ccu_div_type - CCU Divider types * @CCU_DIV_VAR: Clocks gate with variable divider. * @CCU_DIV_GATE: Clocks gate with fixed divider. + * @CCU_DIV_BUF: Clock gate with no divider. * @CCU_DIV_FIXED: Ungateable clock with fixed divider. */ enum ccu_div_type { CCU_DIV_VAR, CCU_DIV_GATE, + CCU_DIV_BUF, CCU_DIV_FIXED }; --- linux-gcp-5.19.0.orig/drivers/clk/baikal-t1/clk-ccu-div.c +++ linux-gcp-5.19.0/drivers/clk/baikal-t1/clk-ccu-div.c @@ -76,6 +76,16 @@ .divider = _divider \ } +#define CCU_DIV_BUF_INFO(_id, _name, _pname, _base, _flags) \ + { \ + .id = _id, \ + .name = _name, \ + .parent_name = _pname, \ + .base = _base, \ + .type = CCU_DIV_BUF, \ + .flags = _flags \ + } + #define CCU_DIV_FIXED_INFO(_id, _name, _pname, _divider) \ { \ .id = _id, \ @@ -188,11 +198,14 @@ * for the SoC devices registers IO-operations. */ static const struct ccu_div_info sys_info[] = { - CCU_DIV_VAR_INFO(CCU_SYS_SATA_REF_CLK, "sys_sata_ref_clk", + CCU_DIV_VAR_INFO(CCU_SYS_SATA_CLK, "sys_sata_clk", "sata_clk", CCU_SYS_SATA_REF_BASE, 4, CLK_SET_RATE_GATE, CCU_DIV_SKIP_ONE | CCU_DIV_LOCK_SHIFTED | CCU_DIV_RESET_DOMAIN), + CCU_DIV_BUF_INFO(CCU_SYS_SATA_REF_CLK, "sys_sata_ref_clk", + "sys_sata_clk", CCU_SYS_SATA_REF_BASE, + CLK_SET_RATE_PARENT), CCU_DIV_VAR_INFO(CCU_SYS_APB_CLK, "sys_apb_clk", "pcie_clk", CCU_SYS_APB_BASE, 5, CLK_IS_CRITICAL, CCU_DIV_RESET_DOMAIN), @@ -204,10 +217,12 @@ "eth_clk", CCU_SYS_GMAC1_BASE, 5), CCU_DIV_FIXED_INFO(CCU_SYS_GMAC1_PTP_CLK, "sys_gmac1_ptp_clk", "eth_clk", 10), - CCU_DIV_GATE_INFO(CCU_SYS_XGMAC_REF_CLK, "sys_xgmac_ref_clk", - "eth_clk", CCU_SYS_XGMAC_BASE, 8), + CCU_DIV_GATE_INFO(CCU_SYS_XGMAC_CLK, "sys_xgmac_clk", + "eth_clk", CCU_SYS_XGMAC_BASE, 1), + CCU_DIV_FIXED_INFO(CCU_SYS_XGMAC_REF_CLK, "sys_xgmac_ref_clk", + "sys_xgmac_clk", 8), CCU_DIV_FIXED_INFO(CCU_SYS_XGMAC_PTP_CLK, "sys_xgmac_ptp_clk", - "eth_clk", 10), + "sys_xgmac_clk", 8), CCU_DIV_GATE_INFO(CCU_SYS_USB_CLK, "sys_usb_clk", "eth_clk", CCU_SYS_USB_BASE, 10), CCU_DIV_VAR_INFO(CCU_SYS_PVT_CLK, "sys_pvt_clk", @@ -396,6 +411,9 @@ init.base = info->base; init.sys_regs = data->sys_regs; init.divider = info->divider; + } else if (init.type == CCU_DIV_BUF) { + init.base = info->base; + init.sys_regs = data->sys_regs; } else { init.divider = info->divider; } --- linux-gcp-5.19.0.orig/drivers/clk/bcm/clk-bcm2835.c +++ linux-gcp-5.19.0/drivers/clk/bcm/clk-bcm2835.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -502,6 +503,8 @@ bool low_jitter; u32 tcnt_mux; + + bool round_up; }; struct bcm2835_gate_data { @@ -966,9 +969,9 @@ return div; } -static long bcm2835_clock_rate_from_divisor(struct bcm2835_clock *clock, - unsigned long parent_rate, - u32 div) +static unsigned long bcm2835_clock_rate_from_divisor(struct bcm2835_clock *clock, + unsigned long parent_rate, + u32 div) { const struct bcm2835_clock_data *data = clock->data; u64 temp; @@ -993,12 +996,34 @@ return temp; } +static unsigned long bcm2835_round_rate(unsigned long rate) +{ + unsigned long scaler; + unsigned long limit; + + limit = rate / 100000; + + scaler = 1; + while (scaler < limit) + scaler *= 10; + + /* + * If increasing a clock by less than 0.1% changes it + * from ..999.. to ..000.., round up. + */ + if ((rate + scaler - 1) / scaler % 1000 == 0) + rate = roundup(rate, scaler); + + return rate; +} + static unsigned long bcm2835_clock_get_rate(struct clk_hw *hw, unsigned long parent_rate) { struct bcm2835_clock *clock = bcm2835_clock_from_hw(hw); struct bcm2835_cprman *cprman = clock->cprman; const struct bcm2835_clock_data *data = clock->data; + unsigned long rate; u32 div; if (data->int_bits == 0 && data->frac_bits == 0) @@ -1006,7 +1031,12 @@ div = cprman_read(cprman, data->div_reg); - return bcm2835_clock_rate_from_divisor(clock, parent_rate, div); + rate = bcm2835_clock_rate_from_divisor(clock, parent_rate, div); + + if (data->round_up) + rate = bcm2835_round_rate(rate); + + return rate; } static void bcm2835_clock_wait_busy(struct bcm2835_clock *clock) @@ -1784,7 +1814,7 @@ .load_mask = CM_PLLC_LOADPER, .hold_mask = CM_PLLC_HOLDPER, .fixed_divider = 1, - .flags = CLK_SET_RATE_PARENT), + .flags = CLK_IS_CRITICAL | CLK_SET_RATE_PARENT), /* * PLLD is the display PLL, used to drive DSI display panels. @@ -2143,7 +2173,8 @@ .div_reg = CM_UARTDIV, .int_bits = 10, .frac_bits = 12, - .tcnt_mux = 28), + .tcnt_mux = 28, + .round_up = true), /* TV encoder clock. Only operating frequency is 108Mhz. */ [BCM2835_CLOCK_VEC] = REGISTER_PER_CLK( --- linux-gcp-5.19.0.orig/drivers/clk/bcm/clk-iproc-pll.c +++ linux-gcp-5.19.0/drivers/clk/bcm/clk-iproc-pll.c @@ -736,6 +736,7 @@ const char *parent_name; struct iproc_clk *iclk_array; struct clk_hw_onecell_data *clk_data; + const char *clk_name; if (WARN_ON(!pll_ctrl) || WARN_ON(!clk_ctrl)) return; @@ -783,7 +784,12 @@ iclk = &iclk_array[0]; iclk->pll = pll; - init.name = node->name; + ret = of_property_read_string_index(node, "clock-output-names", + 0, &clk_name); + if (WARN_ON(ret)) + goto err_pll_register; + + init.name = clk_name; init.ops = &iproc_pll_ops; init.flags = 0; parent_name = of_clk_get_parent_name(node, 0); @@ -803,13 +809,11 @@ goto err_pll_register; clk_data->hws[0] = &iclk->hw; + parent_name = clk_name; /* now initialize and register all leaf clocks */ for (i = 1; i < num_clks; i++) { - const char *clk_name; - memset(&init, 0, sizeof(init)); - parent_name = node->name; ret = of_property_read_string_index(node, "clock-output-names", i, &clk_name); --- linux-gcp-5.19.0.orig/drivers/clk/bcm/clk-raspberrypi.c +++ linux-gcp-5.19.0/drivers/clk/bcm/clk-raspberrypi.c @@ -203,7 +203,7 @@ ret = raspberrypi_clock_property(rpi->firmware, data, RPI_FIRMWARE_GET_CLOCK_RATE, &val); if (ret) - return ret; + return 0; return val; } @@ -220,7 +220,7 @@ ret = raspberrypi_clock_property(rpi->firmware, data, RPI_FIRMWARE_SET_CLOCK_RATE, &_rate); if (ret) - dev_err_ratelimited(rpi->dev, "Failed to change %s frequency: %d", + dev_err_ratelimited(rpi->dev, "Failed to change %s frequency: %d\n", clk_hw_get_name(hw), ret); return ret; @@ -288,7 +288,7 @@ RPI_FIRMWARE_GET_MIN_CLOCK_RATE, &min_rate); if (ret) { - dev_err(rpi->dev, "Failed to get clock %d min freq: %d", + dev_err(rpi->dev, "Failed to get clock %d min freq: %d\n", id, ret); return ERR_PTR(ret); } @@ -344,8 +344,13 @@ struct rpi_firmware_get_clocks_response *clks; int ret; + /* + * The firmware doesn't guarantee that the last element of + * RPI_FIRMWARE_GET_CLOCKS is zeroed. So allocate an additional + * zero element as sentinel. + */ clks = devm_kcalloc(rpi->dev, - RPI_FIRMWARE_NUM_CLK_ID, sizeof(*clks), + RPI_FIRMWARE_NUM_CLK_ID + 1, sizeof(*clks), GFP_KERNEL); if (!clks) return -ENOMEM; @@ -360,7 +365,7 @@ struct raspberrypi_clk_variant *variant; if (clks->id > RPI_FIRMWARE_NUM_CLK_ID) { - dev_err(rpi->dev, "Unknown clock id: %u", clks->id); + dev_err(rpi->dev, "Unknown clock id: %u\n", clks->id); return -EINVAL; } --- linux-gcp-5.19.0.orig/drivers/clk/berlin/bg2.c +++ linux-gcp-5.19.0/drivers/clk/berlin/bg2.c @@ -500,12 +500,15 @@ int n, ret; clk_data = kzalloc(struct_size(clk_data, hws, MAX_CLKS), GFP_KERNEL); - if (!clk_data) + if (!clk_data) { + of_node_put(parent_np); return; + } clk_data->num = MAX_CLKS; hws = clk_data->hws; gbase = of_iomap(parent_np, 0); + of_node_put(parent_np); if (!gbase) return; --- linux-gcp-5.19.0.orig/drivers/clk/berlin/bg2q.c +++ linux-gcp-5.19.0/drivers/clk/berlin/bg2q.c @@ -286,19 +286,23 @@ int n, ret; clk_data = kzalloc(struct_size(clk_data, hws, MAX_CLKS), GFP_KERNEL); - if (!clk_data) + if (!clk_data) { + of_node_put(parent_np); return; + } clk_data->num = MAX_CLKS; hws = clk_data->hws; gbase = of_iomap(parent_np, 0); if (!gbase) { + of_node_put(parent_np); pr_err("%pOF: Unable to map global base\n", np); return; } /* BG2Q CPU PLL is not part of global registers */ cpupll_base = of_iomap(parent_np, 1); + of_node_put(parent_np); if (!cpupll_base) { pr_err("%pOF: Unable to map cpupll base\n", np); iounmap(gbase); --- linux-gcp-5.19.0.orig/drivers/clk/clk-ast2600.c +++ linux-gcp-5.19.0/drivers/clk/clk-ast2600.c @@ -622,7 +622,7 @@ regmap_write(map, 0x308, 0x12000); /* 3x3 = 9 */ /* P-Bus (BCLK) clock divider */ - hw = clk_hw_register_divider_table(dev, "bclk", "hpll", 0, + hw = clk_hw_register_divider_table(dev, "bclk", "epll", 0, scu_g6_base + ASPEED_G6_CLK_SELECTION1, 20, 3, 0, ast2600_div_table, &aspeed_g6_clk_lock); --- linux-gcp-5.19.0.orig/drivers/clk/clk-devres.c +++ linux-gcp-5.19.0/drivers/clk/clk-devres.c @@ -4,42 +4,101 @@ #include #include +struct devm_clk_state { + struct clk *clk; + void (*exit)(struct clk *clk); +}; + static void devm_clk_release(struct device *dev, void *res) { - clk_put(*(struct clk **)res); + struct devm_clk_state *state = res; + + if (state->exit) + state->exit(state->clk); + + clk_put(state->clk); } -struct clk *devm_clk_get(struct device *dev, const char *id) +static struct clk *__devm_clk_get(struct device *dev, const char *id, + struct clk *(*get)(struct device *dev, const char *id), + int (*init)(struct clk *clk), + void (*exit)(struct clk *clk)) { - struct clk **ptr, *clk; + struct devm_clk_state *state; + struct clk *clk; + int ret; - ptr = devres_alloc(devm_clk_release, sizeof(*ptr), GFP_KERNEL); - if (!ptr) + state = devres_alloc(devm_clk_release, sizeof(*state), GFP_KERNEL); + if (!state) return ERR_PTR(-ENOMEM); - clk = clk_get(dev, id); - if (!IS_ERR(clk)) { - *ptr = clk; - devres_add(dev, ptr); - } else { - devres_free(ptr); + clk = get(dev, id); + if (IS_ERR(clk)) { + ret = PTR_ERR(clk); + goto err_clk_get; } + if (init) { + ret = init(clk); + if (ret) + goto err_clk_init; + } + + state->clk = clk; + state->exit = exit; + + devres_add(dev, state); + return clk; + +err_clk_init: + + clk_put(clk); +err_clk_get: + + devres_free(state); + return ERR_PTR(ret); +} + +struct clk *devm_clk_get(struct device *dev, const char *id) +{ + return __devm_clk_get(dev, id, clk_get, NULL, NULL); } EXPORT_SYMBOL(devm_clk_get); -struct clk *devm_clk_get_optional(struct device *dev, const char *id) +struct clk *devm_clk_get_prepared(struct device *dev, const char *id) { - struct clk *clk = devm_clk_get(dev, id); + return __devm_clk_get(dev, id, clk_get, clk_prepare, clk_unprepare); +} +EXPORT_SYMBOL_GPL(devm_clk_get_prepared); - if (clk == ERR_PTR(-ENOENT)) - return NULL; +struct clk *devm_clk_get_enabled(struct device *dev, const char *id) +{ + return __devm_clk_get(dev, id, clk_get, + clk_prepare_enable, clk_disable_unprepare); +} +EXPORT_SYMBOL_GPL(devm_clk_get_enabled); - return clk; +struct clk *devm_clk_get_optional(struct device *dev, const char *id) +{ + return __devm_clk_get(dev, id, clk_get_optional, NULL, NULL); } EXPORT_SYMBOL(devm_clk_get_optional); +struct clk *devm_clk_get_optional_prepared(struct device *dev, const char *id) +{ + return __devm_clk_get(dev, id, clk_get_optional, + clk_prepare, clk_unprepare); +} +EXPORT_SYMBOL_GPL(devm_clk_get_optional_prepared); + +struct clk *devm_clk_get_optional_enabled(struct device *dev, const char *id) +{ + return __devm_clk_get(dev, id, clk_get_optional, + clk_prepare_enable, clk_disable_unprepare); +} +EXPORT_SYMBOL_GPL(devm_clk_get_optional_enabled); + struct clk_bulk_devres { struct clk_bulk_data *clks; int num_clks; --- linux-gcp-5.19.0.orig/drivers/clk/clk-oxnas.c +++ linux-gcp-5.19.0/drivers/clk/clk-oxnas.c @@ -207,7 +207,7 @@ static int oxnas_stdclk_probe(struct platform_device *pdev) { - struct device_node *np = pdev->dev.of_node; + struct device_node *np = pdev->dev.of_node, *parent_np; const struct oxnas_stdclk_data *data; struct regmap *regmap; int ret; @@ -215,7 +215,9 @@ data = of_device_get_match_data(&pdev->dev); - regmap = syscon_node_to_regmap(of_get_parent(np)); + parent_np = of_get_parent(np); + regmap = syscon_node_to_regmap(parent_np); + of_node_put(parent_np); if (IS_ERR(regmap)) { dev_err(&pdev->dev, "failed to have parent regmap\n"); return PTR_ERR(regmap); --- linux-gcp-5.19.0.orig/drivers/clk/clk-qoriq.c +++ linux-gcp-5.19.0/drivers/clk/clk-qoriq.c @@ -1063,8 +1063,13 @@ */ static void __init legacy_init_clockgen(struct device_node *np) { - if (!clockgen.node) - _clockgen_init(of_get_parent(np), true); + if (!clockgen.node) { + struct device_node *parent_np; + + parent_np = of_get_parent(np); + _clockgen_init(parent_np, true); + of_node_put(parent_np); + } } /* Legacy node */ @@ -1159,6 +1164,7 @@ sysclk = of_get_child_by_name(clockgen.node, "sysclk"); if (sysclk) { clk = sysclk_from_fixed(sysclk, name); + of_node_put(sysclk); if (!IS_ERR(clk)) return clk; } --- linux-gcp-5.19.0.orig/drivers/clk/clk-renesas-pcie.c +++ linux-gcp-5.19.0/drivers/clk/clk-renesas-pcie.c @@ -90,13 +90,66 @@ .n_yes_ranges = ARRAY_SIZE(rs9_writeable_ranges), }; +static int rs9_regmap_i2c_write(void *context, + unsigned int reg, unsigned int val) +{ + struct i2c_client *i2c = context; + const u8 data[3] = { reg, 1, val }; + const int count = ARRAY_SIZE(data); + int ret; + + ret = i2c_master_send(i2c, data, count); + if (ret == count) + return 0; + else if (ret < 0) + return ret; + else + return -EIO; +} + +static int rs9_regmap_i2c_read(void *context, + unsigned int reg, unsigned int *val) +{ + struct i2c_client *i2c = context; + struct i2c_msg xfer[2]; + u8 txdata = reg; + u8 rxdata[2]; + int ret; + + xfer[0].addr = i2c->addr; + xfer[0].flags = 0; + xfer[0].len = 1; + xfer[0].buf = (void *)&txdata; + + xfer[1].addr = i2c->addr; + xfer[1].flags = I2C_M_RD; + xfer[1].len = 2; + xfer[1].buf = (void *)rxdata; + + ret = i2c_transfer(i2c->adapter, xfer, 2); + if (ret < 0) + return ret; + if (ret != 2) + return -EIO; + + /* + * Byte 0 is transfer length, which is always 1 due + * to BCP register programming to 1 in rs9_probe(), + * ignore it and use data from Byte 1. + */ + *val = rxdata[1]; + return 0; +} + static const struct regmap_config rs9_regmap_config = { .reg_bits = 8, .val_bits = 8, - .cache_type = REGCACHE_FLAT, - .max_register = 0x8, + .cache_type = REGCACHE_NONE, + .max_register = RS9_REG_BCP, .rd_table = &rs9_readable_table, .wr_table = &rs9_writeable_table, + .reg_write = rs9_regmap_i2c_write, + .reg_read = rs9_regmap_i2c_read, }; static int rs9_get_output_config(struct rs9_driver_data *rs9, int idx) @@ -242,11 +295,17 @@ return ret; } - rs9->regmap = devm_regmap_init_i2c(client, &rs9_regmap_config); + rs9->regmap = devm_regmap_init(&client->dev, NULL, + client, &rs9_regmap_config); if (IS_ERR(rs9->regmap)) return dev_err_probe(&client->dev, PTR_ERR(rs9->regmap), "Failed to allocate register map\n"); + /* Always read back 1 Byte via I2C */ + ret = regmap_write(rs9->regmap, RS9_REG_BCP, 1); + if (ret < 0) + return ret; + /* Register clock */ for (i = 0; i < rs9->chip_info->num_clks; i++) { snprintf(name, 5, "DIF%d", i); --- linux-gcp-5.19.0.orig/drivers/clk/clk-versaclock5.c +++ linux-gcp-5.19.0/drivers/clk/clk-versaclock5.c @@ -1204,7 +1204,7 @@ .model = IDT_VC6_5P49V6901, .clk_fod_cnt = 4, .clk_out_cnt = 5, - .flags = VC5_HAS_PFD_FREQ_DBL, + .flags = VC5_HAS_PFD_FREQ_DBL | VC5_HAS_BYPASS_SYNC_BIT, }; static const struct vc5_chip_info idt_5p49v6965_info = { --- linux-gcp-5.19.0.orig/drivers/clk/clk.c +++ linux-gcp-5.19.0/drivers/clk/clk.c @@ -840,10 +840,9 @@ if (core->ops->unprepare) core->ops->unprepare(core->hw); - clk_pm_runtime_put(core); - trace_clk_unprepare_complete(core); clk_core_unprepare(core->parent); + clk_pm_runtime_put(core); } static void clk_core_unprepare_lock(struct clk_core *core) --- linux-gcp-5.19.0.orig/drivers/clk/imx/clk-fracn-gppll.c +++ linux-gcp-5.19.0/drivers/clk/imx/clk-fracn-gppll.c @@ -64,10 +64,10 @@ * Fout = Fvco / (rdiv * odiv) */ static const struct imx_fracn_gppll_rate_table fracn_tbl[] = { - PLL_FRACN_GP(650000000U, 81, 0, 0, 0, 3), - PLL_FRACN_GP(594000000U, 198, 0, 0, 0, 8), - PLL_FRACN_GP(560000000U, 70, 0, 0, 0, 3), - PLL_FRACN_GP(400000000U, 50, 0, 0, 0, 3), + PLL_FRACN_GP(650000000U, 81, 0, 1, 0, 3), + PLL_FRACN_GP(594000000U, 198, 0, 1, 0, 8), + PLL_FRACN_GP(560000000U, 70, 0, 1, 0, 3), + PLL_FRACN_GP(400000000U, 50, 0, 1, 0, 3), PLL_FRACN_GP(393216000U, 81, 92, 100, 0, 5) }; @@ -131,18 +131,7 @@ mfi = FIELD_GET(PLL_MFI_MASK, pll_div); rdiv = FIELD_GET(PLL_RDIV_MASK, pll_div); - rdiv = rdiv + 1; odiv = FIELD_GET(PLL_ODIV_MASK, pll_div); - switch (odiv) { - case 0: - odiv = 2; - break; - case 1: - odiv = 3; - break; - default: - break; - } /* * Sometimes, the recalculated rate has deviation due to @@ -160,6 +149,20 @@ if (rate) return (unsigned long)rate; + if (!rdiv) + rdiv = rdiv + 1; + + switch (odiv) { + case 0: + odiv = 2; + break; + case 1: + odiv = 3; + break; + default: + break; + } + /* Fvco = Fref * (MFI + MFN / MFD) */ fvco = fvco * mfi * mfd + fvco * mfn; do_div(fvco, mfd * rdiv * odiv); --- linux-gcp-5.19.0.orig/drivers/clk/imx/clk-imx6sx.c +++ linux-gcp-5.19.0/drivers/clk/imx/clk-imx6sx.c @@ -280,13 +280,13 @@ hws[IMX6SX_CLK_SSI3_SEL] = imx_clk_hw_mux("ssi3_sel", base + 0x1c, 14, 2, ssi_sels, ARRAY_SIZE(ssi_sels)); hws[IMX6SX_CLK_SSI2_SEL] = imx_clk_hw_mux("ssi2_sel", base + 0x1c, 12, 2, ssi_sels, ARRAY_SIZE(ssi_sels)); hws[IMX6SX_CLK_SSI1_SEL] = imx_clk_hw_mux("ssi1_sel", base + 0x1c, 10, 2, ssi_sels, ARRAY_SIZE(ssi_sels)); - hws[IMX6SX_CLK_QSPI1_SEL] = imx_clk_hw_mux_flags("qspi1_sel", base + 0x1c, 7, 3, qspi1_sels, ARRAY_SIZE(qspi1_sels), CLK_SET_RATE_PARENT); + hws[IMX6SX_CLK_QSPI1_SEL] = imx_clk_hw_mux("qspi1_sel", base + 0x1c, 7, 3, qspi1_sels, ARRAY_SIZE(qspi1_sels)); hws[IMX6SX_CLK_PERCLK_SEL] = imx_clk_hw_mux("perclk_sel", base + 0x1c, 6, 1, perclk_sels, ARRAY_SIZE(perclk_sels)); hws[IMX6SX_CLK_VID_SEL] = imx_clk_hw_mux("vid_sel", base + 0x20, 21, 3, vid_sels, ARRAY_SIZE(vid_sels)); hws[IMX6SX_CLK_ESAI_SEL] = imx_clk_hw_mux("esai_sel", base + 0x20, 19, 2, audio_sels, ARRAY_SIZE(audio_sels)); hws[IMX6SX_CLK_CAN_SEL] = imx_clk_hw_mux("can_sel", base + 0x20, 8, 2, can_sels, ARRAY_SIZE(can_sels)); hws[IMX6SX_CLK_UART_SEL] = imx_clk_hw_mux("uart_sel", base + 0x24, 6, 1, uart_sels, ARRAY_SIZE(uart_sels)); - hws[IMX6SX_CLK_QSPI2_SEL] = imx_clk_hw_mux_flags("qspi2_sel", base + 0x2c, 15, 3, qspi2_sels, ARRAY_SIZE(qspi2_sels), CLK_SET_RATE_PARENT); + hws[IMX6SX_CLK_QSPI2_SEL] = imx_clk_hw_mux("qspi2_sel", base + 0x2c, 15, 3, qspi2_sels, ARRAY_SIZE(qspi2_sels)); hws[IMX6SX_CLK_SPDIF_SEL] = imx_clk_hw_mux("spdif_sel", base + 0x30, 20, 2, audio_sels, ARRAY_SIZE(audio_sels)); hws[IMX6SX_CLK_AUDIO_SEL] = imx_clk_hw_mux("audio_sel", base + 0x30, 7, 2, audio_sels, ARRAY_SIZE(audio_sels)); hws[IMX6SX_CLK_ENET_PRE_SEL] = imx_clk_hw_mux("enet_pre_sel", base + 0x34, 15, 3, enet_pre_sels, ARRAY_SIZE(enet_pre_sels)); --- linux-gcp-5.19.0.orig/drivers/clk/imx/clk-imx8mn.c +++ linux-gcp-5.19.0/drivers/clk/imx/clk-imx8mn.c @@ -30,7 +30,7 @@ static const char * const video_pll1_bypass_sels[] = {"video_pll1", "video_pll1_ref_sel", }; static const char * const dram_pll_bypass_sels[] = {"dram_pll", "dram_pll_ref_sel", }; static const char * const gpu_pll_bypass_sels[] = {"gpu_pll", "gpu_pll_ref_sel", }; -static const char * const vpu_pll_bypass_sels[] = {"vpu_pll", "vpu_pll_ref_sel", }; +static const char * const m7_alt_pll_bypass_sels[] = {"m7_alt_pll", "m7_alt_pll_ref_sel", }; static const char * const arm_pll_bypass_sels[] = {"arm_pll", "arm_pll_ref_sel", }; static const char * const sys_pll3_bypass_sels[] = {"sys_pll3", "sys_pll3_ref_sel", }; @@ -40,7 +40,7 @@ static const char * const imx8mn_a53_core_sels[] = {"arm_a53_div", "arm_pll_out", }; -static const char * const imx8mn_m7_sels[] = {"osc_24m", "sys_pll2_200m", "sys_pll2_250m", "vpu_pll_out", +static const char * const imx8mn_m7_sels[] = {"osc_24m", "sys_pll2_200m", "sys_pll2_250m", "m7_alt_pll_out", "sys_pll1_800m", "audio_pll1_out", "video_pll1_out", "sys_pll3_out", }; static const char * const imx8mn_gpu_core_sels[] = {"osc_24m", "gpu_pll_out", "sys_pll1_800m", @@ -108,27 +108,27 @@ "sys_pll3_out", "clk_ext4", }; static const char * const imx8mn_sai2_sels[] = {"osc_24m", "audio_pll1_out", "audio_pll2_out", - "video_pll1_out", "sys_pll1_133m", "osc_hdmi", - "clk_ext3", "clk_ext4", }; + "video_pll1_out", "sys_pll1_133m", "dummy", + "clk_ext2", "clk_ext3", }; static const char * const imx8mn_sai3_sels[] = {"osc_24m", "audio_pll1_out", "audio_pll2_out", - "video_pll1_out", "sys_pll1_133m", "osc_hdmi", + "video_pll1_out", "sys_pll1_133m", "dummy", "clk_ext3", "clk_ext4", }; static const char * const imx8mn_sai5_sels[] = {"osc_24m", "audio_pll1_out", "audio_pll2_out", - "video_pll1_out", "sys_pll1_133m", "osc_hdmi", + "video_pll1_out", "sys_pll1_133m", "dummy", "clk_ext2", "clk_ext3", }; static const char * const imx8mn_sai6_sels[] = {"osc_24m", "audio_pll1_out", "audio_pll2_out", - "video_pll1_out", "sys_pll1_133m", "osc_hdmi", + "video_pll1_out", "sys_pll1_133m", "dummy", "clk_ext3", "clk_ext4", }; static const char * const imx8mn_sai7_sels[] = {"osc_24m", "audio_pll1_out", "audio_pll2_out", - "video_pll1_out", "sys_pll1_133m", "osc_hdmi", + "video_pll1_out", "sys_pll1_133m", "dummy", "clk_ext3", "clk_ext4", }; static const char * const imx8mn_spdif1_sels[] = {"osc_24m", "audio_pll1_out", "audio_pll2_out", - "video_pll1_out", "sys_pll1_133m", "osc_hdmi", + "video_pll1_out", "sys_pll1_133m", "dummy", "clk_ext2", "clk_ext3", }; static const char * const imx8mn_enet_ref_sels[] = {"osc_24m", "sys_pll2_125m", "sys_pll2_50m", @@ -140,8 +140,8 @@ "clk_ext4", "video_pll1_out", }; static const char * const imx8mn_enet_phy_sels[] = {"osc_24m", "sys_pll2_50m", "sys_pll2_125m", - "sys_pll2_200m", "sys_pll2_500m", "video_pll1_out", - "audio_pll2_out", }; + "sys_pll2_200m", "sys_pll2_500m", "audio_pll1_out", + "video_pll_out", "audio_pll2_out", }; static const char * const imx8mn_nand_sels[] = {"osc_24m", "sys_pll2_500m", "audio_pll1_out", "sys_pll1_400m", "audio_pll2_out", "sys_pll3_out", @@ -252,10 +252,10 @@ "audio_pll1_out", "clk_ext1", }; static const char * const imx8mn_wdog_sels[] = {"osc_24m", "sys_pll1_133m", "sys_pll1_160m", - "vpu_pll_out", "sys_pll2_125m", "sys_pll3_out", + "m7_alt_pll_out", "sys_pll2_125m", "sys_pll3_out", "sys_pll1_80m", "sys_pll2_166m", }; -static const char * const imx8mn_wrclk_sels[] = {"osc_24m", "sys_pll1_40m", "vpu_pll_out", +static const char * const imx8mn_wrclk_sels[] = {"osc_24m", "sys_pll1_40m", "m7_alt_pll_out", "sys_pll3_out", "sys_pll2_200m", "sys_pll1_266m", "sys_pll2_500m", "sys_pll1_100m", }; @@ -352,7 +352,7 @@ hws[IMX8MN_VIDEO_PLL1_REF_SEL] = imx_clk_hw_mux("video_pll1_ref_sel", base + 0x28, 0, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels)); hws[IMX8MN_DRAM_PLL_REF_SEL] = imx_clk_hw_mux("dram_pll_ref_sel", base + 0x50, 0, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels)); hws[IMX8MN_GPU_PLL_REF_SEL] = imx_clk_hw_mux("gpu_pll_ref_sel", base + 0x64, 0, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels)); - hws[IMX8MN_VPU_PLL_REF_SEL] = imx_clk_hw_mux("vpu_pll_ref_sel", base + 0x74, 0, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels)); + hws[IMX8MN_M7_ALT_PLL_REF_SEL] = imx_clk_hw_mux("m7_alt_pll_ref_sel", base + 0x74, 0, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels)); hws[IMX8MN_ARM_PLL_REF_SEL] = imx_clk_hw_mux("arm_pll_ref_sel", base + 0x84, 0, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels)); hws[IMX8MN_SYS_PLL3_REF_SEL] = imx_clk_hw_mux("sys_pll3_ref_sel", base + 0x114, 0, 2, pll_ref_sels, ARRAY_SIZE(pll_ref_sels)); @@ -361,7 +361,7 @@ hws[IMX8MN_VIDEO_PLL1] = imx_clk_hw_pll14xx("video_pll1", "video_pll1_ref_sel", base + 0x28, &imx_1443x_pll); hws[IMX8MN_DRAM_PLL] = imx_clk_hw_pll14xx("dram_pll", "dram_pll_ref_sel", base + 0x50, &imx_1443x_dram_pll); hws[IMX8MN_GPU_PLL] = imx_clk_hw_pll14xx("gpu_pll", "gpu_pll_ref_sel", base + 0x64, &imx_1416x_pll); - hws[IMX8MN_VPU_PLL] = imx_clk_hw_pll14xx("vpu_pll", "vpu_pll_ref_sel", base + 0x74, &imx_1416x_pll); + hws[IMX8MN_M7_ALT_PLL] = imx_clk_hw_pll14xx("m7_alt_pll", "m7_alt_pll_ref_sel", base + 0x74, &imx_1416x_pll); hws[IMX8MN_ARM_PLL] = imx_clk_hw_pll14xx("arm_pll", "arm_pll_ref_sel", base + 0x84, &imx_1416x_pll); hws[IMX8MN_SYS_PLL1] = imx_clk_hw_fixed("sys_pll1", 800000000); hws[IMX8MN_SYS_PLL2] = imx_clk_hw_fixed("sys_pll2", 1000000000); @@ -373,7 +373,7 @@ hws[IMX8MN_VIDEO_PLL1_BYPASS] = imx_clk_hw_mux_flags("video_pll1_bypass", base + 0x28, 16, 1, video_pll1_bypass_sels, ARRAY_SIZE(video_pll1_bypass_sels), CLK_SET_RATE_PARENT); hws[IMX8MN_DRAM_PLL_BYPASS] = imx_clk_hw_mux_flags("dram_pll_bypass", base + 0x50, 16, 1, dram_pll_bypass_sels, ARRAY_SIZE(dram_pll_bypass_sels), CLK_SET_RATE_PARENT); hws[IMX8MN_GPU_PLL_BYPASS] = imx_clk_hw_mux_flags("gpu_pll_bypass", base + 0x64, 28, 1, gpu_pll_bypass_sels, ARRAY_SIZE(gpu_pll_bypass_sels), CLK_SET_RATE_PARENT); - hws[IMX8MN_VPU_PLL_BYPASS] = imx_clk_hw_mux_flags("vpu_pll_bypass", base + 0x74, 28, 1, vpu_pll_bypass_sels, ARRAY_SIZE(vpu_pll_bypass_sels), CLK_SET_RATE_PARENT); + hws[IMX8MN_M7_ALT_PLL_BYPASS] = imx_clk_hw_mux_flags("m7_alt_pll_bypass", base + 0x74, 28, 1, m7_alt_pll_bypass_sels, ARRAY_SIZE(m7_alt_pll_bypass_sels), CLK_SET_RATE_PARENT); hws[IMX8MN_ARM_PLL_BYPASS] = imx_clk_hw_mux_flags("arm_pll_bypass", base + 0x84, 28, 1, arm_pll_bypass_sels, ARRAY_SIZE(arm_pll_bypass_sels), CLK_SET_RATE_PARENT); hws[IMX8MN_SYS_PLL3_BYPASS] = imx_clk_hw_mux_flags("sys_pll3_bypass", base + 0x114, 28, 1, sys_pll3_bypass_sels, ARRAY_SIZE(sys_pll3_bypass_sels), CLK_SET_RATE_PARENT); @@ -383,7 +383,7 @@ hws[IMX8MN_VIDEO_PLL1_OUT] = imx_clk_hw_gate("video_pll1_out", "video_pll1_bypass", base + 0x28, 13); hws[IMX8MN_DRAM_PLL_OUT] = imx_clk_hw_gate("dram_pll_out", "dram_pll_bypass", base + 0x50, 13); hws[IMX8MN_GPU_PLL_OUT] = imx_clk_hw_gate("gpu_pll_out", "gpu_pll_bypass", base + 0x64, 11); - hws[IMX8MN_VPU_PLL_OUT] = imx_clk_hw_gate("vpu_pll_out", "vpu_pll_bypass", base + 0x74, 11); + hws[IMX8MN_M7_ALT_PLL_OUT] = imx_clk_hw_gate("m7_alt_pll_out", "m7_alt_pll_bypass", base + 0x74, 11); hws[IMX8MN_ARM_PLL_OUT] = imx_clk_hw_gate("arm_pll_out", "arm_pll_bypass", base + 0x84, 11); hws[IMX8MN_SYS_PLL3_OUT] = imx_clk_hw_gate("sys_pll3_out", "sys_pll3_bypass", base + 0x114, 11); --- linux-gcp-5.19.0.orig/drivers/clk/imx/clk-imx8mp.c +++ linux-gcp-5.19.0/drivers/clk/imx/clk-imx8mp.c @@ -17,6 +17,7 @@ static u32 share_count_nand; static u32 share_count_media; +static u32 share_count_usb; static const char * const pll_ref_sels[] = { "osc_24m", "dummy", "dummy", "dummy", }; static const char * const audio_pll1_bypass_sels[] = {"audio_pll1", "audio_pll1_ref_sel", }; @@ -665,15 +666,16 @@ hws[IMX8MP_CLK_CAN1_ROOT] = imx_clk_hw_gate2("can1_root_clk", "can1", ccm_base + 0x4350, 0); hws[IMX8MP_CLK_CAN2_ROOT] = imx_clk_hw_gate2("can2_root_clk", "can2", ccm_base + 0x4360, 0); hws[IMX8MP_CLK_SDMA1_ROOT] = imx_clk_hw_gate4("sdma1_root_clk", "ipg_root", ccm_base + 0x43a0, 0); - hws[IMX8MP_CLK_ENET_QOS_ROOT] = imx_clk_hw_gate4("enet_qos_root_clk", "sim_enet_root_clk", ccm_base + 0x43b0, 0); hws[IMX8MP_CLK_SIM_ENET_ROOT] = imx_clk_hw_gate4("sim_enet_root_clk", "enet_axi", ccm_base + 0x4400, 0); + hws[IMX8MP_CLK_ENET_QOS_ROOT] = imx_clk_hw_gate4("enet_qos_root_clk", "sim_enet_root_clk", ccm_base + 0x43b0, 0); hws[IMX8MP_CLK_GPU2D_ROOT] = imx_clk_hw_gate4("gpu2d_root_clk", "gpu2d_core", ccm_base + 0x4450, 0); hws[IMX8MP_CLK_GPU3D_ROOT] = imx_clk_hw_gate4("gpu3d_root_clk", "gpu3d_core", ccm_base + 0x4460, 0); hws[IMX8MP_CLK_UART1_ROOT] = imx_clk_hw_gate4("uart1_root_clk", "uart1", ccm_base + 0x4490, 0); hws[IMX8MP_CLK_UART2_ROOT] = imx_clk_hw_gate4("uart2_root_clk", "uart2", ccm_base + 0x44a0, 0); hws[IMX8MP_CLK_UART3_ROOT] = imx_clk_hw_gate4("uart3_root_clk", "uart3", ccm_base + 0x44b0, 0); hws[IMX8MP_CLK_UART4_ROOT] = imx_clk_hw_gate4("uart4_root_clk", "uart4", ccm_base + 0x44c0, 0); - hws[IMX8MP_CLK_USB_ROOT] = imx_clk_hw_gate4("usb_root_clk", "hsio_axi", ccm_base + 0x44d0, 0); + hws[IMX8MP_CLK_USB_ROOT] = imx_clk_hw_gate2_shared2("usb_root_clk", "hsio_axi", ccm_base + 0x44d0, 0, &share_count_usb); + hws[IMX8MP_CLK_USB_SUSP] = imx_clk_hw_gate2_shared2("usb_suspend_clk", "osc_32k", ccm_base + 0x44d0, 0, &share_count_usb); hws[IMX8MP_CLK_USB_PHY_ROOT] = imx_clk_hw_gate4("usb_phy_root_clk", "usb_phy_ref", ccm_base + 0x44f0, 0); hws[IMX8MP_CLK_USDHC1_ROOT] = imx_clk_hw_gate4("usdhc1_root_clk", "usdhc1", ccm_base + 0x4510, 0); hws[IMX8MP_CLK_USDHC2_ROOT] = imx_clk_hw_gate4("usdhc2_root_clk", "usdhc2", ccm_base + 0x4520, 0); --- linux-gcp-5.19.0.orig/drivers/clk/imx/clk-imx93.c +++ linux-gcp-5.19.0/drivers/clk/imx/clk-imx93.c @@ -150,7 +150,7 @@ { IMX93_CLK_A55_GATE, "a55", "a55_root", 0x8000, }, /* M33 critical clk for system run */ { IMX93_CLK_CM33_GATE, "cm33", "m33_root", 0x8040, CLK_IS_CRITICAL }, - { IMX93_CLK_ADC1_GATE, "adc1", "osc_24m", 0x82c0, }, + { IMX93_CLK_ADC1_GATE, "adc1", "adc_root", 0x82c0, }, { IMX93_CLK_WDOG1_GATE, "wdog1", "osc_24m", 0x8300, }, { IMX93_CLK_WDOG2_GATE, "wdog2", "osc_24m", 0x8340, }, { IMX93_CLK_WDOG3_GATE, "wdog3", "osc_24m", 0x8380, }, @@ -160,9 +160,9 @@ { IMX93_CLK_SEMA2_GATE, "sema2", "bus_wakeup_root", 0x8480, }, { IMX93_CLK_MU_A_GATE, "mu_a", "bus_aon_root", 0x84c0, }, { IMX93_CLK_MU_B_GATE, "mu_b", "bus_aon_root", 0x8500, }, - { IMX93_CLK_EDMA1_GATE, "edma1", "wakeup_axi_root", 0x8540, }, + { IMX93_CLK_EDMA1_GATE, "edma1", "m33_root", 0x8540, }, { IMX93_CLK_EDMA2_GATE, "edma2", "wakeup_axi_root", 0x8580, }, - { IMX93_CLK_FLEXSPI1_GATE, "flexspi", "flexspi_root", 0x8640, }, + { IMX93_CLK_FLEXSPI1_GATE, "flexspi1", "flexspi1_root", 0x8640, }, { IMX93_CLK_GPIO1_GATE, "gpio1", "m33_root", 0x8880, }, { IMX93_CLK_GPIO2_GATE, "gpio2", "bus_wakeup_root", 0x88c0, }, { IMX93_CLK_GPIO3_GATE, "gpio3", "bus_wakeup_root", 0x8900, }, @@ -219,7 +219,7 @@ { IMX93_CLK_LCDIF_GATE, "lcdif", "media_apb_root", 0x9640, }, { IMX93_CLK_PXP_GATE, "pxp", "media_apb_root", 0x9680, }, { IMX93_CLK_ISI_GATE, "isi", "media_apb_root", 0x96c0, }, - { IMX93_CLK_NIC_MEDIA_GATE, "nic_media", "media_apb_root", 0x9700, }, + { IMX93_CLK_NIC_MEDIA_GATE, "nic_media", "media_axi_root", 0x9700, }, { IMX93_CLK_USB_CONTROLLER_GATE, "usb_controller", "hsio_root", 0x9a00, }, { IMX93_CLK_USB_TEST_60M_GATE, "usb_test_60m", "hsio_usb_test_60m_root", 0x9a40, }, { IMX93_CLK_HSIO_TROUT_24M_GATE, "hsio_trout_24m", "osc_24m", 0x9a80, }, @@ -229,7 +229,7 @@ { IMX93_CLK_AUD_XCVR_GATE, "aud_xcvr", "audio_xcvr_root", 0x9b80, }, { IMX93_CLK_SPDIF_GATE, "spdif", "spdif_root", 0x9c00, }, { IMX93_CLK_HSIO_32K_GATE, "hsio_32k", "osc_32k", 0x9dc0, }, - { IMX93_CLK_ENET1_GATE, "enet1", "enet_root", 0x9e00, }, + { IMX93_CLK_ENET1_GATE, "enet1", "wakeup_axi_root", 0x9e00, }, { IMX93_CLK_ENET_QOS_GATE, "enet_qos", "wakeup_axi_root", 0x9e40, }, { IMX93_CLK_SYS_CNT_GATE, "sys_cnt", "osc_24m", 0x9e80, }, { IMX93_CLK_TSTMR1_GATE, "tstmr1", "bus_aon_root", 0x9ec0, }, @@ -247,7 +247,7 @@ struct device_node *np = dev->of_node; const struct imx93_clk_root *root; const struct imx93_clk_ccgr *ccgr; - void __iomem *base = NULL; + void __iomem *base, *anatop_base; int i, ret; clk_hw_data = kzalloc(struct_size(clk_hw_data, hws, @@ -274,20 +274,22 @@ "sys_pll_pfd2", 1, 2); np = of_find_compatible_node(NULL, NULL, "fsl,imx93-anatop"); - base = of_iomap(np, 0); + anatop_base = of_iomap(np, 0); of_node_put(np); - if (WARN_ON(!base)) + if (WARN_ON(!anatop_base)) return -ENOMEM; - clks[IMX93_CLK_AUDIO_PLL] = imx_clk_fracn_gppll("audio_pll", "osc_24m", base + 0x1200, + clks[IMX93_CLK_AUDIO_PLL] = imx_clk_fracn_gppll("audio_pll", "osc_24m", anatop_base + 0x1200, &imx_fracn_gppll); - clks[IMX93_CLK_VIDEO_PLL] = imx_clk_fracn_gppll("video_pll", "osc_24m", base + 0x1400, + clks[IMX93_CLK_VIDEO_PLL] = imx_clk_fracn_gppll("video_pll", "osc_24m", anatop_base + 0x1400, &imx_fracn_gppll); np = dev->of_node; base = devm_platform_ioremap_resource(pdev, 0); - if (WARN_ON(IS_ERR(base))) + if (WARN_ON(IS_ERR(base))) { + iounmap(anatop_base); return PTR_ERR(base); + } for (i = 0; i < ARRAY_SIZE(root_array); i++) { root = &root_array[i]; @@ -317,6 +319,7 @@ unregister_hws: imx_unregister_hw_clocks(clks, IMX93_CLK_END); + iounmap(anatop_base); return ret; } @@ -332,7 +335,7 @@ .driver = { .name = "imx93-ccm", .suppress_bind_attrs = true, - .of_match_table = of_match_ptr(imx93_clk_of_match), + .of_match_table = imx93_clk_of_match, }, }; module_platform_driver(imx93_clk_driver); --- linux-gcp-5.19.0.orig/drivers/clk/imx/clk-imxrt1050.c +++ linux-gcp-5.19.0/drivers/clk/imx/clk-imxrt1050.c @@ -140,7 +140,7 @@ hws[IMXRT1050_CLK_USDHC1] = imx_clk_hw_gate2("usdhc1", "usdhc1_podf", ccm_base + 0x80, 2); hws[IMXRT1050_CLK_USDHC2] = imx_clk_hw_gate2("usdhc2", "usdhc2_podf", ccm_base + 0x80, 4); hws[IMXRT1050_CLK_LPUART1] = imx_clk_hw_gate2("lpuart1", "lpuart_podf", ccm_base + 0x7c, 24); - hws[IMXRT1050_CLK_LCDIF_APB] = imx_clk_hw_gate2("lcdif", "lcdif_podf", ccm_base + 0x74, 10); + hws[IMXRT1050_CLK_LCDIF_APB] = imx_clk_hw_gate2("lcdif", "lcdif_podf", ccm_base + 0x70, 28); hws[IMXRT1050_CLK_DMA] = imx_clk_hw_gate("dma", "ipg", ccm_base + 0x7C, 6); hws[IMXRT1050_CLK_DMA_MUX] = imx_clk_hw_gate("dmamux0", "ipg", ccm_base + 0x7C, 7); imx_check_clk_hws(hws, IMXRT1050_CLK_END); --- linux-gcp-5.19.0.orig/drivers/clk/imx/clk-scu.c +++ linux-gcp-5.19.0/drivers/clk/imx/clk-scu.c @@ -695,7 +695,11 @@ pr_warn("%s: failed to attached the power domain %d\n", name, ret); - platform_device_add(pdev); + ret = platform_device_add(pdev); + if (ret) { + platform_device_put(pdev); + return ERR_PTR(ret); + } /* For API backwards compatiblilty, simply return NULL for success */ return NULL; --- linux-gcp-5.19.0.orig/drivers/clk/ingenic/jz4760-cgu.c +++ linux-gcp-5.19.0/drivers/clk/ingenic/jz4760-cgu.c @@ -58,7 +58,7 @@ unsigned long rate, unsigned long parent_rate, unsigned int *pm, unsigned int *pn, unsigned int *pod) { - unsigned int m, n, od, m_max = (1 << pll_info->m_bits) - 2; + unsigned int m, n, od, m_max = (1 << pll_info->m_bits) - 1; /* The frequency after the N divider must be between 1 and 50 MHz. */ n = parent_rate / (1 * MHZ); @@ -66,19 +66,17 @@ /* The N divider must be >= 2. */ n = clamp_val(n, 2, 1 << pll_info->n_bits); - for (;; n >>= 1) { - od = (unsigned int)-1; + rate /= MHZ; + parent_rate /= MHZ; - do { - m = (rate / MHZ) * (1 << ++od) * n / (parent_rate / MHZ); - } while ((m > m_max || m & 1) && (od < 4)); - - if (od < 4 && m >= 4 && m <= m_max) - break; + for (m = m_max; m >= m_max && n >= 2; n--) { + m = rate * n / parent_rate; + od = m & 1; + m <<= od; } *pm = m; - *pn = n; + *pn = n + 1; *pod = 1 << od; } --- linux-gcp-5.19.0.orig/drivers/clk/ingenic/tcu.c +++ linux-gcp-5.19.0/drivers/clk/ingenic/tcu.c @@ -101,15 +101,11 @@ bool enabled = false; /* - * If the SoC has no global TCU clock, we must ungate the channel's - * clock to be able to access its registers. - * If we have a TCU clock, it will be enabled automatically as it has - * been attached to the regmap. + * According to the programming manual, a timer channel's registers can + * only be accessed when the channel's stop bit is clear. */ - if (!tcu->clk) { - enabled = !!ingenic_tcu_is_enabled(hw); - regmap_write(tcu->map, TCU_REG_TSCR, BIT(info->gate_bit)); - } + enabled = !!ingenic_tcu_is_enabled(hw); + regmap_write(tcu->map, TCU_REG_TSCR, BIT(info->gate_bit)); return enabled; } @@ -120,8 +116,7 @@ const struct ingenic_tcu_clk_info *info = tcu_clk->info; struct ingenic_tcu *tcu = tcu_clk->tcu; - if (!tcu->clk) - regmap_write(tcu->map, TCU_REG_TSSR, BIT(info->gate_bit)); + regmap_write(tcu->map, TCU_REG_TSSR, BIT(info->gate_bit)); } static u8 ingenic_tcu_get_parent(struct clk_hw *hw) --- linux-gcp-5.19.0.orig/drivers/clk/mediatek/clk-mt7986-infracfg.c +++ linux-gcp-5.19.0/drivers/clk/mediatek/clk-mt7986-infracfg.c @@ -153,7 +153,7 @@ 18), GATE_INFRA1(CLK_INFRA_MSDC_66M_CK, "infra_msdc_66m", "infra_sysaxi_d2", 19), - GATE_INFRA1(CLK_INFRA_ADC_26M_CK, "infra_adc_26m", "csw_f26m_sel", 20), + GATE_INFRA1(CLK_INFRA_ADC_26M_CK, "infra_adc_26m", "infra_adc_frc", 20), GATE_INFRA1(CLK_INFRA_ADC_FRC_CK, "infra_adc_frc", "csw_f26m_sel", 21), GATE_INFRA1(CLK_INFRA_FBIST2FPC_CK, "infra_fbist2fpc", "nfi1x_sel", 23), /* INFRA2 */ --- linux-gcp-5.19.0.orig/drivers/clk/mediatek/clk-mt8183-mfgcfg.c +++ linux-gcp-5.19.0/drivers/clk/mediatek/clk-mt8183-mfgcfg.c @@ -18,9 +18,9 @@ .sta_ofs = 0x0, }; -#define GATE_MFG(_id, _name, _parent, _shift) \ - GATE_MTK(_id, _name, _parent, &mfg_cg_regs, _shift, \ - &mtk_clk_gate_ops_setclr) +#define GATE_MFG(_id, _name, _parent, _shift) \ + GATE_MTK_FLAGS(_id, _name, _parent, &mfg_cg_regs, _shift, \ + &mtk_clk_gate_ops_setclr, CLK_SET_RATE_PARENT) static const struct mtk_gate mfg_clks[] = { GATE_MFG(CLK_MFG_BG3D, "mfg_bg3d", "mfg_sel", 0) --- linux-gcp-5.19.0.orig/drivers/clk/mediatek/clk-mt8195-infra_ao.c +++ linux-gcp-5.19.0/drivers/clk/mediatek/clk-mt8195-infra_ao.c @@ -54,8 +54,12 @@ #define GATE_INFRA_AO1(_id, _name, _parent, _shift) \ GATE_INFRA_AO1_FLAGS(_id, _name, _parent, _shift, 0) +#define GATE_INFRA_AO2_FLAGS(_id, _name, _parent, _shift, _flag) \ + GATE_MTK_FLAGS(_id, _name, _parent, &infra_ao2_cg_regs, _shift, \ + &mtk_clk_gate_ops_setclr, _flag) + #define GATE_INFRA_AO2(_id, _name, _parent, _shift) \ - GATE_MTK(_id, _name, _parent, &infra_ao2_cg_regs, _shift, &mtk_clk_gate_ops_setclr) + GATE_INFRA_AO2_FLAGS(_id, _name, _parent, _shift, 0) #define GATE_INFRA_AO3_FLAGS(_id, _name, _parent, _shift, _flag) \ GATE_MTK_FLAGS(_id, _name, _parent, &infra_ao3_cg_regs, _shift, \ @@ -135,8 +139,11 @@ GATE_INFRA_AO2(CLK_INFRA_AO_UNIPRO_SYS, "infra_ao_unipro_sys", "top_ufs", 11), GATE_INFRA_AO2(CLK_INFRA_AO_UNIPRO_TICK, "infra_ao_unipro_tick", "top_ufs_tick1us", 12), GATE_INFRA_AO2(CLK_INFRA_AO_UFS_MP_SAP_B, "infra_ao_ufs_mp_sap_b", "top_ufs_mp_sap_cfg", 13), - GATE_INFRA_AO2(CLK_INFRA_AO_PWRMCU, "infra_ao_pwrmcu", "top_pwrmcu", 15), - GATE_INFRA_AO2(CLK_INFRA_AO_PWRMCU_BUS_H, "infra_ao_pwrmcu_bus_h", "top_axi", 17), + /* pwrmcu is used by ATF for platform PM: clocks must never be disabled by the kernel */ + GATE_INFRA_AO2_FLAGS(CLK_INFRA_AO_PWRMCU, "infra_ao_pwrmcu", "top_pwrmcu", 15, + CLK_IS_CRITICAL), + GATE_INFRA_AO2_FLAGS(CLK_INFRA_AO_PWRMCU_BUS_H, "infra_ao_pwrmcu_bus_h", "top_axi", 17, + CLK_IS_CRITICAL), GATE_INFRA_AO2(CLK_INFRA_AO_APDMA_B, "infra_ao_apdma_b", "top_axi", 18), GATE_INFRA_AO2(CLK_INFRA_AO_SPI4, "infra_ao_spi4", "top_spi", 25), GATE_INFRA_AO2(CLK_INFRA_AO_SPI5, "infra_ao_spi5", "top_spi", 26), --- linux-gcp-5.19.0.orig/drivers/clk/mediatek/clk-mt8195-mfg.c +++ linux-gcp-5.19.0/drivers/clk/mediatek/clk-mt8195-mfg.c @@ -17,10 +17,12 @@ }; #define GATE_MFG(_id, _name, _parent, _shift) \ - GATE_MTK(_id, _name, _parent, &mfg_cg_regs, _shift, &mtk_clk_gate_ops_setclr) + GATE_MTK_FLAGS(_id, _name, _parent, &mfg_cg_regs, \ + _shift, &mtk_clk_gate_ops_setclr, \ + CLK_SET_RATE_PARENT) static const struct mtk_gate mfg_clks[] = { - GATE_MFG(CLK_MFG_BG3D, "mfg_bg3d", "top_mfg_core_tmp", 0), + GATE_MFG(CLK_MFG_BG3D, "mfg_bg3d", "mfg_ck_fast_ref", 0), }; static const struct mtk_clk_desc mfg_desc = { --- linux-gcp-5.19.0.orig/drivers/clk/mediatek/clk-mt8195-vdo0.c +++ linux-gcp-5.19.0/drivers/clk/mediatek/clk-mt8195-vdo0.c @@ -37,6 +37,10 @@ #define GATE_VDO0_2(_id, _name, _parent, _shift) \ GATE_MTK(_id, _name, _parent, &vdo0_2_cg_regs, _shift, &mtk_clk_gate_ops_setclr) +#define GATE_VDO0_2_FLAGS(_id, _name, _parent, _shift, _flags) \ + GATE_MTK_FLAGS(_id, _name, _parent, &vdo0_2_cg_regs, _shift, \ + &mtk_clk_gate_ops_setclr, _flags) + static const struct mtk_gate vdo0_clks[] = { /* VDO0_0 */ GATE_VDO0_0(CLK_VDO0_DISP_OVL0, "vdo0_disp_ovl0", "top_vpp", 0), @@ -85,7 +89,8 @@ /* VDO0_2 */ GATE_VDO0_2(CLK_VDO0_DSI0_DSI, "vdo0_dsi0_dsi", "top_dsi_occ", 0), GATE_VDO0_2(CLK_VDO0_DSI1_DSI, "vdo0_dsi1_dsi", "top_dsi_occ", 8), - GATE_VDO0_2(CLK_VDO0_DP_INTF0_DP_INTF, "vdo0_dp_intf0_dp_intf", "top_edp", 16), + GATE_VDO0_2_FLAGS(CLK_VDO0_DP_INTF0_DP_INTF, "vdo0_dp_intf0_dp_intf", + "top_edp", 16, CLK_SET_RATE_PARENT), }; static int clk_mt8195_vdo0_probe(struct platform_device *pdev) --- linux-gcp-5.19.0.orig/drivers/clk/mediatek/clk-mt8195-vdo1.c +++ linux-gcp-5.19.0/drivers/clk/mediatek/clk-mt8195-vdo1.c @@ -43,6 +43,10 @@ #define GATE_VDO1_2(_id, _name, _parent, _shift) \ GATE_MTK(_id, _name, _parent, &vdo1_2_cg_regs, _shift, &mtk_clk_gate_ops_setclr) +#define GATE_VDO1_2_FLAGS(_id, _name, _parent, _shift, _flags) \ + GATE_MTK_FLAGS(_id, _name, _parent, &vdo1_2_cg_regs, _shift, \ + &mtk_clk_gate_ops_setclr, _flags) + #define GATE_VDO1_3(_id, _name, _parent, _shift) \ GATE_MTK(_id, _name, _parent, &vdo1_3_cg_regs, _shift, &mtk_clk_gate_ops_setclr) @@ -99,7 +103,7 @@ GATE_VDO1_2(CLK_VDO1_DISP_MONITOR_DPI0, "vdo1_disp_monitor_dpi0", "top_vpp", 1), GATE_VDO1_2(CLK_VDO1_DPI1, "vdo1_dpi1", "top_vpp", 8), GATE_VDO1_2(CLK_VDO1_DISP_MONITOR_DPI1, "vdo1_disp_monitor_dpi1", "top_vpp", 9), - GATE_VDO1_2(CLK_VDO1_DPINTF, "vdo1_dpintf", "top_vpp", 16), + GATE_VDO1_2_FLAGS(CLK_VDO1_DPINTF, "vdo1_dpintf", "top_dp", 16, CLK_SET_RATE_PARENT), GATE_VDO1_2(CLK_VDO1_DISP_MONITOR_DPINTF, "vdo1_disp_monitor_dpintf", "top_vpp", 17), /* VDO1_3 */ GATE_VDO1_3(CLK_VDO1_26M_SLOW, "vdo1_26m_slow", "clk26m", 8), --- linux-gcp-5.19.0.orig/drivers/clk/mediatek/clk-mtk.c +++ linux-gcp-5.19.0/drivers/clk/mediatek/clk-mtk.c @@ -80,7 +80,7 @@ if (IS_ERR_OR_NULL(clk_data->hws[rc->id])) continue; - clk_unregister_fixed_rate(clk_data->hws[rc->id]->clk); + clk_hw_unregister_fixed_rate(clk_data->hws[rc->id]); clk_data->hws[rc->id] = ERR_PTR(-ENOENT); } @@ -102,7 +102,7 @@ if (IS_ERR_OR_NULL(clk_data->hws[rc->id])) continue; - clk_unregister_fixed_rate(clk_data->hws[rc->id]->clk); + clk_hw_unregister_fixed_rate(clk_data->hws[rc->id]); clk_data->hws[rc->id] = ERR_PTR(-ENOENT); } } @@ -146,7 +146,7 @@ if (IS_ERR_OR_NULL(clk_data->hws[ff->id])) continue; - clk_unregister_fixed_factor(clk_data->hws[ff->id]->clk); + clk_hw_unregister_fixed_factor(clk_data->hws[ff->id]); clk_data->hws[ff->id] = ERR_PTR(-ENOENT); } @@ -168,7 +168,7 @@ if (IS_ERR_OR_NULL(clk_data->hws[ff->id])) continue; - clk_unregister_fixed_factor(clk_data->hws[ff->id]->clk); + clk_hw_unregister_fixed_factor(clk_data->hws[ff->id]); clk_data->hws[ff->id] = ERR_PTR(-ENOENT); } } @@ -393,7 +393,7 @@ if (IS_ERR_OR_NULL(clk_data->hws[mcd->id])) continue; - mtk_clk_unregister_composite(clk_data->hws[mcd->id]); + clk_hw_unregister_divider(clk_data->hws[mcd->id]); clk_data->hws[mcd->id] = ERR_PTR(-ENOENT); } @@ -414,7 +414,7 @@ if (IS_ERR_OR_NULL(clk_data->hws[mcd->id])) continue; - clk_unregister_divider(clk_data->hws[mcd->id]->clk); + clk_hw_unregister_divider(clk_data->hws[mcd->id]); clk_data->hws[mcd->id] = ERR_PTR(-ENOENT); } } --- linux-gcp-5.19.0.orig/drivers/clk/mediatek/reset.c +++ linux-gcp-5.19.0/drivers/clk/mediatek/reset.c @@ -25,7 +25,7 @@ struct mtk_reset *data = container_of(rcdev, struct mtk_reset, rcdev); unsigned int reg = data->regofs + ((id / 32) << 4); - return regmap_write(data->regmap, reg, 1); + return regmap_write(data->regmap, reg, BIT(id % 32)); } static int mtk_reset_deassert_set_clr(struct reset_controller_dev *rcdev, @@ -34,7 +34,7 @@ struct mtk_reset *data = container_of(rcdev, struct mtk_reset, rcdev); unsigned int reg = data->regofs + ((id / 32) << 4) + 0x4; - return regmap_write(data->regmap, reg, 1); + return regmap_write(data->regmap, reg, BIT(id % 32)); } static int mtk_reset_assert(struct reset_controller_dev *rcdev, --- linux-gcp-5.19.0.orig/drivers/clk/meson/meson-aoclk.c +++ linux-gcp-5.19.0/drivers/clk/meson/meson-aoclk.c @@ -38,6 +38,7 @@ struct meson_aoclk_reset_controller *rstc; struct meson_aoclk_data *data; struct device *dev = &pdev->dev; + struct device_node *np; struct regmap *regmap; int ret, clkid; @@ -49,7 +50,9 @@ if (!rstc) return -ENOMEM; - regmap = syscon_node_to_regmap(of_get_parent(dev->of_node)); + np = of_get_parent(dev->of_node); + regmap = syscon_node_to_regmap(np); + of_node_put(np); if (IS_ERR(regmap)) { dev_err(dev, "failed to get regmap\n"); return PTR_ERR(regmap); --- linux-gcp-5.19.0.orig/drivers/clk/meson/meson-eeclk.c +++ linux-gcp-5.19.0/drivers/clk/meson/meson-eeclk.c @@ -18,6 +18,7 @@ { const struct meson_eeclkc_data *data; struct device *dev = &pdev->dev; + struct device_node *np; struct regmap *map; int ret, i; @@ -26,7 +27,9 @@ return -EINVAL; /* Get the hhi system controller node */ - map = syscon_node_to_regmap(of_get_parent(dev->of_node)); + np = of_get_parent(dev->of_node); + map = syscon_node_to_regmap(np); + of_node_put(np); if (IS_ERR(map)) { dev_err(dev, "failed to get HHI regmap\n"); --- linux-gcp-5.19.0.orig/drivers/clk/meson/meson8b.c +++ linux-gcp-5.19.0/drivers/clk/meson/meson8b.c @@ -3792,12 +3792,15 @@ struct clk_hw_onecell_data *clk_hw_onecell_data) { struct meson8b_clk_reset *rstc; + struct device_node *parent_np; const char *notifier_clk_name; struct clk *notifier_clk; struct regmap *map; int i, ret; - map = syscon_node_to_regmap(of_get_parent(np)); + parent_np = of_get_parent(np); + map = syscon_node_to_regmap(parent_np); + of_node_put(parent_np); if (IS_ERR(map)) { pr_err("failed to get HHI regmap - Trying obsolete regs\n"); return; --- linux-gcp-5.19.0.orig/drivers/clk/microchip/clk-mpfs.c +++ linux-gcp-5.19.0/drivers/clk/microchip/clk-mpfs.c @@ -239,6 +239,11 @@ .hw.init = CLK_HW_INIT(_name, _parent, &mpfs_clk_cfg_ops, 0), \ } +#define CLK_CPU_OFFSET 0u +#define CLK_AXI_OFFSET 1u +#define CLK_AHB_OFFSET 2u +#define CLK_RTCREF_OFFSET 3u + static struct mpfs_cfg_hw_clock mpfs_cfg_clks[] = { CLK_CFG(CLK_CPU, "clk_cpu", "clk_msspll", 0, 2, mpfs_div_cpu_axi_table, 0, REG_CLOCK_CONFIG_CR), @@ -362,7 +367,7 @@ _flags), \ } -#define PARENT_CLK(PARENT) (&mpfs_cfg_clks[CLK_##PARENT].hw) +#define PARENT_CLK(PARENT) (&mpfs_cfg_clks[CLK_##PARENT##_OFFSET].hw) /* * Critical clocks: @@ -370,6 +375,8 @@ * trap handler * - CLK_MMUART0: reserved by the hss * - CLK_DDRC: provides clock to the ddr subsystem + * - CLK_RTC: the onboard RTC's AHB bus clock must be kept running as the rtc will stop + * if the AHB interface clock is disabled * - CLK_FICx: these provide the processor side clocks to the "FIC" (Fabric InterConnect) * clock domain crossers which provide the interface to the FPGA fabric. Disabling them * causes the FPGA fabric to go into reset. @@ -394,7 +401,7 @@ CLK_PERIPH(CLK_CAN0, "clk_periph_can0", PARENT_CLK(AHB), 14, 0), CLK_PERIPH(CLK_CAN1, "clk_periph_can1", PARENT_CLK(AHB), 15, 0), CLK_PERIPH(CLK_USB, "clk_periph_usb", PARENT_CLK(AHB), 16, 0), - CLK_PERIPH(CLK_RTC, "clk_periph_rtc", PARENT_CLK(AHB), 18, 0), + CLK_PERIPH(CLK_RTC, "clk_periph_rtc", PARENT_CLK(AHB), 18, CLK_IS_CRITICAL), CLK_PERIPH(CLK_QSPI, "clk_periph_qspi", PARENT_CLK(AHB), 19, 0), CLK_PERIPH(CLK_GPIO0, "clk_periph_gpio0", PARENT_CLK(AHB), 20, 0), CLK_PERIPH(CLK_GPIO1, "clk_periph_gpio1", PARENT_CLK(AHB), 21, 0), --- linux-gcp-5.19.0.orig/drivers/clk/qcom/Kconfig +++ linux-gcp-5.19.0/drivers/clk/qcom/Kconfig @@ -637,6 +637,7 @@ config SM_GCC_6115 tristate "SM6115 and SM4250 Global Clock Controller" + select QCOM_GDSC help Support for the global clock controller on SM6115 and SM4250 devices. Say Y if you want to use peripheral devices such as UART, SPI, --- linux-gcp-5.19.0.orig/drivers/clk/qcom/apss-ipq6018.c +++ linux-gcp-5.19.0/drivers/clk/qcom/apss-ipq6018.c @@ -57,7 +57,7 @@ .parent_hws = (const struct clk_hw *[]){ &apcs_alias0_clk_src.clkr.hw }, .num_parents = 1, - .flags = CLK_SET_RATE_PARENT, + .flags = CLK_SET_RATE_PARENT | CLK_IS_CRITICAL, .ops = &clk_branch2_ops, }, }, --- linux-gcp-5.19.0.orig/drivers/clk/qcom/camcc-sdm845.c +++ linux-gcp-5.19.0/drivers/clk/qcom/camcc-sdm845.c @@ -1534,6 +1534,8 @@ }, }; +static struct gdsc titan_top_gdsc; + static struct gdsc bps_gdsc = { .gdscr = 0x6004, .pd = { @@ -1567,6 +1569,7 @@ .name = "ife_0_gdsc", }, .flags = POLL_CFG_GDSCR, + .parent = &titan_top_gdsc.pd, .pwrsts = PWRSTS_OFF_ON, }; @@ -1576,6 +1579,7 @@ .name = "ife_1_gdsc", }, .flags = POLL_CFG_GDSCR, + .parent = &titan_top_gdsc.pd, .pwrsts = PWRSTS_OFF_ON, }; --- linux-gcp-5.19.0.orig/drivers/clk/qcom/camcc-sm8250.c +++ linux-gcp-5.19.0/drivers/clk/qcom/camcc-sm8250.c @@ -2205,6 +2205,8 @@ }, }; +static struct gdsc titan_top_gdsc; + static struct gdsc bps_gdsc = { .gdscr = 0x7004, .pd = { @@ -2238,6 +2240,7 @@ .name = "ife_0_gdsc", }, .flags = POLL_CFG_GDSCR, + .parent = &titan_top_gdsc.pd, .pwrsts = PWRSTS_OFF_ON, }; @@ -2247,6 +2250,7 @@ .name = "ife_1_gdsc", }, .flags = POLL_CFG_GDSCR, + .parent = &titan_top_gdsc.pd, .pwrsts = PWRSTS_OFF_ON, }; @@ -2440,17 +2444,7 @@ }, }; -static int __init cam_cc_sm8250_init(void) -{ - return platform_driver_register(&cam_cc_sm8250_driver); -} -subsys_initcall(cam_cc_sm8250_init); - -static void __exit cam_cc_sm8250_exit(void) -{ - platform_driver_unregister(&cam_cc_sm8250_driver); -} -module_exit(cam_cc_sm8250_exit); +module_platform_driver(cam_cc_sm8250_driver); MODULE_DESCRIPTION("QTI CAMCC SM8250 Driver"); MODULE_LICENSE("GPL v2"); --- linux-gcp-5.19.0.orig/drivers/clk/qcom/clk-alpha-pll.c +++ linux-gcp-5.19.0/drivers/clk/qcom/clk-alpha-pll.c @@ -1439,7 +1439,7 @@ EXPORT_SYMBOL_GPL(clk_alpha_pll_postdiv_fabia_ops); /** - * clk_lucid_pll_configure - configure the lucid pll + * clk_trion_pll_configure - configure the trion pll * * @pll: clk alpha pll * @regmap: register map --- linux-gcp-5.19.0.orig/drivers/clk/qcom/clk-krait.c +++ linux-gcp-5.19.0/drivers/clk/qcom/clk-krait.c @@ -32,11 +32,16 @@ regval |= (sel & mux->mask) << (mux->shift + LPL_SHIFT); } krait_set_l2_indirect_reg(mux->offset, regval); - spin_unlock_irqrestore(&krait_clock_reg_lock, flags); /* Wait for switch to complete. */ mb(); udelay(1); + + /* + * Unlock now to make sure the mux register is not + * modified while switching to the new parent. + */ + spin_unlock_irqrestore(&krait_clock_reg_lock, flags); } static int krait_mux_set_parent(struct clk_hw *hw, u8 index) @@ -93,6 +98,8 @@ if (d->lpl) mask = mask << (d->shift + LPL_SHIFT) | mask << d->shift; + else + mask <<= d->shift; spin_lock_irqsave(&krait_clock_reg_lock, flags); val = krait_get_l2_indirect_reg(d->offset); --- linux-gcp-5.19.0.orig/drivers/clk/qcom/clk-rcg2.c +++ linux-gcp-5.19.0/drivers/clk/qcom/clk-rcg2.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include @@ -437,7 +438,7 @@ static int clk_rcg2_set_duty_cycle(struct clk_hw *hw, struct clk_duty *duty) { struct clk_rcg2 *rcg = to_clk_rcg2(hw); - u32 notn_m, n, m, d, not2d, mask, duty_per; + u32 notn_m, n, m, d, not2d, mask, duty_per, cfg; int ret; /* Duty-cycle cannot be modified for non-MND RCGs */ @@ -448,6 +449,11 @@ regmap_read(rcg->clkr.regmap, RCG_N_OFFSET(rcg), ¬n_m); regmap_read(rcg->clkr.regmap, RCG_M_OFFSET(rcg), &m); + regmap_read(rcg->clkr.regmap, RCG_CFG_OFFSET(rcg), &cfg); + + /* Duty-cycle cannot be modified if MND divider is in bypass mode. */ + if (!(cfg & CFG_MODE_MASK)) + return -EINVAL; n = (~(notn_m) + m) & mask; @@ -456,9 +462,11 @@ /* Calculate 2d value */ d = DIV_ROUND_CLOSEST(n * duty_per * 2, 100); - /* Check bit widths of 2d. If D is too big reduce duty cycle. */ - if (d > mask) - d = mask; + /* + * Check bit widths of 2d. If D is too big reduce duty cycle. + * Also make sure it is never zero. + */ + d = clamp_val(d, 1, mask); if ((d / 2) > (n - m)) d = (n - m) * 2; --- linux-gcp-5.19.0.orig/drivers/clk/qcom/dispcc-sm6350.c +++ linux-gcp-5.19.0/drivers/clk/qcom/dispcc-sm6350.c @@ -306,7 +306,7 @@ .name = "disp_cc_mdss_pclk0_clk_src", .parent_data = disp_cc_parent_data_5, .num_parents = ARRAY_SIZE(disp_cc_parent_data_5), - .flags = CLK_SET_RATE_PARENT | CLK_GET_RATE_NOCACHE, + .flags = CLK_SET_RATE_PARENT | CLK_GET_RATE_NOCACHE | CLK_OPS_PARENT_ENABLE, .ops = &clk_pixel_ops, }, }; @@ -385,7 +385,7 @@ &disp_cc_mdss_byte0_clk_src.clkr.hw, }, .num_parents = 1, - .flags = CLK_SET_RATE_PARENT | CLK_GET_RATE_NOCACHE, + .flags = CLK_SET_RATE_PARENT | CLK_GET_RATE_NOCACHE | CLK_OPS_PARENT_ENABLE, .ops = &clk_branch2_ops, }, }, --- linux-gcp-5.19.0.orig/drivers/clk/qcom/dispcc-sm8250.c +++ linux-gcp-5.19.0/drivers/clk/qcom/dispcc-sm8250.c @@ -1134,7 +1134,6 @@ }, .pwrsts = PWRSTS_OFF_ON, .flags = HW_CTRL, - .supply = "mmcx", }; static struct clk_regmap *disp_cc_sm8250_clocks[] = { --- linux-gcp-5.19.0.orig/drivers/clk/qcom/gcc-ipq806x.c +++ linux-gcp-5.19.0/drivers/clk/qcom/gcc-ipq806x.c @@ -79,7 +79,9 @@ .enable_mask = BIT(4), .hw.init = &(struct clk_init_data){ .name = "pll4_vote", - .parent_names = (const char *[]){ "pll4" }, + .parent_data = &(const struct clk_parent_data){ + .fw_name = "pll4", .name = "pll4", + }, .num_parents = 1, .ops = &clk_pll_vote_ops, }, --- linux-gcp-5.19.0.orig/drivers/clk/qcom/gcc-ipq8074.c +++ linux-gcp-5.19.0/drivers/clk/qcom/gcc-ipq8074.c @@ -662,6 +662,7 @@ }, .num_parents = 1, .ops = &clk_branch2_ops, + .flags = CLK_IS_CRITICAL, }, }, }; @@ -1788,8 +1789,10 @@ static const struct freq_tbl ftbl_nss_port5_rx_clk_src[] = { F(19200000, P_XO, 1, 0, 0), F(25000000, P_UNIPHY1_RX, 12.5, 0, 0), + F(25000000, P_UNIPHY0_RX, 5, 0, 0), F(78125000, P_UNIPHY1_RX, 4, 0, 0), F(125000000, P_UNIPHY1_RX, 2.5, 0, 0), + F(125000000, P_UNIPHY0_RX, 1, 0, 0), F(156250000, P_UNIPHY1_RX, 2, 0, 0), F(312500000, P_UNIPHY1_RX, 1, 0, 0), { } @@ -1828,8 +1831,10 @@ static const struct freq_tbl ftbl_nss_port5_tx_clk_src[] = { F(19200000, P_XO, 1, 0, 0), F(25000000, P_UNIPHY1_TX, 12.5, 0, 0), + F(25000000, P_UNIPHY0_TX, 5, 0, 0), F(78125000, P_UNIPHY1_TX, 4, 0, 0), F(125000000, P_UNIPHY1_TX, 2.5, 0, 0), + F(125000000, P_UNIPHY0_TX, 1, 0, 0), F(156250000, P_UNIPHY1_TX, 2, 0, 0), F(312500000, P_UNIPHY1_TX, 1, 0, 0), { } @@ -1867,8 +1872,10 @@ static const struct freq_tbl ftbl_nss_port6_rx_clk_src[] = { F(19200000, P_XO, 1, 0, 0), + F(25000000, P_UNIPHY2_RX, 5, 0, 0), F(25000000, P_UNIPHY2_RX, 12.5, 0, 0), F(78125000, P_UNIPHY2_RX, 4, 0, 0), + F(125000000, P_UNIPHY2_RX, 1, 0, 0), F(125000000, P_UNIPHY2_RX, 2.5, 0, 0), F(156250000, P_UNIPHY2_RX, 2, 0, 0), F(312500000, P_UNIPHY2_RX, 1, 0, 0), @@ -1907,8 +1914,10 @@ static const struct freq_tbl ftbl_nss_port6_tx_clk_src[] = { F(19200000, P_XO, 1, 0, 0), + F(25000000, P_UNIPHY2_TX, 5, 0, 0), F(25000000, P_UNIPHY2_TX, 12.5, 0, 0), F(78125000, P_UNIPHY2_TX, 4, 0, 0), + F(125000000, P_UNIPHY2_TX, 1, 0, 0), F(125000000, P_UNIPHY2_TX, 2.5, 0, 0), F(156250000, P_UNIPHY2_TX, 2, 0, 0), F(312500000, P_UNIPHY2_TX, 1, 0, 0), @@ -3346,6 +3355,7 @@ static struct clk_branch gcc_ubi0_ahb_clk = { .halt_reg = 0x6820c, + .halt_check = BRANCH_HALT_DELAY, .clkr = { .enable_reg = 0x6820c, .enable_mask = BIT(0), @@ -3363,6 +3373,7 @@ static struct clk_branch gcc_ubi0_axi_clk = { .halt_reg = 0x68200, + .halt_check = BRANCH_HALT_DELAY, .clkr = { .enable_reg = 0x68200, .enable_mask = BIT(0), @@ -3380,6 +3391,7 @@ static struct clk_branch gcc_ubi0_nc_axi_clk = { .halt_reg = 0x68204, + .halt_check = BRANCH_HALT_DELAY, .clkr = { .enable_reg = 0x68204, .enable_mask = BIT(0), @@ -3397,6 +3409,7 @@ static struct clk_branch gcc_ubi0_core_clk = { .halt_reg = 0x68210, + .halt_check = BRANCH_HALT_DELAY, .clkr = { .enable_reg = 0x68210, .enable_mask = BIT(0), @@ -3414,6 +3427,7 @@ static struct clk_branch gcc_ubi0_mpt_clk = { .halt_reg = 0x68208, + .halt_check = BRANCH_HALT_DELAY, .clkr = { .enable_reg = 0x68208, .enable_mask = BIT(0), @@ -3431,6 +3445,7 @@ static struct clk_branch gcc_ubi1_ahb_clk = { .halt_reg = 0x6822c, + .halt_check = BRANCH_HALT_DELAY, .clkr = { .enable_reg = 0x6822c, .enable_mask = BIT(0), @@ -3448,6 +3463,7 @@ static struct clk_branch gcc_ubi1_axi_clk = { .halt_reg = 0x68220, + .halt_check = BRANCH_HALT_DELAY, .clkr = { .enable_reg = 0x68220, .enable_mask = BIT(0), @@ -3465,6 +3481,7 @@ static struct clk_branch gcc_ubi1_nc_axi_clk = { .halt_reg = 0x68224, + .halt_check = BRANCH_HALT_DELAY, .clkr = { .enable_reg = 0x68224, .enable_mask = BIT(0), @@ -3482,6 +3499,7 @@ static struct clk_branch gcc_ubi1_core_clk = { .halt_reg = 0x68230, + .halt_check = BRANCH_HALT_DELAY, .clkr = { .enable_reg = 0x68230, .enable_mask = BIT(0), @@ -3499,6 +3517,7 @@ static struct clk_branch gcc_ubi1_mpt_clk = { .halt_reg = 0x68228, + .halt_check = BRANCH_HALT_DELAY, .clkr = { .enable_reg = 0x68228, .enable_mask = BIT(0), @@ -4371,6 +4390,33 @@ }, }; +static const struct alpha_pll_config ubi32_pll_config = { + .l = 0x4e, + .config_ctl_val = 0x200d4aa8, + .config_ctl_hi_val = 0x3c2, + .main_output_mask = BIT(0), + .aux_output_mask = BIT(1), + .pre_div_val = 0x0, + .pre_div_mask = BIT(12), + .post_div_val = 0x0, + .post_div_mask = GENMASK(9, 8), +}; + +static const struct alpha_pll_config nss_crypto_pll_config = { + .l = 0x3e, + .alpha = 0x0, + .alpha_hi = 0x80, + .config_ctl_val = 0x4001055b, + .main_output_mask = BIT(0), + .pre_div_val = 0x0, + .pre_div_mask = GENMASK(14, 12), + .post_div_val = 0x1 << 8, + .post_div_mask = GENMASK(11, 8), + .vco_mask = GENMASK(21, 20), + .vco_val = 0x0, + .alpha_en_mask = BIT(24), +}; + static struct clk_hw *gcc_ipq8074_hws[] = { &gpll0_out_main_div2.hw, &gpll6_out_main_div2.hw, @@ -4772,7 +4818,20 @@ static int gcc_ipq8074_probe(struct platform_device *pdev) { - return qcom_cc_probe(pdev, &gcc_ipq8074_desc); + struct regmap *regmap; + + regmap = qcom_cc_map(pdev, &gcc_ipq8074_desc); + if (IS_ERR(regmap)) + return PTR_ERR(regmap); + + /* SW Workaround for UBI32 Huayra PLL */ + regmap_update_bits(regmap, 0x2501c, BIT(26), BIT(26)); + + clk_alpha_pll_configure(&ubi32_pll_main, regmap, &ubi32_pll_config); + clk_alpha_pll_configure(&nss_crypto_pll_main, regmap, + &nss_crypto_pll_config); + + return qcom_cc_really_probe(pdev, &gcc_ipq8074_desc, regmap); } static struct platform_driver gcc_ipq8074_driver = { --- linux-gcp-5.19.0.orig/drivers/clk/qcom/gcc-msm8939.c +++ linux-gcp-5.19.0/drivers/clk/qcom/gcc-msm8939.c @@ -632,7 +632,7 @@ }; static struct clk_rcg2 bimc_ddr_clk_src = { - .cmd_rcgr = 0x32004, + .cmd_rcgr = 0x32024, .hid_width = 5, .parent_map = gcc_xo_gpll0_bimc_map, .clkr.hw.init = &(struct clk_init_data){ @@ -644,6 +644,18 @@ }, }; +static struct clk_rcg2 system_mm_noc_bfdcd_clk_src = { + .cmd_rcgr = 0x2600c, + .hid_width = 5, + .parent_map = gcc_xo_gpll0_gpll6a_map, + .clkr.hw.init = &(struct clk_init_data){ + .name = "system_mm_noc_bfdcd_clk_src", + .parent_data = gcc_xo_gpll0_gpll6a_parent_data, + .num_parents = 3, + .ops = &clk_rcg2_ops, + }, +}; + static const struct freq_tbl ftbl_gcc_camss_ahb_clk[] = { F(40000000, P_GPLL0, 10, 1, 2), F(80000000, P_GPLL0, 10, 0, 0), @@ -1002,7 +1014,7 @@ }; static const struct freq_tbl ftbl_gcc_camss_cci_clk[] = { - F(19200000, P_XO, 1, 0, 0), + F(19200000, P_XO, 1, 0, 0), { } }; @@ -2441,7 +2453,7 @@ .hw.init = &(struct clk_init_data){ .name = "gcc_camss_jpeg_axi_clk", .parent_data = &(const struct clk_parent_data){ - .hw = &system_noc_bfdcd_clk_src.clkr.hw, + .hw = &system_mm_noc_bfdcd_clk_src.clkr.hw, }, .num_parents = 1, .flags = CLK_SET_RATE_PARENT, @@ -2645,7 +2657,7 @@ .hw.init = &(struct clk_init_data){ .name = "gcc_camss_vfe_axi_clk", .parent_data = &(const struct clk_parent_data){ - .hw = &system_noc_bfdcd_clk_src.clkr.hw, + .hw = &system_mm_noc_bfdcd_clk_src.clkr.hw, }, .num_parents = 1, .flags = CLK_SET_RATE_PARENT, @@ -2801,7 +2813,7 @@ .hw.init = &(struct clk_init_data){ .name = "gcc_mdss_axi_clk", .parent_data = &(const struct clk_parent_data){ - .hw = &system_noc_bfdcd_clk_src.clkr.hw, + .hw = &system_mm_noc_bfdcd_clk_src.clkr.hw, }, .num_parents = 1, .flags = CLK_SET_RATE_PARENT, @@ -3193,7 +3205,7 @@ .hw.init = &(struct clk_init_data){ .name = "gcc_mdp_tbu_clk", .parent_data = &(const struct clk_parent_data){ - .hw = &system_noc_bfdcd_clk_src.clkr.hw, + .hw = &system_mm_noc_bfdcd_clk_src.clkr.hw, }, .num_parents = 1, .flags = CLK_SET_RATE_PARENT, @@ -3211,7 +3223,7 @@ .hw.init = &(struct clk_init_data){ .name = "gcc_venus_tbu_clk", .parent_data = &(const struct clk_parent_data){ - .hw = &system_noc_bfdcd_clk_src.clkr.hw, + .hw = &system_mm_noc_bfdcd_clk_src.clkr.hw, }, .num_parents = 1, .flags = CLK_SET_RATE_PARENT, @@ -3229,7 +3241,7 @@ .hw.init = &(struct clk_init_data){ .name = "gcc_vfe_tbu_clk", .parent_data = &(const struct clk_parent_data){ - .hw = &system_noc_bfdcd_clk_src.clkr.hw, + .hw = &system_mm_noc_bfdcd_clk_src.clkr.hw, }, .num_parents = 1, .flags = CLK_SET_RATE_PARENT, @@ -3247,7 +3259,7 @@ .hw.init = &(struct clk_init_data){ .name = "gcc_jpeg_tbu_clk", .parent_data = &(const struct clk_parent_data){ - .hw = &system_noc_bfdcd_clk_src.clkr.hw, + .hw = &system_mm_noc_bfdcd_clk_src.clkr.hw, }, .num_parents = 1, .flags = CLK_SET_RATE_PARENT, @@ -3484,7 +3496,7 @@ .hw.init = &(struct clk_init_data){ .name = "gcc_venus0_axi_clk", .parent_data = &(const struct clk_parent_data){ - .hw = &system_noc_bfdcd_clk_src.clkr.hw, + .hw = &system_mm_noc_bfdcd_clk_src.clkr.hw, }, .num_parents = 1, .flags = CLK_SET_RATE_PARENT, @@ -3623,6 +3635,7 @@ [GPLL2_VOTE] = &gpll2_vote, [PCNOC_BFDCD_CLK_SRC] = &pcnoc_bfdcd_clk_src.clkr, [SYSTEM_NOC_BFDCD_CLK_SRC] = &system_noc_bfdcd_clk_src.clkr, + [SYSTEM_MM_NOC_BFDCD_CLK_SRC] = &system_mm_noc_bfdcd_clk_src.clkr, [CAMSS_AHB_CLK_SRC] = &camss_ahb_clk_src.clkr, [APSS_AHB_CLK_SRC] = &apss_ahb_clk_src.clkr, [CSI0_CLK_SRC] = &csi0_clk_src.clkr, --- linux-gcp-5.19.0.orig/drivers/clk/qcom/gcc-sc7280.c +++ linux-gcp-5.19.0/drivers/clk/qcom/gcc-sc7280.c @@ -3486,6 +3486,7 @@ regmap_update_bits(regmap, 0x28004, BIT(0), BIT(0)); regmap_update_bits(regmap, 0x28014, BIT(0), BIT(0)); regmap_update_bits(regmap, 0x71004, BIT(0), BIT(0)); + regmap_update_bits(regmap, 0x7100C, BIT(13), BIT(13)); ret = qcom_cc_register_rcg_dfs(regmap, gcc_dfs_clocks, ARRAY_SIZE(gcc_dfs_clocks)); --- linux-gcp-5.19.0.orig/drivers/clk/qcom/gcc-sc8280xp.c +++ linux-gcp-5.19.0/drivers/clk/qcom/gcc-sc8280xp.c @@ -5423,6 +5423,8 @@ .enable_mask = BIT(0), .hw.init = &(const struct clk_init_data) { .name = "gcc_ufs_1_card_clkref_clk", + .parent_data = &gcc_parent_data_tcxo, + .num_parents = 1, .ops = &clk_branch2_ops, }, }, @@ -5491,6 +5493,8 @@ .enable_mask = BIT(0), .hw.init = &(const struct clk_init_data) { .name = "gcc_ufs_card_clkref_clk", + .parent_data = &gcc_parent_data_tcxo, + .num_parents = 1, .ops = &clk_branch2_ops, }, }, @@ -5907,6 +5911,8 @@ .enable_mask = BIT(0), .hw.init = &(const struct clk_init_data) { .name = "gcc_ufs_ref_clkref_clk", + .parent_data = &gcc_parent_data_tcxo, + .num_parents = 1, .ops = &clk_branch2_ops, }, }, --- linux-gcp-5.19.0.orig/drivers/clk/qcom/gcc-sdm660.c +++ linux-gcp-5.19.0/drivers/clk/qcom/gcc-sdm660.c @@ -757,7 +757,7 @@ .name = "sdcc1_apps_clk_src", .parent_data = gcc_parent_data_xo_gpll0_gpll4_gpll0_early_div, .num_parents = ARRAY_SIZE(gcc_parent_data_xo_gpll0_gpll4_gpll0_early_div), - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_floor_ops, }, }; --- linux-gcp-5.19.0.orig/drivers/clk/qcom/gcc-sm6115.c +++ linux-gcp-5.19.0/drivers/clk/qcom/gcc-sm6115.c @@ -53,11 +53,25 @@ { 750000000, 1500000000, 1 }, }; +static const u8 clk_alpha_pll_regs_offset[][PLL_OFF_MAX_REGS] = { + [CLK_ALPHA_PLL_TYPE_DEFAULT] = { + [PLL_OFF_L_VAL] = 0x04, + [PLL_OFF_ALPHA_VAL] = 0x08, + [PLL_OFF_ALPHA_VAL_U] = 0x0c, + [PLL_OFF_TEST_CTL] = 0x10, + [PLL_OFF_TEST_CTL_U] = 0x14, + [PLL_OFF_USER_CTL] = 0x18, + [PLL_OFF_USER_CTL_U] = 0x1c, + [PLL_OFF_CONFIG_CTL] = 0x20, + [PLL_OFF_STATUS] = 0x24, + }, +}; + static struct clk_alpha_pll gpll0 = { .offset = 0x0, .vco_table = default_vco, .num_vco = ARRAY_SIZE(default_vco), - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs_offset[CLK_ALPHA_PLL_TYPE_DEFAULT], .clkr = { .enable_reg = 0x79000, .enable_mask = BIT(0), @@ -83,7 +97,7 @@ .post_div_table = post_div_table_gpll0_out_aux2, .num_post_div = ARRAY_SIZE(post_div_table_gpll0_out_aux2), .width = 4, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs_offset[CLK_ALPHA_PLL_TYPE_DEFAULT], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll0_out_aux2", .parent_hws = (const struct clk_hw *[]){ &gpll0.clkr.hw }, @@ -115,7 +129,7 @@ .post_div_table = post_div_table_gpll0_out_main, .num_post_div = ARRAY_SIZE(post_div_table_gpll0_out_main), .width = 4, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs_offset[CLK_ALPHA_PLL_TYPE_DEFAULT], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll0_out_main", .parent_hws = (const struct clk_hw *[]){ &gpll0.clkr.hw }, @@ -137,7 +151,7 @@ .offset = 0xa000, .vco_table = gpll10_vco, .num_vco = ARRAY_SIZE(gpll10_vco), - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs_offset[CLK_ALPHA_PLL_TYPE_DEFAULT], .clkr = { .enable_reg = 0x79000, .enable_mask = BIT(10), @@ -163,7 +177,7 @@ .post_div_table = post_div_table_gpll10_out_main, .num_post_div = ARRAY_SIZE(post_div_table_gpll10_out_main), .width = 4, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs_offset[CLK_ALPHA_PLL_TYPE_DEFAULT], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll10_out_main", .parent_hws = (const struct clk_hw *[]){ &gpll10.clkr.hw }, @@ -189,7 +203,7 @@ .vco_table = default_vco, .num_vco = ARRAY_SIZE(default_vco), .flags = SUPPORTS_DYNAMIC_UPDATE, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs_offset[CLK_ALPHA_PLL_TYPE_DEFAULT], .clkr = { .enable_reg = 0x79000, .enable_mask = BIT(11), @@ -215,7 +229,7 @@ .post_div_table = post_div_table_gpll11_out_main, .num_post_div = ARRAY_SIZE(post_div_table_gpll11_out_main), .width = 4, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs_offset[CLK_ALPHA_PLL_TYPE_DEFAULT], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll11_out_main", .parent_hws = (const struct clk_hw *[]){ &gpll11.clkr.hw }, @@ -229,7 +243,7 @@ .offset = 0x3000, .vco_table = default_vco, .num_vco = ARRAY_SIZE(default_vco), - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs_offset[CLK_ALPHA_PLL_TYPE_DEFAULT], .clkr = { .enable_reg = 0x79000, .enable_mask = BIT(3), @@ -248,7 +262,7 @@ .offset = 0x4000, .vco_table = default_vco, .num_vco = ARRAY_SIZE(default_vco), - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs_offset[CLK_ALPHA_PLL_TYPE_DEFAULT], .clkr = { .enable_reg = 0x79000, .enable_mask = BIT(4), @@ -274,7 +288,7 @@ .post_div_table = post_div_table_gpll4_out_main, .num_post_div = ARRAY_SIZE(post_div_table_gpll4_out_main), .width = 4, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs_offset[CLK_ALPHA_PLL_TYPE_DEFAULT], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll4_out_main", .parent_hws = (const struct clk_hw *[]){ &gpll4.clkr.hw }, @@ -287,7 +301,7 @@ .offset = 0x6000, .vco_table = default_vco, .num_vco = ARRAY_SIZE(default_vco), - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs_offset[CLK_ALPHA_PLL_TYPE_DEFAULT], .clkr = { .enable_reg = 0x79000, .enable_mask = BIT(6), @@ -313,7 +327,7 @@ .post_div_table = post_div_table_gpll6_out_main, .num_post_div = ARRAY_SIZE(post_div_table_gpll6_out_main), .width = 4, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs_offset[CLK_ALPHA_PLL_TYPE_DEFAULT], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll6_out_main", .parent_hws = (const struct clk_hw *[]){ &gpll6.clkr.hw }, @@ -326,7 +340,7 @@ .offset = 0x7000, .vco_table = default_vco, .num_vco = ARRAY_SIZE(default_vco), - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs_offset[CLK_ALPHA_PLL_TYPE_DEFAULT], .clkr = { .enable_reg = 0x79000, .enable_mask = BIT(7), @@ -352,7 +366,7 @@ .post_div_table = post_div_table_gpll7_out_main, .num_post_div = ARRAY_SIZE(post_div_table_gpll7_out_main), .width = 4, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs_offset[CLK_ALPHA_PLL_TYPE_DEFAULT], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll7_out_main", .parent_hws = (const struct clk_hw *[]){ &gpll7.clkr.hw }, @@ -380,7 +394,7 @@ .offset = 0x8000, .vco_table = default_vco, .num_vco = ARRAY_SIZE(default_vco), - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs_offset[CLK_ALPHA_PLL_TYPE_DEFAULT], .flags = SUPPORTS_DYNAMIC_UPDATE, .clkr = { .enable_reg = 0x79000, @@ -407,7 +421,7 @@ .post_div_table = post_div_table_gpll8_out_main, .num_post_div = ARRAY_SIZE(post_div_table_gpll8_out_main), .width = 4, - .regs = clk_alpha_pll_regs[CLK_ALPHA_PLL_TYPE_DEFAULT], + .regs = clk_alpha_pll_regs_offset[CLK_ALPHA_PLL_TYPE_DEFAULT], .clkr.hw.init = &(struct clk_init_data){ .name = "gpll8_out_main", .parent_hws = (const struct clk_hw *[]){ &gpll8.clkr.hw }, --- linux-gcp-5.19.0.orig/drivers/clk/qcom/gcc-sm8250.c +++ linux-gcp-5.19.0/drivers/clk/qcom/gcc-sm8250.c @@ -3267,7 +3267,7 @@ .pd = { .name = "usb30_prim_gdsc", }, - .pwrsts = PWRSTS_OFF_ON, + .pwrsts = PWRSTS_RET_ON, }; static struct gdsc usb30_sec_gdsc = { @@ -3275,7 +3275,7 @@ .pd = { .name = "usb30_sec_gdsc", }, - .pwrsts = PWRSTS_OFF_ON, + .pwrsts = PWRSTS_RET_ON, }; static struct gdsc hlos1_vote_mmnoc_mmu_tbu_hf0_gdsc = { --- linux-gcp-5.19.0.orig/drivers/clk/qcom/gdsc.c +++ linux-gcp-5.19.0/drivers/clk/qcom/gdsc.c @@ -420,6 +420,14 @@ return ret; } + /* ...and the power-domain */ + ret = gdsc_pm_runtime_get(sc); + if (ret) { + if (sc->rsupply) + regulator_disable(sc->rsupply); + return ret; + } + /* * Votable GDSCs can be ON due to Vote from other masters. * If a Votable GDSC is ON, make sure we have a Vote. --- linux-gcp-5.19.0.orig/drivers/clk/qcom/gpucc-sc7280.c +++ linux-gcp-5.19.0/drivers/clk/qcom/gpucc-sc7280.c @@ -463,6 +463,7 @@ */ regmap_update_bits(regmap, 0x1170, BIT(0), BIT(0)); regmap_update_bits(regmap, 0x1098, BIT(0), BIT(0)); + regmap_update_bits(regmap, 0x1098, BIT(13), BIT(13)); return qcom_cc_really_probe(pdev, &gpu_cc_sc7280_desc, regmap); } --- linux-gcp-5.19.0.orig/drivers/clk/qcom/lpassaudiocc-sc7280.c +++ linux-gcp-5.19.0/drivers/clk/qcom/lpassaudiocc-sc7280.c @@ -22,6 +22,7 @@ #include "clk-regmap-mux.h" #include "common.h" #include "gdsc.h" +#include "reset.h" enum { P_BI_TCXO, @@ -221,7 +222,7 @@ .parent_data = lpass_aon_cc_parent_data_0, .num_parents = ARRAY_SIZE(lpass_aon_cc_parent_data_0), .flags = CLK_OPS_PARENT_ENABLE, - .ops = &clk_rcg2_ops, + .ops = &clk_rcg2_shared_ops, }, }; @@ -665,6 +666,18 @@ .num_clks = ARRAY_SIZE(lpass_audio_cc_sc7280_clocks), }; +static const struct qcom_reset_map lpass_audio_cc_sc7280_resets[] = { + [LPASS_AUDIO_SWR_RX_CGCR] = { 0xa0, 1 }, + [LPASS_AUDIO_SWR_TX_CGCR] = { 0xa8, 1 }, + [LPASS_AUDIO_SWR_WSA_CGCR] = { 0xb0, 1 }, +}; + +static const struct qcom_cc_desc lpass_audio_cc_reset_sc7280_desc = { + .config = &lpass_audio_cc_sc7280_regmap_config, + .resets = lpass_audio_cc_sc7280_resets, + .num_resets = ARRAY_SIZE(lpass_audio_cc_sc7280_resets), +}; + static const struct of_device_id lpass_audio_cc_sc7280_match_table[] = { { .compatible = "qcom,sc7280-lpassaudiocc" }, { } @@ -734,12 +747,19 @@ regmap_write(regmap, 0x4, 0x3b); regmap_write(regmap, 0x8, 0xff05); - ret = qcom_cc_really_probe(pdev, &lpass_audio_cc_sc7280_desc, regmap); + ret = qcom_cc_probe_by_index(pdev, 0, &lpass_audio_cc_sc7280_desc); if (ret) { dev_err(&pdev->dev, "Failed to register LPASS AUDIO CC clocks\n"); pm_runtime_disable(&pdev->dev); return ret; } + + ret = qcom_cc_probe_by_index(pdev, 1, &lpass_audio_cc_reset_sc7280_desc); + if (ret) { + dev_err(&pdev->dev, "Failed to register LPASS AUDIO CC Resets\n"); + pm_runtime_disable(&pdev->dev); + return ret; + } pm_runtime_mark_last_busy(&pdev->dev); pm_runtime_put_autosuspend(&pdev->dev); --- linux-gcp-5.19.0.orig/drivers/clk/qcom/lpasscorecc-sc7180.c +++ linux-gcp-5.19.0/drivers/clk/qcom/lpasscorecc-sc7180.c @@ -356,7 +356,7 @@ .num_gdscs = ARRAY_SIZE(lpass_audio_hm_sc7180_gdscs), }; -static int lpass_create_pm_clks(struct platform_device *pdev) +static int lpass_setup_runtime_pm(struct platform_device *pdev) { int ret; @@ -375,7 +375,7 @@ if (ret < 0) dev_err(&pdev->dev, "failed to acquire iface clock\n"); - return ret; + return pm_runtime_resume_and_get(&pdev->dev); } static int lpass_core_cc_sc7180_probe(struct platform_device *pdev) @@ -384,7 +384,7 @@ struct regmap *regmap; int ret; - ret = lpass_create_pm_clks(pdev); + ret = lpass_setup_runtime_pm(pdev); if (ret) return ret; @@ -392,12 +392,14 @@ desc = &lpass_audio_hm_sc7180_desc; ret = qcom_cc_probe_by_index(pdev, 1, desc); if (ret) - return ret; + goto exit; lpass_core_cc_sc7180_regmap_config.name = "lpass_core_cc"; regmap = qcom_cc_map(pdev, &lpass_core_cc_sc7180_desc); - if (IS_ERR(regmap)) - return PTR_ERR(regmap); + if (IS_ERR(regmap)) { + ret = PTR_ERR(regmap); + goto exit; + } /* * Keep the CLK always-ON @@ -415,6 +417,7 @@ ret = qcom_cc_really_probe(pdev, &lpass_core_cc_sc7180_desc, regmap); pm_runtime_mark_last_busy(&pdev->dev); +exit: pm_runtime_put_autosuspend(&pdev->dev); return ret; @@ -425,14 +428,19 @@ const struct qcom_cc_desc *desc; int ret; - ret = lpass_create_pm_clks(pdev); + ret = lpass_setup_runtime_pm(pdev); if (ret) return ret; lpass_core_cc_sc7180_regmap_config.name = "lpass_hm_core"; desc = &lpass_core_hm_sc7180_desc; - return qcom_cc_probe_by_index(pdev, 0, desc); + ret = qcom_cc_probe_by_index(pdev, 0, desc); + + pm_runtime_mark_last_busy(&pdev->dev); + pm_runtime_put_autosuspend(&pdev->dev); + + return ret; } static const struct of_device_id lpass_hm_sc7180_match_table[] = { --- linux-gcp-5.19.0.orig/drivers/clk/qcom/lpasscorecc-sc7280.c +++ linux-gcp-5.19.0/drivers/clk/qcom/lpasscorecc-sc7280.c @@ -190,6 +190,19 @@ }, }; +static struct clk_rcg2 lpass_core_cc_ext_mclk0_clk_src = { + .cmd_rcgr = 0x20000, + .mnd_width = 8, + .hid_width = 5, + .parent_map = lpass_core_cc_parent_map_0, + .freq_tbl = ftbl_lpass_core_cc_ext_if0_clk_src, + .clkr.hw.init = &(const struct clk_init_data){ + .name = "lpass_core_cc_ext_mclk0_clk_src", + .parent_data = lpass_core_cc_parent_data_0, + .num_parents = ARRAY_SIZE(lpass_core_cc_parent_data_0), + .ops = &clk_rcg2_ops, + }, +}; static struct clk_branch lpass_core_cc_core_clk = { .halt_reg = 0x1f000, @@ -283,6 +296,24 @@ }, }; +static struct clk_branch lpass_core_cc_ext_mclk0_clk = { + .halt_reg = 0x20014, + .halt_check = BRANCH_HALT, + .clkr = { + .enable_reg = 0x20014, + .enable_mask = BIT(0), + .hw.init = &(const struct clk_init_data){ + .name = "lpass_core_cc_ext_mclk0_clk", + .parent_hws = (const struct clk_hw*[]){ + &lpass_core_cc_ext_mclk0_clk_src.clkr.hw, + }, + .num_parents = 1, + .flags = CLK_SET_RATE_PARENT, + .ops = &clk_branch2_ops, + }, + }, +}; + static struct clk_branch lpass_core_cc_sysnoc_mport_core_clk = { .halt_reg = 0x23000, .halt_check = BRANCH_HALT_VOTED, @@ -326,6 +357,8 @@ [LPASS_CORE_CC_LPM_CORE_CLK] = &lpass_core_cc_lpm_core_clk.clkr, [LPASS_CORE_CC_LPM_MEM0_CORE_CLK] = &lpass_core_cc_lpm_mem0_core_clk.clkr, [LPASS_CORE_CC_SYSNOC_MPORT_CORE_CLK] = &lpass_core_cc_sysnoc_mport_core_clk.clkr, + [LPASS_CORE_CC_EXT_MCLK0_CLK] = &lpass_core_cc_ext_mclk0_clk.clkr, + [LPASS_CORE_CC_EXT_MCLK0_CLK_SRC] = &lpass_core_cc_ext_mclk0_clk_src.clkr, }; static struct regmap_config lpass_core_cc_sc7280_regmap_config = { --- linux-gcp-5.19.0.orig/drivers/clk/qcom/videocc-sm8250.c +++ linux-gcp-5.19.0/drivers/clk/qcom/videocc-sm8250.c @@ -277,7 +277,6 @@ }, .flags = 0, .pwrsts = PWRSTS_OFF_ON, - .supply = "mmcx", }; static struct gdsc mvs1c_gdsc = { @@ -287,7 +286,6 @@ }, .flags = 0, .pwrsts = PWRSTS_OFF_ON, - .supply = "mmcx", }; static struct gdsc mvs0_gdsc = { @@ -297,7 +295,6 @@ }, .flags = HW_CTRL, .pwrsts = PWRSTS_OFF_ON, - .supply = "mmcx", }; static struct gdsc mvs1_gdsc = { @@ -307,7 +304,6 @@ }, .flags = HW_CTRL, .pwrsts = PWRSTS_OFF_ON, - .supply = "mmcx", }; static struct clk_regmap *video_cc_sm8250_clocks[] = { --- linux-gcp-5.19.0.orig/drivers/clk/renesas/r8a779a0-cpg-mssr.c +++ linux-gcp-5.19.0/drivers/clk/renesas/r8a779a0-cpg-mssr.c @@ -116,7 +116,7 @@ DEF_FIXED("cp", R8A779A0_CLK_CP, CLK_EXTAL, 2, 1), DEF_FIXED("cl16mck", R8A779A0_CLK_CL16MCK, CLK_PLL1_DIV2, 64, 1), - DEF_GEN4_SDH("sdh0", R8A779A0_CLK_SD0H, CLK_SDSRC, 0x870), + DEF_GEN4_SDH("sd0h", R8A779A0_CLK_SD0H, CLK_SDSRC, 0x870), DEF_GEN4_SD("sd0", R8A779A0_CLK_SD0, R8A779A0_CLK_SD0H, 0x870), DEF_BASE("rpc", R8A779A0_CLK_RPC, CLK_TYPE_GEN4_RPC, CLK_RPCSRC), --- linux-gcp-5.19.0.orig/drivers/clk/renesas/r8a779f0-cpg-mssr.c +++ linux-gcp-5.19.0/drivers/clk/renesas/r8a779f0-cpg-mssr.c @@ -124,10 +124,10 @@ DEF_MOD("i2c3", 521, R8A779F0_CLK_S0D6_PER), DEF_MOD("i2c4", 522, R8A779F0_CLK_S0D6_PER), DEF_MOD("i2c5", 523, R8A779F0_CLK_S0D6_PER), - DEF_MOD("scif0", 702, R8A779F0_CLK_S0D12_PER), - DEF_MOD("scif1", 703, R8A779F0_CLK_S0D12_PER), - DEF_MOD("scif3", 704, R8A779F0_CLK_S0D12_PER), - DEF_MOD("scif4", 705, R8A779F0_CLK_S0D12_PER), + DEF_MOD("scif0", 702, R8A779F0_CLK_SASYNCPERD4), + DEF_MOD("scif1", 703, R8A779F0_CLK_SASYNCPERD4), + DEF_MOD("scif3", 704, R8A779F0_CLK_SASYNCPERD4), + DEF_MOD("scif4", 705, R8A779F0_CLK_SASYNCPERD4), DEF_MOD("sys-dmac0", 709, R8A779F0_CLK_S0D3_PER), DEF_MOD("sys-dmac1", 710, R8A779F0_CLK_S0D3_PER), DEF_MOD("wdt", 907, R8A779F0_CLK_R), --- linux-gcp-5.19.0.orig/drivers/clk/renesas/r8a779g0-cpg-mssr.c +++ linux-gcp-5.19.0/drivers/clk/renesas/r8a779g0-cpg-mssr.c @@ -47,6 +47,7 @@ CLK_S0_VIO, CLK_S0_VC, CLK_S0_HSC, + CLK_SASYNCPER, CLK_SV_VIP, CLK_SV_IR, CLK_SDSRC, @@ -84,6 +85,7 @@ DEF_FIXED(".s0_vio", CLK_S0_VIO, CLK_PLL1_DIV2, 2, 1), DEF_FIXED(".s0_vc", CLK_S0_VC, CLK_PLL1_DIV2, 2, 1), DEF_FIXED(".s0_hsc", CLK_S0_HSC, CLK_PLL1_DIV2, 2, 1), + DEF_FIXED(".sasyncper", CLK_SASYNCPER, CLK_PLL5_DIV4, 3, 1), DEF_FIXED(".sv_vip", CLK_SV_VIP, CLK_PLL1, 5, 1), DEF_FIXED(".sv_ir", CLK_SV_IR, CLK_PLL1, 5, 1), DEF_BASE(".sdsrc", CLK_SDSRC, CLK_TYPE_GEN4_SDSRC, CLK_PLL5), @@ -128,6 +130,9 @@ DEF_FIXED("s0d4_hsc", R8A779G0_CLK_S0D4_HSC, CLK_S0_HSC, 4, 1), DEF_FIXED("cl16m_hsc", R8A779G0_CLK_CL16M_HSC, CLK_S0_HSC, 48, 1), DEF_FIXED("s0d2_cc", R8A779G0_CLK_S0D2_CC, CLK_S0, 2, 1), + DEF_FIXED("sasyncperd1",R8A779G0_CLK_SASYNCPERD1, CLK_SASYNCPER,1, 1), + DEF_FIXED("sasyncperd2",R8A779G0_CLK_SASYNCPERD2, CLK_SASYNCPER,2, 1), + DEF_FIXED("sasyncperd4",R8A779G0_CLK_SASYNCPERD4, CLK_SASYNCPER,4, 1), DEF_FIXED("svd1_ir", R8A779G0_CLK_SVD1_IR, CLK_SV_IR, 1, 1), DEF_FIXED("svd2_ir", R8A779G0_CLK_SVD2_IR, CLK_SV_IR, 2, 1), DEF_FIXED("svd1_vip", R8A779G0_CLK_SVD1_VIP, CLK_SV_VIP, 1, 1), @@ -150,10 +155,10 @@ }; static const struct mssr_mod_clk r8a779g0_mod_clks[] __initconst = { - DEF_MOD("hscif0", 514, R8A779G0_CLK_S0D3_PER), - DEF_MOD("hscif1", 515, R8A779G0_CLK_S0D3_PER), - DEF_MOD("hscif2", 516, R8A779G0_CLK_S0D3_PER), - DEF_MOD("hscif3", 517, R8A779G0_CLK_S0D3_PER), + DEF_MOD("hscif0", 514, R8A779G0_CLK_SASYNCPERD1), + DEF_MOD("hscif1", 515, R8A779G0_CLK_SASYNCPERD1), + DEF_MOD("hscif2", 516, R8A779G0_CLK_SASYNCPERD1), + DEF_MOD("hscif3", 517, R8A779G0_CLK_SASYNCPERD1), }; /* --- linux-gcp-5.19.0.orig/drivers/clk/renesas/r9a06g032-clocks.c +++ linux-gcp-5.19.0/drivers/clk/renesas/r9a06g032-clocks.c @@ -290,8 +290,8 @@ .name = "uart_group_012", .type = K_BITSEL, .source = 1 + R9A06G032_DIV_UART, - /* R9A06G032_SYSCTRL_REG_PWRCTRL_PG1_PR2 */ - .dual.sel = ((0xec / 4) << 5) | 24, + /* R9A06G032_SYSCTRL_REG_PWRCTRL_PG0_0 */ + .dual.sel = ((0x34 / 4) << 5) | 30, .dual.group = 0, }, { @@ -299,8 +299,8 @@ .name = "uart_group_34567", .type = K_BITSEL, .source = 1 + R9A06G032_DIV_P2_PG, - /* R9A06G032_SYSCTRL_REG_PWRCTRL_PG0_0 */ - .dual.sel = ((0x34 / 4) << 5) | 30, + /* R9A06G032_SYSCTRL_REG_PWRCTRL_PG1_PR2 */ + .dual.sel = ((0xec / 4) << 5) | 24, .dual.group = 1, }, D_UGATE(CLK_UART0, "clk_uart0", UART_GROUP_012, 0, 0, 0x1b2, 0x1b3, 0x1b4, 0x1b5), @@ -414,7 +414,7 @@ int error; int index; - while (!of_parse_phandle_with_args(np, "clocks", "#clock-cells", i, + while (!of_parse_phandle_with_args(np, "clocks", "#clock-cells", i++, &clkspec)) { if (clkspec.np != pd->dev.of_node) continue; @@ -427,7 +427,6 @@ if (error) return error; } - i++; } return 0; --- linux-gcp-5.19.0.orig/drivers/clk/renesas/rzg2l-cpg.c +++ linux-gcp-5.19.0/drivers/clk/renesas/rzg2l-cpg.c @@ -1180,7 +1180,7 @@ s8 monbit = info->resets[id].monbit; if (info->has_clk_mon_regs) { - return !(readl(priv->base + CLK_MRST_R(reg)) & bitmask); + return !!(readl(priv->base + CLK_MRST_R(reg)) & bitmask); } else if (monbit >= 0) { u32 monbitmask = BIT(monbit); --- linux-gcp-5.19.0.orig/drivers/clk/rockchip/clk-pll.c +++ linux-gcp-5.19.0/drivers/clk/rockchip/clk-pll.c @@ -981,6 +981,7 @@ return mux_clk; err_pll: + kfree(pll->rate_table); clk_unregister(mux_clk); mux_clk = pll_clk; err_mux: --- linux-gcp-5.19.0.orig/drivers/clk/samsung/clk-exynos7885.c +++ linux-gcp-5.19.0/drivers/clk/samsung/clk-exynos7885.c @@ -182,7 +182,7 @@ CLK_CON_DIV_PLL_SHARED0_DIV2, 0, 1), DIV(CLK_DOUT_SHARED0_DIV3, "dout_shared0_div3", "fout_shared0_pll", CLK_CON_DIV_PLL_SHARED0_DIV3, 0, 2), - DIV(CLK_DOUT_SHARED0_DIV4, "dout_shared0_div4", "fout_shared0_pll", + DIV(CLK_DOUT_SHARED0_DIV4, "dout_shared0_div4", "dout_shared0_div2", CLK_CON_DIV_PLL_SHARED0_DIV4, 0, 1), DIV(CLK_DOUT_SHARED0_DIV5, "dout_shared0_div5", "fout_shared0_pll", CLK_CON_DIV_PLL_SHARED0_DIV5, 0, 3), @@ -190,7 +190,7 @@ CLK_CON_DIV_PLL_SHARED1_DIV2, 0, 1), DIV(CLK_DOUT_SHARED1_DIV3, "dout_shared1_div3", "fout_shared1_pll", CLK_CON_DIV_PLL_SHARED1_DIV3, 0, 2), - DIV(CLK_DOUT_SHARED1_DIV4, "dout_shared1_div4", "fout_shared1_pll", + DIV(CLK_DOUT_SHARED1_DIV4, "dout_shared1_div4", "dout_shared1_div2", CLK_CON_DIV_PLL_SHARED1_DIV4, 0, 1), /* CORE */ --- linux-gcp-5.19.0.orig/drivers/clk/samsung/clk-exynosautov9.c +++ linux-gcp-5.19.0/drivers/clk/samsung/clk-exynosautov9.c @@ -1170,9 +1170,9 @@ #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_2 0x2058 #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_3 0x205c #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_4 0x2060 -#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_7 0x206c #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_5 0x2064 #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_6 0x2068 +#define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_7 0x206c #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_8 0x2070 #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_9 0x2074 #define CLK_CON_GAT_GOUT_BLK_PERIC0_UID_PERIC0_TOP0_IPCLKPORT_PCLK_10 0x204c @@ -1418,14 +1418,14 @@ #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_IPCLK_11 0x2020 #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_0 0x2044 #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_1 0x2048 -#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_2 0x2058 -#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_3 0x205c -#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_4 0x2060 -#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_7 0x206c -#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_5 0x2064 -#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_6 0x2068 -#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_8 0x2070 -#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_9 0x2074 +#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_2 0x2054 +#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_3 0x2058 +#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_4 0x205c +#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_5 0x2060 +#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_6 0x2064 +#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_7 0x2068 +#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_8 0x206c +#define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_9 0x2070 #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_10 0x204c #define CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_11 0x2050 @@ -1463,9 +1463,9 @@ CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_2, CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_3, CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_4, - CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_7, CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_5, CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_6, + CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_7, CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_8, CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_9, CLK_CON_GAT_GOUT_BLK_PERIC1_UID_PERIC1_TOP0_IPCLKPORT_PCLK_10, --- linux-gcp-5.19.0.orig/drivers/clk/samsung/clk-pll.c +++ linux-gcp-5.19.0/drivers/clk/samsung/clk-pll.c @@ -1583,6 +1583,7 @@ if (ret) { pr_err("%s: failed to register pll clock %s : %d\n", __func__, pll_clk->name, ret); + kfree(pll->rate_table); kfree(pll); return; } --- linux-gcp-5.19.0.orig/drivers/clk/socfpga/clk-gate.c +++ linux-gcp-5.19.0/drivers/clk/socfpga/clk-gate.c @@ -188,8 +188,10 @@ return; ops = kmemdup(&gateclk_ops, sizeof(gateclk_ops), GFP_KERNEL); - if (WARN_ON(!ops)) + if (WARN_ON(!ops)) { + kfree(socfpga_clk); return; + } rc = of_property_read_u32_array(node, "clk-gate", clk_gate, 2); if (rc) @@ -243,6 +245,7 @@ err = clk_hw_register(NULL, hw_clk); if (err) { + kfree(ops); kfree(socfpga_clk); return; } --- linux-gcp-5.19.0.orig/drivers/clk/sprd/common.c +++ linux-gcp-5.19.0/drivers/clk/sprd/common.c @@ -41,7 +41,7 @@ { void __iomem *base; struct device *dev = &pdev->dev; - struct device_node *node = dev->of_node; + struct device_node *node = dev->of_node, *np; struct regmap *regmap; if (of_find_property(node, "sprd,syscon", NULL)) { @@ -50,9 +50,10 @@ pr_err("%s: failed to get syscon regmap\n", __func__); return PTR_ERR(regmap); } - } else if (of_device_is_compatible(of_get_parent(dev->of_node), - "syscon")) { - regmap = device_node_to_regmap(of_get_parent(dev->of_node)); + } else if (of_device_is_compatible(np = of_get_parent(node), "syscon") || + (of_node_put(np), 0)) { + regmap = device_node_to_regmap(np); + of_node_put(np); if (IS_ERR(regmap)) { dev_err(dev, "failed to get regmap from its parent.\n"); return PTR_ERR(regmap); --- linux-gcp-5.19.0.orig/drivers/clk/st/clkgen-fsyn.c +++ linux-gcp-5.19.0/drivers/clk/st/clkgen-fsyn.c @@ -987,6 +987,7 @@ const char *pll_name, *clk_parent_name; void __iomem *reg; spinlock_t *lock; + struct device_node *parent_np; /* * First check for reg property within the node to keep backward @@ -994,7 +995,9 @@ */ reg = of_iomap(np, 0); if (!reg) { - reg = of_iomap(of_get_parent(np), 0); + parent_np = of_get_parent(np); + reg = of_iomap(parent_np, 0); + of_node_put(parent_np); if (!reg) { pr_err("%s: Failed to get base address\n", __func__); return; @@ -1017,9 +1020,10 @@ clk = st_clk_register_quadfs_pll(pll_name, clk_parent_name, datac->data, reg, lock); - if (IS_ERR(clk)) + if (IS_ERR(clk)) { + kfree(lock); goto err_exit; - else + } else pr_debug("%s: parent %s rate %u\n", __clk_get_name(clk), __clk_get_name(clk_get_parent(clk)), --- linux-gcp-5.19.0.orig/drivers/clk/st/clkgen-mux.c +++ linux-gcp-5.19.0/drivers/clk/st/clkgen-mux.c @@ -56,6 +56,7 @@ void __iomem *reg; const char **parents; int num_parents = 0; + struct device_node *parent_np; /* * First check for reg property within the node to keep backward @@ -63,7 +64,9 @@ */ reg = of_iomap(np, 0); if (!reg) { - reg = of_iomap(of_get_parent(np), 0); + parent_np = of_get_parent(np); + reg = of_iomap(parent_np, 0); + of_node_put(parent_np); if (!reg) { pr_err("%s: Failed to get base address\n", __func__); return; --- linux-gcp-5.19.0.orig/drivers/clk/tegra/clk-tegra114.c +++ linux-gcp-5.19.0/drivers/clk/tegra/clk-tegra114.c @@ -1166,6 +1166,7 @@ { TEGRA114_CLK_I2S3_SYNC, TEGRA114_CLK_CLK_MAX, 24000000, 0 }, { TEGRA114_CLK_I2S4_SYNC, TEGRA114_CLK_CLK_MAX, 24000000, 0 }, { TEGRA114_CLK_VIMCLK_SYNC, TEGRA114_CLK_CLK_MAX, 24000000, 0 }, + { TEGRA114_CLK_PWM, TEGRA114_CLK_PLL_P, 408000000, 0 }, /* must be the last entry */ { TEGRA114_CLK_CLK_MAX, TEGRA114_CLK_CLK_MAX, 0, 0 }, }; @@ -1317,6 +1318,7 @@ } pmc_base = of_iomap(node, 0); + of_node_put(node); if (!pmc_base) { pr_err("Can't map pmc registers\n"); WARN_ON(1); --- linux-gcp-5.19.0.orig/drivers/clk/tegra/clk-tegra124.c +++ linux-gcp-5.19.0/drivers/clk/tegra/clk-tegra124.c @@ -1330,6 +1330,7 @@ { TEGRA124_CLK_I2S3_SYNC, TEGRA124_CLK_CLK_MAX, 24576000, 0 }, { TEGRA124_CLK_I2S4_SYNC, TEGRA124_CLK_CLK_MAX, 24576000, 0 }, { TEGRA124_CLK_VIMCLK_SYNC, TEGRA124_CLK_CLK_MAX, 24576000, 0 }, + { TEGRA124_CLK_PWM, TEGRA124_CLK_PLL_P, 408000000, 0 }, /* must be the last entry */ { TEGRA124_CLK_CLK_MAX, TEGRA124_CLK_CLK_MAX, 0, 0 }, }; --- linux-gcp-5.19.0.orig/drivers/clk/tegra/clk-tegra20.c +++ linux-gcp-5.19.0/drivers/clk/tegra/clk-tegra20.c @@ -1044,6 +1044,7 @@ { TEGRA20_CLK_GR2D, TEGRA20_CLK_PLL_C, 300000000, 0 }, { TEGRA20_CLK_GR3D, TEGRA20_CLK_PLL_C, 300000000, 0 }, { TEGRA20_CLK_VDE, TEGRA20_CLK_PLL_C, 300000000, 0 }, + { TEGRA20_CLK_PWM, TEGRA20_CLK_PLL_P, 48000000, 0 }, /* must be the last entry */ { TEGRA20_CLK_CLK_MAX, TEGRA20_CLK_CLK_MAX, 0, 0 }, }; @@ -1131,6 +1132,7 @@ } pmc_base = of_iomap(node, 0); + of_node_put(node); if (!pmc_base) { pr_err("Can't map pmc registers\n"); BUG(); --- linux-gcp-5.19.0.orig/drivers/clk/tegra/clk-tegra210.c +++ linux-gcp-5.19.0/drivers/clk/tegra/clk-tegra210.c @@ -3597,6 +3597,7 @@ { TEGRA210_CLK_VIMCLK_SYNC, TEGRA210_CLK_CLK_MAX, 24576000, 0 }, { TEGRA210_CLK_HDA, TEGRA210_CLK_PLL_P, 51000000, 0 }, { TEGRA210_CLK_HDA2CODEC_2X, TEGRA210_CLK_PLL_P, 48000000, 0 }, + { TEGRA210_CLK_PWM, TEGRA210_CLK_PLL_P, 48000000, 0 }, /* This MUST be the last entry. */ { TEGRA210_CLK_CLK_MAX, TEGRA210_CLK_CLK_MAX, 0, 0 }, }; @@ -3748,6 +3749,7 @@ } pmc_base = of_iomap(node, 0); + of_node_put(node); if (!pmc_base) { pr_err("Can't map pmc registers\n"); WARN_ON(1); --- linux-gcp-5.19.0.orig/drivers/clk/tegra/clk-tegra30.c +++ linux-gcp-5.19.0/drivers/clk/tegra/clk-tegra30.c @@ -1237,6 +1237,7 @@ { TEGRA30_CLK_VIMCLK_SYNC, TEGRA30_CLK_CLK_MAX, 24000000, 0 }, { TEGRA30_CLK_HDA, TEGRA30_CLK_PLL_P, 102000000, 0 }, { TEGRA30_CLK_HDA2CODEC_2X, TEGRA30_CLK_PLL_P, 48000000, 0 }, + { TEGRA30_CLK_PWM, TEGRA30_CLK_PLL_P, 48000000, 0 }, /* must be the last entry */ { TEGRA30_CLK_CLK_MAX, TEGRA30_CLK_CLK_MAX, 0, 0 }, }; --- linux-gcp-5.19.0.orig/drivers/clk/ti/clk-dra7-atl.c +++ linux-gcp-5.19.0/drivers/clk/ti/clk-dra7-atl.c @@ -253,14 +253,16 @@ if (rc) { pr_err("%s: failed to lookup atl clock %d\n", __func__, i); - return -EINVAL; + ret = -EINVAL; + goto pm_put; } clk = of_clk_get_from_provider(&clkspec); if (IS_ERR(clk)) { pr_err("%s: failed to get atl clock %d from provider\n", __func__, i); - return PTR_ERR(clk); + ret = PTR_ERR(clk); + goto pm_put; } cdesc = to_atl_desc(__clk_get_hw(clk)); @@ -293,8 +295,9 @@ if (cdesc->enabled) atl_clk_enable(__clk_get_hw(clk)); } - pm_runtime_put_sync(cinfo->dev); +pm_put: + pm_runtime_put_sync(cinfo->dev); return ret; } --- linux-gcp-5.19.0.orig/drivers/clk/ti/clk.c +++ linux-gcp-5.19.0/drivers/clk/ti/clk.c @@ -143,15 +143,17 @@ continue; if (!strncmp(n, tmp, strlen(tmp))) { + of_node_get(np); found = true; break; } } - of_node_put(from); kfree(tmp); - if (found) + if (found) { + of_node_put(from); return np; + } /* Fall back to using old node name base provider name */ return of_find_node_by_name(from, name); --- linux-gcp-5.19.0.orig/drivers/clk/visconti/pll.c +++ linux-gcp-5.19.0/drivers/clk/visconti/pll.c @@ -277,6 +277,7 @@ ret = clk_hw_register(NULL, &pll->hw); if (ret) { pr_err("failed to register pll clock %s : %d\n", name, ret); + kfree(pll->rate_table); kfree(pll); pll_hw_clk = ERR_PTR(ret); } --- linux-gcp-5.19.0.orig/drivers/clk/x86/Kconfig +++ linux-gcp-5.19.0/drivers/clk/x86/Kconfig @@ -1,8 +1,9 @@ # SPDX-License-Identifier: GPL-2.0-only config CLK_LGM_CGU depends on OF && HAS_IOMEM && (X86 || COMPILE_TEST) + select MFD_SYSCON select OF_EARLY_FLATTREE bool "Clock driver for Lightning Mountain(LGM) platform" help - Clock Generation Unit(CGU) driver for Intel Lightning Mountain(LGM) - network processor SoC. + Clock Generation Unit(CGU) driver for MaxLinear's x86 based + Lightning Mountain(LGM) network processor SoC. --- linux-gcp-5.19.0.orig/drivers/clk/x86/clk-cgu-pll.c +++ linux-gcp-5.19.0/drivers/clk/x86/clk-cgu-pll.c @@ -1,8 +1,9 @@ // SPDX-License-Identifier: GPL-2.0 /* + * Copyright (C) 2020-2022 MaxLinear, Inc. * Copyright (C) 2020 Intel Corporation. - * Zhu YiXin - * Rahul Tanwar + * Zhu Yixin + * Rahul Tanwar */ #include @@ -40,13 +41,10 @@ { struct lgm_clk_pll *pll = to_lgm_clk_pll(hw); unsigned int div, mult, frac; - unsigned long flags; - spin_lock_irqsave(&pll->lock, flags); mult = lgm_get_clk_val(pll->membase, PLL_REF_DIV(pll->reg), 0, 12); div = lgm_get_clk_val(pll->membase, PLL_REF_DIV(pll->reg), 18, 6); frac = lgm_get_clk_val(pll->membase, pll->reg, 2, 24); - spin_unlock_irqrestore(&pll->lock, flags); if (pll->type == TYPE_LJPLL) div *= 4; @@ -57,12 +55,9 @@ static int lgm_pll_is_enabled(struct clk_hw *hw) { struct lgm_clk_pll *pll = to_lgm_clk_pll(hw); - unsigned long flags; unsigned int ret; - spin_lock_irqsave(&pll->lock, flags); ret = lgm_get_clk_val(pll->membase, pll->reg, 0, 1); - spin_unlock_irqrestore(&pll->lock, flags); return ret; } @@ -70,15 +65,13 @@ static int lgm_pll_enable(struct clk_hw *hw) { struct lgm_clk_pll *pll = to_lgm_clk_pll(hw); - unsigned long flags; u32 val; int ret; - spin_lock_irqsave(&pll->lock, flags); lgm_set_clk_val(pll->membase, pll->reg, 0, 1, 1); - ret = readl_poll_timeout_atomic(pll->membase + pll->reg, - val, (val & 0x1), 1, 100); - spin_unlock_irqrestore(&pll->lock, flags); + ret = regmap_read_poll_timeout_atomic(pll->membase, pll->reg, + val, (val & 0x1), 1, 100); + return ret; } @@ -86,11 +79,8 @@ static void lgm_pll_disable(struct clk_hw *hw) { struct lgm_clk_pll *pll = to_lgm_clk_pll(hw); - unsigned long flags; - spin_lock_irqsave(&pll->lock, flags); lgm_set_clk_val(pll->membase, pll->reg, 0, 1, 0); - spin_unlock_irqrestore(&pll->lock, flags); } static const struct clk_ops lgm_pll_ops = { @@ -121,7 +111,6 @@ return ERR_PTR(-ENOMEM); pll->membase = ctx->membase; - pll->lock = ctx->lock; pll->reg = list->reg; pll->flags = list->flags; pll->type = list->type; --- linux-gcp-5.19.0.orig/drivers/clk/x86/clk-cgu.c +++ linux-gcp-5.19.0/drivers/clk/x86/clk-cgu.c @@ -1,8 +1,9 @@ // SPDX-License-Identifier: GPL-2.0 /* + * Copyright (C) 2020-2022 MaxLinear, Inc. * Copyright (C) 2020 Intel Corporation. - * Zhu YiXin - * Rahul Tanwar + * Zhu Yixin + * Rahul Tanwar */ #include #include @@ -24,14 +25,10 @@ static struct clk_hw *lgm_clk_register_fixed(struct lgm_clk_provider *ctx, const struct lgm_clk_branch *list) { - unsigned long flags; - if (list->div_flags & CLOCK_FLAG_VAL_INIT) { - spin_lock_irqsave(&ctx->lock, flags); + if (list->div_flags & CLOCK_FLAG_VAL_INIT) lgm_set_clk_val(ctx->membase, list->div_off, list->div_shift, list->div_width, list->div_val); - spin_unlock_irqrestore(&ctx->lock, flags); - } return clk_hw_register_fixed_rate(NULL, list->name, list->parent_data[0].name, @@ -41,33 +38,27 @@ static u8 lgm_clk_mux_get_parent(struct clk_hw *hw) { struct lgm_clk_mux *mux = to_lgm_clk_mux(hw); - unsigned long flags; u32 val; - spin_lock_irqsave(&mux->lock, flags); if (mux->flags & MUX_CLK_SW) val = mux->reg; else val = lgm_get_clk_val(mux->membase, mux->reg, mux->shift, mux->width); - spin_unlock_irqrestore(&mux->lock, flags); return clk_mux_val_to_index(hw, NULL, mux->flags, val); } static int lgm_clk_mux_set_parent(struct clk_hw *hw, u8 index) { struct lgm_clk_mux *mux = to_lgm_clk_mux(hw); - unsigned long flags; u32 val; val = clk_mux_index_to_val(NULL, mux->flags, index); - spin_lock_irqsave(&mux->lock, flags); if (mux->flags & MUX_CLK_SW) mux->reg = val; else lgm_set_clk_val(mux->membase, mux->reg, mux->shift, mux->width, val); - spin_unlock_irqrestore(&mux->lock, flags); return 0; } @@ -90,7 +81,7 @@ lgm_clk_register_mux(struct lgm_clk_provider *ctx, const struct lgm_clk_branch *list) { - unsigned long flags, cflags = list->mux_flags; + unsigned long cflags = list->mux_flags; struct device *dev = ctx->dev; u8 shift = list->mux_shift; u8 width = list->mux_width; @@ -111,7 +102,6 @@ init.num_parents = list->num_parents; mux->membase = ctx->membase; - mux->lock = ctx->lock; mux->reg = reg; mux->shift = shift; mux->width = width; @@ -123,11 +113,8 @@ if (ret) return ERR_PTR(ret); - if (cflags & CLOCK_FLAG_VAL_INIT) { - spin_lock_irqsave(&mux->lock, flags); + if (cflags & CLOCK_FLAG_VAL_INIT) lgm_set_clk_val(mux->membase, reg, shift, width, list->mux_val); - spin_unlock_irqrestore(&mux->lock, flags); - } return hw; } @@ -136,13 +123,10 @@ lgm_clk_divider_recalc_rate(struct clk_hw *hw, unsigned long parent_rate) { struct lgm_clk_divider *divider = to_lgm_clk_divider(hw); - unsigned long flags; unsigned int val; - spin_lock_irqsave(÷r->lock, flags); val = lgm_get_clk_val(divider->membase, divider->reg, divider->shift, divider->width); - spin_unlock_irqrestore(÷r->lock, flags); return divider_recalc_rate(hw, parent_rate, val, divider->table, divider->flags, divider->width); @@ -163,7 +147,6 @@ unsigned long prate) { struct lgm_clk_divider *divider = to_lgm_clk_divider(hw); - unsigned long flags; int value; value = divider_get_val(rate, prate, divider->table, @@ -171,10 +154,8 @@ if (value < 0) return value; - spin_lock_irqsave(÷r->lock, flags); lgm_set_clk_val(divider->membase, divider->reg, divider->shift, divider->width, value); - spin_unlock_irqrestore(÷r->lock, flags); return 0; } @@ -182,12 +163,10 @@ static int lgm_clk_divider_enable_disable(struct clk_hw *hw, int enable) { struct lgm_clk_divider *div = to_lgm_clk_divider(hw); - unsigned long flags; - spin_lock_irqsave(&div->lock, flags); - lgm_set_clk_val(div->membase, div->reg, div->shift_gate, - div->width_gate, enable); - spin_unlock_irqrestore(&div->lock, flags); + if (div->flags != DIV_CLK_NO_MASK) + lgm_set_clk_val(div->membase, div->reg, div->shift_gate, + div->width_gate, enable); return 0; } @@ -213,7 +192,7 @@ lgm_clk_register_divider(struct lgm_clk_provider *ctx, const struct lgm_clk_branch *list) { - unsigned long flags, cflags = list->div_flags; + unsigned long cflags = list->div_flags; struct device *dev = ctx->dev; struct lgm_clk_divider *div; struct clk_init_data init = {}; @@ -236,7 +215,6 @@ init.num_parents = 1; div->membase = ctx->membase; - div->lock = ctx->lock; div->reg = reg; div->shift = shift; div->width = width; @@ -251,11 +229,8 @@ if (ret) return ERR_PTR(ret); - if (cflags & CLOCK_FLAG_VAL_INIT) { - spin_lock_irqsave(&div->lock, flags); + if (cflags & CLOCK_FLAG_VAL_INIT) lgm_set_clk_val(div->membase, reg, shift, width, list->div_val); - spin_unlock_irqrestore(&div->lock, flags); - } return hw; } @@ -264,7 +239,6 @@ lgm_clk_register_fixed_factor(struct lgm_clk_provider *ctx, const struct lgm_clk_branch *list) { - unsigned long flags; struct clk_hw *hw; hw = clk_hw_register_fixed_factor(ctx->dev, list->name, @@ -273,12 +247,9 @@ if (IS_ERR(hw)) return ERR_CAST(hw); - if (list->div_flags & CLOCK_FLAG_VAL_INIT) { - spin_lock_irqsave(&ctx->lock, flags); + if (list->div_flags & CLOCK_FLAG_VAL_INIT) lgm_set_clk_val(ctx->membase, list->div_off, list->div_shift, list->div_width, list->div_val); - spin_unlock_irqrestore(&ctx->lock, flags); - } return hw; } @@ -286,13 +257,10 @@ static int lgm_clk_gate_enable(struct clk_hw *hw) { struct lgm_clk_gate *gate = to_lgm_clk_gate(hw); - unsigned long flags; unsigned int reg; - spin_lock_irqsave(&gate->lock, flags); reg = GATE_HW_REG_EN(gate->reg); lgm_set_clk_val(gate->membase, reg, gate->shift, 1, 1); - spin_unlock_irqrestore(&gate->lock, flags); return 0; } @@ -300,25 +268,19 @@ static void lgm_clk_gate_disable(struct clk_hw *hw) { struct lgm_clk_gate *gate = to_lgm_clk_gate(hw); - unsigned long flags; unsigned int reg; - spin_lock_irqsave(&gate->lock, flags); reg = GATE_HW_REG_DIS(gate->reg); lgm_set_clk_val(gate->membase, reg, gate->shift, 1, 1); - spin_unlock_irqrestore(&gate->lock, flags); } static int lgm_clk_gate_is_enabled(struct clk_hw *hw) { struct lgm_clk_gate *gate = to_lgm_clk_gate(hw); unsigned int reg, ret; - unsigned long flags; - spin_lock_irqsave(&gate->lock, flags); reg = GATE_HW_REG_STAT(gate->reg); ret = lgm_get_clk_val(gate->membase, reg, gate->shift, 1); - spin_unlock_irqrestore(&gate->lock, flags); return ret; } @@ -333,7 +295,7 @@ lgm_clk_register_gate(struct lgm_clk_provider *ctx, const struct lgm_clk_branch *list) { - unsigned long flags, cflags = list->gate_flags; + unsigned long cflags = list->gate_flags; const char *pname = list->parent_data[0].name; struct device *dev = ctx->dev; u8 shift = list->gate_shift; @@ -354,7 +316,6 @@ init.num_parents = pname ? 1 : 0; gate->membase = ctx->membase; - gate->lock = ctx->lock; gate->reg = reg; gate->shift = shift; gate->flags = cflags; @@ -366,9 +327,7 @@ return ERR_PTR(ret); if (cflags & CLOCK_FLAG_VAL_INIT) { - spin_lock_irqsave(&gate->lock, flags); lgm_set_clk_val(gate->membase, reg, shift, 1, list->gate_val); - spin_unlock_irqrestore(&gate->lock, flags); } return hw; @@ -396,8 +355,22 @@ hw = lgm_clk_register_fixed_factor(ctx, list); break; case CLK_TYPE_GATE: - hw = lgm_clk_register_gate(ctx, list); + if (list->gate_flags & GATE_CLK_HW) { + hw = lgm_clk_register_gate(ctx, list); + } else { + /* + * GATE_CLKs can be controlled either from + * CGU clk driver i.e. this driver or directly + * from power management driver/daemon. It is + * dependent on the power policy/profile requirements + * of the end product. To override control of gate + * clks from this driver, provide NULL for this index + * of gate clk provider. + */ + hw = NULL; + } break; + default: dev_err(ctx->dev, "invalid clk type\n"); return -EINVAL; @@ -443,24 +416,18 @@ static int lgm_clk_ddiv_enable(struct clk_hw *hw) { struct lgm_clk_ddiv *ddiv = to_lgm_clk_ddiv(hw); - unsigned long flags; - spin_lock_irqsave(&ddiv->lock, flags); lgm_set_clk_val(ddiv->membase, ddiv->reg, ddiv->shift_gate, ddiv->width_gate, 1); - spin_unlock_irqrestore(&ddiv->lock, flags); return 0; } static void lgm_clk_ddiv_disable(struct clk_hw *hw) { struct lgm_clk_ddiv *ddiv = to_lgm_clk_ddiv(hw); - unsigned long flags; - spin_lock_irqsave(&ddiv->lock, flags); lgm_set_clk_val(ddiv->membase, ddiv->reg, ddiv->shift_gate, ddiv->width_gate, 0); - spin_unlock_irqrestore(&ddiv->lock, flags); } static int @@ -497,32 +464,25 @@ { struct lgm_clk_ddiv *ddiv = to_lgm_clk_ddiv(hw); u32 div, ddiv1, ddiv2; - unsigned long flags; div = DIV_ROUND_CLOSEST_ULL((u64)prate, rate); - spin_lock_irqsave(&ddiv->lock, flags); if (lgm_get_clk_val(ddiv->membase, ddiv->reg, ddiv->shift2, 1)) { div = DIV_ROUND_CLOSEST_ULL((u64)div, 5); div = div * 2; } - if (div <= 0) { - spin_unlock_irqrestore(&ddiv->lock, flags); + if (div <= 0) return -EINVAL; - } - if (lgm_clk_get_ddiv_val(div, &ddiv1, &ddiv2)) { - spin_unlock_irqrestore(&ddiv->lock, flags); + if (lgm_clk_get_ddiv_val(div, &ddiv1, &ddiv2)) return -EINVAL; - } lgm_set_clk_val(ddiv->membase, ddiv->reg, ddiv->shift0, ddiv->width0, ddiv1 - 1); lgm_set_clk_val(ddiv->membase, ddiv->reg, ddiv->shift1, ddiv->width1, ddiv2 - 1); - spin_unlock_irqrestore(&ddiv->lock, flags); return 0; } @@ -533,18 +493,15 @@ { struct lgm_clk_ddiv *ddiv = to_lgm_clk_ddiv(hw); u32 div, ddiv1, ddiv2; - unsigned long flags; u64 rate64; div = DIV_ROUND_CLOSEST_ULL((u64)*prate, rate); /* if predivide bit is enabled, modify div by factor of 2.5 */ - spin_lock_irqsave(&ddiv->lock, flags); if (lgm_get_clk_val(ddiv->membase, ddiv->reg, ddiv->shift2, 1)) { div = div * 2; div = DIV_ROUND_CLOSEST_ULL((u64)div, 5); } - spin_unlock_irqrestore(&ddiv->lock, flags); if (div <= 0) return *prate; @@ -558,12 +515,10 @@ do_div(rate64, ddiv2); /* if predivide bit is enabled, modify rounded rate by factor of 2.5 */ - spin_lock_irqsave(&ddiv->lock, flags); if (lgm_get_clk_val(ddiv->membase, ddiv->reg, ddiv->shift2, 1)) { rate64 = rate64 * 2; rate64 = DIV_ROUND_CLOSEST_ULL(rate64, 5); } - spin_unlock_irqrestore(&ddiv->lock, flags); return rate64; } @@ -600,7 +555,6 @@ init.num_parents = 1; ddiv->membase = ctx->membase; - ddiv->lock = ctx->lock; ddiv->reg = list->reg; ddiv->shift0 = list->shift0; ddiv->width0 = list->width0; --- linux-gcp-5.19.0.orig/drivers/clk/x86/clk-cgu.h +++ linux-gcp-5.19.0/drivers/clk/x86/clk-cgu.h @@ -1,28 +1,28 @@ /* SPDX-License-Identifier: GPL-2.0 */ /* - * Copyright(c) 2020 Intel Corporation. - * Zhu YiXin - * Rahul Tanwar + * Copyright (C) 2020-2022 MaxLinear, Inc. + * Copyright (C) 2020 Intel Corporation. + * Zhu Yixin + * Rahul Tanwar */ #ifndef __CLK_CGU_H #define __CLK_CGU_H -#include +#include struct lgm_clk_mux { struct clk_hw hw; - void __iomem *membase; + struct regmap *membase; unsigned int reg; u8 shift; u8 width; unsigned long flags; - spinlock_t lock; }; struct lgm_clk_divider { struct clk_hw hw; - void __iomem *membase; + struct regmap *membase; unsigned int reg; u8 shift; u8 width; @@ -30,12 +30,11 @@ u8 width_gate; unsigned long flags; const struct clk_div_table *table; - spinlock_t lock; }; struct lgm_clk_ddiv { struct clk_hw hw; - void __iomem *membase; + struct regmap *membase; unsigned int reg; u8 shift0; u8 width0; @@ -48,16 +47,14 @@ unsigned int mult; unsigned int div; unsigned long flags; - spinlock_t lock; }; struct lgm_clk_gate { struct clk_hw hw; - void __iomem *membase; + struct regmap *membase; unsigned int reg; u8 shift; unsigned long flags; - spinlock_t lock; }; enum lgm_clk_type { @@ -77,11 +74,10 @@ * @clk_data: array of hw clocks and clk number. */ struct lgm_clk_provider { - void __iomem *membase; + struct regmap *membase; struct device_node *np; struct device *dev; struct clk_hw_onecell_data clk_data; - spinlock_t lock; }; enum pll_type { @@ -92,11 +88,10 @@ struct lgm_clk_pll { struct clk_hw hw; - void __iomem *membase; + struct regmap *membase; unsigned int reg; unsigned long flags; enum pll_type type; - spinlock_t lock; }; /** @@ -202,6 +197,8 @@ /* clock flags definition */ #define CLOCK_FLAG_VAL_INIT BIT(16) #define MUX_CLK_SW BIT(17) +#define GATE_CLK_HW BIT(18) +#define DIV_CLK_NO_MASK BIT(19) #define LGM_MUX(_id, _name, _pdata, _f, _reg, \ _shift, _width, _cf, _v) \ @@ -300,29 +297,32 @@ .div = _d, \ } -static inline void lgm_set_clk_val(void __iomem *membase, u32 reg, +static inline void lgm_set_clk_val(struct regmap *membase, u32 reg, u8 shift, u8 width, u32 set_val) { u32 mask = (GENMASK(width - 1, 0) << shift); - u32 regval; - regval = readl(membase + reg); - regval = (regval & ~mask) | ((set_val << shift) & mask); - writel(regval, membase + reg); + regmap_update_bits(membase, reg, mask, set_val << shift); } -static inline u32 lgm_get_clk_val(void __iomem *membase, u32 reg, +static inline u32 lgm_get_clk_val(struct regmap *membase, u32 reg, u8 shift, u8 width) { u32 mask = (GENMASK(width - 1, 0) << shift); u32 val; - val = readl(membase + reg); + if (regmap_read(membase, reg, &val)) { + WARN_ONCE(1, "Failed to read clk reg: 0x%x\n", reg); + return 0; + } + val = (val & mask) >> shift; return val; } + + int lgm_clk_register_branches(struct lgm_clk_provider *ctx, const struct lgm_clk_branch *list, unsigned int nr_clk); --- linux-gcp-5.19.0.orig/drivers/clk/x86/clk-lgm.c +++ linux-gcp-5.19.0/drivers/clk/x86/clk-lgm.c @@ -1,10 +1,12 @@ // SPDX-License-Identifier: GPL-2.0 /* + * Copyright (C) 2020-2022 MaxLinear, Inc. * Copyright (C) 2020 Intel Corporation. - * Zhu YiXin - * Rahul Tanwar + * Zhu Yixin + * Rahul Tanwar */ #include +#include #include #include #include @@ -253,8 +255,8 @@ LGM_FIXED(LGM_CLK_SLIC, "slic", NULL, 0, CGU_IF_CLK1, 8, 2, CLOCK_FLAG_VAL_INIT, 8192000, 2), LGM_FIXED(LGM_CLK_DOCSIS, "v_docsis", NULL, 0, 0, 0, 0, 0, 16000000, 0), - LGM_DIV(LGM_CLK_DCL, "dcl", "v_ifclk", 0, CGU_PCMCR, - 25, 3, 0, 0, 0, 0, dcl_div), + LGM_DIV(LGM_CLK_DCL, "dcl", "v_ifclk", CLK_SET_RATE_PARENT, CGU_PCMCR, + 25, 3, 0, 0, DIV_CLK_NO_MASK, 0, dcl_div), LGM_MUX(LGM_CLK_PCM, "pcm", pcm_p, 0, CGU_C55_PCMCR, 0, 1, CLK_MUX_ROUND_CLOSEST, 0), LGM_FIXED_FACTOR(LGM_CLK_DDR_PHY, "ddr_phy", "ddr", @@ -433,13 +435,15 @@ ctx->clk_data.num = CLK_NR_CLKS; - ctx->membase = devm_platform_ioremap_resource(pdev, 0); - if (IS_ERR(ctx->membase)) + ctx->membase = syscon_node_to_regmap(np); + if (IS_ERR(ctx->membase)) { + dev_err(dev, "Failed to get clk CGU iomem\n"); return PTR_ERR(ctx->membase); + } + ctx->np = np; ctx->dev = dev; - spin_lock_init(&ctx->lock); ret = lgm_clk_register_plls(ctx, lgm_pll_clks, ARRAY_SIZE(lgm_pll_clks)); --- linux-gcp-5.19.0.orig/drivers/clk/zynqmp/clkc.c +++ linux-gcp-5.19.0/drivers/clk/zynqmp/clkc.c @@ -710,6 +710,13 @@ FIELD_PREP(CLK_ATTR_NODE_INDEX, i); zynqmp_pm_clock_get_name(clock[i].clk_id, &name); + + /* + * Terminate with NULL character in case name provided by firmware + * is longer and truncated due to size limit. + */ + name.name[sizeof(name.name) - 1] = '\0'; + if (!strcmp(name.name, RESERVED_CLK_NAME)) continue; strncpy(clock[i].clk_name, name.name, MAX_NAME_LEN); --- linux-gcp-5.19.0.orig/drivers/clk/zynqmp/pll.c +++ linux-gcp-5.19.0/drivers/clk/zynqmp/pll.c @@ -102,26 +102,25 @@ unsigned long *prate) { u32 fbdiv; - long rate_div, f; + u32 mult, div; - /* Enable the fractional mode if needed */ - rate_div = (rate * FRAC_DIV) / *prate; - f = rate_div % FRAC_DIV; - if (f) { - if (rate > PS_PLL_VCO_MAX) { - fbdiv = rate / PS_PLL_VCO_MAX; - rate = rate / (fbdiv + 1); - } - if (rate < PS_PLL_VCO_MIN) { - fbdiv = DIV_ROUND_UP(PS_PLL_VCO_MIN, rate); - rate = rate * fbdiv; - } - return rate; + /* Let rate fall inside the range PS_PLL_VCO_MIN ~ PS_PLL_VCO_MAX */ + if (rate > PS_PLL_VCO_MAX) { + div = DIV_ROUND_UP(rate, PS_PLL_VCO_MAX); + rate = rate / div; + } + if (rate < PS_PLL_VCO_MIN) { + mult = DIV_ROUND_UP(PS_PLL_VCO_MIN, rate); + rate = rate * mult; } fbdiv = DIV_ROUND_CLOSEST(rate, *prate); - fbdiv = clamp_t(u32, fbdiv, PLL_FBDIV_MIN, PLL_FBDIV_MAX); - return *prate * fbdiv; + if (fbdiv < PLL_FBDIV_MIN || fbdiv > PLL_FBDIV_MAX) { + fbdiv = clamp_t(u32, fbdiv, PLL_FBDIV_MIN, PLL_FBDIV_MAX); + rate = *prate * fbdiv; + } + + return rate; } /** --- linux-gcp-5.19.0.orig/drivers/clocksource/arm_arch_timer.c +++ linux-gcp-5.19.0/drivers/clocksource/arm_arch_timer.c @@ -44,8 +44,8 @@ #define CNTACR_RWVT BIT(4) #define CNTACR_RWPT BIT(5) -#define CNTVCT_LO 0x00 -#define CNTPCT_LO 0x08 +#define CNTPCT_LO 0x00 +#define CNTVCT_LO 0x08 #define CNTFRQ 0x10 #define CNTP_CVAL_LO 0x20 #define CNTP_CTL 0x2c @@ -473,6 +473,8 @@ .desc = "ARM erratum 858921", .read_cntpct_el0 = arm64_858921_read_cntpct_el0, .read_cntvct_el0 = arm64_858921_read_cntvct_el0, + .set_next_event_phys = erratum_set_next_event_phys, + .set_next_event_virt = erratum_set_next_event_virt, }, #endif #ifdef CONFIG_SUN50I_ERRATUM_UNKNOWN1 @@ -804,6 +806,9 @@ /* * XGene-1 implements CVAL in terms of TVAL, meaning * that the maximum timer range is 32bit. Shame on them. + * + * Note that TVAL is signed, thus has only 31 of its + * 32 bits to express magnitude. */ MIDR_ALL_VERSIONS(MIDR_CPU_MODEL(ARM_CPU_IMP_APM, APM_CPU_PART_POTENZA)), @@ -811,8 +816,8 @@ }; if (is_midr_in_range_list(read_cpuid_id(), broken_cval_midrs)) { - pr_warn_once("Broken CNTx_CVAL_EL1, limiting width to 32bits"); - return CLOCKSOURCE_MASK(32); + pr_warn_once("Broken CNTx_CVAL_EL1, using 31 bit TVAL instead.\n"); + return CLOCKSOURCE_MASK(31); } #endif return CLOCKSOURCE_MASK(arch_counter_get_width()); --- linux-gcp-5.19.0.orig/drivers/clocksource/sh_cmt.c +++ linux-gcp-5.19.0/drivers/clocksource/sh_cmt.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -116,6 +117,7 @@ void __iomem *mapbase; struct clk *clk; unsigned long rate; + unsigned int reg_delay; raw_spinlock_t lock; /* Protect the shared start/stop register */ @@ -247,10 +249,17 @@ static inline void sh_cmt_write_cmstr(struct sh_cmt_channel *ch, u32 value) { - if (ch->iostart) - ch->cmt->info->write_control(ch->iostart, 0, value); - else - ch->cmt->info->write_control(ch->cmt->mapbase, 0, value); + u32 old_value = sh_cmt_read_cmstr(ch); + + if (value != old_value) { + if (ch->iostart) { + ch->cmt->info->write_control(ch->iostart, 0, value); + udelay(ch->cmt->reg_delay); + } else { + ch->cmt->info->write_control(ch->cmt->mapbase, 0, value); + udelay(ch->cmt->reg_delay); + } + } } static inline u32 sh_cmt_read_cmcsr(struct sh_cmt_channel *ch) @@ -260,7 +269,12 @@ static inline void sh_cmt_write_cmcsr(struct sh_cmt_channel *ch, u32 value) { - ch->cmt->info->write_control(ch->ioctrl, CMCSR, value); + u32 old_value = sh_cmt_read_cmcsr(ch); + + if (value != old_value) { + ch->cmt->info->write_control(ch->ioctrl, CMCSR, value); + udelay(ch->cmt->reg_delay); + } } static inline u32 sh_cmt_read_cmcnt(struct sh_cmt_channel *ch) @@ -268,14 +282,33 @@ return ch->cmt->info->read_count(ch->ioctrl, CMCNT); } -static inline void sh_cmt_write_cmcnt(struct sh_cmt_channel *ch, u32 value) +static inline int sh_cmt_write_cmcnt(struct sh_cmt_channel *ch, u32 value) { + /* Tests showed that we need to wait 3 clocks here */ + unsigned int cmcnt_delay = DIV_ROUND_UP(3 * ch->cmt->reg_delay, 2); + u32 reg; + + if (ch->cmt->info->model > SH_CMT_16BIT) { + int ret = read_poll_timeout_atomic(sh_cmt_read_cmcsr, reg, + !(reg & SH_CMT32_CMCSR_WRFLG), + 1, cmcnt_delay, false, ch); + if (ret < 0) + return ret; + } + ch->cmt->info->write_count(ch->ioctrl, CMCNT, value); + udelay(cmcnt_delay); + return 0; } static inline void sh_cmt_write_cmcor(struct sh_cmt_channel *ch, u32 value) { - ch->cmt->info->write_count(ch->ioctrl, CMCOR, value); + u32 old_value = ch->cmt->info->read_count(ch->ioctrl, CMCOR); + + if (value != old_value) { + ch->cmt->info->write_count(ch->ioctrl, CMCOR, value); + udelay(ch->cmt->reg_delay); + } } static u32 sh_cmt_get_counter(struct sh_cmt_channel *ch, u32 *has_wrapped) @@ -319,7 +352,7 @@ static int sh_cmt_enable(struct sh_cmt_channel *ch) { - int k, ret; + int ret; dev_pm_syscore_device(&ch->cmt->pdev->dev, true); @@ -347,26 +380,9 @@ } sh_cmt_write_cmcor(ch, 0xffffffff); - sh_cmt_write_cmcnt(ch, 0); - - /* - * According to the sh73a0 user's manual, as CMCNT can be operated - * only by the RCLK (Pseudo 32 kHz), there's one restriction on - * modifying CMCNT register; two RCLK cycles are necessary before - * this register is either read or any modification of the value - * it holds is reflected in the LSI's actual operation. - * - * While at it, we're supposed to clear out the CMCNT as of this - * moment, so make sure it's processed properly here. This will - * take RCLKx2 at maximum. - */ - for (k = 0; k < 100; k++) { - if (!sh_cmt_read_cmcnt(ch)) - break; - udelay(1); - } + ret = sh_cmt_write_cmcnt(ch, 0); - if (sh_cmt_read_cmcnt(ch)) { + if (ret || sh_cmt_read_cmcnt(ch)) { dev_err(&ch->cmt->pdev->dev, "ch%u: cannot clear CMCNT\n", ch->index); ret = -ETIMEDOUT; @@ -987,8 +1003,8 @@ static int sh_cmt_setup(struct sh_cmt_device *cmt, struct platform_device *pdev) { - unsigned int mask; - unsigned int i; + unsigned int mask, i; + unsigned long rate; int ret; cmt->pdev = pdev; @@ -1024,10 +1040,16 @@ if (ret < 0) goto err_clk_unprepare; - if (cmt->info->width == 16) - cmt->rate = clk_get_rate(cmt->clk) / 512; - else - cmt->rate = clk_get_rate(cmt->clk) / 8; + rate = clk_get_rate(cmt->clk); + if (!rate) { + ret = -EINVAL; + goto err_clk_disable; + } + + /* We shall wait 2 input clks after register writes */ + if (cmt->info->model >= SH_CMT_48BIT) + cmt->reg_delay = DIV_ROUND_UP(2UL * USEC_PER_SEC, rate); + cmt->rate = rate / (cmt->info->width == 16 ? 512 : 8); /* Map the memory resource(s). */ ret = sh_cmt_map_memory(cmt); --- linux-gcp-5.19.0.orig/drivers/clocksource/timer-gxp.c +++ linux-gcp-5.19.0/drivers/clocksource/timer-gxp.c @@ -171,6 +171,7 @@ { struct platform_device *gxp_watchdog_device; struct device *dev = &pdev->dev; + int ret; if (!gxp_timer) { pr_err("Gxp Timer not initialized, cannot create watchdog"); @@ -187,7 +188,11 @@ gxp_watchdog_device->dev.platform_data = gxp_timer->counter; gxp_watchdog_device->dev.parent = dev; - return platform_device_add(gxp_watchdog_device); + ret = platform_device_add(gxp_watchdog_device); + if (ret) + platform_device_put(gxp_watchdog_device); + + return ret; } static const struct of_device_id gxp_timer_of_match[] = { --- linux-gcp-5.19.0.orig/drivers/clocksource/timer-riscv.c +++ linux-gcp-5.19.0/drivers/clocksource/timer-riscv.c @@ -34,7 +34,7 @@ static unsigned int riscv_clock_event_irq; static DEFINE_PER_CPU(struct clock_event_device, riscv_clock_event) = { .name = "riscv_timer_clockevent", - .features = CLOCK_EVT_FEAT_ONESHOT | CLOCK_EVT_FEAT_C3STOP, + .features = CLOCK_EVT_FEAT_ONESHOT, .rating = 100, .set_next_event = riscv_clock_next_event, }; --- linux-gcp-5.19.0.orig/drivers/clocksource/timer-ti-dm-systimer.c +++ linux-gcp-5.19.0/drivers/clocksource/timer-ti-dm-systimer.c @@ -345,8 +345,10 @@ return error; r = clk_get_rate(clock); - if (!r) + if (!r) { + clk_disable_unprepare(clock); return -ENODEV; + } if (is_ick) t->ick = clock; --- linux-gcp-5.19.0.orig/drivers/comedi/drivers/adv_pci1760.c +++ linux-gcp-5.19.0/drivers/comedi/drivers/adv_pci1760.c @@ -58,7 +58,7 @@ #define PCI1760_CMD_CLR_IMB2 0x00 /* Clears IMB2 */ #define PCI1760_CMD_SET_DO 0x01 /* Set output state */ #define PCI1760_CMD_GET_DO 0x02 /* Read output status */ -#define PCI1760_CMD_GET_STATUS 0x03 /* Read current status */ +#define PCI1760_CMD_GET_STATUS 0x07 /* Read current status */ #define PCI1760_CMD_GET_FW_VER 0x0e /* Read firmware version */ #define PCI1760_CMD_GET_HW_VER 0x0f /* Read hardware version */ #define PCI1760_CMD_SET_PWM_HI(x) (0x10 + (x) * 2) /* Set "hi" period */ --- linux-gcp-5.19.0.orig/drivers/counter/104-quad-8.c +++ linux-gcp-5.19.0/drivers/counter/104-quad-8.c @@ -34,6 +34,36 @@ #define QUAD8_NUM_COUNTERS 8 /** + * struct channel_reg - channel register structure + * @data: Count data + * @control: Channel flags and control + */ +struct channel_reg { + u8 data; + u8 control; +}; + +/** + * struct quad8_reg - device register structure + * @channel: quadrature counter data and control + * @interrupt_status: channel interrupt status + * @channel_oper: enable/reset counters and interrupt functions + * @index_interrupt: enable channel interrupts + * @reserved: reserved for Factory Use + * @index_input_levels: index signal logical input level + * @cable_status: differential encoder cable status + */ +struct quad8_reg { + struct channel_reg channel[QUAD8_NUM_COUNTERS]; + u8 interrupt_status; + u8 channel_oper; + u8 index_interrupt; + u8 reserved[3]; + u8 index_input_levels; + u8 cable_status; +}; + +/** * struct quad8 - device private data structure * @lock: lock to prevent clobbering device states during R/W ops * @counter: instance of the counter_device @@ -48,7 +78,7 @@ * @synchronous_mode: array of index function synchronous mode configurations * @index_polarity: array of index function polarity configurations * @cable_fault_enable: differential encoder cable status enable configurations - * @base: base port address of the device + * @reg: I/O address offset for the device registers */ struct quad8 { spinlock_t lock; @@ -63,14 +93,9 @@ unsigned int synchronous_mode[QUAD8_NUM_COUNTERS]; unsigned int index_polarity[QUAD8_NUM_COUNTERS]; unsigned int cable_fault_enable; - unsigned int base; + struct quad8_reg __iomem *reg; }; -#define QUAD8_REG_INTERRUPT_STATUS 0x10 -#define QUAD8_REG_CHAN_OP 0x11 -#define QUAD8_REG_INDEX_INTERRUPT 0x12 -#define QUAD8_REG_INDEX_INPUT_LEVELS 0x16 -#define QUAD8_DIFF_ENCODER_CABLE_STATUS 0x17 /* Borrow Toggle flip-flop */ #define QUAD8_FLAG_BT BIT(0) /* Carry Toggle flip-flop */ @@ -118,8 +143,7 @@ if (signal->id < 16) return -EINVAL; - state = inb(priv->base + QUAD8_REG_INDEX_INPUT_LEVELS) - & BIT(signal->id - 16); + state = ioread8(&priv->reg->index_input_levels) & BIT(signal->id - 16); *level = (state) ? COUNTER_SIGNAL_LEVEL_HIGH : COUNTER_SIGNAL_LEVEL_LOW; @@ -130,14 +154,14 @@ struct counter_count *count, u64 *val) { struct quad8 *const priv = counter_priv(counter); - const int base_offset = priv->base + 2 * count->id; + struct channel_reg __iomem *const chan = priv->reg->channel + count->id; unsigned int flags; unsigned int borrow; unsigned int carry; unsigned long irqflags; int i; - flags = inb(base_offset + 1); + flags = ioread8(&chan->control); borrow = flags & QUAD8_FLAG_BT; carry = !!(flags & QUAD8_FLAG_CT); @@ -147,11 +171,11 @@ spin_lock_irqsave(&priv->lock, irqflags); /* Reset Byte Pointer; transfer Counter to Output Latch */ - outb(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP | QUAD8_RLD_CNTR_OUT, - base_offset + 1); + iowrite8(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP | QUAD8_RLD_CNTR_OUT, + &chan->control); for (i = 0; i < 3; i++) - *val |= (unsigned long)inb(base_offset) << (8 * i); + *val |= (unsigned long)ioread8(&chan->data) << (8 * i); spin_unlock_irqrestore(&priv->lock, irqflags); @@ -162,7 +186,7 @@ struct counter_count *count, u64 val) { struct quad8 *const priv = counter_priv(counter); - const int base_offset = priv->base + 2 * count->id; + struct channel_reg __iomem *const chan = priv->reg->channel + count->id; unsigned long irqflags; int i; @@ -173,27 +197,27 @@ spin_lock_irqsave(&priv->lock, irqflags); /* Reset Byte Pointer */ - outb(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP, base_offset + 1); + iowrite8(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP, &chan->control); /* Counter can only be set via Preset Register */ for (i = 0; i < 3; i++) - outb(val >> (8 * i), base_offset); + iowrite8(val >> (8 * i), &chan->data); /* Transfer Preset Register to Counter */ - outb(QUAD8_CTR_RLD | QUAD8_RLD_PRESET_CNTR, base_offset + 1); + iowrite8(QUAD8_CTR_RLD | QUAD8_RLD_PRESET_CNTR, &chan->control); /* Reset Byte Pointer */ - outb(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP, base_offset + 1); + iowrite8(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP, &chan->control); /* Set Preset Register back to original value */ val = priv->preset[count->id]; for (i = 0; i < 3; i++) - outb(val >> (8 * i), base_offset); + iowrite8(val >> (8 * i), &chan->data); /* Reset Borrow, Carry, Compare, and Sign flags */ - outb(QUAD8_CTR_RLD | QUAD8_RLD_RESET_FLAGS, base_offset + 1); + iowrite8(QUAD8_CTR_RLD | QUAD8_RLD_RESET_FLAGS, &chan->control); /* Reset Error flag */ - outb(QUAD8_CTR_RLD | QUAD8_RLD_RESET_E, base_offset + 1); + iowrite8(QUAD8_CTR_RLD | QUAD8_RLD_RESET_E, &chan->control); spin_unlock_irqrestore(&priv->lock, irqflags); @@ -207,34 +231,45 @@ COUNTER_FUNCTION_QUADRATURE_X4, }; +static int quad8_function_get(const struct quad8 *const priv, const size_t id, + enum counter_function *const function) +{ + if (!priv->quadrature_mode[id]) { + *function = COUNTER_FUNCTION_PULSE_DIRECTION; + return 0; + } + + switch (priv->quadrature_scale[id]) { + case 0: + *function = COUNTER_FUNCTION_QUADRATURE_X1_A; + return 0; + case 1: + *function = COUNTER_FUNCTION_QUADRATURE_X2_A; + return 0; + case 2: + *function = COUNTER_FUNCTION_QUADRATURE_X4; + return 0; + default: + /* should never reach this path */ + return -EINVAL; + } +} + static int quad8_function_read(struct counter_device *counter, struct counter_count *count, enum counter_function *function) { struct quad8 *const priv = counter_priv(counter); - const int id = count->id; unsigned long irqflags; + int retval; spin_lock_irqsave(&priv->lock, irqflags); - if (priv->quadrature_mode[id]) - switch (priv->quadrature_scale[id]) { - case 0: - *function = COUNTER_FUNCTION_QUADRATURE_X1_A; - break; - case 1: - *function = COUNTER_FUNCTION_QUADRATURE_X2_A; - break; - case 2: - *function = COUNTER_FUNCTION_QUADRATURE_X4; - break; - } - else - *function = COUNTER_FUNCTION_PULSE_DIRECTION; + retval = quad8_function_get(priv, count->id, function); spin_unlock_irqrestore(&priv->lock, irqflags); - return 0; + return retval; } static int quad8_function_write(struct counter_device *counter, @@ -246,7 +281,7 @@ unsigned int *const quadrature_mode = priv->quadrature_mode + id; unsigned int *const scale = priv->quadrature_scale + id; unsigned int *const synchronous_mode = priv->synchronous_mode + id; - const int base_offset = priv->base + 2 * id + 1; + u8 __iomem *const control = &priv->reg->channel[id].control; unsigned long irqflags; unsigned int mode_cfg; unsigned int idr_cfg; @@ -266,7 +301,7 @@ if (*synchronous_mode) { *synchronous_mode = 0; /* Disable synchronous function mode */ - outb(QUAD8_CTR_IDR | idr_cfg, base_offset); + iowrite8(QUAD8_CTR_IDR | idr_cfg, control); } } else { *quadrature_mode = 1; @@ -292,7 +327,7 @@ } /* Load mode configuration to Counter Mode Register */ - outb(QUAD8_CTR_CMR | mode_cfg, base_offset); + iowrite8(QUAD8_CTR_CMR | mode_cfg, control); spin_unlock_irqrestore(&priv->lock, irqflags); @@ -305,10 +340,10 @@ { const struct quad8 *const priv = counter_priv(counter); unsigned int ud_flag; - const unsigned int flag_addr = priv->base + 2 * count->id + 1; + u8 __iomem *const flag_addr = &priv->reg->channel[count->id].control; /* U/D flag: nonzero = up, zero = down */ - ud_flag = inb(flag_addr) & QUAD8_FLAG_UD; + ud_flag = ioread8(flag_addr) & QUAD8_FLAG_UD; *direction = (ud_flag) ? COUNTER_COUNT_DIRECTION_FORWARD : COUNTER_COUNT_DIRECTION_BACKWARD; @@ -334,6 +369,7 @@ enum counter_synapse_action *action) { struct quad8 *const priv = counter_priv(counter); + unsigned long irqflags; int err; enum counter_function function; const size_t signal_a_id = count->synapses[0].signal->id; @@ -349,9 +385,21 @@ return 0; } - err = quad8_function_read(counter, count, &function); - if (err) + spin_lock_irqsave(&priv->lock, irqflags); + + /* Get Count function and direction atomically */ + err = quad8_function_get(priv, count->id, &function); + if (err) { + spin_unlock_irqrestore(&priv->lock, irqflags); + return err; + } + err = quad8_direction_read(counter, count, &direction); + if (err) { + spin_unlock_irqrestore(&priv->lock, irqflags); return err; + } + + spin_unlock_irqrestore(&priv->lock, irqflags); /* Default action mode */ *action = COUNTER_SYNAPSE_ACTION_NONE; @@ -364,10 +412,6 @@ return 0; case COUNTER_FUNCTION_QUADRATURE_X1_A: if (synapse->signal->id == signal_a_id) { - err = quad8_direction_read(counter, count, &direction); - if (err) - return err; - if (direction == COUNTER_COUNT_DIRECTION_FORWARD) *action = COUNTER_SYNAPSE_ACTION_RISING_EDGE; else @@ -402,7 +446,6 @@ struct counter_event_node *event_node; unsigned int next_irq_trigger; unsigned long ior_cfg; - unsigned long base_offset; spin_lock_irqsave(&priv->lock, irqflags); @@ -426,6 +469,9 @@ return -EINVAL; } + /* Enable IRQ line */ + irq_enabled |= BIT(event_node->channel); + /* Skip configuration if it is the same as previously set */ if (priv->irq_trigger[event_node->channel] == next_irq_trigger) continue; @@ -437,14 +483,11 @@ ior_cfg = priv->ab_enable[event_node->channel] | priv->preset_enable[event_node->channel] << 1 | priv->irq_trigger[event_node->channel] << 3; - base_offset = priv->base + 2 * event_node->channel + 1; - outb(QUAD8_CTR_IOR | ior_cfg, base_offset); - - /* Enable IRQ line */ - irq_enabled |= BIT(event_node->channel); + iowrite8(QUAD8_CTR_IOR | ior_cfg, + &priv->reg->channel[event_node->channel].control); } - outb(irq_enabled, priv->base + QUAD8_REG_INDEX_INTERRUPT); + iowrite8(irq_enabled, &priv->reg->index_interrupt); spin_unlock_irqrestore(&priv->lock, irqflags); @@ -508,7 +551,7 @@ { struct quad8 *const priv = counter_priv(counter); const size_t channel_id = signal->id - 16; - const int base_offset = priv->base + 2 * channel_id + 1; + u8 __iomem *const control = &priv->reg->channel[channel_id].control; unsigned long irqflags; unsigned int idr_cfg = index_polarity << 1; @@ -519,7 +562,7 @@ priv->index_polarity[channel_id] = index_polarity; /* Load Index Control configuration to Index Control Register */ - outb(QUAD8_CTR_IDR | idr_cfg, base_offset); + iowrite8(QUAD8_CTR_IDR | idr_cfg, control); spin_unlock_irqrestore(&priv->lock, irqflags); @@ -549,7 +592,7 @@ { struct quad8 *const priv = counter_priv(counter); const size_t channel_id = signal->id - 16; - const int base_offset = priv->base + 2 * channel_id + 1; + u8 __iomem *const control = &priv->reg->channel[channel_id].control; unsigned long irqflags; unsigned int idr_cfg = synchronous_mode; @@ -566,7 +609,7 @@ priv->synchronous_mode[channel_id] = synchronous_mode; /* Load Index Control configuration to Index Control Register */ - outb(QUAD8_CTR_IDR | idr_cfg, base_offset); + iowrite8(QUAD8_CTR_IDR | idr_cfg, control); spin_unlock_irqrestore(&priv->lock, irqflags); @@ -614,7 +657,7 @@ struct quad8 *const priv = counter_priv(counter); unsigned int count_mode; unsigned int mode_cfg; - const int base_offset = priv->base + 2 * count->id + 1; + u8 __iomem *const control = &priv->reg->channel[count->id].control; unsigned long irqflags; /* Map Generic Counter count mode to 104-QUAD-8 count mode */ @@ -648,7 +691,7 @@ mode_cfg |= (priv->quadrature_scale[count->id] + 1) << 3; /* Load mode configuration to Counter Mode Register */ - outb(QUAD8_CTR_CMR | mode_cfg, base_offset); + iowrite8(QUAD8_CTR_CMR | mode_cfg, control); spin_unlock_irqrestore(&priv->lock, irqflags); @@ -669,7 +712,7 @@ struct counter_count *count, u8 enable) { struct quad8 *const priv = counter_priv(counter); - const int base_offset = priv->base + 2 * count->id; + u8 __iomem *const control = &priv->reg->channel[count->id].control; unsigned long irqflags; unsigned int ior_cfg; @@ -681,7 +724,7 @@ priv->irq_trigger[count->id] << 3; /* Load I/O control configuration */ - outb(QUAD8_CTR_IOR | ior_cfg, base_offset + 1); + iowrite8(QUAD8_CTR_IOR | ior_cfg, control); spin_unlock_irqrestore(&priv->lock, irqflags); @@ -697,9 +740,9 @@ struct counter_count *count, u32 *noise_error) { const struct quad8 *const priv = counter_priv(counter); - const int base_offset = priv->base + 2 * count->id + 1; + u8 __iomem *const flag_addr = &priv->reg->channel[count->id].control; - *noise_error = !!(inb(base_offset) & QUAD8_FLAG_E); + *noise_error = !!(ioread8(flag_addr) & QUAD8_FLAG_E); return 0; } @@ -717,17 +760,17 @@ static void quad8_preset_register_set(struct quad8 *const priv, const int id, const unsigned int preset) { - const unsigned int base_offset = priv->base + 2 * id; + struct channel_reg __iomem *const chan = priv->reg->channel + id; int i; priv->preset[id] = preset; /* Reset Byte Pointer */ - outb(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP, base_offset + 1); + iowrite8(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP, &chan->control); /* Set Preset Register */ for (i = 0; i < 3; i++) - outb(preset >> (8 * i), base_offset); + iowrite8(preset >> (8 * i), &chan->data); } static int quad8_count_preset_write(struct counter_device *counter, @@ -816,7 +859,7 @@ u8 preset_enable) { struct quad8 *const priv = counter_priv(counter); - const int base_offset = priv->base + 2 * count->id + 1; + u8 __iomem *const control = &priv->reg->channel[count->id].control; unsigned long irqflags; unsigned int ior_cfg; @@ -831,7 +874,7 @@ priv->irq_trigger[count->id] << 3; /* Load I/O control configuration to Input / Output Control Register */ - outb(QUAD8_CTR_IOR | ior_cfg, base_offset); + iowrite8(QUAD8_CTR_IOR | ior_cfg, control); spin_unlock_irqrestore(&priv->lock, irqflags); @@ -858,7 +901,7 @@ } /* Logic 0 = cable fault */ - status = inb(priv->base + QUAD8_DIFF_ENCODER_CABLE_STATUS); + status = ioread8(&priv->reg->cable_status); spin_unlock_irqrestore(&priv->lock, irqflags); @@ -899,7 +942,7 @@ /* Enable is active low in Differential Encoder Cable Status register */ cable_fault_enable = ~priv->cable_fault_enable; - outb(cable_fault_enable, priv->base + QUAD8_DIFF_ENCODER_CABLE_STATUS); + iowrite8(cable_fault_enable, &priv->reg->cable_status); spin_unlock_irqrestore(&priv->lock, irqflags); @@ -923,7 +966,7 @@ { struct quad8 *const priv = counter_priv(counter); const size_t channel_id = signal->id / 2; - const int base_offset = priv->base + 2 * channel_id; + struct channel_reg __iomem *const chan = priv->reg->channel + channel_id; unsigned long irqflags; spin_lock_irqsave(&priv->lock, irqflags); @@ -931,12 +974,12 @@ priv->fck_prescaler[channel_id] = prescaler; /* Reset Byte Pointer */ - outb(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP, base_offset + 1); + iowrite8(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP, &chan->control); /* Set filter clock factor */ - outb(prescaler, base_offset); - outb(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP | QUAD8_RLD_PRESET_PSC, - base_offset + 1); + iowrite8(prescaler, &chan->data); + iowrite8(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP | QUAD8_RLD_PRESET_PSC, + &chan->control); spin_unlock_irqrestore(&priv->lock, irqflags); @@ -1084,12 +1127,11 @@ { struct counter_device *counter = private; struct quad8 *const priv = counter_priv(counter); - const unsigned long base = priv->base; unsigned long irq_status; unsigned long channel; u8 event; - irq_status = inb(base + QUAD8_REG_INTERRUPT_STATUS); + irq_status = ioread8(&priv->reg->interrupt_status); if (!irq_status) return IRQ_NONE; @@ -1118,17 +1160,43 @@ } /* Clear pending interrupts on device */ - outb(QUAD8_CHAN_OP_ENABLE_INTERRUPT_FUNC, base + QUAD8_REG_CHAN_OP); + iowrite8(QUAD8_CHAN_OP_ENABLE_INTERRUPT_FUNC, &priv->reg->channel_oper); return IRQ_HANDLED; } +static void quad8_init_counter(struct channel_reg __iomem *const chan) +{ + unsigned long i; + + /* Reset Byte Pointer */ + iowrite8(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP, &chan->control); + /* Reset filter clock factor */ + iowrite8(0, &chan->data); + iowrite8(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP | QUAD8_RLD_PRESET_PSC, + &chan->control); + /* Reset Byte Pointer */ + iowrite8(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP, &chan->control); + /* Reset Preset Register */ + for (i = 0; i < 3; i++) + iowrite8(0x00, &chan->data); + /* Reset Borrow, Carry, Compare, and Sign flags */ + iowrite8(QUAD8_CTR_RLD | QUAD8_RLD_RESET_FLAGS, &chan->control); + /* Reset Error flag */ + iowrite8(QUAD8_CTR_RLD | QUAD8_RLD_RESET_E, &chan->control); + /* Binary encoding; Normal count; non-quadrature mode */ + iowrite8(QUAD8_CTR_CMR, &chan->control); + /* Disable A and B inputs; preset on index; FLG1 as Carry */ + iowrite8(QUAD8_CTR_IOR, &chan->control); + /* Disable index function; negative index polarity */ + iowrite8(QUAD8_CTR_IDR, &chan->control); +} + static int quad8_probe(struct device *dev, unsigned int id) { struct counter_device *counter; struct quad8 *priv; - int i, j; - unsigned int base_offset; + unsigned long i; int err; if (!devm_request_region(dev, base[id], QUAD8_EXTENT, dev_name(dev))) { @@ -1142,6 +1210,10 @@ return -ENOMEM; priv = counter_priv(counter); + priv->reg = devm_ioport_map(dev, base[id], QUAD8_EXTENT); + if (!priv->reg) + return -ENOMEM; + /* Initialize Counter device and driver data */ counter->name = dev_name(dev); counter->parent = dev; @@ -1150,43 +1222,20 @@ counter->num_counts = ARRAY_SIZE(quad8_counts); counter->signals = quad8_signals; counter->num_signals = ARRAY_SIZE(quad8_signals); - priv->base = base[id]; spin_lock_init(&priv->lock); /* Reset Index/Interrupt Register */ - outb(0x00, base[id] + QUAD8_REG_INDEX_INTERRUPT); + iowrite8(0x00, &priv->reg->index_interrupt); /* Reset all counters and disable interrupt function */ - outb(QUAD8_CHAN_OP_RESET_COUNTERS, base[id] + QUAD8_REG_CHAN_OP); + iowrite8(QUAD8_CHAN_OP_RESET_COUNTERS, &priv->reg->channel_oper); /* Set initial configuration for all counters */ - for (i = 0; i < QUAD8_NUM_COUNTERS; i++) { - base_offset = base[id] + 2 * i; - /* Reset Byte Pointer */ - outb(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP, base_offset + 1); - /* Reset filter clock factor */ - outb(0, base_offset); - outb(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP | QUAD8_RLD_PRESET_PSC, - base_offset + 1); - /* Reset Byte Pointer */ - outb(QUAD8_CTR_RLD | QUAD8_RLD_RESET_BP, base_offset + 1); - /* Reset Preset Register */ - for (j = 0; j < 3; j++) - outb(0x00, base_offset); - /* Reset Borrow, Carry, Compare, and Sign flags */ - outb(QUAD8_CTR_RLD | QUAD8_RLD_RESET_FLAGS, base_offset + 1); - /* Reset Error flag */ - outb(QUAD8_CTR_RLD | QUAD8_RLD_RESET_E, base_offset + 1); - /* Binary encoding; Normal count; non-quadrature mode */ - outb(QUAD8_CTR_CMR, base_offset + 1); - /* Disable A and B inputs; preset on index; FLG1 as Carry */ - outb(QUAD8_CTR_IOR, base_offset + 1); - /* Disable index function; negative index polarity */ - outb(QUAD8_CTR_IDR, base_offset + 1); - } + for (i = 0; i < QUAD8_NUM_COUNTERS; i++) + quad8_init_counter(priv->reg->channel + i); /* Disable Differential Encoder Cable Status for all channels */ - outb(0xFF, base[id] + QUAD8_DIFF_ENCODER_CABLE_STATUS); + iowrite8(0xFF, &priv->reg->cable_status); /* Enable all counters and enable interrupt function */ - outb(QUAD8_CHAN_OP_ENABLE_INTERRUPT_FUNC, base[id] + QUAD8_REG_CHAN_OP); + iowrite8(QUAD8_CHAN_OP_ENABLE_INTERRUPT_FUNC, &priv->reg->channel_oper); err = devm_request_irq(&counter->dev, irq[id], quad8_irq_handler, IRQF_SHARED, counter->name, counter); --- linux-gcp-5.19.0.orig/drivers/counter/microchip-tcb-capture.c +++ linux-gcp-5.19.0/drivers/counter/microchip-tcb-capture.c @@ -28,7 +28,6 @@ int qdec_mode; int num_channels; int channel[2]; - bool trig_inverted; }; static const enum counter_function mchp_tc_count_functions[] = { @@ -153,7 +152,7 @@ regmap_read(priv->regmap, ATMEL_TC_REG(priv->channel[0], SR), &sr); - if (priv->trig_inverted) + if (signal->id == 1) sigstatus = (sr & ATMEL_TC_MTIOB); else sigstatus = (sr & ATMEL_TC_MTIOA); @@ -171,6 +170,17 @@ struct mchp_tc_data *const priv = counter_priv(counter); u32 cmr; + if (priv->qdec_mode) { + *action = COUNTER_SYNAPSE_ACTION_BOTH_EDGES; + return 0; + } + + /* Only TIOA signal is evaluated in non-QDEC mode */ + if (synapse->signal->id != 0) { + *action = COUNTER_SYNAPSE_ACTION_NONE; + return 0; + } + regmap_read(priv->regmap, ATMEL_TC_REG(priv->channel[0], CMR), &cmr); switch (cmr & ATMEL_TC_ETRGEDG) { @@ -199,8 +209,8 @@ struct mchp_tc_data *const priv = counter_priv(counter); u32 edge = ATMEL_TC_ETRGEDG_NONE; - /* QDEC mode is rising edge only */ - if (priv->qdec_mode) + /* QDEC mode is rising edge only; only TIOA handled in non-QDEC mode */ + if (priv->qdec_mode || synapse->signal->id != 0) return -EINVAL; switch (action) { --- linux-gcp-5.19.0.orig/drivers/counter/stm32-lptimer-cnt.c +++ linux-gcp-5.19.0/drivers/counter/stm32-lptimer-cnt.c @@ -69,7 +69,7 @@ /* ensure CMP & ARR registers are properly written */ ret = regmap_read_poll_timeout(priv->regmap, STM32_LPTIM_ISR, val, - (val & STM32_LPTIM_CMPOK_ARROK), + (val & STM32_LPTIM_CMPOK_ARROK) == STM32_LPTIM_CMPOK_ARROK, 100, 1000); if (ret) return ret; --- linux-gcp-5.19.0.orig/drivers/cpufreq/Kconfig.x86 +++ linux-gcp-5.19.0/drivers/cpufreq/Kconfig.x86 @@ -35,7 +35,7 @@ If in doubt, say N. config X86_AMD_PSTATE - tristate "AMD Processor P-State driver" + bool "AMD Processor P-State driver" depends on X86 && ACPI select ACPI_PROCESSOR select ACPI_CPPC_LIB if X86_64 --- linux-gcp-5.19.0.orig/drivers/cpufreq/acpi-cpufreq.c +++ linux-gcp-5.19.0/drivers/cpufreq/acpi-cpufreq.c @@ -531,15 +531,6 @@ free_percpu(acpi_perf_data); } -static int cpufreq_boost_online(unsigned int cpu) -{ - /* - * On the CPU_UP path we simply keep the boost-disable flag - * in sync with the current global state. - */ - return boost_set_msr(acpi_cpufreq_driver.boost_enabled); -} - static int cpufreq_boost_down_prep(unsigned int cpu) { /* @@ -893,6 +884,8 @@ if (perf->states[0].core_frequency * 1000 != freq_table[0].frequency) pr_warn(FW_WARN "P-state 0 is not max freq\n"); + set_boost(policy, acpi_cpufreq_driver.boost_enabled); + return result; err_unreg: @@ -912,6 +905,7 @@ pr_debug("%s\n", __func__); + cpufreq_boost_down_prep(policy->cpu); policy->fast_switch_possible = false; policy->driver_data = NULL; acpi_processor_unregister_performance(data->acpi_perf_cpu); @@ -968,25 +962,9 @@ acpi_cpufreq_driver.set_boost = set_boost; acpi_cpufreq_driver.boost_enabled = boost_state(0); - /* - * This calls the online callback on all online cpu and forces all - * MSRs to the same value. - */ - ret = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "cpufreq/acpi:online", - cpufreq_boost_online, cpufreq_boost_down_prep); - if (ret < 0) { - pr_err("acpi_cpufreq: failed to register hotplug callbacks\n"); - return; - } acpi_cpufreq_online = ret; } -static void acpi_cpufreq_boost_exit(void) -{ - if (acpi_cpufreq_online > 0) - cpuhp_remove_state_nocalls(acpi_cpufreq_online); -} - static int __init acpi_cpufreq_init(void) { int ret; @@ -1028,7 +1006,6 @@ ret = cpufreq_register_driver(&acpi_cpufreq_driver); if (ret) { free_acpi_perf_data(); - acpi_cpufreq_boost_exit(); } return ret; } @@ -1037,8 +1014,6 @@ { pr_debug("%s\n", __func__); - acpi_cpufreq_boost_exit(); - cpufreq_unregister_driver(&acpi_cpufreq_driver); free_acpi_perf_data(); --- linux-gcp-5.19.0.orig/drivers/cpufreq/amd-pstate.c +++ linux-gcp-5.19.0/drivers/cpufreq/amd-pstate.c @@ -58,12 +58,8 @@ * we disable it by default to go acpi-cpufreq on these processors and add a * module parameter to be able to enable it manually for debugging. */ -static bool shared_mem = false; -module_param(shared_mem, bool, 0444); -MODULE_PARM_DESC(shared_mem, - "enable amd-pstate on processors with shared memory solution (false = disabled (default), true = enabled)"); - static struct cpufreq_driver amd_pstate_driver; +static int cppc_load __initdata; /** * struct amd_aperf_mperf @@ -152,6 +148,7 @@ static int pstate_init_perf(struct amd_cpudata *cpudata) { u64 cap1; + u32 highest_perf; int ret = rdmsrl_safe_on_cpu(cpudata->cpu, MSR_AMD_CPPC_CAP1, &cap1); @@ -163,7 +160,11 @@ * * CPPC entry doesn't indicate the highest performance in some ASICs. */ - WRITE_ONCE(cpudata->highest_perf, amd_get_highest_perf()); + highest_perf = amd_get_highest_perf(); + if (highest_perf > AMD_CPPC_HIGHEST_PERF(cap1)) + highest_perf = AMD_CPPC_HIGHEST_PERF(cap1); + + WRITE_ONCE(cpudata->highest_perf, highest_perf); WRITE_ONCE(cpudata->nominal_perf, AMD_CPPC_NOMINAL_PERF(cap1)); WRITE_ONCE(cpudata->lowest_nonlinear_perf, AMD_CPPC_LOWNONLIN_PERF(cap1)); @@ -175,12 +176,17 @@ static int cppc_init_perf(struct amd_cpudata *cpudata) { struct cppc_perf_caps cppc_perf; + u32 highest_perf; int ret = cppc_get_perf_caps(cpudata->cpu, &cppc_perf); if (ret) return ret; - WRITE_ONCE(cpudata->highest_perf, amd_get_highest_perf()); + highest_perf = amd_get_highest_perf(); + if (highest_perf > cppc_perf.highest_perf) + highest_perf = cppc_perf.highest_perf; + + WRITE_ONCE(cpudata->highest_perf, highest_perf); WRITE_ONCE(cpudata->nominal_perf, cppc_perf.nominal_perf); WRITE_ONCE(cpudata->lowest_nonlinear_perf, @@ -312,7 +318,7 @@ return -ENODEV; cap_perf = READ_ONCE(cpudata->highest_perf); - min_perf = READ_ONCE(cpudata->lowest_nonlinear_perf); + min_perf = READ_ONCE(cpudata->lowest_perf); max_perf = cap_perf; freqs.old = policy->cur; @@ -360,6 +366,7 @@ des_perf = clamp_t(unsigned long, des_perf, min_perf, max_perf); amd_pstate_update(cpudata, min_perf, des_perf, max_perf, true); + cpufreq_cpu_put(policy); } static int amd_get_min_freq(struct amd_cpudata *cpudata) @@ -473,12 +480,22 @@ amd_pstate_driver.boost_enabled = true; } +static void amd_perf_ctl_reset(unsigned int cpu) +{ + wrmsrl_on_cpu(cpu, MSR_AMD_PERF_CTL, 0); +} + static int amd_pstate_cpu_init(struct cpufreq_policy *policy) { int min_freq, max_freq, nominal_freq, lowest_nonlinear_freq, ret; struct device *dev; struct amd_cpudata *cpudata; + /* + * Resetting PERF_CTL_MSR will put the CPU in P0 frequency, + * which is ideal for initialization process. + */ + amd_perf_ctl_reset(policy->cpu); dev = get_cpu_device(policy->cpu); if (!dev) return -ENODEV; @@ -671,6 +688,15 @@ if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD) return -ENODEV; + /* + * by default the pstate driver is disabled to load + * enable the amd_pstate passive mode driver explicitly + * with amd_pstate=passive in kernel command line + */ + if (!cppc_load) { + pr_debug("driver load is disabled, boot with amd_pstate=passive to enable this\n"); + return -ENODEV; + } if (!acpi_cpc_valid()) { pr_debug("the _CPC object is not present in SBIOS\n"); @@ -685,13 +711,11 @@ if (boot_cpu_has(X86_FEATURE_CPPC)) { pr_debug("AMD CPPC MSR based functionality is supported\n"); amd_pstate_driver.adjust_perf = amd_pstate_adjust_perf; - } else if (shared_mem) { + } else { + pr_debug("AMD CPPC shared memory based functionality is supported\n"); static_call_update(amd_pstate_enable, cppc_enable); static_call_update(amd_pstate_init_perf, cppc_init_perf); static_call_update(amd_pstate_update_perf, cppc_update_perf); - } else { - pr_info("This processor supports shared memory solution, you can enable it with amd_pstate.shared_mem=1\n"); - return -ENODEV; } /* enable amd pstate feature */ @@ -708,16 +732,22 @@ return ret; } +device_initcall(amd_pstate_init); -static void __exit amd_pstate_exit(void) +static int __init amd_pstate_param(char *str) { - cpufreq_unregister_driver(&amd_pstate_driver); + if (!str) + return -EINVAL; - amd_pstate_enable(false); -} + if (!strcmp(str, "disable")) { + cppc_load = 0; + pr_info("driver is explicitly disabled\n"); + } else if (!strcmp(str, "passive")) + cppc_load = 1; -module_init(amd_pstate_init); -module_exit(amd_pstate_exit); + return 0; +} +early_param("amd_pstate", amd_pstate_param); MODULE_AUTHOR("Huang Rui "); MODULE_DESCRIPTION("AMD Processor P-state Frequency Driver"); --- linux-gcp-5.19.0.orig/drivers/cpufreq/amd_freq_sensitivity.c +++ linux-gcp-5.19.0/drivers/cpufreq/amd_freq_sensitivity.c @@ -125,6 +125,8 @@ if (!pcidev) { if (!boot_cpu_has(X86_FEATURE_PROC_FEEDBACK)) return -ENODEV; + } else { + pci_dev_put(pcidev); } if (rdmsrl_safe(MSR_AMD64_FREQ_SENSITIVITY_ACTUAL, &val)) --- linux-gcp-5.19.0.orig/drivers/cpufreq/armada-37xx-cpufreq.c +++ linux-gcp-5.19.0/drivers/cpufreq/armada-37xx-cpufreq.c @@ -445,7 +445,7 @@ return -ENODEV; } - clk = clk_get(cpu_dev, 0); + clk = clk_get(cpu_dev, NULL); if (IS_ERR(clk)) { dev_err(cpu_dev, "Cannot get clock for CPU0\n"); return PTR_ERR(clk); --- linux-gcp-5.19.0.orig/drivers/cpufreq/cpufreq-dt-platdev.c +++ linux-gcp-5.19.0/drivers/cpufreq/cpufreq-dt-platdev.c @@ -135,6 +135,7 @@ { .compatible = "nvidia,tegra30", }, { .compatible = "nvidia,tegra124", }, { .compatible = "nvidia,tegra210", }, + { .compatible = "nvidia,tegra234", }, { .compatible = "qcom,apq8096", }, { .compatible = "qcom,msm8996", }, @@ -147,6 +148,7 @@ { .compatible = "qcom,sc8280xp", }, { .compatible = "qcom,sdm845", }, { .compatible = "qcom,sm6350", }, + { .compatible = "qcom,sm6375", }, { .compatible = "qcom,sm8150", }, { .compatible = "qcom,sm8250", }, { .compatible = "qcom,sm8350", }, --- linux-gcp-5.19.0.orig/drivers/cpufreq/cpufreq.c +++ linux-gcp-5.19.0/drivers/cpufreq/cpufreq.c @@ -532,7 +532,7 @@ target_freq = clamp_val(target_freq, policy->min, policy->max); - if (!cpufreq_driver->target_index) + if (!policy->freq_table) return target_freq; idx = cpufreq_frequency_table_target(policy, target_freq, relation); @@ -1216,6 +1216,7 @@ if (!zalloc_cpumask_var(&policy->real_cpus, GFP_KERNEL)) goto err_free_rcpumask; + init_completion(&policy->kobj_unregister); ret = kobject_init_and_add(&policy->kobj, &ktype_cpufreq, cpufreq_global_kobject, "policy%u", cpu); if (ret) { @@ -1254,7 +1255,6 @@ init_rwsem(&policy->rwsem); spin_lock_init(&policy->transition_lock); init_waitqueue_head(&policy->transition_wait); - init_completion(&policy->kobj_unregister); INIT_WORK(&policy->update, handle_update); policy->cpu = cpu; @@ -2795,6 +2795,20 @@ return 0; } +static char cpufreq_driver_name[CPUFREQ_NAME_LEN]; + +static int __init cpufreq_driver_setup(char *str) +{ + strlcpy(cpufreq_driver_name, str, CPUFREQ_NAME_LEN); + return 1; +} + +/* + * Set this name to only allow one specific cpu freq driver, e.g., + * cpufreq_driver=powernow-k8 + */ +__setup("cpufreq_driver=", cpufreq_driver_setup); + /** * cpufreq_register_driver - register a CPU Frequency driver * @driver_data: A struct cpufreq_driver containing the values# @@ -2829,7 +2843,13 @@ (!driver_data->online != !driver_data->offline)) return -EINVAL; - pr_debug("trying to register driver %s\n", driver_data->name); + pr_debug("trying to register driver %s, cpufreq_driver=%s\n", + driver_data->name, cpufreq_driver_name); + + if (cpufreq_driver_name[0]) + if (!driver_data->name || + strcmp(cpufreq_driver_name, driver_data->name)) + return -EINVAL; /* Protect against concurrent CPU online/offline. */ cpus_read_lock(); --- linux-gcp-5.19.0.orig/drivers/cpufreq/davinci-cpufreq.c +++ linux-gcp-5.19.0/drivers/cpufreq/davinci-cpufreq.c @@ -133,12 +133,14 @@ static int __exit davinci_cpufreq_remove(struct platform_device *pdev) { + cpufreq_unregister_driver(&davinci_driver); + clk_put(cpufreq.armclk); if (cpufreq.asyncclk) clk_put(cpufreq.asyncclk); - return cpufreq_unregister_driver(&davinci_driver); + return 0; } static struct platform_driver davinci_cpufreq_driver = { --- linux-gcp-5.19.0.orig/drivers/cpufreq/intel_pstate.c +++ linux-gcp-5.19.0/drivers/cpufreq/intel_pstate.c @@ -27,6 +27,7 @@ #include #include +#include #include #include #include @@ -280,10 +281,10 @@ * structure is used to store those callbacks. */ struct pstate_funcs { - int (*get_max)(void); - int (*get_max_physical)(void); - int (*get_min)(void); - int (*get_turbo)(void); + int (*get_max)(int cpu); + int (*get_max_physical)(int cpu); + int (*get_min)(int cpu); + int (*get_turbo)(int cpu); int (*get_scaling)(void); int (*get_cpu_scaling)(int cpu); int (*get_aperf_mperf_shift)(void); @@ -398,16 +399,6 @@ return cppc_perf.nominal_perf; } - -static u32 intel_pstate_cppc_nominal(int cpu) -{ - u64 nominal_perf; - - if (cppc_get_nominal_perf(cpu, &nominal_perf)) - return 0; - - return nominal_perf; -} #else /* CONFIG_ACPI_CPPC_LIB */ static inline void intel_pstate_set_itmt_prio(int cpu) { @@ -531,35 +522,18 @@ { int perf_ctl_max_phys = cpu->pstate.max_pstate_physical; int perf_ctl_scaling = cpu->pstate.perf_ctl_scaling; - int perf_ctl_turbo = pstate_funcs.get_turbo(); - int turbo_freq = perf_ctl_turbo * perf_ctl_scaling; + int perf_ctl_turbo = pstate_funcs.get_turbo(cpu->cpu); int scaling = cpu->pstate.scaling; pr_debug("CPU%d: perf_ctl_max_phys = %d\n", cpu->cpu, perf_ctl_max_phys); - pr_debug("CPU%d: perf_ctl_max = %d\n", cpu->cpu, pstate_funcs.get_max()); pr_debug("CPU%d: perf_ctl_turbo = %d\n", cpu->cpu, perf_ctl_turbo); pr_debug("CPU%d: perf_ctl_scaling = %d\n", cpu->cpu, perf_ctl_scaling); pr_debug("CPU%d: HWP_CAP guaranteed = %d\n", cpu->cpu, cpu->pstate.max_pstate); pr_debug("CPU%d: HWP_CAP highest = %d\n", cpu->cpu, cpu->pstate.turbo_pstate); pr_debug("CPU%d: HWP-to-frequency scaling factor: %d\n", cpu->cpu, scaling); - /* - * If the product of the HWP performance scaling factor and the HWP_CAP - * highest performance is greater than the maximum turbo frequency - * corresponding to the pstate_funcs.get_turbo() return value, the - * scaling factor is too high, so recompute it to make the HWP_CAP - * highest performance correspond to the maximum turbo frequency. - */ - cpu->pstate.turbo_freq = cpu->pstate.turbo_pstate * scaling; - if (turbo_freq < cpu->pstate.turbo_freq) { - cpu->pstate.turbo_freq = turbo_freq; - scaling = DIV_ROUND_UP(turbo_freq, cpu->pstate.turbo_pstate); - cpu->pstate.scaling = scaling; - - pr_debug("CPU%d: refined HWP-to-frequency scaling factor: %d\n", - cpu->cpu, scaling); - } - + cpu->pstate.turbo_freq = rounddown(cpu->pstate.turbo_pstate * scaling, + perf_ctl_scaling); cpu->pstate.max_freq = rounddown(cpu->pstate.max_pstate * scaling, perf_ctl_scaling); @@ -1740,7 +1714,7 @@ intel_pstate_update_epp_defaults(cpudata); } -static int atom_get_min_pstate(void) +static int atom_get_min_pstate(int not_used) { u64 value; @@ -1748,7 +1722,7 @@ return (value >> 8) & 0x7F; } -static int atom_get_max_pstate(void) +static int atom_get_max_pstate(int not_used) { u64 value; @@ -1756,7 +1730,7 @@ return (value >> 16) & 0x7F; } -static int atom_get_turbo_pstate(void) +static int atom_get_turbo_pstate(int not_used) { u64 value; @@ -1834,23 +1808,23 @@ cpudata->vid.turbo = value & 0x7f; } -static int core_get_min_pstate(void) +static int core_get_min_pstate(int cpu) { u64 value; - rdmsrl(MSR_PLATFORM_INFO, value); + rdmsrl_on_cpu(cpu, MSR_PLATFORM_INFO, &value); return (value >> 40) & 0xFF; } -static int core_get_max_pstate_physical(void) +static int core_get_max_pstate_physical(int cpu) { u64 value; - rdmsrl(MSR_PLATFORM_INFO, value); + rdmsrl_on_cpu(cpu, MSR_PLATFORM_INFO, &value); return (value >> 8) & 0xFF; } -static int core_get_tdp_ratio(u64 plat_info) +static int core_get_tdp_ratio(int cpu, u64 plat_info) { /* Check how many TDP levels present */ if (plat_info & 0x600000000) { @@ -1860,13 +1834,13 @@ int err; /* Get the TDP level (0, 1, 2) to get ratios */ - err = rdmsrl_safe(MSR_CONFIG_TDP_CONTROL, &tdp_ctrl); + err = rdmsrl_safe_on_cpu(cpu, MSR_CONFIG_TDP_CONTROL, &tdp_ctrl); if (err) return err; /* TDP MSR are continuous starting at 0x648 */ tdp_msr = MSR_CONFIG_TDP_NOMINAL + (tdp_ctrl & 0x03); - err = rdmsrl_safe(tdp_msr, &tdp_ratio); + err = rdmsrl_safe_on_cpu(cpu, tdp_msr, &tdp_ratio); if (err) return err; @@ -1883,7 +1857,7 @@ return -ENXIO; } -static int core_get_max_pstate(void) +static int core_get_max_pstate(int cpu) { u64 tar; u64 plat_info; @@ -1891,10 +1865,10 @@ int tdp_ratio; int err; - rdmsrl(MSR_PLATFORM_INFO, plat_info); + rdmsrl_on_cpu(cpu, MSR_PLATFORM_INFO, &plat_info); max_pstate = (plat_info >> 8) & 0xFF; - tdp_ratio = core_get_tdp_ratio(plat_info); + tdp_ratio = core_get_tdp_ratio(cpu, plat_info); if (tdp_ratio <= 0) return max_pstate; @@ -1903,7 +1877,7 @@ return tdp_ratio; } - err = rdmsrl_safe(MSR_TURBO_ACTIVATION_RATIO, &tar); + err = rdmsrl_safe_on_cpu(cpu, MSR_TURBO_ACTIVATION_RATIO, &tar); if (!err) { int tar_levels; @@ -1918,13 +1892,13 @@ return max_pstate; } -static int core_get_turbo_pstate(void) +static int core_get_turbo_pstate(int cpu) { u64 value; int nont, ret; - rdmsrl(MSR_TURBO_RATIO_LIMIT, value); - nont = core_get_max_pstate(); + rdmsrl_on_cpu(cpu, MSR_TURBO_RATIO_LIMIT, &value); + nont = core_get_max_pstate(cpu); ret = (value) & 255; if (ret <= nont) ret = nont; @@ -1952,50 +1926,37 @@ return 10; } -static int knl_get_turbo_pstate(void) +static int knl_get_turbo_pstate(int cpu) { u64 value; int nont, ret; - rdmsrl(MSR_TURBO_RATIO_LIMIT, value); - nont = core_get_max_pstate(); + rdmsrl_on_cpu(cpu, MSR_TURBO_RATIO_LIMIT, &value); + nont = core_get_max_pstate(cpu); ret = (((value) >> 8) & 0xFF); if (ret <= nont) ret = nont; return ret; } -#ifdef CONFIG_ACPI_CPPC_LIB -static u32 hybrid_ref_perf; - -static int hybrid_get_cpu_scaling(int cpu) +static void hybrid_get_type(void *data) { - return DIV_ROUND_UP(core_get_scaling() * hybrid_ref_perf, - intel_pstate_cppc_nominal(cpu)); + u8 *cpu_type = data; + + *cpu_type = get_this_hybrid_cpu_type(); } -static void intel_pstate_cppc_set_cpu_scaling(void) +static int hybrid_get_cpu_scaling(int cpu) { - u32 min_nominal_perf = U32_MAX; - int cpu; + u8 cpu_type = 0; - for_each_present_cpu(cpu) { - u32 nominal_perf = intel_pstate_cppc_nominal(cpu); + smp_call_function_single(cpu, hybrid_get_type, &cpu_type, 1); + /* P-cores have a smaller perf level-to-freqency scaling factor. */ + if (cpu_type == 0x40) + return 78741; - if (nominal_perf && nominal_perf < min_nominal_perf) - min_nominal_perf = nominal_perf; - } - - if (min_nominal_perf < U32_MAX) { - hybrid_ref_perf = min_nominal_perf; - pstate_funcs.get_cpu_scaling = hybrid_get_cpu_scaling; - } + return core_get_scaling(); } -#else -static inline void intel_pstate_cppc_set_cpu_scaling(void) -{ -} -#endif /* CONFIG_ACPI_CPPC_LIB */ static void intel_pstate_set_pstate(struct cpudata *cpu, int pstate) { @@ -2025,10 +1986,10 @@ static void intel_pstate_get_cpu_pstates(struct cpudata *cpu) { - int perf_ctl_max_phys = pstate_funcs.get_max_physical(); + int perf_ctl_max_phys = pstate_funcs.get_max_physical(cpu->cpu); int perf_ctl_scaling = pstate_funcs.get_scaling(); - cpu->pstate.min_pstate = pstate_funcs.get_min(); + cpu->pstate.min_pstate = pstate_funcs.get_min(cpu->cpu); cpu->pstate.max_pstate_physical = perf_ctl_max_phys; cpu->pstate.perf_ctl_scaling = perf_ctl_scaling; @@ -2044,8 +2005,8 @@ } } else { cpu->pstate.scaling = perf_ctl_scaling; - cpu->pstate.max_pstate = pstate_funcs.get_max(); - cpu->pstate.turbo_pstate = pstate_funcs.get_turbo(); + cpu->pstate.max_pstate = pstate_funcs.get_max(cpu->cpu); + cpu->pstate.turbo_pstate = pstate_funcs.get_turbo(cpu->cpu); } if (cpu->pstate.scaling == perf_ctl_scaling) { @@ -2416,6 +2377,7 @@ X86_MATCH(SKYLAKE_X, core_funcs), X86_MATCH(COMETLAKE, core_funcs), X86_MATCH(ICELAKE_X, core_funcs), + X86_MATCH(TIGERLAKE, core_funcs), {} }; MODULE_DEVICE_TABLE(x86cpu, intel_pstate_cpu_ids); @@ -3220,9 +3182,9 @@ static int __init intel_pstate_msrs_not_valid(void) { - if (!pstate_funcs.get_max() || - !pstate_funcs.get_min() || - !pstate_funcs.get_turbo()) + if (!pstate_funcs.get_max(0) || + !pstate_funcs.get_min(0) || + !pstate_funcs.get_turbo(0)) return -ENODEV; return 0; @@ -3408,6 +3370,7 @@ * AlderLake Mobile CPUs. */ X86_MATCH_INTEL_FAM6_MODEL(ALDERLAKE_L, 102), + X86_MATCH_INTEL_FAM6_MODEL(SAPPHIRERAPIDS_X, 32), {} }; @@ -3449,7 +3412,7 @@ default_driver = &intel_pstate; if (boot_cpu_has(X86_FEATURE_HYBRID_CPU)) - intel_pstate_cppc_set_cpu_scaling(); + pstate_funcs.get_cpu_scaling = hybrid_get_cpu_scaling; goto hwp_cpu_matched; } --- linux-gcp-5.19.0.orig/drivers/cpufreq/mediatek-cpufreq-hw.c +++ linux-gcp-5.19.0/drivers/cpufreq/mediatek-cpufreq-hw.c @@ -51,7 +51,7 @@ }; static int __maybe_unused -mtk_cpufreq_get_cpu_power(struct device *cpu_dev, unsigned long *mW, +mtk_cpufreq_get_cpu_power(struct device *cpu_dev, unsigned long *uW, unsigned long *KHz) { struct mtk_cpufreq_data *data; @@ -71,8 +71,9 @@ i--; *KHz = data->table[i].frequency; - *mW = readl_relaxed(data->reg_bases[REG_EM_POWER_TBL] + - i * LUT_ROW_SIZE) / 1000; + /* Provide micro-Watts value to the Energy Model */ + *uW = readl_relaxed(data->reg_bases[REG_EM_POWER_TBL] + + i * LUT_ROW_SIZE); return 0; } --- linux-gcp-5.19.0.orig/drivers/cpufreq/mediatek-cpufreq.c +++ linux-gcp-5.19.0/drivers/cpufreq/mediatek-cpufreq.c @@ -478,6 +478,7 @@ if (info->soc_data->ccifreq_supported) { info->vproc_on_boot = regulator_get_voltage(info->proc_reg); if (info->vproc_on_boot < 0) { + ret = info->vproc_on_boot; dev_err(info->cpu_dev, "invalid Vproc value: %d\n", info->vproc_on_boot); goto out_disable_inter_clock; --- linux-gcp-5.19.0.orig/drivers/cpufreq/qcom-cpufreq-hw.c +++ linux-gcp-5.19.0/drivers/cpufreq/qcom-cpufreq-hw.c @@ -123,7 +123,20 @@ return 0; } -static unsigned int qcom_cpufreq_hw_get(unsigned int cpu) +static unsigned long qcom_lmh_get_throttle_freq(struct qcom_cpufreq_data *data) +{ + unsigned int lval; + + if (data->soc_data->reg_current_vote) + lval = readl_relaxed(data->base + data->soc_data->reg_current_vote) & 0x3ff; + else + lval = readl_relaxed(data->base + data->soc_data->reg_domain_state) & 0xff; + + return lval * xo_rate; +} + +/* Get the frequency requested by the cpufreq core for the CPU */ +static unsigned int qcom_cpufreq_get_freq(unsigned int cpu) { struct qcom_cpufreq_data *data; const struct qcom_cpufreq_soc_data *soc_data; @@ -143,6 +156,23 @@ return policy->freq_table[index].frequency; } +static unsigned int qcom_cpufreq_hw_get(unsigned int cpu) +{ + struct qcom_cpufreq_data *data; + struct cpufreq_policy *policy; + + policy = cpufreq_cpu_get_raw(cpu); + if (!policy) + return 0; + + data = policy->driver_data; + + if (data->throttle_irq >= 0) + return qcom_lmh_get_throttle_freq(data) / HZ_PER_KHZ; + + return qcom_cpufreq_get_freq(cpu); +} + static unsigned int qcom_cpufreq_hw_fast_switch(struct cpufreq_policy *policy, unsigned int target_freq) { @@ -191,6 +221,7 @@ } } else if (ret != -ENODEV) { dev_err(cpu_dev, "Invalid opp table in device tree\n"); + kfree(table); return ret; } else { policy->fast_switch_possible = true; @@ -284,18 +315,6 @@ } } -static unsigned long qcom_lmh_get_throttle_freq(struct qcom_cpufreq_data *data) -{ - unsigned int lval; - - if (data->soc_data->reg_current_vote) - lval = readl_relaxed(data->base + data->soc_data->reg_current_vote) & 0x3ff; - else - lval = readl_relaxed(data->base + data->soc_data->reg_domain_state) & 0xff; - - return lval * xo_rate; -} - static void qcom_lmh_dcvs_notify(struct qcom_cpufreq_data *data) { struct cpufreq_policy *policy = data->policy; @@ -317,14 +336,14 @@ if (IS_ERR(opp)) { dev_warn(dev, "Can't find the OPP for throttling: %pe!\n", opp); } else { - throttled_freq = freq_hz / HZ_PER_KHZ; - - /* Update thermal pressure (the boost frequencies are accepted) */ - arch_update_thermal_pressure(policy->related_cpus, throttled_freq); - dev_pm_opp_put(opp); } + throttled_freq = freq_hz / HZ_PER_KHZ; + + /* Update thermal pressure (the boost frequencies are accepted) */ + arch_update_thermal_pressure(policy->related_cpus, throttled_freq); + /* * In the unlikely case policy is unregistered do not enable * polling or h/w interrupt @@ -337,7 +356,7 @@ * If h/w throttled frequency is higher than what cpufreq has requested * for, then stop polling and switch back to interrupt mechanism. */ - if (throttled_freq >= qcom_cpufreq_hw_get(cpu)) + if (throttled_freq >= qcom_cpufreq_get_freq(cpu)) enable_irq(data->throttle_irq); else mod_delayed_work(system_highpri_wq, &data->throttle_work, --- linux-gcp-5.19.0.orig/drivers/cpufreq/qcom-cpufreq-nvmem.c +++ linux-gcp-5.19.0/drivers/cpufreq/qcom-cpufreq-nvmem.c @@ -215,6 +215,7 @@ int speed = 0, pvs = 0, pvs_ver = 0; u8 *speedbin; size_t len; + int ret = 0; speedbin = nvmem_cell_read(speedbin_nvmem, &len); @@ -232,7 +233,8 @@ break; default: dev_err(cpu_dev, "Unable to read nvmem data. Defaulting to 0!\n"); - return -ENODEV; + ret = -ENODEV; + goto len_error; } snprintf(*pvs_name, sizeof("speedXX-pvsXX-vXX"), "speed%d-pvs%d-v%d", @@ -240,8 +242,9 @@ drv->versions = (1 << speed); +len_error: kfree(speedbin); - return 0; + return ret; } static const struct qcom_cpufreq_match_data match_data_kryo = { @@ -264,7 +267,8 @@ struct nvmem_cell *speedbin_nvmem; struct device_node *np; struct device *cpu_dev; - char *pvs_name = "speedXX-pvsXX-vXX"; + char pvs_name_buffer[] = "speedXX-pvsXX-vXX"; + char *pvs_name = pvs_name_buffer; unsigned cpu; const struct of_device_id *match; int ret; --- linux-gcp-5.19.0.orig/drivers/cpufreq/scmi-cpufreq.c +++ linux-gcp-5.19.0/drivers/cpufreq/scmi-cpufreq.c @@ -19,6 +19,7 @@ #include #include #include +#include struct scmi_data { int domain_id; @@ -99,6 +100,7 @@ scmi_get_cpu_power(struct device *cpu_dev, unsigned long *power, unsigned long *KHz) { + bool power_scale_mw = perf_ops->power_scale_mw_get(ph); unsigned long Hz; int ret, domain; @@ -112,6 +114,10 @@ if (ret) return ret; + /* Provide bigger resolution power to the Energy Model */ + if (power_scale_mw) + *power *= MICROWATT_PER_MILLIWATT; + /* The EM framework specifies the frequency in KHz. */ *KHz = Hz / 1000; --- linux-gcp-5.19.0.orig/drivers/cpufreq/tegra194-cpufreq.c +++ linux-gcp-5.19.0/drivers/cpufreq/tegra194-cpufreq.c @@ -592,6 +592,7 @@ { .compatible = "nvidia,tegra234-ccplex-cluster", .data = &tegra234_cpufreq_soc }, { /* sentinel */ } }; +MODULE_DEVICE_TABLE(of, tegra194_cpufreq_of_match); static struct platform_driver tegra194_ccplex_driver = { .driver = { --- linux-gcp-5.19.0.orig/drivers/cpuidle/Kconfig.arm +++ linux-gcp-5.19.0/drivers/cpuidle/Kconfig.arm @@ -101,6 +101,7 @@ config ARM_TEGRA_CPUIDLE bool "CPU Idle Driver for NVIDIA Tegra SoCs" depends on (ARCH_TEGRA || COMPILE_TEST) && !ARM64 && MMU + depends on ARCH_SUSPEND_POSSIBLE select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP select ARM_CPU_SUSPEND help @@ -109,6 +110,7 @@ config ARM_QCOM_SPM_CPUIDLE bool "CPU Idle Driver for Qualcomm Subsystem Power Manager (SPM)" depends on (ARCH_QCOM || COMPILE_TEST) && !ARM64 && MMU + depends on ARCH_SUSPEND_POSSIBLE select ARM_CPU_SUSPEND select CPU_IDLE_MULTIPLE_DRIVERS select DT_IDLE_STATES --- linux-gcp-5.19.0.orig/drivers/cpuidle/cpuidle-riscv-sbi.c +++ linux-gcp-5.19.0/drivers/cpuidle/cpuidle-riscv-sbi.c @@ -97,8 +97,13 @@ struct cpuidle_driver *drv, int idx) { u32 *states = __this_cpu_read(sbi_cpuidle_data.states); + u32 state = states[idx]; - return CPU_PM_CPU_IDLE_ENTER_PARAM(sbi_suspend, idx, states[idx]); + if (state & SBI_HSM_SUSP_NON_RET_BIT) + return CPU_PM_CPU_IDLE_ENTER_PARAM(sbi_suspend, idx, state); + else + return CPU_PM_CPU_IDLE_ENTER_RETENTION_PARAM(sbi_suspend, + idx, state); } static int __sbi_enter_domain_idle_state(struct cpuidle_device *dev, --- linux-gcp-5.19.0.orig/drivers/cpuidle/dt_idle_states.c +++ linux-gcp-5.19.0/drivers/cpuidle/dt_idle_states.c @@ -223,6 +223,6 @@ * also be 0 on platforms with missing DT idle states or legacy DT * configuration predating the DT idle states bindings. */ - return i; + return state_idx - start_idx; } EXPORT_SYMBOL_GPL(dt_init_idle_driver); --- linux-gcp-5.19.0.orig/drivers/crypto/Kconfig +++ linux-gcp-5.19.0/drivers/crypto/Kconfig @@ -669,7 +669,12 @@ config CRYPTO_DEV_ROCKCHIP tristate "Rockchip's Cryptographic Engine driver" depends on OF && ARCH_ROCKCHIP + depends on PM + select CRYPTO_ECB + select CRYPTO_CBC + select CRYPTO_DES select CRYPTO_AES + select CRYPTO_ENGINE select CRYPTO_LIB_DES select CRYPTO_MD5 select CRYPTO_SHA1 @@ -785,8 +790,8 @@ select CRYPTO_ECB select CRYPTO_CTR select CRYPTO_XTS - select CRYPTO_SM4 - select CRYPTO_SM3 + select CRYPTO_SM4_GENERIC + select CRYPTO_SM3_GENERIC help Say 'Y' to enable a driver for the REE interface of the Arm TrustZone CryptoCell family of processors. Currently the --- linux-gcp-5.19.0.orig/drivers/crypto/allwinner/sun8i-ss/sun8i-ss-cipher.c +++ linux-gcp-5.19.0/drivers/crypto/allwinner/sun8i-ss/sun8i-ss-cipher.c @@ -124,7 +124,7 @@ unsigned int ivsize = crypto_skcipher_ivsize(tfm); struct sun8i_ss_flow *sf = &ss->flows[rctx->flow]; int i = 0; - u32 a; + dma_addr_t a; int err; rctx->ivlen = ivsize; @@ -170,6 +170,7 @@ while (i >= 0) { dma_unmap_single(ss->dev, rctx->p_iv[i], ivsize, DMA_TO_DEVICE); memzero_explicit(sf->iv[i], ivsize); + i--; } return err; } --- linux-gcp-5.19.0.orig/drivers/crypto/allwinner/sun8i-ss/sun8i-ss-core.c +++ linux-gcp-5.19.0/drivers/crypto/allwinner/sun8i-ss/sun8i-ss-core.c @@ -528,25 +528,33 @@ ss->flows[i].biv = devm_kmalloc(ss->dev, AES_BLOCK_SIZE, GFP_KERNEL | GFP_DMA); - if (!ss->flows[i].biv) + if (!ss->flows[i].biv) { + err = -ENOMEM; goto error_engine; + } for (j = 0; j < MAX_SG; j++) { ss->flows[i].iv[j] = devm_kmalloc(ss->dev, AES_BLOCK_SIZE, GFP_KERNEL | GFP_DMA); - if (!ss->flows[i].iv[j]) + if (!ss->flows[i].iv[j]) { + err = -ENOMEM; goto error_engine; + } } /* the padding could be up to two block. */ ss->flows[i].pad = devm_kmalloc(ss->dev, MAX_PAD_SIZE, GFP_KERNEL | GFP_DMA); - if (!ss->flows[i].pad) + if (!ss->flows[i].pad) { + err = -ENOMEM; goto error_engine; + } ss->flows[i].result = devm_kmalloc(ss->dev, SHA256_DIGEST_SIZE, GFP_KERNEL | GFP_DMA); - if (!ss->flows[i].result) + if (!ss->flows[i].result) { + err = -ENOMEM; goto error_engine; + } ss->flows[i].engine = crypto_engine_alloc_init(ss->dev, true); if (!ss->flows[i].engine) { --- linux-gcp-5.19.0.orig/drivers/crypto/allwinner/sun8i-ss/sun8i-ss-hash.c +++ linux-gcp-5.19.0/drivers/crypto/allwinner/sun8i-ss/sun8i-ss-hash.c @@ -30,8 +30,8 @@ int ret = 0; xtfm = crypto_alloc_shash("sha1", 0, CRYPTO_ALG_NEED_FALLBACK); - if (!xtfm) - return -ENOMEM; + if (IS_ERR(xtfm)) + return PTR_ERR(xtfm); len = sizeof(*sdesc) + crypto_shash_descsize(xtfm); sdesc = kmalloc(len, GFP_KERNEL); @@ -586,7 +586,8 @@ rctx->t_dst[k + 1].len = rctx->t_dst[k].len; } addr_xpad = dma_map_single(ss->dev, tfmctx->ipad, bs, DMA_TO_DEVICE); - if (dma_mapping_error(ss->dev, addr_xpad)) { + err = dma_mapping_error(ss->dev, addr_xpad); + if (err) { dev_err(ss->dev, "Fail to create DMA mapping of ipad\n"); goto err_dma_xpad; } @@ -612,7 +613,8 @@ goto err_dma_result; } addr_xpad = dma_map_single(ss->dev, tfmctx->opad, bs, DMA_TO_DEVICE); - if (dma_mapping_error(ss->dev, addr_xpad)) { + err = dma_mapping_error(ss->dev, addr_xpad); + if (err) { dev_err(ss->dev, "Fail to create DMA mapping of opad\n"); goto err_dma_xpad; } --- linux-gcp-5.19.0.orig/drivers/crypto/amcc/crypto4xx_core.c +++ linux-gcp-5.19.0/drivers/crypto/amcc/crypto4xx_core.c @@ -522,7 +522,6 @@ { struct skcipher_request *req; struct scatterlist *dst; - dma_addr_t addr; req = skcipher_request_cast(pd_uinfo->async_req); @@ -531,8 +530,8 @@ req->cryptlen, req->dst); } else { dst = pd_uinfo->dest_va; - addr = dma_map_page(dev->core_dev->device, sg_page(dst), - dst->offset, dst->length, DMA_FROM_DEVICE); + dma_unmap_page(dev->core_dev->device, pd->dest, dst->length, + DMA_FROM_DEVICE); } if (pd_uinfo->sa_va->sa_command_0.bf.save_iv == SA_SAVE_IV) { @@ -557,10 +556,9 @@ struct ahash_request *ahash_req; ahash_req = ahash_request_cast(pd_uinfo->async_req); - ctx = crypto_tfm_ctx(ahash_req->base.tfm); + ctx = crypto_ahash_ctx(crypto_ahash_reqtfm(ahash_req)); - crypto4xx_copy_digest_to_dst(ahash_req->result, pd_uinfo, - crypto_tfm_ctx(ahash_req->base.tfm)); + crypto4xx_copy_digest_to_dst(ahash_req->result, pd_uinfo, ctx); crypto4xx_ret_sg_desc(dev, pd_uinfo); if (pd_uinfo->state & PD_ENTRY_BUSY) --- linux-gcp-5.19.0.orig/drivers/crypto/amlogic/amlogic-gxl-core.c +++ linux-gcp-5.19.0/drivers/crypto/amlogic/amlogic-gxl-core.c @@ -237,7 +237,6 @@ return err; } - mc->irqs = devm_kcalloc(mc->dev, MAXFLOW, sizeof(int), GFP_KERNEL); for (i = 0; i < MAXFLOW; i++) { mc->irqs[i] = platform_get_irq(pdev, i); if (mc->irqs[i] < 0) --- linux-gcp-5.19.0.orig/drivers/crypto/amlogic/amlogic-gxl.h +++ linux-gcp-5.19.0/drivers/crypto/amlogic/amlogic-gxl.h @@ -95,7 +95,7 @@ struct device *dev; struct meson_flow *chanlist; atomic_t flow; - int *irqs; + int irqs[MAXFLOW]; #ifdef CONFIG_CRYPTO_DEV_AMLOGIC_GXL_DEBUG struct dentry *dbgfs_dir; #endif --- linux-gcp-5.19.0.orig/drivers/crypto/cavium/cpt/cptpf_main.c +++ linux-gcp-5.19.0/drivers/crypto/cavium/cpt/cptpf_main.c @@ -253,6 +253,7 @@ const struct firmware *fw_entry; struct device *dev = &cpt->pdev->dev; struct ucode_header *ucode; + unsigned int code_length; struct microcode *mcode; int j, ret = 0; @@ -263,11 +264,12 @@ ucode = (struct ucode_header *)fw_entry->data; mcode = &cpt->mcode[cpt->next_mc_idx]; memcpy(mcode->version, (u8 *)fw_entry->data, CPT_UCODE_VERSION_SZ); - mcode->code_size = ntohl(ucode->code_length) * 2; - if (!mcode->code_size) { + code_length = ntohl(ucode->code_length); + if (code_length == 0 || code_length >= INT_MAX / 2) { ret = -EINVAL; goto fw_release; } + mcode->code_size = code_length * 2; mcode->is_ae = is_ae; mcode->core_mask = 0ULL; --- linux-gcp-5.19.0.orig/drivers/crypto/cavium/nitrox/nitrox_mbx.c +++ linux-gcp-5.19.0/drivers/crypto/cavium/nitrox/nitrox_mbx.c @@ -195,6 +195,7 @@ ndev->iov.pf2vf_wq = alloc_workqueue("nitrox_pf2vf", 0, 0); if (!ndev->iov.pf2vf_wq) { kfree(ndev->iov.vfdev); + ndev->iov.vfdev = NULL; return -ENOMEM; } /* enable pf2vf mailbox interrupts */ --- linux-gcp-5.19.0.orig/drivers/crypto/ccp/ccp-dmaengine.c +++ linux-gcp-5.19.0/drivers/crypto/ccp/ccp-dmaengine.c @@ -641,11 +641,27 @@ for (i = 0; i < ccp->cmd_q_count; i++) { chan = ccp->ccp_dma_chan + i; dma_chan = &chan->dma_chan; + tasklet_kill(&chan->cleanup_tasklet); list_del_rcu(&dma_chan->device_node); } } +static void ccp_dma_release_channels(struct ccp_device *ccp) +{ + struct ccp_dma_chan *chan; + struct dma_chan *dma_chan; + unsigned int i; + + for (i = 0; i < ccp->cmd_q_count; i++) { + chan = ccp->ccp_dma_chan + i; + dma_chan = &chan->dma_chan; + + if (dma_chan->client_count) + dma_release_channel(dma_chan); + } +} + int ccp_dmaengine_register(struct ccp_device *ccp) { struct ccp_dma_chan *chan; @@ -766,6 +782,7 @@ if (!dmaengine) return; + ccp_dma_release_channels(ccp); dma_async_device_unregister(dma_dev); ccp_dma_release(ccp); --- linux-gcp-5.19.0.orig/drivers/crypto/ccp/sev-dev.c +++ linux-gcp-5.19.0/drivers/crypto/ccp/sev-dev.c @@ -26,6 +26,7 @@ #include #include +#include #include "psp-dev.h" #include "sev-dev.h" @@ -231,7 +232,7 @@ return 0; } -static void sev_write_init_ex_file(void) +static int sev_write_init_ex_file(void) { struct sev_device *sev = psp_master->sev_data; struct file *fp; @@ -241,14 +242,16 @@ lockdep_assert_held(&sev_cmd_mutex); if (!sev_init_ex_buffer) - return; + return 0; fp = open_file_as_root(init_ex_path, O_CREAT | O_WRONLY, 0600); if (IS_ERR(fp)) { + int ret = PTR_ERR(fp); + dev_err(sev->dev, - "SEV: could not open file for write, error %ld\n", - PTR_ERR(fp)); - return; + "SEV: could not open file for write, error %d\n", + ret); + return ret; } nwrite = kernel_write(fp, sev_init_ex_buffer, NV_LENGTH, &offset); @@ -259,18 +262,20 @@ dev_err(sev->dev, "SEV: failed to write %u bytes to non volatile memory area, ret %ld\n", NV_LENGTH, nwrite); - return; + return -EIO; } dev_dbg(sev->dev, "SEV: write successful to NV file\n"); + + return 0; } -static void sev_write_init_ex_file_if_required(int cmd_id) +static int sev_write_init_ex_file_if_required(int cmd_id) { lockdep_assert_held(&sev_cmd_mutex); if (!sev_init_ex_buffer) - return; + return 0; /* * Only a few platform commands modify the SPI/NV area, but none of the @@ -285,10 +290,10 @@ case SEV_CMD_PEK_GEN: break; default: - return; + return 0; } - sev_write_init_ex_file(); + return sev_write_init_ex_file(); } static int __sev_do_cmd_locked(int cmd, void *data, int *psp_ret) @@ -361,7 +366,7 @@ cmd, reg & PSP_CMDRESP_ERR_MASK); ret = -EIO; } else { - sev_write_init_ex_file_if_required(cmd); + ret = sev_write_init_ex_file_if_required(cmd); } print_hex_dump_debug("(out): ", DUMP_PREFIX_OFFSET, 16, 2, data, @@ -503,7 +508,7 @@ struct sev_device *sev = psp_master->sev_data; int ret; - if (sev->state == SEV_STATE_UNINIT) + if (!sev || sev->state == SEV_STATE_UNINIT) return 0; ret = __sev_do_cmd_locked(SEV_CMD_SHUTDOWN, NULL, error); @@ -577,6 +582,8 @@ struct sev_user_data_status data; int ret; + memset(&data, 0, sizeof(data)); + ret = __sev_do_cmd_locked(SEV_CMD_PLATFORM_STATUS, &data, &argp->error); if (ret) return ret; @@ -630,7 +637,7 @@ if (input.length > SEV_FW_BLOB_MAX_SIZE) return -EFAULT; - blob = kmalloc(input.length, GFP_KERNEL); + blob = kzalloc(input.length, GFP_KERNEL); if (!blob) return -ENOMEM; @@ -742,6 +749,11 @@ struct page *p; u64 data_size; + if (!sev_version_greater_or_equal(0, 15)) { + dev_dbg(dev, "DOWNLOAD_FIRMWARE not supported\n"); + return -1; + } + if (sev_get_firmware(dev, &firmware) == -ENOENT) { dev_dbg(dev, "No SEV firmware file present\n"); return -1; @@ -774,6 +786,14 @@ data->len = firmware->size; ret = sev_do_cmd(SEV_CMD_DOWNLOAD_FIRMWARE, data, &error); + + /* + * A quirk for fixing the committed TCB version, when upgrading from + * earlier firmware version than 1.50. + */ + if (!ret && !sev_version_greater_or_equal(1, 50)) + ret = sev_do_cmd(SEV_CMD_DOWNLOAD_FIRMWARE, data, &error); + if (ret) dev_dbg(dev, "Failed to update SEV firmware: %#x\n", error); else @@ -854,7 +874,14 @@ input_address = (void __user *)input.address; if (input.address && input.length) { - id_blob = kmalloc(input.length, GFP_KERNEL); + /* + * The length of the ID shouldn't be assumed by software since + * it may change in the future. The allocation size is limited + * to 1 << (PAGE_SHIFT + MAX_ORDER - 1) by the page allocator. + * If the allocation fails, simply return ENOMEM rather than + * warning in the kernel log. + */ + id_blob = kzalloc(input.length, GFP_KERNEL | __GFP_NOWARN); if (!id_blob) return -ENOMEM; @@ -973,14 +1000,14 @@ if (input.cert_chain_len > SEV_FW_BLOB_MAX_SIZE) return -EFAULT; - pdh_blob = kmalloc(input.pdh_cert_len, GFP_KERNEL); + pdh_blob = kzalloc(input.pdh_cert_len, GFP_KERNEL); if (!pdh_blob) return -ENOMEM; data.pdh_cert_address = __psp_pa(pdh_blob); data.pdh_cert_len = input.pdh_cert_len; - cert_blob = kmalloc(input.cert_chain_len, GFP_KERNEL); + cert_blob = kzalloc(input.cert_chain_len, GFP_KERNEL); if (!cert_blob) { ret = -ENOMEM; goto e_free_pdh; @@ -1283,8 +1310,7 @@ if (sev_get_api_version()) goto err; - if (sev_version_greater_or_equal(0, 15) && - sev_update_firmware(sev->dev) == 0) + if (sev_update_firmware(sev->dev) == 0) sev_get_api_version(); /* If an init_ex_path is provided rely on INIT_EX for PSP initialization @@ -1301,7 +1327,10 @@ /* Obtain the TMR memory area for SEV-ES use */ sev_es_tmr = sev_fw_alloc(SEV_ES_TMR_SIZE); - if (!sev_es_tmr) + if (sev_es_tmr) + /* Must flush the cache before giving it to the firmware */ + clflush_cache_range(sev_es_tmr, SEV_ES_TMR_SIZE); + else dev_warn(sev->dev, "SEV: TMR allocation failed, SEV-ES support unavailable\n"); --- linux-gcp-5.19.0.orig/drivers/crypto/ccp/sp-pci.c +++ linux-gcp-5.19.0/drivers/crypto/ccp/sp-pci.c @@ -381,6 +381,15 @@ .inten_reg = 0x10690, .intsts_reg = 0x10694, }; + +static const struct psp_vdata pspv4 = { + .sev = &sevv2, + .tee = &teev1, + .feature_reg = 0x109fc, + .inten_reg = 0x10690, + .intsts_reg = 0x10694, +}; + #endif static const struct sp_dev_vdata dev_vdata[] = { @@ -426,7 +435,7 @@ { /* 5 */ .bar = 2, #ifdef CONFIG_CRYPTO_DEV_SP_PSP - .psp_vdata = &pspv2, + .psp_vdata = &pspv4, #endif }, }; --- linux-gcp-5.19.0.orig/drivers/crypto/ccree/cc_debugfs.c +++ linux-gcp-5.19.0/drivers/crypto/ccree/cc_debugfs.c @@ -55,7 +55,7 @@ cc_debugfs_dir = debugfs_create_dir("ccree", NULL); } -void __exit cc_debugfs_global_fini(void) +void cc_debugfs_global_fini(void) { debugfs_remove(cc_debugfs_dir); } --- linux-gcp-5.19.0.orig/drivers/crypto/ccree/cc_driver.c +++ linux-gcp-5.19.0/drivers/crypto/ccree/cc_driver.c @@ -658,9 +658,17 @@ static int __init ccree_init(void) { + int rc; + cc_debugfs_global_init(); - return platform_driver_register(&ccree_driver); + rc = platform_driver_register(&ccree_driver); + if (rc) { + cc_debugfs_global_fini(); + return rc; + } + + return 0; } module_init(ccree_init); --- linux-gcp-5.19.0.orig/drivers/crypto/hisilicon/Kconfig +++ linux-gcp-5.19.0/drivers/crypto/hisilicon/Kconfig @@ -26,7 +26,7 @@ select CRYPTO_SHA1 select CRYPTO_SHA256 select CRYPTO_SHA512 - select CRYPTO_SM4 + select CRYPTO_SM4_GENERIC depends on PCI && PCI_MSI depends on UACCE || UACCE=n depends on ARM64 || (COMPILE_TEST && 64BIT) --- linux-gcp-5.19.0.orig/drivers/crypto/hisilicon/hpre/hpre_crypto.c +++ linux-gcp-5.19.0/drivers/crypto/hisilicon/hpre/hpre_crypto.c @@ -252,7 +252,7 @@ if (unlikely(shift < 0)) return -EINVAL; - ptr = dma_alloc_coherent(dev, ctx->key_sz, tmp, GFP_KERNEL); + ptr = dma_alloc_coherent(dev, ctx->key_sz, tmp, GFP_ATOMIC); if (unlikely(!ptr)) return -ENOMEM; --- linux-gcp-5.19.0.orig/drivers/crypto/hisilicon/hpre/hpre_main.c +++ linux-gcp-5.19.0/drivers/crypto/hisilicon/hpre/hpre_main.c @@ -1287,18 +1287,12 @@ static void hpre_remove(struct pci_dev *pdev) { struct hisi_qm *qm = pci_get_drvdata(pdev); - int ret; hisi_qm_pm_uninit(qm); hisi_qm_wait_task_finish(qm, &hpre_devices); hisi_qm_alg_unregister(qm, &hpre_devices); - if (qm->fun_type == QM_HW_PF && qm->vfs_num) { - ret = hisi_qm_sriov_disable(pdev, true); - if (ret) { - pci_err(pdev, "Disable SRIOV fail!\n"); - return; - } - } + if (qm->fun_type == QM_HW_PF && qm->vfs_num) + hisi_qm_sriov_disable(pdev, true); hpre_debugfs_exit(qm); hisi_qm_stop(qm, QM_NORMAL); --- linux-gcp-5.19.0.orig/drivers/crypto/hisilicon/qm.c +++ linux-gcp-5.19.0/drivers/crypto/hisilicon/qm.c @@ -2229,8 +2229,10 @@ return ret; /* Judge if the instance is being reset. */ - if (unlikely(atomic_read(&qm->status.flags) == QM_STOP)) - return 0; + if (unlikely(atomic_read(&qm->status.flags) == QM_STOP)) { + ret = 0; + goto put_dfx_access; + } if (count > QM_DBG_WRITE_LEN) { ret = -ENOSPC; @@ -5694,6 +5696,7 @@ cmd = QM_VF_START_FAIL; } + qm_cmd_init(qm); ret = qm->ops->ping_pf(qm, cmd); if (ret) dev_warn(&pdev->dev, "PF responds timeout in reset done!\n"); @@ -5755,7 +5758,6 @@ goto err_get_status; qm_pf_reset_vf_done(qm); - qm_cmd_init(qm); dev_info(dev, "device reset done.\n"); @@ -6085,8 +6087,8 @@ GFP_ATOMIC); dev_dbg(dev, "allocate qm dma buf size=%zx)\n", qm->qdma.size); if (!qm->qdma.va) { - ret = -ENOMEM; - goto err_alloc_qdma; + ret = -ENOMEM; + goto err_destroy_idr; } QM_INIT_BUF(qm, eqe, QM_EQ_DEPTH); @@ -6102,7 +6104,8 @@ err_alloc_qp_array: dma_free_coherent(dev, qm->qdma.size, qm->qdma.va, qm->qdma.dma); -err_alloc_qdma: +err_destroy_idr: + idr_destroy(&qm->qp_idr); kfree(qm->factor); return ret; --- linux-gcp-5.19.0.orig/drivers/crypto/hisilicon/sec/sec_algs.c +++ linux-gcp-5.19.0/drivers/crypto/hisilicon/sec/sec_algs.c @@ -449,7 +449,7 @@ */ } - mutex_lock(&ctx->queue->queuelock); + spin_lock_bh(&ctx->queue->queuelock); /* Put the IV in place for chained cases */ switch (ctx->cipher_alg) { case SEC_C_AES_CBC_128: @@ -509,7 +509,7 @@ list_del(&backlog_req->backlog_head); } } - mutex_unlock(&ctx->queue->queuelock); + spin_unlock_bh(&ctx->queue->queuelock); mutex_lock(&sec_req->lock); list_del(&sec_req_el->head); @@ -798,7 +798,7 @@ */ /* Grab a big lock for a long time to avoid concurrency issues */ - mutex_lock(&queue->queuelock); + spin_lock_bh(&queue->queuelock); /* * Can go on to queue if we have space in either: @@ -814,15 +814,15 @@ ret = -EBUSY; if ((skreq->base.flags & CRYPTO_TFM_REQ_MAY_BACKLOG)) { list_add_tail(&sec_req->backlog_head, &ctx->backlog); - mutex_unlock(&queue->queuelock); + spin_unlock_bh(&queue->queuelock); goto out; } - mutex_unlock(&queue->queuelock); + spin_unlock_bh(&queue->queuelock); goto err_free_elements; } ret = sec_send_request(sec_req, queue); - mutex_unlock(&queue->queuelock); + spin_unlock_bh(&queue->queuelock); if (ret) goto err_free_elements; @@ -881,7 +881,7 @@ if (IS_ERR(ctx->queue)) return PTR_ERR(ctx->queue); - mutex_init(&ctx->queue->queuelock); + spin_lock_init(&ctx->queue->queuelock); ctx->queue->havesoftqueue = false; return 0; --- linux-gcp-5.19.0.orig/drivers/crypto/hisilicon/sec/sec_drv.h +++ linux-gcp-5.19.0/drivers/crypto/hisilicon/sec/sec_drv.h @@ -347,7 +347,7 @@ DECLARE_BITMAP(unprocessed, SEC_QUEUE_LEN); DECLARE_KFIFO_PTR(softqueue, typeof(struct sec_request_el *)); bool havesoftqueue; - struct mutex queuelock; + spinlock_t queuelock; void *shadow[SEC_QUEUE_LEN]; }; --- linux-gcp-5.19.0.orig/drivers/crypto/hisilicon/sec2/sec.h +++ linux-gcp-5.19.0/drivers/crypto/hisilicon/sec2/sec.h @@ -119,7 +119,7 @@ struct idr req_idr; struct sec_alg_res res[QM_Q_DEPTH]; struct sec_ctx *ctx; - struct mutex req_lock; + spinlock_t req_lock; struct list_head backlog; struct hisi_acc_sgl_pool *c_in_pool; struct hisi_acc_sgl_pool *c_out_pool; --- linux-gcp-5.19.0.orig/drivers/crypto/hisilicon/sec2/sec_crypto.c +++ linux-gcp-5.19.0/drivers/crypto/hisilicon/sec2/sec_crypto.c @@ -127,11 +127,11 @@ { int req_id; - mutex_lock(&qp_ctx->req_lock); + spin_lock_bh(&qp_ctx->req_lock); req_id = idr_alloc_cyclic(&qp_ctx->req_idr, NULL, 0, QM_Q_DEPTH, GFP_ATOMIC); - mutex_unlock(&qp_ctx->req_lock); + spin_unlock_bh(&qp_ctx->req_lock); if (unlikely(req_id < 0)) { dev_err(req->ctx->dev, "alloc req id fail!\n"); return req_id; @@ -156,9 +156,9 @@ qp_ctx->req_list[req_id] = NULL; req->qp_ctx = NULL; - mutex_lock(&qp_ctx->req_lock); + spin_lock_bh(&qp_ctx->req_lock); idr_remove(&qp_ctx->req_idr, req_id); - mutex_unlock(&qp_ctx->req_lock); + spin_unlock_bh(&qp_ctx->req_lock); } static u8 pre_parse_finished_bd(struct bd_status *status, void *resp) @@ -273,7 +273,7 @@ !(req->flag & CRYPTO_TFM_REQ_MAY_BACKLOG)) return -EBUSY; - mutex_lock(&qp_ctx->req_lock); + spin_lock_bh(&qp_ctx->req_lock); ret = hisi_qp_send(qp_ctx->qp, &req->sec_sqe); if (ctx->fake_req_limit <= @@ -281,10 +281,10 @@ list_add_tail(&req->backlog_head, &qp_ctx->backlog); atomic64_inc(&ctx->sec->debug.dfx.send_cnt); atomic64_inc(&ctx->sec->debug.dfx.send_busy_cnt); - mutex_unlock(&qp_ctx->req_lock); + spin_unlock_bh(&qp_ctx->req_lock); return -EBUSY; } - mutex_unlock(&qp_ctx->req_lock); + spin_unlock_bh(&qp_ctx->req_lock); if (unlikely(ret == -EBUSY)) return -ENOBUFS; @@ -487,7 +487,7 @@ qp->req_cb = sec_req_cb; - mutex_init(&qp_ctx->req_lock); + spin_lock_init(&qp_ctx->req_lock); idr_init(&qp_ctx->req_idr); INIT_LIST_HEAD(&qp_ctx->backlog); @@ -620,7 +620,7 @@ { struct sec_auth_ctx *a_ctx = &ctx->a_ctx; - a_ctx->a_key = dma_alloc_coherent(ctx->dev, SEC_MAX_KEY_SIZE, + a_ctx->a_key = dma_alloc_coherent(ctx->dev, SEC_MAX_AKEY_SIZE, &a_ctx->a_key_dma, GFP_KERNEL); if (!a_ctx->a_key) return -ENOMEM; @@ -632,8 +632,8 @@ { struct sec_auth_ctx *a_ctx = &ctx->a_ctx; - memzero_explicit(a_ctx->a_key, SEC_MAX_KEY_SIZE); - dma_free_coherent(ctx->dev, SEC_MAX_KEY_SIZE, + memzero_explicit(a_ctx->a_key, SEC_MAX_AKEY_SIZE); + dma_free_coherent(ctx->dev, SEC_MAX_AKEY_SIZE, a_ctx->a_key, a_ctx->a_key_dma); } @@ -1382,7 +1382,7 @@ { struct sec_req *backlog_req = NULL; - mutex_lock(&qp_ctx->req_lock); + spin_lock_bh(&qp_ctx->req_lock); if (ctx->fake_req_limit >= atomic_read(&qp_ctx->qp->qp_status.used) && !list_empty(&qp_ctx->backlog)) { @@ -1390,7 +1390,7 @@ typeof(*backlog_req), backlog_head); list_del(&backlog_req->backlog_head); } - mutex_unlock(&qp_ctx->req_lock); + spin_unlock_bh(&qp_ctx->req_lock); return backlog_req; } --- linux-gcp-5.19.0.orig/drivers/crypto/hisilicon/sec2/sec_crypto.h +++ linux-gcp-5.19.0/drivers/crypto/hisilicon/sec2/sec_crypto.h @@ -7,6 +7,7 @@ #define SEC_AIV_SIZE 12 #define SEC_IV_SIZE 24 #define SEC_MAX_KEY_SIZE 64 +#define SEC_MAX_AKEY_SIZE 128 #define SEC_COMM_SCENE 0 #define SEC_MIN_BLOCK_SZ 1 --- linux-gcp-5.19.0.orig/drivers/crypto/hisilicon/sgl.c +++ linux-gcp-5.19.0/drivers/crypto/hisilicon/sgl.c @@ -124,9 +124,8 @@ for (j = 0; j < i; j++) { dma_free_coherent(dev, block_size, block[j].sgl, block[j].sgl_dma); - memset(block + j, 0, sizeof(*block)); } - kfree(pool); + kfree_sensitive(pool); return ERR_PTR(-ENOMEM); } EXPORT_SYMBOL_GPL(hisi_acc_create_sgl_pool); --- linux-gcp-5.19.0.orig/drivers/crypto/hisilicon/zip/zip_crypto.c +++ linux-gcp-5.19.0/drivers/crypto/hisilicon/zip/zip_crypto.c @@ -122,12 +122,12 @@ if (ret || n == 0 || n > HISI_ACC_SGL_SGE_NR_MAX) return -EINVAL; - return param_set_int(val, kp); + return param_set_ushort(val, kp); } static const struct kernel_param_ops sgl_sge_nr_ops = { .set = sgl_sge_nr_set, - .get = param_get_int, + .get = param_get_ushort, }; static u16 sgl_sge_nr = HZIP_SGL_SGE_NR; --- linux-gcp-5.19.0.orig/drivers/crypto/img-hash.c +++ linux-gcp-5.19.0/drivers/crypto/img-hash.c @@ -358,12 +358,16 @@ static void img_hash_dma_task(unsigned long d) { struct img_hash_dev *hdev = (struct img_hash_dev *)d; - struct img_hash_request_ctx *ctx = ahash_request_ctx(hdev->req); + struct img_hash_request_ctx *ctx; u8 *addr; size_t nbytes, bleft, wsend, len, tbc; struct scatterlist tsg; - if (!hdev->req || !ctx->sg) + if (!hdev->req) + return; + + ctx = ahash_request_ctx(hdev->req); + if (!ctx->sg) return; addr = sg_virt(ctx->sg); --- linux-gcp-5.19.0.orig/drivers/crypto/inside-secure/safexcel.c +++ linux-gcp-5.19.0/drivers/crypto/inside-secure/safexcel.c @@ -1831,6 +1831,8 @@ {}, }; +MODULE_DEVICE_TABLE(of, safexcel_of_match_table); + static struct platform_driver crypto_safexcel = { .probe = safexcel_probe, .remove = safexcel_remove, --- linux-gcp-5.19.0.orig/drivers/crypto/inside-secure/safexcel_hash.c +++ linux-gcp-5.19.0/drivers/crypto/inside-secure/safexcel_hash.c @@ -383,7 +383,7 @@ u32 x; x = ipad[i] ^ ipad[i + 4]; - cache[i] ^= swab(x); + cache[i] ^= swab32(x); } } cache_len = AES_BLOCK_SIZE; @@ -821,7 +821,7 @@ u32 *result = (void *)areq->result; /* K3 */ - result[i] = swab(ctx->base.ipad.word[i + 4]); + result[i] = swab32(ctx->base.ipad.word[i + 4]); } areq->result[0] ^= 0x80; // 10- padding crypto_cipher_encrypt_one(ctx->kaes, areq->result, areq->result); @@ -2106,7 +2106,7 @@ crypto_cipher_encrypt_one(ctx->kaes, (u8 *)key_tmp + AES_BLOCK_SIZE, "\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3\x3"); for (i = 0; i < 3 * AES_BLOCK_SIZE / sizeof(u32); i++) - ctx->base.ipad.word[i] = swab(key_tmp[i]); + ctx->base.ipad.word[i] = swab32(key_tmp[i]); crypto_cipher_clear_flags(ctx->kaes, CRYPTO_TFM_REQ_MASK); crypto_cipher_set_flags(ctx->kaes, crypto_ahash_get_flags(tfm) & @@ -2189,7 +2189,7 @@ return ret; for (i = 0; i < len / sizeof(u32); i++) - ctx->base.ipad.word[i + 8] = swab(aes.key_enc[i]); + ctx->base.ipad.word[i + 8] = swab32(aes.key_enc[i]); /* precompute the CMAC key material */ crypto_cipher_clear_flags(ctx->kaes, CRYPTO_TFM_REQ_MASK); --- linux-gcp-5.19.0.orig/drivers/crypto/marvell/octeontx/otx_cptpf_ucode.c +++ linux-gcp-5.19.0/drivers/crypto/marvell/octeontx/otx_cptpf_ucode.c @@ -286,6 +286,7 @@ struct tar_ucode_info_t *tar_info; struct otx_cpt_ucode_hdr *ucode_hdr; int ucode_type, ucode_size; + unsigned int code_length; /* * If size is less than microcode header size then don't report @@ -303,7 +304,13 @@ if (get_ucode_type(ucode_hdr, &ucode_type)) return 0; - ucode_size = ntohl(ucode_hdr->code_length) * 2; + code_length = ntohl(ucode_hdr->code_length); + if (code_length >= INT_MAX / 2) { + dev_err(dev, "Invalid code_length %u\n", code_length); + return -EINVAL; + } + + ucode_size = code_length * 2; if (!ucode_size || (size < round_up(ucode_size, 16) + sizeof(struct otx_cpt_ucode_hdr) + OTX_CPT_UCODE_SIGN_LEN)) { dev_err(dev, "Ucode %s invalid size\n", filename); @@ -886,6 +893,7 @@ { struct otx_cpt_ucode_hdr *ucode_hdr; const struct firmware *fw; + unsigned int code_length; int ret; set_ucode_filename(ucode, ucode_filename); @@ -896,7 +904,13 @@ ucode_hdr = (struct otx_cpt_ucode_hdr *) fw->data; memcpy(ucode->ver_str, ucode_hdr->ver_str, OTX_CPT_UCODE_VER_STR_SZ); ucode->ver_num = ucode_hdr->ver_num; - ucode->size = ntohl(ucode_hdr->code_length) * 2; + code_length = ntohl(ucode_hdr->code_length); + if (code_length >= INT_MAX / 2) { + dev_err(dev, "Ucode invalid code_length %u\n", code_length); + ret = -EINVAL; + goto release_fw; + } + ucode->size = code_length * 2; if (!ucode->size || (fw->size < round_up(ucode->size, 16) + sizeof(struct otx_cpt_ucode_hdr) + OTX_CPT_UCODE_SIGN_LEN)) { dev_err(dev, "Ucode %s invalid size\n", ucode_filename); --- linux-gcp-5.19.0.orig/drivers/crypto/marvell/octeontx2/Makefile +++ linux-gcp-5.19.0/drivers/crypto/marvell/octeontx2/Makefile @@ -1,11 +1,10 @@ # SPDX-License-Identifier: GPL-2.0-only -obj-$(CONFIG_CRYPTO_DEV_OCTEONTX2_CPT) += rvu_cptpf.o rvu_cptvf.o +obj-$(CONFIG_CRYPTO_DEV_OCTEONTX2_CPT) += rvu_cptcommon.o rvu_cptpf.o rvu_cptvf.o +rvu_cptcommon-objs := cn10k_cpt.o otx2_cptlf.o otx2_cpt_mbox_common.o rvu_cptpf-objs := otx2_cptpf_main.o otx2_cptpf_mbox.o \ - otx2_cpt_mbox_common.o otx2_cptpf_ucode.o otx2_cptlf.o \ - cn10k_cpt.o otx2_cpt_devlink.o -rvu_cptvf-objs := otx2_cptvf_main.o otx2_cptvf_mbox.o otx2_cptlf.o \ - otx2_cpt_mbox_common.o otx2_cptvf_reqmgr.o \ - otx2_cptvf_algs.o cn10k_cpt.o + otx2_cptpf_ucode.o otx2_cpt_devlink.o +rvu_cptvf-objs := otx2_cptvf_main.o otx2_cptvf_mbox.o \ + otx2_cptvf_reqmgr.o otx2_cptvf_algs.o ccflags-y += -I$(srctree)/drivers/net/ethernet/marvell/octeontx2/af --- linux-gcp-5.19.0.orig/drivers/crypto/marvell/octeontx2/cn10k_cpt.c +++ linux-gcp-5.19.0/drivers/crypto/marvell/octeontx2/cn10k_cpt.c @@ -7,6 +7,9 @@ #include "otx2_cptlf.h" #include "cn10k_cpt.h" +static void cn10k_cpt_send_cmd(union otx2_cpt_inst_s *cptinst, u32 insts_num, + struct otx2_cptlf_info *lf); + static struct cpt_hw_ops otx2_hw_ops = { .send_cmd = otx2_cpt_send_cmd, .cpt_get_compcode = otx2_cpt_get_compcode, @@ -19,8 +22,8 @@ .cpt_get_uc_compcode = cn10k_cpt_get_uc_compcode, }; -void cn10k_cpt_send_cmd(union otx2_cpt_inst_s *cptinst, u32 insts_num, - struct otx2_cptlf_info *lf) +static void cn10k_cpt_send_cmd(union otx2_cpt_inst_s *cptinst, u32 insts_num, + struct otx2_cptlf_info *lf) { void __iomem *lmtline = lf->lmtline; u64 val = (lf->slot & 0x7FF); @@ -68,6 +71,7 @@ return 0; } +EXPORT_SYMBOL_NS_GPL(cn10k_cptpf_lmtst_init, CRYPTO_DEV_OCTEONTX2_CPT); int cn10k_cptvf_lmtst_init(struct otx2_cptvf_dev *cptvf) { @@ -91,3 +95,4 @@ return 0; } +EXPORT_SYMBOL_NS_GPL(cn10k_cptvf_lmtst_init, CRYPTO_DEV_OCTEONTX2_CPT); --- linux-gcp-5.19.0.orig/drivers/crypto/marvell/octeontx2/cn10k_cpt.h +++ linux-gcp-5.19.0/drivers/crypto/marvell/octeontx2/cn10k_cpt.h @@ -28,8 +28,6 @@ return ((struct cn9k_cpt_res_s *)result)->uc_compcode; } -void cn10k_cpt_send_cmd(union otx2_cpt_inst_s *cptinst, u32 insts_num, - struct otx2_cptlf_info *lf); int cn10k_cptpf_lmtst_init(struct otx2_cptpf_dev *cptpf); int cn10k_cptvf_lmtst_init(struct otx2_cptvf_dev *cptvf); --- linux-gcp-5.19.0.orig/drivers/crypto/marvell/octeontx2/otx2_cpt_common.h +++ linux-gcp-5.19.0/drivers/crypto/marvell/octeontx2/otx2_cpt_common.h @@ -145,8 +145,6 @@ int otx2_cpt_send_af_reg_requests(struct otx2_mbox *mbox, struct pci_dev *pdev); -int otx2_cpt_add_read_af_reg(struct otx2_mbox *mbox, struct pci_dev *pdev, - u64 reg, u64 *val, int blkaddr); int otx2_cpt_add_write_af_reg(struct otx2_mbox *mbox, struct pci_dev *pdev, u64 reg, u64 val, int blkaddr); int otx2_cpt_read_af_reg(struct otx2_mbox *mbox, struct pci_dev *pdev, --- linux-gcp-5.19.0.orig/drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c +++ linux-gcp-5.19.0/drivers/crypto/marvell/octeontx2/otx2_cpt_mbox_common.c @@ -19,6 +19,7 @@ } return ret; } +EXPORT_SYMBOL_NS_GPL(otx2_cpt_send_mbox_msg, CRYPTO_DEV_OCTEONTX2_CPT); int otx2_cpt_send_ready_msg(struct otx2_mbox *mbox, struct pci_dev *pdev) { @@ -36,14 +37,17 @@ return otx2_cpt_send_mbox_msg(mbox, pdev); } +EXPORT_SYMBOL_NS_GPL(otx2_cpt_send_ready_msg, CRYPTO_DEV_OCTEONTX2_CPT); int otx2_cpt_send_af_reg_requests(struct otx2_mbox *mbox, struct pci_dev *pdev) { return otx2_cpt_send_mbox_msg(mbox, pdev); } +EXPORT_SYMBOL_NS_GPL(otx2_cpt_send_af_reg_requests, CRYPTO_DEV_OCTEONTX2_CPT); -int otx2_cpt_add_read_af_reg(struct otx2_mbox *mbox, struct pci_dev *pdev, - u64 reg, u64 *val, int blkaddr) +static int otx2_cpt_add_read_af_reg(struct otx2_mbox *mbox, + struct pci_dev *pdev, u64 reg, + u64 *val, int blkaddr) { struct cpt_rd_wr_reg_msg *reg_msg; @@ -91,6 +95,7 @@ return 0; } +EXPORT_SYMBOL_NS_GPL(otx2_cpt_add_write_af_reg, CRYPTO_DEV_OCTEONTX2_CPT); int otx2_cpt_read_af_reg(struct otx2_mbox *mbox, struct pci_dev *pdev, u64 reg, u64 *val, int blkaddr) @@ -103,6 +108,7 @@ return otx2_cpt_send_mbox_msg(mbox, pdev); } +EXPORT_SYMBOL_NS_GPL(otx2_cpt_read_af_reg, CRYPTO_DEV_OCTEONTX2_CPT); int otx2_cpt_write_af_reg(struct otx2_mbox *mbox, struct pci_dev *pdev, u64 reg, u64 val, int blkaddr) @@ -115,6 +121,7 @@ return otx2_cpt_send_mbox_msg(mbox, pdev); } +EXPORT_SYMBOL_NS_GPL(otx2_cpt_write_af_reg, CRYPTO_DEV_OCTEONTX2_CPT); int otx2_cpt_attach_rscrs_msg(struct otx2_cptlfs_info *lfs) { @@ -170,6 +177,7 @@ return ret; } +EXPORT_SYMBOL_NS_GPL(otx2_cpt_detach_rsrcs_msg, CRYPTO_DEV_OCTEONTX2_CPT); int otx2_cpt_msix_offset_msg(struct otx2_cptlfs_info *lfs) { @@ -202,6 +210,7 @@ } return ret; } +EXPORT_SYMBOL_NS_GPL(otx2_cpt_msix_offset_msg, CRYPTO_DEV_OCTEONTX2_CPT); int otx2_cpt_sync_mbox_msg(struct otx2_mbox *mbox) { @@ -216,3 +225,4 @@ return otx2_mbox_check_rsp_msgs(mbox, 0); } +EXPORT_SYMBOL_NS_GPL(otx2_cpt_sync_mbox_msg, CRYPTO_DEV_OCTEONTX2_CPT); --- linux-gcp-5.19.0.orig/drivers/crypto/marvell/octeontx2/otx2_cptlf.c +++ linux-gcp-5.19.0/drivers/crypto/marvell/octeontx2/otx2_cptlf.c @@ -274,6 +274,8 @@ } cptlf_disable_intrs(lfs); } +EXPORT_SYMBOL_NS_GPL(otx2_cptlf_unregister_interrupts, + CRYPTO_DEV_OCTEONTX2_CPT); static int cptlf_do_register_interrrupts(struct otx2_cptlfs_info *lfs, int lf_num, int irq_offset, @@ -321,6 +323,7 @@ otx2_cptlf_unregister_interrupts(lfs); return ret; } +EXPORT_SYMBOL_NS_GPL(otx2_cptlf_register_interrupts, CRYPTO_DEV_OCTEONTX2_CPT); void otx2_cptlf_free_irqs_affinity(struct otx2_cptlfs_info *lfs) { @@ -334,6 +337,7 @@ free_cpumask_var(lfs->lf[slot].affinity_mask); } } +EXPORT_SYMBOL_NS_GPL(otx2_cptlf_free_irqs_affinity, CRYPTO_DEV_OCTEONTX2_CPT); int otx2_cptlf_set_irqs_affinity(struct otx2_cptlfs_info *lfs) { @@ -366,6 +370,7 @@ otx2_cptlf_free_irqs_affinity(lfs); return ret; } +EXPORT_SYMBOL_NS_GPL(otx2_cptlf_set_irqs_affinity, CRYPTO_DEV_OCTEONTX2_CPT); int otx2_cptlf_init(struct otx2_cptlfs_info *lfs, u8 eng_grp_mask, int pri, int lfs_num) @@ -422,6 +427,7 @@ lfs->lfs_num = 0; return ret; } +EXPORT_SYMBOL_NS_GPL(otx2_cptlf_init, CRYPTO_DEV_OCTEONTX2_CPT); void otx2_cptlf_shutdown(struct otx2_cptlfs_info *lfs) { @@ -431,3 +437,8 @@ /* Send request to detach LFs */ otx2_cpt_detach_rsrcs_msg(lfs); } +EXPORT_SYMBOL_NS_GPL(otx2_cptlf_shutdown, CRYPTO_DEV_OCTEONTX2_CPT); + +MODULE_AUTHOR("Marvell"); +MODULE_DESCRIPTION("Marvell RVU CPT Common module"); +MODULE_LICENSE("GPL"); --- linux-gcp-5.19.0.orig/drivers/crypto/marvell/octeontx2/otx2_cptpf_main.c +++ linux-gcp-5.19.0/drivers/crypto/marvell/octeontx2/otx2_cptpf_main.c @@ -831,6 +831,8 @@ module_pci_driver(otx2_cpt_pci_driver); +MODULE_IMPORT_NS(CRYPTO_DEV_OCTEONTX2_CPT); + MODULE_AUTHOR("Marvell"); MODULE_DESCRIPTION(OTX2_CPT_DRV_STRING); MODULE_LICENSE("GPL v2"); --- linux-gcp-5.19.0.orig/drivers/crypto/marvell/octeontx2/otx2_cptvf_main.c +++ linux-gcp-5.19.0/drivers/crypto/marvell/octeontx2/otx2_cptvf_main.c @@ -429,6 +429,8 @@ module_pci_driver(otx2_cptvf_pci_driver); +MODULE_IMPORT_NS(CRYPTO_DEV_OCTEONTX2_CPT); + MODULE_AUTHOR("Marvell"); MODULE_DESCRIPTION("Marvell RVU CPT Virtual Function Driver"); MODULE_LICENSE("GPL v2"); --- linux-gcp-5.19.0.orig/drivers/crypto/n2_core.c +++ linux-gcp-5.19.0/drivers/crypto/n2_core.c @@ -1229,6 +1229,7 @@ const u8 *hash_init; u8 hw_op_hashsz; u8 digest_size; + u8 statesize; u8 block_size; u8 auth_type; u8 hmac_type; @@ -1260,6 +1261,7 @@ .hmac_type = AUTH_TYPE_HMAC_MD5, .hw_op_hashsz = MD5_DIGEST_SIZE, .digest_size = MD5_DIGEST_SIZE, + .statesize = sizeof(struct md5_state), .block_size = MD5_HMAC_BLOCK_SIZE }, { .name = "sha1", .hash_zero = sha1_zero_message_hash, @@ -1268,6 +1270,7 @@ .hmac_type = AUTH_TYPE_HMAC_SHA1, .hw_op_hashsz = SHA1_DIGEST_SIZE, .digest_size = SHA1_DIGEST_SIZE, + .statesize = sizeof(struct sha1_state), .block_size = SHA1_BLOCK_SIZE }, { .name = "sha256", .hash_zero = sha256_zero_message_hash, @@ -1276,6 +1279,7 @@ .hmac_type = AUTH_TYPE_HMAC_SHA256, .hw_op_hashsz = SHA256_DIGEST_SIZE, .digest_size = SHA256_DIGEST_SIZE, + .statesize = sizeof(struct sha256_state), .block_size = SHA256_BLOCK_SIZE }, { .name = "sha224", .hash_zero = sha224_zero_message_hash, @@ -1284,6 +1288,7 @@ .hmac_type = AUTH_TYPE_RESERVED, .hw_op_hashsz = SHA256_DIGEST_SIZE, .digest_size = SHA224_DIGEST_SIZE, + .statesize = sizeof(struct sha256_state), .block_size = SHA224_BLOCK_SIZE }, }; #define NUM_HASH_TMPLS ARRAY_SIZE(hash_tmpls) @@ -1424,6 +1429,7 @@ halg = &ahash->halg; halg->digestsize = tmpl->digest_size; + halg->statesize = tmpl->statesize; base = &halg->base; snprintf(base->cra_name, CRYPTO_MAX_ALG_NAME, "%s", tmpl->name); --- linux-gcp-5.19.0.orig/drivers/crypto/omap-sham.c +++ linux-gcp-5.19.0/drivers/crypto/omap-sham.c @@ -2114,7 +2114,7 @@ pm_runtime_enable(dev); - err = pm_runtime_get_sync(dev); + err = pm_runtime_resume_and_get(dev); if (err < 0) { dev_err(dev, "failed to get sync: %d\n", err); goto err_pm; --- linux-gcp-5.19.0.orig/drivers/crypto/qat/qat_4xxx/adf_drv.c +++ linux-gcp-5.19.0/drivers/crypto/qat/qat_4xxx/adf_drv.c @@ -261,6 +261,7 @@ hw_data->accel_capabilities_mask = hw_data->get_accel_cap(accel_dev); if (!hw_data->accel_capabilities_mask) { dev_err(&pdev->dev, "Failed to get capabilities mask.\n"); + ret = -EINVAL; goto out_err; } --- linux-gcp-5.19.0.orig/drivers/crypto/qat/qat_common/adf_gen4_hw_data.h +++ linux-gcp-5.19.0/drivers/crypto/qat/qat_common/adf_gen4_hw_data.h @@ -107,7 +107,7 @@ * Timeout is in cycles. Clock speed may vary across products but this * value should be a few milli-seconds. */ -#define ADF_SSM_WDT_DEFAULT_VALUE 0x200000 +#define ADF_SSM_WDT_DEFAULT_VALUE 0x7000000ULL #define ADF_SSM_WDT_PKE_DEFAULT_VALUE 0x8000000 #define ADF_SSMWDTL_OFFSET 0x54 #define ADF_SSMWDTH_OFFSET 0x5C --- linux-gcp-5.19.0.orig/drivers/crypto/qat/qat_common/qat_algs.c +++ linux-gcp-5.19.0/drivers/crypto/qat/qat_common/qat_algs.c @@ -434,8 +434,8 @@ } else if (aes_v2_capable && mode == ICP_QAT_HW_CIPHER_CTR_MODE) { ICP_QAT_FW_LA_SLICE_TYPE_SET(header->serv_specif_flags, ICP_QAT_FW_LA_USE_UCS_SLICE_TYPE); - keylen = round_up(keylen, 16); memcpy(cd->ucs_aes.key, key, keylen); + keylen = round_up(keylen, 16); } else { memcpy(cd->aes.key, key, keylen); } @@ -673,11 +673,14 @@ dma_addr_t blpout = qat_req->buf.bloutp; size_t sz = qat_req->buf.sz; size_t sz_out = qat_req->buf.sz_out; + int bl_dma_dir; int i; + bl_dma_dir = blp != blpout ? DMA_TO_DEVICE : DMA_BIDIRECTIONAL; + for (i = 0; i < bl->num_bufs; i++) dma_unmap_single(dev, bl->bufers[i].addr, - bl->bufers[i].len, DMA_BIDIRECTIONAL); + bl->bufers[i].len, bl_dma_dir); dma_unmap_single(dev, blp, sz, DMA_TO_DEVICE); @@ -691,7 +694,7 @@ for (i = bufless; i < blout->num_bufs; i++) { dma_unmap_single(dev, blout->bufers[i].addr, blout->bufers[i].len, - DMA_BIDIRECTIONAL); + DMA_FROM_DEVICE); } dma_unmap_single(dev, blpout, sz_out, DMA_TO_DEVICE); @@ -716,6 +719,7 @@ struct scatterlist *sg; size_t sz_out, sz = struct_size(bufl, bufers, n); int node = dev_to_node(&GET_DEV(inst->accel_dev)); + int bufl_dma_dir; if (unlikely(!n)) return -EINVAL; @@ -733,6 +737,8 @@ qat_req->buf.sgl_src_valid = true; } + bufl_dma_dir = sgl != sglout ? DMA_TO_DEVICE : DMA_BIDIRECTIONAL; + for_each_sg(sgl, sg, n, i) bufl->bufers[i].addr = DMA_MAPPING_ERROR; @@ -744,7 +750,7 @@ bufl->bufers[y].addr = dma_map_single(dev, sg_virt(sg), sg->length, - DMA_BIDIRECTIONAL); + bufl_dma_dir); bufl->bufers[y].len = sg->length; if (unlikely(dma_mapping_error(dev, bufl->bufers[y].addr))) goto err_in; @@ -787,7 +793,7 @@ bufers[y].addr = dma_map_single(dev, sg_virt(sg), sg->length, - DMA_BIDIRECTIONAL); + DMA_FROM_DEVICE); if (unlikely(dma_mapping_error(dev, bufers[y].addr))) goto err_out; bufers[y].len = sg->length; @@ -817,7 +823,7 @@ if (!dma_mapping_error(dev, buflout->bufers[i].addr)) dma_unmap_single(dev, buflout->bufers[i].addr, buflout->bufers[i].len, - DMA_BIDIRECTIONAL); + DMA_FROM_DEVICE); if (!qat_req->buf.sgl_dst_valid) kfree(buflout); @@ -831,7 +837,7 @@ if (!dma_mapping_error(dev, bufl->bufers[i].addr)) dma_unmap_single(dev, bufl->bufers[i].addr, bufl->bufers[i].len, - DMA_BIDIRECTIONAL); + bufl_dma_dir); if (!qat_req->buf.sgl_src_valid) kfree(bufl); --- linux-gcp-5.19.0.orig/drivers/crypto/qat/qat_common/qat_asym_algs.c +++ linux-gcp-5.19.0/drivers/crypto/qat/qat_common/qat_asym_algs.c @@ -333,13 +333,13 @@ qat_req->out.dh.out_tab[1] = 0; /* Mapping in.in.b or in.in_g2.xa is the same */ qat_req->phy_in = dma_map_single(dev, &qat_req->in.dh.in.b, - sizeof(qat_req->in.dh.in.b), + sizeof(struct qat_dh_input_params), DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, qat_req->phy_in))) goto unmap_dst; qat_req->phy_out = dma_map_single(dev, &qat_req->out.dh.r, - sizeof(qat_req->out.dh.r), + sizeof(struct qat_dh_output_params), DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, qat_req->phy_out))) goto unmap_in_params; @@ -730,13 +730,13 @@ qat_req->in.rsa.in_tab[3] = 0; qat_req->out.rsa.out_tab[1] = 0; qat_req->phy_in = dma_map_single(dev, &qat_req->in.rsa.enc.m, - sizeof(qat_req->in.rsa.enc.m), + sizeof(struct qat_rsa_input_params), DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, qat_req->phy_in))) goto unmap_dst; qat_req->phy_out = dma_map_single(dev, &qat_req->out.rsa.enc.c, - sizeof(qat_req->out.rsa.enc.c), + sizeof(struct qat_rsa_output_params), DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, qat_req->phy_out))) goto unmap_in_params; @@ -876,13 +876,13 @@ qat_req->in.rsa.in_tab[3] = 0; qat_req->out.rsa.out_tab[1] = 0; qat_req->phy_in = dma_map_single(dev, &qat_req->in.rsa.dec.c, - sizeof(qat_req->in.rsa.dec.c), + sizeof(struct qat_rsa_input_params), DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, qat_req->phy_in))) goto unmap_dst; qat_req->phy_out = dma_map_single(dev, &qat_req->out.rsa.dec.m, - sizeof(qat_req->out.rsa.dec.m), + sizeof(struct qat_rsa_output_params), DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, qat_req->phy_out))) goto unmap_in_params; --- linux-gcp-5.19.0.orig/drivers/crypto/rockchip/rk3288_crypto.c +++ linux-gcp-5.19.0/drivers/crypto/rockchip/rk3288_crypto.c @@ -65,186 +65,24 @@ clk_disable_unprepare(dev->sclk); } -static int check_alignment(struct scatterlist *sg_src, - struct scatterlist *sg_dst, - int align_mask) -{ - int in, out, align; - - in = IS_ALIGNED((uint32_t)sg_src->offset, 4) && - IS_ALIGNED((uint32_t)sg_src->length, align_mask); - if (!sg_dst) - return in; - out = IS_ALIGNED((uint32_t)sg_dst->offset, 4) && - IS_ALIGNED((uint32_t)sg_dst->length, align_mask); - align = in && out; - - return (align && (sg_src->length == sg_dst->length)); -} - -static int rk_load_data(struct rk_crypto_info *dev, - struct scatterlist *sg_src, - struct scatterlist *sg_dst) -{ - unsigned int count; - - dev->aligned = dev->aligned ? - check_alignment(sg_src, sg_dst, dev->align_size) : - dev->aligned; - if (dev->aligned) { - count = min(dev->left_bytes, sg_src->length); - dev->left_bytes -= count; - - if (!dma_map_sg(dev->dev, sg_src, 1, DMA_TO_DEVICE)) { - dev_err(dev->dev, "[%s:%d] dma_map_sg(src) error\n", - __func__, __LINE__); - return -EINVAL; - } - dev->addr_in = sg_dma_address(sg_src); - - if (sg_dst) { - if (!dma_map_sg(dev->dev, sg_dst, 1, DMA_FROM_DEVICE)) { - dev_err(dev->dev, - "[%s:%d] dma_map_sg(dst) error\n", - __func__, __LINE__); - dma_unmap_sg(dev->dev, sg_src, 1, - DMA_TO_DEVICE); - return -EINVAL; - } - dev->addr_out = sg_dma_address(sg_dst); - } - } else { - count = (dev->left_bytes > PAGE_SIZE) ? - PAGE_SIZE : dev->left_bytes; - - if (!sg_pcopy_to_buffer(dev->first, dev->src_nents, - dev->addr_vir, count, - dev->total - dev->left_bytes)) { - dev_err(dev->dev, "[%s:%d] pcopy err\n", - __func__, __LINE__); - return -EINVAL; - } - dev->left_bytes -= count; - sg_init_one(&dev->sg_tmp, dev->addr_vir, count); - if (!dma_map_sg(dev->dev, &dev->sg_tmp, 1, DMA_TO_DEVICE)) { - dev_err(dev->dev, "[%s:%d] dma_map_sg(sg_tmp) error\n", - __func__, __LINE__); - return -ENOMEM; - } - dev->addr_in = sg_dma_address(&dev->sg_tmp); - - if (sg_dst) { - if (!dma_map_sg(dev->dev, &dev->sg_tmp, 1, - DMA_FROM_DEVICE)) { - dev_err(dev->dev, - "[%s:%d] dma_map_sg(sg_tmp) error\n", - __func__, __LINE__); - dma_unmap_sg(dev->dev, &dev->sg_tmp, 1, - DMA_TO_DEVICE); - return -ENOMEM; - } - dev->addr_out = sg_dma_address(&dev->sg_tmp); - } - } - dev->count = count; - return 0; -} - -static void rk_unload_data(struct rk_crypto_info *dev) -{ - struct scatterlist *sg_in, *sg_out; - - sg_in = dev->aligned ? dev->sg_src : &dev->sg_tmp; - dma_unmap_sg(dev->dev, sg_in, 1, DMA_TO_DEVICE); - - if (dev->sg_dst) { - sg_out = dev->aligned ? dev->sg_dst : &dev->sg_tmp; - dma_unmap_sg(dev->dev, sg_out, 1, DMA_FROM_DEVICE); - } -} - static irqreturn_t rk_crypto_irq_handle(int irq, void *dev_id) { struct rk_crypto_info *dev = platform_get_drvdata(dev_id); u32 interrupt_status; - spin_lock(&dev->lock); interrupt_status = CRYPTO_READ(dev, RK_CRYPTO_INTSTS); CRYPTO_WRITE(dev, RK_CRYPTO_INTSTS, interrupt_status); + dev->status = 1; if (interrupt_status & 0x0a) { dev_warn(dev->dev, "DMA Error\n"); - dev->err = -EFAULT; + dev->status = 0; } - tasklet_schedule(&dev->done_task); + complete(&dev->complete); - spin_unlock(&dev->lock); return IRQ_HANDLED; } -static int rk_crypto_enqueue(struct rk_crypto_info *dev, - struct crypto_async_request *async_req) -{ - unsigned long flags; - int ret; - - spin_lock_irqsave(&dev->lock, flags); - ret = crypto_enqueue_request(&dev->queue, async_req); - if (dev->busy) { - spin_unlock_irqrestore(&dev->lock, flags); - return ret; - } - dev->busy = true; - spin_unlock_irqrestore(&dev->lock, flags); - tasklet_schedule(&dev->queue_task); - - return ret; -} - -static void rk_crypto_queue_task_cb(unsigned long data) -{ - struct rk_crypto_info *dev = (struct rk_crypto_info *)data; - struct crypto_async_request *async_req, *backlog; - unsigned long flags; - int err = 0; - - dev->err = 0; - spin_lock_irqsave(&dev->lock, flags); - backlog = crypto_get_backlog(&dev->queue); - async_req = crypto_dequeue_request(&dev->queue); - - if (!async_req) { - dev->busy = false; - spin_unlock_irqrestore(&dev->lock, flags); - return; - } - spin_unlock_irqrestore(&dev->lock, flags); - - if (backlog) { - backlog->complete(backlog, -EINPROGRESS); - backlog = NULL; - } - - dev->async_req = async_req; - err = dev->start(dev); - if (err) - dev->complete(dev->async_req, err); -} - -static void rk_crypto_done_task_cb(unsigned long data) -{ - struct rk_crypto_info *dev = (struct rk_crypto_info *)data; - - if (dev->err) { - dev->complete(dev->async_req, dev->err); - return; - } - - dev->err = dev->update(dev); - if (dev->err) - dev->complete(dev->async_req, dev->err); -} - static struct rk_crypto_tmp *rk_cipher_algs[] = { &rk_ecb_aes_alg, &rk_cbc_aes_alg, @@ -337,8 +175,6 @@ if (err) goto err_crypto; - spin_lock_init(&crypto_info->lock); - crypto_info->reg = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(crypto_info->reg)) { err = PTR_ERR(crypto_info->reg); @@ -389,18 +225,11 @@ crypto_info->dev = &pdev->dev; platform_set_drvdata(pdev, crypto_info); - tasklet_init(&crypto_info->queue_task, - rk_crypto_queue_task_cb, (unsigned long)crypto_info); - tasklet_init(&crypto_info->done_task, - rk_crypto_done_task_cb, (unsigned long)crypto_info); - crypto_init_queue(&crypto_info->queue, 50); - - crypto_info->enable_clk = rk_crypto_enable_clk; - crypto_info->disable_clk = rk_crypto_disable_clk; - crypto_info->load_data = rk_load_data; - crypto_info->unload_data = rk_unload_data; - crypto_info->enqueue = rk_crypto_enqueue; - crypto_info->busy = false; + crypto_info->engine = crypto_engine_alloc_init(&pdev->dev, true); + crypto_engine_start(crypto_info->engine); + init_completion(&crypto_info->complete); + + rk_crypto_enable_clk(crypto_info); err = rk_crypto_register(crypto_info); if (err) { @@ -412,9 +241,9 @@ return 0; err_register_alg: - tasklet_kill(&crypto_info->queue_task); - tasklet_kill(&crypto_info->done_task); + crypto_engine_exit(crypto_info->engine); err_crypto: + dev_err(dev, "Crypto Accelerator not successfully registered\n"); return err; } @@ -423,8 +252,8 @@ struct rk_crypto_info *crypto_tmp = platform_get_drvdata(pdev); rk_crypto_unregister(); - tasklet_kill(&crypto_tmp->done_task); - tasklet_kill(&crypto_tmp->queue_task); + rk_crypto_disable_clk(crypto_tmp); + crypto_engine_exit(crypto_tmp->engine); return 0; } --- linux-gcp-5.19.0.orig/drivers/crypto/rockchip/rk3288_crypto.h +++ linux-gcp-5.19.0/drivers/crypto/rockchip/rk3288_crypto.h @@ -5,9 +5,11 @@ #include #include #include +#include #include #include #include +#include #include #include @@ -193,45 +195,15 @@ struct reset_control *rst; void __iomem *reg; int irq; - struct crypto_queue queue; - struct tasklet_struct queue_task; - struct tasklet_struct done_task; - struct crypto_async_request *async_req; - int err; - /* device lock */ - spinlock_t lock; - - /* the public variable */ - struct scatterlist *sg_src; - struct scatterlist *sg_dst; - struct scatterlist sg_tmp; - struct scatterlist *first; - unsigned int left_bytes; - void *addr_vir; - int aligned; - int align_size; - size_t src_nents; - size_t dst_nents; - unsigned int total; - unsigned int count; - dma_addr_t addr_in; - dma_addr_t addr_out; - bool busy; - int (*start)(struct rk_crypto_info *dev); - int (*update)(struct rk_crypto_info *dev); - void (*complete)(struct crypto_async_request *base, int err); - int (*enable_clk)(struct rk_crypto_info *dev); - void (*disable_clk)(struct rk_crypto_info *dev); - int (*load_data)(struct rk_crypto_info *dev, - struct scatterlist *sg_src, - struct scatterlist *sg_dst); - void (*unload_data)(struct rk_crypto_info *dev); - int (*enqueue)(struct rk_crypto_info *dev, - struct crypto_async_request *async_req); + + struct crypto_engine *engine; + struct completion complete; + int status; }; /* the private variable of hash */ struct rk_ahash_ctx { + struct crypto_engine_ctx enginectx; struct rk_crypto_info *dev; /* for fallback */ struct crypto_ahash *fallback_tfm; @@ -241,14 +213,23 @@ struct rk_ahash_rctx { struct ahash_request fallback_req; u32 mode; + int nrsg; }; /* the private variable of cipher */ struct rk_cipher_ctx { + struct crypto_engine_ctx enginectx; struct rk_crypto_info *dev; unsigned int keylen; - u32 mode; + u8 key[AES_MAX_KEY_SIZE]; u8 iv[AES_BLOCK_SIZE]; + struct crypto_skcipher *fallback_tfm; +}; + +struct rk_cipher_rctx { + u8 backup_iv[AES_BLOCK_SIZE]; + u32 mode; + struct skcipher_request fallback_req; // keep at the end }; enum alg_type { --- linux-gcp-5.19.0.orig/drivers/crypto/rockchip/rk3288_crypto_ahash.c +++ linux-gcp-5.19.0/drivers/crypto/rockchip/rk3288_crypto_ahash.c @@ -9,6 +9,7 @@ * Some ideas are from marvell/cesa.c and s5p-sss.c driver. */ #include +#include #include "rk3288_crypto.h" /* @@ -16,6 +17,40 @@ * so we put the fixed hash out when met zero message. */ +static bool rk_ahash_need_fallback(struct ahash_request *req) +{ + struct scatterlist *sg; + + sg = req->src; + while (sg) { + if (!IS_ALIGNED(sg->offset, sizeof(u32))) { + return true; + } + if (sg->length % 4) { + return true; + } + sg = sg_next(sg); + } + return false; +} + +static int rk_ahash_digest_fb(struct ahash_request *areq) +{ + struct rk_ahash_rctx *rctx = ahash_request_ctx(areq); + struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); + struct rk_ahash_ctx *tfmctx = crypto_ahash_ctx(tfm); + + ahash_request_set_tfm(&rctx->fallback_req, tfmctx->fallback_tfm); + rctx->fallback_req.base.flags = areq->base.flags & + CRYPTO_TFM_REQ_MAY_SLEEP; + + rctx->fallback_req.nbytes = areq->nbytes; + rctx->fallback_req.src = areq->src; + rctx->fallback_req.result = areq->result; + + return crypto_ahash_digest(&rctx->fallback_req); +} + static int zero_message_process(struct ahash_request *req) { struct crypto_ahash *tfm = crypto_ahash_reqtfm(req); @@ -38,16 +73,12 @@ return 0; } -static void rk_ahash_crypto_complete(struct crypto_async_request *base, int err) -{ - if (base->complete) - base->complete(base, err); -} - -static void rk_ahash_reg_init(struct rk_crypto_info *dev) +static void rk_ahash_reg_init(struct ahash_request *req) { - struct ahash_request *req = ahash_request_cast(dev->async_req); struct rk_ahash_rctx *rctx = ahash_request_ctx(req); + struct crypto_ahash *tfm = crypto_ahash_reqtfm(req); + struct rk_ahash_ctx *tctx = crypto_ahash_ctx(tfm); + struct rk_crypto_info *dev = tctx->dev; int reg_status; reg_status = CRYPTO_READ(dev, RK_CRYPTO_CTRL) | @@ -74,7 +105,7 @@ RK_CRYPTO_BYTESWAP_BRFIFO | RK_CRYPTO_BYTESWAP_BTFIFO); - CRYPTO_WRITE(dev, RK_CRYPTO_HASH_MSG_LEN, dev->total); + CRYPTO_WRITE(dev, RK_CRYPTO_HASH_MSG_LEN, req->nbytes); } static int rk_ahash_init(struct ahash_request *req) @@ -167,48 +198,64 @@ struct rk_ahash_ctx *tctx = crypto_tfm_ctx(req->base.tfm); struct rk_crypto_info *dev = tctx->dev; + if (rk_ahash_need_fallback(req)) + return rk_ahash_digest_fb(req); + if (!req->nbytes) return zero_message_process(req); - else - return dev->enqueue(dev, &req->base); + + return crypto_transfer_hash_request_to_engine(dev->engine, req); } -static void crypto_ahash_dma_start(struct rk_crypto_info *dev) +static void crypto_ahash_dma_start(struct rk_crypto_info *dev, struct scatterlist *sg) { - CRYPTO_WRITE(dev, RK_CRYPTO_HRDMAS, dev->addr_in); - CRYPTO_WRITE(dev, RK_CRYPTO_HRDMAL, (dev->count + 3) / 4); + CRYPTO_WRITE(dev, RK_CRYPTO_HRDMAS, sg_dma_address(sg)); + CRYPTO_WRITE(dev, RK_CRYPTO_HRDMAL, sg_dma_len(sg) / 4); CRYPTO_WRITE(dev, RK_CRYPTO_CTRL, RK_CRYPTO_HASH_START | (RK_CRYPTO_HASH_START << 16)); } -static int rk_ahash_set_data_start(struct rk_crypto_info *dev) +static int rk_hash_prepare(struct crypto_engine *engine, void *breq) +{ + struct ahash_request *areq = container_of(breq, struct ahash_request, base); + struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); + struct rk_ahash_rctx *rctx = ahash_request_ctx(areq); + struct rk_ahash_ctx *tctx = crypto_ahash_ctx(tfm); + int ret; + + ret = dma_map_sg(tctx->dev->dev, areq->src, sg_nents(areq->src), DMA_TO_DEVICE); + if (ret <= 0) + return -EINVAL; + + rctx->nrsg = ret; + + return 0; +} + +static int rk_hash_unprepare(struct crypto_engine *engine, void *breq) +{ + struct ahash_request *areq = container_of(breq, struct ahash_request, base); + struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); + struct rk_ahash_rctx *rctx = ahash_request_ctx(areq); + struct rk_ahash_ctx *tctx = crypto_ahash_ctx(tfm); + + dma_unmap_sg(tctx->dev->dev, areq->src, rctx->nrsg, DMA_TO_DEVICE); + return 0; +} + +static int rk_hash_run(struct crypto_engine *engine, void *breq) { - int err; + struct ahash_request *areq = container_of(breq, struct ahash_request, base); + struct crypto_ahash *tfm = crypto_ahash_reqtfm(areq); + struct rk_ahash_rctx *rctx = ahash_request_ctx(areq); + struct rk_ahash_ctx *tctx = crypto_ahash_ctx(tfm); + struct scatterlist *sg = areq->src; + int err = 0; + int i; + u32 v; - err = dev->load_data(dev, dev->sg_src, NULL); - if (!err) - crypto_ahash_dma_start(dev); - return err; -} - -static int rk_ahash_start(struct rk_crypto_info *dev) -{ - struct ahash_request *req = ahash_request_cast(dev->async_req); - struct crypto_ahash *tfm; - struct rk_ahash_rctx *rctx; - - dev->total = req->nbytes; - dev->left_bytes = req->nbytes; - dev->aligned = 0; - dev->align_size = 4; - dev->sg_dst = NULL; - dev->sg_src = req->src; - dev->first = req->src; - dev->src_nents = sg_nents(req->src); - rctx = ahash_request_ctx(req); rctx->mode = 0; - tfm = crypto_ahash_reqtfm(req); switch (crypto_ahash_digestsize(tfm)) { case SHA1_DIGEST_SIZE: rctx->mode = RK_CRYPTO_HASH_SHA1; @@ -220,32 +267,26 @@ rctx->mode = RK_CRYPTO_HASH_MD5; break; default: - return -EINVAL; + err = -EINVAL; + goto theend; } - rk_ahash_reg_init(dev); - return rk_ahash_set_data_start(dev); -} - -static int rk_ahash_crypto_rx(struct rk_crypto_info *dev) -{ - int err = 0; - struct ahash_request *req = ahash_request_cast(dev->async_req); - struct crypto_ahash *tfm; + rk_ahash_reg_init(areq); - dev->unload_data(dev); - if (dev->left_bytes) { - if (dev->aligned) { - if (sg_is_last(dev->sg_src)) { - dev_warn(dev->dev, "[%s:%d], Lack of data\n", - __func__, __LINE__); - err = -ENOMEM; - goto out_rx; - } - dev->sg_src = sg_next(dev->sg_src); + while (sg) { + reinit_completion(&tctx->dev->complete); + tctx->dev->status = 0; + crypto_ahash_dma_start(tctx->dev, sg); + wait_for_completion_interruptible_timeout(&tctx->dev->complete, + msecs_to_jiffies(2000)); + if (!tctx->dev->status) { + dev_err(tctx->dev->dev, "DMA timeout\n"); + err = -EFAULT; + goto theend; } - err = rk_ahash_set_data_start(dev); - } else { + sg = sg_next(sg); + } + /* * it will take some time to process date after last dma * transmission. @@ -256,18 +297,20 @@ * efficiency, and make it response quickly when dma * complete. */ - while (!CRYPTO_READ(dev, RK_CRYPTO_HASH_STS)) - udelay(10); + while (!CRYPTO_READ(tctx->dev, RK_CRYPTO_HASH_STS)) + udelay(10); - tfm = crypto_ahash_reqtfm(req); - memcpy_fromio(req->result, dev->reg + RK_CRYPTO_HASH_DOUT_0, - crypto_ahash_digestsize(tfm)); - dev->complete(dev->async_req, 0); - tasklet_schedule(&dev->queue_task); + for (i = 0; i < crypto_ahash_digestsize(tfm) / 4; i++) { + v = readl(tctx->dev->reg + RK_CRYPTO_HASH_DOUT_0 + i * 4); + put_unaligned_le32(v, areq->result + i * 4); } -out_rx: - return err; +theend: + local_bh_disable(); + crypto_finalize_hash_request(engine, breq, err); + local_bh_enable(); + + return 0; } static int rk_cra_hash_init(struct crypto_tfm *tfm) @@ -281,14 +324,6 @@ algt = container_of(alg, struct rk_crypto_tmp, alg.hash); tctx->dev = algt->dev; - tctx->dev->addr_vir = (void *)__get_free_page(GFP_KERNEL); - if (!tctx->dev->addr_vir) { - dev_err(tctx->dev->dev, "failed to kmalloc for addr_vir\n"); - return -ENOMEM; - } - tctx->dev->start = rk_ahash_start; - tctx->dev->update = rk_ahash_crypto_rx; - tctx->dev->complete = rk_ahash_crypto_complete; /* for fallback */ tctx->fallback_tfm = crypto_alloc_ahash(alg_name, 0, @@ -297,19 +332,23 @@ dev_err(tctx->dev->dev, "Could not load fallback driver.\n"); return PTR_ERR(tctx->fallback_tfm); } + crypto_ahash_set_reqsize(__crypto_ahash_cast(tfm), sizeof(struct rk_ahash_rctx) + crypto_ahash_reqsize(tctx->fallback_tfm)); - return tctx->dev->enable_clk(tctx->dev); + tctx->enginectx.op.do_one_request = rk_hash_run; + tctx->enginectx.op.prepare_request = rk_hash_prepare; + tctx->enginectx.op.unprepare_request = rk_hash_unprepare; + + return 0; } static void rk_cra_hash_exit(struct crypto_tfm *tfm) { struct rk_ahash_ctx *tctx = crypto_tfm_ctx(tfm); - free_page((unsigned long)tctx->dev->addr_vir); - return tctx->dev->disable_clk(tctx->dev); + crypto_free_ahash(tctx->fallback_tfm); } struct rk_crypto_tmp rk_ahash_sha1 = { --- linux-gcp-5.19.0.orig/drivers/crypto/rockchip/rk3288_crypto_skcipher.c +++ linux-gcp-5.19.0/drivers/crypto/rockchip/rk3288_crypto_skcipher.c @@ -9,23 +9,77 @@ * Some ideas are from marvell-cesa.c and s5p-sss.c driver. */ #include +#include #include "rk3288_crypto.h" #define RK_CRYPTO_DEC BIT(0) -static void rk_crypto_complete(struct crypto_async_request *base, int err) +static int rk_cipher_need_fallback(struct skcipher_request *req) { - if (base->complete) - base->complete(base, err); + struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); + unsigned int bs = crypto_skcipher_blocksize(tfm); + struct scatterlist *sgs, *sgd; + unsigned int stodo, dtodo, len; + + if (!req->cryptlen) + return true; + + len = req->cryptlen; + sgs = req->src; + sgd = req->dst; + while (sgs && sgd) { + if (!IS_ALIGNED(sgs->offset, sizeof(u32))) { + return true; + } + if (!IS_ALIGNED(sgd->offset, sizeof(u32))) { + return true; + } + stodo = min(len, sgs->length); + if (stodo % bs) { + return true; + } + dtodo = min(len, sgd->length); + if (dtodo % bs) { + return true; + } + if (stodo != dtodo) { + return true; + } + len -= stodo; + sgs = sg_next(sgs); + sgd = sg_next(sgd); + } + return false; +} + +static int rk_cipher_fallback(struct skcipher_request *areq) +{ + struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq); + struct rk_cipher_ctx *op = crypto_skcipher_ctx(tfm); + struct rk_cipher_rctx *rctx = skcipher_request_ctx(areq); + int err; + + skcipher_request_set_tfm(&rctx->fallback_req, op->fallback_tfm); + skcipher_request_set_callback(&rctx->fallback_req, areq->base.flags, + areq->base.complete, areq->base.data); + skcipher_request_set_crypt(&rctx->fallback_req, areq->src, areq->dst, + areq->cryptlen, areq->iv); + if (rctx->mode & RK_CRYPTO_DEC) + err = crypto_skcipher_decrypt(&rctx->fallback_req); + else + err = crypto_skcipher_encrypt(&rctx->fallback_req); + return err; } static int rk_handle_req(struct rk_crypto_info *dev, struct skcipher_request *req) { - if (!IS_ALIGNED(req->cryptlen, dev->align_size)) - return -EINVAL; - else - return dev->enqueue(dev, &req->base); + struct crypto_engine *engine = dev->engine; + + if (rk_cipher_need_fallback(req)) + return rk_cipher_fallback(req); + + return crypto_transfer_skcipher_request_to_engine(engine, req); } static int rk_aes_setkey(struct crypto_skcipher *cipher, @@ -38,8 +92,9 @@ keylen != AES_KEYSIZE_256) return -EINVAL; ctx->keylen = keylen; - memcpy_toio(ctx->dev->reg + RK_CRYPTO_AES_KEY_0, key, keylen); - return 0; + memcpy(ctx->key, key, keylen); + + return crypto_skcipher_setkey(ctx->fallback_tfm, key, keylen); } static int rk_des_setkey(struct crypto_skcipher *cipher, @@ -53,8 +108,9 @@ return err; ctx->keylen = keylen; - memcpy_toio(ctx->dev->reg + RK_CRYPTO_TDES_KEY1_0, key, keylen); - return 0; + memcpy(ctx->key, key, keylen); + + return crypto_skcipher_setkey(ctx->fallback_tfm, key, keylen); } static int rk_tdes_setkey(struct crypto_skcipher *cipher, @@ -68,17 +124,19 @@ return err; ctx->keylen = keylen; - memcpy_toio(ctx->dev->reg + RK_CRYPTO_TDES_KEY1_0, key, keylen); - return 0; + memcpy(ctx->key, key, keylen); + + return crypto_skcipher_setkey(ctx->fallback_tfm, key, keylen); } static int rk_aes_ecb_encrypt(struct skcipher_request *req) { struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm); + struct rk_cipher_rctx *rctx = skcipher_request_ctx(req); struct rk_crypto_info *dev = ctx->dev; - ctx->mode = RK_CRYPTO_AES_ECB_MODE; + rctx->mode = RK_CRYPTO_AES_ECB_MODE; return rk_handle_req(dev, req); } @@ -86,9 +144,10 @@ { struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm); + struct rk_cipher_rctx *rctx = skcipher_request_ctx(req); struct rk_crypto_info *dev = ctx->dev; - ctx->mode = RK_CRYPTO_AES_ECB_MODE | RK_CRYPTO_DEC; + rctx->mode = RK_CRYPTO_AES_ECB_MODE | RK_CRYPTO_DEC; return rk_handle_req(dev, req); } @@ -96,9 +155,10 @@ { struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm); + struct rk_cipher_rctx *rctx = skcipher_request_ctx(req); struct rk_crypto_info *dev = ctx->dev; - ctx->mode = RK_CRYPTO_AES_CBC_MODE; + rctx->mode = RK_CRYPTO_AES_CBC_MODE; return rk_handle_req(dev, req); } @@ -106,9 +166,10 @@ { struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm); + struct rk_cipher_rctx *rctx = skcipher_request_ctx(req); struct rk_crypto_info *dev = ctx->dev; - ctx->mode = RK_CRYPTO_AES_CBC_MODE | RK_CRYPTO_DEC; + rctx->mode = RK_CRYPTO_AES_CBC_MODE | RK_CRYPTO_DEC; return rk_handle_req(dev, req); } @@ -116,9 +177,10 @@ { struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm); + struct rk_cipher_rctx *rctx = skcipher_request_ctx(req); struct rk_crypto_info *dev = ctx->dev; - ctx->mode = 0; + rctx->mode = 0; return rk_handle_req(dev, req); } @@ -126,9 +188,10 @@ { struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm); + struct rk_cipher_rctx *rctx = skcipher_request_ctx(req); struct rk_crypto_info *dev = ctx->dev; - ctx->mode = RK_CRYPTO_DEC; + rctx->mode = RK_CRYPTO_DEC; return rk_handle_req(dev, req); } @@ -136,9 +199,10 @@ { struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm); + struct rk_cipher_rctx *rctx = skcipher_request_ctx(req); struct rk_crypto_info *dev = ctx->dev; - ctx->mode = RK_CRYPTO_TDES_CHAINMODE_CBC; + rctx->mode = RK_CRYPTO_TDES_CHAINMODE_CBC; return rk_handle_req(dev, req); } @@ -146,9 +210,10 @@ { struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm); + struct rk_cipher_rctx *rctx = skcipher_request_ctx(req); struct rk_crypto_info *dev = ctx->dev; - ctx->mode = RK_CRYPTO_TDES_CHAINMODE_CBC | RK_CRYPTO_DEC; + rctx->mode = RK_CRYPTO_TDES_CHAINMODE_CBC | RK_CRYPTO_DEC; return rk_handle_req(dev, req); } @@ -156,9 +221,10 @@ { struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm); + struct rk_cipher_rctx *rctx = skcipher_request_ctx(req); struct rk_crypto_info *dev = ctx->dev; - ctx->mode = RK_CRYPTO_TDES_SELECT; + rctx->mode = RK_CRYPTO_TDES_SELECT; return rk_handle_req(dev, req); } @@ -166,9 +232,10 @@ { struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm); + struct rk_cipher_rctx *rctx = skcipher_request_ctx(req); struct rk_crypto_info *dev = ctx->dev; - ctx->mode = RK_CRYPTO_TDES_SELECT | RK_CRYPTO_DEC; + rctx->mode = RK_CRYPTO_TDES_SELECT | RK_CRYPTO_DEC; return rk_handle_req(dev, req); } @@ -176,9 +243,10 @@ { struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm); + struct rk_cipher_rctx *rctx = skcipher_request_ctx(req); struct rk_crypto_info *dev = ctx->dev; - ctx->mode = RK_CRYPTO_TDES_SELECT | RK_CRYPTO_TDES_CHAINMODE_CBC; + rctx->mode = RK_CRYPTO_TDES_SELECT | RK_CRYPTO_TDES_CHAINMODE_CBC; return rk_handle_req(dev, req); } @@ -186,43 +254,42 @@ { struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm); + struct rk_cipher_rctx *rctx = skcipher_request_ctx(req); struct rk_crypto_info *dev = ctx->dev; - ctx->mode = RK_CRYPTO_TDES_SELECT | RK_CRYPTO_TDES_CHAINMODE_CBC | + rctx->mode = RK_CRYPTO_TDES_SELECT | RK_CRYPTO_TDES_CHAINMODE_CBC | RK_CRYPTO_DEC; return rk_handle_req(dev, req); } -static void rk_ablk_hw_init(struct rk_crypto_info *dev) +static void rk_ablk_hw_init(struct rk_crypto_info *dev, struct skcipher_request *req) { - struct skcipher_request *req = - skcipher_request_cast(dev->async_req); struct crypto_skcipher *cipher = crypto_skcipher_reqtfm(req); struct crypto_tfm *tfm = crypto_skcipher_tfm(cipher); + struct rk_cipher_rctx *rctx = skcipher_request_ctx(req); struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(cipher); - u32 ivsize, block, conf_reg = 0; + u32 block, conf_reg = 0; block = crypto_tfm_alg_blocksize(tfm); - ivsize = crypto_skcipher_ivsize(cipher); if (block == DES_BLOCK_SIZE) { - ctx->mode |= RK_CRYPTO_TDES_FIFO_MODE | + rctx->mode |= RK_CRYPTO_TDES_FIFO_MODE | RK_CRYPTO_TDES_BYTESWAP_KEY | RK_CRYPTO_TDES_BYTESWAP_IV; - CRYPTO_WRITE(dev, RK_CRYPTO_TDES_CTRL, ctx->mode); - memcpy_toio(dev->reg + RK_CRYPTO_TDES_IV_0, req->iv, ivsize); + CRYPTO_WRITE(dev, RK_CRYPTO_TDES_CTRL, rctx->mode); + memcpy_toio(ctx->dev->reg + RK_CRYPTO_TDES_KEY1_0, ctx->key, ctx->keylen); conf_reg = RK_CRYPTO_DESSEL; } else { - ctx->mode |= RK_CRYPTO_AES_FIFO_MODE | + rctx->mode |= RK_CRYPTO_AES_FIFO_MODE | RK_CRYPTO_AES_KEY_CHANGE | RK_CRYPTO_AES_BYTESWAP_KEY | RK_CRYPTO_AES_BYTESWAP_IV; if (ctx->keylen == AES_KEYSIZE_192) - ctx->mode |= RK_CRYPTO_AES_192BIT_key; + rctx->mode |= RK_CRYPTO_AES_192BIT_key; else if (ctx->keylen == AES_KEYSIZE_256) - ctx->mode |= RK_CRYPTO_AES_256BIT_key; - CRYPTO_WRITE(dev, RK_CRYPTO_AES_CTRL, ctx->mode); - memcpy_toio(dev->reg + RK_CRYPTO_AES_IV_0, req->iv, ivsize); + rctx->mode |= RK_CRYPTO_AES_256BIT_key; + CRYPTO_WRITE(dev, RK_CRYPTO_AES_CTRL, rctx->mode); + memcpy_toio(ctx->dev->reg + RK_CRYPTO_AES_KEY_0, ctx->key, ctx->keylen); } conf_reg |= RK_CRYPTO_BYTESWAP_BTFIFO | RK_CRYPTO_BYTESWAP_BRFIFO; @@ -231,146 +298,138 @@ RK_CRYPTO_BCDMA_ERR_ENA | RK_CRYPTO_BCDMA_DONE_ENA); } -static void crypto_dma_start(struct rk_crypto_info *dev) -{ - CRYPTO_WRITE(dev, RK_CRYPTO_BRDMAS, dev->addr_in); - CRYPTO_WRITE(dev, RK_CRYPTO_BRDMAL, dev->count / 4); - CRYPTO_WRITE(dev, RK_CRYPTO_BTDMAS, dev->addr_out); +static void crypto_dma_start(struct rk_crypto_info *dev, + struct scatterlist *sgs, + struct scatterlist *sgd, unsigned int todo) +{ + CRYPTO_WRITE(dev, RK_CRYPTO_BRDMAS, sg_dma_address(sgs)); + CRYPTO_WRITE(dev, RK_CRYPTO_BRDMAL, todo); + CRYPTO_WRITE(dev, RK_CRYPTO_BTDMAS, sg_dma_address(sgd)); CRYPTO_WRITE(dev, RK_CRYPTO_CTRL, RK_CRYPTO_BLOCK_START | _SBF(RK_CRYPTO_BLOCK_START, 16)); } -static int rk_set_data_start(struct rk_crypto_info *dev) +static int rk_cipher_run(struct crypto_engine *engine, void *async_req) { - int err; - struct skcipher_request *req = - skcipher_request_cast(dev->async_req); - struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); + struct skcipher_request *areq = container_of(async_req, struct skcipher_request, base); + struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(areq); struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm); - u32 ivsize = crypto_skcipher_ivsize(tfm); - u8 *src_last_blk = page_address(sg_page(dev->sg_src)) + - dev->sg_src->offset + dev->sg_src->length - ivsize; - - /* Store the iv that need to be updated in chain mode. - * And update the IV buffer to contain the next IV for decryption mode. - */ - if (ctx->mode & RK_CRYPTO_DEC) { - memcpy(ctx->iv, src_last_blk, ivsize); - sg_pcopy_to_buffer(dev->first, dev->src_nents, req->iv, - ivsize, dev->total - ivsize); - } - - err = dev->load_data(dev, dev->sg_src, dev->sg_dst); - if (!err) - crypto_dma_start(dev); - return err; -} - -static int rk_ablk_start(struct rk_crypto_info *dev) -{ - struct skcipher_request *req = - skcipher_request_cast(dev->async_req); - unsigned long flags; + struct rk_cipher_rctx *rctx = skcipher_request_ctx(areq); + struct scatterlist *sgs, *sgd; int err = 0; + int ivsize = crypto_skcipher_ivsize(tfm); + int offset; + u8 iv[AES_BLOCK_SIZE]; + u8 biv[AES_BLOCK_SIZE]; + u8 *ivtouse = areq->iv; + unsigned int len = areq->cryptlen; + unsigned int todo; + + ivsize = crypto_skcipher_ivsize(tfm); + if (areq->iv && crypto_skcipher_ivsize(tfm) > 0) { + if (rctx->mode & RK_CRYPTO_DEC) { + offset = areq->cryptlen - ivsize; + scatterwalk_map_and_copy(rctx->backup_iv, areq->src, + offset, ivsize, 0); + } + } - dev->left_bytes = req->cryptlen; - dev->total = req->cryptlen; - dev->sg_src = req->src; - dev->first = req->src; - dev->src_nents = sg_nents(req->src); - dev->sg_dst = req->dst; - dev->dst_nents = sg_nents(req->dst); - dev->aligned = 1; - - spin_lock_irqsave(&dev->lock, flags); - rk_ablk_hw_init(dev); - err = rk_set_data_start(dev); - spin_unlock_irqrestore(&dev->lock, flags); - return err; -} + sgs = areq->src; + sgd = areq->dst; -static void rk_iv_copyback(struct rk_crypto_info *dev) -{ - struct skcipher_request *req = - skcipher_request_cast(dev->async_req); - struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); - struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm); - u32 ivsize = crypto_skcipher_ivsize(tfm); + while (sgs && sgd && len) { + if (!sgs->length) { + sgs = sg_next(sgs); + sgd = sg_next(sgd); + continue; + } + if (rctx->mode & RK_CRYPTO_DEC) { + /* we backup last block of source to be used as IV at next step */ + offset = sgs->length - ivsize; + scatterwalk_map_and_copy(biv, sgs, offset, ivsize, 0); + } + if (sgs == sgd) { + err = dma_map_sg(ctx->dev->dev, sgs, 1, DMA_BIDIRECTIONAL); + if (err <= 0) { + err = -EINVAL; + goto theend_iv; + } + } else { + err = dma_map_sg(ctx->dev->dev, sgs, 1, DMA_TO_DEVICE); + if (err <= 0) { + err = -EINVAL; + goto theend_iv; + } + err = dma_map_sg(ctx->dev->dev, sgd, 1, DMA_FROM_DEVICE); + if (err <= 0) { + err = -EINVAL; + goto theend_sgs; + } + } + err = 0; + rk_ablk_hw_init(ctx->dev, areq); + if (ivsize) { + if (ivsize == DES_BLOCK_SIZE) + memcpy_toio(ctx->dev->reg + RK_CRYPTO_TDES_IV_0, ivtouse, ivsize); + else + memcpy_toio(ctx->dev->reg + RK_CRYPTO_AES_IV_0, ivtouse, ivsize); + } + reinit_completion(&ctx->dev->complete); + ctx->dev->status = 0; - /* Update the IV buffer to contain the next IV for encryption mode. */ - if (!(ctx->mode & RK_CRYPTO_DEC)) { - if (dev->aligned) { - memcpy(req->iv, sg_virt(dev->sg_dst) + - dev->sg_dst->length - ivsize, ivsize); + todo = min(sg_dma_len(sgs), len); + len -= todo; + crypto_dma_start(ctx->dev, sgs, sgd, todo / 4); + wait_for_completion_interruptible_timeout(&ctx->dev->complete, + msecs_to_jiffies(2000)); + if (!ctx->dev->status) { + dev_err(ctx->dev->dev, "DMA timeout\n"); + err = -EFAULT; + goto theend; + } + if (sgs == sgd) { + dma_unmap_sg(ctx->dev->dev, sgs, 1, DMA_BIDIRECTIONAL); + } else { + dma_unmap_sg(ctx->dev->dev, sgs, 1, DMA_TO_DEVICE); + dma_unmap_sg(ctx->dev->dev, sgd, 1, DMA_FROM_DEVICE); + } + if (rctx->mode & RK_CRYPTO_DEC) { + memcpy(iv, biv, ivsize); + ivtouse = iv; } else { - memcpy(req->iv, dev->addr_vir + - dev->count - ivsize, ivsize); + offset = sgd->length - ivsize; + scatterwalk_map_and_copy(iv, sgd, offset, ivsize, 0); + ivtouse = iv; } + sgs = sg_next(sgs); + sgd = sg_next(sgd); } -} -static void rk_update_iv(struct rk_crypto_info *dev) -{ - struct skcipher_request *req = - skcipher_request_cast(dev->async_req); - struct crypto_skcipher *tfm = crypto_skcipher_reqtfm(req); - struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm); - u32 ivsize = crypto_skcipher_ivsize(tfm); - u8 *new_iv = NULL; - - if (ctx->mode & RK_CRYPTO_DEC) { - new_iv = ctx->iv; - } else { - new_iv = page_address(sg_page(dev->sg_dst)) + - dev->sg_dst->offset + dev->sg_dst->length - ivsize; + if (areq->iv && ivsize > 0) { + offset = areq->cryptlen - ivsize; + if (rctx->mode & RK_CRYPTO_DEC) { + memcpy(areq->iv, rctx->backup_iv, ivsize); + memzero_explicit(rctx->backup_iv, ivsize); + } else { + scatterwalk_map_and_copy(areq->iv, areq->dst, offset, + ivsize, 0); + } } - if (ivsize == DES_BLOCK_SIZE) - memcpy_toio(dev->reg + RK_CRYPTO_TDES_IV_0, new_iv, ivsize); - else if (ivsize == AES_BLOCK_SIZE) - memcpy_toio(dev->reg + RK_CRYPTO_AES_IV_0, new_iv, ivsize); -} - -/* return: - * true some err was occurred - * fault no err, continue - */ -static int rk_ablk_rx(struct rk_crypto_info *dev) -{ - int err = 0; - struct skcipher_request *req = - skcipher_request_cast(dev->async_req); +theend: + local_bh_disable(); + crypto_finalize_skcipher_request(engine, areq, err); + local_bh_enable(); + return 0; - dev->unload_data(dev); - if (!dev->aligned) { - if (!sg_pcopy_from_buffer(req->dst, dev->dst_nents, - dev->addr_vir, dev->count, - dev->total - dev->left_bytes - - dev->count)) { - err = -EINVAL; - goto out_rx; - } - } - if (dev->left_bytes) { - rk_update_iv(dev); - if (dev->aligned) { - if (sg_is_last(dev->sg_src)) { - dev_err(dev->dev, "[%s:%d] Lack of data\n", - __func__, __LINE__); - err = -ENOMEM; - goto out_rx; - } - dev->sg_src = sg_next(dev->sg_src); - dev->sg_dst = sg_next(dev->sg_dst); - } - err = rk_set_data_start(dev); +theend_sgs: + if (sgs == sgd) { + dma_unmap_sg(ctx->dev->dev, sgs, 1, DMA_BIDIRECTIONAL); } else { - rk_iv_copyback(dev); - /* here show the calculation is over without any err */ - dev->complete(dev->async_req, 0); - tasklet_schedule(&dev->queue_task); + dma_unmap_sg(ctx->dev->dev, sgs, 1, DMA_TO_DEVICE); + dma_unmap_sg(ctx->dev->dev, sgd, 1, DMA_FROM_DEVICE); } -out_rx: +theend_iv: return err; } @@ -378,26 +437,34 @@ { struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm); struct skcipher_alg *alg = crypto_skcipher_alg(tfm); + const char *name = crypto_tfm_alg_name(&tfm->base); struct rk_crypto_tmp *algt; algt = container_of(alg, struct rk_crypto_tmp, alg.skcipher); ctx->dev = algt->dev; - ctx->dev->align_size = crypto_tfm_alg_alignmask(crypto_skcipher_tfm(tfm)) + 1; - ctx->dev->start = rk_ablk_start; - ctx->dev->update = rk_ablk_rx; - ctx->dev->complete = rk_crypto_complete; - ctx->dev->addr_vir = (char *)__get_free_page(GFP_KERNEL); - return ctx->dev->addr_vir ? ctx->dev->enable_clk(ctx->dev) : -ENOMEM; + ctx->fallback_tfm = crypto_alloc_skcipher(name, 0, CRYPTO_ALG_NEED_FALLBACK); + if (IS_ERR(ctx->fallback_tfm)) { + dev_err(ctx->dev->dev, "ERROR: Cannot allocate fallback for %s %ld\n", + name, PTR_ERR(ctx->fallback_tfm)); + return PTR_ERR(ctx->fallback_tfm); + } + + tfm->reqsize = sizeof(struct rk_cipher_rctx) + + crypto_skcipher_reqsize(ctx->fallback_tfm); + + ctx->enginectx.op.do_one_request = rk_cipher_run; + + return 0; } static void rk_ablk_exit_tfm(struct crypto_skcipher *tfm) { struct rk_cipher_ctx *ctx = crypto_skcipher_ctx(tfm); - free_page((unsigned long)ctx->dev->addr_vir); - ctx->dev->disable_clk(ctx->dev); + memzero_explicit(ctx->key, ctx->keylen); + crypto_free_skcipher(ctx->fallback_tfm); } struct rk_crypto_tmp rk_ecb_aes_alg = { @@ -406,7 +473,7 @@ .base.cra_name = "ecb(aes)", .base.cra_driver_name = "ecb-aes-rk", .base.cra_priority = 300, - .base.cra_flags = CRYPTO_ALG_ASYNC, + .base.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_NEED_FALLBACK, .base.cra_blocksize = AES_BLOCK_SIZE, .base.cra_ctxsize = sizeof(struct rk_cipher_ctx), .base.cra_alignmask = 0x0f, @@ -428,7 +495,7 @@ .base.cra_name = "cbc(aes)", .base.cra_driver_name = "cbc-aes-rk", .base.cra_priority = 300, - .base.cra_flags = CRYPTO_ALG_ASYNC, + .base.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_NEED_FALLBACK, .base.cra_blocksize = AES_BLOCK_SIZE, .base.cra_ctxsize = sizeof(struct rk_cipher_ctx), .base.cra_alignmask = 0x0f, @@ -451,7 +518,7 @@ .base.cra_name = "ecb(des)", .base.cra_driver_name = "ecb-des-rk", .base.cra_priority = 300, - .base.cra_flags = CRYPTO_ALG_ASYNC, + .base.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_NEED_FALLBACK, .base.cra_blocksize = DES_BLOCK_SIZE, .base.cra_ctxsize = sizeof(struct rk_cipher_ctx), .base.cra_alignmask = 0x07, @@ -473,7 +540,7 @@ .base.cra_name = "cbc(des)", .base.cra_driver_name = "cbc-des-rk", .base.cra_priority = 300, - .base.cra_flags = CRYPTO_ALG_ASYNC, + .base.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_NEED_FALLBACK, .base.cra_blocksize = DES_BLOCK_SIZE, .base.cra_ctxsize = sizeof(struct rk_cipher_ctx), .base.cra_alignmask = 0x07, @@ -496,7 +563,7 @@ .base.cra_name = "ecb(des3_ede)", .base.cra_driver_name = "ecb-des3-ede-rk", .base.cra_priority = 300, - .base.cra_flags = CRYPTO_ALG_ASYNC, + .base.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_NEED_FALLBACK, .base.cra_blocksize = DES_BLOCK_SIZE, .base.cra_ctxsize = sizeof(struct rk_cipher_ctx), .base.cra_alignmask = 0x07, @@ -518,7 +585,7 @@ .base.cra_name = "cbc(des3_ede)", .base.cra_driver_name = "cbc-des3-ede-rk", .base.cra_priority = 300, - .base.cra_flags = CRYPTO_ALG_ASYNC, + .base.cra_flags = CRYPTO_ALG_ASYNC | CRYPTO_ALG_NEED_FALLBACK, .base.cra_blocksize = DES_BLOCK_SIZE, .base.cra_ctxsize = sizeof(struct rk_cipher_ctx), .base.cra_alignmask = 0x07, --- linux-gcp-5.19.0.orig/drivers/crypto/sahara.c +++ linux-gcp-5.19.0/drivers/crypto/sahara.c @@ -26,10 +26,10 @@ #include #include #include -#include #include #include #include +#include #define SHA_BUFFER_LEN PAGE_SIZE #define SAHARA_MAX_SHA_BLOCK_SIZE SHA256_BLOCK_SIZE @@ -196,7 +196,7 @@ void __iomem *regs_base; struct clk *clk_ipg; struct clk *clk_ahb; - struct mutex queue_mutex; + spinlock_t queue_spinlock; struct task_struct *kthread; struct completion dma_completion; @@ -642,9 +642,9 @@ rctx->mode = mode; - mutex_lock(&dev->queue_mutex); + spin_lock_bh(&dev->queue_spinlock); err = crypto_enqueue_request(&dev->queue, &req->base); - mutex_unlock(&dev->queue_mutex); + spin_unlock_bh(&dev->queue_spinlock); wake_up_process(dev->kthread); @@ -1043,10 +1043,10 @@ do { __set_current_state(TASK_INTERRUPTIBLE); - mutex_lock(&dev->queue_mutex); + spin_lock_bh(&dev->queue_spinlock); backlog = crypto_get_backlog(&dev->queue); async_req = crypto_dequeue_request(&dev->queue); - mutex_unlock(&dev->queue_mutex); + spin_unlock_bh(&dev->queue_spinlock); if (backlog) backlog->complete(backlog, -EINPROGRESS); @@ -1092,9 +1092,9 @@ rctx->first = 1; } - mutex_lock(&dev->queue_mutex); + spin_lock_bh(&dev->queue_spinlock); ret = crypto_enqueue_request(&dev->queue, &req->base); - mutex_unlock(&dev->queue_mutex); + spin_unlock_bh(&dev->queue_spinlock); wake_up_process(dev->kthread); @@ -1449,7 +1449,7 @@ crypto_init_queue(&dev->queue, SAHARA_QUEUE_LENGTH); - mutex_init(&dev->queue_mutex); + spin_lock_init(&dev->queue_spinlock); dev_ptr = dev; --- linux-gcp-5.19.0.orig/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c +++ linux-gcp-5.19.0/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c @@ -239,7 +239,8 @@ pr_err("virtio_crypto: Close session failed status: %u, session_id: 0x%llx\n", ctrl_status->status, destroy_session->session_id); - return -EINVAL; + err = -EINVAL; + goto out; } err = 0; --- linux-gcp-5.19.0.orig/drivers/cxl/core/mbox.c +++ linux-gcp-5.19.0/drivers/cxl/core/mbox.c @@ -174,7 +174,7 @@ }; int rc; - if (out_size > cxlds->payload_size) + if (in_size > cxlds->payload_size || out_size > cxlds->payload_size) return -E2BIG; rc = cxlds->mbox_send(cxlds, &mbox_cmd); --- linux-gcp-5.19.0.orig/drivers/cxl/pmem.c +++ linux-gcp-5.19.0/drivers/cxl/pmem.c @@ -55,6 +55,7 @@ goto out; set_bit(NDD_LABELING, &flags); + set_bit(NDD_REGISTER_SYNC, &flags); set_bit(ND_CMD_GET_CONFIG_SIZE, &cmd_mask); set_bit(ND_CMD_GET_CONFIG_DATA, &cmd_mask); set_bit(ND_CMD_SET_CONFIG_DATA, &cmd_mask); @@ -130,7 +131,7 @@ return -EINVAL; /* 4-byte status follows the input data in the payload */ - if (struct_size(cmd, in_buf, cmd->in_length) + 4 > buf_len) + if (size_add(struct_size(cmd, in_buf, cmd->in_length), 4) > buf_len) return -EINVAL; set_lsa = --- linux-gcp-5.19.0.orig/drivers/dax/bus.c +++ linux-gcp-5.19.0/drivers/dax/bus.c @@ -427,8 +427,8 @@ dev_dbg(dev, "%s\n", __func__); kill_dev_dax(dev_dax); - free_dev_dax_ranges(dev_dax); device_del(dev); + free_dev_dax_ranges(dev_dax); put_device(dev); } --- linux-gcp-5.19.0.orig/drivers/dax/hmem/device.c +++ linux-gcp-5.19.0/drivers/dax/hmem/device.c @@ -15,6 +15,7 @@ .start = r->start, .end = r->end, .flags = IORESOURCE_MEM, + .desc = IORES_DESC_SOFT_RESERVED, }; struct platform_device *pdev; struct memregion_info info; --- linux-gcp-5.19.0.orig/drivers/dax/kmem.c +++ linux-gcp-5.19.0/drivers/dax/kmem.c @@ -135,7 +135,7 @@ if (rc) { dev_warn(dev, "mapping%d: %#llx-%#llx memory add failed\n", i, range.start, range.end); - release_resource(res); + remove_resource(res); kfree(res); data->res[i] = NULL; if (mapped) @@ -181,7 +181,7 @@ rc = remove_memory(range.start, range_len(&range)); if (rc == 0) { - release_resource(data->res[i]); + remove_resource(data->res[i]); kfree(data->res[i]); data->res[i] = NULL; success++; --- linux-gcp-5.19.0.orig/drivers/devfreq/devfreq.c +++ linux-gcp-5.19.0/drivers/devfreq/devfreq.c @@ -772,8 +772,7 @@ * @dev: the device to add devfreq feature. * @profile: device-specific profile to run devfreq. * @governor_name: name of the policy to choose frequency. - * @data: private data for the governor. The devfreq framework does not - * touch this value. + * @data: devfreq driver pass to governors, governor should not change it. */ struct devfreq *devfreq_add_device(struct device *dev, struct devfreq_dev_profile *profile, @@ -1007,8 +1006,7 @@ * @dev: the device to add devfreq feature. * @profile: device-specific profile to run devfreq. * @governor_name: name of the policy to choose frequency. - * @data: private data for the governor. The devfreq framework does not - * touch this value. + * @data: devfreq driver pass to governors, governor should not change it. * * This function manages automatically the memory of devfreq device using device * resource management and simplify the free operation for memory of devfreq --- linux-gcp-5.19.0.orig/drivers/devfreq/governor_userspace.c +++ linux-gcp-5.19.0/drivers/devfreq/governor_userspace.c @@ -21,7 +21,7 @@ static int devfreq_userspace_func(struct devfreq *df, unsigned long *freq) { - struct userspace_data *data = df->data; + struct userspace_data *data = df->governor_data; if (data->valid) *freq = data->user_frequency; @@ -40,7 +40,7 @@ int err = 0; mutex_lock(&devfreq->lock); - data = devfreq->data; + data = devfreq->governor_data; sscanf(buf, "%lu", &wanted); data->user_frequency = wanted; @@ -60,7 +60,7 @@ int err = 0; mutex_lock(&devfreq->lock); - data = devfreq->data; + data = devfreq->governor_data; if (data->valid) err = sprintf(buf, "%lu\n", data->user_frequency); @@ -91,7 +91,7 @@ goto out; } data->valid = false; - devfreq->data = data; + devfreq->governor_data = data; err = sysfs_create_group(&devfreq->dev.kobj, &dev_attr_group); out: @@ -107,8 +107,8 @@ if (devfreq->dev.kobj.sd) sysfs_remove_group(&devfreq->dev.kobj, &dev_attr_group); - kfree(devfreq->data); - devfreq->data = NULL; + kfree(devfreq->governor_data); + devfreq->governor_data = NULL; } static int devfreq_userspace_handler(struct devfreq *devfreq, --- linux-gcp-5.19.0.orig/drivers/dio/dio.c +++ linux-gcp-5.19.0/drivers/dio/dio.c @@ -109,6 +109,12 @@ #endif /* CONFIG_DIO_CONSTANTS */ +static void dio_dev_release(struct device *dev) +{ + struct dio_dev *ddev = container_of(dev, typeof(struct dio_dev), dev); + kfree(ddev); +} + int __init dio_find(int deviceid) { /* Called to find a DIO device before the full bus scan has run. @@ -225,6 +231,7 @@ dev->bus = &dio_bus; dev->dev.parent = &dio_bus.dev; dev->dev.bus = &dio_bus_type; + dev->dev.release = dio_dev_release; dev->scode = scode; dev->resource.start = pa; dev->resource.end = pa + DIO_SIZE(scode, va); @@ -252,6 +259,7 @@ if (error) { pr_err("DIO: Error registering device %s\n", dev->name); + put_device(&dev->dev); continue; } error = dio_create_sysfs_dev_files(dev); --- linux-gcp-5.19.0.orig/drivers/dma-buf/dma-heap.c +++ linux-gcp-5.19.0/drivers/dma-buf/dma-heap.c @@ -233,18 +233,6 @@ return ERR_PTR(-EINVAL); } - /* check the name is unique */ - mutex_lock(&heap_list_lock); - list_for_each_entry(h, &heap_list, list) { - if (!strcmp(h->name, exp_info->name)) { - mutex_unlock(&heap_list_lock); - pr_err("dma_heap: Already registered heap named %s\n", - exp_info->name); - return ERR_PTR(-EINVAL); - } - } - mutex_unlock(&heap_list_lock); - heap = kzalloc(sizeof(*heap), GFP_KERNEL); if (!heap) return ERR_PTR(-ENOMEM); @@ -283,13 +271,27 @@ err_ret = ERR_CAST(dev_ret); goto err2; } - /* Add heap to the list */ + mutex_lock(&heap_list_lock); + /* check the name is unique */ + list_for_each_entry(h, &heap_list, list) { + if (!strcmp(h->name, exp_info->name)) { + mutex_unlock(&heap_list_lock); + pr_err("dma_heap: Already registered heap named %s\n", + exp_info->name); + err_ret = ERR_PTR(-EINVAL); + goto err3; + } + } + + /* Add heap to the list */ list_add(&heap->list, &heap_list); mutex_unlock(&heap_list_lock); return heap; +err3: + device_destroy(dma_heap_class, heap->heap_devt); err2: cdev_del(&heap->heap_cdev); err1: --- linux-gcp-5.19.0.orig/drivers/dma-buf/dma-resv.c +++ linux-gcp-5.19.0/drivers/dma-buf/dma-resv.c @@ -295,7 +295,8 @@ enum dma_resv_usage old_usage; dma_resv_list_entry(fobj, i, obj, &old, &old_usage); - if ((old->context == fence->context && old_usage >= usage) || + if ((old->context == fence->context && old_usage >= usage && + dma_fence_is_later(fence, old)) || dma_fence_is_signaled(old)) { dma_resv_list_set(fobj, i, fence, usage); dma_fence_put(old); --- linux-gcp-5.19.0.orig/drivers/dma-buf/udmabuf.c +++ linux-gcp-5.19.0/drivers/dma-buf/udmabuf.c @@ -124,17 +124,20 @@ { struct udmabuf *ubuf = buf->priv; struct device *dev = ubuf->device->this_device; + int ret = 0; if (!ubuf->sg) { ubuf->sg = get_sg_table(dev, buf, direction); - if (IS_ERR(ubuf->sg)) - return PTR_ERR(ubuf->sg); + if (IS_ERR(ubuf->sg)) { + ret = PTR_ERR(ubuf->sg); + ubuf->sg = NULL; + } } else { dma_sync_sg_for_cpu(dev, ubuf->sg->sgl, ubuf->sg->nents, direction); } - return 0; + return ret; } static int end_cpu_udmabuf(struct dma_buf *buf, @@ -368,7 +371,23 @@ static int __init udmabuf_dev_init(void) { - return misc_register(&udmabuf_misc); + int ret; + + ret = misc_register(&udmabuf_misc); + if (ret < 0) { + pr_err("Could not initialize udmabuf device\n"); + return ret; + } + + ret = dma_coerce_mask_and_coherent(udmabuf_misc.this_device, + DMA_BIT_MASK(64)); + if (ret < 0) { + pr_err("Could not setup DMA mask for udmabuf device\n"); + misc_deregister(&udmabuf_misc); + return ret; + } + + return 0; } static void __exit udmabuf_dev_exit(void) --- linux-gcp-5.19.0.orig/drivers/dma/Kconfig +++ linux-gcp-5.19.0/drivers/dma/Kconfig @@ -236,7 +236,7 @@ config HISI_DMA tristate "HiSilicon DMA Engine support" - depends on ARM64 || COMPILE_TEST + depends on ARCH_HISI || COMPILE_TEST depends on PCI_MSI select DMA_ENGINE select DMA_VIRTUAL_CHANNELS --- linux-gcp-5.19.0.orig/drivers/dma/at_hdmac.c +++ linux-gcp-5.19.0/drivers/dma/at_hdmac.c @@ -256,6 +256,8 @@ ATC_SPIP_BOUNDARY(first->boundary)); channel_writel(atchan, DPIP, ATC_DPIP_HOLE(first->dst_hole) | ATC_DPIP_BOUNDARY(first->boundary)); + /* Don't allow CPU to reorder channel enable. */ + wmb(); dma_writel(atdma, CHER, atchan->mask); vdbg_dump_regs(atchan); @@ -316,7 +318,8 @@ struct at_desc *desc_first = atc_first_active(atchan); struct at_desc *desc; int ret; - u32 ctrla, dscr, trials; + u32 ctrla, dscr; + unsigned int i; /* * If the cookie doesn't match to the currently running transfer then @@ -386,7 +389,7 @@ dscr = channel_readl(atchan, DSCR); rmb(); /* ensure DSCR is read before CTRLA */ ctrla = channel_readl(atchan, CTRLA); - for (trials = 0; trials < ATC_MAX_DSCR_TRIALS; ++trials) { + for (i = 0; i < ATC_MAX_DSCR_TRIALS; ++i) { u32 new_dscr; rmb(); /* ensure DSCR is read after CTRLA */ @@ -412,7 +415,7 @@ rmb(); /* ensure DSCR is read before CTRLA */ ctrla = channel_readl(atchan, CTRLA); } - if (unlikely(trials >= ATC_MAX_DSCR_TRIALS)) + if (unlikely(i == ATC_MAX_DSCR_TRIALS)) return -ETIMEDOUT; /* for the first descriptor we can be more accurate */ @@ -462,18 +465,6 @@ if (!atc_chan_is_cyclic(atchan)) dma_cookie_complete(txd); - /* If the transfer was a memset, free our temporary buffer */ - if (desc->memset_buffer) { - dma_pool_free(atdma->memset_pool, desc->memset_vaddr, - desc->memset_paddr); - desc->memset_buffer = false; - } - - /* move children to free_list */ - list_splice_init(&desc->tx_list, &atchan->free_list); - /* move myself to free_list */ - list_move(&desc->desc_node, &atchan->free_list); - spin_unlock_irqrestore(&atchan->lock, flags); dma_descriptor_unmap(txd); @@ -483,42 +474,20 @@ dmaengine_desc_get_callback_invoke(txd, NULL); dma_run_dependencies(txd); -} - -/** - * atc_complete_all - finish work for all transactions - * @atchan: channel to complete transactions for - * - * Eventually submit queued descriptors if any - * - * Assume channel is idle while calling this function - * Called with atchan->lock held and bh disabled - */ -static void atc_complete_all(struct at_dma_chan *atchan) -{ - struct at_desc *desc, *_desc; - LIST_HEAD(list); - unsigned long flags; - - dev_vdbg(chan2dev(&atchan->chan_common), "complete all\n"); spin_lock_irqsave(&atchan->lock, flags); - - /* - * Submit queued descriptors ASAP, i.e. before we go through - * the completed ones. - */ - if (!list_empty(&atchan->queue)) - atc_dostart(atchan, atc_first_queued(atchan)); - /* empty active_list now it is completed */ - list_splice_init(&atchan->active_list, &list); - /* empty queue list by moving descriptors (if any) to active_list */ - list_splice_init(&atchan->queue, &atchan->active_list); - + /* move children to free_list */ + list_splice_init(&desc->tx_list, &atchan->free_list); + /* add myself to free_list */ + list_add(&desc->desc_node, &atchan->free_list); spin_unlock_irqrestore(&atchan->lock, flags); - list_for_each_entry_safe(desc, _desc, &list, desc_node) - atc_chain_complete(atchan, desc); + /* If the transfer was a memset, free our temporary buffer */ + if (desc->memset_buffer) { + dma_pool_free(atdma->memset_pool, desc->memset_vaddr, + desc->memset_paddr); + desc->memset_buffer = false; + } } /** @@ -527,26 +496,28 @@ */ static void atc_advance_work(struct at_dma_chan *atchan) { + struct at_desc *desc; unsigned long flags; - int ret; dev_vdbg(chan2dev(&atchan->chan_common), "advance_work\n"); spin_lock_irqsave(&atchan->lock, flags); - ret = atc_chan_is_enabled(atchan); - spin_unlock_irqrestore(&atchan->lock, flags); - if (ret) - return; - - if (list_empty(&atchan->active_list) || - list_is_singular(&atchan->active_list)) - return atc_complete_all(atchan); + if (atc_chan_is_enabled(atchan) || list_empty(&atchan->active_list)) + return spin_unlock_irqrestore(&atchan->lock, flags); - atc_chain_complete(atchan, atc_first_active(atchan)); + desc = atc_first_active(atchan); + /* Remove the transfer node from the active list. */ + list_del_init(&desc->desc_node); + spin_unlock_irqrestore(&atchan->lock, flags); + atc_chain_complete(atchan, desc); /* advance work */ spin_lock_irqsave(&atchan->lock, flags); - atc_dostart(atchan, atc_first_active(atchan)); + if (!list_empty(&atchan->active_list)) { + desc = atc_first_queued(atchan); + list_move_tail(&desc->desc_node, &atchan->active_list); + atc_dostart(atchan, desc); + } spin_unlock_irqrestore(&atchan->lock, flags); } @@ -558,6 +529,7 @@ static void atc_handle_error(struct at_dma_chan *atchan) { struct at_desc *bad_desc; + struct at_desc *desc; struct at_desc *child; unsigned long flags; @@ -570,13 +542,12 @@ bad_desc = atc_first_active(atchan); list_del_init(&bad_desc->desc_node); - /* As we are stopped, take advantage to push queued descriptors - * in active_list */ - list_splice_init(&atchan->queue, atchan->active_list.prev); - /* Try to restart the controller */ - if (!list_empty(&atchan->active_list)) - atc_dostart(atchan, atc_first_active(atchan)); + if (!list_empty(&atchan->active_list)) { + desc = atc_first_queued(atchan); + list_move_tail(&desc->desc_node, &atchan->active_list); + atc_dostart(atchan, desc); + } /* * KERN_CRITICAL may seem harsh, but since this only happens @@ -691,19 +662,11 @@ spin_lock_irqsave(&atchan->lock, flags); cookie = dma_cookie_assign(tx); - if (list_empty(&atchan->active_list)) { - dev_vdbg(chan2dev(tx->chan), "tx_submit: started %u\n", - desc->txd.cookie); - atc_dostart(atchan, desc); - list_add_tail(&desc->desc_node, &atchan->active_list); - } else { - dev_vdbg(chan2dev(tx->chan), "tx_submit: queued %u\n", - desc->txd.cookie); - list_add_tail(&desc->desc_node, &atchan->queue); - } - + list_add_tail(&desc->desc_node, &atchan->queue); spin_unlock_irqrestore(&atchan->lock, flags); + dev_vdbg(chan2dev(tx->chan), "tx_submit: queued %u\n", + desc->txd.cookie); return cookie; } @@ -1445,11 +1408,8 @@ struct at_dma_chan *atchan = to_at_dma_chan(chan); struct at_dma *atdma = to_at_dma(chan->device); int chan_id = atchan->chan_common.chan_id; - struct at_desc *desc, *_desc; unsigned long flags; - LIST_HEAD(list); - dev_vdbg(chan2dev(chan), "%s\n", __func__); /* @@ -1468,19 +1428,15 @@ cpu_relax(); /* active_list entries will end up before queued entries */ - list_splice_init(&atchan->queue, &list); - list_splice_init(&atchan->active_list, &list); - - spin_unlock_irqrestore(&atchan->lock, flags); - - /* Flush all pending and queued descriptors */ - list_for_each_entry_safe(desc, _desc, &list, desc_node) - atc_chain_complete(atchan, desc); + list_splice_tail_init(&atchan->queue, &atchan->free_list); + list_splice_tail_init(&atchan->active_list, &atchan->free_list); clear_bit(ATC_IS_PAUSED, &atchan->status); /* if channel dedicated to cyclic operations, free it */ clear_bit(ATC_IS_CYCLIC, &atchan->status); + spin_unlock_irqrestore(&atchan->lock, flags); + return 0; } @@ -1535,20 +1491,26 @@ } /** - * atc_issue_pending - try to finish work + * atc_issue_pending - takes the first transaction descriptor in the pending + * queue and starts the transfer. * @chan: target DMA channel */ static void atc_issue_pending(struct dma_chan *chan) { - struct at_dma_chan *atchan = to_at_dma_chan(chan); + struct at_dma_chan *atchan = to_at_dma_chan(chan); + struct at_desc *desc; + unsigned long flags; dev_vdbg(chan2dev(chan), "issue_pending\n"); - /* Not needed for cyclic transfers */ - if (atc_chan_is_cyclic(atchan)) - return; + spin_lock_irqsave(&atchan->lock, flags); + if (atc_chan_is_enabled(atchan) || list_empty(&atchan->queue)) + return spin_unlock_irqrestore(&atchan->lock, flags); - atc_advance_work(atchan); + desc = atc_first_queued(atchan); + list_move_tail(&desc->desc_node, &atchan->active_list); + atc_dostart(atchan, desc); + spin_unlock_irqrestore(&atchan->lock, flags); } /** @@ -1966,7 +1928,11 @@ dma_has_cap(DMA_SLAVE, atdma->dma_common.cap_mask) ? "slave " : "", plat_dat->nr_channels); - dma_async_device_register(&atdma->dma_common); + err = dma_async_device_register(&atdma->dma_common); + if (err) { + dev_err(&pdev->dev, "Unable to register: %d.\n", err); + goto err_dma_async_device_register; + } /* * Do not return an error if the dmac node is not present in order to @@ -1986,6 +1952,7 @@ err_of_dma_controller_register: dma_async_device_unregister(&atdma->dma_common); +err_dma_async_device_register: dma_pool_destroy(atdma->memset_pool); err_memset_pool_create: dma_pool_destroy(atdma->dma_desc_pool); --- linux-gcp-5.19.0.orig/drivers/dma/at_hdmac_regs.h +++ linux-gcp-5.19.0/drivers/dma/at_hdmac_regs.h @@ -186,13 +186,13 @@ /* LLI == Linked List Item; aka DMA buffer descriptor */ struct at_lli { /* values that are not changed by hardware */ - dma_addr_t saddr; - dma_addr_t daddr; + u32 saddr; + u32 daddr; /* value that may get written back: */ - u32 ctrla; + u32 ctrla; /* more values that are not changed by hardware */ - u32 ctrlb; - dma_addr_t dscr; /* chain to next lli */ + u32 ctrlb; + u32 dscr; /* chain to next lli */ }; /** --- linux-gcp-5.19.0.orig/drivers/dma/dmaengine.c +++ linux-gcp-5.19.0/drivers/dma/dmaengine.c @@ -451,7 +451,8 @@ /* The channel is already in use, update client count */ if (chan->client_count) { __module_get(owner); - goto out; + chan->client_count++; + return 0; } if (!try_module_get(owner)) @@ -470,11 +471,11 @@ goto err_out; } + chan->client_count++; + if (!dma_has_cap(DMA_PRIVATE, chan->device->cap_mask)) balance_ref_count(chan); -out: - chan->client_count++; return 0; err_out: --- linux-gcp-5.19.0.orig/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c +++ linux-gcp-5.19.0/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c @@ -325,8 +325,6 @@ len = vd_to_axi_desc(vdesc)->hw_desc[0].len; completed_length = completed_blocks * len; bytes = length - completed_length; - } else { - bytes = vd_to_axi_desc(vdesc)->length; } spin_unlock_irqrestore(&chan->vc.lock, flags); @@ -982,6 +980,11 @@ static void axi_chan_dump_lli(struct axi_dma_chan *chan, struct axi_dma_hw_desc *desc) { + if (!desc->lli) { + dev_err(dchan2dev(&chan->vc.chan), "NULL LLI\n"); + return; + } + dev_err(dchan2dev(&chan->vc.chan), "SAR: 0x%llx DAR: 0x%llx LLP: 0x%llx BTS 0x%x CTL: 0x%x:%08x", le64_to_cpu(desc->lli->sar), @@ -1013,6 +1016,11 @@ /* The bad descriptor currently is in the head of vc list */ vd = vchan_next_desc(&chan->vc); + if (!vd) { + dev_err(chan2dev(chan), "BUG: %s, IRQ with no descriptors\n", + axi_chan_name(chan)); + goto out; + } /* Remove the completed descriptor from issued list */ list_del(&vd->node); @@ -1027,6 +1035,7 @@ /* Try to restart the controller */ axi_chan_start_first_queued(chan); +out: spin_unlock_irqrestore(&chan->vc.lock, flags); } @@ -1049,6 +1058,11 @@ /* The completed descriptor currently is in the head of vc list */ vd = vchan_next_desc(&chan->vc); + if (!vd) { + dev_err(chan2dev(chan), "BUG: %s, IRQ with no descriptors\n", + axi_chan_name(chan)); + goto out; + } if (chan->cyclic) { desc = vd_to_axi_desc(vd); @@ -1078,6 +1092,7 @@ axi_chan_start_first_queued(chan); } +out: spin_unlock_irqrestore(&chan->vc.lock, flags); } --- linux-gcp-5.19.0.orig/drivers/dma/dw-edma/dw-edma-core.c +++ linux-gcp-5.19.0/drivers/dma/dw-edma/dw-edma-core.c @@ -9,7 +9,6 @@ #include #include #include -#include #include #include #include @@ -423,7 +422,7 @@ chunk->ll_region.sz += burst->sz; desc->alloc_sz += burst->sz; - if (chan->dir == EDMA_DIR_WRITE) { + if (dir == DMA_DEV_TO_MEM) { burst->sar = src_addr; if (xfer->type == EDMA_XFER_CYCLIC) { burst->dar = xfer->xfer.cyclic.paddr; @@ -437,6 +436,8 @@ * and destination addresses are increased * by the same portion (data length) */ + } else if (xfer->type == EDMA_XFER_INTERLEAVED) { + burst->dar = dst_addr; } } else { burst->dar = dst_addr; @@ -452,6 +453,8 @@ * and destination addresses are increased * by the same portion (data length) */ + } else if (xfer->type == EDMA_XFER_INTERLEAVED) { + burst->sar = src_addr; } } @@ -663,15 +666,12 @@ if (chan->status != EDMA_ST_IDLE) return -EBUSY; - pm_runtime_get(chan->chip->dev); - return 0; } static void dw_edma_free_chan_resources(struct dma_chan *dchan) { unsigned long timeout = jiffies + msecs_to_jiffies(5000); - struct dw_edma_chan *chan = dchan2dw_edma_chan(dchan); int ret; while (time_before(jiffies, timeout)) { @@ -684,8 +684,6 @@ cpu_relax(); } - - pm_runtime_put(chan->chip->dev); } static int dw_edma_channel_setup(struct dw_edma_chip *chip, bool write, @@ -950,9 +948,6 @@ if (err) goto err_irq_free; - /* Power management */ - pm_runtime_enable(dev); - /* Turn debugfs on */ dw_edma_v0_core_debugfs_on(chip); @@ -982,9 +977,6 @@ for (i = (dw->nr_irqs - 1); i >= 0; i--) free_irq(dw->ops->irq_vector(dev, i), &dw->irq[i]); - /* Power management */ - pm_runtime_disable(dev); - /* Deregister eDMA device */ dma_async_device_unregister(&dw->wr_edma); list_for_each_entry_safe(chan, _chan, &dw->wr_edma.channels, --- linux-gcp-5.19.0.orig/drivers/dma/dw-edma/dw-edma-v0-core.c +++ linux-gcp-5.19.0/drivers/dma/dw-edma/dw-edma-v0-core.c @@ -192,7 +192,7 @@ static inline u64 readq_ch(struct dw_edma *dw, enum dw_edma_dir dir, u16 ch, const void __iomem *addr) { - u32 value; + u64 value; if (dw->mf == EDMA_MF_EDMA_LEGACY) { u32 viewport_sel; --- linux-gcp-5.19.0.orig/drivers/dma/dw/rzn1-dmamux.c +++ linux-gcp-5.19.0/drivers/dma/dw/rzn1-dmamux.c @@ -102,10 +102,12 @@ return ERR_PTR(ret); } +#ifdef CONFIG_OF static const struct of_device_id rzn1_dmac_match[] = { { .compatible = "renesas,rzn1-dma" }, {} }; +#endif static int rzn1_dmamux_probe(struct platform_device *pdev) { @@ -140,6 +142,7 @@ { .compatible = "renesas,rzn1-dmamux" }, {} }; +MODULE_DEVICE_TABLE(of, rzn1_dmamux_match); static struct platform_driver rzn1_dmamux_driver = { .driver = { --- linux-gcp-5.19.0.orig/drivers/dma/hisi_dma.c +++ linux-gcp-5.19.0/drivers/dma/hisi_dma.c @@ -180,7 +180,8 @@ hisi_dma_chan_write(hdma_dev->base, HISI_DMA_CQ_HEAD_PTR, index, 0); } -static void hisi_dma_reset_hw_chan(struct hisi_dma_chan *chan) +static void hisi_dma_reset_or_disable_hw_chan(struct hisi_dma_chan *chan, + bool disable) { struct hisi_dma_dev *hdma_dev = chan->hdma_dev; u32 index = chan->qp_num, tmp; @@ -201,8 +202,11 @@ hisi_dma_do_reset(hdma_dev, index); hisi_dma_reset_qp_point(hdma_dev, index); hisi_dma_pause_dma(hdma_dev, index, false); - hisi_dma_enable_dma(hdma_dev, index, true); - hisi_dma_unmask_irq(hdma_dev, index); + + if (!disable) { + hisi_dma_enable_dma(hdma_dev, index, true); + hisi_dma_unmask_irq(hdma_dev, index); + } ret = readl_relaxed_poll_timeout(hdma_dev->base + HISI_DMA_Q_FSM_STS + index * HISI_DMA_OFFSET, tmp, @@ -218,7 +222,7 @@ struct hisi_dma_chan *chan = to_hisi_dma_chan(c); struct hisi_dma_dev *hdma_dev = chan->hdma_dev; - hisi_dma_reset_hw_chan(chan); + hisi_dma_reset_or_disable_hw_chan(chan, false); vchan_free_chan_resources(&chan->vc); memset(chan->sq, 0, sizeof(struct hisi_dma_sqe) * hdma_dev->chan_depth); @@ -267,7 +271,6 @@ vd = vchan_next_desc(&chan->vc); if (!vd) { - dev_err(&hdma_dev->pdev->dev, "no issued task!\n"); chan->desc = NULL; return; } @@ -299,7 +302,7 @@ spin_lock_irqsave(&chan->vc.lock, flags); - if (vchan_issue_pending(&chan->vc)) + if (vchan_issue_pending(&chan->vc) && !chan->desc) hisi_dma_start_transfer(chan); spin_unlock_irqrestore(&chan->vc.lock, flags); @@ -394,7 +397,7 @@ static void hisi_dma_disable_qp(struct hisi_dma_dev *hdma_dev, u32 qp_index) { - hisi_dma_reset_hw_chan(&hdma_dev->chan[qp_index]); + hisi_dma_reset_or_disable_hw_chan(&hdma_dev->chan[qp_index], true); } static void hisi_dma_enable_qps(struct hisi_dma_dev *hdma_dev) @@ -432,18 +435,15 @@ desc = chan->desc; cqe = chan->cq + chan->cq_head; if (desc) { + chan->cq_head = (chan->cq_head + 1) % hdma_dev->chan_depth; + hisi_dma_chan_write(hdma_dev->base, HISI_DMA_CQ_HEAD_PTR, + chan->qp_num, chan->cq_head); if (FIELD_GET(STATUS_MASK, cqe->w0) == STATUS_SUCC) { - chan->cq_head = (chan->cq_head + 1) % - hdma_dev->chan_depth; - hisi_dma_chan_write(hdma_dev->base, - HISI_DMA_CQ_HEAD_PTR, chan->qp_num, - chan->cq_head); vchan_cookie_complete(&desc->vd); + hisi_dma_start_transfer(chan); } else { dev_err(&hdma_dev->pdev->dev, "task error!\n"); } - - chan->desc = NULL; } spin_unlock(&chan->vc.lock); --- linux-gcp-5.19.0.orig/drivers/dma/idxd/cdev.c +++ linux-gcp-5.19.0/drivers/dma/idxd/cdev.c @@ -312,6 +312,24 @@ if (idxd->state != IDXD_DEV_ENABLED) return -ENXIO; + /* + * User type WQ is enabled only when SVA is enabled for two reasons: + * - If no IOMMU or IOMMU Passthrough without SVA, userspace + * can directly access physical address through the WQ. + * - The IDXD cdev driver does not provide any ways to pin + * user pages and translate the address from user VA to IOVA or + * PA without IOMMU SVA. Therefore the application has no way + * to instruct the device to perform DMA function. This makes + * the cdev not usable for normal application usage. + */ + if (!device_user_pasid_enabled(idxd)) { + idxd->cmd_status = IDXD_SCMD_WQ_USER_NO_IOMMU; + dev_dbg(&idxd->pdev->dev, + "User type WQ cannot be enabled without SVA.\n"); + + return -EOPNOTSUPP; + } + mutex_lock(&wq->wq_lock); wq->type = IDXD_WQT_USER; rc = drv_enable_wq(wq); --- linux-gcp-5.19.0.orig/drivers/dma/idxd/device.c +++ linux-gcp-5.19.0/drivers/dma/idxd/device.c @@ -388,7 +388,7 @@ clear_bit(WQ_FLAG_BLOCK_ON_FAULT, &wq->flags); memset(wq->name, 0, WQ_NAME_SIZE); wq->max_xfer_bytes = WQ_DEFAULT_MAX_XFER; - wq->max_batch_size = WQ_DEFAULT_MAX_BATCH; + idxd_wq_set_max_batch_size(idxd->data->type, wq, WQ_DEFAULT_MAX_BATCH); } static void idxd_wq_device_reset_cleanup(struct idxd_wq *wq) @@ -698,7 +698,7 @@ group->use_rdbuf_limit = false; group->rdbufs_allowed = 0; group->rdbufs_reserved = 0; - if (idxd->hw.version < DEVICE_VERSION_2 && !tc_override) { + if (idxd->hw.version <= DEVICE_VERSION_2 && !tc_override) { group->tc_a = 1; group->tc_b = 1; } else { @@ -724,13 +724,21 @@ void idxd_device_clear_state(struct idxd_device *idxd) { - if (!test_bit(IDXD_FLAG_CONFIGURABLE, &idxd->flags)) - return; + /* IDXD is always disabled. Other states are cleared only when IDXD is configurable. */ + if (test_bit(IDXD_FLAG_CONFIGURABLE, &idxd->flags)) { + /* + * Clearing wq state is protected by wq lock. + * So no need to be protected by device lock. + */ + idxd_device_wqs_clear_state(idxd); + + spin_lock(&idxd->dev_lock); + idxd_groups_clear_state(idxd); + idxd_engines_clear_state(idxd); + } else { + spin_lock(&idxd->dev_lock); + } - idxd_device_wqs_clear_state(idxd); - spin_lock(&idxd->dev_lock); - idxd_groups_clear_state(idxd); - idxd_engines_clear_state(idxd); idxd->state = IDXD_DEV_DISABLED; spin_unlock(&idxd->dev_lock); } @@ -863,7 +871,7 @@ /* bytes 12-15 */ wq->wqcfg->max_xfer_shift = ilog2(wq->max_xfer_bytes); - wq->wqcfg->max_batch_shift = ilog2(wq->max_batch_size); + idxd_wqcfg_set_max_batch_shift(idxd->data->type, wq->wqcfg, ilog2(wq->max_batch_size)); dev_dbg(dev, "WQ %d CFGs\n", wq->id); for (i = 0; i < WQCFG_STRIDES(idxd); i++) { @@ -1031,7 +1039,7 @@ wq->priority = wq->wqcfg->priority; wq->max_xfer_bytes = 1ULL << wq->wqcfg->max_xfer_shift; - wq->max_batch_size = 1ULL << wq->wqcfg->max_batch_shift; + idxd_wq_set_max_batch_size(idxd->data->type, wq, 1U << wq->wqcfg->max_batch_shift); for (i = 0; i < WQCFG_STRIDES(idxd); i++) { wqcfg_offset = WQCFG_OFFSET(idxd, wq->id, i); @@ -1145,8 +1153,19 @@ spin_unlock(&ie->list_lock); list_for_each_entry_safe(desc, itr, &flist, list) { + struct dma_async_tx_descriptor *tx; + list_del(&desc->list); ctype = desc->completion->status ? IDXD_COMPLETE_NORMAL : IDXD_COMPLETE_ABORT; + /* + * wq is being disabled. Any remaining descriptors are + * likely to be stuck and can be dropped. callback could + * point to code that is no longer accessible, for example + * if dmatest module has been unloaded. + */ + tx = &desc->txd; + tx->callback = NULL; + tx->callback_result = NULL; idxd_dma_complete_txd(desc, ctype, true); } } @@ -1363,8 +1382,7 @@ err_irq: idxd_wq_unmap_portal(wq); err_map_portal: - rc = idxd_wq_disable(wq, false); - if (rc < 0) + if (idxd_wq_disable(wq, false)) dev_dbg(dev, "wq %s disable failed\n", dev_name(wq_confdev(wq))); err: return rc; @@ -1381,11 +1399,11 @@ dev_warn(dev, "Clients has claim on wq %d: %d\n", wq->id, idxd_wq_refcount(wq)); - idxd_wq_free_resources(wq); idxd_wq_unmap_portal(wq); idxd_wq_drain(wq); idxd_wq_free_irq(wq); idxd_wq_reset(wq); + idxd_wq_free_resources(wq); percpu_ref_exit(&wq->wq_active); wq->type = IDXD_WQT_NONE; wq->client_count = 0; --- linux-gcp-5.19.0.orig/drivers/dma/idxd/idxd.h +++ linux-gcp-5.19.0/drivers/dma/idxd/idxd.h @@ -308,6 +308,8 @@ struct work_struct work; struct idxd_pmu *idxd_pmu; + + unsigned long *opcap_bmap; }; /* IDXD software descriptor */ @@ -540,6 +542,38 @@ return wq->client_count; }; +/* + * Intel IAA does not support batch processing. + * The max batch size of device, max batch size of wq and + * max batch shift of wqcfg should be always 0 on IAA. + */ +static inline void idxd_set_max_batch_size(int idxd_type, struct idxd_device *idxd, + u32 max_batch_size) +{ + if (idxd_type == IDXD_TYPE_IAX) + idxd->max_batch_size = 0; + else + idxd->max_batch_size = max_batch_size; +} + +static inline void idxd_wq_set_max_batch_size(int idxd_type, struct idxd_wq *wq, + u32 max_batch_size) +{ + if (idxd_type == IDXD_TYPE_IAX) + wq->max_batch_size = 0; + else + wq->max_batch_size = max_batch_size; +} + +static inline void idxd_wqcfg_set_max_batch_shift(int idxd_type, union wqcfg *wqcfg, + u32 max_batch_shift) +{ + if (idxd_type == IDXD_TYPE_IAX) + wqcfg->max_batch_shift = 0; + else + wqcfg->max_batch_shift = max_batch_shift; +} + int __must_check __idxd_driver_register(struct idxd_device_driver *idxd_drv, struct module *module, const char *mod_name); #define idxd_driver_register(driver) \ --- linux-gcp-5.19.0.orig/drivers/dma/idxd/init.c +++ linux-gcp-5.19.0/drivers/dma/idxd/init.c @@ -177,7 +177,7 @@ init_completion(&wq->wq_dead); init_completion(&wq->wq_resurrect); wq->max_xfer_bytes = WQ_DEFAULT_MAX_XFER; - wq->max_batch_size = WQ_DEFAULT_MAX_BATCH; + idxd_wq_set_max_batch_size(idxd->data->type, wq, WQ_DEFAULT_MAX_BATCH); wq->enqcmds_retries = IDXD_ENQCMDS_RETRIES; wq->wqcfg = kzalloc_node(idxd->wqcfg_size, GFP_KERNEL, dev_to_node(dev)); if (!wq->wqcfg) { @@ -280,7 +280,7 @@ } idxd->groups[i] = group; - if (idxd->hw.version < DEVICE_VERSION_2 && !tc_override) { + if (idxd->hw.version <= DEVICE_VERSION_2 && !tc_override) { group->tc_a = 1; group->tc_b = 1; } else { @@ -369,6 +369,19 @@ dev_dbg(dev, "IDXD Perfmon Offset: %#x\n", idxd->perfmon_offset); } +static void multi_u64_to_bmap(unsigned long *bmap, u64 *val, int count) +{ + int i, j, nr; + + for (i = 0, nr = 0; i < count; i++) { + for (j = 0; j < BITS_PER_LONG_LONG; j++) { + if (val[i] & BIT(j)) + set_bit(nr, bmap); + nr++; + } + } +} + static void idxd_read_caps(struct idxd_device *idxd) { struct device *dev = &idxd->pdev->dev; @@ -389,7 +402,7 @@ idxd->max_xfer_bytes = 1ULL << idxd->hw.gen_cap.max_xfer_shift; dev_dbg(dev, "max xfer size: %llu bytes\n", idxd->max_xfer_bytes); - idxd->max_batch_size = 1U << idxd->hw.gen_cap.max_batch_shift; + idxd_set_max_batch_size(idxd->data->type, idxd, 1U << idxd->hw.gen_cap.max_batch_shift); dev_dbg(dev, "max batch size: %u\n", idxd->max_batch_size); if (idxd->hw.gen_cap.config_en) set_bit(IDXD_FLAG_CONFIGURABLE, &idxd->flags); @@ -427,6 +440,7 @@ IDXD_OPCAP_OFFSET + i * sizeof(u64)); dev_dbg(dev, "opcap[%d]: %#llx\n", i, idxd->hw.opcap.bits[i]); } + multi_u64_to_bmap(idxd->opcap_bmap, &idxd->hw.opcap.bits[0], 4); } static struct idxd_device *idxd_alloc(struct pci_dev *pdev, struct idxd_driver_data *data) @@ -448,6 +462,12 @@ if (idxd->id < 0) return NULL; + idxd->opcap_bmap = bitmap_zalloc_node(IDXD_MAX_OPCAP_BITS, GFP_KERNEL, dev_to_node(dev)); + if (!idxd->opcap_bmap) { + ida_free(&idxd_ida, idxd->id); + return NULL; + } + device_initialize(conf_dev); conf_dev->parent = dev; conf_dev->bus = &dsa_bus_type; --- linux-gcp-5.19.0.orig/drivers/dma/idxd/irq.c +++ linux-gcp-5.19.0/drivers/dma/idxd/irq.c @@ -324,13 +324,11 @@ idxd->state = IDXD_DEV_HALTED; idxd_wqs_quiesce(idxd); idxd_wqs_unmap_portal(idxd); - spin_lock(&idxd->dev_lock); idxd_device_clear_state(idxd); dev_err(&idxd->pdev->dev, "idxd halted, need %s.\n", gensts.reset_type == IDXD_DEVICE_RESET_FLR ? "FLR" : "system reset"); - spin_unlock(&idxd->dev_lock); return -ENXIO; } } --- linux-gcp-5.19.0.orig/drivers/dma/idxd/registers.h +++ linux-gcp-5.19.0/drivers/dma/idxd/registers.h @@ -90,6 +90,8 @@ u64 bits[4]; }; +#define IDXD_MAX_OPCAP_BITS 256U + #define IDXD_OPCAP_OFFSET 0x40 #define IDXD_TABLE_OFFSET 0x60 --- linux-gcp-5.19.0.orig/drivers/dma/idxd/sysfs.c +++ linux-gcp-5.19.0/drivers/dma/idxd/sysfs.c @@ -387,7 +387,7 @@ if (idxd->state == IDXD_DEV_ENABLED) return -EPERM; - if (idxd->hw.version < DEVICE_VERSION_2 && !tc_override) + if (idxd->hw.version <= DEVICE_VERSION_2 && !tc_override) return -EPERM; if (val < 0 || val > 7) @@ -429,7 +429,7 @@ if (idxd->state == IDXD_DEV_ENABLED) return -EPERM; - if (idxd->hw.version < DEVICE_VERSION_2 && !tc_override) + if (idxd->hw.version <= DEVICE_VERSION_2 && !tc_override) return -EPERM; if (val < 0 || val > 7) @@ -961,7 +961,7 @@ if (batch_size > idxd->max_batch_size) return -EINVAL; - wq->max_batch_size = (u32)batch_size; + idxd_wq_set_max_batch_size(idxd->data->type, wq, (u32)batch_size); return count; } @@ -1177,14 +1177,8 @@ struct device_attribute *attr, char *buf) { struct idxd_device *idxd = confdev_to_idxd(dev); - int i, rc = 0; - for (i = 0; i < 4; i++) - rc += sysfs_emit_at(buf, rc, "%#llx ", idxd->hw.opcap.bits[i]); - - rc--; - rc += sysfs_emit_at(buf, rc, "\n"); - return rc; + return sysfs_emit(buf, "%*pb\n", IDXD_MAX_OPCAP_BITS, idxd->opcap_bmap); } static DEVICE_ATTR_RO(op_cap); @@ -1408,6 +1402,7 @@ kfree(idxd->wqs); kfree(idxd->engines); ida_free(&idxd_ida, idxd->id); + bitmap_free(idxd->opcap_bmap); kfree(idxd); } --- linux-gcp-5.19.0.orig/drivers/dma/imx-dma.c +++ linux-gcp-5.19.0/drivers/dma/imx-dma.c @@ -1047,7 +1047,7 @@ return -ENOMEM; imxdma->dev = &pdev->dev; - imxdma->devtype = (enum imx_dma_type)of_device_get_match_data(&pdev->dev); + imxdma->devtype = (uintptr_t)of_device_get_match_data(&pdev->dev); res = platform_get_resource(pdev, IORESOURCE_MEM, 0); imxdma->base = devm_ioremap_resource(&pdev->dev, res); --- linux-gcp-5.19.0.orig/drivers/dma/imx-sdma.c +++ linux-gcp-5.19.0/drivers/dma/imx-sdma.c @@ -1496,10 +1496,12 @@ sdma_config_ownership(sdmac, false, true, false); if (sdma_load_context(sdmac)) - goto err_desc_out; + goto err_bd_out; return desc; +err_bd_out: + sdma_free_bd(desc); err_desc_out: kfree(desc); err_out: --- linux-gcp-5.19.0.orig/drivers/dma/ioat/dma.c +++ linux-gcp-5.19.0/drivers/dma/ioat/dma.c @@ -656,7 +656,7 @@ if (active - i == 0) { dev_dbg(to_dev(ioat_chan), "%s: cancel completion timeout\n", __func__); - mod_timer(&ioat_chan->timer, jiffies + IDLE_TIMEOUT); + mod_timer_pending(&ioat_chan->timer, jiffies + IDLE_TIMEOUT); } /* microsecond delay by sysfs variable per pending descriptor */ @@ -682,7 +682,7 @@ if (chanerr & (IOAT_CHANERR_HANDLE_MASK | IOAT_CHANERR_RECOVER_MASK)) { - mod_timer(&ioat_chan->timer, jiffies + IDLE_TIMEOUT); + mod_timer_pending(&ioat_chan->timer, jiffies + IDLE_TIMEOUT); ioat_eh(ioat_chan); } } @@ -879,7 +879,7 @@ } if (test_and_clear_bit(IOAT_CHAN_ACTIVE, &ioat_chan->state)) - mod_timer(&ioat_chan->timer, jiffies + IDLE_TIMEOUT); + mod_timer_pending(&ioat_chan->timer, jiffies + IDLE_TIMEOUT); } static void ioat_reboot_chan(struct ioatdma_chan *ioat_chan) --- linux-gcp-5.19.0.orig/drivers/dma/lgm/lgm-dma.c +++ linux-gcp-5.19.0/drivers/dma/lgm/lgm-dma.c @@ -914,7 +914,7 @@ } } -static int ldma_cfg_init(struct ldma_dev *d) +static int ldma_parse_dt(struct ldma_dev *d) { struct fwnode_handle *fwnode = dev_fwnode(d->dev); struct ldma_port *p; @@ -1661,10 +1661,6 @@ p->ldev = d; } - ret = ldma_cfg_init(d); - if (ret) - return ret; - dma_dev->dev = &pdev->dev; ch_mask = (unsigned long)d->channels_mask; @@ -1675,6 +1671,10 @@ ldma_dma_init_v3X(j, d); } + ret = ldma_parse_dt(d); + if (ret) + return ret; + dma_dev->device_alloc_chan_resources = ldma_alloc_chan_resources; dma_dev->device_free_chan_resources = ldma_free_chan_resources; dma_dev->device_terminate_all = ldma_terminate_all; --- linux-gcp-5.19.0.orig/drivers/dma/mv_xor_v2.c +++ linux-gcp-5.19.0/drivers/dma/mv_xor_v2.c @@ -893,6 +893,7 @@ tasklet_kill(&xor_dev->irq_tasklet); clk_disable_unprepare(xor_dev->clk); + clk_disable_unprepare(xor_dev->reg_clk); return 0; } --- linux-gcp-5.19.0.orig/drivers/dma/mxs-dma.c +++ linux-gcp-5.19.0/drivers/dma/mxs-dma.c @@ -670,7 +670,7 @@ return mxs_chan->status; } -static int __init mxs_dma_init(struct mxs_dma_engine *mxs_dma) +static int mxs_dma_init(struct mxs_dma_engine *mxs_dma) { int ret; @@ -741,7 +741,7 @@ ofdma->of_node); } -static int __init mxs_dma_probe(struct platform_device *pdev) +static int mxs_dma_probe(struct platform_device *pdev) { struct device_node *np = pdev->dev.of_node; const struct mxs_dma_type *dma_type; @@ -839,10 +839,7 @@ .name = "mxs-dma", .of_match_table = mxs_dma_dt_ids, }, + .probe = mxs_dma_probe, }; -static int __init mxs_dma_module_init(void) -{ - return platform_driver_probe(&mxs_dma_driver, mxs_dma_probe); -} -subsys_initcall(mxs_dma_module_init); +builtin_platform_driver(mxs_dma_driver); --- linux-gcp-5.19.0.orig/drivers/dma/ptdma/ptdma-dev.c +++ linux-gcp-5.19.0/drivers/dma/ptdma/ptdma-dev.c @@ -71,12 +71,13 @@ bool soc = FIELD_GET(DWORD0_SOC, desc->dw0); u8 *q_desc = (u8 *)&cmd_q->qbase[cmd_q->qidx]; u32 tail; + unsigned long flags; if (soc) { desc->dw0 |= FIELD_PREP(DWORD0_IOC, desc->dw0); desc->dw0 &= ~DWORD0_SOC; } - mutex_lock(&cmd_q->q_mutex); + spin_lock_irqsave(&cmd_q->q_lock, flags); /* Copy 32-byte command descriptor to hw queue. */ memcpy(q_desc, desc, 32); @@ -91,7 +92,7 @@ /* Turn the queue back on using our cached control register */ pt_start_queue(cmd_q); - mutex_unlock(&cmd_q->q_mutex); + spin_unlock_irqrestore(&cmd_q->q_lock, flags); return 0; } @@ -199,7 +200,7 @@ cmd_q->pt = pt; cmd_q->dma_pool = dma_pool; - mutex_init(&cmd_q->q_mutex); + spin_lock_init(&cmd_q->q_lock); /* Page alignment satisfies our needs for N <= 128 */ cmd_q->qsize = Q_SIZE(Q_DESC_SIZE); --- linux-gcp-5.19.0.orig/drivers/dma/ptdma/ptdma-dmaengine.c +++ linux-gcp-5.19.0/drivers/dma/ptdma/ptdma-dmaengine.c @@ -254,7 +254,7 @@ spin_unlock_irqrestore(&chan->vc.lock, flags); /* If there was nothing active, start processing */ - if (engine_is_idle) + if (engine_is_idle && desc) pt_cmd_callback(desc, 0); } --- linux-gcp-5.19.0.orig/drivers/dma/ptdma/ptdma.h +++ linux-gcp-5.19.0/drivers/dma/ptdma/ptdma.h @@ -196,7 +196,7 @@ struct ptdma_desc *qbase; /* Aligned queue start address (per requirement) */ - struct mutex q_mutex ____cacheline_aligned; + spinlock_t q_lock ____cacheline_aligned; unsigned int qidx; unsigned int qsize; --- linux-gcp-5.19.0.orig/drivers/dma/pxa_dma.c +++ linux-gcp-5.19.0/drivers/dma/pxa_dma.c @@ -1247,14 +1247,14 @@ return -ENOMEM; for (i = 0; i < nb_phy_chans; i++) - if (platform_get_irq(op, i) > 0) + if (platform_get_irq_optional(op, i) > 0) nr_irq++; for (i = 0; i < nb_phy_chans; i++) { phy = &pdev->phys[i]; phy->base = pdev->base; phy->idx = i; - irq = platform_get_irq(op, i); + irq = platform_get_irq_optional(op, i); if ((nr_irq > 1) && (irq > 0)) ret = devm_request_irq(&op->dev, irq, pxad_chan_handler, --- linux-gcp-5.19.0.orig/drivers/dma/qcom/gpi.c +++ linux-gcp-5.19.0/drivers/dma/qcom/gpi.c @@ -1756,6 +1756,7 @@ tre->dword[3] = u32_encode_bits(TRE_TYPE_GO, TRE_FLAGS_TYPE); if (spi->cmd == SPI_RX) { tre->dword[3] |= u32_encode_bits(1, TRE_FLAGS_IEOB); + tre->dword[3] |= u32_encode_bits(1, TRE_FLAGS_LINK); } else if (spi->cmd == SPI_TX) { tre->dword[3] |= u32_encode_bits(1, TRE_FLAGS_CHAIN); } else { /* SPI_DUPLEX */ --- linux-gcp-5.19.0.orig/drivers/dma/qcom/qcom_adm.c +++ linux-gcp-5.19.0/drivers/dma/qcom/qcom_adm.c @@ -379,13 +379,13 @@ if (blk_size < 0) { dev_err(adev->dev, "invalid burst value: %d\n", burst); - return ERR_PTR(-EINVAL); + return NULL; } crci = achan->crci & 0xf; if (!crci || achan->crci > 0x1f) { dev_err(adev->dev, "invalid crci value\n"); - return ERR_PTR(-EINVAL); + return NULL; } } @@ -403,8 +403,10 @@ } async_desc = kzalloc(sizeof(*async_desc), GFP_NOWAIT); - if (!async_desc) - return ERR_PTR(-ENOMEM); + if (!async_desc) { + dev_err(adev->dev, "not enough memory for async_desc struct\n"); + return NULL; + } async_desc->mux = achan->mux ? ADM_CRCI_CTL_MUX_SEL : 0; async_desc->crci = crci; @@ -414,8 +416,10 @@ sizeof(*cple) + 2 * ADM_DESC_ALIGN; async_desc->cpl = kzalloc(async_desc->dma_len, GFP_NOWAIT); - if (!async_desc->cpl) + if (!async_desc->cpl) { + dev_err(adev->dev, "not enough memory for cpl struct\n"); goto free; + } async_desc->adev = adev; @@ -437,8 +441,10 @@ async_desc->dma_addr = dma_map_single(adev->dev, async_desc->cpl, async_desc->dma_len, DMA_TO_DEVICE); - if (dma_mapping_error(adev->dev, async_desc->dma_addr)) + if (dma_mapping_error(adev->dev, async_desc->dma_addr)) { + dev_err(adev->dev, "dma mapping error for cpl\n"); goto free; + } cple_addr = async_desc->dma_addr + ((void *)cple - async_desc->cpl); @@ -454,7 +460,7 @@ free: kfree(async_desc); - return ERR_PTR(-ENOMEM); + return NULL; } /** @@ -494,7 +500,7 @@ spin_lock_irqsave(&achan->vc.lock, flag); memcpy(&achan->slave, cfg, sizeof(struct dma_slave_config)); - if (cfg->peripheral_size == sizeof(config)) + if (cfg->peripheral_size == sizeof(*config)) achan->crci = config->crci; spin_unlock_irqrestore(&achan->vc.lock, flag); --- linux-gcp-5.19.0.orig/drivers/dma/sf-pdma/sf-pdma.c +++ linux-gcp-5.19.0/drivers/dma/sf-pdma/sf-pdma.c @@ -52,16 +52,6 @@ static struct sf_pdma_desc *sf_pdma_alloc_desc(struct sf_pdma_chan *chan) { struct sf_pdma_desc *desc; - unsigned long flags; - - spin_lock_irqsave(&chan->lock, flags); - - if (chan->desc && !chan->desc->in_use) { - spin_unlock_irqrestore(&chan->lock, flags); - return chan->desc; - } - - spin_unlock_irqrestore(&chan->lock, flags); desc = kzalloc(sizeof(*desc), GFP_NOWAIT); if (!desc) @@ -106,12 +96,10 @@ if (!desc) return NULL; - desc->in_use = true; desc->dirn = DMA_MEM_TO_MEM; desc->async_tx = vchan_tx_prep(&chan->vchan, &desc->vdesc, flags); spin_lock_irqsave(&chan->vchan.lock, iflags); - chan->desc = desc; sf_pdma_fill_desc(desc, dest, src, len); spin_unlock_irqrestore(&chan->vchan.lock, iflags); @@ -170,11 +158,17 @@ unsigned long flags; u64 residue = 0; struct sf_pdma_desc *desc; - struct dma_async_tx_descriptor *tx; + struct dma_async_tx_descriptor *tx = NULL; spin_lock_irqsave(&chan->vchan.lock, flags); - tx = &chan->desc->vdesc.tx; + list_for_each_entry(vd, &chan->vchan.desc_submitted, node) + if (vd->tx.cookie == cookie) + tx = &vd->tx; + + if (!tx) + goto out; + if (cookie == tx->chan->completed_cookie) goto out; @@ -241,6 +235,19 @@ writel(v, regs->ctrl); } +static struct sf_pdma_desc *sf_pdma_get_first_pending_desc(struct sf_pdma_chan *chan) +{ + struct virt_dma_chan *vchan = &chan->vchan; + struct virt_dma_desc *vdesc; + + if (list_empty(&vchan->desc_issued)) + return NULL; + + vdesc = list_first_entry(&vchan->desc_issued, struct virt_dma_desc, node); + + return container_of(vdesc, struct sf_pdma_desc, vdesc); +} + static void sf_pdma_xfer_desc(struct sf_pdma_chan *chan) { struct sf_pdma_desc *desc = chan->desc; @@ -268,8 +275,11 @@ spin_lock_irqsave(&chan->vchan.lock, flags); - if (vchan_issue_pending(&chan->vchan) && chan->desc) + if (!chan->desc && vchan_issue_pending(&chan->vchan)) { + /* vchan_issue_pending has made a check that desc in not NULL */ + chan->desc = sf_pdma_get_first_pending_desc(chan); sf_pdma_xfer_desc(chan); + } spin_unlock_irqrestore(&chan->vchan.lock, flags); } @@ -279,7 +289,7 @@ struct sf_pdma_desc *desc; desc = to_sf_pdma_desc(vdesc); - desc->in_use = false; + kfree(desc); } static void sf_pdma_donebh_tasklet(struct tasklet_struct *t) @@ -298,6 +308,11 @@ spin_lock_irqsave(&chan->vchan.lock, flags); list_del(&chan->desc->vdesc.node); vchan_cookie_complete(&chan->desc->vdesc); + + chan->desc = sf_pdma_get_first_pending_desc(chan); + if (chan->desc) + sf_pdma_xfer_desc(chan); + spin_unlock_irqrestore(&chan->vchan.lock, flags); } --- linux-gcp-5.19.0.orig/drivers/dma/sf-pdma/sf-pdma.h +++ linux-gcp-5.19.0/drivers/dma/sf-pdma/sf-pdma.h @@ -78,7 +78,6 @@ u64 src_addr; struct virt_dma_desc vdesc; struct sf_pdma_chan *chan; - bool in_use; enum dma_transfer_direction dirn; struct dma_async_tx_descriptor *async_tx; }; --- linux-gcp-5.19.0.orig/drivers/dma/sprd-dma.c +++ linux-gcp-5.19.0/drivers/dma/sprd-dma.c @@ -1237,11 +1237,8 @@ { struct sprd_dma_dev *sdev = platform_get_drvdata(pdev); struct sprd_dma_chn *c, *cn; - int ret; - ret = pm_runtime_get_sync(&pdev->dev); - if (ret < 0) - return ret; + pm_runtime_get_sync(&pdev->dev); /* explicitly free the irq */ if (sdev->irq > 0) --- linux-gcp-5.19.0.orig/drivers/dma/stm32-dma.c +++ linux-gcp-5.19.0/drivers/dma/stm32-dma.c @@ -663,6 +663,8 @@ chan->chan_reg.dma_sndtr = stm32_dma_read(dmadev, STM32_DMA_SNDTR(chan->id)); + chan->status = DMA_PAUSED; + dev_dbg(chan2dev(chan), "vchan %pK: paused\n", &chan->vchan); } @@ -775,9 +777,7 @@ if (status & STM32_DMA_TCI) { stm32_dma_irq_clear(chan, STM32_DMA_TCI); if (scr & STM32_DMA_SCR_TCIE) { - if (chan->status == DMA_PAUSED && !(scr & STM32_DMA_SCR_EN)) - stm32_dma_handle_chan_paused(chan); - else + if (chan->status != DMA_PAUSED) stm32_dma_handle_chan_done(chan, scr); } status &= ~STM32_DMA_TCI; @@ -824,13 +824,11 @@ return -EPERM; spin_lock_irqsave(&chan->vchan.lock, flags); + ret = stm32_dma_disable_chan(chan); - /* - * A transfer complete flag is set to indicate the end of transfer due to the stream - * interruption, so wait for interrupt - */ if (!ret) - chan->status = DMA_PAUSED; + stm32_dma_handle_chan_paused(chan); + spin_unlock_irqrestore(&chan->vchan.lock, flags); return ret; --- linux-gcp-5.19.0.orig/drivers/dma/tegra186-gpc-dma.c +++ linux-gcp-5.19.0/drivers/dma/tegra186-gpc-dma.c @@ -157,8 +157,8 @@ * If any burst is in flight and DMA paused then this is the time to complete * on-flight burst and update DMA status register. */ -#define TEGRA_GPCDMA_BURST_COMPLETE_TIME 20 -#define TEGRA_GPCDMA_BURST_COMPLETION_TIMEOUT 100 +#define TEGRA_GPCDMA_BURST_COMPLETE_TIME 10 +#define TEGRA_GPCDMA_BURST_COMPLETION_TIMEOUT 5000 /* 5 msec */ /* Channel base address offset from GPCDMA base address */ #define TEGRA_GPCDMA_CHANNEL_BASE_ADD_OFFSET 0x20000 @@ -432,6 +432,17 @@ return 0; } +static inline int tegra_dma_pause_noerr(struct tegra_dma_channel *tdc) +{ + /* Return 0 irrespective of PAUSE status. + * This is useful to recover channels that can exit out of flush + * state when the channel is disabled. + */ + + tegra_dma_pause(tdc); + return 0; +} + static void tegra_dma_disable(struct tegra_dma_channel *tdc) { u32 csr, status; @@ -696,6 +707,7 @@ return err; } + vchan_terminate_vdesc(&tdc->dma_desc->vd); tegra_dma_disable(tdc); tdc->dma_desc = NULL; } @@ -1292,6 +1304,14 @@ .terminate = tegra_dma_pause, }; +static const struct tegra_dma_chip_data tegra234_dma_chip_data = { + .nr_channels = 31, + .channel_reg_size = SZ_64K, + .max_dma_count = SZ_1G, + .hw_support_pause = true, + .terminate = tegra_dma_pause_noerr, +}; + static const struct of_device_id tegra_dma_of_match[] = { { .compatible = "nvidia,tegra186-gpcdma", @@ -1300,6 +1320,9 @@ .compatible = "nvidia,tegra194-gpcdma", .data = &tegra194_dma_chip_data, }, { + .compatible = "nvidia,tegra234-gpcdma", + .data = &tegra234_dma_chip_data, + }, { }, }; MODULE_DEVICE_TABLE(of, tegra_dma_of_match); --- linux-gcp-5.19.0.orig/drivers/dma/tegra210-adma.c +++ linux-gcp-5.19.0/drivers/dma/tegra210-adma.c @@ -221,7 +221,7 @@ int ret; /* Clear any interrupts */ - tdma_write(tdma, tdma->cdata->global_int_clear, 0x1); + tdma_write(tdma, tdma->cdata->ch_base_offset + tdma->cdata->global_int_clear, 0x1); /* Assert soft reset */ tdma_write(tdma, ADMA_GLOBAL_SOFT_RESET, 0x1); --- linux-gcp-5.19.0.orig/drivers/dma/ti/k3-udma-glue.c +++ linux-gcp-5.19.0/drivers/dma/ti/k3-udma-glue.c @@ -299,6 +299,7 @@ ret = device_register(&tx_chn->common.chan_dev); if (ret) { dev_err(dev, "Channel Device registration failed %d\n", ret); + put_device(&tx_chn->common.chan_dev); tx_chn->common.chan_dev.parent = NULL; goto err; } @@ -917,6 +918,7 @@ ret = device_register(&rx_chn->common.chan_dev); if (ret) { dev_err(dev, "Channel Device registration failed %d\n", ret); + put_device(&rx_chn->common.chan_dev); rx_chn->common.chan_dev.parent = NULL; goto err; } @@ -1048,6 +1050,7 @@ ret = device_register(&rx_chn->common.chan_dev); if (ret) { dev_err(dev, "Channel Device registration failed %d\n", ret); + put_device(&rx_chn->common.chan_dev); rx_chn->common.chan_dev.parent = NULL; goto err; } --- linux-gcp-5.19.0.orig/drivers/dma/ti/k3-udma-private.c +++ linux-gcp-5.19.0/drivers/dma/ti/k3-udma-private.c @@ -31,14 +31,14 @@ } pdev = of_find_device_by_node(udma_node); + if (np != udma_node) + of_node_put(udma_node); + if (!pdev) { pr_debug("UDMA device not found\n"); return ERR_PTR(-EPROBE_DEFER); } - if (np != udma_node) - of_node_put(udma_node); - ud = platform_get_drvdata(pdev); if (!ud) { pr_debug("UDMA has not been probed\n"); --- linux-gcp-5.19.0.orig/drivers/dma/ti/k3-udma.c +++ linux-gcp-5.19.0/drivers/dma/ti/k3-udma.c @@ -300,8 +300,6 @@ struct udma_tx_drain tx_drain; - u32 bcnt; /* number of bytes completed since the start of the channel */ - /* Channel configuration parameters */ struct udma_chan_config config; @@ -757,6 +755,21 @@ } } +static void udma_decrement_byte_counters(struct udma_chan *uc, u32 val) +{ + if (uc->desc->dir == DMA_DEV_TO_MEM) { + udma_rchanrt_write(uc, UDMA_CHAN_RT_BCNT_REG, val); + udma_rchanrt_write(uc, UDMA_CHAN_RT_SBCNT_REG, val); + if (uc->config.ep_type != PSIL_EP_NATIVE) + udma_rchanrt_write(uc, UDMA_CHAN_RT_PEER_BCNT_REG, val); + } else { + udma_tchanrt_write(uc, UDMA_CHAN_RT_BCNT_REG, val); + udma_tchanrt_write(uc, UDMA_CHAN_RT_SBCNT_REG, val); + if (!uc->bchan && uc->config.ep_type != PSIL_EP_NATIVE) + udma_tchanrt_write(uc, UDMA_CHAN_RT_PEER_BCNT_REG, val); + } +} + static void udma_reset_counters(struct udma_chan *uc) { u32 val; @@ -790,8 +803,6 @@ val = udma_rchanrt_read(uc, UDMA_CHAN_RT_PEER_BCNT_REG); udma_rchanrt_write(uc, UDMA_CHAN_RT_PEER_BCNT_REG, val); } - - uc->bcnt = 0; } static int udma_reset_chan(struct udma_chan *uc, bool hard) @@ -1115,7 +1126,7 @@ if (uc->desc) { struct udma_desc *d = uc->desc; - uc->bcnt += d->residue; + udma_decrement_byte_counters(uc, d->residue); udma_start(uc); vchan_cookie_complete(&d->vd); break; @@ -1168,7 +1179,7 @@ vchan_cyclic_callback(&d->vd); } else { if (udma_is_desc_really_done(uc, d)) { - uc->bcnt += d->residue; + udma_decrement_byte_counters(uc, d->residue); udma_start(uc); vchan_cookie_complete(&d->vd); } else { @@ -1204,7 +1215,7 @@ vchan_cyclic_callback(&d->vd); } else { /* TODO: figure out the real amount of data */ - uc->bcnt += d->residue; + udma_decrement_byte_counters(uc, d->residue); udma_start(uc); vchan_cookie_complete(&d->vd); } @@ -3809,7 +3820,6 @@ bcnt = udma_tchanrt_read(uc, UDMA_CHAN_RT_BCNT_REG); } - bcnt -= uc->bcnt; if (bcnt && !(bcnt % uc->desc->residue)) residue = 0; else --- linux-gcp-5.19.0.orig/drivers/dma/xilinx/xilinx_dma.c +++ linux-gcp-5.19.0/drivers/dma/xilinx/xilinx_dma.c @@ -3160,9 +3160,10 @@ /* Request and map I/O memory */ xdev->regs = devm_platform_ioremap_resource(pdev, 0); - if (IS_ERR(xdev->regs)) - return PTR_ERR(xdev->regs); - + if (IS_ERR(xdev->regs)) { + err = PTR_ERR(xdev->regs); + goto disable_clks; + } /* Retrieve the DMA engine properties from the device tree */ xdev->max_buffer_len = GENMASK(XILINX_DMA_MAX_TRANS_LEN_MAX - 1, 0); xdev->s2mm_chan_id = xdev->dma_config->max_channels / 2; @@ -3190,7 +3191,7 @@ if (err < 0) { dev_err(xdev->dev, "missing xlnx,num-fstores property\n"); - return err; + goto disable_clks; } err = of_property_read_u32(node, "xlnx,flush-fsync", @@ -3210,7 +3211,11 @@ xdev->ext_addr = false; /* Set the dma mask bits */ - dma_set_mask_and_coherent(xdev->dev, DMA_BIT_MASK(addr_width)); + err = dma_set_mask_and_coherent(xdev->dev, DMA_BIT_MASK(addr_width)); + if (err < 0) { + dev_err(xdev->dev, "DMA mask error %d\n", err); + goto disable_clks; + } /* Initialize the DMA engine */ xdev->common.dev = &pdev->dev; @@ -3258,8 +3263,10 @@ /* Initialize the channels */ for_each_child_of_node(node, child) { err = xilinx_dma_child_probe(xdev, child); - if (err < 0) - goto disable_clks; + if (err < 0) { + of_node_put(child); + goto error; + } } if (xdev->dma_config->dmatype == XDMA_TYPE_VDMA) { @@ -3294,12 +3301,12 @@ return 0; -disable_clks: - xdma_disable_allclks(xdev); error: for (i = 0; i < xdev->dma_config->max_channels; i++) if (xdev->chan[i]) xilinx_dma_chan_remove(xdev->chan[i]); +disable_clks: + xdma_disable_allclks(xdev); return err; } --- linux-gcp-5.19.0.orig/drivers/edac/edac_device.c +++ linux-gcp-5.19.0/drivers/edac/edac_device.c @@ -34,6 +34,9 @@ static DEFINE_MUTEX(device_ctls_mutex); static LIST_HEAD(edac_device_list); +/* Default workqueue processing interval on this instance, in msecs */ +#define DEFAULT_POLL_INTERVAL 1000 + #ifdef CONFIG_EDAC_DEBUG static void edac_device_dump_device(struct edac_device_ctl_info *edac_dev) { @@ -336,7 +339,7 @@ * whole one second to save timers firing all over the period * between integral seconds */ - if (edac_dev->poll_msec == 1000) + if (edac_dev->poll_msec == DEFAULT_POLL_INTERVAL) edac_queue_work(&edac_dev->work, round_jiffies_relative(edac_dev->delay)); else edac_queue_work(&edac_dev->work, edac_dev->delay); @@ -366,7 +369,7 @@ * timers firing on sub-second basis, while they are happy * to fire together on the 1 second exactly */ - if (edac_dev->poll_msec == 1000) + if (edac_dev->poll_msec == DEFAULT_POLL_INTERVAL) edac_queue_work(&edac_dev->work, round_jiffies_relative(edac_dev->delay)); else edac_queue_work(&edac_dev->work, edac_dev->delay); @@ -394,17 +397,16 @@ * Then restart the workq on the new delay */ void edac_device_reset_delay_period(struct edac_device_ctl_info *edac_dev, - unsigned long value) + unsigned long msec) { - unsigned long jiffs = msecs_to_jiffies(value); - - if (value == 1000) - jiffs = round_jiffies_relative(value); - - edac_dev->poll_msec = value; - edac_dev->delay = jiffs; + edac_dev->poll_msec = msec; + edac_dev->delay = msecs_to_jiffies(msec); - edac_mod_work(&edac_dev->work, jiffs); + /* See comment in edac_device_workq_setup() above */ + if (edac_dev->poll_msec == DEFAULT_POLL_INTERVAL) + edac_mod_work(&edac_dev->work, round_jiffies_relative(edac_dev->delay)); + else + edac_mod_work(&edac_dev->work, edac_dev->delay); } int edac_device_alloc_index(void) @@ -443,11 +445,7 @@ /* This instance is NOW RUNNING */ edac_dev->op_state = OP_RUNNING_POLL; - /* - * enable workq processing on this instance, - * default = 1000 msec - */ - edac_device_workq_setup(edac_dev, 1000); + edac_device_workq_setup(edac_dev, edac_dev->poll_msec ?: DEFAULT_POLL_INTERVAL); } else { edac_dev->op_state = OP_RUNNING_INTERRUPT; } --- linux-gcp-5.19.0.orig/drivers/edac/edac_mc_sysfs.c +++ linux-gcp-5.19.0/drivers/edac/edac_mc_sysfs.c @@ -298,6 +298,14 @@ channel_dimm_label_show, channel_dimm_label_store, 6); DEVICE_CHANNEL(ch7_dimm_label, S_IRUGO | S_IWUSR, channel_dimm_label_show, channel_dimm_label_store, 7); +DEVICE_CHANNEL(ch8_dimm_label, S_IRUGO | S_IWUSR, + channel_dimm_label_show, channel_dimm_label_store, 8); +DEVICE_CHANNEL(ch9_dimm_label, S_IRUGO | S_IWUSR, + channel_dimm_label_show, channel_dimm_label_store, 9); +DEVICE_CHANNEL(ch10_dimm_label, S_IRUGO | S_IWUSR, + channel_dimm_label_show, channel_dimm_label_store, 10); +DEVICE_CHANNEL(ch11_dimm_label, S_IRUGO | S_IWUSR, + channel_dimm_label_show, channel_dimm_label_store, 11); /* Total possible dynamic DIMM Label attribute file table */ static struct attribute *dynamic_csrow_dimm_attr[] = { @@ -309,6 +317,10 @@ &dev_attr_legacy_ch5_dimm_label.attr.attr, &dev_attr_legacy_ch6_dimm_label.attr.attr, &dev_attr_legacy_ch7_dimm_label.attr.attr, + &dev_attr_legacy_ch8_dimm_label.attr.attr, + &dev_attr_legacy_ch9_dimm_label.attr.attr, + &dev_attr_legacy_ch10_dimm_label.attr.attr, + &dev_attr_legacy_ch11_dimm_label.attr.attr, NULL }; @@ -329,6 +341,14 @@ channel_ce_count_show, NULL, 6); DEVICE_CHANNEL(ch7_ce_count, S_IRUGO, channel_ce_count_show, NULL, 7); +DEVICE_CHANNEL(ch8_ce_count, S_IRUGO, + channel_ce_count_show, NULL, 8); +DEVICE_CHANNEL(ch9_ce_count, S_IRUGO, + channel_ce_count_show, NULL, 9); +DEVICE_CHANNEL(ch10_ce_count, S_IRUGO, + channel_ce_count_show, NULL, 10); +DEVICE_CHANNEL(ch11_ce_count, S_IRUGO, + channel_ce_count_show, NULL, 11); /* Total possible dynamic ce_count attribute file table */ static struct attribute *dynamic_csrow_ce_count_attr[] = { @@ -340,6 +360,10 @@ &dev_attr_legacy_ch5_ce_count.attr.attr, &dev_attr_legacy_ch6_ce_count.attr.attr, &dev_attr_legacy_ch7_ce_count.attr.attr, + &dev_attr_legacy_ch8_ce_count.attr.attr, + &dev_attr_legacy_ch9_ce_count.attr.attr, + &dev_attr_legacy_ch10_ce_count.attr.attr, + &dev_attr_legacy_ch11_ce_count.attr.attr, NULL }; --- linux-gcp-5.19.0.orig/drivers/edac/edac_module.h +++ linux-gcp-5.19.0/drivers/edac/edac_module.h @@ -56,7 +56,7 @@ bool edac_mod_work(struct delayed_work *work, unsigned long delay); extern void edac_device_reset_delay_period(struct edac_device_ctl_info - *edac_dev, unsigned long value); + *edac_dev, unsigned long msec); extern void edac_mc_reset_delay_period(unsigned long value); /* --- linux-gcp-5.19.0.orig/drivers/edac/highbank_mc_edac.c +++ linux-gcp-5.19.0/drivers/edac/highbank_mc_edac.c @@ -174,8 +174,10 @@ drvdata = mci->pvt_info; platform_set_drvdata(pdev, mci); - if (!devres_open_group(&pdev->dev, NULL, GFP_KERNEL)) - return -ENOMEM; + if (!devres_open_group(&pdev->dev, NULL, GFP_KERNEL)) { + res = -ENOMEM; + goto free; + } r = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (!r) { @@ -243,6 +245,7 @@ edac_mc_del_mc(&pdev->dev); err: devres_release_group(&pdev->dev, NULL); +free: edac_mc_free(mci); return res; } --- linux-gcp-5.19.0.orig/drivers/edac/i10nm_base.c +++ linux-gcp-5.19.0/drivers/edac/i10nm_base.c @@ -198,11 +198,10 @@ if (unlikely(pci_enable_device(pdev) < 0)) { edac_dbg(2, "Failed to enable device %02x:%02x.%x\n", bus, dev, fun); + pci_dev_put(pdev); return NULL; } - pci_dev_get(pdev); - return pdev; } --- linux-gcp-5.19.0.orig/drivers/edac/qcom_edac.c +++ linux-gcp-5.19.0/drivers/edac/qcom_edac.c @@ -252,7 +252,7 @@ static int dump_syn_reg(struct edac_device_ctl_info *edev_ctl, int err_type, u32 bank) { - struct llcc_drv_data *drv = edev_ctl->pvt_info; + struct llcc_drv_data *drv = edev_ctl->dev->platform_data; int ret; ret = dump_syn_reg_values(drv, bank, err_type); @@ -289,7 +289,7 @@ llcc_ecc_irq_handler(int irq, void *edev_ctl) { struct edac_device_ctl_info *edac_dev_ctl = edev_ctl; - struct llcc_drv_data *drv = edac_dev_ctl->pvt_info; + struct llcc_drv_data *drv = edac_dev_ctl->dev->platform_data; irqreturn_t irq_rc = IRQ_NONE; u32 drp_error, trp_error, i; int ret; @@ -358,7 +358,6 @@ edev_ctl->dev_name = dev_name(dev); edev_ctl->ctl_name = "llcc"; edev_ctl->panic_on_ue = LLCC_ERP_PANIC_ON_UE; - edev_ctl->pvt_info = llcc_driv_data; rc = edac_device_add_device(edev_ctl); if (rc) --- linux-gcp-5.19.0.orig/drivers/extcon/Kconfig +++ linux-gcp-5.19.0/drivers/extcon/Kconfig @@ -183,7 +183,7 @@ config EXTCON_USBC_TUSB320 tristate "TI TUSB320 USB-C extcon support" - depends on I2C + depends on I2C && TYPEC select REGMAP_I2C help Say Y here to enable support for USB Type C cable detection extcon --- linux-gcp-5.19.0.orig/drivers/extcon/extcon-usbc-tusb320.c +++ linux-gcp-5.19.0/drivers/extcon/extcon-usbc-tusb320.c @@ -1,11 +1,12 @@ // SPDX-License-Identifier: GPL-2.0 -/** +/* * drivers/extcon/extcon-tusb320.c - TUSB320 extcon driver * * Copyright (C) 2020 National Instruments Corporation * Author: Michael Auchter */ +#include #include #include #include @@ -13,6 +14,24 @@ #include #include #include +#include + +#define TUSB320_REG8 0x8 +#define TUSB320_REG8_CURRENT_MODE_ADVERTISE GENMASK(7, 6) +#define TUSB320_REG8_CURRENT_MODE_ADVERTISE_USB 0x0 +#define TUSB320_REG8_CURRENT_MODE_ADVERTISE_15A 0x1 +#define TUSB320_REG8_CURRENT_MODE_ADVERTISE_30A 0x2 +#define TUSB320_REG8_CURRENT_MODE_DETECT GENMASK(5, 4) +#define TUSB320_REG8_CURRENT_MODE_DETECT_DEF 0x0 +#define TUSB320_REG8_CURRENT_MODE_DETECT_MED 0x1 +#define TUSB320_REG8_CURRENT_MODE_DETECT_ACC 0x2 +#define TUSB320_REG8_CURRENT_MODE_DETECT_HI 0x3 +#define TUSB320_REG8_ACCESSORY_CONNECTED GENMASK(3, 2) +#define TUSB320_REG8_ACCESSORY_CONNECTED_NONE 0x0 +#define TUSB320_REG8_ACCESSORY_CONNECTED_AUDIO 0x4 +#define TUSB320_REG8_ACCESSORY_CONNECTED_ACC 0x5 +#define TUSB320_REG8_ACCESSORY_CONNECTED_DEBUG 0x6 +#define TUSB320_REG8_ACTIVE_CABLE_DETECTION BIT(0) #define TUSB320_REG9 0x9 #define TUSB320_REG9_ATTACHED_STATE_SHIFT 6 @@ -55,6 +74,10 @@ struct extcon_dev *edev; struct tusb320_ops *ops; enum tusb320_attached_state state; + struct typec_port *port; + struct typec_capability cap; + enum typec_port_type port_type; + enum typec_pwr_opmode pwr_opmode; }; static const char * const tusb_attached_states[] = { @@ -184,19 +207,47 @@ .get_revision = tusb320l_get_revision, }; -static irqreturn_t tusb320_irq_handler(int irq, void *dev_id) +static int tusb320_set_adv_pwr_mode(struct tusb320_priv *priv) { - struct tusb320_priv *priv = dev_id; - int state, polarity; - unsigned reg; + u8 mode; - if (regmap_read(priv->regmap, TUSB320_REG9, ®)) { - dev_err(priv->dev, "error during i2c read!\n"); - return IRQ_NONE; - } + if (priv->pwr_opmode == TYPEC_PWR_MODE_USB) + mode = TUSB320_REG8_CURRENT_MODE_ADVERTISE_USB; + else if (priv->pwr_opmode == TYPEC_PWR_MODE_1_5A) + mode = TUSB320_REG8_CURRENT_MODE_ADVERTISE_15A; + else if (priv->pwr_opmode == TYPEC_PWR_MODE_3_0A) + mode = TUSB320_REG8_CURRENT_MODE_ADVERTISE_30A; + else /* No other mode is supported. */ + return -EINVAL; - if (!(reg & TUSB320_REG9_INTERRUPT_STATUS)) - return IRQ_NONE; + return regmap_write_bits(priv->regmap, TUSB320_REG8, + TUSB320_REG8_CURRENT_MODE_ADVERTISE, + FIELD_PREP(TUSB320_REG8_CURRENT_MODE_ADVERTISE, + mode)); +} + +static int tusb320_port_type_set(struct typec_port *port, + enum typec_port_type type) +{ + struct tusb320_priv *priv = typec_get_drvdata(port); + + if (type == TYPEC_PORT_SRC) + return priv->ops->set_mode(priv, TUSB320_MODE_DFP); + else if (type == TYPEC_PORT_SNK) + return priv->ops->set_mode(priv, TUSB320_MODE_UFP); + else if (type == TYPEC_PORT_DRP) + return priv->ops->set_mode(priv, TUSB320_MODE_DRP); + else + return priv->ops->set_mode(priv, TUSB320_MODE_PORT); +} + +static const struct typec_operations tusb320_typec_ops = { + .port_type_set = tusb320_port_type_set, +}; + +static void tusb320_extcon_irq_handler(struct tusb320_priv *priv, u8 reg) +{ + int state, polarity; state = (reg >> TUSB320_REG9_ATTACHED_STATE_SHIFT) & TUSB320_REG9_ATTACHED_STATE_MASK; @@ -219,19 +270,166 @@ extcon_sync(priv->edev, EXTCON_USB_HOST); priv->state = state; +} + +static void tusb320_typec_irq_handler(struct tusb320_priv *priv, u8 reg9) +{ + struct typec_port *port = priv->port; + struct device *dev = priv->dev; + u8 mode, role, state; + int ret, reg8; + bool ori; + + ori = reg9 & TUSB320_REG9_CABLE_DIRECTION; + typec_set_orientation(port, ori ? TYPEC_ORIENTATION_REVERSE : + TYPEC_ORIENTATION_NORMAL); + + state = (reg9 >> TUSB320_REG9_ATTACHED_STATE_SHIFT) & + TUSB320_REG9_ATTACHED_STATE_MASK; + if (state == TUSB320_ATTACHED_STATE_DFP) + role = TYPEC_SOURCE; + else + role = TYPEC_SINK; + + typec_set_vconn_role(port, role); + typec_set_pwr_role(port, role); + typec_set_data_role(port, role == TYPEC_SOURCE ? + TYPEC_HOST : TYPEC_DEVICE); + + ret = regmap_read(priv->regmap, TUSB320_REG8, ®8); + if (ret) { + dev_err(dev, "error during reg8 i2c read, ret=%d!\n", ret); + return; + } + + mode = FIELD_GET(TUSB320_REG8_CURRENT_MODE_DETECT, reg8); + if (mode == TUSB320_REG8_CURRENT_MODE_DETECT_DEF) + typec_set_pwr_opmode(port, TYPEC_PWR_MODE_USB); + else if (mode == TUSB320_REG8_CURRENT_MODE_DETECT_MED) + typec_set_pwr_opmode(port, TYPEC_PWR_MODE_1_5A); + else if (mode == TUSB320_REG8_CURRENT_MODE_DETECT_HI) + typec_set_pwr_opmode(port, TYPEC_PWR_MODE_3_0A); + else /* Charge through accessory */ + typec_set_pwr_opmode(port, TYPEC_PWR_MODE_USB); +} + +static irqreturn_t tusb320_state_update_handler(struct tusb320_priv *priv, + bool force_update) +{ + unsigned int reg; + + if (regmap_read(priv->regmap, TUSB320_REG9, ®)) { + dev_err(priv->dev, "error during i2c read!\n"); + return IRQ_NONE; + } + + if (!force_update && !(reg & TUSB320_REG9_INTERRUPT_STATUS)) + return IRQ_NONE; + + tusb320_extcon_irq_handler(priv, reg); + + /* + * Type-C support is optional. Only call the Type-C handler if a + * port had been registered previously. + */ + if (priv->port) + tusb320_typec_irq_handler(priv, reg); regmap_write(priv->regmap, TUSB320_REG9, reg); return IRQ_HANDLED; } +static irqreturn_t tusb320_irq_handler(int irq, void *dev_id) +{ + struct tusb320_priv *priv = dev_id; + + return tusb320_state_update_handler(priv, false); +} + static const struct regmap_config tusb320_regmap_config = { .reg_bits = 8, .val_bits = 8, }; -static int tusb320_extcon_probe(struct i2c_client *client, - const struct i2c_device_id *id) +static int tusb320_extcon_probe(struct tusb320_priv *priv) +{ + int ret; + + priv->edev = devm_extcon_dev_allocate(priv->dev, tusb320_extcon_cable); + if (IS_ERR(priv->edev)) { + dev_err(priv->dev, "failed to allocate extcon device\n"); + return PTR_ERR(priv->edev); + } + + ret = devm_extcon_dev_register(priv->dev, priv->edev); + if (ret < 0) { + dev_err(priv->dev, "failed to register extcon device\n"); + return ret; + } + + extcon_set_property_capability(priv->edev, EXTCON_USB, + EXTCON_PROP_USB_TYPEC_POLARITY); + extcon_set_property_capability(priv->edev, EXTCON_USB_HOST, + EXTCON_PROP_USB_TYPEC_POLARITY); + + return 0; +} + +static int tusb320_typec_probe(struct i2c_client *client, + struct tusb320_priv *priv) +{ + struct fwnode_handle *connector; + const char *cap_str; + int ret; + + /* The Type-C connector is optional, for backward compatibility. */ + connector = device_get_named_child_node(&client->dev, "connector"); + if (!connector) + return 0; + + /* Type-C connector found. */ + ret = typec_get_fw_cap(&priv->cap, connector); + if (ret) + return ret; + + priv->port_type = priv->cap.type; + + /* This goes into register 0x8 field CURRENT_MODE_ADVERTISE */ + ret = fwnode_property_read_string(connector, "typec-power-opmode", &cap_str); + if (ret) + return ret; + + ret = typec_find_pwr_opmode(cap_str); + if (ret < 0) + return ret; + if (ret == TYPEC_PWR_MODE_PD) + return -EINVAL; + + priv->pwr_opmode = ret; + + /* Initialize the hardware with the devicetree settings. */ + ret = tusb320_set_adv_pwr_mode(priv); + if (ret) + return ret; + + priv->cap.revision = USB_TYPEC_REV_1_1; + priv->cap.accessory[0] = TYPEC_ACCESSORY_AUDIO; + priv->cap.accessory[1] = TYPEC_ACCESSORY_DEBUG; + priv->cap.orientation_aware = true; + priv->cap.driver_data = priv; + priv->cap.ops = &tusb320_typec_ops; + priv->cap.fwnode = connector; + + priv->port = typec_register_port(&client->dev, &priv->cap); + if (IS_ERR(priv->port)) + return PTR_ERR(priv->port); + + return 0; +} + +static int tusb320_probe(struct i2c_client *client, + const struct i2c_device_id *id) { struct tusb320_priv *priv; const void *match_data; @@ -257,12 +455,6 @@ priv->ops = (struct tusb320_ops*)match_data; - priv->edev = devm_extcon_dev_allocate(priv->dev, tusb320_extcon_cable); - if (IS_ERR(priv->edev)) { - dev_err(priv->dev, "failed to allocate extcon device\n"); - return PTR_ERR(priv->edev); - } - if (priv->ops->get_revision) { ret = priv->ops->get_revision(priv, &revision); if (ret) @@ -272,19 +464,16 @@ dev_info(priv->dev, "chip revision %d\n", revision); } - ret = devm_extcon_dev_register(priv->dev, priv->edev); - if (ret < 0) { - dev_err(priv->dev, "failed to register extcon device\n"); + ret = tusb320_extcon_probe(priv); + if (ret) return ret; - } - extcon_set_property_capability(priv->edev, EXTCON_USB, - EXTCON_PROP_USB_TYPEC_POLARITY); - extcon_set_property_capability(priv->edev, EXTCON_USB_HOST, - EXTCON_PROP_USB_TYPEC_POLARITY); + ret = tusb320_typec_probe(client, priv); + if (ret) + return ret; /* update initial state */ - tusb320_irq_handler(client->irq, priv); + tusb320_state_update_handler(priv, true); /* Reset chip to its default state */ ret = tusb320_reset(priv); @@ -295,7 +484,7 @@ * State and polarity might change after a reset, so update * them again and make sure the interrupt status bit is cleared. */ - tusb320_irq_handler(client->irq, priv); + tusb320_state_update_handler(priv, true); ret = devm_request_threaded_irq(priv->dev, client->irq, NULL, tusb320_irq_handler, @@ -313,7 +502,7 @@ MODULE_DEVICE_TABLE(of, tusb320_extcon_dt_match); static struct i2c_driver tusb320_extcon_driver = { - .probe = tusb320_extcon_probe, + .probe = tusb320_probe, .driver = { .name = "extcon-tusb320", .of_match_table = tusb320_extcon_dt_match, --- linux-gcp-5.19.0.orig/drivers/firewire/core-cdev.c +++ linux-gcp-5.19.0/drivers/firewire/core-cdev.c @@ -819,8 +819,10 @@ r = container_of(resource, struct inbound_transaction_resource, resource); - if (is_fcp_request(r->request)) + if (is_fcp_request(r->request)) { + kfree(r->data); goto out; + } if (a->length != fw_get_response_length(r->request)) { ret = -EINVAL; --- linux-gcp-5.19.0.orig/drivers/firmware/arm_scmi/bus.c +++ linux-gcp-5.19.0/drivers/firmware/arm_scmi/bus.c @@ -216,9 +216,20 @@ device_unregister(&scmi_dev->dev); } +void scmi_device_link_add(struct device *consumer, struct device *supplier) +{ + struct device_link *link; + + link = device_link_add(consumer, supplier, DL_FLAG_AUTOREMOVE_CONSUMER); + + WARN_ON(!link); +} + void scmi_set_handle(struct scmi_device *scmi_dev) { scmi_dev->handle = scmi_handle_get(&scmi_dev->dev); + if (scmi_dev->handle) + scmi_device_link_add(&scmi_dev->dev, scmi_dev->handle->dev); } int scmi_protocol_register(const struct scmi_protocol *proto) --- linux-gcp-5.19.0.orig/drivers/firmware/arm_scmi/clock.c +++ linux-gcp-5.19.0/drivers/firmware/arm_scmi/clock.c @@ -450,9 +450,13 @@ static const struct scmi_clock_info * scmi_clock_info_get(const struct scmi_protocol_handle *ph, u32 clk_id) { + struct scmi_clock_info *clk; struct clock_info *ci = ph->get_priv(ph); - struct scmi_clock_info *clk = ci->clk + clk_id; + if (clk_id >= ci->num_clocks) + return NULL; + + clk = ci->clk + clk_id; if (!clk->name[0]) return NULL; --- linux-gcp-5.19.0.orig/drivers/firmware/arm_scmi/common.h +++ linux-gcp-5.19.0/drivers/firmware/arm_scmi/common.h @@ -97,6 +97,7 @@ struct scmi_revision_info * scmi_revision_area_get(const struct scmi_protocol_handle *ph); int scmi_handle_put(const struct scmi_handle *handle); +void scmi_device_link_add(struct device *consumer, struct device *supplier); struct scmi_handle *scmi_handle_get(struct device *dev); void scmi_set_handle(struct scmi_device *scmi_dev); void scmi_setup_protocol_implemented(const struct scmi_protocol_handle *ph, @@ -117,6 +118,7 @@ * * @dev: Reference to device in the SCMI hierarchy corresponding to this * channel + * @rx_timeout_ms: The configured RX timeout in milliseconds. * @handle: Pointer to SCMI entity handle * @no_completion_irq: Flag to indicate that this channel has no completion * interrupt mechanism for synchronous commands. @@ -126,6 +128,7 @@ */ struct scmi_chan_info { struct device *dev; + unsigned int rx_timeout_ms; struct scmi_handle *handle; bool no_completion_irq; void *transport_info; @@ -232,7 +235,7 @@ struct scmi_shared_mem; void shmem_tx_prepare(struct scmi_shared_mem __iomem *shmem, - struct scmi_xfer *xfer); + struct scmi_xfer *xfer, struct scmi_chan_info *cinfo); u32 shmem_read_header(struct scmi_shared_mem __iomem *shmem); void shmem_fetch_response(struct scmi_shared_mem __iomem *shmem, struct scmi_xfer *xfer); --- linux-gcp-5.19.0.orig/drivers/firmware/arm_scmi/driver.c +++ linux-gcp-5.19.0/drivers/firmware/arm_scmi/driver.c @@ -887,6 +887,8 @@ xfer->hdr.protocol_id, xfer->hdr.seq, xfer->hdr.poll_completion); + /* Clear any stale status */ + xfer->hdr.status = SCMI_SUCCESS; xfer->state = SCMI_XFER_SENT_OK; /* * Even though spinlocking is not needed here since no race is possible @@ -1783,6 +1785,7 @@ return -ENOMEM; cinfo->dev = dev; + cinfo->rx_timeout_ms = info->desc->max_rx_timeout_ms; ret = info->desc->ops->chan_setup(cinfo, info->dev, tx); if (ret) @@ -1814,8 +1817,12 @@ { int ret = scmi_chan_setup(info, dev, prot_id, true); - if (!ret) /* Rx is optional, hence no error check */ - scmi_chan_setup(info, dev, prot_id, false); + if (!ret) { + /* Rx is optional, report only memory errors */ + ret = scmi_chan_setup(info, dev, prot_id, false); + if (ret && ret != -ENOMEM) + ret = 0; + } return ret; } @@ -2025,10 +2032,16 @@ sdev = scmi_get_protocol_device(child, info, id_table->protocol_id, id_table->name); - /* Set handle if not already set: device existed */ - if (sdev && !sdev->handle) - sdev->handle = - scmi_handle_get_from_info_unlocked(info); + if (sdev) { + /* Set handle if not already set: device existed */ + if (!sdev->handle) + sdev->handle = + scmi_handle_get_from_info_unlocked(info); + /* Relink consumer and suppliers */ + if (sdev->handle) + scmi_device_link_add(&sdev->dev, + sdev->handle->dev); + } } else { dev_err(info->dev, "Failed. SCMI protocol %d not active.\n", @@ -2226,20 +2239,17 @@ static int scmi_remove(struct platform_device *pdev) { - int ret = 0, id; + int ret, id; struct scmi_info *info = platform_get_drvdata(pdev); struct device_node *child; mutex_lock(&scmi_list_mutex); if (info->users) - ret = -EBUSY; - else - list_del(&info->node); + dev_warn(&pdev->dev, + "Still active SCMI users will be forcibly unbound.\n"); + list_del(&info->node); mutex_unlock(&scmi_list_mutex); - if (ret) - return ret; - scmi_notification_exit(&info->handle); mutex_lock(&info->protocols_mtx); @@ -2251,7 +2261,11 @@ idr_destroy(&info->active_protocols); /* Safe to free channels since no more users */ - return scmi_cleanup_txrx_channels(info); + ret = scmi_cleanup_txrx_channels(info); + if (ret) + dev_warn(&pdev->dev, "Failed to cleanup SCMI channels.\n"); + + return 0; } static ssize_t protocol_version_show(struct device *dev, @@ -2322,6 +2336,7 @@ static struct platform_driver scmi_driver = { .driver = { .name = "arm-scmi", + .suppress_bind_attrs = true, .of_match_table = scmi_of_match, .dev_groups = versions_groups, }, --- linux-gcp-5.19.0.orig/drivers/firmware/arm_scmi/mailbox.c +++ linux-gcp-5.19.0/drivers/firmware/arm_scmi/mailbox.c @@ -36,7 +36,7 @@ { struct scmi_mailbox *smbox = client_to_scmi_mailbox(cl); - shmem_tx_prepare(smbox->shmem, m); + shmem_tx_prepare(smbox->shmem, m, smbox->cinfo); } static void rx_callback(struct mbox_client *cl, void *m) --- linux-gcp-5.19.0.orig/drivers/firmware/arm_scmi/optee.c +++ linux-gcp-5.19.0/drivers/firmware/arm_scmi/optee.c @@ -497,7 +497,7 @@ msg_tx_prepare(channel->req.msg, xfer); ret = invoke_process_msg_channel(channel, msg_command_size(xfer)); } else { - shmem_tx_prepare(channel->req.shmem, xfer); + shmem_tx_prepare(channel->req.shmem, xfer, cinfo); ret = invoke_process_smt_channel(channel); } --- linux-gcp-5.19.0.orig/drivers/firmware/arm_scmi/reset.c +++ linux-gcp-5.19.0/drivers/firmware/arm_scmi/reset.c @@ -166,9 +166,13 @@ struct scmi_xfer *t; struct scmi_msg_reset_domain_reset *dom; struct scmi_reset_info *pi = ph->get_priv(ph); - struct reset_dom_info *rdom = pi->dom_info + domain; + struct reset_dom_info *rdom; - if (rdom->async_reset) + if (domain >= pi->num_domains) + return -EINVAL; + + rdom = pi->dom_info + domain; + if (rdom->async_reset && flags & AUTONOMOUS_RESET) flags |= ASYNCHRONOUS_RESET; ret = ph->xops->xfer_get_init(ph, RESET, sizeof(*dom), 0, &t); @@ -180,7 +184,7 @@ dom->flags = cpu_to_le32(flags); dom->reset_state = cpu_to_le32(state); - if (rdom->async_reset) + if (flags & ASYNCHRONOUS_RESET) ret = ph->xops->do_xfer_with_response(ph, t); else ret = ph->xops->do_xfer(ph, t); --- linux-gcp-5.19.0.orig/drivers/firmware/arm_scmi/scmi_pm_domain.c +++ linux-gcp-5.19.0/drivers/firmware/arm_scmi/scmi_pm_domain.c @@ -8,7 +8,6 @@ #include #include #include -#include #include #include @@ -53,27 +52,6 @@ return scmi_pd_power(domain, false); } -static int scmi_pd_attach_dev(struct generic_pm_domain *pd, struct device *dev) -{ - int ret; - - ret = pm_clk_create(dev); - if (ret) - return ret; - - ret = of_pm_clk_add_clks(dev); - if (ret >= 0) - return 0; - - pm_clk_destroy(dev); - return ret; -} - -static void scmi_pd_detach_dev(struct generic_pm_domain *pd, struct device *dev) -{ - pm_clk_destroy(dev); -} - static int scmi_pm_domain_probe(struct scmi_device *sdev) { int num_domains, i; @@ -124,10 +102,6 @@ scmi_pd->genpd.name = scmi_pd->name; scmi_pd->genpd.power_off = scmi_pd_power_off; scmi_pd->genpd.power_on = scmi_pd_power_on; - scmi_pd->genpd.attach_dev = scmi_pd_attach_dev; - scmi_pd->genpd.detach_dev = scmi_pd_detach_dev; - scmi_pd->genpd.flags = GENPD_FLAG_PM_CLK | - GENPD_FLAG_ACTIVE_WAKEUP; pm_genpd_init(&scmi_pd->genpd, NULL, state == SCMI_POWER_STATE_GENERIC_OFF); @@ -138,9 +112,28 @@ scmi_pd_data->domains = domains; scmi_pd_data->num_domains = num_domains; + dev_set_drvdata(dev, scmi_pd_data); + return of_genpd_add_provider_onecell(np, scmi_pd_data); } +static void scmi_pm_domain_remove(struct scmi_device *sdev) +{ + int i; + struct genpd_onecell_data *scmi_pd_data; + struct device *dev = &sdev->dev; + struct device_node *np = dev->of_node; + + of_genpd_del_provider(np); + + scmi_pd_data = dev_get_drvdata(dev); + for (i = 0; i < scmi_pd_data->num_domains; i++) { + if (!scmi_pd_data->domains[i]) + continue; + pm_genpd_remove(scmi_pd_data->domains[i]); + } +} + static const struct scmi_device_id scmi_id_table[] = { { SCMI_PROTOCOL_POWER, "genpd" }, { }, @@ -150,6 +143,7 @@ static struct scmi_driver scmi_power_domain_driver = { .name = "scmi-power-domain", .probe = scmi_pm_domain_probe, + .remove = scmi_pm_domain_remove, .id_table = scmi_id_table, }; module_scmi_driver(scmi_power_domain_driver); --- linux-gcp-5.19.0.orig/drivers/firmware/arm_scmi/sensors.c +++ linux-gcp-5.19.0/drivers/firmware/arm_scmi/sensors.c @@ -762,6 +762,10 @@ { int ret; struct scmi_xfer *t; + struct sensors_info *si = ph->get_priv(ph); + + if (sensor_id >= si->num_sensors) + return -EINVAL; ret = ph->xops->xfer_get_init(ph, SENSOR_CONFIG_GET, sizeof(__le32), sizeof(__le32), &t); @@ -771,7 +775,6 @@ put_unaligned_le32(sensor_id, t->tx.buf); ret = ph->xops->do_xfer(ph, t); if (!ret) { - struct sensors_info *si = ph->get_priv(ph); struct scmi_sensor_info *s = si->sensors + sensor_id; *sensor_config = get_unaligned_le64(t->rx.buf); @@ -788,6 +791,10 @@ int ret; struct scmi_xfer *t; struct scmi_msg_sensor_config_set *msg; + struct sensors_info *si = ph->get_priv(ph); + + if (sensor_id >= si->num_sensors) + return -EINVAL; ret = ph->xops->xfer_get_init(ph, SENSOR_CONFIG_SET, sizeof(*msg), 0, &t); @@ -800,7 +807,6 @@ ret = ph->xops->do_xfer(ph, t); if (!ret) { - struct sensors_info *si = ph->get_priv(ph); struct scmi_sensor_info *s = si->sensors + sensor_id; s->sensor_config = sensor_config; @@ -831,8 +837,11 @@ int ret; struct scmi_xfer *t; struct scmi_msg_sensor_reading_get *sensor; + struct scmi_sensor_info *s; struct sensors_info *si = ph->get_priv(ph); - struct scmi_sensor_info *s = si->sensors + sensor_id; + + if (sensor_id >= si->num_sensors) + return -EINVAL; ret = ph->xops->xfer_get_init(ph, SENSOR_READING_GET, sizeof(*sensor), 0, &t); @@ -841,6 +850,7 @@ sensor = t->tx.buf; sensor->id = cpu_to_le32(sensor_id); + s = si->sensors + sensor_id; if (s->async) { sensor->flags = cpu_to_le32(SENSOR_READ_ASYNC); ret = ph->xops->do_xfer_with_response(ph, t); @@ -895,9 +905,13 @@ int ret; struct scmi_xfer *t; struct scmi_msg_sensor_reading_get *sensor; + struct scmi_sensor_info *s; struct sensors_info *si = ph->get_priv(ph); - struct scmi_sensor_info *s = si->sensors + sensor_id; + if (sensor_id >= si->num_sensors) + return -EINVAL; + + s = si->sensors + sensor_id; if (!count || !readings || (!s->num_axis && count > 1) || (s->num_axis && count > s->num_axis)) return -EINVAL; @@ -948,6 +962,9 @@ { struct sensors_info *si = ph->get_priv(ph); + if (sensor_id >= si->num_sensors) + return NULL; + return si->sensors + sensor_id; } --- linux-gcp-5.19.0.orig/drivers/firmware/arm_scmi/shmem.c +++ linux-gcp-5.19.0/drivers/firmware/arm_scmi/shmem.c @@ -5,10 +5,13 @@ * Copyright (C) 2019 ARM Ltd. */ +#include #include #include #include +#include + #include "common.h" /* @@ -30,16 +33,36 @@ }; void shmem_tx_prepare(struct scmi_shared_mem __iomem *shmem, - struct scmi_xfer *xfer) + struct scmi_xfer *xfer, struct scmi_chan_info *cinfo) { + ktime_t stop; + /* * Ideally channel must be free by now unless OS timeout last * request and platform continued to process the same, wait * until it releases the shared memory, otherwise we may endup - * overwriting its response with new message payload or vice-versa + * overwriting its response with new message payload or vice-versa. + * Giving up anyway after twice the expected channel timeout so as + * not to bail-out on intermittent issues where the platform is + * occasionally a bit slower to answer. + * + * Note that after a timeout is detected we bail-out and carry on but + * the transport functionality is probably permanently compromised: + * this is just to ease debugging and avoid complete hangs on boot + * due to a misbehaving SCMI firmware. */ - spin_until_cond(ioread32(&shmem->channel_status) & - SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE); + stop = ktime_add_ms(ktime_get(), 2 * cinfo->rx_timeout_ms); + spin_until_cond((ioread32(&shmem->channel_status) & + SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE) || + ktime_after(ktime_get(), stop)); + if (!(ioread32(&shmem->channel_status) & + SCMI_SHMEM_CHAN_STAT_CHANNEL_FREE)) { + WARN_ON_ONCE(1); + dev_err(cinfo->dev, + "Timeout waiting for a free TX channel !\n"); + return; + } + /* Mark channel busy + clear error */ iowrite32(0x0, &shmem->channel_status); iowrite32(xfer->hdr.poll_completion ? 0 : SCMI_SHMEM_FLAG_INTR_ENABLED, @@ -58,10 +81,11 @@ void shmem_fetch_response(struct scmi_shared_mem __iomem *shmem, struct scmi_xfer *xfer) { + size_t len = ioread32(&shmem->length); + xfer->hdr.status = ioread32(shmem->msg_payload); /* Skip the length of header and status in shmem area i.e 8 bytes */ - xfer->rx.len = min_t(size_t, xfer->rx.len, - ioread32(&shmem->length) - 8); + xfer->rx.len = min_t(size_t, xfer->rx.len, len > 8 ? len - 8 : 0); /* Take a copy to the rx buffer.. */ memcpy_fromio(xfer->rx.buf, shmem->msg_payload + 4, xfer->rx.len); @@ -70,8 +94,10 @@ void shmem_fetch_notification(struct scmi_shared_mem __iomem *shmem, size_t max_len, struct scmi_xfer *xfer) { + size_t len = ioread32(&shmem->length); + /* Skip only the length of header in shmem area i.e 4 bytes */ - xfer->rx.len = min_t(size_t, max_len, ioread32(&shmem->length) - 4); + xfer->rx.len = min_t(size_t, max_len, len > 4 ? len - 4 : 0); /* Take a copy to the rx buffer.. */ memcpy_fromio(xfer->rx.buf, shmem->msg_payload, xfer->rx.len); --- linux-gcp-5.19.0.orig/drivers/firmware/arm_scmi/smc.c +++ linux-gcp-5.19.0/drivers/firmware/arm_scmi/smc.c @@ -188,7 +188,7 @@ */ smc_channel_lock_acquire(scmi_info, xfer); - shmem_tx_prepare(scmi_info->shmem, xfer); + shmem_tx_prepare(scmi_info->shmem, xfer, cinfo); arm_smccc_1_1_invoke(scmi_info->func_id, 0, 0, 0, 0, 0, 0, 0, &res); --- linux-gcp-5.19.0.orig/drivers/firmware/arm_scmi/virtio.c +++ linux-gcp-5.19.0/drivers/firmware/arm_scmi/virtio.c @@ -148,7 +148,6 @@ { unsigned long flags; DECLARE_COMPLETION_ONSTACK(vioch_shutdown_done); - void *deferred_wq = NULL; /* * Prepare to wait for the last release if not already released @@ -161,17 +160,11 @@ } vioch->shutdown_done = &vioch_shutdown_done; - virtio_break_device(vioch->vqueue->vdev); - if (!vioch->is_rx && vioch->deferred_tx_wq) { - deferred_wq = vioch->deferred_tx_wq; + if (!vioch->is_rx && vioch->deferred_tx_wq) /* Cannot be kicked anymore after this...*/ vioch->deferred_tx_wq = NULL; - } spin_unlock_irqrestore(&vioch->lock, flags); - if (deferred_wq) - destroy_workqueue(deferred_wq); - scmi_vio_channel_release(vioch); /* Let any possibly concurrent RX path release the channel */ @@ -416,6 +409,11 @@ return vioch && !vioch->cinfo; } +static void scmi_destroy_tx_workqueue(void *deferred_tx_wq) +{ + destroy_workqueue(deferred_tx_wq); +} + static int virtio_chan_setup(struct scmi_chan_info *cinfo, struct device *dev, bool tx) { @@ -430,6 +428,8 @@ /* Setup a deferred worker for polling. */ if (tx && !vioch->deferred_tx_wq) { + int ret; + vioch->deferred_tx_wq = alloc_workqueue(dev_name(&scmi_vdev->dev), WQ_UNBOUND | WQ_FREEZABLE | WQ_SYSFS, @@ -437,6 +437,11 @@ if (!vioch->deferred_tx_wq) return -ENOMEM; + ret = devm_add_action_or_reset(dev, scmi_destroy_tx_workqueue, + vioch->deferred_tx_wq); + if (ret) + return ret; + INIT_WORK(&vioch->deferred_tx_work, scmi_vio_deferred_tx_worker); } @@ -444,12 +449,12 @@ for (i = 0; i < vioch->max_msg; i++) { struct scmi_vio_msg *msg; - msg = devm_kzalloc(cinfo->dev, sizeof(*msg), GFP_KERNEL); + msg = devm_kzalloc(dev, sizeof(*msg), GFP_KERNEL); if (!msg) return -ENOMEM; if (tx) { - msg->request = devm_kzalloc(cinfo->dev, + msg->request = devm_kzalloc(dev, VIRTIO_SCMI_MAX_PDU_SIZE, GFP_KERNEL); if (!msg->request) @@ -458,7 +463,7 @@ refcount_set(&msg->users, 1); } - msg->input = devm_kzalloc(cinfo->dev, VIRTIO_SCMI_MAX_PDU_SIZE, + msg->input = devm_kzalloc(dev, VIRTIO_SCMI_MAX_PDU_SIZE, GFP_KERNEL); if (!msg->input) return -ENOMEM; @@ -476,6 +481,12 @@ struct scmi_chan_info *cinfo = p; struct scmi_vio_channel *vioch = cinfo->transport_info; + /* + * Break device to inhibit further traffic flowing while shutting down + * the channels: doing it later holding vioch->lock creates unsafe + * locking dependency chains as reported by LOCKDEP. + */ + virtio_break_device(vioch->vqueue->vdev); scmi_vio_channel_cleanup_sync(vioch); scmi_free_channel(cinfo, data, id); --- linux-gcp-5.19.0.orig/drivers/firmware/arm_scpi.c +++ linux-gcp-5.19.0/drivers/firmware/arm_scpi.c @@ -815,7 +815,7 @@ info->firmware_version = le32_to_cpu(caps.platform_version); } /* Ignore error if not implemented */ - if (scpi_info->is_legacy && ret == -EOPNOTSUPP) + if (info->is_legacy && ret == -EOPNOTSUPP) return 0; return ret; @@ -913,13 +913,14 @@ struct resource res; struct device *dev = &pdev->dev; struct device_node *np = dev->of_node; + struct scpi_drvinfo *scpi_drvinfo; - scpi_info = devm_kzalloc(dev, sizeof(*scpi_info), GFP_KERNEL); - if (!scpi_info) + scpi_drvinfo = devm_kzalloc(dev, sizeof(*scpi_drvinfo), GFP_KERNEL); + if (!scpi_drvinfo) return -ENOMEM; if (of_match_device(legacy_scpi_of_match, &pdev->dev)) - scpi_info->is_legacy = true; + scpi_drvinfo->is_legacy = true; count = of_count_phandle_with_args(np, "mboxes", "#mbox-cells"); if (count < 0) { @@ -927,19 +928,19 @@ return -ENODEV; } - scpi_info->channels = devm_kcalloc(dev, count, sizeof(struct scpi_chan), - GFP_KERNEL); - if (!scpi_info->channels) + scpi_drvinfo->channels = + devm_kcalloc(dev, count, sizeof(struct scpi_chan), GFP_KERNEL); + if (!scpi_drvinfo->channels) return -ENOMEM; - ret = devm_add_action(dev, scpi_free_channels, scpi_info); + ret = devm_add_action(dev, scpi_free_channels, scpi_drvinfo); if (ret) return ret; - for (; scpi_info->num_chans < count; scpi_info->num_chans++) { + for (; scpi_drvinfo->num_chans < count; scpi_drvinfo->num_chans++) { resource_size_t size; - int idx = scpi_info->num_chans; - struct scpi_chan *pchan = scpi_info->channels + idx; + int idx = scpi_drvinfo->num_chans; + struct scpi_chan *pchan = scpi_drvinfo->channels + idx; struct mbox_client *cl = &pchan->cl; struct device_node *shmem = of_parse_phandle(np, "shmem", idx); @@ -986,45 +987,53 @@ return ret; } - scpi_info->commands = scpi_std_commands; + scpi_drvinfo->commands = scpi_std_commands; - platform_set_drvdata(pdev, scpi_info); + platform_set_drvdata(pdev, scpi_drvinfo); - if (scpi_info->is_legacy) { + if (scpi_drvinfo->is_legacy) { /* Replace with legacy variants */ scpi_ops.clk_set_val = legacy_scpi_clk_set_val; - scpi_info->commands = scpi_legacy_commands; + scpi_drvinfo->commands = scpi_legacy_commands; /* Fill priority bitmap */ for (idx = 0; idx < ARRAY_SIZE(legacy_hpriority_cmds); idx++) set_bit(legacy_hpriority_cmds[idx], - scpi_info->cmd_priority); + scpi_drvinfo->cmd_priority); } - ret = scpi_init_versions(scpi_info); + scpi_info = scpi_drvinfo; + + ret = scpi_init_versions(scpi_drvinfo); if (ret) { dev_err(dev, "incorrect or no SCP firmware found\n"); + scpi_info = NULL; return ret; } - if (scpi_info->is_legacy && !scpi_info->protocol_version && - !scpi_info->firmware_version) + if (scpi_drvinfo->is_legacy && !scpi_drvinfo->protocol_version && + !scpi_drvinfo->firmware_version) dev_info(dev, "SCP Protocol legacy pre-1.0 firmware\n"); else dev_info(dev, "SCP Protocol %lu.%lu Firmware %lu.%lu.%lu version\n", FIELD_GET(PROTO_REV_MAJOR_MASK, - scpi_info->protocol_version), + scpi_drvinfo->protocol_version), FIELD_GET(PROTO_REV_MINOR_MASK, - scpi_info->protocol_version), + scpi_drvinfo->protocol_version), FIELD_GET(FW_REV_MAJOR_MASK, - scpi_info->firmware_version), + scpi_drvinfo->firmware_version), FIELD_GET(FW_REV_MINOR_MASK, - scpi_info->firmware_version), + scpi_drvinfo->firmware_version), FIELD_GET(FW_REV_PATCH_MASK, - scpi_info->firmware_version)); - scpi_info->scpi_ops = &scpi_ops; + scpi_drvinfo->firmware_version)); + + scpi_drvinfo->scpi_ops = &scpi_ops; - return devm_of_platform_populate(dev); + ret = devm_of_platform_populate(dev); + if (ret) + scpi_info = NULL; + + return ret; } static const struct of_device_id scpi_of_match[] = { --- linux-gcp-5.19.0.orig/drivers/firmware/dmi-sysfs.c +++ linux-gcp-5.19.0/drivers/firmware/dmi-sysfs.c @@ -603,16 +603,16 @@ *ret = kobject_init_and_add(&entry->kobj, &dmi_sysfs_entry_ktype, NULL, "%d-%d", dh->type, entry->instance); - if (*ret) { - kobject_put(&entry->kobj); - return; - } - /* Thread on the global list for cleanup */ spin_lock(&entry_list_lock); list_add_tail(&entry->list, &entry_list); spin_unlock(&entry_list_lock); + if (*ret) { + kobject_put(&entry->kobj); + return; + } + /* Handle specializations by type */ switch (dh->type) { case DMI_ENTRY_SYSTEM_EVENT_LOG: --- linux-gcp-5.19.0.orig/drivers/firmware/efi/Makefile +++ linux-gcp-5.19.0/drivers/firmware/efi/Makefile @@ -28,6 +28,7 @@ obj-$(CONFIG_EFI_BOOTLOADER_CONTROL) += efibc.o obj-$(CONFIG_EFI_TEST) += test/ obj-$(CONFIG_EFI_DEV_PATH_PARSER) += dev-path-parser.o +obj-$(CONFIG_EFI) += secureboot.o obj-$(CONFIG_APPLE_PROPERTIES) += apple-properties.o obj-$(CONFIG_EFI_RCI2_TABLE) += rci2-table.o obj-$(CONFIG_EFI_EMBEDDED_FIRMWARE) += embedded-firmware.o --- linux-gcp-5.19.0.orig/drivers/firmware/efi/capsule-loader.c +++ linux-gcp-5.19.0/drivers/firmware/efi/capsule-loader.c @@ -243,29 +243,6 @@ } /** - * efi_capsule_flush - called by file close or file flush - * @file: file pointer - * @id: not used - * - * If a capsule is being partially uploaded then calling this function - * will be treated as upload termination and will free those completed - * buffer pages and -ECANCELED will be returned. - **/ -static int efi_capsule_flush(struct file *file, fl_owner_t id) -{ - int ret = 0; - struct capsule_info *cap_info = file->private_data; - - if (cap_info->index > 0) { - pr_err("capsule upload not complete\n"); - efi_free_all_buff_pages(cap_info); - ret = -ECANCELED; - } - - return ret; -} - -/** * efi_capsule_release - called by file close * @inode: not used * @file: file pointer @@ -277,6 +254,13 @@ { struct capsule_info *cap_info = file->private_data; + if (cap_info->index > 0 && + (cap_info->header.headersize == 0 || + cap_info->count < cap_info->total_size)) { + pr_err("capsule upload not complete\n"); + efi_free_all_buff_pages(cap_info); + } + kfree(cap_info->pages); kfree(cap_info->phys); kfree(file->private_data); @@ -324,7 +308,6 @@ .owner = THIS_MODULE, .open = efi_capsule_open, .write = efi_capsule_write, - .flush = efi_capsule_flush, .release = efi_capsule_release, .llseek = no_llseek, }; --- linux-gcp-5.19.0.orig/drivers/firmware/efi/efi-init.c +++ linux-gcp-5.19.0/drivers/firmware/efi/efi-init.c @@ -19,6 +19,7 @@ #include #include #include +#include #include @@ -234,6 +235,13 @@ return; } + efi_set_secure_boot(efi_get__secure_boot()); + +#ifdef CONFIG_LOCK_DOWN_IN_SECURE_BOOT + if (efi_enabled(EFI_SECURE_BOOT)) + security_lock_kernel_down("EFI Secure Boot mode", LOCKDOWN_INTEGRITY_MAX); +#endif + reserve_regions(); /* * For memblock manipulation, the cap should come after the memblock_add(). --- linux-gcp-5.19.0.orig/drivers/firmware/efi/efi.c +++ linux-gcp-5.19.0/drivers/firmware/efi/efi.c @@ -31,6 +31,7 @@ #include #include #include +#include #include @@ -391,8 +392,8 @@ efi_kobj = kobject_create_and_add("efi", firmware_kobj); if (!efi_kobj) { pr_err("efi: Firmware registration failed.\n"); - destroy_workqueue(efi_rts_wq); - return -ENOMEM; + error = -ENOMEM; + goto err_destroy_wq; } if (efi_rt_services_supported(EFI_RT_SUPPORTED_GET_VARIABLE | @@ -440,7 +441,10 @@ generic_ops_unregister(); err_put: kobject_put(efi_kobj); - destroy_workqueue(efi_rts_wq); +err_destroy_wq: + if (efi_rts_wq) + destroy_workqueue(efi_rts_wq); + return error; } @@ -604,7 +608,7 @@ seed = early_memremap(efi_rng_seed, sizeof(*seed)); if (seed != NULL) { - size = READ_ONCE(seed->size); + size = min_t(u32, seed->size, SZ_1K); // sanity check early_memunmap(seed, sizeof(*seed)); } else { pr_err("Could not map UEFI random seed!\n"); @@ -613,8 +617,8 @@ seed = early_memremap(efi_rng_seed, sizeof(*seed) + size); if (seed != NULL) { - pr_notice("seeding entropy pool\n"); add_bootloader_randomness(seed->bits, size); + memzero_explicit(seed->bits, size); early_memunmap(seed, sizeof(*seed) + size); } else { pr_err("Could not map UEFI random seed!\n"); @@ -862,40 +866,101 @@ } #endif +struct efi_error_code { + efi_status_t status; + int errno; + const char *description; +}; + +static const struct efi_error_code efi_error_codes[] = { + { EFI_SUCCESS, 0, "Success"}, +#if 0 + { EFI_LOAD_ERROR, -EPICK_AN_ERRNO, "Load Error"}, +#endif + { EFI_INVALID_PARAMETER, -EINVAL, "Invalid Parameter"}, + { EFI_UNSUPPORTED, -ENOSYS, "Unsupported"}, + { EFI_BAD_BUFFER_SIZE, -ENOSPC, "Bad Buffer Size"}, + { EFI_BUFFER_TOO_SMALL, -ENOSPC, "Buffer Too Small"}, + { EFI_NOT_READY, -EAGAIN, "Not Ready"}, + { EFI_DEVICE_ERROR, -EIO, "Device Error"}, + { EFI_WRITE_PROTECTED, -EROFS, "Write Protected"}, + { EFI_OUT_OF_RESOURCES, -ENOMEM, "Out of Resources"}, +#if 0 + { EFI_VOLUME_CORRUPTED, -EPICK_AN_ERRNO, "Volume Corrupt"}, + { EFI_VOLUME_FULL, -EPICK_AN_ERRNO, "Volume Full"}, + { EFI_NO_MEDIA, -EPICK_AN_ERRNO, "No Media"}, + { EFI_MEDIA_CHANGED, -EPICK_AN_ERRNO, "Media changed"}, +#endif + { EFI_NOT_FOUND, -ENOENT, "Not Found"}, +#if 0 + { EFI_ACCESS_DENIED, -EPICK_AN_ERRNO, "Access Denied"}, + { EFI_NO_RESPONSE, -EPICK_AN_ERRNO, "No Response"}, + { EFI_NO_MAPPING, -EPICK_AN_ERRNO, "No mapping"}, + { EFI_TIMEOUT, -EPICK_AN_ERRNO, "Time out"}, + { EFI_NOT_STARTED, -EPICK_AN_ERRNO, "Not started"}, + { EFI_ALREADY_STARTED, -EPICK_AN_ERRNO, "Already started"}, +#endif + { EFI_ABORTED, -EINTR, "Aborted"}, +#if 0 + { EFI_ICMP_ERROR, -EPICK_AN_ERRNO, "ICMP Error"}, + { EFI_TFTP_ERROR, -EPICK_AN_ERRNO, "TFTP Error"}, + { EFI_PROTOCOL_ERROR, -EPICK_AN_ERRNO, "Protocol Error"}, + { EFI_INCOMPATIBLE_VERSION, -EPICK_AN_ERRNO, "Incompatible Version"}, +#endif + { EFI_SECURITY_VIOLATION, -EACCES, "Security Policy Violation"}, +#if 0 + { EFI_CRC_ERROR, -EPICK_AN_ERRNO, "CRC Error"}, + { EFI_END_OF_MEDIA, -EPICK_AN_ERRNO, "End of Media"}, + { EFI_END_OF_FILE, -EPICK_AN_ERRNO, "End of File"}, + { EFI_INVALID_LANGUAGE, -EPICK_AN_ERRNO, "Invalid Languages"}, + { EFI_COMPROMISED_DATA, -EPICK_AN_ERRNO, "Compromised Data"}, + + // warnings + { EFI_WARN_UNKOWN_GLYPH, -EPICK_AN_ERRNO, "Warning Unknown Glyph"}, + { EFI_WARN_DELETE_FAILURE, -EPICK_AN_ERRNO, "Warning Delete Failure"}, + { EFI_WARN_WRITE_FAILURE, -EPICK_AN_ERRNO, "Warning Write Failure"}, + { EFI_WARN_BUFFER_TOO_SMALL, -EPICK_AN_ERRNO, "Warning Buffer Too Small"}, +#endif +}; + +static int +efi_status_cmp_bsearch(const void *key, const void *item) +{ + u64 status = (u64)(uintptr_t)key; + struct efi_error_code *code = (struct efi_error_code *)item; + + if (status < code->status) + return -1; + if (status > code->status) + return 1; + return 0; +} + int efi_status_to_err(efi_status_t status) { - int err; + struct efi_error_code *found; + size_t num = sizeof(efi_error_codes) / sizeof(struct efi_error_code); - switch (status) { - case EFI_SUCCESS: - err = 0; - break; - case EFI_INVALID_PARAMETER: - err = -EINVAL; - break; - case EFI_OUT_OF_RESOURCES: - err = -ENOSPC; - break; - case EFI_DEVICE_ERROR: - err = -EIO; - break; - case EFI_WRITE_PROTECTED: - err = -EROFS; - break; - case EFI_SECURITY_VIOLATION: - err = -EACCES; - break; - case EFI_NOT_FOUND: - err = -ENOENT; - break; - case EFI_ABORTED: - err = -EINTR; - break; - default: - err = -EINVAL; - } + found = bsearch((void *)(uintptr_t)status, efi_error_codes, + sizeof(struct efi_error_code), num, + efi_status_cmp_bsearch); + if (!found) + return -EINVAL; + return found->errno; +} + +const char * +efi_status_to_str(efi_status_t status) +{ + struct efi_error_code *found; + size_t num = sizeof(efi_error_codes) / sizeof(struct efi_error_code); - return err; + found = bsearch((void *)(uintptr_t)status, efi_error_codes, + sizeof(struct efi_error_code), num, + efi_status_cmp_bsearch); + if (!found) + return "Unknown error code"; + return found->description; } static DEFINE_SPINLOCK(efi_mem_reserve_persistent_lock); @@ -961,6 +1026,8 @@ /* first try to find a slot in an existing linked list entry */ for (prsv = efi_memreserve_root->next; prsv; ) { rsv = memremap(prsv, sizeof(*rsv), MEMREMAP_WB); + if (!rsv) + return -ENOMEM; index = atomic_fetch_add_unless(&rsv->count, 1, rsv->size); if (index < rsv->size) { rsv->entry[index].base = addr; --- linux-gcp-5.19.0.orig/drivers/firmware/efi/fdtparams.c +++ linux-gcp-5.19.0/drivers/firmware/efi/fdtparams.c @@ -16,16 +16,24 @@ MMSIZE, DCSIZE, DCVERS, + SCBOOT, PARAMCOUNT }; +static u32 __secure_boot __initdata = efi_secureboot_mode_unset; +u32 __init efi_get__secure_boot(void) +{ + return __secure_boot; +} + static __initconst const char name[][22] = { [SYSTAB] = "System Table ", [MMBASE] = "MemMap Address ", [MMSIZE] = "MemMap Size ", [DCSIZE] = "MemMap Desc. Size ", [DCVERS] = "MemMap Desc. Version ", + [SCBOOT] = "Secure Boot Enabled ", }; static __initconst const struct { @@ -51,6 +59,7 @@ [MMSIZE] = "linux,uefi-mmap-size", [DCSIZE] = "linux,uefi-mmap-desc-size", [DCVERS] = "linux,uefi-mmap-desc-ver", + [SCBOOT] = "linux,uefi-secure-boot", } } }; @@ -93,6 +102,7 @@ [MMSIZE] = { &mm->size, sizeof(mm->size) }, [DCSIZE] = { &mm->desc_size, sizeof(mm->desc_size) }, [DCVERS] = { &mm->desc_version, sizeof(mm->desc_version) }, + [SCBOOT] = { &__secure_boot, sizeof(__secure_boot) }, }; BUILD_BUG_ON(ARRAY_SIZE(target) != ARRAY_SIZE(name)); --- linux-gcp-5.19.0.orig/drivers/firmware/efi/libstub/Makefile +++ linux-gcp-5.19.0/drivers/firmware/efi/libstub/Makefile @@ -37,6 +37,13 @@ $(call cc-option,-fno-addrsig) \ -D__DISABLE_EXPORTS +# +# struct randomization only makes sense for Linux internal types, which the EFI +# stub code never touches, so let's turn off struct randomization for the stub +# altogether +# +KBUILD_CFLAGS := $(filter-out $(RANDSTRUCT_CFLAGS), $(KBUILD_CFLAGS)) + # remove SCS flags from all objects in this directory KBUILD_CFLAGS := $(filter-out $(CC_FLAGS_SCS), $(KBUILD_CFLAGS)) # disable LTO --- linux-gcp-5.19.0.orig/drivers/firmware/efi/libstub/efistub.h +++ linux-gcp-5.19.0/drivers/firmware/efi/libstub/efistub.h @@ -158,7 +158,7 @@ * the EFI memory map. Other related structures, e.g. x86 e820ext, need * to factor in this headroom requirement as well. */ -#define EFI_MMAP_NR_SLACK_SLOTS 8 +#define EFI_MMAP_NR_SLACK_SLOTS 16 struct efi_boot_memmap { efi_memory_desc_t **map; @@ -873,6 +873,8 @@ efi_status_t efi_random_alloc(unsigned long size, unsigned long align, unsigned long *addr, unsigned long random_seed); +efi_status_t efi_random_get_seed(void); + efi_status_t check_platform_features(void); void *get_efi_config_table(efi_guid_t guid); --- linux-gcp-5.19.0.orig/drivers/firmware/efi/libstub/fdt.c +++ linux-gcp-5.19.0/drivers/firmware/efi/libstub/fdt.c @@ -148,6 +148,12 @@ } } + fdt_val32 = cpu_to_fdt32(efi_get_secureboot()); + status = fdt_setprop(fdt, node, "linux,uefi-secure-boot", + &fdt_val32, sizeof(fdt_val32)); + if (status) + goto fdt_set_fail; + /* Shrink the FDT back to its minimum size: */ fdt_pack(fdt); @@ -280,14 +286,6 @@ goto fail; } - /* - * Now that we have done our final memory allocation (and free) - * we can get the memory map key needed for exit_boot_services(). - */ - status = efi_get_memory_map(&map); - if (status != EFI_SUCCESS) - goto fail_free_new_fdt; - status = update_fdt((void *)fdt_addr, fdt_size, (void *)*new_fdt_addr, MAX_FDT_SIZE, cmdline_ptr, initrd_addr, initrd_size); --- linux-gcp-5.19.0.orig/drivers/firmware/efi/libstub/random.c +++ linux-gcp-5.19.0/drivers/firmware/efi/libstub/random.c @@ -67,22 +67,43 @@ efi_guid_t rng_proto = EFI_RNG_PROTOCOL_GUID; efi_guid_t rng_algo_raw = EFI_RNG_ALGORITHM_RAW; efi_guid_t rng_table_guid = LINUX_EFI_RANDOM_SEED_TABLE_GUID; + struct linux_efi_random_seed *prev_seed, *seed = NULL; + int prev_seed_size = 0, seed_size = EFI_RANDOM_SEED_SIZE; efi_rng_protocol_t *rng = NULL; - struct linux_efi_random_seed *seed = NULL; efi_status_t status; status = efi_bs_call(locate_protocol, &rng_proto, NULL, (void **)&rng); if (status != EFI_SUCCESS) return status; - status = efi_bs_call(allocate_pool, EFI_RUNTIME_SERVICES_DATA, - sizeof(*seed) + EFI_RANDOM_SEED_SIZE, + /* + * Check whether a seed was provided by a prior boot stage. In that + * case, instead of overwriting it, let's create a new buffer that can + * hold both, and concatenate the existing and the new seeds. + * Note that we should read the seed size with caution, in case the + * table got corrupted in memory somehow. + */ + prev_seed = get_efi_config_table(LINUX_EFI_RANDOM_SEED_TABLE_GUID); + if (prev_seed && prev_seed->size <= 512U) { + prev_seed_size = prev_seed->size; + seed_size += prev_seed_size; + } + + /* + * Use EFI_ACPI_RECLAIM_MEMORY here so that it is guaranteed that the + * allocation will survive a kexec reboot (although we refresh the seed + * beforehand) + */ + status = efi_bs_call(allocate_pool, EFI_ACPI_RECLAIM_MEMORY, + struct_size(seed, bits, seed_size), (void **)&seed); - if (status != EFI_SUCCESS) - return status; + if (status != EFI_SUCCESS) { + efi_warn("Failed to allocate memory for RNG seed.\n"); + goto err_warn; + } status = efi_call_proto(rng, get_rng, &rng_algo_raw, - EFI_RANDOM_SEED_SIZE, seed->bits); + EFI_RANDOM_SEED_SIZE, seed->bits); if (status == EFI_UNSUPPORTED) /* @@ -95,14 +116,28 @@ if (status != EFI_SUCCESS) goto err_freepool; - seed->size = EFI_RANDOM_SEED_SIZE; + seed->size = seed_size; + if (prev_seed_size) + memcpy(seed->bits + EFI_RANDOM_SEED_SIZE, prev_seed->bits, + prev_seed_size); + status = efi_bs_call(install_configuration_table, &rng_table_guid, seed); if (status != EFI_SUCCESS) goto err_freepool; + if (prev_seed_size) { + /* wipe and free the old seed if we managed to install the new one */ + memzero_explicit(prev_seed->bits, prev_seed_size); + efi_bs_call(free_pool, prev_seed); + } return EFI_SUCCESS; err_freepool: + memzero_explicit(seed, struct_size(seed, bits, seed_size)); efi_bs_call(free_pool, seed); + efi_warn("Failed to obtain seed from EFI_RNG_PROTOCOL\n"); +err_warn: + if (prev_seed) + efi_warn("Retaining bootloader-supplied seed only"); return status; } --- linux-gcp-5.19.0.orig/drivers/firmware/efi/libstub/secureboot.c +++ linux-gcp-5.19.0/drivers/firmware/efi/libstub/secureboot.c @@ -14,7 +14,7 @@ /* SHIM variables */ static const efi_guid_t shim_guid = EFI_SHIM_LOCK_GUID; -static const efi_char16_t shim_MokSBState_name[] = L"MokSBState"; +static const efi_char16_t shim_MokSBState_name[] = L"MokSBStateRT"; static efi_status_t get_var(efi_char16_t *name, efi_guid_t *vendor, u32 *attr, unsigned long *data_size, void *data) @@ -43,8 +43,8 @@ /* * See if a user has put the shim into insecure mode. If so, and if the - * variable doesn't have the runtime attribute set, we might as well - * honor that. + * variable doesn't have the non-volatile attribute set, we might as + * well honor that. */ size = sizeof(moksbstate); status = get_efi_var(shim_MokSBState_name, &shim_guid, @@ -53,7 +53,7 @@ /* If it fails, we don't care why. Default to secure */ if (status != EFI_SUCCESS) goto secure_boot_enabled; - if (!(attr & EFI_VARIABLE_RUNTIME_ACCESS) && moksbstate == 1) + if (!(attr & EFI_VARIABLE_NON_VOLATILE) && moksbstate == 1) return efi_secureboot_mode_disabled; secure_boot_enabled: --- linux-gcp-5.19.0.orig/drivers/firmware/efi/libstub/x86-stub.c +++ linux-gcp-5.19.0/drivers/firmware/efi/libstub/x86-stub.c @@ -517,6 +517,13 @@ hdr->ramdisk_image = 0; hdr->ramdisk_size = 0; + /* + * Disregard any setup data that was provided by the bootloader: + * setup_data could be pointing anywhere, and we have no way of + * authenticating or validating the payload. + */ + hdr->setup_data = 0; + efi_stub_entry(handle, sys_table_arg, boot_params); /* not reached */ --- linux-gcp-5.19.0.orig/drivers/firmware/efi/memattr.c +++ linux-gcp-5.19.0/drivers/firmware/efi/memattr.c @@ -33,7 +33,7 @@ return -ENOMEM; } - if (tbl->version > 1) { + if (tbl->version > 2) { pr_warn("Unexpected EFI Memory Attributes table version %d\n", tbl->version); goto unmap; --- linux-gcp-5.19.0.orig/drivers/firmware/efi/runtime-wrappers.c +++ linux-gcp-5.19.0/drivers/firmware/efi/runtime-wrappers.c @@ -62,6 +62,7 @@ \ if (!efi_enabled(EFI_RUNTIME_SERVICES)) { \ pr_warn_once("EFI Runtime Services are disabled!\n"); \ + efi_rts_work.status = EFI_DEVICE_ERROR; \ goto exit; \ } \ \ --- linux-gcp-5.19.0.orig/drivers/firmware/efi/secureboot.c +++ linux-gcp-5.19.0/drivers/firmware/efi/secureboot.c @@ -0,0 +1,38 @@ +/* Core kernel secure boot support. + * + * Copyright (C) 2017 Red Hat, Inc. All Rights Reserved. + * Written by David Howells (dhowells@redhat.com) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public Licence + * as published by the Free Software Foundation; either version + * 2 of the Licence, or (at your option) any later version. + */ + +#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt + +#include +#include +#include + +/* + * Decide what to do when UEFI secure boot mode is enabled. + */ +void __init efi_set_secure_boot(enum efi_secureboot_mode mode) +{ + if (efi_enabled(EFI_BOOT)) { + switch (mode) { + case efi_secureboot_mode_disabled: + pr_info("Secure boot disabled\n"); + break; + case efi_secureboot_mode_enabled: + set_bit(EFI_SECURE_BOOT, &efi.flags); + pr_info("Secure boot enabled\n"); + break; + default: + pr_warn("Secure boot could not be determined (mode %u)\n", + mode); + break; + } + } +} --- linux-gcp-5.19.0.orig/drivers/firmware/efi/tpm.c +++ linux-gcp-5.19.0/drivers/firmware/efi/tpm.c @@ -97,7 +97,7 @@ goto out_calc; } - memblock_reserve((unsigned long)final_tbl, + memblock_reserve(efi.tpm_final_log, tbl_size + sizeof(*final_tbl)); efi_tpm_final_log_size = tbl_size; --- linux-gcp-5.19.0.orig/drivers/firmware/google/coreboot_table.c +++ linux-gcp-5.19.0/drivers/firmware/google/coreboot_table.c @@ -93,7 +93,12 @@ for (i = 0; i < header->table_entries; i++) { entry = ptr_entry; - device = kzalloc(sizeof(struct device) + entry->size, GFP_KERNEL); + if (entry->size < sizeof(*entry)) { + dev_warn(dev, "coreboot table entry too small!\n"); + return -EINVAL; + } + + device = kzalloc(sizeof(device->dev) + entry->size, GFP_KERNEL); if (!device) return -ENOMEM; @@ -101,7 +106,7 @@ device->dev.parent = dev; device->dev.bus = &coreboot_bus_type; device->dev.release = coreboot_device_release; - memcpy(&device->entry, ptr_entry, entry->size); + memcpy(device->raw, ptr_entry, entry->size); ret = device_register(&device->dev); if (ret) { @@ -149,12 +154,8 @@ if (!ptr) return -ENOMEM; - ret = bus_register(&coreboot_bus_type); - if (!ret) { - ret = coreboot_table_populate(dev, ptr); - if (ret) - bus_unregister(&coreboot_bus_type); - } + ret = coreboot_table_populate(dev, ptr); + memunmap(ptr); return ret; @@ -169,7 +170,6 @@ static int coreboot_table_remove(struct platform_device *pdev) { bus_for_each_dev(&coreboot_bus_type, NULL, NULL, __cb_dev_unregister); - bus_unregister(&coreboot_bus_type); return 0; } @@ -199,6 +199,32 @@ .of_match_table = of_match_ptr(coreboot_of_match), }, }; -module_platform_driver(coreboot_table_driver); + +static int __init coreboot_table_driver_init(void) +{ + int ret; + + ret = bus_register(&coreboot_bus_type); + if (ret) + return ret; + + ret = platform_driver_register(&coreboot_table_driver); + if (ret) { + bus_unregister(&coreboot_bus_type); + return ret; + } + + return 0; +} + +static void __exit coreboot_table_driver_exit(void) +{ + platform_driver_unregister(&coreboot_table_driver); + bus_unregister(&coreboot_bus_type); +} + +module_init(coreboot_table_driver_init); +module_exit(coreboot_table_driver_exit); + MODULE_AUTHOR("Google, Inc."); MODULE_LICENSE("GPL"); --- linux-gcp-5.19.0.orig/drivers/firmware/google/coreboot_table.h +++ linux-gcp-5.19.0/drivers/firmware/google/coreboot_table.h @@ -66,6 +66,7 @@ struct coreboot_table_entry entry; struct lb_cbmem_ref cbmem_ref; struct lb_framebuffer framebuffer; + DECLARE_FLEX_ARRAY(u8, raw); }; }; --- linux-gcp-5.19.0.orig/drivers/firmware/google/framebuffer-coreboot.c +++ linux-gcp-5.19.0/drivers/firmware/google/framebuffer-coreboot.c @@ -43,9 +43,7 @@ fb->green_mask_pos == formats[i].green.offset && fb->green_mask_size == formats[i].green.length && fb->blue_mask_pos == formats[i].blue.offset && - fb->blue_mask_size == formats[i].blue.length && - fb->reserved_mask_pos == formats[i].transp.offset && - fb->reserved_mask_size == formats[i].transp.length) + fb->blue_mask_size == formats[i].blue.length) pdata.format = formats[i].name; } if (!pdata.format) --- linux-gcp-5.19.0.orig/drivers/firmware/google/gsmi.c +++ linux-gcp-5.19.0/drivers/firmware/google/gsmi.c @@ -361,9 +361,10 @@ memcpy(data, gsmi_dev.data_buf->start, *data_size); /* All variables are have the following attributes */ - *attr = EFI_VARIABLE_NON_VOLATILE | - EFI_VARIABLE_BOOTSERVICE_ACCESS | - EFI_VARIABLE_RUNTIME_ACCESS; + if (attr) + *attr = EFI_VARIABLE_NON_VOLATILE | + EFI_VARIABLE_BOOTSERVICE_ACCESS | + EFI_VARIABLE_RUNTIME_ACCESS; } spin_unlock_irqrestore(&gsmi_dev.lock, flags); @@ -681,6 +682,15 @@ static int gsmi_panic_callback(struct notifier_block *nb, unsigned long reason, void *arg) { + + /* + * Panic callbacks are executed with all other CPUs stopped, + * so we must not attempt to spin waiting for gsmi_dev.lock + * to be released. + */ + if (spin_is_locked(&gsmi_dev.lock)) + return NOTIFY_DONE; + gsmi_shutdown_reason(GSMI_SHUTDOWN_PANIC); return NOTIFY_DONE; } --- linux-gcp-5.19.0.orig/drivers/firmware/raspberrypi.c +++ linux-gcp-5.19.0/drivers/firmware/raspberrypi.c @@ -272,6 +272,7 @@ int ret = PTR_ERR(fw->chan); if (ret != -EPROBE_DEFER) dev_err(dev, "Failed to get mbox channel: %d\n", ret); + kfree(fw); return ret; } --- linux-gcp-5.19.0.orig/drivers/firmware/stratix10-svc.c +++ linux-gcp-5.19.0/drivers/firmware/stratix10-svc.c @@ -1001,13 +1001,17 @@ /* allocate service controller and supporting channel */ controller = devm_kzalloc(dev, sizeof(*controller), GFP_KERNEL); - if (!controller) - return -ENOMEM; + if (!controller) { + ret = -ENOMEM; + goto err_destroy_pool; + } chans = devm_kmalloc_array(dev, SVC_NUM_CHANNEL, sizeof(*chans), GFP_KERNEL | __GFP_ZERO); - if (!chans) - return -ENOMEM; + if (!chans) { + ret = -ENOMEM; + goto err_destroy_pool; + } controller->dev = dev; controller->num_chans = SVC_NUM_CHANNEL; @@ -1022,7 +1026,7 @@ ret = kfifo_alloc(&controller->svc_fifo, fifo_size, GFP_KERNEL); if (ret) { dev_err(dev, "failed to allocate FIFO\n"); - return ret; + goto err_destroy_pool; } spin_lock_init(&controller->svc_fifo_lock); @@ -1067,6 +1071,8 @@ platform_device_put(svc->stratix10_svc_rsu); err_free_kfifo: kfifo_free(&controller->svc_fifo); +err_destroy_pool: + gen_pool_destroy(genpool); return ret; } --- linux-gcp-5.19.0.orig/drivers/firmware/tegra/bpmp-debugfs.c +++ linux-gcp-5.19.0/drivers/firmware/tegra/bpmp-debugfs.c @@ -474,7 +474,7 @@ mode |= attrs & DEBUGFS_S_IWUSR ? 0200 : 0; dentry = debugfs_create_file(name, mode, parent, bpmp, &bpmp_debug_fops); - if (!dentry) { + if (IS_ERR(dentry)) { err = -ENOMEM; goto out; } @@ -725,7 +725,7 @@ if (t & DEBUGFS_S_ISDIR) { dentry = debugfs_create_dir(name, parent); - if (!dentry) + if (IS_ERR(dentry)) return -ENOMEM; err = bpmp_populate_dir(bpmp, seqbuf, dentry, depth+1); if (err < 0) @@ -738,7 +738,7 @@ dentry = debugfs_create_file(name, mode, parent, bpmp, &debugfs_fops); - if (!dentry) + if (IS_ERR(dentry)) return -ENOMEM; } } @@ -788,11 +788,11 @@ return 0; root = debugfs_create_dir("bpmp", NULL); - if (!root) + if (IS_ERR(root)) return -ENOMEM; bpmp->debugfs_mirror = debugfs_create_dir("debug", root); - if (!bpmp->debugfs_mirror) { + if (IS_ERR(bpmp->debugfs_mirror)) { err = -ENOMEM; goto out; } --- linux-gcp-5.19.0.orig/drivers/firmware/tegra/bpmp.c +++ linux-gcp-5.19.0/drivers/firmware/tegra/bpmp.c @@ -201,7 +201,7 @@ int err; if (data && size > 0) - memcpy(data, channel->ib->data, size); + memcpy_fromio(data, channel->ib->data, size); err = tegra_bpmp_ack_response(channel); if (err < 0) @@ -245,7 +245,7 @@ channel->ob->flags = flags; if (data && size > 0) - memcpy(channel->ob->data, data, size); + memcpy_toio(channel->ob->data, data, size); return tegra_bpmp_post_request(channel); } @@ -420,7 +420,7 @@ channel->ob->code = code; if (data && size > 0) - memcpy(channel->ob->data, data, size); + memcpy_toio(channel->ob->data, data, size); err = tegra_bpmp_post_response(channel); if (WARN_ON(err < 0)) --- linux-gcp-5.19.0.orig/drivers/firmware/ti_sci.c +++ linux-gcp-5.19.0/drivers/firmware/ti_sci.c @@ -429,15 +429,14 @@ * during noirq phase, so we must manually poll the completion. */ ret = read_poll_timeout_atomic(try_wait_for_completion, done_state, - true, 1, + done_state, 1, info->desc->max_rx_timeout_ms * 1000, false, &xfer->done); } - if (ret == -ETIMEDOUT || !done_state) { + if (ret == -ETIMEDOUT) dev_err(dev, "Mbox timedout in resp(caller: %pS)\n", (void *)_RET_IP_); - } /* * NOTE: we might prefer not to need the mailbox ticker to manage the --- linux-gcp-5.19.0.orig/drivers/fpga/altera-pr-ip-core.c +++ linux-gcp-5.19.0/drivers/fpga/altera-pr-ip-core.c @@ -108,7 +108,7 @@ u32 *buffer_32 = (u32 *)buf; size_t i = 0; - if (count <= 0) + if (!count) return -EINVAL; /* Write out the complete 32-bit chunks */ --- linux-gcp-5.19.0.orig/drivers/fpga/dfl-pci.c +++ linux-gcp-5.19.0/drivers/fpga/dfl-pci.c @@ -77,12 +77,18 @@ #define PCIE_DEVICE_ID_INTEL_PAC_D5005 0x0B2B #define PCIE_DEVICE_ID_SILICOM_PAC_N5010 0x1000 #define PCIE_DEVICE_ID_SILICOM_PAC_N5011 0x1001 +#define PCIE_DEVICE_ID_INTEL_DFL 0xbcce +/* PCI Subdevice ID for PCIE_DEVICE_ID_INTEL_DFL */ +#define PCIE_SUBDEVICE_ID_INTEL_N6000 0x1770 +#define PCIE_SUBDEVICE_ID_INTEL_N6001 0x1771 +#define PCIE_SUBDEVICE_ID_INTEL_C6100 0x17d4 /* VF Device */ #define PCIE_DEVICE_ID_VF_INT_5_X 0xBCBF #define PCIE_DEVICE_ID_VF_INT_6_X 0xBCC1 #define PCIE_DEVICE_ID_VF_DSC_1_X 0x09C5 #define PCIE_DEVICE_ID_INTEL_PAC_D5005_VF 0x0B2C +#define PCIE_DEVICE_ID_INTEL_DFL_VF 0xbccf static struct pci_device_id cci_pcie_id_tbl[] = { {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_PF_INT_5_X),}, @@ -96,6 +102,18 @@ {PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_PAC_D5005_VF),}, {PCI_DEVICE(PCI_VENDOR_ID_SILICOM_DENMARK, PCIE_DEVICE_ID_SILICOM_PAC_N5010),}, {PCI_DEVICE(PCI_VENDOR_ID_SILICOM_DENMARK, PCIE_DEVICE_ID_SILICOM_PAC_N5011),}, + {PCI_DEVICE_SUB(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_DFL, + PCI_VENDOR_ID_INTEL, PCIE_SUBDEVICE_ID_INTEL_N6000),}, + {PCI_DEVICE_SUB(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_DFL_VF, + PCI_VENDOR_ID_INTEL, PCIE_SUBDEVICE_ID_INTEL_N6000),}, + {PCI_DEVICE_SUB(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_DFL, + PCI_VENDOR_ID_INTEL, PCIE_SUBDEVICE_ID_INTEL_N6001),}, + {PCI_DEVICE_SUB(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_DFL_VF, + PCI_VENDOR_ID_INTEL, PCIE_SUBDEVICE_ID_INTEL_N6001),}, + {PCI_DEVICE_SUB(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_DFL, + PCI_VENDOR_ID_INTEL, PCIE_SUBDEVICE_ID_INTEL_C6100),}, + {PCI_DEVICE_SUB(PCI_VENDOR_ID_INTEL, PCIE_DEVICE_ID_INTEL_DFL_VF, + PCI_VENDOR_ID_INTEL, PCIE_SUBDEVICE_ID_INTEL_C6100),}, {0,} }; MODULE_DEVICE_TABLE(pci, cci_pcie_id_tbl); --- linux-gcp-5.19.0.orig/drivers/fpga/dfl.c +++ linux-gcp-5.19.0/drivers/fpga/dfl.c @@ -1866,7 +1866,7 @@ return -EINVAL; fds = memdup_user((void __user *)(arg + sizeof(hdr)), - hdr.count * sizeof(s32)); + array_size(hdr.count, sizeof(s32))); if (IS_ERR(fds)) return PTR_ERR(fds); --- linux-gcp-5.19.0.orig/drivers/fpga/stratix10-soc.c +++ linux-gcp-5.19.0/drivers/fpga/stratix10-soc.c @@ -213,9 +213,9 @@ /* Allocate buffers from the service layer's pool. */ for (i = 0; i < NUM_SVC_BUFS; i++) { kbuf = stratix10_svc_allocate_memory(priv->chan, SVC_BUF_SIZE); - if (!kbuf) { + if (IS_ERR(kbuf)) { s10_free_buffers(mgr); - ret = -ENOMEM; + ret = PTR_ERR(kbuf); goto init_done; } --- linux-gcp-5.19.0.orig/drivers/fsi/fsi-core.c +++ linux-gcp-5.19.0/drivers/fsi/fsi-core.c @@ -1314,6 +1314,9 @@ mutex_init(&master->scan_lock); master->idx = ida_simple_get(&master_ida, 0, INT_MAX, GFP_KERNEL); + if (master->idx < 0) + return master->idx; + dev_set_name(&master->dev, "fsi%d", master->idx); master->dev.class = &fsi_master_class; --- linux-gcp-5.19.0.orig/drivers/fsi/fsi-master-ast-cf.c +++ linux-gcp-5.19.0/drivers/fsi/fsi-master-ast-cf.c @@ -1324,12 +1324,14 @@ } master->cvic = devm_of_iomap(&pdev->dev, np, 0, NULL); if (IS_ERR(master->cvic)) { + of_node_put(np); rc = PTR_ERR(master->cvic); dev_err(&pdev->dev, "Error %d mapping CVIC\n", rc); goto err_free; } rc = of_property_read_u32(np, "copro-sw-interrupts", &master->cvic_sw_irq); + of_node_put(np); if (rc) { dev_err(&pdev->dev, "Can't find coprocessor SW interrupt\n"); goto err_free; --- linux-gcp-5.19.0.orig/drivers/fsi/fsi-occ.c +++ linux-gcp-5.19.0/drivers/fsi/fsi-occ.c @@ -94,6 +94,7 @@ client->occ = occ; mutex_init(&client->lock); file->private_data = client; + get_device(occ->dev); /* We allocate a 1-page buffer, make sure it all fits */ BUILD_BUG_ON((OCC_CMD_DATA_BYTES + 3) > PAGE_SIZE); @@ -197,6 +198,7 @@ { struct occ_client *client = file->private_data; + put_device(client->occ->dev); free_page((unsigned long)client->buffer); kfree(client); @@ -493,12 +495,19 @@ for (i = 1; i < req_len - 2; ++i) checksum += byte_request[i]; - mutex_lock(&occ->occ_lock); + rc = mutex_lock_interruptible(&occ->occ_lock); + if (rc) + return rc; occ->client_buffer = response; occ->client_buffer_size = user_resp_len; occ->client_response_size = 0; + if (!occ->buffer) { + rc = -ENOENT; + goto done; + } + /* * Get a sequence number and update the counter. Avoid a sequence * number of 0 which would pass the response check below even if the @@ -671,10 +680,13 @@ { struct occ *occ = platform_get_drvdata(pdev); - kvfree(occ->buffer); - misc_deregister(&occ->mdev); + mutex_lock(&occ->occ_lock); + kvfree(occ->buffer); + occ->buffer = NULL; + mutex_unlock(&occ->occ_lock); + device_for_each_child(&pdev->dev, NULL, occ_unregister_child); ida_simple_remove(&occ_ida, occ->idx); --- linux-gcp-5.19.0.orig/drivers/fsi/fsi-sbefifo.c +++ linux-gcp-5.19.0/drivers/fsi/fsi-sbefifo.c @@ -656,7 +656,7 @@ } ffdc_iov.iov_base = ffdc; ffdc_iov.iov_len = SBEFIFO_MAX_FFDC_SIZE; - iov_iter_kvec(&ffdc_iter, WRITE, &ffdc_iov, 1, SBEFIFO_MAX_FFDC_SIZE); + iov_iter_kvec(&ffdc_iter, READ, &ffdc_iov, 1, SBEFIFO_MAX_FFDC_SIZE); cmd[0] = cpu_to_be32(2); cmd[1] = cpu_to_be32(SBEFIFO_CMD_GET_SBE_FFDC); rc = sbefifo_do_command(sbefifo, cmd, 2, &ffdc_iter); @@ -753,7 +753,7 @@ rbytes = (*resp_len) * sizeof(__be32); resp_iov.iov_base = response; resp_iov.iov_len = rbytes; - iov_iter_kvec(&resp_iter, WRITE, &resp_iov, 1, rbytes); + iov_iter_kvec(&resp_iter, READ, &resp_iov, 1, rbytes); /* Perform the command */ rc = mutex_lock_interruptible(&sbefifo->lock); @@ -836,7 +836,7 @@ /* Prepare iov iterator */ resp_iov.iov_base = buf; resp_iov.iov_len = len; - iov_iter_init(&resp_iter, WRITE, &resp_iov, 1, len); + iov_iter_init(&resp_iter, READ, &resp_iov, 1, len); /* Perform the command */ rc = mutex_lock_interruptible(&sbefifo->lock); --- linux-gcp-5.19.0.orig/drivers/gpio/Kconfig +++ linux-gcp-5.19.0/drivers/gpio/Kconfig @@ -1481,6 +1481,18 @@ menu "PCI GPIO expanders" depends on PCI +config GPIO_AAEON + tristate "AAEON GPIO support" + depends on ASUS_WMI + depends on UBUNTU_ODM_DRIVERS + select MFD_AAEON + help + Say yes here to support GPIO pins on Single Board Computers produced + by AAEON. + + This driver leverages the ASUS WMI interface to access device + resources. + config GPIO_AMD8111 tristate "AMD 8111 GPIO driver" depends on X86 || COMPILE_TEST --- linux-gcp-5.19.0.orig/drivers/gpio/Makefile +++ linux-gcp-5.19.0/drivers/gpio/Makefile @@ -23,6 +23,7 @@ obj-$(CONFIG_GPIO_104_IDIO_16) += gpio-104-idio-16.o obj-$(CONFIG_GPIO_74X164) += gpio-74x164.o obj-$(CONFIG_GPIO_74XX_MMIO) += gpio-74xx-mmio.o +obj-$(CONFIG_GPIO_AAEON) += gpio-aaeon.o obj-$(CONFIG_GPIO_ADNP) += gpio-adnp.o obj-$(CONFIG_GPIO_ADP5520) += gpio-adp5520.o obj-$(CONFIG_GPIO_ADP5588) += gpio-adp5588.o --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-104-dio-48e.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-104-dio-48e.c @@ -271,6 +271,7 @@ dio48egpio->irq_mask &= ~BIT(0); else dio48egpio->irq_mask &= ~BIT(1); + gpiochip_disable_irq(chip, offset); if (!dio48egpio->irq_mask) /* disable interrupts */ @@ -298,6 +299,7 @@ iowrite8(0x00, dio48egpio->base + 0xB); } + gpiochip_enable_irq(chip, offset); if (offset == 19) dio48egpio->irq_mask |= BIT(0); else @@ -320,12 +322,14 @@ return 0; } -static struct irq_chip dio48e_irqchip = { +static const struct irq_chip dio48e_irqchip = { .name = "104-dio-48e", .irq_ack = dio48e_irq_ack, .irq_mask = dio48e_irq_mask, .irq_unmask = dio48e_irq_unmask, - .irq_set_type = dio48e_irq_set_type + .irq_set_type = dio48e_irq_set_type, + .flags = IRQCHIP_IMMUTABLE, + GPIOCHIP_IRQ_RESOURCE_HELPERS, }; static irqreturn_t dio48e_irq_handler(int irq, void *dev_id) @@ -414,7 +418,7 @@ dio48egpio->chip.set_multiple = dio48e_gpio_set_multiple; girq = &dio48egpio->chip.irq; - girq->chip = &dio48e_irqchip; + gpio_irq_chip_set_chip(girq, &dio48e_irqchip); /* This will let us handle the parent IRQ in the driver */ girq->parent_handler = NULL; girq->num_parents = 0; --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-104-idio-16.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-104-idio-16.c @@ -150,10 +150,11 @@ { struct gpio_chip *chip = irq_data_get_irq_chip_data(data); struct idio_16_gpio *const idio16gpio = gpiochip_get_data(chip); - const unsigned long mask = BIT(irqd_to_hwirq(data)); + const unsigned long offset = irqd_to_hwirq(data); unsigned long flags; - idio16gpio->irq_mask &= ~mask; + idio16gpio->irq_mask &= ~BIT(offset); + gpiochip_disable_irq(chip, offset); if (!idio16gpio->irq_mask) { raw_spin_lock_irqsave(&idio16gpio->lock, flags); @@ -168,11 +169,12 @@ { struct gpio_chip *chip = irq_data_get_irq_chip_data(data); struct idio_16_gpio *const idio16gpio = gpiochip_get_data(chip); - const unsigned long mask = BIT(irqd_to_hwirq(data)); + const unsigned long offset = irqd_to_hwirq(data); const unsigned long prev_irq_mask = idio16gpio->irq_mask; unsigned long flags; - idio16gpio->irq_mask |= mask; + gpiochip_enable_irq(chip, offset); + idio16gpio->irq_mask |= BIT(offset); if (!prev_irq_mask) { raw_spin_lock_irqsave(&idio16gpio->lock, flags); @@ -193,12 +195,14 @@ return 0; } -static struct irq_chip idio_16_irqchip = { +static const struct irq_chip idio_16_irqchip = { .name = "104-idio-16", .irq_ack = idio_16_irq_ack, .irq_mask = idio_16_irq_mask, .irq_unmask = idio_16_irq_unmask, - .irq_set_type = idio_16_irq_set_type + .irq_set_type = idio_16_irq_set_type, + .flags = IRQCHIP_IMMUTABLE, + GPIOCHIP_IRQ_RESOURCE_HELPERS, }; static irqreturn_t idio_16_irq_handler(int irq, void *dev_id) @@ -275,7 +279,7 @@ idio16gpio->out_state = 0xFFFF; girq = &idio16gpio->chip.irq; - girq->chip = &idio_16_irqchip; + gpio_irq_chip_set_chip(girq, &idio_16_irqchip); /* This will let us handle the parent IRQ in the driver */ girq->parent_handler = NULL; girq->num_parents = 0; --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-aaeon.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-aaeon.c @@ -0,0 +1,205 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * AAEON GPIO driver + * Copyright (c) 2021, AAEON Ltd. + * + * Author: Edward Lin + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ +#include +#include +#include +#include +#include +#include +#include +#include + +#define DRVNAME "gpio_aaeon" +#define ASUS_NB_WMI_EVENT_GUID "0B3CBB35-E3C2-45ED-91C2-4C5A6D195D1C" +#define AAEON_WMI_MGMT_GUID "97845ED0-4E6D-11DE-8A39-0800200C9A66" + +#define GET_GPIO_NUMBER_ID 0x00010000 +#define GET_LEVEL_METHOD_ID 0x00010001 +#define SET_LEVEL_METHOD_ID 0x00010002 +#define GET_DIRECTION_METHOD_ID 0x00010003 +#define SET_DIRECTION_METHOD_ID 0x00010004 +#define GET_SIO_NUMBER_METHOD_ID 0xF0010 + +struct aaeon_gpio_bank { + struct gpio_chip chip; + unsigned int regbase; + struct aaeon_gpio_data *data; +}; + +struct aaeon_gpio_data { + int nr_bank; + struct aaeon_gpio_bank *bank; +}; + +static int aaeon_gpio_get_number(void); +static int aaeon_gpio_get_direction(struct gpio_chip *chip, + unsigned int offset); +static int aaeon_gpio_output_set_direction(struct gpio_chip *chip, + unsigned int offset, int value); +static int aaeon_gpio_input_set_direction(struct gpio_chip *chip, + unsigned int offset); +static int aaeon_gpio_get(struct gpio_chip *chip, + unsigned int offset); +static void aaeon_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value); + +#define AAEON_GPIO_BANK(_base, _ngpio, _regbase) \ +{ \ + .chip = { \ + .label = DRVNAME, \ + .owner = THIS_MODULE, \ + .get_direction = aaeon_gpio_get_direction, \ + .direction_input = aaeon_gpio_input_set_direction, \ + .direction_output = aaeon_gpio_output_set_direction, \ + .get = aaeon_gpio_get, \ + .set = aaeon_gpio_set, \ + .base = _base, \ + .ngpio = _ngpio, \ + .can_sleep = true, \ + }, \ + .regbase = _regbase, \ +} + +static struct aaeon_gpio_bank aaeon_gpio_bank[] = { + AAEON_GPIO_BANK(0, 0, 0xF0), +}; + +static int aaeon_gpio_get_direction(struct gpio_chip *chip, unsigned int offset) +{ + int err, retval; + u32 dev_id = 0x0; + + dev_id |= offset; + err = asus_wmi_evaluate_method(GET_DIRECTION_METHOD_ID, dev_id, + 0, &retval); + if (err) + return err; + + return retval; +} + +static int aaeon_gpio_input_set_direction(struct gpio_chip *chip, + unsigned int offset) +{ + int err, retval; + u32 dev_id; + + dev_id = BIT(16) | offset; + err = asus_wmi_evaluate_method(SET_DIRECTION_METHOD_ID, dev_id, + 0, &retval); + if (err) + return err; + + return retval; +} + +static int aaeon_gpio_output_set_direction(struct gpio_chip *chip, + unsigned int offset, int value) +{ + int err, retval; + u32 dev_id = 0x0; + + dev_id |= offset; + err = asus_wmi_evaluate_method(SET_DIRECTION_METHOD_ID, dev_id, + 0, &retval); + if (err) + return err; + + return retval; +} + +static int aaeon_gpio_get(struct gpio_chip *chip, unsigned int offset) +{ + int err, retval; + u32 dev_id = 0x0; + + dev_id |= offset; + err = asus_wmi_evaluate_method(GET_LEVEL_METHOD_ID, dev_id, 0, &retval); + if (err) + return err; + + return retval; +} + +static void aaeon_gpio_set(struct gpio_chip *chip, unsigned int offset, + int value) +{ + int retval; + u32 dev_id = offset; + + if (value) + dev_id = BIT(16) | dev_id; + + asus_wmi_evaluate_method(SET_LEVEL_METHOD_ID, dev_id, 0, &retval); +} + +static int aaeon_gpio_get_number(void) +{ + int err, retval; + + err = asus_wmi_evaluate_method(GET_GPIO_NUMBER_ID, + GET_SIO_NUMBER_METHOD_ID, + 0, &retval); + if (err) + return err; + + return retval; +} + +static int __init aaeon_gpio_probe(struct platform_device *pdev) +{ + int err, i; + int dio_number = 0; + struct aaeon_gpio_data *data; + struct aaeon_gpio_bank *bank; + + /* Prevent other drivers adding this platfom device */ + if (!wmi_has_guid(AAEON_WMI_MGMT_GUID)) { + pr_debug("AAEON Management GUID not found\n"); + return -ENODEV; + } + + dio_number = aaeon_gpio_get_number(); + if (dio_number < 0) + return -ENODEV; + + data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); + if (!data) + return -ENOMEM; + + data->nr_bank = ARRAY_SIZE(aaeon_gpio_bank); + data->bank = aaeon_gpio_bank; + platform_set_drvdata(pdev, data); + bank = &data->bank[0]; + bank->chip.parent = &pdev->dev; + bank->chip.ngpio = dio_number; + bank->data = data; + err = devm_gpiochip_add_data(&pdev->dev, &bank->chip, bank); + if (err) + pr_debug("Failed to register gpiochip %d: %d\n", i, err); + + return err; +} + +static struct platform_driver aaeon_gpio_driver = { + .driver = { + .name = "gpio-aaeon", + }, +}; + +module_platform_driver_probe(aaeon_gpio_driver, aaeon_gpio_probe); + +MODULE_ALIAS("platform:gpio-aaeon"); +MODULE_DESCRIPTION("AAEON GPIO Driver"); +MODULE_AUTHOR("Edward Lin "); +MODULE_LICENSE("GPL v2"); --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-amd8111.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-amd8111.c @@ -226,7 +226,10 @@ ioport_unmap(gp.pm); goto out; } + return 0; + out: + pci_dev_put(pdev); return err; } @@ -234,6 +237,7 @@ { gpiochip_remove(&gp.chip); ioport_unmap(gp.pm); + pci_dev_put(gp.pdev); } module_init(amd_gpio_init); --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-ep93xx.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-ep93xx.c @@ -148,7 +148,7 @@ */ struct irq_chip *irqchip = irq_desc_get_chip(desc); unsigned int irq = irq_desc_get_irq(desc); - int port_f_idx = ((irq + 1) & 7) ^ 4; /* {19..22,47..50} -> {0..7} */ + int port_f_idx = (irq & 7) ^ 4; /* {20..23,48..51} -> {0..7} */ int gpio_irq = EP93XX_GPIO_F_IRQ_BASE + port_f_idx; chained_irq_enter(irqchip, desc); --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-ftgpio010.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-ftgpio010.c @@ -41,14 +41,12 @@ * struct ftgpio_gpio - Gemini GPIO state container * @dev: containing device for this instance * @gc: gpiochip for this instance - * @irq: irqchip for this instance * @base: remapped I/O-memory base * @clk: silicon clock */ struct ftgpio_gpio { struct device *dev; struct gpio_chip gc; - struct irq_chip irq; void __iomem *base; struct clk *clk; }; @@ -70,6 +68,7 @@ val = readl(g->base + GPIO_INT_EN); val &= ~BIT(irqd_to_hwirq(d)); writel(val, g->base + GPIO_INT_EN); + gpiochip_disable_irq(gc, irqd_to_hwirq(d)); } static void ftgpio_gpio_unmask_irq(struct irq_data *d) @@ -78,6 +77,7 @@ struct ftgpio_gpio *g = gpiochip_get_data(gc); u32 val; + gpiochip_enable_irq(gc, irqd_to_hwirq(d)); val = readl(g->base + GPIO_INT_EN); val |= BIT(irqd_to_hwirq(d)); writel(val, g->base + GPIO_INT_EN); @@ -221,6 +221,16 @@ return 0; } +static const struct irq_chip ftgpio_irq_chip = { + .name = "FTGPIO010", + .irq_ack = ftgpio_gpio_ack_irq, + .irq_mask = ftgpio_gpio_mask_irq, + .irq_unmask = ftgpio_gpio_unmask_irq, + .irq_set_type = ftgpio_gpio_set_irq_type, + .flags = IRQCHIP_IMMUTABLE, + GPIOCHIP_IRQ_RESOURCE_HELPERS, +}; + static int ftgpio_gpio_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; @@ -277,14 +287,8 @@ if (!IS_ERR(g->clk)) g->gc.set_config = ftgpio_gpio_set_config; - g->irq.name = "FTGPIO010"; - g->irq.irq_ack = ftgpio_gpio_ack_irq; - g->irq.irq_mask = ftgpio_gpio_mask_irq; - g->irq.irq_unmask = ftgpio_gpio_unmask_irq; - g->irq.irq_set_type = ftgpio_gpio_set_irq_type; - girq = &g->gc.irq; - girq->chip = &g->irq; + gpio_irq_chip_set_chip(girq, &ftgpio_irq_chip); girq->parent_handler = ftgpio_gpio_irq_handler; girq->num_parents = 1; girq->parents = devm_kcalloc(dev, 1, sizeof(*girq->parents), --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-ixp4xx.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-ixp4xx.c @@ -63,6 +63,14 @@ __raw_writel(BIT(d->hwirq), g->base + IXP4XX_REG_GPIS); } +static void ixp4xx_gpio_mask_irq(struct irq_data *d) +{ + struct gpio_chip *gc = irq_data_get_irq_chip_data(d); + + irq_chip_mask_parent(d); + gpiochip_disable_irq(gc, d->hwirq); +} + static void ixp4xx_gpio_irq_unmask(struct irq_data *d) { struct gpio_chip *gc = irq_data_get_irq_chip_data(d); @@ -72,6 +80,7 @@ if (!(g->irq_edge & BIT(d->hwirq))) ixp4xx_gpio_irq_ack(d); + gpiochip_enable_irq(gc, d->hwirq); irq_chip_unmask_parent(d); } @@ -149,12 +158,14 @@ return irq_chip_set_type_parent(d, IRQ_TYPE_LEVEL_HIGH); } -static struct irq_chip ixp4xx_gpio_irqchip = { +static const struct irq_chip ixp4xx_gpio_irqchip = { .name = "IXP4GPIO", .irq_ack = ixp4xx_gpio_irq_ack, - .irq_mask = irq_chip_mask_parent, + .irq_mask = ixp4xx_gpio_mask_irq, .irq_unmask = ixp4xx_gpio_irq_unmask, .irq_set_type = ixp4xx_gpio_irq_set_type, + .flags = IRQCHIP_IMMUTABLE, + GPIOCHIP_IRQ_RESOURCE_HELPERS, }; static int ixp4xx_gpio_child_to_parent_hwirq(struct gpio_chip *gc, @@ -263,7 +274,7 @@ g->gc.owner = THIS_MODULE; girq = &g->gc.irq; - girq->chip = &ixp4xx_gpio_irqchip; + gpio_irq_chip_set_chip(girq, &ixp4xx_gpio_irqchip); girq->fwnode = g->fwnode; girq->parent_domain = parent; girq->child_to_parent_hwirq = ixp4xx_gpio_child_to_parent_hwirq; --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-mockup.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-mockup.c @@ -373,6 +373,13 @@ } } +static void gpio_mockup_debugfs_cleanup(void *data) +{ + struct gpio_mockup_chip *chip = data; + + debugfs_remove_recursive(chip->dbg_dir); +} + static void gpio_mockup_dispose_mappings(void *data) { struct gpio_mockup_chip *chip = data; @@ -455,7 +462,7 @@ gpio_mockup_debugfs_setup(dev, chip); - return 0; + return devm_add_action_or_reset(dev, gpio_mockup_debugfs_cleanup, chip); } static const struct of_device_id gpio_mockup_of_match[] = { @@ -526,8 +533,10 @@ } fwnode = fwnode_create_software_node(properties, NULL); - if (IS_ERR(fwnode)) + if (IS_ERR(fwnode)) { + kfree_strarray(line_names, ngpio); return PTR_ERR(fwnode); + } pdevinfo.name = "gpio-mockup"; pdevinfo.id = idx; @@ -590,9 +599,9 @@ static void __exit gpio_mockup_exit(void) { + gpio_mockup_unregister_pdevs(); debugfs_remove_recursive(gpio_mockup_dbg_dir); platform_driver_unregister(&gpio_mockup_driver); - gpio_mockup_unregister_pdevs(); } module_init(gpio_mockup_init); --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-mpc8xxx.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-mpc8xxx.c @@ -172,6 +172,7 @@ switch (flow_type) { case IRQ_TYPE_EDGE_FALLING: + case IRQ_TYPE_LEVEL_LOW: raw_spin_lock_irqsave(&mpc8xxx_gc->lock, flags); gc->write_reg(mpc8xxx_gc->regs + GPIO_ICR, gc->read_reg(mpc8xxx_gc->regs + GPIO_ICR) --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-mt7621.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-mt7621.c @@ -112,6 +112,8 @@ unsigned long flags; u32 rise, fall, high, low; + gpiochip_enable_irq(gc, d->hwirq); + spin_lock_irqsave(&rg->lock, flags); rise = mtk_gpio_r32(rg, GPIO_REG_REDGE); fall = mtk_gpio_r32(rg, GPIO_REG_FEDGE); @@ -143,6 +145,8 @@ mtk_gpio_w32(rg, GPIO_REG_HLVL, high & ~BIT(pin)); mtk_gpio_w32(rg, GPIO_REG_LLVL, low & ~BIT(pin)); spin_unlock_irqrestore(&rg->lock, flags); + + gpiochip_disable_irq(gc, d->hwirq); } static int @@ -204,6 +208,16 @@ return gpio % MTK_BANK_WIDTH; } +static const struct irq_chip mt7621_irq_chip = { + .name = "mt7621-gpio", + .irq_mask_ack = mediatek_gpio_irq_mask, + .irq_mask = mediatek_gpio_irq_mask, + .irq_unmask = mediatek_gpio_irq_unmask, + .irq_set_type = mediatek_gpio_irq_type, + .flags = IRQCHIP_IMMUTABLE, + GPIOCHIP_IRQ_RESOURCE_HELPERS, +}; + static int mediatek_gpio_bank_probe(struct device *dev, int bank) { @@ -238,11 +252,6 @@ return -ENOMEM; rg->chip.offset = bank * MTK_BANK_WIDTH; - rg->irq_chip.name = dev_name(dev); - rg->irq_chip.irq_unmask = mediatek_gpio_irq_unmask; - rg->irq_chip.irq_mask = mediatek_gpio_irq_mask; - rg->irq_chip.irq_mask_ack = mediatek_gpio_irq_mask; - rg->irq_chip.irq_set_type = mediatek_gpio_irq_type; if (mtk->gpio_irq) { struct gpio_irq_chip *girq; @@ -262,7 +271,7 @@ } girq = &rg->chip.irq; - girq->chip = &rg->irq_chip; + gpio_irq_chip_set_chip(girq, &mt7621_irq_chip); /* This will let us handle the parent IRQ in the driver */ girq->parent_handler = NULL; girq->num_parents = 0; --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-mvebu.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-mvebu.c @@ -793,8 +793,12 @@ u32 offset; u32 set; - if (of_device_is_compatible(mvchip->chip.of_node, - "marvell,armada-370-gpio")) { + if (mvchip->soc_variant == MVEBU_GPIO_SOC_VARIANT_A8K) { + int ret = of_property_read_u32(dev->of_node, + "marvell,pwm-offset", &offset); + if (ret < 0) + return 0; + } else { /* * There are only two sets of PWM configuration registers for * all the GPIO lines on those SoCs which this driver reserves @@ -804,13 +808,6 @@ if (!platform_get_resource_byname(pdev, IORESOURCE_MEM, "pwm")) return 0; offset = 0; - } else if (mvchip->soc_variant == MVEBU_GPIO_SOC_VARIANT_A8K) { - int ret = of_property_read_u32(dev->of_node, - "marvell,pwm-offset", &offset); - if (ret < 0) - return 0; - } else { - return 0; } if (IS_ERR(mvchip->clk)) --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-mxc.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-mxc.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -147,6 +148,7 @@ { struct irq_chip_generic *gc = irq_data_get_irq_chip_data(d); struct mxc_gpio_port *port = gc->private; + unsigned long flags; u32 bit, val; u32 gpio_idx = d->hwirq; int edge; @@ -185,6 +187,8 @@ return -EINVAL; } + raw_spin_lock_irqsave(&port->gc.bgpio_lock, flags); + if (GPIO_EDGE_SEL >= 0) { val = readl(port->base + GPIO_EDGE_SEL); if (edge == GPIO_INT_BOTH_EDGES) @@ -204,15 +208,20 @@ writel(1 << gpio_idx, port->base + GPIO_ISR); - return 0; + raw_spin_unlock_irqrestore(&port->gc.bgpio_lock, flags); + + return port->gc.direction_input(&port->gc, gpio_idx); } static void mxc_flip_edge(struct mxc_gpio_port *port, u32 gpio) { void __iomem *reg = port->base; + unsigned long flags; u32 bit, val; int edge; + raw_spin_lock_irqsave(&port->gc.bgpio_lock, flags); + reg += GPIO_ICR1 + ((gpio & 0x10) >> 2); /* lower or upper register */ bit = gpio & 0xf; val = readl(reg); @@ -227,9 +236,12 @@ } else { pr_err("mxc: invalid configuration for GPIO %d: %x\n", gpio, edge); - return; + goto unlock; } writel(val | (edge << (bit << 1)), reg); + +unlock: + raw_spin_unlock_irqrestore(&port->gc.bgpio_lock, flags); } /* handle 32 interrupts in one status register */ --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-pca953x.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-pca953x.c @@ -1175,7 +1175,9 @@ { struct pca953x_chip *chip = dev_get_drvdata(dev); + mutex_lock(&chip->i2c_lock); regcache_cache_only(chip->regmap, true); + mutex_unlock(&chip->i2c_lock); if (atomic_read(&chip->wakeup_path)) device_set_wakeup_path(dev); @@ -1198,13 +1200,17 @@ } } + mutex_lock(&chip->i2c_lock); regcache_cache_only(chip->regmap, false); regcache_mark_dirty(chip->regmap); ret = pca953x_regcache_sync(dev); - if (ret) + if (ret) { + mutex_unlock(&chip->i2c_lock); return ret; + } ret = regcache_sync(chip->regmap); + mutex_unlock(&chip->i2c_lock); if (ret) { dev_err(dev, "Failed to restore register map: %d\n", ret); return ret; --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-realtek-otto.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-realtek-otto.c @@ -46,10 +46,20 @@ * @lock: Lock for accessing the IRQ registers and values * @intr_mask: Mask for interrupts lines * @intr_type: Interrupt type selection + * @bank_read: Read a bank setting as a single 32-bit value + * @bank_write: Write a bank setting as a single 32-bit value + * @imr_line_pos: Bit shift of an IRQ line's IMR value. + * + * The DIR, DATA, and ISR registers consist of four 8-bit port values, packed + * into a single 32-bit register. Use @bank_read (@bank_write) to get (assign) + * a value from (to) these registers. The IMR register consists of four 16-bit + * port values, packed into two 32-bit registers. Use @imr_line_pos to get the + * bit shift of the 2-bit field for a line's IMR settings. Shifts larger than + * 32 overflow into the second register. * * Because the interrupt mask register (IMR) combines the function of IRQ type * selection and masking, two extra values are stored. @intr_mask is used to - * mask/unmask the interrupts for a GPIO port, and @intr_type is used to store + * mask/unmask the interrupts for a GPIO line, and @intr_type is used to store * the selected interrupt types. The logical AND of these values is written to * IMR on changes. */ @@ -59,10 +69,11 @@ void __iomem *cpumask_base; struct cpumask cpu_irq_maskable; raw_spinlock_t lock; - u16 intr_mask[REALTEK_GPIO_PORTS_PER_BANK]; - u16 intr_type[REALTEK_GPIO_PORTS_PER_BANK]; - unsigned int (*port_offset_u8)(unsigned int port); - unsigned int (*port_offset_u16)(unsigned int port); + u8 intr_mask[REALTEK_GPIO_MAX]; + u8 intr_type[REALTEK_GPIO_MAX]; + u32 (*bank_read)(void __iomem *reg); + void (*bank_write)(void __iomem *reg, u32 value); + unsigned int (*line_imr_pos)(unsigned int line); }; /* Expand with more flags as devices with other quirks are added */ @@ -101,14 +112,22 @@ * port. The two interrupt mask registers store two bits per GPIO, so use u16 * values. */ -static unsigned int realtek_gpio_port_offset_u8(unsigned int port) +static u32 realtek_gpio_bank_read_swapped(void __iomem *reg) { - return port; + return ioread32be(reg); } -static unsigned int realtek_gpio_port_offset_u16(unsigned int port) +static void realtek_gpio_bank_write_swapped(void __iomem *reg, u32 value) { - return 2 * port; + iowrite32be(value, reg); +} + +static unsigned int realtek_gpio_line_imr_pos_swapped(unsigned int line) +{ + unsigned int port_pin = line % 8; + unsigned int port = line / 8; + + return 2 * (8 * (port ^ 1) + port_pin); } /* @@ -119,66 +138,67 @@ * per GPIO, so use u16 values. The first register contains ports 1 and 0, the * second ports 3 and 2. */ -static unsigned int realtek_gpio_port_offset_u8_rev(unsigned int port) +static u32 realtek_gpio_bank_read(void __iomem *reg) { - return 3 - port; + return ioread32(reg); } -static unsigned int realtek_gpio_port_offset_u16_rev(unsigned int port) +static void realtek_gpio_bank_write(void __iomem *reg, u32 value) { - return 2 * (port ^ 1); + iowrite32(value, reg); } -static void realtek_gpio_write_imr(struct realtek_gpio_ctrl *ctrl, - unsigned int port, u16 irq_type, u16 irq_mask) +static unsigned int realtek_gpio_line_imr_pos(unsigned int line) { - iowrite16(irq_type & irq_mask, - ctrl->base + REALTEK_GPIO_REG_IMR + ctrl->port_offset_u16(port)); + return 2 * line; } -static void realtek_gpio_clear_isr(struct realtek_gpio_ctrl *ctrl, - unsigned int port, u8 mask) +static void realtek_gpio_clear_isr(struct realtek_gpio_ctrl *ctrl, u32 mask) { - iowrite8(mask, ctrl->base + REALTEK_GPIO_REG_ISR + ctrl->port_offset_u8(port)); + ctrl->bank_write(ctrl->base + REALTEK_GPIO_REG_ISR, mask); } -static u8 realtek_gpio_read_isr(struct realtek_gpio_ctrl *ctrl, unsigned int port) +static u32 realtek_gpio_read_isr(struct realtek_gpio_ctrl *ctrl) { - return ioread8(ctrl->base + REALTEK_GPIO_REG_ISR + ctrl->port_offset_u8(port)); + return ctrl->bank_read(ctrl->base + REALTEK_GPIO_REG_ISR); } -/* Set the rising and falling edge mask bits for a GPIO port pin */ -static u16 realtek_gpio_imr_bits(unsigned int pin, u16 value) +/* Set the rising and falling edge mask bits for a GPIO pin */ +static void realtek_gpio_update_line_imr(struct realtek_gpio_ctrl *ctrl, unsigned int line) { - return (value & REALTEK_GPIO_IMR_LINE_MASK) << 2 * pin; + void __iomem *reg = ctrl->base + REALTEK_GPIO_REG_IMR; + unsigned int line_shift = ctrl->line_imr_pos(line); + unsigned int shift = line_shift % 32; + u32 irq_type = ctrl->intr_type[line]; + u32 irq_mask = ctrl->intr_mask[line]; + u32 reg_val; + + reg += 4 * (line_shift / 32); + reg_val = ioread32(reg); + reg_val &= ~(REALTEK_GPIO_IMR_LINE_MASK << shift); + reg_val |= (irq_type & irq_mask & REALTEK_GPIO_IMR_LINE_MASK) << shift; + iowrite32(reg_val, reg); } static void realtek_gpio_irq_ack(struct irq_data *data) { struct realtek_gpio_ctrl *ctrl = irq_data_to_ctrl(data); irq_hw_number_t line = irqd_to_hwirq(data); - unsigned int port = line / 8; - unsigned int port_pin = line % 8; - realtek_gpio_clear_isr(ctrl, port, BIT(port_pin)); + realtek_gpio_clear_isr(ctrl, BIT(line)); } static void realtek_gpio_irq_unmask(struct irq_data *data) { struct realtek_gpio_ctrl *ctrl = irq_data_to_ctrl(data); unsigned int line = irqd_to_hwirq(data); - unsigned int port = line / 8; - unsigned int port_pin = line % 8; unsigned long flags; - u16 m; gpiochip_enable_irq(&ctrl->gc, line); raw_spin_lock_irqsave(&ctrl->lock, flags); - m = ctrl->intr_mask[port]; - m |= realtek_gpio_imr_bits(port_pin, REALTEK_GPIO_IMR_LINE_MASK); - ctrl->intr_mask[port] = m; - realtek_gpio_write_imr(ctrl, port, ctrl->intr_type[port], m); + ctrl->intr_mask[line] = REALTEK_GPIO_IMR_LINE_MASK; + realtek_gpio_update_line_imr(ctrl, line); raw_spin_unlock_irqrestore(&ctrl->lock, flags); } @@ -186,16 +206,11 @@ { struct realtek_gpio_ctrl *ctrl = irq_data_to_ctrl(data); unsigned int line = irqd_to_hwirq(data); - unsigned int port = line / 8; - unsigned int port_pin = line % 8; unsigned long flags; - u16 m; raw_spin_lock_irqsave(&ctrl->lock, flags); - m = ctrl->intr_mask[port]; - m &= ~realtek_gpio_imr_bits(port_pin, REALTEK_GPIO_IMR_LINE_MASK); - ctrl->intr_mask[port] = m; - realtek_gpio_write_imr(ctrl, port, ctrl->intr_type[port], m); + ctrl->intr_mask[line] = 0; + realtek_gpio_update_line_imr(ctrl, line); raw_spin_unlock_irqrestore(&ctrl->lock, flags); gpiochip_disable_irq(&ctrl->gc, line); @@ -205,10 +220,8 @@ { struct realtek_gpio_ctrl *ctrl = irq_data_to_ctrl(data); unsigned int line = irqd_to_hwirq(data); - unsigned int port = line / 8; - unsigned int port_pin = line % 8; unsigned long flags; - u16 type, t; + u8 type; switch (flow_type & IRQ_TYPE_SENSE_MASK) { case IRQ_TYPE_EDGE_FALLING: @@ -227,11 +240,8 @@ irq_set_handler_locked(data, handle_edge_irq); raw_spin_lock_irqsave(&ctrl->lock, flags); - t = ctrl->intr_type[port]; - t &= ~realtek_gpio_imr_bits(port_pin, REALTEK_GPIO_IMR_LINE_MASK); - t |= realtek_gpio_imr_bits(port_pin, type); - ctrl->intr_type[port] = t; - realtek_gpio_write_imr(ctrl, port, t, ctrl->intr_mask[port]); + ctrl->intr_type[line] = type; + realtek_gpio_update_line_imr(ctrl, line); raw_spin_unlock_irqrestore(&ctrl->lock, flags); return 0; @@ -242,28 +252,21 @@ struct gpio_chip *gc = irq_desc_get_handler_data(desc); struct realtek_gpio_ctrl *ctrl = gpiochip_get_data(gc); struct irq_chip *irq_chip = irq_desc_get_chip(desc); - unsigned int lines_done; - unsigned int port_pin_count; unsigned long status; int offset; chained_irq_enter(irq_chip, desc); - for (lines_done = 0; lines_done < gc->ngpio; lines_done += 8) { - status = realtek_gpio_read_isr(ctrl, lines_done / 8); - port_pin_count = min(gc->ngpio - lines_done, 8U); - for_each_set_bit(offset, &status, port_pin_count) - generic_handle_domain_irq(gc->irq.domain, offset + lines_done); - } + status = realtek_gpio_read_isr(ctrl); + for_each_set_bit(offset, &status, gc->ngpio) + generic_handle_domain_irq(gc->irq.domain, offset); chained_irq_exit(irq_chip, desc); } -static inline void __iomem *realtek_gpio_irq_cpu_mask(struct realtek_gpio_ctrl *ctrl, - unsigned int port, int cpu) +static inline void __iomem *realtek_gpio_irq_cpu_mask(struct realtek_gpio_ctrl *ctrl, int cpu) { - return ctrl->cpumask_base + ctrl->port_offset_u8(port) + - REALTEK_GPIO_PORTS_PER_BANK * cpu; + return ctrl->cpumask_base + REALTEK_GPIO_PORTS_PER_BANK * cpu; } static int realtek_gpio_irq_set_affinity(struct irq_data *data, @@ -271,12 +274,10 @@ { struct realtek_gpio_ctrl *ctrl = irq_data_to_ctrl(data); unsigned int line = irqd_to_hwirq(data); - unsigned int port = line / 8; - unsigned int port_pin = line % 8; void __iomem *irq_cpu_mask; unsigned long flags; int cpu; - u8 v; + u32 v; if (!ctrl->cpumask_base) return -ENXIO; @@ -284,15 +285,15 @@ raw_spin_lock_irqsave(&ctrl->lock, flags); for_each_cpu(cpu, &ctrl->cpu_irq_maskable) { - irq_cpu_mask = realtek_gpio_irq_cpu_mask(ctrl, port, cpu); - v = ioread8(irq_cpu_mask); + irq_cpu_mask = realtek_gpio_irq_cpu_mask(ctrl, cpu); + v = ctrl->bank_read(irq_cpu_mask); if (cpumask_test_cpu(cpu, dest)) - v |= BIT(port_pin); + v |= BIT(line); else - v &= ~BIT(port_pin); + v &= ~BIT(line); - iowrite8(v, irq_cpu_mask); + ctrl->bank_write(irq_cpu_mask, v); } raw_spin_unlock_irqrestore(&ctrl->lock, flags); @@ -305,16 +306,17 @@ static int realtek_gpio_irq_init(struct gpio_chip *gc) { struct realtek_gpio_ctrl *ctrl = gpiochip_get_data(gc); - unsigned int port; + u32 mask_all = GENMASK(gc->ngpio - 1, 0); + unsigned int line; int cpu; - for (port = 0; (port * 8) < gc->ngpio; port++) { - realtek_gpio_write_imr(ctrl, port, 0, 0); - realtek_gpio_clear_isr(ctrl, port, GENMASK(7, 0)); + for (line = 0; line < gc->ngpio; line++) + realtek_gpio_update_line_imr(ctrl, line); - for_each_cpu(cpu, &ctrl->cpu_irq_maskable) - iowrite8(GENMASK(7, 0), realtek_gpio_irq_cpu_mask(ctrl, port, cpu)); - } + realtek_gpio_clear_isr(ctrl, mask_all); + + for_each_cpu(cpu, &ctrl->cpu_irq_maskable) + ctrl->bank_write(realtek_gpio_irq_cpu_mask(ctrl, cpu), mask_all); return 0; } @@ -387,12 +389,14 @@ if (dev_flags & GPIO_PORTS_REVERSED) { bgpio_flags = 0; - ctrl->port_offset_u8 = realtek_gpio_port_offset_u8_rev; - ctrl->port_offset_u16 = realtek_gpio_port_offset_u16_rev; + ctrl->bank_read = realtek_gpio_bank_read; + ctrl->bank_write = realtek_gpio_bank_write; + ctrl->line_imr_pos = realtek_gpio_line_imr_pos; } else { bgpio_flags = BGPIOF_BIG_ENDIAN_BYTE_ORDER; - ctrl->port_offset_u8 = realtek_gpio_port_offset_u8; - ctrl->port_offset_u16 = realtek_gpio_port_offset_u16; + ctrl->bank_read = realtek_gpio_bank_read_swapped; + ctrl->bank_write = realtek_gpio_bank_write_swapped; + ctrl->line_imr_pos = realtek_gpio_line_imr_pos_swapped; } err = bgpio_init(&ctrl->gc, dev, 4, --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-rockchip.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-rockchip.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include @@ -155,6 +156,12 @@ unsigned long flags; u32 data = input ? 0 : 1; + + if (input) + pinctrl_gpio_direction_input(bank->pin_base + offset); + else + pinctrl_gpio_direction_output(bank->pin_base + offset); + raw_spin_lock_irqsave(&bank->slock, flags); rockchip_gpio_writel_bit(bank, offset, data, bank->gpio_regs->port_ddr); raw_spin_unlock_irqrestore(&bank->slock, flags); @@ -418,11 +425,11 @@ goto out; } else { bank->toggle_edge_mode |= mask; - level |= mask; + level &= ~mask; /* * Determine gpio state. If 1 next interrupt should be - * falling otherwise rising. + * low otherwise high. */ data = readl(bank->reg_base + bank->gpio_regs->ext_port); if (data & mask) @@ -613,6 +620,7 @@ return -ENODATA; pctldev = of_pinctrl_get(pctlnp); + of_node_put(pctlnp); if (!pctldev) return -ENODEV; --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-sifive.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-sifive.c @@ -215,6 +215,7 @@ return -ENODEV; } parent = irq_find_host(irq_parent); + of_node_put(irq_parent); if (!parent) { dev_err(dev, "no IRQ parent domain\n"); return -ENODEV; --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-sim.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-sim.c @@ -732,7 +732,7 @@ gpiod_remove_hogs(dev->hogs); - for (hog = dev->hogs; !hog->chip_label; hog++) { + for (hog = dev->hogs; hog->chip_label; hog++) { kfree(hog->chip_label); kfree(hog->line_name); } --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-tqmx86.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-tqmx86.c @@ -307,6 +307,8 @@ girq->default_type = IRQ_TYPE_NONE; girq->handler = handle_simple_irq; girq->init_valid_mask = tqmx86_init_irq_valid_mask; + + irq_domain_set_pm_device(girq->domain, dev); } ret = devm_gpiochip_add_data(dev, chip, gpio); @@ -315,8 +317,6 @@ goto out_pm_dis; } - irq_domain_set_pm_device(girq->domain, dev); - dev_info(dev, "GPIO functionality initialized with %d pins\n", chip->ngpio); --- linux-gcp-5.19.0.orig/drivers/gpio/gpio-vf610.c +++ linux-gcp-5.19.0/drivers/gpio/gpio-vf610.c @@ -304,7 +304,7 @@ gc = &port->gc; gc->parent = dev; - gc->label = "vf610-gpio"; + gc->label = dev_name(dev); gc->ngpio = VF610_GPIO_PER_PORT; gc->base = of_alias_get_id(np, "gpio") * VF610_GPIO_PER_PORT; --- linux-gcp-5.19.0.orig/drivers/gpio/gpiolib-acpi.c +++ linux-gcp-5.19.0/drivers/gpio/gpiolib-acpi.c @@ -32,9 +32,16 @@ "controller@pin combos on which to ignore the ACPI wake flag " "ignore_wake=controller@pin[,controller@pin[,...]]"); +static char *ignore_interrupt; +module_param(ignore_interrupt, charp, 0444); +MODULE_PARM_DESC(ignore_interrupt, + "controller@pin combos on which to ignore interrupt " + "ignore_interrupt=controller@pin[,controller@pin[,...]]"); + struct acpi_gpiolib_dmi_quirk { bool no_edge_events_on_boot; char *ignore_wake; + char *ignore_interrupt; }; /** @@ -317,14 +324,15 @@ return desc; } -static bool acpi_gpio_in_ignore_list(const char *controller_in, unsigned int pin_in) +static bool acpi_gpio_in_ignore_list(const char *ignore_list, const char *controller_in, + unsigned int pin_in) { const char *controller, *pin_str; unsigned int pin; char *endp; int len; - controller = ignore_wake; + controller = ignore_list; while (controller) { pin_str = strchr(controller, '@'); if (!pin_str) @@ -348,7 +356,7 @@ return false; err: - pr_err_once("Error: Invalid value for gpiolib_acpi.ignore_wake: %s\n", ignore_wake); + pr_err_once("Error: Invalid value for gpiolib_acpi.ignore_...: %s\n", ignore_list); return false; } @@ -360,7 +368,7 @@ if (agpio->wake_capable != ACPI_WAKE_CAPABLE) return false; - if (acpi_gpio_in_ignore_list(dev_name(parent), pin)) { + if (acpi_gpio_in_ignore_list(ignore_wake, dev_name(parent), pin)) { dev_info(parent, "Ignoring wakeup on pin %u\n", pin); return false; } @@ -427,6 +435,11 @@ goto fail_unlock_irq; } + if (acpi_gpio_in_ignore_list(ignore_interrupt, dev_name(chip->parent), pin)) { + dev_info(chip->parent, "Ignoring interrupt on pin %u\n", pin); + return AE_OK; + } + event = kzalloc(sizeof(*event), GFP_KERNEL); if (!event) goto fail_unlock_irq; @@ -1560,6 +1573,20 @@ .ignore_wake = "INT33FF:01@0", }, }, + { + /* + * Interrupt storm caused from edge triggered floating pin + * Found in BIOS UX325UAZ.300 + * https://bugzilla.kernel.org/show_bug.cgi?id=216208 + */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX325UAZ_UM325UAZ"), + }, + .driver_data = &(struct acpi_gpiolib_dmi_quirk) { + .ignore_interrupt = "AMDI0030:00@18", + }, + }, {} /* Terminating entry */ }; @@ -1582,6 +1609,9 @@ if (ignore_wake == NULL && quirk && quirk->ignore_wake) ignore_wake = quirk->ignore_wake; + if (ignore_interrupt == NULL && quirk && quirk->ignore_interrupt) + ignore_interrupt = quirk->ignore_interrupt; + return 0; } --- linux-gcp-5.19.0.orig/drivers/gpio/gpiolib-cdev.c +++ linux-gcp-5.19.0/drivers/gpio/gpiolib-cdev.c @@ -55,6 +55,50 @@ * interface to gpiolib GPIOs via ioctl()s. */ +typedef __poll_t (*poll_fn)(struct file *, struct poll_table_struct *); +typedef long (*ioctl_fn)(struct file *, unsigned int, unsigned long); +typedef ssize_t (*read_fn)(struct file *, char __user *, + size_t count, loff_t *); + +static __poll_t call_poll_locked(struct file *file, + struct poll_table_struct *wait, + struct gpio_device *gdev, poll_fn func) +{ + __poll_t ret; + + down_read(&gdev->sem); + ret = func(file, wait); + up_read(&gdev->sem); + + return ret; +} + +static long call_ioctl_locked(struct file *file, unsigned int cmd, + unsigned long arg, struct gpio_device *gdev, + ioctl_fn func) +{ + long ret; + + down_read(&gdev->sem); + ret = func(file, cmd, arg); + up_read(&gdev->sem); + + return ret; +} + +static ssize_t call_read_locked(struct file *file, char __user *buf, + size_t count, loff_t *f_ps, + struct gpio_device *gdev, read_fn func) +{ + ssize_t ret; + + down_read(&gdev->sem); + ret = func(file, buf, count, f_ps); + up_read(&gdev->sem); + + return ret; +} + /* * GPIO line handle management */ @@ -191,8 +235,8 @@ return 0; } -static long linehandle_ioctl(struct file *file, unsigned int cmd, - unsigned long arg) +static long linehandle_ioctl_unlocked(struct file *file, unsigned int cmd, + unsigned long arg) { struct linehandle_state *lh = file->private_data; void __user *ip = (void __user *)arg; @@ -201,6 +245,9 @@ unsigned int i; int ret; + if (!lh->gdev->chip) + return -ENODEV; + switch (cmd) { case GPIOHANDLE_GET_LINE_VALUES_IOCTL: /* NOTE: It's okay to read values of output lines */ @@ -247,6 +294,15 @@ } } +static long linehandle_ioctl(struct file *file, unsigned int cmd, + unsigned long arg) +{ + struct linehandle_state *lh = file->private_data; + + return call_ioctl_locked(file, cmd, arg, lh->gdev, + linehandle_ioctl_unlocked); +} + #ifdef CONFIG_COMPAT static long linehandle_ioctl_compat(struct file *file, unsigned int cmd, unsigned long arg) @@ -1366,12 +1422,15 @@ return ret; } -static long linereq_ioctl(struct file *file, unsigned int cmd, - unsigned long arg) +static long linereq_ioctl_unlocked(struct file *file, unsigned int cmd, + unsigned long arg) { struct linereq *lr = file->private_data; void __user *ip = (void __user *)arg; + if (!lr->gdev->chip) + return -ENODEV; + switch (cmd) { case GPIO_V2_LINE_GET_VALUES_IOCTL: return linereq_get_values(lr, ip); @@ -1384,6 +1443,15 @@ } } +static long linereq_ioctl(struct file *file, unsigned int cmd, + unsigned long arg) +{ + struct linereq *lr = file->private_data; + + return call_ioctl_locked(file, cmd, arg, lr->gdev, + linereq_ioctl_unlocked); +} + #ifdef CONFIG_COMPAT static long linereq_ioctl_compat(struct file *file, unsigned int cmd, unsigned long arg) @@ -1392,12 +1460,15 @@ } #endif -static __poll_t linereq_poll(struct file *file, - struct poll_table_struct *wait) +static __poll_t linereq_poll_unlocked(struct file *file, + struct poll_table_struct *wait) { struct linereq *lr = file->private_data; __poll_t events = 0; + if (!lr->gdev->chip) + return EPOLLHUP | EPOLLERR; + poll_wait(file, &lr->wait, wait); if (!kfifo_is_empty_spinlocked_noirqsave(&lr->events, @@ -1407,16 +1478,25 @@ return events; } -static ssize_t linereq_read(struct file *file, - char __user *buf, - size_t count, - loff_t *f_ps) +static __poll_t linereq_poll(struct file *file, + struct poll_table_struct *wait) +{ + struct linereq *lr = file->private_data; + + return call_poll_locked(file, wait, lr->gdev, linereq_poll_unlocked); +} + +static ssize_t linereq_read_unlocked(struct file *file, char __user *buf, + size_t count, loff_t *f_ps) { struct linereq *lr = file->private_data; struct gpio_v2_line_event le; ssize_t bytes_read = 0; int ret; + if (!lr->gdev->chip) + return -ENODEV; + if (count < sizeof(le)) return -EINVAL; @@ -1461,6 +1541,15 @@ return bytes_read; } +static ssize_t linereq_read(struct file *file, char __user *buf, + size_t count, loff_t *f_ps) +{ + struct linereq *lr = file->private_data; + + return call_read_locked(file, buf, count, f_ps, lr->gdev, + linereq_read_unlocked); +} + static void linereq_free(struct linereq *lr) { unsigned int i; @@ -1681,12 +1770,15 @@ (GPIOEVENT_REQUEST_RISING_EDGE | \ GPIOEVENT_REQUEST_FALLING_EDGE) -static __poll_t lineevent_poll(struct file *file, - struct poll_table_struct *wait) +static __poll_t lineevent_poll_unlocked(struct file *file, + struct poll_table_struct *wait) { struct lineevent_state *le = file->private_data; __poll_t events = 0; + if (!le->gdev->chip) + return EPOLLHUP | EPOLLERR; + poll_wait(file, &le->wait, wait); if (!kfifo_is_empty_spinlocked_noirqsave(&le->events, &le->wait.lock)) @@ -1695,15 +1787,21 @@ return events; } +static __poll_t lineevent_poll(struct file *file, + struct poll_table_struct *wait) +{ + struct lineevent_state *le = file->private_data; + + return call_poll_locked(file, wait, le->gdev, lineevent_poll_unlocked); +} + struct compat_gpioeevent_data { compat_u64 timestamp; u32 id; }; -static ssize_t lineevent_read(struct file *file, - char __user *buf, - size_t count, - loff_t *f_ps) +static ssize_t lineevent_read_unlocked(struct file *file, char __user *buf, + size_t count, loff_t *f_ps) { struct lineevent_state *le = file->private_data; struct gpioevent_data ge; @@ -1711,6 +1809,9 @@ ssize_t ge_size; int ret; + if (!le->gdev->chip) + return -ENODEV; + /* * When compatible system call is being used the struct gpioevent_data, * in case of at least ia32, has different size due to the alignment @@ -1768,6 +1869,15 @@ return bytes_read; } +static ssize_t lineevent_read(struct file *file, char __user *buf, + size_t count, loff_t *f_ps) +{ + struct lineevent_state *le = file->private_data; + + return call_read_locked(file, buf, count, f_ps, le->gdev, + lineevent_read_unlocked); +} + static void lineevent_free(struct lineevent_state *le) { if (le->irq) @@ -1785,13 +1895,16 @@ return 0; } -static long lineevent_ioctl(struct file *file, unsigned int cmd, - unsigned long arg) +static long lineevent_ioctl_unlocked(struct file *file, unsigned int cmd, + unsigned long arg) { struct lineevent_state *le = file->private_data; void __user *ip = (void __user *)arg; struct gpiohandle_data ghd; + if (!le->gdev->chip) + return -ENODEV; + /* * We can get the value for an event line but not set it, * because it is input by definition. @@ -1814,6 +1927,15 @@ return -EINVAL; } +static long lineevent_ioctl(struct file *file, unsigned int cmd, + unsigned long arg) +{ + struct lineevent_state *le = file->private_data; + + return call_ioctl_locked(file, cmd, arg, le->gdev, + lineevent_ioctl_unlocked); +} + #ifdef CONFIG_COMPAT static long lineevent_ioctl_compat(struct file *file, unsigned int cmd, unsigned long arg) @@ -1975,7 +2097,6 @@ ret = -ENODEV; goto out_free_le; } - le->irq = irq; if (eflags & GPIOEVENT_REQUEST_RISING_EDGE) irqflags |= test_bit(FLAG_ACTIVE_LOW, &desc->flags) ? @@ -1989,7 +2110,7 @@ init_waitqueue_head(&le->wait); /* Request a thread to read the events */ - ret = request_threaded_irq(le->irq, + ret = request_threaded_irq(irq, lineevent_irq_handler, lineevent_irq_thread, irqflags, @@ -1998,6 +2119,8 @@ if (ret) goto out_free_le; + le->irq = irq; + fd = get_unused_fd_flags(O_RDONLY | O_CLOEXEC); if (fd < 0) { ret = fd; @@ -2371,12 +2494,15 @@ return NOTIFY_OK; } -static __poll_t lineinfo_watch_poll(struct file *file, - struct poll_table_struct *pollt) +static __poll_t lineinfo_watch_poll_unlocked(struct file *file, + struct poll_table_struct *pollt) { struct gpio_chardev_data *cdev = file->private_data; __poll_t events = 0; + if (!cdev->gdev->chip) + return EPOLLHUP | EPOLLERR; + poll_wait(file, &cdev->wait, pollt); if (!kfifo_is_empty_spinlocked_noirqsave(&cdev->events, @@ -2386,8 +2512,17 @@ return events; } -static ssize_t lineinfo_watch_read(struct file *file, char __user *buf, - size_t count, loff_t *off) +static __poll_t lineinfo_watch_poll(struct file *file, + struct poll_table_struct *pollt) +{ + struct gpio_chardev_data *cdev = file->private_data; + + return call_poll_locked(file, pollt, cdev->gdev, + lineinfo_watch_poll_unlocked); +} + +static ssize_t lineinfo_watch_read_unlocked(struct file *file, char __user *buf, + size_t count, loff_t *off) { struct gpio_chardev_data *cdev = file->private_data; struct gpio_v2_line_info_changed event; @@ -2395,6 +2530,9 @@ int ret; size_t event_size; + if (!cdev->gdev->chip) + return -ENODEV; + #ifndef CONFIG_GPIO_CDEV_V1 event_size = sizeof(struct gpio_v2_line_info_changed); if (count < event_size) @@ -2462,6 +2600,15 @@ return bytes_read; } +static ssize_t lineinfo_watch_read(struct file *file, char __user *buf, + size_t count, loff_t *off) +{ + struct gpio_chardev_data *cdev = file->private_data; + + return call_read_locked(file, buf, count, off, cdev->gdev, + lineinfo_watch_read_unlocked); +} + /** * gpio_chrdev_open() - open the chardev for ioctl operations * @inode: inode for this chardev @@ -2475,13 +2622,17 @@ struct gpio_chardev_data *cdev; int ret = -ENOMEM; + down_read(&gdev->sem); + /* Fail on open if the backing gpiochip is gone */ - if (!gdev->chip) - return -ENODEV; + if (!gdev->chip) { + ret = -ENODEV; + goto out_unlock; + } cdev = kzalloc(sizeof(*cdev), GFP_KERNEL); if (!cdev) - return -ENOMEM; + goto out_unlock; cdev->watched_lines = bitmap_zalloc(gdev->chip->ngpio, GFP_KERNEL); if (!cdev->watched_lines) @@ -2504,6 +2655,8 @@ if (ret) goto out_unregister_notifier; + up_read(&gdev->sem); + return ret; out_unregister_notifier: @@ -2513,6 +2666,8 @@ bitmap_free(cdev->watched_lines); out_free_cdev: kfree(cdev); +out_unlock: + up_read(&gdev->sem); return ret; } --- linux-gcp-5.19.0.orig/drivers/gpio/gpiolib-of.c +++ linux-gcp-5.19.0/drivers/gpio/gpiolib-of.c @@ -860,7 +860,8 @@ if (mm_gc->save_regs) mm_gc->save_regs(mm_gc); - mm_gc->gc.of_node = np; + of_node_put(mm_gc->gc.of_node); + mm_gc->gc.of_node = of_node_get(np); ret = gpiochip_add_data(gc, data); if (ret) @@ -868,6 +869,7 @@ return 0; err2: + of_node_put(np); iounmap(mm_gc->regs); err1: kfree(gc->label); --- linux-gcp-5.19.0.orig/drivers/gpio/gpiolib.c +++ linux-gcp-5.19.0/drivers/gpio/gpiolib.c @@ -526,12 +526,13 @@ if (ret) return ret; + /* From this point, the .release() function cleans up gpio_device */ + gdev->dev.release = gpiodevice_release; + ret = gpiochip_sysfs_register(gdev); if (ret) goto err_remove_device; - /* From this point, the .release() function cleans up gpio_device */ - gdev->dev.release = gpiodevice_release; dev_dbg(&gdev->dev, "registered GPIOs %d to %d on %s\n", gdev->base, gdev->base + gdev->ngpio - 1, gdev->chip->label ? : "generic"); @@ -597,10 +598,10 @@ struct fwnode_handle *fwnode = NULL; struct gpio_device *gdev; unsigned long flags; - int base = gc->base; unsigned int i; + u32 ngpios = 0; + int base = 0; int ret = 0; - u32 ngpios; if (gc->fwnode) fwnode = gc->fwnode; @@ -647,17 +648,12 @@ else gdev->owner = THIS_MODULE; - gdev->descs = kcalloc(gc->ngpio, sizeof(gdev->descs[0]), GFP_KERNEL); - if (!gdev->descs) { - ret = -ENOMEM; - goto err_free_dev_name; - } - /* * Try the device properties if the driver didn't supply the number * of GPIO lines. */ - if (gc->ngpio == 0) { + ngpios = gc->ngpio; + if (ngpios == 0) { ret = device_property_read_u32(&gdev->dev, "ngpios", &ngpios); if (ret == -ENODATA) /* @@ -668,7 +664,7 @@ */ ngpios = 0; else if (ret) - goto err_free_descs; + goto err_free_dev_name; gc->ngpio = ngpios; } @@ -676,13 +672,19 @@ if (gc->ngpio == 0) { chip_err(gc, "tried to insert a GPIO chip with zero lines\n"); ret = -EINVAL; - goto err_free_descs; + goto err_free_dev_name; } if (gc->ngpio > FASTPATH_NGPIO) chip_warn(gc, "line cnt %u is greater than fast path cnt %u\n", gc->ngpio, FASTPATH_NGPIO); + gdev->descs = kcalloc(gc->ngpio, sizeof(*gdev->descs), GFP_KERNEL); + if (!gdev->descs) { + ret = -ENOMEM; + goto err_free_dev_name; + } + gdev->label = kstrdup_const(gc->label ?: "unknown", GFP_KERNEL); if (!gdev->label) { ret = -ENOMEM; @@ -701,11 +703,13 @@ * it may be a pipe dream. It will not happen before we get rid * of the sysfs interface anyways. */ + base = gc->base; if (base < 0) { base = gpiochip_find_base(gc->ngpio); if (base < 0) { - ret = base; spin_unlock_irqrestore(&gpio_lock, flags); + ret = base; + base = 0; goto err_free_label; } /* @@ -731,6 +735,7 @@ spin_unlock_irqrestore(&gpio_lock, flags); BLOCKING_INIT_NOTIFIER_HEAD(&gdev->notifier); + init_rwsem(&gdev->sem); #ifdef CONFIG_PINCTRL INIT_LIST_HEAD(&gdev->pin_ranges); @@ -816,6 +821,11 @@ err_free_gpiochip_mask: gpiochip_remove_pin_ranges(gc); gpiochip_free_valid_mask(gc); + if (gdev->dev.release) { + /* release() has been registered by gpiochip_setup_dev() */ + put_device(&gdev->dev); + goto err_print_message; + } err_remove_from_list: spin_lock_irqsave(&gpio_lock, flags); list_del(&gdev->list); @@ -829,13 +839,14 @@ err_free_ida: ida_free(&gpio_ida, gdev->id); err_free_gdev: + kfree(gdev); +err_print_message: /* failures here can mean systems won't boot... */ if (ret != -EPROBE_DEFER) { pr_err("%s: GPIOs %d..%d (%s) failed to register, %d\n", __func__, - gdev->base, gdev->base + gdev->ngpio - 1, + base, base + (int)ngpios - 1, gc->label ? : "generic", ret); } - kfree(gdev); return ret; } EXPORT_SYMBOL_GPL(gpiochip_add_data_with_key); @@ -865,6 +876,8 @@ unsigned long flags; unsigned int i; + down_write(&gdev->sem); + /* FIXME: should the legacy sysfs handling be moved to gpio_device? */ gpiochip_sysfs_unregister(gdev); gpiochip_free_hogs(gc); @@ -899,6 +912,7 @@ * gone. */ gcdev_unregister(gdev); + up_write(&gdev->sem); put_device(&gdev->dev); } EXPORT_SYMBOL_GPL(gpiochip_remove); --- linux-gcp-5.19.0.orig/drivers/gpio/gpiolib.h +++ linux-gcp-5.19.0/drivers/gpio/gpiolib.h @@ -15,6 +15,7 @@ #include #include #include +#include #define GPIOCHIP_NAME "gpiochip" @@ -39,6 +40,9 @@ * @list: links gpio_device:s together for traversal * @notifier: used to notify subscribers about lines being requested, released * or reconfigured + * @sem: protects the structure from a NULL-pointer dereference of @chip by + * user-space operations when the device gets unregistered during + * a hot-unplug event * @pin_ranges: range of pins served by the GPIO driver * * This state container holds most of the runtime variable data @@ -60,6 +64,7 @@ void *data; struct list_head list; struct blocking_notifier_head notifier; + struct rw_semaphore sem; #ifdef CONFIG_PINCTRL /* --- linux-gcp-5.19.0.orig/drivers/gpu/drm/Kconfig +++ linux-gcp-5.19.0/drivers/gpu/drm/Kconfig @@ -31,6 +31,7 @@ config DRM_MIPI_DBI tristate depends on DRM + select DRM_KMS_HELPER config DRM_MIPI_DSI bool --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/aldebaran.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/aldebaran.c @@ -148,30 +148,22 @@ struct amdgpu_reset_context *reset_context) { struct amdgpu_device *adev = (struct amdgpu_device *)reset_ctl->handle; + struct list_head *reset_device_list = reset_context->reset_device_list; struct amdgpu_device *tmp_adev = NULL; - struct list_head reset_device_list; int r = 0; dev_dbg(adev->dev, "aldebaran perform hw reset\n"); + + if (reset_device_list == NULL) + return -EINVAL; + if (adev->ip_versions[MP1_HWIP][0] == IP_VERSION(13, 0, 2) && reset_context->hive == NULL) { /* Wrong context, return error */ return -EINVAL; } - INIT_LIST_HEAD(&reset_device_list); - if (reset_context->hive) { - list_for_each_entry (tmp_adev, - &reset_context->hive->device_list, - gmc.xgmi.head) - list_add_tail(&tmp_adev->reset_list, - &reset_device_list); - } else { - list_add_tail(&reset_context->reset_req_dev->reset_list, - &reset_device_list); - } - - list_for_each_entry (tmp_adev, &reset_device_list, reset_list) { + list_for_each_entry(tmp_adev, reset_device_list, reset_list) { mutex_lock(&tmp_adev->reset_cntl->reset_lock); tmp_adev->reset_cntl->active_reset = AMD_RESET_METHOD_MODE2; } @@ -179,7 +171,7 @@ * Mode2 reset doesn't need any sync between nodes in XGMI hive, instead launch * them together so that they can be completed asynchronously on multiple nodes */ - list_for_each_entry (tmp_adev, &reset_device_list, reset_list) { + list_for_each_entry(tmp_adev, reset_device_list, reset_list) { /* For XGMI run all resets in parallel to speed up the process */ if (tmp_adev->gmc.xgmi.num_physical_nodes > 1) { if (!queue_work(system_unbound_wq, @@ -197,7 +189,7 @@ /* For XGMI wait for all resets to complete before proceed */ if (!r) { - list_for_each_entry (tmp_adev, &reset_device_list, reset_list) { + list_for_each_entry(tmp_adev, reset_device_list, reset_list) { if (tmp_adev->gmc.xgmi.num_physical_nodes > 1) { flush_work(&tmp_adev->reset_cntl->reset_work); r = tmp_adev->asic_reset_res; @@ -207,7 +199,7 @@ } } - list_for_each_entry (tmp_adev, &reset_device_list, reset_list) { + list_for_each_entry(tmp_adev, reset_device_list, reset_list) { mutex_unlock(&tmp_adev->reset_cntl->reset_lock); tmp_adev->reset_cntl->active_reset = AMD_RESET_METHOD_NONE; } @@ -339,10 +331,13 @@ aldebaran_mode2_restore_hwcontext(struct amdgpu_reset_control *reset_ctl, struct amdgpu_reset_context *reset_context) { + struct list_head *reset_device_list = reset_context->reset_device_list; struct amdgpu_device *tmp_adev = NULL; - struct list_head reset_device_list; int r; + if (reset_device_list == NULL) + return -EINVAL; + if (reset_context->reset_req_dev->ip_versions[MP1_HWIP][0] == IP_VERSION(13, 0, 2) && reset_context->hive == NULL) { @@ -350,19 +345,7 @@ return -EINVAL; } - INIT_LIST_HEAD(&reset_device_list); - if (reset_context->hive) { - list_for_each_entry (tmp_adev, - &reset_context->hive->device_list, - gmc.xgmi.head) - list_add_tail(&tmp_adev->reset_list, - &reset_device_list); - } else { - list_add_tail(&reset_context->reset_req_dev->reset_list, - &reset_device_list); - } - - list_for_each_entry (tmp_adev, &reset_device_list, reset_list) { + list_for_each_entry(tmp_adev, reset_device_list, reset_list) { dev_info(tmp_adev->dev, "GPU reset succeeded, trying to resume\n"); r = aldebaran_mode2_restore_ip(tmp_adev); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu.h @@ -313,7 +313,7 @@ AMDGPU_CP_KIQ_IRQ_DRIVER0 = 0, AMDGPU_CP_KIQ_IRQ_LAST }; - +#define SRIOV_USEC_TIMEOUT 1200000 /* wait 12 * 100ms for SRIOV */ #define MAX_KIQ_REG_WAIT 5000 /* in usecs, 5ms */ #define MAX_KIQ_REG_BAILOUT_INTERVAL 5 /* in msecs, 5ms */ #define MAX_KIQ_REG_TRY 1000 --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c @@ -1056,6 +1056,10 @@ { if (adev->flags & AMD_IS_APU) return false; + + if (amdgpu_sriov_vf(adev)) + return false; + return pm_suspend_target_state != PM_SUSPEND_TO_IDLE; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c @@ -681,6 +681,13 @@ void amdgpu_amdkfd_set_compute_idle(struct amdgpu_device *adev, bool idle) { + /* Temporary workaround to fix issues observed in some + * compute applications when GFXOFF is enabled on GFX11. + */ + if (IP_VERSION_MAJ(adev->ip_versions[GC_HWIP][0]) == 11) { + pr_debug("GFXOFF is %s\n", idle ? "enabled" : "disabled"); + amdgpu_gfx_off_ctrl(adev, idle); + } amdgpu_dpm_switch_power_profile(adev, PP_SMC_POWER_PROFILE_COMPUTE, !idle); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_aldebaran.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_aldebaran.c @@ -41,5 +41,6 @@ .get_atc_vmid_pasid_mapping_info = kgd_gfx_v9_get_atc_vmid_pasid_mapping_info, .set_vm_context_page_table_base = kgd_gfx_v9_set_vm_context_page_table_base, + .get_cu_occupancy = kgd_gfx_v9_get_cu_occupancy, .program_trap_handler_settings = kgd_gfx_v9_program_trap_handler_settings }; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v11.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v11.c @@ -111,7 +111,7 @@ lock_srbm(adev, mec, pipe, 0, 0); - WREG32(SOC15_REG_OFFSET(GC, 0, regCPC_INT_CNTL), + WREG32_SOC15(GC, 0, regCPC_INT_CNTL, CP_INT_CNTL_RING0__TIME_STAMP_INT_ENABLE_MASK | CP_INT_CNTL_RING0__OPCODE_ERROR_INT_ENABLE_MASK); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c @@ -460,13 +460,13 @@ struct ttm_tt *ttm = bo->tbo.ttm; int ret; + if (WARN_ON(ttm->num_pages != src_ttm->num_pages)) + return -EINVAL; + ttm->sg = kmalloc(sizeof(*ttm->sg), GFP_KERNEL); if (unlikely(!ttm->sg)) return -ENOMEM; - if (WARN_ON(ttm->num_pages != src_ttm->num_pages)) - return -EINVAL; - /* Same sequence as in amdgpu_ttm_tt_pin_userptr */ ret = sg_alloc_table_from_pages(ttm->sg, src_ttm->pages, ttm->num_pages, 0, @@ -2007,7 +2007,7 @@ ret = drm_vma_node_allow(&obj->vma_node, drm_priv); if (ret) { - kfree(mem); + kfree(*mem); return ret; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_atomfirmware.c @@ -314,7 +314,7 @@ mem_channel_number = vram_info->v30.channel_num; mem_channel_width = vram_info->v30.channel_width; if (vram_width) - *vram_width = mem_channel_number * mem_channel_width; + *vram_width = mem_channel_number * (1 << mem_channel_width); break; default: return -EINVAL; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c @@ -317,6 +317,7 @@ if (!found) return false; + pci_dev_put(pdev); adev->bios = kmalloc(size, GFP_KERNEL); if (!adev->bios) { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c @@ -328,7 +328,6 @@ kfree(amdgpu_connector->edid); amdgpu_connector->edid = NULL; - drm_connector_update_edid_property(connector, NULL); } static int amdgpu_connector_ddc_get_modes(struct drm_connector *connector) @@ -1674,10 +1673,12 @@ adev->mode_info.dither_property, AMDGPU_FMT_DITHER_DISABLE); - if (amdgpu_audio != 0) + if (amdgpu_audio != 0) { drm_object_attach_property(&amdgpu_connector->base.base, adev->mode_info.audio_property, AMDGPU_AUDIO_AUTO); + amdgpu_connector->audio = AMDGPU_AUDIO_AUTO; + } subpixel_order = SubPixelHorizontalRGB; connector->interlace_allowed = true; @@ -1799,6 +1800,7 @@ drm_object_attach_property(&amdgpu_connector->base.base, adev->mode_info.audio_property, AMDGPU_AUDIO_AUTO); + amdgpu_connector->audio = AMDGPU_AUDIO_AUTO; } drm_object_attach_property(&amdgpu_connector->base.base, adev->mode_info.dither_property, @@ -1852,6 +1854,7 @@ drm_object_attach_property(&amdgpu_connector->base.base, adev->mode_info.audio_property, AMDGPU_AUDIO_AUTO); + amdgpu_connector->audio = AMDGPU_AUDIO_AUTO; } drm_object_attach_property(&amdgpu_connector->base.base, adev->mode_info.dither_property, @@ -1902,6 +1905,7 @@ drm_object_attach_property(&amdgpu_connector->base.base, adev->mode_info.audio_property, AMDGPU_AUDIO_AUTO); + amdgpu_connector->audio = AMDGPU_AUDIO_AUTO; } drm_object_attach_property(&amdgpu_connector->base.base, adev->mode_info.dither_property, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c @@ -837,16 +837,12 @@ continue; r = amdgpu_vm_bo_update(adev, bo_va, false); - if (r) { - mutex_unlock(&p->bo_list->bo_list_mutex); + if (r) return r; - } r = amdgpu_sync_fence(&p->job->sync, bo_va->last_pt_update); - if (r) { - mutex_unlock(&p->bo_list->bo_list_mutex); + if (r) return r; - } } r = amdgpu_vm_handle_moved(adev, vm); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c @@ -271,32 +271,6 @@ return res; } -static int amdgpu_ctx_init(struct amdgpu_ctx_mgr *mgr, int32_t priority, - struct drm_file *filp, struct amdgpu_ctx *ctx) -{ - int r; - - r = amdgpu_ctx_priority_permit(filp, priority); - if (r) - return r; - - memset(ctx, 0, sizeof(*ctx)); - - kref_init(&ctx->refcount); - ctx->mgr = mgr; - spin_lock_init(&ctx->ring_lock); - mutex_init(&ctx->lock); - - ctx->reset_counter = atomic_read(&mgr->adev->gpu_reset_counter); - ctx->reset_counter_query = ctx->reset_counter; - ctx->vram_lost_counter = atomic_read(&mgr->adev->vram_lost_counter); - ctx->init_priority = priority; - ctx->override_priority = AMDGPU_CTX_PRIORITY_UNSET; - ctx->stable_pstate = AMDGPU_CTX_STABLE_PSTATE_NONE; - - return 0; -} - static int amdgpu_ctx_get_stable_pstate(struct amdgpu_ctx *ctx, u32 *stable_pstate) { @@ -325,6 +299,41 @@ return 0; } +static int amdgpu_ctx_init(struct amdgpu_ctx_mgr *mgr, int32_t priority, + struct drm_file *filp, struct amdgpu_ctx *ctx) +{ + u32 current_stable_pstate; + int r; + + r = amdgpu_ctx_priority_permit(filp, priority); + if (r) + return r; + + memset(ctx, 0, sizeof(*ctx)); + + kref_init(&ctx->refcount); + ctx->mgr = mgr; + spin_lock_init(&ctx->ring_lock); + mutex_init(&ctx->lock); + + ctx->reset_counter = atomic_read(&mgr->adev->gpu_reset_counter); + ctx->reset_counter_query = ctx->reset_counter; + ctx->vram_lost_counter = atomic_read(&mgr->adev->vram_lost_counter); + ctx->init_priority = priority; + ctx->override_priority = AMDGPU_CTX_PRIORITY_UNSET; + + r = amdgpu_ctx_get_stable_pstate(ctx, ¤t_stable_pstate); + if (r) + return r; + + if (mgr->adev->pm.stable_pstate_ctx) + ctx->stable_pstate = mgr->adev->pm.stable_pstate_ctx->stable_pstate; + else + ctx->stable_pstate = current_stable_pstate; + + return 0; +} + static int amdgpu_ctx_set_stable_pstate(struct amdgpu_ctx *ctx, u32 stable_pstate) { @@ -396,7 +405,7 @@ } if (drm_dev_enter(&adev->ddev, &idx)) { - amdgpu_ctx_set_stable_pstate(ctx, AMDGPU_CTX_STABLE_PSTATE_NONE); + amdgpu_ctx_set_stable_pstate(ctx, ctx->stable_pstate); drm_dev_exit(idx); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c @@ -33,6 +33,7 @@ #include #include +#include #include #include #include @@ -86,6 +87,8 @@ #define AMDGPU_MAX_RETRY_LIMIT 2 #define AMDGPU_RETRY_SRIOV_RESET(r) ((r) == -EBUSY || (r) == -ETIMEDOUT || (r) == -EINVAL) +static const struct drm_driver amdgpu_kms_driver; + const char *amdgpu_asic_name[] = { "TAHITI", "PITCAIRN", @@ -2391,8 +2394,16 @@ } adev->ip_blocks[i].status.sw = true; - /* need to do gmc hw init early so we can allocate gpu mem */ - if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC) { + if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_COMMON) { + /* need to do common hw init early so everything is set up for gmc */ + r = adev->ip_blocks[i].version->funcs->hw_init((void *)adev); + if (r) { + DRM_ERROR("hw_init %d failed %d\n", i, r); + goto init_failed; + } + adev->ip_blocks[i].status.hw = true; + } else if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC) { + /* need to do gmc hw init early so we can allocate gpu mem */ /* Try to reserve bad pages early */ if (amdgpu_sriov_vf(adev)) amdgpu_virt_exchange_data(adev); @@ -2482,12 +2493,14 @@ if (!hive->reset_domain || !amdgpu_reset_get_reset_domain(hive->reset_domain)) { r = -ENOENT; + amdgpu_put_xgmi_hive(hive); goto init_failed; } /* Drop the early temporary reset domain we created for device */ amdgpu_reset_put_reset_domain(adev->reset_domain); adev->reset_domain = hive->reset_domain; + amdgpu_put_xgmi_hive(hive); } } @@ -2942,6 +2955,14 @@ amdgpu_device_set_pg_state(adev, AMD_PG_STATE_UNGATE); amdgpu_device_set_cg_state(adev, AMD_CG_STATE_UNGATE); + /* + * Per PMFW team's suggestion, driver needs to handle gfxoff + * and df cstate features disablement for gpu reset(e.g. Mode1Reset) + * scenario. Add the missing df cstate disablement here. + */ + if (amdgpu_dpm_set_df_cstate(adev, DF_CSTATE_DISALLOW)) + dev_warn(adev->dev, "Failed to disallow df cstate"); + for (i = adev->num_ip_blocks - 1; i >= 0; i--) { if (!adev->ip_blocks[i].status.valid) continue; @@ -3076,8 +3097,8 @@ int i, r; static enum amd_ip_block_type ip_order[] = { - AMD_IP_BLOCK_TYPE_GMC, AMD_IP_BLOCK_TYPE_COMMON, + AMD_IP_BLOCK_TYPE_GMC, AMD_IP_BLOCK_TYPE_PSP, AMD_IP_BLOCK_TYPE_IH, }; @@ -3168,7 +3189,8 @@ continue; if (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_COMMON || adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_GMC || - adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_IH) { + adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_IH || + (adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_PSP && amdgpu_sriov_vf(adev))) { r = adev->ip_blocks[i].version->funcs->resume(adev); if (r) { @@ -3215,6 +3237,15 @@ return r; } adev->ip_blocks[i].status.hw = true; + + if (adev->in_s0ix && adev->ip_blocks[i].version->type == AMD_IP_BLOCK_TYPE_SMC) { + /* disable gfxoff for IP resume. The gfxoff will be re-enabled in + * amdgpu_device_resume() after IP resume. + */ + amdgpu_gfx_off_ctrl(adev, false); + DRM_DEBUG("will disable gfxoff for re-initializing other blocks\n"); + } + } return 0; @@ -3698,6 +3729,11 @@ if (r) return r; + /* Get rid of things like offb */ + r = drm_aperture_remove_conflicting_pci_framebuffers(adev->pdev, &amdgpu_kms_driver); + if (r) + return r; + /* Enable TMZ based on IP_VERSION */ amdgpu_gmc_tmz_set(adev); @@ -4087,15 +4123,18 @@ * at suspend time. * */ -static void amdgpu_device_evict_resources(struct amdgpu_device *adev) +static int amdgpu_device_evict_resources(struct amdgpu_device *adev) { + int ret; + /* No need to evict vram on APUs for suspend to ram or s2idle */ if ((adev->in_s3 || adev->in_s0ix) && (adev->flags & AMD_IS_APU)) - return; + return 0; - if (amdgpu_ttm_evict_resources(adev, TTM_PL_VRAM)) + ret = amdgpu_ttm_evict_resources(adev, TTM_PL_VRAM); + if (ret) DRM_WARN("evicting device resources failed\n"); - + return ret; } /* @@ -4114,17 +4153,32 @@ int amdgpu_device_suspend(struct drm_device *dev, bool fbcon) { struct amdgpu_device *adev = drm_to_adev(dev); + int r = 0; if (dev->switch_power_state == DRM_SWITCH_POWER_OFF) return 0; adev->in_suspend = true; + if (amdgpu_sriov_vf(adev)) { + amdgpu_virt_fini_data_exchange(adev); + r = amdgpu_virt_request_full_gpu(adev, false); + if (r) + return r; + } + if (amdgpu_acpi_smart_shift_update(dev, AMDGPU_SS_DEV_D3)) DRM_WARN("smart shift update failed\n"); drm_kms_helper_poll_disable(dev); + if (adev->in_s0ix) { + /* re-enable gfxoff after IP resume. This re-enables gfxoff after + * it was disabled for IP resume in amdgpu_device_ip_resume_phase2(). + */ + amdgpu_gfx_off_ctrl(adev, true); + DRM_DEBUG("will enable gfxoff for the mission mode\n"); + } if (fbcon) drm_fb_helper_set_suspend_unlocked(adev_to_drm(adev)->fb_helper, true); @@ -4137,12 +4191,17 @@ if (!adev->in_s0ix) amdgpu_amdkfd_suspend(adev, adev->in_runpm); - amdgpu_device_evict_resources(adev); + r = amdgpu_device_evict_resources(adev); + if (r) + return r; amdgpu_fence_driver_hw_fini(adev); amdgpu_device_ip_suspend_phase2(adev); + if (amdgpu_sriov_vf(adev)) + amdgpu_virt_release_full_gpu(adev, false); + return 0; } @@ -4161,6 +4220,12 @@ struct amdgpu_device *adev = drm_to_adev(dev); int r = 0; + if (amdgpu_sriov_vf(adev)) { + r = amdgpu_virt_request_full_gpu(adev, true); + if (r) + return r; + } + if (dev->switch_power_state == DRM_SWITCH_POWER_OFF) return 0; @@ -4175,6 +4240,13 @@ } r = amdgpu_device_ip_resume(adev); + + /* no matter what r is, always need to properly release full GPU */ + if (amdgpu_sriov_vf(adev)) { + amdgpu_virt_init_data_exchange(adev); + amdgpu_virt_release_full_gpu(adev, true); + } + if (r) { dev_err(adev->dev, "amdgpu_device_ip_resume failed (%d).\n", r); return r; @@ -4473,8 +4545,6 @@ retry: amdgpu_amdkfd_pre_reset(adev); - amdgpu_amdkfd_pre_reset(adev); - if (from_hypervisor) r = amdgpu_virt_request_full_gpu(adev, true); else @@ -4746,6 +4816,8 @@ tmp_adev = list_first_entry(device_list_handle, struct amdgpu_device, reset_list); amdgpu_reset_reg_dumps(tmp_adev); + + reset_context->reset_device_list = device_list_handle; r = amdgpu_reset_perform_reset(tmp_adev, reset_context); /* If reset handler not implemented, continue; otherwise return */ if (r == -ENOSYS) @@ -4935,6 +5007,8 @@ pm_runtime_enable(&(p->dev)); pm_runtime_resume(&(p->dev)); } + + pci_dev_put(p); } static int amdgpu_device_suspend_display_audio(struct amdgpu_device *adev) @@ -4973,6 +5047,7 @@ if (expires < ktime_get_mono_fast_ns()) { dev_warn(adev->dev, "failed to suspend display audio\n"); + pci_dev_put(p); /* TODO: abort the succeeding gpu reset? */ return -ETIMEDOUT; } @@ -4980,6 +5055,7 @@ pm_runtime_disable(&(p->dev)); + pci_dev_put(p); return 0; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c @@ -2194,12 +2194,9 @@ break; case IP_VERSION(7, 4, 0): case IP_VERSION(7, 4, 1): - adev->nbio.funcs = &nbio_v7_4_funcs; - adev->nbio.hdp_flush_reg = &nbio_v7_4_hdp_flush_reg; - break; case IP_VERSION(7, 4, 4): adev->nbio.funcs = &nbio_v7_4_funcs; - adev->nbio.hdp_flush_reg = &nbio_v7_4_hdp_flush_reg_ald; + adev->nbio.hdp_flush_reg = &nbio_v7_4_hdp_flush_reg; break; case IP_VERSION(7, 2, 0): case IP_VERSION(7, 2, 1): @@ -2213,15 +2210,12 @@ case IP_VERSION(2, 3, 0): case IP_VERSION(2, 3, 1): case IP_VERSION(2, 3, 2): - adev->nbio.funcs = &nbio_v2_3_funcs; - adev->nbio.hdp_flush_reg = &nbio_v2_3_hdp_flush_reg; - break; case IP_VERSION(3, 3, 0): case IP_VERSION(3, 3, 1): case IP_VERSION(3, 3, 2): case IP_VERSION(3, 3, 3): adev->nbio.funcs = &nbio_v2_3_funcs; - adev->nbio.hdp_flush_reg = &nbio_v2_3_hdp_flush_reg_sc; + adev->nbio.hdp_flush_reg = &nbio_v2_3_hdp_flush_reg; break; case IP_VERSION(4, 3, 0): case IP_VERSION(4, 3, 1): --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -495,6 +496,11 @@ .create_handle = drm_gem_fb_create_handle, }; +static const struct drm_framebuffer_funcs amdgpu_fb_funcs_atomic = { + .destroy = drm_gem_fb_destroy, + .create_handle = drm_gem_fb_create_handle, +}; + uint32_t amdgpu_display_supported_domains(struct amdgpu_device *adev, uint64_t bo_flags) { @@ -1069,7 +1075,10 @@ if (ret) goto err; - ret = drm_framebuffer_init(dev, &rfb->base, &amdgpu_fb_funcs); + if (drm_drv_uses_atomic_modeset(dev)) + ret = drm_framebuffer_init(dev, &rfb->base, &amdgpu_fb_funcs_atomic); + else + ret = drm_framebuffer_init(dev, &rfb->base, &amdgpu_fb_funcs); if (ret) goto err; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -23,7 +23,6 @@ */ #include -#include #include #include #include @@ -2010,6 +2009,15 @@ "See modparam exp_hw_support\n"); return -ENODEV; } + /* differentiate between P10 and P11 asics with the same DID */ + if (pdev->device == 0x67FF && + (pdev->revision == 0xE3 || + pdev->revision == 0xE7 || + pdev->revision == 0xF3 || + pdev->revision == 0xF7)) { + flags &= ~AMD_ASIC_MASK; + flags |= CHIP_POLARIS10; + } /* Due to hardware bugs, S/G Display on raven requires a 1:1 IOMMU mapping, * however, SME requires an indirect IOMMU mapping because the encryption @@ -2057,11 +2065,6 @@ } #endif - /* Get rid of things like offb */ - ret = drm_aperture_remove_conflicting_pci_framebuffers(pdev, &amdgpu_kms_driver); - if (ret) - return ret; - adev = devm_drm_dev_alloc(&pdev->dev, &amdgpu_kms_driver, typeof(*adev), ddev); if (IS_ERR(adev)) return PTR_ERR(adev); @@ -2079,12 +2082,12 @@ pci_set_drvdata(pdev, ddev); - ret = amdgpu_driver_load_kms(adev, ent->driver_data); + ret = amdgpu_driver_load_kms(adev, flags); if (ret) goto err_pci; retry_init: - ret = drm_dev_register(ddev, ent->driver_data); + ret = drm_dev_register(ddev, flags); if (ret == -EAGAIN && ++retry <= 3) { DRM_INFO("retry init %d\n", retry); /* Don't request EX mode too frequently which is attacking */ @@ -2548,8 +2551,11 @@ amdgpu_device_baco_exit(drm_dev); } ret = amdgpu_device_resume(drm_dev, false); - if (ret) + if (ret) { + if (amdgpu_device_supports_px(drm_dev)) + pci_disable_device(pdev); return ret; + } if (amdgpu_device_supports_px(drm_dev)) drm_dev->switch_power_state = DRM_SWITCH_POWER_ON; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_fence.c @@ -541,7 +541,13 @@ if (!ring || !ring->fence_drv.initialized) continue; - if (!ring->no_scheduler) + /* + * Notice we check for sched.ops since there's some + * override on the meaning of sched.ready by amdgpu. + * The natural check would be sched.ready, which is + * set as drm_sched_init() finishes... + */ + if (ring->sched.ops) drm_sched_fini(&ring->sched); for (j = 0; j <= ring->fence_drv.num_fences_mask; ++j) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_fru_eeprom.c @@ -66,10 +66,15 @@ return true; case CHIP_SIENNA_CICHLID: if (strnstr(atom_ctx->vbios_version, "D603", + sizeof(atom_ctx->vbios_version))) { + if (strnstr(atom_ctx->vbios_version, "D603GLXE", sizeof(atom_ctx->vbios_version))) - return true; - else + return false; + else + return true; + } else { return false; + } default: return false; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c @@ -413,11 +413,9 @@ if (r) goto release_object; - if (args->flags & AMDGPU_GEM_USERPTR_REGISTER) { - r = amdgpu_mn_register(bo, args->addr); - if (r) - goto release_object; - } + r = amdgpu_mn_register(bo, args->addr); + if (r) + goto release_object; if (args->flags & AMDGPU_GEM_USERPTR_VALIDATE) { r = amdgpu_ttm_tt_get_user_pages(bo, bo->tbo.ttm->pages); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c @@ -549,10 +549,14 @@ if (adev->gfx.gfx_off_req_count == 0 && !adev->gfx.gfx_off_state) { /* If going to s2idle, no need to wait */ - if (adev->in_s0ix) - delay = GFX_OFF_NO_DELAY; - schedule_delayed_work(&adev->gfx.gfx_off_delay_work, + if (adev->in_s0ix) { + if (!amdgpu_dpm_set_powergating_by_smu(adev, + AMD_IP_BLOCK_TYPE_GFX, true)) + adev->gfx.gfx_off_state = true; + } else { + schedule_delayed_work(&adev->gfx.gfx_off_delay_work, delay); + } } } else { if (adev->gfx.gfx_off_req_count == 0) { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c @@ -479,6 +479,12 @@ unsigned i; unsigned vmhub, inv_eng; + if (adev->enable_mes) { + /* reserve engine 5 for firmware */ + for (vmhub = 0; vmhub < AMDGPU_MAX_VMHUBS; vmhub++) + vm_inv_engs[vmhub] &= ~(1 << 5); + } + for (i = 0; i < adev->num_rings; ++i) { ring = adev->rings[i]; vmhub = ring->funcs->vmhub; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c @@ -169,6 +169,9 @@ for (i = 0; i < AMDGPU_MES_MAX_SDMA_PIPES; i++) { if (adev->ip_versions[SDMA0_HWIP][0] < IP_VERSION(6, 0, 0)) adev->mes.sdma_hqd_mask[i] = i ? 0 : 0x3fc; + /* zero sdma_hqd_mask for non-existent engine */ + else if (adev->sdma.num_instances == 1) + adev->mes.sdma_hqd_mask[i] = i ? 0 : 0xfc; else adev->mes.sdma_hqd_mask[i] = 0xfc; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c @@ -882,6 +882,10 @@ if (WARN_ON_ONCE(min_offset > max_offset)) return -EINVAL; + /* Check domain to be pinned to against preferred domains */ + if (bo->preferred_domains & domain) + domain = bo->preferred_domains & domain; + /* A shared bo cannot be migrated to VRAM */ if (bo->tbo.base.import_attach) { if (domain & AMDGPU_GEM_DOMAIN_GTT) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c @@ -166,6 +166,7 @@ { amdgpu_bo_free_kernel(&mem_ctx->shared_bo, &mem_ctx->shared_mc_addr, &mem_ctx->shared_buf); + mem_ctx->shared_bo = NULL; } static void psp_free_shared_bufs(struct psp_context *psp) @@ -176,6 +177,7 @@ /* free TMR memory buffer */ pptr = amdgpu_sriov_vf(psp->adev) ? &tmr_buf : NULL; amdgpu_bo_free_kernel(&psp->tmr_bo, &psp->tmr_mc_addr, pptr); + psp->tmr_bo = NULL; /* free xgmi shared memory */ psp_ta_free_shared_buf(&psp->xgmi_context.context.mem_context); @@ -720,7 +722,7 @@ /* Set up Trusted Memory Region */ static int psp_tmr_init(struct psp_context *psp) { - int ret; + int ret = 0; int tmr_size; void *tmr_buf; void **pptr; @@ -747,10 +749,12 @@ } } - pptr = amdgpu_sriov_vf(psp->adev) ? &tmr_buf : NULL; - ret = amdgpu_bo_create_kernel(psp->adev, tmr_size, PSP_TMR_SIZE(psp->adev), - AMDGPU_GEM_DOMAIN_VRAM, - &psp->tmr_bo, &psp->tmr_mc_addr, pptr); + if (!psp->tmr_bo) { + pptr = amdgpu_sriov_vf(psp->adev) ? &tmr_buf : NULL; + ret = amdgpu_bo_create_kernel(psp->adev, tmr_size, PSP_TMR_ALIGNMENT, + AMDGPU_GEM_DOMAIN_VRAM, + &psp->tmr_bo, &psp->tmr_mc_addr, pptr); + } return ret; } @@ -2372,7 +2376,7 @@ static bool fw_load_skip_check(struct psp_context *psp, struct amdgpu_firmware_info *ucode) { - if (!ucode->fw) + if (!ucode->fw || !ucode->ucode_size) return true; if (ucode->ucode_id == AMDGPU_UCODE_ID_SMC && @@ -2612,6 +2616,9 @@ psp_rap_terminate(psp); psp_dtm_terminate(psp); psp_hdcp_terminate(psp); + + if (adev->gmc.xgmi.num_physical_nodes > 1) + psp_xgmi_terminate(psp); } psp_asd_terminate(psp); @@ -2685,8 +2692,6 @@ } out: - psp_free_shared_bufs(psp); - return ret; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h @@ -36,6 +36,7 @@ #define PSP_CMD_BUFFER_SIZE 0x1000 #define PSP_1_MEG 0x100000 #define PSP_TMR_SIZE(adev) ((adev)->asic_type == CHIP_ALDEBARAN ? 0x800000 : 0x400000) +#define PSP_TMR_ALIGNMENT 0x100000 #define PSP_FW_NAME_LEN 0x24 enum psp_shared_mem_size { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c @@ -1805,7 +1805,8 @@ amdgpu_ras_query_error_status(adev, &info); if (adev->ip_versions[MP0_HWIP][0] != IP_VERSION(11, 0, 2) && - adev->ip_versions[MP0_HWIP][0] != IP_VERSION(11, 0, 4)) { + adev->ip_versions[MP0_HWIP][0] != IP_VERSION(11, 0, 4) && + adev->ip_versions[MP0_HWIP][0] != IP_VERSION(13, 0, 0)) { if (amdgpu_ras_reset_error_status(adev, info.head.block)) dev_warn(adev->dev, "Failed to reset error counter and error status"); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_reset.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_reset.h @@ -37,6 +37,7 @@ struct amdgpu_device *reset_req_dev; struct amdgpu_job *job; struct amdgpu_hive_info *hive; + struct list_head *reset_device_list; unsigned long flags; }; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c @@ -424,8 +424,9 @@ static bool amdgpu_mem_visible(struct amdgpu_device *adev, struct ttm_resource *mem) { - uint64_t mem_size = (u64)mem->num_pages << PAGE_SHIFT; + u64 mem_size = (u64)mem->num_pages << PAGE_SHIFT; struct amdgpu_res_cursor cursor; + u64 end; if (mem->mem_type == TTM_PL_SYSTEM || mem->mem_type == TTM_PL_TT) @@ -434,12 +435,21 @@ return false; amdgpu_res_first(mem, 0, mem_size, &cursor); + end = cursor.start + cursor.size; + while (cursor.remaining) { + amdgpu_res_next(&cursor, cursor.size); - /* ttm_resource_ioremap only supports contiguous memory */ - if (cursor.size != mem_size) - return false; + if (!cursor.remaining) + break; + + /* ttm_resource_ioremap only supports contiguous memory */ + if (end != cursor.start) + return false; + + end = cursor.start + cursor.size; + } - return cursor.start + cursor.size <= adev->gmc.visible_vram_size; + return end <= adev->gmc.visible_vram_size; } /* --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.c @@ -154,6 +154,9 @@ break; case IP_VERSION(3, 0, 2): fw_name = FIRMWARE_VANGOGH; + if ((adev->firmware.load_type == AMDGPU_FW_LOAD_PSP) && + (adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG)) + adev->vcn.indirect_sram = true; break; case IP_VERSION(3, 0, 16): fw_name = FIRMWARE_DIMGREY_CAVEFISH; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_vcn.h @@ -161,6 +161,7 @@ #define AMDGPU_VCN_SW_RING_FLAG (1 << 9) #define AMDGPU_VCN_FW_LOGGING_FLAG (1 << 10) #define AMDGPU_VCN_SMU_VERSION_INFO_FLAG (1 << 11) +#define AMDGPU_VCN_SMU_DPM_INTERFACE_FLAG (1 << 11) #define AMDGPU_VCN_IB_FLAG_DECODE_BUFFER 0x00000001 #define AMDGPU_VCN_CMD_FLAG_MSG_BUFFER 0x00000001 @@ -170,6 +171,9 @@ #define VCN_CODEC_DISABLE_MASK_HEVC (1 << 2) #define VCN_CODEC_DISABLE_MASK_H264 (1 << 3) +#define AMDGPU_VCN_SMU_DPM_INTERFACE_DGPU (0) +#define AMDGPU_VCN_SMU_DPM_INTERFACE_APU (1) + enum fw_queue_mode { FW_QUEUE_RING_RESET = 1, FW_QUEUE_DPG_HOLD_OFF = 2, @@ -323,6 +327,9 @@ struct amdgpu_fw_shared_unified_queue_struct sq; uint8_t pad1[8]; struct amdgpu_fw_shared_fw_logging fw_log; + uint8_t pad2[20]; + uint32_t pad3[13]; + struct amdgpu_fw_shared_smu_interface_info smu_dpm_interface; }; struct amdgpu_vcn_fwlog { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c @@ -720,6 +720,12 @@ adev->virt.caps |= AMDGPU_PASSTHROUGH_MODE; } + if (amdgpu_sriov_vf(adev) && adev->asic_type == CHIP_SIENNA_CICHLID) + /* VF MMIO access (except mailbox range) from CPU + * will be blocked during sriov runtime + */ + adev->virt.caps |= AMDGPU_VF_MMIO_ACCESS_PROTECT; + /* we have the ability to check now */ if (amdgpu_sriov_vf(adev)) { switch (adev->asic_type) { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.h @@ -31,6 +31,7 @@ #define AMDGPU_SRIOV_CAPS_IS_VF (1 << 2) /* this GPU is a virtual function */ #define AMDGPU_PASSTHROUGH_MODE (1 << 3) /* thw whole GPU is pass through for VM */ #define AMDGPU_SRIOV_CAPS_RUNTIME (1 << 4) /* is out of full access mode */ +#define AMDGPU_VF_MMIO_ACCESS_PROTECT (1 << 5) /* MMIO write access is not allowed in sriov runtime */ /* flags for indirect register access path supported by rlcg for sriov */ #define AMDGPU_RLCG_GC_WRITE_LEGACY (0x8 << 28) @@ -74,6 +75,8 @@ uint64_t data[AMDGPU_VF_ERROR_ENTRY_SIZE]; }; +enum idh_request; + /** * struct amdgpu_virt_ops - amdgpu device virt operations */ @@ -83,7 +86,8 @@ int (*req_init_data)(struct amdgpu_device *adev); int (*reset_gpu)(struct amdgpu_device *adev); int (*wait_reset)(struct amdgpu_device *adev); - void (*trans_msg)(struct amdgpu_device *adev, u32 req, u32 data1, u32 data2, u32 data3); + void (*trans_msg)(struct amdgpu_device *adev, enum idh_request req, + u32 data1, u32 data2, u32 data3); }; /* @@ -294,6 +298,9 @@ #define amdgpu_passthrough(adev) \ ((adev)->virt.caps & AMDGPU_PASSTHROUGH_MODE) +#define amdgpu_sriov_vf_mmio_access_protection(adev) \ +((adev)->virt.caps & AMDGPU_VF_MMIO_ACCESS_PROTECT) + static inline bool is_virtual_machine(void) { #if defined(CONFIG_X86) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_vkms.c @@ -496,11 +496,12 @@ adev_to_drm(adev)->mode_config.max_height = YRES_MAX; adev_to_drm(adev)->mode_config.preferred_depth = 24; - /* disable prefer shadow for now due to hibernation issues */ - adev_to_drm(adev)->mode_config.prefer_shadow = 0; + adev_to_drm(adev)->mode_config.prefer_shadow = 1; adev_to_drm(adev)->mode_config.fb_base = adev->gmc.aper_base; + adev_to_drm(adev)->mode_config.fb_modifiers_not_supported = true; + r = amdgpu_display_modeset_create_props(adev); if (r) return r; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c @@ -143,32 +143,6 @@ return 0; } -/* - * vm eviction_lock can be taken in MMU notifiers. Make sure no reclaim-FS - * happens while holding this lock anywhere to prevent deadlocks when - * an MMU notifier runs in reclaim-FS context. - */ -static inline void amdgpu_vm_eviction_lock(struct amdgpu_vm *vm) -{ - mutex_lock(&vm->eviction_lock); - vm->saved_flags = memalloc_noreclaim_save(); -} - -static inline int amdgpu_vm_eviction_trylock(struct amdgpu_vm *vm) -{ - if (mutex_trylock(&vm->eviction_lock)) { - vm->saved_flags = memalloc_noreclaim_save(); - return 1; - } - return 0; -} - -static inline void amdgpu_vm_eviction_unlock(struct amdgpu_vm *vm) -{ - memalloc_noreclaim_restore(vm->saved_flags); - mutex_unlock(&vm->eviction_lock); -} - /** * amdgpu_vm_bo_evicted - vm_bo is evicted * @@ -2293,7 +2267,11 @@ */ #ifdef CONFIG_X86_64 if (amdgpu_vm_update_mode == -1) { - if (amdgpu_gmc_vram_full_visible(&adev->gmc)) + /* For asic with VF MMIO access protection + * avoid using CPU for VM table updates + */ + if (amdgpu_gmc_vram_full_visible(&adev->gmc) && + !amdgpu_sriov_vf_mmio_access_protection(adev)) adev->vm_manager.vm_update_mode = AMDGPU_VM_USE_CPU_FOR_COMPUTE; else --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h @@ -485,7 +485,48 @@ */ static inline uint64_t amdgpu_vm_tlb_seq(struct amdgpu_vm *vm) { + unsigned long flags; + spinlock_t *lock; + + /* + * Workaround to stop racing between the fence signaling and handling + * the cb. The lock is static after initially setting it up, just make + * sure that the dma_fence structure isn't freed up. + */ + rcu_read_lock(); + lock = vm->last_tlb_flush->lock; + rcu_read_unlock(); + + spin_lock_irqsave(lock, flags); + spin_unlock_irqrestore(lock, flags); + return atomic64_read(&vm->tlb_seq); } +/* + * vm eviction_lock can be taken in MMU notifiers. Make sure no reclaim-FS + * happens while holding this lock anywhere to prevent deadlocks when + * an MMU notifier runs in reclaim-FS context. + */ +static inline void amdgpu_vm_eviction_lock(struct amdgpu_vm *vm) +{ + mutex_lock(&vm->eviction_lock); + vm->saved_flags = memalloc_noreclaim_save(); +} + +static inline bool amdgpu_vm_eviction_trylock(struct amdgpu_vm *vm) +{ + if (mutex_trylock(&vm->eviction_lock)) { + vm->saved_flags = memalloc_noreclaim_save(); + return true; + } + return false; +} + +static inline void amdgpu_vm_eviction_unlock(struct amdgpu_vm *vm) +{ + memalloc_noreclaim_restore(vm->saved_flags); + mutex_unlock(&vm->eviction_lock); +} + #endif --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c @@ -597,7 +597,9 @@ if (entry->bo) return 0; + amdgpu_vm_eviction_unlock(vm); r = amdgpu_vm_pt_create(adev, vm, cursor->level, immediate, &pt); + amdgpu_vm_eviction_lock(vm); if (r) return r; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c @@ -211,12 +211,15 @@ int r; /* Wait for PD/PT moves to be completed */ - dma_resv_for_each_fence(&cursor, bo->tbo.base.resv, - DMA_RESV_USAGE_KERNEL, fence) { + dma_resv_iter_begin(&cursor, bo->tbo.base.resv, DMA_RESV_USAGE_KERNEL); + dma_resv_for_each_fence_unlocked(&cursor, fence) { r = amdgpu_sync_fence(&p->job->sync, fence); - if (r) + if (r) { + dma_resv_iter_end(&cursor); return r; + } } + dma_resv_iter_end(&cursor); do { ndw = p->num_dw_left; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c @@ -742,7 +742,7 @@ amdgpu_put_xgmi_hive(hive); } - return psp_xgmi_terminate(&adev->psp); + return 0; } static int amdgpu_xgmi_ras_late_init(struct amdgpu_device *adev, struct ras_common_if *ras_block) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/dce_v10_0.c @@ -2796,8 +2796,7 @@ adev_to_drm(adev)->mode_config.max_height = 16384; adev_to_drm(adev)->mode_config.preferred_depth = 24; - /* disable prefer shadow for now due to hibernation issues */ - adev_to_drm(adev)->mode_config.prefer_shadow = 0; + adev_to_drm(adev)->mode_config.prefer_shadow = 1; adev_to_drm(adev)->mode_config.fb_modifiers_not_supported = true; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/dce_v11_0.c @@ -2914,8 +2914,7 @@ adev_to_drm(adev)->mode_config.max_height = 16384; adev_to_drm(adev)->mode_config.preferred_depth = 24; - /* disable prefer shadow for now due to hibernation issues */ - adev_to_drm(adev)->mode_config.prefer_shadow = 0; + adev_to_drm(adev)->mode_config.prefer_shadow = 1; adev_to_drm(adev)->mode_config.fb_modifiers_not_supported = true; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c @@ -2673,8 +2673,7 @@ adev_to_drm(adev)->mode_config.max_width = 16384; adev_to_drm(adev)->mode_config.max_height = 16384; adev_to_drm(adev)->mode_config.preferred_depth = 24; - /* disable prefer shadow for now due to hibernation issues */ - adev_to_drm(adev)->mode_config.prefer_shadow = 0; + adev_to_drm(adev)->mode_config.prefer_shadow = 1; adev_to_drm(adev)->mode_config.fb_modifiers_not_supported = true; adev_to_drm(adev)->mode_config.fb_base = adev->gmc.aper_base; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c @@ -2693,8 +2693,11 @@ adev_to_drm(adev)->mode_config.max_height = 16384; adev_to_drm(adev)->mode_config.preferred_depth = 24; - /* disable prefer shadow for now due to hibernation issues */ - adev_to_drm(adev)->mode_config.prefer_shadow = 0; + if (adev->asic_type == CHIP_HAWAII) + /* disable prefer shadow for now due to hibernation issues */ + adev_to_drm(adev)->mode_config.prefer_shadow = 0; + else + adev_to_drm(adev)->mode_config.prefer_shadow = 1; adev_to_drm(adev)->mode_config.fb_modifiers_not_supported = true; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c @@ -3780,11 +3780,12 @@ static int gfx_v10_0_ring_test_ring(struct amdgpu_ring *ring) { struct amdgpu_device *adev = ring->adev; + uint32_t scratch = SOC15_REG_OFFSET(GC, 0, mmSCRATCH_REG0); uint32_t tmp = 0; unsigned i; int r; - WREG32_SOC15(GC, 0, mmSCRATCH_REG0, 0xCAFEDEAD); + WREG32(scratch, 0xCAFEDEAD); r = amdgpu_ring_alloc(ring, 3); if (r) { DRM_ERROR("amdgpu: cp failed to lock ring %d (%d).\n", @@ -3793,13 +3794,13 @@ } amdgpu_ring_write(ring, PACKET3(PACKET3_SET_UCONFIG_REG, 1)); - amdgpu_ring_write(ring, SOC15_REG_OFFSET(GC, 0, mmSCRATCH_REG0) - + amdgpu_ring_write(ring, scratch - PACKET3_SET_UCONFIG_REG_START); amdgpu_ring_write(ring, 0xDEADBEEF); amdgpu_ring_commit(ring); for (i = 0; i < adev->usec_timeout; i++) { - tmp = RREG32_SOC15(GC, 0, mmSCRATCH_REG0); + tmp = RREG32(scratch); if (tmp == 0xDEADBEEF) break; if (amdgpu_emu_mode == 1) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c @@ -1864,7 +1864,7 @@ WREG32_SOC15(GC, 0, regSH_MEM_BASES, sh_mem_bases); /* Enable trap for each kfd vmid. */ - data = RREG32(SOC15_REG_OFFSET(GC, 0, regSPI_GDBG_PER_VMID_CNTL)); + data = RREG32_SOC15(GC, 0, regSPI_GDBG_PER_VMID_CNTL); data = REG_SET_FIELD(data, SPI_GDBG_PER_VMID_CNTL, TRAP_EN, 1); } soc21_grbm_select(adev, 0, 0, 0, 0); @@ -5090,9 +5090,12 @@ data = REG_SET_FIELD(data, SDMA0_RLC_CGCG_CTRL, CGCG_INT_ENABLE, 1); WREG32_SOC15(GC, 0, regSDMA0_RLC_CGCG_CTRL, data); - data = RREG32_SOC15(GC, 0, regSDMA1_RLC_CGCG_CTRL); - data = REG_SET_FIELD(data, SDMA1_RLC_CGCG_CTRL, CGCG_INT_ENABLE, 1); - WREG32_SOC15(GC, 0, regSDMA1_RLC_CGCG_CTRL, data); + /* Some ASICs only have one SDMA instance, not need to configure SDMA1 */ + if (adev->sdma.num_instances > 1) { + data = RREG32_SOC15(GC, 0, regSDMA1_RLC_CGCG_CTRL); + data = REG_SET_FIELD(data, SDMA1_RLC_CGCG_CTRL, CGCG_INT_ENABLE, 1); + WREG32_SOC15(GC, 0, regSDMA1_RLC_CGCG_CTRL, data); + } } else { /* Program RLC_CGCG_CGLS_CTRL */ def = data = RREG32_SOC15(GC, 0, regRLC_CGCG_CGLS_CTRL); @@ -5121,9 +5124,12 @@ data &= ~SDMA0_RLC_CGCG_CTRL__CGCG_INT_ENABLE_MASK; WREG32_SOC15(GC, 0, regSDMA0_RLC_CGCG_CTRL, data); - data = RREG32_SOC15(GC, 0, regSDMA1_RLC_CGCG_CTRL); - data &= ~SDMA1_RLC_CGCG_CTRL__CGCG_INT_ENABLE_MASK; - WREG32_SOC15(GC, 0, regSDMA1_RLC_CGCG_CTRL, data); + /* Some ASICs only have one SDMA instance, not need to configure SDMA1 */ + if (adev->sdma.num_instances > 1) { + data = RREG32_SOC15(GC, 0, regSDMA1_RLC_CGCG_CTRL); + data &= ~SDMA1_RLC_CGCG_CTRL__CGCG_INT_ENABLE_MASK; + WREG32_SOC15(GC, 0, regSDMA1_RLC_CGCG_CTRL, data); + } } } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c @@ -2587,7 +2587,8 @@ gfx_v9_0_tiling_mode_table_init(adev); - gfx_v9_0_setup_rb(adev); + if (adev->gfx.num_gfx_rings) + gfx_v9_0_setup_rb(adev); gfx_v9_0_get_cu_info(adev, &adev->gfx.cu_info); adev->gfx.config.db_debug2 = RREG32_SOC15(GC, 0, mmDB_DEBUG2); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c @@ -416,6 +416,7 @@ uint32_t seq; uint16_t queried_pasid; bool ret; + u32 usec_timeout = amdgpu_sriov_vf(adev) ? SRIOV_USEC_TIMEOUT : adev->usec_timeout; struct amdgpu_ring *ring = &adev->gfx.kiq.ring; struct amdgpu_kiq *kiq = &adev->gfx.kiq; @@ -434,7 +435,7 @@ amdgpu_ring_commit(ring); spin_unlock(&adev->gfx.kiq.ring_lock); - r = amdgpu_fence_wait_polling(ring, seq, adev->usec_timeout); + r = amdgpu_fence_wait_polling(ring, seq, usec_timeout); if (r < 1) { dev_err(adev->dev, "wait for kiq fence error: %ld.\n", r); return -ETIME; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c @@ -181,6 +181,10 @@ /* Use register 17 for GART */ const unsigned eng = 17; unsigned int i; + unsigned char hub_ip = 0; + + hub_ip = (vmhub == AMDGPU_GFXHUB_0) ? + GC_HWIP : MMHUB_HWIP; spin_lock(&adev->gmc.invalidate_lock); /* @@ -194,8 +198,8 @@ if (use_semaphore) { for (i = 0; i < adev->usec_timeout; i++) { /* a read return value of 1 means semaphore acuqire */ - tmp = RREG32_NO_KIQ(hub->vm_inv_eng0_sem + - hub->eng_distance * eng); + tmp = RREG32_RLC_NO_KIQ(hub->vm_inv_eng0_sem + + hub->eng_distance * eng, hub_ip); if (tmp & 0x1) break; udelay(1); @@ -205,12 +209,12 @@ DRM_ERROR("Timeout waiting for sem acquire in VM flush!\n"); } - WREG32_NO_KIQ(hub->vm_inv_eng0_req + hub->eng_distance * eng, inv_req); + WREG32_RLC_NO_KIQ(hub->vm_inv_eng0_req + hub->eng_distance * eng, inv_req, hub_ip); /* Wait for ACK with a delay.*/ for (i = 0; i < adev->usec_timeout; i++) { - tmp = RREG32_NO_KIQ(hub->vm_inv_eng0_ack + - hub->eng_distance * eng); + tmp = RREG32_RLC_NO_KIQ(hub->vm_inv_eng0_ack + + hub->eng_distance * eng, hub_ip); tmp &= 1 << vmid; if (tmp) break; @@ -224,8 +228,8 @@ * add semaphore release after invalidation, * write with 0 means semaphore release */ - WREG32_NO_KIQ(hub->vm_inv_eng0_sem + - hub->eng_distance * eng, 0); + WREG32_RLC_NO_KIQ(hub->vm_inv_eng0_sem + + hub->eng_distance * eng, 0, hub_ip); /* Issue additional private vm invalidation to MMHUB */ if ((vmhub != AMDGPU_GFXHUB_0) && --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c @@ -896,6 +896,7 @@ uint32_t seq; uint16_t queried_pasid; bool ret; + u32 usec_timeout = amdgpu_sriov_vf(adev) ? SRIOV_USEC_TIMEOUT : adev->usec_timeout; struct amdgpu_ring *ring = &adev->gfx.kiq.ring; struct amdgpu_kiq *kiq = &adev->gfx.kiq; @@ -935,7 +936,7 @@ amdgpu_ring_commit(ring); spin_unlock(&adev->gfx.kiq.ring_lock); - r = amdgpu_fence_wait_polling(ring, seq, adev->usec_timeout); + r = amdgpu_fence_wait_polling(ring, seq, usec_timeout); if (r < 1) { dev_err(adev->dev, "wait for kiq fence error: %ld.\n", r); up_read(&adev->reset_domain->sem); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/ih_v6_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/ih_v6_0.c @@ -727,6 +727,7 @@ static const struct amdgpu_ih_funcs ih_v6_0_funcs = { .get_wptr = ih_v6_0_get_wptr, .decode_iv = amdgpu_ih_decode_iv_helper, + .decode_iv_ts = amdgpu_ih_decode_iv_ts_helper, .set_rptr = ih_v6_0_set_rptr }; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/mes_v11_0.c @@ -93,7 +93,14 @@ union MESAPI__ADD_QUEUE *x_pkt = pkt; struct amdgpu_device *adev = mes->adev; struct amdgpu_ring *ring = &mes->ring; + signed long timeout = adev->usec_timeout; + if (amdgpu_emu_mode) { + timeout *= 100; + } else if (amdgpu_sriov_vf(adev)) { + /* Worst case in sriov where all other 15 VF timeout, each VF needs about 600ms */ + timeout = 15 * 600 * 1000; + } BUG_ON(size % 4 != 0); if (amdgpu_ring_alloc(ring, ndw)) @@ -105,7 +112,7 @@ DRM_DEBUG("MES msg=%d was emitted\n", x_pkt->header.opcode); r = amdgpu_fence_wait_polling(ring, ring->fence_drv.sync_seq, - adev->usec_timeout * (amdgpu_emu_mode ? 100 : 1)); + timeout); if (r < 1) { DRM_ERROR("MES failed to response msg=%d\n", x_pkt->header.opcode); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/mmhub_v1_0.c @@ -176,6 +176,7 @@ tmp = REG_SET_FIELD(tmp, VM_L2_CNTL2, INVALIDATE_L2_CACHE, 1); WREG32_SOC15(MMHUB, 0, mmVM_L2_CNTL2, tmp); + tmp = mmVM_L2_CNTL3_DEFAULT; if (adev->gmc.translate_further) { tmp = REG_SET_FIELD(tmp, VM_L2_CNTL3, BANK_SELECT, 12); tmp = REG_SET_FIELD(tmp, VM_L2_CNTL3, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/mmhub_v2_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/mmhub_v2_0.c @@ -32,8 +32,6 @@ #include "gc/gc_10_1_0_offset.h" #include "soc15_common.h" -#define mmMM_ATC_L2_MISC_CG_Sienna_Cichlid 0x064d -#define mmMM_ATC_L2_MISC_CG_Sienna_Cichlid_BASE_IDX 0 #define mmDAGB0_CNTL_MISC2_Sienna_Cichlid 0x0070 #define mmDAGB0_CNTL_MISC2_Sienna_Cichlid_BASE_IDX 0 @@ -321,7 +319,7 @@ tmp = mmMMVM_L2_CNTL5_DEFAULT; tmp = REG_SET_FIELD(tmp, MMVM_L2_CNTL5, L2_CACHE_SMALLK_FRAGMENT_SIZE, 0); - WREG32_SOC15(GC, 0, mmMMVM_L2_CNTL5, tmp); + WREG32_SOC15(MMHUB, 0, mmMMVM_L2_CNTL5, tmp); } static void mmhub_v2_0_enable_system_domain(struct amdgpu_device *adev) @@ -574,7 +572,6 @@ case IP_VERSION(2, 1, 0): case IP_VERSION(2, 1, 1): case IP_VERSION(2, 1, 2): - def = data = RREG32_SOC15(MMHUB, 0, mmMM_ATC_L2_MISC_CG_Sienna_Cichlid); def1 = data1 = RREG32_SOC15(MMHUB, 0, mmDAGB0_CNTL_MISC2_Sienna_Cichlid); break; default: @@ -608,8 +605,6 @@ case IP_VERSION(2, 1, 0): case IP_VERSION(2, 1, 1): case IP_VERSION(2, 1, 2): - if (def != data) - WREG32_SOC15(MMHUB, 0, mmMM_ATC_L2_MISC_CG_Sienna_Cichlid, data); if (def1 != data1) WREG32_SOC15(MMHUB, 0, mmDAGB0_CNTL_MISC2_Sienna_Cichlid, data1); break; @@ -634,8 +629,8 @@ case IP_VERSION(2, 1, 0): case IP_VERSION(2, 1, 1): case IP_VERSION(2, 1, 2): - def = data = RREG32_SOC15(MMHUB, 0, mmMM_ATC_L2_MISC_CG_Sienna_Cichlid); - break; + /* There is no ATCL2 in MMHUB for 2.1.x */ + return; default: def = data = RREG32_SOC15(MMHUB, 0, mmMM_ATC_L2_MISC_CG); break; @@ -646,18 +641,8 @@ else data &= ~MM_ATC_L2_MISC_CG__MEM_LS_ENABLE_MASK; - if (def != data) { - switch (adev->ip_versions[MMHUB_HWIP][0]) { - case IP_VERSION(2, 1, 0): - case IP_VERSION(2, 1, 1): - case IP_VERSION(2, 1, 2): - WREG32_SOC15(MMHUB, 0, mmMM_ATC_L2_MISC_CG_Sienna_Cichlid, data); - break; - default: - WREG32_SOC15(MMHUB, 0, mmMM_ATC_L2_MISC_CG, data); - break; - } - } + if (def != data) + WREG32_SOC15(MMHUB, 0, mmMM_ATC_L2_MISC_CG, data); } static int mmhub_v2_0_set_clockgating(struct amdgpu_device *adev, @@ -695,7 +680,10 @@ case IP_VERSION(2, 1, 0): case IP_VERSION(2, 1, 1): case IP_VERSION(2, 1, 2): - data = RREG32_SOC15(MMHUB, 0, mmMM_ATC_L2_MISC_CG_Sienna_Cichlid); + /* There is no ATCL2 in MMHUB for 2.1.x. Keep the status + * based on DAGB + */ + data = MM_ATC_L2_MISC_CG__ENABLE_MASK; data1 = RREG32_SOC15(MMHUB, 0, mmDAGB0_CNTL_MISC2_Sienna_Cichlid); break; default: --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/mmhub_v2_3.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/mmhub_v2_3.c @@ -243,7 +243,7 @@ tmp = mmMMVM_L2_CNTL5_DEFAULT; tmp = REG_SET_FIELD(tmp, MMVM_L2_CNTL5, L2_CACHE_SMALLK_FRAGMENT_SIZE, 0); - WREG32_SOC15(GC, 0, mmMMVM_L2_CNTL5, tmp); + WREG32_SOC15(MMHUB, 0, mmMMVM_L2_CNTL5, tmp); } static void mmhub_v2_3_enable_system_domain(struct amdgpu_device *adev) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/mmhub_v3_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/mmhub_v3_0.c @@ -169,17 +169,17 @@ uint64_t value; uint32_t tmp; - /* Disable AGP. */ - WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_BASE, 0); - WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_TOP, 0); - WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_BOT, 0x00FFFFFF); - if (!amdgpu_sriov_vf(adev)) { /* * the new L1 policy will block SRIOV guest from writing * these regs, and they will be programed at host. * so skip programing these regs. */ + /* Disable AGP. */ + WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_BASE, 0); + WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_TOP, 0); + WREG32_SOC15(MMHUB, 0, regMMMC_VM_AGP_BOT, 0x00FFFFFF); + /* Program the system aperture low logical page number. */ WREG32_SOC15(MMHUB, 0, regMMMC_VM_SYSTEM_APERTURE_LOW_ADDR, adev->gmc.vram_start >> 18); @@ -275,7 +275,7 @@ tmp = regMMVM_L2_CNTL5_DEFAULT; tmp = REG_SET_FIELD(tmp, MMVM_L2_CNTL5, L2_CACHE_SMALLK_FRAGMENT_SIZE, 0); - WREG32_SOC15(GC, 0, regMMVM_L2_CNTL5, tmp); + WREG32_SOC15(MMHUB, 0, regMMVM_L2_CNTL5, tmp); } static void mmhub_v3_0_enable_system_domain(struct amdgpu_device *adev) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_2.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/mmhub_v3_0_2.c @@ -268,7 +268,7 @@ tmp = regMMVM_L2_CNTL5_DEFAULT; tmp = REG_SET_FIELD(tmp, MMVM_L2_CNTL5, L2_CACHE_SMALLK_FRAGMENT_SIZE, 0); - WREG32_SOC15(GC, 0, regMMVM_L2_CNTL5, tmp); + WREG32_SOC15(MMHUB, 0, regMMVM_L2_CNTL5, tmp); } static void mmhub_v3_0_2_enable_system_domain(struct amdgpu_device *adev) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/navi10_ih.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/navi10_ih.c @@ -409,9 +409,11 @@ u32 wptr, tmp; struct amdgpu_ih_regs *ih_regs; - if (ih == &adev->irq.ih) { + if (ih == &adev->irq.ih || ih == &adev->irq.ih_soft) { /* Only ring0 supports writeback. On other rings fall back * to register-based code with overflow checking below. + * ih_soft ring doesn't have any backing hardware registers, + * update wptr and return. */ wptr = le32_to_cpu(*ih->wptr_cpu); @@ -483,6 +485,9 @@ { struct amdgpu_ih_regs *ih_regs; + if (ih == &adev->irq.ih_soft) + return; + if (ih->use_doorbell) { /* XXX check if swapping is necessary on BE */ *ih->rptr_cpu = ih->rptr; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/nbio_v2_3.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/nbio_v2_3.c @@ -328,27 +328,6 @@ .ref_and_mask_sdma1 = BIF_BX_PF_GPU_HDP_FLUSH_DONE__SDMA1_MASK, }; -const struct nbio_hdp_flush_reg nbio_v2_3_hdp_flush_reg_sc = { - .ref_and_mask_cp0 = BIF_BX_PF_GPU_HDP_FLUSH_DONE__CP0_MASK, - .ref_and_mask_cp1 = BIF_BX_PF_GPU_HDP_FLUSH_DONE__CP1_MASK, - .ref_and_mask_cp2 = BIF_BX_PF_GPU_HDP_FLUSH_DONE__CP2_MASK, - .ref_and_mask_cp3 = BIF_BX_PF_GPU_HDP_FLUSH_DONE__CP3_MASK, - .ref_and_mask_cp4 = BIF_BX_PF_GPU_HDP_FLUSH_DONE__CP4_MASK, - .ref_and_mask_cp5 = BIF_BX_PF_GPU_HDP_FLUSH_DONE__CP5_MASK, - .ref_and_mask_cp6 = BIF_BX_PF_GPU_HDP_FLUSH_DONE__CP6_MASK, - .ref_and_mask_cp7 = BIF_BX_PF_GPU_HDP_FLUSH_DONE__CP7_MASK, - .ref_and_mask_cp8 = BIF_BX_PF_GPU_HDP_FLUSH_DONE__CP8_MASK, - .ref_and_mask_cp9 = BIF_BX_PF_GPU_HDP_FLUSH_DONE__CP9_MASK, - .ref_and_mask_sdma0 = GPU_HDP_FLUSH_DONE__RSVD_ENG1_MASK, - .ref_and_mask_sdma1 = GPU_HDP_FLUSH_DONE__RSVD_ENG2_MASK, - .ref_and_mask_sdma2 = GPU_HDP_FLUSH_DONE__RSVD_ENG3_MASK, - .ref_and_mask_sdma3 = GPU_HDP_FLUSH_DONE__RSVD_ENG4_MASK, - .ref_and_mask_sdma4 = GPU_HDP_FLUSH_DONE__RSVD_ENG5_MASK, - .ref_and_mask_sdma5 = GPU_HDP_FLUSH_DONE__RSVD_ENG6_MASK, - .ref_and_mask_sdma6 = GPU_HDP_FLUSH_DONE__RSVD_ENG7_MASK, - .ref_and_mask_sdma7 = GPU_HDP_FLUSH_DONE__RSVD_ENG8_MASK, -}; - static void nbio_v2_3_init_registers(struct amdgpu_device *adev) { uint32_t def, data; @@ -401,6 +380,7 @@ WREG32_PCIE(smnPCIE_LC_CNTL, data); } +#ifdef CONFIG_PCIEASPM static void nbio_v2_3_program_ltr(struct amdgpu_device *adev) { uint32_t def, data; @@ -422,9 +402,11 @@ if (def != data) WREG32_PCIE(smnBIF_CFG_DEV0_EPF0_DEVICE_CNTL2, data); } +#endif static void nbio_v2_3_program_aspm(struct amdgpu_device *adev) { +#ifdef CONFIG_PCIEASPM uint32_t def, data; def = data = RREG32_PCIE(smnPCIE_LC_CNTL); @@ -480,7 +462,10 @@ if (def != data) WREG32_PCIE(smnPCIE_LC_CNTL6, data); - nbio_v2_3_program_ltr(adev); + /* Don't bother about LTR if LTR is not enabled + * in the path */ + if (adev->pdev->ltr_path) + nbio_v2_3_program_ltr(adev); def = data = RREG32_SOC15(NBIO, 0, mmRCC_BIF_STRAP3); data |= 0x5DE0 << RCC_BIF_STRAP3__STRAP_VLINK_ASPM_IDLE_TIMER__SHIFT; @@ -504,6 +489,7 @@ data &= ~PCIE_LC_CNTL3__LC_DSC_DONT_ENTER_L23_AFTER_PME_ACK_MASK; if (def != data) WREG32_PCIE(smnPCIE_LC_CNTL3, data); +#endif } static void nbio_v2_3_apply_lc_spc_mode_wa(struct amdgpu_device *adev) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/nbio_v2_3.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/nbio_v2_3.h @@ -27,7 +27,6 @@ #include "soc15_common.h" extern const struct nbio_hdp_flush_reg nbio_v2_3_hdp_flush_reg; -extern const struct nbio_hdp_flush_reg nbio_v2_3_hdp_flush_reg_sc; extern const struct amdgpu_nbio_funcs nbio_v2_3_funcs; #endif --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/nbio_v6_1.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/nbio_v6_1.c @@ -282,6 +282,7 @@ mmBIF_BX_DEV0_EPF0_VF0_HDP_MEM_COHERENCY_FLUSH_CNTL) << 2; } +#ifdef CONFIG_PCIEASPM static void nbio_v6_1_program_ltr(struct amdgpu_device *adev) { uint32_t def, data; @@ -303,9 +304,11 @@ if (def != data) WREG32_PCIE(smnBIF_CFG_DEV0_EPF0_DEVICE_CNTL2, data); } +#endif static void nbio_v6_1_program_aspm(struct amdgpu_device *adev) { +#ifdef CONFIG_PCIEASPM uint32_t def, data; def = data = RREG32_PCIE(smnPCIE_LC_CNTL); @@ -361,7 +364,10 @@ if (def != data) WREG32_PCIE(smnPCIE_LC_CNTL6, data); - nbio_v6_1_program_ltr(adev); + /* Don't bother about LTR if LTR is not enabled + * in the path */ + if (adev->pdev->ltr_path) + nbio_v6_1_program_ltr(adev); def = data = RREG32_PCIE(smnRCC_BIF_STRAP3); data |= 0x5DE0 << RCC_BIF_STRAP3__STRAP_VLINK_ASPM_IDLE_TIMER__SHIFT; @@ -385,6 +391,7 @@ data &= ~PCIE_LC_CNTL3__LC_DSC_DONT_ENTER_L23_AFTER_PME_ACK_MASK; if (def != data) WREG32_PCIE(smnPCIE_LC_CNTL3, data); +#endif } const struct amdgpu_nbio_funcs nbio_v6_1_funcs = { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/nbio_v7_4.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/nbio_v7_4.c @@ -339,27 +339,6 @@ .ref_and_mask_sdma1 = GPU_HDP_FLUSH_DONE__SDMA1_MASK, }; -const struct nbio_hdp_flush_reg nbio_v7_4_hdp_flush_reg_ald = { - .ref_and_mask_cp0 = GPU_HDP_FLUSH_DONE__CP0_MASK, - .ref_and_mask_cp1 = GPU_HDP_FLUSH_DONE__CP1_MASK, - .ref_and_mask_cp2 = GPU_HDP_FLUSH_DONE__CP2_MASK, - .ref_and_mask_cp3 = GPU_HDP_FLUSH_DONE__CP3_MASK, - .ref_and_mask_cp4 = GPU_HDP_FLUSH_DONE__CP4_MASK, - .ref_and_mask_cp5 = GPU_HDP_FLUSH_DONE__CP5_MASK, - .ref_and_mask_cp6 = GPU_HDP_FLUSH_DONE__CP6_MASK, - .ref_and_mask_cp7 = GPU_HDP_FLUSH_DONE__CP7_MASK, - .ref_and_mask_cp8 = GPU_HDP_FLUSH_DONE__CP8_MASK, - .ref_and_mask_cp9 = GPU_HDP_FLUSH_DONE__CP9_MASK, - .ref_and_mask_sdma0 = GPU_HDP_FLUSH_DONE__RSVD_ENG1_MASK, - .ref_and_mask_sdma1 = GPU_HDP_FLUSH_DONE__RSVD_ENG2_MASK, - .ref_and_mask_sdma2 = GPU_HDP_FLUSH_DONE__RSVD_ENG3_MASK, - .ref_and_mask_sdma3 = GPU_HDP_FLUSH_DONE__RSVD_ENG4_MASK, - .ref_and_mask_sdma4 = GPU_HDP_FLUSH_DONE__RSVD_ENG5_MASK, - .ref_and_mask_sdma5 = GPU_HDP_FLUSH_DONE__RSVD_ENG6_MASK, - .ref_and_mask_sdma6 = GPU_HDP_FLUSH_DONE__RSVD_ENG7_MASK, - .ref_and_mask_sdma7 = GPU_HDP_FLUSH_DONE__RSVD_ENG8_MASK, -}; - static void nbio_v7_4_init_registers(struct amdgpu_device *adev) { uint32_t baco_cntl; @@ -694,6 +673,7 @@ }; +#ifdef CONFIG_PCIEASPM static void nbio_v7_4_program_ltr(struct amdgpu_device *adev) { uint32_t def, data; @@ -715,9 +695,11 @@ if (def != data) WREG32_PCIE(smnBIF_CFG_DEV0_EPF0_DEVICE_CNTL2, data); } +#endif static void nbio_v7_4_program_aspm(struct amdgpu_device *adev) { +#ifdef CONFIG_PCIEASPM uint32_t def, data; if (adev->ip_versions[NBIO_HWIP][0] == IP_VERSION(7, 4, 4)) @@ -776,7 +758,10 @@ if (def != data) WREG32_PCIE(smnPCIE_LC_CNTL6, data); - nbio_v7_4_program_ltr(adev); + /* Don't bother about LTR if LTR is not enabled + * in the path */ + if (adev->pdev->ltr_path) + nbio_v7_4_program_ltr(adev); def = data = RREG32_PCIE(smnRCC_BIF_STRAP3); data |= 0x5DE0 << RCC_BIF_STRAP3__STRAP_VLINK_ASPM_IDLE_TIMER__SHIFT; @@ -800,6 +785,7 @@ data &= ~PCIE_LC_CNTL3__LC_DSC_DONT_ENTER_L23_AFTER_PME_ACK_MASK; if (def != data) WREG32_PCIE(smnPCIE_LC_CNTL3, data); +#endif } const struct amdgpu_nbio_funcs nbio_v7_4_funcs = { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/nbio_v7_4.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/nbio_v7_4.h @@ -27,7 +27,6 @@ #include "soc15_common.h" extern const struct nbio_hdp_flush_reg nbio_v7_4_hdp_flush_reg; -extern const struct nbio_hdp_flush_reg nbio_v7_4_hdp_flush_reg_ald; extern const struct amdgpu_nbio_funcs nbio_v7_4_funcs; extern struct amdgpu_nbio_ras nbio_v7_4_ras; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/nbio_v7_7.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/nbio_v7_7.c @@ -28,6 +28,14 @@ #include "nbio/nbio_7_7_0_sh_mask.h" #include +static void nbio_v7_7_remap_hdp_registers(struct amdgpu_device *adev) +{ + WREG32_SOC15(NBIO, 0, regBIF_BX0_REMAP_HDP_MEM_FLUSH_CNTL, + adev->rmmio_remap.reg_offset + KFD_MMIO_REMAP_HDP_MEM_FLUSH_CNTL); + WREG32_SOC15(NBIO, 0, regBIF_BX0_REMAP_HDP_REG_FLUSH_CNTL, + adev->rmmio_remap.reg_offset + KFD_MMIO_REMAP_HDP_REG_FLUSH_CNTL); +} + static u32 nbio_v7_7_get_rev_id(struct amdgpu_device *adev) { u32 tmp; @@ -237,4 +245,5 @@ .ih_doorbell_range = nbio_v7_7_ih_doorbell_range, .ih_control = nbio_v7_7_ih_control, .init_registers = nbio_v7_7_init_registers, + .remap_hdp_registers = nbio_v7_7_remap_hdp_registers, }; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/nv.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/nv.c @@ -82,10 +82,10 @@ /* Navi1x */ static const struct amdgpu_video_codec_info nv_video_codecs_decode_array[] = { - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4906, 3)}, - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4906, 5)}, - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4906, 52)}, - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4906, 4)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4096, 3)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4096, 5)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4096, 52)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4096, 4)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)}, @@ -100,10 +100,10 @@ /* Sienna Cichlid */ static const struct amdgpu_video_codec_info sc_video_codecs_decode_array[] = { - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4906, 3)}, - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4906, 5)}, - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4906, 52)}, - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4906, 4)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4096, 3)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4096, 5)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4096, 52)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4096, 4)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)}, @@ -125,10 +125,10 @@ static struct amdgpu_video_codec_info sriov_sc_video_codecs_decode_array[] = { - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4906, 3)}, - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4906, 5)}, - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4906, 52)}, - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4906, 4)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4096, 3)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4096, 5)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4096, 52)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4096, 4)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)}, @@ -149,7 +149,7 @@ /* Beige Goby*/ static const struct amdgpu_video_codec_info bg_video_codecs_decode_array[] = { - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4906, 52)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4096, 52)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)}, }; @@ -166,7 +166,7 @@ /* Yellow Carp*/ static const struct amdgpu_video_codec_info yc_video_codecs_decode_array[] = { - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4906, 52)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4096, 52)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)}, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/psp_v12_0.c @@ -101,6 +101,16 @@ adev->psp.dtm_context.context.bin_desc.start_addr = (uint8_t *)adev->psp.hdcp_context.context.bin_desc.start_addr + le32_to_cpu(ta_hdr->dtm.offset_bytes); + + if (adev->apu_flags & AMD_APU_IS_RENOIR) { + adev->psp.securedisplay_context.context.bin_desc.fw_version = + le32_to_cpu(ta_hdr->securedisplay.fw_version); + adev->psp.securedisplay_context.context.bin_desc.size_bytes = + le32_to_cpu(ta_hdr->securedisplay.size_bytes); + adev->psp.securedisplay_context.context.bin_desc.start_addr = + (uint8_t *)adev->psp.hdcp_context.context.bin_desc.start_addr + + le32_to_cpu(ta_hdr->securedisplay.offset_bytes); + } } return 0; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c @@ -980,13 +980,13 @@ /** - * sdma_v4_0_gfx_stop - stop the gfx async dma engines + * sdma_v4_0_gfx_enable - enable the gfx async dma engines * * @adev: amdgpu_device pointer - * - * Stop the gfx async dma ring buffers (VEGA10). + * @enable: enable SDMA RB/IB + * control the gfx async dma ring buffers (VEGA10). */ -static void sdma_v4_0_gfx_stop(struct amdgpu_device *adev) +static void sdma_v4_0_gfx_enable(struct amdgpu_device *adev, bool enable) { struct amdgpu_ring *sdma[AMDGPU_MAX_SDMA_INSTANCES]; u32 rb_cntl, ib_cntl; @@ -1001,10 +1001,10 @@ } rb_cntl = RREG32_SDMA(i, mmSDMA0_GFX_RB_CNTL); - rb_cntl = REG_SET_FIELD(rb_cntl, SDMA0_GFX_RB_CNTL, RB_ENABLE, 0); + rb_cntl = REG_SET_FIELD(rb_cntl, SDMA0_GFX_RB_CNTL, RB_ENABLE, enable ? 1 : 0); WREG32_SDMA(i, mmSDMA0_GFX_RB_CNTL, rb_cntl); ib_cntl = RREG32_SDMA(i, mmSDMA0_GFX_IB_CNTL); - ib_cntl = REG_SET_FIELD(ib_cntl, SDMA0_GFX_IB_CNTL, IB_ENABLE, 0); + ib_cntl = REG_SET_FIELD(ib_cntl, SDMA0_GFX_IB_CNTL, IB_ENABLE, enable ? 1 : 0); WREG32_SDMA(i, mmSDMA0_GFX_IB_CNTL, ib_cntl); } } @@ -1131,7 +1131,7 @@ int i; if (!enable) { - sdma_v4_0_gfx_stop(adev); + sdma_v4_0_gfx_enable(adev, enable); sdma_v4_0_rlc_stop(adev); if (adev->sdma.has_page_queue) sdma_v4_0_page_stop(adev); @@ -2043,8 +2043,10 @@ struct amdgpu_device *adev = (struct amdgpu_device *)handle; /* SMU saves SDMA state for us */ - if (adev->in_s0ix) + if (adev->in_s0ix) { + sdma_v4_0_gfx_enable(adev, false); return 0; + } return sdma_v4_0_hw_fini(adev); } @@ -2054,8 +2056,12 @@ struct amdgpu_device *adev = (struct amdgpu_device *)handle; /* SMU restores SDMA state for us */ - if (adev->in_s0ix) + if (adev->in_s0ix) { + sdma_v4_0_enable(adev, true); + sdma_v4_0_gfx_enable(adev, true); + amdgpu_ttm_set_buffer_funcs_status(adev, true); return 0; + } return sdma_v4_0_hw_init(adev); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c @@ -854,7 +854,8 @@ m->sdmax_rlcx_rb_cntl = order_base_2(prop->queue_size / 4) << SDMA0_QUEUE0_RB_CNTL__RB_SIZE__SHIFT | 1 << SDMA0_QUEUE0_RB_CNTL__RPTR_WRITEBACK_ENABLE__SHIFT | - 4 << SDMA0_QUEUE0_RB_CNTL__RPTR_WRITEBACK_TIMER__SHIFT; + 4 << SDMA0_QUEUE0_RB_CNTL__RPTR_WRITEBACK_TIMER__SHIFT | + 1 << SDMA0_QUEUE0_RB_CNTL__F32_WPTR_POLL_ENABLE__SHIFT; m->sdmax_rlcx_rb_base = lower_32_bits(prop->hqd_base_gpu_addr >> 8); m->sdmax_rlcx_rb_base_hi = upper_32_bits(prop->hqd_base_gpu_addr >> 8); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/soc15.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/soc15.c @@ -103,10 +103,10 @@ /* Vega */ static const struct amdgpu_video_codec_info vega_video_codecs_decode_array[] = { - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4906, 3)}, - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4906, 5)}, - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4906, 52)}, - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4906, 4)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4096, 3)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4096, 5)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4096, 52)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4096, 4)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 4096, 4096, 186)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)}, }; @@ -120,10 +120,10 @@ /* Raven */ static const struct amdgpu_video_codec_info rv_video_codecs_decode_array[] = { - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4906, 3)}, - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4906, 5)}, - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4906, 52)}, - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4906, 4)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4096, 3)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4096, 5)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4096, 52)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4096, 4)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 4096, 4096, 186)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 4096, 4096, 0)}, @@ -138,10 +138,10 @@ /* Renoir, Arcturus */ static const struct amdgpu_video_codec_info rn_video_codecs_decode_array[] = { - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4906, 3)}, - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4906, 5)}, - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4906, 52)}, - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4906, 4)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG2, 4096, 4096, 3)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4, 4096, 4096, 5)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4096, 52)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VC1, 4096, 4096, 4)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)}, @@ -1211,22 +1211,17 @@ return 0; } -static void soc15_doorbell_range_init(struct amdgpu_device *adev) +static void soc15_sdma_doorbell_range_init(struct amdgpu_device *adev) { int i; - struct amdgpu_ring *ring; - /* sdma/ih doorbell range are programed by hypervisor */ + /* sdma doorbell range is programed by hypervisor */ if (!amdgpu_sriov_vf(adev)) { for (i = 0; i < adev->sdma.num_instances; i++) { - ring = &adev->sdma.instance[i].ring; adev->nbio.funcs->sdma_doorbell_range(adev, i, - ring->use_doorbell, ring->doorbell_index, + true, adev->doorbell_index.sdma_engine[i] << 1, adev->doorbell_index.sdma_doorbell_range); } - - adev->nbio.funcs->ih_doorbell_range(adev, adev->irq.ih.use_doorbell, - adev->irq.ih.doorbell_index); } } @@ -1251,10 +1246,11 @@ soc15_enable_doorbell_aperture(adev, true); /* HW doorbell routing policy: doorbell writing not * in SDMA/IH/MM/ACV range will be routed to CP. So - * we need to init SDMA/IH/MM/ACV doorbell range prior - * to CP ip block init and ring test. + * we need to init SDMA doorbell range prior + * to CP ip block init and ring test. IH already + * happens before CP. */ - soc15_doorbell_range_init(adev); + soc15_sdma_doorbell_range_init(adev); return 0; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/soc21.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/soc21.c @@ -61,7 +61,7 @@ static const struct amdgpu_video_codec_info vcn_4_0_0_video_codecs_decode_array[] = { - {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4906, 52)}, + {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_MPEG4_AVC, 4096, 4096, 52)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_HEVC, 8192, 4352, 186)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_JPEG, 4096, 4096, 0)}, {codec_info_build(AMDGPU_INFO_VIDEO_CAPS_CODEC_IDX_VP9, 8192, 4352, 0)}, @@ -530,8 +530,10 @@ case IP_VERSION(11, 0, 0): adev->cg_flags = AMD_CG_SUPPORT_GFX_CGCG | AMD_CG_SUPPORT_GFX_CGLS | +#if 0 AMD_CG_SUPPORT_GFX_3D_CGCG | AMD_CG_SUPPORT_GFX_3D_CGLS | +#endif AMD_CG_SUPPORT_GFX_MGCG | AMD_CG_SUPPORT_REPEATER_FGCG | AMD_CG_SUPPORT_GFX_FGCG | @@ -549,6 +551,10 @@ AMD_PG_SUPPORT_JPEG | AMD_PG_SUPPORT_ATHUB | AMD_PG_SUPPORT_MMHUB; + if (amdgpu_sriov_vf(adev)) { + adev->cg_flags = 0; + adev->pg_flags = 0; + } adev->external_rev_id = adev->rev_id + 0x1; // TODO: need update break; case IP_VERSION(11, 0, 2): --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c @@ -196,6 +196,10 @@ fw_shared->sq.is_enabled = 1; } + fw_shared->present_flag_0 |= cpu_to_le32(AMDGPU_VCN_SMU_DPM_INTERFACE_FLAG); + fw_shared->smu_dpm_interface.smu_interface_type = (adev->flags & AMD_IS_APU) ? + AMDGPU_VCN_SMU_DPM_INTERFACE_APU : AMDGPU_VCN_SMU_DPM_INTERFACE_DGPU; + if (amdgpu_vcnfw_log) amdgpu_vcn_fwlog_init(&adev->vcn.inst[i]); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/vega10_ih.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/vega10_ih.c @@ -289,6 +289,10 @@ } } + if (!amdgpu_sriov_vf(adev)) + adev->nbio.funcs->ih_doorbell_range(adev, adev->irq.ih.use_doorbell, + adev->irq.ih.doorbell_index); + pci_set_master(adev->pdev); /* enable interrupts */ @@ -334,9 +338,11 @@ u32 wptr, tmp; struct amdgpu_ih_regs *ih_regs; - if (ih == &adev->irq.ih) { + if (ih == &adev->irq.ih || ih == &adev->irq.ih_soft) { /* Only ring0 supports writeback. On other rings fall back * to register-based code with overflow checking below. + * ih_soft ring doesn't have any backing hardware registers, + * update wptr and return. */ wptr = le32_to_cpu(*ih->wptr_cpu); @@ -409,6 +415,9 @@ { struct amdgpu_ih_regs *ih_regs; + if (ih == &adev->irq.ih_soft) + return; + if (ih->use_doorbell) { /* XXX check if swapping is necessary on BE */ *ih->rptr_cpu = ih->rptr; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdgpu/vega20_ih.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdgpu/vega20_ih.c @@ -340,6 +340,10 @@ } } + if (!amdgpu_sriov_vf(adev)) + adev->nbio.funcs->ih_doorbell_range(adev, adev->irq.ih.use_doorbell, + adev->irq.ih.doorbell_index); + pci_set_master(adev->pdev); /* enable interrupts */ @@ -385,9 +389,11 @@ u32 wptr, tmp; struct amdgpu_ih_regs *ih_regs; - if (ih == &adev->irq.ih) { + if (ih == &adev->irq.ih || ih == &adev->irq.ih_soft) { /* Only ring0 supports writeback. On other rings fall back * to register-based code with overflow checking below. + * ih_soft ring doesn't have any backing hardware registers, + * update wptr and return. */ wptr = le32_to_cpu(*ih->wptr_cpu); @@ -461,6 +467,9 @@ { struct amdgpu_ih_regs *ih_regs; + if (ih == &adev->irq.ih_soft) + return; + if (ih->use_doorbell) { /* XXX check if swapping is necessary on BE */ *ih->rptr_cpu = ih->rptr; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdkfd/kfd_chardev.c @@ -814,7 +814,7 @@ err = kfd_wait_on_events(p, args->num_events, (void __user *)args->events_ptr, (args->wait_for_all != 0), - args->timeout, &args->wait_result); + &args->timeout, &args->wait_result); return err; } @@ -1855,7 +1855,7 @@ { int ret; uint32_t num_devices, num_bos, num_objects; - uint64_t priv_size, priv_offset = 0; + uint64_t priv_size, priv_offset = 0, bo_priv_offset; if (!args->devices || !args->bos || !args->priv_data) return -EINVAL; @@ -1899,38 +1899,34 @@ if (ret) goto exit_unlock; - ret = criu_checkpoint_bos(p, num_bos, (uint8_t __user *)args->bos, - (uint8_t __user *)args->priv_data, &priv_offset); - if (ret) - goto exit_unlock; + /* Leave room for BOs in the private data. They need to be restored + * before events, but we checkpoint them last to simplify the error + * handling. + */ + bo_priv_offset = priv_offset; + priv_offset += num_bos * sizeof(struct kfd_criu_bo_priv_data); if (num_objects) { ret = kfd_criu_checkpoint_queues(p, (uint8_t __user *)args->priv_data, &priv_offset); if (ret) - goto close_bo_fds; + goto exit_unlock; ret = kfd_criu_checkpoint_events(p, (uint8_t __user *)args->priv_data, &priv_offset); if (ret) - goto close_bo_fds; + goto exit_unlock; ret = kfd_criu_checkpoint_svm(p, (uint8_t __user *)args->priv_data, &priv_offset); if (ret) - goto close_bo_fds; + goto exit_unlock; } -close_bo_fds: - if (ret) { - /* If IOCTL returns err, user assumes all FDs opened in criu_dump_bos are closed */ - uint32_t i; - struct kfd_criu_bo_bucket *bo_buckets = (struct kfd_criu_bo_bucket *) args->bos; - - for (i = 0; i < num_bos; i++) { - if (bo_buckets[i].alloc_flags & KFD_IOC_ALLOC_MEM_FLAGS_VRAM) - close_fd(bo_buckets[i].dmabuf_fd); - } - } + /* This must be the last thing in this function that can fail. + * Otherwise we leak dmabuf file descriptors. + */ + ret = criu_checkpoint_bos(p, num_bos, (uint8_t __user *)args->bos, + (uint8_t __user *)args->priv_data, &bo_priv_offset); exit_unlock: mutex_unlock(&p->mutex); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_crat.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdkfd/kfd_crat.c @@ -795,6 +795,102 @@ }, }; +static struct kfd_gpu_cache_info gfx1037_cache_info[] = { + { + /* TCP L1 Cache per CU */ + .cache_size = 16, + .cache_level = 1, + .flags = (CRAT_CACHE_FLAGS_ENABLED | + CRAT_CACHE_FLAGS_DATA_CACHE | + CRAT_CACHE_FLAGS_SIMD_CACHE), + .num_cu_shared = 1, + }, + { + /* Scalar L1 Instruction Cache per SQC */ + .cache_size = 32, + .cache_level = 1, + .flags = (CRAT_CACHE_FLAGS_ENABLED | + CRAT_CACHE_FLAGS_INST_CACHE | + CRAT_CACHE_FLAGS_SIMD_CACHE), + .num_cu_shared = 2, + }, + { + /* Scalar L1 Data Cache per SQC */ + .cache_size = 16, + .cache_level = 1, + .flags = (CRAT_CACHE_FLAGS_ENABLED | + CRAT_CACHE_FLAGS_DATA_CACHE | + CRAT_CACHE_FLAGS_SIMD_CACHE), + .num_cu_shared = 2, + }, + { + /* GL1 Data Cache per SA */ + .cache_size = 128, + .cache_level = 1, + .flags = (CRAT_CACHE_FLAGS_ENABLED | + CRAT_CACHE_FLAGS_DATA_CACHE | + CRAT_CACHE_FLAGS_SIMD_CACHE), + .num_cu_shared = 2, + }, + { + /* L2 Data Cache per GPU (Total Tex Cache) */ + .cache_size = 256, + .cache_level = 2, + .flags = (CRAT_CACHE_FLAGS_ENABLED | + CRAT_CACHE_FLAGS_DATA_CACHE | + CRAT_CACHE_FLAGS_SIMD_CACHE), + .num_cu_shared = 2, + }, +}; + +static struct kfd_gpu_cache_info gc_10_3_6_cache_info[] = { + { + /* TCP L1 Cache per CU */ + .cache_size = 16, + .cache_level = 1, + .flags = (CRAT_CACHE_FLAGS_ENABLED | + CRAT_CACHE_FLAGS_DATA_CACHE | + CRAT_CACHE_FLAGS_SIMD_CACHE), + .num_cu_shared = 1, + }, + { + /* Scalar L1 Instruction Cache per SQC */ + .cache_size = 32, + .cache_level = 1, + .flags = (CRAT_CACHE_FLAGS_ENABLED | + CRAT_CACHE_FLAGS_INST_CACHE | + CRAT_CACHE_FLAGS_SIMD_CACHE), + .num_cu_shared = 2, + }, + { + /* Scalar L1 Data Cache per SQC */ + .cache_size = 16, + .cache_level = 1, + .flags = (CRAT_CACHE_FLAGS_ENABLED | + CRAT_CACHE_FLAGS_DATA_CACHE | + CRAT_CACHE_FLAGS_SIMD_CACHE), + .num_cu_shared = 2, + }, + { + /* GL1 Data Cache per SA */ + .cache_size = 128, + .cache_level = 1, + .flags = (CRAT_CACHE_FLAGS_ENABLED | + CRAT_CACHE_FLAGS_DATA_CACHE | + CRAT_CACHE_FLAGS_SIMD_CACHE), + .num_cu_shared = 2, + }, + { + /* L2 Data Cache per GPU (Total Tex Cache) */ + .cache_size = 256, + .cache_level = 2, + .flags = (CRAT_CACHE_FLAGS_ENABLED | + CRAT_CACHE_FLAGS_DATA_CACHE | + CRAT_CACHE_FLAGS_SIMD_CACHE), + .num_cu_shared = 2, + }, +}; + static void kfd_populated_cu_info_cpu(struct kfd_topology_device *dev, struct crat_subtype_computeunit *cu) { @@ -1516,11 +1612,17 @@ num_of_cache_types = ARRAY_SIZE(beige_goby_cache_info); break; case IP_VERSION(10, 3, 3): - case IP_VERSION(10, 3, 6): /* TODO: Double check these on production silicon */ - case IP_VERSION(10, 3, 7): /* TODO: Double check these on production silicon */ pcache_info = yellow_carp_cache_info; num_of_cache_types = ARRAY_SIZE(yellow_carp_cache_info); break; + case IP_VERSION(10, 3, 6): + pcache_info = gc_10_3_6_cache_info; + num_of_cache_types = ARRAY_SIZE(gc_10_3_6_cache_info); + break; + case IP_VERSION(10, 3, 7): + pcache_info = gfx1037_cache_info; + num_of_cache_types = ARRAY_SIZE(gfx1037_cache_info); + break; case IP_VERSION(11, 0, 0): case IP_VERSION(11, 0, 1): case IP_VERSION(11, 0, 2): --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_device.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdkfd/kfd_device.c @@ -75,7 +75,6 @@ case IP_VERSION(5, 2, 3):/* YELLOW_CARP */ case IP_VERSION(5, 2, 6):/* GC 10.3.6 */ case IP_VERSION(5, 2, 7):/* GC 10.3.7 */ - case IP_VERSION(6, 0, 1): kfd->device_info.num_sdma_queues_per_engine = 2; break; case IP_VERSION(4, 2, 0):/* VEGA20 */ @@ -90,6 +89,7 @@ case IP_VERSION(5, 2, 4):/* DIMGREY_CAVEFISH */ case IP_VERSION(5, 2, 5):/* BEIGE_GOBY */ case IP_VERSION(6, 0, 0): + case IP_VERSION(6, 0, 1): case IP_VERSION(6, 0, 2): kfd->device_info.num_sdma_queues_per_engine = 8; break; @@ -377,12 +377,8 @@ f2g = &gfx_v10_3_kfd2kgd; break; case IP_VERSION(10, 3, 6): - gfx_target_version = 100306; - if (!vf) - f2g = &gfx_v10_3_kfd2kgd; - break; case IP_VERSION(10, 3, 7): - gfx_target_version = 100307; + gfx_target_version = 100306; if (!vf) f2g = &gfx_v10_3_kfd2kgd; break; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c @@ -1232,6 +1232,24 @@ dqm->dev->kfd2kgd->init_interrupts(dqm->dev->adev, i); } +static void init_sdma_bitmaps(struct device_queue_manager *dqm) +{ + unsigned int num_sdma_queues = + min_t(unsigned int, sizeof(dqm->sdma_bitmap)*8, + get_num_sdma_queues(dqm)); + unsigned int num_xgmi_sdma_queues = + min_t(unsigned int, sizeof(dqm->xgmi_sdma_bitmap)*8, + get_num_xgmi_sdma_queues(dqm)); + + if (num_sdma_queues) + dqm->sdma_bitmap = GENMASK_ULL(num_sdma_queues-1, 0); + if (num_xgmi_sdma_queues) + dqm->xgmi_sdma_bitmap = GENMASK_ULL(num_xgmi_sdma_queues-1, 0); + + dqm->sdma_bitmap &= ~get_reserved_sdma_queues_bitmap(dqm); + pr_info("sdma_bitmap: %llx\n", dqm->sdma_bitmap); +} + static int initialize_nocpsch(struct device_queue_manager *dqm) { int pipe, queue; @@ -1260,11 +1278,7 @@ memset(dqm->vmid_pasid, 0, sizeof(dqm->vmid_pasid)); - dqm->sdma_bitmap = ~0ULL >> (64 - get_num_sdma_queues(dqm)); - dqm->sdma_bitmap &= ~(get_reserved_sdma_queues_bitmap(dqm)); - pr_info("sdma_bitmap: %llx\n", dqm->sdma_bitmap); - - dqm->xgmi_sdma_bitmap = ~0ULL >> (64 - get_num_xgmi_sdma_queues(dqm)); + init_sdma_bitmaps(dqm); return 0; } @@ -1442,9 +1456,6 @@ static int initialize_cpsch(struct device_queue_manager *dqm) { - uint64_t num_sdma_queues; - uint64_t num_xgmi_sdma_queues; - pr_debug("num of pipes: %d\n", get_pipes_per_mec(dqm)); mutex_init(&dqm->lock_hidden); @@ -1453,24 +1464,10 @@ dqm->active_cp_queue_count = 0; dqm->gws_queue_count = 0; dqm->active_runlist = false; - - num_sdma_queues = get_num_sdma_queues(dqm); - if (num_sdma_queues >= BITS_PER_TYPE(dqm->sdma_bitmap)) - dqm->sdma_bitmap = ULLONG_MAX; - else - dqm->sdma_bitmap = (BIT_ULL(num_sdma_queues) - 1); - - dqm->sdma_bitmap &= ~(get_reserved_sdma_queues_bitmap(dqm)); - pr_info("sdma_bitmap: %llx\n", dqm->sdma_bitmap); - - num_xgmi_sdma_queues = get_num_xgmi_sdma_queues(dqm); - if (num_xgmi_sdma_queues >= BITS_PER_TYPE(dqm->xgmi_sdma_bitmap)) - dqm->xgmi_sdma_bitmap = ULLONG_MAX; - else - dqm->xgmi_sdma_bitmap = (BIT_ULL(num_xgmi_sdma_queues) - 1); - INIT_WORK(&dqm->hw_exception_work, kfd_process_hw_exception); + init_sdma_bitmaps(dqm); + return 0; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_events.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdkfd/kfd_events.c @@ -507,6 +507,7 @@ ret = create_other_event(p, ev, &ev_priv->event_id); break; } + mutex_unlock(&p->event_mutex); exit: if (ret) @@ -514,8 +515,6 @@ kfree(ev_priv); - mutex_unlock(&p->event_mutex); - return ret; } @@ -895,7 +894,8 @@ return msecs_to_jiffies(user_timeout_ms) + 1; } -static void free_waiters(uint32_t num_events, struct kfd_event_waiter *waiters) +static void free_waiters(uint32_t num_events, struct kfd_event_waiter *waiters, + bool undo_auto_reset) { uint32_t i; @@ -904,6 +904,9 @@ spin_lock(&waiters[i].event->lock); remove_wait_queue(&waiters[i].event->wq, &waiters[i].wait); + if (undo_auto_reset && waiters[i].activated && + waiters[i].event && waiters[i].event->auto_reset) + set_event(waiters[i].event); spin_unlock(&waiters[i].event->lock); } @@ -912,7 +915,7 @@ int kfd_wait_on_events(struct kfd_process *p, uint32_t num_events, void __user *data, - bool all, uint32_t user_timeout_ms, + bool all, uint32_t *user_timeout_ms, uint32_t *wait_result) { struct kfd_event_data __user *events = @@ -921,7 +924,7 @@ int ret = 0; struct kfd_event_waiter *event_waiters = NULL; - long timeout = user_timeout_to_jiffies(user_timeout_ms); + long timeout = user_timeout_to_jiffies(*user_timeout_ms); event_waiters = alloc_event_waiters(num_events); if (!event_waiters) { @@ -971,15 +974,11 @@ } if (signal_pending(current)) { - /* - * This is wrong when a nonzero, non-infinite timeout - * is specified. We need to use - * ERESTARTSYS_RESTARTBLOCK, but struct restart_block - * contains a union with data for each user and it's - * in generic kernel code that I don't want to - * touch yet. - */ ret = -ERESTARTSYS; + if (*user_timeout_ms != KFD_EVENT_TIMEOUT_IMMEDIATE && + *user_timeout_ms != KFD_EVENT_TIMEOUT_INFINITE) + *user_timeout_ms = jiffies_to_msecs( + max(0l, timeout-1)); break; } @@ -1020,7 +1019,7 @@ event_waiters, events); out_unlock: - free_waiters(num_events, event_waiters); + free_waiters(num_events, event_waiters, ret == -ERESTARTSYS); mutex_unlock(&p->event_mutex); out: if (ret) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c @@ -857,7 +857,7 @@ static vm_fault_t svm_migrate_to_ram(struct vm_fault *vmf) { unsigned long addr = vmf->address; - struct vm_area_struct *vma; + struct svm_range_bo *svm_bo; enum svm_work_list_ops op; struct svm_range *parent; struct svm_range *prange; @@ -865,29 +865,42 @@ struct mm_struct *mm; int r = 0; - vma = vmf->vma; - mm = vma->vm_mm; + svm_bo = vmf->page->zone_device_data; + if (!svm_bo) { + pr_debug("failed get device page at addr 0x%lx\n", addr); + return VM_FAULT_SIGBUS; + } + if (!mmget_not_zero(svm_bo->eviction_fence->mm)) { + pr_debug("addr 0x%lx of process mm is detroyed\n", addr); + return VM_FAULT_SIGBUS; + } - p = kfd_lookup_process_by_mm(vma->vm_mm); + mm = svm_bo->eviction_fence->mm; + if (mm != vmf->vma->vm_mm) + pr_debug("addr 0x%lx is COW mapping in child process\n", addr); + + p = kfd_lookup_process_by_mm(mm); if (!p) { pr_debug("failed find process at fault address 0x%lx\n", addr); - return VM_FAULT_SIGBUS; + r = VM_FAULT_SIGBUS; + goto out_mmput; } if (READ_ONCE(p->svms.faulting_task) == current) { pr_debug("skipping ram migration\n"); - kfd_unref_process(p); - return 0; + r = 0; + goto out_unref_process; } - addr >>= PAGE_SHIFT; + pr_debug("CPU page fault svms 0x%p address 0x%lx\n", &p->svms, addr); + addr >>= PAGE_SHIFT; mutex_lock(&p->svms.lock); prange = svm_range_from_addr(&p->svms, addr, &parent); if (!prange) { - pr_debug("cannot find svm range at 0x%lx\n", addr); + pr_debug("failed get range svms 0x%p addr 0x%lx\n", &p->svms, addr); r = -EFAULT; - goto out; + goto out_unlock_svms; } mutex_lock(&parent->migrate_mutex); @@ -909,10 +922,10 @@ goto out_unlock_prange; } - r = svm_migrate_vram_to_ram(prange, mm); + r = svm_migrate_vram_to_ram(prange, vmf->vma->vm_mm); if (r) - pr_debug("failed %d migrate 0x%p [0x%lx 0x%lx] to ram\n", r, - prange, prange->start, prange->last); + pr_debug("failed %d migrate svms 0x%p range 0x%p [0x%lx 0x%lx]\n", + r, prange->svms, prange, prange->start, prange->last); /* xnack on, update mapping on GPUs with ACCESS_IN_PLACE */ if (p->xnack_enabled && parent == prange) @@ -926,12 +939,13 @@ if (prange != parent) mutex_unlock(&prange->migrate_mutex); mutex_unlock(&parent->migrate_mutex); -out: +out_unlock_svms: mutex_unlock(&p->svms.lock); - kfd_unref_process(p); - +out_unref_process: pr_debug("CPU fault svms 0x%p address 0x%lx done\n", &p->svms, addr); - + kfd_unref_process(p); +out_mmput: + mmput(mm); return r ? VM_FAULT_SIGBUS : 0; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v11.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v11.c @@ -371,7 +371,8 @@ << SDMA0_QUEUE0_RB_CNTL__RB_SIZE__SHIFT | q->vmid << SDMA0_QUEUE0_RB_CNTL__RB_VMID__SHIFT | 1 << SDMA0_QUEUE0_RB_CNTL__RPTR_WRITEBACK_ENABLE__SHIFT | - 6 << SDMA0_QUEUE0_RB_CNTL__RPTR_WRITEBACK_TIMER__SHIFT; + 6 << SDMA0_QUEUE0_RB_CNTL__RPTR_WRITEBACK_TIMER__SHIFT | + 1 << SDMA0_QUEUE0_RB_CNTL__F32_WPTR_POLL_ENABLE__SHIFT; m->sdmax_rlcx_rb_base = lower_32_bits(q->queue_address >> 8); m->sdmax_rlcx_rb_base_hi = upper_32_bits(q->queue_address >> 8); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/amdkfd/kfd_priv.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/amdkfd/kfd_priv.h @@ -1314,7 +1314,7 @@ int kfd_event_mmap(struct kfd_process *process, struct vm_area_struct *vma); int kfd_wait_on_events(struct kfd_process *p, uint32_t num_events, void __user *data, - bool all, uint32_t user_timeout_ms, + bool all, uint32_t *user_timeout_ms, uint32_t *wait_result); void kfd_signal_event_interrupt(u32 pasid, uint32_t partial_id, uint32_t valid_id_bits); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/Kconfig +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/Kconfig @@ -5,6 +5,7 @@ config DRM_AMD_DC bool "AMD DC - Enable new display engine" default y + depends on BROKEN || !CC_IS_CLANG || X86_64 || SPARC64 || ARM64 select SND_HDA_COMPONENT if SND_HDA_CORE select DRM_AMD_DC_DCN if (X86 || PPC_LONG_DOUBLE_128) && !(KCOV_INSTRUMENT_ALL && KCOV_ENABLE_COMPARISONS) help @@ -12,6 +13,12 @@ support for AMDGPU. This adds required support for Vega and Raven ASICs. + calculate_bandwidth() is presently broken on all !(X86_64 || SPARC64 || ARM64) + architectures built with Clang (all released versions), whereby the stack + frame gets blown up to well over 5k. This would cause an immediate kernel + panic on most architectures. We'll revert this when the following bug report + has been resolved: https://github.com/llvm/llvm-project/issues/41896. + config DRM_AMD_DC_DCN def_bool n help --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -131,6 +131,14 @@ /* Number of bytes in PSP footer for firmware. */ #define PSP_FOOTER_BYTES 0x100 +/* + * DMUB Async to Sync Mechanism Status + */ +#define DMUB_ASYNC_TO_SYNC_ACCESS_FAIL 1 +#define DMUB_ASYNC_TO_SYNC_ACCESS_TIMEOUT 2 +#define DMUB_ASYNC_TO_SYNC_ACCESS_SUCCESS 3 +#define DMUB_ASYNC_TO_SYNC_ACCESS_INVALID 4 + /** * DOC: overview * @@ -1141,7 +1149,8 @@ hw_params.fb[i] = &fb_info->fb[i]; switch (adev->ip_versions[DCE_HWIP][0]) { - case IP_VERSION(3, 1, 3): /* Only for this asic hw internal rev B0 */ + case IP_VERSION(3, 1, 3): + case IP_VERSION(3, 1, 4): hw_params.dpia_supported = true; hw_params.disable_dpia = adev->dm.dc->debug.dpia_debug.bits.disable_dpia; break; @@ -1363,13 +1372,21 @@ if (hpd_rx_offload_wq[i].wq == NULL) { DRM_ERROR("create amdgpu_dm_hpd_rx_offload_wq fail!"); - return NULL; + goto out_err; } spin_lock_init(&hpd_rx_offload_wq[i].offload_lock); } return hpd_rx_offload_wq; + +out_err: + for (i = 0; i < max_caps; i++) { + if (hpd_rx_offload_wq[i].wq) + destroy_workqueue(hpd_rx_offload_wq[i].wq); + } + kfree(hpd_rx_offload_wq); + return NULL; } struct amdgpu_stutter_quirk { @@ -1422,7 +1439,44 @@ DMI_MATCH(DMI_PRODUCT_NAME, "Precision 3460"), }, }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Tower Plus 7010"), + }, + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Tower 7010"), + }, + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex SFF Plus 7010"), + }, + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex SFF 7010"), + }, + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Micro Plus 7010"), + }, + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex Micro 7010"), + }, + }, {} + /* TODO: refactor this from a fixed table to a dynamic option */ }; static void retrieve_dmi_info(struct amdgpu_display_manager *dm) @@ -1563,6 +1617,8 @@ DRM_INFO("Seamless boot condition check passed\n"); } + init_data.flags.enable_mipi_converter_optimization = true; + INIT_LIST_HEAD(&adev->dm.da_list); retrieve_dmi_info(&adev->dm); @@ -1598,6 +1654,9 @@ if (amdgpu_dc_debug_mask & DC_DISABLE_CLOCK_GATING) adev->dm.dc->debug.disable_clock_gate = true; + /* TODO: Remove after DP2 receiver gets proper support of Cable ID feature */ + adev->dm.dc->debug.ignore_cable_id = true; + r = dm_dmub_hw_init(adev); if (r) { DRM_ERROR("DMUB interface failed to initialize: status=%d\n", r); @@ -1683,12 +1742,6 @@ } } - if (amdgpu_dm_initialize_drm_device(adev)) { - DRM_ERROR( - "amdgpu: failed to initialize sw for display support.\n"); - goto error; - } - /* Enable outbox notification only after IRQ handlers are registered and DMUB is alive. * It is expected that DMUB will resend any pending notifications at this point, for * example HPD from DPIA. @@ -1696,6 +1749,12 @@ if (dc_is_dmub_outbox_supported(adev->dm.dc)) dc_enable_dmub_outbox(adev->dm.dc); + if (amdgpu_dm_initialize_drm_device(adev)) { + DRM_ERROR( + "amdgpu: failed to initialize sw for display support.\n"); + goto error; + } + /* create fake encoders for MST */ dm_dp_create_fake_mst_encoders(adev); @@ -1739,10 +1798,6 @@ adev->dm.vblank_control_workqueue = NULL; } - for (i = 0; i < adev->dm.display_indexes_num; i++) { - drm_encoder_cleanup(&adev->dm.mst_encoders[i].base); - } - amdgpu_dm_destroy_drm_device(&adev->dm); #if defined(CONFIG_DRM_AMD_SECURE_DISPLAY) @@ -2236,7 +2291,8 @@ } else { ret = drm_dp_mst_topology_mgr_resume(mgr, true); if (ret < 0) { - drm_dp_mst_topology_mgr_set_mst(mgr, false); + dm_helpers_dp_mst_stop_top_mgr(aconnector->dc_link->ctx, + aconnector->dc_link); need_hotplug = true; } } @@ -2757,12 +2813,14 @@ drm_for_each_connector_iter(connector, &iter) { aconnector = to_amdgpu_dm_connector(connector); + if (!aconnector->dc_link) + continue; + /* * this is the case when traversing through already created * MST connectors, should be skipped */ - if (aconnector->dc_link && - aconnector->dc_link->type == dc_connection_mst_branch) + if (aconnector->dc_link->type == dc_connection_mst_branch) continue; mutex_lock(&aconnector->hpd_lock); @@ -2882,15 +2940,12 @@ static void update_connector_ext_caps(struct amdgpu_dm_connector *aconnector) { - u32 max_avg, min_cll, max, min, q, r; struct amdgpu_dm_backlight_caps *caps; struct amdgpu_display_manager *dm; struct drm_connector *conn_base; struct amdgpu_device *adev; struct dc_link *link = NULL; - static const u8 pre_computed_values[] = { - 50, 51, 52, 53, 55, 56, 57, 58, 59, 61, 62, 63, 65, 66, 68, 69, - 71, 72, 74, 75, 77, 79, 81, 82, 84, 86, 88, 90, 92, 94, 96, 98}; + struct drm_luminance_range_info *luminance_range; int i; if (!aconnector || !aconnector->dc_link) @@ -2912,8 +2967,6 @@ caps = &dm->backlight_caps[i]; caps->ext_caps = &aconnector->dc_link->dpcd_sink_ext_caps; caps->aux_support = false; - max_avg = conn_base->hdr_sink_metadata.hdmi_type1.max_fall; - min_cll = conn_base->hdr_sink_metadata.hdmi_type1.min_cll; if (caps->ext_caps->bits.oled == 1 /*|| caps->ext_caps->bits.sdr_aux_backlight_control == 1 || @@ -2925,31 +2978,9 @@ else if (amdgpu_backlight == 1) caps->aux_support = true; - /* From the specification (CTA-861-G), for calculating the maximum - * luminance we need to use: - * Luminance = 50*2**(CV/32) - * Where CV is a one-byte value. - * For calculating this expression we may need float point precision; - * to avoid this complexity level, we take advantage that CV is divided - * by a constant. From the Euclids division algorithm, we know that CV - * can be written as: CV = 32*q + r. Next, we replace CV in the - * Luminance expression and get 50*(2**q)*(2**(r/32)), hence we just - * need to pre-compute the value of r/32. For pre-computing the values - * We just used the following Ruby line: - * (0...32).each {|cv| puts (50*2**(cv/32.0)).round} - * The results of the above expressions can be verified at - * pre_computed_values. - */ - q = max_avg >> 5; - r = max_avg % 32; - max = (1 << q) * pre_computed_values[r]; - - // min luminance: maxLum * (CV/255)^2 / 100 - q = DIV_ROUND_CLOSEST(min_cll, 255); - min = max * DIV_ROUND_CLOSEST((q * q), 100); - - caps->aux_max_input_signal = max; - caps->aux_min_input_signal = min; + luminance_range = &conn_base->display_info.luminance_range; + caps->aux_min_input_signal = luminance_range->min_luminance; + caps->aux_max_input_signal = luminance_range->max_luminance; } void amdgpu_dm_update_connector_after_detect( @@ -3892,8 +3923,11 @@ adev_to_drm(adev)->mode_config.max_height = 16384; adev_to_drm(adev)->mode_config.preferred_depth = 24; - /* disable prefer shadow for now due to hibernation issues */ - adev_to_drm(adev)->mode_config.prefer_shadow = 0; + if (adev->asic_type == CHIP_HAWAII) + /* disable prefer shadow for now due to hibernation issues */ + adev_to_drm(adev)->mode_config.prefer_shadow = 0; + else + adev_to_drm(adev)->mode_config.prefer_shadow = 1; /* indicates support for immediate flip */ adev_to_drm(adev)->mode_config.async_page_flip = true; @@ -4317,11 +4351,9 @@ /* Determine whether to enable PSR support by default. */ if (!(amdgpu_dc_debug_mask & DC_DISABLE_PSR)) { - switch (adev->ip_versions[DCE_HWIP][0]) { - case IP_VERSION(3, 1, 2): - case IP_VERSION(3, 1, 3): - case IP_VERSION(3, 1, 5): - case IP_VERSION(3, 1, 6): + switch (adev->asic_type) { + case CHIP_VANGOGH: + case CHIP_YELLOW_CARP: psr_feature_enabled = true; break; default: @@ -4525,6 +4557,17 @@ static int dm_early_init(void *handle) { struct amdgpu_device *adev = (struct amdgpu_device *)handle; + struct amdgpu_mode_info *mode_info = &adev->mode_info; + struct atom_context *ctx = mode_info->atom_context; + int index = GetIndexIntoMasterTable(DATA, Object_Header); + u16 data_offset; + + /* if there is no object header, skip DM */ + if (!amdgpu_atom_parse_data_header(ctx, index, NULL, NULL, NULL, &data_offset)) { + adev->harvest_ip_mask |= AMD_HARVEST_IP_DMU_MASK; + dev_info(adev->dev, "No object header, skipping DM\n"); + return -ENOENT; + } switch (adev->asic_type) { #if defined(CONFIG_DRM_AMD_DC_SI) @@ -5624,7 +5667,7 @@ plane_info->visible = true; plane_info->stereo_format = PLANE_STEREO_FORMAT_NONE; - plane_info->layer_index = 0; + plane_info->layer_index = plane_state->normalized_zpos; ret = fill_plane_color_attributes(plane_state, plane_info->format, &plane_info->color_space); @@ -5692,7 +5735,7 @@ dc_plane_state->global_alpha = plane_info.global_alpha; dc_plane_state->global_alpha_value = plane_info.global_alpha_value; dc_plane_state->dcc = plane_info.dcc; - dc_plane_state->layer_index = plane_info.layer_index; // Always returns 0 + dc_plane_state->layer_index = plane_info.layer_index; dc_plane_state->flip_int_enabled = true; /* @@ -5994,8 +6037,6 @@ timing_out->aspect_ratio = get_aspect_ratio(mode_in); - stream->output_color_space = get_output_color_space(timing_out); - stream->out_transfer_func->type = TF_TYPE_PREDEFINED; stream->out_transfer_func->tf = TRANSFER_FUNCTION_SRGB; if (stream->signal == SIGNAL_TYPE_HDMI_TYPE_A) { @@ -6006,6 +6047,8 @@ adjust_colour_depth_from_display_info(timing_out, info); } } + + stream->output_color_space = get_output_color_space(timing_out); } static void fill_audio_info(struct audio_info *audio_info, @@ -9152,15 +9195,15 @@ * We also need vupdate irq for the actual core vblank handling * at end of vblank. */ - dm_set_vupdate_irq(new_state->base.crtc, true); - drm_crtc_vblank_get(new_state->base.crtc); + WARN_ON(dm_set_vupdate_irq(new_state->base.crtc, true) != 0); + WARN_ON(drm_crtc_vblank_get(new_state->base.crtc) != 0); DRM_DEBUG_DRIVER("%s: crtc=%u VRR off->on: Get vblank ref\n", __func__, new_state->base.crtc->base.id); } else if (old_vrr_active && !new_vrr_active) { /* Transition VRR active -> inactive: * Allow vblank irq disable again for fixed refresh rate. */ - dm_set_vupdate_irq(new_state->base.crtc, false); + WARN_ON(dm_set_vupdate_irq(new_state->base.crtc, false) != 0); drm_crtc_vblank_put(new_state->base.crtc); DRM_DEBUG_DRIVER("%s: crtc=%u VRR on->off: Drop vblank ref\n", __func__, new_state->base.crtc->base.id); @@ -9911,23 +9954,6 @@ mutex_unlock(&dm->dc_lock); } - /* Count number of newly disabled CRTCs for dropping PM refs later. */ - for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, - new_crtc_state, i) { - if (old_crtc_state->active && !new_crtc_state->active) - crtc_disable_count++; - - dm_new_crtc_state = to_dm_crtc_state(new_crtc_state); - dm_old_crtc_state = to_dm_crtc_state(old_crtc_state); - - /* For freesync config update on crtc state and params for irq */ - update_stream_irq_parameters(dm, dm_new_crtc_state); - - /* Handle vrr on->off / off->on transitions */ - amdgpu_dm_handle_vrr_transition(dm_old_crtc_state, - dm_new_crtc_state); - } - /** * Enable interrupts for CRTCs that are newly enabled or went through * a modeset. It was intentionally deferred until after the front end @@ -9937,16 +9963,29 @@ for_each_oldnew_crtc_in_state(state, crtc, old_crtc_state, new_crtc_state, i) { struct amdgpu_crtc *acrtc = to_amdgpu_crtc(crtc); #ifdef CONFIG_DEBUG_FS - bool configure_crc = false; enum amdgpu_dm_pipe_crc_source cur_crc_src; #if defined(CONFIG_DRM_AMD_SECURE_DISPLAY) - struct crc_rd_work *crc_rd_wrk = dm->crc_rd_wrk; + struct crc_rd_work *crc_rd_wrk; +#endif +#endif + /* Count number of newly disabled CRTCs for dropping PM refs later. */ + if (old_crtc_state->active && !new_crtc_state->active) + crtc_disable_count++; + + dm_new_crtc_state = to_dm_crtc_state(new_crtc_state); + dm_old_crtc_state = to_dm_crtc_state(old_crtc_state); + + /* For freesync config update on crtc state and params for irq */ + update_stream_irq_parameters(dm, dm_new_crtc_state); + +#ifdef CONFIG_DEBUG_FS +#if defined(CONFIG_DRM_AMD_SECURE_DISPLAY) + crc_rd_wrk = dm->crc_rd_wrk; #endif spin_lock_irqsave(&adev_to_drm(adev)->event_lock, flags); cur_crc_src = acrtc->dm_irq_params.crc_src; spin_unlock_irqrestore(&adev_to_drm(adev)->event_lock, flags); #endif - dm_new_crtc_state = to_dm_crtc_state(new_crtc_state); if (new_crtc_state->active && (!old_crtc_state->active || @@ -9954,16 +9993,19 @@ dc_stream_retain(dm_new_crtc_state->stream); acrtc->dm_irq_params.stream = dm_new_crtc_state->stream; manage_dm_interrupts(adev, acrtc, true); + } + /* Handle vrr on->off / off->on transitions */ + amdgpu_dm_handle_vrr_transition(dm_old_crtc_state, dm_new_crtc_state); #ifdef CONFIG_DEBUG_FS + if (new_crtc_state->active && + (!old_crtc_state->active || + drm_atomic_crtc_needs_modeset(new_crtc_state))) { /** * Frontend may have changed so reapply the CRC capture * settings for the stream. */ - dm_new_crtc_state = to_dm_crtc_state(new_crtc_state); - if (amdgpu_dm_is_valid_crc_source(cur_crc_src)) { - configure_crc = true; #if defined(CONFIG_DRM_AMD_SECURE_DISPLAY) if (amdgpu_dm_crc_window_is_activated(crtc)) { spin_lock_irqsave(&adev_to_drm(adev)->event_lock, flags); @@ -9975,14 +10017,12 @@ spin_unlock_irqrestore(&adev_to_drm(adev)->event_lock, flags); } #endif - } - - if (configure_crc) if (amdgpu_dm_crtc_configure_crc_source( crtc, dm_new_crtc_state, cur_crc_src)) DRM_DEBUG_DRIVER("Failed to configure crc source"); -#endif + } } +#endif } for_each_new_crtc_in_state(state, crtc, new_crtc_state, j) @@ -10405,6 +10445,13 @@ if (!dm_old_crtc_state->stream) goto skip_modeset; + /* Unset freesync video if it was active before */ + if (dm_old_crtc_state->freesync_config.state == VRR_STATE_ACTIVE_FIXED) { + dm_new_crtc_state->freesync_config.state = VRR_STATE_INACTIVE; + dm_new_crtc_state->freesync_config.fixed_refresh_in_uhz = 0; + } + + /* Now check if we should set freesync video mode */ if (dm_new_crtc_state->stream && is_timing_unchanged_for_freesync(new_crtc_state, old_crtc_state)) { @@ -10457,7 +10504,7 @@ * added MST connectors not found in existing crtc_state in the chained mode * TODO: need to dig out the root cause of that */ - if (!aconnector || (!aconnector->dc_sink && aconnector->mst_port)) + if (!aconnector) goto skip_modeset; if (modereset_required(new_crtc_state)) @@ -11052,8 +11099,8 @@ goto fail; } - if (dm_old_con_state->abm_level != - dm_new_con_state->abm_level) + if (dm_old_con_state->abm_level != dm_new_con_state->abm_level || + dm_old_con_state->scaling != dm_new_con_state->scaling) new_crtc_state->connectors_changed = true; } @@ -11142,6 +11189,18 @@ } } + /* + * DC consults the zpos (layer_index in DC terminology) to determine the + * hw plane on which to enable the hw cursor (see + * `dcn10_can_pipe_disable_cursor`). By now, all modified planes are in + * atomic state, so call drm helper to normalize zpos. + */ + ret = drm_atomic_normalize_zpos(dev, state); + if (ret) { + drm_dbg(dev, "drm_atomic_normalize_zpos() failed\n"); + goto fail; + } + /* Remove exiting planes if they are modified */ for_each_oldnew_plane_in_state_reverse(state, plane, old_plane_state, new_plane_state, i) { ret = dm_update_plane_state(dc, state, plane, @@ -11783,6 +11842,8 @@ *operation_result = AUX_RET_ERROR_TIMEOUT; } else if (status_type == DMUB_ASYNC_TO_SYNC_ACCESS_FAIL) { *operation_result = AUX_RET_ERROR_ENGINE_ACQUIRE; + } else if (status_type == DMUB_ASYNC_TO_SYNC_ACCESS_INVALID) { + *operation_result = AUX_RET_ERROR_INVALID_REPLY; } else { *operation_result = AUX_RET_ERROR_UNKNOWN; } @@ -11830,6 +11891,16 @@ payload->reply[0] = adev->dm.dmub_notify->aux_reply.command; if (!payload->write && adev->dm.dmub_notify->aux_reply.length && payload->reply[0] == AUX_TRANSACTION_REPLY_AUX_ACK) { + + if (payload->length != adev->dm.dmub_notify->aux_reply.length) { + DRM_WARN("invalid read from DPIA AUX %x(%d) got length %d!\n", + payload->address, payload->length, + adev->dm.dmub_notify->aux_reply.length); + return amdgpu_dm_set_dmub_async_sync_status(is_cmd_aux, ctx, + DMUB_ASYNC_TO_SYNC_ACCESS_INVALID, + (uint32_t *)operation_result); + } + memcpy(payload->data, adev->dm.dmub_notify->aux_reply.data, adev->dm.dmub_notify->aux_reply.length); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h @@ -51,12 +51,6 @@ #define AMDGPU_DMUB_NOTIFICATION_MAX 5 /* - * DMUB Async to Sync Mechanism Status - */ -#define DMUB_ASYNC_TO_SYNC_ACCESS_FAIL 1 -#define DMUB_ASYNC_TO_SYNC_ACCESS_TIMEOUT 2 -#define DMUB_ASYNC_TO_SYNC_ACCESS_SUCCESS 3 -/* #include "include/amdgpu_dal_power_if.h" #include "amdgpu_dm_irq.h" */ --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c @@ -3188,7 +3188,7 @@ &crc_win_y_end_fops); debugfs_create_file_unsafe("crc_win_update", 0644, dir, crtc, &crc_win_update_fops); - + dput(dir); } #endif /* --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c @@ -41,39 +41,6 @@ #include "dm_helpers.h" #include "ddc_service_types.h" -struct monitor_patch_info { - unsigned int manufacturer_id; - unsigned int product_id; - void (*patch_func)(struct dc_edid_caps *edid_caps, unsigned int param); - unsigned int patch_param; -}; -static void set_max_dsc_bpp_limit(struct dc_edid_caps *edid_caps, unsigned int param); - -static const struct monitor_patch_info monitor_patch_table[] = { -{0x6D1E, 0x5BBF, set_max_dsc_bpp_limit, 15}, -{0x6D1E, 0x5B9A, set_max_dsc_bpp_limit, 15}, -}; - -static void set_max_dsc_bpp_limit(struct dc_edid_caps *edid_caps, unsigned int param) -{ - if (edid_caps) - edid_caps->panel_patch.max_dsc_target_bpp_limit = param; -} - -static int amdgpu_dm_patch_edid_caps(struct dc_edid_caps *edid_caps) -{ - int i, ret = 0; - - for (i = 0; i < ARRAY_SIZE(monitor_patch_table); i++) - if ((edid_caps->manufacturer_id == monitor_patch_table[i].manufacturer_id) - && (edid_caps->product_id == monitor_patch_table[i].product_id)) { - monitor_patch_table[i].patch_func(edid_caps, monitor_patch_table[i].patch_param); - ret++; - } - - return ret; -} - /* dm_helpers_parse_edid_caps * * Parse edid caps @@ -148,8 +115,6 @@ kfree(sads); kfree(sadb); - amdgpu_dm_patch_edid_caps(edid_caps); - return result; } @@ -451,7 +416,6 @@ struct dc_link *link) { struct amdgpu_dm_connector *aconnector = link->priv; - uint8_t i; if (!aconnector) { DRM_ERROR("Failed to find connector for link!"); @@ -463,22 +427,7 @@ if (aconnector->mst_mgr.mst_state == true) { drm_dp_mst_topology_mgr_set_mst(&aconnector->mst_mgr, false); - - for (i = 0; i < MAX_SINKS_PER_LINK; i++) { - if (link->remote_sinks[i] == NULL) - continue; - - if (link->remote_sinks[i]->sink_signal == - SIGNAL_TYPE_DISPLAY_PORT_MST) { - dc_link_remove_remote_sink(link, link->remote_sinks[i]); - - if (aconnector->dc_sink) { - dc_sink_release(aconnector->dc_sink); - aconnector->dc_sink = NULL; - aconnector->dc_link->cur_link_settings.lane_count = 0; - } - } - } + link->cur_link_settings.lane_count = 0; } return false; @@ -571,7 +520,7 @@ unsigned char rc_cmd = 0; unsigned char rc_result = 0xFF; unsigned char i = 0; - uint8_t ret = 0; + int ret; if (is_write_cmd) { // write rc data --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c @@ -157,11 +157,28 @@ static void amdgpu_dm_mst_connector_early_unregister(struct drm_connector *connector) { - struct amdgpu_dm_connector *amdgpu_dm_connector = + struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector); - struct drm_dp_mst_port *port = amdgpu_dm_connector->port; + struct drm_dp_mst_port *port = aconnector->port; + struct amdgpu_dm_connector *root = aconnector->mst_port; + struct dc_link *dc_link = aconnector->dc_link; + struct dc_sink *dc_sink = aconnector->dc_sink; drm_dp_mst_connector_early_unregister(connector, port); + + /* + * Release dc_sink for connector which its attached port is + * no longer in the mst topology + */ + drm_modeset_lock(&root->mst_mgr.base.lock, NULL); + if (dc_sink) { + if (dc_link->sink_count) + dc_link_remove_remote_sink(dc_link, dc_sink); + + dc_sink_release(dc_sink); + aconnector->dc_sink = NULL; + } + drm_modeset_unlock(&root->mst_mgr.base.lock); } static const struct drm_connector_funcs dm_dp_mst_connector_funcs = { @@ -361,12 +378,59 @@ { struct amdgpu_dm_connector *aconnector = to_amdgpu_dm_connector(connector); struct amdgpu_dm_connector *master = aconnector->mst_port; + struct drm_dp_mst_port *port = aconnector->port; + int connection_status; if (drm_connector_is_unregistered(connector)) return connector_status_disconnected; - return drm_dp_mst_detect_port(connector, ctx, &master->mst_mgr, - aconnector->port); + connection_status = drm_dp_mst_detect_port(connector, ctx, &master->mst_mgr, + aconnector->port); + + if (port->pdt != DP_PEER_DEVICE_NONE && !port->dpcd_rev) { + uint8_t dpcd_rev; + int ret; + + ret = drm_dp_dpcd_readb(&port->aux, DP_DP13_DPCD_REV, &dpcd_rev); + + if (ret == 1) { + port->dpcd_rev = dpcd_rev; + + /* Could be DP1.2 DP Rx case*/ + if (!dpcd_rev) { + ret = drm_dp_dpcd_readb(&port->aux, DP_DPCD_REV, &dpcd_rev); + + if (ret == 1) + port->dpcd_rev = dpcd_rev; + } + + if (!dpcd_rev) + DRM_DEBUG_KMS("Can't decide DPCD revision number!"); + } + + /* + * Could be legacy sink, logical port etc on DP1.2. + * Will get Nack under these cases when issue remote + * DPCD read. + */ + if (ret != 1) + DRM_DEBUG_KMS("Can't access DPCD"); + } else if (port->pdt == DP_PEER_DEVICE_NONE) { + port->dpcd_rev = 0; + } + + /* + * Release dc_sink for connector which unplug event is notified by CSN msg + */ + if (connection_status == connector_status_disconnected && aconnector->dc_sink) { + if (aconnector->dc_link->sink_count) + dc_link_remove_remote_sink(aconnector->dc_link, aconnector->dc_sink); + + dc_sink_release(aconnector->dc_sink); + aconnector->dc_sink = NULL; + } + + return connection_status; } static int dm_dp_mst_atomic_check(struct drm_connector *connector, @@ -411,7 +475,6 @@ static void amdgpu_dm_encoder_destroy(struct drm_encoder *encoder) { drm_encoder_cleanup(encoder); - kfree(encoder); } static const struct drm_encoder_funcs amdgpu_dm_encoder_funcs = { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c @@ -60,11 +60,15 @@ */ void amdgpu_dm_set_psr_caps(struct dc_link *link) { - if (!(link->connector_signal & SIGNAL_TYPE_EDP)) + if (!(link->connector_signal & SIGNAL_TYPE_EDP)) { + link->psr_settings.psr_feature_enabled = false; return; + } - if (link->type == dc_connection_none) + if (link->type == dc_connection_none) { + link->psr_settings.psr_feature_enabled = false; return; + } if (link->dpcd_caps.psr_info.psr_version == 0) { link->psr_settings.psr_version = DC_PSR_VERSION_UNSUPPORTED; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c @@ -356,6 +356,7 @@ uint32_t count = 0; unsigned int table_index = 0; bool find_valid = false; + struct atom_gpio_pin_assignment *pin; if (!info) return BP_RESULT_BADINPUT; @@ -383,20 +384,17 @@ - sizeof(struct atom_common_table_header)) / sizeof(struct atom_gpio_pin_assignment); + pin = (struct atom_gpio_pin_assignment *) header->gpio_pin; + for (table_index = 0; table_index < count; table_index++) { - if (((record->i2c_id & I2C_HW_CAP) == ( - header->gpio_pin[table_index].gpio_id & - I2C_HW_CAP)) && - ((record->i2c_id & I2C_HW_ENGINE_ID_MASK) == - (header->gpio_pin[table_index].gpio_id & - I2C_HW_ENGINE_ID_MASK)) && - ((record->i2c_id & I2C_HW_LANE_MUX) == - (header->gpio_pin[table_index].gpio_id & - I2C_HW_LANE_MUX))) { + if (((record->i2c_id & I2C_HW_CAP) == (pin->gpio_id & I2C_HW_CAP)) && + ((record->i2c_id & I2C_HW_ENGINE_ID_MASK) == (pin->gpio_id & I2C_HW_ENGINE_ID_MASK)) && + ((record->i2c_id & I2C_HW_LANE_MUX) == (pin->gpio_id & I2C_HW_LANE_MUX))) { /* still valid */ find_valid = true; break; } + pin = (struct atom_gpio_pin_assignment *)((uint8_t *)pin + sizeof(struct atom_gpio_pin_assignment)); } /* If we don't find the entry that we are looking for then @@ -1867,6 +1865,26 @@ return result; } +static enum bp_result get_vram_info_v30( + struct bios_parser *bp, + struct dc_vram_info *info) +{ + struct atom_vram_info_header_v3_0 *info_v30; + enum bp_result result = BP_RESULT_OK; + + info_v30 = GET_IMAGE(struct atom_vram_info_header_v3_0, + DATA_TABLES(vram_info)); + + if (info_v30 == NULL) + return BP_RESULT_BADBIOSTABLE; + + info->num_chans = info_v30->channel_num; + info->dram_channel_width_bytes = (1 << info_v30->channel_width) / 8; + + return result; +} + + /* * get_integrated_info_v11 * @@ -2465,6 +2483,16 @@ break; default: break; + } + break; + + case 3: + switch (revision.minor) { + case 0: + result = get_vram_info_v30(bp, info); + break; + default: + break; } break; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn21/rn_clk_mgr_vbios_smu.c @@ -41,6 +41,12 @@ #define FN(reg_name, field) \ FD(reg_name##__##field) +#include "logger_types.h" +#undef DC_LOGGER +#define DC_LOGGER \ + CTX->logger +#define smu_print(str, ...) {DC_LOG_SMU(str, ##__VA_ARGS__); } + #define VBIOSSMC_MSG_TestMessage 0x1 #define VBIOSSMC_MSG_GetSmuVersion 0x2 #define VBIOSSMC_MSG_PowerUpGfx 0x3 @@ -95,7 +101,13 @@ uint32_t result; result = rn_smu_wait_for_response(clk_mgr, 10, 200000); - ASSERT(result == VBIOSSMC_Result_OK); + + if (result != VBIOSSMC_Result_OK) + smu_print("SMU Response was not OK. SMU response after wait received is: %d\n", result); + + if (result == VBIOSSMC_Status_BUSY) { + return -1; + } /* First clear response register */ REG_WRITE(MP1_SMN_C2PMSG_91, VBIOSSMC_Status_BUSY); @@ -176,6 +188,10 @@ VBIOSSMC_MSG_SetHardMinDcfclkByFreq, khz_to_mhz_ceil(requested_dcfclk_khz)); +#ifdef DBG + smu_print("actual_dcfclk_set_mhz %d is set to : %d\n", actual_dcfclk_set_mhz, actual_dcfclk_set_mhz * 1000); +#endif + return actual_dcfclk_set_mhz * 1000; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn301/dcn301_smu.c @@ -41,6 +41,12 @@ #define FN(reg_name, field) \ FD(reg_name##__##field) +#include "logger_types.h" +#undef DC_LOGGER +#define DC_LOGGER \ + CTX->logger +#define smu_print(str, ...) {DC_LOG_SMU(str, ##__VA_ARGS__); } + #define VBIOSSMC_MSG_GetSmuVersion 0x2 #define VBIOSSMC_MSG_SetDispclkFreq 0x4 #define VBIOSSMC_MSG_SetDprefclkFreq 0x5 @@ -96,6 +102,13 @@ result = dcn301_smu_wait_for_response(clk_mgr, 10, 200000); + if (result != VBIOSSMC_Result_OK) + smu_print("SMU Response was not OK. SMU response after wait received is: %d\n", result); + + if (result == VBIOSSMC_Status_BUSY) { + return -1; + } + /* First clear response register */ REG_WRITE(MP1_SMN_C2PMSG_91, VBIOSSMC_Status_BUSY); @@ -167,6 +180,10 @@ VBIOSSMC_MSG_SetHardMinDcfclkByFreq, khz_to_mhz_ceil(requested_dcfclk_khz)); +#ifdef DBG + smu_print("actual_dcfclk_set_mhz %d is set to : %d\n", actual_dcfclk_set_mhz, actual_dcfclk_set_mhz * 1000); +#endif + return actual_dcfclk_set_mhz * 1000; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn31/dcn31_smu.c @@ -40,6 +40,12 @@ #define FN(reg_name, field) \ FD(reg_name##__##field) +#include "logger_types.h" +#undef DC_LOGGER +#define DC_LOGGER \ + CTX->logger +#define smu_print(str, ...) {DC_LOG_SMU(str, ##__VA_ARGS__); } + #define VBIOSSMC_MSG_TestMessage 0x1 #define VBIOSSMC_MSG_GetSmuVersion 0x2 #define VBIOSSMC_MSG_PowerUpGfx 0x3 @@ -102,7 +108,9 @@ uint32_t result; result = dcn31_smu_wait_for_response(clk_mgr, 10, 200000); - ASSERT(result == VBIOSSMC_Result_OK); + + if (result != VBIOSSMC_Result_OK) + smu_print("SMU Response was not OK. SMU response after wait received is: %d\n", result); if (result == VBIOSSMC_Status_BUSY) { return -1; @@ -194,6 +202,10 @@ VBIOSSMC_MSG_SetHardMinDcfclkByFreq, khz_to_mhz_ceil(requested_dcfclk_khz)); +#ifdef DBG + smu_print("actual_dcfclk_set_mhz %d is set to : %d\n", actual_dcfclk_set_mhz, actual_dcfclk_set_mhz * 1000); +#endif + return actual_dcfclk_set_mhz * 1000; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_clk_mgr.c @@ -46,6 +46,9 @@ #define TO_CLK_MGR_DCN315(clk_mgr)\ container_of(clk_mgr, struct clk_mgr_dcn315, base) +#define UNSUPPORTED_DCFCLK 10000000 +#define MIN_DPP_DISP_CLK 100000 + static int dcn315_get_active_display_cnt_wa( struct dc *dc, struct dc_state *context) @@ -146,6 +149,9 @@ } } + /* Lock pstate by requesting unsupported dcfclk if change is unsupported */ + if (!new_clocks->p_state_change_support) + new_clocks->dcfclk_khz = UNSUPPORTED_DCFCLK; if (should_set_clock(safe_to_lower, new_clocks->dcfclk_khz, clk_mgr_base->clks.dcfclk_khz)) { clk_mgr_base->clks.dcfclk_khz = new_clocks->dcfclk_khz; dcn315_smu_set_hard_min_dcfclk(clk_mgr, clk_mgr_base->clks.dcfclk_khz); @@ -159,10 +165,10 @@ // workaround: Limit dppclk to 100Mhz to avoid lower eDP panel switch to plus 4K monitor underflow. if (!IS_DIAG_DC(dc->ctx->dce_environment)) { - if (new_clocks->dppclk_khz < 100000) - new_clocks->dppclk_khz = 100000; - if (new_clocks->dispclk_khz < 100000) - new_clocks->dispclk_khz = 100000; + if (new_clocks->dppclk_khz < MIN_DPP_DISP_CLK) + new_clocks->dppclk_khz = MIN_DPP_DISP_CLK; + if (new_clocks->dispclk_khz < MIN_DPP_DISP_CLK) + new_clocks->dispclk_khz = MIN_DPP_DISP_CLK; } if (should_set_clock(safe_to_lower, new_clocks->dppclk_khz, clk_mgr->base.clks.dppclk_khz)) { @@ -272,7 +278,7 @@ { .wm_inst = WM_A, .wm_type = WM_TYPE_PSTATE_CHG, - .pstate_latency_us = 64.0, + .pstate_latency_us = 129.0, .sr_exit_time_us = 11.5, .sr_enter_plus_exit_time_us = 14.5, .valid = true, @@ -280,7 +286,7 @@ { .wm_inst = WM_B, .wm_type = WM_TYPE_PSTATE_CHG, - .pstate_latency_us = 64.0, + .pstate_latency_us = 129.0, .sr_exit_time_us = 11.5, .sr_enter_plus_exit_time_us = 14.5, .valid = true, @@ -288,7 +294,7 @@ { .wm_inst = WM_C, .wm_type = WM_TYPE_PSTATE_CHG, - .pstate_latency_us = 64.0, + .pstate_latency_us = 129.0, .sr_exit_time_us = 11.5, .sr_enter_plus_exit_time_us = 14.5, .valid = true, @@ -296,7 +302,7 @@ { .wm_inst = WM_D, .wm_type = WM_TYPE_PSTATE_CHG, - .pstate_latency_us = 64.0, + .pstate_latency_us = 129.0, .sr_exit_time_us = 11.5, .sr_enter_plus_exit_time_us = 14.5, .valid = true, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn315/dcn315_smu.c @@ -70,6 +70,12 @@ #define REG_NBIO(reg_name) \ (NBIO_BASE.instance[0].segment[regBIF_BX_PF2_ ## reg_name ## _BASE_IDX] + regBIF_BX_PF2_ ## reg_name) +#include "logger_types.h" +#undef DC_LOGGER +#define DC_LOGGER \ + CTX->logger +#define smu_print(str, ...) {DC_LOG_SMU(str, ##__VA_ARGS__); } + #define mmMP1_C2PMSG_3 0x3B1050C #define VBIOSSMC_MSG_TestMessage 0x01 ///< To check if PMFW is alive and responding. Requirement specified by PMFW team @@ -130,7 +136,9 @@ uint32_t result; result = dcn315_smu_wait_for_response(clk_mgr, 10, 200000); - ASSERT(result == VBIOSSMC_Result_OK); + + if (result != VBIOSSMC_Result_OK) + smu_print("SMU Response was not OK. SMU response after wait received is: %d\n", result); if (result == VBIOSSMC_Status_BUSY) { return -1; @@ -197,6 +205,10 @@ VBIOSSMC_MSG_SetHardMinDcfclkByFreq, khz_to_mhz_ceil(requested_dcfclk_khz)); +#ifdef DBG + smu_print("actual_dcfclk_set_mhz %d is set to : %d\n", actual_dcfclk_set_mhz, actual_dcfclk_set_mhz * 1000); +#endif + return actual_dcfclk_set_mhz * 1000; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/clk_mgr/dcn316/dcn316_smu.c @@ -58,6 +58,12 @@ #define FN(reg_name, field) \ FD(reg_name##__##field) +#include "logger_types.h" +#undef DC_LOGGER +#define DC_LOGGER \ + CTX->logger +#define smu_print(str, ...) {DC_LOG_SMU(str, ##__VA_ARGS__); } + #define VBIOSSMC_MSG_TestMessage 0x01 ///< To check if PMFW is alive and responding. Requirement specified by PMFW team #define VBIOSSMC_MSG_GetPmfwVersion 0x02 ///< Get PMFW version #define VBIOSSMC_MSG_Spare0 0x03 ///< Spare0 @@ -118,7 +124,9 @@ uint32_t result; result = dcn316_smu_wait_for_response(clk_mgr, 10, 200000); - ASSERT(result == VBIOSSMC_Result_OK); + + if (result != VBIOSSMC_Result_OK) + smu_print("SMU Response was not OK. SMU response after wait received is: %d\n", result); if (result == VBIOSSMC_Status_BUSY) { return -1; @@ -183,6 +191,10 @@ VBIOSSMC_MSG_SetHardMinDcfclkByFreq, khz_to_mhz_ceil(requested_dcfclk_khz)); +#ifdef DBG + smu_print("actual_dcfclk_set_mhz %d is set to : %d\n", actual_dcfclk_set_mhz, actual_dcfclk_set_mhz * 1000); +#endif + return actual_dcfclk_set_mhz * 1000; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/core/dc.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/core/dc.c @@ -865,6 +865,7 @@ dc_ctx->perf_trace = dc_perf_trace_create(); if (!dc_ctx->perf_trace) { + kfree(dc_ctx); ASSERT_CRITICAL(false); return false; } @@ -1067,8 +1068,15 @@ struct dc_stream_state *old_stream = dc->current_state->res_ctx.pipe_ctx[i].stream; bool should_disable = true; - bool pipe_split_change = - context->res_ctx.pipe_ctx[i].top_pipe != dc->current_state->res_ctx.pipe_ctx[i].top_pipe; + bool pipe_split_change = false; + + if ((context->res_ctx.pipe_ctx[i].top_pipe) && + (dc->current_state->res_ctx.pipe_ctx[i].top_pipe)) + pipe_split_change = context->res_ctx.pipe_ctx[i].top_pipe->pipe_idx != + dc->current_state->res_ctx.pipe_ctx[i].top_pipe->pipe_idx; + else + pipe_split_change = context->res_ctx.pipe_ctx[i].top_pipe != + dc->current_state->res_ctx.pipe_ctx[i].top_pipe; for (j = 0; j < context->stream_count; j++) { if (old_stream == context->streams[j]) { @@ -2625,11 +2633,8 @@ if (update->abm_level) stream->abm_level = *update->abm_level; - if (update->periodic_interrupt0) - stream->periodic_interrupt0 = *update->periodic_interrupt0; - - if (update->periodic_interrupt1) - stream->periodic_interrupt1 = *update->periodic_interrupt1; + if (update->periodic_interrupt) + stream->periodic_interrupt = *update->periodic_interrupt; if (update->gamut_remap) stream->gamut_remap_matrix = *update->gamut_remap; @@ -2716,13 +2721,8 @@ if (!pipe_ctx->top_pipe && !pipe_ctx->prev_odm_pipe && pipe_ctx->stream == stream) { - if (stream_update->periodic_interrupt0 && - dc->hwss.setup_periodic_interrupt) - dc->hwss.setup_periodic_interrupt(dc, pipe_ctx, VLINE0); - - if (stream_update->periodic_interrupt1 && - dc->hwss.setup_periodic_interrupt) - dc->hwss.setup_periodic_interrupt(dc, pipe_ctx, VLINE1); + if (stream_update->periodic_interrupt && dc->hwss.setup_periodic_interrupt) + dc->hwss.setup_periodic_interrupt(dc, pipe_ctx); if ((stream_update->hdr_static_metadata && !stream->use_dynamic_meta) || stream_update->vrr_infopacket || @@ -3783,6 +3783,7 @@ struct dc_context *dc_ctx = dc->ctx; dmub_enable_outbox_notification(dc_ctx->dmub_srv); + DC_LOG_DC("%s: dmub outbox notifications enabled\n", __func__); } /** --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/core/dc_hw_sequencer.c @@ -92,8 +92,8 @@ { 0xE00, 0xF349, 0xFEB7, 0x1000, 0x6CE, 0x16E3, 0x24F, 0x200, 0xFCCB, 0xF535, 0xE00, 0x1000} }, { COLOR_SPACE_YCBCR2020_TYPE, - { 0x1000, 0xF149, 0xFEB7, 0x0000, 0x0868, 0x15B2, - 0x01E6, 0x0000, 0xFB88, 0xF478, 0x1000, 0x0000} }, + { 0x1000, 0xF149, 0xFEB7, 0x1004, 0x0868, 0x15B2, + 0x01E6, 0x201, 0xFB88, 0xF478, 0x1000, 0x1004} }, { COLOR_SPACE_YCBCR709_BLACK_TYPE, { 0x0000, 0x0000, 0x0000, 0x1000, 0x0000, 0x0000, 0x0000, 0x0200, 0x0000, 0x0000, 0x0000, 0x1000} }, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/core/dc_link.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/core/dc_link.c @@ -235,7 +235,8 @@ if (link->connector_signal == SIGNAL_TYPE_EDP) { /*in case it is not on*/ - link->dc->hwss.edp_power_control(link, true); + if (!link->dc->config.edp_no_power_sequencing) + link->dc->hwss.edp_power_control(link, true); link->dc->hwss.edp_wait_for_hpd_ready(link, true); } @@ -1016,6 +1017,7 @@ bool same_edid = false; enum dc_edid_status edid_status; struct dc_context *dc_ctx = link->ctx; + struct dc *dc = dc_ctx->dc; struct dc_sink *sink = NULL; struct dc_sink *prev_sink = NULL; struct dpcd_caps prev_dpcd_caps; @@ -1095,6 +1097,16 @@ detect_edp_sink_caps(link); read_current_link_settings_on_detect(link); + + /* Disable power sequence on MIPI panel + converter + */ + if (dc->config.enable_mipi_converter_optimization && + dc_ctx->dce_version == DCN_VERSION_3_01 && + link->dpcd_caps.sink_dev_id == DP_BRANCH_DEVICE_ID_0022B9 && + memcmp(&link->dpcd_caps.branch_dev_name, DP_SINK_BRANCH_DEV_NAME_7580, + sizeof(link->dpcd_caps.branch_dev_name)) == 0) + dc->config.edp_no_power_sequencing = true; + sink_caps.transaction_type = DDC_TRANSACTION_TYPE_I2C_OVER_AUX; sink_caps.signal = SIGNAL_TYPE_EDP; break; @@ -1897,12 +1909,6 @@ if (false == dc_link_construct(link, init_params)) goto construct_fail; - /* - * Must use preferred_link_setting, not reported_link_cap or verified_link_cap, - * since struct preferred_link_setting won't be reset after S3. - */ - link->preferred_link_setting.dpcd_source_device_specific_field_support = true; - return link; construct_fail: @@ -1993,7 +1999,8 @@ if (pipe_ctx->stream->signal == SIGNAL_TYPE_EDP) { /*in case it is not on*/ - link->dc->hwss.edp_power_control(link, true); + if (!link->dc->config.edp_no_power_sequencing) + link->dc->hwss.edp_power_control(link, true); link->dc->hwss.edp_wait_for_hpd_ready(link, true); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/core/dc_link_dp.c @@ -2074,7 +2074,8 @@ uint32_t wait_time = 0; union lane_align_status_updated dpcd_lane_status_updated = {0}; union lane_status dpcd_lane_status[LANE_COUNT_DP_MAX] = {0}; - enum link_training_result status = LINK_TRAINING_SUCCESS; + enum dc_status status = DC_OK; + enum link_training_result result = LINK_TRAINING_SUCCESS; union lane_adjust dpcd_lane_adjust[LANE_COUNT_DP_MAX] = {0}; /* Transmit 128b/132b_TPS1 over Main-Link */ @@ -2099,22 +2100,24 @@ lt_settings->pattern_for_eq, DPRX); /* poll for channel EQ done */ - while (status == LINK_TRAINING_SUCCESS) { + while (result == LINK_TRAINING_SUCCESS) { dp_wait_for_training_aux_rd_interval(link, aux_rd_interval); wait_time += aux_rd_interval; - dp_get_lane_status_and_lane_adjust(link, lt_settings, dpcd_lane_status, + status = dp_get_lane_status_and_lane_adjust(link, lt_settings, dpcd_lane_status, &dpcd_lane_status_updated, dpcd_lane_adjust, DPRX); dp_decide_lane_settings(lt_settings, dpcd_lane_adjust, lt_settings->hw_lane_settings, lt_settings->dpcd_lane_settings); dpcd_128b_132b_get_aux_rd_interval(link, &aux_rd_interval); - if (dp_is_ch_eq_done(lt_settings->link_settings.lane_count, + if (status != DC_OK) { + result = LINK_TRAINING_ABORT; + } else if (dp_is_ch_eq_done(lt_settings->link_settings.lane_count, dpcd_lane_status)) { /* pass */ break; } else if (loop_count >= lt_settings->eq_loop_count_limit) { - status = DP_128b_132b_MAX_LOOP_COUNT_REACHED; + result = DP_128b_132b_MAX_LOOP_COUNT_REACHED; } else if (dpcd_lane_status_updated.bits.LT_FAILED_128b_132b) { - status = DP_128b_132b_LT_FAILED; + result = DP_128b_132b_LT_FAILED; } else { dp_set_hw_lane_settings(link, link_res, lt_settings, DPRX); dpcd_set_lane_settings(link, lt_settings, DPRX); @@ -2123,24 +2126,26 @@ } /* poll for EQ interlane align done */ - while (status == LINK_TRAINING_SUCCESS) { - if (dpcd_lane_status_updated.bits.EQ_INTERLANE_ALIGN_DONE_128b_132b) { + while (result == LINK_TRAINING_SUCCESS) { + if (status != DC_OK) { + result = LINK_TRAINING_ABORT; + } else if (dpcd_lane_status_updated.bits.EQ_INTERLANE_ALIGN_DONE_128b_132b) { /* pass */ break; } else if (wait_time >= lt_settings->eq_wait_time_limit) { - status = DP_128b_132b_CHANNEL_EQ_DONE_TIMEOUT; + result = DP_128b_132b_CHANNEL_EQ_DONE_TIMEOUT; } else if (dpcd_lane_status_updated.bits.LT_FAILED_128b_132b) { - status = DP_128b_132b_LT_FAILED; + result = DP_128b_132b_LT_FAILED; } else { dp_wait_for_training_aux_rd_interval(link, lt_settings->eq_pattern_time); wait_time += lt_settings->eq_pattern_time; - dp_get_lane_status_and_lane_adjust(link, lt_settings, dpcd_lane_status, + status = dp_get_lane_status_and_lane_adjust(link, lt_settings, dpcd_lane_status, &dpcd_lane_status_updated, dpcd_lane_adjust, DPRX); } } - return status; + return result; } static enum link_training_result dp_perform_128b_132b_cds_done_sequence( @@ -2149,7 +2154,8 @@ struct link_training_settings *lt_settings) { /* Assumption: assume hardware has transmitted eq pattern */ - enum link_training_result status = LINK_TRAINING_SUCCESS; + enum dc_status status = DC_OK; + enum link_training_result result = LINK_TRAINING_SUCCESS; union lane_align_status_updated dpcd_lane_status_updated = {0}; union lane_status dpcd_lane_status[LANE_COUNT_DP_MAX] = {0}; union lane_adjust dpcd_lane_adjust[LANE_COUNT_DP_MAX] = { { {0} } }; @@ -2159,24 +2165,26 @@ dpcd_set_training_pattern(link, lt_settings->pattern_for_cds); /* poll for CDS interlane align done and symbol lock */ - while (status == LINK_TRAINING_SUCCESS) { + while (result == LINK_TRAINING_SUCCESS) { dp_wait_for_training_aux_rd_interval(link, lt_settings->cds_pattern_time); wait_time += lt_settings->cds_pattern_time; - dp_get_lane_status_and_lane_adjust(link, lt_settings, dpcd_lane_status, + status = dp_get_lane_status_and_lane_adjust(link, lt_settings, dpcd_lane_status, &dpcd_lane_status_updated, dpcd_lane_adjust, DPRX); - if (dp_is_symbol_locked(lt_settings->link_settings.lane_count, dpcd_lane_status) && + if (status != DC_OK) { + result = LINK_TRAINING_ABORT; + } else if (dp_is_symbol_locked(lt_settings->link_settings.lane_count, dpcd_lane_status) && dpcd_lane_status_updated.bits.CDS_INTERLANE_ALIGN_DONE_128b_132b) { /* pass */ break; } else if (dpcd_lane_status_updated.bits.LT_FAILED_128b_132b) { - status = DP_128b_132b_LT_FAILED; + result = DP_128b_132b_LT_FAILED; } else if (wait_time >= lt_settings->cds_wait_time_limit) { - status = DP_128b_132b_CDS_DONE_TIMEOUT; + result = DP_128b_132b_CDS_DONE_TIMEOUT; } } - return status; + return result; } static enum link_training_result dp_perform_8b_10b_link_training( @@ -2849,8 +2857,14 @@ skip_video_pattern); /* Transmit idle pattern once training successful. */ - if (status == LINK_TRAINING_SUCCESS && !is_link_bw_low) + if (status == LINK_TRAINING_SUCCESS && !is_link_bw_low) { dp_set_hw_test_pattern(link, &pipe_ctx->link_res, DP_TEST_PATTERN_VIDEO_MODE, NULL, 0); + /* Update verified link settings to current one + * Because DPIA LT might fallback to lower link setting. + */ + link->verified_link_cap.link_rate = link->cur_link_settings.link_rate; + link->verified_link_cap.lane_count = link->cur_link_settings.lane_count; + } } else { status = dc_link_dp_perform_link_training(link, &pipe_ctx->link_res, @@ -5203,6 +5217,14 @@ lttpr_dpcd_data[DP_PHY_REPEATER_128B132B_RATES - DP_LT_TUNABLE_PHY_REPEATER_FIELD_DATA_STRUCTURE_REV]; + /* If this chip cap is set, at least one retimer must exist in the chain + * Override count to 1 if we receive a known bad count (0 or an invalid value) */ + if (link->chip_caps & EXT_DISPLAY_PATH_CAPS__DP_FIXED_VS_EN && + (dp_convert_to_count(link->dpcd_caps.lttpr_caps.phy_repeater_cnt) == 0)) { + ASSERT(0); + link->dpcd_caps.lttpr_caps.phy_repeater_cnt = 0x80; + } + /* Attempt to train in LTTPR transparent mode if repeater count exceeds 8. */ is_lttpr_present = (link->dpcd_caps.lttpr_caps.max_lane_count > 0 && link->dpcd_caps.lttpr_caps.max_lane_count <= 4 && @@ -6579,18 +6601,10 @@ uint8_t hblank_size = (uint8_t)link->dc->caps.min_horizontal_blanking_period; - if (link->preferred_link_setting.dpcd_source_device_specific_field_support) { - result_write_min_hblank = core_link_write_dpcd(link, - DP_SOURCE_MINIMUM_HBLANK_SUPPORTED, (uint8_t *)(&hblank_size), - sizeof(hblank_size)); - - if (result_write_min_hblank == DC_ERROR_UNEXPECTED) - link->preferred_link_setting.dpcd_source_device_specific_field_support = false; - } else { - DC_LOG_DC("Sink device does not support 00340h DPCD write. Skipping on purpose.\n"); - } + result_write_min_hblank = core_link_write_dpcd(link, + DP_SOURCE_MINIMUM_HBLANK_SUPPORTED, (uint8_t *)(&hblank_size), + sizeof(hblank_size)); } - DC_TRACE_LEVEL_MESSAGE(DAL_TRACE_LEVEL_INFORMATION, WPP_BIT_FLAG_DC_DETECTION_DP_CAPS, "result=%u link_index=%u enum dce_version=%d DPCD=0x%04X min_hblank=%u branch_dev_id=0x%x branch_dev_name='%c%c%c%c%c%c'", @@ -7099,7 +7113,8 @@ unsigned int i; if (link->connector_signal == SIGNAL_TYPE_EDP) { - link->dc->hwss.edp_power_control(link, true); + if (!link->dc->config.edp_no_power_sequencing) + link->dc->hwss.edp_power_control(link, true); link->dc->hwss.edp_wait_for_hpd_ready(link, true); } @@ -7226,7 +7241,8 @@ link->dc->hwss.edp_backlight_control(link, false); if (link_hwss->ext.disable_dp_link_output) link_hwss->ext.disable_dp_link_output(link, link_res, signal); - link->dc->hwss.edp_power_control(link, false); + if (!link->dc->config.edp_no_power_sequencing) + link->dc->hwss.edp_power_control(link, false); } else { if (dmcu != NULL && dmcu->funcs->lock_phy) dmcu->funcs->lock_phy(dmcu); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dc.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dc.h @@ -337,6 +337,7 @@ bool is_single_rank_dimm; bool use_pipe_ctx_sync_logic; bool ignore_dpref_ss; + bool enable_mipi_converter_optimization; }; enum visual_confirm { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dc_dp_types.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dc_dp_types.h @@ -149,7 +149,6 @@ enum dc_link_spread link_spread; bool use_link_rate_set; uint8_t link_rate_set; - bool dpcd_source_device_specific_field_support; }; union dc_dp_ffe_preset { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dc_link.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dc_link.h @@ -337,6 +337,7 @@ DETECT_REASON_HPDRX, DETECT_REASON_FALLBACK, DETECT_REASON_RETRAIN, + DETECT_REASON_TDR, }; bool dc_link_detect(struct dc_link *dc_link, enum dc_detect_reason reason); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dc_stream.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dc_stream.h @@ -200,8 +200,7 @@ /* DMCU info */ unsigned int abm_level; - struct periodic_interrupt_config periodic_interrupt0; - struct periodic_interrupt_config periodic_interrupt1; + struct periodic_interrupt_config periodic_interrupt; /* from core_stream struct */ struct dc_context *ctx; @@ -268,8 +267,7 @@ struct dc_info_packet *hdr_static_metadata; unsigned int *abm_level; - struct periodic_interrupt_config *periodic_interrupt0; - struct periodic_interrupt_config *periodic_interrupt1; + struct periodic_interrupt_config *periodic_interrupt; struct dc_info_packet *vrr_infopacket; struct dc_info_packet *vsc_infopacket; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dce/dce_clock_source.c @@ -545,9 +545,11 @@ switch (pix_clk_params->color_depth) { case COLOR_DEPTH_101010: actual_pixel_clock_100hz = (actual_pixel_clock_100hz * 5) >> 2; + actual_pixel_clock_100hz -= actual_pixel_clock_100hz % 10; break; case COLOR_DEPTH_121212: actual_pixel_clock_100hz = (actual_pixel_clock_100hz * 6) >> 2; + actual_pixel_clock_100hz -= actual_pixel_clock_100hz % 10; break; case COLOR_DEPTH_161616: actual_pixel_clock_100hz = actual_pixel_clock_100hz * 2; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dce110/dce110_hw_sequencer.c @@ -1245,8 +1245,18 @@ * has changed or they enter protection state and hang. */ msleep(60); - } else if (pipe_ctx->stream->signal == SIGNAL_TYPE_EDP) - edp_receiver_ready_T9(link); + } else if (pipe_ctx->stream->signal == SIGNAL_TYPE_EDP) { + if (!link->dc->config.edp_no_power_sequencing) { + /* + * Sometimes, DP receiver chip power-controlled externally by an + * Embedded Controller could be treated and used as eDP, + * if it drives mobile display. In this case, + * we shouldn't be doing power-sequencing, hence we can skip + * waiting for T9-ready. + */ + edp_receiver_ready_T9(link); + } + } } } @@ -2155,21 +2165,25 @@ continue; if (pipe_ctx->stream->signal != SIGNAL_TYPE_HDMI_TYPE_A) continue; - if (pipe_ctx->stream_res.audio != NULL) { + if (pipe_ctx->stream_res.audio != NULL && + pipe_ctx->stream_res.audio->enabled == false) { struct audio_output audio_output; build_audio_output(context, pipe_ctx, &audio_output); if (dc->res_pool->dccg && dc->res_pool->dccg->funcs->set_audio_dtbclk_dto) { - /* disable audio DTBCLK DTO */ - dc->res_pool->dccg->funcs->set_audio_dtbclk_dto( - dc->res_pool->dccg, 0); + struct dtbclk_dto_params dto_params = {0}; pipe_ctx->stream_res.audio->funcs->wall_dto_setup( pipe_ctx->stream_res.audio, pipe_ctx->stream->signal, &audio_output.crtc_info, &audio_output.pll_info); + + dc->res_pool->dccg->funcs->set_audio_dtbclk_dto( + dc->res_pool->dccg, + &dto_params); + } else pipe_ctx->stream_res.audio->funcs->wall_dto_setup( pipe_ctx->stream_res.audio, @@ -2194,7 +2208,8 @@ if (!dc_is_dp_signal(pipe_ctx->stream->signal)) continue; - if (pipe_ctx->stream_res.audio != NULL) { + if (pipe_ctx->stream_res.audio != NULL && + pipe_ctx->stream_res.audio->enabled == false) { struct audio_output audio_output; build_audio_output(context, pipe_ctx, &audio_output); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c @@ -361,7 +361,8 @@ audio_regs(2), audio_regs(3), audio_regs(4), - audio_regs(5) + audio_regs(5), + audio_regs(6), }; #define DCE120_AUD_COMMON_MASK_SH_LIST(mask_sh)\ --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dce60/dce60_resource.c @@ -1127,6 +1127,7 @@ if (dce60_construct(num_virtual_links, dc, pool)) return &pool->base; + kfree(pool); BREAK_TO_DEBUGGER(); return NULL; } @@ -1324,6 +1325,7 @@ if (dce61_construct(num_virtual_links, dc, pool)) return &pool->base; + kfree(pool); BREAK_TO_DEBUGGER(); return NULL; } @@ -1517,6 +1519,7 @@ if (dce64_construct(num_virtual_links, dc, pool)) return &pool->base; + kfree(pool); BREAK_TO_DEBUGGER(); return NULL; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c @@ -1138,6 +1138,7 @@ if (dce80_construct(num_virtual_links, dc, pool)) return &pool->base; + kfree(pool); BREAK_TO_DEBUGGER(); return NULL; } @@ -1337,6 +1338,7 @@ if (dce81_construct(num_virtual_links, dc, pool)) return &pool->base; + kfree(pool); BREAK_TO_DEBUGGER(); return NULL; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.c @@ -108,6 +108,7 @@ */ if (pipe_ctx->top_pipe || !pipe_ctx->stream || + !pipe_ctx->plane_state || !tg->funcs->is_tg_enabled(tg)) continue; @@ -864,6 +865,32 @@ tg->funcs->clear_optc_underflow(tg); } +static int calculate_vready_offset_for_group(struct pipe_ctx *pipe) +{ + struct pipe_ctx *other_pipe; + int vready_offset = pipe->pipe_dlg_param.vready_offset; + + /* Always use the largest vready_offset of all connected pipes */ + for (other_pipe = pipe->bottom_pipe; other_pipe != NULL; other_pipe = other_pipe->bottom_pipe) { + if (other_pipe->pipe_dlg_param.vready_offset > vready_offset) + vready_offset = other_pipe->pipe_dlg_param.vready_offset; + } + for (other_pipe = pipe->top_pipe; other_pipe != NULL; other_pipe = other_pipe->top_pipe) { + if (other_pipe->pipe_dlg_param.vready_offset > vready_offset) + vready_offset = other_pipe->pipe_dlg_param.vready_offset; + } + for (other_pipe = pipe->next_odm_pipe; other_pipe != NULL; other_pipe = other_pipe->next_odm_pipe) { + if (other_pipe->pipe_dlg_param.vready_offset > vready_offset) + vready_offset = other_pipe->pipe_dlg_param.vready_offset; + } + for (other_pipe = pipe->prev_odm_pipe; other_pipe != NULL; other_pipe = other_pipe->prev_odm_pipe) { + if (other_pipe->pipe_dlg_param.vready_offset > vready_offset) + vready_offset = other_pipe->pipe_dlg_param.vready_offset; + } + + return vready_offset; +} + enum dc_status dcn10_enable_stream_timing( struct pipe_ctx *pipe_ctx, struct dc_state *context, @@ -898,7 +925,7 @@ pipe_ctx->stream_res.tg->funcs->program_timing( pipe_ctx->stream_res.tg, &stream->timing, - pipe_ctx->pipe_dlg_param.vready_offset, + calculate_vready_offset_for_group(pipe_ctx), pipe_ctx->pipe_dlg_param.vstartup_start, pipe_ctx->pipe_dlg_param.vupdate_offset, pipe_ctx->pipe_dlg_param.vupdate_width, @@ -2864,7 +2891,7 @@ pipe_ctx->stream_res.tg->funcs->program_global_sync( pipe_ctx->stream_res.tg, - pipe_ctx->pipe_dlg_param.vready_offset, + calculate_vready_offset_for_group(pipe_ctx), pipe_ctx->pipe_dlg_param.vstartup_start, pipe_ctx->pipe_dlg_param.vupdate_offset, pipe_ctx->pipe_dlg_param.vupdate_width); @@ -3622,7 +3649,7 @@ { const struct dc_crtc_timing *dc_crtc_timing = &pipe_ctx->stream->timing; int vline_int_offset_from_vupdate = - pipe_ctx->stream->periodic_interrupt0.lines_offset; + pipe_ctx->stream->periodic_interrupt.lines_offset; int vupdate_offset_from_vsync = dc->hwss.get_vupdate_offset_from_vsync(pipe_ctx); int start_position; @@ -3647,18 +3674,10 @@ static void dcn10_cal_vline_position( struct dc *dc, struct pipe_ctx *pipe_ctx, - enum vline_select vline, uint32_t *start_line, uint32_t *end_line) { - enum vertical_interrupt_ref_point ref_point = INVALID_POINT; - - if (vline == VLINE0) - ref_point = pipe_ctx->stream->periodic_interrupt0.ref_point; - else if (vline == VLINE1) - ref_point = pipe_ctx->stream->periodic_interrupt1.ref_point; - - switch (ref_point) { + switch (pipe_ctx->stream->periodic_interrupt.ref_point) { case START_V_UPDATE: dcn10_calc_vupdate_position( dc, @@ -3667,7 +3686,9 @@ end_line); break; case START_V_SYNC: - // Suppose to do nothing because vsync is 0; + // vsync is line 0 so start_line is just the requested line offset + *start_line = pipe_ctx->stream->periodic_interrupt.lines_offset; + *end_line = *start_line + 2; break; default: ASSERT(0); @@ -3677,24 +3698,15 @@ void dcn10_setup_periodic_interrupt( struct dc *dc, - struct pipe_ctx *pipe_ctx, - enum vline_select vline) + struct pipe_ctx *pipe_ctx) { struct timing_generator *tg = pipe_ctx->stream_res.tg; + uint32_t start_line = 0; + uint32_t end_line = 0; - if (vline == VLINE0) { - uint32_t start_line = 0; - uint32_t end_line = 0; - - dcn10_cal_vline_position(dc, pipe_ctx, vline, &start_line, &end_line); - - tg->funcs->setup_vertical_interrupt0(tg, start_line, end_line); - - } else if (vline == VLINE1) { - pipe_ctx->stream_res.tg->funcs->setup_vertical_interrupt1( - tg, - pipe_ctx->stream->periodic_interrupt1.lines_offset); - } + dcn10_cal_vline_position(dc, pipe_ctx, &start_line, &end_line); + + tg->funcs->setup_vertical_interrupt0(tg, start_line, end_line); } void dcn10_setup_vupdate_interrupt(struct dc *dc, struct pipe_ctx *pipe_ctx) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer.h @@ -175,8 +175,7 @@ void dcn10_set_cursor_sdr_white_level(struct pipe_ctx *pipe_ctx); void dcn10_setup_periodic_interrupt( struct dc *dc, - struct pipe_ctx *pipe_ctx, - enum vline_select vline); + struct pipe_ctx *pipe_ctx); enum dc_status dcn10_set_clock(struct dc *dc, enum dc_clock_type clock_type, uint32_t clk_khz, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c @@ -126,6 +126,12 @@ while (tmp_mpcc != NULL) { if (tmp_mpcc->dpp_id == dpp_id) return tmp_mpcc; + + /* avoid circular linked list */ + ASSERT(tmp_mpcc != tmp_mpcc->mpcc_bot); + if (tmp_mpcc == tmp_mpcc->mpcc_bot) + break; + tmp_mpcc = tmp_mpcc->mpcc_bot; } return NULL; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_optc.c @@ -464,6 +464,11 @@ OTG_CLOCK_ON, 1, 1, 1000); } else { + + //last chance to clear underflow, otherwise, it will always there due to clock is off. + if (optc->funcs->is_optc_underflow_occurred(optc) == true) + optc->funcs->clear_optc_underflow(optc); + REG_UPDATE_2(OTG_CLOCK_CONTROL, OTG_CLOCK_GATE_DIS, 0, OTG_CLOCK_EN, 0); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_hwseq.c @@ -1520,6 +1520,7 @@ /* Any updates are handled in dc interface, just need * to apply existing for plane enable / opp change */ if (pipe_ctx->update_flags.bits.enable || pipe_ctx->update_flags.bits.opp_changed + || pipe_ctx->update_flags.bits.plane_changed || pipe_ctx->stream->update_flags.bits.gamut_remap || pipe_ctx->stream->update_flags.bits.out_csc) { /* dpp/cm gamut remap*/ @@ -1570,6 +1571,31 @@ hubp->funcs->set_blank(hubp, false); } +static int calculate_vready_offset_for_group(struct pipe_ctx *pipe) +{ + struct pipe_ctx *other_pipe; + int vready_offset = pipe->pipe_dlg_param.vready_offset; + + /* Always use the largest vready_offset of all connected pipes */ + for (other_pipe = pipe->bottom_pipe; other_pipe != NULL; other_pipe = other_pipe->bottom_pipe) { + if (other_pipe->pipe_dlg_param.vready_offset > vready_offset) + vready_offset = other_pipe->pipe_dlg_param.vready_offset; + } + for (other_pipe = pipe->top_pipe; other_pipe != NULL; other_pipe = other_pipe->top_pipe) { + if (other_pipe->pipe_dlg_param.vready_offset > vready_offset) + vready_offset = other_pipe->pipe_dlg_param.vready_offset; + } + for (other_pipe = pipe->next_odm_pipe; other_pipe != NULL; other_pipe = other_pipe->next_odm_pipe) { + if (other_pipe->pipe_dlg_param.vready_offset > vready_offset) + vready_offset = other_pipe->pipe_dlg_param.vready_offset; + } + for (other_pipe = pipe->prev_odm_pipe; other_pipe != NULL; other_pipe = other_pipe->prev_odm_pipe) { + if (other_pipe->pipe_dlg_param.vready_offset > vready_offset) + vready_offset = other_pipe->pipe_dlg_param.vready_offset; + } + + return vready_offset; +} static void dcn20_program_pipe( struct dc *dc, @@ -1588,7 +1614,7 @@ pipe_ctx->stream_res.tg->funcs->program_global_sync( pipe_ctx->stream_res.tg, - pipe_ctx->pipe_dlg_param.vready_offset, + calculate_vready_offset_for_group(pipe_ctx), pipe_ctx->pipe_dlg_param.vstartup_start, pipe_ctx->pipe_dlg_param.vupdate_offset, pipe_ctx->pipe_dlg_param.vupdate_width); @@ -1779,7 +1805,7 @@ for (j = 0; j < TIMEOUT_FOR_PIPE_ENABLE_MS*1000 && hubp->funcs->hubp_is_flip_pending(hubp); j++) - mdelay(1); + udelay(1); } } @@ -1914,7 +1940,7 @@ pipe_ctx->stream_res.tg->funcs->program_global_sync( pipe_ctx->stream_res.tg, - pipe_ctx->pipe_dlg_param.vready_offset, + calculate_vready_offset_for_group(pipe_ctx), pipe_ctx->pipe_dlg_param.vstartup_start, pipe_ctx->pipe_dlg_param.vupdate_offset, pipe_ctx->pipe_dlg_param.vupdate_width); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dcn20/dcn20_mpc.c @@ -531,6 +531,12 @@ while (tmp_mpcc != NULL) { if (tmp_mpcc->dpp_id == 0xf || tmp_mpcc->dpp_id == dpp_id) return tmp_mpcc; + + /* avoid circular linked list */ + ASSERT(tmp_mpcc != tmp_mpcc->mpcc_bot); + if (tmp_mpcc == tmp_mpcc->mpcc_bot) + break; + tmp_mpcc = tmp_mpcc->mpcc_bot; } return NULL; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_hubbub.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dcn21/dcn21_hubbub.c @@ -67,9 +67,15 @@ void dcn21_dchvm_init(struct hubbub *hubbub) { struct dcn20_hubbub *hubbub1 = TO_DCN20_HUBBUB(hubbub); - uint32_t riommu_active; + uint32_t riommu_active, prefetch_done; int i; + REG_GET(DCHVM_RIOMMU_STAT0, HOSTVM_PREFETCH_DONE, &prefetch_done); + + if (prefetch_done) { + hubbub->riommu_active = true; + return; + } //Init DCHVM block REG_UPDATE(DCHVM_CTRL0, HOSTVM_INIT_REQ, 1); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hubp.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hubp.c @@ -86,7 +86,7 @@ VMID, address->vmid); if (address->type == PLN_ADDR_TYPE_GRPH_STEREO) { - REG_UPDATE(DCSURF_FLIP_CONTROL, SURFACE_FLIP_MODE_FOR_STEREOSYNC, 0x1); + REG_UPDATE(DCSURF_FLIP_CONTROL, SURFACE_FLIP_MODE_FOR_STEREOSYNC, 0); REG_UPDATE(DCSURF_FLIP_CONTROL, SURFACE_FLIP_IN_STEREOSYNC, 0x1); } else { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dcn303/dcn303_resource.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dcn303/dcn303_resource.c @@ -372,7 +372,7 @@ int afmt_inst; /* Mapping of VPG, AFMT, DME register blocks to DIO block instance */ - if (eng_id <= ENGINE_ID_DIGE) { + if (eng_id <= ENGINE_ID_DIGB) { vpg_inst = eng_id; afmt_inst = eng_id; } else --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_dccg.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_dccg.c @@ -513,7 +513,7 @@ /* Controls the generation of pixel valid for OTG in (OTG -> HPO case) */ static void dccg31_set_dtbclk_dto( struct dccg *dccg, - struct dtbclk_dto_params *params) + const struct dtbclk_dto_params *params) { struct dcn_dccg *dccg_dcn = TO_DCN_DCCG(dccg); int req_dtbclk_khz = params->pixclk_khz; @@ -579,18 +579,17 @@ void dccg31_set_audio_dtbclk_dto( struct dccg *dccg, - uint32_t req_audio_dtbclk_khz) + const struct dtbclk_dto_params *params) { struct dcn_dccg *dccg_dcn = TO_DCN_DCCG(dccg); - if (dccg->ref_dtbclk_khz && req_audio_dtbclk_khz) { + if (params->ref_dtbclk_khz && params->req_audio_dtbclk_khz) { uint32_t modulo, phase; // phase / modulo = dtbclk / dtbclk ref - modulo = dccg->ref_dtbclk_khz * 1000; - phase = div_u64((((unsigned long long)modulo * req_audio_dtbclk_khz) + dccg->ref_dtbclk_khz - 1), - dccg->ref_dtbclk_khz); - + modulo = params->ref_dtbclk_khz * 1000; + phase = div_u64((((unsigned long long)modulo * params->req_audio_dtbclk_khz) + params->ref_dtbclk_khz - 1), + params->ref_dtbclk_khz); REG_WRITE(DCCG_AUDIO_DTBCLK_DTO_MODULO, modulo); REG_WRITE(DCCG_AUDIO_DTBCLK_DTO_PHASE, phase); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_dccg.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_dccg.h @@ -192,7 +192,7 @@ void dccg31_set_audio_dtbclk_dto( struct dccg *dccg, - uint32_t req_audio_dtbclk_khz); + const struct dtbclk_dto_params *params); void dccg31_set_hdmistreamclk( struct dccg *dccg, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hpo_dp_stream_encoder.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hpo_dp_stream_encoder.c @@ -150,9 +150,9 @@ * 10us*5000=50ms. This covers 41.7ms of minimum 24 Hz mode + * a little more because we may not trust delay accuracy. */ - //REG_WAIT(DP_SYM32_ENC_VID_STREAM_CONTROL, - // VID_STREAM_STATUS, 0, - // 10, 5000); + REG_WAIT(DP_SYM32_ENC_VID_STREAM_CONTROL, + VID_STREAM_STATUS, 0, + 10, 5000); /* Disable SDP tranmission */ REG_UPDATE(DP_SYM32_ENC_SDP_CONTROL, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hpo_dp_stream_encoder.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hpo_dp_stream_encoder.h @@ -162,7 +162,8 @@ SE_SF(DP_SYM32_ENC0_DP_SYM32_ENC_SDP_AUDIO_CONTROL0, AIP_ENABLE, mask_sh),\ SE_SF(DP_SYM32_ENC0_DP_SYM32_ENC_SDP_AUDIO_CONTROL0, ACM_ENABLE, mask_sh),\ SE_SF(DP_SYM32_ENC0_DP_SYM32_ENC_VID_CRC_CONTROL, CRC_ENABLE, mask_sh),\ - SE_SF(DP_SYM32_ENC0_DP_SYM32_ENC_VID_CRC_CONTROL, CRC_CONT_MODE_ENABLE, mask_sh) + SE_SF(DP_SYM32_ENC0_DP_SYM32_ENC_VID_CRC_CONTROL, CRC_CONT_MODE_ENABLE, mask_sh),\ + SE_SF(DP_SYM32_ENC0_DP_SYM32_ENC_HBLANK_CONTROL, HBLANK_MINIMUM_SYMBOL_WIDTH, mask_sh) #define DCN3_1_HPO_DP_STREAM_ENC_REG_FIELD_LIST(type) \ --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hubp.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dcn31/dcn31_hubp.c @@ -87,6 +87,7 @@ .hubp_init = hubp3_init, .set_unbounded_requesting = hubp31_set_unbounded_requesting, .hubp_soft_reset = hubp31_soft_reset, + .hubp_set_flip_int = hubp1_set_flip_int, .hubp_in_blank = hubp1_in_blank, .program_extended_blank = hubp31_program_extended_blank, }; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dml/calcs/bw_fixed.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dml/calcs/bw_fixed.c @@ -26,12 +26,12 @@ #include "bw_fixed.h" -#define MIN_I64 \ - (int64_t)(-(1LL << 63)) - #define MAX_I64 \ (int64_t)((1ULL << 63) - 1) +#define MIN_I64 \ + (-MAX_I64 - 1) + #define FRACTIONAL_PART_MASK \ ((1ULL << BW_FIXED_BITS_PER_FRACTIONAL_PART) - 1) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20.c @@ -3897,14 +3897,14 @@ mode_lib->vba.PlaneRequiredDISPCLKWithODMCombine = mode_lib->vba.PixelClock[k] / 2 * (1 + mode_lib->vba.DISPCLKDPPCLKDSCCLKDownSpreading / 100.0); - locals->ODMCombineEnablePerState[i][k] = false; + locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_disabled; mode_lib->vba.PlaneRequiredDISPCLK = mode_lib->vba.PlaneRequiredDISPCLKWithoutODMCombine; if (mode_lib->vba.ODMCapability) { if (locals->PlaneRequiredDISPCLKWithoutODMCombine > mode_lib->vba.MaxDispclkRoundedDownToDFSGranularity) { - locals->ODMCombineEnablePerState[i][k] = true; + locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_2to1; mode_lib->vba.PlaneRequiredDISPCLK = mode_lib->vba.PlaneRequiredDISPCLKWithODMCombine; } else if (locals->HActive[k] > DCN20_MAX_420_IMAGE_WIDTH && locals->OutputFormat[k] == dm_420) { - locals->ODMCombineEnablePerState[i][k] = true; + locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_2to1; mode_lib->vba.PlaneRequiredDISPCLK = mode_lib->vba.PlaneRequiredDISPCLKWithODMCombine; } } @@ -3957,7 +3957,7 @@ locals->RequiredDISPCLK[i][j] = 0.0; locals->DISPCLK_DPPCLK_Support[i][j] = true; for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { - locals->ODMCombineEnablePerState[i][k] = false; + locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_disabled; if (locals->SwathWidthYSingleDPP[k] <= locals->MaximumSwathWidth[k]) { locals->NoOfDPP[i][j][k] = 1; locals->RequiredDPPCLK[i][j][k] = locals->MinDPPCLKUsingSingleDPP[k] --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dml/dcn20/display_mode_vba_20v2.c @@ -4008,17 +4008,17 @@ mode_lib->vba.PlaneRequiredDISPCLKWithODMCombine = mode_lib->vba.PixelClock[k] / 2 * (1 + mode_lib->vba.DISPCLKDPPCLKDSCCLKDownSpreading / 100.0); - locals->ODMCombineEnablePerState[i][k] = false; + locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_disabled; mode_lib->vba.PlaneRequiredDISPCLK = mode_lib->vba.PlaneRequiredDISPCLKWithoutODMCombine; if (mode_lib->vba.ODMCapability) { if (locals->PlaneRequiredDISPCLKWithoutODMCombine > MaxMaxDispclkRoundedDown) { - locals->ODMCombineEnablePerState[i][k] = true; + locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_2to1; mode_lib->vba.PlaneRequiredDISPCLK = mode_lib->vba.PlaneRequiredDISPCLKWithODMCombine; } else if (locals->DSCEnabled[k] && (locals->HActive[k] > DCN20_MAX_DSC_IMAGE_WIDTH)) { - locals->ODMCombineEnablePerState[i][k] = true; + locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_2to1; mode_lib->vba.PlaneRequiredDISPCLK = mode_lib->vba.PlaneRequiredDISPCLKWithODMCombine; } else if (locals->HActive[k] > DCN20_MAX_420_IMAGE_WIDTH && locals->OutputFormat[k] == dm_420) { - locals->ODMCombineEnablePerState[i][k] = true; + locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_2to1; mode_lib->vba.PlaneRequiredDISPCLK = mode_lib->vba.PlaneRequiredDISPCLKWithODMCombine; } } @@ -4071,7 +4071,7 @@ locals->RequiredDISPCLK[i][j] = 0.0; locals->DISPCLK_DPPCLK_Support[i][j] = true; for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { - locals->ODMCombineEnablePerState[i][k] = false; + locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_disabled; if (locals->SwathWidthYSingleDPP[k] <= locals->MaximumSwathWidth[k]) { locals->NoOfDPP[i][j][k] = 1; locals->RequiredDPPCLK[i][j][k] = locals->MinDPPCLKUsingSingleDPP[k] --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dml/dcn21/display_mode_vba_21.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dml/dcn21/display_mode_vba_21.c @@ -4100,17 +4100,17 @@ mode_lib->vba.PlaneRequiredDISPCLKWithODMCombine = mode_lib->vba.PixelClock[k] / 2 * (1 + mode_lib->vba.DISPCLKDPPCLKDSCCLKDownSpreading / 100.0); - locals->ODMCombineEnablePerState[i][k] = false; + locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_disabled; mode_lib->vba.PlaneRequiredDISPCLK = mode_lib->vba.PlaneRequiredDISPCLKWithoutODMCombine; if (mode_lib->vba.ODMCapability) { if (locals->PlaneRequiredDISPCLKWithoutODMCombine > MaxMaxDispclkRoundedDown) { - locals->ODMCombineEnablePerState[i][k] = true; + locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_2to1; mode_lib->vba.PlaneRequiredDISPCLK = mode_lib->vba.PlaneRequiredDISPCLKWithODMCombine; } else if (locals->DSCEnabled[k] && (locals->HActive[k] > DCN21_MAX_DSC_IMAGE_WIDTH)) { - locals->ODMCombineEnablePerState[i][k] = true; + locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_2to1; mode_lib->vba.PlaneRequiredDISPCLK = mode_lib->vba.PlaneRequiredDISPCLKWithODMCombine; } else if (locals->HActive[k] > DCN21_MAX_420_IMAGE_WIDTH && locals->OutputFormat[k] == dm_420) { - locals->ODMCombineEnablePerState[i][k] = true; + locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_2to1; mode_lib->vba.PlaneRequiredDISPCLK = mode_lib->vba.PlaneRequiredDISPCLKWithODMCombine; } } @@ -4163,7 +4163,7 @@ locals->RequiredDISPCLK[i][j] = 0.0; locals->DISPCLK_DPPCLK_Support[i][j] = true; for (k = 0; k <= mode_lib->vba.NumberOfActivePlanes - 1; k++) { - locals->ODMCombineEnablePerState[i][k] = false; + locals->ODMCombineEnablePerState[i][k] = dm_odm_combine_mode_disabled; if (locals->SwathWidthYSingleDPP[k] <= locals->MaximumSwathWidth[k]) { locals->NoOfDPP[i][j][k] = 1; locals->RequiredDPPCLK[i][j][k] = locals->MinDPPCLKUsingSingleDPP[k] @@ -5228,7 +5228,7 @@ mode_lib->vba.ODMCombineEnabled[k] = locals->ODMCombineEnablePerState[mode_lib->vba.VoltageLevel][k]; } else { - mode_lib->vba.ODMCombineEnabled[k] = false; + mode_lib->vba.ODMCombineEnabled[k] = dm_odm_combine_mode_disabled; } mode_lib->vba.DSCEnabled[k] = locals->RequiresDSC[mode_lib->vba.VoltageLevel][k]; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dml/dcn30/display_mode_vba_30.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dml/dcn30/display_mode_vba_30.c @@ -6651,8 +6651,7 @@ return ret; } - -static void UseMinimumDCFCLK( +static noinline_for_stack void UseMinimumDCFCLK( struct display_mode_lib *mode_lib, int MaxInterDCNTileRepeaters, int MaxPrefetchMode, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dml/dcn31/display_mode_vba_31.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dml/dcn31/display_mode_vba_31.c @@ -261,33 +261,13 @@ static void CalculateFlipSchedule( struct display_mode_lib *mode_lib, + unsigned int k, double HostVMInefficiencyFactor, double UrgentExtraLatency, double UrgentLatency, - unsigned int GPUVMMaxPageTableLevels, - bool HostVMEnable, - unsigned int HostVMMaxNonCachedPageTableLevels, - bool GPUVMEnable, - double HostVMMinPageSize, double PDEAndMetaPTEBytesPerFrame, double MetaRowBytes, - double DPTEBytesPerRow, - double BandwidthAvailableForImmediateFlip, - unsigned int TotImmediateFlipBytes, - enum source_format_class SourcePixelFormat, - double LineTime, - double VRatio, - double VRatioChroma, - double Tno_bw, - bool DCCEnable, - unsigned int dpte_row_height, - unsigned int meta_row_height, - unsigned int dpte_row_height_chroma, - unsigned int meta_row_height_chroma, - double *DestinationLinesToRequestVMInImmediateFlip, - double *DestinationLinesToRequestRowInImmediateFlip, - double *final_flip_bw, - bool *ImmediateFlipSupportedForPipe); + double DPTEBytesPerRow); static double CalculateWriteBackDelay( enum source_format_class WritebackPixelFormat, double WritebackHRatio, @@ -321,64 +301,28 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport( struct display_mode_lib *mode_lib, unsigned int PrefetchMode, - unsigned int NumberOfActivePlanes, - unsigned int MaxLineBufferLines, - unsigned int LineBufferSize, - unsigned int WritebackInterfaceBufferSize, double DCFCLK, double ReturnBW, - bool SynchronizedVBlank, - unsigned int dpte_group_bytes[], - unsigned int MetaChunkSize, double UrgentLatency, double ExtraLatency, - double WritebackLatency, - double WritebackChunkSize, double SOCCLK, - double DRAMClockChangeLatency, - double SRExitTime, - double SREnterPlusExitTime, - double SRExitZ8Time, - double SREnterPlusExitZ8Time, double DCFCLKDeepSleep, unsigned int DETBufferSizeY[], unsigned int DETBufferSizeC[], unsigned int SwathHeightY[], unsigned int SwathHeightC[], - unsigned int LBBitPerPixel[], double SwathWidthY[], double SwathWidthC[], - double HRatio[], - double HRatioChroma[], - unsigned int vtaps[], - unsigned int VTAPsChroma[], - double VRatio[], - double VRatioChroma[], - unsigned int HTotal[], - double PixelClock[], - unsigned int BlendingAndTiming[], unsigned int DPPPerPlane[], double BytePerPixelDETY[], double BytePerPixelDETC[], - double DSTXAfterScaler[], - double DSTYAfterScaler[], - bool WritebackEnable[], - enum source_format_class WritebackPixelFormat[], - double WritebackDestinationWidth[], - double WritebackDestinationHeight[], - double WritebackSourceHeight[], bool UnboundedRequestEnabled, int unsigned CompressedBufferSizeInkByte, enum clock_change_support *DRAMClockChangeSupport, - double *UrgentWatermark, - double *WritebackUrgentWatermark, - double *DRAMClockChangeWatermark, - double *WritebackDRAMClockChangeWatermark, double *StutterExitWatermark, double *StutterEnterPlusExitWatermark, double *Z8StutterExitWatermark, - double *Z8StutterEnterPlusExitWatermark, - double *MinActiveDRAMClockChangeLatencySupported); + double *Z8StutterEnterPlusExitWatermark); static void CalculateDCFCLKDeepSleep( struct display_mode_lib *mode_lib, @@ -2914,33 +2858,13 @@ for (k = 0; k < v->NumberOfActivePlanes; ++k) { CalculateFlipSchedule( mode_lib, + k, HostVMInefficiencyFactor, v->UrgentExtraLatency, v->UrgentLatency, - v->GPUVMMaxPageTableLevels, - v->HostVMEnable, - v->HostVMMaxNonCachedPageTableLevels, - v->GPUVMEnable, - v->HostVMMinPageSize, v->PDEAndMetaPTEBytesFrame[k], v->MetaRowByte[k], - v->PixelPTEBytesPerRow[k], - v->BandwidthAvailableForImmediateFlip, - v->TotImmediateFlipBytes, - v->SourcePixelFormat[k], - v->HTotal[k] / v->PixelClock[k], - v->VRatio[k], - v->VRatioChroma[k], - v->Tno_bw[k], - v->DCCEnable[k], - v->dpte_row_height[k], - v->meta_row_height[k], - v->dpte_row_height_chroma[k], - v->meta_row_height_chroma[k], - &v->DestinationLinesToRequestVMInImmediateFlip[k], - &v->DestinationLinesToRequestRowInImmediateFlip[k], - &v->final_flip_bw[k], - &v->ImmediateFlipSupportedForPipe[k]); + v->PixelPTEBytesPerRow[k]); } v->total_dcn_read_bw_with_flip = 0.0; @@ -3027,64 +2951,28 @@ CalculateWatermarksAndDRAMSpeedChangeSupport( mode_lib, PrefetchMode, - v->NumberOfActivePlanes, - v->MaxLineBufferLines, - v->LineBufferSize, - v->WritebackInterfaceBufferSize, v->DCFCLK, v->ReturnBW, - v->SynchronizedVBlank, - v->dpte_group_bytes, - v->MetaChunkSize, v->UrgentLatency, v->UrgentExtraLatency, - v->WritebackLatency, - v->WritebackChunkSize, v->SOCCLK, - v->DRAMClockChangeLatency, - v->SRExitTime, - v->SREnterPlusExitTime, - v->SRExitZ8Time, - v->SREnterPlusExitZ8Time, v->DCFCLKDeepSleep, v->DETBufferSizeY, v->DETBufferSizeC, v->SwathHeightY, v->SwathHeightC, - v->LBBitPerPixel, v->SwathWidthY, v->SwathWidthC, - v->HRatio, - v->HRatioChroma, - v->vtaps, - v->VTAPsChroma, - v->VRatio, - v->VRatioChroma, - v->HTotal, - v->PixelClock, - v->BlendingAndTiming, v->DPPPerPlane, v->BytePerPixelDETY, v->BytePerPixelDETC, - v->DSTXAfterScaler, - v->DSTYAfterScaler, - v->WritebackEnable, - v->WritebackPixelFormat, - v->WritebackDestinationWidth, - v->WritebackDestinationHeight, - v->WritebackSourceHeight, v->UnboundedRequestEnabled, v->CompressedBufferSizeInkByte, &DRAMClockChangeSupport, - &v->UrgentWatermark, - &v->WritebackUrgentWatermark, - &v->DRAMClockChangeWatermark, - &v->WritebackDRAMClockChangeWatermark, &v->StutterExitWatermark, &v->StutterEnterPlusExitWatermark, &v->Z8StutterExitWatermark, - &v->Z8StutterEnterPlusExitWatermark, - &v->MinActiveDRAMClockChangeLatencySupported); + &v->Z8StutterEnterPlusExitWatermark); for (k = 0; k < v->NumberOfActivePlanes; ++k) { if (v->WritebackEnable[k] == true) { @@ -3696,61 +3584,43 @@ static void CalculateFlipSchedule( struct display_mode_lib *mode_lib, + unsigned int k, double HostVMInefficiencyFactor, double UrgentExtraLatency, double UrgentLatency, - unsigned int GPUVMMaxPageTableLevels, - bool HostVMEnable, - unsigned int HostVMMaxNonCachedPageTableLevels, - bool GPUVMEnable, - double HostVMMinPageSize, double PDEAndMetaPTEBytesPerFrame, double MetaRowBytes, - double DPTEBytesPerRow, - double BandwidthAvailableForImmediateFlip, - unsigned int TotImmediateFlipBytes, - enum source_format_class SourcePixelFormat, - double LineTime, - double VRatio, - double VRatioChroma, - double Tno_bw, - bool DCCEnable, - unsigned int dpte_row_height, - unsigned int meta_row_height, - unsigned int dpte_row_height_chroma, - unsigned int meta_row_height_chroma, - double *DestinationLinesToRequestVMInImmediateFlip, - double *DestinationLinesToRequestRowInImmediateFlip, - double *final_flip_bw, - bool *ImmediateFlipSupportedForPipe) + double DPTEBytesPerRow) { + struct vba_vars_st *v = &mode_lib->vba; double min_row_time = 0.0; unsigned int HostVMDynamicLevelsTrips; double TimeForFetchingMetaPTEImmediateFlip; double TimeForFetchingRowInVBlankImmediateFlip; double ImmediateFlipBW; + double LineTime = v->HTotal[k] / v->PixelClock[k]; - if (GPUVMEnable == true && HostVMEnable == true) { - HostVMDynamicLevelsTrips = HostVMMaxNonCachedPageTableLevels; + if (v->GPUVMEnable == true && v->HostVMEnable == true) { + HostVMDynamicLevelsTrips = v->HostVMMaxNonCachedPageTableLevels; } else { HostVMDynamicLevelsTrips = 0; } - if (GPUVMEnable == true || DCCEnable == true) { - ImmediateFlipBW = (PDEAndMetaPTEBytesPerFrame + MetaRowBytes + DPTEBytesPerRow) * BandwidthAvailableForImmediateFlip / TotImmediateFlipBytes; + if (v->GPUVMEnable == true || v->DCCEnable[k] == true) { + ImmediateFlipBW = (PDEAndMetaPTEBytesPerFrame + MetaRowBytes + DPTEBytesPerRow) * v->BandwidthAvailableForImmediateFlip / v->TotImmediateFlipBytes; } - if (GPUVMEnable == true) { + if (v->GPUVMEnable == true) { TimeForFetchingMetaPTEImmediateFlip = dml_max3( - Tno_bw + PDEAndMetaPTEBytesPerFrame * HostVMInefficiencyFactor / ImmediateFlipBW, - UrgentExtraLatency + UrgentLatency * (GPUVMMaxPageTableLevels * (HostVMDynamicLevelsTrips + 1) - 1), + v->Tno_bw[k] + PDEAndMetaPTEBytesPerFrame * HostVMInefficiencyFactor / ImmediateFlipBW, + UrgentExtraLatency + UrgentLatency * (v->GPUVMMaxPageTableLevels * (HostVMDynamicLevelsTrips + 1) - 1), LineTime / 4.0); } else { TimeForFetchingMetaPTEImmediateFlip = 0; } - *DestinationLinesToRequestVMInImmediateFlip = dml_ceil(4.0 * (TimeForFetchingMetaPTEImmediateFlip / LineTime), 1) / 4.0; - if ((GPUVMEnable == true || DCCEnable == true)) { + v->DestinationLinesToRequestVMInImmediateFlip[k] = dml_ceil(4.0 * (TimeForFetchingMetaPTEImmediateFlip / LineTime), 1) / 4.0; + if ((v->GPUVMEnable == true || v->DCCEnable[k] == true)) { TimeForFetchingRowInVBlankImmediateFlip = dml_max3( (MetaRowBytes + DPTEBytesPerRow * HostVMInefficiencyFactor) / ImmediateFlipBW, UrgentLatency * (HostVMDynamicLevelsTrips + 1), @@ -3759,54 +3629,54 @@ TimeForFetchingRowInVBlankImmediateFlip = 0; } - *DestinationLinesToRequestRowInImmediateFlip = dml_ceil(4.0 * (TimeForFetchingRowInVBlankImmediateFlip / LineTime), 1) / 4.0; - - if (GPUVMEnable == true) { - *final_flip_bw = dml_max( - PDEAndMetaPTEBytesPerFrame * HostVMInefficiencyFactor / (*DestinationLinesToRequestVMInImmediateFlip * LineTime), - (MetaRowBytes + DPTEBytesPerRow * HostVMInefficiencyFactor) / (*DestinationLinesToRequestRowInImmediateFlip * LineTime)); - } else if ((GPUVMEnable == true || DCCEnable == true)) { - *final_flip_bw = (MetaRowBytes + DPTEBytesPerRow * HostVMInefficiencyFactor) / (*DestinationLinesToRequestRowInImmediateFlip * LineTime); - } else { - *final_flip_bw = 0; - } + v->DestinationLinesToRequestRowInImmediateFlip[k] = dml_ceil(4.0 * (TimeForFetchingRowInVBlankImmediateFlip / LineTime), 1) / 4.0; - if (SourcePixelFormat == dm_420_8 || SourcePixelFormat == dm_420_10 || SourcePixelFormat == dm_rgbe_alpha) { - if (GPUVMEnable == true && DCCEnable != true) { - min_row_time = dml_min(dpte_row_height * LineTime / VRatio, dpte_row_height_chroma * LineTime / VRatioChroma); - } else if (GPUVMEnable != true && DCCEnable == true) { - min_row_time = dml_min(meta_row_height * LineTime / VRatio, meta_row_height_chroma * LineTime / VRatioChroma); + if (v->GPUVMEnable == true) { + v->final_flip_bw[k] = dml_max( + PDEAndMetaPTEBytesPerFrame * HostVMInefficiencyFactor / (v->DestinationLinesToRequestVMInImmediateFlip[k] * LineTime), + (MetaRowBytes + DPTEBytesPerRow * HostVMInefficiencyFactor) / (v->DestinationLinesToRequestRowInImmediateFlip[k] * LineTime)); + } else if ((v->GPUVMEnable == true || v->DCCEnable[k] == true)) { + v->final_flip_bw[k] = (MetaRowBytes + DPTEBytesPerRow * HostVMInefficiencyFactor) / (v->DestinationLinesToRequestRowInImmediateFlip[k] * LineTime); + } else { + v->final_flip_bw[k] = 0; + } + + if (v->SourcePixelFormat[k] == dm_420_8 || v->SourcePixelFormat[k] == dm_420_10 || v->SourcePixelFormat[k] == dm_rgbe_alpha) { + if (v->GPUVMEnable == true && v->DCCEnable[k] != true) { + min_row_time = dml_min(v->dpte_row_height[k] * LineTime / v->VRatio[k], v->dpte_row_height_chroma[k] * LineTime / v->VRatioChroma[k]); + } else if (v->GPUVMEnable != true && v->DCCEnable[k] == true) { + min_row_time = dml_min(v->meta_row_height[k] * LineTime / v->VRatio[k], v->meta_row_height_chroma[k] * LineTime / v->VRatioChroma[k]); } else { min_row_time = dml_min4( - dpte_row_height * LineTime / VRatio, - meta_row_height * LineTime / VRatio, - dpte_row_height_chroma * LineTime / VRatioChroma, - meta_row_height_chroma * LineTime / VRatioChroma); + v->dpte_row_height[k] * LineTime / v->VRatio[k], + v->meta_row_height[k] * LineTime / v->VRatio[k], + v->dpte_row_height_chroma[k] * LineTime / v->VRatioChroma[k], + v->meta_row_height_chroma[k] * LineTime / v->VRatioChroma[k]); } } else { - if (GPUVMEnable == true && DCCEnable != true) { - min_row_time = dpte_row_height * LineTime / VRatio; - } else if (GPUVMEnable != true && DCCEnable == true) { - min_row_time = meta_row_height * LineTime / VRatio; + if (v->GPUVMEnable == true && v->DCCEnable[k] != true) { + min_row_time = v->dpte_row_height[k] * LineTime / v->VRatio[k]; + } else if (v->GPUVMEnable != true && v->DCCEnable[k] == true) { + min_row_time = v->meta_row_height[k] * LineTime / v->VRatio[k]; } else { - min_row_time = dml_min(dpte_row_height * LineTime / VRatio, meta_row_height * LineTime / VRatio); + min_row_time = dml_min(v->dpte_row_height[k] * LineTime / v->VRatio[k], v->meta_row_height[k] * LineTime / v->VRatio[k]); } } - if (*DestinationLinesToRequestVMInImmediateFlip >= 32 || *DestinationLinesToRequestRowInImmediateFlip >= 16 + if (v->DestinationLinesToRequestVMInImmediateFlip[k] >= 32 || v->DestinationLinesToRequestRowInImmediateFlip[k] >= 16 || TimeForFetchingMetaPTEImmediateFlip + 2 * TimeForFetchingRowInVBlankImmediateFlip > min_row_time) { - *ImmediateFlipSupportedForPipe = false; + v->ImmediateFlipSupportedForPipe[k] = false; } else { - *ImmediateFlipSupportedForPipe = true; + v->ImmediateFlipSupportedForPipe[k] = true; } #ifdef __DML_VBA_DEBUG__ - dml_print("DML::%s: DestinationLinesToRequestVMInImmediateFlip = %f\n", __func__, *DestinationLinesToRequestVMInImmediateFlip); - dml_print("DML::%s: DestinationLinesToRequestRowInImmediateFlip = %f\n", __func__, *DestinationLinesToRequestRowInImmediateFlip); + dml_print("DML::%s: DestinationLinesToRequestVMInImmediateFlip = %f\n", __func__, v->DestinationLinesToRequestVMInImmediateFlip[k]); + dml_print("DML::%s: DestinationLinesToRequestRowInImmediateFlip = %f\n", __func__, v->DestinationLinesToRequestRowInImmediateFlip[k]); dml_print("DML::%s: TimeForFetchingMetaPTEImmediateFlip = %f\n", __func__, TimeForFetchingMetaPTEImmediateFlip); dml_print("DML::%s: TimeForFetchingRowInVBlankImmediateFlip = %f\n", __func__, TimeForFetchingRowInVBlankImmediateFlip); dml_print("DML::%s: min_row_time = %f\n", __func__, min_row_time); - dml_print("DML::%s: ImmediateFlipSupportedForPipe = %d\n", __func__, *ImmediateFlipSupportedForPipe); + dml_print("DML::%s: ImmediateFlipSupportedForPipe = %d\n", __func__, v->ImmediateFlipSupportedForPipe[k]); #endif } @@ -5397,33 +5267,13 @@ for (k = 0; k < v->NumberOfActivePlanes; k++) { CalculateFlipSchedule( mode_lib, + k, HostVMInefficiencyFactor, v->ExtraLatency, v->UrgLatency[i], - v->GPUVMMaxPageTableLevels, - v->HostVMEnable, - v->HostVMMaxNonCachedPageTableLevels, - v->GPUVMEnable, - v->HostVMMinPageSize, v->PDEAndMetaPTEBytesPerFrame[i][j][k], v->MetaRowBytes[i][j][k], - v->DPTEBytesPerRow[i][j][k], - v->BandwidthAvailableForImmediateFlip, - v->TotImmediateFlipBytes, - v->SourcePixelFormat[k], - v->HTotal[k] / v->PixelClock[k], - v->VRatio[k], - v->VRatioChroma[k], - v->Tno_bw[k], - v->DCCEnable[k], - v->dpte_row_height[k], - v->meta_row_height[k], - v->dpte_row_height_chroma[k], - v->meta_row_height_chroma[k], - &v->DestinationLinesToRequestVMInImmediateFlip[k], - &v->DestinationLinesToRequestRowInImmediateFlip[k], - &v->final_flip_bw[k], - &v->ImmediateFlipSupportedForPipe[k]); + v->DPTEBytesPerRow[i][j][k]); } v->total_dcn_read_bw_with_flip = 0.0; for (k = 0; k < v->NumberOfActivePlanes; k++) { @@ -5481,64 +5331,28 @@ CalculateWatermarksAndDRAMSpeedChangeSupport( mode_lib, v->PrefetchModePerState[i][j], - v->NumberOfActivePlanes, - v->MaxLineBufferLines, - v->LineBufferSize, - v->WritebackInterfaceBufferSize, v->DCFCLKState[i][j], v->ReturnBWPerState[i][j], - v->SynchronizedVBlank, - v->dpte_group_bytes, - v->MetaChunkSize, v->UrgLatency[i], v->ExtraLatency, - v->WritebackLatency, - v->WritebackChunkSize, v->SOCCLKPerState[i], - v->DRAMClockChangeLatency, - v->SRExitTime, - v->SREnterPlusExitTime, - v->SRExitZ8Time, - v->SREnterPlusExitZ8Time, v->ProjectedDCFCLKDeepSleep[i][j], v->DETBufferSizeYThisState, v->DETBufferSizeCThisState, v->SwathHeightYThisState, v->SwathHeightCThisState, - v->LBBitPerPixel, v->SwathWidthYThisState, v->SwathWidthCThisState, - v->HRatio, - v->HRatioChroma, - v->vtaps, - v->VTAPsChroma, - v->VRatio, - v->VRatioChroma, - v->HTotal, - v->PixelClock, - v->BlendingAndTiming, v->NoOfDPPThisState, v->BytePerPixelInDETY, v->BytePerPixelInDETC, - v->DSTXAfterScaler, - v->DSTYAfterScaler, - v->WritebackEnable, - v->WritebackPixelFormat, - v->WritebackDestinationWidth, - v->WritebackDestinationHeight, - v->WritebackSourceHeight, UnboundedRequestEnabledThisState, CompressedBufferSizeInkByteThisState, &v->DRAMClockChangeSupport[i][j], - &v->UrgentWatermark, - &v->WritebackUrgentWatermark, - &v->DRAMClockChangeWatermark, - &v->WritebackDRAMClockChangeWatermark, - &dummy, &dummy, &dummy, &dummy, - &v->MinActiveDRAMClockChangeLatencySupported); + &dummy); } } @@ -5663,64 +5477,28 @@ static void CalculateWatermarksAndDRAMSpeedChangeSupport( struct display_mode_lib *mode_lib, unsigned int PrefetchMode, - unsigned int NumberOfActivePlanes, - unsigned int MaxLineBufferLines, - unsigned int LineBufferSize, - unsigned int WritebackInterfaceBufferSize, double DCFCLK, double ReturnBW, - bool SynchronizedVBlank, - unsigned int dpte_group_bytes[], - unsigned int MetaChunkSize, double UrgentLatency, double ExtraLatency, - double WritebackLatency, - double WritebackChunkSize, double SOCCLK, - double DRAMClockChangeLatency, - double SRExitTime, - double SREnterPlusExitTime, - double SRExitZ8Time, - double SREnterPlusExitZ8Time, double DCFCLKDeepSleep, unsigned int DETBufferSizeY[], unsigned int DETBufferSizeC[], unsigned int SwathHeightY[], unsigned int SwathHeightC[], - unsigned int LBBitPerPixel[], double SwathWidthY[], double SwathWidthC[], - double HRatio[], - double HRatioChroma[], - unsigned int vtaps[], - unsigned int VTAPsChroma[], - double VRatio[], - double VRatioChroma[], - unsigned int HTotal[], - double PixelClock[], - unsigned int BlendingAndTiming[], unsigned int DPPPerPlane[], double BytePerPixelDETY[], double BytePerPixelDETC[], - double DSTXAfterScaler[], - double DSTYAfterScaler[], - bool WritebackEnable[], - enum source_format_class WritebackPixelFormat[], - double WritebackDestinationWidth[], - double WritebackDestinationHeight[], - double WritebackSourceHeight[], bool UnboundedRequestEnabled, int unsigned CompressedBufferSizeInkByte, enum clock_change_support *DRAMClockChangeSupport, - double *UrgentWatermark, - double *WritebackUrgentWatermark, - double *DRAMClockChangeWatermark, - double *WritebackDRAMClockChangeWatermark, double *StutterExitWatermark, double *StutterEnterPlusExitWatermark, double *Z8StutterExitWatermark, - double *Z8StutterEnterPlusExitWatermark, - double *MinActiveDRAMClockChangeLatencySupported) + double *Z8StutterEnterPlusExitWatermark) { struct vba_vars_st *v = &mode_lib->vba; double EffectiveLBLatencyHidingY; @@ -5740,103 +5518,103 @@ double TotalPixelBW = 0.0; int k, j; - *UrgentWatermark = UrgentLatency + ExtraLatency; + v->UrgentWatermark = UrgentLatency + ExtraLatency; #ifdef __DML_VBA_DEBUG__ dml_print("DML::%s: UrgentLatency = %f\n", __func__, UrgentLatency); dml_print("DML::%s: ExtraLatency = %f\n", __func__, ExtraLatency); - dml_print("DML::%s: UrgentWatermark = %f\n", __func__, *UrgentWatermark); + dml_print("DML::%s: UrgentWatermark = %f\n", __func__, v->UrgentWatermark); #endif - *DRAMClockChangeWatermark = DRAMClockChangeLatency + *UrgentWatermark; + v->DRAMClockChangeWatermark = v->DRAMClockChangeLatency + v->UrgentWatermark; #ifdef __DML_VBA_DEBUG__ - dml_print("DML::%s: DRAMClockChangeLatency = %f\n", __func__, DRAMClockChangeLatency); - dml_print("DML::%s: DRAMClockChangeWatermark = %f\n", __func__, *DRAMClockChangeWatermark); + dml_print("DML::%s: v->DRAMClockChangeLatency = %f\n", __func__, v->DRAMClockChangeLatency); + dml_print("DML::%s: DRAMClockChangeWatermark = %f\n", __func__, v->DRAMClockChangeWatermark); #endif v->TotalActiveWriteback = 0; - for (k = 0; k < NumberOfActivePlanes; ++k) { - if (WritebackEnable[k] == true) { + for (k = 0; k < v->NumberOfActivePlanes; ++k) { + if (v->WritebackEnable[k] == true) { v->TotalActiveWriteback = v->TotalActiveWriteback + 1; } } if (v->TotalActiveWriteback <= 1) { - *WritebackUrgentWatermark = WritebackLatency; + v->WritebackUrgentWatermark = v->WritebackLatency; } else { - *WritebackUrgentWatermark = WritebackLatency + WritebackChunkSize * 1024.0 / 32.0 / SOCCLK; + v->WritebackUrgentWatermark = v->WritebackLatency + v->WritebackChunkSize * 1024.0 / 32.0 / SOCCLK; } if (v->TotalActiveWriteback <= 1) { - *WritebackDRAMClockChangeWatermark = DRAMClockChangeLatency + WritebackLatency; + v->WritebackDRAMClockChangeWatermark = v->DRAMClockChangeLatency + v->WritebackLatency; } else { - *WritebackDRAMClockChangeWatermark = DRAMClockChangeLatency + WritebackLatency + WritebackChunkSize * 1024.0 / 32.0 / SOCCLK; + v->WritebackDRAMClockChangeWatermark = v->DRAMClockChangeLatency + v->WritebackLatency + v->WritebackChunkSize * 1024.0 / 32.0 / SOCCLK; } - for (k = 0; k < NumberOfActivePlanes; ++k) { + for (k = 0; k < v->NumberOfActivePlanes; ++k) { TotalPixelBW = TotalPixelBW - + DPPPerPlane[k] * (SwathWidthY[k] * BytePerPixelDETY[k] * VRatio[k] + SwathWidthC[k] * BytePerPixelDETC[k] * VRatioChroma[k]) - / (HTotal[k] / PixelClock[k]); + + DPPPerPlane[k] * (SwathWidthY[k] * BytePerPixelDETY[k] * v->VRatio[k] + SwathWidthC[k] * BytePerPixelDETC[k] * v->VRatioChroma[k]) + / (v->HTotal[k] / v->PixelClock[k]); } - for (k = 0; k < NumberOfActivePlanes; ++k) { + for (k = 0; k < v->NumberOfActivePlanes; ++k) { double EffectiveDETBufferSizeY = DETBufferSizeY[k]; v->LBLatencyHidingSourceLinesY = dml_min( - (double) MaxLineBufferLines, - dml_floor(LineBufferSize / LBBitPerPixel[k] / (SwathWidthY[k] / dml_max(HRatio[k], 1.0)), 1)) - (vtaps[k] - 1); + (double) v->MaxLineBufferLines, + dml_floor(v->LineBufferSize / v->LBBitPerPixel[k] / (SwathWidthY[k] / dml_max(v->HRatio[k], 1.0)), 1)) - (v->vtaps[k] - 1); v->LBLatencyHidingSourceLinesC = dml_min( - (double) MaxLineBufferLines, - dml_floor(LineBufferSize / LBBitPerPixel[k] / (SwathWidthC[k] / dml_max(HRatioChroma[k], 1.0)), 1)) - (VTAPsChroma[k] - 1); + (double) v->MaxLineBufferLines, + dml_floor(v->LineBufferSize / v->LBBitPerPixel[k] / (SwathWidthC[k] / dml_max(v->HRatioChroma[k], 1.0)), 1)) - (v->VTAPsChroma[k] - 1); - EffectiveLBLatencyHidingY = v->LBLatencyHidingSourceLinesY / VRatio[k] * (HTotal[k] / PixelClock[k]); + EffectiveLBLatencyHidingY = v->LBLatencyHidingSourceLinesY / v->VRatio[k] * (v->HTotal[k] / v->PixelClock[k]); - EffectiveLBLatencyHidingC = v->LBLatencyHidingSourceLinesC / VRatioChroma[k] * (HTotal[k] / PixelClock[k]); + EffectiveLBLatencyHidingC = v->LBLatencyHidingSourceLinesC / v->VRatioChroma[k] * (v->HTotal[k] / v->PixelClock[k]); if (UnboundedRequestEnabled) { EffectiveDETBufferSizeY = EffectiveDETBufferSizeY - + CompressedBufferSizeInkByte * 1024 * SwathWidthY[k] * BytePerPixelDETY[k] * VRatio[k] / (HTotal[k] / PixelClock[k]) / TotalPixelBW; + + CompressedBufferSizeInkByte * 1024 * SwathWidthY[k] * BytePerPixelDETY[k] * v->VRatio[k] / (v->HTotal[k] / v->PixelClock[k]) / TotalPixelBW; } LinesInDETY[k] = (double) EffectiveDETBufferSizeY / BytePerPixelDETY[k] / SwathWidthY[k]; LinesInDETYRoundedDownToSwath[k] = dml_floor(LinesInDETY[k], SwathHeightY[k]); - FullDETBufferingTimeY = LinesInDETYRoundedDownToSwath[k] * (HTotal[k] / PixelClock[k]) / VRatio[k]; + FullDETBufferingTimeY = LinesInDETYRoundedDownToSwath[k] * (v->HTotal[k] / v->PixelClock[k]) / v->VRatio[k]; if (BytePerPixelDETC[k] > 0) { LinesInDETC = v->DETBufferSizeC[k] / BytePerPixelDETC[k] / SwathWidthC[k]; LinesInDETCRoundedDownToSwath = dml_floor(LinesInDETC, SwathHeightC[k]); - FullDETBufferingTimeC = LinesInDETCRoundedDownToSwath * (HTotal[k] / PixelClock[k]) / VRatioChroma[k]; + FullDETBufferingTimeC = LinesInDETCRoundedDownToSwath * (v->HTotal[k] / v->PixelClock[k]) / v->VRatioChroma[k]; } else { LinesInDETC = 0; FullDETBufferingTimeC = 999999; } ActiveDRAMClockChangeLatencyMarginY = EffectiveLBLatencyHidingY + FullDETBufferingTimeY - - ((double) DSTXAfterScaler[k] / HTotal[k] + DSTYAfterScaler[k]) * HTotal[k] / PixelClock[k] - *UrgentWatermark - *DRAMClockChangeWatermark; + - ((double) v->DSTXAfterScaler[k] / v->HTotal[k] + v->DSTYAfterScaler[k]) * v->HTotal[k] / v->PixelClock[k] - v->UrgentWatermark - v->DRAMClockChangeWatermark; - if (NumberOfActivePlanes > 1) { + if (v->NumberOfActivePlanes > 1) { ActiveDRAMClockChangeLatencyMarginY = ActiveDRAMClockChangeLatencyMarginY - - (1 - 1.0 / NumberOfActivePlanes) * SwathHeightY[k] * HTotal[k] / PixelClock[k] / VRatio[k]; + - (1 - 1.0 / v->NumberOfActivePlanes) * SwathHeightY[k] * v->HTotal[k] / v->PixelClock[k] / v->VRatio[k]; } if (BytePerPixelDETC[k] > 0) { ActiveDRAMClockChangeLatencyMarginC = EffectiveLBLatencyHidingC + FullDETBufferingTimeC - - ((double) DSTXAfterScaler[k] / HTotal[k] + DSTYAfterScaler[k]) * HTotal[k] / PixelClock[k] - *UrgentWatermark - *DRAMClockChangeWatermark; + - ((double) v->DSTXAfterScaler[k] / v->HTotal[k] + v->DSTYAfterScaler[k]) * v->HTotal[k] / v->PixelClock[k] - v->UrgentWatermark - v->DRAMClockChangeWatermark; - if (NumberOfActivePlanes > 1) { + if (v->NumberOfActivePlanes > 1) { ActiveDRAMClockChangeLatencyMarginC = ActiveDRAMClockChangeLatencyMarginC - - (1 - 1.0 / NumberOfActivePlanes) * SwathHeightC[k] * HTotal[k] / PixelClock[k] / VRatioChroma[k]; + - (1 - 1.0 / v->NumberOfActivePlanes) * SwathHeightC[k] * v->HTotal[k] / v->PixelClock[k] / v->VRatioChroma[k]; } v->ActiveDRAMClockChangeLatencyMargin[k] = dml_min(ActiveDRAMClockChangeLatencyMarginY, ActiveDRAMClockChangeLatencyMarginC); } else { v->ActiveDRAMClockChangeLatencyMargin[k] = ActiveDRAMClockChangeLatencyMarginY; } - if (WritebackEnable[k] == true) { - WritebackDRAMClockChangeLatencyHiding = WritebackInterfaceBufferSize * 1024 - / (WritebackDestinationWidth[k] * WritebackDestinationHeight[k] / (WritebackSourceHeight[k] * HTotal[k] / PixelClock[k]) * 4); - if (WritebackPixelFormat[k] == dm_444_64) { + if (v->WritebackEnable[k] == true) { + WritebackDRAMClockChangeLatencyHiding = v->WritebackInterfaceBufferSize * 1024 + / (v->WritebackDestinationWidth[k] * v->WritebackDestinationHeight[k] / (v->WritebackSourceHeight[k] * v->HTotal[k] / v->PixelClock[k]) * 4); + if (v->WritebackPixelFormat[k] == dm_444_64) { WritebackDRAMClockChangeLatencyHiding = WritebackDRAMClockChangeLatencyHiding / 2; } WritebackDRAMClockChangeLatencyMargin = WritebackDRAMClockChangeLatencyHiding - v->WritebackDRAMClockChangeWatermark; @@ -5846,14 +5624,14 @@ v->MinActiveDRAMClockChangeMargin = 999999; PlaneWithMinActiveDRAMClockChangeMargin = 0; - for (k = 0; k < NumberOfActivePlanes; ++k) { + for (k = 0; k < v->NumberOfActivePlanes; ++k) { if (v->ActiveDRAMClockChangeLatencyMargin[k] < v->MinActiveDRAMClockChangeMargin) { v->MinActiveDRAMClockChangeMargin = v->ActiveDRAMClockChangeLatencyMargin[k]; - if (BlendingAndTiming[k] == k) { + if (v->BlendingAndTiming[k] == k) { PlaneWithMinActiveDRAMClockChangeMargin = k; } else { - for (j = 0; j < NumberOfActivePlanes; ++j) { - if (BlendingAndTiming[k] == j) { + for (j = 0; j < v->NumberOfActivePlanes; ++j) { + if (v->BlendingAndTiming[k] == j) { PlaneWithMinActiveDRAMClockChangeMargin = j; } } @@ -5861,11 +5639,11 @@ } } - *MinActiveDRAMClockChangeLatencySupported = v->MinActiveDRAMClockChangeMargin + DRAMClockChangeLatency; + v->MinActiveDRAMClockChangeLatencySupported = v->MinActiveDRAMClockChangeMargin + v->DRAMClockChangeLatency ; SecondMinActiveDRAMClockChangeMarginOneDisplayInVBLank = 999999; - for (k = 0; k < NumberOfActivePlanes; ++k) { - if (!((k == PlaneWithMinActiveDRAMClockChangeMargin) && (BlendingAndTiming[k] == k)) && !(BlendingAndTiming[k] == PlaneWithMinActiveDRAMClockChangeMargin) + for (k = 0; k < v->NumberOfActivePlanes; ++k) { + if (!((k == PlaneWithMinActiveDRAMClockChangeMargin) && (v->BlendingAndTiming[k] == k)) && !(v->BlendingAndTiming[k] == PlaneWithMinActiveDRAMClockChangeMargin) && v->ActiveDRAMClockChangeLatencyMargin[k] < SecondMinActiveDRAMClockChangeMarginOneDisplayInVBLank) { SecondMinActiveDRAMClockChangeMarginOneDisplayInVBLank = v->ActiveDRAMClockChangeLatencyMargin[k]; } @@ -5873,25 +5651,25 @@ v->TotalNumberOfActiveOTG = 0; - for (k = 0; k < NumberOfActivePlanes; ++k) { - if (BlendingAndTiming[k] == k) { + for (k = 0; k < v->NumberOfActivePlanes; ++k) { + if (v->BlendingAndTiming[k] == k) { v->TotalNumberOfActiveOTG = v->TotalNumberOfActiveOTG + 1; } } if (v->MinActiveDRAMClockChangeMargin > 0 && PrefetchMode == 0) { *DRAMClockChangeSupport = dm_dram_clock_change_vactive; - } else if ((SynchronizedVBlank == true || v->TotalNumberOfActiveOTG == 1 + } else if ((v->SynchronizedVBlank == true || v->TotalNumberOfActiveOTG == 1 || SecondMinActiveDRAMClockChangeMarginOneDisplayInVBLank > 0) && PrefetchMode == 0) { *DRAMClockChangeSupport = dm_dram_clock_change_vblank; } else { *DRAMClockChangeSupport = dm_dram_clock_change_unsupported; } - *StutterExitWatermark = SRExitTime + ExtraLatency + 10 / DCFCLKDeepSleep; - *StutterEnterPlusExitWatermark = (SREnterPlusExitTime + ExtraLatency + 10 / DCFCLKDeepSleep); - *Z8StutterExitWatermark = SRExitZ8Time + ExtraLatency + 10 / DCFCLKDeepSleep; - *Z8StutterEnterPlusExitWatermark = SREnterPlusExitZ8Time + ExtraLatency + 10 / DCFCLKDeepSleep; + *StutterExitWatermark = v->SRExitTime + ExtraLatency + 10 / DCFCLKDeepSleep; + *StutterEnterPlusExitWatermark = (v->SREnterPlusExitTime + ExtraLatency + 10 / DCFCLKDeepSleep); + *Z8StutterExitWatermark = v->SRExitZ8Time + ExtraLatency + 10 / DCFCLKDeepSleep; + *Z8StutterEnterPlusExitWatermark = v->SREnterPlusExitZ8Time + ExtraLatency + 10 / DCFCLKDeepSleep; #ifdef __DML_VBA_DEBUG__ dml_print("DML::%s: StutterExitWatermark = %f\n", __func__, *StutterExitWatermark); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/dml/display_mode_vba.h @@ -952,7 +952,7 @@ double UrgBurstFactorLumaPre[DC__NUM_DPP__MAX]; double UrgBurstFactorChromaPre[DC__NUM_DPP__MAX]; bool NotUrgentLatencyHidingPre[DC__NUM_DPP__MAX]; - bool LinkCapacitySupport[DC__NUM_DPP__MAX]; + bool LinkCapacitySupport[DC__VOLTAGE_STATES]; bool VREADY_AT_OR_AFTER_VSYNC[DC__NUM_DPP__MAX]; unsigned int MIN_DST_Y_NEXT_START[DC__NUM_DPP__MAX]; unsigned int VFrontPorch[DC__NUM_DPP__MAX]; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/inc/hw/dccg.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/inc/hw/dccg.h @@ -120,11 +120,11 @@ void (*set_dtbclk_dto)( struct dccg *dccg, - struct dtbclk_dto_params *dto_params); + const struct dtbclk_dto_params *params); void (*set_audio_dtbclk_dto)( struct dccg *dccg, - uint32_t req_audio_dtbclk_khz); + const struct dtbclk_dto_params *params); void (*set_dispclk_change_mode)( struct dccg *dccg, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/inc/hw/mpc.h @@ -346,6 +346,11 @@ int mpcc_id, const struct mpc_grph_gamut_adjustment *adjust); + bool (*program_1dlut)( + struct mpc *mpc, + const struct pwl_params *params, + uint32_t rmu_idx); + bool (*program_shaper)( struct mpc *mpc, const struct pwl_params *params, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/inc/hw_sequencer.h @@ -32,11 +32,6 @@ #include "inc/hw/link_encoder.h" #include "core_status.h" -enum vline_select { - VLINE0, - VLINE1 -}; - struct pipe_ctx; struct dc_state; struct dc_stream_status; @@ -116,8 +111,7 @@ int group_index, int group_size, struct pipe_ctx *grouped_pipes[]); void (*setup_periodic_interrupt)(struct dc *dc, - struct pipe_ctx *pipe_ctx, - enum vline_select vline); + struct pipe_ctx *pipe_ctx); void (*set_drr)(struct pipe_ctx **pipe_ctx, int num_pipes, struct dc_crtc_timing_adjust adjust); void (*set_static_screen_control)(struct pipe_ctx **pipe_ctx, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/dc/inc/hw_sequencer_private.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/dc/inc/hw_sequencer_private.h @@ -140,6 +140,8 @@ const struct dc_plane_state *plane_state); bool (*set_shaper_3dlut)(struct pipe_ctx *pipe_ctx, const struct dc_plane_state *plane_state); + bool (*set_mcm_luts)(struct pipe_ctx *pipe_ctx, + const struct dc_plane_state *plane_state); void (*PLAT_58856_wa)(struct dc_state *context, struct pipe_ctx *pipe_ctx); void (*setup_hpo_hw_control)(const struct dce_hwseq *hws, bool enable); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/modules/color/color_gamma.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/modules/color/color_gamma.c @@ -1603,6 +1603,7 @@ struct fixed31_32 lut2; struct fixed31_32 delta_lut; struct fixed31_32 delta_index; + const struct fixed31_32 one = dc_fixpt_from_int(1); i = 0; /* fixed_pt library has problems handling too small values */ @@ -1631,6 +1632,9 @@ } else hw_x = coordinates_x[i].x; + if (dc_fixpt_le(one, hw_x)) + hw_x = one; + norm_x = dc_fixpt_mul(norm_factor, hw_x); index = dc_fixpt_floor(norm_x); if (index < 0 || index > 255) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/display/modules/freesync/freesync.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/display/modules/freesync/freesync.c @@ -615,10 +615,6 @@ * Note: We should never go above the field rate of the mode timing set. */ infopacket->sb[8] = (unsigned char)((vrr->max_refresh_in_uhz + 500000) / 1000000); - - /* FreeSync HDR */ - infopacket->sb[9] = 0; - infopacket->sb[10] = 0; } static void build_vrr_infopacket_data_v3(const struct mod_vrr_params *vrr, @@ -686,10 +682,6 @@ /* PB16 : Reserved bits 7:1, FixedRate bit 0 */ infopacket->sb[16] = (vrr->state == VRR_STATE_ACTIVE_FIXED) ? 1 : 0; - - //FreeSync HDR - infopacket->sb[9] = 0; - infopacket->sb[10] = 0; } static void build_vrr_infopacket_fs2_data(enum color_transfer_func app_tf, @@ -774,8 +766,7 @@ /* HB2 = [Bits 7:5 = 0] [Bits 4:0 = Length = 0x09] */ infopacket->hb2 = 0x09; - *payload_size = 0x0A; - + *payload_size = 0x09; } else if (dc_is_dp_signal(signal)) { /* HEADER */ @@ -824,9 +815,9 @@ infopacket->hb1 = version; /* HB2 = [Bits 7:5 = 0] [Bits 4:0 = Length] */ - *payload_size = 0x10; - infopacket->hb2 = *payload_size - 1; //-1 for checksum + infopacket->hb2 = 0x10; + *payload_size = 0x10; } else if (dc_is_dp_signal(signal)) { /* HEADER */ --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/include/kgd_kfd_interface.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/include/kgd_kfd_interface.h @@ -262,8 +262,9 @@ uint32_t queue_id); int (*hqd_destroy)(struct amdgpu_device *adev, void *mqd, - uint32_t reset_type, unsigned int timeout, - uint32_t pipe_id, uint32_t queue_id); + enum kfd_preempt_type reset_type, + unsigned int timeout, uint32_t pipe_id, + uint32_t queue_id); bool (*hqd_sdma_is_occupied)(struct amdgpu_device *adev, void *mqd); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/include/kgd_pp_interface.h +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/include/kgd_pp_interface.h @@ -354,7 +354,8 @@ int (*get_power_profile_mode)(void *handle, char *buf); int (*set_power_profile_mode)(void *handle, long *input, uint32_t size); int (*set_fine_grain_clk_vol)(void *handle, uint32_t type, long *input, uint32_t size); - int (*odn_edit_dpm_table)(void *handle, uint32_t type, long *input, uint32_t size); + int (*odn_edit_dpm_table)(void *handle, enum PP_OD_DPM_TABLE_COMMAND type, + long *input, uint32_t size); int (*set_mp1_state)(void *handle, enum pp_mp1_state mp1_state); int (*smu_i2c_bus_access)(void *handle, bool acquire); int (*gfx_state_change_set)(void *handle, uint32_t state); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/pm/powerplay/amd_powerplay.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/pm/powerplay/amd_powerplay.c @@ -838,7 +838,8 @@ return hwmgr->hwmgr_func->set_fine_grain_clk_vol(hwmgr, type, input, size); } -static int pp_odn_edit_dpm_table(void *handle, uint32_t type, long *input, uint32_t size) +static int pp_odn_edit_dpm_table(void *handle, enum PP_OD_DPM_TABLE_COMMAND type, + long *input, uint32_t size) { struct pp_hwmgr *hwmgr = handle; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pp_psm.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/pm/powerplay/hwmgr/pp_psm.c @@ -75,8 +75,10 @@ for (i = 0; i < table_entries; i++) { result = hwmgr->hwmgr_func->get_pp_table_entry(hwmgr, i, state); if (result) { + kfree(hwmgr->current_ps); kfree(hwmgr->request_ps); kfree(hwmgr->ps); + hwmgr->current_ps = NULL; hwmgr->request_ps = NULL; hwmgr->ps = NULL; return -EINVAL; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega10_thermal.c @@ -67,22 +67,21 @@ int vega10_fan_ctrl_get_fan_speed_pwm(struct pp_hwmgr *hwmgr, uint32_t *speed) { - uint32_t current_rpm; - uint32_t percent = 0; + struct amdgpu_device *adev = hwmgr->adev; + uint32_t duty100, duty; + uint64_t tmp64; - if (hwmgr->thermal_controller.fanInfo.bNoFan) - return 0; + duty100 = REG_GET_FIELD(RREG32_SOC15(THM, 0, mmCG_FDO_CTRL1), + CG_FDO_CTRL1, FMAX_DUTY100); + duty = REG_GET_FIELD(RREG32_SOC15(THM, 0, mmCG_THERMAL_STATUS), + CG_THERMAL_STATUS, FDO_PWM_DUTY); - if (vega10_get_current_rpm(hwmgr, ¤t_rpm)) - return -1; + if (!duty100) + return -EINVAL; - if (hwmgr->thermal_controller. - advanceFanControlParameters.usMaxFanRPM != 0) - percent = current_rpm * 255 / - hwmgr->thermal_controller. - advanceFanControlParameters.usMaxFanRPM; - - *speed = MIN(percent, 255); + tmp64 = (uint64_t)duty * 255; + do_div(tmp64, duty100); + *speed = MIN((uint32_t)tmp64, 255); return 0; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega20_hwmgr.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/pm/powerplay/hwmgr/vega20_hwmgr.c @@ -2961,7 +2961,8 @@ data->od8_settings.od8_settings_array; OverDriveTable_t *od_table = &(data->smc_state_table.overdrive_table); - int32_t input_index, input_clk, input_vol, i; + int32_t input_clk, input_vol, i; + uint32_t input_index; int od8_id; int ret; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c @@ -1122,22 +1122,21 @@ uint64_t features_supported; int ret = 0; - if (adev->in_suspend && smu_is_dpm_running(smu)) { - dev_info(adev->dev, "dpm has been enabled\n"); - /* this is needed specifically */ - switch (adev->ip_versions[MP1_HWIP][0]) { - case IP_VERSION(11, 0, 7): - case IP_VERSION(11, 0, 11): - case IP_VERSION(11, 5, 0): - case IP_VERSION(11, 0, 12): + switch (adev->ip_versions[MP1_HWIP][0]) { + case IP_VERSION(11, 0, 7): + case IP_VERSION(11, 0, 11): + case IP_VERSION(11, 5, 0): + case IP_VERSION(11, 0, 12): + if (adev->in_suspend && smu_is_dpm_running(smu)) { + dev_info(adev->dev, "dpm has been enabled\n"); ret = smu_system_features_control(smu, true); if (ret) dev_err(adev->dev, "Failed system features control!\n"); - break; - default: - break; + return ret; } - return ret; + break; + default: + break; } ret = smu_init_display_count(smu, 0); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/pm/swsmu/smu11/arcturus_ppt.c @@ -2241,9 +2241,17 @@ static int arcturus_set_df_cstate(struct smu_context *smu, enum pp_df_cstate state) { + struct amdgpu_device *adev = smu->adev; uint32_t smu_version; int ret; + /* + * Arcturus does not need the cstate disablement + * prerequisite for gpu reset. + */ + if (amdgpu_in_reset(adev) || adev->in_suspend) + return 0; + ret = smu_cmn_get_smc_version(smu, NULL, &smu_version); if (ret) { dev_err(smu->adev->dev, "Failed to get smu version!\n"); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c @@ -368,6 +368,23 @@ smu_baco->platform_support = (val & RCC_BIF_STRAP0__STRAP_PX_CAPABLE_MASK) ? true : false; + + /* + * Disable BACO entry/exit completely on below SKUs to + * avoid hardware intermittent failures. + */ + if (((adev->pdev->device == 0x73A1) && + (adev->pdev->revision == 0x00)) || + ((adev->pdev->device == 0x73BF) && + (adev->pdev->revision == 0xCF)) || + ((adev->pdev->device == 0x7422) && + (adev->pdev->revision == 0x00)) || + ((adev->pdev->device == 0x73A3) && + (adev->pdev->revision == 0x00)) || + ((adev->pdev->device == 0x73E3) && + (adev->pdev->revision == 0x00))) + smu_baco->platform_support = false; + } } @@ -4281,6 +4298,7 @@ .dump_pptable = sienna_cichlid_dump_pptable, .init_microcode = smu_v11_0_init_microcode, .load_microcode = smu_v11_0_load_microcode, + .fini_microcode = smu_v11_0_fini_microcode, .init_smc_tables = sienna_cichlid_init_smc_tables, .fini_smc_tables = smu_v11_0_fini_smc_tables, .init_power = smu_v11_0_init_power, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/pm/swsmu/smu11/smu_v11_0.c @@ -1588,6 +1588,10 @@ if (amdgpu_sriov_vf(smu->adev) || !smu_baco->platform_support) return false; + /* return true if ASIC is in BACO state already */ + if (smu_v11_0_baco_get_state(smu) == SMU_BACO_STATE_ENTER) + return true; + /* Arcturus does not support this bit mask */ if (smu_cmn_feature_is_supported(smu, SMU_FEATURE_BACO_BIT) && !smu_cmn_feature_is_enabled(smu, SMU_FEATURE_BACO_BIT)) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c @@ -1162,6 +1162,7 @@ int ret = 0; uint32_t apu_percent = 0; uint32_t dgpu_percent = 0; + struct amdgpu_device *adev = smu->adev; ret = smu_cmn_get_metrics_table(smu, @@ -1187,7 +1188,11 @@ *value = metrics->AverageUvdActivity / 100; break; case METRICS_AVERAGE_SOCKETPOWER: - *value = (metrics->CurrentSocketPower << 8) / 1000; + if (((adev->ip_versions[MP1_HWIP][0] == IP_VERSION(12, 0, 1)) && (adev->pm.fw_version >= 0x40000f)) || + ((adev->ip_versions[MP1_HWIP][0] == IP_VERSION(12, 0, 0)) && (adev->pm.fw_version >= 0x373200))) + *value = metrics->CurrentSocketPower << 8; + else + *value = (metrics->CurrentSocketPower << 8) / 1000; break; case METRICS_TEMPERATURE_EDGE: *value = (metrics->GfxTemperature / 100) * --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/pm/swsmu/smu13/aldebaran_ppt.c @@ -1643,6 +1643,15 @@ static int aldebaran_set_df_cstate(struct smu_context *smu, enum pp_df_cstate state) { + struct amdgpu_device *adev = smu->adev; + + /* + * Aldebaran does not need the cstate disablement + * prerequisite for gpu reset. + */ + if (amdgpu_in_reset(adev) || adev->in_suspend) + return 0; + return smu_cmn_send_smc_msg_with_param(smu, SMU_MSG_DFCstateControl, state, NULL); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c @@ -203,6 +203,9 @@ if (!adev->scpm_enabled) return 0; + if (adev->ip_versions[MP1_HWIP][0] == IP_VERSION(13, 0, 7)) + return 0; + /* override pptable_id from driver parameter */ if (amdgpu_smu_pptable_id >= 0) { pptable_id = amdgpu_smu_pptable_id; @@ -210,13 +213,6 @@ } else { pptable_id = smu->smu_table.boot_values.pp_table_id; - if (adev->ip_versions[MP1_HWIP][0] == IP_VERSION(13, 0, 7) && - pptable_id == 3667) - pptable_id = 36671; - - if (adev->ip_versions[MP1_HWIP][0] == IP_VERSION(13, 0, 7) && - pptable_id == 3688) - pptable_id = 36881; /* * Temporary solution for SMU V13.0.0 with SCPM enabled: * - use 36831 signed pptable when pp_table_id is 3683 @@ -714,6 +710,8 @@ smu->smu_table.boot_values.vclk = smu_info_v3_6->bootup_vclk_10khz; smu->smu_table.boot_values.dclk = smu_info_v3_6->bootup_dclk_10khz; smu->smu_table.boot_values.fclk = smu_info_v3_6->bootup_fclk_10khz; + } else if ((frev == 3) && (crev == 1)) { + return 0; } else if ((frev == 4) && (crev == 0)) { smu_info_v4_0 = (struct atom_smu_info_v4_0 *)header; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c @@ -1583,7 +1583,9 @@ .dump_pptable = smu_v13_0_0_dump_pptable, .init_microcode = smu_v13_0_init_microcode, .load_microcode = smu_v13_0_load_microcode, + .fini_microcode = smu_v13_0_fini_microcode, .init_smc_tables = smu_v13_0_0_init_smc_tables, + .fini_smc_tables = smu_v13_0_fini_smc_tables, .init_power = smu_v13_0_init_power, .fini_power = smu_v13_0_fini_power, .check_fw_status = smu_v13_0_check_fw_status, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_4_ppt.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_4_ppt.c @@ -190,6 +190,9 @@ kfree(smu_table->watermarks_table); smu_table->watermarks_table = NULL; + kfree(smu_table->gpu_metrics_table); + smu_table->gpu_metrics_table = NULL; + return 0; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c +++ linux-gcp-5.19.0/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c @@ -382,11 +382,27 @@ return 0; } +static int smu_v13_0_7_get_pptable_from_pmfw(struct smu_context *smu, + void **table, + uint32_t *size) +{ + struct smu_table_context *smu_table = &smu->smu_table; + void *combo_pptable = smu_table->combo_pptable; + int ret = 0; + + ret = smu_cmn_get_combo_pptable(smu); + if (ret) + return ret; + + *table = combo_pptable; + *size = sizeof(struct smu_13_0_7_powerplay_table); + + return 0; +} static int smu_v13_0_7_setup_pptable(struct smu_context *smu) { struct smu_table_context *smu_table = &smu->smu_table; - void *combo_pptable = smu_table->combo_pptable; struct amdgpu_device *adev = smu->adev; int ret = 0; @@ -395,18 +411,11 @@ * be used directly by driver. To get the raw pptable, we need to * rely on the combo pptable(and its revelant SMU message). */ - if (adev->scpm_enabled) { - ret = smu_cmn_get_combo_pptable(smu); - if (ret) - return ret; - - smu->smu_table.power_play_table = combo_pptable; - smu->smu_table.power_play_table_size = sizeof(struct smu_13_0_7_powerplay_table); - } else { - ret = smu_v13_0_setup_pptable(smu); - if (ret) - return ret; - } + ret = smu_v13_0_7_get_pptable_from_pmfw(smu, + &smu_table->power_play_table, + &smu_table->power_play_table_size); + if (ret) + return ret; ret = smu_v13_0_7_store_powerplay_table(smu); if (ret) @@ -1406,7 +1415,7 @@ static int smu_v13_0_7_get_power_profile_mode(struct smu_context *smu, char *buf) { - DpmActivityMonitorCoeffIntExternal_t activity_monitor_external[PP_SMC_POWER_PROFILE_COUNT]; + DpmActivityMonitorCoeffIntExternal_t *activity_monitor_external; uint32_t i, j, size = 0; int16_t workload_type = 0; int result = 0; @@ -1414,6 +1423,12 @@ if (!buf) return -EINVAL; + activity_monitor_external = kcalloc(PP_SMC_POWER_PROFILE_COUNT, + sizeof(*activity_monitor_external), + GFP_KERNEL); + if (!activity_monitor_external) + return -ENOMEM; + size += sysfs_emit_at(buf, size, " "); for (i = 0; i <= PP_SMC_POWER_PROFILE_WINDOW3D; i++) size += sysfs_emit_at(buf, size, "%-14s%s", amdgpu_pp_profile_name[i], @@ -1426,15 +1441,17 @@ workload_type = smu_cmn_to_asic_specific_index(smu, CMN2ASIC_MAPPING_WORKLOAD, i); - if (workload_type < 0) - return -EINVAL; + if (workload_type < 0) { + result = -EINVAL; + goto out; + } result = smu_cmn_update_table(smu, SMU_TABLE_ACTIVITY_MONITOR_COEFF, workload_type, (void *)(&activity_monitor_external[i]), false); if (result) { dev_err(smu->adev->dev, "[%s] Failed to get activity monitor!", __func__); - return result; + goto out; } } @@ -1462,7 +1479,10 @@ PRINT_DPM_MONITOR(Fclk_BoosterFreq); #undef PRINT_DPM_MONITOR - return size; + result = size; +out: + kfree(activity_monitor_external); + return result; } static int smu_v13_0_7_set_power_profile_mode(struct smu_context *smu, long *input, uint32_t size) @@ -1539,7 +1559,9 @@ .dump_pptable = smu_v13_0_7_dump_pptable, .init_microcode = smu_v13_0_init_microcode, .load_microcode = smu_v13_0_load_microcode, + .fini_microcode = smu_v13_0_fini_microcode, .init_smc_tables = smu_v13_0_7_init_smc_tables, + .fini_smc_tables = smu_v13_0_fini_smc_tables, .init_power = smu_v13_0_init_power, .check_fw_status = smu_v13_0_7_check_fw_status, .setup_pptable = smu_v13_0_7_setup_pptable, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c +++ linux-gcp-5.19.0/drivers/gpu/drm/arm/display/komeda/komeda_crtc.c @@ -235,7 +235,7 @@ crtc->state->event = NULL; drm_crtc_send_vblank_event(crtc, event); } else { - DRM_WARN("CRTC[%d]: FLIP happen but no pending commit.\n", + DRM_WARN("CRTC[%d]: FLIP happened but no pending commit.\n", drm_crtc_index(&kcrtc->base)); } spin_unlock_irqrestore(&crtc->dev->event_lock, flags); @@ -286,7 +286,7 @@ komeda_crtc_do_flush(crtc, old); } -static void +void komeda_crtc_flush_and_wait_for_flip_done(struct komeda_crtc *kcrtc, struct completion *input_flip_done) { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/arm/display/komeda/komeda_kms.c +++ linux-gcp-5.19.0/drivers/gpu/drm/arm/display/komeda/komeda_kms.c @@ -69,6 +69,25 @@ .minor = 1, }; +static void komeda_kms_atomic_commit_hw_done(struct drm_atomic_state *state) +{ + struct drm_device *dev = state->dev; + struct komeda_kms_dev *kms = to_kdev(dev); + int i; + + for (i = 0; i < kms->n_crtcs; i++) { + struct komeda_crtc *kcrtc = &kms->crtcs[i]; + + if (kcrtc->base.state->active) { + struct completion *flip_done = NULL; + if (kcrtc->base.state->event) + flip_done = kcrtc->base.state->event->base.completion; + komeda_crtc_flush_and_wait_for_flip_done(kcrtc, flip_done); + } + } + drm_atomic_helper_commit_hw_done(state); +} + static void komeda_kms_commit_tail(struct drm_atomic_state *old_state) { struct drm_device *dev = old_state->dev; @@ -81,7 +100,7 @@ drm_atomic_helper_commit_modeset_enables(dev, old_state); - drm_atomic_helper_commit_hw_done(old_state); + komeda_kms_atomic_commit_hw_done(old_state); drm_atomic_helper_wait_for_flip_done(dev, old_state); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/arm/display/komeda/komeda_kms.h +++ linux-gcp-5.19.0/drivers/gpu/drm/arm/display/komeda/komeda_kms.h @@ -182,6 +182,8 @@ void komeda_crtc_handle_event(struct komeda_crtc *kcrtc, struct komeda_events *evts); +void komeda_crtc_flush_and_wait_for_flip_done(struct komeda_crtc *kcrtc, + struct completion *input_flip_done); struct komeda_kms_dev *komeda_kms_attach(struct komeda_dev *mdev); void komeda_kms_detach(struct komeda_kms_dev *kms); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/Kconfig +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/Kconfig @@ -78,6 +78,7 @@ config DRM_FSL_LDB tristate "Freescale i.MX8MP LDB bridge" depends on OF + depends on ARCH_MXC || COMPILE_TEST select DRM_KMS_HELPER select DRM_PANEL_BRIDGE help @@ -93,6 +94,8 @@ select DRM_KMS_HELPER select DRM_DP_HELPER select EXTCON + select CRYPTO + select CRYPTO_HASH help ITE IT6505 DisplayPort bridge chip driver. --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/adv7511/adv7511.h +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/adv7511/adv7511.h @@ -226,18 +226,6 @@ #define ADV7511_REG_CEC_CLK_DIV 0x4e #define ADV7511_REG_CEC_SOFT_RESET 0x50 -static const u8 ADV7511_REG_CEC_RX_FRAME_HDR[] = { - ADV7511_REG_CEC_RX1_FRAME_HDR, - ADV7511_REG_CEC_RX2_FRAME_HDR, - ADV7511_REG_CEC_RX3_FRAME_HDR, -}; - -static const u8 ADV7511_REG_CEC_RX_FRAME_LEN[] = { - ADV7511_REG_CEC_RX1_FRAME_LEN, - ADV7511_REG_CEC_RX2_FRAME_LEN, - ADV7511_REG_CEC_RX3_FRAME_LEN, -}; - #define ADV7533_REG_CEC_OFFSET 0x70 enum adv7511_input_clock { @@ -406,10 +394,7 @@ #else static inline int adv7511_cec_init(struct device *dev, struct adv7511 *adv7511) { - unsigned int offset = adv7511->type == ADV7533 ? - ADV7533_REG_CEC_OFFSET : 0; - - regmap_write(adv7511->regmap, ADV7511_REG_CEC_CTRL + offset, + regmap_write(adv7511->regmap, ADV7511_REG_CEC_CTRL, ADV7511_CEC_CTRL_POWER_DOWN); return 0; } @@ -417,7 +402,8 @@ void adv7533_dsi_power_on(struct adv7511 *adv); void adv7533_dsi_power_off(struct adv7511 *adv); -void adv7533_mode_set(struct adv7511 *adv, const struct drm_display_mode *mode); +enum drm_mode_status adv7533_mode_valid(struct adv7511 *adv, + const struct drm_display_mode *mode); int adv7533_patch_registers(struct adv7511 *adv); int adv7533_patch_cec_registers(struct adv7511 *adv); int adv7533_attach_dsi(struct adv7511 *adv); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/adv7511/adv7511_cec.c +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/adv7511/adv7511_cec.c @@ -15,6 +15,18 @@ #include "adv7511.h" +static const u8 ADV7511_REG_CEC_RX_FRAME_HDR[] = { + ADV7511_REG_CEC_RX1_FRAME_HDR, + ADV7511_REG_CEC_RX2_FRAME_HDR, + ADV7511_REG_CEC_RX3_FRAME_HDR, +}; + +static const u8 ADV7511_REG_CEC_RX_FRAME_LEN[] = { + ADV7511_REG_CEC_RX1_FRAME_LEN, + ADV7511_REG_CEC_RX2_FRAME_LEN, + ADV7511_REG_CEC_RX3_FRAME_LEN, +}; + #define ADV7511_INT1_CEC_MASK \ (ADV7511_INT1_CEC_TX_READY | ADV7511_INT1_CEC_TX_ARBIT_LOST | \ ADV7511_INT1_CEC_TX_RETRY_TIMEOUT | ADV7511_INT1_CEC_RX_READY1 | \ @@ -347,7 +359,7 @@ goto err_cec_alloc; } - regmap_write(adv7511->regmap, ADV7511_REG_CEC_CTRL + offset, 0); + regmap_write(adv7511->regmap, ADV7511_REG_CEC_CTRL, 0); /* cec soft reset */ regmap_write(adv7511->regmap_cec, ADV7511_REG_CEC_SOFT_RESET + offset, 0x01); @@ -374,7 +386,7 @@ dev_info(dev, "Initializing CEC failed with error %d, disabling CEC\n", ret); err_cec_parse_dt: - regmap_write(adv7511->regmap, ADV7511_REG_CEC_CTRL + offset, + regmap_write(adv7511->regmap, ADV7511_REG_CEC_CTRL, ADV7511_CEC_CTRL_POWER_DOWN); return ret == -EPROBE_DEFER ? ret : 0; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c @@ -697,7 +697,7 @@ } static enum drm_mode_status adv7511_mode_valid(struct adv7511 *adv7511, - struct drm_display_mode *mode) + const struct drm_display_mode *mode) { if (mode->clock > 165000) return MODE_CLOCK_HIGH; @@ -791,9 +791,6 @@ regmap_update_bits(adv7511->regmap, 0x17, 0x60, (vsync_polarity << 6) | (hsync_polarity << 5)); - if (adv7511->type == ADV7533 || adv7511->type == ADV7535) - adv7533_mode_set(adv7511, adj_mode); - drm_mode_copy(&adv7511->curr_mode, adj_mode); /* @@ -913,6 +910,18 @@ adv7511_mode_set(adv, mode, adj_mode); } +static enum drm_mode_status adv7511_bridge_mode_valid(struct drm_bridge *bridge, + const struct drm_display_info *info, + const struct drm_display_mode *mode) +{ + struct adv7511 *adv = bridge_to_adv7511(bridge); + + if (adv->type == ADV7533 || adv->type == ADV7535) + return adv7533_mode_valid(adv, mode); + else + return adv7511_mode_valid(adv, mode); +} + static int adv7511_bridge_attach(struct drm_bridge *bridge, enum drm_bridge_attach_flags flags) { @@ -960,6 +969,7 @@ .enable = adv7511_bridge_enable, .disable = adv7511_bridge_disable, .mode_set = adv7511_bridge_mode_set, + .mode_valid = adv7511_bridge_mode_valid, .attach = adv7511_bridge_attach, .detect = adv7511_bridge_detect, .get_edid = adv7511_bridge_get_edid, @@ -1065,6 +1075,10 @@ ADV7511_CEC_I2C_ADDR_DEFAULT); if (IS_ERR(adv->i2c_cec)) return PTR_ERR(adv->i2c_cec); + + regmap_write(adv->regmap, ADV7511_REG_CEC_I2C_ADDR, + adv->i2c_cec->addr << 1); + i2c_set_clientdata(adv->i2c_cec, adv); adv->regmap_cec = devm_regmap_init_i2c(adv->i2c_cec, @@ -1271,9 +1285,6 @@ if (ret) goto err_i2c_unregister_packet; - regmap_write(adv7511->regmap, ADV7511_REG_CEC_I2C_ADDR, - adv7511->i2c_cec->addr << 1); - INIT_WORK(&adv7511->hpd_work, adv7511_hpd_work); if (i2c->irq) { @@ -1339,9 +1350,6 @@ { struct adv7511 *adv7511 = i2c_get_clientdata(i2c); - i2c_unregister_device(adv7511->i2c_cec); - clk_disable_unprepare(adv7511->cec_clk); - adv7511_uninit_regulators(adv7511); drm_bridge_remove(&adv7511->bridge); @@ -1349,6 +1357,8 @@ adv7511_audio_exit(adv7511); cec_unregister_adapter(adv7511->cec_adap); + i2c_unregister_device(adv7511->i2c_cec); + clk_disable_unprepare(adv7511->cec_clk); i2c_unregister_device(adv7511->i2c_packet); i2c_unregister_device(adv7511->i2c_edid); @@ -1392,10 +1402,21 @@ static int __init adv7511_init(void) { - if (IS_ENABLED(CONFIG_DRM_MIPI_DSI)) - mipi_dsi_driver_register(&adv7533_dsi_driver); + int ret; + + if (IS_ENABLED(CONFIG_DRM_MIPI_DSI)) { + ret = mipi_dsi_driver_register(&adv7533_dsi_driver); + if (ret) + return ret; + } + + ret = i2c_add_driver(&adv7511_driver); + if (ret) { + if (IS_ENABLED(CONFIG_DRM_MIPI_DSI)) + mipi_dsi_driver_unregister(&adv7533_dsi_driver); + } - return i2c_add_driver(&adv7511_driver); + return ret; } module_init(adv7511_init); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/adv7511/adv7533.c +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/adv7511/adv7533.c @@ -100,26 +100,27 @@ regmap_write(adv->regmap_cec, 0x27, 0x0b); } -void adv7533_mode_set(struct adv7511 *adv, const struct drm_display_mode *mode) +enum drm_mode_status adv7533_mode_valid(struct adv7511 *adv, + const struct drm_display_mode *mode) { + int lanes; struct mipi_dsi_device *dsi = adv->dsi; - int lanes, ret; - - if (adv->num_dsi_lanes != 4) - return; if (mode->clock > 80000) lanes = 4; else lanes = 3; - if (lanes != dsi->lanes) { - mipi_dsi_detach(dsi); - dsi->lanes = lanes; - ret = mipi_dsi_attach(dsi); - if (ret) - dev_err(&dsi->dev, "failed to change host lanes\n"); - } + /* + * TODO: add support for dynamic switching of lanes + * by using the bridge pre_enable() op . Till then filter + * out the modes which shall need different number of lanes + * than what was configured in the device tree. + */ + if (lanes != dsi->lanes) + return MODE_BAD; + + return MODE_OK; } int adv7533_patch_registers(struct adv7511 *adv) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/analogix/analogix_dp_core.c @@ -1863,12 +1863,6 @@ int analogix_dp_suspend(struct analogix_dp_device *dp) { clk_disable_unprepare(dp->clock); - - if (dp->plat_data->panel) { - if (drm_panel_unprepare(dp->plat_data->panel)) - DRM_ERROR("failed to turnoff the panel\n"); - } - return 0; } EXPORT_SYMBOL_GPL(analogix_dp_suspend); @@ -1883,13 +1877,6 @@ return ret; } - if (dp->plat_data->panel) { - if (drm_panel_prepare(dp->plat_data->panel)) { - DRM_ERROR("failed to setup the panel\n"); - return -EBUSY; - } - } - return 0; } EXPORT_SYMBOL_GPL(analogix_dp_resume); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/analogix/anx7625.c +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/analogix/anx7625.c @@ -1624,6 +1624,7 @@ anx7625_get_swing_setting(dev, pdata); pdata->is_dpi = 1; /* default dpi mode */ + of_node_put(pdata->mipi_host_node); pdata->mipi_host_node = of_graph_get_remote_node(np, 0, 0); if (!pdata->mipi_host_node) { DRM_DEV_ERROR(dev, "fail to get internal panel.\n"); @@ -1657,8 +1658,10 @@ pdata->panel_bridge = devm_drm_of_get_bridge(dev, np, 1, 0); if (IS_ERR(pdata->panel_bridge)) { - if (PTR_ERR(pdata->panel_bridge) == -ENODEV) + if (PTR_ERR(pdata->panel_bridge) == -ENODEV) { + pdata->panel_bridge = NULL; return 0; + } return PTR_ERR(pdata->panel_bridge); } @@ -2654,14 +2657,6 @@ platform->aux.dev = dev; platform->aux.transfer = anx7625_aux_transfer; drm_dp_aux_init(&platform->aux); - devm_of_dp_aux_populate_ep_devices(&platform->aux); - - ret = anx7625_parse_dt(dev, pdata); - if (ret) { - if (ret != -EPROBE_DEFER) - DRM_DEV_ERROR(dev, "fail to parse DT : %d\n", ret); - goto free_wq; - } if (anx7625_register_i2c_dummy_clients(platform, client) != 0) { ret = -ENOMEM; @@ -2677,6 +2672,15 @@ if (ret) goto free_wq; + devm_of_dp_aux_populate_ep_devices(&platform->aux); + + ret = anx7625_parse_dt(dev, pdata); + if (ret) { + if (ret != -EPROBE_DEFER) + DRM_DEV_ERROR(dev, "fail to parse DT : %d\n", ret); + goto free_wq; + } + if (!platform->pdata.low_power_mode) { anx7625_disable_pd_protocol(platform); pm_runtime_get_sync(dev); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/ite-it6505.c +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/ite-it6505.c @@ -2854,10 +2854,7 @@ } /* Register aux channel */ - it6505->aux.name = "DP-AUX"; - it6505->aux.dev = dev; it6505->aux.drm_dev = bridge->dev; - it6505->aux.transfer = it6505_aux_transfer; ret = drm_dp_aux_register(&it6505->aux); @@ -2954,6 +2951,9 @@ it6505_int_mask_enable(it6505); it6505_video_reset(it6505); + + it6505_drm_dp_link_set_power(&it6505->aux, &it6505->link, + DP_SET_POWER_D0); } static void it6505_bridge_atomic_disable(struct drm_bridge *bridge, @@ -2965,9 +2965,9 @@ DRM_DEV_DEBUG_DRIVER(dev, "start"); if (it6505->powered) { - it6505_video_disable(it6505); it6505_drm_dp_link_set_power(&it6505->aux, &it6505->link, DP_SET_POWER_D3); + it6505_video_disable(it6505); } } @@ -3307,6 +3307,11 @@ DRM_DEV_DEBUG_DRIVER(dev, "it6505 device name: %s", dev_name(dev)); debugfs_init(it6505); + it6505->aux.name = "DP-AUX"; + it6505->aux.dev = dev; + it6505->aux.transfer = it6505_aux_transfer; + drm_dp_aux_init(&it6505->aux); + it6505->bridge.funcs = &it6505_bridge_funcs; it6505->bridge.type = DRM_MODE_CONNECTOR_DisplayPort; it6505->bridge.ops = DRM_BRIDGE_OP_DETECT | DRM_BRIDGE_OP_EDID | --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/lontium-lt8912b.c +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/lontium-lt8912b.c @@ -186,7 +186,7 @@ {0x03, 0xff}, }; - return regmap_multi_reg_write(lt->regmap[I2C_CEC_DSI], seq, ARRAY_SIZE(seq)); + return regmap_multi_reg_write(lt->regmap[I2C_MAIN], seq, ARRAY_SIZE(seq)); }; static inline struct lt8912 *bridge_to_lt8912(struct drm_bridge *b) @@ -266,7 +266,7 @@ u32 hactive, h_total, hpw, hfp, hbp; u32 vactive, v_total, vpw, vfp, vbp; u8 settle = 0x08; - int ret; + int ret, hsync_activehigh, vsync_activehigh; if (!lt) return -EINVAL; @@ -276,12 +276,14 @@ hpw = lt->mode.hsync_len; hbp = lt->mode.hback_porch; h_total = hactive + hfp + hpw + hbp; + hsync_activehigh = lt->mode.flags & DISPLAY_FLAGS_HSYNC_HIGH; vactive = lt->mode.vactive; vfp = lt->mode.vfront_porch; vpw = lt->mode.vsync_len; vbp = lt->mode.vback_porch; v_total = vactive + vfp + vpw + vbp; + vsync_activehigh = lt->mode.flags & DISPLAY_FLAGS_VSYNC_HIGH; if (vactive <= 600) settle = 0x04; @@ -315,6 +317,13 @@ ret |= regmap_write(lt->regmap[I2C_CEC_DSI], 0x3e, hfp & 0xff); ret |= regmap_write(lt->regmap[I2C_CEC_DSI], 0x3f, hfp >> 8); + ret |= regmap_update_bits(lt->regmap[I2C_MAIN], 0xab, BIT(0), + vsync_activehigh ? BIT(0) : 0); + ret |= regmap_update_bits(lt->regmap[I2C_MAIN], 0xab, BIT(1), + hsync_activehigh ? BIT(1) : 0); + ret |= regmap_update_bits(lt->regmap[I2C_MAIN], 0xb2, BIT(0), + lt->connector.display_info.is_hdmi ? BIT(0) : 0); + return ret; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/lontium-lt9611.c +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/lontium-lt9611.c @@ -185,12 +185,14 @@ regmap_write(lt9611->regmap, 0x8319, (u8)(hfront_porch % 256)); - regmap_write(lt9611->regmap, 0x831a, (u8)(hsync_porch / 256)); + regmap_write(lt9611->regmap, 0x831a, (u8)(hsync_porch / 256) | + ((hfront_porch / 256) << 4)); regmap_write(lt9611->regmap, 0x831b, (u8)(hsync_porch % 256)); } -static void lt9611_pcr_setup(struct lt9611 *lt9611, const struct drm_display_mode *mode) +static void lt9611_pcr_setup(struct lt9611 *lt9611, const struct drm_display_mode *mode, unsigned int postdiv) { + unsigned int pcr_m = mode->clock * 5 * postdiv / 27000; const struct reg_sequence reg_cfg[] = { { 0x830b, 0x01 }, { 0x830c, 0x10 }, @@ -205,7 +207,6 @@ /* stage 2 */ { 0x834a, 0x40 }, - { 0x831d, 0x10 }, /* MK limit */ { 0x832d, 0x38 }, @@ -220,30 +221,28 @@ { 0x8325, 0x00 }, { 0x832a, 0x01 }, { 0x834a, 0x10 }, - { 0x831d, 0x10 }, - { 0x8326, 0x37 }, }; + u8 pol = 0x10; - regmap_multi_reg_write(lt9611->regmap, reg_cfg, ARRAY_SIZE(reg_cfg)); + if (mode->flags & DRM_MODE_FLAG_NHSYNC) + pol |= 0x2; + if (mode->flags & DRM_MODE_FLAG_NVSYNC) + pol |= 0x1; + regmap_write(lt9611->regmap, 0x831d, pol); - switch (mode->hdisplay) { - case 640: - regmap_write(lt9611->regmap, 0x8326, 0x14); - break; - case 1920: - regmap_write(lt9611->regmap, 0x8326, 0x37); - break; - case 3840: + if (mode->hdisplay == 3840) regmap_multi_reg_write(lt9611->regmap, reg_cfg2, ARRAY_SIZE(reg_cfg2)); - break; - } + else + regmap_multi_reg_write(lt9611->regmap, reg_cfg, ARRAY_SIZE(reg_cfg)); + + regmap_write(lt9611->regmap, 0x8326, pcr_m); /* pcr rst */ regmap_write(lt9611->regmap, 0x8011, 0x5a); regmap_write(lt9611->regmap, 0x8011, 0xfa); } -static int lt9611_pll_setup(struct lt9611 *lt9611, const struct drm_display_mode *mode) +static int lt9611_pll_setup(struct lt9611 *lt9611, const struct drm_display_mode *mode, unsigned int *postdiv) { unsigned int pclk = mode->clock; const struct reg_sequence reg_cfg[] = { @@ -261,12 +260,16 @@ regmap_multi_reg_write(lt9611->regmap, reg_cfg, ARRAY_SIZE(reg_cfg)); - if (pclk > 150000) + if (pclk > 150000) { regmap_write(lt9611->regmap, 0x812d, 0x88); - else if (pclk > 70000) + *postdiv = 1; + } else if (pclk > 70000) { regmap_write(lt9611->regmap, 0x812d, 0x99); - else + *postdiv = 2; + } else { regmap_write(lt9611->regmap, 0x812d, 0xaa); + *postdiv = 4; + } /* * first divide pclk by 2 first @@ -446,12 +449,11 @@ { 0x8023, 0x01 }, { 0x8157, 0x03 }, /* set addr pin as output */ { 0x8149, 0x0b }, - { 0x8151, 0x30 }, /* disable IRQ */ + { 0x8102, 0x48 }, /* MIPI Rx power down */ { 0x8123, 0x80 }, { 0x8130, 0x00 }, - { 0x8100, 0x01 }, /* bandgap power down */ - { 0x8101, 0x00 }, /* system clk power down */ + { 0x8011, 0x0a }, }; regmap_multi_reg_write(lt9611->regmap, @@ -586,7 +588,7 @@ int connected = 0; regmap_read(lt9611->regmap, 0x825e, ®_val); - connected = (reg_val & BIT(0)); + connected = (reg_val & (BIT(2) | BIT(0))); lt9611->status = connected ? connector_status_connected : connector_status_disconnected; @@ -761,7 +763,7 @@ static struct mipi_dsi_device *lt9611_attach_dsi(struct lt9611 *lt9611, struct device_node *dsi_node) { - const struct mipi_dsi_device_info info = { "lt9611", 0, NULL }; + const struct mipi_dsi_device_info info = { "lt9611", 0, lt9611->dev->of_node}; struct mipi_dsi_device *dsi; struct mipi_dsi_host *host; struct device *dev = lt9611->dev; @@ -807,13 +809,14 @@ drm_connector_helper_add(<9611->connector, <9611_bridge_connector_helper_funcs); - drm_connector_attach_encoder(<9611->connector, bridge->encoder); if (!bridge->encoder) { DRM_ERROR("Parent encoder object not found"); return -ENODEV; } + drm_connector_attach_encoder(<9611->connector, bridge->encoder); + return 0; } @@ -850,12 +853,18 @@ static void lt9611_bridge_pre_enable(struct drm_bridge *bridge) { struct lt9611 *lt9611 = bridge_to_lt9611(bridge); + static const struct reg_sequence reg_cfg[] = { + { 0x8102, 0x12 }, + { 0x8123, 0x40 }, + { 0x8130, 0xea }, + { 0x8011, 0xfa }, + }; if (!lt9611->sleep) return; - lt9611_reset(lt9611); - regmap_write(lt9611->regmap, 0x80ee, 0x01); + regmap_multi_reg_write(lt9611->regmap, + reg_cfg, ARRAY_SIZE(reg_cfg)); lt9611->sleep = false; } @@ -875,14 +884,15 @@ { struct lt9611 *lt9611 = bridge_to_lt9611(bridge); struct hdmi_avi_infoframe avi_frame; + unsigned int postdiv; int ret; lt9611_bridge_pre_enable(bridge); lt9611_mipi_input_digital(lt9611, mode); - lt9611_pll_setup(lt9611, mode); + lt9611_pll_setup(lt9611, mode, &postdiv); lt9611_mipi_video_setup(lt9611, mode); - lt9611_pcr_setup(lt9611, mode); + lt9611_pcr_setup(lt9611, mode, postdiv); ret = drm_hdmi_avi_infoframe_from_display_mode(&avi_frame, <9611->connector, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/lontium-lt9611uxc.c +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/lontium-lt9611uxc.c @@ -982,7 +982,7 @@ struct lt9611uxc *lt9611uxc = i2c_get_clientdata(client); disable_irq(client->irq); - flush_scheduled_work(); + cancel_work_sync(<9611uxc->work); lt9611uxc_audio_exit(lt9611uxc); drm_bridge_remove(<9611uxc->bridge); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/lvds-codec.c +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/lvds-codec.c @@ -180,7 +180,7 @@ of_node_put(bus_node); if (ret == -ENODEV) { dev_warn(dev, "missing 'data-mapping' DT property\n"); - } else if (ret) { + } else if (ret < 0) { dev_err(dev, "invalid 'data-mapping' DT property\n"); return ret; } else { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c @@ -296,7 +296,9 @@ * This check is to avoid both the drivers * removing the bridge in their remove() function */ - if (!ge_b850v3_lvds_ptr) + if (!ge_b850v3_lvds_ptr || + !ge_b850v3_lvds_ptr->stdp2690_i2c || + !ge_b850v3_lvds_ptr->stdp4028_i2c) goto out; drm_bridge_remove(&ge_b850v3_lvds_ptr->bridge); @@ -442,7 +444,11 @@ if (ret) return ret; - return i2c_add_driver(&stdp2690_ge_b850v3_fw_driver); + ret = i2c_add_driver(&stdp2690_ge_b850v3_fw_driver); + if (ret) + i2c_del_driver(&stdp4028_ge_b850v3_fw_driver); + + return ret; } module_init(stdpxxxx_ge_b850v3_init); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/parade-ps8640.c +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/parade-ps8640.c @@ -596,8 +596,8 @@ if (!ps_bridge) return -ENOMEM; - ps_bridge->supplies[0].supply = "vdd33"; - ps_bridge->supplies[1].supply = "vdd12"; + ps_bridge->supplies[0].supply = "vdd12"; + ps_bridge->supplies[1].supply = "vdd33"; ret = devm_regulator_bulk_get(dev, ARRAY_SIZE(ps_bridge->supplies), ps_bridge->supplies); if (ret) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/sil-sii8620.c +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/sil-sii8620.c @@ -605,7 +605,7 @@ u8 *buf = &ctx->burst.tx_buf[ctx->burst.tx_count]; int size = len + 2; - if (ctx->burst.tx_count + size > ARRAY_SIZE(ctx->burst.tx_buf)) { + if (ctx->burst.tx_count + size >= ARRAY_SIZE(ctx->burst.tx_buf)) { dev_err(ctx->dev, "TX-BLK buffer exhausted\n"); ctx->error = -EINVAL; return NULL; @@ -622,7 +622,7 @@ u8 *buf = &ctx->burst.rx_buf[ctx->burst.rx_count]; int size = len + 1; - if (ctx->burst.tx_count + size > ARRAY_SIZE(ctx->burst.tx_buf)) { + if (ctx->burst.rx_count + size >= ARRAY_SIZE(ctx->burst.rx_buf)) { dev_err(ctx->dev, "RX-BLK buffer exhausted\n"); ctx->error = -EINVAL; return NULL; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -2719,6 +2719,9 @@ * if supported. In any case the default RGB888 format is added */ + /* Default 8bit RGB fallback */ + output_fmts[i++] = MEDIA_BUS_FMT_RGB888_1X24; + if (max_bpc >= 16 && info->bpc == 16) { if (info->color_formats & DRM_COLOR_FORMAT_YCBCR444) output_fmts[i++] = MEDIA_BUS_FMT_YUV16_1X48; @@ -2752,9 +2755,6 @@ if (info->color_formats & DRM_COLOR_FORMAT_YCBCR444) output_fmts[i++] = MEDIA_BUS_FMT_YUV8_1X24; - /* Default 8bit RGB fallback */ - output_fmts[i++] = MEDIA_BUS_FMT_RGB888_1X24; - *num_output_fmts = i; return output_fmts; @@ -3095,6 +3095,7 @@ { struct dw_hdmi *hdmi = dev_id; u8 intr_stat, phy_int_pol, phy_pol_mask, phy_stat; + enum drm_connector_status status = connector_status_unknown; intr_stat = hdmi_readb(hdmi, HDMI_IH_PHY_STAT0); phy_int_pol = hdmi_readb(hdmi, HDMI_PHY_POL0); @@ -3133,13 +3134,15 @@ cec_notifier_phys_addr_invalidate(hdmi->cec_notifier); mutex_unlock(&hdmi->cec_notifier_mutex); } - } - if (intr_stat & HDMI_IH_PHY_STAT0_HPD) { - enum drm_connector_status status = phy_int_pol & HDMI_PHY_HPD - ? connector_status_connected - : connector_status_disconnected; + if (phy_stat & HDMI_PHY_HPD) + status = connector_status_connected; + + if (!(phy_stat & (HDMI_PHY_HPD | HDMI_PHY_RX_SENSE))) + status = connector_status_disconnected; + } + if (status != connector_status_unknown) { dev_dbg(hdmi->dev, "EVENT=%s\n", status == connector_status_connected ? "plugin" : "plugout"); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/tc358767.c +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/tc358767.c @@ -1871,7 +1871,7 @@ of_node_put(host_node); of_node_put(endpoint); - if (dsi_lanes < 0 || dsi_lanes > 4) + if (dsi_lanes <= 0 || dsi_lanes > 4) return -EINVAL; if (!host) @@ -1986,9 +1986,10 @@ for_each_endpoint_of_node(dev->of_node, node) { of_graph_parse_endpoint(node, &endpoint); - if (endpoint.port > 2) + if (endpoint.port > 2) { + of_node_put(node); return -EINVAL; - + } mode |= BIT(endpoint.port); } @@ -2004,6 +2005,13 @@ return -EINVAL; } +static void tc_clk_disable(void *data) +{ + struct clk *refclk = data; + + clk_disable_unprepare(refclk); +} + static int tc_probe(struct i2c_client *client, const struct i2c_device_id *id) { struct device *dev = &client->dev; @@ -2020,6 +2028,24 @@ if (ret) return ret; + tc->refclk = devm_clk_get(dev, "ref"); + if (IS_ERR(tc->refclk)) { + ret = PTR_ERR(tc->refclk); + dev_err(dev, "Failed to get refclk: %d\n", ret); + return ret; + } + + ret = clk_prepare_enable(tc->refclk); + if (ret) + return ret; + + ret = devm_add_action_or_reset(dev, tc_clk_disable, tc->refclk); + if (ret) + return ret; + + /* tRSTW = 100 cycles , at 13 MHz that is ~7.69 us */ + usleep_range(10, 15); + /* Shut down GPIO is optional */ tc->sd_gpio = devm_gpiod_get_optional(dev, "shutdown", GPIOD_OUT_HIGH); if (IS_ERR(tc->sd_gpio)) @@ -2040,13 +2066,6 @@ usleep_range(5000, 10000); } - tc->refclk = devm_clk_get(dev, "ref"); - if (IS_ERR(tc->refclk)) { - ret = PTR_ERR(tc->refclk); - dev_err(dev, "Failed to get refclk: %d\n", ret); - return ret; - } - tc->regmap = devm_regmap_init_i2c(client, &tc_regmap_config); if (IS_ERR(tc->regmap)) { ret = PTR_ERR(tc->regmap); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/ti-sn65dsi83.c +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/ti-sn65dsi83.c @@ -349,6 +349,8 @@ gpiod_set_value(ctx->enable_gpio, 1); usleep_range(1000, 1100); + usleep_range(10000, 11000); + /* Get the LVDS format from the bridge state. */ bridge_state = drm_atomic_get_new_bridge_state(state, bridge); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/bridge/ti-sn65dsi86.c +++ linux-gcp-5.19.0/drivers/gpu/drm/bridge/ti-sn65dsi86.c @@ -905,9 +905,9 @@ &pdata->bridge.encoder->crtc->state->adjusted_mode; u8 hsync_polarity = 0, vsync_polarity = 0; - if (mode->flags & DRM_MODE_FLAG_PHSYNC) + if (mode->flags & DRM_MODE_FLAG_NHSYNC) hsync_polarity = CHA_HSYNC_POLARITY; - if (mode->flags & DRM_MODE_FLAG_PVSYNC) + if (mode->flags & DRM_MODE_FLAG_NVSYNC) vsync_polarity = CHA_VSYNC_POLARITY; ti_sn65dsi86_write_u16(pdata, SN_CHA_ACTIVE_LINE_LENGTH_LOW_REG, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/display/Kconfig +++ linux-gcp-5.19.0/drivers/gpu/drm/display/Kconfig @@ -3,7 +3,7 @@ config DRM_DP_AUX_BUS tristate depends on DRM - depends on OF + depends on OF || COMPILE_TEST config DRM_DISPLAY_HELPER tristate --- linux-gcp-5.19.0.orig/drivers/gpu/drm/display/drm_dp_aux_bus.c +++ linux-gcp-5.19.0/drivers/gpu/drm/display/drm_dp_aux_bus.c @@ -66,7 +66,6 @@ * @dev: The device to remove. * * Calls through to the endpoint driver remove. - * */ static void dp_aux_ep_remove(struct device *dev) { @@ -120,8 +119,6 @@ /** * dp_aux_ep_dev_release() - Free memory for the dp_aux_ep device * @dev: The device to free. - * - * Return: 0 if no error or negative error code. */ static void dp_aux_ep_dev_release(struct device *dev) { @@ -256,6 +253,7 @@ return 0; } +EXPORT_SYMBOL_GPL(of_dp_aux_populate_ep_devices); static void of_dp_aux_depopulate_ep_devices_void(void *data) { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/display/drm_dp_dual_mode_helper.c +++ linux-gcp-5.19.0/drivers/gpu/drm/display/drm_dp_dual_mode_helper.c @@ -63,23 +63,45 @@ ssize_t drm_dp_dual_mode_read(struct i2c_adapter *adapter, u8 offset, void *buffer, size_t size) { + u8 zero = 0; + char *tmpbuf = NULL; + /* + * As sub-addressing is not supported by all adaptors, + * always explicitly read from the start and discard + * any bytes that come before the requested offset. + * This way, no matter whether the adaptor supports it + * or not, we'll end up reading the proper data. + */ struct i2c_msg msgs[] = { { .addr = DP_DUAL_MODE_SLAVE_ADDRESS, .flags = 0, .len = 1, - .buf = &offset, + .buf = &zero, }, { .addr = DP_DUAL_MODE_SLAVE_ADDRESS, .flags = I2C_M_RD, - .len = size, + .len = size + offset, .buf = buffer, }, }; int ret; + if (offset) { + tmpbuf = kmalloc(size + offset, GFP_KERNEL); + if (!tmpbuf) + return -ENOMEM; + + msgs[1].buf = tmpbuf; + } + ret = i2c_transfer(adapter, msgs, ARRAY_SIZE(msgs)); + if (tmpbuf) + memcpy(buffer, tmpbuf + offset, size); + + kfree(tmpbuf); + if (ret < 0) return ret; if (ret != ARRAY_SIZE(msgs)) @@ -208,18 +230,6 @@ if (ret) return DRM_DP_DUAL_MODE_UNKNOWN; - /* - * Sigh. Some (maybe all?) type 1 adaptors are broken and ack - * the offset but ignore it, and instead they just always return - * data from the start of the HDMI ID buffer. So for a broken - * type 1 HDMI adaptor a single byte read will always give us - * 0x44, and for a type 1 DVI adaptor it should give 0x00 - * (assuming it implements any registers). Fortunately neither - * of those values will match the type 2 signature of the - * DP_DUAL_MODE_ADAPTOR_ID register so we can proceed with - * the type 2 adaptor detection safely even in the presence - * of broken type 1 adaptors. - */ ret = drm_dp_dual_mode_read(adapter, DP_DUAL_MODE_ADAPTOR_ID, &adaptor_id, sizeof(adaptor_id)); drm_dbg_kms(dev, "DP dual mode adaptor ID: %02x (err %zd)\n", adaptor_id, ret); @@ -233,11 +243,10 @@ return DRM_DP_DUAL_MODE_TYPE2_DVI; } /* - * If neither a proper type 1 ID nor a broken type 1 adaptor - * as described above, assume type 1, but let the user know - * that we may have misdetected the type. + * If not a proper type 1 ID, still assume type 1, but let + * the user know that we may have misdetected the type. */ - if (!is_type1_adaptor(adaptor_id) && adaptor_id != hdmi_id[0]) + if (!is_type1_adaptor(adaptor_id)) drm_err(dev, "Unexpected DP dual mode adaptor ID %02x\n", adaptor_id); } @@ -343,10 +352,8 @@ * @enable: enable (as opposed to disable) the TMDS output buffers * * Set the state of the TMDS output buffers in the adaptor. For - * type2 this is set via the DP_DUAL_MODE_TMDS_OEN register. As - * some type 1 adaptors have problems with registers (see comments - * in drm_dp_dual_mode_detect()) we avoid touching the register, - * making this function a no-op on type 1 adaptors. + * type2 this is set via the DP_DUAL_MODE_TMDS_OEN register. + * Type1 adaptors do not support any register writes. * * Returns: * 0 on success, negative error code on failure --- linux-gcp-5.19.0.orig/drivers/gpu/drm/display/drm_dp_helper.c +++ linux-gcp-5.19.0/drivers/gpu/drm/display/drm_dp_helper.c @@ -2636,17 +2636,8 @@ struct drm_dp_phy_test_params *data, u8 dp_rev) { int err, i; - u8 link_config[2]; u8 test_pattern; - link_config[0] = drm_dp_link_rate_to_bw_code(data->link_rate); - link_config[1] = data->num_lanes; - if (data->enhanced_frame_cap) - link_config[1] |= DP_LANE_COUNT_ENHANCED_FRAME_EN; - err = drm_dp_dpcd_write(aux, DP_LINK_BW_SET, link_config, 2); - if (err < 0) - return err; - test_pattern = data->phy_pattern; if (dp_rev < 0x12) { test_pattern = (test_pattern << 2) & --- linux-gcp-5.19.0.orig/drivers/gpu/drm/display/drm_dp_mst_topology.c +++ linux-gcp-5.19.0/drivers/gpu/drm/display/drm_dp_mst_topology.c @@ -3860,9 +3860,7 @@ if (!mgr->mst_primary) goto out_fail; - ret = drm_dp_dpcd_read(mgr->aux, DP_DPCD_REV, mgr->dpcd, - DP_RECEIVER_CAP_SIZE); - if (ret != DP_RECEIVER_CAP_SIZE) { + if (drm_dp_read_dpcd_caps(mgr->aux, mgr->dpcd) < 0) { drm_dbg_kms(mgr->dev, "dpcd read failed - undocked during suspend?\n"); goto out_fail; } @@ -4911,22 +4909,21 @@ u8 buf[DP_PAYLOAD_TABLE_SIZE]; int ret; - ret = drm_dp_dpcd_read(mgr->aux, DP_DPCD_REV, buf, DP_RECEIVER_CAP_SIZE); - if (ret) { + if (drm_dp_read_dpcd_caps(mgr->aux, buf) < 0) { seq_printf(m, "dpcd read failed\n"); goto out; } seq_printf(m, "dpcd: %*ph\n", DP_RECEIVER_CAP_SIZE, buf); ret = drm_dp_dpcd_read(mgr->aux, DP_FAUX_CAP, buf, 2); - if (ret) { + if (ret != 2) { seq_printf(m, "faux/mst read failed\n"); goto out; } seq_printf(m, "faux/mst: %*ph\n", 2, buf); ret = drm_dp_dpcd_read(mgr->aux, DP_MSTM_CTRL, buf, 1); - if (ret) { + if (ret != 1) { seq_printf(m, "mst ctrl read failed\n"); goto out; } @@ -4934,7 +4931,7 @@ /* dump the standard OUI branch header */ ret = drm_dp_dpcd_read(mgr->aux, DP_BRANCH_OUI, buf, DP_BRANCH_OUI_HEADER_SIZE); - if (ret) { + if (ret != DP_BRANCH_OUI_HEADER_SIZE) { seq_printf(m, "branch oui read failed\n"); goto out; } @@ -5305,7 +5302,7 @@ mst_state = drm_atomic_get_mst_topology_state(state, mgr); if (IS_ERR(mst_state)) - return -EINVAL; + return PTR_ERR(mst_state); list_for_each_entry(pos, &mst_state->vcpis, next) { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/drm_bridge.c +++ linux-gcp-5.19.0/drivers/gpu/drm/drm_bridge.c @@ -823,8 +823,8 @@ struct drm_connector_state *conn_state, u32 out_bus_fmt) { + unsigned int i, num_in_bus_fmts = 0; struct drm_bridge_state *cur_state; - unsigned int num_in_bus_fmts, i; struct drm_bridge *prev_bridge; u32 *in_bus_fmts; int ret; @@ -945,7 +945,7 @@ struct drm_connector *conn = conn_state->connector; struct drm_encoder *encoder = bridge->encoder; struct drm_bridge_state *last_bridge_state; - unsigned int i, num_out_bus_fmts; + unsigned int i, num_out_bus_fmts = 0; struct drm_bridge *last_bridge; u32 *out_bus_fmts; int ret = 0; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/drm_connector.c +++ linux-gcp-5.19.0/drivers/gpu/drm/drm_connector.c @@ -504,6 +504,9 @@ mutex_destroy(&connector->mutex); memset(connector, 0, sizeof(*connector)); + + if (dev->registered) + drm_sysfs_hotplug_event(dev); } EXPORT_SYMBOL(drm_connector_cleanup); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/drm_drv.c +++ linux-gcp-5.19.0/drivers/gpu/drm/drm_drv.c @@ -615,7 +615,7 @@ mutex_init(&dev->clientlist_mutex); mutex_init(&dev->master_mutex); - ret = drmm_add_action(dev, drm_dev_init_release, NULL); + ret = drmm_add_action_or_reset(dev, drm_dev_init_release, NULL); if (ret) return ret; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/drm_edid.c +++ linux-gcp-5.19.0/drivers/gpu/drm/drm_edid.c @@ -4577,6 +4577,51 @@ return true; } +static void drm_calculate_luminance_range(struct drm_connector *connector) +{ + struct hdr_static_metadata *hdr_metadata = &connector->hdr_sink_metadata.hdmi_type1; + struct drm_luminance_range_info *luminance_range = + &connector->display_info.luminance_range; + static const u8 pre_computed_values[] = { + 50, 51, 52, 53, 55, 56, 57, 58, 59, 61, 62, 63, 65, 66, 68, 69, + 71, 72, 74, 75, 77, 79, 81, 82, 84, 86, 88, 90, 92, 94, 96, 98 + }; + u32 max_avg, min_cll, max, min, q, r; + + if (!(hdr_metadata->metadata_type & BIT(HDMI_STATIC_METADATA_TYPE1))) + return; + + max_avg = hdr_metadata->max_fall; + min_cll = hdr_metadata->min_cll; + + /* + * From the specification (CTA-861-G), for calculating the maximum + * luminance we need to use: + * Luminance = 50*2**(CV/32) + * Where CV is a one-byte value. + * For calculating this expression we may need float point precision; + * to avoid this complexity level, we take advantage that CV is divided + * by a constant. From the Euclids division algorithm, we know that CV + * can be written as: CV = 32*q + r. Next, we replace CV in the + * Luminance expression and get 50*(2**q)*(2**(r/32)), hence we just + * need to pre-compute the value of r/32. For pre-computing the values + * We just used the following Ruby line: + * (0...32).each {|cv| puts (50*2**(cv/32.0)).round} + * The results of the above expressions can be verified at + * pre_computed_values. + */ + q = max_avg >> 5; + r = max_avg % 32; + max = (1 << q) * pre_computed_values[r]; + + /* min luminance: maxLum * (CV/255)^2 / 100 */ + q = DIV_ROUND_CLOSEST(min_cll, 255); + min = max * DIV_ROUND_CLOSEST((q * q), 100); + + luminance_range->min_luminance = min; + luminance_range->max_luminance = max; +} + static uint8_t eotf_supported(const u8 *edid_ext) { return edid_ext[2] & @@ -4608,8 +4653,12 @@ connector->hdr_sink_metadata.hdmi_type1.max_cll = db[4]; if (len >= 5) connector->hdr_sink_metadata.hdmi_type1.max_fall = db[5]; - if (len >= 6) + if (len >= 6) { connector->hdr_sink_metadata.hdmi_type1.min_cll = db[6]; + + /* Calculate only when all values are available */ + drm_calculate_luminance_range(connector); + } } static void @@ -5183,7 +5232,8 @@ else if (hf_vsdb[11] & DRM_EDID_DSC_10BPC) hdmi_dsc->bpc_supported = 10; else - hdmi_dsc->bpc_supported = 0; + /* Supports min 8 BPC if DSC 1.2 is supported*/ + hdmi_dsc->bpc_supported = 8; dsc_max_frl_rate = (hf_vsdb[12] & DRM_EDID_DSC_MAX_FRL_RATE_MASK) >> 4; drm_get_max_frl_rate(dsc_max_frl_rate, &hdmi_dsc->max_lanes, @@ -5508,6 +5558,7 @@ info->non_desktop = 0; memset(&info->monitor_range, 0, sizeof(info->monitor_range)); + memset(&info->luminance_range, 0, sizeof(info->luminance_range)); info->mso_stream_count = 0; info->mso_pixel_overlap = 0; @@ -5697,6 +5748,7 @@ u32 quirks; if (edid == NULL) { + drm_reset_display_info(connector); clear_eld(connector); return 0; } @@ -5878,8 +5930,6 @@ static u8 drm_mode_cea_vic(const struct drm_connector *connector, const struct drm_display_mode *mode) { - u8 vic; - /* * HDMI spec says if a mode is found in HDMI 1.4b 4K modes * we should send its VIC in vendor infoframes, else send the @@ -5889,13 +5939,18 @@ if (drm_mode_hdmi_vic(connector, mode)) return 0; - vic = drm_match_cea_mode(mode); + return drm_match_cea_mode(mode); +} - /* - * HDMI 1.4 VIC range: 1 <= VIC <= 64 (CEA-861-D) but - * HDMI 2.0 VIC range: 1 <= VIC <= 107 (CEA-861-F). So we - * have to make sure we dont break HDMI 1.4 sinks. - */ +/* + * Avoid sending VICs defined in HDMI 2.0 in AVI infoframes to sinks that + * conform to HDMI 1.4. + * + * HDMI 1.4 (CTA-861-D) VIC range: [1..64] + * HDMI 2.0 (CTA-861-F) VIC range: [1..107] + */ +static u8 vic_for_avi_infoframe(const struct drm_connector *connector, u8 vic) +{ if (!is_hdmi2_sink(connector) && vic > 64) return 0; @@ -5971,7 +6026,7 @@ picture_aspect = HDMI_PICTURE_ASPECT_NONE; } - frame->video_code = vic; + frame->video_code = vic_for_avi_infoframe(connector, vic); frame->picture_aspect = picture_aspect; frame->active_aspect = HDMI_ACTIVE_ASPECT_PICTURE; frame->scan_mode = HDMI_SCAN_MODE_UNDERSCAN; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/drm_fb_helper.c +++ linux-gcp-5.19.0/drivers/gpu/drm/drm_fb_helper.c @@ -680,7 +680,11 @@ schedule_work(&helper->damage_work); } -/* Convert memory region into area of scanlines and pixels per scanline */ +/* + * Convert memory region into area of scanlines and pixels per + * scanline. The parameters off and len must not reach beyond + * the end of the framebuffer. + */ static void drm_fb_helper_memory_range_to_clip(struct fb_info *info, off_t off, size_t len, struct drm_rect *clip) { @@ -715,22 +719,29 @@ */ void drm_fb_helper_deferred_io(struct fb_info *info, struct list_head *pagereflist) { - unsigned long start, end, min, max; + unsigned long start, end, min_off, max_off; struct fb_deferred_io_pageref *pageref; struct drm_rect damage_area; - min = ULONG_MAX; - max = 0; + min_off = ULONG_MAX; + max_off = 0; list_for_each_entry(pageref, pagereflist, list) { start = pageref->offset; end = start + PAGE_SIZE; - min = min(min, start); - max = max(max, end); + min_off = min(min_off, start); + max_off = max(max_off, end); } - if (min >= max) + if (min_off >= max_off) return; - drm_fb_helper_memory_range_to_clip(info, min, max - min, &damage_area); + /* + * As we can only track pages, we might reach beyond the end + * of the screen and account for non-existing scanlines. Hence, + * keep the covered memory area within the screen buffer. + */ + max_off = min(max_off, info->screen_size); + + drm_fb_helper_memory_range_to_clip(info, min_off, max_off - min_off, &damage_area); drm_fb_helper_damage(info, damage_area.x1, damage_area.y1, drm_rect_width(&damage_area), drm_rect_height(&damage_area)); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/drm_fourcc.c +++ linux-gcp-5.19.0/drivers/gpu/drm/drm_fourcc.c @@ -156,6 +156,10 @@ { .format = DRM_FORMAT_BGRA5551, .depth = 15, .num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1, .has_alpha = true }, { .format = DRM_FORMAT_RGB565, .depth = 16, .num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 }, { .format = DRM_FORMAT_BGR565, .depth = 16, .num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 }, +#ifdef __BIG_ENDIAN + { .format = DRM_FORMAT_XRGB1555 | DRM_FORMAT_BIG_ENDIAN, .depth = 15, .num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 }, + { .format = DRM_FORMAT_RGB565 | DRM_FORMAT_BIG_ENDIAN, .depth = 16, .num_planes = 1, .cpp = { 2, 0, 0 }, .hsub = 1, .vsub = 1 }, +#endif { .format = DRM_FORMAT_RGB888, .depth = 24, .num_planes = 1, .cpp = { 3, 0, 0 }, .hsub = 1, .vsub = 1 }, { .format = DRM_FORMAT_BGR888, .depth = 24, .num_planes = 1, .cpp = { 3, 0, 0 }, .hsub = 1, .vsub = 1 }, { .format = DRM_FORMAT_XRGB8888, .depth = 24, .num_planes = 1, .cpp = { 4, 0, 0 }, .hsub = 1, .vsub = 1 }, @@ -263,12 +267,12 @@ .vsub = 2, .is_yuv = true }, { .format = DRM_FORMAT_Q410, .depth = 0, .num_planes = 3, .char_per_block = { 2, 2, 2 }, - .block_w = { 1, 1, 1 }, .block_h = { 1, 1, 1 }, .hsub = 0, - .vsub = 0, .is_yuv = true }, + .block_w = { 1, 1, 1 }, .block_h = { 1, 1, 1 }, .hsub = 1, + .vsub = 1, .is_yuv = true }, { .format = DRM_FORMAT_Q401, .depth = 0, .num_planes = 3, .char_per_block = { 2, 2, 2 }, - .block_w = { 1, 1, 1 }, .block_h = { 1, 1, 1 }, .hsub = 0, - .vsub = 0, .is_yuv = true }, + .block_w = { 1, 1, 1 }, .block_h = { 1, 1, 1 }, .hsub = 1, + .vsub = 1, .is_yuv = true }, { .format = DRM_FORMAT_P030, .depth = 0, .num_planes = 2, .char_per_block = { 4, 8, 0 }, .block_w = { 3, 3, 0 }, .block_h = { 1, 1, 0 }, .hsub = 2, .vsub = 2, .is_yuv = true}, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/drm_gem.c +++ linux-gcp-5.19.0/drivers/gpu/drm/drm_gem.c @@ -168,21 +168,6 @@ } EXPORT_SYMBOL(drm_gem_private_object_init); -static void -drm_gem_remove_prime_handles(struct drm_gem_object *obj, struct drm_file *filp) -{ - /* - * Note: obj->dma_buf can't disappear as long as we still hold a - * handle reference in obj->handle_count. - */ - mutex_lock(&filp->prime.lock); - if (obj->dma_buf) { - drm_prime_remove_buf_handle_locked(&filp->prime, - obj->dma_buf); - } - mutex_unlock(&filp->prime.lock); -} - /** * drm_gem_object_handle_free - release resources bound to userspace handles * @obj: GEM object to clean up. @@ -253,7 +238,7 @@ if (obj->funcs->close) obj->funcs->close(obj, file_priv); - drm_gem_remove_prime_handles(obj, file_priv); + drm_prime_remove_buf_handle(&file_priv->prime, id); drm_vma_node_revoke(&obj->vma_node, file_priv); drm_gem_object_handle_put_unlocked(obj); @@ -1226,7 +1211,7 @@ ret = dma_resv_lock_slow_interruptible(obj->resv, acquire_ctx); if (ret) { - ww_acquire_done(acquire_ctx); + ww_acquire_fini(acquire_ctx); return ret; } } @@ -1251,7 +1236,7 @@ goto retry; } - ww_acquire_done(acquire_ctx); + ww_acquire_fini(acquire_ctx); return ret; } } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/drm_gem_shmem_helper.c +++ linux-gcp-5.19.0/drivers/gpu/drm/drm_gem_shmem_helper.c @@ -302,6 +302,7 @@ ret = dma_buf_vmap(obj->import_attach->dmabuf, map); if (!ret) { if (WARN_ON(map->is_iomem)) { + dma_buf_vunmap(obj->import_attach->dmabuf, map); ret = -EIO; goto err_put_pages; } @@ -570,12 +571,20 @@ { struct drm_gem_object *obj = vma->vm_private_data; struct drm_gem_shmem_object *shmem = to_drm_gem_shmem_obj(obj); - int ret; WARN_ON(shmem->base.import_attach); - ret = drm_gem_shmem_get_pages(shmem); - WARN_ON_ONCE(ret != 0); + mutex_lock(&shmem->pages_lock); + + /* + * We should have already pinned the pages when the buffer was first + * mmap'd, vm_open() just grabs an additional reference for the new + * mm the vma is getting copied into (ie. on fork()). + */ + if (!WARN_ON_ONCE(!shmem->pages_use_count)) + shmem->pages_use_count++; + + mutex_unlock(&shmem->pages_lock); drm_gem_vm_open(vma); } @@ -621,10 +630,8 @@ } ret = drm_gem_shmem_get_pages(shmem); - if (ret) { - drm_gem_vm_close(vma); + if (ret) return ret; - } vma->vm_flags |= VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP; vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); @@ -674,23 +681,7 @@ } EXPORT_SYMBOL_GPL(drm_gem_shmem_get_sg_table); -/** - * drm_gem_shmem_get_pages_sgt - Pin pages, dma map them, and return a - * scatter/gather table for a shmem GEM object. - * @shmem: shmem GEM object - * - * This function returns a scatter/gather table suitable for driver usage. If - * the sg table doesn't exist, the pages are pinned, dma-mapped, and a sg - * table created. - * - * This is the main function for drivers to get at backing storage, and it hides - * and difference between dma-buf imported and natively allocated objects. - * drm_gem_shmem_get_sg_table() should not be directly called by drivers. - * - * Returns: - * A pointer to the scatter/gather table of pinned pages or errno on failure. - */ -struct sg_table *drm_gem_shmem_get_pages_sgt(struct drm_gem_shmem_object *shmem) +static struct sg_table *drm_gem_shmem_get_pages_sgt_locked(struct drm_gem_shmem_object *shmem) { struct drm_gem_object *obj = &shmem->base; int ret; @@ -701,7 +692,7 @@ WARN_ON(obj->import_attach); - ret = drm_gem_shmem_get_pages(shmem); + ret = drm_gem_shmem_get_pages_locked(shmem); if (ret) return ERR_PTR(ret); @@ -723,9 +714,39 @@ sg_free_table(sgt); kfree(sgt); err_put_pages: - drm_gem_shmem_put_pages(shmem); + drm_gem_shmem_put_pages_locked(shmem); return ERR_PTR(ret); } + +/** + * drm_gem_shmem_get_pages_sgt - Pin pages, dma map them, and return a + * scatter/gather table for a shmem GEM object. + * @shmem: shmem GEM object + * + * This function returns a scatter/gather table suitable for driver usage. If + * the sg table doesn't exist, the pages are pinned, dma-mapped, and a sg + * table created. + * + * This is the main function for drivers to get at backing storage, and it hides + * and difference between dma-buf imported and natively allocated objects. + * drm_gem_shmem_get_sg_table() should not be directly called by drivers. + * + * Returns: + * A pointer to the scatter/gather table of pinned pages or errno on failure. + */ +struct sg_table *drm_gem_shmem_get_pages_sgt(struct drm_gem_shmem_object *shmem) +{ + int ret; + struct sg_table *sgt; + + ret = mutex_lock_interruptible(&shmem->pages_lock); + if (ret) + return ERR_PTR(ret); + sgt = drm_gem_shmem_get_pages_sgt_locked(shmem); + mutex_unlock(&shmem->pages_lock); + + return sgt; +} EXPORT_SYMBOL_GPL(drm_gem_shmem_get_pages_sgt); /** --- linux-gcp-5.19.0.orig/drivers/gpu/drm/drm_internal.h +++ linux-gcp-5.19.0/drivers/gpu/drm/drm_internal.h @@ -74,8 +74,8 @@ void drm_prime_init_file_private(struct drm_prime_file_private *prime_fpriv); void drm_prime_destroy_file_private(struct drm_prime_file_private *prime_fpriv); -void drm_prime_remove_buf_handle_locked(struct drm_prime_file_private *prime_fpriv, - struct dma_buf *dma_buf); +void drm_prime_remove_buf_handle(struct drm_prime_file_private *prime_fpriv, + uint32_t handle); /* drm_drv.c */ struct drm_minor *drm_minor_acquire(unsigned int minor_id); @@ -104,7 +104,8 @@ static inline void drm_vblank_destroy_worker(struct drm_vblank_crtc *vblank) { - kthread_destroy_worker(vblank->worker); + if (vblank->worker) + kthread_destroy_worker(vblank->worker); } int drm_vblank_worker_init(struct drm_vblank_crtc *vblank); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/drm_ioctl.c +++ linux-gcp-5.19.0/drivers/gpu/drm/drm_ioctl.c @@ -472,7 +472,13 @@ */ static int drm_copy_field(char __user *buf, size_t *buf_len, const char *value) { - int len; + size_t len; + + /* don't attempt to copy a NULL pointer */ + if (WARN_ONCE(!value, "BUG: the value to copy was not set!")) { + *buf_len = 0; + return 0; + } /* don't overflow userbuf */ len = strlen(value); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/drm_mipi_dbi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/drm_mipi_dbi.c @@ -1199,6 +1199,13 @@ size_t chunk; int ret; + /* In __spi_validate, there's a validation that no partial transfers + * are accepted (xfer->len % w_size must be zero). + * Here we align max_chunk to multiple of 2 (16bits), + * to prevent transfers from being rejected. + */ + max_chunk = ALIGN_DOWN(max_chunk, 2); + spi_message_init_with_transfers(&m, &tr, 1); while (len) { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/drm_mipi_dsi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/drm_mipi_dsi.c @@ -346,6 +346,7 @@ { struct mipi_dsi_device *dsi = to_mipi_dsi_device(dev); + mipi_dsi_detach(dsi); mipi_dsi_device_unregister(dsi); return 0; @@ -1223,6 +1224,58 @@ } EXPORT_SYMBOL(mipi_dsi_dcs_get_display_brightness); +/** + * mipi_dsi_dcs_set_display_brightness_large() - sets the 16-bit brightness value + * of the display + * @dsi: DSI peripheral device + * @brightness: brightness value + * + * Return: 0 on success or a negative error code on failure. + */ +int mipi_dsi_dcs_set_display_brightness_large(struct mipi_dsi_device *dsi, + u16 brightness) +{ + u8 payload[2] = { brightness >> 8, brightness & 0xff }; + ssize_t err; + + err = mipi_dsi_dcs_write(dsi, MIPI_DCS_SET_DISPLAY_BRIGHTNESS, + payload, sizeof(payload)); + if (err < 0) + return err; + + return 0; +} +EXPORT_SYMBOL(mipi_dsi_dcs_set_display_brightness_large); + +/** + * mipi_dsi_dcs_get_display_brightness_large() - gets the current 16-bit + * brightness value of the display + * @dsi: DSI peripheral device + * @brightness: brightness value + * + * Return: 0 on success or a negative error code on failure. + */ +int mipi_dsi_dcs_get_display_brightness_large(struct mipi_dsi_device *dsi, + u16 *brightness) +{ + u8 brightness_be[2]; + ssize_t err; + + err = mipi_dsi_dcs_read(dsi, MIPI_DCS_GET_DISPLAY_BRIGHTNESS, + brightness_be, sizeof(brightness_be)); + if (err <= 0) { + if (err == 0) + err = -ENODATA; + + return err; + } + + *brightness = (brightness_be[0] << 8) | brightness_be[1]; + + return 0; +} +EXPORT_SYMBOL(mipi_dsi_dcs_get_display_brightness_large); + static int mipi_dsi_drv_probe(struct device *dev) { struct mipi_dsi_driver *drv = to_mipi_dsi_driver(dev->driver); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/drm_mode_config.c +++ linux-gcp-5.19.0/drivers/gpu/drm/drm_mode_config.c @@ -398,6 +398,8 @@ */ int drmm_mode_config_init(struct drm_device *dev) { + int ret; + mutex_init(&dev->mode_config.mutex); drm_modeset_lock_init(&dev->mode_config.connection_mutex); mutex_init(&dev->mode_config.idr_mutex); @@ -419,7 +421,11 @@ init_llist_head(&dev->mode_config.connector_free_list); INIT_WORK(&dev->mode_config.connector_free_work, drm_connector_free_work_fn); - drm_mode_create_standard_properties(dev); + ret = drm_mode_create_standard_properties(dev); + if (ret) { + drm_mode_config_cleanup(dev); + return ret; + } /* Just to be sure */ dev->mode_config.num_fb = 0; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/drm_panel_orientation_quirks.c +++ linux-gcp-5.19.0/drivers/gpu/drm/drm_panel_orientation_quirks.c @@ -103,6 +103,12 @@ .orientation = DRM_MODE_PANEL_ORIENTATION_RIGHT_UP, }; +static const struct drm_dmi_panel_orientation_data lcd1080x1920_leftside_up = { + .width = 1080, + .height = 1920, + .orientation = DRM_MODE_PANEL_ORIENTATION_LEFT_UP, +}; + static const struct drm_dmi_panel_orientation_data lcd1200x1920_rightside_up = { .width = 1200, .height = 1920, @@ -128,6 +134,18 @@ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "One S1003"), }, .driver_data = (void *)&lcd800x1280_rightside_up, + }, { /* Acer Switch V 10 (SW5-017) */ + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "SW5-017"), + }, + .driver_data = (void *)&lcd800x1280_rightside_up, + }, { /* Anbernic Win600 */ + .matches = { + DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "Anbernic"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "Win600"), + }, + .driver_data = (void *)&lcd720x1280_rightside_up, }, { /* Asus T100HA */ .matches = { DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), @@ -152,6 +170,12 @@ DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "AYA NEO 2021"), }, .driver_data = (void *)&lcd800x1280_rightside_up, + }, { /* AYA NEO AIR */ + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "AYANEO"), + DMI_MATCH(DMI_BOARD_NAME, "AIR"), + }, + .driver_data = (void *)&lcd1080x1920_leftside_up, }, { /* AYA NEO NEXT */ .matches = { DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "AYANEO"), @@ -280,6 +304,18 @@ DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Lenovo ideapad D330-10IGM"), }, .driver_data = (void *)&lcd1200x1920_rightside_up, + }, { /* Lenovo Ideapad D330-10IGL (HD) */ + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "Lenovo ideapad D330-10IGL"), + }, + .driver_data = (void *)&lcd800x1280_rightside_up, + }, { /* Lenovo IdeaPad Duet 3 10IGL5 */ + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_EXACT_MATCH(DMI_PRODUCT_VERSION, "IdeaPad Duet 3 10IGL5"), + }, + .driver_data = (void *)&lcd1200x1920_rightside_up, }, { /* Lenovo Yoga Book X90F / X91F / X91L */ .matches = { /* Non exact match to match all versions */ @@ -301,6 +337,12 @@ DMI_MATCH(DMI_BIOS_VERSION, "BLADE_21"), }, .driver_data = (void *)&lcd1200x1920_rightside_up, + }, { /* Nanote UMPC-01 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "RWC CO.,LTD"), + DMI_MATCH(DMI_PRODUCT_NAME, "UMPC-01"), + }, + .driver_data = (void *)&lcd1200x1920_rightside_up, }, { /* OneGX1 Pro */ .matches = { DMI_EXACT_MATCH(DMI_SYS_VENDOR, "SYSTEM_MANUFACTURER"), --- linux-gcp-5.19.0.orig/drivers/gpu/drm/drm_prime.c +++ linux-gcp-5.19.0/drivers/gpu/drm/drm_prime.c @@ -190,29 +190,33 @@ return -ENOENT; } -void drm_prime_remove_buf_handle_locked(struct drm_prime_file_private *prime_fpriv, - struct dma_buf *dma_buf) +void drm_prime_remove_buf_handle(struct drm_prime_file_private *prime_fpriv, + uint32_t handle) { struct rb_node *rb; - rb = prime_fpriv->dmabufs.rb_node; + mutex_lock(&prime_fpriv->lock); + + rb = prime_fpriv->handles.rb_node; while (rb) { struct drm_prime_member *member; - member = rb_entry(rb, struct drm_prime_member, dmabuf_rb); - if (member->dma_buf == dma_buf) { + member = rb_entry(rb, struct drm_prime_member, handle_rb); + if (member->handle == handle) { rb_erase(&member->handle_rb, &prime_fpriv->handles); rb_erase(&member->dmabuf_rb, &prime_fpriv->dmabufs); - dma_buf_put(dma_buf); + dma_buf_put(member->dma_buf); kfree(member); - return; - } else if (member->dma_buf < dma_buf) { + break; + } else if (member->handle < handle) { rb = rb->rb_right; } else { rb = rb->rb_left; } } + + mutex_unlock(&prime_fpriv->lock); } void drm_prime_init_file_private(struct drm_prime_file_private *prime_fpriv) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c +++ linux-gcp-5.19.0/drivers/gpu/drm/etnaviv/etnaviv_gem_submit.c @@ -462,6 +462,12 @@ return -EINVAL; } + if (args->stream_size > SZ_128K || args->nr_relocs > SZ_128K || + args->nr_bos > SZ_128K || args->nr_pmrs > 128) { + DRM_ERROR("submit arguments out of size limits\n"); + return -EINVAL; + } + /* * Copy the command submission and bo array to kernel space in * one go, and do this outside of any locks. --- linux-gcp-5.19.0.orig/drivers/gpu/drm/etnaviv/etnaviv_gpu.c +++ linux-gcp-5.19.0/drivers/gpu/drm/etnaviv/etnaviv_gpu.c @@ -416,6 +416,12 @@ if (gpu->identity.model == chipModel_GC700) gpu->identity.features &= ~chipFeatures_FAST_CLEAR; + /* These models/revisions don't have the 2D pipe bit */ + if ((gpu->identity.model == chipModel_GC500 && + gpu->identity.revision <= 2) || + gpu->identity.model == chipModel_GC300) + gpu->identity.features |= chipFeatures_PIPE_2D; + if ((gpu->identity.model == chipModel_GC500 && gpu->identity.revision < 2) || (gpu->identity.model == chipModel_GC300 && @@ -449,8 +455,9 @@ gpu_read(gpu, VIVS_HI_CHIP_MINOR_FEATURE_5); } - /* GC600 idle register reports zero bits where modules aren't present */ - if (gpu->identity.model == chipModel_GC600) + /* GC600/300 idle register reports zero bits where modules aren't present */ + if (gpu->identity.model == chipModel_GC600 || + gpu->identity.model == chipModel_GC300) gpu->idle_mask = VIVS_HI_IDLE_STATE_TX | VIVS_HI_IDLE_STATE_RA | VIVS_HI_IDLE_STATE_SE | --- linux-gcp-5.19.0.orig/drivers/gpu/drm/etnaviv/etnaviv_mmu.c +++ linux-gcp-5.19.0/drivers/gpu/drm/etnaviv/etnaviv_mmu.c @@ -80,10 +80,10 @@ return -EINVAL; for_each_sgtable_dma_sg(sgt, sg, i) { - u32 pa = sg_dma_address(sg) - sg->offset; + phys_addr_t pa = sg_dma_address(sg) - sg->offset; size_t bytes = sg_dma_len(sg) + sg->offset; - VERB("map[%d]: %08x %08x(%zx)", i, iova, pa, bytes); + VERB("map[%d]: %08x %pap(%zx)", i, iova, &pa, bytes); ret = etnaviv_context_map(context, da, pa, bytes, prot); if (ret) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/exynos/exynos7_drm_decon.c +++ linux-gcp-5.19.0/drivers/gpu/drm/exynos/exynos7_drm_decon.c @@ -800,31 +800,40 @@ if (ret < 0) { DRM_DEV_ERROR(dev, "Failed to prepare_enable the pclk [%d]\n", ret); - return ret; + goto err_pclk_enable; } ret = clk_prepare_enable(ctx->aclk); if (ret < 0) { DRM_DEV_ERROR(dev, "Failed to prepare_enable the aclk [%d]\n", ret); - return ret; + goto err_aclk_enable; } ret = clk_prepare_enable(ctx->eclk); if (ret < 0) { DRM_DEV_ERROR(dev, "Failed to prepare_enable the eclk [%d]\n", ret); - return ret; + goto err_eclk_enable; } ret = clk_prepare_enable(ctx->vclk); if (ret < 0) { DRM_DEV_ERROR(dev, "Failed to prepare_enable the vclk [%d]\n", ret); - return ret; + goto err_vclk_enable; } return 0; + +err_vclk_enable: + clk_disable_unprepare(ctx->eclk); +err_eclk_enable: + clk_disable_unprepare(ctx->aclk); +err_aclk_enable: + clk_disable_unprepare(ctx->pclk); +err_pclk_enable: + return ret; } #endif --- linux-gcp-5.19.0.orig/drivers/gpu/drm/exynos/exynos_drm_dsi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/exynos/exynos_drm_dsi.c @@ -805,15 +805,15 @@ reg |= DSIM_AUTO_MODE; if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO_HSE) reg |= DSIM_HSE_MODE; - if (!(dsi->mode_flags & MIPI_DSI_MODE_VIDEO_NO_HFP)) + if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO_NO_HFP) reg |= DSIM_HFP_MODE; - if (!(dsi->mode_flags & MIPI_DSI_MODE_VIDEO_NO_HBP)) + if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO_NO_HBP) reg |= DSIM_HBP_MODE; - if (!(dsi->mode_flags & MIPI_DSI_MODE_VIDEO_NO_HSA)) + if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO_NO_HSA) reg |= DSIM_HSA_MODE; } - if (!(dsi->mode_flags & MIPI_DSI_MODE_NO_EOT_PACKET)) + if (dsi->mode_flags & MIPI_DSI_MODE_NO_EOT_PACKET) reg |= DSIM_EOT_DISABLE; switch (dsi->format) { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c +++ linux-gcp-5.19.0/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c @@ -60,8 +60,9 @@ return drm_panel_get_modes(fsl_connector->panel, connector); } -static int fsl_dcu_drm_connector_mode_valid(struct drm_connector *connector, - struct drm_display_mode *mode) +static enum drm_mode_status +fsl_dcu_drm_connector_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode) { if (mode->hdisplay & 0xf) return MODE_ERROR; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/gma500/cdv_device.c +++ linux-gcp-5.19.0/drivers/gpu/drm/gma500/cdv_device.c @@ -581,11 +581,9 @@ static int cdv_chip_setup(struct drm_device *dev) { struct drm_psb_private *dev_priv = to_drm_psb_private(dev); - struct pci_dev *pdev = to_pci_dev(dev->dev); INIT_WORK(&dev_priv->hotplug_work, cdv_hotplug_work_func); - if (pci_enable_msi(pdev)) - dev_warn(dev->dev, "Enabling MSI failed!\n"); + dev_priv->use_msi = true; dev_priv->regmap = cdv_regmap; gma_get_core_freq(dev); psb_intel_opregion_init(dev); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/gma500/gem.c +++ linux-gcp-5.19.0/drivers/gpu/drm/gma500/gem.c @@ -112,12 +112,12 @@ { struct psb_gem_object *pobj = to_psb_gem_object(obj); - drm_gem_object_release(obj); - /* Undo the mmap pin if we are destroying the object */ if (pobj->mmapping) psb_gem_unpin(pobj); + drm_gem_object_release(obj); + WARN_ON(pobj->in_gart && !pobj->stolen); release_resource(&pobj->resource); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/gma500/gma_display.c +++ linux-gcp-5.19.0/drivers/gpu/drm/gma500/gma_display.c @@ -531,15 +531,18 @@ WARN_ON(drm_crtc_vblank_get(crtc) != 0); gma_crtc->page_flip_event = event; + spin_unlock_irqrestore(&dev->event_lock, flags); /* Call this locked if we want an event at vblank interrupt. */ ret = crtc_funcs->mode_set_base(crtc, crtc->x, crtc->y, old_fb); if (ret) { - gma_crtc->page_flip_event = NULL; - drm_crtc_vblank_put(crtc); + spin_lock_irqsave(&dev->event_lock, flags); + if (gma_crtc->page_flip_event) { + gma_crtc->page_flip_event = NULL; + drm_crtc_vblank_put(crtc); + } + spin_unlock_irqrestore(&dev->event_lock, flags); } - - spin_unlock_irqrestore(&dev->event_lock, flags); } else { ret = crtc_funcs->mode_set_base(crtc, crtc->x, crtc->y, old_fb); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/gma500/oaktrail_device.c +++ linux-gcp-5.19.0/drivers/gpu/drm/gma500/oaktrail_device.c @@ -501,12 +501,9 @@ static int oaktrail_chip_setup(struct drm_device *dev) { struct drm_psb_private *dev_priv = to_drm_psb_private(dev); - struct pci_dev *pdev = to_pci_dev(dev->dev); int ret; - if (pci_enable_msi(pdev)) - dev_warn(dev->dev, "Enabling MSI failed!\n"); - + dev_priv->use_msi = true; dev_priv->regmap = oaktrail_regmap; ret = mid_chip_setup(dev); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/gma500/power.c +++ linux-gcp-5.19.0/drivers/gpu/drm/gma500/power.c @@ -139,8 +139,6 @@ dev_priv->regs.saveBSM = bsm; pci_read_config_dword(pdev, 0xFC, &vbt); dev_priv->regs.saveVBT = vbt; - pci_read_config_dword(pdev, PSB_PCIx_MSI_ADDR_LOC, &dev_priv->msi_addr); - pci_read_config_dword(pdev, PSB_PCIx_MSI_DATA_LOC, &dev_priv->msi_data); pci_disable_device(pdev); pci_set_power_state(pdev, PCI_D3hot); @@ -168,9 +166,6 @@ pci_restore_state(pdev); pci_write_config_dword(pdev, 0x5c, dev_priv->regs.saveBSM); pci_write_config_dword(pdev, 0xFC, dev_priv->regs.saveVBT); - /* restoring MSI address and data in PCIx space */ - pci_write_config_dword(pdev, PSB_PCIx_MSI_ADDR_LOC, dev_priv->msi_addr); - pci_write_config_dword(pdev, PSB_PCIx_MSI_DATA_LOC, dev_priv->msi_data); ret = pci_enable_device(pdev); if (ret != 0) @@ -223,8 +218,7 @@ mutex_lock(&power_mutex); gma_resume_pci(pdev); gma_resume_display(pdev); - gma_irq_preinstall(dev); - gma_irq_postinstall(dev); + gma_irq_install(dev); mutex_unlock(&power_mutex); return 0; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/gma500/psb_drv.c +++ linux-gcp-5.19.0/drivers/gpu/drm/gma500/psb_drv.c @@ -383,7 +383,7 @@ PSB_WVDC32(0xFFFFFFFF, PSB_INT_MASK_R); spin_unlock_irqrestore(&dev_priv->irqmask_lock, irqflags); - gma_irq_install(dev, pdev->irq); + gma_irq_install(dev); dev->max_vblank_count = 0xffffff; /* only 24 bits of frame count */ --- linux-gcp-5.19.0.orig/drivers/gpu/drm/gma500/psb_drv.h +++ linux-gcp-5.19.0/drivers/gpu/drm/gma500/psb_drv.h @@ -490,6 +490,7 @@ int rpm_enabled; /* MID specific */ + bool use_msi; bool has_gct; struct oaktrail_gct_data gct_data; @@ -499,10 +500,6 @@ /* Register state */ struct psb_save_area regs; - /* MSI reg save */ - uint32_t msi_addr; - uint32_t msi_data; - /* Hotplug handling */ struct work_struct hotplug_work; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/gma500/psb_irq.c +++ linux-gcp-5.19.0/drivers/gpu/drm/gma500/psb_irq.c @@ -316,17 +316,24 @@ spin_unlock_irqrestore(&dev_priv->irqmask_lock, irqflags); } -int gma_irq_install(struct drm_device *dev, unsigned int irq) +int gma_irq_install(struct drm_device *dev) { + struct drm_psb_private *dev_priv = to_drm_psb_private(dev); + struct pci_dev *pdev = to_pci_dev(dev->dev); int ret; - if (irq == IRQ_NOTCONNECTED) + if (dev_priv->use_msi && pci_enable_msi(pdev)) { + dev_warn(dev->dev, "Enabling MSI failed!\n"); + dev_priv->use_msi = false; + } + + if (pdev->irq == IRQ_NOTCONNECTED) return -ENOTCONN; gma_irq_preinstall(dev); /* PCI devices require shared interrupts. */ - ret = request_irq(irq, gma_irq_handler, IRQF_SHARED, dev->driver->name, dev); + ret = request_irq(pdev->irq, gma_irq_handler, IRQF_SHARED, dev->driver->name, dev); if (ret) return ret; @@ -369,6 +376,8 @@ spin_unlock_irqrestore(&dev_priv->irqmask_lock, irqflags); free_irq(pdev->irq, dev); + if (dev_priv->use_msi) + pci_disable_msi(pdev); } int gma_crtc_enable_vblank(struct drm_crtc *crtc) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/gma500/psb_irq.h +++ linux-gcp-5.19.0/drivers/gpu/drm/gma500/psb_irq.h @@ -17,7 +17,7 @@ void gma_irq_preinstall(struct drm_device *dev); void gma_irq_postinstall(struct drm_device *dev); -int gma_irq_install(struct drm_device *dev, unsigned int irq); +int gma_irq_install(struct drm_device *dev); void gma_irq_uninstall(struct drm_device *dev); int gma_crtc_enable_vblank(struct drm_crtc *crtc); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/hisilicon/hibmc/Kconfig +++ linux-gcp-5.19.0/drivers/gpu/drm/hisilicon/hibmc/Kconfig @@ -2,6 +2,7 @@ config DRM_HISI_HIBMC tristate "DRM Support for Hisilicon Hibmc" depends on DRM && PCI && (ARM64 || COMPILE_TEST) + depends on MMU select DRM_KMS_HELPER select DRM_VRAM_HELPER select DRM_TTM --- linux-gcp-5.19.0.orig/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c +++ linux-gcp-5.19.0/drivers/gpu/drm/hyperv/hyperv_drm_modeset.c @@ -7,9 +7,11 @@ #include #include +#include #include #include #include +#include #include #include #include --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/icl_dsi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/icl_dsi.c @@ -1629,6 +1629,8 @@ /* FIXME: initialize from VBT */ vdsc_cfg->rc_model_size = DSC_RC_MODEL_SIZE_CONST; + vdsc_cfg->pic_height = crtc_state->hw.adjusted_mode.crtc_vdisplay; + ret = intel_dsc_compute_params(crtc_state); if (ret) return ret; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/intel_backlight.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/intel_backlight.c @@ -15,6 +15,7 @@ #include "intel_dsi_dcs_backlight.h" #include "intel_panel.h" #include "intel_pci_config.h" +#include "intel_pps.h" /** * scale - scale values from one range to another @@ -970,26 +971,24 @@ if (!name) return -ENOMEM; - bd = backlight_device_register(name, connector->base.kdev, connector, - &intel_backlight_device_ops, &props); - - /* - * Using the same name independent of the drm device or connector - * prevents registration of multiple backlight devices in the - * driver. However, we need to use the default name for backward - * compatibility. Use unique names for subsequent backlight devices as a - * fallback when the default name already exists. - */ - if (IS_ERR(bd) && PTR_ERR(bd) == -EEXIST) { + bd = backlight_device_get_by_name(name); + if (bd) { + put_device(&bd->dev); + /* + * Using the same name independent of the drm device or connector + * prevents registration of multiple backlight devices in the + * driver. However, we need to use the default name for backward + * compatibility. Use unique names for subsequent backlight devices as a + * fallback when the default name already exists. + */ kfree(name); name = kasprintf(GFP_KERNEL, "card%d-%s-backlight", i915->drm.primary->index, connector->base.name); if (!name) return -ENOMEM; - - bd = backlight_device_register(name, connector->base.kdev, connector, - &intel_backlight_device_ops, &props); } + bd = backlight_device_register(name, connector->base.kdev, connector, + &intel_backlight_device_ops, &props); if (IS_ERR(bd)) { drm_err(&i915->drm, @@ -1771,9 +1770,13 @@ panel->backlight.pwm_funcs = &i9xx_pwm_funcs; } - if (connector->base.connector_type == DRM_MODE_CONNECTOR_eDP && - intel_dp_aux_init_backlight_funcs(connector) == 0) - return; + if (connector->base.connector_type == DRM_MODE_CONNECTOR_eDP) { + if (intel_dp_aux_init_backlight_funcs(connector) == 0) + return; + + if (!(dev_priv->quirks & QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK)) + connector->panel.backlight.power = intel_pps_backlight_power; + } /* We're using a standard PWM backlight interface */ panel->backlight.funcs = &pwm_bl_funcs; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/intel_bios.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/intel_bios.c @@ -123,7 +123,7 @@ * Offset from the start of BDB to the start of the * block data (just past the block header). */ -static u32 block_offset(const void *bdb, enum bdb_block_id section_id) +static u32 raw_block_offset(const void *bdb, enum bdb_block_id section_id) { const void *block; @@ -134,18 +134,6 @@ return block - bdb; } -/* size of the block excluding the header */ -static u32 block_size(const void *bdb, enum bdb_block_id section_id) -{ - const void *block; - - block = find_raw_section(bdb, section_id); - if (!block) - return 0; - - return get_blocksize(block); -} - struct bdb_block_entry { struct list_head node; enum bdb_block_id section_id; @@ -230,9 +218,14 @@ { int fp_timing_size, dvo_timing_size, panel_pnp_id_size, panel_name_size; int data_block_size, lfp_data_size; + const void *data_block; int i; - data_block_size = block_size(bdb, BDB_LVDS_LFP_DATA); + data_block = find_raw_section(bdb, BDB_LVDS_LFP_DATA); + if (!data_block) + return false; + + data_block_size = get_blocksize(data_block); if (data_block_size == 0) return false; @@ -260,21 +253,6 @@ if (16 * lfp_data_size > data_block_size) return false; - /* - * Except for vlv/chv machines all real VBTs seem to have 6 - * unaccounted bytes in the fp_timing table. And it doesn't - * appear to be a really intentional hole as the fp_timing - * 0xffff terminator is always within those 6 missing bytes. - */ - if (fp_timing_size + dvo_timing_size + panel_pnp_id_size != lfp_data_size && - fp_timing_size + 6 + dvo_timing_size + panel_pnp_id_size != lfp_data_size) - return false; - - if (ptrs->ptr[0].fp_timing.offset + fp_timing_size > ptrs->ptr[0].dvo_timing.offset || - ptrs->ptr[0].dvo_timing.offset + dvo_timing_size != ptrs->ptr[0].panel_pnp_id.offset || - ptrs->ptr[0].panel_pnp_id.offset + panel_pnp_id_size != lfp_data_size) - return false; - /* make sure the table entries have uniform size */ for (i = 1; i < 16; i++) { if (ptrs->ptr[i].fp_timing.table_size != fp_timing_size || @@ -288,6 +266,23 @@ return false; } + /* + * Except for vlv/chv machines all real VBTs seem to have 6 + * unaccounted bytes in the fp_timing table. And it doesn't + * appear to be a really intentional hole as the fp_timing + * 0xffff terminator is always within those 6 missing bytes. + */ + if (fp_timing_size + 6 + dvo_timing_size + panel_pnp_id_size == lfp_data_size) + fp_timing_size += 6; + + if (fp_timing_size + dvo_timing_size + panel_pnp_id_size != lfp_data_size) + return false; + + if (ptrs->ptr[0].fp_timing.offset + fp_timing_size != ptrs->ptr[0].dvo_timing.offset || + ptrs->ptr[0].dvo_timing.offset + dvo_timing_size != ptrs->ptr[0].panel_pnp_id.offset || + ptrs->ptr[0].panel_pnp_id.offset + panel_pnp_id_size != lfp_data_size) + return false; + /* make sure the tables fit inside the data block */ for (i = 0; i < 16; i++) { if (ptrs->ptr[i].fp_timing.offset + fp_timing_size > data_block_size || @@ -299,6 +294,15 @@ if (ptrs->panel_name.offset + 16 * panel_name_size > data_block_size) return false; + /* make sure fp_timing terminators are present at expected locations */ + for (i = 0; i < 16; i++) { + const u16 *t = data_block + ptrs->ptr[i].fp_timing.offset + + fp_timing_size - 2; + + if (*t != 0xffff) + return false; + } + return true; } @@ -309,7 +313,7 @@ u32 offset; int i; - offset = block_offset(bdb, BDB_LVDS_LFP_DATA); + offset = raw_block_offset(bdb, BDB_LVDS_LFP_DATA); for (i = 0; i < 16; i++) { if (ptrs->ptr[i].fp_timing.offset < offset || @@ -332,18 +336,6 @@ return validate_lfp_data_ptrs(bdb, ptrs); } -static const void *find_fp_timing_terminator(const u8 *data, int size) -{ - int i; - - for (i = 0; i < size - 1; i++) { - if (data[i] == 0xff && data[i+1] == 0xff) - return &data[i]; - } - - return NULL; -} - static int make_lfp_data_ptr(struct lvds_lfp_data_ptr_table *table, int table_size, int total_size) { @@ -367,11 +359,22 @@ static void *generate_lfp_data_ptrs(struct drm_i915_private *i915, const void *bdb) { - int i, size, table_size, block_size, offset; - const void *t0, *t1, *block; + int i, size, table_size, block_size, offset, fp_timing_size; struct bdb_lvds_lfp_data_ptrs *ptrs; + const void *block; void *ptrs_block; + /* + * The hardcoded fp_timing_size is only valid for + * modernish VBTs. All older VBTs definitely should + * include block 41 and thus we don't need to + * generate one. + */ + if (i915->vbt.version < 155) + return NULL; + + fp_timing_size = 38; + block = find_raw_section(bdb, BDB_LVDS_LFP_DATA); if (!block) return NULL; @@ -380,17 +383,8 @@ block_size = get_blocksize(block); - size = block_size; - t0 = find_fp_timing_terminator(block, size); - if (!t0) - return NULL; - - size -= t0 - block - 2; - t1 = find_fp_timing_terminator(t0 + 2, size); - if (!t1) - return NULL; - - size = t1 - t0; + size = fp_timing_size + sizeof(struct lvds_dvo_timing) + + sizeof(struct lvds_pnp_id); if (size * 16 > block_size) return NULL; @@ -408,7 +402,7 @@ table_size = sizeof(struct lvds_dvo_timing); size = make_lfp_data_ptr(&ptrs->ptr[0].dvo_timing, table_size, size); - table_size = t0 - block + 2; + table_size = fp_timing_size; size = make_lfp_data_ptr(&ptrs->ptr[0].fp_timing, table_size, size); if (ptrs->ptr[0].fp_timing.table_size) @@ -419,18 +413,18 @@ ptrs->lvds_entries++; if (size != 0 || ptrs->lvds_entries != 3) { - kfree(ptrs); + kfree(ptrs_block); return NULL; } - size = t1 - t0; + size = fp_timing_size + sizeof(struct lvds_dvo_timing) + + sizeof(struct lvds_pnp_id); for (i = 1; i < 16; i++) { next_lfp_data_ptr(&ptrs->ptr[i].fp_timing, &ptrs->ptr[i-1].fp_timing, size); next_lfp_data_ptr(&ptrs->ptr[i].dvo_timing, &ptrs->ptr[i-1].dvo_timing, size); next_lfp_data_ptr(&ptrs->ptr[i].panel_pnp_id, &ptrs->ptr[i-1].panel_pnp_id, size); } - size = t1 - t0; table_size = sizeof(struct lvds_lfp_panel_name); if (16 * (size + table_size) <= block_size) { @@ -478,6 +472,13 @@ block_size = get_blocksize(block); + /* + * Version number and new block size are considered + * part of the header for MIPI sequenece block v3+. + */ + if (section_id == BDB_MIPI_SEQUENCE && *(const u8 *)block >= 3) + block_size += 5; + entry = kzalloc(struct_size(entry, data, max(min_size, block_size) + 3), GFP_KERNEL); if (!entry) { @@ -2285,6 +2286,22 @@ dvo_port); } +static enum port +dsi_dvo_port_to_port(struct drm_i915_private *i915, u8 dvo_port) +{ + switch (dvo_port) { + case DVO_PORT_MIPIA: + return PORT_A; + case DVO_PORT_MIPIC: + if (DISPLAY_VER(i915) >= 11) + return PORT_B; + else + return PORT_C; + default: + return PORT_NONE; + } +} + static int parse_bdb_230_dp_max_link_rate(const int vbt_max_link_rate) { switch (vbt_max_link_rate) { @@ -3187,19 +3204,16 @@ dvo_port = child->dvo_port; - if (dvo_port == DVO_PORT_MIPIA || - (dvo_port == DVO_PORT_MIPIB && DISPLAY_VER(i915) >= 11) || - (dvo_port == DVO_PORT_MIPIC && DISPLAY_VER(i915) < 11)) { - if (port) - *port = dvo_port - DVO_PORT_MIPIA; - return true; - } else if (dvo_port == DVO_PORT_MIPIB || - dvo_port == DVO_PORT_MIPIC || - dvo_port == DVO_PORT_MIPID) { + if (dsi_dvo_port_to_port(i915, dvo_port) == PORT_NONE) { drm_dbg_kms(&i915->drm, "VBT has unsupported DSI port %c\n", port_name(dvo_port - DVO_PORT_MIPIA)); + continue; } + + if (port) + *port = dsi_dvo_port_to_port(i915, dvo_port); + return true; } return false; @@ -3284,7 +3298,7 @@ if (!(child->device_type & DEVICE_TYPE_MIPI_OUTPUT)) continue; - if (child->dvo_port - DVO_PORT_MIPIA == encoder->port) { + if (dsi_dvo_port_to_port(i915, child->dvo_port) == encoder->port) { if (!devdata->dsc) return false; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/intel_bw.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/intel_bw.c @@ -404,15 +404,17 @@ int clpchgroup; int j; - if (i < num_groups - 1) - bi_next = &dev_priv->max_bw[i + 1]; - clpchgroup = (sa->deburst * qi.deinterleave / num_channels) << i; - if (i < num_groups - 1 && clpchgroup < clperchgroup) - bi_next->num_planes = (ipqdepth - clpchgroup) / clpchgroup + 1; - else - bi_next->num_planes = 0; + if (i < num_groups - 1) { + bi_next = &dev_priv->max_bw[i + 1]; + + if (clpchgroup < clperchgroup) + bi_next->num_planes = (ipqdepth - clpchgroup) / + clpchgroup + 1; + else + bi_next->num_planes = 0; + } bi->num_qgv_points = qi.num_points; bi->num_psf_gv_points = qi.num_psf_points; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/intel_cdclk.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/intel_cdclk.c @@ -1323,7 +1323,7 @@ { .refclk = 24000, .cdclk = 192000, .divider = 2, .ratio = 16 }, { .refclk = 24000, .cdclk = 312000, .divider = 2, .ratio = 26 }, { .refclk = 24000, .cdclk = 552000, .divider = 2, .ratio = 46 }, - { .refclk = 24400, .cdclk = 648000, .divider = 2, .ratio = 54 }, + { .refclk = 24000, .cdclk = 648000, .divider = 2, .ratio = 54 }, { .refclk = 38400, .cdclk = 179200, .divider = 3, .ratio = 14 }, { .refclk = 38400, .cdclk = 192000, .divider = 2, .ratio = 10 }, @@ -2300,7 +2300,7 @@ min_cdclk = max(min_cdclk, (int)crtc_state->pixel_rate); /* - * HACK. Currently for TGL platforms we calculate + * HACK. Currently for TGL/DG2 platforms we calculate * min_cdclk initially based on pixel_rate divided * by 2, accounting for also plane requirements, * however in some cases the lowest possible CDCLK @@ -2308,7 +2308,7 @@ * Explicitly stating here that this seems to be currently * rather a Hack, than final solution. */ - if (IS_TIGERLAKE(dev_priv)) { + if (IS_TIGERLAKE(dev_priv) || IS_DG2(dev_priv)) { /* * Clamp to max_cdclk_freq in case pixel rate is higher, * in order not to break an 8K, but still leave W/A at place. --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/intel_display.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/intel_display.c @@ -3822,12 +3822,16 @@ static u8 bigjoiner_pipes(struct drm_i915_private *i915) { + u8 pipes; + if (DISPLAY_VER(i915) >= 12) - return BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D); + pipes = BIT(PIPE_A) | BIT(PIPE_B) | BIT(PIPE_C) | BIT(PIPE_D); else if (DISPLAY_VER(i915) >= 11) - return BIT(PIPE_B) | BIT(PIPE_C); + pipes = BIT(PIPE_B) | BIT(PIPE_C); else - return 0; + pipes = 0; + + return pipes & INTEL_INFO(i915)->display.pipe_mask; } static bool transcoder_ddi_func_is_enabled(struct drm_i915_private *dev_priv, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/intel_display_power.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/intel_display_power.c @@ -2425,7 +2425,7 @@ { const struct intel_ddi_port_domains *domains = intel_port_domains_for_port(i915, port); - if (drm_WARN_ON(&i915->drm, !domains) || domains->ddi_io == POWER_DOMAIN_INVALID) + if (drm_WARN_ON(&i915->drm, !domains || domains->ddi_io == POWER_DOMAIN_INVALID)) return POWER_DOMAIN_PORT_DDI_IO_A; return domains->ddi_io + (int)(port - domains->port_start); @@ -2436,7 +2436,7 @@ { const struct intel_ddi_port_domains *domains = intel_port_domains_for_port(i915, port); - if (drm_WARN_ON(&i915->drm, !domains) || domains->ddi_lanes == POWER_DOMAIN_INVALID) + if (drm_WARN_ON(&i915->drm, !domains || domains->ddi_lanes == POWER_DOMAIN_INVALID)) return POWER_DOMAIN_PORT_DDI_LANES_A; return domains->ddi_lanes + (int)(port - domains->port_start); @@ -2462,7 +2462,7 @@ { const struct intel_ddi_port_domains *domains = intel_port_domains_for_aux_ch(i915, aux_ch); - if (drm_WARN_ON(&i915->drm, !domains) || domains->aux_legacy_usbc == POWER_DOMAIN_INVALID) + if (drm_WARN_ON(&i915->drm, !domains || domains->aux_legacy_usbc == POWER_DOMAIN_INVALID)) return POWER_DOMAIN_AUX_A; return domains->aux_legacy_usbc + (int)(aux_ch - domains->aux_ch_start); @@ -2473,7 +2473,7 @@ { const struct intel_ddi_port_domains *domains = intel_port_domains_for_aux_ch(i915, aux_ch); - if (drm_WARN_ON(&i915->drm, !domains) || domains->aux_tbt == POWER_DOMAIN_INVALID) + if (drm_WARN_ON(&i915->drm, !domains || domains->aux_tbt == POWER_DOMAIN_INVALID)) return POWER_DOMAIN_AUX_TBT1; return domains->aux_tbt + (int)(aux_ch - domains->aux_ch_start); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/intel_display_types.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/intel_display_types.h @@ -1528,6 +1528,8 @@ bool psr2_sel_fetch_cff_enabled; bool req_psr2_sdp_prior_scanline; u8 sink_sync_latency; + u8 io_wake_lines; + u8 fast_wake_lines; ktime_t last_entry_attempt; ktime_t last_exit; bool sink_not_reliable; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/intel_dp.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/intel_dp.c @@ -388,23 +388,13 @@ return intel_dp_is_edp(intel_dp) ? 810000 : 1350000; } -static bool is_low_voltage_sku(struct drm_i915_private *i915, enum phy phy) -{ - u32 voltage; - - voltage = intel_de_read(i915, ICL_PORT_COMP_DW3(phy)) & VOLTAGE_INFO_MASK; - - return voltage == VOLTAGE_INFO_0_85V; -} - static int icl_max_source_rate(struct intel_dp *intel_dp) { struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev); enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port); - if (intel_phy_is_combo(dev_priv, phy) && - (is_low_voltage_sku(dev_priv, phy) || !intel_dp_is_edp(intel_dp))) + if (intel_phy_is_combo(dev_priv, phy) && !intel_dp_is_edp(intel_dp)) return 540000; return 810000; @@ -412,23 +402,7 @@ static int ehl_max_source_rate(struct intel_dp *intel_dp) { - struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); - struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev); - enum phy phy = intel_port_to_phy(dev_priv, dig_port->base.port); - - if (intel_dp_is_edp(intel_dp) || is_low_voltage_sku(dev_priv, phy)) - return 540000; - - return 810000; -} - -static int dg1_max_source_rate(struct intel_dp *intel_dp) -{ - struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); - struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev); - enum phy phy = intel_port_to_phy(i915, dig_port->base.port); - - if (intel_phy_is_combo(i915, phy) && is_low_voltage_sku(i915, phy)) + if (intel_dp_is_edp(intel_dp)) return 540000; return 810000; @@ -471,7 +445,7 @@ max_rate = dg2_max_source_rate(intel_dp); else if (IS_ALDERLAKE_P(dev_priv) || IS_ALDERLAKE_S(dev_priv) || IS_DG1(dev_priv) || IS_ROCKETLAKE(dev_priv)) - max_rate = dg1_max_source_rate(intel_dp); + max_rate = 810000; else if (IS_JSL_EHL(dev_priv)) max_rate = ehl_max_source_rate(intel_dp); else @@ -973,9 +947,6 @@ enum drm_mode_status status; bool dsc = false, bigjoiner = false; - if (mode->flags & DRM_MODE_FLAG_DBLSCAN) - return MODE_NO_DBLESCAN; - if (mode->flags & DRM_MODE_FLAG_DBLCLK) return MODE_H_ILLEGAL; @@ -1379,6 +1350,7 @@ * DP_DSC_RC_BUF_SIZE for this. */ vdsc_cfg->rc_model_size = DSC_RC_MODEL_SIZE_CONST; + vdsc_cfg->pic_height = crtc_state->hw.adjusted_mode.crtc_vdisplay; /* * Slice Height of 8 works for all currently available panels. So start @@ -2009,7 +1981,7 @@ if (adjusted_mode->flags & DRM_MODE_FLAG_DBLSCAN) return -EINVAL; - if (HAS_GMCH(dev_priv) && + if (!connector->base.interlace_allowed && adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) return -EINVAL; @@ -3626,61 +3598,6 @@ } } -static void -intel_dp_autotest_phy_ddi_disable(struct intel_dp *intel_dp, - const struct intel_crtc_state *crtc_state) -{ - struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); - struct drm_device *dev = dig_port->base.base.dev; - struct drm_i915_private *dev_priv = to_i915(dev); - struct intel_crtc *crtc = to_intel_crtc(dig_port->base.base.crtc); - enum pipe pipe = crtc->pipe; - u32 trans_ddi_func_ctl_value, trans_conf_value, dp_tp_ctl_value; - - trans_ddi_func_ctl_value = intel_de_read(dev_priv, - TRANS_DDI_FUNC_CTL(pipe)); - trans_conf_value = intel_de_read(dev_priv, PIPECONF(pipe)); - dp_tp_ctl_value = intel_de_read(dev_priv, TGL_DP_TP_CTL(pipe)); - - trans_ddi_func_ctl_value &= ~(TRANS_DDI_FUNC_ENABLE | - TGL_TRANS_DDI_PORT_MASK); - trans_conf_value &= ~PIPECONF_ENABLE; - dp_tp_ctl_value &= ~DP_TP_CTL_ENABLE; - - intel_de_write(dev_priv, PIPECONF(pipe), trans_conf_value); - intel_de_write(dev_priv, TRANS_DDI_FUNC_CTL(pipe), - trans_ddi_func_ctl_value); - intel_de_write(dev_priv, TGL_DP_TP_CTL(pipe), dp_tp_ctl_value); -} - -static void -intel_dp_autotest_phy_ddi_enable(struct intel_dp *intel_dp, - const struct intel_crtc_state *crtc_state) -{ - struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp); - struct drm_device *dev = dig_port->base.base.dev; - struct drm_i915_private *dev_priv = to_i915(dev); - enum port port = dig_port->base.port; - struct intel_crtc *crtc = to_intel_crtc(dig_port->base.base.crtc); - enum pipe pipe = crtc->pipe; - u32 trans_ddi_func_ctl_value, trans_conf_value, dp_tp_ctl_value; - - trans_ddi_func_ctl_value = intel_de_read(dev_priv, - TRANS_DDI_FUNC_CTL(pipe)); - trans_conf_value = intel_de_read(dev_priv, PIPECONF(pipe)); - dp_tp_ctl_value = intel_de_read(dev_priv, TGL_DP_TP_CTL(pipe)); - - trans_ddi_func_ctl_value |= TRANS_DDI_FUNC_ENABLE | - TGL_TRANS_DDI_SELECT_PORT(port); - trans_conf_value |= PIPECONF_ENABLE; - dp_tp_ctl_value |= DP_TP_CTL_ENABLE; - - intel_de_write(dev_priv, PIPECONF(pipe), trans_conf_value); - intel_de_write(dev_priv, TGL_DP_TP_CTL(pipe), dp_tp_ctl_value); - intel_de_write(dev_priv, TRANS_DDI_FUNC_CTL(pipe), - trans_ddi_func_ctl_value); -} - static void intel_dp_process_phy_request(struct intel_dp *intel_dp, const struct intel_crtc_state *crtc_state) { @@ -3699,14 +3616,10 @@ intel_dp_get_adjust_train(intel_dp, crtc_state, DP_PHY_DPRX, link_status); - intel_dp_autotest_phy_ddi_disable(intel_dp, crtc_state); - intel_dp_set_signal_levels(intel_dp, crtc_state, DP_PHY_DPRX); intel_dp_phy_pattern_update(intel_dp, crtc_state); - intel_dp_autotest_phy_ddi_enable(intel_dp, crtc_state); - drm_dp_dpcd_write(&intel_dp->aux, DP_TRAINING_LANE0_SET, intel_dp->train_set, crtc_state->lane_count); @@ -3908,6 +3821,8 @@ drm_dp_pcon_hdmi_frl_link_error_count(&intel_dp->aux, &intel_dp->attached_connector->base); + intel_dp->frl.is_trained = false; + /* Restart FRL training or fall back to TMDS mode */ intel_dp_check_frl_training(intel_dp); } @@ -4421,7 +4336,7 @@ return is_connected; } -static struct edid * +struct edid * intel_dp_get_edid(struct intel_dp *intel_dp) { struct intel_connector *intel_connector = intel_dp->attached_connector; @@ -5248,8 +5163,6 @@ intel_panel_init(intel_connector); - if (!(dev_priv->quirks & QUIRK_NO_PPS_BACKLIGHT_POWER_HOOK)) - intel_connector->panel.backlight.power = intel_pps_backlight_power; intel_backlight_setup(intel_connector, pipe); intel_edp_add_properties(intel_dp); @@ -5351,7 +5264,7 @@ drm_connector_init(dev, connector, &intel_dp_connector_funcs, type); drm_connector_helper_add(connector, &intel_dp_connector_helper_funcs); - if (!HAS_GMCH(dev_priv)) + if (!HAS_GMCH(dev_priv) && DISPLAY_VER(dev_priv) < 12) connector->interlace_allowed = true; connector->doublescan_allowed = 0; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/intel_dp.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/intel_dp.h @@ -95,6 +95,8 @@ unsigned int type); bool intel_digital_port_connected(struct intel_encoder *encoder); +struct edid *intel_dp_get_edid(struct intel_dp *intel_dp); + static inline unsigned int intel_dp_unused_lane_mask(int lane_count) { return ~((1 << lane_count) - 1) & 0xf; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/intel_dp_aux_backlight.c @@ -278,6 +278,8 @@ { struct drm_i915_private *i915 = to_i915(connector->base.dev); struct intel_panel *panel = &connector->panel; + struct drm_luminance_range_info *luminance_range = + &connector->base.display_info.luminance_range; int ret; if (panel->backlight.edp.intel.sdr_uses_aux) { @@ -293,8 +295,17 @@ } } - panel->backlight.max = 512; - panel->backlight.min = 0; + if (luminance_range->max_luminance) { + panel->backlight.max = luminance_range->max_luminance; + panel->backlight.min = luminance_range->min_luminance; + } else { + panel->backlight.max = 512; + panel->backlight.min = 0; + } + + drm_dbg_kms(&i915->drm, "Using backlight range %d..%d\n", panel->backlight.min, + panel->backlight.max); + panel->backlight.level = intel_dp_aux_hdr_get_backlight(connector, pipe); panel->backlight.enabled = panel->backlight.level != 0; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/intel_dp_link_training.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/intel_dp_link_training.c @@ -671,6 +671,28 @@ intel_dp_compute_rate(intel_dp, crtc_state->port_clock, &link_bw, &rate_select); + /* + * WaEdpLinkRateDataReload + * + * Parade PS8461E MUX (used on varius TGL+ laptops) needs + * to snoop the link rates reported by the sink when we + * use LINK_RATE_SET in order to operate in jitter cleaning + * mode (as opposed to redriver mode). Unfortunately it + * loses track of the snooped link rates when powered down, + * so we need to make it re-snoop often. Without this high + * link rates are not stable. + */ + if (!link_bw) { + struct intel_connector *connector = intel_dp->attached_connector; + __le16 sink_rates[DP_MAX_SUPPORTED_RATES]; + + drm_dbg_kms(&i915->drm, "[CONNECTOR:%d:%s] Reloading eDP link rates\n", + connector->base.base.id, connector->base.name); + + drm_dp_dpcd_read(&intel_dp->aux, DP_SUPPORTED_LINK_RATES, + sink_rates, sizeof(sink_rates)); + } + if (link_bw) drm_dbg_kms(&i915->drm, "[ENCODER:%d:%s] Using LINK_BW_SET value %02x\n", --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/intel_dsi_vbt.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/intel_dsi_vbt.c @@ -137,9 +137,9 @@ return ffs(intel_dsi->ports) - 1; if (seq_port) { - if (intel_dsi->ports & PORT_B) + if (intel_dsi->ports & BIT(PORT_B)) return PORT_B; - else if (intel_dsi->ports & PORT_C) + else if (intel_dsi->ports & BIT(PORT_C)) return PORT_C; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/intel_hdmi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/intel_hdmi.c @@ -1986,9 +1986,6 @@ bool has_hdmi_sink = intel_has_hdmi_sink(hdmi, connector->state); bool ycbcr_420_only; - if (mode->flags & DRM_MODE_FLAG_DBLSCAN) - return MODE_NO_DBLESCAN; - if ((mode->flags & DRM_MODE_FLAG_3D_MASK) == DRM_MODE_FLAG_3D_FRAME_PACKING) clock *= 2; @@ -2237,6 +2234,10 @@ if (adjusted_mode->flags & DRM_MODE_FLAG_DBLSCAN) return -EINVAL; + if (!connector->interlace_allowed && + adjusted_mode->flags & DRM_MODE_FLAG_INTERLACE) + return -EINVAL; + pipe_config->output_format = INTEL_OUTPUT_FORMAT_RGB; pipe_config->has_hdmi_sink = intel_has_hdmi_sink(intel_hdmi, conn_state); @@ -2946,9 +2947,12 @@ ddc); drm_connector_helper_add(connector, &intel_hdmi_connector_helper_funcs); - connector->interlace_allowed = 1; + if (DISPLAY_VER(dev_priv) < 12) + connector->interlace_allowed = true; + connector->doublescan_allowed = 0; - connector->stereo_allowed = 1; + + connector->stereo_allowed = true; if (DISPLAY_VER(dev_priv) >= 10) connector->ycbcr_420_allowed = true; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/intel_lpe_audio.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/intel_lpe_audio.c @@ -175,6 +175,14 @@ handle_simple_irq, "hdmi_lpe_audio_irq_handler"); + static const struct pci_device_id irq_quirk_ids[] = { + /* Dell Wyse 3040 */ + {PCI_DEVICE_SUB(PCI_VENDOR_ID_INTEL, 0x22b0, 0x1028, 0x07c1)}, + {} + }; + + if (pci_dev_present(irq_quirk_ids)) + return 0; return irq_set_chip_data(irq, dev_priv); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/intel_psr.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/intel_psr.c @@ -23,6 +23,7 @@ #include #include +#include #include "display/intel_dp.h" @@ -518,6 +519,14 @@ val |= EDP_PSR2_FRAME_BEFORE_SU(max_t(u8, intel_dp->psr.sink_sync_latency + 1, 2)); val |= intel_psr2_get_tp_time(intel_dp); + if (DISPLAY_VER(dev_priv) >= 12) { + if (intel_dp->psr.io_wake_lines < 9 && + intel_dp->psr.fast_wake_lines < 9) + val |= TGL_EDP_PSR2_BLOCK_COUNT_NUM_2; + else + val |= TGL_EDP_PSR2_BLOCK_COUNT_NUM_3; + } + /* Wa_22012278275:adl-p */ if (IS_ADLP_DISPLAY_STEP(dev_priv, STEP_A0, STEP_E0)) { static const u8 map[] = { @@ -534,31 +543,21 @@ * Still using the default IO_BUFFER_WAKE and FAST_WAKE, see * comments bellow for more information */ - u32 tmp, lines = 7; - - val |= TGL_EDP_PSR2_BLOCK_COUNT_NUM_2; + u32 tmp; - tmp = map[lines - TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES]; + tmp = map[intel_dp->psr.io_wake_lines - TGL_EDP_PSR2_IO_BUFFER_WAKE_MIN_LINES]; tmp = tmp << TGL_EDP_PSR2_IO_BUFFER_WAKE_SHIFT; val |= tmp; - tmp = map[lines - TGL_EDP_PSR2_FAST_WAKE_MIN_LINES]; + tmp = map[intel_dp->psr.fast_wake_lines - TGL_EDP_PSR2_FAST_WAKE_MIN_LINES]; tmp = tmp << TGL_EDP_PSR2_FAST_WAKE_MIN_SHIFT; val |= tmp; } else if (DISPLAY_VER(dev_priv) >= 12) { - /* - * TODO: 7 lines of IO_BUFFER_WAKE and FAST_WAKE are default - * values from BSpec. In order to setting an optimal power - * consumption, lower than 4k resoluition mode needs to decrese - * IO_BUFFER_WAKE and FAST_WAKE. And higher than 4K resolution - * mode needs to increase IO_BUFFER_WAKE and FAST_WAKE. - */ - val |= TGL_EDP_PSR2_BLOCK_COUNT_NUM_2; - val |= TGL_EDP_PSR2_IO_BUFFER_WAKE(7); - val |= TGL_EDP_PSR2_FAST_WAKE(7); + val |= TGL_EDP_PSR2_IO_BUFFER_WAKE(intel_dp->psr.io_wake_lines); + val |= TGL_EDP_PSR2_FAST_WAKE(intel_dp->psr.fast_wake_lines); } else if (DISPLAY_VER(dev_priv) >= 9) { - val |= EDP_PSR2_IO_BUFFER_WAKE(7); - val |= EDP_PSR2_FAST_WAKE(7); + val |= EDP_PSR2_IO_BUFFER_WAKE(intel_dp->psr.io_wake_lines); + val |= EDP_PSR2_FAST_WAKE(intel_dp->psr.fast_wake_lines); } if (intel_dp->psr.req_psr2_sdp_prior_scanline) @@ -727,6 +726,24 @@ struct intel_crtc_state *crtc_state) { struct drm_i915_private *dev_priv = dp_to_i915(intel_dp); + struct edid *edid; + + edid = intel_dp_get_edid(intel_dp); + + /* The mfg:prod can be obtained from EDID byte [8-11]. + * For instance, if the first bytes of EDID are + * "00 ff ff ff ff ff ff 00 4d 10 51 15 00 00 00 00", + * the mfg:prod is "4d 10 51 15". + * + * TODO: If the list grows more than three quirks, please make a quirk + * table. + */ + if (edid && edid->mfg_id[0] == 0x4d && edid->mfg_id[1] == 0x10 && + edid->prod_code[0] == 0x51 && edid->prod_code[1] == 0x15) { + drm_info_once(&dev_priv->drm, + "PSR2 sel fetch disabled\n"); + return false; + } if (!dev_priv->params.enable_psr2_sel_fetch && intel_dp->psr.debug != I915_PSR_DEBUG_ENABLE_SEL_FETCH) { @@ -812,6 +829,46 @@ return true; } +static bool _compute_psr2_wake_times(struct intel_dp *intel_dp, + struct intel_crtc_state *crtc_state) +{ + struct drm_i915_private *i915 = dp_to_i915(intel_dp); + int io_wake_lines, io_wake_time, fast_wake_lines, fast_wake_time; + u8 max_wake_lines; + + if (DISPLAY_VER(i915) >= 12) { + io_wake_time = 42; + /* + * According to Bspec it's 42us, but based on testing + * it is not enough -> use 45 us. + */ + fast_wake_time = 45; + max_wake_lines = 12; + } else { + io_wake_time = 50; + fast_wake_time = 32; + max_wake_lines = 8; + } + + io_wake_lines = intel_usecs_to_scanlines( + &crtc_state->uapi.adjusted_mode, io_wake_time); + fast_wake_lines = intel_usecs_to_scanlines( + &crtc_state->uapi.adjusted_mode, fast_wake_time); + + if (io_wake_lines > max_wake_lines || + fast_wake_lines > max_wake_lines) + return false; + + if (i915->params.psr_safest_params) + io_wake_lines = fast_wake_lines = max_wake_lines; + + /* According to Bspec lower limit should be set as 7 lines. */ + intel_dp->psr.io_wake_lines = max(io_wake_lines, 7); + intel_dp->psr.fast_wake_lines = max(fast_wake_lines, 7); + + return true; +} + static bool intel_psr2_config_valid(struct intel_dp *intel_dp, struct intel_crtc_state *crtc_state) { @@ -905,6 +962,12 @@ return false; } + if (!_compute_psr2_wake_times(intel_dp, crtc_state)) { + drm_dbg_kms(&dev_priv->drm, + "PSR2 not enabled, Unable to use long enough wake times\n"); + return false; + } + if (HAS_PSR2_SEL_FETCH(dev_priv)) { if (!intel_psr2_sel_fetch_config_valid(intel_dp, crtc_state) && !HAS_PSR_HW_TRACKING(dev_priv)) { @@ -1618,8 +1681,12 @@ } static void clip_area_update(struct drm_rect *overlap_damage_area, - struct drm_rect *damage_area) + struct drm_rect *damage_area, + struct drm_rect *pipe_src) { + if (!drm_rect_intersect(damage_area, pipe_src)) + return; + if (overlap_damage_area->y1 == -1) { overlap_damage_area->y1 = damage_area->y1; overlap_damage_area->y2 = damage_area->y2; @@ -1685,6 +1752,7 @@ int intel_psr2_sel_fetch_update(struct intel_atomic_state *state, struct intel_crtc *crtc) { + struct drm_i915_private *dev_priv = to_i915(state->base.dev); struct intel_crtc_state *crtc_state = intel_atomic_get_new_crtc_state(state, crtc); struct drm_rect pipe_clip = { .x1 = 0, .y1 = -1, .x2 = INT_MAX, .y2 = -1 }; struct intel_plane_state *new_plane_state, *old_plane_state; @@ -1708,7 +1776,8 @@ */ for_each_oldnew_intel_plane_in_state(state, plane, old_plane_state, new_plane_state, i) { - struct drm_rect src, damaged_area = { .y1 = -1 }; + struct drm_rect src, damaged_area = { .x1 = 0, .y1 = -1, + .x2 = INT_MAX }; struct drm_atomic_helper_damage_iter iter; struct drm_rect clip; @@ -1735,20 +1804,23 @@ if (old_plane_state->uapi.visible) { damaged_area.y1 = old_plane_state->uapi.dst.y1; damaged_area.y2 = old_plane_state->uapi.dst.y2; - clip_area_update(&pipe_clip, &damaged_area); + clip_area_update(&pipe_clip, &damaged_area, + &crtc_state->pipe_src); } if (new_plane_state->uapi.visible) { damaged_area.y1 = new_plane_state->uapi.dst.y1; damaged_area.y2 = new_plane_state->uapi.dst.y2; - clip_area_update(&pipe_clip, &damaged_area); + clip_area_update(&pipe_clip, &damaged_area, + &crtc_state->pipe_src); } continue; } else if (new_plane_state->uapi.alpha != old_plane_state->uapi.alpha) { /* If alpha changed mark the whole plane area as damaged */ damaged_area.y1 = new_plane_state->uapi.dst.y1; damaged_area.y2 = new_plane_state->uapi.dst.y2; - clip_area_update(&pipe_clip, &damaged_area); + clip_area_update(&pipe_clip, &damaged_area, + &crtc_state->pipe_src); continue; } @@ -1759,7 +1831,8 @@ &new_plane_state->uapi); drm_atomic_for_each_plane_damage(&iter, &clip) { if (drm_rect_intersect(&clip, &src)) - clip_area_update(&damaged_area, &clip); + clip_area_update(&damaged_area, &clip, + &crtc_state->pipe_src); } if (damaged_area.y1 == -1) @@ -1767,7 +1840,20 @@ damaged_area.y1 += new_plane_state->uapi.dst.y1 - src.y1; damaged_area.y2 += new_plane_state->uapi.dst.y1 - src.y1; - clip_area_update(&pipe_clip, &damaged_area); + clip_area_update(&pipe_clip, &damaged_area, &crtc_state->pipe_src); + } + + /* + * TODO: For now we are just using full update in case + * selective fetch area calculation fails. To optimize this we + * should identify cases where this happens and fix the area + * calculation for those. + */ + if (pipe_clip.y1 == -1) { + drm_info_once(&dev_priv->drm, + "Selective fetch area calculation failed in pipe %c\n", + pipe_name(crtc->pipe)); + full_update = true; } if (full_update) @@ -2159,8 +2245,11 @@ if (intel_dp->psr.psr2_sel_fetch_enabled) { u32 val; - if (intel_dp->psr.psr2_sel_fetch_cff_enabled) + if (intel_dp->psr.psr2_sel_fetch_cff_enabled) { + /* Send one update otherwise lag is observed in screen */ + intel_de_write(dev_priv, CURSURFLIVE(intel_dp->psr.pipe), 0); return; + } val = man_trk_ctl_enable_bit_get(dev_priv) | man_trk_ctl_partial_frame_bit_get(dev_priv) | --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/intel_quirks.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/intel_quirks.c @@ -191,6 +191,11 @@ /* ASRock ITX*/ { 0x3185, 0x1849, 0x2212, quirk_increase_ddi_disabled_time }, { 0x3184, 0x1849, 0x2212, quirk_increase_ddi_disabled_time }, + /* ECS Liva Q2 */ + { 0x3185, 0x1019, 0xa94d, quirk_increase_ddi_disabled_time }, + { 0x3184, 0x1019, 0xa94d, quirk_increase_ddi_disabled_time }, + /* HP Notebook - 14-r206nv */ + { 0x0f31, 0x103c, 0x220f, quirk_invert_brightness }, }; void intel_init_quirks(struct drm_i915_private *i915) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/intel_sdvo.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/intel_sdvo.c @@ -2747,13 +2747,10 @@ if (!intel_sdvo_connector) return false; - if (device == 0) { - intel_sdvo->controlled_output |= SDVO_OUTPUT_TMDS0; + if (device == 0) intel_sdvo_connector->output_flag = SDVO_OUTPUT_TMDS0; - } else if (device == 1) { - intel_sdvo->controlled_output |= SDVO_OUTPUT_TMDS1; + else if (device == 1) intel_sdvo_connector->output_flag = SDVO_OUTPUT_TMDS1; - } intel_connector = &intel_sdvo_connector->base; connector = &intel_connector->base; @@ -2808,7 +2805,6 @@ encoder->encoder_type = DRM_MODE_ENCODER_TVDAC; connector->connector_type = DRM_MODE_CONNECTOR_SVIDEO; - intel_sdvo->controlled_output |= type; intel_sdvo_connector->output_flag = type; if (intel_sdvo_connector_init(intel_sdvo_connector, intel_sdvo) < 0) { @@ -2849,13 +2845,10 @@ encoder->encoder_type = DRM_MODE_ENCODER_DAC; connector->connector_type = DRM_MODE_CONNECTOR_VGA; - if (device == 0) { - intel_sdvo->controlled_output |= SDVO_OUTPUT_RGB0; + if (device == 0) intel_sdvo_connector->output_flag = SDVO_OUTPUT_RGB0; - } else if (device == 1) { - intel_sdvo->controlled_output |= SDVO_OUTPUT_RGB1; + else if (device == 1) intel_sdvo_connector->output_flag = SDVO_OUTPUT_RGB1; - } if (intel_sdvo_connector_init(intel_sdvo_connector, intel_sdvo) < 0) { kfree(intel_sdvo_connector); @@ -2884,13 +2877,10 @@ encoder->encoder_type = DRM_MODE_ENCODER_LVDS; connector->connector_type = DRM_MODE_CONNECTOR_LVDS; - if (device == 0) { - intel_sdvo->controlled_output |= SDVO_OUTPUT_LVDS0; + if (device == 0) intel_sdvo_connector->output_flag = SDVO_OUTPUT_LVDS0; - } else if (device == 1) { - intel_sdvo->controlled_output |= SDVO_OUTPUT_LVDS1; + else if (device == 1) intel_sdvo_connector->output_flag = SDVO_OUTPUT_LVDS1; - } if (intel_sdvo_connector_init(intel_sdvo_connector, intel_sdvo) < 0) { kfree(intel_sdvo_connector); @@ -2923,16 +2913,39 @@ return false; } +static u16 intel_sdvo_filter_output_flags(u16 flags) +{ + flags &= SDVO_OUTPUT_MASK; + + /* SDVO requires XXX1 function may not exist unless it has XXX0 function.*/ + if (!(flags & SDVO_OUTPUT_TMDS0)) + flags &= ~SDVO_OUTPUT_TMDS1; + + if (!(flags & SDVO_OUTPUT_RGB0)) + flags &= ~SDVO_OUTPUT_RGB1; + + if (!(flags & SDVO_OUTPUT_LVDS0)) + flags &= ~SDVO_OUTPUT_LVDS1; + + return flags; +} + static bool intel_sdvo_output_setup(struct intel_sdvo *intel_sdvo, u16 flags) { - /* SDVO requires XXX1 function may not exist unless it has XXX0 function.*/ + struct drm_i915_private *i915 = to_i915(intel_sdvo->base.base.dev); + + flags = intel_sdvo_filter_output_flags(flags); + + intel_sdvo->controlled_output = flags; + + intel_sdvo_select_ddc_bus(i915, intel_sdvo); if (flags & SDVO_OUTPUT_TMDS0) if (!intel_sdvo_dvi_init(intel_sdvo, 0)) return false; - if ((flags & SDVO_TMDS_MASK) == SDVO_TMDS_MASK) + if (flags & SDVO_OUTPUT_TMDS1) if (!intel_sdvo_dvi_init(intel_sdvo, 1)) return false; @@ -2953,7 +2966,7 @@ if (!intel_sdvo_analog_init(intel_sdvo, 0)) return false; - if ((flags & SDVO_RGB_MASK) == SDVO_RGB_MASK) + if (flags & SDVO_OUTPUT_RGB1) if (!intel_sdvo_analog_init(intel_sdvo, 1)) return false; @@ -2961,14 +2974,13 @@ if (!intel_sdvo_lvds_init(intel_sdvo, 0)) return false; - if ((flags & SDVO_LVDS_MASK) == SDVO_LVDS_MASK) + if (flags & SDVO_OUTPUT_LVDS1) if (!intel_sdvo_lvds_init(intel_sdvo, 1)) return false; - if ((flags & SDVO_OUTPUT_MASK) == 0) { + if (flags == 0) { unsigned char bytes[2]; - intel_sdvo->controlled_output = 0; memcpy(bytes, &intel_sdvo->caps.output_flags, 2); DRM_DEBUG_KMS("%s: Unknown SDVO output type (0x%02x%02x)\n", SDVO_NAME(intel_sdvo), @@ -3380,8 +3392,6 @@ */ intel_sdvo->base.cloneable = 0; - intel_sdvo_select_ddc_bus(dev_priv, intel_sdvo); - /* Set the input timing to the screen. Assume always input 0. */ if (!intel_sdvo_set_target_input(intel_sdvo)) goto err_output; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/intel_vdsc.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/intel_vdsc.c @@ -460,7 +460,6 @@ u8 i = 0; vdsc_cfg->pic_width = pipe_config->hw.adjusted_mode.crtc_hdisplay; - vdsc_cfg->pic_height = pipe_config->hw.adjusted_mode.crtc_vdisplay; vdsc_cfg->slice_width = DIV_ROUND_UP(vdsc_cfg->pic_width, pipe_config->dsc.slice_count); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/display/skl_universal_plane.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/display/skl_universal_plane.c @@ -1620,7 +1620,7 @@ u32 offset; int ret; - if (w > max_width || w < min_width || h > max_height) { + if (w > max_width || w < min_width || h > max_height || h < 1) { drm_dbg_kms(&dev_priv->drm, "requested Y/RGB source size %dx%d outside limits (min: %dx1 max: %dx%d)\n", w, h, min_width, max_width, max_height); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gem/i915_gem_context.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gem/i915_gem_context.c @@ -1269,6 +1269,10 @@ trace_i915_context_free(ctx); GEM_BUG_ON(!i915_gem_context_is_closed(ctx)); + spin_lock(&ctx->i915->gem.contexts.lock); + list_del(&ctx->link); + spin_unlock(&ctx->i915->gem.contexts.lock); + if (ctx->syncobj) drm_syncobj_put(ctx->syncobj); @@ -1514,10 +1518,6 @@ ctx->file_priv = ERR_PTR(-EBADF); - spin_lock(&ctx->i915->gem.contexts.lock); - list_del(&ctx->link); - spin_unlock(&ctx->i915->gem.contexts.lock); - client = ctx->client; if (client) { spin_lock(&client->ctx_lock); @@ -1687,6 +1687,10 @@ init_contexts(&i915->gem.contexts); } +/* + * Note that this implicitly consumes the ctx reference, by placing + * the ctx in the context_xa. + */ static void gem_context_register(struct i915_gem_context *ctx, struct drm_i915_file_private *fpriv, u32 id) @@ -1702,10 +1706,6 @@ snprintf(ctx->name, sizeof(ctx->name), "%s[%d]", current->comm, pid_nr(ctx->pid)); - /* And finally expose ourselves to userspace via the idr */ - old = xa_store(&fpriv->context_xa, id, ctx, GFP_KERNEL); - WARN_ON(old); - spin_lock(&ctx->client->ctx_lock); list_add_tail_rcu(&ctx->client_link, &ctx->client->ctx_list); spin_unlock(&ctx->client->ctx_lock); @@ -1713,6 +1713,10 @@ spin_lock(&i915->gem.contexts.lock); list_add_tail(&ctx->link, &i915->gem.contexts.list); spin_unlock(&i915->gem.contexts.lock); + + /* And finally expose ourselves to userspace via the idr */ + old = xa_store(&fpriv->context_xa, id, ctx, GFP_KERNEL); + WARN_ON(old); } int i915_gem_context_open(struct drm_i915_private *i915, @@ -1856,11 +1860,19 @@ vm = ctx->vm; GEM_BUG_ON(!vm); + /* + * Get a reference for the allocated handle. Once the handle is + * visible in the vm_xa table, userspace could try to close it + * from under our feet, so we need to hold the extra reference + * first. + */ + i915_vm_get(vm); + err = xa_alloc(&file_priv->vm_xa, &id, vm, xa_limit_32b, GFP_KERNEL); - if (err) + if (err) { + i915_vm_put(vm); return err; - - i915_vm_get(vm); + } GEM_BUG_ON(id == 0); /* reserved for invalid/unassigned ppgtt */ args->value = id; @@ -2197,14 +2209,22 @@ if (IS_ERR(ctx)) return ctx; + /* + * One for the xarray and one for the caller. We need to grab + * the reference *prior* to making the ctx visble to userspace + * in gem_context_register(), as at any point after that + * userspace can try to race us with another thread destroying + * the context under our feet. + */ + i915_gem_context_get(ctx); + gem_context_register(ctx, file_priv, id); old = xa_erase(&file_priv->proto_context_xa, id); GEM_BUG_ON(old != pc); proto_context_close(file_priv->dev_priv, pc); - /* One for the xarray and one for the caller */ - return i915_gem_context_get(ctx); + return ctx; } struct i915_gem_context * --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gem/i915_gem_dmabuf.c @@ -40,13 +40,13 @@ goto err; } - ret = sg_alloc_table(st, obj->mm.pages->nents, GFP_KERNEL); + ret = sg_alloc_table(st, obj->mm.pages->orig_nents, GFP_KERNEL); if (ret) goto err_free; src = obj->mm.pages->sgl; dst = st->sgl; - for (i = 0; i < obj->mm.pages->nents; i++) { + for (i = 0; i < obj->mm.pages->orig_nents; i++) { sg_set_page(dst, sg_page(src), src->length, 0); dst = sg_next(dst); src = sg_next(src); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c @@ -730,37 +730,74 @@ bool unpinned; /* - * Attempt to pin all of the buffers into the GTT. - * This is done in 2 phases: + * We have one more buffers that we couldn't bind, which could be due to + * various reasons. To resolve this we have 4 passes, with every next + * level turning the screws tighter: * - * 1. Unbind all objects that do not match the GTT constraints for - * the execbuffer (fenceable, mappable, alignment etc). - * 2. Bind new objects. + * 0. Unbind all objects that do not match the GTT constraints for the + * execbuffer (fenceable, mappable, alignment etc). Bind all new + * objects. This avoids unnecessary unbinding of later objects in order + * to make room for the earlier objects *unless* we need to defragment. * - * This avoid unnecessary unbinding of later objects in order to make - * room for the earlier objects *unless* we need to defragment. + * 1. Reorder the buffers, where objects with the most restrictive + * placement requirements go first (ignoring fixed location buffers for + * now). For example, objects needing the mappable aperture (the first + * 256M of GTT), should go first vs objects that can be placed just + * about anywhere. Repeat the previous pass. * - * Defragmenting is skipped if all objects are pinned at a fixed location. + * 2. Consider buffers that are pinned at a fixed location. Also try to + * evict the entire VM this time, leaving only objects that we were + * unable to lock. Try again to bind the buffers. (still using the new + * buffer order). + * + * 3. We likely have object lock contention for one or more stubborn + * objects in the VM, for which we need to evict to make forward + * progress (perhaps we are fighting the shrinker?). When evicting the + * VM this time around, anything that we can't lock we now track using + * the busy_bo, using the full lock (after dropping the vm->mutex to + * prevent deadlocks), instead of trylock. We then continue to evict the + * VM, this time with the stubborn object locked, which we can now + * hopefully unbind (if still bound in the VM). Repeat until the VM is + * evicted. Finally we should be able bind everything. */ - for (pass = 0; pass <= 2; pass++) { + for (pass = 0; pass <= 3; pass++) { int pin_flags = PIN_USER | PIN_VALIDATE; if (pass == 0) pin_flags |= PIN_NONBLOCK; if (pass >= 1) - unpinned = eb_unbind(eb, pass == 2); + unpinned = eb_unbind(eb, pass >= 2); if (pass == 2) { err = mutex_lock_interruptible(&eb->context->vm->mutex); if (!err) { - err = i915_gem_evict_vm(eb->context->vm, &eb->ww); + err = i915_gem_evict_vm(eb->context->vm, &eb->ww, NULL); mutex_unlock(&eb->context->vm->mutex); } if (err) return err; } + if (pass == 3) { +retry: + err = mutex_lock_interruptible(&eb->context->vm->mutex); + if (!err) { + struct drm_i915_gem_object *busy_bo = NULL; + + err = i915_gem_evict_vm(eb->context->vm, &eb->ww, &busy_bo); + mutex_unlock(&eb->context->vm->mutex); + if (err && busy_bo) { + err = i915_gem_object_lock(busy_bo, &eb->ww); + i915_gem_object_put(busy_bo); + if (!err) + goto retry; + } + } + if (err) + return err; + } + list_for_each_entry(ev, &eb->unbound, bind_link) { err = eb_reserve_vma(eb, ev, pin_flags); if (err) @@ -3433,6 +3470,13 @@ eb.composite_fence : &eb.requests[0]->fence); + if (unlikely(eb.gem_context->syncobj)) { + drm_syncobj_replace_fence(eb.gem_context->syncobj, + eb.composite_fence ? + eb.composite_fence : + &eb.requests[0]->fence); + } + if (out_fence) { if (err == 0) { fd_install(out_fence_fd, out_fence->file); @@ -3444,13 +3488,6 @@ } } - if (unlikely(eb.gem_context->syncobj)) { - drm_syncobj_replace_fence(eb.gem_context->syncobj, - eb.composite_fence ? - eb.composite_fence : - &eb.requests[0]->fence); - } - if (!out_fence && eb.composite_fence) dma_fence_put(eb.composite_fence); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gem/i915_gem_internal.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gem/i915_gem_internal.c @@ -6,7 +6,6 @@ #include #include -#include #include "i915_drv.h" #include "i915_gem.h" @@ -38,22 +37,12 @@ struct scatterlist *sg; unsigned int sg_page_sizes; unsigned int npages; - int max_order; + int max_order = MAX_ORDER; + unsigned int max_segment; gfp_t gfp; - max_order = MAX_ORDER; -#ifdef CONFIG_SWIOTLB - if (is_swiotlb_active(obj->base.dev->dev)) { - unsigned int max_segment; - - max_segment = swiotlb_max_segment(); - if (max_segment) { - max_segment = max_t(unsigned int, max_segment, - PAGE_SIZE) >> PAGE_SHIFT; - max_order = min(max_order, ilog2(max_segment)); - } - } -#endif + max_segment = i915_sg_segment_size(i915->drm.dev) >> PAGE_SHIFT; + max_order = min(max_order, get_order(max_segment)); gfp = GFP_KERNEL | __GFP_HIGHMEM | __GFP_RECLAIMABLE; if (IS_I965GM(i915) || IS_I965G(i915)) { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gem/i915_gem_mman.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gem/i915_gem_mman.c @@ -369,7 +369,7 @@ if (vma == ERR_PTR(-ENOSPC)) { ret = mutex_lock_interruptible(&ggtt->vm.mutex); if (!ret) { - ret = i915_gem_evict_vm(&ggtt->vm, &ww); + ret = i915_gem_evict_vm(&ggtt->vm, &ww, NULL); mutex_unlock(&ggtt->vm.mutex); } if (ret) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gem/i915_gem_object.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gem/i915_gem_object.c @@ -268,7 +268,7 @@ */ void __i915_gem_object_pages_fini(struct drm_i915_gem_object *obj) { - assert_object_held(obj); + assert_object_held_shared(obj); if (!list_empty(&obj->vma.list)) { struct i915_vma *vma; @@ -331,15 +331,7 @@ continue; } - if (!i915_gem_object_trylock(obj, NULL)) { - /* busy, toss it back to the pile */ - if (llist_add(&obj->freed, &i915->mm.free_list)) - queue_delayed_work(i915->wq, &i915->mm.free_work, msecs_to_jiffies(10)); - continue; - } - __i915_gem_object_pages_fini(obj); - i915_gem_object_unlock(obj); __i915_gem_free_object(obj); /* But keep the pointer alive for RCU-protected lookups */ @@ -359,7 +351,7 @@ static void __i915_gem_free_work(struct work_struct *work) { struct drm_i915_private *i915 = - container_of(work, struct drm_i915_private, mm.free_work.work); + container_of(work, struct drm_i915_private, mm.free_work); i915_gem_flush_free_objects(i915); } @@ -391,7 +383,7 @@ */ if (llist_add(&obj->freed, &i915->mm.free_list)) - queue_delayed_work(i915->wq, &i915->mm.free_work, 0); + queue_work(i915->wq, &i915->mm.free_work); } void __i915_gem_object_flush_frontbuffer(struct drm_i915_gem_object *obj, @@ -719,7 +711,7 @@ void i915_gem_init__objects(struct drm_i915_private *i915) { - INIT_DELAYED_WORK(&i915->mm.free_work, __i915_gem_free_work); + INIT_WORK(&i915->mm.free_work, __i915_gem_free_work); } void i915_objects_module_exit(void) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gem/i915_gem_object_types.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gem/i915_gem_object_types.h @@ -335,7 +335,6 @@ #define I915_BO_READONLY BIT(7) #define I915_TILING_QUIRK_BIT 8 /* unknown swizzling; do not release! */ #define I915_BO_PROTECTED BIT(9) -#define I915_BO_WAS_BOUND_BIT 10 /** * @mem_flags - Mutable placement-related flags * @@ -598,6 +597,8 @@ * pages were last acquired. */ bool dirty:1; + + u32 tlb; } mm; struct { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gem/i915_gem_pages.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gem/i915_gem_pages.c @@ -6,14 +6,15 @@ #include +#include "gt/intel_gt.h" +#include "gt/intel_gt_pm.h" + #include "i915_drv.h" #include "i915_gem_object.h" #include "i915_scatterlist.h" #include "i915_gem_lmem.h" #include "i915_gem_mman.h" -#include "gt/intel_gt.h" - void __i915_gem_object_set_pages(struct drm_i915_gem_object *obj, struct sg_table *pages, unsigned int sg_page_sizes) @@ -190,6 +191,18 @@ vunmap(ptr); } +static void flush_tlb_invalidate(struct drm_i915_gem_object *obj) +{ + struct drm_i915_private *i915 = to_i915(obj->base.dev); + struct intel_gt *gt = to_gt(i915); + + if (!obj->mm.tlb) + return; + + intel_gt_invalidate_tlb(gt, obj->mm.tlb); + obj->mm.tlb = 0; +} + struct sg_table * __i915_gem_object_unset_pages(struct drm_i915_gem_object *obj) { @@ -215,13 +228,7 @@ __i915_gem_object_reset_page_iter(obj); obj->mm.page_sizes.phys = obj->mm.page_sizes.sg = 0; - if (test_and_clear_bit(I915_BO_WAS_BOUND_BIT, &obj->flags)) { - struct drm_i915_private *i915 = to_i915(obj->base.dev); - intel_wakeref_t wakeref; - - with_intel_runtime_pm_if_active(&i915->runtime_pm, wakeref) - intel_gt_invalidate_tlbs(to_gt(i915)); - } + flush_tlb_invalidate(obj); return pages; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gem/i915_gem_shmem.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gem/i915_gem_shmem.c @@ -194,7 +194,7 @@ struct intel_memory_region *mem = obj->mm.region; struct address_space *mapping = obj->base.filp->f_mapping; const unsigned long page_count = obj->base.size / PAGE_SIZE; - unsigned int max_segment = i915_sg_segment_size(); + unsigned int max_segment = i915_sg_segment_size(i915->drm.dev); struct sg_table *st; struct sgt_iter sgt_iter; struct page *page; @@ -369,14 +369,14 @@ __start_cpu_write(obj); /* - * On non-LLC platforms, force the flush-on-acquire if this is ever + * On non-LLC igfx platforms, force the flush-on-acquire if this is ever * swapped-in. Our async flush path is not trust worthy enough yet(and * happens in the wrong order), and with some tricks it's conceivable * for userspace to change the cache-level to I915_CACHE_NONE after the * pages are swapped-in, and since execbuf binds the object before doing * the async flush, we have a race window. */ - if (!HAS_LLC(i915)) + if (!HAS_LLC(i915) && !IS_DGFX(i915)) obj->cache_dirty = true; } @@ -579,7 +579,7 @@ mapping_set_gfp_mask(mapping, mask); GEM_BUG_ON(!(mapping_gfp_mask(mapping) & __GFP_RECLAIM)); - i915_gem_object_init(obj, &i915_gem_shmem_ops, &lock_class, 0); + i915_gem_object_init(obj, &i915_gem_shmem_ops, &lock_class, flags); obj->mem_flags |= I915_BO_FLAG_STRUCT_PAGE; obj->write_domain = I915_GEM_DOMAIN_CPU; obj->read_domains = I915_GEM_DOMAIN_CPU; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gem/i915_gem_tiling.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gem/i915_gem_tiling.c @@ -305,10 +305,6 @@ spin_unlock(&obj->vma.lock); obj->tiling_and_stride = tiling | stride; - i915_gem_object_unlock(obj); - - /* Force the fence to be reacquired for GTT access */ - i915_gem_object_release_mmap_gtt(obj); /* Try to preallocate memory required to save swizzling on put-pages */ if (i915_gem_object_needs_bit17_swizzle(obj)) { @@ -321,6 +317,11 @@ obj->bit_17 = NULL; } + i915_gem_object_unlock(obj); + + /* Force the fence to be reacquired for GTT access */ + i915_gem_object_release_mmap_gtt(obj); + return 0; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gem/i915_gem_ttm.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gem/i915_gem_ttm.c @@ -189,7 +189,7 @@ struct drm_i915_private *i915 = container_of(bdev, typeof(*i915), bdev); struct intel_memory_region *mr = i915->mm.regions[INTEL_MEMORY_SYSTEM]; struct i915_ttm_tt *i915_tt = container_of(ttm, typeof(*i915_tt), ttm); - const unsigned int max_segment = i915_sg_segment_size(); + const unsigned int max_segment = i915_sg_segment_size(i915->drm.dev); const size_t size = (size_t)ttm->num_pages << PAGE_SHIFT; struct file *filp = i915_tt->filp; struct sgt_iter sgt_iter; @@ -586,7 +586,7 @@ ret = sg_alloc_table_from_pages_segment(st, ttm->pages, ttm->num_pages, 0, (unsigned long)ttm->num_pages << PAGE_SHIFT, - i915_sg_segment_size(), GFP_KERNEL); + i915_sg_segment_size(i915_tt->dev), GFP_KERNEL); if (ret) { st->sgl = NULL; return ERR_PTR(ret); @@ -660,6 +660,10 @@ WARN_ON_ONCE(obj->mm.madv == I915_MADV_WILLNEED); + err = ttm_bo_wait(bo, true, false); + if (err) + return err; + err = i915_ttm_move_notify(bo); if (err) return err; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gem/i915_gem_userptr.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gem/i915_gem_userptr.c @@ -129,7 +129,7 @@ static int i915_gem_userptr_get_pages(struct drm_i915_gem_object *obj) { const unsigned long num_pages = obj->base.size >> PAGE_SHIFT; - unsigned int max_segment = i915_sg_segment_size(); + unsigned int max_segment = i915_sg_segment_size(obj->base.dev->dev); struct sg_table *st; unsigned int sg_page_sizes; struct page **pvec; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/gen6_ppgtt.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/gen6_ppgtt.c @@ -247,6 +247,7 @@ i915_gem_object_put(vm->scratch[1]); err_scratch0: i915_gem_object_put(vm->scratch[0]); + vm->scratch[0] = NULL; return ret; } @@ -268,9 +269,10 @@ gen6_ppgtt_free_pd(ppgtt); free_scratch(vm); - mutex_destroy(&ppgtt->flush); + if (ppgtt->base.pd) + free_pd(&ppgtt->base.vm, ppgtt->base.pd); - free_pd(&ppgtt->base.vm, ppgtt->base.pd); + mutex_destroy(&ppgtt->flush); } static void pd_vma_bind(struct i915_address_space *vm, @@ -449,19 +451,17 @@ err = gen6_ppgtt_init_scratch(ppgtt); if (err) - goto err_free; + goto err_put; ppgtt->base.pd = gen6_alloc_top_pd(ppgtt); if (IS_ERR(ppgtt->base.pd)) { err = PTR_ERR(ppgtt->base.pd); - goto err_scratch; + goto err_put; } return &ppgtt->base; -err_scratch: - free_scratch(&ppgtt->base.vm); -err_free: - kfree(ppgtt); +err_put: + i915_vm_put(&ppgtt->base.vm); return ERR_PTR(err); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/gen8_ppgtt.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/gen8_ppgtt.c @@ -196,7 +196,10 @@ if (intel_vgpu_active(vm->i915)) gen8_ppgtt_notify_vgt(ppgtt, false); - __gen8_ppgtt_cleanup(vm, ppgtt->pd, gen8_pd_top_count(vm), vm->top); + if (ppgtt->pd) + __gen8_ppgtt_cleanup(vm, ppgtt->pd, + gen8_pd_top_count(vm), vm->top); + free_scratch(vm); } @@ -803,8 +806,10 @@ struct drm_i915_gem_object *obj; obj = vm->alloc_pt_dma(vm, I915_GTT_PAGE_SIZE_4K); - if (IS_ERR(obj)) + if (IS_ERR(obj)) { + ret = PTR_ERR(obj); goto free_scratch; + } ret = map_pt_dma(vm, obj); if (ret) { @@ -823,7 +828,8 @@ free_scratch: while (i--) i915_gem_object_put(vm->scratch[i]); - return -ENOMEM; + vm->scratch[0] = NULL; + return ret; } static int gen8_preallocate_top_level_pdp(struct i915_ppgtt *ppgtt) @@ -901,6 +907,7 @@ struct i915_ppgtt *gen8_ppgtt_create(struct intel_gt *gt, unsigned long lmem_pt_obj_flags) { + struct i915_page_directory *pd; struct i915_ppgtt *ppgtt; int err; @@ -946,21 +953,7 @@ ppgtt->vm.alloc_scratch_dma = alloc_pt_dma; } - err = gen8_init_scratch(&ppgtt->vm); - if (err) - goto err_free; - - ppgtt->pd = gen8_alloc_top_pd(&ppgtt->vm); - if (IS_ERR(ppgtt->pd)) { - err = PTR_ERR(ppgtt->pd); - goto err_free_scratch; - } - - if (!i915_vm_is_4lvl(&ppgtt->vm)) { - err = gen8_preallocate_top_level_pdp(ppgtt); - if (err) - goto err_free_pd; - } + ppgtt->vm.pte_encode = gen8_pte_encode; ppgtt->vm.bind_async_flags = I915_VMA_LOCAL_BIND; ppgtt->vm.insert_entries = gen8_ppgtt_insert; @@ -971,22 +964,31 @@ ppgtt->vm.allocate_va_range = gen8_ppgtt_alloc; ppgtt->vm.clear_range = gen8_ppgtt_clear; ppgtt->vm.foreach = gen8_ppgtt_foreach; + ppgtt->vm.cleanup = gen8_ppgtt_cleanup; - ppgtt->vm.pte_encode = gen8_pte_encode; + err = gen8_init_scratch(&ppgtt->vm); + if (err) + goto err_put; + + pd = gen8_alloc_top_pd(&ppgtt->vm); + if (IS_ERR(pd)) { + err = PTR_ERR(pd); + goto err_put; + } + ppgtt->pd = pd; + + if (!i915_vm_is_4lvl(&ppgtt->vm)) { + err = gen8_preallocate_top_level_pdp(ppgtt); + if (err) + goto err_put; + } if (intel_vgpu_active(gt->i915)) gen8_ppgtt_notify_vgt(ppgtt, true); - ppgtt->vm.cleanup = gen8_ppgtt_cleanup; - return ppgtt; -err_free_pd: - __gen8_ppgtt_cleanup(&ppgtt->vm, ppgtt->pd, - gen8_pd_top_count(&ppgtt->vm), ppgtt->vm.top); -err_free_scratch: - free_scratch(&ppgtt->vm); -err_free: - kfree(ppgtt); +err_put: + i915_vm_put(&ppgtt->vm); return ERR_PTR(err); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_context.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_context.c @@ -528,7 +528,7 @@ return rq; } -struct i915_request *intel_context_find_active_request(struct intel_context *ce) +struct i915_request *intel_context_get_active_request(struct intel_context *ce) { struct intel_context *parent = intel_context_to_parent(ce); struct i915_request *rq, *active = NULL; @@ -552,6 +552,8 @@ active = rq; } + if (active) + active = i915_request_get_rcu(active); spin_unlock_irqrestore(&parent->guc_state.lock, flags); return active; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_context.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_context.h @@ -266,8 +266,7 @@ struct i915_request *intel_context_create_request(struct intel_context *ce); -struct i915_request * -intel_context_find_active_request(struct intel_context *ce); +struct i915_request *intel_context_get_active_request(struct intel_context *ce); static inline bool intel_context_is_barrier(const struct intel_context *ce) { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_engine.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_engine.h @@ -248,8 +248,8 @@ ktime_t intel_engine_get_busy_time(struct intel_engine_cs *engine, ktime_t *now); -struct i915_request * -intel_engine_execlist_find_hung_request(struct intel_engine_cs *engine); +void intel_engine_get_hung_entity(struct intel_engine_cs *engine, + struct intel_context **ce, struct i915_request **rq); u32 intel_engine_context_size(struct intel_gt *gt, u8 class); struct intel_context * --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_engine_cs.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_engine_cs.c @@ -421,6 +421,17 @@ engine->logical_mask = BIT(logical_instance); __sprint_engine_name(engine); + if ((engine->class == COMPUTE_CLASS && !RCS_MASK(engine->gt) && + __ffs(CCS_MASK(engine->gt)) == engine->instance) || + engine->class == RENDER_CLASS) + engine->flags |= I915_ENGINE_FIRST_RENDER_COMPUTE; + + /* features common between engines sharing EUs */ + if (engine->class == RENDER_CLASS || engine->class == COMPUTE_CLASS) { + engine->flags |= I915_ENGINE_HAS_RCS_REG_STATE; + engine->flags |= I915_ENGINE_HAS_EU_PRIORITY; + } + engine->props.heartbeat_interval_ms = CONFIG_DRM_I915_HEARTBEAT_INTERVAL; engine->props.max_busywait_duration_ns = @@ -433,20 +444,9 @@ CONFIG_DRM_I915_TIMESLICE_DURATION; /* Override to uninterruptible for OpenCL workloads. */ - if (GRAPHICS_VER(i915) == 12 && engine->class == RENDER_CLASS) + if (GRAPHICS_VER(i915) == 12 && (engine->flags & I915_ENGINE_HAS_RCS_REG_STATE)) engine->props.preempt_timeout_ms = 0; - if ((engine->class == COMPUTE_CLASS && !RCS_MASK(engine->gt) && - __ffs(CCS_MASK(engine->gt)) == engine->instance) || - engine->class == RENDER_CLASS) - engine->flags |= I915_ENGINE_FIRST_RENDER_COMPUTE; - - /* features common between engines sharing EUs */ - if (engine->class == RENDER_CLASS || engine->class == COMPUTE_CLASS) { - engine->flags |= I915_ENGINE_HAS_RCS_REG_STATE; - engine->flags |= I915_ENGINE_HAS_EU_PRIORITY; - } - engine->defaults = engine->props; /* never to change again */ engine->context_size = intel_engine_context_size(gt, engine->class); @@ -1917,17 +1917,6 @@ } } -static unsigned long list_count(struct list_head *list) -{ - struct list_head *pos; - unsigned long count = 0; - - list_for_each(pos, list) - count++; - - return count; -} - static unsigned long read_ul(void *p, size_t x) { return *(unsigned long *)(p + x); @@ -2019,11 +2008,11 @@ } } -static void engine_dump_active_requests(struct intel_engine_cs *engine, struct drm_printer *m) +static void engine_dump_active_requests(struct intel_engine_cs *engine, + struct drm_printer *m) { + struct intel_context *hung_ce = NULL; struct i915_request *hung_rq = NULL; - struct intel_context *ce; - bool guc; /* * No need for an engine->irq_seqno_barrier() before the seqno reads. @@ -2032,27 +2021,22 @@ * But the intention here is just to report an instantaneous snapshot * so that's fine. */ - lockdep_assert_held(&engine->sched_engine->lock); + intel_engine_get_hung_entity(engine, &hung_ce, &hung_rq); drm_printf(m, "\tRequests:\n"); - guc = intel_uc_uses_guc_submission(&engine->gt->uc); - if (guc) { - ce = intel_engine_get_hung_context(engine); - if (ce) - hung_rq = intel_context_find_active_request(ce); - } else { - hung_rq = intel_engine_execlist_find_hung_request(engine); - } - if (hung_rq) engine_dump_request(hung_rq, m, "\t\thung"); + else if (hung_ce) + drm_printf(m, "\t\tGot hung ce but no hung rq!\n"); - if (guc) + if (intel_uc_uses_guc_submission(&engine->gt->uc)) intel_guc_dump_active_requests(engine, hung_rq, m); else - intel_engine_dump_active_requests(&engine->sched_engine->requests, - hung_rq, m); + intel_execlists_dump_active_requests(engine, hung_rq, m); + + if (hung_rq) + i915_request_put(hung_rq); } void intel_engine_dump(struct intel_engine_cs *engine, @@ -2062,7 +2046,6 @@ struct i915_gpu_error * const error = &engine->i915->gpu_error; struct i915_request *rq; intel_wakeref_t wakeref; - unsigned long flags; ktime_t dummy; if (header) { @@ -2099,13 +2082,8 @@ i915_reset_count(error)); print_properties(engine, m); - spin_lock_irqsave(&engine->sched_engine->lock, flags); engine_dump_active_requests(engine, m); - drm_printf(m, "\tOn hold?: %lu\n", - list_count(&engine->sched_engine->hold)); - spin_unlock_irqrestore(&engine->sched_engine->lock, flags); - drm_printf(m, "\tMMIO base: 0x%08x\n", engine->mmio_base); wakeref = intel_runtime_pm_get_if_in_use(engine->uncore->rpm); if (wakeref) { @@ -2151,8 +2129,7 @@ return siblings[0]->cops->create_virtual(siblings, count, flags); } -struct i915_request * -intel_engine_execlist_find_hung_request(struct intel_engine_cs *engine) +static struct i915_request *engine_execlist_find_hung_request(struct intel_engine_cs *engine) { struct i915_request *request, *active = NULL; @@ -2204,6 +2181,33 @@ return active; } +void intel_engine_get_hung_entity(struct intel_engine_cs *engine, + struct intel_context **ce, struct i915_request **rq) +{ + unsigned long flags; + + *ce = intel_engine_get_hung_context(engine); + if (*ce) { + intel_engine_clear_hung_context(engine); + + *rq = intel_context_get_active_request(*ce); + return; + } + + /* + * Getting here with GuC enabled means it is a forced error capture + * with no actual hang. So, no need to attempt the execlist search. + */ + if (intel_uc_uses_guc_submission(&engine->gt->uc)) + return; + + spin_lock_irqsave(&engine->sched_engine->lock, flags); + *rq = engine_execlist_find_hung_request(engine); + if (*rq) + *rq = i915_request_get_rcu(*rq); + spin_unlock_irqrestore(&engine->sched_engine->lock, flags); +} + void xehp_enable_ccs_engines(struct intel_engine_cs *engine) { /* --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_engine_types.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_engine_types.h @@ -156,6 +156,21 @@ struct timer_list preempt; /** + * @preempt_target: active request at the time of the preemption request + * + * We force a preemption to occur if the pending contexts have not + * been promoted to active upon receipt of the CS ack event within + * the timeout. This timeout maybe chosen based on the target, + * using a very short timeout if the context is no longer schedulable. + * That short timeout may not be applicable to other contexts, so + * if a context switch should happen within before the preemption + * timeout, we may shoot early at an innocent context. To prevent this, + * we record which context was active at the time of the preemption + * request and only reset that context upon the timeout. + */ + const struct i915_request *preempt_target; + + /** * @ccid: identifier for contexts submitted to this engine */ u32 ccid; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_execlists_submission.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_execlists_submission.c @@ -1241,6 +1241,9 @@ if (!rq) return 0; + /* Only allow ourselves to force reset the currently active context */ + engine->execlists.preempt_target = rq; + /* Force a fast reset for terminated contexts (ignoring sysfs!) */ if (unlikely(intel_context_is_banned(rq->context) || bad_request(rq))) return 1; @@ -2427,8 +2430,24 @@ GEM_BUG_ON(inactive - post > ARRAY_SIZE(post)); if (unlikely(preempt_timeout(engine))) { + const struct i915_request *rq = *engine->execlists.active; + + /* + * If after the preempt-timeout expired, we are still on the + * same active request/context as before we initiated the + * preemption, reset the engine. + * + * However, if we have processed a CS event to switch contexts, + * but not yet processed the CS event for the pending + * preemption, reset the timer allowing the new context to + * gracefully exit. + */ cancel_timer(&engine->execlists.preempt); - engine->execlists.error_interrupt |= ERROR_PREEMPT; + if (rq == engine->execlists.preempt_target) + engine->execlists.error_interrupt |= ERROR_PREEMPT; + else + set_timer_ms(&engine->execlists.preempt, + active_preempt_timeout(engine, rq)); } if (unlikely(READ_ONCE(engine->execlists.error_interrupt))) { @@ -4125,6 +4144,33 @@ spin_unlock_irqrestore(&sched_engine->lock, flags); } +static unsigned long list_count(struct list_head *list) +{ + struct list_head *pos; + unsigned long count = 0; + + list_for_each(pos, list) + count++; + + return count; +} + +void intel_execlists_dump_active_requests(struct intel_engine_cs *engine, + struct i915_request *hung_rq, + struct drm_printer *m) +{ + unsigned long flags; + + spin_lock_irqsave(&engine->sched_engine->lock, flags); + + intel_engine_dump_active_requests(&engine->sched_engine->requests, hung_rq, m); + + drm_printf(m, "\tOn hold?: %lu\n", + list_count(&engine->sched_engine->hold)); + + spin_unlock_irqrestore(&engine->sched_engine->lock, flags); +} + #if IS_ENABLED(CONFIG_DRM_I915_SELFTEST) #include "selftest_execlists.c" #endif --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_execlists_submission.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_execlists_submission.h @@ -32,6 +32,10 @@ int indent), unsigned int max); +void intel_execlists_dump_active_requests(struct intel_engine_cs *engine, + struct i915_request *hung_rq, + struct drm_printer *m); + bool intel_engine_in_execlists_submission_mode(const struct intel_engine_cs *engine); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_gt.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_gt.c @@ -10,7 +10,9 @@ #include "pxp/intel_pxp.h" #include "i915_drv.h" +#include "i915_perf_oa_regs.h" #include "intel_context.h" +#include "intel_engine_pm.h" #include "intel_engine_regs.h" #include "intel_gt.h" #include "intel_gt_buffer_pool.h" @@ -34,8 +36,6 @@ { spin_lock_init(>->irq_lock); - mutex_init(>->tlb_invalidate_lock); - INIT_LIST_HEAD(>->closed_vma); spin_lock_init(>->closed_lock); @@ -46,6 +46,8 @@ intel_gt_init_reset(gt); intel_gt_init_requests(gt); intel_gt_init_timelines(gt); + mutex_init(>->tlb.invalidate_lock); + seqcount_mutex_init(>->tlb.seqno, >->tlb.invalidate_lock); intel_gt_pm_init_early(gt); intel_uc_init_early(>->uc); @@ -677,8 +679,13 @@ return -EINTR; } - return timeout ? timeout : intel_uc_wait_for_idle(>->uc, - remaining_timeout); + if (timeout) + return timeout; + + if (remaining_timeout < 0) + remaining_timeout = 0; + + return intel_uc_wait_for_idle(>->uc, remaining_timeout); } int intel_gt_init(struct intel_gt *gt) @@ -831,6 +838,7 @@ intel_gt_fini_requests(gt); intel_gt_fini_reset(gt); intel_gt_fini_timelines(gt); + mutex_destroy(>->tlb.invalidate_lock); intel_engines_free(gt); } } @@ -1163,7 +1171,7 @@ return rb; } -void intel_gt_invalidate_tlbs(struct intel_gt *gt) +static void mmio_invalidate_full(struct intel_gt *gt) { static const i915_reg_t gen8_regs[] = { [RENDER_CLASS] = GEN8_RTCR, @@ -1181,13 +1189,11 @@ struct drm_i915_private *i915 = gt->i915; struct intel_uncore *uncore = gt->uncore; struct intel_engine_cs *engine; + intel_engine_mask_t awake, tmp; enum intel_engine_id id; const i915_reg_t *regs; unsigned int num = 0; - if (I915_SELFTEST_ONLY(gt->awake == -ENODEV)) - return; - if (GRAPHICS_VER(i915) == 12) { regs = gen12_regs; num = ARRAY_SIZE(gen12_regs); @@ -1202,28 +1208,45 @@ "Platform does not implement TLB invalidation!")) return; - GEM_TRACE("\n"); - - assert_rpm_wakelock_held(&i915->runtime_pm); - - mutex_lock(>->tlb_invalidate_lock); intel_uncore_forcewake_get(uncore, FORCEWAKE_ALL); spin_lock_irq(&uncore->lock); /* serialise invalidate with GT reset */ + awake = 0; for_each_engine(engine, gt, id) { struct reg_and_bit rb; + if (!intel_engine_pm_is_awake(engine)) + continue; + rb = get_reg_and_bit(engine, regs == gen8_regs, regs, num); if (!i915_mmio_reg_offset(rb.reg)) continue; + if (GRAPHICS_VER(i915) == 12 && (engine->class == VIDEO_DECODE_CLASS || + engine->class == VIDEO_ENHANCEMENT_CLASS)) + rb.bit = _MASKED_BIT_ENABLE(rb.bit); + intel_uncore_write_fw(uncore, rb.reg, rb.bit); + awake |= engine->mask; } + GT_TRACE(gt, "invalidated engines %08x\n", awake); + + /* Wa_2207587034:tgl,dg1,rkl,adl-s,adl-p */ + if (awake && + (IS_TIGERLAKE(i915) || + IS_DG1(i915) || + IS_ROCKETLAKE(i915) || + IS_ALDERLAKE_S(i915) || + IS_ALDERLAKE_P(i915))) + intel_uncore_write_fw(uncore, GEN12_OA_TLB_INV_CR, 1); + spin_unlock_irq(&uncore->lock); - for_each_engine(engine, gt, id) { + for_each_engine_masked(engine, gt, awake, tmp) { + struct reg_and_bit rb; + /* * HW architecture suggest typical invalidation time at 40us, * with pessimistic cases up to 100us and a recommendation to @@ -1231,12 +1254,8 @@ */ const unsigned int timeout_us = 100; const unsigned int timeout_ms = 4; - struct reg_and_bit rb; rb = get_reg_and_bit(engine, regs == gen8_regs, regs, num); - if (!i915_mmio_reg_offset(rb.reg)) - continue; - if (__intel_wait_for_register_fw(uncore, rb.reg, rb.bit, 0, timeout_us, timeout_ms, @@ -1253,5 +1272,38 @@ * transitions. */ intel_uncore_forcewake_put_delayed(uncore, FORCEWAKE_ALL); - mutex_unlock(>->tlb_invalidate_lock); +} + +static bool tlb_seqno_passed(const struct intel_gt *gt, u32 seqno) +{ + u32 cur = intel_gt_tlb_seqno(gt); + + /* Only skip if a *full* TLB invalidate barrier has passed */ + return (s32)(cur - ALIGN(seqno, 2)) > 0; +} + +void intel_gt_invalidate_tlb(struct intel_gt *gt, u32 seqno) +{ + intel_wakeref_t wakeref; + + if (I915_SELFTEST_ONLY(gt->awake == -ENODEV)) + return; + + if (intel_gt_is_wedged(gt)) + return; + + if (tlb_seqno_passed(gt, seqno)) + return; + + with_intel_gt_pm_if_awake(gt, wakeref) { + mutex_lock(>->tlb.invalidate_lock); + if (tlb_seqno_passed(gt, seqno)) + goto unlock; + + mmio_invalidate_full(gt); + + write_seqcount_invalidate(>->tlb.seqno); +unlock: + mutex_unlock(>->tlb.invalidate_lock); + } } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_gt.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_gt.h @@ -123,7 +123,17 @@ void intel_gt_watchdog_work(struct work_struct *work); -void intel_gt_invalidate_tlbs(struct intel_gt *gt); +static inline u32 intel_gt_tlb_seqno(const struct intel_gt *gt) +{ + return seqprop_sequence(>->tlb.seqno); +} + +static inline u32 intel_gt_next_invalidate_tlb_full(const struct intel_gt *gt) +{ + return intel_gt_tlb_seqno(gt) | 1; +} + +void intel_gt_invalidate_tlb(struct intel_gt *gt, u32 seqno); struct resource intel_pci_resource(struct pci_dev *pdev, int bar); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_gt_pm.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_gt_pm.h @@ -55,6 +55,9 @@ for (tmp = 1, intel_gt_pm_get(gt); tmp; \ intel_gt_pm_put(gt), tmp = 0) +#define with_intel_gt_pm_if_awake(gt, wf) \ + for (wf = intel_gt_pm_get_if_awake(gt); wf; intel_gt_pm_put_async(gt), wf = 0) + static inline int intel_gt_pm_wait_for_idle(struct intel_gt *gt) { return intel_wakeref_wait_for_idle(>->wakeref); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_gt_requests.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_gt_requests.c @@ -199,7 +199,7 @@ if (remaining_timeout) *remaining_timeout = timeout; - return active_count ? timeout : 0; + return active_count ? timeout ?: -ETIME : 0; } static void retire_work_handler(struct work_struct *work) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c @@ -544,8 +544,7 @@ static INTEL_GT_RPS_BOOL_ATTR_RO(throttle_reason_vr_thermalert, VR_THERMALERT_MASK); static INTEL_GT_RPS_BOOL_ATTR_RO(throttle_reason_vr_tdc, VR_TDC_MASK); -static const struct attribute *freq_attrs[] = { - &dev_attr_punit_req_freq_mhz.attr, +static const struct attribute *throttle_reason_attrs[] = { &attr_throttle_reason_status.attr, &attr_throttle_reason_pl1.attr, &attr_throttle_reason_pl2.attr, @@ -594,9 +593,17 @@ if (!is_object_gt(kobj)) return; - ret = sysfs_create_files(kobj, freq_attrs); + ret = sysfs_create_file(kobj, &dev_attr_punit_req_freq_mhz.attr); if (ret) drm_warn(>->i915->drm, - "failed to create gt%u throttle sysfs files (%pe)", + "failed to create gt%u punit_req_freq_mhz sysfs (%pe)", gt->info.id, ERR_PTR(ret)); + + if (GRAPHICS_VER(gt->i915) >= 11) { + ret = sysfs_create_files(kobj, throttle_reason_attrs); + if (ret) + drm_warn(>->i915->drm, + "failed to create gt%u throttle sysfs files (%pe)", + gt->info.id, ERR_PTR(ret)); + } } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_gt_types.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_gt_types.h @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include @@ -76,7 +77,22 @@ struct intel_uc uc; struct intel_gsc gsc; - struct mutex tlb_invalidate_lock; + struct { + /* Serialize global tlb invalidations */ + struct mutex invalidate_lock; + + /* + * Batch TLB invalidations + * + * After unbinding the PTE, we need to ensure the TLB + * are invalidated prior to releasing the physical pages. + * But we only need one such invalidation for all unbinds, + * so we track how many TLB invalidations have been + * performed since unbind the PTE and only emit an extra + * invalidate if no full barrier has been passed. + */ + seqcount_mutex_t seqno; + } tlb; struct i915_wa_list wa_list; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_gtt.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_gtt.c @@ -405,6 +405,9 @@ { int i; + if (!vm->scratch[0]) + return; + for (i = 0; i <= vm->top; i++) i915_gem_object_put(vm->scratch[i]); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_llc.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_llc.c @@ -12,6 +12,7 @@ #include "intel_llc.h" #include "intel_mchbar_regs.h" #include "intel_pcode.h" +#include "intel_rps.h" struct ia_constants { unsigned int min_gpu_freq; @@ -55,9 +56,6 @@ if (!HAS_LLC(i915) || IS_DGFX(i915)) return false; - if (rps->max_freq <= rps->min_freq) - return false; - consts->max_ia_freq = cpu_max_MHz(); consts->min_ring_freq = @@ -65,13 +63,8 @@ /* convert DDR frequency from units of 266.6MHz to bandwidth */ consts->min_ring_freq = mult_frac(consts->min_ring_freq, 8, 3); - consts->min_gpu_freq = rps->min_freq; - consts->max_gpu_freq = rps->max_freq; - if (GRAPHICS_VER(i915) >= 9) { - /* Convert GT frequency to 50 HZ units */ - consts->min_gpu_freq /= GEN9_FREQ_SCALER; - consts->max_gpu_freq /= GEN9_FREQ_SCALER; - } + consts->min_gpu_freq = intel_rps_get_min_raw_freq(rps); + consts->max_gpu_freq = intel_rps_get_max_raw_freq(rps); return true; } @@ -132,6 +125,12 @@ return; /* + * Although this is unlikely on any platform during initialization, + * let's ensure we don't get accidentally into infinite loop + */ + if (consts.max_gpu_freq <= consts.min_gpu_freq) + return; + /* * For each potential GPU frequency, load a ring frequency we'd like * to use for memory access. We do this by specifying the IA frequency * the PCU should use as a reference to determine the ring frequency. --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_migrate.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_migrate.c @@ -341,6 +341,16 @@ return 0; } +static int max_pte_pkt_size(struct i915_request *rq, int pkt) +{ + struct intel_ring *ring = rq->ring; + + pkt = min_t(int, pkt, (ring->space - rq->reserved_space) / sizeof(u32) + 5); + pkt = min_t(int, pkt, (ring->size - ring->emit) / sizeof(u32) + 5); + + return pkt; +} + static int emit_pte(struct i915_request *rq, struct sgt_dma *it, enum i915_cache_level cache_level, @@ -387,8 +397,7 @@ return PTR_ERR(cs); /* Pack as many PTE updates as possible into a single MI command */ - pkt = min_t(int, dword_length, ring->space / sizeof(u32) + 5); - pkt = min_t(int, pkt, (ring->size - ring->emit) / sizeof(u32) + 5); + pkt = max_pte_pkt_size(rq, dword_length); hdr = cs; *cs++ = MI_STORE_DATA_IMM | REG_BIT(21); /* as qword elements */ @@ -421,8 +430,7 @@ } } - pkt = min_t(int, dword_rem, ring->space / sizeof(u32) + 5); - pkt = min_t(int, pkt, (ring->size - ring->emit) / sizeof(u32) + 5); + pkt = max_pte_pkt_size(rq, dword_rem); hdr = cs; *cs++ = MI_STORE_DATA_IMM | REG_BIT(21); @@ -638,9 +646,9 @@ return 0; } -static int scatter_list_length(struct scatterlist *sg) +static u64 scatter_list_length(struct scatterlist *sg) { - int len = 0; + u64 len = 0; while (sg && sg_dma_len(sg)) { len += sg_dma_len(sg); @@ -650,28 +658,26 @@ return len; } -static void +static int calculate_chunk_sz(struct drm_i915_private *i915, bool src_is_lmem, - int *src_sz, u32 bytes_to_cpy, u32 ccs_bytes_to_cpy) + u64 bytes_to_cpy, u64 ccs_bytes_to_cpy) { - if (ccs_bytes_to_cpy) { - if (!src_is_lmem) - /* - * When CHUNK_SZ is passed all the pages upto CHUNK_SZ - * will be taken for the blt. in Flat-ccs supported - * platform Smem obj will have more pages than required - * for main meory hence limit it to the required size - * for main memory - */ - *src_sz = min_t(int, bytes_to_cpy, CHUNK_SZ); - } else { /* ccs handling is not required */ - *src_sz = CHUNK_SZ; - } + if (ccs_bytes_to_cpy && !src_is_lmem) + /* + * When CHUNK_SZ is passed all the pages upto CHUNK_SZ + * will be taken for the blt. in Flat-ccs supported + * platform Smem obj will have more pages than required + * for main meory hence limit it to the required size + * for main memory + */ + return min_t(u64, bytes_to_cpy, CHUNK_SZ); + else + return CHUNK_SZ; } -static void get_ccs_sg_sgt(struct sgt_dma *it, u32 bytes_to_cpy) +static void get_ccs_sg_sgt(struct sgt_dma *it, u64 bytes_to_cpy) { - u32 len; + u64 len; do { GEM_BUG_ON(!it->sg || !sg_dma_len(it->sg)); @@ -702,13 +708,13 @@ { struct sgt_dma it_src = sg_sgt(src), it_dst = sg_sgt(dst), it_ccs; struct drm_i915_private *i915 = ce->engine->i915; - u32 ccs_bytes_to_cpy = 0, bytes_to_cpy; + u64 ccs_bytes_to_cpy = 0, bytes_to_cpy; enum i915_cache_level ccs_cache_level; u32 src_offset, dst_offset; u8 src_access, dst_access; struct i915_request *rq; - int src_sz, dst_sz; - bool ccs_is_src; + u64 src_sz, dst_sz; + bool ccs_is_src, overwrite_ccs; int err; GEM_BUG_ON(ce->vm != ce->engine->gt->migrate.context->vm); @@ -749,6 +755,8 @@ get_ccs_sg_sgt(&it_ccs, bytes_to_cpy); } + overwrite_ccs = HAS_FLAT_CCS(i915) && !ccs_bytes_to_cpy && dst_is_lmem; + src_offset = 0; dst_offset = CHUNK_SZ; if (HAS_64K_PAGES(ce->engine->i915)) { @@ -788,8 +796,8 @@ if (err) goto out_rq; - calculate_chunk_sz(i915, src_is_lmem, &src_sz, - bytes_to_cpy, ccs_bytes_to_cpy); + src_sz = calculate_chunk_sz(i915, src_is_lmem, + bytes_to_cpy, ccs_bytes_to_cpy); len = emit_pte(rq, &it_src, src_cache_level, src_is_lmem, src_offset, src_sz); @@ -852,6 +860,25 @@ if (err) goto out_rq; ccs_bytes_to_cpy -= ccs_sz; + } else if (overwrite_ccs) { + err = rq->engine->emit_flush(rq, EMIT_INVALIDATE); + if (err) + goto out_rq; + + /* + * While we can't always restore/manage the CCS state, + * we still need to ensure we don't leak the CCS state + * from the previous user, so make sure we overwrite it + * with something. + */ + err = emit_copy_ccs(rq, dst_offset, INDIRECT_ACCESS, + dst_offset, DIRECT_ACCESS, len); + if (err) + goto out_rq; + + err = rq->engine->emit_flush(rq, EMIT_INVALIDATE); + if (err) + goto out_rq; } /* Arbitration is re-enabled between requests. */ --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_ppgtt.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_ppgtt.c @@ -206,8 +206,12 @@ void ppgtt_unbind_vma(struct i915_address_space *vm, struct i915_vma_resource *vma_res) { - if (vma_res->allocated) - vm->clear_range(vm, vma_res->start, vma_res->vma_size); + if (!vma_res->allocated) + return; + + vm->clear_range(vm, vma_res->start, vma_res->vma_size); + if (vma_res->tlb) + vma_invalidate_tlb(vm, vma_res->tlb); } static unsigned long pd_count(u64 size, int shift) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_reset.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_reset.c @@ -278,6 +278,7 @@ static int gen6_hw_domain_reset(struct intel_gt *gt, u32 hw_domain_mask) { struct intel_uncore *uncore = gt->uncore; + int loops = 2; int err; /* @@ -285,18 +286,39 @@ * for fifo space for the write or forcewake the chip for * the read */ - intel_uncore_write_fw(uncore, GEN6_GDRST, hw_domain_mask); + do { + intel_uncore_write_fw(uncore, GEN6_GDRST, hw_domain_mask); - /* Wait for the device to ack the reset requests */ - err = __intel_wait_for_register_fw(uncore, - GEN6_GDRST, hw_domain_mask, 0, - 500, 0, - NULL); + /* + * Wait for the device to ack the reset requests. + * + * On some platforms, e.g. Jasperlake, we see that the + * engine register state is not cleared until shortly after + * GDRST reports completion, causing a failure as we try + * to immediately resume while the internal state is still + * in flux. If we immediately repeat the reset, the second + * reset appears to serialise with the first, and since + * it is a no-op, the registers should retain their reset + * value. However, there is still a concern that upon + * leaving the second reset, the internal engine state + * is still in flux and not ready for resuming. + */ + err = __intel_wait_for_register_fw(uncore, GEN6_GDRST, + hw_domain_mask, 0, + 2000, 0, + NULL); + } while (err == 0 && --loops); if (err) GT_TRACE(gt, "Wait for 0x%08x engines reset failed\n", hw_domain_mask); + /* + * As we have observed that the engine state is still volatile + * after GDRST is acked, impose a small delay to let everything settle. + */ + udelay(50); + return err; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_ring.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_ring.c @@ -53,7 +53,7 @@ if (unlikely(ret)) goto err_unpin; - if (i915_vma_is_map_and_fenceable(vma)) { + if (i915_vma_is_map_and_fenceable(vma) && !HAS_LLC(vma->vm->i915)) { addr = (void __force *)i915_vma_pin_iomap(vma); } else { int type = i915_coherent_map_type(vma->vm->i915, vma->obj, false); @@ -98,7 +98,7 @@ return; i915_vma_unset_ggtt_write(vma); - if (i915_vma_is_map_and_fenceable(vma)) + if (i915_vma_is_map_and_fenceable(vma) && !HAS_LLC(vma->vm->i915)) i915_vma_unpin_iomap(vma); else i915_gem_object_unpin_map(vma->obj); @@ -116,7 +116,7 @@ obj = i915_gem_object_create_lmem(i915, size, I915_BO_ALLOC_VOLATILE | I915_BO_ALLOC_PM_VOLATILE); - if (IS_ERR(obj) && i915_ggtt_has_aperture(ggtt)) + if (IS_ERR(obj) && i915_ggtt_has_aperture(ggtt) && !HAS_LLC(i915)) obj = i915_gem_object_create_stolen(i915, size); if (IS_ERR(obj)) obj = i915_gem_object_create_internal(i915, size); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_rps.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_rps.c @@ -2123,6 +2123,31 @@ return intel_gpu_freq(rps, rps->max_freq_softlimit); } +/** + * intel_rps_get_max_raw_freq - returns the max frequency in some raw format. + * @rps: the intel_rps structure + * + * Returns the max frequency in a raw format. In newer platforms raw is in + * units of 50 MHz. + */ +u32 intel_rps_get_max_raw_freq(struct intel_rps *rps) +{ + struct intel_guc_slpc *slpc = rps_to_slpc(rps); + u32 freq; + + if (rps_uses_slpc(rps)) { + return DIV_ROUND_CLOSEST(slpc->rp0_freq, + GT_FREQUENCY_MULTIPLIER); + } else { + freq = rps->max_freq; + if (GRAPHICS_VER(rps_to_i915(rps)) >= 9) { + /* Convert GT frequency to 50 MHz units */ + freq /= GEN9_FREQ_SCALER; + } + return freq; + } +} + u32 intel_rps_get_rp0_frequency(struct intel_rps *rps) { struct intel_guc_slpc *slpc = rps_to_slpc(rps); @@ -2211,6 +2236,31 @@ return intel_gpu_freq(rps, rps->min_freq_softlimit); } +/** + * intel_rps_get_min_raw_freq - returns the min frequency in some raw format. + * @rps: the intel_rps structure + * + * Returns the min frequency in a raw format. In newer platforms raw is in + * units of 50 MHz. + */ +u32 intel_rps_get_min_raw_freq(struct intel_rps *rps) +{ + struct intel_guc_slpc *slpc = rps_to_slpc(rps); + u32 freq; + + if (rps_uses_slpc(rps)) { + return DIV_ROUND_CLOSEST(slpc->min_freq, + GT_FREQUENCY_MULTIPLIER); + } else { + freq = rps->min_freq; + if (GRAPHICS_VER(rps_to_i915(rps)) >= 9) { + /* Convert GT frequency to 50 MHz units */ + freq /= GEN9_FREQ_SCALER; + } + return freq; + } +} + static int set_min_freq(struct intel_rps *rps, u32 val) { int ret = 0; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_rps.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_rps.h @@ -37,8 +37,10 @@ u32 intel_rps_read_actual_frequency(struct intel_rps *rps); u32 intel_rps_get_requested_frequency(struct intel_rps *rps); u32 intel_rps_get_min_frequency(struct intel_rps *rps); +u32 intel_rps_get_min_raw_freq(struct intel_rps *rps); int intel_rps_set_min_frequency(struct intel_rps *rps, u32 val); u32 intel_rps_get_max_frequency(struct intel_rps *rps); +u32 intel_rps_get_max_raw_freq(struct intel_rps *rps); int intel_rps_set_max_frequency(struct intel_rps *rps, u32 val); u32 intel_rps_get_rp0_frequency(struct intel_rps *rps); u32 intel_rps_get_rp1_frequency(struct intel_rps *rps); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/intel_workarounds.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/intel_workarounds.c @@ -1231,6 +1231,13 @@ GAMT_CHKN_BIT_REG, GAMT_CHKN_DISABLE_L3_COH_PIPE); + /* + * Wa_1408615072:icl,ehl (vsunit) + * Wa_1407596294:icl,ehl (hsunit) + */ + wa_write_or(wal, UNSLICE_UNIT_LEVEL_CLKGATE, + VSUNIT_CLKGATE_DIS | HSUNIT_CLKGATE_DIS); + /* Wa_1407352427:icl,ehl */ wa_write_or(wal, UNSLICE_UNIT_LEVEL_CLKGATE2, PSDUNIT_CLKGATE_DIS); @@ -2224,11 +2231,11 @@ } if (IS_DG1_GRAPHICS_STEP(i915, STEP_A0, STEP_B0) || - IS_ROCKETLAKE(i915) || IS_TIGERLAKE(i915)) { + IS_ROCKETLAKE(i915) || IS_TIGERLAKE(i915) || IS_ALDERLAKE_P(i915)) { /* * Wa_1607030317:tgl * Wa_1607186500:tgl - * Wa_1607297627:tgl,rkl,dg1[a0] + * Wa_1607297627:tgl,rkl,dg1[a0],adlp * * On TGL and RKL there are multiple entries for this WA in the * BSpec; some indicate this is an A0-only WA, others indicate @@ -2300,13 +2307,6 @@ GEN11_ENABLE_32_PLANE_MODE); /* - * Wa_1408615072:icl,ehl (vsunit) - * Wa_1407596294:icl,ehl (hsunit) - */ - wa_write_or(wal, UNSLICE_UNIT_LEVEL_CLKGATE, - VSUNIT_CLKGATE_DIS | HSUNIT_CLKGATE_DIS); - - /* * Wa_1408767742:icl[a2..forever],ehl[all] * Wa_1605460711:icl[a0..c0] */ --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/uc/intel_guc.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/uc/intel_guc.h @@ -235,6 +235,14 @@ * @shift: Right shift value for the gpm timestamp */ u32 shift; + + /** + * @last_stat_jiffies: jiffies at last actual stats collection time + * We use this timestamp to ensure we don't oversample the + * stats because runtime power management events can trigger + * stats collection at much higher rates than required. + */ + unsigned long last_stat_jiffies; } timestamp; #ifdef CONFIG_DRM_I915_SELFTEST --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/uc/intel_guc_capture.c @@ -164,7 +164,7 @@ } /* List of lists */ -static struct __guc_mmio_reg_descr_group default_lists[] = { +static const struct __guc_mmio_reg_descr_group default_lists[] = { MAKE_REGLIST(default_global_regs, PF, GLOBAL, 0), MAKE_REGLIST(default_rc_class_regs, PF, ENGINE_CLASS, GUC_RENDER_CLASS), MAKE_REGLIST(xe_lpd_rc_inst_regs, PF, ENGINE_INSTANCE, GUC_RENDER_CLASS), --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c @@ -1365,6 +1365,8 @@ unsigned long flags; ktime_t unused; + guc->timestamp.last_stat_jiffies = jiffies; + spin_lock_irqsave(&guc->timestamp.lock, flags); guc_update_pm_timestamp(guc, &unused); @@ -1436,7 +1438,23 @@ if (!guc_submission_initialized(guc)) return; - cancel_delayed_work(&guc->timestamp.work); + /* + * There is a race with suspend flow where the worker runs after suspend + * and causes an unclaimed register access warning. Cancel the worker + * synchronously here. + */ + cancel_delayed_work_sync(&guc->timestamp.work); + + /* + * Before parking, we should sample engine busyness stats if we need to. + * We can skip it if we are less than half a ping from the last time we + * sampled the busyness stats. + */ + if (guc->timestamp.last_stat_jiffies && + !time_after(jiffies, guc->timestamp.last_stat_jiffies + + (guc->timestamp.ping_delay / 2))) + return; + __update_guc_busyness_stats(guc); } @@ -1667,7 +1685,7 @@ goto next_context; guilty = false; - rq = intel_context_find_active_request(ce); + rq = intel_context_get_active_request(ce); if (!rq) { head = ce->ring->tail; goto out_replay; @@ -1680,6 +1698,7 @@ head = intel_ring_wrap(ce->ring, rq->head); __i915_request_reset(rq, guilty); + i915_request_put(rq); out_replay: guc_reset_state(ce, head, guilty); next_context: @@ -4011,6 +4030,13 @@ xa_destroy(&guc->context_lookup); /* + * A reset might have occurred while we had a pending stalled request, + * so make sure we clean that up. + */ + guc->stalled_request = NULL; + guc->submission_stall_reason = STALL_NONE; + + /* * Some contexts might have been pinned before we enabled GuC * submission, so we need to add them to the GuC bookeeping. * Also, after a reset the of the GuC we want to make sure that the @@ -4561,6 +4587,8 @@ xa_lock_irqsave(&guc->context_lookup, flags); xa_for_each(&guc->context_lookup, index, ce) { + bool found; + if (!kref_get_unless_zero(&ce->ref)) continue; @@ -4577,10 +4605,18 @@ goto next; } + found = false; + spin_lock(&ce->guc_state.lock); list_for_each_entry(rq, &ce->guc_state.requests, sched.link) { if (i915_test_request_state(rq) != I915_REQUEST_ACTIVE) continue; + found = true; + break; + } + spin_unlock(&ce->guc_state.lock); + + if (found) { intel_engine_set_hung_context(engine, ce); /* Can only cope with one hang at a time... */ @@ -4588,6 +4624,7 @@ xa_lock(&guc->context_lookup); goto done; } + next: intel_context_put(ce); xa_lock(&guc->context_lookup); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gvt/debugfs.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gvt/debugfs.c @@ -175,8 +175,13 @@ */ void intel_gvt_debugfs_remove_vgpu(struct intel_vgpu *vgpu) { - debugfs_remove_recursive(vgpu->debugfs); - vgpu->debugfs = NULL; + struct intel_gvt *gvt = vgpu->gvt; + struct drm_minor *minor = gvt->gt->i915->drm.primary; + + if (minor->debugfs_root && gvt->debugfs_root) { + debugfs_remove_recursive(vgpu->debugfs); + vgpu->debugfs = NULL; + } } /** @@ -199,6 +204,10 @@ */ void intel_gvt_debugfs_clean(struct intel_gvt *gvt) { - debugfs_remove_recursive(gvt->debugfs_root); - gvt->debugfs_root = NULL; + struct drm_minor *minor = gvt->gt->i915->drm.primary; + + if (minor->debugfs_root) { + debugfs_remove_recursive(gvt->debugfs_root); + gvt->debugfs_root = NULL; + } } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gvt/gtt.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gvt/gtt.c @@ -1214,10 +1214,8 @@ for_each_shadow_entry(sub_spt, &sub_se, sub_index) { ret = intel_gvt_dma_map_guest_page(vgpu, start_gfn + sub_index, PAGE_SIZE, &dma_addr); - if (ret) { - ppgtt_invalidate_spt(spt); - return ret; - } + if (ret) + goto err; sub_se.val64 = se->val64; /* Copy the PAT field from PDE. */ @@ -1236,6 +1234,17 @@ ops->set_pfn(se, sub_spt->shadow_page.mfn); ppgtt_set_shadow_entry(spt, se, index); return 0; +err: + /* Cancel the existing addess mappings of DMA addr. */ + for_each_present_shadow_entry(sub_spt, &sub_se, sub_index) { + gvt_vdbg_mm("invalidate 4K entry\n"); + ppgtt_invalidate_pte(sub_spt, &sub_se); + } + /* Release the new allocated spt. */ + trace_spt_change(sub_spt->vgpu->id, "release", sub_spt, + sub_spt->guest_page.gfn, sub_spt->shadow_page.type); + ppgtt_free_spt(sub_spt); + return ret; } static int split_64KB_gtt_entry(struct intel_vgpu *vgpu, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gvt/handlers.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gvt/handlers.c @@ -905,7 +905,7 @@ else if (FDI_RX_IMR_TO_PIPE(offset) != INVALID_INDEX) index = FDI_RX_IMR_TO_PIPE(offset); else { - gvt_vgpu_err("Unsupport registers %x\n", offset); + gvt_vgpu_err("Unsupported registers %x\n", offset); return -EINVAL; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gvt/kvmgt.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gvt/kvmgt.c @@ -808,8 +808,6 @@ goto undo_iommu; } - kvm_get_kvm(vgpu->vfio_device.kvm); - ret = -EEXIST; if (__kvmgt_vgpu_exist(vgpu)) goto undo_iommu; @@ -821,6 +819,7 @@ vgpu->track_node.track_write = kvmgt_page_track_write; vgpu->track_node.track_flush_slot = kvmgt_page_track_flush_slot; + kvm_get_kvm(vgpu->vfio_device.kvm); kvm_page_track_register_notifier(vgpu->vfio_device.kvm, &vgpu->track_node); @@ -1651,6 +1650,9 @@ if (WARN_ON_ONCE(vgpu->attached)) return; + + vfio_unregister_group_dev(&vgpu->vfio_device); + vfio_uninit_group_dev(&vgpu->vfio_device); intel_gvt_destroy_vgpu(vgpu); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/gvt/scheduler.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/gvt/scheduler.c @@ -696,6 +696,7 @@ if (workload->shadow_mm->type != INTEL_GVT_MM_PPGTT || !workload->shadow_mm->ppgtt_mm.shadowed) { + intel_vgpu_unpin_mm(workload->shadow_mm); gvt_vgpu_err("workload shadow ppgtt isn't ready\n"); return -EINVAL; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/i915_driver.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/i915_driver.c @@ -1009,12 +1009,9 @@ */ static void i915_driver_lastclose(struct drm_device *dev) { - struct drm_i915_private *i915 = to_i915(dev); - intel_fbdev_restore_mode(dev); - if (HAS_DISPLAY(i915)) - vga_switcheroo_process_delayed_switch(); + vga_switcheroo_process_delayed_switch(); } static void i915_driver_postclose(struct drm_device *dev, struct drm_file *file) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/i915_drv.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/i915_drv.h @@ -254,7 +254,7 @@ * List of objects which are pending destruction. */ struct llist_head free_list; - struct delayed_work free_work; + struct work_struct free_work; /** * Count of objects pending destructions. Used to skip needlessly * waiting on an RCU barrier if no objects are waiting to be freed. @@ -1415,7 +1415,7 @@ * armed the work again. */ while (atomic_read(&i915->mm.free_count)) { - flush_delayed_work(&i915->mm.free_work); + flush_work(&i915->mm.free_work); flush_delayed_work(&i915->bdev.wq); rcu_barrier(); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/i915_gem.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/i915_gem.c @@ -1191,7 +1191,8 @@ intel_uc_cleanup_firmwares(&to_gt(dev_priv)->uc); - i915_gem_drain_freed_objects(dev_priv); + /* Flush any outstanding work, including i915_gem_context.release_work. */ + i915_gem_drain_workqueue(dev_priv); drm_WARN_ON(&dev_priv->drm, !list_empty(&dev_priv->gem.contexts.list)); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/i915_gem.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/i915_gem.h @@ -54,9 +54,7 @@ } while(0) #define GEM_WARN_ON(expr) WARN_ON(expr) -#define GEM_DEBUG_DECL(var) var #define GEM_DEBUG_EXEC(expr) expr -#define GEM_DEBUG_BUG_ON(expr) GEM_BUG_ON(expr) #define GEM_DEBUG_WARN_ON(expr) GEM_WARN_ON(expr) #else @@ -66,9 +64,7 @@ #define GEM_BUG_ON(expr) BUILD_BUG_ON_INVALID(expr) #define GEM_WARN_ON(expr) ({ unlikely(!!(expr)); }) -#define GEM_DEBUG_DECL(var) #define GEM_DEBUG_EXEC(expr) do { } while (0) -#define GEM_DEBUG_BUG_ON(expr) #define GEM_DEBUG_WARN_ON(expr) ({ BUILD_BUG_ON_INVALID(expr); 0; }) #endif --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/i915_gem_evict.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/i915_gem_evict.c @@ -416,6 +416,11 @@ * @vm: Address space to cleanse * @ww: An optional struct i915_gem_ww_ctx. If not NULL, i915_gem_evict_vm * will be able to evict vma's locked by the ww as well. + * @busy_bo: Optional pointer to struct drm_i915_gem_object. If not NULL, then + * in the event i915_gem_evict_vm() is unable to trylock an object for eviction, + * then @busy_bo will point to it. -EBUSY is also returned. The caller must drop + * the vm->mutex, before trying again to acquire the contended lock. The caller + * also owns a reference to the object. * * This function evicts all vmas from a vm. * @@ -425,7 +430,8 @@ * To clarify: This is for freeing up virtual address space, not for freeing * memory in e.g. the shrinker. */ -int i915_gem_evict_vm(struct i915_address_space *vm, struct i915_gem_ww_ctx *ww) +int i915_gem_evict_vm(struct i915_address_space *vm, struct i915_gem_ww_ctx *ww, + struct drm_i915_gem_object **busy_bo) { int ret = 0; @@ -457,15 +463,22 @@ * the resv is shared among multiple objects, we still * need the object ref. */ - if (dying_vma(vma) || + if (!i915_gem_object_get_rcu(vma->obj) || (ww && (dma_resv_locking_ctx(vma->obj->base.resv) == &ww->ctx))) { __i915_vma_pin(vma); list_add(&vma->evict_link, &locked_eviction_list); continue; } - if (!i915_gem_object_trylock(vma->obj, ww)) + if (!i915_gem_object_trylock(vma->obj, ww)) { + if (busy_bo) { + *busy_bo = vma->obj; /* holds ref */ + ret = -EBUSY; + break; + } + i915_gem_object_put(vma->obj); continue; + } __i915_vma_pin(vma); list_add(&vma->evict_link, &eviction_list); @@ -473,25 +486,29 @@ if (list_empty(&eviction_list) && list_empty(&locked_eviction_list)) break; - ret = 0; /* Unbind locked objects first, before unlocking the eviction_list */ list_for_each_entry_safe(vma, vn, &locked_eviction_list, evict_link) { __i915_vma_unpin(vma); - if (ret == 0) + if (ret == 0) { ret = __i915_vma_unbind(vma); - if (ret != -EINTR) /* "Get me out of here!" */ - ret = 0; + if (ret != -EINTR) /* "Get me out of here!" */ + ret = 0; + } + if (!dying_vma(vma)) + i915_gem_object_put(vma->obj); } list_for_each_entry_safe(vma, vn, &eviction_list, evict_link) { __i915_vma_unpin(vma); - if (ret == 0) + if (ret == 0) { ret = __i915_vma_unbind(vma); - if (ret != -EINTR) /* "Get me out of here!" */ - ret = 0; + if (ret != -EINTR) /* "Get me out of here!" */ + ret = 0; + } i915_gem_object_unlock(vma->obj); + i915_gem_object_put(vma->obj); } } while (ret == 0); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/i915_gem_evict.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/i915_gem_evict.h @@ -11,6 +11,7 @@ struct drm_mm_node; struct i915_address_space; struct i915_gem_ww_ctx; +struct drm_i915_gem_object; int __must_check i915_gem_evict_something(struct i915_address_space *vm, struct i915_gem_ww_ctx *ww, @@ -23,6 +24,7 @@ struct drm_mm_node *node, unsigned int flags); int i915_gem_evict_vm(struct i915_address_space *vm, - struct i915_gem_ww_ctx *ww); + struct i915_gem_ww_ctx *ww, + struct drm_i915_gem_object **busy_bo); #endif /* __I915_GEM_EVICT_H__ */ --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/i915_gpu_error.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/i915_gpu_error.c @@ -1556,43 +1556,20 @@ { struct intel_engine_capture_vma *capture = NULL; struct intel_engine_coredump *ee; - struct intel_context *ce; + struct intel_context *ce = NULL; struct i915_request *rq = NULL; - unsigned long flags; ee = intel_engine_coredump_alloc(engine, ALLOW_FAIL, dump_flags); if (!ee) return NULL; - ce = intel_engine_get_hung_context(engine); - if (ce) { - intel_engine_clear_hung_context(engine); - rq = intel_context_find_active_request(ce); - if (!rq || !i915_request_started(rq)) - goto no_request_capture; - } else { - /* - * Getting here with GuC enabled means it is a forced error capture - * with no actual hang. So, no need to attempt the execlist search. - */ - if (!intel_uc_uses_guc_submission(&engine->gt->uc)) { - spin_lock_irqsave(&engine->sched_engine->lock, flags); - rq = intel_engine_execlist_find_hung_request(engine); - spin_unlock_irqrestore(&engine->sched_engine->lock, - flags); - } - } - if (rq) - rq = i915_request_get_rcu(rq); - - if (!rq) + intel_engine_get_hung_entity(engine, &ce, &rq); + if (!rq || !i915_request_started(rq)) goto no_request_capture; capture = intel_engine_coredump_add_request(ee, rq, ATOMIC_MAYFAIL); - if (!capture) { - i915_request_put(rq); + if (!capture) goto no_request_capture; - } if (dump_flags & CORE_DUMP_FLAG_IS_GUC_CAPTURE) intel_guc_capture_get_matching_node(engine->gt, ee, ce); @@ -1602,6 +1579,8 @@ return ee; no_request_capture: + if (rq) + i915_request_put(rq); kfree(ee); return NULL; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/i915_pci.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/i915_pci.c @@ -408,7 +408,8 @@ .has_coherent_ggtt = true, \ .has_llc = 1, \ .has_rc6 = 1, \ - .has_rc6p = 1, \ + /* snb does support rc6p, but enabling it causes various issues */ \ + .has_rc6p = 0, \ .has_rps = true, \ .dma_mask_size = 40, \ .ppgtt_type = INTEL_PPGTT_ALIASING, \ --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/i915_reg.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/i915_reg.h @@ -1849,14 +1849,14 @@ #define GT0_PERF_LIMIT_REASONS _MMIO(0x1381a8) #define GT0_PERF_LIMIT_REASONS_MASK 0xde3 -#define PROCHOT_MASK REG_BIT(1) -#define THERMAL_LIMIT_MASK REG_BIT(2) -#define RATL_MASK REG_BIT(6) -#define VR_THERMALERT_MASK REG_BIT(7) -#define VR_TDC_MASK REG_BIT(8) -#define POWER_LIMIT_4_MASK REG_BIT(9) -#define POWER_LIMIT_1_MASK REG_BIT(11) -#define POWER_LIMIT_2_MASK REG_BIT(12) +#define PROCHOT_MASK REG_BIT(0) +#define THERMAL_LIMIT_MASK REG_BIT(1) +#define RATL_MASK REG_BIT(5) +#define VR_THERMALERT_MASK REG_BIT(6) +#define VR_TDC_MASK REG_BIT(7) +#define POWER_LIMIT_4_MASK REG_BIT(8) +#define POWER_LIMIT_1_MASK REG_BIT(10) +#define POWER_LIMIT_2_MASK REG_BIT(11) #define CHV_CLK_CTL1 _MMIO(0x101100) #define VLV_CLK_CTL2 _MMIO(0x101104) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/i915_scatterlist.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/i915_scatterlist.h @@ -9,7 +9,8 @@ #include #include -#include +#include +#include #include "i915_gem.h" @@ -127,19 +128,26 @@ return page_sizes; } -static inline unsigned int i915_sg_segment_size(void) +static inline unsigned int i915_sg_segment_size(struct device *dev) { - unsigned int size = swiotlb_max_segment(); + size_t max = min_t(size_t, UINT_MAX, dma_max_mapping_size(dev)); - if (size == 0) - size = UINT_MAX; - - size = rounddown(size, PAGE_SIZE); - /* swiotlb_max_segment_size can return 1 byte when it means one page. */ - if (size < PAGE_SIZE) - size = PAGE_SIZE; - - return size; + /* + * For Xen PV guests pages aren't contiguous in DMA (machine) address + * space. The DMA API takes care of that both in dma_alloc_* (by + * calling into the hypervisor to make the pages contiguous) and in + * dma_map_* (by bounce buffering). But i915 abuses ignores the + * coherency aspects of the DMA API and thus can't cope with bounce + * buffering actually happening, so add a hack here to force small + * allocations and mappings when running in PV mode on Xen. + * + * Note this will still break if bounce buffering is required for other + * reasons, like confidential computing hypervisors or PCIe root ports + * with addressing limitations. + */ + if (xen_pv_domain()) + max = PAGE_SIZE; + return round_down(max, PAGE_SIZE); } bool i915_sg_trim(struct sg_table *orig_st); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/i915_switcheroo.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/i915_switcheroo.c @@ -19,6 +19,10 @@ dev_err(&pdev->dev, "DRM not initialized, aborting switch.\n"); return; } + if (!HAS_DISPLAY(i915)) { + dev_err(&pdev->dev, "Device state not initialized, aborting switch.\n"); + return; + } if (state == VGA_SWITCHEROO_ON) { drm_info(&i915->drm, "switched on\n"); @@ -44,7 +48,7 @@ * locking inversion with the driver load path. And the access here is * completely racy anyway. So don't bother with locking for now. */ - return i915 && atomic_read(&i915->drm.open_count) == 0; + return i915 && HAS_DISPLAY(i915) && atomic_read(&i915->drm.open_count) == 0; } static const struct vga_switcheroo_client_ops i915_switcheroo_ops = { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/i915_vma.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/i915_vma.c @@ -537,8 +537,6 @@ bind_flags); } - set_bit(I915_BO_WAS_BOUND_BIT, &vma->obj->flags); - atomic_or(bind_flags, &vma->flags); return 0; } @@ -1301,6 +1299,19 @@ return err; } +void vma_invalidate_tlb(struct i915_address_space *vm, u32 *tlb) +{ + /* + * Before we release the pages that were bound by this vma, we + * must invalidate all the TLBs that may still have a reference + * back to our physical address. It only needs to be done once, + * so after updating the PTE to point away from the pages, record + * the most recent TLB invalidation seqno, and if we have not yet + * flushed the TLBs upon release, perform a full invalidation. + */ + WRITE_ONCE(*tlb, intel_gt_next_invalidate_tlb_full(vm->gt)); +} + static void __vma_put_pages(struct i915_vma *vma, unsigned int count) { /* We allocate under vma_get_pages, so beware the shrinker */ @@ -1549,7 +1560,7 @@ * locked objects when called from execbuf when pinning * is removed. This would probably regress badly. */ - i915_gem_evict_vm(vm, NULL); + i915_gem_evict_vm(vm, NULL, NULL); mutex_unlock(&vm->mutex); } } while (1); @@ -1859,12 +1870,13 @@ enum dma_resv_usage usage; int idx; - obj->read_domains = 0; if (flags & EXEC_OBJECT_WRITE) { usage = DMA_RESV_USAGE_WRITE; obj->write_domain = I915_GEM_DOMAIN_RENDER; + obj->read_domains = 0; } else { usage = DMA_RESV_USAGE_READ; + obj->write_domain = 0; } dma_fence_array_for_each(curr, idx, fence) @@ -1927,7 +1939,12 @@ vma->vm->skip_pte_rewrite; trace_i915_vma_unbind(vma); - unbind_fence = i915_vma_resource_unbind(vma_res); + if (async) + unbind_fence = i915_vma_resource_unbind(vma_res, + &vma->obj->mm.tlb); + else + unbind_fence = i915_vma_resource_unbind(vma_res, NULL); + vma->resource = NULL; atomic_and(~(I915_VMA_BIND_MASK | I915_VMA_ERROR | I915_VMA_GGTT_WRITE), @@ -1935,10 +1952,13 @@ i915_vma_detach(vma); - if (!async && unbind_fence) { - dma_fence_wait(unbind_fence, false); - dma_fence_put(unbind_fence); - unbind_fence = NULL; + if (!async) { + if (unbind_fence) { + dma_fence_wait(unbind_fence, false); + dma_fence_put(unbind_fence); + unbind_fence = NULL; + } + vma_invalidate_tlb(vma->vm, &vma->obj->mm.tlb); } /* @@ -2080,7 +2100,7 @@ if (!obj->mm.rsgt) return -EBUSY; - err = dma_resv_reserve_fences(obj->base.resv, 1); + err = dma_resv_reserve_fences(obj->base.resv, 2); if (err) return -EBUSY; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/i915_vma.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/i915_vma.h @@ -213,6 +213,7 @@ u64 size, u64 alignment, u64 flags); void __i915_vma_set_map_and_fenceable(struct i915_vma *vma); void i915_vma_revoke_mmap(struct i915_vma *vma); +void vma_invalidate_tlb(struct i915_address_space *vm, u32 *tlb); struct dma_fence *__i915_vma_evict(struct i915_vma *vma, bool async); int __i915_vma_unbind(struct i915_vma *vma); int __must_check i915_vma_unbind(struct i915_vma *vma); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/i915_vma_resource.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/i915_vma_resource.c @@ -223,10 +223,13 @@ * Return: A refcounted pointer to a dma-fence that signals when unbinding is * complete. */ -struct dma_fence *i915_vma_resource_unbind(struct i915_vma_resource *vma_res) +struct dma_fence *i915_vma_resource_unbind(struct i915_vma_resource *vma_res, + u32 *tlb) { struct i915_address_space *vm = vma_res->vm; + vma_res->tlb = tlb; + /* Reference for the sw fence */ i915_vma_resource_get(vma_res); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/i915_vma_resource.h +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/i915_vma_resource.h @@ -67,6 +67,7 @@ * taken when the unbind is scheduled. * @skip_pte_rewrite: During ggtt suspend and vm takedown pte rewriting * needs to be skipped for unbind. + * @tlb: pointer for obj->mm.tlb, if async unbind. Otherwise, NULL * * The lifetime of a struct i915_vma_resource is from a binding request to * the actual possible asynchronous unbind has completed. @@ -119,6 +120,8 @@ bool immediate_unbind:1; bool needs_wakeref:1; bool skip_pte_rewrite:1; + + u32 *tlb; }; bool i915_vma_resource_hold(struct i915_vma_resource *vma_res, @@ -131,7 +134,8 @@ void i915_vma_resource_free(struct i915_vma_resource *vma_res); -struct dma_fence *i915_vma_resource_unbind(struct i915_vma_resource *vma_res); +struct dma_fence *i915_vma_resource_unbind(struct i915_vma_resource *vma_res, + u32 *tlb); void __i915_vma_resource_init(struct i915_vma_resource *vma_res); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/intel_gvt_mmio_table.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/intel_gvt_mmio_table.c @@ -1074,7 +1074,8 @@ MMIO_D(GEN8_HDC_CHICKEN1); MMIO_D(GEN9_WM_CHICKEN3); - if (IS_KABYLAKE(dev_priv) || IS_COFFEELAKE(dev_priv)) + if (IS_KABYLAKE(dev_priv) || + IS_COFFEELAKE(dev_priv) || IS_COMETLAKE(dev_priv)) MMIO_D(GAMT_CHKN_BIT_REG); if (!IS_BROXTON(dev_priv)) MMIO_D(GEN9_CTX_PREEMPT_REG); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/intel_pm.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/intel_pm.c @@ -5307,10 +5307,22 @@ modifier == I915_FORMAT_MOD_4_TILED || modifier == I915_FORMAT_MOD_Yf_TILED || modifier == I915_FORMAT_MOD_Y_TILED_CCS || - modifier == I915_FORMAT_MOD_Yf_TILED_CCS; + modifier == I915_FORMAT_MOD_Yf_TILED_CCS || + modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS || + modifier == I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS || + modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC || + modifier == I915_FORMAT_MOD_4_TILED_DG2_RC_CCS || + modifier == I915_FORMAT_MOD_4_TILED_DG2_MC_CCS || + modifier == I915_FORMAT_MOD_4_TILED_DG2_RC_CCS_CC; wp->x_tiled = modifier == I915_FORMAT_MOD_X_TILED; wp->rc_surface = modifier == I915_FORMAT_MOD_Y_TILED_CCS || - modifier == I915_FORMAT_MOD_Yf_TILED_CCS; + modifier == I915_FORMAT_MOD_Yf_TILED_CCS || + modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS || + modifier == I915_FORMAT_MOD_Y_TILED_GEN12_MC_CCS || + modifier == I915_FORMAT_MOD_Y_TILED_GEN12_RC_CCS_CC || + modifier == I915_FORMAT_MOD_4_TILED_DG2_RC_CCS || + modifier == I915_FORMAT_MOD_4_TILED_DG2_MC_CCS || + modifier == I915_FORMAT_MOD_4_TILED_DG2_RC_CCS_CC; wp->is_planar = intel_format_info_is_yuv_semiplanar(format, modifier); wp->width = width; @@ -6560,7 +6572,10 @@ enum plane_id plane_id; u8 slices; - skl_pipe_wm_get_hw_state(crtc, &crtc_state->wm.skl.optimal); + memset(&crtc_state->wm.skl.optimal, 0, + sizeof(crtc_state->wm.skl.optimal)); + if (crtc_state->hw.active) + skl_pipe_wm_get_hw_state(crtc, &crtc_state->wm.skl.optimal); crtc_state->wm.skl.raw = crtc_state->wm.skl.optimal; memset(&dbuf_state->ddb[pipe], 0, sizeof(dbuf_state->ddb[pipe])); @@ -6571,6 +6586,9 @@ struct skl_ddb_entry *ddb_y = &crtc_state->wm.skl.plane_ddb_y[plane_id]; + if (!crtc_state->hw.active) + continue; + skl_ddb_get_hw_plane_state(dev_priv, crtc->pipe, plane_id, ddb, ddb_y); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/intel_runtime_pm.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/intel_runtime_pm.c @@ -591,8 +591,15 @@ pm_runtime_use_autosuspend(kdev); } - /* Enable by default */ - pm_runtime_allow(kdev); + /* + * FIXME: Temp hammer to keep autosupend disable on lmem supported platforms. + * As per PCIe specs 5.3.1.4.1, all iomem read write request over a PCIe + * function will be unsupported in case PCIe endpoint function is in D3. + * Let's keep i915 autosuspend control 'on' till we fix all known issue + * with lmem access in D3. + */ + if (!IS_DGFX(i915)) + pm_runtime_allow(kdev); /* * The core calls the driver load handler with an RPM reference held. --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/selftests/i915_gem_evict.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/selftests/i915_gem_evict.c @@ -344,7 +344,7 @@ /* Everything is pinned, nothing should happen */ mutex_lock(&ggtt->vm.mutex); - err = i915_gem_evict_vm(&ggtt->vm, NULL); + err = i915_gem_evict_vm(&ggtt->vm, NULL, NULL); mutex_unlock(&ggtt->vm.mutex); if (err) { pr_err("i915_gem_evict_vm on a full GGTT returned err=%d]\n", @@ -356,7 +356,7 @@ for_i915_gem_ww(&ww, err, false) { mutex_lock(&ggtt->vm.mutex); - err = i915_gem_evict_vm(&ggtt->vm, &ww); + err = i915_gem_evict_vm(&ggtt->vm, &ww, NULL); mutex_unlock(&ggtt->vm.mutex); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.c +++ linux-gcp-5.19.0/drivers/gpu/drm/i915/selftests/intel_scheduler_helpers.c @@ -28,8 +28,7 @@ int intel_selftest_modify_policy(struct intel_engine_cs *engine, struct intel_selftest_saved_policy *saved, - u32 modify_type) - + enum selftest_scheduler_modify modify_type) { int err; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/imx/dcss/dcss-kms.c +++ linux-gcp-5.19.0/drivers/gpu/drm/imx/dcss/dcss-kms.c @@ -142,8 +142,6 @@ drm_kms_helper_poll_init(drm); - drm_bridge_connector_enable_hpd(kms->connector); - ret = drm_dev_register(drm, 0); if (ret) goto cleanup_crtc; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/imx/imx-tve.c +++ linux-gcp-5.19.0/drivers/gpu/drm/imx/imx-tve.c @@ -217,8 +217,9 @@ return ret; } -static int imx_tve_connector_mode_valid(struct drm_connector *connector, - struct drm_display_mode *mode) +static enum drm_mode_status +imx_tve_connector_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode) { struct imx_tve *tve = con_to_tve(connector); unsigned long rate; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/imx/ipuv3-plane.c +++ linux-gcp-5.19.0/drivers/gpu/drm/imx/ipuv3-plane.c @@ -613,6 +613,11 @@ break; } + if (ipu_plane->dp_flow == IPU_DP_FLOW_SYNC_BG) + width = ipu_src_rect_width(new_state); + else + width = drm_rect_width(&new_state->src) >> 16; + eba = drm_plane_state_to_eba(new_state, 0); /* @@ -621,8 +626,7 @@ */ if (ipu_state->use_pre) { axi_id = ipu_chan_assign_axi_id(ipu_plane->dma); - ipu_prg_channel_configure(ipu_plane->ipu_ch, axi_id, - ipu_src_rect_width(new_state), + ipu_prg_channel_configure(ipu_plane->ipu_ch, axi_id, width, drm_rect_height(&new_state->src) >> 16, fb->pitches[0], fb->format->format, fb->modifier, &eba); @@ -677,9 +681,8 @@ break; } - ipu_dmfc_config_wait4eot(ipu_plane->dmfc, ALIGN(drm_rect_width(dst), 8)); + ipu_dmfc_config_wait4eot(ipu_plane->dmfc, width); - width = ipu_src_rect_width(new_state); height = drm_rect_height(&new_state->src) >> 16; info = drm_format_info(fb->format->format); ipu_calculate_bursts(width, info->cpp[0], fb->pitches[0], @@ -743,8 +746,7 @@ ipu_cpmem_set_burstsize(ipu_plane->ipu_ch, 16); ipu_cpmem_zero(ipu_plane->alpha_ch); - ipu_cpmem_set_resolution(ipu_plane->alpha_ch, - ipu_src_rect_width(new_state), + ipu_cpmem_set_resolution(ipu_plane->alpha_ch, width, drm_rect_height(&new_state->src) >> 16); ipu_cpmem_set_format_passthrough(ipu_plane->alpha_ch, 8); ipu_cpmem_set_high_priority(ipu_plane->alpha_ch); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/ingenic/ingenic-drm-drv.c +++ linux-gcp-5.19.0/drivers/gpu/drm/ingenic/ingenic-drm-drv.c @@ -69,6 +69,7 @@ bool map_noncoherent; bool use_extended_hwdesc; bool plane_f0_not_working; + u32 max_burst; unsigned int max_width, max_height; const u32 *formats_f0, *formats_f1; unsigned int num_formats_f0, num_formats_f1; @@ -318,8 +319,9 @@ regmap_write(priv->map, JZ_REG_LCD_REV, mode->htotal << 16); } - regmap_set_bits(priv->map, JZ_REG_LCD_CTRL, - JZ_LCD_CTRL_OFUP | JZ_LCD_CTRL_BURST_16); + regmap_update_bits(priv->map, JZ_REG_LCD_CTRL, + JZ_LCD_CTRL_OFUP | JZ_LCD_CTRL_BURST_MASK, + JZ_LCD_CTRL_OFUP | priv->soc_info->max_burst); /* * IPU restart - specify how much time the LCDC will wait before @@ -1518,6 +1520,7 @@ .map_noncoherent = false, .max_width = 800, .max_height = 600, + .max_burst = JZ_LCD_CTRL_BURST_16, .formats_f1 = jz4740_formats, .num_formats_f1 = ARRAY_SIZE(jz4740_formats), /* JZ4740 has only one plane */ @@ -1529,6 +1532,7 @@ .map_noncoherent = false, .max_width = 800, .max_height = 600, + .max_burst = JZ_LCD_CTRL_BURST_16, .formats_f1 = jz4725b_formats_f1, .num_formats_f1 = ARRAY_SIZE(jz4725b_formats_f1), .formats_f0 = jz4725b_formats_f0, @@ -1541,6 +1545,7 @@ .map_noncoherent = true, .max_width = 1280, .max_height = 720, + .max_burst = JZ_LCD_CTRL_BURST_64, .formats_f1 = jz4770_formats_f1, .num_formats_f1 = ARRAY_SIZE(jz4770_formats_f1), .formats_f0 = jz4770_formats_f0, @@ -1555,6 +1560,7 @@ .plane_f0_not_working = true, /* REVISIT */ .max_width = 4096, .max_height = 2048, + .max_burst = JZ_LCD_CTRL_BURST_64, .formats_f1 = jz4770_formats_f1, .num_formats_f1 = ARRAY_SIZE(jz4770_formats_f1), .formats_f0 = jz4770_formats_f0, @@ -1593,7 +1599,11 @@ return err; } - return platform_driver_register(&ingenic_drm_driver); + err = platform_driver_register(&ingenic_drm_driver); + if (IS_ENABLED(CONFIG_DRM_INGENIC_IPU) && err) + platform_driver_unregister(ingenic_ipu_driver_ptr); + + return err; } module_init(ingenic_drm_init); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/ingenic/ingenic-drm.h +++ linux-gcp-5.19.0/drivers/gpu/drm/ingenic/ingenic-drm.h @@ -106,6 +106,9 @@ #define JZ_LCD_CTRL_BURST_4 (0x0 << 28) #define JZ_LCD_CTRL_BURST_8 (0x1 << 28) #define JZ_LCD_CTRL_BURST_16 (0x2 << 28) +#define JZ_LCD_CTRL_BURST_32 (0x3 << 28) +#define JZ_LCD_CTRL_BURST_64 (0x4 << 28) +#define JZ_LCD_CTRL_BURST_MASK (0x7 << 28) #define JZ_LCD_CTRL_RGB555 BIT(27) #define JZ_LCD_CTRL_OFUP BIT(26) #define JZ_LCD_CTRL_FRC_GRAYSCALE_16 (0x0 << 24) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/mcde/mcde_dsi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/mcde/mcde_dsi.c @@ -1111,6 +1111,7 @@ bridge = of_drm_find_bridge(child); if (!bridge) { dev_err(dev, "failed to find bridge\n"); + of_node_put(child); return -EINVAL; } } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/mediatek/mtk_dpi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/mediatek/mtk_dpi.c @@ -54,13 +54,7 @@ }; enum mtk_dpi_out_color_format { - MTK_DPI_COLOR_FORMAT_RGB, - MTK_DPI_COLOR_FORMAT_RGB_FULL, - MTK_DPI_COLOR_FORMAT_YCBCR_444, - MTK_DPI_COLOR_FORMAT_YCBCR_422, - MTK_DPI_COLOR_FORMAT_XV_YCC, - MTK_DPI_COLOR_FORMAT_YCBCR_444_FULL, - MTK_DPI_COLOR_FORMAT_YCBCR_422_FULL + MTK_DPI_COLOR_FORMAT_RGB }; struct mtk_dpi { @@ -364,24 +358,11 @@ static void mtk_dpi_config_color_format(struct mtk_dpi *dpi, enum mtk_dpi_out_color_format format) { - if ((format == MTK_DPI_COLOR_FORMAT_YCBCR_444) || - (format == MTK_DPI_COLOR_FORMAT_YCBCR_444_FULL)) { - mtk_dpi_config_yuv422_enable(dpi, false); - mtk_dpi_config_csc_enable(dpi, true); - mtk_dpi_config_swap_input(dpi, false); - mtk_dpi_config_channel_swap(dpi, MTK_DPI_OUT_CHANNEL_SWAP_BGR); - } else if ((format == MTK_DPI_COLOR_FORMAT_YCBCR_422) || - (format == MTK_DPI_COLOR_FORMAT_YCBCR_422_FULL)) { - mtk_dpi_config_yuv422_enable(dpi, true); - mtk_dpi_config_csc_enable(dpi, true); - mtk_dpi_config_swap_input(dpi, true); - mtk_dpi_config_channel_swap(dpi, MTK_DPI_OUT_CHANNEL_SWAP_RGB); - } else { - mtk_dpi_config_yuv422_enable(dpi, false); - mtk_dpi_config_csc_enable(dpi, false); - mtk_dpi_config_swap_input(dpi, false); - mtk_dpi_config_channel_swap(dpi, MTK_DPI_OUT_CHANNEL_SWAP_RGB); - } + /* only support RGB888 */ + mtk_dpi_config_yuv422_enable(dpi, false); + mtk_dpi_config_csc_enable(dpi, false); + mtk_dpi_config_swap_input(dpi, false); + mtk_dpi_config_channel_swap(dpi, MTK_DPI_OUT_CHANNEL_SWAP_RGB); } static void mtk_dpi_dual_edge(struct mtk_dpi *dpi) @@ -406,9 +387,6 @@ if (--dpi->refcount != 0) return; - if (dpi->pinctrl && dpi->pins_gpio) - pinctrl_select_state(dpi->pinctrl, dpi->pins_gpio); - mtk_dpi_disable(dpi); clk_disable_unprepare(dpi->pixel_clk); clk_disable_unprepare(dpi->engine_clk); @@ -433,10 +411,6 @@ goto err_pixel; } - if (dpi->pinctrl && dpi->pins_dpi) - pinctrl_select_state(dpi->pinctrl, dpi->pins_dpi); - - mtk_dpi_enable(dpi); return 0; err_pixel: @@ -650,14 +624,21 @@ struct mtk_dpi *dpi = bridge_to_dpi(bridge); mtk_dpi_power_off(dpi); + + if (dpi->pinctrl && dpi->pins_gpio) + pinctrl_select_state(dpi->pinctrl, dpi->pins_gpio); } static void mtk_dpi_bridge_enable(struct drm_bridge *bridge) { struct mtk_dpi *dpi = bridge_to_dpi(bridge); + if (dpi->pinctrl && dpi->pins_dpi) + pinctrl_select_state(dpi->pinctrl, dpi->pins_dpi); + mtk_dpi_power_on(dpi); mtk_dpi_set_display_mode(dpi, &dpi->mode); + mtk_dpi_enable(dpi); } static enum drm_mode_status --- linux-gcp-5.19.0.orig/drivers/gpu/drm/mediatek/mtk_drm_crtc.c +++ linux-gcp-5.19.0/drivers/gpu/drm/mediatek/mtk_drm_crtc.c @@ -946,6 +946,8 @@ mtk_crtc->planes = devm_kcalloc(dev, num_comp_planes, sizeof(struct drm_plane), GFP_KERNEL); + if (!mtk_crtc->planes) + return -ENOMEM; for (i = 0; i < mtk_crtc->ddp_comp_nr; i++) { ret = mtk_drm_crtc_init_comp_planes(drm_dev, mtk_crtc, i, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c +++ linux-gcp-5.19.0/drivers/gpu/drm/mediatek/mtk_drm_ddp_comp.c @@ -151,7 +151,7 @@ { struct mtk_ddp_comp_dev *priv = dev_get_drvdata(dev); - mtk_ddp_write(cmdq_pkt, h << 16 | w, &priv->cmdq_reg, priv->regs, DISP_REG_DITHER_SIZE); + mtk_ddp_write(cmdq_pkt, w << 16 | h, &priv->cmdq_reg, priv->regs, DISP_REG_DITHER_SIZE); mtk_ddp_write(cmdq_pkt, DITHER_RELAY_MODE, &priv->cmdq_reg, priv->regs, DISP_REG_DITHER_CFG); mtk_dither_set_common(priv->regs, &priv->cmdq_reg, bpc, DISP_REG_DITHER_CFG, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/mediatek/mtk_drm_drv.c +++ linux-gcp-5.19.0/drivers/gpu/drm/mediatek/mtk_drm_drv.c @@ -425,6 +425,7 @@ err_deinit: mtk_drm_kms_deinit(drm); err_free: + private->drm = NULL; drm_dev_put(drm); return ret; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/mediatek/mtk_drm_gem.c +++ linux-gcp-5.19.0/drivers/gpu/drm/mediatek/mtk_drm_gem.c @@ -164,8 +164,6 @@ ret = dma_mmap_attrs(priv->dma_dev, vma, mtk_gem->cookie, mtk_gem->dma_addr, obj->size, mtk_gem->dma_attrs); - if (ret) - drm_gem_vm_close(vma); return ret; } @@ -262,6 +260,6 @@ return; vunmap(vaddr); - mtk_gem->kvaddr = 0; + mtk_gem->kvaddr = NULL; kfree(mtk_gem->pages); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/mediatek/mtk_dsi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/mediatek/mtk_dsi.c @@ -203,6 +203,7 @@ struct mtk_phy_timing phy_timing; int refcount; bool enabled; + bool lanes_ready; u32 irq_data; wait_queue_head_t irq_wait_queue; const struct mtk_dsi_driver_data *driver_data; @@ -661,18 +662,11 @@ mtk_dsi_reset_engine(dsi); mtk_dsi_phy_timconfig(dsi); - mtk_dsi_rxtx_control(dsi); - usleep_range(30, 100); - mtk_dsi_reset_dphy(dsi); mtk_dsi_ps_control_vact(dsi); mtk_dsi_set_vm_cmd(dsi); mtk_dsi_config_vdo_timing(dsi); mtk_dsi_set_interrupt_enable(dsi); - mtk_dsi_clk_ulp_mode_leave(dsi); - mtk_dsi_lane0_ulp_mode_leave(dsi); - mtk_dsi_clk_hs_mode(dsi, 0); - return 0; err_disable_engine_clk: clk_disable_unprepare(dsi->engine_clk); @@ -704,6 +698,8 @@ mtk_dsi_reset_engine(dsi); mtk_dsi_lane0_ulp_mode_enter(dsi); mtk_dsi_clk_ulp_mode_enter(dsi); + /* set the lane number as 0 to pull down mipi */ + writel(0, dsi->regs + DSI_TXRX_CTRL); mtk_dsi_disable(dsi); @@ -711,21 +707,31 @@ clk_disable_unprepare(dsi->digital_clk); phy_power_off(dsi->phy); + + dsi->lanes_ready = false; } -static void mtk_output_dsi_enable(struct mtk_dsi *dsi) +static void mtk_dsi_lane_ready(struct mtk_dsi *dsi) { - int ret; + if (!dsi->lanes_ready) { + dsi->lanes_ready = true; + mtk_dsi_rxtx_control(dsi); + usleep_range(30, 100); + mtk_dsi_reset_dphy(dsi); + mtk_dsi_clk_ulp_mode_leave(dsi); + mtk_dsi_lane0_ulp_mode_leave(dsi); + mtk_dsi_clk_hs_mode(dsi, 0); + usleep_range(1000, 3000); + /* The reaction time after pulling up the mipi signal for dsi_rx */ + } +} +static void mtk_output_dsi_enable(struct mtk_dsi *dsi) +{ if (dsi->enabled) return; - ret = mtk_dsi_poweron(dsi); - if (ret < 0) { - DRM_ERROR("failed to power on dsi\n"); - return; - } - + mtk_dsi_lane_ready(dsi); mtk_dsi_set_mode(dsi); mtk_dsi_clk_hs_mode(dsi, 1); @@ -739,8 +745,6 @@ if (!dsi->enabled) return; - mtk_dsi_poweroff(dsi); - dsi->enabled = false; } @@ -763,24 +767,53 @@ drm_display_mode_to_videomode(adjusted, &dsi->vm); } -static void mtk_dsi_bridge_disable(struct drm_bridge *bridge) +static void mtk_dsi_bridge_atomic_disable(struct drm_bridge *bridge, + struct drm_bridge_state *old_bridge_state) { struct mtk_dsi *dsi = bridge_to_dsi(bridge); mtk_output_dsi_disable(dsi); } -static void mtk_dsi_bridge_enable(struct drm_bridge *bridge) +static void mtk_dsi_bridge_atomic_enable(struct drm_bridge *bridge, + struct drm_bridge_state *old_bridge_state) { struct mtk_dsi *dsi = bridge_to_dsi(bridge); + if (dsi->refcount == 0) + return; + mtk_output_dsi_enable(dsi); } +static void mtk_dsi_bridge_atomic_pre_enable(struct drm_bridge *bridge, + struct drm_bridge_state *old_bridge_state) +{ + struct mtk_dsi *dsi = bridge_to_dsi(bridge); + int ret; + + ret = mtk_dsi_poweron(dsi); + if (ret < 0) + DRM_ERROR("failed to power on dsi\n"); +} + +static void mtk_dsi_bridge_atomic_post_disable(struct drm_bridge *bridge, + struct drm_bridge_state *old_bridge_state) +{ + struct mtk_dsi *dsi = bridge_to_dsi(bridge); + + mtk_dsi_poweroff(dsi); +} + static const struct drm_bridge_funcs mtk_dsi_bridge_funcs = { .attach = mtk_dsi_bridge_attach, - .disable = mtk_dsi_bridge_disable, - .enable = mtk_dsi_bridge_enable, + .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, + .atomic_disable = mtk_dsi_bridge_atomic_disable, + .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, + .atomic_enable = mtk_dsi_bridge_atomic_enable, + .atomic_pre_enable = mtk_dsi_bridge_atomic_pre_enable, + .atomic_post_disable = mtk_dsi_bridge_atomic_post_disable, + .atomic_reset = drm_atomic_helper_bridge_reset, .mode_set = mtk_dsi_bridge_mode_set, }; @@ -1000,6 +1033,8 @@ if (MTK_DSI_HOST_IS_READ(msg->type)) irq_flag |= LPRX_RD_RDY_INT_FLAG; + mtk_dsi_lane_ready(dsi); + ret = mtk_dsi_host_send_cmd(dsi, msg, irq_flag); if (ret) goto restore_dsi_mode; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/mediatek/mtk_hdmi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/mediatek/mtk_hdmi.c @@ -1203,9 +1203,10 @@ return mtk_hdmi_update_plugged_status(hdmi); } -static int mtk_hdmi_bridge_mode_valid(struct drm_bridge *bridge, - const struct drm_display_info *info, - const struct drm_display_mode *mode) +static enum drm_mode_status +mtk_hdmi_bridge_mode_valid(struct drm_bridge *bridge, + const struct drm_display_info *info, + const struct drm_display_mode *mode) { struct mtk_hdmi *hdmi = hdmi_ctx_from_bridge(bridge); struct drm_bridge *next_bridge; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/meson/meson_drv.c +++ linux-gcp-5.19.0/drivers/gpu/drm/meson/meson_drv.c @@ -115,8 +115,11 @@ for_each_endpoint_of_node(dev->of_node, ep) { /* If the endpoint node exists, consider it enabled */ remote = of_graph_get_remote_port(ep); - if (remote) + if (remote) { + of_node_put(remote); + of_node_put(ep); return true; + } } return false; @@ -385,10 +388,14 @@ drm_dev_unregister(drm); drm_kms_helper_poll_fini(drm); drm_atomic_helper_shutdown(drm); - component_unbind_all(dev, drm); free_irq(priv->vsync_irq, drm); drm_dev_put(drm); + meson_encoder_hdmi_remove(priv); + meson_encoder_cvbs_remove(priv); + + component_unbind_all(dev, drm); + if (priv->afbcd.ops) priv->afbcd.ops->exit(priv); } @@ -490,6 +497,13 @@ return 0; }; +static int meson_drv_remove(struct platform_device *pdev) +{ + component_master_del(&pdev->dev, &meson_drv_master_ops); + + return 0; +} + static struct meson_drm_match_data meson_drm_gxbb_data = { .compat = VPU_COMPATIBLE_GXBB, }; @@ -527,6 +541,7 @@ static struct platform_driver meson_drm_platform_driver = { .probe = meson_drv_probe, + .remove = meson_drv_remove, .shutdown = meson_drv_shutdown, .driver = { .name = "meson-drm", --- linux-gcp-5.19.0.orig/drivers/gpu/drm/meson/meson_drv.h +++ linux-gcp-5.19.0/drivers/gpu/drm/meson/meson_drv.h @@ -25,6 +25,12 @@ VPU_COMPATIBLE_G12A = 3, }; +enum { + MESON_ENC_CVBS = 0, + MESON_ENC_HDMI, + MESON_ENC_LAST, +}; + struct meson_drm_match_data { enum vpu_compatible compat; struct meson_afbcd_ops *afbcd_ops; @@ -51,6 +57,7 @@ struct drm_crtc *crtc; struct drm_plane *primary_plane; struct drm_plane *overlay_plane; + void *encoders[MESON_ENC_LAST]; const struct meson_drm_soc_limits *limits; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/meson/meson_encoder_cvbs.c +++ linux-gcp-5.19.0/drivers/gpu/drm/meson/meson_encoder_cvbs.c @@ -238,6 +238,7 @@ } meson_encoder_cvbs->next_bridge = of_drm_find_bridge(remote); + of_node_put(remote); if (!meson_encoder_cvbs->next_bridge) { dev_err(priv->dev, "Failed to find CVBS Connector bridge\n"); return -EPROBE_DEFER; @@ -280,5 +281,18 @@ } drm_connector_attach_encoder(connector, &meson_encoder_cvbs->encoder); + priv->encoders[MESON_ENC_CVBS] = meson_encoder_cvbs; + return 0; } + +void meson_encoder_cvbs_remove(struct meson_drm *priv) +{ + struct meson_encoder_cvbs *meson_encoder_cvbs; + + if (priv->encoders[MESON_ENC_CVBS]) { + meson_encoder_cvbs = priv->encoders[MESON_ENC_CVBS]; + drm_bridge_remove(&meson_encoder_cvbs->bridge); + drm_bridge_remove(meson_encoder_cvbs->next_bridge); + } +} --- linux-gcp-5.19.0.orig/drivers/gpu/drm/meson/meson_encoder_cvbs.h +++ linux-gcp-5.19.0/drivers/gpu/drm/meson/meson_encoder_cvbs.h @@ -25,5 +25,6 @@ extern struct meson_cvbs_mode meson_cvbs_modes[MESON_CVBS_MODES_COUNT]; int meson_encoder_cvbs_init(struct meson_drm *priv); +void meson_encoder_cvbs_remove(struct meson_drm *priv); #endif /* __MESON_VENC_CVBS_H */ --- linux-gcp-5.19.0.orig/drivers/gpu/drm/meson/meson_encoder_hdmi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/meson/meson_encoder_hdmi.c @@ -365,7 +365,8 @@ meson_encoder_hdmi->next_bridge = of_drm_find_bridge(remote); if (!meson_encoder_hdmi->next_bridge) { dev_err(priv->dev, "Failed to find HDMI transceiver bridge\n"); - return -EPROBE_DEFER; + ret = -EPROBE_DEFER; + goto err_put_node; } /* HDMI Encoder Bridge */ @@ -383,7 +384,7 @@ DRM_MODE_ENCODER_TMDS); if (ret) { dev_err(priv->dev, "Failed to init HDMI encoder: %d\n", ret); - return ret; + goto err_put_node; } meson_encoder_hdmi->encoder.possible_crtcs = BIT(0); @@ -393,7 +394,7 @@ DRM_BRIDGE_ATTACH_NO_CONNECTOR); if (ret) { dev_err(priv->dev, "Failed to attach bridge: %d\n", ret); - return ret; + goto err_put_node; } /* Initialize & attach Bridge Connector */ @@ -401,7 +402,8 @@ &meson_encoder_hdmi->encoder); if (IS_ERR(meson_encoder_hdmi->connector)) { dev_err(priv->dev, "Unable to create HDMI bridge connector\n"); - return PTR_ERR(meson_encoder_hdmi->connector); + ret = PTR_ERR(meson_encoder_hdmi->connector); + goto err_put_node; } drm_connector_attach_encoder(meson_encoder_hdmi->connector, &meson_encoder_hdmi->encoder); @@ -428,6 +430,7 @@ meson_encoder_hdmi->connector->ycbcr_420_allowed = true; pdev = of_find_device_by_node(remote); + of_node_put(remote); if (pdev) { struct cec_connector_info conn_info; struct cec_notifier *notifier; @@ -435,13 +438,32 @@ cec_fill_conn_info_from_drm(&conn_info, meson_encoder_hdmi->connector); notifier = cec_notifier_conn_register(&pdev->dev, NULL, &conn_info); - if (!notifier) + if (!notifier) { + put_device(&pdev->dev); return -ENOMEM; + } meson_encoder_hdmi->cec_notifier = notifier; } + priv->encoders[MESON_ENC_HDMI] = meson_encoder_hdmi; + dev_dbg(priv->dev, "HDMI encoder initialized\n"); return 0; + +err_put_node: + of_node_put(remote); + return ret; +} + +void meson_encoder_hdmi_remove(struct meson_drm *priv) +{ + struct meson_encoder_hdmi *meson_encoder_hdmi; + + if (priv->encoders[MESON_ENC_HDMI]) { + meson_encoder_hdmi = priv->encoders[MESON_ENC_HDMI]; + drm_bridge_remove(&meson_encoder_hdmi->bridge); + drm_bridge_remove(meson_encoder_hdmi->next_bridge); + } } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/meson/meson_encoder_hdmi.h +++ linux-gcp-5.19.0/drivers/gpu/drm/meson/meson_encoder_hdmi.h @@ -8,5 +8,6 @@ #define __MESON_ENCODER_HDMI_H int meson_encoder_hdmi_init(struct meson_drm *priv); +void meson_encoder_hdmi_remove(struct meson_drm *priv); #endif /* __MESON_ENCODER_HDMI_H */ --- linux-gcp-5.19.0.orig/drivers/gpu/drm/meson/meson_plane.c +++ linux-gcp-5.19.0/drivers/gpu/drm/meson/meson_plane.c @@ -168,7 +168,7 @@ /* Enable OSD and BLK0, set max global alpha */ priv->viu.osd1_ctrl_stat = OSD_ENABLE | - (0xFF << OSD_GLOBAL_ALPHA_SHIFT) | + (0x100 << OSD_GLOBAL_ALPHA_SHIFT) | OSD_BLK0_ENABLE; priv->viu.osd1_ctrl_stat2 = readl(priv->io_base + --- linux-gcp-5.19.0.orig/drivers/gpu/drm/meson/meson_viu.c +++ linux-gcp-5.19.0/drivers/gpu/drm/meson/meson_viu.c @@ -94,7 +94,7 @@ priv->io_base + _REG(VPP_WRAP_OSD1_MATRIX_COEF11_12)); writel(((m[9] & 0x1fff) << 16) | (m[10] & 0x1fff), priv->io_base + _REG(VPP_WRAP_OSD1_MATRIX_COEF20_21)); - writel((m[11] & 0x1fff) << 16, + writel((m[11] & 0x1fff), priv->io_base + _REG(VPP_WRAP_OSD1_MATRIX_COEF22)); writel(((m[18] & 0xfff) << 16) | (m[19] & 0xfff), @@ -436,15 +436,14 @@ /* Initialize OSD1 fifo control register */ reg = VIU_OSD_DDR_PRIORITY_URGENT | - VIU_OSD_HOLD_FIFO_LINES(31) | VIU_OSD_FIFO_DEPTH_VAL(32) | /* fifo_depth_val: 32*8=256 */ VIU_OSD_WORDS_PER_BURST(4) | /* 4 words in 1 burst */ VIU_OSD_FIFO_LIMITS(2); /* fifo_lim: 2*16=32 */ if (meson_vpu_is_compatible(priv, VPU_COMPATIBLE_G12A)) - reg |= VIU_OSD_BURST_LENGTH_32; + reg |= (VIU_OSD_BURST_LENGTH_32 | VIU_OSD_HOLD_FIFO_LINES(31)); else - reg |= VIU_OSD_BURST_LENGTH_64; + reg |= (VIU_OSD_BURST_LENGTH_64 | VIU_OSD_HOLD_FIFO_LINES(4)); writel_relaxed(reg, priv->io_base + _REG(VIU_OSD1_FIFO_CTRL_STAT)); writel_relaxed(reg, priv->io_base + _REG(VIU_OSD2_FIFO_CTRL_STAT)); @@ -469,17 +468,17 @@ priv->io_base + _REG(VD2_IF0_LUMA_FIFO_SIZE)); if (meson_vpu_is_compatible(priv, VPU_COMPATIBLE_G12A)) { - writel_relaxed(VIU_OSD_BLEND_REORDER(0, 1) | - VIU_OSD_BLEND_REORDER(1, 0) | - VIU_OSD_BLEND_REORDER(2, 0) | - VIU_OSD_BLEND_REORDER(3, 0) | - VIU_OSD_BLEND_DIN_EN(1) | - VIU_OSD_BLEND1_DIN3_BYPASS_TO_DOUT1 | - VIU_OSD_BLEND1_DOUT_BYPASS_TO_BLEND2 | - VIU_OSD_BLEND_DIN0_BYPASS_TO_DOUT0 | - VIU_OSD_BLEND_BLEN2_PREMULT_EN(1) | - VIU_OSD_BLEND_HOLD_LINES(4), - priv->io_base + _REG(VIU_OSD_BLEND_CTRL)); + u32 val = (u32)VIU_OSD_BLEND_REORDER(0, 1) | + (u32)VIU_OSD_BLEND_REORDER(1, 0) | + (u32)VIU_OSD_BLEND_REORDER(2, 0) | + (u32)VIU_OSD_BLEND_REORDER(3, 0) | + (u32)VIU_OSD_BLEND_DIN_EN(1) | + (u32)VIU_OSD_BLEND1_DIN3_BYPASS_TO_DOUT1 | + (u32)VIU_OSD_BLEND1_DOUT_BYPASS_TO_BLEND2 | + (u32)VIU_OSD_BLEND_DIN0_BYPASS_TO_DOUT0 | + (u32)VIU_OSD_BLEND_BLEN2_PREMULT_EN(1) | + (u32)VIU_OSD_BLEND_HOLD_LINES(4); + writel_relaxed(val, priv->io_base + _REG(VIU_OSD_BLEND_CTRL)); writel_relaxed(OSD_BLEND_PATH_SEL_ENABLE, priv->io_base + _REG(OSD1_BLEND_SRC_CTRL)); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/mgag200/mgag200_mode.c +++ linux-gcp-5.19.0/drivers/gpu/drm/mgag200/mgag200_mode.c @@ -32,57 +32,78 @@ * This file contains setup code for the CRTC. */ -static void mga_crtc_load_lut(struct drm_crtc *crtc) +static void mgag200_crtc_set_gamma_linear(struct mga_device *mdev, + const struct drm_format_info *format) { - struct drm_device *dev = crtc->dev; - struct mga_device *mdev = to_mga_device(dev); - struct drm_framebuffer *fb; - u16 *r_ptr, *g_ptr, *b_ptr; int i; - if (!crtc->enabled) - return; - - if (!mdev->display_pipe.plane.state) - return; + WREG8(DAC_INDEX + MGA1064_INDEX, 0); - fb = mdev->display_pipe.plane.state->fb; + switch (format->format) { + case DRM_FORMAT_RGB565: + /* Use better interpolation, to take 32 values from 0 to 255 */ + for (i = 0; i < MGAG200_LUT_SIZE / 8; i++) { + WREG8(DAC_INDEX + MGA1064_COL_PAL, i * 8 + i / 4); + WREG8(DAC_INDEX + MGA1064_COL_PAL, i * 4 + i / 16); + WREG8(DAC_INDEX + MGA1064_COL_PAL, i * 8 + i / 4); + } + /* Green has one more bit, so add padding with 0 for red and blue. */ + for (i = MGAG200_LUT_SIZE / 8; i < MGAG200_LUT_SIZE / 4; i++) { + WREG8(DAC_INDEX + MGA1064_COL_PAL, 0); + WREG8(DAC_INDEX + MGA1064_COL_PAL, i * 4 + i / 16); + WREG8(DAC_INDEX + MGA1064_COL_PAL, 0); + } + break; + case DRM_FORMAT_RGB888: + case DRM_FORMAT_XRGB8888: + for (i = 0; i < MGAG200_LUT_SIZE; i++) { + WREG8(DAC_INDEX + MGA1064_COL_PAL, i); + WREG8(DAC_INDEX + MGA1064_COL_PAL, i); + WREG8(DAC_INDEX + MGA1064_COL_PAL, i); + } + break; + default: + drm_warn_once(&mdev->base, "Unsupported format %p4cc for gamma correction\n", + &format->format); + break; + } +} - r_ptr = crtc->gamma_store; - g_ptr = r_ptr + crtc->gamma_size; - b_ptr = g_ptr + crtc->gamma_size; +static void mgag200_crtc_set_gamma(struct mga_device *mdev, + const struct drm_format_info *format, + struct drm_color_lut *lut) +{ + int i; WREG8(DAC_INDEX + MGA1064_INDEX, 0); - if (fb && fb->format->cpp[0] * 8 == 16) { - int inc = (fb->format->depth == 15) ? 8 : 4; - u8 r, b; - for (i = 0; i < MGAG200_LUT_SIZE; i += inc) { - if (fb->format->depth == 16) { - if (i > (MGAG200_LUT_SIZE >> 1)) { - r = b = 0; - } else { - r = *r_ptr++ >> 8; - b = *b_ptr++ >> 8; - r_ptr++; - b_ptr++; - } - } else { - r = *r_ptr++ >> 8; - b = *b_ptr++ >> 8; - } - /* VGA registers */ - WREG8(DAC_INDEX + MGA1064_COL_PAL, r); - WREG8(DAC_INDEX + MGA1064_COL_PAL, *g_ptr++ >> 8); - WREG8(DAC_INDEX + MGA1064_COL_PAL, b); + switch (format->format) { + case DRM_FORMAT_RGB565: + /* Use better interpolation, to take 32 values from lut[0] to lut[255] */ + for (i = 0; i < MGAG200_LUT_SIZE / 8; i++) { + WREG8(DAC_INDEX + MGA1064_COL_PAL, lut[i * 8 + i / 4].red >> 8); + WREG8(DAC_INDEX + MGA1064_COL_PAL, lut[i * 4 + i / 16].green >> 8); + WREG8(DAC_INDEX + MGA1064_COL_PAL, lut[i * 8 + i / 4].blue >> 8); } - return; - } - for (i = 0; i < MGAG200_LUT_SIZE; i++) { - /* VGA registers */ - WREG8(DAC_INDEX + MGA1064_COL_PAL, *r_ptr++ >> 8); - WREG8(DAC_INDEX + MGA1064_COL_PAL, *g_ptr++ >> 8); - WREG8(DAC_INDEX + MGA1064_COL_PAL, *b_ptr++ >> 8); + /* Green has one more bit, so add padding with 0 for red and blue. */ + for (i = MGAG200_LUT_SIZE / 8; i < MGAG200_LUT_SIZE / 4; i++) { + WREG8(DAC_INDEX + MGA1064_COL_PAL, 0); + WREG8(DAC_INDEX + MGA1064_COL_PAL, lut[i * 4 + i / 16].green >> 8); + WREG8(DAC_INDEX + MGA1064_COL_PAL, 0); + } + break; + case DRM_FORMAT_RGB888: + case DRM_FORMAT_XRGB8888: + for (i = 0; i < MGAG200_LUT_SIZE; i++) { + WREG8(DAC_INDEX + MGA1064_COL_PAL, lut[i].red >> 8); + WREG8(DAC_INDEX + MGA1064_COL_PAL, lut[i].green >> 8); + WREG8(DAC_INDEX + MGA1064_COL_PAL, lut[i].blue >> 8); + } + break; + default: + drm_warn_once(&mdev->base, "Unsupported format %p4cc for gamma correction\n", + &format->format); + break; } } @@ -667,16 +688,26 @@ static int mga_vga_get_modes(struct drm_connector *connector) { + struct mga_device *mdev = to_mga_device(connector->dev); struct mga_connector *mga_connector = to_mga_connector(connector); struct edid *edid; int ret = 0; + /* + * Protect access to I/O registers from concurrent modesetting + * by acquiring the I/O-register lock. + */ + mutex_lock(&mdev->rmmio_lock); + edid = drm_get_edid(connector, &mga_connector->i2c->adapter); if (edid) { drm_connector_update_edid_property(connector, edid); ret = drm_add_edid_modes(connector, edid); kfree(edid); } + + mutex_unlock(&mdev->rmmio_lock); + return ret; } @@ -855,10 +886,6 @@ dst += drm_fb_clip_offset(fb->pitches[0], fb->format, clip); drm_fb_memcpy_toio(dst, fb->pitches[0], vmap, fb, clip); - - /* Always scanout image at VRAM offset 0 */ - mgag200_set_startadd(mdev, (u32)0); - mgag200_set_offset(mdev, fb); } static void @@ -908,11 +935,19 @@ if (mdev->type == G200_WB || mdev->type == G200_EW3) mgag200_g200wb_release_bmc(mdev); - mga_crtc_load_lut(crtc); + if (crtc_state->gamma_lut) + mgag200_crtc_set_gamma(mdev, fb->format, crtc_state->gamma_lut->data); + else + mgag200_crtc_set_gamma_linear(mdev, fb->format); + mgag200_enable_display(mdev); mgag200_handle_damage(mdev, fb, &fullscreen, &shadow_plane_state->data[0]); + /* Always scanout image at VRAM offset 0 */ + mgag200_set_startadd(mdev, (u32)0); + mgag200_set_offset(mdev, fb); + mutex_unlock(&mdev->rmmio_lock); } @@ -955,6 +990,14 @@ return ret; } + if (crtc_state->color_mgmt_changed && crtc_state->gamma_lut) { + if (crtc_state->gamma_lut->length != + MGAG200_LUT_SIZE * sizeof(struct drm_color_lut)) { + drm_err(dev, "Wrong size for gamma_lut %zu\n", + crtc_state->gamma_lut->length); + return -EINVAL; + } + } return 0; } @@ -963,20 +1006,30 @@ struct drm_plane_state *old_state) { struct drm_plane *plane = &pipe->plane; + struct drm_crtc *crtc = &pipe->crtc; struct drm_device *dev = plane->dev; struct mga_device *mdev = to_mga_device(dev); struct drm_plane_state *state = plane->state; struct drm_shadow_plane_state *shadow_plane_state = to_drm_shadow_plane_state(state); struct drm_framebuffer *fb = state->fb; struct drm_rect damage; + struct drm_atomic_helper_damage_iter iter; if (!fb) return; mutex_lock(&mdev->rmmio_lock); - if (drm_atomic_helper_damage_merged(old_state, state, &damage)) + if (crtc->state->color_mgmt_changed && crtc->state->gamma_lut) + mgag200_crtc_set_gamma(mdev, fb->format, crtc->state->gamma_lut->data); + + drm_atomic_helper_damage_iter_init(&iter, old_state, state); + drm_atomic_for_each_plane_damage(&iter, &damage) { mgag200_handle_damage(mdev, fb, &damage, &shadow_plane_state->data[0]); + } + /* Always scanout image at VRAM offset 0 */ + mgag200_set_startadd(mdev, (u32)0); + mgag200_set_offset(mdev, fb); mutex_unlock(&mdev->rmmio_lock); } @@ -1121,9 +1174,13 @@ return ret; } - /* FIXME: legacy gamma tables; convert to CRTC state */ + drm_plane_enable_fb_damage_clips(&pipe->plane); + + /* FIXME: legacy gamma tables, but atomic gamma doesn't work without */ drm_mode_crtc_set_gamma_size(&pipe->crtc, MGAG200_LUT_SIZE); + drm_crtc_enable_color_mgmt(&pipe->crtc, 0, false, MGAG200_LUT_SIZE); + drm_mode_config_reset(dev); return 0; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/mgag200/mgag200_pll.c +++ linux-gcp-5.19.0/drivers/gpu/drm/mgag200/mgag200_pll.c @@ -268,7 +268,8 @@ pixpllcp = pixpllc->p - 1; pixpllcs = pixpllc->s; - xpixpllcm = pixpllcm | ((pixpllcn & BIT(8)) >> 1); + // For G200SE A, BIT(7) should be set unconditionally. + xpixpllcm = BIT(7) | pixpllcm; xpixpllcn = pixpllcn; xpixpllcp = (pixpllcs << 3) | pixpllcp; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/adreno/a5xx_gpu.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/adreno/a5xx_gpu.c @@ -1666,18 +1666,10 @@ { u64 busy_cycles; - /* Only read the gpu busy if the hardware is already active */ - if (pm_runtime_get_if_in_use(&gpu->pdev->dev) == 0) { - *out_sample_rate = 1; - return 0; - } - busy_cycles = gpu_read64(gpu, REG_A5XX_RBBM_PERFCTR_RBBM_0_LO, REG_A5XX_RBBM_PERFCTR_RBBM_0_HI); *out_sample_rate = clk_get_rate(gpu->core_clk); - pm_runtime_put(&gpu->pdev->dev); - return busy_cycles; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/adreno/a6xx_gmu.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/adreno/a6xx_gmu.c @@ -102,7 +102,8 @@ A6XX_GMU_SPTPRAC_PWR_CLK_STATUS_GX_HM_CLK_OFF)); } -void a6xx_gmu_set_freq(struct msm_gpu *gpu, struct dev_pm_opp *opp) +void a6xx_gmu_set_freq(struct msm_gpu *gpu, struct dev_pm_opp *opp, + bool suspended) { struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu); struct a6xx_gpu *a6xx_gpu = to_a6xx_gpu(adreno_gpu); @@ -127,15 +128,16 @@ /* * This can get called from devfreq while the hardware is idle. Don't - * bring up the power if it isn't already active + * bring up the power if it isn't already active. All we're doing here + * is updating the frequency so that when we come back online we're at + * the right rate. */ - if (pm_runtime_get_if_in_use(gmu->dev) == 0) + if (suspended) return; if (!gmu->legacy) { a6xx_hfi_set_freq(gmu, perf_index); dev_pm_opp_set_opp(&gpu->pdev->dev, opp); - pm_runtime_put(gmu->dev); return; } @@ -159,7 +161,6 @@ dev_err(gmu->dev, "GMU set GPU frequency error: %d\n", ret); dev_pm_opp_set_opp(&gpu->pdev->dev, opp); - pm_runtime_put(gmu->dev); } unsigned long a6xx_gmu_get_freq(struct msm_gpu *gpu) @@ -895,7 +896,7 @@ return; gmu->freq = 0; /* so a6xx_gmu_set_freq() doesn't exit early */ - a6xx_gmu_set_freq(gpu, gpu_opp); + a6xx_gmu_set_freq(gpu, gpu_opp, false); dev_pm_opp_put(gpu_opp); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/adreno/a6xx_gpu.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/adreno/a6xx_gpu.c @@ -1658,27 +1658,21 @@ /* 19.2MHz */ *out_sample_rate = 19200000; - /* Only read the gpu busy if the hardware is already active */ - if (pm_runtime_get_if_in_use(a6xx_gpu->gmu.dev) == 0) - return 0; - busy_cycles = gmu_read64(&a6xx_gpu->gmu, REG_A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_0_L, REG_A6XX_GMU_CX_GMU_POWER_COUNTER_XOCLK_0_H); - - pm_runtime_put(a6xx_gpu->gmu.dev); - return busy_cycles; } -static void a6xx_gpu_set_freq(struct msm_gpu *gpu, struct dev_pm_opp *opp) +static void a6xx_gpu_set_freq(struct msm_gpu *gpu, struct dev_pm_opp *opp, + bool suspended) { struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu); struct a6xx_gpu *a6xx_gpu = to_a6xx_gpu(adreno_gpu); mutex_lock(&a6xx_gpu->gmu.lock); - a6xx_gmu_set_freq(gpu, opp); + a6xx_gmu_set_freq(gpu, opp, suspended); mutex_unlock(&a6xx_gpu->gmu.lock); } @@ -1787,7 +1781,7 @@ if (val == UINT_MAX) { DRM_DEV_ERROR(dev, - "missing support for speed-bin: %u. Some OPPs may not be supported by hardware", + "missing support for speed-bin: %u. Some OPPs may not be supported by hardware\n", fuse); return UINT_MAX; } @@ -1797,7 +1791,7 @@ static int a6xx_set_supported_hw(struct device *dev, struct adreno_rev rev) { - u32 supp_hw = UINT_MAX; + u32 supp_hw; u32 speedbin; int ret; @@ -1809,15 +1803,13 @@ if (ret == -ENOENT) { return 0; } else if (ret) { - DRM_DEV_ERROR(dev, - "failed to read speed-bin (%d). Some OPPs may not be supported by hardware", - ret); - goto done; + dev_err_probe(dev, ret, + "failed to read speed-bin. Some OPPs may not be supported by hardware\n"); + return ret; } supp_hw = fuse_to_supp_hw(dev, rev, speedbin); -done: ret = devm_pm_opp_set_supported_hw(dev, &supp_hw, 1); if (ret) return ret; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/adreno/a6xx_gpu.h +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/adreno/a6xx_gpu.h @@ -77,7 +77,8 @@ int a6xx_gmu_init(struct a6xx_gpu *a6xx_gpu, struct device_node *node); void a6xx_gmu_remove(struct a6xx_gpu *a6xx_gpu); -void a6xx_gmu_set_freq(struct msm_gpu *gpu, struct dev_pm_opp *opp); +void a6xx_gmu_set_freq(struct msm_gpu *gpu, struct dev_pm_opp *opp, + bool suspended); unsigned long a6xx_gmu_get_freq(struct msm_gpu *gpu); void a6xx_show(struct msm_gpu *gpu, struct msm_gpu_state *state, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c @@ -91,7 +91,7 @@ static void *state_kcalloc(struct a6xx_gpu_state *a6xx_state, int nr, size_t objsize) { struct a6xx_state_memobj *obj = - kzalloc((nr * objsize) + sizeof(*obj), GFP_KERNEL); + kvzalloc((nr * objsize) + sizeof(*obj), GFP_KERNEL); if (!obj) return NULL; @@ -819,7 +819,7 @@ snapshot->iova = bo->iova; snapshot->size = bo->size; - snapshot->data = kvzalloc(snapshot->size, GFP_KERNEL); + snapshot->data = state_kcalloc(a6xx_state, 1, snapshot->size); if (!snapshot->data) return NULL; @@ -1034,14 +1034,8 @@ struct a6xx_gpu_state *a6xx_state = container_of(state, struct a6xx_gpu_state, base); - if (a6xx_state->gmu_log) - kvfree(a6xx_state->gmu_log->data); - - if (a6xx_state->gmu_hfi) - kvfree(a6xx_state->gmu_hfi->data); - list_for_each_entry_safe(obj, tmp, &a6xx_state->objs, node) - kfree(obj); + kvfree(obj); adreno_gpu_state_destroy(state); kfree(a6xx_state); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/adreno/adreno_device.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/adreno/adreno_device.c @@ -656,6 +656,9 @@ struct msm_gpu *gpu = dev_to_gpu(dev); int remaining, ret; + if (!gpu) + return 0; + suspend_scheduler(gpu); remaining = wait_event_timeout(gpu->retire_event, @@ -677,7 +680,12 @@ static int adreno_system_resume(struct device *dev) { - resume_scheduler(dev_to_gpu(dev)); + struct msm_gpu *gpu = dev_to_gpu(dev); + + if (!gpu) + return 0; + + resume_scheduler(gpu); return pm_runtime_force_resume(dev); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/adreno/adreno_gpu.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/adreno/adreno_gpu.c @@ -334,6 +334,8 @@ /* Ensure string is null terminated: */ str[len] = '\0'; + mutex_lock(&gpu->lock); + if (param == MSM_PARAM_COMM) { paramp = &ctx->comm; } else { @@ -343,6 +345,8 @@ kfree(*paramp); *paramp = str; + mutex_unlock(&gpu->lock); + return 0; } case MSM_PARAM_SYSPROF: @@ -1056,13 +1060,13 @@ void adreno_gpu_cleanup(struct adreno_gpu *adreno_gpu) { struct msm_gpu *gpu = &adreno_gpu->base; - struct msm_drm_private *priv = gpu->dev->dev_private; + struct msm_drm_private *priv = gpu->dev ? gpu->dev->dev_private : NULL; unsigned int i; for (i = 0; i < ARRAY_SIZE(adreno_gpu->info->fw); i++) release_firmware(adreno_gpu->fw[i]); - if (pm_runtime_enabled(&priv->gpu_pdev->dev)) + if (priv && pm_runtime_enabled(&priv->gpu_pdev->dev)) pm_runtime_disable(&priv->gpu_pdev->dev); msm_gpu_cleanup(&adreno_gpu->base); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/adreno/adreno_gpu.h +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/adreno/adreno_gpu.h @@ -29,11 +29,9 @@ ADRENO_FW_MAX, }; -enum adreno_quirks { - ADRENO_QUIRK_TWO_PASS_USE_WFI = 1, - ADRENO_QUIRK_FAULT_DETECT_MASK = 2, - ADRENO_QUIRK_LMLOADKILL_DISABLE = 3, -}; +#define ADRENO_QUIRK_TWO_PASS_USE_WFI BIT(0) +#define ADRENO_QUIRK_FAULT_DETECT_MASK BIT(1) +#define ADRENO_QUIRK_LMLOADKILL_DISABLE BIT(2) struct adreno_rev { uint8_t core; @@ -65,7 +63,7 @@ const char *name; const char *fw[ADRENO_FW_MAX]; uint32_t gmem; - enum adreno_quirks quirks; + u64 quirks; struct msm_gpu *(*init)(struct drm_device *dev); const char *zapfw; u32 inactive_period; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c @@ -361,6 +361,9 @@ if (!state) continue; + if (!state->visible) + continue; + pstate = to_dpu_plane_state(state); fb = state->fb; @@ -911,7 +914,10 @@ if (crtc->state) dpu_crtc_destroy_state(crtc, crtc->state); - __drm_atomic_helper_crtc_reset(crtc, &cstate->base); + if (cstate) + __drm_atomic_helper_crtc_reset(crtc, &cstate->base); + else + __drm_atomic_helper_crtc_reset(crtc, NULL); } /** @@ -1093,6 +1099,8 @@ bool needs_dirtyfb = dpu_crtc_needs_dirtyfb(crtc_state); pstates = kzalloc(sizeof(*pstates) * DPU_STAGE_MAX * 4, GFP_KERNEL); + if (!pstates) + return -ENOMEM; if (!crtc_state->enable || !crtc_state->active) { DRM_DEBUG_ATOMIC("crtc%d -> enable %d, active %d, skip atomic_check\n", @@ -1134,6 +1142,9 @@ if (cnt >= DPU_STAGE_MAX * 4) continue; + if (!pstate->visible) + continue; + pstates[cnt].dpu_pstate = dpu_pstate; pstates[cnt].drm_pstate = pstate; pstates[cnt].stage = pstate->normalized_zpos; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c @@ -1048,24 +1048,6 @@ phys->hw_pp = dpu_enc->hw_pp[i]; phys->hw_ctl = to_dpu_hw_ctl(hw_ctl[i]); - if (phys->intf_idx >= INTF_0 && phys->intf_idx < INTF_MAX) - phys->hw_intf = dpu_rm_get_intf(&dpu_kms->rm, phys->intf_idx); - - if (phys->wb_idx >= WB_0 && phys->wb_idx < WB_MAX) - phys->hw_wb = dpu_rm_get_wb(&dpu_kms->rm, phys->wb_idx); - - if (!phys->hw_intf && !phys->hw_wb) { - DPU_ERROR_ENC(dpu_enc, - "no intf or wb block assigned at idx: %d\n", i); - return; - } - - if (phys->hw_intf && phys->hw_wb) { - DPU_ERROR_ENC(dpu_enc, - "invalid phys both intf and wb block at idx: %d\n", i); - return; - } - phys->cached_mode = crtc_state->adjusted_mode; if (phys->ops.atomic_mode_set) phys->ops.atomic_mode_set(phys, crtc_state, conn_state); @@ -2016,6 +1998,12 @@ intf_cfg.stream_sel = 0; /* Don't care value for video mode */ intf_cfg.mode_3d = dpu_encoder_helper_get_3d_blend_mode(phys_enc); + + if (phys_enc->hw_intf) + intf_cfg.intf = phys_enc->hw_intf->idx; + if (phys_enc->hw_wb) + intf_cfg.wb = phys_enc->hw_wb->idx; + if (phys_enc->hw_pp->merge_3d) intf_cfg.merge_3d = phys_enc->hw_pp->merge_3d->idx; @@ -2294,7 +2282,25 @@ struct dpu_encoder_phys *phys = dpu_enc->phys_encs[i]; atomic_set(&phys->vsync_cnt, 0); atomic_set(&phys->underrun_cnt, 0); + + if (phys->intf_idx >= INTF_0 && phys->intf_idx < INTF_MAX) + phys->hw_intf = dpu_rm_get_intf(&dpu_kms->rm, phys->intf_idx); + + if (phys->wb_idx >= WB_0 && phys->wb_idx < WB_MAX) + phys->hw_wb = dpu_rm_get_wb(&dpu_kms->rm, phys->wb_idx); + + if (!phys->hw_intf && !phys->hw_wb) { + DPU_ERROR_ENC(dpu_enc, "no intf or wb block assigned at idx: %d\n", i); + ret = -EINVAL; + } + + if (phys->hw_intf && phys->hw_wb) { + DPU_ERROR_ENC(dpu_enc, + "invalid phys both intf and wb block at idx: %d\n", i); + ret = -EINVAL; + } } + mutex_unlock(&dpu_enc->enc_lock); return ret; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_wb.c @@ -20,8 +20,6 @@ #include "dpu_crtc.h" #include "disp/msm_disp_snapshot.h" -#define DEFAULT_MAX_WRITEBACK_WIDTH 2048 - #define to_dpu_encoder_phys_wb(x) \ container_of(x, struct dpu_encoder_phys_wb, base) @@ -133,7 +131,6 @@ * dpu_encoder_phys_wb_setup_fb - setup output framebuffer * @phys_enc: Pointer to physical encoder * @fb: Pointer to output framebuffer - * @wb_roi: Pointer to output region of interest */ static void dpu_encoder_phys_wb_setup_fb(struct dpu_encoder_phys *phys_enc, struct drm_framebuffer *fb) @@ -278,9 +275,9 @@ DPU_ERROR("invalid fb h=%d, mode h=%d\n", fb->height, mode->vdisplay); return -EINVAL; - } else if (fb->width > DEFAULT_MAX_WRITEBACK_WIDTH) { + } else if (fb->width > phys_enc->hw_wb->caps->maxlinewidth) { DPU_ERROR("invalid fb w=%d, maxlinewidth=%u\n", - fb->width, DEFAULT_MAX_WRITEBACK_WIDTH); + fb->width, phys_enc->hw_wb->caps->maxlinewidth); return -EINVAL; } @@ -693,7 +690,7 @@ /** * dpu_encoder_phys_wb_init - initialize writeback encoder - * @init: Pointer to init info structure with initialization params + * @p: Pointer to init info structure with initialization params */ struct dpu_encoder_phys *dpu_encoder_phys_wb_init( struct dpu_enc_phys_init_params *p) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_catalog.c @@ -1285,7 +1285,7 @@ * Writeback blocks config *************************************************************/ #define WB_BLK(_name, _id, _base, _features, _clk_ctrl, \ - __xin_id, vbif_id, _reg, _wb_done_bit) \ + __xin_id, vbif_id, _reg, _max_linewidth, _wb_done_bit) \ { \ .name = _name, .id = _id, \ .base = _base, .len = 0x2c8, \ @@ -1295,13 +1295,13 @@ .clk_ctrl = _clk_ctrl, \ .xin_id = __xin_id, \ .vbif_idx = vbif_id, \ - .maxlinewidth = DEFAULT_DPU_LINE_WIDTH, \ + .maxlinewidth = _max_linewidth, \ .intr_wb_done = DPU_IRQ_IDX(_reg, _wb_done_bit) \ } static const struct dpu_wb_cfg sm8250_wb[] = { WB_BLK("wb_2", WB_2, 0x65000, WB_SM8250_MASK, DPU_CLK_CTRL_WB2, 6, - VBIF_RT, MDP_SSPP_TOP0_INTR, 4), + VBIF_RT, MDP_SSPP_TOP0_INTR, 4096, 4), }; /************************************************************* --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dsc.c @@ -42,7 +42,7 @@ u32 initial_lines) { struct dpu_hw_blk_reg_map *c = &hw_dsc->hw; - u32 data, lsb, bpp; + u32 data; u32 slice_last_group_size; u32 det_thresh_flatness; bool is_cmd_mode = !(mode & DSC_MODE_VIDEO); @@ -56,14 +56,7 @@ data = (initial_lines << 20); data |= ((slice_last_group_size - 1) << 18); /* bpp is 6.4 format, 4 LSBs bits are for fractional part */ - data |= dsc->drm->bits_per_pixel << 12; - lsb = dsc->drm->bits_per_pixel % 4; - bpp = dsc->drm->bits_per_pixel / 4; - bpp *= 4; - bpp <<= 4; - bpp |= lsb; - - data |= bpp << 8; + data |= (dsc->drm->bits_per_pixel << 8); data |= (dsc->drm->block_pred_enable << 7); data |= (dsc->drm->line_buf_depth << 3); data |= (dsc->drm->simple_422 << 2); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c @@ -383,12 +383,9 @@ struct icc_path *path1; struct drm_device *dev = dpu_kms->dev; struct device *dpu_dev = dev->dev; - struct device *mdss_dev = dpu_dev->parent; - /* Interconnects are a part of MDSS device tree binding, not the - * MDP/DPU device. */ - path0 = of_icc_get(mdss_dev, "mdp0-mem"); - path1 = of_icc_get(mdss_dev, "mdp1-mem"); + path0 = msm_icc_get(dpu_dev, "mdp0-mem"); + path1 = msm_icc_get(dpu_dev, "mdp1-mem"); if (IS_ERR_OR_NULL(path0)) return PTR_ERR_OR_ZERO(path0); @@ -828,12 +825,10 @@ _dpu_kms_mmu_destroy(dpu_kms); if (dpu_kms->catalog) { - for (i = 0; i < dpu_kms->catalog->vbif_count; i++) { - u32 vbif_idx = dpu_kms->catalog->vbif[i].id; - - if ((vbif_idx < VBIF_MAX) && dpu_kms->hw_vbif[vbif_idx]) { - dpu_hw_vbif_destroy(dpu_kms->hw_vbif[vbif_idx]); - dpu_kms->hw_vbif[vbif_idx] = NULL; + for (i = 0; i < ARRAY_SIZE(dpu_kms->hw_vbif); i++) { + if (dpu_kms->hw_vbif[i]) { + dpu_hw_vbif_destroy(dpu_kms->hw_vbif[i]); + dpu_kms->hw_vbif[i] = NULL; } } } @@ -1135,7 +1130,7 @@ for (i = 0; i < dpu_kms->catalog->vbif_count; i++) { u32 vbif_idx = dpu_kms->catalog->vbif[i].id; - dpu_kms->hw_vbif[i] = dpu_hw_vbif_init(vbif_idx, + dpu_kms->hw_vbif[vbif_idx] = dpu_hw_vbif_init(vbif_idx, dpu_kms->vbif[vbif_idx], dpu_kms->catalog); if (IS_ERR_OR_NULL(dpu_kms->hw_vbif[vbif_idx])) { rc = PTR_ERR(dpu_kms->hw_vbif[vbif_idx]); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c @@ -1153,7 +1153,7 @@ struct dpu_plane_state *pstate = to_dpu_plane_state(state); struct drm_crtc *crtc = state->crtc; struct drm_framebuffer *fb = state->fb; - bool is_rt_pipe, update_qos_remap; + bool is_rt_pipe; const struct dpu_format *fmt = to_dpu_format(msm_framebuffer_format(fb)); struct dpu_hw_pipe_cfg pipe_cfg; @@ -1165,6 +1165,9 @@ pstate->pending = true; is_rt_pipe = (dpu_crtc_get_client_type(crtc) != NRT_CLIENT); + pstate->needs_qos_remap |= (is_rt_pipe != pdpu->is_rt_pipe); + pdpu->is_rt_pipe = is_rt_pipe; + _dpu_plane_set_qos_ctrl(plane, false, DPU_PLANE_QOS_PANIC_CTRL); DPU_DEBUG_PLANE(pdpu, "FB[%u] " DRM_RECT_FP_FMT "->crtc%u " DRM_RECT_FMT @@ -1246,14 +1249,8 @@ _dpu_plane_set_ot_limit(plane, crtc, &pipe_cfg); } - update_qos_remap = (is_rt_pipe != pdpu->is_rt_pipe) || - pstate->needs_qos_remap; - - if (update_qos_remap) { - if (is_rt_pipe != pdpu->is_rt_pipe) - pdpu->is_rt_pipe = is_rt_pipe; - else if (pstate->needs_qos_remap) - pstate->needs_qos_remap = false; + if (pstate->needs_qos_remap) { + pstate->needs_qos_remap = false; _dpu_plane_set_qos_remap(plane); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c @@ -660,6 +660,11 @@ blks_size, enc_id); break; } + if (!hw_blks[i]) { + DPU_ERROR("Allocated resource %d unavailable to assign to enc %d\n", + type, enc_id); + break; + } blks[num_blks++] = hw_blks[i]; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/disp/dpu1/dpu_vbif.c @@ -11,6 +11,14 @@ #include "dpu_hw_vbif.h" #include "dpu_trace.h" +static struct dpu_hw_vbif *dpu_get_vbif(struct dpu_kms *dpu_kms, enum dpu_vbif vbif_idx) +{ + if (vbif_idx < ARRAY_SIZE(dpu_kms->hw_vbif)) + return dpu_kms->hw_vbif[vbif_idx]; + + return NULL; +} + /** * _dpu_vbif_wait_for_xin_halt - wait for the xin to halt * @vbif: Pointer to hardware vbif driver @@ -148,20 +156,15 @@ void dpu_vbif_set_ot_limit(struct dpu_kms *dpu_kms, struct dpu_vbif_set_ot_params *params) { - struct dpu_hw_vbif *vbif = NULL; + struct dpu_hw_vbif *vbif; struct dpu_hw_mdp *mdp; bool forced_on = false; u32 ot_lim; - int ret, i; + int ret; mdp = dpu_kms->hw_mdp; - for (i = 0; i < ARRAY_SIZE(dpu_kms->hw_vbif); i++) { - if (dpu_kms->hw_vbif[i] && - dpu_kms->hw_vbif[i]->idx == params->vbif_idx) - vbif = dpu_kms->hw_vbif[i]; - } - + vbif = dpu_get_vbif(dpu_kms, params->vbif_idx); if (!vbif || !mdp) { DRM_DEBUG_ATOMIC("invalid arguments vbif %d mdp %d\n", vbif != NULL, mdp != NULL); @@ -204,7 +207,7 @@ void dpu_vbif_set_qos_remap(struct dpu_kms *dpu_kms, struct dpu_vbif_set_qos_params *params) { - struct dpu_hw_vbif *vbif = NULL; + struct dpu_hw_vbif *vbif; struct dpu_hw_mdp *mdp; bool forced_on = false; const struct dpu_vbif_qos_tbl *qos_tbl; @@ -216,13 +219,7 @@ } mdp = dpu_kms->hw_mdp; - for (i = 0; i < ARRAY_SIZE(dpu_kms->hw_vbif); i++) { - if (dpu_kms->hw_vbif[i] && - dpu_kms->hw_vbif[i]->idx == params->vbif_idx) { - vbif = dpu_kms->hw_vbif[i]; - break; - } - } + vbif = dpu_get_vbif(dpu_kms, params->vbif_idx); if (!vbif || !vbif->cap) { DPU_ERROR("invalid vbif %d\n", params->vbif_idx); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/disp/dpu1/dpu_writeback.c @@ -68,6 +68,8 @@ int rc = 0; dpu_wb_conn = devm_kzalloc(dev->dev, sizeof(*dpu_wb_conn), GFP_KERNEL); + if (!dpu_wb_conn) + return -ENOMEM; drm_connector_helper_add(&dpu_wb_conn->base.base, &dpu_wb_conn_helper_funcs); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c @@ -56,8 +56,9 @@ return ret; } -static int mdp4_lvds_connector_mode_valid(struct drm_connector *connector, - struct drm_display_mode *mode) +static enum drm_mode_status +mdp4_lvds_connector_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode) { struct mdp4_lvds_connector *mdp4_lvds_connector = to_mdp4_lvds_connector(connector); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c @@ -1138,7 +1138,10 @@ if (crtc->state) mdp5_crtc_destroy_state(crtc, crtc->state); - __drm_atomic_helper_crtc_reset(crtc, &mdp5_cstate->base); + if (mdp5_cstate) + __drm_atomic_helper_crtc_reset(crtc, &mdp5_cstate->base); + else + __drm_atomic_helper_crtc_reset(crtc, NULL); } static const struct drm_crtc_funcs mdp5_crtc_no_lm_cursor_funcs = { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c @@ -203,7 +203,7 @@ slave_encoder); } -static void mdp5_destroy(struct platform_device *pdev); +static void mdp5_destroy(struct mdp5_kms *mdp5_kms); static void mdp5_kms_destroy(struct msm_kms *kms) { @@ -223,7 +223,7 @@ } mdp_kms_destroy(&mdp5_kms->base); - mdp5_destroy(mdp5_kms->pdev); + mdp5_destroy(mdp5_kms); } #ifdef CONFIG_DEBUG_FS @@ -519,9 +519,10 @@ struct device *dev = &mdp5_kms->pdev->dev; u32 version; - pm_runtime_get_sync(dev); + /* Manually enable the MDP5, as pm runtime isn't usable yet. */ + mdp5_enable(mdp5_kms); version = mdp5_read(mdp5_kms, REG_MDP5_HW_VERSION); - pm_runtime_put_sync(dev); + mdp5_disable(mdp5_kms); *major = FIELD(version, MDP5_HW_VERSION_MAJOR); *minor = FIELD(version, MDP5_HW_VERSION_MINOR); @@ -560,6 +561,8 @@ struct device *iommu_dev; ret = mdp5_init(to_platform_device(dev->dev), dev); + if (ret) + return ret; /* priv->kms would have been populated by the MDP5 driver */ kms = priv->kms; @@ -651,9 +654,8 @@ return ret; } -static void mdp5_destroy(struct platform_device *pdev) +static void mdp5_destroy(struct mdp5_kms *mdp5_kms) { - struct mdp5_kms *mdp5_kms = platform_get_drvdata(pdev); int i; if (mdp5_kms->ctlm) @@ -667,7 +669,7 @@ kfree(mdp5_kms->intfs[i]); if (mdp5_kms->rpm_enabled) - pm_runtime_disable(&pdev->dev); + pm_runtime_disable(&mdp5_kms->pdev->dev); drm_atomic_private_obj_fini(&mdp5_kms->glob_state); drm_modeset_lock_fini(&mdp5_kms->glob_state_lock); @@ -816,8 +818,6 @@ goto fail; } - platform_set_drvdata(pdev, mdp5_kms); - spin_lock_init(&mdp5_kms->resource_lock); mdp5_kms->dev = dev; @@ -858,9 +858,6 @@ */ clk_set_rate(mdp5_kms->core_clk, 200000000); - pm_runtime_enable(&pdev->dev); - mdp5_kms->rpm_enabled = true; - read_mdp_hw_revision(mdp5_kms, &major, &minor); mdp5_kms->cfg = mdp5_cfg_init(mdp5_kms, major, minor); @@ -912,21 +909,21 @@ /* set uninit-ed kms */ priv->kms = &mdp5_kms->base.base; + pm_runtime_enable(&pdev->dev); + mdp5_kms->rpm_enabled = true; + return 0; fail: if (mdp5_kms) - mdp5_destroy(pdev); + mdp5_destroy(mdp5_kms); return ret; } static int mdp5_setup_interconnect(struct platform_device *pdev) { - /* Interconnects are a part of MDSS device tree binding, not the - * MDP5 device. */ - struct device *mdss_dev = pdev->dev.parent; - struct icc_path *path0 = of_icc_get(mdss_dev, "mdp0-mem"); - struct icc_path *path1 = of_icc_get(mdss_dev, "mdp1-mem"); - struct icc_path *path_rot = of_icc_get(mdss_dev, "rotator-mem"); + struct icc_path *path0 = msm_icc_get(&pdev->dev, "mdp0-mem"); + struct icc_path *path1 = msm_icc_get(&pdev->dev, "mdp1-mem"); + struct icc_path *path_rot = msm_icc_get(&pdev->dev, "rotator-mem"); if (IS_ERR(path0)) return PTR_ERR(path0); @@ -975,7 +972,8 @@ static __maybe_unused int mdp5_runtime_suspend(struct device *dev) { struct platform_device *pdev = to_platform_device(dev); - struct mdp5_kms *mdp5_kms = platform_get_drvdata(pdev); + struct msm_drm_private *priv = platform_get_drvdata(pdev); + struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(priv->kms)); DBG(""); @@ -985,7 +983,8 @@ static __maybe_unused int mdp5_runtime_resume(struct device *dev) { struct platform_device *pdev = to_platform_device(dev); - struct mdp5_kms *mdp5_kms = platform_get_drvdata(pdev); + struct msm_drm_private *priv = platform_get_drvdata(pdev); + struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(priv->kms)); DBG(""); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/disp/mdp5/mdp5_pipe.c @@ -123,12 +123,13 @@ { struct msm_drm_private *priv = s->dev->dev_private; struct mdp5_kms *mdp5_kms = to_mdp5_kms(to_mdp_kms(priv->kms)); - struct mdp5_global_state *state = mdp5_get_global_state(s); + struct mdp5_global_state *state; struct mdp5_hw_pipe_state *new_state; if (!hwpipe) return 0; + state = mdp5_get_global_state(s); if (IS_ERR(state)) return PTR_ERR(state); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/dp/dp_aux.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/dp/dp_aux.c @@ -423,6 +423,10 @@ isr = dp_catalog_aux_get_irq(aux->catalog); + /* no interrupts pending, return immediately */ + if (!isr) + return; + if (!aux->cmd_busy) return; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/dp/dp_catalog.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/dp/dp_catalog.c @@ -431,7 +431,7 @@ if (rate == link_rate_hbr3) pixel_div = 6; - else if (rate == 1620000 || rate == 270000) + else if (rate == 162000 || rate == 270000) pixel_div = 2; else if (rate == link_rate_hbr2) pixel_div = 4; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/dp/dp_ctrl.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/dp/dp_ctrl.c @@ -1214,7 +1214,7 @@ if (ret) return ret; - dp_ctrl_train_pattern_set(ctrl, pattern | DP_RECOVERED_CLOCK_OUT_EN); + dp_ctrl_train_pattern_set(ctrl, pattern); for (tries = 0; tries <= maximum_retries; tries++) { drm_dp_link_train_channel_eq_delay(ctrl->aux, ctrl->panel->dpcd); @@ -1245,8 +1245,7 @@ { int ret = 0; const u8 *dpcd = ctrl->panel->dpcd; - u8 encoding = DP_SET_ANSI_8B10B; - u8 ssc; + u8 encoding[] = { 0, DP_SET_ANSI_8B10B }; u8 assr; struct dp_link_info link_info = {0}; @@ -1258,13 +1257,11 @@ dp_aux_link_configure(ctrl->aux, &link_info); - if (drm_dp_max_downspread(dpcd)) { - ssc = DP_SPREAD_AMP_0_5; - drm_dp_dpcd_write(ctrl->aux, DP_DOWNSPREAD_CTRL, &ssc, 1); - } + if (drm_dp_max_downspread(dpcd)) + encoding[0] |= DP_SPREAD_AMP_0_5; - drm_dp_dpcd_write(ctrl->aux, DP_MAIN_LINK_CHANNEL_CODING_SET, - &encoding, 1); + /* config DOWNSPREAD_CTRL and MAIN_LINK_CHANNEL_CODING_SET */ + drm_dp_dpcd_write(ctrl->aux, DP_DOWNSPREAD_CTRL, encoding, 2); if (drm_dp_alternate_scrambler_reset_cap(dpcd)) { assr = DP_ALTERNATE_SCRAMBLER_RESET_ENABLE; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/dp/dp_display.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/dp/dp_display.c @@ -852,7 +852,7 @@ dp = container_of(dp_display, struct dp_display_private, dp_display); - dp->panel->dp_mode.drm_mode = mode->drm_mode; + drm_mode_copy(&dp->panel->dp_mode.drm_mode, &mode->drm_mode); dp->panel->dp_mode.bpp = mode->bpp; dp->panel->dp_mode.capabilities = mode->capabilities; dp_panel_init_panel_info(dp->panel); @@ -1254,7 +1254,7 @@ return -EINVAL; } - rc = devm_request_irq(&dp->pdev->dev, dp->irq, + rc = devm_request_irq(dp_display->drm_dev->dev, dp->irq, dp_display_irq_handler, IRQF_TRIGGER_HIGH, "dp_display_isr", dp); if (rc < 0) { @@ -1585,7 +1585,7 @@ * For DisplayPort interfaces external bridges are optional, so * silently ignore an error if one is not present (-ENODEV). */ - rc = dp_parser_find_next_bridge(dp_priv->parser); + rc = devm_dp_parser_find_next_bridge(dp->drm_dev->dev, dp_priv->parser); if (!dp->is_edp && rc == -ENODEV) return 0; @@ -1614,6 +1614,12 @@ return -EINVAL; priv = dev->dev_private; + + if (priv->num_bridges == ARRAY_SIZE(priv->bridges)) { + DRM_DEV_ERROR(dev->dev, "too many bridges\n"); + return -ENOSPC; + } + dp_display->drm_dev = dev; dp_priv = container_of(dp_display, struct dp_display_private, dp_display); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/dp/dp_drm.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/dp/dp_drm.c @@ -31,6 +31,36 @@ connector_status_disconnected; } +static int dp_bridge_atomic_check(struct drm_bridge *bridge, + struct drm_bridge_state *bridge_state, + struct drm_crtc_state *crtc_state, + struct drm_connector_state *conn_state) +{ + struct msm_dp *dp; + + dp = to_dp_bridge(bridge)->dp_display; + + drm_dbg_dp(dp->drm_dev, "is_connected = %s\n", + (dp->is_connected) ? "true" : "false"); + + /* + * There is no protection in the DRM framework to check if the display + * pipeline has been already disabled before trying to disable it again. + * Hence if the sink is unplugged, the pipeline gets disabled, but the + * crtc->active is still true. Any attempt to set the mode or manually + * disable this encoder will result in the crash. + * + * TODO: add support for telling the DRM subsystem that the pipeline is + * disabled by the hardware and thus all access to it should be forbidden. + * After that this piece of code can be removed. + */ + if (bridge->ops & DRM_BRIDGE_OP_HPD) + return (dp->is_connected) ? 0 : -ENOTCONN; + + return 0; +} + + /** * dp_bridge_get_modes - callback to add drm modes via drm_mode_probed_add() * @bridge: Poiner to drm bridge @@ -61,6 +91,9 @@ } static const struct drm_bridge_funcs dp_bridge_ops = { + .atomic_duplicate_state = drm_atomic_helper_bridge_duplicate_state, + .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state, + .atomic_reset = drm_atomic_helper_bridge_reset, .enable = dp_bridge_enable, .disable = dp_bridge_disable, .post_disable = dp_bridge_post_disable, @@ -68,6 +101,7 @@ .mode_valid = dp_bridge_mode_valid, .get_modes = dp_bridge_get_modes, .detect = dp_bridge_detect, + .atomic_check = dp_bridge_atomic_check, }; struct drm_bridge *dp_bridge_init(struct msm_dp *dp_display, struct drm_device *dev, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/dp/dp_parser.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/dp/dp_parser.c @@ -263,12 +263,12 @@ return 0; } -int dp_parser_find_next_bridge(struct dp_parser *parser) +int devm_dp_parser_find_next_bridge(struct device *dev, struct dp_parser *parser) { - struct device *dev = &parser->pdev->dev; + struct platform_device *pdev = parser->pdev; struct drm_bridge *bridge; - bridge = devm_drm_of_get_bridge(dev, dev->of_node, 1, 0); + bridge = devm_drm_of_get_bridge(dev, pdev->dev.of_node, 1, 0); if (IS_ERR(bridge)) return PTR_ERR(bridge); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/dp/dp_parser.h +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/dp/dp_parser.h @@ -142,8 +142,9 @@ struct dp_parser *dp_parser_get(struct platform_device *pdev); /** - * dp_parser_find_next_bridge() - find an additional bridge to DP + * devm_dp_parser_find_next_bridge() - find an additional bridge to DP * + * @dev: device to tie bridge lifetime to * @parser: dp_parser data from client * * This function is used to find any additional bridge attached to @@ -151,6 +152,6 @@ * * Return: 0 if able to get the bridge, otherwise negative errno for failure. */ -int dp_parser_find_next_bridge(struct dp_parser *parser); +int devm_dp_parser_find_next_bridge(struct device *dev, struct dp_parser *parser); #endif --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/dsi/dsi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/dsi/dsi.c @@ -227,6 +227,12 @@ return -EINVAL; priv = dev->dev_private; + + if (priv->num_bridges == ARRAY_SIZE(priv->bridges)) { + DRM_DEV_ERROR(dev->dev, "too many bridges\n"); + return -ENOSPC; + } + msm_dsi->dev = dev; ret = msm_dsi_host_modeset_init(msm_dsi->host, dev); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/dsi/dsi_cfg.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/dsi/dsi_cfg.c @@ -109,7 +109,7 @@ static const struct msm_dsi_config msm8996_dsi_cfg = { .io_offset = DSI_6G_REG_SHIFT, .reg_cfg = { - .num = 2, + .num = 3, .regs = { {"vdda", 18160, 1 }, /* 1.25 V */ {"vcca", 17000, 32 }, /* 0.925 V */ @@ -148,7 +148,7 @@ static const struct msm_dsi_config sdm660_dsi_cfg = { .io_offset = DSI_6G_REG_SHIFT, .reg_cfg = { - .num = 2, + .num = 1, .regs = { {"vdda", 12560, 4 }, /* 1.2 V */ }, @@ -209,8 +209,8 @@ }, .bus_clk_names = dsi_sc7280_bus_clk_names, .num_bus_clks = ARRAY_SIZE(dsi_sc7280_bus_clk_names), - .io_start = { 0xae94000 }, - .num_dsi = 1, + .io_start = { 0xae94000, 0xae96000 }, + .num_dsi = 2, }; static const char * const dsi_qcm2290_bus_clk_names[] = { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/dsi/dsi_host.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/dsi/dsi_host.c @@ -915,17 +915,15 @@ static void dsi_update_dsc_timing(struct msm_dsi_host *msm_host, bool is_cmd_mode, u32 hdisplay) { struct msm_display_dsc_config *dsc = msm_host->dsc; - u32 reg, intf_width, reg_ctrl, reg_ctrl2; + u32 reg, reg_ctrl, reg_ctrl2; u32 slice_per_intf, total_bytes_per_intf; u32 pkt_per_line; - u32 bytes_in_slice; u32 eol_byte_num; /* first calculate dsc parameters and then program * compress mode registers */ - intf_width = hdisplay; - slice_per_intf = DIV_ROUND_UP(intf_width, dsc->drm->slice_width); + slice_per_intf = DIV_ROUND_UP(hdisplay, dsc->drm->slice_width); /* If slice_per_pkt is greater than slice_per_intf * then default to 1. This can happen during partial @@ -934,12 +932,7 @@ if (slice_per_intf > dsc->drm->slice_count) dsc->drm->slice_count = 1; - slice_per_intf = DIV_ROUND_UP(hdisplay, dsc->drm->slice_width); - bytes_in_slice = DIV_ROUND_UP(dsc->drm->slice_width * dsc->drm->bits_per_pixel, 8); - - dsc->drm->slice_chunk_size = bytes_in_slice; - - total_bytes_per_intf = bytes_in_slice * slice_per_intf; + total_bytes_per_intf = dsc->drm->slice_chunk_size * slice_per_intf; eol_byte_num = total_bytes_per_intf % 3; pkt_per_line = slice_per_intf / dsc->drm->slice_count; @@ -965,7 +958,7 @@ reg_ctrl |= reg; reg_ctrl2 &= ~DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM0_SLICE_WIDTH__MASK; - reg_ctrl2 |= DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM0_SLICE_WIDTH(bytes_in_slice); + reg_ctrl2 |= DSI_COMMAND_COMPRESSION_MODE_CTRL2_STREAM0_SLICE_WIDTH(dsc->drm->slice_chunk_size); dsi_write(msm_host, REG_DSI_COMMAND_COMPRESSION_MODE_CTRL, reg_ctrl); dsi_write(msm_host, REG_DSI_COMMAND_COMPRESSION_MODE_CTRL2, reg_ctrl2); @@ -1854,7 +1847,6 @@ int hrd_delay; int pre_num_extra_mux_bits, num_extra_mux_bits; int slice_bits; - int target_bpp_x16; int data; int final_value, final_scale; int i; @@ -1886,6 +1878,7 @@ if (dsc->drm->bits_per_component == 12) mux_words_size = 64; + dsc->drm->mux_word_size = mux_words_size; dsc->drm->initial_xmit_delay = 512; dsc->drm->initial_scale_value = 32; dsc->drm->first_line_bpg_offset = 12; @@ -1896,15 +1889,12 @@ dsc->drm->flatness_max_qp = 12; dsc->drm->rc_quant_incr_limit0 = 11; dsc->drm->rc_quant_incr_limit1 = 11; - dsc->drm->mux_word_size = DSC_MUX_WORD_SIZE_8_10_BPC; /* FIXME: need to call drm_dsc_compute_rc_parameters() so that rest of * params are calculated */ groups_per_line = DIV_ROUND_UP(dsc->drm->slice_width, 3); - dsc->drm->slice_chunk_size = dsc->drm->slice_width * dsc->drm->bits_per_pixel / 8; - if ((dsc->drm->slice_width * dsc->drm->bits_per_pixel) % 8) - dsc->drm->slice_chunk_size++; + dsc->drm->slice_chunk_size = DIV_ROUND_UP(dsc->drm->slice_width * dsc->drm->bits_per_pixel, 8); /* rbs-min */ min_rate_buffer_size = dsc->drm->rc_model_size - dsc->drm->initial_offset + @@ -1934,14 +1924,7 @@ data = 2048 * (dsc->drm->rc_model_size - dsc->drm->initial_offset + num_extra_mux_bits); dsc->drm->slice_bpg_offset = DIV_ROUND_UP(data, groups_total); - /* bpp * 16 + 0.5 */ - data = dsc->drm->bits_per_pixel * 16; - data *= 2; - data++; - data /= 2; - target_bpp_x16 = data; - - data = (dsc->drm->initial_xmit_delay * target_bpp_x16) / 16; + data = dsc->drm->initial_xmit_delay * dsc->drm->bits_per_pixel; final_value = dsc->drm->rc_model_size - data + num_extra_mux_bits; dsc->drm->final_offset = final_value; @@ -2130,6 +2113,9 @@ /* setup workqueue */ msm_host->workqueue = alloc_ordered_workqueue("dsi_drm_work", 0); + if (!msm_host->workqueue) + return -ENOMEM; + INIT_WORK(&msm_host->err_work, dsi_err_worker); INIT_WORK(&msm_host->hpd_work, dsi_hpd_worker); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/dsi/phy/dsi_phy.c @@ -347,7 +347,7 @@ } else { timing->shared_timings.clk_pre = linear_inter(tmax, tmin, pcnt2, 0, false); - timing->shared_timings.clk_pre_inc_by_2 = 0; + timing->shared_timings.clk_pre_inc_by_2 = 0; } timing->ta_go = 3; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/hdmi/hdmi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/hdmi/hdmi.c @@ -180,6 +180,9 @@ goto fail; } + for (i = 0; i < config->pwr_reg_cnt; i++) + hdmi->pwr_regs[i].supply = config->pwr_reg_names[i]; + ret = devm_regulator_bulk_get(&pdev->dev, config->pwr_reg_cnt, hdmi->pwr_regs); if (ret) { DRM_DEV_ERROR(&pdev->dev, "failed to get pwr regulator: %d\n", ret); @@ -230,9 +233,27 @@ hdmi->pwr_clks[i] = clk; } - pm_runtime_enable(&pdev->dev); + hdmi->hpd_gpiod = devm_gpiod_get_optional(&pdev->dev, "hpd", GPIOD_IN); + /* This will catch e.g. -EPROBE_DEFER */ + if (IS_ERR(hdmi->hpd_gpiod)) { + ret = PTR_ERR(hdmi->hpd_gpiod); + DRM_DEV_ERROR(&pdev->dev, "failed to get hpd gpio: (%d)\n", ret); + goto fail; + } + + if (!hdmi->hpd_gpiod) + DBG("failed to get HPD gpio"); + + if (hdmi->hpd_gpiod) + gpiod_set_consumer_name(hdmi->hpd_gpiod, "HDMI_HPD"); + + devm_pm_runtime_enable(&pdev->dev); hdmi->workq = alloc_ordered_workqueue("msm_hdmi", 0); + if (!hdmi->workq) { + ret = -ENOMEM; + goto fail; + } hdmi->i2c = msm_hdmi_i2c_init(hdmi); if (IS_ERR(hdmi->i2c)) { @@ -278,6 +299,11 @@ struct platform_device *pdev = hdmi->pdev; int ret; + if (priv->num_bridges == ARRAY_SIZE(priv->bridges)) { + DRM_DEV_ERROR(dev->dev, "too many bridges\n"); + return -ENOSPC; + } + hdmi->dev = dev; hdmi->encoder = encoder; @@ -308,7 +334,7 @@ goto fail; } - ret = devm_request_irq(&pdev->dev, hdmi->irq, + ret = devm_request_irq(dev->dev, hdmi->irq, msm_hdmi_irq, IRQF_TRIGGER_HIGH, "hdmi_isr", hdmi); if (ret < 0) { @@ -406,20 +432,6 @@ .hpd_freq = hpd_clk_freq_8x74, }; -static const struct { - const char *name; - const bool output; - const int value; - const char *label; -} msm_hdmi_gpio_pdata[] = { - { "qcom,hdmi-tx-ddc-clk", true, 1, "HDMI_DDC_CLK" }, - { "qcom,hdmi-tx-ddc-data", true, 1, "HDMI_DDC_DATA" }, - { "qcom,hdmi-tx-hpd", false, 1, "HDMI_HPD" }, - { "qcom,hdmi-tx-mux-en", true, 1, "HDMI_MUX_EN" }, - { "qcom,hdmi-tx-mux-sel", true, 0, "HDMI_MUX_SEL" }, - { "qcom,hdmi-tx-mux-lpm", true, 1, "HDMI_MUX_LPM" }, -}; - /* * HDMI audio codec callbacks */ @@ -531,7 +543,7 @@ struct hdmi_platform_config *hdmi_cfg; struct hdmi *hdmi; struct device_node *of_node = dev->of_node; - int i, err; + int err; hdmi_cfg = (struct hdmi_platform_config *) of_device_get_match_data(dev); @@ -543,42 +555,6 @@ hdmi_cfg->mmio_name = "core_physical"; hdmi_cfg->qfprom_mmio_name = "qfprom_physical"; - for (i = 0; i < HDMI_MAX_NUM_GPIO; i++) { - const char *name = msm_hdmi_gpio_pdata[i].name; - struct gpio_desc *gpiod; - - /* - * We are fetching the GPIO lines "as is" since the connector - * code is enabling and disabling the lines. Until that point - * the power-on default value will be kept. - */ - gpiod = devm_gpiod_get_optional(dev, name, GPIOD_ASIS); - /* This will catch e.g. -PROBE_DEFER */ - if (IS_ERR(gpiod)) - return PTR_ERR(gpiod); - if (!gpiod) { - /* Try a second time, stripping down the name */ - char name3[32]; - - /* - * Try again after stripping out the "qcom,hdmi-tx" - * prefix. This is mainly to match "hpd-gpios" used - * in the upstream bindings. - */ - if (sscanf(name, "qcom,hdmi-tx-%s", name3)) - gpiod = devm_gpiod_get_optional(dev, name3, GPIOD_ASIS); - if (IS_ERR(gpiod)) - return PTR_ERR(gpiod); - if (!gpiod) - DBG("failed to get gpio: %s", name); - } - hdmi_cfg->gpios[i].gpiod = gpiod; - if (gpiod) - gpiod_set_consumer_name(gpiod, msm_hdmi_gpio_pdata[i].label); - hdmi_cfg->gpios[i].output = msm_hdmi_gpio_pdata[i].output; - hdmi_cfg->gpios[i].value = msm_hdmi_gpio_pdata[i].value; - } - dev->platform_data = hdmi_cfg; hdmi = msm_hdmi_init(to_platform_device(dev)); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/hdmi/hdmi.h +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/hdmi/hdmi.h @@ -19,17 +19,9 @@ #include "msm_drv.h" #include "hdmi.xml.h" -#define HDMI_MAX_NUM_GPIO 6 - struct hdmi_phy; struct hdmi_platform_config; -struct hdmi_gpio_data { - struct gpio_desc *gpiod; - bool output; - int value; -}; - struct hdmi_audio { bool enabled; struct hdmi_audio_infoframe infoframe; @@ -61,6 +53,8 @@ struct clk **hpd_clks; struct clk **pwr_clks; + struct gpio_desc *hpd_gpiod; + struct hdmi_phy *phy; struct device *phy_dev; @@ -109,9 +103,6 @@ /* clks that need to be on for screen pwr (ie pixel clk): */ const char **pwr_clk_names; int pwr_clk_cnt; - - /* gpio's: */ - struct hdmi_gpio_data gpios[HDMI_MAX_NUM_GPIO]; }; struct hdmi_bridge { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/hdmi/hdmi_hpd.c @@ -60,48 +60,6 @@ } } -static int gpio_config(struct hdmi *hdmi, bool on) -{ - const struct hdmi_platform_config *config = hdmi->config; - int i; - - if (on) { - for (i = 0; i < HDMI_MAX_NUM_GPIO; i++) { - struct hdmi_gpio_data gpio = config->gpios[i]; - - if (gpio.gpiod) { - if (gpio.output) { - gpiod_direction_output(gpio.gpiod, - gpio.value); - } else { - gpiod_direction_input(gpio.gpiod); - gpiod_set_value_cansleep(gpio.gpiod, - gpio.value); - } - } - } - - DBG("gpio on"); - } else { - for (i = 0; i < HDMI_MAX_NUM_GPIO; i++) { - struct hdmi_gpio_data gpio = config->gpios[i]; - - if (!gpio.gpiod) - continue; - - if (gpio.output) { - int value = gpio.value ? 0 : 1; - - gpiod_set_value_cansleep(gpio.gpiod, value); - } - } - - DBG("gpio off"); - } - - return 0; -} - static void enable_hpd_clocks(struct hdmi *hdmi, bool enable) { const struct hdmi_platform_config *config = hdmi->config; @@ -154,11 +112,8 @@ goto fail; } - ret = gpio_config(hdmi, true); - if (ret) { - DRM_DEV_ERROR(dev, "failed to configure GPIOs: %d\n", ret); - goto fail; - } + if (hdmi->hpd_gpiod) + gpiod_set_value_cansleep(hdmi->hpd_gpiod, 1); pm_runtime_get_sync(dev); enable_hpd_clocks(hdmi, true); @@ -207,10 +162,6 @@ enable_hpd_clocks(hdmi, false); pm_runtime_put(dev); - ret = gpio_config(hdmi, false); - if (ret) - dev_warn(dev, "failed to unconfigure GPIOs: %d\n", ret); - ret = pinctrl_pm_select_sleep_state(dev); if (ret) dev_warn(dev, "pinctrl state chg failed: %d\n", ret); @@ -269,10 +220,7 @@ #define HPD_GPIO_INDEX 2 static enum drm_connector_status detect_gpio(struct hdmi *hdmi) { - const struct hdmi_platform_config *config = hdmi->config; - struct hdmi_gpio_data hpd_gpio = config->gpios[HPD_GPIO_INDEX]; - - return gpiod_get_value(hpd_gpio.gpiod) ? + return gpiod_get_value(hdmi->hpd_gpiod) ? connector_status_connected : connector_status_disconnected; } @@ -282,8 +230,6 @@ { struct hdmi_bridge *hdmi_bridge = to_hdmi_bridge(bridge); struct hdmi *hdmi = hdmi_bridge->hdmi; - const struct hdmi_platform_config *config = hdmi->config; - struct hdmi_gpio_data hpd_gpio = config->gpios[HPD_GPIO_INDEX]; enum drm_connector_status stat_gpio, stat_reg; int retry = 20; @@ -291,7 +237,7 @@ * some platforms may not have hpd gpio. Rely only on the status * provided by REG_HDMI_HPD_INT_STATUS in this case. */ - if (!hpd_gpio.gpiod) + if (!hdmi->hpd_gpiod) return detect_reg(hdmi); do { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/msm_drv.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/msm_drv.c @@ -240,6 +240,7 @@ for (i = 0; i < priv->num_bridges; i++) drm_bridge_remove(priv->bridges[i]); + priv->num_bridges = 0; pm_runtime_get_sync(dev); msm_irq_uninstall(ddev); @@ -424,6 +425,8 @@ } } + drm_helper_move_panel_connectors_to_head(ddev); + ddev->mode_config.funcs = &mode_config_funcs; ddev->mode_config.helper_private = &mode_config_helper_funcs; @@ -436,7 +439,7 @@ if (IS_ERR(priv->event_thread[i].worker)) { ret = PTR_ERR(priv->event_thread[i].worker); DRM_DEV_ERROR(dev, "failed to create crtc_event kthread\n"); - ret = PTR_ERR(priv->event_thread[i].worker); + priv->event_thread[i].worker = NULL; goto err_msm_uninit; } @@ -1167,10 +1170,15 @@ struct msm_drm_private *priv = platform_get_drvdata(pdev); struct drm_device *drm = priv ? priv->dev : NULL; - if (!priv || !priv->kms) - return; - - drm_atomic_helper_shutdown(drm); + /* + * Shutdown the hw if we're far enough along where things might be on. + * If we run this too early, we'll end up panicking in any variety of + * places. Since we don't register the drm device until late in + * msm_drm_init, drm_dev->registered is used as an indicator that the + * shutdown will be successful. + */ + if (drm && drm->registered && priv->kms) + drm_atomic_helper_shutdown(drm); } static struct platform_driver msm_platform_driver = { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/msm_drv.h +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/msm_drv.h @@ -442,6 +442,8 @@ phys_addr_t *size); void __iomem *msm_ioremap_quiet(struct platform_device *pdev, const char *name); +struct icc_path *msm_icc_get(struct device *dev, const char *name); + #define msm_writel(data, addr) writel((data), (addr)) #define msm_readl(addr) readl((addr)) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/msm_fence.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/msm_fence.c @@ -22,12 +22,20 @@ return ERR_PTR(-ENOMEM); fctx->dev = dev; - strncpy(fctx->name, name, sizeof(fctx->name)); + strscpy(fctx->name, name, sizeof(fctx->name)); fctx->context = dma_fence_context_alloc(1); fctx->index = index++; fctx->fenceptr = fenceptr; spin_lock_init(&fctx->spinlock); + /* + * Start out close to the 32b fence rollover point, so we can + * catch bugs with fence comparisons. + */ + fctx->last_fence = 0xffffff00; + fctx->completed_fence = fctx->last_fence; + *fctx->fenceptr = fctx->last_fence; + return fctx; } @@ -52,7 +60,8 @@ unsigned long flags; spin_lock_irqsave(&fctx->spinlock, flags); - fctx->completed_fence = max(fence, fctx->completed_fence); + if (fence_after(fence, fctx->completed_fence)) + fctx->completed_fence = fence; spin_unlock_irqrestore(&fctx->spinlock, flags); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/msm_gem_submit.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/msm_gem_submit.c @@ -204,6 +204,10 @@ goto out; } submit->cmd[i].relocs = kmalloc(sz, GFP_KERNEL); + if (!submit->cmd[i].relocs) { + ret = -ENOMEM; + goto out; + } ret = copy_from_user(submit->cmd[i].relocs, userptr, sz); if (ret) { ret = -EFAULT; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/msm_gpu.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/msm_gpu.c @@ -338,6 +338,8 @@ struct msm_file_private *ctx = submit->queue->ctx; struct task_struct *task; + WARN_ON(!mutex_is_locked(&submit->gpu->lock)); + /* Note that kstrdup will return NULL if argument is NULL: */ *comm = kstrdup(ctx->comm, GFP_KERNEL); *cmd = kstrdup(ctx->cmdline, GFP_KERNEL); @@ -992,4 +994,6 @@ } msm_devfreq_cleanup(gpu); + + platform_set_drvdata(gpu->pdev, NULL); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/msm_gpu.h +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/msm_gpu.h @@ -64,11 +64,14 @@ /* for generation specific debugfs: */ void (*debugfs_init)(struct msm_gpu *gpu, struct drm_minor *minor); #endif + /* note: gpu_busy() can assume that we have been pm_resumed */ u64 (*gpu_busy)(struct msm_gpu *gpu, unsigned long *out_sample_rate); struct msm_gpu_state *(*gpu_state_get)(struct msm_gpu *gpu); int (*gpu_state_put)(struct msm_gpu_state *state); unsigned long (*gpu_get_freq)(struct msm_gpu *gpu); - void (*gpu_set_freq)(struct msm_gpu *gpu, struct dev_pm_opp *opp); + /* note: gpu_set_freq() can assume that we have been pm_resumed */ + void (*gpu_set_freq)(struct msm_gpu *gpu, struct dev_pm_opp *opp, + bool suspended); struct msm_gem_address_space *(*create_address_space) (struct msm_gpu *gpu, struct platform_device *pdev); struct msm_gem_address_space *(*create_private_address_space) @@ -92,6 +95,9 @@ /** devfreq: devfreq instance */ struct devfreq *devfreq; + /** lock: lock for "suspended", "busy_cycles", and "time" */ + struct mutex lock; + /** * idle_constraint: * @@ -135,6 +141,9 @@ * elapsed */ struct msm_hrtimer_work boost_work; + + /** suspended: tracks if we're suspended */ + bool suspended; }; struct msm_gpu { @@ -273,6 +282,10 @@ static inline struct msm_gpu *dev_to_gpu(struct device *dev) { struct adreno_smmu_priv *adreno_smmu = dev_get_drvdata(dev); + + if (!adreno_smmu) + return NULL; + return container_of(adreno_smmu, struct msm_gpu, adreno_smmu); } @@ -355,10 +368,18 @@ */ int sysprof; - /** comm: Overridden task comm, see MSM_PARAM_COMM */ + /** + * comm: Overridden task comm, see MSM_PARAM_COMM + * + * Accessed under msm_gpu::lock + */ char *comm; - /** cmdline: Overridden task cmdline, see MSM_PARAM_CMDLINE */ + /** + * cmdline: Overridden task cmdline, see MSM_PARAM_CMDLINE + * + * Accessed under msm_gpu::lock + */ char *cmdline; /** --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/msm_gpu_devfreq.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/msm_gpu_devfreq.c @@ -20,6 +20,7 @@ u32 flags) { struct msm_gpu *gpu = dev_to_gpu(dev); + struct msm_gpu_devfreq *df = &gpu->devfreq; struct dev_pm_opp *opp; /* @@ -32,10 +33,13 @@ trace_msm_gpu_freq_change(dev_pm_opp_get_freq(opp)); - if (gpu->funcs->gpu_set_freq) - gpu->funcs->gpu_set_freq(gpu, opp); - else + if (gpu->funcs->gpu_set_freq) { + mutex_lock(&df->lock); + gpu->funcs->gpu_set_freq(gpu, opp, df->suspended); + mutex_unlock(&df->lock); + } else { clk_set_rate(gpu->core_clk, *freq); + } dev_pm_opp_put(opp); @@ -58,15 +62,24 @@ unsigned long sample_rate; ktime_t time; + mutex_lock(&df->lock); + status->current_frequency = get_freq(gpu); - busy_cycles = gpu->funcs->gpu_busy(gpu, &sample_rate); time = ktime_get(); - - busy_time = busy_cycles - df->busy_cycles; status->total_time = ktime_us_delta(time, df->time); + df->time = time; + if (df->suspended) { + mutex_unlock(&df->lock); + status->busy_time = 0; + return; + } + + busy_cycles = gpu->funcs->gpu_busy(gpu, &sample_rate); + busy_time = busy_cycles - df->busy_cycles; df->busy_cycles = busy_cycles; - df->time = time; + + mutex_unlock(&df->lock); busy_time *= USEC_PER_SEC; do_div(busy_time, sample_rate); @@ -175,6 +188,8 @@ if (!gpu->funcs->gpu_busy) return; + mutex_init(&df->lock); + dev_pm_qos_add_request(&gpu->pdev->dev, &df->idle_freq, DEV_PM_QOS_MAX_FREQUENCY, PM_QOS_MAX_FREQUENCY_DEFAULT_VALUE); @@ -198,6 +213,8 @@ if (IS_ERR(df->devfreq)) { DRM_DEV_ERROR(&gpu->pdev->dev, "Couldn't initialize GPU devfreq\n"); + dev_pm_qos_remove_request(&df->idle_freq); + dev_pm_qos_remove_request(&df->boost_freq); df->devfreq = NULL; return; } @@ -244,12 +261,16 @@ void msm_devfreq_resume(struct msm_gpu *gpu) { struct msm_gpu_devfreq *df = &gpu->devfreq; + unsigned long sample_rate; if (!has_devfreq(gpu)) return; - df->busy_cycles = 0; + mutex_lock(&df->lock); + df->busy_cycles = gpu->funcs->gpu_busy(gpu, &sample_rate); df->time = ktime_get(); + df->suspended = false; + mutex_unlock(&df->lock); devfreq_resume_device(df->devfreq); } @@ -261,6 +282,10 @@ if (!has_devfreq(gpu)) return; + mutex_lock(&df->lock); + df->suspended = true; + mutex_unlock(&df->lock); + devfreq_suspend_device(df->devfreq); cancel_idle_work(df); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/msm_io_utils.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/msm_io_utils.c @@ -5,6 +5,8 @@ * Author: Rob Clark */ +#include + #include "msm_drv.h" /* @@ -124,3 +126,23 @@ work->worker = worker; kthread_init_work(&work->work, fn); } + +struct icc_path *msm_icc_get(struct device *dev, const char *name) +{ + struct device *mdss_dev = dev->parent; + struct icc_path *path; + + path = of_icc_get(dev, name); + if (path) + return path; + + /* + * If there are no interconnects attached to the corresponding device + * node, of_icc_get() will return NULL. + * + * If the MDP5/DPU device node doesn't have interconnects, lookup the + * path in the parent (MDSS) device. + */ + return of_icc_get(mdss_dev, name); + +} --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/msm_mdss.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/msm_mdss.c @@ -46,15 +46,17 @@ static int msm_mdss_parse_data_bus_icc_path(struct device *dev, struct msm_mdss *msm_mdss) { - struct icc_path *path0 = of_icc_get(dev, "mdp0-mem"); - struct icc_path *path1 = of_icc_get(dev, "mdp1-mem"); + struct icc_path *path0; + struct icc_path *path1; + path0 = of_icc_get(dev, "mdp0-mem"); if (IS_ERR_OR_NULL(path0)) return PTR_ERR_OR_ZERO(path0); msm_mdss->path[0] = path0; msm_mdss->num_paths = 1; + path1 = of_icc_get(dev, "mdp1-mem"); if (!IS_ERR_OR_NULL(path1)) { msm_mdss->path[1] = path1; msm_mdss->num_paths++; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/msm/msm_rd.c +++ linux-gcp-5.19.0/drivers/gpu/drm/msm/msm_rd.c @@ -196,6 +196,9 @@ file->private_data = rd; rd->open = true; + /* Reset fifo to clear any previously unread data: */ + rd->fifo.head = rd->fifo.tail = 0; + /* the parsing tools need to know gpu-id to know which * register database to load. * --- linux-gcp-5.19.0.orig/drivers/gpu/drm/mxsfb/Kconfig +++ linux-gcp-5.19.0/drivers/gpu/drm/mxsfb/Kconfig @@ -8,6 +8,7 @@ tristate "i.MX (e)LCDIF LCD controller" depends on DRM && OF depends on COMMON_CLK + depends on ARCH_MXS || ARCH_MXC || COMPILE_TEST select DRM_MXS select DRM_KMS_HELPER select DRM_GEM_CMA_HELPER --- linux-gcp-5.19.0.orig/drivers/gpu/drm/nouveau/nouveau_bo.c +++ linux-gcp-5.19.0/drivers/gpu/drm/nouveau/nouveau_bo.c @@ -281,8 +281,10 @@ break; } - if (WARN_ON(pi < 0)) + if (WARN_ON(pi < 0)) { + kfree(nvbo); return ERR_PTR(-EINVAL); + } /* Disable compression if suitable settings couldn't be found. */ if (nvbo->comp && !vmm->page[pi].comp) { @@ -820,6 +822,15 @@ if (ret == 0) { ret = nouveau_fence_new(chan, false, &fence); if (ret == 0) { + /* TODO: figure out a better solution here + * + * wait on the fence here explicitly as going through + * ttm_bo_move_accel_cleanup somehow doesn't seem to do it. + * + * Without this the operation can timeout and we'll fallback to a + * software copy, which might take several minutes to finish. + */ + nouveau_fence_wait(fence, false, false); ret = ttm_bo_move_accel_cleanup(bo, &fence->base, evict, false, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/nouveau/nouveau_connector.c +++ linux-gcp-5.19.0/drivers/gpu/drm/nouveau/nouveau_connector.c @@ -503,7 +503,8 @@ connector->interlace_allowed = nv_encoder->caps.dp_interlace; else - connector->interlace_allowed = true; + connector->interlace_allowed = + drm->client.device.info.family < NV_DEVICE_INFO_V0_VOLTA; connector->doublescan_allowed = true; } else if (nv_encoder->dcb->type == DCB_OUTPUT_LVDS || @@ -1361,13 +1362,11 @@ snprintf(aux_name, sizeof(aux_name), "sor-%04x-%04x", dcbe->hasht, dcbe->hashm); nv_connector->aux.name = kstrdup(aux_name, GFP_KERNEL); - drm_dp_aux_init(&nv_connector->aux); - if (ret) { - NV_ERROR(drm, "Failed to init AUX adapter for sor-%04x-%04x: %d\n", - dcbe->hasht, dcbe->hashm, ret); + if (!nv_connector->aux.name) { kfree(nv_connector); - return ERR_PTR(ret); + return ERR_PTR(-ENOMEM); } + drm_dp_aux_init(&nv_connector->aux); fallthrough; default: funcs = &nouveau_connector_funcs; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/nouveau/nouveau_display.c +++ linux-gcp-5.19.0/drivers/gpu/drm/nouveau/nouveau_display.c @@ -515,7 +515,7 @@ pm_runtime_mark_last_busy(drm->dev->dev); noop: - pm_runtime_put_sync(drm->dev->dev); + pm_runtime_put_autosuspend(dev->dev); } #ifdef CONFIG_ACPI @@ -537,7 +537,7 @@ * it's own hotplug events. */ pm_runtime_put_autosuspend(drm->dev->dev); - } else if (ret == 0) { + } else if (ret == 0 || ret == -EINPROGRESS) { /* We've started resuming the GPU already, so * it will handle scheduling a full reprobe * itself --- linux-gcp-5.19.0.orig/drivers/gpu/drm/nouveau/nouveau_fbcon.c +++ linux-gcp-5.19.0/drivers/gpu/drm/nouveau/nouveau_fbcon.c @@ -466,7 +466,7 @@ if (state == FBINFO_STATE_RUNNING) { nouveau_fbcon_hotplug_resume(drm->fbcon); pm_runtime_mark_last_busy(drm->dev->dev); - pm_runtime_put_sync(drm->dev->dev); + pm_runtime_put_autosuspend(drm->dev->dev); } } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/nouveau/nouveau_prime.c +++ linux-gcp-5.19.0/drivers/gpu/drm/nouveau/nouveau_prime.c @@ -71,7 +71,6 @@ ret = nouveau_bo_init(nvbo, size, align, NOUVEAU_GEM_DOMAIN_GART, sg, robj); if (ret) { - nouveau_bo_ref(NULL, &nvbo); obj = ERR_PTR(ret); goto unlock; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c +++ linux-gcp-5.19.0/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c @@ -2606,6 +2606,27 @@ }; static const struct nvkm_device_chip +nv173_chipset = { + .name = "GA103", + .bar = { 0x00000001, tu102_bar_new }, + .bios = { 0x00000001, nvkm_bios_new }, + .devinit = { 0x00000001, ga100_devinit_new }, + .fb = { 0x00000001, ga102_fb_new }, + .gpio = { 0x00000001, ga102_gpio_new }, + .i2c = { 0x00000001, gm200_i2c_new }, + .imem = { 0x00000001, nv50_instmem_new }, + .mc = { 0x00000001, ga100_mc_new }, + .mmu = { 0x00000001, tu102_mmu_new }, + .pci = { 0x00000001, gp100_pci_new }, + .privring = { 0x00000001, gm200_privring_new }, + .timer = { 0x00000001, gk20a_timer_new }, + .top = { 0x00000001, ga100_top_new }, + .disp = { 0x00000001, ga102_disp_new }, + .dma = { 0x00000001, gv100_dma_new }, + .fifo = { 0x00000001, ga102_fifo_new }, +}; + +static const struct nvkm_device_chip nv174_chipset = { .name = "GA104", .bar = { 0x00000001, tu102_bar_new }, @@ -3092,6 +3113,7 @@ case 0x167: device->chip = &nv167_chipset; break; case 0x168: device->chip = &nv168_chipset; break; case 0x172: device->chip = &nv172_chipset; break; + case 0x173: device->chip = &nv173_chipset; break; case 0x174: device->chip = &nv174_chipset; break; case 0x176: device->chip = &nv176_chipset; break; case 0x177: device->chip = &nv177_chipset; break; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c +++ linux-gcp-5.19.0/drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c @@ -33,7 +33,7 @@ { u32 p = *addr; - if (*addr > bios->image0_size && bios->imaged_addr) { + if (*addr >= bios->image0_size && bios->imaged_addr) { *addr -= bios->image0_size; *addr += bios->imaged_addr; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/tu102.c +++ linux-gcp-5.19.0/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/tu102.c @@ -65,10 +65,33 @@ return ret; } +static int +tu102_devinit_wait(struct nvkm_device *device) +{ + unsigned timeout = 50 + 2000; + + do { + if (nvkm_rd32(device, 0x118128) & 0x00000001) { + if ((nvkm_rd32(device, 0x118234) & 0x000000ff) == 0xff) + return 0; + } + + usleep_range(1000, 2000); + } while (timeout--); + + return -ETIMEDOUT; +} + int tu102_devinit_post(struct nvkm_devinit *base, bool post) { struct nv50_devinit *init = nv50_devinit(base); + int ret; + + ret = tu102_devinit_wait(init->base.subdev.device); + if (ret) + return ret; + gm200_devinit_preos(init, post); return 0; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/omapdrm/dss/dsi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/omapdrm/dss/dsi.c @@ -1039,22 +1039,26 @@ { struct dsi_data *dsi = s->private; unsigned long flags; - struct dsi_irq_stats stats; + struct dsi_irq_stats *stats; + + stats = kmalloc(sizeof(*stats), GFP_KERNEL); + if (!stats) + return -ENOMEM; spin_lock_irqsave(&dsi->irq_stats_lock, flags); - stats = dsi->irq_stats; + *stats = dsi->irq_stats; memset(&dsi->irq_stats, 0, sizeof(dsi->irq_stats)); dsi->irq_stats.last_reset = jiffies; spin_unlock_irqrestore(&dsi->irq_stats_lock, flags); seq_printf(s, "period %u ms\n", - jiffies_to_msecs(jiffies - stats.last_reset)); + jiffies_to_msecs(jiffies - stats->last_reset)); - seq_printf(s, "irqs %d\n", stats.irq_count); + seq_printf(s, "irqs %d\n", stats->irq_count); #define PIS(x) \ - seq_printf(s, "%-20s %10d\n", #x, stats.dsi_irqs[ffs(DSI_IRQ_##x)-1]); + seq_printf(s, "%-20s %10d\n", #x, stats->dsi_irqs[ffs(DSI_IRQ_##x)-1]); seq_printf(s, "-- DSI%d interrupts --\n", dsi->module_id + 1); PIS(VC0); @@ -1078,10 +1082,10 @@ #define PIS(x) \ seq_printf(s, "%-20s %10d %10d %10d %10d\n", #x, \ - stats.vc_irqs[0][ffs(DSI_VC_IRQ_##x)-1], \ - stats.vc_irqs[1][ffs(DSI_VC_IRQ_##x)-1], \ - stats.vc_irqs[2][ffs(DSI_VC_IRQ_##x)-1], \ - stats.vc_irqs[3][ffs(DSI_VC_IRQ_##x)-1]); + stats->vc_irqs[0][ffs(DSI_VC_IRQ_##x)-1], \ + stats->vc_irqs[1][ffs(DSI_VC_IRQ_##x)-1], \ + stats->vc_irqs[2][ffs(DSI_VC_IRQ_##x)-1], \ + stats->vc_irqs[3][ffs(DSI_VC_IRQ_##x)-1]); seq_printf(s, "-- VC interrupts --\n"); PIS(CS); @@ -1097,7 +1101,7 @@ #define PIS(x) \ seq_printf(s, "%-20s %10d\n", #x, \ - stats.cio_irqs[ffs(DSI_CIO_IRQ_##x)-1]); + stats->cio_irqs[ffs(DSI_CIO_IRQ_##x)-1]); seq_printf(s, "-- CIO interrupts --\n"); PIS(ERRSYNCESC1); @@ -1122,6 +1126,8 @@ PIS(ULPSACTIVENOT_ALL1); #undef PIS + kfree(stats); + return 0; } #endif --- linux-gcp-5.19.0.orig/drivers/gpu/drm/omapdrm/dss/dss.c +++ linux-gcp-5.19.0/drivers/gpu/drm/omapdrm/dss/dss.c @@ -1176,6 +1176,7 @@ default: break; } + of_node_put(port); } } @@ -1208,11 +1209,13 @@ default: break; } + of_node_put(port); } return 0; error: + of_node_put(port); __dss_uninit_ports(dss, i); return r; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/panel/Kconfig +++ linux-gcp-5.19.0/drivers/gpu/drm/panel/Kconfig @@ -154,8 +154,8 @@ config DRM_PANEL_ILITEK_ILI9341 tristate "Ilitek ILI9341 240x320 QVGA panels" depends on OF && SPI - depends on DRM_KMS_HELPER - depends on DRM_GEM_CMA_HELPER + select DRM_KMS_HELPER + select DRM_GEM_DMA_HELPER depends on BACKLIGHT_CLASS_DEVICE select DRM_MIPI_DBI help @@ -438,6 +438,8 @@ depends on OF depends on BACKLIGHT_CLASS_DEVICE depends on PM + select DRM_DISPLAY_DP_HELPER + select DRM_DISPLAY_HELPER select DRM_DP_AUX_BUS help DRM panel driver for the Samsung ATNA33XC20 panel. This panel can't --- linux-gcp-5.19.0.orig/drivers/gpu/drm/panel/panel-edp.c +++ linux-gcp-5.19.0/drivers/gpu/drm/panel/panel-edp.c @@ -1270,7 +1270,8 @@ }, .delay = { .hpd_absent = 200, - .prepare_to_enable = 80, + .enable = 80, + .disable = 50, .unprepare = 500, }, }; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c +++ linux-gcp-5.19.0/drivers/gpu/drm/panel/panel-samsung-s6e3ha2.c @@ -692,7 +692,9 @@ dsi->lanes = 4; dsi->format = MIPI_DSI_FMT_RGB888; - dsi->mode_flags = MIPI_DSI_CLOCK_NON_CONTINUOUS; + dsi->mode_flags = MIPI_DSI_CLOCK_NON_CONTINUOUS | + MIPI_DSI_MODE_VIDEO_NO_HFP | MIPI_DSI_MODE_VIDEO_NO_HBP | + MIPI_DSI_MODE_VIDEO_NO_HSA | MIPI_DSI_MODE_NO_EOT_PACKET; ctx->supplies[0].supply = "vdd3"; ctx->supplies[1].supply = "vci"; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c +++ linux-gcp-5.19.0/drivers/gpu/drm/panel/panel-samsung-s6e63j0x03.c @@ -446,7 +446,8 @@ dsi->lanes = 1; dsi->format = MIPI_DSI_FMT_RGB888; - dsi->mode_flags = MIPI_DSI_MODE_NO_EOT_PACKET; + dsi->mode_flags = MIPI_DSI_MODE_VIDEO_NO_HFP | + MIPI_DSI_MODE_VIDEO_NO_HBP | MIPI_DSI_MODE_VIDEO_NO_HSA; ctx->supplies[0].supply = "vdd3"; ctx->supplies[1].supply = "vci"; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c +++ linux-gcp-5.19.0/drivers/gpu/drm/panel/panel-samsung-s6e8aa0.c @@ -990,8 +990,6 @@ dsi->lanes = 4; dsi->format = MIPI_DSI_FMT_RGB888; dsi->mode_flags = MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_BURST - | MIPI_DSI_MODE_VIDEO_NO_HFP | MIPI_DSI_MODE_VIDEO_NO_HBP - | MIPI_DSI_MODE_VIDEO_NO_HSA | MIPI_DSI_MODE_NO_EOT_PACKET | MIPI_DSI_MODE_VSYNC_FLUSH | MIPI_DSI_MODE_VIDEO_AUTO_VERT; ret = s6e8aa0_parse_dt(ctx); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/panel/panel-simple.c +++ linux-gcp-5.19.0/drivers/gpu/drm/panel/panel-simple.c @@ -2136,7 +2136,7 @@ .enable = 200, .disable = 20, }, - .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG, + .bus_format = MEDIA_BUS_FMT_RGB666_1X7X3_SPWG, .connector_type = DRM_MODE_CONNECTOR_LVDS, }; @@ -2384,6 +2384,7 @@ static const struct panel_desc logictechno_lt161010_2nh = { .timings = &logictechno_lt161010_2nh_timing, .num_timings = 1, + .bpc = 6, .size = { .width = 154, .height = 86, @@ -2413,6 +2414,7 @@ static const struct panel_desc logictechno_lt170410_2whc = { .timings = &logictechno_lt170410_2whc_timing, .num_timings = 1, + .bpc = 8, .size = { .width = 217, .height = 136, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/panel/panel-sitronix-st7701.c +++ linux-gcp-5.19.0/drivers/gpu/drm/panel/panel-sitronix-st7701.c @@ -384,7 +384,15 @@ st7701->dsi = dsi; st7701->desc = desc; - return mipi_dsi_attach(dsi); + ret = mipi_dsi_attach(dsi); + if (ret) + goto err_attach; + + return 0; + +err_attach: + drm_panel_remove(&st7701->panel); + return ret; } static int st7701_dsi_remove(struct mipi_dsi_device *dsi) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/panfrost/Kconfig +++ linux-gcp-5.19.0/drivers/gpu/drm/panfrost/Kconfig @@ -3,7 +3,8 @@ config DRM_PANFROST tristate "Panfrost (DRM support for ARM Mali Midgard/Bifrost GPUs)" depends on DRM - depends on ARM || ARM64 || (COMPILE_TEST && !GENERIC_ATOMIC64) + depends on ARM || ARM64 || COMPILE_TEST + depends on !GENERIC_ATOMIC64 # for IOMMU_IO_PGTABLE_LPAE depends on MMU select DRM_SCHED select IOMMU_SUPPORT --- linux-gcp-5.19.0.orig/drivers/gpu/drm/panfrost/panfrost_drv.c +++ linux-gcp-5.19.0/drivers/gpu/drm/panfrost/panfrost_drv.c @@ -82,6 +82,7 @@ struct panfrost_gem_object *bo; struct drm_panfrost_create_bo *args = data; struct panfrost_gem_mapping *mapping; + int ret; if (!args->size || args->pad || (args->flags & ~(PANFROST_BO_NOEXEC | PANFROST_BO_HEAP))) @@ -92,21 +93,29 @@ !(args->flags & PANFROST_BO_NOEXEC)) return -EINVAL; - bo = panfrost_gem_create_with_handle(file, dev, args->size, args->flags, - &args->handle); + bo = panfrost_gem_create(dev, args->size, args->flags); if (IS_ERR(bo)) return PTR_ERR(bo); + ret = drm_gem_handle_create(file, &bo->base.base, &args->handle); + if (ret) + goto out; + mapping = panfrost_gem_mapping_get(bo, priv); - if (!mapping) { - drm_gem_object_put(&bo->base.base); - return -EINVAL; + if (mapping) { + args->offset = mapping->mmnode.start << PAGE_SHIFT; + panfrost_gem_mapping_put(mapping); + } else { + /* This can only happen if the handle from + * drm_gem_handle_create() has already been guessed and freed + * by user space + */ + ret = -EINVAL; } - args->offset = mapping->mmnode.start << PAGE_SHIFT; - panfrost_gem_mapping_put(mapping); - - return 0; +out: + drm_gem_object_put(&bo->base.base); + return ret; } /** --- linux-gcp-5.19.0.orig/drivers/gpu/drm/panfrost/panfrost_gem.c +++ linux-gcp-5.19.0/drivers/gpu/drm/panfrost/panfrost_gem.c @@ -235,12 +235,8 @@ } struct panfrost_gem_object * -panfrost_gem_create_with_handle(struct drm_file *file_priv, - struct drm_device *dev, size_t size, - u32 flags, - uint32_t *handle) +panfrost_gem_create(struct drm_device *dev, size_t size, u32 flags) { - int ret; struct drm_gem_shmem_object *shmem; struct panfrost_gem_object *bo; @@ -256,16 +252,6 @@ bo->noexec = !!(flags & PANFROST_BO_NOEXEC); bo->is_heap = !!(flags & PANFROST_BO_HEAP); - /* - * Allocate an id of idr table where the obj is registered - * and handle has the id what user can see. - */ - ret = drm_gem_handle_create(file_priv, &shmem->base, handle); - /* drop reference from allocate - handle holds it now. */ - drm_gem_object_put(&shmem->base); - if (ret) - return ERR_PTR(ret); - return bo; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/panfrost/panfrost_gem.h +++ linux-gcp-5.19.0/drivers/gpu/drm/panfrost/panfrost_gem.h @@ -69,10 +69,7 @@ struct sg_table *sgt); struct panfrost_gem_object * -panfrost_gem_create_with_handle(struct drm_file *file_priv, - struct drm_device *dev, size_t size, - u32 flags, - uint32_t *handle); +panfrost_gem_create(struct drm_device *dev, size_t size, u32 flags); int panfrost_gem_open(struct drm_gem_object *obj, struct drm_file *file_priv); void panfrost_gem_close(struct drm_gem_object *obj, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/pl111/pl111_versatile.c +++ linux-gcp-5.19.0/drivers/gpu/drm/pl111/pl111_versatile.c @@ -402,6 +402,7 @@ if (of_device_is_compatible(child, "arm,pl111")) { has_coretile_clcd = true; ct_clcd = child; + of_node_put(child); break; } if (of_device_is_compatible(child, "arm,hdlcd")) { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/radeon/Kconfig +++ linux-gcp-5.19.0/drivers/gpu/drm/radeon/Kconfig @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0-only +# SPDX-License-Identifier: MIT config DRM_RADEON_USERPTR bool "Always enable userptr support" depends on DRM_RADEON --- linux-gcp-5.19.0.orig/drivers/gpu/drm/radeon/Makefile +++ linux-gcp-5.19.0/drivers/gpu/drm/radeon/Makefile @@ -1,4 +1,4 @@ -# SPDX-License-Identifier: GPL-2.0 +# SPDX-License-Identifier: MIT # # Makefile for the drm device driver. This driver provides support for the # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher. --- linux-gcp-5.19.0.orig/drivers/gpu/drm/radeon/atombios_encoders.c +++ linux-gcp-5.19.0/drivers/gpu/drm/radeon/atombios_encoders.c @@ -2188,11 +2188,12 @@ /* * On DCE32 any encoder can drive any block so usually just use crtc id, - * but Apple thinks different at least on iMac10,1, so there use linkb, + * but Apple thinks different at least on iMac10,1 and iMac11,2, so there use linkb, * otherwise the internal eDP panel will stay dark. */ if (ASIC_IS_DCE32(rdev)) { - if (dmi_match(DMI_PRODUCT_NAME, "iMac10,1")) + if (dmi_match(DMI_PRODUCT_NAME, "iMac10,1") || + dmi_match(DMI_PRODUCT_NAME, "iMac11,2")) enc_idx = (dig->linkb) ? 1 : 0; else enc_idx = radeon_crtc->crtc_id; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/radeon/ni_dpm.c +++ linux-gcp-5.19.0/drivers/gpu/drm/radeon/ni_dpm.c @@ -2741,10 +2741,10 @@ table->mc_reg_table_entry[k].mc_data[j] |= 0x100; } j++; - if (j > SMC_NISLANDS_MC_REGISTER_ARRAY_SIZE) - return -EINVAL; break; case MC_SEQ_RESERVE_M >> 2: + if (j >= SMC_NISLANDS_MC_REGISTER_ARRAY_SIZE) + return -EINVAL; temp_reg = RREG32(MC_PMG_CMD_MRS1); table->mc_reg_address[j].s1 = MC_PMG_CMD_MRS1 >> 2; table->mc_reg_address[j].s0 = MC_SEQ_PMG_CMD_MRS1_LP >> 2; @@ -2753,8 +2753,6 @@ (temp_reg & 0xffff0000) | (table->mc_reg_table_entry[k].mc_data[i] & 0x0000ffff); j++; - if (j > SMC_NISLANDS_MC_REGISTER_ARRAY_SIZE) - return -EINVAL; break; default: break; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/radeon/radeon_bios.c +++ linux-gcp-5.19.0/drivers/gpu/drm/radeon/radeon_bios.c @@ -227,6 +227,7 @@ if (!found) return false; + pci_dev_put(pdev); rdev->bios = kmalloc(size, GFP_KERNEL); if (!rdev->bios) { @@ -612,13 +613,14 @@ acpi_size tbl_size; UEFI_ACPI_VFCT *vfct; unsigned offset; + bool r = false; if (!ACPI_SUCCESS(acpi_get_table("VFCT", 1, &hdr))) return false; tbl_size = hdr->length; if (tbl_size < sizeof(UEFI_ACPI_VFCT)) { DRM_ERROR("ACPI VFCT table present but broken (too short #1)\n"); - return false; + goto out; } vfct = (UEFI_ACPI_VFCT *)hdr; @@ -631,13 +633,13 @@ offset += sizeof(VFCT_IMAGE_HEADER); if (offset > tbl_size) { DRM_ERROR("ACPI VFCT image header truncated\n"); - return false; + goto out; } offset += vhdr->ImageLength; if (offset > tbl_size) { DRM_ERROR("ACPI VFCT image truncated\n"); - return false; + goto out; } if (vhdr->ImageLength && @@ -649,15 +651,18 @@ rdev->bios = kmemdup(&vbios->VbiosContent, vhdr->ImageLength, GFP_KERNEL); + if (rdev->bios) + r = true; - if (!rdev->bios) - return false; - return true; + goto out; } } DRM_ERROR("ACPI VFCT table present but broken (too short #2)\n"); - return false; + +out: + acpi_put_table(hdr); + return r; } #else static inline bool radeon_acpi_vfct_bios(struct radeon_device *rdev) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/radeon/radeon_device.c +++ linux-gcp-5.19.0/drivers/gpu/drm/radeon/radeon_device.c @@ -1022,6 +1022,7 @@ { if (rdev->mode_info.atom_context) { kfree(rdev->mode_info.atom_context->scratch); + kfree(rdev->mode_info.atom_context->iio); } kfree(rdev->mode_info.atom_context); rdev->mode_info.atom_context = NULL; @@ -1113,7 +1114,7 @@ static void radeon_check_arguments(struct radeon_device *rdev) { /* vramlimit must be a power of two */ - if (!is_power_of_2(radeon_vram_limit)) { + if (radeon_vram_limit != 0 && !is_power_of_2(radeon_vram_limit)) { dev_warn(rdev->dev, "vram limit (%d) must be a power of 2\n", radeon_vram_limit); radeon_vram_limit = 0; @@ -1604,6 +1605,9 @@ if (r) { /* delay GPU reset to resume */ radeon_fence_driver_force_completion(rdev, i); + } else { + /* finish executing delayed work */ + flush_delayed_work(&rdev->fence_drv[i].lockup_work); } } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/rcar-du/Kconfig +++ linux-gcp-5.19.0/drivers/gpu/drm/rcar-du/Kconfig @@ -41,8 +41,6 @@ depends on DRM_RCAR_USE_LVDS select DRM_KMS_HELPER select DRM_PANEL - select OF_FLATTREE - select OF_OVERLAY config DRM_RCAR_MIPI_DSI tristate "R-Car DU MIPI DSI Encoder Support" --- linux-gcp-5.19.0.orig/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c +++ linux-gcp-5.19.0/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c @@ -408,7 +408,15 @@ if (IS_ERR(dp->adp)) return PTR_ERR(dp->adp); - return component_add(dev, &rockchip_dp_component_ops); + ret = component_add(dev, &rockchip_dp_component_ops); + if (ret) + goto err_dp_remove; + + return 0; + +err_dp_remove: + analogix_dp_remove(dp->adp); + return ret; } static int rockchip_dp_remove(struct platform_device *pdev) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/rockchip/cdn-dp-core.c +++ linux-gcp-5.19.0/drivers/gpu/drm/rockchip/cdn-dp-core.c @@ -283,8 +283,9 @@ return ret; } -static int cdn_dp_connector_mode_valid(struct drm_connector *connector, - struct drm_display_mode *mode) +static enum drm_mode_status +cdn_dp_connector_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode) { struct cdn_dp_device *dp = connector_to_dp(connector); struct drm_display_info *display_info = &dp->connector.display_info; @@ -570,7 +571,7 @@ video->v_sync_polarity = !!(mode->flags & DRM_MODE_FLAG_NVSYNC); video->h_sync_polarity = !!(mode->flags & DRM_MODE_FLAG_NHSYNC); - memcpy(&dp->mode, adjusted, sizeof(*mode)); + drm_mode_copy(&dp->mode, adjusted); } static bool cdn_dp_check_link_status(struct cdn_dp_device *dp) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c +++ linux-gcp-5.19.0/drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c @@ -1031,23 +1031,31 @@ if (ret) { DRM_DEV_ERROR(dsi->dev, "Failed to register component: %d\n", ret); - return ret; + goto out; } second = dw_mipi_dsi_rockchip_find_second(dsi); - if (IS_ERR(second)) - return PTR_ERR(second); + if (IS_ERR(second)) { + ret = PTR_ERR(second); + goto out; + } if (second) { ret = component_add(second, &dw_mipi_dsi_rockchip_ops); if (ret) { DRM_DEV_ERROR(second, "Failed to register component: %d\n", ret); - return ret; + goto out; } } return 0; + +out: + mutex_lock(&dsi->usage_mutex); + dsi->usage_mode = DW_DSI_USAGE_IDLE; + mutex_unlock(&dsi->usage_mutex); + return ret; } static int dw_mipi_dsi_rockchip_host_detach(void *priv_data, @@ -1634,5 +1642,11 @@ .of_match_table = dw_mipi_dsi_rockchip_dt_ids, .pm = &dw_mipi_dsi_rockchip_pm_ops, .name = "dw-mipi-dsi-rockchip", + /* + * For dual-DSI display, one DSI pokes at the other DSI's + * drvdata in dw_mipi_dsi_rockchip_find_second(). This is not + * safe for asynchronous probe. + */ + .probe_type = PROBE_FORCE_SYNCHRONOUS, }, }; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c +++ linux-gcp-5.19.0/drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c @@ -565,7 +565,8 @@ ret = rockchip_hdmi_parse_dt(hdmi); if (ret) { - DRM_DEV_ERROR(hdmi->dev, "Unable to parse OF data\n"); + if (ret != -EPROBE_DEFER) + DRM_DEV_ERROR(hdmi->dev, "Unable to parse OF data\n"); return ret; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/rockchip/inno_hdmi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/rockchip/inno_hdmi.c @@ -499,7 +499,7 @@ inno_hdmi_setup(hdmi, adj_mode); /* Store the display mode for plugin/DPMS poweron events */ - memcpy(&hdmi->previous_mode, adj_mode, sizeof(hdmi->previous_mode)); + drm_mode_copy(&hdmi->previous_mode, adj_mode); } static void inno_hdmi_encoder_enable(struct drm_encoder *encoder) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/rockchip/rk3066_hdmi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/rockchip/rk3066_hdmi.c @@ -394,7 +394,7 @@ struct rk3066_hdmi *hdmi = encoder_to_rk3066_hdmi(encoder); /* Store the display mode for plugin/DPMS poweron events. */ - memcpy(&hdmi->previous_mode, adj_mode, sizeof(hdmi->previous_mode)); + drm_mode_copy(&hdmi->previous_mode, adj_mode); } static void rk3066_hdmi_encoder_enable(struct drm_encoder *encoder) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/rockchip/rockchip_drm_gem.c +++ linux-gcp-5.19.0/drivers/gpu/drm/rockchip/rockchip_drm_gem.c @@ -364,9 +364,12 @@ { struct rockchip_gem_object *rk_obj; struct drm_gem_object *obj; + bool is_framebuffer; int ret; - rk_obj = rockchip_gem_create_object(drm, size, false); + is_framebuffer = drm->fb_helper && file_priv == drm->fb_helper->client.file; + + rk_obj = rockchip_gem_create_object(drm, size, is_framebuffer); if (IS_ERR(rk_obj)) return ERR_CAST(rk_obj); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ linux-gcp-5.19.0/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -1570,6 +1570,9 @@ { struct rockchip_crtc_state *rockchip_state; + if (WARN_ON(!crtc->state)) + return NULL; + rockchip_state = kzalloc(sizeof(*rockchip_state), GFP_KERNEL); if (!rockchip_state) return NULL; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c +++ linux-gcp-5.19.0/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c @@ -875,10 +875,14 @@ { struct vop2_video_port *vp = to_vop2_video_port(crtc); struct vop2 *vop2 = vp->vop2; + struct drm_crtc_state *old_crtc_state; int ret; vop2_lock(vop2); + old_crtc_state = drm_atomic_get_old_crtc_state(state, crtc); + drm_atomic_helper_disable_planes_on_crtc(old_crtc_state, false); + drm_crtc_vblank_off(crtc); /* @@ -994,13 +998,15 @@ static void vop2_plane_atomic_disable(struct drm_plane *plane, struct drm_atomic_state *state) { - struct drm_plane_state *old_pstate = drm_atomic_get_old_plane_state(state, plane); + struct drm_plane_state *old_pstate = NULL; struct vop2_win *win = to_vop2_win(plane); struct vop2 *vop2 = win->vop2; drm_dbg(vop2->drm, "%s disable\n", win->data->name); - if (!old_pstate->crtc) + if (state) + old_pstate = drm_atomic_get_old_plane_state(state, plane); + if (old_pstate && !old_pstate->crtc) return; vop2_win_disable(win); @@ -1436,11 +1442,15 @@ die &= ~RK3568_SYS_DSP_INFACE_EN_HDMI_MUX; die |= RK3568_SYS_DSP_INFACE_EN_HDMI | FIELD_PREP(RK3568_SYS_DSP_INFACE_EN_HDMI_MUX, vp->id); + dip &= ~RK3568_DSP_IF_POL__HDMI_PIN_POL; + dip |= FIELD_PREP(RK3568_DSP_IF_POL__HDMI_PIN_POL, polflags); break; case ROCKCHIP_VOP2_EP_EDP0: die &= ~RK3568_SYS_DSP_INFACE_EN_EDP_MUX; die |= RK3568_SYS_DSP_INFACE_EN_EDP | FIELD_PREP(RK3568_SYS_DSP_INFACE_EN_EDP_MUX, vp->id); + dip &= ~RK3568_DSP_IF_POL__EDP_PIN_POL; + dip |= FIELD_PREP(RK3568_DSP_IF_POL__EDP_PIN_POL, polflags); break; case ROCKCHIP_VOP2_EP_MIPI0: die &= ~RK3568_SYS_DSP_INFACE_EN_MIPI0_MUX; @@ -1524,6 +1534,7 @@ if (ret < 0) { drm_err(vop2->drm, "failed to enable dclk for video port%d - %d\n", vp->id, ret); + vop2_unlock(vop2); return; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/rockchip/rockchip_lvds.c +++ linux-gcp-5.19.0/drivers/gpu/drm/rockchip/rockchip_lvds.c @@ -152,7 +152,7 @@ DRM_DEV_ERROR(lvds->dev, "failed to enable lvds pclk %d\n", ret); return ret; } - ret = pm_runtime_get_sync(lvds->dev); + ret = pm_runtime_resume_and_get(lvds->dev); if (ret < 0) { DRM_DEV_ERROR(lvds->dev, "failed to get pm runtime: %d\n", ret); clk_disable(lvds->pclk); @@ -336,16 +336,20 @@ { int ret; - ret = pm_runtime_get_sync(lvds->dev); + ret = pm_runtime_resume_and_get(lvds->dev); if (ret < 0) { DRM_DEV_ERROR(lvds->dev, "failed to get pm runtime: %d\n", ret); return ret; } /* Enable LVDS mode */ - return regmap_update_bits(lvds->grf, PX30_LVDS_GRF_PD_VO_CON1, + ret = regmap_update_bits(lvds->grf, PX30_LVDS_GRF_PD_VO_CON1, PX30_LVDS_MODE_EN(1) | PX30_LVDS_P2S_EN(1), PX30_LVDS_MODE_EN(1) | PX30_LVDS_P2S_EN(1)); + if (ret) + pm_runtime_put(lvds->dev); + + return ret; } static void px30_lvds_poweroff(struct rockchip_lvds *lvds) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/scheduler/sched_entity.c +++ linux-gcp-5.19.0/drivers/gpu/drm/scheduler/sched_entity.c @@ -207,6 +207,7 @@ struct drm_sched_job *job = container_of(cb, struct drm_sched_job, finish_cb); + dma_fence_put(f); INIT_WORK(&job->work, drm_sched_entity_kill_jobs_work); schedule_work(&job->work); } @@ -234,8 +235,10 @@ struct drm_sched_fence *s_fence = job->s_fence; /* Wait for all dependencies to avoid data corruptions */ - while ((f = drm_sched_job_dependency(job, entity))) + while ((f = drm_sched_job_dependency(job, entity))) { dma_fence_wait(f, false); + dma_fence_put(f); + } drm_sched_fence_scheduled(s_fence); dma_fence_set_error(&s_fence->finished, -ESRCH); @@ -250,6 +253,7 @@ continue; } + dma_fence_get(entity->last_scheduled); r = dma_fence_add_callback(entity->last_scheduled, &job->finish_cb, drm_sched_entity_kill_jobs_cb); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/solomon/ssd130x-spi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/solomon/ssd130x-spi.c @@ -143,6 +143,7 @@ }; MODULE_DEVICE_TABLE(of, ssd130x_of_match); +#if IS_MODULE(CONFIG_DRM_SSD130X_SPI) /* * The SPI core always reports a MODALIAS uevent of the form "spi:", even * if the device was registered via OF. This means that the module will not be @@ -160,6 +161,7 @@ { /* sentinel */ } }; MODULE_DEVICE_TABLE(spi, ssd130x_spi_table); +#endif static struct spi_driver ssd130x_spi_driver = { .driver = { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/sti/sti_dvo.c +++ linux-gcp-5.19.0/drivers/gpu/drm/sti/sti_dvo.c @@ -288,7 +288,7 @@ DRM_DEBUG_DRIVER("\n"); - memcpy(&dvo->mode, mode, sizeof(struct drm_display_mode)); + drm_mode_copy(&dvo->mode, mode); /* According to the path used (main or aux), the dvo clocks should * have a different parent clock. */ @@ -346,8 +346,9 @@ #define CLK_TOLERANCE_HZ 50 -static int sti_dvo_connector_mode_valid(struct drm_connector *connector, - struct drm_display_mode *mode) +static enum drm_mode_status +sti_dvo_connector_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode) { int target = mode->clock * 1000; int target_min = target - CLK_TOLERANCE_HZ; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/sti/sti_hda.c +++ linux-gcp-5.19.0/drivers/gpu/drm/sti/sti_hda.c @@ -523,7 +523,7 @@ DRM_DEBUG_DRIVER("\n"); - memcpy(&hda->mode, mode, sizeof(struct drm_display_mode)); + drm_mode_copy(&hda->mode, mode); if (!hda_get_mode_idx(hda->mode, &mode_idx)) { DRM_ERROR("Undefined mode\n"); @@ -600,8 +600,9 @@ #define CLK_TOLERANCE_HZ 50 -static int sti_hda_connector_mode_valid(struct drm_connector *connector, - struct drm_display_mode *mode) +static enum drm_mode_status +sti_hda_connector_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode) { int target = mode->clock * 1000; int target_min = target - CLK_TOLERANCE_HZ; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/sti/sti_hdmi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/sti/sti_hdmi.c @@ -940,7 +940,7 @@ DRM_DEBUG_DRIVER("\n"); /* Copy the drm display mode in the connector local structure */ - memcpy(&hdmi->mode, mode, sizeof(struct drm_display_mode)); + drm_mode_copy(&hdmi->mode, mode); /* Update clock framerate according to the selected mode */ ret = clk_set_rate(hdmi->clk_pix, mode->clock * 1000); @@ -1003,8 +1003,9 @@ #define CLK_TOLERANCE_HZ 50 -static int sti_hdmi_connector_mode_valid(struct drm_connector *connector, - struct drm_display_mode *mode) +static enum drm_mode_status +sti_hdmi_connector_mode_valid(struct drm_connector *connector, + struct drm_display_mode *mode) { int target = mode->clock * 1000; int target_min = target - CLK_TOLERANCE_HZ; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c @@ -531,7 +531,7 @@ struct drm_display_mode *mode) { struct mipi_dsi_device *device = dsi->device; - unsigned int Bpp = mipi_dsi_pixel_format_to_bpp(device->format) / 8; + int Bpp = mipi_dsi_pixel_format_to_bpp(device->format) / 8; u16 hbp = 0, hfp = 0, hsa = 0, hblk = 0, vblk = 0; u32 basic_ctl = 0; size_t bytes; @@ -555,7 +555,7 @@ * (4 bytes). Its minimal size is therefore 10 bytes */ #define HSA_PACKET_OVERHEAD 10 - hsa = max((unsigned int)HSA_PACKET_OVERHEAD, + hsa = max(HSA_PACKET_OVERHEAD, (mode->hsync_end - mode->hsync_start) * Bpp - HSA_PACKET_OVERHEAD); /* @@ -564,7 +564,7 @@ * therefore 6 bytes */ #define HBP_PACKET_OVERHEAD 6 - hbp = max((unsigned int)HBP_PACKET_OVERHEAD, + hbp = max(HBP_PACKET_OVERHEAD, (mode->htotal - mode->hsync_end) * Bpp - HBP_PACKET_OVERHEAD); /* @@ -574,7 +574,7 @@ * 16 bytes */ #define HFP_PACKET_OVERHEAD 16 - hfp = max((unsigned int)HFP_PACKET_OVERHEAD, + hfp = max(HFP_PACKET_OVERHEAD, (mode->hsync_start - mode->hdisplay) * Bpp - HFP_PACKET_OVERHEAD); /* @@ -583,7 +583,7 @@ * bytes). Its minimal size is therefore 10 bytes. */ #define HBLK_PACKET_OVERHEAD 10 - hblk = max((unsigned int)HBLK_PACKET_OVERHEAD, + hblk = max(HBLK_PACKET_OVERHEAD, (mode->htotal - (mode->hsync_end - mode->hsync_start)) * Bpp - HBLK_PACKET_OVERHEAD); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/tegra/dc.c +++ linux-gcp-5.19.0/drivers/gpu/drm/tegra/dc.c @@ -3203,8 +3203,10 @@ usleep_range(2000, 4000); err = reset_control_assert(dc->rst); - if (err < 0) + if (err < 0) { + clk_disable_unprepare(dc->clk); return err; + } usleep_range(2000, 4000); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/tegra/drm.c +++ linux-gcp-5.19.0/drivers/gpu/drm/tegra/drm.c @@ -1092,6 +1092,10 @@ struct host1x *host1x = dev_get_drvdata(dev->dev.parent); struct iommu_domain *domain; + /* Our IOMMU usage policy doesn't currently play well with GART */ + if (of_machine_is_compatible("nvidia,tegra20")) + return false; + /* * If the Tegra DRM clients are backed by an IOMMU, push buffers are * likely to be allocated beyond the 32-bit boundary if sufficient --- linux-gcp-5.19.0.orig/drivers/gpu/drm/tegra/firewall.c +++ linux-gcp-5.19.0/drivers/gpu/drm/tegra/firewall.c @@ -97,6 +97,9 @@ { bool is_addr; + if (!fw->client->ops->is_addr_reg) + return 0; + is_addr = fw->client->ops->is_addr_reg(fw->client->base.dev, fw->class, offset); if (is_addr) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/tegra/gem.c +++ linux-gcp-5.19.0/drivers/gpu/drm/tegra/gem.c @@ -704,14 +704,23 @@ { struct drm_gem_object *gem = buf->priv; struct tegra_bo *bo = to_tegra_bo(gem); + void *vaddr; - iosys_map_set_vaddr(map, bo->vaddr); + vaddr = tegra_bo_mmap(&bo->base); + if (IS_ERR(vaddr)) + return PTR_ERR(vaddr); + + iosys_map_set_vaddr(map, vaddr); return 0; } static void tegra_gem_prime_vunmap(struct dma_buf *buf, struct iosys_map *map) { + struct drm_gem_object *gem = buf->priv; + struct tegra_bo *bo = to_tegra_bo(gem); + + tegra_bo_munmap(&bo->base, map->vaddr); } static const struct dma_buf_ops tegra_gem_prime_dmabuf_ops = { --- linux-gcp-5.19.0.orig/drivers/gpu/drm/tidss/tidss_dispc.c +++ linux-gcp-5.19.0/drivers/gpu/drm/tidss/tidss_dispc.c @@ -1855,8 +1855,8 @@ { DRM_FORMAT_XBGR4444, 0x21, }, { DRM_FORMAT_RGBX4444, 0x22, }, - { DRM_FORMAT_ARGB1555, 0x25, }, - { DRM_FORMAT_ABGR1555, 0x26, }, + { DRM_FORMAT_XRGB1555, 0x25, }, + { DRM_FORMAT_XBGR1555, 0x26, }, { DRM_FORMAT_XRGB8888, 0x27, }, { DRM_FORMAT_XBGR8888, 0x28, }, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/tiny/bochs.c +++ linux-gcp-5.19.0/drivers/gpu/drm/tiny/bochs.c @@ -306,6 +306,8 @@ static void bochs_hw_blank(struct bochs_device *bochs, bool blank) { DRM_DEBUG_DRIVER("hw_blank %d\n", blank); + /* enable color bit (so VGA_IS1_RC access works) */ + bochs_vga_writeb(bochs, VGA_MIS_W, VGA_MIS_COLOR); /* discard ar_flip_flop */ (void)bochs_vga_readb(bochs, VGA_IS1_RC); /* blank or unblank; we need only update index and set 0x20 */ --- linux-gcp-5.19.0.orig/drivers/gpu/drm/tiny/ili9486.c +++ linux-gcp-5.19.0/drivers/gpu/drm/tiny/ili9486.c @@ -43,6 +43,7 @@ size_t num) { struct spi_device *spi = mipi->spi; + unsigned int bpw = 8; void *data = par; u32 speed_hz; int i, ret; @@ -56,8 +57,6 @@ * The displays are Raspberry Pi HATs and connected to the 8-bit only * SPI controller, so 16-bit command and parameters need byte swapping * before being transferred as 8-bit on the big endian SPI bus. - * Pixel data bytes have already been swapped before this function is - * called. */ buf[0] = cpu_to_be16(*cmd); gpiod_set_value_cansleep(mipi->dc, 0); @@ -71,12 +70,18 @@ for (i = 0; i < num; i++) buf[i] = cpu_to_be16(par[i]); num *= 2; - speed_hz = mipi_dbi_spi_cmd_max_speed(spi, num); data = buf; } + /* + * Check whether pixel data bytes needs to be swapped or not + */ + if (*cmd == MIPI_DCS_WRITE_MEMORY_START && !mipi->swap_bytes) + bpw = 16; + gpiod_set_value_cansleep(mipi->dc, 1); - ret = mipi_dbi_spi_transfer(spi, speed_hz, 8, data, num); + speed_hz = mipi_dbi_spi_cmd_max_speed(spi, num); + ret = mipi_dbi_spi_transfer(spi, speed_hz, bpw, data, num); free: kfree(buf); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/tiny/st7735r.c +++ linux-gcp-5.19.0/drivers/gpu/drm/tiny/st7735r.c @@ -174,6 +174,7 @@ static const struct spi_device_id st7735r_id[] = { { "jd-t18003-t01", (uintptr_t)&jd_t18003_t01_cfg }, + { "rh128128t", (uintptr_t)&rh128128t_cfg }, { }, }; MODULE_DEVICE_TABLE(spi, st7735r_id); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/ttm/ttm_bo.c +++ linux-gcp-5.19.0/drivers/gpu/drm/ttm/ttm_bo.c @@ -918,7 +918,7 @@ /* * We might need to add a TTM. */ - if (bo->resource->mem_type == TTM_PL_SYSTEM) { + if (!bo->resource || bo->resource->mem_type == TTM_PL_SYSTEM) { ret = ttm_tt_create(bo, true); if (ret) return ret; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/udl/udl_modeset.c +++ linux-gcp-5.19.0/drivers/gpu/drm/udl/udl_modeset.c @@ -382,9 +382,6 @@ udl_handle_damage(fb, &shadow_plane_state->data[0], 0, 0, fb->width, fb->height); - if (!crtc_state->mode_changed) - return; - /* enable display */ udl_crtc_write_mode_to_hw(crtc); } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vc4/Kconfig +++ linux-gcp-5.19.0/drivers/gpu/drm/vc4/Kconfig @@ -8,6 +8,7 @@ depends on DRM depends on SND && SND_SOC depends on COMMON_CLK + depends on PM select DRM_DISPLAY_HDMI_HELPER select DRM_DISPLAY_HELPER select DRM_KMS_HELPER --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vc4/vc4_crtc.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vc4/vc4_crtc.c @@ -316,10 +316,13 @@ struct drm_crtc_state *crtc_state = crtc->state; struct drm_display_mode *mode = &crtc_state->adjusted_mode; bool interlace = mode->flags & DRM_MODE_FLAG_INTERLACE; - u32 pixel_rep = (mode->flags & DRM_MODE_FLAG_DBLCLK) ? 2 : 1; + bool is_hdmi = vc4_encoder->type == VC4_ENCODER_TYPE_HDMI0 || + vc4_encoder->type == VC4_ENCODER_TYPE_HDMI1; + u32 pixel_rep = ((mode->flags & DRM_MODE_FLAG_DBLCLK) && !is_hdmi) ? 2 : 1; bool is_dsi = (vc4_encoder->type == VC4_ENCODER_TYPE_DSI0 || vc4_encoder->type == VC4_ENCODER_TYPE_DSI1); - u32 format = is_dsi ? PV_CONTROL_FORMAT_DSIV_24 : PV_CONTROL_FORMAT_24; + bool is_dsi1 = vc4_encoder->type == VC4_ENCODER_TYPE_DSI1; + u32 format = is_dsi1 ? PV_CONTROL_FORMAT_DSIV_24 : PV_CONTROL_FORMAT_24; u8 ppc = pv_data->pixels_per_clock; bool debug_dump_regs = false; @@ -345,7 +348,8 @@ PV_HORZB_HACTIVE)); CRTC_WRITE(PV_VERTA, - VC4_SET_FIELD(mode->crtc_vtotal - mode->crtc_vsync_end, + VC4_SET_FIELD(mode->crtc_vtotal - mode->crtc_vsync_end + + interlace, PV_VERTA_VBP) | VC4_SET_FIELD(mode->crtc_vsync_end - mode->crtc_vsync_start, PV_VERTA_VSYNC)); @@ -357,7 +361,7 @@ if (interlace) { CRTC_WRITE(PV_VERTA_EVEN, VC4_SET_FIELD(mode->crtc_vtotal - - mode->crtc_vsync_end - 1, + mode->crtc_vsync_end, PV_VERTA_VBP) | VC4_SET_FIELD(mode->crtc_vsync_end - mode->crtc_vsync_start, @@ -377,7 +381,7 @@ PV_VCONTROL_CONTINUOUS | (is_dsi ? PV_VCONTROL_DSI : 0) | PV_VCONTROL_INTERLACE | - VC4_SET_FIELD(mode->htotal * pixel_rep / 2, + VC4_SET_FIELD(mode->htotal * pixel_rep / (2 * ppc), PV_VCONTROL_ODD_DELAY)); CRTC_WRITE(PV_VSYNCD_EVEN, 0); } else { @@ -679,7 +683,7 @@ struct vc4_encoder *vc4_encoder = to_vc4_encoder(encoder); if (vc4_encoder->type == VC4_ENCODER_TYPE_HDMI0) { - vc4_state->hvs_load = max(mode->clock * mode->hdisplay / mode->htotal + 1000, + vc4_state->hvs_load = max(mode->clock * mode->hdisplay / mode->htotal + 8000, mode->clock * 9 / 10) * 1000; } else { vc4_state->hvs_load = mode->clock * 1000; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vc4/vc4_dpi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vc4/vc4_dpi.c @@ -148,35 +148,45 @@ } drm_connector_list_iter_end(&conn_iter); - if (connector && connector->display_info.num_bus_formats) { - u32 bus_format = connector->display_info.bus_formats[0]; + if (connector) { + if (connector->display_info.num_bus_formats) { + u32 bus_format = connector->display_info.bus_formats[0]; - switch (bus_format) { - case MEDIA_BUS_FMT_RGB888_1X24: - dpi_c |= VC4_SET_FIELD(DPI_FORMAT_24BIT_888_RGB, - DPI_FORMAT); - break; - case MEDIA_BUS_FMT_BGR888_1X24: - dpi_c |= VC4_SET_FIELD(DPI_FORMAT_24BIT_888_RGB, - DPI_FORMAT); - dpi_c |= VC4_SET_FIELD(DPI_ORDER_BGR, DPI_ORDER); - break; - case MEDIA_BUS_FMT_RGB666_1X24_CPADHI: - dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_2, - DPI_FORMAT); - break; - case MEDIA_BUS_FMT_RGB666_1X18: - dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_1, - DPI_FORMAT); - break; - case MEDIA_BUS_FMT_RGB565_1X16: - dpi_c |= VC4_SET_FIELD(DPI_FORMAT_16BIT_565_RGB_3, - DPI_FORMAT); - break; - default: - DRM_ERROR("Unknown media bus format %d\n", bus_format); - break; + switch (bus_format) { + case MEDIA_BUS_FMT_RGB888_1X24: + dpi_c |= VC4_SET_FIELD(DPI_FORMAT_24BIT_888_RGB, + DPI_FORMAT); + break; + case MEDIA_BUS_FMT_BGR888_1X24: + dpi_c |= VC4_SET_FIELD(DPI_FORMAT_24BIT_888_RGB, + DPI_FORMAT); + dpi_c |= VC4_SET_FIELD(DPI_ORDER_BGR, + DPI_ORDER); + break; + case MEDIA_BUS_FMT_RGB666_1X24_CPADHI: + dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_2, + DPI_FORMAT); + break; + case MEDIA_BUS_FMT_RGB666_1X18: + dpi_c |= VC4_SET_FIELD(DPI_FORMAT_18BIT_666_RGB_1, + DPI_FORMAT); + break; + case MEDIA_BUS_FMT_RGB565_1X16: + dpi_c |= VC4_SET_FIELD(DPI_FORMAT_16BIT_565_RGB_1, + DPI_FORMAT); + break; + default: + DRM_ERROR("Unknown media bus format %d\n", + bus_format); + break; + } } + + if (connector->display_info.bus_flags & DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE) + dpi_c |= DPI_PIXEL_CLK_INVERT; + + if (connector->display_info.bus_flags & DRM_BUS_FLAG_DE_LOW) + dpi_c |= DPI_OUTPUT_ENABLE_INVERT; } else { /* Default to 24bit if no connector found. */ dpi_c |= VC4_SET_FIELD(DPI_FORMAT_24BIT_888_RGB, DPI_FORMAT); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vc4/vc4_drv.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vc4/vc4_drv.c @@ -267,6 +267,13 @@ } } +static void vc4_component_unbind_all(void *ptr) +{ + struct vc4_dev *vc4 = ptr; + + component_unbind_all(vc4->dev, &vc4->base); +} + static int vc4_drm_bind(struct device *dev) { struct platform_device *pdev = to_platform_device(dev); @@ -291,6 +298,7 @@ if (IS_ERR(vc4)) return PTR_ERR(vc4); vc4->is_vc5 = is_vc5; + vc4->dev = dev; drm = &vc4->base; platform_set_drvdata(pdev, drm); @@ -341,6 +349,10 @@ if (ret) return ret; + ret = devm_add_action_or_reset(dev, vc4_component_unbind_all, vc4); + if (ret) + return ret; + ret = vc4_plane_create_additional_planes(drm); if (ret) goto unbind_all; @@ -361,8 +373,6 @@ return 0; unbind_all: - component_unbind_all(dev, drm); - return ret; } @@ -447,7 +457,12 @@ if (ret) return ret; - return platform_driver_register(&vc4_platform_driver); + ret = platform_driver_register(&vc4_platform_driver); + if (ret) + platform_unregister_drivers(component_drivers, + ARRAY_SIZE(component_drivers)); + + return ret; } static void __exit vc4_drm_unregister(void) @@ -461,6 +476,7 @@ module_exit(vc4_drm_unregister); MODULE_ALIAS("platform:vc4-drm"); +MODULE_SOFTDEP("pre: snd-soc-hdmi-codec"); MODULE_DESCRIPTION("Broadcom VC4 DRM Driver"); MODULE_AUTHOR("Eric Anholt "); MODULE_LICENSE("GPL v2"); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vc4/vc4_drv.h +++ linux-gcp-5.19.0/drivers/gpu/drm/vc4/vc4_drv.h @@ -75,6 +75,7 @@ struct vc4_dev { struct drm_device base; + struct device *dev; bool is_vc5; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vc4/vc4_dsi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vc4/vc4_dsi.c @@ -181,8 +181,50 @@ #define DSI0_TXPKT_PIX_FIFO 0x20 /* AKA PIX_FIFO */ -#define DSI0_INT_STAT 0x24 -#define DSI0_INT_EN 0x28 +#define DSI0_INT_STAT 0x24 +#define DSI0_INT_EN 0x28 +# define DSI0_INT_FIFO_ERR BIT(25) +# define DSI0_INT_CMDC_DONE_MASK VC4_MASK(24, 23) +# define DSI0_INT_CMDC_DONE_SHIFT 23 +# define DSI0_INT_CMDC_DONE_NO_REPEAT 1 +# define DSI0_INT_CMDC_DONE_REPEAT 3 +# define DSI0_INT_PHY_DIR_RTF BIT(22) +# define DSI0_INT_PHY_D1_ULPS BIT(21) +# define DSI0_INT_PHY_D1_STOP BIT(20) +# define DSI0_INT_PHY_RXLPDT BIT(19) +# define DSI0_INT_PHY_RXTRIG BIT(18) +# define DSI0_INT_PHY_D0_ULPS BIT(17) +# define DSI0_INT_PHY_D0_LPDT BIT(16) +# define DSI0_INT_PHY_D0_FTR BIT(15) +# define DSI0_INT_PHY_D0_STOP BIT(14) +/* Signaled when the clock lane enters the given state. */ +# define DSI0_INT_PHY_CLK_ULPS BIT(13) +# define DSI0_INT_PHY_CLK_HS BIT(12) +# define DSI0_INT_PHY_CLK_FTR BIT(11) +/* Signaled on timeouts */ +# define DSI0_INT_PR_TO BIT(10) +# define DSI0_INT_TA_TO BIT(9) +# define DSI0_INT_LPRX_TO BIT(8) +# define DSI0_INT_HSTX_TO BIT(7) +/* Contention on a line when trying to drive the line low */ +# define DSI0_INT_ERR_CONT_LP1 BIT(6) +# define DSI0_INT_ERR_CONT_LP0 BIT(5) +/* Control error: incorrect line state sequence on data lane 0. */ +# define DSI0_INT_ERR_CONTROL BIT(4) +# define DSI0_INT_ERR_SYNC_ESC BIT(3) +# define DSI0_INT_RX2_PKT BIT(2) +# define DSI0_INT_RX1_PKT BIT(1) +# define DSI0_INT_CMD_PKT BIT(0) + +#define DSI0_INTERRUPTS_ALWAYS_ENABLED (DSI0_INT_ERR_SYNC_ESC | \ + DSI0_INT_ERR_CONTROL | \ + DSI0_INT_ERR_CONT_LP0 | \ + DSI0_INT_ERR_CONT_LP1 | \ + DSI0_INT_HSTX_TO | \ + DSI0_INT_LPRX_TO | \ + DSI0_INT_TA_TO | \ + DSI0_INT_PR_TO) + # define DSI1_INT_PHY_D3_ULPS BIT(30) # define DSI1_INT_PHY_D3_STOP BIT(29) # define DSI1_INT_PHY_D2_ULPS BIT(28) @@ -761,6 +803,9 @@ list_for_each_entry_reverse(iter, &dsi->bridge_chain, chain_node) { if (iter->funcs->disable) iter->funcs->disable(iter); + + if (iter == dsi->bridge) + break; } vc4_dsi_ulps(dsi, true); @@ -805,11 +850,9 @@ /* Find what divider gets us a faster clock than the requested * pixel clock. */ - for (divider = 1; divider < 8; divider++) { - if (parent_rate / divider < pll_clock) { - divider--; + for (divider = 1; divider < 255; divider++) { + if (parent_rate / (divider + 1) < pll_clock) break; - } } /* Now that we've picked a PLL divider, calculate back to its @@ -894,6 +937,9 @@ DSI_PORT_WRITE(PHY_AFEC0, afec0); + /* AFEC reset hold time */ + mdelay(1); + DSI_PORT_WRITE(PHY_AFEC1, VC4_SET_FIELD(6, DSI0_PHY_AFEC1_IDR_DLANE1) | VC4_SET_FIELD(6, DSI0_PHY_AFEC1_IDR_DLANE0) | @@ -1060,12 +1106,9 @@ DSI_PORT_WRITE(CTRL, DSI_PORT_READ(CTRL) | DSI1_CTRL_EN); /* Bring AFE out of reset. */ - if (dsi->variant->port == 0) { - } else { - DSI_PORT_WRITE(PHY_AFEC0, - DSI_PORT_READ(PHY_AFEC0) & - ~DSI1_PHY_AFEC0_RESET); - } + DSI_PORT_WRITE(PHY_AFEC0, + DSI_PORT_READ(PHY_AFEC0) & + ~DSI_PORT_BIT(PHY_AFEC0_RESET)); vc4_dsi_ulps(dsi, false); @@ -1184,13 +1227,28 @@ /* Enable the appropriate interrupt for the transfer completion. */ dsi->xfer_result = 0; reinit_completion(&dsi->xfer_completion); - DSI_PORT_WRITE(INT_STAT, DSI1_INT_TXPKT1_DONE | DSI1_INT_PHY_DIR_RTF); - if (msg->rx_len) { - DSI_PORT_WRITE(INT_EN, (DSI1_INTERRUPTS_ALWAYS_ENABLED | - DSI1_INT_PHY_DIR_RTF)); + if (dsi->variant->port == 0) { + DSI_PORT_WRITE(INT_STAT, + DSI0_INT_CMDC_DONE_MASK | DSI1_INT_PHY_DIR_RTF); + if (msg->rx_len) { + DSI_PORT_WRITE(INT_EN, (DSI0_INTERRUPTS_ALWAYS_ENABLED | + DSI0_INT_PHY_DIR_RTF)); + } else { + DSI_PORT_WRITE(INT_EN, + (DSI0_INTERRUPTS_ALWAYS_ENABLED | + VC4_SET_FIELD(DSI0_INT_CMDC_DONE_NO_REPEAT, + DSI0_INT_CMDC_DONE))); + } } else { - DSI_PORT_WRITE(INT_EN, (DSI1_INTERRUPTS_ALWAYS_ENABLED | - DSI1_INT_TXPKT1_DONE)); + DSI_PORT_WRITE(INT_STAT, + DSI1_INT_TXPKT1_DONE | DSI1_INT_PHY_DIR_RTF); + if (msg->rx_len) { + DSI_PORT_WRITE(INT_EN, (DSI1_INTERRUPTS_ALWAYS_ENABLED | + DSI1_INT_PHY_DIR_RTF)); + } else { + DSI_PORT_WRITE(INT_EN, (DSI1_INTERRUPTS_ALWAYS_ENABLED | + DSI1_INT_TXPKT1_DONE)); + } } /* Send the packet. */ @@ -1207,7 +1265,7 @@ ret = dsi->xfer_result; } - DSI_PORT_WRITE(INT_EN, DSI1_INTERRUPTS_ALWAYS_ENABLED); + DSI_PORT_WRITE(INT_EN, DSI_PORT_BIT(INTERRUPTS_ALWAYS_ENABLED)); if (ret) goto reset_fifo_and_return; @@ -1253,7 +1311,7 @@ DSI_PORT_BIT(CTRL_RESET_FIFOS)); DSI_PORT_WRITE(TXPKT1C, 0); - DSI_PORT_WRITE(INT_EN, DSI1_INTERRUPTS_ALWAYS_ENABLED); + DSI_PORT_WRITE(INT_EN, DSI_PORT_BIT(INTERRUPTS_ALWAYS_ENABLED)); return ret; } @@ -1390,26 +1448,28 @@ DSI_PORT_WRITE(INT_STAT, stat); dsi_handle_error(dsi, &ret, stat, - DSI1_INT_ERR_SYNC_ESC, "LPDT sync"); + DSI_PORT_BIT(INT_ERR_SYNC_ESC), "LPDT sync"); dsi_handle_error(dsi, &ret, stat, - DSI1_INT_ERR_CONTROL, "data lane 0 sequence"); + DSI_PORT_BIT(INT_ERR_CONTROL), "data lane 0 sequence"); dsi_handle_error(dsi, &ret, stat, - DSI1_INT_ERR_CONT_LP0, "LP0 contention"); + DSI_PORT_BIT(INT_ERR_CONT_LP0), "LP0 contention"); dsi_handle_error(dsi, &ret, stat, - DSI1_INT_ERR_CONT_LP1, "LP1 contention"); + DSI_PORT_BIT(INT_ERR_CONT_LP1), "LP1 contention"); dsi_handle_error(dsi, &ret, stat, - DSI1_INT_HSTX_TO, "HSTX timeout"); + DSI_PORT_BIT(INT_HSTX_TO), "HSTX timeout"); dsi_handle_error(dsi, &ret, stat, - DSI1_INT_LPRX_TO, "LPRX timeout"); + DSI_PORT_BIT(INT_LPRX_TO), "LPRX timeout"); dsi_handle_error(dsi, &ret, stat, - DSI1_INT_TA_TO, "turnaround timeout"); + DSI_PORT_BIT(INT_TA_TO), "turnaround timeout"); dsi_handle_error(dsi, &ret, stat, - DSI1_INT_PR_TO, "peripheral reset timeout"); + DSI_PORT_BIT(INT_PR_TO), "peripheral reset timeout"); - if (stat & (DSI1_INT_TXPKT1_DONE | DSI1_INT_PHY_DIR_RTF)) { + if (stat & ((dsi->variant->port ? DSI1_INT_TXPKT1_DONE : + DSI0_INT_CMDC_DONE_MASK) | + DSI_PORT_BIT(INT_PHY_DIR_RTF))) { complete(&dsi->xfer_completion); ret = IRQ_HANDLED; - } else if (stat & DSI1_INT_HSTX_TO) { + } else if (stat & DSI_PORT_BIT(INT_HSTX_TO)) { complete(&dsi->xfer_completion); dsi->xfer_result = -ETIMEDOUT; ret = IRQ_HANDLED; @@ -1487,13 +1547,29 @@ dsi->clk_onecell); } +static void vc4_dsi_dma_mem_release(void *ptr) +{ + struct vc4_dsi *dsi = ptr; + struct device *dev = &dsi->pdev->dev; + + dma_free_coherent(dev, 4, dsi->reg_dma_mem, dsi->reg_dma_paddr); + dsi->reg_dma_mem = NULL; +} + +static void vc4_dsi_dma_chan_release(void *ptr) +{ + struct vc4_dsi *dsi = ptr; + + dma_release_channel(dsi->reg_dma_chan); + dsi->reg_dma_chan = NULL; +} + static int vc4_dsi_bind(struct device *dev, struct device *master, void *data) { struct platform_device *pdev = to_platform_device(dev); struct drm_device *drm = dev_get_drvdata(master); struct vc4_dsi *dsi = dev_get_drvdata(dev); struct vc4_dsi_encoder *vc4_dsi_encoder; - dma_cap_mask_t dma_mask; int ret; dsi->variant = of_device_get_match_data(dev); @@ -1504,7 +1580,8 @@ return -ENOMEM; INIT_LIST_HEAD(&dsi->bridge_chain); - vc4_dsi_encoder->base.type = VC4_ENCODER_TYPE_DSI1; + vc4_dsi_encoder->base.type = dsi->variant->port ? + VC4_ENCODER_TYPE_DSI1 : VC4_ENCODER_TYPE_DSI0; vc4_dsi_encoder->dsi = dsi; dsi->encoder = &vc4_dsi_encoder->base.base; @@ -1527,6 +1604,8 @@ * so set up a channel for talking to it. */ if (dsi->variant->broken_axi_workaround) { + dma_cap_mask_t dma_mask; + dsi->reg_dma_mem = dma_alloc_coherent(dev, 4, &dsi->reg_dma_paddr, GFP_KERNEL); @@ -1535,8 +1614,13 @@ return -ENOMEM; } + ret = devm_add_action_or_reset(dev, vc4_dsi_dma_mem_release, dsi); + if (ret) + return ret; + dma_cap_zero(dma_mask); dma_cap_set(DMA_MEMCPY, dma_mask); + dsi->reg_dma_chan = dma_request_chan_by_mask(&dma_mask); if (IS_ERR(dsi->reg_dma_chan)) { ret = PTR_ERR(dsi->reg_dma_chan); @@ -1546,6 +1630,10 @@ return ret; } + ret = devm_add_action_or_reset(dev, vc4_dsi_dma_chan_release, dsi); + if (ret) + return ret; + /* Get the physical address of the device's registers. The * struct resource for the regs gives us the bus address * instead. --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vc4/vc4_hdmi.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vc4/vc4_hdmi.c @@ -79,6 +79,11 @@ #define VC5_HDMI_VERTB_VSPO_SHIFT 16 #define VC5_HDMI_VERTB_VSPO_MASK VC4_MASK(29, 16) +#define VC4_HDMI_MISC_CONTROL_PIXEL_REP_SHIFT 0 +#define VC4_HDMI_MISC_CONTROL_PIXEL_REP_MASK VC4_MASK(3, 0) +#define VC5_HDMI_MISC_CONTROL_PIXEL_REP_SHIFT 0 +#define VC5_HDMI_MISC_CONTROL_PIXEL_REP_MASK VC4_MASK(3, 0) + #define VC5_HDMI_SCRAMBLER_CTL_ENABLE BIT(0) #define VC5_HDMI_DEEP_COLOR_CONFIG_1_INIT_PACK_PHASE_SHIFT 8 @@ -145,6 +150,12 @@ drm_print_regset32(&p, &vc4_hdmi->hdmi_regset); drm_print_regset32(&p, &vc4_hdmi->hd_regset); + drm_print_regset32(&p, &vc4_hdmi->cec_regset); + drm_print_regset32(&p, &vc4_hdmi->csc_regset); + drm_print_regset32(&p, &vc4_hdmi->dvp_regset); + drm_print_regset32(&p, &vc4_hdmi->phy_regset); + drm_print_regset32(&p, &vc4_hdmi->ram_regset); + drm_print_regset32(&p, &vc4_hdmi->rm_regset); return 0; } @@ -455,9 +466,11 @@ const struct vc4_hdmi_register *ram_packet_start = &vc4_hdmi->variant->registers[HDMI_RAM_PACKET_START]; u32 packet_reg = ram_packet_start->offset + VC4_HDMI_PACKET_STRIDE * packet_id; + u32 packet_reg_next = ram_packet_start->offset + + VC4_HDMI_PACKET_STRIDE * (packet_id + 1); void __iomem *base = __vc4_hdmi_get_field_base(vc4_hdmi, ram_packet_start->reg); - uint8_t buffer[VC4_HDMI_PACKET_STRIDE]; + uint8_t buffer[VC4_HDMI_PACKET_STRIDE] = {}; unsigned long flags; ssize_t len, i; int ret; @@ -493,6 +506,13 @@ packet_reg += 4; } + /* + * clear remainder of packet ram as it's included in the + * infoframe and triggers a checksum error on hdmi analyser + */ + for (; packet_reg < packet_reg_next; packet_reg += 4) + writel(0, base + packet_reg); + HDMI_WRITE(HDMI_RAM_PACKET_CONFIG, HDMI_READ(HDMI_RAM_PACKET_CONFIG) | BIT(packet_id)); @@ -970,14 +990,15 @@ VC4_HDMI_VERTA_VFP) | VC4_SET_FIELD(mode->crtc_vdisplay, VC4_HDMI_VERTA_VAL)); u32 vertb = (VC4_SET_FIELD(0, VC4_HDMI_VERTB_VSPO) | - VC4_SET_FIELD(mode->crtc_vtotal - mode->crtc_vsync_end, + VC4_SET_FIELD(mode->crtc_vtotal - mode->crtc_vsync_end + + interlaced, VC4_HDMI_VERTB_VBP)); u32 vertb_even = (VC4_SET_FIELD(0, VC4_HDMI_VERTB_VSPO) | VC4_SET_FIELD(mode->crtc_vtotal - - mode->crtc_vsync_end - - interlaced, + mode->crtc_vsync_end, VC4_HDMI_VERTB_VBP)); unsigned long flags; + u32 reg; spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); @@ -1004,6 +1025,11 @@ HDMI_WRITE(HDMI_VERTB0, vertb_even); HDMI_WRITE(HDMI_VERTB1, vertb); + reg = HDMI_READ(HDMI_MISC_CONTROL); + reg &= ~VC4_HDMI_MISC_CONTROL_PIXEL_REP_MASK; + reg |= VC4_SET_FIELD(pixel_rep - 1, VC4_HDMI_MISC_CONTROL_PIXEL_REP); + HDMI_WRITE(HDMI_MISC_CONTROL, reg); + spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); } @@ -1022,13 +1048,14 @@ VC4_SET_FIELD(mode->crtc_vsync_start - mode->crtc_vdisplay, VC5_HDMI_VERTA_VFP) | VC4_SET_FIELD(mode->crtc_vdisplay, VC5_HDMI_VERTA_VAL)); - u32 vertb = (VC4_SET_FIELD(0, VC5_HDMI_VERTB_VSPO) | - VC4_SET_FIELD(mode->crtc_vtotal - mode->crtc_vsync_end, + u32 vertb = (VC4_SET_FIELD(mode->htotal >> (2 - pixel_rep), + VC5_HDMI_VERTB_VSPO) | + VC4_SET_FIELD(mode->crtc_vtotal - mode->crtc_vsync_end + + interlaced, VC4_HDMI_VERTB_VBP)); u32 vertb_even = (VC4_SET_FIELD(0, VC5_HDMI_VERTB_VSPO) | VC4_SET_FIELD(mode->crtc_vtotal - - mode->crtc_vsync_end - - interlaced, + mode->crtc_vsync_end, VC4_HDMI_VERTB_VBP)); unsigned long flags; unsigned char gcp; @@ -1102,6 +1129,11 @@ reg |= gcp_en ? VC5_HDMI_GCP_CONFIG_GCP_ENABLE : 0; HDMI_WRITE(HDMI_GCP_CONFIG, reg); + reg = HDMI_READ(HDMI_MISC_CONTROL); + reg &= ~VC5_HDMI_MISC_CONTROL_PIXEL_REP_MASK; + reg |= VC4_SET_FIELD(pixel_rep - 1, VC5_HDMI_MISC_CONTROL_PIXEL_REP); + HDMI_WRITE(HDMI_MISC_CONTROL, reg); + HDMI_WRITE(HDMI_CLOCK_STOP, 0); spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); @@ -1597,18 +1629,37 @@ struct drm_crtc_state *crtc_state, struct drm_connector_state *conn_state) { + struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); + struct drm_connector *connector = &vc4_hdmi->connector; + struct drm_connector_state *old_conn_state = + drm_atomic_get_old_connector_state(conn_state->state, connector); + struct vc4_hdmi_connector_state *old_vc4_state = + conn_state_to_vc4_hdmi_conn_state(old_conn_state); struct vc4_hdmi_connector_state *vc4_state = conn_state_to_vc4_hdmi_conn_state(conn_state); struct drm_display_mode *mode = &crtc_state->adjusted_mode; - struct vc4_hdmi *vc4_hdmi = encoder_to_vc4_hdmi(encoder); unsigned long long tmds_char_rate = mode->clock * 1000; unsigned long long tmds_bit_rate; int ret; - if (vc4_hdmi->variant->unsupported_odd_h_timings && - !(mode->flags & DRM_MODE_FLAG_DBLCLK) && - ((mode->hdisplay % 2) || (mode->hsync_start % 2) || - (mode->hsync_end % 2) || (mode->htotal % 2))) - return -EINVAL; + if (vc4_hdmi->variant->unsupported_odd_h_timings) { + if (mode->flags & DRM_MODE_FLAG_DBLCLK) { + /* Only try to fixup DBLCLK modes to get 480i and 576i + * working. + * A generic solution for all modes with odd horizontal + * timing values seems impossible based on trying to + * solve it for 1366x768 monitors. + */ + if ((mode->hsync_start - mode->hdisplay) & 1) + mode->hsync_start--; + if ((mode->hsync_end - mode->hsync_start) & 1) + mode->hsync_end--; + } + + /* Now check whether we still have odd values remaining */ + if ((mode->hdisplay % 2) || (mode->hsync_start % 2) || + (mode->hsync_end % 2) || (mode->htotal % 2)) + return -EINVAL; + } /* * The 1440p@60 pixel rate is in the same range than the first @@ -1628,6 +1679,11 @@ if (ret) return ret; + /* vc4_hdmi_encoder_compute_config may have changed output_bpc and/or output_format */ + if (vc4_state->output_bpc != old_vc4_state->output_bpc || + vc4_state->output_format != old_vc4_state->output_format) + crtc_state->mode_changed = true; + return 0; } @@ -1941,10 +1997,10 @@ /* Set the MAI threshold */ HDMI_WRITE(HDMI_MAI_THR, - VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICHIGH) | - VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_PANICLOW) | - VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQHIGH) | - VC4_SET_FIELD(0x10, VC4_HD_MAI_THR_DREQLOW)); + VC4_SET_FIELD(0x08, VC4_HD_MAI_THR_PANICHIGH) | + VC4_SET_FIELD(0x08, VC4_HD_MAI_THR_PANICLOW) | + VC4_SET_FIELD(0x06, VC4_HD_MAI_THR_DREQHIGH) | + VC4_SET_FIELD(0x08, VC4_HD_MAI_THR_DREQLOW)); HDMI_WRITE(HDMI_MAI_CONFIG, VC4_HDMI_MAI_CONFIG_BIT_REVERSE | @@ -2035,12 +2091,12 @@ struct device *dev = &vc4_hdmi->pdev->dev; struct platform_device *codec_pdev; const __be32 *addr; - int index; + int index, len; int ret; - if (!of_find_property(dev->of_node, "dmas", NULL)) { + if (!of_find_property(dev->of_node, "dmas", &len) || !len) { dev_warn(dev, - "'dmas' DT property is missing, no HDMI audio\n"); + "'dmas' DT property is missing or empty, no HDMI audio\n"); return 0; } @@ -2521,8 +2577,6 @@ struct cec_connector_info conn_info; struct platform_device *pdev = vc4_hdmi->pdev; struct device *dev = &pdev->dev; - unsigned long flags; - u32 value; int ret; if (!of_find_property(dev->of_node, "interrupts", NULL)) { @@ -2531,7 +2585,8 @@ } vc4_hdmi->cec_adap = cec_allocate_adapter(&vc4_hdmi_cec_adap_ops, - vc4_hdmi, "vc4", + vc4_hdmi, + vc4_hdmi->variant->card_name, CEC_CAP_DEFAULTS | CEC_CAP_CONNECTOR_INFO, 1); ret = PTR_ERR_OR_ZERO(vc4_hdmi->cec_adap); @@ -2541,15 +2596,6 @@ cec_fill_conn_info_from_drm(&conn_info, &vc4_hdmi->connector); cec_s_conn_info(vc4_hdmi->cec_adap, &conn_info); - spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); - value = HDMI_READ(HDMI_CEC_CNTRL_1); - /* Set the logical address to Unregistered */ - value |= VC4_HDMI_CEC_ADDR_MASK; - HDMI_WRITE(HDMI_CEC_CNTRL_1, value); - spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); - - vc4_hdmi_cec_update_clk_div(vc4_hdmi); - if (vc4_hdmi->variant->external_irq_controller) { ret = request_threaded_irq(platform_get_irq_byname(pdev, "cec-rx"), vc4_cec_irq_handler_rx_bare, @@ -2565,10 +2611,6 @@ if (ret) goto err_remove_cec_rx_handler; } else { - spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); - HDMI_WRITE(HDMI_CEC_CPU_MASK_SET, 0xffffffff); - spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); - ret = request_threaded_irq(platform_get_irq(pdev, 0), vc4_cec_irq_handler, vc4_cec_irq_handler_thread, 0, @@ -2619,7 +2661,6 @@ } static void vc4_hdmi_cec_exit(struct vc4_hdmi *vc4_hdmi) {}; - #endif static int vc4_hdmi_build_regset(struct vc4_hdmi *vc4_hdmi, @@ -2693,9 +2734,16 @@ DRM_ERROR("Failed to get HDMI state machine clock\n"); return PTR_ERR(vc4_hdmi->hsm_clock); } + vc4_hdmi->audio_clock = vc4_hdmi->hsm_clock; vc4_hdmi->cec_clock = vc4_hdmi->hsm_clock; + vc4_hdmi->hsm_rpm_clock = devm_clk_get(dev, "hdmi"); + if (IS_ERR(vc4_hdmi->hsm_rpm_clock)) { + DRM_ERROR("Failed to get HDMI state machine clock\n"); + return PTR_ERR(vc4_hdmi->hsm_rpm_clock); + } + return 0; } @@ -2704,6 +2752,7 @@ struct platform_device *pdev = vc4_hdmi->pdev; struct device *dev = &pdev->dev; struct resource *res; + int ret; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "hdmi"); if (!res) @@ -2776,6 +2825,12 @@ return PTR_ERR(vc4_hdmi->hsm_clock); } + vc4_hdmi->hsm_rpm_clock = devm_clk_get(dev, "hdmi"); + if (IS_ERR(vc4_hdmi->hsm_rpm_clock)) { + DRM_ERROR("Failed to get HDMI state machine clock\n"); + return PTR_ERR(vc4_hdmi->hsm_rpm_clock); + } + vc4_hdmi->pixel_bvb_clock = devm_clk_get(dev, "bvb"); if (IS_ERR(vc4_hdmi->pixel_bvb_clock)) { DRM_ERROR("Failed to get pixel bvb clock\n"); @@ -2800,14 +2855,46 @@ return PTR_ERR(vc4_hdmi->reset); } + ret = vc4_hdmi_build_regset(vc4_hdmi, &vc4_hdmi->hdmi_regset, VC4_HDMI); + if (ret) + return ret; + + ret = vc4_hdmi_build_regset(vc4_hdmi, &vc4_hdmi->hd_regset, VC4_HD); + if (ret) + return ret; + + ret = vc4_hdmi_build_regset(vc4_hdmi, &vc4_hdmi->cec_regset, VC5_CEC); + if (ret) + return ret; + + ret = vc4_hdmi_build_regset(vc4_hdmi, &vc4_hdmi->csc_regset, VC5_CSC); + if (ret) + return ret; + + ret = vc4_hdmi_build_regset(vc4_hdmi, &vc4_hdmi->dvp_regset, VC5_DVP); + if (ret) + return ret; + + ret = vc4_hdmi_build_regset(vc4_hdmi, &vc4_hdmi->phy_regset, VC5_PHY); + if (ret) + return ret; + + ret = vc4_hdmi_build_regset(vc4_hdmi, &vc4_hdmi->ram_regset, VC5_RAM); + if (ret) + return ret; + + ret = vc4_hdmi_build_regset(vc4_hdmi, &vc4_hdmi->rm_regset, VC5_RM); + if (ret) + return ret; + return 0; } -static int __maybe_unused vc4_hdmi_runtime_suspend(struct device *dev) +static int vc4_hdmi_runtime_suspend(struct device *dev) { struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev); - clk_disable_unprepare(vc4_hdmi->hsm_clock); + clk_disable_unprepare(vc4_hdmi->hsm_rpm_clock); return 0; } @@ -2815,13 +2902,64 @@ static int vc4_hdmi_runtime_resume(struct device *dev) { struct vc4_hdmi *vc4_hdmi = dev_get_drvdata(dev); + unsigned long __maybe_unused flags; + u32 __maybe_unused value; + unsigned long rate; int ret; - ret = clk_prepare_enable(vc4_hdmi->hsm_clock); + /* + * The HSM clock is in the HDMI power domain, so we need to set + * its frequency while the power domain is active so that it + * keeps its rate. + */ + ret = clk_set_min_rate(vc4_hdmi->hsm_rpm_clock, HSM_MIN_CLOCK_FREQ); if (ret) return ret; + ret = clk_prepare_enable(vc4_hdmi->hsm_rpm_clock); + if (ret) + return ret; + + /* + * Whenever the RaspberryPi boots without an HDMI monitor + * plugged in, the firmware won't have initialized the HSM clock + * rate and it will be reported as 0. + * + * If we try to access a register of the controller in such a + * case, it will lead to a silent CPU stall. Let's make sure we + * prevent such a case. + */ + rate = clk_get_rate(vc4_hdmi->hsm_rpm_clock); + if (!rate) { + ret = -EINVAL; + goto err_disable_clk; + } + + if (vc4_hdmi->variant->reset) + vc4_hdmi->variant->reset(vc4_hdmi); + +#ifdef CONFIG_DRM_VC4_HDMI_CEC + spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + value = HDMI_READ(HDMI_CEC_CNTRL_1); + /* Set the logical address to Unregistered */ + value |= VC4_HDMI_CEC_ADDR_MASK; + HDMI_WRITE(HDMI_CEC_CNTRL_1, value); + spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + + vc4_hdmi_cec_update_clk_div(vc4_hdmi); + + if (!vc4_hdmi->variant->external_irq_controller) { + spin_lock_irqsave(&vc4_hdmi->hw_lock, flags); + HDMI_WRITE(HDMI_CEC_CPU_MASK_SET, 0xffffffff); + spin_unlock_irqrestore(&vc4_hdmi->hw_lock, flags); + } +#endif + return 0; + +err_disable_clk: + clk_disable_unprepare(vc4_hdmi->hsm_clock); + return ret; } static int vc4_hdmi_bind(struct device *dev, struct device *master, void *data) @@ -2898,20 +3036,15 @@ vc4_hdmi->disable_4kp60 = true; } + pm_runtime_enable(dev); + /* - * We need to have the device powered up at this point to call - * our reset hook and for the CEC init. + * We need to have the device powered up at this point to call + * our reset hook and for the CEC init. */ - ret = vc4_hdmi_runtime_resume(dev); + ret = pm_runtime_resume_and_get(dev); if (ret) - goto err_put_ddc; - - pm_runtime_get_noresume(dev); - pm_runtime_set_active(dev); - pm_runtime_enable(dev); - - if (vc4_hdmi->variant->reset) - vc4_hdmi->variant->reset(vc4_hdmi); + goto err_disable_runtime_pm; if ((of_device_is_compatible(dev->of_node, "brcm,bcm2711-hdmi0") || of_device_is_compatible(dev->of_node, "brcm,bcm2711-hdmi1")) && @@ -2957,6 +3090,7 @@ err_destroy_encoder: drm_encoder_cleanup(encoder); pm_runtime_put_sync(dev); +err_disable_runtime_pm: pm_runtime_disable(dev); err_put_ddc: put_device(&vc4_hdmi->ddc->dev); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vc4/vc4_hdmi.h +++ linux-gcp-5.19.0/drivers/gpu/drm/vc4/vc4_hdmi.h @@ -171,6 +171,7 @@ struct clk *cec_clock; struct clk *pixel_clock; struct clk *hsm_clock; + struct clk *hsm_rpm_clock; struct clk *audio_clock; struct clk *pixel_bvb_clock; @@ -179,6 +180,14 @@ struct debugfs_regset32 hdmi_regset; struct debugfs_regset32 hd_regset; + /* VC5 only */ + struct debugfs_regset32 cec_regset; + struct debugfs_regset32 csc_regset; + struct debugfs_regset32 dvp_regset; + struct debugfs_regset32 phy_regset; + struct debugfs_regset32 ram_regset; + struct debugfs_regset32 rm_regset; + /** * @hw_lock: Spinlock protecting device register access. */ --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vc4/vc4_hdmi_regs.h +++ linux-gcp-5.19.0/drivers/gpu/drm/vc4/vc4_hdmi_regs.h @@ -127,6 +127,7 @@ HDMI_VERTB0, HDMI_VERTB1, HDMI_VID_CTL, + HDMI_MISC_CONTROL, }; struct vc4_hdmi_register { @@ -237,6 +238,7 @@ VC4_HDMI_REG(HDMI_VERTB0, 0x0f0), VC4_HDMI_REG(HDMI_VERTA1, 0x0f4), VC4_HDMI_REG(HDMI_VERTB1, 0x0f8), + VC4_HDMI_REG(HDMI_MISC_CONTROL, 0x100), VC4_HDMI_REG(HDMI_MAI_CHANNEL_MAP, 0x09c), VC4_HDMI_REG(HDMI_MAI_CONFIG, 0x0a0), VC4_HDMI_REG(HDMI_DEEP_COLOR_CONFIG_1, 0x170), @@ -319,6 +321,7 @@ VC4_HDMI_REG(HDMI_VERTB0, 0x0f0), VC4_HDMI_REG(HDMI_VERTA1, 0x0f4), VC4_HDMI_REG(HDMI_VERTB1, 0x0f8), + VC4_HDMI_REG(HDMI_MISC_CONTROL, 0x100), VC4_HDMI_REG(HDMI_MAI_CHANNEL_MAP, 0x09c), VC4_HDMI_REG(HDMI_MAI_CONFIG, 0x0a0), VC4_HDMI_REG(HDMI_DEEP_COLOR_CONFIG_1, 0x170), @@ -420,7 +423,7 @@ const struct vc4_hdmi_variant *variant = hdmi->variant; void __iomem *base; - WARN_ON(!pm_runtime_active(&hdmi->pdev->dev)); + WARN_ON(pm_runtime_status_suspended(&hdmi->pdev->dev)); if (reg >= variant->num_registers) { dev_warn(&hdmi->pdev->dev, @@ -450,7 +453,7 @@ lockdep_assert_held(&hdmi->hw_lock); - WARN_ON(!pm_runtime_active(&hdmi->pdev->dev)); + WARN_ON(pm_runtime_status_suspended(&hdmi->pdev->dev)); if (reg >= variant->num_registers) { dev_warn(&hdmi->pdev->dev, --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vc4/vc4_hvs.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vc4/vc4_hvs.c @@ -292,28 +292,30 @@ * mode. */ dispctrl = SCALER_DISPCTRLX_ENABLE; + dispbkgndx = HVS_READ(SCALER_DISPBKGNDX(chan)); - if (!vc4->is_vc5) + if (!vc4->is_vc5) { dispctrl |= VC4_SET_FIELD(mode->hdisplay, SCALER_DISPCTRLX_WIDTH) | VC4_SET_FIELD(mode->vdisplay, SCALER_DISPCTRLX_HEIGHT) | (oneshot ? SCALER_DISPCTRLX_ONESHOT : 0); - else + dispbkgndx |= SCALER_DISPBKGND_AUTOHS; + } else { dispctrl |= VC4_SET_FIELD(mode->hdisplay, SCALER5_DISPCTRLX_WIDTH) | VC4_SET_FIELD(mode->vdisplay, SCALER5_DISPCTRLX_HEIGHT) | (oneshot ? SCALER5_DISPCTRLX_ONESHOT : 0); + dispbkgndx &= ~SCALER5_DISPBKGND_BCK2BCK; + } HVS_WRITE(SCALER_DISPCTRLX(chan), dispctrl); - dispbkgndx = HVS_READ(SCALER_DISPBKGNDX(chan)); dispbkgndx &= ~SCALER_DISPBKGND_GAMMA; dispbkgndx &= ~SCALER_DISPBKGND_INTERLACE; HVS_WRITE(SCALER_DISPBKGNDX(chan), dispbkgndx | - SCALER_DISPBKGND_AUTOHS | ((!vc4->is_vc5) ? SCALER_DISPBKGND_GAMMA : 0) | (interlace ? SCALER_DISPBKGND_INTERLACE : 0)); @@ -724,6 +726,17 @@ SCALER_DISPCTRL_DSPEISLUR(2) | SCALER_DISPCTRL_SCLEIRQ); + /* Set AXI panic mode. + * VC4 panics when < 2 lines in FIFO. + * VC5 panics when less than 1 line in the FIFO. + */ + dispctrl &= ~(SCALER_DISPCTRL_PANIC0_MASK | + SCALER_DISPCTRL_PANIC1_MASK | + SCALER_DISPCTRL_PANIC2_MASK); + dispctrl |= VC4_SET_FIELD(2, SCALER_DISPCTRL_PANIC0); + dispctrl |= VC4_SET_FIELD(2, SCALER_DISPCTRL_PANIC1); + dispctrl |= VC4_SET_FIELD(2, SCALER_DISPCTRL_PANIC2); + HVS_WRITE(SCALER_DISPCTRL, dispctrl); ret = devm_request_irq(dev, platform_get_irq(pdev, 0), --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vc4/vc4_kms.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vc4/vc4_kms.c @@ -197,8 +197,8 @@ struct drm_private_state *priv_state; priv_state = drm_atomic_get_new_private_obj_state(state, &vc4->hvs_channels); - if (IS_ERR(priv_state)) - return ERR_CAST(priv_state); + if (!priv_state) + return ERR_PTR(-EINVAL); return to_vc4_hvs_state(priv_state); } @@ -210,8 +210,8 @@ struct drm_private_state *priv_state; priv_state = drm_atomic_get_old_private_obj_state(state, &vc4->hvs_channels); - if (IS_ERR(priv_state)) - return ERR_CAST(priv_state); + if (!priv_state) + return ERR_PTR(-EINVAL); return to_vc4_hvs_state(priv_state); } @@ -950,7 +950,9 @@ continue; num_outputs++; - cob_rate += hvs_new_state->fifo_state[i].fifo_load; + cob_rate = max_t(unsigned long, + hvs_new_state->fifo_state[i].fifo_load, + cob_rate); } pixel_rate = load_state->hvs_load; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vc4/vc4_plane.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vc4/vc4_plane.c @@ -73,11 +73,13 @@ .drm = DRM_FORMAT_ARGB1555, .hvs = HVS_PIXEL_FORMAT_RGBA5551, .pixel_order = HVS_PIXEL_ORDER_ABGR, + .pixel_order_hvs5 = HVS_PIXEL_ORDER_ARGB, }, { .drm = DRM_FORMAT_XRGB1555, .hvs = HVS_PIXEL_FORMAT_RGBA5551, .pixel_order = HVS_PIXEL_ORDER_ABGR, + .pixel_order_hvs5 = HVS_PIXEL_ORDER_ARGB, }, { .drm = DRM_FORMAT_RGB888, @@ -310,16 +312,16 @@ adjhdisplay, crtc_state->mode.hdisplay); vc4_pstate->crtc_x += left; - if (vc4_pstate->crtc_x > crtc_state->mode.hdisplay - left) - vc4_pstate->crtc_x = crtc_state->mode.hdisplay - left; + if (vc4_pstate->crtc_x > crtc_state->mode.hdisplay - right) + vc4_pstate->crtc_x = crtc_state->mode.hdisplay - right; adjvdisplay = crtc_state->mode.vdisplay - (top + bottom); vc4_pstate->crtc_y = DIV_ROUND_CLOSEST(vc4_pstate->crtc_y * adjvdisplay, crtc_state->mode.vdisplay); vc4_pstate->crtc_y += top; - if (vc4_pstate->crtc_y > crtc_state->mode.vdisplay - top) - vc4_pstate->crtc_y = crtc_state->mode.vdisplay - top; + if (vc4_pstate->crtc_y > crtc_state->mode.vdisplay - bottom) + vc4_pstate->crtc_y = crtc_state->mode.vdisplay - bottom; vc4_pstate->crtc_w = DIV_ROUND_CLOSEST(vc4_pstate->crtc_w * adjhdisplay, @@ -339,7 +341,6 @@ struct vc4_plane_state *vc4_state = to_vc4_plane_state(state); struct drm_framebuffer *fb = state->fb; struct drm_gem_cma_object *bo = drm_fb_cma_get_gem_obj(fb, 0); - u32 subpixel_src_mask = (1 << 16) - 1; int num_planes = fb->format->num_planes; struct drm_crtc_state *crtc_state; u32 h_subsample = fb->format->hsub; @@ -361,18 +362,15 @@ for (i = 0; i < num_planes; i++) vc4_state->offsets[i] = bo->paddr + fb->offsets[i]; - /* We don't support subpixel source positioning for scaling. */ - if ((state->src.x1 & subpixel_src_mask) || - (state->src.x2 & subpixel_src_mask) || - (state->src.y1 & subpixel_src_mask) || - (state->src.y2 & subpixel_src_mask)) { - return -EINVAL; - } - - vc4_state->src_x = state->src.x1 >> 16; - vc4_state->src_y = state->src.y1 >> 16; - vc4_state->src_w[0] = (state->src.x2 - state->src.x1) >> 16; - vc4_state->src_h[0] = (state->src.y2 - state->src.y1) >> 16; + /* + * We don't support subpixel source positioning for scaling, + * but fractional coordinates can be generated by clipping + * so just round for now + */ + vc4_state->src_x = DIV_ROUND_CLOSEST(state->src.x1, 1 << 16); + vc4_state->src_y = DIV_ROUND_CLOSEST(state->src.y1, 1 << 16); + vc4_state->src_w[0] = DIV_ROUND_CLOSEST(state->src.x2, 1 << 16) - vc4_state->src_x; + vc4_state->src_h[0] = DIV_ROUND_CLOSEST(state->src.y2, 1 << 16) - vc4_state->src_y; vc4_state->crtc_x = state->dst.x1; vc4_state->crtc_y = state->dst.y1; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vc4/vc4_regs.h +++ linux-gcp-5.19.0/drivers/gpu/drm/vc4/vc4_regs.h @@ -220,6 +220,12 @@ #define SCALER_DISPCTRL 0x00000000 /* Global register for clock gating the HVS */ # define SCALER_DISPCTRL_ENABLE BIT(31) +# define SCALER_DISPCTRL_PANIC0_MASK VC4_MASK(25, 24) +# define SCALER_DISPCTRL_PANIC0_SHIFT 24 +# define SCALER_DISPCTRL_PANIC1_MASK VC4_MASK(27, 26) +# define SCALER_DISPCTRL_PANIC1_SHIFT 26 +# define SCALER_DISPCTRL_PANIC2_MASK VC4_MASK(29, 28) +# define SCALER_DISPCTRL_PANIC2_SHIFT 28 # define SCALER_DISPCTRL_DSP3_MUX_MASK VC4_MASK(19, 18) # define SCALER_DISPCTRL_DSP3_MUX_SHIFT 18 @@ -360,6 +366,7 @@ #define SCALER_DISPBKGND0 0x00000044 # define SCALER_DISPBKGND_AUTOHS BIT(31) +# define SCALER5_DISPBKGND_BCK2BCK BIT(31) # define SCALER_DISPBKGND_INTERLACE BIT(30) # define SCALER_DISPBKGND_GAMMA BIT(29) # define SCALER_DISPBKGND_TESTMODE_MASK VC4_MASK(28, 25) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vc4/vc4_vec.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vc4/vc4_vec.c @@ -256,7 +256,7 @@ static const struct drm_display_mode ntsc_mode = { DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 13500, 720, 720 + 14, 720 + 14 + 64, 720 + 14 + 64 + 60, 0, - 480, 480 + 3, 480 + 3 + 3, 480 + 3 + 3 + 16, 0, + 480, 480 + 7, 480 + 7 + 6, 525, 0, DRM_MODE_FLAG_INTERLACE) }; @@ -278,7 +278,7 @@ static const struct drm_display_mode pal_mode = { DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 13500, 720, 720 + 20, 720 + 20 + 64, 720 + 20 + 64 + 60, 0, - 576, 576 + 2, 576 + 2 + 3, 576 + 2 + 3 + 20, 0, + 576, 576 + 4, 576 + 4 + 6, 625, 0, DRM_MODE_FLAG_INTERLACE) }; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/virtio/virtgpu_display.c +++ linux-gcp-5.19.0/drivers/gpu/drm/virtio/virtgpu_display.c @@ -348,6 +348,8 @@ vgdev->ddev->mode_config.max_width = XRES_MAX; vgdev->ddev->mode_config.max_height = YRES_MAX; + vgdev->ddev->mode_config.fb_modifiers_not_supported = true; + for (i = 0 ; i < vgdev->num_scanouts; ++i) vgdev_output_init(vgdev, i); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/virtio/virtgpu_gem.c +++ linux-gcp-5.19.0/drivers/gpu/drm/virtio/virtgpu_gem.c @@ -228,8 +228,10 @@ for (i = 0; i < objs->nents; ++i) { ret = dma_resv_reserve_fences(objs->objs[i]->resv, 1); - if (ret) + if (ret) { + virtio_gpu_array_unlock_resv(objs); return ret; + } } return ret; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/virtio/virtgpu_ioctl.c +++ linux-gcp-5.19.0/drivers/gpu/drm/virtio/virtgpu_ioctl.c @@ -47,7 +47,7 @@ struct virtio_gpu_fence_event *e = NULL; int ret; - if (!(vfpriv->ring_idx_mask & (1 << ring_idx))) + if (!(vfpriv->ring_idx_mask & BIT_ULL(ring_idx))) return 0; e = kzalloc(sizeof(*e), GFP_KERNEL); @@ -126,7 +126,6 @@ void __user *user_bo_handles = NULL; struct virtio_gpu_object_array *buflist = NULL; struct sync_file *sync_file; - int in_fence_fd = exbuf->fence_fd; int out_fence_fd = -1; void *buf; uint64_t fence_ctx; @@ -152,13 +151,11 @@ ring_idx = exbuf->ring_idx; } - exbuf->fence_fd = -1; - virtio_gpu_create_context(dev, file); if (exbuf->flags & VIRTGPU_EXECBUF_FENCE_FD_IN) { struct dma_fence *in_fence; - in_fence = sync_file_get_fence(in_fence_fd); + in_fence = sync_file_get_fence(exbuf->fence_fd); if (!in_fence) return -EINVAL; @@ -168,7 +165,7 @@ * array contains any fence from a foreign context. */ ret = 0; - if (!dma_fence_match_context(in_fence, vgdev->fence_drv.context)) + if (!dma_fence_match_context(in_fence, fence_ctx + ring_idx)) ret = dma_fence_wait(in_fence, true); dma_fence_put(in_fence); @@ -358,10 +355,18 @@ drm_gem_object_release(obj); return ret; } - drm_gem_object_put(obj); rc->res_handle = qobj->hw_res_handle; /* similiar to a VM address */ rc->bo_handle = handle; + + /* + * The handle owns the reference now. But we must drop our + * remaining reference *after* we no longer need to dereference + * the obj. Otherwise userspace could guess the handle and + * race closing it from another thread. + */ + drm_gem_object_put(obj); + return 0; } @@ -580,8 +585,10 @@ spin_unlock(&vgdev->display_info_lock); /* not in cache - need to talk to hw */ - virtio_gpu_cmd_get_capset(vgdev, found_valid, args->cap_set_ver, - &cache_ent); + ret = virtio_gpu_cmd_get_capset(vgdev, found_valid, args->cap_set_ver, + &cache_ent); + if (ret) + return ret; virtio_gpu_notify(vgdev); copy_exit: @@ -721,11 +728,18 @@ drm_gem_object_release(obj); return ret; } - drm_gem_object_put(obj); rc_blob->res_handle = bo->hw_res_handle; rc_blob->bo_handle = handle; + /* + * The handle owns the reference now. But we must drop our + * remaining reference *after* we no longer need to dereference + * the obj. Otherwise userspace could guess the handle and + * race closing it from another thread. + */ + drm_gem_object_put(obj); + return 0; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/virtio/virtgpu_object.c +++ linux-gcp-5.19.0/drivers/gpu/drm/virtio/virtgpu_object.c @@ -168,9 +168,10 @@ * since virtio_gpu doesn't support dma-buf import from other devices. */ shmem->pages = drm_gem_shmem_get_sg_table(&bo->base); - if (!shmem->pages) { + if (IS_ERR(shmem->pages)) { drm_gem_shmem_unpin(&bo->base); - return -EINVAL; + shmem->pages = NULL; + return PTR_ERR(shmem->pages); } if (use_dma_api) { @@ -248,6 +249,8 @@ ret = virtio_gpu_object_shmem_init(vgdev, bo, &ents, &nents); if (ret != 0) { + if (fence) + virtio_gpu_array_unlock_resv(objs); virtio_gpu_array_put_free(objs); virtio_gpu_free_object(&shmem_obj->base); return ret; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/virtio/virtgpu_plane.c +++ linux-gcp-5.19.0/drivers/gpu/drm/virtio/virtgpu_plane.c @@ -266,14 +266,14 @@ } static void virtio_gpu_plane_cleanup_fb(struct drm_plane *plane, - struct drm_plane_state *old_state) + struct drm_plane_state *state) { struct virtio_gpu_framebuffer *vgfb; - if (!plane->state->fb) + if (!state->fb) return; - vgfb = to_virtio_gpu_framebuffer(plane->state->fb); + vgfb = to_virtio_gpu_framebuffer(state->fb); if (vgfb->fence) { dma_fence_put(&vgfb->fence->f); vgfb->fence = NULL; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/virtio/virtgpu_vq.c +++ linux-gcp-5.19.0/drivers/gpu/drm/virtio/virtgpu_vq.c @@ -595,7 +595,7 @@ bool use_dma_api = !virtio_has_dma_quirk(vgdev->vdev); struct virtio_gpu_object_shmem *shmem = to_virtio_gpu_shmem(bo); - if (use_dma_api) + if (virtio_gpu_is_shmem(bo) && use_dma_api) dma_sync_sgtable_for_device(vgdev->vdev->dev.parent, shmem->pages, DMA_TO_DEVICE); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vkms/vkms_composer.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vkms/vkms_composer.c @@ -157,7 +157,7 @@ void *vaddr; void (*pixel_blend)(const u8 *p_src, u8 *p_dst); - if (WARN_ON(iosys_map_is_null(&primary_composer->map[0]))) + if (WARN_ON(iosys_map_is_null(&plane_composer->map[0]))) return; vaddr = plane_composer->map[0].vaddr; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vkms/vkms_drv.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vkms/vkms_drv.c @@ -57,7 +57,8 @@ { struct vkms_device *vkms = drm_device_to_vkms_device(dev); - destroy_workqueue(vkms->output.composer_workq); + if (vkms->output.composer_workq) + destroy_workqueue(vkms->output.composer_workq); } static void vkms_atomic_commit_tail(struct drm_atomic_state *old_state) @@ -218,6 +219,7 @@ static int __init vkms_init(void) { + int ret; struct vkms_config *config; config = kmalloc(sizeof(*config), GFP_KERNEL); @@ -230,7 +232,11 @@ config->writeback = enable_writeback; config->overlay = enable_overlay; - return vkms_create(config); + ret = vkms_create(config); + if (ret) + kfree(config); + + return ret; } static void vkms_destroy(struct vkms_config *config) --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vmwgfx/vmwgfx_bo.c @@ -454,6 +454,9 @@ return -ENOMEM; } + /* + * vmw_bo_init will delete the *p_bo object if it fails + */ ret = vmw_bo_init(vmw, *p_bo, size, placement, interruptible, pin, bo_free); @@ -462,7 +465,6 @@ return ret; out_error: - kfree(*p_bo); *p_bo = NULL; return ret; } @@ -590,6 +592,7 @@ ttm_bo_put(&vmw_bo->base); } + drm_gem_object_put(&vmw_bo->base.base); return ret; } @@ -630,6 +633,7 @@ ret = vmw_user_bo_synccpu_grab(vbo, arg->flags); vmw_bo_unreference(&vbo); + drm_gem_object_put(&vbo->base.base); if (unlikely(ret != 0)) { if (ret == -ERESTARTSYS || ret == -EBUSY) return -EBUSY; @@ -687,7 +691,7 @@ * struct vmw_buffer_object should be placed. * Return: Zero on success, Negative error code on error. * - * The vmw buffer object pointer will be refcounted. + * The vmw buffer object pointer will be refcounted (both ttm and gem) */ int vmw_user_bo_lookup(struct drm_file *filp, uint32_t handle, @@ -704,7 +708,6 @@ *out = gem_to_vmw_bo(gobj); ttm_bo_get(&(*out)->base); - drm_gem_object_put(gobj); return 0; } @@ -809,7 +812,8 @@ ret = vmw_gem_object_create_with_handle(dev_priv, file_priv, args->size, &args->handle, &vbo); - + /* drop reference from allocate - handle holds it now */ + drm_gem_object_put(&vbo->base.base); return ret; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c @@ -1178,6 +1178,7 @@ } ret = vmw_validation_add_bo(sw_context->ctx, vmw_bo, true, false); ttm_bo_put(&vmw_bo->base); + drm_gem_object_put(&vmw_bo->base.base); if (unlikely(ret != 0)) return ret; @@ -1232,6 +1233,7 @@ } ret = vmw_validation_add_bo(sw_context->ctx, vmw_bo, false, false); ttm_bo_put(&vmw_bo->base); + drm_gem_object_put(&vmw_bo->base.base); if (unlikely(ret != 0)) return ret; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_gem.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vmwgfx/vmwgfx_gem.c @@ -146,14 +146,12 @@ &vmw_sys_placement : &vmw_vram_sys_placement, true, false, &vmw_gem_destroy, p_vbo); - - (*p_vbo)->base.base.funcs = &vmw_gem_object_funcs; if (ret != 0) goto out_no_bo; + (*p_vbo)->base.base.funcs = &vmw_gem_object_funcs; + ret = drm_gem_handle_create(filp, &(*p_vbo)->base.base, handle); - /* drop reference from allocate - handle holds it now */ - drm_gem_object_put(&(*p_vbo)->base.base); out_no_bo: return ret; } @@ -180,6 +178,8 @@ rep->map_handle = drm_vma_node_offset_addr(&vbo->base.base.vma_node); rep->cur_gmr_id = handle; rep->cur_gmr_offset = 0; + /* drop reference from allocate - handle holds it now */ + drm_gem_object_put(&vbo->base.base); out_no_bo: return ret; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c @@ -309,7 +309,8 @@ if (cmd->dma.guest.ptr.offset % PAGE_SIZE || box->x != 0 || box->y != 0 || box->z != 0 || box->srcx != 0 || box->srcy != 0 || box->srcz != 0 || - box->d != 1 || box_count != 1) { + box->d != 1 || box_count != 1 || + box->w > 64 || box->h > 64) { /* TODO handle none page aligned offsets */ /* TODO handle more dst & src != 0 */ /* TODO handle more then one copy */ @@ -1669,8 +1670,10 @@ err_out: /* vmw_user_lookup_handle takes one ref so does new_fb */ - if (bo) + if (bo) { vmw_bo_unreference(&bo); + drm_gem_object_put(&bo->base.base); + } if (surface) vmw_surface_unreference(&surface); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_msg.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vmwgfx/vmwgfx_msg.c @@ -1076,6 +1076,7 @@ if (desc_len < 0) { atomic_set(&dev_priv->mksstat_user_pids[slot], 0); + __free_page(page); return -EFAULT; } @@ -1084,21 +1085,21 @@ reset_ppn_array(pdesc->strsPPNs, ARRAY_SIZE(pdesc->strsPPNs)); /* Pin mksGuestStat user pages and store those in the instance descriptor */ - nr_pinned_stat = pin_user_pages(arg->stat, num_pages_stat, FOLL_LONGTERM, pages_stat, NULL); + nr_pinned_stat = pin_user_pages_fast(arg->stat, num_pages_stat, FOLL_LONGTERM, pages_stat); if (num_pages_stat != nr_pinned_stat) goto err_pin_stat; for (i = 0; i < num_pages_stat; ++i) pdesc->statPPNs[i] = page_to_pfn(pages_stat[i]); - nr_pinned_info = pin_user_pages(arg->info, num_pages_info, FOLL_LONGTERM, pages_info, NULL); + nr_pinned_info = pin_user_pages_fast(arg->info, num_pages_info, FOLL_LONGTERM, pages_info); if (num_pages_info != nr_pinned_info) goto err_pin_info; for (i = 0; i < num_pages_info; ++i) pdesc->infoPPNs[i] = page_to_pfn(pages_info[i]); - nr_pinned_strs = pin_user_pages(arg->strs, num_pages_strs, FOLL_LONGTERM, pages_strs, NULL); + nr_pinned_strs = pin_user_pages_fast(arg->strs, num_pages_strs, FOLL_LONGTERM, pages_strs); if (num_pages_strs != nr_pinned_strs) goto err_pin_strs; --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_overlay.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vmwgfx/vmwgfx_overlay.c @@ -458,6 +458,7 @@ ret = vmw_overlay_update_stream(dev_priv, buf, arg, true); vmw_bo_unreference(&buf); + drm_gem_object_put(&buf->base.base); out_unlock: mutex_unlock(&overlay->mutex); --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vmwgfx/vmwgfx_scrn.c @@ -950,6 +950,10 @@ struct drm_device *dev = &dev_priv->drm; int i, ret; + /* Screen objects won't work if GMR's aren't available */ + if (!dev_priv->has_gmr) + return -ENOSYS; + if (!(dev_priv->capabilities & SVGA_CAP_SCREEN_OBJECT_2)) { return -ENOSYS; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_shader.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vmwgfx/vmwgfx_shader.c @@ -807,6 +807,7 @@ num_output_sig, tfile, shader_handle); out_bad_arg: vmw_bo_unreference(&buffer); + drm_gem_object_put(&buffer->base.base); return ret; } --- linux-gcp-5.19.0.orig/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c +++ linux-gcp-5.19.0/drivers/gpu/drm/vmwgfx/vmwgfx_surface.c @@ -683,7 +683,7 @@ container_of(base, struct vmw_user_surface, prime.base); struct vmw_resource *res = &user_srf->srf.res; - if (base->shareable && res && res->backup) + if (res && res->backup) drm_gem_object_put(&res->backup->base.base); *p_base = NULL; @@ -860,7 +860,11 @@ goto out_unlock; } vmw_bo_reference(res->backup); - drm_gem_object_get(&res->backup->base.base); + /* + * We don't expose the handle to the userspace and surface + * already holds a gem reference + */ + drm_gem_handle_delete(file_priv, backup_handle); } tmp = vmw_resource_reference(&srf->res); @@ -1564,8 +1568,6 @@ drm_vma_node_offset_addr(&res->backup->base.base.vma_node); rep->buffer_size = res->backup->base.base.size; rep->buffer_handle = backup_handle; - if (user_srf->prime.base.shareable) - drm_gem_object_get(&res->backup->base.base); } else { rep->buffer_map_handle = 0; rep->buffer_size = 0; --- linux-gcp-5.19.0.orig/drivers/gpu/host1x/dev.c +++ linux-gcp-5.19.0/drivers/gpu/host1x/dev.c @@ -229,6 +229,10 @@ static bool host1x_wants_iommu(struct host1x *host1x) { + /* Our IOMMU usage policy doesn't currently play well with GART */ + if (of_machine_is_compatible("nvidia,tegra20")) + return false; + /* * If we support addressing a maximum of 32 bits of physical memory * and if the host1x firewall is enabled, there's no need to enable --- linux-gcp-5.19.0.orig/drivers/gpu/host1x/hw/syncpt_hw.c +++ linux-gcp-5.19.0/drivers/gpu/host1x/hw/syncpt_hw.c @@ -106,9 +106,6 @@ #if HOST1X_HW >= 6 struct host1x *host = sp->host; - if (!host->hv_regs) - return; - host1x_sync_writel(host, HOST1X_SYNC_SYNCPT_CH_APP_CH(ch ? ch->id : 0xff), HOST1X_SYNC_SYNCPT_CH_APP(sp->id)); --- linux-gcp-5.19.0.orig/drivers/gpu/ipu-v3/ipu-common.c +++ linux-gcp-5.19.0/drivers/gpu/ipu-v3/ipu-common.c @@ -1165,6 +1165,7 @@ pdev = platform_device_alloc(reg->name, id++); if (!pdev) { ret = -ENOMEM; + of_node_put(of_node); goto err_register; } --- linux-gcp-5.19.0.orig/drivers/hid/Kconfig +++ linux-gcp-5.19.0/drivers/hid/Kconfig @@ -1141,6 +1141,12 @@ Say Y if you have a TopSeed Cyberlink or BTC Emprex or Conceptronic CLLRCMCE remote control. +config HID_TOPRE + tristate "Topre REALFORCE keyboards" + depends on HID + help + Say Y for N-key rollover support on Topre REALFORCE R2 108 key keyboards. + config HID_THINGM tristate "ThingM blink(1) USB RGB LED" depends on HID --- linux-gcp-5.19.0.orig/drivers/hid/Makefile +++ linux-gcp-5.19.0/drivers/hid/Makefile @@ -123,6 +123,7 @@ obj-$(CONFIG_HID_THRUSTMASTER) += hid-tmff.o hid-thrustmaster.o obj-$(CONFIG_HID_TIVO) += hid-tivo.o obj-$(CONFIG_HID_TOPSEED) += hid-topseed.o +obj-$(CONFIG_HID_TOPRE) += hid-topre.o obj-$(CONFIG_HID_TWINHAN) += hid-twinhan.o obj-$(CONFIG_HID_U2FZERO) += hid-u2fzero.o hid-uclogic-objs := hid-uclogic-core.o \ --- linux-gcp-5.19.0.orig/drivers/hid/amd-sfh-hid/amd_sfh_client.c +++ linux-gcp-5.19.0/drivers/hid/amd-sfh-hid/amd_sfh_client.c @@ -173,6 +173,8 @@ dev = &privdata->pdev->dev; cl_data->num_hid_devices = amd_mp2_get_sensor_num(privdata, &cl_data->sensor_idx[0]); + if (cl_data->num_hid_devices == 0) + return -ENODEV; INIT_DELAYED_WORK(&cl_data->work, amd_sfh_work); INIT_DELAYED_WORK(&cl_data->work_buffer, amd_sfh_work_buffer); @@ -183,6 +185,10 @@ in_data->sensor_virt_addr[i] = dma_alloc_coherent(dev, sizeof(int) * 8, &cl_data->sensor_dma_addr[i], GFP_KERNEL); + if (!in_data->sensor_virt_addr[i]) { + rc = -ENOMEM; + goto cleanup; + } cl_data->sensor_sts[i] = SENSOR_DISABLED; cl_data->sensor_requested_cnt[i] = 0; cl_data->cur_hid_dev = i; --- linux-gcp-5.19.0.orig/drivers/hid/amd-sfh-hid/amd_sfh_hid.c +++ linux-gcp-5.19.0/drivers/hid/amd-sfh-hid/amd_sfh_hid.c @@ -101,11 +101,15 @@ void amdtp_hid_wakeup(struct hid_device *hid) { - struct amdtp_hid_data *hid_data = hid->driver_data; - struct amdtp_cl_data *cli_data = hid_data->cli_data; + struct amdtp_hid_data *hid_data; + struct amdtp_cl_data *cli_data; - cli_data->request_done[cli_data->cur_hid_dev] = true; - wake_up_interruptible(&hid_data->hid_wait); + if (hid) { + hid_data = hid->driver_data; + cli_data = hid_data->cli_data; + cli_data->request_done[cli_data->cur_hid_dev] = true; + wake_up_interruptible(&hid_data->hid_wait); + } } static struct hid_ll_driver amdtp_hid_ll_driver = { --- linux-gcp-5.19.0.orig/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c +++ linux-gcp-5.19.0/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c @@ -285,11 +285,29 @@ return 0; } +static const struct dmi_system_id dmi_nodevs[] = { + { + /* + * Google Chromebooks use Chrome OS Embedded Controller Sensor + * Hub instead of Sensor Hub Fusion and leaves MP2 + * uninitialized, which disables all functionalities, even + * including the registers necessary for feature detections. + */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Google"), + }, + }, + { } +}; + static int amd_mp2_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) { struct amd_mp2_dev *privdata; int rc; + if (dmi_first_match(dmi_nodevs)) + return -ENODEV; + privdata = devm_kzalloc(&pdev->dev, sizeof(*privdata), GFP_KERNEL); if (!privdata) return -ENOMEM; @@ -327,7 +345,8 @@ rc = amd_sfh_hid_client_init(privdata); if (rc) { amd_sfh_clear_intr(privdata); - dev_err(&pdev->dev, "amd_sfh_hid_client_init failed\n"); + if (rc != -EOPNOTSUPP) + dev_err(&pdev->dev, "amd_sfh_hid_client_init failed\n"); return rc; } --- linux-gcp-5.19.0.orig/drivers/hid/hid-alps.c +++ linux-gcp-5.19.0/drivers/hid/hid-alps.c @@ -831,6 +831,8 @@ { HID_DEVICE(HID_BUS_ANY, HID_GROUP_ANY, USB_VENDOR_ID_ALPS_JP, HID_DEVICE_ID_ALPS_U1) }, { HID_DEVICE(HID_BUS_ANY, HID_GROUP_ANY, + USB_VENDOR_ID_ALPS_JP, HID_DEVICE_ID_ALPS_U1_UNICORN_LEGACY) }, + { HID_DEVICE(HID_BUS_ANY, HID_GROUP_ANY, USB_VENDOR_ID_ALPS_JP, HID_DEVICE_ID_ALPS_T4_BTNLESS) }, { } }; --- linux-gcp-5.19.0.orig/drivers/hid/hid-asus.c +++ linux-gcp-5.19.0/drivers/hid/hid-asus.c @@ -98,6 +98,7 @@ struct hid_device *hdev; struct work_struct work; unsigned int brightness; + spinlock_t lock; bool removed; }; @@ -492,21 +493,42 @@ return ret; } +static void asus_schedule_work(struct asus_kbd_leds *led) +{ + unsigned long flags; + + spin_lock_irqsave(&led->lock, flags); + if (!led->removed) + schedule_work(&led->work); + spin_unlock_irqrestore(&led->lock, flags); +} + static void asus_kbd_backlight_set(struct led_classdev *led_cdev, enum led_brightness brightness) { struct asus_kbd_leds *led = container_of(led_cdev, struct asus_kbd_leds, cdev); + unsigned long flags; + + spin_lock_irqsave(&led->lock, flags); led->brightness = brightness; - schedule_work(&led->work); + spin_unlock_irqrestore(&led->lock, flags); + + asus_schedule_work(led); } static enum led_brightness asus_kbd_backlight_get(struct led_classdev *led_cdev) { struct asus_kbd_leds *led = container_of(led_cdev, struct asus_kbd_leds, cdev); + enum led_brightness brightness; + unsigned long flags; - return led->brightness; + spin_lock_irqsave(&led->lock, flags); + brightness = led->brightness; + spin_unlock_irqrestore(&led->lock, flags); + + return brightness; } static void asus_kbd_backlight_work(struct work_struct *work) @@ -514,11 +536,11 @@ struct asus_kbd_leds *led = container_of(work, struct asus_kbd_leds, work); u8 buf[] = { FEATURE_KBD_REPORT_ID, 0xba, 0xc5, 0xc4, 0x00 }; int ret; + unsigned long flags; - if (led->removed) - return; - + spin_lock_irqsave(&led->lock, flags); buf[4] = led->brightness; + spin_unlock_irqrestore(&led->lock, flags); ret = asus_kbd_set_report(led->hdev, buf, sizeof(buf)); if (ret < 0) @@ -586,6 +608,7 @@ drvdata->kbd_backlight->cdev.brightness_set = asus_kbd_backlight_set; drvdata->kbd_backlight->cdev.brightness_get = asus_kbd_backlight_get; INIT_WORK(&drvdata->kbd_backlight->work, asus_kbd_backlight_work); + spin_lock_init(&drvdata->kbd_backlight->lock); ret = devm_led_classdev_register(&hdev->dev, &drvdata->kbd_backlight->cdev); if (ret < 0) { @@ -1121,9 +1144,13 @@ static void asus_remove(struct hid_device *hdev) { struct asus_drvdata *drvdata = hid_get_drvdata(hdev); + unsigned long flags; if (drvdata->kbd_backlight) { + spin_lock_irqsave(&drvdata->kbd_backlight->lock, flags); drvdata->kbd_backlight->removed = true; + spin_unlock_irqrestore(&drvdata->kbd_backlight->lock, flags); + cancel_work_sync(&drvdata->kbd_backlight->work); } @@ -1212,6 +1239,13 @@ rdesc = new_rdesc; } + if (drvdata->quirks & QUIRK_ROG_NKEY_KEYBOARD && + *rsize == 331 && rdesc[190] == 0x85 && rdesc[191] == 0x5a && + rdesc[204] == 0x95 && rdesc[205] == 0x05) { + hid_info(hdev, "Fixing up Asus N-KEY keyb report descriptor\n"); + rdesc[205] = 0x01; + } + return rdesc; } --- linux-gcp-5.19.0.orig/drivers/hid/hid-betopff.c +++ linux-gcp-5.19.0/drivers/hid/hid-betopff.c @@ -60,7 +60,6 @@ struct list_head *report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list; struct input_dev *dev; - int field_count = 0; int error; int i, j; @@ -86,19 +85,21 @@ * ----------------------------------------- * Do init them with default value. */ + if (report->maxfield < 4) { + hid_err(hid, "not enough fields in the report: %d\n", + report->maxfield); + return -ENODEV; + } for (i = 0; i < report->maxfield; i++) { + if (report->field[i]->report_count < 1) { + hid_err(hid, "no values in the field\n"); + return -ENODEV; + } for (j = 0; j < report->field[i]->report_count; j++) { report->field[i]->value[j] = 0x00; - field_count++; } } - if (field_count < 4) { - hid_err(hid, "not enough fields in the report: %d\n", - field_count); - return -ENODEV; - } - betopff = kzalloc(sizeof(*betopff), GFP_KERNEL); if (!betopff) return -ENOMEM; --- linux-gcp-5.19.0.orig/drivers/hid/hid-bigbenff.c +++ linux-gcp-5.19.0/drivers/hid/hid-bigbenff.c @@ -174,6 +174,7 @@ struct bigben_device { struct hid_device *hid; struct hid_report *report; + spinlock_t lock; bool removed; u8 led_state; /* LED1 = 1 .. LED4 = 8 */ u8 right_motor_on; /* right motor off/on 0/1 */ @@ -184,18 +185,39 @@ struct work_struct worker; }; +static inline void bigben_schedule_work(struct bigben_device *bigben) +{ + unsigned long flags; + + spin_lock_irqsave(&bigben->lock, flags); + if (!bigben->removed) + schedule_work(&bigben->worker); + spin_unlock_irqrestore(&bigben->lock, flags); +} static void bigben_worker(struct work_struct *work) { struct bigben_device *bigben = container_of(work, struct bigben_device, worker); struct hid_field *report_field = bigben->report->field[0]; + bool do_work_led = false; + bool do_work_ff = false; + u8 *buf; + u32 len; + unsigned long flags; - if (bigben->removed || !report_field) + buf = hid_alloc_report_buf(bigben->report, GFP_KERNEL); + if (!buf) return; + len = hid_report_len(bigben->report); + + /* LED work */ + spin_lock_irqsave(&bigben->lock, flags); + if (bigben->work_led) { bigben->work_led = false; + do_work_led = true; report_field->value[0] = 0x01; /* 1 = led message */ report_field->value[1] = 0x08; /* reserved value, always 8 */ report_field->value[2] = bigben->led_state; @@ -204,11 +226,22 @@ report_field->value[5] = 0x00; /* padding */ report_field->value[6] = 0x00; /* padding */ report_field->value[7] = 0x00; /* padding */ - hid_hw_request(bigben->hid, bigben->report, HID_REQ_SET_REPORT); + hid_output_report(bigben->report, buf); } + spin_unlock_irqrestore(&bigben->lock, flags); + + if (do_work_led) { + hid_hw_raw_request(bigben->hid, bigben->report->id, buf, len, + bigben->report->type, HID_REQ_SET_REPORT); + } + + /* FF work */ + spin_lock_irqsave(&bigben->lock, flags); + if (bigben->work_ff) { bigben->work_ff = false; + do_work_ff = true; report_field->value[0] = 0x02; /* 2 = rumble effect message */ report_field->value[1] = 0x08; /* reserved value, always 8 */ report_field->value[2] = bigben->right_motor_on; @@ -217,8 +250,17 @@ report_field->value[5] = 0x00; /* padding */ report_field->value[6] = 0x00; /* padding */ report_field->value[7] = 0x00; /* padding */ - hid_hw_request(bigben->hid, bigben->report, HID_REQ_SET_REPORT); + hid_output_report(bigben->report, buf); } + + spin_unlock_irqrestore(&bigben->lock, flags); + + if (do_work_ff) { + hid_hw_raw_request(bigben->hid, bigben->report->id, buf, len, + bigben->report->type, HID_REQ_SET_REPORT); + } + + kfree(buf); } static int hid_bigben_play_effect(struct input_dev *dev, void *data, @@ -228,6 +270,7 @@ struct bigben_device *bigben = hid_get_drvdata(hid); u8 right_motor_on; u8 left_motor_force; + unsigned long flags; if (!bigben) { hid_err(hid, "no device data\n"); @@ -242,10 +285,13 @@ if (right_motor_on != bigben->right_motor_on || left_motor_force != bigben->left_motor_force) { + spin_lock_irqsave(&bigben->lock, flags); bigben->right_motor_on = right_motor_on; bigben->left_motor_force = left_motor_force; bigben->work_ff = true; - schedule_work(&bigben->worker); + spin_unlock_irqrestore(&bigben->lock, flags); + + bigben_schedule_work(bigben); } return 0; @@ -259,6 +305,7 @@ struct bigben_device *bigben = hid_get_drvdata(hid); int n; bool work; + unsigned long flags; if (!bigben) { hid_err(hid, "no device data\n"); @@ -267,6 +314,7 @@ for (n = 0; n < NUM_LEDS; n++) { if (led == bigben->leds[n]) { + spin_lock_irqsave(&bigben->lock, flags); if (value == LED_OFF) { work = (bigben->led_state & BIT(n)); bigben->led_state &= ~BIT(n); @@ -274,10 +322,11 @@ work = !(bigben->led_state & BIT(n)); bigben->led_state |= BIT(n); } + spin_unlock_irqrestore(&bigben->lock, flags); if (work) { bigben->work_led = true; - schedule_work(&bigben->worker); + bigben_schedule_work(bigben); } return; } @@ -307,8 +356,12 @@ static void bigben_remove(struct hid_device *hid) { struct bigben_device *bigben = hid_get_drvdata(hid); + unsigned long flags; + spin_lock_irqsave(&bigben->lock, flags); bigben->removed = true; + spin_unlock_irqrestore(&bigben->lock, flags); + cancel_work_sync(&bigben->worker); hid_hw_stop(hid); } @@ -318,7 +371,6 @@ { struct bigben_device *bigben; struct hid_input *hidinput; - struct list_head *report_list; struct led_classdev *led; char *name; size_t name_sz; @@ -343,9 +395,12 @@ return error; } - report_list = &hid->report_enum[HID_OUTPUT_REPORT].report_list; - bigben->report = list_entry(report_list->next, - struct hid_report, list); + bigben->report = hid_validate_values(hid, HID_OUTPUT_REPORT, 0, 0, 8); + if (!bigben->report) { + hid_err(hid, "no output report found\n"); + error = -ENODEV; + goto error_hw_stop; + } if (list_empty(&hid->inputs)) { hid_err(hid, "no inputs found\n"); @@ -357,6 +412,7 @@ set_bit(FF_RUMBLE, hidinput->input->ffbit); INIT_WORK(&bigben->worker, bigben_worker); + spin_lock_init(&bigben->lock); error = input_ff_create_memless(hidinput->input, NULL, hid_bigben_play_effect); @@ -397,7 +453,7 @@ bigben->left_motor_force = 0; bigben->work_led = true; bigben->work_ff = true; - schedule_work(&bigben->worker); + bigben_schedule_work(bigben); hid_info(hid, "LED and force feedback support for BigBen gamepad\n"); --- linux-gcp-5.19.0.orig/drivers/hid/hid-core.c +++ linux-gcp-5.19.0/drivers/hid/hid-core.c @@ -993,8 +993,8 @@ * Validating on id 0 means we should examine the first * report in the list. */ - report = list_entry( - hid->report_enum[type].report_list.next, + report = list_first_entry_or_null( + &hid->report_enum[type].report_list, struct hid_report, list); } else { report = hid->report_enum[type].report_id_hash[id]; @@ -1202,6 +1202,7 @@ __u8 *end; __u8 *next; int ret; + int i; static int (*dispatch_type[])(struct hid_parser *parser, struct hid_item *item) = { hid_parser_main, @@ -1252,6 +1253,8 @@ goto err; } device->collection_size = HID_DEFAULT_NUM_COLLECTIONS; + for (i = 0; i < HID_DEFAULT_NUM_COLLECTIONS; i++) + device->collection[i].parent_idx = -1; ret = -EINVAL; while ((next = fetch_item(start, end, &item)) != NULL) { @@ -1315,6 +1318,9 @@ if (!value || !n) return 0; + if (n > 32) + n = 32; + switch (n) { case 8: return ((__s8)value); case 16: return ((__s16)value); --- linux-gcp-5.19.0.orig/drivers/hid/hid-cp2112.c +++ linux-gcp-5.19.0/drivers/hid/hid-cp2112.c @@ -790,6 +790,11 @@ data->word = le16_to_cpup((__le16 *)buf); break; case I2C_SMBUS_I2C_BLOCK_DATA: + if (read_length > I2C_SMBUS_BLOCK_MAX) { + ret = -EINVAL; + goto power_normal; + } + memcpy(data->block + 1, buf, read_length); break; case I2C_SMBUS_BLOCK_DATA: --- linux-gcp-5.19.0.orig/drivers/hid/hid-debug.c +++ linux-gcp-5.19.0/drivers/hid/hid-debug.c @@ -972,6 +972,7 @@ [KEY_KBD_LAYOUT_NEXT] = "KbdLayoutNext", [KEY_EMOJI_PICKER] = "EmojiPicker", [KEY_DICTATE] = "Dictate", + [KEY_MICMUTE] = "MicrophoneMute", [KEY_BRIGHTNESS_MIN] = "BrightnessMin", [KEY_BRIGHTNESS_MAX] = "BrightnessMax", [KEY_BRIGHTNESS_AUTO] = "BrightnessAuto", --- linux-gcp-5.19.0.orig/drivers/hid/hid-elecom.c +++ linux-gcp-5.19.0/drivers/hid/hid-elecom.c @@ -12,6 +12,7 @@ * Copyright (c) 2017 Alex Manoussakis * Copyright (c) 2017 Tomasz Kramkowski * Copyright (c) 2020 YOSHIOKA Takuma + * Copyright (c) 2022 Takahiro Fujii */ /* @@ -89,7 +90,7 @@ case USB_DEVICE_ID_ELECOM_M_DT1URBK: case USB_DEVICE_ID_ELECOM_M_DT1DRBK: case USB_DEVICE_ID_ELECOM_M_HT1URBK: - case USB_DEVICE_ID_ELECOM_M_HT1DRBK: + case USB_DEVICE_ID_ELECOM_M_HT1DRBK_010D: /* * Report descriptor format: * 12: button bit count @@ -99,6 +100,16 @@ */ mouse_button_fixup(hdev, rdesc, *rsize, 12, 30, 14, 20, 8); break; + case USB_DEVICE_ID_ELECOM_M_HT1DRBK_011C: + /* + * Report descriptor format: + * 22: button bit count + * 30: padding bit count + * 24: button report size + * 16: button usage maximum + */ + mouse_button_fixup(hdev, rdesc, *rsize, 22, 30, 24, 16, 8); + break; } return rdesc; } @@ -112,7 +123,8 @@ { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1URBK) }, { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1DRBK) }, { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1URBK) }, - { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1DRBK) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1DRBK_010D) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1DRBK_011C) }, { } }; MODULE_DEVICE_TABLE(hid, elecom_devices); --- linux-gcp-5.19.0.orig/drivers/hid/hid-hyperv.c +++ linux-gcp-5.19.0/drivers/hid/hid-hyperv.c @@ -499,7 +499,7 @@ ret = hid_add_device(hid_dev); if (ret) - goto probe_err1; + goto probe_err2; ret = hid_parse(hid_dev); --- linux-gcp-5.19.0.orig/drivers/hid/hid-ids.h +++ linux-gcp-5.19.0/drivers/hid/hid-ids.h @@ -185,6 +185,8 @@ #define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2021 0x029c #define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2021 0x029a #define USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_NUMPAD_2021 0x029f +#define USB_DEVICE_ID_APPLE_TOUCHBAR_BACKLIGHT 0x8102 +#define USB_DEVICE_ID_APPLE_TOUCHBAR_DISPLAY 0x8302 #define USB_VENDOR_ID_ASUS 0x0486 #define USB_DEVICE_ID_ASUS_T91MT 0x0185 @@ -413,6 +415,8 @@ #define USB_DEVICE_ID_ASUS_UX550VE_TOUCHSCREEN 0x2544 #define USB_DEVICE_ID_ASUS_UX550_TOUCHSCREEN 0x2706 #define I2C_DEVICE_ID_SURFACE_GO_TOUCHSCREEN 0x261A +#define I2C_DEVICE_ID_SURFACE_GO2_TOUCHSCREEN 0x2A1C +#define I2C_DEVICE_ID_LENOVO_YOGA_C630_TOUCHSCREEN 0x279F #define USB_VENDOR_ID_ELECOM 0x056e #define USB_DEVICE_ID_ELECOM_BM084 0x0061 @@ -423,7 +427,8 @@ #define USB_DEVICE_ID_ELECOM_M_DT1URBK 0x00fe #define USB_DEVICE_ID_ELECOM_M_DT1DRBK 0x00ff #define USB_DEVICE_ID_ELECOM_M_HT1URBK 0x010c -#define USB_DEVICE_ID_ELECOM_M_HT1DRBK 0x010d +#define USB_DEVICE_ID_ELECOM_M_HT1DRBK_010D 0x010d +#define USB_DEVICE_ID_ELECOM_M_HT1DRBK_011C 0x011c #define USB_VENDOR_ID_DREAM_CHEEKY 0x1d34 #define USB_DEVICE_ID_DREAM_CHEEKY_WN 0x0004 @@ -863,6 +868,7 @@ #define USB_DEVICE_ID_MADCATZ_BEATPAD 0x4540 #define USB_DEVICE_ID_MADCATZ_RAT5 0x1705 #define USB_DEVICE_ID_MADCATZ_RAT9 0x1709 +#define USB_DEVICE_ID_MADCATZ_MMO7 0x1713 #define USB_VENDOR_ID_MCC 0x09db #define USB_DEVICE_ID_MCC_PMD1024LS 0x0076 @@ -912,6 +918,7 @@ #define USB_DEVICE_ID_MS_XBOX_ONE_S_CONTROLLER 0x02fd #define USB_DEVICE_ID_MS_PIXART_MOUSE 0x00cb #define USB_DEVICE_ID_8BITDO_SN30_PRO_PLUS 0x02e0 +#define USB_DEVICE_ID_MS_MOUSE_0783 0x0783 #define USB_VENDOR_ID_MOJO 0x8282 #define USB_DEVICE_ID_RETRO_ADAPTER 0x3201 @@ -988,7 +995,10 @@ #define USB_DEVICE_ID_ORTEK_IHOME_IMAC_A210S 0x8003 #define USB_VENDOR_ID_PLANTRONICS 0x047f +#define USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3210_SERIES 0xc055 #define USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3220_SERIES 0xc056 +#define USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3215_SERIES 0xc057 +#define USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3225_SERIES 0xc058 #define USB_VENDOR_ID_PANASONIC 0x04da #define USB_DEVICE_ID_PANABOARD_UBT780 0x1044 @@ -1138,6 +1148,7 @@ #define USB_DEVICE_ID_SONY_PS4_CONTROLLER_2 0x09cc #define USB_DEVICE_ID_SONY_PS4_CONTROLLER_DONGLE 0x0ba0 #define USB_DEVICE_ID_SONY_PS5_CONTROLLER 0x0ce6 +#define USB_DEVICE_ID_SONY_PS5_CONTROLLER_2 0x0df2 #define USB_DEVICE_ID_SONY_MOTION_CONTROLLER 0x03d5 #define USB_DEVICE_ID_SONY_NAVIGATION_CONTROLLER 0x042f #define USB_DEVICE_ID_SONY_BUZZ_CONTROLLER 0x0002 @@ -1209,6 +1220,7 @@ #define USB_DEVICE_ID_SYNAPTICS_DELL_K15A 0x6e21 #define USB_DEVICE_ID_SYNAPTICS_ACER_ONE_S1002 0x73f4 #define USB_DEVICE_ID_SYNAPTICS_ACER_ONE_S1003 0x73f5 +#define USB_DEVICE_ID_SYNAPTICS_ACER_SWITCH5_017 0x73f6 #define USB_DEVICE_ID_SYNAPTICS_ACER_SWITCH5 0x81a7 #define USB_VENDOR_ID_TEXAS_INSTRUMENTS 0x2047 @@ -1227,6 +1239,9 @@ #define USB_DEVICE_ID_TIVO_SLIDE 0x1201 #define USB_DEVICE_ID_TIVO_SLIDE_PRO 0x1203 +#define USB_VENDOR_ID_TOPRE 0x0853 +#define USB_DEVICE_ID_TOPRE_REALFORCE_R2_108 0x0148 + #define USB_VENDOR_ID_TOPSEED 0x0766 #define USB_DEVICE_ID_TOPSEED_CYBERLINK 0x0204 @@ -1369,6 +1384,7 @@ #define USB_VENDOR_ID_PRIMAX 0x0461 #define USB_DEVICE_ID_PRIMAX_MOUSE_4D22 0x4d22 +#define USB_DEVICE_ID_PRIMAX_MOUSE_4E2A 0x4e2a #define USB_DEVICE_ID_PRIMAX_KEYBOARD 0x4e05 #define USB_DEVICE_ID_PRIMAX_REZEL 0x4e72 #define USB_DEVICE_ID_PRIMAX_PIXART_MOUSE_4D0F 0x4d0f --- linux-gcp-5.19.0.orig/drivers/hid/hid-input.c +++ linux-gcp-5.19.0/drivers/hid/hid-input.c @@ -381,6 +381,10 @@ HID_BATTERY_QUIRK_IGNORE }, { HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_SURFACE_GO_TOUCHSCREEN), HID_BATTERY_QUIRK_IGNORE }, + { HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_SURFACE_GO2_TOUCHSCREEN), + HID_BATTERY_QUIRK_IGNORE }, + { HID_I2C_DEVICE(USB_VENDOR_ID_ELAN, I2C_DEVICE_ID_LENOVO_YOGA_C630_TOUCHSCREEN), + HID_BATTERY_QUIRK_IGNORE }, {} }; @@ -777,6 +781,14 @@ break; } + if ((usage->hid & 0xf0) == 0xa0) { /* SystemControl */ + switch (usage->hid & 0xf) { + case 0x9: map_key_clear(KEY_MICMUTE); break; + default: goto ignore; + } + break; + } + if ((usage->hid & 0xf0) == 0xb0) { /* SC - Display */ switch (usage->hid & 0xf) { case 0x05: map_key_clear(KEY_SWITCHVIDEOMODE); break; @@ -1530,7 +1542,10 @@ * assume ours */ if (!report->tool) - hid_report_set_tool(report, input, usage->code); + report->tool = usage->code; + + /* drivers may have changed the value behind our back, resend it */ + hid_report_set_tool(report, input, report->tool); } else { hid_report_release_tool(report, input, usage->code); } --- linux-gcp-5.19.0.orig/drivers/hid/hid-ite.c +++ linux-gcp-5.19.0/drivers/hid/hid-ite.c @@ -121,6 +121,11 @@ USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_ACER_ONE_S1003), .driver_data = QUIRK_TOUCHPAD_ON_OFF_REPORT }, + /* ITE8910 USB kbd ctlr, with Synaptics touchpad connected to it. */ + { HID_DEVICE(BUS_USB, HID_GROUP_GENERIC, + USB_VENDOR_ID_SYNAPTICS, + USB_DEVICE_ID_SYNAPTICS_ACER_SWITCH5_017), + .driver_data = QUIRK_TOUCHPAD_ON_OFF_REPORT }, { } }; MODULE_DEVICE_TABLE(hid, ite_devices); --- linux-gcp-5.19.0.orig/drivers/hid/hid-lg4ff.c +++ linux-gcp-5.19.0/drivers/hid/hid-lg4ff.c @@ -872,6 +872,12 @@ return -ENOMEM; i = strlen(lbuf); + + if (i == 0) { + kfree(lbuf); + return -EINVAL; + } + if (lbuf[i-1] == '\n') { if (i == 1) { kfree(lbuf); --- linux-gcp-5.19.0.orig/drivers/hid/hid-logitech-hidpp.c +++ linux-gcp-5.19.0/drivers/hid/hid-logitech-hidpp.c @@ -4049,6 +4049,7 @@ bool connected; unsigned int connect_mask = HID_CONNECT_DEFAULT; struct hidpp_ff_private_data data; + bool will_restart = false; /* report_fixup needs drvdata to be set before we call hid_parse */ hidpp = devm_kzalloc(&hdev->dev, sizeof(*hidpp), GFP_KERNEL); @@ -4104,6 +4105,10 @@ return ret; } + if (hidpp->quirks & HIDPP_QUIRK_DELAYED_INIT || + hidpp->quirks & HIDPP_QUIRK_UNIFYING) + will_restart = true; + INIT_WORK(&hidpp->work, delayed_work_cb); mutex_init(&hidpp->send_mutex); init_waitqueue_head(&hidpp->wait); @@ -4118,7 +4123,7 @@ * Plain USB connections need to actually call start and open * on the transport driver to allow incoming data. */ - ret = hid_hw_start(hdev, 0); + ret = hid_hw_start(hdev, will_restart ? 0 : connect_mask); if (ret) { hid_err(hdev, "hw start failed\n"); goto hid_hw_start_fail; @@ -4155,6 +4160,7 @@ hidpp->wireless_feature_index = 0; else if (ret) goto hid_hw_init_fail; + ret = 0; } if (connected && (hidpp->quirks & HIDPP_QUIRK_CLASS_WTP)) { @@ -4169,19 +4175,21 @@ hidpp_connect_event(hidpp); - /* Reset the HID node state */ - hid_device_io_stop(hdev); - hid_hw_close(hdev); - hid_hw_stop(hdev); - - if (hidpp->quirks & HIDPP_QUIRK_NO_HIDINPUT) - connect_mask &= ~HID_CONNECT_HIDINPUT; - - /* Now export the actual inputs and hidraw nodes to the world */ - ret = hid_hw_start(hdev, connect_mask); - if (ret) { - hid_err(hdev, "%s:hid_hw_start returned error\n", __func__); - goto hid_hw_start_fail; + if (will_restart) { + /* Reset the HID node state */ + hid_device_io_stop(hdev); + hid_hw_close(hdev); + hid_hw_stop(hdev); + + if (hidpp->quirks & HIDPP_QUIRK_NO_HIDINPUT) + connect_mask &= ~HID_CONNECT_HIDINPUT; + + /* Now export the actual inputs and hidraw nodes to the world */ + ret = hid_hw_start(hdev, connect_mask); + if (ret) { + hid_err(hdev, "%s:hid_hw_start returned error\n", __func__); + goto hid_hw_start_fail; + } } if (hidpp->quirks & HIDPP_QUIRK_CLASS_G920) { --- linux-gcp-5.19.0.orig/drivers/hid/hid-magicmouse.c +++ linux-gcp-5.19.0/drivers/hid/hid-magicmouse.c @@ -480,7 +480,7 @@ magicmouse_raw_event(hdev, report, data + 2, data[1]); magicmouse_raw_event(hdev, report, data + 2 + data[1], size - 2 - data[1]); - break; + return 0; default: return 0; } --- linux-gcp-5.19.0.orig/drivers/hid/hid-mcp2221.c +++ linux-gcp-5.19.0/drivers/hid/hid-mcp2221.c @@ -385,6 +385,9 @@ data_len = 7; break; default: + if (len > I2C_SMBUS_BLOCK_MAX) + return -EINVAL; + memcpy(&mcp->txbuf[5], buf, len); data_len = len + 5; } @@ -837,12 +840,19 @@ return ret; } - ret = hid_hw_start(hdev, HID_CONNECT_HIDRAW); + /* + * This driver uses the .raw_event callback and therefore does not need any + * HID_CONNECT_xxx flags. + */ + ret = hid_hw_start(hdev, 0); if (ret) { hid_err(hdev, "can't start hardware\n"); return ret; } + hid_info(hdev, "USB HID v%x.%02x Device [%s] on %s\n", hdev->version >> 8, + hdev->version & 0xff, hdev->name, hdev->phys); + ret = hid_hw_open(hdev); if (ret) { hid_err(hdev, "can't open device\n"); @@ -867,8 +877,7 @@ mcp->adapter.retries = 1; mcp->adapter.dev.parent = &hdev->dev; snprintf(mcp->adapter.name, sizeof(mcp->adapter.name), - "MCP2221 usb-i2c bridge on hidraw%d", - ((struct hidraw *)hdev->hidraw)->minor); + "MCP2221 usb-i2c bridge"); ret = i2c_add_adapter(&mcp->adapter); if (ret) { --- linux-gcp-5.19.0.orig/drivers/hid/hid-multitouch.c +++ linux-gcp-5.19.0/drivers/hid/hid-multitouch.c @@ -71,6 +71,7 @@ #define MT_QUIRK_SEPARATE_APP_REPORT BIT(19) #define MT_QUIRK_FORCE_MULTI_INPUT BIT(20) #define MT_QUIRK_DISABLE_WAKEUP BIT(21) +#define MT_QUIRK_ORIENTATION_INVERT BIT(22) #define MT_INPUTMODE_TOUCHSCREEN 0x02 #define MT_INPUTMODE_TOUCHPAD 0x03 @@ -194,6 +195,7 @@ #define MT_CLS_WIN_8_FORCE_MULTI_INPUT 0x0015 #define MT_CLS_WIN_8_DISABLE_WAKEUP 0x0016 #define MT_CLS_WIN_8_NO_STICKY_FINGERS 0x0017 +#define MT_CLS_WIN_8_FORCE_MULTI_INPUT_NSMU 0x0018 /* vendor specific classes */ #define MT_CLS_3M 0x0101 @@ -286,6 +288,15 @@ MT_QUIRK_WIN8_PTP_BUTTONS | MT_QUIRK_FORCE_MULTI_INPUT, .export_all_inputs = true }, + { .name = MT_CLS_WIN_8_FORCE_MULTI_INPUT_NSMU, + .quirks = MT_QUIRK_IGNORE_DUPLICATES | + MT_QUIRK_HOVERING | + MT_QUIRK_CONTACT_CNT_ACCURATE | + MT_QUIRK_STICKY_FINGERS | + MT_QUIRK_WIN8_PTP_BUTTONS | + MT_QUIRK_FORCE_MULTI_INPUT | + MT_QUIRK_NOT_SEEN_MEANS_UP, + .export_all_inputs = true }, { .name = MT_CLS_WIN_8_DISABLE_WAKEUP, .quirks = MT_QUIRK_ALWAYS_VALID | MT_QUIRK_IGNORE_DUPLICATES | @@ -783,6 +794,7 @@ case HID_DG_CONFIDENCE: if ((cls->name == MT_CLS_WIN_8 || cls->name == MT_CLS_WIN_8_FORCE_MULTI_INPUT || + cls->name == MT_CLS_WIN_8_FORCE_MULTI_INPUT_NSMU || cls->name == MT_CLS_WIN_8_DISABLE_WAKEUP) && (field->application == HID_DG_TOUCHPAD || field->application == HID_DG_TOUCHSCREEN)) @@ -998,6 +1010,7 @@ struct mt_usages *slot) { struct input_mt *mt = input->mt; + struct hid_device *hdev = td->hdev; __s32 quirks = app->quirks; bool valid = true; bool confidence_state = true; @@ -1075,6 +1088,10 @@ int orientation = wide; int max_azimuth; int azimuth; + int x; + int y; + int cx; + int cy; if (slot->a != DEFAULT_ZERO) { /* @@ -1093,6 +1110,9 @@ if (azimuth > max_azimuth * 2) azimuth -= max_azimuth * 4; orientation = -azimuth; + if (quirks & MT_QUIRK_ORIENTATION_INVERT) + orientation = -orientation; + } if (quirks & MT_QUIRK_TOUCH_SIZE_SCALING) { @@ -1104,10 +1124,23 @@ minor = minor >> 1; } - input_event(input, EV_ABS, ABS_MT_POSITION_X, *slot->x); - input_event(input, EV_ABS, ABS_MT_POSITION_Y, *slot->y); - input_event(input, EV_ABS, ABS_MT_TOOL_X, *slot->cx); - input_event(input, EV_ABS, ABS_MT_TOOL_Y, *slot->cy); + x = hdev->quirks & HID_QUIRK_X_INVERT ? + input_abs_get_max(input, ABS_MT_POSITION_X) - *slot->x : + *slot->x; + y = hdev->quirks & HID_QUIRK_Y_INVERT ? + input_abs_get_max(input, ABS_MT_POSITION_Y) - *slot->y : + *slot->y; + cx = hdev->quirks & HID_QUIRK_X_INVERT ? + input_abs_get_max(input, ABS_MT_POSITION_X) - *slot->cx : + *slot->cx; + cy = hdev->quirks & HID_QUIRK_Y_INVERT ? + input_abs_get_max(input, ABS_MT_POSITION_Y) - *slot->cy : + *slot->cy; + + input_event(input, EV_ABS, ABS_MT_POSITION_X, x); + input_event(input, EV_ABS, ABS_MT_POSITION_Y, y); + input_event(input, EV_ABS, ABS_MT_TOOL_X, cx); + input_event(input, EV_ABS, ABS_MT_TOOL_Y, cy); input_event(input, EV_ABS, ABS_MT_DISTANCE, !*slot->tip_state); input_event(input, EV_ABS, ABS_MT_ORIENTATION, orientation); input_event(input, EV_ABS, ABS_MT_PRESSURE, *slot->p); @@ -1175,7 +1208,7 @@ int contact_count = -1; /* sticky fingers release in progress, abort */ - if (test_and_set_bit(MT_IO_FLAGS_RUNNING, &td->mt_io_flags)) + if (test_and_set_bit_lock(MT_IO_FLAGS_RUNNING, &td->mt_io_flags)) return; scantime = *app->scantime; @@ -1256,7 +1289,7 @@ del_timer(&td->release_timer); } - clear_bit(MT_IO_FLAGS_RUNNING, &td->mt_io_flags); + clear_bit_unlock(MT_IO_FLAGS_RUNNING, &td->mt_io_flags); } static int mt_touch_input_configured(struct hid_device *hdev, @@ -1688,11 +1721,11 @@ * An input report came in just before we release the sticky fingers, * it will take care of the sticky fingers. */ - if (test_and_set_bit(MT_IO_FLAGS_RUNNING, &td->mt_io_flags)) + if (test_and_set_bit_lock(MT_IO_FLAGS_RUNNING, &td->mt_io_flags)) return; if (test_bit(MT_IO_FLAGS_PENDING_SLOTS, &td->mt_io_flags)) mt_release_contacts(hdev); - clear_bit(MT_IO_FLAGS_RUNNING, &td->mt_io_flags); + clear_bit_unlock(MT_IO_FLAGS_RUNNING, &td->mt_io_flags); } static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id) @@ -1724,6 +1757,15 @@ if (id->vendor == HID_ANY_ID && id->product == HID_ANY_ID) td->serial_maybe = true; + + /* Orientation is inverted if the X or Y axes are + * flipped, but normalized if both are inverted. + */ + if (hdev->quirks & (HID_QUIRK_X_INVERT | HID_QUIRK_Y_INVERT) && + !((hdev->quirks & HID_QUIRK_X_INVERT) + && (hdev->quirks & HID_QUIRK_Y_INVERT))) + td->mtclass.quirks = MT_QUIRK_ORIENTATION_INVERT; + /* This allows the driver to correctly support devices * that emit events over several HID messages. */ @@ -1956,6 +1998,10 @@ HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8, USB_VENDOR_ID_ELAN, 0x313a) }, + { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT, + HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8, + USB_VENDOR_ID_ELAN, 0x3148) }, + /* Elitegroup panel */ { .driver_data = MT_CLS_SERIAL, MT_USB_DEVICE(USB_VENDOR_ID_ELITEGROUP, @@ -2035,7 +2081,7 @@ USB_DEVICE_ID_LENOVO_X1_TAB3) }, /* Lenovo X12 TAB Gen 1 */ - { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT, + { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT_NSMU, HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH_WIN_8, USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_X12_TAB) }, --- linux-gcp-5.19.0.orig/drivers/hid/hid-nintendo.c +++ linux-gcp-5.19.0/drivers/hid/hid-nintendo.c @@ -761,12 +761,31 @@ cal_y->max = cal_y->center + y_max_above; cal_y->min = cal_y->center - y_min_below; - return 0; + /* check if calibration values are plausible */ + if (cal_x->min >= cal_x->center || cal_x->center >= cal_x->max || + cal_y->min >= cal_y->center || cal_y->center >= cal_y->max) + ret = -EINVAL; + + return ret; } static const u16 DFLT_STICK_CAL_CEN = 2000; static const u16 DFLT_STICK_CAL_MAX = 3500; static const u16 DFLT_STICK_CAL_MIN = 500; +static void joycon_use_default_calibration(struct hid_device *hdev, + struct joycon_stick_cal *cal_x, + struct joycon_stick_cal *cal_y, + const char *stick, int ret) +{ + hid_warn(hdev, + "Failed to read %s stick cal, using defaults; e=%d\n", + stick, ret); + + cal_x->center = cal_y->center = DFLT_STICK_CAL_CEN; + cal_x->max = cal_y->max = DFLT_STICK_CAL_MAX; + cal_x->min = cal_y->min = DFLT_STICK_CAL_MIN; +} + static int joycon_request_calibration(struct joycon_ctlr *ctlr) { u16 left_stick_addr = JC_CAL_FCT_DATA_LEFT_ADDR; @@ -794,38 +813,24 @@ &ctlr->left_stick_cal_x, &ctlr->left_stick_cal_y, true); - if (ret) { - hid_warn(ctlr->hdev, - "Failed to read left stick cal, using dflts; e=%d\n", - ret); - ctlr->left_stick_cal_x.center = DFLT_STICK_CAL_CEN; - ctlr->left_stick_cal_x.max = DFLT_STICK_CAL_MAX; - ctlr->left_stick_cal_x.min = DFLT_STICK_CAL_MIN; - - ctlr->left_stick_cal_y.center = DFLT_STICK_CAL_CEN; - ctlr->left_stick_cal_y.max = DFLT_STICK_CAL_MAX; - ctlr->left_stick_cal_y.min = DFLT_STICK_CAL_MIN; - } + if (ret) + joycon_use_default_calibration(ctlr->hdev, + &ctlr->left_stick_cal_x, + &ctlr->left_stick_cal_y, + "left", ret); /* read the right stick calibration data */ ret = joycon_read_stick_calibration(ctlr, right_stick_addr, &ctlr->right_stick_cal_x, &ctlr->right_stick_cal_y, false); - if (ret) { - hid_warn(ctlr->hdev, - "Failed to read right stick cal, using dflts; e=%d\n", - ret); - ctlr->right_stick_cal_x.center = DFLT_STICK_CAL_CEN; - ctlr->right_stick_cal_x.max = DFLT_STICK_CAL_MAX; - ctlr->right_stick_cal_x.min = DFLT_STICK_CAL_MIN; - - ctlr->right_stick_cal_y.center = DFLT_STICK_CAL_CEN; - ctlr->right_stick_cal_y.max = DFLT_STICK_CAL_MAX; - ctlr->right_stick_cal_y.min = DFLT_STICK_CAL_MIN; - } + if (ret) + joycon_use_default_calibration(ctlr->hdev, + &ctlr->right_stick_cal_x, + &ctlr->right_stick_cal_y, + "right", ret); hid_dbg(ctlr->hdev, "calibration:\n" "l_x_c=%d l_x_max=%d l_x_min=%d\n" @@ -1222,6 +1227,7 @@ spin_lock_irqsave(&ctlr->lock, flags); if (IS_ENABLED(CONFIG_NINTENDO_FF) && rep->vibrator_report && + ctlr->ctlr_state != JOYCON_CTLR_STATE_REMOVED && (msecs - ctlr->rumble_msecs) >= JC_RUMBLE_PERIOD_MS && (ctlr->rumble_queue_head != ctlr->rumble_queue_tail || ctlr->rumble_zero_countdown > 0)) { @@ -1546,12 +1552,13 @@ ctlr->rumble_queue_head = 0; memcpy(ctlr->rumble_data[ctlr->rumble_queue_head], data, JC_RUMBLE_DATA_SIZE); - spin_unlock_irqrestore(&ctlr->lock, flags); /* don't wait for the periodic send (reduces latency) */ - if (schedule_now) + if (schedule_now && ctlr->ctlr_state != JOYCON_CTLR_STATE_REMOVED) queue_work(ctlr->rumble_queue, &ctlr->rumble_worker); + spin_unlock_irqrestore(&ctlr->lock, flags); + return 0; } @@ -1586,6 +1593,7 @@ /* We report joy-con d-pad inputs as buttons and pro controller as a hat. */ static const unsigned int joycon_dpad_inputs_jc[] = { BTN_DPAD_UP, BTN_DPAD_DOWN, BTN_DPAD_LEFT, BTN_DPAD_RIGHT, + 0 /* 0 signals end of array */ }; static int joycon_input_create(struct joycon_ctlr *ctlr) --- linux-gcp-5.19.0.orig/drivers/hid/hid-plantronics.c +++ linux-gcp-5.19.0/drivers/hid/hid-plantronics.c @@ -199,8 +199,17 @@ static const struct hid_device_id plantronics_devices[] = { { HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS, + USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3210_SERIES), + .driver_data = PLT_QUIRK_DOUBLE_VOLUME_KEYS }, + { HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS, USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3220_SERIES), .driver_data = PLT_QUIRK_DOUBLE_VOLUME_KEYS }, + { HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS, + USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3215_SERIES), + .driver_data = PLT_QUIRK_DOUBLE_VOLUME_KEYS }, + { HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS, + USB_DEVICE_ID_PLANTRONICS_BLACKWIRE_3225_SERIES), + .driver_data = PLT_QUIRK_DOUBLE_VOLUME_KEYS }, { HID_USB_DEVICE(USB_VENDOR_ID_PLANTRONICS, HID_ANY_ID) }, { } }; --- linux-gcp-5.19.0.orig/drivers/hid/hid-playstation.c +++ linux-gcp-5.19.0/drivers/hid/hid-playstation.c @@ -46,6 +46,7 @@ uint32_t fw_version; int (*parse_report)(struct ps_device *dev, struct hid_report *report, u8 *data, int size); + void (*remove)(struct ps_device *dev); }; /* Calibration data for playstation motion sensors. */ @@ -174,6 +175,7 @@ struct led_classdev player_leds[5]; struct work_struct output_worker; + bool output_worker_initialized; void *output_report_dmabuf; uint8_t output_seq; /* Sequence number for output report. */ }; @@ -299,6 +301,7 @@ {0, 0}, }; +static inline void dualsense_schedule_work(struct dualsense *ds); static void dualsense_set_lightbar(struct dualsense *ds, uint8_t red, uint8_t green, uint8_t blue); /* @@ -704,6 +707,7 @@ static int dualsense_get_calibration_data(struct dualsense *ds) { + struct hid_device *hdev = ds->base.hdev; short gyro_pitch_bias, gyro_pitch_plus, gyro_pitch_minus; short gyro_yaw_bias, gyro_yaw_plus, gyro_yaw_minus; short gyro_roll_bias, gyro_roll_plus, gyro_roll_minus; @@ -714,6 +718,7 @@ int speed_2x; int range_2g; int ret = 0; + int i; uint8_t *buf; buf = kzalloc(DS_FEATURE_REPORT_CALIBRATION_SIZE, GFP_KERNEL); @@ -766,6 +771,21 @@ ds->gyro_calib_data[2].sens_denom = gyro_roll_plus - gyro_roll_minus; /* + * Sanity check gyro calibration data. This is needed to prevent crashes + * during report handling of virtual, clone or broken devices not implementing + * calibration data properly. + */ + for (i = 0; i < ARRAY_SIZE(ds->gyro_calib_data); i++) { + if (ds->gyro_calib_data[i].sens_denom == 0) { + hid_warn(hdev, "Invalid gyro calibration data for axis (%d), disabling calibration.", + ds->gyro_calib_data[i].abs_code); + ds->gyro_calib_data[i].bias = 0; + ds->gyro_calib_data[i].sens_numer = DS_GYRO_RANGE; + ds->gyro_calib_data[i].sens_denom = S16_MAX; + } + } + + /* * Set accelerometer calibration and normalization parameters. * Data values will be normalized to 1/DS_ACC_RES_PER_G g. */ @@ -787,11 +807,27 @@ ds->accel_calib_data[2].sens_numer = 2*DS_ACC_RES_PER_G; ds->accel_calib_data[2].sens_denom = range_2g; + /* + * Sanity check accelerometer calibration data. This is needed to prevent crashes + * during report handling of virtual, clone or broken devices not implementing calibration + * data properly. + */ + for (i = 0; i < ARRAY_SIZE(ds->accel_calib_data); i++) { + if (ds->accel_calib_data[i].sens_denom == 0) { + hid_warn(hdev, "Invalid accelerometer calibration data for axis (%d), disabling calibration.", + ds->accel_calib_data[i].abs_code); + ds->accel_calib_data[i].bias = 0; + ds->accel_calib_data[i].sens_numer = DS_ACC_RANGE; + ds->accel_calib_data[i].sens_denom = S16_MAX; + } + } + err_free: kfree(buf); return ret; } + static int dualsense_get_firmware_info(struct dualsense *ds) { uint8_t *buf; @@ -881,7 +917,7 @@ ds->update_player_leds = true; spin_unlock_irqrestore(&ds->base.lock, flags); - schedule_work(&ds->output_worker); + dualsense_schedule_work(ds); return 0; } @@ -925,6 +961,16 @@ } } +static inline void dualsense_schedule_work(struct dualsense *ds) +{ + unsigned long flags; + + spin_lock_irqsave(&ds->base.lock, flags); + if (ds->output_worker_initialized) + schedule_work(&ds->output_worker); + spin_unlock_irqrestore(&ds->base.lock, flags); +} + /* * Helper function to send DualSense output reports. Applies a CRC at the end of a report * for Bluetooth reports. @@ -1085,7 +1131,7 @@ spin_unlock_irqrestore(&ps_dev->lock, flags); /* Schedule updating of microphone state at hardware level. */ - schedule_work(&ds->output_worker); + dualsense_schedule_work(ds); } ds->last_btn_mic_state = btn_mic_state; @@ -1200,10 +1246,22 @@ ds->motor_right = effect->u.rumble.weak_magnitude / 256; spin_unlock_irqrestore(&ds->base.lock, flags); - schedule_work(&ds->output_worker); + dualsense_schedule_work(ds); return 0; } +static void dualsense_remove(struct ps_device *ps_dev) +{ + struct dualsense *ds = container_of(ps_dev, struct dualsense, base); + unsigned long flags; + + spin_lock_irqsave(&ds->base.lock, flags); + ds->output_worker_initialized = false; + spin_unlock_irqrestore(&ds->base.lock, flags); + + cancel_work_sync(&ds->output_worker); +} + static int dualsense_reset_leds(struct dualsense *ds) { struct dualsense_output_report report; @@ -1240,7 +1298,7 @@ ds->lightbar_blue = blue; spin_unlock_irqrestore(&ds->base.lock, flags); - schedule_work(&ds->output_worker); + dualsense_schedule_work(ds); } static void dualsense_set_player_leds(struct dualsense *ds) @@ -1263,7 +1321,7 @@ ds->update_player_leds = true; ds->player_leds_state = player_ids[player_id]; - schedule_work(&ds->output_worker); + dualsense_schedule_work(ds); } static struct ps_device *dualsense_create(struct hid_device *hdev) @@ -1302,7 +1360,9 @@ ps_dev->battery_capacity = 100; /* initial value until parse_report. */ ps_dev->battery_status = POWER_SUPPLY_STATUS_UNKNOWN; ps_dev->parse_report = dualsense_parse_report; + ps_dev->remove = dualsense_remove; INIT_WORK(&ds->output_worker, dualsense_output_worker); + ds->output_worker_initialized = true; hid_set_drvdata(hdev, ds); max_output_report_size = sizeof(struct dualsense_output_report_bt); @@ -1439,7 +1499,8 @@ goto err_stop; } - if (hdev->product == USB_DEVICE_ID_SONY_PS5_CONTROLLER) { + if (hdev->product == USB_DEVICE_ID_SONY_PS5_CONTROLLER || + hdev->product == USB_DEVICE_ID_SONY_PS5_CONTROLLER_2) { dev = dualsense_create(hdev); if (IS_ERR(dev)) { hid_err(hdev, "Failed to create dualsense.\n"); @@ -1470,6 +1531,9 @@ ps_devices_list_remove(dev); ps_device_release_player_id(dev); + if (dev->remove) + dev->remove(dev); + hid_hw_close(hdev); hid_hw_stop(hdev); } @@ -1477,6 +1541,8 @@ static const struct hid_device_id ps_devices[] = { { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS5_CONTROLLER) }, { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS5_CONTROLLER) }, + { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS5_CONTROLLER_2) }, + { HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS5_CONTROLLER_2) }, { } }; MODULE_DEVICE_TABLE(hid, ps_devices); --- linux-gcp-5.19.0.orig/drivers/hid/hid-quirks.c +++ linux-gcp-5.19.0/drivers/hid/hid-quirks.c @@ -122,6 +122,7 @@ { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOUSE_C05A), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_LOGITECH_MOUSE_C06A), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_MCS, USB_DEVICE_ID_MCS_GAMEPADBLOCK), HID_QUIRK_MULTI_INPUT }, + { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_MOUSE_0783), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_PIXART_MOUSE), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER), HID_QUIRK_NO_INIT_REPORTS }, { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_SURFACE3_COVER), HID_QUIRK_NO_INIT_REPORTS }, @@ -146,6 +147,7 @@ { HID_USB_DEVICE(USB_VENDOR_ID_PIXART, USB_DEVICE_ID_PIXART_OPTICAL_TOUCH_SCREEN), HID_QUIRK_NO_INIT_REPORTS }, { HID_USB_DEVICE(USB_VENDOR_ID_PIXART, USB_DEVICE_ID_PIXART_USB_OPTICAL_MOUSE), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_MOUSE_4D22), HID_QUIRK_ALWAYS_POLL }, + { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_MOUSE_4E2A), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_PIXART_MOUSE_4D0F), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_PIXART_MOUSE_4D65), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, USB_DEVICE_ID_PRIMAX_PIXART_MOUSE_4E22), HID_QUIRK_ALWAYS_POLL }, @@ -314,6 +316,8 @@ { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_2021) }, { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MAGIC_KEYBOARD_FINGERPRINT_2021) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_TOUCHBAR_BACKLIGHT) }, + { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_TOUCHBAR_DISPLAY) }, #endif #if IS_ENABLED(CONFIG_HID_APPLEIR) { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_IRCONTROL) }, @@ -389,7 +393,8 @@ { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1URBK) }, { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_DT1DRBK) }, { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1URBK) }, - { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1DRBK) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1DRBK_010D) }, + { HID_USB_DEVICE(USB_VENDOR_ID_ELECOM, USB_DEVICE_ID_ELECOM_M_HT1DRBK_011C) }, #endif #if IS_ENABLED(CONFIG_HID_ELO) { HID_USB_DEVICE(USB_VENDOR_ID_ELO, 0x0009) }, @@ -618,6 +623,7 @@ { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_MMO7) }, { HID_USB_DEVICE(USB_VENDOR_ID_MADCATZ, USB_DEVICE_ID_MADCATZ_RAT5) }, { HID_USB_DEVICE(USB_VENDOR_ID_MADCATZ, USB_DEVICE_ID_MADCATZ_RAT9) }, + { HID_USB_DEVICE(USB_VENDOR_ID_MADCATZ, USB_DEVICE_ID_MADCATZ_MMO7) }, #endif #if IS_ENABLED(CONFIG_HID_SAMSUNG) { HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_IR_REMOTE) }, @@ -1231,7 +1237,7 @@ static unsigned long hid_gets_squirk(const struct hid_device *hdev) { const struct hid_device_id *bl_entry; - unsigned long quirks = 0; + unsigned long quirks = hdev->initial_quirks; if (hid_match_id(hdev, hid_ignore_list)) quirks |= HID_QUIRK_IGNORE; --- linux-gcp-5.19.0.orig/drivers/hid/hid-rmi.c +++ linux-gcp-5.19.0/drivers/hid/hid-rmi.c @@ -327,6 +327,8 @@ if (!(test_bit(RMI_STARTED, &hdata->flags))) return 0; + pm_wakeup_event(hdev->dev.parent, 0); + local_irq_save(flags); rmi_set_attn_data(rmi_dev, data[1], &data[2], size - 2); --- linux-gcp-5.19.0.orig/drivers/hid/hid-roccat.c +++ linux-gcp-5.19.0/drivers/hid/hid-roccat.c @@ -257,6 +257,8 @@ if (!new_value) return -ENOMEM; + mutex_lock(&device->cbuf_lock); + report = &device->cbuf[device->cbuf_end]; /* passing NULL is safe */ @@ -276,6 +278,8 @@ reader->cbuf_start = (reader->cbuf_start + 1) % ROCCAT_CBUF_SIZE; } + mutex_unlock(&device->cbuf_lock); + wake_up_interruptible(&device->wait); return 0; } --- linux-gcp-5.19.0.orig/drivers/hid/hid-saitek.c +++ linux-gcp-5.19.0/drivers/hid/hid-saitek.c @@ -187,6 +187,8 @@ .driver_data = SAITEK_RELEASE_MODE_RAT7 }, { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_MMO7), .driver_data = SAITEK_RELEASE_MODE_MMO7 }, + { HID_USB_DEVICE(USB_VENDOR_ID_MADCATZ, USB_DEVICE_ID_MADCATZ_MMO7), + .driver_data = SAITEK_RELEASE_MODE_MMO7 }, { } }; --- linux-gcp-5.19.0.orig/drivers/hid/hid-sensor-custom.c +++ linux-gcp-5.19.0/drivers/hid/hid-sensor-custom.c @@ -62,7 +62,7 @@ u32 raw_len; } __packed; -static struct attribute hid_custom_attrs[] = { +static struct attribute hid_custom_attrs[HID_CUSTOM_TOTAL_ATTRS] = { {.name = "name", .mode = S_IRUGO}, {.name = "units", .mode = S_IRUGO}, {.name = "unit-expo", .mode = S_IRUGO}, --- linux-gcp-5.19.0.orig/drivers/hid/hid-steam.c +++ linux-gcp-5.19.0/drivers/hid/hid-steam.c @@ -134,6 +134,11 @@ int ret; r = steam->hdev->report_enum[HID_FEATURE_REPORT].report_id_hash[0]; + if (!r) { + hid_err(steam->hdev, "No HID_FEATURE_REPORT submitted - nothing to read\n"); + return -EINVAL; + } + if (hid_report_len(r) < 64) return -EINVAL; @@ -165,6 +170,11 @@ int ret; r = steam->hdev->report_enum[HID_FEATURE_REPORT].report_id_hash[0]; + if (!r) { + hid_err(steam->hdev, "No HID_FEATURE_REPORT submitted - nothing to read\n"); + return -EINVAL; + } + if (hid_report_len(r) < 64) return -EINVAL; --- linux-gcp-5.19.0.orig/drivers/hid/hid-thrustmaster.c +++ linux-gcp-5.19.0/drivers/hid/hid-thrustmaster.c @@ -67,12 +67,13 @@ {0x0200, 0x0005, "Thrustmaster T300RS (Missing Attachment)"}, {0x0206, 0x0005, "Thrustmaster T300RS"}, {0x0209, 0x0005, "Thrustmaster T300RS (Open Wheel Attachment)"}, + {0x020a, 0x0005, "Thrustmaster T300RS (Sparco R383 Mod)"}, {0x0204, 0x0005, "Thrustmaster T300 Ferrari Alcantara Edition"}, {0x0002, 0x0002, "Thrustmaster T500RS"} //{0x0407, 0x0001, "Thrustmaster TMX"} }; -static const uint8_t tm_wheels_infos_length = 4; +static const uint8_t tm_wheels_infos_length = 7; /* * This structs contains (in little endian) the response data --- linux-gcp-5.19.0.orig/drivers/hid/hid-topre.c +++ linux-gcp-5.19.0/drivers/hid/hid-topre.c @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * HID driver for Topre REALFORCE Keyboards + * + * Copyright (c) 2022 Harry Stern + * + * Based on the hid-macally driver + */ + +#include +#include + +#include "hid-ids.h" + +MODULE_AUTHOR("Harry Stern "); +MODULE_DESCRIPTION("REALFORCE R2 Keyboard driver"); +MODULE_LICENSE("GPL"); + +/* + * Fix the REALFORCE R2's non-boot interface's report descriptor to match the + * events it's actually sending. It claims to send array events but is instead + * sending variable events. + */ +static __u8 *topre_report_fixup(struct hid_device *hdev, __u8 *rdesc, + unsigned int *rsize) +{ + if (*rsize >= 119 && rdesc[69] == 0x29 && rdesc[70] == 0xe7 && + rdesc[71] == 0x81 && rdesc[72] == 0x00) { + hid_info(hdev, + "fixing up Topre REALFORCE keyboard report descriptor\n"); + rdesc[72] = 0x02; + } + return rdesc; +} + +static const struct hid_device_id topre_id_table[] = { + { HID_USB_DEVICE(USB_VENDOR_ID_TOPRE, + USB_DEVICE_ID_TOPRE_REALFORCE_R2_108) }, + { } +}; +MODULE_DEVICE_TABLE(hid, topre_id_table); + +static struct hid_driver topre_driver = { + .name = "topre", + .id_table = topre_id_table, + .report_fixup = topre_report_fixup, +}; + +module_hid_driver(topre_driver); --- linux-gcp-5.19.0.orig/drivers/hid/hid-uclogic-core.c +++ linux-gcp-5.19.0/drivers/hid/hid-uclogic-core.c @@ -153,6 +153,7 @@ suffix = "Pad"; break; case HID_DG_PEN: + case HID_DG_DIGITIZER: suffix = "Pen"; break; case HID_CP_CONSUMER_CONTROL: @@ -191,6 +192,7 @@ * than the pen, so use QUIRK_MULTI_INPUT for all tablets. */ hdev->quirks |= HID_QUIRK_MULTI_INPUT; + hdev->quirks |= HID_QUIRK_HIDINPUT_FORCE; /* Allocate and assign driver data */ drvdata = devm_kzalloc(&hdev->dev, sizeof(*drvdata), GFP_KERNEL); --- linux-gcp-5.19.0.orig/drivers/hid/hid-uclogic-rdesc.c +++ linux-gcp-5.19.0/drivers/hid/hid-uclogic-rdesc.c @@ -1009,7 +1009,7 @@ if (memcmp(p, head, sizeof(head)) == 0 && p[sizeof(head)] < param_num) { v = param_list[p[sizeof(head)]]; - put_unaligned(cpu_to_le32(v), (s32 *)p); + put_unaligned((__force u32)cpu_to_le32(v), (s32 *)p); p += sizeof(head) + 1; } else { p++; --- linux-gcp-5.19.0.orig/drivers/hid/hidraw.c +++ linux-gcp-5.19.0/drivers/hid/hidraw.c @@ -350,6 +350,8 @@ down_write(&minors_rwsem); spin_lock_irqsave(&hidraw_table[minor]->list_lock, flags); + for (int i = list->tail; i < list->head; i++) + kfree(list->buffer[i].value); list_del(&list->node); spin_unlock_irqrestore(&hidraw_table[minor]->list_lock, flags); kfree(list); --- linux-gcp-5.19.0.orig/drivers/hid/i2c-hid/i2c-hid-core.c +++ linux-gcp-5.19.0/drivers/hid/i2c-hid/i2c-hid-core.c @@ -554,7 +554,8 @@ i2c_hid_dbg(ihid, "input: %*ph\n", ret_size, ihid->inbuf); if (test_bit(I2C_HID_STARTED, &ihid->flags)) { - pm_wakeup_event(&ihid->client->dev, 0); + if (ihid->hid->group != HID_GROUP_RMI) + pm_wakeup_event(&ihid->client->dev, 0); hid_input_report(ihid->hid, HID_INPUT_REPORT, ihid->inbuf + sizeof(__le16), @@ -1034,6 +1035,10 @@ hid->vendor = le16_to_cpu(ihid->hdesc.wVendorID); hid->product = le16_to_cpu(ihid->hdesc.wProductID); + hid->initial_quirks = quirks; + hid->initial_quirks |= i2c_hid_get_dmi_quirks(hid->vendor, + hid->product); + snprintf(hid->name, sizeof(hid->name), "%s %04X:%04X", client->name, (u16)hid->vendor, (u16)hid->product); strlcpy(hid->phys, dev_name(&client->dev), sizeof(hid->phys)); @@ -1047,8 +1052,6 @@ goto err_mem_free; } - hid->quirks |= quirks; - return 0; err_mem_free: --- linux-gcp-5.19.0.orig/drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c +++ linux-gcp-5.19.0/drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c @@ -10,8 +10,10 @@ #include #include #include +#include #include "i2c-hid.h" +#include "../hid-ids.h" struct i2c_hid_desc_override { @@ -416,6 +418,28 @@ { } /* Terminate list */ }; +static const struct hid_device_id i2c_hid_elan_flipped_quirks = { + HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8, USB_VENDOR_ID_ELAN, 0x2dcd), + HID_QUIRK_X_INVERT | HID_QUIRK_Y_INVERT +}; + +/* + * This list contains devices which have specific issues based on the system + * they're on and not just the device itself. The driver_data will have a + * specific hid device to match against. + */ +static const struct dmi_system_id i2c_hid_dmi_quirk_table[] = { + { + .ident = "DynaBook K50/FR", + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Dynabook Inc."), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "dynabook K50/FR"), + }, + .driver_data = (void *)&i2c_hid_elan_flipped_quirks, + }, + { } /* Terminate list */ +}; + struct i2c_hid_desc *i2c_hid_get_dmi_i2c_hid_desc_override(uint8_t *i2c_name) { @@ -450,3 +474,21 @@ *size = override->hid_report_desc_size; return override->hid_report_desc; } + +u32 i2c_hid_get_dmi_quirks(const u16 vendor, const u16 product) +{ + u32 quirks = 0; + const struct dmi_system_id *system_id = + dmi_first_match(i2c_hid_dmi_quirk_table); + + if (system_id) { + const struct hid_device_id *device_id = + (struct hid_device_id *)(system_id->driver_data); + + if (device_id && device_id->vendor == vendor && + device_id->product == product) + quirks = device_id->driver_data; + } + + return quirks; +} --- linux-gcp-5.19.0.orig/drivers/hid/i2c-hid/i2c-hid.h +++ linux-gcp-5.19.0/drivers/hid/i2c-hid/i2c-hid.h @@ -9,6 +9,7 @@ struct i2c_hid_desc *i2c_hid_get_dmi_i2c_hid_desc_override(uint8_t *i2c_name); char *i2c_hid_get_dmi_hid_report_desc_override(uint8_t *i2c_name, unsigned int *size); +u32 i2c_hid_get_dmi_quirks(const u16 vendor, const u16 product); #else static inline struct i2c_hid_desc *i2c_hid_get_dmi_i2c_hid_desc_override(uint8_t *i2c_name) @@ -16,6 +17,8 @@ static inline char *i2c_hid_get_dmi_hid_report_desc_override(uint8_t *i2c_name, unsigned int *size) { return NULL; } +static inline u32 i2c_hid_get_dmi_quirks(const u16 vendor, const u16 product) +{ return 0; } #endif /** --- linux-gcp-5.19.0.orig/drivers/hid/intel-ish-hid/ipc/hw-ish.h +++ linux-gcp-5.19.0/drivers/hid/intel-ish-hid/ipc/hw-ish.h @@ -32,6 +32,7 @@ #define ADL_P_DEVICE_ID 0x51FC #define ADL_N_DEVICE_ID 0x54FC #define RPL_S_DEVICE_ID 0x7A78 +#define MTL_P_DEVICE_ID 0x7E45 #define REVISION_ID_CHT_A0 0x6 #define REVISION_ID_CHT_Ax_SI 0x0 --- linux-gcp-5.19.0.orig/drivers/hid/intel-ish-hid/ipc/pci-ish.c +++ linux-gcp-5.19.0/drivers/hid/intel-ish-hid/ipc/pci-ish.c @@ -43,6 +43,7 @@ {PCI_DEVICE(PCI_VENDOR_ID_INTEL, ADL_P_DEVICE_ID)}, {PCI_DEVICE(PCI_VENDOR_ID_INTEL, ADL_N_DEVICE_ID)}, {PCI_DEVICE(PCI_VENDOR_ID_INTEL, RPL_S_DEVICE_ID)}, + {PCI_DEVICE(PCI_VENDOR_ID_INTEL, MTL_P_DEVICE_ID)}, {0, } }; MODULE_DEVICE_TABLE(pci, ish_pci_tbl); --- linux-gcp-5.19.0.orig/drivers/hid/intel-ish-hid/ishtp-hid.h +++ linux-gcp-5.19.0/drivers/hid/intel-ish-hid/ishtp-hid.h @@ -105,7 +105,7 @@ * @multi_packet_cnt: Count of fragmented packet count * * This structure is used to store completion flags and per client data like - * like report description, number of HID devices etc. + * report description, number of HID devices etc. */ struct ishtp_cl_data { /* completion flags */ --- linux-gcp-5.19.0.orig/drivers/hid/intel-ish-hid/ishtp/client.c +++ linux-gcp-5.19.0/drivers/hid/intel-ish-hid/ishtp/client.c @@ -626,13 +626,14 @@ } /** - * ipc_tx_callback() - IPC tx callback function + * ipc_tx_send() - IPC tx send function * @prm: Pointer to client device instance * - * Send message over IPC either first time or on callback on previous message - * completion + * Send message over IPC. Message will be split into fragments + * if message size is bigger than IPC FIFO size, and all + * fragments will be sent one by one. */ -static void ipc_tx_callback(void *prm) +static void ipc_tx_send(void *prm) { struct ishtp_cl *cl = prm; struct ishtp_cl_tx_ring *cl_msg; @@ -677,32 +678,41 @@ list); rem = cl_msg->send_buf.size - cl->tx_offs; - ishtp_hdr.host_addr = cl->host_client_id; - ishtp_hdr.fw_addr = cl->fw_client_id; - ishtp_hdr.reserved = 0; - pmsg = cl_msg->send_buf.data + cl->tx_offs; - - if (rem <= dev->mtu) { - ishtp_hdr.length = rem; - ishtp_hdr.msg_complete = 1; - cl->sending = 0; - list_del_init(&cl_msg->list); /* Must be before write */ - spin_unlock_irqrestore(&cl->tx_list_spinlock, tx_flags); - /* Submit to IPC queue with no callback */ - ishtp_write_message(dev, &ishtp_hdr, pmsg); - spin_lock_irqsave(&cl->tx_free_list_spinlock, tx_free_flags); - list_add_tail(&cl_msg->list, &cl->tx_free_list.list); - ++cl->tx_ring_free_size; - spin_unlock_irqrestore(&cl->tx_free_list_spinlock, - tx_free_flags); - } else { - /* Send IPC fragment */ - spin_unlock_irqrestore(&cl->tx_list_spinlock, tx_flags); - cl->tx_offs += dev->mtu; - ishtp_hdr.length = dev->mtu; - ishtp_hdr.msg_complete = 0; - ishtp_send_msg(dev, &ishtp_hdr, pmsg, ipc_tx_callback, cl); + while (rem > 0) { + ishtp_hdr.host_addr = cl->host_client_id; + ishtp_hdr.fw_addr = cl->fw_client_id; + ishtp_hdr.reserved = 0; + pmsg = cl_msg->send_buf.data + cl->tx_offs; + + if (rem <= dev->mtu) { + /* Last fragment or only one packet */ + ishtp_hdr.length = rem; + ishtp_hdr.msg_complete = 1; + /* Submit to IPC queue with no callback */ + ishtp_write_message(dev, &ishtp_hdr, pmsg); + cl->tx_offs = 0; + cl->sending = 0; + + break; + } else { + /* Send ipc fragment */ + ishtp_hdr.length = dev->mtu; + ishtp_hdr.msg_complete = 0; + /* All fregments submitted to IPC queue with no callback */ + ishtp_write_message(dev, &ishtp_hdr, pmsg); + cl->tx_offs += dev->mtu; + rem = cl_msg->send_buf.size - cl->tx_offs; + } } + + list_del_init(&cl_msg->list); + spin_unlock_irqrestore(&cl->tx_list_spinlock, tx_flags); + + spin_lock_irqsave(&cl->tx_free_list_spinlock, tx_free_flags); + list_add_tail(&cl_msg->list, &cl->tx_free_list.list); + ++cl->tx_ring_free_size; + spin_unlock_irqrestore(&cl->tx_free_list_spinlock, + tx_free_flags); } /** @@ -720,7 +730,7 @@ return; cl->tx_offs = 0; - ipc_tx_callback(cl); + ipc_tx_send(cl); ++cl->send_msg_cnt_ipc; } --- linux-gcp-5.19.0.orig/drivers/hid/intel-ish-hid/ishtp/dma-if.c +++ linux-gcp-5.19.0/drivers/hid/intel-ish-hid/ishtp/dma-if.c @@ -104,6 +104,11 @@ int required_slots = (size / DMA_SLOT_SIZE) + 1 * (size % DMA_SLOT_SIZE != 0); + if (!dev->ishtp_dma_tx_map) { + dev_err(dev->devc, "Fail to allocate Tx map\n"); + return NULL; + } + spin_lock_irqsave(&dev->ishtp_dma_tx_lock, flags); for (i = 0; i <= (dev->ishtp_dma_num_slots - required_slots); i++) { free = 1; @@ -150,6 +155,11 @@ return; } + if (!dev->ishtp_dma_tx_map) { + dev_err(dev->devc, "Fail to allocate Tx map\n"); + return; + } + i = (msg_addr - dev->ishtp_host_dma_tx_buf) / DMA_SLOT_SIZE; spin_lock_irqsave(&dev->ishtp_dma_tx_lock, flags); for (j = 0; j < acked_slots; j++) { --- linux-gcp-5.19.0.orig/drivers/hid/wacom_sys.c +++ linux-gcp-5.19.0/drivers/hid/wacom_sys.c @@ -160,6 +160,9 @@ { struct wacom *wacom = hid_get_drvdata(hdev); + if (wacom->wacom_wac.features.type == BOOTLOADER) + return 0; + if (size > WACOM_PKGLEN_MAX) return 1; @@ -2121,7 +2124,7 @@ error = wacom_setup_pad_input_capabilities(pad_input_dev, wacom_wac); if (error) { - /* no pad in use on this interface */ + /* no pad events using this interface */ input_free_device(pad_input_dev); wacom_wac->pad_input = NULL; pad_input_dev = NULL; @@ -2789,6 +2792,11 @@ return error; } + if (features->type == BOOTLOADER) { + hid_warn(hdev, "Using device in hidraw-only mode"); + return hid_hw_start(hdev, HID_CONNECT_HIDRAW); + } + error = wacom_parse_and_register(wacom, false); if (error) return error; --- linux-gcp-5.19.0.orig/drivers/hid/wacom_wac.c +++ linux-gcp-5.19.0/drivers/hid/wacom_wac.c @@ -638,9 +638,26 @@ return (tool_id & ~0xFFF) << 4 | (tool_id & 0xFFF); } +static bool wacom_is_art_pen(int tool_id) +{ + bool is_art_pen = false; + + switch (tool_id) { + case 0x885: /* Intuos3 Marker Pen */ + case 0x804: /* Intuos4/5 13HD/24HD Marker Pen */ + case 0x10804: /* Intuos4/5 13HD/24HD Art Pen */ + is_art_pen = true; + break; + } + return is_art_pen; +} + static int wacom_intuos_get_tool_type(int tool_id) { - int tool_type; + int tool_type = BTN_TOOL_PEN; + + if (wacom_is_art_pen(tool_id)) + return tool_type; switch (tool_id) { case 0x812: /* Inking pen */ @@ -655,12 +672,9 @@ case 0x852: case 0x823: /* Intuos3 Grip Pen */ case 0x813: /* Intuos3 Classic Pen */ - case 0x885: /* Intuos3 Marker Pen */ case 0x802: /* Intuos4/5 13HD/24HD General Pen */ - case 0x804: /* Intuos4/5 13HD/24HD Marker Pen */ case 0x8e2: /* IntuosHT2 pen */ case 0x022: - case 0x10804: /* Intuos4/5 13HD/24HD Art Pen */ case 0x10842: /* MobileStudio Pro Pro Pen slim */ case 0x14802: /* Intuos4/5 13HD/24HD Classic Pen */ case 0x16802: /* Cintiq 13HD Pro Pen */ @@ -718,10 +732,6 @@ case 0x10902: /* Intuos4/5 13HD/24HD Airbrush */ tool_type = BTN_TOOL_AIRBRUSH; break; - - default: /* Unknown tool */ - tool_type = BTN_TOOL_PEN; - break; } return tool_type; } @@ -2009,7 +2019,6 @@ wacom_wac->has_mute_touch_switch = true; usage->type = EV_SW; usage->code = SW_MUTE_DEVICE; - features->device_type |= WACOM_DEVICETYPE_PAD; break; case WACOM_HID_WD_TOUCHSTRIP: wacom_map_usage(input, usage, field, EV_ABS, ABS_RX, 0); @@ -2089,6 +2098,30 @@ wacom_wac->hid_data.inrange_state |= value; } + /* Process touch switch state first since it is reported through touch interface, + * which is indepentent of pad interface. In the case when there are no other pad + * events, the pad interface will not even be created. + */ + if ((equivalent_usage == WACOM_HID_WD_MUTE_DEVICE) || + (equivalent_usage == WACOM_HID_WD_TOUCHONOFF)) { + if (wacom_wac->shared->touch_input) { + bool *is_touch_on = &wacom_wac->shared->is_touch_on; + + if (equivalent_usage == WACOM_HID_WD_MUTE_DEVICE && value) + *is_touch_on = !(*is_touch_on); + else if (equivalent_usage == WACOM_HID_WD_TOUCHONOFF) + *is_touch_on = value; + + input_report_switch(wacom_wac->shared->touch_input, + SW_MUTE_DEVICE, !(*is_touch_on)); + input_sync(wacom_wac->shared->touch_input); + } + return; + } + + if (!input) + return; + switch (equivalent_usage) { case WACOM_HID_WD_TOUCHRING: /* @@ -2124,22 +2157,6 @@ input_event(input, usage->type, usage->code, 0); break; - case WACOM_HID_WD_MUTE_DEVICE: - case WACOM_HID_WD_TOUCHONOFF: - if (wacom_wac->shared->touch_input) { - bool *is_touch_on = &wacom_wac->shared->is_touch_on; - - if (equivalent_usage == WACOM_HID_WD_MUTE_DEVICE && value) - *is_touch_on = !(*is_touch_on); - else if (equivalent_usage == WACOM_HID_WD_TOUCHONOFF) - *is_touch_on = value; - - input_report_switch(wacom_wac->shared->touch_input, - SW_MUTE_DEVICE, !(*is_touch_on)); - input_sync(wacom_wac->shared->touch_input); - } - break; - case WACOM_HID_WD_MODE_CHANGE: if (wacom_wac->is_direct_mode != value) { wacom_wac->is_direct_mode = value; @@ -2336,6 +2353,9 @@ } return; case HID_DG_TWIST: + /* don't modify the value if the pen doesn't support the feature */ + if (!wacom_is_art_pen(wacom_wac->id[0])) return; + /* * Userspace expects pen twist to have its zero point when * the buttons/finger is on the tablet's left. HID values @@ -2463,11 +2483,12 @@ if (!delay_pen_events(wacom_wac) && wacom_wac->tool[0]) { int id = wacom_wac->id[0]; - if (wacom_wac->features.quirks & WACOM_QUIRK_PEN_BUTTON3 && - wacom_wac->hid_data.barrelswitch & wacom_wac->hid_data.barrelswitch2) { - wacom_wac->hid_data.barrelswitch = 0; - wacom_wac->hid_data.barrelswitch2 = 0; - wacom_wac->hid_data.barrelswitch3 = 1; + if (wacom_wac->features.quirks & WACOM_QUIRK_PEN_BUTTON3) { + int sw_state = wacom_wac->hid_data.barrelswitch | + (wacom_wac->hid_data.barrelswitch2 << 1); + wacom_wac->hid_data.barrelswitch = sw_state == 1; + wacom_wac->hid_data.barrelswitch2 = sw_state == 2; + wacom_wac->hid_data.barrelswitch3 = sw_state == 3; } input_report_key(input, BTN_STYLUS, wacom_wac->hid_data.barrelswitch); input_report_key(input, BTN_STYLUS2, wacom_wac->hid_data.barrelswitch2); @@ -2822,7 +2843,7 @@ /* usage tests must precede field tests */ if (WACOM_BATTERY_USAGE(usage)) wacom_wac_battery_event(hdev, field, usage, value); - else if (WACOM_PAD_FIELD(field) && wacom->wacom_wac.pad_input) + else if (WACOM_PAD_FIELD(field)) wacom_wac_pad_event(hdev, field, usage, value); else if (WACOM_PEN_FIELD(field) && wacom->wacom_wac.pen_input) wacom_wac_pen_event(hdev, field, usage, value); @@ -4820,6 +4841,9 @@ static const struct wacom_features wacom_features_HID_ANY_ID = { "Wacom HID", .type = HID_GENERIC, .oVid = HID_ANY_ID, .oPid = HID_ANY_ID }; +static const struct wacom_features wacom_features_0x94 = + { "Wacom Bootloader", .type = BOOTLOADER }; + #define USB_DEVICE_WACOM(prod) \ HID_DEVICE(BUS_USB, HID_GROUP_WACOM, USB_VENDOR_ID_WACOM, prod),\ .driver_data = (kernel_ulong_t)&wacom_features_##prod @@ -4893,6 +4917,7 @@ { USB_DEVICE_WACOM(0x84) }, { USB_DEVICE_WACOM(0x90) }, { USB_DEVICE_WACOM(0x93) }, + { USB_DEVICE_WACOM(0x94) }, { USB_DEVICE_WACOM(0x97) }, { USB_DEVICE_WACOM(0x9A) }, { USB_DEVICE_WACOM(0x9F) }, --- linux-gcp-5.19.0.orig/drivers/hid/wacom_wac.h +++ linux-gcp-5.19.0/drivers/hid/wacom_wac.h @@ -245,6 +245,7 @@ MTTPC, MTTPC_B, HID_GENERIC, + BOOTLOADER, MAX_TYPE }; --- linux-gcp-5.19.0.orig/drivers/hsi/clients/ssi_protocol.c +++ linux-gcp-5.19.0/drivers/hsi/clients/ssi_protocol.c @@ -931,6 +931,7 @@ if (err < 0) { dev_err(&cl->device, "Register HSI port event failed (%d)\n", err); + hsi_release_port(cl); return err; } dev_dbg(&cl->device, "Configuring SSI port\n"); --- linux-gcp-5.19.0.orig/drivers/hsi/controllers/omap_ssi_core.c +++ linux-gcp-5.19.0/drivers/hsi/controllers/omap_ssi_core.c @@ -502,8 +502,10 @@ platform_set_drvdata(pd, ssi); err = ssi_add_controller(ssi, pd); - if (err < 0) + if (err < 0) { + hsi_put_controller(ssi); goto out1; + } pm_runtime_enable(&pd->dev); @@ -524,6 +526,7 @@ if (!childpdev) { err = -ENODEV; dev_err(&pd->dev, "failed to create ssi controller port\n"); + of_node_put(child); goto out3; } } @@ -535,9 +538,9 @@ device_for_each_child(&pd->dev, NULL, ssi_remove_ports); out2: ssi_remove_controller(ssi); + pm_runtime_disable(&pd->dev); out1: platform_set_drvdata(pd, NULL); - pm_runtime_disable(&pd->dev); return err; } @@ -628,7 +631,13 @@ if (ret) return ret; - return platform_driver_register(&ssi_port_pdriver); + ret = platform_driver_register(&ssi_port_pdriver); + if (ret) { + platform_driver_unregister(&ssi_pdriver); + return ret; + } + + return 0; } module_init(ssi_init); --- linux-gcp-5.19.0.orig/drivers/hsi/controllers/omap_ssi_port.c +++ linux-gcp-5.19.0/drivers/hsi/controllers/omap_ssi_port.c @@ -230,10 +230,10 @@ if (msg->ttype == HSI_MSG_READ) { err = dma_map_sg(&ssi->device, msg->sgt.sgl, msg->sgt.nents, DMA_FROM_DEVICE); - if (err < 0) { + if (!err) { dev_dbg(&ssi->device, "DMA map SG failed !\n"); pm_runtime_put_autosuspend(omap_port->pdev); - return err; + return -EIO; } csdp = SSI_DST_BURST_4x32_BIT | SSI_DST_MEMORY_PORT | SSI_SRC_SINGLE_ACCESS0 | SSI_SRC_PERIPHERAL_PORT | @@ -247,10 +247,10 @@ } else { err = dma_map_sg(&ssi->device, msg->sgt.sgl, msg->sgt.nents, DMA_TO_DEVICE); - if (err < 0) { + if (!err) { dev_dbg(&ssi->device, "DMA map SG failed !\n"); pm_runtime_put_autosuspend(omap_port->pdev); - return err; + return -EIO; } csdp = SSI_SRC_BURST_4x32_BIT | SSI_SRC_MEMORY_PORT | SSI_DST_SINGLE_ACCESS0 | SSI_DST_PERIPHERAL_PORT | --- linux-gcp-5.19.0.orig/drivers/hv/channel_mgmt.c +++ linux-gcp-5.19.0/drivers/hv/channel_mgmt.c @@ -533,13 +533,17 @@ * Add the new device to the bus. This will kick off device-driver * binding which eventually invokes the device driver's AddDevice() * method. + * + * If vmbus_device_register() fails, the 'device_obj' is freed in + * vmbus_device_release() as called by device_unregister() in the + * error path of vmbus_device_register(). In the outside error + * path, there's no need to free it. */ ret = vmbus_device_register(newchannel->device_obj); if (ret != 0) { pr_err("unable to add child device object (relid %d)\n", newchannel->offermsg.child_relid); - kfree(newchannel->device_obj); goto err_deq_chan; } --- linux-gcp-5.19.0.orig/drivers/hv/ring_buffer.c +++ linux-gcp-5.19.0/drivers/hv/ring_buffer.c @@ -280,6 +280,19 @@ ring_info->pkt_buffer_size = 0; } +/* + * Check if the ring buffer spinlock is available to take or not; used on + * atomic contexts, like panic path (see the Hyper-V framebuffer driver). + */ + +bool hv_ringbuffer_spinlock_busy(struct vmbus_channel *channel) +{ + struct hv_ring_buffer_info *rinfo = &channel->outbound; + + return spin_is_locked(&rinfo->ring_lock); +} +EXPORT_SYMBOL_GPL(hv_ringbuffer_spinlock_busy); + /* Write to the ring buffer. */ int hv_ringbuffer_write(struct vmbus_channel *channel, const struct kvec *kv_list, u32 kv_count, --- linux-gcp-5.19.0.orig/drivers/hv/vmbus_drv.c +++ linux-gcp-5.19.0/drivers/hv/vmbus_drv.c @@ -2078,6 +2078,7 @@ ret = device_register(&child_device_obj->device); if (ret) { pr_err("Unable to register child device\n"); + put_device(&child_device_obj->device); return ret; } @@ -2309,7 +2310,7 @@ bool fb_overlap_ok) { struct resource *iter, *shadow; - resource_size_t range_min, range_max, start; + resource_size_t range_min, range_max, start, end; const char *dev_n = dev_name(&device_obj->device); int retval; @@ -2344,6 +2345,14 @@ range_max = iter->end; start = (range_min + align - 1) & ~(align - 1); for (; start + size - 1 <= range_max; start += align) { + end = start + size - 1; + + /* Skip the whole fb_mmio region if not fb_overlap_ok */ + if (!fb_overlap_ok && fb_mmio && + (((start >= fb_mmio->start) && (start <= fb_mmio->end)) || + ((end >= fb_mmio->start) && (end <= fb_mmio->end)))) + continue; + shadow = __request_region(iter, start, size, NULL, IORESOURCE_BUSY); if (!shadow) --- linux-gcp-5.19.0.orig/drivers/hwmon/Kconfig +++ linux-gcp-5.19.0/drivers/hwmon/Kconfig @@ -38,6 +38,18 @@ comment "Native drivers" +config SENSORS_AAEON + tristate "AAEON hwmon driver" + depends on X86 + depends on UBUNTU_ODM_DRIVERS + select MFD_AAEON + help + This hwmon driver adds support for reporting temperature or fan + speed and voltage on Single Board Computers produced by AAEON. + + This driver leverages the ASUS WMI interface to access device + resources. + config SENSORS_ABITUGURU tristate "Abit uGuru (rev 1 & 2)" depends on X86 && DMI @@ -797,6 +809,7 @@ config SENSORS_JC42 tristate "JEDEC JC42.4 compliant memory module temperature sensors" depends on I2C + select REGMAP_I2C help If you say yes here, you get support for JEDEC JC42.4 compliant temperature sensors, which are used on many DDR3 memory modules for --- linux-gcp-5.19.0.orig/drivers/hwmon/Makefile +++ linux-gcp-5.19.0/drivers/hwmon/Makefile @@ -84,6 +84,7 @@ obj-$(CONFIG_SENSORS_GSC) += gsc-hwmon.o obj-$(CONFIG_SENSORS_GPIO_FAN) += gpio-fan.o obj-$(CONFIG_SENSORS_HIH6130) += hih6130.o +obj-$(CONFIG_SENSORS_AAEON) += hwmon-aaeon.o obj-$(CONFIG_SENSORS_ULTRA45) += ultra45_env.o obj-$(CONFIG_SENSORS_I5500) += i5500_temp.o obj-$(CONFIG_SENSORS_I5K_AMB) += i5k_amb.o --- linux-gcp-5.19.0.orig/drivers/hwmon/asus-ec-sensors.c +++ linux-gcp-5.19.0/drivers/hwmon/asus-ec-sensors.c @@ -54,6 +54,10 @@ /* ACPI mutex for locking access to the EC for the firmware */ #define ASUS_HW_ACCESS_MUTEX_ASMX "\\AMW0.ASMX" +#define ASUS_HW_ACCESS_MUTEX_RMTW_ASMX "\\RMTW.ASMX" + +#define ASUS_HW_ACCESS_MUTEX_SB_PCI0_SBRG_SIO1_MUT0 "\\_SB_.PCI0.SBRG.SIO1.MUT0" + #define MAX_IDENTICAL_BOARD_VARIATIONS 3 /* Moniker for the ACPI global lock (':' is not allowed in ASL identifiers) */ @@ -119,6 +123,18 @@ ec_sensor_temp_water_in, /* "Water_Out" temperature sensor reading [℃] */ ec_sensor_temp_water_out, + /* "Water_Block_In" temperature sensor reading [℃] */ + ec_sensor_temp_water_block_in, + /* "Water_Block_Out" temperature sensor reading [℃] */ + ec_sensor_temp_water_block_out, + /* "T_sensor_2" temperature sensor reading [℃] */ + ec_sensor_temp_t_sensor_2, + /* "Extra_1" temperature sensor reading [℃] */ + ec_sensor_temp_sensor_extra_1, + /* "Extra_2" temperature sensor reading [℃] */ + ec_sensor_temp_sensor_extra_2, + /* "Extra_3" temperature sensor reading [℃] */ + ec_sensor_temp_sensor_extra_3, }; #define SENSOR_TEMP_CHIPSET BIT(ec_sensor_temp_chipset) @@ -134,11 +150,19 @@ #define SENSOR_CURR_CPU BIT(ec_sensor_curr_cpu) #define SENSOR_TEMP_WATER_IN BIT(ec_sensor_temp_water_in) #define SENSOR_TEMP_WATER_OUT BIT(ec_sensor_temp_water_out) +#define SENSOR_TEMP_WATER_BLOCK_IN BIT(ec_sensor_temp_water_block_in) +#define SENSOR_TEMP_WATER_BLOCK_OUT BIT(ec_sensor_temp_water_block_out) +#define SENSOR_TEMP_T_SENSOR_2 BIT(ec_sensor_temp_t_sensor_2) +#define SENSOR_TEMP_SENSOR_EXTRA_1 BIT(ec_sensor_temp_sensor_extra_1) +#define SENSOR_TEMP_SENSOR_EXTRA_2 BIT(ec_sensor_temp_sensor_extra_2) +#define SENSOR_TEMP_SENSOR_EXTRA_3 BIT(ec_sensor_temp_sensor_extra_3) enum board_family { family_unknown, family_amd_400_series, family_amd_500_series, + family_intel_300_series, + family_intel_600_series }; /* All the known sensors for ASUS EC controllers */ @@ -195,15 +219,54 @@ EC_SENSOR("Water_In", hwmon_temp, 1, 0x01, 0x00), [ec_sensor_temp_water_out] = EC_SENSOR("Water_Out", hwmon_temp, 1, 0x01, 0x01), + [ec_sensor_temp_water_block_in] = + EC_SENSOR("Water_Block_In", hwmon_temp, 1, 0x01, 0x02), + [ec_sensor_temp_water_block_out] = + EC_SENSOR("Water_Block_Out", hwmon_temp, 1, 0x01, 0x03), + [ec_sensor_temp_sensor_extra_1] = + EC_SENSOR("Extra_1", hwmon_temp, 1, 0x01, 0x09), + [ec_sensor_temp_t_sensor_2] = + EC_SENSOR("T_sensor_2", hwmon_temp, 1, 0x01, 0x0a), + [ec_sensor_temp_sensor_extra_2] = + EC_SENSOR("Extra_2", hwmon_temp, 1, 0x01, 0x0b), + [ec_sensor_temp_sensor_extra_3] = + EC_SENSOR("Extra_3", hwmon_temp, 1, 0x01, 0x0c), +}; + +static const struct ec_sensor_info sensors_family_intel_300[] = { + [ec_sensor_temp_chipset] = + EC_SENSOR("Chipset", hwmon_temp, 1, 0x00, 0x3a), + [ec_sensor_temp_cpu] = EC_SENSOR("CPU", hwmon_temp, 1, 0x00, 0x3b), + [ec_sensor_temp_mb] = + EC_SENSOR("Motherboard", hwmon_temp, 1, 0x00, 0x3c), + [ec_sensor_temp_t_sensor] = + EC_SENSOR("T_Sensor", hwmon_temp, 1, 0x00, 0x3d), + [ec_sensor_temp_vrm] = EC_SENSOR("VRM", hwmon_temp, 1, 0x00, 0x3e), + [ec_sensor_fan_cpu_opt] = + EC_SENSOR("CPU_Opt", hwmon_fan, 2, 0x00, 0xb0), + [ec_sensor_fan_vrm_hs] = EC_SENSOR("VRM HS", hwmon_fan, 2, 0x00, 0xb2), + [ec_sensor_fan_water_flow] = + EC_SENSOR("Water_Flow", hwmon_fan, 2, 0x00, 0xbc), + [ec_sensor_temp_water_in] = + EC_SENSOR("Water_In", hwmon_temp, 1, 0x01, 0x00), + [ec_sensor_temp_water_out] = + EC_SENSOR("Water_Out", hwmon_temp, 1, 0x01, 0x01), +}; + +static const struct ec_sensor_info sensors_family_intel_600[] = { + [ec_sensor_temp_t_sensor] = + EC_SENSOR("T_Sensor", hwmon_temp, 1, 0x00, 0x3d), + [ec_sensor_temp_vrm] = EC_SENSOR("VRM", hwmon_temp, 1, 0x00, 0x3e), }; /* Shortcuts for common combinations */ #define SENSOR_SET_TEMP_CHIPSET_CPU_MB \ (SENSOR_TEMP_CHIPSET | SENSOR_TEMP_CPU | SENSOR_TEMP_MB) #define SENSOR_SET_TEMP_WATER (SENSOR_TEMP_WATER_IN | SENSOR_TEMP_WATER_OUT) +#define SENSOR_SET_WATER_BLOCK \ + (SENSOR_TEMP_WATER_BLOCK_IN | SENSOR_TEMP_WATER_BLOCK_OUT) struct ec_board_info { - const char *board_names[MAX_IDENTICAL_BOARD_VARIATIONS]; unsigned long sensors; /* * Defines which mutex to use for guarding access to the state and the @@ -216,121 +279,195 @@ enum board_family family; }; -static const struct ec_board_info board_info[] = { - { - .board_names = {"PRIME X470-PRO"}, - .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | - SENSOR_TEMP_T_SENSOR | SENSOR_TEMP_VRM | - SENSOR_FAN_CPU_OPT | - SENSOR_CURR_CPU | SENSOR_IN_CPU_CORE, - .mutex_path = ACPI_GLOBAL_LOCK_PSEUDO_PATH, - .family = family_amd_400_series, - }, - { - .board_names = {"PRIME X570-PRO"}, - .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | SENSOR_TEMP_VRM | - SENSOR_TEMP_T_SENSOR | SENSOR_FAN_CHIPSET, - .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, - .family = family_amd_500_series, - }, - { - .board_names = {"ProArt X570-CREATOR WIFI"}, - .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | SENSOR_TEMP_VRM | - SENSOR_TEMP_T_SENSOR | SENSOR_FAN_CPU_OPT | - SENSOR_CURR_CPU | SENSOR_IN_CPU_CORE, - }, - { - .board_names = {"Pro WS X570-ACE"}, - .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | SENSOR_TEMP_VRM | - SENSOR_TEMP_T_SENSOR | SENSOR_FAN_CHIPSET | - SENSOR_CURR_CPU | SENSOR_IN_CPU_CORE, - .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, - .family = family_amd_500_series, - }, - { - .board_names = {"ROG CROSSHAIR VIII DARK HERO"}, - .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | - SENSOR_TEMP_T_SENSOR | - SENSOR_TEMP_VRM | SENSOR_SET_TEMP_WATER | - SENSOR_FAN_CPU_OPT | SENSOR_FAN_WATER_FLOW | - SENSOR_CURR_CPU | SENSOR_IN_CPU_CORE, - .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, - .family = family_amd_500_series, - }, - { - .board_names = { - "ROG CROSSHAIR VIII FORMULA", - "ROG CROSSHAIR VIII HERO", - "ROG CROSSHAIR VIII HERO (WI-FI)", - }, - .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | - SENSOR_TEMP_T_SENSOR | - SENSOR_TEMP_VRM | SENSOR_SET_TEMP_WATER | - SENSOR_FAN_CPU_OPT | SENSOR_FAN_CHIPSET | - SENSOR_FAN_WATER_FLOW | SENSOR_CURR_CPU | - SENSOR_IN_CPU_CORE, - .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, - .family = family_amd_500_series, - }, - { - .board_names = {"ROG CROSSHAIR VIII IMPACT"}, - .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | - SENSOR_TEMP_T_SENSOR | SENSOR_TEMP_VRM | - SENSOR_FAN_CHIPSET | SENSOR_CURR_CPU | - SENSOR_IN_CPU_CORE, - .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, - .family = family_amd_500_series, - }, - { - .board_names = {"ROG STRIX B550-E GAMING"}, - .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | - SENSOR_TEMP_T_SENSOR | SENSOR_TEMP_VRM | - SENSOR_FAN_CPU_OPT, - .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, - .family = family_amd_500_series, - }, - { - .board_names = {"ROG STRIX B550-I GAMING"}, - .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | - SENSOR_TEMP_T_SENSOR | SENSOR_TEMP_VRM | - SENSOR_FAN_VRM_HS | SENSOR_CURR_CPU | - SENSOR_IN_CPU_CORE, - .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, - .family = family_amd_500_series, - }, - { - .board_names = {"ROG STRIX X570-E GAMING"}, - .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | - SENSOR_TEMP_T_SENSOR | SENSOR_TEMP_VRM | - SENSOR_FAN_CHIPSET | SENSOR_CURR_CPU | - SENSOR_IN_CPU_CORE, - .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, - .family = family_amd_500_series, - }, - { - .board_names = {"ROG STRIX X570-E GAMING WIFI II"}, - .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | - SENSOR_TEMP_T_SENSOR | SENSOR_CURR_CPU | - SENSOR_IN_CPU_CORE, - .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, - .family = family_amd_500_series, - }, - { - .board_names = {"ROG STRIX X570-F GAMING"}, - .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | - SENSOR_TEMP_T_SENSOR | SENSOR_FAN_CHIPSET, - .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, - .family = family_amd_500_series, - }, - { - .board_names = {"ROG STRIX X570-I GAMING"}, - .sensors = SENSOR_TEMP_T_SENSOR | SENSOR_FAN_VRM_HS | - SENSOR_FAN_CHIPSET | SENSOR_CURR_CPU | - SENSOR_IN_CPU_CORE, - .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, - .family = family_amd_500_series, - }, - {} +static const struct ec_board_info board_info_prime_x470_pro = { + .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | + SENSOR_TEMP_T_SENSOR | SENSOR_TEMP_VRM | + SENSOR_FAN_CPU_OPT | + SENSOR_CURR_CPU | SENSOR_IN_CPU_CORE, + .mutex_path = ACPI_GLOBAL_LOCK_PSEUDO_PATH, + .family = family_amd_400_series, +}; + +static const struct ec_board_info board_info_prime_x570_pro = { + .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | SENSOR_TEMP_VRM | + SENSOR_TEMP_T_SENSOR | SENSOR_FAN_CHIPSET, + .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, + .family = family_amd_500_series, +}; + +static const struct ec_board_info board_info_pro_art_x570_creator_wifi = { + .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | SENSOR_TEMP_VRM | + SENSOR_TEMP_T_SENSOR | SENSOR_FAN_CPU_OPT | + SENSOR_CURR_CPU | SENSOR_IN_CPU_CORE, + .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, + .family = family_amd_500_series, +}; + +static const struct ec_board_info board_info_pro_ws_x570_ace = { + .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | SENSOR_TEMP_VRM | + SENSOR_TEMP_T_SENSOR | SENSOR_FAN_CHIPSET | + SENSOR_CURR_CPU | SENSOR_IN_CPU_CORE, + .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, + .family = family_amd_500_series, +}; + +static const struct ec_board_info board_info_crosshair_viii_dark_hero = { + .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | + SENSOR_TEMP_T_SENSOR | + SENSOR_TEMP_VRM | SENSOR_SET_TEMP_WATER | + SENSOR_FAN_CPU_OPT | SENSOR_FAN_WATER_FLOW | + SENSOR_CURR_CPU | SENSOR_IN_CPU_CORE, + .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, + .family = family_amd_500_series, +}; + +static const struct ec_board_info board_info_crosshair_viii_hero = { + .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | + SENSOR_TEMP_T_SENSOR | + SENSOR_TEMP_VRM | SENSOR_SET_TEMP_WATER | + SENSOR_FAN_CPU_OPT | SENSOR_FAN_CHIPSET | + SENSOR_FAN_WATER_FLOW | SENSOR_CURR_CPU | + SENSOR_IN_CPU_CORE, + .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, + .family = family_amd_500_series, +}; + +static const struct ec_board_info board_info_maximus_xi_hero = { + .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | + SENSOR_TEMP_T_SENSOR | + SENSOR_TEMP_VRM | SENSOR_SET_TEMP_WATER | + SENSOR_FAN_CPU_OPT | SENSOR_FAN_WATER_FLOW, + .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, + .family = family_intel_300_series, +}; + +static const struct ec_board_info board_info_crosshair_viii_impact = { + .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | + SENSOR_TEMP_T_SENSOR | SENSOR_TEMP_VRM | + SENSOR_FAN_CHIPSET | SENSOR_CURR_CPU | + SENSOR_IN_CPU_CORE, + .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, + .family = family_amd_500_series, +}; + +static const struct ec_board_info board_info_strix_b550_e_gaming = { + .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | + SENSOR_TEMP_T_SENSOR | SENSOR_TEMP_VRM | + SENSOR_FAN_CPU_OPT, + .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, + .family = family_amd_500_series, +}; + +static const struct ec_board_info board_info_strix_b550_i_gaming = { + .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | + SENSOR_TEMP_T_SENSOR | SENSOR_TEMP_VRM | + SENSOR_FAN_VRM_HS | SENSOR_CURR_CPU | + SENSOR_IN_CPU_CORE, + .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, + .family = family_amd_500_series, +}; + +static const struct ec_board_info board_info_strix_x570_e_gaming = { + .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | + SENSOR_TEMP_T_SENSOR | SENSOR_TEMP_VRM | + SENSOR_FAN_CHIPSET | SENSOR_CURR_CPU | + SENSOR_IN_CPU_CORE, + .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, + .family = family_amd_500_series, +}; + +static const struct ec_board_info board_info_strix_x570_e_gaming_wifi_ii = { + .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | + SENSOR_TEMP_T_SENSOR | SENSOR_CURR_CPU | + SENSOR_IN_CPU_CORE, + .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, + .family = family_amd_500_series, +}; + +static const struct ec_board_info board_info_strix_x570_f_gaming = { + .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | + SENSOR_TEMP_T_SENSOR | SENSOR_FAN_CHIPSET, + .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, + .family = family_amd_500_series, +}; + +static const struct ec_board_info board_info_strix_x570_i_gaming = { + .sensors = SENSOR_TEMP_CHIPSET | SENSOR_TEMP_VRM | + SENSOR_TEMP_T_SENSOR | + SENSOR_FAN_VRM_HS | SENSOR_FAN_CHIPSET | + SENSOR_CURR_CPU | SENSOR_IN_CPU_CORE, + .mutex_path = ASUS_HW_ACCESS_MUTEX_ASMX, + .family = family_amd_500_series, +}; + +static const struct ec_board_info board_info_strix_z690_a_gaming_wifi_d4 = { + .sensors = SENSOR_TEMP_T_SENSOR | SENSOR_TEMP_VRM, + .mutex_path = ASUS_HW_ACCESS_MUTEX_RMTW_ASMX, + .family = family_intel_600_series, +}; + +static const struct ec_board_info board_info_zenith_ii_extreme = { + .sensors = SENSOR_SET_TEMP_CHIPSET_CPU_MB | SENSOR_TEMP_T_SENSOR | + SENSOR_TEMP_VRM | SENSOR_SET_TEMP_WATER | + SENSOR_FAN_CPU_OPT | SENSOR_FAN_CHIPSET | SENSOR_FAN_VRM_HS | + SENSOR_FAN_WATER_FLOW | SENSOR_CURR_CPU | SENSOR_IN_CPU_CORE | + SENSOR_SET_WATER_BLOCK | + SENSOR_TEMP_T_SENSOR_2 | SENSOR_TEMP_SENSOR_EXTRA_1 | + SENSOR_TEMP_SENSOR_EXTRA_2 | SENSOR_TEMP_SENSOR_EXTRA_3, + .mutex_path = ASUS_HW_ACCESS_MUTEX_SB_PCI0_SBRG_SIO1_MUT0, + .family = family_amd_500_series, +}; + +#define DMI_EXACT_MATCH_ASUS_BOARD_NAME(name, board_info) \ + { \ + .matches = { \ + DMI_EXACT_MATCH(DMI_BOARD_VENDOR, \ + "ASUSTeK COMPUTER INC."), \ + DMI_EXACT_MATCH(DMI_BOARD_NAME, name), \ + }, \ + .driver_data = (void *)board_info, \ + } + +static const struct dmi_system_id dmi_table[] = { + DMI_EXACT_MATCH_ASUS_BOARD_NAME("PRIME X470-PRO", + &board_info_prime_x470_pro), + DMI_EXACT_MATCH_ASUS_BOARD_NAME("PRIME X570-PRO", + &board_info_prime_x570_pro), + DMI_EXACT_MATCH_ASUS_BOARD_NAME("ProArt X570-CREATOR WIFI", + &board_info_pro_art_x570_creator_wifi), + DMI_EXACT_MATCH_ASUS_BOARD_NAME("Pro WS X570-ACE", + &board_info_pro_ws_x570_ace), + DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG CROSSHAIR VIII DARK HERO", + &board_info_crosshair_viii_dark_hero), + DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG CROSSHAIR VIII FORMULA", + &board_info_crosshair_viii_hero), + DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG CROSSHAIR VIII HERO", + &board_info_crosshair_viii_hero), + DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG CROSSHAIR VIII HERO (WI-FI)", + &board_info_crosshair_viii_hero), + DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG MAXIMUS XI HERO", + &board_info_maximus_xi_hero), + DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG MAXIMUS XI HERO (WI-FI)", + &board_info_maximus_xi_hero), + DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG CROSSHAIR VIII IMPACT", + &board_info_crosshair_viii_impact), + DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG STRIX B550-E GAMING", + &board_info_strix_b550_e_gaming), + DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG STRIX B550-I GAMING", + &board_info_strix_b550_i_gaming), + DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG STRIX X570-E GAMING", + &board_info_strix_x570_e_gaming), + DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG STRIX X570-E GAMING WIFI II", + &board_info_strix_x570_e_gaming_wifi_ii), + DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG STRIX X570-F GAMING", + &board_info_strix_x570_f_gaming), + DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG STRIX X570-I GAMING", + &board_info_strix_x570_i_gaming), + DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG STRIX Z690-A GAMING WIFI D4", + &board_info_strix_z690_a_gaming_wifi_d4), + DMI_EXACT_MATCH_ASUS_BOARD_NAME("ROG ZENITH II EXTREME", + &board_info_zenith_ii_extreme), + {}, }; struct ec_sensor { @@ -441,12 +578,12 @@ return -ENOENT; } -static int __init bank_compare(const void *a, const void *b) +static int bank_compare(const void *a, const void *b) { return *((const s8 *)a) - *((const s8 *)b); } -static void __init setup_sensor_data(struct ec_sensors_data *ec) +static void setup_sensor_data(struct ec_sensors_data *ec) { struct ec_sensor *s = ec->sensors; bool bank_found; @@ -478,7 +615,7 @@ sort(ec->banks, ec->nr_banks, 1, bank_compare, NULL); } -static void __init fill_ec_registers(struct ec_sensors_data *ec) +static void fill_ec_registers(struct ec_sensors_data *ec) { const struct ec_sensor_info *si; unsigned int i, j, register_idx = 0; @@ -493,7 +630,7 @@ } } -static int __init setup_lock_data(struct device *dev) +static int setup_lock_data(struct device *dev) { const char *mutex_path; int status; @@ -716,7 +853,7 @@ return find_ec_sensor_index(state, type, channel) >= 0 ? S_IRUGO : 0; } -static int __init +static int asus_ec_hwmon_add_chan_info(struct hwmon_channel_info *asus_ec_hwmon_chan, struct device *dev, int num, enum hwmon_sensor_types type, u32 config) @@ -745,27 +882,15 @@ .ops = &asus_ec_hwmon_ops, }; -static const struct ec_board_info * __init get_board_info(void) +static const struct ec_board_info *get_board_info(void) { - const char *dmi_board_vendor = dmi_get_system_info(DMI_BOARD_VENDOR); - const char *dmi_board_name = dmi_get_system_info(DMI_BOARD_NAME); - const struct ec_board_info *board; - - if (!dmi_board_vendor || !dmi_board_name || - strcasecmp(dmi_board_vendor, "ASUSTeK COMPUTER INC.")) - return NULL; - - for (board = board_info; board->sensors; board++) { - if (match_string(board->board_names, - MAX_IDENTICAL_BOARD_VARIATIONS, - dmi_board_name) >= 0) - return board; - } + const struct dmi_system_id *dmi_entry; - return NULL; + dmi_entry = dmi_first_match(dmi_table); + return dmi_entry ? dmi_entry->driver_data : NULL; } -static int __init asus_ec_probe(struct platform_device *pdev) +static int asus_ec_probe(struct platform_device *pdev) { const struct hwmon_channel_info **ptr_asus_ec_ci; int nr_count[hwmon_max] = { 0 }, nr_types = 0; @@ -799,6 +924,12 @@ case family_amd_500_series: ec_data->sensors_info = sensors_family_amd_500; break; + case family_intel_300_series: + ec_data->sensors_info = sensors_family_intel_300; + break; + case family_intel_600_series: + ec_data->sensors_info = sensors_family_intel_600; + break; default: dev_err(dev, "Unknown board family: %d", ec_data->board_info->family); @@ -808,6 +939,8 @@ ec_data->nr_sensors = hweight_long(ec_data->board_info->sensors); ec_data->sensors = devm_kcalloc(dev, ec_data->nr_sensors, sizeof(struct ec_sensor), GFP_KERNEL); + if (!ec_data->sensors) + return -ENOMEM; status = setup_lock_data(dev); if (status) { @@ -868,29 +1001,37 @@ return PTR_ERR_OR_ZERO(hwdev); } - -static const struct acpi_device_id acpi_ec_ids[] = { - /* Embedded Controller Device */ - { "PNP0C09", 0 }, - {} -}; +MODULE_DEVICE_TABLE(dmi, dmi_table); static struct platform_driver asus_ec_sensors_platform_driver = { .driver = { .name = "asus-ec-sensors", - .acpi_match_table = acpi_ec_ids, }, + .probe = asus_ec_probe, }; -MODULE_DEVICE_TABLE(acpi, acpi_ec_ids); -/* - * we use module_platform_driver_probe() rather than module_platform_driver() - * because the probe function (and its dependants) are marked with __init, which - * means we can't put it into the .probe member of the platform_driver struct - * above, and we can't mark the asus_ec_sensors_platform_driver object as __init - * because the object is referenced from the module exit code. - */ -module_platform_driver_probe(asus_ec_sensors_platform_driver, asus_ec_probe); +static struct platform_device *asus_ec_sensors_platform_device; + +static int __init asus_ec_init(void) +{ + asus_ec_sensors_platform_device = + platform_create_bundle(&asus_ec_sensors_platform_driver, + asus_ec_probe, NULL, 0, NULL, 0); + + if (IS_ERR(asus_ec_sensors_platform_device)) + return PTR_ERR(asus_ec_sensors_platform_device); + + return 0; +} + +static void __exit asus_ec_exit(void) +{ + platform_device_unregister(asus_ec_sensors_platform_device); + platform_driver_unregister(&asus_ec_sensors_platform_driver); +} + +module_init(asus_ec_init); +module_exit(asus_ec_exit); module_param_named(mutex_path, mutex_path_override, charp, 0); MODULE_PARM_DESC(mutex_path, --- linux-gcp-5.19.0.orig/drivers/hwmon/coretemp.c +++ linux-gcp-5.19.0/drivers/hwmon/coretemp.c @@ -46,9 +46,6 @@ #define TOTAL_ATTRS (MAX_CORE_ATTRS + 1) #define MAX_CORE_DATA (NUM_REAL_CORES + BASE_SYSFS_ATTR_NO) -#define TO_CORE_ID(cpu) (cpu_data(cpu).cpu_core_id) -#define TO_ATTR_NO(cpu) (TO_CORE_ID(cpu) + BASE_SYSFS_ATTR_NO) - #ifdef CONFIG_SMP #define for_each_sibling(i, cpu) \ for_each_cpu(i, topology_sibling_cpumask(cpu)) @@ -91,6 +88,8 @@ struct platform_data { struct device *hwmon_dev; u16 pkg_id; + u16 cpu_map[NUM_REAL_CORES]; + struct ida ida; struct cpumask cpumask; struct temp_data *core_data[MAX_CORE_DATA]; struct device_attribute name_attr; @@ -243,10 +242,13 @@ */ if (host_bridge && host_bridge->vendor == PCI_VENDOR_ID_INTEL) { for (i = 0; i < ARRAY_SIZE(tjmax_pci_table); i++) { - if (host_bridge->device == tjmax_pci_table[i].device) + if (host_bridge->device == tjmax_pci_table[i].device) { + pci_dev_put(host_bridge); return tjmax_pci_table[i].tjmax; + } } } + pci_dev_put(host_bridge); for (i = 0; i < ARRAY_SIZE(tjmax_table); i++) { if (strstr(c->x86_model_id, tjmax_table[i].id)) @@ -441,7 +443,7 @@ MSR_IA32_THERM_STATUS; tdata->is_pkg_data = pkg_flag; tdata->cpu = cpu; - tdata->cpu_core_id = TO_CORE_ID(cpu); + tdata->cpu_core_id = topology_core_id(cpu); tdata->attr_size = MAX_CORE_ATTRS; mutex_init(&tdata->update_lock); return tdata; @@ -454,7 +456,7 @@ struct platform_data *pdata = platform_get_drvdata(pdev); struct cpuinfo_x86 *c = &cpu_data(cpu); u32 eax, edx; - int err, attr_no; + int err, index, attr_no; /* * Find attr number for sysfs: @@ -462,14 +464,26 @@ * The attr number is always core id + 2 * The Pkgtemp will always show up as temp1_*, if available */ - attr_no = pkg_flag ? PKG_SYSFS_ATTR_NO : TO_ATTR_NO(cpu); + if (pkg_flag) { + attr_no = PKG_SYSFS_ATTR_NO; + } else { + index = ida_alloc(&pdata->ida, GFP_KERNEL); + if (index < 0) + return index; + pdata->cpu_map[index] = topology_core_id(cpu); + attr_no = index + BASE_SYSFS_ATTR_NO; + } - if (attr_no > MAX_CORE_DATA - 1) - return -ERANGE; + if (attr_no > MAX_CORE_DATA - 1) { + err = -ERANGE; + goto ida_free; + } tdata = init_temp_data(cpu, pkg_flag); - if (!tdata) - return -ENOMEM; + if (!tdata) { + err = -ENOMEM; + goto ida_free; + } /* Test if we can access the status register */ err = rdmsr_safe_on_cpu(cpu, tdata->status_reg, &eax, &edx); @@ -505,6 +519,9 @@ exit_free: pdata->core_data[attr_no] = NULL; kfree(tdata); +ida_free: + if (!pkg_flag) + ida_free(&pdata->ida, index); return err; } @@ -519,71 +536,63 @@ { struct temp_data *tdata = pdata->core_data[indx]; + /* if we errored on add then this is already gone */ + if (!tdata) + return; + /* Remove the sysfs attributes */ sysfs_remove_group(&pdata->hwmon_dev->kobj, &tdata->attr_group); kfree(pdata->core_data[indx]); pdata->core_data[indx] = NULL; + + if (indx >= BASE_SYSFS_ATTR_NO) + ida_free(&pdata->ida, indx - BASE_SYSFS_ATTR_NO); } -static int coretemp_probe(struct platform_device *pdev) +static int coretemp_device_add(int zoneid) { - struct device *dev = &pdev->dev; + struct platform_device *pdev; struct platform_data *pdata; + int err; /* Initialize the per-zone data structures */ - pdata = devm_kzalloc(dev, sizeof(struct platform_data), GFP_KERNEL); + pdata = kzalloc(sizeof(*pdata), GFP_KERNEL); if (!pdata) return -ENOMEM; - pdata->pkg_id = pdev->id; - platform_set_drvdata(pdev, pdata); - - pdata->hwmon_dev = devm_hwmon_device_register_with_groups(dev, DRVNAME, - pdata, NULL); - return PTR_ERR_OR_ZERO(pdata->hwmon_dev); -} + pdata->pkg_id = zoneid; + ida_init(&pdata->ida); -static int coretemp_remove(struct platform_device *pdev) -{ - struct platform_data *pdata = platform_get_drvdata(pdev); - int i; + pdev = platform_device_alloc(DRVNAME, zoneid); + if (!pdev) { + err = -ENOMEM; + goto err_free_pdata; + } - for (i = MAX_CORE_DATA - 1; i >= 0; --i) - if (pdata->core_data[i]) - coretemp_remove_core(pdata, i); + err = platform_device_add(pdev); + if (err) + goto err_put_dev; + platform_set_drvdata(pdev, pdata); + zone_devices[zoneid] = pdev; return 0; -} -static struct platform_driver coretemp_driver = { - .driver = { - .name = DRVNAME, - }, - .probe = coretemp_probe, - .remove = coretemp_remove, -}; +err_put_dev: + platform_device_put(pdev); +err_free_pdata: + kfree(pdata); + return err; +} -static struct platform_device *coretemp_device_add(unsigned int cpu) +static void coretemp_device_remove(int zoneid) { - int err, zoneid = topology_logical_die_id(cpu); - struct platform_device *pdev; - - if (zoneid < 0) - return ERR_PTR(-ENOMEM); - - pdev = platform_device_alloc(DRVNAME, zoneid); - if (!pdev) - return ERR_PTR(-ENOMEM); - - err = platform_device_add(pdev); - if (err) { - platform_device_put(pdev); - return ERR_PTR(err); - } + struct platform_device *pdev = zone_devices[zoneid]; + struct platform_data *pdata = platform_get_drvdata(pdev); - zone_devices[zoneid] = pdev; - return pdev; + ida_destroy(&pdata->ida); + kfree(pdata); + platform_device_unregister(pdev); } static int coretemp_cpu_online(unsigned int cpu) @@ -607,7 +616,10 @@ if (!cpu_has(c, X86_FEATURE_DTHERM)) return -ENODEV; - if (!pdev) { + pdata = platform_get_drvdata(pdev); + if (!pdata->hwmon_dev) { + struct device *hwmon; + /* Check the microcode version of the CPU */ if (chk_ucode_version(cpu)) return -EINVAL; @@ -618,9 +630,11 @@ * online. So, initialize per-pkg data structures and * then bring this core online. */ - pdev = coretemp_device_add(cpu); - if (IS_ERR(pdev)) - return PTR_ERR(pdev); + hwmon = hwmon_device_register_with_groups(&pdev->dev, DRVNAME, + pdata, NULL); + if (IS_ERR(hwmon)) + return PTR_ERR(hwmon); + pdata->hwmon_dev = hwmon; /* * Check whether pkgtemp support is available. @@ -630,7 +644,6 @@ coretemp_add_core(pdev, cpu, 1); } - pdata = platform_get_drvdata(pdev); /* * Check whether a thread sibling is already online. If not add the * interface for this CPU core. @@ -647,25 +660,28 @@ struct platform_device *pdev = coretemp_get_pdev(cpu); struct platform_data *pd; struct temp_data *tdata; - int indx, target; + int i, indx = -1, target; - /* - * Don't execute this on suspend as the device remove locks - * up the machine. - */ + /* No need to tear down any interfaces for suspend */ if (cpuhp_tasks_frozen) return 0; /* If the physical CPU device does not exist, just return */ - if (!pdev) + pd = platform_get_drvdata(pdev); + if (!pd->hwmon_dev) return 0; - /* The core id is too big, just return */ - indx = TO_ATTR_NO(cpu); - if (indx > MAX_CORE_DATA - 1) + for (i = 0; i < NUM_REAL_CORES; i++) { + if (pd->cpu_map[i] == topology_core_id(cpu)) { + indx = i + BASE_SYSFS_ATTR_NO; + break; + } + } + + /* Too many cores and this core is not populated, just return */ + if (indx < 0) return 0; - pd = platform_get_drvdata(pdev); tdata = pd->core_data[indx]; cpumask_clear_cpu(cpu, &pd->cpumask); @@ -685,13 +701,14 @@ } /* - * If all cores in this pkg are offline, remove the device. This - * will invoke the platform driver remove function, which cleans up - * the rest. + * If all cores in this pkg are offline, remove the interface. */ + tdata = pd->core_data[PKG_SYSFS_ATTR_NO]; if (cpumask_empty(&pd->cpumask)) { - zone_devices[topology_logical_die_id(cpu)] = NULL; - platform_device_unregister(pdev); + if (tdata) + coretemp_remove_core(pd, PKG_SYSFS_ATTR_NO); + hwmon_device_unregister(pd->hwmon_dev); + pd->hwmon_dev = NULL; return 0; } @@ -699,7 +716,6 @@ * Check whether this core is the target for the package * interface. We need to assign it to some other cpu. */ - tdata = pd->core_data[PKG_SYSFS_ATTR_NO]; if (tdata && tdata->cpu == cpu) { target = cpumask_first(&pd->cpumask); mutex_lock(&tdata->update_lock); @@ -718,7 +734,7 @@ static int __init coretemp_init(void) { - int err; + int i, err; /* * CPUID.06H.EAX[0] indicates whether the CPU has thermal @@ -734,20 +750,22 @@ if (!zone_devices) return -ENOMEM; - err = platform_driver_register(&coretemp_driver); - if (err) - goto outzone; + for (i = 0; i < max_zones; i++) { + err = coretemp_device_add(i); + if (err) + goto outzone; + } err = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "hwmon/coretemp:online", coretemp_cpu_online, coretemp_cpu_offline); if (err < 0) - goto outdrv; + goto outzone; coretemp_hp_online = err; return 0; -outdrv: - platform_driver_unregister(&coretemp_driver); outzone: + while (i--) + coretemp_device_remove(i); kfree(zone_devices); return err; } @@ -755,8 +773,11 @@ static void __exit coretemp_exit(void) { + int i; + cpuhp_remove_state(coretemp_hp_online); - platform_driver_unregister(&coretemp_driver); + for (i = 0; i < max_zones; i++) + coretemp_device_remove(i); kfree(zone_devices); } module_exit(coretemp_exit) --- linux-gcp-5.19.0.orig/drivers/hwmon/dell-smm-hwmon.c +++ linux-gcp-5.19.0/drivers/hwmon/dell-smm-hwmon.c @@ -1365,6 +1365,14 @@ }, .driver_data = (void *)&i8k_fan_control_data[I8K_FAN_34A3_35A3], }, + { + .ident = "Dell XPS 13 7390", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "XPS 13 7390"), + }, + .driver_data = (void *)&i8k_fan_control_data[I8K_FAN_34A3_35A3], + }, { } }; --- linux-gcp-5.19.0.orig/drivers/hwmon/drivetemp.c +++ linux-gcp-5.19.0/drivers/hwmon/drivetemp.c @@ -621,3 +621,4 @@ MODULE_AUTHOR("Guenter Roeck "); MODULE_DESCRIPTION("Hard drive temperature monitor"); MODULE_LICENSE("GPL"); +MODULE_ALIAS("platform:drivetemp"); --- linux-gcp-5.19.0.orig/drivers/hwmon/ftsteutates.c +++ linux-gcp-5.19.0/drivers/hwmon/ftsteutates.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -347,13 +348,15 @@ { struct fts_data *data = dev_get_drvdata(dev); int index = to_sensor_dev_attr(devattr)->index; - int err; + int value, err; err = fts_update_device(data); if (err < 0) return err; - return sprintf(buf, "%u\n", data->volt[index]); + value = DIV_ROUND_CLOSEST(data->volt[index] * 3300, 255); + + return sprintf(buf, "%d\n", value); } static ssize_t temp_value_show(struct device *dev, @@ -361,13 +364,15 @@ { struct fts_data *data = dev_get_drvdata(dev); int index = to_sensor_dev_attr(devattr)->index; - int err; + int value, err; err = fts_update_device(data); if (err < 0) return err; - return sprintf(buf, "%u\n", data->temp_input[index]); + value = (data->temp_input[index] - 64) * 1000; + + return sprintf(buf, "%d\n", value); } static ssize_t temp_fault_show(struct device *dev, @@ -436,13 +441,15 @@ { struct fts_data *data = dev_get_drvdata(dev); int index = to_sensor_dev_attr(devattr)->index; - int err; + int value, err; err = fts_update_device(data); if (err < 0) return err; - return sprintf(buf, "%u\n", data->fan_input[index]); + value = data->fan_input[index] * 60; + + return sprintf(buf, "%d\n", value); } static ssize_t fan_source_show(struct device *dev, --- linux-gcp-5.19.0.orig/drivers/hwmon/gpio-fan.c +++ linux-gcp-5.19.0/drivers/hwmon/gpio-fan.c @@ -391,6 +391,9 @@ if (!fan_data) return -EINVAL; + if (state >= fan_data->num_speed) + return -EINVAL; + set_fan_speed(fan_data, state); return 0; } --- linux-gcp-5.19.0.orig/drivers/hwmon/gsc-hwmon.c +++ linux-gcp-5.19.0/drivers/hwmon/gsc-hwmon.c @@ -267,6 +267,7 @@ pdata->nchannels = nchannels; /* fan controller base address */ + of_node_get(dev->parent->of_node); fan = of_find_compatible_node(dev->parent->of_node, NULL, "gw,gsc-fan"); if (fan && of_property_read_u32(fan, "reg", &pdata->fan_base)) { dev_err(dev, "fan node without base\n"); --- linux-gcp-5.19.0.orig/drivers/hwmon/hwmon-aaeon.c +++ linux-gcp-5.19.0/drivers/hwmon/hwmon-aaeon.c @@ -0,0 +1,568 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * AAEON HWMON driver + * Copyright (c) 2021, AAEON Ltd. + * + * Author: Edward Lin + * Author: Kunyang Fan + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define DRVNAME "hwmon-aaeon" + +#define AAEON_WMI_MGMT_GUID "97845ED0-4E6D-11DE-8A39-0800200C9A66" + +#define AAEON_VERSION_METHOD_ID 0x00000000 +#define HWM_INFORMATION_METHOD_ID 0x00030000 +#define HWM_METHOD_ID 0x00030001 + +#define BITMAP_TEMP_ARG 0x12 +#define BITMAP_FAN_ARG 0x13 +#define BITMAP_VOLTAGE_ARG 0x14 + +#define SENSOR_TEMP_NUMBER 0 +#define SENSOR_FAN_NUMBER 1 +#define SENSOR_VOLTAGE_NUMBER 2 +#define SENSOR_MAX_NUMBER 2 + +static ssize_t aaeon_show_sensor(struct device *dev, + struct device_attribute *devattr, char *buf); +static ssize_t aaeon_show_sensor_name(struct device *dev, + struct device_attribute *devattr, + char *buf); +static ssize_t aaeon_show_version(struct device *dev, + struct device_attribute *devattr, char *buf); +static ssize_t name_show(struct device *dev, struct device_attribute *devattr, + char *buf); +static int aaeon_get_version(void); +static int aaeon_hwmon_probe(struct platform_device *pdev); +static int aaeon_hwmon_remove(struct platform_device *pdev); + +static const char * const temp_sensors_name_table[] = { + "CPU_Temp", + "SYS1_Temp", + "SYS2_Temp", +}; + +static const char * const temp_sensors_name_table_V3[] = { + "SYS_Temp", + "CPU_Temp", +}; + +static const char * const fan_sensors_name_table[] = { + "CPU_FAN", + "SYS1_FAN", + "SYS2_FAN", + "Chasis1_FAN", + "Chasis2_FAN", +}; + +static const char * const fan_sensors_name_table_V3[] = { + "Chasis_FAN", + "CPU_FAN", +}; + +static const char * const voltage_sensors_name_table[] = { + "VCORE_Voltage", + "VMEM_Voltage", + "+12_Voltage", + "+5_Voltage", + "+3.3_Voltage", + "+1.8_Voltage", + "5VSB_Voltage", + "3VSB_Voltage", + "VBAT_Voltage", +}; + +static const char * const voltage_sensors_name_table_V3[] = { + "VCORE_Voltage", + "+5_Voltage", + "AVCC_Voltage", + "+3.3_Voltage", + "+12_Voltage", + "VCOREREFIN_Voltage", + "VIN4_Voltage", + "3VSB_Voltage", + "VBAT_Voltage", +}; + +struct aaeon_hwmon_data { + struct device *hwmon_dev; + int bfpi_version; + u32 temp_bitmap; + u32 fan_bitmap; + u32 voltage_bitmap; + unsigned int sensors_number[SENSOR_MAX_NUMBER + 1]; + const char * const *temp_names; + const char * const *fan_names; + const char * const *voltage_names; +}; + +/* Temperature attributes */ +static struct sensor_device_attribute_2 temp_sys_nodes_atts[] = { + SENSOR_ATTR_2(temp1_input, 0444, aaeon_show_sensor, NULL, + SENSOR_TEMP_NUMBER, 0), + SENSOR_ATTR_2(temp1_label, 0444, aaeon_show_sensor_name, NULL, + SENSOR_TEMP_NUMBER, 0), + SENSOR_ATTR_2(temp2_input, 0444, aaeon_show_sensor, NULL, + SENSOR_TEMP_NUMBER, 1), + SENSOR_ATTR_2(temp2_label, 0444, aaeon_show_sensor_name, NULL, + SENSOR_TEMP_NUMBER, 1), + SENSOR_ATTR_2(temp3_input, 0444, aaeon_show_sensor, NULL, + SENSOR_TEMP_NUMBER, 2), + SENSOR_ATTR_2(temp3_label, 0444, aaeon_show_sensor_name, NULL, + SENSOR_TEMP_NUMBER, 2), +}; + +/* Cooler Fan attributes */ +static struct sensor_device_attribute_2 fan_sys_nodes_atts[] = { + SENSOR_ATTR_2(fan1_input, 0444, aaeon_show_sensor, NULL, + SENSOR_FAN_NUMBER, 0), + SENSOR_ATTR_2(fan1_label, 0444, aaeon_show_sensor_name, NULL, + SENSOR_FAN_NUMBER, 0), + SENSOR_ATTR_2(fan2_input, 0444, aaeon_show_sensor, NULL, + SENSOR_FAN_NUMBER, 1), + SENSOR_ATTR_2(fan2_label, 0444, aaeon_show_sensor_name, NULL, + SENSOR_FAN_NUMBER, 1), + SENSOR_ATTR_2(fan3_input, 0444, aaeon_show_sensor, NULL, + SENSOR_FAN_NUMBER, 2), + SENSOR_ATTR_2(fan3_label, 0444, aaeon_show_sensor_name, NULL, + SENSOR_FAN_NUMBER, 2), + SENSOR_ATTR_2(fan4_input, 0444, aaeon_show_sensor, NULL, + SENSOR_FAN_NUMBER, 3), + SENSOR_ATTR_2(fan4_label, 0444, aaeon_show_sensor_name, NULL, + SENSOR_FAN_NUMBER, 3), + SENSOR_ATTR_2(fan5_input, 0444, aaeon_show_sensor, NULL, + SENSOR_FAN_NUMBER, 4), + SENSOR_ATTR_2(fan5_label, 0444, aaeon_show_sensor_name, NULL, + SENSOR_FAN_NUMBER, 4), +}; + +/* Voltage attributes */ +static struct sensor_device_attribute_2 voltage_sys_nodes_atts[] = { + SENSOR_ATTR_2(in1_input, 0444, aaeon_show_sensor, NULL, + SENSOR_VOLTAGE_NUMBER, 0), + SENSOR_ATTR_2(in1_label, 0444, aaeon_show_sensor_name, NULL, + SENSOR_VOLTAGE_NUMBER, 0), + SENSOR_ATTR_2(in2_input, 0444, aaeon_show_sensor, NULL, + SENSOR_VOLTAGE_NUMBER, 1), + SENSOR_ATTR_2(in2_label, 0444, aaeon_show_sensor_name, NULL, + SENSOR_VOLTAGE_NUMBER, 1), + SENSOR_ATTR_2(in3_input, 0444, aaeon_show_sensor, NULL, + SENSOR_VOLTAGE_NUMBER, 2), + SENSOR_ATTR_2(in3_label, 0444, aaeon_show_sensor_name, NULL, + SENSOR_VOLTAGE_NUMBER, 2), + SENSOR_ATTR_2(in4_input, 0444, aaeon_show_sensor, NULL, + SENSOR_VOLTAGE_NUMBER, 3), + SENSOR_ATTR_2(in4_label, 0444, aaeon_show_sensor_name, NULL, + SENSOR_VOLTAGE_NUMBER, 3), + SENSOR_ATTR_2(in5_input, 0444, aaeon_show_sensor, NULL, + SENSOR_VOLTAGE_NUMBER, 4), + SENSOR_ATTR_2(in5_label, 0444, aaeon_show_sensor_name, NULL, + SENSOR_VOLTAGE_NUMBER, 4), + SENSOR_ATTR_2(in6_input, 0444, aaeon_show_sensor, NULL, + SENSOR_VOLTAGE_NUMBER, 5), + SENSOR_ATTR_2(in6_label, 0444, aaeon_show_sensor_name, NULL, + SENSOR_VOLTAGE_NUMBER, 5), + SENSOR_ATTR_2(in7_input, 0444, aaeon_show_sensor, NULL, + SENSOR_VOLTAGE_NUMBER, 6), + SENSOR_ATTR_2(in7_label, 0444, aaeon_show_sensor_name, NULL, + SENSOR_VOLTAGE_NUMBER, 6), + SENSOR_ATTR_2(in8_input, 0444, aaeon_show_sensor, NULL, + SENSOR_VOLTAGE_NUMBER, 7), + SENSOR_ATTR_2(in8_label, 0444, aaeon_show_sensor_name, NULL, + SENSOR_VOLTAGE_NUMBER, 7), + SENSOR_ATTR_2(in9_input, 0444, aaeon_show_sensor, NULL, + SENSOR_VOLTAGE_NUMBER, 8), + SENSOR_ATTR_2(in9_label, 0444, aaeon_show_sensor_name, NULL, + SENSOR_VOLTAGE_NUMBER, 8), + +}; + +static struct sensor_device_attribute_2 info_sys_nodes_atts[] = { + /* WMI version Information */ + SENSOR_ATTR_2(AAEON_VERSION, 0444, aaeon_show_version, NULL, 0, 0), +}; + +DEVICE_ATTR_RO(name); +static ssize_t name_show(struct device *dev, struct device_attribute *devattr, + char *buf) +{ + return sprintf(buf, "%s\n", DRVNAME); +} + +static ssize_t aaeon_show_version(struct device *dev, + struct device_attribute *devattr, char *buf) +{ + struct aaeon_hwmon_data *data = + (struct aaeon_hwmon_data *)dev_get_drvdata(dev); + + return sprintf(buf, "%d\n", data->bfpi_version); +} + +static ssize_t aaeon_show_sensor_name(struct device *dev, + struct device_attribute *devattr, char *buf) +{ + u8 nr = to_sensor_dev_attr_2(devattr)->nr; + u8 index = to_sensor_dev_attr_2(devattr)->index; + struct aaeon_hwmon_data *data = + (struct aaeon_hwmon_data *)dev_get_drvdata(dev); + + if (nr > SENSOR_MAX_NUMBER || index >= data->sensors_number[nr]) { + pr_debug("Can not check the device"); + return -1; + } + + switch (nr) { + case SENSOR_TEMP_NUMBER: + return sprintf(buf, "%s\n", data->temp_names[index]); + case SENSOR_FAN_NUMBER: + return sprintf(buf, "%s\n", data->fan_names[index]); + case SENSOR_VOLTAGE_NUMBER: + return sprintf(buf, "%s\n", data->voltage_names[index]); + default: + break; + } + + return 0; +} + +static ssize_t aaeon_show_sensor(struct device *dev, + struct device_attribute *devattr, char *buf) +{ + u8 nr = to_sensor_dev_attr_2(devattr)->nr; + u8 index = to_sensor_dev_attr_2(devattr)->index; + u32 dev_id; + int retval, err; + struct aaeon_hwmon_data *data = + (struct aaeon_hwmon_data *)dev_get_drvdata(dev); + + if (nr > SENSOR_MAX_NUMBER || index >= data->sensors_number[nr]) { + pr_debug("Can not check the device"); + return -1; + } + + /* For the V3 version, index need offset */ + if (data->bfpi_version == 0x03 && nr != SENSOR_VOLTAGE_NUMBER) + index++; + + dev_id = (index << 12) | (nr << 8); + err = asus_wmi_evaluate_method(HWM_METHOD_ID, dev_id, 0, &retval); + if (err) + return err; + + /* For the V3 version, need to convert the raw value*/ + if (nr == SENSOR_VOLTAGE_NUMBER && data->bfpi_version == 0x03) { + switch (index) { + case 0: /* VCORE */ + retval = retval * 16; + break; + case 1: /* +5V */ + retval = (retval * 2008) / 50; + break; + case 2: /* AVCC */ + retval = retval * 16; + break; + case 3: /* +3.3V */ + retval = retval * 16; + break; + case 4: /* +12V */ + retval = retval * 96; + break; + case 5: /* VCOREREFIN */ + retval = (retval * 552) / 41; + break; + case 6: /* VIN4 */ + retval = retval * 8; + break; + case 7: /* 3VSB */ + retval = retval * 16; + break; + case 8: /* VBAT */ + retval = retval * 16; + break; + default: + break; + } + } else if (nr == SENSOR_TEMP_NUMBER && data->bfpi_version == 0x03) + retval = retval * 1000; + + return sprintf(buf, "%d\n", retval); +} + +static int aaeon_hwmon_create_sub_sysfs_fs(struct platform_device *pdev, + struct sensor_device_attribute_2 *attr, + int sensor_number, + u32 sensor_mask, + int bfpi_version) +{ + int i, err = 0; + + for (i = 0; i < sensor_number; i++) { + if (bfpi_version == 0x03 || sensor_mask & BIT(i)) { + err = device_create_file(&pdev->dev, &attr[2 * i].dev_attr); + if (err) + break; + err = device_create_file(&pdev->dev, &attr[2 * i + 1].dev_attr); + if (err) + break; + } + } + + return err; +} + +static int +aaeon_hwmon_create_sysfs_files(struct platform_device *pdev, struct aaeon_hwmon_data *data) +{ + int err; + + /* register sysfs interface files */ + err = device_create_file(&pdev->dev, &dev_attr_name); + if (err) + return err; + + /* registe sysfs to dump sensors BFPI version */ + err = device_create_file(&pdev->dev, &info_sys_nodes_atts[0].dev_attr); + if (err) + return err; + + /* create temperature name and value node */ + err = aaeon_hwmon_create_sub_sysfs_fs(pdev, temp_sys_nodes_atts, + data->sensors_number[SENSOR_TEMP_NUMBER], + data->temp_bitmap, data->bfpi_version); + if (err) + return err; + + /* create fan name and value node */ + err = aaeon_hwmon_create_sub_sysfs_fs(pdev, fan_sys_nodes_atts, + data->sensors_number[SENSOR_FAN_NUMBER], + data->fan_bitmap, data->bfpi_version); + if (err) + return err; + + /* create voltage name and value node */ + err = aaeon_hwmon_create_sub_sysfs_fs(pdev, voltage_sys_nodes_atts, + data->sensors_number[SENSOR_VOLTAGE_NUMBER], + data->voltage_bitmap, data->bfpi_version); + if (err) + return err; + + return 0; +} + +static void aaeon_hwmon_remove_sub_sysfs_fs(struct platform_device *pdev, + struct sensor_device_attribute_2 *attr, + int sensor_number, + u32 sensor_mask, + int bfpi_version) +{ + int i; + + for (i = 0; i < sensor_number; i++) { + if (bfpi_version == 0x03 || sensor_mask & BIT(i)) { + device_remove_file(&pdev->dev, &attr[2 * i].dev_attr); + device_remove_file(&pdev->dev, &attr[2 * i + 1].dev_attr); + } + } +} + +static void +aaeon_hwmon_remove_sysfs_files(struct platform_device *pdev, + struct aaeon_hwmon_data *data) +{ + /* degister sysfs interface files */ + device_remove_file(&pdev->dev, &dev_attr_name); + + /* degiste sysfs to dump sensors BFPI version */ + device_remove_file(&pdev->dev, &info_sys_nodes_atts[0].dev_attr); + + /* remove temperature name and value node */ + aaeon_hwmon_remove_sub_sysfs_fs(pdev, temp_sys_nodes_atts, + data->sensors_number[SENSOR_TEMP_NUMBER], + data->temp_bitmap, + data->bfpi_version); + + /* remove fan name and value node */ + aaeon_hwmon_remove_sub_sysfs_fs(pdev, fan_sys_nodes_atts, + data->sensors_number[SENSOR_FAN_NUMBER], + data->fan_bitmap, + data->bfpi_version); + + /* remove voltage name and value node */ + aaeon_hwmon_remove_sub_sysfs_fs(pdev, voltage_sys_nodes_atts, + data->sensors_number[SENSOR_VOLTAGE_NUMBER], + data->voltage_bitmap, + data->bfpi_version); +} + +static int aaeon_hwmon_remove(struct platform_device *pdev) +{ + struct aaeon_hwmon_data *data = platform_get_drvdata(pdev); + + if (data->hwmon_dev) + hwmon_device_unregister(data->hwmon_dev); + + aaeon_hwmon_remove_sysfs_files(pdev, data); + + return 0; +} + +static int aaeon_get_version(void) +{ + int err, retval; + u32 dev_id = 0x00; + + err = asus_wmi_evaluate_method(AAEON_VERSION_METHOD_ID, dev_id, 0, + &retval); + if (err) + return err; + + return retval; +} + +static int aaeon_hwmon_init_drv_data(struct aaeon_hwmon_data *data) +{ + int err; + + data->bfpi_version = aaeon_get_version(); + if (data->bfpi_version < 0) { + pr_debug("Error BFPI verion\n"); + return -1; + } + + if (data->bfpi_version == 0x03) { + /* set the number of bits in temp bitmap */ + data->sensors_number[SENSOR_TEMP_NUMBER] = + ARRAY_SIZE(temp_sensors_name_table_V3); + data->temp_names = temp_sensors_name_table_V3; + + /* set the number of bits in fan bitmap */ + data->sensors_number[SENSOR_FAN_NUMBER] = + ARRAY_SIZE(fan_sensors_name_table_V3); + data->fan_names = fan_sensors_name_table_V3; + + /* set the number of bits in voltage bitmap */ + data->sensors_number[SENSOR_VOLTAGE_NUMBER] = + ARRAY_SIZE(voltage_sensors_name_table_V3); + data->voltage_names = voltage_sensors_name_table_V3; + } else { + /* set the number of bits in temp bitmap */ + data->sensors_number[SENSOR_TEMP_NUMBER] = + ARRAY_SIZE(temp_sensors_name_table); + data->temp_names = temp_sensors_name_table; + + /* set the number of bits in fan bitmap */ + data->sensors_number[SENSOR_FAN_NUMBER] = + ARRAY_SIZE(fan_sensors_name_table); + data->fan_names = fan_sensors_name_table; + + /* set the number of bits in voltage bitmap */ + data->sensors_number[SENSOR_VOLTAGE_NUMBER] = + ARRAY_SIZE(voltage_sensors_name_table); + data->voltage_names = voltage_sensors_name_table; + } + + /* get temp supported bitmap */ + err = asus_wmi_evaluate_method(HWM_INFORMATION_METHOD_ID, + BITMAP_TEMP_ARG, 0, &data->temp_bitmap); + if (err) + return err; + + /* get fan supported bitmap */ + err = asus_wmi_evaluate_method(HWM_INFORMATION_METHOD_ID, + BITMAP_FAN_ARG, 0, &data->fan_bitmap); + if (err) + return err; + + /* get voltage supported bitmap */ + err = asus_wmi_evaluate_method(HWM_INFORMATION_METHOD_ID, + BITMAP_VOLTAGE_ARG, 0, &data->voltage_bitmap); + if (err) + return err; + + return 0; +} + +static int aaeon_hwmon_probe(struct platform_device *pdev) +{ + int err; + struct aaeon_hwmon_data *data; + + pr_debug("aaeon hwomon device probe (support V3)!\n"); + if (!wmi_has_guid(AAEON_WMI_MGMT_GUID)) { + pr_info("AAEON Management GUID not found\n"); + return -ENODEV; + } + + data = devm_kzalloc(&pdev->dev, sizeof(struct aaeon_hwmon_data), + GFP_KERNEL); + if (!data) + return -ENOMEM; + + err = aaeon_hwmon_init_drv_data(data); + if (err) { + pr_info("Error to get sensor support bitmap\n"); + goto exit; + } + + if (data->bfpi_version != 0x03 && data->temp_bitmap == 0 && + data->fan_bitmap == 0 && data->voltage_bitmap == 0) { + pr_debug("No sensors found\n"); + err = -ENODEV; + goto exit; + } + + platform_set_drvdata(pdev, data); + err = aaeon_hwmon_create_sysfs_files(pdev, data); + if (err) + goto exit; + + data->hwmon_dev = devm_hwmon_device_register_with_info(&pdev->dev, + "AAEON_HWM", + data, + NULL, + NULL); + if (IS_ERR(data->hwmon_dev)) { + err = PTR_ERR(data->hwmon_dev); + data->hwmon_dev = NULL; + goto exit_unregister_sysfs; + } + + return 0; + +exit_unregister_sysfs: + aaeon_hwmon_remove(pdev); +exit: + return err; +} + +static struct platform_driver aaeon_hwmon_driver = { + .driver = { + .name = DRVNAME, + .owner = THIS_MODULE, + }, + .probe = aaeon_hwmon_probe, + .remove = aaeon_hwmon_remove, +}; + +module_platform_driver_probe(aaeon_hwmon_driver, aaeon_hwmon_probe); + +MODULE_ALIAS("platform:hwmon-aaeon"); +MODULE_DESCRIPTION("AAEON Hardware Monitoring Driver"); +MODULE_AUTHOR("Edward Lin "); +MODULE_AUTHOR("Kunyang Fan "); +MODULE_LICENSE("GPL v2"); --- linux-gcp-5.19.0.orig/drivers/hwmon/i5500_temp.c +++ linux-gcp-5.19.0/drivers/hwmon/i5500_temp.c @@ -117,7 +117,7 @@ u32 tstimer; s8 tsfsc; - err = pci_enable_device(pdev); + err = pcim_enable_device(pdev); if (err) { dev_err(&pdev->dev, "Failed to enable device\n"); return err; --- linux-gcp-5.19.0.orig/drivers/hwmon/ibmpex.c +++ linux-gcp-5.19.0/drivers/hwmon/ibmpex.c @@ -502,6 +502,7 @@ return; out_register: + list_del(&data->list); hwmon_device_unregister(data->hwmon_dev); out_user: ipmi_destroy_user(data->user); --- linux-gcp-5.19.0.orig/drivers/hwmon/ina3221.c +++ linux-gcp-5.19.0/drivers/hwmon/ina3221.c @@ -228,7 +228,7 @@ * Shunt Voltage Sum register has 14-bit value with 1-bit shift * Other Shunt Voltage registers have 12 bits with 3-bit shift */ - if (reg == INA3221_SHUNT_SUM) + if (reg == INA3221_SHUNT_SUM || reg == INA3221_CRIT_SUM) *val = sign_extend32(regval >> 1, 14); else *val = sign_extend32(regval >> 3, 12); @@ -465,7 +465,7 @@ * SHUNT_SUM: (1 / 40uV) << 1 = 1 / 20uV * SHUNT[1-3]: (1 / 40uV) << 3 = 1 / 5uV */ - if (reg == INA3221_SHUNT_SUM) + if (reg == INA3221_SHUNT_SUM || reg == INA3221_CRIT_SUM) regval = DIV_ROUND_CLOSEST(voltage_uv, 20) & 0xfffe; else regval = DIV_ROUND_CLOSEST(voltage_uv, 5) & 0xfff8; --- linux-gcp-5.19.0.orig/drivers/hwmon/jc42.c +++ linux-gcp-5.19.0/drivers/hwmon/jc42.c @@ -19,6 +19,7 @@ #include #include #include +#include /* Addresses to scan */ static const unsigned short normal_i2c[] = { @@ -199,31 +200,14 @@ { STM_MANID, STTS3000_DEVID, STTS3000_DEVID_MASK }, }; -enum temp_index { - t_input = 0, - t_crit, - t_min, - t_max, - t_num_temp -}; - -static const u8 temp_regs[t_num_temp] = { - [t_input] = JC42_REG_TEMP, - [t_crit] = JC42_REG_TEMP_CRITICAL, - [t_min] = JC42_REG_TEMP_LOWER, - [t_max] = JC42_REG_TEMP_UPPER, -}; - /* Each client has this additional data */ struct jc42_data { - struct i2c_client *client; struct mutex update_lock; /* protect register access */ + struct regmap *regmap; bool extended; /* true if extended range supported */ bool valid; - unsigned long last_updated; /* In jiffies */ u16 orig_config; /* original configuration */ u16 config; /* current configuration */ - u16 temp[t_num_temp];/* Temperatures */ }; #define JC42_TEMP_MIN_EXTENDED (-40000) @@ -248,85 +232,102 @@ return reg * 125 / 2; } -static struct jc42_data *jc42_update_device(struct device *dev) -{ - struct jc42_data *data = dev_get_drvdata(dev); - struct i2c_client *client = data->client; - struct jc42_data *ret = data; - int i, val; - - mutex_lock(&data->update_lock); - - if (time_after(jiffies, data->last_updated + HZ) || !data->valid) { - for (i = 0; i < t_num_temp; i++) { - val = i2c_smbus_read_word_swapped(client, temp_regs[i]); - if (val < 0) { - ret = ERR_PTR(val); - goto abort; - } - data->temp[i] = val; - } - data->last_updated = jiffies; - data->valid = true; - } -abort: - mutex_unlock(&data->update_lock); - return ret; -} - static int jc42_read(struct device *dev, enum hwmon_sensor_types type, u32 attr, int channel, long *val) { - struct jc42_data *data = jc42_update_device(dev); - int temp, hyst; + struct jc42_data *data = dev_get_drvdata(dev); + unsigned int regval; + int ret, temp, hyst; - if (IS_ERR(data)) - return PTR_ERR(data); + mutex_lock(&data->update_lock); switch (attr) { case hwmon_temp_input: - *val = jc42_temp_from_reg(data->temp[t_input]); - return 0; + ret = regmap_read(data->regmap, JC42_REG_TEMP, ®val); + if (ret) + break; + + *val = jc42_temp_from_reg(regval); + break; case hwmon_temp_min: - *val = jc42_temp_from_reg(data->temp[t_min]); - return 0; + ret = regmap_read(data->regmap, JC42_REG_TEMP_LOWER, ®val); + if (ret) + break; + + *val = jc42_temp_from_reg(regval); + break; case hwmon_temp_max: - *val = jc42_temp_from_reg(data->temp[t_max]); - return 0; + ret = regmap_read(data->regmap, JC42_REG_TEMP_UPPER, ®val); + if (ret) + break; + + *val = jc42_temp_from_reg(regval); + break; case hwmon_temp_crit: - *val = jc42_temp_from_reg(data->temp[t_crit]); - return 0; + ret = regmap_read(data->regmap, JC42_REG_TEMP_CRITICAL, + ®val); + if (ret) + break; + + *val = jc42_temp_from_reg(regval); + break; case hwmon_temp_max_hyst: - temp = jc42_temp_from_reg(data->temp[t_max]); + ret = regmap_read(data->regmap, JC42_REG_TEMP_UPPER, ®val); + if (ret) + break; + + temp = jc42_temp_from_reg(regval); hyst = jc42_hysteresis[(data->config & JC42_CFG_HYST_MASK) >> JC42_CFG_HYST_SHIFT]; *val = temp - hyst; - return 0; + break; case hwmon_temp_crit_hyst: - temp = jc42_temp_from_reg(data->temp[t_crit]); + ret = regmap_read(data->regmap, JC42_REG_TEMP_CRITICAL, + ®val); + if (ret) + break; + + temp = jc42_temp_from_reg(regval); hyst = jc42_hysteresis[(data->config & JC42_CFG_HYST_MASK) >> JC42_CFG_HYST_SHIFT]; *val = temp - hyst; - return 0; + break; case hwmon_temp_min_alarm: - *val = (data->temp[t_input] >> JC42_ALARM_MIN_BIT) & 1; - return 0; + ret = regmap_read(data->regmap, JC42_REG_TEMP, ®val); + if (ret) + break; + + *val = (regval >> JC42_ALARM_MIN_BIT) & 1; + break; case hwmon_temp_max_alarm: - *val = (data->temp[t_input] >> JC42_ALARM_MAX_BIT) & 1; - return 0; + ret = regmap_read(data->regmap, JC42_REG_TEMP, ®val); + if (ret) + break; + + *val = (regval >> JC42_ALARM_MAX_BIT) & 1; + break; case hwmon_temp_crit_alarm: - *val = (data->temp[t_input] >> JC42_ALARM_CRIT_BIT) & 1; - return 0; + ret = regmap_read(data->regmap, JC42_REG_TEMP, ®val); + if (ret) + break; + + *val = (regval >> JC42_ALARM_CRIT_BIT) & 1; + break; default: - return -EOPNOTSUPP; + ret = -EOPNOTSUPP; + break; } + + mutex_unlock(&data->update_lock); + + return ret; } static int jc42_write(struct device *dev, enum hwmon_sensor_types type, u32 attr, int channel, long val) { struct jc42_data *data = dev_get_drvdata(dev); - struct i2c_client *client = data->client; + unsigned int regval; int diff, hyst; int ret; @@ -334,21 +335,23 @@ switch (attr) { case hwmon_temp_min: - data->temp[t_min] = jc42_temp_to_reg(val, data->extended); - ret = i2c_smbus_write_word_swapped(client, temp_regs[t_min], - data->temp[t_min]); + ret = regmap_write(data->regmap, JC42_REG_TEMP_LOWER, + jc42_temp_to_reg(val, data->extended)); break; case hwmon_temp_max: - data->temp[t_max] = jc42_temp_to_reg(val, data->extended); - ret = i2c_smbus_write_word_swapped(client, temp_regs[t_max], - data->temp[t_max]); + ret = regmap_write(data->regmap, JC42_REG_TEMP_UPPER, + jc42_temp_to_reg(val, data->extended)); break; case hwmon_temp_crit: - data->temp[t_crit] = jc42_temp_to_reg(val, data->extended); - ret = i2c_smbus_write_word_swapped(client, temp_regs[t_crit], - data->temp[t_crit]); + ret = regmap_write(data->regmap, JC42_REG_TEMP_CRITICAL, + jc42_temp_to_reg(val, data->extended)); break; case hwmon_temp_crit_hyst: + ret = regmap_read(data->regmap, JC42_REG_TEMP_CRITICAL, + ®val); + if (ret) + break; + /* * JC42.4 compliant chips only support four hysteresis values. * Pick best choice and go from there. @@ -356,7 +359,7 @@ val = clamp_val(val, (data->extended ? JC42_TEMP_MIN_EXTENDED : JC42_TEMP_MIN) - 6000, JC42_TEMP_MAX); - diff = jc42_temp_from_reg(data->temp[t_crit]) - val; + diff = jc42_temp_from_reg(regval) - val; hyst = 0; if (diff > 0) { if (diff < 2250) @@ -368,9 +371,8 @@ } data->config = (data->config & ~JC42_CFG_HYST_MASK) | (hyst << JC42_CFG_HYST_SHIFT); - ret = i2c_smbus_write_word_swapped(data->client, - JC42_REG_CONFIG, - data->config); + ret = regmap_write(data->regmap, JC42_REG_CONFIG, + data->config); break; default: ret = -EOPNOTSUPP; @@ -470,51 +472,80 @@ .info = jc42_info, }; +static bool jc42_readable_reg(struct device *dev, unsigned int reg) +{ + return (reg >= JC42_REG_CAP && reg <= JC42_REG_DEVICEID) || + reg == JC42_REG_SMBUS; +} + +static bool jc42_writable_reg(struct device *dev, unsigned int reg) +{ + return (reg >= JC42_REG_CONFIG && reg <= JC42_REG_TEMP_CRITICAL) || + reg == JC42_REG_SMBUS; +} + +static bool jc42_volatile_reg(struct device *dev, unsigned int reg) +{ + return reg == JC42_REG_CONFIG || reg == JC42_REG_TEMP; +} + +static const struct regmap_config jc42_regmap_config = { + .reg_bits = 8, + .val_bits = 16, + .val_format_endian = REGMAP_ENDIAN_BIG, + .max_register = JC42_REG_SMBUS, + .writeable_reg = jc42_writable_reg, + .readable_reg = jc42_readable_reg, + .volatile_reg = jc42_volatile_reg, + .cache_type = REGCACHE_RBTREE, +}; + static int jc42_probe(struct i2c_client *client) { struct device *dev = &client->dev; struct device *hwmon_dev; + unsigned int config, cap; struct jc42_data *data; - int config, cap; + int ret; data = devm_kzalloc(dev, sizeof(struct jc42_data), GFP_KERNEL); if (!data) return -ENOMEM; - data->client = client; + data->regmap = devm_regmap_init_i2c(client, &jc42_regmap_config); + if (IS_ERR(data->regmap)) + return PTR_ERR(data->regmap); + i2c_set_clientdata(client, data); mutex_init(&data->update_lock); - cap = i2c_smbus_read_word_swapped(client, JC42_REG_CAP); - if (cap < 0) - return cap; + ret = regmap_read(data->regmap, JC42_REG_CAP, &cap); + if (ret) + return ret; data->extended = !!(cap & JC42_CAP_RANGE); if (device_property_read_bool(dev, "smbus-timeout-disable")) { - int smbus; - /* * Not all chips support this register, but from a * quick read of various datasheets no chip appears * incompatible with the below attempt to disable * the timeout. And the whole thing is opt-in... */ - smbus = i2c_smbus_read_word_swapped(client, JC42_REG_SMBUS); - if (smbus < 0) - return smbus; - i2c_smbus_write_word_swapped(client, JC42_REG_SMBUS, - smbus | SMBUS_STMOUT); + ret = regmap_set_bits(data->regmap, JC42_REG_SMBUS, + SMBUS_STMOUT); + if (ret) + return ret; } - config = i2c_smbus_read_word_swapped(client, JC42_REG_CONFIG); - if (config < 0) - return config; + ret = regmap_read(data->regmap, JC42_REG_CONFIG, &config); + if (ret) + return ret; data->orig_config = config; if (config & JC42_CFG_SHUTDOWN) { config &= ~JC42_CFG_SHUTDOWN; - i2c_smbus_write_word_swapped(client, JC42_REG_CONFIG, config); + regmap_write(data->regmap, JC42_REG_CONFIG, config); } data->config = config; @@ -535,7 +566,7 @@ config = (data->orig_config & ~JC42_CFG_HYST_MASK) | (data->config & JC42_CFG_HYST_MASK); - i2c_smbus_write_word_swapped(client, JC42_REG_CONFIG, config); + regmap_write(data->regmap, JC42_REG_CONFIG, config); } return 0; } @@ -547,8 +578,11 @@ struct jc42_data *data = dev_get_drvdata(dev); data->config |= JC42_CFG_SHUTDOWN; - i2c_smbus_write_word_swapped(data->client, JC42_REG_CONFIG, - data->config); + regmap_write(data->regmap, JC42_REG_CONFIG, data->config); + + regcache_cache_only(data->regmap, true); + regcache_mark_dirty(data->regmap); + return 0; } @@ -556,10 +590,13 @@ { struct jc42_data *data = dev_get_drvdata(dev); + regcache_cache_only(data->regmap, false); + data->config &= ~JC42_CFG_SHUTDOWN; - i2c_smbus_write_word_swapped(data->client, JC42_REG_CONFIG, - data->config); - return 0; + regmap_write(data->regmap, JC42_REG_CONFIG, data->config); + + /* Restore cached register values to hardware */ + return regcache_sync(data->regmap); } static const struct dev_pm_ops jc42_dev_pm_ops = { --- linux-gcp-5.19.0.orig/drivers/hwmon/ltc2945.c +++ linux-gcp-5.19.0/drivers/hwmon/ltc2945.c @@ -248,6 +248,8 @@ /* convert to register value, then clamp and write result */ regval = ltc2945_val_to_reg(dev, reg, val); + if (regval < 0) + return regval; if (is_power_reg(reg)) { regval = clamp_val(regval, 0, 0xffffff); regbuf[0] = regval >> 16; --- linux-gcp-5.19.0.orig/drivers/hwmon/ltc2947-core.c +++ linux-gcp-5.19.0/drivers/hwmon/ltc2947-core.c @@ -396,7 +396,7 @@ return ret; /* in milidegrees celcius, temp is given by: */ - *val = (__val * 204) + 550; + *val = (__val * 204) + 5500; return 0; } --- linux-gcp-5.19.0.orig/drivers/hwmon/mlxreg-fan.c +++ linux-gcp-5.19.0/drivers/hwmon/mlxreg-fan.c @@ -155,6 +155,12 @@ if (err) return err; + if (MLXREG_FAN_GET_FAULT(regval, tacho->mask)) { + /* FAN is broken - return zero for FAN speed. */ + *val = 0; + return 0; + } + *val = MLXREG_FAN_GET_RPM(regval, fan->divider, fan->samples); break; --- linux-gcp-5.19.0.orig/drivers/hwmon/mr75203.c +++ linux-gcp-5.19.0/drivers/hwmon/mr75203.c @@ -68,8 +68,9 @@ /* VM Individual Macro Register */ #define VM_COM_REG_SIZE 0x200 -#define VM_SDIF_DONE(n) (VM_COM_REG_SIZE + 0x34 + 0x200 * (n)) -#define VM_SDIF_DATA(n) (VM_COM_REG_SIZE + 0x40 + 0x200 * (n)) +#define VM_SDIF_DONE(vm) (VM_COM_REG_SIZE + 0x34 + 0x200 * (vm)) +#define VM_SDIF_DATA(vm, ch) \ + (VM_COM_REG_SIZE + 0x40 + 0x200 * (vm) + 0x4 * (ch)) /* SDA Slave Register */ #define IP_CTRL 0x00 @@ -115,6 +116,7 @@ u32 t_num; u32 p_num; u32 v_num; + u32 c_num; u32 ip_freq; u8 *vm_idx; }; @@ -178,14 +180,15 @@ { struct pvt_device *pvt = dev_get_drvdata(dev); struct regmap *v_map = pvt->v_map; + u8 vm_idx, ch_idx; u32 n, stat; - u8 vm_idx; int ret; - if (channel >= pvt->v_num) + if (channel >= pvt->v_num * pvt->c_num) return -EINVAL; - vm_idx = pvt->vm_idx[channel]; + vm_idx = pvt->vm_idx[channel / pvt->c_num]; + ch_idx = channel % pvt->c_num; switch (attr) { case hwmon_in_input: @@ -196,13 +199,23 @@ if (ret) return ret; - ret = regmap_read(v_map, VM_SDIF_DATA(vm_idx), &n); + ret = regmap_read(v_map, VM_SDIF_DATA(vm_idx, ch_idx), &n); if(ret < 0) return ret; n &= SAMPLE_DATA_MSK; - /* Convert the N bitstream count into voltage */ - *val = (PVT_N_CONST * n - PVT_R_CONST) >> PVT_CONV_BITS; + /* + * Convert the N bitstream count into voltage. + * To support negative voltage calculation for 64bit machines + * n must be cast to long, since n and *val differ both in + * signedness and in size. + * Division is used instead of right shift, because for signed + * numbers, the sign bit is used to fill the vacated bit + * positions, and if the number is negative, 1 is used. + * BIT(x) may not be used instead of (1 << x) because it's + * unsigned. + */ + *val = (PVT_N_CONST * (long)n - PVT_R_CONST) / (1 << PVT_CONV_BITS); return 0; default: @@ -375,6 +388,19 @@ if (ret) return ret; + val = (BIT(pvt->c_num) - 1) | VM_CH_INIT | + IP_POLL << SDIF_ADDR_SFT | SDIF_WRN_W | SDIF_PROG; + ret = regmap_write(v_map, SDIF_W, val); + if (ret < 0) + return ret; + + ret = regmap_read_poll_timeout(v_map, SDIF_STAT, + val, !(val & SDIF_BUSY), + PVT_POLL_DELAY_US, + PVT_POLL_TIMEOUT_US); + if (ret) + return ret; + val = CFG1_VOL_MEAS_MODE | CFG1_PARALLEL_OUT | CFG1_14_BIT | IP_CFG << SDIF_ADDR_SFT | SDIF_WRN_W | SDIF_PROG; @@ -489,8 +515,8 @@ static int mr75203_probe(struct platform_device *pdev) { + u32 ts_num, vm_num, pd_num, ch_num, val, index, i; const struct hwmon_channel_info **pvt_info; - u32 ts_num, vm_num, pd_num, val, index, i; struct device *dev = &pdev->dev; u32 *temp_config, *in_config; struct device *hwmon_dev; @@ -531,9 +557,11 @@ ts_num = (val & TS_NUM_MSK) >> TS_NUM_SFT; pd_num = (val & PD_NUM_MSK) >> PD_NUM_SFT; vm_num = (val & VM_NUM_MSK) >> VM_NUM_SFT; + ch_num = (val & CH_NUM_MSK) >> CH_NUM_SFT; pvt->t_num = ts_num; pvt->p_num = pd_num; pvt->v_num = vm_num; + pvt->c_num = ch_num; val = 0; if (ts_num) val++; @@ -570,7 +598,7 @@ } if (vm_num) { - u32 num = vm_num; + u32 total_ch; ret = pvt_get_regmap(pdev, "vm", pvt); if (ret) @@ -584,30 +612,30 @@ ret = device_property_read_u8_array(dev, "intel,vm-map", pvt->vm_idx, vm_num); if (ret) { - num = 0; + /* + * Incase intel,vm-map property is not defined, we + * assume incremental channel numbers. + */ + for (i = 0; i < vm_num; i++) + pvt->vm_idx[i] = i; } else { for (i = 0; i < vm_num; i++) if (pvt->vm_idx[i] >= vm_num || pvt->vm_idx[i] == 0xff) { - num = i; + pvt->v_num = i; + vm_num = i; break; } } - /* - * Incase intel,vm-map property is not defined, we assume - * incremental channel numbers. - */ - for (i = num; i < vm_num; i++) - pvt->vm_idx[i] = i; - - in_config = devm_kcalloc(dev, num + 1, + total_ch = ch_num * vm_num; + in_config = devm_kcalloc(dev, total_ch + 1, sizeof(*in_config), GFP_KERNEL); if (!in_config) return -ENOMEM; - memset32(in_config, HWMON_I_INPUT, num); - in_config[num] = 0; + memset32(in_config, HWMON_I_INPUT, total_ch); + in_config[total_ch] = 0; pvt_in.config = in_config; pvt_info[index++] = &pvt_in; --- linux-gcp-5.19.0.orig/drivers/hwmon/nct6775-core.c +++ linux-gcp-5.19.0/drivers/hwmon/nct6775-core.c @@ -1150,7 +1150,7 @@ if (err) return err; reg &= 0x70 >> oddshift; - reg |= data->fan_div[nr] & (0x7 << oddshift); + reg |= (data->fan_div[nr] & 0x7) << oddshift; return nct6775_write_value(data, fandiv_reg, reg); } @@ -1480,7 +1480,7 @@ return 0; } -static struct nct6775_data *nct6775_update_device(struct device *dev) +struct nct6775_data *nct6775_update_device(struct device *dev) { struct nct6775_data *data = dev_get_drvdata(dev); int i, j, err = 0; @@ -1615,6 +1615,7 @@ mutex_unlock(&data->update_lock); return err ? ERR_PTR(err) : data; } +EXPORT_SYMBOL_GPL(nct6775_update_device); /* * Sysfs callback functions --- linux-gcp-5.19.0.orig/drivers/hwmon/nct6775-platform.c +++ linux-gcp-5.19.0/drivers/hwmon/nct6775-platform.c @@ -359,7 +359,7 @@ { int err; u16 tmp; - struct nct6775_data *data = dev_get_drvdata(dev); + struct nct6775_data *data = nct6775_update_device(dev); if (IS_ERR(data)) return PTR_ERR(data); --- linux-gcp-5.19.0.orig/drivers/hwmon/nct6775.h +++ linux-gcp-5.19.0/drivers/hwmon/nct6775.h @@ -196,6 +196,8 @@ return regmap_write(data->regmap, reg, value); } +struct nct6775_data *nct6775_update_device(struct device *dev); + bool nct6775_reg_is_word_sized(struct nct6775_data *data, u16 reg); int nct6775_probe(struct device *dev, struct nct6775_data *data, const struct regmap_config *regmapcfg); --- linux-gcp-5.19.0.orig/drivers/hwmon/occ/p9_sbe.c +++ linux-gcp-5.19.0/drivers/hwmon/occ/p9_sbe.c @@ -14,6 +14,8 @@ #include "common.h" +#define OCC_CHECKSUM_RETRIES 3 + struct p9_sbe_occ { struct occ occ; bool sbe_error; @@ -81,18 +83,23 @@ static int p9_sbe_occ_send_cmd(struct occ *occ, u8 *cmd, size_t len, void *resp, size_t resp_len) { + size_t original_resp_len = resp_len; struct p9_sbe_occ *ctx = to_p9_sbe_occ(occ); - int rc; + int rc, i; - rc = fsi_occ_submit(ctx->sbe, cmd, len, resp, &resp_len); - if (rc < 0) { + for (i = 0; i < OCC_CHECKSUM_RETRIES; ++i) { + rc = fsi_occ_submit(ctx->sbe, cmd, len, resp, &resp_len); + if (rc >= 0) + break; if (resp_len) { if (p9_sbe_occ_save_ffdc(ctx, resp, resp_len)) sysfs_notify(&occ->bus_dev->kobj, NULL, bin_attr_ffdc.attr.name); + return rc; } - - return rc; + if (rc != -EBADE) + return rc; + resp_len = original_resp_len; } switch (((struct occ_response *)resp)->return_status) { --- linux-gcp-5.19.0.orig/drivers/hwmon/peci/cputemp.c +++ linux-gcp-5.19.0/drivers/hwmon/peci/cputemp.c @@ -402,7 +402,7 @@ unsigned long core_max = find_last_bit(priv->core_mask, CORE_NUMS_MAX); int i; - priv->coretemp_label = devm_kzalloc(priv->dev, core_max * sizeof(char *), GFP_KERNEL); + priv->coretemp_label = devm_kzalloc(priv->dev, (core_max + 1) * sizeof(char *), GFP_KERNEL); if (!priv->coretemp_label) return -ENOMEM; --- linux-gcp-5.19.0.orig/drivers/hwmon/pmbus/mp2888.c +++ linux-gcp-5.19.0/drivers/hwmon/pmbus/mp2888.c @@ -34,7 +34,7 @@ int curr_sense_gain; }; -#define to_mp2888_data(x) container_of(x, struct mp2888_data, info) +#define to_mp2888_data(x) container_of(x, struct mp2888_data, info) static int mp2888_read_byte_data(struct i2c_client *client, int page, int reg) { @@ -109,7 +109,7 @@ * - Kcs is the DrMOS current sense gain of power stage, which is obtained from the * register MP2888_MFR_VR_CONFIG1, bits 13-12 with the following selection of DrMOS * (data->curr_sense_gain): - * 00b - 5µA/A, 01b - 8.5µA/A, 10b - 9.7µA/A, 11b - 10µA/A. + * 00b - 8.5µA/A, 01b - 9.7µA/A, 1b - 10µA/A, 11b - 5µA/A. * - Rcs is the internal phase current sense resistor. This parameter depends on hardware * assembly. By default it is set to 1kΩ. In case of different assembly, user should * scale this parameter by dividing it by Rcs. @@ -118,10 +118,9 @@ * because sampling of current occurrence of bit weight has a big deviation, especially for * light load. */ - ret = DIV_ROUND_CLOSEST(ret * 100 - 9800, data->curr_sense_gain); - ret = (data->phase_curr_resolution) ? ret * 2 : ret; + ret = DIV_ROUND_CLOSEST(ret * 200 - 19600, data->curr_sense_gain); /* Scale according to total current resolution. */ - ret = (data->total_curr_resolution) ? ret * 8 : ret * 4; + ret = (data->total_curr_resolution) ? ret * 2 : ret; return ret; } @@ -212,7 +211,7 @@ ret = pmbus_read_word_data(client, page, phase, reg); if (ret < 0) return ret; - ret = data->total_curr_resolution ? ret * 2 : ret; + ret = data->total_curr_resolution ? ret : DIV_ROUND_CLOSEST(ret, 2); break; case PMBUS_POUT_OP_WARN_LIMIT: ret = pmbus_read_word_data(client, page, phase, reg); @@ -223,7 +222,7 @@ * set 1. Actual power is reported with 0.5W or 1W respectively resolution. Scaling * is needed to match both. */ - ret = data->total_curr_resolution ? ret * 4 : ret * 2; + ret = data->total_curr_resolution ? ret * 2 : ret; break; /* * The below registers are not implemented by device or implemented not according to the --- linux-gcp-5.19.0.orig/drivers/hwmon/sch56xx-common.c +++ linux-gcp-5.19.0/drivers/hwmon/sch56xx-common.c @@ -523,6 +523,28 @@ return PTR_ERR_OR_ZERO(sch56xx_pdev); } +static const struct dmi_system_id sch56xx_dmi_override_table[] __initconst = { + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), + DMI_MATCH(DMI_PRODUCT_NAME, "CELSIUS W380"), + }, + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), + DMI_MATCH(DMI_PRODUCT_NAME, "ESPRIMO P710"), + }, + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), + DMI_MATCH(DMI_PRODUCT_NAME, "ESPRIMO E9900"), + }, + }, + { } +}; + /* For autoloading only */ static const struct dmi_system_id sch56xx_dmi_table[] __initconst = { { @@ -543,16 +565,18 @@ if (!dmi_check_system(sch56xx_dmi_table)) return -ENODEV; - /* - * Some machines like the Esprimo P720 and Esprimo C700 have - * onboard devices named " Antiope"/" Theseus" instead of - * "Antiope"/"Theseus", so we need to check for both. - */ - if (!dmi_find_device(DMI_DEV_TYPE_OTHER, "Antiope", NULL) && - !dmi_find_device(DMI_DEV_TYPE_OTHER, " Antiope", NULL) && - !dmi_find_device(DMI_DEV_TYPE_OTHER, "Theseus", NULL) && - !dmi_find_device(DMI_DEV_TYPE_OTHER, " Theseus", NULL)) - return -ENODEV; + if (!dmi_check_system(sch56xx_dmi_override_table)) { + /* + * Some machines like the Esprimo P720 and Esprimo C700 have + * onboard devices named " Antiope"/" Theseus" instead of + * "Antiope"/"Theseus", so we need to check for both. + */ + if (!dmi_find_device(DMI_DEV_TYPE_OTHER, "Antiope", NULL) && + !dmi_find_device(DMI_DEV_TYPE_OTHER, " Antiope", NULL) && + !dmi_find_device(DMI_DEV_TYPE_OTHER, "Theseus", NULL) && + !dmi_find_device(DMI_DEV_TYPE_OTHER, " Theseus", NULL)) + return -ENODEV; + } } /* --- linux-gcp-5.19.0.orig/drivers/hwmon/sht15.c +++ linux-gcp-5.19.0/drivers/hwmon/sht15.c @@ -1020,25 +1020,20 @@ static int sht15_remove(struct platform_device *pdev) { struct sht15_data *data = platform_get_drvdata(pdev); + int ret; - /* - * Make sure any reads from the device are done and - * prevent new ones beginning - */ - mutex_lock(&data->read_lock); - if (sht15_soft_reset(data)) { - mutex_unlock(&data->read_lock); - return -EFAULT; - } hwmon_device_unregister(data->hwmon_dev); sysfs_remove_group(&pdev->dev.kobj, &sht15_attr_group); + + ret = sht15_soft_reset(data); + if (ret) + dev_err(&pdev->dev, "Failed to reset device (%pe)\n", ERR_PTR(ret)); + if (!IS_ERR(data->reg)) { regulator_unregister_notifier(data->reg, &data->nb); regulator_disable(data->reg); } - mutex_unlock(&data->read_lock); - return 0; } --- linux-gcp-5.19.0.orig/drivers/hwmon/sht4x.c +++ linux-gcp-5.19.0/drivers/hwmon/sht4x.c @@ -129,7 +129,7 @@ static ssize_t sht4x_interval_write(struct sht4x_data *data, long val) { - data->update_interval = clamp_val(val, SHT4X_MIN_POLL_INTERVAL, UINT_MAX); + data->update_interval = clamp_val(val, SHT4X_MIN_POLL_INTERVAL, INT_MAX); return 0; } --- linux-gcp-5.19.0.orig/drivers/hwmon/tps23861.c +++ linux-gcp-5.19.0/drivers/hwmon/tps23861.c @@ -489,18 +489,20 @@ static int tps23861_port_resistance(struct tps23861_data *data, int port) { - u16 regval; + unsigned int raw_val; + __le16 regval; regmap_bulk_read(data->regmap, PORT_1_RESISTANCE_LSB + PORT_N_RESISTANCE_LSB_OFFSET * (port - 1), ®val, 2); - switch (FIELD_GET(PORT_RESISTANCE_RSN_MASK, regval)) { + raw_val = le16_to_cpu(regval); + switch (FIELD_GET(PORT_RESISTANCE_RSN_MASK, raw_val)) { case PORT_RESISTANCE_RSN_OTHER: - return (FIELD_GET(PORT_RESISTANCE_MASK, regval) * RESISTANCE_LSB) / 10000; + return (FIELD_GET(PORT_RESISTANCE_MASK, raw_val) * RESISTANCE_LSB) / 10000; case PORT_RESISTANCE_RSN_LOW: - return (FIELD_GET(PORT_RESISTANCE_MASK, regval) * RESISTANCE_LSB_LOW) / 10000; + return (FIELD_GET(PORT_RESISTANCE_MASK, raw_val) * RESISTANCE_LSB_LOW) / 10000; case PORT_RESISTANCE_RSN_SHORT: case PORT_RESISTANCE_RSN_OPEN: default: --- linux-gcp-5.19.0.orig/drivers/hwspinlock/qcom_hwspinlock.c +++ linux-gcp-5.19.0/drivers/hwspinlock/qcom_hwspinlock.c @@ -105,7 +105,7 @@ .reg_bits = 32, .reg_stride = 4, .val_bits = 32, - .max_register = 0x40000, + .max_register = 0x20000, .fast_io = true, }; --- linux-gcp-5.19.0.orig/drivers/hwtracing/coresight/coresight-config.h +++ linux-gcp-5.19.0/drivers/hwtracing/coresight/coresight-config.h @@ -134,6 +134,7 @@ * @active_cnt: ref count for activate on this configuration. * @load_owner: handle to load owner for dynamic load and unload of configs. * @fs_group: reference to configfs group for dynamic unload. + * @available: config can be activated - multi-stage load sets true on completion. */ struct cscfg_config_desc { const char *name; @@ -148,6 +149,7 @@ atomic_t active_cnt; void *load_owner; struct config_group *fs_group; + bool available; }; /** --- linux-gcp-5.19.0.orig/drivers/hwtracing/coresight/coresight-core.c +++ linux-gcp-5.19.0/drivers/hwtracing/coresight/coresight-core.c @@ -1424,6 +1424,7 @@ * platform data. */ fwnode_handle_put(conn->child_fwnode); + conn->child_fwnode = NULL; /* No need to continue */ break; } --- linux-gcp-5.19.0.orig/drivers/hwtracing/coresight/coresight-cti-core.c +++ linux-gcp-5.19.0/drivers/hwtracing/coresight/coresight-cti-core.c @@ -90,11 +90,9 @@ static int cti_enable_hw(struct cti_drvdata *drvdata) { struct cti_config *config = &drvdata->config; - struct device *dev = &drvdata->csdev->dev; unsigned long flags; int rc = 0; - pm_runtime_get_sync(dev->parent); spin_lock_irqsave(&drvdata->spinlock, flags); /* no need to do anything if enabled or unpowered*/ @@ -119,7 +117,6 @@ /* cannot enable due to error */ cti_err_not_enabled: spin_unlock_irqrestore(&drvdata->spinlock, flags); - pm_runtime_put(dev->parent); return rc; } @@ -153,11 +150,17 @@ static int cti_disable_hw(struct cti_drvdata *drvdata) { struct cti_config *config = &drvdata->config; - struct device *dev = &drvdata->csdev->dev; struct coresight_device *csdev = drvdata->csdev; + int ret = 0; spin_lock(&drvdata->spinlock); + /* don't allow negative refcounts, return an error */ + if (!atomic_read(&drvdata->config.enable_req_count)) { + ret = -EINVAL; + goto cti_not_disabled; + } + /* check refcount - disable on 0 */ if (atomic_dec_return(&drvdata->config.enable_req_count) > 0) goto cti_not_disabled; @@ -175,13 +178,12 @@ coresight_disclaim_device_unlocked(csdev); CS_LOCK(drvdata->base); spin_unlock(&drvdata->spinlock); - pm_runtime_put(dev->parent); - return 0; + return ret; /* not disabled this call */ cti_not_disabled: spin_unlock(&drvdata->spinlock); - return 0; + return ret; } void cti_write_single_reg(struct cti_drvdata *drvdata, int offset, u32 value) --- linux-gcp-5.19.0.orig/drivers/hwtracing/coresight/coresight-cti-sysfs.c +++ linux-gcp-5.19.0/drivers/hwtracing/coresight/coresight-cti-sysfs.c @@ -108,10 +108,19 @@ if (ret) return ret; - if (val) + if (val) { + ret = pm_runtime_resume_and_get(dev->parent); + if (ret) + return ret; ret = cti_enable(drvdata->csdev); - else + if (ret) + pm_runtime_put(dev->parent); + } else { ret = cti_disable(drvdata->csdev); + if (!ret) + pm_runtime_put(dev->parent); + } + if (ret) return ret; return size; --- linux-gcp-5.19.0.orig/drivers/hwtracing/coresight/coresight-etm4x-core.c +++ linux-gcp-5.19.0/drivers/hwtracing/coresight/coresight-etm4x-core.c @@ -424,8 +424,10 @@ etm4x_relaxed_write32(csa, config->vipcssctlr, TRCVIPCSSCTLR); for (i = 0; i < drvdata->nrseqstate - 1; i++) etm4x_relaxed_write32(csa, config->seq_ctrl[i], TRCSEQEVRn(i)); - etm4x_relaxed_write32(csa, config->seq_rst, TRCSEQRSTEVR); - etm4x_relaxed_write32(csa, config->seq_state, TRCSEQSTR); + if (drvdata->nrseqstate) { + etm4x_relaxed_write32(csa, config->seq_rst, TRCSEQRSTEVR); + etm4x_relaxed_write32(csa, config->seq_state, TRCSEQSTR); + } etm4x_relaxed_write32(csa, config->ext_inp, TRCEXTINSELR); for (i = 0; i < drvdata->nr_cntr; i++) { etm4x_relaxed_write32(csa, config->cntrldvr[i], TRCCNTRLDVRn(i)); @@ -1617,8 +1619,10 @@ for (i = 0; i < drvdata->nrseqstate - 1; i++) state->trcseqevr[i] = etm4x_read32(csa, TRCSEQEVRn(i)); - state->trcseqrstevr = etm4x_read32(csa, TRCSEQRSTEVR); - state->trcseqstr = etm4x_read32(csa, TRCSEQSTR); + if (drvdata->nrseqstate) { + state->trcseqrstevr = etm4x_read32(csa, TRCSEQRSTEVR); + state->trcseqstr = etm4x_read32(csa, TRCSEQSTR); + } state->trcextinselr = etm4x_read32(csa, TRCEXTINSELR); for (i = 0; i < drvdata->nr_cntr; i++) { @@ -1746,8 +1750,10 @@ for (i = 0; i < drvdata->nrseqstate - 1; i++) etm4x_relaxed_write32(csa, state->trcseqevr[i], TRCSEQEVRn(i)); - etm4x_relaxed_write32(csa, state->trcseqrstevr, TRCSEQRSTEVR); - etm4x_relaxed_write32(csa, state->trcseqstr, TRCSEQSTR); + if (drvdata->nrseqstate) { + etm4x_relaxed_write32(csa, state->trcseqrstevr, TRCSEQRSTEVR); + etm4x_relaxed_write32(csa, state->trcseqstr, TRCSEQSTR); + } etm4x_relaxed_write32(csa, state->trcextinselr, TRCEXTINSELR); for (i = 0; i < drvdata->nr_cntr; i++) { --- linux-gcp-5.19.0.orig/drivers/hwtracing/coresight/coresight-etm4x.h +++ linux-gcp-5.19.0/drivers/hwtracing/coresight/coresight-etm4x.h @@ -7,6 +7,7 @@ #define _CORESIGHT_CORESIGHT_ETM_H #include +#include #include #include #include "coresight-priv.h" @@ -515,7 +516,7 @@ ({ \ u64 __val; \ \ - if (__builtin_constant_p((offset))) \ + if (__is_constexpr((offset))) \ __val = read_etm4x_sysreg_const_offset((offset)); \ else \ __val = etm4x_sysreg_read((offset), true, (_64bit)); \ --- linux-gcp-5.19.0.orig/drivers/hwtracing/coresight/coresight-syscfg.c +++ linux-gcp-5.19.0/drivers/hwtracing/coresight/coresight-syscfg.c @@ -415,6 +415,27 @@ } /* + * Unregister all configuration and features from configfs owned by load_owner. + * Although this is called without the list mutex being held, it is in the + * context of an unload operation which are strictly serialised, + * so the lists cannot change during this call. + */ +static void cscfg_fs_unregister_cfgs_feats(void *load_owner) +{ + struct cscfg_config_desc *config_desc; + struct cscfg_feature_desc *feat_desc; + + list_for_each_entry(config_desc, &cscfg_mgr->config_desc_list, item) { + if (config_desc->load_owner == load_owner) + cscfg_configfs_del_config(config_desc); + } + list_for_each_entry(feat_desc, &cscfg_mgr->feat_desc_list, item) { + if (feat_desc->load_owner == load_owner) + cscfg_configfs_del_feature(feat_desc); + } +} + +/* * removal is relatively easy - just remove from all lists, anything that * matches the owner. Memory for the descriptors will be managed by the owner, * memory for the csdev items is devm_ allocated with the individual csdev @@ -426,6 +447,8 @@ struct cscfg_feature_desc *feat_desc, *feat_tmp; struct cscfg_registered_csdev *csdev_item; + lockdep_assert_held(&cscfg_mutex); + /* remove from each csdev instance feature and config lists */ list_for_each_entry(csdev_item, &cscfg_mgr->csdev_desc_list, item) { /* @@ -439,7 +462,6 @@ /* remove from the config descriptor lists */ list_for_each_entry_safe(config_desc, cfg_tmp, &cscfg_mgr->config_desc_list, item) { if (config_desc->load_owner == load_owner) { - cscfg_configfs_del_config(config_desc); etm_perf_del_symlink_cscfg(config_desc); list_del(&config_desc->item); } @@ -448,12 +470,90 @@ /* remove from the feature descriptor lists */ list_for_each_entry_safe(feat_desc, feat_tmp, &cscfg_mgr->feat_desc_list, item) { if (feat_desc->load_owner == load_owner) { - cscfg_configfs_del_feature(feat_desc); list_del(&feat_desc->item); } } } +/* + * load the features and configs to the lists - called with list mutex held + */ +static int cscfg_load_owned_cfgs_feats(struct cscfg_config_desc **config_descs, + struct cscfg_feature_desc **feat_descs, + struct cscfg_load_owner_info *owner_info) +{ + int i, err; + + lockdep_assert_held(&cscfg_mutex); + + /* load features first */ + if (feat_descs) { + for (i = 0; feat_descs[i]; i++) { + err = cscfg_load_feat(feat_descs[i]); + if (err) { + pr_err("coresight-syscfg: Failed to load feature %s\n", + feat_descs[i]->name); + return err; + } + feat_descs[i]->load_owner = owner_info; + } + } + + /* next any configurations to check feature dependencies */ + if (config_descs) { + for (i = 0; config_descs[i]; i++) { + err = cscfg_load_config(config_descs[i]); + if (err) { + pr_err("coresight-syscfg: Failed to load configuration %s\n", + config_descs[i]->name); + return err; + } + config_descs[i]->load_owner = owner_info; + config_descs[i]->available = false; + } + } + return 0; +} + +/* set configurations as available to activate at the end of the load process */ +static void cscfg_set_configs_available(struct cscfg_config_desc **config_descs) +{ + int i; + + lockdep_assert_held(&cscfg_mutex); + + if (config_descs) { + for (i = 0; config_descs[i]; i++) + config_descs[i]->available = true; + } +} + +/* + * Create and register each of the configurations and features with configfs. + * Called without mutex being held. + */ +static int cscfg_fs_register_cfgs_feats(struct cscfg_config_desc **config_descs, + struct cscfg_feature_desc **feat_descs) +{ + int i, err; + + if (feat_descs) { + for (i = 0; feat_descs[i]; i++) { + err = cscfg_configfs_add_feature(feat_descs[i]); + if (err) + return err; + } + } + if (config_descs) { + for (i = 0; config_descs[i]; i++) { + err = cscfg_configfs_add_config(config_descs[i]); + if (err) + return err; + } + } + return 0; +} + /** * cscfg_load_config_sets - API function to load feature and config sets. * @@ -476,57 +576,63 @@ struct cscfg_feature_desc **feat_descs, struct cscfg_load_owner_info *owner_info) { - int err = 0, i = 0; + int err = 0; mutex_lock(&cscfg_mutex); - - /* load features first */ - if (feat_descs) { - while (feat_descs[i]) { - err = cscfg_load_feat(feat_descs[i]); - if (!err) - err = cscfg_configfs_add_feature(feat_descs[i]); - if (err) { - pr_err("coresight-syscfg: Failed to load feature %s\n", - feat_descs[i]->name); - cscfg_unload_owned_cfgs_feats(owner_info); - goto exit_unlock; - } - feat_descs[i]->load_owner = owner_info; - i++; - } + if (cscfg_mgr->load_state != CSCFG_NONE) { + mutex_unlock(&cscfg_mutex); + return -EBUSY; } + cscfg_mgr->load_state = CSCFG_LOAD; - /* next any configurations to check feature dependencies */ - i = 0; - if (config_descs) { - while (config_descs[i]) { - err = cscfg_load_config(config_descs[i]); - if (!err) - err = cscfg_configfs_add_config(config_descs[i]); - if (err) { - pr_err("coresight-syscfg: Failed to load configuration %s\n", - config_descs[i]->name); - cscfg_unload_owned_cfgs_feats(owner_info); - goto exit_unlock; - } - config_descs[i]->load_owner = owner_info; - i++; - } - } + /* first load and add to the lists */ + err = cscfg_load_owned_cfgs_feats(config_descs, feat_descs, owner_info); + if (err) + goto err_clean_load; /* add the load owner to the load order list */ list_add_tail(&owner_info->item, &cscfg_mgr->load_order_list); if (!list_is_singular(&cscfg_mgr->load_order_list)) { /* lock previous item in load order list */ err = cscfg_owner_get(list_prev_entry(owner_info, item)); - if (err) { - cscfg_unload_owned_cfgs_feats(owner_info); - list_del(&owner_info->item); - } + if (err) + goto err_clean_owner_list; } + /* + * make visible to configfs - configfs manipulation must occur outside + * the list mutex lock to avoid circular lockdep issues with configfs + * built in mutexes and semaphores. This is safe as it is not possible + * to start a new load/unload operation till the current one is done. + */ + mutex_unlock(&cscfg_mutex); + + /* create the configfs elements */ + err = cscfg_fs_register_cfgs_feats(config_descs, feat_descs); + mutex_lock(&cscfg_mutex); + + if (err) + goto err_clean_cfs; + + /* mark any new configs as available for activation */ + cscfg_set_configs_available(config_descs); + goto exit_unlock; + +err_clean_cfs: + /* cleanup after error registering with configfs */ + cscfg_fs_unregister_cfgs_feats(owner_info); + + if (!list_is_singular(&cscfg_mgr->load_order_list)) + cscfg_owner_put(list_prev_entry(owner_info, item)); + +err_clean_owner_list: + list_del(&owner_info->item); + +err_clean_load: + cscfg_unload_owned_cfgs_feats(owner_info); + exit_unlock: + cscfg_mgr->load_state = CSCFG_NONE; mutex_unlock(&cscfg_mutex); return err; } @@ -543,6 +649,9 @@ * 1) no configurations are active. * 2) the set being unloaded was the last to be loaded to maintain dependencies. * + * Once the unload operation commences, we disallow any configuration being + * made active until it is complete. + * * @owner_info: Information on owner for set being unloaded. */ int cscfg_unload_config_sets(struct cscfg_load_owner_info *owner_info) @@ -551,6 +660,13 @@ struct cscfg_load_owner_info *load_list_item = NULL; mutex_lock(&cscfg_mutex); + if (cscfg_mgr->load_state != CSCFG_NONE) { + mutex_unlock(&cscfg_mutex); + return -EBUSY; + } + + /* unload op in progress also prevents activation of any config */ + cscfg_mgr->load_state = CSCFG_UNLOAD; /* cannot unload if anything is active */ if (atomic_read(&cscfg_mgr->sys_active_cnt)) { @@ -571,7 +687,12 @@ goto exit_unlock; } - /* unload all belonging to load_owner */ + /* remove from configfs - again outside the scope of the list mutex */ + mutex_unlock(&cscfg_mutex); + cscfg_fs_unregister_cfgs_feats(owner_info); + mutex_lock(&cscfg_mutex); + + /* unload everything from lists belonging to load_owner */ cscfg_unload_owned_cfgs_feats(owner_info); /* remove from load order list */ @@ -582,6 +703,7 @@ list_del(&owner_info->item); exit_unlock: + cscfg_mgr->load_state = CSCFG_NONE; mutex_unlock(&cscfg_mutex); return err; } @@ -759,8 +881,15 @@ struct cscfg_config_desc *config_desc; int err = -EINVAL; + if (cscfg_mgr->load_state == CSCFG_UNLOAD) + return -EBUSY; + list_for_each_entry(config_desc, &cscfg_mgr->config_desc_list, item) { if ((unsigned long)config_desc->event_ea->var == cfg_hash) { + /* if we happen upon a partly loaded config, can't use it */ + if (config_desc->available == false) + return -EBUSY; + /* must ensure that config cannot be unloaded in use */ err = cscfg_owner_get(config_desc->load_owner); if (err) @@ -1022,8 +1151,10 @@ /* Must have a release function or the kernel will complain on module unload */ static void cscfg_dev_release(struct device *dev) { + mutex_lock(&cscfg_mutex); kfree(cscfg_mgr); cscfg_mgr = NULL; + mutex_unlock(&cscfg_mutex); } /* a device is needed to "own" some kernel elements such as sysfs entries. */ @@ -1042,6 +1173,14 @@ if (!cscfg_mgr) goto create_dev_exit_unlock; + /* initialise the cscfg_mgr structure */ + INIT_LIST_HEAD(&cscfg_mgr->csdev_desc_list); + INIT_LIST_HEAD(&cscfg_mgr->feat_desc_list); + INIT_LIST_HEAD(&cscfg_mgr->config_desc_list); + INIT_LIST_HEAD(&cscfg_mgr->load_order_list); + atomic_set(&cscfg_mgr->sys_active_cnt, 0); + cscfg_mgr->load_state = CSCFG_NONE; + /* setup the device */ dev = cscfg_device(); dev->release = cscfg_dev_release; @@ -1056,17 +1195,73 @@ return err; } -static void cscfg_clear_device(void) +/* + * Loading and unloading is generally on user discretion. + * If exiting due to coresight module unload, we need to unload any configurations that remain, + * before we unregister the configfs intrastructure. + * + * Do this by walking the load_owner list and taking appropriate action, depending on the load + * owner type. + */ +static void cscfg_unload_cfgs_on_exit(void) { - struct cscfg_config_desc *cfg_desc; + struct cscfg_load_owner_info *owner_info = NULL; + /* + * grab the mutex - even though we are exiting, some configfs files + * may still be live till we dump them, so ensure list data is + * protected from a race condition. + */ mutex_lock(&cscfg_mutex); - list_for_each_entry(cfg_desc, &cscfg_mgr->config_desc_list, item) { - etm_perf_del_symlink_cscfg(cfg_desc); + while (!list_empty(&cscfg_mgr->load_order_list)) { + + /* remove in reverse order of loading */ + owner_info = list_last_entry(&cscfg_mgr->load_order_list, + struct cscfg_load_owner_info, item); + + /* action according to type */ + switch (owner_info->type) { + case CSCFG_OWNER_PRELOAD: + /* + * preloaded descriptors are statically allocated in + * this module - just need to unload dynamic items from + * csdev lists, and remove from configfs directories. + */ + pr_info("cscfg: unloading preloaded configurations\n"); + break; + + case CSCFG_OWNER_MODULE: + /* + * this is an error - the loadable module must have been unloaded prior + * to the coresight module unload. Therefore that module has not + * correctly unloaded configs in its own exit code. + * Nothing to do other than emit an error string as the static descriptor + * references we need to unload will have disappeared with the module. + */ + pr_err("cscfg: ERROR: prior module failed to unload configuration\n"); + goto list_remove; + } + + /* remove from configfs - outside the scope of the list mutex */ + mutex_unlock(&cscfg_mutex); + cscfg_fs_unregister_cfgs_feats(owner_info); + mutex_lock(&cscfg_mutex); + + /* Next unload from csdev lists. */ + cscfg_unload_owned_cfgs_feats(owner_info); + +list_remove: + /* remove from load order list */ + list_del(&owner_info->item); } + mutex_unlock(&cscfg_mutex); +} + +static void cscfg_clear_device(void) +{ + cscfg_unload_cfgs_on_exit(); cscfg_configfs_release(cscfg_mgr); device_unregister(cscfg_device()); - mutex_unlock(&cscfg_mutex); } /* Initialise system config management API device */ @@ -1074,20 +1269,16 @@ { int err = 0; + /* create the device and init cscfg_mgr */ err = cscfg_create_device(); if (err) return err; + /* initialise configfs subsystem */ err = cscfg_configfs_init(cscfg_mgr); if (err) goto exit_err; - INIT_LIST_HEAD(&cscfg_mgr->csdev_desc_list); - INIT_LIST_HEAD(&cscfg_mgr->feat_desc_list); - INIT_LIST_HEAD(&cscfg_mgr->config_desc_list); - INIT_LIST_HEAD(&cscfg_mgr->load_order_list); - atomic_set(&cscfg_mgr->sys_active_cnt, 0); - /* preload built-in configurations */ err = cscfg_preload(THIS_MODULE); if (err) --- linux-gcp-5.19.0.orig/drivers/hwtracing/coresight/coresight-syscfg.h +++ linux-gcp-5.19.0/drivers/hwtracing/coresight/coresight-syscfg.h @@ -12,6 +12,17 @@ #include "coresight-config.h" +/* + * Load operation types. + * When loading or unloading, another load operation cannot be run. + * When unloading configurations cannot be activated. + */ +enum cscfg_load_ops { + CSCFG_NONE, + CSCFG_LOAD, + CSCFG_UNLOAD +}; + /** * System configuration manager device. * @@ -30,6 +41,7 @@ * @cfgfs_subsys: configfs subsystem used to manage configurations. * @sysfs_active_config:Active config hash used if CoreSight controlled from sysfs. * @sysfs_active_preset:Active preset index used if CoreSight controlled from sysfs. + * @load_state: A multi-stage load/unload operation is in progress. */ struct cscfg_manager { struct device dev; @@ -41,6 +53,7 @@ struct configfs_subsystem cfgfs_subsys; u32 sysfs_active_config; int sysfs_active_preset; + enum cscfg_load_ops load_state; }; /* get reference to dev in cscfg_manager */ --- linux-gcp-5.19.0.orig/drivers/hwtracing/coresight/coresight-trbe.c +++ linux-gcp-5.19.0/drivers/hwtracing/coresight/coresight-trbe.c @@ -1434,6 +1434,7 @@ static void arm_trbe_remove_cpuhp(struct trbe_drvdata *drvdata) { + cpuhp_state_remove_instance(drvdata->trbe_online, &drvdata->hotplug_node); cpuhp_remove_multi_state(drvdata->trbe_online); } --- linux-gcp-5.19.0.orig/drivers/hwtracing/intel_th/msu-sink.c +++ linux-gcp-5.19.0/drivers/hwtracing/intel_th/msu-sink.c @@ -71,6 +71,9 @@ block = dma_alloc_coherent(priv->dev->parent->parent, PAGE_SIZE, &sg_dma_address(sg_ptr), GFP_KERNEL); + if (!block) + return -ENOMEM; + sg_set_buf(sg_ptr, block, PAGE_SIZE); } --- linux-gcp-5.19.0.orig/drivers/hwtracing/intel_th/msu.c +++ linux-gcp-5.19.0/drivers/hwtracing/intel_th/msu.c @@ -1067,6 +1067,16 @@ static inline void msc_buffer_set_wb(struct msc *msc) {} #endif /* CONFIG_X86 */ +static struct page *msc_sg_page(struct scatterlist *sg) +{ + void *addr = sg_virt(sg); + + if (is_vmalloc_addr(addr)) + return vmalloc_to_page(addr); + + return sg_page(sg); +} + /** * msc_buffer_win_alloc() - alloc a window for a multiblock mode * @msc: MSC device @@ -1137,7 +1147,7 @@ int i; for_each_sg(win->sgt->sgl, sg, win->nr_segs, i) { - struct page *page = sg_page(sg); + struct page *page = msc_sg_page(sg); page->mapping = NULL; dma_free_coherent(msc_dev(win->msc)->parent->parent, PAGE_SIZE, @@ -1401,7 +1411,7 @@ pgoff -= win->pgoff; for_each_sg(win->sgt->sgl, sg, win->nr_segs, blk) { - struct page *page = sg_page(sg); + struct page *page = msc_sg_page(sg); size_t pgsz = PFN_DOWN(sg->length); if (pgoff < pgsz) --- linux-gcp-5.19.0.orig/drivers/hwtracing/intel_th/pci.c +++ linux-gcp-5.19.0/drivers/hwtracing/intel_th/pci.c @@ -100,8 +100,10 @@ } th = intel_th_alloc(&pdev->dev, drvdata, resource, r); - if (IS_ERR(th)) - return PTR_ERR(th); + if (IS_ERR(th)) { + err = PTR_ERR(th); + goto err_free_irq; + } th->activate = intel_th_pci_activate; th->deactivate = intel_th_pci_deactivate; @@ -109,6 +111,10 @@ pci_set_master(pdev); return 0; + +err_free_irq: + pci_free_irq_vectors(pdev); + return err; } static void intel_th_pci_remove(struct pci_dev *pdev) @@ -279,6 +285,21 @@ .driver_data = (kernel_ulong_t)&intel_th_2x, }, { + /* Meteor Lake-P */ + PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x7e24), + .driver_data = (kernel_ulong_t)&intel_th_2x, + }, + { + /* Raptor Lake-S */ + PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x7a26), + .driver_data = (kernel_ulong_t)&intel_th_2x, + }, + { + /* Raptor Lake-S CPU */ + PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0xa76f), + .driver_data = (kernel_ulong_t)&intel_th_2x, + }, + { /* Alder Lake CPU */ PCI_DEVICE(PCI_VENDOR_ID_INTEL, 0x466f), .driver_data = (kernel_ulong_t)&intel_th_2x, --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-cadence.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-cadence.c @@ -573,8 +573,13 @@ ctrl_reg = cdns_i2c_readreg(CDNS_I2C_CR_OFFSET); ctrl_reg |= CDNS_I2C_CR_RW | CDNS_I2C_CR_CLR_FIFO; + /* + * Receive up to I2C_SMBUS_BLOCK_MAX data bytes, plus one message length + * byte, plus one checksum byte if PEC is enabled. p_msg->len will be 2 if + * PEC is enabled, otherwise 1. + */ if (id->p_msg->flags & I2C_M_RECV_LEN) - id->recv_count = I2C_SMBUS_BLOCK_MAX + 1; + id->recv_count = I2C_SMBUS_BLOCK_MAX + id->p_msg->len; id->curr_recv_count = id->recv_count; @@ -789,6 +794,9 @@ if (id->err_status & CDNS_I2C_IXR_ARB_LOST) return -EAGAIN; + if (msg->flags & I2C_M_RECV_LEN) + msg->len += min_t(unsigned int, msg->buf[0], I2C_SMBUS_BLOCK_MAX); + return 0; } --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-davinci.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-davinci.c @@ -823,7 +823,7 @@ r = pm_runtime_resume_and_get(dev->dev); if (r < 0) { dev_err(dev->dev, "failed to runtime_get device: %d\n", r); - return r; + goto err_pm; } i2c_davinci_init(dev); @@ -882,6 +882,7 @@ err_unuse_clocks: pm_runtime_dont_use_autosuspend(dev->dev); pm_runtime_put_sync(dev->dev); +err_pm: pm_runtime_disable(dev->dev); return r; --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-designware-common.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-designware-common.c @@ -351,7 +351,8 @@ * * If your hardware is free from tHD;STA issue, try this one. */ - return DIV_ROUND_CLOSEST(ic_clk * tSYMBOL, MICRO) - 8 + offset; + return DIV_ROUND_CLOSEST_ULL((u64)ic_clk * tSYMBOL, MICRO) - + 8 + offset; else /* * Conditional expression: @@ -367,7 +368,8 @@ * The reason why we need to take into account "tf" here, * is the same as described in i2c_dw_scl_lcnt(). */ - return DIV_ROUND_CLOSEST(ic_clk * (tSYMBOL + tf), MICRO) - 3 + offset; + return DIV_ROUND_CLOSEST_ULL((u64)ic_clk * (tSYMBOL + tf), MICRO) - + 3 + offset; } u32 i2c_dw_scl_lcnt(u32 ic_clk, u32 tLOW, u32 tf, int offset) @@ -383,7 +385,8 @@ * account the fall time of SCL signal (tf). Default tf value * should be 0.3 us, for safety. */ - return DIV_ROUND_CLOSEST(ic_clk * (tLOW + tf), MICRO) - 1 + offset; + return DIV_ROUND_CLOSEST_ULL((u64)ic_clk * (tLOW + tf), MICRO) - + 1 + offset; } int i2c_dw_set_sda_hold(struct dw_i2c_dev *dev) @@ -462,7 +465,7 @@ dev_warn(dev->dev, "timeout in disabling adapter\n"); } -unsigned long i2c_dw_clk_rate(struct dw_i2c_dev *dev) +u32 i2c_dw_clk_rate(struct dw_i2c_dev *dev) { /* * Clock is not necessary if we got LCNT/HCNT values directly from --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-designware-core.h +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-designware-core.h @@ -126,8 +126,9 @@ * status codes */ #define STATUS_IDLE 0x0 -#define STATUS_WRITE_IN_PROGRESS 0x1 -#define STATUS_READ_IN_PROGRESS 0x2 +#define STATUS_ACTIVE 0x1 +#define STATUS_WRITE_IN_PROGRESS 0x2 +#define STATUS_READ_IN_PROGRESS 0x4 /* * operation modes @@ -321,7 +322,7 @@ u32 i2c_dw_scl_hcnt(u32 ic_clk, u32 tSYMBOL, u32 tf, int cond, int offset); u32 i2c_dw_scl_lcnt(u32 ic_clk, u32 tLOW, u32 tf, int offset); int i2c_dw_set_sda_hold(struct dw_i2c_dev *dev); -unsigned long i2c_dw_clk_rate(struct dw_i2c_dev *dev); +u32 i2c_dw_clk_rate(struct dw_i2c_dev *dev); int i2c_dw_prepare_clk(struct dw_i2c_dev *dev, bool prepare); int i2c_dw_acquire_lock(struct dw_i2c_dev *dev); void i2c_dw_release_lock(struct dw_i2c_dev *dev); @@ -334,12 +335,14 @@ static inline void __i2c_dw_enable(struct dw_i2c_dev *dev) { + dev->status |= STATUS_ACTIVE; regmap_write(dev->map, DW_IC_ENABLE, 1); } static inline void __i2c_dw_disable_nowait(struct dw_i2c_dev *dev) { regmap_write(dev->map, DW_IC_ENABLE, 0); + dev->status &= ~STATUS_ACTIVE; } void __i2c_dw_disable(struct dw_i2c_dev *dev); --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-designware-master.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-designware-master.c @@ -716,6 +716,19 @@ u32 stat; stat = i2c_dw_read_clear_intrbits(dev); + + if (!(dev->status & STATUS_ACTIVE)) { + /* + * Unexpected interrupt in driver point of view. State + * variables are either unset or stale so acknowledge and + * disable interrupts for suppressing further interrupts if + * interrupt really came from this HW (E.g. firmware has left + * the HW active). + */ + regmap_write(dev->map, DW_IC_INTR_MASK, 0); + return 0; + } + if (stat & DW_IC_INTR_TX_ABRT) { dev->cmd_err |= DW_IC_ERR_TX_ABRT; dev->status = STATUS_IDLE; --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-designware-pcidrv.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-designware-pcidrv.c @@ -27,7 +27,6 @@ #include "i2c-ccgx-ucsi.h" #define DRIVER_NAME "i2c-designware-pci" -#define AMD_CLK_RATE_HZ 100000 enum dw_pci_ctl_id_t { medfield, @@ -100,11 +99,6 @@ return 25000; } -static u32 navi_amd_get_clk_rate_khz(struct dw_i2c_dev *dev) -{ - return AMD_CLK_RATE_HZ; -} - static int mfld_setup(struct pci_dev *pdev, struct dw_pci_controller *c) { struct dw_i2c_dev *dev = dev_get_drvdata(&pdev->dev); @@ -126,15 +120,6 @@ return -ENODEV; } -static int navi_amd_setup(struct pci_dev *pdev, struct dw_pci_controller *c) -{ - struct dw_i2c_dev *dev = dev_get_drvdata(&pdev->dev); - - dev->flags |= MODEL_AMD_NAVI_GPU; - dev->timings.bus_freq_hz = I2C_MAX_STANDARD_MODE_FREQ; - return 0; -} - static int mrfld_setup(struct pci_dev *pdev, struct dw_pci_controller *c) { /* @@ -159,6 +144,20 @@ return 100000; } +static u32 navi_amd_get_clk_rate_khz(struct dw_i2c_dev *dev) +{ + return 100000; +} + +static int navi_amd_setup(struct pci_dev *pdev, struct dw_pci_controller *c) +{ + struct dw_i2c_dev *dev = dev_get_drvdata(&pdev->dev); + + dev->flags |= MODEL_AMD_NAVI_GPU; + dev->timings.bus_freq_hz = I2C_MAX_STANDARD_MODE_FREQ; + return 0; +} + static struct dw_pci_controller dw_pci_controllers[] = { [medfield] = { .bus_num = -1, @@ -389,10 +388,13 @@ { PCI_VDEVICE(INTEL, 0x4bbe), elkhartlake }, { PCI_VDEVICE(INTEL, 0x4bbf), elkhartlake }, { PCI_VDEVICE(INTEL, 0x4bc0), elkhartlake }, + /* AMD NAVI */ { PCI_VDEVICE(ATI, 0x7314), navi_amd }, { PCI_VDEVICE(ATI, 0x73a4), navi_amd }, { PCI_VDEVICE(ATI, 0x73e4), navi_amd }, { PCI_VDEVICE(ATI, 0x73c4), navi_amd }, + { PCI_VDEVICE(ATI, 0x7444), navi_amd }, + { PCI_VDEVICE(ATI, 0x7464), navi_amd }, { 0,} }; MODULE_DEVICE_TABLE(pci, i2_designware_pci_ids); --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-designware-platdrv.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-designware-platdrv.c @@ -351,13 +351,11 @@ if (dev->flags & ACCESS_NO_IRQ_SUSPEND) { dev_pm_set_driver_flags(&pdev->dev, - DPM_FLAG_SMART_PREPARE | - DPM_FLAG_MAY_SKIP_RESUME); + DPM_FLAG_SMART_PREPARE); } else { dev_pm_set_driver_flags(&pdev->dev, DPM_FLAG_SMART_PREPARE | - DPM_FLAG_SMART_SUSPEND | - DPM_FLAG_MAY_SKIP_RESUME); + DPM_FLAG_SMART_SUSPEND); } device_enable_async_suspend(&pdev->dev); @@ -419,21 +417,8 @@ */ return !has_acpi_companion(dev); } - -static void dw_i2c_plat_complete(struct device *dev) -{ - /* - * The device can only be in runtime suspend at this point if it has not - * been resumed throughout the ending system suspend/resume cycle, so if - * the platform firmware might mess up with it, request the runtime PM - * framework to resume it. - */ - if (pm_runtime_suspended(dev) && pm_resume_via_firmware()) - pm_request_resume(dev); -} #else #define dw_i2c_plat_prepare NULL -#define dw_i2c_plat_complete NULL #endif #ifdef CONFIG_PM @@ -483,7 +468,6 @@ static const struct dev_pm_ops dw_i2c_dev_pm_ops = { .prepare = dw_i2c_plat_prepare, - .complete = dw_i2c_plat_complete, SET_LATE_SYSTEM_SLEEP_PM_OPS(dw_i2c_plat_suspend, dw_i2c_plat_resume) SET_RUNTIME_PM_OPS(dw_i2c_plat_runtime_suspend, dw_i2c_plat_runtime_resume, NULL) }; --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-i801.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-i801.c @@ -1240,6 +1240,7 @@ */ { "Latitude 5480", 0x29 }, { "Vostro V131", 0x1d }, + { "Vostro 5568", 0x29 }, }; static void register_dell_lis3lv02d_i2c_device(struct i801_priv *priv) --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-imx.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-imx.c @@ -1132,7 +1132,8 @@ int i, result; unsigned int temp; int block_data = msgs->flags & I2C_M_RECV_LEN; - int use_dma = i2c_imx->dma && msgs->len >= DMA_THRESHOLD && !block_data; + int use_dma = i2c_imx->dma && msgs->flags & I2C_M_DMA_SAFE && + msgs->len >= DMA_THRESHOLD && !block_data; dev_dbg(&i2c_imx->adapter.dev, "<%s> write slave address: addr=0x%x\n", @@ -1298,7 +1299,8 @@ result = i2c_imx_read(i2c_imx, &msgs[i], is_lastmsg, atomic); } else { if (!atomic && - i2c_imx->dma && msgs[i].len >= DMA_THRESHOLD) + i2c_imx->dma && msgs[i].len >= DMA_THRESHOLD && + msgs[i].flags & I2C_M_DMA_SAFE) result = i2c_imx_dma_write(i2c_imx, &msgs[i]); else result = i2c_imx_write(i2c_imx, &msgs[i], atomic); @@ -1572,9 +1574,7 @@ struct imx_i2c_struct *i2c_imx = platform_get_drvdata(pdev); int irq, ret; - ret = pm_runtime_resume_and_get(&pdev->dev); - if (ret < 0) - return ret; + ret = pm_runtime_get_sync(&pdev->dev); hrtimer_cancel(&i2c_imx->slave_timer); @@ -1585,17 +1585,21 @@ if (i2c_imx->dma) i2c_imx_dma_free(i2c_imx); - /* setup chip registers to defaults */ - imx_i2c_write_reg(0, i2c_imx, IMX_I2C_IADR); - imx_i2c_write_reg(0, i2c_imx, IMX_I2C_IFDR); - imx_i2c_write_reg(0, i2c_imx, IMX_I2C_I2CR); - imx_i2c_write_reg(0, i2c_imx, IMX_I2C_I2SR); + if (ret >= 0) { + /* setup chip registers to defaults */ + imx_i2c_write_reg(0, i2c_imx, IMX_I2C_IADR); + imx_i2c_write_reg(0, i2c_imx, IMX_I2C_IFDR); + imx_i2c_write_reg(0, i2c_imx, IMX_I2C_I2CR); + imx_i2c_write_reg(0, i2c_imx, IMX_I2C_I2SR); + clk_disable(i2c_imx->clk); + } clk_notifier_unregister(i2c_imx->clk, &i2c_imx->clk_change_nb); irq = platform_get_irq(pdev, 0); if (irq >= 0) free_irq(irq, i2c_imx); - clk_disable_unprepare(i2c_imx->clk); + + clk_unprepare(i2c_imx->clk); pm_runtime_put_noidle(&pdev->dev); pm_runtime_disable(&pdev->dev); --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-ismt.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-ismt.c @@ -509,6 +509,9 @@ if (read_write == I2C_SMBUS_WRITE) { /* Block Write */ dev_dbg(dev, "I2C_SMBUS_BLOCK_DATA: WRITE\n"); + if (data->block[0] < 1 || data->block[0] > I2C_SMBUS_BLOCK_MAX) + return -EINVAL; + dma_size = data->block[0] + 1; dma_direction = DMA_TO_DEVICE; desc->wr_len_cmd = dma_size; --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-mlxbf.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-mlxbf.c @@ -6,6 +6,7 @@ */ #include +#include #include #include #include @@ -63,13 +64,14 @@ */ #define MLXBF_I2C_TYU_PLL_OUT_FREQ (400 * 1000 * 1000) /* Reference clock for Bluefield - 156 MHz. */ -#define MLXBF_I2C_PLL_IN_FREQ (156 * 1000 * 1000) +#define MLXBF_I2C_PLL_IN_FREQ 156250000ULL /* Constant used to determine the PLL frequency. */ -#define MLNXBF_I2C_COREPLL_CONST 16384 +#define MLNXBF_I2C_COREPLL_CONST 16384ULL + +#define MLXBF_I2C_FREQUENCY_1GHZ 1000000000ULL /* PLL registers. */ -#define MLXBF_I2C_CORE_PLL_REG0 0x0 #define MLXBF_I2C_CORE_PLL_REG1 0x4 #define MLXBF_I2C_CORE_PLL_REG2 0x8 @@ -181,22 +183,15 @@ #define MLXBF_I2C_COREPLL_FREQ MLXBF_I2C_TYU_PLL_OUT_FREQ /* Core PLL TYU configuration. */ -#define MLXBF_I2C_COREPLL_CORE_F_TYU_MASK GENMASK(12, 0) -#define MLXBF_I2C_COREPLL_CORE_OD_TYU_MASK GENMASK(3, 0) -#define MLXBF_I2C_COREPLL_CORE_R_TYU_MASK GENMASK(5, 0) - -#define MLXBF_I2C_COREPLL_CORE_F_TYU_SHIFT 3 -#define MLXBF_I2C_COREPLL_CORE_OD_TYU_SHIFT 16 -#define MLXBF_I2C_COREPLL_CORE_R_TYU_SHIFT 20 +#define MLXBF_I2C_COREPLL_CORE_F_TYU_MASK GENMASK(15, 3) +#define MLXBF_I2C_COREPLL_CORE_OD_TYU_MASK GENMASK(19, 16) +#define MLXBF_I2C_COREPLL_CORE_R_TYU_MASK GENMASK(25, 20) /* Core PLL YU configuration. */ #define MLXBF_I2C_COREPLL_CORE_F_YU_MASK GENMASK(25, 0) #define MLXBF_I2C_COREPLL_CORE_OD_YU_MASK GENMASK(3, 0) -#define MLXBF_I2C_COREPLL_CORE_R_YU_MASK GENMASK(5, 0) +#define MLXBF_I2C_COREPLL_CORE_R_YU_MASK GENMASK(31, 26) -#define MLXBF_I2C_COREPLL_CORE_F_YU_SHIFT 0 -#define MLXBF_I2C_COREPLL_CORE_OD_YU_SHIFT 1 -#define MLXBF_I2C_COREPLL_CORE_R_YU_SHIFT 26 /* Core PLL frequency. */ static u64 mlxbf_i2c_corepll_frequency; @@ -311,6 +306,7 @@ * exact. */ #define MLXBF_I2C_SMBUS_TIMEOUT (300 * 1000) /* 300ms */ +#define MLXBF_I2C_SMBUS_LOCK_POLL_TIMEOUT (300 * 1000) /* 300ms */ /* Encapsulates timing parameters. */ struct mlxbf_i2c_timings { @@ -479,8 +475,6 @@ #define MLXBF_I2C_MASK_8 GENMASK(7, 0) #define MLXBF_I2C_MASK_16 GENMASK(15, 0) -#define MLXBF_I2C_FREQUENCY_1GHZ 1000000000 - /* * Function to poll a set of bits at a specific address; it checks whether * the bits are equal to zero when eq_zero is set to 'true', and not equal @@ -521,6 +515,25 @@ return false; } +/* + * wait for the lock to be released before acquiring it. + */ +static bool mlxbf_i2c_smbus_master_lock(struct mlxbf_i2c_priv *priv) +{ + if (mlxbf_smbus_poll(priv->smbus->io, MLXBF_I2C_SMBUS_MASTER_GW, + MLXBF_I2C_MASTER_LOCK_BIT, true, + MLXBF_I2C_SMBUS_LOCK_POLL_TIMEOUT)) + return true; + + return false; +} + +static void mlxbf_i2c_smbus_master_unlock(struct mlxbf_i2c_priv *priv) +{ + /* Clear the gw to clear the lock */ + writel(0, priv->smbus->io + MLXBF_I2C_SMBUS_MASTER_GW); +} + static bool mlxbf_i2c_smbus_transaction_success(u32 master_status, u32 cause_status) { @@ -669,7 +682,7 @@ /* Clear status bits. */ writel(0x0, priv->smbus->io + MLXBF_I2C_SMBUS_MASTER_STATUS); /* Set the cause data. */ - writel(~0x0, priv->smbus->io + MLXBF_I2C_CAUSE_OR_CLEAR); + writel(~0x0, priv->mst_cause->io + MLXBF_I2C_CAUSE_OR_CLEAR); /* Zero PEC byte. */ writel(0x0, priv->smbus->io + MLXBF_I2C_SMBUS_MASTER_PEC); /* Zero byte count. */ @@ -712,10 +725,19 @@ slave = request->slave & GENMASK(6, 0); addr = slave << 1; - /* First of all, check whether the HW is idle. */ - if (WARN_ON(!mlxbf_smbus_master_wait_for_idle(priv))) + /* + * Try to acquire the smbus gw lock before any reads of the GW register since + * a read sets the lock. + */ + if (WARN_ON(!mlxbf_i2c_smbus_master_lock(priv))) return -EBUSY; + /* Check whether the HW is idle */ + if (WARN_ON(!mlxbf_smbus_master_wait_for_idle(priv))) { + ret = -EBUSY; + goto out_unlock; + } + /* Set first byte. */ data_desc[data_idx++] = addr; @@ -738,6 +760,11 @@ if (flags & MLXBF_I2C_F_WRITE) { write_en = 1; write_len += operation->length; + if (data_idx + operation->length > + MLXBF_I2C_MASTER_DATA_DESC_SIZE) { + ret = -ENOBUFS; + goto out_unlock; + } memcpy(data_desc + data_idx, operation->buffer, operation->length); data_idx += operation->length; @@ -769,7 +796,7 @@ ret = mlxbf_i2c_smbus_enable(priv, slave, write_len, block_en, pec_en, 0); if (ret) - return ret; + goto out_unlock; } if (read_en) { @@ -796,6 +823,9 @@ priv->smbus->io + MLXBF_I2C_SMBUS_MASTER_FSM); } +out_unlock: + mlxbf_i2c_smbus_master_unlock(priv); + return ret; } @@ -1407,24 +1437,19 @@ return 0; } -static u64 mlxbf_calculate_freq_from_tyu(struct mlxbf_i2c_resource *corepll_res) +static u64 mlxbf_i2c_calculate_freq_from_tyu(struct mlxbf_i2c_resource *corepll_res) { - u64 core_frequency, pad_frequency; + u64 core_frequency; u8 core_od, core_r; u32 corepll_val; u16 core_f; - pad_frequency = MLXBF_I2C_PLL_IN_FREQ; - corepll_val = readl(corepll_res->io + MLXBF_I2C_CORE_PLL_REG1); /* Get Core PLL configuration bits. */ - core_f = rol32(corepll_val, MLXBF_I2C_COREPLL_CORE_F_TYU_SHIFT) & - MLXBF_I2C_COREPLL_CORE_F_TYU_MASK; - core_od = rol32(corepll_val, MLXBF_I2C_COREPLL_CORE_OD_TYU_SHIFT) & - MLXBF_I2C_COREPLL_CORE_OD_TYU_MASK; - core_r = rol32(corepll_val, MLXBF_I2C_COREPLL_CORE_R_TYU_SHIFT) & - MLXBF_I2C_COREPLL_CORE_R_TYU_MASK; + core_f = FIELD_GET(MLXBF_I2C_COREPLL_CORE_F_TYU_MASK, corepll_val); + core_od = FIELD_GET(MLXBF_I2C_COREPLL_CORE_OD_TYU_MASK, corepll_val); + core_r = FIELD_GET(MLXBF_I2C_COREPLL_CORE_R_TYU_MASK, corepll_val); /* * Compute PLL output frequency as follow: @@ -1436,31 +1461,26 @@ * Where PLL_OUT_FREQ and PLL_IN_FREQ refer to CoreFrequency * and PadFrequency, respectively. */ - core_frequency = pad_frequency * (++core_f); + core_frequency = MLXBF_I2C_PLL_IN_FREQ * (++core_f); core_frequency /= (++core_r) * (++core_od); return core_frequency; } -static u64 mlxbf_calculate_freq_from_yu(struct mlxbf_i2c_resource *corepll_res) +static u64 mlxbf_i2c_calculate_freq_from_yu(struct mlxbf_i2c_resource *corepll_res) { u32 corepll_reg1_val, corepll_reg2_val; - u64 corepll_frequency, pad_frequency; + u64 corepll_frequency; u8 core_od, core_r; u32 core_f; - pad_frequency = MLXBF_I2C_PLL_IN_FREQ; - corepll_reg1_val = readl(corepll_res->io + MLXBF_I2C_CORE_PLL_REG1); corepll_reg2_val = readl(corepll_res->io + MLXBF_I2C_CORE_PLL_REG2); /* Get Core PLL configuration bits */ - core_f = rol32(corepll_reg1_val, MLXBF_I2C_COREPLL_CORE_F_YU_SHIFT) & - MLXBF_I2C_COREPLL_CORE_F_YU_MASK; - core_r = rol32(corepll_reg1_val, MLXBF_I2C_COREPLL_CORE_R_YU_SHIFT) & - MLXBF_I2C_COREPLL_CORE_R_YU_MASK; - core_od = rol32(corepll_reg2_val, MLXBF_I2C_COREPLL_CORE_OD_YU_SHIFT) & - MLXBF_I2C_COREPLL_CORE_OD_YU_MASK; + core_f = FIELD_GET(MLXBF_I2C_COREPLL_CORE_F_YU_MASK, corepll_reg1_val); + core_r = FIELD_GET(MLXBF_I2C_COREPLL_CORE_R_YU_MASK, corepll_reg1_val); + core_od = FIELD_GET(MLXBF_I2C_COREPLL_CORE_OD_YU_MASK, corepll_reg2_val); /* * Compute PLL output frequency as follow: @@ -1472,7 +1492,7 @@ * Where PLL_OUT_FREQ and PLL_IN_FREQ refer to CoreFrequency * and PadFrequency, respectively. */ - corepll_frequency = (pad_frequency * core_f) / MLNXBF_I2C_COREPLL_CONST; + corepll_frequency = (MLXBF_I2C_PLL_IN_FREQ * core_f) / MLNXBF_I2C_COREPLL_CONST; corepll_frequency /= (++core_r) * (++core_od); return corepll_frequency; @@ -2180,14 +2200,14 @@ [1] = &mlxbf_i2c_corepll_res[MLXBF_I2C_CHIP_TYPE_1], [2] = &mlxbf_i2c_gpio_res[MLXBF_I2C_CHIP_TYPE_1] }, - .calculate_freq = mlxbf_calculate_freq_from_tyu + .calculate_freq = mlxbf_i2c_calculate_freq_from_tyu }, [MLXBF_I2C_CHIP_TYPE_2] = { .type = MLXBF_I2C_CHIP_TYPE_2, .shared_res = { [0] = &mlxbf_i2c_corepll_res[MLXBF_I2C_CHIP_TYPE_2] }, - .calculate_freq = mlxbf_calculate_freq_from_yu + .calculate_freq = mlxbf_i2c_calculate_freq_from_yu } }; --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-mv64xxx.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-mv64xxx.c @@ -150,6 +150,7 @@ /* Clk div is 2 to the power n, not 2 to the power n + 1 */ bool clk_n_base_0; struct i2c_bus_recovery_info rinfo; + bool atomic; }; static struct mv64xxx_i2c_regs mv64xxx_i2c_regs_mv64xxx = { @@ -179,7 +180,10 @@ u32 dir = 0; drv_data->cntl_bits = MV64XXX_I2C_REG_CONTROL_ACK | - MV64XXX_I2C_REG_CONTROL_INTEN | MV64XXX_I2C_REG_CONTROL_TWSIEN; + MV64XXX_I2C_REG_CONTROL_TWSIEN; + + if (!drv_data->atomic) + drv_data->cntl_bits |= MV64XXX_I2C_REG_CONTROL_INTEN; if (msg->flags & I2C_M_RD) dir = 1; @@ -409,7 +413,8 @@ case MV64XXX_I2C_ACTION_RCV_DATA_STOP: drv_data->msg->buf[drv_data->byte_posn++] = readl(drv_data->reg_base + drv_data->reg_offsets.data); - drv_data->cntl_bits &= ~MV64XXX_I2C_REG_CONTROL_INTEN; + if (!drv_data->atomic) + drv_data->cntl_bits &= ~MV64XXX_I2C_REG_CONTROL_INTEN; writel(drv_data->cntl_bits | MV64XXX_I2C_REG_CONTROL_STOP, drv_data->reg_base + drv_data->reg_offsets.control); drv_data->block = 0; @@ -427,7 +432,8 @@ drv_data->rc = -EIO; fallthrough; case MV64XXX_I2C_ACTION_SEND_STOP: - drv_data->cntl_bits &= ~MV64XXX_I2C_REG_CONTROL_INTEN; + if (!drv_data->atomic) + drv_data->cntl_bits &= ~MV64XXX_I2C_REG_CONTROL_INTEN; writel(drv_data->cntl_bits | MV64XXX_I2C_REG_CONTROL_STOP, drv_data->reg_base + drv_data->reg_offsets.control); drv_data->block = 0; @@ -575,6 +581,17 @@ spin_unlock_irqrestore(&drv_data->lock, flags); } +static void mv64xxx_i2c_wait_polling(struct mv64xxx_i2c_data *drv_data) +{ + ktime_t timeout = ktime_add_ms(ktime_get(), drv_data->adapter.timeout); + + while (READ_ONCE(drv_data->block) && + ktime_compare(ktime_get(), timeout) < 0) { + udelay(5); + mv64xxx_i2c_intr(0, drv_data); + } +} + static int mv64xxx_i2c_execute_msg(struct mv64xxx_i2c_data *drv_data, struct i2c_msg *msg, int is_last) @@ -590,7 +607,11 @@ mv64xxx_i2c_send_start(drv_data); spin_unlock_irqrestore(&drv_data->lock, flags); - mv64xxx_i2c_wait_for_completion(drv_data); + if (!drv_data->atomic) + mv64xxx_i2c_wait_for_completion(drv_data); + else + mv64xxx_i2c_wait_polling(drv_data); + return drv_data->rc; } @@ -717,7 +738,7 @@ } static int -mv64xxx_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num) +mv64xxx_i2c_xfer_core(struct i2c_adapter *adap, struct i2c_msg msgs[], int num) { struct mv64xxx_i2c_data *drv_data = i2c_get_adapdata(adap); int rc, ret = num; @@ -730,7 +751,7 @@ drv_data->msgs = msgs; drv_data->num_msgs = num; - if (mv64xxx_i2c_can_offload(drv_data)) + if (mv64xxx_i2c_can_offload(drv_data) && !drv_data->atomic) rc = mv64xxx_i2c_offload_xfer(drv_data); else rc = mv64xxx_i2c_execute_msg(drv_data, &msgs[0], num == 1); @@ -747,8 +768,27 @@ return ret; } +static int +mv64xxx_i2c_xfer(struct i2c_adapter *adap, struct i2c_msg msgs[], int num) +{ + struct mv64xxx_i2c_data *drv_data = i2c_get_adapdata(adap); + + drv_data->atomic = 0; + return mv64xxx_i2c_xfer_core(adap, msgs, num); +} + +static int mv64xxx_i2c_xfer_atomic(struct i2c_adapter *adap, + struct i2c_msg msgs[], int num) +{ + struct mv64xxx_i2c_data *drv_data = i2c_get_adapdata(adap); + + drv_data->atomic = 1; + return mv64xxx_i2c_xfer_core(adap, msgs, num); +} + static const struct i2c_algorithm mv64xxx_i2c_algo = { .master_xfer = mv64xxx_i2c_xfer, + .master_xfer_atomic = mv64xxx_i2c_xfer_atomic, .functionality = mv64xxx_i2c_functionality, }; @@ -1047,14 +1087,6 @@ return 0; } -static void -mv64xxx_i2c_shutdown(struct platform_device *pd) -{ - pm_runtime_disable(&pd->dev); - if (!pm_runtime_status_suspended(&pd->dev)) - mv64xxx_i2c_runtime_suspend(&pd->dev); -} - static const struct dev_pm_ops mv64xxx_i2c_pm_ops = { SET_RUNTIME_PM_OPS(mv64xxx_i2c_runtime_suspend, mv64xxx_i2c_runtime_resume, NULL) @@ -1065,7 +1097,6 @@ static struct platform_driver mv64xxx_i2c_driver = { .probe = mv64xxx_i2c_probe, .remove = mv64xxx_i2c_remove, - .shutdown = mv64xxx_i2c_shutdown, .driver = { .name = MV64XXX_I2C_CTLR_NAME, .pm = &mv64xxx_i2c_pm_ops, --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-mxs.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-mxs.c @@ -799,7 +799,7 @@ if (!i2c) return -ENOMEM; - i2c->dev_type = (enum mxs_i2c_devtype)of_device_get_match_data(&pdev->dev); + i2c->dev_type = (uintptr_t)of_device_get_match_data(&pdev->dev); i2c->regs = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(i2c->regs)) @@ -826,8 +826,8 @@ /* Setup the DMA */ i2c->dmach = dma_request_chan(dev, "rx-tx"); if (IS_ERR(i2c->dmach)) { - dev_err(dev, "Failed to request dma\n"); - return PTR_ERR(i2c->dmach); + return dev_err_probe(dev, PTR_ERR(i2c->dmach), + "Failed to request dma\n"); } platform_set_drvdata(pdev, i2c); --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-npcm7xx.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-npcm7xx.c @@ -123,11 +123,11 @@ * Since the addr regs are sprinkled all over the address space, * use this array to get the address or each register. */ -#define I2C_NUM_OWN_ADDR 10 +#define I2C_NUM_OWN_ADDR 2 +#define I2C_NUM_OWN_ADDR_SUPPORTED 2 + static const int npcm_i2caddr[I2C_NUM_OWN_ADDR] = { - NPCM_I2CADDR1, NPCM_I2CADDR2, NPCM_I2CADDR3, NPCM_I2CADDR4, - NPCM_I2CADDR5, NPCM_I2CADDR6, NPCM_I2CADDR7, NPCM_I2CADDR8, - NPCM_I2CADDR9, NPCM_I2CADDR10, + NPCM_I2CADDR1, NPCM_I2CADDR2, }; #endif @@ -392,14 +392,10 @@ #if IS_ENABLED(CONFIG_I2C_SLAVE) int i; - /* select bank 0 for I2C addresses */ - npcm_i2c_select_bank(bus, I2C_BANK_0); - /* Slave addresses removal */ - for (i = I2C_SLAVE_ADDR1; i < I2C_NUM_OWN_ADDR; i++) + for (i = I2C_SLAVE_ADDR1; i < I2C_NUM_OWN_ADDR_SUPPORTED; i++) iowrite8(0, bus->reg + npcm_i2caddr[i]); - npcm_i2c_select_bank(bus, I2C_BANK_1); #endif /* Disable module */ i2cctl2 = ioread8(bus->reg + NPCM_I2CCTL2); @@ -604,8 +600,7 @@ i2cctl1 &= ~NPCM_I2CCTL1_GCMEN; iowrite8(i2cctl1, bus->reg + NPCM_I2CCTL1); return 0; - } - if (addr_type == I2C_ARP_ADDR) { + } else if (addr_type == I2C_ARP_ADDR) { i2cctl3 = ioread8(bus->reg + NPCM_I2CCTL3); if (enable) i2cctl3 |= I2CCTL3_ARPMEN; @@ -614,16 +609,16 @@ iowrite8(i2cctl3, bus->reg + NPCM_I2CCTL3); return 0; } + if (addr_type > I2C_SLAVE_ADDR2 && addr_type <= I2C_SLAVE_ADDR10) + dev_err(bus->dev, "try to enable more than 2 SA not supported\n"); + if (addr_type >= I2C_ARP_ADDR) return -EFAULT; - /* select bank 0 for address 3 to 10 */ - if (addr_type > I2C_SLAVE_ADDR2) - npcm_i2c_select_bank(bus, I2C_BANK_0); + /* Set and enable the address */ iowrite8(sa_reg, bus->reg + npcm_i2caddr[addr_type]); npcm_i2c_slave_int_enable(bus, enable); - if (addr_type > I2C_SLAVE_ADDR2) - npcm_i2c_select_bank(bus, I2C_BANK_1); + return 0; } #endif @@ -846,15 +841,11 @@ { u8 slave_add; - /* select bank 0 for address 3 to 10 */ - if (addr_type > I2C_SLAVE_ADDR2) - npcm_i2c_select_bank(bus, I2C_BANK_0); + if (addr_type > I2C_SLAVE_ADDR2 && addr_type <= I2C_SLAVE_ADDR10) + dev_err(bus->dev, "get slave: try to use more than 2 SA not supported\n"); slave_add = ioread8(bus->reg + npcm_i2caddr[(int)addr_type]); - if (addr_type > I2C_SLAVE_ADDR2) - npcm_i2c_select_bank(bus, I2C_BANK_1); - return slave_add; } @@ -864,12 +855,12 @@ /* Set the enable bit */ slave_add |= 0x80; - npcm_i2c_select_bank(bus, I2C_BANK_0); - for (i = I2C_SLAVE_ADDR1; i < I2C_NUM_OWN_ADDR; i++) { + + for (i = I2C_SLAVE_ADDR1; i < I2C_NUM_OWN_ADDR_SUPPORTED; i++) { if (ioread8(bus->reg + npcm_i2caddr[i]) == slave_add) iowrite8(0, bus->reg + npcm_i2caddr[i]); } - npcm_i2c_select_bank(bus, I2C_BANK_1); + return 0; } @@ -924,11 +915,15 @@ for (i = 0; i < I2C_HW_FIFO_SIZE; i++) { if (bus->slv_wr_size >= I2C_HW_FIFO_SIZE) break; - i2c_slave_event(bus->slave, I2C_SLAVE_READ_REQUESTED, &value); + if (bus->state == I2C_SLAVE_MATCH) { + i2c_slave_event(bus->slave, I2C_SLAVE_READ_REQUESTED, &value); + bus->state = I2C_OPER_STARTED; + } else { + i2c_slave_event(bus->slave, I2C_SLAVE_READ_PROCESSED, &value); + } ind = (bus->slv_wr_ind + bus->slv_wr_size) % I2C_HW_FIFO_SIZE; bus->slv_wr_buf[ind] = value; bus->slv_wr_size++; - i2c_slave_event(bus->slave, I2C_SLAVE_READ_PROCESSED, &value); } return I2C_HW_FIFO_SIZE - ret; } @@ -976,7 +971,6 @@ if (nwrite == 0) return; - bus->state = I2C_OPER_STARTED; bus->operation = I2C_WRITE_OPER; /* get the next buffer */ @@ -2371,8 +2365,17 @@ static int __init npcm_i2c_init(void) { + int ret; + npcm_i2c_debugfs_dir = debugfs_create_dir("npcm_i2c", NULL); - return platform_driver_register(&npcm_i2c_bus_driver); + + ret = platform_driver_register(&npcm_i2c_bus_driver); + if (ret) { + debugfs_remove_recursive(npcm_i2c_debugfs_dir); + return ret; + } + + return 0; } module_init(npcm_i2c_init); --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-piix4.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-piix4.c @@ -1080,6 +1080,7 @@ "", &piix4_main_adapters[0]); if (retval < 0) return retval; + piix4_adapter_count = 1; } /* Check for auxiliary SMBus on some AMD chipsets */ --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-pxa-pci.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-pxa-pci.c @@ -105,7 +105,7 @@ int i; struct ce4100_devices *sds; - ret = pci_enable_device_mem(dev); + ret = pcim_enable_device(dev); if (ret) return ret; @@ -114,10 +114,8 @@ return -EINVAL; } sds = kzalloc(sizeof(*sds), GFP_KERNEL); - if (!sds) { - ret = -ENOMEM; - goto err_mem; - } + if (!sds) + return -ENOMEM; for (i = 0; i < ARRAY_SIZE(sds->pdev); i++) { sds->pdev[i] = add_i2c_device(dev, i); @@ -133,8 +131,6 @@ err_dev_add: kfree(sds); -err_mem: - pci_disable_device(dev); return ret; } --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-qcom-cci.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-qcom-cci.c @@ -638,6 +638,11 @@ if (ret < 0) goto error; + pm_runtime_set_autosuspend_delay(dev, MSEC_PER_SEC); + pm_runtime_use_autosuspend(dev); + pm_runtime_set_active(dev); + pm_runtime_enable(dev); + for (i = 0; i < cci->data->num_masters; i++) { if (!cci->master[i].cci) continue; @@ -649,14 +654,12 @@ } } - pm_runtime_set_autosuspend_delay(dev, MSEC_PER_SEC); - pm_runtime_use_autosuspend(dev); - pm_runtime_set_active(dev); - pm_runtime_enable(dev); - return 0; error_i2c: + pm_runtime_disable(dev); + pm_runtime_dont_use_autosuspend(dev); + for (--i ; i >= 0; i--) { if (cci->master[i].cci) { i2c_del_adapter(&cci->master[i].adap); --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-qcom-geni.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-qcom-geni.c @@ -484,12 +484,12 @@ { if (tx_buf) { dma_unmap_single(gi2c->se.dev->parent, tx_addr, msg->len, DMA_TO_DEVICE); - i2c_put_dma_safe_msg_buf(tx_buf, msg, false); + i2c_put_dma_safe_msg_buf(tx_buf, msg, !gi2c->err); } if (rx_buf) { dma_unmap_single(gi2c->se.dev->parent, rx_addr, msg->len, DMA_FROM_DEVICE); - i2c_put_dma_safe_msg_buf(rx_buf, msg, false); + i2c_put_dma_safe_msg_buf(rx_buf, msg, !gi2c->err); } } @@ -553,6 +553,7 @@ desc->callback_param = gi2c; dmaengine_submit(desc); + *buf = dma_buf; *dma_addr_p = addr; return 0; @@ -615,7 +616,6 @@ dev_err(gi2c->se.dev, "I2C timeout gpi flags:%d addr:0x%x\n", gi2c->cur->flags, gi2c->cur->addr); gi2c->err = -ETIMEDOUT; - goto err; } if (gi2c->err) { @@ -688,7 +688,7 @@ pm_runtime_put_autosuspend(gi2c->se.dev); gi2c->cur = NULL; gi2c->err = 0; - return num; + return ret; } static u32 geni_i2c_func(struct i2c_adapter *adap) --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-rk3x.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-rk3x.c @@ -80,7 +80,7 @@ #define DEFAULT_SCL_RATE (100 * 1000) /* Hz */ /** - * struct i2c_spec_values: + * struct i2c_spec_values - I2C specification values for various modes * @min_hold_start_ns: min hold time (repeated) START condition * @min_low_ns: min LOW period of the SCL clock * @min_high_ns: min HIGH period of the SCL cloc @@ -136,7 +136,7 @@ }; /** - * struct rk3x_i2c_calced_timings: + * struct rk3x_i2c_calced_timings - calculated V1 timings * @div_low: Divider output for low * @div_high: Divider output for high * @tuning: Used to adjust setup/hold data time, @@ -159,7 +159,7 @@ }; /** - * struct rk3x_i2c_soc_data: + * struct rk3x_i2c_soc_data - SOC-specific data * @grf_offset: offset inside the grf regmap for setting the i2c type * @calc_timings: Callback function for i2c timing information calculated */ @@ -239,7 +239,8 @@ } /** - * Generate a START condition, which triggers a REG_INT_START interrupt. + * rk3x_i2c_start - Generate a START condition, which triggers a REG_INT_START interrupt. + * @i2c: target controller data */ static void rk3x_i2c_start(struct rk3x_i2c *i2c) { @@ -258,8 +259,8 @@ } /** - * Generate a STOP condition, which triggers a REG_INT_STOP interrupt. - * + * rk3x_i2c_stop - Generate a STOP condition, which triggers a REG_INT_STOP interrupt. + * @i2c: target controller data * @error: Error code to return in rk3x_i2c_xfer */ static void rk3x_i2c_stop(struct rk3x_i2c *i2c, int error) @@ -298,7 +299,8 @@ } /** - * Setup a read according to i2c->msg + * rk3x_i2c_prepare_read - Setup a read according to i2c->msg + * @i2c: target controller data */ static void rk3x_i2c_prepare_read(struct rk3x_i2c *i2c) { @@ -329,7 +331,8 @@ } /** - * Fill the transmit buffer with data from i2c->msg + * rk3x_i2c_fill_transmit_buf - Fill the transmit buffer with data from i2c->msg + * @i2c: target controller data */ static void rk3x_i2c_fill_transmit_buf(struct rk3x_i2c *i2c) { @@ -532,11 +535,10 @@ } /** - * Get timing values of I2C specification - * + * rk3x_i2c_get_spec - Get timing values of I2C specification * @speed: Desired SCL frequency * - * Returns: Matched i2c spec values. + * Return: Matched i2c_spec_values. */ static const struct i2c_spec_values *rk3x_i2c_get_spec(unsigned int speed) { @@ -549,13 +551,12 @@ } /** - * Calculate divider values for desired SCL frequency - * + * rk3x_i2c_v0_calc_timings - Calculate divider values for desired SCL frequency * @clk_rate: I2C input clock rate * @t: Known I2C timing information * @t_calc: Caculated rk3x private timings that would be written into regs * - * Returns: 0 on success, -EINVAL if the goal SCL rate is too slow. In that case + * Return: %0 on success, -%EINVAL if the goal SCL rate is too slow. In that case * a best-effort divider value is returned in divs. If the target rate is * too high, we silently use the highest possible rate. */ @@ -710,13 +711,12 @@ } /** - * Calculate timing values for desired SCL frequency - * + * rk3x_i2c_v1_calc_timings - Calculate timing values for desired SCL frequency * @clk_rate: I2C input clock rate * @t: Known I2C timing information * @t_calc: Caculated rk3x private timings that would be written into regs * - * Returns: 0 on success, -EINVAL if the goal SCL rate is too slow. In that case + * Return: %0 on success, -%EINVAL if the goal SCL rate is too slow. In that case * a best-effort divider value is returned in divs. If the target rate is * too high, we silently use the highest possible rate. * The following formulas are v1's method to calculate timings. @@ -960,14 +960,14 @@ } /** - * Setup I2C registers for an I2C operation specified by msgs, num. - * - * Must be called with i2c->lock held. - * + * rk3x_i2c_setup - Setup I2C registers for an I2C operation specified by msgs, num. + * @i2c: target controller data * @msgs: I2C msgs to process * @num: Number of msgs * - * returns: Number of I2C msgs processed or negative in case of error + * Must be called with i2c->lock held. + * + * Return: Number of I2C msgs processed or negative in case of error */ static int rk3x_i2c_setup(struct rk3x_i2c *i2c, struct i2c_msg *msgs, int num) { --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-tegra.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-tegra.c @@ -284,6 +284,7 @@ struct dma_chan *tx_dma_chan; struct dma_chan *rx_dma_chan; unsigned int dma_buf_size; + struct device *dma_dev; dma_addr_t dma_phys; void *dma_buf; @@ -420,7 +421,7 @@ static void tegra_i2c_release_dma(struct tegra_i2c_dev *i2c_dev) { if (i2c_dev->dma_buf) { - dma_free_coherent(i2c_dev->dev, i2c_dev->dma_buf_size, + dma_free_coherent(i2c_dev->dma_dev, i2c_dev->dma_buf_size, i2c_dev->dma_buf, i2c_dev->dma_phys); i2c_dev->dma_buf = NULL; } @@ -467,10 +468,13 @@ i2c_dev->tx_dma_chan = chan; + WARN_ON(i2c_dev->tx_dma_chan->device != i2c_dev->rx_dma_chan->device); + i2c_dev->dma_dev = chan->device->dev; + i2c_dev->dma_buf_size = i2c_dev->hw->quirks->max_write_len + I2C_PACKET_HEADER_SIZE; - dma_buf = dma_alloc_coherent(i2c_dev->dev, i2c_dev->dma_buf_size, + dma_buf = dma_alloc_coherent(i2c_dev->dma_dev, i2c_dev->dma_buf_size, &dma_phys, GFP_KERNEL | __GFP_NOWARN); if (!dma_buf) { dev_err(i2c_dev->dev, "failed to allocate DMA buffer\n"); @@ -1267,7 +1271,7 @@ if (i2c_dev->dma_mode) { if (i2c_dev->msg_read) { - dma_sync_single_for_device(i2c_dev->dev, + dma_sync_single_for_device(i2c_dev->dma_dev, i2c_dev->dma_phys, xfer_size, DMA_FROM_DEVICE); @@ -1275,7 +1279,7 @@ if (err) return err; } else { - dma_sync_single_for_cpu(i2c_dev->dev, + dma_sync_single_for_cpu(i2c_dev->dma_dev, i2c_dev->dma_phys, xfer_size, DMA_TO_DEVICE); } @@ -1288,7 +1292,7 @@ memcpy(i2c_dev->dma_buf + I2C_PACKET_HEADER_SIZE, msg->buf, msg->len); - dma_sync_single_for_device(i2c_dev->dev, + dma_sync_single_for_device(i2c_dev->dma_dev, i2c_dev->dma_phys, xfer_size, DMA_TO_DEVICE); @@ -1339,7 +1343,7 @@ } if (i2c_dev->msg_read && i2c_dev->msg_err == I2C_ERR_NONE) { - dma_sync_single_for_cpu(i2c_dev->dev, + dma_sync_single_for_cpu(i2c_dev->dma_dev, i2c_dev->dma_phys, xfer_size, DMA_FROM_DEVICE); --- linux-gcp-5.19.0.orig/drivers/i2c/busses/i2c-xiic.c +++ linux-gcp-5.19.0/drivers/i2c/busses/i2c-xiic.c @@ -920,6 +920,7 @@ module_platform_driver(xiic_i2c_driver); +MODULE_ALIAS("platform:" DRIVER_NAME); MODULE_AUTHOR("info@mocean-labs.com"); MODULE_DESCRIPTION("Xilinx I2C bus driver"); MODULE_LICENSE("GPL v2"); --- linux-gcp-5.19.0.orig/drivers/i2c/i2c-core-base.c +++ linux-gcp-5.19.0/drivers/i2c/i2c-core-base.c @@ -467,6 +467,7 @@ { struct i2c_client *client = i2c_verify_client(dev); struct i2c_driver *driver; + bool do_power_on; int status; if (!client) @@ -541,8 +542,8 @@ if (status < 0) goto err_clear_wakeup_irq; - status = dev_pm_domain_attach(&client->dev, - !i2c_acpi_waive_d0_probe(dev)); + do_power_on = !i2c_acpi_waive_d0_probe(dev); + status = dev_pm_domain_attach(&client->dev, do_power_on); if (status) goto err_clear_wakeup_irq; @@ -581,7 +582,7 @@ err_release_driver_resources: devres_release_group(&client->dev, client->devres_group_id); err_detach_pm_domain: - dev_pm_domain_detach(&client->dev, !i2c_acpi_waive_d0_probe(dev)); + dev_pm_domain_detach(&client->dev, do_power_on); err_clear_wakeup_irq: dev_pm_clear_wake_irq(&client->dev); device_init_wakeup(&client->dev, false); @@ -610,7 +611,7 @@ devres_release_group(&client->dev, client->devres_group_id); - dev_pm_domain_detach(&client->dev, !i2c_acpi_waive_d0_probe(dev)); + dev_pm_domain_detach(&client->dev, true); dev_pm_clear_wake_irq(&client->dev); device_init_wakeup(&client->dev, false); @@ -2467,8 +2468,9 @@ if (!adap) return; - put_device(&adap->dev); module_put(adap->owner); + /* Should be last, otherwise we risk use-after-free with 'adap' */ + put_device(&adap->dev); } EXPORT_SYMBOL(i2c_put_adapter); --- linux-gcp-5.19.0.orig/drivers/i2c/i2c-mux.c +++ linux-gcp-5.19.0/drivers/i2c/i2c-mux.c @@ -243,9 +243,10 @@ int (*deselect)(struct i2c_mux_core *, u32)) { struct i2c_mux_core *muxc; + size_t mux_size; - muxc = devm_kzalloc(dev, struct_size(muxc, adapter, max_adapters) - + sizeof_priv, GFP_KERNEL); + mux_size = struct_size(muxc, adapter, max_adapters); + muxc = devm_kzalloc(dev, size_add(mux_size, sizeof_priv), GFP_KERNEL); if (!muxc) return NULL; if (sizeof_priv) --- linux-gcp-5.19.0.orig/drivers/i2c/muxes/i2c-mux-gpmux.c +++ linux-gcp-5.19.0/drivers/i2c/muxes/i2c-mux-gpmux.c @@ -134,6 +134,7 @@ return 0; err_children: + of_node_put(child); i2c_mux_del_adapters(muxc); err_parent: i2c_put_adapter(parent); --- linux-gcp-5.19.0.orig/drivers/i2c/muxes/i2c-mux-reg.c +++ linux-gcp-5.19.0/drivers/i2c/muxes/i2c-mux-reg.c @@ -183,13 +183,12 @@ if (!mux->data.reg) { dev_info(&pdev->dev, "Register not set, using platform resource\n"); - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - mux->data.reg_size = resource_size(res); - mux->data.reg = devm_ioremap_resource(&pdev->dev, res); + mux->data.reg = devm_platform_get_and_ioremap_resource(pdev, 0, &res); if (IS_ERR(mux->data.reg)) { ret = PTR_ERR(mux->data.reg); goto err_put_parent; } + mux->data.reg_size = resource_size(res); } if (mux->data.reg_size != 4 && mux->data.reg_size != 2 && --- linux-gcp-5.19.0.orig/drivers/idle/intel_idle.c +++ linux-gcp-5.19.0/drivers/idle/intel_idle.c @@ -911,16 +911,6 @@ .enter = NULL } }; -/* - * On Sapphire Rapids Xeon C1 has to be disabled if C1E is enabled, and vice - * versa. On SPR C1E is enabled only if "C1E promotion" bit is set in - * MSR_IA32_POWER_CTL. But in this case there effectively no C1, because C1 - * requests are promoted to C1E. If the "C1E promotion" bit is cleared, then - * both C1 and C1E requests end up with C1, so there is effectively no C1E. - * - * By default we enable C1 and disable C1E by marking it with - * 'CPUIDLE_FLAG_UNUSABLE'. - */ static struct cpuidle_state spr_cstates[] __initdata = { { .name = "C1", @@ -933,8 +923,7 @@ { .name = "C1E", .desc = "MWAIT 0x01", - .flags = MWAIT2flg(0x01) | CPUIDLE_FLAG_ALWAYS_ENABLE | - CPUIDLE_FLAG_UNUSABLE, + .flags = MWAIT2flg(0x01) | CPUIDLE_FLAG_ALWAYS_ENABLE, .exit_latency = 2, .target_residency = 4, .enter = &intel_idle, @@ -1756,17 +1745,6 @@ { unsigned long long msr; - /* Check if user prefers C1E over C1. */ - if ((preferred_states_mask & BIT(2)) && - !(preferred_states_mask & BIT(1))) { - /* Disable C1 and enable C1E. */ - spr_cstates[0].flags |= CPUIDLE_FLAG_UNUSABLE; - spr_cstates[1].flags &= ~CPUIDLE_FLAG_UNUSABLE; - - /* Enable C1E using the "C1E promotion" bit. */ - c1e_promotion = C1E_PROMOTION_ENABLE; - } - /* * By default, the C6 state assumes the worst-case scenario of package * C6. However, if PC6 is disabled, we update the numbers to match --- linux-gcp-5.19.0.orig/drivers/iio/accel/Kconfig +++ linux-gcp-5.19.0/drivers/iio/accel/Kconfig @@ -204,6 +204,8 @@ config BMA400 tristate "Bosch BMA400 3-Axis Accelerometer Driver" select REGMAP + select IIO_BUFFER + select IIO_TRIGGERED_BUFFER select BMA400_I2C if I2C select BMA400_SPI if SPI help --- linux-gcp-5.19.0.orig/drivers/iio/accel/adxl313_core.c +++ linux-gcp-5.19.0/drivers/iio/accel/adxl313_core.c @@ -46,7 +46,7 @@ struct adxl313_data { struct regmap *regmap; struct mutex lock; /* lock to protect transf_buf */ - __le16 transf_buf ____cacheline_aligned; + __le16 transf_buf __aligned(IIO_DMA_MINALIGN); }; static const int adxl313_odr_freqs[][2] = { --- linux-gcp-5.19.0.orig/drivers/iio/accel/adxl355_core.c +++ linux-gcp-5.19.0/drivers/iio/accel/adxl355_core.c @@ -177,7 +177,7 @@ u8 buf[14]; s64 ts; } buffer; - } ____cacheline_aligned; + } __aligned(IIO_DMA_MINALIGN); }; static int adxl355_set_op_mode(struct adxl355_data *data, --- linux-gcp-5.19.0.orig/drivers/iio/accel/adxl367.c +++ linux-gcp-5.19.0/drivers/iio/accel/adxl367.c @@ -179,7 +179,7 @@ unsigned int fifo_set_size; unsigned int fifo_watermark; - __be16 fifo_buf[ADXL367_FIFO_SIZE] ____cacheline_aligned; + __be16 fifo_buf[ADXL367_FIFO_SIZE] __aligned(IIO_DMA_MINALIGN); __be16 sample_buf; u8 act_threshold_buf[2]; u8 inact_time_buf[2]; @@ -1211,17 +1211,30 @@ return sysfs_emit(buf, "%d\n", fifo_watermark); } -static IIO_CONST_ATTR(hwfifo_watermark_min, "1"); -static IIO_CONST_ATTR(hwfifo_watermark_max, - __stringify(ADXL367_FIFO_MAX_WATERMARK)); +static ssize_t hwfifo_watermark_min_show(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + return sysfs_emit(buf, "%s\n", "1"); +} + +static ssize_t hwfifo_watermark_max_show(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + return sysfs_emit(buf, "%s\n", __stringify(ADXL367_FIFO_MAX_WATERMARK)); +} + +static IIO_DEVICE_ATTR_RO(hwfifo_watermark_min, 0); +static IIO_DEVICE_ATTR_RO(hwfifo_watermark_max, 0); static IIO_DEVICE_ATTR(hwfifo_watermark, 0444, adxl367_get_fifo_watermark, NULL, 0); static IIO_DEVICE_ATTR(hwfifo_enabled, 0444, adxl367_get_fifo_enabled, NULL, 0); static const struct attribute *adxl367_fifo_attributes[] = { - &iio_const_attr_hwfifo_watermark_min.dev_attr.attr, - &iio_const_attr_hwfifo_watermark_max.dev_attr.attr, + &iio_dev_attr_hwfifo_watermark_min.dev_attr.attr, + &iio_dev_attr_hwfifo_watermark_max.dev_attr.attr, &iio_dev_attr_hwfifo_watermark.dev_attr.attr, &iio_dev_attr_hwfifo_enabled.dev_attr.attr, NULL, --- linux-gcp-5.19.0.orig/drivers/iio/accel/adxl367_spi.c +++ linux-gcp-5.19.0/drivers/iio/accel/adxl367_spi.c @@ -9,6 +9,8 @@ #include #include +#include + #include "adxl367.h" #define ADXL367_SPI_WRITE_COMMAND 0x0A @@ -28,10 +30,10 @@ struct spi_transfer fifo_xfer[2]; /* - * DMA (thus cache coherency maintenance) requires the - * transfer buffers to live in their own cache lines. + * DMA (thus cache coherency maintenance) may require the + * transfer buffers live in their own cache lines. */ - u8 reg_write_tx_buf[1] ____cacheline_aligned; + u8 reg_write_tx_buf[1] __aligned(IIO_DMA_MINALIGN); u8 reg_read_tx_buf[2]; u8 fifo_tx_buf[1]; }; --- linux-gcp-5.19.0.orig/drivers/iio/accel/adxl372.c +++ linux-gcp-5.19.0/drivers/iio/accel/adxl372.c @@ -998,17 +998,30 @@ return sprintf(buf, "%d\n", st->watermark); } -static IIO_CONST_ATTR(hwfifo_watermark_min, "1"); -static IIO_CONST_ATTR(hwfifo_watermark_max, - __stringify(ADXL372_FIFO_SIZE)); +static ssize_t hwfifo_watermark_min_show(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + return sysfs_emit(buf, "%s\n", "1"); +} + +static ssize_t hwfifo_watermark_max_show(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + return sysfs_emit(buf, "%s\n", __stringify(ADXL372_FIFO_SIZE)); +} + +static IIO_DEVICE_ATTR_RO(hwfifo_watermark_min, 0); +static IIO_DEVICE_ATTR_RO(hwfifo_watermark_max, 0); static IIO_DEVICE_ATTR(hwfifo_watermark, 0444, adxl372_get_fifo_watermark, NULL, 0); static IIO_DEVICE_ATTR(hwfifo_enabled, 0444, adxl372_get_fifo_enabled, NULL, 0); static const struct attribute *adxl372_fifo_attributes[] = { - &iio_const_attr_hwfifo_watermark_min.dev_attr.attr, - &iio_const_attr_hwfifo_watermark_max.dev_attr.attr, + &iio_dev_attr_hwfifo_watermark_min.dev_attr.attr, + &iio_dev_attr_hwfifo_watermark_max.dev_attr.attr, &iio_dev_attr_hwfifo_watermark.dev_attr.attr, &iio_dev_attr_hwfifo_enabled.dev_attr.attr, NULL, --- linux-gcp-5.19.0.orig/drivers/iio/accel/bma220_spi.c +++ linux-gcp-5.19.0/drivers/iio/accel/bma220_spi.c @@ -67,7 +67,7 @@ /* Ensure timestamp is naturally aligned. */ s64 timestamp __aligned(8); } scan; - u8 tx_buf[2] ____cacheline_aligned; + u8 tx_buf[2] __aligned(IIO_DMA_MINALIGN); }; static const struct iio_chan_spec bma220_channels[] = { --- linux-gcp-5.19.0.orig/drivers/iio/accel/bma400.h +++ linux-gcp-5.19.0/drivers/iio/accel/bma400.h @@ -62,6 +62,13 @@ #define BMA400_ACC_CONFIG2_REG 0x1b #define BMA400_CMD_REG 0x7e +/* Interrupt registers */ +#define BMA400_INT_CONFIG0_REG 0x1f +#define BMA400_INT_CONFIG1_REG 0x20 +#define BMA400_INT1_MAP_REG 0x21 +#define BMA400_INT_IO_CTRL_REG 0x24 +#define BMA400_INT_DRDY_MSK BIT(7) + /* Chip ID of BMA 400 devices found in the chip ID register. */ #define BMA400_ID_REG_VAL 0x90 @@ -83,8 +90,27 @@ #define BMA400_ACC_ODR_MIN_WHOLE_HZ 25 #define BMA400_ACC_ODR_MIN_HZ 12 -#define BMA400_SCALE_MIN 38357 -#define BMA400_SCALE_MAX 306864 +/* + * BMA400_SCALE_MIN macro value represents m/s^2 for 1 LSB before + * converting to micro values for +-2g range. + * + * For +-2g - 1 LSB = 0.976562 milli g = 0.009576 m/s^2 + * For +-4g - 1 LSB = 1.953125 milli g = 0.019153 m/s^2 + * For +-16g - 1 LSB = 7.8125 milli g = 0.076614 m/s^2 + * + * The raw value which is used to select the different ranges is determined + * by the first bit set position from the scale value, so BMA400_SCALE_MIN + * should be odd. + * + * Scale values for +-2g, +-4g, +-8g and +-16g are populated into bma400_scales + * array by left shifting BMA400_SCALE_MIN. + * e.g.: + * To select +-2g = 9577 << 0 = raw value to write is 0. + * To select +-8g = 9577 << 2 = raw value to write is 2. + * To select +-16g = 9577 << 3 = raw value to write is 3. + */ +#define BMA400_SCALE_MIN 9577 +#define BMA400_SCALE_MAX 76617 #define BMA400_NUM_REGULATORS 2 #define BMA400_VDD_REGULATOR 0 @@ -92,8 +118,7 @@ extern const struct regmap_config bma400_regmap_config; -int bma400_probe(struct device *dev, struct regmap *regmap, const char *name); - -void bma400_remove(struct device *dev); +int bma400_probe(struct device *dev, struct regmap *regmap, int irq, + const char *name); #endif --- linux-gcp-5.19.0.orig/drivers/iio/accel/bma400_core.c +++ linux-gcp-5.19.0/drivers/iio/accel/bma400_core.c @@ -11,16 +11,21 @@ * - Create channel for sensor time */ +#include #include #include -#include -#include #include #include #include #include #include +#include +#include +#include +#include +#include + #include "bma400.h" /* @@ -46,6 +51,13 @@ POWER_MODE_INVALID = 0x03, }; +enum bma400_scan { + BMA400_ACCL_X, + BMA400_ACCL_Y, + BMA400_ACCL_Z, + BMA400_TEMP, +}; + struct bma400_sample_freq { int hz; int uhz; @@ -61,6 +73,14 @@ struct bma400_sample_freq sample_freq; int oversampling_ratio; int scale; + struct iio_trigger *trig; + /* Correct time stamp alignment */ + struct { + __le16 buff[3]; + u8 temperature; + s64 ts __aligned(8); + } buffer __aligned(IIO_DMA_MINALIGN); + __le16 status; }; static bool bma400_is_writable_reg(struct device *dev, unsigned int reg) @@ -152,7 +172,7 @@ { } }; -#define BMA400_ACC_CHANNEL(_axis) { \ +#define BMA400_ACC_CHANNEL(_index, _axis) { \ .type = IIO_ACCEL, \ .modified = 1, \ .channel2 = IIO_MOD_##_axis, \ @@ -164,17 +184,32 @@ BIT(IIO_CHAN_INFO_SCALE) | \ BIT(IIO_CHAN_INFO_OVERSAMPLING_RATIO), \ .ext_info = bma400_ext_info, \ + .scan_index = _index, \ + .scan_type = { \ + .sign = 's', \ + .realbits = 12, \ + .storagebits = 16, \ + .endianness = IIO_LE, \ + }, \ } static const struct iio_chan_spec bma400_channels[] = { - BMA400_ACC_CHANNEL(X), - BMA400_ACC_CHANNEL(Y), - BMA400_ACC_CHANNEL(Z), + BMA400_ACC_CHANNEL(0, X), + BMA400_ACC_CHANNEL(1, Y), + BMA400_ACC_CHANNEL(2, Z), { .type = IIO_TEMP, .info_mask_separate = BIT(IIO_CHAN_INFO_PROCESSED), .info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SAMP_FREQ), + .scan_index = 3, + .scan_type = { + .sign = 's', + .realbits = 8, + .storagebits = 8, + .endianness = IIO_LE, + }, }, + IIO_CHAN_SOFT_TIMESTAMP(4), }; static int bma400_get_temp_reg(struct bma400_data *data, int *val, int *val2) @@ -560,23 +595,30 @@ } } -static int bma400_init(struct bma400_data *data) +static void bma400_regulators_disable(void *data_ptr) { - unsigned int val; + struct bma400_data *data = data_ptr; + + regulator_bulk_disable(ARRAY_SIZE(data->regulators), data->regulators); +} + +static void bma400_power_disable(void *data_ptr) +{ + struct bma400_data *data = data_ptr; int ret; - /* Try to read chip_id register. It must return 0x90. */ - ret = regmap_read(data->regmap, BMA400_CHIP_ID_REG, &val); - if (ret) { - dev_err(data->dev, "Failed to read chip id register\n"); - goto out; - } + mutex_lock(&data->mutex); + ret = bma400_set_power_mode(data, POWER_MODE_SLEEP); + mutex_unlock(&data->mutex); + if (ret) + dev_warn(data->dev, "Failed to put device into sleep mode (%pe)\n", + ERR_PTR(ret)); +} - if (val != BMA400_ID_REG_VAL) { - dev_err(data->dev, "Chip ID mismatch\n"); - ret = -ENODEV; - goto out; - } +static int bma400_init(struct bma400_data *data) +{ + unsigned int val; + int ret; data->regulators[BMA400_VDD_REGULATOR].supply = "vdd"; data->regulators[BMA400_VDDIO_REGULATOR].supply = "vddio"; @@ -589,27 +631,43 @@ "Failed to get regulators: %d\n", ret); - goto out; + return ret; } ret = regulator_bulk_enable(ARRAY_SIZE(data->regulators), data->regulators); if (ret) { dev_err(data->dev, "Failed to enable regulators: %d\n", ret); - goto out; + return ret; + } + + ret = devm_add_action_or_reset(data->dev, bma400_regulators_disable, data); + if (ret) + return ret; + + /* Try to read chip_id register. It must return 0x90. */ + ret = regmap_read(data->regmap, BMA400_CHIP_ID_REG, &val); + if (ret) { + dev_err(data->dev, "Failed to read chip id register\n"); + return ret; + } + + if (val != BMA400_ID_REG_VAL) { + dev_err(data->dev, "Chip ID mismatch\n"); + return -ENODEV; } ret = bma400_get_power_mode(data); if (ret) { dev_err(data->dev, "Failed to get the initial power-mode\n"); - goto err_reg_disable; + return ret; } if (data->power_mode != POWER_MODE_NORMAL) { ret = bma400_set_power_mode(data, POWER_MODE_NORMAL); if (ret) { dev_err(data->dev, "Failed to wake up the device\n"); - goto err_reg_disable; + return ret; } /* * TODO: The datasheet waits 1500us here in the example, but @@ -618,20 +676,28 @@ usleep_range(1500, 2000); } + ret = devm_add_action_or_reset(data->dev, bma400_power_disable, data); + if (ret) + return ret; + bma400_init_tables(); ret = bma400_get_accel_output_data_rate(data); if (ret) - goto err_reg_disable; + return ret; ret = bma400_get_accel_oversampling_ratio(data); if (ret) - goto err_reg_disable; + return ret; ret = bma400_get_accel_scale(data); if (ret) - goto err_reg_disable; + return ret; + /* Configure INT1 pin to open drain */ + ret = regmap_write(data->regmap, BMA400_INT_IO_CTRL_REG, 0x06); + if (ret) + return ret; /* * Once the interrupt engine is supported we might use the * data_src_reg, but for now ensure this is set to the @@ -639,12 +705,6 @@ * channel. */ return regmap_write(data->regmap, BMA400_ACC_CONFIG2_REG, 0x00); - -err_reg_disable: - regulator_bulk_disable(ARRAY_SIZE(data->regulators), - data->regulators); -out: - return ret; } static int bma400_read_raw(struct iio_dev *indio_dev, @@ -786,6 +846,31 @@ } } +static int bma400_data_rdy_trigger_set_state(struct iio_trigger *trig, + bool state) +{ + struct iio_dev *indio_dev = iio_trigger_get_drvdata(trig); + struct bma400_data *data = iio_priv(indio_dev); + int ret; + + ret = regmap_update_bits(data->regmap, BMA400_INT_CONFIG0_REG, + BMA400_INT_DRDY_MSK, + FIELD_PREP(BMA400_INT_DRDY_MSK, state)); + if (ret) + return ret; + + return regmap_update_bits(data->regmap, BMA400_INT1_MAP_REG, + BMA400_INT_DRDY_MSK, + FIELD_PREP(BMA400_INT_DRDY_MSK, state)); +} + +static const unsigned long bma400_avail_scan_masks[] = { + BIT(BMA400_ACCL_X) | BIT(BMA400_ACCL_Y) | BIT(BMA400_ACCL_Z), + BIT(BMA400_ACCL_X) | BIT(BMA400_ACCL_Y) | BIT(BMA400_ACCL_Z) + | BIT(BMA400_TEMP), + 0 +}; + static const struct iio_info bma400_info = { .read_raw = bma400_read_raw, .read_avail = bma400_read_avail, @@ -793,7 +878,78 @@ .write_raw_get_fmt = bma400_write_raw_get_fmt, }; -int bma400_probe(struct device *dev, struct regmap *regmap, const char *name) +static const struct iio_trigger_ops bma400_trigger_ops = { + .set_trigger_state = &bma400_data_rdy_trigger_set_state, + .validate_device = &iio_trigger_validate_own_device, +}; + +static irqreturn_t bma400_trigger_handler(int irq, void *p) +{ + struct iio_poll_func *pf = p; + struct iio_dev *indio_dev = pf->indio_dev; + struct bma400_data *data = iio_priv(indio_dev); + int ret, temp; + + /* Lock to protect the data->buffer */ + mutex_lock(&data->mutex); + + /* bulk read six registers, with the base being the LSB register */ + ret = regmap_bulk_read(data->regmap, BMA400_X_AXIS_LSB_REG, + &data->buffer.buff, sizeof(data->buffer.buff)); + if (ret) + goto unlock_err; + + if (test_bit(BMA400_TEMP, indio_dev->active_scan_mask)) { + ret = regmap_read(data->regmap, BMA400_TEMP_DATA_REG, &temp); + if (ret) + goto unlock_err; + + data->buffer.temperature = temp; + } + + iio_push_to_buffers_with_timestamp(indio_dev, &data->buffer, + iio_get_time_ns(indio_dev)); + + mutex_unlock(&data->mutex); + iio_trigger_notify_done(indio_dev->trig); + return IRQ_HANDLED; + +unlock_err: + mutex_unlock(&data->mutex); + return IRQ_NONE; +} + +static irqreturn_t bma400_interrupt(int irq, void *private) +{ + struct iio_dev *indio_dev = private; + struct bma400_data *data = iio_priv(indio_dev); + int ret; + + /* Lock to protect the data->status */ + mutex_lock(&data->mutex); + ret = regmap_bulk_read(data->regmap, BMA400_INT_STAT0_REG, + &data->status, + sizeof(data->status)); + /* + * if none of the bit is set in the status register then it is + * spurious interrupt. + */ + if (ret || !data->status) + goto unlock_err; + + if (FIELD_GET(BMA400_INT_DRDY_MSK, le16_to_cpu(data->status))) { + mutex_unlock(&data->mutex); + iio_trigger_poll_chained(data->trig); + return IRQ_HANDLED; + } + +unlock_err: + mutex_unlock(&data->mutex); + return IRQ_NONE; +} + +int bma400_probe(struct device *dev, struct regmap *regmap, int irq, + const char *name) { struct iio_dev *indio_dev; struct bma400_data *data; @@ -820,33 +976,43 @@ indio_dev->info = &bma400_info; indio_dev->channels = bma400_channels; indio_dev->num_channels = ARRAY_SIZE(bma400_channels); + indio_dev->available_scan_masks = bma400_avail_scan_masks; indio_dev->modes = INDIO_DIRECT_MODE; - dev_set_drvdata(dev, indio_dev); + if (irq > 0) { + data->trig = devm_iio_trigger_alloc(dev, "%s-dev%d", + indio_dev->name, + iio_device_id(indio_dev)); + if (!data->trig) + return -ENOMEM; - return iio_device_register(indio_dev); -} -EXPORT_SYMBOL_NS(bma400_probe, IIO_BMA400); + data->trig->ops = &bma400_trigger_ops; + iio_trigger_set_drvdata(data->trig, indio_dev); -void bma400_remove(struct device *dev) -{ - struct iio_dev *indio_dev = dev_get_drvdata(dev); - struct bma400_data *data = iio_priv(indio_dev); - int ret; + ret = devm_iio_trigger_register(data->dev, data->trig); + if (ret) + return dev_err_probe(data->dev, ret, + "iio trigger register fail\n"); - mutex_lock(&data->mutex); - ret = bma400_set_power_mode(data, POWER_MODE_SLEEP); - mutex_unlock(&data->mutex); + indio_dev->trig = iio_trigger_get(data->trig); + ret = devm_request_threaded_irq(dev, irq, NULL, + &bma400_interrupt, + IRQF_TRIGGER_RISING | IRQF_ONESHOT, + indio_dev->name, indio_dev); + if (ret) + return dev_err_probe(data->dev, ret, + "request irq %d failed\n", irq); + } + ret = devm_iio_triggered_buffer_setup(dev, indio_dev, NULL, + &bma400_trigger_handler, NULL); if (ret) - dev_warn(dev, "Failed to put device into sleep mode (%pe)\n", ERR_PTR(ret)); - - regulator_bulk_disable(ARRAY_SIZE(data->regulators), - data->regulators); + return dev_err_probe(data->dev, ret, + "iio triggered buffer setup failed\n"); - iio_device_unregister(indio_dev); + return devm_iio_device_register(dev, indio_dev); } -EXPORT_SYMBOL_NS(bma400_remove, IIO_BMA400); +EXPORT_SYMBOL_NS(bma400_probe, IIO_BMA400); MODULE_AUTHOR("Dan Robertson "); MODULE_DESCRIPTION("Bosch BMA400 triaxial acceleration sensor core"); --- linux-gcp-5.19.0.orig/drivers/iio/accel/bma400_i2c.c +++ linux-gcp-5.19.0/drivers/iio/accel/bma400_i2c.c @@ -24,14 +24,7 @@ return PTR_ERR(regmap); } - return bma400_probe(&client->dev, regmap, id->name); -} - -static int bma400_i2c_remove(struct i2c_client *client) -{ - bma400_remove(&client->dev); - - return 0; + return bma400_probe(&client->dev, regmap, client->irq, id->name); } static const struct i2c_device_id bma400_i2c_ids[] = { @@ -52,7 +45,6 @@ .of_match_table = bma400_of_i2c_match, }, .probe = bma400_i2c_probe, - .remove = bma400_i2c_remove, .id_table = bma400_i2c_ids, }; --- linux-gcp-5.19.0.orig/drivers/iio/accel/bma400_spi.c +++ linux-gcp-5.19.0/drivers/iio/accel/bma400_spi.c @@ -84,12 +84,7 @@ if (ret) dev_err(&spi->dev, "Failed to read chip id register\n"); - return bma400_probe(&spi->dev, regmap, id->name); -} - -static void bma400_spi_remove(struct spi_device *spi) -{ - bma400_remove(&spi->dev); + return bma400_probe(&spi->dev, regmap, spi->irq, id->name); } static const struct spi_device_id bma400_spi_ids[] = { @@ -110,7 +105,6 @@ .of_match_table = bma400_of_spi_match, }, .probe = bma400_spi_probe, - .remove = bma400_spi_remove, .id_table = bma400_spi_ids, }; --- linux-gcp-5.19.0.orig/drivers/iio/accel/cros_ec_accel_legacy.c +++ linux-gcp-5.19.0/drivers/iio/accel/cros_ec_accel_legacy.c @@ -215,7 +215,7 @@ return -ENOMEM; ret = cros_ec_sensors_core_init(pdev, indio_dev, true, - cros_ec_sensors_capture, NULL); + cros_ec_sensors_capture); if (ret) return ret; @@ -235,7 +235,7 @@ state->sign[CROS_EC_SENSOR_Z] = -1; } - return devm_iio_device_register(dev, indio_dev); + return cros_ec_sensors_core_register(dev, indio_dev, NULL); } static struct platform_driver cros_ec_accel_platform_driver = { --- linux-gcp-5.19.0.orig/drivers/iio/accel/hid-sensor-accel-3d.c +++ linux-gcp-5.19.0/drivers/iio/accel/hid-sensor-accel-3d.c @@ -280,6 +280,7 @@ hid_sensor_convert_timestamp( &accel_state->common_attributes, *(int64_t *)raw_data); + ret = 0; break; default: break; --- linux-gcp-5.19.0.orig/drivers/iio/accel/sca3000.c +++ linux-gcp-5.19.0/drivers/iio/accel/sca3000.c @@ -167,8 +167,8 @@ int mo_det_use_count; struct mutex lock; /* Can these share a cacheline ? */ - u8 rx[384] ____cacheline_aligned; - u8 tx[6] ____cacheline_aligned; + u8 rx[384] __aligned(IIO_DMA_MINALIGN); + u8 tx[6] __aligned(IIO_DMA_MINALIGN); }; /** --- linux-gcp-5.19.0.orig/drivers/iio/accel/sca3300.c +++ linux-gcp-5.19.0/drivers/iio/accel/sca3300.c @@ -115,7 +115,7 @@ s16 channels[4]; s64 ts __aligned(sizeof(s64)); } scan; - u8 txbuf[4] ____cacheline_aligned; + u8 txbuf[4] __aligned(IIO_DMA_MINALIGN); u8 rxbuf[4]; }; --- linux-gcp-5.19.0.orig/drivers/iio/adc/ad7266.c +++ linux-gcp-5.19.0/drivers/iio/adc/ad7266.c @@ -37,7 +37,7 @@ struct gpio_desc *gpios[3]; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. * The buffer needs to be large enough to hold two samples (4 bytes) and * the naturally aligned timestamp (8 bytes). @@ -45,7 +45,7 @@ struct { __be16 sample[2]; s64 timestamp; - } data ____cacheline_aligned; + } data __aligned(IIO_DMA_MINALIGN); }; static int ad7266_wakeup(struct ad7266_state *st) --- linux-gcp-5.19.0.orig/drivers/iio/adc/ad7280a.c +++ linux-gcp-5.19.0/drivers/iio/adc/ad7280a.c @@ -183,7 +183,7 @@ unsigned char cb_mask[AD7280A_MAX_CHAIN]; struct mutex lock; /* protect sensor state */ - __be32 tx ____cacheline_aligned; + __be32 tx __aligned(IIO_DMA_MINALIGN); __be32 rx; }; --- linux-gcp-5.19.0.orig/drivers/iio/adc/ad7292.c +++ linux-gcp-5.19.0/drivers/iio/adc/ad7292.c @@ -80,7 +80,7 @@ struct regulator *reg; unsigned short vref_mv; - __be16 d16 ____cacheline_aligned; + __be16 d16 __aligned(IIO_DMA_MINALIGN); u8 d8[2]; }; @@ -287,10 +287,8 @@ ret = devm_add_action_or_reset(&spi->dev, ad7292_regulator_disable, st); - if (ret) { - regulator_disable(st->reg); + if (ret) return ret; - } ret = regulator_get_voltage(st->reg); if (ret < 0) --- linux-gcp-5.19.0.orig/drivers/iio/adc/ad7298.c +++ linux-gcp-5.19.0/drivers/iio/adc/ad7298.c @@ -49,7 +49,7 @@ * DMA (thus cache coherency maintenance) requires the * transfer buffers to live in their own cache lines. */ - __be16 rx_buf[12] ____cacheline_aligned; + __be16 rx_buf[12] __aligned(IIO_DMA_MINALIGN); __be16 tx_buf[2]; }; --- linux-gcp-5.19.0.orig/drivers/iio/adc/ad7476.c +++ linux-gcp-5.19.0/drivers/iio/adc/ad7476.c @@ -44,13 +44,12 @@ struct spi_transfer xfer; struct spi_message msg; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. * Make the buffer large enough for one 16 bit sample and one 64 bit * aligned 64 bit timestamp. */ - unsigned char data[ALIGN(2, sizeof(s64)) + sizeof(s64)] - ____cacheline_aligned; + unsigned char data[ALIGN(2, sizeof(s64)) + sizeof(s64)] __aligned(IIO_DMA_MINALIGN); }; enum ad7476_supported_device_ids { --- linux-gcp-5.19.0.orig/drivers/iio/adc/ad7606.h +++ linux-gcp-5.19.0/drivers/iio/adc/ad7606.h @@ -116,11 +116,11 @@ struct completion completion; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. * 16 * 16-bit samples + 64-bit timestamp */ - unsigned short data[20] ____cacheline_aligned; + unsigned short data[20] __aligned(IIO_DMA_MINALIGN); __be16 d16[2]; }; --- linux-gcp-5.19.0.orig/drivers/iio/adc/ad7766.c +++ linux-gcp-5.19.0/drivers/iio/adc/ad7766.c @@ -45,13 +45,12 @@ struct spi_message msg; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. * Make the buffer large enough for one 24 bit sample and one 64 bit * aligned 64 bit timestamp. */ - unsigned char data[ALIGN(3, sizeof(s64)) + sizeof(s64)] - ____cacheline_aligned; + unsigned char data[ALIGN(3, sizeof(s64)) + sizeof(s64)] __aligned(IIO_DMA_MINALIGN); }; /* --- linux-gcp-5.19.0.orig/drivers/iio/adc/ad7768-1.c +++ linux-gcp-5.19.0/drivers/iio/adc/ad7768-1.c @@ -163,7 +163,7 @@ struct gpio_desc *gpio_sync_in; const char *labels[ARRAY_SIZE(ad7768_channels)]; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ union { @@ -173,7 +173,7 @@ } scan; __be32 d32; u8 d8[2]; - } data ____cacheline_aligned; + } data __aligned(IIO_DMA_MINALIGN); }; static int ad7768_spi_reg_read(struct ad7768_state *st, unsigned int addr, --- linux-gcp-5.19.0.orig/drivers/iio/adc/ad7887.c +++ linux-gcp-5.19.0/drivers/iio/adc/ad7887.c @@ -66,13 +66,12 @@ unsigned char tx_cmd_buf[4]; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. * Buffer needs to be large enough to hold two 16 bit samples and a * 64 bit aligned 64 bit timestamp. */ - unsigned char data[ALIGN(4, sizeof(s64)) + sizeof(s64)] - ____cacheline_aligned; + unsigned char data[ALIGN(4, sizeof(s64)) + sizeof(s64)] __aligned(IIO_DMA_MINALIGN); }; enum ad7887_supported_device_ids { --- linux-gcp-5.19.0.orig/drivers/iio/adc/ad7923.c +++ linux-gcp-5.19.0/drivers/iio/adc/ad7923.c @@ -57,12 +57,12 @@ unsigned int settings; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. * Ensure rx_buf can be directly used in iio_push_to_buffers_with_timetamp * Length = 8 channels + 4 extra for 8 byte timestamp */ - __be16 rx_buf[12] ____cacheline_aligned; + __be16 rx_buf[12] __aligned(IIO_DMA_MINALIGN); __be16 tx_buf[4]; }; @@ -93,6 +93,7 @@ .sign = 'u', \ .realbits = (bits), \ .storagebits = 16, \ + .shift = 12 - (bits), \ .endianness = IIO_BE, \ }, \ } @@ -268,7 +269,8 @@ return ret; if (chan->address == EXTRACT(ret, 12, 4)) - *val = EXTRACT(ret, 0, 12); + *val = EXTRACT(ret, chan->scan_type.shift, + chan->scan_type.realbits); else return -EIO; --- linux-gcp-5.19.0.orig/drivers/iio/adc/ad7949.c +++ linux-gcp-5.19.0/drivers/iio/adc/ad7949.c @@ -86,7 +86,7 @@ u8 resolution; u16 cfg; unsigned int current_channel; - u16 buffer ____cacheline_aligned; + u16 buffer __aligned(IIO_DMA_MINALIGN); __be16 buf8b; }; --- linux-gcp-5.19.0.orig/drivers/iio/adc/ad_sigma_delta.c +++ linux-gcp-5.19.0/drivers/iio/adc/ad_sigma_delta.c @@ -281,10 +281,10 @@ unsigned int data_reg; int ret = 0; - if (iio_buffer_enabled(indio_dev)) - return -EBUSY; + ret = iio_device_claim_direct_mode(indio_dev); + if (ret) + return ret; - mutex_lock(&indio_dev->mlock); ad_sigma_delta_set_channel(sigma_delta, chan->address); spi_bus_lock(sigma_delta->spi->master); @@ -323,7 +323,7 @@ ad_sigma_delta_set_mode(sigma_delta, AD_SD_MODE_IDLE); sigma_delta->bus_locked = false; spi_bus_unlock(sigma_delta->spi->master); - mutex_unlock(&indio_dev->mlock); + iio_device_release_direct_mode(indio_dev); if (ret) return ret; --- linux-gcp-5.19.0.orig/drivers/iio/adc/adi-axi-adc.c +++ linux-gcp-5.19.0/drivers/iio/adc/adi-axi-adc.c @@ -84,7 +84,8 @@ { struct adi_axi_adc_client *cl = conv_to_client(conv); - return (char *)cl + ALIGN(sizeof(struct adi_axi_adc_client), IIO_ALIGN); + return (char *)cl + ALIGN(sizeof(struct adi_axi_adc_client), + IIO_DMA_MINALIGN); } EXPORT_SYMBOL_GPL(adi_axi_adc_conv_priv); @@ -169,9 +170,9 @@ struct adi_axi_adc_client *cl; size_t alloc_size; - alloc_size = ALIGN(sizeof(struct adi_axi_adc_client), IIO_ALIGN); + alloc_size = ALIGN(sizeof(struct adi_axi_adc_client), IIO_DMA_MINALIGN); if (sizeof_priv) - alloc_size += ALIGN(sizeof_priv, IIO_ALIGN); + alloc_size += ALIGN(sizeof_priv, IIO_DMA_MINALIGN); cl = kzalloc(alloc_size, GFP_KERNEL); if (!cl) --- linux-gcp-5.19.0.orig/drivers/iio/adc/aspeed_adc.c +++ linux-gcp-5.19.0/drivers/iio/adc/aspeed_adc.c @@ -202,6 +202,8 @@ ((scu_otp) & (data->model_data->trim_locate->field)) >> __ffs(data->model_data->trim_locate->field); + if (!trimming_val) + trimming_val = 0x8; } dev_dbg(data->dev, "trimming val = %d, offset = %08x, fields = %08x\n", @@ -563,12 +565,9 @@ if (ret) return ret; - if (of_find_property(data->dev->of_node, "aspeed,trim-data-valid", - NULL)) { - ret = aspeed_adc_set_trim_data(indio_dev); - if (ret) - return ret; - } + ret = aspeed_adc_set_trim_data(indio_dev); + if (ret) + return ret; if (of_find_property(data->dev->of_node, "aspeed,battery-sensing", NULL)) { --- linux-gcp-5.19.0.orig/drivers/iio/adc/at91-sama5d2_adc.c +++ linux-gcp-5.19.0/drivers/iio/adc/at91-sama5d2_adc.c @@ -77,7 +77,7 @@ #define AT91_SAMA5D2_MR_ANACH BIT(23) /* Tracking Time */ #define AT91_SAMA5D2_MR_TRACKTIM(v) ((v) << 24) -#define AT91_SAMA5D2_MR_TRACKTIM_MAX 0xff +#define AT91_SAMA5D2_MR_TRACKTIM_MAX 0xf /* Transfer Time */ #define AT91_SAMA5D2_MR_TRANSFER(v) ((v) << 28) #define AT91_SAMA5D2_MR_TRANSFER_MAX 0x3 @@ -1542,10 +1542,12 @@ ret = at91_adc_read_position(st, chan->channel, &tmp_val); *val = tmp_val; + if (ret > 0) + ret = at91_adc_adjust_val_osr(st, val); mutex_unlock(&st->lock); iio_device_release_direct_mode(indio_dev); - return at91_adc_adjust_val_osr(st, val); + return ret; } if (chan->type == IIO_PRESSURE) { ret = iio_device_claim_direct_mode(indio_dev); @@ -1556,10 +1558,12 @@ ret = at91_adc_read_pressure(st, chan->channel, &tmp_val); *val = tmp_val; + if (ret > 0) + ret = at91_adc_adjust_val_osr(st, val); mutex_unlock(&st->lock); iio_device_release_direct_mode(indio_dev); - return at91_adc_adjust_val_osr(st, val); + return ret; } /* in this case we have a voltage channel */ @@ -1646,16 +1650,20 @@ /* if no change, optimize out */ if (val == st->oversampling_ratio) return 0; + mutex_lock(&st->lock); st->oversampling_ratio = val; /* update ratio */ at91_adc_config_emr(st); + mutex_unlock(&st->lock); return 0; case IIO_CHAN_INFO_SAMP_FREQ: if (val < st->soc_info.min_sample_rate || val > st->soc_info.max_sample_rate) return -EINVAL; + mutex_lock(&st->lock); at91_adc_setup_samp_freq(indio_dev, val); + mutex_unlock(&st->lock); return 0; default: return -EINVAL; @@ -2108,6 +2116,9 @@ struct iio_dev *indio_dev = dev_get_drvdata(dev); struct at91_adc_state *st = iio_priv(indio_dev); + if (iio_buffer_enabled(indio_dev)) + at91_adc_buffer_postdisable(indio_dev); + /* * Do a sofware reset of the ADC before we go to suspend. * this will ensure that all pins are free from being muxed by the ADC @@ -2151,14 +2162,11 @@ if (!iio_buffer_enabled(indio_dev)) return 0; - /* check if we are enabling triggered buffer or the touchscreen */ - if (at91_adc_current_chan_is_touch(indio_dev)) - return at91_adc_configure_touch(st, true); - else - return at91_adc_configure_trigger(st->trig, true); + ret = at91_adc_buffer_prepare(indio_dev); + if (ret) + goto vref_disable_resume; - /* not needed but more explicit */ - return 0; + return at91_adc_configure_trigger(st->trig, true); vref_disable_resume: regulator_disable(st->vref); --- linux-gcp-5.19.0.orig/drivers/iio/adc/at91_adc.c +++ linux-gcp-5.19.0/drivers/iio/adc/at91_adc.c @@ -634,8 +634,10 @@ trig->ops = &at91_adc_trigger_ops; ret = iio_trigger_register(trig); - if (ret) + if (ret) { + iio_trigger_free(trig); return NULL; + } return trig; } --- linux-gcp-5.19.0.orig/drivers/iio/adc/berlin2-adc.c +++ linux-gcp-5.19.0/drivers/iio/adc/berlin2-adc.c @@ -296,8 +296,10 @@ int ret; indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*priv)); - if (!indio_dev) + if (!indio_dev) { + of_node_put(parent_np); return -ENOMEM; + } priv = iio_priv(indio_dev); --- linux-gcp-5.19.0.orig/drivers/iio/adc/hi8435.c +++ linux-gcp-5.19.0/drivers/iio/adc/hi8435.c @@ -49,7 +49,7 @@ unsigned threshold_lo[2]; /* GND-Open and Supply-Open thresholds */ unsigned threshold_hi[2]; /* GND-Open and Supply-Open thresholds */ - u8 reg_buffer[3] ____cacheline_aligned; + u8 reg_buffer[3] __aligned(IIO_DMA_MINALIGN); }; static int hi8435_readb(struct hi8435_priv *priv, u8 reg, u8 *val) --- linux-gcp-5.19.0.orig/drivers/iio/adc/imx8qxp-adc.c +++ linux-gcp-5.19.0/drivers/iio/adc/imx8qxp-adc.c @@ -85,6 +85,8 @@ #define IMX8QXP_ADC_TIMEOUT msecs_to_jiffies(100) +#define IMX8QXP_ADC_MAX_FIFO_SIZE 16 + struct imx8qxp_adc { struct device *dev; void __iomem *regs; @@ -94,6 +96,7 @@ /* Serialise ADC channel reads */ struct mutex lock; struct completion completion; + u32 fifo[IMX8QXP_ADC_MAX_FIFO_SIZE]; }; #define IMX8QXP_ADC_CHAN(_idx) { \ @@ -237,8 +240,7 @@ return ret; } - *val = FIELD_GET(IMX8QXP_ADC_RESFIFO_VAL_MASK, - readl(adc->regs + IMX8QXP_ADR_ADC_RESFIFO)); + *val = adc->fifo[0]; mutex_unlock(&adc->lock); return IIO_VAL_INT; @@ -262,10 +264,15 @@ { struct imx8qxp_adc *adc = dev_id; u32 fifo_count; + int i; fifo_count = FIELD_GET(IMX8QXP_ADC_FCTRL_FCOUNT_MASK, readl(adc->regs + IMX8QXP_ADR_ADC_FCTRL)); + for (i = 0; i < fifo_count; i++) + adc->fifo[i] = FIELD_GET(IMX8QXP_ADC_RESFIFO_VAL_MASK, + readl_relaxed(adc->regs + IMX8QXP_ADR_ADC_RESFIFO)); + if (fifo_count) complete(&adc->completion); --- linux-gcp-5.19.0.orig/drivers/iio/adc/ltc2496.c +++ linux-gcp-5.19.0/drivers/iio/adc/ltc2496.c @@ -24,10 +24,10 @@ struct spi_device *spi; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ - unsigned char rxbuf[3] ____cacheline_aligned; + unsigned char rxbuf[3] __aligned(IIO_DMA_MINALIGN); unsigned char txbuf[3]; }; --- linux-gcp-5.19.0.orig/drivers/iio/adc/ltc2497.c +++ linux-gcp-5.19.0/drivers/iio/adc/ltc2497.c @@ -20,10 +20,10 @@ struct ltc2497core_driverdata common_ddata; struct i2c_client *client; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ - __be32 buf ____cacheline_aligned; + __be32 buf __aligned(IIO_DMA_MINALIGN); }; static int ltc2497_result_and_measure(struct ltc2497core_driverdata *ddata, @@ -41,6 +41,19 @@ } *val = (be32_to_cpu(st->buf) >> 14) - (1 << 17); + + /* + * The part started a new conversion at the end of the above i2c + * transfer, so if the address didn't change since the last call + * everything is fine and we can return early. + * If not (which should only happen when some sort of bulk + * conversion is implemented) we have to program the new + * address. Note that this probably fails as the conversion that + * was triggered above is like not complete yet and the two + * operations have to be done in a single transfer. + */ + if (ddata->addr_prev == address) + return 0; } ret = i2c_smbus_write_byte(st->client, --- linux-gcp-5.19.0.orig/drivers/iio/adc/max1027.c +++ linux-gcp-5.19.0/drivers/iio/adc/max1027.c @@ -272,7 +272,7 @@ struct mutex lock; struct completion complete; - u8 reg ____cacheline_aligned; + u8 reg __aligned(IIO_DMA_MINALIGN); }; static int max1027_wait_eoc(struct iio_dev *indio_dev) @@ -349,8 +349,7 @@ if (ret < 0) { dev_err(&indio_dev->dev, "Failed to configure conversion register\n"); - iio_device_release_direct_mode(indio_dev); - return ret; + goto release; } /* @@ -360,11 +359,12 @@ */ ret = max1027_wait_eoc(indio_dev); if (ret) - return ret; + goto release; /* Read result */ ret = spi_read(st->spi, st->buffer, (chan->type == IIO_TEMP) ? 4 : 2); +release: iio_device_release_direct_mode(indio_dev); if (ret < 0) --- linux-gcp-5.19.0.orig/drivers/iio/adc/max11100.c +++ linux-gcp-5.19.0/drivers/iio/adc/max11100.c @@ -33,10 +33,10 @@ struct spi_device *spi; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ - u8 buffer[3] ____cacheline_aligned; + u8 buffer[3] __aligned(IIO_DMA_MINALIGN); }; static const struct iio_chan_spec max11100_channels[] = { --- linux-gcp-5.19.0.orig/drivers/iio/adc/max1118.c +++ linux-gcp-5.19.0/drivers/iio/adc/max1118.c @@ -42,7 +42,7 @@ s64 ts __aligned(8); } scan; - u8 data ____cacheline_aligned; + u8 data __aligned(IIO_DMA_MINALIGN); }; #define MAX1118_CHANNEL(ch) \ --- linux-gcp-5.19.0.orig/drivers/iio/adc/max1241.c +++ linux-gcp-5.19.0/drivers/iio/adc/max1241.c @@ -26,7 +26,7 @@ struct regulator *vref; struct gpio_desc *shutdown; - __be16 data ____cacheline_aligned; + __be16 data __aligned(IIO_DMA_MINALIGN); }; static const struct iio_chan_spec max1241_channels[] = { --- linux-gcp-5.19.0.orig/drivers/iio/adc/mcp320x.c +++ linux-gcp-5.19.0/drivers/iio/adc/mcp320x.c @@ -92,7 +92,7 @@ struct mutex lock; const struct mcp320x_chip_info *chip_info; - u8 tx_buf ____cacheline_aligned; + u8 tx_buf __aligned(IIO_DMA_MINALIGN); u8 rx_buf[4]; }; --- linux-gcp-5.19.0.orig/drivers/iio/adc/mcp3911.c +++ linux-gcp-5.19.0/drivers/iio/adc/mcp3911.c @@ -40,8 +40,8 @@ #define MCP3911_CHANNEL(x) (MCP3911_REG_CHANNEL0 + x * 3) #define MCP3911_OFFCAL(x) (MCP3911_REG_OFFCAL_CH0 + x * 6) -/* Internal voltage reference in uV */ -#define MCP3911_INT_VREF_UV 1200000 +/* Internal voltage reference in mV */ +#define MCP3911_INT_VREF_MV 1200 #define MCP3911_REG_READ(reg, id) ((((reg) << 1) | ((id) << 5) | (1 << 0)) & 0xff) #define MCP3911_REG_WRITE(reg, id) ((((reg) << 1) | ((id) << 5) | (0 << 0)) & 0xff) @@ -113,6 +113,8 @@ if (ret) goto out; + *val = sign_extend32(*val, 23); + ret = IIO_VAL_INT; break; @@ -137,11 +139,18 @@ *val = ret / 1000; } else { - *val = MCP3911_INT_VREF_UV; + *val = MCP3911_INT_VREF_MV; } - *val2 = 24; - ret = IIO_VAL_FRACTIONAL_LOG2; + /* + * For 24bit Conversion + * Raw = ((Voltage)/(Vref) * 2^23 * Gain * 1.5 + * Voltage = Raw * (Vref)/(2^23 * Gain * 1.5) + */ + + /* val2 = (2^23 * 1.5) */ + *val2 = 12582912; + ret = IIO_VAL_FRACTIONAL; break; } @@ -208,7 +217,14 @@ u32 configreg; int ret; - device_property_read_u32(dev, "device-addr", &adc->dev_addr); + ret = device_property_read_u32(dev, "microchip,device-addr", &adc->dev_addr); + + /* + * Fallback to "device-addr" due to historical mismatch between + * dt-bindings and implementation + */ + if (ret) + device_property_read_u32(dev, "device-addr", &adc->dev_addr); if (adc->dev_addr > 3) { dev_err(&adc->spi->dev, "invalid device address (%i). Must be in range 0-3.\n", --- linux-gcp-5.19.0.orig/drivers/iio/adc/mp2629_adc.c +++ linux-gcp-5.19.0/drivers/iio/adc/mp2629_adc.c @@ -56,7 +56,8 @@ MP2629_MAP(SYSTEM_VOLT, "system-volt"), MP2629_MAP(INPUT_VOLT, "input-volt"), MP2629_MAP(BATT_CURRENT, "batt-current"), - MP2629_MAP(INPUT_CURRENT, "input-current") + MP2629_MAP(INPUT_CURRENT, "input-current"), + { } }; static int mp2629_read_raw(struct iio_dev *indio_dev, @@ -73,7 +74,7 @@ if (ret) return ret; - if (chan->address == MP2629_INPUT_VOLT) + if (chan->channel == MP2629_INPUT_VOLT) rval &= GENMASK(6, 0); *val = rval; return IIO_VAL_INT; --- linux-gcp-5.19.0.orig/drivers/iio/adc/stm32-adc.c +++ linux-gcp-5.19.0/drivers/iio/adc/stm32-adc.c @@ -2058,18 +2058,19 @@ stm32_adc_chan_init_one(indio_dev, &channels[scan_index], val, vin[1], scan_index, differential); + val = 0; ret = of_property_read_u32(child, "st,min-sample-time-ns", &val); /* st,min-sample-time-ns is optional */ - if (!ret) { - stm32_adc_smpr_init(adc, channels[scan_index].channel, val); - if (differential) - stm32_adc_smpr_init(adc, vin[1], val); - } else if (ret != -EINVAL) { + if (ret && ret != -EINVAL) { dev_err(&indio_dev->dev, "Invalid st,min-sample-time-ns property %d\n", ret); goto err; } + stm32_adc_smpr_init(adc, channels[scan_index].channel, val); + if (differential) + stm32_adc_smpr_init(adc, vin[1], val); + scan_index++; } --- linux-gcp-5.19.0.orig/drivers/iio/adc/stm32-dfsdm-adc.c +++ linux-gcp-5.19.0/drivers/iio/adc/stm32-dfsdm-adc.c @@ -1520,6 +1520,7 @@ }, {} }; +MODULE_DEVICE_TABLE(of, stm32_dfsdm_adc_match); static int stm32_dfsdm_adc_probe(struct platform_device *pdev) { --- linux-gcp-5.19.0.orig/drivers/iio/adc/ti-adc0832.c +++ linux-gcp-5.19.0/drivers/iio/adc/ti-adc0832.c @@ -36,7 +36,7 @@ */ u8 data[24] __aligned(8); - u8 tx_buf[2] ____cacheline_aligned; + u8 tx_buf[2] __aligned(IIO_DMA_MINALIGN); u8 rx_buf[2]; }; --- linux-gcp-5.19.0.orig/drivers/iio/adc/ti-adc084s021.c +++ linux-gcp-5.19.0/drivers/iio/adc/ti-adc084s021.c @@ -32,10 +32,10 @@ s64 ts __aligned(8); } scan; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache line. */ - u16 tx_buf[4] ____cacheline_aligned; + u16 tx_buf[4] __aligned(IIO_DMA_MINALIGN); __be16 rx_buf[5]; /* First 16-bits are trash */ }; --- linux-gcp-5.19.0.orig/drivers/iio/adc/ti-adc108s102.c +++ linux-gcp-5.19.0/drivers/iio/adc/ti-adc108s102.c @@ -77,8 +77,8 @@ * tx_buf: 8 channel read commands, plus 1 dummy command * rx_buf: 1 dummy response, 8 channel responses */ - __be16 rx_buf[9] ____cacheline_aligned; - __be16 tx_buf[9] ____cacheline_aligned; + __be16 rx_buf[9] __aligned(IIO_DMA_MINALIGN); + __be16 tx_buf[9] __aligned(IIO_DMA_MINALIGN); }; #define ADC108S102_V_CHAN(index) \ --- linux-gcp-5.19.0.orig/drivers/iio/adc/ti-adc12138.c +++ linux-gcp-5.19.0/drivers/iio/adc/ti-adc12138.c @@ -55,7 +55,7 @@ */ __be16 data[20] __aligned(8); - u8 tx_buf[2] ____cacheline_aligned; + u8 tx_buf[2] __aligned(IIO_DMA_MINALIGN); u8 rx_buf[2]; }; --- linux-gcp-5.19.0.orig/drivers/iio/adc/ti-adc128s052.c +++ linux-gcp-5.19.0/drivers/iio/adc/ti-adc128s052.c @@ -29,7 +29,7 @@ struct regulator *reg; struct mutex lock; - u8 buffer[2] ____cacheline_aligned; + u8 buffer[2] __aligned(IIO_DMA_MINALIGN); }; static int adc128_adc_conversion(struct adc128 *adc, u8 channel) @@ -181,13 +181,13 @@ } static const struct of_device_id adc128_of_match[] = { - { .compatible = "ti,adc128s052", }, - { .compatible = "ti,adc122s021", }, - { .compatible = "ti,adc122s051", }, - { .compatible = "ti,adc122s101", }, - { .compatible = "ti,adc124s021", }, - { .compatible = "ti,adc124s051", }, - { .compatible = "ti,adc124s101", }, + { .compatible = "ti,adc128s052", .data = (void*)0L, }, + { .compatible = "ti,adc122s021", .data = (void*)1L, }, + { .compatible = "ti,adc122s051", .data = (void*)1L, }, + { .compatible = "ti,adc122s101", .data = (void*)1L, }, + { .compatible = "ti,adc124s021", .data = (void*)2L, }, + { .compatible = "ti,adc124s051", .data = (void*)2L, }, + { .compatible = "ti,adc124s101", .data = (void*)2L, }, { /* sentinel */ }, }; MODULE_DEVICE_TABLE(of, adc128_of_match); --- linux-gcp-5.19.0.orig/drivers/iio/adc/ti-adc161s626.c +++ linux-gcp-5.19.0/drivers/iio/adc/ti-adc161s626.c @@ -71,7 +71,7 @@ u8 read_size; u8 shift; - u8 buffer[16] ____cacheline_aligned; + u8 buffer[16] __aligned(IIO_DMA_MINALIGN); }; static int ti_adc_read_measurement(struct ti_adc_data *data, --- linux-gcp-5.19.0.orig/drivers/iio/adc/ti-ads124s08.c +++ linux-gcp-5.19.0/drivers/iio/adc/ti-ads124s08.c @@ -106,7 +106,7 @@ * timestamp is maintained. */ u32 buffer[ADS124S08_MAX_CHANNELS + sizeof(s64)/sizeof(u32)] __aligned(8); - u8 data[5] ____cacheline_aligned; + u8 data[5] __aligned(IIO_DMA_MINALIGN); }; #define ADS124S08_CHAN(index) \ --- linux-gcp-5.19.0.orig/drivers/iio/adc/ti-ads131e08.c +++ linux-gcp-5.19.0/drivers/iio/adc/ti-ads131e08.c @@ -105,7 +105,7 @@ s64 ts __aligned(8); } tmp_buf; - u8 tx_buf[3] ____cacheline_aligned; + u8 tx_buf[3] __aligned(IIO_DMA_MINALIGN); /* * Add extra one padding byte to be able to access the last channel * value using u32 pointer --- linux-gcp-5.19.0.orig/drivers/iio/adc/ti-ads7950.c +++ linux-gcp-5.19.0/drivers/iio/adc/ti-ads7950.c @@ -102,11 +102,11 @@ unsigned int gpio_cmd_settings_bitmask; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ u16 rx_buf[TI_ADS7950_MAX_CHAN + 2 + TI_ADS7950_TIMESTAMP_SIZE] - ____cacheline_aligned; + __aligned(IIO_DMA_MINALIGN); u16 tx_buf[TI_ADS7950_MAX_CHAN + 2]; u16 single_tx; u16 single_rx; --- linux-gcp-5.19.0.orig/drivers/iio/adc/ti-ads8344.c +++ linux-gcp-5.19.0/drivers/iio/adc/ti-ads8344.c @@ -28,7 +28,7 @@ */ struct mutex lock; - u8 tx_buf ____cacheline_aligned; + u8 tx_buf __aligned(IIO_DMA_MINALIGN); u8 rx_buf[3]; }; --- linux-gcp-5.19.0.orig/drivers/iio/adc/ti-ads8688.c +++ linux-gcp-5.19.0/drivers/iio/adc/ti-ads8688.c @@ -71,7 +71,7 @@ union { __be32 d32; u8 d8[4]; - } data[2] ____cacheline_aligned; + } data[2] __aligned(IIO_DMA_MINALIGN); }; enum ads8688_id { --- linux-gcp-5.19.0.orig/drivers/iio/adc/ti-tlc4541.c +++ linux-gcp-5.19.0/drivers/iio/adc/ti-tlc4541.c @@ -37,12 +37,12 @@ struct spi_message scan_single_msg; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. * 2 bytes data + 6 bytes padding + 8 bytes timestamp when * call iio_push_to_buffers_with_timestamp. */ - __be16 rx_buf[8] ____cacheline_aligned; + __be16 rx_buf[8] __aligned(IIO_DMA_MINALIGN); }; struct tlc4541_chip_info { --- linux-gcp-5.19.0.orig/drivers/iio/adc/twl6030-gpadc.c +++ linux-gcp-5.19.0/drivers/iio/adc/twl6030-gpadc.c @@ -57,6 +57,18 @@ #define TWL6030_GPADCS BIT(1) #define TWL6030_GPADCR BIT(0) +#define USB_VBUS_CTRL_SET 0x04 +#define USB_ID_CTRL_SET 0x06 + +#define TWL6030_MISC1 0xE4 +#define VBUS_MEAS 0x01 +#define ID_MEAS 0x01 + +#define VAC_MEAS 0x04 +#define VBAT_MEAS 0x02 +#define BB_MEAS 0x01 + + /** * struct twl6030_chnl_calib - channel calibration * @gain: slope coefficient for ideal curve @@ -927,6 +939,26 @@ return ret; } + ret = twl_i2c_write_u8(TWL_MODULE_USB, VBUS_MEAS, USB_VBUS_CTRL_SET); + if (ret < 0) { + dev_err(dev, "failed to wire up inputs\n"); + return ret; + } + + ret = twl_i2c_write_u8(TWL_MODULE_USB, ID_MEAS, USB_ID_CTRL_SET); + if (ret < 0) { + dev_err(dev, "failed to wire up inputs\n"); + return ret; + } + + ret = twl_i2c_write_u8(TWL6030_MODULE_ID0, + VBAT_MEAS | BB_MEAS | VAC_MEAS, + TWL6030_MISC1); + if (ret < 0) { + dev_err(dev, "failed to wire up inputs\n"); + return ret; + } + indio_dev->name = DRIVER_NAME; indio_dev->info = &twl6030_gpadc_iio_info; indio_dev->modes = INDIO_DIRECT_MODE; --- linux-gcp-5.19.0.orig/drivers/iio/adc/xilinx-ams.c +++ linux-gcp-5.19.0/drivers/iio/adc/xilinx-ams.c @@ -1329,7 +1329,7 @@ dev_channels = devm_krealloc(dev, ams_channels, dev_size, GFP_KERNEL); if (!dev_channels) - ret = -ENOMEM; + return -ENOMEM; indio_dev->channels = dev_channels; indio_dev->num_channels = num_channels; --- linux-gcp-5.19.0.orig/drivers/iio/addac/ad74413r.c +++ linux-gcp-5.19.0/drivers/iio/addac/ad74413r.c @@ -77,13 +77,13 @@ struct spi_transfer adc_samples_xfer[AD74413R_CHANNEL_MAX + 1]; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ struct { u8 rx_buf[AD74413R_FRAME_SIZE * AD74413R_CHANNEL_MAX]; s64 timestamp; - } adc_samples_buf ____cacheline_aligned; + } adc_samples_buf __aligned(IIO_DMA_MINALIGN); u8 adc_samples_tx_buf[AD74413R_FRAME_SIZE * AD74413R_CHANNEL_MAX]; u8 reg_tx_buf[AD74413R_FRAME_SIZE]; @@ -691,7 +691,7 @@ if (ret) return ret; - *val = voltage_offset * AD74413R_ADC_RESULT_MAX / voltage_range; + *val = voltage_offset * (int)AD74413R_ADC_RESULT_MAX / voltage_range; return IIO_VAL_INT; } --- linux-gcp-5.19.0.orig/drivers/iio/amplifiers/ad8366.c +++ linux-gcp-5.19.0/drivers/iio/amplifiers/ad8366.c @@ -45,10 +45,10 @@ enum ad8366_type type; struct ad8366_info *info; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ - unsigned char data[2] ____cacheline_aligned; + unsigned char data[2] __aligned(IIO_DMA_MINALIGN); }; static struct ad8366_info ad8366_infos[] = { --- linux-gcp-5.19.0.orig/drivers/iio/common/cros_ec_sensors/cros_ec_lid_angle.c +++ linux-gcp-5.19.0/drivers/iio/common/cros_ec_sensors/cros_ec_lid_angle.c @@ -97,7 +97,7 @@ if (!indio_dev) return -ENOMEM; - ret = cros_ec_sensors_core_init(pdev, indio_dev, false, NULL, NULL); + ret = cros_ec_sensors_core_init(pdev, indio_dev, false, NULL); if (ret) return ret; @@ -113,7 +113,7 @@ if (ret) return ret; - return devm_iio_device_register(dev, indio_dev); + return cros_ec_sensors_core_register(dev, indio_dev, NULL); } static const struct platform_device_id cros_ec_lid_angle_ids[] = { --- linux-gcp-5.19.0.orig/drivers/iio/common/cros_ec_sensors/cros_ec_sensors.c +++ linux-gcp-5.19.0/drivers/iio/common/cros_ec_sensors/cros_ec_sensors.c @@ -235,8 +235,7 @@ return -ENOMEM; ret = cros_ec_sensors_core_init(pdev, indio_dev, true, - cros_ec_sensors_capture, - cros_ec_sensors_push_data); + cros_ec_sensors_capture); if (ret) return ret; @@ -297,7 +296,8 @@ else state->core.read_ec_sensors_data = cros_ec_sensors_read_cmd; - return devm_iio_device_register(dev, indio_dev); + return cros_ec_sensors_core_register(dev, indio_dev, + cros_ec_sensors_push_data); } static const struct platform_device_id cros_ec_sensors_ids[] = { --- linux-gcp-5.19.0.orig/drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core.c +++ linux-gcp-5.19.0/drivers/iio/common/cros_ec_sensors/cros_ec_sensors_core.c @@ -234,21 +234,18 @@ /** * cros_ec_sensors_core_init() - basic initialization of the core structure - * @pdev: platform device created for the sensors + * @pdev: platform device created for the sensor * @indio_dev: iio device structure of the device * @physical_device: true if the device refers to a physical device * @trigger_capture: function pointer to call buffer is triggered, * for backward compatibility. - * @push_data: function to call when cros_ec_sensorhub receives - * a sample for that sensor. * * Return: 0 on success, -errno on failure. */ int cros_ec_sensors_core_init(struct platform_device *pdev, struct iio_dev *indio_dev, bool physical_device, - cros_ec_sensors_capture_t trigger_capture, - cros_ec_sensorhub_push_data_cb_t push_data) + cros_ec_sensors_capture_t trigger_capture) { struct device *dev = &pdev->dev; struct cros_ec_sensors_core_state *state = iio_priv(indio_dev); @@ -338,17 +335,6 @@ if (ret) return ret; - ret = cros_ec_sensorhub_register_push_data( - sensor_hub, sensor_platform->sensor_num, - indio_dev, push_data); - if (ret) - return ret; - - ret = devm_add_action_or_reset( - dev, cros_ec_sensors_core_clean, pdev); - if (ret) - return ret; - /* Timestamp coming from FIFO are in ns since boot. */ ret = iio_device_set_clock(indio_dev, CLOCK_BOOTTIME); if (ret) @@ -371,6 +357,46 @@ EXPORT_SYMBOL_GPL(cros_ec_sensors_core_init); /** + * cros_ec_sensors_core_register() - Register callback to FIFO and IIO when + * sensor is ready. + * It must be called at the end of the sensor probe routine. + * @dev: device created for the sensor + * @indio_dev: iio device structure of the device + * @push_data: function to call when cros_ec_sensorhub receives + * a sample for that sensor. + * + * Return: 0 on success, -errno on failure. + */ +int cros_ec_sensors_core_register(struct device *dev, + struct iio_dev *indio_dev, + cros_ec_sensorhub_push_data_cb_t push_data) +{ + struct cros_ec_sensor_platform *sensor_platform = dev_get_platdata(dev); + struct cros_ec_sensorhub *sensor_hub = dev_get_drvdata(dev->parent); + struct platform_device *pdev = to_platform_device(dev); + struct cros_ec_dev *ec = sensor_hub->ec; + int ret; + + ret = devm_iio_device_register(dev, indio_dev); + if (ret) + return ret; + + if (!push_data || + !cros_ec_check_features(ec, EC_FEATURE_MOTION_SENSE_FIFO)) + return 0; + + ret = cros_ec_sensorhub_register_push_data( + sensor_hub, sensor_platform->sensor_num, + indio_dev, push_data); + if (ret) + return ret; + + return devm_add_action_or_reset( + dev, cros_ec_sensors_core_clean, pdev); +} +EXPORT_SYMBOL_GPL(cros_ec_sensors_core_register); + +/** * cros_ec_motion_send_host_cmd() - send motion sense host command * @state: pointer to state information for device * @opt_length: optional length to reduce the response size, useful on the data --- linux-gcp-5.19.0.orig/drivers/iio/common/ssp_sensors/ssp.h +++ linux-gcp-5.19.0/drivers/iio/common/ssp_sensors/ssp.h @@ -221,8 +221,7 @@ struct iio_dev *sensor_devs[SSP_SENSOR_MAX]; atomic_t enable_refcount; - __le16 header_buffer[SSP_HEADER_BUFFER_SIZE / sizeof(__le16)] - ____cacheline_aligned; + __le16 header_buffer[SSP_HEADER_BUFFER_SIZE / sizeof(__le16)] __aligned(IIO_DMA_MINALIGN); }; void ssp_clean_pending_list(struct ssp_data *data); --- linux-gcp-5.19.0.orig/drivers/iio/dac/ad5064.c +++ linux-gcp-5.19.0/drivers/iio/dac/ad5064.c @@ -115,13 +115,13 @@ struct mutex lock; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ union { u8 i2c[3]; __be32 spi; - } data ____cacheline_aligned; + } data __aligned(IIO_DMA_MINALIGN); }; enum ad5064_type { --- linux-gcp-5.19.0.orig/drivers/iio/dac/ad5360.c +++ linux-gcp-5.19.0/drivers/iio/dac/ad5360.c @@ -79,13 +79,13 @@ struct mutex lock; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ union { __be32 d32; u8 d8[4]; - } data[2] ____cacheline_aligned; + } data[2] __aligned(IIO_DMA_MINALIGN); }; enum ad5360_type { --- linux-gcp-5.19.0.orig/drivers/iio/dac/ad5421.c +++ linux-gcp-5.19.0/drivers/iio/dac/ad5421.c @@ -72,13 +72,13 @@ struct mutex lock; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ union { __be32 d32; u8 d8[4]; - } data[2] ____cacheline_aligned; + } data[2] __aligned(IIO_DMA_MINALIGN); }; static const struct iio_event_spec ad5421_current_event[] = { --- linux-gcp-5.19.0.orig/drivers/iio/dac/ad5449.c +++ linux-gcp-5.19.0/drivers/iio/dac/ad5449.c @@ -68,10 +68,10 @@ uint16_t dac_cache[AD5449_MAX_CHANNELS]; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ - __be16 data[2] ____cacheline_aligned; + __be16 data[2] __aligned(IIO_DMA_MINALIGN); }; enum ad5449_type { --- linux-gcp-5.19.0.orig/drivers/iio/dac/ad5504.c +++ linux-gcp-5.19.0/drivers/iio/dac/ad5504.c @@ -54,7 +54,7 @@ unsigned pwr_down_mask; unsigned pwr_down_mode; - __be16 data[2] ____cacheline_aligned; + __be16 data[2] __aligned(IIO_DMA_MINALIGN); }; /* --- linux-gcp-5.19.0.orig/drivers/iio/dac/ad5592r-base.h +++ linux-gcp-5.19.0/drivers/iio/dac/ad5592r-base.h @@ -14,6 +14,8 @@ #include #include +#include + struct device; struct ad5592r_state; @@ -65,7 +67,7 @@ u8 gpio_in; u8 gpio_val; - __be16 spi_msg ____cacheline_aligned; + __be16 spi_msg __aligned(IIO_DMA_MINALIGN); __be16 spi_msg_nop; }; --- linux-gcp-5.19.0.orig/drivers/iio/dac/ad5593r.c +++ linux-gcp-5.19.0/drivers/iio/dac/ad5593r.c @@ -13,6 +13,8 @@ #include #include +#include + #define AD5593R_MODE_CONF (0 << 4) #define AD5593R_MODE_DAC_WRITE (1 << 4) #define AD5593R_MODE_ADC_READBACK (4 << 4) @@ -20,6 +22,24 @@ #define AD5593R_MODE_GPIO_READBACK (6 << 4) #define AD5593R_MODE_REG_READBACK (7 << 4) +static int ad5593r_read_word(struct i2c_client *i2c, u8 reg, u16 *value) +{ + int ret; + u8 buf[2]; + + ret = i2c_smbus_write_byte(i2c, reg); + if (ret < 0) + return ret; + + ret = i2c_master_recv(i2c, buf, sizeof(buf)); + if (ret < 0) + return ret; + + *value = get_unaligned_be16(buf); + + return 0; +} + static int ad5593r_write_dac(struct ad5592r_state *st, unsigned chan, u16 value) { struct i2c_client *i2c = to_i2c_client(st->dev); @@ -38,13 +58,7 @@ if (val < 0) return (int) val; - val = i2c_smbus_read_word_swapped(i2c, AD5593R_MODE_ADC_READBACK); - if (val < 0) - return (int) val; - - *value = (u16) val; - - return 0; + return ad5593r_read_word(i2c, AD5593R_MODE_ADC_READBACK, value); } static int ad5593r_reg_write(struct ad5592r_state *st, u8 reg, u16 value) @@ -58,25 +72,19 @@ static int ad5593r_reg_read(struct ad5592r_state *st, u8 reg, u16 *value) { struct i2c_client *i2c = to_i2c_client(st->dev); - s32 val; - - val = i2c_smbus_read_word_swapped(i2c, AD5593R_MODE_REG_READBACK | reg); - if (val < 0) - return (int) val; - *value = (u16) val; - - return 0; + return ad5593r_read_word(i2c, AD5593R_MODE_REG_READBACK | reg, value); } static int ad5593r_gpio_read(struct ad5592r_state *st, u8 *value) { struct i2c_client *i2c = to_i2c_client(st->dev); - s32 val; + u16 val; + int ret; - val = i2c_smbus_read_word_swapped(i2c, AD5593R_MODE_GPIO_READBACK); - if (val < 0) - return (int) val; + ret = ad5593r_read_word(i2c, AD5593R_MODE_GPIO_READBACK, &val); + if (ret) + return ret; *value = (u8) val; --- linux-gcp-5.19.0.orig/drivers/iio/dac/ad5686.h +++ linux-gcp-5.19.0/drivers/iio/dac/ad5686.h @@ -13,6 +13,8 @@ #include #include +#include + #define AD5310_CMD(x) ((x) << 12) #define AD5683_DATA(x) ((x) << 4) @@ -137,7 +139,7 @@ struct mutex lock; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ @@ -145,7 +147,7 @@ __be32 d32; __be16 d16; u8 d8[4]; - } data[3] ____cacheline_aligned; + } data[3] __aligned(IIO_DMA_MINALIGN); }; --- linux-gcp-5.19.0.orig/drivers/iio/dac/ad5755.c +++ linux-gcp-5.19.0/drivers/iio/dac/ad5755.c @@ -189,14 +189,14 @@ struct mutex lock; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ union { __be32 d32; u8 d8[4]; - } data[2] ____cacheline_aligned; + } data[2] __aligned(IIO_DMA_MINALIGN); }; enum ad5755_type { --- linux-gcp-5.19.0.orig/drivers/iio/dac/ad5761.c +++ linux-gcp-5.19.0/drivers/iio/dac/ad5761.c @@ -70,13 +70,13 @@ enum ad5761_voltage_range range; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ union { __be32 d32; u8 d8[4]; - } data[3] ____cacheline_aligned; + } data[3] __aligned(IIO_DMA_MINALIGN); }; static const struct ad5761_range_params ad5761_range_params[] = { --- linux-gcp-5.19.0.orig/drivers/iio/dac/ad5764.c +++ linux-gcp-5.19.0/drivers/iio/dac/ad5764.c @@ -56,13 +56,13 @@ struct mutex lock; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ union { __be32 d32; u8 d8[4]; - } data[2] ____cacheline_aligned; + } data[2] __aligned(IIO_DMA_MINALIGN); }; enum ad5764_type { --- linux-gcp-5.19.0.orig/drivers/iio/dac/ad5766.c +++ linux-gcp-5.19.0/drivers/iio/dac/ad5766.c @@ -123,7 +123,7 @@ u32 d32; u16 w16[2]; u8 b8[4]; - } data[3] ____cacheline_aligned; + } data[3] __aligned(IIO_DMA_MINALIGN); }; struct ad5766_span_tbl { --- linux-gcp-5.19.0.orig/drivers/iio/dac/ad5770r.c +++ linux-gcp-5.19.0/drivers/iio/dac/ad5770r.c @@ -140,7 +140,7 @@ bool ch_pwr_down[AD5770R_MAX_CHANNELS]; bool internal_ref; bool external_res; - u8 transf_buf[2] ____cacheline_aligned; + u8 transf_buf[2] __aligned(IIO_DMA_MINALIGN); }; static const struct regmap_config ad5770r_spi_regmap_config = { --- linux-gcp-5.19.0.orig/drivers/iio/dac/ad5791.c +++ linux-gcp-5.19.0/drivers/iio/dac/ad5791.c @@ -95,7 +95,7 @@ union { __be32 d32; u8 d8[4]; - } data[3] ____cacheline_aligned; + } data[3] __aligned(IIO_DMA_MINALIGN); }; enum ad5791_supported_device_ids { --- linux-gcp-5.19.0.orig/drivers/iio/dac/ad7293.c +++ linux-gcp-5.19.0/drivers/iio/dac/ad7293.c @@ -144,7 +144,7 @@ struct regulator *reg_avdd; struct regulator *reg_vdrive; u8 page_select; - u8 data[3] ____cacheline_aligned; + u8 data[3] __aligned(IIO_DMA_MINALIGN); }; static int ad7293_page_select(struct ad7293_state *st, unsigned int reg) --- linux-gcp-5.19.0.orig/drivers/iio/dac/ad7303.c +++ linux-gcp-5.19.0/drivers/iio/dac/ad7303.c @@ -44,10 +44,10 @@ struct mutex lock; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ - __be16 data ____cacheline_aligned; + __be16 data __aligned(IIO_DMA_MINALIGN); }; static int ad7303_write(struct ad7303_state *st, unsigned int chan, --- linux-gcp-5.19.0.orig/drivers/iio/dac/ad8801.c +++ linux-gcp-5.19.0/drivers/iio/dac/ad8801.c @@ -26,7 +26,7 @@ struct regulator *vrefh_reg; struct regulator *vrefl_reg; - __be16 data ____cacheline_aligned; + __be16 data __aligned(IIO_DMA_MINALIGN); }; static int ad8801_spi_write(struct ad8801_state *state, --- linux-gcp-5.19.0.orig/drivers/iio/dac/ltc2688.c +++ linux-gcp-5.19.0/drivers/iio/dac/ltc2688.c @@ -91,10 +91,10 @@ struct mutex lock; int vref; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ - u8 tx_data[6] ____cacheline_aligned; + u8 tx_data[6] __aligned(IIO_DMA_MINALIGN); u8 rx_data[3]; }; --- linux-gcp-5.19.0.orig/drivers/iio/dac/mcp4922.c +++ linux-gcp-5.19.0/drivers/iio/dac/mcp4922.c @@ -29,7 +29,7 @@ unsigned int value[MCP4922_NUM_CHANNELS]; unsigned int vref_mv; struct regulator *vref_reg; - u8 mosi[2] ____cacheline_aligned; + u8 mosi[2] __aligned(IIO_DMA_MINALIGN); }; #define MCP4922_CHAN(chan, bits) { \ --- linux-gcp-5.19.0.orig/drivers/iio/dac/ti-dac082s085.c +++ linux-gcp-5.19.0/drivers/iio/dac/ti-dac082s085.c @@ -55,7 +55,7 @@ bool powerdown; u8 powerdown_mode; u8 resolution; - u8 buf[2] ____cacheline_aligned; + u8 buf[2] __aligned(IIO_DMA_MINALIGN); }; #define WRITE_NOT_UPDATE(chan) (0x00 | (chan) << 6) --- linux-gcp-5.19.0.orig/drivers/iio/dac/ti-dac5571.c +++ linux-gcp-5.19.0/drivers/iio/dac/ti-dac5571.c @@ -52,7 +52,7 @@ struct dac5571_spec const *spec; int (*dac5571_cmd)(struct dac5571_data *data, int channel, u16 val); int (*dac5571_pwrdwn)(struct dac5571_data *data, int channel, u8 pwrdwn); - u8 buf[3] ____cacheline_aligned; + u8 buf[3] __aligned(IIO_DMA_MINALIGN); }; #define DAC5571_POWERDOWN(mode) ((mode) + 1) --- linux-gcp-5.19.0.orig/drivers/iio/dac/ti-dac7311.c +++ linux-gcp-5.19.0/drivers/iio/dac/ti-dac7311.c @@ -52,7 +52,7 @@ bool powerdown; u8 powerdown_mode; u8 resolution; - u8 buf[2] ____cacheline_aligned; + u8 buf[2] __aligned(IIO_DMA_MINALIGN); }; static u8 ti_dac_get_power(struct ti_dac_chip *ti_dac, bool powerdown) --- linux-gcp-5.19.0.orig/drivers/iio/dac/ti-dac7612.c +++ linux-gcp-5.19.0/drivers/iio/dac/ti-dac7612.c @@ -31,10 +31,10 @@ struct mutex lock; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ - uint8_t data[2] ____cacheline_aligned; + uint8_t data[2] __aligned(IIO_DMA_MINALIGN); }; static int dac7612_cmd_single(struct dac7612 *priv, int channel, u16 val) --- linux-gcp-5.19.0.orig/drivers/iio/frequency/ad9523.c +++ linux-gcp-5.19.0/drivers/iio/frequency/ad9523.c @@ -287,13 +287,13 @@ struct mutex lock; /* - * DMA (thus cache coherency maintenance) requires the - * transfer buffers to live in their own cache lines. + * DMA (thus cache coherency maintenance) may require that + * transfer buffers live in their own cache lines. */ union { __be32 d32; u8 d8[4]; - } data[2] ____cacheline_aligned; + } data[2] __aligned(IIO_DMA_MINALIGN); }; static int ad9523_read(struct iio_dev *indio_dev, unsigned int addr) --- linux-gcp-5.19.0.orig/drivers/iio/frequency/adf4350.c +++ linux-gcp-5.19.0/drivers/iio/frequency/adf4350.c @@ -56,10 +56,10 @@ */ struct mutex lock; /* - * DMA (thus cache coherency maintenance) requires the - * transfer buffers to live in their own cache lines. + * DMA (thus cache coherency maintenance) may require that + * transfer buffers live in their own cache lines. */ - __be32 val ____cacheline_aligned; + __be32 val __aligned(IIO_DMA_MINALIGN); }; static struct adf4350_platform_data default_pdata = { --- linux-gcp-5.19.0.orig/drivers/iio/frequency/adf4371.c +++ linux-gcp-5.19.0/drivers/iio/frequency/adf4371.c @@ -175,7 +175,7 @@ unsigned int mod2; unsigned int rf_div_sel; unsigned int ref_div_factor; - u8 buf[10] ____cacheline_aligned; + u8 buf[10] __aligned(IIO_DMA_MINALIGN); }; static unsigned long long adf4371_pll_fract_n_get_rate(struct adf4371_state *st, --- linux-gcp-5.19.0.orig/drivers/iio/frequency/admv1013.c +++ linux-gcp-5.19.0/drivers/iio/frequency/admv1013.c @@ -100,7 +100,7 @@ unsigned int input_mode; unsigned int quad_se_mode; bool det_en; - u8 data[3] ____cacheline_aligned; + u8 data[3] __aligned(IIO_DMA_MINALIGN); }; static int __admv1013_spi_read(struct admv1013_state *st, unsigned int reg, --- linux-gcp-5.19.0.orig/drivers/iio/frequency/admv1014.c +++ linux-gcp-5.19.0/drivers/iio/frequency/admv1014.c @@ -127,7 +127,7 @@ unsigned int quad_se_mode; unsigned int p1db_comp; bool det_en; - u8 data[3] ____cacheline_aligned; + u8 data[3] __aligned(IIO_DMA_MINALIGN); }; static const int mixer_vgate_table[] = {106, 107, 108, 110, 111, 112, 113, 114, --- linux-gcp-5.19.0.orig/drivers/iio/frequency/admv4420.c +++ linux-gcp-5.19.0/drivers/iio/frequency/admv4420.c @@ -113,7 +113,7 @@ struct admv4420_n_counter n_counter; enum admv4420_mux_sel mux_sel; struct mutex lock; - u8 transf_buf[4] ____cacheline_aligned; + u8 transf_buf[4] __aligned(IIO_DMA_MINALIGN); }; static const struct regmap_config admv4420_regmap_config = { --- linux-gcp-5.19.0.orig/drivers/iio/frequency/adrf6780.c +++ linux-gcp-5.19.0/drivers/iio/frequency/adrf6780.c @@ -86,7 +86,7 @@ bool uc_bias_en; bool lo_sideband; bool vdet_out_en; - u8 data[3] ____cacheline_aligned; + u8 data[3] __aligned(IIO_DMA_MINALIGN); }; static int __adrf6780_spi_read(struct adrf6780_state *st, unsigned int reg, --- linux-gcp-5.19.0.orig/drivers/iio/gyro/adis16080.c +++ linux-gcp-5.19.0/drivers/iio/gyro/adis16080.c @@ -45,7 +45,7 @@ const struct adis16080_chip_info *info; struct mutex lock; - __be16 buf ____cacheline_aligned; + __be16 buf __aligned(IIO_DMA_MINALIGN); }; static int adis16080_read_sample(struct iio_dev *indio_dev, --- linux-gcp-5.19.0.orig/drivers/iio/gyro/adis16130.c +++ linux-gcp-5.19.0/drivers/iio/gyro/adis16130.c @@ -41,7 +41,7 @@ struct adis16130_state { struct spi_device *us; struct mutex buf_lock; - u8 buf[4] ____cacheline_aligned; + u8 buf[4] __aligned(IIO_DMA_MINALIGN); }; static int adis16130_spi_read(struct iio_dev *indio_dev, u8 reg_addr, u32 *val) --- linux-gcp-5.19.0.orig/drivers/iio/gyro/adxrs450.c +++ linux-gcp-5.19.0/drivers/iio/gyro/adxrs450.c @@ -73,7 +73,7 @@ struct adxrs450_state { struct spi_device *us; struct mutex buf_lock; - __be32 tx ____cacheline_aligned; + __be32 tx __aligned(IIO_DMA_MINALIGN); __be32 rx; }; --- linux-gcp-5.19.0.orig/drivers/iio/gyro/fxas21002c_core.c +++ linux-gcp-5.19.0/drivers/iio/gyro/fxas21002c_core.c @@ -150,10 +150,10 @@ struct regulator *vddio; /* - * DMA (thus cache coherency maintenance) requires the - * transfer buffers to live in their own cache lines. + * DMA (thus cache coherency maintenance) may require the + * transfer buffers live in their own cache lines. */ - s16 buffer[8] ____cacheline_aligned; + s16 buffer[8] __aligned(IIO_DMA_MINALIGN); }; enum fxas21002c_channel_index { --- linux-gcp-5.19.0.orig/drivers/iio/gyro/hid-sensor-gyro-3d.c +++ linux-gcp-5.19.0/drivers/iio/gyro/hid-sensor-gyro-3d.c @@ -231,6 +231,7 @@ gyro_state->timestamp = hid_sensor_convert_timestamp(&gyro_state->common_attributes, *(s64 *)raw_data); + ret = 0; break; default: break; --- linux-gcp-5.19.0.orig/drivers/iio/health/afe4403.c +++ linux-gcp-5.19.0/drivers/iio/health/afe4403.c @@ -245,14 +245,14 @@ int *val, int *val2, long mask) { struct afe4403_data *afe = iio_priv(indio_dev); - unsigned int reg = afe4403_channel_values[chan->address]; - unsigned int field = afe4403_channel_leds[chan->address]; + unsigned int reg, field; int ret; switch (chan->type) { case IIO_INTENSITY: switch (mask) { case IIO_CHAN_INFO_RAW: + reg = afe4403_channel_values[chan->address]; ret = afe4403_read(afe, reg, val); if (ret) return ret; @@ -262,6 +262,7 @@ case IIO_CURRENT: switch (mask) { case IIO_CHAN_INFO_RAW: + field = afe4403_channel_leds[chan->address]; ret = regmap_field_read(afe->fields[field], val); if (ret) return ret; --- linux-gcp-5.19.0.orig/drivers/iio/health/afe4404.c +++ linux-gcp-5.19.0/drivers/iio/health/afe4404.c @@ -250,20 +250,20 @@ int *val, int *val2, long mask) { struct afe4404_data *afe = iio_priv(indio_dev); - unsigned int value_reg = afe4404_channel_values[chan->address]; - unsigned int led_field = afe4404_channel_leds[chan->address]; - unsigned int offdac_field = afe4404_channel_offdacs[chan->address]; + unsigned int value_reg, led_field, offdac_field; int ret; switch (chan->type) { case IIO_INTENSITY: switch (mask) { case IIO_CHAN_INFO_RAW: + value_reg = afe4404_channel_values[chan->address]; ret = regmap_read(afe->regmap, value_reg, val); if (ret) return ret; return IIO_VAL_INT; case IIO_CHAN_INFO_OFFSET: + offdac_field = afe4404_channel_offdacs[chan->address]; ret = regmap_field_read(afe->fields[offdac_field], val); if (ret) return ret; @@ -273,6 +273,7 @@ case IIO_CURRENT: switch (mask) { case IIO_CHAN_INFO_RAW: + led_field = afe4404_channel_leds[chan->address]; ret = regmap_field_read(afe->fields[led_field], val); if (ret) return ret; @@ -295,19 +296,20 @@ int val, int val2, long mask) { struct afe4404_data *afe = iio_priv(indio_dev); - unsigned int led_field = afe4404_channel_leds[chan->address]; - unsigned int offdac_field = afe4404_channel_offdacs[chan->address]; + unsigned int led_field, offdac_field; switch (chan->type) { case IIO_INTENSITY: switch (mask) { case IIO_CHAN_INFO_OFFSET: + offdac_field = afe4404_channel_offdacs[chan->address]; return regmap_field_write(afe->fields[offdac_field], val); } break; case IIO_CURRENT: switch (mask) { case IIO_CHAN_INFO_RAW: + led_field = afe4404_channel_leds[chan->address]; return regmap_field_write(afe->fields[led_field], val); } break; --- linux-gcp-5.19.0.orig/drivers/iio/imu/adis.c +++ linux-gcp-5.19.0/drivers/iio/imu/adis.c @@ -270,23 +270,19 @@ #endif /** - * adis_enable_irq() - Enable or disable data ready IRQ + * __adis_enable_irq() - Enable or disable data ready IRQ (unlocked) * @adis: The adis device * @enable: Whether to enable the IRQ * * Returns 0 on success, negative error code otherwise */ -int adis_enable_irq(struct adis *adis, bool enable) +int __adis_enable_irq(struct adis *adis, bool enable) { - int ret = 0; + int ret; u16 msc; - mutex_lock(&adis->state_lock); - - if (adis->data->enable_irq) { - ret = adis->data->enable_irq(adis, enable); - goto out_unlock; - } + if (adis->data->enable_irq) + return adis->data->enable_irq(adis, enable); if (adis->data->unmasked_drdy) { if (enable) @@ -294,12 +290,12 @@ else disable_irq(adis->spi->irq); - goto out_unlock; + return 0; } ret = __adis_read_reg_16(adis, adis->data->msc_ctrl_reg, &msc); if (ret) - goto out_unlock; + return ret; msc |= ADIS_MSC_CTRL_DATA_RDY_POL_HIGH; msc &= ~ADIS_MSC_CTRL_DATA_RDY_DIO2; @@ -308,13 +304,9 @@ else msc &= ~ADIS_MSC_CTRL_DATA_RDY_EN; - ret = __adis_write_reg_16(adis, adis->data->msc_ctrl_reg, msc); - -out_unlock: - mutex_unlock(&adis->state_lock); - return ret; + return __adis_write_reg_16(adis, adis->data->msc_ctrl_reg, msc); } -EXPORT_SYMBOL_NS(adis_enable_irq, IIO_ADISLIB); +EXPORT_SYMBOL_NS(__adis_enable_irq, IIO_ADISLIB); /** * __adis_check_status() - Check the device for error conditions (unlocked) @@ -445,7 +437,7 @@ * with 'IRQF_NO_AUTOEN' anyways. */ if (!adis->data->unmasked_drdy) - adis_enable_irq(adis, false); + __adis_enable_irq(adis, false); if (!adis->data->prod_id_reg) return 0; --- linux-gcp-5.19.0.orig/drivers/iio/imu/fxos8700_core.c +++ linux-gcp-5.19.0/drivers/iio/imu/fxos8700_core.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include @@ -144,9 +145,8 @@ #define FXOS8700_NVM_DATA_BNK0 0xa7 /* Bit definitions for FXOS8700_CTRL_REG1 */ -#define FXOS8700_CTRL_ODR_MSK 0x38 #define FXOS8700_CTRL_ODR_MAX 0x00 -#define FXOS8700_CTRL_ODR_MIN GENMASK(4, 3) +#define FXOS8700_CTRL_ODR_MSK GENMASK(5, 3) /* Bit definitions for FXOS8700_M_CTRL_REG1 */ #define FXOS8700_HMS_MASK GENMASK(1, 0) @@ -167,7 +167,7 @@ struct fxos8700_data { struct regmap *regmap; struct iio_trigger *trig; - __be16 buf[FXOS8700_DATA_BUF_SIZE] ____cacheline_aligned; + __be16 buf[FXOS8700_DATA_BUF_SIZE] __aligned(IIO_DMA_MINALIGN); }; /* Regmap info */ @@ -320,7 +320,7 @@ switch (iio_type) { case IIO_ACCEL: return FXOS8700_ACCEL; - case IIO_ANGL_VEL: + case IIO_MAGN: return FXOS8700_MAGN; default: return -EINVAL; @@ -345,15 +345,35 @@ static int fxos8700_set_scale(struct fxos8700_data *data, enum fxos8700_sensor t, int uscale) { - int i; + int i, ret, val; + bool active_mode; static const int scale_num = ARRAY_SIZE(fxos8700_accel_scale); struct device *dev = regmap_get_device(data->regmap); if (t == FXOS8700_MAGN) { - dev_err(dev, "Magnetometer scale is locked at 1200uT\n"); + dev_err(dev, "Magnetometer scale is locked at 0.001Gs\n"); return -EINVAL; } + /* + * When device is in active mode, it failed to set an ACCEL + * full-scale range(2g/4g/8g) in FXOS8700_XYZ_DATA_CFG. + * This is not align with the datasheet, but it is a fxos8700 + * chip behavier. Set the device in standby mode before setting + * an ACCEL full-scale range. + */ + ret = regmap_read(data->regmap, FXOS8700_CTRL_REG1, &val); + if (ret) + return ret; + + active_mode = val & FXOS8700_ACTIVE; + if (active_mode) { + ret = regmap_write(data->regmap, FXOS8700_CTRL_REG1, + val & ~FXOS8700_ACTIVE); + if (ret) + return ret; + } + for (i = 0; i < scale_num; i++) if (fxos8700_accel_scale[i].uscale == uscale) break; @@ -361,8 +381,12 @@ if (i == scale_num) return -EINVAL; - return regmap_write(data->regmap, FXOS8700_XYZ_DATA_CFG, + ret = regmap_write(data->regmap, FXOS8700_XYZ_DATA_CFG, fxos8700_accel_scale[i].bits); + if (ret) + return ret; + return regmap_write(data->regmap, FXOS8700_CTRL_REG1, + active_mode); } static int fxos8700_get_scale(struct fxos8700_data *data, @@ -372,7 +396,7 @@ static const int scale_num = ARRAY_SIZE(fxos8700_accel_scale); if (t == FXOS8700_MAGN) { - *uscale = 1200; /* Magnetometer is locked at 1200uT */ + *uscale = 1000; /* Magnetometer is locked at 0.001Gs */ return 0; } @@ -394,22 +418,61 @@ int axis, int *val) { u8 base, reg; + s16 tmp; int ret; - enum fxos8700_sensor type = fxos8700_to_sensor(chan_type); - base = type ? FXOS8700_OUT_X_MSB : FXOS8700_M_OUT_X_MSB; + /* + * Different register base addresses varies with channel types. + * This bug hasn't been noticed before because using an enum is + * really hard to read. Use an a switch statement to take over that. + */ + switch (chan_type) { + case IIO_ACCEL: + base = FXOS8700_OUT_X_MSB; + break; + case IIO_MAGN: + base = FXOS8700_M_OUT_X_MSB; + break; + default: + return -EINVAL; + } /* Block read 6 bytes of device output registers to avoid data loss */ ret = regmap_bulk_read(data->regmap, base, data->buf, - FXOS8700_DATA_BUF_SIZE); + sizeof(data->buf)); if (ret) return ret; /* Convert axis to buffer index */ reg = axis - IIO_MOD_X; + /* + * Convert to native endianness. The accel data and magn data + * are signed, so a forced type conversion is needed. + */ + tmp = be16_to_cpu(data->buf[reg]); + + /* + * ACCEL output data registers contain the X-axis, Y-axis, and Z-axis + * 14-bit left-justified sample data and MAGN output data registers + * contain the X-axis, Y-axis, and Z-axis 16-bit sample data. Apply + * a signed 2 bits right shift to the readback raw data from ACCEL + * output data register and keep that from MAGN sensor as the origin. + * Value should be extended to 32 bit. + */ + switch (chan_type) { + case IIO_ACCEL: + tmp = tmp >> 2; + break; + case IIO_MAGN: + /* Nothing to do */ + break; + default: + return -EINVAL; + } + /* Convert to native endianness */ - *val = sign_extend32(be16_to_cpu(data->buf[reg]), 15); + *val = sign_extend32(tmp, 15); return 0; } @@ -445,10 +508,9 @@ if (i >= odr_num) return -EINVAL; - return regmap_update_bits(data->regmap, - FXOS8700_CTRL_REG1, - FXOS8700_CTRL_ODR_MSK + FXOS8700_ACTIVE, - fxos8700_odr[i].bits << 3 | active_mode); + val &= ~FXOS8700_CTRL_ODR_MSK; + val |= FIELD_PREP(FXOS8700_CTRL_ODR_MSK, fxos8700_odr[i].bits) | FXOS8700_ACTIVE; + return regmap_write(data->regmap, FXOS8700_CTRL_REG1, val); } static int fxos8700_get_odr(struct fxos8700_data *data, enum fxos8700_sensor t, @@ -461,7 +523,7 @@ if (ret) return ret; - val &= FXOS8700_CTRL_ODR_MSK; + val = FIELD_GET(FXOS8700_CTRL_ODR_MSK, val); for (i = 0; i < odr_num; i++) if (val == fxos8700_odr[i].bits) @@ -526,7 +588,7 @@ static IIO_CONST_ATTR(in_magn_sampling_frequency_available, "1.5625 6.25 12.5 50 100 200 400 800"); static IIO_CONST_ATTR(in_accel_scale_available, "0.000244 0.000488 0.000976"); -static IIO_CONST_ATTR(in_magn_scale_available, "0.000001200"); +static IIO_CONST_ATTR(in_magn_scale_available, "0.001000"); static struct attribute *fxos8700_attrs[] = { &iio_const_attr_in_accel_sampling_frequency_available.dev_attr.attr, @@ -592,14 +654,19 @@ if (ret) return ret; - /* Max ODR (800Hz individual or 400Hz hybrid), active mode */ - ret = regmap_write(data->regmap, FXOS8700_CTRL_REG1, - FXOS8700_CTRL_ODR_MAX | FXOS8700_ACTIVE); + /* + * Set max full-scale range (+/-8G) for ACCEL sensor in chip + * initialization then activate the device. + */ + ret = regmap_write(data->regmap, FXOS8700_XYZ_DATA_CFG, MODE_8G); if (ret) return ret; - /* Set for max full-scale range (+/-8G) */ - return regmap_write(data->regmap, FXOS8700_XYZ_DATA_CFG, MODE_8G); + /* Max ODR (800Hz individual or 400Hz hybrid), active mode */ + return regmap_update_bits(data->regmap, FXOS8700_CTRL_REG1, + FXOS8700_CTRL_ODR_MSK | FXOS8700_ACTIVE, + FIELD_PREP(FXOS8700_CTRL_ODR_MSK, FXOS8700_CTRL_ODR_MAX) | + FXOS8700_ACTIVE); } static void fxos8700_chip_uninit(void *data) --- linux-gcp-5.19.0.orig/drivers/iio/imu/inv_icm42600/inv_icm42600.h +++ linux-gcp-5.19.0/drivers/iio/imu/inv_icm42600/inv_icm42600.h @@ -141,7 +141,7 @@ struct inv_icm42600_suspended suspended; struct iio_dev *indio_gyro; struct iio_dev *indio_accel; - uint8_t buffer[2] ____cacheline_aligned; + uint8_t buffer[2] __aligned(IIO_DMA_MINALIGN); struct inv_icm42600_fifo fifo; struct { int64_t gyro; --- linux-gcp-5.19.0.orig/drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.h +++ linux-gcp-5.19.0/drivers/iio/imu/inv_icm42600/inv_icm42600_buffer.h @@ -39,7 +39,7 @@ size_t accel; size_t total; } nb; - uint8_t data[2080] ____cacheline_aligned; + uint8_t data[2080] __aligned(IIO_DMA_MINALIGN); }; /* FIFO data packet */ --- linux-gcp-5.19.0.orig/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h +++ linux-gcp-5.19.0/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h @@ -204,7 +204,7 @@ s32 magn_raw_to_gauss[3]; struct iio_mount_matrix magn_orient; unsigned int suspended_sensors; - u8 data[INV_MPU6050_OUTPUT_DATA_SIZE] ____cacheline_aligned; + u8 data[INV_MPU6050_OUTPUT_DATA_SIZE] __aligned(IIO_DMA_MINALIGN); }; /*register and associated bit definition*/ --- linux-gcp-5.19.0.orig/drivers/iio/industrialio-core.c +++ linux-gcp-5.19.0/drivers/iio/industrialio-core.c @@ -835,7 +835,23 @@ static ssize_t iio_format_avail_range(char *buf, const int *vals, int type) { - return iio_format_list(buf, vals, type, 3, "[", "]"); + int length; + + /* + * length refers to the array size , not the number of elements. + * The purpose is to print the range [min , step ,max] so length should + * be 3 in case of int, and 6 for other types. + */ + switch (type) { + case IIO_VAL_INT: + length = 3; + break; + default: + length = 6; + break; + } + + return iio_format_list(buf, vals, type, length, "[", "]"); } static ssize_t iio_read_channel_info_avail(struct device *dev, @@ -1631,6 +1647,8 @@ iio_device_detach_buffers(indio_dev); + lockdep_unregister_key(&iio_dev_opaque->mlock_key); + ida_simple_remove(&iio_ida, iio_dev_opaque->id); kfree(iio_dev_opaque); } @@ -1653,7 +1671,7 @@ alloc_size = sizeof(struct iio_dev_opaque); if (sizeof_priv) { - alloc_size = ALIGN(alloc_size, IIO_ALIGN); + alloc_size = ALIGN(alloc_size, IIO_DMA_MINALIGN); alloc_size += sizeof_priv; } @@ -1663,7 +1681,7 @@ indio_dev = &iio_dev_opaque->indio_dev; indio_dev->priv = (char *)iio_dev_opaque + - ALIGN(sizeof(struct iio_dev_opaque), IIO_ALIGN); + ALIGN(sizeof(struct iio_dev_opaque), IIO_DMA_MINALIGN); indio_dev->dev.parent = parent; indio_dev->dev.type = &iio_device_type; @@ -1690,6 +1708,9 @@ INIT_LIST_HEAD(&iio_dev_opaque->buffer_list); INIT_LIST_HEAD(&iio_dev_opaque->ioctl_handlers); + lockdep_register_key(&iio_dev_opaque->mlock_key); + lockdep_set_class(&indio_dev->mlock, &iio_dev_opaque->mlock_key); + return indio_dev; } EXPORT_SYMBOL(iio_device_alloc); --- linux-gcp-5.19.0.orig/drivers/iio/industrialio-event.c +++ linux-gcp-5.19.0/drivers/iio/industrialio-event.c @@ -550,7 +550,7 @@ ret = iio_device_register_sysfs_group(indio_dev, &ev_int->group); if (ret) - goto error_free_setup_event_lines; + goto error_free_group_attrs; ev_int->ioctl_handler.ioctl = iio_event_ioctl; iio_device_ioctl_handler_register(&iio_dev_opaque->indio_dev, @@ -558,6 +558,8 @@ return 0; +error_free_group_attrs: + kfree(ev_int->group.attrs); error_free_setup_event_lines: iio_free_chan_devattr_list(&ev_int->dev_attr_list); kfree(ev_int); --- linux-gcp-5.19.0.orig/drivers/iio/industrialio-sw-trigger.c +++ linux-gcp-5.19.0/drivers/iio/industrialio-sw-trigger.c @@ -58,8 +58,12 @@ t->group = configfs_register_default_group(iio_triggers_group, t->name, &iio_trigger_type_group_type); - if (IS_ERR(t->group)) + if (IS_ERR(t->group)) { + mutex_lock(&iio_trigger_types_lock); + list_del(&t->list); + mutex_unlock(&iio_trigger_types_lock); ret = PTR_ERR(t->group); + } return ret; } --- linux-gcp-5.19.0.orig/drivers/iio/inkern.c +++ linux-gcp-5.19.0/drivers/iio/inkern.c @@ -165,9 +165,10 @@ idev = bus_find_device(&iio_bus_type, NULL, iiospec.np, iio_dev_node_match); - of_node_put(iiospec.np); - if (idev == NULL) + if (idev == NULL) { + of_node_put(iiospec.np); return -EPROBE_DEFER; + } indio_dev = dev_to_iio_dev(idev); channel->indio_dev = indio_dev; @@ -175,6 +176,7 @@ index = indio_dev->info->of_xlate(indio_dev, &iiospec); else index = __of_iio_simple_xlate(indio_dev, &iiospec); + of_node_put(iiospec.np); if (index < 0) goto err_put; channel->channel = &indio_dev->channels[index]; @@ -410,6 +412,8 @@ channel = of_iio_channel_get_by_name(np, channel_name); if (IS_ERR(channel)) return channel; + if (!channel) + return ERR_PTR(-ENODEV); ret = devm_add_action_or_reset(dev, devm_iio_channel_free, channel); if (ret) --- linux-gcp-5.19.0.orig/drivers/iio/light/Kconfig +++ linux-gcp-5.19.0/drivers/iio/light/Kconfig @@ -293,6 +293,8 @@ tristate "ROHM RPR0521 ALS and proximity sensor driver" depends on I2C select REGMAP_I2C + select IIO_BUFFER + select IIO_TRIGGERED_BUFFER help Say Y here if you want to build support for ROHM's RPR0521 ambient light and proximity sensor device. --- linux-gcp-5.19.0.orig/drivers/iio/light/apds9960.c +++ linux-gcp-5.19.0/drivers/iio/light/apds9960.c @@ -54,9 +54,6 @@ #define APDS9960_REG_CONTROL_PGAIN_MASK_SHIFT 2 #define APDS9960_REG_CONFIG_2 0x90 -#define APDS9960_REG_CONFIG_2_GGAIN_MASK 0x60 -#define APDS9960_REG_CONFIG_2_GGAIN_MASK_SHIFT 5 - #define APDS9960_REG_ID 0x92 #define APDS9960_REG_STATUS 0x93 @@ -77,6 +74,9 @@ #define APDS9960_REG_GCONF_1_GFIFO_THRES_MASK_SHIFT 6 #define APDS9960_REG_GCONF_2 0xa3 +#define APDS9960_REG_GCONF_2_GGAIN_MASK 0x60 +#define APDS9960_REG_GCONF_2_GGAIN_MASK_SHIFT 5 + #define APDS9960_REG_GOFFSET_U 0xa4 #define APDS9960_REG_GOFFSET_D 0xa5 #define APDS9960_REG_GPULSE 0xa6 @@ -396,9 +396,9 @@ } ret = regmap_update_bits(data->regmap, - APDS9960_REG_CONFIG_2, - APDS9960_REG_CONFIG_2_GGAIN_MASK, - idx << APDS9960_REG_CONFIG_2_GGAIN_MASK_SHIFT); + APDS9960_REG_GCONF_2, + APDS9960_REG_GCONF_2_GGAIN_MASK, + idx << APDS9960_REG_GCONF_2_GGAIN_MASK_SHIFT); if (!ret) data->pxs_gain = idx; mutex_unlock(&data->lock); --- linux-gcp-5.19.0.orig/drivers/iio/light/cm32181.c +++ linux-gcp-5.19.0/drivers/iio/light/cm32181.c @@ -440,6 +440,8 @@ if (!indio_dev) return -ENOMEM; + i2c_set_clientdata(client, indio_dev); + /* * Some ACPI systems list 2 I2C resources for the CM3218 sensor, the * SMBus Alert Response Address (ARA, 0x0c) and the actual I2C address. @@ -486,6 +488,26 @@ return 0; } +static int cm32181_suspend(struct device *dev) +{ + struct cm32181_chip *cm32181 = iio_priv(dev_get_drvdata(dev)); + struct i2c_client *client = cm32181->client; + + return i2c_smbus_write_word_data(client, CM32181_REG_ADDR_CMD, + CM32181_CMD_ALS_DISABLE); +} + +static int cm32181_resume(struct device *dev) +{ + struct cm32181_chip *cm32181 = iio_priv(dev_get_drvdata(dev)); + struct i2c_client *client = cm32181->client; + + return i2c_smbus_write_word_data(client, CM32181_REG_ADDR_CMD, + cm32181->conf_regs[CM32181_REG_ADDR_CMD]); +} + +DEFINE_SIMPLE_DEV_PM_OPS(cm32181_pm_ops, cm32181_suspend, cm32181_resume); + static const struct of_device_id cm32181_of_match[] = { { .compatible = "capella,cm3218" }, { .compatible = "capella,cm32181" }, @@ -506,6 +528,7 @@ .name = "cm32181", .acpi_match_table = ACPI_PTR(cm32181_acpi_match), .of_match_table = cm32181_of_match, + .pm = pm_sleep_ptr(&cm32181_pm_ops), }, .probe_new = cm32181_probe, }; --- linux-gcp-5.19.0.orig/drivers/iio/light/cm3605.c +++ linux-gcp-5.19.0/drivers/iio/light/cm3605.c @@ -226,8 +226,10 @@ } irq = platform_get_irq(pdev, 0); - if (irq < 0) - return dev_err_probe(dev, irq, "failed to get irq\n"); + if (irq < 0) { + ret = dev_err_probe(dev, irq, "failed to get irq\n"); + goto out_disable_aset; + } ret = devm_request_threaded_irq(dev, irq, cm3605_prox_irq, NULL, 0, "cm3605", indio_dev); --- linux-gcp-5.19.0.orig/drivers/iio/light/cros_ec_light_prox.c +++ linux-gcp-5.19.0/drivers/iio/light/cros_ec_light_prox.c @@ -181,8 +181,7 @@ return -ENOMEM; ret = cros_ec_sensors_core_init(pdev, indio_dev, true, - cros_ec_sensors_capture, - cros_ec_sensors_push_data); + cros_ec_sensors_capture); if (ret) return ret; @@ -240,7 +239,8 @@ state->core.read_ec_sensors_data = cros_ec_sensors_read_cmd; - return devm_iio_device_register(dev, indio_dev); + return cros_ec_sensors_core_register(dev, indio_dev, + cros_ec_sensors_push_data); } static const struct platform_device_id cros_ec_light_prox_ids[] = { --- linux-gcp-5.19.0.orig/drivers/iio/light/isl29028.c +++ linux-gcp-5.19.0/drivers/iio/light/isl29028.c @@ -625,7 +625,7 @@ ISL29028_POWER_OFF_DELAY_MS); pm_runtime_use_autosuspend(&client->dev); - ret = devm_iio_device_register(indio_dev->dev.parent, indio_dev); + ret = iio_device_register(indio_dev); if (ret < 0) { dev_err(&client->dev, "%s(): iio registration failed with error %d\n", --- linux-gcp-5.19.0.orig/drivers/iio/light/tsl2563.c +++ linux-gcp-5.19.0/drivers/iio/light/tsl2563.c @@ -705,6 +705,7 @@ struct iio_dev *indio_dev; struct tsl2563_chip *chip; struct tsl2563_platform_data *pdata = client->dev.platform_data; + unsigned long irq_flags; int err = 0; u8 id = 0; @@ -760,10 +761,15 @@ indio_dev->info = &tsl2563_info_no_irq; if (client->irq) { + irq_flags = irq_get_trigger_type(client->irq); + if (irq_flags == IRQF_TRIGGER_NONE) + irq_flags = IRQF_TRIGGER_RISING; + irq_flags |= IRQF_ONESHOT; + err = devm_request_threaded_irq(&client->dev, client->irq, NULL, &tsl2563_event_handler, - IRQF_TRIGGER_RISING | IRQF_ONESHOT, + irq_flags, "tsl2563_event", indio_dev); if (err) { --- linux-gcp-5.19.0.orig/drivers/iio/light/tsl2583.c +++ linux-gcp-5.19.0/drivers/iio/light/tsl2583.c @@ -858,7 +858,7 @@ TSL2583_POWER_OFF_DELAY_MS); pm_runtime_use_autosuspend(&clientp->dev); - ret = devm_iio_device_register(indio_dev->dev.parent, indio_dev); + ret = iio_device_register(indio_dev); if (ret) { dev_err(&clientp->dev, "%s: iio registration failed\n", __func__); --- linux-gcp-5.19.0.orig/drivers/iio/magnetometer/yamaha-yas530.c +++ linux-gcp-5.19.0/drivers/iio/magnetometer/yamaha-yas530.c @@ -132,7 +132,7 @@ unsigned int version; char name[16]; struct yas5xx_calibration calibration; - u8 hard_offsets[3]; + s8 hard_offsets[3]; struct iio_mount_matrix orientation; struct regmap *map; struct regulator_bulk_data regs[2]; --- linux-gcp-5.19.0.orig/drivers/iio/potentiometer/ad5110.c +++ linux-gcp-5.19.0/drivers/iio/potentiometer/ad5110.c @@ -63,10 +63,10 @@ struct mutex lock; const struct ad5110_cfg *cfg; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. */ - u8 buf[2] ____cacheline_aligned; + u8 buf[2] __aligned(IIO_DMA_MINALIGN); }; static const struct iio_chan_spec ad5110_channels[] = { --- linux-gcp-5.19.0.orig/drivers/iio/potentiometer/ad5272.c +++ linux-gcp-5.19.0/drivers/iio/potentiometer/ad5272.c @@ -50,7 +50,7 @@ struct i2c_client *client; struct mutex lock; const struct ad5272_cfg *cfg; - u8 buf[2] ____cacheline_aligned; + u8 buf[2] __aligned(IIO_DMA_MINALIGN); }; static const struct iio_chan_spec ad5272_channel = { --- linux-gcp-5.19.0.orig/drivers/iio/potentiometer/max5481.c +++ linux-gcp-5.19.0/drivers/iio/potentiometer/max5481.c @@ -44,7 +44,7 @@ struct max5481_data { struct spi_device *spi; const struct max5481_cfg *cfg; - u8 msg[3] ____cacheline_aligned; + u8 msg[3] __aligned(IIO_DMA_MINALIGN); }; #define MAX5481_CHANNEL { \ --- linux-gcp-5.19.0.orig/drivers/iio/potentiometer/mcp41010.c +++ linux-gcp-5.19.0/drivers/iio/potentiometer/mcp41010.c @@ -60,7 +60,7 @@ const struct mcp41010_cfg *cfg; struct mutex lock; /* Protect write sequences */ unsigned int value[MCP41010_MAX_WIPERS]; /* Cache wiper values */ - u8 buf[2] ____cacheline_aligned; + u8 buf[2] __aligned(IIO_DMA_MINALIGN); }; #define MCP41010_CHANNEL(ch) { \ --- linux-gcp-5.19.0.orig/drivers/iio/potentiometer/mcp4131.c +++ linux-gcp-5.19.0/drivers/iio/potentiometer/mcp4131.c @@ -129,7 +129,7 @@ struct spi_device *spi; const struct mcp4131_cfg *cfg; struct mutex lock; - u8 buf[2] ____cacheline_aligned; + u8 buf[2] __aligned(IIO_DMA_MINALIGN); }; #define MCP4131_CHANNEL(ch) { \ --- linux-gcp-5.19.0.orig/drivers/iio/pressure/cros_ec_baro.c +++ linux-gcp-5.19.0/drivers/iio/pressure/cros_ec_baro.c @@ -138,8 +138,7 @@ return -ENOMEM; ret = cros_ec_sensors_core_init(pdev, indio_dev, true, - cros_ec_sensors_capture, - cros_ec_sensors_push_data); + cros_ec_sensors_capture); if (ret) return ret; @@ -186,7 +185,8 @@ state->core.read_ec_sensors_data = cros_ec_sensors_read_cmd; - return devm_iio_device_register(dev, indio_dev); + return cros_ec_sensors_core_register(dev, indio_dev, + cros_ec_sensors_push_data); } static const struct platform_device_id cros_ec_baro_ids[] = { --- linux-gcp-5.19.0.orig/drivers/iio/pressure/dps310.c +++ linux-gcp-5.19.0/drivers/iio/pressure/dps310.c @@ -89,6 +89,7 @@ s32 c00, c10, c20, c30, c01, c11, c21; s32 pressure_raw; s32 temp_raw; + bool timeout_recovery_failed; }; static const struct iio_chan_spec dps310_channels[] = { @@ -159,6 +160,102 @@ return 0; } +/* + * Some versions of the chip will read temperatures in the ~60C range when + * it's actually ~20C. This is the manufacturer recommended workaround + * to correct the issue. The registers used below are undocumented. + */ +static int dps310_temp_workaround(struct dps310_data *data) +{ + int rc; + int reg; + + rc = regmap_read(data->regmap, 0x32, ®); + if (rc) + return rc; + + /* + * If bit 1 is set then the device is okay, and the workaround does not + * need to be applied + */ + if (reg & BIT(1)) + return 0; + + rc = regmap_write(data->regmap, 0x0e, 0xA5); + if (rc) + return rc; + + rc = regmap_write(data->regmap, 0x0f, 0x96); + if (rc) + return rc; + + rc = regmap_write(data->regmap, 0x62, 0x02); + if (rc) + return rc; + + rc = regmap_write(data->regmap, 0x0e, 0x00); + if (rc) + return rc; + + return regmap_write(data->regmap, 0x0f, 0x00); +} + +static int dps310_startup(struct dps310_data *data) +{ + int rc; + int ready; + + /* + * Set up pressure sensor in single sample, one measurement per second + * mode + */ + rc = regmap_write(data->regmap, DPS310_PRS_CFG, 0); + if (rc) + return rc; + + /* + * Set up external (MEMS) temperature sensor in single sample, one + * measurement per second mode + */ + rc = regmap_write(data->regmap, DPS310_TMP_CFG, DPS310_TMP_EXT); + if (rc) + return rc; + + /* Temp and pressure shifts are disabled when PRC <= 8 */ + rc = regmap_write_bits(data->regmap, DPS310_CFG_REG, + DPS310_PRS_SHIFT_EN | DPS310_TMP_SHIFT_EN, 0); + if (rc) + return rc; + + /* MEAS_CFG doesn't update correctly unless first written with 0 */ + rc = regmap_write_bits(data->regmap, DPS310_MEAS_CFG, + DPS310_MEAS_CTRL_BITS, 0); + if (rc) + return rc; + + /* Turn on temperature and pressure measurement in the background */ + rc = regmap_write_bits(data->regmap, DPS310_MEAS_CFG, + DPS310_MEAS_CTRL_BITS, DPS310_PRS_EN | + DPS310_TEMP_EN | DPS310_BACKGROUND); + if (rc) + return rc; + + /* + * Calibration coefficients required for reporting temperature. + * They are available 40ms after the device has started + */ + rc = regmap_read_poll_timeout(data->regmap, DPS310_MEAS_CFG, ready, + ready & DPS310_COEF_RDY, 10000, 40000); + if (rc) + return rc; + + rc = dps310_get_coefs(data); + if (rc) + return rc; + + return dps310_temp_workaround(data); +} + static int dps310_get_pres_precision(struct dps310_data *data) { int rc; @@ -297,11 +394,69 @@ return scale_factors[ilog2(rc)]; } +static int dps310_reset_wait(struct dps310_data *data) +{ + int rc; + + rc = regmap_write(data->regmap, DPS310_RESET, DPS310_RESET_MAGIC); + if (rc) + return rc; + + /* Wait for device chip access: 2.5ms in specification */ + usleep_range(2500, 12000); + return 0; +} + +static int dps310_reset_reinit(struct dps310_data *data) +{ + int rc; + + rc = dps310_reset_wait(data); + if (rc) + return rc; + + return dps310_startup(data); +} + +static int dps310_ready_status(struct dps310_data *data, int ready_bit, int timeout) +{ + int sleep = DPS310_POLL_SLEEP_US(timeout); + int ready; + + return regmap_read_poll_timeout(data->regmap, DPS310_MEAS_CFG, ready, ready & ready_bit, + sleep, timeout); +} + +static int dps310_ready(struct dps310_data *data, int ready_bit, int timeout) +{ + int rc; + + rc = dps310_ready_status(data, ready_bit, timeout); + if (rc) { + if (rc == -ETIMEDOUT && !data->timeout_recovery_failed) { + /* Reset and reinitialize the chip. */ + if (dps310_reset_reinit(data)) { + data->timeout_recovery_failed = true; + } else { + /* Try again to get sensor ready status. */ + if (dps310_ready_status(data, ready_bit, timeout)) + data->timeout_recovery_failed = true; + else + return 0; + } + } + + return rc; + } + + data->timeout_recovery_failed = false; + return 0; +} + static int dps310_read_pres_raw(struct dps310_data *data) { int rc; int rate; - int ready; int timeout; s32 raw; u8 val[3]; @@ -313,9 +468,7 @@ timeout = DPS310_POLL_TIMEOUT_US(rate); /* Poll for sensor readiness; base the timeout upon the sample rate. */ - rc = regmap_read_poll_timeout(data->regmap, DPS310_MEAS_CFG, ready, - ready & DPS310_PRS_RDY, - DPS310_POLL_SLEEP_US(timeout), timeout); + rc = dps310_ready(data, DPS310_PRS_RDY, timeout); if (rc) goto done; @@ -352,7 +505,6 @@ { int rc; int rate; - int ready; int timeout; if (mutex_lock_interruptible(&data->lock)) @@ -362,10 +514,8 @@ timeout = DPS310_POLL_TIMEOUT_US(rate); /* Poll for sensor readiness; base the timeout upon the sample rate. */ - rc = regmap_read_poll_timeout(data->regmap, DPS310_MEAS_CFG, ready, - ready & DPS310_TMP_RDY, - DPS310_POLL_SLEEP_US(timeout), timeout); - if (rc < 0) + rc = dps310_ready(data, DPS310_TMP_RDY, timeout); + if (rc) goto done; rc = dps310_read_temp_ready(data); @@ -660,7 +810,7 @@ { struct dps310_data *data = action_data; - regmap_write(data->regmap, DPS310_RESET, DPS310_RESET_MAGIC); + dps310_reset_wait(data); } static const struct regmap_config dps310_regmap_config = { @@ -677,52 +827,12 @@ .write_raw = dps310_write_raw, }; -/* - * Some verions of chip will read temperatures in the ~60C range when - * its actually ~20C. This is the manufacturer recommended workaround - * to correct the issue. The registers used below are undocumented. - */ -static int dps310_temp_workaround(struct dps310_data *data) -{ - int rc; - int reg; - - rc = regmap_read(data->regmap, 0x32, ®); - if (rc < 0) - return rc; - - /* - * If bit 1 is set then the device is okay, and the workaround does not - * need to be applied - */ - if (reg & BIT(1)) - return 0; - - rc = regmap_write(data->regmap, 0x0e, 0xA5); - if (rc < 0) - return rc; - - rc = regmap_write(data->regmap, 0x0f, 0x96); - if (rc < 0) - return rc; - - rc = regmap_write(data->regmap, 0x62, 0x02); - if (rc < 0) - return rc; - - rc = regmap_write(data->regmap, 0x0e, 0x00); - if (rc < 0) - return rc; - - return regmap_write(data->regmap, 0x0f, 0x00); -} - static int dps310_probe(struct i2c_client *client, const struct i2c_device_id *id) { struct dps310_data *data; struct iio_dev *iio; - int rc, ready; + int rc; iio = devm_iio_device_alloc(&client->dev, sizeof(*data)); if (!iio) @@ -747,54 +857,8 @@ if (rc) return rc; - /* - * Set up pressure sensor in single sample, one measurement per second - * mode - */ - rc = regmap_write(data->regmap, DPS310_PRS_CFG, 0); - - /* - * Set up external (MEMS) temperature sensor in single sample, one - * measurement per second mode - */ - rc = regmap_write(data->regmap, DPS310_TMP_CFG, DPS310_TMP_EXT); - if (rc < 0) - return rc; - - /* Temp and pressure shifts are disabled when PRC <= 8 */ - rc = regmap_write_bits(data->regmap, DPS310_CFG_REG, - DPS310_PRS_SHIFT_EN | DPS310_TMP_SHIFT_EN, 0); - if (rc < 0) - return rc; - - /* MEAS_CFG doesn't update correctly unless first written with 0 */ - rc = regmap_write_bits(data->regmap, DPS310_MEAS_CFG, - DPS310_MEAS_CTRL_BITS, 0); - if (rc < 0) - return rc; - - /* Turn on temperature and pressure measurement in the background */ - rc = regmap_write_bits(data->regmap, DPS310_MEAS_CFG, - DPS310_MEAS_CTRL_BITS, DPS310_PRS_EN | - DPS310_TEMP_EN | DPS310_BACKGROUND); - if (rc < 0) - return rc; - - /* - * Calibration coefficients required for reporting temperature. - * They are available 40ms after the device has started - */ - rc = regmap_read_poll_timeout(data->regmap, DPS310_MEAS_CFG, ready, - ready & DPS310_COEF_RDY, 10000, 40000); - if (rc < 0) - return rc; - - rc = dps310_get_coefs(data); - if (rc < 0) - return rc; - - rc = dps310_temp_workaround(data); - if (rc < 0) + rc = dps310_startup(data); + if (rc) return rc; rc = devm_iio_device_register(&client->dev, iio); --- linux-gcp-5.19.0.orig/drivers/iio/pressure/ms5611.h +++ linux-gcp-5.19.0/drivers/iio/pressure/ms5611.h @@ -25,13 +25,6 @@ MS5607, }; -struct ms5611_chip_info { - u16 prom[MS5611_PROM_WORDS_NB]; - - int (*temp_and_pressure_compensate)(struct ms5611_chip_info *chip_info, - s32 *temp, s32 *pressure); -}; - /* * OverSampling Rate descriptor. * Warning: cmd MUST be kept aligned on a word boundary (see @@ -50,12 +43,15 @@ const struct ms5611_osr *pressure_osr; const struct ms5611_osr *temp_osr; + u16 prom[MS5611_PROM_WORDS_NB]; + int (*reset)(struct ms5611_state *st); int (*read_prom_word)(struct ms5611_state *st, int index, u16 *word); int (*read_adc_temp_and_pressure)(struct ms5611_state *st, s32 *temp, s32 *pressure); - struct ms5611_chip_info *chip_info; + int (*compensate_temp_and_pressure)(struct ms5611_state *st, s32 *temp, + s32 *pressure); struct regulator *vdd; }; --- linux-gcp-5.19.0.orig/drivers/iio/pressure/ms5611_core.c +++ linux-gcp-5.19.0/drivers/iio/pressure/ms5611_core.c @@ -85,7 +85,7 @@ struct ms5611_state *st = iio_priv(indio_dev); for (i = 0; i < MS5611_PROM_WORDS_NB; i++) { - ret = st->read_prom_word(st, i, &st->chip_info->prom[i]); + ret = st->read_prom_word(st, i, &st->prom[i]); if (ret < 0) { dev_err(&indio_dev->dev, "failed to read prom at %d\n", i); @@ -93,7 +93,7 @@ } } - if (!ms5611_prom_is_valid(st->chip_info->prom, MS5611_PROM_WORDS_NB)) { + if (!ms5611_prom_is_valid(st->prom, MS5611_PROM_WORDS_NB)) { dev_err(&indio_dev->dev, "PROM integrity check failed\n"); return -ENODEV; } @@ -114,21 +114,20 @@ return ret; } - return st->chip_info->temp_and_pressure_compensate(st->chip_info, - temp, pressure); + return st->compensate_temp_and_pressure(st, temp, pressure); } -static int ms5611_temp_and_pressure_compensate(struct ms5611_chip_info *chip_info, +static int ms5611_temp_and_pressure_compensate(struct ms5611_state *st, s32 *temp, s32 *pressure) { s32 t = *temp, p = *pressure; s64 off, sens, dt; - dt = t - (chip_info->prom[5] << 8); - off = ((s64)chip_info->prom[2] << 16) + ((chip_info->prom[4] * dt) >> 7); - sens = ((s64)chip_info->prom[1] << 15) + ((chip_info->prom[3] * dt) >> 8); + dt = t - (st->prom[5] << 8); + off = ((s64)st->prom[2] << 16) + ((st->prom[4] * dt) >> 7); + sens = ((s64)st->prom[1] << 15) + ((st->prom[3] * dt) >> 8); - t = 2000 + ((chip_info->prom[6] * dt) >> 23); + t = 2000 + ((st->prom[6] * dt) >> 23); if (t < 2000) { s64 off2, sens2, t2; @@ -154,17 +153,17 @@ return 0; } -static int ms5607_temp_and_pressure_compensate(struct ms5611_chip_info *chip_info, +static int ms5607_temp_and_pressure_compensate(struct ms5611_state *st, s32 *temp, s32 *pressure) { s32 t = *temp, p = *pressure; s64 off, sens, dt; - dt = t - (chip_info->prom[5] << 8); - off = ((s64)chip_info->prom[2] << 17) + ((chip_info->prom[4] * dt) >> 6); - sens = ((s64)chip_info->prom[1] << 16) + ((chip_info->prom[3] * dt) >> 7); + dt = t - (st->prom[5] << 8); + off = ((s64)st->prom[2] << 17) + ((st->prom[4] * dt) >> 6); + sens = ((s64)st->prom[1] << 16) + ((st->prom[3] * dt) >> 7); - t = 2000 + ((chip_info->prom[6] * dt) >> 23); + t = 2000 + ((st->prom[6] * dt) >> 23); if (t < 2000) { s64 off2, sens2, t2, tmp; @@ -342,15 +341,6 @@ static const unsigned long ms5611_scan_masks[] = {0x3, 0}; -static struct ms5611_chip_info chip_info_tbl[] = { - [MS5611] = { - .temp_and_pressure_compensate = ms5611_temp_and_pressure_compensate, - }, - [MS5607] = { - .temp_and_pressure_compensate = ms5607_temp_and_pressure_compensate, - } -}; - static const struct iio_chan_spec ms5611_channels[] = { { .type = IIO_PRESSURE, @@ -433,7 +423,20 @@ struct ms5611_state *st = iio_priv(indio_dev); mutex_init(&st->lock); - st->chip_info = &chip_info_tbl[type]; + + switch (type) { + case MS5611: + st->compensate_temp_and_pressure = + ms5611_temp_and_pressure_compensate; + break; + case MS5607: + st->compensate_temp_and_pressure = + ms5607_temp_and_pressure_compensate; + break; + default: + return -EINVAL; + } + st->temp_osr = &ms5611_avail_temp_osr[ARRAY_SIZE(ms5611_avail_temp_osr) - 1]; st->pressure_osr = --- linux-gcp-5.19.0.orig/drivers/iio/pressure/ms5611_spi.c +++ linux-gcp-5.19.0/drivers/iio/pressure/ms5611_spi.c @@ -91,7 +91,7 @@ spi_set_drvdata(spi, indio_dev); spi->mode = SPI_MODE_0; - spi->max_speed_hz = 20000000; + spi->max_speed_hz = min(spi->max_speed_hz, 20000000U); spi->bits_per_word = 8; ret = spi_setup(spi); if (ret < 0) --- linux-gcp-5.19.0.orig/drivers/iio/proximity/as3935.c +++ linux-gcp-5.19.0/drivers/iio/proximity/as3935.c @@ -65,7 +65,7 @@ u8 chan; s64 timestamp __aligned(8); } scan; - u8 buf[2] ____cacheline_aligned; + u8 buf[2] __aligned(IIO_DMA_MINALIGN); }; static const struct iio_chan_spec as3935_channels[] = { --- linux-gcp-5.19.0.orig/drivers/iio/proximity/sx9324.c +++ linux-gcp-5.19.0/drivers/iio/proximity/sx9324.c @@ -93,7 +93,7 @@ #define SX9324_REG_PROX_CTRL4_AVGNEGFILT_MASK GENMASK(5, 3) #define SX9324_REG_PROX_CTRL4_AVGNEG_FILT_2 0x08 #define SX9324_REG_PROX_CTRL4_AVGPOSFILT_MASK GENMASK(2, 0) -#define SX9324_REG_PROX_CTRL3_AVGPOS_FILT_256 0x04 +#define SX9324_REG_PROX_CTRL4_AVGPOS_FILT_256 0x04 #define SX9324_REG_PROX_CTRL5 0x35 #define SX9324_REG_PROX_CTRL5_HYST_MASK GENMASK(5, 4) #define SX9324_REG_PROX_CTRL5_CLOSE_DEBOUNCE_MASK GENMASK(3, 2) @@ -810,7 +810,7 @@ { SX9324_REG_PROX_CTRL3, SX9324_REG_PROX_CTRL3_AVGDEB_2SAMPLES | SX9324_REG_PROX_CTRL3_AVGPOS_THRESH_16K }, { SX9324_REG_PROX_CTRL4, SX9324_REG_PROX_CTRL4_AVGNEG_FILT_2 | - SX9324_REG_PROX_CTRL3_AVGPOS_FILT_256 }, + SX9324_REG_PROX_CTRL4_AVGPOS_FILT_256 }, { SX9324_REG_PROX_CTRL5, 0x00 }, { SX9324_REG_PROX_CTRL6, SX9324_REG_PROX_CTRL6_PROXTHRESH_32 }, { SX9324_REG_PROX_CTRL7, SX9324_REG_PROX_CTRL6_PROXTHRESH_32 }, --- linux-gcp-5.19.0.orig/drivers/iio/resolver/ad2s1200.c +++ linux-gcp-5.19.0/drivers/iio/resolver/ad2s1200.c @@ -41,7 +41,7 @@ struct spi_device *sdev; struct gpio_desc *sample; struct gpio_desc *rdvel; - __be16 rx ____cacheline_aligned; + __be16 rx __aligned(IIO_DMA_MINALIGN); }; static int ad2s1200_read_raw(struct iio_dev *indio_dev, --- linux-gcp-5.19.0.orig/drivers/iio/resolver/ad2s90.c +++ linux-gcp-5.19.0/drivers/iio/resolver/ad2s90.c @@ -24,7 +24,7 @@ struct ad2s90_state { struct mutex lock; /* lock to protect rx buffer */ struct spi_device *sdev; - u8 rx[2] ____cacheline_aligned; + u8 rx[2] __aligned(IIO_DMA_MINALIGN); }; static int ad2s90_read_raw(struct iio_dev *indio_dev, --- linux-gcp-5.19.0.orig/drivers/iio/temperature/ltc2983.c +++ linux-gcp-5.19.0/drivers/iio/temperature/ltc2983.c @@ -204,11 +204,12 @@ u8 num_channels; u8 iio_channels; /* - * DMA (thus cache coherency maintenance) requires the + * DMA (thus cache coherency maintenance) may require the * transfer buffers to live in their own cache lines. * Holds the converted temperature */ - __be32 temp ____cacheline_aligned; + __be32 temp __aligned(IIO_DMA_MINALIGN); + __be32 chan_val; }; struct ltc2983_sensor { @@ -313,19 +314,18 @@ return 0; } -static int __ltc2983_chan_assign_common(const struct ltc2983_data *st, +static int __ltc2983_chan_assign_common(struct ltc2983_data *st, const struct ltc2983_sensor *sensor, u32 chan_val) { u32 reg = LTC2983_CHAN_START_ADDR(sensor->chan); - __be32 __chan_val; chan_val |= LTC2983_CHAN_TYPE(sensor->type); dev_dbg(&st->spi->dev, "Assign reg:0x%04X, val:0x%08X\n", reg, chan_val); - __chan_val = cpu_to_be32(chan_val); - return regmap_bulk_write(st->regmap, reg, &__chan_val, - sizeof(__chan_val)); + st->chan_val = cpu_to_be32(chan_val); + return regmap_bulk_write(st->regmap, reg, &st->chan_val, + sizeof(st->chan_val)); } static int __ltc2983_chan_custom_sensor_assign(struct ltc2983_data *st, @@ -1385,13 +1385,6 @@ return ret; } - st->iio_chan = devm_kzalloc(&st->spi->dev, - st->iio_channels * sizeof(*st->iio_chan), - GFP_KERNEL); - - if (!st->iio_chan) - return -ENOMEM; - ret = regmap_update_bits(st->regmap, LTC2983_GLOBAL_CONFIG_REG, LTC2983_NOTCH_FREQ_MASK, LTC2983_NOTCH_FREQ(st->filter_notch_freq)); @@ -1514,6 +1507,12 @@ gpiod_set_value_cansleep(gpio, 0); } + st->iio_chan = devm_kzalloc(&spi->dev, + st->iio_channels * sizeof(*st->iio_chan), + GFP_KERNEL); + if (!st->iio_chan) + return -ENOMEM; + ret = ltc2983_setup(st, true); if (ret) return ret; --- linux-gcp-5.19.0.orig/drivers/iio/temperature/max31865.c +++ linux-gcp-5.19.0/drivers/iio/temperature/max31865.c @@ -55,7 +55,7 @@ struct mutex lock; bool filter_50hz; bool three_wire; - u8 buf[2] ____cacheline_aligned; + u8 buf[2] __aligned(IIO_DMA_MINALIGN); }; static int max31865_read(struct max31865_data *data, u8 reg, --- linux-gcp-5.19.0.orig/drivers/iio/temperature/maxim_thermocouple.c +++ linux-gcp-5.19.0/drivers/iio/temperature/maxim_thermocouple.c @@ -122,7 +122,7 @@ struct spi_device *spi; const struct maxim_thermocouple_chip *chip; - u8 buffer[16] ____cacheline_aligned; + u8 buffer[16] __aligned(IIO_DMA_MINALIGN); char tc_type; }; --- linux-gcp-5.19.0.orig/drivers/iio/trigger/iio-trig-sysfs.c +++ linux-gcp-5.19.0/drivers/iio/trigger/iio-trig-sysfs.c @@ -203,9 +203,13 @@ static int __init iio_sysfs_trig_init(void) { + int ret; device_initialize(&iio_sysfs_trig_dev); dev_set_name(&iio_sysfs_trig_dev, "iio_sysfs_trigger"); - return device_add(&iio_sysfs_trig_dev); + ret = device_add(&iio_sysfs_trig_dev); + if (ret) + put_device(&iio_sysfs_trig_dev); + return ret; } module_init(iio_sysfs_trig_init); --- linux-gcp-5.19.0.orig/drivers/infiniband/Kconfig +++ linux-gcp-5.19.0/drivers/infiniband/Kconfig @@ -78,6 +78,7 @@ def_bool !HIGHMEM if INFINIBAND_USER_ACCESS || !INFINIBAND_USER_ACCESS +if !UML source "drivers/infiniband/hw/mthca/Kconfig" source "drivers/infiniband/hw/qib/Kconfig" source "drivers/infiniband/hw/cxgb4/Kconfig" @@ -93,6 +94,7 @@ source "drivers/infiniband/hw/hfi1/Kconfig" source "drivers/infiniband/hw/qedr/Kconfig" source "drivers/infiniband/sw/rdmavt/Kconfig" +endif # !UML source "drivers/infiniband/sw/rxe/Kconfig" source "drivers/infiniband/sw/siw/Kconfig" endif --- linux-gcp-5.19.0.orig/drivers/infiniband/core/Makefile +++ linux-gcp-5.19.0/drivers/infiniband/core/Makefile @@ -40,5 +40,5 @@ uverbs_std_types_srq.o \ uverbs_std_types_wq.o \ uverbs_std_types_qp.o -ib_uverbs-$(CONFIG_INFINIBAND_USER_MEM) += umem.o umem_dmabuf.o +ib_uverbs-$(CONFIG_INFINIBAND_USER_MEM) += umem.o umem_dmabuf.o peer_mem.o ib_uverbs-$(CONFIG_INFINIBAND_ON_DEMAND_PAGING) += umem_odp.o --- linux-gcp-5.19.0.orig/drivers/infiniband/core/cm.c +++ linux-gcp-5.19.0/drivers/infiniband/core/cm.c @@ -1632,14 +1632,13 @@ static void cm_format_path_lid_from_req(struct cm_req_msg *req_msg, struct sa_path_rec *primary_path, - struct sa_path_rec *alt_path) + struct sa_path_rec *alt_path, + struct ib_wc *wc) { u32 lid; if (primary_path->rec_type != SA_PATH_REC_TYPE_OPA) { - sa_path_set_dlid(primary_path, - IBA_GET(CM_REQ_PRIMARY_LOCAL_PORT_LID, - req_msg)); + sa_path_set_dlid(primary_path, wc->slid); sa_path_set_slid(primary_path, IBA_GET(CM_REQ_PRIMARY_REMOTE_PORT_LID, req_msg)); @@ -1676,7 +1675,8 @@ static void cm_format_paths_from_req(struct cm_req_msg *req_msg, struct sa_path_rec *primary_path, - struct sa_path_rec *alt_path) + struct sa_path_rec *alt_path, + struct ib_wc *wc) { primary_path->dgid = *IBA_GET_MEM_PTR(CM_REQ_PRIMARY_LOCAL_PORT_GID, req_msg); @@ -1734,7 +1734,7 @@ if (sa_path_is_roce(alt_path)) alt_path->roce.route_resolved = false; } - cm_format_path_lid_from_req(req_msg, primary_path, alt_path); + cm_format_path_lid_from_req(req_msg, primary_path, alt_path, wc); } static u16 cm_get_bth_pkey(struct cm_work *work) @@ -2148,7 +2148,7 @@ if (cm_req_has_alt_path(req_msg)) work->path[1].rec_type = work->path[0].rec_type; cm_format_paths_from_req(req_msg, &work->path[0], - &work->path[1]); + &work->path[1], work->mad_recv_wc->wc); if (cm_id_priv->av.ah_attr.type == RDMA_AH_ATTR_TYPE_ROCE) sa_path_set_dmac(&work->path[0], cm_id_priv->av.ah_attr.roce.dmac); --- linux-gcp-5.19.0.orig/drivers/infiniband/core/cma.c +++ linux-gcp-5.19.0/drivers/infiniband/core/cma.c @@ -1434,7 +1434,7 @@ return false; memset(&fl4, 0, sizeof(fl4)); - fl4.flowi4_iif = net_dev->ifindex; + fl4.flowi4_oif = net_dev->ifindex; fl4.daddr = daddr; fl4.saddr = saddr; @@ -1719,8 +1719,8 @@ } if (!validate_net_dev(*net_dev, - (struct sockaddr *)&req->listen_addr_storage, - (struct sockaddr *)&req->src_addr_storage)) { + (struct sockaddr *)&req->src_addr_storage, + (struct sockaddr *)&req->listen_addr_storage)) { id_priv = ERR_PTR(-EHOSTUNREACH); goto err; } --- linux-gcp-5.19.0.orig/drivers/infiniband/core/device.c +++ linux-gcp-5.19.0/drivers/infiniband/core/device.c @@ -2815,10 +2815,18 @@ nldev_init(); rdma_nl_register(RDMA_NL_LS, ibnl_ls_cb_table); - roce_gid_mgmt_init(); + ret = roce_gid_mgmt_init(); + if (ret) { + pr_warn("Couldn't init RoCE GID management\n"); + goto err_parent; + } return 0; +err_parent: + rdma_nl_unregister(RDMA_NL_LS); + nldev_exit(); + unregister_pernet_device(&rdma_dev_net_ops); err_compat: unregister_blocking_lsm_notifier(&ibdev_lsm_nb); err_sa: @@ -2843,8 +2851,8 @@ static void __exit ib_core_cleanup(void) { roce_gid_mgmt_cleanup(); - nldev_exit(); rdma_nl_unregister(RDMA_NL_LS); + nldev_exit(); unregister_pernet_device(&rdma_dev_net_ops); unregister_blocking_lsm_notifier(&ibdev_lsm_nb); ib_sa_cleanup(); --- linux-gcp-5.19.0.orig/drivers/infiniband/core/ib_peer_mem.h +++ linux-gcp-5.19.0/drivers/infiniband/core/ib_peer_mem.h @@ -0,0 +1,65 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ +/* + * Copyright (c) 2014-2020, Mellanox Technologies. All rights reserved. + */ +#ifndef RDMA_IB_PEER_MEM_H +#define RDMA_IB_PEER_MEM_H + +#include +#include +#include +#include + +struct ib_peer_memory_statistics { + atomic64_t num_alloc_mrs; + atomic64_t num_dealloc_mrs; + atomic64_t num_reg_pages; + atomic64_t num_dereg_pages; + atomic64_t num_reg_bytes; + atomic64_t num_dereg_bytes; + unsigned long num_free_callbacks; +}; + +struct ib_peer_memory_client { + struct kobject kobj; + refcount_t usecnt; + struct completion usecnt_zero; + const struct peer_memory_client *peer_mem; + struct list_head core_peer_list; + struct ib_peer_memory_statistics stats; + struct xarray umem_xa; + u32 xa_cyclic_next; + bool invalidation_required; +}; + +enum ib_umem_mapped_state { + UMEM_PEER_UNMAPPED, + UMEM_PEER_MAPPED, + UMEM_PEER_INVALIDATED, +}; + +struct ib_umem_peer { + struct ib_umem umem; + struct kref kref; + /* peer memory that manages this umem */ + struct ib_peer_memory_client *ib_peer_client; + void *peer_client_context; + umem_invalidate_func_t invalidation_func; + void *invalidation_private; + struct mutex mapping_lock; + enum ib_umem_mapped_state mapped_state; + u32 xa_id; + struct scatterlist *first_sg; + dma_addr_t first_dma_address; + unsigned int first_dma_length; + unsigned int first_length; + struct scatterlist *last_sg; + unsigned int last_dma_length; + unsigned int last_length; +}; + +struct ib_umem *ib_peer_umem_get(struct ib_umem *old_umem, int old_ret, + unsigned long peer_mem_flags); +void ib_peer_umem_release(struct ib_umem *umem); + +#endif --- linux-gcp-5.19.0.orig/drivers/infiniband/core/mad.c +++ linux-gcp-5.19.0/drivers/infiniband/core/mad.c @@ -59,9 +59,6 @@ struct ib_mad_qp_info *qp_info, struct trace_event_raw_ib_mad_send_template *entry) { - u16 pkey; - struct ib_device *dev = qp_info->port_priv->device; - u32 pnum = qp_info->port_priv->port_num; struct ib_ud_wr *wr = &mad_send_wr->send_wr; struct rdma_ah_attr attr = {}; @@ -69,8 +66,6 @@ /* These are common */ entry->sl = attr.sl; - ib_query_pkey(dev, pnum, wr->pkey_index, &pkey); - entry->pkey = pkey; entry->rqpn = wr->remote_qpn; entry->rqkey = wr->remote_qkey; entry->dlid = rdma_ah_get_dlid(&attr); --- linux-gcp-5.19.0.orig/drivers/infiniband/core/nldev.c +++ linux-gcp-5.19.0/drivers/infiniband/core/nldev.c @@ -513,7 +513,7 @@ /* In create_qp() port is not set yet */ if (qp->port && nla_put_u32(msg, RDMA_NLDEV_ATTR_PORT_INDEX, qp->port)) - return -EINVAL; + return -EMSGSIZE; ret = nla_put_u32(msg, RDMA_NLDEV_ATTR_RES_LQPN, qp->qp_num); if (ret) @@ -552,7 +552,7 @@ struct rdma_cm_id *cm_id = &id_priv->id; if (port && port != cm_id->port_num) - return 0; + return -EAGAIN; if (cm_id->port_num && nla_put_u32(msg, RDMA_NLDEV_ATTR_PORT_INDEX, cm_id->port_num)) @@ -894,6 +894,8 @@ int ret = 0; table_attr = nla_nest_start(msg, RDMA_NLDEV_ATTR_RES_QP); + if (!table_attr) + return -EMSGSIZE; rt = &counter->device->res[RDMA_RESTRACK_QP]; xa_lock(&rt->xa); @@ -2537,7 +2539,7 @@ rdma_nl_register(RDMA_NL_NLDEV, nldev_cb_table); } -void __exit nldev_exit(void) +void nldev_exit(void) { rdma_nl_unregister(RDMA_NL_NLDEV); } --- linux-gcp-5.19.0.orig/drivers/infiniband/core/peer_mem.c +++ linux-gcp-5.19.0/drivers/infiniband/core/peer_mem.c @@ -0,0 +1,689 @@ +// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB +/* + * Copyright (c) 2014-2020, Mellanox Technologies. All rights reserved. + */ + +#include +#include +#include +#include "ib_peer_mem.h" + +static DEFINE_MUTEX(peer_memory_mutex); +static LIST_HEAD(peer_memory_list); +static struct kobject *peers_kobj; +#define PEER_NO_INVALIDATION_ID U32_MAX + +static int ib_invalidate_peer_memory(void *reg_handle, u64 core_context); + +struct peer_mem_attribute { + struct attribute attr; + ssize_t (*show)(struct ib_peer_memory_client *ib_peer_client, + struct peer_mem_attribute *attr, char *buf); + ssize_t (*store)(struct ib_peer_memory_client *ib_peer_client, + struct peer_mem_attribute *attr, const char *buf, + size_t count); +}; +#define PEER_ATTR_RO(_name) \ + struct peer_mem_attribute peer_attr_ ## _name = __ATTR_RO(_name) + +static ssize_t version_show(struct ib_peer_memory_client *ib_peer_client, + struct peer_mem_attribute *attr, char *buf) +{ + return scnprintf(buf, PAGE_SIZE, "%s\n", + ib_peer_client->peer_mem->version); +} +static PEER_ATTR_RO(version); + +static ssize_t num_alloc_mrs_show(struct ib_peer_memory_client *ib_peer_client, + struct peer_mem_attribute *attr, char *buf) +{ + return scnprintf( + buf, PAGE_SIZE, "%llu\n", + (u64)atomic64_read(&ib_peer_client->stats.num_alloc_mrs)); +} +static PEER_ATTR_RO(num_alloc_mrs); + +static ssize_t +num_dealloc_mrs_show(struct ib_peer_memory_client *ib_peer_client, + struct peer_mem_attribute *attr, char *buf) + +{ + return scnprintf( + buf, PAGE_SIZE, "%llu\n", + (u64)atomic64_read(&ib_peer_client->stats.num_dealloc_mrs)); +} +static PEER_ATTR_RO(num_dealloc_mrs); + +static ssize_t num_reg_pages_show(struct ib_peer_memory_client *ib_peer_client, + struct peer_mem_attribute *attr, char *buf) +{ + return scnprintf( + buf, PAGE_SIZE, "%llu\n", + (u64)atomic64_read(&ib_peer_client->stats.num_reg_pages)); +} +static PEER_ATTR_RO(num_reg_pages); + +static ssize_t +num_dereg_pages_show(struct ib_peer_memory_client *ib_peer_client, + struct peer_mem_attribute *attr, char *buf) +{ + return scnprintf( + buf, PAGE_SIZE, "%llu\n", + (u64)atomic64_read(&ib_peer_client->stats.num_dereg_pages)); +} +static PEER_ATTR_RO(num_dereg_pages); + +static ssize_t num_reg_bytes_show(struct ib_peer_memory_client *ib_peer_client, + struct peer_mem_attribute *attr, char *buf) +{ + return scnprintf( + buf, PAGE_SIZE, "%llu\n", + (u64)atomic64_read(&ib_peer_client->stats.num_reg_bytes)); +} +static PEER_ATTR_RO(num_reg_bytes); + +static ssize_t +num_dereg_bytes_show(struct ib_peer_memory_client *ib_peer_client, + struct peer_mem_attribute *attr, char *buf) +{ + return scnprintf( + buf, PAGE_SIZE, "%llu\n", + (u64)atomic64_read(&ib_peer_client->stats.num_dereg_bytes)); +} +static PEER_ATTR_RO(num_dereg_bytes); + +static ssize_t +num_free_callbacks_show(struct ib_peer_memory_client *ib_peer_client, + struct peer_mem_attribute *attr, char *buf) +{ + return scnprintf(buf, PAGE_SIZE, "%lu\n", + ib_peer_client->stats.num_free_callbacks); +} +static PEER_ATTR_RO(num_free_callbacks); + +static struct attribute *peer_mem_attrs[] = { + &peer_attr_version.attr, + &peer_attr_num_alloc_mrs.attr, + &peer_attr_num_dealloc_mrs.attr, + &peer_attr_num_reg_pages.attr, + &peer_attr_num_dereg_pages.attr, + &peer_attr_num_reg_bytes.attr, + &peer_attr_num_dereg_bytes.attr, + &peer_attr_num_free_callbacks.attr, + NULL, +}; + +static const struct attribute_group peer_mem_attr_group = { + .attrs = peer_mem_attrs, +}; + +static ssize_t peer_attr_show(struct kobject *kobj, struct attribute *attr, + char *buf) +{ + struct peer_mem_attribute *peer_attr = + container_of(attr, struct peer_mem_attribute, attr); + + if (!peer_attr->show) + return -EIO; + return peer_attr->show(container_of(kobj, struct ib_peer_memory_client, + kobj), + peer_attr, buf); +} + +static const struct sysfs_ops peer_mem_sysfs_ops = { + .show = peer_attr_show, +}; + +static void ib_peer_memory_client_release(struct kobject *kobj) +{ + struct ib_peer_memory_client *ib_peer_client = + container_of(kobj, struct ib_peer_memory_client, kobj); + + kfree(ib_peer_client); +} + +static struct kobj_type peer_mem_type = { + .sysfs_ops = &peer_mem_sysfs_ops, + .release = ib_peer_memory_client_release, +}; + +static int ib_memory_peer_check_mandatory(const struct peer_memory_client + *peer_client) +{ +#define PEER_MEM_MANDATORY_FUNC(x) {offsetof(struct peer_memory_client, x), #x} + int i; + static const struct { + size_t offset; + char *name; + } mandatory_table[] = { + PEER_MEM_MANDATORY_FUNC(acquire), + PEER_MEM_MANDATORY_FUNC(get_pages), + PEER_MEM_MANDATORY_FUNC(put_pages), + PEER_MEM_MANDATORY_FUNC(dma_map), + PEER_MEM_MANDATORY_FUNC(dma_unmap), + }; + + for (i = 0; i < ARRAY_SIZE(mandatory_table); ++i) { + if (!*(void **)((void *)peer_client + + mandatory_table[i].offset)) { + pr_err("Peer memory %s is missing mandatory function %s\n", + peer_client->name, mandatory_table[i].name); + return -EINVAL; + } + } + + return 0; +} + +void * +ib_register_peer_memory_client(const struct peer_memory_client *peer_client, + invalidate_peer_memory *invalidate_callback) +{ + struct ib_peer_memory_client *ib_peer_client; + int ret; + + if (ib_memory_peer_check_mandatory(peer_client)) + return NULL; + + ib_peer_client = kzalloc(sizeof(*ib_peer_client), GFP_KERNEL); + if (!ib_peer_client) + return NULL; + kobject_init(&ib_peer_client->kobj, &peer_mem_type); + refcount_set(&ib_peer_client->usecnt, 1); + init_completion(&ib_peer_client->usecnt_zero); + ib_peer_client->peer_mem = peer_client; + xa_init_flags(&ib_peer_client->umem_xa, XA_FLAGS_ALLOC); + + /* + * If the peer wants the invalidation_callback then all memory users + * linked to that peer must support invalidation. + */ + if (invalidate_callback) { + *invalidate_callback = ib_invalidate_peer_memory; + ib_peer_client->invalidation_required = true; + } + + mutex_lock(&peer_memory_mutex); + if (!peers_kobj) { + /* Created under /sys/kernel/mm */ + peers_kobj = kobject_create_and_add("memory_peers", mm_kobj); + if (!peers_kobj) + goto err_unlock; + } + + ret = kobject_add(&ib_peer_client->kobj, peers_kobj, peer_client->name); + if (ret) + goto err_parent; + + ret = sysfs_create_group(&ib_peer_client->kobj, + &peer_mem_attr_group); + if (ret) + goto err_parent; + list_add_tail(&ib_peer_client->core_peer_list, &peer_memory_list); + mutex_unlock(&peer_memory_mutex); + return ib_peer_client; + +err_parent: + if (list_empty(&peer_memory_list)) { + kobject_put(peers_kobj); + peers_kobj = NULL; + } +err_unlock: + mutex_unlock(&peer_memory_mutex); + kobject_put(&ib_peer_client->kobj); + return NULL; +} +EXPORT_SYMBOL(ib_register_peer_memory_client); + +void ib_unregister_peer_memory_client(void *reg_handle) +{ + struct ib_peer_memory_client *ib_peer_client = reg_handle; + + mutex_lock(&peer_memory_mutex); + list_del(&ib_peer_client->core_peer_list); + if (list_empty(&peer_memory_list)) { + kobject_put(peers_kobj); + peers_kobj = NULL; + } + mutex_unlock(&peer_memory_mutex); + + /* + * Wait for all umems to be destroyed before returning. Once + * ib_unregister_peer_memory_client() returns no umems will call any + * peer_mem ops. + */ + if (refcount_dec_and_test(&ib_peer_client->usecnt)) + complete(&ib_peer_client->usecnt_zero); + wait_for_completion(&ib_peer_client->usecnt_zero); + + kobject_put(&ib_peer_client->kobj); +} +EXPORT_SYMBOL(ib_unregister_peer_memory_client); + +static struct ib_peer_memory_client * +ib_get_peer_client(unsigned long addr, size_t size, + unsigned long peer_mem_flags, void **peer_client_context) +{ + struct ib_peer_memory_client *ib_peer_client; + int ret = 0; + + mutex_lock(&peer_memory_mutex); + list_for_each_entry(ib_peer_client, &peer_memory_list, + core_peer_list) { + if (ib_peer_client->invalidation_required && + (!(peer_mem_flags & IB_PEER_MEM_INVAL_SUPP))) + continue; + ret = ib_peer_client->peer_mem->acquire(addr, size, NULL, NULL, + peer_client_context); + if (ret > 0) { + refcount_inc(&ib_peer_client->usecnt); + mutex_unlock(&peer_memory_mutex); + return ib_peer_client; + } + } + mutex_unlock(&peer_memory_mutex); + return NULL; +} + +static void ib_put_peer_client(struct ib_peer_memory_client *ib_peer_client, + void *peer_client_context) +{ + if (ib_peer_client->peer_mem->release) + ib_peer_client->peer_mem->release(peer_client_context); + if (refcount_dec_and_test(&ib_peer_client->usecnt)) + complete(&ib_peer_client->usecnt_zero); +} + +static void ib_peer_umem_kref_release(struct kref *kref) +{ + struct ib_umem_peer *umem_p = + container_of(kref, struct ib_umem_peer, kref); + + mutex_destroy(&umem_p->mapping_lock); + kfree(umem_p); +} + +static void ib_unmap_peer_client(struct ib_umem_peer *umem_p, + enum ib_umem_mapped_state cur_state, + enum ib_umem_mapped_state to_state) +{ + struct ib_peer_memory_client *ib_peer_client = umem_p->ib_peer_client; + const struct peer_memory_client *peer_mem = ib_peer_client->peer_mem; + struct ib_umem *umem = &umem_p->umem; + + if (cur_state == UMEM_PEER_MAPPED && + (to_state == UMEM_PEER_UNMAPPED || + to_state == UMEM_PEER_INVALIDATED)) { + /* + * In the invalidated state we will never touch the sg again, + * but the client might, so fix it anyhow. + */ + if (umem_p->last_sg) { + umem_p->last_sg->length = umem_p->last_length; + sg_dma_len(umem_p->last_sg) = umem_p->last_dma_length; + } + + if (umem_p->first_sg) { + umem_p->first_sg->dma_address = + umem_p->first_dma_address; + umem_p->first_sg->length = umem_p->first_length; + sg_dma_len(umem_p->first_sg) = umem_p->first_dma_length; + } + + if (to_state == UMEM_PEER_UNMAPPED) { + peer_mem->dma_unmap(&umem_p->umem.sgt_append.sgt, + umem_p->peer_client_context, + umem_p->umem.ibdev->dma_device); + peer_mem->put_pages(&umem_p->umem.sgt_append.sgt, + umem_p->peer_client_context); + } + + memset(&umem->sgt_append.sgt, 0, sizeof(umem->sgt_append)); + atomic64_inc(&ib_peer_client->stats.num_dealloc_mrs); + } + + if ((cur_state == UMEM_PEER_MAPPED && to_state == UMEM_PEER_UNMAPPED) || + (cur_state == UMEM_PEER_INVALIDATED && + to_state == UMEM_PEER_UNMAPPED)) { + atomic64_add(umem->sgt_append.sgt.nents, + &ib_peer_client->stats.num_dereg_pages); + atomic64_add(umem->length, + &ib_peer_client->stats.num_dereg_bytes); + } + umem_p->mapped_state = to_state; +} + +/* + * True if the client should do unmap itself after the invalidate callback + * returns. Clients operating in this mode need to use this locking pattern: + * + * client_invalidate: + * mutex_lock(&client_lock) + * invalidate_callback(): + * mutex_lock(mapping_lock) + * mutex_unlock(mapping_lock) + * client_dma_unmap() + * client_put_pages() + * mutex_unlock(&client_lock) + * + * ib_umem_stop_invalidation_notifier(): + * mutex_lock(mapping_lock) + * mutex_unlock(mapping_lock) + * peer_mem->dma_unmap(): + * mutex_lock(&client_lock) + * client_dma_unmap() + * mutex_unlock(&client_lock) + * peer_mem->put_pages(): + * mutex_lock(&client_lock) + * client_put_pages() + * mutex_unlock(&client_lock) + * + * ib_peer_umem_release(): + * peer_mem->release(): + * mutex_lock(&client_lock) + * mutex_unlock(&client_lock) + * + * Noting that dma_unmap/put_pages can be called even though invalidate has + * already done the unmap, and release() can be called concurrently with + * invalidate. The client must protect itself against these races. + */ +static bool ib_peer_unmap_on_invalidate(struct ib_umem_peer *umem_p) +{ + const struct peer_memory_client *peer_mem = + umem_p->ib_peer_client->peer_mem; + const struct peer_memory_client_ex *peer_mem_ex; + + if (peer_mem->version[IB_PEER_MEMORY_VER_MAX - 1] == 0) + return false; + peer_mem_ex = container_of(peer_mem, const struct peer_memory_client_ex, + client); + if (peer_mem_ex->ex_size < + offsetofend(struct peer_memory_client_ex, flags)) + return false; + return peer_mem_ex->flags & PEER_MEM_INVALIDATE_UNMAPS; +} + +static int ib_invalidate_peer_memory(void *reg_handle, u64 core_context) +{ + struct ib_peer_memory_client *ib_peer_client = reg_handle; + struct ib_umem_peer *umem_p; + + /* + * The client is not required to fence against invalidation during + * put_pages() as that would deadlock when we call put_pages() here. + * Thus the core_context cannot be a umem pointer as we have no control + * over the lifetime. Since we won't change the kABI for this to add a + * proper kref, an xarray is used. + */ + xa_lock(&ib_peer_client->umem_xa); + ib_peer_client->stats.num_free_callbacks += 1; + umem_p = xa_load(&ib_peer_client->umem_xa, core_context); + if (!umem_p) + goto out_unlock; + kref_get(&umem_p->kref); + xa_unlock(&ib_peer_client->umem_xa); + + mutex_lock(&umem_p->mapping_lock); + /* + * For flows that require invalidation the invalidation_func should not + * be NULL while the device can be doing DMA. The mapping_lock ensures + * that the device is ready to receive an invalidation before one is + * triggered here. + */ + if (umem_p->mapped_state == UMEM_PEER_MAPPED && + umem_p->invalidation_func) + umem_p->invalidation_func(&umem_p->umem, + umem_p->invalidation_private); + if (ib_peer_unmap_on_invalidate(umem_p)) + ib_unmap_peer_client(umem_p, umem_p->mapped_state, + UMEM_PEER_INVALIDATED); + else + ib_unmap_peer_client(umem_p, umem_p->mapped_state, + UMEM_PEER_UNMAPPED); + mutex_unlock(&umem_p->mapping_lock); + kref_put(&umem_p->kref, ib_peer_umem_kref_release); + return 0; + +out_unlock: + xa_unlock(&ib_peer_client->umem_xa); + return 0; +} + +void ib_umem_activate_invalidation_notifier(struct ib_umem *umem, + umem_invalidate_func_t func, + void *priv) +{ + struct ib_umem_peer *umem_p = + container_of(umem, struct ib_umem_peer, umem); + + if (WARN_ON(!umem->is_peer)) + return; + if (umem_p->xa_id == PEER_NO_INVALIDATION_ID) + return; + + umem_p->invalidation_func = func; + umem_p->invalidation_private = priv; + /* Pairs with the lock in ib_peer_umem_get() */ + mutex_unlock(&umem_p->mapping_lock); + + /* At this point func can be called asynchronously */ +} +EXPORT_SYMBOL(ib_umem_activate_invalidation_notifier); + +/* + * Caller has blocked DMA and will no longer be able to handle invalidate + * callbacks. Callers using invalidation must call this function before calling + * ib_peer_umem_release(). ib_umem_activate_invalidation_notifier() is optional + * before doing this. + */ +void ib_umem_stop_invalidation_notifier(struct ib_umem *umem) +{ + struct ib_umem_peer *umem_p = + container_of(umem, struct ib_umem_peer, umem); + bool unmap_on_invalidate = ib_peer_unmap_on_invalidate(umem_p); + enum ib_umem_mapped_state cur_state; + + if (umem_p->invalidation_func) { + mutex_lock(&umem_p->mapping_lock); + umem_p->invalidation_func = NULL; + } else if (umem_p->xa_id != PEER_NO_INVALIDATION_ID) { + mutex_lock(&umem_p->mapping_lock); + } else { + /* + * Haven't called ib_umem_activate_invalidation_notifier() yet, + * still have the lock + */ + } + + if (!unmap_on_invalidate) { + ib_unmap_peer_client(umem_p, umem_p->mapped_state, + UMEM_PEER_UNMAPPED); + } else { + /* Block ib_invalidate_peer_memory() */ + cur_state = umem_p->mapped_state; + umem_p->mapped_state = UMEM_PEER_UNMAPPED; + } + mutex_unlock(&umem_p->mapping_lock); + + if (unmap_on_invalidate) + ib_unmap_peer_client(umem_p, cur_state, UMEM_PEER_UNMAPPED); + +} +EXPORT_SYMBOL(ib_umem_stop_invalidation_notifier); + +static void fix_peer_sgls(struct ib_umem_peer *umem_p, unsigned long peer_page_size) +{ + struct ib_umem *umem = &umem_p->umem; + struct scatterlist *sg; + int i; + + for_each_sg(umem_p->umem.sgt_append.sgt.sgl, sg, + umem_p->umem.sgt_append.sgt.nents, i) { + if (i == 0) { + unsigned long offset; + + umem_p->first_sg = sg; + umem_p->first_dma_address = sg->dma_address; + umem_p->first_dma_length = sg_dma_len(sg); + umem_p->first_length = sg->length; + + offset = ALIGN_DOWN(umem->address, PAGE_SIZE) - + ALIGN_DOWN(umem->address, peer_page_size); + sg->dma_address += offset; + sg_dma_len(sg) -= offset; + sg->length -= offset; + } + + if (i == umem_p->umem.sgt_append.sgt.nents - 1) { + unsigned long trim; + + umem_p->last_sg = sg; + umem_p->last_dma_length = sg_dma_len(sg); + umem_p->last_length = sg->length; + + trim = ALIGN(umem->address + umem->length, + peer_page_size) - + ALIGN(umem->address + umem->length, PAGE_SIZE); + sg_dma_len(sg) -= trim; + sg->length -= trim; + } + } +} + +struct ib_umem *ib_peer_umem_get(struct ib_umem *old_umem, int old_ret, + unsigned long peer_mem_flags) +{ + struct ib_peer_memory_client *ib_peer_client; + unsigned long peer_page_size; + void *peer_client_context; + struct ib_umem_peer *umem_p; + int ret; + + ib_peer_client = + ib_get_peer_client(old_umem->address, old_umem->length, + peer_mem_flags, &peer_client_context); + if (!ib_peer_client) + return ERR_PTR(old_ret); + + umem_p = kzalloc(sizeof(*umem_p), GFP_KERNEL); + if (!umem_p) { + ret = -ENOMEM; + goto err_client; + } + + kref_init(&umem_p->kref); + umem_p->umem = *old_umem; + memset(&umem_p->umem.sgt_append.sgt, 0, sizeof(umem_p->umem.sgt_append)); + umem_p->umem.is_peer = 1; + umem_p->ib_peer_client = ib_peer_client; + umem_p->peer_client_context = peer_client_context; + mutex_init(&umem_p->mapping_lock); + umem_p->xa_id = PEER_NO_INVALIDATION_ID; + + mutex_lock(&umem_p->mapping_lock); + if (ib_peer_client->invalidation_required) { + ret = xa_alloc_cyclic(&ib_peer_client->umem_xa, &umem_p->xa_id, + umem_p, + XA_LIMIT(0, PEER_NO_INVALIDATION_ID - 1), + &ib_peer_client->xa_cyclic_next, + GFP_KERNEL); + if (ret < 0) + goto err_umem; + } + + /* + * We always request write permissions to the pages, to force breaking + * of any CoW during the registration of the MR. For read-only MRs we + * use the "force" flag to indicate that CoW breaking is required but + * the registration should not fail if referencing read-only areas. + */ + ret = ib_peer_client->peer_mem->get_pages(umem_p->umem.address, + umem_p->umem.length, 1, + !umem_p->umem.writable, NULL, + peer_client_context, + umem_p->xa_id); + if (ret) + goto err_xa; + + ret = ib_peer_client->peer_mem->dma_map(&umem_p->umem.sgt_append.sgt, + peer_client_context, + umem_p->umem.ibdev->dma_device, + 0, &umem_p->umem.sgt_append.sgt.nents); + if (ret) + goto err_pages; + + peer_page_size = ib_peer_client->peer_mem->get_page_size(peer_client_context); + if (peer_page_size != PAGE_SIZE) + fix_peer_sgls(umem_p, peer_page_size); + + umem_p->mapped_state = UMEM_PEER_MAPPED; + atomic64_add(umem_p->umem.sgt_append.sgt.nents, &ib_peer_client->stats.num_reg_pages); + atomic64_add(umem_p->umem.length, &ib_peer_client->stats.num_reg_bytes); + atomic64_inc(&ib_peer_client->stats.num_alloc_mrs); + + /* + * If invalidation is allowed then the caller must call + * ib_umem_activate_invalidation_notifier() or ib_peer_umem_release() to + * unlock this mutex. This call should be done after the last read to + * sg_head, once the caller is ready for the invalidation function to be + * called. + */ + if (umem_p->xa_id == PEER_NO_INVALIDATION_ID) + mutex_unlock(&umem_p->mapping_lock); + + /* + * On success the old umem is replaced with the new, larger, allocation + */ + kfree(old_umem); + return &umem_p->umem; + +err_pages: + ib_peer_client->peer_mem->put_pages(&umem_p->umem.sgt_append.sgt, + umem_p->peer_client_context); +err_xa: + if (umem_p->xa_id != PEER_NO_INVALIDATION_ID) + xa_erase(&umem_p->ib_peer_client->umem_xa, umem_p->xa_id); +err_umem: + mutex_unlock(&umem_p->mapping_lock); + kref_put(&umem_p->kref, ib_peer_umem_kref_release); +err_client: + ib_put_peer_client(ib_peer_client, peer_client_context); + return ERR_PTR(ret); +} + +void ib_peer_umem_release(struct ib_umem *umem) +{ + struct ib_umem_peer *umem_p = + container_of(umem, struct ib_umem_peer, umem); + + /* + * If ib_umem_activate_invalidation_notifier() is called then + * ib_umem_stop_invalidation_notifier() must be called before release. + */ + WARN_ON(umem_p->invalidation_func); + + /* For no invalidation cases, make sure it is unmapped */ + ib_unmap_peer_client(umem_p, umem_p->mapped_state, UMEM_PEER_UNMAPPED); + + if (umem_p->xa_id != PEER_NO_INVALIDATION_ID) + xa_erase(&umem_p->ib_peer_client->umem_xa, umem_p->xa_id); + ib_put_peer_client(umem_p->ib_peer_client, umem_p->peer_client_context); + umem_p->ib_peer_client = NULL; + + /* Must match ib_umem_release() */ + atomic64_sub(ib_umem_num_pages(umem), &umem->owning_mm->pinned_vm); + mmdrop(umem->owning_mm); + + kref_put(&umem_p->kref, ib_peer_umem_kref_release); +} + +/* Use it like this: +struct peer_memory_client_ex peer_memory_test = { + .client = { + .version = "1.0", + .version[IB_PEER_MEMORY_VER_MAX-1] = 1, + }, + .ex_size = sizeof(struct peer_memory_client_ex), + .flags = PEER_MEM_INVALIDATE_UNMAPS, +}; +*/ --- linux-gcp-5.19.0.orig/drivers/infiniband/core/restrack.c +++ linux-gcp-5.19.0/drivers/infiniband/core/restrack.c @@ -343,8 +343,6 @@ rt = &dev->res[res->type]; old = xa_erase(&rt->xa, res->id); - if (res->type == RDMA_RESTRACK_MR) - return; WARN_ON(old != res); out: --- linux-gcp-5.19.0.orig/drivers/infiniband/core/sysfs.c +++ linux-gcp-5.19.0/drivers/infiniband/core/sysfs.c @@ -1213,6 +1213,9 @@ p->port_num = port_num; kobject_init(&p->kobj, &port_type); + if (device->port_data && is_full_dev) + device->port_data[port_num].sysfs = p; + cur_group = p->groups_list; ret = alloc_port_table_group("gids", &p->groups[0], p->attrs_list, attr->gid_tbl_len, show_port_gid); @@ -1258,9 +1261,6 @@ } list_add_tail(&p->kobj.entry, &coredev->port_list); - if (device->port_data && is_full_dev) - device->port_data[port_num].sysfs = p; - return p; err_groups: @@ -1268,6 +1268,8 @@ err_del: kobject_del(&p->kobj); err_put: + if (device->port_data && is_full_dev) + device->port_data[port_num].sysfs = NULL; kobject_put(&p->kobj); return ERR_PTR(ret); } @@ -1276,14 +1278,17 @@ { bool is_full_dev = &port->ibdev->coredev == coredev; - if (port->ibdev->port_data && - port->ibdev->port_data[port->port_num].sysfs == port) - port->ibdev->port_data[port->port_num].sysfs = NULL; list_del(&port->kobj.entry); if (is_full_dev) sysfs_remove_groups(&port->kobj, port->ibdev->ops.port_groups); + sysfs_remove_groups(&port->kobj, port->groups_list); kobject_del(&port->kobj); + + if (port->ibdev->port_data && + port->ibdev->port_data[port->port_num].sysfs == port) + port->ibdev->port_data[port->port_num].sysfs = NULL; + kobject_put(&port->kobj); } --- linux-gcp-5.19.0.orig/drivers/infiniband/core/umem.c +++ linux-gcp-5.19.0/drivers/infiniband/core/umem.c @@ -45,6 +45,8 @@ #include "uverbs.h" +#include "ib_peer_mem.h" + static void __ib_umem_release(struct ib_device *dev, struct ib_umem *umem, int dirty) { bool make_dirty = umem->writable && dirty; @@ -137,15 +139,17 @@ EXPORT_SYMBOL(ib_umem_find_best_pgsz); /** - * ib_umem_get - Pin and DMA map userspace memory. + * __ib_umem_get - Pin and DMA map userspace memory. * * @device: IB device to connect UMEM * @addr: userspace virtual address to start at * @size: length of region to pin * @access: IB_ACCESS_xxx flags for memory being pinned + * @peer_mem_flags: IB_PEER_MEM_xxx flags for memory being used */ -struct ib_umem *ib_umem_get(struct ib_device *device, unsigned long addr, - size_t size, int access) +static struct ib_umem *__ib_umem_get(struct ib_device *device, + unsigned long addr, size_t size, int access, + unsigned long peer_mem_flags) { struct ib_umem *umem; struct page **page_list; @@ -248,6 +252,26 @@ umem_release: __ib_umem_release(device, umem, 0); + + /* + * If the address belongs to peer memory client, then the first + * call to get_user_pages will fail. In this case, try to get + * these pages from the peers. + */ + //FIXME: this placement is horrible + if (ret < 0 && peer_mem_flags & IB_PEER_MEM_ALLOW) { + struct ib_umem *new_umem; + + new_umem = ib_peer_umem_get(umem, ret, peer_mem_flags); + if (IS_ERR(new_umem)) { + ret = PTR_ERR(new_umem); + goto vma; + } + umem = new_umem; + ret = 0; + goto out; + } +vma: atomic64_sub(ib_umem_num_pages(umem), &mm->pinned_vm); out: free_page((unsigned long) page_list); @@ -258,8 +282,23 @@ } return ret ? ERR_PTR(ret) : umem; } + +struct ib_umem *ib_umem_get(struct ib_device *device, unsigned long addr, + size_t size, int access) +{ + return __ib_umem_get(device, addr, size, access, 0); +} EXPORT_SYMBOL(ib_umem_get); +struct ib_umem *ib_umem_get_peer(struct ib_device *device, unsigned long addr, + size_t size, int access, + unsigned long peer_mem_flags) +{ + return __ib_umem_get(device, addr, size, access, + IB_PEER_MEM_ALLOW | peer_mem_flags); +} +EXPORT_SYMBOL(ib_umem_get_peer); + /** * ib_umem_release - release memory pinned with ib_umem_get * @umem: umem struct to release @@ -273,6 +312,8 @@ if (umem->is_odp) return ib_umem_odp_release(to_ib_umem_odp(umem)); + if (umem->is_peer) + return ib_peer_umem_release(umem); __ib_umem_release(umem->ibdev, umem, 1); atomic64_sub(ib_umem_num_pages(umem), &umem->owning_mm->pinned_vm); --- linux-gcp-5.19.0.orig/drivers/infiniband/core/umem_dmabuf.c +++ linux-gcp-5.19.0/drivers/infiniband/core/umem_dmabuf.c @@ -18,6 +18,7 @@ struct scatterlist *sg; unsigned long start, end, cur = 0; unsigned int nmap = 0; + long ret; int i; dma_resv_assert_held(umem_dmabuf->attach->dmabuf->resv); @@ -67,9 +68,14 @@ * may be not up-to-date. Wait for the exporter to finish * the migration. */ - return dma_resv_wait_timeout(umem_dmabuf->attach->dmabuf->resv, + ret = dma_resv_wait_timeout(umem_dmabuf->attach->dmabuf->resv, DMA_RESV_USAGE_KERNEL, false, MAX_SCHEDULE_TIMEOUT); + if (ret < 0) + return ret; + if (ret == 0) + return -ETIMEDOUT; + return 0; } EXPORT_SYMBOL(ib_umem_dmabuf_map_pages); --- linux-gcp-5.19.0.orig/drivers/infiniband/core/umem_odp.c +++ linux-gcp-5.19.0/drivers/infiniband/core/umem_odp.c @@ -462,7 +462,7 @@ mutex_unlock(&umem_odp->umem_mutex); out_put_mm: - mmput(owning_mm); + mmput_async(owning_mm); out_put_task: if (owning_process) put_task_struct(owning_process); --- linux-gcp-5.19.0.orig/drivers/infiniband/core/uverbs_cmd.c +++ linux-gcp-5.19.0/drivers/infiniband/core/uverbs_cmd.c @@ -739,6 +739,7 @@ mr->uobject = uobj; atomic_inc(&pd->usecnt); mr->iova = cmd.hca_va; + mr->length = cmd.length; rdma_restrack_new(&mr->res, RDMA_RESTRACK_MR); rdma_restrack_set_name(&mr->res, NULL); @@ -861,8 +862,10 @@ mr->pd = new_pd; atomic_inc(&new_pd->usecnt); } - if (cmd.flags & IB_MR_REREG_TRANS) + if (cmd.flags & IB_MR_REREG_TRANS) { mr->iova = cmd.hca_va; + mr->length = cmd.length; + } } memset(&resp, 0, sizeof(resp)); --- linux-gcp-5.19.0.orig/drivers/infiniband/core/verbs.c +++ linux-gcp-5.19.0/drivers/infiniband/core/verbs.c @@ -2149,6 +2149,8 @@ mr->pd = pd; mr->dm = NULL; atomic_inc(&pd->usecnt); + mr->iova = virt_addr; + mr->length = length; rdma_restrack_new(&mr->res, RDMA_RESTRACK_MR); rdma_restrack_parent_name(&mr->res, &pd->res); @@ -2955,15 +2957,18 @@ bool __rdma_block_iter_next(struct ib_block_iter *biter) { unsigned int block_offset; + unsigned int sg_delta; if (!biter->__sg_nents || !biter->__sg) return false; biter->__dma_addr = sg_dma_address(biter->__sg) + biter->__sg_advance; block_offset = biter->__dma_addr & (BIT_ULL(biter->__pg_bit) - 1); - biter->__sg_advance += BIT_ULL(biter->__pg_bit) - block_offset; + sg_delta = BIT_ULL(biter->__pg_bit) - block_offset; - if (biter->__sg_advance >= sg_dma_len(biter->__sg)) { + if (sg_dma_len(biter->__sg) - biter->__sg_advance > sg_delta) { + biter->__sg_advance += sg_delta; + } else { biter->__sg_advance = 0; biter->__sg = sg_next(biter->__sg); biter->__sg_nents--; --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/cxgb4/cm.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/cxgb4/cm.c @@ -2468,31 +2468,24 @@ opt2 |= CCTRL_ECN_V(1); } - skb_get(skb); - rpl = cplhdr(skb); if (!is_t4(adapter_type)) { - BUILD_BUG_ON(sizeof(*rpl5) != roundup(sizeof(*rpl5), 16)); - skb_trim(skb, sizeof(*rpl5)); - rpl5 = (void *)rpl; - INIT_TP_WR(rpl5, ep->hwtid); - } else { - skb_trim(skb, sizeof(*rpl)); - INIT_TP_WR(rpl, ep->hwtid); - } - OPCODE_TID(rpl) = cpu_to_be32(MK_OPCODE_TID(CPL_PASS_ACCEPT_RPL, - ep->hwtid)); - - if (CHELSIO_CHIP_VERSION(adapter_type) > CHELSIO_T4) { u32 isn = (prandom_u32() & ~7UL) - 1; + + skb = get_skb(skb, roundup(sizeof(*rpl5), 16), GFP_KERNEL); + rpl5 = __skb_put_zero(skb, roundup(sizeof(*rpl5), 16)); + rpl = (void *)rpl5; + INIT_TP_WR_CPL(rpl5, CPL_PASS_ACCEPT_RPL, ep->hwtid); opt2 |= T5_OPT_2_VALID_F; opt2 |= CONG_CNTRL_V(CONG_ALG_TAHOE); opt2 |= T5_ISS_F; - rpl5 = (void *)rpl; - memset_after(rpl5, 0, iss); if (peer2peer) isn += 4; rpl5->iss = cpu_to_be32(isn); pr_debug("iss %u\n", be32_to_cpu(rpl5->iss)); + } else { + skb = get_skb(skb, sizeof(*rpl), GFP_KERNEL); + rpl = __skb_put_zero(skb, sizeof(*rpl)); + INIT_TP_WR_CPL(rpl, CPL_PASS_ACCEPT_RPL, ep->hwtid); } rpl->opt0 = cpu_to_be64(opt0); @@ -2683,6 +2676,9 @@ u16 tcp_opt = ntohs(req->tcp_opt); ep = get_ep_from_tid(dev, tid); + if (!ep) + return 0; + pr_debug("ep %p tid %u\n", ep, ep->hwtid); ep->snd_seq = be32_to_cpu(req->snd_isn); ep->rcv_seq = be32_to_cpu(req->rcv_isn); @@ -4151,6 +4147,10 @@ if (neigh->dev->flags & IFF_LOOPBACK) { pdev = ip_dev_find(&init_net, iph->daddr); + if (!pdev) { + pr_err("%s - failed to find device!\n", __func__); + goto free_dst; + } e = cxgb4_l2t_get(dev->rdev.lldi.l2t, neigh, pdev, 0); pi = (struct port_info *)netdev_priv(pdev); --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/cxgb4/restrack.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/cxgb4/restrack.c @@ -238,7 +238,7 @@ if (rdma_nl_put_driver_u64_hex(msg, "history", epcp->history)) goto err_cancel_table; - if (epcp->state == LISTEN) { + if (listen_ep) { if (rdma_nl_put_driver_u32(msg, "stid", listen_ep->stid)) goto err_cancel_table; if (rdma_nl_put_driver_u32(msg, "backlog", listen_ep->backlog)) --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/efa/efa_main.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/efa/efa_main.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause /* - * Copyright 2018-2021 Amazon.com, Inc. or its affiliates. All rights reserved. + * Copyright 2018-2022 Amazon.com, Inc. or its affiliates. All rights reserved. */ #include @@ -14,10 +14,12 @@ #define PCI_DEV_ID_EFA0_VF 0xefa0 #define PCI_DEV_ID_EFA1_VF 0xefa1 +#define PCI_DEV_ID_EFA2_VF 0xefa2 static const struct pci_device_id efa_pci_tbl[] = { { PCI_VDEVICE(AMAZON, PCI_DEV_ID_EFA0_VF) }, { PCI_VDEVICE(AMAZON, PCI_DEV_ID_EFA1_VF) }, + { PCI_VDEVICE(AMAZON, PCI_DEV_ID_EFA2_VF) }, { } }; --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/hfi1/affinity.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/hfi1/affinity.c @@ -177,6 +177,8 @@ for (node = 0; node < node_affinity.num_possible_nodes; node++) hfi1_per_node_cntr[node] = 1; + pci_dev_put(dev); + return 0; } --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/hfi1/file_ops.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/hfi1/file_ops.c @@ -1179,8 +1179,10 @@ goto done; ret = init_user_ctxt(fd, uctxt); - if (ret) + if (ret) { + hfi1_free_ctxt_rcv_groups(uctxt); goto done; + } user_init(uctxt); @@ -1316,12 +1318,15 @@ addr = arg + offsetof(struct hfi1_tid_info, tidcnt); if (copy_to_user((void __user *)addr, &tinfo.tidcnt, sizeof(tinfo.tidcnt))) - return -EFAULT; + ret = -EFAULT; addr = arg + offsetof(struct hfi1_tid_info, length); - if (copy_to_user((void __user *)addr, &tinfo.length, + if (!ret && copy_to_user((void __user *)addr, &tinfo.length, sizeof(tinfo.length))) ret = -EFAULT; + + if (ret) + hfi1_user_exp_rcv_invalid(fd, &tinfo); } return ret; --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/hfi1/firmware.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/hfi1/firmware.c @@ -1743,6 +1743,7 @@ if (!dd->platform_config.data) { dd_dev_err(dd, "%s: Missing config file\n", __func__); + ret = -EINVAL; goto bail; } ptr = (u32 *)dd->platform_config.data; @@ -1751,6 +1752,7 @@ ptr++; if (magic_num != PLATFORM_CONFIG_MAGIC_NUM) { dd_dev_err(dd, "%s: Bad config file\n", __func__); + ret = -EINVAL; goto bail; } @@ -1774,6 +1776,7 @@ if (file_length > dd->platform_config.size) { dd_dev_info(dd, "%s:File claims to be larger than read size\n", __func__); + ret = -EINVAL; goto bail; } else if (file_length < dd->platform_config.size) { dd_dev_info(dd, @@ -1794,6 +1797,7 @@ dd_dev_err(dd, "%s: Failed validation at offset %ld\n", __func__, (ptr - (u32 *) dd->platform_config.data)); + ret = -EINVAL; goto bail; } @@ -1837,6 +1841,7 @@ __func__, table_type, (ptr - (u32 *) dd->platform_config.data)); + ret = -EINVAL; goto bail; /* We don't trust this file now */ } pcfgcache->config_tables[table_type].table = ptr; @@ -1856,6 +1861,7 @@ __func__, table_type, (ptr - (u32 *)dd->platform_config.data)); + ret = -EINVAL; goto bail; /* We don't trust this file now */ } pcfgcache->config_tables[table_type].table_metadata = --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/hfi1/pio.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/hfi1/pio.c @@ -913,8 +913,7 @@ spin_unlock(&sc->release_lock); write_seqlock(&sc->waitlock); - if (!list_empty(&sc->piowait)) - list_move(&sc->piowait, &wake_list); + list_splice_init(&sc->piowait, &wake_list); write_sequnlock(&sc->waitlock); while (!list_empty(&wake_list)) { struct iowait *wait; --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/hfi1/sdma.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/hfi1/sdma.c @@ -3160,8 +3160,7 @@ { int rval = 0; - tx->num_desc++; - if ((unlikely(tx->num_desc == tx->desc_limit))) { + if ((unlikely(tx->num_desc + 1 == tx->desc_limit))) { rval = _extend_sdma_tx_descs(dd, tx); if (rval) { __sdma_txclean(dd, tx); @@ -3174,6 +3173,7 @@ SDMA_MAP_NONE, dd->sdma_pad_phys, sizeof(u32) - (tx->packet_len & (sizeof(u32) - 1))); + tx->num_desc++; _sdma_close_tx(dd, tx); return rval; } --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/hfi1/sdma.h +++ linux-gcp-5.19.0/drivers/infiniband/hw/hfi1/sdma.h @@ -631,14 +631,13 @@ static inline void _sdma_close_tx(struct hfi1_devdata *dd, struct sdma_txreq *tx) { - tx->descp[tx->num_desc].qw[0] |= - SDMA_DESC0_LAST_DESC_FLAG; - tx->descp[tx->num_desc].qw[1] |= - dd->default_desc1; + u16 last_desc = tx->num_desc - 1; + + tx->descp[last_desc].qw[0] |= SDMA_DESC0_LAST_DESC_FLAG; + tx->descp[last_desc].qw[1] |= dd->default_desc1; if (tx->flags & SDMA_TXREQ_F_URGENT) - tx->descp[tx->num_desc].qw[1] |= - (SDMA_DESC1_HEAD_TO_HOST_FLAG | - SDMA_DESC1_INT_REQ_FLAG); + tx->descp[last_desc].qw[1] |= (SDMA_DESC1_HEAD_TO_HOST_FLAG | + SDMA_DESC1_INT_REQ_FLAG); } static inline int _sdma_txadd_daddr( @@ -655,6 +654,7 @@ type, addr, len); WARN_ON(len > tx->tlen); + tx->num_desc++; tx->tlen -= len; /* special cases for last */ if (!tx->tlen) { @@ -666,7 +666,6 @@ _sdma_close_tx(dd, tx); } } - tx->num_desc++; return rval; } --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/hfi1/user_exp_rcv.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/hfi1/user_exp_rcv.c @@ -23,18 +23,25 @@ static bool tid_rb_invalidate(struct mmu_interval_notifier *mni, const struct mmu_notifier_range *range, unsigned long cur_seq); +static bool tid_cover_invalidate(struct mmu_interval_notifier *mni, + const struct mmu_notifier_range *range, + unsigned long cur_seq); static int program_rcvarray(struct hfi1_filedata *fd, struct tid_user_buf *, struct tid_group *grp, unsigned int start, u16 count, u32 *tidlist, unsigned int *tididx, unsigned int *pmapped); -static int unprogram_rcvarray(struct hfi1_filedata *fd, u32 tidinfo, - struct tid_group **grp); +static int unprogram_rcvarray(struct hfi1_filedata *fd, u32 tidinfo); +static void __clear_tid_node(struct hfi1_filedata *fd, + struct tid_rb_node *node); static void clear_tid_node(struct hfi1_filedata *fd, struct tid_rb_node *node); static const struct mmu_interval_notifier_ops tid_mn_ops = { .invalidate = tid_rb_invalidate, }; +static const struct mmu_interval_notifier_ops tid_cover_ops = { + .invalidate = tid_cover_invalidate, +}; /* * Initialize context and file private data needed for Expected @@ -153,16 +160,11 @@ static int pin_rcv_pages(struct hfi1_filedata *fd, struct tid_user_buf *tidbuf) { int pinned; - unsigned int npages; + unsigned int npages = tidbuf->npages; unsigned long vaddr = tidbuf->vaddr; struct page **pages = NULL; struct hfi1_devdata *dd = fd->uctxt->dd; - /* Get the number of pages the user buffer spans */ - npages = num_user_pages(vaddr, tidbuf->length); - if (!npages) - return -EINVAL; - if (npages > fd->uctxt->expected_count) { dd_dev_err(dd, "Expected buffer too big\n"); return -EINVAL; @@ -189,7 +191,6 @@ return pinned; } tidbuf->pages = pages; - tidbuf->npages = npages; fd->tid_n_pinned += pinned; return pinned; } @@ -253,53 +254,66 @@ tididx = 0, mapped, mapped_pages = 0; u32 *tidlist = NULL; struct tid_user_buf *tidbuf; + unsigned long mmu_seq = 0; if (!PAGE_ALIGNED(tinfo->vaddr)) return -EINVAL; + if (tinfo->length == 0) + return -EINVAL; tidbuf = kzalloc(sizeof(*tidbuf), GFP_KERNEL); if (!tidbuf) return -ENOMEM; + mutex_init(&tidbuf->cover_mutex); tidbuf->vaddr = tinfo->vaddr; tidbuf->length = tinfo->length; + tidbuf->npages = num_user_pages(tidbuf->vaddr, tidbuf->length); tidbuf->psets = kcalloc(uctxt->expected_count, sizeof(*tidbuf->psets), GFP_KERNEL); if (!tidbuf->psets) { - kfree(tidbuf); - return -ENOMEM; + ret = -ENOMEM; + goto fail_release_mem; + } + + if (fd->use_mn) { + ret = mmu_interval_notifier_insert( + &tidbuf->notifier, current->mm, + tidbuf->vaddr, tidbuf->npages * PAGE_SIZE, + &tid_cover_ops); + if (ret) + goto fail_release_mem; + mmu_seq = mmu_interval_read_begin(&tidbuf->notifier); } pinned = pin_rcv_pages(fd, tidbuf); if (pinned <= 0) { - kfree(tidbuf->psets); - kfree(tidbuf); - return pinned; + ret = (pinned < 0) ? pinned : -ENOSPC; + goto fail_unpin; } /* Find sets of physically contiguous pages */ tidbuf->n_psets = find_phys_blocks(tidbuf, pinned); - /* - * We don't need to access this under a lock since tid_used is per - * process and the same process cannot be in hfi1_user_exp_rcv_clear() - * and hfi1_user_exp_rcv_setup() at the same time. - */ + /* Reserve the number of expected tids to be used. */ spin_lock(&fd->tid_lock); if (fd->tid_used + tidbuf->n_psets > fd->tid_limit) pageset_count = fd->tid_limit - fd->tid_used; else pageset_count = tidbuf->n_psets; + fd->tid_used += pageset_count; spin_unlock(&fd->tid_lock); - if (!pageset_count) - goto bail; + if (!pageset_count) { + ret = -ENOSPC; + goto fail_unreserve; + } ngroups = pageset_count / dd->rcv_entries.group_size; tidlist = kcalloc(pageset_count, sizeof(*tidlist), GFP_KERNEL); if (!tidlist) { ret = -ENOMEM; - goto nomem; + goto fail_unreserve; } tididx = 0; @@ -395,43 +409,78 @@ } unlock: mutex_unlock(&uctxt->exp_mutex); -nomem: hfi1_cdbg(TID, "total mapped: tidpairs:%u pages:%u (%d)", tididx, mapped_pages, ret); - if (tididx) { - spin_lock(&fd->tid_lock); - fd->tid_used += tididx; - spin_unlock(&fd->tid_lock); - tinfo->tidcnt = tididx; - tinfo->length = mapped_pages * PAGE_SIZE; - if (copy_to_user(u64_to_user_ptr(tinfo->tidlist), - tidlist, sizeof(tidlist[0]) * tididx)) { - /* - * On failure to copy to the user level, we need to undo - * everything done so far so we don't leak resources. - */ - tinfo->tidlist = (unsigned long)&tidlist; - hfi1_user_exp_rcv_clear(fd, tinfo); - tinfo->tidlist = 0; - ret = -EFAULT; - goto bail; + /* fail if nothing was programmed, set error if none provided */ + if (tididx == 0) { + if (ret >= 0) + ret = -ENOSPC; + goto fail_unreserve; + } + + /* adjust reserved tid_used to actual count */ + spin_lock(&fd->tid_lock); + fd->tid_used -= pageset_count - tididx; + spin_unlock(&fd->tid_lock); + + /* unpin all pages not covered by a TID */ + unpin_rcv_pages(fd, tidbuf, NULL, mapped_pages, pinned - mapped_pages, + false); + + if (fd->use_mn) { + /* check for an invalidate during setup */ + bool fail = false; + + mutex_lock(&tidbuf->cover_mutex); + fail = mmu_interval_read_retry(&tidbuf->notifier, mmu_seq); + mutex_unlock(&tidbuf->cover_mutex); + + if (fail) { + ret = -EBUSY; + goto fail_unprogram; } } - /* - * If not everything was mapped (due to insufficient RcvArray entries, - * for example), unpin all unmapped pages so we can pin them nex time. - */ - if (mapped_pages != pinned) - unpin_rcv_pages(fd, tidbuf, NULL, mapped_pages, - (pinned - mapped_pages), false); -bail: + tinfo->tidcnt = tididx; + tinfo->length = mapped_pages * PAGE_SIZE; + + if (copy_to_user(u64_to_user_ptr(tinfo->tidlist), + tidlist, sizeof(tidlist[0]) * tididx)) { + ret = -EFAULT; + goto fail_unprogram; + } + + if (fd->use_mn) + mmu_interval_notifier_remove(&tidbuf->notifier); + kfree(tidbuf->pages); kfree(tidbuf->psets); + kfree(tidbuf); kfree(tidlist); + return 0; + +fail_unprogram: + /* unprogram, unmap, and unpin all allocated TIDs */ + tinfo->tidlist = (unsigned long)tidlist; + hfi1_user_exp_rcv_clear(fd, tinfo); + tinfo->tidlist = 0; + pinned = 0; /* nothing left to unpin */ + pageset_count = 0; /* nothing left reserved */ +fail_unreserve: + spin_lock(&fd->tid_lock); + fd->tid_used -= pageset_count; + spin_unlock(&fd->tid_lock); +fail_unpin: + if (fd->use_mn) + mmu_interval_notifier_remove(&tidbuf->notifier); + if (pinned > 0) + unpin_rcv_pages(fd, tidbuf, NULL, 0, pinned, false); +fail_release_mem: kfree(tidbuf->pages); + kfree(tidbuf->psets); kfree(tidbuf); - return ret > 0 ? 0 : ret; + kfree(tidlist); + return ret; } int hfi1_user_exp_rcv_clear(struct hfi1_filedata *fd, @@ -452,7 +501,7 @@ mutex_lock(&uctxt->exp_mutex); for (tididx = 0; tididx < tinfo->tidcnt; tididx++) { - ret = unprogram_rcvarray(fd, tidinfo[tididx], NULL); + ret = unprogram_rcvarray(fd, tidinfo[tididx]); if (ret) { hfi1_cdbg(TID, "Failed to unprogram rcv array %d", ret); @@ -706,6 +755,7 @@ } node->fdata = fd; + mutex_init(&node->invalidate_mutex); node->phys = page_to_phys(pages[0]); node->npages = npages; node->rcventry = rcventry; @@ -721,11 +771,6 @@ &tid_mn_ops); if (ret) goto out_unmap; - /* - * FIXME: This is in the wrong order, the notifier should be - * established before the pages are pinned by pin_rcv_pages. - */ - mmu_interval_read_begin(&node->notifier); } fd->entry_to_rb[node->rcventry - uctxt->expected_base] = node; @@ -745,8 +790,7 @@ return -EFAULT; } -static int unprogram_rcvarray(struct hfi1_filedata *fd, u32 tidinfo, - struct tid_group **grp) +static int unprogram_rcvarray(struct hfi1_filedata *fd, u32 tidinfo) { struct hfi1_ctxtdata *uctxt = fd->uctxt; struct hfi1_devdata *dd = uctxt->dd; @@ -769,9 +813,6 @@ if (!node || node->rcventry != (uctxt->expected_base + rcventry)) return -EBADF; - if (grp) - *grp = node->grp; - if (fd->use_mn) mmu_interval_notifier_remove(&node->notifier); cacheless_tid_rb_remove(fd, node); @@ -779,23 +820,34 @@ return 0; } -static void clear_tid_node(struct hfi1_filedata *fd, struct tid_rb_node *node) +static void __clear_tid_node(struct hfi1_filedata *fd, struct tid_rb_node *node) { struct hfi1_ctxtdata *uctxt = fd->uctxt; struct hfi1_devdata *dd = uctxt->dd; + mutex_lock(&node->invalidate_mutex); + if (node->freed) + goto done; + node->freed = true; + trace_hfi1_exp_tid_unreg(uctxt->ctxt, fd->subctxt, node->rcventry, node->npages, node->notifier.interval_tree.start, node->phys, node->dma_addr); - /* - * Make sure device has seen the write before we unpin the - * pages. - */ + /* Make sure device has seen the write before pages are unpinned */ hfi1_put_tid(dd, node->rcventry, PT_INVALID_FLUSH, 0, 0); unpin_rcv_pages(fd, NULL, node, 0, node->npages, true); +done: + mutex_unlock(&node->invalidate_mutex); +} + +static void clear_tid_node(struct hfi1_filedata *fd, struct tid_rb_node *node) +{ + struct hfi1_ctxtdata *uctxt = fd->uctxt; + + __clear_tid_node(fd, node); node->grp->used--; node->grp->map &= ~(1 << (node->rcventry - node->grp->base)); @@ -854,10 +906,16 @@ if (node->freed) return true; + /* take action only if unmapping */ + if (range->event != MMU_NOTIFY_UNMAP) + return true; + trace_hfi1_exp_tid_inval(uctxt->ctxt, fdata->subctxt, node->notifier.interval_tree.start, node->rcventry, node->npages, node->dma_addr); - node->freed = true; + + /* clear the hardware rcvarray entry */ + __clear_tid_node(fdata, node); spin_lock(&fdata->invalid_lock); if (fdata->invalid_tid_idx < uctxt->expected_count) { @@ -887,6 +945,23 @@ return true; } +static bool tid_cover_invalidate(struct mmu_interval_notifier *mni, + const struct mmu_notifier_range *range, + unsigned long cur_seq) +{ + struct tid_user_buf *tidbuf = + container_of(mni, struct tid_user_buf, notifier); + + /* take action only if unmapping */ + if (range->event == MMU_NOTIFY_UNMAP) { + mutex_lock(&tidbuf->cover_mutex); + mmu_interval_set_seq(mni, cur_seq); + mutex_unlock(&tidbuf->cover_mutex); + } + + return true; +} + static void cacheless_tid_rb_remove(struct hfi1_filedata *fdata, struct tid_rb_node *tnode) { --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/hfi1/user_exp_rcv.h +++ linux-gcp-5.19.0/drivers/infiniband/hw/hfi1/user_exp_rcv.h @@ -16,6 +16,8 @@ }; struct tid_user_buf { + struct mmu_interval_notifier notifier; + struct mutex cover_mutex; unsigned long vaddr; unsigned long length; unsigned int npages; @@ -27,6 +29,7 @@ struct tid_rb_node { struct mmu_interval_notifier notifier; struct hfi1_filedata *fdata; + struct mutex invalidate_mutex; /* covers hw removal */ unsigned long phys; struct tid_group *grp; u32 rcventry; --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/hfi1/user_pages.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/hfi1/user_pages.c @@ -29,33 +29,52 @@ bool hfi1_can_pin_pages(struct hfi1_devdata *dd, struct mm_struct *mm, u32 nlocked, u32 npages) { - unsigned long ulimit = rlimit(RLIMIT_MEMLOCK), pinned, cache_limit, - size = (cache_size * (1UL << 20)); /* convert to bytes */ - unsigned int usr_ctxts = - dd->num_rcv_contexts - dd->first_dyn_alloc_ctxt; - bool can_lock = capable(CAP_IPC_LOCK); + unsigned long ulimit_pages; + unsigned long cache_limit_pages; + unsigned int usr_ctxts; /* - * Calculate per-cache size. The calculation below uses only a quarter - * of the available per-context limit. This leaves space for other - * pinning. Should we worry about shared ctxts? + * Perform RLIMIT_MEMLOCK based checks unless CAP_IPC_LOCK is present. */ - cache_limit = (ulimit / usr_ctxts) / 4; + if (!capable(CAP_IPC_LOCK)) { + ulimit_pages = + DIV_ROUND_DOWN_ULL(rlimit(RLIMIT_MEMLOCK), PAGE_SIZE); + + /* + * Pinning these pages would exceed this process's locked memory + * limit. + */ + if (atomic64_read(&mm->pinned_vm) + npages > ulimit_pages) + return false; + + /* + * Only allow 1/4 of the user's RLIMIT_MEMLOCK to be used for HFI + * caches. This fraction is then equally distributed among all + * existing user contexts. Note that if RLIMIT_MEMLOCK is + * 'unlimited' (-1), the value of this limit will be > 2^42 pages + * (2^64 / 2^12 / 2^8 / 2^2). + * + * The effectiveness of this check may be reduced if I/O occurs on + * some user contexts before all user contexts are created. This + * check assumes that this process is the only one using this + * context (e.g., the corresponding fd was not passed to another + * process for concurrent access) as there is no per-context, + * per-process tracking of pinned pages. It also assumes that each + * user context has only one cache to limit. + */ + usr_ctxts = dd->num_rcv_contexts - dd->first_dyn_alloc_ctxt; + if (nlocked + npages > (ulimit_pages / usr_ctxts / 4)) + return false; + } - /* If ulimit isn't set to "unlimited" and is smaller than cache_size. */ - if (ulimit != (-1UL) && size > cache_limit) - size = cache_limit; - - /* Convert to number of pages */ - size = DIV_ROUND_UP(size, PAGE_SIZE); - - pinned = atomic64_read(&mm->pinned_vm); - - /* First, check the absolute limit against all pinned pages. */ - if (pinned + npages >= ulimit && !can_lock) + /* + * Pinning these pages would exceed the size limit for this cache. + */ + cache_limit_pages = cache_size * (1024 * 1024) / PAGE_SIZE; + if (nlocked + npages > cache_limit_pages) return false; - return ((nlocked + npages) <= size) || can_lock; + return true; } int hfi1_acquire_user_pages(struct mm_struct *mm, unsigned long vaddr, size_t npages, --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/hns/hns_roce_device.h +++ linux-gcp-5.19.0/drivers/infiniband/hw/hns/hns_roce_device.h @@ -202,6 +202,7 @@ struct list_head page_list; struct mutex page_mutex; struct hns_user_mmap_entry *db_mmap_entry; + u32 config; }; struct hns_roce_pd { @@ -335,6 +336,7 @@ u32 head; u32 tail; void __iomem *db_reg; + u32 ext_sge_cnt; }; struct hns_roce_sge { @@ -637,6 +639,7 @@ struct list_head rq_node; /* all recv qps are on a list */ struct list_head sq_node; /* all send qps are on a list */ struct hns_user_mmap_entry *dwqe_mmap_entry; + u32 config; }; struct hns_roce_ib_iboe { @@ -730,7 +733,6 @@ u32 num_qps; u32 num_pi_qps; u32 reserved_qps; - int num_qpc_timer; u32 num_srqs; u32 max_wqes; u32 max_srq_wrs; --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/hns/hns_roce_hw_v2.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/hns/hns_roce_hw_v2.c @@ -82,7 +82,6 @@ HR_OPC_MAP(ATOMIC_CMP_AND_SWP, ATOM_CMP_AND_SWAP), HR_OPC_MAP(ATOMIC_FETCH_AND_ADD, ATOM_FETCH_AND_ADD), HR_OPC_MAP(SEND_WITH_INV, SEND_WITH_INV), - HR_OPC_MAP(LOCAL_INV, LOCAL_INV), HR_OPC_MAP(MASKED_ATOMIC_CMP_AND_SWP, ATOM_MSK_CMP_AND_SWAP), HR_OPC_MAP(MASKED_ATOMIC_FETCH_AND_ADD, ATOM_MSK_FETCH_AND_ADD), HR_OPC_MAP(REG_MR, FAST_REG_PMR), @@ -157,8 +156,6 @@ unsigned int *sge_idx, u32 msg_len) { struct ib_device *ibdev = &(to_hr_dev(qp->ibqp.device))->ib_dev; - unsigned int dseg_len = sizeof(struct hns_roce_v2_wqe_data_seg); - unsigned int ext_sge_sz = qp->sq.max_gs * dseg_len; unsigned int left_len_in_pg; unsigned int idx = *sge_idx; unsigned int i = 0; @@ -166,7 +163,7 @@ void *addr; void *dseg; - if (msg_len > ext_sge_sz) { + if (msg_len > qp->sq.ext_sge_cnt * HNS_ROCE_SGE_SIZE) { ibdev_err(ibdev, "no enough extended sge space for inline data.\n"); return -EINVAL; @@ -186,7 +183,7 @@ if (len <= left_len_in_pg) { memcpy(dseg, addr, len); - idx += len / dseg_len; + idx += len / HNS_ROCE_SGE_SIZE; i++; if (i >= wr->num_sge) @@ -201,7 +198,7 @@ len -= left_len_in_pg; addr += left_len_in_pg; - idx += left_len_in_pg / dseg_len; + idx += left_len_in_pg / HNS_ROCE_SGE_SIZE; dseg = hns_roce_get_extend_sge(qp, idx & (qp->sge.sge_cnt - 1)); left_len_in_pg = 1 << HNS_HW_PAGE_SHIFT; @@ -524,9 +521,6 @@ else ret = -EOPNOTSUPP; break; - case IB_WR_LOCAL_INV: - hr_reg_enable(rc_sq_wqe, RC_SEND_WQE_SO); - fallthrough; case IB_WR_SEND_WITH_INV: rc_sq_wqe->inv_key = cpu_to_le32(wr->ex.invalidate_rkey); break; @@ -1243,6 +1237,30 @@ hr_dev->cmd.state = HNS_ROCE_CMDQ_STATE_FATAL_ERR; } +static int hns_roce_cmd_err_convert_errno(u16 desc_ret) +{ + struct hns_roce_cmd_errcode errcode_table[] = { + {CMD_EXEC_SUCCESS, 0}, + {CMD_NO_AUTH, -EPERM}, + {CMD_NOT_EXIST, -EOPNOTSUPP}, + {CMD_CRQ_FULL, -EXFULL}, + {CMD_NEXT_ERR, -ENOSR}, + {CMD_NOT_EXEC, -ENOTBLK}, + {CMD_PARA_ERR, -EINVAL}, + {CMD_RESULT_ERR, -ERANGE}, + {CMD_TIMEOUT, -ETIME}, + {CMD_HILINK_ERR, -ENOLINK}, + {CMD_INFO_ILLEGAL, -ENXIO}, + {CMD_INVALID, -EBADR}, + }; + u16 i; + + for (i = 0; i < ARRAY_SIZE(errcode_table); i++) + if (desc_ret == errcode_table[i].return_status) + return errcode_table[i].errno; + return -EIO; +} + static int __hns_roce_cmq_send(struct hns_roce_dev *hr_dev, struct hns_roce_cmq_desc *desc, int num) { @@ -1288,7 +1306,7 @@ dev_err_ratelimited(hr_dev->dev, "Cmdq IO error, opcode = 0x%x, return = 0x%x.\n", desc->opcode, desc_ret); - ret = -EIO; + ret = hns_roce_cmd_err_convert_errno(desc_ret); } } else { /* FW/HW reset or incorrect number of desc */ @@ -1941,7 +1959,7 @@ caps->num_mtpts = HNS_ROCE_V2_MAX_MTPT_NUM; caps->num_pds = HNS_ROCE_V2_MAX_PD_NUM; - caps->num_qpc_timer = HNS_ROCE_V2_MAX_QPC_TIMER_NUM; + caps->qpc_timer_bt_num = HNS_ROCE_V2_MAX_QPC_TIMER_BT_NUM; caps->cqc_timer_bt_num = HNS_ROCE_V2_MAX_CQC_TIMER_BT_NUM; caps->max_qp_init_rdma = HNS_ROCE_V2_MAX_QP_INIT_RDMA; @@ -1995,13 +2013,14 @@ caps->flags |= HNS_ROCE_CAP_FLAG_ATOMIC | HNS_ROCE_CAP_FLAG_MW | HNS_ROCE_CAP_FLAG_SRQ | HNS_ROCE_CAP_FLAG_FRMR | - HNS_ROCE_CAP_FLAG_QP_FLOW_CTRL | HNS_ROCE_CAP_FLAG_XRC; + HNS_ROCE_CAP_FLAG_QP_FLOW_CTRL; caps->gid_table_len[0] = HNS_ROCE_V2_GID_INDEX_NUM; if (hr_dev->pci_dev->revision >= PCI_REVISION_ID_HIP09) { caps->flags |= HNS_ROCE_CAP_FLAG_STASH | - HNS_ROCE_CAP_FLAG_DIRECT_WQE; + HNS_ROCE_CAP_FLAG_DIRECT_WQE | + HNS_ROCE_CAP_FLAG_XRC; caps->max_sq_inline = HNS_ROCE_V3_MAX_SQ_INLINE; } else { caps->max_sq_inline = HNS_ROCE_V2_MAX_SQ_INLINE; @@ -2237,7 +2256,6 @@ caps->max_rq_sg = le16_to_cpu(resp_a->max_rq_sg); caps->max_rq_sg = roundup_pow_of_two(caps->max_rq_sg); caps->max_extend_sg = le32_to_cpu(resp_a->max_extend_sg); - caps->num_qpc_timer = le16_to_cpu(resp_a->num_qpc_timer); caps->max_srq_sges = le16_to_cpu(resp_a->max_srq_sges); caps->max_srq_sges = roundup_pow_of_two(caps->max_srq_sges); caps->num_aeq_vectors = resp_a->num_aeq_vectors; @@ -2315,6 +2333,9 @@ caps->wqe_sge_hop_num = hr_reg_read(resp_d, PF_CAPS_D_EX_SGE_HOP_NUM); caps->wqe_rq_hop_num = hr_reg_read(resp_d, PF_CAPS_D_RQWQE_HOP_NUM); + if (!(caps->page_size_cap & PAGE_SIZE)) + caps->page_size_cap = HNS_ROCE_V2_PAGE_SIZE_SUPPORTED; + return 0; } @@ -2604,31 +2625,124 @@ spin_unlock_irqrestore(&hr_dev->dip_list_lock, flags); } -static void free_mr_exit(struct hns_roce_dev *hr_dev) +static struct ib_pd *free_mr_init_pd(struct hns_roce_dev *hr_dev) +{ + struct hns_roce_v2_priv *priv = hr_dev->priv; + struct hns_roce_v2_free_mr *free_mr = &priv->free_mr; + struct ib_device *ibdev = &hr_dev->ib_dev; + struct hns_roce_pd *hr_pd; + struct ib_pd *pd; + + hr_pd = kzalloc(sizeof(*hr_pd), GFP_KERNEL); + if (ZERO_OR_NULL_PTR(hr_pd)) + return NULL; + pd = &hr_pd->ibpd; + pd->device = ibdev; + + if (hns_roce_alloc_pd(pd, NULL)) { + ibdev_err(ibdev, "failed to create pd for free mr.\n"); + kfree(hr_pd); + return NULL; + } + free_mr->rsv_pd = to_hr_pd(pd); + free_mr->rsv_pd->ibpd.device = &hr_dev->ib_dev; + free_mr->rsv_pd->ibpd.uobject = NULL; + free_mr->rsv_pd->ibpd.__internal_mr = NULL; + atomic_set(&free_mr->rsv_pd->ibpd.usecnt, 0); + + return pd; +} + +static struct ib_cq *free_mr_init_cq(struct hns_roce_dev *hr_dev) { struct hns_roce_v2_priv *priv = hr_dev->priv; struct hns_roce_v2_free_mr *free_mr = &priv->free_mr; + struct ib_device *ibdev = &hr_dev->ib_dev; + struct ib_cq_init_attr cq_init_attr = {}; + struct hns_roce_cq *hr_cq; + struct ib_cq *cq; + + cq_init_attr.cqe = HNS_ROCE_FREE_MR_USED_CQE_NUM; + + hr_cq = kzalloc(sizeof(*hr_cq), GFP_KERNEL); + if (ZERO_OR_NULL_PTR(hr_cq)) + return NULL; + + cq = &hr_cq->ib_cq; + cq->device = ibdev; + + if (hns_roce_create_cq(cq, &cq_init_attr, NULL)) { + ibdev_err(ibdev, "failed to create cq for free mr.\n"); + kfree(hr_cq); + return NULL; + } + free_mr->rsv_cq = to_hr_cq(cq); + free_mr->rsv_cq->ib_cq.device = &hr_dev->ib_dev; + free_mr->rsv_cq->ib_cq.uobject = NULL; + free_mr->rsv_cq->ib_cq.comp_handler = NULL; + free_mr->rsv_cq->ib_cq.event_handler = NULL; + free_mr->rsv_cq->ib_cq.cq_context = NULL; + atomic_set(&free_mr->rsv_cq->ib_cq.usecnt, 0); + + return cq; +} + +static int free_mr_init_qp(struct hns_roce_dev *hr_dev, struct ib_cq *cq, + struct ib_qp_init_attr *init_attr, int i) +{ + struct hns_roce_v2_priv *priv = hr_dev->priv; + struct hns_roce_v2_free_mr *free_mr = &priv->free_mr; + struct ib_device *ibdev = &hr_dev->ib_dev; + struct hns_roce_qp *hr_qp; + struct ib_qp *qp; int ret; + + hr_qp = kzalloc(sizeof(*hr_qp), GFP_KERNEL); + if (ZERO_OR_NULL_PTR(hr_qp)) + return -ENOMEM; + + qp = &hr_qp->ibqp; + qp->device = ibdev; + + ret = hns_roce_create_qp(qp, init_attr, NULL); + if (ret) { + ibdev_err(ibdev, "failed to create qp for free mr.\n"); + kfree(hr_qp); + return ret; + } + + free_mr->rsv_qp[i] = hr_qp; + free_mr->rsv_qp[i]->ibqp.recv_cq = cq; + free_mr->rsv_qp[i]->ibqp.send_cq = cq; + + return 0; +} + +static void free_mr_exit(struct hns_roce_dev *hr_dev) +{ + struct hns_roce_v2_priv *priv = hr_dev->priv; + struct hns_roce_v2_free_mr *free_mr = &priv->free_mr; + struct ib_qp *qp; int i; for (i = 0; i < ARRAY_SIZE(free_mr->rsv_qp); i++) { if (free_mr->rsv_qp[i]) { - ret = ib_destroy_qp(free_mr->rsv_qp[i]); - if (ret) - ibdev_err(&hr_dev->ib_dev, - "failed to destroy qp in free mr.\n"); - + qp = &free_mr->rsv_qp[i]->ibqp; + hns_roce_v2_destroy_qp(qp, NULL); + kfree(free_mr->rsv_qp[i]); free_mr->rsv_qp[i] = NULL; } } if (free_mr->rsv_cq) { - ib_destroy_cq(free_mr->rsv_cq); + hns_roce_destroy_cq(&free_mr->rsv_cq->ib_cq, NULL); + kfree(free_mr->rsv_cq); free_mr->rsv_cq = NULL; } if (free_mr->rsv_pd) { - ib_dealloc_pd(free_mr->rsv_pd); + hns_roce_dealloc_pd(&free_mr->rsv_pd->ibpd, NULL); + kfree(free_mr->rsv_pd); free_mr->rsv_pd = NULL; } } @@ -2637,55 +2751,46 @@ { struct hns_roce_v2_priv *priv = hr_dev->priv; struct hns_roce_v2_free_mr *free_mr = &priv->free_mr; - struct ib_device *ibdev = &hr_dev->ib_dev; - struct ib_cq_init_attr cq_init_attr = {}; struct ib_qp_init_attr qp_init_attr = {}; struct ib_pd *pd; struct ib_cq *cq; - struct ib_qp *qp; int ret; int i; - pd = ib_alloc_pd(ibdev, 0); - if (IS_ERR(pd)) { - ibdev_err(ibdev, "failed to create pd for free mr.\n"); - return PTR_ERR(pd); - } - free_mr->rsv_pd = pd; + pd = free_mr_init_pd(hr_dev); + if (!pd) + return -ENOMEM; - cq_init_attr.cqe = HNS_ROCE_FREE_MR_USED_CQE_NUM; - cq = ib_create_cq(ibdev, NULL, NULL, NULL, &cq_init_attr); - if (IS_ERR(cq)) { - ibdev_err(ibdev, "failed to create cq for free mr.\n"); - ret = PTR_ERR(cq); - goto create_failed; + cq = free_mr_init_cq(hr_dev); + if (!cq) { + ret = -ENOMEM; + goto create_failed_cq; } - free_mr->rsv_cq = cq; qp_init_attr.qp_type = IB_QPT_RC; qp_init_attr.sq_sig_type = IB_SIGNAL_ALL_WR; - qp_init_attr.send_cq = free_mr->rsv_cq; - qp_init_attr.recv_cq = free_mr->rsv_cq; + qp_init_attr.send_cq = cq; + qp_init_attr.recv_cq = cq; for (i = 0; i < ARRAY_SIZE(free_mr->rsv_qp); i++) { qp_init_attr.cap.max_send_wr = HNS_ROCE_FREE_MR_USED_SQWQE_NUM; qp_init_attr.cap.max_send_sge = HNS_ROCE_FREE_MR_USED_SQSGE_NUM; qp_init_attr.cap.max_recv_wr = HNS_ROCE_FREE_MR_USED_RQWQE_NUM; qp_init_attr.cap.max_recv_sge = HNS_ROCE_FREE_MR_USED_RQSGE_NUM; - qp = ib_create_qp(free_mr->rsv_pd, &qp_init_attr); - if (IS_ERR(qp)) { - ibdev_err(ibdev, "failed to create qp for free mr.\n"); - ret = PTR_ERR(qp); - goto create_failed; - } - - free_mr->rsv_qp[i] = qp; + ret = free_mr_init_qp(hr_dev, cq, &qp_init_attr, i); + if (ret) + goto create_failed_qp; } return 0; -create_failed: - free_mr_exit(hr_dev); +create_failed_qp: + hns_roce_destroy_cq(cq, NULL); + kfree(cq); + +create_failed_cq: + hns_roce_dealloc_pd(pd, NULL); + kfree(pd); return ret; } @@ -2701,14 +2806,17 @@ int mask; int ret; - hr_qp = to_hr_qp(free_mr->rsv_qp[sl_num]); + hr_qp = to_hr_qp(&free_mr->rsv_qp[sl_num]->ibqp); hr_qp->free_mr_en = 1; + hr_qp->ibqp.device = ibdev; + hr_qp->ibqp.qp_type = IB_QPT_RC; mask = IB_QP_STATE | IB_QP_PKEY_INDEX | IB_QP_PORT | IB_QP_ACCESS_FLAGS; attr->qp_state = IB_QPS_INIT; attr->port_num = 1; attr->qp_access_flags = IB_ACCESS_REMOTE_WRITE; - ret = ib_modify_qp(&hr_qp->ibqp, attr, mask); + ret = hr_dev->hw->modify_qp(&hr_qp->ibqp, attr, mask, IB_QPS_INIT, + IB_QPS_INIT); if (ret) { ibdev_err(ibdev, "failed to modify qp to init, ret = %d.\n", ret); @@ -2729,7 +2837,8 @@ rdma_ah_set_sl(&attr->ah_attr, (u8)sl_num); - ret = ib_modify_qp(&hr_qp->ibqp, attr, mask); + ret = hr_dev->hw->modify_qp(&hr_qp->ibqp, attr, mask, IB_QPS_INIT, + IB_QPS_RTR); hr_dev->loop_idc = loopback; if (ret) { ibdev_err(ibdev, "failed to modify qp to rtr, ret = %d.\n", @@ -2743,7 +2852,8 @@ attr->sq_psn = HNS_ROCE_FREE_MR_USED_PSN; attr->retry_cnt = HNS_ROCE_FREE_MR_USED_QP_RETRY_CNT; attr->timeout = HNS_ROCE_FREE_MR_USED_QP_TIMEOUT; - ret = ib_modify_qp(&hr_qp->ibqp, attr, mask); + ret = hr_dev->hw->modify_qp(&hr_qp->ibqp, attr, mask, IB_QPS_RTR, + IB_QPS_RTS); if (ret) ibdev_err(ibdev, "failed to modify qp to rts, ret = %d.\n", ret); @@ -2774,8 +2884,12 @@ static int free_mr_init(struct hns_roce_dev *hr_dev) { + struct hns_roce_v2_priv *priv = hr_dev->priv; + struct hns_roce_v2_free_mr *free_mr = &priv->free_mr; int ret; + mutex_init(&free_mr->mutex); + ret = free_mr_alloc_res(hr_dev); if (ret) return ret; @@ -3155,7 +3269,8 @@ int i, count; count = hns_roce_mtr_find(hr_dev, &mr->pbl_mtr, 0, pages, - ARRAY_SIZE(pages), &pbl_ba); + min_t(int, ARRAY_SIZE(pages), mr->npages), + &pbl_ba); if (count < 1) { ibdev_err(ibdev, "failed to find PBL mtr, count = %d.\n", count); @@ -3191,7 +3306,6 @@ hr_reg_write(mpt_entry, MPT_ST, V2_MPT_ST_VALID); hr_reg_write(mpt_entry, MPT_PD, mr->pd); - hr_reg_enable(mpt_entry, MPT_L_INV_EN); hr_reg_write_bool(mpt_entry, MPT_BIND_EN, mr->access & IB_ACCESS_MW_BIND); @@ -3282,7 +3396,6 @@ hr_reg_enable(mpt_entry, MPT_RA_EN); hr_reg_enable(mpt_entry, MPT_R_INV_EN); - hr_reg_enable(mpt_entry, MPT_L_INV_EN); hr_reg_enable(mpt_entry, MPT_FRE); hr_reg_clear(mpt_entry, MPT_MR_MW); @@ -3314,7 +3427,6 @@ hr_reg_write(mpt_entry, MPT_PD, mw->pdn); hr_reg_enable(mpt_entry, MPT_R_INV_EN); - hr_reg_enable(mpt_entry, MPT_L_INV_EN); hr_reg_enable(mpt_entry, MPT_LW_EN); hr_reg_enable(mpt_entry, MPT_MR_MW); @@ -3386,7 +3498,7 @@ mutex_lock(&free_mr->mutex); for (i = 0; i < ARRAY_SIZE(free_mr->rsv_qp); i++) { - hr_qp = to_hr_qp(free_mr->rsv_qp[i]); + hr_qp = free_mr->rsv_qp[i]; ret = free_mr_post_send_lp_wqe(hr_qp); if (ret) { @@ -3401,7 +3513,7 @@ end = msecs_to_jiffies(HNS_ROCE_V2_FREE_MR_TIMEOUT) + jiffies; while (cqe_cnt) { - npolled = hns_roce_v2_poll_cq(free_mr->rsv_cq, cqe_cnt, wc); + npolled = hns_roce_v2_poll_cq(&free_mr->rsv_cq->ib_cq, cqe_cnt, wc); if (npolled < 0) { ibdev_err(ibdev, "failed to poll cqe for free mr, remain %d cqe.\n", @@ -3763,7 +3875,6 @@ HR_WC_OP_MAP(RDMA_READ, RDMA_READ), HR_WC_OP_MAP(RDMA_WRITE, RDMA_WRITE), HR_WC_OP_MAP(RDMA_WRITE_WITH_IMM, RDMA_WRITE), - HR_WC_OP_MAP(LOCAL_INV, LOCAL_INV), HR_WC_OP_MAP(ATOM_CMP_AND_SWAP, COMP_SWAP), HR_WC_OP_MAP(ATOM_FETCH_AND_ADD, FETCH_ADD), HR_WC_OP_MAP(ATOM_MSK_CMP_AND_SWAP, MASKED_COMP_SWAP), @@ -3813,9 +3924,6 @@ case HNS_ROCE_V2_WQE_OP_RDMA_WRITE_WITH_IMM: wc->wc_flags |= IB_WC_WITH_IMM; break; - case HNS_ROCE_V2_WQE_OP_LOCAL_INV: - wc->wc_flags |= IB_WC_WITH_INVALIDATE; - break; case HNS_ROCE_V2_WQE_OP_ATOM_CMP_AND_SWAP: case HNS_ROCE_V2_WQE_OP_ATOM_FETCH_AND_ADD: case HNS_ROCE_V2_WQE_OP_ATOM_MSK_CMP_AND_SWAP: @@ -5355,6 +5463,8 @@ rdma_ah_set_sl(&qp_attr->ah_attr, hr_reg_read(&context, QPC_SL)); + rdma_ah_set_port_num(&qp_attr->ah_attr, hr_qp->port + 1); + rdma_ah_set_ah_flags(&qp_attr->ah_attr, IB_AH_GRH); grh->flow_label = hr_reg_read(&context, QPC_FL); grh->sgid_index = hr_reg_read(&context, QPC_GMV_IDX); grh->hop_limit = hr_reg_read(&context, QPC_HOPLIMIT); @@ -5448,7 +5558,7 @@ return ret; } -static int hns_roce_v2_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata) +int hns_roce_v2_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata) { struct hns_roce_dev *hr_dev = to_hr_dev(ibqp->device); struct hns_roce_qp *hr_qp = to_hr_qp(ibqp); @@ -6000,8 +6110,8 @@ dev_err(dev, "AEQ overflow!\n"); - int_st |= 1 << HNS_ROCE_V2_VF_INT_ST_AEQ_OVERFLOW_S; - roce_write(hr_dev, ROCEE_VF_ABN_INT_ST_REG, int_st); + roce_write(hr_dev, ROCEE_VF_ABN_INT_ST_REG, + 1 << HNS_ROCE_V2_VF_INT_ST_AEQ_OVERFLOW_S); /* Set reset level for reset_event() */ if (ops->set_default_reset_request) --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/hns/hns_roce_hw_v2.h +++ linux-gcp-5.19.0/drivers/infiniband/hw/hns/hns_roce_hw_v2.h @@ -36,11 +36,11 @@ #include #define HNS_ROCE_V2_MAX_QP_NUM 0x1000 -#define HNS_ROCE_V2_MAX_QPC_TIMER_NUM 0x200 #define HNS_ROCE_V2_MAX_WQE_NUM 0x8000 #define HNS_ROCE_V2_MAX_SRQ_WR 0x8000 #define HNS_ROCE_V2_MAX_SRQ_SGE 64 #define HNS_ROCE_V2_MAX_CQ_NUM 0x100000 +#define HNS_ROCE_V2_MAX_QPC_TIMER_BT_NUM 0x100 #define HNS_ROCE_V2_MAX_CQC_TIMER_BT_NUM 0x100 #define HNS_ROCE_V2_MAX_SRQ_NUM 0x100000 #define HNS_ROCE_V2_MAX_CQE_NUM 0x400000 @@ -83,7 +83,7 @@ #define HNS_ROCE_V2_QPC_TIMER_ENTRY_SZ PAGE_SIZE #define HNS_ROCE_V2_CQC_TIMER_ENTRY_SZ PAGE_SIZE -#define HNS_ROCE_V2_PAGE_SIZE_SUPPORTED 0xFFFFF000 +#define HNS_ROCE_V2_PAGE_SIZE_SUPPORTED 0xFFFF000 #define HNS_ROCE_V2_MAX_INNER_MTPT_NUM 2 #define HNS_ROCE_INVALID_LKEY 0x0 #define HNS_ROCE_INVALID_SGE_LENGTH 0x80000000 @@ -182,7 +182,6 @@ HNS_ROCE_V2_WQE_OP_ATOM_MSK_CMP_AND_SWAP = 0x8, HNS_ROCE_V2_WQE_OP_ATOM_MSK_FETCH_AND_ADD = 0x9, HNS_ROCE_V2_WQE_OP_FAST_REG_PMR = 0xa, - HNS_ROCE_V2_WQE_OP_LOCAL_INV = 0xb, HNS_ROCE_V2_WQE_OP_BIND_MW = 0xc, HNS_ROCE_V2_WQE_OP_MASK = 0x1f, }; @@ -275,6 +274,11 @@ CMD_OTHER_ERR = 0xff }; +struct hns_roce_cmd_errcode { + enum hns_roce_cmd_return_status return_status; + int errno; +}; + enum hns_roce_sgid_type { GID_TYPE_FLAG_ROCE_V1 = 0, GID_TYPE_FLAG_ROCE_V2_IPV4, @@ -915,7 +919,6 @@ #define RC_SEND_WQE_OWNER RC_SEND_WQE_FIELD_LOC(7, 7) #define RC_SEND_WQE_CQE RC_SEND_WQE_FIELD_LOC(8, 8) #define RC_SEND_WQE_FENCE RC_SEND_WQE_FIELD_LOC(9, 9) -#define RC_SEND_WQE_SO RC_SEND_WQE_FIELD_LOC(10, 10) #define RC_SEND_WQE_SE RC_SEND_WQE_FIELD_LOC(11, 11) #define RC_SEND_WQE_INLINE RC_SEND_WQE_FIELD_LOC(12, 12) #define RC_SEND_WQE_WQE_INDEX RC_SEND_WQE_FIELD_LOC(30, 15) @@ -1324,9 +1327,9 @@ #define HNS_ROCE_EXT_LLM_MIN_PAGES(que_num) ((que_num) * 4 + 2) struct hns_roce_v2_free_mr { - struct ib_qp *rsv_qp[HNS_ROCE_FREE_MR_USED_QP_NUM]; - struct ib_cq *rsv_cq; - struct ib_pd *rsv_pd; + struct hns_roce_qp *rsv_qp[HNS_ROCE_FREE_MR_USED_QP_NUM]; + struct hns_roce_cq *rsv_cq; + struct hns_roce_pd *rsv_pd; struct mutex mutex; }; @@ -1454,6 +1457,8 @@ int hns_roce_v2_query_cqc_info(struct hns_roce_dev *hr_dev, u32 cqn, int *buffer); +int hns_roce_v2_destroy_qp(struct ib_qp *ibqp, struct ib_udata *udata); + static inline void hns_roce_write64(struct hns_roce_dev *hr_dev, __le32 val[2], void __iomem *dest) { --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/hns/hns_roce_main.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/hns/hns_roce_main.c @@ -354,10 +354,11 @@ static int hns_roce_alloc_ucontext(struct ib_ucontext *uctx, struct ib_udata *udata) { - int ret; struct hns_roce_ucontext *context = to_hr_ucontext(uctx); - struct hns_roce_ib_alloc_ucontext_resp resp = {}; struct hns_roce_dev *hr_dev = to_hr_dev(uctx->device); + struct hns_roce_ib_alloc_ucontext_resp resp = {}; + struct hns_roce_ib_alloc_ucontext ucmd = {}; + int ret; if (!hr_dev->active) return -EAGAIN; @@ -365,6 +366,19 @@ resp.qp_tab_size = hr_dev->caps.num_qps; resp.srq_tab_size = hr_dev->caps.num_srqs; + ret = ib_copy_from_udata(&ucmd, udata, + min(udata->inlen, sizeof(ucmd))); + if (ret) + return ret; + + if (hr_dev->pci_dev->revision >= PCI_REVISION_ID_HIP09) + context->config = ucmd.config & HNS_ROCE_EXSGE_FLAGS; + + if (context->config & HNS_ROCE_EXSGE_FLAGS) { + resp.config |= HNS_ROCE_RSP_EXSGE_FLAGS; + resp.max_inline_data = hr_dev->caps.max_sq_inline; + } + ret = hns_roce_uar_alloc(hr_dev, &context->uar); if (ret) goto error_fail_uar_alloc; @@ -429,14 +443,15 @@ prot = pgprot_device(vma->vm_page_prot); break; default: - return -EINVAL; + ret = -EINVAL; + goto out; } ret = rdma_user_mmap_io(uctx, vma, pfn, rdma_entry->npages * PAGE_SIZE, prot, rdma_entry); +out: rdma_user_mmap_entry_put(rdma_entry); - return ret; } @@ -725,7 +740,7 @@ ret = hns_roce_init_hem_table(hr_dev, &hr_dev->qpc_timer_table, HEM_TYPE_QPC_TIMER, hr_dev->caps.qpc_timer_entry_sz, - hr_dev->caps.num_qpc_timer, 1); + hr_dev->caps.qpc_timer_bt_num, 1); if (ret) { dev_err(dev, "Failed to init QPC timer memory, aborting.\n"); --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/hns/hns_roce_mr.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/hns/hns_roce_mr.c @@ -249,7 +249,6 @@ goto err_alloc_pbl; mr->ibmr.rkey = mr->ibmr.lkey = mr->key; - mr->ibmr.length = length; return &mr->ibmr; @@ -393,10 +392,10 @@ return &mr->ibmr; -err_key: - free_mr_key(hr_dev, mr); err_pbl: free_mr_pbl(hr_dev, mr); +err_key: + free_mr_key(hr_dev, mr); err_free: kfree(mr); return ERR_PTR(ret); --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/hns/hns_roce_qp.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/hns/hns_roce_qp.c @@ -462,11 +462,8 @@ hr_qp->rq.max_gs = roundup_pow_of_two(max(1U, cap->max_recv_sge) + hr_qp->rq.rsv_sge); - if (hr_dev->caps.max_rq_sg <= HNS_ROCE_SGE_IN_WQE) - hr_qp->rq.wqe_shift = ilog2(hr_dev->caps.max_rq_desc_sz); - else - hr_qp->rq.wqe_shift = ilog2(hr_dev->caps.max_rq_desc_sz * - hr_qp->rq.max_gs); + hr_qp->rq.wqe_shift = ilog2(hr_dev->caps.max_rq_desc_sz * + hr_qp->rq.max_gs); hr_qp->rq.wqe_cnt = cnt; if (hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_RQ_INLINE && @@ -482,38 +479,109 @@ return 0; } -static u32 get_wqe_ext_sge_cnt(struct hns_roce_qp *qp) +static u32 get_max_inline_data(struct hns_roce_dev *hr_dev, + struct ib_qp_cap *cap) { - /* GSI/UD QP only has extended sge */ - if (qp->ibqp.qp_type == IB_QPT_GSI || qp->ibqp.qp_type == IB_QPT_UD) - return qp->sq.max_gs; - - if (qp->sq.max_gs > HNS_ROCE_SGE_IN_WQE) - return qp->sq.max_gs - HNS_ROCE_SGE_IN_WQE; + if (cap->max_inline_data) { + cap->max_inline_data = roundup_pow_of_two(cap->max_inline_data); + return min(cap->max_inline_data, + hr_dev->caps.max_sq_inline); + } return 0; } +static void update_inline_data(struct hns_roce_qp *hr_qp, + struct ib_qp_cap *cap) +{ + u32 sge_num = hr_qp->sq.ext_sge_cnt; + + if (hr_qp->config & HNS_ROCE_EXSGE_FLAGS) { + if (!(hr_qp->ibqp.qp_type == IB_QPT_GSI || + hr_qp->ibqp.qp_type == IB_QPT_UD)) + sge_num = max((u32)HNS_ROCE_SGE_IN_WQE, sge_num); + + cap->max_inline_data = max(cap->max_inline_data, + sge_num * HNS_ROCE_SGE_SIZE); + } + + hr_qp->max_inline_data = cap->max_inline_data; +} + +static u32 get_sge_num_from_max_send_sge(bool is_ud_or_gsi, + u32 max_send_sge) +{ + unsigned int std_sge_num; + unsigned int min_sge; + + std_sge_num = is_ud_or_gsi ? 0 : HNS_ROCE_SGE_IN_WQE; + min_sge = is_ud_or_gsi ? 1 : 0; + return max_send_sge > std_sge_num ? (max_send_sge - std_sge_num) : + min_sge; +} + +static unsigned int get_sge_num_from_max_inl_data(bool is_ud_or_gsi, + u32 max_inline_data) +{ + unsigned int inline_sge; + + inline_sge = roundup_pow_of_two(max_inline_data) / HNS_ROCE_SGE_SIZE; + + /* + * if max_inline_data less than + * HNS_ROCE_SGE_IN_WQE * HNS_ROCE_SGE_SIZE, + * In addition to ud's mode, no need to extend sge. + */ + if (!is_ud_or_gsi && inline_sge <= HNS_ROCE_SGE_IN_WQE) + inline_sge = 0; + + return inline_sge; +} + static void set_ext_sge_param(struct hns_roce_dev *hr_dev, u32 sq_wqe_cnt, struct hns_roce_qp *hr_qp, struct ib_qp_cap *cap) { + bool is_ud_or_gsi = (hr_qp->ibqp.qp_type == IB_QPT_GSI || + hr_qp->ibqp.qp_type == IB_QPT_UD); + unsigned int std_sge_num; + u32 inline_ext_sge = 0; + u32 ext_wqe_sge_cnt; u32 total_sge_cnt; - u32 wqe_sge_cnt; + + cap->max_inline_data = get_max_inline_data(hr_dev, cap); hr_qp->sge.sge_shift = HNS_ROCE_SGE_SHIFT; + std_sge_num = is_ud_or_gsi ? 0 : HNS_ROCE_SGE_IN_WQE; + ext_wqe_sge_cnt = get_sge_num_from_max_send_sge(is_ud_or_gsi, + cap->max_send_sge); + + if (hr_qp->config & HNS_ROCE_EXSGE_FLAGS) { + inline_ext_sge = max(ext_wqe_sge_cnt, + get_sge_num_from_max_inl_data(is_ud_or_gsi, + cap->max_inline_data)); + hr_qp->sq.ext_sge_cnt = inline_ext_sge ? + roundup_pow_of_two(inline_ext_sge) : 0; - hr_qp->sq.max_gs = max(1U, cap->max_send_sge); + hr_qp->sq.max_gs = max(1U, (hr_qp->sq.ext_sge_cnt + std_sge_num)); + hr_qp->sq.max_gs = min(hr_qp->sq.max_gs, hr_dev->caps.max_sq_sg); - wqe_sge_cnt = get_wqe_ext_sge_cnt(hr_qp); + ext_wqe_sge_cnt = hr_qp->sq.ext_sge_cnt; + } else { + hr_qp->sq.max_gs = max(1U, cap->max_send_sge); + hr_qp->sq.max_gs = min(hr_qp->sq.max_gs, hr_dev->caps.max_sq_sg); + hr_qp->sq.ext_sge_cnt = hr_qp->sq.max_gs; + } /* If the number of extended sge is not zero, they MUST use the * space of HNS_HW_PAGE_SIZE at least. */ - if (wqe_sge_cnt) { - total_sge_cnt = roundup_pow_of_two(sq_wqe_cnt * wqe_sge_cnt); + if (ext_wqe_sge_cnt) { + total_sge_cnt = roundup_pow_of_two(sq_wqe_cnt * ext_wqe_sge_cnt); hr_qp->sge.sge_cnt = max(total_sge_cnt, (u32)HNS_HW_PAGE_SIZE / HNS_ROCE_SGE_SIZE); } + + update_inline_data(hr_qp, cap); } static int check_sq_size_with_integrity(struct hns_roce_dev *hr_dev, @@ -562,6 +630,7 @@ hr_qp->sq.wqe_shift = ucmd->log_sq_stride; hr_qp->sq.wqe_cnt = cnt; + cap->max_send_sge = hr_qp->sq.max_gs; return 0; } @@ -992,13 +1061,9 @@ struct hns_roce_ib_create_qp *ucmd) { struct ib_device *ibdev = &hr_dev->ib_dev; + struct hns_roce_ucontext *uctx; int ret; - if (init_attr->cap.max_inline_data > hr_dev->caps.max_sq_inline) - init_attr->cap.max_inline_data = hr_dev->caps.max_sq_inline; - - hr_qp->max_inline_data = init_attr->cap.max_inline_data; - if (init_attr->sq_sig_type == IB_SIGNAL_ALL_WR) hr_qp->sq_signal_bits = IB_SIGNAL_ALL_WR; else @@ -1021,12 +1086,17 @@ return ret; } + uctx = rdma_udata_to_drv_context(udata, struct hns_roce_ucontext, + ibucontext); + hr_qp->config = uctx->config; ret = set_user_sq_size(hr_dev, &init_attr->cap, hr_qp, ucmd); if (ret) ibdev_err(ibdev, "failed to set user SQ size, ret = %d.\n", ret); } else { + if (hr_dev->pci_dev->revision >= PCI_REVISION_ID_HIP09) + hr_qp->config = HNS_ROCE_EXSGE_FLAGS; ret = set_kernel_sq_size(hr_dev, &init_attr->cap, hr_qp); if (ret) ibdev_err(ibdev, --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/irdma/cm.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/irdma/cm.c @@ -1477,12 +1477,13 @@ list_for_each_entry (listen_node, &cm_core->listen_list, list) { memcpy(listen_addr, listen_node->loc_addr, sizeof(listen_addr)); listen_port = listen_node->loc_port; + if (listen_port != dst_port || + !(listener_state & listen_node->listener_state)) + continue; /* compare node pair, return node handle if a match */ - if ((!memcmp(listen_addr, dst_addr, sizeof(listen_addr)) || - !memcmp(listen_addr, ip_zero, sizeof(listen_addr))) && - listen_port == dst_port && - vlan_id == listen_node->vlan_id && - (listener_state & listen_node->listener_state)) { + if (!memcmp(listen_addr, ip_zero, sizeof(listen_addr)) || + (!memcmp(listen_addr, dst_addr, sizeof(listen_addr)) && + vlan_id == listen_node->vlan_id)) { refcount_inc(&listen_node->refcnt); spin_unlock_irqrestore(&cm_core->listen_list_lock, flags); @@ -1721,6 +1722,9 @@ continue; idev = in_dev_get(ip_dev); + if (!idev) + continue; + in_dev_for_each_ifa_rtnl(ifa, idev) { ibdev_dbg(&iwdev->ibdev, "CM: Allocating child CM Listener forIP=%pI4, vlan_id=%d, MAC=%pM\n", --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/irdma/defs.h +++ linux-gcp-5.19.0/drivers/infiniband/hw/irdma/defs.h @@ -314,6 +314,7 @@ #define IRDMA_AE_IB_REMOTE_ACCESS_ERROR 0x020d #define IRDMA_AE_IB_REMOTE_OP_ERROR 0x020e #define IRDMA_AE_WQE_LSMM_TOO_LONG 0x0220 +#define IRDMA_AE_INVALID_REQUEST 0x0223 #define IRDMA_AE_DDP_INVALID_MSN_GAP_IN_MSN 0x0301 #define IRDMA_AE_DDP_UBE_DDP_MESSAGE_TOO_LONG_FOR_AVAILABLE_BUFFER 0x0303 #define IRDMA_AE_DDP_UBE_INVALID_DDP_VERSION 0x0304 --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/irdma/hw.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/irdma/hw.c @@ -138,59 +138,68 @@ qp->event_type = IRDMA_QP_EVENT_CATASTROPHIC; switch (info->ae_id) { - case IRDMA_AE_AMP_UNALLOCATED_STAG: case IRDMA_AE_AMP_BOUNDS_VIOLATION: case IRDMA_AE_AMP_INVALID_STAG: - qp->event_type = IRDMA_QP_EVENT_ACCESS_ERR; - fallthrough; + case IRDMA_AE_AMP_RIGHTS_VIOLATION: + case IRDMA_AE_AMP_UNALLOCATED_STAG: case IRDMA_AE_AMP_BAD_PD: - case IRDMA_AE_UDA_XMIT_BAD_PD: + case IRDMA_AE_AMP_BAD_QP: + case IRDMA_AE_AMP_BAD_STAG_KEY: + case IRDMA_AE_AMP_BAD_STAG_INDEX: + case IRDMA_AE_AMP_TO_WRAP: + case IRDMA_AE_PRIV_OPERATION_DENIED: qp->flush_code = FLUSH_PROT_ERR; + qp->event_type = IRDMA_QP_EVENT_ACCESS_ERR; break; - case IRDMA_AE_AMP_BAD_QP: + case IRDMA_AE_UDA_XMIT_BAD_PD: case IRDMA_AE_WQE_UNEXPECTED_OPCODE: qp->flush_code = FLUSH_LOC_QP_OP_ERR; + qp->event_type = IRDMA_QP_EVENT_CATASTROPHIC; + break; + case IRDMA_AE_UDA_XMIT_DGRAM_TOO_LONG: + case IRDMA_AE_UDA_XMIT_DGRAM_TOO_SHORT: + case IRDMA_AE_UDA_L4LEN_INVALID: + case IRDMA_AE_DDP_UBE_INVALID_MO: + case IRDMA_AE_DDP_UBE_DDP_MESSAGE_TOO_LONG_FOR_AVAILABLE_BUFFER: + qp->flush_code = FLUSH_LOC_LEN_ERR; + qp->event_type = IRDMA_QP_EVENT_CATASTROPHIC; break; - case IRDMA_AE_AMP_BAD_STAG_KEY: - case IRDMA_AE_AMP_BAD_STAG_INDEX: - case IRDMA_AE_AMP_TO_WRAP: - case IRDMA_AE_AMP_RIGHTS_VIOLATION: case IRDMA_AE_AMP_INVALIDATE_NO_REMOTE_ACCESS_RIGHTS: - case IRDMA_AE_PRIV_OPERATION_DENIED: - case IRDMA_AE_IB_INVALID_REQUEST: case IRDMA_AE_IB_REMOTE_ACCESS_ERROR: qp->flush_code = FLUSH_REM_ACCESS_ERR; qp->event_type = IRDMA_QP_EVENT_ACCESS_ERR; break; case IRDMA_AE_LLP_SEGMENT_TOO_SMALL: - case IRDMA_AE_DDP_UBE_DDP_MESSAGE_TOO_LONG_FOR_AVAILABLE_BUFFER: - case IRDMA_AE_UDA_XMIT_DGRAM_TOO_LONG: - case IRDMA_AE_UDA_XMIT_DGRAM_TOO_SHORT: - case IRDMA_AE_UDA_L4LEN_INVALID: + case IRDMA_AE_LLP_RECEIVED_MPA_CRC_ERROR: case IRDMA_AE_ROCE_RSP_LENGTH_ERROR: - qp->flush_code = FLUSH_LOC_LEN_ERR; + case IRDMA_AE_IB_REMOTE_OP_ERROR: + qp->flush_code = FLUSH_REM_OP_ERR; + qp->event_type = IRDMA_QP_EVENT_CATASTROPHIC; break; case IRDMA_AE_LCE_QP_CATASTROPHIC: qp->flush_code = FLUSH_FATAL_ERR; + qp->event_type = IRDMA_QP_EVENT_CATASTROPHIC; break; - case IRDMA_AE_DDP_UBE_INVALID_MO: case IRDMA_AE_IB_RREQ_AND_Q1_FULL: - case IRDMA_AE_LLP_RECEIVED_MPA_CRC_ERROR: qp->flush_code = FLUSH_GENERAL_ERR; break; case IRDMA_AE_LLP_TOO_MANY_RETRIES: qp->flush_code = FLUSH_RETRY_EXC_ERR; + qp->event_type = IRDMA_QP_EVENT_CATASTROPHIC; break; case IRDMA_AE_AMP_MWBIND_INVALID_RIGHTS: case IRDMA_AE_AMP_MWBIND_BIND_DISABLED: case IRDMA_AE_AMP_MWBIND_INVALID_BOUNDS: qp->flush_code = FLUSH_MW_BIND_ERR; + qp->event_type = IRDMA_QP_EVENT_ACCESS_ERR; break; - case IRDMA_AE_IB_REMOTE_OP_ERROR: - qp->flush_code = FLUSH_REM_OP_ERR; + case IRDMA_AE_IB_INVALID_REQUEST: + qp->flush_code = FLUSH_REM_INV_REQ_ERR; + qp->event_type = IRDMA_QP_EVENT_REQ_ERR; break; default: - qp->flush_code = FLUSH_FATAL_ERR; + qp->flush_code = FLUSH_GENERAL_ERR; + qp->event_type = IRDMA_QP_EVENT_CATASTROPHIC; break; } } @@ -257,10 +266,6 @@ iwqp->last_aeq = info->ae_id; spin_unlock_irqrestore(&iwqp->lock, flags); ctx_info = &iwqp->ctx_info; - if (rdma_protocol_roce(&iwqp->iwdev->ibdev, 1)) - ctx_info->roce_info->err_rq_idx_valid = true; - else - ctx_info->iwarp_info->err_rq_idx_valid = true; } else { if (info->ae_id != IRDMA_AE_CQ_OPERATION_ERROR) continue; @@ -370,16 +375,12 @@ case IRDMA_AE_LCE_FUNCTION_CATASTROPHIC: case IRDMA_AE_LCE_CQ_CATASTROPHIC: case IRDMA_AE_UDA_XMIT_DGRAM_TOO_LONG: - if (rdma_protocol_roce(&iwdev->ibdev, 1)) - ctx_info->roce_info->err_rq_idx_valid = false; - else - ctx_info->iwarp_info->err_rq_idx_valid = false; - fallthrough; default: ibdev_err(&iwdev->ibdev, "abnormal ae_id = 0x%x bool qp=%d qp_id = %d\n", info->ae_id, info->qp, info->qp_cq_id); if (rdma_protocol_roce(&iwdev->ibdev, 1)) { - if (!info->sq && ctx_info->roce_info->err_rq_idx_valid) { + ctx_info->roce_info->err_rq_idx_valid = info->rq; + if (info->rq) { ctx_info->roce_info->err_rq_idx = info->wqe_idx; irdma_sc_qp_setctx_roce(&iwqp->sc_qp, iwqp->host_ctx.va, ctx_info); @@ -388,7 +389,8 @@ irdma_cm_disconn(iwqp); break; } - if (!info->sq && ctx_info->iwarp_info->err_rq_idx_valid) { + ctx_info->iwarp_info->err_rq_idx_valid = info->rq; + if (info->rq) { ctx_info->iwarp_info->err_rq_idx = info->wqe_idx; ctx_info->tcp_info_valid = false; ctx_info->iwarp_info_valid = true; @@ -481,6 +483,8 @@ iw_qvlist->num_vectors = rf->msix_count; if (rf->msix_count <= num_online_cpus()) rf->msix_shared = true; + else if (rf->msix_count > num_online_cpus() + 1) + rf->msix_count = num_online_cpus() + 1; pmsix = rf->msix_entries; for (i = 0, ceq_idx = 0; i < rf->msix_count; i++, iw_qvinfo++) { --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/irdma/type.h +++ linux-gcp-5.19.0/drivers/infiniband/hw/irdma/type.h @@ -98,6 +98,7 @@ enum irdma_qp_event_type { IRDMA_QP_EVENT_CATASTROPHIC, IRDMA_QP_EVENT_ACCESS_ERR, + IRDMA_QP_EVENT_REQ_ERR, }; enum irdma_hw_stats_index_32b { --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/irdma/uk.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/irdma/uk.c @@ -497,7 +497,8 @@ FIELD_PREP(IRDMAQPSQ_IMMDATA, info->imm_data)); i = 0; } else { - qp->wqe_ops.iw_set_fragment(wqe, 0, op_info->sg_list, + qp->wqe_ops.iw_set_fragment(wqe, 0, + frag_cnt ? op_info->sg_list : NULL, qp->swqe_polarity); i = 1; } @@ -565,21 +566,37 @@ /** * irdma_copy_inline_data_gen_1 - Copy inline data to wqe - * @dest: pointer to wqe - * @src: pointer to inline data - * @len: length of inline data to copy + * @wqe: pointer to wqe + * @sge_list: table of pointers to inline data + * @num_sges: Total inline data length * @polarity: compatibility parameter */ -static void irdma_copy_inline_data_gen_1(u8 *dest, u8 *src, u32 len, - u8 polarity) +static void irdma_copy_inline_data_gen_1(u8 *wqe, struct ib_sge *sge_list, + u32 num_sges, u8 polarity) { - if (len <= 16) { - memcpy(dest, src, len); - } else { - memcpy(dest, src, 16); - src += 16; - dest = dest + 32; - memcpy(dest, src, len - 16); + u32 quanta_bytes_remaining = 16; + int i; + + for (i = 0; i < num_sges; i++) { + u8 *cur_sge = (u8 *)(uintptr_t)sge_list[i].addr; + u32 sge_len = sge_list[i].length; + + while (sge_len) { + u32 bytes_copied; + + bytes_copied = min(sge_len, quanta_bytes_remaining); + memcpy(wqe, cur_sge, bytes_copied); + wqe += bytes_copied; + cur_sge += bytes_copied; + quanta_bytes_remaining -= bytes_copied; + sge_len -= bytes_copied; + + if (!quanta_bytes_remaining) { + /* Remaining inline bytes reside after hdr */ + wqe += 16; + quanta_bytes_remaining = 32; + } + } } } @@ -611,35 +628,51 @@ /** * irdma_copy_inline_data - Copy inline data to wqe - * @dest: pointer to wqe - * @src: pointer to inline data - * @len: length of inline data to copy + * @wqe: pointer to wqe + * @sge_list: table of pointers to inline data + * @num_sges: number of SGE's * @polarity: polarity of wqe valid bit */ -static void irdma_copy_inline_data(u8 *dest, u8 *src, u32 len, u8 polarity) +static void irdma_copy_inline_data(u8 *wqe, struct ib_sge *sge_list, + u32 num_sges, u8 polarity) { u8 inline_valid = polarity << IRDMA_INLINE_VALID_S; - u32 copy_size; - - dest += 8; - if (len <= 8) { - memcpy(dest, src, len); - return; - } - - *((u64 *)dest) = *((u64 *)src); - len -= 8; - src += 8; - dest += 24; /* point to additional 32 byte quanta */ - - while (len) { - copy_size = len < 31 ? len : 31; - memcpy(dest, src, copy_size); - *(dest + 31) = inline_valid; - len -= copy_size; - dest += 32; - src += copy_size; + u32 quanta_bytes_remaining = 8; + bool first_quanta = true; + int i; + + wqe += 8; + + for (i = 0; i < num_sges; i++) { + u8 *cur_sge = (u8 *)(uintptr_t)sge_list[i].addr; + u32 sge_len = sge_list[i].length; + + while (sge_len) { + u32 bytes_copied; + + bytes_copied = min(sge_len, quanta_bytes_remaining); + memcpy(wqe, cur_sge, bytes_copied); + wqe += bytes_copied; + cur_sge += bytes_copied; + quanta_bytes_remaining -= bytes_copied; + sge_len -= bytes_copied; + + if (!quanta_bytes_remaining) { + quanta_bytes_remaining = 31; + + /* Remaining inline bytes reside after hdr */ + if (first_quanta) { + first_quanta = false; + wqe += 16; + } else { + *wqe = inline_valid; + wqe++; + } + } + } } + if (!first_quanta && quanta_bytes_remaining < 31) + *(wqe + quanta_bytes_remaining) = inline_valid; } /** @@ -678,20 +711,27 @@ struct irdma_post_sq_info *info, bool post_sq) { __le64 *wqe; - struct irdma_inline_rdma_write *op_info; + struct irdma_rdma_write *op_info; u64 hdr = 0; u32 wqe_idx; bool read_fence = false; + u32 i, total_size = 0; u16 quanta; info->push_wqe = qp->push_db ? true : false; - op_info = &info->op.inline_rdma_write; + op_info = &info->op.rdma_write; - if (op_info->len > qp->max_inline_data) + if (unlikely(qp->max_sq_frag_cnt < op_info->num_lo_sges)) return -EINVAL; - quanta = qp->wqe_ops.iw_inline_data_size_to_quanta(op_info->len); - wqe = irdma_qp_get_next_send_wqe(qp, &wqe_idx, quanta, op_info->len, + for (i = 0; i < op_info->num_lo_sges; i++) + total_size += op_info->lo_sg_list[i].length; + + if (unlikely(total_size > qp->max_inline_data)) + return -EINVAL; + + quanta = qp->wqe_ops.iw_inline_data_size_to_quanta(total_size); + wqe = irdma_qp_get_next_send_wqe(qp, &wqe_idx, quanta, total_size, info); if (!wqe) return -ENOMEM; @@ -704,7 +744,7 @@ hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, op_info->rem_addr.lkey) | FIELD_PREP(IRDMAQPSQ_OPCODE, info->op_type) | - FIELD_PREP(IRDMAQPSQ_INLINEDATALEN, op_info->len) | + FIELD_PREP(IRDMAQPSQ_INLINEDATALEN, total_size) | FIELD_PREP(IRDMAQPSQ_REPORTRTT, info->report_rtt ? 1 : 0) | FIELD_PREP(IRDMAQPSQ_INLINEDATAFLAG, 1) | FIELD_PREP(IRDMAQPSQ_IMMDATAFLAG, info->imm_data_valid ? 1 : 0) | @@ -718,7 +758,8 @@ set_64bit_val(wqe, 0, FIELD_PREP(IRDMAQPSQ_IMMDATA, info->imm_data)); - qp->wqe_ops.iw_copy_inline_data((u8 *)wqe, op_info->data, op_info->len, + qp->wqe_ops.iw_copy_inline_data((u8 *)wqe, op_info->lo_sg_list, + op_info->num_lo_sges, qp->swqe_polarity); dma_wmb(); /* make sure WQE is populated before valid bit is set */ @@ -744,20 +785,27 @@ struct irdma_post_sq_info *info, bool post_sq) { __le64 *wqe; - struct irdma_post_inline_send *op_info; + struct irdma_post_send *op_info; u64 hdr; u32 wqe_idx; bool read_fence = false; + u32 i, total_size = 0; u16 quanta; info->push_wqe = qp->push_db ? true : false; - op_info = &info->op.inline_send; + op_info = &info->op.send; + + if (unlikely(qp->max_sq_frag_cnt < op_info->num_sges)) + return -EINVAL; + + for (i = 0; i < op_info->num_sges; i++) + total_size += op_info->sg_list[i].length; - if (op_info->len > qp->max_inline_data) + if (unlikely(total_size > qp->max_inline_data)) return -EINVAL; - quanta = qp->wqe_ops.iw_inline_data_size_to_quanta(op_info->len); - wqe = irdma_qp_get_next_send_wqe(qp, &wqe_idx, quanta, op_info->len, + quanta = qp->wqe_ops.iw_inline_data_size_to_quanta(total_size); + wqe = irdma_qp_get_next_send_wqe(qp, &wqe_idx, quanta, total_size, info); if (!wqe) return -ENOMEM; @@ -772,7 +820,7 @@ hdr = FIELD_PREP(IRDMAQPSQ_REMSTAG, info->stag_to_inv) | FIELD_PREP(IRDMAQPSQ_AHID, op_info->ah_id) | FIELD_PREP(IRDMAQPSQ_OPCODE, info->op_type) | - FIELD_PREP(IRDMAQPSQ_INLINEDATALEN, op_info->len) | + FIELD_PREP(IRDMAQPSQ_INLINEDATALEN, total_size) | FIELD_PREP(IRDMAQPSQ_IMMDATAFLAG, (info->imm_data_valid ? 1 : 0)) | FIELD_PREP(IRDMAQPSQ_REPORTRTT, (info->report_rtt ? 1 : 0)) | @@ -788,8 +836,8 @@ if (info->imm_data_valid) set_64bit_val(wqe, 0, FIELD_PREP(IRDMAQPSQ_IMMDATA, info->imm_data)); - qp->wqe_ops.iw_copy_inline_data((u8 *)wqe, op_info->data, op_info->len, - qp->swqe_polarity); + qp->wqe_ops.iw_copy_inline_data((u8 *)wqe, op_info->sg_list, + op_info->num_sges, qp->swqe_polarity); dma_wmb(); /* make sure WQE is populated before valid bit is set */ @@ -1001,7 +1049,7 @@ __le64 *cqe; struct irdma_qp_uk *qp; struct irdma_ring *pring = NULL; - u32 wqe_idx, q_type; + u32 wqe_idx; int ret_code; bool move_cq_head = true; u8 polarity; @@ -1072,7 +1120,7 @@ info->ud_vlan_valid = false; } - q_type = (u8)FIELD_GET(IRDMA_CQ_SQ, qword3); + info->q_type = (u8)FIELD_GET(IRDMA_CQ_SQ, qword3); info->error = (bool)FIELD_GET(IRDMA_CQ_ERROR, qword3); info->push_dropped = (bool)FIELD_GET(IRDMACQ_PSHDROP, qword3); info->ipv4 = (bool)FIELD_GET(IRDMACQ_IPV4, qword3); @@ -1111,8 +1159,9 @@ } wqe_idx = (u32)FIELD_GET(IRDMA_CQ_WQEIDX, qword3); info->qp_handle = (irdma_qp_handle)(unsigned long)qp; + info->op_type = (u8)FIELD_GET(IRDMA_CQ_SQ, qword3); - if (q_type == IRDMA_CQE_QTYPE_RQ) { + if (info->q_type == IRDMA_CQE_QTYPE_RQ) { u32 array_idx; array_idx = wqe_idx / qp->rq_wqe_size_multiplier; @@ -1132,10 +1181,6 @@ info->bytes_xfered = (u32)FIELD_GET(IRDMACQ_PAYLDLEN, qword0); - if (info->imm_valid) - info->op_type = IRDMA_OP_TYPE_REC_IMM; - else - info->op_type = IRDMA_OP_TYPE_REC; if (qword3 & IRDMACQ_STAG) { info->stag_invalid_set = true; info->inv_stag = (u32)FIELD_GET(IRDMACQ_INVSTAG, qword2); @@ -1187,23 +1232,25 @@ do { __le64 *sw_wqe; u64 wqe_qword; - u8 op_type; u32 tail; tail = qp->sq_ring.tail; sw_wqe = qp->sq_base[tail].elem; get_64bit_val(sw_wqe, 24, &wqe_qword); - op_type = (u8)FIELD_GET(IRDMAQPSQ_OPCODE, wqe_qword); - info->op_type = op_type; + info->op_type = (u8)FIELD_GET(IRDMAQPSQ_OPCODE, + wqe_qword); IRDMA_RING_SET_TAIL(qp->sq_ring, tail + qp->sq_wrtrk_array[tail].quanta); - if (op_type != IRDMAQP_OP_NOP) { + if (info->op_type != IRDMAQP_OP_NOP) { info->wr_id = qp->sq_wrtrk_array[tail].wrid; info->bytes_xfered = qp->sq_wrtrk_array[tail].wr_len; break; } } while (1); + if (info->op_type == IRDMA_OP_TYPE_BIND_MW && + info->minor_err == FLUSH_PROT_ERR) + info->minor_err = FLUSH_MW_BIND_ERR; qp->sq_flush_seen = true; if (!IRDMA_RING_MORE_WORK(qp->sq_ring)) qp->sq_flush_complete = true; --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/irdma/user.h +++ linux-gcp-5.19.0/drivers/infiniband/hw/irdma/user.h @@ -103,6 +103,7 @@ FLUSH_FATAL_ERR, FLUSH_RETRY_EXC_ERR, FLUSH_MW_BIND_ERR, + FLUSH_REM_INV_REQ_ERR, }; enum irdma_cmpl_status { @@ -172,14 +173,6 @@ u32 ah_id; }; -struct irdma_post_inline_send { - void *data; - u32 len; - u32 qkey; - u32 dest_qp; - u32 ah_id; -}; - struct irdma_post_rq_info { u64 wr_id; struct ib_sge *sg_list; @@ -192,12 +185,6 @@ struct ib_sge rem_addr; }; -struct irdma_inline_rdma_write { - void *data; - u32 len; - struct ib_sge rem_addr; -}; - struct irdma_rdma_read { struct ib_sge *lo_sg_list; u32 num_lo_sges; @@ -240,8 +227,6 @@ struct irdma_rdma_read rdma_read; struct irdma_bind_window bind_window; struct irdma_inv_local_stag inv_local_stag; - struct irdma_inline_rdma_write inline_rdma_write; - struct irdma_post_inline_send inline_send; } op; }; @@ -260,6 +245,7 @@ u16 ud_vlan; u8 ud_smac[6]; u8 op_type; + u8 q_type; bool stag_invalid_set:1; /* or L_R_Key set */ bool push_dropped:1; bool error:1; @@ -290,7 +276,8 @@ bool post_sq); struct irdma_wqe_uk_ops { - void (*iw_copy_inline_data)(u8 *dest, u8 *src, u32 len, u8 polarity); + void (*iw_copy_inline_data)(u8 *dest, struct ib_sge *sge_list, + u32 num_sges, u8 polarity); u16 (*iw_inline_data_size_to_quanta)(u32 data_size); void (*iw_set_fragment)(__le64 *wqe, u32 offset, struct ib_sge *sge, u8 valid); --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/irdma/utils.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/irdma/utils.c @@ -590,11 +590,14 @@ cqp_error = cqp_request->compl_info.error; if (cqp_error) { err_code = -EIO; - if (cqp_request->compl_info.maj_err_code == 0xFFFF && - cqp_request->compl_info.min_err_code == 0x8029) { - if (!rf->reset) { - rf->reset = true; - rf->gen_ops.request_reset(rf); + if (cqp_request->compl_info.maj_err_code == 0xFFFF) { + if (cqp_request->compl_info.min_err_code == 0x8002) + err_code = -EBUSY; + else if (cqp_request->compl_info.min_err_code == 0x8029) { + if (!rf->reset) { + rf->reset = true; + rf->gen_ops.request_reset(rf); + } } } } @@ -2475,6 +2478,9 @@ case IRDMA_QP_EVENT_ACCESS_ERR: ibevent.event = IB_EVENT_QP_ACCESS_ERR; break; + case IRDMA_QP_EVENT_REQ_ERR: + ibevent.event = IB_EVENT_QP_REQ_ERR; + break; } ibevent.device = iwqp->ibqp.device; ibevent.element.qp = &iwqp->ibqp; @@ -2584,6 +2590,7 @@ sw_wqe = qp->sq_base[wqe_idx].elem; get_64bit_val(sw_wqe, 24, &wqe_qword); cmpl->cpi.op_type = (u8)FIELD_GET(IRDMAQPSQ_OPCODE, IRDMAQPSQ_OPCODE); + cmpl->cpi.q_type = IRDMA_CQE_QTYPE_SQ; /* remove the SQ WR by moving SQ tail*/ IRDMA_RING_SET_TAIL(*sq_ring, sq_ring->tail + qp->sq_wrtrk_array[sq_ring->tail].quanta); @@ -2597,7 +2604,7 @@ spin_unlock_irqrestore(&iwqp->lock, flags2); spin_unlock_irqrestore(&iwqp->iwscq->lock, flags1); if (compl_generated) - irdma_comp_handler(iwqp->iwrcq); + irdma_comp_handler(iwqp->iwscq); } else { spin_unlock_irqrestore(&iwqp->iwscq->lock, flags1); mod_delayed_work(iwqp->iwdev->cleanup_wq, &iwqp->dwork_flush, @@ -2622,6 +2629,7 @@ cmpl->cpi.wr_id = qp->rq_wrid_array[wqe_idx]; cmpl->cpi.op_type = IRDMA_OP_TYPE_REC; + cmpl->cpi.q_type = IRDMA_CQE_QTYPE_RQ; /* remove the RQ WR by moving RQ tail */ IRDMA_RING_SET_TAIL(*rq_ring, rq_ring->tail + 1); ibdev_dbg(iwqp->iwrcq->ibcq.device, --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/irdma/verbs.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/irdma/verbs.c @@ -39,15 +39,18 @@ props->max_send_sge = hw_attrs->uk_attrs.max_hw_wq_frags; props->max_recv_sge = hw_attrs->uk_attrs.max_hw_wq_frags; props->max_cq = rf->max_cq - rf->used_cqs; - props->max_cqe = rf->max_cqe; + props->max_cqe = rf->max_cqe - 1; props->max_mr = rf->max_mr - rf->used_mrs; props->max_mw = props->max_mr; props->max_pd = rf->max_pd - rf->used_pds; props->max_sge_rd = hw_attrs->uk_attrs.max_hw_read_sges; props->max_qp_rd_atom = hw_attrs->max_hw_ird; props->max_qp_init_rd_atom = hw_attrs->max_hw_ord; - if (rdma_protocol_roce(ibdev, 1)) + if (rdma_protocol_roce(ibdev, 1)) { + props->device_cap_flags |= IB_DEVICE_RC_RNR_NAK_GEN; props->max_pkeys = IRDMA_PKEY_TBL_SZ; + } + props->max_ah = rf->max_ah; props->max_mcast_grp = rf->max_mcg; props->max_mcast_qp_attach = IRDMA_MAX_MGS_PER_CTX; @@ -61,36 +64,6 @@ } /** - * irdma_get_eth_speed_and_width - Get IB port speed and width from netdev speed - * @link_speed: netdev phy link speed - * @active_speed: IB port speed - * @active_width: IB port width - */ -static void irdma_get_eth_speed_and_width(u32 link_speed, u16 *active_speed, - u8 *active_width) -{ - if (link_speed <= SPEED_1000) { - *active_width = IB_WIDTH_1X; - *active_speed = IB_SPEED_SDR; - } else if (link_speed <= SPEED_10000) { - *active_width = IB_WIDTH_1X; - *active_speed = IB_SPEED_FDR10; - } else if (link_speed <= SPEED_20000) { - *active_width = IB_WIDTH_4X; - *active_speed = IB_SPEED_DDR; - } else if (link_speed <= SPEED_25000) { - *active_width = IB_WIDTH_1X; - *active_speed = IB_SPEED_EDR; - } else if (link_speed <= SPEED_40000) { - *active_width = IB_WIDTH_4X; - *active_speed = IB_SPEED_FDR10; - } else { - *active_width = IB_WIDTH_4X; - *active_speed = IB_SPEED_EDR; - } -} - -/** * irdma_query_port - get port attributes * @ibdev: device pointer from stack * @port: port number for query @@ -117,8 +90,9 @@ props->state = IB_PORT_DOWN; props->phys_state = IB_PORT_PHYS_STATE_DISABLED; } - irdma_get_eth_speed_and_width(SPEED_100000, &props->active_speed, - &props->active_width); + + ib_get_eth_speed(ibdev, port, &props->active_speed, + &props->active_width); if (rdma_protocol_roce(ibdev, 1)) { props->gid_tbl_len = 32; @@ -296,13 +270,19 @@ static int irdma_alloc_ucontext(struct ib_ucontext *uctx, struct ib_udata *udata) { +#define IRDMA_ALLOC_UCTX_MIN_REQ_LEN offsetofend(struct irdma_alloc_ucontext_req, rsvd8) +#define IRDMA_ALLOC_UCTX_MIN_RESP_LEN offsetofend(struct irdma_alloc_ucontext_resp, rsvd) struct ib_device *ibdev = uctx->device; struct irdma_device *iwdev = to_iwdev(ibdev); - struct irdma_alloc_ucontext_req req; + struct irdma_alloc_ucontext_req req = {}; struct irdma_alloc_ucontext_resp uresp = {}; struct irdma_ucontext *ucontext = to_ucontext(uctx); struct irdma_uk_attrs *uk_attrs; + if (udata->inlen < IRDMA_ALLOC_UCTX_MIN_REQ_LEN || + udata->outlen < IRDMA_ALLOC_UCTX_MIN_RESP_LEN) + return -EINVAL; + if (ib_copy_from_udata(&req, udata, min(sizeof(req), udata->inlen))) return -EINVAL; @@ -314,7 +294,7 @@ uk_attrs = &iwdev->rf->sc_dev.hw_attrs.uk_attrs; /* GEN_1 legacy support with libi40iw */ - if (udata->outlen < sizeof(uresp)) { + if (udata->outlen == IRDMA_ALLOC_UCTX_MIN_RESP_LEN) { if (uk_attrs->hw_rev != IRDMA_GEN_1) return -EOPNOTSUPP; @@ -386,6 +366,7 @@ */ static int irdma_alloc_pd(struct ib_pd *pd, struct ib_udata *udata) { +#define IRDMA_ALLOC_PD_MIN_RESP_LEN offsetofend(struct irdma_alloc_pd_resp, rsvd) struct irdma_pd *iwpd = to_iwpd(pd); struct irdma_device *iwdev = to_iwdev(pd->device); struct irdma_sc_dev *dev = &iwdev->rf->sc_dev; @@ -395,6 +376,9 @@ u32 pd_id = 0; int err; + if (udata && udata->outlen < IRDMA_ALLOC_PD_MIN_RESP_LEN) + return -EINVAL; + err = irdma_alloc_rsrc(rf, rf->allocated_pds, rf->max_pd, &pd_id, &rf->next_pd); if (err) @@ -811,12 +795,14 @@ struct ib_qp_init_attr *init_attr, struct ib_udata *udata) { +#define IRDMA_CREATE_QP_MIN_REQ_LEN offsetofend(struct irdma_create_qp_req, user_compl_ctx) +#define IRDMA_CREATE_QP_MIN_RESP_LEN offsetofend(struct irdma_create_qp_resp, rsvd) struct ib_pd *ibpd = ibqp->pd; struct irdma_pd *iwpd = to_iwpd(ibpd); struct irdma_device *iwdev = to_iwdev(ibpd->device); struct irdma_pci_f *rf = iwdev->rf; struct irdma_qp *iwqp = to_iwqp(ibqp); - struct irdma_create_qp_req req; + struct irdma_create_qp_req req = {}; struct irdma_create_qp_resp uresp = {}; u32 qp_num = 0; int err_code; @@ -833,6 +819,10 @@ if (err_code) return err_code; + if (udata && (udata->inlen < IRDMA_CREATE_QP_MIN_REQ_LEN || + udata->outlen < IRDMA_CREATE_QP_MIN_RESP_LEN)) + return -EINVAL; + sq_size = init_attr->cap.max_send_wr; rq_size = init_attr->cap.max_recv_wr; @@ -1117,6 +1107,8 @@ int irdma_modify_qp_roce(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, struct ib_udata *udata) { +#define IRDMA_MODIFY_QP_MIN_REQ_LEN offsetofend(struct irdma_modify_qp_req, rq_flush) +#define IRDMA_MODIFY_QP_MIN_RESP_LEN offsetofend(struct irdma_modify_qp_resp, push_valid) struct irdma_pd *iwpd = to_iwpd(ibqp->pd); struct irdma_qp *iwqp = to_iwqp(ibqp); struct irdma_device *iwdev = iwqp->iwdev; @@ -1135,6 +1127,13 @@ roce_info = &iwqp->roce_info; udp_info = &iwqp->udp_info; + if (udata) { + /* udata inlen/outlen can be 0 when supporting legacy libi40iw */ + if ((udata->inlen && udata->inlen < IRDMA_MODIFY_QP_MIN_REQ_LEN) || + (udata->outlen && udata->outlen < IRDMA_MODIFY_QP_MIN_RESP_LEN)) + return -EINVAL; + } + if (attr_mask & ~IB_QP_ATTR_STANDARD_BITS) return -EOPNOTSUPP; @@ -1214,6 +1213,7 @@ av->attrs = attr->ah_attr; rdma_gid2ip((struct sockaddr *)&av->sgid_addr, &sgid_attr->gid); rdma_gid2ip((struct sockaddr *)&av->dgid_addr, &attr->ah_attr.grh.dgid); + av->net_type = rdma_gid_attr_network_type(sgid_attr); if (av->net_type == RDMA_NETWORK_IPV6) { __be32 *daddr = av->dgid_addr.saddr_in6.sin6_addr.in6_u.u6_addr32; @@ -1371,7 +1371,7 @@ if (iwqp->iwarp_state == IRDMA_QP_STATE_ERROR) { spin_unlock_irqrestore(&iwqp->lock, flags); - if (udata) { + if (udata && udata->inlen) { if (ib_copy_from_udata(&ureq, udata, min(sizeof(ureq), udata->inlen))) return -EINVAL; @@ -1423,7 +1423,7 @@ } else { iwqp->ibqp_state = attr->qp_state; } - if (udata && dev->hw_attrs.uk_attrs.hw_rev >= IRDMA_GEN_2) { + if (udata && udata->outlen && dev->hw_attrs.uk_attrs.hw_rev >= IRDMA_GEN_2) { struct irdma_ucontext *ucontext; ucontext = rdma_udata_to_drv_context(udata, @@ -1463,6 +1463,8 @@ int irdma_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, struct ib_udata *udata) { +#define IRDMA_MODIFY_QP_MIN_REQ_LEN offsetofend(struct irdma_modify_qp_req, rq_flush) +#define IRDMA_MODIFY_QP_MIN_RESP_LEN offsetofend(struct irdma_modify_qp_resp, push_valid) struct irdma_qp *iwqp = to_iwqp(ibqp); struct irdma_device *iwdev = iwqp->iwdev; struct irdma_sc_dev *dev = &iwdev->rf->sc_dev; @@ -1477,6 +1479,13 @@ int err; unsigned long flags; + if (udata) { + /* udata inlen/outlen can be 0 when supporting legacy libi40iw */ + if ((udata->inlen && udata->inlen < IRDMA_MODIFY_QP_MIN_REQ_LEN) || + (udata->outlen && udata->outlen < IRDMA_MODIFY_QP_MIN_RESP_LEN)) + return -EINVAL; + } + if (attr_mask & ~IB_QP_ATTR_STANDARD_BITS) return -EOPNOTSUPP; @@ -1562,7 +1571,7 @@ case IB_QPS_RESET: if (iwqp->iwarp_state == IRDMA_QP_STATE_ERROR) { spin_unlock_irqrestore(&iwqp->lock, flags); - if (udata) { + if (udata && udata->inlen) { if (ib_copy_from_udata(&ureq, udata, min(sizeof(ureq), udata->inlen))) return -EINVAL; @@ -1659,7 +1668,7 @@ } } } - if (attr_mask & IB_QP_STATE && udata && + if (attr_mask & IB_QP_STATE && udata && udata->outlen && dev->hw_attrs.uk_attrs.hw_rev >= IRDMA_GEN_2) { struct irdma_ucontext *ucontext; @@ -1776,11 +1785,11 @@ spin_unlock_irqrestore(&iwcq->lock, flags); irdma_cq_wq_destroy(iwdev->rf, cq); - irdma_cq_free_rsrc(iwdev->rf, iwcq); spin_lock_irqsave(&iwceq->ce_lock, flags); irdma_sc_cleanup_ceqes(cq, ceq); spin_unlock_irqrestore(&iwceq->ce_lock, flags); + irdma_cq_free_rsrc(iwdev->rf, iwcq); return 0; } @@ -1794,6 +1803,7 @@ static int irdma_resize_cq(struct ib_cq *ibcq, int entries, struct ib_udata *udata) { +#define IRDMA_RESIZE_CQ_MIN_REQ_LEN offsetofend(struct irdma_resize_cq_req, user_cq_buffer) struct irdma_cq *iwcq = to_iwcq(ibcq); struct irdma_sc_dev *dev = iwcq->sc_cq.dev; struct irdma_cqp_request *cqp_request; @@ -1816,6 +1826,9 @@ IRDMA_FEATURE_CQ_RESIZE)) return -EOPNOTSUPP; + if (udata && udata->inlen < IRDMA_RESIZE_CQ_MIN_REQ_LEN) + return -EINVAL; + if (entries > rf->max_cqe) return -EINVAL; @@ -1948,6 +1961,8 @@ const struct ib_cq_init_attr *attr, struct ib_udata *udata) { +#define IRDMA_CREATE_CQ_MIN_REQ_LEN offsetofend(struct irdma_create_cq_req, user_cq_buf) +#define IRDMA_CREATE_CQ_MIN_RESP_LEN offsetofend(struct irdma_create_cq_resp, cq_size) struct ib_device *ibdev = ibcq->device; struct irdma_device *iwdev = to_iwdev(ibdev); struct irdma_pci_f *rf = iwdev->rf; @@ -1966,6 +1981,11 @@ err_code = cq_validate_flags(attr->flags, dev->hw_attrs.uk_attrs.hw_rev); if (err_code) return err_code; + + if (udata && (udata->inlen < IRDMA_CREATE_CQ_MIN_REQ_LEN || + udata->outlen < IRDMA_CREATE_CQ_MIN_RESP_LEN)) + return -EINVAL; + err_code = irdma_alloc_rsrc(rf, rf->allocated_cqs, rf->max_cq, &cq_num, &rf->next_cq); if (err_code) @@ -2310,9 +2330,10 @@ * @rf: RDMA PCI function * @iwmr: mr pointer for this memory registration * @use_pbles: flag if to use pble's + * @lvl_1_only: request only level 1 pble if true */ static int irdma_setup_pbles(struct irdma_pci_f *rf, struct irdma_mr *iwmr, - bool use_pbles) + bool use_pbles, bool lvl_1_only) { struct irdma_pbl *iwpbl = &iwmr->iwpbl; struct irdma_pble_alloc *palloc = &iwpbl->pble_alloc; @@ -2323,7 +2344,7 @@ if (use_pbles) { status = irdma_get_pble(rf->pble_rsrc, palloc, iwmr->page_cnt, - false); + lvl_1_only); if (status) return status; @@ -2366,16 +2387,10 @@ bool ret = true; pg_size = iwmr->page_size; - err = irdma_setup_pbles(iwdev->rf, iwmr, use_pbles); + err = irdma_setup_pbles(iwdev->rf, iwmr, use_pbles, true); if (err) return err; - if (use_pbles && palloc->level != PBLE_LEVEL_1) { - irdma_free_pble(iwdev->rf->pble_rsrc, palloc); - iwpbl->pbl_allocated = false; - return -ENOMEM; - } - if (use_pbles) arr = palloc->level1.addr; @@ -2735,6 +2750,7 @@ u64 virt, int access, struct ib_udata *udata) { +#define IRDMA_MEM_REG_MIN_REQ_LEN offsetofend(struct irdma_mem_reg_req, sq_pages) struct irdma_device *iwdev = to_iwdev(pd->device); struct irdma_ucontext *ucontext; struct irdma_pble_alloc *palloc; @@ -2752,6 +2768,9 @@ if (len > iwdev->rf->sc_dev.hw_attrs.max_mr_size) return ERR_PTR(-EINVAL); + if (udata->inlen < IRDMA_MEM_REG_MIN_REQ_LEN) + return ERR_PTR(-EINVAL); + region = ib_umem_get(pd->device, start, len, access); if (IS_ERR(region)) { @@ -2839,7 +2858,7 @@ case IRDMA_MEMREG_TYPE_MEM: use_pbles = (iwmr->page_cnt != 1); - err = irdma_setup_pbles(iwdev->rf, iwmr, use_pbles); + err = irdma_setup_pbles(iwdev->rf, iwmr, use_pbles, false); if (err) goto error; @@ -3001,6 +3020,7 @@ struct irdma_pble_alloc *palloc = &iwpbl->pble_alloc; struct irdma_cqp_request *cqp_request; struct cqp_cmds_info *cqp_info; + int status; if (iwmr->type != IRDMA_MEMREG_TYPE_MEM) { if (iwmr->region) { @@ -3031,8 +3051,11 @@ cqp_info->post_sq = 1; cqp_info->in.u.dealloc_stag.dev = &iwdev->rf->sc_dev; cqp_info->in.u.dealloc_stag.scratch = (uintptr_t)cqp_request; - irdma_handle_cqp_op(iwdev->rf, cqp_request); + status = irdma_handle_cqp_op(iwdev->rf, cqp_request); irdma_put_cqp_request(&iwdev->rf->cqp, cqp_request); + if (status) + return status; + irdma_free_stag(iwdev, iwmr->stag); done: if (iwpbl->pbl_allocated) @@ -3101,30 +3124,20 @@ info.stag_to_inv = ib_wr->ex.invalidate_rkey; } - if (ib_wr->send_flags & IB_SEND_INLINE) { - info.op.inline_send.data = (void *)(unsigned long) - ib_wr->sg_list[0].addr; - info.op.inline_send.len = ib_wr->sg_list[0].length; - if (iwqp->ibqp.qp_type == IB_QPT_UD || - iwqp->ibqp.qp_type == IB_QPT_GSI) { - ah = to_iwah(ud_wr(ib_wr)->ah); - info.op.inline_send.ah_id = ah->sc_ah.ah_info.ah_idx; - info.op.inline_send.qkey = ud_wr(ib_wr)->remote_qkey; - info.op.inline_send.dest_qp = ud_wr(ib_wr)->remote_qpn; - } + info.op.send.num_sges = ib_wr->num_sge; + info.op.send.sg_list = ib_wr->sg_list; + if (iwqp->ibqp.qp_type == IB_QPT_UD || + iwqp->ibqp.qp_type == IB_QPT_GSI) { + ah = to_iwah(ud_wr(ib_wr)->ah); + info.op.send.ah_id = ah->sc_ah.ah_info.ah_idx; + info.op.send.qkey = ud_wr(ib_wr)->remote_qkey; + info.op.send.dest_qp = ud_wr(ib_wr)->remote_qpn; + } + + if (ib_wr->send_flags & IB_SEND_INLINE) err = irdma_uk_inline_send(ukqp, &info, false); - } else { - info.op.send.num_sges = ib_wr->num_sge; - info.op.send.sg_list = ib_wr->sg_list; - if (iwqp->ibqp.qp_type == IB_QPT_UD || - iwqp->ibqp.qp_type == IB_QPT_GSI) { - ah = to_iwah(ud_wr(ib_wr)->ah); - info.op.send.ah_id = ah->sc_ah.ah_info.ah_idx; - info.op.send.qkey = ud_wr(ib_wr)->remote_qkey; - info.op.send.dest_qp = ud_wr(ib_wr)->remote_qpn; - } + else err = irdma_uk_send(ukqp, &info, false); - } break; case IB_WR_RDMA_WRITE_WITH_IMM: if (ukqp->qp_caps & IRDMA_WRITE_WITH_IMM) { @@ -3141,22 +3154,15 @@ else info.op_type = IRDMA_OP_TYPE_RDMA_WRITE; - if (ib_wr->send_flags & IB_SEND_INLINE) { - info.op.inline_rdma_write.data = (void *)(uintptr_t)ib_wr->sg_list[0].addr; - info.op.inline_rdma_write.len = - ib_wr->sg_list[0].length; - info.op.inline_rdma_write.rem_addr.addr = - rdma_wr(ib_wr)->remote_addr; - info.op.inline_rdma_write.rem_addr.lkey = - rdma_wr(ib_wr)->rkey; + info.op.rdma_write.num_lo_sges = ib_wr->num_sge; + info.op.rdma_write.lo_sg_list = ib_wr->sg_list; + info.op.rdma_write.rem_addr.addr = + rdma_wr(ib_wr)->remote_addr; + info.op.rdma_write.rem_addr.lkey = rdma_wr(ib_wr)->rkey; + if (ib_wr->send_flags & IB_SEND_INLINE) err = irdma_uk_inline_rdma_write(ukqp, &info, false); - } else { - info.op.rdma_write.lo_sg_list = (void *)ib_wr->sg_list; - info.op.rdma_write.num_lo_sges = ib_wr->num_sge; - info.op.rdma_write.rem_addr.addr = rdma_wr(ib_wr)->remote_addr; - info.op.rdma_write.rem_addr.lkey = rdma_wr(ib_wr)->rkey; + else err = irdma_uk_rdma_write(ukqp, &info, false); - } break; case IB_WR_RDMA_READ_WITH_INV: inv_stag = true; @@ -3300,6 +3306,8 @@ return IB_WC_RETRY_EXC_ERR; case FLUSH_MW_BIND_ERR: return IB_WC_MW_BIND_ERR; + case FLUSH_REM_INV_REQ_ERR: + return IB_WC_REM_INV_REQ_ERR; case FLUSH_FATAL_ERR: default: return IB_WC_FATAL_ERR; @@ -3314,7 +3322,6 @@ static void irdma_process_cqe(struct ib_wc *entry, struct irdma_cq_poll_info *cq_poll_info) { - struct irdma_qp *iwqp; struct irdma_sc_qp *qp; entry->wc_flags = 0; @@ -3322,7 +3329,6 @@ entry->wr_id = cq_poll_info->wr_id; qp = cq_poll_info->qp_handle; - iwqp = qp->qp_uk.back_qp; entry->qp = qp->qp_uk.back_qp; if (cq_poll_info->error) { @@ -3355,42 +3361,17 @@ } } - switch (cq_poll_info->op_type) { - case IRDMA_OP_TYPE_RDMA_WRITE: - case IRDMA_OP_TYPE_RDMA_WRITE_SOL: - entry->opcode = IB_WC_RDMA_WRITE; - break; - case IRDMA_OP_TYPE_RDMA_READ_INV_STAG: - case IRDMA_OP_TYPE_RDMA_READ: - entry->opcode = IB_WC_RDMA_READ; - break; - case IRDMA_OP_TYPE_SEND_INV: - case IRDMA_OP_TYPE_SEND_SOL: - case IRDMA_OP_TYPE_SEND_SOL_INV: - case IRDMA_OP_TYPE_SEND: - entry->opcode = IB_WC_SEND; - break; - case IRDMA_OP_TYPE_FAST_REG_NSMR: - entry->opcode = IB_WC_REG_MR; - break; - case IRDMA_OP_TYPE_INV_STAG: - entry->opcode = IB_WC_LOCAL_INV; - break; - case IRDMA_OP_TYPE_REC_IMM: - case IRDMA_OP_TYPE_REC: - entry->opcode = cq_poll_info->op_type == IRDMA_OP_TYPE_REC_IMM ? - IB_WC_RECV_RDMA_WITH_IMM : IB_WC_RECV; + if (cq_poll_info->q_type == IRDMA_CQE_QTYPE_SQ) { + set_ib_wc_op_sq(cq_poll_info, entry); + } else { + set_ib_wc_op_rq(cq_poll_info, entry, + qp->qp_uk.qp_caps & IRDMA_SEND_WITH_IMM ? + true : false); if (qp->qp_uk.qp_type != IRDMA_QP_TYPE_ROCE_UD && cq_poll_info->stag_invalid_set) { entry->ex.invalidate_rkey = cq_poll_info->inv_stag; entry->wc_flags |= IB_WC_WITH_INVALIDATE; } - break; - default: - ibdev_err(&iwqp->iwdev->ibdev, - "Invalid opcode = %d in CQE\n", cq_poll_info->op_type); - entry->status = IB_WC_GENERAL_ERR; - return; } if (qp->qp_uk.qp_type == IRDMA_QP_TYPE_ROCE_UD) { @@ -4281,12 +4262,16 @@ struct rdma_ah_init_attr *attr, struct ib_udata *udata) { +#define IRDMA_CREATE_AH_MIN_RESP_LEN offsetofend(struct irdma_create_ah_resp, rsvd) struct irdma_ah *ah = container_of(ibah, struct irdma_ah, ibah); struct irdma_device *iwdev = to_iwdev(ibah->pd->device); struct irdma_create_ah_resp uresp; struct irdma_ah *parent_ah; int err; + if (udata && udata->outlen < IRDMA_CREATE_AH_MIN_RESP_LEN) + return -EINVAL; + err = irdma_setup_ah(ibah, attr); if (err) return err; --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/irdma/verbs.h +++ linux-gcp-5.19.0/drivers/infiniband/hw/irdma/verbs.h @@ -232,6 +232,59 @@ return (u16)FIELD_GET(IRDMA_FW_VER_MINOR, dev->feature_info[IRDMA_FEATURE_FW_INFO]); } +static inline void set_ib_wc_op_sq(struct irdma_cq_poll_info *cq_poll_info, + struct ib_wc *entry) +{ + switch (cq_poll_info->op_type) { + case IRDMA_OP_TYPE_RDMA_WRITE: + case IRDMA_OP_TYPE_RDMA_WRITE_SOL: + entry->opcode = IB_WC_RDMA_WRITE; + break; + case IRDMA_OP_TYPE_RDMA_READ_INV_STAG: + case IRDMA_OP_TYPE_RDMA_READ: + entry->opcode = IB_WC_RDMA_READ; + break; + case IRDMA_OP_TYPE_SEND_SOL: + case IRDMA_OP_TYPE_SEND_SOL_INV: + case IRDMA_OP_TYPE_SEND_INV: + case IRDMA_OP_TYPE_SEND: + entry->opcode = IB_WC_SEND; + break; + case IRDMA_OP_TYPE_FAST_REG_NSMR: + entry->opcode = IB_WC_REG_MR; + break; + case IRDMA_OP_TYPE_INV_STAG: + entry->opcode = IB_WC_LOCAL_INV; + break; + default: + entry->status = IB_WC_GENERAL_ERR; + } +} + +static inline void set_ib_wc_op_rq(struct irdma_cq_poll_info *cq_poll_info, + struct ib_wc *entry, bool send_imm_support) +{ + /** + * iWARP does not support sendImm, so the presence of Imm data + * must be WriteImm. + */ + if (!send_imm_support) { + entry->opcode = cq_poll_info->imm_valid ? + IB_WC_RECV_RDMA_WITH_IMM : + IB_WC_RECV; + return; + } + + switch (cq_poll_info->op_type) { + case IB_OPCODE_RDMA_WRITE_ONLY_WITH_IMMEDIATE: + case IB_OPCODE_RDMA_WRITE_LAST_WITH_IMMEDIATE: + entry->opcode = IB_WC_RECV_RDMA_WITH_IMM; + break; + default: + entry->opcode = IB_WC_RECV; + } +} + void irdma_mcast_mac(u32 *ip_addr, u8 *mac, bool ipv4); int irdma_ib_register_device(struct irdma_device *iwdev); void irdma_ib_unregister_device(struct irdma_device *iwdev); --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/mlx4/mr.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/mlx4/mr.c @@ -439,7 +439,6 @@ goto err_mr; mr->ibmr.rkey = mr->ibmr.lkey = mr->mmr.key; - mr->ibmr.length = length; mr->ibmr.page_size = 1U << shift; return &mr->ibmr; --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/mlx5/counters.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/mlx5/counters.c @@ -278,7 +278,6 @@ const struct mlx5_ib_counters *cnts = get_counters(dev, port_num - 1); struct mlx5_core_dev *mdev; int ret, num_counters; - u32 mdev_port_num; if (!stats) return -EINVAL; @@ -299,8 +298,9 @@ } if (MLX5_CAP_GEN(dev->mdev, cc_query_allowed)) { - mdev = mlx5_ib_get_native_port_mdev(dev, port_num, - &mdev_port_num); + if (!port_num) + port_num = 1; + mdev = mlx5_ib_get_native_port_mdev(dev, port_num, NULL); if (!mdev) { /* If port is not affiliated yet, its in down state * which doesn't have any counters yet, so it would be --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/mlx5/cq.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/mlx5/cq.c @@ -523,6 +523,10 @@ "Requestor" : "Responder", cq->mcq.cqn); mlx5_ib_dbg(dev, "syndrome 0x%x, vendor syndrome 0x%x\n", err_cqe->syndrome, err_cqe->vendor_err_synd); + if (wc->status != IB_WC_WR_FLUSH_ERR && + (*cur_qp)->type == MLX5_IB_QPT_REG_UMR) + dev->umrc.state = MLX5_UMR_STATE_RECOVER; + if (opcode == MLX5_CQE_REQ_ERR) { wq = &(*cur_qp)->sq; wqe_ctr = be16_to_cpu(cqe64->wqe_counter); @@ -738,9 +742,9 @@ *cqe_size = ucmd.cqe_size; - cq->buf.umem = - ib_umem_get(&dev->ib_dev, ucmd.buf_addr, - entries * ucmd.cqe_size, IB_ACCESS_LOCAL_WRITE); + cq->buf.umem = ib_umem_get_peer(&dev->ib_dev, ucmd.buf_addr, + entries * ucmd.cqe_size, + IB_ACCESS_LOCAL_WRITE, 0); if (IS_ERR(cq->buf.umem)) { err = PTR_ERR(cq->buf.umem); return err; @@ -1161,9 +1165,9 @@ if (ucmd.cqe_size && SIZE_MAX / ucmd.cqe_size <= entries - 1) return -EINVAL; - umem = ib_umem_get(&dev->ib_dev, ucmd.buf_addr, - (size_t)ucmd.cqe_size * entries, - IB_ACCESS_LOCAL_WRITE); + umem = ib_umem_get_peer(&dev->ib_dev, ucmd.buf_addr, + (size_t)ucmd.cqe_size * entries, + IB_ACCESS_LOCAL_WRITE, 0); if (IS_ERR(umem)) { err = PTR_ERR(umem); return err; --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/mlx5/devx.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/mlx5/devx.c @@ -2181,7 +2181,7 @@ if (err) return err; - obj->umem = ib_umem_get(&dev->ib_dev, addr, size, access); + obj->umem = ib_umem_get_peer(&dev->ib_dev, addr, size, access, 0); if (IS_ERR(obj->umem)) return PTR_ERR(obj->umem); return 0; @@ -2270,6 +2270,8 @@ order_base_2(page_size) - MLX5_ADAPTER_PAGE_SHIFT); MLX5_SET(umem, umem, page_offset, ib_umem_dma_offset(obj->umem, page_size)); + if (obj->umem->is_peer) + MLX5_SET(umem, umem, ats, MLX5_CAP_GEN(dev->mdev, ats)); mlx5_ib_populate_pas(obj->umem, page_size, mtt, (obj->umem->writable ? MLX5_IB_MTT_WRITE : 0) | --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/mlx5/doorbell.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/mlx5/doorbell.c @@ -66,8 +66,9 @@ page->user_virt = (virt & PAGE_MASK); page->refcnt = 0; - page->umem = ib_umem_get(context->ibucontext.device, virt & PAGE_MASK, - PAGE_SIZE, 0); + page->umem = + ib_umem_get_peer(context->ibucontext.device, virt & PAGE_MASK, + PAGE_SIZE, 0, 0); if (IS_ERR(page->umem)) { err = PTR_ERR(page->umem); kfree(page); --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/mlx5/fs.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/mlx5/fs.c @@ -2050,12 +2050,10 @@ if (err) return err; - if (flags) { - mlx5_ib_ft_type_to_namespace( + if (flags) + return mlx5_ib_ft_type_to_namespace( MLX5_IB_UAPI_FLOW_TABLE_TYPE_NIC_TX, &obj->ns_type); - return 0; - } } obj->ns_type = MLX5_FLOW_NAMESPACE_BYPASS; --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/mlx5/mad.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/mlx5/mad.c @@ -166,6 +166,12 @@ mdev = dev->mdev; mdev_port_num = 1; } + if (MLX5_CAP_GEN(dev->mdev, num_ports) == 1) { + /* set local port to one for Function-Per-Port HCA. */ + mdev = dev->mdev; + mdev_port_num = 1; + } + /* Declaring support of extended counters */ if (in_mad->mad_hdr.attr_id == IB_PMA_CLASS_PORT_INFO) { struct ib_class_port_info cpi = {}; --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/mlx5/main.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/mlx5/main.c @@ -1826,6 +1826,9 @@ if (MLX5_CAP_GEN(dev->mdev, drain_sigerr)) resp->comp_mask |= MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_SQD2RTS; + resp->comp_mask |= + MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_MKEY_UPDATE_TAG; + return 0; } @@ -2738,26 +2741,24 @@ int err; int port; - for (port = 1; port <= ARRAY_SIZE(dev->port_caps); port++) { - dev->port_caps[port - 1].has_smi = false; - if (MLX5_CAP_GEN(dev->mdev, port_type) == - MLX5_CAP_PORT_TYPE_IB) { - if (MLX5_CAP_GEN(dev->mdev, ib_virt)) { - err = mlx5_query_hca_vport_context(dev->mdev, 0, - port, 0, - &vport_ctx); - if (err) { - mlx5_ib_err(dev, "query_hca_vport_context for port=%d failed %d\n", - port, err); - return err; - } - dev->port_caps[port - 1].has_smi = - vport_ctx.has_smi; - } else { - dev->port_caps[port - 1].has_smi = true; - } + if (MLX5_CAP_GEN(dev->mdev, port_type) != MLX5_CAP_PORT_TYPE_IB) + return 0; + + for (port = 1; port <= dev->num_ports; port++) { + if (!MLX5_CAP_GEN(dev->mdev, ib_virt)) { + dev->port_caps[port - 1].has_smi = true; + continue; } + err = mlx5_query_hca_vport_context(dev->mdev, 0, port, 0, + &vport_ctx); + if (err) { + mlx5_ib_err(dev, "query_hca_vport_context for port=%d failed %d\n", + port, err); + return err; + } + dev->port_caps[port - 1].has_smi = vport_ctx.has_smi; } + return 0; } @@ -4338,7 +4339,7 @@ dev->mdev = mdev; dev->num_ports = num_ports; - if (ll == IB_LINK_LAYER_ETHERNET && !mlx5_is_roce_init_enabled(mdev)) + if (ll == IB_LINK_LAYER_ETHERNET && !mlx5_get_roce_state(mdev)) profile = &raw_eth_profile; else profile = &pf_profile; --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/mlx5/mlx5_ib.h +++ linux-gcp-5.19.0/drivers/infiniband/hw/mlx5/mlx5_ib.h @@ -717,13 +717,24 @@ struct completion done; }; +enum { + MLX5_UMR_STATE_UNINIT, + MLX5_UMR_STATE_ACTIVE, + MLX5_UMR_STATE_RECOVER, + MLX5_UMR_STATE_ERR, +}; + struct umr_common { struct ib_pd *pd; struct ib_cq *cq; struct ib_qp *qp; - /* control access to UMR QP + /* Protects from UMR QP overflow */ struct semaphore sem; + /* Protects from using UMR while the UMR is not active + */ + struct mutex lock; + unsigned int state; }; struct mlx5_cache_ent { --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/mlx5/mr.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/mlx5/mr.c @@ -46,6 +46,8 @@ #include "mlx5_ib.h" #include "umr.h" +static void mlx5_invalidate_umem(struct ib_umem *umem, void *priv); + enum { MAX_PENDING_REG_MR = 8, }; @@ -976,6 +978,9 @@ MLX5_SET(mkc, mkc, translations_octword_size, get_octo_len(iova, umem->length, mr->page_shift)); MLX5_SET(mkc, mkc, log_page_size, mr->page_shift); + if (umem->is_peer) + MLX5_SET(mkc, mkc, ma_translation_mode, + MLX5_CAP_GEN(dev->mdev, ats)); if (populate) { MLX5_SET(create_mkey_in, in, translations_octword_actual_size, get_octo_len(iova, umem->length, mr->page_shift)); @@ -1105,17 +1110,20 @@ int err; xlt_with_umr = mlx5r_umr_can_load_pas(dev, umem->length); - if (xlt_with_umr) { + if (xlt_with_umr && !umem->is_peer) { mr = alloc_cacheable_mr(pd, umem, iova, access_flags); } else { unsigned int page_size = mlx5_umem_find_best_pgsz( umem, mkc, log_page_size, 0, iova); mutex_lock(&dev->slow_path_mutex); - mr = reg_create(pd, umem, iova, access_flags, page_size, true); + mr = reg_create(pd, umem, iova, access_flags, page_size, + !xlt_with_umr); mutex_unlock(&dev->slow_path_mutex); } if (IS_ERR(mr)) { + if (umem->is_peer) + ib_umem_stop_invalidation_notifier(umem); ib_umem_release(umem); return ERR_CAST(mr); } @@ -1136,6 +1144,11 @@ return ERR_PTR(err); } } + + if (umem->is_peer) + ib_umem_activate_invalidation_notifier( + umem, mlx5_invalidate_umem, mr); + return &mr->ibmr; } @@ -1213,7 +1226,8 @@ if (access_flags & IB_ACCESS_ON_DEMAND) return create_user_odp_mr(pd, start, length, iova, access_flags, udata); - umem = ib_umem_get(&dev->ib_dev, start, length, access_flags); + umem = ib_umem_get_peer(&dev->ib_dev, start, length, access_flags, + IB_PEER_MEM_INVAL_SUPP); if (IS_ERR(umem)) return ERR_CAST(umem); return create_real_mr(pd, umem, iova, access_flags); @@ -1374,6 +1388,10 @@ return err; } + if (new_umem->is_peer) + ib_umem_activate_invalidation_notifier( + new_umem, mlx5_invalidate_umem, mr); + atomic_sub(ib_umem_num_pages(old_umem), &dev->mdev->priv.reg_pages); ib_umem_release(old_umem); atomic_add(ib_umem_num_pages(new_umem), &dev->mdev->priv.reg_pages); @@ -1417,8 +1435,13 @@ return ERR_PTR(err); return NULL; } - /* DM or ODP MR's don't have a normal umem so we can't re-use it */ - if (!mr->umem || is_odp_mr(mr) || is_dmabuf_mr(mr)) + /* + * DM or ODP MR's don't have a normal umem so we can't re-use it. + * Peer umems cannot have their MR's changed once created due + * to races with invalidation. + */ + if (!mr->umem || is_odp_mr(mr) || is_dmabuf_mr(mr) || + mr->umem->is_peer) goto recreate; /* @@ -1437,10 +1460,11 @@ } /* - * DM doesn't have a PAS list so we can't re-use it, odp/dmabuf does - * but the logic around releasing the umem is different + * DM doesn't have a PAS list so we can't re-use it, odp/dmabuf does but + * the logic around releasing the umem is different, peer memory + * invalidation semantics are incompatible. */ - if (!mr->umem || is_odp_mr(mr) || is_dmabuf_mr(mr)) + if (!mr->umem || is_odp_mr(mr) || is_dmabuf_mr(mr) || mr->umem->is_peer) goto recreate; if (!(new_access_flags & IB_ACCESS_ON_DEMAND) && @@ -1448,8 +1472,9 @@ struct ib_umem *new_umem; unsigned long page_size; - new_umem = ib_umem_get(&dev->ib_dev, start, length, - new_access_flags); + new_umem = ib_umem_get_peer(&dev->ib_dev, start, length, + new_access_flags, + IB_PEER_MEM_INVAL_SUPP); if (IS_ERR(new_umem)) return ERR_CAST(new_umem); @@ -1569,14 +1594,23 @@ } /* Stop DMA */ - if (mr->cache_ent) { - if (mlx5r_umr_revoke_mr(mr)) { - spin_lock_irq(&mr->cache_ent->lock); - mr->cache_ent->total_mrs--; - spin_unlock_irq(&mr->cache_ent->lock); - mr->cache_ent = NULL; + rc = 0; + if (mr->cache_ent || (mr->umem && mr->umem->is_peer)) { + rc = mlx5r_umr_revoke_mr(mr); + if (mr->umem && mr->umem->is_peer) { + if (rc) + return rc; + ib_umem_stop_invalidation_notifier(mr->umem); } } + + if (mr->cache_ent && rc) { + spin_lock_irq(&mr->cache_ent->lock); + mr->cache_ent->total_mrs--; + spin_unlock_irq(&mr->cache_ent->lock); + mr->cache_ent = NULL; + } + if (!mr->cache_ent) { rc = destroy_mkey(to_mdev(mr->ibmr.device), mr); if (rc) @@ -2299,3 +2333,15 @@ return n; } + +static void mlx5_invalidate_umem(struct ib_umem *umem, void *priv) +{ + struct mlx5_ib_mr *mr = priv; + + /* + * DMA is turned off for the mkey, but the mkey remains otherwise + * untouched until the normal flow of dereg_mr happens. Any access to + * this mkey will generate CQEs. + */ + mlx5r_umr_revoke_mr(mr); +} --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/mlx5/odp.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/mlx5/odp.c @@ -795,7 +795,8 @@ { if (!mmkey) return false; - if (mmkey->type == MLX5_MKEY_MW) + if (mmkey->type == MLX5_MKEY_MW || + mmkey->type == MLX5_MKEY_INDIRECT_DEVX) return mlx5_base_mkey(mmkey->key) == mlx5_base_mkey(key); return mmkey->key == key; } --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/mlx5/qp.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/mlx5/qp.c @@ -809,7 +809,7 @@ if (!ucmd->buf_addr) return -EINVAL; - rwq->umem = ib_umem_get(&dev->ib_dev, ucmd->buf_addr, rwq->buf_size, 0); + rwq->umem = ib_umem_get_peer(&dev->ib_dev, ucmd->buf_addr, rwq->buf_size, 0, 0); if (IS_ERR(rwq->umem)) { mlx5_ib_dbg(dev, "umem_get failed\n"); err = PTR_ERR(rwq->umem); @@ -919,8 +919,9 @@ if (ucmd->buf_addr && ubuffer->buf_size) { ubuffer->buf_addr = ucmd->buf_addr; - ubuffer->umem = ib_umem_get(&dev->ib_dev, ubuffer->buf_addr, - ubuffer->buf_size, 0); + ubuffer->umem = + ib_umem_get_peer(&dev->ib_dev, ubuffer->buf_addr, + ubuffer->buf_size, 0, 0); if (IS_ERR(ubuffer->umem)) { err = PTR_ERR(ubuffer->umem); goto err_bfreg; @@ -1271,8 +1272,8 @@ if (ts_format < 0) return ts_format; - sq->ubuffer.umem = ib_umem_get(&dev->ib_dev, ubuffer->buf_addr, - ubuffer->buf_size, 0); + sq->ubuffer.umem = ib_umem_get_peer(&dev->ib_dev, ubuffer->buf_addr, + ubuffer->buf_size, 0, 0); if (IS_ERR(sq->ubuffer.umem)) return PTR_ERR(sq->ubuffer.umem); page_size = mlx5_umem_find_best_quantized_pgoff( @@ -4502,6 +4503,40 @@ return false; } +static int validate_rd_atomic(struct mlx5_ib_dev *dev, struct ib_qp_attr *attr, + int attr_mask, enum ib_qp_type qp_type) +{ + int log_max_ra_res; + int log_max_ra_req; + + if (qp_type == MLX5_IB_QPT_DCI) { + log_max_ra_res = 1 << MLX5_CAP_GEN(dev->mdev, + log_max_ra_res_dc); + log_max_ra_req = 1 << MLX5_CAP_GEN(dev->mdev, + log_max_ra_req_dc); + } else { + log_max_ra_res = 1 << MLX5_CAP_GEN(dev->mdev, + log_max_ra_res_qp); + log_max_ra_req = 1 << MLX5_CAP_GEN(dev->mdev, + log_max_ra_req_qp); + } + + if (attr_mask & IB_QP_MAX_QP_RD_ATOMIC && + attr->max_rd_atomic > log_max_ra_res) { + mlx5_ib_dbg(dev, "invalid max_rd_atomic value %d\n", + attr->max_rd_atomic); + return false; + } + + if (attr_mask & IB_QP_MAX_DEST_RD_ATOMIC && + attr->max_dest_rd_atomic > log_max_ra_req) { + mlx5_ib_dbg(dev, "invalid max_dest_rd_atomic value %d\n", + attr->max_dest_rd_atomic); + return false; + } + return true; +} + int mlx5_ib_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask, struct ib_udata *udata) { @@ -4589,21 +4624,8 @@ goto out; } - if (attr_mask & IB_QP_MAX_QP_RD_ATOMIC && - attr->max_rd_atomic > - (1 << MLX5_CAP_GEN(dev->mdev, log_max_ra_res_qp))) { - mlx5_ib_dbg(dev, "invalid max_rd_atomic value %d\n", - attr->max_rd_atomic); - goto out; - } - - if (attr_mask & IB_QP_MAX_DEST_RD_ATOMIC && - attr->max_dest_rd_atomic > - (1 << MLX5_CAP_GEN(dev->mdev, log_max_ra_req_qp))) { - mlx5_ib_dbg(dev, "invalid max_dest_rd_atomic value %d\n", - attr->max_dest_rd_atomic); + if (!validate_rd_atomic(dev, attr, attr_mask, qp_type)) goto out; - } if (cur_state == new_state && cur_state == IB_QPS_RESET) { err = 0; --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/mlx5/srq.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/mlx5/srq.c @@ -75,7 +75,7 @@ srq->wq_sig = !!(ucmd.flags & MLX5_SRQ_FLAG_SIGNATURE); - srq->umem = ib_umem_get(pd->device, ucmd.buf_addr, buf_size, 0); + srq->umem = ib_umem_get_peer(pd->device, ucmd.buf_addr, buf_size, 0, 0); if (IS_ERR(srq->umem)) { mlx5_ib_dbg(dev, "failed umem get, size %d\n", buf_size); err = PTR_ERR(srq->umem); --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/mlx5/umr.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/mlx5/umr.c @@ -176,6 +176,8 @@ dev->umrc.pd = pd; sema_init(&dev->umrc.sem, MAX_UMR_WR); + mutex_init(&dev->umrc.lock); + dev->umrc.state = MLX5_UMR_STATE_ACTIVE; return 0; @@ -190,11 +192,38 @@ void mlx5r_umr_resource_cleanup(struct mlx5_ib_dev *dev) { + if (dev->umrc.state == MLX5_UMR_STATE_UNINIT) + return; ib_destroy_qp(dev->umrc.qp); ib_free_cq(dev->umrc.cq); ib_dealloc_pd(dev->umrc.pd); } +static int mlx5r_umr_recover(struct mlx5_ib_dev *dev) +{ + struct umr_common *umrc = &dev->umrc; + struct ib_qp_attr attr; + int err; + + attr.qp_state = IB_QPS_RESET; + err = ib_modify_qp(umrc->qp, &attr, IB_QP_STATE); + if (err) { + mlx5_ib_dbg(dev, "Couldn't modify UMR QP\n"); + goto err; + } + + err = mlx5r_umr_qp_rst2rts(dev, umrc->qp); + if (err) + goto err; + + umrc->state = MLX5_UMR_STATE_ACTIVE; + return 0; + +err: + umrc->state = MLX5_UMR_STATE_ERR; + return err; +} + static int mlx5r_umr_post_send(struct ib_qp *ibqp, u32 mkey, struct ib_cqe *cqe, struct mlx5r_umr_wqe *wqe, bool with_data) { @@ -231,7 +260,7 @@ id.ib_cqe = cqe; mlx5r_finish_wqe(qp, ctrl, seg, size, cur_edge, idx, id.wr_id, 0, - MLX5_FENCE_MODE_NONE, MLX5_OPCODE_UMR); + MLX5_FENCE_MODE_INITIATOR_SMALL, MLX5_OPCODE_UMR); mlx5r_ring_db(qp, 1, ctrl); @@ -270,17 +299,49 @@ mlx5r_umr_init_context(&umr_context); down(&umrc->sem); - err = mlx5r_umr_post_send(umrc->qp, mkey, &umr_context.cqe, wqe, - with_data); - if (err) - mlx5_ib_warn(dev, "UMR post send failed, err %d\n", err); - else { - wait_for_completion(&umr_context.done); - if (umr_context.status != IB_WC_SUCCESS) { - mlx5_ib_warn(dev, "reg umr failed (%u)\n", - umr_context.status); + while (true) { + mutex_lock(&umrc->lock); + if (umrc->state == MLX5_UMR_STATE_ERR) { + mutex_unlock(&umrc->lock); err = -EFAULT; + break; + } + + if (umrc->state == MLX5_UMR_STATE_RECOVER) { + mutex_unlock(&umrc->lock); + usleep_range(3000, 5000); + continue; + } + + err = mlx5r_umr_post_send(umrc->qp, mkey, &umr_context.cqe, wqe, + with_data); + mutex_unlock(&umrc->lock); + if (err) { + mlx5_ib_warn(dev, "UMR post send failed, err %d\n", + err); + break; } + + wait_for_completion(&umr_context.done); + + if (umr_context.status == IB_WC_SUCCESS) + break; + + if (umr_context.status == IB_WC_WR_FLUSH_ERR) + continue; + + WARN_ON_ONCE(1); + mlx5_ib_warn(dev, + "reg umr failed (%u). Trying to recover and resubmit the flushed WQEs\n", + umr_context.status); + mutex_lock(&umrc->lock); + err = mlx5r_umr_recover(dev); + mutex_unlock(&umrc->lock); + if (err) + mlx5_ib_warn(dev, "couldn't recover UMR, err %d\n", + err); + err = -EFAULT; + break; } up(&umrc->sem); return err; --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/qedr/main.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/qedr/main.c @@ -344,6 +344,10 @@ if (IS_IWARP(dev)) { xa_init(&dev->qps); dev->iwarp_wq = create_singlethread_workqueue("qedr_iwarpq"); + if (!dev->iwarp_wq) { + rc = -ENOMEM; + goto err1; + } } /* Allocate Status blocks for CNQ */ @@ -351,7 +355,7 @@ GFP_KERNEL); if (!dev->sb_array) { rc = -ENOMEM; - goto err1; + goto err_destroy_wq; } dev->cnq_array = kcalloc(dev->num_cnq, @@ -402,6 +406,9 @@ kfree(dev->cnq_array); err2: kfree(dev->sb_array); +err_destroy_wq: + if (IS_IWARP(dev)) + destroy_workqueue(dev->iwarp_wq); err1: kfree(dev->sgid_tbl); return rc; --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/qedr/verbs.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/qedr/verbs.c @@ -3084,7 +3084,7 @@ else DP_ERR(dev, "roce alloc tid returned error %d\n", rc); - goto err0; + goto err1; } /* Index only, 18 bit long, lkey = itid << 8 | key */ @@ -3108,7 +3108,7 @@ rc = dev->ops->rdma_register_tid(dev->rdma_ctx, &mr->hw_mr); if (rc) { DP_ERR(dev, "roce register tid returned an error %d\n", rc); - goto err1; + goto err2; } mr->ibmr.lkey = mr->hw_mr.itid << 8 | mr->hw_mr.key; @@ -3117,8 +3117,10 @@ DP_DEBUG(dev, QEDR_MSG_MR, "alloc frmr: %x\n", mr->ibmr.lkey); return mr; -err1: +err2: dev->ops->rdma_free_tid(dev->rdma_ctx, mr->hw_mr.itid); +err1: + qedr_free_pbl(dev, &mr->info.pbl_info, mr->info.pbl_table); err0: kfree(mr); return ERR_PTR(rc); --- linux-gcp-5.19.0.orig/drivers/infiniband/hw/usnic/usnic_uiom.c +++ linux-gcp-5.19.0/drivers/infiniband/hw/usnic/usnic_uiom.c @@ -280,8 +280,8 @@ size = pa_end - pa_start + PAGE_SIZE; usnic_dbg("va 0x%lx pa %pa size 0x%zx flags 0x%x", va_start, &pa_start, size, flags); - err = iommu_map(pd->domain, va_start, pa_start, - size, flags); + err = iommu_map_atomic(pd->domain, va_start, + pa_start, size, flags); if (err) { usnic_err("Failed to map va 0x%lx pa %pa size 0x%zx with err %d\n", va_start, &pa_start, size, err); @@ -297,8 +297,8 @@ size = pa - pa_start + PAGE_SIZE; usnic_dbg("va 0x%lx pa %pa size 0x%zx flags 0x%x\n", va_start, &pa_start, size, flags); - err = iommu_map(pd->domain, va_start, pa_start, - size, flags); + err = iommu_map_atomic(pd->domain, va_start, + pa_start, size, flags); if (err) { usnic_err("Failed to map va 0x%lx pa %pa size 0x%zx with err %d\n", va_start, &pa_start, size, err); --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/rxe/rxe_comp.c +++ linux-gcp-5.19.0/drivers/infiniband/sw/rxe/rxe_comp.c @@ -114,6 +114,8 @@ { struct rxe_qp *qp = from_timer(qp, t, retrans_timer); + pr_debug("%s: fired for qp#%d\n", __func__, qp->elem.index); + if (qp->valid) { qp->comp.timeout = 1; rxe_run_task(&qp->comp.task, 1); @@ -730,11 +732,15 @@ break; case COMPST_RNR_RETRY: + /* we come here if we received an RNR NAK */ if (qp->comp.rnr_retry > 0) { if (qp->comp.rnr_retry != 7) qp->comp.rnr_retry--; - qp->req.need_retry = 1; + /* don't start a retry flow until the + * rnr timer has fired + */ + qp->req.wait_for_rnr_timer = 1; pr_debug("qp#%d set rnr nak timer\n", qp_num(qp)); mod_timer(&qp->rnr_nak_timer, --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/rxe/rxe_loc.h +++ linux-gcp-5.19.0/drivers/infiniband/sw/rxe/rxe_loc.h @@ -64,10 +64,10 @@ /* rxe_mr.c */ u8 rxe_get_next_key(u32 last_key); -void rxe_mr_init_dma(struct rxe_pd *pd, int access, struct rxe_mr *mr); -int rxe_mr_init_user(struct rxe_pd *pd, u64 start, u64 length, u64 iova, +void rxe_mr_init_dma(int access, struct rxe_mr *mr); +int rxe_mr_init_user(struct rxe_dev *rxe, u64 start, u64 length, u64 iova, int access, struct rxe_mr *mr); -int rxe_mr_init_fast(struct rxe_pd *pd, int max_pages, struct rxe_mr *mr); +int rxe_mr_init_fast(int max_pages, struct rxe_mr *mr); int rxe_mr_copy(struct rxe_mr *mr, u64 iova, void *addr, int length, enum rxe_mr_copy_dir dir); int copy_data(struct rxe_pd *pd, int access, struct rxe_dma_info *dma, @@ -77,9 +77,8 @@ enum rxe_mr_lookup_type type); int mr_check_range(struct rxe_mr *mr, u64 iova, size_t length); int advance_dma_data(struct rxe_dma_info *dma, unsigned int length); -int rxe_invalidate_mr(struct rxe_qp *qp, u32 rkey); +int rxe_invalidate_mr(struct rxe_qp *qp, u32 key); int rxe_reg_fast_mr(struct rxe_qp *qp, struct rxe_send_wqe *wqe); -int rxe_mr_set_page(struct ib_mr *ibmr, u64 addr); int rxe_dereg_mr(struct ib_mr *ibmr, struct ib_udata *udata); void rxe_mr_cleanup(struct rxe_pool_elem *elem); --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/rxe/rxe_mr.c +++ linux-gcp-5.19.0/drivers/infiniband/sw/rxe/rxe_mr.c @@ -24,7 +24,7 @@ int mr_check_range(struct rxe_mr *mr, u64 iova, size_t length) { - struct rxe_map_set *set = mr->cur_map_set; + switch (mr->type) { case IB_MR_TYPE_DMA: @@ -32,8 +32,8 @@ case IB_MR_TYPE_USER: case IB_MR_TYPE_MEM_REG: - if (iova < set->iova || length > set->length || - iova > set->iova + set->length - length) + if (iova < mr->iova || length > mr->length || + iova > mr->iova + mr->length - length) return -EFAULT; return 0; @@ -65,106 +65,57 @@ mr->map_shift = ilog2(RXE_BUF_PER_MAP); } -static void rxe_mr_free_map_set(int num_map, struct rxe_map_set *set) -{ - int i; - - for (i = 0; i < num_map; i++) - kfree(set->map[i]); - - kfree(set->map); - kfree(set); -} - -static int rxe_mr_alloc_map_set(int num_map, struct rxe_map_set **setp) +static int rxe_mr_alloc(struct rxe_mr *mr, int num_buf) { int i; - struct rxe_map_set *set; + int num_map; + struct rxe_map **map = mr->map; - set = kmalloc(sizeof(*set), GFP_KERNEL); - if (!set) - goto err_out; + num_map = (num_buf + RXE_BUF_PER_MAP - 1) / RXE_BUF_PER_MAP; - set->map = kmalloc_array(num_map, sizeof(struct rxe_map *), GFP_KERNEL); - if (!set->map) - goto err_free_set; + mr->map = kmalloc_array(num_map, sizeof(*map), GFP_KERNEL); + if (!mr->map) + goto err1; for (i = 0; i < num_map; i++) { - set->map[i] = kmalloc(sizeof(struct rxe_map), GFP_KERNEL); - if (!set->map[i]) - goto err_free_map; + mr->map[i] = kmalloc(sizeof(**map), GFP_KERNEL); + if (!mr->map[i]) + goto err2; } - *setp = set; - - return 0; - -err_free_map: - for (i--; i >= 0; i--) - kfree(set->map[i]); - - kfree(set->map); -err_free_set: - kfree(set); -err_out: - return -ENOMEM; -} - -/** - * rxe_mr_alloc() - Allocate memory map array(s) for MR - * @mr: Memory region - * @num_buf: Number of buffer descriptors to support - * @both: If non zero allocate both mr->map and mr->next_map - * else just allocate mr->map. Used for fast MRs - * - * Return: 0 on success else an error - */ -static int rxe_mr_alloc(struct rxe_mr *mr, int num_buf, int both) -{ - int ret; - int num_map; - BUILD_BUG_ON(!is_power_of_2(RXE_BUF_PER_MAP)); - num_map = (num_buf + RXE_BUF_PER_MAP - 1) / RXE_BUF_PER_MAP; mr->map_shift = ilog2(RXE_BUF_PER_MAP); mr->map_mask = RXE_BUF_PER_MAP - 1; + mr->num_buf = num_buf; - mr->max_buf = num_map * RXE_BUF_PER_MAP; mr->num_map = num_map; - - ret = rxe_mr_alloc_map_set(num_map, &mr->cur_map_set); - if (ret) - return -ENOMEM; - - if (both) { - ret = rxe_mr_alloc_map_set(num_map, &mr->next_map_set); - if (ret) - goto err_free; - } + mr->max_buf = num_map * RXE_BUF_PER_MAP; return 0; -err_free: - rxe_mr_free_map_set(mr->num_map, mr->cur_map_set); - mr->cur_map_set = NULL; +err2: + for (i--; i >= 0; i--) + kfree(mr->map[i]); + + kfree(mr->map); + mr->map = NULL; +err1: return -ENOMEM; } -void rxe_mr_init_dma(struct rxe_pd *pd, int access, struct rxe_mr *mr) +void rxe_mr_init_dma(int access, struct rxe_mr *mr) { rxe_mr_init(access, mr); - mr->ibmr.pd = &pd->ibpd; mr->access = access; mr->state = RXE_MR_STATE_VALID; mr->type = IB_MR_TYPE_DMA; } -int rxe_mr_init_user(struct rxe_pd *pd, u64 start, u64 length, u64 iova, +int rxe_mr_init_user(struct rxe_dev *rxe, u64 start, u64 length, u64 iova, int access, struct rxe_mr *mr) { - struct rxe_map_set *set; struct rxe_map **map; struct rxe_phys_buf *buf = NULL; struct ib_umem *umem; @@ -173,7 +124,7 @@ void *vaddr; int err; - umem = ib_umem_get(pd->ibpd.device, start, length, access); + umem = ib_umem_get(&rxe->ib_dev, start, length, access); if (IS_ERR(umem)) { pr_warn("%s: Unable to pin memory region err = %d\n", __func__, (int)PTR_ERR(umem)); @@ -185,20 +136,18 @@ rxe_mr_init(access, mr); - err = rxe_mr_alloc(mr, num_buf, 0); + err = rxe_mr_alloc(mr, num_buf); if (err) { pr_warn("%s: Unable to allocate memory for map\n", __func__); goto err_release_umem; } - set = mr->cur_map_set; - set->page_shift = PAGE_SHIFT; - set->page_mask = PAGE_SIZE - 1; - - num_buf = 0; - map = set->map; + mr->page_shift = PAGE_SHIFT; + mr->page_mask = PAGE_SIZE - 1; + num_buf = 0; + map = mr->map; if (length > 0) { buf = map[0]->buf; @@ -216,25 +165,23 @@ err = -ENOMEM; goto err_release_umem; } - buf->addr = (uintptr_t)vaddr; buf->size = PAGE_SIZE; num_buf++; buf++; + } } - mr->ibmr.pd = &pd->ibpd; mr->umem = umem; mr->access = access; + mr->length = length; + mr->iova = iova; + mr->va = start; + mr->offset = ib_umem_offset(umem); mr->state = RXE_MR_STATE_VALID; mr->type = IB_MR_TYPE_USER; - set->length = length; - set->iova = iova; - set->va = start; - set->offset = ib_umem_offset(umem); - return 0; err_release_umem: @@ -243,18 +190,17 @@ return err; } -int rxe_mr_init_fast(struct rxe_pd *pd, int max_pages, struct rxe_mr *mr) +int rxe_mr_init_fast(int max_pages, struct rxe_mr *mr) { int err; /* always allow remote access for FMRs */ rxe_mr_init(IB_ACCESS_REMOTE, mr); - err = rxe_mr_alloc(mr, max_pages, 1); + err = rxe_mr_alloc(mr, max_pages); if (err) goto err1; - mr->ibmr.pd = &pd->ibpd; mr->max_buf = max_pages; mr->state = RXE_MR_STATE_FREE; mr->type = IB_MR_TYPE_MEM_REG; @@ -268,24 +214,21 @@ static void lookup_iova(struct rxe_mr *mr, u64 iova, int *m_out, int *n_out, size_t *offset_out) { - struct rxe_map_set *set = mr->cur_map_set; - size_t offset = iova - set->iova + set->offset; + size_t offset = iova - mr->iova + mr->offset; int map_index; int buf_index; u64 length; - struct rxe_map *map; - if (likely(set->page_shift)) { - *offset_out = offset & set->page_mask; - offset >>= set->page_shift; + if (likely(mr->page_shift)) { + *offset_out = offset & mr->page_mask; + offset >>= mr->page_shift; *n_out = offset & mr->map_mask; *m_out = offset >> mr->map_shift; } else { map_index = 0; buf_index = 0; - map = set->map[map_index]; - length = map->buf[buf_index].size; + length = mr->map[map_index]->buf[buf_index].size; while (offset >= length) { offset -= length; @@ -295,8 +238,7 @@ map_index++; buf_index = 0; } - map = set->map[map_index]; - length = map->buf[buf_index].size; + length = mr->map[map_index]->buf[buf_index].size; } *m_out = map_index; @@ -317,7 +259,7 @@ goto out; } - if (!mr->cur_map_set) { + if (!mr->map) { addr = (void *)(uintptr_t)iova; goto out; } @@ -330,13 +272,13 @@ lookup_iova(mr, iova, &m, &n, &offset); - if (offset + length > mr->cur_map_set->map[m]->buf[n].size) { + if (offset + length > mr->map[m]->buf[n].size) { pr_warn("crosses page boundary\n"); addr = NULL; goto out; } - addr = (void *)(uintptr_t)mr->cur_map_set->map[m]->buf[n].addr + offset; + addr = (void *)(uintptr_t)mr->map[m]->buf[n].addr + offset; out: return addr; @@ -372,7 +314,7 @@ return 0; } - WARN_ON_ONCE(!mr->cur_map_set); + WARN_ON_ONCE(!mr->map); err = mr_check_range(mr, iova, length); if (err) { @@ -382,7 +324,7 @@ lookup_iova(mr, iova, &m, &i, &offset); - map = mr->cur_map_set->map + m; + map = mr->map + m; buf = map[0]->buf + i; while (length > 0) { @@ -576,22 +518,22 @@ return mr; } -int rxe_invalidate_mr(struct rxe_qp *qp, u32 rkey) +int rxe_invalidate_mr(struct rxe_qp *qp, u32 key) { struct rxe_dev *rxe = to_rdev(qp->ibqp.device); struct rxe_mr *mr; int ret; - mr = rxe_pool_get_index(&rxe->mr_pool, rkey >> 8); + mr = rxe_pool_get_index(&rxe->mr_pool, key >> 8); if (!mr) { - pr_err("%s: No MR for rkey %#x\n", __func__, rkey); + pr_err("%s: No MR for key %#x\n", __func__, key); ret = -EINVAL; goto err; } - if (rkey != mr->rkey) { - pr_err("%s: rkey (%#x) doesn't match mr->rkey (%#x)\n", - __func__, rkey, mr->rkey); + if (mr->rkey ? (key != mr->rkey) : (key != mr->lkey)) { + pr_err("%s: wr key (%#x) doesn't match mr key (%#x)\n", + __func__, key, (mr->rkey ? mr->rkey : mr->lkey)); ret = -EINVAL; goto err_drop_ref; } @@ -628,9 +570,8 @@ int rxe_reg_fast_mr(struct rxe_qp *qp, struct rxe_send_wqe *wqe) { struct rxe_mr *mr = to_rmr(wqe->wr.wr.reg.mr); - u32 key = wqe->wr.wr.reg.key & 0xff; + u32 key = wqe->wr.wr.reg.key; u32 access = wqe->wr.wr.reg.access; - struct rxe_map_set *set; /* user can only register MR in free state */ if (unlikely(mr->state != RXE_MR_STATE_FREE)) { @@ -646,36 +587,19 @@ return -EINVAL; } + /* user is only allowed to change key portion of l/rkey */ + if (unlikely((mr->lkey & ~0xff) != (key & ~0xff))) { + pr_warn("%s: key = 0x%x has wrong index mr->lkey = 0x%x\n", + __func__, key, mr->lkey); + return -EINVAL; + } + mr->access = access; - mr->lkey = (mr->lkey & ~0xff) | key; - mr->rkey = (access & IB_ACCESS_REMOTE) ? mr->lkey : 0; + mr->lkey = key; + mr->rkey = (access & IB_ACCESS_REMOTE) ? key : 0; + mr->iova = wqe->wr.wr.reg.mr->iova; mr->state = RXE_MR_STATE_VALID; - set = mr->cur_map_set; - mr->cur_map_set = mr->next_map_set; - mr->cur_map_set->iova = wqe->wr.wr.reg.mr->iova; - mr->next_map_set = set; - - return 0; -} - -int rxe_mr_set_page(struct ib_mr *ibmr, u64 addr) -{ - struct rxe_mr *mr = to_rmr(ibmr); - struct rxe_map_set *set = mr->next_map_set; - struct rxe_map *map; - struct rxe_phys_buf *buf; - - if (unlikely(set->nbuf == mr->num_buf)) - return -ENOMEM; - - map = set->map[set->nbuf / RXE_BUF_PER_MAP]; - buf = &map->buf[set->nbuf % RXE_BUF_PER_MAP]; - - buf->addr = addr; - buf->size = ibmr->page_size; - set->nbuf++; - return 0; } @@ -695,14 +619,15 @@ void rxe_mr_cleanup(struct rxe_pool_elem *elem) { struct rxe_mr *mr = container_of(elem, typeof(*mr), elem); + int i; rxe_put(mr_pd(mr)); - ib_umem_release(mr->umem); - if (mr->cur_map_set) - rxe_mr_free_map_set(mr->num_map, mr->cur_map_set); + if (mr->map) { + for (i = 0; i < mr->num_map; i++) + kfree(mr->map[i]); - if (mr->next_map_set) - rxe_mr_free_map_set(mr->num_map, mr->next_map_set); + kfree(mr->map); + } } --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/rxe/rxe_mw.c +++ linux-gcp-5.19.0/drivers/infiniband/sw/rxe/rxe_mw.c @@ -48,8 +48,6 @@ static int rxe_check_bind_mw(struct rxe_qp *qp, struct rxe_send_wqe *wqe, struct rxe_mw *mw, struct rxe_mr *mr) { - u32 key = wqe->wr.wr.mw.rkey & 0xff; - if (mw->ibmw.type == IB_MW_TYPE_1) { if (unlikely(mw->state != RXE_MW_STATE_VALID)) { pr_err_once( @@ -87,11 +85,6 @@ } } - if (unlikely(key == (mw->rkey & 0xff))) { - pr_err_once("attempt to bind MW with same key\n"); - return -EINVAL; - } - /* remaining checks only apply to a nonzero MR */ if (!mr) return 0; @@ -119,15 +112,15 @@ /* C10-75 */ if (mw->access & IB_ZERO_BASED) { - if (unlikely(wqe->wr.wr.mw.length > mr->cur_map_set->length)) { + if (unlikely(wqe->wr.wr.mw.length > mr->length)) { pr_err_once( "attempt to bind a ZB MW outside of the MR\n"); return -EINVAL; } } else { - if (unlikely((wqe->wr.wr.mw.addr < mr->cur_map_set->iova) || + if (unlikely((wqe->wr.wr.mw.addr < mr->iova) || ((wqe->wr.wr.mw.addr + wqe->wr.wr.mw.length) > - (mr->cur_map_set->iova + mr->cur_map_set->length)))) { + (mr->iova + mr->length)))) { pr_err_once( "attempt to bind a VA MW outside of the MR\n"); return -EINVAL; --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/rxe/rxe_param.h +++ linux-gcp-5.19.0/drivers/infiniband/sw/rxe/rxe_param.h @@ -91,11 +91,11 @@ RXE_MAX_SRQ = DEFAULT_MAX_VALUE - RXE_MIN_SRQ_INDEX, RXE_MIN_MR_INDEX = 0x00000001, - RXE_MAX_MR_INDEX = DEFAULT_MAX_VALUE, - RXE_MAX_MR = DEFAULT_MAX_VALUE - RXE_MIN_MR_INDEX, - RXE_MIN_MW_INDEX = 0x00010001, - RXE_MAX_MW_INDEX = 0x00020000, - RXE_MAX_MW = 0x00001000, + RXE_MAX_MR_INDEX = DEFAULT_MAX_VALUE >> 1, + RXE_MAX_MR = RXE_MAX_MR_INDEX - RXE_MIN_MR_INDEX, + RXE_MIN_MW_INDEX = RXE_MAX_MR_INDEX + 1, + RXE_MAX_MW_INDEX = DEFAULT_MAX_VALUE, + RXE_MAX_MW = RXE_MAX_MW_INDEX - RXE_MIN_MW_INDEX, RXE_MAX_PKT_PER_ACK = 64, @@ -105,6 +105,12 @@ RXE_INFLIGHT_SKBS_PER_QP_HIGH = 64, RXE_INFLIGHT_SKBS_PER_QP_LOW = 16, + /* Max number of interations of each tasklet + * before yielding the cpu to let other + * work make progress + */ + RXE_MAX_ITERATIONS = 1024, + /* Delay before calling arbiter timer */ RXE_NSEC_ARB_TIMER_DELAY = 200, --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/rxe/rxe_pool.c +++ linux-gcp-5.19.0/drivers/infiniband/sw/rxe/rxe_pool.c @@ -22,16 +22,16 @@ .size = sizeof(struct rxe_ucontext), .elem_offset = offsetof(struct rxe_ucontext, elem), .min_index = 1, - .max_index = UINT_MAX, - .max_elem = UINT_MAX, + .max_index = RXE_MAX_UCONTEXT, + .max_elem = RXE_MAX_UCONTEXT, }, [RXE_TYPE_PD] = { .name = "pd", .size = sizeof(struct rxe_pd), .elem_offset = offsetof(struct rxe_pd, elem), .min_index = 1, - .max_index = UINT_MAX, - .max_elem = UINT_MAX, + .max_index = RXE_MAX_PD, + .max_elem = RXE_MAX_PD, }, [RXE_TYPE_AH] = { .name = "ah", @@ -39,7 +39,7 @@ .elem_offset = offsetof(struct rxe_ah, elem), .min_index = RXE_MIN_AH_INDEX, .max_index = RXE_MAX_AH_INDEX, - .max_elem = RXE_MAX_AH_INDEX - RXE_MIN_AH_INDEX + 1, + .max_elem = RXE_MAX_AH, }, [RXE_TYPE_SRQ] = { .name = "srq", @@ -48,7 +48,7 @@ .cleanup = rxe_srq_cleanup, .min_index = RXE_MIN_SRQ_INDEX, .max_index = RXE_MAX_SRQ_INDEX, - .max_elem = RXE_MAX_SRQ_INDEX - RXE_MIN_SRQ_INDEX + 1, + .max_elem = RXE_MAX_SRQ, }, [RXE_TYPE_QP] = { .name = "qp", @@ -57,7 +57,7 @@ .cleanup = rxe_qp_cleanup, .min_index = RXE_MIN_QP_INDEX, .max_index = RXE_MAX_QP_INDEX, - .max_elem = RXE_MAX_QP_INDEX - RXE_MIN_QP_INDEX + 1, + .max_elem = RXE_MAX_QP, }, [RXE_TYPE_CQ] = { .name = "cq", @@ -65,8 +65,8 @@ .elem_offset = offsetof(struct rxe_cq, elem), .cleanup = rxe_cq_cleanup, .min_index = 1, - .max_index = UINT_MAX, - .max_elem = UINT_MAX, + .max_index = RXE_MAX_CQ, + .max_elem = RXE_MAX_CQ, }, [RXE_TYPE_MR] = { .name = "mr", @@ -75,7 +75,7 @@ .cleanup = rxe_mr_cleanup, .min_index = RXE_MIN_MR_INDEX, .max_index = RXE_MAX_MR_INDEX, - .max_elem = RXE_MAX_MR_INDEX - RXE_MIN_MR_INDEX + 1, + .max_elem = RXE_MAX_MR, }, [RXE_TYPE_MW] = { .name = "mw", @@ -84,7 +84,7 @@ .cleanup = rxe_mw_cleanup, .min_index = RXE_MIN_MW_INDEX, .max_index = RXE_MAX_MW_INDEX, - .max_elem = RXE_MAX_MW_INDEX - RXE_MIN_MW_INDEX + 1, + .max_elem = RXE_MAX_MW, }, }; @@ -139,7 +139,7 @@ err = xa_alloc_cyclic(&pool->xa, &elem->index, elem, pool->limit, &pool->next, GFP_KERNEL); - if (err) + if (err < 0) goto err_free; return obj; @@ -167,7 +167,7 @@ err = xa_alloc_cyclic(&pool->xa, &elem->index, elem, pool->limit, &pool->next, GFP_KERNEL); - if (err) + if (err < 0) goto err_cnt; return 0; --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/rxe/rxe_qp.c +++ linux-gcp-5.19.0/drivers/infiniband/sw/rxe/rxe_qp.c @@ -174,6 +174,14 @@ spin_lock_init(&qp->state_lock); + spin_lock_init(&qp->req.task.state_lock); + spin_lock_init(&qp->resp.task.state_lock); + spin_lock_init(&qp->comp.task.state_lock); + + spin_lock_init(&qp->sq.sq_lock); + spin_lock_init(&qp->rq.producer_lock); + spin_lock_init(&qp->rq.consumer_lock); + atomic_set(&qp->ssn, 0); atomic_set(&qp->skb_out, 0); } @@ -233,7 +241,6 @@ qp->req.opcode = -1; qp->comp.opcode = -1; - spin_lock_init(&qp->sq.sq_lock); skb_queue_head_init(&qp->req_pkts); rxe_init_task(rxe, &qp->req.task, qp, @@ -284,9 +291,6 @@ } } - spin_lock_init(&qp->rq.producer_lock); - spin_lock_init(&qp->rq.consumer_lock); - skb_queue_head_init(&qp->resp_pkts); rxe_init_task(rxe, &qp->resp.task, qp, @@ -507,6 +511,7 @@ atomic_set(&qp->ssn, 0); qp->req.opcode = -1; qp->req.need_retry = 0; + qp->req.wait_for_rnr_timer = 0; qp->req.noack_pkts = 0; qp->resp.msn = 0; qp->resp.opcode = -1; @@ -789,7 +794,9 @@ rxe_cleanup_task(&qp->comp.task); /* flush out any receive wr's or pending requests */ - __rxe_do_task(&qp->req.task); + if (qp->req.task.func) + __rxe_do_task(&qp->req.task); + if (qp->sq.queue) { __rxe_do_task(&qp->comp.task); __rxe_do_task(&qp->req.task); @@ -804,13 +811,15 @@ if (qp->rq.queue) rxe_queue_cleanup(qp->rq.queue); - atomic_dec(&qp->scq->num_wq); - if (qp->scq) + if (qp->scq) { + atomic_dec(&qp->scq->num_wq); rxe_put(qp->scq); + } - atomic_dec(&qp->rcq->num_wq); - if (qp->rcq) + if (qp->rcq) { + atomic_dec(&qp->rcq->num_wq); rxe_put(qp->rcq); + } if (qp->pd) rxe_put(qp->pd); @@ -818,13 +827,15 @@ if (qp->resp.mr) rxe_put(qp->resp.mr); - if (qp_type(qp) == IB_QPT_RC) - sk_dst_reset(qp->sk->sk); - free_rd_atomic_resources(qp); - kernel_sock_shutdown(qp->sk, SHUT_RDWR); - sock_release(qp->sk); + if (qp->sk) { + if (qp_type(qp) == IB_QPT_RC) + sk_dst_reset(qp->sk->sk); + + kernel_sock_shutdown(qp->sk, SHUT_RDWR); + sock_release(qp->sk); + } } /* called when the last reference to the qp is dropped */ --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/rxe/rxe_queue.c +++ linux-gcp-5.19.0/drivers/infiniband/sw/rxe/rxe_queue.c @@ -112,23 +112,25 @@ unsigned int num_elem) { enum queue_type type = q->type; + u32 new_prod; u32 prod; u32 cons; if (!queue_empty(q, q->type) && (num_elem < queue_count(q, type))) return -EINVAL; - prod = queue_get_producer(new_q, type); + new_prod = queue_get_producer(new_q, type); + prod = queue_get_producer(q, type); cons = queue_get_consumer(q, type); - while (!queue_empty(q, type)) { - memcpy(queue_addr_from_index(new_q, prod), + while ((prod - cons) & q->index_mask) { + memcpy(queue_addr_from_index(new_q, new_prod), queue_addr_from_index(q, cons), new_q->elem_size); - prod = queue_next_index(new_q, prod); + new_prod = queue_next_index(new_q, new_prod); cons = queue_next_index(q, cons); } - new_q->buf->producer_index = prod; + new_q->buf->producer_index = new_prod; q->buf->consumer_index = cons; /* update private index copies */ --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/rxe/rxe_queue.h +++ linux-gcp-5.19.0/drivers/infiniband/sw/rxe/rxe_queue.h @@ -38,19 +38,26 @@ /** * enum queue_type - type of queue * @QUEUE_TYPE_TO_CLIENT: Queue is written by rxe driver and - * read by client. Used by rxe driver only. + * read by client which may be a user space + * application or a kernel ulp. + * Used by rxe internals only. * @QUEUE_TYPE_FROM_CLIENT: Queue is written by client and - * read by rxe driver. Used by rxe driver only. - * @QUEUE_TYPE_TO_DRIVER: Queue is written by client and - * read by rxe driver. Used by kernel client only. - * @QUEUE_TYPE_FROM_DRIVER: Queue is written by rxe driver and - * read by client. Used by kernel client only. + * read by rxe driver. + * Used by rxe internals only. + * @QUEUE_TYPE_FROM_ULP: Queue is written by kernel ulp and + * read by rxe driver. + * Used by kernel verbs APIs only on + * behalf of ulps. + * @QUEUE_TYPE_TO_ULP: Queue is written by rxe driver and + * read by kernel ulp. + * Used by kernel verbs APIs only on + * behalf of ulps. */ enum queue_type { QUEUE_TYPE_TO_CLIENT, QUEUE_TYPE_FROM_CLIENT, - QUEUE_TYPE_TO_DRIVER, - QUEUE_TYPE_FROM_DRIVER, + QUEUE_TYPE_FROM_ULP, + QUEUE_TYPE_TO_ULP, }; struct rxe_queue { @@ -63,9 +70,9 @@ u32 index_mask; enum queue_type type; /* private copy of index for shared queues between - * kernel space and user space. Kernel reads and writes + * driver and clients. Driver reads and writes * this copy and then replicates to rxe_queue_buf - * for read access by user space. + * for read access by clients. */ u32 index; }; @@ -98,19 +105,21 @@ switch (type) { case QUEUE_TYPE_FROM_CLIENT: - /* protect user index */ + /* used by rxe, client owns the index */ prod = smp_load_acquire(&q->buf->producer_index); break; case QUEUE_TYPE_TO_CLIENT: + /* used by rxe which owns the index */ prod = q->index; break; - case QUEUE_TYPE_FROM_DRIVER: - /* protect driver index */ - prod = smp_load_acquire(&q->buf->producer_index); - break; - case QUEUE_TYPE_TO_DRIVER: + case QUEUE_TYPE_FROM_ULP: + /* used by ulp which owns the index */ prod = q->buf->producer_index; break; + case QUEUE_TYPE_TO_ULP: + /* used by ulp, rxe owns the index */ + prod = smp_load_acquire(&q->buf->producer_index); + break; } return prod; @@ -123,19 +132,21 @@ switch (type) { case QUEUE_TYPE_FROM_CLIENT: + /* used by rxe which owns the index */ cons = q->index; break; case QUEUE_TYPE_TO_CLIENT: - /* protect user index */ + /* used by rxe, client owns the index */ cons = smp_load_acquire(&q->buf->consumer_index); break; - case QUEUE_TYPE_FROM_DRIVER: - cons = q->buf->consumer_index; - break; - case QUEUE_TYPE_TO_DRIVER: - /* protect driver index */ + case QUEUE_TYPE_FROM_ULP: + /* used by ulp, rxe owns the index */ cons = smp_load_acquire(&q->buf->consumer_index); break; + case QUEUE_TYPE_TO_ULP: + /* used by ulp which owns the index */ + cons = q->buf->consumer_index; + break; } return cons; @@ -173,24 +184,31 @@ switch (type) { case QUEUE_TYPE_FROM_CLIENT: - pr_warn("%s: attempt to advance client index\n", - __func__); + /* used by rxe, client owns the index */ + if (WARN_ON(1)) + pr_warn("%s: attempt to advance client index\n", + __func__); break; case QUEUE_TYPE_TO_CLIENT: + /* used by rxe which owns the index */ prod = q->index; prod = (prod + 1) & q->index_mask; q->index = prod; - /* protect user index */ + /* release so client can read it safely */ smp_store_release(&q->buf->producer_index, prod); break; - case QUEUE_TYPE_FROM_DRIVER: - pr_warn("%s: attempt to advance driver index\n", - __func__); - break; - case QUEUE_TYPE_TO_DRIVER: + case QUEUE_TYPE_FROM_ULP: + /* used by ulp which owns the index */ prod = q->buf->producer_index; prod = (prod + 1) & q->index_mask; - q->buf->producer_index = prod; + /* release so rxe can read it safely */ + smp_store_release(&q->buf->producer_index, prod); + break; + case QUEUE_TYPE_TO_ULP: + /* used by ulp, rxe owns the index */ + if (WARN_ON(1)) + pr_warn("%s: attempt to advance driver index\n", + __func__); break; } } @@ -202,24 +220,30 @@ switch (type) { case QUEUE_TYPE_FROM_CLIENT: - cons = q->index; - cons = (cons + 1) & q->index_mask; + /* used by rxe which owns the index */ + cons = (q->index + 1) & q->index_mask; q->index = cons; - /* protect user index */ + /* release so client can read it safely */ smp_store_release(&q->buf->consumer_index, cons); break; case QUEUE_TYPE_TO_CLIENT: - pr_warn("%s: attempt to advance client index\n", - __func__); + /* used by rxe, client owns the index */ + if (WARN_ON(1)) + pr_warn("%s: attempt to advance client index\n", + __func__); + break; + case QUEUE_TYPE_FROM_ULP: + /* used by ulp, rxe owns the index */ + if (WARN_ON(1)) + pr_warn("%s: attempt to advance driver index\n", + __func__); break; - case QUEUE_TYPE_FROM_DRIVER: + case QUEUE_TYPE_TO_ULP: + /* used by ulp which owns the index */ cons = q->buf->consumer_index; cons = (cons + 1) & q->index_mask; - q->buf->consumer_index = cons; - break; - case QUEUE_TYPE_TO_DRIVER: - pr_warn("%s: attempt to advance driver index\n", - __func__); + /* release so rxe can read it safely */ + smp_store_release(&q->buf->consumer_index, cons); break; } } --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/rxe/rxe_req.c +++ linux-gcp-5.19.0/drivers/infiniband/sw/rxe/rxe_req.c @@ -101,7 +101,11 @@ { struct rxe_qp *qp = from_timer(qp, t, rnr_nak_timer); - pr_debug("qp#%d rnr nak timer fired\n", qp_num(qp)); + pr_debug("%s: fired for qp#%d\n", __func__, qp_num(qp)); + + /* request a send queue retry */ + qp->req.need_retry = 1; + qp->req.wait_for_rnr_timer = 0; rxe_run_task(&qp->req.task, 1); } @@ -581,9 +585,11 @@ wqe->status = IB_WC_SUCCESS; qp->req.wqe_index = queue_next_index(qp->sq.queue, qp->req.wqe_index); - if ((wqe->wr.send_flags & IB_SEND_SIGNALED) || - qp->sq_sig_type == IB_SIGNAL_ALL_WR) - rxe_run_task(&qp->comp.task, 1); + /* There is no ack coming for local work requests + * which can lead to a deadlock. So go ahead and complete + * it now. + */ + rxe_run_task(&qp->comp.task, 1); return 0; } @@ -620,10 +626,17 @@ qp->req.need_rd_atomic = 0; qp->req.wait_psn = 0; qp->req.need_retry = 0; + qp->req.wait_for_rnr_timer = 0; goto exit; } - if (unlikely(qp->req.need_retry)) { + /* we come here if the retransmot timer has fired + * or if the rnr timer has fired. If the retransmit + * timer fires while we are processing an RNR NAK wait + * until the rnr timer has fired before starting the + * retry flow + */ + if (unlikely(qp->req.need_retry && !qp->req.wait_for_rnr_timer)) { req_retry(qp); qp->req.need_retry = 0; } --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/rxe/rxe_resp.c +++ linux-gcp-5.19.0/drivers/infiniband/sw/rxe/rxe_resp.c @@ -21,6 +21,7 @@ RESPST_CHK_RKEY, RESPST_EXECUTE, RESPST_READ_REPLY, + RESPST_ATOMIC_REPLY, RESPST_COMPLETE, RESPST_ACKNOWLEDGE, RESPST_CLEANUP, @@ -55,6 +56,7 @@ [RESPST_CHK_RKEY] = "CHK_RKEY", [RESPST_EXECUTE] = "EXECUTE", [RESPST_READ_REPLY] = "READ_REPLY", + [RESPST_ATOMIC_REPLY] = "ATOMIC_REPLY", [RESPST_COMPLETE] = "COMPLETE", [RESPST_ACKNOWLEDGE] = "ACKNOWLEDGE", [RESPST_CLEANUP] = "CLEANUP", @@ -552,8 +554,8 @@ /* Guarantee atomicity of atomic operations at the machine level. */ static DEFINE_SPINLOCK(atomic_ops_lock); -static enum resp_states process_atomic(struct rxe_qp *qp, - struct rxe_pkt_info *pkt) +static enum resp_states rxe_atomic_reply(struct rxe_qp *qp, + struct rxe_pkt_info *pkt) { u64 *vaddr; enum resp_states ret; @@ -585,7 +587,16 @@ spin_unlock_bh(&atomic_ops_lock); - ret = RESPST_NONE; + qp->resp.msn++; + + /* next expected psn, read handles this separately */ + qp->resp.psn = (pkt->psn + 1) & BTH_PSN_MASK; + qp->resp.ack_psn = qp->resp.psn; + + qp->resp.opcode = pkt->opcode; + qp->resp.status = IB_WC_SUCCESS; + + ret = RESPST_ACKNOWLEDGE; out: return ret; } @@ -773,13 +784,13 @@ skb = prepare_ack_packet(qp, req_pkt, &ack_pkt, opcode, payload, res->cur_psn, AETH_ACK_UNLIMITED); - if (!skb) + if (!skb) { + rxe_put(mr); return RESPST_ERR_RNR; + } - err = rxe_mr_copy(mr, res->read.va, payload_addr(&ack_pkt), - payload, RXE_FROM_MR_OBJ); - if (err) - pr_err("Failed copying memory\n"); + rxe_mr_copy(mr, res->read.va, payload_addr(&ack_pkt), + payload, RXE_FROM_MR_OBJ); if (mr) rxe_put(mr); @@ -790,10 +801,8 @@ } err = rxe_xmit_packet(qp, &ack_pkt, skb); - if (err) { - pr_err("Failed sending RDMA reply.\n"); + if (err) return RESPST_ERR_RNR; - } res->read.va += payload; res->read.resid -= payload; @@ -858,9 +867,7 @@ qp->resp.msn++; return RESPST_READ_REPLY; } else if (pkt->mask & RXE_ATOMIC_MASK) { - err = process_atomic(qp, pkt); - if (err) - return err; + return RESPST_ATOMIC_REPLY; } else { /* Unreachable */ WARN_ON_ONCE(1); @@ -1316,6 +1323,9 @@ case RESPST_READ_REPLY: state = read_reply(qp, pkt); break; + case RESPST_ATOMIC_REPLY: + state = rxe_atomic_reply(qp, pkt); + break; case RESPST_ACKNOWLEDGE: state = acknowledge(qp, pkt); break; --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/rxe/rxe_task.c +++ linux-gcp-5.19.0/drivers/infiniband/sw/rxe/rxe_task.c @@ -8,7 +8,7 @@ #include #include -#include "rxe_task.h" +#include "rxe.h" int __rxe_do_task(struct rxe_task *task) @@ -33,6 +33,7 @@ int cont; int ret; struct rxe_task *task = from_tasklet(task, t, tasklet); + unsigned int iterations = RXE_MAX_ITERATIONS; spin_lock_bh(&task->state_lock); switch (task->state) { @@ -61,13 +62,20 @@ spin_lock_bh(&task->state_lock); switch (task->state) { case TASK_STATE_BUSY: - if (ret) + if (ret) { task->state = TASK_STATE_START; - else + } else if (iterations--) { cont = 1; + } else { + /* reschedule the tasklet and exit + * the loop to give up the cpu + */ + tasklet_schedule(&task->tasklet); + task->state = TASK_STATE_START; + } break; - /* soneone tried to run the task since the last time we called + /* someone tried to run the task since the last time we called * func, so we will call one more time regardless of the * return value */ --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/rxe/rxe_verbs.c +++ linux-gcp-5.19.0/drivers/infiniband/sw/rxe/rxe_verbs.c @@ -241,7 +241,7 @@ int num_sge = ibwr->num_sge; int full; - full = queue_full(rq->queue, QUEUE_TYPE_TO_DRIVER); + full = queue_full(rq->queue, QUEUE_TYPE_FROM_ULP); if (unlikely(full)) { err = -ENOMEM; goto err1; @@ -256,7 +256,7 @@ for (i = 0; i < num_sge; i++) length += ibwr->sg_list[i].length; - recv_wqe = queue_producer_addr(rq->queue, QUEUE_TYPE_TO_DRIVER); + recv_wqe = queue_producer_addr(rq->queue, QUEUE_TYPE_FROM_ULP); recv_wqe->wr_id = ibwr->wr_id; recv_wqe->num_sge = num_sge; @@ -269,7 +269,7 @@ recv_wqe->dma.cur_sge = 0; recv_wqe->dma.sge_offset = 0; - queue_advance_producer(rq->queue, QUEUE_TYPE_TO_DRIVER); + queue_advance_producer(rq->queue, QUEUE_TYPE_FROM_ULP); return 0; @@ -635,17 +635,17 @@ spin_lock_irqsave(&qp->sq.sq_lock, flags); - full = queue_full(sq->queue, QUEUE_TYPE_TO_DRIVER); + full = queue_full(sq->queue, QUEUE_TYPE_FROM_ULP); if (unlikely(full)) { spin_unlock_irqrestore(&qp->sq.sq_lock, flags); return -ENOMEM; } - send_wqe = queue_producer_addr(sq->queue, QUEUE_TYPE_TO_DRIVER); + send_wqe = queue_producer_addr(sq->queue, QUEUE_TYPE_FROM_ULP); init_send_wqe(qp, ibwr, mask, length, send_wqe); - queue_advance_producer(sq->queue, QUEUE_TYPE_TO_DRIVER); + queue_advance_producer(sq->queue, QUEUE_TYPE_FROM_ULP); spin_unlock_irqrestore(&qp->sq.sq_lock, flags); @@ -843,12 +843,12 @@ spin_lock_irqsave(&cq->cq_lock, flags); for (i = 0; i < num_entries; i++) { - cqe = queue_head(cq->queue, QUEUE_TYPE_FROM_DRIVER); + cqe = queue_head(cq->queue, QUEUE_TYPE_TO_ULP); if (!cqe) break; memcpy(wc++, &cqe->ibwc, sizeof(*wc)); - queue_advance_consumer(cq->queue, QUEUE_TYPE_FROM_DRIVER); + queue_advance_consumer(cq->queue, QUEUE_TYPE_TO_ULP); } spin_unlock_irqrestore(&cq->cq_lock, flags); @@ -860,7 +860,7 @@ struct rxe_cq *cq = to_rcq(ibcq); int count; - count = queue_count(cq->queue, QUEUE_TYPE_FROM_DRIVER); + count = queue_count(cq->queue, QUEUE_TYPE_TO_ULP); return (count > wc_cnt) ? wc_cnt : count; } @@ -876,7 +876,7 @@ if (cq->notify != IB_CQ_NEXT_COMP) cq->notify = flags & IB_CQ_SOLICITED_MASK; - empty = queue_empty(cq->queue, QUEUE_TYPE_FROM_DRIVER); + empty = queue_empty(cq->queue, QUEUE_TYPE_TO_ULP); if ((flags & IB_CQ_REPORT_MISSED_EVENTS) && !empty) ret = 1; @@ -897,7 +897,9 @@ return ERR_PTR(-ENOMEM); rxe_get(pd); - rxe_mr_init_dma(pd, access, mr); + mr->ibmr.pd = ibpd; + + rxe_mr_init_dma(access, mr); return &mr->ibmr; } @@ -921,15 +923,15 @@ rxe_get(pd); + mr->ibmr.pd = ibpd; - err = rxe_mr_init_user(pd, start, length, iova, access, mr); + err = rxe_mr_init_user(rxe, start, length, iova, access, mr); if (err) goto err3; return &mr->ibmr; err3: - rxe_put(pd); rxe_put(mr); err2: return ERR_PTR(err); @@ -953,40 +955,55 @@ } rxe_get(pd); + mr->ibmr.pd = ibpd; - err = rxe_mr_init_fast(pd, max_num_sg, mr); + err = rxe_mr_init_fast(max_num_sg, mr); if (err) goto err2; return &mr->ibmr; err2: - rxe_put(pd); rxe_put(mr); err1: return ERR_PTR(err); } -/* build next_map_set from scatterlist - * The IB_WR_REG_MR WR will swap map_sets - */ +static int rxe_set_page(struct ib_mr *ibmr, u64 addr) +{ + struct rxe_mr *mr = to_rmr(ibmr); + struct rxe_map *map; + struct rxe_phys_buf *buf; + + if (unlikely(mr->nbuf == mr->num_buf)) + return -ENOMEM; + + map = mr->map[mr->nbuf / RXE_BUF_PER_MAP]; + buf = &map->buf[mr->nbuf % RXE_BUF_PER_MAP]; + + buf->addr = addr; + buf->size = ibmr->page_size; + mr->nbuf++; + + return 0; +} + static int rxe_map_mr_sg(struct ib_mr *ibmr, struct scatterlist *sg, int sg_nents, unsigned int *sg_offset) { struct rxe_mr *mr = to_rmr(ibmr); - struct rxe_map_set *set = mr->next_map_set; int n; - set->nbuf = 0; + mr->nbuf = 0; - n = ib_sg_to_pages(ibmr, sg, sg_nents, sg_offset, rxe_mr_set_page); + n = ib_sg_to_pages(ibmr, sg, sg_nents, sg_offset, rxe_set_page); - set->va = ibmr->iova; - set->iova = ibmr->iova; - set->length = ibmr->length; - set->page_shift = ilog2(ibmr->page_size); - set->page_mask = ibmr->page_size - 1; - set->offset = set->iova & set->page_mask; + mr->va = ibmr->iova; + mr->iova = ibmr->iova; + mr->length = ibmr->length; + mr->page_shift = ilog2(ibmr->page_size); + mr->page_mask = ibmr->page_size - 1; + mr->offset = mr->iova & mr->page_mask; return n; } --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/rxe/rxe_verbs.h +++ linux-gcp-5.19.0/drivers/infiniband/sw/rxe/rxe_verbs.h @@ -124,6 +124,7 @@ int need_rd_atomic; int wait_psn; int need_retry; + int wait_for_rnr_timer; int noack_pkts; struct rxe_task task; }; @@ -288,17 +289,6 @@ struct rxe_phys_buf buf[RXE_BUF_PER_MAP]; }; -struct rxe_map_set { - struct rxe_map **map; - u64 va; - u64 iova; - size_t length; - u32 offset; - u32 nbuf; - int page_shift; - int page_mask; -}; - static inline int rkey_is_mw(u32 rkey) { u32 index = rkey >> 8; @@ -316,20 +306,26 @@ u32 rkey; enum rxe_mr_state state; enum ib_mr_type type; + u64 va; + u64 iova; + size_t length; + u32 offset; int access; + int page_shift; + int page_mask; int map_shift; int map_mask; u32 num_buf; + u32 nbuf; u32 max_buf; u32 num_map; atomic_t num_mw; - struct rxe_map_set *cur_map_set; - struct rxe_map_set *next_map_set; + struct rxe_map **map; }; enum rxe_mw_state { --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/siw/siw.h +++ linux-gcp-5.19.0/drivers/infiniband/sw/siw/siw.h @@ -418,6 +418,7 @@ struct ib_qp base_qp; struct siw_device *sdev; struct kref ref; + struct completion qp_free; struct list_head devq; int tx_cpu; struct siw_qp_attrs attrs; --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/siw/siw_cm.c +++ linux-gcp-5.19.0/drivers/infiniband/sw/siw/siw_cm.c @@ -725,11 +725,11 @@ enum mpa_v2_ctrl mpa_p2p_mode = MPA_V2_RDMA_NO_RTR; rv = siw_recv_mpa_rr(cep); - if (rv != -EAGAIN) - siw_cancel_mpatimer(cep); if (rv) goto out_err; + siw_cancel_mpatimer(cep); + rep = &cep->mpa.hdr; if (__mpa_rr_revision(rep->params.bits) > MPA_REVISION_2) { @@ -895,7 +895,8 @@ } out_err: - siw_cm_upcall(cep, IW_CM_EVENT_CONNECT_REPLY, -EINVAL); + if (rv != -EAGAIN) + siw_cm_upcall(cep, IW_CM_EVENT_CONNECT_REPLY, -EINVAL); return rv; } --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/siw/siw_cq.c +++ linux-gcp-5.19.0/drivers/infiniband/sw/siw/siw_cq.c @@ -56,8 +56,6 @@ if (READ_ONCE(cqe->flags) & SIW_WQE_VALID) { memset(wc, 0, sizeof(*wc)); wc->wr_id = cqe->id; - wc->status = map_cqe_status[cqe->status].ib; - wc->opcode = map_wc_opcode[cqe->opcode]; wc->byte_len = cqe->bytes; /* @@ -71,10 +69,32 @@ wc->wc_flags = IB_WC_WITH_INVALIDATE; } wc->qp = cqe->base_qp; + wc->opcode = map_wc_opcode[cqe->opcode]; + wc->status = map_cqe_status[cqe->status].ib; siw_dbg_cq(cq, "idx %u, type %d, flags %2x, id 0x%pK\n", cq->cq_get % cq->num_cqe, cqe->opcode, cqe->flags, (void *)(uintptr_t)cqe->id); + } else { + /* + * A malicious user may set invalid opcode or + * status in the user mmapped CQE array. + * Sanity check and correct values in that case + * to avoid out-of-bounds access to global arrays + * for opcode and status mapping. + */ + u8 opcode = cqe->opcode; + u16 status = cqe->status; + + if (opcode >= SIW_NUM_OPCODES) { + opcode = 0; + status = SIW_WC_GENERAL_ERR; + } else if (status >= SIW_NUM_WC_STATUS) { + status = SIW_WC_GENERAL_ERR; + } + wc->opcode = map_wc_opcode[opcode]; + wc->status = map_cqe_status[status].ib; + } WRITE_ONCE(cqe->flags, 0); cq->cq_get++; --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/siw/siw_mem.c +++ linux-gcp-5.19.0/drivers/infiniband/sw/siw/siw_mem.c @@ -398,7 +398,7 @@ mlock_limit = rlimit(RLIMIT_MEMLOCK) >> PAGE_SHIFT; - if (num_pages + atomic64_read(&mm_s->pinned_vm) > mlock_limit) { + if (atomic64_add_return(num_pages, &mm_s->pinned_vm) > mlock_limit) { rv = -ENOMEM; goto out_sem_up; } @@ -411,18 +411,16 @@ goto out_sem_up; } for (i = 0; num_pages; i++) { - int got, nents = min_t(int, num_pages, PAGES_PER_CHUNK); - - umem->page_chunk[i].plist = + int nents = min_t(int, num_pages, PAGES_PER_CHUNK); + struct page **plist = kcalloc(nents, sizeof(struct page *), GFP_KERNEL); - if (!umem->page_chunk[i].plist) { + + if (!plist) { rv = -ENOMEM; goto out_sem_up; } - got = 0; + umem->page_chunk[i].plist = plist; while (nents) { - struct page **plist = &umem->page_chunk[i].plist[got]; - rv = pin_user_pages(first_page_va, nents, foll_flags | FOLL_LONGTERM, plist, NULL); @@ -430,12 +428,11 @@ goto out_sem_up; umem->num_pages += rv; - atomic64_add(rv, &mm_s->pinned_vm); first_page_va += rv * PAGE_SIZE; + plist += rv; nents -= rv; - got += rv; + num_pages -= rv; } - num_pages -= got; } out_sem_up: mmap_read_unlock(mm_s); @@ -443,6 +440,10 @@ if (rv > 0) return umem; + /* Adjust accounting for pages not pinned */ + if (num_pages) + atomic64_sub(num_pages, &mm_s->pinned_vm); + siw_umem_release(umem, false); return ERR_PTR(rv); --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/siw/siw_qp.c +++ linux-gcp-5.19.0/drivers/infiniband/sw/siw/siw_qp.c @@ -1342,6 +1342,6 @@ vfree(qp->orq); siw_put_tx_cpu(qp->tx_cpu); - + complete(&qp->qp_free); atomic_dec(&sdev->num_qp); } --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/siw/siw_qp_rx.c +++ linux-gcp-5.19.0/drivers/infiniband/sw/siw/siw_qp_rx.c @@ -961,27 +961,28 @@ static int siw_get_trailer(struct siw_qp *qp, struct siw_rx_stream *srx) { struct sk_buff *skb = srx->skb; + int avail = min(srx->skb_new, srx->fpdu_part_rem); u8 *tbuf = (u8 *)&srx->trailer.crc - srx->pad; __wsum crc_in, crc_own = 0; siw_dbg_qp(qp, "expected %d, available %d, pad %u\n", srx->fpdu_part_rem, srx->skb_new, srx->pad); - if (srx->skb_new < srx->fpdu_part_rem) - return -EAGAIN; - - skb_copy_bits(skb, srx->skb_offset, tbuf, srx->fpdu_part_rem); + skb_copy_bits(skb, srx->skb_offset, tbuf, avail); - if (srx->mpa_crc_hd && srx->pad) - crypto_shash_update(srx->mpa_crc_hd, tbuf, srx->pad); + srx->skb_new -= avail; + srx->skb_offset += avail; + srx->skb_copied += avail; + srx->fpdu_part_rem -= avail; - srx->skb_new -= srx->fpdu_part_rem; - srx->skb_offset += srx->fpdu_part_rem; - srx->skb_copied += srx->fpdu_part_rem; + if (srx->fpdu_part_rem) + return -EAGAIN; if (!srx->mpa_crc_hd) return 0; + if (srx->pad) + crypto_shash_update(srx->mpa_crc_hd, tbuf, srx->pad); /* * CRC32 is computed, transmitted and received directly in NBO, * so there's never a reason to convert byte order. @@ -1083,10 +1084,9 @@ * completely received. */ if (iwarp_pktinfo[opcode].hdr_len > sizeof(struct iwarp_ctrl_tagged)) { - bytes = iwarp_pktinfo[opcode].hdr_len - MIN_DDP_HDR; + int hdrlen = iwarp_pktinfo[opcode].hdr_len; - if (srx->skb_new < bytes) - return -EAGAIN; + bytes = min_t(int, hdrlen - MIN_DDP_HDR, srx->skb_new); skb_copy_bits(skb, srx->skb_offset, (char *)c_hdr + srx->fpdu_part_rcvd, bytes); @@ -1096,6 +1096,9 @@ srx->skb_new -= bytes; srx->skb_offset += bytes; srx->skb_copied += bytes; + + if (srx->fpdu_part_rcvd < hdrlen) + return -EAGAIN; } /* --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/siw/siw_qp_tx.c +++ linux-gcp-5.19.0/drivers/infiniband/sw/siw/siw_qp_tx.c @@ -29,7 +29,7 @@ dma_addr_t paddr = siw_pbl_get_buffer(pbl, offset, NULL, idx); if (paddr) - return virt_to_page(paddr); + return virt_to_page((void *)(uintptr_t)paddr); return NULL; } @@ -533,13 +533,23 @@ kunmap_local(kaddr); } } else { - u64 va = sge->laddr + sge_off; - - page_array[seg] = virt_to_page(va & PAGE_MASK); + /* + * Cast to an uintptr_t to preserve all 64 bits + * in sge->laddr. + */ + uintptr_t va = (uintptr_t)(sge->laddr + sge_off); + + /* + * virt_to_page() takes a (void *) pointer + * so cast to a (void *) meaning it will be 64 + * bits on a 64 bit platform and 32 bits on a + * 32 bit platform. + */ + page_array[seg] = virt_to_page((void *)(va & PAGE_MASK)); if (do_crc) crypto_shash_update( c_tx->mpa_crc_hd, - (void *)(uintptr_t)va, + (void *)va, plen); } --- linux-gcp-5.19.0.orig/drivers/infiniband/sw/siw/siw_verbs.c +++ linux-gcp-5.19.0/drivers/infiniband/sw/siw/siw_verbs.c @@ -480,6 +480,8 @@ list_add_tail(&qp->devq, &sdev->qp_list); spin_unlock_irqrestore(&sdev->lock, flags); + init_completion(&qp->qp_free); + return 0; err_out_xa: @@ -624,6 +626,7 @@ qp->scq = qp->rcq = NULL; siw_qp_put(qp); + wait_for_completion(&qp->qp_free); return 0; } @@ -673,13 +676,45 @@ static int siw_sq_flush_wr(struct siw_qp *qp, const struct ib_send_wr *wr, const struct ib_send_wr **bad_wr) { - struct siw_sqe sqe = {}; int rv = 0; while (wr) { - sqe.id = wr->wr_id; - sqe.opcode = wr->opcode; - rv = siw_sqe_complete(qp, &sqe, 0, SIW_WC_WR_FLUSH_ERR); + struct siw_sqe sqe = {}; + + switch (wr->opcode) { + case IB_WR_RDMA_WRITE: + sqe.opcode = SIW_OP_WRITE; + break; + case IB_WR_RDMA_READ: + sqe.opcode = SIW_OP_READ; + break; + case IB_WR_RDMA_READ_WITH_INV: + sqe.opcode = SIW_OP_READ_LOCAL_INV; + break; + case IB_WR_SEND: + sqe.opcode = SIW_OP_SEND; + break; + case IB_WR_SEND_WITH_IMM: + sqe.opcode = SIW_OP_SEND_WITH_IMM; + break; + case IB_WR_SEND_WITH_INV: + sqe.opcode = SIW_OP_SEND_REMOTE_INV; + break; + case IB_WR_LOCAL_INV: + sqe.opcode = SIW_OP_INVAL_STAG; + break; + case IB_WR_REG_MR: + sqe.opcode = SIW_OP_REG_MR; + break; + default: + rv = -EINVAL; + break; + } + if (!rv) { + sqe.id = wr->wr_id; + rv = siw_sqe_complete(qp, &sqe, 0, + SIW_WC_WR_FLUSH_ERR); + } if (rv) { if (bad_wr) *bad_wr = wr; --- linux-gcp-5.19.0.orig/drivers/infiniband/ulp/ipoib/ipoib_main.c +++ linux-gcp-5.19.0/drivers/infiniband/ulp/ipoib/ipoib_main.c @@ -2198,6 +2198,14 @@ rn->attach_mcast = ipoib_mcast_attach; rn->detach_mcast = ipoib_mcast_detach; rn->hca = hca; + + rc = netif_set_real_num_tx_queues(dev, 1); + if (rc) + goto out; + + rc = netif_set_real_num_rx_queues(dev, 1); + if (rc) + goto out; } priv->rn_ops = dev->netdev_ops; --- linux-gcp-5.19.0.orig/drivers/infiniband/ulp/ipoib/ipoib_netlink.c +++ linux-gcp-5.19.0/drivers/infiniband/ulp/ipoib/ipoib_netlink.c @@ -41,6 +41,11 @@ [IFLA_IPOIB_UMCAST] = { .type = NLA_U16 }, }; +static unsigned int ipoib_get_max_num_queues(void) +{ + return min_t(unsigned int, num_possible_cpus(), 128); +} + static int ipoib_fill_info(struct sk_buff *skb, const struct net_device *dev) { struct ipoib_dev_priv *priv = ipoib_priv(dev); @@ -172,6 +177,8 @@ .changelink = ipoib_changelink, .get_size = ipoib_get_size, .fill_info = ipoib_fill_info, + .get_num_rx_queues = ipoib_get_max_num_queues, + .get_num_tx_queues = ipoib_get_max_num_queues, }; struct rtnl_link_ops *ipoib_get_link_ops(void) --- linux-gcp-5.19.0.orig/drivers/infiniband/ulp/iser/iscsi_iser.c +++ linux-gcp-5.19.0/drivers/infiniband/ulp/iser/iscsi_iser.c @@ -568,7 +568,7 @@ struct Scsi_Host *shost = iscsi_session_to_shost(cls_session); iscsi_session_teardown(cls_session); - iscsi_host_remove(shost); + iscsi_host_remove(shost, false); iscsi_host_free(shost); } @@ -685,7 +685,7 @@ return cls_session; remove_host: - iscsi_host_remove(shost); + iscsi_host_remove(shost, false); free_host: iscsi_host_free(shost); return NULL; --- linux-gcp-5.19.0.orig/drivers/infiniband/ulp/iser/iser_initiator.c +++ linux-gcp-5.19.0/drivers/infiniband/ulp/iser/iser_initiator.c @@ -537,6 +537,7 @@ struct iscsi_hdr *hdr; char *data; int length; + bool full_feature_phase; if (unlikely(wc->status != IB_WC_SUCCESS)) { iser_err_comp(wc, "login_rsp"); @@ -550,6 +551,9 @@ hdr = desc->rsp + sizeof(struct iser_ctrl); data = desc->rsp + ISER_HEADERS_LEN; length = wc->byte_len - ISER_HEADERS_LEN; + full_feature_phase = ((hdr->flags & ISCSI_FULL_FEATURE_PHASE) == + ISCSI_FULL_FEATURE_PHASE) && + (hdr->flags & ISCSI_FLAG_CMD_FINAL); iser_dbg("op 0x%x itt 0x%x dlen %d\n", hdr->opcode, hdr->itt, length); @@ -560,7 +564,8 @@ desc->rsp_dma, ISER_RX_LOGIN_SIZE, DMA_FROM_DEVICE); - if (iser_conn->iscsi_conn->session->discovery_sess) + if (!full_feature_phase || + iser_conn->iscsi_conn->session->discovery_sess) return; /* Post the first RX buffer that is skipped in iser_post_rx_bufs() */ --- linux-gcp-5.19.0.orig/drivers/infiniband/ulp/rtrs/rtrs-clt.c +++ linux-gcp-5.19.0/drivers/infiniband/ulp/rtrs/rtrs-clt.c @@ -740,25 +740,25 @@ struct rtrs_clt_path *(*next_path)(struct path_it *it); }; -/** - * list_next_or_null_rr_rcu - get next list element in round-robin fashion. +/* + * rtrs_clt_get_next_path_or_null - get clt path from the list or return NULL * @head: the head for the list. - * @ptr: the list head to take the next element from. - * @type: the type of the struct this is embedded in. - * @memb: the name of the list_head within the struct. + * @clt_path: The element to take the next clt_path from. * - * Next element returned in round-robin fashion, i.e. head will be skipped, + * Next clt path returned in round-robin fashion, i.e. head will be skipped, * but if list is observed as empty, NULL will be returned. * - * This primitive may safely run concurrently with the _rcu list-mutation + * This function may safely run concurrently with the _rcu list-mutation * primitives such as list_add_rcu() as long as it's guarded by rcu_read_lock(). */ -#define list_next_or_null_rr_rcu(head, ptr, type, memb) \ -({ \ - list_next_or_null_rcu(head, ptr, type, memb) ?: \ - list_next_or_null_rcu(head, READ_ONCE((ptr)->next), \ - type, memb); \ -}) +static inline struct rtrs_clt_path * +rtrs_clt_get_next_path_or_null(struct list_head *head, struct rtrs_clt_path *clt_path) +{ + return list_next_or_null_rcu(head, &clt_path->s.entry, typeof(*clt_path), s.entry) ?: + list_next_or_null_rcu(head, + READ_ONCE((&clt_path->s.entry)->next), + typeof(*clt_path), s.entry); +} /** * get_next_path_rr() - Returns path in round-robin fashion. @@ -789,10 +789,8 @@ path = list_first_or_null_rcu(&clt->paths_list, typeof(*path), s.entry); else - path = list_next_or_null_rr_rcu(&clt->paths_list, - &path->s.entry, - typeof(*path), - s.entry); + path = rtrs_clt_get_next_path_or_null(&clt->paths_list, path); + rcu_assign_pointer(*ppcpu_path, path); return path; @@ -962,7 +960,7 @@ refcount_set(&req->ref, 1); req->mp_policy = clt_path->clt->mp_policy; - iov_iter_kvec(&iter, READ, vec, 1, usr_len); + iov_iter_kvec(&iter, WRITE, vec, 1, usr_len); len = _copy_from_iter(req->iu->buf, usr_len, &iter); WARN_ON(len != usr_len); @@ -1006,7 +1004,8 @@ static int rtrs_post_rdma_write_sg(struct rtrs_clt_con *con, struct rtrs_clt_io_req *req, struct rtrs_rbuf *rbuf, bool fr_en, - u32 size, u32 imm, struct ib_send_wr *wr, + u32 count, u32 size, u32 imm, + struct ib_send_wr *wr, struct ib_send_wr *tail) { struct rtrs_clt_path *clt_path = to_clt_path(con->c.path); @@ -1026,12 +1025,12 @@ num_sge = 2; ptail = tail; } else { - for_each_sg(req->sglist, sg, req->sg_cnt, i) { + for_each_sg(req->sglist, sg, count, i) { sge[i].addr = sg_dma_address(sg); sge[i].length = sg_dma_len(sg); sge[i].lkey = clt_path->s.dev->ib_pd->local_dma_lkey; } - num_sge = 1 + req->sg_cnt; + num_sge = 1 + count; } sge[i].addr = req->iu->dma_addr; sge[i].length = size; @@ -1144,7 +1143,7 @@ */ rtrs_clt_update_all_stats(req, WRITE); - ret = rtrs_post_rdma_write_sg(req->con, req, rbuf, fr_en, + ret = rtrs_post_rdma_write_sg(req->con, req, rbuf, fr_en, count, req->usr_len + sizeof(*msg), imm, wr, &inv_wr); if (ret) { @@ -2277,8 +2276,7 @@ * removed. If @sess is the last element, then @next is NULL. */ rcu_read_lock(); - next = list_next_or_null_rr_rcu(&clt->paths_list, &clt_path->s.entry, - typeof(*next), s.entry); + next = rtrs_clt_get_next_path_or_null(&clt->paths_list, clt_path); rcu_read_unlock(); /* --- linux-gcp-5.19.0.orig/drivers/infiniband/ulp/rtrs/rtrs-pri.h +++ linux-gcp-5.19.0/drivers/infiniband/ulp/rtrs/rtrs-pri.h @@ -23,6 +23,17 @@ #define RTRS_PROTO_VER_STRING __stringify(RTRS_PROTO_VER_MAJOR) "." \ __stringify(RTRS_PROTO_VER_MINOR) +/* + * Max IB immediate data size is 2^28 (MAX_IMM_PAYL_BITS) + * and the minimum chunk size is 4096 (2^12). + * So the maximum sess_queue_depth is 65536 (2^16) in theory. + * But mempool_create, create_qp and ib_post_send fail with + * "cannot allocate memory" error if sess_queue_depth is too big. + * Therefore the pratical max value of sess_queue_depth is + * somewhere between 1 and 65534 and it depends on the system. + */ +#define MAX_SESS_QUEUE_DEPTH 65535 + enum rtrs_imm_const { MAX_IMM_TYPE_BITS = 4, MAX_IMM_TYPE_MASK = ((1 << MAX_IMM_TYPE_BITS) - 1), @@ -46,16 +57,6 @@ MAX_PATHS_NUM = 128, - /* - * Max IB immediate data size is 2^28 (MAX_IMM_PAYL_BITS) - * and the minimum chunk size is 4096 (2^12). - * So the maximum sess_queue_depth is 65536 (2^16) in theory. - * But mempool_create, create_qp and ib_post_send fail with - * "cannot allocate memory" error if sess_queue_depth is too big. - * Therefore the pratical max value of sess_queue_depth is - * somewhere between 1 and 65534 and it depends on the system. - */ - MAX_SESS_QUEUE_DEPTH = 65535, MIN_CHUNK_SIZE = 8192, RTRS_HB_INTERVAL_MS = 5000, --- linux-gcp-5.19.0.orig/drivers/infiniband/ulp/rtrs/rtrs-srv.c +++ linux-gcp-5.19.0/drivers/infiniband/ulp/rtrs/rtrs-srv.c @@ -600,7 +600,7 @@ struct sg_table *sgt = &srv_mr->sgt; struct scatterlist *s; struct ib_mr *mr; - int nr, chunks; + int nr, nr_sgt, chunks; chunks = chunks_per_mr * mri; if (!always_invalidate) @@ -615,19 +615,19 @@ sg_set_page(s, srv->chunks[chunks + i], max_chunk_size, 0); - nr = ib_dma_map_sg(srv_path->s.dev->ib_dev, sgt->sgl, + nr_sgt = ib_dma_map_sg(srv_path->s.dev->ib_dev, sgt->sgl, sgt->nents, DMA_BIDIRECTIONAL); - if (nr < sgt->nents) { - err = nr < 0 ? nr : -EINVAL; + if (!nr_sgt) { + err = -EINVAL; goto free_sg; } mr = ib_alloc_mr(srv_path->s.dev->ib_pd, IB_MR_TYPE_MEM_REG, - sgt->nents); + nr_sgt); if (IS_ERR(mr)) { err = PTR_ERR(mr); goto unmap_sg; } - nr = ib_map_mr_sg(mr, sgt->sgl, sgt->nents, + nr = ib_map_mr_sg(mr, sgt->sgl, nr_sgt, NULL, max_chunk_size); if (nr < 0 || nr < sgt->nents) { err = nr < 0 ? nr : -EINVAL; @@ -646,7 +646,7 @@ } } /* Eventually dma addr for each chunk can be cached */ - for_each_sg(sgt->sgl, s, sgt->orig_nents, i) + for_each_sg(sgt->sgl, s, nr_sgt, i) srv_path->dma_addr[chunks + i] = sg_dma_address(s); ib_update_fast_reg_key(mr, ib_inc_rkey(mr->rkey)); --- linux-gcp-5.19.0.orig/drivers/infiniband/ulp/srp/ib_srp.c +++ linux-gcp-5.19.0/drivers/infiniband/ulp/srp/ib_srp.c @@ -1962,7 +1962,8 @@ if (scmnd) { req = scsi_cmd_priv(scmnd); scmnd = srp_claim_req(ch, req, NULL, scmnd); - } else { + } + if (!scmnd) { shost_printk(KERN_ERR, target->scsi_host, "Null scmnd for RSP w/tag %#016llx received on ch %td / QP %#x\n", rsp->tag, ch - target->ch, ch->qp->qp_num); @@ -2789,7 +2790,7 @@ static int srp_abort(struct scsi_cmnd *scmnd) { struct srp_target_port *target = host_to_target(scmnd->device->host); - struct srp_request *req = (struct srp_request *) scmnd->host_scribble; + struct srp_request *req = scsi_cmd_priv(scmnd); u32 tag; u16 ch_idx; struct srp_rdma_ch *ch; @@ -2797,8 +2798,6 @@ shost_printk(KERN_ERR, target->scsi_host, "SRP abort called\n"); - if (!req) - return SUCCESS; tag = blk_mq_unique_tag(scsi_cmd_to_rq(scmnd)); ch_idx = blk_mq_unique_tag_to_hwq(tag); if (WARN_ON_ONCE(ch_idx >= target->ch_count)) @@ -3407,7 +3406,8 @@ break; case SRP_OPT_PKEY: - if (match_hex(args, &token)) { + ret = match_hex(args, &token); + if (ret) { pr_warn("bad P_Key parameter '%s'\n", p); goto out; } @@ -3467,7 +3467,8 @@ break; case SRP_OPT_MAX_SECT: - if (match_int(args, &token)) { + ret = match_int(args, &token); + if (ret) { pr_warn("bad max sect parameter '%s'\n", p); goto out; } @@ -3475,8 +3476,15 @@ break; case SRP_OPT_QUEUE_SIZE: - if (match_int(args, &token) || token < 1) { + ret = match_int(args, &token); + if (ret) { + pr_warn("match_int() failed for queue_size parameter '%s', Error %d\n", + p, ret); + goto out; + } + if (token < 1) { pr_warn("bad queue_size parameter '%s'\n", p); + ret = -EINVAL; goto out; } target->scsi_host->can_queue = token; @@ -3487,25 +3495,40 @@ break; case SRP_OPT_MAX_CMD_PER_LUN: - if (match_int(args, &token) || token < 1) { + ret = match_int(args, &token); + if (ret) { + pr_warn("match_int() failed for max cmd_per_lun parameter '%s', Error %d\n", + p, ret); + goto out; + } + if (token < 1) { pr_warn("bad max cmd_per_lun parameter '%s'\n", p); + ret = -EINVAL; goto out; } target->scsi_host->cmd_per_lun = token; break; case SRP_OPT_TARGET_CAN_QUEUE: - if (match_int(args, &token) || token < 1) { + ret = match_int(args, &token); + if (ret) { + pr_warn("match_int() failed for max target_can_queue parameter '%s', Error %d\n", + p, ret); + goto out; + } + if (token < 1) { pr_warn("bad max target_can_queue parameter '%s'\n", p); + ret = -EINVAL; goto out; } target->target_can_queue = token; break; case SRP_OPT_IO_CLASS: - if (match_hex(args, &token)) { + ret = match_hex(args, &token); + if (ret) { pr_warn("bad IO class parameter '%s'\n", p); goto out; } @@ -3514,6 +3537,7 @@ pr_warn("unknown IO class parameter value %x specified (use %x or %x).\n", token, SRP_REV10_IB_IO_CLASS, SRP_REV16A_IB_IO_CLASS); + ret = -EINVAL; goto out; } target->io_class = token; @@ -3536,16 +3560,24 @@ break; case SRP_OPT_CMD_SG_ENTRIES: - if (match_int(args, &token) || token < 1 || token > 255) { + ret = match_int(args, &token); + if (ret) { + pr_warn("match_int() failed for max cmd_sg_entries parameter '%s', Error %d\n", + p, ret); + goto out; + } + if (token < 1 || token > 255) { pr_warn("bad max cmd_sg_entries parameter '%s'\n", p); + ret = -EINVAL; goto out; } target->cmd_sg_cnt = token; break; case SRP_OPT_ALLOW_EXT_SG: - if (match_int(args, &token)) { + ret = match_int(args, &token); + if (ret) { pr_warn("bad allow_ext_sg parameter '%s'\n", p); goto out; } @@ -3553,43 +3585,77 @@ break; case SRP_OPT_SG_TABLESIZE: - if (match_int(args, &token) || token < 1 || - token > SG_MAX_SEGMENTS) { + ret = match_int(args, &token); + if (ret) { + pr_warn("match_int() failed for max sg_tablesize parameter '%s', Error %d\n", + p, ret); + goto out; + } + if (token < 1 || token > SG_MAX_SEGMENTS) { pr_warn("bad max sg_tablesize parameter '%s'\n", p); + ret = -EINVAL; goto out; } target->sg_tablesize = token; break; case SRP_OPT_COMP_VECTOR: - if (match_int(args, &token) || token < 0) { + ret = match_int(args, &token); + if (ret) { + pr_warn("match_int() failed for comp_vector parameter '%s', Error %d\n", + p, ret); + goto out; + } + if (token < 0) { pr_warn("bad comp_vector parameter '%s'\n", p); + ret = -EINVAL; goto out; } target->comp_vector = token; break; case SRP_OPT_TL_RETRY_COUNT: - if (match_int(args, &token) || token < 2 || token > 7) { + ret = match_int(args, &token); + if (ret) { + pr_warn("match_int() failed for tl_retry_count parameter '%s', Error %d\n", + p, ret); + goto out; + } + if (token < 2 || token > 7) { pr_warn("bad tl_retry_count parameter '%s' (must be a number between 2 and 7)\n", p); + ret = -EINVAL; goto out; } target->tl_retry_count = token; break; case SRP_OPT_MAX_IT_IU_SIZE: - if (match_int(args, &token) || token < 0) { + ret = match_int(args, &token); + if (ret) { + pr_warn("match_int() failed for max it_iu_size parameter '%s', Error %d\n", + p, ret); + goto out; + } + if (token < 0) { pr_warn("bad maximum initiator to target IU size '%s'\n", p); + ret = -EINVAL; goto out; } target->max_it_iu_size = token; break; case SRP_OPT_CH_COUNT: - if (match_int(args, &token) || token < 1) { + ret = match_int(args, &token); + if (ret) { + pr_warn("match_int() failed for channel count parameter '%s', Error %d\n", + p, ret); + goto out; + } + if (token < 1) { pr_warn("bad channel count %s\n", p); + ret = -EINVAL; goto out; } target->ch_count = token; @@ -3598,6 +3664,7 @@ default: pr_warn("unknown parameter or missing value '%s' in target creation request\n", p); + ret = -EINVAL; goto out; } } --- linux-gcp-5.19.0.orig/drivers/infiniband/ulp/srp/ib_srp.h +++ linux-gcp-5.19.0/drivers/infiniband/ulp/srp/ib_srp.h @@ -62,9 +62,6 @@ SRP_DEFAULT_CMD_SQ_SIZE = SRP_DEFAULT_QUEUE_SIZE - SRP_RSP_SQ_SIZE - SRP_TSK_MGMT_SQ_SIZE, - SRP_TAG_NO_REQ = ~0U, - SRP_TAG_TSK_MGMT = 1U << 31, - SRP_MAX_PAGES_PER_MR = 512, SRP_MAX_ADD_CDB_LEN = 16, @@ -79,6 +76,11 @@ sizeof(struct srp_imm_buf), }; +enum { + SRP_TAG_NO_REQ = ~0U, + SRP_TAG_TSK_MGMT = BIT(31), +}; + enum srp_target_state { SRP_TARGET_SCANNING, SRP_TARGET_LIVE, --- linux-gcp-5.19.0.orig/drivers/infiniband/ulp/srpt/ib_srpt.c +++ linux-gcp-5.19.0/drivers/infiniband/ulp/srpt/ib_srpt.c @@ -565,12 +565,9 @@ if (ret) return ret; - sport->port_guid_id.wwn.priv = sport; - srpt_format_guid(sport->port_guid_id.name, - sizeof(sport->port_guid_id.name), + srpt_format_guid(sport->guid_name, ARRAY_SIZE(sport->guid_name), &sport->gid.global.interface_id); - sport->port_gid_id.wwn.priv = sport; - snprintf(sport->port_gid_id.name, sizeof(sport->port_gid_id.name), + snprintf(sport->gid_name, ARRAY_SIZE(sport->gid_name), "0x%016llx%016llx", be64_to_cpu(sport->gid.global.subnet_prefix), be64_to_cpu(sport->gid.global.interface_id)); @@ -2314,31 +2311,35 @@ tag_num = ch->rq_size; tag_size = 1; /* ib_srpt does not use se_sess->sess_cmd_map */ - mutex_lock(&sport->port_guid_id.mutex); - list_for_each_entry(stpg, &sport->port_guid_id.tpg_list, entry) { - if (!IS_ERR_OR_NULL(ch->sess)) - break; - ch->sess = target_setup_session(&stpg->tpg, tag_num, + if (sport->guid_id) { + mutex_lock(&sport->guid_id->mutex); + list_for_each_entry(stpg, &sport->guid_id->tpg_list, entry) { + if (!IS_ERR_OR_NULL(ch->sess)) + break; + ch->sess = target_setup_session(&stpg->tpg, tag_num, tag_size, TARGET_PROT_NORMAL, ch->sess_name, ch, NULL); + } + mutex_unlock(&sport->guid_id->mutex); } - mutex_unlock(&sport->port_guid_id.mutex); - mutex_lock(&sport->port_gid_id.mutex); - list_for_each_entry(stpg, &sport->port_gid_id.tpg_list, entry) { - if (!IS_ERR_OR_NULL(ch->sess)) - break; - ch->sess = target_setup_session(&stpg->tpg, tag_num, + if (sport->gid_id) { + mutex_lock(&sport->gid_id->mutex); + list_for_each_entry(stpg, &sport->gid_id->tpg_list, entry) { + if (!IS_ERR_OR_NULL(ch->sess)) + break; + ch->sess = target_setup_session(&stpg->tpg, tag_num, tag_size, TARGET_PROT_NORMAL, i_port_id, ch, NULL); - if (!IS_ERR_OR_NULL(ch->sess)) - break; - /* Retry without leading "0x" */ - ch->sess = target_setup_session(&stpg->tpg, tag_num, + if (!IS_ERR_OR_NULL(ch->sess)) + break; + /* Retry without leading "0x" */ + ch->sess = target_setup_session(&stpg->tpg, tag_num, tag_size, TARGET_PROT_NORMAL, i_port_id + 2, ch, NULL); + } + mutex_unlock(&sport->gid_id->mutex); } - mutex_unlock(&sport->port_gid_id.mutex); if (IS_ERR_OR_NULL(ch->sess)) { WARN_ON_ONCE(ch->sess == NULL); @@ -2983,7 +2984,12 @@ return 0; } -static struct se_wwn *__srpt_lookup_wwn(const char *name) +struct port_and_port_id { + struct srpt_port *sport; + struct srpt_port_id **port_id; +}; + +static struct port_and_port_id __srpt_lookup_port(const char *name) { struct ib_device *dev; struct srpt_device *sdev; @@ -2998,25 +3004,38 @@ for (i = 0; i < dev->phys_port_cnt; i++) { sport = &sdev->port[i]; - if (strcmp(sport->port_guid_id.name, name) == 0) - return &sport->port_guid_id.wwn; - if (strcmp(sport->port_gid_id.name, name) == 0) - return &sport->port_gid_id.wwn; + if (strcmp(sport->guid_name, name) == 0) { + kref_get(&sdev->refcnt); + return (struct port_and_port_id){ + sport, &sport->guid_id}; + } + if (strcmp(sport->gid_name, name) == 0) { + kref_get(&sdev->refcnt); + return (struct port_and_port_id){ + sport, &sport->gid_id}; + } } } - return NULL; + return (struct port_and_port_id){}; } -static struct se_wwn *srpt_lookup_wwn(const char *name) +/** + * srpt_lookup_port() - Look up an RDMA port by name + * @name: ASCII port name + * + * Increments the RDMA port reference count if an RDMA port pointer is returned. + * The caller must drop that reference count by calling srpt_port_put_ref(). + */ +static struct port_and_port_id srpt_lookup_port(const char *name) { - struct se_wwn *wwn; + struct port_and_port_id papi; spin_lock(&srpt_dev_lock); - wwn = __srpt_lookup_wwn(name); + papi = __srpt_lookup_port(name); spin_unlock(&srpt_dev_lock); - return wwn; + return papi; } static void srpt_free_srq(struct srpt_device *sdev) @@ -3101,6 +3120,18 @@ return ret; } +static void srpt_free_sdev(struct kref *refcnt) +{ + struct srpt_device *sdev = container_of(refcnt, typeof(*sdev), refcnt); + + kfree(sdev); +} + +static void srpt_sdev_put(struct srpt_device *sdev) +{ + kref_put(&sdev->refcnt, srpt_free_sdev); +} + /** * srpt_add_one - InfiniBand device addition callback function * @device: Describes a HCA. @@ -3119,6 +3150,7 @@ if (!sdev) return -ENOMEM; + kref_init(&sdev->refcnt); sdev->device = device; mutex_init(&sdev->sdev_mutex); @@ -3182,10 +3214,6 @@ sport->port_attrib.srp_sq_size = DEF_SRPT_SQ_SIZE; sport->port_attrib.use_srq = false; INIT_WORK(&sport->work, srpt_refresh_port_work); - mutex_init(&sport->port_guid_id.mutex); - INIT_LIST_HEAD(&sport->port_guid_id.tpg_list); - mutex_init(&sport->port_gid_id.mutex); - INIT_LIST_HEAD(&sport->port_gid_id.tpg_list); ret = srpt_refresh_port(sport); if (ret) { @@ -3214,7 +3242,7 @@ srpt_free_srq(sdev); ib_dealloc_pd(sdev->pd); free_dev: - kfree(sdev); + srpt_sdev_put(sdev); pr_info("%s(%s) failed.\n", __func__, dev_name(&device->dev)); return ret; } @@ -3258,7 +3286,7 @@ ib_dealloc_pd(sdev->pd); - kfree(sdev); + srpt_sdev_put(sdev); } static struct ib_client srpt_client = { @@ -3286,10 +3314,10 @@ { struct srpt_port *sport = wwn->priv; - if (wwn == &sport->port_guid_id.wwn) - return &sport->port_guid_id; - if (wwn == &sport->port_gid_id.wwn) - return &sport->port_gid_id; + if (sport->guid_id && &sport->guid_id->wwn == wwn) + return sport->guid_id; + if (sport->gid_id && &sport->gid_id->wwn == wwn) + return sport->gid_id; WARN_ON_ONCE(true); return NULL; } @@ -3774,7 +3802,31 @@ struct config_group *group, const char *name) { - return srpt_lookup_wwn(name) ? : ERR_PTR(-EINVAL); + struct port_and_port_id papi = srpt_lookup_port(name); + struct srpt_port *sport = papi.sport; + struct srpt_port_id *port_id; + + if (!papi.port_id) + return ERR_PTR(-EINVAL); + if (*papi.port_id) { + /* Attempt to create a directory that already exists. */ + WARN_ON_ONCE(true); + return &(*papi.port_id)->wwn; + } + port_id = kzalloc(sizeof(*port_id), GFP_KERNEL); + if (!port_id) { + srpt_sdev_put(sport->sdev); + return ERR_PTR(-ENOMEM); + } + mutex_init(&port_id->mutex); + INIT_LIST_HEAD(&port_id->tpg_list); + port_id->wwn.priv = sport; + memcpy(port_id->name, port_id == sport->guid_id ? sport->guid_name : + sport->gid_name, ARRAY_SIZE(port_id->name)); + + *papi.port_id = port_id; + + return &port_id->wwn; } /** @@ -3783,6 +3835,18 @@ */ static void srpt_drop_tport(struct se_wwn *wwn) { + struct srpt_port_id *port_id = container_of(wwn, typeof(*port_id), wwn); + struct srpt_port *sport = wwn->priv; + + if (sport->guid_id == port_id) + sport->guid_id = NULL; + else if (sport->gid_id == port_id) + sport->gid_id = NULL; + else + WARN_ON_ONCE(true); + + srpt_sdev_put(sport->sdev); + kfree(port_id); } static ssize_t srpt_wwn_version_show(struct config_item *item, char *buf) --- linux-gcp-5.19.0.orig/drivers/infiniband/ulp/srpt/ib_srpt.h +++ linux-gcp-5.19.0/drivers/infiniband/ulp/srpt/ib_srpt.h @@ -376,7 +376,7 @@ }; /** - * struct srpt_port_id - information about an RDMA port name + * struct srpt_port_id - LIO RDMA port information * @mutex: Protects @tpg_list changes. * @tpg_list: TPGs associated with the RDMA port name. * @wwn: WWN associated with the RDMA port name. @@ -393,7 +393,7 @@ }; /** - * struct srpt_port - information associated by SRPT with a single IB port + * struct srpt_port - SRPT RDMA port information * @sdev: backpointer to the HCA information. * @mad_agent: per-port management datagram processing information. * @enabled: Whether or not this target port is enabled. @@ -402,8 +402,10 @@ * @lid: cached value of the port's lid. * @gid: cached value of the port's gid. * @work: work structure for refreshing the aforementioned cached values. - * @port_guid_id: target port GUID - * @port_gid_id: target port GID + * @guid_name: port name in GUID format. + * @guid_id: LIO target port information for the port name in GUID format. + * @gid_name: port name in GID format. + * @gid_id: LIO target port information for the port name in GID format. * @port_attrib: Port attributes that can be accessed through configfs. * @refcount: Number of objects associated with this port. * @freed_channels: Completion that will be signaled once @refcount becomes 0. @@ -419,8 +421,10 @@ u32 lid; union ib_gid gid; struct work_struct work; - struct srpt_port_id port_guid_id; - struct srpt_port_id port_gid_id; + char guid_name[64]; + struct srpt_port_id *guid_id; + char gid_name[64]; + struct srpt_port_id *gid_id; struct srpt_port_attrib port_attrib; atomic_t refcount; struct completion *freed_channels; @@ -430,6 +434,7 @@ /** * struct srpt_device - information associated by SRPT with a single HCA + * @refcnt: Reference count for this device. * @device: Backpointer to the struct ib_device managed by the IB core. * @pd: IB protection domain. * @lkey: L_Key (local key) with write access to all local memory. @@ -445,6 +450,7 @@ * @port: Information about the ports owned by this HCA. */ struct srpt_device { + struct kref refcnt; struct ib_device *device; struct ib_pd *pd; u32 lkey; --- linux-gcp-5.19.0.orig/drivers/input/joystick/Kconfig +++ linux-gcp-5.19.0/drivers/input/joystick/Kconfig @@ -46,6 +46,7 @@ config JOYSTICK_ADC tristate "Simple joystick connected over ADC" depends on IIO + select IIO_BUFFER select IIO_BUFFER_CB help Say Y here if you have a simple joystick connected over ADC. --- linux-gcp-5.19.0.orig/drivers/input/joystick/iforce/iforce-main.c +++ linux-gcp-5.19.0/drivers/input/joystick/iforce/iforce-main.c @@ -50,6 +50,7 @@ { 0x046d, 0xc291, "Logitech WingMan Formula Force", btn_wheel, abs_wheel, ff_iforce }, { 0x05ef, 0x020a, "AVB Top Shot Pegasus", btn_joystick_avb, abs_avb_pegasus, ff_iforce }, { 0x05ef, 0x8884, "AVB Mag Turbo Force", btn_wheel, abs_wheel, ff_iforce }, + { 0x05ef, 0x8886, "Boeder Force Feedback Wheel", btn_wheel, abs_wheel, ff_iforce }, { 0x05ef, 0x8888, "AVB Top Shot Force Feedback Racing Wheel", btn_wheel, abs_wheel, ff_iforce }, //? { 0x061c, 0xc0a4, "ACT LABS Force RS", btn_wheel, abs_wheel, ff_iforce }, //? { 0x061c, 0xc084, "ACT LABS Force RS", btn_wheel, abs_wheel, ff_iforce }, @@ -272,22 +273,22 @@ * Get device info. */ - if (!iforce_get_id_packet(iforce, 'M', buf, &len) || len < 3) + if (!iforce_get_id_packet(iforce, 'M', buf, &len) && len >= 3) input_dev->id.vendor = get_unaligned_le16(buf + 1); else dev_warn(&iforce->dev->dev, "Device does not respond to id packet M\n"); - if (!iforce_get_id_packet(iforce, 'P', buf, &len) || len < 3) + if (!iforce_get_id_packet(iforce, 'P', buf, &len) && len >= 3) input_dev->id.product = get_unaligned_le16(buf + 1); else dev_warn(&iforce->dev->dev, "Device does not respond to id packet P\n"); - if (!iforce_get_id_packet(iforce, 'B', buf, &len) || len < 3) + if (!iforce_get_id_packet(iforce, 'B', buf, &len) && len >= 3) iforce->device_memory.end = get_unaligned_le16(buf + 1); else dev_warn(&iforce->dev->dev, "Device does not respond to id packet B\n"); - if (!iforce_get_id_packet(iforce, 'N', buf, &len) || len < 2) + if (!iforce_get_id_packet(iforce, 'N', buf, &len) && len >= 2) ff_effects = buf[1]; else dev_warn(&iforce->dev->dev, "Device does not respond to id packet N\n"); --- linux-gcp-5.19.0.orig/drivers/input/joystick/iforce/iforce-serio.c +++ linux-gcp-5.19.0/drivers/input/joystick/iforce/iforce-serio.c @@ -39,7 +39,7 @@ again: if (iforce->xmit.head == iforce->xmit.tail) { - clear_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags); + iforce_clear_xmit_and_wake(iforce); spin_unlock_irqrestore(&iforce->xmit_lock, flags); return; } @@ -64,7 +64,7 @@ if (test_and_clear_bit(IFORCE_XMIT_AGAIN, iforce->xmit_flags)) goto again; - clear_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags); + iforce_clear_xmit_and_wake(iforce); spin_unlock_irqrestore(&iforce->xmit_lock, flags); } @@ -169,7 +169,7 @@ iforce_serio->cmd_response_len = iforce_serio->len; /* Signal that command is done */ - wake_up(&iforce->wait); + wake_up_all(&iforce->wait); } else if (likely(iforce->type)) { iforce_process_packet(iforce, iforce_serio->id, iforce_serio->data_in, --- linux-gcp-5.19.0.orig/drivers/input/joystick/iforce/iforce-usb.c +++ linux-gcp-5.19.0/drivers/input/joystick/iforce/iforce-usb.c @@ -30,7 +30,7 @@ spin_lock_irqsave(&iforce->xmit_lock, flags); if (iforce->xmit.head == iforce->xmit.tail) { - clear_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags); + iforce_clear_xmit_and_wake(iforce); spin_unlock_irqrestore(&iforce->xmit_lock, flags); return; } @@ -58,9 +58,9 @@ XMIT_INC(iforce->xmit.tail, n); if ( (n=usb_submit_urb(iforce_usb->out, GFP_ATOMIC)) ) { - clear_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags); dev_warn(&iforce_usb->intf->dev, "usb_submit_urb failed %d\n", n); + iforce_clear_xmit_and_wake(iforce); } /* The IFORCE_XMIT_RUNNING bit is not cleared here. That's intended. @@ -175,15 +175,15 @@ struct iforce *iforce = &iforce_usb->iforce; if (urb->status) { - clear_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags); dev_dbg(&iforce_usb->intf->dev, "urb->status %d, exiting\n", urb->status); + iforce_clear_xmit_and_wake(iforce); return; } __iforce_usb_xmit(iforce); - wake_up(&iforce->wait); + wake_up_all(&iforce->wait); } static int iforce_usb_probe(struct usb_interface *intf, --- linux-gcp-5.19.0.orig/drivers/input/joystick/iforce/iforce.h +++ linux-gcp-5.19.0/drivers/input/joystick/iforce/iforce.h @@ -119,6 +119,12 @@ response_data, response_len); } +static inline void iforce_clear_xmit_and_wake(struct iforce *iforce) +{ + clear_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags); + wake_up_all(&iforce->wait); +} + /* Public functions */ /* iforce-main.c */ int iforce_init_device(struct device *parent, u16 bustype, --- linux-gcp-5.19.0.orig/drivers/input/joystick/xpad.c +++ linux-gcp-5.19.0/drivers/input/joystick/xpad.c @@ -113,6 +113,8 @@ u8 xtype; } xpad_device[] = { { 0x0079, 0x18d4, "GPD Win 2 X-Box Controller", 0, XTYPE_XBOX360 }, + { 0x03eb, 0xff01, "Wooting One (Legacy)", 0, XTYPE_XBOX360 }, + { 0x03eb, 0xff02, "Wooting Two (Legacy)", 0, XTYPE_XBOX360 }, { 0x044f, 0x0f00, "Thrustmaster Wheel", 0, XTYPE_XBOX }, { 0x044f, 0x0f03, "Thrustmaster Wheel", 0, XTYPE_XBOX }, { 0x044f, 0x0f07, "Thrustmaster, Inc. Controller", 0, XTYPE_XBOX }, @@ -244,6 +246,7 @@ { 0x0f0d, 0x0063, "Hori Real Arcade Pro Hayabusa (USA) Xbox One", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE }, { 0x0f0d, 0x0067, "HORIPAD ONE", 0, XTYPE_XBOXONE }, { 0x0f0d, 0x0078, "Hori Real Arcade Pro V Kai Xbox One", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE }, + { 0x0f0d, 0x00c5, "Hori Fighting Commander ONE", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE }, { 0x0f30, 0x010b, "Philips Recoil", 0, XTYPE_XBOX }, { 0x0f30, 0x0202, "Joytech Advanced Controller", 0, XTYPE_XBOX }, { 0x0f30, 0x8888, "BigBen XBMiniPad Controller", 0, XTYPE_XBOX }, @@ -260,6 +263,7 @@ { 0x1430, 0x8888, "TX6500+ Dance Pad (first generation)", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX }, { 0x1430, 0xf801, "RedOctane Controller", 0, XTYPE_XBOX360 }, { 0x146b, 0x0601, "BigBen Interactive XBOX 360 Controller", 0, XTYPE_XBOX360 }, + { 0x146b, 0x0604, "Bigben Interactive DAIJA Arcade Stick", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 }, { 0x1532, 0x0037, "Razer Sabertooth", 0, XTYPE_XBOX360 }, { 0x1532, 0x0a00, "Razer Atrox Arcade Stick", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE }, { 0x1532, 0x0a03, "Razer Wildcat", 0, XTYPE_XBOXONE }, @@ -325,6 +329,7 @@ { 0x24c6, 0x5502, "Hori Fighting Stick VX Alt", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 }, { 0x24c6, 0x5503, "Hori Fighting Edge", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 }, { 0x24c6, 0x5506, "Hori SOULCALIBUR V Stick", 0, XTYPE_XBOX360 }, + { 0x24c6, 0x5510, "Hori Fighting Commander ONE (Xbox 360/PC Mode)", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 }, { 0x24c6, 0x550d, "Hori GEM Xbox controller", 0, XTYPE_XBOX360 }, { 0x24c6, 0x550e, "Hori Real Arcade Pro V Kai 360", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 }, { 0x24c6, 0x551a, "PowerA FUSION Pro Controller", 0, XTYPE_XBOXONE }, @@ -334,6 +339,14 @@ { 0x24c6, 0x5b03, "Thrustmaster Ferrari 458 Racing Wheel", 0, XTYPE_XBOX360 }, { 0x24c6, 0x5d04, "Razer Sabertooth", 0, XTYPE_XBOX360 }, { 0x24c6, 0xfafe, "Rock Candy Gamepad for Xbox 360", 0, XTYPE_XBOX360 }, + { 0x2563, 0x058d, "OneXPlayer Gamepad", 0, XTYPE_XBOX360 }, + { 0x2dc8, 0x2000, "8BitDo Pro 2 Wired Controller fox Xbox", 0, XTYPE_XBOXONE }, + { 0x31e3, 0x1100, "Wooting One", 0, XTYPE_XBOX360 }, + { 0x31e3, 0x1200, "Wooting Two", 0, XTYPE_XBOX360 }, + { 0x31e3, 0x1210, "Wooting Lekker", 0, XTYPE_XBOX360 }, + { 0x31e3, 0x1220, "Wooting Two HE", 0, XTYPE_XBOX360 }, + { 0x31e3, 0x1300, "Wooting 60HE (AVR)", 0, XTYPE_XBOX360 }, + { 0x31e3, 0x1310, "Wooting 60HE (ARM)", 0, XTYPE_XBOX360 }, { 0x3285, 0x0607, "Nacon GC-100", 0, XTYPE_XBOX360 }, { 0x3767, 0x0101, "Fanatec Speedster 3 Forceshock Wheel", 0, XTYPE_XBOX }, { 0xffff, 0xffff, "Chinese-made Xbox Controller", 0, XTYPE_XBOX }, @@ -419,6 +432,7 @@ static const struct usb_device_id xpad_table[] = { { USB_INTERFACE_INFO('X', 'B', 0) }, /* X-Box USB-IF not approved class */ XPAD_XBOX360_VENDOR(0x0079), /* GPD Win 2 Controller */ + XPAD_XBOX360_VENDOR(0x03eb), /* Wooting Keyboards (Legacy) */ XPAD_XBOX360_VENDOR(0x044f), /* Thrustmaster X-Box 360 controllers */ XPAD_XBOX360_VENDOR(0x045e), /* Microsoft X-Box 360 controllers */ XPAD_XBOXONE_VENDOR(0x045e), /* Microsoft X-Box One controllers */ @@ -429,6 +443,7 @@ { USB_DEVICE(0x0738, 0x4540) }, /* Mad Catz Beat Pad */ XPAD_XBOXONE_VENDOR(0x0738), /* Mad Catz FightStick TE 2 */ XPAD_XBOX360_VENDOR(0x07ff), /* Mad Catz GamePad */ + XPAD_XBOX360_VENDOR(0x0c12), /* Zeroplus X-Box 360 controllers */ XPAD_XBOX360_VENDOR(0x0e6f), /* 0x0e6f X-Box 360 controllers */ XPAD_XBOXONE_VENDOR(0x0e6f), /* 0x0e6f X-Box One controllers */ XPAD_XBOX360_VENDOR(0x0f0d), /* Hori Controllers */ @@ -450,8 +465,12 @@ XPAD_XBOXONE_VENDOR(0x20d6), /* PowerA Controllers */ XPAD_XBOX360_VENDOR(0x24c6), /* PowerA Controllers */ XPAD_XBOXONE_VENDOR(0x24c6), /* PowerA Controllers */ + XPAD_XBOX360_VENDOR(0x2563), /* OneXPlayer Gamepad */ + XPAD_XBOX360_VENDOR(0x260d), /* Dareu H101 */ + XPAD_XBOXONE_VENDOR(0x2dc8), /* 8BitDo Pro 2 Wired Controller for Xbox */ XPAD_XBOXONE_VENDOR(0x2e24), /* Hyperkin Duke X-Box One pad */ XPAD_XBOX360_VENDOR(0x2f24), /* GameSir Controllers */ + XPAD_XBOX360_VENDOR(0x31e3), /* Wooting Keyboards */ XPAD_XBOX360_VENDOR(0x3285), /* Nacon GC-100 */ { } }; @@ -1972,7 +1991,6 @@ .disconnect = xpad_disconnect, .suspend = xpad_suspend, .resume = xpad_resume, - .reset_resume = xpad_resume, .id_table = xpad_table, }; --- linux-gcp-5.19.0.orig/drivers/input/keyboard/mt6779-keypad.c +++ linux-gcp-5.19.0/drivers/input/keyboard/mt6779-keypad.c @@ -42,7 +42,7 @@ const unsigned short *keycode = keypad->input_dev->keycode; DECLARE_BITMAP(new_state, MTK_KPD_NUM_BITS); DECLARE_BITMAP(change, MTK_KPD_NUM_BITS); - unsigned int bit_nr; + unsigned int bit_nr, key; unsigned int row, col; unsigned int scancode; unsigned int row_shift = get_count_order(keypad->n_cols); @@ -61,8 +61,10 @@ if (bit_nr % 32 >= 16) continue; - row = bit_nr / 32; - col = bit_nr % 32; + key = bit_nr / 32 * 16 + bit_nr % 32; + row = key / 9; + col = key % 9; + scancode = MATRIX_SCAN_CODE(row, col, row_shift); /* 1: not pressed, 0: pressed */ pressed = !test_bit(bit_nr, new_state); --- linux-gcp-5.19.0.orig/drivers/input/keyboard/snvs_pwrkey.c +++ linux-gcp-5.19.0/drivers/input/keyboard/snvs_pwrkey.c @@ -20,7 +20,7 @@ #include #include -#define SNVS_HPVIDR1_REG 0xF8 +#define SNVS_HPVIDR1_REG 0xBF8 #define SNVS_LPSR_REG 0x4C /* LP Status Register */ #define SNVS_LPCR_REG 0x38 /* LP Control Register */ #define SNVS_HPSR_REG 0x14 --- linux-gcp-5.19.0.orig/drivers/input/misc/Kconfig +++ linux-gcp-5.19.0/drivers/input/misc/Kconfig @@ -330,7 +330,7 @@ config INPUT_WISTRON_BTNS tristate "x86 Wistron laptop button interface" - depends on X86_32 + depends on X86_32 && !UML select INPUT_SPARSEKMAP select NEW_LEDS select LEDS_CLASS --- linux-gcp-5.19.0.orig/drivers/input/misc/iqs7222.c +++ linux-gcp-5.19.0/drivers/input/misc/iqs7222.c @@ -40,7 +40,6 @@ #define IQS7222_SLDR_SETUP_2_RES_MASK GENMASK(15, 8) #define IQS7222_SLDR_SETUP_2_RES_SHIFT 8 #define IQS7222_SLDR_SETUP_2_TOP_SPEED_MASK GENMASK(7, 0) -#define IQS7222_SLDR_SETUP_3_CHAN_SEL_MASK GENMASK(9, 0) #define IQS7222_GPIO_SETUP_0_GPIO_EN BIT(0) @@ -54,6 +53,9 @@ #define IQS7222_SYS_SETUP_ACK_RESET BIT(0) #define IQS7222_EVENT_MASK_ATI BIT(12) +#define IQS7222_EVENT_MASK_SLDR BIT(10) +#define IQS7222_EVENT_MASK_TOUCH BIT(1) +#define IQS7222_EVENT_MASK_PROX BIT(0) #define IQS7222_COMMS_HOLD BIT(0) #define IQS7222_COMMS_ERROR 0xEEEE @@ -84,7 +86,9 @@ IQS7222_REG_KEY_TOUCH, IQS7222_REG_KEY_DEBOUNCE, IQS7222_REG_KEY_TAP, + IQS7222_REG_KEY_TAP_LEGACY, IQS7222_REG_KEY_AXIAL, + IQS7222_REG_KEY_AXIAL_LEGACY, IQS7222_REG_KEY_WHEEL, IQS7222_REG_KEY_NO_WHEEL, IQS7222_REG_KEY_RESERVED @@ -92,25 +96,25 @@ enum iqs7222_reg_grp_id { IQS7222_REG_GRP_STAT, + IQS7222_REG_GRP_FILT, IQS7222_REG_GRP_CYCLE, IQS7222_REG_GRP_GLBL, IQS7222_REG_GRP_BTN, IQS7222_REG_GRP_CHAN, - IQS7222_REG_GRP_FILT, IQS7222_REG_GRP_SLDR, IQS7222_REG_GRP_GPIO, IQS7222_REG_GRP_SYS, IQS7222_NUM_REG_GRPS }; -static const char * const iqs7222_reg_grp_names[] = { +static const char * const iqs7222_reg_grp_names[IQS7222_NUM_REG_GRPS] = { [IQS7222_REG_GRP_CYCLE] = "cycle", [IQS7222_REG_GRP_CHAN] = "channel", [IQS7222_REG_GRP_SLDR] = "slider", [IQS7222_REG_GRP_GPIO] = "gpio", }; -static const unsigned int iqs7222_max_cols[] = { +static const unsigned int iqs7222_max_cols[IQS7222_NUM_REG_GRPS] = { [IQS7222_REG_GRP_STAT] = IQS7222_MAX_COLS_STAT, [IQS7222_REG_GRP_CYCLE] = IQS7222_MAX_COLS_CYCLE, [IQS7222_REG_GRP_GLBL] = IQS7222_MAX_COLS_GLBL, @@ -135,12 +139,12 @@ static const struct iqs7222_event_desc iqs7222_kp_events[] = { { .name = "event-prox", - .enable = BIT(0), + .enable = IQS7222_EVENT_MASK_PROX, .reg_key = IQS7222_REG_KEY_PROX, }, { .name = "event-touch", - .enable = BIT(1), + .enable = IQS7222_EVENT_MASK_TOUCH, .reg_key = IQS7222_REG_KEY_TOUCH, }, }; @@ -200,6 +204,7 @@ int allow_offset; int event_offset; int comms_offset; + bool legacy_gesture; struct iqs7222_reg_grp_desc reg_grps[IQS7222_NUM_REG_GRPS]; }; @@ -207,12 +212,70 @@ { .prod_num = IQS7222_PROD_NUM_A, .fw_major = 1, + .fw_minor = 13, + .sldr_res = U8_MAX * 16, + .touch_link = 1768, + .allow_offset = 9, + .event_offset = 10, + .comms_offset = 12, + .reg_grps = { + [IQS7222_REG_GRP_STAT] = { + .base = IQS7222_SYS_STATUS, + .num_row = 1, + .num_col = 8, + }, + [IQS7222_REG_GRP_CYCLE] = { + .base = 0x8000, + .num_row = 7, + .num_col = 3, + }, + [IQS7222_REG_GRP_GLBL] = { + .base = 0x8700, + .num_row = 1, + .num_col = 3, + }, + [IQS7222_REG_GRP_BTN] = { + .base = 0x9000, + .num_row = 12, + .num_col = 3, + }, + [IQS7222_REG_GRP_CHAN] = { + .base = 0xA000, + .num_row = 12, + .num_col = 6, + }, + [IQS7222_REG_GRP_FILT] = { + .base = 0xAC00, + .num_row = 1, + .num_col = 2, + }, + [IQS7222_REG_GRP_SLDR] = { + .base = 0xB000, + .num_row = 2, + .num_col = 11, + }, + [IQS7222_REG_GRP_GPIO] = { + .base = 0xC000, + .num_row = 1, + .num_col = 3, + }, + [IQS7222_REG_GRP_SYS] = { + .base = IQS7222_SYS_SETUP, + .num_row = 1, + .num_col = 13, + }, + }, + }, + { + .prod_num = IQS7222_PROD_NUM_A, + .fw_major = 1, .fw_minor = 12, .sldr_res = U8_MAX * 16, .touch_link = 1768, .allow_offset = 9, .event_offset = 10, .comms_offset = 12, + .legacy_gesture = true, .reg_grps = { [IQS7222_REG_GRP_STAT] = { .base = IQS7222_SYS_STATUS, @@ -556,13 +619,6 @@ .label = "current reference trim", }, { - .name = "azoteq,rf-filt-enable", - .reg_grp = IQS7222_REG_GRP_GLBL, - .reg_offset = 0, - .reg_shift = 15, - .reg_width = 1, - }, - { .name = "azoteq,max-counts", .reg_grp = IQS7222_REG_GRP_GLBL, .reg_offset = 0, @@ -879,6 +935,16 @@ .reg_offset = 9, .reg_shift = 8, .reg_width = 8, + .val_pitch = 16, + .label = "maximum gesture time", + }, + { + .name = "azoteq,gesture-max-ms", + .reg_grp = IQS7222_REG_GRP_SLDR, + .reg_key = IQS7222_REG_KEY_TAP_LEGACY, + .reg_offset = 9, + .reg_shift = 8, + .reg_width = 8, .val_pitch = 4, .label = "maximum gesture time", }, @@ -889,6 +955,16 @@ .reg_offset = 9, .reg_shift = 3, .reg_width = 5, + .val_pitch = 16, + .label = "minimum gesture time", + }, + { + .name = "azoteq,gesture-min-ms", + .reg_grp = IQS7222_REG_GRP_SLDR, + .reg_key = IQS7222_REG_KEY_TAP_LEGACY, + .reg_offset = 9, + .reg_shift = 3, + .reg_width = 5, .val_pitch = 4, .label = "minimum gesture time", }, @@ -903,12 +979,32 @@ .label = "gesture distance", }, { + .name = "azoteq,gesture-dist", + .reg_grp = IQS7222_REG_GRP_SLDR, + .reg_key = IQS7222_REG_KEY_AXIAL_LEGACY, + .reg_offset = 10, + .reg_shift = 8, + .reg_width = 8, + .val_pitch = 16, + .label = "gesture distance", + }, + { .name = "azoteq,gesture-max-ms", .reg_grp = IQS7222_REG_GRP_SLDR, .reg_key = IQS7222_REG_KEY_AXIAL, .reg_offset = 10, .reg_shift = 0, .reg_width = 8, + .val_pitch = 16, + .label = "maximum gesture time", + }, + { + .name = "azoteq,gesture-max-ms", + .reg_grp = IQS7222_REG_GRP_SLDR, + .reg_key = IQS7222_REG_KEY_AXIAL_LEGACY, + .reg_offset = 10, + .reg_shift = 0, + .reg_width = 8, .val_pitch = 4, .label = "maximum gesture time", }, @@ -1082,7 +1178,7 @@ static int iqs7222_force_comms(struct iqs7222_private *iqs7222) { - u8 msg_buf[] = { 0xFF, 0x00, }; + u8 msg_buf[] = { 0xFF, }; int ret; /* @@ -1272,9 +1368,22 @@ struct i2c_client *client = iqs7222->client; ktime_t ati_timeout; u16 sys_status = 0; - u16 sys_setup = iqs7222->sys_setup[0] & ~IQS7222_SYS_SETUP_ACK_RESET; + u16 sys_setup; int error, i; + /* + * The reserved fields of the system setup register may have changed + * as a result of other registers having been written. As such, read + * the register's latest value to avoid unexpected behavior when the + * register is written in the loop that follows. + */ + error = iqs7222_read_word(iqs7222, IQS7222_SYS_SETUP, &sys_setup); + if (error) + return error; + + sys_setup &= ~IQS7222_SYS_SETUP_INTF_MODE_MASK; + sys_setup &= ~IQS7222_SYS_SETUP_PWR_MODE_MASK; + for (i = 0; i < IQS7222_NUM_RETRIES; i++) { /* * Trigger ATI from streaming and normal-power modes so that @@ -1299,12 +1408,15 @@ if (error) return error; - if (sys_status & IQS7222_SYS_STATUS_ATI_ACTIVE) - continue; + if (sys_status & IQS7222_SYS_STATUS_RESET) + return 0; if (sys_status & IQS7222_SYS_STATUS_ATI_ERROR) break; + if (sys_status & IQS7222_SYS_STATUS_ATI_ACTIVE) + continue; + /* * Use stream-in-touch mode if either slider reports * absolute position. @@ -1321,7 +1433,7 @@ dev_err(&client->dev, "ATI attempt %d of %d failed with status 0x%02X, %s\n", i + 1, IQS7222_NUM_RETRIES, (u8)sys_status, - i < IQS7222_NUM_RETRIES ? "retrying..." : "stopping"); + i + 1 < IQS7222_NUM_RETRIES ? "retrying" : "stopping"); } return -ETIMEDOUT; @@ -1334,6 +1446,34 @@ int error, i, j, k; /* + * Acknowledge reset before writing any registers in case the device + * suffers a spurious reset during initialization. Because this step + * may change the reserved fields of the second filter beta register, + * its cache must be updated. + * + * Writing the second filter beta register, in turn, may clobber the + * system status register. As such, the filter beta register pair is + * written first to protect against this hazard. + */ + if (dir == WRITE) { + u16 reg = dev_desc->reg_grps[IQS7222_REG_GRP_FILT].base + 1; + u16 filt_setup; + + error = iqs7222_write_word(iqs7222, IQS7222_SYS_SETUP, + iqs7222->sys_setup[0] | + IQS7222_SYS_SETUP_ACK_RESET); + if (error) + return error; + + error = iqs7222_read_word(iqs7222, reg, &filt_setup); + if (error) + return error; + + iqs7222->filt_setup[1] &= GENMASK(7, 0); + iqs7222->filt_setup[1] |= (filt_setup & ~GENMASK(7, 0)); + } + + /* * Take advantage of the stop-bit disable function, if available, to * save the trouble of having to reopen a communication window after * each burst read or write. @@ -1528,56 +1668,17 @@ } static int iqs7222_parse_props(struct iqs7222_private *iqs7222, - struct fwnode_handle **child_node, - int child_index, + struct fwnode_handle *reg_grp_node, + int reg_grp_index, enum iqs7222_reg_grp_id reg_grp, enum iqs7222_reg_key_id reg_key) { - u16 *setup = iqs7222_setup(iqs7222, reg_grp, child_index); + u16 *setup = iqs7222_setup(iqs7222, reg_grp, reg_grp_index); struct i2c_client *client = iqs7222->client; - struct fwnode_handle *reg_grp_node; - char reg_grp_name[16]; int i; - switch (reg_grp) { - case IQS7222_REG_GRP_CYCLE: - case IQS7222_REG_GRP_CHAN: - case IQS7222_REG_GRP_SLDR: - case IQS7222_REG_GRP_GPIO: - case IQS7222_REG_GRP_BTN: - /* - * These groups derive a child node and return it to the caller - * for additional group-specific processing. In some cases, the - * child node may have already been derived. - */ - reg_grp_node = *child_node; - if (reg_grp_node) - break; - - snprintf(reg_grp_name, sizeof(reg_grp_name), "%s-%d", - iqs7222_reg_grp_names[reg_grp], child_index); - - reg_grp_node = device_get_named_child_node(&client->dev, - reg_grp_name); - if (!reg_grp_node) - return 0; - - *child_node = reg_grp_node; - break; - - case IQS7222_REG_GRP_GLBL: - case IQS7222_REG_GRP_FILT: - case IQS7222_REG_GRP_SYS: - /* - * These groups are not organized beneath a child node, nor are - * they subject to any additional processing by the caller. - */ - reg_grp_node = dev_fwnode(&client->dev); - break; - - default: - return -EINVAL; - } + if (!setup) + return 0; for (i = 0; i < ARRAY_SIZE(iqs7222_props); i++) { const char *name = iqs7222_props[i].name; @@ -1647,11 +1748,66 @@ return 0; } -static int iqs7222_parse_cycle(struct iqs7222_private *iqs7222, int cycle_index) +static int iqs7222_parse_event(struct iqs7222_private *iqs7222, + struct fwnode_handle *event_node, + int reg_grp_index, + enum iqs7222_reg_grp_id reg_grp, + enum iqs7222_reg_key_id reg_key, + u16 event_enable, u16 event_link, + unsigned int *event_type, + unsigned int *event_code) +{ + struct i2c_client *client = iqs7222->client; + int error; + + error = iqs7222_parse_props(iqs7222, event_node, reg_grp_index, + reg_grp, reg_key); + if (error) + return error; + + error = iqs7222_gpio_select(iqs7222, event_node, event_enable, + event_link); + if (error) + return error; + + error = fwnode_property_read_u32(event_node, "linux,code", event_code); + if (error == -EINVAL) { + return 0; + } else if (error) { + dev_err(&client->dev, "Failed to read %s code: %d\n", + fwnode_get_name(event_node), error); + return error; + } + + if (!event_type) { + input_set_capability(iqs7222->keypad, EV_KEY, *event_code); + return 0; + } + + error = fwnode_property_read_u32(event_node, "linux,input-type", + event_type); + if (error == -EINVAL) { + *event_type = EV_KEY; + } else if (error) { + dev_err(&client->dev, "Failed to read %s input type: %d\n", + fwnode_get_name(event_node), error); + return error; + } else if (*event_type != EV_KEY && *event_type != EV_SW) { + dev_err(&client->dev, "Invalid %s input type: %d\n", + fwnode_get_name(event_node), *event_type); + return -EINVAL; + } + + input_set_capability(iqs7222->keypad, *event_type, *event_code); + + return 0; +} + +static int iqs7222_parse_cycle(struct iqs7222_private *iqs7222, + struct fwnode_handle *cycle_node, int cycle_index) { u16 *cycle_setup = iqs7222->cycle_setup[cycle_index]; struct i2c_client *client = iqs7222->client; - struct fwnode_handle *cycle_node = NULL; unsigned int pins[9]; int error, count, i; @@ -1659,17 +1815,7 @@ * Each channel shares a cycle with one other channel; the mapping of * channels to cycles is fixed. Properties defined for a cycle impact * both channels tied to the cycle. - */ - error = iqs7222_parse_props(iqs7222, &cycle_node, cycle_index, - IQS7222_REG_GRP_CYCLE, - IQS7222_REG_KEY_NONE); - if (error) - return error; - - if (!cycle_node) - return 0; - - /* + * * Unlike channels which are restricted to a select range of CRx pins * based on channel number, any cycle can claim any of the device's 9 * CTx pins (CTx0-8). @@ -1711,11 +1857,11 @@ return 0; } -static int iqs7222_parse_chan(struct iqs7222_private *iqs7222, int chan_index) +static int iqs7222_parse_chan(struct iqs7222_private *iqs7222, + struct fwnode_handle *chan_node, int chan_index) { const struct iqs7222_dev_desc *dev_desc = iqs7222->dev_desc; struct i2c_client *client = iqs7222->client; - struct fwnode_handle *chan_node = NULL; int num_chan = dev_desc->reg_grps[IQS7222_REG_GRP_CHAN].num_row; int ext_chan = rounddown(num_chan, 10); int error, i; @@ -1723,20 +1869,9 @@ u16 *sys_setup = iqs7222->sys_setup; unsigned int val; - error = iqs7222_parse_props(iqs7222, &chan_node, chan_index, - IQS7222_REG_GRP_CHAN, - IQS7222_REG_KEY_NONE); - if (error) - return error; - - if (!chan_node) - return 0; - - if (dev_desc->allow_offset) { - sys_setup[dev_desc->allow_offset] |= BIT(chan_index); - if (fwnode_property_present(chan_node, "azoteq,ulp-allow")) - sys_setup[dev_desc->allow_offset] &= ~BIT(chan_index); - } + if (dev_desc->allow_offset && + fwnode_property_present(chan_node, "azoteq,ulp-allow")) + sys_setup[dev_desc->allow_offset] &= ~BIT(chan_index); chan_setup[0] |= IQS7222_CHAN_SETUP_0_CHAN_EN; @@ -1773,8 +1908,9 @@ chan_setup[0] |= IQS7222_CHAN_SETUP_0_REF_MODE_FOLLOW; chan_setup[4] = val * 42 + 1048; - if (!fwnode_property_read_u32(chan_node, "azoteq,ref-weight", - &val)) { + error = fwnode_property_read_u32(chan_node, "azoteq,ref-weight", + &val); + if (!error) { if (val > U16_MAX) { dev_err(&client->dev, "Invalid %s reference weight: %u\n", @@ -1783,6 +1919,11 @@ } chan_setup[5] = val; + } else if (error != -EINVAL) { + dev_err(&client->dev, + "Failed to read %s reference weight: %d\n", + fwnode_get_name(chan_node), error); + return error; } /* @@ -1855,21 +1996,10 @@ if (!event_node) continue; - error = iqs7222_parse_props(iqs7222, &event_node, chan_index, - IQS7222_REG_GRP_BTN, - iqs7222_kp_events[i].reg_key); - if (error) - return error; - - error = iqs7222_gpio_select(iqs7222, event_node, - BIT(chan_index), - dev_desc->touch_link - (i ? 0 : 2)); - if (error) - return error; - - if (!fwnode_property_read_u32(event_node, - "azoteq,timeout-press-ms", - &val)) { + error = fwnode_property_read_u32(event_node, + "azoteq,timeout-press-ms", + &val); + if (!error) { /* * The IQS7222B employs a global pair of press timeout * registers as opposed to channel-specific registers. @@ -1882,57 +2012,31 @@ if (val > U8_MAX * 500) { dev_err(&client->dev, "Invalid %s press timeout: %u\n", - fwnode_get_name(chan_node), val); + fwnode_get_name(event_node), val); + fwnode_handle_put(event_node); return -EINVAL; } *setup &= ~(U8_MAX << i * 8); *setup |= (val / 500 << i * 8); - } - - error = fwnode_property_read_u32(event_node, "linux,code", - &val); - if (error) { - dev_err(&client->dev, "Failed to read %s code: %d\n", - fwnode_get_name(chan_node), error); + } else if (error != -EINVAL) { + dev_err(&client->dev, + "Failed to read %s press timeout: %d\n", + fwnode_get_name(event_node), error); + fwnode_handle_put(event_node); return error; } - iqs7222->kp_code[chan_index][i] = val; - iqs7222->kp_type[chan_index][i] = EV_KEY; - - if (fwnode_property_present(event_node, "linux,input-type")) { - error = fwnode_property_read_u32(event_node, - "linux,input-type", - &val); - if (error) { - dev_err(&client->dev, - "Failed to read %s input type: %d\n", - fwnode_get_name(chan_node), error); - return error; - } - - if (val != EV_KEY && val != EV_SW) { - dev_err(&client->dev, - "Invalid %s input type: %u\n", - fwnode_get_name(chan_node), val); - return -EINVAL; - } - - iqs7222->kp_type[chan_index][i] = val; - } - - /* - * Reference channels can opt out of event reporting by using - * KEY_RESERVED in place of a true key or switch code. - */ - if (iqs7222->kp_type[chan_index][i] == EV_KEY && - iqs7222->kp_code[chan_index][i] == KEY_RESERVED) - continue; - - input_set_capability(iqs7222->keypad, - iqs7222->kp_type[chan_index][i], - iqs7222->kp_code[chan_index][i]); + error = iqs7222_parse_event(iqs7222, event_node, chan_index, + IQS7222_REG_GRP_BTN, + iqs7222_kp_events[i].reg_key, + BIT(chan_index), + dev_desc->touch_link - (i ? 0 : 2), + &iqs7222->kp_type[chan_index][i], + &iqs7222->kp_code[chan_index][i]); + fwnode_handle_put(event_node); + if (error) + return error; if (!dev_desc->event_offset) continue; @@ -1944,32 +2048,23 @@ * The following call handles a special pair of properties that apply * to a channel node, but reside within the button (event) group. */ - return iqs7222_parse_props(iqs7222, &chan_node, chan_index, + return iqs7222_parse_props(iqs7222, chan_node, chan_index, IQS7222_REG_GRP_BTN, IQS7222_REG_KEY_DEBOUNCE); } -static int iqs7222_parse_sldr(struct iqs7222_private *iqs7222, int sldr_index) +static int iqs7222_parse_sldr(struct iqs7222_private *iqs7222, + struct fwnode_handle *sldr_node, int sldr_index) { const struct iqs7222_dev_desc *dev_desc = iqs7222->dev_desc; struct i2c_client *client = iqs7222->client; - struct fwnode_handle *sldr_node = NULL; int num_chan = dev_desc->reg_grps[IQS7222_REG_GRP_CHAN].num_row; int ext_chan = rounddown(num_chan, 10); int count, error, reg_offset, i; + u16 *event_mask = &iqs7222->sys_setup[dev_desc->event_offset]; u16 *sldr_setup = iqs7222->sldr_setup[sldr_index]; - u16 *sys_setup = iqs7222->sys_setup; unsigned int chan_sel[4], val; - error = iqs7222_parse_props(iqs7222, &sldr_node, sldr_index, - IQS7222_REG_GRP_SLDR, - IQS7222_REG_KEY_NONE); - if (error) - return error; - - if (!sldr_node) - return 0; - /* * Each slider can be spread across 3 to 4 channels. It is possible to * select only 2 channels, but doing so prevents the slider from using @@ -2003,7 +2098,7 @@ reg_offset = dev_desc->sldr_res < U16_MAX ? 0 : 1; sldr_setup[0] |= count; - sldr_setup[3 + reg_offset] &= ~IQS7222_SLDR_SETUP_3_CHAN_SEL_MASK; + sldr_setup[3 + reg_offset] &= ~GENMASK(ext_chan - 1, 0); for (i = 0; i < ARRAY_SIZE(chan_sel); i++) { sldr_setup[5 + reg_offset + i] = 0; @@ -2028,8 +2123,9 @@ if (fwnode_property_present(sldr_node, "azoteq,use-prox")) sldr_setup[4 + reg_offset] -= 2; - if (!fwnode_property_read_u32(sldr_node, "azoteq,slider-size", &val)) { - if (!val || val > dev_desc->sldr_res) { + error = fwnode_property_read_u32(sldr_node, "azoteq,slider-size", &val); + if (!error) { + if (val > dev_desc->sldr_res) { dev_err(&client->dev, "Invalid %s size: %u\n", fwnode_get_name(sldr_node), val); return -EINVAL; @@ -2042,9 +2138,21 @@ sldr_setup[2] |= (val / 16 << IQS7222_SLDR_SETUP_2_RES_SHIFT); } + } else if (error != -EINVAL) { + dev_err(&client->dev, "Failed to read %s size: %d\n", + fwnode_get_name(sldr_node), error); + return error; + } + + if (!(reg_offset ? sldr_setup[3] + : sldr_setup[2] & IQS7222_SLDR_SETUP_2_RES_MASK)) { + dev_err(&client->dev, "Undefined %s size\n", + fwnode_get_name(sldr_node)); + return -EINVAL; } - if (!fwnode_property_read_u32(sldr_node, "azoteq,top-speed", &val)) { + error = fwnode_property_read_u32(sldr_node, "azoteq,top-speed", &val); + if (!error) { if (val > (reg_offset ? U16_MAX : U8_MAX * 4)) { dev_err(&client->dev, "Invalid %s top speed: %u\n", fwnode_get_name(sldr_node), val); @@ -2057,9 +2165,14 @@ sldr_setup[2] &= ~IQS7222_SLDR_SETUP_2_TOP_SPEED_MASK; sldr_setup[2] |= (val / 4); } + } else if (error != -EINVAL) { + dev_err(&client->dev, "Failed to read %s top speed: %d\n", + fwnode_get_name(sldr_node), error); + return error; } - if (!fwnode_property_read_u32(sldr_node, "linux,axis", &val)) { + error = fwnode_property_read_u32(sldr_node, "linux,axis", &val); + if (!error) { u16 sldr_max = sldr_setup[3] - 1; if (!reg_offset) { @@ -2073,6 +2186,10 @@ input_set_abs_params(iqs7222->keypad, val, 0, sldr_max, 0, 0); iqs7222->sl_axis[sldr_index] = val; + } else if (error != -EINVAL) { + dev_err(&client->dev, "Failed to read %s axis: %d\n", + fwnode_get_name(sldr_node), error); + return error; } if (dev_desc->wheel_enable) { @@ -2081,109 +2198,150 @@ sldr_setup[0] |= dev_desc->wheel_enable; } + /* + * The absence of a register offset makes it safe to assume the device + * supports gestures, each of which is first disabled until explicitly + * enabled. + */ + if (!reg_offset) + for (i = 0; i < ARRAY_SIZE(iqs7222_sl_events); i++) + sldr_setup[9] &= ~iqs7222_sl_events[i].enable; + for (i = 0; i < ARRAY_SIZE(iqs7222_sl_events); i++) { const char *event_name = iqs7222_sl_events[i].name; struct fwnode_handle *event_node; - - /* - * The absence of a register offset means the remaining fields - * in the group represent gesture settings. - */ - if (iqs7222_sl_events[i].enable && !reg_offset) - sldr_setup[9] &= ~iqs7222_sl_events[i].enable; + enum iqs7222_reg_key_id reg_key; event_node = fwnode_get_named_child_node(sldr_node, event_name); if (!event_node) continue; - error = iqs7222_parse_props(iqs7222, &event_node, sldr_index, - IQS7222_REG_GRP_SLDR, - reg_offset ? - IQS7222_REG_KEY_RESERVED : - iqs7222_sl_events[i].reg_key); - if (error) - return error; - - error = fwnode_property_read_u32(event_node, "linux,code", - &val); - if (error) { - dev_err(&client->dev, "Failed to read %s code: %d\n", - fwnode_get_name(sldr_node), error); - return error; - } - - iqs7222->sl_code[sldr_index][i] = val; - input_set_capability(iqs7222->keypad, EV_KEY, val); - /* - * The press/release event is determined based on whether the - * coordinate field reports 0xFFFF and has no explicit enable - * control. + * Depending on the device, gestures are either offered using + * one of two timing resolutions, or are not supported at all. */ - if (!iqs7222_sl_events[i].enable || reg_offset) - continue; + if (reg_offset) + reg_key = IQS7222_REG_KEY_RESERVED; + else if (dev_desc->legacy_gesture && + iqs7222_sl_events[i].reg_key == IQS7222_REG_KEY_TAP) + reg_key = IQS7222_REG_KEY_TAP_LEGACY; + else if (dev_desc->legacy_gesture && + iqs7222_sl_events[i].reg_key == IQS7222_REG_KEY_AXIAL) + reg_key = IQS7222_REG_KEY_AXIAL_LEGACY; + else + reg_key = iqs7222_sl_events[i].reg_key; - sldr_setup[9] |= iqs7222_sl_events[i].enable; - - error = iqs7222_gpio_select(iqs7222, event_node, - iqs7222_sl_events[i].enable, - 1568 + sldr_index * 30); + /* + * The press/release event does not expose a direct GPIO link, + * but one can be emulated by tying each of the participating + * channels to the same GPIO. + */ + error = iqs7222_parse_event(iqs7222, event_node, sldr_index, + IQS7222_REG_GRP_SLDR, reg_key, + i ? iqs7222_sl_events[i].enable + : sldr_setup[3 + reg_offset], + i ? 1568 + sldr_index * 30 + : sldr_setup[4 + reg_offset], + NULL, + &iqs7222->sl_code[sldr_index][i]); + fwnode_handle_put(event_node); if (error) return error; + if (!reg_offset) + sldr_setup[9] |= iqs7222_sl_events[i].enable; + if (!dev_desc->event_offset) continue; - sys_setup[dev_desc->event_offset] |= BIT(10 + sldr_index); + /* + * The press/release event is determined based on whether the + * coordinate field reports 0xFFFF and solely relies on touch + * or proximity interrupts to be unmasked. + */ + if (i && !reg_offset) + *event_mask |= (IQS7222_EVENT_MASK_SLDR << sldr_index); + else if (sldr_setup[4 + reg_offset] == dev_desc->touch_link) + *event_mask |= IQS7222_EVENT_MASK_TOUCH; + else + *event_mask |= IQS7222_EVENT_MASK_PROX; } /* * The following call handles a special pair of properties that shift * to make room for a wheel enable control in the case of IQS7222C. */ - return iqs7222_parse_props(iqs7222, &sldr_node, sldr_index, + return iqs7222_parse_props(iqs7222, sldr_node, sldr_index, IQS7222_REG_GRP_SLDR, dev_desc->wheel_enable ? IQS7222_REG_KEY_WHEEL : IQS7222_REG_KEY_NO_WHEEL); } +static int (*iqs7222_parse_extra[IQS7222_NUM_REG_GRPS]) + (struct iqs7222_private *iqs7222, + struct fwnode_handle *reg_grp_node, + int reg_grp_index) = { + [IQS7222_REG_GRP_CYCLE] = iqs7222_parse_cycle, + [IQS7222_REG_GRP_CHAN] = iqs7222_parse_chan, + [IQS7222_REG_GRP_SLDR] = iqs7222_parse_sldr, +}; + +static int iqs7222_parse_reg_grp(struct iqs7222_private *iqs7222, + enum iqs7222_reg_grp_id reg_grp, + int reg_grp_index) +{ + struct i2c_client *client = iqs7222->client; + struct fwnode_handle *reg_grp_node; + int error; + + if (iqs7222_reg_grp_names[reg_grp]) { + char reg_grp_name[16]; + + snprintf(reg_grp_name, sizeof(reg_grp_name), "%s-%d", + iqs7222_reg_grp_names[reg_grp], reg_grp_index); + + reg_grp_node = device_get_named_child_node(&client->dev, + reg_grp_name); + } else { + reg_grp_node = fwnode_handle_get(dev_fwnode(&client->dev)); + } + + if (!reg_grp_node) + return 0; + + error = iqs7222_parse_props(iqs7222, reg_grp_node, reg_grp_index, + reg_grp, IQS7222_REG_KEY_NONE); + + if (!error && iqs7222_parse_extra[reg_grp]) + error = iqs7222_parse_extra[reg_grp](iqs7222, reg_grp_node, + reg_grp_index); + + fwnode_handle_put(reg_grp_node); + + return error; +} + static int iqs7222_parse_all(struct iqs7222_private *iqs7222) { const struct iqs7222_dev_desc *dev_desc = iqs7222->dev_desc; const struct iqs7222_reg_grp_desc *reg_grps = dev_desc->reg_grps; u16 *sys_setup = iqs7222->sys_setup; - int error, i; + int error, i, j; + + if (dev_desc->allow_offset) + sys_setup[dev_desc->allow_offset] = U16_MAX; if (dev_desc->event_offset) sys_setup[dev_desc->event_offset] = IQS7222_EVENT_MASK_ATI; - for (i = 0; i < reg_grps[IQS7222_REG_GRP_CYCLE].num_row; i++) { - error = iqs7222_parse_cycle(iqs7222, i); - if (error) - return error; - } - - error = iqs7222_parse_props(iqs7222, NULL, 0, IQS7222_REG_GRP_GLBL, - IQS7222_REG_KEY_NONE); - if (error) - return error; - for (i = 0; i < reg_grps[IQS7222_REG_GRP_GPIO].num_row; i++) { - struct fwnode_handle *gpio_node = NULL; u16 *gpio_setup = iqs7222->gpio_setup[i]; - int j; gpio_setup[0] &= ~IQS7222_GPIO_SETUP_0_GPIO_EN; gpio_setup[1] = 0; gpio_setup[2] = 0; - error = iqs7222_parse_props(iqs7222, &gpio_node, i, - IQS7222_REG_GRP_GPIO, - IQS7222_REG_KEY_NONE); - if (error) - return error; - if (reg_grps[IQS7222_REG_GRP_GPIO].num_row == 1) continue; @@ -2206,34 +2364,21 @@ chan_setup[5] = 0; } - for (i = 0; i < reg_grps[IQS7222_REG_GRP_CHAN].num_row; i++) { - error = iqs7222_parse_chan(iqs7222, i); - if (error) - return error; - } - - error = iqs7222_parse_props(iqs7222, NULL, 0, IQS7222_REG_GRP_FILT, - IQS7222_REG_KEY_NONE); - if (error) - return error; - for (i = 0; i < reg_grps[IQS7222_REG_GRP_SLDR].num_row; i++) { u16 *sldr_setup = iqs7222->sldr_setup[i]; sldr_setup[0] &= ~IQS7222_SLDR_SETUP_0_CHAN_CNT_MASK; - - error = iqs7222_parse_sldr(iqs7222, i); - if (error) - return error; } - sys_setup[0] &= ~IQS7222_SYS_SETUP_INTF_MODE_MASK; - sys_setup[0] &= ~IQS7222_SYS_SETUP_PWR_MODE_MASK; - - sys_setup[0] |= IQS7222_SYS_SETUP_ACK_RESET; + for (i = 0; i < IQS7222_NUM_REG_GRPS; i++) { + for (j = 0; j < reg_grps[i].num_row; j++) { + error = iqs7222_parse_reg_grp(iqs7222, i, j); + if (error) + return error; + } + } - return iqs7222_parse_props(iqs7222, NULL, 0, IQS7222_REG_GRP_SYS, - IQS7222_REG_KEY_NONE); + return 0; } static int iqs7222_report(struct iqs7222_private *iqs7222) @@ -2280,6 +2425,9 @@ int k = 2 + j * (num_chan > 16 ? 2 : 1); u16 state = le16_to_cpu(status[k + i / 16]); + if (!iqs7222->kp_type[i][j]) + continue; + input_event(iqs7222->keypad, iqs7222->kp_type[i][j], iqs7222->kp_code[i][j], @@ -2299,29 +2447,37 @@ input_report_abs(iqs7222->keypad, iqs7222->sl_axis[i], sldr_pos); - for (j = 0; j < ARRAY_SIZE(iqs7222_sl_events); j++) { - u16 mask = iqs7222_sl_events[j].mask; - u16 val = iqs7222_sl_events[j].val; + input_report_key(iqs7222->keypad, iqs7222->sl_code[i][0], + sldr_pos < dev_desc->sldr_res); - if (!iqs7222_sl_events[j].enable) { - input_report_key(iqs7222->keypad, - iqs7222->sl_code[i][j], - sldr_pos < dev_desc->sldr_res); - continue; - } + /* + * A maximum resolution indicates the device does not support + * gestures, in which case the remaining fields are ignored. + */ + if (dev_desc->sldr_res == U16_MAX) + continue; - /* - * The remaining offsets represent gesture state, and - * are discarded in the case of IQS7222C because only - * absolute position is reported. - */ - if (num_stat < IQS7222_MAX_COLS_STAT) - continue; + if (!(le16_to_cpu(status[1]) & IQS7222_EVENT_MASK_SLDR << i)) + continue; + + /* + * Skip the press/release event, as it does not have separate + * status fields and is handled separately. + */ + for (j = 1; j < ARRAY_SIZE(iqs7222_sl_events); j++) { + u16 mask = iqs7222_sl_events[j].mask; + u16 val = iqs7222_sl_events[j].val; input_report_key(iqs7222->keypad, iqs7222->sl_code[i][j], (state & mask) == val); } + + input_sync(iqs7222->keypad); + + for (j = 1; j < ARRAY_SIZE(iqs7222_sl_events); j++) + input_report_key(iqs7222->keypad, + iqs7222->sl_code[i][j], 0); } input_sync(iqs7222->keypad); --- linux-gcp-5.19.0.orig/drivers/input/misc/rk805-pwrkey.c +++ linux-gcp-5.19.0/drivers/input/misc/rk805-pwrkey.c @@ -98,6 +98,7 @@ }; module_platform_driver(rk805_pwrkey_driver); +MODULE_ALIAS("platform:rk805-pwrkey"); MODULE_AUTHOR("Joseph Chen "); MODULE_DESCRIPTION("RK805 PMIC Power Key driver"); MODULE_LICENSE("GPL"); --- linux-gcp-5.19.0.orig/drivers/input/misc/soc_button_array.c +++ linux-gcp-5.19.0/drivers/input/misc/soc_button_array.c @@ -18,6 +18,10 @@ #include #include +static bool use_low_level_irq; +module_param(use_low_level_irq, bool, 0444); +MODULE_PARM_DESC(use_low_level_irq, "Use low-level triggered IRQ instead of edge triggered"); + struct soc_button_info { const char *name; int acpi_index; @@ -74,6 +78,13 @@ }, }, { + /* Acer Switch V 10 SW5-017, same issue as Acer Switch 10 SW5-012. */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_MATCH(DMI_PRODUCT_NAME, "SW5-017"), + }, + }, + { /* * Acer One S1003. _LID method messes with power-button GPIO * IRQ settings, leading to a non working power-button. @@ -164,7 +175,8 @@ } /* See dmi_use_low_level_irq[] comment */ - if (!autorepeat && dmi_check_system(dmi_use_low_level_irq)) { + if (!autorepeat && (use_low_level_irq || + dmi_check_system(dmi_use_low_level_irq))) { irq_set_irq_type(irq, IRQ_TYPE_LEVEL_LOW); gpio_keys[n_buttons].irq = irq; gpio_keys[n_buttons].gpio = -ENOENT; --- linux-gcp-5.19.0.orig/drivers/input/mouse/cypress_ps2.c +++ linux-gcp-5.19.0/drivers/input/mouse/cypress_ps2.c @@ -387,7 +387,9 @@ if (ret < 0) return ret; +#if ( CYPRESS_SIMULATED_MT != 1 ) __set_bit(INPUT_PROP_SEMI_MT, input->propbit); +#endif input_abs_set_res(input, ABS_X, cytp->tp_res_x); input_abs_set_res(input, ABS_Y, cytp->tp_res_y); @@ -473,6 +475,22 @@ ((packet[5] & 0x0f) << 8) | packet[7]; if (cytp->mode & CYTP_BIT_ABS_PRESSURE) report_data->contacts[1].z = report_data->contacts[0].z; +#if ( CYPRESS_SIMULATED_MT == 1 ) + /* simulate contact positions for >2 fingers */ + if ( report_data->contact_cnt >= 3 ) { + int i; + for ( i=1; icontact_cnt; i++ ) { + report_data->contacts[i].x = + report_data->contacts[0].x + + 100*(i)*((i%2)?-1:1); + report_data->contacts[i].y = + report_data->contacts[0].y; + if (cytp->mode & CYTP_BIT_ABS_PRESSURE) + report_data->contacts[i].z = + report_data->contacts[0].z; + } + } +#endif } report_data->left = (header_byte & BTN_LEFT_BIT) ? 1 : 0; --- linux-gcp-5.19.0.orig/drivers/input/mouse/cypress_ps2.h +++ linux-gcp-5.19.0/drivers/input/mouse/cypress_ps2.h @@ -131,7 +131,18 @@ #define RESP_REMOTE_BIT 0x40 #define RESP_SMBUS_BIT 0x80 -#define CYTP_MAX_MT_SLOTS 2 +/* + * CYPRESS_SIMULATED_MT + * set to 1 for simulated multitouch (up to 5 contact points) + * set to 0 for SEMI_MT (only 2 corner points, and count of fingers) + */ +#define CYPRESS_SIMULATED_MT 1 + +#if ( CYPRESS_SIMULATED_MT == 1 ) +# define CYTP_MAX_MT_SLOTS 5 +#else +# define CYTP_MAX_MT_SLOTS 2 +#endif struct cytp_contact { int x; --- linux-gcp-5.19.0.orig/drivers/input/serio/gscps2.c +++ linux-gcp-5.19.0/drivers/input/serio/gscps2.c @@ -350,6 +350,10 @@ ps2port->port = serio; ps2port->padev = dev; ps2port->addr = ioremap(hpa, GSC_STATUS + 4); + if (!ps2port->addr) { + ret = -ENOMEM; + goto fail_nomem; + } spin_lock_init(&ps2port->lock); gscps2_reset(ps2port); --- linux-gcp-5.19.0.orig/drivers/input/serio/i8042-x86ia64io.h +++ linux-gcp-5.19.0/drivers/input/serio/i8042-x86ia64io.h @@ -997,17 +997,17 @@ static const struct dmi_system_id i8042_dmi_probe_defer_table[] __initconst = { { - /* ASUS ZenBook UX425UA */ + /* ASUS ZenBook UX425UA/QA */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), - DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX425UA"), + DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX425"), }, }, { - /* ASUS ZenBook UM325UA */ + /* ASUS ZenBook UM325UA/QA */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), - DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX325UA_UM325UA"), + DMI_MATCH(DMI_PRODUCT_NAME, "ZenBook UX325"), }, }, { } --- linux-gcp-5.19.0.orig/drivers/input/serio/i8042.c +++ linux-gcp-5.19.0/drivers/input/serio/i8042.c @@ -22,6 +22,7 @@ #include #include #include +#include #include @@ -178,6 +179,24 @@ static bool (*i8042_platform_filter)(unsigned char data, unsigned char str, struct serio *serio); +static int __init i8042_set_noaux(const struct dmi_system_id *dmi) +{ + i8042_noaux = true; + return 1; +} + +static const struct dmi_system_id i8042_quirks[] __initconst = { + { + .callback = i8042_set_noaux, + .ident = "Dell laptop", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Precision 5550"), + }, + }, + {}, +}; + void i8042_lock_chip(void) { mutex_lock(&i8042_mutex); @@ -621,7 +640,7 @@ if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) { i8042_ctr &= ~I8042_CTR_KBDINT; i8042_ctr |= I8042_CTR_KBDDIS; - pr_err("Failed to enable KBD port\n"); + pr_info("Failed to enable KBD port\n"); return -EIO; } @@ -640,7 +659,7 @@ if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) { i8042_ctr &= ~I8042_CTR_AUXINT; i8042_ctr |= I8042_CTR_AUXDIS; - pr_err("Failed to enable AUX port\n"); + pr_info("Failed to enable AUX port\n"); return -EIO; } @@ -732,7 +751,7 @@ i8042_ctr &= ~I8042_CTR_AUXINT; if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) { - pr_err("Failed to disable AUX port, can't use MUX\n"); + pr_info("Failed to disable AUX port, can't use MUX\n"); return -EIO; } @@ -947,25 +966,28 @@ { unsigned char param; int i = 0; + int ret; /* * We try this 5 times; on some really fragile systems this does not * take the first time... */ - do { - - if (i8042_command(¶m, I8042_CMD_CTL_TEST)) { - pr_err("i8042 controller selftest timeout\n"); - return -ENODEV; - } + while (i++ < 5) { - if (param == I8042_RET_CTL_TEST) + ret = i8042_command(¶m, I8042_CMD_CTL_TEST); + if (ret) + pr_info("i8042 controller selftest timeout (%d/5)\n", i); + else if (param == I8042_RET_CTL_TEST) return 0; + else + dbg("i8042 controller selftest: %#x != %#x\n", + param, I8042_RET_CTL_TEST); - dbg("i8042 controller selftest: %#x != %#x\n", - param, I8042_RET_CTL_TEST); msleep(50); - } while (i++ < 5); + } + + if (ret) + return -ENODEV; #ifdef CONFIG_X86 /* @@ -977,7 +999,7 @@ pr_info("giving up on controller selftest, continuing anyway...\n"); return 0; #else - pr_err("i8042 controller selftest failed\n"); + pr_info("i8042 controller selftest failed\n"); return -EIO; #endif } @@ -1543,8 +1565,6 @@ { int error; - i8042_platform_device = dev; - if (i8042_reset == I8042_RESET_ALWAYS) { error = i8042_controller_selftest(); if (error) @@ -1560,6 +1580,8 @@ i8042_dritek_enable(); #endif + dmi_check_system(i8042_quirks); + if (!i8042_noaux) { error = i8042_setup_aux(); if (error && error != -ENODEV && error != -EBUSY) @@ -1582,7 +1604,6 @@ i8042_free_aux_ports(); /* in case KBD failed but AUX not */ i8042_free_irqs(); i8042_controller_reset(false); - i8042_platform_device = NULL; return error; } @@ -1592,7 +1613,6 @@ i8042_unregister_ports(); i8042_free_irqs(); i8042_controller_reset(false); - i8042_platform_device = NULL; return 0; } --- linux-gcp-5.19.0.orig/drivers/input/touchscreen/elants_i2c.c +++ linux-gcp-5.19.0/drivers/input/touchscreen/elants_i2c.c @@ -1329,14 +1329,12 @@ if (IS_ERR_OR_NULL(ts->reset_gpio)) return 0; - gpiod_set_value_cansleep(ts->reset_gpio, 1); - error = regulator_enable(ts->vcc33); if (error) { dev_err(&ts->client->dev, "failed to enable vcc33 regulator: %d\n", error); - goto release_reset_gpio; + return error; } error = regulator_enable(ts->vccio); @@ -1345,7 +1343,7 @@ "failed to enable vccio regulator: %d\n", error); regulator_disable(ts->vcc33); - goto release_reset_gpio; + return error; } /* @@ -1354,7 +1352,6 @@ */ udelay(ELAN_POWERON_DELAY_USEC); -release_reset_gpio: gpiod_set_value_cansleep(ts->reset_gpio, 0); if (error) return error; @@ -1462,7 +1459,7 @@ return error; } - ts->reset_gpio = devm_gpiod_get(&client->dev, "reset", GPIOD_OUT_LOW); + ts->reset_gpio = devm_gpiod_get(&client->dev, "reset", GPIOD_OUT_HIGH); if (IS_ERR(ts->reset_gpio)) { error = PTR_ERR(ts->reset_gpio); --- linux-gcp-5.19.0.orig/drivers/input/touchscreen/exc3000.c +++ linux-gcp-5.19.0/drivers/input/touchscreen/exc3000.c @@ -220,6 +220,7 @@ { u8 buf[EXC3000_LEN_VENDOR_REQUEST] = { 0x67, 0x00, 0x42, 0x00, 0x03 }; int ret; + unsigned long time_left; mutex_lock(&data->query_lock); @@ -233,9 +234,9 @@ goto out_unlock; if (response) { - ret = wait_for_completion_timeout(&data->wait_event, - timeout * HZ); - if (ret <= 0) { + time_left = wait_for_completion_timeout(&data->wait_event, + timeout * HZ); + if (time_left == 0) { ret = -ETIMEDOUT; goto out_unlock; } --- linux-gcp-5.19.0.orig/drivers/input/touchscreen/goodix.c +++ linux-gcp-5.19.0/drivers/input/touchscreen/goodix.c @@ -95,6 +95,7 @@ static const struct goodix_chip_id goodix_chip_ids[] = { { .id = "1151", .data = >1x_chip_data }, + { .id = "1158", .data = >1x_chip_data }, { .id = "5663", .data = >1x_chip_data }, { .id = "5688", .data = >1x_chip_data }, { .id = "917S", .data = >1x_chip_data }, @@ -1163,6 +1164,7 @@ input_set_abs_params(ts->input_dev, ABS_MT_WIDTH_MAJOR, 0, 255, 0, 0); input_set_abs_params(ts->input_dev, ABS_MT_TOUCH_MAJOR, 0, 255, 0, 0); +retry_read_config: /* Read configuration and apply touchscreen parameters */ goodix_read_config(ts); @@ -1170,6 +1172,16 @@ touchscreen_parse_properties(ts->input_dev, true, &ts->prop); if (!ts->prop.max_x || !ts->prop.max_y || !ts->max_touch_num) { + if (!ts->reset_controller_at_probe && + ts->irq_pin_access_method != IRQ_PIN_ACCESS_NONE) { + dev_info(&ts->client->dev, "Config not set, resetting controller\n"); + /* Retry after a controller reset */ + ts->reset_controller_at_probe = true; + error = goodix_reset(ts); + if (error) + return error; + goto retry_read_config; + } dev_err(&ts->client->dev, "Invalid config (%d, %d, %d), using defaults\n", ts->prop.max_x, ts->prop.max_y, ts->max_touch_num); @@ -1514,6 +1526,7 @@ #ifdef CONFIG_OF static const struct of_device_id goodix_of_match[] = { { .compatible = "goodix,gt1151" }, + { .compatible = "goodix,gt1158" }, { .compatible = "goodix,gt5663" }, { .compatible = "goodix,gt5688" }, { .compatible = "goodix,gt911" }, --- linux-gcp-5.19.0.orig/drivers/input/touchscreen/melfas_mip4.c +++ linux-gcp-5.19.0/drivers/input/touchscreen/melfas_mip4.c @@ -1453,7 +1453,7 @@ "ce", GPIOD_OUT_LOW); if (IS_ERR(ts->gpio_ce)) { error = PTR_ERR(ts->gpio_ce); - if (error != EPROBE_DEFER) + if (error != -EPROBE_DEFER) dev_err(&client->dev, "Failed to get gpio: %d\n", error); return error; --- linux-gcp-5.19.0.orig/drivers/input/touchscreen/raydium_i2c_ts.c +++ linux-gcp-5.19.0/drivers/input/touchscreen/raydium_i2c_ts.c @@ -211,12 +211,14 @@ error = raydium_i2c_xfer(client, addr, xfer, ARRAY_SIZE(xfer)); if (likely(!error)) - return 0; + goto out; msleep(RM_RETRY_DELAY_MS); } while (++tries < RM_MAX_RETRIES); dev_err(&client->dev, "%s failed: %d\n", __func__, error); +out: + kfree(tx_buf); return error; } --- linux-gcp-5.19.0.orig/drivers/interconnect/imx/imx.c +++ linux-gcp-5.19.0/drivers/interconnect/imx/imx.c @@ -234,16 +234,16 @@ struct device *dev = &pdev->dev; struct icc_onecell_data *data; struct icc_provider *provider; - int max_node_id; + int num_nodes; int ret; /* icc_onecell_data is indexed by node_id, unlike nodes param */ - max_node_id = get_max_node_id(nodes, nodes_count); - data = devm_kzalloc(dev, struct_size(data, nodes, max_node_id), + num_nodes = get_max_node_id(nodes, nodes_count) + 1; + data = devm_kzalloc(dev, struct_size(data, nodes, num_nodes), GFP_KERNEL); if (!data) return -ENOMEM; - data->num_nodes = max_node_id; + data->num_nodes = num_nodes; provider = devm_kzalloc(dev, sizeof(*provider), GFP_KERNEL); if (!provider) --- linux-gcp-5.19.0.orig/drivers/interconnect/qcom/msm8996.c +++ linux-gcp-5.19.0/drivers/interconnect/qcom/msm8996.c @@ -33,6 +33,13 @@ "aggre0_noc_mpu_cfg" }; +static const char * const bus_a2noc_clocks[] = { + "bus", + "bus_a", + "aggre2_ufs_axi", + "ufs_axi" +}; + static const u16 mas_a0noc_common_links[] = { MSM8996_SLAVE_A0NOC_SNOC }; @@ -1806,7 +1813,7 @@ .reg_bits = 32, .reg_stride = 4, .val_bits = 32, - .max_register = 0x9000, + .max_register = 0x6000, .fast_io = true }; @@ -1830,7 +1837,7 @@ .reg_bits = 32, .reg_stride = 4, .val_bits = 32, - .max_register = 0x7000, + .max_register = 0x5000, .fast_io = true }; @@ -1851,7 +1858,7 @@ .reg_bits = 32, .reg_stride = 4, .val_bits = 32, - .max_register = 0xa000, + .max_register = 0x7000, .fast_io = true }; @@ -1859,6 +1866,8 @@ .type = QCOM_ICC_NOC, .nodes = a2noc_nodes, .num_nodes = ARRAY_SIZE(a2noc_nodes), + .clocks = bus_a2noc_clocks, + .num_clocks = ARRAY_SIZE(bus_a2noc_clocks), .regmap_cfg = &msm8996_a2noc_regmap_config }; @@ -1877,7 +1886,7 @@ .reg_bits = 32, .reg_stride = 4, .val_bits = 32, - .max_register = 0x62000, + .max_register = 0x5a000, .fast_io = true }; @@ -1988,7 +1997,7 @@ .reg_bits = 32, .reg_stride = 4, .val_bits = 32, - .max_register = 0x20000, + .max_register = 0x1c000, .fast_io = true }; --- linux-gcp-5.19.0.orig/drivers/interconnect/qcom/sc7180.c +++ linux-gcp-5.19.0/drivers/interconnect/qcom/sc7180.c @@ -369,7 +369,7 @@ .num_bcms = ARRAY_SIZE(gem_noc_bcms), }; -static struct qcom_icc_bcm *mc_virt_bcms[] = { +static struct qcom_icc_bcm * const mc_virt_bcms[] = { &bcm_acv, &bcm_mc0, }; --- linux-gcp-5.19.0.orig/drivers/iommu/amd/init.c +++ linux-gcp-5.19.0/drivers/iommu/amd/init.c @@ -3241,6 +3241,13 @@ return 1; } + /* + * Ignore leading zeroes after ':', so e.g., AMDI0095:00 + * will match AMDI0095:0 in the second strcmp in acpi_dev_hid_uid_match + */ + while (*uid == '0' && *(uid + 1)) + uid++; + i = early_acpihid_map_size++; memcpy(early_acpihid_map[i].hid, hid, strlen(hid)); memcpy(early_acpihid_map[i].uid, uid, strlen(uid)); --- linux-gcp-5.19.0.orig/drivers/iommu/amd/iommu.c +++ linux-gcp-5.19.0/drivers/iommu/amd/iommu.c @@ -874,7 +874,8 @@ memset(cmd, 0, sizeof(*cmd)); cmd->data[0] = lower_32_bits(paddr) | CMD_COMPL_WAIT_STORE_MASK; cmd->data[1] = upper_32_bits(paddr); - cmd->data[2] = data; + cmd->data[2] = lower_32_bits(data); + cmd->data[3] = upper_32_bits(data); CMD_SET_TYPE(cmd, CMD_COMPL_WAIT); } --- linux-gcp-5.19.0.orig/drivers/iommu/amd/iommu_v2.c +++ linux-gcp-5.19.0/drivers/iommu/amd/iommu_v2.c @@ -596,6 +596,7 @@ put_device_state(dev_state); out: + pci_dev_put(pdev); return ret; } @@ -786,6 +787,8 @@ if (dev_state->domain == NULL) goto out_free_states; + /* See iommu_is_default_domain() */ + dev_state->domain->type = IOMMU_DOMAIN_IDENTITY; amd_iommu_domain_direct_map(dev_state->domain); ret = amd_iommu_domain_enable_v2(dev_state->domain, pasids); --- linux-gcp-5.19.0.orig/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c +++ linux-gcp-5.19.0/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c @@ -2839,6 +2839,26 @@ } } +/* + * HiSilicon PCIe tune and trace device can be used to trace TLP headers on the + * PCIe link and save the data to memory by DMA. The hardware is restricted to + * use identity mapping only. + */ +#define IS_HISI_PTT_DEVICE(pdev) ((pdev)->vendor == PCI_VENDOR_ID_HUAWEI && \ + (pdev)->device == 0xa12e) + +static int arm_smmu_def_domain_type(struct device *dev) +{ + if (dev_is_pci(dev)) { + struct pci_dev *pdev = to_pci_dev(dev); + + if (IS_HISI_PTT_DEVICE(pdev)) + return IOMMU_DOMAIN_IDENTITY; + } + + return 0; +} + static struct iommu_ops arm_smmu_ops = { .capable = arm_smmu_capable, .domain_alloc = arm_smmu_domain_alloc, @@ -2856,6 +2876,7 @@ .sva_unbind = arm_smmu_sva_unbind, .sva_get_pasid = arm_smmu_sva_get_pasid, .page_response = arm_smmu_page_response, + .def_domain_type = arm_smmu_def_domain_type, .pgsize_bitmap = -1UL, /* Restricted during device attach */ .owner = THIS_MODULE, .default_domain_ops = &(const struct iommu_domain_ops) { --- linux-gcp-5.19.0.orig/drivers/iommu/arm/arm-smmu/qcom_iommu.c +++ linux-gcp-5.19.0/drivers/iommu/arm/arm-smmu/qcom_iommu.c @@ -750,9 +750,12 @@ { struct device_node *child; - for_each_child_of_node(qcom_iommu->dev->of_node, child) - if (of_device_is_compatible(child, "qcom,msm-iommu-v1-sec")) + for_each_child_of_node(qcom_iommu->dev->of_node, child) { + if (of_device_is_compatible(child, "qcom,msm-iommu-v1-sec")) { + of_node_put(child); return true; + } + } return false; } --- linux-gcp-5.19.0.orig/drivers/iommu/exynos-iommu.c +++ linux-gcp-5.19.0/drivers/iommu/exynos-iommu.c @@ -630,7 +630,7 @@ ret = iommu_device_register(&data->iommu, &exynos_iommu_ops, dev); if (ret) - return ret; + goto err_iommu_register; platform_set_drvdata(pdev, data); @@ -657,6 +657,10 @@ pm_runtime_enable(dev); return 0; + +err_iommu_register: + iommu_device_sysfs_remove(&data->iommu); + return ret; } static int __maybe_unused exynos_sysmmu_suspend(struct device *dev) --- linux-gcp-5.19.0.orig/drivers/iommu/fsl_pamu.c +++ linux-gcp-5.19.0/drivers/iommu/fsl_pamu.c @@ -868,7 +868,7 @@ ret = create_csd(ppaact_phys, mem_size, csd_port_id); if (ret) { dev_err(dev, "could not create coherence subdomain\n"); - return ret; + goto error; } } --- linux-gcp-5.19.0.orig/drivers/iommu/intel/dmar.c +++ linux-gcp-5.19.0/drivers/iommu/intel/dmar.c @@ -494,7 +494,7 @@ if (drhd->reg_base_addr == rhsa->base_address) { int node = pxm_to_node(rhsa->proximity_domain); - if (!node_online(node)) + if (node != NUMA_NO_NODE && !node_online(node)) node = NUMA_NO_NODE; drhd->iommu->node = node; return 0; @@ -820,6 +820,7 @@ info = dmar_alloc_pci_notify_info(dev, BUS_NOTIFY_ADD_DEVICE); if (!info) { + pci_dev_put(dev); return dmar_dev_scope_status; } else { dmar_pci_bus_add_dev(info); --- linux-gcp-5.19.0.orig/drivers/iommu/intel/iommu.c +++ linux-gcp-5.19.0/drivers/iommu/intel/iommu.c @@ -37,6 +37,12 @@ #define IS_GFX_DEVICE(pdev) ((pdev->class >> 16) == PCI_BASE_CLASS_DISPLAY) #define IS_USB_DEVICE(pdev) ((pdev->class >> 8) == PCI_CLASS_SERIAL_USB) #define IS_ISA_DEVICE(pdev) ((pdev->class >> 8) == PCI_CLASS_BRIDGE_ISA) +#define IS_INTEL_IPU(pdev) ((pdev)->vendor == PCI_VENDOR_ID_INTEL && \ + ((pdev)->device == 0x9a19 || \ + (pdev)->device == 0x9a39 || \ + (pdev)->device == 0x4e19 || \ + (pdev)->device == 0x465d || \ + (pdev)->device == 0x1919)) #define IS_AZALIA(pdev) ((pdev)->vendor == 0x8086 && (pdev)->device == 0x3a3e) #define IOAPIC_RANGE_START (0xfee00000) @@ -168,38 +174,6 @@ return re->hi & VTD_PAGE_MASK; } -static inline void context_clear_pasid_enable(struct context_entry *context) -{ - context->lo &= ~(1ULL << 11); -} - -static inline bool context_pasid_enabled(struct context_entry *context) -{ - return !!(context->lo & (1ULL << 11)); -} - -static inline void context_set_copied(struct context_entry *context) -{ - context->hi |= (1ull << 3); -} - -static inline bool context_copied(struct context_entry *context) -{ - return !!(context->hi & (1ULL << 3)); -} - -static inline bool __context_present(struct context_entry *context) -{ - return (context->lo & 1); -} - -bool context_present(struct context_entry *context) -{ - return context_pasid_enabled(context) ? - __context_present(context) : - __context_present(context) && !context_copied(context); -} - static inline void context_set_present(struct context_entry *context) { context->lo |= 1; @@ -247,6 +221,26 @@ context->hi = 0; } +static inline bool context_copied(struct intel_iommu *iommu, u8 bus, u8 devfn) +{ + if (!iommu->copied_tables) + return false; + + return test_bit(((long)bus << 8) | devfn, iommu->copied_tables); +} + +static inline void +set_context_copied(struct intel_iommu *iommu, u8 bus, u8 devfn) +{ + set_bit(((long)bus << 8) | devfn, iommu->copied_tables); +} + +static inline void +clear_context_copied(struct intel_iommu *iommu, u8 bus, u8 devfn) +{ + clear_bit(((long)bus << 8) | devfn, iommu->copied_tables); +} + /* * This domain is a statically identity mapping domain. * 1. This domain creats a static 1:1 mapping to all usable memory. @@ -307,12 +301,14 @@ EXPORT_SYMBOL_GPL(intel_iommu_enabled); static int dmar_map_gfx = 1; +static int dmar_map_ipu = 1; static int intel_iommu_superpage = 1; static int iommu_identity_mapping; static int iommu_skip_te_disable; #define IDENTMAP_GFX 2 #define IDENTMAP_AZALIA 4 +#define IDENTMAP_IPU 8 int intel_iommu_gfx_mapped; EXPORT_SYMBOL_GPL(intel_iommu_gfx_mapped); @@ -422,14 +418,36 @@ return !(addr_width < BITS_PER_LONG && pfn >> addr_width); } +/* + * Calculate the Supported Adjusted Guest Address Widths of an IOMMU. + * Refer to 11.4.2 of the VT-d spec for the encoding of each bit of + * the returned SAGAW. + */ +static unsigned long __iommu_calculate_sagaw(struct intel_iommu *iommu) +{ + unsigned long fl_sagaw, sl_sagaw; + + fl_sagaw = BIT(2) | (cap_5lp_support(iommu->cap) ? BIT(3) : 0); + sl_sagaw = cap_sagaw(iommu->cap); + + /* Second level only. */ + if (!sm_supported(iommu) || !ecap_flts(iommu->ecap)) + return sl_sagaw; + + /* First level only. */ + if (!ecap_slts(iommu->ecap)) + return fl_sagaw; + + return fl_sagaw & sl_sagaw; +} + static int __iommu_calculate_agaw(struct intel_iommu *iommu, int max_gaw) { unsigned long sagaw; int agaw; - sagaw = cap_sagaw(iommu->cap); - for (agaw = width_to_agaw(max_gaw); - agaw >= 0; agaw--) { + sagaw = __iommu_calculate_sagaw(iommu); + for (agaw = width_to_agaw(max_gaw); agaw >= 0; agaw--) { if (test_bit(agaw, &sagaw)) break; } @@ -622,6 +640,13 @@ struct context_entry *context; u64 *entry; + /* + * Except that the caller requested to allocate a new entry, + * returning a copied context entry makes no sense. + */ + if (!alloc && context_copied(iommu, bus, devfn)) + return NULL; + entry = &root->lo; if (sm_supported(iommu)) { if (devfn >= 0x80) { @@ -989,11 +1014,9 @@ domain_flush_cache(domain, tmp_page, VTD_PAGE_SIZE); pteval = ((uint64_t)virt_to_dma_pfn(tmp_page) << VTD_PAGE_SHIFT) | DMA_PTE_READ | DMA_PTE_WRITE; - if (domain_use_first_level(domain)) { - pteval |= DMA_FL_PTE_XD | DMA_FL_PTE_US; - if (iommu_is_dma_domain(&domain->domain)) - pteval |= DMA_FL_PTE_ACCESS; - } + if (domain_use_first_level(domain)) + pteval |= DMA_FL_PTE_XD | DMA_FL_PTE_US | DMA_FL_PTE_ACCESS; + if (cmpxchg64(&pte->val, 0ULL, pteval)) /* Someone else set it while we were thinking; use theirs. */ free_pgtable_page(tmp_page); @@ -1748,6 +1771,11 @@ iommu->domain_ids = NULL; } + if (iommu->copied_tables) { + bitmap_free(iommu->copied_tables); + iommu->copied_tables = NULL; + } + g_iommus[iommu->seq_id] = NULL; /* free context mapping */ @@ -1956,7 +1984,7 @@ goto out_unlock; ret = 0; - if (context_present(context)) + if (context_present(context) && !context_copied(iommu, bus, devfn)) goto out_unlock; /* @@ -1968,7 +1996,7 @@ * in-flight DMA will exist, and we don't need to worry anymore * hereafter. */ - if (context_copied(context)) { + if (context_copied(iommu, bus, devfn)) { u16 did_old = context_domain_id(context); if (did_old < cap_ndoms(iommu->cap)) { @@ -1979,6 +2007,8 @@ iommu->flush.flush_iotlb(iommu, did_old, 0, 0, DMA_TLB_DSI_FLUSH); } + + clear_context_copied(iommu, bus, devfn); } context_clear_entry(context); @@ -2451,6 +2481,7 @@ if (md_domain_init(si_domain, DEFAULT_DOMAIN_ADDRESS_WIDTH)) { domain_exit(si_domain); + si_domain = NULL; return -EFAULT; } @@ -2659,6 +2690,9 @@ if ((iommu_identity_mapping & IDENTMAP_GFX) && IS_GFX_DEVICE(pdev)) return IOMMU_DOMAIN_IDENTITY; + + if ((iommu_identity_mapping & IDENTMAP_IPU) && IS_INTEL_IPU(pdev)) + return IOMMU_DOMAIN_IDENTITY; } return 0; @@ -2761,32 +2795,14 @@ /* Now copy the context entry */ memcpy(&ce, old_ce + idx, sizeof(ce)); - if (!__context_present(&ce)) + if (!context_present(&ce)) continue; did = context_domain_id(&ce); if (did >= 0 && did < cap_ndoms(iommu->cap)) set_bit(did, iommu->domain_ids); - /* - * We need a marker for copied context entries. This - * marker needs to work for the old format as well as - * for extended context entries. - * - * Bit 67 of the context entry is used. In the old - * format this bit is available to software, in the - * extended format it is the PGE bit, but PGE is ignored - * by HW if PASIDs are disabled (and thus still - * available). - * - * So disable PASIDs first and then mark the entry - * copied. This means that we don't copy PASID - * translations from the old kernel, but this is fine as - * faults there are not fatal. - */ - context_clear_pasid_enable(&ce); - context_set_copied(&ce); - + set_context_copied(iommu, bus, devfn); new_ce[idx] = ce; } @@ -2813,8 +2829,8 @@ bool new_ext, ext; rtaddr_reg = dmar_readq(iommu->reg + DMAR_RTADDR_REG); - ext = !!(rtaddr_reg & DMA_RTADDR_RTT); - new_ext = !!ecap_ecs(iommu->ecap); + ext = !!(rtaddr_reg & DMA_RTADDR_SMT); + new_ext = !!sm_supported(iommu); /* * The RTT bit can only be changed when translation is disabled, @@ -2825,6 +2841,10 @@ if (new_ext != ext) return -EINVAL; + iommu->copied_tables = bitmap_zalloc(BIT_ULL(16), GFP_KERNEL); + if (!iommu->copied_tables) + return -ENOMEM; + old_rt_phys = rtaddr_reg & VTD_PAGE_MASK; if (!old_rt_phys) return -EINVAL; @@ -3095,6 +3115,9 @@ if (!dmar_map_gfx) iommu_identity_mapping |= IDENTMAP_GFX; + if (!dmar_map_ipu) + iommu_identity_mapping |= IDENTMAP_IPU; + check_tylersburg_isoch(); ret = si_domain_init(hw_pass_through); @@ -3146,6 +3169,10 @@ disable_dmar_iommu(iommu); free_dmar_iommu(iommu); } + if (si_domain) { + domain_exit(si_domain); + si_domain = NULL; + } kfree(g_iommus); @@ -3952,8 +3979,10 @@ struct pci_dev *pdev = NULL; for_each_pci_dev(pdev) - if (pdev->external_facing) + if (pdev->external_facing) { + pci_dev_put(pdev); return true; + } return false; } @@ -4118,7 +4147,8 @@ * is likely to be much lower than the overhead of synchronizing * the virtual and physical IOMMU page-tables. */ - if (cap_caching_mode(iommu->cap)) { + if (cap_caching_mode(iommu->cap) && + !first_level_by_default(IOMMU_DOMAIN_DMA)) { pr_info_once("IOMMU batching disallowed due to virtualization\n"); iommu_set_dma_strict(); } @@ -4444,7 +4474,12 @@ if (dmar_domain->max_addr == iova + size) dmar_domain->max_addr = iova; - iommu_iotlb_gather_add_page(domain, gather, iova, size); + /* + * We do not use page-selective IOTLB invalidation in flush queue, + * so there is no need to track page and sync iotlb. + */ + if (!iommu_iotlb_gather_queued(gather)) + iommu_iotlb_gather_add_page(domain, gather, iova, size); return size; } @@ -4782,8 +4817,12 @@ return -EINVAL; ret = iopf_queue_add_device(iommu->iopf_queue, dev); - if (!ret) - ret = iommu_register_device_fault_handler(dev, iommu_queue_iopf, dev); + if (ret) + return ret; + + ret = iommu_register_device_fault_handler(dev, iommu_queue_iopf, dev); + if (ret) + iopf_queue_remove_device(iommu->iopf_queue, dev); return ret; } @@ -4795,8 +4834,12 @@ int ret; ret = iommu_unregister_device_fault_handler(dev); - if (!ret) - ret = iopf_queue_remove_device(iommu->iopf_queue, dev); + if (ret) + return ret; + + ret = iopf_queue_remove_device(iommu->iopf_queue, dev); + if (ret) + iommu_register_device_fault_handler(dev, iommu_queue_iopf, dev); return ret; } @@ -4923,6 +4966,18 @@ dmar_map_gfx = 0; } +static void quirk_iommu_ipu(struct pci_dev *dev) +{ + if (!IS_INTEL_IPU(dev)) + return; + + if (risky_device(dev)) + return; + + pci_info(dev, "Passthrough IOMMU for integrated Intel IPU\n"); + dmar_map_ipu = 0; +} + /* G4x/GM45 integrated gfx dmar support is totally busted. */ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2a40, quirk_iommu_igfx); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x2e00, quirk_iommu_igfx); @@ -4958,6 +5013,9 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x163A, quirk_iommu_igfx); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x163D, quirk_iommu_igfx); +/* disable IPU dmar support */ +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_ANY_ID, quirk_iommu_ipu); + static void quirk_iommu_rwbf(struct pci_dev *dev) { if (risky_device(dev)) --- linux-gcp-5.19.0.orig/drivers/iommu/intel/pasid.c +++ linux-gcp-5.19.0/drivers/iommu/intel/pasid.c @@ -126,6 +126,9 @@ pasid_table->max_pasid = 1 << (order + PAGE_SHIFT + 3); info->pasid_table = pasid_table; + if (!ecap_coherent(info->iommu->ecap)) + clflush_cache_range(pasid_table->table, size); + return 0; } @@ -213,6 +216,10 @@ free_pgtable_page(entries); goto retry; } + if (!ecap_coherent(info->iommu->ecap)) { + clflush_cache_range(entries, VTD_PAGE_SIZE); + clflush_cache_range(&dir[dir_index].val, sizeof(*dir)); + } } return &entries[index]; @@ -363,6 +370,16 @@ } /* + * Setup No Execute Enable bit (Bit 133) of a scalable mode PASID + * entry. It is required when XD bit of the first level page table + * entry is about to be set. + */ +static inline void pasid_set_nxe(struct pasid_entry *pe) +{ + pasid_set_bits(&pe->val[2], 1 << 5, 1 << 5); +} + +/* * Setup the Page Snoop (PGSNP) field (Bit 88) of a scalable mode * PASID entry. */ @@ -568,6 +585,7 @@ pasid_set_domain_id(pte, did); pasid_set_address_width(pte, iommu->agaw); pasid_set_page_snoop(pte, !!ecap_smpwc(iommu->ecap)); + pasid_set_nxe(pte); /* Setup Present and PASID Granular Transfer Type: */ pasid_set_translation_type(pte, PASID_ENTRY_PGTT_FL_ONLY); @@ -651,7 +669,7 @@ * Since it is a second level only translation setup, we should * set SRE bit as well (addresses are expected to be GPAs). */ - if (pasid != PASID_RID2PASID) + if (pasid != PASID_RID2PASID && ecap_srs(iommu->ecap)) pasid_set_sre(pte); pasid_set_present(pte); pasid_flush_caches(iommu, pte, pasid, did); @@ -690,7 +708,8 @@ * We should set SRE bit as well since the addresses are expected * to be GPAs. */ - pasid_set_sre(pte); + if (ecap_srs(iommu->ecap)) + pasid_set_sre(pte); pasid_set_present(pte); pasid_flush_caches(iommu, pte, pasid, did); --- linux-gcp-5.19.0.orig/drivers/iommu/io-pgtable-arm-v7s.c +++ linux-gcp-5.19.0/drivers/iommu/io-pgtable-arm-v7s.c @@ -182,14 +182,8 @@ (cfg->quirks & IO_PGTABLE_QUIRK_ARM_MTK_EXT); } -static arm_v7s_iopte paddr_to_iopte(phys_addr_t paddr, int lvl, - struct io_pgtable_cfg *cfg) +static arm_v7s_iopte to_mtk_iopte(phys_addr_t paddr, arm_v7s_iopte pte) { - arm_v7s_iopte pte = paddr & ARM_V7S_LVL_MASK(lvl); - - if (!arm_v7s_is_mtk_enabled(cfg)) - return pte; - if (paddr & BIT_ULL(32)) pte |= ARM_V7S_ATTR_MTK_PA_BIT32; if (paddr & BIT_ULL(33)) @@ -199,6 +193,17 @@ return pte; } +static arm_v7s_iopte paddr_to_iopte(phys_addr_t paddr, int lvl, + struct io_pgtable_cfg *cfg) +{ + arm_v7s_iopte pte = paddr & ARM_V7S_LVL_MASK(lvl); + + if (arm_v7s_is_mtk_enabled(cfg)) + return to_mtk_iopte(paddr, pte); + + return pte; +} + static phys_addr_t iopte_to_paddr(arm_v7s_iopte pte, int lvl, struct io_pgtable_cfg *cfg) { @@ -240,10 +245,17 @@ dma_addr_t dma; size_t size = ARM_V7S_TABLE_SIZE(lvl, cfg); void *table = NULL; + gfp_t gfp_l1; + + /* + * ARM_MTK_TTBR_EXT extend the translation table base support larger + * memory address. + */ + gfp_l1 = cfg->quirks & IO_PGTABLE_QUIRK_ARM_MTK_TTBR_EXT ? + GFP_KERNEL : ARM_V7S_TABLE_GFP_DMA; if (lvl == 1) - table = (void *)__get_free_pages( - __GFP_ZERO | ARM_V7S_TABLE_GFP_DMA, get_order(size)); + table = (void *)__get_free_pages(gfp_l1 | __GFP_ZERO, get_order(size)); else if (lvl == 2) table = kmem_cache_zalloc(data->l2_tables, gfp); @@ -251,7 +263,8 @@ return NULL; phys = virt_to_phys(table); - if (phys != (arm_v7s_iopte)phys) { + if (cfg->quirks & IO_PGTABLE_QUIRK_ARM_MTK_TTBR_EXT ? + phys >= (1ULL << cfg->oas) : phys != (arm_v7s_iopte)phys) { /* Doesn't fit in PTE */ dev_err(dev, "Page table does not fit in PTE: %pa", &phys); goto out_free; @@ -457,9 +470,14 @@ arm_v7s_iopte curr, struct io_pgtable_cfg *cfg) { + phys_addr_t phys = virt_to_phys(table); arm_v7s_iopte old, new; - new = virt_to_phys(table) | ARM_V7S_PTE_TYPE_TABLE; + new = phys | ARM_V7S_PTE_TYPE_TABLE; + + if (cfg->quirks & IO_PGTABLE_QUIRK_ARM_MTK_TTBR_EXT) + new = to_mtk_iopte(phys, new); + if (cfg->quirks & IO_PGTABLE_QUIRK_ARM_NS) new |= ARM_V7S_ATTR_NS_TABLE; @@ -779,6 +797,8 @@ void *cookie) { struct arm_v7s_io_pgtable *data; + slab_flags_t slab_flag; + phys_addr_t paddr; if (cfg->ias > (arm_v7s_is_mtk_enabled(cfg) ? 34 : ARM_V7S_ADDR_BITS)) return NULL; @@ -788,7 +808,8 @@ if (cfg->quirks & ~(IO_PGTABLE_QUIRK_ARM_NS | IO_PGTABLE_QUIRK_NO_PERMS | - IO_PGTABLE_QUIRK_ARM_MTK_EXT)) + IO_PGTABLE_QUIRK_ARM_MTK_EXT | + IO_PGTABLE_QUIRK_ARM_MTK_TTBR_EXT)) return NULL; /* If ARM_MTK_4GB is enabled, the NO_PERMS is also expected. */ @@ -796,15 +817,27 @@ !(cfg->quirks & IO_PGTABLE_QUIRK_NO_PERMS)) return NULL; + if ((cfg->quirks & IO_PGTABLE_QUIRK_ARM_MTK_TTBR_EXT) && + !arm_v7s_is_mtk_enabled(cfg)) + return NULL; + data = kmalloc(sizeof(*data), GFP_KERNEL); if (!data) return NULL; spin_lock_init(&data->split_lock); + + /* + * ARM_MTK_TTBR_EXT extend the translation table base support larger + * memory address. + */ + slab_flag = cfg->quirks & IO_PGTABLE_QUIRK_ARM_MTK_TTBR_EXT ? + 0 : ARM_V7S_TABLE_SLAB_FLAGS; + data->l2_tables = kmem_cache_create("io-pgtable_armv7s_l2", ARM_V7S_TABLE_SIZE(2, cfg), ARM_V7S_TABLE_SIZE(2, cfg), - ARM_V7S_TABLE_SLAB_FLAGS, NULL); + slab_flag, NULL); if (!data->l2_tables) goto out_free_data; @@ -850,12 +883,16 @@ wmb(); /* TTBR */ - cfg->arm_v7s_cfg.ttbr = virt_to_phys(data->pgd) | ARM_V7S_TTBR_S | - (cfg->coherent_walk ? (ARM_V7S_TTBR_NOS | - ARM_V7S_TTBR_IRGN_ATTR(ARM_V7S_RGN_WBWA) | - ARM_V7S_TTBR_ORGN_ATTR(ARM_V7S_RGN_WBWA)) : - (ARM_V7S_TTBR_IRGN_ATTR(ARM_V7S_RGN_NC) | - ARM_V7S_TTBR_ORGN_ATTR(ARM_V7S_RGN_NC))); + paddr = virt_to_phys(data->pgd); + if (arm_v7s_is_mtk_enabled(cfg)) + cfg->arm_v7s_cfg.ttbr = paddr | upper_32_bits(paddr); + else + cfg->arm_v7s_cfg.ttbr = paddr | ARM_V7S_TTBR_S | + (cfg->coherent_walk ? (ARM_V7S_TTBR_NOS | + ARM_V7S_TTBR_IRGN_ATTR(ARM_V7S_RGN_WBWA) | + ARM_V7S_TTBR_ORGN_ATTR(ARM_V7S_RGN_WBWA)) : + (ARM_V7S_TTBR_IRGN_ATTR(ARM_V7S_RGN_NC) | + ARM_V7S_TTBR_ORGN_ATTR(ARM_V7S_RGN_NC))); return &data->iop; out_free_data: --- linux-gcp-5.19.0.orig/drivers/iommu/iommu.c +++ linux-gcp-5.19.0/drivers/iommu/iommu.c @@ -671,12 +671,16 @@ ret = iommu_group_create_file(group, &iommu_group_attr_reserved_regions); - if (ret) + if (ret) { + kobject_put(group->devices_kobj); return ERR_PTR(ret); + } ret = iommu_group_create_file(group, &iommu_group_attr_type); - if (ret) + if (ret) { + kobject_put(group->devices_kobj); return ERR_PTR(ret); + } pr_debug("Allocated group %d\n", group->id); @@ -3089,6 +3093,24 @@ return ret; } +static bool iommu_is_default_domain(struct iommu_group *group) +{ + if (group->domain == group->default_domain) + return true; + + /* + * If the default domain was set to identity and it is still an identity + * domain then we consider this a pass. This happens because of + * amd_iommu_init_device() replacing the default idenytity domain with an + * identity domain that has a different configuration for AMDGPU. + */ + if (group->default_domain && + group->default_domain->type == IOMMU_DOMAIN_IDENTITY && + group->domain && group->domain->type == IOMMU_DOMAIN_IDENTITY) + return true; + return false; +} + /** * iommu_device_use_default_domain() - Device driver wants to handle device * DMA through the kernel DMA API. @@ -3107,8 +3129,7 @@ mutex_lock(&group->mutex); if (group->owner_cnt) { - if (group->domain != group->default_domain || - group->owner) { + if (group->owner || !iommu_is_default_domain(group)) { ret = -EBUSY; goto unlock_out; } --- linux-gcp-5.19.0.orig/drivers/iommu/iova.c +++ linux-gcp-5.19.0/drivers/iommu/iova.c @@ -192,7 +192,7 @@ curr = __get_cached_rbnode(iovad, limit_pfn); curr_iova = to_iova(curr); - retry_pfn = curr_iova->pfn_hi + 1; + retry_pfn = curr_iova->pfn_hi; retry: do { @@ -206,7 +206,7 @@ if (high_pfn < size || new_pfn < low_pfn) { if (low_pfn == iovad->start_pfn && retry_pfn < limit_pfn) { high_pfn = limit_pfn; - low_pfn = retry_pfn; + low_pfn = retry_pfn + 1; curr = iova_find_limit(iovad, limit_pfn); curr_iova = to_iova(curr); goto retry; --- linux-gcp-5.19.0.orig/drivers/iommu/mtk_iommu.c +++ linux-gcp-5.19.0/drivers/iommu/mtk_iommu.c @@ -1045,20 +1045,24 @@ struct mtk_iommu_data *data) { struct device_node *larbnode, *smicomm_node, *smi_subcomm_node; - struct platform_device *plarbdev; + struct platform_device *plarbdev, *pcommdev; struct device_link *link; int i, larb_nr, ret; larb_nr = of_count_phandle_with_args(dev->of_node, "mediatek,larbs", NULL); if (larb_nr < 0) return larb_nr; + if (larb_nr == 0 || larb_nr > MTK_LARB_NR_MAX) + return -EINVAL; for (i = 0; i < larb_nr; i++) { u32 id; larbnode = of_parse_phandle(dev->of_node, "mediatek,larbs", i); - if (!larbnode) - return -EINVAL; + if (!larbnode) { + ret = -EINVAL; + goto err_larbdev_put; + } if (!of_device_is_available(larbnode)) { of_node_put(larbnode); @@ -1068,20 +1072,32 @@ ret = of_property_read_u32(larbnode, "mediatek,larb-id", &id); if (ret)/* The id is consecutive if there is no this property */ id = i; + if (id >= MTK_LARB_NR_MAX) { + of_node_put(larbnode); + ret = -EINVAL; + goto err_larbdev_put; + } plarbdev = of_find_device_by_node(larbnode); + of_node_put(larbnode); if (!plarbdev) { - of_node_put(larbnode); - return -ENODEV; + ret = -ENODEV; + goto err_larbdev_put; } - if (!plarbdev->dev.driver) { - of_node_put(larbnode); - return -EPROBE_DEFER; + if (data->larb_imu[id].dev) { + platform_device_put(plarbdev); + ret = -EEXIST; + goto err_larbdev_put; } data->larb_imu[id].dev = &plarbdev->dev; - component_match_add_release(dev, match, component_release_of, - component_compare_of, larbnode); + if (!plarbdev->dev.driver) { + ret = -EPROBE_DEFER; + goto err_larbdev_put; + } + + component_match_add(dev, match, component_compare_dev, &plarbdev->dev); + platform_device_put(plarbdev); } /* Get smi-(sub)-common dev from the last larb. */ @@ -1099,17 +1115,29 @@ else smicomm_node = smi_subcomm_node; - plarbdev = of_find_device_by_node(smicomm_node); + pcommdev = of_find_device_by_node(smicomm_node); of_node_put(smicomm_node); - data->smicomm_dev = &plarbdev->dev; + if (!pcommdev) + return -ENODEV; + data->smicomm_dev = &pcommdev->dev; link = device_link_add(data->smicomm_dev, dev, DL_FLAG_STATELESS | DL_FLAG_PM_RUNTIME); + platform_device_put(pcommdev); if (!link) { dev_err(dev, "Unable to link %s.\n", dev_name(data->smicomm_dev)); return -EINVAL; } return 0; + +err_larbdev_put: + /* id may be not linear mapping, loop whole the array */ + for (i = MTK_LARB_NR_MAX - 1; i >= 0; i++) { + if (!data->larb_imu[i].dev) + continue; + put_device(data->larb_imu[i].dev); + } + return ret; } static int mtk_iommu_probe(struct platform_device *pdev) @@ -1164,6 +1192,8 @@ banks_num = data->plat_data->banks_num; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!res) + return -EINVAL; if (resource_size(res) < banks_num * MTK_IOMMU_BANK_SZ) { dev_err(dev, "banknr %d. res %pR is not enough.\n", banks_num, res); return -EINVAL; --- linux-gcp-5.19.0.orig/drivers/iommu/mtk_iommu_v1.c +++ linux-gcp-5.19.0/drivers/iommu/mtk_iommu_v1.c @@ -690,7 +690,7 @@ ret = iommu_device_sysfs_add(&data->iommu, &pdev->dev, NULL, dev_name(&pdev->dev)); if (ret) - return ret; + goto out_clk_unprepare; ret = iommu_device_register(&data->iommu, &mtk_iommu_v1_ops, dev); if (ret) @@ -713,6 +713,8 @@ iommu_device_unregister(&data->iommu); out_sysfs_remove: iommu_device_sysfs_remove(&data->iommu); +out_clk_unprepare: + clk_disable_unprepare(data->bclk); return ret; } --- linux-gcp-5.19.0.orig/drivers/iommu/omap-iommu-debug.c +++ linux-gcp-5.19.0/drivers/iommu/omap-iommu-debug.c @@ -32,12 +32,12 @@ ssize_t bytes; \ const char *str = "%20s: %08x\n"; \ const int maxcol = 32; \ - bytes = snprintf(p, maxcol, str, __stringify(name), \ + if (len < maxcol) \ + goto out; \ + bytes = scnprintf(p, maxcol, str, __stringify(name), \ iommu_read_reg(obj, MMU_##name)); \ p += bytes; \ len -= bytes; \ - if (len < maxcol) \ - goto out; \ } while (0) static ssize_t --- linux-gcp-5.19.0.orig/drivers/iommu/rockchip-iommu.c +++ linux-gcp-5.19.0/drivers/iommu/rockchip-iommu.c @@ -280,19 +280,17 @@ * 11:9 - Page address bit 34:32 * 8:4 - Page address bit 39:35 * 3 - Security - * 2 - Readable - * 1 - Writable + * 2 - Writable + * 1 - Readable * 0 - 1 if Page @ Page address is valid */ -#define RK_PTE_PAGE_READABLE_V2 BIT(2) -#define RK_PTE_PAGE_WRITABLE_V2 BIT(1) static u32 rk_mk_pte_v2(phys_addr_t page, int prot) { u32 flags = 0; - flags |= (prot & IOMMU_READ) ? RK_PTE_PAGE_READABLE_V2 : 0; - flags |= (prot & IOMMU_WRITE) ? RK_PTE_PAGE_WRITABLE_V2 : 0; + flags |= (prot & IOMMU_READ) ? RK_PTE_PAGE_READABLE : 0; + flags |= (prot & IOMMU_WRITE) ? RK_PTE_PAGE_WRITABLE : 0; return rk_mk_dte_v2(page) | flags; } --- linux-gcp-5.19.0.orig/drivers/iommu/s390-iommu.c +++ linux-gcp-5.19.0/drivers/iommu/s390-iommu.c @@ -79,10 +79,36 @@ { struct s390_domain *s390_domain = to_s390_domain(domain); + WARN_ON(!list_empty(&s390_domain->devices)); dma_cleanup_tables(s390_domain->dma_table); kfree(s390_domain); } +static void __s390_iommu_detach_device(struct zpci_dev *zdev) +{ + struct s390_domain *s390_domain = zdev->s390_domain; + struct s390_domain_device *domain_device, *tmp; + unsigned long flags; + + if (!s390_domain) + return; + + spin_lock_irqsave(&s390_domain->list_lock, flags); + list_for_each_entry_safe(domain_device, tmp, &s390_domain->devices, + list) { + if (domain_device->zdev == zdev) { + list_del(&domain_device->list); + kfree(domain_device); + break; + } + } + spin_unlock_irqrestore(&s390_domain->list_lock, flags); + + zpci_unregister_ioat(zdev, 0); + zdev->s390_domain = NULL; + zdev->dma_table = NULL; +} + static int s390_iommu_attach_device(struct iommu_domain *domain, struct device *dev) { @@ -90,7 +116,7 @@ struct zpci_dev *zdev = to_zpci_dev(dev); struct s390_domain_device *domain_device; unsigned long flags; - int cc, rc; + int cc, rc = 0; if (!zdev) return -ENODEV; @@ -99,24 +125,18 @@ if (!domain_device) return -ENOMEM; - if (zdev->dma_table && !zdev->s390_domain) { - cc = zpci_dma_exit_device(zdev); - if (cc) { - rc = -EIO; - goto out_free; - } - } - if (zdev->s390_domain) - zpci_unregister_ioat(zdev, 0); + __s390_iommu_detach_device(zdev); + else if (zdev->dma_table) + zpci_dma_exit_device(zdev); - zdev->dma_table = s390_domain->dma_table; cc = zpci_register_ioat(zdev, 0, zdev->start_dma, zdev->end_dma, - virt_to_phys(zdev->dma_table)); + virt_to_phys(s390_domain->dma_table)); if (cc) { rc = -EIO; - goto out_restore; + goto out_free; } + zdev->dma_table = s390_domain->dma_table; spin_lock_irqsave(&s390_domain->list_lock, flags); /* First device defines the DMA range limits */ @@ -127,9 +147,9 @@ /* Allow only devices with identical DMA range limits */ } else if (domain->geometry.aperture_start != zdev->start_dma || domain->geometry.aperture_end != zdev->end_dma) { - rc = -EINVAL; spin_unlock_irqrestore(&s390_domain->list_lock, flags); - goto out_restore; + rc = -EINVAL; + goto out_unregister; } domain_device->zdev = zdev; zdev->s390_domain = s390_domain; @@ -138,14 +158,9 @@ return 0; -out_restore: - if (!zdev->s390_domain) { - zpci_dma_init_device(zdev); - } else { - zdev->dma_table = zdev->s390_domain->dma_table; - zpci_register_ioat(zdev, 0, zdev->start_dma, zdev->end_dma, - virt_to_phys(zdev->dma_table)); - } +out_unregister: + zpci_unregister_ioat(zdev, 0); + zdev->dma_table = NULL; out_free: kfree(domain_device); @@ -155,32 +170,12 @@ static void s390_iommu_detach_device(struct iommu_domain *domain, struct device *dev) { - struct s390_domain *s390_domain = to_s390_domain(domain); struct zpci_dev *zdev = to_zpci_dev(dev); - struct s390_domain_device *domain_device, *tmp; - unsigned long flags; - int found = 0; - if (!zdev) - return; - - spin_lock_irqsave(&s390_domain->list_lock, flags); - list_for_each_entry_safe(domain_device, tmp, &s390_domain->devices, - list) { - if (domain_device->zdev == zdev) { - list_del(&domain_device->list); - kfree(domain_device); - found = 1; - break; - } - } - spin_unlock_irqrestore(&s390_domain->list_lock, flags); + WARN_ON(zdev->s390_domain != to_s390_domain(domain)); - if (found && (zdev->s390_domain == s390_domain)) { - zdev->s390_domain = NULL; - zpci_unregister_ioat(zdev, 0); - zpci_dma_init_device(zdev); - } + __s390_iommu_detach_device(zdev); + zpci_dma_init_device(zdev); } static struct iommu_device *s390_iommu_probe_device(struct device *dev) @@ -193,24 +188,13 @@ static void s390_iommu_release_device(struct device *dev) { struct zpci_dev *zdev = to_zpci_dev(dev); - struct iommu_domain *domain; /* - * This is a workaround for a scenario where the IOMMU API common code - * "forgets" to call the detach_dev callback: After binding a device - * to vfio-pci and completing the VFIO_SET_IOMMU ioctl (which triggers - * the attach_dev), removing the device via - * "echo 1 > /sys/bus/pci/devices/.../remove" won't trigger detach_dev, - * only release_device will be called via the BUS_NOTIFY_REMOVED_DEVICE - * notifier. - * - * So let's call detach_dev from here if it hasn't been called before. + * release_device is expected to detach any domain currently attached + * to the device, but keep it attached to other devices in the group. */ - if (zdev && zdev->s390_domain) { - domain = iommu_get_domain_for_dev(dev); - if (domain) - s390_iommu_detach_device(domain, dev); - } + if (zdev) + __s390_iommu_detach_device(zdev); } static int s390_iommu_update_trans(struct s390_domain *s390_domain, --- linux-gcp-5.19.0.orig/drivers/iommu/sun50i-iommu.c +++ linux-gcp-5.19.0/drivers/iommu/sun50i-iommu.c @@ -27,6 +27,7 @@ #include #define IOMMU_RESET_REG 0x010 +#define IOMMU_RESET_RELEASE_ALL 0xffffffff #define IOMMU_ENABLE_REG 0x020 #define IOMMU_ENABLE_ENABLE BIT(0) @@ -92,6 +93,8 @@ #define NUM_PT_ENTRIES 256 #define PT_SIZE (NUM_PT_ENTRIES * PT_ENTRY_SIZE) +#define SPAGE_SIZE 4096 + struct sun50i_iommu { struct iommu_device iommu; @@ -270,7 +273,7 @@ enum sun50i_iommu_aci aci; u32 flags = 0; - if (prot & (IOMMU_READ | IOMMU_WRITE)) + if ((prot & (IOMMU_READ | IOMMU_WRITE)) == (IOMMU_READ | IOMMU_WRITE)) aci = SUN50I_IOMMU_ACI_RD_WR; else if (prot & IOMMU_READ) aci = SUN50I_IOMMU_ACI_RD; @@ -294,6 +297,62 @@ dma_sync_single_for_device(iommu->dev, dma, size, DMA_TO_DEVICE); } +static void sun50i_iommu_zap_iova(struct sun50i_iommu *iommu, + unsigned long iova) +{ + u32 reg; + int ret; + + iommu_write(iommu, IOMMU_TLB_IVLD_ADDR_REG, iova); + iommu_write(iommu, IOMMU_TLB_IVLD_ADDR_MASK_REG, GENMASK(31, 12)); + iommu_write(iommu, IOMMU_TLB_IVLD_ENABLE_REG, + IOMMU_TLB_IVLD_ENABLE_ENABLE); + + ret = readl_poll_timeout_atomic(iommu->base + IOMMU_TLB_IVLD_ENABLE_REG, + reg, !reg, 1, 2000); + if (ret) + dev_warn(iommu->dev, "TLB invalidation timed out!\n"); +} + +static void sun50i_iommu_zap_ptw_cache(struct sun50i_iommu *iommu, + unsigned long iova) +{ + u32 reg; + int ret; + + iommu_write(iommu, IOMMU_PC_IVLD_ADDR_REG, iova); + iommu_write(iommu, IOMMU_PC_IVLD_ENABLE_REG, + IOMMU_PC_IVLD_ENABLE_ENABLE); + + ret = readl_poll_timeout_atomic(iommu->base + IOMMU_PC_IVLD_ENABLE_REG, + reg, !reg, 1, 2000); + if (ret) + dev_warn(iommu->dev, "PTW cache invalidation timed out!\n"); +} + +static void sun50i_iommu_zap_range(struct sun50i_iommu *iommu, + unsigned long iova, size_t size) +{ + assert_spin_locked(&iommu->iommu_lock); + + iommu_write(iommu, IOMMU_AUTO_GATING_REG, 0); + + sun50i_iommu_zap_iova(iommu, iova); + sun50i_iommu_zap_iova(iommu, iova + SPAGE_SIZE); + if (size > SPAGE_SIZE) { + sun50i_iommu_zap_iova(iommu, iova + size); + sun50i_iommu_zap_iova(iommu, iova + size + SPAGE_SIZE); + } + sun50i_iommu_zap_ptw_cache(iommu, iova); + sun50i_iommu_zap_ptw_cache(iommu, iova + SZ_1M); + if (size > SZ_1M) { + sun50i_iommu_zap_ptw_cache(iommu, iova + size); + sun50i_iommu_zap_ptw_cache(iommu, iova + size + SZ_1M); + } + + iommu_write(iommu, IOMMU_AUTO_GATING_REG, IOMMU_AUTO_GATING_ENABLE); +} + static int sun50i_iommu_flush_all_tlb(struct sun50i_iommu *iommu) { u32 reg; @@ -343,6 +402,18 @@ spin_unlock_irqrestore(&iommu->iommu_lock, flags); } +static void sun50i_iommu_iotlb_sync_map(struct iommu_domain *domain, + unsigned long iova, size_t size) +{ + struct sun50i_iommu_domain *sun50i_domain = to_sun50i_domain(domain); + struct sun50i_iommu *iommu = sun50i_domain->iommu; + unsigned long flags; + + spin_lock_irqsave(&iommu->iommu_lock, flags); + sun50i_iommu_zap_range(iommu, iova, size); + spin_unlock_irqrestore(&iommu->iommu_lock, flags); +} + static void sun50i_iommu_iotlb_sync(struct iommu_domain *domain, struct iommu_iotlb_gather *gather) { @@ -511,7 +582,7 @@ sun50i_iommu_free_page_table(iommu, drop_pt); } - sun50i_table_flush(sun50i_domain, page_table, PT_SIZE); + sun50i_table_flush(sun50i_domain, page_table, NUM_PT_ENTRIES); sun50i_table_flush(sun50i_domain, dte_addr, 1); return page_table; @@ -601,7 +672,6 @@ struct sun50i_iommu_domain *sun50i_domain; if (type != IOMMU_DOMAIN_DMA && - type != IOMMU_DOMAIN_IDENTITY && type != IOMMU_DOMAIN_UNMANAGED) return NULL; @@ -769,6 +839,7 @@ .attach_dev = sun50i_iommu_attach_device, .detach_dev = sun50i_iommu_detach_device, .flush_iotlb_all = sun50i_iommu_flush_iotlb_all, + .iotlb_sync_map = sun50i_iommu_iotlb_sync_map, .iotlb_sync = sun50i_iommu_iotlb_sync, .iova_to_phys = sun50i_iommu_iova_to_phys, .map = sun50i_iommu_map, @@ -788,6 +859,8 @@ report_iommu_fault(iommu->domain, iommu->dev, iova, prot); else dev_err(iommu->dev, "Page fault while iommu not attached to any domain?\n"); + + sun50i_iommu_zap_range(iommu, iova, SPAGE_SIZE); } static phys_addr_t sun50i_iommu_handle_pt_irq(struct sun50i_iommu *iommu, @@ -871,8 +944,8 @@ static irqreturn_t sun50i_iommu_irq(int irq, void *dev_id) { + u32 status, l1_status, l2_status, resets; struct sun50i_iommu *iommu = dev_id; - u32 status; spin_lock(&iommu->iommu_lock); @@ -882,6 +955,9 @@ return IRQ_NONE; } + l1_status = iommu_read(iommu, IOMMU_L1PG_INT_REG); + l2_status = iommu_read(iommu, IOMMU_L2PG_INT_REG); + if (status & IOMMU_INT_INVALID_L2PG) sun50i_iommu_handle_pt_irq(iommu, IOMMU_INT_ERR_ADDR_L2_REG, @@ -895,8 +971,9 @@ iommu_write(iommu, IOMMU_INT_CLR_REG, status); - iommu_write(iommu, IOMMU_RESET_REG, ~status); - iommu_write(iommu, IOMMU_RESET_REG, status); + resets = (status | l1_status | l2_status) & IOMMU_INT_MASTER_MASK; + iommu_write(iommu, IOMMU_RESET_REG, ~resets); + iommu_write(iommu, IOMMU_RESET_REG, IOMMU_RESET_RELEASE_ALL); spin_unlock(&iommu->iommu_lock); --- linux-gcp-5.19.0.orig/drivers/iommu/virtio-iommu.c +++ linux-gcp-5.19.0/drivers/iommu/virtio-iommu.c @@ -1006,7 +1006,18 @@ return iommu_fwspec_add_ids(dev, args->args, 1); } +static bool viommu_capable(enum iommu_cap cap) +{ + switch (cap) { + case IOMMU_CAP_CACHE_COHERENCY: + return true; + default: + return false; + } +} + static struct iommu_ops viommu_ops = { + .capable = viommu_capable, .domain_alloc = viommu_domain_alloc, .probe_device = viommu_probe_device, .probe_finalize = viommu_probe_finalize, --- linux-gcp-5.19.0.orig/drivers/irqchip/Kconfig +++ linux-gcp-5.19.0/drivers/irqchip/Kconfig @@ -177,7 +177,7 @@ config IRQ_MIPS_CPU bool select GENERIC_IRQ_CHIP - select GENERIC_IRQ_IPI if SYS_SUPPORTS_MULTITHREADING + select GENERIC_IRQ_IPI if SMP && SYS_SUPPORTS_MULTITHREADING select IRQ_DOMAIN select GENERIC_IRQ_EFFECTIVE_AFF_MASK @@ -322,7 +322,8 @@ config MIPS_GIC bool - select GENERIC_IRQ_IPI + select GENERIC_IRQ_IPI if SMP + select IRQ_DOMAIN_HIERARCHY select MIPS_CM config INGENIC_IRQ --- linux-gcp-5.19.0.orig/drivers/irqchip/irq-alpine-msi.c +++ linux-gcp-5.19.0/drivers/irqchip/irq-alpine-msi.c @@ -199,6 +199,7 @@ } gic_domain = irq_find_host(gic_node); + of_node_put(gic_node); if (!gic_domain) { pr_err("Failed to find the GIC domain\n"); return -ENXIO; --- linux-gcp-5.19.0.orig/drivers/irqchip/irq-bcm7120-l2.c +++ linux-gcp-5.19.0/drivers/irqchip/irq-bcm7120-l2.c @@ -279,7 +279,8 @@ flags |= IRQ_GC_BE_IO; ret = irq_alloc_domain_generic_chips(data->domain, IRQS_PER_WORD, 1, - dn->full_name, handle_level_irq, clr, 0, flags); + dn->full_name, handle_level_irq, clr, + IRQ_LEVEL, flags); if (ret) { pr_err("failed to allocate generic irq chip\n"); goto out_free_domain; --- linux-gcp-5.19.0.orig/drivers/irqchip/irq-brcmstb-l2.c +++ linux-gcp-5.19.0/drivers/irqchip/irq-brcmstb-l2.c @@ -161,6 +161,7 @@ *init_params) { unsigned int clr = IRQ_NOREQUEST | IRQ_NOPROBE | IRQ_NOAUTOEN; + unsigned int set = 0; struct brcmstb_l2_intc_data *data; struct irq_chip_type *ct; int ret; @@ -208,9 +209,12 @@ if (IS_ENABLED(CONFIG_MIPS) && IS_ENABLED(CONFIG_CPU_BIG_ENDIAN)) flags |= IRQ_GC_BE_IO; + if (init_params->handler == handle_level_irq) + set |= IRQ_LEVEL; + /* Allocate a single Generic IRQ chip for this node */ ret = irq_alloc_domain_generic_chips(data->domain, 32, 1, - np->full_name, init_params->handler, clr, 0, flags); + np->full_name, init_params->handler, clr, set, flags); if (ret) { pr_err("failed to allocate generic irq chip\n"); goto out_free_domain; --- linux-gcp-5.19.0.orig/drivers/irqchip/irq-gic-pm.c +++ linux-gcp-5.19.0/drivers/irqchip/irq-gic-pm.c @@ -102,7 +102,7 @@ pm_runtime_enable(dev); - ret = pm_runtime_get_sync(dev); + ret = pm_runtime_resume_and_get(dev); if (ret < 0) goto rpm_disable; --- linux-gcp-5.19.0.orig/drivers/irqchip/irq-mips-gic.c +++ linux-gcp-5.19.0/drivers/irqchip/irq-mips-gic.c @@ -52,13 +52,15 @@ static DEFINE_SPINLOCK(gic_lock); static struct irq_domain *gic_irq_domain; -static struct irq_domain *gic_ipi_domain; static int gic_shared_intrs; static unsigned int gic_cpu_pin; static unsigned int timer_cpu_pin; static struct irq_chip gic_level_irq_controller, gic_edge_irq_controller; + +#ifdef CONFIG_GENERIC_IRQ_IPI static DECLARE_BITMAP(ipi_resrv, GIC_MAX_INTRS); static DECLARE_BITMAP(ipi_available, GIC_MAX_INTRS); +#endif /* CONFIG_GENERIC_IRQ_IPI */ static struct gic_all_vpes_chip_data { u32 map; @@ -472,9 +474,11 @@ u32 map; if (hwirq >= GIC_SHARED_HWIRQ_BASE) { +#ifdef CONFIG_GENERIC_IRQ_IPI /* verify that shared irqs don't conflict with an IPI irq */ if (test_bit(GIC_HWIRQ_TO_SHARED(hwirq), ipi_resrv)) return -EBUSY; +#endif /* CONFIG_GENERIC_IRQ_IPI */ err = irq_domain_set_hwirq_and_chip(d, virq, hwirq, &gic_level_irq_controller, @@ -567,6 +571,8 @@ .map = gic_irq_domain_map, }; +#ifdef CONFIG_GENERIC_IRQ_IPI + static int gic_ipi_domain_xlate(struct irq_domain *d, struct device_node *ctrlr, const u32 *intspec, unsigned int intsize, irq_hw_number_t *out_hwirq, @@ -670,6 +676,48 @@ .match = gic_ipi_domain_match, }; +static int gic_register_ipi_domain(struct device_node *node) +{ + struct irq_domain *gic_ipi_domain; + unsigned int v[2], num_ipis; + + gic_ipi_domain = irq_domain_add_hierarchy(gic_irq_domain, + IRQ_DOMAIN_FLAG_IPI_PER_CPU, + GIC_NUM_LOCAL_INTRS + gic_shared_intrs, + node, &gic_ipi_domain_ops, NULL); + if (!gic_ipi_domain) { + pr_err("Failed to add IPI domain"); + return -ENXIO; + } + + irq_domain_update_bus_token(gic_ipi_domain, DOMAIN_BUS_IPI); + + if (node && + !of_property_read_u32_array(node, "mti,reserved-ipi-vectors", v, 2)) { + bitmap_set(ipi_resrv, v[0], v[1]); + } else { + /* + * Reserve 2 interrupts per possible CPU/VP for use as IPIs, + * meeting the requirements of arch/mips SMP. + */ + num_ipis = 2 * num_possible_cpus(); + bitmap_set(ipi_resrv, gic_shared_intrs - num_ipis, num_ipis); + } + + bitmap_copy(ipi_available, ipi_resrv, GIC_MAX_INTRS); + + return 0; +} + +#else /* !CONFIG_GENERIC_IRQ_IPI */ + +static inline int gic_register_ipi_domain(struct device_node *node) +{ + return 0; +} + +#endif /* !CONFIG_GENERIC_IRQ_IPI */ + static int gic_cpu_startup(unsigned int cpu) { /* Enable or disable EIC */ @@ -688,11 +736,12 @@ static int __init gic_of_init(struct device_node *node, struct device_node *parent) { - unsigned int cpu_vec, i, gicconfig, v[2], num_ipis; + unsigned int cpu_vec, i, gicconfig; unsigned long reserved; phys_addr_t gic_base; struct resource res; size_t gic_len; + int ret; /* Find the first available CPU vector. */ i = 0; @@ -734,6 +783,10 @@ } mips_gic_base = ioremap(gic_base, gic_len); + if (!mips_gic_base) { + pr_err("Failed to ioremap gic_base\n"); + return -ENOMEM; + } gicconfig = read_gic_config(); gic_shared_intrs = FIELD_GET(GIC_CONFIG_NUMINTERRUPTS, gicconfig); @@ -780,30 +833,9 @@ return -ENXIO; } - gic_ipi_domain = irq_domain_add_hierarchy(gic_irq_domain, - IRQ_DOMAIN_FLAG_IPI_PER_CPU, - GIC_NUM_LOCAL_INTRS + gic_shared_intrs, - node, &gic_ipi_domain_ops, NULL); - if (!gic_ipi_domain) { - pr_err("Failed to add IPI domain"); - return -ENXIO; - } - - irq_domain_update_bus_token(gic_ipi_domain, DOMAIN_BUS_IPI); - - if (node && - !of_property_read_u32_array(node, "mti,reserved-ipi-vectors", v, 2)) { - bitmap_set(ipi_resrv, v[0], v[1]); - } else { - /* - * Reserve 2 interrupts per possible CPU/VP for use as IPIs, - * meeting the requirements of arch/mips SMP. - */ - num_ipis = 2 * num_possible_cpus(); - bitmap_set(ipi_resrv, gic_shared_intrs - num_ipis, num_ipis); - } - - bitmap_copy(ipi_available, ipi_resrv, GIC_MAX_INTRS); + ret = gic_register_ipi_domain(node); + if (ret) + return ret; board_bind_eic_interrupt = &gic_bind_eic_interrupt; --- linux-gcp-5.19.0.orig/drivers/irqchip/irq-mvebu-gicp.c +++ linux-gcp-5.19.0/drivers/irqchip/irq-mvebu-gicp.c @@ -221,6 +221,7 @@ } parent_domain = irq_find_host(irq_parent_dn); + of_node_put(irq_parent_dn); if (!parent_domain) { dev_err(&pdev->dev, "failed to find parent IRQ domain\n"); return -ENODEV; --- linux-gcp-5.19.0.orig/drivers/irqchip/irq-tegra.c +++ linux-gcp-5.19.0/drivers/irqchip/irq-tegra.c @@ -148,10 +148,10 @@ lic->cop_iep[i] = readl_relaxed(ictlr + ICTLR_COP_IEP_CLASS); /* Disable COP interrupts */ - writel_relaxed(~0ul, ictlr + ICTLR_COP_IER_CLR); + writel_relaxed(GENMASK(31, 0), ictlr + ICTLR_COP_IER_CLR); /* Disable CPU interrupts */ - writel_relaxed(~0ul, ictlr + ICTLR_CPU_IER_CLR); + writel_relaxed(GENMASK(31, 0), ictlr + ICTLR_CPU_IER_CLR); /* Enable the wakeup sources of ictlr */ writel_relaxed(lic->ictlr_wake_mask[i], ictlr + ICTLR_CPU_IER_SET); @@ -172,12 +172,12 @@ writel_relaxed(lic->cpu_iep[i], ictlr + ICTLR_CPU_IEP_CLASS); - writel_relaxed(~0ul, ictlr + ICTLR_CPU_IER_CLR); + writel_relaxed(GENMASK(31, 0), ictlr + ICTLR_CPU_IER_CLR); writel_relaxed(lic->cpu_ier[i], ictlr + ICTLR_CPU_IER_SET); writel_relaxed(lic->cop_iep[i], ictlr + ICTLR_COP_IEP_CLASS); - writel_relaxed(~0ul, ictlr + ICTLR_COP_IER_CLR); + writel_relaxed(GENMASK(31, 0), ictlr + ICTLR_COP_IER_CLR); writel_relaxed(lic->cop_ier[i], ictlr + ICTLR_COP_IER_SET); } @@ -312,7 +312,7 @@ lic->base[i] = base; /* Disable all interrupts */ - writel_relaxed(~0UL, base + ICTLR_CPU_IER_CLR); + writel_relaxed(GENMASK(31, 0), base + ICTLR_CPU_IER_CLR); /* All interrupts target IRQ */ writel_relaxed(0, base + ICTLR_CPU_IEP_CLASS); --- linux-gcp-5.19.0.orig/drivers/irqchip/irq-ti-sci-intr.c +++ linux-gcp-5.19.0/drivers/irqchip/irq-ti-sci-intr.c @@ -236,6 +236,7 @@ } parent_domain = irq_find_host(parent_node); + of_node_put(parent_node); if (!parent_domain) { dev_err(dev, "Failed to find IRQ parent domain\n"); return -ENODEV; --- linux-gcp-5.19.0.orig/drivers/irqchip/irq-wpcm450-aic.c +++ linux-gcp-5.19.0/drivers/irqchip/irq-wpcm450-aic.c @@ -146,6 +146,7 @@ aic->regs = of_iomap(node, 0); if (!aic->regs) { pr_err("Failed to map WPCM450 AIC registers\n"); + kfree(aic); return -ENOMEM; } --- linux-gcp-5.19.0.orig/drivers/irqchip/irqchip.c +++ linux-gcp-5.19.0/drivers/irqchip/irqchip.c @@ -38,8 +38,10 @@ struct device_node *par_np = of_irq_find_parent(np); of_irq_init_cb_t irq_init_cb = of_device_get_match_data(&pdev->dev); - if (!irq_init_cb) + if (!irq_init_cb) { + of_node_put(par_np); return -EINVAL; + } if (par_np == np) par_np = NULL; @@ -52,8 +54,10 @@ * interrupt controller. The actual initialization callback of this * interrupt controller can check for specific domains as necessary. */ - if (par_np && !irq_find_matching_host(par_np, DOMAIN_BUS_ANY)) + if (par_np && !irq_find_matching_host(par_np, DOMAIN_BUS_ANY)) { + of_node_put(par_np); return -EPROBE_DEFER; + } return irq_init_cb(np, par_np); } --- linux-gcp-5.19.0.orig/drivers/isdn/hardware/mISDN/hfcmulti.c +++ linux-gcp-5.19.0/drivers/isdn/hardware/mISDN/hfcmulti.c @@ -3217,6 +3217,7 @@ hfcm_l1callback(struct dchannel *dch, u_int cmd) { struct hfc_multi *hc = dch->hw; + struct sk_buff_head free_queue; u_long flags; switch (cmd) { @@ -3245,6 +3246,7 @@ l1_event(dch->l1, HW_POWERUP_IND); break; case HW_DEACT_REQ: + __skb_queue_head_init(&free_queue); /* start deactivation */ spin_lock_irqsave(&hc->lock, flags); if (hc->ctype == HFC_TYPE_E1) { @@ -3264,20 +3266,21 @@ plxsd_checksync(hc, 0); } } - skb_queue_purge(&dch->squeue); + skb_queue_splice_init(&dch->squeue, &free_queue); if (dch->tx_skb) { - dev_kfree_skb(dch->tx_skb); + __skb_queue_tail(&free_queue, dch->tx_skb); dch->tx_skb = NULL; } dch->tx_idx = 0; if (dch->rx_skb) { - dev_kfree_skb(dch->rx_skb); + __skb_queue_tail(&free_queue, dch->rx_skb); dch->rx_skb = NULL; } test_and_clear_bit(FLG_TX_BUSY, &dch->Flags); if (test_and_clear_bit(FLG_BUSY_TIMER, &dch->Flags)) del_timer(&dch->timer); spin_unlock_irqrestore(&hc->lock, flags); + __skb_queue_purge(&free_queue); break; case HW_POWERUP_REQ: spin_lock_irqsave(&hc->lock, flags); @@ -3384,6 +3387,9 @@ case PH_DEACTIVATE_REQ: test_and_clear_bit(FLG_L2_ACTIVATED, &dch->Flags); if (dch->dev.D.protocol != ISDN_P_TE_S0) { + struct sk_buff_head free_queue; + + __skb_queue_head_init(&free_queue); spin_lock_irqsave(&hc->lock, flags); if (debug & DEBUG_HFCMULTI_MSG) printk(KERN_DEBUG @@ -3405,14 +3411,14 @@ /* deactivate */ dch->state = 1; } - skb_queue_purge(&dch->squeue); + skb_queue_splice_init(&dch->squeue, &free_queue); if (dch->tx_skb) { - dev_kfree_skb(dch->tx_skb); + __skb_queue_tail(&free_queue, dch->tx_skb); dch->tx_skb = NULL; } dch->tx_idx = 0; if (dch->rx_skb) { - dev_kfree_skb(dch->rx_skb); + __skb_queue_tail(&free_queue, dch->rx_skb); dch->rx_skb = NULL; } test_and_clear_bit(FLG_TX_BUSY, &dch->Flags); @@ -3424,6 +3430,7 @@ #endif ret = 0; spin_unlock_irqrestore(&hc->lock, flags); + __skb_queue_purge(&free_queue); } else ret = l1_event(dch->l1, hh->prim); break; --- linux-gcp-5.19.0.orig/drivers/isdn/hardware/mISDN/hfcpci.c +++ linux-gcp-5.19.0/drivers/isdn/hardware/mISDN/hfcpci.c @@ -1617,16 +1617,19 @@ test_and_clear_bit(FLG_L2_ACTIVATED, &dch->Flags); spin_lock_irqsave(&hc->lock, flags); if (hc->hw.protocol == ISDN_P_NT_S0) { + struct sk_buff_head free_queue; + + __skb_queue_head_init(&free_queue); /* prepare deactivation */ Write_hfc(hc, HFCPCI_STATES, 0x40); - skb_queue_purge(&dch->squeue); + skb_queue_splice_init(&dch->squeue, &free_queue); if (dch->tx_skb) { - dev_kfree_skb(dch->tx_skb); + __skb_queue_tail(&free_queue, dch->tx_skb); dch->tx_skb = NULL; } dch->tx_idx = 0; if (dch->rx_skb) { - dev_kfree_skb(dch->rx_skb); + __skb_queue_tail(&free_queue, dch->rx_skb); dch->rx_skb = NULL; } test_and_clear_bit(FLG_TX_BUSY, &dch->Flags); @@ -1639,10 +1642,12 @@ hc->hw.mst_m &= ~HFCPCI_MASTER; Write_hfc(hc, HFCPCI_MST_MODE, hc->hw.mst_m); ret = 0; + spin_unlock_irqrestore(&hc->lock, flags); + __skb_queue_purge(&free_queue); } else { ret = l1_event(dch->l1, hh->prim); + spin_unlock_irqrestore(&hc->lock, flags); } - spin_unlock_irqrestore(&hc->lock, flags); break; } if (!ret) --- linux-gcp-5.19.0.orig/drivers/isdn/hardware/mISDN/hfcsusb.c +++ linux-gcp-5.19.0/drivers/isdn/hardware/mISDN/hfcsusb.c @@ -326,20 +326,24 @@ test_and_clear_bit(FLG_L2_ACTIVATED, &dch->Flags); if (hw->protocol == ISDN_P_NT_S0) { + struct sk_buff_head free_queue; + + __skb_queue_head_init(&free_queue); hfcsusb_ph_command(hw, HFC_L1_DEACTIVATE_NT); spin_lock_irqsave(&hw->lock, flags); - skb_queue_purge(&dch->squeue); + skb_queue_splice_init(&dch->squeue, &free_queue); if (dch->tx_skb) { - dev_kfree_skb(dch->tx_skb); + __skb_queue_tail(&free_queue, dch->tx_skb); dch->tx_skb = NULL; } dch->tx_idx = 0; if (dch->rx_skb) { - dev_kfree_skb(dch->rx_skb); + __skb_queue_tail(&free_queue, dch->rx_skb); dch->rx_skb = NULL; } test_and_clear_bit(FLG_TX_BUSY, &dch->Flags); spin_unlock_irqrestore(&hw->lock, flags); + __skb_queue_purge(&free_queue); #ifdef FIXME if (test_and_clear_bit(FLG_L1_BUSY, &dch->Flags)) dchannel_sched_event(&hc->dch, D_CLEARBUSY); @@ -1330,7 +1334,7 @@ printk("\n"); } - dev_kfree_skb(tx_skb); + dev_consume_skb_irq(tx_skb); tx_skb = NULL; if (fifo->dch && get_next_dframe(fifo->dch)) tx_skb = fifo->dch->tx_skb; --- linux-gcp-5.19.0.orig/drivers/isdn/hardware/mISDN/netjet.c +++ linux-gcp-5.19.0/drivers/isdn/hardware/mISDN/netjet.c @@ -956,7 +956,7 @@ } if (card->irq > 0) free_irq(card->irq, card); - if (card->isac.dch.dev.dev.class) + if (device_is_registered(&card->isac.dch.dev.dev)) mISDN_unregister_device(&card->isac.dch.dev); for (i = 0; i < 2; i++) { --- linux-gcp-5.19.0.orig/drivers/isdn/mISDN/core.c +++ linux-gcp-5.19.0/drivers/isdn/mISDN/core.c @@ -222,7 +222,7 @@ err = get_free_devid(); if (err < 0) - goto error1; + return err; dev->id = err; device_initialize(&dev->dev); @@ -233,11 +233,12 @@ if (debug & DEBUG_CORE) printk(KERN_DEBUG "mISDN_register %s %d\n", dev_name(&dev->dev), dev->id); + dev->dev.class = &mISDN_class; + err = create_stack(dev); if (err) goto error1; - dev->dev.class = &mISDN_class; dev->dev.platform_data = dev; dev->dev.parent = parent; dev_set_drvdata(&dev->dev, dev); @@ -249,8 +250,8 @@ error3: delete_stack(dev); - return err; error1: + put_device(&dev->dev); return err; } --- linux-gcp-5.19.0.orig/drivers/isdn/mISDN/dsp_pipeline.c +++ linux-gcp-5.19.0/drivers/isdn/mISDN/dsp_pipeline.c @@ -77,6 +77,7 @@ if (!entry) return -ENOMEM; + INIT_LIST_HEAD(&entry->list); entry->elem = elem; entry->dev.class = elements_class; @@ -107,7 +108,7 @@ device_unregister(&entry->dev); return ret; err1: - kfree(entry); + put_device(&entry->dev); return ret; } EXPORT_SYMBOL(mISDN_dsp_element_register); --- linux-gcp-5.19.0.orig/drivers/isdn/mISDN/l1oip.h +++ linux-gcp-5.19.0/drivers/isdn/mISDN/l1oip.h @@ -59,6 +59,7 @@ int bundle; /* bundle channels in one frm */ int codec; /* codec to use for transmis. */ int limit; /* limit number of bchannels */ + bool shutdown; /* if card is released */ /* timer */ struct timer_list keep_tl; --- linux-gcp-5.19.0.orig/drivers/isdn/mISDN/l1oip_core.c +++ linux-gcp-5.19.0/drivers/isdn/mISDN/l1oip_core.c @@ -275,7 +275,7 @@ p = frame; /* restart timer */ - if (time_before(hc->keep_tl.expires, jiffies + 5 * HZ)) + if (time_before(hc->keep_tl.expires, jiffies + 5 * HZ) && !hc->shutdown) mod_timer(&hc->keep_tl, jiffies + L1OIP_KEEPALIVE * HZ); else hc->keep_tl.expires = jiffies + L1OIP_KEEPALIVE * HZ; @@ -601,7 +601,9 @@ goto multiframe; /* restart timer */ - if (time_before(hc->timeout_tl.expires, jiffies + 5 * HZ) || !hc->timeout_on) { + if ((time_before(hc->timeout_tl.expires, jiffies + 5 * HZ) || + !hc->timeout_on) && + !hc->shutdown) { hc->timeout_on = 1; mod_timer(&hc->timeout_tl, jiffies + L1OIP_TIMEOUT * HZ); } else /* only adjust timer */ @@ -1232,11 +1234,10 @@ { int ch; - if (timer_pending(&hc->keep_tl)) - del_timer(&hc->keep_tl); + hc->shutdown = true; - if (timer_pending(&hc->timeout_tl)) - del_timer(&hc->timeout_tl); + del_timer_sync(&hc->keep_tl); + del_timer_sync(&hc->timeout_tl); cancel_work_sync(&hc->workq); --- linux-gcp-5.19.0.orig/drivers/leds/Kconfig +++ linux-gcp-5.19.0/drivers/leds/Kconfig @@ -59,6 +59,18 @@ This option enables support for on-chip LED drivers found on Marvell Semiconductor 88PM8606 PMIC. +config LEDS_AAEON + tristate "AAEON LED driver" + depends on X86 + depends on UBUNTU_ODM_DRIVERS + select MFD_AAEON + help + This led driver adds support for LED brightness control on Single + Board Computers produced by AAEON. + + This driver leverages the ASUS WMI interface to access device + resources. + config LEDS_AN30259A tristate "LED support for Panasonic AN30259A" depends on LEDS_CLASS && I2C && OF @@ -379,7 +391,6 @@ depends on OF depends on I2C select FW_LOADER - select FW_LOADER_USER_HELPER help This option supports common operations for LP5521/5523/55231/5562/8501 devices. --- linux-gcp-5.19.0.orig/drivers/leds/Makefile +++ linux-gcp-5.19.0/drivers/leds/Makefile @@ -9,6 +9,7 @@ # LED Platform Drivers (keep this sorted, M-| sort) obj-$(CONFIG_LEDS_88PM860X) += leds-88pm860x.o +obj-$(CONFIG_LEDS_AAEON) += leds-aaeon.o obj-$(CONFIG_LEDS_ACER_A500) += leds-acer-a500.o obj-$(CONFIG_LEDS_ADP5520) += leds-adp5520.o obj-$(CONFIG_LEDS_AN30259A) += leds-an30259a.o --- linux-gcp-5.19.0.orig/drivers/leds/flash/leds-lm3601x.c +++ linux-gcp-5.19.0/drivers/leds/flash/leds-lm3601x.c @@ -444,8 +444,6 @@ { struct lm3601x_led *led = i2c_get_clientdata(client); - mutex_destroy(&led->lock); - return regmap_update_bits(led->regmap, LM3601X_ENABLE_REG, LM3601X_ENABLE_MASK, LM3601X_MODE_STANDBY); --- linux-gcp-5.19.0.orig/drivers/leds/led-class.c +++ linux-gcp-5.19.0/drivers/leds/led-class.c @@ -235,14 +235,17 @@ led_dev = class_find_device_by_of_node(leds_class, led_node); of_node_put(led_node); + put_device(led_dev); if (!led_dev) return ERR_PTR(-EPROBE_DEFER); led_cdev = dev_get_drvdata(led_dev); - if (!try_module_get(led_cdev->dev->parent->driver->owner)) + if (!try_module_get(led_cdev->dev->parent->driver->owner)) { + put_device(led_cdev->dev); return ERR_PTR(-ENODEV); + } return led_cdev; } @@ -255,6 +258,7 @@ void led_put(struct led_classdev *led_cdev) { module_put(led_cdev->dev->parent->driver->owner); + put_device(led_cdev->dev); } EXPORT_SYMBOL_GPL(led_put); --- linux-gcp-5.19.0.orig/drivers/leds/leds-aaeon.c +++ linux-gcp-5.19.0/drivers/leds/leds-aaeon.c @@ -0,0 +1,142 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * AAEON LED driver + * + * Copyright (c) 2021, AAEON Ltd. + * + * Author: Kunyang Fan + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ +#include +#include +#include +#include +#include +#include + +#define DRVNAME "led_aaeon" +#define ASUS_NB_WMI_EVENT_GUID "0B3CBB35-E3C2-45ED-91C2-4C5A6D195D1C" +#define AAEON_WMI_MGMT_GUID "97845ED0-4E6D-11DE-8A39-0800200C9A66" + +#define GET_LED_NUMBER_ID 0x00060000 +#define GET_LED_METHOD_ID 0x00060001 +#define SET_LED_METHOD_ID 0x00060002 +#define GET_LED_NUMBER_METHOD_ID 0x10 + + +struct aaeon_led_data { + int id; + struct led_classdev cdev; +}; + +static int aaeon_led_get_number(void) +{ + int err, retval; + + err = asus_wmi_evaluate_method(GET_LED_NUMBER_ID, + GET_LED_NUMBER_METHOD_ID, + 0, &retval); + if (err) + return err; + + return retval; +} + +static enum led_brightness aaeon_led_brightness_get(struct led_classdev + *cdev) +{ + int err, brightness; + struct aaeon_led_data *led = + container_of(cdev, struct aaeon_led_data, cdev); + u32 arg0; + + arg0 = (u32)(led->id & 0xF); + err = asus_wmi_evaluate_method(GET_LED_METHOD_ID, arg0, 0, &brightness); + if (err) + return err; + + return brightness; +}; + +static void aaeon_led_brightness_set(struct led_classdev *cdev, + enum led_brightness brightness) +{ + int err, retval; + struct aaeon_led_data *led = + container_of(cdev, struct aaeon_led_data, cdev); + u32 arg0; + + arg0 = (u32)(led->id & 0xF); + if (brightness != LED_OFF) + arg0 |= BIT(16); + + err = asus_wmi_evaluate_method(SET_LED_METHOD_ID, arg0, 0, &retval); +}; + +static int __init aaeon_add_led_device(struct platform_device *pdev, + int id) +{ + struct aaeon_led_data *led; + + led = devm_kzalloc(&pdev->dev, sizeof(struct aaeon_led_data), GFP_KERNEL); + if (!led) + return -ENOMEM; + + led->id = id; + led->cdev.brightness_get = aaeon_led_brightness_get; + led->cdev.brightness_set = aaeon_led_brightness_set; + led->cdev.name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "led:%d:", id); + + if (!led->cdev.name) + return -ENOMEM; + + return devm_led_classdev_register(&pdev->dev, &led->cdev); +} + +static int aaeon_led_probe(struct platform_device *pdev) +{ + int err = -ENODEV, i; + int led_number = 0; + + pr_debug("aaeon led device probe!\n"); + /* Prevent other drivers adding this platfom device */ + if (!wmi_has_guid(AAEON_WMI_MGMT_GUID)) { + pr_debug("AAEON Management GUID not found\n"); + return -ENODEV; + } + + /* Query the number of led devices board support */ + led_number = aaeon_led_get_number(); + + /* + * If the number is 0 or can't get the number of leds, + * no need to register any led device node. + */ + if (led_number <= 0) + return -ENODEV; + + for (i = 0; i < led_number; i++) { + err = aaeon_add_led_device(pdev, i); + if (err) + break; + } + + return err; +} + +static struct platform_driver aaeon_led_driver = { + .driver = { + .name = "leds-aaeon", + }, +}; + +module_platform_driver_probe(aaeon_led_driver, aaeon_led_probe); + +MODULE_ALIAS("platform:leds-aaeon"); +MODULE_DESCRIPTION("AAEON LED Driver"); +MODULE_AUTHOR("Kunyang Fan "); +MODULE_LICENSE("GPL v2"); --- linux-gcp-5.19.0.orig/drivers/leds/rgb/leds-pwm-multicolor.c +++ linux-gcp-5.19.0/drivers/leds/rgb/leds-pwm-multicolor.c @@ -19,6 +19,7 @@ struct pwm_led { struct pwm_device *pwm; struct pwm_state state; + bool active_low; }; struct pwm_mc_led { @@ -45,6 +46,9 @@ duty *= mc_cdev->subled_info[i].brightness; do_div(duty, cdev->max_brightness); + if (priv->leds[i].active_low) + duty = priv->leds[i].state.period - duty; + priv->leds[i].state.duty_cycle = duty; priv->leds[i].state.enabled = duty > 0; ret = pwm_apply_state(priv->leds[i].pwm, @@ -72,11 +76,11 @@ pwmled = &priv->leds[priv->mc_cdev.num_colors]; pwmled->pwm = devm_fwnode_pwm_get(dev, fwnode, NULL); if (IS_ERR(pwmled->pwm)) { - ret = PTR_ERR(pwmled->pwm); - dev_err(dev, "unable to request PWM: %d\n", ret); + ret = dev_err_probe(dev, PTR_ERR(pwmled->pwm), "unable to request PWM\n"); goto release_fwnode; } pwm_init_state(pwmled->pwm, &pwmled->state); + pwmled->active_low = fwnode_property_read_bool(fwnode, "active-low"); ret = fwnode_property_read_u32(fwnode, "color", &color); if (ret) { --- linux-gcp-5.19.0.orig/drivers/leds/rgb/leds-qcom-lpg.c +++ linux-gcp-5.19.0/drivers/leds/rgb/leds-qcom-lpg.c @@ -602,8 +602,8 @@ lpg_lut_sync(lpg, lut_mask); } -static void lpg_brightness_single_set(struct led_classdev *cdev, - enum led_brightness value) +static int lpg_brightness_single_set(struct led_classdev *cdev, + enum led_brightness value) { struct lpg_led *led = container_of(cdev, struct lpg_led, cdev); struct mc_subled info; @@ -614,10 +614,12 @@ lpg_brightness_set(led, cdev, &info); mutex_unlock(&led->lpg->lock); + + return 0; } -static void lpg_brightness_mc_set(struct led_classdev *cdev, - enum led_brightness value) +static int lpg_brightness_mc_set(struct led_classdev *cdev, + enum led_brightness value) { struct led_classdev_mc *mc = lcdev_to_mccdev(cdev); struct lpg_led *led = container_of(mc, struct lpg_led, mcdev); @@ -628,6 +630,8 @@ lpg_brightness_set(led, cdev, mc->subled_info); mutex_unlock(&led->lpg->lock); + + return 0; } static int lpg_blink_set(struct lpg_led *led, @@ -1118,7 +1122,7 @@ led->mcdev.num_colors = num_channels; cdev = &led->mcdev.led_cdev; - cdev->brightness_set = lpg_brightness_mc_set; + cdev->brightness_set_blocking = lpg_brightness_mc_set; cdev->blink_set = lpg_blink_mc_set; /* Register pattern accessors only if we have a LUT block */ @@ -1132,7 +1136,7 @@ return ret; cdev = &led->cdev; - cdev->brightness_set = lpg_brightness_single_set; + cdev->brightness_set_blocking = lpg_brightness_single_set; cdev->blink_set = lpg_blink_single_set; /* Register pattern accessors only if we have a LUT block */ @@ -1151,7 +1155,7 @@ else cdev->brightness = LED_OFF; - cdev->brightness_set(cdev, cdev->brightness); + cdev->brightness_set_blocking(cdev, cdev->brightness); init_data.fwnode = of_fwnode_handle(np); --- linux-gcp-5.19.0.orig/drivers/macintosh/adb.c +++ linux-gcp-5.19.0/drivers/macintosh/adb.c @@ -647,7 +647,7 @@ switch(req->data[1]) { case ADB_QUERY_GETDEVINFO: - if (req->nbytes < 3) + if (req->nbytes < 3 || req->data[2] >= 16) break; mutex_lock(&adb_handler_mutex); req->reply[0] = adb_handler[req->data[2]].original_address; --- linux-gcp-5.19.0.orig/drivers/macintosh/macio-adb.c +++ linux-gcp-5.19.0/drivers/macintosh/macio-adb.c @@ -108,6 +108,10 @@ return -ENXIO; } adb = ioremap(r.start, sizeof(struct adb_regs)); + if (!adb) { + of_node_put(adbs); + return -ENOMEM; + } out_8(&adb->ctrl.r, 0); out_8(&adb->intr.r, 0); --- linux-gcp-5.19.0.orig/drivers/macintosh/macio_asic.c +++ linux-gcp-5.19.0/drivers/macintosh/macio_asic.c @@ -424,7 +424,7 @@ if (of_device_register(&dev->ofdev) != 0) { printk(KERN_DEBUG"macio: device registration error for %s!\n", dev_name(&dev->ofdev.dev)); - kfree(dev); + put_device(&dev->ofdev.dev); return NULL; } --- linux-gcp-5.19.0.orig/drivers/mailbox/arm_mhuv2.c +++ linux-gcp-5.19.0/drivers/mailbox/arm_mhuv2.c @@ -1062,8 +1062,8 @@ int ret = -EINVAL; reg = devm_of_iomap(dev, dev->of_node, 0, NULL); - if (!reg) - return -ENOMEM; + if (IS_ERR(reg)) + return PTR_ERR(reg); mhu = devm_kzalloc(dev, sizeof(*mhu), GFP_KERNEL); if (!mhu) --- linux-gcp-5.19.0.orig/drivers/mailbox/bcm-flexrm-mailbox.c +++ linux-gcp-5.19.0/drivers/mailbox/bcm-flexrm-mailbox.c @@ -632,15 +632,15 @@ rc = dma_map_sg(dev, msg->spu.src, sg_nents(msg->spu.src), DMA_TO_DEVICE); - if (rc < 0) - return rc; + if (!rc) + return -EIO; rc = dma_map_sg(dev, msg->spu.dst, sg_nents(msg->spu.dst), DMA_FROM_DEVICE); - if (rc < 0) { + if (!rc) { dma_unmap_sg(dev, msg->spu.src, sg_nents(msg->spu.src), DMA_TO_DEVICE); - return rc; + return -EIO; } return 0; --- linux-gcp-5.19.0.orig/drivers/mailbox/mailbox-mpfs.c +++ linux-gcp-5.19.0/drivers/mailbox/mailbox-mpfs.c @@ -2,7 +2,7 @@ /* * Microchip PolarFire SoC (MPFS) system controller/mailbox controller driver * - * Copyright (c) 2020 Microchip Corporation. All rights reserved. + * Copyright (c) 2020-2022 Microchip Corporation. All rights reserved. * * Author: Conor Dooley * @@ -56,12 +56,13 @@ #define SCB_STATUS_NOTIFY_MASK BIT(SCB_STATUS_NOTIFY) #define SCB_STATUS_POS (16) -#define SCB_STATUS_MASK GENMASK_ULL(SCB_STATUS_POS + SCB_MASK_WIDTH, SCB_STATUS_POS) +#define SCB_STATUS_MASK GENMASK(SCB_STATUS_POS + SCB_MASK_WIDTH - 1, SCB_STATUS_POS) struct mpfs_mbox { struct mbox_controller controller; struct device *dev; int irq; + void __iomem *ctrl_base; void __iomem *mbox_base; void __iomem *int_reg; struct mbox_chan chans[1]; @@ -73,7 +74,7 @@ { u32 status; - status = readl_relaxed(mbox->mbox_base + SERVICES_SR_OFFSET); + status = readl_relaxed(mbox->ctrl_base + SERVICES_SR_OFFSET); return status & SCB_STATUS_BUSY_MASK; } @@ -99,29 +100,27 @@ for (index = 0; index < (msg->cmd_data_size / 4); index++) writel_relaxed(word_buf[index], - mbox->mbox_base + MAILBOX_REG_OFFSET + index * 0x4); + mbox->mbox_base + msg->mbox_offset + index * 0x4); if (extra_bits) { u8 i; u8 byte_off = ALIGN_DOWN(msg->cmd_data_size, 4); u8 *byte_buf = msg->cmd_data + byte_off; - val = readl_relaxed(mbox->mbox_base + - MAILBOX_REG_OFFSET + index * 0x4); + val = readl_relaxed(mbox->mbox_base + msg->mbox_offset + index * 0x4); for (i = 0u; i < extra_bits; i++) { val &= ~(0xffu << (i * 8u)); val |= (byte_buf[i] << (i * 8u)); } - writel_relaxed(val, - mbox->mbox_base + MAILBOX_REG_OFFSET + index * 0x4); + writel_relaxed(val, mbox->mbox_base + msg->mbox_offset + index * 0x4); } } opt_sel = ((msg->mbox_offset << 7u) | (msg->cmd_opcode & 0x7fu)); tx_trigger = (opt_sel << SCB_CTRL_POS) & SCB_CTRL_MASK; tx_trigger |= SCB_CTRL_REQ_MASK | SCB_STATUS_NOTIFY_MASK; - writel_relaxed(tx_trigger, mbox->mbox_base + SERVICES_CR_OFFSET); + writel_relaxed(tx_trigger, mbox->ctrl_base + SERVICES_CR_OFFSET); return 0; } @@ -131,17 +130,42 @@ struct mpfs_mbox *mbox = (struct mpfs_mbox *)chan->con_priv; struct mpfs_mss_response *response = mbox->response; u16 num_words = ALIGN((response->resp_size), (4)) / 4U; - u32 i; + u32 i, status; if (!response->resp_msg) { dev_err(mbox->dev, "failed to assign memory for response %d\n", -ENOMEM); return; } + /* + * The status is stored in bits 31:16 of the SERVICES_SR register. + * It is only valid when BUSY == 0. + * We should *never* get an interrupt while the controller is + * still in the busy state. If we do, something has gone badly + * wrong & the content of the mailbox would not be valid. + */ + if (mpfs_mbox_busy(mbox)) { + dev_err(mbox->dev, "got an interrupt but system controller is busy\n"); + response->resp_status = 0xDEAD; + return; + } + + status = readl_relaxed(mbox->ctrl_base + SERVICES_SR_OFFSET); + + /* + * If the status of the individual servers is non-zero, the service has + * failed. The contents of the mailbox at this point are not be valid, + * so don't bother reading them. Set the status so that the driver + * implementing the service can handle the result. + */ + response->resp_status = (status & SCB_STATUS_MASK) >> SCB_STATUS_POS; + if (response->resp_status) + return; + if (!mpfs_mbox_busy(mbox)) { for (i = 0; i < num_words; i++) { response->resp_msg[i] = - readl_relaxed(mbox->mbox_base + MAILBOX_REG_OFFSET + readl_relaxed(mbox->mbox_base + mbox->resp_offset + i * 0x4); } } @@ -200,14 +224,18 @@ if (!mbox) return -ENOMEM; - mbox->mbox_base = devm_platform_get_and_ioremap_resource(pdev, 0, ®s); - if (IS_ERR(mbox->mbox_base)) - return PTR_ERR(mbox->mbox_base); + mbox->ctrl_base = devm_platform_get_and_ioremap_resource(pdev, 0, ®s); + if (IS_ERR(mbox->ctrl_base)) + return PTR_ERR(mbox->ctrl_base); mbox->int_reg = devm_platform_get_and_ioremap_resource(pdev, 1, ®s); if (IS_ERR(mbox->int_reg)) return PTR_ERR(mbox->int_reg); + mbox->mbox_base = devm_platform_get_and_ioremap_resource(pdev, 2, ®s); + if (IS_ERR(mbox->mbox_base)) // account for the old dt-binding w/ 2 regs + mbox->mbox_base = mbox->ctrl_base + MAILBOX_REG_OFFSET; + mbox->irq = platform_get_irq(pdev, 0); if (mbox->irq < 0) return mbox->irq; --- linux-gcp-5.19.0.orig/drivers/mailbox/pcc.c +++ linux-gcp-5.19.0/drivers/mailbox/pcc.c @@ -743,6 +743,7 @@ if (IS_ERR(pcc_pdev)) { pr_debug("Err creating PCC platform bundle\n"); + pcc_chan_count = 0; return PTR_ERR(pcc_pdev); } --- linux-gcp-5.19.0.orig/drivers/mailbox/zynqmp-ipi-mailbox.c +++ linux-gcp-5.19.0/drivers/mailbox/zynqmp-ipi-mailbox.c @@ -493,6 +493,7 @@ ret = device_register(&ipi_mbox->dev); if (ret) { dev_err(dev, "Failed to register ipi mbox dev.\n"); + put_device(&ipi_mbox->dev); return ret; } mdev = &ipi_mbox->dev; @@ -619,7 +620,8 @@ ipi_mbox = &pdata->ipi_mboxes[i]; if (ipi_mbox->dev.parent) { mbox_controller_unregister(&ipi_mbox->mbox); - device_unregister(&ipi_mbox->dev); + if (device_is_registered(&ipi_mbox->dev)) + device_unregister(&ipi_mbox->dev); } } } --- linux-gcp-5.19.0.orig/drivers/mcb/mcb-core.c +++ linux-gcp-5.19.0/drivers/mcb/mcb-core.c @@ -71,8 +71,10 @@ get_device(dev); ret = mdrv->probe(mdev, found_id); - if (ret) + if (ret) { module_put(carrier_mod); + put_device(dev); + } return ret; } --- linux-gcp-5.19.0.orig/drivers/mcb/mcb-parse.c +++ linux-gcp-5.19.0/drivers/mcb/mcb-parse.c @@ -108,7 +108,7 @@ return 0; err: - mcb_free_dev(mdev); + put_device(&mdev->dev); return ret; } --- linux-gcp-5.19.0.orig/drivers/md/bcache/writeback.c +++ linux-gcp-5.19.0/drivers/md/bcache/writeback.c @@ -157,6 +157,53 @@ dc->writeback_rate_target = target; } +static bool idle_counter_exceeded(struct cache_set *c) +{ + int counter, dev_nr; + + /* + * If c->idle_counter is overflow (idel for really long time), + * reset as 0 and not set maximum rate this time for code + * simplicity. + */ + counter = atomic_inc_return(&c->idle_counter); + if (counter <= 0) { + atomic_set(&c->idle_counter, 0); + return false; + } + + dev_nr = atomic_read(&c->attached_dev_nr); + if (dev_nr == 0) + return false; + + /* + * c->idle_counter is increased by writeback thread of all + * attached backing devices, in order to represent a rough + * time period, counter should be divided by dev_nr. + * Otherwise the idle time cannot be larger with more backing + * device attached. + * The following calculation equals to checking + * (counter / dev_nr) < (dev_nr * 6) + */ + if (counter < (dev_nr * dev_nr * 6)) + return false; + + return true; +} + +/* + * Idle_counter is increased every time when update_writeback_rate() is + * called. If all backing devices attached to the same cache set have + * identical dc->writeback_rate_update_seconds values, it is about 6 + * rounds of update_writeback_rate() on each backing device before + * c->at_max_writeback_rate is set to 1, and then max wrteback rate set + * to each dc->writeback_rate.rate. + * In order to avoid extra locking cost for counting exact dirty cached + * devices number, c->attached_dev_nr is used to calculate the idle + * throushold. It might be bigger if not all cached device are in write- + * back mode, but it still works well with limited extra rounds of + * update_writeback_rate(). + */ static bool set_at_max_writeback_rate(struct cache_set *c, struct cached_dev *dc) { @@ -167,21 +214,8 @@ /* Don't set max writeback rate if gc is running */ if (!c->gc_mark_valid) return false; - /* - * Idle_counter is increased everytime when update_writeback_rate() is - * called. If all backing devices attached to the same cache set have - * identical dc->writeback_rate_update_seconds values, it is about 6 - * rounds of update_writeback_rate() on each backing device before - * c->at_max_writeback_rate is set to 1, and then max wrteback rate set - * to each dc->writeback_rate.rate. - * In order to avoid extra locking cost for counting exact dirty cached - * devices number, c->attached_dev_nr is used to calculate the idle - * throushold. It might be bigger if not all cached device are in write- - * back mode, but it still works well with limited extra rounds of - * update_writeback_rate(). - */ - if (atomic_inc_return(&c->idle_counter) < - atomic_read(&c->attached_dev_nr) * 6) + + if (!idle_counter_exceeded(c)) return false; if (atomic_read(&c->at_max_writeback_rate) != 1) @@ -195,13 +229,10 @@ dc->writeback_rate_change = 0; /* - * Check c->idle_counter and c->at_max_writeback_rate agagain in case - * new I/O arrives during before set_at_max_writeback_rate() returns. - * Then the writeback rate is set to 1, and its new value should be - * decided via __update_writeback_rate(). + * In case new I/O arrives during before + * set_at_max_writeback_rate() returns. */ - if ((atomic_read(&c->idle_counter) < - atomic_read(&c->attached_dev_nr) * 6) || + if (!idle_counter_exceeded(c) || !atomic_read(&c->at_max_writeback_rate)) return false; --- linux-gcp-5.19.0.orig/drivers/md/dm-cache-metadata.c +++ linux-gcp-5.19.0/drivers/md/dm-cache-metadata.c @@ -551,11 +551,13 @@ return r; } -static void __destroy_persistent_data_objects(struct dm_cache_metadata *cmd) +static void __destroy_persistent_data_objects(struct dm_cache_metadata *cmd, + bool destroy_bm) { dm_sm_destroy(cmd->metadata_sm); dm_tm_destroy(cmd->tm); - dm_block_manager_destroy(cmd->bm); + if (destroy_bm) + dm_block_manager_destroy(cmd->bm); } typedef unsigned long (*flags_mutator)(unsigned long); @@ -826,7 +828,7 @@ cmd2 = lookup(bdev); if (cmd2) { mutex_unlock(&table_lock); - __destroy_persistent_data_objects(cmd); + __destroy_persistent_data_objects(cmd, true); kfree(cmd); return cmd2; } @@ -874,7 +876,7 @@ mutex_unlock(&table_lock); if (!cmd->fail_io) - __destroy_persistent_data_objects(cmd); + __destroy_persistent_data_objects(cmd, true); kfree(cmd); } } @@ -1807,14 +1809,52 @@ int dm_cache_metadata_abort(struct dm_cache_metadata *cmd) { - int r; + int r = -EINVAL; + struct dm_block_manager *old_bm = NULL, *new_bm = NULL; + + /* fail_io is double-checked with cmd->root_lock held below */ + if (unlikely(cmd->fail_io)) + return r; + + /* + * Replacement block manager (new_bm) is created and old_bm destroyed outside of + * cmd root_lock to avoid ABBA deadlock that would result (due to life-cycle of + * shrinker associated with the block manager's bufio client vs cmd root_lock). + * - must take shrinker_rwsem without holding cmd->root_lock + */ + new_bm = dm_block_manager_create(cmd->bdev, DM_CACHE_METADATA_BLOCK_SIZE << SECTOR_SHIFT, + CACHE_MAX_CONCURRENT_LOCKS); WRITE_LOCK(cmd); - __destroy_persistent_data_objects(cmd); - r = __create_persistent_data_objects(cmd, false); + if (cmd->fail_io) { + WRITE_UNLOCK(cmd); + goto out; + } + + __destroy_persistent_data_objects(cmd, false); + old_bm = cmd->bm; + if (IS_ERR(new_bm)) { + DMERR("could not create block manager during abort"); + cmd->bm = NULL; + r = PTR_ERR(new_bm); + goto out_unlock; + } + + cmd->bm = new_bm; + r = __open_or_format_metadata(cmd, false); + if (r) { + cmd->bm = NULL; + goto out_unlock; + } + new_bm = NULL; +out_unlock: if (r) cmd->fail_io = true; WRITE_UNLOCK(cmd); + dm_block_manager_destroy(old_bm); +out: + if (new_bm && !IS_ERR(new_bm)) + dm_block_manager_destroy(new_bm); return r; } --- linux-gcp-5.19.0.orig/drivers/md/dm-cache-target.c +++ linux-gcp-5.19.0/drivers/md/dm-cache-target.c @@ -907,16 +907,16 @@ if (get_cache_mode(cache) >= CM_READ_ONLY) return; - if (dm_cache_metadata_set_needs_check(cache->cmd)) { - DMERR("%s: failed to set 'needs_check' flag in metadata", dev_name); - set_cache_mode(cache, CM_FAIL); - } - DMERR_LIMIT("%s: aborting current metadata transaction", dev_name); if (dm_cache_metadata_abort(cache->cmd)) { DMERR("%s: failed to abort metadata transaction", dev_name); set_cache_mode(cache, CM_FAIL); } + + if (dm_cache_metadata_set_needs_check(cache->cmd)) { + DMERR("%s: failed to set 'needs_check' flag in metadata", dev_name); + set_cache_mode(cache, CM_FAIL); + } } static void metadata_operation_failed(struct cache *cache, const char *op, int r) @@ -1805,6 +1805,7 @@ else commit_needed = process_bio(cache, bio) || commit_needed; + cond_resched(); } if (commit_needed) @@ -1827,6 +1828,7 @@ while ((bio = bio_list_pop(&bios))) { bio->bi_status = BLK_STS_DM_REQUEUE; bio_endio(bio); + cond_resched(); } } @@ -1867,6 +1869,8 @@ r = mg_start(cache, op, NULL); if (r) break; + + cond_resched(); } } @@ -1887,6 +1891,7 @@ if (cache->prison) dm_bio_prison_destroy_v2(cache->prison); + cancel_delayed_work_sync(&cache->waker); if (cache->wq) destroy_workqueue(cache->wq); --- linux-gcp-5.19.0.orig/drivers/md/dm-clone-target.c +++ linux-gcp-5.19.0/drivers/md/dm-clone-target.c @@ -1958,6 +1958,7 @@ mempool_exit(&clone->hydration_pool); dm_kcopyd_client_destroy(clone->kcopyd_client); + cancel_delayed_work_sync(&clone->waker); destroy_workqueue(clone->wq); hash_table_exit(clone); dm_clone_metadata_close(clone->cmd); @@ -2035,7 +2036,7 @@ reason = "max discard sectors smaller than a region"; if (reason) { - DMWARN("Destination device (%pd) %s: Disabling discard passdown.", + DMWARN("Destination device (%pg) %s: Disabling discard passdown.", dest_dev, reason); clear_bit(DM_CLONE_DISCARD_PASSDOWN, &clone->flags); } --- linux-gcp-5.19.0.orig/drivers/md/dm-flakey.c +++ linux-gcp-5.19.0/drivers/md/dm-flakey.c @@ -299,9 +299,13 @@ */ bio_for_each_segment(bvec, bio, iter) { if (bio_iter_len(bio, iter) > corrupt_bio_byte) { - char *segment = (page_address(bio_iter_page(bio, iter)) - + bio_iter_offset(bio, iter)); + char *segment; + struct page *page = bio_iter_page(bio, iter); + if (unlikely(page == ZERO_PAGE(0))) + break; + segment = bvec_kmap_local(&bvec); segment[corrupt_bio_byte] = fc->corrupt_bio_value; + kunmap_local(segment); DMDEBUG("Corrupting data bio=%p by writing %u to byte %u " "(rw=%c bi_opf=%u bi_sector=%llu size=%u)\n", bio, fc->corrupt_bio_value, fc->corrupt_bio_byte, @@ -357,9 +361,11 @@ /* * Corrupt matching writes. */ - if (fc->corrupt_bio_byte && (fc->corrupt_bio_rw == WRITE)) { - if (all_corrupt_bio_flags_match(bio, fc)) - corrupt_bio_data(bio, fc); + if (fc->corrupt_bio_byte) { + if (fc->corrupt_bio_rw == WRITE) { + if (all_corrupt_bio_flags_match(bio, fc)) + corrupt_bio_data(bio, fc); + } goto map_bio; } @@ -385,13 +391,14 @@ return DM_ENDIO_DONE; if (!*error && pb->bio_submitted && (bio_data_dir(bio) == READ)) { - if (fc->corrupt_bio_byte && (fc->corrupt_bio_rw == READ) && - all_corrupt_bio_flags_match(bio, fc)) { - /* - * Corrupt successful matching READs while in down state. - */ - corrupt_bio_data(bio, fc); - + if (fc->corrupt_bio_byte) { + if ((fc->corrupt_bio_rw == READ) && + all_corrupt_bio_flags_match(bio, fc)) { + /* + * Corrupt successful matching READs while in down state. + */ + corrupt_bio_data(bio, fc); + } } else if (!test_bit(DROP_WRITES, &fc->flags) && !test_bit(ERROR_WRITES, &fc->flags)) { /* --- linux-gcp-5.19.0.orig/drivers/md/dm-integrity.c +++ linux-gcp-5.19.0/drivers/md/dm-integrity.c @@ -263,6 +263,7 @@ struct completion crypto_backoff; + bool wrote_to_journal; bool journal_uptodate; bool just_formatted; bool recalculate_flag; @@ -2374,6 +2375,8 @@ if (!commit_sections) goto release_flush_bios; + ic->wrote_to_journal = true; + i = commit_start; for (n = 0; n < commit_sections; n++) { for (j = 0; j < ic->journal_section_entries; j++) { @@ -2590,10 +2593,6 @@ unsigned prev_free_sectors; - /* the following test is not needed, but it tests the replay code */ - if (unlikely(dm_post_suspending(ic->ti)) && !ic->meta_dev) - return; - spin_lock_irq(&ic->endio_wait.lock); write_start = ic->committed_section; write_sections = ic->n_committed_sections; @@ -3101,10 +3100,17 @@ drain_workqueue(ic->commit_wq); if (ic->mode == 'J') { - if (ic->meta_dev) - queue_work(ic->writer_wq, &ic->writer_work); + queue_work(ic->writer_wq, &ic->writer_work); drain_workqueue(ic->writer_wq); dm_integrity_flush_buffers(ic, true); + if (ic->wrote_to_journal) { + init_journal(ic, ic->free_section, + ic->journal_sections - ic->free_section, ic->commit_seq); + if (ic->free_section) { + init_journal(ic, 0, ic->free_section, + next_commit_seq(ic->commit_seq)); + } + } } if (ic->mode == 'B') { @@ -3132,6 +3138,8 @@ DEBUG_print("resume\n"); + ic->wrote_to_journal = false; + if (ic->provided_data_sectors != old_provided_data_sectors) { if (ic->provided_data_sectors > old_provided_data_sectors && ic->mode == 'B' && @@ -4549,6 +4557,8 @@ BUG_ON(!RB_EMPTY_ROOT(&ic->in_progress)); BUG_ON(!list_empty(&ic->wait_list)); + if (ic->mode == 'B') + cancel_delayed_work_sync(&ic->bitmap_flush_work); if (ic->metadata_wq) destroy_workqueue(ic->metadata_wq); if (ic->wait_wq) --- linux-gcp-5.19.0.orig/drivers/md/dm-ioctl.c +++ linux-gcp-5.19.0/drivers/md/dm-ioctl.c @@ -482,7 +482,7 @@ dm_table_event(table); dm_put_live_table(hc->md, srcu_idx); - if (!dm_kobject_uevent(hc->md, KOBJ_CHANGE, param->event_nr)) + if (!dm_kobject_uevent(hc->md, KOBJ_CHANGE, param->event_nr, false)) param->flags |= DM_UEVENT_GENERATED_FLAG; md = hc->md; @@ -655,7 +655,7 @@ size_t *needed = needed_param; *needed += sizeof(struct dm_target_versions); - *needed += strlen(tt->name); + *needed += strlen(tt->name) + 1; *needed += ALIGN_MASK; } @@ -720,7 +720,7 @@ iter_info.old_vers = NULL; iter_info.vers = vers; iter_info.flags = 0; - iter_info.end = (char *)vers+len; + iter_info.end = (char *)vers + needed; /* * Now loop through filling out the names & versions. @@ -995,7 +995,7 @@ dm_ima_measure_on_device_remove(md, false); - if (!dm_kobject_uevent(md, KOBJ_REMOVE, param->event_nr)) + if (!dm_kobject_uevent(md, KOBJ_REMOVE, param->event_nr, false)) param->flags |= DM_UEVENT_GENERATED_FLAG; dm_put(md); @@ -1129,6 +1129,7 @@ struct hash_cell *hc; struct mapped_device *md; struct dm_table *new_map, *old_map = NULL; + bool need_resize_uevent = false; down_write(&_hash_lock); @@ -1149,6 +1150,8 @@ /* Do we need to load a new map ? */ if (new_map) { + sector_t old_size, new_size; + /* Suspend if it isn't already suspended */ if (param->flags & DM_SKIP_LOCKFS_FLAG) suspend_flags &= ~DM_SUSPEND_LOCKFS_FLAG; @@ -1157,6 +1160,7 @@ if (!dm_suspended_md(md)) dm_suspend(md, suspend_flags); + old_size = dm_get_size(md); old_map = dm_swap_table(md, new_map); if (IS_ERR(old_map)) { dm_sync_table(md); @@ -1164,6 +1168,9 @@ dm_put(md); return PTR_ERR(old_map); } + new_size = dm_get_size(md); + if (old_size && new_size && old_size != new_size) + need_resize_uevent = true; if (dm_table_get_mode(new_map) & FMODE_WRITE) set_disk_ro(dm_disk(md), 0); @@ -1176,7 +1183,7 @@ if (!r) { dm_ima_measure_on_device_resume(md, new_map ? true : false); - if (!dm_kobject_uevent(md, KOBJ_CHANGE, param->event_nr)) + if (!dm_kobject_uevent(md, KOBJ_CHANGE, param->event_nr, need_resize_uevent)) param->flags |= DM_UEVENT_GENERATED_FLAG; } } --- linux-gcp-5.19.0.orig/drivers/md/dm-raid.c +++ linux-gcp-5.19.0/drivers/md/dm-raid.c @@ -3097,6 +3097,7 @@ INIT_WORK(&rs->md.event_work, do_table_event); ti->private = rs; ti->num_flush_bios = 1; + ti->needs_bio_set_dev = true; /* Restore any requested new layout for conversion decision */ rs_config_restore(rs, &rs_layout); @@ -3509,7 +3510,7 @@ { struct raid_set *rs = ti->private; struct mddev *mddev = &rs->md; - struct r5conf *conf = mddev->private; + struct r5conf *conf = rs_is_raid456(rs) ? mddev->private : NULL; int i, max_nr_stripes = conf ? conf->max_nr_stripes : 0; unsigned long recovery; unsigned int raid_param_cnt = 1; /* at least 1 for chunksize */ @@ -3819,7 +3820,7 @@ memset(cleared_failed_devices, 0, sizeof(cleared_failed_devices)); - for (i = 0; i < mddev->raid_disks; i++) { + for (i = 0; i < rs->raid_disks; i++) { r = &rs->dev[i].rdev; /* HM FIXME: enhance journal device recovery processing */ if (test_bit(Journal, &r->flags)) --- linux-gcp-5.19.0.orig/drivers/md/dm-thin-metadata.c +++ linux-gcp-5.19.0/drivers/md/dm-thin-metadata.c @@ -724,6 +724,15 @@ goto bad_cleanup_data_sm; } + /* + * For pool metadata opening process, root setting is redundant + * because it will be set again in __begin_transaction(). But dm + * pool aborting process really needs to get last transaction's + * root to avoid accessing broken btree. + */ + pmd->root = le64_to_cpu(disk_super->data_mapping_root); + pmd->details_root = le64_to_cpu(disk_super->device_details_root); + __setup_btree_details(pmd); dm_bm_unlock(sblock); @@ -776,13 +785,15 @@ return r; } -static void __destroy_persistent_data_objects(struct dm_pool_metadata *pmd) +static void __destroy_persistent_data_objects(struct dm_pool_metadata *pmd, + bool destroy_bm) { dm_sm_destroy(pmd->data_sm); dm_sm_destroy(pmd->metadata_sm); dm_tm_destroy(pmd->nb_tm); dm_tm_destroy(pmd->tm); - dm_block_manager_destroy(pmd->bm); + if (destroy_bm) + dm_block_manager_destroy(pmd->bm); } static int __begin_transaction(struct dm_pool_metadata *pmd) @@ -989,7 +1000,7 @@ } pmd_write_unlock(pmd); if (!pmd->fail_io) - __destroy_persistent_data_objects(pmd); + __destroy_persistent_data_objects(pmd, true); kfree(pmd); return 0; @@ -1860,19 +1871,52 @@ int dm_pool_abort_metadata(struct dm_pool_metadata *pmd) { int r = -EINVAL; + struct dm_block_manager *old_bm = NULL, *new_bm = NULL; + + /* fail_io is double-checked with pmd->root_lock held below */ + if (unlikely(pmd->fail_io)) + return r; + + /* + * Replacement block manager (new_bm) is created and old_bm destroyed outside of + * pmd root_lock to avoid ABBA deadlock that would result (due to life-cycle of + * shrinker associated with the block manager's bufio client vs pmd root_lock). + * - must take shrinker_rwsem without holding pmd->root_lock + */ + new_bm = dm_block_manager_create(pmd->bdev, THIN_METADATA_BLOCK_SIZE << SECTOR_SHIFT, + THIN_MAX_CONCURRENT_LOCKS); pmd_write_lock(pmd); - if (pmd->fail_io) + if (pmd->fail_io) { + pmd_write_unlock(pmd); goto out; + } __set_abort_with_changes_flags(pmd); - __destroy_persistent_data_objects(pmd); - r = __create_persistent_data_objects(pmd, false); + __destroy_persistent_data_objects(pmd, false); + old_bm = pmd->bm; + if (IS_ERR(new_bm)) { + DMERR("could not create block manager during abort"); + pmd->bm = NULL; + r = PTR_ERR(new_bm); + goto out_unlock; + } + + pmd->bm = new_bm; + r = __open_or_format_metadata(pmd, false); + if (r) { + pmd->bm = NULL; + goto out_unlock; + } + new_bm = NULL; +out_unlock: if (r) pmd->fail_io = true; - -out: pmd_write_unlock(pmd); + dm_block_manager_destroy(old_bm); +out: + if (new_bm && !IS_ERR(new_bm)) + dm_block_manager_destroy(new_bm); return r; } @@ -2045,10 +2089,13 @@ dm_sm_threshold_fn fn, void *context) { - int r; + int r = -EINVAL; pmd_write_lock_in_core(pmd); - r = dm_sm_register_threshold_callback(pmd->metadata_sm, threshold, fn, context); + if (!pmd->fail_io) { + r = dm_sm_register_threshold_callback(pmd->metadata_sm, + threshold, fn, context); + } pmd_write_unlock(pmd); return r; --- linux-gcp-5.19.0.orig/drivers/md/dm-thin.c +++ linux-gcp-5.19.0/drivers/md/dm-thin.c @@ -2207,6 +2207,7 @@ throttle_work_update(&pool->throttle); dm_pool_issue_prefetches(pool->pmd); } + cond_resched(); } blk_finish_plug(&plug); } @@ -2289,6 +2290,7 @@ else pool->process_cell(tc, cell); } + cond_resched(); } while (!list_empty(&cells)); } @@ -2889,6 +2891,8 @@ dm_bio_prison_destroy(pool->prison); dm_kcopyd_client_destroy(pool->copier); + cancel_delayed_work_sync(&pool->waker); + cancel_delayed_work_sync(&pool->no_space_timeout); if (pool->wq) destroy_workqueue(pool->wq); @@ -3375,8 +3379,10 @@ calc_metadata_threshold(pt), metadata_low_callback, pool); - if (r) + if (r) { + ti->error = "Error registering metadata threshold"; goto out_flags_changed; + } dm_pool_register_pre_commit_callback(pool->pmd, metadata_pre_commit_callback, pool); @@ -3538,20 +3544,28 @@ */ r = bind_control_target(pool, ti); if (r) - return r; + goto out; r = maybe_resize_data_dev(ti, &need_commit1); if (r) - return r; + goto out; r = maybe_resize_metadata_dev(ti, &need_commit2); if (r) - return r; + goto out; if (need_commit1 || need_commit2) (void) commit(pool); +out: + /* + * When a thin-pool is PM_FAIL, it cannot be rebuilt if + * bio is in deferred list. Therefore need to return 0 + * to allow pool_resume() to flush IO. + */ + if (r && get_pool_mode(pool) == PM_FAIL) + r = 0; - return 0; + return r; } static void pool_suspend_active_thins(struct pool *pool) --- linux-gcp-5.19.0.orig/drivers/md/dm-writecache.c +++ linux-gcp-5.19.0/drivers/md/dm-writecache.c @@ -22,7 +22,7 @@ #define HIGH_WATERMARK 50 #define LOW_WATERMARK 45 -#define MAX_WRITEBACK_JOBS 0 +#define MAX_WRITEBACK_JOBS min(0x10000000 / PAGE_SIZE, totalram_pages() / 16) #define ENDIO_LATENCY 16 #define WRITEBACK_LATENCY 64 #define AUTOCOMMIT_BLOCKS_SSD 65536 @@ -1329,8 +1329,8 @@ WC_MAP_ERROR, }; -static enum wc_map_op writecache_map_remap_origin(struct dm_writecache *wc, struct bio *bio, - struct wc_entry *e) +static void writecache_map_remap_origin(struct dm_writecache *wc, struct bio *bio, + struct wc_entry *e) { if (e) { sector_t next_boundary = @@ -1338,8 +1338,6 @@ if (next_boundary < bio->bi_iter.bi_size >> SECTOR_SHIFT) dm_accept_partial_bio(bio, next_boundary); } - - return WC_MAP_REMAP_ORIGIN; } static enum wc_map_op writecache_map_read(struct dm_writecache *wc, struct bio *bio) @@ -1366,14 +1364,16 @@ map_op = WC_MAP_REMAP; } } else { - map_op = writecache_map_remap_origin(wc, bio, e); + writecache_map_remap_origin(wc, bio, e); + wc->stats.reads += (bio->bi_iter.bi_size - wc->block_size) >> wc->block_size_bits; + map_op = WC_MAP_REMAP_ORIGIN; } return map_op; } -static enum wc_map_op writecache_bio_copy_ssd(struct dm_writecache *wc, struct bio *bio, - struct wc_entry *e, bool search_used) +static void writecache_bio_copy_ssd(struct dm_writecache *wc, struct bio *bio, + struct wc_entry *e, bool search_used) { unsigned bio_size = wc->block_size; sector_t start_cache_sec = cache_sector(wc, e); @@ -1413,14 +1413,15 @@ bio->bi_iter.bi_sector = start_cache_sec; dm_accept_partial_bio(bio, bio_size >> SECTOR_SHIFT); + wc->stats.writes += bio->bi_iter.bi_size >> wc->block_size_bits; + wc->stats.writes_allocate += (bio->bi_iter.bi_size - wc->block_size) >> wc->block_size_bits; + if (unlikely(wc->uncommitted_blocks >= wc->autocommit_blocks)) { wc->uncommitted_blocks = 0; queue_work(wc->writeback_wq, &wc->flush_work); } else { writecache_schedule_autocommit(wc); } - - return WC_MAP_REMAP; } static enum wc_map_op writecache_map_write(struct dm_writecache *wc, struct bio *bio) @@ -1430,9 +1431,10 @@ do { bool found_entry = false; bool search_used = false; - wc->stats.writes++; - if (writecache_has_error(wc)) + if (writecache_has_error(wc)) { + wc->stats.writes += bio->bi_iter.bi_size >> wc->block_size_bits; return WC_MAP_ERROR; + } e = writecache_find_entry(wc, bio->bi_iter.bi_sector, 0); if (e) { if (!writecache_entry_is_committed(wc, e)) { @@ -1456,9 +1458,11 @@ if (unlikely(!e)) { if (!WC_MODE_PMEM(wc) && !found_entry) { direct_write: - wc->stats.writes_around++; e = writecache_find_entry(wc, bio->bi_iter.bi_sector, WFE_RETURN_FOLLOWING); - return writecache_map_remap_origin(wc, bio, e); + writecache_map_remap_origin(wc, bio, e); + wc->stats.writes_around += bio->bi_iter.bi_size >> wc->block_size_bits; + wc->stats.writes += bio->bi_iter.bi_size >> wc->block_size_bits; + return WC_MAP_REMAP_ORIGIN; } wc->stats.writes_blocked_on_freelist++; writecache_wait_on_freelist(wc); @@ -1469,10 +1473,13 @@ wc->uncommitted_blocks++; wc->stats.writes_allocate++; bio_copy: - if (WC_MODE_PMEM(wc)) + if (WC_MODE_PMEM(wc)) { bio_copy_block(wc, bio, memory_data(wc, e)); - else - return writecache_bio_copy_ssd(wc, bio, e, search_used); + wc->stats.writes++; + } else { + writecache_bio_copy_ssd(wc, bio, e, search_used); + return WC_MAP_REMAP; + } } while (bio->bi_iter.bi_size); if (unlikely(bio->bi_opf & REQ_FUA || wc->uncommitted_blocks >= wc->autocommit_blocks)) @@ -1507,7 +1514,7 @@ static enum wc_map_op writecache_map_discard(struct dm_writecache *wc, struct bio *bio) { - wc->stats.discards++; + wc->stats.discards += bio->bi_iter.bi_size >> wc->block_size_bits; if (writecache_has_error(wc)) return WC_MAP_ERROR; --- linux-gcp-5.19.0.orig/drivers/md/dm.c +++ linux-gcp-5.19.0/drivers/md/dm.c @@ -235,7 +235,6 @@ static void local_exit(void) { - flush_scheduled_work(); destroy_workqueue(deferred_remove_workqueue); unregister_blkdev(_major, _name); @@ -578,9 +577,6 @@ struct bio *clone; clone = bio_alloc_clone(NULL, bio, GFP_NOIO, &md->mempools->io_bs); - /* Set default bdev, but target must bio_set_dev() before issuing IO */ - clone->bi_bdev = md->disk->part0; - tio = clone_to_tio(clone); tio->flags = 0; dm_tio_set_flag(tio, DM_TIO_INSIDE_DM_IO); @@ -614,6 +610,7 @@ static struct bio *alloc_tio(struct clone_info *ci, struct dm_target *ti, unsigned target_bio_nr, unsigned *len, gfp_t gfp_mask) { + struct mapped_device *md = ci->io->md; struct dm_target_io *tio; struct bio *clone; @@ -623,14 +620,10 @@ /* alloc_io() already initialized embedded clone */ clone = &tio->clone; } else { - struct mapped_device *md = ci->io->md; - clone = bio_alloc_clone(NULL, ci->bio, gfp_mask, &md->mempools->bs); if (!clone) return NULL; - /* Set default bdev, but target must bio_set_dev() before issuing IO */ - clone->bi_bdev = md->disk->part0; /* REQ_DM_POLL_LIST shouldn't be inherited */ clone->bi_opf &= ~REQ_DM_POLL_LIST; @@ -646,6 +639,11 @@ tio->len_ptr = len; tio->old_sector = 0; + /* Set default bdev, but target must bio_set_dev() before issuing IO */ + clone->bi_bdev = md->disk->part0; + if (unlikely(ti->needs_bio_set_dev)) + bio_set_dev(clone, md->disk->part0); + if (len) { clone->bi_iter.bi_size = to_bytes(*len); if (bio_integrity(clone)) @@ -1986,7 +1984,6 @@ md->disk->minors = 1; md->disk->flags |= GENHD_FL_NO_PART; md->disk->fops = &dm_blk_dops; - md->disk->queue = md->queue; md->disk->private_data = md; sprintf(md->disk->disk_name, "dm-%d", minor); @@ -2092,10 +2089,7 @@ if (size != dm_get_size(md)) memset(&md->geometry, 0, sizeof(md->geometry)); - if (!get_capacity(md->disk)) - set_capacity(md->disk, size); - else - set_capacity_and_notify(md->disk, size); + set_capacity(md->disk, size); dm_table_event_callback(t, event_callback, md); @@ -2465,6 +2459,7 @@ break; submit_bio_noacct(bio); + cond_resched(); } } @@ -2864,24 +2859,26 @@ * Event notification. *---------------------------------------------------------------*/ int dm_kobject_uevent(struct mapped_device *md, enum kobject_action action, - unsigned cookie) + unsigned cookie, bool need_resize_uevent) { int r; unsigned noio_flag; char udev_cookie[DM_COOKIE_LENGTH]; - char *envp[] = { udev_cookie, NULL }; - - noio_flag = memalloc_noio_save(); - - if (!cookie) - r = kobject_uevent(&disk_to_dev(md->disk)->kobj, action); - else { + char *envp[3] = { NULL, NULL, NULL }; + char **envpp = envp; + if (cookie) { snprintf(udev_cookie, DM_COOKIE_LENGTH, "%s=%u", DM_COOKIE_ENV_VAR_NAME, cookie); - r = kobject_uevent_env(&disk_to_dev(md->disk)->kobj, - action, envp); + *envpp++ = udev_cookie; + } + if (need_resize_uevent) { + *envpp++ = "RESIZE=1"; } + noio_flag = memalloc_noio_save(); + + r = kobject_uevent_env(&disk_to_dev(md->disk)->kobj, action, envp); + memalloc_noio_restore(noio_flag); return r; @@ -3066,6 +3063,11 @@ goto out; ti = dm_table_get_target(table, 0); + if (dm_suspended_md(md)) { + ret = -EAGAIN; + goto out; + } + ret = -EINVAL; if (!ti->type->iterate_devices) goto out; --- linux-gcp-5.19.0.orig/drivers/md/dm.h +++ linux-gcp-5.19.0/drivers/md/dm.h @@ -204,7 +204,7 @@ void dm_put_table_device(struct mapped_device *md, struct dm_dev *d); int dm_kobject_uevent(struct mapped_device *md, enum kobject_action action, - unsigned cookie); + unsigned cookie, bool need_resize_uevent); void dm_internal_suspend(struct mapped_device *md); void dm_internal_resume(struct mapped_device *md); --- linux-gcp-5.19.0.orig/drivers/md/md-bitmap.c +++ linux-gcp-5.19.0/drivers/md/md-bitmap.c @@ -486,7 +486,7 @@ sb = kmap_atomic(bitmap->storage.sb_page); pr_debug("%s: bitmap file superblock:\n", bmname(bitmap)); pr_debug(" magic: %08x\n", le32_to_cpu(sb->magic)); - pr_debug(" version: %d\n", le32_to_cpu(sb->version)); + pr_debug(" version: %u\n", le32_to_cpu(sb->version)); pr_debug(" uuid: %08x.%08x.%08x.%08x\n", le32_to_cpu(*(__le32 *)(sb->uuid+0)), le32_to_cpu(*(__le32 *)(sb->uuid+4)), @@ -497,11 +497,11 @@ pr_debug("events cleared: %llu\n", (unsigned long long) le64_to_cpu(sb->events_cleared)); pr_debug(" state: %08x\n", le32_to_cpu(sb->state)); - pr_debug(" chunksize: %d B\n", le32_to_cpu(sb->chunksize)); - pr_debug(" daemon sleep: %ds\n", le32_to_cpu(sb->daemon_sleep)); + pr_debug(" chunksize: %u B\n", le32_to_cpu(sb->chunksize)); + pr_debug(" daemon sleep: %us\n", le32_to_cpu(sb->daemon_sleep)); pr_debug(" sync size: %llu KB\n", (unsigned long long)le64_to_cpu(sb->sync_size)/2); - pr_debug("max write behind: %d\n", le32_to_cpu(sb->write_behind)); + pr_debug("max write behind: %u\n", le32_to_cpu(sb->write_behind)); kunmap_atomic(sb); } @@ -2105,7 +2105,8 @@ bytes = DIV_ROUND_UP(chunks, 8); if (!bitmap->mddev->bitmap_info.external) bytes += sizeof(bitmap_super_t); - } while (bytes > (space << 9)); + } while (bytes > (space << 9) && (chunkshift + BITMAP_BLOCK_SHIFT) < + (BITS_PER_BYTE * sizeof(((bitmap_super_t *)0)->chunksize) - 1)); } else chunkshift = ffz(~chunksize) - BITMAP_BLOCK_SHIFT; @@ -2150,7 +2151,7 @@ bitmap->counts.missing_pages = pages; bitmap->counts.chunkshift = chunkshift; bitmap->counts.chunks = chunks; - bitmap->mddev->bitmap_info.chunksize = 1 << (chunkshift + + bitmap->mddev->bitmap_info.chunksize = 1UL << (chunkshift + BITMAP_BLOCK_SHIFT); blocks = min(old_counts.chunks << old_counts.chunkshift, @@ -2176,8 +2177,8 @@ bitmap->counts.missing_pages = old_counts.pages; bitmap->counts.chunkshift = old_counts.chunkshift; bitmap->counts.chunks = old_counts.chunks; - bitmap->mddev->bitmap_info.chunksize = 1 << (old_counts.chunkshift + - BITMAP_BLOCK_SHIFT); + bitmap->mddev->bitmap_info.chunksize = + 1UL << (old_counts.chunkshift + BITMAP_BLOCK_SHIFT); blocks = old_counts.chunks << old_counts.chunkshift; pr_warn("Could not pre-allocate in-memory bitmap for cluster raid\n"); break; @@ -2195,20 +2196,23 @@ if (set) { bmc_new = md_bitmap_get_counter(&bitmap->counts, block, &new_blocks, 1); - if (*bmc_new == 0) { - /* need to set on-disk bits too. */ - sector_t end = block + new_blocks; - sector_t start = block >> chunkshift; - start <<= chunkshift; - while (start < end) { - md_bitmap_file_set_bit(bitmap, block); - start += 1 << chunkshift; + if (bmc_new) { + if (*bmc_new == 0) { + /* need to set on-disk bits too. */ + sector_t end = block + new_blocks; + sector_t start = block >> chunkshift; + + start <<= chunkshift; + while (start < end) { + md_bitmap_file_set_bit(bitmap, block); + start += 1 << chunkshift; + } + *bmc_new = 2; + md_bitmap_count_page(&bitmap->counts, block, 1); + md_bitmap_set_pending(&bitmap->counts, block); } - *bmc_new = 2; - md_bitmap_count_page(&bitmap->counts, block, 1); - md_bitmap_set_pending(&bitmap->counts, block); + *bmc_new |= NEEDED_MASK; } - *bmc_new |= NEEDED_MASK; if (new_blocks < old_blocks) old_blocks = new_blocks; } @@ -2534,6 +2538,9 @@ if (csize < 512 || !is_power_of_2(csize)) return -EINVAL; + if (BITS_PER_LONG > 32 && csize >= (1ULL << (BITS_PER_BYTE * + sizeof(((bitmap_super_t *)0)->chunksize)))) + return -EOVERFLOW; mddev->bitmap_info.chunksize = csize; return len; } --- linux-gcp-5.19.0.orig/drivers/md/md.c +++ linux-gcp-5.19.0/drivers/md/md.c @@ -531,13 +531,14 @@ struct md_rdev *rdev = bio->bi_private; struct mddev *mddev = rdev->mddev; + bio_put(bio); + rdev_dec_pending(rdev, mddev); if (atomic_dec_and_test(&mddev->flush_pending)) { /* The pre-request flush has finished */ queue_work(md_wq, &mddev->flush_work); } - bio_put(bio); } static void md_submit_flush_data(struct work_struct *ws); @@ -939,10 +940,12 @@ } else clear_bit(LastDev, &rdev->flags); + bio_put(bio); + + rdev_dec_pending(rdev, mddev); + if (atomic_dec_and_test(&mddev->pending_writes)) wake_up(&mddev->sb_wait); - rdev_dec_pending(rdev, mddev); - bio_put(bio); } void md_super_write(struct mddev *mddev, struct md_rdev *rdev, @@ -5647,6 +5650,7 @@ * removed (mddev_delayed_delete). */ flush_workqueue(md_misc_wq); + flush_workqueue(md_rdev_misc_wq); mutex_lock(&disks_mutex); mddev = mddev_alloc(dev); @@ -6266,6 +6270,7 @@ /* stop the array and free an attached data structures. * This is called from dm-raid */ + __md_stop_writes(mddev); __md_stop(mddev); bioset_exit(&mddev->bio_set); bioset_exit(&mddev->sync_set); @@ -9466,6 +9471,7 @@ wake_up(&resync_wait); /* flag recovery needed just to double check */ set_bit(MD_RECOVERY_NEEDED, &mddev->recovery); + sysfs_notify_dirent_safe(mddev->sysfs_completed); sysfs_notify_dirent_safe(mddev->sysfs_action); md_new_event(); if (mddev->event_work.func) --- linux-gcp-5.19.0.orig/drivers/md/raid0.c +++ linux-gcp-5.19.0/drivers/md/raid0.c @@ -47,7 +47,7 @@ int len = 0; for (k = 0; k < conf->strip_zone[j].nb_dev; k++) - len += snprintf(line+len, 200-len, "%s%pg", k?"/":"", + len += scnprintf(line+len, 200-len, "%s%pg", k?"/":"", conf->devlist[j * raid_disks + k]->bdev); pr_debug("md: zone%d=[%s]\n", j, line); @@ -263,11 +263,12 @@ default_layout == RAID0_ALT_MULTIZONE_LAYOUT) { conf->layout = default_layout; } else { - pr_err("md/raid0:%s: cannot assemble multi-zone RAID0 with default_layout setting\n", - mdname(mddev)); - pr_err("md/raid0: please set raid0.default_layout to 1 or 2\n"); - err = -EOPNOTSUPP; - goto abort; + conf->layout = RAID0_ALT_MULTIZONE_LAYOUT; + pr_warn("md/raid0:%s: !!! DEFAULTING TO ALTERNATE LAYOUT !!!\n", + mdname(mddev)); + pr_warn("md/raid0: Please set raid0.default_layout to 1 or 2\n"); + pr_warn("md/raid0: Read the following page for more information:\n"); + pr_warn("md/raid0: https://wiki.ubuntu.com/Kernel/Raid0LayoutMigration\n"); } pr_debug("md/raid0:%s: done.\n", mdname(mddev)); --- linux-gcp-5.19.0.orig/drivers/md/raid1.c +++ linux-gcp-5.19.0/drivers/md/raid1.c @@ -3159,6 +3159,7 @@ * RAID1 needs at least one disk in active */ if (conf->raid_disks - mddev->degraded < 1) { + md_unregister_thread(&conf->thread); ret = -EINVAL; goto abort; } --- linux-gcp-5.19.0.orig/drivers/md/raid10.c +++ linux-gcp-5.19.0/drivers/md/raid10.c @@ -2167,9 +2167,12 @@ int err = 0; int number = rdev->raid_disk; struct md_rdev **rdevp; - struct raid10_info *p = conf->mirrors + number; + struct raid10_info *p; print_conf(conf); + if (unlikely(number >= mddev->raid_disks)) + return 0; + p = conf->mirrors + number; if (rdev == p->rdev) rdevp = &p->rdev; else if (rdev == p->replacement) --- linux-gcp-5.19.0.orig/drivers/md/raid5.c +++ linux-gcp-5.19.0/drivers/md/raid5.c @@ -36,6 +36,7 @@ */ #include +#include #include #include #include @@ -2881,10 +2882,10 @@ if (!test_and_clear_bit(R5_DOUBLE_LOCKED, &sh->dev[i].flags)) clear_bit(R5_LOCKED, &sh->dev[i].flags); set_bit(STRIPE_HANDLE, &sh->state); - raid5_release_stripe(sh); if (sh->batch_head && sh != sh->batch_head) raid5_release_stripe(sh->batch_head); + raid5_release_stripe(sh); } static void raid5_error(struct mddev *mddev, struct md_rdev *rdev) @@ -3951,7 +3952,7 @@ * back cache (prexor with orig_page, and then xor with * page) in the read path */ - if (s->injournal && s->failed) { + if (s->to_read && s->injournal && s->failed) { if (test_bit(STRIPE_R5C_CACHING, &sh->state)) r5c_make_stripe_write_out(sh); goto out; @@ -5446,7 +5447,6 @@ if (is_badblock(rdev, sector, bio_sectors(raid_bio), &first_bad, &bad_sectors)) { - bio_put(raid_bio); rdev_dec_pending(rdev, mddev); return 0; } @@ -5841,7 +5841,7 @@ if ((bi->bi_opf & REQ_NOWAIT) && (conf->reshape_progress != MaxSector) && (mddev->reshape_backwards - ? (logical_sector > conf->reshape_progress && logical_sector <= conf->reshape_safe) + ? (logical_sector >= conf->reshape_progress && logical_sector < conf->reshape_safe) : (logical_sector >= conf->reshape_safe && logical_sector < conf->reshape_progress))) { bio_wouldblock_error(bi); if (rw == WRITE) @@ -6553,7 +6553,18 @@ spin_unlock_irq(&conf->device_lock); md_check_recovery(mddev); spin_lock_irq(&conf->device_lock); + + /* + * Waiting on MD_SB_CHANGE_PENDING below may deadlock + * seeing md_check_recovery() is needed to clear + * the flag when using mdmon. + */ + continue; } + + wait_event_lock_irq(mddev->sb_wait, + !test_bit(MD_SB_CHANGE_PENDING, &mddev->sb_flags), + conf->device_lock); } pr_debug("%d stripes handled\n", handled); --- linux-gcp-5.19.0.orig/drivers/media/cec/platform/cros-ec/cros-ec-cec.c +++ linux-gcp-5.19.0/drivers/media/cec/platform/cros-ec/cros-ec-cec.c @@ -44,6 +44,8 @@ uint8_t *cec_message = cros_ec->event_data.data.cec_message; unsigned int len = cros_ec->event_size; + if (len > CEC_MAX_MSG_SIZE) + len = CEC_MAX_MSG_SIZE; cros_ec_cec->rx_msg.len = len; memcpy(cros_ec_cec->rx_msg.msg, cec_message, len); --- linux-gcp-5.19.0.orig/drivers/media/cec/platform/s5p/s5p_cec.c +++ linux-gcp-5.19.0/drivers/media/cec/platform/s5p/s5p_cec.c @@ -115,6 +115,8 @@ dev_dbg(cec->dev, "Buffer overrun (worker did not process previous message)\n"); cec->rx = STATE_BUSY; cec->msg.len = status >> 24; + if (cec->msg.len > CEC_MAX_MSG_SIZE) + cec->msg.len = CEC_MAX_MSG_SIZE; cec->msg.rx_status = CEC_RX_STATUS_OK; s5p_cec_get_rx_buf(cec, cec->msg.len, cec->msg.msg); --- linux-gcp-5.19.0.orig/drivers/media/common/videobuf2/frame_vector.c +++ linux-gcp-5.19.0/drivers/media/common/videobuf2/frame_vector.c @@ -35,11 +35,7 @@ int get_vaddr_frames(unsigned long start, unsigned int nr_frames, struct frame_vector *vec) { - struct mm_struct *mm = current->mm; - struct vm_area_struct *vma; - int ret_pin_user_pages_fast = 0; - int ret = 0; - int err; + int ret; if (nr_frames == 0) return 0; @@ -52,57 +48,17 @@ ret = pin_user_pages_fast(start, nr_frames, FOLL_FORCE | FOLL_WRITE | FOLL_LONGTERM, (struct page **)(vec->ptrs)); - if (ret > 0) { - vec->got_ref = true; - vec->is_pfns = false; - goto out_unlocked; - } - ret_pin_user_pages_fast = ret; - - mmap_read_lock(mm); - vec->got_ref = false; - vec->is_pfns = true; - ret = 0; - do { - unsigned long *nums = frame_vector_pfns(vec); - - vma = vma_lookup(mm, start); - if (!vma) - break; - - while (ret < nr_frames && start + PAGE_SIZE <= vma->vm_end) { - err = follow_pfn(vma, start, &nums[ret]); - if (err) { - if (ret) - goto out; - // If follow_pfn() returns -EINVAL, then this - // is not an IO mapping or a raw PFN mapping. - // In that case, return the original error from - // pin_user_pages_fast(). Otherwise this - // function would return -EINVAL when - // pin_user_pages_fast() returned -ENOMEM, - // which makes debugging hard. - if (err == -EINVAL && ret_pin_user_pages_fast) - ret = ret_pin_user_pages_fast; - else - ret = err; - goto out; - } - start += PAGE_SIZE; - ret++; - } - /* Bail out if VMA doesn't completely cover the tail page. */ - if (start < vma->vm_end) - break; - } while (ret < nr_frames); -out: - mmap_read_unlock(mm); -out_unlocked: - if (!ret) - ret = -EFAULT; - if (ret > 0) - vec->nr_frames = ret; - return ret; + vec->got_ref = true; + vec->is_pfns = false; + vec->nr_frames = ret; + + if (likely(ret > 0)) + return ret; + + /* This used to (racily) return non-refcounted pfns. Let people know */ + WARN_ONCE(1, "get_vaddr_frames() cannot follow VM_IO mapping"); + vec->nr_frames = 0; + return ret ? ret : -EFAULT; } EXPORT_SYMBOL(get_vaddr_frames); --- linux-gcp-5.19.0.orig/drivers/media/common/videobuf2/videobuf2-core.c +++ linux-gcp-5.19.0/drivers/media/common/videobuf2/videobuf2-core.c @@ -813,7 +813,13 @@ num_buffers = max_t(unsigned int, *count, q->min_buffers_needed); num_buffers = min_t(unsigned int, num_buffers, VB2_MAX_FRAME); memset(q->alloc_devs, 0, sizeof(q->alloc_devs)); + /* + * Set this now to ensure that drivers see the correct q->memory value + * in the queue_setup op. + */ + mutex_lock(&q->mmap_lock); q->memory = memory; + mutex_unlock(&q->mmap_lock); set_queue_coherency(q, non_coherent_mem); /* @@ -823,22 +829,27 @@ ret = call_qop(q, queue_setup, q, &num_buffers, &num_planes, plane_sizes, q->alloc_devs); if (ret) - return ret; + goto error; /* Check that driver has set sane values */ - if (WARN_ON(!num_planes)) - return -EINVAL; + if (WARN_ON(!num_planes)) { + ret = -EINVAL; + goto error; + } for (i = 0; i < num_planes; i++) - if (WARN_ON(!plane_sizes[i])) - return -EINVAL; + if (WARN_ON(!plane_sizes[i])) { + ret = -EINVAL; + goto error; + } /* Finally, allocate buffers and video memory */ allocated_buffers = __vb2_queue_alloc(q, memory, num_buffers, num_planes, plane_sizes); if (allocated_buffers == 0) { dprintk(q, 1, "memory allocation failed\n"); - return -ENOMEM; + ret = -ENOMEM; + goto error; } /* @@ -879,7 +890,8 @@ if (ret < 0) { /* * Note: __vb2_queue_free() will subtract 'allocated_buffers' - * from q->num_buffers. + * from q->num_buffers and it will reset q->memory to + * VB2_MEMORY_UNKNOWN. */ __vb2_queue_free(q, allocated_buffers); mutex_unlock(&q->mmap_lock); @@ -895,6 +907,12 @@ q->waiting_for_buffers = !q->is_output; return 0; + +error: + mutex_lock(&q->mmap_lock); + q->memory = VB2_MEMORY_UNKNOWN; + mutex_unlock(&q->mmap_lock); + return ret; } EXPORT_SYMBOL_GPL(vb2_core_reqbufs); @@ -906,6 +924,7 @@ unsigned int num_planes = 0, num_buffers, allocated_buffers; unsigned plane_sizes[VB2_MAX_PLANES] = { }; bool non_coherent_mem = flags & V4L2_MEMORY_FLAG_NON_COHERENT; + bool no_previous_buffers = !q->num_buffers; int ret; if (q->num_buffers == VB2_MAX_FRAME) { @@ -913,13 +932,19 @@ return -ENOBUFS; } - if (!q->num_buffers) { + if (no_previous_buffers) { if (q->waiting_in_dqbuf && *count) { dprintk(q, 1, "another dup()ped fd is waiting for a buffer\n"); return -EBUSY; } memset(q->alloc_devs, 0, sizeof(q->alloc_devs)); + /* + * Set this now to ensure that drivers see the correct q->memory + * value in the queue_setup op. + */ + mutex_lock(&q->mmap_lock); q->memory = memory; + mutex_unlock(&q->mmap_lock); q->waiting_for_buffers = !q->is_output; set_queue_coherency(q, non_coherent_mem); } else { @@ -945,14 +970,15 @@ ret = call_qop(q, queue_setup, q, &num_buffers, &num_planes, plane_sizes, q->alloc_devs); if (ret) - return ret; + goto error; /* Finally, allocate buffers and video memory */ allocated_buffers = __vb2_queue_alloc(q, memory, num_buffers, num_planes, plane_sizes); if (allocated_buffers == 0) { dprintk(q, 1, "memory allocation failed\n"); - return -ENOMEM; + ret = -ENOMEM; + goto error; } /* @@ -983,7 +1009,8 @@ if (ret < 0) { /* * Note: __vb2_queue_free() will subtract 'allocated_buffers' - * from q->num_buffers. + * from q->num_buffers and it will reset q->memory to + * VB2_MEMORY_UNKNOWN. */ __vb2_queue_free(q, allocated_buffers); mutex_unlock(&q->mmap_lock); @@ -998,6 +1025,14 @@ *count = allocated_buffers; return 0; + +error: + if (no_previous_buffers) { + mutex_lock(&q->mmap_lock); + q->memory = VB2_MEMORY_UNKNOWN; + mutex_unlock(&q->mmap_lock); + } + return ret; } EXPORT_SYMBOL_GPL(vb2_core_create_bufs); @@ -2165,6 +2200,22 @@ unsigned int buffer, plane; /* + * Sanity checks to ensure the lock is held, MEMORY_MMAP is + * used and fileio isn't active. + */ + lockdep_assert_held(&q->mmap_lock); + + if (q->memory != VB2_MEMORY_MMAP) { + dprintk(q, 1, "queue is not currently set up for mmap\n"); + return -EINVAL; + } + + if (vb2_fileio_is_active(q)) { + dprintk(q, 1, "file io in progress\n"); + return -EBUSY; + } + + /* * Go over all buffers and their planes, comparing the given offset * with an offset assigned to each plane. If a match is found, * return its buffer and plane numbers. @@ -2265,11 +2316,6 @@ int ret; unsigned long length; - if (q->memory != VB2_MEMORY_MMAP) { - dprintk(q, 1, "queue is not currently set up for mmap\n"); - return -EINVAL; - } - /* * Check memory area access mode. */ @@ -2291,14 +2337,9 @@ mutex_lock(&q->mmap_lock); - if (vb2_fileio_is_active(q)) { - dprintk(q, 1, "mmap: file io in progress\n"); - ret = -EBUSY; - goto unlock; - } - /* - * Find the plane corresponding to the offset passed by userspace. + * Find the plane corresponding to the offset passed by userspace. This + * will return an error if not MEMORY_MMAP or file I/O is in progress. */ ret = __find_plane_by_offset(q, off, &buffer, &plane); if (ret) @@ -2351,22 +2392,25 @@ void *vaddr; int ret; - if (q->memory != VB2_MEMORY_MMAP) { - dprintk(q, 1, "queue is not currently set up for mmap\n"); - return -EINVAL; - } + mutex_lock(&q->mmap_lock); /* - * Find the plane corresponding to the offset passed by userspace. + * Find the plane corresponding to the offset passed by userspace. This + * will return an error if not MEMORY_MMAP or file I/O is in progress. */ ret = __find_plane_by_offset(q, off, &buffer, &plane); if (ret) - return ret; + goto unlock; vb = q->bufs[buffer]; vaddr = vb2_plane_vaddr(vb, plane); + mutex_unlock(&q->mmap_lock); return vaddr ? (unsigned long)vaddr : -EINVAL; + +unlock: + mutex_unlock(&q->mmap_lock); + return ret; } EXPORT_SYMBOL_GPL(vb2_get_unmapped_area); #endif --- linux-gcp-5.19.0.orig/drivers/media/dvb-core/dmxdev.c +++ linux-gcp-5.19.0/drivers/media/dvb-core/dmxdev.c @@ -790,6 +790,11 @@ if (mutex_lock_interruptible(&dmxdev->mutex)) return -ERESTARTSYS; + if (dmxdev->exit) { + mutex_unlock(&dmxdev->mutex); + return -ENODEV; + } + for (i = 0; i < dmxdev->filternum; i++) if (dmxdev->filter[i].state == DMXDEV_STATE_FREE) break; @@ -1448,7 +1453,10 @@ void dvb_dmxdev_release(struct dmxdev *dmxdev) { + mutex_lock(&dmxdev->mutex); dmxdev->exit = 1; + mutex_unlock(&dmxdev->mutex); + if (dmxdev->dvbdev->users > 1) { wait_event(dmxdev->dvbdev->wait_queue, dmxdev->dvbdev->users == 1); --- linux-gcp-5.19.0.orig/drivers/media/dvb-core/dvb_ca_en50221.c +++ linux-gcp-5.19.0/drivers/media/dvb-core/dvb_ca_en50221.c @@ -157,7 +157,7 @@ { unsigned int i; - dvb_free_device(ca->dvbdev); + dvb_device_put(ca->dvbdev); for (i = 0; i < ca->slot_count; i++) vfree(ca->slot_info[i].rx_buffer.data); --- linux-gcp-5.19.0.orig/drivers/media/dvb-core/dvb_frontend.c +++ linux-gcp-5.19.0/drivers/media/dvb-core/dvb_frontend.c @@ -136,7 +136,7 @@ struct dvb_frontend_private *fepriv = fe->frontend_priv; if (fepriv) - dvb_free_device(fepriv->dvbdev); + dvb_device_put(fepriv->dvbdev); dvb_frontend_invoke_release(fe, fe->ops.release); @@ -2986,6 +2986,7 @@ .name = fe->ops.info.name, #endif }; + int ret; dev_dbg(dvb->device, "%s:\n", __func__); @@ -3019,8 +3020,13 @@ "DVB: registering adapter %i frontend %i (%s)...\n", fe->dvb->num, fe->id, fe->ops.info.name); - dvb_register_device(fe->dvb, &fepriv->dvbdev, &dvbdev_template, + ret = dvb_register_device(fe->dvb, &fepriv->dvbdev, &dvbdev_template, fe, DVB_DEVICE_FRONTEND, 0); + if (ret) { + dvb_frontend_put(fe); + mutex_unlock(&frontend_mutex); + return ret; + } /* * Initialize the cache to the proper values according with the --- linux-gcp-5.19.0.orig/drivers/media/dvb-core/dvb_vb2.c +++ linux-gcp-5.19.0/drivers/media/dvb-core/dvb_vb2.c @@ -354,6 +354,12 @@ int dvb_vb2_querybuf(struct dvb_vb2_ctx *ctx, struct dmx_buffer *b) { + struct vb2_queue *q = &ctx->vb_q; + + if (b->index >= q->num_buffers) { + dprintk(1, "[%s] buffer index out of range\n", ctx->name); + return -EINVAL; + } vb2_core_querybuf(&ctx->vb_q, b->index, b); dprintk(3, "[%s] index=%d\n", ctx->name, b->index); return 0; @@ -378,8 +384,13 @@ int dvb_vb2_qbuf(struct dvb_vb2_ctx *ctx, struct dmx_buffer *b) { + struct vb2_queue *q = &ctx->vb_q; int ret; + if (b->index >= q->num_buffers) { + dprintk(1, "[%s] buffer index out of range\n", ctx->name); + return -EINVAL; + } ret = vb2_core_qbuf(&ctx->vb_q, b->index, b, NULL); if (ret) { dprintk(1, "[%s] index=%d errno=%d\n", ctx->name, --- linux-gcp-5.19.0.orig/drivers/media/dvb-core/dvbdev.c +++ linux-gcp-5.19.0/drivers/media/dvb-core/dvbdev.c @@ -97,7 +97,7 @@ new_fops = fops_get(dvbdev->fops); if (!new_fops) goto fail; - file->private_data = dvbdev; + file->private_data = dvb_device_get(dvbdev); replace_fops(file, new_fops); if (file->f_op->open) err = file->f_op->open(inode, file); @@ -161,6 +161,9 @@ } dvbdev->users++; + + dvb_device_put(dvbdev); + return 0; } EXPORT_SYMBOL(dvb_generic_release); @@ -332,6 +335,7 @@ GFP_KERNEL); if (!dvbdev->pads) { kfree(dvbdev->entity); + dvbdev->entity = NULL; return -ENOMEM; } } @@ -478,6 +482,7 @@ } memcpy(dvbdev, template, sizeof(struct dvb_device)); + kref_init(&dvbdev->ref); dvbdev->type = type; dvbdev->id = id; dvbdev->adapter = adap; @@ -508,7 +513,7 @@ #endif dvbdev->minor = minor; - dvb_minors[minor] = dvbdev; + dvb_minors[minor] = dvb_device_get(dvbdev); up_write(&minor_rwsem); ret = dvb_register_media_device(dvbdev, type, minor, demux_sink_pads); @@ -553,6 +558,7 @@ down_write(&minor_rwsem); dvb_minors[dvbdev->minor] = NULL; + dvb_device_put(dvbdev); up_write(&minor_rwsem); dvb_media_device_free(dvbdev); @@ -564,21 +570,34 @@ EXPORT_SYMBOL(dvb_remove_device); -void dvb_free_device(struct dvb_device *dvbdev) +static void dvb_free_device(struct kref *ref) { - if (!dvbdev) - return; + struct dvb_device *dvbdev = container_of(ref, struct dvb_device, ref); kfree (dvbdev->fops); kfree (dvbdev); } -EXPORT_SYMBOL(dvb_free_device); + + +struct dvb_device *dvb_device_get(struct dvb_device *dvbdev) +{ + kref_get(&dvbdev->ref); + return dvbdev; +} +EXPORT_SYMBOL(dvb_device_get); + + +void dvb_device_put(struct dvb_device *dvbdev) +{ + if (dvbdev) + kref_put(&dvbdev->ref, dvb_free_device); +} void dvb_unregister_device(struct dvb_device *dvbdev) { dvb_remove_device(dvbdev); - dvb_free_device(dvbdev); + dvb_device_put(dvbdev); } EXPORT_SYMBOL(dvb_unregister_device); --- linux-gcp-5.19.0.orig/drivers/media/dvb-frontends/bcm3510.c +++ linux-gcp-5.19.0/drivers/media/dvb-frontends/bcm3510.c @@ -649,6 +649,7 @@ deb_info("firmware chunk, addr: 0x%04x, len: 0x%04x, total length: 0x%04zx\n",addr,len,fw->size); if ((ret = bcm3510_write_ram(st,addr,&b[i+4],len)) < 0) { err("firmware download failed: %d\n",ret); + release_firmware(fw); return ret; } i += 4 + len; --- linux-gcp-5.19.0.orig/drivers/media/dvb-frontends/drxk_hard.c +++ linux-gcp-5.19.0/drivers/media/dvb-frontends/drxk_hard.c @@ -6660,7 +6660,7 @@ static int drxk_read_ucblocks(struct dvb_frontend *fe, u32 *ucblocks) { struct drxk_state *state = fe->demodulator_priv; - u16 err; + u16 err = 0; dprintk(1, "\n"); --- linux-gcp-5.19.0.orig/drivers/media/dvb-frontends/stv0288.c +++ linux-gcp-5.19.0/drivers/media/dvb-frontends/stv0288.c @@ -440,9 +440,8 @@ struct stv0288_state *state = fe->demodulator_priv; struct dtv_frontend_properties *c = &fe->dtv_property_cache; - char tm; - unsigned char tda[3]; - u8 reg, time_out = 0; + u8 tda[3], reg, time_out = 0; + s8 tm; dprintk("%s : FE_SET_FRONTEND\n", __func__); --- linux-gcp-5.19.0.orig/drivers/media/i2c/Kconfig +++ linux-gcp-5.19.0/drivers/media/i2c/Kconfig @@ -1178,6 +1178,7 @@ depends on OF_GPIO select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API + select V4L2_FWNODE help Support for Intersil ISL7998x analog to MIPI-CSI2 or BT.656 decoder. --- linux-gcp-5.19.0.orig/drivers/media/i2c/ad5820.c +++ linux-gcp-5.19.0/drivers/media/i2c/ad5820.c @@ -327,18 +327,18 @@ ret = media_entity_pads_init(&coil->subdev.entity, 0, NULL); if (ret < 0) - goto cleanup2; + goto clean_mutex; ret = v4l2_async_register_subdev(&coil->subdev); if (ret < 0) - goto cleanup; + goto clean_entity; return ret; -cleanup2: - mutex_destroy(&coil->power_lock); -cleanup: +clean_entity: media_entity_cleanup(&coil->subdev.entity); +clean_mutex: + mutex_destroy(&coil->power_lock); return ret; } --- linux-gcp-5.19.0.orig/drivers/media/i2c/adv748x/adv748x-afe.c +++ linux-gcp-5.19.0/drivers/media/i2c/adv748x/adv748x-afe.c @@ -521,6 +521,10 @@ } } + adv748x_afe_s_input(afe, afe->input); + + adv_dbg(state, "AFE Default input set to %d\n", afe->input); + /* Entity pads and sinks are 0-indexed to match the pads */ for (i = ADV748X_AFE_SINK_AIN0; i <= ADV748X_AFE_SINK_AIN7; i++) afe->pads[i].flags = MEDIA_PAD_FL_SINK; --- linux-gcp-5.19.0.orig/drivers/media/i2c/dw9768.c +++ linux-gcp-5.19.0/drivers/media/i2c/dw9768.c @@ -414,6 +414,7 @@ { struct device *dev = &client->dev; struct dw9768 *dw9768; + bool full_power; unsigned int i; int ret; @@ -469,13 +470,23 @@ dw9768->sd.entity.function = MEDIA_ENT_F_LENS; + /* + * Figure out whether we're going to power up the device here. Generally + * this is done if CONFIG_PM is disabled in a DT system or the device is + * to be powered on in an ACPI system. Similarly for power off in + * remove. + */ pm_runtime_enable(dev); - if (!pm_runtime_enabled(dev)) { + full_power = (is_acpi_node(dev_fwnode(dev)) && + acpi_dev_state_d0(dev)) || + (is_of_node(dev_fwnode(dev)) && !pm_runtime_enabled(dev)); + if (full_power) { ret = dw9768_runtime_resume(dev); if (ret < 0) { dev_err(dev, "failed to power on: %d\n", ret); goto err_clean_entity; } + pm_runtime_set_active(dev); } ret = v4l2_async_register_subdev(&dw9768->sd); @@ -484,14 +495,17 @@ goto err_power_off; } + pm_runtime_idle(dev); + return 0; err_power_off: - if (pm_runtime_enabled(dev)) - pm_runtime_disable(dev); - else + if (full_power) { dw9768_runtime_suspend(dev); + pm_runtime_set_suspended(dev); + } err_clean_entity: + pm_runtime_disable(dev); media_entity_cleanup(&dw9768->sd.entity); err_free_handler: v4l2_ctrl_handler_free(&dw9768->ctrls); @@ -503,14 +517,17 @@ { struct v4l2_subdev *sd = i2c_get_clientdata(client); struct dw9768 *dw9768 = sd_to_dw9768(sd); + struct device *dev = &client->dev; v4l2_async_unregister_subdev(&dw9768->sd); v4l2_ctrl_handler_free(&dw9768->ctrls); media_entity_cleanup(&dw9768->sd.entity); - pm_runtime_disable(&client->dev); - if (!pm_runtime_status_suspended(&client->dev)) - dw9768_runtime_suspend(&client->dev); - pm_runtime_set_suspended(&client->dev); + if ((is_acpi_node(dev_fwnode(dev)) && acpi_dev_state_d0(dev)) || + (is_of_node(dev_fwnode(dev)) && !pm_runtime_enabled(dev))) { + dw9768_runtime_suspend(dev); + pm_runtime_set_suspended(dev); + } + pm_runtime_disable(dev); return 0; } --- linux-gcp-5.19.0.orig/drivers/media/i2c/hi846.c +++ linux-gcp-5.19.0/drivers/media/i2c/hi846.c @@ -2008,22 +2008,24 @@ bus_cfg.bus.mipi_csi2.num_data_lanes != 4) { dev_err(dev, "number of CSI2 data lanes %d is not supported", bus_cfg.bus.mipi_csi2.num_data_lanes); - v4l2_fwnode_endpoint_free(&bus_cfg); - return -EINVAL; + ret = -EINVAL; + goto check_hwcfg_error; } hi846->nr_lanes = bus_cfg.bus.mipi_csi2.num_data_lanes; if (!bus_cfg.nr_of_link_frequencies) { dev_err(dev, "link-frequency property not found in DT\n"); - return -EINVAL; + ret = -EINVAL; + goto check_hwcfg_error; } /* Check that link frequences for all the modes are in device tree */ fq = hi846_check_link_freqs(hi846, &bus_cfg); if (fq) { dev_err(dev, "Link frequency of %lld is not supported\n", fq); - return -EINVAL; + ret = -EINVAL; + goto check_hwcfg_error; } v4l2_fwnode_endpoint_free(&bus_cfg); @@ -2044,6 +2046,10 @@ } return 0; + +check_hwcfg_error: + v4l2_fwnode_endpoint_free(&bus_cfg); + return ret; } static int hi846_probe(struct i2c_client *client) --- linux-gcp-5.19.0.orig/drivers/media/i2c/imx219.c +++ linux-gcp-5.19.0/drivers/media/i2c/imx219.c @@ -89,6 +89,12 @@ #define IMX219_REG_ORIENTATION 0x0172 +/* Binning Mode */ +#define IMX219_REG_BINNING_MODE 0x0174 +#define IMX219_BINNING_NONE 0x0000 +#define IMX219_BINNING_2X2 0x0101 +#define IMX219_BINNING_2X2_ANALOG 0x0303 + /* Test Pattern Control */ #define IMX219_REG_TEST_PATTERN 0x0600 #define IMX219_TEST_PATTERN_DISABLE 0 @@ -143,25 +149,66 @@ /* Default register values */ struct imx219_reg_list reg_list; + + /* 2x2 binning is used */ + bool binning; }; -/* - * Register sets lifted off the i2C interface from the Raspberry Pi firmware - * driver. - * 3280x2464 = mode 2, 1920x1080 = mode 1, 1640x1232 = mode 4, 640x480 = mode 7. - */ -static const struct imx219_reg mode_3280x2464_regs[] = { - {0x0100, 0x00}, +static const struct imx219_reg imx219_common_regs[] = { + {0x0100, 0x00}, /* Mode Select */ + + /* To Access Addresses 3000-5fff, send the following commands */ {0x30eb, 0x0c}, {0x30eb, 0x05}, {0x300a, 0xff}, {0x300b, 0xff}, {0x30eb, 0x05}, {0x30eb, 0x09}, - {0x0114, 0x01}, - {0x0128, 0x00}, - {0x012a, 0x18}, + + /* PLL Clock Table */ + {0x0301, 0x05}, /* VTPXCK_DIV */ + {0x0303, 0x01}, /* VTSYSCK_DIV */ + {0x0304, 0x03}, /* PREPLLCK_VT_DIV 0x03 = AUTO set */ + {0x0305, 0x03}, /* PREPLLCK_OP_DIV 0x03 = AUTO set */ + {0x0306, 0x00}, /* PLL_VT_MPY */ + {0x0307, 0x39}, + {0x030b, 0x01}, /* OP_SYS_CLK_DIV */ + {0x030c, 0x00}, /* PLL_OP_MPY */ + {0x030d, 0x72}, + + /* Undocumented registers */ + {0x455e, 0x00}, + {0x471e, 0x4b}, + {0x4767, 0x0f}, + {0x4750, 0x14}, + {0x4540, 0x00}, + {0x47b4, 0x14}, + {0x4713, 0x30}, + {0x478b, 0x10}, + {0x478f, 0x10}, + {0x4793, 0x10}, + {0x4797, 0x0e}, + {0x479b, 0x0e}, + + /* Frame Bank Register Group "A" */ + {0x0162, 0x0d}, /* Line_Length_A */ + {0x0163, 0x78}, + {0x0170, 0x01}, /* X_ODD_INC_A */ + {0x0171, 0x01}, /* Y_ODD_INC_A */ + + /* Output setup registers */ + {0x0114, 0x01}, /* CSI 2-Lane Mode */ + {0x0128, 0x00}, /* DPHY Auto Mode */ + {0x012a, 0x18}, /* EXCK_Freq */ {0x012b, 0x00}, +}; + +/* + * Register sets lifted off the i2C interface from the Raspberry Pi firmware + * driver. + * 3280x2464 = mode 2, 1920x1080 = mode 1, 1640x1232 = mode 4, 640x480 = mode 7. + */ +static const struct imx219_reg mode_3280x2464_regs[] = { {0x0164, 0x00}, {0x0165, 0x00}, {0x0166, 0x0c}, @@ -174,53 +221,13 @@ {0x016d, 0xd0}, {0x016e, 0x09}, {0x016f, 0xa0}, - {0x0170, 0x01}, - {0x0171, 0x01}, - {0x0174, 0x00}, - {0x0175, 0x00}, - {0x0301, 0x05}, - {0x0303, 0x01}, - {0x0304, 0x03}, - {0x0305, 0x03}, - {0x0306, 0x00}, - {0x0307, 0x39}, - {0x030b, 0x01}, - {0x030c, 0x00}, - {0x030d, 0x72}, {0x0624, 0x0c}, {0x0625, 0xd0}, {0x0626, 0x09}, {0x0627, 0xa0}, - {0x455e, 0x00}, - {0x471e, 0x4b}, - {0x4767, 0x0f}, - {0x4750, 0x14}, - {0x4540, 0x00}, - {0x47b4, 0x14}, - {0x4713, 0x30}, - {0x478b, 0x10}, - {0x478f, 0x10}, - {0x4793, 0x10}, - {0x4797, 0x0e}, - {0x479b, 0x0e}, - {0x0162, 0x0d}, - {0x0163, 0x78}, }; static const struct imx219_reg mode_1920_1080_regs[] = { - {0x0100, 0x00}, - {0x30eb, 0x05}, - {0x30eb, 0x0c}, - {0x300a, 0xff}, - {0x300b, 0xff}, - {0x30eb, 0x05}, - {0x30eb, 0x09}, - {0x0114, 0x01}, - {0x0128, 0x00}, - {0x012a, 0x18}, - {0x012b, 0x00}, - {0x0162, 0x0d}, - {0x0163, 0x78}, {0x0164, 0x02}, {0x0165, 0xa8}, {0x0166, 0x0a}, @@ -233,49 +240,13 @@ {0x016d, 0x80}, {0x016e, 0x04}, {0x016f, 0x38}, - {0x0170, 0x01}, - {0x0171, 0x01}, - {0x0174, 0x00}, - {0x0175, 0x00}, - {0x0301, 0x05}, - {0x0303, 0x01}, - {0x0304, 0x03}, - {0x0305, 0x03}, - {0x0306, 0x00}, - {0x0307, 0x39}, - {0x030b, 0x01}, - {0x030c, 0x00}, - {0x030d, 0x72}, {0x0624, 0x07}, {0x0625, 0x80}, {0x0626, 0x04}, {0x0627, 0x38}, - {0x455e, 0x00}, - {0x471e, 0x4b}, - {0x4767, 0x0f}, - {0x4750, 0x14}, - {0x4540, 0x00}, - {0x47b4, 0x14}, - {0x4713, 0x30}, - {0x478b, 0x10}, - {0x478f, 0x10}, - {0x4793, 0x10}, - {0x4797, 0x0e}, - {0x479b, 0x0e}, }; static const struct imx219_reg mode_1640_1232_regs[] = { - {0x0100, 0x00}, - {0x30eb, 0x0c}, - {0x30eb, 0x05}, - {0x300a, 0xff}, - {0x300b, 0xff}, - {0x30eb, 0x05}, - {0x30eb, 0x09}, - {0x0114, 0x01}, - {0x0128, 0x00}, - {0x012a, 0x18}, - {0x012b, 0x00}, {0x0164, 0x00}, {0x0165, 0x00}, {0x0166, 0x0c}, @@ -288,53 +259,13 @@ {0x016d, 0x68}, {0x016e, 0x04}, {0x016f, 0xd0}, - {0x0170, 0x01}, - {0x0171, 0x01}, - {0x0174, 0x01}, - {0x0175, 0x01}, - {0x0301, 0x05}, - {0x0303, 0x01}, - {0x0304, 0x03}, - {0x0305, 0x03}, - {0x0306, 0x00}, - {0x0307, 0x39}, - {0x030b, 0x01}, - {0x030c, 0x00}, - {0x030d, 0x72}, {0x0624, 0x06}, {0x0625, 0x68}, {0x0626, 0x04}, {0x0627, 0xd0}, - {0x455e, 0x00}, - {0x471e, 0x4b}, - {0x4767, 0x0f}, - {0x4750, 0x14}, - {0x4540, 0x00}, - {0x47b4, 0x14}, - {0x4713, 0x30}, - {0x478b, 0x10}, - {0x478f, 0x10}, - {0x4793, 0x10}, - {0x4797, 0x0e}, - {0x479b, 0x0e}, - {0x0162, 0x0d}, - {0x0163, 0x78}, }; static const struct imx219_reg mode_640_480_regs[] = { - {0x0100, 0x00}, - {0x30eb, 0x05}, - {0x30eb, 0x0c}, - {0x300a, 0xff}, - {0x300b, 0xff}, - {0x30eb, 0x05}, - {0x30eb, 0x09}, - {0x0114, 0x01}, - {0x0128, 0x00}, - {0x012a, 0x18}, - {0x012b, 0x00}, - {0x0162, 0x0d}, - {0x0163, 0x78}, {0x0164, 0x03}, {0x0165, 0xe8}, {0x0166, 0x08}, @@ -347,35 +278,10 @@ {0x016d, 0x80}, {0x016e, 0x01}, {0x016f, 0xe0}, - {0x0170, 0x01}, - {0x0171, 0x01}, - {0x0174, 0x03}, - {0x0175, 0x03}, - {0x0301, 0x05}, - {0x0303, 0x01}, - {0x0304, 0x03}, - {0x0305, 0x03}, - {0x0306, 0x00}, - {0x0307, 0x39}, - {0x030b, 0x01}, - {0x030c, 0x00}, - {0x030d, 0x72}, {0x0624, 0x06}, {0x0625, 0x68}, {0x0626, 0x04}, {0x0627, 0xd0}, - {0x455e, 0x00}, - {0x471e, 0x4b}, - {0x4767, 0x0f}, - {0x4750, 0x14}, - {0x4540, 0x00}, - {0x47b4, 0x14}, - {0x4713, 0x30}, - {0x478b, 0x10}, - {0x478f, 0x10}, - {0x4793, 0x10}, - {0x4797, 0x0e}, - {0x479b, 0x0e}, }; static const struct imx219_reg raw8_framefmt_regs[] = { @@ -485,6 +391,7 @@ .num_of_regs = ARRAY_SIZE(mode_3280x2464_regs), .regs = mode_3280x2464_regs, }, + .binning = false, }, { /* 1080P 30fps cropped */ @@ -501,6 +408,7 @@ .num_of_regs = ARRAY_SIZE(mode_1920_1080_regs), .regs = mode_1920_1080_regs, }, + .binning = false, }, { /* 2x2 binned 30fps mode */ @@ -517,6 +425,7 @@ .num_of_regs = ARRAY_SIZE(mode_1640_1232_regs), .regs = mode_1640_1232_regs, }, + .binning = true, }, { /* 640x480 30fps mode */ @@ -533,6 +442,7 @@ .num_of_regs = ARRAY_SIZE(mode_640_480_regs), .regs = mode_640_480_regs, }, + .binning = true, }, }; @@ -979,6 +889,35 @@ return -EINVAL; } +static int imx219_set_binning(struct imx219 *imx219) +{ + if (!imx219->mode->binning) { + return imx219_write_reg(imx219, IMX219_REG_BINNING_MODE, + IMX219_REG_VALUE_16BIT, + IMX219_BINNING_NONE); + } + + switch (imx219->fmt.code) { + case MEDIA_BUS_FMT_SRGGB8_1X8: + case MEDIA_BUS_FMT_SGRBG8_1X8: + case MEDIA_BUS_FMT_SGBRG8_1X8: + case MEDIA_BUS_FMT_SBGGR8_1X8: + return imx219_write_reg(imx219, IMX219_REG_BINNING_MODE, + IMX219_REG_VALUE_16BIT, + IMX219_BINNING_2X2_ANALOG); + + case MEDIA_BUS_FMT_SRGGB10_1X10: + case MEDIA_BUS_FMT_SGRBG10_1X10: + case MEDIA_BUS_FMT_SGBRG10_1X10: + case MEDIA_BUS_FMT_SBGGR10_1X10: + return imx219_write_reg(imx219, IMX219_REG_BINNING_MODE, + IMX219_REG_VALUE_16BIT, + IMX219_BINNING_2X2); + } + + return -EINVAL; +} + static const struct v4l2_rect * __imx219_get_pad_crop(struct imx219 *imx219, struct v4l2_subdev_state *sd_state, @@ -1041,6 +980,13 @@ if (ret < 0) return ret; + /* Send all registers that are common to all modes */ + ret = imx219_write_regs(imx219, imx219_common_regs, ARRAY_SIZE(imx219_common_regs)); + if (ret) { + dev_err(&client->dev, "%s failed to send mfg header\n", __func__); + goto err_rpm_put; + } + /* Apply default values of current mode */ reg_list = &imx219->mode->reg_list; ret = imx219_write_regs(imx219, reg_list->regs, reg_list->num_of_regs); @@ -1055,6 +1001,13 @@ __func__, ret); goto err_rpm_put; } + + ret = imx219_set_binning(imx219); + if (ret) { + dev_err(&client->dev, "%s failed to set binning: %d\n", + __func__, ret); + goto err_rpm_put; + } /* Apply customized values from user */ ret = __v4l2_ctrl_handler_setup(imx219->sd.ctrl_handler); --- linux-gcp-5.19.0.orig/drivers/media/i2c/max9286.c +++ linux-gcp-5.19.0/drivers/media/i2c/max9286.c @@ -932,6 +932,7 @@ err_put_node: fwnode_handle_put(ep); err_async: + v4l2_ctrl_handler_free(&priv->ctrls); max9286_v4l2_notifier_unregister(priv); return ret; --- linux-gcp-5.19.0.orig/drivers/media/i2c/ov2740.c +++ linux-gcp-5.19.0/drivers/media/i2c/ov2740.c @@ -630,8 +630,10 @@ V4L2_CID_TEST_PATTERN, ARRAY_SIZE(ov2740_test_pattern_menu) - 1, 0, 0, ov2740_test_pattern_menu); - if (ctrl_hdlr->error) + if (ctrl_hdlr->error) { + v4l2_ctrl_handler_free(ctrl_hdlr); return ctrl_hdlr->error; + } ov2740->sd.ctrl_handler = ctrl_hdlr; --- linux-gcp-5.19.0.orig/drivers/media/i2c/ov5648.c +++ linux-gcp-5.19.0/drivers/media/i2c/ov5648.c @@ -2597,6 +2597,7 @@ v4l2_ctrl_handler_free(&sensor->ctrls.handler); mutex_destroy(&sensor->mutex); media_entity_cleanup(&subdev->entity); + v4l2_fwnode_endpoint_free(&sensor->endpoint); return 0; } --- linux-gcp-5.19.0.orig/drivers/media/i2c/ov5675.c +++ linux-gcp-5.19.0/drivers/media/i2c/ov5675.c @@ -820,8 +820,10 @@ v4l2_ctrl_new_std(ctrl_hdlr, &ov5675_ctrl_ops, V4L2_CID_VFLIP, 0, 1, 1, 0); - if (ctrl_hdlr->error) + if (ctrl_hdlr->error) { + v4l2_ctrl_handler_free(ctrl_hdlr); return ctrl_hdlr->error; + } ov5675->sd.ctrl_handler = ctrl_hdlr; --- linux-gcp-5.19.0.orig/drivers/media/i2c/ov7251.c +++ linux-gcp-5.19.0/drivers/media/i2c/ov7251.c @@ -934,6 +934,8 @@ ARRAY_SIZE(ov7251_global_init_setting)); if (ret < 0) { dev_err(ov7251->dev, "error during global init\n"); + gpiod_set_value_cansleep(ov7251->enable_gpio, 0); + clk_disable_unprepare(ov7251->xclk); ov7251_regulators_disable(ov7251); return ret; } --- linux-gcp-5.19.0.orig/drivers/media/i2c/ov7670.c +++ linux-gcp-5.19.0/drivers/media/i2c/ov7670.c @@ -1841,7 +1841,7 @@ if (bus_cfg.bus_type != V4L2_MBUS_PARALLEL) { dev_err(dev, "Unsupported media bus type\n"); - return ret; + return -EINVAL; } info->mbus_config = bus_cfg.bus.parallel.flags; --- linux-gcp-5.19.0.orig/drivers/media/i2c/ov772x.c +++ linux-gcp-5.19.0/drivers/media/i2c/ov772x.c @@ -1462,7 +1462,7 @@ priv->subdev.ctrl_handler = &priv->hdl; if (priv->hdl.error) { ret = priv->hdl.error; - goto error_mutex_destroy; + goto error_ctrl_free; } priv->clk = clk_get(&client->dev, NULL); @@ -1515,7 +1515,6 @@ clk_put(priv->clk); error_ctrl_free: v4l2_ctrl_handler_free(&priv->hdl); -error_mutex_destroy: mutex_destroy(&priv->lock); return ret; --- linux-gcp-5.19.0.orig/drivers/media/i2c/ov8865.c +++ linux-gcp-5.19.0/drivers/media/i2c/ov8865.c @@ -3034,11 +3034,13 @@ &rate); if (!ret && sensor->extclk) { ret = clk_set_rate(sensor->extclk, rate); - if (ret) - return dev_err_probe(dev, ret, - "failed to set clock rate\n"); + if (ret) { + dev_err_probe(dev, ret, "failed to set clock rate\n"); + goto error_endpoint; + } } else if (ret && !sensor->extclk) { - return dev_err_probe(dev, ret, "invalid clock config\n"); + dev_err_probe(dev, ret, "invalid clock config\n"); + goto error_endpoint; } sensor->extclk_rate = rate ? rate : clk_get_rate(sensor->extclk); --- linux-gcp-5.19.0.orig/drivers/media/pci/cx88/cx88-vbi.c +++ linux-gcp-5.19.0/drivers/media/pci/cx88/cx88-vbi.c @@ -144,11 +144,10 @@ return -EINVAL; vb2_set_plane_payload(vb, 0, size); - cx88_risc_buffer(dev->pci, &buf->risc, sgt->sgl, - 0, VBI_LINE_LENGTH * lines, - VBI_LINE_LENGTH, 0, - lines); - return 0; + return cx88_risc_buffer(dev->pci, &buf->risc, sgt->sgl, + 0, VBI_LINE_LENGTH * lines, + VBI_LINE_LENGTH, 0, + lines); } static void buffer_finish(struct vb2_buffer *vb) --- linux-gcp-5.19.0.orig/drivers/media/pci/cx88/cx88-video.c +++ linux-gcp-5.19.0/drivers/media/pci/cx88/cx88-video.c @@ -431,6 +431,7 @@ static int buffer_prepare(struct vb2_buffer *vb) { + int ret; struct vb2_v4l2_buffer *vbuf = to_vb2_v4l2_buffer(vb); struct cx8800_dev *dev = vb->vb2_queue->drv_priv; struct cx88_core *core = dev->core; @@ -445,35 +446,35 @@ switch (core->field) { case V4L2_FIELD_TOP: - cx88_risc_buffer(dev->pci, &buf->risc, - sgt->sgl, 0, UNSET, - buf->bpl, 0, core->height); + ret = cx88_risc_buffer(dev->pci, &buf->risc, + sgt->sgl, 0, UNSET, + buf->bpl, 0, core->height); break; case V4L2_FIELD_BOTTOM: - cx88_risc_buffer(dev->pci, &buf->risc, - sgt->sgl, UNSET, 0, - buf->bpl, 0, core->height); + ret = cx88_risc_buffer(dev->pci, &buf->risc, + sgt->sgl, UNSET, 0, + buf->bpl, 0, core->height); break; case V4L2_FIELD_SEQ_TB: - cx88_risc_buffer(dev->pci, &buf->risc, - sgt->sgl, - 0, buf->bpl * (core->height >> 1), - buf->bpl, 0, - core->height >> 1); + ret = cx88_risc_buffer(dev->pci, &buf->risc, + sgt->sgl, + 0, buf->bpl * (core->height >> 1), + buf->bpl, 0, + core->height >> 1); break; case V4L2_FIELD_SEQ_BT: - cx88_risc_buffer(dev->pci, &buf->risc, - sgt->sgl, - buf->bpl * (core->height >> 1), 0, - buf->bpl, 0, - core->height >> 1); + ret = cx88_risc_buffer(dev->pci, &buf->risc, + sgt->sgl, + buf->bpl * (core->height >> 1), 0, + buf->bpl, 0, + core->height >> 1); break; case V4L2_FIELD_INTERLACED: default: - cx88_risc_buffer(dev->pci, &buf->risc, - sgt->sgl, 0, buf->bpl, - buf->bpl, buf->bpl, - core->height >> 1); + ret = cx88_risc_buffer(dev->pci, &buf->risc, + sgt->sgl, 0, buf->bpl, + buf->bpl, buf->bpl, + core->height >> 1); break; } dprintk(2, @@ -481,7 +482,7 @@ buf, buf->vb.vb2_buf.index, __func__, core->width, core->height, dev->fmt->depth, dev->fmt->fourcc, (unsigned long)buf->risc.dma); - return 0; + return ret; } static void buffer_finish(struct vb2_buffer *vb) --- linux-gcp-5.19.0.orig/drivers/media/pci/intel/ipu3/ipu3-cio2-main.c +++ linux-gcp-5.19.0/drivers/media/pci/intel/ipu3/ipu3-cio2-main.c @@ -1843,6 +1843,9 @@ v4l2_device_unregister(&cio2->v4l2_dev); media_device_cleanup(&cio2->media_dev); mutex_destroy(&cio2->lock); + + pm_runtime_forbid(&pci_dev->dev); + pm_runtime_get_noresume(&pci_dev->dev); } static int __maybe_unused cio2_runtime_suspend(struct device *dev) --- linux-gcp-5.19.0.orig/drivers/media/pci/saa7134/saa7134-core.c +++ linux-gcp-5.19.0/drivers/media/pci/saa7134/saa7134-core.c @@ -978,7 +978,7 @@ } if (dev->radio_dev) { if (video_is_registered(dev->radio_dev)) - vb2_video_unregister_device(dev->radio_dev); + video_unregister_device(dev->radio_dev); else video_device_release(dev->radio_dev); dev->radio_dev = NULL; --- linux-gcp-5.19.0.orig/drivers/media/pci/saa7164/saa7164-core.c +++ linux-gcp-5.19.0/drivers/media/pci/saa7164/saa7164-core.c @@ -1259,7 +1259,7 @@ if (saa7164_dev_setup(dev) < 0) { err = -EINVAL; - goto fail_free; + goto fail_dev; } /* print pci info */ @@ -1427,6 +1427,8 @@ fail_irq: saa7164_dev_unregister(dev); +fail_dev: + pci_disable_device(pci_dev); fail_free: v4l2_device_unregister(&dev->v4l2_dev); kfree(dev); --- linux-gcp-5.19.0.orig/drivers/media/pci/solo6x10/solo6x10-core.c +++ linux-gcp-5.19.0/drivers/media/pci/solo6x10/solo6x10-core.c @@ -420,6 +420,7 @@ solo_dev->nr_chans); if (device_register(dev)) { + put_device(dev); dev->parent = NULL; return -ENOMEM; } --- linux-gcp-5.19.0.orig/drivers/media/pci/sta2x11/Kconfig +++ linux-gcp-5.19.0/drivers/media/pci/sta2x11/Kconfig @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only config STA2X11_VIP tristate "STA2X11 VIP Video For Linux" - depends on PCI && VIDEO_DEV && VIRT_TO_BUS && I2C + depends on PCI && VIDEO_DEV && I2C depends on STA2X11 || COMPILE_TEST select GPIOLIB if MEDIA_SUBDRV_AUTOSELECT select VIDEO_ADV7180 if MEDIA_SUBDRV_AUTOSELECT --- linux-gcp-5.19.0.orig/drivers/media/pci/tw686x/tw686x-core.c +++ linux-gcp-5.19.0/drivers/media/pci/tw686x/tw686x-core.c @@ -315,13 +315,6 @@ spin_lock_init(&dev->lock); - err = request_irq(pci_dev->irq, tw686x_irq, IRQF_SHARED, - dev->name, dev); - if (err < 0) { - dev_err(&pci_dev->dev, "unable to request interrupt\n"); - goto iounmap; - } - timer_setup(&dev->dma_delay_timer, tw686x_dma_delay, 0); /* @@ -333,18 +326,23 @@ err = tw686x_video_init(dev); if (err) { dev_err(&pci_dev->dev, "can't register video\n"); - goto free_irq; + goto iounmap; } err = tw686x_audio_init(dev); if (err) dev_warn(&pci_dev->dev, "can't register audio\n"); + err = request_irq(pci_dev->irq, tw686x_irq, IRQF_SHARED, + dev->name, dev); + if (err < 0) { + dev_err(&pci_dev->dev, "unable to request interrupt\n"); + goto iounmap; + } + pci_set_drvdata(pci_dev, dev); return 0; -free_irq: - free_irq(pci_dev->irq, dev); iounmap: pci_iounmap(pci_dev, dev->mmio); free_region: --- linux-gcp-5.19.0.orig/drivers/media/pci/tw686x/tw686x-video.c +++ linux-gcp-5.19.0/drivers/media/pci/tw686x/tw686x-video.c @@ -1280,8 +1280,10 @@ video_set_drvdata(vdev, vc); err = video_register_device(vdev, VFL_TYPE_VIDEO, -1); - if (err < 0) + if (err < 0) { + video_device_release(vdev); goto error; + } vc->num = vdev->num; } --- linux-gcp-5.19.0.orig/drivers/media/platform/amlogic/meson-ge2d/ge2d.c +++ linux-gcp-5.19.0/drivers/media/platform/amlogic/meson-ge2d/ge2d.c @@ -1030,7 +1030,6 @@ video_unregister_device(ge2d->vfd); v4l2_m2m_release(ge2d->m2m_dev); - video_device_release(ge2d->vfd); v4l2_device_unregister(&ge2d->v4l2_dev); clk_disable_unprepare(ge2d->clk); --- linux-gcp-5.19.0.orig/drivers/media/platform/amphion/vdec.c +++ linux-gcp-5.19.0/drivers/media/platform/amphion/vdec.c @@ -63,6 +63,7 @@ bool is_source_changed; u32 source_change; u32 drain; + bool aborting; }; static const struct vpu_format vdec_formats[] = { @@ -104,7 +105,6 @@ .pixfmt = V4L2_PIX_FMT_VC1_ANNEX_L, .num_planes = 1, .type = V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, - .flags = V4L2_FMT_FLAG_DYN_RESOLUTION }, { .pixfmt = V4L2_PIX_FMT_MPEG2, @@ -178,16 +178,6 @@ return 0; } -static void vdec_set_last_buffer_dequeued(struct vpu_inst *inst) -{ - struct vdec_t *vdec = inst->priv; - - if (vdec->eos_received) { - if (!vpu_set_last_buffer_dequeued(inst)) - vdec->eos_received--; - } -} - static void vdec_handle_resolution_change(struct vpu_inst *inst) { struct vdec_t *vdec = inst->priv; @@ -234,6 +224,21 @@ return 0; } +static void vdec_set_last_buffer_dequeued(struct vpu_inst *inst) +{ + struct vdec_t *vdec = inst->priv; + + if (inst->state == VPU_CODEC_STATE_DYAMIC_RESOLUTION_CHANGE) + return; + + if (vdec->eos_received) { + if (!vpu_set_last_buffer_dequeued(inst)) { + vdec->eos_received--; + vdec_update_state(inst, VPU_CODEC_STATE_DRAIN, 0); + } + } +} + static int vdec_querycap(struct file *file, void *fh, struct v4l2_capability *cap) { strscpy(cap->driver, "amphion-vpu", sizeof(cap->driver)); @@ -281,6 +286,7 @@ struct vpu_format *cur_fmt; int i; + vpu_inst_lock(inst); cur_fmt = vpu_get_format(inst, f->type); pixmp->pixelformat = cur_fmt->pixfmt; @@ -298,6 +304,7 @@ f->fmt.pix_mp.xfer_func = vdec->codec_info.transfer_chars; f->fmt.pix_mp.ycbcr_enc = vdec->codec_info.matrix_coeffs; f->fmt.pix_mp.quantization = vdec->codec_info.full_range; + vpu_inst_unlock(inst); return 0; } @@ -493,6 +500,8 @@ static int vdec_cmd_start(struct vpu_inst *inst) { + struct vdec_t *vdec = inst->priv; + switch (inst->state) { case VPU_CODEC_STATE_STARTED: case VPU_CODEC_STATE_DRAIN: @@ -503,6 +512,8 @@ break; } vpu_process_capture_buffer(inst); + if (vdec->eos_received) + vdec_set_last_buffer_dequeued(inst); return 0; } @@ -731,6 +742,7 @@ vdec->eos_received = 0; vdec->is_source_changed = false; vdec->source_change = 0; + inst->total_input_count = 0; vpu_inst_unlock(inst); } @@ -743,6 +755,9 @@ if (!inst->fh.m2m_ctx) return false; + if (vdec->reset_codec) + return false; + if (!vb2_is_streaming(v4l2_m2m_get_dst_vq(inst->fh.m2m_ctx))) return true; fmt = vpu_helper_find_format(inst, inst->cap_format.type, vdec->codec_info.pixfmt); @@ -798,14 +813,6 @@ inst->cap_format.field = V4L2_FIELD_NONE; else inst->cap_format.field = V4L2_FIELD_SEQ_TB; - if (vdec->codec_info.color_primaries == V4L2_COLORSPACE_DEFAULT) - vdec->codec_info.color_primaries = V4L2_COLORSPACE_REC709; - if (vdec->codec_info.transfer_chars == V4L2_XFER_FUNC_DEFAULT) - vdec->codec_info.transfer_chars = V4L2_XFER_FUNC_709; - if (vdec->codec_info.matrix_coeffs == V4L2_YCBCR_ENC_DEFAULT) - vdec->codec_info.matrix_coeffs = V4L2_YCBCR_ENC_709; - if (vdec->codec_info.full_range == V4L2_QUANTIZATION_DEFAULT) - vdec->codec_info.full_range = V4L2_QUANTIZATION_LIM_RANGE; } static void vdec_init_crop(struct vpu_inst *inst) @@ -939,6 +946,9 @@ if (inst->state != VPU_CODEC_STATE_ACTIVE) return -EINVAL; + if (vdec->aborting) + return -EINVAL; + if (!vdec->req_frame_count) return -EINVAL; @@ -1048,6 +1058,8 @@ vpu_buf = vdec->slots[i]; vbuf = &vpu_buf->m2m_buf.vb; + vpu_trace(inst->dev, "clear slot %d\n", i); + vdec_response_fs_release(inst, i, vpu_buf->tag); vdec_recycle_buffer(inst, vbuf); vdec->slots[i]->state = VPU_BUF_STATE_IDLE; vdec->slots[i] = NULL; @@ -1081,7 +1093,8 @@ vdec->seq_tag = vdec->codec_info.tag; if (vdec->is_source_changed) { vdec_update_state(inst, VPU_CODEC_STATE_DYAMIC_RESOLUTION_CHANGE, 0); - vpu_notify_source_change(inst); + vdec->source_change++; + vdec_handle_resolution_change(inst); vdec->is_source_changed = false; } } @@ -1203,7 +1216,6 @@ vdec->eos_received++; vdec->fixed_fmt = false; inst->min_buffer_cap = VDEC_MIN_BUFFER_CAP; - vdec_update_state(inst, VPU_CODEC_STATE_DRAIN, 0); vdec_set_last_buffer_dequeued(inst); vpu_inst_unlock(inst); } @@ -1310,6 +1322,8 @@ int ret; vpu_trace(inst->dev, "[%d] state = %d\n", inst->id, inst->state); + + vdec->aborting = true; vpu_iface_add_scode(inst, SCODE_PADDING_ABORT); vdec->params.end_flag = 1; vpu_iface_set_decode_params(inst, &vdec->params, 1); @@ -1327,12 +1341,16 @@ vdec->decoded_frame_count, vdec->display_frame_count, vdec->sequence); + if (!vdec->seq_hdr_found) + vdec->reset_codec = true; vdec->params.end_flag = 0; vdec->drain = 0; vdec->params.frame_count = 0; vdec->decoded_frame_count = 0; vdec->display_frame_count = 0; vdec->sequence = 0; + vdec->aborting = false; + inst->extra_size = 0; } static void vdec_stop(struct vpu_inst *inst, bool free) @@ -1456,8 +1474,7 @@ } if (V4L2_TYPE_IS_OUTPUT(type)) { - if (inst->state == VPU_CODEC_STATE_SEEK) - vdec_update_state(inst, vdec->state, 1); + vdec_update_state(inst, vdec->state, 1); vdec->eos_received = 0; vpu_process_output_buffer(inst); } else { @@ -1480,10 +1497,10 @@ vdec_update_state(inst, VPU_CODEC_STATE_SEEK, 0); vdec->drain = 0; } else { - if (inst->state != VPU_CODEC_STATE_DYAMIC_RESOLUTION_CHANGE) + if (inst->state != VPU_CODEC_STATE_DYAMIC_RESOLUTION_CHANGE) { vdec_abort(inst); - - vdec->eos_received = 0; + vdec->eos_received = 0; + } vdec_clear_slots(inst); } @@ -1539,6 +1556,14 @@ vdec->codec_info.frame_rate.numerator, vdec->codec_info.frame_rate.denominator); break; + case 9: + num = scnprintf(str, size, "colorspace: %d, %d, %d, %d (%d)\n", + vdec->codec_info.color_primaries, + vdec->codec_info.transfer_chars, + vdec->codec_info.matrix_coeffs, + vdec->codec_info.full_range, + vdec->codec_info.vui_present); + break; default: break; } @@ -1613,6 +1638,7 @@ return ret; vdec->fixed_fmt = false; + vdec->state = VPU_CODEC_STATE_ACTIVE; inst->min_buffer_cap = VDEC_MIN_BUFFER_CAP; inst->min_buffer_out = VDEC_MIN_BUFFER_OUT; vdec_init(file); --- linux-gcp-5.19.0.orig/drivers/media/platform/amphion/venc.c +++ linux-gcp-5.19.0/drivers/media/platform/amphion/venc.c @@ -644,7 +644,7 @@ BITRATE_DEFAULT_PEAK); v4l2_ctrl_new_std(&inst->ctrl_handler, &venc_ctrl_ops, - V4L2_CID_MPEG_VIDEO_GOP_SIZE, 0, (1 << 16) - 1, 1, 30); + V4L2_CID_MPEG_VIDEO_GOP_SIZE, 1, 8000, 1, 30); v4l2_ctrl_new_std(&inst->ctrl_handler, &venc_ctrl_ops, V4L2_CID_MPEG_VIDEO_B_FRAMES, 0, 4, 1, 0); --- linux-gcp-5.19.0.orig/drivers/media/platform/amphion/vpu.h +++ linux-gcp-5.19.0/drivers/media/platform/amphion/vpu.h @@ -13,6 +13,7 @@ #include #include +#define VPU_TIMEOUT_WAKEUP msecs_to_jiffies(200) #define VPU_TIMEOUT msecs_to_jiffies(1000) #define VPU_INST_NULL_ID (-1L) #define VPU_MSG_BUFFER_SIZE (8192) @@ -119,7 +120,6 @@ enum vpu_core_state { VPU_CORE_DEINIT = 0, VPU_CORE_ACTIVE, - VPU_CORE_SNAPSHOT, VPU_CORE_HANG }; @@ -258,6 +258,7 @@ struct vpu_format cap_format; u32 min_buffer_cap; u32 min_buffer_out; + u32 total_input_count; struct v4l2_rect crop; u32 colorspace; --- linux-gcp-5.19.0.orig/drivers/media/platform/amphion/vpu_cmds.c +++ linux-gcp-5.19.0/drivers/media/platform/amphion/vpu_cmds.c @@ -270,7 +270,7 @@ return flag; } -static int sync_session_response(struct vpu_inst *inst, unsigned long key) +static int sync_session_response(struct vpu_inst *inst, unsigned long key, long timeout, int try) { struct vpu_core *core; @@ -280,10 +280,12 @@ core = inst->core; call_void_vop(inst, wait_prepare); - wait_event_timeout(core->ack_wq, check_is_responsed(inst, key), VPU_TIMEOUT); + wait_event_timeout(core->ack_wq, check_is_responsed(inst, key), timeout); call_void_vop(inst, wait_finish); if (!check_is_responsed(inst, key)) { + if (try) + return -EINVAL; dev_err(inst->dev, "[%d] sync session timeout\n", inst->id); set_bit(inst->id, &core->hang_mask); mutex_lock(&inst->core->cmd_lock); @@ -295,6 +297,19 @@ return 0; } +static void vpu_core_keep_active(struct vpu_core *core) +{ + struct vpu_rpc_event pkt; + + memset(&pkt, 0, sizeof(pkt)); + vpu_iface_pack_cmd(core, &pkt, 0, VPU_CMD_ID_NOOP, NULL); + + dev_dbg(core->dev, "try to wake up\n"); + mutex_lock(&core->cmd_lock); + vpu_cmd_send(core, &pkt); + mutex_unlock(&core->cmd_lock); +} + static int vpu_session_send_cmd(struct vpu_inst *inst, u32 id, void *data) { unsigned long key; @@ -305,9 +320,25 @@ return -EINVAL; ret = vpu_request_cmd(inst, id, data, &key, &sync); - if (!ret && sync) - ret = sync_session_response(inst, key); + if (ret) + goto exit; + + /* workaround for a firmware issue, + * firmware should be waked up by start or configure command, + * but there is a very small change that firmware failed to wakeup. + * in such case, try to wakeup firmware again by sending a noop command + */ + if (sync && (id == VPU_CMD_ID_CONFIGURE_CODEC || id == VPU_CMD_ID_START)) { + if (sync_session_response(inst, key, VPU_TIMEOUT_WAKEUP, 1)) + vpu_core_keep_active(inst->core); + else + goto exit; + } + + if (sync) + ret = sync_session_response(inst, key, VPU_TIMEOUT, 0); +exit: if (ret) dev_err(inst->dev, "[%d] send cmd(0x%x) fail\n", inst->id, id); --- linux-gcp-5.19.0.orig/drivers/media/platform/amphion/vpu_core.c +++ linux-gcp-5.19.0/drivers/media/platform/amphion/vpu_core.c @@ -89,7 +89,7 @@ core->supported_instance_count = min(core->supported_instance_count, count); } core->fw_version = fw_version; - core->state = VPU_CORE_ACTIVE; + vpu_core_set_state(core, VPU_CORE_ACTIVE); return 0; } @@ -172,10 +172,26 @@ return __vpu_alloc_dma(core->dev, buf); } -static void vpu_core_check_hang(struct vpu_core *core) +void vpu_core_set_state(struct vpu_core *core, enum vpu_core_state state) { - if (core->hang_mask) - core->state = VPU_CORE_HANG; + if (state != core->state) + vpu_trace(core->dev, "vpu core state change from %d to %d\n", core->state, state); + core->state = state; + if (core->state == VPU_CORE_DEINIT) + core->hang_mask = 0; +} + +static void vpu_core_update_state(struct vpu_core *core) +{ + if (!vpu_iface_get_power_state(core)) { + if (core->request_count) + vpu_core_set_state(core, VPU_CORE_HANG); + else + vpu_core_set_state(core, VPU_CORE_DEINIT); + + } else if (core->state == VPU_CORE_ACTIVE && core->hang_mask) { + vpu_core_set_state(core, VPU_CORE_HANG); + } } static struct vpu_core *vpu_core_find_proper_by_type(struct vpu_dev *vpu, u32 type) @@ -188,11 +204,13 @@ dev_dbg(c->dev, "instance_mask = 0x%lx, state = %d\n", c->instance_mask, c->state); if (c->type != type) continue; + mutex_lock(&c->lock); + vpu_core_update_state(c); + mutex_unlock(&c->lock); if (c->state == VPU_CORE_DEINIT) { core = c; break; } - vpu_core_check_hang(c); if (c->state != VPU_CORE_ACTIVE) continue; if (c->request_count < request_count) { @@ -412,6 +430,12 @@ } mutex_lock(&core->lock); + if (core->state != VPU_CORE_ACTIVE) { + dev_err(core->dev, "vpu core is not active, state = %d\n", core->state); + ret = -EINVAL; + goto exit; + } + if (inst->id >= 0 && inst->id < core->supported_instance_count) goto exit; @@ -453,11 +477,16 @@ vpu_core_release_instance(core, inst->id); inst->id = VPU_INST_NULL_ID; } - vpu_core_check_hang(core); + vpu_core_update_state(core); if (core->state == VPU_CORE_HANG && !core->instance_mask) { + int err; + dev_info(core->dev, "reset hang core\n"); - if (!vpu_core_sw_reset(core)) { - core->state = VPU_CORE_ACTIVE; + mutex_unlock(&core->lock); + err = vpu_core_sw_reset(core); + mutex_lock(&core->lock); + if (!err) { + vpu_core_set_state(core, VPU_CORE_ACTIVE); core->hang_mask = 0; } } @@ -607,7 +636,7 @@ mutex_init(&core->cmd_lock); init_completion(&core->cmp); init_waitqueue_head(&core->ack_wq); - core->state = VPU_CORE_DEINIT; + vpu_core_set_state(core, VPU_CORE_DEINIT); core->res = of_device_get_match_data(dev); if (!core->res) @@ -756,33 +785,18 @@ mutex_lock(&core->lock); pm_runtime_resume_and_get(dev); vpu_core_get_vpu(core); - if (core->state != VPU_CORE_SNAPSHOT) - goto exit; - if (!vpu_iface_get_power_state(core)) { - if (!list_empty(&core->instances)) { + if (core->request_count) { + if (!vpu_iface_get_power_state(core)) ret = vpu_core_boot(core, false); - if (ret) { - dev_err(core->dev, "%s boot fail\n", __func__); - core->state = VPU_CORE_DEINIT; - goto exit; - } - } else { - core->state = VPU_CORE_DEINIT; - } - } else { - if (!list_empty(&core->instances)) { + else ret = vpu_core_sw_reset(core); - if (ret) { - dev_err(core->dev, "%s sw_reset fail\n", __func__); - core->state = VPU_CORE_HANG; - goto exit; - } + if (ret) { + dev_err(core->dev, "resume fail\n"); + vpu_core_set_state(core, VPU_CORE_HANG); } - core->state = VPU_CORE_ACTIVE; } - -exit: + vpu_core_update_state(core); pm_runtime_put_sync(dev); mutex_unlock(&core->lock); @@ -796,18 +810,11 @@ int ret = 0; mutex_lock(&core->lock); - if (core->state == VPU_CORE_ACTIVE) { - if (!list_empty(&core->instances)) { - ret = vpu_core_snapshot(core); - if (ret) { - mutex_unlock(&core->lock); - return ret; - } - } - - core->state = VPU_CORE_SNAPSHOT; - } + if (core->request_count) + ret = vpu_core_snapshot(core); mutex_unlock(&core->lock); + if (ret) + return ret; vpu_core_cancel_work(core); --- linux-gcp-5.19.0.orig/drivers/media/platform/amphion/vpu_core.h +++ linux-gcp-5.19.0/drivers/media/platform/amphion/vpu_core.h @@ -11,5 +11,6 @@ int vpu_alloc_dma(struct vpu_core *core, struct vpu_buffer *buf); void vpu_free_dma(struct vpu_buffer *buf); struct vpu_inst *vpu_core_find_instance(struct vpu_core *core, u32 index); +void vpu_core_set_state(struct vpu_core *core, enum vpu_core_state state); #endif --- linux-gcp-5.19.0.orig/drivers/media/platform/amphion/vpu_dbg.c +++ linux-gcp-5.19.0/drivers/media/platform/amphion/vpu_dbg.c @@ -15,6 +15,7 @@ #include #include "vpu.h" #include "vpu_defs.h" +#include "vpu_core.h" #include "vpu_helpers.h" #include "vpu_cmds.h" #include "vpu_rpc.h" @@ -233,6 +234,10 @@ if (seq_write(s, str, num)) return 0; + num = scnprintf(str, sizeof(str), "power %s\n", + vpu_iface_get_power_state(core) ? "on" : "off"); + if (seq_write(s, str, num)) + return 0; num = scnprintf(str, sizeof(str), "state = %d\n", core->state); if (seq_write(s, str, num)) return 0; @@ -346,10 +351,10 @@ pm_runtime_resume_and_get(core->dev); mutex_lock(&core->lock); - if (core->state != VPU_CORE_DEINIT && !core->instance_mask) { + if (vpu_iface_get_power_state(core) && !core->request_count) { dev_info(core->dev, "reset\n"); if (!vpu_core_sw_reset(core)) { - core->state = VPU_CORE_ACTIVE; + vpu_core_set_state(core, VPU_CORE_ACTIVE); core->hang_mask = 0; } } --- linux-gcp-5.19.0.orig/drivers/media/platform/amphion/vpu_drv.c +++ linux-gcp-5.19.0/drivers/media/platform/amphion/vpu_drv.c @@ -245,7 +245,11 @@ if (ret) return ret; - return vpu_core_driver_init(); + ret = vpu_core_driver_init(); + if (ret) + platform_driver_unregister(&hion_vpu_driver); + + return ret; } static void __exit vpu_driver_exit(void) --- linux-gcp-5.19.0.orig/drivers/media/platform/amphion/vpu_malone.c +++ linux-gcp-5.19.0/drivers/media/platform/amphion/vpu_malone.c @@ -610,6 +610,8 @@ enum vpu_malone_format malone_format; malone_format = vpu_malone_format_remap(params->codec_format); + if (WARN_ON(malone_format == MALONE_FMT_NULL)) + return -EINVAL; iface->udata_buffer[instance].base = params->udata.base; iface->udata_buffer[instance].slot_size = params->udata.size; @@ -674,6 +676,7 @@ } static struct vpu_pair malone_cmds[] = { + {VPU_CMD_ID_NOOP, VID_API_CMD_NULL}, {VPU_CMD_ID_START, VID_API_CMD_START}, {VPU_CMD_ID_STOP, VID_API_CMD_STOP}, {VPU_CMD_ID_ABORT, VID_API_CMD_ABORT}, @@ -1275,7 +1278,7 @@ vbuf = to_vb2_v4l2_buffer(scode->vb); data = vb2_plane_vaddr(scode->vb, 0); - if (vbuf->sequence == 0 || vpu_vb_is_codecconfig(vbuf)) + if (scode->inst->total_input_count == 0 || vpu_vb_is_codecconfig(vbuf)) return 0; if (MALONE_VC1_CONTAIN_NAL(*data)) return 0; @@ -1296,6 +1299,8 @@ int size = 0; u8 rcv_seqhdr[MALONE_VC1_RCV_SEQ_HEADER_LEN]; + if (scode->inst->total_input_count) + return 0; scode->need_data = 0; ret = vpu_malone_insert_scode_seq(scode, MALONE_CODEC_ID_VC1_SIMPLE, sizeof(rcv_seqhdr)); --- linux-gcp-5.19.0.orig/drivers/media/platform/amphion/vpu_msgs.c +++ linux-gcp-5.19.0/drivers/media/platform/amphion/vpu_msgs.c @@ -43,6 +43,7 @@ req_data.ref_frame_num, req_data.act_buf_size, req_data.act_buf_num); + vpu_inst_lock(inst); call_void_vop(inst, mem_request, req_data.enc_frame_size, req_data.enc_frame_num, @@ -50,6 +51,7 @@ req_data.ref_frame_num, req_data.act_buf_size, req_data.act_buf_num); + vpu_inst_unlock(inst); } static void vpu_session_handle_stop_done(struct vpu_inst *inst, struct vpu_rpc_event *pkt) @@ -150,7 +152,12 @@ static void vpu_session_handle_error(struct vpu_inst *inst, struct vpu_rpc_event *pkt) { - dev_err(inst->dev, "unsupported stream\n"); + char *str = (char *)pkt->data; + + if (strlen(str)) + dev_err(inst->dev, "instance %d firmware error : %s\n", inst->id, str); + else + dev_err(inst->dev, "instance %d is unsupported stream\n", inst->id); call_void_vop(inst, event_notify, VPU_MSG_ID_UNSUPPORTED, NULL); vpu_v4l2_set_error(inst); } --- linux-gcp-5.19.0.orig/drivers/media/platform/amphion/vpu_rpc.h +++ linux-gcp-5.19.0/drivers/media/platform/amphion/vpu_rpc.h @@ -312,11 +312,16 @@ struct vb2_buffer *vb) { struct vpu_iface_ops *ops = vpu_core_get_iface(inst->core); + int ret; if (!ops || !ops->input_frame) return -EINVAL; - return ops->input_frame(inst->core->iface, inst, vb); + ret = ops->input_frame(inst->core->iface, inst, vb); + if (ret < 0) + return ret; + inst->total_input_count++; + return ret; } static inline int vpu_iface_config_memory_resource(struct vpu_inst *inst, --- linux-gcp-5.19.0.orig/drivers/media/platform/amphion/vpu_v4l2.c +++ linux-gcp-5.19.0/drivers/media/platform/amphion/vpu_v4l2.c @@ -65,18 +65,11 @@ void vpu_v4l2_set_error(struct vpu_inst *inst) { - struct vb2_queue *src_q; - struct vb2_queue *dst_q; - vpu_inst_lock(inst); dev_err(inst->dev, "some error occurs in codec\n"); if (inst->fh.m2m_ctx) { - src_q = v4l2_m2m_get_src_vq(inst->fh.m2m_ctx); - dst_q = v4l2_m2m_get_dst_vq(inst->fh.m2m_ctx); - src_q->error = 1; - dst_q->error = 1; - wake_up(&src_q->done_wq); - wake_up(&dst_q->done_wq); + vb2_queue_error(v4l2_m2m_get_src_vq(inst->fh.m2m_ctx)); + vb2_queue_error(v4l2_m2m_get_dst_vq(inst->fh.m2m_ctx)); } vpu_inst_unlock(inst); } @@ -249,8 +242,12 @@ struct vb2_v4l2_buffer *vpu_next_src_buf(struct vpu_inst *inst) { - struct vb2_v4l2_buffer *src_buf = v4l2_m2m_next_src_buf(inst->fh.m2m_ctx); + struct vb2_v4l2_buffer *src_buf = NULL; + + if (!inst->fh.m2m_ctx) + return NULL; + src_buf = v4l2_m2m_next_src_buf(inst->fh.m2m_ctx); if (!src_buf || vpu_get_buffer_state(src_buf) == VPU_BUF_STATE_IDLE) return NULL; @@ -273,7 +270,7 @@ enum vb2_buffer_state state; int i = 0; - if (count <= 0) + if (count <= 0 || !inst->fh.m2m_ctx) return; while (i < count) { @@ -500,10 +497,12 @@ fmt->sizeimage[1], fmt->bytesperline[1], fmt->sizeimage[2], fmt->bytesperline[2], q->num_buffers); - call_void_vop(inst, start, q->type); vb2_clear_last_buffer_dequeued(q); + ret = call_vop(inst, start, q->type); + if (ret) + vpu_vb2_buffers_return(inst, q->type, VB2_BUF_STATE_QUEUED); - return 0; + return ret; } static void vpu_vb2_stop_streaming(struct vb2_queue *q) --- linux-gcp-5.19.0.orig/drivers/media/platform/amphion/vpu_windsor.c +++ linux-gcp-5.19.0/drivers/media/platform/amphion/vpu_windsor.c @@ -658,6 +658,7 @@ } static struct vpu_pair windsor_cmds[] = { + {VPU_CMD_ID_NOOP, GTB_ENC_CMD_NOOP}, {VPU_CMD_ID_CONFIGURE_CODEC, GTB_ENC_CMD_CONFIGURE_CODEC}, {VPU_CMD_ID_START, GTB_ENC_CMD_STREAM_START}, {VPU_CMD_ID_STOP, GTB_ENC_CMD_STREAM_STOP}, --- linux-gcp-5.19.0.orig/drivers/media/platform/atmel/atmel-sama7g5-isc.c +++ linux-gcp-5.19.0/drivers/media/platform/atmel/atmel-sama7g5-isc.c @@ -591,11 +591,13 @@ SET_RUNTIME_PM_OPS(xisc_runtime_suspend, xisc_runtime_resume, NULL) }; +#if IS_ENABLED(CONFIG_OF) static const struct of_device_id microchip_xisc_of_match[] = { { .compatible = "microchip,sama7g5-isc" }, { } }; MODULE_DEVICE_TABLE(of, microchip_xisc_of_match); +#endif static struct platform_driver microchip_xisc_driver = { .probe = microchip_xisc_probe, --- linux-gcp-5.19.0.orig/drivers/media/platform/chips-media/coda-bit.c +++ linux-gcp-5.19.0/drivers/media/platform/chips-media/coda-bit.c @@ -854,7 +854,7 @@ /* Only H.264BP and H.263P3 are considered */ iram_info->buf_dbk_y_use = coda_iram_alloc(iram_info, w64); iram_info->buf_dbk_c_use = coda_iram_alloc(iram_info, w64); - if (!iram_info->buf_dbk_c_use) + if (!iram_info->buf_dbk_y_use || !iram_info->buf_dbk_c_use) goto out; iram_info->axi_sram_use |= dbk_bits; @@ -878,7 +878,7 @@ iram_info->buf_dbk_y_use = coda_iram_alloc(iram_info, w128); iram_info->buf_dbk_c_use = coda_iram_alloc(iram_info, w128); - if (!iram_info->buf_dbk_c_use) + if (!iram_info->buf_dbk_y_use || !iram_info->buf_dbk_c_use) goto out; iram_info->axi_sram_use |= dbk_bits; @@ -1084,10 +1084,16 @@ } if (dst_fourcc == V4L2_PIX_FMT_JPEG) { - if (!ctx->params.jpeg_qmat_tab[0]) + if (!ctx->params.jpeg_qmat_tab[0]) { ctx->params.jpeg_qmat_tab[0] = kmalloc(64, GFP_KERNEL); - if (!ctx->params.jpeg_qmat_tab[1]) + if (!ctx->params.jpeg_qmat_tab[0]) + return -ENOMEM; + } + if (!ctx->params.jpeg_qmat_tab[1]) { ctx->params.jpeg_qmat_tab[1] = kmalloc(64, GFP_KERNEL); + if (!ctx->params.jpeg_qmat_tab[1]) + return -ENOMEM; + } coda_set_jpeg_compression_quality(ctx, ctx->params.jpeg_quality); } --- linux-gcp-5.19.0.orig/drivers/media/platform/chips-media/coda-jpeg.c +++ linux-gcp-5.19.0/drivers/media/platform/chips-media/coda-jpeg.c @@ -1053,10 +1053,16 @@ v4l2_err(&dev->v4l2_dev, "error loading Huffman tables\n"); return ret; } - if (!ctx->params.jpeg_qmat_tab[0]) + if (!ctx->params.jpeg_qmat_tab[0]) { ctx->params.jpeg_qmat_tab[0] = kmalloc(64, GFP_KERNEL); - if (!ctx->params.jpeg_qmat_tab[1]) + if (!ctx->params.jpeg_qmat_tab[0]) + return -ENOMEM; + } + if (!ctx->params.jpeg_qmat_tab[1]) { ctx->params.jpeg_qmat_tab[1] = kmalloc(64, GFP_KERNEL); + if (!ctx->params.jpeg_qmat_tab[1]) + return -ENOMEM; + } coda_set_jpeg_compression_quality(ctx, ctx->params.jpeg_quality); return 0; --- linux-gcp-5.19.0.orig/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c +++ linux-gcp-5.19.0/drivers/media/platform/mediatek/jpeg/mtk_jpeg_core.c @@ -1411,7 +1411,6 @@ pm_runtime_disable(&pdev->dev); video_unregister_device(jpeg->vdev); - video_device_release(jpeg->vdev); v4l2_m2m_release(jpeg->m2m_dev); v4l2_device_unregister(&jpeg->v4l2_dev); --- linux-gcp-5.19.0.orig/drivers/media/platform/mediatek/mdp/mtk_mdp_ipi.h +++ linux-gcp-5.19.0/drivers/media/platform/mediatek/mdp/mtk_mdp_ipi.h @@ -40,12 +40,14 @@ * @ipi_id : IPI_MDP * @ap_inst : AP mtk_mdp_vpu address * @vpu_inst_addr : VPU MDP instance address + * @padding : Alignment padding */ struct mdp_ipi_comm { uint32_t msg_id; uint32_t ipi_id; uint64_t ap_inst; uint32_t vpu_inst_addr; + uint32_t padding; }; /** --- linux-gcp-5.19.0.orig/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c +++ linux-gcp-5.19.0/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec.c @@ -112,8 +112,6 @@ { struct mtk_q_data *q_data; - ctx->dev->vdec_pdata->init_vdec_params(ctx); - ctx->m2m_ctx->q_lock = &ctx->dev->dev_mutex; ctx->fh.m2m_ctx = ctx->m2m_ctx; ctx->fh.ctrl_handler = &ctx->ctrl_hdl; @@ -141,15 +139,6 @@ q_data->coded_height = DFT_CFG_HEIGHT; q_data->fmt = ctx->dev->vdec_pdata->default_cap_fmt; q_data->field = V4L2_FIELD_NONE; - ctx->max_width = MTK_VDEC_MAX_W; - ctx->max_height = MTK_VDEC_MAX_H; - - v4l_bound_align_image(&q_data->coded_width, - MTK_VDEC_MIN_W, - ctx->max_width, 4, - &q_data->coded_height, - MTK_VDEC_MIN_H, - ctx->max_height, 5, 6); q_data->sizeimage[0] = q_data->coded_width * q_data->coded_height; q_data->bytesperline[0] = q_data->coded_width; @@ -198,6 +187,11 @@ static int vidioc_vdec_subscribe_evt(struct v4l2_fh *fh, const struct v4l2_event_subscription *sub) { + struct mtk_vcodec_ctx *ctx = fh_to_ctx(fh); + + if (ctx->dev->vdec_pdata->uses_stateless_api) + return v4l2_ctrl_subscribe_event(fh, sub); + switch (sub->type) { case V4L2_EVENT_EOS: return v4l2_event_subscribe(fh, sub, 2, NULL); @@ -208,17 +202,44 @@ } } +static const struct v4l2_frmsize_stepwise *mtk_vdec_get_frmsize(struct mtk_vcodec_ctx *ctx, + u32 pixfmt) +{ + const struct mtk_vcodec_dec_pdata *dec_pdata = ctx->dev->vdec_pdata; + int i; + + for (i = 0; i < *dec_pdata->num_framesizes; ++i) + if (pixfmt == dec_pdata->vdec_framesizes[i].fourcc) + return &dec_pdata->vdec_framesizes[i].stepwise; + + /* + * This should never happen since vidioc_try_fmt_vid_out_mplane() + * always passes through a valid format for the output side, and + * for the capture side, a valid output format should already have + * been set. + */ + WARN_ONCE(1, "Unsupported format requested.\n"); + return &dec_pdata->vdec_framesizes[0].stepwise; +} + static int vidioc_try_fmt(struct mtk_vcodec_ctx *ctx, struct v4l2_format *f, const struct mtk_video_fmt *fmt) { struct v4l2_pix_format_mplane *pix_fmt_mp = &f->fmt.pix_mp; + const struct v4l2_frmsize_stepwise *frmsize; + u32 fourcc; pix_fmt_mp->field = V4L2_FIELD_NONE; - pix_fmt_mp->width = - clamp(pix_fmt_mp->width, MTK_VDEC_MIN_W, ctx->max_width); - pix_fmt_mp->height = - clamp(pix_fmt_mp->height, MTK_VDEC_MIN_H, ctx->max_height); + /* Always apply frame size constraints from the coded side */ + if (V4L2_TYPE_IS_OUTPUT(f->type)) + fourcc = f->fmt.pix_mp.pixelformat; + else + fourcc = ctx->q_data[MTK_Q_DATA_SRC].fmt->fourcc; + + frmsize = mtk_vdec_get_frmsize(ctx, fourcc); + pix_fmt_mp->width = clamp(pix_fmt_mp->width, MTK_VDEC_MIN_W, frmsize->max_width); + pix_fmt_mp->height = clamp(pix_fmt_mp->height, MTK_VDEC_MIN_H, frmsize->max_height); if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { pix_fmt_mp->num_planes = 1; @@ -234,18 +255,15 @@ */ tmp_w = pix_fmt_mp->width; tmp_h = pix_fmt_mp->height; - v4l_bound_align_image(&pix_fmt_mp->width, - MTK_VDEC_MIN_W, - ctx->max_width, 6, - &pix_fmt_mp->height, - MTK_VDEC_MIN_H, - ctx->max_height, 6, 9); + v4l_bound_align_image(&pix_fmt_mp->width, MTK_VDEC_MIN_W, frmsize->max_width, 6, + &pix_fmt_mp->height, MTK_VDEC_MIN_H, frmsize->max_height, 6, + 9); if (pix_fmt_mp->width < tmp_w && - (pix_fmt_mp->width + 64) <= ctx->max_width) + (pix_fmt_mp->width + 64) <= frmsize->max_width) pix_fmt_mp->width += 64; if (pix_fmt_mp->height < tmp_h && - (pix_fmt_mp->height + 64) <= ctx->max_height) + (pix_fmt_mp->height + 64) <= frmsize->max_height) pix_fmt_mp->height += 64; mtk_v4l2_debug(0, @@ -435,13 +453,6 @@ if (fmt == NULL) return -EINVAL; - if (!(ctx->dev->dec_capability & VCODEC_CAPABILITY_4K_DISABLED) && - fmt->fourcc != V4L2_PIX_FMT_VP8_FRAME) { - mtk_v4l2_debug(3, "4K is enabled"); - ctx->max_width = VCODEC_DEC_4K_CODED_WIDTH; - ctx->max_height = VCODEC_DEC_4K_CODED_HEIGHT; - } - q_data->fmt = fmt; vidioc_try_fmt(ctx, f, q_data->fmt); if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { @@ -533,8 +544,6 @@ fsize->type = V4L2_FRMSIZE_TYPE_STEPWISE; fsize->stepwise = dec_pdata->vdec_framesizes[i].stepwise; - fsize->stepwise.max_width = ctx->max_width; - fsize->stepwise.max_height = ctx->max_height; mtk_v4l2_debug(1, "%x, %d %d %d %d %d %d", ctx->dev->dec_capability, fsize->stepwise.min_width, --- linux-gcp-5.19.0.orig/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c +++ linux-gcp-5.19.0/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_drv.c @@ -208,9 +208,12 @@ dev->dec_capability = mtk_vcodec_fw_get_vdec_capa(dev->fw_handler); + mtk_v4l2_debug(0, "decoder capability %x", dev->dec_capability); } + ctx->dev->vdec_pdata->init_vdec_params(ctx); + list_add(&ctx->list, &dev->ctx_list); mutex_unlock(&dev->dev_mutex); @@ -386,6 +389,8 @@ mtk_v4l2_err("Main device of_platform_populate failed."); goto err_reg_cont; } + } else { + set_bit(MTK_VDEC_CORE, dev->subdev_bitmap); } ret = video_register_device(vfd_dec, VFL_TYPE_VIDEO, -1); --- linux-gcp-5.19.0.orig/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateless.c +++ linux-gcp-5.19.0/drivers/media/platform/mediatek/vcodec/mtk_vcodec_dec_stateless.c @@ -140,10 +140,13 @@ state = VB2_BUF_STATE_DONE; vb2_dst = v4l2_m2m_dst_buf_remove(ctx->m2m_ctx); - v4l2_m2m_buf_done(vb2_dst, state); - - mtk_v4l2_debug(2, "free frame buffer id:%d to done list", - vb2_dst->vb2_buf.index); + if (vb2_dst) { + v4l2_m2m_buf_done(vb2_dst, state); + mtk_v4l2_debug(2, "free frame buffer id:%d to done list", + vb2_dst->vb2_buf.index); + } else { + mtk_v4l2_err("dst buffer is NULL"); + } if (src_buf_req) v4l2_ctrl_request_complete(src_buf_req, &ctx->ctrl_hdl); @@ -360,6 +363,13 @@ mtk_vdec_framesizes[count_framesizes].fourcc = fourcc; mtk_vdec_framesizes[count_framesizes].stepwise = stepwise_fhd; + if (!(ctx->dev->dec_capability & VCODEC_CAPABILITY_4K_DISABLED) && + fourcc != V4L2_PIX_FMT_VP8_FRAME) { + mtk_vdec_framesizes[count_framesizes].stepwise.max_width = + VCODEC_DEC_4K_CODED_WIDTH; + mtk_vdec_framesizes[count_framesizes].stepwise.max_height = + VCODEC_DEC_4K_CODED_HEIGHT; + } num_framesizes++; break; case V4L2_PIX_FMT_MM21: --- linux-gcp-5.19.0.orig/drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.h +++ linux-gcp-5.19.0/drivers/media/platform/mediatek/vcodec/mtk_vcodec_drv.h @@ -285,8 +285,6 @@ * mtk_video_dec_buf. * @hw_id: hardware index used to identify different hardware. * - * @max_width: hardware supported max width - * @max_height: hardware supported max height * @msg_queue: msg queue used to store lat buffer information. */ struct mtk_vcodec_ctx { @@ -333,8 +331,6 @@ struct mutex lock; int hw_id; - unsigned int max_width; - unsigned int max_height; struct vdec_msg_queue msg_queue; }; --- linux-gcp-5.19.0.orig/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c +++ linux-gcp-5.19.0/drivers/media/platform/mediatek/vcodec/mtk_vcodec_enc_drv.c @@ -228,7 +228,6 @@ { struct mtk_vcodec_dev *dev; struct video_device *vfd_enc; - struct resource *res; phandle rproc_phandle; enum mtk_vcodec_fw_type fw_type; int ret; @@ -272,14 +271,12 @@ goto err_res; } - res = platform_get_resource(pdev, IORESOURCE_IRQ, 0); - if (res == NULL) { - dev_err(&pdev->dev, "failed to get irq resource"); - ret = -ENOENT; + dev->enc_irq = platform_get_irq(pdev, 0); + if (dev->enc_irq < 0) { + ret = dev->enc_irq; goto err_res; } - dev->enc_irq = platform_get_irq(pdev, 0); irq_set_status_flags(dev->enc_irq, IRQ_NOAUTOEN); ret = devm_request_irq(&pdev->dev, dev->enc_irq, mtk_vcodec_enc_irq_handler, --- linux-gcp-5.19.0.orig/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_multi_if.c +++ linux-gcp-5.19.0/drivers/media/platform/mediatek/vcodec/vdec/vdec_h264_req_multi_if.c @@ -471,14 +471,19 @@ sizeof(share_info->h264_slice_params)); fb = ctx->dev->vdec_pdata->get_cap_buffer(ctx); - y_fb_dma = fb ? (u64)fb->base_y.dma_addr : 0; - vdec_fb_va = (unsigned long)fb; + if (!fb) { + err = -EBUSY; + mtk_vcodec_err(inst, "fb buffer is NULL"); + goto vdec_dec_end; + } + vdec_fb_va = (unsigned long)fb; + y_fb_dma = (u64)fb->base_y.dma_addr; if (ctx->q_data[MTK_Q_DATA_DST].fmt->num_planes == 1) c_fb_dma = y_fb_dma + inst->ctx->picinfo.buf_w * inst->ctx->picinfo.buf_h; else - c_fb_dma = fb ? (u64)fb->base_c.dma_addr : 0; + c_fb_dma = (u64)fb->base_c.dma_addr; mtk_vcodec_debug(inst, "[h264-core] y/c addr = 0x%llx 0x%llx", y_fb_dma, c_fb_dma); @@ -539,6 +544,29 @@ return 0; } +static void vdec_h264_insert_startcode(struct mtk_vcodec_dev *vcodec_dev, unsigned char *buf, + size_t *bs_size, struct mtk_h264_pps_param *pps) +{ + struct device *dev = &vcodec_dev->plat_dev->dev; + + /* Need to add pending data at the end of bitstream when bs_sz is small than + * 20 bytes for cavlc bitstream, or lat will decode fail. This pending data is + * useful for mt8192 and mt8195 platform. + * + * cavlc bitstream when entropy_coding_mode_flag is false. + */ + if (pps->entropy_coding_mode_flag || *bs_size > 20 || + !(of_device_is_compatible(dev->of_node, "mediatek,mt8192-vcodec-dec") || + of_device_is_compatible(dev->of_node, "mediatek,mt8195-vcodec-dec"))) + return; + + buf[*bs_size] = 0; + buf[*bs_size + 1] = 0; + buf[*bs_size + 2] = 1; + buf[*bs_size + 3] = 0xff; + (*bs_size) += 4; +} + static int vdec_h264_slice_lat_decode(void *h_vdec, struct mtk_vcodec_mem *bs, struct vdec_fb *fb, bool *res_chg) { @@ -582,9 +610,6 @@ } inst->vsi->dec.nal_info = buf[nal_start_idx]; - inst->vsi->dec.bs_buf_addr = (u64)bs->dma_addr; - inst->vsi->dec.bs_buf_size = bs->size; - lat_buf->src_buf_req = src_buf_info->m2m_buf.vb.vb2_buf.req_obj.req; v4l2_m2m_buf_copy_metadata(&src_buf_info->m2m_buf.vb, &lat_buf->ts_info, true); @@ -592,6 +617,12 @@ if (err) goto err_free_fb_out; + vdec_h264_insert_startcode(inst->ctx->dev, buf, &bs->size, + &share_info->h264_slice_params.pps); + + inst->vsi->dec.bs_buf_addr = (uint64_t)bs->dma_addr; + inst->vsi->dec.bs_buf_size = bs->size; + *res_chg = inst->resolution_changed; if (inst->resolution_changed) { mtk_vcodec_debug(inst, "- resolution changed -"); @@ -630,18 +661,23 @@ err = vpu_dec_start(vpu, data, 2); if (err) { mtk_vcodec_debug(inst, "lat decode err: %d", err); - goto err_scp_decode; + goto err_free_fb_out; } /* wait decoder done interrupt */ timeout = mtk_vcodec_wait_for_done_ctx(inst->ctx, MTK_INST_IRQ_RECEIVED, WAIT_INTR_TIMEOUT_MS, MTK_VDEC_LAT0); + if (timeout) + mtk_vcodec_err(inst, "lat decode timeout: pic_%d", inst->slice_dec_num); inst->vsi->dec.timeout = !!timeout; err = vpu_dec_end(vpu); - if (err == SLICE_HEADER_FULL || timeout || err == TRANS_BUFFER_FULL) { - err = -EINVAL; - goto err_scp_decode; + if (err == SLICE_HEADER_FULL || err == TRANS_BUFFER_FULL) { + if (!IS_VDEC_INNER_RACING(inst->ctx->dev->dec_capability)) + vdec_msg_queue_qbuf(&inst->ctx->msg_queue.lat_ctx, lat_buf); + inst->slice_dec_num++; + mtk_vcodec_err(inst, "lat dec fail: pic_%d err:%d", inst->slice_dec_num, err); + return -EINVAL; } share_info->trans_end = inst->ctx->msg_queue.wdma_addr.dma_addr + @@ -657,7 +693,6 @@ inst->slice_dec_num++; return 0; -err_scp_decode: err_free_fb_out: vdec_msg_queue_qbuf(&inst->ctx->msg_queue.lat_ctx, lat_buf); mtk_vcodec_err(inst, "slice dec number: %d err: %d", inst->slice_dec_num, err); --- linux-gcp-5.19.0.orig/drivers/media/platform/mediatek/vcodec/vdec/vdec_vp9_req_lat_if.c +++ linux-gcp-5.19.0/drivers/media/platform/mediatek/vcodec/vdec/vdec_vp9_req_lat_if.c @@ -1897,21 +1897,23 @@ return -EBUSY; } pfc = (struct vdec_vp9_slice_pfc *)lat_buf->private_data; - if (!pfc) - return -EINVAL; + if (!pfc) { + ret = -EINVAL; + goto err_free_fb_out; + } vsi = &pfc->vsi; ret = vdec_vp9_slice_setup_lat(instance, bs, lat_buf, pfc); if (ret) { mtk_vcodec_err(instance, "Failed to setup VP9 lat ret %d\n", ret); - return ret; + goto err_free_fb_out; } vdec_vp9_slice_vsi_to_remote(vsi, instance->vsi); ret = vpu_dec_start(&instance->vpu, NULL, 0); if (ret) { mtk_vcodec_err(instance, "Failed to dec VP9 ret %d\n", ret); - return ret; + goto err_free_fb_out; } if (instance->irq) { @@ -1931,7 +1933,7 @@ /* LAT trans full, no more UBE or decode timeout */ if (ret) { mtk_vcodec_err(instance, "VP9 decode error: %d\n", ret); - return ret; + goto err_free_fb_out; } mtk_vcodec_debug(instance, "lat dma addr: 0x%lx 0x%lx\n", @@ -1944,6 +1946,9 @@ vdec_msg_queue_qbuf(&ctx->dev->msg_queue_core_ctx, lat_buf); return 0; +err_free_fb_out: + vdec_msg_queue_qbuf(&ctx->msg_queue.lat_ctx, lat_buf); + return ret; } static int vdec_vp9_slice_core_decode(struct vdec_lat_buf *lat_buf) --- linux-gcp-5.19.0.orig/drivers/media/platform/mediatek/vcodec/vdec_msg_queue.c +++ linux-gcp-5.19.0/drivers/media/platform/mediatek/vcodec/vdec_msg_queue.c @@ -221,7 +221,7 @@ mtk_vcodec_dec_disable_hardware(ctx, MTK_VDEC_CORE); vdec_msg_queue_qbuf(&ctx->msg_queue.lat_ctx, lat_buf); - if (!list_empty(&ctx->msg_queue.lat_ctx.ready_queue)) { + if (!list_empty(&dev->msg_queue_core_ctx.ready_queue)) { mtk_v4l2_debug(3, "re-schedule to decode for core: %d", dev->msg_queue_core_ctx.ready_num); queue_work(dev->core_workqueue, &msg_queue->core_work); --- linux-gcp-5.19.0.orig/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg-hw.c +++ linux-gcp-5.19.0/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg-hw.c @@ -76,7 +76,14 @@ void mxc_jpeg_enable_irq(void __iomem *reg, int slot) { - writel(0xFFFFFFFF, reg + MXC_SLOT_OFFSET(slot, SLOT_IRQ_EN)); + writel(0xFFFFFFFF, reg + MXC_SLOT_OFFSET(slot, SLOT_STATUS)); + writel(0xF0C, reg + MXC_SLOT_OFFSET(slot, SLOT_IRQ_EN)); +} + +void mxc_jpeg_disable_irq(void __iomem *reg, int slot) +{ + writel(0x0, reg + MXC_SLOT_OFFSET(slot, SLOT_IRQ_EN)); + writel(0xFFFFFFFF, reg + MXC_SLOT_OFFSET(slot, SLOT_STATUS)); } void mxc_jpeg_sw_reset(void __iomem *reg) --- linux-gcp-5.19.0.orig/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg-hw.h +++ linux-gcp-5.19.0/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg-hw.h @@ -53,10 +53,10 @@ #define CAST_REC_REGS_SEL CAST_STATUS4 #define CAST_LUMTH CAST_STATUS5 #define CAST_CHRTH CAST_STATUS6 -#define CAST_NOMFRSIZE_LO CAST_STATUS7 -#define CAST_NOMFRSIZE_HI CAST_STATUS8 -#define CAST_OFBSIZE_LO CAST_STATUS9 -#define CAST_OFBSIZE_HI CAST_STATUS10 +#define CAST_NOMFRSIZE_LO CAST_STATUS16 +#define CAST_NOMFRSIZE_HI CAST_STATUS17 +#define CAST_OFBSIZE_LO CAST_STATUS18 +#define CAST_OFBSIZE_HI CAST_STATUS19 #define MXC_MAX_SLOTS 1 /* TODO use all 4 slots*/ /* JPEG-Decoder Wrapper Slot Registers 0..3 */ @@ -125,6 +125,7 @@ void mxc_jpeg_enable_slot(void __iomem *reg, int slot); void mxc_jpeg_set_l_endian(void __iomem *reg, int le); void mxc_jpeg_enable_irq(void __iomem *reg, int slot); +void mxc_jpeg_disable_irq(void __iomem *reg, int slot); int mxc_jpeg_set_input(void __iomem *reg, u32 in_buf, u32 bufsize); int mxc_jpeg_set_output(void __iomem *reg, u16 out_pitch, u32 out_buf, u16 w, u16 h); --- linux-gcp-5.19.0.orig/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c +++ linux-gcp-5.19.0/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.c @@ -520,6 +520,7 @@ GFP_ATOMIC); if (!cfg_stm) goto err; + memset(cfg_stm, 0, MXC_JPEG_MAX_CFG_STREAM); jpeg->slot_data[slot].cfg_stream_vaddr = cfg_stm; skip_alloc: @@ -558,6 +559,18 @@ jpeg->slot_data[slot].used = false; } +static void mxc_jpeg_check_and_set_last_buffer(struct mxc_jpeg_ctx *ctx, + struct vb2_v4l2_buffer *src_buf, + struct vb2_v4l2_buffer *dst_buf) +{ + if (v4l2_m2m_is_last_draining_src_buf(ctx->fh.m2m_ctx, src_buf)) { + dst_buf->flags |= V4L2_BUF_FLAG_LAST; + v4l2_m2m_mark_stopped(ctx->fh.m2m_ctx); + notify_eos(ctx); + ctx->header_parsed = false; + } +} + static irqreturn_t mxc_jpeg_dec_irq(int irq, void *priv) { struct mxc_jpeg_dev *jpeg = priv; @@ -580,15 +593,8 @@ dev_dbg(dev, "Irq %d on slot %d.\n", irq, slot); ctx = v4l2_m2m_get_curr_priv(jpeg->m2m_dev); - if (!ctx) { - dev_err(dev, - "Instance released before the end of transaction.\n"); - /* soft reset only resets internal state, not registers */ - mxc_jpeg_sw_reset(reg); - /* clear all interrupts */ - writel(0xFFFFFFFF, reg + MXC_SLOT_OFFSET(slot, SLOT_STATUS)); + if (WARN_ON(!ctx)) goto job_unlock; - } if (slot != ctx->slot) { /* TODO investigate when adding multi-instance support */ @@ -632,6 +638,7 @@ dev_dbg(dev, "Decoder DHT cfg finished. Start decoding...\n"); goto job_unlock; } + if (jpeg->mode == MXC_JPEG_ENCODE) { payload = readl(reg + MXC_SLOT_OFFSET(slot, SLOT_BUF_PTR)); vb2_set_plane_payload(&dst_buf->vb2_buf, 0, payload); @@ -659,7 +666,9 @@ buf_state = VB2_BUF_STATE_DONE; buffers_done: + mxc_jpeg_disable_irq(reg, ctx->slot); jpeg->slot_data[slot].used = false; /* unused, but don't free */ + mxc_jpeg_check_and_set_last_buffer(ctx, src_buf, dst_buf); v4l2_m2m_src_buf_remove(ctx->fh.m2m_ctx); v4l2_m2m_dst_buf_remove(ctx->fh.m2m_ctx); v4l2_m2m_buf_done(src_buf, buf_state); @@ -755,7 +764,13 @@ u32 fourcc, u16 w, u16 h) { - unsigned int offset = 0; + /* + * There is a hardware issue that first 128 bytes of configuration data + * can't be loaded correctly. + * To avoid this issue, we need to write the configuration from + * an offset which should be no less than 0x80 (128 bytes). + */ + unsigned int offset = 0x80; u8 *cfg = (u8 *)cfg_stream_vaddr; struct mxc_jpeg_sof *sof; struct mxc_jpeg_sos *sos; @@ -887,8 +902,8 @@ jpeg->slot_data[slot].cfg_stream_size = mxc_jpeg_setup_cfg_stream(cfg_stream_vaddr, q_data->fmt->fourcc, - q_data->w_adjusted, - q_data->h_adjusted); + q_data->w, + q_data->h); /* chain the config descriptor with the encoding descriptor */ cfg_desc->next_descpt_ptr = desc_handle | MXC_NXT_DESCPT_EN; @@ -970,7 +985,7 @@ &q_data_cap->h_adjusted, q_data_cap->h_adjusted, /* adjust up */ MXC_JPEG_MAX_HEIGHT, - q_data_cap->fmt->v_align, + 0, 0); /* setup bytesperline/sizeimage for capture queue */ @@ -1027,6 +1042,7 @@ jpeg_src_buf->jpeg_parse_error = true; } if (jpeg_src_buf->jpeg_parse_error) { + mxc_jpeg_check_and_set_last_buffer(ctx, src_buf, dst_buf); v4l2_m2m_src_buf_remove(ctx->fh.m2m_ctx); v4l2_m2m_dst_buf_remove(ctx->fh.m2m_ctx); v4l2_m2m_buf_done(src_buf, VB2_BUF_STATE_ERROR); @@ -1077,45 +1093,33 @@ spin_unlock_irqrestore(&ctx->mxc_jpeg->hw_lock, flags); } -static void mxc_jpeg_set_last_buffer_dequeued(struct mxc_jpeg_ctx *ctx) -{ - struct vb2_queue *q; - - ctx->stopped = 1; - q = v4l2_m2m_get_dst_vq(ctx->fh.m2m_ctx); - if (!list_empty(&q->done_list)) - return; - - q->last_buffer_dequeued = true; - wake_up(&q->done_wq); - ctx->stopped = 0; - ctx->header_parsed = false; -} - static int mxc_jpeg_decoder_cmd(struct file *file, void *priv, struct v4l2_decoder_cmd *cmd) { struct v4l2_fh *fh = file->private_data; struct mxc_jpeg_ctx *ctx = mxc_jpeg_fh_to_ctx(fh); - struct device *dev = ctx->mxc_jpeg->dev; int ret; ret = v4l2_m2m_ioctl_try_decoder_cmd(file, fh, cmd); if (ret < 0) return ret; - if (cmd->cmd == V4L2_DEC_CMD_STOP) { - dev_dbg(dev, "Received V4L2_DEC_CMD_STOP"); - if (v4l2_m2m_num_src_bufs_ready(fh->m2m_ctx) == 0) { - /* No more src bufs, notify app EOS */ - notify_eos(ctx); - mxc_jpeg_set_last_buffer_dequeued(ctx); - } else { - /* will send EOS later*/ - ctx->stopping = 1; - } + if (!vb2_is_streaming(v4l2_m2m_get_src_vq(fh->m2m_ctx))) + return 0; + + ret = v4l2_m2m_ioctl_decoder_cmd(file, priv, cmd); + if (ret < 0) + return ret; + + if (cmd->cmd == V4L2_DEC_CMD_STOP && + v4l2_m2m_has_stopped(fh->m2m_ctx)) { + notify_eos(ctx); + ctx->header_parsed = false; } + if (cmd->cmd == V4L2_DEC_CMD_START && + v4l2_m2m_has_stopped(fh->m2m_ctx)) + vb2_clear_last_buffer_dequeued(&fh->m2m_ctx->cap_q_ctx.q); return 0; } @@ -1124,24 +1128,27 @@ { struct v4l2_fh *fh = file->private_data; struct mxc_jpeg_ctx *ctx = mxc_jpeg_fh_to_ctx(fh); - struct device *dev = ctx->mxc_jpeg->dev; int ret; ret = v4l2_m2m_ioctl_try_encoder_cmd(file, fh, cmd); if (ret < 0) return ret; - if (cmd->cmd == V4L2_ENC_CMD_STOP) { - dev_dbg(dev, "Received V4L2_ENC_CMD_STOP"); - if (v4l2_m2m_num_src_bufs_ready(fh->m2m_ctx) == 0) { - /* No more src bufs, notify app EOS */ - notify_eos(ctx); - mxc_jpeg_set_last_buffer_dequeued(ctx); - } else { - /* will send EOS later*/ - ctx->stopping = 1; - } - } + if (!vb2_is_streaming(v4l2_m2m_get_src_vq(fh->m2m_ctx)) || + !vb2_is_streaming(v4l2_m2m_get_dst_vq(fh->m2m_ctx))) + return 0; + + ret = v4l2_m2m_ioctl_encoder_cmd(file, fh, cmd); + if (ret < 0) + return 0; + + if (cmd->cmd == V4L2_ENC_CMD_STOP && + v4l2_m2m_has_stopped(fh->m2m_ctx)) + notify_eos(ctx); + + if (cmd->cmd == V4L2_ENC_CMD_START && + v4l2_m2m_has_stopped(fh->m2m_ctx)) + vb2_clear_last_buffer_dequeued(&fh->m2m_ctx->cap_q_ctx.q); return 0; } @@ -1154,18 +1161,30 @@ { struct mxc_jpeg_ctx *ctx = vb2_get_drv_priv(q); struct mxc_jpeg_q_data *q_data = NULL; + struct mxc_jpeg_q_data tmp_q; int i; q_data = mxc_jpeg_get_q_data(ctx, q->type); if (!q_data) return -EINVAL; + tmp_q.fmt = q_data->fmt; + tmp_q.w = q_data->w_adjusted; + tmp_q.h = q_data->h_adjusted; + for (i = 0; i < MXC_JPEG_MAX_PLANES; i++) { + tmp_q.bytesperline[i] = q_data->bytesperline[i]; + tmp_q.sizeimage[i] = q_data->sizeimage[i]; + } + mxc_jpeg_sizeimage(&tmp_q); + for (i = 0; i < MXC_JPEG_MAX_PLANES; i++) + tmp_q.sizeimage[i] = max(tmp_q.sizeimage[i], q_data->sizeimage[i]); + /* Handle CREATE_BUFS situation - *nplanes != 0 */ if (*nplanes) { if (*nplanes != q_data->fmt->colplanes) return -EINVAL; for (i = 0; i < *nplanes; i++) { - if (sizes[i] < q_data->sizeimage[i]) + if (sizes[i] < tmp_q.sizeimage[i]) return -EINVAL; } return 0; @@ -1174,7 +1193,7 @@ /* Handle REQBUFS situation */ *nplanes = q_data->fmt->colplanes; for (i = 0; i < *nplanes; i++) - sizes[i] = q_data->sizeimage[i]; + sizes[i] = tmp_q.sizeimage[i]; return 0; } @@ -1185,6 +1204,8 @@ struct mxc_jpeg_q_data *q_data = mxc_jpeg_get_q_data(ctx, q->type); int ret; + v4l2_m2m_update_start_streaming_state(ctx->fh.m2m_ctx, q); + if (ctx->mxc_jpeg->mode == MXC_JPEG_DECODE && V4L2_TYPE_IS_CAPTURE(q->type)) ctx->source_change = 0; dev_dbg(ctx->mxc_jpeg->dev, "Start streaming ctx=%p", ctx); @@ -1216,11 +1237,15 @@ break; v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_ERROR); } - pm_runtime_put_sync(&ctx->mxc_jpeg->pdev->dev); - if (V4L2_TYPE_IS_OUTPUT(q->type)) { - ctx->stopping = 0; - ctx->stopped = 0; + + v4l2_m2m_update_stop_streaming_state(ctx->fh.m2m_ctx, q); + if (V4L2_TYPE_IS_OUTPUT(q->type) && + v4l2_m2m_has_stopped(ctx->fh.m2m_ctx)) { + notify_eos(ctx); + ctx->header_parsed = false; } + + pm_runtime_put_sync(&ctx->mxc_jpeg->pdev->dev); } static int mxc_jpeg_valid_comp_id(struct device *dev, @@ -1374,11 +1399,6 @@ } q_data_out->w = header.frame.width; q_data_out->h = header.frame.height; - if (header.frame.width % 8 != 0 || header.frame.height % 8 != 0) { - dev_err(dev, "JPEG width or height not multiple of 8: %dx%d\n", - header.frame.width, header.frame.height); - return -EINVAL; - } if (header.frame.width > MXC_JPEG_MAX_WIDTH || header.frame.height > MXC_JPEG_MAX_HEIGHT) { dev_err(dev, "JPEG width or height should be <= 8192: %dx%d\n", @@ -1424,6 +1444,20 @@ struct mxc_jpeg_ctx *ctx = vb2_get_drv_priv(vb->vb2_queue); struct mxc_jpeg_src_buf *jpeg_src_buf; + if (V4L2_TYPE_IS_CAPTURE(vb->vb2_queue->type) && + vb2_is_streaming(vb->vb2_queue) && + v4l2_m2m_dst_buf_is_last(ctx->fh.m2m_ctx)) { + struct mxc_jpeg_q_data *q_data; + + q_data = mxc_jpeg_get_q_data(ctx, vb->vb2_queue->type); + vbuf->field = V4L2_FIELD_NONE; + vbuf->sequence = q_data->sequence++; + v4l2_m2m_last_buffer_done(ctx->fh.m2m_ctx, vbuf); + notify_eos(ctx); + ctx->header_parsed = false; + return; + } + if (vb->vb2_queue->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) goto end; @@ -1472,24 +1506,11 @@ return -EINVAL; } } - return 0; -} - -static void mxc_jpeg_buf_finish(struct vb2_buffer *vb) -{ - struct vb2_v4l2_buffer *vbuf = to_vb2_v4l2_buffer(vb); - struct mxc_jpeg_ctx *ctx = vb2_get_drv_priv(vb->vb2_queue); - struct vb2_queue *q = vb->vb2_queue; - - if (V4L2_TYPE_IS_OUTPUT(vb->type)) - return; - if (!ctx->stopped) - return; - if (list_empty(&q->done_list)) { - vbuf->flags |= V4L2_BUF_FLAG_LAST; - ctx->stopped = 0; - ctx->header_parsed = false; + if (V4L2_TYPE_IS_CAPTURE(vb->vb2_queue->type)) { + vb2_set_plane_payload(vb, 0, 0); + vb2_set_plane_payload(vb, 1, 0); } + return 0; } static const struct vb2_ops mxc_jpeg_qops = { @@ -1498,7 +1519,6 @@ .wait_finish = vb2_ops_wait_finish, .buf_out_validate = mxc_jpeg_buf_out_validate, .buf_prepare = mxc_jpeg_buf_prepare, - .buf_finish = mxc_jpeg_buf_finish, .start_streaming = mxc_jpeg_start_streaming, .stop_streaming = mxc_jpeg_stop_streaming, .buf_queue = mxc_jpeg_buf_queue, @@ -1684,22 +1704,17 @@ pix_mp->num_planes = fmt->colplanes; pix_mp->pixelformat = fmt->fourcc; - /* - * use MXC_JPEG_H_ALIGN instead of fmt->v_align, for vertical - * alignment, to loosen up the alignment to multiple of 8, - * otherwise NV12-1080p fails as 1080 is not a multiple of 16 - */ + pix_mp->width = w; + pix_mp->height = h; v4l_bound_align_image(&w, - MXC_JPEG_MIN_WIDTH, - w, /* adjust downwards*/ + w, /* adjust upwards*/ + MXC_JPEG_MAX_WIDTH, fmt->h_align, &h, - MXC_JPEG_MIN_HEIGHT, - h, /* adjust downwards*/ - MXC_JPEG_H_ALIGN, + h, /* adjust upwards*/ + MXC_JPEG_MAX_HEIGHT, + 0, 0); - pix_mp->width = w; /* negotiate the width */ - pix_mp->height = h; /* negotiate the height */ /* get user input into the tmp_q */ tmp_q.w = w; @@ -1825,35 +1840,19 @@ q_data->w_adjusted = q_data->w; q_data->h_adjusted = q_data->h; - if (jpeg->mode == MXC_JPEG_DECODE) { - /* - * align up the resolution for CAST IP, - * but leave the buffer resolution unchanged - */ - v4l_bound_align_image(&q_data->w_adjusted, - q_data->w_adjusted, /* adjust upwards */ - MXC_JPEG_MAX_WIDTH, - q_data->fmt->h_align, - &q_data->h_adjusted, - q_data->h_adjusted, /* adjust upwards */ - MXC_JPEG_MAX_HEIGHT, - q_data->fmt->v_align, - 0); - } else { - /* - * align down the resolution for CAST IP, - * but leave the buffer resolution unchanged - */ - v4l_bound_align_image(&q_data->w_adjusted, - MXC_JPEG_MIN_WIDTH, - q_data->w_adjusted, /* adjust downwards*/ - q_data->fmt->h_align, - &q_data->h_adjusted, - MXC_JPEG_MIN_HEIGHT, - q_data->h_adjusted, /* adjust downwards*/ - q_data->fmt->v_align, - 0); - } + /* + * align up the resolution for CAST IP, + * but leave the buffer resolution unchanged + */ + v4l_bound_align_image(&q_data->w_adjusted, + q_data->w_adjusted, /* adjust upwards */ + MXC_JPEG_MAX_WIDTH, + q_data->fmt->h_align, + &q_data->h_adjusted, + q_data->h_adjusted, /* adjust upwards */ + MXC_JPEG_MAX_HEIGHT, + q_data->fmt->v_align, + 0); for (i = 0; i < pix_mp->num_planes; i++) { q_data->bytesperline[i] = pix_mp->plane_fmt[i].bytesperline; @@ -1963,27 +1962,6 @@ } } -static int mxc_jpeg_dqbuf(struct file *file, void *priv, - struct v4l2_buffer *buf) -{ - struct v4l2_fh *fh = file->private_data; - struct mxc_jpeg_ctx *ctx = mxc_jpeg_fh_to_ctx(priv); - struct device *dev = ctx->mxc_jpeg->dev; - int num_src_ready = v4l2_m2m_num_src_bufs_ready(fh->m2m_ctx); - int ret; - - dev_dbg(dev, "DQBUF type=%d, index=%d", buf->type, buf->index); - if (ctx->stopping == 1 && num_src_ready == 0) { - /* No more src bufs, notify app EOS */ - notify_eos(ctx); - ctx->stopping = 0; - mxc_jpeg_set_last_buffer_dequeued(ctx); - } - - ret = v4l2_m2m_dqbuf(file, fh->m2m_ctx, buf); - return ret; -} - static const struct v4l2_ioctl_ops mxc_jpeg_ioctl_ops = { .vidioc_querycap = mxc_jpeg_querycap, .vidioc_enum_fmt_vid_cap = mxc_jpeg_enum_fmt_vid_cap, @@ -2007,7 +1985,7 @@ .vidioc_encoder_cmd = mxc_jpeg_encoder_cmd, .vidioc_qbuf = v4l2_m2m_ioctl_qbuf, - .vidioc_dqbuf = mxc_jpeg_dqbuf, + .vidioc_dqbuf = v4l2_m2m_ioctl_dqbuf, .vidioc_create_bufs = v4l2_m2m_ioctl_create_bufs, .vidioc_prepare_buf = v4l2_m2m_ioctl_prepare_buf, @@ -2164,17 +2142,12 @@ jpeg->mode = mode; /* Get clocks */ - jpeg->clk_ipg = devm_clk_get(dev, "ipg"); - if (IS_ERR(jpeg->clk_ipg)) { - dev_err(dev, "failed to get clock: ipg\n"); - goto err_clk; - } - - jpeg->clk_per = devm_clk_get(dev, "per"); - if (IS_ERR(jpeg->clk_per)) { - dev_err(dev, "failed to get clock: per\n"); + ret = devm_clk_bulk_get_all(&pdev->dev, &jpeg->clks); + if (ret < 0) { + dev_err(dev, "failed to get clock\n"); goto err_clk; } + jpeg->num_clks = ret; ret = mxc_jpeg_attach_pm_domains(jpeg); if (ret < 0) { @@ -2271,32 +2244,20 @@ struct mxc_jpeg_dev *jpeg = dev_get_drvdata(dev); int ret; - ret = clk_prepare_enable(jpeg->clk_ipg); + ret = clk_bulk_prepare_enable(jpeg->num_clks, jpeg->clks); if (ret < 0) { - dev_err(dev, "failed to enable clock: ipg\n"); - goto err_ipg; - } - - ret = clk_prepare_enable(jpeg->clk_per); - if (ret < 0) { - dev_err(dev, "failed to enable clock: per\n"); - goto err_per; + dev_err(dev, "failed to enable clock\n"); + return ret; } return 0; - -err_per: - clk_disable_unprepare(jpeg->clk_ipg); -err_ipg: - return ret; } static int mxc_jpeg_runtime_suspend(struct device *dev) { struct mxc_jpeg_dev *jpeg = dev_get_drvdata(dev); - clk_disable_unprepare(jpeg->clk_ipg); - clk_disable_unprepare(jpeg->clk_per); + clk_bulk_disable_unprepare(jpeg->num_clks, jpeg->clks); return 0; } --- linux-gcp-5.19.0.orig/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.h +++ linux-gcp-5.19.0/drivers/media/platform/nxp/imx-jpeg/mxc-jpeg.h @@ -92,8 +92,6 @@ struct mxc_jpeg_q_data cap_q; struct v4l2_fh fh; enum mxc_jpeg_enc_state enc_state; - unsigned int stopping; - unsigned int stopped; unsigned int slot; unsigned int source_change; bool header_parsed; @@ -114,8 +112,8 @@ spinlock_t hw_lock; /* hardware access lock */ unsigned int mode; struct mutex lock; /* v4l2 ioctls serialization */ - struct clk *clk_ipg; - struct clk *clk_per; + struct clk_bulk_data *clks; + int num_clks; struct platform_device *pdev; struct device *dev; void __iomem *base_reg; --- linux-gcp-5.19.0.orig/drivers/media/platform/qcom/camss/camss-csid.c +++ linux-gcp-5.19.0/drivers/media/platform/qcom/camss/camss-csid.c @@ -666,7 +666,7 @@ if (csid->num_supplies) { csid->supplies = devm_kmalloc_array(camss->dev, csid->num_supplies, - sizeof(csid->supplies), + sizeof(*csid->supplies), GFP_KERNEL); if (!csid->supplies) return -ENOMEM; --- linux-gcp-5.19.0.orig/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c +++ linux-gcp-5.19.0/drivers/media/platform/qcom/camss/camss-csiphy-3ph-1-0.c @@ -429,7 +429,8 @@ array_size = ARRAY_SIZE(lane_regs_sm8250[0]); break; default: - unreachable(); + WARN(1, "unknown cspi version\n"); + return; } for (l = 0; l < 5; l++) { --- linux-gcp-5.19.0.orig/drivers/media/platform/qcom/camss/camss-video.c +++ linux-gcp-5.19.0/drivers/media/platform/qcom/camss/camss-video.c @@ -495,7 +495,7 @@ ret = media_pipeline_start(&vdev->entity, &video->pipe); if (ret < 0) - return ret; + goto flush_buffers; ret = video_check_format(video); if (ret < 0) @@ -524,6 +524,7 @@ error: media_pipeline_stop(&vdev->entity); +flush_buffers: video->ops->flush_buffers(video, VB2_BUF_STATE_QUEUED); return ret; --- linux-gcp-5.19.0.orig/drivers/media/platform/qcom/venus/helpers.c +++ linux-gcp-5.19.0/drivers/media/platform/qcom/venus/helpers.c @@ -1802,7 +1802,7 @@ struct venus_core *core = inst->core; u32 fmt = to_hfi_raw_fmt(v4l2_pixfmt); struct hfi_plat_caps *caps; - u32 buftype; + bool found; if (!fmt) return false; @@ -1811,12 +1811,13 @@ if (!caps) return false; - if (inst->session_type == VIDC_SESSION_TYPE_DEC) - buftype = HFI_BUFFER_OUTPUT2; - else - buftype = HFI_BUFFER_OUTPUT; + found = find_fmt_from_caps(caps, HFI_BUFFER_OUTPUT, fmt); + if (found) + goto done; - return find_fmt_from_caps(caps, buftype, fmt); + found = find_fmt_from_caps(caps, HFI_BUFFER_OUTPUT2, fmt); +done: + return found; } EXPORT_SYMBOL_GPL(venus_helper_check_format); --- linux-gcp-5.19.0.orig/drivers/media/platform/qcom/venus/pm_helpers.c +++ linux-gcp-5.19.0/drivers/media/platform/qcom/venus/pm_helpers.c @@ -869,13 +869,13 @@ for (i = 0; i < res->vcodec_pmdomains_num; i++) { pd = dev_pm_domain_attach_by_name(dev, res->vcodec_pmdomains[i]); - if (IS_ERR(pd)) - return PTR_ERR(pd); + if (IS_ERR_OR_NULL(pd)) + return PTR_ERR(pd) ? : -ENODATA; core->pmdomains[i] = pd; } skip_pmdomains: - if (!core->has_opp_table) + if (!core->res->opp_pmdomain) return 0; /* Attach the power domain for setting performance state */ @@ -1007,6 +1007,10 @@ if (ret) return ret; + ret = vcodec_domains_get(core); + if (ret) + return ret; + if (core->res->opp_pmdomain) { ret = devm_pm_opp_of_add_table(dev); if (!ret) { @@ -1017,10 +1021,6 @@ } } - ret = vcodec_domains_get(core); - if (ret) - return ret; - return 0; } --- linux-gcp-5.19.0.orig/drivers/media/platform/qcom/venus/vdec.c +++ linux-gcp-5.19.0/drivers/media/platform/qcom/venus/vdec.c @@ -183,6 +183,8 @@ else return NULL; fmt = find_format(inst, pixmp->pixelformat, f->type); + if (!fmt) + return NULL; } pixmp->width = clamp(pixmp->width, frame_width_min(inst), --- linux-gcp-5.19.0.orig/drivers/media/platform/renesas/rcar-vin/rcar-core.c +++ linux-gcp-5.19.0/drivers/media/platform/renesas/rcar-vin/rcar-core.c @@ -1261,7 +1261,7 @@ }; static const struct rvin_group_route rcar_info_r8a77990_routes[] = { - { .master = 0, .csi = RVIN_CSI40, .chsel = 0x03 }, + { .master = 4, .csi = RVIN_CSI40, .chsel = 0x03 }, { /* Sentinel */ } }; --- linux-gcp-5.19.0.orig/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c +++ linux-gcp-5.19.0/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c @@ -1291,11 +1291,12 @@ struct rkisp1_capture *cap = video_get_drvdata(vdev); const struct rkisp1_capture_fmt_cfg *fmt = rkisp1_find_fmt_cfg(cap, cap->pix.fmt.pixelformat); - struct v4l2_subdev_format sd_fmt; + struct v4l2_subdev_format sd_fmt = { + .which = V4L2_SUBDEV_FORMAT_ACTIVE, + .pad = link->source->index, + }; int ret; - sd_fmt.which = V4L2_SUBDEV_FORMAT_ACTIVE; - sd_fmt.pad = link->source->index; ret = v4l2_subdev_call(sd, pad, get_fmt, NULL, &sd_fmt); if (ret) return ret; --- linux-gcp-5.19.0.orig/drivers/media/platform/rockchip/rkisp1/rkisp1-params.c +++ linux-gcp-5.19.0/drivers/media/platform/rockchip/rkisp1/rkisp1-params.c @@ -347,7 +347,7 @@ RKISP1_CIF_ISP_LSC_XSIZE_01 + i * 4); /* program x grad tables */ - data = RKISP1_CIF_ISP_LSC_SECT_SIZE(arg->x_grad_tbl[i * 2], + data = RKISP1_CIF_ISP_LSC_SECT_GRAD(arg->x_grad_tbl[i * 2], arg->x_grad_tbl[i * 2 + 1]); rkisp1_write(params->rkisp1, data, RKISP1_CIF_ISP_LSC_XGRAD_01 + i * 4); @@ -359,7 +359,7 @@ RKISP1_CIF_ISP_LSC_YSIZE_01 + i * 4); /* program y grad tables */ - data = RKISP1_CIF_ISP_LSC_SECT_SIZE(arg->y_grad_tbl[i * 2], + data = RKISP1_CIF_ISP_LSC_SECT_GRAD(arg->y_grad_tbl[i * 2], arg->y_grad_tbl[i * 2 + 1]); rkisp1_write(params->rkisp1, data, RKISP1_CIF_ISP_LSC_YGRAD_01 + i * 4); @@ -1072,7 +1072,7 @@ } } -static void rkisp1_csm_config(struct rkisp1_params *params, bool full_range) +static void rkisp1_csm_config(struct rkisp1_params *params) { static const u16 full_range_coeff[] = { 0x0026, 0x004b, 0x000f, @@ -1086,7 +1086,7 @@ }; unsigned int i; - if (full_range) { + if (params->quantization == V4L2_QUANTIZATION_FULL_RANGE) { for (i = 0; i < ARRAY_SIZE(full_range_coeff); i++) rkisp1_write(params->rkisp1, full_range_coeff[i], RKISP1_CIF_ISP_CC_COEFF_0 + i * 4); @@ -1555,11 +1555,7 @@ rkisp1_param_set_bits(params, RKISP1_CIF_ISP_HIST_PROP_V10, rkisp1_hst_params_default_config.mode); - /* set the range */ - if (params->quantization == V4L2_QUANTIZATION_FULL_RANGE) - rkisp1_csm_config(params, true); - else - rkisp1_csm_config(params, false); + rkisp1_csm_config(params); spin_lock_irq(¶ms->config_lock); --- linux-gcp-5.19.0.orig/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h +++ linux-gcp-5.19.0/drivers/media/platform/rockchip/rkisp1/rkisp1-regs.h @@ -567,7 +567,7 @@ (((v0) & 0x1FFF) | (((v1) & 0x1FFF) << 13)) #define RKISP1_CIF_ISP_LSC_SECT_SIZE(v0, v1) \ (((v0) & 0xFFF) | (((v1) & 0xFFF) << 16)) -#define RKISP1_CIF_ISP_LSC_GRAD_SIZE(v0, v1) \ +#define RKISP1_CIF_ISP_LSC_SECT_GRAD(v0, v1) \ (((v0) & 0xFFF) | (((v1) & 0xFFF) << 16)) /* LSC: ISP_LSC_TABLE_SEL */ --- linux-gcp-5.19.0.orig/drivers/media/platform/rockchip/rkisp1/rkisp1-resizer.c +++ linux-gcp-5.19.0/drivers/media/platform/rockchip/rkisp1/rkisp1-resizer.c @@ -510,6 +510,10 @@ sink_fmt->height = RKISP1_DEFAULT_HEIGHT; sink_fmt->field = V4L2_FIELD_NONE; sink_fmt->code = RKISP1_DEF_FMT; + sink_fmt->colorspace = V4L2_COLORSPACE_SRGB; + sink_fmt->xfer_func = V4L2_XFER_FUNC_SRGB; + sink_fmt->ycbcr_enc = V4L2_YCBCR_ENC_601; + sink_fmt->quantization = V4L2_QUANTIZATION_LIM_RANGE; sink_crop = v4l2_subdev_get_try_crop(sd, sd_state, RKISP1_RSZ_PAD_SINK); --- linux-gcp-5.19.0.orig/drivers/media/platform/samsung/exynos4-is/fimc-core.c +++ linux-gcp-5.19.0/drivers/media/platform/samsung/exynos4-is/fimc-core.c @@ -1173,7 +1173,7 @@ return platform_driver_register(&fimc_driver); } -void __exit fimc_unregister_driver(void) +void fimc_unregister_driver(void) { platform_driver_unregister(&fimc_driver); } --- linux-gcp-5.19.0.orig/drivers/media/platform/samsung/exynos4-is/fimc-is.c +++ linux-gcp-5.19.0/drivers/media/platform/samsung/exynos4-is/fimc-is.c @@ -213,6 +213,7 @@ if (ret < 0 || index >= FIMC_IS_SENSORS_NUM) { of_node_put(child); + of_node_put(i2c_bus); return ret; } index++; --- linux-gcp-5.19.0.orig/drivers/media/platform/samsung/exynos4-is/media-dev.c +++ linux-gcp-5.19.0/drivers/media/platform/samsung/exynos4-is/media-dev.c @@ -1380,9 +1380,7 @@ /* Find platform data for this sensor subdev */ for (i = 0; i < ARRAY_SIZE(fmd->sensor); i++) - if (fmd->sensor[i].asd && - fmd->sensor[i].asd->match.fwnode == - of_fwnode_handle(subdev->dev->of_node)) + if (fmd->sensor[i].asd == asd) si = &fmd->sensor[i]; if (si == NULL) @@ -1474,7 +1472,7 @@ pinctrl = devm_pinctrl_get(dev); if (IS_ERR(pinctrl)) { ret = PTR_ERR(pinctrl); - if (ret != EPROBE_DEFER) + if (ret != -EPROBE_DEFER) dev_err(dev, "Failed to get pinctrl: %d\n", ret); goto err_clk; } @@ -1586,7 +1584,11 @@ if (ret) return ret; - return platform_driver_register(&fimc_md_driver); + ret = platform_driver_register(&fimc_md_driver); + if (ret) + fimc_unregister_driver(); + + return ret; } static void __exit fimc_md_exit(void) --- linux-gcp-5.19.0.orig/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c +++ linux-gcp-5.19.0/drivers/media/platform/samsung/s5p-mfc/s5p_mfc.c @@ -1399,6 +1399,7 @@ /* Deinit MFC if probe had failed */ err_enc_reg: video_unregister_device(dev->vfd_dec); + dev->vfd_dec = NULL; err_dec_reg: video_device_release(dev->vfd_enc); err_enc_alloc: @@ -1444,8 +1445,6 @@ video_unregister_device(dev->vfd_enc); video_unregister_device(dev->vfd_dec); - video_device_release(dev->vfd_enc); - video_device_release(dev->vfd_dec); v4l2_device_unregister(&dev->v4l2_dev); s5p_mfc_unconfigure_dma_memory(dev); @@ -1577,8 +1576,18 @@ .port_num = MFC_NUM_PORTS_V7, .buf_size = &buf_size_v7, .fw_name[0] = "s5p-mfc-v7.fw", - .clk_names = {"mfc", "sclk_mfc"}, - .num_clocks = 2, + .clk_names = {"mfc"}, + .num_clocks = 1, +}; + +static struct s5p_mfc_variant mfc_drvdata_v7_3250 = { + .version = MFC_VERSION_V7, + .version_bit = MFC_V7_BIT, + .port_num = MFC_NUM_PORTS_V7, + .buf_size = &buf_size_v7, + .fw_name[0] = "s5p-mfc-v7.fw", + .clk_names = {"mfc", "sclk_mfc"}, + .num_clocks = 2, }; static struct s5p_mfc_buf_size_v6 mfc_buf_size_v8 = { @@ -1649,6 +1658,9 @@ .compatible = "samsung,mfc-v7", .data = &mfc_drvdata_v7, }, { + .compatible = "samsung,exynos3250-mfc", + .data = &mfc_drvdata_v7_3250, + }, { .compatible = "samsung,mfc-v8", .data = &mfc_drvdata_v8, }, { --- linux-gcp-5.19.0.orig/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c +++ linux-gcp-5.19.0/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_ctrl.c @@ -468,8 +468,10 @@ s5p_mfc_hw_call(dev->mfc_ops, try_run, dev); /* Wait until instance is returned or timeout occurred */ if (s5p_mfc_wait_for_done_ctx(ctx, - S5P_MFC_R2H_CMD_CLOSE_INSTANCE_RET, 0)) + S5P_MFC_R2H_CMD_CLOSE_INSTANCE_RET, 0)){ + clear_work_bit_irqsave(ctx); mfc_err("Err returning instance\n"); + } /* Free resources */ s5p_mfc_hw_call(dev->mfc_ops, release_codec_buffers, ctx); --- linux-gcp-5.19.0.orig/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c +++ linux-gcp-5.19.0/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_enc.c @@ -1218,6 +1218,7 @@ unsigned long mb_y_addr, mb_c_addr; int slice_type; unsigned int strm_size; + bool src_ready; slice_type = s5p_mfc_hw_call(dev->mfc_ops, get_enc_slice_type, dev); strm_size = s5p_mfc_hw_call(dev->mfc_ops, get_enc_strm_size, dev); @@ -1257,7 +1258,8 @@ } } } - if ((ctx->src_queue_cnt > 0) && (ctx->state == MFCINST_RUNNING)) { + if (ctx->src_queue_cnt > 0 && (ctx->state == MFCINST_RUNNING || + ctx->state == MFCINST_FINISHING)) { mb_entry = list_entry(ctx->src_queue.next, struct s5p_mfc_buf, list); if (mb_entry->flags & MFC_BUF_FLAG_USED) { @@ -1288,7 +1290,13 @@ vb2_set_plane_payload(&mb_entry->b->vb2_buf, 0, strm_size); vb2_buffer_done(&mb_entry->b->vb2_buf, VB2_BUF_STATE_DONE); } - if ((ctx->src_queue_cnt == 0) || (ctx->dst_queue_cnt == 0)) + + src_ready = true; + if (ctx->state == MFCINST_RUNNING && ctx->src_queue_cnt == 0) + src_ready = false; + if (ctx->state == MFCINST_FINISHING && ctx->ref_queue_cnt == 0) + src_ready = false; + if (!src_ready || ctx->dst_queue_cnt == 0) clear_work_bit(ctx); return 0; --- linux-gcp-5.19.0.orig/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c +++ linux-gcp-5.19.0/drivers/media/platform/samsung/s5p-mfc/s5p_mfc_opr_v6.c @@ -1060,7 +1060,7 @@ } /* aspect ratio VUI */ - readl(mfc_regs->e_h264_options); + reg = readl(mfc_regs->e_h264_options); reg &= ~(0x1 << 5); reg |= ((p_h264->vui_sar & 0x1) << 5); writel(reg, mfc_regs->e_h264_options); @@ -1083,7 +1083,7 @@ /* intra picture period for H.264 open GOP */ /* control */ - readl(mfc_regs->e_h264_options); + reg = readl(mfc_regs->e_h264_options); reg &= ~(0x1 << 4); reg |= ((p_h264->open_gop & 0x1) << 4); writel(reg, mfc_regs->e_h264_options); @@ -1097,23 +1097,23 @@ } /* 'WEIGHTED_BI_PREDICTION' for B is disable */ - readl(mfc_regs->e_h264_options); + reg = readl(mfc_regs->e_h264_options); reg &= ~(0x3 << 9); writel(reg, mfc_regs->e_h264_options); /* 'CONSTRAINED_INTRA_PRED_ENABLE' is disable */ - readl(mfc_regs->e_h264_options); + reg = readl(mfc_regs->e_h264_options); reg &= ~(0x1 << 14); writel(reg, mfc_regs->e_h264_options); /* ASO */ - readl(mfc_regs->e_h264_options); + reg = readl(mfc_regs->e_h264_options); reg &= ~(0x1 << 6); reg |= ((p_h264->aso & 0x1) << 6); writel(reg, mfc_regs->e_h264_options); /* hier qp enable */ - readl(mfc_regs->e_h264_options); + reg = readl(mfc_regs->e_h264_options); reg &= ~(0x1 << 8); reg |= ((p_h264->open_gop & 0x1) << 8); writel(reg, mfc_regs->e_h264_options); @@ -1134,7 +1134,7 @@ writel(reg, mfc_regs->e_h264_num_t_layer); /* frame packing SEI generation */ - readl(mfc_regs->e_h264_options); + reg = readl(mfc_regs->e_h264_options); reg &= ~(0x1 << 25); reg |= ((p_h264->sei_frame_packing & 0x1) << 25); writel(reg, mfc_regs->e_h264_options); --- linux-gcp-5.19.0.orig/drivers/media/platform/st/sti/c8sectpfe/c8sectpfe-core.c +++ linux-gcp-5.19.0/drivers/media/platform/st/sti/c8sectpfe/c8sectpfe-core.c @@ -934,6 +934,7 @@ if (ret) { dev_err(fei->dev, "configure_memdma_and_inputblock failed\n"); + of_node_put(child); goto err_unmap; } index++; --- linux-gcp-5.19.0.orig/drivers/media/platform/sunxi/sun4i-csi/Kconfig +++ linux-gcp-5.19.0/drivers/media/platform/sunxi/sun4i-csi/Kconfig @@ -3,7 +3,7 @@ config VIDEO_SUN4I_CSI tristate "Allwinner A10 CMOS Sensor Interface Support" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_DEV && COMMON_CLK && HAS_DMA + depends on VIDEO_DEV && COMMON_CLK && RESET_CONTROLLER && HAS_DMA depends on ARCH_SUNXI || COMPILE_TEST select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API --- linux-gcp-5.19.0.orig/drivers/media/platform/sunxi/sun6i-csi/Kconfig +++ linux-gcp-5.19.0/drivers/media/platform/sunxi/sun6i-csi/Kconfig @@ -2,7 +2,7 @@ config VIDEO_SUN6I_CSI tristate "Allwinner V3s Camera Sensor Interface driver" depends on V4L_PLATFORM_DRIVERS - depends on VIDEO_DEV && COMMON_CLK && HAS_DMA + depends on VIDEO_DEV && COMMON_CLK && RESET_CONTROLLER && HAS_DMA depends on ARCH_SUNXI || COMPILE_TEST select MEDIA_CONTROLLER select VIDEO_V4L2_SUBDEV_API --- linux-gcp-5.19.0.orig/drivers/media/platform/sunxi/sun8i-di/Kconfig +++ linux-gcp-5.19.0/drivers/media/platform/sunxi/sun8i-di/Kconfig @@ -4,7 +4,7 @@ depends on V4L_MEM2MEM_DRIVERS depends on VIDEO_DEV depends on ARCH_SUNXI || COMPILE_TEST - depends on COMMON_CLK && OF + depends on COMMON_CLK && RESET_CONTROLLER && OF depends on PM select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV --- linux-gcp-5.19.0.orig/drivers/media/platform/sunxi/sun8i-rotate/Kconfig +++ linux-gcp-5.19.0/drivers/media/platform/sunxi/sun8i-rotate/Kconfig @@ -5,7 +5,7 @@ depends on V4L_MEM2MEM_DRIVERS depends on VIDEO_DEV depends on ARCH_SUNXI || COMPILE_TEST - depends on COMMON_CLK && OF + depends on COMMON_CLK && RESET_CONTROLLER && OF depends on PM select VIDEOBUF2_DMA_CONTIG select V4L2_MEM2MEM_DEV --- linux-gcp-5.19.0.orig/drivers/media/platform/ti/cal/cal.c +++ linux-gcp-5.19.0/drivers/media/platform/ti/cal/cal.c @@ -983,8 +983,10 @@ ctx->cport = inst; ret = cal_ctx_v4l2_init(ctx); - if (ret) + if (ret) { + kfree(ctx); return NULL; + } return ctx; } --- linux-gcp-5.19.0.orig/drivers/media/platform/ti/omap3isp/isp.c +++ linux-gcp-5.19.0/drivers/media/platform/ti/omap3isp/isp.c @@ -2310,7 +2310,16 @@ /* Regulators */ isp->isp_csiphy1.vdd = devm_regulator_get(&pdev->dev, "vdd-csiphy1"); + if (IS_ERR(isp->isp_csiphy1.vdd)) { + ret = PTR_ERR(isp->isp_csiphy1.vdd); + goto error; + } + isp->isp_csiphy2.vdd = devm_regulator_get(&pdev->dev, "vdd-csiphy2"); + if (IS_ERR(isp->isp_csiphy2.vdd)) { + ret = PTR_ERR(isp->isp_csiphy2.vdd); + goto error; + } /* Clocks * --- linux-gcp-5.19.0.orig/drivers/media/platform/xilinx/xilinx-vipp.c +++ linux-gcp-5.19.0/drivers/media/platform/xilinx/xilinx-vipp.c @@ -471,7 +471,7 @@ { struct device_node *ports; struct device_node *port; - int ret; + int ret = 0; ports = of_get_child_by_name(xdev->dev->of_node, "ports"); if (ports == NULL) { @@ -481,13 +481,14 @@ for_each_child_of_node(ports, port) { ret = xvip_graph_dma_init_one(xdev, port); - if (ret < 0) { + if (ret) { of_node_put(port); - return ret; + break; } } - return 0; + of_node_put(ports); + return ret; } static void xvip_graph_cleanup(struct xvip_composite_device *xdev) --- linux-gcp-5.19.0.orig/drivers/media/radio/si470x/radio-si470x-usb.c +++ linux-gcp-5.19.0/drivers/media/radio/si470x/radio-si470x-usb.c @@ -727,8 +727,10 @@ /* start radio */ retval = si470x_start_usb(radio); - if (retval < 0) + if (retval < 0 && !radio->int_in_running) goto err_buf; + else if (retval < 0) /* in case of radio->int_in_running == 1 */ + goto err_all; /* set initial frequency */ si470x_set_freq(radio, 87.5 * FREQ_MUL); /* available in all regions */ --- linux-gcp-5.19.0.orig/drivers/media/rc/ene_ir.c +++ linux-gcp-5.19.0/drivers/media/rc/ene_ir.c @@ -1106,6 +1106,8 @@ struct ene_device *dev = pnp_get_drvdata(pnp_dev); unsigned long flags; + rc_unregister_device(dev->rdev); + del_timer_sync(&dev->tx_sim_timer); spin_lock_irqsave(&dev->hw_lock, flags); ene_rx_disable(dev); ene_rx_restore_hw_buffer(dev); @@ -1113,7 +1115,6 @@ free_irq(dev->irq, dev); release_region(dev->hw_io, ENE_IO_SIZE); - rc_unregister_device(dev->rdev); kfree(dev); } --- linux-gcp-5.19.0.orig/drivers/media/rc/imon.c +++ linux-gcp-5.19.0/drivers/media/rc/imon.c @@ -646,15 +646,14 @@ pr_err_ratelimited("error submitting urb(%d)\n", retval); } else { /* Wait for transmission to complete (or abort) */ - mutex_unlock(&ictx->lock); retval = wait_for_completion_interruptible( &ictx->tx.finished); if (retval) { usb_kill_urb(ictx->tx_urb); pr_err_ratelimited("task interrupted\n"); } - mutex_lock(&ictx->lock); + ictx->tx.busy = false; retval = ictx->tx.status; if (retval) pr_err_ratelimited("packet tx failed (%d)\n", retval); @@ -955,7 +954,8 @@ if (ictx->disconnected) return -ENODEV; - mutex_lock(&ictx->lock); + if (mutex_lock_interruptible(&ictx->lock)) + return -ERESTARTSYS; if (!ictx->dev_present_intf0) { pr_err_ratelimited("no iMON device present\n"); --- linux-gcp-5.19.0.orig/drivers/media/rc/mceusb.c +++ linux-gcp-5.19.0/drivers/media/rc/mceusb.c @@ -1077,7 +1077,7 @@ struct mceusb_dev *ir = dev->priv; unsigned int units; - units = DIV_ROUND_CLOSEST(timeout, MCE_TIME_UNIT); + units = DIV_ROUND_UP(timeout, MCE_TIME_UNIT); cmdbuf[2] = units >> 8; cmdbuf[3] = units; @@ -1416,42 +1416,37 @@ { int ret; struct device *dev = ir->dev; - char *data; - - data = kzalloc(USB_CTRL_MSG_SZ, GFP_KERNEL); - if (!data) { - dev_err(dev, "%s: memory allocation failed!", __func__); - return; - } + char data[USB_CTRL_MSG_SZ]; /* * This is a strange one. Windows issues a set address to the device * on the receive control pipe and expect a certain value pair back */ - ret = usb_control_msg(ir->usbdev, usb_rcvctrlpipe(ir->usbdev, 0), - USB_REQ_SET_ADDRESS, USB_TYPE_VENDOR, 0, 0, - data, USB_CTRL_MSG_SZ, 3000); + ret = usb_control_msg_recv(ir->usbdev, 0, USB_REQ_SET_ADDRESS, + USB_DIR_IN | USB_TYPE_VENDOR, + 0, 0, data, USB_CTRL_MSG_SZ, 3000, + GFP_KERNEL); dev_dbg(dev, "set address - ret = %d", ret); dev_dbg(dev, "set address - data[0] = %d, data[1] = %d", data[0], data[1]); /* set feature: bit rate 38400 bps */ - ret = usb_control_msg(ir->usbdev, usb_sndctrlpipe(ir->usbdev, 0), - USB_REQ_SET_FEATURE, USB_TYPE_VENDOR, - 0xc04e, 0x0000, NULL, 0, 3000); + ret = usb_control_msg_send(ir->usbdev, 0, + USB_REQ_SET_FEATURE, USB_TYPE_VENDOR, + 0xc04e, 0x0000, NULL, 0, 3000, GFP_KERNEL); dev_dbg(dev, "set feature - ret = %d", ret); /* bRequest 4: set char length to 8 bits */ - ret = usb_control_msg(ir->usbdev, usb_sndctrlpipe(ir->usbdev, 0), - 4, USB_TYPE_VENDOR, - 0x0808, 0x0000, NULL, 0, 3000); + ret = usb_control_msg_send(ir->usbdev, 0, + 4, USB_TYPE_VENDOR, + 0x0808, 0x0000, NULL, 0, 3000, GFP_KERNEL); dev_dbg(dev, "set char length - retB = %d", ret); /* bRequest 2: set handshaking to use DTR/DSR */ - ret = usb_control_msg(ir->usbdev, usb_sndctrlpipe(ir->usbdev, 0), - 2, USB_TYPE_VENDOR, - 0x0000, 0x0100, NULL, 0, 3000); + ret = usb_control_msg_send(ir->usbdev, 0, + 2, USB_TYPE_VENDOR, + 0x0000, 0x0100, NULL, 0, 3000, GFP_KERNEL); dev_dbg(dev, "set handshake - retC = %d", ret); /* device resume */ @@ -1459,8 +1454,6 @@ /* get hw/sw revision? */ mce_command_out(ir, GET_REVISION, sizeof(GET_REVISION)); - - kfree(data); } static void mceusb_gen2_init(struct mceusb_dev *ir) --- linux-gcp-5.19.0.orig/drivers/media/test-drivers/vidtv/vidtv_bridge.c +++ linux-gcp-5.19.0/drivers/media/test-drivers/vidtv/vidtv_bridge.c @@ -459,26 +459,20 @@ for (j = j - 1; j >= 0; --j) dvb->demux.dmx.remove_frontend(&dvb->demux.dmx, &dvb->dmx_fe[j]); -fail_dmx_dev: dvb_dmxdev_release(&dvb->dmx_dev); -fail_dmx: +fail_dmx_dev: dvb_dmx_release(&dvb->demux); +fail_dmx: +fail_demod_probe: + for (i = i - 1; i >= 0; --i) { + dvb_unregister_frontend(dvb->fe[i]); fail_fe: - for (j = i; j >= 0; --j) - dvb_unregister_frontend(dvb->fe[j]); + dvb_module_release(dvb->i2c_client_tuner[i]); fail_tuner_probe: - for (j = i; j >= 0; --j) - if (dvb->i2c_client_tuner[j]) - dvb_module_release(dvb->i2c_client_tuner[j]); - -fail_demod_probe: - for (j = i; j >= 0; --j) - if (dvb->i2c_client_demod[j]) - dvb_module_release(dvb->i2c_client_demod[j]); - + dvb_module_release(dvb->i2c_client_demod[i]); + } fail_adapter: dvb_unregister_adapter(&dvb->adapter); - fail_i2c: i2c_del_adapter(&dvb->i2c_adapter); --- linux-gcp-5.19.0.orig/drivers/media/test-drivers/vimc/vimc-core.c +++ linux-gcp-5.19.0/drivers/media/test-drivers/vimc/vimc-core.c @@ -367,7 +367,7 @@ if (ret) { dev_err(&vimc_pdev.dev, "platform driver registration failed (err=%d)\n", ret); - platform_driver_unregister(&vimc_pdrv); + platform_device_unregister(&vimc_pdev); return ret; } --- linux-gcp-5.19.0.orig/drivers/media/test-drivers/vivid/vivid-core.c +++ linux-gcp-5.19.0/drivers/media/test-drivers/vivid/vivid-core.c @@ -339,6 +339,28 @@ return vivid_vid_out_g_fbuf(file, fh, a); } +/* + * Only support the framebuffer of one of the vivid instances. + * Anything else is rejected. + */ +bool vivid_validate_fb(const struct v4l2_framebuffer *a) +{ + struct vivid_dev *dev; + int i; + + for (i = 0; i < n_devs; i++) { + dev = vivid_devs[i]; + if (!dev || !dev->video_pbase) + continue; + if ((unsigned long)a->base == dev->video_pbase && + a->fmt.width <= dev->display_width && + a->fmt.height <= dev->display_height && + a->fmt.bytesperline <= dev->display_byte_stride) + return true; + } + return false; +} + static int vidioc_s_fbuf(struct file *file, void *fh, const struct v4l2_framebuffer *a) { struct video_device *vdev = video_devdata(file); @@ -920,8 +942,12 @@ /* how many inputs do we have and of what type? */ dev->num_inputs = num_inputs[inst]; - if (dev->num_inputs < 1) - dev->num_inputs = 1; + if (node_type & 0x20007) { + if (dev->num_inputs < 1) + dev->num_inputs = 1; + } else { + dev->num_inputs = 0; + } if (dev->num_inputs >= MAX_INPUTS) dev->num_inputs = MAX_INPUTS; for (i = 0; i < dev->num_inputs; i++) { @@ -938,8 +964,12 @@ /* how many outputs do we have and of what type? */ dev->num_outputs = num_outputs[inst]; - if (dev->num_outputs < 1) - dev->num_outputs = 1; + if (node_type & 0x40300) { + if (dev->num_outputs < 1) + dev->num_outputs = 1; + } else { + dev->num_outputs = 0; + } if (dev->num_outputs >= MAX_OUTPUTS) dev->num_outputs = MAX_OUTPUTS; for (i = 0; i < dev->num_outputs; i++) { --- linux-gcp-5.19.0.orig/drivers/media/test-drivers/vivid/vivid-core.h +++ linux-gcp-5.19.0/drivers/media/test-drivers/vivid/vivid-core.h @@ -610,4 +610,6 @@ return dev->output_type[dev->output] == HDMI; } +bool vivid_validate_fb(const struct v4l2_framebuffer *a); + #endif --- linux-gcp-5.19.0.orig/drivers/media/test-drivers/vivid/vivid-vid-cap.c +++ linux-gcp-5.19.0/drivers/media/test-drivers/vivid/vivid-vid-cap.c @@ -452,6 +452,12 @@ tpg_reset_source(&dev->tpg, dev->src_rect.width, dev->src_rect.height, dev->field_cap); dev->crop_cap = dev->src_rect; dev->crop_bounds_cap = dev->src_rect; + if (dev->bitmap_cap && + (dev->compose_cap.width != dev->crop_cap.width || + dev->compose_cap.height != dev->crop_cap.height)) { + vfree(dev->bitmap_cap); + dev->bitmap_cap = NULL; + } dev->compose_cap = dev->crop_cap; if (V4L2_FIELD_HAS_T_OR_B(dev->field_cap)) dev->compose_cap.height /= 2; @@ -909,6 +915,8 @@ struct vivid_dev *dev = video_drvdata(file); struct v4l2_rect *crop = &dev->crop_cap; struct v4l2_rect *compose = &dev->compose_cap; + unsigned orig_compose_w = compose->width; + unsigned orig_compose_h = compose->height; unsigned factor = V4L2_FIELD_HAS_T_OR_B(dev->field_cap) ? 2 : 1; int ret; @@ -953,6 +961,7 @@ if (dev->has_compose_cap) { v4l2_rect_set_min_size(compose, &min_rect); v4l2_rect_set_max_size(compose, &max_rect); + v4l2_rect_map_inside(compose, &fmt); } dev->fmt_cap_rect = fmt; tpg_s_buf_height(&dev->tpg, fmt.height); @@ -1025,17 +1034,17 @@ s->r.height /= factor; } v4l2_rect_map_inside(&s->r, &dev->fmt_cap_rect); - if (dev->bitmap_cap && (compose->width != s->r.width || - compose->height != s->r.height)) { - vfree(dev->bitmap_cap); - dev->bitmap_cap = NULL; - } *compose = s->r; break; default: return -EINVAL; } + if (dev->bitmap_cap && (compose->width != orig_compose_w || + compose->height != orig_compose_h)) { + vfree(dev->bitmap_cap); + dev->bitmap_cap = NULL; + } tpg_s_crop_compose(&dev->tpg, crop, compose); return 0; } @@ -1272,7 +1281,14 @@ return -EINVAL; if (a->fmt.bytesperline < (a->fmt.width * fmt->bit_depth[0]) / 8) return -EINVAL; - if (a->fmt.height * a->fmt.bytesperline < a->fmt.sizeimage) + if (a->fmt.bytesperline > a->fmt.sizeimage / a->fmt.height) + return -EINVAL; + + /* + * Only support the framebuffer of one of the vivid instances. + * Anything else is rejected. + */ + if (!vivid_validate_fb(a)) return -EINVAL; dev->fb_vbase_cap = phys_to_virt((unsigned long)a->base); --- linux-gcp-5.19.0.orig/drivers/media/usb/b2c2/flexcop-usb.c +++ linux-gcp-5.19.0/drivers/media/usb/b2c2/flexcop-usb.c @@ -511,7 +511,7 @@ if (fc_usb->uintf->cur_altsetting->desc.bNumEndpoints < 1) return -ENODEV; - if (!usb_endpoint_is_isoc_in(&fc_usb->uintf->cur_altsetting->endpoint[1].desc)) + if (!usb_endpoint_is_isoc_in(&fc_usb->uintf->cur_altsetting->endpoint[0].desc)) return -ENODEV; switch (fc_usb->udev->speed) { --- linux-gcp-5.19.0.orig/drivers/media/usb/dvb-usb/az6027.c +++ linux-gcp-5.19.0/drivers/media/usb/dvb-usb/az6027.c @@ -975,6 +975,10 @@ if (msg[i].addr == 0x99) { req = 0xBE; index = 0; + if (msg[i].len < 1) { + i = -EOPNOTSUPP; + break; + } value = msg[i].buf[0] & 0x00ff; length = 1; az6027_usb_out_op(d, req, value, index, data, length); --- linux-gcp-5.19.0.orig/drivers/media/usb/dvb-usb/dvb-usb-init.c +++ linux-gcp-5.19.0/drivers/media/usb/dvb-usb/dvb-usb-init.c @@ -81,7 +81,7 @@ ret = dvb_usb_adapter_stream_init(adap); if (ret) - return ret; + goto stream_init_err; ret = dvb_usb_adapter_dvb_init(adap, adapter_nrs); if (ret) @@ -114,6 +114,8 @@ dvb_usb_adapter_dvb_exit(adap); dvb_init_err: dvb_usb_adapter_stream_exit(adap); +stream_init_err: + kfree(adap->priv); return ret; } --- linux-gcp-5.19.0.orig/drivers/media/usb/hdpvr/hdpvr-video.c +++ linux-gcp-5.19.0/drivers/media/usb/hdpvr/hdpvr-video.c @@ -409,7 +409,7 @@ struct hdpvr_device *dev = video_drvdata(file); struct hdpvr_buffer *buf = NULL; struct urb *urb; - unsigned int ret = 0; + int ret = 0; int rem, cnt; if (*pos) --- linux-gcp-5.19.0.orig/drivers/media/usb/pvrusb2/pvrusb2-hdw.c +++ linux-gcp-5.19.0/drivers/media/usb/pvrusb2/pvrusb2-hdw.c @@ -2610,6 +2610,7 @@ del_timer_sync(&hdw->encoder_run_timer); del_timer_sync(&hdw->encoder_wait_timer); flush_work(&hdw->workpoll); + v4l2_device_unregister(&hdw->v4l2_dev); usb_free_urb(hdw->ctl_read_urb); usb_free_urb(hdw->ctl_write_urb); kfree(hdw->ctl_read_buffer); --- linux-gcp-5.19.0.orig/drivers/media/usb/siano/smsusb.c +++ linux-gcp-5.19.0/drivers/media/usb/siano/smsusb.c @@ -179,6 +179,7 @@ for (i = 0; i < MAX_URBS; i++) { usb_kill_urb(&dev->surbs[i].urb); + cancel_work_sync(&dev->surbs[i].wq); if (dev->surbs[i].cb) { smscore_putbuffer(dev->coredev, dev->surbs[i].cb); --- linux-gcp-5.19.0.orig/drivers/media/usb/uvc/uvc_ctrl.c +++ linux-gcp-5.19.0/drivers/media/usb/uvc/uvc_ctrl.c @@ -963,36 +963,56 @@ return value; } -static int __uvc_ctrl_get(struct uvc_video_chain *chain, - struct uvc_control *ctrl, struct uvc_control_mapping *mapping, - s32 *value) +static int __uvc_ctrl_load_cur(struct uvc_video_chain *chain, + struct uvc_control *ctrl) { + u8 *data; int ret; - if ((ctrl->info.flags & UVC_CTRL_FLAG_GET_CUR) == 0) - return -EACCES; + if (ctrl->loaded) + return 0; - if (!ctrl->loaded) { - if (ctrl->entity->get_cur) { - ret = ctrl->entity->get_cur(chain->dev, - ctrl->entity, - ctrl->info.selector, - uvc_ctrl_data(ctrl, UVC_CTRL_DATA_CURRENT), - ctrl->info.size); - } else { - ret = uvc_query_ctrl(chain->dev, UVC_GET_CUR, - ctrl->entity->id, - chain->dev->intfnum, - ctrl->info.selector, - uvc_ctrl_data(ctrl, UVC_CTRL_DATA_CURRENT), - ctrl->info.size); - } - if (ret < 0) - return ret; + data = uvc_ctrl_data(ctrl, UVC_CTRL_DATA_CURRENT); + if ((ctrl->info.flags & UVC_CTRL_FLAG_GET_CUR) == 0) { + memset(data, 0, ctrl->info.size); ctrl->loaded = 1; + + return 0; } + if (ctrl->entity->get_cur) + ret = ctrl->entity->get_cur(chain->dev, ctrl->entity, + ctrl->info.selector, data, + ctrl->info.size); + else + ret = uvc_query_ctrl(chain->dev, UVC_GET_CUR, + ctrl->entity->id, chain->dev->intfnum, + ctrl->info.selector, data, + ctrl->info.size); + + if (ret < 0) + return ret; + + ctrl->loaded = 1; + + return ret; +} + +static int __uvc_ctrl_get(struct uvc_video_chain *chain, + struct uvc_control *ctrl, + struct uvc_control_mapping *mapping, + s32 *value) +{ + int ret; + + if ((ctrl->info.flags & UVC_CTRL_FLAG_GET_CUR) == 0) + return -EACCES; + + ret = __uvc_ctrl_load_cur(chain, ctrl); + if (ret < 0) + return ret; + *value = __uvc_ctrl_get_value(mapping, uvc_ctrl_data(ctrl, UVC_CTRL_DATA_CURRENT)); @@ -1042,11 +1062,28 @@ return 0; } +/* + * Check if control @v4l2_id can be accessed by the given control @ioctl + * (VIDIOC_G_EXT_CTRLS, VIDIOC_TRY_EXT_CTRLS or VIDIOC_S_EXT_CTRLS). + * + * For set operations on slave controls, check if the master's value is set to + * manual, either in the others controls set in the same ioctl call, or from + * the master's current value. This catches VIDIOC_S_EXT_CTRLS calls that set + * both the master and slave control, such as for instance setting + * auto_exposure=1, exposure_time_absolute=251. + */ int uvc_ctrl_is_accessible(struct uvc_video_chain *chain, u32 v4l2_id, - bool read) + const struct v4l2_ext_controls *ctrls, + unsigned long ioctl) { + struct uvc_control_mapping *master_map = NULL; + struct uvc_control *master_ctrl = NULL; struct uvc_control_mapping *mapping; struct uvc_control *ctrl; + bool read = ioctl == VIDIOC_G_EXT_CTRLS; + s32 val; + int ret; + int i; if (__uvc_query_v4l2_class(chain, v4l2_id, 0) >= 0) return -EACCES; @@ -1061,6 +1098,29 @@ if (!(ctrl->info.flags & UVC_CTRL_FLAG_SET_CUR) && !read) return -EACCES; + if (ioctl != VIDIOC_S_EXT_CTRLS || !mapping->master_id) + return 0; + + /* + * Iterate backwards in cases where the master control is accessed + * multiple times in the same ioctl. We want the last value. + */ + for (i = ctrls->count - 1; i >= 0; i--) { + if (ctrls->controls[i].id == mapping->master_id) + return ctrls->controls[i].value == + mapping->master_manual ? 0 : -EACCES; + } + + __uvc_find_control(ctrl->entity, mapping->master_id, &master_map, + &master_ctrl, 0); + + if (!master_ctrl || !(master_ctrl->info.flags & UVC_CTRL_FLAG_GET_CUR)) + return 0; + + ret = __uvc_ctrl_get(chain, master_ctrl, master_map, &val); + if (ret >= 0 && val != mapping->master_manual) + return -EACCES; + return 0; } @@ -1783,21 +1843,10 @@ * needs to be loaded from the device to perform the read-modify-write * operation. */ - if (!ctrl->loaded && (ctrl->info.size * 8) != mapping->size) { - if ((ctrl->info.flags & UVC_CTRL_FLAG_GET_CUR) == 0) { - memset(uvc_ctrl_data(ctrl, UVC_CTRL_DATA_CURRENT), - 0, ctrl->info.size); - } else { - ret = uvc_query_ctrl(chain->dev, UVC_GET_CUR, - ctrl->entity->id, chain->dev->intfnum, - ctrl->info.selector, - uvc_ctrl_data(ctrl, UVC_CTRL_DATA_CURRENT), - ctrl->info.size); - if (ret < 0) - return ret; - } - - ctrl->loaded = 1; + if ((ctrl->info.size * 8) != mapping->size) { + ret = __uvc_ctrl_load_cur(chain, ctrl); + if (ret < 0) + return ret; } /* Backup the current value in case we need to rollback later. */ --- linux-gcp-5.19.0.orig/drivers/media/usb/uvc/uvc_driver.c +++ linux-gcp-5.19.0/drivers/media/usb/uvc/uvc_driver.c @@ -1538,10 +1538,6 @@ if (IS_ERR_OR_NULL(gpio_privacy)) return PTR_ERR_OR_ZERO(gpio_privacy); - unit = uvc_alloc_entity(UVC_EXT_GPIO_UNIT, UVC_EXT_GPIO_UNIT_ID, 0, 1); - if (!unit) - return -ENOMEM; - irq = gpiod_to_irq(gpio_privacy); if (irq < 0) { if (irq != EPROBE_DEFER) @@ -1550,6 +1546,10 @@ return irq; } + unit = uvc_alloc_entity(UVC_EXT_GPIO_UNIT, UVC_EXT_GPIO_UNIT_ID, 0, 1); + if (!unit) + return -ENOMEM; + unit->gpio.gpio_privacy = gpio_privacy; unit->gpio.irq = irq; unit->gpio.bControlSize = 1; --- linux-gcp-5.19.0.orig/drivers/media/usb/uvc/uvc_v4l2.c +++ linux-gcp-5.19.0/drivers/media/usb/uvc/uvc_v4l2.c @@ -1016,8 +1016,7 @@ int ret = 0; for (i = 0; i < ctrls->count; ++ctrl, ++i) { - ret = uvc_ctrl_is_accessible(chain, ctrl->id, - ioctl == VIDIOC_G_EXT_CTRLS); + ret = uvc_ctrl_is_accessible(chain, ctrl->id, ctrls, ioctl); if (ret) break; } --- linux-gcp-5.19.0.orig/drivers/media/usb/uvc/uvcvideo.h +++ linux-gcp-5.19.0/drivers/media/usb/uvc/uvcvideo.h @@ -903,7 +903,8 @@ int uvc_ctrl_get(struct uvc_video_chain *chain, struct v4l2_ext_control *xctrl); int uvc_ctrl_set(struct uvc_fh *handle, struct v4l2_ext_control *xctrl); int uvc_ctrl_is_accessible(struct uvc_video_chain *chain, u32 v4l2_id, - bool read); + const struct v4l2_ext_controls *ctrls, + unsigned long ioctl); int uvc_xu_ctrl_query(struct uvc_video_chain *chain, struct uvc_xu_control_query *xqry); --- linux-gcp-5.19.0.orig/drivers/media/v4l2-core/v4l2-async.c +++ linux-gcp-5.19.0/drivers/media/v4l2-core/v4l2-async.c @@ -66,8 +66,10 @@ #endif } -static bool match_fwnode(struct v4l2_async_notifier *notifier, - struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) +static bool +match_fwnode_one(struct v4l2_async_notifier *notifier, + struct v4l2_subdev *sd, struct fwnode_handle *sd_fwnode, + struct v4l2_async_subdev *asd) { struct fwnode_handle *other_fwnode; struct fwnode_handle *dev_fwnode; @@ -80,15 +82,7 @@ * fwnode or a device fwnode. Start with the simple case of direct * fwnode matching. */ - if (sd->fwnode == asd->match.fwnode) - return true; - - /* - * Check the same situation for any possible secondary assigned to the - * subdev's fwnode - */ - if (!IS_ERR_OR_NULL(sd->fwnode->secondary) && - sd->fwnode->secondary == asd->match.fwnode) + if (sd_fwnode == asd->match.fwnode) return true; /* @@ -99,7 +93,7 @@ * ACPI. This won't make a difference, as drivers should not try to * match unconnected endpoints. */ - sd_fwnode_is_ep = fwnode_graph_is_endpoint(sd->fwnode); + sd_fwnode_is_ep = fwnode_graph_is_endpoint(sd_fwnode); asd_fwnode_is_ep = fwnode_graph_is_endpoint(asd->match.fwnode); if (sd_fwnode_is_ep == asd_fwnode_is_ep) @@ -110,11 +104,11 @@ * parent of the endpoint fwnode, and compare it with the other fwnode. */ if (sd_fwnode_is_ep) { - dev_fwnode = fwnode_graph_get_port_parent(sd->fwnode); + dev_fwnode = fwnode_graph_get_port_parent(sd_fwnode); other_fwnode = asd->match.fwnode; } else { dev_fwnode = fwnode_graph_get_port_parent(asd->match.fwnode); - other_fwnode = sd->fwnode; + other_fwnode = sd_fwnode; } fwnode_handle_put(dev_fwnode); @@ -143,6 +137,19 @@ return true; } +static bool match_fwnode(struct v4l2_async_notifier *notifier, + struct v4l2_subdev *sd, struct v4l2_async_subdev *asd) +{ + if (match_fwnode_one(notifier, sd, sd->fwnode, asd)) + return true; + + /* Also check the secondary fwnode. */ + if (IS_ERR_OR_NULL(sd->fwnode->secondary)) + return false; + + return match_fwnode_one(notifier, sd, sd->fwnode->secondary, asd); +} + static LIST_HEAD(subdev_list); static LIST_HEAD(notifier_list); static DEFINE_MUTEX(list_lock); --- linux-gcp-5.19.0.orig/drivers/media/v4l2-core/v4l2-compat-ioctl32.c +++ linux-gcp-5.19.0/drivers/media/v4l2-core/v4l2-compat-ioctl32.c @@ -1040,6 +1040,8 @@ { int err = 0; + memset(mbuf, 0, array_size); + switch (cmd) { case VIDIOC_G_FMT32: case VIDIOC_S_FMT32: --- linux-gcp-5.19.0.orig/drivers/media/v4l2-core/v4l2-ctrls-core.c +++ linux-gcp-5.19.0/drivers/media/v4l2-core/v4l2-ctrls-core.c @@ -1649,7 +1649,7 @@ else if (type == V4L2_CTRL_TYPE_INTEGER_MENU) qmenu_int = v4l2_ctrl_get_int_menu(id, &qmenu_int_len); - if ((!qmenu && !qmenu_int) || (qmenu_int && max > qmenu_int_len)) { + if ((!qmenu && !qmenu_int) || (qmenu_int && max >= qmenu_int_len)) { handler_set_err(hdl, -EINVAL); return NULL; } --- linux-gcp-5.19.0.orig/drivers/media/v4l2-core/v4l2-dv-timings.c +++ linux-gcp-5.19.0/drivers/media/v4l2-core/v4l2-dv-timings.c @@ -145,6 +145,8 @@ const struct v4l2_bt_timings *bt = &t->bt; const struct v4l2_bt_timings_cap *cap = &dvcap->bt; u32 caps = cap->capabilities; + const u32 max_vert = 10240; + u32 max_hor = 3 * bt->width; if (t->type != V4L2_DV_BT_656_1120) return false; @@ -161,6 +163,26 @@ (bt->interlaced && !(caps & V4L2_DV_BT_CAP_INTERLACED)) || (!bt->interlaced && !(caps & V4L2_DV_BT_CAP_PROGRESSIVE))) return false; + + /* sanity checks for the blanking timings */ + if (!bt->interlaced && + (bt->il_vbackporch || bt->il_vsync || bt->il_vfrontporch)) + return false; + /* + * Some video receivers cannot properly separate the frontporch, + * backporch and sync values, and instead they only have the total + * blanking. That can be assigned to any of these three fields. + * So just check that none of these are way out of range. + */ + if (bt->hfrontporch > max_hor || + bt->hsync > max_hor || bt->hbackporch > max_hor) + return false; + if (bt->vfrontporch > max_vert || + bt->vsync > max_vert || bt->vbackporch > max_vert) + return false; + if (bt->interlaced && (bt->il_vfrontporch > max_vert || + bt->il_vsync > max_vert || bt->il_vbackporch > max_vert)) + return false; return fnc == NULL || fnc(t, fnc_handle); } EXPORT_SYMBOL_GPL(v4l2_valid_dv_timings); --- linux-gcp-5.19.0.orig/drivers/media/v4l2-core/v4l2-h264.c +++ linux-gcp-5.19.0/drivers/media/v4l2-core/v4l2-h264.c @@ -305,6 +305,8 @@ int n = 0, i; *out_str = kmalloc(tmp_str_size, GFP_KERNEL); + if (!(*out_str)) + return NULL; n += snprintf(*out_str + n, tmp_str_size - n, "|"); @@ -343,6 +345,8 @@ int n = 0, i; *out_str = kmalloc(tmp_str_size, GFP_KERNEL); + if (!(*out_str)) + return NULL; n += snprintf(*out_str + n, tmp_str_size - n, "|"); --- linux-gcp-5.19.0.orig/drivers/media/v4l2-core/v4l2-jpeg.c +++ linux-gcp-5.19.0/drivers/media/v4l2-core/v4l2-jpeg.c @@ -460,7 +460,7 @@ /* Check for "Adobe\0" in Ap1..6 */ if (stream->curr + 6 > stream->end || strncmp(stream->curr, "Adobe\0", 6)) - return -EINVAL; + return jpeg_skip(stream, lp - 2); /* get to Ap12 */ ret = jpeg_skip(stream, 11); @@ -474,7 +474,7 @@ *tf = ret; /* skip the rest of the segment, this ensures at least it is complete */ - skip = lp - 2 - 11; + skip = lp - 2 - 11 - 1; return jpeg_skip(stream, skip); } --- linux-gcp-5.19.0.orig/drivers/media/v4l2-core/v4l2-mem2mem.c +++ linux-gcp-5.19.0/drivers/media/v4l2-core/v4l2-mem2mem.c @@ -925,7 +925,7 @@ if ((!src_q->streaming || src_q->error || list_empty(&src_q->queued_list)) && (!dst_q->streaming || dst_q->error || - list_empty(&dst_q->queued_list))) + (list_empty(&dst_q->queued_list) && !dst_q->last_buffer_dequeued))) return EPOLLERR; spin_lock_irqsave(&src_q->done_lock, flags); --- linux-gcp-5.19.0.orig/drivers/media/v4l2-core/videobuf-dma-contig.c +++ linux-gcp-5.19.0/drivers/media/v4l2-core/videobuf-dma-contig.c @@ -36,12 +36,11 @@ static int __videobuf_dc_alloc(struct device *dev, struct videobuf_dma_contig_memory *mem, - unsigned long size, gfp_t flags) + unsigned long size) { mem->size = size; - mem->vaddr = dma_alloc_coherent(dev, mem->size, - &mem->dma_handle, flags); - + mem->vaddr = dma_alloc_coherent(dev, mem->size, &mem->dma_handle, + GFP_KERNEL); if (!mem->vaddr) { dev_err(dev, "memory alloc size %ld failed\n", mem->size); return -ENOMEM; @@ -258,8 +257,7 @@ return videobuf_dma_contig_user_get(mem, vb); /* allocate memory for the read() method */ - if (__videobuf_dc_alloc(q->dev, mem, PAGE_ALIGN(vb->size), - GFP_KERNEL)) + if (__videobuf_dc_alloc(q->dev, mem, PAGE_ALIGN(vb->size))) return -ENOMEM; break; case V4L2_MEMORY_OVERLAY: @@ -295,22 +293,18 @@ BUG_ON(!mem); MAGIC_CHECK(mem->magic, MAGIC_DC_MEM); - if (__videobuf_dc_alloc(q->dev, mem, PAGE_ALIGN(buf->bsize), - GFP_KERNEL | __GFP_COMP)) + if (__videobuf_dc_alloc(q->dev, mem, PAGE_ALIGN(buf->bsize))) goto error; - /* Try to remap memory */ - vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); - /* the "vm_pgoff" is just used in v4l2 to find the * corresponding buffer data structure which is allocated * earlier and it does not mean the offset from the physical * buffer start address as usual. So set it to 0 to pass - * the sanity check in vm_iomap_memory(). + * the sanity check in dma_mmap_coherent(). */ vma->vm_pgoff = 0; - - retval = vm_iomap_memory(vma, mem->dma_handle, mem->size); + retval = dma_mmap_coherent(q->dev, vma, mem->vaddr, mem->dma_handle, + mem->size); if (retval) { dev_err(q->dev, "mmap: remap failed with error %d. ", retval); --- linux-gcp-5.19.0.orig/drivers/memory/atmel-sdramc.c +++ linux-gcp-5.19.0/drivers/memory/atmel-sdramc.c @@ -47,19 +47,17 @@ caps = of_device_get_match_data(&pdev->dev); if (caps->has_ddrck) { - clk = devm_clk_get(&pdev->dev, "ddrck"); + clk = devm_clk_get_enabled(&pdev->dev, "ddrck"); if (IS_ERR(clk)) return PTR_ERR(clk); - clk_prepare_enable(clk); } if (caps->has_mpddr_clk) { - clk = devm_clk_get(&pdev->dev, "mpddr"); + clk = devm_clk_get_enabled(&pdev->dev, "mpddr"); if (IS_ERR(clk)) { pr_err("AT91 RAMC: couldn't get mpddr clock\n"); return PTR_ERR(clk); } - clk_prepare_enable(clk); } return 0; --- linux-gcp-5.19.0.orig/drivers/memory/mvebu-devbus.c +++ linux-gcp-5.19.0/drivers/memory/mvebu-devbus.c @@ -280,10 +280,9 @@ if (IS_ERR(devbus->base)) return PTR_ERR(devbus->base); - clk = devm_clk_get(&pdev->dev, NULL); + clk = devm_clk_get_enabled(&pdev->dev, NULL); if (IS_ERR(clk)) return PTR_ERR(clk); - clk_prepare_enable(clk); /* * Obtain clock period in picoseconds, --- linux-gcp-5.19.0.orig/drivers/memory/of_memory.c +++ linux-gcp-5.19.0/drivers/memory/of_memory.c @@ -134,6 +134,7 @@ for_each_child_of_node(np_ddr, np_tim) { if (of_device_is_compatible(np_tim, tim_compat)) { if (of_do_get_timings(np_tim, &timings[i])) { + of_node_put(np_tim); devm_kfree(dev, timings); goto default_timings; } @@ -284,6 +285,7 @@ if (of_device_is_compatible(np_tim, tim_compat)) { if (of_lpddr3_do_get_timings(np_tim, &timings[i])) { devm_kfree(dev, timings); + of_node_put(np_tim); goto default_timings; } i++; --- linux-gcp-5.19.0.orig/drivers/memory/pl353-smc.c +++ linux-gcp-5.19.0/drivers/memory/pl353-smc.c @@ -122,6 +122,7 @@ } of_platform_device_create(child, NULL, &adev->dev); + of_node_put(child); return 0; --- linux-gcp-5.19.0.orig/drivers/memory/renesas-rpc-if.c +++ linux-gcp-5.19.0/drivers/memory/renesas-rpc-if.c @@ -317,6 +317,9 @@ regmap_update_bits(rpc->regmap, RPCIF_PHYCNT, RPCIF_PHYCNT_PHYMEM_MASK, RPCIF_PHYCNT_PHYMEM(hyperflash ? 3 : 0)); + /* DMA Transfer is not supported */ + regmap_update_bits(rpc->regmap, RPCIF_PHYCNT, RPCIF_PHYCNT_HS, 0); + if (rpc->type == RPCIF_RCAR_GEN3) regmap_update_bits(rpc->regmap, RPCIF_PHYCNT, RPCIF_PHYCNT_STRTIM(7), RPCIF_PHYCNT_STRTIM(7)); --- linux-gcp-5.19.0.orig/drivers/memory/tegra/tegra186.c +++ linux-gcp-5.19.0/drivers/memory/tegra/tegra186.c @@ -22,32 +22,6 @@ #define MC_SID_STREAMID_SECURITY_WRITE_ACCESS_DISABLED BIT(16) #define MC_SID_STREAMID_SECURITY_OVERRIDE BIT(8) -static void tegra186_mc_program_sid(struct tegra_mc *mc) -{ - unsigned int i; - - for (i = 0; i < mc->soc->num_clients; i++) { - const struct tegra_mc_client *client = &mc->soc->clients[i]; - u32 override, security; - - override = readl(mc->regs + client->regs.sid.override); - security = readl(mc->regs + client->regs.sid.security); - - dev_dbg(mc->dev, "client %s: override: %x security: %x\n", - client->name, override, security); - - dev_dbg(mc->dev, "setting SID %u for %s\n", client->sid, - client->name); - writel(client->sid, mc->regs + client->regs.sid.override); - - override = readl(mc->regs + client->regs.sid.override); - security = readl(mc->regs + client->regs.sid.security); - - dev_dbg(mc->dev, "client %s: override: %x security: %x\n", - client->name, override, security); - } -} - static int tegra186_mc_probe(struct tegra_mc *mc) { struct platform_device *pdev = to_platform_device(mc->dev); @@ -85,8 +59,6 @@ if (err < 0) return err; - tegra186_mc_program_sid(mc); - return 0; } @@ -95,13 +67,6 @@ of_platform_depopulate(mc->dev); } -static int tegra186_mc_resume(struct tegra_mc *mc) -{ - tegra186_mc_program_sid(mc); - - return 0; -} - #if IS_ENABLED(CONFIG_IOMMU_API) static void tegra186_mc_client_sid_override(struct tegra_mc *mc, const struct tegra_mc_client *client, @@ -173,7 +138,6 @@ const struct tegra_mc_ops tegra186_mc_ops = { .probe = tegra186_mc_probe, .remove = tegra186_mc_remove, - .resume = tegra186_mc_resume, .probe_device = tegra186_mc_probe_device, .handle_irq = tegra30_mc_handle_irq, }; --- linux-gcp-5.19.0.orig/drivers/memstick/core/ms_block.c +++ linux-gcp-5.19.0/drivers/memstick/core/ms_block.c @@ -1341,17 +1341,17 @@ msb->zone_count = msb->block_count / MS_BLOCKS_IN_ZONE; msb->logical_block_count = msb->zone_count * 496 - 2; - msb->used_blocks_bitmap = kzalloc(msb->block_count / 8, GFP_KERNEL); - msb->erased_blocks_bitmap = kzalloc(msb->block_count / 8, GFP_KERNEL); + msb->used_blocks_bitmap = bitmap_zalloc(msb->block_count, GFP_KERNEL); + msb->erased_blocks_bitmap = bitmap_zalloc(msb->block_count, GFP_KERNEL); msb->lba_to_pba_table = kmalloc_array(msb->logical_block_count, sizeof(u16), GFP_KERNEL); if (!msb->used_blocks_bitmap || !msb->lba_to_pba_table || !msb->erased_blocks_bitmap) { - kfree(msb->used_blocks_bitmap); + bitmap_free(msb->used_blocks_bitmap); + bitmap_free(msb->erased_blocks_bitmap); kfree(msb->lba_to_pba_table); - kfree(msb->erased_blocks_bitmap); return -ENOMEM; } @@ -1946,7 +1946,8 @@ static void msb_data_clear(struct msb_data *msb) { kfree(msb->boot_page); - kfree(msb->used_blocks_bitmap); + bitmap_free(msb->used_blocks_bitmap); + bitmap_free(msb->erased_blocks_bitmap); kfree(msb->lba_to_pba_table); kfree(msb->cache); msb->card = NULL; @@ -2115,6 +2116,11 @@ dbg("Set total disk size to %lu sectors", capacity); msb->io_queue = alloc_ordered_workqueue("ms_block", WQ_MEM_RECLAIM); + if (!msb->io_queue) { + rc = -ENOMEM; + goto out_cleanup_disk; + } + INIT_WORK(&msb->io_work, msb_io_work); sg_init_table(msb->prealloc_sg, MS_BLOCK_MAX_SEGS+1); @@ -2124,10 +2130,12 @@ msb_start(card); rc = device_add_disk(&card->dev, msb->disk, NULL); if (rc) - goto out_cleanup_disk; + goto out_destroy_workqueue; dbg("Disk added"); return 0; +out_destroy_workqueue: + destroy_workqueue(msb->io_queue); out_cleanup_disk: blk_cleanup_disk(msb->disk); out_free_tag_set: @@ -2187,7 +2195,6 @@ /* Remove the disk */ del_gendisk(msb->disk); - blk_cleanup_queue(msb->queue); blk_mq_free_tag_set(&msb->tag_set); msb->queue = NULL; --- linux-gcp-5.19.0.orig/drivers/memstick/core/mspro_block.c +++ linux-gcp-5.19.0/drivers/memstick/core/mspro_block.c @@ -1294,7 +1294,6 @@ del_gendisk(msb->disk); dev_dbg(&card->dev, "mspro block remove\n"); - blk_cleanup_queue(msb->queue); blk_mq_free_tag_set(&msb->tag_set); msb->queue = NULL; --- linux-gcp-5.19.0.orig/drivers/mfd/Kconfig +++ linux-gcp-5.19.0/drivers/mfd/Kconfig @@ -15,6 +15,7 @@ tristate "AMD CS5535 and CS5536 southbridge core functions" select MFD_CORE depends on PCI && (X86_32 || (X86 && COMPILE_TEST)) + depends on !UML help This is the core driver for CS5535/CS5536 MFD functions. This is necessary for using the board's GPIO and MFGPT functionality. @@ -1966,6 +1967,7 @@ depends on I2C=y depends on OF select REGMAP_I2C + select REGMAP_IRQ select MFD_CORE help Select this option to get support for the ROHM BD9576MUF and @@ -2102,6 +2104,18 @@ under it in the device tree. Additional drivers must be enabled in order to use the functionality of the device. +config MFD_AAEON + tristate "AAEON WMI MFD devices" + depends on ASUS_WMI + depends on UBUNTU_ODM_DRIVERS + help + Say yes here to support mltiple IO devices on Single Board Computers + produced by AAEON. + + This driver leverages the ASUS WMI interface to access device + resources. + + menu "Multimedia Capabilities Port drivers" depends on ARCH_SA1100 --- linux-gcp-5.19.0.orig/drivers/mfd/Makefile +++ linux-gcp-5.19.0/drivers/mfd/Makefile @@ -270,6 +270,7 @@ obj-$(CONFIG_MFD_ATC260X) += atc260x-core.o obj-$(CONFIG_MFD_ATC260X_I2C) += atc260x-i2c.o +obj-$(CONFIG_MFD_AAEON) += mfd-aaeon.o rsmu-i2c-objs := rsmu_core.o rsmu_i2c.o rsmu-spi-objs := rsmu_core.o rsmu_spi.o --- linux-gcp-5.19.0.orig/drivers/mfd/axp20x.c +++ linux-gcp-5.19.0/drivers/mfd/axp20x.c @@ -833,7 +833,7 @@ AXP20X_OFF); /* Give capacitors etc. time to drain to avoid kernel panic msg. */ - msleep(500); + mdelay(500); } int axp20x_match_device(struct axp20x_dev *axp20x) --- linux-gcp-5.19.0.orig/drivers/mfd/da9062-core.c +++ linux-gcp-5.19.0/drivers/mfd/da9062-core.c @@ -453,6 +453,7 @@ regmap_reg_range(DA9062AA_VBUCK1_B, DA9062AA_VBUCK4_B), regmap_reg_range(DA9062AA_VBUCK3_B, DA9062AA_VBUCK3_B), regmap_reg_range(DA9062AA_VLDO1_B, DA9062AA_VLDO4_B), + regmap_reg_range(DA9062AA_CONFIG_J, DA9062AA_CONFIG_J), regmap_reg_range(DA9062AA_GP_ID_0, DA9062AA_GP_ID_19), }; --- linux-gcp-5.19.0.orig/drivers/mfd/fsl-imx25-tsadc.c +++ linux-gcp-5.19.0/drivers/mfd/fsl-imx25-tsadc.c @@ -69,7 +69,7 @@ int irq; irq = platform_get_irq(pdev, 0); - if (irq <= 0) + if (irq < 0) return irq; tsadc->domain = irq_domain_add_simple(np, 2, 0, &mx25_tsadc_domain_ops, @@ -84,6 +84,19 @@ return 0; } +static int mx25_tsadc_unset_irq(struct platform_device *pdev) +{ + struct mx25_tsadc *tsadc = platform_get_drvdata(pdev); + int irq = platform_get_irq(pdev, 0); + + if (irq >= 0) { + irq_set_chained_handler_and_data(irq, NULL, NULL); + irq_domain_remove(tsadc->domain); + } + + return 0; +} + static void mx25_tsadc_setup_clk(struct platform_device *pdev, struct mx25_tsadc *tsadc) { @@ -171,18 +184,21 @@ platform_set_drvdata(pdev, tsadc); - return devm_of_platform_populate(dev); + ret = devm_of_platform_populate(dev); + if (ret) + goto err_irq; + + return 0; + +err_irq: + mx25_tsadc_unset_irq(pdev); + + return ret; } static int mx25_tsadc_remove(struct platform_device *pdev) { - struct mx25_tsadc *tsadc = platform_get_drvdata(pdev); - int irq = platform_get_irq(pdev, 0); - - if (irq) { - irq_set_chained_handler_and_data(irq, NULL, NULL); - irq_domain_remove(tsadc->domain); - } + mx25_tsadc_unset_irq(pdev); return 0; } --- linux-gcp-5.19.0.orig/drivers/mfd/intel_soc_pmic_core.c +++ linux-gcp-5.19.0/drivers/mfd/intel_soc_pmic_core.c @@ -77,6 +77,7 @@ return 0; err_del_irq_chip: + pwm_remove_table(crc_pwm_lookup, ARRAY_SIZE(crc_pwm_lookup)); regmap_del_irq_chip(pmic->irq, pmic->irq_chip_data); return ret; } --- linux-gcp-5.19.0.orig/drivers/mfd/lp8788-irq.c +++ linux-gcp-5.19.0/drivers/mfd/lp8788-irq.c @@ -175,6 +175,7 @@ IRQF_TRIGGER_FALLING | IRQF_ONESHOT, "lp8788-irq", irqd); if (ret) { + irq_domain_remove(lp->irqdm); dev_err(lp->dev, "failed to create a thread for IRQ_N\n"); return ret; } @@ -188,4 +189,6 @@ { if (lp->irq) free_irq(lp->irq, lp->irqdm); + if (lp->irqdm) + irq_domain_remove(lp->irqdm); } --- linux-gcp-5.19.0.orig/drivers/mfd/lp8788.c +++ linux-gcp-5.19.0/drivers/mfd/lp8788.c @@ -195,8 +195,16 @@ if (ret) return ret; - return mfd_add_devices(lp->dev, -1, lp8788_devs, - ARRAY_SIZE(lp8788_devs), NULL, 0, NULL); + ret = mfd_add_devices(lp->dev, -1, lp8788_devs, + ARRAY_SIZE(lp8788_devs), NULL, 0, NULL); + if (ret) + goto err_exit_irq; + + return 0; + +err_exit_irq: + lp8788_irq_exit(lp); + return ret; } static int lp8788_remove(struct i2c_client *cl) --- linux-gcp-5.19.0.orig/drivers/mfd/max77620.c +++ linux-gcp-5.19.0/drivers/mfd/max77620.c @@ -419,9 +419,11 @@ ret = max77620_config_fps(chip, fps_child); if (ret < 0) { of_node_put(fps_child); + of_node_put(fps_np); return ret; } } + of_node_put(fps_np); config = chip->enable_global_lpm ? MAX77620_ONOFFCNFG2_SLP_LPM_MSK : 0; ret = regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG2, --- linux-gcp-5.19.0.orig/drivers/mfd/mfd-aaeon.c +++ linux-gcp-5.19.0/drivers/mfd/mfd-aaeon.c @@ -0,0 +1,99 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * UP Board main platform driver and FPGA configuration support + * + * Copyright (c) 2021, AAEON Ltd. + * + * Author: Kunyang_Fan + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define AAEON_WMI_MGMT_GUID "97845ED0-4E6D-11DE-8A39-0800200C9A66" + +#define WMI_REPORT_CAPABILITY_METHOD 0x00000000 +#define MAX_BFPI_VERSION 255 +#define GET_REVISION_ID 0x00 + +struct aaeon_wmi_priv { + const struct mfd_cell *cells; + size_t ncells; +}; + +static const struct mfd_cell aaeon_mfd_cells[] = { + { .name = "gpio-aaeon" }, + { .name = "hwmon-aaeon"}, + { .name = "leds-aaeon"}, + { .name = "wdt-aaeon"}, +}; + +static const struct aaeon_wmi_priv aaeon_wmi_priv_data = { + .cells = aaeon_mfd_cells, + .ncells = ARRAY_SIZE(aaeon_mfd_cells), +}; + +static int aaeon_wmi_check_device(void) +{ + int err; + int retval; + + err = asus_wmi_evaluate_method(WMI_REPORT_CAPABILITY_METHOD, GET_REVISION_ID, 0, + &retval); + if (err) + return -ENODEV; + if (retval < 3 || retval > MAX_BFPI_VERSION) + return -ENODEV; + + return 0; +} + +static int aaeon_wmi_probe(struct wmi_device *wdev, const void *context) +{ + struct aaeon_wmi_priv *priv; + + if (!wmi_has_guid(AAEON_WMI_MGMT_GUID)) { + dev_info(&wdev->dev, "AAEON Management GUID not found\n"); + return -ENODEV; + } + + if (aaeon_wmi_check_device()) + return -ENODEV; + + priv = (struct aaeon_wmi_priv *)context; + dev_set_drvdata(&wdev->dev, priv); + + return devm_mfd_add_devices(&wdev->dev, 0, priv->cells, + priv->ncells, NULL, 0, NULL); +} + +static const struct wmi_device_id aaeon_wmi_id_table[] = { + { AAEON_WMI_MGMT_GUID, (void *)&aaeon_wmi_priv_data }, + {} +}; + +static struct wmi_driver aaeon_wmi_driver = { + .driver = { + .name = "mfd-aaeon", + }, + .id_table = aaeon_wmi_id_table, + .probe = aaeon_wmi_probe, +}; + +module_wmi_driver(aaeon_wmi_driver); + +MODULE_DEVICE_TABLE(wmi, aaeon_wmi_id_table); +MODULE_AUTHOR("Kunyang Fan "); +MODULE_DESCRIPTION("AAEON Board WMI driver"); +MODULE_LICENSE("GPL v2"); --- linux-gcp-5.19.0.orig/drivers/mfd/mt6360-core.c +++ linux-gcp-5.19.0/drivers/mfd/mt6360-core.c @@ -402,7 +402,7 @@ struct mt6360_ddata *ddata = context; u8 bank = *(u8 *)reg; u8 reg_addr = *(u8 *)(reg + 1); - struct i2c_client *i2c = ddata->i2c[bank]; + struct i2c_client *i2c; bool crc_needed = false; u8 *buf; int buf_len = MT6360_ALLOC_READ_SIZE(val_size); @@ -410,6 +410,11 @@ u8 crc; int ret; + if (bank >= MT6360_SLAVE_MAX) + return -EINVAL; + + i2c = ddata->i2c[bank]; + if (bank == MT6360_SLAVE_PMIC || bank == MT6360_SLAVE_LDO) { crc_needed = true; ret = mt6360_xlate_pmicldo_addr(®_addr, val_size); @@ -453,13 +458,18 @@ struct mt6360_ddata *ddata = context; u8 bank = *(u8 *)val; u8 reg_addr = *(u8 *)(val + 1); - struct i2c_client *i2c = ddata->i2c[bank]; + struct i2c_client *i2c; bool crc_needed = false; u8 *buf; int buf_len = MT6360_ALLOC_WRITE_SIZE(val_size); int write_size = val_size - MT6360_REGMAP_REG_BYTE_SIZE; int ret; + if (bank >= MT6360_SLAVE_MAX) + return -EINVAL; + + i2c = ddata->i2c[bank]; + if (bank == MT6360_SLAVE_PMIC || bank == MT6360_SLAVE_LDO) { crc_needed = true; ret = mt6360_xlate_pmicldo_addr(®_addr, val_size - MT6360_REGMAP_REG_BYTE_SIZE); --- linux-gcp-5.19.0.orig/drivers/mfd/pcf50633-adc.c +++ linux-gcp-5.19.0/drivers/mfd/pcf50633-adc.c @@ -136,6 +136,7 @@ void *callback_param) { struct pcf50633_adc_request *req; + int ret; /* req is freed when the result is ready, in interrupt handler */ req = kmalloc(sizeof(*req), GFP_KERNEL); @@ -147,7 +148,11 @@ req->callback = callback; req->callback_param = callback_param; - return adc_enqueue_request(pcf, req); + ret = adc_enqueue_request(pcf, req); + if (ret) + kfree(req); + + return ret; } EXPORT_SYMBOL_GPL(pcf50633_adc_async_read); --- linux-gcp-5.19.0.orig/drivers/mfd/qcom-pm8008.c +++ linux-gcp-5.19.0/drivers/mfd/qcom-pm8008.c @@ -54,13 +54,6 @@ #define PM8008_PERIPH_OFFSET(paddr) (paddr - PM8008_PERIPH_0_BASE) -struct pm8008_data { - struct device *dev; - struct regmap *regmap; - int irq; - struct regmap_irq_chip_data *irq_data; -}; - static unsigned int p0_offs[] = {PM8008_PERIPH_OFFSET(PM8008_PERIPH_0_BASE)}; static unsigned int p1_offs[] = {PM8008_PERIPH_OFFSET(PM8008_PERIPH_1_BASE)}; static unsigned int p2_offs[] = {PM8008_PERIPH_OFFSET(PM8008_PERIPH_2_BASE)}; @@ -150,7 +143,7 @@ .max_register = 0xFFFF, }; -static int pm8008_init(struct pm8008_data *chip) +static int pm8008_init(struct regmap *regmap) { int rc; @@ -160,34 +153,31 @@ * This is required to enable the writing of TYPE registers in * regmap_irq_sync_unlock(). */ - rc = regmap_write(chip->regmap, - (PM8008_TEMP_ALARM_ADDR | INT_SET_TYPE_OFFSET), - BIT(0)); + rc = regmap_write(regmap, (PM8008_TEMP_ALARM_ADDR | INT_SET_TYPE_OFFSET), BIT(0)); if (rc) return rc; /* Do the same for GPIO1 and GPIO2 peripherals */ - rc = regmap_write(chip->regmap, - (PM8008_GPIO1_ADDR | INT_SET_TYPE_OFFSET), BIT(0)); + rc = regmap_write(regmap, (PM8008_GPIO1_ADDR | INT_SET_TYPE_OFFSET), BIT(0)); if (rc) return rc; - rc = regmap_write(chip->regmap, - (PM8008_GPIO2_ADDR | INT_SET_TYPE_OFFSET), BIT(0)); + rc = regmap_write(regmap, (PM8008_GPIO2_ADDR | INT_SET_TYPE_OFFSET), BIT(0)); return rc; } -static int pm8008_probe_irq_peripherals(struct pm8008_data *chip, +static int pm8008_probe_irq_peripherals(struct device *dev, + struct regmap *regmap, int client_irq) { int rc, i; struct regmap_irq_type *type; struct regmap_irq_chip_data *irq_data; - rc = pm8008_init(chip); + rc = pm8008_init(regmap); if (rc) { - dev_err(chip->dev, "Init failed: %d\n", rc); + dev_err(dev, "Init failed: %d\n", rc); return rc; } @@ -207,10 +197,10 @@ IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_LEVEL_LOW); } - rc = devm_regmap_add_irq_chip(chip->dev, chip->regmap, client_irq, + rc = devm_regmap_add_irq_chip(dev, regmap, client_irq, IRQF_SHARED, 0, &pm8008_irq_chip, &irq_data); if (rc) { - dev_err(chip->dev, "Failed to add IRQ chip: %d\n", rc); + dev_err(dev, "Failed to add IRQ chip: %d\n", rc); return rc; } @@ -220,26 +210,23 @@ static int pm8008_probe(struct i2c_client *client) { int rc; - struct pm8008_data *chip; - - chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL); - if (!chip) - return -ENOMEM; + struct device *dev; + struct regmap *regmap; - chip->dev = &client->dev; - chip->regmap = devm_regmap_init_i2c(client, &qcom_mfd_regmap_cfg); - if (!chip->regmap) - return -ENODEV; + dev = &client->dev; + regmap = devm_regmap_init_i2c(client, &qcom_mfd_regmap_cfg); + if (IS_ERR(regmap)) + return PTR_ERR(regmap); - i2c_set_clientdata(client, chip); + i2c_set_clientdata(client, regmap); - if (of_property_read_bool(chip->dev->of_node, "interrupt-controller")) { - rc = pm8008_probe_irq_peripherals(chip, client->irq); + if (of_property_read_bool(dev->of_node, "interrupt-controller")) { + rc = pm8008_probe_irq_peripherals(dev, regmap, client->irq); if (rc) - dev_err(chip->dev, "Failed to probe irq periphs: %d\n", rc); + dev_err(dev, "Failed to probe irq periphs: %d\n", rc); } - return devm_of_platform_populate(chip->dev); + return devm_of_platform_populate(dev); } static const struct of_device_id pm8008_match[] = { --- linux-gcp-5.19.0.orig/drivers/mfd/qcom_rpm.c +++ linux-gcp-5.19.0/drivers/mfd/qcom_rpm.c @@ -547,7 +547,7 @@ init_completion(&rpm->ack); /* Enable message RAM clock */ - rpm->ramclk = devm_clk_get(&pdev->dev, "ram"); + rpm->ramclk = devm_clk_get_enabled(&pdev->dev, "ram"); if (IS_ERR(rpm->ramclk)) { ret = PTR_ERR(rpm->ramclk); if (ret == -EPROBE_DEFER) @@ -558,7 +558,6 @@ */ rpm->ramclk = NULL; } - clk_prepare_enable(rpm->ramclk); /* Accepts NULL */ irq_ack = platform_get_irq_byname(pdev, "ack"); if (irq_ack < 0) @@ -673,22 +672,11 @@ if (ret) dev_warn(&pdev->dev, "failed to mark wakeup irq as wakeup\n"); - return of_platform_populate(pdev->dev.of_node, NULL, NULL, &pdev->dev); -} - -static int qcom_rpm_remove(struct platform_device *pdev) -{ - struct qcom_rpm *rpm = dev_get_drvdata(&pdev->dev); - - of_platform_depopulate(&pdev->dev); - clk_disable_unprepare(rpm->ramclk); - - return 0; + return devm_of_platform_populate(&pdev->dev); } static struct platform_driver qcom_rpm_driver = { .probe = qcom_rpm_probe, - .remove = qcom_rpm_remove, .driver = { .name = "qcom_rpm", .of_match_table = qcom_rpm_of_match, --- linux-gcp-5.19.0.orig/drivers/mfd/sm501.c +++ linux-gcp-5.19.0/drivers/mfd/sm501.c @@ -1720,7 +1720,12 @@ static int __init sm501_base_init(void) { - platform_driver_register(&sm501_plat_driver); + int ret; + + ret = platform_driver_register(&sm501_plat_driver); + if (ret < 0) + return ret; + return pci_register_driver(&sm501_pci_driver); } --- linux-gcp-5.19.0.orig/drivers/mfd/t7l66xb.c +++ linux-gcp-5.19.0/drivers/mfd/t7l66xb.c @@ -397,11 +397,8 @@ static int t7l66xb_remove(struct platform_device *dev) { - struct t7l66xb_platform_data *pdata = dev_get_platdata(&dev->dev); struct t7l66xb *t7l66xb = platform_get_drvdata(dev); - int ret; - ret = pdata->disable(dev); clk_disable_unprepare(t7l66xb->clk48m); clk_put(t7l66xb->clk48m); clk_disable_unprepare(t7l66xb->clk32k); @@ -412,8 +409,7 @@ mfd_remove_devices(&dev->dev); kfree(t7l66xb); - return ret; - + return 0; } static struct platform_driver t7l66xb_platform_driver = { --- linux-gcp-5.19.0.orig/drivers/misc/cardreader/rtsx_pcr.c +++ linux-gcp-5.19.0/drivers/misc/cardreader/rtsx_pcr.c @@ -1507,7 +1507,7 @@ pcr->remap_addr = ioremap(base, len); if (!pcr->remap_addr) { ret = -ENOMEM; - goto free_handle; + goto free_idr; } pcr->rtsx_resv_buf = dma_alloc_coherent(&(pcidev->dev), @@ -1570,6 +1570,10 @@ pcr->rtsx_resv_buf, pcr->rtsx_resv_buf_addr); unmap: iounmap(pcr->remap_addr); +free_idr: + spin_lock(&rtsx_pci_lock); + idr_remove(&rtsx_pci_idr, pcr->id); + spin_unlock(&rtsx_pci_lock); free_handle: kfree(handle); free_pcr: --- linux-gcp-5.19.0.orig/drivers/misc/cxl/guest.c +++ linux-gcp-5.19.0/drivers/misc/cxl/guest.c @@ -965,10 +965,10 @@ * if it returns an error! */ if ((rc = cxl_register_afu(afu))) - goto err_put1; + goto err_put_dev; if ((rc = cxl_sysfs_afu_add(afu))) - goto err_put1; + goto err_del_dev; /* * pHyp doesn't expose the programming models supported by the @@ -984,7 +984,7 @@ afu->modes_supported = CXL_MODE_DIRECTED; if ((rc = cxl_afu_select_best_mode(afu))) - goto err_put2; + goto err_remove_sysfs; adapter->afu[afu->slice] = afu; @@ -1004,10 +1004,12 @@ return 0; -err_put2: +err_remove_sysfs: cxl_sysfs_afu_remove(afu); -err_put1: - device_unregister(&afu->dev); +err_del_dev: + device_del(&afu->dev); +err_put_dev: + put_device(&afu->dev); free = false; guest_release_serr_irq(afu); err2: @@ -1141,18 +1143,20 @@ * even if it returns an error! */ if ((rc = cxl_register_adapter(adapter))) - goto err_put1; + goto err_put_dev; if ((rc = cxl_sysfs_adapter_add(adapter))) - goto err_put1; + goto err_del_dev; /* release the context lock as the adapter is configured */ cxl_adapter_context_unlock(adapter); return adapter; -err_put1: - device_unregister(&adapter->dev); +err_del_dev: + device_del(&adapter->dev); +err_put_dev: + put_device(&adapter->dev); free = false; cxl_guest_remove_chardev(adapter); err1: --- linux-gcp-5.19.0.orig/drivers/misc/cxl/irq.c +++ linux-gcp-5.19.0/drivers/misc/cxl/irq.c @@ -350,6 +350,7 @@ out: cxl_ops->release_irq_ranges(&ctx->irqs, ctx->afu->adapter); + bitmap_free(ctx->irq_bitmap); afu_irq_name_free(ctx); return -ENOMEM; } --- linux-gcp-5.19.0.orig/drivers/misc/cxl/pci.c +++ linux-gcp-5.19.0/drivers/misc/cxl/pci.c @@ -387,6 +387,7 @@ rc = get_phb_index(np, phb_index); if (rc) { pr_err("cxl: invalid phb index\n"); + of_node_put(np); return rc; } @@ -1164,10 +1165,10 @@ * if it returns an error! */ if ((rc = cxl_register_afu(afu))) - goto err_put1; + goto err_put_dev; if ((rc = cxl_sysfs_afu_add(afu))) - goto err_put1; + goto err_del_dev; adapter->afu[afu->slice] = afu; @@ -1176,10 +1177,12 @@ return 0; -err_put1: +err_del_dev: + device_del(&afu->dev); +err_put_dev: pci_deconfigure_afu(afu); cxl_debugfs_afu_remove(afu); - device_unregister(&afu->dev); + put_device(&afu->dev); return rc; err_free_native: @@ -1667,23 +1670,25 @@ * even if it returns an error! */ if ((rc = cxl_register_adapter(adapter))) - goto err_put1; + goto err_put_dev; if ((rc = cxl_sysfs_adapter_add(adapter))) - goto err_put1; + goto err_del_dev; /* Release the context lock as adapter is configured */ cxl_adapter_context_unlock(adapter); return adapter; -err_put1: +err_del_dev: + device_del(&adapter->dev); +err_put_dev: /* This should mirror cxl_remove_adapter, except without the * sysfs parts */ cxl_debugfs_adapter_remove(adapter); cxl_deconfigure_adapter(adapter); - device_unregister(&adapter->dev); + put_device(&adapter->dev); return ERR_PTR(rc); err_release: --- linux-gcp-5.19.0.orig/drivers/misc/eeprom/idt_89hpesx.c +++ linux-gcp-5.19.0/drivers/misc/eeprom/idt_89hpesx.c @@ -909,14 +909,18 @@ u32 csraddr, csrval; char *buf; + if (*offp) + return 0; + /* Copy data from User-space */ buf = kmalloc(count + 1, GFP_KERNEL); if (!buf) return -ENOMEM; - ret = simple_write_to_buffer(buf, count, offp, ubuf, count); - if (ret < 0) + if (copy_from_user(buf, ubuf, count)) { + ret = -EFAULT; goto free_buf; + } buf[count] = 0; /* Find position of colon in the buffer */ @@ -1564,12 +1568,20 @@ */ static int __init idt_init(void) { + int ret; + /* Create Debugfs directory first */ if (debugfs_initialized()) csr_dbgdir = debugfs_create_dir("idt_csr", NULL); /* Add new i2c-device driver */ - return i2c_add_driver(&idt_driver); + ret = i2c_add_driver(&idt_driver); + if (ret) { + debugfs_remove_recursive(csr_dbgdir); + return ret; + } + + return 0; } module_init(idt_init); --- linux-gcp-5.19.0.orig/drivers/misc/fastrpc.c +++ linux-gcp-5.19.0/drivers/misc/fastrpc.c @@ -316,6 +316,13 @@ dma_buf_put(map->buf); } + if (map->fl) { + spin_lock(&map->fl->lock); + list_del(&map->node); + spin_unlock(&map->fl->lock); + map->fl = NULL; + } + kfree(map); } @@ -325,38 +332,41 @@ kref_put(&map->refcount, fastrpc_free_map); } -static void fastrpc_map_get(struct fastrpc_map *map) +static int fastrpc_map_get(struct fastrpc_map *map) { - if (map) - kref_get(&map->refcount); + if (!map) + return -ENOENT; + + return kref_get_unless_zero(&map->refcount) ? 0 : -ENOENT; } static int fastrpc_map_lookup(struct fastrpc_user *fl, int fd, - struct fastrpc_map **ppmap) + struct fastrpc_map **ppmap, bool take_ref) { + struct fastrpc_session_ctx *sess = fl->sctx; struct fastrpc_map *map = NULL; + int ret = -ENOENT; - mutex_lock(&fl->mutex); + spin_lock(&fl->lock); list_for_each_entry(map, &fl->maps, node) { - if (map->fd == fd) { - *ppmap = map; - mutex_unlock(&fl->mutex); - return 0; - } - } - mutex_unlock(&fl->mutex); - - return -ENOENT; -} + if (map->fd != fd) + continue; -static int fastrpc_map_find(struct fastrpc_user *fl, int fd, - struct fastrpc_map **ppmap) -{ - int ret = fastrpc_map_lookup(fl, fd, ppmap); + if (take_ref) { + ret = fastrpc_map_get(map); + if (ret) { + dev_dbg(sess->dev, "%s: Failed to get map fd=%d ret=%d\n", + __func__, fd, ret); + break; + } + } - if (!ret) - fastrpc_map_get(*ppmap); + *ppmap = map; + ret = 0; + break; + } + spin_unlock(&fl->lock); return ret; } @@ -703,7 +713,7 @@ struct fastrpc_map *map = NULL; int err = 0; - if (!fastrpc_map_find(fl, fd, ppmap)) + if (!fastrpc_map_lookup(fl, fd, ppmap, true)) return 0; map = kzalloc(sizeof(*map), GFP_KERNEL); @@ -1026,7 +1036,7 @@ for (i = 0; i < FASTRPC_MAX_FDLIST; i++) { if (!fdlist[i]) break; - if (!fastrpc_map_lookup(fl, (int)fdlist[i], &mmap)) + if (!fastrpc_map_lookup(fl, (int)fdlist[i], &mmap, false)) fastrpc_map_put(mmap); } @@ -1265,12 +1275,7 @@ fl->init_mem = NULL; fastrpc_buf_free(imem); err_alloc: - if (map) { - spin_lock(&fl->lock); - list_del(&map->node); - spin_unlock(&fl->lock); - fastrpc_map_put(map); - } + fastrpc_map_put(map); err: kfree(args); @@ -1346,10 +1351,8 @@ fastrpc_context_put(ctx); } - list_for_each_entry_safe(map, m, &fl->maps, node) { - list_del(&map->node); + list_for_each_entry_safe(map, m, &fl->maps, node) fastrpc_map_put(map); - } list_for_each_entry_safe(buf, b, &fl->mmaps, node) { list_del(&buf->node); @@ -1943,7 +1946,12 @@ of_property_read_u32(dev->of_node, "qcom,nsessions", &sessions); spin_lock_irqsave(&cctx->lock, flags); - sess = &cctx->session[cctx->sesscount]; + if (cctx->sesscount >= FASTRPC_MAX_SESSIONS) { + dev_err(&pdev->dev, "too many sessions\n"); + spin_unlock_irqrestore(&cctx->lock, flags); + return -ENOSPC; + } + sess = &cctx->session[cctx->sesscount++]; sess->used = false; sess->valid = true; sess->dev = dev; @@ -1956,13 +1964,12 @@ struct fastrpc_session_ctx *dup_sess; for (i = 1; i < sessions; i++) { - if (cctx->sesscount++ >= FASTRPC_MAX_SESSIONS) + if (cctx->sesscount >= FASTRPC_MAX_SESSIONS) break; - dup_sess = &cctx->session[cctx->sesscount]; + dup_sess = &cctx->session[cctx->sesscount++]; memcpy(dup_sess, sess, sizeof(*dup_sess)); } } - cctx->sesscount++; spin_unlock_irqrestore(&cctx->lock, flags); rc = dma_set_mask(dev, DMA_BIT_MASK(32)); if (rc) { @@ -2120,7 +2127,18 @@ data->domain_id = domain_id; data->rpdev = rpdev; - return of_platform_populate(rdev->of_node, NULL, NULL, rdev); + err = of_platform_populate(rdev->of_node, NULL, NULL, rdev); + if (err) + goto populate_error; + + return 0; + +populate_error: + if (data->fdevice) + misc_deregister(&data->fdevice->miscdev); + if (data->secure_fdevice) + misc_deregister(&data->secure_fdevice->miscdev); + fdev_error: kfree(data); return err; --- linux-gcp-5.19.0.orig/drivers/misc/habanalabs/common/memory.c +++ linux-gcp-5.19.0/drivers/misc/habanalabs/common/memory.c @@ -1245,16 +1245,16 @@ rc = map_phys_pg_pack(ctx, ret_vaddr, phys_pg_pack); if (rc) { dev_err(hdev->dev, "mapping page pack failed for handle %u\n", handle); + mutex_unlock(&ctx->mmu_lock); goto map_err; } rc = hl_mmu_invalidate_cache_range(hdev, false, *vm_type | MMU_OP_SKIP_LOW_CACHE_INV, ctx->asid, ret_vaddr, phys_pg_pack->total_size); + mutex_unlock(&ctx->mmu_lock); if (rc) goto map_err; - mutex_unlock(&ctx->mmu_lock); - /* * prefetch is done upon user's request. it is performed in WQ as and so can * be outside the MMU lock. the operation itself is already protected by the mmu lock @@ -1283,8 +1283,6 @@ return rc; map_err: - mutex_unlock(&ctx->mmu_lock); - if (add_va_block(hdev, va_range, ret_vaddr, ret_vaddr + phys_pg_pack->total_size - 1)) dev_warn(hdev->dev, @@ -2109,12 +2107,13 @@ static int hl_ts_alloc_buf(struct hl_mmap_mem_buf *buf, gfp_t gfp, void *args) { struct hl_ts_buff *ts_buff = NULL; - u32 size, num_elements; + u32 num_elements; + size_t size; void *p; num_elements = *(u32 *)args; - ts_buff = kzalloc(sizeof(*ts_buff), GFP_KERNEL); + ts_buff = kzalloc(sizeof(*ts_buff), gfp); if (!ts_buff) return -ENOMEM; --- linux-gcp-5.19.0.orig/drivers/misc/habanalabs/common/sysfs.c +++ linux-gcp-5.19.0/drivers/misc/habanalabs/common/sysfs.c @@ -73,6 +73,7 @@ static struct attribute *hl_dev_clk_attrs[] = { &dev_attr_clk_max_freq_mhz.attr, &dev_attr_clk_cur_freq_mhz.attr, + NULL, }; static ssize_t vrm_ver_show(struct device *dev, struct device_attribute *attr, char *buf) @@ -93,6 +94,7 @@ static struct attribute *hl_dev_vrm_attrs[] = { &dev_attr_vrm_ver.attr, + NULL, }; static ssize_t uboot_ver_show(struct device *dev, struct device_attribute *attr, --- linux-gcp-5.19.0.orig/drivers/misc/habanalabs/gaudi/gaudi.c +++ linux-gcp-5.19.0/drivers/misc/habanalabs/gaudi/gaudi.c @@ -3339,19 +3339,19 @@ u32 nic_qm_err_cfg, irq_handler_offset; u32 q_off; - mtr_base_en_lo = lower_32_bits(CFG_BASE + + mtr_base_en_lo = lower_32_bits((CFG_BASE & U32_MAX) + mmSYNC_MNGR_E_N_SYNC_MNGR_OBJS_MON_PAY_ADDRL_0); mtr_base_en_hi = upper_32_bits(CFG_BASE + mmSYNC_MNGR_E_N_SYNC_MNGR_OBJS_MON_PAY_ADDRL_0); - so_base_en_lo = lower_32_bits(CFG_BASE + + so_base_en_lo = lower_32_bits((CFG_BASE & U32_MAX) + mmSYNC_MNGR_E_N_SYNC_MNGR_OBJS_SOB_OBJ_0); so_base_en_hi = upper_32_bits(CFG_BASE + mmSYNC_MNGR_E_N_SYNC_MNGR_OBJS_SOB_OBJ_0); - mtr_base_ws_lo = lower_32_bits(CFG_BASE + + mtr_base_ws_lo = lower_32_bits((CFG_BASE & U32_MAX) + mmSYNC_MNGR_W_S_SYNC_MNGR_OBJS_MON_PAY_ADDRL_0); mtr_base_ws_hi = upper_32_bits(CFG_BASE + mmSYNC_MNGR_W_S_SYNC_MNGR_OBJS_MON_PAY_ADDRL_0); - so_base_ws_lo = lower_32_bits(CFG_BASE + + so_base_ws_lo = lower_32_bits((CFG_BASE & U32_MAX) + mmSYNC_MNGR_W_S_SYNC_MNGR_OBJS_SOB_OBJ_0); so_base_ws_hi = upper_32_bits(CFG_BASE + mmSYNC_MNGR_W_S_SYNC_MNGR_OBJS_SOB_OBJ_0); @@ -5654,15 +5654,17 @@ { struct asic_fixed_properties *asic_prop = &hdev->asic_prop; struct gaudi_device *gaudi = hdev->asic_specific; - u32 nic_mask_q_id = 1 << (HW_CAP_NIC_SHIFT + - ((parser->hw_queue_id - GAUDI_QUEUE_ID_NIC_0_0) >> 2)); + u32 nic_queue_offset, nic_mask_q_id; if ((parser->hw_queue_id >= GAUDI_QUEUE_ID_NIC_0_0) && - (parser->hw_queue_id <= GAUDI_QUEUE_ID_NIC_9_3) && - (!(gaudi->hw_cap_initialized & nic_mask_q_id))) { - dev_err(hdev->dev, "h/w queue %d is disabled\n", - parser->hw_queue_id); - return -EINVAL; + (parser->hw_queue_id <= GAUDI_QUEUE_ID_NIC_9_3)) { + nic_queue_offset = parser->hw_queue_id - GAUDI_QUEUE_ID_NIC_0_0; + nic_mask_q_id = 1 << (HW_CAP_NIC_SHIFT + (nic_queue_offset >> 2)); + + if (!(gaudi->hw_cap_initialized & nic_mask_q_id)) { + dev_err(hdev->dev, "h/w queue %d is disabled\n", parser->hw_queue_id); + return -EINVAL; + } } /* For internal queue jobs just check if CB address is valid */ @@ -7717,10 +7719,10 @@ struct gaudi_device *gaudi = hdev->asic_specific; u64 data = le64_to_cpu(eq_entry->data[0]); u32 ctl = le32_to_cpu(eq_entry->hdr.ctl); - u32 fw_fatal_err_flag = 0; + u32 fw_fatal_err_flag = 0, flags = 0; u16 event_type = ((ctl & EQ_CTL_EVENT_TYPE_MASK) >> EQ_CTL_EVENT_TYPE_SHIFT); - bool reset_required; + bool reset_required, reset_direct = false; u8 cause; int rc; @@ -7808,7 +7810,8 @@ dev_err(hdev->dev, "reset required due to %s\n", gaudi_irq_map_table[event_type].name); - hl_device_reset(hdev, 0); + reset_direct = true; + goto reset_device; } else { hl_fw_unmask_irq(hdev, event_type); } @@ -7830,7 +7833,8 @@ dev_err(hdev->dev, "reset required due to %s\n", gaudi_irq_map_table[event_type].name); - hl_device_reset(hdev, 0); + reset_direct = true; + goto reset_device; } else { hl_fw_unmask_irq(hdev, event_type); } @@ -7981,12 +7985,17 @@ return; reset_device: - if (hdev->asic_prop.fw_security_enabled) - hl_device_reset(hdev, HL_DRV_RESET_HARD - | HL_DRV_RESET_BYPASS_REQ_TO_FW - | fw_fatal_err_flag); + reset_required = true; + + if (hdev->asic_prop.fw_security_enabled && !reset_direct) + flags = HL_DRV_RESET_HARD | HL_DRV_RESET_BYPASS_REQ_TO_FW | fw_fatal_err_flag; else if (hdev->hard_reset_on_fw_events) - hl_device_reset(hdev, HL_DRV_RESET_HARD | HL_DRV_RESET_DELAY | fw_fatal_err_flag); + flags = HL_DRV_RESET_HARD | HL_DRV_RESET_DELAY | fw_fatal_err_flag; + else + reset_required = false; + + if (reset_required) + hl_device_reset(hdev, flags); else hl_fw_unmask_irq(hdev, event_type); } @@ -9187,6 +9196,7 @@ static struct attribute *gaudi_vrm_dev_attrs[] = { &dev_attr_infineon_ver.attr, + NULL, }; static void gaudi_add_device_attr(struct hl_device *hdev, struct attribute_group *dev_clk_attr_grp, --- linux-gcp-5.19.0.orig/drivers/misc/habanalabs/goya/goya_hwmgr.c +++ linux-gcp-5.19.0/drivers/misc/habanalabs/goya/goya_hwmgr.c @@ -359,6 +359,7 @@ &dev_attr_pm_mng_profile.attr, &dev_attr_tpc_clk.attr, &dev_attr_tpc_clk_curr.attr, + NULL, }; static ssize_t infineon_ver_show(struct device *dev, struct device_attribute *attr, char *buf) @@ -375,6 +376,7 @@ static struct attribute *goya_vrm_dev_attrs[] = { &dev_attr_infineon_ver.attr, + NULL, }; void goya_add_device_attr(struct hl_device *hdev, struct attribute_group *dev_clk_attr_grp, --- linux-gcp-5.19.0.orig/drivers/misc/lkdtm/cfi.c +++ linux-gcp-5.19.0/drivers/misc/lkdtm/cfi.c @@ -51,7 +51,11 @@ # ifdef CONFIG_ARM64_BTI_KERNEL # define __no_pac "branch-protection=bti" # else -# define __no_pac "branch-protection=none" +# ifdef CONFIG_CC_HAS_BRANCH_PROT_PAC_RET +# define __no_pac "branch-protection=none" +# else +# define __no_pac "sign-return-address=none" +# endif # endif # define __no_ret_protection __noscs __attribute__((__target__(__no_pac))) #else --- linux-gcp-5.19.0.orig/drivers/misc/mei/bus.c +++ linux-gcp-5.19.0/drivers/misc/mei/bus.c @@ -665,13 +665,15 @@ if (cl->state == MEI_FILE_UNINITIALIZED) { ret = mei_cl_link(cl); if (ret) - goto out; + goto notlinked; /* update pointers */ cl->cldev = cldev; } ret = mei_cl_dma_alloc_and_map(cl, NULL, buffer_id, size); -out: + if (ret) + mei_cl_unlink(cl); +notlinked: mutex_unlock(&bus->device_lock); if (ret) return ERR_PTR(ret); @@ -721,7 +723,7 @@ if (cl->state == MEI_FILE_UNINITIALIZED) { ret = mei_cl_link(cl); if (ret) - goto out; + goto notlinked; /* update pointers */ cl->cldev = cldev; } @@ -748,6 +750,9 @@ } out: + if (ret) + mei_cl_unlink(cl); +notlinked: mutex_unlock(&bus->device_lock); return ret; @@ -1115,7 +1120,6 @@ mei_cl_flush_queues(cldev->cl, NULL); mei_me_cl_put(cldev->me_cl); mei_dev_bus_put(cldev->bus); - mei_cl_unlink(cldev->cl); kfree(cldev->cl); kfree(cldev); } --- linux-gcp-5.19.0.orig/drivers/misc/mei/hdcp/mei_hdcp.c +++ linux-gcp-5.19.0/drivers/misc/mei/hdcp/mei_hdcp.c @@ -859,8 +859,8 @@ dev_warn(&cldev->dev, "mei_cldev_disable() failed\n"); } -#define MEI_UUID_HDCP GUID_INIT(0xB638AB7E, 0x94E2, 0x4EA2, 0xA5, \ - 0x52, 0xD1, 0xC5, 0x4B, 0x62, 0x7F, 0x04) +#define MEI_UUID_HDCP UUID_LE(0xB638AB7E, 0x94E2, 0x4EA2, 0xA5, \ + 0x52, 0xD1, 0xC5, 0x4B, 0x62, 0x7F, 0x04) static const struct mei_cl_device_id mei_hdcp_tbl[] = { { .uuid = MEI_UUID_HDCP, .version = MEI_CL_VERSION_ANY }, --- linux-gcp-5.19.0.orig/drivers/misc/mei/hw-me-regs.h +++ linux-gcp-5.19.0/drivers/misc/mei/hw-me-regs.h @@ -111,6 +111,8 @@ #define MEI_DEV_ID_RPL_S 0x7A68 /* Raptor Lake Point S */ +#define MEI_DEV_ID_MTL_M 0x7E70 /* Meteor Lake Point M */ + /* * MEI HW Section */ --- linux-gcp-5.19.0.orig/drivers/misc/mei/pci-me.c +++ linux-gcp-5.19.0/drivers/misc/mei/pci-me.c @@ -24,6 +24,9 @@ #include "hw-me-regs.h" #include "hw-me.h" +static bool disable_msi; +module_param(disable_msi, bool, 0); + /* mei_pci_tbl - PCI Device ID Table */ static const struct pci_device_id mei_me_pci_tbl[] = { {MEI_PCI_DEVICE(MEI_DEV_ID_82946GZ, MEI_ME_ICH_CFG)}, @@ -118,6 +121,8 @@ {MEI_PCI_DEVICE(MEI_DEV_ID_RPL_S, MEI_ME_PCH15_CFG)}, + {MEI_PCI_DEVICE(MEI_DEV_ID_MTL_M, MEI_ME_PCH15_CFG)}, + /* required last entry */ {0, } }; @@ -212,7 +217,8 @@ hw->mem_addr = pcim_iomap_table(pdev)[0]; hw->read_fws = mei_me_read_fws; - pci_enable_msi(pdev); + if (!disable_msi) + pci_enable_msi(pdev); hw->irq = pdev->irq; --- linux-gcp-5.19.0.orig/drivers/misc/mei/pxp/mei_pxp.c +++ linux-gcp-5.19.0/drivers/misc/mei/pxp/mei_pxp.c @@ -206,8 +206,8 @@ } /* fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1 : PAVP GUID*/ -#define MEI_GUID_PXP GUID_INIT(0xfbf6fcf1, 0x96cf, 0x4e2e, 0xA6, \ - 0xa6, 0x1b, 0xab, 0x8c, 0xbe, 0x36, 0xb1) +#define MEI_GUID_PXP UUID_LE(0xfbf6fcf1, 0x96cf, 0x4e2e, 0xA6, \ + 0xa6, 0x1b, 0xab, 0x8c, 0xbe, 0x36, 0xb1) static struct mei_cl_device_id mei_pxp_tbl[] = { { .uuid = MEI_GUID_PXP, .version = MEI_CL_VERSION_ANY }, --- linux-gcp-5.19.0.orig/drivers/misc/ocxl/config.c +++ linux-gcp-5.19.0/drivers/misc/ocxl/config.c @@ -193,6 +193,18 @@ return 0; } +/** + * get_dvsec_vendor0() - Find a related PCI device (function 0) + * @dev: PCI device to match + * @dev0: The PCI device (function 0) found + * @out_pos: The position of PCI device (function 0) + * + * Returns 0 on success, negative on failure. + * + * NOTE: If it's successful, the reference of dev0 is increased, + * so after using it, the callers must call pci_dev_put() to give + * up the reference. + */ static int get_dvsec_vendor0(struct pci_dev *dev, struct pci_dev **dev0, int *out_pos) { @@ -202,10 +214,14 @@ dev = get_function_0(dev); if (!dev) return -1; + } else { + dev = pci_dev_get(dev); } pos = find_dvsec(dev, OCXL_DVSEC_VENDOR_ID); - if (!pos) + if (!pos) { + pci_dev_put(dev); return -1; + } *dev0 = dev; *out_pos = pos; return 0; @@ -222,6 +238,7 @@ pci_read_config_dword(dev0, pos + OCXL_DVSEC_VENDOR_RESET_RELOAD, &reset_reload); + pci_dev_put(dev0); *val = !!(reset_reload & BIT(0)); return 0; } @@ -243,6 +260,7 @@ reset_reload &= ~BIT(0); pci_write_config_dword(dev0, pos + OCXL_DVSEC_VENDOR_RESET_RELOAD, reset_reload); + pci_dev_put(dev0); return 0; } --- linux-gcp-5.19.0.orig/drivers/misc/ocxl/file.c +++ linux-gcp-5.19.0/drivers/misc/ocxl/file.c @@ -257,6 +257,8 @@ if (IS_ERR(ev_ctx)) return PTR_ERR(ev_ctx); rc = ocxl_irq_set_handler(ctx, irq_id, irq_handler, irq_free, ev_ctx); + if (rc) + eventfd_ctx_put(ev_ctx); break; case OCXL_IOCTL_GET_METADATA: @@ -539,8 +541,11 @@ goto err_put; rc = device_register(&info->dev); - if (rc) - goto err_put; + if (rc) { + free_minor(info); + put_device(&info->dev); + return rc; + } rc = ocxl_sysfs_register_afu(info); if (rc) --- linux-gcp-5.19.0.orig/drivers/misc/pci_endpoint_test.c +++ linux-gcp-5.19.0/drivers/misc/pci_endpoint_test.c @@ -332,6 +332,22 @@ return false; } +static int pci_endpoint_test_validate_xfer_params(struct device *dev, + struct pci_endpoint_test_xfer_param *param, size_t alignment) +{ + if (!param->size) { + dev_dbg(dev, "Data size is zero\n"); + return -EINVAL; + } + + if (param->size > SIZE_MAX - alignment) { + dev_dbg(dev, "Maximum transfer data size exceeded\n"); + return -EINVAL; + } + + return 0; +} + static bool pci_endpoint_test_copy(struct pci_endpoint_test *test, unsigned long arg) { @@ -363,9 +379,11 @@ return false; } + err = pci_endpoint_test_validate_xfer_params(dev, ¶m, alignment); + if (err) + return false; + size = param.size; - if (size > SIZE_MAX - alignment) - goto err; use_dma = !!(param.flags & PCITEST_FLAGS_USE_DMA); if (use_dma) @@ -497,9 +515,11 @@ return false; } + err = pci_endpoint_test_validate_xfer_params(dev, ¶m, alignment); + if (err) + return false; + size = param.size; - if (size > SIZE_MAX - alignment) - goto err; use_dma = !!(param.flags & PCITEST_FLAGS_USE_DMA); if (use_dma) @@ -595,9 +615,11 @@ return false; } + err = pci_endpoint_test_validate_xfer_params(dev, ¶m, alignment); + if (err) + return false; + size = param.size; - if (size > SIZE_MAX - alignment) - goto err; use_dma = !!(param.flags & PCITEST_FLAGS_USE_DMA); if (use_dma) --- linux-gcp-5.19.0.orig/drivers/misc/sgi-gru/grufault.c +++ linux-gcp-5.19.0/drivers/misc/sgi-gru/grufault.c @@ -648,6 +648,7 @@ if ((cb & (GRU_HANDLE_STRIDE - 1)) || ucbnum >= GRU_NUM_CB) return -EINVAL; +again: gts = gru_find_lock_gts(cb); if (!gts) return -EINVAL; @@ -656,7 +657,11 @@ if (ucbnum >= gts->ts_cbr_au_count * GRU_CBR_AU_SIZE) goto exit; - gru_check_context_placement(gts); + if (gru_check_context_placement(gts)) { + gru_unlock_gts(gts); + gru_unload_context(gts, 1); + goto again; + } /* * CCH may contain stale data if ts_force_cch_reload is set. @@ -874,7 +879,11 @@ } else { gts->ts_user_blade_id = req.val1; gts->ts_user_chiplet_id = req.val0; - gru_check_context_placement(gts); + if (gru_check_context_placement(gts)) { + gru_unlock_gts(gts); + gru_unload_context(gts, 1); + return ret; + } } break; case sco_gseg_owner: --- linux-gcp-5.19.0.orig/drivers/misc/sgi-gru/grumain.c +++ linux-gcp-5.19.0/drivers/misc/sgi-gru/grumain.c @@ -716,9 +716,10 @@ * chiplet. Misassignment can occur if the process migrates to a different * blade or if the user changes the selected blade/chiplet. */ -void gru_check_context_placement(struct gru_thread_state *gts) +int gru_check_context_placement(struct gru_thread_state *gts) { struct gru_state *gru; + int ret = 0; /* * If the current task is the context owner, verify that the @@ -726,15 +727,23 @@ * references. Pthread apps use non-owner references to the CBRs. */ gru = gts->ts_gru; + /* + * If gru or gts->ts_tgid_owner isn't initialized properly, return + * success to indicate that the caller does not need to unload the + * gru context.The caller is responsible for their inspection and + * reinitialization if needed. + */ if (!gru || gts->ts_tgid_owner != current->tgid) - return; + return ret; if (!gru_check_chiplet_assignment(gru, gts)) { STAT(check_context_unload); - gru_unload_context(gts, 1); + ret = -EINVAL; } else if (gru_retarget_intr(gts)) { STAT(check_context_retarget_intr); } + + return ret; } @@ -934,7 +943,12 @@ mutex_lock(>s->ts_ctxlock); preempt_disable(); - gru_check_context_placement(gts); + if (gru_check_context_placement(gts)) { + preempt_enable(); + mutex_unlock(>s->ts_ctxlock); + gru_unload_context(gts, 1); + return VM_FAULT_NOPAGE; + } if (!gts->ts_gru) { STAT(load_user_context); --- linux-gcp-5.19.0.orig/drivers/misc/sgi-gru/grutables.h +++ linux-gcp-5.19.0/drivers/misc/sgi-gru/grutables.h @@ -632,7 +632,7 @@ extern int gru_user_unload_context(unsigned long arg); extern int gru_get_exception_detail(unsigned long arg); extern int gru_set_context_option(unsigned long address); -extern void gru_check_context_placement(struct gru_thread_state *gts); +extern int gru_check_context_placement(struct gru_thread_state *gts); extern int gru_cpu_fault_map_id(void); extern struct vm_area_struct *gru_find_vma(unsigned long vaddr); extern void gru_flush_all_tlb(struct gru_state *gru); --- linux-gcp-5.19.0.orig/drivers/misc/tifm_7xx1.c +++ linux-gcp-5.19.0/drivers/misc/tifm_7xx1.c @@ -190,7 +190,7 @@ spin_unlock_irqrestore(&fm->lock, flags); } if (sock) - tifm_free_device(&sock->dev); + put_device(&sock->dev); } spin_lock_irqsave(&fm->lock, flags); } --- linux-gcp-5.19.0.orig/drivers/misc/uacce/uacce.c +++ linux-gcp-5.19.0/drivers/misc/uacce/uacce.c @@ -9,43 +9,38 @@ static struct class *uacce_class; static dev_t uacce_devt; -static DEFINE_MUTEX(uacce_mutex); static DEFINE_XARRAY_ALLOC(uacce_xa); -static int uacce_start_queue(struct uacce_queue *q) +/* + * If the parent driver or the device disappears, the queue state is invalid and + * ops are not usable anymore. + */ +static bool uacce_queue_is_valid(struct uacce_queue *q) { - int ret = 0; + return q->state == UACCE_Q_INIT || q->state == UACCE_Q_STARTED; +} - mutex_lock(&uacce_mutex); +static int uacce_start_queue(struct uacce_queue *q) +{ + int ret; - if (q->state != UACCE_Q_INIT) { - ret = -EINVAL; - goto out_with_lock; - } + if (q->state != UACCE_Q_INIT) + return -EINVAL; if (q->uacce->ops->start_queue) { ret = q->uacce->ops->start_queue(q); if (ret < 0) - goto out_with_lock; + return ret; } q->state = UACCE_Q_STARTED; - -out_with_lock: - mutex_unlock(&uacce_mutex); - - return ret; + return 0; } static int uacce_put_queue(struct uacce_queue *q) { struct uacce_device *uacce = q->uacce; - mutex_lock(&uacce_mutex); - - if (q->state == UACCE_Q_ZOMBIE) - goto out; - if ((q->state == UACCE_Q_STARTED) && uacce->ops->stop_queue) uacce->ops->stop_queue(q); @@ -54,8 +49,6 @@ uacce->ops->put_queue(q); q->state = UACCE_Q_ZOMBIE; -out: - mutex_unlock(&uacce_mutex); return 0; } @@ -65,20 +58,36 @@ { struct uacce_queue *q = filep->private_data; struct uacce_device *uacce = q->uacce; + long ret = -ENXIO; + + /* + * uacce->ops->ioctl() may take the mmap_lock when copying arg to/from + * user. Avoid a circular lock dependency with uacce_fops_mmap(), which + * gets called with mmap_lock held, by taking uacce->mutex instead of + * q->mutex. Doing this in uacce_fops_mmap() is not possible because + * uacce_fops_open() calls iommu_sva_bind_device(), which takes + * mmap_lock, while holding uacce->mutex. + */ + mutex_lock(&uacce->mutex); + if (!uacce_queue_is_valid(q)) + goto out_unlock; switch (cmd) { case UACCE_CMD_START_Q: - return uacce_start_queue(q); - + ret = uacce_start_queue(q); + break; case UACCE_CMD_PUT_Q: - return uacce_put_queue(q); - + ret = uacce_put_queue(q); + break; default: - if (!uacce->ops->ioctl) - return -EINVAL; - - return uacce->ops->ioctl(q, cmd, arg); + if (uacce->ops->ioctl) + ret = uacce->ops->ioctl(q, cmd, arg); + else + ret = -EINVAL; } +out_unlock: + mutex_unlock(&uacce->mutex); + return ret; } #ifdef CONFIG_COMPAT @@ -136,6 +145,13 @@ if (!q) return -ENOMEM; + mutex_lock(&uacce->mutex); + + if (!uacce->parent) { + ret = -EINVAL; + goto out_with_mem; + } + ret = uacce_bind_queue(uacce, q); if (ret) goto out_with_mem; @@ -152,10 +168,9 @@ filep->private_data = q; uacce->inode = inode; q->state = UACCE_Q_INIT; - - mutex_lock(&uacce->queues_lock); + mutex_init(&q->mutex); list_add(&q->list, &uacce->queues); - mutex_unlock(&uacce->queues_lock); + mutex_unlock(&uacce->mutex); return 0; @@ -163,18 +178,20 @@ uacce_unbind_queue(q); out_with_mem: kfree(q); + mutex_unlock(&uacce->mutex); return ret; } static int uacce_fops_release(struct inode *inode, struct file *filep) { struct uacce_queue *q = filep->private_data; + struct uacce_device *uacce = q->uacce; - mutex_lock(&q->uacce->queues_lock); - list_del(&q->list); - mutex_unlock(&q->uacce->queues_lock); + mutex_lock(&uacce->mutex); uacce_put_queue(q); uacce_unbind_queue(q); + list_del(&q->list); + mutex_unlock(&uacce->mutex); kfree(q); return 0; @@ -217,10 +234,9 @@ vma->vm_private_data = q; qfr->type = type; - mutex_lock(&uacce_mutex); - - if (q->state != UACCE_Q_INIT && q->state != UACCE_Q_STARTED) { - ret = -EINVAL; + mutex_lock(&q->mutex); + if (!uacce_queue_is_valid(q)) { + ret = -ENXIO; goto out_with_lock; } @@ -248,12 +264,12 @@ } q->qfrs[type] = qfr; - mutex_unlock(&uacce_mutex); + mutex_unlock(&q->mutex); return ret; out_with_lock: - mutex_unlock(&uacce_mutex); + mutex_unlock(&q->mutex); kfree(qfr); return ret; } @@ -262,12 +278,20 @@ { struct uacce_queue *q = file->private_data; struct uacce_device *uacce = q->uacce; + __poll_t ret = 0; + + mutex_lock(&q->mutex); + if (!uacce_queue_is_valid(q)) + goto out_unlock; poll_wait(file, &q->wait, wait); + if (uacce->ops->is_q_updated && uacce->ops->is_q_updated(q)) - return EPOLLIN | EPOLLRDNORM; + ret = EPOLLIN | EPOLLRDNORM; - return 0; +out_unlock: + mutex_unlock(&q->mutex); + return ret; } static const struct file_operations uacce_fops = { @@ -450,7 +474,7 @@ goto err_with_uacce; INIT_LIST_HEAD(&uacce->queues); - mutex_init(&uacce->queues_lock); + mutex_init(&uacce->mutex); device_initialize(&uacce->dev); uacce->dev.devt = MKDEV(MAJOR(uacce_devt), uacce->dev_id); uacce->dev.class = uacce_class; @@ -507,13 +531,23 @@ if (uacce->inode) unmap_mapping_range(uacce->inode->i_mapping, 0, 0, 1); + /* + * uacce_fops_open() may be running concurrently, even after we remove + * the cdev. Holding uacce->mutex ensures that open() does not obtain a + * removed uacce device. + */ + mutex_lock(&uacce->mutex); /* ensure no open queue remains */ - mutex_lock(&uacce->queues_lock); list_for_each_entry_safe(q, next_q, &uacce->queues, list) { + /* + * Taking q->mutex ensures that fops do not use the defunct + * uacce->ops after the queue is disabled. + */ + mutex_lock(&q->mutex); uacce_put_queue(q); + mutex_unlock(&q->mutex); uacce_unbind_queue(q); } - mutex_unlock(&uacce->queues_lock); /* disable sva now since no opened queues */ uacce_disable_sva(uacce); @@ -521,6 +555,13 @@ if (uacce->cdev) cdev_device_del(uacce->cdev, &uacce->dev); xa_erase(&uacce_xa, uacce->dev_id); + /* + * uacce exists as long as there are open fds, but ops will be freed + * now. Ensure that bugs cause NULL deref rather than use-after-free. + */ + uacce->ops = NULL; + uacce->parent = NULL; + mutex_unlock(&uacce->mutex); put_device(&uacce->dev); } EXPORT_SYMBOL_GPL(uacce_remove); --- linux-gcp-5.19.0.orig/drivers/misc/vmw_vmci/vmci_guest.c +++ linux-gcp-5.19.0/drivers/misc/vmw_vmci/vmci_guest.c @@ -56,8 +56,6 @@ bool exclusive_vectors; - struct tasklet_struct datagram_tasklet; - struct tasklet_struct bm_tasklet; struct wait_queue_head inout_wq; void *data_buffer; @@ -304,9 +302,8 @@ * This function assumes that it has exclusive access to the data * in register(s) for the duration of the call. */ -static void vmci_dispatch_dgs(unsigned long data) +static void vmci_dispatch_dgs(struct vmci_guest_device *vmci_dev) { - struct vmci_guest_device *vmci_dev = (struct vmci_guest_device *)data; u8 *dg_in_buffer = vmci_dev->data_buffer; struct vmci_datagram *dg; size_t dg_in_buffer_size = VMCI_MAX_DG_SIZE; @@ -465,10 +462,8 @@ * Scans the notification bitmap for raised flags, clears them * and handles the notifications. */ -static void vmci_process_bitmap(unsigned long data) +static void vmci_process_bitmap(struct vmci_guest_device *dev) { - struct vmci_guest_device *dev = (struct vmci_guest_device *)data; - if (!dev->notification_bitmap) { dev_dbg(dev->dev, "No bitmap present in %s\n", __func__); return; @@ -486,13 +481,13 @@ struct vmci_guest_device *dev = _dev; /* - * If we are using MSI-X with exclusive vectors then we simply schedule - * the datagram tasklet, since we know the interrupt was meant for us. + * If we are using MSI-X with exclusive vectors then we simply call + * vmci_dispatch_dgs(), since we know the interrupt was meant for us. * Otherwise we must read the ICR to determine what to do. */ if (dev->exclusive_vectors) { - tasklet_schedule(&dev->datagram_tasklet); + vmci_dispatch_dgs(dev); } else { unsigned int icr; @@ -502,12 +497,12 @@ return IRQ_NONE; if (icr & VMCI_ICR_DATAGRAM) { - tasklet_schedule(&dev->datagram_tasklet); + vmci_dispatch_dgs(dev); icr &= ~VMCI_ICR_DATAGRAM; } if (icr & VMCI_ICR_NOTIFICATION) { - tasklet_schedule(&dev->bm_tasklet); + vmci_process_bitmap(dev); icr &= ~VMCI_ICR_NOTIFICATION; } @@ -536,7 +531,7 @@ struct vmci_guest_device *dev = _dev; /* For MSI-X we can just assume it was meant for us. */ - tasklet_schedule(&dev->bm_tasklet); + vmci_process_bitmap(dev); return IRQ_HANDLED; } @@ -638,10 +633,6 @@ vmci_dev->iobase = iobase; vmci_dev->mmio_base = mmio_base; - tasklet_init(&vmci_dev->datagram_tasklet, - vmci_dispatch_dgs, (unsigned long)vmci_dev); - tasklet_init(&vmci_dev->bm_tasklet, - vmci_process_bitmap, (unsigned long)vmci_dev); init_waitqueue_head(&vmci_dev->inout_wq); if (mmio_base != NULL) { @@ -808,8 +799,9 @@ * Request IRQ for legacy or MSI interrupts, or for first * MSI-X vector. */ - error = request_irq(pci_irq_vector(pdev, 0), vmci_interrupt, - IRQF_SHARED, KBUILD_MODNAME, vmci_dev); + error = request_threaded_irq(pci_irq_vector(pdev, 0), NULL, + vmci_interrupt, IRQF_SHARED, + KBUILD_MODNAME, vmci_dev); if (error) { dev_err(&pdev->dev, "Irq %u in use: %d\n", pci_irq_vector(pdev, 0), error); @@ -823,9 +815,9 @@ * between the vectors. */ if (vmci_dev->exclusive_vectors) { - error = request_irq(pci_irq_vector(pdev, 1), - vmci_interrupt_bm, 0, KBUILD_MODNAME, - vmci_dev); + error = request_threaded_irq(pci_irq_vector(pdev, 1), NULL, + vmci_interrupt_bm, 0, + KBUILD_MODNAME, vmci_dev); if (error) { dev_err(&pdev->dev, "Failed to allocate irq %u: %d\n", @@ -833,9 +825,11 @@ goto err_free_irq; } if (caps_in_use & VMCI_CAPS_DMA_DATAGRAM) { - error = request_irq(pci_irq_vector(pdev, 2), - vmci_interrupt_dma_datagram, - 0, KBUILD_MODNAME, vmci_dev); + error = request_threaded_irq(pci_irq_vector(pdev, 2), + NULL, + vmci_interrupt_dma_datagram, + 0, KBUILD_MODNAME, + vmci_dev); if (error) { dev_err(&pdev->dev, "Failed to allocate irq %u: %d\n", @@ -871,8 +865,6 @@ err_free_irq: free_irq(pci_irq_vector(pdev, 0), vmci_dev); - tasklet_kill(&vmci_dev->datagram_tasklet); - tasklet_kill(&vmci_dev->bm_tasklet); err_disable_msi: pci_free_irq_vectors(pdev); @@ -943,9 +935,6 @@ free_irq(pci_irq_vector(pdev, 0), vmci_dev); pci_free_irq_vectors(pdev); - tasklet_kill(&vmci_dev->datagram_tasklet); - tasklet_kill(&vmci_dev->bm_tasklet); - if (vmci_dev->notification_bitmap) { /* * The device reset above cleared the bitmap state of the --- linux-gcp-5.19.0.orig/drivers/misc/vmw_vmci/vmci_host.c +++ linux-gcp-5.19.0/drivers/misc/vmw_vmci/vmci_host.c @@ -242,6 +242,8 @@ context->notify_page = NULL; return VMCI_ERROR_GENERIC; } + if (context->notify_page == NULL) + return VMCI_ERROR_UNAVAILABLE; /* * Map the locked page and set up notify pointer. --- linux-gcp-5.19.0.orig/drivers/misc/vmw_vmci/vmci_queue_pair.c +++ linux-gcp-5.19.0/drivers/misc/vmw_vmci/vmci_queue_pair.c @@ -854,6 +854,7 @@ u32 context_id = vmci_get_context_id(); struct vmci_event_qp ev; + memset(&ev, 0, sizeof(ev)); ev.msg.hdr.dst = vmci_make_handle(context_id, VMCI_EVENT_HANDLER); ev.msg.hdr.src = vmci_make_handle(VMCI_HYPERVISOR_CONTEXT_ID, VMCI_CONTEXT_RESOURCE_ID); @@ -1467,6 +1468,7 @@ * kernel. */ + memset(&ev, 0, sizeof(ev)); ev.msg.hdr.dst = vmci_make_handle(peer_id, VMCI_EVENT_HANDLER); ev.msg.hdr.src = vmci_make_handle(VMCI_HYPERVISOR_CONTEXT_ID, VMCI_CONTEXT_RESOURCE_ID); --- linux-gcp-5.19.0.orig/drivers/mmc/core/block.c +++ linux-gcp-5.19.0/drivers/mmc/core/block.c @@ -134,6 +134,7 @@ * track of the current selected device partition. */ unsigned int part_curr; +#define MMC_BLK_PART_INVALID UINT_MAX /* Unknown partition active */ int area_type; /* debugfs files (only in main mmc_blk_data) */ @@ -176,7 +177,7 @@ unsigned int part_type); static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq, struct mmc_card *card, - int disable_multi, + int recovery_mode, struct mmc_queue *mq); static void mmc_blk_hsq_req_done(struct mmc_request *mrq); @@ -987,33 +988,39 @@ return ms; } +/* + * Attempts to reset the card and get back to the requested partition. + * Therefore any error here must result in cancelling the block layer + * request, it must not be reattempted without going through the mmc_blk + * partition sanity checks. + */ static int mmc_blk_reset(struct mmc_blk_data *md, struct mmc_host *host, int type) { int err; + struct mmc_blk_data *main_md = dev_get_drvdata(&host->card->dev); if (md->reset_done & type) return -EEXIST; md->reset_done |= type; err = mmc_hw_reset(host->card); + /* + * A successful reset will leave the card in the main partition, but + * upon failure it might not be, so set it to MMC_BLK_PART_INVALID + * in that case. + */ + main_md->part_curr = err ? MMC_BLK_PART_INVALID : main_md->part_type; + if (err) + return err; /* Ensure we switch back to the correct partition */ - if (err) { - struct mmc_blk_data *main_md = - dev_get_drvdata(&host->card->dev); - int part_err; - - main_md->part_curr = main_md->part_type; - part_err = mmc_blk_part_switch(host->card, md->part_type); - if (part_err) { - /* - * We have failed to get back into the correct - * partition, so we need to abort the whole request. - */ - return -ENODEV; - } - } - return err; + if (mmc_blk_part_switch(host->card, md->part_type)) + /* + * We have failed to get back into the correct + * partition, so we need to abort the whole request. + */ + return -ENODEV; + return 0; } static inline void mmc_blk_reset_success(struct mmc_blk_data *md, int type) @@ -1140,8 +1147,12 @@ { struct mmc_blk_data *md = mq->blkdata; struct mmc_card *card = md->queue.card; + unsigned int arg = card->erase_arg; + + if (mmc_card_broken_sd_discard(card)) + arg = SD_ERASE_ARG; - mmc_blk_issue_erase_rq(mq, req, MMC_BLK_DISCARD, card->erase_arg); + mmc_blk_issue_erase_rq(mq, req, MMC_BLK_DISCARD, arg); } static void mmc_blk_issue_secdiscard_rq(struct mmc_queue *mq, @@ -1302,7 +1313,7 @@ } static void mmc_blk_data_prep(struct mmc_queue *mq, struct mmc_queue_req *mqrq, - int disable_multi, bool *do_rel_wr_p, + int recovery_mode, bool *do_rel_wr_p, bool *do_data_tag_p) { struct mmc_blk_data *md = mq->blkdata; @@ -1368,12 +1379,12 @@ brq->data.blocks--; /* - * After a read error, we redo the request one sector + * After a read error, we redo the request one (native) sector * at a time in order to accurately determine which * sectors can be read successfully. */ - if (disable_multi) - brq->data.blocks = 1; + if (recovery_mode) + brq->data.blocks = queue_physical_block_size(mq->queue) >> 9; /* * Some controllers have HW issues while operating @@ -1590,7 +1601,7 @@ static void mmc_blk_rw_rq_prep(struct mmc_queue_req *mqrq, struct mmc_card *card, - int disable_multi, + int recovery_mode, struct mmc_queue *mq) { u32 readcmd, writecmd; @@ -1599,7 +1610,7 @@ struct mmc_blk_data *md = mq->blkdata; bool do_rel_wr, do_data_tag; - mmc_blk_data_prep(mq, mqrq, disable_multi, &do_rel_wr, &do_data_tag); + mmc_blk_data_prep(mq, mqrq, recovery_mode, &do_rel_wr, &do_data_tag); brq->mrq.cmd = &brq->cmd; @@ -1690,7 +1701,7 @@ #define MMC_READ_SINGLE_RETRIES 2 -/* Single sector read during recovery */ +/* Single (native) sector read during recovery */ static void mmc_blk_read_single(struct mmc_queue *mq, struct request *req) { struct mmc_queue_req *mqrq = req_to_mmc_queue_req(req); @@ -1698,6 +1709,7 @@ struct mmc_card *card = mq->card; struct mmc_host *host = card->host; blk_status_t error = BLK_STS_OK; + size_t bytes_per_read = queue_physical_block_size(mq->queue); do { u32 status; @@ -1732,13 +1744,13 @@ else error = BLK_STS_OK; - } while (blk_update_request(req, error, 512)); + } while (blk_update_request(req, error, bytes_per_read)); return; error_exit: mrq->data->bytes_xfered = 0; - blk_update_request(req, BLK_STS_IOERR, 512); + blk_update_request(req, BLK_STS_IOERR, bytes_per_read); /* Let it try the remaining request again */ if (mqrq->retries > MMC_MAX_RETRIES - 1) mqrq->retries = MMC_MAX_RETRIES - 1; @@ -1866,8 +1878,9 @@ return; /* Reset before last retry */ - if (mqrq->retries + 1 == MMC_MAX_RETRIES) - mmc_blk_reset(md, card->host, type); + if (mqrq->retries + 1 == MMC_MAX_RETRIES && + mmc_blk_reset(md, card->host, type)) + return; /* Command errors fail fast, so use all MMC_MAX_RETRIES */ if (brq->sbc.error || brq->cmd.error) @@ -1879,10 +1892,9 @@ return; } - /* FIXME: Missing single sector read for large sector size */ - if (!mmc_large_sector(card) && rq_data_dir(req) == READ && - brq->data.blocks > 1) { - /* Read one sector at a time */ + if (rq_data_dir(req) == READ && brq->data.blocks > + queue_physical_block_size(mq->queue) >> 9) { + /* Read one (native) sector at a time */ mmc_blk_read_single(mq, req); return; } @@ -2509,7 +2521,6 @@ return md; err_cleanup_queue: - blk_cleanup_queue(md->disk->queue); blk_mq_free_tag_set(&md->queue.tag_set); err_kfree: kfree(md); --- linux-gcp-5.19.0.orig/drivers/mmc/core/card.h +++ linux-gcp-5.19.0/drivers/mmc/core/card.h @@ -73,6 +73,7 @@ #define EXT_CSD_REV_ANY (-1u) #define CID_MANFID_SANDISK 0x2 +#define CID_MANFID_SANDISK_SD 0x3 #define CID_MANFID_ATP 0x9 #define CID_MANFID_TOSHIBA 0x11 #define CID_MANFID_MICRON 0x13 @@ -258,4 +259,9 @@ return c->quirks & MMC_QUIRK_BROKEN_HPI; } +static inline int mmc_card_broken_sd_discard(const struct mmc_card *c) +{ + return c->quirks & MMC_QUIRK_BROKEN_SD_DISCARD; +} + #endif --- linux-gcp-5.19.0.orig/drivers/mmc/core/core.c +++ linux-gcp-5.19.0/drivers/mmc/core/core.c @@ -1132,7 +1132,13 @@ mmc_power_cycle(host, ocr); } else { bit = fls(ocr) - 1; - ocr &= 3 << bit; + /* + * The bit variable represents the highest voltage bit set in + * the OCR register. + * To keep a range of 2 values (e.g. 3.2V/3.3V and 3.3V/3.4V), + * we must shift the mask '3' with (bit - 1). + */ + ocr &= 3 << (bit - 1); if (bit != host->ios.vdd) dev_warn(mmc_dev(host), "exceeding card's volts\n"); } @@ -1476,6 +1482,11 @@ card->pref_erase = 0; } +static bool is_trim_arg(unsigned int arg) +{ + return (arg & MMC_TRIM_OR_DISCARD_ARGS) && arg != MMC_DISCARD_ARG; +} + static unsigned int mmc_mmc_erase_timeout(struct mmc_card *card, unsigned int arg, unsigned int qty) { @@ -1758,7 +1769,7 @@ !(card->ext_csd.sec_feature_support & EXT_CSD_SEC_ER_EN)) return -EOPNOTSUPP; - if (mmc_card_mmc(card) && (arg & MMC_TRIM_ARGS) && + if (mmc_card_mmc(card) && is_trim_arg(arg) && !(card->ext_csd.sec_feature_support & EXT_CSD_SEC_GB_CL_EN)) return -EOPNOTSUPP; @@ -1788,7 +1799,7 @@ * identified by the card->eg_boundary flag. */ rem = card->erase_size - (from % card->erase_size); - if ((arg & MMC_TRIM_ARGS) && (card->eg_boundary) && (nr > rem)) { + if ((arg & MMC_TRIM_OR_DISCARD_ARGS) && card->eg_boundary && nr > rem) { err = mmc_do_erase(card, from, from + rem - 1, arg); from += rem; if ((err) || (to <= from)) --- linux-gcp-5.19.0.orig/drivers/mmc/core/mmc_test.c +++ linux-gcp-5.19.0/drivers/mmc/core/mmc_test.c @@ -3179,7 +3179,8 @@ struct mmc_test_dbgfs_file *df; if (card->debugfs_root) - debugfs_create_file(name, mode, card->debugfs_root, card, fops); + file = debugfs_create_file(name, mode, card->debugfs_root, + card, fops); df = kmalloc(sizeof(*df), GFP_KERNEL); if (!df) { --- linux-gcp-5.19.0.orig/drivers/mmc/core/queue.c +++ linux-gcp-5.19.0/drivers/mmc/core/queue.c @@ -48,6 +48,7 @@ case REQ_OP_DRV_OUT: case REQ_OP_DISCARD: case REQ_OP_SECURE_ERASE: + case REQ_OP_WRITE_ZEROES: return MMC_ISSUE_SYNC; case REQ_OP_FLUSH: return mmc_cqe_can_dcmd(host) ? MMC_ISSUE_DCMD : MMC_ISSUE_SYNC; @@ -494,7 +495,13 @@ if (blk_queue_quiesced(q)) blk_mq_unquiesce_queue(q); - blk_cleanup_queue(q); + /* + * If the recovery completes the last (and only remaining) request in + * the queue, and the card has been removed, we could end up here with + * the recovery not quite finished yet, so cancel it. + */ + cancel_work_sync(&mq->recovery_work); + blk_mq_free_tag_set(&mq->tag_set); /* --- linux-gcp-5.19.0.orig/drivers/mmc/core/quirks.h +++ linux-gcp-5.19.0/drivers/mmc/core/quirks.h @@ -100,6 +100,12 @@ MMC_FIXUP("V10016", CID_MANFID_KINGSTON, CID_OEMID_ANY, add_quirk_mmc, MMC_QUIRK_TRIM_BROKEN), + /* + * Some SD cards reports discard support while they don't + */ + MMC_FIXUP(CID_NAME_ANY, CID_MANFID_SANDISK_SD, 0x5344, add_quirk_sd, + MMC_QUIRK_BROKEN_SD_DISCARD), + END_FIXUP }; @@ -163,8 +169,10 @@ struct device_node *np; for_each_child_of_node(mmc_dev(card->host)->of_node, np) { - if (of_device_is_compatible(np, compatible)) + if (of_device_is_compatible(np, compatible)) { + of_node_put(np); return true; + } } return false; --- linux-gcp-5.19.0.orig/drivers/mmc/core/sd.c +++ linux-gcp-5.19.0/drivers/mmc/core/sd.c @@ -870,7 +870,8 @@ * the CCS bit is set as well. We deliberately deviate from the spec in * regards to this, which allows UHS-I to be supported for SDSC cards. */ - if (!mmc_host_is_spi(host) && rocr && (*rocr & 0x01000000)) { + if (!mmc_host_is_spi(host) && (ocr & SD_OCR_S18R) && + rocr && (*rocr & SD_ROCR_S18A)) { err = mmc_set_uhs_voltage(host, pocr); if (err == -EAGAIN) { retries--; @@ -949,16 +950,17 @@ /* Erase init depends on CSD and SSR */ mmc_init_erase(card); - - /* - * Fetch switch information from card. - */ - err = mmc_read_switch(card); - if (err) - return err; } /* + * Fetch switch information from card. Note, sd3_bus_mode can change if + * voltage switch outcome changes, so do this always. + */ + err = mmc_read_switch(card); + if (err) + return err; + + /* * For SPI, enable CRC as appropriate. * This CRC enable is located AFTER the reading of the * card registers because some SDHC cards are not able @@ -1257,7 +1259,7 @@ */ err = sd_read_ext_reg(card, 0, 0, 0, 512, gen_info_buf); if (err) { - pr_warn("%s: error %d reading general info of SD ext reg\n", + pr_err("%s: error %d reading general info of SD ext reg\n", mmc_hostname(card->host), err); goto out; } @@ -1271,7 +1273,12 @@ /* Number of extensions to be find. */ num_ext = gen_info_buf[4]; - /* We support revision 0, but limit it to 512 bytes for simplicity. */ + /* + * We only support revision 0 and limit it to 512 bytes for simplicity. + * No matter what, let's return zero to allow us to continue using the + * card, even if we can't support the features from the SD function + * extensions registers. + */ if (rev != 0 || len > 512) { pr_warn("%s: non-supported SD ext reg layout\n", mmc_hostname(card->host)); @@ -1286,7 +1293,7 @@ for (i = 0; i < num_ext; i++) { err = sd_parse_ext_reg(card, gen_info_buf, &next_ext_addr); if (err) { - pr_warn("%s: error %d parsing SD ext reg\n", + pr_err("%s: error %d parsing SD ext reg\n", mmc_hostname(card->host), err); goto out; } @@ -1480,26 +1487,15 @@ if (!v18_fixup_failed && !mmc_host_is_spi(host) && mmc_host_uhs(host) && mmc_sd_card_using_v18(card) && host->ios.signal_voltage != MMC_SIGNAL_VOLTAGE_180) { - /* - * Re-read switch information in case it has changed since - * oldcard was initialized. - */ - if (oldcard) { - err = mmc_read_switch(card); - if (err) - goto free_card; - } - if (mmc_sd_card_using_v18(card)) { - if (mmc_host_set_uhs_voltage(host) || - mmc_sd_init_uhs_card(card)) { - v18_fixup_failed = true; - mmc_power_cycle(host, ocr); - if (!oldcard) - mmc_remove_card(card); - goto retry; - } - goto done; + if (mmc_host_set_uhs_voltage(host) || + mmc_sd_init_uhs_card(card)) { + v18_fixup_failed = true; + mmc_power_cycle(host, ocr); + if (!oldcard) + mmc_remove_card(card); + goto retry; } + goto cont; } /* Initialization sequence for UHS-I cards */ @@ -1534,7 +1530,7 @@ mmc_set_bus_width(host, MMC_BUS_WIDTH_4); } } - +cont: if (!oldcard) { /* Read/parse the extension registers. */ err = sd_read_ext_regs(card); @@ -1566,7 +1562,7 @@ err = -EINVAL; goto free_card; } -done: + host->card = card; return 0; --- linux-gcp-5.19.0.orig/drivers/mmc/core/sdio_bus.c +++ linux-gcp-5.19.0/drivers/mmc/core/sdio_bus.c @@ -291,7 +291,14 @@ { struct sdio_func *func = dev_to_sdio_func(dev); - sdio_free_func_cis(func); + if (!(func->card->quirks & MMC_QUIRK_NONSTD_SDIO)) + sdio_free_func_cis(func); + + /* + * We have now removed the link to the tuples in the + * card structure, so remove the reference. + */ + put_device(&func->card->dev); kfree(func->info); kfree(func->tmpbuf); @@ -323,6 +330,12 @@ device_initialize(&func->dev); + /* + * We may link to tuples in the card structure, + * we need make sure we have a reference to it. + */ + get_device(&func->card->dev); + func->dev.parent = &card->dev; func->dev.bus = &sdio_bus_type; func->dev.release = sdio_release_func; @@ -376,10 +389,9 @@ */ void sdio_remove_func(struct sdio_func *func) { - if (!sdio_func_present(func)) - return; + if (sdio_func_present(func)) + device_del(&func->dev); - device_del(&func->dev); of_node_put(func->dev.of_node); put_device(&func->dev); } --- linux-gcp-5.19.0.orig/drivers/mmc/core/sdio_cis.c +++ linux-gcp-5.19.0/drivers/mmc/core/sdio_cis.c @@ -404,12 +404,6 @@ return ret; /* - * Since we've linked to tuples in the card structure, - * we must make sure we have a reference to it. - */ - get_device(&func->card->dev); - - /* * Vendor/device id is optional for function CIS, so * copy it from the card structure as needed. */ @@ -434,11 +428,5 @@ } func->tuples = NULL; - - /* - * We have now removed the link to the tuples in the - * card structure, so remove the reference. - */ - put_device(&func->card->dev); } --- linux-gcp-5.19.0.orig/drivers/mmc/host/Kconfig +++ linux-gcp-5.19.0/drivers/mmc/host/Kconfig @@ -1072,9 +1072,10 @@ config MMC_SDHCI_AM654 tristate "Support for the SDHCI Controller in TI's AM654 SOCs" - depends on MMC_SDHCI_PLTFM && OF && REGMAP_MMIO + depends on MMC_SDHCI_PLTFM && OF select MMC_SDHCI_IO_ACCESSORS select MMC_CQHCI + select REGMAP_MMIO help This selects the Secure Digital Host Controller Interface (SDHCI) support present in TI's AM654 SOCs. The controller supports --- linux-gcp-5.19.0.orig/drivers/mmc/host/alcor.c +++ linux-gcp-5.19.0/drivers/mmc/host/alcor.c @@ -1114,7 +1114,10 @@ alcor_hw_init(host); dev_set_drvdata(&pdev->dev, host); - mmc_add_host(mmc); + ret = mmc_add_host(mmc); + if (ret) + goto free_host; + return 0; free_host: --- linux-gcp-5.19.0.orig/drivers/mmc/host/atmel-mci.c +++ linux-gcp-5.19.0/drivers/mmc/host/atmel-mci.c @@ -2222,6 +2222,7 @@ { struct mmc_host *mmc; struct atmel_mci_slot *slot; + int ret; mmc = mmc_alloc_host(sizeof(struct atmel_mci_slot), &host->pdev->dev); if (!mmc) @@ -2305,11 +2306,13 @@ host->slot[id] = slot; mmc_regulator_get_supply(mmc); - mmc_add_host(mmc); + ret = mmc_add_host(mmc); + if (ret) { + mmc_free_host(mmc); + return ret; + } if (gpio_is_valid(slot->detect_pin)) { - int ret; - timer_setup(&slot->detect_timer, atmci_detect_change, 0); ret = request_irq(gpio_to_irq(slot->detect_pin), --- linux-gcp-5.19.0.orig/drivers/mmc/host/au1xmmc.c +++ linux-gcp-5.19.0/drivers/mmc/host/au1xmmc.c @@ -1097,8 +1097,9 @@ if (host->platdata && host->platdata->cd_setup && !(mmc->caps & MMC_CAP_NEEDS_POLL)) host->platdata->cd_setup(mmc, 0); -out_clk: + clk_disable_unprepare(host->clk); +out_clk: clk_put(host->clk); out_irq: free_irq(host->irq, host); --- linux-gcp-5.19.0.orig/drivers/mmc/host/cavium-octeon.c +++ linux-gcp-5.19.0/drivers/mmc/host/cavium-octeon.c @@ -277,6 +277,7 @@ if (ret) { dev_err(&pdev->dev, "Error populating slots\n"); octeon_mmc_set_shared_power(host, 0); + of_node_put(cn); goto error; } i++; --- linux-gcp-5.19.0.orig/drivers/mmc/host/cavium-thunderx.c +++ linux-gcp-5.19.0/drivers/mmc/host/cavium-thunderx.c @@ -142,8 +142,10 @@ continue; ret = cvm_mmc_of_slot_probe(&host->slot_pdev[i]->dev, host); - if (ret) + if (ret) { + of_node_put(child_node); goto error; + } } i++; } --- linux-gcp-5.19.0.orig/drivers/mmc/host/jz4740_mmc.c +++ linux-gcp-5.19.0/drivers/mmc/host/jz4740_mmc.c @@ -1053,6 +1053,16 @@ mmc->ops = &jz4740_mmc_ops; if (!mmc->f_max) mmc->f_max = JZ_MMC_CLK_RATE; + + /* + * There seems to be a problem with this driver on the JZ4760 and + * JZ4760B SoCs. There, when using the maximum rate supported (50 MHz), + * the communication fails with many SD cards. + * Until this bug is sorted out, limit the maximum rate to 24 MHz. + */ + if (host->version == JZ_MMC_JZ4760 && mmc->f_max > JZ_MMC_CLK_RATE) + mmc->f_max = JZ_MMC_CLK_RATE; + mmc->f_min = mmc->f_max / 128; mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34; --- linux-gcp-5.19.0.orig/drivers/mmc/host/litex_mmc.c +++ linux-gcp-5.19.0/drivers/mmc/host/litex_mmc.c @@ -502,6 +502,7 @@ use_polling: host->mmc->caps |= MMC_CAP_NEEDS_POLL; + host->irq = 0; return 0; } --- linux-gcp-5.19.0.orig/drivers/mmc/host/meson-gx-mmc.c +++ linux-gcp-5.19.0/drivers/mmc/host/meson-gx-mmc.c @@ -1172,8 +1172,10 @@ } ret = device_reset_optional(&pdev->dev); - if (ret) - return dev_err_probe(&pdev->dev, ret, "device reset failed\n"); + if (ret) { + dev_err_probe(&pdev->dev, ret, "device reset failed\n"); + goto free_host; + } res = platform_get_resource(pdev, IORESOURCE_MEM, 0); host->regs = devm_ioremap_resource(&pdev->dev, res); @@ -1289,7 +1291,9 @@ } mmc->ops = &meson_mmc_ops; - mmc_add_host(mmc); + ret = mmc_add_host(mmc); + if (ret) + goto err_free_irq; return 0; --- linux-gcp-5.19.0.orig/drivers/mmc/host/mmc_hsq.c +++ linux-gcp-5.19.0/drivers/mmc/host/mmc_hsq.c @@ -34,7 +34,7 @@ spin_lock_irqsave(&hsq->lock, flags); /* Make sure we are not already running a request now */ - if (hsq->mrq) { + if (hsq->mrq || hsq->recovery_halt) { spin_unlock_irqrestore(&hsq->lock, flags); return; } --- linux-gcp-5.19.0.orig/drivers/mmc/host/mmc_spi.c +++ linux-gcp-5.19.0/drivers/mmc/host/mmc_spi.c @@ -1437,7 +1437,7 @@ status = mmc_add_host(mmc); if (status != 0) - goto fail_add_host; + goto fail_glue_init; /* * Index 0 is card detect @@ -1445,7 +1445,7 @@ */ status = mmc_gpiod_request_cd(mmc, NULL, 0, false, 1000); if (status == -EPROBE_DEFER) - goto fail_add_host; + goto fail_gpiod_request; if (!status) { /* * The platform has a CD GPIO signal that may support @@ -1460,7 +1460,7 @@ /* Index 1 is write protect/read only */ status = mmc_gpiod_request_ro(mmc, NULL, 1, 0); if (status == -EPROBE_DEFER) - goto fail_add_host; + goto fail_gpiod_request; if (!status) has_ro = true; @@ -1474,7 +1474,7 @@ ? ", cd polling" : ""); return 0; -fail_add_host: +fail_gpiod_request: mmc_remove_host(mmc); fail_glue_init: mmc_spi_dma_free(host); --- linux-gcp-5.19.0.orig/drivers/mmc/host/mmci.c +++ linux-gcp-5.19.0/drivers/mmc/host/mmci.c @@ -2256,7 +2256,9 @@ pm_runtime_set_autosuspend_delay(&dev->dev, 50); pm_runtime_use_autosuspend(&dev->dev); - mmc_add_host(mmc); + ret = mmc_add_host(mmc); + if (ret) + goto clk_disable; pm_runtime_put(&dev->dev); return 0; --- linux-gcp-5.19.0.orig/drivers/mmc/host/moxart-mmc.c +++ linux-gcp-5.19.0/drivers/mmc/host/moxart-mmc.c @@ -111,8 +111,8 @@ #define CLK_DIV_MASK 0x7f /* REG_BUS_WIDTH */ -#define BUS_WIDTH_8 BIT(2) -#define BUS_WIDTH_4 BIT(1) +#define BUS_WIDTH_4_SUPPORT BIT(3) +#define BUS_WIDTH_4 BIT(2) #define BUS_WIDTH_1 BIT(0) #define MMC_VDD_360 23 @@ -524,9 +524,6 @@ case MMC_BUS_WIDTH_4: writel(BUS_WIDTH_4, host->base + REG_BUS_WIDTH); break; - case MMC_BUS_WIDTH_8: - writel(BUS_WIDTH_8, host->base + REG_BUS_WIDTH); - break; default: writel(BUS_WIDTH_1, host->base + REG_BUS_WIDTH); break; @@ -651,16 +648,8 @@ dmaengine_slave_config(host->dma_chan_rx, &cfg); } - switch ((readl(host->base + REG_BUS_WIDTH) >> 3) & 3) { - case 1: + if (readl(host->base + REG_BUS_WIDTH) & BUS_WIDTH_4_SUPPORT) mmc->caps |= MMC_CAP_4_BIT_DATA; - break; - case 2: - mmc->caps |= MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA; - break; - default: - break; - } writel(0, host->base + REG_INTERRUPT_MASK); @@ -676,7 +665,9 @@ goto out; dev_set_drvdata(dev, mmc); - mmc_add_host(mmc); + ret = mmc_add_host(mmc); + if (ret) + goto out; dev_dbg(dev, "IRQ=%d, FIFO is %d bytes\n", irq, host->fifo_width); --- linux-gcp-5.19.0.orig/drivers/mmc/host/mtk-sd.c +++ linux-gcp-5.19.0/drivers/mmc/host/mtk-sd.c @@ -2414,6 +2414,9 @@ /* disable busy check */ sdr_clr_bits(host->base + MSDC_PATCH_BIT1, MSDC_PB1_BUSY_CHECK_SEL); + val = readl(host->base + MSDC_INT); + writel(val, host->base + MSDC_INT); + if (recovery) { sdr_set_field(host->base + MSDC_DMA_CTRL, MSDC_DMA_CTRL_STOP, 1); @@ -2538,13 +2541,11 @@ return PTR_ERR(host->src_clk_cg); } - host->sys_clk_cg = devm_clk_get_optional(&pdev->dev, "sys_cg"); + /* If present, always enable for this clock gate */ + host->sys_clk_cg = devm_clk_get_optional_enabled(&pdev->dev, "sys_cg"); if (IS_ERR(host->sys_clk_cg)) host->sys_clk_cg = NULL; - /* If present, always enable for this clock gate */ - clk_prepare_enable(host->sys_clk_cg); - host->bulk_clks[0].id = "pclk_cg"; host->bulk_clks[1].id = "axi_cg"; host->bulk_clks[2].id = "ahb_cg"; @@ -2871,11 +2872,14 @@ { struct mmc_host *mmc = dev_get_drvdata(dev); int ret; + u32 val; if (mmc->caps2 & MMC_CAP2_CQE) { ret = cqhci_suspend(mmc); if (ret) return ret; + val = readl(((struct msdc_host *)mmc_priv(mmc))->base + MSDC_INT); + writel(val, ((struct msdc_host *)mmc_priv(mmc))->base + MSDC_INT); } return pm_runtime_force_suspend(dev); --- linux-gcp-5.19.0.orig/drivers/mmc/host/mxcmmc.c +++ linux-gcp-5.19.0/drivers/mmc/host/mxcmmc.c @@ -1025,7 +1025,7 @@ mmc->max_req_size = mmc->max_blk_size * mmc->max_blk_count; mmc->max_seg_size = mmc->max_req_size; - host->devtype = (enum mxcmci_type)of_device_get_match_data(&pdev->dev); + host->devtype = (uintptr_t)of_device_get_match_data(&pdev->dev); /* adjust max_segs after devtype detection */ if (!is_mpc512x_mmc(host)) @@ -1143,7 +1143,9 @@ timer_setup(&host->watchdog, mxcmci_watchdog, 0); - mmc_add_host(mmc); + ret = mmc_add_host(mmc); + if (ret) + goto out_free_dma; return 0; --- linux-gcp-5.19.0.orig/drivers/mmc/host/omap_hsmmc.c +++ linux-gcp-5.19.0/drivers/mmc/host/omap_hsmmc.c @@ -1946,7 +1946,9 @@ if (!ret) mmc->caps |= MMC_CAP_SDIO_IRQ; - mmc_add_host(mmc); + ret = mmc_add_host(mmc); + if (ret) + goto err_irq; if (mmc_pdata(host)->name != NULL) { ret = device_create_file(&mmc->class_dev, &dev_attr_slot_name); --- linux-gcp-5.19.0.orig/drivers/mmc/host/pxamci.c +++ linux-gcp-5.19.0/drivers/mmc/host/pxamci.c @@ -648,7 +648,7 @@ ret = pxamci_of_init(pdev, mmc); if (ret) - return ret; + goto out; host = mmc_priv(mmc); host->mmc = mmc; @@ -672,7 +672,7 @@ ret = pxamci_init_ocr(host); if (ret < 0) - return ret; + goto out; mmc->caps = 0; host->cmdat = 0; @@ -763,7 +763,12 @@ dev_warn(dev, "gpio_ro and get_ro() both defined\n"); } - mmc_add_host(mmc); + ret = mmc_add_host(mmc); + if (ret) { + if (host->pdata && host->pdata->exit) + host->pdata->exit(dev, mmc); + goto out; + } return 0; --- linux-gcp-5.19.0.orig/drivers/mmc/host/renesas_sdhi.h +++ linux-gcp-5.19.0/drivers/mmc/host/renesas_sdhi.h @@ -43,6 +43,7 @@ bool hs400_4taps; bool fixed_addr_mode; bool dma_one_rx_only; + bool manual_tap_correction; u32 hs400_bad_taps; const u8 (*hs400_calib_table)[SDHI_CALIB_TABLE_MAX]; }; --- linux-gcp-5.19.0.orig/drivers/mmc/host/renesas_sdhi_core.c +++ linux-gcp-5.19.0/drivers/mmc/host/renesas_sdhi_core.c @@ -49,9 +49,6 @@ #define HOST_MODE_GEN3_32BIT (HOST_MODE_GEN3_WMODE | HOST_MODE_GEN3_BUSWIDTH) #define HOST_MODE_GEN3_64BIT 0 -#define CTL_SDIF_MODE 0xe6 -#define SDIF_MODE_HS400 BIT(0) - #define SDHI_VER_GEN2_SDR50 0x490c #define SDHI_VER_RZ_A1 0x820b /* very old datasheets said 0x490c for SDR104, too. They are wrong! */ @@ -131,6 +128,7 @@ struct clk *ref_clk = priv->clk; unsigned int freq, diff, best_freq = 0, diff_min = ~0; unsigned int new_clock, clkh_shift = 0; + unsigned int new_upper_limit; int i; /* @@ -156,13 +154,20 @@ * greater than, new_clock. As we can divide by 1 << i for * any i in [0, 9] we want the input clock to be as close as * possible, but no greater than, new_clock << i. + * + * Add an upper limit of 1/1024 rate higher to the clock rate to fix + * clk rate jumping to lower rate due to rounding error (eg: RZ/G2L has + * 3 clk sources 533.333333 MHz, 400 MHz and 266.666666 MHz. The request + * for 533.333333 MHz will selects a slower 400 MHz due to rounding + * error (533333333 Hz / 4 * 4 = 533333332 Hz < 533333333 Hz)). */ for (i = min(9, ilog2(UINT_MAX / new_clock)); i >= 0; i--) { freq = clk_round_rate(ref_clk, new_clock << i); - if (freq > (new_clock << i)) { + new_upper_limit = (new_clock << i) + ((new_clock << i) >> 10); + if (freq > new_upper_limit) { /* Too fast; look for a slightly slower option */ freq = clk_round_rate(ref_clk, (new_clock << i) / 4 * 3); - if (freq > (new_clock << i)) + if (freq > new_upper_limit) continue; } @@ -184,6 +189,7 @@ static void renesas_sdhi_set_clock(struct tmio_mmc_host *host, unsigned int new_clock) { + unsigned int clk_margin; u32 clk = 0, clock; sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, ~CLK_CTL_SCLKEN & @@ -197,7 +203,13 @@ host->mmc->actual_clock = renesas_sdhi_clk_update(host, new_clock); clock = host->mmc->actual_clock / 512; - for (clk = 0x80000080; new_clock >= (clock << 1); clk >>= 1) + /* + * Add a margin of 1/1024 rate higher to the clock rate in order + * to avoid clk variable setting a value of 0 due to the margin + * provided for actual_clock in renesas_sdhi_clk_update(). + */ + clk_margin = new_clock >> 10; + for (clk = 0x80000080; new_clock + clk_margin >= (clock << 1); clk >>= 1) clock <<= 1; /* 1/1 clock is option */ @@ -383,8 +395,7 @@ sd_scc_write32(host, priv, SH_MOBILE_SDHI_SCC_DT2FF, priv->scc_tappos_hs400); - /* Gen3 can't do automatic tap correction with HS400, so disable it */ - if (sd_ctrl_read16(host, CTL_VERSION) == SDHI_VER_GEN3_SDMMC) + if (priv->quirks && priv->quirks->manual_tap_correction) sd_scc_write32(host, priv, SH_MOBILE_SDHI_SCC_RVSCNTL, ~SH_MOBILE_SDHI_SCC_RVSCNTL_RVSEN & sd_scc_read32(host, priv, SH_MOBILE_SDHI_SCC_RVSCNTL)); @@ -535,7 +546,7 @@ SH_MOBILE_SDHI_SCC_TMPPORT2_HS400OSEL) & sd_scc_read32(host, priv, SH_MOBILE_SDHI_SCC_TMPPORT2)); - if (priv->adjust_hs400_calib_table) + if (priv->quirks && (priv->quirks->hs400_calib_table || priv->quirks->hs400_bad_taps)) renesas_sdhi_adjust_hs400_mode_disable(host); sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, CLK_CTL_SCLKEN | @@ -562,23 +573,25 @@ } /* only populated for TMIO_MMC_MIN_RCAR2 */ -static void renesas_sdhi_reset(struct tmio_mmc_host *host) +static void renesas_sdhi_reset(struct tmio_mmc_host *host, bool preserve) { struct renesas_sdhi *priv = host_to_priv(host); int ret; u16 val; - if (priv->rstc) { - reset_control_reset(priv->rstc); - /* Unknown why but without polling reset status, it will hang */ - read_poll_timeout(reset_control_status, ret, ret == 0, 1, 100, - false, priv->rstc); - /* At least SDHI_VER_GEN2_SDR50 needs manual release of reset */ - sd_ctrl_write16(host, CTL_RESET_SD, 0x0001); - priv->needs_adjust_hs400 = false; - renesas_sdhi_set_clock(host, host->clk_cache); - } else if (priv->scc_ctl) { - renesas_sdhi_scc_reset(host, priv); + if (!preserve) { + if (priv->rstc) { + reset_control_reset(priv->rstc); + /* Unknown why but without polling reset status, it will hang */ + read_poll_timeout(reset_control_status, ret, ret == 0, 1, 100, + false, priv->rstc); + /* At least SDHI_VER_GEN2_SDR50 needs manual release of reset */ + sd_ctrl_write16(host, CTL_RESET_SD, 0x0001); + priv->needs_adjust_hs400 = false; + renesas_sdhi_set_clock(host, host->clk_cache); + } else if (priv->scc_ctl) { + renesas_sdhi_scc_reset(host, priv); + } } if (sd_ctrl_read16(host, CTL_VERSION) >= SDHI_VER_GEN3_SD) { @@ -719,7 +732,7 @@ sd_scc_write32(host, priv, SH_MOBILE_SDHI_SCC_RVSREQ, 0); /* Change TAP position according to correction status */ - if (sd_ctrl_read16(host, CTL_VERSION) == SDHI_VER_GEN3_SDMMC && + if (priv->quirks && priv->quirks->manual_tap_correction && host->mmc->ios.timing == MMC_TIMING_MMC_HS400) { u32 bad_taps = priv->quirks ? priv->quirks->hs400_bad_taps : 0; /* @@ -938,6 +951,10 @@ if (IS_ERR(priv->clk_cd)) return dev_err_probe(&pdev->dev, PTR_ERR(priv->clk_cd), "cannot get cd clock"); + priv->rstc = devm_reset_control_get_optional_exclusive(&pdev->dev, NULL); + if (IS_ERR(priv->rstc)) + return PTR_ERR(priv->rstc); + priv->pinctrl = devm_pinctrl_get(&pdev->dev); if (!IS_ERR(priv->pinctrl)) { priv->pins_default = pinctrl_lookup_state(priv->pinctrl, @@ -1030,10 +1047,6 @@ if (ret) goto efree; - priv->rstc = devm_reset_control_get_optional_exclusive(&pdev->dev, NULL); - if (IS_ERR(priv->rstc)) - return PTR_ERR(priv->rstc); - ver = sd_ctrl_read16(host, CTL_VERSION); /* GEN2_SDR104 is first known SDHI to use 32bit block count */ if (ver < SDHI_VER_GEN2_SDR104 && mmc_data->max_blk_count > U16_MAX) @@ -1055,11 +1068,14 @@ if (ver >= SDHI_VER_GEN3_SD) host->get_timeout_cycles = renesas_sdhi_gen3_get_cycles; + /* Check for SCC so we can reset it if needed */ + if (of_data && of_data->scc_offset && ver >= SDHI_VER_GEN2_SDR104) + priv->scc_ctl = host->ctl + of_data->scc_offset; + /* Enable tuning iff we have an SCC and a supported mode */ - if (of_data && of_data->scc_offset && - (host->mmc->caps & MMC_CAP_UHS_SDR104 || - host->mmc->caps2 & (MMC_CAP2_HS200_1_8V_SDR | - MMC_CAP2_HS400_1_8V))) { + if (priv->scc_ctl && (host->mmc->caps & MMC_CAP_UHS_SDR104 || + host->mmc->caps2 & (MMC_CAP2_HS200_1_8V_SDR | + MMC_CAP2_HS400_1_8V))) { const struct renesas_sdhi_scc *taps = of_data->taps; bool use_4tap = quirks && quirks->hs400_4taps; bool hit = false; @@ -1079,7 +1095,6 @@ if (!hit) dev_warn(&host->pdev->dev, "Unknown clock rate for tuning\n"); - priv->scc_ctl = host->ctl + of_data->scc_offset; host->check_retune = renesas_sdhi_check_scc_error; host->ops.execute_tuning = renesas_sdhi_execute_tuning; host->ops.prepare_hs400_tuning = renesas_sdhi_prepare_hs400_tuning; --- linux-gcp-5.19.0.orig/drivers/mmc/host/renesas_sdhi_internal_dmac.c +++ linux-gcp-5.19.0/drivers/mmc/host/renesas_sdhi_internal_dmac.c @@ -170,6 +170,7 @@ static const struct renesas_sdhi_quirks sdhi_quirks_4tap = { .hs400_4taps = true, .hs400_bad_taps = BIT(2) | BIT(3) | BIT(6) | BIT(7), + .manual_tap_correction = true, }; static const struct renesas_sdhi_quirks sdhi_quirks_nohs400 = { @@ -182,25 +183,30 @@ static const struct renesas_sdhi_quirks sdhi_quirks_bad_taps1357 = { .hs400_bad_taps = BIT(1) | BIT(3) | BIT(5) | BIT(7), + .manual_tap_correction = true, }; static const struct renesas_sdhi_quirks sdhi_quirks_bad_taps2367 = { .hs400_bad_taps = BIT(2) | BIT(3) | BIT(6) | BIT(7), + .manual_tap_correction = true, }; static const struct renesas_sdhi_quirks sdhi_quirks_r8a7796_es13 = { .hs400_4taps = true, .hs400_bad_taps = BIT(2) | BIT(3) | BIT(6) | BIT(7), .hs400_calib_table = r8a7796_es13_calib_table, + .manual_tap_correction = true, }; static const struct renesas_sdhi_quirks sdhi_quirks_r8a77965 = { .hs400_bad_taps = BIT(2) | BIT(3) | BIT(6) | BIT(7), .hs400_calib_table = r8a77965_calib_table, + .manual_tap_correction = true, }; static const struct renesas_sdhi_quirks sdhi_quirks_r8a77990 = { .hs400_calib_table = r8a77990_calib_table, + .manual_tap_correction = true, }; /* --- linux-gcp-5.19.0.orig/drivers/mmc/host/rtsx_pci_sdmmc.c +++ linux-gcp-5.19.0/drivers/mmc/host/rtsx_pci_sdmmc.c @@ -1474,6 +1474,7 @@ struct realtek_pci_sdmmc *host; struct rtsx_pcr *pcr; struct pcr_handle *handle = pdev->dev.platform_data; + int ret; if (!handle) return -ENXIO; @@ -1511,7 +1512,13 @@ pm_runtime_mark_last_busy(&pdev->dev); pm_runtime_use_autosuspend(&pdev->dev); - mmc_add_host(mmc); + ret = mmc_add_host(mmc); + if (ret) { + pm_runtime_dont_use_autosuspend(&pdev->dev); + pm_runtime_disable(&pdev->dev); + mmc_free_host(mmc); + return ret; + } return 0; } --- linux-gcp-5.19.0.orig/drivers/mmc/host/rtsx_usb_sdmmc.c +++ linux-gcp-5.19.0/drivers/mmc/host/rtsx_usb_sdmmc.c @@ -1332,6 +1332,7 @@ #ifdef RTSX_USB_USE_LEDS_CLASS int err; #endif + int ret; ucr = usb_get_intfdata(to_usb_interface(pdev->dev.parent)); if (!ucr) @@ -1368,7 +1369,15 @@ INIT_WORK(&host->led_work, rtsx_usb_update_led); #endif - mmc_add_host(mmc); + ret = mmc_add_host(mmc); + if (ret) { +#ifdef RTSX_USB_USE_LEDS_CLASS + led_classdev_unregister(&host->led); +#endif + mmc_free_host(mmc); + pm_runtime_disable(&pdev->dev); + return ret; + } return 0; } --- linux-gcp-5.19.0.orig/drivers/mmc/host/sdhci-brcmstb.c +++ linux-gcp-5.19.0/drivers/mmc/host/sdhci-brcmstb.c @@ -12,6 +12,7 @@ #include #include +#include "sdhci-cqhci.h" #include "sdhci-pltfm.h" #include "cqhci.h" @@ -53,7 +54,7 @@ struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct sdhci_brcmstb_priv *priv = sdhci_pltfm_priv(pltfm_host); - sdhci_reset(host, mask); + sdhci_and_cqhci_reset(host, mask); /* Reset will clear this, so re-enable it */ if (priv->flags & BRCMSTB_PRIV_FLAGS_GATE_CLOCK) --- linux-gcp-5.19.0.orig/drivers/mmc/host/sdhci-cqhci.h +++ linux-gcp-5.19.0/drivers/mmc/host/sdhci-cqhci.h @@ -0,0 +1,24 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright 2022 The Chromium OS Authors + * + * Support that applies to the combination of SDHCI and CQHCI, while not + * expressing a dependency between the two modules. + */ + +#ifndef __MMC_HOST_SDHCI_CQHCI_H__ +#define __MMC_HOST_SDHCI_CQHCI_H__ + +#include "cqhci.h" +#include "sdhci.h" + +static inline void sdhci_and_cqhci_reset(struct sdhci_host *host, u8 mask) +{ + if ((host->mmc->caps2 & MMC_CAP2_CQE) && (mask & SDHCI_RESET_ALL) && + host->mmc->cqe_private) + cqhci_deactivate(host->mmc); + + sdhci_reset(host, mask); +} + +#endif /* __MMC_HOST_SDHCI_CQHCI_H__ */ --- linux-gcp-5.19.0.orig/drivers/mmc/host/sdhci-esdhc-imx.c +++ linux-gcp-5.19.0/drivers/mmc/host/sdhci-esdhc-imx.c @@ -25,6 +25,7 @@ #include #include #include +#include "sdhci-cqhci.h" #include "sdhci-pltfm.h" #include "sdhci-esdhc.h" #include "cqhci.h" @@ -106,6 +107,7 @@ #define ESDHC_TUNING_START_TAP_DEFAULT 0x1 #define ESDHC_TUNING_START_TAP_MASK 0x7f #define ESDHC_TUNING_CMD_CRC_CHECK_DISABLE (1 << 7) +#define ESDHC_TUNING_STEP_DEFAULT 0x1 #define ESDHC_TUNING_STEP_MASK 0x00070000 #define ESDHC_TUNING_STEP_SHIFT 16 @@ -1288,7 +1290,7 @@ static void esdhc_reset(struct sdhci_host *host, u8 mask) { - sdhci_reset(host, mask); + sdhci_and_cqhci_reset(host, mask); sdhci_writel(host, host->ier, SDHCI_INT_ENABLE); sdhci_writel(host, host->ier, SDHCI_SIGNAL_ENABLE); @@ -1360,7 +1362,7 @@ struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct pltfm_imx_data *imx_data = sdhci_pltfm_priv(pltfm_host); struct cqhci_host *cq_host = host->mmc->cqe_private; - int tmp; + u32 tmp; if (esdhc_is_usdhc(imx_data)) { /* @@ -1415,17 +1417,24 @@ if (imx_data->socdata->flags & ESDHC_FLAG_STD_TUNING) { tmp = readl(host->ioaddr + ESDHC_TUNING_CTRL); - tmp |= ESDHC_STD_TUNING_EN | - ESDHC_TUNING_START_TAP_DEFAULT; - if (imx_data->boarddata.tuning_start_tap) { - tmp &= ~ESDHC_TUNING_START_TAP_MASK; + tmp |= ESDHC_STD_TUNING_EN; + + /* + * ROM code or bootloader may config the start tap + * and step, unmask them first. + */ + tmp &= ~(ESDHC_TUNING_START_TAP_MASK | ESDHC_TUNING_STEP_MASK); + if (imx_data->boarddata.tuning_start_tap) tmp |= imx_data->boarddata.tuning_start_tap; - } + else + tmp |= ESDHC_TUNING_START_TAP_DEFAULT; if (imx_data->boarddata.tuning_step) { - tmp &= ~ESDHC_TUNING_STEP_MASK; tmp |= imx_data->boarddata.tuning_step << ESDHC_TUNING_STEP_SHIFT; + } else { + tmp |= ESDHC_TUNING_STEP_DEFAULT + << ESDHC_TUNING_STEP_SHIFT; } /* Disable the CMD CRC check for tuning, if not, need to @@ -1511,7 +1520,7 @@ * system resume back. */ cqhci_writel(cq_host, 0, CQHCI_CTL); - if (cqhci_readl(cq_host, CQHCI_CTL) && CQHCI_HALT) + if (cqhci_readl(cq_host, CQHCI_CTL) & CQHCI_HALT) dev_err(mmc_dev(host->mmc), "failed to exit halt state when enable CQE\n"); @@ -1660,6 +1669,10 @@ host->mmc_host_ops.execute_tuning = usdhc_execute_tuning; } + err = sdhci_esdhc_imx_probe_dt(pdev, host, imx_data); + if (err) + goto disable_ahb_clk; + if (imx_data->socdata->flags & ESDHC_FLAG_MAN_TUNING) sdhci_esdhc_ops.platform_execute_tuning = esdhc_executing_tuning; @@ -1667,13 +1680,15 @@ if (imx_data->socdata->flags & ESDHC_FLAG_ERR004536) host->quirks |= SDHCI_QUIRK_BROKEN_ADMA; - if (imx_data->socdata->flags & ESDHC_FLAG_HS400) + if (host->mmc->caps & MMC_CAP_8_BIT_DATA && + imx_data->socdata->flags & ESDHC_FLAG_HS400) host->mmc->caps2 |= MMC_CAP2_HS400; if (imx_data->socdata->flags & ESDHC_FLAG_BROKEN_AUTO_CMD23) host->quirks2 |= SDHCI_QUIRK2_ACMD23_BROKEN; - if (imx_data->socdata->flags & ESDHC_FLAG_HS400_ES) { + if (host->mmc->caps & MMC_CAP_8_BIT_DATA && + imx_data->socdata->flags & ESDHC_FLAG_HS400_ES) { host->mmc->caps2 |= MMC_CAP2_HS400_ES; host->mmc_host_ops.hs400_enhanced_strobe = esdhc_hs400_enhanced_strobe; @@ -1695,10 +1710,6 @@ goto disable_ahb_clk; } - err = sdhci_esdhc_imx_probe_dt(pdev, host, imx_data); - if (err) - goto disable_ahb_clk; - sdhci_esdhc_imx_hwinit(host); err = sdhci_add_host(host); --- linux-gcp-5.19.0.orig/drivers/mmc/host/sdhci-msm.c +++ linux-gcp-5.19.0/drivers/mmc/host/sdhci-msm.c @@ -2462,6 +2462,7 @@ {.compatible = "qcom,sm8250-sdhci", .data = &sdhci_msm_v5_var}, {.compatible = "qcom,sc7280-sdhci", .data = &sdhci_msm_v5_var}, /* Add entries where soc specific handling is required, here */ + {.compatible = "qcom,sdm670-sdhci", .data = &sdm845_sdhci_var}, {.compatible = "qcom,sdm845-sdhci", .data = &sdm845_sdhci_var}, {.compatible = "qcom,sc7180-sdhci", .data = &sdm845_sdhci_var}, {}, --- linux-gcp-5.19.0.orig/drivers/mmc/host/sdhci-of-arasan.c +++ linux-gcp-5.19.0/drivers/mmc/host/sdhci-of-arasan.c @@ -25,6 +25,7 @@ #include #include "cqhci.h" +#include "sdhci-cqhci.h" #include "sdhci-pltfm.h" #define SDHCI_ARASAN_VENDOR_REGISTER 0x78 @@ -366,7 +367,7 @@ struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct sdhci_arasan_data *sdhci_arasan = sdhci_pltfm_priv(pltfm_host); - sdhci_reset(host, mask); + sdhci_and_cqhci_reset(host, mask); if (sdhci_arasan->quirks & SDHCI_ARASAN_QUIRK_FORCE_CDTEST) { ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL); --- linux-gcp-5.19.0.orig/drivers/mmc/host/sdhci-of-at91.c +++ linux-gcp-5.19.0/drivers/mmc/host/sdhci-of-at91.c @@ -100,8 +100,13 @@ static void sdhci_at91_set_uhs_signaling(struct sdhci_host *host, unsigned int timing) { - if (timing == MMC_TIMING_MMC_DDR52) - sdhci_writeb(host, SDMMC_MC1R_DDR, SDMMC_MC1R); + u8 mc1r; + + if (timing == MMC_TIMING_MMC_DDR52) { + mc1r = sdhci_readb(host, SDMMC_MC1R); + mc1r |= SDMMC_MC1R_DDR; + sdhci_writeb(host, mc1r, SDMMC_MC1R); + } sdhci_set_uhs_signaling(host, timing); } --- linux-gcp-5.19.0.orig/drivers/mmc/host/sdhci-of-dwcmshc.c +++ linux-gcp-5.19.0/drivers/mmc/host/sdhci-of-dwcmshc.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include "sdhci-pltfm.h" @@ -55,14 +56,15 @@ #define DLL_LOCK_WO_TMOUT(x) \ ((((x) & DWCMSHC_EMMC_DLL_LOCKED) == DWCMSHC_EMMC_DLL_LOCKED) && \ (((x) & DWCMSHC_EMMC_DLL_TIMEOUT) == 0)) -#define RK3568_MAX_CLKS 3 +#define RK35xx_MAX_CLKS 3 #define BOUNDARY_OK(addr, len) \ ((addr | (SZ_128M - 1)) == ((addr + len - 1) | (SZ_128M - 1))) -struct rk3568_priv { +struct rk35xx_priv { /* Rockchip specified optional clocks */ - struct clk_bulk_data rockchip_clks[RK3568_MAX_CLKS]; + struct clk_bulk_data rockchip_clks[RK35xx_MAX_CLKS]; + struct reset_control *reset; u8 txclk_tapnum; }; @@ -176,7 +178,7 @@ { struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct dwcmshc_priv *dwc_priv = sdhci_pltfm_priv(pltfm_host); - struct rk3568_priv *priv = dwc_priv->priv; + struct rk35xx_priv *priv = dwc_priv->priv; u8 txclk_tapnum = DLL_TXCLK_TAPNUM_DEFAULT; u32 extra, reg; int err; @@ -255,6 +257,21 @@ sdhci_writel(host, extra, DWCMSHC_EMMC_DLL_STRBIN); } +static void rk35xx_sdhci_reset(struct sdhci_host *host, u8 mask) +{ + struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); + struct dwcmshc_priv *dwc_priv = sdhci_pltfm_priv(pltfm_host); + struct rk35xx_priv *priv = dwc_priv->priv; + + if (mask & SDHCI_RESET_ALL && priv->reset) { + reset_control_assert(priv->reset); + udelay(1); + reset_control_deassert(priv->reset); + } + + sdhci_reset(host, mask); +} + static const struct sdhci_ops sdhci_dwcmshc_ops = { .set_clock = sdhci_set_clock, .set_bus_width = sdhci_set_bus_width, @@ -264,12 +281,12 @@ .adma_write_desc = dwcmshc_adma_write_desc, }; -static const struct sdhci_ops sdhci_dwcmshc_rk3568_ops = { +static const struct sdhci_ops sdhci_dwcmshc_rk35xx_ops = { .set_clock = dwcmshc_rk3568_set_clock, .set_bus_width = sdhci_set_bus_width, .set_uhs_signaling = dwcmshc_set_uhs_signaling, .get_max_clock = sdhci_pltfm_clk_get_max_clock, - .reset = sdhci_reset, + .reset = rk35xx_sdhci_reset, .adma_write_desc = dwcmshc_adma_write_desc, }; @@ -279,30 +296,46 @@ .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN, }; -static const struct sdhci_pltfm_data sdhci_dwcmshc_rk3568_pdata = { - .ops = &sdhci_dwcmshc_rk3568_ops, +#ifdef CONFIG_ACPI +static const struct sdhci_pltfm_data sdhci_dwcmshc_bf3_pdata = { + .ops = &sdhci_dwcmshc_ops, + .quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN, + .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN | + SDHCI_QUIRK2_ACMD23_BROKEN, +}; +#endif + +static const struct sdhci_pltfm_data sdhci_dwcmshc_rk35xx_pdata = { + .ops = &sdhci_dwcmshc_rk35xx_ops, .quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN | SDHCI_QUIRK_BROKEN_TIMEOUT_VAL, .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN | SDHCI_QUIRK2_CLOCK_DIV_ZERO_BROKEN, }; -static int dwcmshc_rk3568_init(struct sdhci_host *host, struct dwcmshc_priv *dwc_priv) +static int dwcmshc_rk35xx_init(struct sdhci_host *host, struct dwcmshc_priv *dwc_priv) { int err; - struct rk3568_priv *priv = dwc_priv->priv; + struct rk35xx_priv *priv = dwc_priv->priv; + + priv->reset = devm_reset_control_array_get_optional_exclusive(mmc_dev(host->mmc)); + if (IS_ERR(priv->reset)) { + err = PTR_ERR(priv->reset); + dev_err(mmc_dev(host->mmc), "failed to get reset control %d\n", err); + return err; + } priv->rockchip_clks[0].id = "axi"; priv->rockchip_clks[1].id = "block"; priv->rockchip_clks[2].id = "timer"; - err = devm_clk_bulk_get_optional(mmc_dev(host->mmc), RK3568_MAX_CLKS, + err = devm_clk_bulk_get_optional(mmc_dev(host->mmc), RK35xx_MAX_CLKS, priv->rockchip_clks); if (err) { dev_err(mmc_dev(host->mmc), "failed to get clocks %d\n", err); return err; } - err = clk_bulk_prepare_enable(RK3568_MAX_CLKS, priv->rockchip_clks); + err = clk_bulk_prepare_enable(RK35xx_MAX_CLKS, priv->rockchip_clks); if (err) { dev_err(mmc_dev(host->mmc), "failed to enable clocks %d\n", err); return err; @@ -324,7 +357,7 @@ static const struct of_device_id sdhci_dwcmshc_dt_ids[] = { { .compatible = "rockchip,rk3568-dwcmshc", - .data = &sdhci_dwcmshc_rk3568_pdata, + .data = &sdhci_dwcmshc_rk35xx_pdata, }, { .compatible = "snps,dwcmshc-sdhci", @@ -336,7 +369,10 @@ #ifdef CONFIG_ACPI static const struct acpi_device_id sdhci_dwcmshc_acpi_ids[] = { - { .id = "MLNXBF30" }, + { + .id = "MLNXBF30", + .driver_data = (kernel_ulong_t)&sdhci_dwcmshc_bf3_pdata, + }, {} }; #endif @@ -347,12 +383,12 @@ struct sdhci_pltfm_host *pltfm_host; struct sdhci_host *host; struct dwcmshc_priv *priv; - struct rk3568_priv *rk_priv = NULL; + struct rk35xx_priv *rk_priv = NULL; const struct sdhci_pltfm_data *pltfm_data; int err; u32 extra; - pltfm_data = of_device_get_match_data(&pdev->dev); + pltfm_data = device_get_match_data(&pdev->dev); if (!pltfm_data) { dev_err(&pdev->dev, "Error: No device match data found\n"); return -ENODEV; @@ -402,8 +438,8 @@ host->mmc_host_ops.request = dwcmshc_request; host->mmc_host_ops.hs400_enhanced_strobe = dwcmshc_hs400_enhanced_strobe; - if (pltfm_data == &sdhci_dwcmshc_rk3568_pdata) { - rk_priv = devm_kzalloc(&pdev->dev, sizeof(struct rk3568_priv), GFP_KERNEL); + if (pltfm_data == &sdhci_dwcmshc_rk35xx_pdata) { + rk_priv = devm_kzalloc(&pdev->dev, sizeof(struct rk35xx_priv), GFP_KERNEL); if (!rk_priv) { err = -ENOMEM; goto err_clk; @@ -411,7 +447,7 @@ priv->priv = rk_priv; - err = dwcmshc_rk3568_init(host, priv); + err = dwcmshc_rk35xx_init(host, priv); if (err) goto err_clk; } @@ -428,7 +464,7 @@ clk_disable_unprepare(pltfm_host->clk); clk_disable_unprepare(priv->bus_clk); if (rk_priv) - clk_bulk_disable_unprepare(RK3568_MAX_CLKS, + clk_bulk_disable_unprepare(RK35xx_MAX_CLKS, rk_priv->rockchip_clks); free_pltfm: sdhci_pltfm_free(pdev); @@ -440,14 +476,14 @@ struct sdhci_host *host = platform_get_drvdata(pdev); struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct dwcmshc_priv *priv = sdhci_pltfm_priv(pltfm_host); - struct rk3568_priv *rk_priv = priv->priv; + struct rk35xx_priv *rk_priv = priv->priv; sdhci_remove_host(host, 0); clk_disable_unprepare(pltfm_host->clk); clk_disable_unprepare(priv->bus_clk); if (rk_priv) - clk_bulk_disable_unprepare(RK3568_MAX_CLKS, + clk_bulk_disable_unprepare(RK35xx_MAX_CLKS, rk_priv->rockchip_clks); sdhci_pltfm_free(pdev); @@ -460,7 +496,7 @@ struct sdhci_host *host = dev_get_drvdata(dev); struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct dwcmshc_priv *priv = sdhci_pltfm_priv(pltfm_host); - struct rk3568_priv *rk_priv = priv->priv; + struct rk35xx_priv *rk_priv = priv->priv; int ret; ret = sdhci_suspend_host(host); @@ -472,7 +508,7 @@ clk_disable_unprepare(priv->bus_clk); if (rk_priv) - clk_bulk_disable_unprepare(RK3568_MAX_CLKS, + clk_bulk_disable_unprepare(RK35xx_MAX_CLKS, rk_priv->rockchip_clks); return ret; @@ -483,7 +519,7 @@ struct sdhci_host *host = dev_get_drvdata(dev); struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct dwcmshc_priv *priv = sdhci_pltfm_priv(pltfm_host); - struct rk3568_priv *rk_priv = priv->priv; + struct rk35xx_priv *rk_priv = priv->priv; int ret; ret = clk_prepare_enable(pltfm_host->clk); @@ -497,7 +533,7 @@ } if (rk_priv) { - ret = clk_bulk_prepare_enable(RK3568_MAX_CLKS, + ret = clk_bulk_prepare_enable(RK35xx_MAX_CLKS, rk_priv->rockchip_clks); if (ret) return ret; --- linux-gcp-5.19.0.orig/drivers/mmc/host/sdhci-of-esdhc.c +++ linux-gcp-5.19.0/drivers/mmc/host/sdhci-of-esdhc.c @@ -904,6 +904,7 @@ scfg_node = of_find_matching_node(NULL, scfg_device_ids); if (scfg_node) scfg_base = of_iomap(scfg_node, 0); + of_node_put(scfg_node); if (scfg_base) { sdhciovselcr = SDHCIOVSELCR_TGLEN | SDHCIOVSELCR_VSELVAL; --- linux-gcp-5.19.0.orig/drivers/mmc/host/sdhci-pci-core.c +++ linux-gcp-5.19.0/drivers/mmc/host/sdhci-pci-core.c @@ -893,6 +893,12 @@ dmi_match(DMI_SYS_VENDOR, "IRBIS")); } +static bool jsl_broken_hs400es(struct sdhci_pci_slot *slot) +{ + return slot->chip->pdev->device == PCI_DEVICE_ID_INTEL_JSL_EMMC && + dmi_match(DMI_BIOS_VENDOR, "ASUSTeK COMPUTER INC."); +} + static int glk_emmc_probe_slot(struct sdhci_pci_slot *slot) { int ret = byt_emmc_probe_slot(slot); @@ -901,9 +907,11 @@ slot->host->mmc->caps2 |= MMC_CAP2_CQE; if (slot->chip->pdev->device != PCI_DEVICE_ID_INTEL_GLK_EMMC) { - slot->host->mmc->caps2 |= MMC_CAP2_HS400_ES; - slot->host->mmc_host_ops.hs400_enhanced_strobe = - intel_hs400_enhanced_strobe; + if (!jsl_broken_hs400es(slot)) { + slot->host->mmc->caps2 |= MMC_CAP2_HS400_ES; + slot->host->mmc_host_ops.hs400_enhanced_strobe = + intel_hs400_enhanced_strobe; + } slot->host->mmc->caps2 |= MMC_CAP2_CQE_DCMD; } @@ -1725,6 +1733,8 @@ } } + pci_dev_put(smbus_dev); + if (gen == AMD_CHIPSET_BEFORE_ML || gen == AMD_CHIPSET_CZ) chip->quirks2 |= SDHCI_QUIRK2_CLEAR_TRANSFERMODE_REG_BEFORE_CMD; --- linux-gcp-5.19.0.orig/drivers/mmc/host/sdhci-pci-o2micro.c +++ linux-gcp-5.19.0/drivers/mmc/host/sdhci-pci-o2micro.c @@ -32,6 +32,7 @@ #define O2_SD_CAPS 0xE0 #define O2_SD_ADMA1 0xE2 #define O2_SD_ADMA2 0xE7 +#define O2_SD_MISC_CTRL2 0xF0 #define O2_SD_INF_MOD 0xF1 #define O2_SD_MISC_CTRL4 0xFC #define O2_SD_MISC_CTRL 0x1C0 @@ -874,6 +875,12 @@ /* Set Tuning Windows to 5 */ pci_write_config_byte(chip->pdev, O2_SD_TUNING_CTRL, 0x55); + //Adjust 1st and 2nd CD debounce time + pci_read_config_dword(chip->pdev, O2_SD_MISC_CTRL2, &scratch_32); + scratch_32 &= 0xFFE7FFFF; + scratch_32 |= 0x00180000; + pci_write_config_dword(chip->pdev, O2_SD_MISC_CTRL2, scratch_32); + pci_write_config_dword(chip->pdev, O2_SD_DETECT_SETTING, 1); /* Lock WP */ ret = pci_read_config_byte(chip->pdev, O2_SD_LOCK_WP, &scratch); --- linux-gcp-5.19.0.orig/drivers/mmc/host/sdhci-sprd.c +++ linux-gcp-5.19.0/drivers/mmc/host/sdhci-sprd.c @@ -228,13 +228,15 @@ div = ((div & 0x300) >> 2) | ((div & 0xFF) << 8); sdhci_enable_clk(host, div); - /* enable auto gate sdhc_enable_auto_gate */ - val = sdhci_readl(host, SDHCI_SPRD_REG_32_BUSY_POSI); - mask = SDHCI_SPRD_BIT_OUTR_CLK_AUTO_EN | - SDHCI_SPRD_BIT_INNR_CLK_AUTO_EN; - if (mask != (val & mask)) { - val |= mask; - sdhci_writel(host, val, SDHCI_SPRD_REG_32_BUSY_POSI); + /* Enable CLK_AUTO when the clock is greater than 400K. */ + if (clk > 400000) { + val = sdhci_readl(host, SDHCI_SPRD_REG_32_BUSY_POSI); + mask = SDHCI_SPRD_BIT_OUTR_CLK_AUTO_EN | + SDHCI_SPRD_BIT_INNR_CLK_AUTO_EN; + if (mask != (val & mask)) { + val |= mask; + sdhci_writel(host, val, SDHCI_SPRD_REG_32_BUSY_POSI); + } } } @@ -309,7 +311,7 @@ static unsigned int sdhci_sprd_get_min_clock(struct sdhci_host *host) { - return 400000; + return 100000; } static void sdhci_sprd_set_uhs_signaling(struct sdhci_host *host, @@ -470,7 +472,7 @@ } if (IS_ERR(sprd_host->pinctrl)) - return 0; + goto reset; switch (ios->signal_voltage) { case MMC_SIGNAL_VOLTAGE_180: @@ -498,6 +500,8 @@ /* Wait for 300 ~ 500 us for pin state stable */ usleep_range(300, 500); + +reset: sdhci_reset(host, SDHCI_RESET_CMD | SDHCI_RESET_DATA); return 0; --- linux-gcp-5.19.0.orig/drivers/mmc/host/sdhci-tegra.c +++ linux-gcp-5.19.0/drivers/mmc/host/sdhci-tegra.c @@ -28,6 +28,7 @@ #include +#include "sdhci-cqhci.h" #include "sdhci-pltfm.h" #include "cqhci.h" @@ -367,7 +368,7 @@ const struct sdhci_tegra_soc_data *soc_data = tegra_host->soc_data; u32 misc_ctrl, clk_ctrl, pad_ctrl; - sdhci_reset(host, mask); + sdhci_and_cqhci_reset(host, mask); if (!(mask & SDHCI_RESET_ALL)) return; @@ -773,7 +774,7 @@ dev_err(dev, "failed to set clk rate to %luHz: %d\n", host_clk, err); - tegra_host->curr_clk_rate = host_clk; + tegra_host->curr_clk_rate = clk_get_rate(pltfm_host->clk); if (tegra_host->ddr_signaling) host->max_clk = host_clk; else --- linux-gcp-5.19.0.orig/drivers/mmc/host/sdhci.c +++ linux-gcp-5.19.0/drivers/mmc/host/sdhci.c @@ -338,6 +338,7 @@ if (soft) { /* force clock reconfiguration */ host->clock = 0; + host->reinit_uhs = true; mmc->ops->set_ios(mmc, &mmc->ios); } } @@ -2254,11 +2255,46 @@ } EXPORT_SYMBOL_GPL(sdhci_set_uhs_signaling); +static bool sdhci_timing_has_preset(unsigned char timing) +{ + switch (timing) { + case MMC_TIMING_UHS_SDR12: + case MMC_TIMING_UHS_SDR25: + case MMC_TIMING_UHS_SDR50: + case MMC_TIMING_UHS_SDR104: + case MMC_TIMING_UHS_DDR50: + case MMC_TIMING_MMC_DDR52: + return true; + }; + return false; +} + +static bool sdhci_preset_needed(struct sdhci_host *host, unsigned char timing) +{ + return !(host->quirks2 & SDHCI_QUIRK2_PRESET_VALUE_BROKEN) && + sdhci_timing_has_preset(timing); +} + +static bool sdhci_presetable_values_change(struct sdhci_host *host, struct mmc_ios *ios) +{ + /* + * Preset Values are: Driver Strength, Clock Generator and SDCLK/RCLK + * Frequency. Check if preset values need to be enabled, or the Driver + * Strength needs updating. Note, clock changes are handled separately. + */ + return !host->preset_enabled && + (sdhci_preset_needed(host, ios->timing) || host->drv_type != ios->drv_type); +} + void sdhci_set_ios(struct mmc_host *mmc, struct mmc_ios *ios) { struct sdhci_host *host = mmc_priv(mmc); + bool reinit_uhs = host->reinit_uhs; + bool turning_on_clk = false; u8 ctrl; + host->reinit_uhs = false; + if (ios->power_mode == MMC_POWER_UNDEFINED) return; @@ -2284,6 +2320,8 @@ sdhci_enable_preset_value(host, false); if (!ios->clock || ios->clock != host->clock) { + turning_on_clk = ios->clock && !host->clock; + host->ops->set_clock(host, ios->clock); host->clock = ios->clock; @@ -2310,6 +2348,17 @@ host->ops->set_bus_width(host, ios->bus_width); + /* + * Special case to avoid multiple clock changes during voltage + * switching. + */ + if (!reinit_uhs && + turning_on_clk && + host->timing == ios->timing && + host->version >= SDHCI_SPEC_300 && + !sdhci_presetable_values_change(host, ios)) + return; + ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL); if (!(host->quirks & SDHCI_QUIRK_NO_HISPD_BIT)) { @@ -2353,6 +2402,7 @@ } sdhci_writew(host, ctrl_2, SDHCI_HOST_CONTROL2); + host->drv_type = ios->drv_type; } else { /* * According to SDHC Spec v3.00, if the Preset Value @@ -2380,19 +2430,14 @@ host->ops->set_uhs_signaling(host, ios->timing); host->timing = ios->timing; - if (!(host->quirks2 & SDHCI_QUIRK2_PRESET_VALUE_BROKEN) && - ((ios->timing == MMC_TIMING_UHS_SDR12) || - (ios->timing == MMC_TIMING_UHS_SDR25) || - (ios->timing == MMC_TIMING_UHS_SDR50) || - (ios->timing == MMC_TIMING_UHS_SDR104) || - (ios->timing == MMC_TIMING_UHS_DDR50) || - (ios->timing == MMC_TIMING_MMC_DDR52))) { + if (sdhci_preset_needed(host, ios->timing)) { u16 preset; sdhci_enable_preset_value(host, true); preset = sdhci_get_preset_value(host); ios->drv_type = FIELD_GET(SDHCI_PRESET_DRV_MASK, preset); + host->drv_type = ios->drv_type; } /* Re-enable SD Clock */ @@ -3727,6 +3772,7 @@ sdhci_init(host, 0); host->pwr = 0; host->clock = 0; + host->reinit_uhs = true; mmc->ops->set_ios(mmc, &mmc->ios); } else { sdhci_init(host, (mmc->pm_flags & MMC_PM_KEEP_POWER)); @@ -3789,6 +3835,7 @@ /* Force clock and power re-program */ host->pwr = 0; host->clock = 0; + host->reinit_uhs = true; mmc->ops->start_signal_voltage_switch(mmc, &mmc->ios); mmc->ops->set_ios(mmc, &mmc->ios); --- linux-gcp-5.19.0.orig/drivers/mmc/host/sdhci.h +++ linux-gcp-5.19.0/drivers/mmc/host/sdhci.h @@ -523,6 +523,8 @@ unsigned int clock; /* Current clock (MHz) */ u8 pwr; /* Current voltage */ + u8 drv_type; /* Current UHS-I driver type */ + bool reinit_uhs; /* Force UHS-related re-initialization */ bool runtime_suspended; /* Host is runtime suspended */ bool bus_on; /* Bus power prevents runtime suspend */ --- linux-gcp-5.19.0.orig/drivers/mmc/host/sdhci_am654.c +++ linux-gcp-5.19.0/drivers/mmc/host/sdhci_am654.c @@ -15,6 +15,7 @@ #include #include "cqhci.h" +#include "sdhci-cqhci.h" #include "sdhci-pltfm.h" /* CTL_CFG Registers */ @@ -378,7 +379,7 @@ struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct sdhci_am654_data *sdhci_am654 = sdhci_pltfm_priv(pltfm_host); - sdhci_reset(host, mask); + sdhci_and_cqhci_reset(host, mask); if (sdhci_am654->quirks & SDHCI_AM654_QUIRK_FORCE_CDTEST) { ctrl = sdhci_readb(host, SDHCI_HOST_CONTROL); @@ -464,7 +465,7 @@ .set_clock = sdhci_am654_set_clock, .write_b = sdhci_am654_write_b, .irq = sdhci_am654_cqhci_irq, - .reset = sdhci_reset, + .reset = sdhci_and_cqhci_reset, }; static const struct sdhci_pltfm_data sdhci_am654_pdata = { @@ -494,7 +495,7 @@ .set_clock = sdhci_am654_set_clock, .write_b = sdhci_am654_write_b, .irq = sdhci_am654_cqhci_irq, - .reset = sdhci_reset, + .reset = sdhci_and_cqhci_reset, }; static const struct sdhci_pltfm_data sdhci_j721e_8bit_pdata = { --- linux-gcp-5.19.0.orig/drivers/mmc/host/sdhci_f_sdh30.c +++ linux-gcp-5.19.0/drivers/mmc/host/sdhci_f_sdh30.c @@ -168,6 +168,9 @@ if (reg & SDHCI_CAN_DO_8BIT) priv->vendor_hs200 = F_SDH30_EMMC_HS200; + if (!(reg & SDHCI_TIMEOUT_CLK_MASK)) + host->quirks |= SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK; + ret = sdhci_add_host(host); if (ret) goto err_add_host; --- linux-gcp-5.19.0.orig/drivers/mmc/host/sunxi-mmc.c +++ linux-gcp-5.19.0/drivers/mmc/host/sunxi-mmc.c @@ -1492,9 +1492,11 @@ struct sunxi_mmc_host *host = mmc_priv(mmc); mmc_remove_host(mmc); - pm_runtime_force_suspend(&pdev->dev); - disable_irq(host->irq); - sunxi_mmc_disable(host); + pm_runtime_disable(&pdev->dev); + if (!pm_runtime_status_suspended(&pdev->dev)) { + disable_irq(host->irq); + sunxi_mmc_disable(host); + } dma_free_coherent(&pdev->dev, PAGE_SIZE, host->sg_cpu, host->sg_dma); mmc_free_host(mmc); --- linux-gcp-5.19.0.orig/drivers/mmc/host/tmio_mmc.c +++ linux-gcp-5.19.0/drivers/mmc/host/tmio_mmc.c @@ -75,7 +75,7 @@ tmio_mmc_clk_start(host); } -static void tmio_mmc_reset(struct tmio_mmc_host *host) +static void tmio_mmc_reset(struct tmio_mmc_host *host, bool preserve) { sd_ctrl_write16(host, CTL_RESET_SDIO, 0x0000); usleep_range(10000, 11000); --- linux-gcp-5.19.0.orig/drivers/mmc/host/tmio_mmc.h +++ linux-gcp-5.19.0/drivers/mmc/host/tmio_mmc.h @@ -42,6 +42,7 @@ #define CTL_DMA_ENABLE 0xd8 #define CTL_RESET_SD 0xe0 #define CTL_VERSION 0xe2 +#define CTL_SDIF_MODE 0xe6 /* only known on R-Car 2+ */ /* Definitions for values the CTL_STOP_INTERNAL_ACTION register can take */ #define TMIO_STOP_STP BIT(0) @@ -98,6 +99,9 @@ /* Definitions for values the CTL_DMA_ENABLE register can take */ #define DMA_ENABLE_DMASDRW BIT(1) +/* Definitions for values the CTL_SDIF_MODE register can take */ +#define SDIF_MODE_HS400 BIT(0) /* only known on R-Car 2+ */ + /* Define some IRQ masks */ /* This is the mask used at reset by the chip */ #define TMIO_MASK_ALL 0x837f031d @@ -181,7 +185,7 @@ int (*multi_io_quirk)(struct mmc_card *card, unsigned int direction, int blk_size); int (*write16_hook)(struct tmio_mmc_host *host, int addr); - void (*reset)(struct tmio_mmc_host *host); + void (*reset)(struct tmio_mmc_host *host, bool preserve); bool (*check_retune)(struct tmio_mmc_host *host, struct mmc_request *mrq); void (*fixup_request)(struct tmio_mmc_host *host, struct mmc_request *mrq); unsigned int (*get_timeout_cycles)(struct tmio_mmc_host *host); --- linux-gcp-5.19.0.orig/drivers/mmc/host/tmio_mmc_core.c +++ linux-gcp-5.19.0/drivers/mmc/host/tmio_mmc_core.c @@ -179,8 +179,17 @@ sd_ctrl_write16(host, CTL_SD_MEM_CARD_OPT, reg); } -static void tmio_mmc_reset(struct tmio_mmc_host *host) +static void tmio_mmc_reset(struct tmio_mmc_host *host, bool preserve) { + u16 card_opt, clk_ctrl, sdif_mode; + + if (preserve) { + card_opt = sd_ctrl_read16(host, CTL_SD_MEM_CARD_OPT); + clk_ctrl = sd_ctrl_read16(host, CTL_SD_CARD_CLK_CTL); + if (host->pdata->flags & TMIO_MMC_MIN_RCAR2) + sdif_mode = sd_ctrl_read16(host, CTL_SDIF_MODE); + } + /* FIXME - should we set stop clock reg here */ sd_ctrl_write16(host, CTL_RESET_SD, 0x0000); usleep_range(10000, 11000); @@ -190,7 +199,7 @@ tmio_mmc_abort_dma(host); if (host->reset) - host->reset(host); + host->reset(host, preserve); sd_ctrl_write32_as_16_and_16(host, CTL_IRQ_MASK, host->sdcard_irq_mask_all); host->sdcard_irq_mask = host->sdcard_irq_mask_all; @@ -206,6 +215,13 @@ sd_ctrl_write16(host, CTL_TRANSACTION_CTL, 0x0001); } + if (preserve) { + sd_ctrl_write16(host, CTL_SD_MEM_CARD_OPT, card_opt); + sd_ctrl_write16(host, CTL_SD_CARD_CLK_CTL, clk_ctrl); + if (host->pdata->flags & TMIO_MMC_MIN_RCAR2) + sd_ctrl_write16(host, CTL_SDIF_MODE, sdif_mode); + } + if (host->mmc->card) mmc_retune_needed(host->mmc); } @@ -248,7 +264,7 @@ spin_unlock_irqrestore(&host->lock, flags); - tmio_mmc_reset(host); + tmio_mmc_reset(host, true); /* Ready for new calls */ host->mrq = NULL; @@ -961,7 +977,7 @@ tmio_mmc_power_off(host); /* For R-Car Gen2+, we need to reset SDHI specific SCC */ if (host->pdata->flags & TMIO_MMC_MIN_RCAR2) - tmio_mmc_reset(host); + tmio_mmc_reset(host, false); host->set_clock(host, 0); break; @@ -1189,7 +1205,7 @@ _host->sdcard_irq_mask_all = TMIO_MASK_ALL; _host->set_clock(_host, 0); - tmio_mmc_reset(_host); + tmio_mmc_reset(_host, false); spin_lock_init(&_host->lock); mutex_init(&_host->ios_lock); @@ -1285,7 +1301,7 @@ struct tmio_mmc_host *host = dev_get_drvdata(dev); tmio_mmc_clk_enable(host); - tmio_mmc_reset(host); + tmio_mmc_reset(host, false); if (host->clk_cache) host->set_clock(host, host->clk_cache); --- linux-gcp-5.19.0.orig/drivers/mmc/host/toshsd.c +++ linux-gcp-5.19.0/drivers/mmc/host/toshsd.c @@ -651,7 +651,9 @@ if (ret) goto unmap; - mmc_add_host(mmc); + ret = mmc_add_host(mmc); + if (ret) + goto free_irq; base = pci_resource_start(pdev, 0); dev_dbg(&pdev->dev, "MMIO %pa, IRQ %d\n", &base, pdev->irq); @@ -660,6 +662,8 @@ return 0; +free_irq: + free_irq(pdev->irq, host); unmap: pci_iounmap(pdev, host->ioaddr); release: --- linux-gcp-5.19.0.orig/drivers/mmc/host/via-sdmmc.c +++ linux-gcp-5.19.0/drivers/mmc/host/via-sdmmc.c @@ -1151,7 +1151,9 @@ pcidev->subsystem_device == 0x3891) sdhost->quirks = VIA_CRDR_QUIRK_300MS_PWRDELAY; - mmc_add_host(mmc); + ret = mmc_add_host(mmc); + if (ret) + goto unmap; return 0; --- linux-gcp-5.19.0.orig/drivers/mmc/host/vub300.c +++ linux-gcp-5.19.0/drivers/mmc/host/vub300.c @@ -2049,6 +2049,7 @@ return; kref_get(&vub300->kref); if (enable) { + set_current_state(TASK_RUNNING); mutex_lock(&vub300->irq_mutex); if (vub300->irqs_queued) { vub300->irqs_queued -= 1; @@ -2064,6 +2065,7 @@ vub300_queue_poll_work(vub300, 0); } mutex_unlock(&vub300->irq_mutex); + set_current_state(TASK_INTERRUPTIBLE); } else { vub300->irq_enabled = 0; } @@ -2299,14 +2301,14 @@ 0x0000, 0x0000, &vub300->system_port_status, sizeof(vub300->system_port_status), 1000); if (retval < 0) { - goto error4; + goto error5; } else if (sizeof(vub300->system_port_status) == retval) { vub300->card_present = (0x0001 & vub300->system_port_status.port_flags) ? 1 : 0; vub300->read_only = (0x0010 & vub300->system_port_status.port_flags) ? 1 : 0; } else { - goto error4; + goto error5; } usb_set_intfdata(interface, vub300); INIT_DELAYED_WORK(&vub300->pollwork, vub300_pollwork_thread); @@ -2329,8 +2331,13 @@ "USB vub300 remote SDIO host controller[%d]" "connected with no SD/SDIO card inserted\n", interface_to_InterfaceNumber(interface)); - mmc_add_host(mmc); + retval = mmc_add_host(mmc); + if (retval) + goto error6; + return 0; +error6: + del_timer_sync(&vub300->inactivity_timer); error5: mmc_free_host(mmc); /* --- linux-gcp-5.19.0.orig/drivers/mmc/host/wbsd.c +++ linux-gcp-5.19.0/drivers/mmc/host/wbsd.c @@ -1698,7 +1698,17 @@ */ wbsd_init_device(host); - mmc_add_host(mmc); + ret = mmc_add_host(mmc); + if (ret) { + if (!pnp) + wbsd_chip_poweroff(host); + + wbsd_release_resources(host); + wbsd_free_mmc(dev); + + mmc_free_host(mmc); + return ret; + } pr_info("%s: W83L51xD", mmc_hostname(mmc)); if (host->chip_id != 0) --- linux-gcp-5.19.0.orig/drivers/mmc/host/wmt-sdmmc.c +++ linux-gcp-5.19.0/drivers/mmc/host/wmt-sdmmc.c @@ -846,7 +846,7 @@ if (IS_ERR(priv->clk_sdmmc)) { dev_err(&pdev->dev, "Error getting clock\n"); ret = PTR_ERR(priv->clk_sdmmc); - goto fail5; + goto fail5_and_a_half; } ret = clk_prepare_enable(priv->clk_sdmmc); @@ -856,13 +856,20 @@ /* configure the controller to a known 'ready' state */ wmt_reset_hardware(mmc); - mmc_add_host(mmc); + ret = mmc_add_host(mmc); + if (ret) + goto fail7; dev_info(&pdev->dev, "WMT SDHC Controller initialized\n"); return 0; +fail7: + clk_disable_unprepare(priv->clk_sdmmc); fail6: clk_put(priv->clk_sdmmc); +fail5_and_a_half: + dma_free_coherent(&pdev->dev, mmc->max_blk_count * 16, + priv->dma_desc_buffer, priv->dma_desc_device_addr); fail5: free_irq(dma_irq, priv); fail4: --- linux-gcp-5.19.0.orig/drivers/mtd/devices/docg3.c +++ linux-gcp-5.19.0/drivers/mtd/devices/docg3.c @@ -1974,9 +1974,14 @@ dev_err(dev, "No I/O memory resource defined\n"); return ret; } - base = devm_ioremap(dev, ress->start, DOC_IOSPACE_SIZE); ret = -ENOMEM; + base = devm_ioremap(dev, ress->start, DOC_IOSPACE_SIZE); + if (!base) { + dev_err(dev, "devm_ioremap dev failed\n"); + return ret; + } + cascade = devm_kcalloc(dev, DOC_MAX_NBFLOORS, sizeof(*cascade), GFP_KERNEL); if (!cascade) --- linux-gcp-5.19.0.orig/drivers/mtd/devices/mtd_dataflash.c +++ linux-gcp-5.19.0/drivers/mtd/devices/mtd_dataflash.c @@ -112,6 +112,13 @@ MODULE_DEVICE_TABLE(of, dataflash_dt_ids); #endif +static const struct spi_device_id dataflash_spi_ids[] = { + { .name = "at45", }, + { .name = "dataflash", }, + { /* sentinel */ } +}; +MODULE_DEVICE_TABLE(spi, dataflash_spi_ids); + /* ......................................................................... */ /* @@ -936,6 +943,7 @@ .probe = dataflash_probe, .remove = dataflash_remove, + .id_table = dataflash_spi_ids, /* FIXME: investigate suspend and resume... */ }; --- linux-gcp-5.19.0.orig/drivers/mtd/devices/spear_smi.c +++ linux-gcp-5.19.0/drivers/mtd/devices/spear_smi.c @@ -1045,13 +1045,9 @@ { struct spear_smi *dev; struct spear_snor_flash *flash; - int ret, i; + int i; dev = platform_get_drvdata(pdev); - if (!dev) { - dev_err(&pdev->dev, "dev is null\n"); - return -ENODEV; - } /* clean up for all nor flash */ for (i = 0; i < dev->num_flashes; i++) { @@ -1060,9 +1056,7 @@ continue; /* clean up mtd stuff */ - ret = mtd_device_unregister(&flash->mtd); - if (ret) - dev_err(&pdev->dev, "error removing mtd\n"); + WARN_ON(mtd_device_unregister(&flash->mtd)); } clk_disable_unprepare(dev->clk); --- linux-gcp-5.19.0.orig/drivers/mtd/devices/st_spi_fsm.c +++ linux-gcp-5.19.0/drivers/mtd/devices/st_spi_fsm.c @@ -2115,10 +2115,12 @@ (long long)fsm->mtd.size, (long long)(fsm->mtd.size >> 20), fsm->mtd.erasesize, (fsm->mtd.erasesize >> 10)); - return mtd_device_register(&fsm->mtd, NULL, 0); - + ret = mtd_device_register(&fsm->mtd, NULL, 0); + if (ret) { err_clk_unprepare: - clk_disable_unprepare(fsm->clk); + clk_disable_unprepare(fsm->clk); + } + return ret; } @@ -2126,9 +2128,11 @@ { struct stfsm *fsm = platform_get_drvdata(pdev); + WARN_ON(mtd_device_unregister(&fsm->mtd)); + clk_disable_unprepare(fsm->clk); - return mtd_device_unregister(&fsm->mtd); + return 0; } #ifdef CONFIG_PM_SLEEP --- linux-gcp-5.19.0.orig/drivers/mtd/hyperbus/rpc-if.c +++ linux-gcp-5.19.0/drivers/mtd/hyperbus/rpc-if.c @@ -134,7 +134,7 @@ error = rpcif_hw_init(&hyperbus->rpc, true); if (error) - return error; + goto out_disable_rpm; hyperbus->hbdev.map.size = hyperbus->rpc.size; hyperbus->hbdev.map.virt = hyperbus->rpc.dirmap; @@ -145,8 +145,12 @@ hyperbus->hbdev.np = of_get_next_child(pdev->dev.parent->of_node, NULL); error = hyperbus_register_device(&hyperbus->hbdev); if (error) - rpcif_disable_rpm(&hyperbus->rpc); + goto out_disable_rpm; + return 0; + +out_disable_rpm: + rpcif_disable_rpm(&hyperbus->rpc); return error; } --- linux-gcp-5.19.0.orig/drivers/mtd/lpddr/lpddr2_nvm.c +++ linux-gcp-5.19.0/drivers/mtd/lpddr/lpddr2_nvm.c @@ -433,6 +433,8 @@ /* lpddr2_nvm address range */ add_range = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!add_range) + return -ENODEV; /* Populate map_info data structure */ *map = (struct map_info) { --- linux-gcp-5.19.0.orig/drivers/mtd/maps/physmap-versatile.c +++ linux-gcp-5.19.0/drivers/mtd/maps/physmap-versatile.c @@ -93,6 +93,7 @@ return -ENODEV; } ebi_base = of_iomap(ebi, 0); + of_node_put(ebi); if (!ebi_base) return -ENODEV; @@ -207,6 +208,7 @@ versatile_flashprot = (enum versatile_flashprot)devid->data; rmap = syscon_node_to_regmap(sysnp); + of_node_put(sysnp); if (IS_ERR(rmap)) return PTR_ERR(rmap); --- linux-gcp-5.19.0.orig/drivers/mtd/maps/pxa2xx-flash.c +++ linux-gcp-5.19.0/drivers/mtd/maps/pxa2xx-flash.c @@ -64,6 +64,7 @@ if (!info->map.virt) { printk(KERN_WARNING "Failed to ioremap %s\n", info->map.name); + kfree(info); return -ENOMEM; } info->map.cached = ioremap_cache(info->map.phys, info->map.size); @@ -85,6 +86,7 @@ iounmap((void *)info->map.virt); if (info->map.cached) iounmap(info->map.cached); + kfree(info); return -EIO; } info->mtd->dev.parent = &pdev->dev; --- linux-gcp-5.19.0.orig/drivers/mtd/mtdcore.c +++ linux-gcp-5.19.0/drivers/mtd/mtdcore.c @@ -660,8 +660,10 @@ dev_set_drvdata(&mtd->dev, mtd); of_node_get(mtd_get_of_node(mtd)); error = device_register(&mtd->dev); - if (error) + if (error) { + put_device(&mtd->dev); goto fail_added; + } /* Add the nvmem provider */ error = mtd_nvmem_add(mtd); @@ -711,6 +713,7 @@ { int ret; struct mtd_notifier *not; + struct device_node *mtd_of_node; mutex_lock(&mtd_table_mutex); @@ -729,6 +732,7 @@ mtd->index, mtd->name, mtd->usecount); ret = -EBUSY; } else { + mtd_of_node = mtd_get_of_node(mtd); debugfs_remove_recursive(mtd->dbg.dfs_dir); /* Try to remove the NVMEM provider */ @@ -740,7 +744,7 @@ memset(&mtd->dev, 0, sizeof(mtd->dev)); idr_remove(&mtd_idr, mtd->index); - of_node_put(mtd_get_of_node(mtd)); + of_node_put(mtd_of_node); module_put(THIS_MODULE); ret = 0; @@ -2387,6 +2391,7 @@ out_procfs: if (proc_mtd) remove_proc_entry("mtd", NULL); + bdi_unregister(mtd_bdi); bdi_put(mtd_bdi); err_bdi: class_unregister(&mtd_class); --- linux-gcp-5.19.0.orig/drivers/mtd/mtdpart.c +++ linux-gcp-5.19.0/drivers/mtd/mtdpart.c @@ -577,6 +577,7 @@ { struct mtd_part_parser *parser; struct device_node *np; + struct device_node *child; struct property *prop; struct device *dev; const char *compat; @@ -594,6 +595,15 @@ else np = of_get_child_by_name(np, "partitions"); + /* + * Don't create devices that are added to a bus but will never get + * probed. That'll cause fw_devlink to block probing of consumers of + * this partition until the partition device is probed. + */ + for_each_child_of_node(np, child) + if (of_device_is_compatible(child, "nvmem-cells")) + of_node_set_flag(child, OF_POPULATED); + of_property_for_each_string(np, "compatible", prop, compat) { parser = mtd_part_get_compatible_parser(compat); if (!parser) --- linux-gcp-5.19.0.orig/drivers/mtd/nand/onenand/Kconfig +++ linux-gcp-5.19.0/drivers/mtd/nand/onenand/Kconfig @@ -26,6 +26,7 @@ tristate "OneNAND on OMAP2/OMAP3 support" depends on ARCH_OMAP2 || ARCH_OMAP3 || (COMPILE_TEST && ARM) depends on OF || COMPILE_TEST + depends on OMAP_GPMC help Support for a OneNAND flash device connected to an OMAP2/OMAP3 SoC via the GPMC memory controller. --- linux-gcp-5.19.0.orig/drivers/mtd/nand/raw/arasan-nand-controller.c +++ linux-gcp-5.19.0/drivers/mtd/nand/raw/arasan-nand-controller.c @@ -347,17 +347,17 @@ /* Update clock frequency */ if (nfc->cur_clk != anand->clk) { - clk_disable_unprepare(nfc->controller_clk); - ret = clk_set_rate(nfc->controller_clk, anand->clk); + clk_disable_unprepare(nfc->bus_clk); + ret = clk_set_rate(nfc->bus_clk, anand->clk); if (ret) { dev_err(nfc->dev, "Failed to change clock rate\n"); return ret; } - ret = clk_prepare_enable(nfc->controller_clk); + ret = clk_prepare_enable(nfc->bus_clk); if (ret) { dev_err(nfc->dev, - "Failed to re-enable the controller clock\n"); + "Failed to re-enable the bus clock\n"); return ret; } @@ -1043,7 +1043,13 @@ DQS_BUFF_SEL_OUT(dqs_mode); } - anand->clk = ANFC_XLNX_SDR_DFLT_CORE_CLK; + if (nand_interface_is_sdr(conf)) { + anand->clk = ANFC_XLNX_SDR_DFLT_CORE_CLK; + } else { + /* ONFI timings are defined in picoseconds */ + anand->clk = div_u64((u64)NSEC_PER_SEC * 1000, + conf->timings.nvddr.tCK_min); + } /* * Due to a hardware bug in the ZynqMP SoC, SDR timing modes 0-1 work --- linux-gcp-5.19.0.orig/drivers/mtd/nand/raw/atmel/nand-controller.c +++ linux-gcp-5.19.0/drivers/mtd/nand/raw/atmel/nand-controller.c @@ -405,6 +405,7 @@ dma_async_issue_pending(nc->dmac); wait_for_completion(&finished); + dma_unmap_single(nc->dev, buf_dma, len, dir); return 0; --- linux-gcp-5.19.0.orig/drivers/mtd/nand/raw/fsl_elbc_nand.c +++ linux-gcp-5.19.0/drivers/mtd/nand/raw/fsl_elbc_nand.c @@ -726,36 +726,40 @@ struct fsl_lbc_regs __iomem *lbc = ctrl->regs; unsigned int al; - switch (chip->ecc.engine_type) { /* * if ECC was not chosen in DT, decide whether to use HW or SW ECC from * CS Base Register */ - case NAND_ECC_ENGINE_TYPE_NONE: + if (chip->ecc.engine_type == NAND_ECC_ENGINE_TYPE_INVALID) { /* If CS Base Register selects full hardware ECC then use it */ if ((in_be32(&lbc->bank[priv->bank].br) & BR_DECC) == BR_DECC_CHK_GEN) { - chip->ecc.read_page = fsl_elbc_read_page; - chip->ecc.write_page = fsl_elbc_write_page; - chip->ecc.write_subpage = fsl_elbc_write_subpage; - chip->ecc.engine_type = NAND_ECC_ENGINE_TYPE_ON_HOST; - mtd_set_ooblayout(mtd, &fsl_elbc_ooblayout_ops); - chip->ecc.size = 512; - chip->ecc.bytes = 3; - chip->ecc.strength = 1; } else { /* otherwise fall back to default software ECC */ chip->ecc.engine_type = NAND_ECC_ENGINE_TYPE_SOFT; chip->ecc.algo = NAND_ECC_ALGO_HAMMING; } + } + + switch (chip->ecc.engine_type) { + /* if HW ECC was chosen, setup ecc and oob layout */ + case NAND_ECC_ENGINE_TYPE_ON_HOST: + chip->ecc.read_page = fsl_elbc_read_page; + chip->ecc.write_page = fsl_elbc_write_page; + chip->ecc.write_subpage = fsl_elbc_write_subpage; + mtd_set_ooblayout(mtd, &fsl_elbc_ooblayout_ops); + chip->ecc.size = 512; + chip->ecc.bytes = 3; + chip->ecc.strength = 1; break; - /* if SW ECC was chosen in DT, we do not need to set anything here */ + /* if none or SW ECC was chosen, we do not need to set anything here */ + case NAND_ECC_ENGINE_TYPE_NONE: case NAND_ECC_ENGINE_TYPE_SOFT: + case NAND_ECC_ENGINE_TYPE_ON_DIE: break; - /* should we also implement *_ECC_ENGINE_CONTROLLER to do as above? */ default: return -EINVAL; } --- linux-gcp-5.19.0.orig/drivers/mtd/nand/raw/intel-nand-controller.c +++ linux-gcp-5.19.0/drivers/mtd/nand/raw/intel-nand-controller.c @@ -16,6 +16,7 @@ #include #include +#include #include #include #include @@ -107,7 +108,6 @@ struct ebu_nand_cs { void __iomem *chipaddr; - dma_addr_t nand_pa; u32 addr_sel; }; @@ -580,6 +580,7 @@ { struct device *dev = &pdev->dev; struct ebu_nand_controller *ebu_host; + struct device_node *chip_np; struct nand_chip *nand; struct mtd_info *mtd; struct resource *res; @@ -594,44 +595,49 @@ ebu_host->dev = dev; nand_controller_init(&ebu_host->controller); - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "ebunand"); - ebu_host->ebu = devm_ioremap_resource(&pdev->dev, res); + ebu_host->ebu = devm_platform_ioremap_resource_byname(pdev, "ebunand"); if (IS_ERR(ebu_host->ebu)) return PTR_ERR(ebu_host->ebu); - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "hsnand"); - ebu_host->hsnand = devm_ioremap_resource(&pdev->dev, res); + ebu_host->hsnand = devm_platform_ioremap_resource_byname(pdev, "hsnand"); if (IS_ERR(ebu_host->hsnand)) return PTR_ERR(ebu_host->hsnand); - ret = device_property_read_u32(dev, "reg", &cs); + chip_np = of_get_next_child(dev->of_node, NULL); + if (!chip_np) + return dev_err_probe(dev, -EINVAL, + "Could not find child node for the NAND chip\n"); + + ret = of_property_read_u32(chip_np, "reg", &cs); if (ret) { dev_err(dev, "failed to get chip select: %d\n", ret); - return ret; + goto err_of_node_put; } if (cs >= MAX_CS) { dev_err(dev, "got invalid chip select: %d\n", cs); - return -EINVAL; + ret = -EINVAL; + goto err_of_node_put; } ebu_host->cs_num = cs; resname = devm_kasprintf(dev, GFP_KERNEL, "nand_cs%d", cs); - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, resname); - ebu_host->cs[cs].chipaddr = devm_ioremap_resource(dev, res); + ebu_host->cs[cs].chipaddr = devm_platform_ioremap_resource_byname(pdev, + resname); if (IS_ERR(ebu_host->cs[cs].chipaddr)) - return PTR_ERR(ebu_host->cs[cs].chipaddr); - ebu_host->cs[cs].nand_pa = res->start; + goto err_of_node_put; ebu_host->clk = devm_clk_get(dev, NULL); - if (IS_ERR(ebu_host->clk)) - return dev_err_probe(dev, PTR_ERR(ebu_host->clk), - "failed to get clock\n"); + if (IS_ERR(ebu_host->clk)) { + ret = dev_err_probe(dev, PTR_ERR(ebu_host->clk), + "failed to get clock\n"); + goto err_of_node_put; + } ret = clk_prepare_enable(ebu_host->clk); if (ret) { dev_err(dev, "failed to enable clock: %d\n", ret); - return ret; + goto err_of_node_put; } ebu_host->clk_rate = clk_get_rate(ebu_host->clk); @@ -660,7 +666,7 @@ writel(ebu_host->cs[cs].addr_sel | EBU_ADDR_MASK(5) | EBU_ADDR_SEL_REGEN, ebu_host->ebu + EBU_ADDR_SEL(cs)); - nand_set_flash_node(&ebu_host->chip, dev->of_node); + nand_set_flash_node(&ebu_host->chip, chip_np); mtd = nand_to_mtd(&ebu_host->chip); if (!mtd->name) { @@ -696,6 +702,8 @@ ebu_dma_cleanup(ebu_host); err_disable_unprepare_clk: clk_disable_unprepare(ebu_host->clk); +err_of_node_put: + of_node_put(chip_np); return ret; } @@ -716,7 +724,6 @@ } static const struct of_device_id ebu_nand_match[] = { - { .compatible = "intel,nand-controller" }, { .compatible = "intel,lgm-ebunand" }, {} }; --- linux-gcp-5.19.0.orig/drivers/mtd/nand/raw/marvell_nand.c +++ linux-gcp-5.19.0/drivers/mtd/nand/raw/marvell_nand.c @@ -2672,7 +2672,7 @@ chip->controller = &nfc->controller; nand_set_flash_node(chip, np); - if (!of_property_read_bool(np, "marvell,nand-keep-config")) + if (of_property_read_bool(np, "marvell,nand-keep-config")) chip->options |= NAND_KEEP_TIMINGS; mtd = nand_to_mtd(chip); --- linux-gcp-5.19.0.orig/drivers/mtd/nand/raw/meson_nand.c +++ linux-gcp-5.19.0/drivers/mtd/nand/raw/meson_nand.c @@ -454,7 +454,7 @@ if (ECC_ERR_CNT(*info) != ECC_UNCORRECTABLE) { mtd->ecc_stats.corrected += ECC_ERR_CNT(*info); *bitflips = max_t(u32, *bitflips, ECC_ERR_CNT(*info)); - *correct_bitmap |= 1 >> i; + *correct_bitmap |= BIT_ULL(i); continue; } if ((nand->options & NAND_NEED_SCRAMBLING) && @@ -800,7 +800,7 @@ u8 *data = buf + i * ecc->size; u8 *oob = nand->oob_poi + i * (ecc->bytes + 2); - if (correct_bitmap & (1 << i)) + if (correct_bitmap & BIT_ULL(i)) continue; ret = nand_check_erased_ecc_chunk(data, ecc->size, oob, ecc->bytes + 2, @@ -1307,7 +1307,6 @@ if (ret) return ret; - meson_nfc_free_buffer(&meson_chip->nand); nand_cleanup(&meson_chip->nand); list_del(&meson_chip->node); } --- linux-gcp-5.19.0.orig/drivers/mtd/nand/raw/tegra_nand.c +++ linux-gcp-5.19.0/drivers/mtd/nand/raw/tegra_nand.c @@ -1181,7 +1181,7 @@ pm_runtime_enable(&pdev->dev); err = pm_runtime_resume_and_get(&pdev->dev); if (err) - return err; + goto err_dis_pm; err = reset_control_reset(rst); if (err) { @@ -1215,6 +1215,8 @@ err_put_pm: pm_runtime_put_sync_suspend(ctrl->dev); pm_runtime_force_suspend(ctrl->dev); +err_dis_pm: + pm_runtime_disable(&pdev->dev); return err; } --- linux-gcp-5.19.0.orig/drivers/mtd/parsers/bcm47xxpart.c +++ linux-gcp-5.19.0/drivers/mtd/parsers/bcm47xxpart.c @@ -233,11 +233,11 @@ } /* Read middle of the block */ - err = mtd_read(master, offset + 0x8000, 0x4, &bytes_read, + err = mtd_read(master, offset + (blocksize / 2), 0x4, &bytes_read, (uint8_t *)buf); if (err && !mtd_is_bitflip(err)) { pr_err("mtd_read error while parsing (offset: 0x%X): %d\n", - offset + 0x8000, err); + offset + (blocksize / 2), err); continue; } --- linux-gcp-5.19.0.orig/drivers/mtd/parsers/ofpart_bcm4908.c +++ linux-gcp-5.19.0/drivers/mtd/parsers/ofpart_bcm4908.c @@ -35,12 +35,15 @@ err = kstrtoul(s + len + 1, 0, &offset); if (err) { pr_err("failed to parse %s\n", s + len + 1); + of_node_put(root); return err; } + of_node_put(root); return offset << 10; } + of_node_put(root); return -ENOENT; } --- linux-gcp-5.19.0.orig/drivers/mtd/parsers/redboot.c +++ linux-gcp-5.19.0/drivers/mtd/parsers/redboot.c @@ -58,6 +58,7 @@ return; ret = of_property_read_u32(npart, "fis-index-block", &dirblock); + of_node_put(npart); if (ret) return; --- linux-gcp-5.19.0.orig/drivers/mtd/sm_ftl.c +++ linux-gcp-5.19.0/drivers/mtd/sm_ftl.c @@ -1111,9 +1111,9 @@ { struct sm_ftl *ftl = dev->priv; - mutex_lock(&ftl->mutex); del_timer_sync(&ftl->timer); cancel_work_sync(&ftl->flush_work); + mutex_lock(&ftl->mutex); sm_cache_flush(ftl); mutex_unlock(&ftl->mutex); } --- linux-gcp-5.19.0.orig/drivers/mtd/spi-nor/core.c +++ linux-gcp-5.19.0/drivers/mtd/spi-nor/core.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -177,7 +178,7 @@ static int spi_nor_controller_ops_erase(struct spi_nor *nor, loff_t offs) { - if (spi_nor_protocol_is_dtr(nor->write_proto)) + if (spi_nor_protocol_is_dtr(nor->reg_proto)) return -EOPNOTSUPP; return nor->controller_ops->erase(nor, offs); @@ -972,7 +973,7 @@ if (nor->spimem) { struct spi_mem_op op = SPI_NOR_CHIP_ERASE_OP; - spi_nor_spimem_setup_op(nor, &op, nor->write_proto); + spi_nor_spimem_setup_op(nor, &op, nor->reg_proto); ret = spi_mem_exec_op(nor->spimem, &op); } else { @@ -1115,7 +1116,7 @@ SPI_NOR_SECTOR_ERASE_OP(nor->erase_opcode, nor->addr_width, addr); - spi_nor_spimem_setup_op(nor, &op, nor->write_proto); + spi_nor_spimem_setup_op(nor, &op, nor->reg_proto); return spi_mem_exec_op(nor->spimem, &op); } else if (nor->controller_ops->erase) { @@ -1184,6 +1185,8 @@ continue; erase = &map->erase_type[i]; + if (!erase->size) + continue; /* Alignment is not mandatory for overlaid regions */ if (region->offset & SNOR_OVERLAID_REGION && @@ -1914,7 +1917,8 @@ spi_nor_spimem_setup_op(nor, &op, read->proto); /* convert the dummy cycles to the number of bytes */ - op.dummy.nbytes = (nor->read_dummy * op.dummy.buswidth) / 8; + op.dummy.nbytes = (read->num_mode_clocks + read->num_wait_states) * + op.dummy.buswidth / 8; if (spi_nor_protocol_is_dtr(nor->read_proto)) op.dummy.nbytes *= 2; @@ -2000,6 +2004,15 @@ } /** + * spi_nor_mask_erase_type() - mask out a SPI NOR erase type + * @erase: pointer to a structure that describes a SPI NOR erase type + */ +void spi_nor_mask_erase_type(struct spi_nor_erase_type *erase) +{ + erase->size = 0; +} + +/** * spi_nor_init_uniform_erase_map() - Initialize uniform erase map * @map: the erase map of the SPI NOR * @erase_mask: bitmask encoding erase types that can erase the entire --- linux-gcp-5.19.0.orig/drivers/mtd/spi-nor/core.h +++ linux-gcp-5.19.0/drivers/mtd/spi-nor/core.h @@ -677,6 +677,7 @@ void spi_nor_set_erase_type(struct spi_nor_erase_type *erase, u32 size, u8 opcode); +void spi_nor_mask_erase_type(struct spi_nor_erase_type *erase); struct spi_nor_erase_region * spi_nor_region_next(struct spi_nor_erase_region *region); void spi_nor_init_uniform_erase_map(struct spi_nor_erase_map *map, --- linux-gcp-5.19.0.orig/drivers/mtd/spi-nor/gigadevice.c +++ linux-gcp-5.19.0/drivers/mtd/spi-nor/gigadevice.c @@ -8,19 +8,29 @@ #include "core.h" -static void gd25q256_default_init(struct spi_nor *nor) +static int +gd25q256_post_bfpt(struct spi_nor *nor, + const struct sfdp_parameter_header *bfpt_header, + const struct sfdp_bfpt *bfpt) { /* - * Some manufacturer like GigaDevice may use different - * bit to set QE on different memories, so the MFR can't - * indicate the quad_enable method for this case, we need - * to set it in the default_init fixup hook. + * GD25Q256C supports the first version of JESD216 which does not define + * the Quad Enable methods. Overwrite the default Quad Enable method. + * + * GD25Q256 GENERATION | SFDP MAJOR VERSION | SFDP MINOR VERSION + * GD25Q256C | SFDP_JESD216_MAJOR | SFDP_JESD216_MINOR + * GD25Q256D | SFDP_JESD216_MAJOR | SFDP_JESD216B_MINOR + * GD25Q256E | SFDP_JESD216_MAJOR | SFDP_JESD216B_MINOR */ - nor->params->quad_enable = spi_nor_sr1_bit6_quad_enable; + if (bfpt_header->major == SFDP_JESD216_MAJOR && + bfpt_header->minor == SFDP_JESD216_MINOR) + nor->params->quad_enable = spi_nor_sr1_bit6_quad_enable; + + return 0; } static const struct spi_nor_fixups gd25q256_fixups = { - .default_init = gd25q256_default_init, + .post_bfpt = gd25q256_post_bfpt, }; static const struct flash_info gigadevice_nor_parts[] = { --- linux-gcp-5.19.0.orig/drivers/mtd/spi-nor/sfdp.c +++ linux-gcp-5.19.0/drivers/mtd/spi-nor/sfdp.c @@ -874,7 +874,7 @@ */ for (i = 0; i < SNOR_ERASE_TYPE_MAX; i++) if (!(regions_erase_type & BIT(erase[i].idx))) - spi_nor_set_erase_type(&erase[i], 0, 0xFF); + spi_nor_mask_erase_type(&erase[i]); return 0; } @@ -1088,7 +1088,7 @@ erase_type[i].opcode = (dwords[1] >> erase_type[i].idx * 8) & 0xFF; else - spi_nor_set_erase_type(&erase_type[i], 0u, 0xFF); + spi_nor_mask_erase_type(&erase_type[i]); } /* @@ -1220,7 +1220,7 @@ le32_to_cpu_array(dwords, sccr_header->length); - if (FIELD_GET(SCCR_DWORD22_OCTAL_DTR_EN_VOLATILE, dwords[22])) + if (FIELD_GET(SCCR_DWORD22_OCTAL_DTR_EN_VOLATILE, dwords[21])) nor->flags |= SNOR_F_IO_MODE_EN_VOLATILE; out: --- linux-gcp-5.19.0.orig/drivers/mtd/spi-nor/spansion.c +++ linux-gcp-5.19.0/drivers/mtd/spi-nor/spansion.c @@ -19,8 +19,13 @@ #define SPINOR_REG_CYPRESS_CFR3V 0x00800004 #define SPINOR_REG_CYPRESS_CFR3V_PGSZ BIT(4) /* Page size. */ #define SPINOR_REG_CYPRESS_CFR5V 0x00800006 -#define SPINOR_REG_CYPRESS_CFR5V_OCT_DTR_EN 0x3 -#define SPINOR_REG_CYPRESS_CFR5V_OCT_DTR_DS 0 +#define SPINOR_REG_CYPRESS_CFR5_BIT6 BIT(6) +#define SPINOR_REG_CYPRESS_CFR5_DDR BIT(1) +#define SPINOR_REG_CYPRESS_CFR5_OPI BIT(0) +#define SPINOR_REG_CYPRESS_CFR5V_OCT_DTR_EN \ + (SPINOR_REG_CYPRESS_CFR5_BIT6 | SPINOR_REG_CYPRESS_CFR5_DDR | \ + SPINOR_REG_CYPRESS_CFR5_OPI) +#define SPINOR_REG_CYPRESS_CFR5V_OCT_DTR_DS SPINOR_REG_CYPRESS_CFR5_BIT6 #define SPINOR_OP_CYPRESS_RD_FAST 0xee /* Cypress SPI NOR flash operations. */ --- linux-gcp-5.19.0.orig/drivers/mtd/spi-nor/sysfs.c +++ linux-gcp-5.19.0/drivers/mtd/spi-nor/sysfs.c @@ -67,6 +67,19 @@ NULL }; +static umode_t spi_nor_sysfs_is_visible(struct kobject *kobj, + struct attribute *attr, int n) +{ + struct spi_device *spi = to_spi_device(kobj_to_dev(kobj)); + struct spi_mem *spimem = spi_get_drvdata(spi); + struct spi_nor *nor = spi_mem_get_drvdata(spimem); + + if (attr == &dev_attr_jedec_id.attr && !nor->info->id_len) + return 0; + + return 0444; +} + static umode_t spi_nor_sysfs_is_bin_visible(struct kobject *kobj, struct bin_attribute *attr, int n) { @@ -82,6 +95,7 @@ static const struct attribute_group spi_nor_sysfs_group = { .name = "spi-nor", + .is_visible = spi_nor_sysfs_is_visible, .is_bin_visible = spi_nor_sysfs_is_bin_visible, .attrs = spi_nor_sysfs_entries, .bin_attrs = spi_nor_sysfs_bin_entries, --- linux-gcp-5.19.0.orig/drivers/net/arcnet/com20020_cs.c +++ linux-gcp-5.19.0/drivers/net/arcnet/com20020_cs.c @@ -113,6 +113,7 @@ struct com20020_dev *info; struct net_device *dev; struct arcnet_local *lp; + int ret = -ENOMEM; dev_dbg(&p_dev->dev, "com20020_attach()\n"); @@ -142,12 +143,18 @@ info->dev = dev; p_dev->priv = info; - return com20020_config(p_dev); + ret = com20020_config(p_dev); + if (ret) + goto fail_config; + return 0; + +fail_config: + free_arcdev(dev); fail_alloc_dev: kfree(info); fail_alloc_info: - return -ENOMEM; + return ret; } /* com20020_attach */ static void com20020_detach(struct pcmcia_device *link) --- linux-gcp-5.19.0.orig/drivers/net/bonding/bond_3ad.c +++ linux-gcp-5.19.0/drivers/net/bonding/bond_3ad.c @@ -87,8 +87,9 @@ static u16 ad_ticks_per_sec; static const int ad_delta_in_ticks = (AD_TIMER_INTERVAL * HZ) / 1000; -static const u8 lacpdu_mcast_addr[ETH_ALEN + 2] __long_aligned = - MULTICAST_LACPDU_ADDR; +const u8 lacpdu_mcast_addr[ETH_ALEN + 2] __long_aligned = { + 0x01, 0x80, 0xC2, 0x00, 0x00, 0x02 +}; /* ================= main 802.3ad protocol functions ================== */ static int ad_lacpdu_send(struct port *port); @@ -1538,6 +1539,7 @@ slave_err(bond->dev, port->slave->dev, "Port %d did not find a suitable aggregator\n", port->actor_port_number); + return; } } /* if all aggregator's ports are READY_N == TRUE, set ready=TRUE @@ -2007,30 +2009,24 @@ */ void bond_3ad_initialize(struct bonding *bond, u16 tick_resolution) { - /* check that the bond is not initialized yet */ - if (!MAC_ADDRESS_EQUAL(&(BOND_AD_INFO(bond).system.sys_mac_addr), - bond->dev->dev_addr)) { - - BOND_AD_INFO(bond).aggregator_identifier = 0; - - BOND_AD_INFO(bond).system.sys_priority = - bond->params.ad_actor_sys_prio; - if (is_zero_ether_addr(bond->params.ad_actor_system)) - BOND_AD_INFO(bond).system.sys_mac_addr = - *((struct mac_addr *)bond->dev->dev_addr); - else - BOND_AD_INFO(bond).system.sys_mac_addr = - *((struct mac_addr *)bond->params.ad_actor_system); + BOND_AD_INFO(bond).aggregator_identifier = 0; + BOND_AD_INFO(bond).system.sys_priority = + bond->params.ad_actor_sys_prio; + if (is_zero_ether_addr(bond->params.ad_actor_system)) + BOND_AD_INFO(bond).system.sys_mac_addr = + *((struct mac_addr *)bond->dev->dev_addr); + else + BOND_AD_INFO(bond).system.sys_mac_addr = + *((struct mac_addr *)bond->params.ad_actor_system); - /* initialize how many times this module is called in one - * second (should be about every 100ms) - */ - ad_ticks_per_sec = tick_resolution; + /* initialize how many times this module is called in one + * second (should be about every 100ms) + */ + ad_ticks_per_sec = tick_resolution; - bond_3ad_initiate_agg_selection(bond, - AD_AGGREGATOR_SELECTION_TIMER * - ad_ticks_per_sec); - } + bond_3ad_initiate_agg_selection(bond, + AD_AGGREGATOR_SELECTION_TIMER * + ad_ticks_per_sec); } /** --- linux-gcp-5.19.0.orig/drivers/net/bonding/bond_debugfs.c +++ linux-gcp-5.19.0/drivers/net/bonding/bond_debugfs.c @@ -76,7 +76,7 @@ d = debugfs_rename(bonding_debug_root, bond->debug_dir, bonding_debug_root, bond->dev->name); - if (d) { + if (!IS_ERR(d)) { bond->debug_dir = d; } else { netdev_warn(bond->dev, "failed to reregister, so just unregister old one\n"); --- linux-gcp-5.19.0.orig/drivers/net/bonding/bond_main.c +++ linux-gcp-5.19.0/drivers/net/bonding/bond_main.c @@ -865,12 +865,8 @@ dev_uc_unsync(slave_dev, bond_dev); dev_mc_unsync(slave_dev, bond_dev); - if (BOND_MODE(bond) == BOND_MODE_8023AD) { - /* del lacpdu mc addr from mc list */ - u8 lacpdu_multicast[ETH_ALEN] = MULTICAST_LACPDU_ADDR; - - dev_mc_del(slave_dev, lacpdu_multicast); - } + if (BOND_MODE(bond) == BOND_MODE_8023AD) + dev_mc_del(slave_dev, lacpdu_mcast_addr); } /*--------------------------- Active slave change ---------------------------*/ @@ -890,7 +886,8 @@ if (bond->dev->flags & IFF_ALLMULTI) dev_set_allmulti(old_active->dev, -1); - bond_hw_addr_flush(bond->dev, old_active->dev); + if (bond->dev->flags & IFF_UP) + bond_hw_addr_flush(bond->dev, old_active->dev); } if (new_active) { @@ -901,10 +898,12 @@ if (bond->dev->flags & IFF_ALLMULTI) dev_set_allmulti(new_active->dev, 1); - netif_addr_lock_bh(bond->dev); - dev_uc_sync(new_active->dev, bond->dev); - dev_mc_sync(new_active->dev, bond->dev); - netif_addr_unlock_bh(bond->dev); + if (bond->dev->flags & IFF_UP) { + netif_addr_lock_bh(bond->dev); + dev_uc_sync(new_active->dev, bond->dev); + dev_mc_sync(new_active->dev, bond->dev); + netif_addr_unlock_bh(bond->dev); + } } } @@ -1974,6 +1973,8 @@ for (i = 0; i < BOND_MAX_ARP_TARGETS; i++) new_slave->target_last_arp_rx[i] = new_slave->last_rx; + new_slave->last_tx = new_slave->last_rx; + if (bond->params.miimon && !bond->params.use_carrier) { link_reporting = bond_check_dev_link(bond, slave_dev, 1); @@ -2137,16 +2138,14 @@ } } - netif_addr_lock_bh(bond_dev); - dev_mc_sync_multiple(slave_dev, bond_dev); - dev_uc_sync_multiple(slave_dev, bond_dev); - netif_addr_unlock_bh(bond_dev); + if (bond_dev->flags & IFF_UP) { + netif_addr_lock_bh(bond_dev); + dev_mc_sync_multiple(slave_dev, bond_dev); + dev_uc_sync_multiple(slave_dev, bond_dev); + netif_addr_unlock_bh(bond_dev); - if (BOND_MODE(bond) == BOND_MODE_8023AD) { - /* add lacpdu mc addr to mc list */ - u8 lacpdu_multicast[ETH_ALEN] = MULTICAST_LACPDU_ADDR; - - dev_mc_add(slave_dev, lacpdu_multicast); + if (BOND_MODE(bond) == BOND_MODE_8023AD) + dev_mc_add(slave_dev, lacpdu_mcast_addr); } } @@ -2418,7 +2417,8 @@ if (old_flags & IFF_ALLMULTI) dev_set_allmulti(slave_dev, -1); - bond_hw_addr_flush(bond_dev, slave_dev); + if (old_flags & IFF_UP) + bond_hw_addr_flush(bond_dev, slave_dev); } slave_disable_netpoll(slave); @@ -2504,12 +2504,21 @@ /* called with rcu_read_lock() */ static int bond_miimon_inspect(struct bonding *bond) { + bool ignore_updelay = false; int link_state, commit = 0; struct list_head *iter; struct slave *slave; - bool ignore_updelay; - ignore_updelay = !rcu_dereference(bond->curr_active_slave); + if (BOND_MODE(bond) == BOND_MODE_ACTIVEBACKUP) { + ignore_updelay = !rcu_dereference(bond->curr_active_slave); + } else { + struct bond_up_slave *usable_slaves; + + usable_slaves = rcu_dereference(bond->usable_slaves); + + if (usable_slaves && usable_slaves->count == 0) + ignore_updelay = true; + } bond_for_each_slave_rcu(bond, slave, iter) { bond_propose_link_state(slave, BOND_LINK_NOCHANGE); @@ -2857,8 +2866,11 @@ return; } - if (bond_handle_vlan(slave, tags, skb)) + if (bond_handle_vlan(slave, tags, skb)) { + slave_update_last_tx(slave); arp_xmit(skb); + } + return; } @@ -3047,8 +3059,7 @@ curr_active_slave->last_link_up)) bond_validate_arp(bond, slave, tip, sip); else if (curr_arp_slave && (arp->ar_op == htons(ARPOP_REPLY)) && - bond_time_in_interval(bond, - dev_trans_start(curr_arp_slave->dev), 1)) + bond_time_in_interval(bond, slave_last_tx(curr_arp_slave), 1)) bond_validate_arp(bond, slave, sip, tip); out_unlock: @@ -3076,8 +3087,10 @@ } addrconf_addr_solict_mult(daddr, &mcaddr); - if (bond_handle_vlan(slave, tags, skb)) + if (bond_handle_vlan(slave, tags, skb)) { + slave_update_last_tx(slave); ndisc_send_skb(skb, &mcaddr, saddr); + } } static void bond_ns_send_all(struct bonding *bond, struct slave *slave) @@ -3134,6 +3147,9 @@ found: if (!ipv6_dev_get_saddr(dev_net(dst->dev), dst->dev, &targets[i], 0, &saddr)) bond_ns_send(slave, &targets[i], &saddr, tags); + else + bond_ns_send(slave, &targets[i], &in6addr_any, tags); + dst_release(dst); kfree(tags); } @@ -3165,12 +3181,19 @@ return ret; } -static void bond_validate_ns(struct bonding *bond, struct slave *slave, +static void bond_validate_na(struct bonding *bond, struct slave *slave, struct in6_addr *saddr, struct in6_addr *daddr) { int i; - if (ipv6_addr_any(saddr) || !bond_has_this_ip6(bond, daddr)) { + /* Ignore NAs that: + * 1. Source address is unspecified address. + * 2. Dest address is neither all-nodes multicast address nor + * exist on bond interface. + */ + if (ipv6_addr_any(saddr) || + (!ipv6_addr_equal(daddr, &in6addr_linklocal_allnodes) && + !bond_has_this_ip6(bond, daddr))) { slave_dbg(bond->dev, slave->dev, "%s: sip %pI6c tip %pI6c not found\n", __func__, saddr, daddr); return; @@ -3190,16 +3213,23 @@ struct slave *slave) { struct slave *curr_active_slave, *curr_arp_slave; - struct icmp6hdr *hdr = icmp6_hdr(skb); struct in6_addr *saddr, *daddr; + struct { + struct ipv6hdr ip6; + struct icmp6hdr icmp6; + } *combined, _combined; if (skb->pkt_type == PACKET_OTHERHOST || - skb->pkt_type == PACKET_LOOPBACK || - hdr->icmp6_type != NDISC_NEIGHBOUR_ADVERTISEMENT) + skb->pkt_type == PACKET_LOOPBACK) goto out; - saddr = &ipv6_hdr(skb)->saddr; - daddr = &ipv6_hdr(skb)->daddr; + combined = skb_header_pointer(skb, 0, sizeof(_combined), &_combined); + if (!combined || combined->ip6.nexthdr != NEXTHDR_ICMP || + combined->icmp6.icmp6_type != NDISC_NEIGHBOUR_ADVERTISEMENT) + goto out; + + saddr = &combined->ip6.saddr; + daddr = &combined->ip6.daddr; slave_dbg(bond->dev, slave->dev, "%s: %s/%d av %d sv %d sip %pI6c tip %pI6c\n", __func__, slave->dev->name, bond_slave_state(slave), @@ -3213,15 +3243,14 @@ * see bond_arp_rcv(). */ if (bond_is_active_slave(slave)) - bond_validate_ns(bond, slave, saddr, daddr); + bond_validate_na(bond, slave, saddr, daddr); else if (curr_active_slave && time_after(slave_last_rx(bond, curr_active_slave), curr_active_slave->last_link_up)) - bond_validate_ns(bond, slave, saddr, daddr); + bond_validate_na(bond, slave, saddr, daddr); else if (curr_arp_slave && - bond_time_in_interval(bond, - dev_trans_start(curr_arp_slave->dev), 1)) - bond_validate_ns(bond, slave, saddr, daddr); + bond_time_in_interval(bond, slave_last_tx(curr_arp_slave), 1)) + bond_validate_na(bond, slave, saddr, daddr); out: return RX_HANDLER_ANOTHER; @@ -3308,12 +3337,12 @@ * so it can wait */ bond_for_each_slave_rcu(bond, slave, iter) { - unsigned long trans_start = dev_trans_start(slave->dev); + unsigned long last_tx = slave_last_tx(slave); bond_propose_link_state(slave, BOND_LINK_NOCHANGE); if (slave->link != BOND_LINK_UP) { - if (bond_time_in_interval(bond, trans_start, 1) && + if (bond_time_in_interval(bond, last_tx, 1) && bond_time_in_interval(bond, slave->last_rx, 1)) { bond_propose_link_state(slave, BOND_LINK_UP); @@ -3338,7 +3367,7 @@ * when the source ip is 0, so don't take the link down * if we don't know our ip yet */ - if (!bond_time_in_interval(bond, trans_start, bond->params.missed_max) || + if (!bond_time_in_interval(bond, last_tx, bond->params.missed_max) || !bond_time_in_interval(bond, slave->last_rx, bond->params.missed_max)) { bond_propose_link_state(slave, BOND_LINK_DOWN); @@ -3404,7 +3433,7 @@ */ static int bond_ab_arp_inspect(struct bonding *bond) { - unsigned long trans_start, last_rx; + unsigned long last_tx, last_rx; struct list_head *iter; struct slave *slave; int commit = 0; @@ -3455,9 +3484,9 @@ * - (more than missed_max*delta since receive AND * the bond has an IP address) */ - trans_start = dev_trans_start(slave->dev); + last_tx = slave_last_tx(slave); if (bond_is_active_slave(slave) && - (!bond_time_in_interval(bond, trans_start, bond->params.missed_max) || + (!bond_time_in_interval(bond, last_tx, bond->params.missed_max) || !bond_time_in_interval(bond, last_rx, bond->params.missed_max))) { bond_propose_link_state(slave, BOND_LINK_DOWN); commit++; @@ -3474,8 +3503,8 @@ */ static void bond_ab_arp_commit(struct bonding *bond) { - unsigned long trans_start; struct list_head *iter; + unsigned long last_tx; struct slave *slave; bond_for_each_slave(bond, slave, iter) { @@ -3484,10 +3513,10 @@ continue; case BOND_LINK_UP: - trans_start = dev_trans_start(slave->dev); + last_tx = slave_last_tx(slave); if (rtnl_dereference(bond->curr_active_slave) != slave || (!rtnl_dereference(bond->curr_active_slave) && - bond_time_in_interval(bond, trans_start, 1))) { + bond_time_in_interval(bond, last_tx, 1))) { struct slave *current_arp_slave; current_arp_slave = rtnl_dereference(bond->current_arp_slave); @@ -4142,6 +4171,12 @@ struct list_head *iter; struct slave *slave; + if (BOND_MODE(bond) == BOND_MODE_ROUNDROBIN && !bond->rr_tx_counter) { + bond->rr_tx_counter = alloc_percpu(u32); + if (!bond->rr_tx_counter) + return -ENOMEM; + } + /* reset slave->backup and slave->inactive */ if (bond_has_slaves(bond)) { bond_for_each_slave(bond, slave, iter) { @@ -4179,6 +4214,9 @@ /* register to receive LACPDUs */ bond->recv_probe = bond_3ad_lacpdu_recv; bond_3ad_initiate_agg_selection(bond, 1); + + bond_for_each_slave(bond, slave, iter) + dev_mc_add(slave->dev, lacpdu_mcast_addr); } if (bond_mode_can_use_xmit_hash(bond)) @@ -4190,6 +4228,7 @@ static int bond_close(struct net_device *bond_dev) { struct bonding *bond = netdev_priv(bond_dev); + struct slave *slave; bond_work_cancel_all(bond); bond->send_peer_notif = 0; @@ -4197,6 +4236,19 @@ bond_alb_deinitialize(bond); bond->recv_probe = NULL; + if (bond_uses_primary(bond)) { + rcu_read_lock(); + slave = rcu_dereference(bond->curr_active_slave); + if (slave) + bond_hw_addr_flush(bond_dev, slave->dev); + rcu_read_unlock(); + } else { + struct list_head *iter; + + bond_for_each_slave(bond, slave, iter) + bond_hw_addr_flush(bond_dev, slave->dev); + } + return 0; } @@ -6180,15 +6232,6 @@ if (!bond->wq) return -ENOMEM; - if (BOND_MODE(bond) == BOND_MODE_ROUNDROBIN) { - bond->rr_tx_counter = alloc_percpu(u32); - if (!bond->rr_tx_counter) { - destroy_workqueue(bond->wq); - bond->wq = NULL; - return -ENOMEM; - } - } - spin_lock_init(&bond->stats_lock); netdev_lockdep_set_classes(bond_dev); --- linux-gcp-5.19.0.orig/drivers/net/can/c_can/c_can.h +++ linux-gcp-5.19.0/drivers/net/can/c_can/c_can.h @@ -235,9 +235,22 @@ return ring->tail & (ring->obj_num - 1); } -static inline u8 c_can_get_tx_free(const struct c_can_tx_ring *ring) +static inline u8 c_can_get_tx_free(const struct c_can_priv *priv, + const struct c_can_tx_ring *ring) { - return ring->obj_num - (ring->head - ring->tail); + u8 head = c_can_get_tx_head(ring); + u8 tail = c_can_get_tx_tail(ring); + + if (priv->type == BOSCH_D_CAN) + return ring->obj_num - (ring->head - ring->tail); + + /* This is not a FIFO. C/D_CAN sends out the buffers + * prioritized. The lowest buffer number wins. + */ + if (head < tail) + return 0; + + return ring->obj_num - head; } #endif /* C_CAN_H */ --- linux-gcp-5.19.0.orig/drivers/net/can/c_can/c_can_main.c +++ linux-gcp-5.19.0/drivers/net/can/c_can/c_can_main.c @@ -429,7 +429,7 @@ static bool c_can_tx_busy(const struct c_can_priv *priv, const struct c_can_tx_ring *tx_ring) { - if (c_can_get_tx_free(tx_ring) > 0) + if (c_can_get_tx_free(priv, tx_ring) > 0) return false; netif_stop_queue(priv->dev); @@ -437,7 +437,7 @@ /* Memory barrier before checking tx_free (head and tail) */ smp_mb(); - if (c_can_get_tx_free(tx_ring) == 0) { + if (c_can_get_tx_free(priv, tx_ring) == 0) { netdev_dbg(priv->dev, "Stopping tx-queue (tx_head=0x%08x, tx_tail=0x%08x, len=%d).\n", tx_ring->head, tx_ring->tail, @@ -465,7 +465,7 @@ idx = c_can_get_tx_head(tx_ring); tx_ring->head++; - if (c_can_get_tx_free(tx_ring) == 0) + if (c_can_get_tx_free(priv, tx_ring) == 0) netif_stop_queue(dev); if (idx < c_can_get_tx_tail(tx_ring)) @@ -748,7 +748,7 @@ return; tx_ring->tail += pkts; - if (c_can_get_tx_free(tx_ring)) { + if (c_can_get_tx_free(priv, tx_ring)) { /* Make sure that anybody stopping the queue after * this sees the new tx_ring->tail. */ @@ -760,8 +760,7 @@ stats->tx_packets += pkts; tail = c_can_get_tx_tail(tx_ring); - - if (tail == 0) { + if (priv->type == BOSCH_D_CAN && tail == 0) { u8 head = c_can_get_tx_head(tx_ring); /* Start transmission for all cached messages */ --- linux-gcp-5.19.0.orig/drivers/net/can/cc770/cc770_isa.c +++ linux-gcp-5.19.0/drivers/net/can/cc770/cc770_isa.c @@ -264,22 +264,24 @@ if (err) { dev_err(&pdev->dev, "couldn't register device (err=%d)\n", err); - goto exit_unmap; + goto exit_free; } dev_info(&pdev->dev, "device registered (reg_base=0x%p, irq=%d)\n", priv->reg_base, dev->irq); return 0; - exit_unmap: +exit_free: + free_cc770dev(dev); +exit_unmap: if (mem[idx]) iounmap(base); - exit_release: +exit_release: if (mem[idx]) release_mem_region(mem[idx], iosize); else release_region(port[idx], iosize); - exit: +exit: return err; } --- linux-gcp-5.19.0.orig/drivers/net/can/dev/netlink.c +++ linux-gcp-5.19.0/drivers/net/can/dev/netlink.c @@ -176,7 +176,8 @@ * directly via do_set_bitrate(). Bail out if neither * is given. */ - if (!priv->bittiming_const && !priv->do_set_bittiming) + if (!priv->bittiming_const && !priv->do_set_bittiming && + !priv->bitrate_const) return -EOPNOTSUPP; memcpy(&bt, nla_data(data[IFLA_CAN_BITTIMING]), sizeof(bt)); @@ -278,7 +279,8 @@ * directly via do_set_bitrate(). Bail out if neither * is given. */ - if (!priv->data_bittiming_const && !priv->do_set_data_bittiming) + if (!priv->data_bittiming_const && !priv->do_set_data_bittiming && + !priv->data_bitrate_const) return -EOPNOTSUPP; memcpy(&dbt, nla_data(data[IFLA_CAN_DATA_BITTIMING]), --- linux-gcp-5.19.0.orig/drivers/net/can/flexcan/flexcan-core.c +++ linux-gcp-5.19.0/drivers/net/can/flexcan/flexcan-core.c @@ -941,11 +941,6 @@ u32 reg_ctrl, reg_id, reg_iflag1; int i; - if (unlikely(drop)) { - skb = ERR_PTR(-ENOBUFS); - goto mark_as_read; - } - mb = flexcan_get_mb(priv, n); if (priv->devtype_data.quirks & FLEXCAN_QUIRK_USE_RX_MAILBOX) { @@ -974,6 +969,11 @@ reg_ctrl = priv->read(&mb->can_ctrl); } + if (unlikely(drop)) { + skb = ERR_PTR(-ENOBUFS); + goto mark_as_read; + } + if (reg_ctrl & FLEXCAN_MB_CNT_EDL) skb = alloc_canfd_skb(offload->dev, &cfd); else --- linux-gcp-5.19.0.orig/drivers/net/can/m_can/m_can.c +++ linux-gcp-5.19.0/drivers/net/can/m_can/m_can.c @@ -1232,10 +1232,17 @@ * - setup bittiming * - configure timestamp generation */ -static void m_can_chip_config(struct net_device *dev) +static int m_can_chip_config(struct net_device *dev) { struct m_can_classdev *cdev = netdev_priv(dev); u32 cccr, test; + int err; + + err = m_can_init_ram(cdev); + if (err) { + dev_err(cdev->dev, "Message RAM configuration failed\n"); + return err; + } m_can_config_endisable(cdev, true); @@ -1359,18 +1366,25 @@ if (cdev->ops->init) cdev->ops->init(cdev); + + return 0; } -static void m_can_start(struct net_device *dev) +static int m_can_start(struct net_device *dev) { struct m_can_classdev *cdev = netdev_priv(dev); + int ret; /* basic m_can configuration */ - m_can_chip_config(dev); + ret = m_can_chip_config(dev); + if (ret) + return ret; cdev->can.state = CAN_STATE_ERROR_ACTIVE; m_can_enable_all_interrupts(cdev); + + return 0; } static int m_can_set_mode(struct net_device *dev, enum can_mode mode) @@ -1799,7 +1813,9 @@ } /* start the m_can controller */ - m_can_start(dev); + err = m_can_start(dev); + if (err) + goto exit_irq_fail; if (!cdev->is_peripheral) napi_enable(&cdev->napi); @@ -1904,7 +1920,7 @@ cdev->hclk = devm_clk_get(cdev->dev, "hclk"); cdev->cclk = devm_clk_get(cdev->dev, "cclk"); - if (IS_ERR(cdev->cclk)) { + if (IS_ERR(cdev->hclk) || IS_ERR(cdev->cclk)) { dev_err(cdev->dev, "no clock found\n"); ret = -ENODEV; } @@ -2053,9 +2069,13 @@ ret = m_can_clk_start(cdev); if (ret) return ret; + ret = m_can_start(ndev); + if (ret) { + m_can_clk_stop(cdev); + + return ret; + } - m_can_init_ram(cdev); - m_can_start(ndev); netif_device_attach(ndev); netif_start_queue(ndev); } --- linux-gcp-5.19.0.orig/drivers/net/can/m_can/m_can_pci.c +++ linux-gcp-5.19.0/drivers/net/can/m_can/m_can_pci.c @@ -120,7 +120,7 @@ ret = pci_alloc_irq_vectors(pci, 1, 1, PCI_IRQ_ALL_TYPES); if (ret < 0) - return ret; + goto err_free_dev; mcan_class->dev = &pci->dev; mcan_class->net->irq = pci_irq_vector(pci, 0); @@ -132,7 +132,7 @@ ret = m_can_class_register(mcan_class); if (ret) - goto err; + goto err_free_irq; /* Enable interrupt control at CAN wrapper IP */ writel(0x1, base + CTL_CSR_INT_CTL_OFFSET); @@ -144,8 +144,10 @@ return 0; -err: +err_free_irq: pci_free_irq_vectors(pci); +err_free_dev: + m_can_class_free_dev(mcan_class->net); return ret; } @@ -161,6 +163,7 @@ writel(0x0, priv->base + CTL_CSR_INT_CTL_OFFSET); m_can_class_unregister(mcan_class); + m_can_class_free_dev(mcan_class->net); pci_free_irq_vectors(pci); } --- linux-gcp-5.19.0.orig/drivers/net/can/m_can/m_can_platform.c +++ linux-gcp-5.19.0/drivers/net/can/m_can/m_can_platform.c @@ -140,10 +140,6 @@ platform_set_drvdata(pdev, mcan_class); - ret = m_can_init_ram(mcan_class); - if (ret) - goto probe_fail; - pm_runtime_enable(mcan_class->dev); ret = m_can_class_register(mcan_class); if (ret) --- linux-gcp-5.19.0.orig/drivers/net/can/m_can/tcan4x5x-core.c +++ linux-gcp-5.19.0/drivers/net/can/m_can/tcan4x5x-core.c @@ -10,7 +10,7 @@ #define TCAN4X5X_DEV_ID1 0x04 #define TCAN4X5X_REV 0x08 #define TCAN4X5X_STATUS 0x0C -#define TCAN4X5X_ERROR_STATUS 0x10 +#define TCAN4X5X_ERROR_STATUS_MASK 0x10 #define TCAN4X5X_CONTROL 0x14 #define TCAN4X5X_CONFIG 0x800 @@ -204,17 +204,7 @@ if (ret) return ret; - ret = tcan4x5x_write_tcan_reg(cdev, TCAN4X5X_MCAN_INT_REG, - TCAN4X5X_ENABLE_MCAN_INT); - if (ret) - return ret; - - ret = tcan4x5x_write_tcan_reg(cdev, TCAN4X5X_INT_FLAGS, - TCAN4X5X_CLEAR_ALL_INT); - if (ret) - return ret; - - return tcan4x5x_write_tcan_reg(cdev, TCAN4X5X_ERROR_STATUS, + return tcan4x5x_write_tcan_reg(cdev, TCAN4X5X_INT_FLAGS, TCAN4X5X_CLEAR_ALL_INT); } @@ -234,8 +224,8 @@ if (ret) return ret; - /* Zero out the MCAN buffers */ - ret = m_can_init_ram(cdev); + ret = tcan4x5x_write_tcan_reg(cdev, TCAN4X5X_ERROR_STATUS_MASK, + TCAN4X5X_CLEAR_ALL_INT); if (ret) return ret; --- linux-gcp-5.19.0.orig/drivers/net/can/mscan/mpc5xxx_can.c +++ linux-gcp-5.19.0/drivers/net/can/mscan/mpc5xxx_can.c @@ -322,14 +322,14 @@ &mscan_clksrc); if (!priv->can.clock.freq) { dev_err(&ofdev->dev, "couldn't get MSCAN clock properties\n"); - goto exit_free_mscan; + goto exit_put_clock; } err = register_mscandev(dev, mscan_clksrc); if (err) { dev_err(&ofdev->dev, "registering %s failed (err=%d)\n", DRV_NAME, err); - goto exit_free_mscan; + goto exit_put_clock; } dev_info(&ofdev->dev, "MSCAN at 0x%p, irq %d, clock %d Hz\n", @@ -337,7 +337,9 @@ return 0; -exit_free_mscan: +exit_put_clock: + if (data->put_clock) + data->put_clock(ofdev); free_candev(dev); exit_dispose_irq: irq_dispose_mapping(irq); --- linux-gcp-5.19.0.orig/drivers/net/can/pch_can.c +++ linux-gcp-5.19.0/drivers/net/can/pch_can.c @@ -489,6 +489,7 @@ if (!skb) return; + errc = ioread32(&priv->regs->errc); if (status & PCH_BUS_OFF) { pch_can_set_tx_all(priv, 0); pch_can_set_rx_all(priv, 0); @@ -496,9 +497,11 @@ cf->can_id |= CAN_ERR_BUSOFF; priv->can.can_stats.bus_off++; can_bus_off(ndev); + } else { + cf->data[6] = errc & PCH_TEC; + cf->data[7] = (errc & PCH_REC) >> 8; } - errc = ioread32(&priv->regs->errc); /* Warning interrupt. */ if (status & PCH_EWARN) { state = CAN_STATE_ERROR_WARNING; @@ -556,9 +559,6 @@ break; } - cf->data[6] = errc & PCH_TEC; - cf->data[7] = (errc & PCH_REC) >> 8; - priv->can.state = state; netif_receive_skb(skb); } --- linux-gcp-5.19.0.orig/drivers/net/can/rcar/rcar_can.c +++ linux-gcp-5.19.0/drivers/net/can/rcar/rcar_can.c @@ -232,11 +232,8 @@ if (eifr & (RCAR_CAN_EIFR_EWIF | RCAR_CAN_EIFR_EPIF)) { txerr = readb(&priv->regs->tecr); rxerr = readb(&priv->regs->recr); - if (skb) { + if (skb) cf->can_id |= CAN_ERR_CRTL; - cf->data[6] = txerr; - cf->data[7] = rxerr; - } } if (eifr & RCAR_CAN_EIFR_BEIF) { int rx_errors = 0, tx_errors = 0; @@ -336,6 +333,9 @@ can_bus_off(ndev); if (skb) cf->can_id |= CAN_ERR_BUSOFF; + } else if (skb) { + cf->data[6] = txerr; + cf->data[7] = rxerr; } if (eifr & RCAR_CAN_EIFR_ORIF) { netdev_dbg(priv->ndev, "Receive overrun error interrupt\n"); --- linux-gcp-5.19.0.orig/drivers/net/can/rcar/rcar_canfd.c +++ linux-gcp-5.19.0/drivers/net/can/rcar/rcar_canfd.c @@ -80,8 +80,7 @@ /* RSCFDnCFDGERFL / RSCFDnGERFL */ #define RCANFD_GERFL_EEF0_7 GENMASK(23, 16) -#define RCANFD_GERFL_EEF1 BIT(17) -#define RCANFD_GERFL_EEF0 BIT(16) +#define RCANFD_GERFL_EEF(ch) BIT(16 + (ch)) #define RCANFD_GERFL_CMPOF BIT(3) /* CAN FD only */ #define RCANFD_GERFL_THLES BIT(2) #define RCANFD_GERFL_MES BIT(1) @@ -89,7 +88,7 @@ #define RCANFD_GERFL_ERR(gpriv, x) \ ((x) & (reg_v3u(gpriv, RCANFD_GERFL_EEF0_7, \ - RCANFD_GERFL_EEF0 | RCANFD_GERFL_EEF1) | \ + RCANFD_GERFL_EEF(0) | RCANFD_GERFL_EEF(1)) | \ RCANFD_GERFL_MES | \ ((gpriv)->fdmode ? RCANFD_GERFL_CMPOF : 0))) @@ -98,10 +97,10 @@ /* RSCFDnCFDGAFLCFG0 / RSCFDnGAFLCFG0 */ #define RCANFD_GAFLCFG_SETRNC(gpriv, n, x) \ (((x) & reg_v3u(gpriv, 0x1ff, 0xff)) << \ - (reg_v3u(gpriv, 16, 24) - (n) * reg_v3u(gpriv, 16, 8))) + (reg_v3u(gpriv, 16, 24) - ((n) & 1) * reg_v3u(gpriv, 16, 8))) #define RCANFD_GAFLCFG_GETRNC(gpriv, n, x) \ - (((x) >> (reg_v3u(gpriv, 16, 24) - (n) * reg_v3u(gpriv, 16, 8))) & \ + (((x) >> (reg_v3u(gpriv, 16, 24) - ((n) & 1) * reg_v3u(gpriv, 16, 8))) & \ reg_v3u(gpriv, 0x1ff, 0xff)) /* RSCFDnCFDGAFLECTR / RSCFDnGAFLECTR */ @@ -935,12 +934,8 @@ u32 ridx = ch + RCANFD_RFFIFO_IDX; gerfl = rcar_canfd_read(priv->base, RCANFD_GERFL); - if ((gerfl & RCANFD_GERFL_EEF0) && (ch == 0)) { - netdev_dbg(ndev, "Ch0: ECC Error flag\n"); - stats->tx_dropped++; - } - if ((gerfl & RCANFD_GERFL_EEF1) && (ch == 1)) { - netdev_dbg(ndev, "Ch1: ECC Error flag\n"); + if (gerfl & RCANFD_GERFL_EEF(ch)) { + netdev_dbg(ndev, "Ch%u: ECC Error flag\n", ch); stats->tx_dropped++; } if (gerfl & RCANFD_GERFL_MES) { @@ -1156,11 +1151,13 @@ { struct rcar_canfd_channel *priv = gpriv->ch[ch]; u32 ridx = ch + RCANFD_RFFIFO_IDX; - u32 sts; + u32 sts, cc; /* Handle Rx interrupts */ sts = rcar_canfd_read(priv->base, RCANFD_RFSTS(gpriv, ridx)); - if (likely(sts & RCANFD_RFSTS_RFIF)) { + cc = rcar_canfd_read(priv->base, RCANFD_RFCC(gpriv, ridx)); + if (likely(sts & RCANFD_RFSTS_RFIF && + cc & RCANFD_RFCC_RFIE)) { if (napi_schedule_prep(&priv->napi)) { /* Disable Rx FIFO interrupts */ rcar_canfd_clear_bit(priv->base, @@ -1243,11 +1240,9 @@ static irqreturn_t rcar_canfd_channel_tx_interrupt(int irq, void *dev_id) { - struct rcar_canfd_global *gpriv = dev_id; - u32 ch; + struct rcar_canfd_channel *priv = dev_id; - for_each_set_bit(ch, &gpriv->channels_mask, gpriv->max_channels) - rcar_canfd_handle_channel_tx(gpriv, ch); + rcar_canfd_handle_channel_tx(priv->gpriv, priv->channel); return IRQ_HANDLED; } @@ -1275,11 +1270,9 @@ static irqreturn_t rcar_canfd_channel_err_interrupt(int irq, void *dev_id) { - struct rcar_canfd_global *gpriv = dev_id; - u32 ch; + struct rcar_canfd_channel *priv = dev_id; - for_each_set_bit(ch, &gpriv->channels_mask, gpriv->max_channels) - rcar_canfd_handle_channel_err(gpriv, ch); + rcar_canfd_handle_channel_err(priv->gpriv, priv->channel); return IRQ_HANDLED; } @@ -1715,6 +1708,7 @@ priv->ndev = ndev; priv->base = gpriv->base; priv->channel = ch; + priv->gpriv = gpriv; priv->can.clock.freq = fcan_freq; dev_info(&pdev->dev, "can_clk rate is %u\n", priv->can.clock.freq); @@ -1743,7 +1737,7 @@ } err = devm_request_irq(&pdev->dev, err_irq, rcar_canfd_channel_err_interrupt, 0, - irq_name, gpriv); + irq_name, priv); if (err) { dev_err(&pdev->dev, "devm_request_irq CH Err(%d) failed, error %d\n", err_irq, err); @@ -1757,7 +1751,7 @@ } err = devm_request_irq(&pdev->dev, tx_irq, rcar_canfd_channel_tx_interrupt, 0, - irq_name, gpriv); + irq_name, priv); if (err) { dev_err(&pdev->dev, "devm_request_irq Tx (%d) failed, error %d\n", tx_irq, err); @@ -1783,7 +1777,6 @@ priv->can.do_set_mode = rcar_canfd_do_set_mode; priv->can.do_get_berr_counter = rcar_canfd_get_berr_counter; - priv->gpriv = gpriv; SET_NETDEV_DEV(ndev, &pdev->dev); netif_napi_add_weight(ndev, &priv->napi, rcar_canfd_rx_poll, --- linux-gcp-5.19.0.orig/drivers/net/can/sja1000/sja1000.c +++ linux-gcp-5.19.0/drivers/net/can/sja1000/sja1000.c @@ -402,9 +402,6 @@ txerr = priv->read_reg(priv, SJA1000_TXERR); rxerr = priv->read_reg(priv, SJA1000_RXERR); - cf->data[6] = txerr; - cf->data[7] = rxerr; - if (isrc & IRQ_DOI) { /* data overrun interrupt */ netdev_dbg(dev, "data overrun interrupt\n"); @@ -426,6 +423,10 @@ else state = CAN_STATE_ERROR_ACTIVE; } + if (state != CAN_STATE_BUS_OFF) { + cf->data[6] = txerr; + cf->data[7] = rxerr; + } if (isrc & IRQ_BEI) { /* bus error interrupt */ priv->can.can_stats.bus_error++; --- linux-gcp-5.19.0.orig/drivers/net/can/sja1000/sja1000_isa.c +++ linux-gcp-5.19.0/drivers/net/can/sja1000/sja1000_isa.c @@ -202,22 +202,24 @@ if (err) { dev_err(&pdev->dev, "registering %s failed (err=%d)\n", DRV_NAME, err); - goto exit_unmap; + goto exit_free; } dev_info(&pdev->dev, "%s device registered (reg_base=0x%p, irq=%d)\n", DRV_NAME, priv->reg_base, dev->irq); return 0; - exit_unmap: +exit_free: + free_sja1000dev(dev); +exit_unmap: if (mem[idx]) iounmap(base); - exit_release: +exit_release: if (mem[idx]) release_mem_region(mem[idx], iosize); else release_region(port[idx], iosize); - exit: +exit: return err; } --- linux-gcp-5.19.0.orig/drivers/net/can/spi/hi311x.c +++ linux-gcp-5.19.0/drivers/net/can/spi/hi311x.c @@ -667,8 +667,6 @@ txerr = hi3110_read(spi, HI3110_READ_TEC); rxerr = hi3110_read(spi, HI3110_READ_REC); - cf->data[6] = txerr; - cf->data[7] = rxerr; tx_state = txerr >= rxerr ? new_state : 0; rx_state = txerr <= rxerr ? new_state : 0; can_change_state(net, cf, tx_state, rx_state); @@ -681,6 +679,9 @@ hi3110_hw_sleep(spi); break; } + } else { + cf->data[6] = txerr; + cf->data[7] = rxerr; } } --- linux-gcp-5.19.0.orig/drivers/net/can/spi/mcp251x.c +++ linux-gcp-5.19.0/drivers/net/can/spi/mcp251x.c @@ -1069,9 +1069,6 @@ mcp251x_read_2regs(spi, CANINTF, &intf, &eflag); - /* mask out flags we don't care about */ - intf &= CANINTF_RX | CANINTF_TX | CANINTF_ERR; - /* receive buffer 0 */ if (intf & CANINTF_RX0IF) { mcp251x_hw_rx(spi, 0); @@ -1081,6 +1078,18 @@ if (mcp251x_is_2510(spi)) mcp251x_write_bits(spi, CANINTF, CANINTF_RX0IF, 0x00); + + /* check if buffer 1 is already known to be full, no need to re-read */ + if (!(intf & CANINTF_RX1IF)) { + u8 intf1, eflag1; + + /* intf needs to be read again to avoid a race condition */ + mcp251x_read_2regs(spi, CANINTF, &intf1, &eflag1); + + /* combine flags from both operations for error handling */ + intf |= intf1; + eflag |= eflag1; + } } /* receive buffer 1 */ @@ -1091,6 +1100,9 @@ clear_intf |= CANINTF_RX1IF; } + /* mask out flags we don't care about */ + intf &= CANINTF_RX | CANINTF_TX | CANINTF_ERR; + /* any error or tx interrupt we need to clear? */ if (intf & (CANINTF_ERR | CANINTF_TX)) clear_intf |= intf & (CANINTF_ERR | CANINTF_TX); @@ -1397,11 +1409,14 @@ ret = mcp251x_gpio_setup(priv); if (ret) - goto error_probe; + goto out_unregister_candev; netdev_info(net, "MCP%x successfully initialized.\n", priv->model); return 0; +out_unregister_candev: + unregister_candev(net); + error_probe: destroy_workqueue(priv->wq); priv->wq = NULL; --- linux-gcp-5.19.0.orig/drivers/net/can/spi/mcp251xfd/mcp251xfd-ethtool.c +++ linux-gcp-5.19.0/drivers/net/can/spi/mcp251xfd/mcp251xfd-ethtool.c @@ -48,6 +48,7 @@ priv->rx_obj_num = layout.cur_rx; priv->rx_obj_num_coalesce_irq = layout.rx_coalesce; priv->tx->obj_num = layout.cur_tx; + priv->tx_obj_num_coalesce_irq = layout.tx_coalesce; return 0; } --- linux-gcp-5.19.0.orig/drivers/net/can/sun4i_can.c +++ linux-gcp-5.19.0/drivers/net/can/sun4i_can.c @@ -535,11 +535,6 @@ rxerr = (errc >> 16) & 0xFF; txerr = errc & 0xFF; - if (skb) { - cf->data[6] = txerr; - cf->data[7] = rxerr; - } - if (isrc & SUN4I_INT_DATA_OR) { /* data overrun interrupt */ netdev_dbg(dev, "data overrun interrupt\n"); @@ -570,6 +565,10 @@ else state = CAN_STATE_ERROR_ACTIVE; } + if (skb && state != CAN_STATE_BUS_OFF) { + cf->data[6] = txerr; + cf->data[7] = rxerr; + } if (isrc & SUN4I_INT_BUS_ERR) { /* bus error interrupt */ netdev_dbg(dev, "bus error interrupt\n"); --- linux-gcp-5.19.0.orig/drivers/net/can/usb/ems_usb.c +++ linux-gcp-5.19.0/drivers/net/can/usb/ems_usb.c @@ -194,7 +194,7 @@ __le32 ts_sec; /* timestamp in seconds */ __le32 ts_nsec; /* timestamp in nano seconds */ - union { + union __packed { u8 generic[64]; struct cpc_can_msg can_msg; struct cpc_can_params can_params; --- linux-gcp-5.19.0.orig/drivers/net/can/usb/esd_usb2.c +++ linux-gcp-5.19.0/drivers/net/can/usb/esd_usb2.c @@ -226,6 +226,10 @@ u8 rxerr = msg->msg.rx.data[2]; u8 txerr = msg->msg.rx.data[3]; + netdev_dbg(priv->netdev, + "CAN_ERR_EV_EXT: dlc=%#02x state=%02x ecc=%02x rec=%02x tec=%02x\n", + msg->msg.rx.dlc, state, ecc, rxerr, txerr); + skb = alloc_can_err_skb(priv->netdev, &cf); if (skb == NULL) { stats->rx_dropped++; @@ -252,6 +256,8 @@ break; default: priv->can.state = CAN_STATE_ERROR_ACTIVE; + txerr = 0; + rxerr = 0; break; } } else { @@ -271,7 +277,6 @@ cf->data[2] |= CAN_ERR_PROT_STUFF; break; default: - cf->data[3] = ecc & SJA1000_ECC_SEG; break; } @@ -279,6 +284,9 @@ if (!(ecc & SJA1000_ECC_DIR)) cf->data[2] |= CAN_ERR_PROT_TX; + /* Bit stream position in CAN frame as the error was detected */ + cf->data[3] = ecc & SJA1000_ECC_SEG; + if (priv->can.state == CAN_STATE_ERROR_WARNING || priv->can.state == CAN_STATE_ERROR_PASSIVE) { cf->data[1] = (txerr > rxerr) ? --- linux-gcp-5.19.0.orig/drivers/net/can/usb/etas_es58x/es58x_core.c +++ linux-gcp-5.19.0/drivers/net/can/usb/etas_es58x/es58x_core.c @@ -2092,8 +2092,11 @@ netdev->dev_port = channel_idx; ret = register_candev(netdev); - if (ret) + if (ret) { + es58x_dev->netdev[channel_idx] = NULL; + free_candev(netdev); return ret; + } netdev_queue_set_dql_min_limit(netdev_get_tx_queue(netdev, 0), es58x_dev->param->dql_min_limit); --- linux-gcp-5.19.0.orig/drivers/net/can/usb/gs_usb.c +++ linux-gcp-5.19.0/drivers/net/can/usb/gs_usb.c @@ -268,8 +268,6 @@ struct usb_anchor tx_submitted; atomic_t active_tx_urbs; - void *rxbuf[GS_MAX_RX_URBS]; - dma_addr_t rxbuf_dma[GS_MAX_RX_URBS]; }; /* usb interface struct */ @@ -587,9 +585,6 @@ if (urb->status) netdev_info(netdev, "usb xmit fail %u\n", txc->echo_id); - - usb_free_coherent(urb->dev, urb->transfer_buffer_length, - urb->transfer_buffer, urb->transfer_dma); } static netdev_tx_t gs_can_start_xmit(struct sk_buff *skb, @@ -618,8 +613,7 @@ if (!urb) goto nomem_urb; - hf = usb_alloc_coherent(dev->udev, dev->hf_size_tx, GFP_ATOMIC, - &urb->transfer_dma); + hf = kmalloc(dev->hf_size_tx, GFP_ATOMIC); if (!hf) { netdev_err(netdev, "No memory left for USB buffer\n"); goto nomem_hf; @@ -663,7 +657,7 @@ hf, dev->hf_size_tx, gs_usb_xmit_callback, txc); - urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; + urb->transfer_flags |= URB_FREE_BUFFER; usb_anchor_urb(urb, &dev->tx_submitted); can_put_echo_skb(skb, netdev, idx, 0); @@ -678,8 +672,6 @@ gs_free_tx_context(txc); usb_unanchor_urb(urb); - usb_free_coherent(dev->udev, urb->transfer_buffer_length, - urb->transfer_buffer, urb->transfer_dma); if (rc == -ENODEV) { netif_device_detach(netdev); @@ -699,8 +691,7 @@ return NETDEV_TX_OK; badidx: - usb_free_coherent(dev->udev, urb->transfer_buffer_length, - urb->transfer_buffer, urb->transfer_dma); + kfree(hf); nomem_hf: usb_free_urb(urb); @@ -744,7 +735,6 @@ for (i = 0; i < GS_MAX_RX_URBS; i++) { struct urb *urb; u8 *buf; - dma_addr_t buf_dma; /* alloc rx urb */ urb = usb_alloc_urb(0, GFP_KERNEL); @@ -752,10 +742,8 @@ return -ENOMEM; /* alloc rx buffer */ - buf = usb_alloc_coherent(dev->udev, - dev->parent->hf_size_rx, - GFP_KERNEL, - &buf_dma); + buf = kmalloc(dev->parent->hf_size_rx, + GFP_KERNEL); if (!buf) { netdev_err(netdev, "No memory left for USB buffer\n"); @@ -763,8 +751,6 @@ return -ENOMEM; } - urb->transfer_dma = buf_dma; - /* fill, anchor, and submit rx urb */ usb_fill_bulk_urb(urb, dev->udev, @@ -773,7 +759,7 @@ buf, dev->parent->hf_size_rx, gs_usb_receive_bulk_callback, parent); - urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; + urb->transfer_flags |= URB_FREE_BUFFER; usb_anchor_urb(urb, &parent->rx_submitted); @@ -786,17 +772,10 @@ "usb_submit failed (err=%d)\n", rc); usb_unanchor_urb(urb); - usb_free_coherent(dev->udev, - sizeof(struct gs_host_frame), - buf, - buf_dma); usb_free_urb(urb); break; } - dev->rxbuf[i] = buf; - dev->rxbuf_dma[i] = buf_dma; - /* Drop reference, * USB core will take care of freeing it */ @@ -824,6 +803,7 @@ flags |= GS_CAN_MODE_TRIPLE_SAMPLE; /* finally start device */ + dev->can.state = CAN_STATE_ERROR_ACTIVE; dm->mode = cpu_to_le32(GS_CAN_MODE_START); dm->flags = cpu_to_le32(flags); rc = usb_control_msg(interface_to_usbdev(dev->iface), @@ -835,13 +815,12 @@ if (rc < 0) { netdev_err(netdev, "Couldn't start device (err=%d)\n", rc); kfree(dm); + dev->can.state = CAN_STATE_STOPPED; return rc; } kfree(dm); - dev->can.state = CAN_STATE_ERROR_ACTIVE; - parent->active_channels++; if (!(dev->can.ctrlmode & CAN_CTRLMODE_LISTENONLY)) netif_start_queue(netdev); @@ -854,7 +833,6 @@ int rc; struct gs_can *dev = netdev_priv(netdev); struct gs_usb *parent = dev->parent; - unsigned int i; netif_stop_queue(netdev); @@ -862,11 +840,6 @@ parent->active_channels--; if (!parent->active_channels) { usb_kill_anchored_urbs(&parent->rx_submitted); - for (i = 0; i < GS_MAX_RX_URBS; i++) - usb_free_coherent(dev->udev, - sizeof(struct gs_host_frame), - dev->rxbuf[i], - dev->rxbuf_dma[i]); } /* Stop sending URBs */ --- linux-gcp-5.19.0.orig/drivers/net/can/usb/kvaser_usb/kvaser_usb.h +++ linux-gcp-5.19.0/drivers/net/can/usb/kvaser_usb/kvaser_usb.h @@ -75,6 +75,14 @@ u32 echo_index; }; +struct kvaser_usb_busparams { + __le32 bitrate; + u8 tseg1; + u8 tseg2; + u8 sjw; + u8 nsamples; +} __packed; + struct kvaser_usb { struct usb_device *udev; struct usb_interface *intf; @@ -103,13 +111,19 @@ struct can_priv can; struct can_berr_counter bec; + /* subdriver-specific data */ + void *sub_priv; + struct kvaser_usb *dev; struct net_device *netdev; int channel; - struct completion start_comp, stop_comp, flush_comp; + struct completion start_comp, stop_comp, flush_comp, + get_busparams_comp; struct usb_anchor tx_submitted; + struct kvaser_usb_busparams busparams_nominal, busparams_data; + spinlock_t tx_contexts_lock; /* lock for active_tx_contexts */ int active_tx_contexts; struct kvaser_usb_tx_urb_context tx_contexts[]; @@ -119,11 +133,15 @@ * struct kvaser_usb_dev_ops - Device specific functions * @dev_set_mode: used for can.do_set_mode * @dev_set_bittiming: used for can.do_set_bittiming + * @dev_get_busparams: readback arbitration busparams * @dev_set_data_bittiming: used for can.do_set_data_bittiming + * @dev_get_data_busparams: readback data busparams * @dev_get_berr_counter: used for can.do_get_berr_counter * * @dev_setup_endpoints: setup USB in and out endpoints * @dev_init_card: initialize card + * @dev_init_channel: initialize channel + * @dev_remove_channel: uninitialize channel * @dev_get_software_info: get software info * @dev_get_software_details: get software details * @dev_get_card_info: get card info @@ -139,12 +157,18 @@ */ struct kvaser_usb_dev_ops { int (*dev_set_mode)(struct net_device *netdev, enum can_mode mode); - int (*dev_set_bittiming)(struct net_device *netdev); - int (*dev_set_data_bittiming)(struct net_device *netdev); + int (*dev_set_bittiming)(const struct net_device *netdev, + const struct kvaser_usb_busparams *busparams); + int (*dev_get_busparams)(struct kvaser_usb_net_priv *priv); + int (*dev_set_data_bittiming)(const struct net_device *netdev, + const struct kvaser_usb_busparams *busparams); + int (*dev_get_data_busparams)(struct kvaser_usb_net_priv *priv); int (*dev_get_berr_counter)(const struct net_device *netdev, struct can_berr_counter *bec); int (*dev_setup_endpoints)(struct kvaser_usb *dev); int (*dev_init_card)(struct kvaser_usb *dev); + int (*dev_init_channel)(struct kvaser_usb_net_priv *priv); + void (*dev_remove_channel)(struct kvaser_usb_net_priv *priv); int (*dev_get_software_info)(struct kvaser_usb *dev); int (*dev_get_software_details)(struct kvaser_usb *dev); int (*dev_get_card_info)(struct kvaser_usb *dev); @@ -177,6 +201,8 @@ extern const struct kvaser_usb_dev_ops kvaser_usb_hydra_dev_ops; extern const struct kvaser_usb_dev_ops kvaser_usb_leaf_dev_ops; +void kvaser_usb_unlink_tx_urbs(struct kvaser_usb_net_priv *priv); + int kvaser_usb_recv_cmd(const struct kvaser_usb *dev, void *cmd, int len, int *actual_len); --- linux-gcp-5.19.0.orig/drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c +++ linux-gcp-5.19.0/drivers/net/can/usb/kvaser_usb/kvaser_usb_core.c @@ -439,10 +439,6 @@ if (err) return err; - err = kvaser_usb_setup_rx_urbs(dev); - if (err) - goto error; - err = ops->dev_set_opt_mode(priv); if (err) goto error; @@ -476,7 +472,7 @@ /* This method might sleep. Do not call it in the atomic context * of URB completions. */ -static void kvaser_usb_unlink_tx_urbs(struct kvaser_usb_net_priv *priv) +void kvaser_usb_unlink_tx_urbs(struct kvaser_usb_net_priv *priv) { usb_kill_anchored_urbs(&priv->tx_submitted); kvaser_usb_reset_tx_urb_contexts(priv); @@ -533,6 +529,93 @@ return 0; } +static int kvaser_usb_set_bittiming(struct net_device *netdev) +{ + struct kvaser_usb_net_priv *priv = netdev_priv(netdev); + struct kvaser_usb *dev = priv->dev; + const struct kvaser_usb_dev_ops *ops = dev->driver_info->ops; + struct can_bittiming *bt = &priv->can.bittiming; + + struct kvaser_usb_busparams busparams; + int tseg1 = bt->prop_seg + bt->phase_seg1; + int tseg2 = bt->phase_seg2; + int sjw = bt->sjw; + int err = -EOPNOTSUPP; + + busparams.bitrate = cpu_to_le32(bt->bitrate); + busparams.sjw = (u8)sjw; + busparams.tseg1 = (u8)tseg1; + busparams.tseg2 = (u8)tseg2; + if (priv->can.ctrlmode & CAN_CTRLMODE_3_SAMPLES) + busparams.nsamples = 3; + else + busparams.nsamples = 1; + + err = ops->dev_set_bittiming(netdev, &busparams); + if (err) + return err; + + err = kvaser_usb_setup_rx_urbs(priv->dev); + if (err) + return err; + + err = ops->dev_get_busparams(priv); + if (err) { + /* Treat EOPNOTSUPP as success */ + if (err == -EOPNOTSUPP) + err = 0; + return err; + } + + if (memcmp(&busparams, &priv->busparams_nominal, + sizeof(priv->busparams_nominal)) != 0) + err = -EINVAL; + + return err; +} + +static int kvaser_usb_set_data_bittiming(struct net_device *netdev) +{ + struct kvaser_usb_net_priv *priv = netdev_priv(netdev); + struct kvaser_usb *dev = priv->dev; + const struct kvaser_usb_dev_ops *ops = dev->driver_info->ops; + struct can_bittiming *dbt = &priv->can.data_bittiming; + + struct kvaser_usb_busparams busparams; + int tseg1 = dbt->prop_seg + dbt->phase_seg1; + int tseg2 = dbt->phase_seg2; + int sjw = dbt->sjw; + int err; + + if (!ops->dev_set_data_bittiming || + !ops->dev_get_data_busparams) + return -EOPNOTSUPP; + + busparams.bitrate = cpu_to_le32(dbt->bitrate); + busparams.sjw = (u8)sjw; + busparams.tseg1 = (u8)tseg1; + busparams.tseg2 = (u8)tseg2; + busparams.nsamples = 1; + + err = ops->dev_set_data_bittiming(netdev, &busparams); + if (err) + return err; + + err = kvaser_usb_setup_rx_urbs(priv->dev); + if (err) + return err; + + err = ops->dev_get_data_busparams(priv); + if (err) + return err; + + if (memcmp(&busparams, &priv->busparams_data, + sizeof(priv->busparams_data)) != 0) + err = -EINVAL; + + return err; +} + static void kvaser_usb_write_bulk_callback(struct urb *urb) { struct kvaser_usb_tx_urb_context *context = urb->context; @@ -667,6 +750,7 @@ static void kvaser_usb_remove_interfaces(struct kvaser_usb *dev) { + const struct kvaser_usb_dev_ops *ops = dev->driver_info->ops; int i; for (i = 0; i < dev->nchannels; i++) { @@ -682,6 +766,9 @@ if (!dev->nets[i]) continue; + if (ops->dev_remove_channel) + ops->dev_remove_channel(dev->nets[i]); + free_candev(dev->nets[i]->netdev); } } @@ -712,6 +799,8 @@ init_usb_anchor(&priv->tx_submitted); init_completion(&priv->start_comp); init_completion(&priv->stop_comp); + init_completion(&priv->flush_comp); + init_completion(&priv->get_busparams_comp); priv->can.ctrlmode_supported = 0; priv->dev = dev; @@ -724,7 +813,7 @@ priv->can.state = CAN_STATE_STOPPED; priv->can.clock.freq = dev->cfg->clock.freq; priv->can.bittiming_const = dev->cfg->bittiming_const; - priv->can.do_set_bittiming = ops->dev_set_bittiming; + priv->can.do_set_bittiming = kvaser_usb_set_bittiming; priv->can.do_set_mode = ops->dev_set_mode; if ((driver_info->quirks & KVASER_USB_QUIRK_HAS_TXRX_ERRORS) || (priv->dev->card_data.capabilities & KVASER_USB_CAP_BERR_CAP)) @@ -736,7 +825,7 @@ if (priv->can.ctrlmode_supported & CAN_CTRLMODE_FD) { priv->can.data_bittiming_const = dev->cfg->data_bittiming_const; - priv->can.do_set_data_bittiming = ops->dev_set_data_bittiming; + priv->can.do_set_data_bittiming = kvaser_usb_set_data_bittiming; } netdev->flags |= IFF_ECHO; @@ -748,17 +837,26 @@ dev->nets[channel] = priv; + if (ops->dev_init_channel) { + err = ops->dev_init_channel(priv); + if (err) + goto err; + } + err = register_candev(netdev); if (err) { dev_err(&dev->intf->dev, "Failed to register CAN device\n"); - free_candev(netdev); - dev->nets[channel] = NULL; - return err; + goto err; } netdev_dbg(netdev, "device registered\n"); return 0; + +err: + free_candev(netdev); + dev->nets[channel] = NULL; + return err; } static int kvaser_usb_probe(struct usb_interface *intf, --- linux-gcp-5.19.0.orig/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c +++ linux-gcp-5.19.0/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c @@ -45,6 +45,8 @@ /* Minihydra command IDs */ #define CMD_SET_BUSPARAMS_REQ 16 +#define CMD_GET_BUSPARAMS_REQ 17 +#define CMD_GET_BUSPARAMS_RESP 18 #define CMD_GET_CHIP_STATE_REQ 19 #define CMD_CHIP_STATE_EVENT 20 #define CMD_SET_DRIVERMODE_REQ 21 @@ -196,21 +198,26 @@ #define KVASER_USB_HYDRA_BUS_MODE_CANFD_ISO 0x01 #define KVASER_USB_HYDRA_BUS_MODE_NONISO 0x02 struct kvaser_cmd_set_busparams { - __le32 bitrate; - u8 tseg1; - u8 tseg2; - u8 sjw; - u8 nsamples; + struct kvaser_usb_busparams busparams_nominal; u8 reserved0[4]; - __le32 bitrate_d; - u8 tseg1_d; - u8 tseg2_d; - u8 sjw_d; - u8 nsamples_d; + struct kvaser_usb_busparams busparams_data; u8 canfd_mode; u8 reserved1[7]; } __packed; +/* Busparam type */ +#define KVASER_USB_HYDRA_BUSPARAM_TYPE_CAN 0x00 +#define KVASER_USB_HYDRA_BUSPARAM_TYPE_CANFD 0x01 +struct kvaser_cmd_get_busparams_req { + u8 type; + u8 reserved[27]; +} __packed; + +struct kvaser_cmd_get_busparams_res { + struct kvaser_usb_busparams busparams; + u8 reserved[20]; +} __packed; + /* Ctrl modes */ #define KVASER_USB_HYDRA_CTRLMODE_NORMAL 0x01 #define KVASER_USB_HYDRA_CTRLMODE_LISTEN 0x02 @@ -281,6 +288,8 @@ struct kvaser_cmd_error_event error_event; struct kvaser_cmd_set_busparams set_busparams_req; + struct kvaser_cmd_get_busparams_req get_busparams_req; + struct kvaser_cmd_get_busparams_res get_busparams_res; struct kvaser_cmd_chip_state_event chip_state_event; @@ -363,6 +372,10 @@ } __packed; } __packed; +struct kvaser_usb_net_hydra_priv { + int pending_get_busparams_type; +}; + static const struct can_bittiming_const kvaser_usb_hydra_kcan_bittiming_c = { .name = "kvaser_usb_kcan", .tseg1_min = 1, @@ -532,6 +545,7 @@ u8 cmd_no, int channel) { struct kvaser_cmd *cmd; + size_t cmd_len; int err; cmd = kcalloc(1, sizeof(struct kvaser_cmd), GFP_KERNEL); @@ -539,6 +553,7 @@ return -ENOMEM; cmd->header.cmd_no = cmd_no; + cmd_len = kvaser_usb_hydra_cmd_size(cmd); if (channel < 0) { kvaser_usb_hydra_set_cmd_dest_he (cmd, KVASER_USB_HYDRA_HE_ADDRESS_ILLEGAL); @@ -555,7 +570,7 @@ kvaser_usb_hydra_set_cmd_transid (cmd, kvaser_usb_hydra_get_next_transid(dev)); - err = kvaser_usb_send_cmd(dev, cmd, kvaser_usb_hydra_cmd_size(cmd)); + err = kvaser_usb_send_cmd(dev, cmd, cmd_len); if (err) goto end; @@ -571,6 +586,7 @@ { struct kvaser_cmd *cmd; struct kvaser_usb *dev = priv->dev; + size_t cmd_len; int err; cmd = kcalloc(1, sizeof(struct kvaser_cmd), GFP_ATOMIC); @@ -578,14 +594,14 @@ return -ENOMEM; cmd->header.cmd_no = cmd_no; + cmd_len = kvaser_usb_hydra_cmd_size(cmd); kvaser_usb_hydra_set_cmd_dest_he (cmd, dev->card_data.hydra.channel_to_he[priv->channel]); kvaser_usb_hydra_set_cmd_transid (cmd, kvaser_usb_hydra_get_next_transid(dev)); - err = kvaser_usb_send_cmd_async(priv, cmd, - kvaser_usb_hydra_cmd_size(cmd)); + err = kvaser_usb_send_cmd_async(priv, cmd, cmd_len); if (err) kfree(cmd); @@ -729,6 +745,7 @@ { struct kvaser_usb_dev_card_data *card_data = &dev->card_data; struct kvaser_cmd *cmd; + size_t cmd_len; u32 value = 0; u32 mask = 0; u16 cap_cmd_res; @@ -740,13 +757,14 @@ return -ENOMEM; cmd->header.cmd_no = CMD_GET_CAPABILITIES_REQ; + cmd_len = kvaser_usb_hydra_cmd_size(cmd); cmd->cap_req.cap_cmd = cpu_to_le16(cap_cmd_req); kvaser_usb_hydra_set_cmd_dest_he(cmd, card_data->hydra.sysdbg_he); kvaser_usb_hydra_set_cmd_transid (cmd, kvaser_usb_hydra_get_next_transid(dev)); - err = kvaser_usb_send_cmd(dev, cmd, kvaser_usb_hydra_cmd_size(cmd)); + err = kvaser_usb_send_cmd(dev, cmd, cmd_len); if (err) goto end; @@ -840,6 +858,39 @@ complete(&priv->flush_comp); } +static void kvaser_usb_hydra_get_busparams_reply(const struct kvaser_usb *dev, + const struct kvaser_cmd *cmd) +{ + struct kvaser_usb_net_priv *priv; + struct kvaser_usb_net_hydra_priv *hydra; + + priv = kvaser_usb_hydra_net_priv_from_cmd(dev, cmd); + if (!priv) + return; + + hydra = priv->sub_priv; + if (!hydra) + return; + + switch (hydra->pending_get_busparams_type) { + case KVASER_USB_HYDRA_BUSPARAM_TYPE_CAN: + memcpy(&priv->busparams_nominal, &cmd->get_busparams_res.busparams, + sizeof(priv->busparams_nominal)); + break; + case KVASER_USB_HYDRA_BUSPARAM_TYPE_CANFD: + memcpy(&priv->busparams_data, &cmd->get_busparams_res.busparams, + sizeof(priv->busparams_nominal)); + break; + default: + dev_warn(&dev->intf->dev, "Unknown get_busparams_type %d\n", + hydra->pending_get_busparams_type); + break; + } + hydra->pending_get_busparams_type = -1; + + complete(&priv->get_busparams_comp); +} + static void kvaser_usb_hydra_bus_status_to_can_state(const struct kvaser_usb_net_priv *priv, u8 bus_status, @@ -917,8 +968,10 @@ new_state < CAN_STATE_BUS_OFF) priv->can.can_stats.restarts++; - cf->data[6] = bec->txerr; - cf->data[7] = bec->rxerr; + if (new_state != CAN_STATE_BUS_OFF) { + cf->data[6] = bec->txerr; + cf->data[7] = bec->rxerr; + } netif_rx(skb); } @@ -1069,8 +1122,10 @@ shhwtstamps->hwtstamp = hwtstamp; cf->can_id |= CAN_ERR_BUSERROR; - cf->data[6] = bec.txerr; - cf->data[7] = bec.rxerr; + if (new_state != CAN_STATE_BUS_OFF) { + cf->data[6] = bec.txerr; + cf->data[7] = bec.rxerr; + } netif_rx(skb); @@ -1320,6 +1375,10 @@ kvaser_usb_hydra_state_event(dev, cmd); break; + case CMD_GET_BUSPARAMS_RESP: + kvaser_usb_hydra_get_busparams_reply(dev, cmd); + break; + case CMD_ERROR_EVENT: kvaser_usb_hydra_error_event(dev, cmd); break; @@ -1516,15 +1575,61 @@ return err; } -static int kvaser_usb_hydra_set_bittiming(struct net_device *netdev) +static int kvaser_usb_hydra_get_busparams(struct kvaser_usb_net_priv *priv, + int busparams_type) +{ + struct kvaser_usb *dev = priv->dev; + struct kvaser_usb_net_hydra_priv *hydra = priv->sub_priv; + struct kvaser_cmd *cmd; + size_t cmd_len; + int err; + + if (!hydra) + return -EINVAL; + + cmd = kcalloc(1, sizeof(struct kvaser_cmd), GFP_KERNEL); + if (!cmd) + return -ENOMEM; + + cmd->header.cmd_no = CMD_GET_BUSPARAMS_REQ; + cmd_len = kvaser_usb_hydra_cmd_size(cmd); + kvaser_usb_hydra_set_cmd_dest_he + (cmd, dev->card_data.hydra.channel_to_he[priv->channel]); + kvaser_usb_hydra_set_cmd_transid + (cmd, kvaser_usb_hydra_get_next_transid(dev)); + cmd->get_busparams_req.type = busparams_type; + hydra->pending_get_busparams_type = busparams_type; + + reinit_completion(&priv->get_busparams_comp); + + err = kvaser_usb_send_cmd(dev, cmd, cmd_len); + if (err) + return err; + + if (!wait_for_completion_timeout(&priv->get_busparams_comp, + msecs_to_jiffies(KVASER_USB_TIMEOUT))) + return -ETIMEDOUT; + + return err; +} + +static int kvaser_usb_hydra_get_nominal_busparams(struct kvaser_usb_net_priv *priv) +{ + return kvaser_usb_hydra_get_busparams(priv, KVASER_USB_HYDRA_BUSPARAM_TYPE_CAN); +} + +static int kvaser_usb_hydra_get_data_busparams(struct kvaser_usb_net_priv *priv) +{ + return kvaser_usb_hydra_get_busparams(priv, KVASER_USB_HYDRA_BUSPARAM_TYPE_CANFD); +} + +static int kvaser_usb_hydra_set_bittiming(const struct net_device *netdev, + const struct kvaser_usb_busparams *busparams) { struct kvaser_cmd *cmd; struct kvaser_usb_net_priv *priv = netdev_priv(netdev); - struct can_bittiming *bt = &priv->can.bittiming; struct kvaser_usb *dev = priv->dev; - int tseg1 = bt->prop_seg + bt->phase_seg1; - int tseg2 = bt->phase_seg2; - int sjw = bt->sjw; + size_t cmd_len; int err; cmd = kcalloc(1, sizeof(struct kvaser_cmd), GFP_KERNEL); @@ -1532,33 +1637,29 @@ return -ENOMEM; cmd->header.cmd_no = CMD_SET_BUSPARAMS_REQ; - cmd->set_busparams_req.bitrate = cpu_to_le32(bt->bitrate); - cmd->set_busparams_req.sjw = (u8)sjw; - cmd->set_busparams_req.tseg1 = (u8)tseg1; - cmd->set_busparams_req.tseg2 = (u8)tseg2; - cmd->set_busparams_req.nsamples = 1; + cmd_len = kvaser_usb_hydra_cmd_size(cmd); + memcpy(&cmd->set_busparams_req.busparams_nominal, busparams, + sizeof(cmd->set_busparams_req.busparams_nominal)); kvaser_usb_hydra_set_cmd_dest_he (cmd, dev->card_data.hydra.channel_to_he[priv->channel]); kvaser_usb_hydra_set_cmd_transid (cmd, kvaser_usb_hydra_get_next_transid(dev)); - err = kvaser_usb_send_cmd(dev, cmd, kvaser_usb_hydra_cmd_size(cmd)); + err = kvaser_usb_send_cmd(dev, cmd, cmd_len); kfree(cmd); return err; } -static int kvaser_usb_hydra_set_data_bittiming(struct net_device *netdev) +static int kvaser_usb_hydra_set_data_bittiming(const struct net_device *netdev, + const struct kvaser_usb_busparams *busparams) { struct kvaser_cmd *cmd; struct kvaser_usb_net_priv *priv = netdev_priv(netdev); - struct can_bittiming *dbt = &priv->can.data_bittiming; struct kvaser_usb *dev = priv->dev; - int tseg1 = dbt->prop_seg + dbt->phase_seg1; - int tseg2 = dbt->phase_seg2; - int sjw = dbt->sjw; + size_t cmd_len; int err; cmd = kcalloc(1, sizeof(struct kvaser_cmd), GFP_KERNEL); @@ -1566,11 +1667,9 @@ return -ENOMEM; cmd->header.cmd_no = CMD_SET_BUSPARAMS_FD_REQ; - cmd->set_busparams_req.bitrate_d = cpu_to_le32(dbt->bitrate); - cmd->set_busparams_req.sjw_d = (u8)sjw; - cmd->set_busparams_req.tseg1_d = (u8)tseg1; - cmd->set_busparams_req.tseg2_d = (u8)tseg2; - cmd->set_busparams_req.nsamples_d = 1; + cmd_len = kvaser_usb_hydra_cmd_size(cmd); + memcpy(&cmd->set_busparams_req.busparams_data, busparams, + sizeof(cmd->set_busparams_req.busparams_data)); if (priv->can.ctrlmode & CAN_CTRLMODE_FD) { if (priv->can.ctrlmode & CAN_CTRLMODE_FD_NON_ISO) @@ -1586,7 +1685,7 @@ kvaser_usb_hydra_set_cmd_transid (cmd, kvaser_usb_hydra_get_next_transid(dev)); - err = kvaser_usb_send_cmd(dev, cmd, kvaser_usb_hydra_cmd_size(cmd)); + err = kvaser_usb_send_cmd(dev, cmd, cmd_len); kfree(cmd); @@ -1677,6 +1776,19 @@ return 0; } +static int kvaser_usb_hydra_init_channel(struct kvaser_usb_net_priv *priv) +{ + struct kvaser_usb_net_hydra_priv *hydra; + + hydra = devm_kzalloc(&priv->dev->intf->dev, sizeof(*hydra), GFP_KERNEL); + if (!hydra) + return -ENOMEM; + + priv->sub_priv = hydra; + + return 0; +} + static int kvaser_usb_hydra_get_software_info(struct kvaser_usb *dev) { struct kvaser_cmd cmd; @@ -1701,6 +1813,7 @@ static int kvaser_usb_hydra_get_software_details(struct kvaser_usb *dev) { struct kvaser_cmd *cmd; + size_t cmd_len; int err; u32 flags; struct kvaser_usb_dev_card_data *card_data = &dev->card_data; @@ -1710,6 +1823,7 @@ return -ENOMEM; cmd->header.cmd_no = CMD_GET_SOFTWARE_DETAILS_REQ; + cmd_len = kvaser_usb_hydra_cmd_size(cmd); cmd->sw_detail_req.use_ext_cmd = 1; kvaser_usb_hydra_set_cmd_dest_he (cmd, KVASER_USB_HYDRA_HE_ADDRESS_ILLEGAL); @@ -1717,7 +1831,7 @@ kvaser_usb_hydra_set_cmd_transid (cmd, kvaser_usb_hydra_get_next_transid(dev)); - err = kvaser_usb_send_cmd(dev, cmd, kvaser_usb_hydra_cmd_size(cmd)); + err = kvaser_usb_send_cmd(dev, cmd, cmd_len); if (err) goto end; @@ -1835,6 +1949,7 @@ { struct kvaser_usb *dev = priv->dev; struct kvaser_cmd *cmd; + size_t cmd_len; int err; if ((priv->can.ctrlmode & @@ -1850,6 +1965,7 @@ return -ENOMEM; cmd->header.cmd_no = CMD_SET_DRIVERMODE_REQ; + cmd_len = kvaser_usb_hydra_cmd_size(cmd); kvaser_usb_hydra_set_cmd_dest_he (cmd, dev->card_data.hydra.channel_to_he[priv->channel]); kvaser_usb_hydra_set_cmd_transid @@ -1859,7 +1975,7 @@ else cmd->set_ctrlmode.mode = KVASER_USB_HYDRA_CTRLMODE_NORMAL; - err = kvaser_usb_send_cmd(dev, cmd, kvaser_usb_hydra_cmd_size(cmd)); + err = kvaser_usb_send_cmd(dev, cmd, cmd_len); kfree(cmd); return err; @@ -1869,7 +1985,7 @@ { int err; - init_completion(&priv->start_comp); + reinit_completion(&priv->start_comp); err = kvaser_usb_hydra_send_simple_cmd(priv->dev, CMD_START_CHIP_REQ, priv->channel); @@ -1887,7 +2003,7 @@ { int err; - init_completion(&priv->stop_comp); + reinit_completion(&priv->stop_comp); /* Make sure we do not report invalid BUS_OFF from CMD_CHIP_STATE_EVENT * see comment in kvaser_usb_hydra_update_state() @@ -1910,7 +2026,7 @@ { int err; - init_completion(&priv->flush_comp); + reinit_completion(&priv->flush_comp); err = kvaser_usb_hydra_send_simple_cmd(priv->dev, CMD_FLUSH_QUEUE, priv->channel); @@ -2021,10 +2137,13 @@ const struct kvaser_usb_dev_ops kvaser_usb_hydra_dev_ops = { .dev_set_mode = kvaser_usb_hydra_set_mode, .dev_set_bittiming = kvaser_usb_hydra_set_bittiming, + .dev_get_busparams = kvaser_usb_hydra_get_nominal_busparams, .dev_set_data_bittiming = kvaser_usb_hydra_set_data_bittiming, + .dev_get_data_busparams = kvaser_usb_hydra_get_data_busparams, .dev_get_berr_counter = kvaser_usb_hydra_get_berr_counter, .dev_setup_endpoints = kvaser_usb_hydra_setup_endpoints, .dev_init_card = kvaser_usb_hydra_init_card, + .dev_init_channel = kvaser_usb_hydra_init_channel, .dev_get_software_info = kvaser_usb_hydra_get_software_info, .dev_get_software_details = kvaser_usb_hydra_get_software_details, .dev_get_card_info = kvaser_usb_hydra_get_card_info, --- linux-gcp-5.19.0.orig/drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c +++ linux-gcp-5.19.0/drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -56,6 +57,9 @@ #define CMD_RX_EXT_MESSAGE 14 #define CMD_TX_EXT_MESSAGE 15 #define CMD_SET_BUS_PARAMS 16 +#define CMD_GET_BUS_PARAMS 17 +#define CMD_GET_BUS_PARAMS_REPLY 18 +#define CMD_GET_CHIP_STATE 19 #define CMD_CHIP_STATE_EVENT 20 #define CMD_SET_CTRL_MODE 21 #define CMD_RESET_CHIP 24 @@ -70,10 +74,13 @@ #define CMD_GET_CARD_INFO_REPLY 35 #define CMD_GET_SOFTWARE_INFO 38 #define CMD_GET_SOFTWARE_INFO_REPLY 39 +#define CMD_ERROR_EVENT 45 #define CMD_FLUSH_QUEUE 48 #define CMD_TX_ACKNOWLEDGE 50 #define CMD_CAN_ERROR_EVENT 51 #define CMD_FLUSH_QUEUE_REPLY 68 +#define CMD_GET_CAPABILITIES_REQ 95 +#define CMD_GET_CAPABILITIES_RESP 96 #define CMD_LEAF_LOG_MESSAGE 106 @@ -83,6 +90,8 @@ #define KVASER_USB_LEAF_SWOPTION_FREQ_32_MHZ_CLK BIT(5) #define KVASER_USB_LEAF_SWOPTION_FREQ_24_MHZ_CLK BIT(6) +#define KVASER_USB_LEAF_SWOPTION_EXT_CAP BIT(12) + /* error factors */ #define M16C_EF_ACKE BIT(0) #define M16C_EF_CRCE BIT(1) @@ -157,11 +166,7 @@ struct kvaser_cmd_busparams { u8 tid; u8 channel; - __le32 bitrate; - u8 tseg1; - u8 tseg2; - u8 sjw; - u8 no_samp; + struct kvaser_usb_busparams busparams; } __packed; struct kvaser_cmd_tx_can { @@ -230,7 +235,7 @@ u8 tid; } __packed; -struct leaf_cmd_error_event { +struct leaf_cmd_can_error_event { u8 tid; u8 flags; __le16 time[3]; @@ -242,7 +247,7 @@ u8 error_factor; } __packed; -struct usbcan_cmd_error_event { +struct usbcan_cmd_can_error_event { u8 tid; u8 padding; u8 tx_errors_count_ch0; @@ -254,6 +259,28 @@ __le16 time; } __packed; +/* CMD_ERROR_EVENT error codes */ +#define KVASER_USB_LEAF_ERROR_EVENT_TX_QUEUE_FULL 0x8 +#define KVASER_USB_LEAF_ERROR_EVENT_PARAM 0x9 + +struct leaf_cmd_error_event { + u8 tid; + u8 error_code; + __le16 timestamp[3]; + __le16 padding; + __le16 info1; + __le16 info2; +} __packed; + +struct usbcan_cmd_error_event { + u8 tid; + u8 error_code; + __le16 info1; + __le16 info2; + __le16 timestamp; + __le16 padding; +} __packed; + struct kvaser_cmd_ctrl_mode { u8 tid; u8 channel; @@ -278,6 +305,28 @@ u8 data[8]; } __packed; +/* Sub commands for cap_req and cap_res */ +#define KVASER_USB_LEAF_CAP_CMD_LISTEN_MODE 0x02 +#define KVASER_USB_LEAF_CAP_CMD_ERR_REPORT 0x05 +struct kvaser_cmd_cap_req { + __le16 padding0; + __le16 cap_cmd; + __le16 padding1; + __le16 channel; +} __packed; + +/* Status codes for cap_res */ +#define KVASER_USB_LEAF_CAP_STAT_OK 0x00 +#define KVASER_USB_LEAF_CAP_STAT_NOT_IMPL 0x01 +#define KVASER_USB_LEAF_CAP_STAT_UNAVAIL 0x02 +struct kvaser_cmd_cap_res { + __le16 padding; + __le16 cap_cmd; + __le16 status; + __le32 mask; + __le32 value; +} __packed; + struct kvaser_cmd { u8 len; u8 id; @@ -293,14 +342,18 @@ struct leaf_cmd_softinfo softinfo; struct leaf_cmd_rx_can rx_can; struct leaf_cmd_chip_state_event chip_state_event; - struct leaf_cmd_error_event error_event; + struct leaf_cmd_can_error_event can_error_event; struct leaf_cmd_log_message log_message; + struct leaf_cmd_error_event error_event; + struct kvaser_cmd_cap_req cap_req; + struct kvaser_cmd_cap_res cap_res; } __packed leaf; union { struct usbcan_cmd_softinfo softinfo; struct usbcan_cmd_rx_can rx_can; struct usbcan_cmd_chip_state_event chip_state_event; + struct usbcan_cmd_can_error_event can_error_event; struct usbcan_cmd_error_event error_event; } __packed usbcan; @@ -310,6 +363,42 @@ } u; } __packed; +#define CMD_SIZE_ANY 0xff +#define kvaser_fsize(field) sizeof_field(struct kvaser_cmd, field) + +static const u8 kvaser_usb_leaf_cmd_sizes_leaf[] = { + [CMD_START_CHIP_REPLY] = kvaser_fsize(u.simple), + [CMD_STOP_CHIP_REPLY] = kvaser_fsize(u.simple), + [CMD_GET_CARD_INFO_REPLY] = kvaser_fsize(u.cardinfo), + [CMD_TX_ACKNOWLEDGE] = kvaser_fsize(u.tx_acknowledge_header), + [CMD_GET_SOFTWARE_INFO_REPLY] = kvaser_fsize(u.leaf.softinfo), + [CMD_RX_STD_MESSAGE] = kvaser_fsize(u.leaf.rx_can), + [CMD_RX_EXT_MESSAGE] = kvaser_fsize(u.leaf.rx_can), + [CMD_LEAF_LOG_MESSAGE] = kvaser_fsize(u.leaf.log_message), + [CMD_CHIP_STATE_EVENT] = kvaser_fsize(u.leaf.chip_state_event), + [CMD_CAN_ERROR_EVENT] = kvaser_fsize(u.leaf.can_error_event), + [CMD_GET_CAPABILITIES_RESP] = kvaser_fsize(u.leaf.cap_res), + [CMD_GET_BUS_PARAMS_REPLY] = kvaser_fsize(u.busparams), + [CMD_ERROR_EVENT] = kvaser_fsize(u.leaf.error_event), + /* ignored events: */ + [CMD_FLUSH_QUEUE_REPLY] = CMD_SIZE_ANY, +}; + +static const u8 kvaser_usb_leaf_cmd_sizes_usbcan[] = { + [CMD_START_CHIP_REPLY] = kvaser_fsize(u.simple), + [CMD_STOP_CHIP_REPLY] = kvaser_fsize(u.simple), + [CMD_GET_CARD_INFO_REPLY] = kvaser_fsize(u.cardinfo), + [CMD_TX_ACKNOWLEDGE] = kvaser_fsize(u.tx_acknowledge_header), + [CMD_GET_SOFTWARE_INFO_REPLY] = kvaser_fsize(u.usbcan.softinfo), + [CMD_RX_STD_MESSAGE] = kvaser_fsize(u.usbcan.rx_can), + [CMD_RX_EXT_MESSAGE] = kvaser_fsize(u.usbcan.rx_can), + [CMD_CHIP_STATE_EVENT] = kvaser_fsize(u.usbcan.chip_state_event), + [CMD_CAN_ERROR_EVENT] = kvaser_fsize(u.usbcan.can_error_event), + [CMD_ERROR_EVENT] = kvaser_fsize(u.usbcan.error_event), + /* ignored events: */ + [CMD_USBCAN_CLOCK_OVERFLOW_EVENT] = CMD_SIZE_ANY, +}; + /* Summary of a kvaser error event, for a unified Leaf/Usbcan error * handling. Some discrepancies between the two families exist: * @@ -333,6 +422,12 @@ }; }; +struct kvaser_usb_net_leaf_priv { + struct kvaser_usb_net_priv *net; + + struct delayed_work chip_state_req_work; +}; + static const struct can_bittiming_const kvaser_usb_leaf_m16c_bittiming_const = { .name = "kvaser_usb_ucii", .tseg1_min = 4, @@ -397,6 +492,43 @@ .bittiming_const = &kvaser_usb_flexc_bittiming_const, }; +static int kvaser_usb_leaf_verify_size(const struct kvaser_usb *dev, + const struct kvaser_cmd *cmd) +{ + /* buffer size >= cmd->len ensured by caller */ + u8 min_size = 0; + + switch (dev->driver_info->family) { + case KVASER_LEAF: + if (cmd->id < ARRAY_SIZE(kvaser_usb_leaf_cmd_sizes_leaf)) + min_size = kvaser_usb_leaf_cmd_sizes_leaf[cmd->id]; + break; + case KVASER_USBCAN: + if (cmd->id < ARRAY_SIZE(kvaser_usb_leaf_cmd_sizes_usbcan)) + min_size = kvaser_usb_leaf_cmd_sizes_usbcan[cmd->id]; + break; + } + + if (min_size == CMD_SIZE_ANY) + return 0; + + if (min_size) { + min_size += CMD_HEADER_LEN; + if (cmd->len >= min_size) + return 0; + + dev_err_ratelimited(&dev->intf->dev, + "Received command %u too short (size %u, needed %u)", + cmd->id, cmd->len, min_size); + return -EIO; + } + + dev_warn_ratelimited(&dev->intf->dev, + "Unhandled command (%d, size %d)\n", + cmd->id, cmd->len); + return -EINVAL; +} + static void * kvaser_usb_leaf_frame_to_cmd(const struct kvaser_usb_net_priv *priv, const struct sk_buff *skb, int *cmd_len, @@ -502,6 +634,9 @@ end: kfree(buf); + if (err == 0) + err = kvaser_usb_leaf_verify_size(dev, cmd); + return err; } @@ -534,6 +669,9 @@ dev->fw_version = le32_to_cpu(softinfo->fw_version); dev->max_tx_urbs = le16_to_cpu(softinfo->max_outstanding_tx); + if (sw_options & KVASER_USB_LEAF_SWOPTION_EXT_CAP) + dev->card_data.capabilities |= KVASER_USB_CAP_EXT_CAP; + if (dev->driver_info->quirks & KVASER_USB_QUIRK_IGNORE_CLK_FREQ) { /* Firmware expects bittiming parameters calculated for 16MHz * clock, regardless of the actual clock @@ -621,6 +759,116 @@ return 0; } +static int kvaser_usb_leaf_get_single_capability(struct kvaser_usb *dev, + u16 cap_cmd_req, u16 *status) +{ + struct kvaser_usb_dev_card_data *card_data = &dev->card_data; + struct kvaser_cmd *cmd; + u32 value = 0; + u32 mask = 0; + u16 cap_cmd_res; + int err; + int i; + + cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + if (!cmd) + return -ENOMEM; + + cmd->id = CMD_GET_CAPABILITIES_REQ; + cmd->u.leaf.cap_req.cap_cmd = cpu_to_le16(cap_cmd_req); + cmd->len = CMD_HEADER_LEN + sizeof(struct kvaser_cmd_cap_req); + + err = kvaser_usb_send_cmd(dev, cmd, cmd->len); + if (err) + goto end; + + err = kvaser_usb_leaf_wait_cmd(dev, CMD_GET_CAPABILITIES_RESP, cmd); + if (err) + goto end; + + *status = le16_to_cpu(cmd->u.leaf.cap_res.status); + + if (*status != KVASER_USB_LEAF_CAP_STAT_OK) + goto end; + + cap_cmd_res = le16_to_cpu(cmd->u.leaf.cap_res.cap_cmd); + switch (cap_cmd_res) { + case KVASER_USB_LEAF_CAP_CMD_LISTEN_MODE: + case KVASER_USB_LEAF_CAP_CMD_ERR_REPORT: + value = le32_to_cpu(cmd->u.leaf.cap_res.value); + mask = le32_to_cpu(cmd->u.leaf.cap_res.mask); + break; + default: + dev_warn(&dev->intf->dev, "Unknown capability command %u\n", + cap_cmd_res); + break; + } + + for (i = 0; i < dev->nchannels; i++) { + if (BIT(i) & (value & mask)) { + switch (cap_cmd_res) { + case KVASER_USB_LEAF_CAP_CMD_LISTEN_MODE: + card_data->ctrlmode_supported |= + CAN_CTRLMODE_LISTENONLY; + break; + case KVASER_USB_LEAF_CAP_CMD_ERR_REPORT: + card_data->capabilities |= + KVASER_USB_CAP_BERR_CAP; + break; + } + } + } + +end: + kfree(cmd); + + return err; +} + +static int kvaser_usb_leaf_get_capabilities_leaf(struct kvaser_usb *dev) +{ + int err; + u16 status; + + if (!(dev->card_data.capabilities & KVASER_USB_CAP_EXT_CAP)) { + dev_info(&dev->intf->dev, + "No extended capability support. Upgrade device firmware.\n"); + return 0; + } + + err = kvaser_usb_leaf_get_single_capability(dev, + KVASER_USB_LEAF_CAP_CMD_LISTEN_MODE, + &status); + if (err) + return err; + if (status) + dev_info(&dev->intf->dev, + "KVASER_USB_LEAF_CAP_CMD_LISTEN_MODE failed %u\n", + status); + + err = kvaser_usb_leaf_get_single_capability(dev, + KVASER_USB_LEAF_CAP_CMD_ERR_REPORT, + &status); + if (err) + return err; + if (status) + dev_info(&dev->intf->dev, + "KVASER_USB_LEAF_CAP_CMD_ERR_REPORT failed %u\n", + status); + + return 0; +} + +static int kvaser_usb_leaf_get_capabilities(struct kvaser_usb *dev) +{ + int err = 0; + + if (dev->driver_info->family == KVASER_LEAF) + err = kvaser_usb_leaf_get_capabilities_leaf(dev); + + return err; +} + static void kvaser_usb_leaf_tx_acknowledge(const struct kvaser_usb *dev, const struct kvaser_cmd *cmd) { @@ -649,7 +897,7 @@ context = &priv->tx_contexts[tid % dev->max_tx_urbs]; /* Sometimes the state change doesn't come after a bus-off event */ - if (priv->can.restart_ms && priv->can.state >= CAN_STATE_BUS_OFF) { + if (priv->can.restart_ms && priv->can.state == CAN_STATE_BUS_OFF) { struct sk_buff *skb; struct can_frame *cf; @@ -702,6 +950,16 @@ return err; } +static void kvaser_usb_leaf_chip_state_req_work(struct work_struct *work) +{ + struct kvaser_usb_net_leaf_priv *leaf = + container_of(work, struct kvaser_usb_net_leaf_priv, + chip_state_req_work.work); + struct kvaser_usb_net_priv *priv = leaf->net; + + kvaser_usb_leaf_simple_cmd_async(priv, CMD_GET_CHIP_STATE); +} + static void kvaser_usb_leaf_rx_error_update_can_state(struct kvaser_usb_net_priv *priv, const struct kvaser_usb_err_summary *es, @@ -720,20 +978,16 @@ new_state = CAN_STATE_BUS_OFF; } else if (es->status & M16C_STATE_BUS_PASSIVE) { new_state = CAN_STATE_ERROR_PASSIVE; - } else if (es->status & M16C_STATE_BUS_ERROR) { + } else if ((es->status & M16C_STATE_BUS_ERROR) && + cur_state >= CAN_STATE_BUS_OFF) { /* Guard against spurious error events after a busoff */ - if (cur_state < CAN_STATE_BUS_OFF) { - if (es->txerr >= 128 || es->rxerr >= 128) - new_state = CAN_STATE_ERROR_PASSIVE; - else if (es->txerr >= 96 || es->rxerr >= 96) - new_state = CAN_STATE_ERROR_WARNING; - else if (cur_state > CAN_STATE_ERROR_ACTIVE) - new_state = CAN_STATE_ERROR_ACTIVE; - } - } - - if (!es->status) + } else if (es->txerr >= 128 || es->rxerr >= 128) { + new_state = CAN_STATE_ERROR_PASSIVE; + } else if (es->txerr >= 96 || es->rxerr >= 96) { + new_state = CAN_STATE_ERROR_WARNING; + } else { new_state = CAN_STATE_ERROR_ACTIVE; + } if (new_state != cur_state) { tx_state = (es->txerr >= es->rxerr) ? new_state : 0; @@ -743,7 +997,7 @@ } if (priv->can.restart_ms && - cur_state >= CAN_STATE_BUS_OFF && + cur_state == CAN_STATE_BUS_OFF && new_state < CAN_STATE_BUS_OFF) priv->can.can_stats.restarts++; @@ -777,6 +1031,7 @@ struct sk_buff *skb; struct net_device_stats *stats; struct kvaser_usb_net_priv *priv; + struct kvaser_usb_net_leaf_priv *leaf; enum can_state old_state, new_state; if (es->channel >= dev->nchannels) { @@ -786,8 +1041,13 @@ } priv = dev->nets[es->channel]; + leaf = priv->sub_priv; stats = &priv->netdev->stats; + /* Ignore e.g. state change to bus-off reported just after stopping */ + if (!netif_running(priv->netdev)) + return; + /* Update all of the CAN interface's state and error counters before * trying any memory allocation that can actually fail with -ENOMEM. * @@ -802,6 +1062,14 @@ kvaser_usb_leaf_rx_error_update_can_state(priv, es, &tmp_cf); new_state = priv->can.state; + /* If there are errors, request status updates periodically as we do + * not get automatic notifications of improved state. + */ + if (new_state < CAN_STATE_BUS_OFF && + (es->rxerr || es->txerr || new_state == CAN_STATE_ERROR_PASSIVE)) + schedule_delayed_work(&leaf->chip_state_req_work, + msecs_to_jiffies(500)); + skb = alloc_can_err_skb(priv->netdev, &cf); if (!skb) { stats->rx_dropped++; @@ -819,7 +1087,7 @@ } if (priv->can.restart_ms && - old_state >= CAN_STATE_BUS_OFF && + old_state == CAN_STATE_BUS_OFF && new_state < CAN_STATE_BUS_OFF) { cf->can_id |= CAN_ERR_RESTARTED; netif_carrier_on(priv->netdev); @@ -853,8 +1121,10 @@ break; } - cf->data[6] = es->txerr; - cf->data[7] = es->rxerr; + if (new_state != CAN_STATE_BUS_OFF) { + cf->data[6] = es->txerr; + cf->data[7] = es->rxerr; + } netif_rx(skb); } @@ -915,11 +1185,11 @@ case CMD_CAN_ERROR_EVENT: es.channel = 0; - es.status = cmd->u.usbcan.error_event.status_ch0; - es.txerr = cmd->u.usbcan.error_event.tx_errors_count_ch0; - es.rxerr = cmd->u.usbcan.error_event.rx_errors_count_ch0; + es.status = cmd->u.usbcan.can_error_event.status_ch0; + es.txerr = cmd->u.usbcan.can_error_event.tx_errors_count_ch0; + es.rxerr = cmd->u.usbcan.can_error_event.rx_errors_count_ch0; es.usbcan.other_ch_status = - cmd->u.usbcan.error_event.status_ch1; + cmd->u.usbcan.can_error_event.status_ch1; kvaser_usb_leaf_usbcan_conditionally_rx_error(dev, &es); /* The USBCAN firmware supports up to 2 channels. @@ -927,13 +1197,13 @@ */ if (dev->nchannels == MAX_USBCAN_NET_DEVICES) { es.channel = 1; - es.status = cmd->u.usbcan.error_event.status_ch1; + es.status = cmd->u.usbcan.can_error_event.status_ch1; es.txerr = - cmd->u.usbcan.error_event.tx_errors_count_ch1; + cmd->u.usbcan.can_error_event.tx_errors_count_ch1; es.rxerr = - cmd->u.usbcan.error_event.rx_errors_count_ch1; + cmd->u.usbcan.can_error_event.rx_errors_count_ch1; es.usbcan.other_ch_status = - cmd->u.usbcan.error_event.status_ch0; + cmd->u.usbcan.can_error_event.status_ch0; kvaser_usb_leaf_usbcan_conditionally_rx_error(dev, &es); } break; @@ -950,11 +1220,11 @@ switch (cmd->id) { case CMD_CAN_ERROR_EVENT: - es.channel = cmd->u.leaf.error_event.channel; - es.status = cmd->u.leaf.error_event.status; - es.txerr = cmd->u.leaf.error_event.tx_errors_count; - es.rxerr = cmd->u.leaf.error_event.rx_errors_count; - es.leaf.error_factor = cmd->u.leaf.error_event.error_factor; + es.channel = cmd->u.leaf.can_error_event.channel; + es.status = cmd->u.leaf.can_error_event.status; + es.txerr = cmd->u.leaf.can_error_event.tx_errors_count; + es.rxerr = cmd->u.leaf.can_error_event.rx_errors_count; + es.leaf.error_factor = cmd->u.leaf.can_error_event.error_factor; break; case CMD_LEAF_LOG_MESSAGE: es.channel = cmd->u.leaf.log_message.channel; @@ -1087,6 +1357,74 @@ netif_rx(skb); } +static void kvaser_usb_leaf_error_event_parameter(const struct kvaser_usb *dev, + const struct kvaser_cmd *cmd) +{ + u16 info1 = 0; + + switch (dev->driver_info->family) { + case KVASER_LEAF: + info1 = le16_to_cpu(cmd->u.leaf.error_event.info1); + break; + case KVASER_USBCAN: + info1 = le16_to_cpu(cmd->u.usbcan.error_event.info1); + break; + } + + /* info1 will contain the offending cmd_no */ + switch (info1) { + case CMD_SET_CTRL_MODE: + dev_warn(&dev->intf->dev, + "CMD_SET_CTRL_MODE error in parameter\n"); + break; + + case CMD_SET_BUS_PARAMS: + dev_warn(&dev->intf->dev, + "CMD_SET_BUS_PARAMS error in parameter\n"); + break; + + default: + dev_warn(&dev->intf->dev, + "Unhandled parameter error event cmd_no (%u)\n", + info1); + break; + } +} + +static void kvaser_usb_leaf_error_event(const struct kvaser_usb *dev, + const struct kvaser_cmd *cmd) +{ + u8 error_code = 0; + + switch (dev->driver_info->family) { + case KVASER_LEAF: + error_code = cmd->u.leaf.error_event.error_code; + break; + case KVASER_USBCAN: + error_code = cmd->u.usbcan.error_event.error_code; + break; + } + + switch (error_code) { + case KVASER_USB_LEAF_ERROR_EVENT_TX_QUEUE_FULL: + /* Received additional CAN message, when firmware TX queue is + * already full. Something is wrong with the driver. + * This should never happen! + */ + dev_err(&dev->intf->dev, + "Received error event TX_QUEUE_FULL\n"); + break; + case KVASER_USB_LEAF_ERROR_EVENT_PARAM: + kvaser_usb_leaf_error_event_parameter(dev, cmd); + break; + + default: + dev_warn(&dev->intf->dev, + "Unhandled error event (%d)\n", error_code); + break; + } +} + static void kvaser_usb_leaf_start_chip_reply(const struct kvaser_usb *dev, const struct kvaser_cmd *cmd) { @@ -1127,9 +1465,31 @@ complete(&priv->stop_comp); } +static void kvaser_usb_leaf_get_busparams_reply(const struct kvaser_usb *dev, + const struct kvaser_cmd *cmd) +{ + struct kvaser_usb_net_priv *priv; + u8 channel = cmd->u.busparams.channel; + + if (channel >= dev->nchannels) { + dev_err(&dev->intf->dev, + "Invalid channel number (%d)\n", channel); + return; + } + + priv = dev->nets[channel]; + memcpy(&priv->busparams_nominal, &cmd->u.busparams.busparams, + sizeof(priv->busparams_nominal)); + + complete(&priv->get_busparams_comp); +} + static void kvaser_usb_leaf_handle_command(const struct kvaser_usb *dev, const struct kvaser_cmd *cmd) { + if (kvaser_usb_leaf_verify_size(dev, cmd) < 0) + return; + switch (cmd->id) { case CMD_START_CHIP_REPLY: kvaser_usb_leaf_start_chip_reply(dev, cmd); @@ -1162,6 +1522,14 @@ kvaser_usb_leaf_tx_acknowledge(dev, cmd); break; + case CMD_ERROR_EVENT: + kvaser_usb_leaf_error_event(dev, cmd); + break; + + case CMD_GET_BUS_PARAMS_REPLY: + kvaser_usb_leaf_get_busparams_reply(dev, cmd); + break; + /* Ignored commands */ case CMD_USBCAN_CLOCK_OVERFLOW_EVENT: if (dev->driver_info->family != KVASER_USBCAN) @@ -1242,7 +1610,7 @@ { int err; - init_completion(&priv->start_comp); + reinit_completion(&priv->start_comp); err = kvaser_usb_leaf_send_simple_cmd(priv->dev, CMD_START_CHIP, priv->channel); @@ -1258,9 +1626,12 @@ static int kvaser_usb_leaf_stop_chip(struct kvaser_usb_net_priv *priv) { + struct kvaser_usb_net_leaf_priv *leaf = priv->sub_priv; int err; - init_completion(&priv->stop_comp); + reinit_completion(&priv->stop_comp); + + cancel_delayed_work(&leaf->chip_state_req_work); err = kvaser_usb_leaf_send_simple_cmd(priv->dev, CMD_STOP_CHIP, priv->channel); @@ -1308,10 +1679,35 @@ return 0; } -static int kvaser_usb_leaf_set_bittiming(struct net_device *netdev) +static int kvaser_usb_leaf_init_channel(struct kvaser_usb_net_priv *priv) +{ + struct kvaser_usb_net_leaf_priv *leaf; + + leaf = devm_kzalloc(&priv->dev->intf->dev, sizeof(*leaf), GFP_KERNEL); + if (!leaf) + return -ENOMEM; + + leaf->net = priv; + INIT_DELAYED_WORK(&leaf->chip_state_req_work, + kvaser_usb_leaf_chip_state_req_work); + + priv->sub_priv = leaf; + + return 0; +} + +static void kvaser_usb_leaf_remove_channel(struct kvaser_usb_net_priv *priv) +{ + struct kvaser_usb_net_leaf_priv *leaf = priv->sub_priv; + + if (leaf) + cancel_delayed_work_sync(&leaf->chip_state_req_work); +} + +static int kvaser_usb_leaf_set_bittiming(const struct net_device *netdev, + const struct kvaser_usb_busparams *busparams) { struct kvaser_usb_net_priv *priv = netdev_priv(netdev); - struct can_bittiming *bt = &priv->can.bittiming; struct kvaser_usb *dev = priv->dev; struct kvaser_cmd *cmd; int rc; @@ -1324,15 +1720,8 @@ cmd->len = CMD_HEADER_LEN + sizeof(struct kvaser_cmd_busparams); cmd->u.busparams.channel = priv->channel; cmd->u.busparams.tid = 0xff; - cmd->u.busparams.bitrate = cpu_to_le32(bt->bitrate); - cmd->u.busparams.sjw = bt->sjw; - cmd->u.busparams.tseg1 = bt->prop_seg + bt->phase_seg1; - cmd->u.busparams.tseg2 = bt->phase_seg2; - - if (priv->can.ctrlmode & CAN_CTRLMODE_3_SAMPLES) - cmd->u.busparams.no_samp = 3; - else - cmd->u.busparams.no_samp = 1; + memcpy(&cmd->u.busparams.busparams, busparams, + sizeof(cmd->u.busparams.busparams)); rc = kvaser_usb_send_cmd(dev, cmd, cmd->len); @@ -1340,6 +1729,27 @@ return rc; } +static int kvaser_usb_leaf_get_busparams(struct kvaser_usb_net_priv *priv) +{ + int err; + + if (priv->dev->driver_info->family == KVASER_USBCAN) + return -EOPNOTSUPP; + + reinit_completion(&priv->get_busparams_comp); + + err = kvaser_usb_leaf_send_simple_cmd(priv->dev, CMD_GET_BUS_PARAMS, + priv->channel); + if (err) + return err; + + if (!wait_for_completion_timeout(&priv->get_busparams_comp, + msecs_to_jiffies(KVASER_USB_TIMEOUT))) + return -ETIMEDOUT; + + return 0; +} + static int kvaser_usb_leaf_set_mode(struct net_device *netdev, enum can_mode mode) { @@ -1348,9 +1758,13 @@ switch (mode) { case CAN_MODE_START: + kvaser_usb_unlink_tx_urbs(priv); + err = kvaser_usb_leaf_simple_cmd_async(priv, CMD_START_CHIP); if (err) return err; + + priv->can.state = CAN_STATE_ERROR_ACTIVE; break; default: return -EOPNOTSUPP; @@ -1397,14 +1811,18 @@ const struct kvaser_usb_dev_ops kvaser_usb_leaf_dev_ops = { .dev_set_mode = kvaser_usb_leaf_set_mode, .dev_set_bittiming = kvaser_usb_leaf_set_bittiming, + .dev_get_busparams = kvaser_usb_leaf_get_busparams, .dev_set_data_bittiming = NULL, + .dev_get_data_busparams = NULL, .dev_get_berr_counter = kvaser_usb_leaf_get_berr_counter, .dev_setup_endpoints = kvaser_usb_leaf_setup_endpoints, .dev_init_card = kvaser_usb_leaf_init_card, + .dev_init_channel = kvaser_usb_leaf_init_channel, + .dev_remove_channel = kvaser_usb_leaf_remove_channel, .dev_get_software_info = kvaser_usb_leaf_get_software_info, .dev_get_software_details = NULL, .dev_get_card_info = kvaser_usb_leaf_get_card_info, - .dev_get_capabilities = NULL, + .dev_get_capabilities = kvaser_usb_leaf_get_capabilities, .dev_set_opt_mode = kvaser_usb_leaf_set_opt_mode, .dev_start_chip = kvaser_usb_leaf_start_chip, .dev_stop_chip = kvaser_usb_leaf_stop_chip, --- linux-gcp-5.19.0.orig/drivers/net/can/usb/mcba_usb.c +++ linux-gcp-5.19.0/drivers/net/can/usb/mcba_usb.c @@ -46,6 +46,10 @@ #define MCBA_VER_REQ_USB 1 #define MCBA_VER_REQ_CAN 2 +/* Drive the CAN_RES signal LOW "0" to activate R24 and R25 */ +#define MCBA_VER_TERMINATION_ON 0 +#define MCBA_VER_TERMINATION_OFF 1 + #define MCBA_SIDL_EXID_MASK 0x8 #define MCBA_DLC_MASK 0xf #define MCBA_DLC_RTR_MASK 0x40 @@ -462,7 +466,7 @@ priv->usb_ka_first_pass = false; } - if (msg->termination_state) + if (msg->termination_state == MCBA_VER_TERMINATION_ON) priv->can.termination = MCBA_TERMINATION_ENABLED; else priv->can.termination = MCBA_TERMINATION_DISABLED; @@ -780,9 +784,9 @@ }; if (term == MCBA_TERMINATION_ENABLED) - usb_msg.termination = 1; + usb_msg.termination = MCBA_VER_TERMINATION_ON; else - usb_msg.termination = 0; + usb_msg.termination = MCBA_VER_TERMINATION_OFF; mcba_usb_xmit_cmd(priv, (struct mcba_usb_msg *)&usb_msg); --- linux-gcp-5.19.0.orig/drivers/net/can/usb/usb_8dev.c +++ linux-gcp-5.19.0/drivers/net/can/usb/usb_8dev.c @@ -438,9 +438,10 @@ if (rx_errors) stats->rx_errors++; - - cf->data[6] = txerr; - cf->data[7] = rxerr; + if (priv->can.state != CAN_STATE_BUS_OFF) { + cf->data[6] = txerr; + cf->data[7] = rxerr; + } priv->bec.txerr = txerr; priv->bec.rxerr = rxerr; --- linux-gcp-5.19.0.orig/drivers/net/dsa/dsa_loop.c +++ linux-gcp-5.19.0/drivers/net/dsa/dsa_loop.c @@ -378,6 +378,17 @@ #define NUM_FIXED_PHYS (DSA_LOOP_NUM_PORTS - 2) +static void dsa_loop_phydevs_unregister(void) +{ + unsigned int i; + + for (i = 0; i < NUM_FIXED_PHYS; i++) + if (!IS_ERR(phydevs[i])) { + fixed_phy_unregister(phydevs[i]); + phy_device_free(phydevs[i]); + } +} + static int __init dsa_loop_init(void) { struct fixed_phy_status status = { @@ -385,23 +396,23 @@ .speed = SPEED_100, .duplex = DUPLEX_FULL, }; - unsigned int i; + unsigned int i, ret; for (i = 0; i < NUM_FIXED_PHYS; i++) phydevs[i] = fixed_phy_register(PHY_POLL, &status, NULL); - return mdio_driver_register(&dsa_loop_drv); + ret = mdio_driver_register(&dsa_loop_drv); + if (ret) + dsa_loop_phydevs_unregister(); + + return ret; } module_init(dsa_loop_init); static void __exit dsa_loop_exit(void) { - unsigned int i; - mdio_driver_unregister(&dsa_loop_drv); - for (i = 0; i < NUM_FIXED_PHYS; i++) - if (!IS_ERR(phydevs[i])) - fixed_phy_unregister(phydevs[i]); + dsa_loop_phydevs_unregister(); } module_exit(dsa_loop_exit); --- linux-gcp-5.19.0.orig/drivers/net/dsa/hirschmann/hellcreek.c +++ linux-gcp-5.19.0/drivers/net/dsa/hirschmann/hellcreek.c @@ -1062,7 +1062,7 @@ .portmask = 0x03, /* Management ports */ .age = 0, .is_obt = 0, - .pass_blocked = 0, + .pass_blocked = 1, .is_static = 1, .reprio_tc = 6, /* TC: 6 as per IEEE 802.1AS */ .reprio_en = 1, --- linux-gcp-5.19.0.orig/drivers/net/dsa/lan9303-core.c +++ linux-gcp-5.19.0/drivers/net/dsa/lan9303-core.c @@ -959,7 +959,7 @@ { .offset = LAN9303_MAC_TX_BRDCST_CNT_0, .name = "TxBroad", }, { .offset = LAN9303_MAC_TX_PAUSE_CNT_0, .name = "TxPause", }, { .offset = LAN9303_MAC_TX_MULCST_CNT_0, .name = "TxMulti", }, - { .offset = LAN9303_MAC_RX_UNDSZE_CNT_0, .name = "TxUnderRun", }, + { .offset = LAN9303_MAC_RX_UNDSZE_CNT_0, .name = "RxShort", }, { .offset = LAN9303_MAC_TX_64_CNT_0, .name = "Tx64Byte", }, { .offset = LAN9303_MAC_TX_127_CNT_0, .name = "Tx128Byte", }, { .offset = LAN9303_MAC_TX_255_CNT_0, .name = "Tx256Byte", }, @@ -1003,9 +1003,11 @@ ret = lan9303_read_switch_port( chip, port, lan9303_mib[u].offset, ®); - if (ret) + if (ret) { dev_warn(chip->dev, "Reading status port %d reg %u failed\n", port, lan9303_mib[u].offset); + reg = 0; + } data[u] = reg; } } --- linux-gcp-5.19.0.orig/drivers/net/dsa/microchip/ksz8795.c +++ linux-gcp-5.19.0/drivers/net/dsa/microchip/ksz8795.c @@ -898,17 +898,6 @@ } } -static enum dsa_tag_protocol ksz8_get_tag_protocol(struct dsa_switch *ds, - int port, - enum dsa_tag_protocol mp) -{ - struct ksz_device *dev = ds->priv; - - /* ksz88x3 uses the same tag schema as KSZ9893 */ - return ksz_is_ksz88x3(dev) ? - DSA_TAG_PROTO_KSZ9893 : DSA_TAG_PROTO_KSZ8795; -} - static u32 ksz8_sw_get_phy_flags(struct dsa_switch *ds, int port) { /* Silicon Errata Sheet (DS80000830A): @@ -969,11 +958,9 @@ } } -static int ksz8_port_vlan_filtering(struct dsa_switch *ds, int port, bool flag, +static int ksz8_port_vlan_filtering(struct ksz_device *dev, int port, bool flag, struct netlink_ext_ack *extack) { - struct ksz_device *dev = ds->priv; - if (ksz_is_ksz88x3(dev)) return -ENOTSUPP; @@ -998,12 +985,11 @@ } } -static int ksz8_port_vlan_add(struct dsa_switch *ds, int port, +static int ksz8_port_vlan_add(struct ksz_device *dev, int port, const struct switchdev_obj_port_vlan *vlan, struct netlink_ext_ack *extack) { bool untagged = vlan->flags & BRIDGE_VLAN_INFO_UNTAGGED; - struct ksz_device *dev = ds->priv; struct ksz_port *p = &dev->ports[port]; u16 data, new_pvid = 0; u8 fid, member, valid; @@ -1071,10 +1057,9 @@ return 0; } -static int ksz8_port_vlan_del(struct dsa_switch *ds, int port, +static int ksz8_port_vlan_del(struct ksz_device *dev, int port, const struct switchdev_obj_port_vlan *vlan) { - struct ksz_device *dev = ds->priv; u16 data, pvid; u8 fid, member, valid; @@ -1104,12 +1089,10 @@ return 0; } -static int ksz8_port_mirror_add(struct dsa_switch *ds, int port, +static int ksz8_port_mirror_add(struct ksz_device *dev, int port, struct dsa_mall_mirror_tc_entry *mirror, bool ingress, struct netlink_ext_ack *extack) { - struct ksz_device *dev = ds->priv; - if (ingress) { ksz_port_cfg(dev, port, P_MIRROR_CTRL, PORT_MIRROR_RX, true); dev->mirror_rx |= BIT(port); @@ -1128,10 +1111,9 @@ return 0; } -static void ksz8_port_mirror_del(struct dsa_switch *ds, int port, +static void ksz8_port_mirror_del(struct ksz_device *dev, int port, struct dsa_mall_mirror_tc_entry *mirror) { - struct ksz_device *dev = ds->priv; u8 data; if (mirror->ingress) { @@ -1272,7 +1254,7 @@ continue; if (!ksz_is_ksz88x3(dev)) { ksz_pread8(dev, i, regs[P_REMOTE_STATUS], &remote); - if (remote & PORT_FIBER_MODE) + if (remote & KSZ8_PORT_FIBER_MODE) p->fiber = 1; } if (p->fiber) @@ -1371,13 +1353,9 @@ return ksz8_handle_global_errata(ds); } -static void ksz8_get_caps(struct dsa_switch *ds, int port, +static void ksz8_get_caps(struct ksz_device *dev, int port, struct phylink_config *config) { - struct ksz_device *dev = ds->priv; - - ksz_phylink_get_caps(ds, port, config); - config->mac_capabilities = MAC_10 | MAC_100; /* Silicon Errata Sheet (DS80000830A): @@ -1394,12 +1372,12 @@ } static const struct dsa_switch_ops ksz8_switch_ops = { - .get_tag_protocol = ksz8_get_tag_protocol, + .get_tag_protocol = ksz_get_tag_protocol, .get_phy_flags = ksz8_sw_get_phy_flags, .setup = ksz8_setup, .phy_read = ksz_phy_read16, .phy_write = ksz_phy_write16, - .phylink_get_caps = ksz8_get_caps, + .phylink_get_caps = ksz_phylink_get_caps, .phylink_mac_link_down = ksz_mac_link_down, .port_enable = ksz_enable_port, .get_strings = ksz_get_strings, @@ -1409,14 +1387,14 @@ .port_bridge_leave = ksz_port_bridge_leave, .port_stp_state_set = ksz8_port_stp_state_set, .port_fast_age = ksz_port_fast_age, - .port_vlan_filtering = ksz8_port_vlan_filtering, - .port_vlan_add = ksz8_port_vlan_add, - .port_vlan_del = ksz8_port_vlan_del, + .port_vlan_filtering = ksz_port_vlan_filtering, + .port_vlan_add = ksz_port_vlan_add, + .port_vlan_del = ksz_port_vlan_del, .port_fdb_dump = ksz_port_fdb_dump, .port_mdb_add = ksz_port_mdb_add, .port_mdb_del = ksz_port_mdb_del, - .port_mirror_add = ksz8_port_mirror_add, - .port_mirror_del = ksz8_port_mirror_del, + .port_mirror_add = ksz_port_mirror_add, + .port_mirror_del = ksz_port_mirror_del, }; static u32 ksz8_get_port_addr(int port, int offset) @@ -1424,51 +1402,6 @@ return PORT_CTRL_ADDR(port, offset); } -static int ksz8_switch_detect(struct ksz_device *dev) -{ - u8 id1, id2; - u16 id16; - int ret; - - /* read chip id */ - ret = ksz_read16(dev, REG_CHIP_ID0, &id16); - if (ret) - return ret; - - id1 = id16 >> 8; - id2 = id16 & SW_CHIP_ID_M; - - switch (id1) { - case KSZ87_FAMILY_ID: - if ((id2 != CHIP_ID_94 && id2 != CHIP_ID_95)) - return -ENODEV; - - if (id2 == CHIP_ID_95) { - u8 val; - - id2 = 0x95; - ksz_read8(dev, REG_PORT_STATUS_0, &val); - if (val & PORT_FIBER_MODE) - id2 = 0x65; - } else if (id2 == CHIP_ID_94) { - id2 = 0x94; - } - break; - case KSZ88_FAMILY_ID: - if (id2 != CHIP_ID_63) - return -ENODEV; - break; - default: - dev_err(dev->dev, "invalid family id: %d\n", id1); - return -ENODEV; - } - id16 &= ~0xff; - id16 |= id2; - dev->chip_id = id16; - - return 0; -} - static int ksz8_switch_init(struct ksz_device *dev) { struct ksz8 *ksz8 = dev->priv; @@ -1521,8 +1454,13 @@ .r_mib_pkt = ksz8_r_mib_pkt, .freeze_mib = ksz8_freeze_mib, .port_init_cnt = ksz8_port_init_cnt, + .vlan_filtering = ksz8_port_vlan_filtering, + .vlan_add = ksz8_port_vlan_add, + .vlan_del = ksz8_port_vlan_del, + .mirror_add = ksz8_port_mirror_add, + .mirror_del = ksz8_port_mirror_del, + .get_caps = ksz8_get_caps, .shutdown = ksz8_reset_switch, - .detect = ksz8_switch_detect, .init = ksz8_switch_init, .exit = ksz8_switch_exit, }; --- linux-gcp-5.19.0.orig/drivers/net/dsa/microchip/ksz8795_reg.h +++ linux-gcp-5.19.0/drivers/net/dsa/microchip/ksz8795_reg.h @@ -14,23 +14,10 @@ #define KS_PRIO_M 0x3 #define KS_PRIO_S 2 -#define REG_CHIP_ID0 0x00 - -#define KSZ87_FAMILY_ID 0x87 -#define KSZ88_FAMILY_ID 0x88 - -#define REG_CHIP_ID1 0x01 - -#define SW_CHIP_ID_M 0xF0 -#define SW_CHIP_ID_S 4 #define SW_REVISION_M 0x0E #define SW_REVISION_S 1 #define SW_START 0x01 -#define CHIP_ID_94 0x60 -#define CHIP_ID_95 0x90 -#define CHIP_ID_63 0x30 - #define KSZ8863_REG_SW_RESET 0x43 #define KSZ8863_GLOBAL_SOFTWARE_RESET BIT(4) @@ -217,8 +204,6 @@ #define REG_PORT_4_STATUS_0 0x48 /* For KSZ8765. */ -#define PORT_FIBER_MODE BIT(7) - #define PORT_REMOTE_ASYM_PAUSE BIT(5) #define PORT_REMOTE_SYM_PAUSE BIT(4) #define PORT_REMOTE_100BTX_FD BIT(3) @@ -322,7 +307,6 @@ #define REG_PORT_CTRL_5 0x05 -#define REG_PORT_STATUS_0 0x08 #define REG_PORT_STATUS_1 0x09 #define REG_PORT_LINK_MD_CTRL 0x0A #define REG_PORT_LINK_MD_RESULT 0x0B --- linux-gcp-5.19.0.orig/drivers/net/dsa/microchip/ksz9477.c +++ linux-gcp-5.19.0/drivers/net/dsa/microchip/ksz9477.c @@ -276,18 +276,6 @@ mutex_unlock(&mib->cnt_mutex); } -static enum dsa_tag_protocol ksz9477_get_tag_protocol(struct dsa_switch *ds, - int port, - enum dsa_tag_protocol mp) -{ - enum dsa_tag_protocol proto = DSA_TAG_PROTO_KSZ9477; - struct ksz_device *dev = ds->priv; - - if (dev->features & IS_9893) - proto = DSA_TAG_PROTO_KSZ9893; - return proto; -} - static int ksz9477_phy_read16(struct dsa_switch *ds, int addr, int reg) { struct ksz_device *dev = ds->priv; @@ -389,12 +377,10 @@ } } -static int ksz9477_port_vlan_filtering(struct dsa_switch *ds, int port, +static int ksz9477_port_vlan_filtering(struct ksz_device *dev, int port, bool flag, struct netlink_ext_ack *extack) { - struct ksz_device *dev = ds->priv; - if (flag) { ksz_port_cfg(dev, port, REG_PORT_LUE_CTRL, PORT_VLAN_LOOKUP_VID_0, true); @@ -408,11 +394,10 @@ return 0; } -static int ksz9477_port_vlan_add(struct dsa_switch *ds, int port, +static int ksz9477_port_vlan_add(struct ksz_device *dev, int port, const struct switchdev_obj_port_vlan *vlan, struct netlink_ext_ack *extack) { - struct ksz_device *dev = ds->priv; u32 vlan_table[3]; bool untagged = vlan->flags & BRIDGE_VLAN_INFO_UNTAGGED; int err; @@ -445,10 +430,9 @@ return 0; } -static int ksz9477_port_vlan_del(struct dsa_switch *ds, int port, +static int ksz9477_port_vlan_del(struct ksz_device *dev, int port, const struct switchdev_obj_port_vlan *vlan) { - struct ksz_device *dev = ds->priv; bool untagged = vlan->flags & BRIDGE_VLAN_INFO_UNTAGGED; u32 vlan_table[3]; u16 pvid; @@ -574,10 +558,10 @@ ksz_read32(dev, REG_SW_ALU_VAL_D, &alu_table[3]); /* clear forwarding port */ - alu_table[2] &= ~BIT(port); + alu_table[1] &= ~BIT(port); /* if there is no port to forward, clear table */ - if ((alu_table[2] & ALU_V_PORT_MAP) == 0) { + if ((alu_table[1] & ALU_V_PORT_MAP) == 0) { alu_table[0] = 0; alu_table[1] = 0; alu_table[2] = 0; @@ -658,6 +642,9 @@ goto exit; } + if (!(ksz_data & ALU_VALID)) + continue; + /* read ALU table */ ksz9477_read_table(dev, alu_table); @@ -832,11 +819,10 @@ return ret; } -static int ksz9477_port_mirror_add(struct dsa_switch *ds, int port, +static int ksz9477_port_mirror_add(struct ksz_device *dev, int port, struct dsa_mall_mirror_tc_entry *mirror, bool ingress, struct netlink_ext_ack *extack) { - struct ksz_device *dev = ds->priv; u8 data; int p; @@ -872,10 +858,9 @@ return 0; } -static void ksz9477_port_mirror_del(struct dsa_switch *ds, int port, +static void ksz9477_port_mirror_del(struct ksz_device *dev, int port, struct dsa_mall_mirror_tc_entry *mirror) { - struct ksz_device *dev = ds->priv; bool in_use = false; u8 data; int p; @@ -1097,11 +1082,9 @@ ksz9477_port_mmd_write(dev, port, 0x1c, 0x20, 0xeeee); } -static void ksz9477_get_caps(struct dsa_switch *ds, int port, +static void ksz9477_get_caps(struct ksz_device *dev, int port, struct phylink_config *config) { - ksz_phylink_get_caps(ds, port, config); - config->mac_capabilities = MAC_10 | MAC_100 | MAC_1000FD | MAC_ASYM_PAUSE | MAC_SYM_PAUSE; } @@ -1326,12 +1309,12 @@ } static const struct dsa_switch_ops ksz9477_switch_ops = { - .get_tag_protocol = ksz9477_get_tag_protocol, + .get_tag_protocol = ksz_get_tag_protocol, .setup = ksz9477_setup, .phy_read = ksz9477_phy_read16, .phy_write = ksz9477_phy_write16, .phylink_mac_link_down = ksz_mac_link_down, - .phylink_get_caps = ksz9477_get_caps, + .phylink_get_caps = ksz_phylink_get_caps, .port_enable = ksz_enable_port, .get_strings = ksz_get_strings, .get_ethtool_stats = ksz_get_ethtool_stats, @@ -1340,16 +1323,16 @@ .port_bridge_leave = ksz_port_bridge_leave, .port_stp_state_set = ksz9477_port_stp_state_set, .port_fast_age = ksz_port_fast_age, - .port_vlan_filtering = ksz9477_port_vlan_filtering, - .port_vlan_add = ksz9477_port_vlan_add, - .port_vlan_del = ksz9477_port_vlan_del, + .port_vlan_filtering = ksz_port_vlan_filtering, + .port_vlan_add = ksz_port_vlan_add, + .port_vlan_del = ksz_port_vlan_del, .port_fdb_dump = ksz9477_port_fdb_dump, .port_fdb_add = ksz9477_port_fdb_add, .port_fdb_del = ksz9477_port_fdb_del, .port_mdb_add = ksz9477_port_mdb_add, .port_mdb_del = ksz9477_port_mdb_del, - .port_mirror_add = ksz9477_port_mirror_add, - .port_mirror_del = ksz9477_port_mirror_del, + .port_mirror_add = ksz_port_mirror_add, + .port_mirror_del = ksz_port_mirror_del, .get_stats64 = ksz_get_stats64, .port_change_mtu = ksz9477_change_mtu, .port_max_mtu = ksz9477_max_mtu, @@ -1360,14 +1343,15 @@ return PORT_CTRL_ADDR(port, offset); } -static int ksz9477_switch_detect(struct ksz_device *dev) +static int ksz9477_switch_init(struct ksz_device *dev) { u8 data8; - u8 id_hi; - u8 id_lo; - u32 id32; int ret; + dev->ds->ops = &ksz9477_switch_ops; + + dev->port_mask = (1 << dev->info->port_cnt) - 1; + /* turn off SPI DO Edge select */ ret = ksz_read8(dev, REG_SW_GLOBAL_SERIAL_CTRL_0, &data8); if (ret) @@ -1378,10 +1362,6 @@ if (ret) return ret; - /* read chip id */ - ret = ksz_read32(dev, REG_CHIP_ID0__1, &id32); - if (ret) - return ret; ret = ksz_read8(dev, REG_GLOBAL_OPTIONS, &data8); if (ret) return ret; @@ -1392,12 +1372,7 @@ /* Default capability is gigabit capable. */ dev->features = GBIT_SUPPORT; - dev_dbg(dev->dev, "Switch detect: ID=%08x%02x\n", id32, data8); - id_hi = (u8)(id32 >> 16); - id_lo = (u8)(id32 >> 8); - if ((id_lo & 0xf) == 3) { - /* Chip is from KSZ9893 design. */ - dev_info(dev->dev, "Found KSZ9893\n"); + if (dev->chip_id == KSZ9893_CHIP_ID) { dev->features |= IS_9893; /* Chip does not support gigabit. */ @@ -1405,7 +1380,6 @@ dev->features &= ~GBIT_SUPPORT; dev->phy_port_cnt = 2; } else { - dev_info(dev->dev, "Found KSZ9477 or compatible\n"); /* Chip uses new XMII register definitions. */ dev->features |= NEW_XMII; @@ -1413,21 +1387,6 @@ if (!(data8 & SW_GIGABIT_ABLE)) dev->features &= ~GBIT_SUPPORT; } - - /* Change chip id to known ones so it can be matched against them. */ - id32 = (id_hi << 16) | (id_lo << 8); - - dev->chip_id = id32; - - return 0; -} - -static int ksz9477_switch_init(struct ksz_device *dev) -{ - dev->ds->ops = &ksz9477_switch_ops; - - dev->port_mask = (1 << dev->info->port_cnt) - 1; - return 0; } @@ -1446,8 +1405,13 @@ .r_mib_stat64 = ksz_r_mib_stats64, .freeze_mib = ksz9477_freeze_mib, .port_init_cnt = ksz9477_port_init_cnt, + .vlan_filtering = ksz9477_port_vlan_filtering, + .vlan_add = ksz9477_port_vlan_add, + .vlan_del = ksz9477_port_vlan_del, + .mirror_add = ksz9477_port_mirror_add, + .mirror_del = ksz9477_port_mirror_del, + .get_caps = ksz9477_get_caps, .shutdown = ksz9477_reset_switch, - .detect = ksz9477_switch_detect, .init = ksz9477_switch_init, .exit = ksz9477_switch_exit, }; --- linux-gcp-5.19.0.orig/drivers/net/dsa/microchip/ksz9477_reg.h +++ linux-gcp-5.19.0/drivers/net/dsa/microchip/ksz9477_reg.h @@ -25,7 +25,6 @@ #define REG_CHIP_ID2__1 0x0002 -#define CHIP_ID_63 0x63 #define CHIP_ID_66 0x66 #define CHIP_ID_67 0x67 #define CHIP_ID_77 0x77 --- linux-gcp-5.19.0.orig/drivers/net/dsa/microchip/ksz_common.c +++ linux-gcp-5.19.0/drivers/net/dsa/microchip/ksz_common.c @@ -453,9 +453,18 @@ if (dev->info->supports_rgmii[port]) phy_interface_set_rgmii(config->supported_interfaces); - if (dev->info->internal_phy[port]) + if (dev->info->internal_phy[port]) { __set_bit(PHY_INTERFACE_MODE_INTERNAL, config->supported_interfaces); + /* Compatibility for phylib's default interface type when the + * phy-mode property is absent + */ + __set_bit(PHY_INTERFACE_MODE_GMII, + config->supported_interfaces); + } + + if (dev->dev_ops->get_caps) + dev->dev_ops->get_caps(dev, port, config); } EXPORT_SYMBOL_GPL(ksz_phylink_get_caps); @@ -930,6 +939,156 @@ } EXPORT_SYMBOL_GPL(ksz_port_stp_state_set); +enum dsa_tag_protocol ksz_get_tag_protocol(struct dsa_switch *ds, + int port, enum dsa_tag_protocol mp) +{ + struct ksz_device *dev = ds->priv; + enum dsa_tag_protocol proto = DSA_TAG_PROTO_NONE; + + if (dev->chip_id == KSZ8795_CHIP_ID || + dev->chip_id == KSZ8794_CHIP_ID || + dev->chip_id == KSZ8765_CHIP_ID) + proto = DSA_TAG_PROTO_KSZ8795; + + if (dev->chip_id == KSZ8830_CHIP_ID || + dev->chip_id == KSZ9893_CHIP_ID) + proto = DSA_TAG_PROTO_KSZ9893; + + if (dev->chip_id == KSZ9477_CHIP_ID || + dev->chip_id == KSZ9897_CHIP_ID || + dev->chip_id == KSZ9567_CHIP_ID) + proto = DSA_TAG_PROTO_KSZ9477; + + return proto; +} +EXPORT_SYMBOL_GPL(ksz_get_tag_protocol); + +int ksz_port_vlan_filtering(struct dsa_switch *ds, int port, + bool flag, struct netlink_ext_ack *extack) +{ + struct ksz_device *dev = ds->priv; + + if (!dev->dev_ops->vlan_filtering) + return -EOPNOTSUPP; + + return dev->dev_ops->vlan_filtering(dev, port, flag, extack); +} +EXPORT_SYMBOL_GPL(ksz_port_vlan_filtering); + +int ksz_port_vlan_add(struct dsa_switch *ds, int port, + const struct switchdev_obj_port_vlan *vlan, + struct netlink_ext_ack *extack) +{ + struct ksz_device *dev = ds->priv; + + if (!dev->dev_ops->vlan_add) + return -EOPNOTSUPP; + + return dev->dev_ops->vlan_add(dev, port, vlan, extack); +} +EXPORT_SYMBOL_GPL(ksz_port_vlan_add); + +int ksz_port_vlan_del(struct dsa_switch *ds, int port, + const struct switchdev_obj_port_vlan *vlan) +{ + struct ksz_device *dev = ds->priv; + + if (!dev->dev_ops->vlan_del) + return -EOPNOTSUPP; + + return dev->dev_ops->vlan_del(dev, port, vlan); +} +EXPORT_SYMBOL_GPL(ksz_port_vlan_del); + +int ksz_port_mirror_add(struct dsa_switch *ds, int port, + struct dsa_mall_mirror_tc_entry *mirror, + bool ingress, struct netlink_ext_ack *extack) +{ + struct ksz_device *dev = ds->priv; + + if (!dev->dev_ops->mirror_add) + return -EOPNOTSUPP; + + return dev->dev_ops->mirror_add(dev, port, mirror, ingress, extack); +} +EXPORT_SYMBOL_GPL(ksz_port_mirror_add); + +void ksz_port_mirror_del(struct dsa_switch *ds, int port, + struct dsa_mall_mirror_tc_entry *mirror) +{ + struct ksz_device *dev = ds->priv; + + if (dev->dev_ops->mirror_del) + dev->dev_ops->mirror_del(dev, port, mirror); +} +EXPORT_SYMBOL_GPL(ksz_port_mirror_del); + +static int ksz_switch_detect(struct ksz_device *dev) +{ + u8 id1, id2; + u16 id16; + u32 id32; + int ret; + + /* read chip id */ + ret = ksz_read16(dev, REG_CHIP_ID0, &id16); + if (ret) + return ret; + + id1 = FIELD_GET(SW_FAMILY_ID_M, id16); + id2 = FIELD_GET(SW_CHIP_ID_M, id16); + + switch (id1) { + case KSZ87_FAMILY_ID: + if (id2 == KSZ87_CHIP_ID_95) { + u8 val; + + dev->chip_id = KSZ8795_CHIP_ID; + + ksz_read8(dev, KSZ8_PORT_STATUS_0, &val); + if (val & KSZ8_PORT_FIBER_MODE) + dev->chip_id = KSZ8765_CHIP_ID; + } else if (id2 == KSZ87_CHIP_ID_94) { + dev->chip_id = KSZ8794_CHIP_ID; + } else { + return -ENODEV; + } + break; + case KSZ88_FAMILY_ID: + if (id2 == KSZ88_CHIP_ID_63) + dev->chip_id = KSZ8830_CHIP_ID; + else + return -ENODEV; + break; + default: + ret = ksz_read32(dev, REG_CHIP_ID0, &id32); + if (ret) + return ret; + + dev->chip_rev = FIELD_GET(SW_REV_ID_M, id32); + id32 &= ~0xFF; + + switch (id32) { + case KSZ9477_CHIP_ID: + case KSZ9897_CHIP_ID: + case KSZ9893_CHIP_ID: + case KSZ9567_CHIP_ID: + case LAN9370_CHIP_ID: + case LAN9371_CHIP_ID: + case LAN9372_CHIP_ID: + case LAN9373_CHIP_ID: + case LAN9374_CHIP_ID: + dev->chip_id = id32; + break; + default: + dev_err(dev->dev, + "unsupported switch detected %x)\n", id32); + return -ENODEV; + } + } + return 0; +} + struct ksz_device *ksz_switch_alloc(struct device *base, void *priv) { struct dsa_switch *ds; @@ -986,10 +1145,9 @@ mutex_init(&dev->alu_mutex); mutex_init(&dev->vlan_mutex); - dev->dev_ops = ops; - - if (dev->dev_ops->detect(dev)) - return -EINVAL; + ret = ksz_switch_detect(dev); + if (ret) + return ret; info = ksz_lookup_info(dev->chip_id); if (!info) @@ -998,10 +1156,15 @@ /* Update the compatible info with the probed one */ dev->info = info; + dev_info(dev->dev, "found switch: %s, rev %i\n", + dev->info->dev_name, dev->chip_rev); + ret = ksz_check_device_id(dev); if (ret) return ret; + dev->dev_ops = ops; + ret = dev->dev_ops->init(dev); if (ret) return ret; --- linux-gcp-5.19.0.orig/drivers/net/dsa/microchip/ksz_common.h +++ linux-gcp-5.19.0/drivers/net/dsa/microchip/ksz_common.h @@ -90,6 +90,7 @@ /* chip specific data */ u32 chip_id; + u8 chip_rev; int cpu_port; /* port connected to CPU */ int phy_port_cnt; phy_interface_t compat_interface; @@ -179,10 +180,23 @@ void (*r_mib_pkt)(struct ksz_device *dev, int port, u16 addr, u64 *dropped, u64 *cnt); void (*r_mib_stat64)(struct ksz_device *dev, int port); + int (*vlan_filtering)(struct ksz_device *dev, int port, + bool flag, struct netlink_ext_ack *extack); + int (*vlan_add)(struct ksz_device *dev, int port, + const struct switchdev_obj_port_vlan *vlan, + struct netlink_ext_ack *extack); + int (*vlan_del)(struct ksz_device *dev, int port, + const struct switchdev_obj_port_vlan *vlan); + int (*mirror_add)(struct ksz_device *dev, int port, + struct dsa_mall_mirror_tc_entry *mirror, + bool ingress, struct netlink_ext_ack *extack); + void (*mirror_del)(struct ksz_device *dev, int port, + struct dsa_mall_mirror_tc_entry *mirror); + void (*get_caps)(struct ksz_device *dev, int port, + struct phylink_config *config); void (*freeze_mib)(struct ksz_device *dev, int port, bool freeze); void (*port_init_cnt)(struct ksz_device *dev, int port); int (*shutdown)(struct ksz_device *dev); - int (*detect)(struct ksz_device *dev); int (*init)(struct ksz_device *dev); void (*exit)(struct ksz_device *dev); }; @@ -231,6 +245,20 @@ int ksz_enable_port(struct dsa_switch *ds, int port, struct phy_device *phy); void ksz_get_strings(struct dsa_switch *ds, int port, u32 stringset, uint8_t *buf); +enum dsa_tag_protocol ksz_get_tag_protocol(struct dsa_switch *ds, + int port, enum dsa_tag_protocol mp); +int ksz_port_vlan_filtering(struct dsa_switch *ds, int port, + bool flag, struct netlink_ext_ack *extack); +int ksz_port_vlan_add(struct dsa_switch *ds, int port, + const struct switchdev_obj_port_vlan *vlan, + struct netlink_ext_ack *extack); +int ksz_port_vlan_del(struct dsa_switch *ds, int port, + const struct switchdev_obj_port_vlan *vlan); +int ksz_port_mirror_add(struct dsa_switch *ds, int port, + struct dsa_mall_mirror_tc_entry *mirror, + bool ingress, struct netlink_ext_ack *extack); +void ksz_port_mirror_del(struct dsa_switch *ds, int port, + struct dsa_mall_mirror_tc_entry *mirror); /* Common register access functions */ @@ -353,6 +381,23 @@ #define PORT_RX_ENABLE BIT(1) #define PORT_LEARN_DISABLE BIT(0) +/* Switch ID Defines */ +#define REG_CHIP_ID0 0x00 + +#define SW_FAMILY_ID_M GENMASK(15, 8) +#define KSZ87_FAMILY_ID 0x87 +#define KSZ88_FAMILY_ID 0x88 + +#define KSZ8_PORT_STATUS_0 0x08 +#define KSZ8_PORT_FIBER_MODE BIT(7) + +#define SW_CHIP_ID_M GENMASK(7, 4) +#define KSZ87_CHIP_ID_94 0x6 +#define KSZ87_CHIP_ID_95 0x9 +#define KSZ88_CHIP_ID_63 0x3 + +#define SW_REV_ID_M GENMASK(7, 4) + /* Regmap tables generation */ #define KSZ_SPI_OP_RD 3 #define KSZ_SPI_OP_WR 2 --- linux-gcp-5.19.0.orig/drivers/net/dsa/mt7530.c +++ linux-gcp-5.19.0/drivers/net/dsa/mt7530.c @@ -506,14 +506,19 @@ static int mt7531_pad_setup(struct dsa_switch *ds, phy_interface_t interface) { - struct mt7530_priv *priv = ds->priv; + return 0; +} + +static void +mt7531_pll_setup(struct mt7530_priv *priv) +{ u32 top_sig; u32 hwstrap; u32 xtal; u32 val; if (mt7531_dual_sgmii_supported(priv)) - return 0; + return; val = mt7530_read(priv, MT7531_CREV); top_sig = mt7530_read(priv, MT7531_TOP_SIG_SR); @@ -592,8 +597,6 @@ val |= EN_COREPLL; mt7530_write(priv, MT7531_PLLGP_EN, val); usleep_range(25, 35); - - return 0; } static void @@ -1297,14 +1300,26 @@ if (!priv->ports[port].pvid) mt7530_rmw(priv, MT7530_PVC_P(port), ACC_FRM_MASK, MT7530_VLAN_ACC_TAGGED); - } - /* Set the port as a user port which is to be able to recognize VID - * from incoming packets before fetching entry within the VLAN table. - */ - mt7530_rmw(priv, MT7530_PVC_P(port), VLAN_ATTR_MASK | PVC_EG_TAG_MASK, - VLAN_ATTR(MT7530_VLAN_USER) | - PVC_EG_TAG(MT7530_VLAN_EG_DISABLED)); + /* Set the port as a user port which is to be able to recognize + * VID from incoming packets before fetching entry within the + * VLAN table. + */ + mt7530_rmw(priv, MT7530_PVC_P(port), + VLAN_ATTR_MASK | PVC_EG_TAG_MASK, + VLAN_ATTR(MT7530_VLAN_USER) | + PVC_EG_TAG(MT7530_VLAN_EG_DISABLED)); + } else { + /* Also set CPU ports to the "user" VLAN port attribute, to + * allow VLAN classification, but keep the EG_TAG attribute as + * "consistent" (i.o.w. don't change its value) for packets + * received by the switch from the CPU, so that tagged packets + * are forwarded to user ports as tagged, and untagged as + * untagged. + */ + mt7530_rmw(priv, MT7530_PVC_P(port), VLAN_ATTR_MASK, + VLAN_ATTR(MT7530_VLAN_USER)); + } } static void @@ -2310,6 +2325,8 @@ SYS_CTRL_PHY_RST | SYS_CTRL_SW_RST | SYS_CTRL_REG_RST); + mt7531_pll_setup(priv); + if (mt7531_dual_sgmii_supported(priv)) { priv->p5_intf_sel = P5_INTF_SEL_GMAC5_SGMII; @@ -2863,8 +2880,6 @@ case 6: interface = PHY_INTERFACE_MODE_2500BASEX; - mt7531_pad_setup(ds, interface); - priv->p6_interface = interface; break; default: --- linux-gcp-5.19.0.orig/drivers/net/dsa/mv88e6060.c +++ linux-gcp-5.19.0/drivers/net/dsa/mv88e6060.c @@ -118,6 +118,9 @@ int addr = REG_PORT(p); int ret; + if (dsa_is_unused_port(priv->ds, p)) + return 0; + /* Do not force flow control, disable Ingress and Egress * Header tagging, disable VLAN tunneling, and set the port * state to Forwarding. Additionally, if this is the CPU --- linux-gcp-5.19.0.orig/drivers/net/dsa/mv88e6xxx/Kconfig +++ linux-gcp-5.19.0/drivers/net/dsa/mv88e6xxx/Kconfig @@ -2,7 +2,6 @@ config NET_DSA_MV88E6XXX tristate "Marvell 88E6xxx Ethernet switch fabric support" depends on NET_DSA - depends on PTP_1588_CLOCK_OPTIONAL select IRQ_DOMAIN select NET_DSA_TAG_EDSA select NET_DSA_TAG_DSA @@ -13,7 +12,8 @@ config NET_DSA_MV88E6XXX_PTP bool "PTP support for Marvell 88E6xxx" default n - depends on NET_DSA_MV88E6XXX && PTP_1588_CLOCK + depends on (NET_DSA_MV88E6XXX = y && PTP_1588_CLOCK = y) || \ + (NET_DSA_MV88E6XXX = m && PTP_1588_CLOCK) help Say Y to enable PTP hardware timestamping on Marvell 88E6xxx switch chips that support it. --- linux-gcp-5.19.0.orig/drivers/net/dsa/mv88e6xxx/chip.c +++ linux-gcp-5.19.0/drivers/net/dsa/mv88e6xxx/chip.c @@ -828,10 +828,13 @@ chip->info->ops->phylink_get_caps(chip, port, config); - /* Internal ports need GMII for PHYLIB */ - if (mv88e6xxx_phy_is_internal(ds, port)) + if (mv88e6xxx_phy_is_internal(ds, port)) { + __set_bit(PHY_INTERFACE_MODE_INTERNAL, + config->supported_interfaces); + /* Internal ports with no phy-mode need GMII for PHYLIB */ __set_bit(PHY_INTERFACE_MODE_GMII, config->supported_interfaces); + } } static void mv88e6xxx_mac_config(struct dsa_switch *ds, int port, --- linux-gcp-5.19.0.orig/drivers/net/dsa/ocelot/Kconfig +++ linux-gcp-5.19.0/drivers/net/dsa/ocelot/Kconfig @@ -6,6 +6,7 @@ depends on NET_VENDOR_FREESCALE depends on HAS_IOMEM depends on PTP_1588_CLOCK_OPTIONAL + depends on NET_SCH_TAPRIO || NET_SCH_TAPRIO=n select MSCC_OCELOT_SWITCH_LIB select NET_DSA_TAG_OCELOT_8021Q select NET_DSA_TAG_OCELOT --- linux-gcp-5.19.0.orig/drivers/net/dsa/ocelot/felix.c +++ linux-gcp-5.19.0/drivers/net/dsa/ocelot/felix.c @@ -610,6 +610,9 @@ old_proto_ops = felix->tag_proto_ops; + if (proto_ops == old_proto_ops) + return 0; + err = proto_ops->setup(ds); if (err) goto setup_failed; @@ -1553,9 +1556,18 @@ static int felix_change_mtu(struct dsa_switch *ds, int port, int new_mtu) { struct ocelot *ocelot = ds->priv; + struct ocelot_port *ocelot_port = ocelot->ports[port]; + struct felix *felix = ocelot_to_felix(ocelot); ocelot_port_set_maxlen(ocelot, port, new_mtu); + mutex_lock(&ocelot->tas_lock); + + if (ocelot_port->taprio && felix->info->tas_guard_bands_update) + felix->info->tas_guard_bands_update(ocelot, port); + + mutex_unlock(&ocelot->tas_lock); + return 0; } --- linux-gcp-5.19.0.orig/drivers/net/dsa/ocelot/felix.h +++ linux-gcp-5.19.0/drivers/net/dsa/ocelot/felix.h @@ -53,6 +53,7 @@ struct phylink_link_state *state); int (*port_setup_tc)(struct dsa_switch *ds, int port, enum tc_setup_type type, void *type_data); + void (*tas_guard_bands_update)(struct ocelot *ocelot, int port); void (*port_sched_speed_set)(struct ocelot *ocelot, int port, u32 speed); struct regmap *(*init_regmap)(struct ocelot *ocelot, --- linux-gcp-5.19.0.orig/drivers/net/dsa/ocelot/felix_vsc9959.c +++ linux-gcp-5.19.0/drivers/net/dsa/ocelot/felix_vsc9959.c @@ -16,11 +16,13 @@ #include #include #include +#include #include "felix.h" #define VSC9959_NUM_PORTS 6 #define VSC9959_TAS_GCL_ENTRY_MAX 63 +#define VSC9959_TAS_MIN_GATE_LEN_NS 33 #define VSC9959_VCAP_POLICER_BASE 63 #define VSC9959_VCAP_POLICER_MAX 383 #define VSC9959_SWITCH_PCI_BAR 4 @@ -280,19 +282,23 @@ REG(SYS_COUNT_RX_64, 0x000024), REG(SYS_COUNT_RX_65_127, 0x000028), REG(SYS_COUNT_RX_128_255, 0x00002c), - REG(SYS_COUNT_RX_256_1023, 0x000030), - REG(SYS_COUNT_RX_1024_1526, 0x000034), - REG(SYS_COUNT_RX_1527_MAX, 0x000038), - REG(SYS_COUNT_RX_LONGS, 0x000044), + REG(SYS_COUNT_RX_256_511, 0x000030), + REG(SYS_COUNT_RX_512_1023, 0x000034), + REG(SYS_COUNT_RX_1024_1526, 0x000038), + REG(SYS_COUNT_RX_1527_MAX, 0x00003c), + REG(SYS_COUNT_RX_PAUSE, 0x000040), + REG(SYS_COUNT_RX_CONTROL, 0x000044), + REG(SYS_COUNT_RX_LONGS, 0x000048), REG(SYS_COUNT_TX_OCTETS, 0x000200), REG(SYS_COUNT_TX_COLLISION, 0x000210), REG(SYS_COUNT_TX_DROPS, 0x000214), REG(SYS_COUNT_TX_64, 0x00021c), REG(SYS_COUNT_TX_65_127, 0x000220), - REG(SYS_COUNT_TX_128_511, 0x000224), - REG(SYS_COUNT_TX_512_1023, 0x000228), - REG(SYS_COUNT_TX_1024_1526, 0x00022c), - REG(SYS_COUNT_TX_1527_MAX, 0x000230), + REG(SYS_COUNT_TX_128_255, 0x000224), + REG(SYS_COUNT_TX_256_511, 0x000228), + REG(SYS_COUNT_TX_512_1023, 0x00022c), + REG(SYS_COUNT_TX_1024_1526, 0x000230), + REG(SYS_COUNT_TX_1527_MAX, 0x000234), REG(SYS_COUNT_TX_AGING, 0x000278), REG(SYS_RESET_CFG, 0x000e00), REG(SYS_SR_ETYPE_CFG, 0x000e04), @@ -546,100 +552,379 @@ [SYS_PAUSE_CFG_PAUSE_ENA] = REG_FIELD_ID(SYS_PAUSE_CFG, 0, 1, 7, 4), }; -static const struct ocelot_stat_layout vsc9959_stats_layout[] = { - { .offset = 0x00, .name = "rx_octets", }, - { .offset = 0x01, .name = "rx_unicast", }, - { .offset = 0x02, .name = "rx_multicast", }, - { .offset = 0x03, .name = "rx_broadcast", }, - { .offset = 0x04, .name = "rx_shorts", }, - { .offset = 0x05, .name = "rx_fragments", }, - { .offset = 0x06, .name = "rx_jabbers", }, - { .offset = 0x07, .name = "rx_crc_align_errs", }, - { .offset = 0x08, .name = "rx_sym_errs", }, - { .offset = 0x09, .name = "rx_frames_below_65_octets", }, - { .offset = 0x0A, .name = "rx_frames_65_to_127_octets", }, - { .offset = 0x0B, .name = "rx_frames_128_to_255_octets", }, - { .offset = 0x0C, .name = "rx_frames_256_to_511_octets", }, - { .offset = 0x0D, .name = "rx_frames_512_to_1023_octets", }, - { .offset = 0x0E, .name = "rx_frames_1024_to_1526_octets", }, - { .offset = 0x0F, .name = "rx_frames_over_1526_octets", }, - { .offset = 0x10, .name = "rx_pause", }, - { .offset = 0x11, .name = "rx_control", }, - { .offset = 0x12, .name = "rx_longs", }, - { .offset = 0x13, .name = "rx_classified_drops", }, - { .offset = 0x14, .name = "rx_red_prio_0", }, - { .offset = 0x15, .name = "rx_red_prio_1", }, - { .offset = 0x16, .name = "rx_red_prio_2", }, - { .offset = 0x17, .name = "rx_red_prio_3", }, - { .offset = 0x18, .name = "rx_red_prio_4", }, - { .offset = 0x19, .name = "rx_red_prio_5", }, - { .offset = 0x1A, .name = "rx_red_prio_6", }, - { .offset = 0x1B, .name = "rx_red_prio_7", }, - { .offset = 0x1C, .name = "rx_yellow_prio_0", }, - { .offset = 0x1D, .name = "rx_yellow_prio_1", }, - { .offset = 0x1E, .name = "rx_yellow_prio_2", }, - { .offset = 0x1F, .name = "rx_yellow_prio_3", }, - { .offset = 0x20, .name = "rx_yellow_prio_4", }, - { .offset = 0x21, .name = "rx_yellow_prio_5", }, - { .offset = 0x22, .name = "rx_yellow_prio_6", }, - { .offset = 0x23, .name = "rx_yellow_prio_7", }, - { .offset = 0x24, .name = "rx_green_prio_0", }, - { .offset = 0x25, .name = "rx_green_prio_1", }, - { .offset = 0x26, .name = "rx_green_prio_2", }, - { .offset = 0x27, .name = "rx_green_prio_3", }, - { .offset = 0x28, .name = "rx_green_prio_4", }, - { .offset = 0x29, .name = "rx_green_prio_5", }, - { .offset = 0x2A, .name = "rx_green_prio_6", }, - { .offset = 0x2B, .name = "rx_green_prio_7", }, - { .offset = 0x80, .name = "tx_octets", }, - { .offset = 0x81, .name = "tx_unicast", }, - { .offset = 0x82, .name = "tx_multicast", }, - { .offset = 0x83, .name = "tx_broadcast", }, - { .offset = 0x84, .name = "tx_collision", }, - { .offset = 0x85, .name = "tx_drops", }, - { .offset = 0x86, .name = "tx_pause", }, - { .offset = 0x87, .name = "tx_frames_below_65_octets", }, - { .offset = 0x88, .name = "tx_frames_65_to_127_octets", }, - { .offset = 0x89, .name = "tx_frames_128_255_octets", }, - { .offset = 0x8B, .name = "tx_frames_256_511_octets", }, - { .offset = 0x8C, .name = "tx_frames_1024_1526_octets", }, - { .offset = 0x8D, .name = "tx_frames_over_1526_octets", }, - { .offset = 0x8E, .name = "tx_yellow_prio_0", }, - { .offset = 0x8F, .name = "tx_yellow_prio_1", }, - { .offset = 0x90, .name = "tx_yellow_prio_2", }, - { .offset = 0x91, .name = "tx_yellow_prio_3", }, - { .offset = 0x92, .name = "tx_yellow_prio_4", }, - { .offset = 0x93, .name = "tx_yellow_prio_5", }, - { .offset = 0x94, .name = "tx_yellow_prio_6", }, - { .offset = 0x95, .name = "tx_yellow_prio_7", }, - { .offset = 0x96, .name = "tx_green_prio_0", }, - { .offset = 0x97, .name = "tx_green_prio_1", }, - { .offset = 0x98, .name = "tx_green_prio_2", }, - { .offset = 0x99, .name = "tx_green_prio_3", }, - { .offset = 0x9A, .name = "tx_green_prio_4", }, - { .offset = 0x9B, .name = "tx_green_prio_5", }, - { .offset = 0x9C, .name = "tx_green_prio_6", }, - { .offset = 0x9D, .name = "tx_green_prio_7", }, - { .offset = 0x9E, .name = "tx_aged", }, - { .offset = 0x100, .name = "drop_local", }, - { .offset = 0x101, .name = "drop_tail", }, - { .offset = 0x102, .name = "drop_yellow_prio_0", }, - { .offset = 0x103, .name = "drop_yellow_prio_1", }, - { .offset = 0x104, .name = "drop_yellow_prio_2", }, - { .offset = 0x105, .name = "drop_yellow_prio_3", }, - { .offset = 0x106, .name = "drop_yellow_prio_4", }, - { .offset = 0x107, .name = "drop_yellow_prio_5", }, - { .offset = 0x108, .name = "drop_yellow_prio_6", }, - { .offset = 0x109, .name = "drop_yellow_prio_7", }, - { .offset = 0x10A, .name = "drop_green_prio_0", }, - { .offset = 0x10B, .name = "drop_green_prio_1", }, - { .offset = 0x10C, .name = "drop_green_prio_2", }, - { .offset = 0x10D, .name = "drop_green_prio_3", }, - { .offset = 0x10E, .name = "drop_green_prio_4", }, - { .offset = 0x10F, .name = "drop_green_prio_5", }, - { .offset = 0x110, .name = "drop_green_prio_6", }, - { .offset = 0x111, .name = "drop_green_prio_7", }, - OCELOT_STAT_END +static const struct ocelot_stat_layout vsc9959_stats_layout[OCELOT_NUM_STATS] = { + [OCELOT_STAT_RX_OCTETS] = { + .name = "rx_octets", + .offset = 0x00, + }, + [OCELOT_STAT_RX_UNICAST] = { + .name = "rx_unicast", + .offset = 0x01, + }, + [OCELOT_STAT_RX_MULTICAST] = { + .name = "rx_multicast", + .offset = 0x02, + }, + [OCELOT_STAT_RX_BROADCAST] = { + .name = "rx_broadcast", + .offset = 0x03, + }, + [OCELOT_STAT_RX_SHORTS] = { + .name = "rx_shorts", + .offset = 0x04, + }, + [OCELOT_STAT_RX_FRAGMENTS] = { + .name = "rx_fragments", + .offset = 0x05, + }, + [OCELOT_STAT_RX_JABBERS] = { + .name = "rx_jabbers", + .offset = 0x06, + }, + [OCELOT_STAT_RX_CRC_ALIGN_ERRS] = { + .name = "rx_crc_align_errs", + .offset = 0x07, + }, + [OCELOT_STAT_RX_SYM_ERRS] = { + .name = "rx_sym_errs", + .offset = 0x08, + }, + [OCELOT_STAT_RX_64] = { + .name = "rx_frames_below_65_octets", + .offset = 0x09, + }, + [OCELOT_STAT_RX_65_127] = { + .name = "rx_frames_65_to_127_octets", + .offset = 0x0A, + }, + [OCELOT_STAT_RX_128_255] = { + .name = "rx_frames_128_to_255_octets", + .offset = 0x0B, + }, + [OCELOT_STAT_RX_256_511] = { + .name = "rx_frames_256_to_511_octets", + .offset = 0x0C, + }, + [OCELOT_STAT_RX_512_1023] = { + .name = "rx_frames_512_to_1023_octets", + .offset = 0x0D, + }, + [OCELOT_STAT_RX_1024_1526] = { + .name = "rx_frames_1024_to_1526_octets", + .offset = 0x0E, + }, + [OCELOT_STAT_RX_1527_MAX] = { + .name = "rx_frames_over_1526_octets", + .offset = 0x0F, + }, + [OCELOT_STAT_RX_PAUSE] = { + .name = "rx_pause", + .offset = 0x10, + }, + [OCELOT_STAT_RX_CONTROL] = { + .name = "rx_control", + .offset = 0x11, + }, + [OCELOT_STAT_RX_LONGS] = { + .name = "rx_longs", + .offset = 0x12, + }, + [OCELOT_STAT_RX_CLASSIFIED_DROPS] = { + .name = "rx_classified_drops", + .offset = 0x13, + }, + [OCELOT_STAT_RX_RED_PRIO_0] = { + .name = "rx_red_prio_0", + .offset = 0x14, + }, + [OCELOT_STAT_RX_RED_PRIO_1] = { + .name = "rx_red_prio_1", + .offset = 0x15, + }, + [OCELOT_STAT_RX_RED_PRIO_2] = { + .name = "rx_red_prio_2", + .offset = 0x16, + }, + [OCELOT_STAT_RX_RED_PRIO_3] = { + .name = "rx_red_prio_3", + .offset = 0x17, + }, + [OCELOT_STAT_RX_RED_PRIO_4] = { + .name = "rx_red_prio_4", + .offset = 0x18, + }, + [OCELOT_STAT_RX_RED_PRIO_5] = { + .name = "rx_red_prio_5", + .offset = 0x19, + }, + [OCELOT_STAT_RX_RED_PRIO_6] = { + .name = "rx_red_prio_6", + .offset = 0x1A, + }, + [OCELOT_STAT_RX_RED_PRIO_7] = { + .name = "rx_red_prio_7", + .offset = 0x1B, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_0] = { + .name = "rx_yellow_prio_0", + .offset = 0x1C, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_1] = { + .name = "rx_yellow_prio_1", + .offset = 0x1D, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_2] = { + .name = "rx_yellow_prio_2", + .offset = 0x1E, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_3] = { + .name = "rx_yellow_prio_3", + .offset = 0x1F, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_4] = { + .name = "rx_yellow_prio_4", + .offset = 0x20, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_5] = { + .name = "rx_yellow_prio_5", + .offset = 0x21, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_6] = { + .name = "rx_yellow_prio_6", + .offset = 0x22, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_7] = { + .name = "rx_yellow_prio_7", + .offset = 0x23, + }, + [OCELOT_STAT_RX_GREEN_PRIO_0] = { + .name = "rx_green_prio_0", + .offset = 0x24, + }, + [OCELOT_STAT_RX_GREEN_PRIO_1] = { + .name = "rx_green_prio_1", + .offset = 0x25, + }, + [OCELOT_STAT_RX_GREEN_PRIO_2] = { + .name = "rx_green_prio_2", + .offset = 0x26, + }, + [OCELOT_STAT_RX_GREEN_PRIO_3] = { + .name = "rx_green_prio_3", + .offset = 0x27, + }, + [OCELOT_STAT_RX_GREEN_PRIO_4] = { + .name = "rx_green_prio_4", + .offset = 0x28, + }, + [OCELOT_STAT_RX_GREEN_PRIO_5] = { + .name = "rx_green_prio_5", + .offset = 0x29, + }, + [OCELOT_STAT_RX_GREEN_PRIO_6] = { + .name = "rx_green_prio_6", + .offset = 0x2A, + }, + [OCELOT_STAT_RX_GREEN_PRIO_7] = { + .name = "rx_green_prio_7", + .offset = 0x2B, + }, + [OCELOT_STAT_TX_OCTETS] = { + .name = "tx_octets", + .offset = 0x80, + }, + [OCELOT_STAT_TX_UNICAST] = { + .name = "tx_unicast", + .offset = 0x81, + }, + [OCELOT_STAT_TX_MULTICAST] = { + .name = "tx_multicast", + .offset = 0x82, + }, + [OCELOT_STAT_TX_BROADCAST] = { + .name = "tx_broadcast", + .offset = 0x83, + }, + [OCELOT_STAT_TX_COLLISION] = { + .name = "tx_collision", + .offset = 0x84, + }, + [OCELOT_STAT_TX_DROPS] = { + .name = "tx_drops", + .offset = 0x85, + }, + [OCELOT_STAT_TX_PAUSE] = { + .name = "tx_pause", + .offset = 0x86, + }, + [OCELOT_STAT_TX_64] = { + .name = "tx_frames_below_65_octets", + .offset = 0x87, + }, + [OCELOT_STAT_TX_65_127] = { + .name = "tx_frames_65_to_127_octets", + .offset = 0x88, + }, + [OCELOT_STAT_TX_128_255] = { + .name = "tx_frames_128_255_octets", + .offset = 0x89, + }, + [OCELOT_STAT_TX_256_511] = { + .name = "tx_frames_256_511_octets", + .offset = 0x8A, + }, + [OCELOT_STAT_TX_512_1023] = { + .name = "tx_frames_512_1023_octets", + .offset = 0x8B, + }, + [OCELOT_STAT_TX_1024_1526] = { + .name = "tx_frames_1024_1526_octets", + .offset = 0x8C, + }, + [OCELOT_STAT_TX_1527_MAX] = { + .name = "tx_frames_over_1526_octets", + .offset = 0x8D, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_0] = { + .name = "tx_yellow_prio_0", + .offset = 0x8E, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_1] = { + .name = "tx_yellow_prio_1", + .offset = 0x8F, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_2] = { + .name = "tx_yellow_prio_2", + .offset = 0x90, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_3] = { + .name = "tx_yellow_prio_3", + .offset = 0x91, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_4] = { + .name = "tx_yellow_prio_4", + .offset = 0x92, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_5] = { + .name = "tx_yellow_prio_5", + .offset = 0x93, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_6] = { + .name = "tx_yellow_prio_6", + .offset = 0x94, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_7] = { + .name = "tx_yellow_prio_7", + .offset = 0x95, + }, + [OCELOT_STAT_TX_GREEN_PRIO_0] = { + .name = "tx_green_prio_0", + .offset = 0x96, + }, + [OCELOT_STAT_TX_GREEN_PRIO_1] = { + .name = "tx_green_prio_1", + .offset = 0x97, + }, + [OCELOT_STAT_TX_GREEN_PRIO_2] = { + .name = "tx_green_prio_2", + .offset = 0x98, + }, + [OCELOT_STAT_TX_GREEN_PRIO_3] = { + .name = "tx_green_prio_3", + .offset = 0x99, + }, + [OCELOT_STAT_TX_GREEN_PRIO_4] = { + .name = "tx_green_prio_4", + .offset = 0x9A, + }, + [OCELOT_STAT_TX_GREEN_PRIO_5] = { + .name = "tx_green_prio_5", + .offset = 0x9B, + }, + [OCELOT_STAT_TX_GREEN_PRIO_6] = { + .name = "tx_green_prio_6", + .offset = 0x9C, + }, + [OCELOT_STAT_TX_GREEN_PRIO_7] = { + .name = "tx_green_prio_7", + .offset = 0x9D, + }, + [OCELOT_STAT_TX_AGED] = { + .name = "tx_aged", + .offset = 0x9E, + }, + [OCELOT_STAT_DROP_LOCAL] = { + .name = "drop_local", + .offset = 0x100, + }, + [OCELOT_STAT_DROP_TAIL] = { + .name = "drop_tail", + .offset = 0x101, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_0] = { + .name = "drop_yellow_prio_0", + .offset = 0x102, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_1] = { + .name = "drop_yellow_prio_1", + .offset = 0x103, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_2] = { + .name = "drop_yellow_prio_2", + .offset = 0x104, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_3] = { + .name = "drop_yellow_prio_3", + .offset = 0x105, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_4] = { + .name = "drop_yellow_prio_4", + .offset = 0x106, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_5] = { + .name = "drop_yellow_prio_5", + .offset = 0x107, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_6] = { + .name = "drop_yellow_prio_6", + .offset = 0x108, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_7] = { + .name = "drop_yellow_prio_7", + .offset = 0x109, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_0] = { + .name = "drop_green_prio_0", + .offset = 0x10A, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_1] = { + .name = "drop_green_prio_1", + .offset = 0x10B, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_2] = { + .name = "drop_green_prio_2", + .offset = 0x10C, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_3] = { + .name = "drop_green_prio_3", + .offset = 0x10D, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_4] = { + .name = "drop_green_prio_4", + .offset = 0x10E, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_5] = { + .name = "drop_green_prio_5", + .offset = 0x10F, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_6] = { + .name = "drop_green_prio_6", + .offset = 0x110, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_7] = { + .name = "drop_green_prio_7", + .offset = 0x111, + }, }; static const struct vcap_field vsc9959_vcap_es0_keys[] = { @@ -1127,9 +1412,266 @@ mdiobus_free(felix->imdio); } +/* The switch considers any frame (regardless of size) as eligible for + * transmission if the traffic class gate is open for at least 33 ns. + * Overruns are prevented by cropping an interval at the end of the gate time + * slot for which egress scheduling is blocked, but we need to still keep 33 ns + * available for one packet to be transmitted, otherwise the port tc will hang. + * This function returns the size of a gate interval that remains available for + * setting the guard band, after reserving the space for one egress frame. + */ +static u64 vsc9959_tas_remaining_gate_len_ps(u64 gate_len_ns) +{ + /* Gate always open */ + if (gate_len_ns == U64_MAX) + return U64_MAX; + + return (gate_len_ns - VSC9959_TAS_MIN_GATE_LEN_NS) * PSEC_PER_NSEC; +} + +/* Extract shortest continuous gate open intervals in ns for each traffic class + * of a cyclic tc-taprio schedule. If a gate is always open, the duration is + * considered U64_MAX. If the gate is always closed, it is considered 0. + */ +static void vsc9959_tas_min_gate_lengths(struct tc_taprio_qopt_offload *taprio, + u64 min_gate_len[OCELOT_NUM_TC]) +{ + struct tc_taprio_sched_entry *entry; + u64 gate_len[OCELOT_NUM_TC]; + u8 gates_ever_opened = 0; + int tc, i, n; + + /* Initialize arrays */ + for (tc = 0; tc < OCELOT_NUM_TC; tc++) { + min_gate_len[tc] = U64_MAX; + gate_len[tc] = 0; + } + + /* If we don't have taprio, consider all gates as permanently open */ + if (!taprio) + return; + + n = taprio->num_entries; + + /* Walk through the gate list twice to determine the length + * of consecutively open gates for a traffic class, including + * open gates that wrap around. We are just interested in the + * minimum window size, and this doesn't change what the + * minimum is (if the gate never closes, min_gate_len will + * remain U64_MAX). + */ + for (i = 0; i < 2 * n; i++) { + entry = &taprio->entries[i % n]; + + for (tc = 0; tc < OCELOT_NUM_TC; tc++) { + if (entry->gate_mask & BIT(tc)) { + gate_len[tc] += entry->interval; + gates_ever_opened |= BIT(tc); + } else { + /* Gate closes now, record a potential new + * minimum and reinitialize length + */ + if (min_gate_len[tc] > gate_len[tc] && + gate_len[tc]) + min_gate_len[tc] = gate_len[tc]; + gate_len[tc] = 0; + } + } + } + + /* min_gate_len[tc] actually tracks minimum *open* gate time, so for + * permanently closed gates, min_gate_len[tc] will still be U64_MAX. + * Therefore they are currently indistinguishable from permanently + * open gates. Overwrite the gate len with 0 when we know they're + * actually permanently closed, i.e. after the loop above. + */ + for (tc = 0; tc < OCELOT_NUM_TC; tc++) + if (!(gates_ever_opened & BIT(tc))) + min_gate_len[tc] = 0; +} + +/* ocelot_write_rix is a macro that concatenates QSYS_MAXSDU_CFG_* with _RSZ, + * so we need to spell out the register access to each traffic class in helper + * functions, to simplify callers + */ +static void vsc9959_port_qmaxsdu_set(struct ocelot *ocelot, int port, int tc, + u32 max_sdu) +{ + switch (tc) { + case 0: + ocelot_write_rix(ocelot, max_sdu, QSYS_QMAXSDU_CFG_0, + port); + break; + case 1: + ocelot_write_rix(ocelot, max_sdu, QSYS_QMAXSDU_CFG_1, + port); + break; + case 2: + ocelot_write_rix(ocelot, max_sdu, QSYS_QMAXSDU_CFG_2, + port); + break; + case 3: + ocelot_write_rix(ocelot, max_sdu, QSYS_QMAXSDU_CFG_3, + port); + break; + case 4: + ocelot_write_rix(ocelot, max_sdu, QSYS_QMAXSDU_CFG_4, + port); + break; + case 5: + ocelot_write_rix(ocelot, max_sdu, QSYS_QMAXSDU_CFG_5, + port); + break; + case 6: + ocelot_write_rix(ocelot, max_sdu, QSYS_QMAXSDU_CFG_6, + port); + break; + case 7: + ocelot_write_rix(ocelot, max_sdu, QSYS_QMAXSDU_CFG_7, + port); + break; + } +} + +static u32 vsc9959_port_qmaxsdu_get(struct ocelot *ocelot, int port, int tc) +{ + switch (tc) { + case 0: return ocelot_read_rix(ocelot, QSYS_QMAXSDU_CFG_0, port); + case 1: return ocelot_read_rix(ocelot, QSYS_QMAXSDU_CFG_1, port); + case 2: return ocelot_read_rix(ocelot, QSYS_QMAXSDU_CFG_2, port); + case 3: return ocelot_read_rix(ocelot, QSYS_QMAXSDU_CFG_3, port); + case 4: return ocelot_read_rix(ocelot, QSYS_QMAXSDU_CFG_4, port); + case 5: return ocelot_read_rix(ocelot, QSYS_QMAXSDU_CFG_5, port); + case 6: return ocelot_read_rix(ocelot, QSYS_QMAXSDU_CFG_6, port); + case 7: return ocelot_read_rix(ocelot, QSYS_QMAXSDU_CFG_7, port); + default: + return 0; + } +} + +/* Update QSYS_PORT_MAX_SDU to make sure the static guard bands added by the + * switch (see the ALWAYS_GUARD_BAND_SCH_Q comment) are correct at all MTU + * values (the default value is 1518). Also, for traffic class windows smaller + * than one MTU sized frame, update QSYS_QMAXSDU_CFG to enable oversized frame + * dropping, such that these won't hang the port, as they will never be sent. + */ +static void vsc9959_tas_guard_bands_update(struct ocelot *ocelot, int port) +{ + struct ocelot_port *ocelot_port = ocelot->ports[port]; + u64 min_gate_len[OCELOT_NUM_TC]; + int speed, picos_per_byte; + u64 needed_bit_time_ps; + u32 val, maxlen; + u8 tas_speed; + int tc; + + lockdep_assert_held(&ocelot->tas_lock); + + val = ocelot_read_rix(ocelot, QSYS_TAG_CONFIG, port); + tas_speed = QSYS_TAG_CONFIG_LINK_SPEED_X(val); + + switch (tas_speed) { + case OCELOT_SPEED_10: + speed = SPEED_10; + break; + case OCELOT_SPEED_100: + speed = SPEED_100; + break; + case OCELOT_SPEED_1000: + speed = SPEED_1000; + break; + case OCELOT_SPEED_2500: + speed = SPEED_2500; + break; + default: + return; + } + + picos_per_byte = (USEC_PER_SEC * 8) / speed; + + val = ocelot_port_readl(ocelot_port, DEV_MAC_MAXLEN_CFG); + /* MAXLEN_CFG accounts automatically for VLAN. We need to include it + * manually in the bit time calculation, plus the preamble and SFD. + */ + maxlen = val + 2 * VLAN_HLEN; + /* Consider the standard Ethernet overhead of 8 octets preamble+SFD, + * 4 octets FCS, 12 octets IFG. + */ + needed_bit_time_ps = (maxlen + 24) * picos_per_byte; + + dev_dbg(ocelot->dev, + "port %d: max frame size %d needs %llu ps at speed %d\n", + port, maxlen, needed_bit_time_ps, speed); + + vsc9959_tas_min_gate_lengths(ocelot_port->taprio, min_gate_len); + + mutex_lock(&ocelot->fwd_domain_lock); + + for (tc = 0; tc < OCELOT_NUM_TC; tc++) { + u64 remaining_gate_len_ps; + u32 max_sdu; + + remaining_gate_len_ps = + vsc9959_tas_remaining_gate_len_ps(min_gate_len[tc]); + + if (remaining_gate_len_ps > needed_bit_time_ps) { + /* Setting QMAXSDU_CFG to 0 disables oversized frame + * dropping. + */ + max_sdu = 0; + dev_dbg(ocelot->dev, + "port %d tc %d min gate len %llu" + ", sending all frames\n", + port, tc, min_gate_len[tc]); + } else { + /* If traffic class doesn't support a full MTU sized + * frame, make sure to enable oversize frame dropping + * for frames larger than the smallest that would fit. + * + * However, the exact same register, QSYS_QMAXSDU_CFG_*, + * controls not only oversized frame dropping, but also + * per-tc static guard band lengths, so it reduces the + * useful gate interval length. Therefore, be careful + * to calculate a guard band (and therefore max_sdu) + * that still leaves 33 ns available in the time slot. + */ + max_sdu = div_u64(remaining_gate_len_ps, picos_per_byte); + /* A TC gate may be completely closed, which is a + * special case where all packets are oversized. + * Any limit smaller than 64 octets accomplishes this + */ + if (!max_sdu) + max_sdu = 1; + /* Take L1 overhead into account, but just don't allow + * max_sdu to go negative or to 0. Here we use 20 + * because QSYS_MAXSDU_CFG_* already counts the 4 FCS + * octets as part of packet size. + */ + if (max_sdu > 20) + max_sdu -= 20; + dev_info(ocelot->dev, + "port %d tc %d min gate length %llu" + " ns not enough for max frame size %d at %d" + " Mbps, dropping frames over %d" + " octets including FCS\n", + port, tc, min_gate_len[tc], maxlen, speed, + max_sdu); + } + + vsc9959_port_qmaxsdu_set(ocelot, port, tc, max_sdu); + } + + ocelot_write_rix(ocelot, maxlen, QSYS_PORT_MAX_SDU, port); + + ocelot->ops->cut_through_fwd(ocelot); + + mutex_unlock(&ocelot->fwd_domain_lock); +} + static void vsc9959_sched_speed_set(struct ocelot *ocelot, int port, u32 speed) { + struct ocelot_port *ocelot_port = ocelot->ports[port]; u8 tas_speed; switch (speed) { @@ -1150,10 +1692,17 @@ break; } + mutex_lock(&ocelot->tas_lock); + ocelot_rmw_rix(ocelot, QSYS_TAG_CONFIG_LINK_SPEED(tas_speed), QSYS_TAG_CONFIG_LINK_SPEED_M, QSYS_TAG_CONFIG, port); + + if (ocelot_port->taprio) + vsc9959_tas_guard_bands_update(ocelot, port); + + mutex_unlock(&ocelot->tas_lock); } static void vsc9959_new_base_time(struct ocelot *ocelot, ktime_t base_time, @@ -1196,10 +1745,13 @@ static int vsc9959_qos_port_tas_set(struct ocelot *ocelot, int port, struct tc_taprio_qopt_offload *taprio) { + struct ocelot_port *ocelot_port = ocelot->ports[port]; struct timespec64 base_ts; int ret, i; u32 val; + mutex_lock(&ocelot->tas_lock); + if (!taprio->enable) { ocelot_rmw_rix(ocelot, QSYS_TAG_CONFIG_INIT_GATE_STATE(0xFF), @@ -1207,15 +1759,25 @@ QSYS_TAG_CONFIG_INIT_GATE_STATE_M, QSYS_TAG_CONFIG, port); + taprio_offload_free(ocelot_port->taprio); + ocelot_port->taprio = NULL; + + vsc9959_tas_guard_bands_update(ocelot, port); + + mutex_unlock(&ocelot->tas_lock); return 0; } if (taprio->cycle_time > NSEC_PER_SEC || - taprio->cycle_time_extension >= NSEC_PER_SEC) - return -EINVAL; + taprio->cycle_time_extension >= NSEC_PER_SEC) { + ret = -EINVAL; + goto err; + } - if (taprio->num_entries > VSC9959_TAS_GCL_ENTRY_MAX) - return -ERANGE; + if (taprio->num_entries > VSC9959_TAS_GCL_ENTRY_MAX) { + ret = -ERANGE; + goto err; + } /* Enable guard band. The switch will schedule frames without taking * their length into account. Thus we'll always need to enable the @@ -1236,8 +1798,10 @@ * config is pending, need reset the TAS module */ val = ocelot_read(ocelot, QSYS_PARAM_STATUS_REG_8); - if (val & QSYS_PARAM_STATUS_REG_8_CONFIG_PENDING) - return -EBUSY; + if (val & QSYS_PARAM_STATUS_REG_8_CONFIG_PENDING) { + ret = -EBUSY; + goto err; + } ocelot_rmw_rix(ocelot, QSYS_TAG_CONFIG_ENABLE | @@ -1270,10 +1834,71 @@ ret = readx_poll_timeout(vsc9959_tas_read_cfg_status, ocelot, val, !(val & QSYS_TAS_PARAM_CFG_CTRL_CONFIG_CHANGE), 10, 100000); + if (ret) + goto err; + + ocelot_port->taprio = taprio_offload_get(taprio); + vsc9959_tas_guard_bands_update(ocelot, port); + +err: + mutex_unlock(&ocelot->tas_lock); return ret; } +static void vsc9959_tas_clock_adjust(struct ocelot *ocelot) +{ + struct tc_taprio_qopt_offload *taprio; + struct ocelot_port *ocelot_port; + struct timespec64 base_ts; + int port; + u32 val; + + mutex_lock(&ocelot->tas_lock); + + for (port = 0; port < ocelot->num_phys_ports; port++) { + ocelot_port = ocelot->ports[port]; + taprio = ocelot_port->taprio; + if (!taprio) + continue; + + ocelot_rmw(ocelot, + QSYS_TAS_PARAM_CFG_CTRL_PORT_NUM(port), + QSYS_TAS_PARAM_CFG_CTRL_PORT_NUM_M, + QSYS_TAS_PARAM_CFG_CTRL); + + ocelot_rmw_rix(ocelot, + QSYS_TAG_CONFIG_INIT_GATE_STATE(0xFF), + QSYS_TAG_CONFIG_ENABLE | + QSYS_TAG_CONFIG_INIT_GATE_STATE_M, + QSYS_TAG_CONFIG, port); + + vsc9959_new_base_time(ocelot, taprio->base_time, + taprio->cycle_time, &base_ts); + + ocelot_write(ocelot, base_ts.tv_nsec, QSYS_PARAM_CFG_REG_1); + ocelot_write(ocelot, lower_32_bits(base_ts.tv_sec), + QSYS_PARAM_CFG_REG_2); + val = upper_32_bits(base_ts.tv_sec); + ocelot_rmw(ocelot, + QSYS_PARAM_CFG_REG_3_BASE_TIME_SEC_MSB(val), + QSYS_PARAM_CFG_REG_3_BASE_TIME_SEC_MSB_M, + QSYS_PARAM_CFG_REG_3); + + ocelot_rmw(ocelot, QSYS_TAS_PARAM_CFG_CTRL_CONFIG_CHANGE, + QSYS_TAS_PARAM_CFG_CTRL_CONFIG_CHANGE, + QSYS_TAS_PARAM_CFG_CTRL); + + ocelot_rmw_rix(ocelot, + QSYS_TAG_CONFIG_INIT_GATE_STATE(0xFF) | + QSYS_TAG_CONFIG_ENABLE, + QSYS_TAG_CONFIG_ENABLE | + QSYS_TAG_CONFIG_INIT_GATE_STATE_M, + QSYS_TAG_CONFIG, port); + } + mutex_unlock(&ocelot->tas_lock); +} + static int vsc9959_qos_port_cbs_set(struct dsa_switch *ds, int port, struct tc_cbs_qopt_offload *cbs_qopt) { @@ -1886,7 +2511,7 @@ static void vsc9959_psfp_counters_get(struct ocelot *ocelot, u32 index, struct felix_stream_filter_counters *counters) { - mutex_lock(&ocelot->stats_lock); + spin_lock(&ocelot->stats_lock); ocelot_rmw(ocelot, SYS_STAT_CFG_STAT_VIEW(index), SYS_STAT_CFG_STAT_VIEW_M, @@ -1903,7 +2528,7 @@ SYS_STAT_CFG_STAT_CLEAR_SHOT(0x10), SYS_STAT_CFG); - mutex_unlock(&ocelot->stats_lock); + spin_unlock(&ocelot->stats_lock); } static int vsc9959_psfp_filter_add(struct ocelot *ocelot, int port, @@ -2140,7 +2765,7 @@ { struct felix *felix = ocelot_to_felix(ocelot); struct dsa_switch *ds = felix->ds; - int port, other_port; + int tc, port, other_port; lockdep_assert_held(&ocelot->fwd_domain_lock); @@ -2184,19 +2809,27 @@ min_speed = other_ocelot_port->speed; } - /* Enable cut-through forwarding for all traffic classes. */ - if (ocelot_port->speed == min_speed) + /* Enable cut-through forwarding for all traffic classes that + * don't have oversized dropping enabled, since this check is + * bypassed in cut-through mode. + */ + if (ocelot_port->speed == min_speed) { val = GENMASK(7, 0); + for (tc = 0; tc < OCELOT_NUM_TC; tc++) + if (vsc9959_port_qmaxsdu_get(ocelot, port, tc)) + val &= ~BIT(tc); + } + set: tmp = ocelot_read_rix(ocelot, ANA_CUT_THRU_CFG, port); if (tmp == val) continue; dev_dbg(ocelot->dev, - "port %d fwd mask 0x%lx speed %d min_speed %d, %s cut-through forwarding\n", + "port %d fwd mask 0x%lx speed %d min_speed %d, %s cut-through forwarding on TC mask 0x%x\n", port, mask, ocelot_port->speed, min_speed, - val ? "enabling" : "disabling"); + val ? "enabling" : "disabling", val); ocelot_write_rix(ocelot, val, ANA_CUT_THRU_CFG, port); } @@ -2214,6 +2847,7 @@ .psfp_filter_del = vsc9959_psfp_filter_del, .psfp_stats_get = vsc9959_psfp_stats_get, .cut_through_fwd = vsc9959_cut_through_fwd, + .tas_clock_adjust = vsc9959_tas_clock_adjust, }; static const struct felix_info felix_info_vsc9959 = { @@ -2240,6 +2874,7 @@ .port_modes = vsc9959_port_modes, .port_setup_tc = vsc9959_port_setup_tc, .port_sched_speed_set = vsc9959_sched_speed_set, + .tas_guard_bands_update = vsc9959_tas_guard_bands_update, .init_regmap = ocelot_regmap_init, }; --- linux-gcp-5.19.0.orig/drivers/net/dsa/ocelot/seville_vsc9953.c +++ linux-gcp-5.19.0/drivers/net/dsa/ocelot/seville_vsc9953.c @@ -277,19 +277,21 @@ REG(SYS_COUNT_RX_64, 0x000024), REG(SYS_COUNT_RX_65_127, 0x000028), REG(SYS_COUNT_RX_128_255, 0x00002c), - REG(SYS_COUNT_RX_256_1023, 0x000030), - REG(SYS_COUNT_RX_1024_1526, 0x000034), - REG(SYS_COUNT_RX_1527_MAX, 0x000038), + REG(SYS_COUNT_RX_256_511, 0x000030), + REG(SYS_COUNT_RX_512_1023, 0x000034), + REG(SYS_COUNT_RX_1024_1526, 0x000038), + REG(SYS_COUNT_RX_1527_MAX, 0x00003c), REG(SYS_COUNT_RX_LONGS, 0x000048), REG(SYS_COUNT_TX_OCTETS, 0x000100), REG(SYS_COUNT_TX_COLLISION, 0x000110), REG(SYS_COUNT_TX_DROPS, 0x000114), REG(SYS_COUNT_TX_64, 0x00011c), REG(SYS_COUNT_TX_65_127, 0x000120), - REG(SYS_COUNT_TX_128_511, 0x000124), - REG(SYS_COUNT_TX_512_1023, 0x000128), - REG(SYS_COUNT_TX_1024_1526, 0x00012c), - REG(SYS_COUNT_TX_1527_MAX, 0x000130), + REG(SYS_COUNT_TX_128_255, 0x000124), + REG(SYS_COUNT_TX_256_511, 0x000128), + REG(SYS_COUNT_TX_512_1023, 0x00012c), + REG(SYS_COUNT_TX_1024_1526, 0x000130), + REG(SYS_COUNT_TX_1527_MAX, 0x000134), REG(SYS_COUNT_TX_AGING, 0x000178), REG(SYS_RESET_CFG, 0x000318), REG_RESERVED(SYS_SR_ETYPE_CFG), @@ -543,101 +545,379 @@ [SYS_PAUSE_CFG_PAUSE_ENA] = REG_FIELD_ID(SYS_PAUSE_CFG, 0, 1, 11, 4), }; -static const struct ocelot_stat_layout vsc9953_stats_layout[] = { - { .offset = 0x00, .name = "rx_octets", }, - { .offset = 0x01, .name = "rx_unicast", }, - { .offset = 0x02, .name = "rx_multicast", }, - { .offset = 0x03, .name = "rx_broadcast", }, - { .offset = 0x04, .name = "rx_shorts", }, - { .offset = 0x05, .name = "rx_fragments", }, - { .offset = 0x06, .name = "rx_jabbers", }, - { .offset = 0x07, .name = "rx_crc_align_errs", }, - { .offset = 0x08, .name = "rx_sym_errs", }, - { .offset = 0x09, .name = "rx_frames_below_65_octets", }, - { .offset = 0x0A, .name = "rx_frames_65_to_127_octets", }, - { .offset = 0x0B, .name = "rx_frames_128_to_255_octets", }, - { .offset = 0x0C, .name = "rx_frames_256_to_511_octets", }, - { .offset = 0x0D, .name = "rx_frames_512_to_1023_octets", }, - { .offset = 0x0E, .name = "rx_frames_1024_to_1526_octets", }, - { .offset = 0x0F, .name = "rx_frames_over_1526_octets", }, - { .offset = 0x10, .name = "rx_pause", }, - { .offset = 0x11, .name = "rx_control", }, - { .offset = 0x12, .name = "rx_longs", }, - { .offset = 0x13, .name = "rx_classified_drops", }, - { .offset = 0x14, .name = "rx_red_prio_0", }, - { .offset = 0x15, .name = "rx_red_prio_1", }, - { .offset = 0x16, .name = "rx_red_prio_2", }, - { .offset = 0x17, .name = "rx_red_prio_3", }, - { .offset = 0x18, .name = "rx_red_prio_4", }, - { .offset = 0x19, .name = "rx_red_prio_5", }, - { .offset = 0x1A, .name = "rx_red_prio_6", }, - { .offset = 0x1B, .name = "rx_red_prio_7", }, - { .offset = 0x1C, .name = "rx_yellow_prio_0", }, - { .offset = 0x1D, .name = "rx_yellow_prio_1", }, - { .offset = 0x1E, .name = "rx_yellow_prio_2", }, - { .offset = 0x1F, .name = "rx_yellow_prio_3", }, - { .offset = 0x20, .name = "rx_yellow_prio_4", }, - { .offset = 0x21, .name = "rx_yellow_prio_5", }, - { .offset = 0x22, .name = "rx_yellow_prio_6", }, - { .offset = 0x23, .name = "rx_yellow_prio_7", }, - { .offset = 0x24, .name = "rx_green_prio_0", }, - { .offset = 0x25, .name = "rx_green_prio_1", }, - { .offset = 0x26, .name = "rx_green_prio_2", }, - { .offset = 0x27, .name = "rx_green_prio_3", }, - { .offset = 0x28, .name = "rx_green_prio_4", }, - { .offset = 0x29, .name = "rx_green_prio_5", }, - { .offset = 0x2A, .name = "rx_green_prio_6", }, - { .offset = 0x2B, .name = "rx_green_prio_7", }, - { .offset = 0x40, .name = "tx_octets", }, - { .offset = 0x41, .name = "tx_unicast", }, - { .offset = 0x42, .name = "tx_multicast", }, - { .offset = 0x43, .name = "tx_broadcast", }, - { .offset = 0x44, .name = "tx_collision", }, - { .offset = 0x45, .name = "tx_drops", }, - { .offset = 0x46, .name = "tx_pause", }, - { .offset = 0x47, .name = "tx_frames_below_65_octets", }, - { .offset = 0x48, .name = "tx_frames_65_to_127_octets", }, - { .offset = 0x49, .name = "tx_frames_128_255_octets", }, - { .offset = 0x4A, .name = "tx_frames_256_511_octets", }, - { .offset = 0x4B, .name = "tx_frames_512_1023_octets", }, - { .offset = 0x4C, .name = "tx_frames_1024_1526_octets", }, - { .offset = 0x4D, .name = "tx_frames_over_1526_octets", }, - { .offset = 0x4E, .name = "tx_yellow_prio_0", }, - { .offset = 0x4F, .name = "tx_yellow_prio_1", }, - { .offset = 0x50, .name = "tx_yellow_prio_2", }, - { .offset = 0x51, .name = "tx_yellow_prio_3", }, - { .offset = 0x52, .name = "tx_yellow_prio_4", }, - { .offset = 0x53, .name = "tx_yellow_prio_5", }, - { .offset = 0x54, .name = "tx_yellow_prio_6", }, - { .offset = 0x55, .name = "tx_yellow_prio_7", }, - { .offset = 0x56, .name = "tx_green_prio_0", }, - { .offset = 0x57, .name = "tx_green_prio_1", }, - { .offset = 0x58, .name = "tx_green_prio_2", }, - { .offset = 0x59, .name = "tx_green_prio_3", }, - { .offset = 0x5A, .name = "tx_green_prio_4", }, - { .offset = 0x5B, .name = "tx_green_prio_5", }, - { .offset = 0x5C, .name = "tx_green_prio_6", }, - { .offset = 0x5D, .name = "tx_green_prio_7", }, - { .offset = 0x5E, .name = "tx_aged", }, - { .offset = 0x80, .name = "drop_local", }, - { .offset = 0x81, .name = "drop_tail", }, - { .offset = 0x82, .name = "drop_yellow_prio_0", }, - { .offset = 0x83, .name = "drop_yellow_prio_1", }, - { .offset = 0x84, .name = "drop_yellow_prio_2", }, - { .offset = 0x85, .name = "drop_yellow_prio_3", }, - { .offset = 0x86, .name = "drop_yellow_prio_4", }, - { .offset = 0x87, .name = "drop_yellow_prio_5", }, - { .offset = 0x88, .name = "drop_yellow_prio_6", }, - { .offset = 0x89, .name = "drop_yellow_prio_7", }, - { .offset = 0x8A, .name = "drop_green_prio_0", }, - { .offset = 0x8B, .name = "drop_green_prio_1", }, - { .offset = 0x8C, .name = "drop_green_prio_2", }, - { .offset = 0x8D, .name = "drop_green_prio_3", }, - { .offset = 0x8E, .name = "drop_green_prio_4", }, - { .offset = 0x8F, .name = "drop_green_prio_5", }, - { .offset = 0x90, .name = "drop_green_prio_6", }, - { .offset = 0x91, .name = "drop_green_prio_7", }, - OCELOT_STAT_END +static const struct ocelot_stat_layout vsc9953_stats_layout[OCELOT_NUM_STATS] = { + [OCELOT_STAT_RX_OCTETS] = { + .name = "rx_octets", + .offset = 0x00, + }, + [OCELOT_STAT_RX_UNICAST] = { + .name = "rx_unicast", + .offset = 0x01, + }, + [OCELOT_STAT_RX_MULTICAST] = { + .name = "rx_multicast", + .offset = 0x02, + }, + [OCELOT_STAT_RX_BROADCAST] = { + .name = "rx_broadcast", + .offset = 0x03, + }, + [OCELOT_STAT_RX_SHORTS] = { + .name = "rx_shorts", + .offset = 0x04, + }, + [OCELOT_STAT_RX_FRAGMENTS] = { + .name = "rx_fragments", + .offset = 0x05, + }, + [OCELOT_STAT_RX_JABBERS] = { + .name = "rx_jabbers", + .offset = 0x06, + }, + [OCELOT_STAT_RX_CRC_ALIGN_ERRS] = { + .name = "rx_crc_align_errs", + .offset = 0x07, + }, + [OCELOT_STAT_RX_SYM_ERRS] = { + .name = "rx_sym_errs", + .offset = 0x08, + }, + [OCELOT_STAT_RX_64] = { + .name = "rx_frames_below_65_octets", + .offset = 0x09, + }, + [OCELOT_STAT_RX_65_127] = { + .name = "rx_frames_65_to_127_octets", + .offset = 0x0A, + }, + [OCELOT_STAT_RX_128_255] = { + .name = "rx_frames_128_to_255_octets", + .offset = 0x0B, + }, + [OCELOT_STAT_RX_256_511] = { + .name = "rx_frames_256_to_511_octets", + .offset = 0x0C, + }, + [OCELOT_STAT_RX_512_1023] = { + .name = "rx_frames_512_to_1023_octets", + .offset = 0x0D, + }, + [OCELOT_STAT_RX_1024_1526] = { + .name = "rx_frames_1024_to_1526_octets", + .offset = 0x0E, + }, + [OCELOT_STAT_RX_1527_MAX] = { + .name = "rx_frames_over_1526_octets", + .offset = 0x0F, + }, + [OCELOT_STAT_RX_PAUSE] = { + .name = "rx_pause", + .offset = 0x10, + }, + [OCELOT_STAT_RX_CONTROL] = { + .name = "rx_control", + .offset = 0x11, + }, + [OCELOT_STAT_RX_LONGS] = { + .name = "rx_longs", + .offset = 0x12, + }, + [OCELOT_STAT_RX_CLASSIFIED_DROPS] = { + .name = "rx_classified_drops", + .offset = 0x13, + }, + [OCELOT_STAT_RX_RED_PRIO_0] = { + .name = "rx_red_prio_0", + .offset = 0x14, + }, + [OCELOT_STAT_RX_RED_PRIO_1] = { + .name = "rx_red_prio_1", + .offset = 0x15, + }, + [OCELOT_STAT_RX_RED_PRIO_2] = { + .name = "rx_red_prio_2", + .offset = 0x16, + }, + [OCELOT_STAT_RX_RED_PRIO_3] = { + .name = "rx_red_prio_3", + .offset = 0x17, + }, + [OCELOT_STAT_RX_RED_PRIO_4] = { + .name = "rx_red_prio_4", + .offset = 0x18, + }, + [OCELOT_STAT_RX_RED_PRIO_5] = { + .name = "rx_red_prio_5", + .offset = 0x19, + }, + [OCELOT_STAT_RX_RED_PRIO_6] = { + .name = "rx_red_prio_6", + .offset = 0x1A, + }, + [OCELOT_STAT_RX_RED_PRIO_7] = { + .name = "rx_red_prio_7", + .offset = 0x1B, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_0] = { + .name = "rx_yellow_prio_0", + .offset = 0x1C, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_1] = { + .name = "rx_yellow_prio_1", + .offset = 0x1D, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_2] = { + .name = "rx_yellow_prio_2", + .offset = 0x1E, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_3] = { + .name = "rx_yellow_prio_3", + .offset = 0x1F, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_4] = { + .name = "rx_yellow_prio_4", + .offset = 0x20, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_5] = { + .name = "rx_yellow_prio_5", + .offset = 0x21, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_6] = { + .name = "rx_yellow_prio_6", + .offset = 0x22, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_7] = { + .name = "rx_yellow_prio_7", + .offset = 0x23, + }, + [OCELOT_STAT_RX_GREEN_PRIO_0] = { + .name = "rx_green_prio_0", + .offset = 0x24, + }, + [OCELOT_STAT_RX_GREEN_PRIO_1] = { + .name = "rx_green_prio_1", + .offset = 0x25, + }, + [OCELOT_STAT_RX_GREEN_PRIO_2] = { + .name = "rx_green_prio_2", + .offset = 0x26, + }, + [OCELOT_STAT_RX_GREEN_PRIO_3] = { + .name = "rx_green_prio_3", + .offset = 0x27, + }, + [OCELOT_STAT_RX_GREEN_PRIO_4] = { + .name = "rx_green_prio_4", + .offset = 0x28, + }, + [OCELOT_STAT_RX_GREEN_PRIO_5] = { + .name = "rx_green_prio_5", + .offset = 0x29, + }, + [OCELOT_STAT_RX_GREEN_PRIO_6] = { + .name = "rx_green_prio_6", + .offset = 0x2A, + }, + [OCELOT_STAT_RX_GREEN_PRIO_7] = { + .name = "rx_green_prio_7", + .offset = 0x2B, + }, + [OCELOT_STAT_TX_OCTETS] = { + .name = "tx_octets", + .offset = 0x40, + }, + [OCELOT_STAT_TX_UNICAST] = { + .name = "tx_unicast", + .offset = 0x41, + }, + [OCELOT_STAT_TX_MULTICAST] = { + .name = "tx_multicast", + .offset = 0x42, + }, + [OCELOT_STAT_TX_BROADCAST] = { + .name = "tx_broadcast", + .offset = 0x43, + }, + [OCELOT_STAT_TX_COLLISION] = { + .name = "tx_collision", + .offset = 0x44, + }, + [OCELOT_STAT_TX_DROPS] = { + .name = "tx_drops", + .offset = 0x45, + }, + [OCELOT_STAT_TX_PAUSE] = { + .name = "tx_pause", + .offset = 0x46, + }, + [OCELOT_STAT_TX_64] = { + .name = "tx_frames_below_65_octets", + .offset = 0x47, + }, + [OCELOT_STAT_TX_65_127] = { + .name = "tx_frames_65_to_127_octets", + .offset = 0x48, + }, + [OCELOT_STAT_TX_128_255] = { + .name = "tx_frames_128_255_octets", + .offset = 0x49, + }, + [OCELOT_STAT_TX_256_511] = { + .name = "tx_frames_256_511_octets", + .offset = 0x4A, + }, + [OCELOT_STAT_TX_512_1023] = { + .name = "tx_frames_512_1023_octets", + .offset = 0x4B, + }, + [OCELOT_STAT_TX_1024_1526] = { + .name = "tx_frames_1024_1526_octets", + .offset = 0x4C, + }, + [OCELOT_STAT_TX_1527_MAX] = { + .name = "tx_frames_over_1526_octets", + .offset = 0x4D, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_0] = { + .name = "tx_yellow_prio_0", + .offset = 0x4E, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_1] = { + .name = "tx_yellow_prio_1", + .offset = 0x4F, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_2] = { + .name = "tx_yellow_prio_2", + .offset = 0x50, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_3] = { + .name = "tx_yellow_prio_3", + .offset = 0x51, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_4] = { + .name = "tx_yellow_prio_4", + .offset = 0x52, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_5] = { + .name = "tx_yellow_prio_5", + .offset = 0x53, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_6] = { + .name = "tx_yellow_prio_6", + .offset = 0x54, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_7] = { + .name = "tx_yellow_prio_7", + .offset = 0x55, + }, + [OCELOT_STAT_TX_GREEN_PRIO_0] = { + .name = "tx_green_prio_0", + .offset = 0x56, + }, + [OCELOT_STAT_TX_GREEN_PRIO_1] = { + .name = "tx_green_prio_1", + .offset = 0x57, + }, + [OCELOT_STAT_TX_GREEN_PRIO_2] = { + .name = "tx_green_prio_2", + .offset = 0x58, + }, + [OCELOT_STAT_TX_GREEN_PRIO_3] = { + .name = "tx_green_prio_3", + .offset = 0x59, + }, + [OCELOT_STAT_TX_GREEN_PRIO_4] = { + .name = "tx_green_prio_4", + .offset = 0x5A, + }, + [OCELOT_STAT_TX_GREEN_PRIO_5] = { + .name = "tx_green_prio_5", + .offset = 0x5B, + }, + [OCELOT_STAT_TX_GREEN_PRIO_6] = { + .name = "tx_green_prio_6", + .offset = 0x5C, + }, + [OCELOT_STAT_TX_GREEN_PRIO_7] = { + .name = "tx_green_prio_7", + .offset = 0x5D, + }, + [OCELOT_STAT_TX_AGED] = { + .name = "tx_aged", + .offset = 0x5E, + }, + [OCELOT_STAT_DROP_LOCAL] = { + .name = "drop_local", + .offset = 0x80, + }, + [OCELOT_STAT_DROP_TAIL] = { + .name = "drop_tail", + .offset = 0x81, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_0] = { + .name = "drop_yellow_prio_0", + .offset = 0x82, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_1] = { + .name = "drop_yellow_prio_1", + .offset = 0x83, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_2] = { + .name = "drop_yellow_prio_2", + .offset = 0x84, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_3] = { + .name = "drop_yellow_prio_3", + .offset = 0x85, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_4] = { + .name = "drop_yellow_prio_4", + .offset = 0x86, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_5] = { + .name = "drop_yellow_prio_5", + .offset = 0x87, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_6] = { + .name = "drop_yellow_prio_6", + .offset = 0x88, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_7] = { + .name = "drop_yellow_prio_7", + .offset = 0x89, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_0] = { + .name = "drop_green_prio_0", + .offset = 0x8A, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_1] = { + .name = "drop_green_prio_1", + .offset = 0x8B, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_2] = { + .name = "drop_green_prio_2", + .offset = 0x8C, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_3] = { + .name = "drop_green_prio_3", + .offset = 0x8D, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_4] = { + .name = "drop_green_prio_4", + .offset = 0x8E, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_5] = { + .name = "drop_green_prio_5", + .offset = 0x8F, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_6] = { + .name = "drop_green_prio_6", + .offset = 0x90, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_7] = { + .name = "drop_green_prio_7", + .offset = 0x91, + }, }; static const struct vcap_field vsc9953_vcap_es0_keys[] = { --- linux-gcp-5.19.0.orig/drivers/net/dsa/sja1105/sja1105_devlink.c +++ linux-gcp-5.19.0/drivers/net/dsa/sja1105/sja1105_devlink.c @@ -93,8 +93,10 @@ region = dsa_devlink_region_create(ds, ops, 1, size); if (IS_ERR(region)) { - while (i-- >= 0) + while (--i >= 0) dsa_devlink_region_destroy(priv->regions[i]); + + kfree(priv->regions); return PTR_ERR(region); } --- linux-gcp-5.19.0.orig/drivers/net/dsa/sja1105/sja1105_main.c +++ linux-gcp-5.19.0/drivers/net/dsa/sja1105/sja1105_main.c @@ -1038,7 +1038,7 @@ policing[bcast].sharindx = port; /* Only SJA1110 has multicast policers */ - if (mcast <= table->ops->max_entry_count) + if (mcast < table->ops->max_entry_count) policing[mcast].sharindx = port; } --- linux-gcp-5.19.0.orig/drivers/net/dsa/sja1105/sja1105_mdio.c +++ linux-gcp-5.19.0/drivers/net/dsa/sja1105/sja1105_mdio.c @@ -256,6 +256,9 @@ u32 tmp; int rc; + if (reg & MII_ADDR_C45) + return -EOPNOTSUPP; + rc = sja1105_xfer_u32(priv, SPI_READ, regs->mdio_100base_tx + reg, &tmp, NULL); if (rc < 0) @@ -272,6 +275,9 @@ const struct sja1105_regs *regs = priv->info->regs; u32 tmp = val; + if (reg & MII_ADDR_C45) + return -EOPNOTSUPP; + return sja1105_xfer_u32(priv, SPI_WRITE, regs->mdio_100base_tx + reg, &tmp, NULL); } --- linux-gcp-5.19.0.orig/drivers/net/dsa/xrs700x/xrs700x.c +++ linux-gcp-5.19.0/drivers/net/dsa/xrs700x/xrs700x.c @@ -109,6 +109,7 @@ { struct xrs700x_port *p = &priv->ports[port]; struct rtnl_link_stats64 stats; + unsigned long flags; int i; memset(&stats, 0, sizeof(stats)); @@ -138,9 +139,9 @@ */ stats.rx_packets += stats.multicast; - u64_stats_update_begin(&p->syncp); + flags = u64_stats_update_begin_irqsave(&p->syncp); p->stats64 = stats; - u64_stats_update_end(&p->syncp); + u64_stats_update_end_irqrestore(&p->syncp, flags); mutex_unlock(&p->mib_mutex); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/aeroflex/greth.c +++ linux-gcp-5.19.0/drivers/net/ethernet/aeroflex/greth.c @@ -258,6 +258,7 @@ if (dma_mapping_error(greth->dev, dma_addr)) { if (netif_msg_ifup(greth)) dev_err(greth->dev, "Could not create initial DMA mapping\n"); + dev_kfree_skb(skb); goto cleanup; } greth->rx_skbuff[i] = skb; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/amazon/ena/ena_com.c +++ linux-gcp-5.19.0/drivers/net/ethernet/amazon/ena/ena_com.c @@ -2400,29 +2400,18 @@ return -EOPNOTSUPP; } - switch (func) { - case ENA_ADMIN_TOEPLITZ: - if (key) { - if (key_len != sizeof(hash_key->key)) { - netdev_err(ena_dev->net_device, - "key len (%u) doesn't equal the supported size (%zu)\n", - key_len, sizeof(hash_key->key)); - return -EINVAL; - } - memcpy(hash_key->key, key, key_len); - rss->hash_init_val = init_val; - hash_key->key_parts = key_len / sizeof(hash_key->key[0]); + if ((func == ENA_ADMIN_TOEPLITZ) && key) { + if (key_len != sizeof(hash_key->key)) { + netdev_err(ena_dev->net_device, + "key len (%u) doesn't equal the supported size (%zu)\n", + key_len, sizeof(hash_key->key)); + return -EINVAL; } - break; - case ENA_ADMIN_CRC32: - rss->hash_init_val = init_val; - break; - default: - netdev_err(ena_dev->net_device, "Invalid hash function (%d)\n", - func); - return -EINVAL; + memcpy(hash_key->key, key, key_len); + hash_key->key_parts = key_len / sizeof(hash_key->key[0]); } + rss->hash_init_val = init_val; old_func = rss->hash_func; rss->hash_func = func; rc = ena_com_set_hash_function(ena_dev); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/amazon/ena/ena_com.h +++ linux-gcp-5.19.0/drivers/net/ethernet/amazon/ena/ena_com.h @@ -46,7 +46,7 @@ /*****************************************************************************/ /* ENA adaptive interrupt moderation settings */ -#define ENA_INTR_INITIAL_TX_INTERVAL_USECS 64 +#define ENA_INTR_INITIAL_TX_INTERVAL_USECS 0 #define ENA_INTR_INITIAL_RX_INTERVAL_USECS 0 #define ENA_DEFAULT_INTR_DELAY_RESOLUTION 1 --- linux-gcp-5.19.0.orig/drivers/net/ethernet/amazon/ena/ena_ethtool.c +++ linux-gcp-5.19.0/drivers/net/ethernet/amazon/ena/ena_ethtool.c @@ -887,11 +887,7 @@ switch (tuna->id) { case ETHTOOL_RX_COPYBREAK: len = *(u32 *)data; - if (len > adapter->netdev->mtu) { - ret = -EINVAL; - break; - } - adapter->rx_copybreak = len; + ret = ena_set_rx_copybreak(adapter, len); break; default: ret = -EINVAL; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/amazon/ena/ena_netdev.c +++ linux-gcp-5.19.0/drivers/net/ethernet/amazon/ena/ena_netdev.c @@ -374,9 +374,9 @@ static int ena_xdp_execute(struct ena_ring *rx_ring, struct xdp_buff *xdp) { + u32 verdict = ENA_XDP_PASS; struct bpf_prog *xdp_prog; struct ena_ring *xdp_ring; - u32 verdict = XDP_PASS; struct xdp_frame *xdpf; u64 *xdp_stat; @@ -393,7 +393,7 @@ if (unlikely(!xdpf)) { trace_xdp_exception(rx_ring->netdev, xdp_prog, verdict); xdp_stat = &rx_ring->rx_stats.xdp_aborted; - verdict = XDP_ABORTED; + verdict = ENA_XDP_DROP; break; } @@ -409,29 +409,35 @@ spin_unlock(&xdp_ring->xdp_tx_lock); xdp_stat = &rx_ring->rx_stats.xdp_tx; + verdict = ENA_XDP_TX; break; case XDP_REDIRECT: if (likely(!xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog))) { xdp_stat = &rx_ring->rx_stats.xdp_redirect; + verdict = ENA_XDP_REDIRECT; break; } trace_xdp_exception(rx_ring->netdev, xdp_prog, verdict); xdp_stat = &rx_ring->rx_stats.xdp_aborted; - verdict = XDP_ABORTED; + verdict = ENA_XDP_DROP; break; case XDP_ABORTED: trace_xdp_exception(rx_ring->netdev, xdp_prog, verdict); xdp_stat = &rx_ring->rx_stats.xdp_aborted; + verdict = ENA_XDP_DROP; break; case XDP_DROP: xdp_stat = &rx_ring->rx_stats.xdp_drop; + verdict = ENA_XDP_DROP; break; case XDP_PASS: xdp_stat = &rx_ring->rx_stats.xdp_pass; + verdict = ENA_XDP_PASS; break; default: bpf_warn_invalid_xdp_action(rx_ring->netdev, xdp_prog, verdict); xdp_stat = &rx_ring->rx_stats.xdp_invalid; + verdict = ENA_XDP_DROP; } ena_increase_stat(xdp_stat, 1, &rx_ring->syncp); @@ -512,16 +518,18 @@ struct bpf_prog *prog, int first, int count) { + struct bpf_prog *old_bpf_prog; struct ena_ring *rx_ring; int i = 0; for (i = first; i < count; i++) { rx_ring = &adapter->rx_ring[i]; - xchg(&rx_ring->xdp_bpf_prog, prog); - if (prog) { + old_bpf_prog = xchg(&rx_ring->xdp_bpf_prog, prog); + + if (!old_bpf_prog && prog) { ena_xdp_register_rxq_info(rx_ring); rx_ring->rx_headroom = XDP_PACKET_HEADROOM; - } else { + } else if (old_bpf_prog && !prog) { ena_xdp_unregister_rxq_info(rx_ring); rx_ring->rx_headroom = NET_SKB_PAD; } @@ -672,6 +680,7 @@ ring->ena_dev = adapter->ena_dev; ring->per_napi_packets = 0; ring->cpu = 0; + ring->numa_node = 0; ring->no_interrupt_event_cnt = 0; u64_stats_init(&ring->syncp); } @@ -775,6 +784,7 @@ tx_ring->next_to_use = 0; tx_ring->next_to_clean = 0; tx_ring->cpu = ena_irq->cpu; + tx_ring->numa_node = node; return 0; err_push_buf_intermediate_buf: @@ -907,6 +917,7 @@ rx_ring->next_to_clean = 0; rx_ring->next_to_use = 0; rx_ring->cpu = ena_irq->cpu; + rx_ring->numa_node = node; return 0; } @@ -1619,12 +1630,12 @@ * we expect, then we simply drop it */ if (unlikely(rx_ring->ena_bufs[0].len > ENA_XDP_MAX_MTU)) - return XDP_DROP; + return ENA_XDP_DROP; ret = ena_xdp_execute(rx_ring, xdp); /* The xdp program might expand the headers */ - if (ret == XDP_PASS) { + if (ret == ENA_XDP_PASS) { rx_info->page_offset = xdp->data - xdp->data_hard_start; rx_ring->ena_bufs[0].len = xdp->data_end - xdp->data; } @@ -1663,7 +1674,7 @@ xdp_init_buff(&xdp, ENA_PAGE_SIZE, &rx_ring->xdp_rxq); do { - xdp_verdict = XDP_PASS; + xdp_verdict = ENA_XDP_PASS; skb = NULL; ena_rx_ctx.ena_bufs = rx_ring->ena_bufs; ena_rx_ctx.max_bufs = rx_ring->sgl_size; @@ -1691,7 +1702,7 @@ xdp_verdict = ena_xdp_handle_buff(rx_ring, &xdp); /* allocate skb and fill it */ - if (xdp_verdict == XDP_PASS) + if (xdp_verdict == ENA_XDP_PASS) skb = ena_rx_skb(rx_ring, rx_ring->ena_bufs, ena_rx_ctx.descs, @@ -1709,14 +1720,15 @@ /* Packets was passed for transmission, unmap it * from RX side. */ - if (xdp_verdict == XDP_TX || xdp_verdict == XDP_REDIRECT) { + if (xdp_verdict & ENA_XDP_FORWARDED) { ena_unmap_rx_buff(rx_ring, &rx_ring->rx_buffer_info[req_id]); rx_ring->rx_buffer_info[req_id].page = NULL; } } - if (xdp_verdict != XDP_PASS) { + if (xdp_verdict != ENA_XDP_PASS) { xdp_flags |= xdp_verdict; + total_len += ena_rx_ctx.ena_bufs[0].len; res_budget--; continue; } @@ -1760,7 +1772,7 @@ ena_refill_rx_bufs(rx_ring, refill_required); } - if (xdp_flags & XDP_REDIRECT) + if (xdp_flags & ENA_XDP_REDIRECT) xdp_do_flush_map(); return work_done; @@ -1814,8 +1826,9 @@ static void ena_unmask_interrupt(struct ena_ring *tx_ring, struct ena_ring *rx_ring) { + u32 rx_interval = tx_ring->smoothed_interval; struct ena_eth_io_intr_reg intr_reg; - u32 rx_interval = 0; + /* Rx ring can be NULL when for XDP tx queues which don't have an * accompanying rx_ring pair. */ @@ -1853,20 +1866,27 @@ if (likely(tx_ring->cpu == cpu)) goto out; + tx_ring->cpu = cpu; + if (rx_ring) + rx_ring->cpu = cpu; + numa_node = cpu_to_node(cpu); + + if (likely(tx_ring->numa_node == numa_node)) + goto out; + put_cpu(); if (numa_node != NUMA_NO_NODE) { ena_com_update_numa_node(tx_ring->ena_com_io_cq, numa_node); - if (rx_ring) + tx_ring->numa_node = numa_node; + if (rx_ring) { + rx_ring->numa_node = numa_node; ena_com_update_numa_node(rx_ring->ena_com_io_cq, numa_node); + } } - tx_ring->cpu = cpu; - if (rx_ring) - rx_ring->cpu = cpu; - return; out: put_cpu(); @@ -1987,11 +2007,10 @@ if (ena_com_get_adaptive_moderation_enabled(rx_ring->ena_dev)) ena_adjust_adaptive_rx_intr_moderation(ena_napi); + ena_update_ring_numa_node(tx_ring, rx_ring); ena_unmask_interrupt(tx_ring, rx_ring); } - ena_update_ring_numa_node(tx_ring, rx_ring); - ret = rx_work_done; } else { ret = budget; @@ -2378,7 +2397,7 @@ ctx.mem_queue_type = ena_dev->tx_mem_queue_type; ctx.msix_vector = msix_vector; ctx.queue_size = tx_ring->ring_size; - ctx.numa_node = cpu_to_node(tx_ring->cpu); + ctx.numa_node = tx_ring->numa_node; rc = ena_com_create_io_queue(ena_dev, &ctx); if (rc) { @@ -2446,7 +2465,7 @@ ctx.mem_queue_type = ENA_ADMIN_PLACEMENT_POLICY_HOST; ctx.msix_vector = msix_vector; ctx.queue_size = rx_ring->ring_size; - ctx.numa_node = cpu_to_node(rx_ring->cpu); + ctx.numa_node = rx_ring->numa_node; rc = ena_com_create_io_queue(ena_dev, &ctx); if (rc) { @@ -2807,6 +2826,24 @@ return dev_was_up ? ena_up(adapter) : 0; } +int ena_set_rx_copybreak(struct ena_adapter *adapter, u32 rx_copybreak) +{ + struct ena_ring *rx_ring; + int i; + + if (rx_copybreak > min_t(u16, adapter->netdev->mtu, ENA_PAGE_SIZE)) + return -EINVAL; + + adapter->rx_copybreak = rx_copybreak; + + for (i = 0; i < adapter->num_io_queues; i++) { + rx_ring = &adapter->rx_ring[i]; + rx_ring->rx_copybreak = rx_copybreak; + } + + return 0; +} + int ena_update_queue_count(struct ena_adapter *adapter, u32 new_channel_count) { struct ena_com_dev *ena_dev = adapter->ena_dev; @@ -4545,13 +4582,19 @@ static int __init ena_init(void) { + int ret; + ena_wq = create_singlethread_workqueue(DRV_MODULE_NAME); if (!ena_wq) { pr_err("Failed to create workqueue\n"); return -ENOMEM; } - return pci_register_driver(&ena_pci_driver); + ret = pci_register_driver(&ena_pci_driver); + if (ret) + destroy_workqueue(ena_wq); + + return ret; } static void __exit ena_cleanup(void) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/amazon/ena/ena_netdev.h +++ linux-gcp-5.19.0/drivers/net/ethernet/amazon/ena/ena_netdev.h @@ -262,9 +262,11 @@ bool disable_meta_caching; u16 no_interrupt_event_cnt; - /* cpu for TPH */ + /* cpu and NUMA for TPH */ int cpu; - /* number of tx/rx_buffer_info's entries */ + int numa_node; + + /* number of tx/rx_buffer_info's entries */ int ring_size; enum ena_admin_placement_policy_type tx_mem_queue_type; @@ -392,6 +394,8 @@ int ena_update_queue_count(struct ena_adapter *adapter, u32 new_channel_count); +int ena_set_rx_copybreak(struct ena_adapter *adapter, u32 rx_copybreak); + int ena_get_sset_count(struct net_device *netdev, int sset); static inline void ena_reset_device(struct ena_adapter *adapter, @@ -409,6 +413,15 @@ ENA_XDP_NO_ENOUGH_QUEUES, }; +enum ENA_XDP_ACTIONS { + ENA_XDP_PASS = 0, + ENA_XDP_TX = BIT(0), + ENA_XDP_REDIRECT = BIT(1), + ENA_XDP_DROP = BIT(2) +}; + +#define ENA_XDP_FORWARDED (ENA_XDP_TX | ENA_XDP_REDIRECT) + static inline bool ena_xdp_present(struct ena_adapter *adapter) { return !!adapter->xdp_bpf_prog; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/amd/atarilance.c +++ linux-gcp-5.19.0/drivers/net/ethernet/amd/atarilance.c @@ -824,7 +824,7 @@ lp->memcpy_f( PKTBUF_ADDR(head), (void *)skb->data, skb->len ); head->flag = TMD1_OWN_CHIP | TMD1_ENP | TMD1_STP; dev->stats.tx_bytes += skb->len; - dev_kfree_skb( skb ); + dev_consume_skb_irq(skb); lp->cur_tx++; while( lp->cur_tx >= TX_RING_SIZE && lp->dirty_tx >= TX_RING_SIZE ) { lp->cur_tx -= TX_RING_SIZE; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/amd/lance.c +++ linux-gcp-5.19.0/drivers/net/ethernet/amd/lance.c @@ -1001,7 +1001,7 @@ skb_copy_from_linear_data(skb, &lp->tx_bounce_buffs[entry], skb->len); lp->tx_ring[entry].base = ((u32)isa_virt_to_bus((lp->tx_bounce_buffs + entry)) & 0xffffff) | 0x83000000; - dev_kfree_skb(skb); + dev_consume_skb_irq(skb); } else { lp->tx_skbuff[entry] = skb; lp->tx_ring[entry].base = ((u32)isa_virt_to_bus(skb->data) & 0xffffff) | 0x83000000; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/amd/xgbe/xgbe-dev.c +++ linux-gcp-5.19.0/drivers/net/ethernet/amd/xgbe/xgbe-dev.c @@ -524,19 +524,28 @@ netif_dbg(pdata, drv, pdata->netdev, "VXLAN acceleration disabled\n"); } +static unsigned int xgbe_get_fc_queue_count(struct xgbe_prv_data *pdata) +{ + unsigned int max_q_count = XGMAC_MAX_FLOW_CONTROL_QUEUES; + + /* From MAC ver 30H the TFCR is per priority, instead of per queue */ + if (XGMAC_GET_BITS(pdata->hw_feat.version, MAC_VR, SNPSVER) >= 0x30) + return max_q_count; + else + return min_t(unsigned int, pdata->tx_q_count, max_q_count); +} + static int xgbe_disable_tx_flow_control(struct xgbe_prv_data *pdata) { - unsigned int max_q_count, q_count; unsigned int reg, reg_val; - unsigned int i; + unsigned int i, q_count; /* Clear MTL flow control */ for (i = 0; i < pdata->rx_q_count; i++) XGMAC_MTL_IOWRITE_BITS(pdata, i, MTL_Q_RQOMR, EHFC, 0); /* Clear MAC flow control */ - max_q_count = XGMAC_MAX_FLOW_CONTROL_QUEUES; - q_count = min_t(unsigned int, pdata->tx_q_count, max_q_count); + q_count = xgbe_get_fc_queue_count(pdata); reg = MAC_Q0TFCR; for (i = 0; i < q_count; i++) { reg_val = XGMAC_IOREAD(pdata, reg); @@ -553,9 +562,8 @@ { struct ieee_pfc *pfc = pdata->pfc; struct ieee_ets *ets = pdata->ets; - unsigned int max_q_count, q_count; unsigned int reg, reg_val; - unsigned int i; + unsigned int i, q_count; /* Set MTL flow control */ for (i = 0; i < pdata->rx_q_count; i++) { @@ -579,8 +587,7 @@ } /* Set MAC flow control */ - max_q_count = XGMAC_MAX_FLOW_CONTROL_QUEUES; - q_count = min_t(unsigned int, pdata->tx_q_count, max_q_count); + q_count = xgbe_get_fc_queue_count(pdata); reg = MAC_Q0TFCR; for (i = 0; i < q_count; i++) { reg_val = XGMAC_IOREAD(pdata, reg); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/amd/xgbe/xgbe-drv.c +++ linux-gcp-5.19.0/drivers/net/ethernet/amd/xgbe/xgbe-drv.c @@ -1064,6 +1064,9 @@ devm_free_irq(pdata->dev, pdata->dev_irq, pdata); + tasklet_kill(&pdata->tasklet_dev); + tasklet_kill(&pdata->tasklet_ecc); + if (pdata->vdata->ecc_support && (pdata->dev_irq != pdata->ecc_irq)) devm_free_irq(pdata->dev, pdata->ecc_irq, pdata); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/amd/xgbe/xgbe-i2c.c +++ linux-gcp-5.19.0/drivers/net/ethernet/amd/xgbe/xgbe-i2c.c @@ -447,8 +447,10 @@ xgbe_i2c_disable(pdata); xgbe_i2c_clear_all_interrupts(pdata); - if (pdata->dev_irq != pdata->i2c_irq) + if (pdata->dev_irq != pdata->i2c_irq) { devm_free_irq(pdata->dev, pdata->i2c_irq, pdata); + tasklet_kill(&pdata->tasklet_i2c); + } } static int xgbe_i2c_start(struct xgbe_prv_data *pdata) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c +++ linux-gcp-5.19.0/drivers/net/ethernet/amd/xgbe/xgbe-mdio.c @@ -496,6 +496,7 @@ reg |= XGBE_KR_TRAINING_ENABLE; reg |= XGBE_KR_TRAINING_START; XMDIO_WRITE(pdata, MDIO_MMD_PMAPMD, MDIO_PMA_10GBR_PMD_CTRL, reg); + pdata->kr_start_time = jiffies; netif_dbg(pdata, link, pdata->netdev, "KR training initiated\n"); @@ -632,6 +633,8 @@ xgbe_switch_mode(pdata); + pdata->an_result = XGBE_AN_READY; + xgbe_an_restart(pdata); return XGBE_AN_INCOMPAT_LINK; @@ -1275,9 +1278,30 @@ static void xgbe_check_link_timeout(struct xgbe_prv_data *pdata) { unsigned long link_timeout; + unsigned long kr_time; + int wait; link_timeout = pdata->link_check + (XGBE_LINK_TIMEOUT * HZ); if (time_after(jiffies, link_timeout)) { + if ((xgbe_cur_mode(pdata) == XGBE_MODE_KR) && + pdata->phy.autoneg == AUTONEG_ENABLE) { + /* AN restart should not happen while KR training is in progress. + * The while loop ensures no AN restart during KR training, + * waits up to 500ms and AN restart is triggered only if KR + * training is failed. + */ + wait = XGBE_KR_TRAINING_WAIT_ITER; + while (wait--) { + kr_time = pdata->kr_start_time + + msecs_to_jiffies(XGBE_AN_MS_TIMEOUT); + if (time_after(jiffies, kr_time)) + break; + /* AN restart is not required, if AN result is COMPLETE */ + if (pdata->an_result == XGBE_AN_COMPLETE) + return; + usleep_range(10000, 11000); + } + } netif_dbg(pdata, link, pdata->netdev, "AN link timeout\n"); xgbe_phy_config_aneg(pdata); } @@ -1390,8 +1414,10 @@ /* Disable auto-negotiation */ xgbe_an_disable_all(pdata); - if (pdata->dev_irq != pdata->an_irq) + if (pdata->dev_irq != pdata->an_irq) { devm_free_irq(pdata->dev, pdata->an_irq, pdata); + tasklet_kill(&pdata->tasklet_an); + } pdata->phy_if.phy_impl.stop(pdata); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/amd/xgbe/xgbe-pci.c +++ linux-gcp-5.19.0/drivers/net/ethernet/amd/xgbe/xgbe-pci.c @@ -285,6 +285,9 @@ /* Yellow Carp devices do not need cdr workaround */ pdata->vdata->an_cdr_workaround = 0; + + /* Yellow Carp devices do not need rrc */ + pdata->vdata->enable_rrc = 0; } else { pdata->xpcs_window_def_reg = PCS_V2_WINDOW_DEF; pdata->xpcs_window_sel_reg = PCS_V2_WINDOW_SELECT; @@ -483,6 +486,7 @@ .tx_desc_prefetch = 5, .rx_desc_prefetch = 5, .an_cdr_workaround = 1, + .enable_rrc = 1, }; static struct xgbe_version_data xgbe_v2b = { @@ -498,6 +502,7 @@ .tx_desc_prefetch = 5, .rx_desc_prefetch = 5, .an_cdr_workaround = 1, + .enable_rrc = 1, }; static const struct pci_device_id xgbe_pci_table[] = { --- linux-gcp-5.19.0.orig/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c +++ linux-gcp-5.19.0/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c @@ -189,6 +189,7 @@ XGBE_SFP_CABLE_UNKNOWN = 0, XGBE_SFP_CABLE_ACTIVE, XGBE_SFP_CABLE_PASSIVE, + XGBE_SFP_CABLE_FIBER, }; enum xgbe_sfp_base { @@ -236,9 +237,7 @@ #define XGBE_SFP_BASE_BR 12 #define XGBE_SFP_BASE_BR_1GBE_MIN 0x0a -#define XGBE_SFP_BASE_BR_1GBE_MAX 0x0d #define XGBE_SFP_BASE_BR_10GBE_MIN 0x64 -#define XGBE_SFP_BASE_BR_10GBE_MAX 0x68 #define XGBE_SFP_BASE_CU_CABLE_LEN 18 @@ -284,6 +283,8 @@ #define XGBE_BEL_FUSE_VENDOR "BEL-FUSE " #define XGBE_BEL_FUSE_PARTNO "1GBT-SFP06 " +#define XGBE_MOLEX_VENDOR "Molex Inc. " + struct xgbe_sfp_ascii { union { char vendor[XGBE_SFP_BASE_VENDOR_NAME_LEN + 1]; @@ -823,25 +824,22 @@ static bool xgbe_phy_sfp_bit_rate(struct xgbe_sfp_eeprom *sfp_eeprom, enum xgbe_sfp_speed sfp_speed) { - u8 *sfp_base, min, max; + u8 *sfp_base, min; sfp_base = sfp_eeprom->base; switch (sfp_speed) { case XGBE_SFP_SPEED_1000: min = XGBE_SFP_BASE_BR_1GBE_MIN; - max = XGBE_SFP_BASE_BR_1GBE_MAX; break; case XGBE_SFP_SPEED_10000: min = XGBE_SFP_BASE_BR_10GBE_MIN; - max = XGBE_SFP_BASE_BR_10GBE_MAX; break; default: return false; } - return ((sfp_base[XGBE_SFP_BASE_BR] >= min) && - (sfp_base[XGBE_SFP_BASE_BR] <= max)); + return sfp_base[XGBE_SFP_BASE_BR] >= min; } static void xgbe_phy_free_phy_device(struct xgbe_prv_data *pdata) @@ -1142,16 +1140,21 @@ phy_data->sfp_tx_fault = xgbe_phy_check_sfp_tx_fault(phy_data); phy_data->sfp_rx_los = xgbe_phy_check_sfp_rx_los(phy_data); - /* Assume ACTIVE cable unless told it is PASSIVE */ + /* Assume FIBER cable unless told otherwise */ if (sfp_base[XGBE_SFP_BASE_CABLE] & XGBE_SFP_BASE_CABLE_PASSIVE) { phy_data->sfp_cable = XGBE_SFP_CABLE_PASSIVE; phy_data->sfp_cable_len = sfp_base[XGBE_SFP_BASE_CU_CABLE_LEN]; - } else { + } else if (sfp_base[XGBE_SFP_BASE_CABLE] & XGBE_SFP_BASE_CABLE_ACTIVE) { phy_data->sfp_cable = XGBE_SFP_CABLE_ACTIVE; + } else { + phy_data->sfp_cable = XGBE_SFP_CABLE_FIBER; } /* Determine the type of SFP */ - if (sfp_base[XGBE_SFP_BASE_10GBE_CC] & XGBE_SFP_BASE_10GBE_CC_SR) + if (phy_data->sfp_cable != XGBE_SFP_CABLE_FIBER && + xgbe_phy_sfp_bit_rate(sfp_eeprom, XGBE_SFP_SPEED_10000)) + phy_data->sfp_base = XGBE_SFP_BASE_10000_CR; + else if (sfp_base[XGBE_SFP_BASE_10GBE_CC] & XGBE_SFP_BASE_10GBE_CC_SR) phy_data->sfp_base = XGBE_SFP_BASE_10000_SR; else if (sfp_base[XGBE_SFP_BASE_10GBE_CC] & XGBE_SFP_BASE_10GBE_CC_LR) phy_data->sfp_base = XGBE_SFP_BASE_10000_LR; @@ -1167,9 +1170,6 @@ phy_data->sfp_base = XGBE_SFP_BASE_1000_CX; else if (sfp_base[XGBE_SFP_BASE_1GBE_CC] & XGBE_SFP_BASE_1GBE_CC_T) phy_data->sfp_base = XGBE_SFP_BASE_1000_T; - else if ((phy_data->sfp_cable == XGBE_SFP_CABLE_PASSIVE) && - xgbe_phy_sfp_bit_rate(sfp_eeprom, XGBE_SFP_SPEED_10000)) - phy_data->sfp_base = XGBE_SFP_BASE_10000_CR; switch (phy_data->sfp_base) { case XGBE_SFP_BASE_1000_T: @@ -2640,7 +2640,7 @@ } /* No link, attempt a receiver reset cycle */ - if (phy_data->rrc_count++ > XGBE_RRC_FREQUENCY) { + if (pdata->vdata->enable_rrc && phy_data->rrc_count++ > XGBE_RRC_FREQUENCY) { phy_data->rrc_count = 0; xgbe_phy_rrc(pdata); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/amd/xgbe/xgbe.h +++ linux-gcp-5.19.0/drivers/net/ethernet/amd/xgbe/xgbe.h @@ -290,6 +290,7 @@ /* Auto-negotiation */ #define XGBE_AN_MS_TIMEOUT 500 #define XGBE_LINK_TIMEOUT 5 +#define XGBE_KR_TRAINING_WAIT_ITER 50 #define XGBE_SGMII_AN_LINK_STATUS BIT(1) #define XGBE_SGMII_AN_LINK_SPEED (BIT(2) | BIT(3)) @@ -1013,6 +1014,7 @@ unsigned int tx_desc_prefetch; unsigned int rx_desc_prefetch; unsigned int an_cdr_workaround; + unsigned int enable_rrc; }; struct xgbe_prv_data { @@ -1254,6 +1256,7 @@ unsigned int parallel_detect; unsigned int fec_ability; unsigned long an_start; + unsigned long kr_start_time; enum xgbe_an_mode an_mode; /* I2C support */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/apm/xgene/xgene_enet_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/apm/xgene/xgene_enet_main.c @@ -1004,8 +1004,10 @@ xgene_enet_napi_enable(pdata); ret = xgene_enet_register_irq(ndev); - if (ret) + if (ret) { + xgene_enet_napi_disable(pdata); return ret; + } if (ndev->phydev) { phy_start(ndev->phydev); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/apple/bmac.c +++ linux-gcp-5.19.0/drivers/net/ethernet/apple/bmac.c @@ -1510,7 +1510,7 @@ i = bp->tx_empty; ++dev->stats.tx_errors; if (i != bp->tx_fill) { - dev_kfree_skb(bp->tx_bufs[i]); + dev_kfree_skb_irq(bp->tx_bufs[i]); bp->tx_bufs[i] = NULL; if (++i >= N_TX_RING) i = 0; bp->tx_empty = i; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/apple/mace.c +++ linux-gcp-5.19.0/drivers/net/ethernet/apple/mace.c @@ -846,7 +846,7 @@ if (mp->tx_bad_runt) { mp->tx_bad_runt = 0; } else if (i != mp->tx_fill) { - dev_kfree_skb(mp->tx_bufs[i]); + dev_kfree_skb_irq(mp->tx_bufs[i]); if (++i >= N_TX_RING) i = 0; mp->tx_empty = i; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c +++ linux-gcp-5.19.0/drivers/net/ethernet/aquantia/atlantic/aq_ethtool.c @@ -13,6 +13,7 @@ #include "aq_ptp.h" #include "aq_filters.h" #include "aq_macsec.h" +#include "aq_main.h" #include @@ -858,7 +859,7 @@ if (netif_running(ndev)) { ndev_running = true; - dev_close(ndev); + aq_ndev_close(ndev); } cfg->rxds = max(ring->rx_pending, hw_caps->rxds_min); @@ -874,7 +875,7 @@ goto err_exit; if (ndev_running) - err = dev_open(ndev, NULL); + err = aq_ndev_open(ndev); err_exit: return err; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/aquantia/atlantic/aq_macsec.c +++ linux-gcp-5.19.0/drivers/net/ethernet/aquantia/atlantic/aq_macsec.c @@ -585,6 +585,7 @@ ret = aq_mss_set_egress_sakey_record(hw, &key_rec, sa_idx); + memzero_explicit(&key_rec, sizeof(key_rec)); return ret; } @@ -932,6 +933,7 @@ ret = aq_mss_set_ingress_sakey_record(hw, &sa_key_record, sa_idx); + memzero_explicit(&sa_key_record, sizeof(sa_key_record)); return ret; } @@ -1451,26 +1453,57 @@ egress_sa_threshold_expired); } +#define AQ_LOCKED_MDO_DEF(mdo) \ +static int aq_locked_mdo_##mdo(struct macsec_context *ctx) \ +{ \ + struct aq_nic_s *nic = netdev_priv(ctx->netdev); \ + int ret; \ + mutex_lock(&nic->macsec_mutex); \ + ret = aq_mdo_##mdo(ctx); \ + mutex_unlock(&nic->macsec_mutex); \ + return ret; \ +} + +AQ_LOCKED_MDO_DEF(dev_open) +AQ_LOCKED_MDO_DEF(dev_stop) +AQ_LOCKED_MDO_DEF(add_secy) +AQ_LOCKED_MDO_DEF(upd_secy) +AQ_LOCKED_MDO_DEF(del_secy) +AQ_LOCKED_MDO_DEF(add_rxsc) +AQ_LOCKED_MDO_DEF(upd_rxsc) +AQ_LOCKED_MDO_DEF(del_rxsc) +AQ_LOCKED_MDO_DEF(add_rxsa) +AQ_LOCKED_MDO_DEF(upd_rxsa) +AQ_LOCKED_MDO_DEF(del_rxsa) +AQ_LOCKED_MDO_DEF(add_txsa) +AQ_LOCKED_MDO_DEF(upd_txsa) +AQ_LOCKED_MDO_DEF(del_txsa) +AQ_LOCKED_MDO_DEF(get_dev_stats) +AQ_LOCKED_MDO_DEF(get_tx_sc_stats) +AQ_LOCKED_MDO_DEF(get_tx_sa_stats) +AQ_LOCKED_MDO_DEF(get_rx_sc_stats) +AQ_LOCKED_MDO_DEF(get_rx_sa_stats) + const struct macsec_ops aq_macsec_ops = { - .mdo_dev_open = aq_mdo_dev_open, - .mdo_dev_stop = aq_mdo_dev_stop, - .mdo_add_secy = aq_mdo_add_secy, - .mdo_upd_secy = aq_mdo_upd_secy, - .mdo_del_secy = aq_mdo_del_secy, - .mdo_add_rxsc = aq_mdo_add_rxsc, - .mdo_upd_rxsc = aq_mdo_upd_rxsc, - .mdo_del_rxsc = aq_mdo_del_rxsc, - .mdo_add_rxsa = aq_mdo_add_rxsa, - .mdo_upd_rxsa = aq_mdo_upd_rxsa, - .mdo_del_rxsa = aq_mdo_del_rxsa, - .mdo_add_txsa = aq_mdo_add_txsa, - .mdo_upd_txsa = aq_mdo_upd_txsa, - .mdo_del_txsa = aq_mdo_del_txsa, - .mdo_get_dev_stats = aq_mdo_get_dev_stats, - .mdo_get_tx_sc_stats = aq_mdo_get_tx_sc_stats, - .mdo_get_tx_sa_stats = aq_mdo_get_tx_sa_stats, - .mdo_get_rx_sc_stats = aq_mdo_get_rx_sc_stats, - .mdo_get_rx_sa_stats = aq_mdo_get_rx_sa_stats, + .mdo_dev_open = aq_locked_mdo_dev_open, + .mdo_dev_stop = aq_locked_mdo_dev_stop, + .mdo_add_secy = aq_locked_mdo_add_secy, + .mdo_upd_secy = aq_locked_mdo_upd_secy, + .mdo_del_secy = aq_locked_mdo_del_secy, + .mdo_add_rxsc = aq_locked_mdo_add_rxsc, + .mdo_upd_rxsc = aq_locked_mdo_upd_rxsc, + .mdo_del_rxsc = aq_locked_mdo_del_rxsc, + .mdo_add_rxsa = aq_locked_mdo_add_rxsa, + .mdo_upd_rxsa = aq_locked_mdo_upd_rxsa, + .mdo_del_rxsa = aq_locked_mdo_del_rxsa, + .mdo_add_txsa = aq_locked_mdo_add_txsa, + .mdo_upd_txsa = aq_locked_mdo_upd_txsa, + .mdo_del_txsa = aq_locked_mdo_del_txsa, + .mdo_get_dev_stats = aq_locked_mdo_get_dev_stats, + .mdo_get_tx_sc_stats = aq_locked_mdo_get_tx_sc_stats, + .mdo_get_tx_sa_stats = aq_locked_mdo_get_tx_sa_stats, + .mdo_get_rx_sc_stats = aq_locked_mdo_get_rx_sc_stats, + .mdo_get_rx_sa_stats = aq_locked_mdo_get_rx_sa_stats, }; int aq_macsec_init(struct aq_nic_s *nic) @@ -1492,6 +1525,7 @@ nic->ndev->features |= NETIF_F_HW_MACSEC; nic->ndev->macsec_ops = &aq_macsec_ops; + mutex_init(&nic->macsec_mutex); return 0; } @@ -1515,7 +1549,7 @@ if (!nic->macsec_cfg) return 0; - rtnl_lock(); + mutex_lock(&nic->macsec_mutex); if (nic->aq_fw_ops->send_macsec_req) { struct macsec_cfg_request cfg = { 0 }; @@ -1564,7 +1598,7 @@ ret = aq_apply_macsec_cfg(nic); unlock: - rtnl_unlock(); + mutex_unlock(&nic->macsec_mutex); return ret; } @@ -1576,9 +1610,9 @@ if (!netif_carrier_ok(nic->ndev)) return; - rtnl_lock(); + mutex_lock(&nic->macsec_mutex); aq_check_txsa_expiration(nic); - rtnl_unlock(); + mutex_unlock(&nic->macsec_mutex); } int aq_macsec_rx_sa_cnt(struct aq_nic_s *nic) @@ -1589,21 +1623,30 @@ if (!cfg) return 0; + mutex_lock(&nic->macsec_mutex); + for (i = 0; i < AQ_MACSEC_MAX_SC; i++) { if (!test_bit(i, &cfg->rxsc_idx_busy)) continue; cnt += hweight_long(cfg->aq_rxsc[i].rx_sa_idx_busy); } + mutex_unlock(&nic->macsec_mutex); return cnt; } int aq_macsec_tx_sc_cnt(struct aq_nic_s *nic) { + int cnt; + if (!nic->macsec_cfg) return 0; - return hweight_long(nic->macsec_cfg->txsc_idx_busy); + mutex_lock(&nic->macsec_mutex); + cnt = hweight_long(nic->macsec_cfg->txsc_idx_busy); + mutex_unlock(&nic->macsec_mutex); + + return cnt; } int aq_macsec_tx_sa_cnt(struct aq_nic_s *nic) @@ -1614,12 +1657,15 @@ if (!cfg) return 0; + mutex_lock(&nic->macsec_mutex); + for (i = 0; i < AQ_MACSEC_MAX_SC; i++) { if (!test_bit(i, &cfg->txsc_idx_busy)) continue; cnt += hweight_long(cfg->aq_txsc[i].tx_sa_idx_busy); } + mutex_unlock(&nic->macsec_mutex); return cnt; } @@ -1691,6 +1737,8 @@ if (!cfg) return data; + mutex_lock(&nic->macsec_mutex); + aq_macsec_update_stats(nic); common_stats = &cfg->stats; @@ -1773,5 +1821,7 @@ data += i; + mutex_unlock(&nic->macsec_mutex); + return data; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/aquantia/atlantic/aq_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/aquantia/atlantic/aq_main.c @@ -58,7 +58,7 @@ return ndev; } -static int aq_ndev_open(struct net_device *ndev) +int aq_ndev_open(struct net_device *ndev) { struct aq_nic_s *aq_nic = netdev_priv(ndev); int err = 0; @@ -88,17 +88,14 @@ return err; } -static int aq_ndev_close(struct net_device *ndev) +int aq_ndev_close(struct net_device *ndev) { struct aq_nic_s *aq_nic = netdev_priv(ndev); int err = 0; err = aq_nic_stop(aq_nic); - if (err < 0) - goto err_exit; aq_nic_deinit(aq_nic, true); -err_exit: return err; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/aquantia/atlantic/aq_main.h +++ linux-gcp-5.19.0/drivers/net/ethernet/aquantia/atlantic/aq_main.h @@ -16,5 +16,7 @@ void aq_ndev_schedule_work(struct work_struct *work); struct net_device *aq_ndev_alloc(void); +int aq_ndev_open(struct net_device *ndev); +int aq_ndev_close(struct net_device *ndev); #endif /* AQ_MAIN_H */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/aquantia/atlantic/aq_nic.c +++ linux-gcp-5.19.0/drivers/net/ethernet/aquantia/atlantic/aq_nic.c @@ -265,12 +265,10 @@ static void aq_nic_polling_timer_cb(struct timer_list *t) { struct aq_nic_s *self = from_timer(self, t, polling_timer); - struct aq_vec_s *aq_vec = NULL; unsigned int i = 0U; - for (i = 0U, aq_vec = self->aq_vec[0]; - self->aq_vecs > i; ++i, aq_vec = self->aq_vec[i]) - aq_vec_isr(i, (void *)aq_vec); + for (i = 0U; self->aq_vecs > i; ++i) + aq_vec_isr(i, (void *)self->aq_vec[i]); mod_timer(&self->polling_timer, jiffies + AQ_CFG_POLLING_TIMER_INTERVAL); @@ -1014,7 +1012,6 @@ u64 *aq_nic_get_stats(struct aq_nic_s *self, u64 *data) { - struct aq_vec_s *aq_vec = NULL; struct aq_stats_s *stats; unsigned int count = 0U; unsigned int i = 0U; @@ -1064,11 +1061,11 @@ data += i; for (tc = 0U; tc < self->aq_nic_cfg.tcs; tc++) { - for (i = 0U, aq_vec = self->aq_vec[0]; - aq_vec && self->aq_vecs > i; - ++i, aq_vec = self->aq_vec[i]) { + for (i = 0U; self->aq_vecs > i; ++i) { + if (!self->aq_vec[i]) + break; data += count; - count = aq_vec_get_sw_stats(aq_vec, tc, data); + count = aq_vec_get_sw_stats(self->aq_vec[i], tc, data); } } @@ -1382,7 +1379,6 @@ int aq_nic_stop(struct aq_nic_s *self) { - struct aq_vec_s *aq_vec = NULL; unsigned int i = 0U; netif_tx_disable(self->ndev); @@ -1400,9 +1396,8 @@ aq_ptp_irq_free(self); - for (i = 0U, aq_vec = self->aq_vec[0]; - self->aq_vecs > i; ++i, aq_vec = self->aq_vec[i]) - aq_vec_stop(aq_vec); + for (i = 0U; self->aq_vecs > i; ++i) + aq_vec_stop(self->aq_vec[i]); aq_ptp_ring_stop(self); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/aquantia/atlantic/aq_nic.h +++ linux-gcp-5.19.0/drivers/net/ethernet/aquantia/atlantic/aq_nic.h @@ -157,6 +157,8 @@ struct mutex fwreq_mutex; #if IS_ENABLED(CONFIG_MACSEC) struct aq_macsec_cfg *macsec_cfg; + /* mutex to protect data in macsec_cfg */ + struct mutex macsec_mutex; #endif /* PTP support */ struct aq_ptp_s *aq_ptp; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/aquantia/atlantic/macsec/macsec_api.c +++ linux-gcp-5.19.0/drivers/net/ethernet/aquantia/atlantic/macsec/macsec_api.c @@ -757,6 +757,7 @@ u16 table_index) { u16 packed_record[18]; + int ret; if (table_index >= NUMROWS_INGRESSSAKEYRECORD) return -EINVAL; @@ -789,9 +790,12 @@ packed_record[16] = rec->key_len & 0x3; - return set_raw_ingress_record(hw, packed_record, 18, 2, - ROWOFFSET_INGRESSSAKEYRECORD + - table_index); + ret = set_raw_ingress_record(hw, packed_record, 18, 2, + ROWOFFSET_INGRESSSAKEYRECORD + + table_index); + + memzero_explicit(packed_record, sizeof(packed_record)); + return ret; } int aq_mss_set_ingress_sakey_record(struct aq_hw_s *hw, @@ -1739,14 +1743,14 @@ ret = set_raw_egress_record(hw, packed_record, 8, 2, ROWOFFSET_EGRESSSAKEYRECORD + table_index); if (unlikely(ret)) - return ret; + goto clear_key; ret = set_raw_egress_record(hw, packed_record + 8, 8, 2, ROWOFFSET_EGRESSSAKEYRECORD + table_index - 32); - if (unlikely(ret)) - return ret; - return 0; +clear_key: + memzero_explicit(packed_record, sizeof(packed_record)); + return ret; } int aq_mss_set_egress_sakey_record(struct aq_hw_s *hw, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/atheros/ag71xx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/atheros/ag71xx.c @@ -946,7 +946,7 @@ return ETH_HLEN + VLAN_HLEN + mtu + ETH_FCS_LEN; } -static void ag71xx_hw_set_macaddr(struct ag71xx *ag, unsigned char *mac) +static void ag71xx_hw_set_macaddr(struct ag71xx *ag, const unsigned char *mac) { u32 t; @@ -1427,7 +1427,7 @@ if (ret) { netif_err(ag, link, ndev, "phylink_of_phy_connect filed with err: %i\n", ret); - goto err; + return ret; } max_frame_len = ag71xx_max_frame_len(ndev->mtu); @@ -1448,6 +1448,7 @@ err: ag71xx_rings_cleanup(ag); + phylink_disconnect_phy(ag->phylink); return ret; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/atheros/alx/main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/atheros/alx/main.c @@ -1912,11 +1912,14 @@ if (!netif_running(alx->dev)) return 0; + + rtnl_lock(); netif_device_detach(alx->dev); mutex_lock(&alx->mtx); __alx_stop(alx); mutex_unlock(&alx->mtx); + rtnl_unlock(); return 0; } @@ -1927,6 +1930,7 @@ struct alx_hw *hw = &alx->hw; int err; + rtnl_lock(); mutex_lock(&alx->mtx); alx_reset_phy(hw); @@ -1943,6 +1947,7 @@ unlock: mutex_unlock(&alx->mtx); + rtnl_unlock(); return err; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/Kconfig +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/Kconfig @@ -71,6 +71,7 @@ config BCMGENET tristate "Broadcom GENET internal MAC support" depends on HAS_IOMEM + depends on PTP_1588_CLOCK_OPTIONAL || !ARCH_BCM2835 select MII select PHYLIB select FIXED_PHY --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/bcm4908_enet.c +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/bcm4908_enet.c @@ -561,8 +561,6 @@ if (++ring->write_idx == ring->length - 1) ring->write_idx = 0; - enet->netdev->stats.tx_bytes += skb->len; - enet->netdev->stats.tx_packets++; return NETDEV_TX_OK; } @@ -635,6 +633,7 @@ struct bcm4908_enet_dma_ring_bd *buf_desc; struct bcm4908_enet_dma_ring_slot *slot; struct device *dev = enet->dev; + unsigned int bytes = 0; int handled = 0; while (handled < weight && tx_ring->read_idx != tx_ring->write_idx) { @@ -645,12 +644,17 @@ dma_unmap_single(dev, slot->dma_addr, slot->len, DMA_TO_DEVICE); dev_kfree_skb(slot->skb); - if (++tx_ring->read_idx == tx_ring->length) - tx_ring->read_idx = 0; handled++; + bytes += slot->len; + + if (++tx_ring->read_idx == tx_ring->length) + tx_ring->read_idx = 0; } + enet->netdev->stats.tx_packets += handled; + enet->netdev->stats.tx_bytes += bytes; + if (handled < weight) { napi_complete_done(napi, handled); bcm4908_enet_dma_ring_intrs_on(enet, tx_ring); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/bcmsysport.c +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/bcmsysport.c @@ -1991,6 +1991,9 @@ goto out_clk_disable; } + /* Indicate that the MAC is responsible for PHY PM */ + phydev->mac_managed_pm = true; + /* Reset house keeping link status */ priv->old_duplex = -1; priv->old_link = -1; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/bgmac-bcma.c +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/bgmac-bcma.c @@ -240,12 +240,12 @@ bgmac->feature_flags |= BGMAC_FEAT_CLKCTLST; bgmac->feature_flags |= BGMAC_FEAT_FLW_CTRL1; bgmac->feature_flags |= BGMAC_FEAT_SW_TYPE_PHY; - if (ci->pkg == BCMA_PKG_ID_BCM47188 || - ci->pkg == BCMA_PKG_ID_BCM47186) { + if ((ci->id == BCMA_CHIP_ID_BCM5357 && ci->pkg == BCMA_PKG_ID_BCM47186) || + (ci->id == BCMA_CHIP_ID_BCM53572 && ci->pkg == BCMA_PKG_ID_BCM47188)) { bgmac->feature_flags |= BGMAC_FEAT_SW_TYPE_RGMII; bgmac->feature_flags |= BGMAC_FEAT_IOST_ATTACHED; } - if (ci->pkg == BCMA_PKG_ID_BCM5358) + if (ci->id == BCMA_CHIP_ID_BCM5357 && ci->pkg == BCMA_PKG_ID_BCM5358) bgmac->feature_flags |= BGMAC_FEAT_SW_TYPE_EPHYRMII; break; case BCMA_CHIP_ID_BCM53573: --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/bgmac.c +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/bgmac.c @@ -189,8 +189,8 @@ } slot->skb = skb; - ring->end += nr_frags + 1; netdev_sent_queue(net_dev, skb->len); + ring->end += nr_frags + 1; wmb(); @@ -1568,7 +1568,6 @@ phy_disconnect(bgmac->net_dev->phydev); netif_napi_del(&bgmac->napi); bgmac_dma_free(bgmac); - free_netdev(bgmac->net_dev); } EXPORT_SYMBOL_GPL(bgmac_enet_remove); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c @@ -789,6 +789,7 @@ BNX2X_ERR("skb_put is about to fail... pad %d len %d rx_buf_size %d\n", pad, len, fp->rx_buf_size); bnx2x_panic(); + bnx2x_frag_free(fp, new_data); return; } #endif --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c @@ -795,16 +795,20 @@ static u8 bnx2x_vf_is_pcie_pending(struct bnx2x *bp, u8 abs_vfid) { - struct pci_dev *dev; struct bnx2x_virtf *vf = bnx2x_vf_by_abs_fid(bp, abs_vfid); + struct pci_dev *dev; + bool pending; if (!vf) return false; dev = pci_get_domain_bus_and_slot(vf->domain, vf->bus, vf->devfn); - if (dev) - return bnx2x_is_pcie_pending(dev); - return false; + if (!dev) + return false; + pending = bnx2x_is_pcie_pending(dev); + pci_dev_put(dev); + + return pending; } int bnx2x_vf_flr_clnup_epilog(struct bnx2x *bp, u8 abs_vfid) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -662,7 +662,6 @@ for (i = 0; i < nr_pkts; i++) { struct bnxt_sw_tx_bd *tx_buf; - bool compl_deferred = false; struct sk_buff *skb; int j, last; @@ -671,6 +670,8 @@ skb = tx_buf->skb; tx_buf->skb = NULL; + tx_bytes += skb->len; + if (tx_buf->is_push) { tx_buf->is_push = 0; goto next_tx_int; @@ -691,8 +692,9 @@ } if (unlikely(skb_shinfo(skb)->tx_flags & SKBTX_IN_PROGRESS)) { if (bp->flags & BNXT_FLAG_CHIP_P5) { + /* PTP worker takes ownership of the skb */ if (!bnxt_get_tx_ts_p5(bp, skb)) - compl_deferred = true; + skb = NULL; else atomic_inc(&bp->ptp_cfg->tx_avail); } @@ -701,9 +703,7 @@ next_tx_int: cons = NEXT_TX(cons); - tx_bytes += skb->len; - if (!compl_deferred) - dev_kfree_skb_any(skb); + dev_kfree_skb_any(skb); } netdev_tx_completed_queue(txq, nr_pkts, tx_bytes); @@ -991,10 +991,9 @@ dma_addr -= bp->rx_dma_offset; dma_unmap_page_attrs(&bp->pdev->dev, dma_addr, PAGE_SIZE, bp->rx_dir, DMA_ATTR_WEAK_ORDERING); - skb = build_skb(page_address(page), BNXT_PAGE_MODE_BUF_SIZE + - bp->rx_dma_offset); + skb = build_skb(page_address(page), PAGE_SIZE); if (!skb) { - __free_page(page); + page_pool_recycle_direct(rxr->page_pool, page); return NULL; } skb_mark_for_recycle(skb); @@ -1032,7 +1031,7 @@ skb = napi_alloc_skb(&rxr->bnapi->napi, payload); if (!skb) { - __free_page(page); + page_pool_recycle_direct(rxr->page_pool, page); return NULL; } @@ -1925,7 +1924,7 @@ dma_addr = rx_buf->mapping; if (bnxt_xdp_attached(bp, rxr)) { - bnxt_xdp_buff_init(bp, rxr, cons, &data_ptr, &len, &xdp); + bnxt_xdp_buff_init(bp, rxr, cons, data_ptr, len, &xdp); if (agg_bufs) { u32 frag_len = bnxt_rx_agg_pages_xdp(bp, cpr, &xdp, cp_cons, agg_bufs, @@ -1940,7 +1939,7 @@ } if (xdp_active) { - if (bnxt_rx_xdp(bp, rxr, cons, xdp, data, &len, event)) { + if (bnxt_rx_xdp(bp, rxr, cons, xdp, data, &data_ptr, &len, event)) { rc = 1; goto next_rx; } @@ -3969,8 +3968,10 @@ bp->rx_agg_ring_mask = (bp->rx_agg_nr_pages * RX_DESC_CNT) - 1; if (BNXT_RX_PAGE_MODE(bp)) { - rx_space = BNXT_PAGE_MODE_BUF_SIZE; - rx_size = BNXT_MAX_PAGE_MODE_MTU; + rx_space = PAGE_SIZE; + rx_size = PAGE_SIZE - + ALIGN(max(NET_SKB_PAD, XDP_PACKET_HEADROOM), 8) - + SKB_DATA_ALIGN(sizeof(struct skb_shared_info)); } else { rx_size = SKB_DATA_ALIGN(BNXT_RX_COPY_THRESH + NET_IP_ALIGN); rx_space = rx_size + NET_SKB_PAD + @@ -5375,15 +5376,16 @@ req->flags = cpu_to_le32(VNIC_PLCMODES_CFG_REQ_FLAGS_JUMBO_PLACEMENT); req->enables = cpu_to_le32(VNIC_PLCMODES_CFG_REQ_ENABLES_JUMBO_THRESH_VALID); - if (BNXT_RX_PAGE_MODE(bp) && !BNXT_RX_JUMBO_MODE(bp)) { + if (BNXT_RX_PAGE_MODE(bp)) { + req->jumbo_thresh = cpu_to_le16(bp->rx_buf_use_size); + } else { req->flags |= cpu_to_le32(VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_IPV4 | VNIC_PLCMODES_CFG_REQ_FLAGS_HDS_IPV6); req->enables |= cpu_to_le32(VNIC_PLCMODES_CFG_REQ_ENABLES_HDS_THRESHOLD_VALID); + req->jumbo_thresh = cpu_to_le16(bp->rx_copy_thresh); + req->hds_threshold = cpu_to_le16(bp->rx_copy_thresh); } - /* thresholds not implemented in firmware yet */ - req->jumbo_thresh = cpu_to_le16(bp->rx_copy_thresh); - req->hds_threshold = cpu_to_le16(bp->rx_copy_thresh); req->vnic_id = cpu_to_le32(vnic->fw_vnic_id); return hwrm_req_send(bp, req); } @@ -9242,10 +9244,14 @@ netdev_err(bp->dev, "ring reservation/IRQ init failure rc: %d\n", rc); return rc; } - if (tcs && (bp->tx_nr_rings_per_tc * tcs != bp->tx_nr_rings)) { + if (tcs && (bp->tx_nr_rings_per_tc * tcs != + bp->tx_nr_rings - bp->tx_nr_rings_xdp)) { netdev_err(bp->dev, "tx ring reservation failure\n"); netdev_reset_tc(bp->dev); - bp->tx_nr_rings_per_tc = bp->tx_nr_rings; + if (bp->tx_nr_rings_xdp) + bp->tx_nr_rings_per_tc = bp->tx_nr_rings_xdp; + else + bp->tx_nr_rings_per_tc = bp->tx_nr_rings; return -ENOMEM; } return 0; @@ -9988,17 +9994,12 @@ return -ENODEV; } -int bnxt_cancel_reservations(struct bnxt *bp, bool fw_reset) +static void bnxt_clear_reservations(struct bnxt *bp, bool fw_reset) { struct bnxt_hw_resc *hw_resc = &bp->hw_resc; - int rc; if (!BNXT_NEW_RM(bp)) - return 0; /* no resource reservations required */ - - rc = bnxt_hwrm_func_resc_qcaps(bp, true); - if (rc) - netdev_err(bp->dev, "resc_qcaps failed\n"); + return; /* no resource reservations required */ hw_resc->resv_cp_rings = 0; hw_resc->resv_stat_ctxs = 0; @@ -10011,6 +10012,20 @@ bp->tx_nr_rings = 0; bp->rx_nr_rings = 0; } +} + +int bnxt_cancel_reservations(struct bnxt *bp, bool fw_reset) +{ + int rc; + + if (!BNXT_NEW_RM(bp)) + return 0; /* no resource reservations required */ + + rc = bnxt_hwrm_func_resc_qcaps(bp, true); + if (rc) + netdev_err(bp->dev, "resc_qcaps failed\n"); + + bnxt_clear_reservations(bp, fw_reset); return rc; } @@ -11183,10 +11198,7 @@ if ((features & NETIF_F_NTUPLE) && !bnxt_rfs_capable(bp)) features &= ~NETIF_F_NTUPLE; - if (bp->flags & BNXT_FLAG_NO_AGG_RINGS) - features &= ~(NETIF_F_LRO | NETIF_F_GRO_HW); - - if (!(bp->flags & BNXT_FLAG_TPA)) + if ((bp->flags & BNXT_FLAG_NO_AGG_RINGS) || bp->xdp_prog) features &= ~(NETIF_F_LRO | NETIF_F_GRO_HW); if (!(features & NETIF_F_GRO)) @@ -12902,8 +12914,8 @@ rcu_read_lock(); hlist_for_each_entry_rcu(fltr, head, hash) { if (bnxt_fltr_match(fltr, new_fltr)) { + rc = fltr->sw_id; rcu_read_unlock(); - rc = 0; goto err_free; } } @@ -13921,7 +13933,9 @@ pci_ers_result_t result = PCI_ERS_RESULT_DISCONNECT; struct net_device *netdev = pci_get_drvdata(pdev); struct bnxt *bp = netdev_priv(netdev); - int err = 0, off; + int retry = 0; + int err = 0; + int off; netdev_info(bp->dev, "PCI Slot Reset\n"); @@ -13949,11 +13963,36 @@ pci_restore_state(pdev); pci_save_state(pdev); + bnxt_inv_fw_health_reg(bp); + bnxt_try_map_fw_health_reg(bp); + + /* In some PCIe AER scenarios, firmware may take up to + * 10 seconds to become ready in the worst case. + */ + do { + err = bnxt_try_recover_fw(bp); + if (!err) + break; + retry++; + } while (retry < BNXT_FW_SLOT_RESET_RETRY); + + if (err) { + dev_err(&pdev->dev, "Firmware not ready\n"); + goto reset_exit; + } + err = bnxt_hwrm_func_reset(bp); if (!err) result = PCI_ERS_RESULT_RECOVERED; + + bnxt_ulp_irq_stop(bp); + bnxt_clear_int_mode(bp); + err = bnxt_init_int_mode(bp); + bnxt_ulp_irq_restart(bp, err); } +reset_exit: + bnxt_clear_reservations(bp, true); rtnl_unlock(); return result; @@ -14009,8 +14048,16 @@ static int __init bnxt_init(void) { + int err; + bnxt_debug_init(); - return pci_register_driver(&bnxt_pci_driver); + err = pci_register_driver(&bnxt_pci_driver); + if (err) { + bnxt_debug_exit(); + return err; + } + + return 0; } static void __exit bnxt_exit(void) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/bnxt/bnxt.h +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/bnxt/bnxt.h @@ -591,12 +591,20 @@ #define BNXT_RX_PAGE_SIZE (1 << BNXT_RX_PAGE_SHIFT) #define BNXT_MAX_MTU 9500 -#define BNXT_PAGE_MODE_BUF_SIZE \ + +/* First RX buffer page in XDP multi-buf mode + * + * +-------------------------------------------------------------------------+ + * | XDP_PACKET_HEADROOM | bp->rx_buf_use_size | skb_shared_info| + * | (bp->rx_dma_offset) | | | + * +-------------------------------------------------------------------------+ + */ +#define BNXT_MAX_PAGE_MODE_MTU_SBUF \ ((unsigned int)PAGE_SIZE - VLAN_ETH_HLEN - NET_IP_ALIGN - \ XDP_PACKET_HEADROOM) #define BNXT_MAX_PAGE_MODE_MTU \ - BNXT_PAGE_MODE_BUF_SIZE - \ - SKB_DATA_ALIGN((unsigned int)sizeof(struct skb_shared_info)) + (BNXT_MAX_PAGE_MODE_MTU_SBUF - \ + SKB_DATA_ALIGN((unsigned int)sizeof(struct skb_shared_info))) #define BNXT_MIN_PKT_SIZE 52 @@ -1621,6 +1629,7 @@ #define BNXT_FW_RETRY 5 #define BNXT_FW_IF_RETRY 10 +#define BNXT_FW_SLOT_RESET_RETRY 4 enum board_idx { BCM57301, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c @@ -1246,6 +1246,7 @@ if (rc) goto err_dl_port_unreg; + devlink_set_features(dl, DEVLINK_F_RELOAD); out: devlink_register(dl); return 0; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c @@ -162,7 +162,7 @@ } reset_coalesce: - if (netif_running(dev)) { + if (test_bit(BNXT_STATE_OPEN, &bp->state)) { if (update_stats) { rc = bnxt_close_nic(bp, true, false); if (!rc) @@ -3865,7 +3865,7 @@ test_info->timeout = HWRM_CMD_TIMEOUT; for (i = 0; i < bp->num_tests; i++) { char *str = test_info->string[i]; - char *fw_str = resp->test0_name + i * 32; + char *fw_str = resp->test_name[i]; if (i == BNXT_MACLPBK_TEST_IDX) { strcpy(str, "Mac loopback test (offline)"); @@ -3876,14 +3876,9 @@ } else if (i == BNXT_IRQ_TEST_IDX) { strcpy(str, "Interrupt_test (offline)"); } else { - strlcpy(str, fw_str, ETH_GSTRING_LEN); - strncat(str, " test", ETH_GSTRING_LEN - strlen(str)); - if (test_info->offline_mask & (1 << i)) - strncat(str, " (offline)", - ETH_GSTRING_LEN - strlen(str)); - else - strncat(str, " (online)", - ETH_GSTRING_LEN - strlen(str)); + snprintf(str, ETH_GSTRING_LEN, "%s test (%s)", + fw_str, test_info->offline_mask & (1 << i) ? + "offline" : "online"); } } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h @@ -10099,14 +10099,7 @@ u8 unused_0; __le16 test_timeout; u8 unused_1[2]; - char test0_name[32]; - char test1_name[32]; - char test2_name[32]; - char test3_name[32]; - char test4_name[32]; - char test5_name[32]; - char test6_name[32]; - char test7_name[32]; + char test_name[8][32]; u8 eyescope_target_BER_support; #define SELFTEST_QLIST_RESP_EYESCOPE_TARGET_BER_SUPPORT_BER_1E8_SUPPORTED 0x0UL #define SELFTEST_QLIST_RESP_EYESCOPE_TARGET_BER_SUPPORT_BER_1E9_SUPPORTED 0x1UL --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.c +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.c @@ -476,7 +476,8 @@ memset(ctx->resp, 0, PAGE_SIZE); req_type = le16_to_cpu(ctx->req->req_type); - if (BNXT_NO_FW_ACCESS(bp) && req_type != HWRM_FUNC_RESET) { + if (BNXT_NO_FW_ACCESS(bp) && + (req_type != HWRM_FUNC_RESET && req_type != HWRM_VER_GET)) { netdev_dbg(bp->dev, "hwrm req_type 0x%x skipped, FW channel down\n", req_type); goto exit; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c @@ -317,9 +317,9 @@ if (!(bp->fw_cap & BNXT_FW_CAP_RX_ALL_PKT_TS) && (ptp->tstamp_filters & (PORT_MAC_CFG_REQ_FLAGS_ALL_RX_TS_CAPTURE_ENABLE | - PORT_MAC_CFG_REQ_FLAGS_PTP_RX_TS_CAPTURE_DISABLE))) { + PORT_MAC_CFG_REQ_FLAGS_ALL_RX_TS_CAPTURE_DISABLE))) { ptp->tstamp_filters &= ~(PORT_MAC_CFG_REQ_FLAGS_ALL_RX_TS_CAPTURE_ENABLE | - PORT_MAC_CFG_REQ_FLAGS_PTP_RX_TS_CAPTURE_DISABLE); + PORT_MAC_CFG_REQ_FLAGS_ALL_RX_TS_CAPTURE_DISABLE); netdev_warn(bp->dev, "Unsupported FW for all RX pkts timestamp filter\n"); } @@ -505,9 +505,13 @@ ptp->tstamp_filters = flags; if (netif_running(bp->dev)) { - rc = bnxt_close_nic(bp, false, false); - if (!rc) - rc = bnxt_open_nic(bp, false, false); + if (ptp->rx_filter == HWTSTAMP_FILTER_ALL) { + rc = bnxt_close_nic(bp, false, false); + if (!rc) + rc = bnxt_open_nic(bp, false, false); + } else { + bnxt_ptp_cfg_tstamp_filters(bp); + } if (!rc && !ptp->tstamp_filters) rc = -EIO; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c @@ -623,7 +623,7 @@ hw_resc->max_stat_ctxs -= le16_to_cpu(req->min_stat_ctx) * n; hw_resc->max_vnics -= le16_to_cpu(req->min_vnics) * n; if (bp->flags & BNXT_FLAG_CHIP_P5) - hw_resc->max_irqs -= vf_msix * n; + hw_resc->max_nqs -= vf_msix; rc = pf->active_vfs; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c @@ -177,10 +177,11 @@ } void bnxt_xdp_buff_init(struct bnxt *bp, struct bnxt_rx_ring_info *rxr, - u16 cons, u8 **data_ptr, unsigned int *len, + u16 cons, u8 *data_ptr, unsigned int len, struct xdp_buff *xdp) { struct bnxt_sw_rx_bd *rx_buf; + u32 buflen = PAGE_SIZE; struct pci_dev *pdev; dma_addr_t mapping; u32 offset; @@ -190,10 +191,10 @@ offset = bp->rx_offset; mapping = rx_buf->mapping - bp->rx_dma_offset; - dma_sync_single_for_cpu(&pdev->dev, mapping + offset, *len, bp->rx_dir); + dma_sync_single_for_cpu(&pdev->dev, mapping + offset, len, bp->rx_dir); - xdp_init_buff(xdp, BNXT_PAGE_MODE_BUF_SIZE + offset, &rxr->xdp_rxq); - xdp_prepare_buff(xdp, *data_ptr - offset, offset, *len, false); + xdp_init_buff(xdp, buflen, &rxr->xdp_rxq); + xdp_prepare_buff(xdp, data_ptr - offset, offset, len, false); } void bnxt_xdp_buff_frags_free(struct bnxt_rx_ring_info *rxr, @@ -218,7 +219,8 @@ * false - packet should be passed to the stack. */ bool bnxt_rx_xdp(struct bnxt *bp, struct bnxt_rx_ring_info *rxr, u16 cons, - struct xdp_buff xdp, struct page *page, unsigned int *len, u8 *event) + struct xdp_buff xdp, struct page *page, u8 **data_ptr, + unsigned int *len, u8 *event) { struct bpf_prog *xdp_prog = READ_ONCE(rxr->xdp_prog); struct bnxt_tx_ring_info *txr; @@ -251,8 +253,10 @@ *event &= ~BNXT_RX_EVENT; *len = xdp.data_end - xdp.data; - if (orig_data != xdp.data) + if (orig_data != xdp.data) { offset = xdp.data - xdp.data_hard_start; + *data_ptr = xdp.data_hard_start + offset; + } switch (act) { case XDP_PASS: --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.h +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.h @@ -18,8 +18,8 @@ struct xdp_buff *xdp); void bnxt_tx_int_xdp(struct bnxt *bp, struct bnxt_napi *bnapi, int nr_pkts); bool bnxt_rx_xdp(struct bnxt *bp, struct bnxt_rx_ring_info *rxr, u16 cons, - struct xdp_buff xdp, struct page *page, unsigned int *len, - u8 *event); + struct xdp_buff xdp, struct page *page, u8 **data_ptr, + unsigned int *len, u8 *event); int bnxt_xdp(struct net_device *dev, struct netdev_bpf *xdp); int bnxt_xdp_xmit(struct net_device *dev, int num_frames, struct xdp_frame **frames, u32 flags); @@ -27,7 +27,7 @@ bool bnxt_xdp_attached(struct bnxt *bp, struct bnxt_rx_ring_info *rxr); void bnxt_xdp_buff_init(struct bnxt *bp, struct bnxt_rx_ring_info *rxr, - u16 cons, u8 **data_ptr, unsigned int *len, + u16 cons, u8 *data_ptr, unsigned int len, struct xdp_buff *xdp); void bnxt_xdp_buff_frags_free(struct bnxt_rx_ring_info *rxr, struct xdp_buff *xdp); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -76,7 +76,7 @@ if (IS_ENABLED(CONFIG_MIPS) && IS_ENABLED(CONFIG_CPU_BIG_ENDIAN)) __raw_writel(value, offset); else - writel_relaxed(value, offset); + writel(value, offset); } static inline u32 bcmgenet_readl(void __iomem *offset) @@ -84,7 +84,7 @@ if (IS_ENABLED(CONFIG_MIPS) && IS_ENABLED(CONFIG_CPU_BIG_ENDIAN)) return __raw_readl(offset); else - return readl_relaxed(offset); + return readl(offset); } static inline void dmadesc_set_length_status(struct bcmgenet_priv *priv, @@ -2311,6 +2311,14 @@ __func__, p_index, ring->c_index, ring->read_ptr, dma_length_status); + if (unlikely(len > RX_BUF_LENGTH)) { + netif_err(priv, rx_status, dev, "oversized packet\n"); + dev->stats.rx_length_errors++; + dev->stats.rx_errors++; + dev_kfree_skb_any(skb); + goto next; + } + if (unlikely(!(dma_flag & DMA_EOP) || !(dma_flag & DMA_SOP))) { netif_err(priv, rx_status, dev, "dropping fragmented packet!\n"); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/genet/bcmmii.c +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/genet/bcmmii.c @@ -169,15 +169,6 @@ static void bcmgenet_moca_phy_setup(struct bcmgenet_priv *priv) { - u32 reg; - - if (!GENET_IS_V5(priv)) { - /* Speed settings are set in bcmgenet_mii_setup() */ - reg = bcmgenet_sys_readl(priv, SYS_PORT_CTRL); - reg |= LED_ACT_SOURCE_MAC; - bcmgenet_sys_writel(priv, reg, SYS_PORT_CTRL); - } - if (priv->hw_params->flags & GENET_HAS_MOCA_LINK_DET) fixed_phy_set_link_update(priv->dev->phydev, bcmgenet_fixed_phy_link_update); @@ -210,6 +201,8 @@ if (!phy_name) { phy_name = "MoCA"; + if (!GENET_IS_V5(priv)) + port_ctrl |= LED_ACT_SOURCE_MAC; bcmgenet_moca_phy_setup(priv); } break; @@ -393,6 +386,9 @@ if (priv->internal_phy && !GENET_IS_V5(priv)) dev->phydev->irq = PHY_MAC_INTERRUPT; + /* Indicate that the MAC is responsible for PHY PM */ + dev->phydev->mac_managed_pm = true; + return 0; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/broadcom/tg3.c +++ linux-gcp-5.19.0/drivers/net/ethernet/broadcom/tg3.c @@ -11174,7 +11174,7 @@ rtnl_lock(); tg3_full_lock(tp, 0); - if (!netif_running(tp->dev)) { + if (tp->pcierr_recovery || !netif_running(tp->dev)) { tg3_flag_clear(tp, RESET_TASK_PENDING); tg3_full_unlock(tp); rtnl_unlock(); @@ -18076,16 +18076,20 @@ struct net_device *dev = pci_get_drvdata(pdev); struct tg3 *tp = netdev_priv(dev); + tg3_reset_task_cancel(tp); + rtnl_lock(); + netif_device_detach(dev); if (netif_running(dev)) dev_close(dev); - if (system_state == SYSTEM_POWER_OFF) - tg3_power_down(tp); + tg3_power_down(tp); rtnl_unlock(); + + pci_disable_device(pdev); } /** @@ -18105,6 +18109,9 @@ netdev_info(netdev, "PCI I/O error detected\n"); + /* Want to make sure that the reset task doesn't run */ + tg3_reset_task_cancel(tp); + rtnl_lock(); /* Could be second call or maybe we don't have netdev yet */ @@ -18121,9 +18128,6 @@ tg3_timer_stop(tp); - /* Want to make sure that the reset task doesn't run */ - tg3_reset_task_cancel(tp); - netif_device_detach(netdev); /* Clean up software state, even if MMIO is blocked */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/cadence/macb_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/cadence/macb_main.c @@ -805,6 +805,7 @@ bp->phylink_config.dev = &dev->dev; bp->phylink_config.type = PHYLINK_NETDEV; + bp->phylink_config.mac_managed_pm = true; if (bp->phy_interface == PHY_INTERFACE_MODE_SGMII) { bp->phylink_config.poll_fixed_state = true; @@ -2186,7 +2187,6 @@ bool cloned = skb_cloned(*skb) || skb_header_cloned(*skb) || skb_is_nonlinear(*skb); int padlen = ETH_ZLEN - (*skb)->len; - int headroom = skb_headroom(*skb); int tailroom = skb_tailroom(*skb); struct sk_buff *nskb; u32 fcs; @@ -2200,9 +2200,6 @@ /* FCS could be appeded to tailroom. */ if (tailroom >= ETH_FCS_LEN) goto add_fcs; - /* FCS could be appeded by moving data to headroom. */ - else if (!cloned && headroom + tailroom >= ETH_FCS_LEN) - padlen = 0; /* No room for FCS, need to reallocate skb. */ else padlen = ETH_FCS_LEN; @@ -2211,10 +2208,7 @@ padlen += ETH_FCS_LEN; } - if (!cloned && headroom + tailroom >= padlen) { - (*skb)->data = memmove((*skb)->head, (*skb)->data, (*skb)->len); - skb_set_tail_pointer(*skb, (*skb)->len); - } else { + if (cloned || tailroom < padlen) { nskb = skb_copy_expand(*skb, 0, padlen, GFP_ATOMIC); if (!nskb) return -ENOMEM; @@ -5092,6 +5086,7 @@ if (!(bp->wol & MACB_WOL_ENABLED)) { rtnl_lock(); phylink_stop(bp->phylink); + phy_exit(bp->sgmii_phy); rtnl_unlock(); spin_lock_irqsave(&bp->lock, flags); macb_reset_hw(bp); @@ -5181,6 +5176,9 @@ macb_set_rx_mode(netdev); macb_restore_features(bp); rtnl_lock(); + if (!device_may_wakeup(&bp->dev->dev)) + phy_init(bp->sgmii_phy); + phylink_start(bp->phylink); rtnl_unlock(); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/cavium/liquidio/lio_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/cavium/liquidio/lio_main.c @@ -1799,13 +1799,10 @@ ifstate_set(lio, LIO_IFSTATE_RUNNING); - if (OCTEON_CN23XX_PF(oct)) { - if (!oct->msix_on) - if (setup_tx_poll_fn(netdev)) - return -1; - } else { - if (setup_tx_poll_fn(netdev)) - return -1; + if (!OCTEON_CN23XX_PF(oct) || !oct->msix_on) { + ret = setup_tx_poll_fn(netdev); + if (ret) + goto err_poll; } netif_tx_start_all_queues(netdev); @@ -1818,7 +1815,7 @@ /* tell Octeon to start forwarding packets to host */ ret = send_rx_ctrl_cmd(lio, 1); if (ret) - return ret; + goto err_rx_ctrl; /* start periodical statistics fetch */ INIT_DELAYED_WORK(&lio->stats_wk.work, lio_fetch_stats); @@ -1829,6 +1826,27 @@ dev_info(&oct->pci_dev->dev, "%s interface is opened\n", netdev->name); + return 0; + +err_rx_ctrl: + if (!OCTEON_CN23XX_PF(oct) || !oct->msix_on) + cleanup_tx_poll_fn(netdev); +err_poll: + if (lio->ptp_clock) { + ptp_clock_unregister(lio->ptp_clock); + lio->ptp_clock = NULL; + } + + if (oct->props[lio->ifidx].napi_enabled == 1) { + list_for_each_entry_safe(napi, n, &netdev->napi_list, dev_list) + napi_disable(napi); + + oct->props[lio->ifidx].napi_enabled = 0; + + if (OCTEON_CN23XX_PF(oct)) + oct->droq[0]->ops.poll_mode = 0; + } + return ret; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/cavium/thunder/nicvf_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/cavium/thunder/nicvf_main.c @@ -2240,7 +2240,7 @@ err = register_netdev(netdev); if (err) { dev_err(dev, "Failed to register netdevice\n"); - goto err_unregister_interrupts; + goto err_destroy_workqueue; } nic->msg_enable = debug; @@ -2249,6 +2249,8 @@ return 0; +err_destroy_workqueue: + destroy_workqueue(nic->nicvf_rx_mode_wq); err_unregister_interrupts: nicvf_unregister_interrupts(nic); err_free_netdev: --- linux-gcp-5.19.0.orig/drivers/net/ethernet/cavium/thunder/thunder_bgx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/cavium/thunder/thunder_bgx.c @@ -1436,8 +1436,10 @@ return AE_OK; } - if (strncmp(string.pointer, bgx_sel, 4)) + if (strncmp(string.pointer, bgx_sel, 4)) { + kfree(string.pointer); return AE_OK; + } acpi_walk_namespace(ACPI_TYPE_DEVICE, handle, 1, bgx_acpi_register_phy, NULL, bgx, NULL); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c @@ -1302,6 +1302,7 @@ if (ret < 0) { CH_ERR(adap, "failed to bind qsets, err %d\n", ret); t3_intr_disable(adap); + quiesce_rx(adap); free_irq_resources(adap); err = ret; goto out; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c +++ linux-gcp-5.19.0/drivers/net/ethernet/chelsio/cxgb4/cudbg_lib.c @@ -14,6 +14,7 @@ #include "cudbg_entity.h" #include "cudbg_lib.h" #include "cudbg_zlib.h" +#include "cxgb4_tc_mqprio.h" static const u32 t6_tp_pio_array[][IREG_NUM_ELEM] = { {0x7e40, 0x7e44, 0x020, 28}, /* t6_tp_pio_regs_20_to_3b */ @@ -3458,7 +3459,7 @@ for (i = 0; i < utxq->ntxq; i++) QDESC_GET_TXQ(&utxq->uldtxq[i].q, cudbg_uld_txq_to_qtype(j), - out_unlock); + out_unlock_uld); } } @@ -3475,7 +3476,7 @@ for (i = 0; i < urxq->nrxq; i++) QDESC_GET_RXQ(&urxq->uldrxq[i].rspq, cudbg_uld_rxq_to_qtype(j), - out_unlock); + out_unlock_uld); } /* ULD FLQ */ @@ -3487,7 +3488,7 @@ for (i = 0; i < urxq->nrxq; i++) QDESC_GET_FLQ(&urxq->uldrxq[i].fl, cudbg_uld_flq_to_qtype(j), - out_unlock); + out_unlock_uld); } /* ULD CIQ */ @@ -3500,29 +3501,34 @@ for (i = 0; i < urxq->nciq; i++) QDESC_GET_RXQ(&urxq->uldrxq[base + i].rspq, cudbg_uld_ciq_to_qtype(j), - out_unlock); + out_unlock_uld); } } + mutex_unlock(&uld_mutex); + + if (!padap->tc_mqprio) + goto out; + mutex_lock(&padap->tc_mqprio->mqprio_mutex); /* ETHOFLD TXQ */ if (s->eohw_txq) for (i = 0; i < s->eoqsets; i++) QDESC_GET_TXQ(&s->eohw_txq[i].q, - CUDBG_QTYPE_ETHOFLD_TXQ, out); + CUDBG_QTYPE_ETHOFLD_TXQ, out_unlock_mqprio); /* ETHOFLD RXQ and FLQ */ if (s->eohw_rxq) { for (i = 0; i < s->eoqsets; i++) QDESC_GET_RXQ(&s->eohw_rxq[i].rspq, - CUDBG_QTYPE_ETHOFLD_RXQ, out); + CUDBG_QTYPE_ETHOFLD_RXQ, out_unlock_mqprio); for (i = 0; i < s->eoqsets; i++) QDESC_GET_FLQ(&s->eohw_rxq[i].fl, - CUDBG_QTYPE_ETHOFLD_FLQ, out); + CUDBG_QTYPE_ETHOFLD_FLQ, out_unlock_mqprio); } -out_unlock: - mutex_unlock(&uld_mutex); +out_unlock_mqprio: + mutex_unlock(&padap->tc_mqprio->mqprio_mutex); out: qdesc_info->qdesc_entry_size = sizeof(*qdesc_entry); @@ -3559,6 +3565,10 @@ #undef QDESC_GET return rc; + +out_unlock_uld: + mutex_unlock(&uld_mutex); + goto out; } int cudbg_collect_flash(struct cudbg_init *pdbg_init, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/chelsio/cxgb4/t4_msg.h +++ linux-gcp-5.19.0/drivers/net/ethernet/chelsio/cxgb4/t4_msg.h @@ -497,7 +497,7 @@ __be32 opt2; __be64 opt0; __be32 iss; - __be32 rsvd[3]; + __be32 rsvd; }; struct cpl_act_open_req { --- linux-gcp-5.19.0.orig/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c @@ -858,7 +858,7 @@ */ err = t4vf_update_port_info(pi); if (err < 0) - return err; + goto err_unwind; /* * Note that this interface is up and start everything up ... --- linux-gcp-5.19.0.orig/drivers/net/ethernet/cortina/gemini.c +++ linux-gcp-5.19.0/drivers/net/ethernet/cortina/gemini.c @@ -1919,7 +1919,7 @@ /* Racing with RX NAPI */ do { - start = u64_stats_fetch_begin(&port->rx_stats_syncp); + start = u64_stats_fetch_begin_irq(&port->rx_stats_syncp); stats->rx_packets = port->stats.rx_packets; stats->rx_bytes = port->stats.rx_bytes; @@ -1931,11 +1931,11 @@ stats->rx_crc_errors = port->stats.rx_crc_errors; stats->rx_frame_errors = port->stats.rx_frame_errors; - } while (u64_stats_fetch_retry(&port->rx_stats_syncp, start)); + } while (u64_stats_fetch_retry_irq(&port->rx_stats_syncp, start)); /* Racing with MIB and TX completion interrupts */ do { - start = u64_stats_fetch_begin(&port->ir_stats_syncp); + start = u64_stats_fetch_begin_irq(&port->ir_stats_syncp); stats->tx_errors = port->stats.tx_errors; stats->tx_packets = port->stats.tx_packets; @@ -1945,15 +1945,15 @@ stats->rx_missed_errors = port->stats.rx_missed_errors; stats->rx_fifo_errors = port->stats.rx_fifo_errors; - } while (u64_stats_fetch_retry(&port->ir_stats_syncp, start)); + } while (u64_stats_fetch_retry_irq(&port->ir_stats_syncp, start)); /* Racing with hard_start_xmit */ do { - start = u64_stats_fetch_begin(&port->tx_stats_syncp); + start = u64_stats_fetch_begin_irq(&port->tx_stats_syncp); stats->tx_dropped = port->stats.tx_dropped; - } while (u64_stats_fetch_retry(&port->tx_stats_syncp, start)); + } while (u64_stats_fetch_retry_irq(&port->tx_stats_syncp, start)); stats->rx_dropped += stats->rx_missed_errors; } @@ -2031,18 +2031,18 @@ /* Racing with MIB interrupt */ do { p = values; - start = u64_stats_fetch_begin(&port->ir_stats_syncp); + start = u64_stats_fetch_begin_irq(&port->ir_stats_syncp); for (i = 0; i < RX_STATS_NUM; i++) *p++ = port->hw_stats[i]; - } while (u64_stats_fetch_retry(&port->ir_stats_syncp, start)); + } while (u64_stats_fetch_retry_irq(&port->ir_stats_syncp, start)); values = p; /* Racing with RX NAPI */ do { p = values; - start = u64_stats_fetch_begin(&port->rx_stats_syncp); + start = u64_stats_fetch_begin_irq(&port->rx_stats_syncp); for (i = 0; i < RX_STATUS_NUM; i++) *p++ = port->rx_stats[i]; @@ -2050,13 +2050,13 @@ *p++ = port->rx_csum_stats[i]; *p++ = port->rx_napi_exits; - } while (u64_stats_fetch_retry(&port->rx_stats_syncp, start)); + } while (u64_stats_fetch_retry_irq(&port->rx_stats_syncp, start)); values = p; /* Racing with TX start_xmit */ do { p = values; - start = u64_stats_fetch_begin(&port->tx_stats_syncp); + start = u64_stats_fetch_begin_irq(&port->tx_stats_syncp); for (i = 0; i < TX_MAX_FRAGS; i++) { *values++ = port->tx_frag_stats[i]; @@ -2065,7 +2065,7 @@ *values++ = port->tx_frags_linearized; *values++ = port->tx_hw_csummed; - } while (u64_stats_fetch_retry(&port->tx_stats_syncp, start)); + } while (u64_stats_fetch_retry_irq(&port->tx_stats_syncp, start)); } static int gmac_get_ksettings(struct net_device *netdev, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/davicom/dm9051.c +++ linux-gcp-5.19.0/drivers/net/ethernet/davicom/dm9051.c @@ -798,8 +798,10 @@ } ret = dm9051_stop_mrcmd(db); - if (ret) + if (ret) { + dev_kfree_skb(skb); return ret; + } skb->protocol = eth_type_trans(skb, db->ndev); if (db->ndev->features & NETIF_F_RXCSUM) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/dnet.c +++ linux-gcp-5.19.0/drivers/net/ethernet/dnet.c @@ -550,11 +550,11 @@ skb_tx_timestamp(skb); + spin_unlock_irqrestore(&bp->lock, flags); + /* free the buffer */ dev_kfree_skb(skb); - spin_unlock_irqrestore(&bp->lock, flags); - return NETDEV_TX_OK; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/engleder/tsnep_hw.h +++ linux-gcp-5.19.0/drivers/net/ethernet/engleder/tsnep_hw.h @@ -92,8 +92,7 @@ /* tsnep register */ #define TSNEP_INFO 0x0100 -#define TSNEP_INFO_RX_ASSIGN 0x00010000 -#define TSNEP_INFO_TX_TIME 0x00020000 +#define TSNEP_INFO_TX_TIME 0x00010000 #define TSNEP_CONTROL 0x0108 #define TSNEP_CONTROL_TX_RESET 0x00000001 #define TSNEP_CONTROL_TX_ENABLE 0x00000002 --- linux-gcp-5.19.0.orig/drivers/net/ethernet/engleder/tsnep_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/engleder/tsnep_main.c @@ -340,14 +340,14 @@ return 0; } -static void tsnep_tx_unmap(struct tsnep_tx *tx, int count) +static void tsnep_tx_unmap(struct tsnep_tx *tx, int index, int count) { struct device *dmadev = tx->adapter->dmadev; struct tsnep_tx_entry *entry; int i; for (i = 0; i < count; i++) { - entry = &tx->entry[(tx->read + i) % TSNEP_RING_SIZE]; + entry = &tx->entry[(index + i) % TSNEP_RING_SIZE]; if (entry->len) { if (i == 0) @@ -395,7 +395,7 @@ retval = tsnep_tx_map(skb, tx, count); if (retval != 0) { - tsnep_tx_unmap(tx, count); + tsnep_tx_unmap(tx, tx->write, count); dev_kfree_skb_any(entry->skb); entry->skb = NULL; @@ -464,7 +464,7 @@ if (skb_shinfo(entry->skb)->nr_frags > 0) count += skb_shinfo(entry->skb)->nr_frags; - tsnep_tx_unmap(tx, count); + tsnep_tx_unmap(tx, tx->read, count); if ((skb_shinfo(entry->skb)->tx_flags & SKBTX_IN_PROGRESS) && (__le32_to_cpu(entry->desc_wb->properties) & @@ -504,6 +504,27 @@ return (budget != 0); } +static bool tsnep_tx_pending(struct tsnep_tx *tx) +{ + unsigned long flags; + struct tsnep_tx_entry *entry; + bool pending = false; + + spin_lock_irqsave(&tx->lock, flags); + + if (tx->read != tx->write) { + entry = &tx->entry[tx->read]; + if ((__le32_to_cpu(entry->desc_wb->properties) & + TSNEP_TX_DESC_OWNER_MASK) == + (entry->properties & TSNEP_TX_DESC_OWNER_MASK)) + pending = true; + } + + spin_unlock_irqrestore(&tx->lock, flags); + + return pending; +} + static int tsnep_tx_open(struct tsnep_adapter *adapter, void __iomem *addr, struct tsnep_tx *tx) { @@ -751,6 +772,19 @@ return done; } +static bool tsnep_rx_pending(struct tsnep_rx *rx) +{ + struct tsnep_rx_entry *entry; + + entry = &rx->entry[rx->read]; + if ((__le32_to_cpu(entry->desc_wb->properties) & + TSNEP_DESC_OWNER_COUNTER_MASK) == + (entry->properties & TSNEP_DESC_OWNER_COUNTER_MASK)) + return true; + + return false; +} + static int tsnep_rx_open(struct tsnep_adapter *adapter, void __iomem *addr, struct tsnep_rx *rx) { @@ -795,6 +829,17 @@ tsnep_rx_ring_cleanup(rx); } +static bool tsnep_pending(struct tsnep_queue *queue) +{ + if (queue->tx && tsnep_tx_pending(queue->tx)) + return true; + + if (queue->rx && tsnep_rx_pending(queue->rx)) + return true; + + return false; +} + static int tsnep_poll(struct napi_struct *napi, int budget) { struct tsnep_queue *queue = container_of(napi, struct tsnep_queue, @@ -815,9 +860,19 @@ if (!complete) return budget; - if (likely(napi_complete_done(napi, done))) + if (likely(napi_complete_done(napi, done))) { tsnep_enable_irq(queue->adapter, queue->irq_mask); + /* reschedule if work is already pending, prevent rotten packets + * which are transmitted or received after polling but before + * interrupt enable + */ + if (tsnep_pending(queue)) { + tsnep_disable_irq(queue->adapter, queue->irq_mask); + napi_schedule(napi); + } + } + return min(done, budget - 1); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/faraday/ftmac100.h +++ linux-gcp-5.19.0/drivers/net/ethernet/faraday/ftmac100.h @@ -122,9 +122,9 @@ * Transmit descriptor, aligned to 16 bytes */ struct ftmac100_txdes { - unsigned int txdes0; - unsigned int txdes1; - unsigned int txdes2; /* TXBUF_BADR */ + __le32 txdes0; + __le32 txdes1; + __le32 txdes2; /* TXBUF_BADR */ unsigned int txdes3; /* not used by HW */ } __attribute__ ((aligned(16))); @@ -143,9 +143,9 @@ * Receive descriptor, aligned to 16 bytes */ struct ftmac100_rxdes { - unsigned int rxdes0; - unsigned int rxdes1; - unsigned int rxdes2; /* RXBUF_BADR */ + __le32 rxdes0; + __le32 rxdes1; + __le32 rxdes2; /* RXBUF_BADR */ unsigned int rxdes3; /* not used by HW */ } __attribute__ ((aligned(16))); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c +++ linux-gcp-5.19.0/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c @@ -2370,6 +2370,9 @@ cleaned = qman_p_poll_dqrr(np->p, budget); + if (np->xdp_act & XDP_REDIRECT) + xdp_do_flush(); + if (cleaned < budget) { napi_complete_done(napi, cleaned); qman_p_irqsource_add(np->p, QM_PIRQ_DQRI); @@ -2377,9 +2380,6 @@ qman_p_irqsource_add(np->p, QM_PIRQ_DQRI); } - if (np->xdp_act & XDP_REDIRECT) - xdp_do_flush(); - return cleaned; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +++ linux-gcp-5.19.0/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c @@ -1660,8 +1660,8 @@ buf_array[i] = addr; /* tracing point */ - trace_dpaa2_eth_buf_seed(priv->net_dev, - page, DPAA2_ETH_RX_BUF_RAW_SIZE, + trace_dpaa2_eth_buf_seed(priv->net_dev, page_address(page), + DPAA2_ETH_RX_BUF_RAW_SIZE, addr, priv->rx_buf_size, bpid); } @@ -1868,10 +1868,15 @@ if (rx_cleaned >= budget || txconf_cleaned >= DPAA2_ETH_TXCONF_PER_NAPI) { work_done = budget; + if (ch->xdp.res & XDP_REDIRECT) + xdp_do_flush(); goto out; } } while (store_cleaned); + if (ch->xdp.res & XDP_REDIRECT) + xdp_do_flush(); + /* Update NET DIM with the values for this CDAN */ dpaa2_io_update_net_dim(ch->dpio, ch->stats.frames_per_cdan, ch->stats.bytes_per_cdan); @@ -1902,9 +1907,7 @@ txc_fq->dq_bytes = 0; } - if (ch->xdp.res & XDP_REDIRECT) - xdp_do_flush_map(); - else if (rx_cleaned && ch->xdp.res & XDP_TX) + if (rx_cleaned && ch->xdp.res & XDP_TX) dpaa2_eth_xdp_tx_flush(priv, ch, &priv->fq[flowid]); return work_done; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch-flower.c +++ linux-gcp-5.19.0/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch-flower.c @@ -132,6 +132,7 @@ DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, acl_entry_cfg->key_iova))) { dev_err(dev, "DMA mapping failed\n"); + kfree(cmd_buff); return -EFAULT; } @@ -142,6 +143,7 @@ DMA_TO_DEVICE); if (err) { dev_err(dev, "dpsw_acl_add_entry() failed %d\n", err); + kfree(cmd_buff); return err; } @@ -172,6 +174,7 @@ DMA_TO_DEVICE); if (unlikely(dma_mapping_error(dev, acl_entry_cfg->key_iova))) { dev_err(dev, "DMA mapping failed\n"); + kfree(cmd_buff); return -EFAULT; } @@ -182,6 +185,7 @@ DMA_TO_DEVICE); if (err) { dev_err(dev, "dpsw_acl_remove_entry() failed %d\n", err); + kfree(cmd_buff); return err; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/freescale/enetc/Makefile +++ linux-gcp-5.19.0/drivers/net/ethernet/freescale/enetc/Makefile @@ -9,7 +9,6 @@ obj-$(CONFIG_FSL_ENETC_VF) += fsl-enetc-vf.o fsl-enetc-vf-y := enetc_vf.o $(common-objs) -fsl-enetc-vf-$(CONFIG_FSL_ENETC_QOS) += enetc_qos.o obj-$(CONFIG_FSL_ENETC_IERB) += fsl-enetc-ierb.o fsl-enetc-ierb-y := enetc_ierb.o --- linux-gcp-5.19.0.orig/drivers/net/ethernet/freescale/enetc/enetc.c +++ linux-gcp-5.19.0/drivers/net/ethernet/freescale/enetc/enetc.c @@ -1489,23 +1489,6 @@ rx_ring->stats.xdp_drops++; } -static void enetc_xdp_free(struct enetc_bdr *rx_ring, int rx_ring_first, - int rx_ring_last) -{ - while (rx_ring_first != rx_ring_last) { - struct enetc_rx_swbd *rx_swbd = &rx_ring->rx_swbd[rx_ring_first]; - - if (rx_swbd->page) { - dma_unmap_page(rx_ring->dev, rx_swbd->dma, PAGE_SIZE, - rx_swbd->dir); - __free_page(rx_swbd->page); - rx_swbd->page = NULL; - } - enetc_bdr_idx_inc(rx_ring, &rx_ring_first); - } - rx_ring->stats.xdp_redirect_failures++; -} - static int enetc_clean_rx_ring_xdp(struct enetc_bdr *rx_ring, struct napi_struct *napi, int work_limit, struct bpf_prog *prog) @@ -1527,8 +1510,8 @@ int orig_i, orig_cleaned_cnt; struct xdp_buff xdp_buff; struct sk_buff *skb; - int tmp_orig_i, err; u32 bd_status; + int err; rxbd = enetc_rxbd(rx_ring, i); bd_status = le32_to_cpu(rxbd->r.lstatus); @@ -1615,18 +1598,16 @@ break; } - tmp_orig_i = orig_i; - - while (orig_i != i) { - enetc_flip_rx_buff(rx_ring, - &rx_ring->rx_swbd[orig_i]); - enetc_bdr_idx_inc(rx_ring, &orig_i); - } - err = xdp_do_redirect(rx_ring->ndev, &xdp_buff, prog); if (unlikely(err)) { - enetc_xdp_free(rx_ring, tmp_orig_i, i); + enetc_xdp_drop(rx_ring, orig_i, i); + rx_ring->stats.xdp_redirect_failures++; } else { + while (orig_i != i) { + enetc_flip_rx_buff(rx_ring, + &rx_ring->rx_swbd[orig_i]); + enetc_bdr_idx_inc(rx_ring, &orig_i); + } xdp_redirect_frm_cnt++; rx_ring->stats.xdp_redirect++; } @@ -2058,7 +2039,7 @@ /* enable Tx ints by setting pkt thr to 1 */ enetc_txbdr_wr(hw, idx, ENETC_TBICR0, ENETC_TBICR0_ICEN | 0x1); - tbmr = ENETC_TBMR_EN; + tbmr = ENETC_TBMR_EN | ENETC_TBMR_SET_PRIO(tx_ring->prio); if (tx_ring->ndev->features & NETIF_F_HW_VLAN_CTAG_TX) tbmr |= ENETC_TBMR_VIH; @@ -2090,7 +2071,12 @@ else enetc_rxbdr_wr(hw, idx, ENETC_RBBSR, ENETC_RXB_DMA_SIZE); + /* Also prepare the consumer index in case page allocation never + * succeeds. In that case, hardware will never advance producer index + * to match consumer index, and will drop all frames. + */ enetc_rxbdr_wr(hw, idx, ENETC_RBPIR, 0); + enetc_rxbdr_wr(hw, idx, ENETC_RBCIR, 1); /* enable Rx ints by setting pkt thr to 1 */ enetc_rxbdr_wr(hw, idx, ENETC_RBICR0, ENETC_RBICR0_ICEN | 0x1); @@ -2116,13 +2102,14 @@ static void enetc_setup_bdrs(struct enetc_ndev_priv *priv) { + struct enetc_hw *hw = &priv->si->hw; int i; for (i = 0; i < priv->num_tx_rings; i++) - enetc_setup_txbdr(&priv->si->hw, priv->tx_ring[i]); + enetc_setup_txbdr(hw, priv->tx_ring[i]); for (i = 0; i < priv->num_rx_rings; i++) - enetc_setup_rxbdr(&priv->si->hw, priv->rx_ring[i]); + enetc_setup_rxbdr(hw, priv->rx_ring[i]); } static void enetc_clear_rxbdr(struct enetc_hw *hw, struct enetc_bdr *rx_ring) @@ -2155,13 +2142,14 @@ static void enetc_clear_bdrs(struct enetc_ndev_priv *priv) { + struct enetc_hw *hw = &priv->si->hw; int i; for (i = 0; i < priv->num_tx_rings; i++) - enetc_clear_txbdr(&priv->si->hw, priv->tx_ring[i]); + enetc_clear_txbdr(hw, priv->tx_ring[i]); for (i = 0; i < priv->num_rx_rings; i++) - enetc_clear_rxbdr(&priv->si->hw, priv->rx_ring[i]); + enetc_clear_rxbdr(hw, priv->rx_ring[i]); udelay(1); } @@ -2169,13 +2157,13 @@ static int enetc_setup_irqs(struct enetc_ndev_priv *priv) { struct pci_dev *pdev = priv->si->pdev; + struct enetc_hw *hw = &priv->si->hw; int i, j, err; for (i = 0; i < priv->bdr_int_num; i++) { int irq = pci_irq_vector(pdev, ENETC_BDR_INT_BASE_IDX + i); struct enetc_int_vector *v = priv->int_vector[i]; int entry = ENETC_BDR_INT_BASE_IDX + i; - struct enetc_hw *hw = &priv->si->hw; snprintf(v->name, sizeof(v->name), "%s-rxtx%d", priv->ndev->name, i); @@ -2263,13 +2251,14 @@ static void enetc_clear_interrupts(struct enetc_ndev_priv *priv) { + struct enetc_hw *hw = &priv->si->hw; int i; for (i = 0; i < priv->num_tx_rings; i++) - enetc_txbdr_wr(&priv->si->hw, i, ENETC_TBIER, 0); + enetc_txbdr_wr(hw, i, ENETC_TBIER, 0); for (i = 0; i < priv->num_rx_rings; i++) - enetc_rxbdr_wr(&priv->si->hw, i, ENETC_RBIER, 0); + enetc_rxbdr_wr(hw, i, ENETC_RBIER, 0); } static int enetc_phylink_connect(struct net_device *ndev) @@ -2301,14 +2290,14 @@ priv = container_of(work, struct enetc_ndev_priv, tx_onestep_tstamp); - netif_tx_lock(priv->ndev); + netif_tx_lock_bh(priv->ndev); clear_bit_unlock(ENETC_TX_ONESTEP_TSTAMP_IN_PROGRESS, &priv->flags); skb = skb_dequeue(&priv->tx_skbs); if (skb) enetc_start_xmit(skb, priv->ndev); - netif_tx_unlock(priv->ndev); + netif_tx_unlock_bh(priv->ndev); } static void enetc_tx_onestep_tstamp_init(struct enetc_ndev_priv *priv) @@ -2432,10 +2421,11 @@ return 0; } -static int enetc_setup_tc_mqprio(struct net_device *ndev, void *type_data) +int enetc_setup_tc_mqprio(struct net_device *ndev, void *type_data) { struct enetc_ndev_priv *priv = netdev_priv(ndev); struct tc_mqprio_qopt *mqprio = type_data; + struct enetc_hw *hw = &priv->si->hw; struct enetc_bdr *tx_ring; int num_stack_tx_queues; u8 num_tc; @@ -2452,7 +2442,8 @@ /* Reset all ring priorities to 0 */ for (i = 0; i < priv->num_tx_rings; i++) { tx_ring = priv->tx_ring[i]; - enetc_set_bdr_prio(&priv->si->hw, tx_ring->index, 0); + tx_ring->prio = 0; + enetc_set_bdr_prio(hw, tx_ring->index, tx_ring->prio); } return 0; @@ -2471,7 +2462,8 @@ */ for (i = 0; i < num_tc; i++) { tx_ring = priv->tx_ring[i]; - enetc_set_bdr_prio(&priv->si->hw, tx_ring->index, i); + tx_ring->prio = i; + enetc_set_bdr_prio(hw, tx_ring->index, tx_ring->prio); } /* Reset the number of netdev queues based on the TC count */ @@ -2486,25 +2478,6 @@ return 0; } -int enetc_setup_tc(struct net_device *ndev, enum tc_setup_type type, - void *type_data) -{ - switch (type) { - case TC_SETUP_QDISC_MQPRIO: - return enetc_setup_tc_mqprio(ndev, type_data); - case TC_SETUP_QDISC_TAPRIO: - return enetc_setup_tc_taprio(ndev, type_data); - case TC_SETUP_QDISC_CBS: - return enetc_setup_tc_cbs(ndev, type_data); - case TC_SETUP_QDISC_ETF: - return enetc_setup_tc_txtime(ndev, type_data); - case TC_SETUP_BLOCK: - return enetc_setup_tc_psfp(ndev, type_data); - default: - return -EOPNOTSUPP; - } -} - static int enetc_setup_xdp_prog(struct net_device *dev, struct bpf_prog *prog, struct netlink_ext_ack *extack) { @@ -2600,52 +2573,29 @@ return 0; } -static int enetc_set_psfp(struct net_device *ndev, int en) -{ - struct enetc_ndev_priv *priv = netdev_priv(ndev); - int err; - - if (en) { - err = enetc_psfp_enable(priv); - if (err) - return err; - - priv->active_offloads |= ENETC_F_QCI; - return 0; - } - - err = enetc_psfp_disable(priv); - if (err) - return err; - - priv->active_offloads &= ~ENETC_F_QCI; - - return 0; -} - static void enetc_enable_rxvlan(struct net_device *ndev, bool en) { struct enetc_ndev_priv *priv = netdev_priv(ndev); + struct enetc_hw *hw = &priv->si->hw; int i; for (i = 0; i < priv->num_rx_rings; i++) - enetc_bdr_enable_rxvlan(&priv->si->hw, i, en); + enetc_bdr_enable_rxvlan(hw, i, en); } static void enetc_enable_txvlan(struct net_device *ndev, bool en) { struct enetc_ndev_priv *priv = netdev_priv(ndev); + struct enetc_hw *hw = &priv->si->hw; int i; for (i = 0; i < priv->num_tx_rings; i++) - enetc_bdr_enable_txvlan(&priv->si->hw, i, en); + enetc_bdr_enable_txvlan(hw, i, en); } -int enetc_set_features(struct net_device *ndev, - netdev_features_t features) +void enetc_set_features(struct net_device *ndev, netdev_features_t features) { netdev_features_t changed = ndev->features ^ features; - int err = 0; if (changed & NETIF_F_RXHASH) enetc_set_rss(ndev, !!(features & NETIF_F_RXHASH)); @@ -2657,11 +2607,6 @@ if (changed & NETIF_F_HW_VLAN_CTAG_TX) enetc_enable_txvlan(ndev, !!(features & NETIF_F_HW_VLAN_CTAG_TX)); - - if (changed & NETIF_F_HW_TC) - err = enetc_set_psfp(ndev, !!(features & NETIF_F_HW_TC)); - - return err; } #ifdef CONFIG_FSL_ENETC_PTP_CLOCK --- linux-gcp-5.19.0.orig/drivers/net/ethernet/freescale/enetc/enetc.h +++ linux-gcp-5.19.0/drivers/net/ethernet/freescale/enetc/enetc.h @@ -95,6 +95,7 @@ void __iomem *rcir; }; u16 index; + u16 prio; int bd_count; /* # of BDs */ int next_to_use; int next_to_clean; @@ -393,11 +394,9 @@ void enetc_stop(struct net_device *ndev); netdev_tx_t enetc_xmit(struct sk_buff *skb, struct net_device *ndev); struct net_device_stats *enetc_get_stats(struct net_device *ndev); -int enetc_set_features(struct net_device *ndev, - netdev_features_t features); +void enetc_set_features(struct net_device *ndev, netdev_features_t features); int enetc_ioctl(struct net_device *ndev, struct ifreq *rq, int cmd); -int enetc_setup_tc(struct net_device *ndev, enum tc_setup_type type, - void *type_data); +int enetc_setup_tc_mqprio(struct net_device *ndev, void *type_data); int enetc_setup_bpf(struct net_device *dev, struct netdev_bpf *xdp); int enetc_xdp_xmit(struct net_device *ndev, int num_frames, struct xdp_frame **frames, u32 flags); @@ -465,22 +464,24 @@ int enetc_setup_tc_psfp(struct net_device *ndev, void *type_data); int enetc_psfp_init(struct enetc_ndev_priv *priv); int enetc_psfp_clean(struct enetc_ndev_priv *priv); +int enetc_set_psfp(struct net_device *ndev, bool en); static inline void enetc_get_max_cap(struct enetc_ndev_priv *priv) { + struct enetc_hw *hw = &priv->si->hw; u32 reg; - reg = enetc_port_rd(&priv->si->hw, ENETC_PSIDCAPR); + reg = enetc_port_rd(hw, ENETC_PSIDCAPR); priv->psfp_cap.max_streamid = reg & ENETC_PSIDCAPR_MSK; /* Port stream filter capability */ - reg = enetc_port_rd(&priv->si->hw, ENETC_PSFCAPR); + reg = enetc_port_rd(hw, ENETC_PSFCAPR); priv->psfp_cap.max_psfp_filter = reg & ENETC_PSFCAPR_MSK; /* Port stream gate capability */ - reg = enetc_port_rd(&priv->si->hw, ENETC_PSGCAPR); + reg = enetc_port_rd(hw, ENETC_PSGCAPR); priv->psfp_cap.max_psfp_gate = (reg & ENETC_PSGCAPR_SGIT_MSK); priv->psfp_cap.max_psfp_gatelist = (reg & ENETC_PSGCAPR_GCL_MSK) >> 16; /* Port flow meter capability */ - reg = enetc_port_rd(&priv->si->hw, ENETC_PFMCAPR); + reg = enetc_port_rd(hw, ENETC_PFMCAPR); priv->psfp_cap.max_psfp_meter = reg & ENETC_PFMCAPR_MSK; } @@ -540,4 +541,9 @@ { return 0; } + +static inline int enetc_set_psfp(struct net_device *ndev, bool en) +{ + return 0; +} #endif --- linux-gcp-5.19.0.orig/drivers/net/ethernet/freescale/enetc/enetc_pf.c +++ linux-gcp-5.19.0/drivers/net/ethernet/freescale/enetc/enetc_pf.c @@ -709,6 +709,13 @@ { netdev_features_t changed = ndev->features ^ features; struct enetc_ndev_priv *priv = netdev_priv(ndev); + int err; + + if (changed & NETIF_F_HW_TC) { + err = enetc_set_psfp(ndev, !!(features & NETIF_F_HW_TC)); + if (err) + return err; + } if (changed & NETIF_F_HW_VLAN_CTAG_FILTER) { struct enetc_pf *pf = enetc_si_priv(priv->si); @@ -722,7 +729,28 @@ if (changed & NETIF_F_LOOPBACK) enetc_set_loopback(ndev, !!(features & NETIF_F_LOOPBACK)); - return enetc_set_features(ndev, features); + enetc_set_features(ndev, features); + + return 0; +} + +static int enetc_pf_setup_tc(struct net_device *ndev, enum tc_setup_type type, + void *type_data) +{ + switch (type) { + case TC_SETUP_QDISC_MQPRIO: + return enetc_setup_tc_mqprio(ndev, type_data); + case TC_SETUP_QDISC_TAPRIO: + return enetc_setup_tc_taprio(ndev, type_data); + case TC_SETUP_QDISC_CBS: + return enetc_setup_tc_cbs(ndev, type_data); + case TC_SETUP_QDISC_ETF: + return enetc_setup_tc_txtime(ndev, type_data); + case TC_SETUP_BLOCK: + return enetc_setup_tc_psfp(ndev, type_data); + default: + return -EOPNOTSUPP; + } } static const struct net_device_ops enetc_ndev_ops = { @@ -739,7 +767,7 @@ .ndo_set_vf_spoofchk = enetc_pf_set_vf_spoofchk, .ndo_set_features = enetc_pf_set_features, .ndo_eth_ioctl = enetc_ioctl, - .ndo_setup_tc = enetc_setup_tc, + .ndo_setup_tc = enetc_pf_setup_tc, .ndo_bpf = enetc_setup_bpf, .ndo_xdp_xmit = enetc_xdp_xmit, }; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/freescale/enetc/enetc_qos.c +++ linux-gcp-5.19.0/drivers/net/ethernet/freescale/enetc/enetc_qos.c @@ -17,8 +17,9 @@ void enetc_sched_speed_set(struct enetc_ndev_priv *priv, int speed) { + struct enetc_hw *hw = &priv->si->hw; u32 old_speed = priv->speed; - u32 pspeed; + u32 pspeed, tmp; if (speed == old_speed) return; @@ -39,16 +40,15 @@ } priv->speed = speed; - enetc_port_wr(&priv->si->hw, ENETC_PMR, - (enetc_port_rd(&priv->si->hw, ENETC_PMR) - & (~ENETC_PMR_PSPEED_MASK)) - | pspeed); + tmp = enetc_port_rd(hw, ENETC_PMR); + enetc_port_wr(hw, ENETC_PMR, (tmp & ~ENETC_PMR_PSPEED_MASK) | pspeed); } static int enetc_setup_taprio(struct net_device *ndev, struct tc_taprio_qopt_offload *admin_conf) { struct enetc_ndev_priv *priv = netdev_priv(ndev); + struct enetc_hw *hw = &priv->si->hw; struct enetc_cbd cbd = {.cmd = 0}; struct tgs_gcl_conf *gcl_config; struct tgs_gcl_data *gcl_data; @@ -61,15 +61,13 @@ int err; int i; - if (admin_conf->num_entries > enetc_get_max_gcl_len(&priv->si->hw)) + if (admin_conf->num_entries > enetc_get_max_gcl_len(hw)) return -EINVAL; gcl_len = admin_conf->num_entries; - tge = enetc_rd(&priv->si->hw, ENETC_QBV_PTGCR_OFFSET); + tge = enetc_rd(hw, ENETC_QBV_PTGCR_OFFSET); if (!admin_conf->enable) { - enetc_wr(&priv->si->hw, - ENETC_QBV_PTGCR_OFFSET, - tge & (~ENETC_QBV_TGE)); + enetc_wr(hw, ENETC_QBV_PTGCR_OFFSET, tge & ~ENETC_QBV_TGE); priv->active_offloads &= ~ENETC_F_QBV; @@ -117,14 +115,11 @@ cbd.cls = BDCR_CMD_PORT_GCL; cbd.status_flags = 0; - enetc_wr(&priv->si->hw, ENETC_QBV_PTGCR_OFFSET, - tge | ENETC_QBV_TGE); + enetc_wr(hw, ENETC_QBV_PTGCR_OFFSET, tge | ENETC_QBV_TGE); err = enetc_send_cmd(priv->si, &cbd); if (err) - enetc_wr(&priv->si->hw, - ENETC_QBV_PTGCR_OFFSET, - tge & (~ENETC_QBV_TGE)); + enetc_wr(hw, ENETC_QBV_PTGCR_OFFSET, tge & ~ENETC_QBV_TGE); enetc_cbd_free_data_mem(priv->si, data_size, tmp, &dma); @@ -138,6 +133,8 @@ { struct tc_taprio_qopt_offload *taprio = type_data; struct enetc_ndev_priv *priv = netdev_priv(ndev); + struct enetc_hw *hw = &priv->si->hw; + struct enetc_bdr *tx_ring; int err; int i; @@ -146,18 +143,20 @@ if (priv->tx_ring[i]->tsd_enable) return -EBUSY; - for (i = 0; i < priv->num_tx_rings; i++) - enetc_set_bdr_prio(&priv->si->hw, - priv->tx_ring[i]->index, - taprio->enable ? i : 0); + for (i = 0; i < priv->num_tx_rings; i++) { + tx_ring = priv->tx_ring[i]; + tx_ring->prio = taprio->enable ? i : 0; + enetc_set_bdr_prio(hw, tx_ring->index, tx_ring->prio); + } err = enetc_setup_taprio(ndev, taprio); - - if (err) - for (i = 0; i < priv->num_tx_rings; i++) - enetc_set_bdr_prio(&priv->si->hw, - priv->tx_ring[i]->index, - taprio->enable ? 0 : i); + if (err) { + for (i = 0; i < priv->num_tx_rings; i++) { + tx_ring = priv->tx_ring[i]; + tx_ring->prio = taprio->enable ? 0 : i; + enetc_set_bdr_prio(hw, tx_ring->index, tx_ring->prio); + } + } return err; } @@ -178,7 +177,7 @@ struct tc_cbs_qopt_offload *cbs = type_data; u32 port_transmit_rate = priv->speed; u8 tc_nums = netdev_get_num_tc(ndev); - struct enetc_si *si = priv->si; + struct enetc_hw *hw = &priv->si->hw; u32 hi_credit_bit, hi_credit_reg; u32 max_interference_size; u32 port_frame_max_size; @@ -199,15 +198,15 @@ * lower than this TC have been disabled. */ if (tc == prio_top && - enetc_get_cbs_enable(&si->hw, prio_next)) { + enetc_get_cbs_enable(hw, prio_next)) { dev_err(&ndev->dev, "Disable TC%d before disable TC%d\n", prio_next, tc); return -EINVAL; } - enetc_port_wr(&si->hw, ENETC_PTCCBSR1(tc), 0); - enetc_port_wr(&si->hw, ENETC_PTCCBSR0(tc), 0); + enetc_port_wr(hw, ENETC_PTCCBSR1(tc), 0); + enetc_port_wr(hw, ENETC_PTCCBSR0(tc), 0); return 0; } @@ -224,13 +223,13 @@ * higher than this TC have been enabled. */ if (tc == prio_next) { - if (!enetc_get_cbs_enable(&si->hw, prio_top)) { + if (!enetc_get_cbs_enable(hw, prio_top)) { dev_err(&ndev->dev, "Enable TC%d first before enable TC%d\n", prio_top, prio_next); return -EINVAL; } - bw_sum += enetc_get_cbs_bw(&si->hw, prio_top); + bw_sum += enetc_get_cbs_bw(hw, prio_top); } if (bw_sum + bw >= 100) { @@ -239,7 +238,7 @@ return -EINVAL; } - enetc_port_rd(&si->hw, ENETC_PTCMSDUR(tc)); + enetc_port_rd(hw, ENETC_PTCMSDUR(tc)); /* For top prio TC, the max_interfrence_size is maxSizedFrame. * @@ -259,8 +258,8 @@ u32 m0, ma, r0, ra; m0 = port_frame_max_size * 8; - ma = enetc_port_rd(&si->hw, ENETC_PTCMSDUR(prio_top)) * 8; - ra = enetc_get_cbs_bw(&si->hw, prio_top) * + ma = enetc_port_rd(hw, ENETC_PTCMSDUR(prio_top)) * 8; + ra = enetc_get_cbs_bw(hw, prio_top) * port_transmit_rate * 10000ULL; r0 = port_transmit_rate * 1000000ULL; max_interference_size = m0 + ma + @@ -280,10 +279,10 @@ hi_credit_reg = (u32)div_u64((ENETC_CLK * 100ULL) * hi_credit_bit, port_transmit_rate * 1000000ULL); - enetc_port_wr(&si->hw, ENETC_PTCCBSR1(tc), hi_credit_reg); + enetc_port_wr(hw, ENETC_PTCCBSR1(tc), hi_credit_reg); /* Set bw register and enable this traffic class */ - enetc_port_wr(&si->hw, ENETC_PTCCBSR0(tc), bw | ENETC_CBSE); + enetc_port_wr(hw, ENETC_PTCCBSR0(tc), bw | ENETC_CBSE); return 0; } @@ -293,6 +292,7 @@ struct enetc_ndev_priv *priv = netdev_priv(ndev); struct tc_etf_qopt_offload *qopt = type_data; u8 tc_nums = netdev_get_num_tc(ndev); + struct enetc_hw *hw = &priv->si->hw; int tc; if (!tc_nums) @@ -304,12 +304,11 @@ return -EINVAL; /* TSD and Qbv are mutually exclusive in hardware */ - if (enetc_rd(&priv->si->hw, ENETC_QBV_PTGCR_OFFSET) & ENETC_QBV_TGE) + if (enetc_rd(hw, ENETC_QBV_PTGCR_OFFSET) & ENETC_QBV_TGE) return -EBUSY; priv->tx_ring[tc]->tsd_enable = qopt->enable; - enetc_port_wr(&priv->si->hw, ENETC_PTCTSDR(tc), - qopt->enable ? ENETC_TSDE : 0); + enetc_port_wr(hw, ENETC_PTCTSDR(tc), qopt->enable ? ENETC_TSDE : 0); return 0; } @@ -1517,6 +1516,29 @@ } } +int enetc_set_psfp(struct net_device *ndev, bool en) +{ + struct enetc_ndev_priv *priv = netdev_priv(ndev); + int err; + + if (en) { + err = enetc_psfp_enable(priv); + if (err) + return err; + + priv->active_offloads |= ENETC_F_QCI; + return 0; + } + + err = enetc_psfp_disable(priv); + if (err) + return err; + + priv->active_offloads &= ~ENETC_F_QCI; + + return 0; +} + int enetc_psfp_init(struct enetc_ndev_priv *priv) { if (epsfp.psfp_sfi_bitmap) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/freescale/enetc/enetc_vf.c +++ linux-gcp-5.19.0/drivers/net/ethernet/freescale/enetc/enetc_vf.c @@ -88,7 +88,20 @@ static int enetc_vf_set_features(struct net_device *ndev, netdev_features_t features) { - return enetc_set_features(ndev, features); + enetc_set_features(ndev, features); + + return 0; +} + +static int enetc_vf_setup_tc(struct net_device *ndev, enum tc_setup_type type, + void *type_data) +{ + switch (type) { + case TC_SETUP_QDISC_MQPRIO: + return enetc_setup_tc_mqprio(ndev, type_data); + default: + return -EOPNOTSUPP; + } } /* Probing/ Init */ @@ -100,7 +113,7 @@ .ndo_set_mac_address = enetc_vf_set_mac_addr, .ndo_set_features = enetc_vf_set_features, .ndo_eth_ioctl = enetc_ioctl, - .ndo_setup_tc = enetc_setup_tc, + .ndo_setup_tc = enetc_vf_setup_tc, }; static void enetc_vf_netdev_setup(struct enetc_si *si, struct net_device *ndev, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/freescale/fec_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/freescale/fec_main.c @@ -72,7 +72,7 @@ #include "fec.h" static void set_multicast_list(struct net_device *ndev); -static void fec_enet_itr_coal_init(struct net_device *ndev); +static void fec_enet_itr_coal_set(struct net_device *ndev); #define DRIVER_NAME "fec" @@ -656,7 +656,7 @@ dev_kfree_skb_any(skb); if (net_ratelimit()) netdev_err(ndev, "Tx DMA memory map failed\n"); - return NETDEV_TX_BUSY; + return NETDEV_TX_OK; } bdp->cbd_datlen = cpu_to_fec16(size); @@ -718,7 +718,7 @@ dev_kfree_skb_any(skb); if (net_ratelimit()) netdev_err(ndev, "Tx DMA memory map failed\n"); - return NETDEV_TX_BUSY; + return NETDEV_TX_OK; } } @@ -1163,8 +1163,8 @@ writel(0, fep->hwp + FEC_IMASK); /* Init the interrupt coalescing */ - fec_enet_itr_coal_init(ndev); - + if (fep->quirks & FEC_QUIRK_HAS_COALESCE) + fec_enet_itr_coal_set(ndev); } static void fec_enet_stop_mode(struct fec_enet_private *fep, bool enabled) @@ -2346,6 +2346,31 @@ IEEE_R_DROP, IEEE_R_FRAME_OK, IEEE_R_CRC, IEEE_R_ALIGN, IEEE_R_MACERR, IEEE_R_FDXFC, IEEE_R_OCTETS_OK }; +/* for i.MX6ul */ +static u32 fec_enet_register_offset_6ul[] = { + FEC_IEVENT, FEC_IMASK, FEC_R_DES_ACTIVE_0, FEC_X_DES_ACTIVE_0, + FEC_ECNTRL, FEC_MII_DATA, FEC_MII_SPEED, FEC_MIB_CTRLSTAT, FEC_R_CNTRL, + FEC_X_CNTRL, FEC_ADDR_LOW, FEC_ADDR_HIGH, FEC_OPD, FEC_TXIC0, FEC_RXIC0, + FEC_HASH_TABLE_HIGH, FEC_HASH_TABLE_LOW, FEC_GRP_HASH_TABLE_HIGH, + FEC_GRP_HASH_TABLE_LOW, FEC_X_WMRK, FEC_R_DES_START_0, + FEC_X_DES_START_0, FEC_R_BUFF_SIZE_0, FEC_R_FIFO_RSFL, FEC_R_FIFO_RSEM, + FEC_R_FIFO_RAEM, FEC_R_FIFO_RAFL, FEC_RACC, + RMON_T_DROP, RMON_T_PACKETS, RMON_T_BC_PKT, RMON_T_MC_PKT, + RMON_T_CRC_ALIGN, RMON_T_UNDERSIZE, RMON_T_OVERSIZE, RMON_T_FRAG, + RMON_T_JAB, RMON_T_COL, RMON_T_P64, RMON_T_P65TO127, RMON_T_P128TO255, + RMON_T_P256TO511, RMON_T_P512TO1023, RMON_T_P1024TO2047, + RMON_T_P_GTE2048, RMON_T_OCTETS, + IEEE_T_DROP, IEEE_T_FRAME_OK, IEEE_T_1COL, IEEE_T_MCOL, IEEE_T_DEF, + IEEE_T_LCOL, IEEE_T_EXCOL, IEEE_T_MACERR, IEEE_T_CSERR, IEEE_T_SQE, + IEEE_T_FDXFC, IEEE_T_OCTETS_OK, + RMON_R_PACKETS, RMON_R_BC_PKT, RMON_R_MC_PKT, RMON_R_CRC_ALIGN, + RMON_R_UNDERSIZE, RMON_R_OVERSIZE, RMON_R_FRAG, RMON_R_JAB, + RMON_R_RESVD_O, RMON_R_P64, RMON_R_P65TO127, RMON_R_P128TO255, + RMON_R_P256TO511, RMON_R_P512TO1023, RMON_R_P1024TO2047, + RMON_R_P_GTE2048, RMON_R_OCTETS, + IEEE_R_DROP, IEEE_R_FRAME_OK, IEEE_R_CRC, IEEE_R_ALIGN, IEEE_R_MACERR, + IEEE_R_FDXFC, IEEE_R_OCTETS_OK +}; #else static __u32 fec_enet_register_version = 1; static u32 fec_enet_register_offset[] = { @@ -2370,7 +2395,24 @@ u32 *buf = (u32 *)regbuf; u32 i, off; int ret; +#if defined(CONFIG_M523x) || defined(CONFIG_M527x) || defined(CONFIG_M528x) || \ + defined(CONFIG_M520x) || defined(CONFIG_M532x) || defined(CONFIG_ARM) || \ + defined(CONFIG_ARM64) || defined(CONFIG_COMPILE_TEST) + u32 *reg_list; + u32 reg_cnt; + if (!of_machine_is_compatible("fsl,imx6ul")) { + reg_list = fec_enet_register_offset; + reg_cnt = ARRAY_SIZE(fec_enet_register_offset); + } else { + reg_list = fec_enet_register_offset_6ul; + reg_cnt = ARRAY_SIZE(fec_enet_register_offset_6ul); + } +#else + /* coldfire */ + static u32 *reg_list = fec_enet_register_offset; + static const u32 reg_cnt = ARRAY_SIZE(fec_enet_register_offset); +#endif ret = pm_runtime_resume_and_get(dev); if (ret < 0) return; @@ -2379,8 +2421,8 @@ memset(buf, 0, regs->len); - for (i = 0; i < ARRAY_SIZE(fec_enet_register_offset); i++) { - off = fec_enet_register_offset[i]; + for (i = 0; i < reg_cnt; i++) { + off = reg_list[i]; if ((off == FEC_R_BOUND || off == FEC_R_FSTART) && !(fep->quirks & FEC_QUIRK_HAS_FRREG)) @@ -2728,19 +2770,6 @@ return 0; } -static void fec_enet_itr_coal_init(struct net_device *ndev) -{ - struct ethtool_coalesce ec; - - ec.rx_coalesce_usecs = FEC_ITR_ICTT_DEFAULT; - ec.rx_max_coalesced_frames = FEC_ITR_ICFT_DEFAULT; - - ec.tx_coalesce_usecs = FEC_ITR_ICTT_DEFAULT; - ec.tx_max_coalesced_frames = FEC_ITR_ICFT_DEFAULT; - - fec_enet_set_coalesce(ndev, &ec, NULL, NULL); -} - static int fec_enet_get_tunable(struct net_device *netdev, const struct ethtool_tunable *tuna, void *data) @@ -3489,6 +3518,10 @@ fep->rx_align = 0x3; fep->tx_align = 0x3; #endif + fep->rx_pkts_itr = FEC_ITR_ICFT_DEFAULT; + fep->tx_pkts_itr = FEC_ITR_ICFT_DEFAULT; + fep->rx_time_itr = FEC_ITR_ICTT_DEFAULT; + fep->tx_time_itr = FEC_ITR_ICTT_DEFAULT; /* Check mask of the streaming and coherent API */ ret = dma_set_mask_and_coherent(&fep->pdev->dev, DMA_BIT_MASK(32)); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/freescale/fec_ptp.c +++ linux-gcp-5.19.0/drivers/net/ethernet/freescale/fec_ptp.c @@ -135,11 +135,7 @@ * NSEC_PER_SEC - ts.tv_nsec. Add the remaining nanoseconds * to current timer would be next second. */ - tempval = readl(fep->hwp + FEC_ATIME_CTRL); - tempval |= FEC_T_CTRL_CAPTURE; - writel(tempval, fep->hwp + FEC_ATIME_CTRL); - - tempval = readl(fep->hwp + FEC_ATIME); + tempval = fep->cc.read(&fep->cc); /* Convert the ptp local counter to 1588 timestamp */ ns = timecounter_cyc2time(&fep->tc, tempval); ts = ns_to_timespec64(ns); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/freescale/fman/mac.c +++ linux-gcp-5.19.0/drivers/net/ethernet/freescale/fman/mac.c @@ -882,12 +882,21 @@ return err; } +static int mac_remove(struct platform_device *pdev) +{ + struct mac_device *mac_dev = platform_get_drvdata(pdev); + + platform_device_unregister(mac_dev->priv->eth_dev); + return 0; +} + static struct platform_driver mac_driver = { .driver = { .name = KBUILD_MODNAME, .of_match_table = mac_match, }, .probe = mac_probe, + .remove = mac_remove, }; builtin_platform_driver(mac_driver); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/freescale/fs_enet/mac-fec.c +++ linux-gcp-5.19.0/drivers/net/ethernet/freescale/fs_enet/mac-fec.c @@ -98,7 +98,7 @@ return -EINVAL; fep->fec.fecp = of_iomap(ofdev->dev.of_node, 0); - if (!fep->fcc.fccp) + if (!fep->fec.fecp) return -EINVAL; return 0; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/fungible/funeth/funeth_txrx.h +++ linux-gcp-5.19.0/drivers/net/ethernet/fungible/funeth/funeth_txrx.h @@ -205,9 +205,9 @@ #define FUN_QSTAT_READ(q, seq, stats_copy) \ do { \ - seq = u64_stats_fetch_begin(&(q)->syncp); \ + seq = u64_stats_fetch_begin_irq(&(q)->syncp); \ stats_copy = (q)->stats; \ - } while (u64_stats_fetch_retry(&(q)->syncp, (seq))) + } while (u64_stats_fetch_retry_irq(&(q)->syncp, (seq))) #define FUN_INT_NAME_LEN (IFNAMSIZ + 16) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/google/gve/gve.h +++ linux-gcp-5.19.0/drivers/net/ethernet/google/gve/gve.h @@ -60,7 +60,8 @@ void *page_address; u32 page_offset; /* offset to write to in page */ int pagecnt_bias; /* expected pagecnt if only the driver has a ref */ - u8 can_flip; + u16 pad; /* adjustment for rx padding */ + u8 can_flip; /* tracks if the networking stack is using the page */ }; /* A list of pages registered with the device during setup and used by a queue @@ -149,10 +150,17 @@ /* head and tail of skb chain for the current packet or NULL if none */ struct sk_buff *skb_head; struct sk_buff *skb_tail; - u16 total_expected_size; - u8 expected_frag_cnt; - u8 curr_frag_cnt; - u8 reuse_frags; + u32 total_size; + u8 frag_cnt; + bool drop_pkt; +}; + +struct gve_rx_cnts { + u32 ok_pkt_bytes; + u16 ok_pkt_cnt; + u16 total_pkt_cnt; + u16 cont_pkt_cnt; + u16 desc_err_pkt_cnt; }; /* Contains datapath state used to represent an RX queue. */ @@ -167,6 +175,10 @@ /* threshold for posting new buffs and descs */ u32 db_threshold; u16 packet_buffer_size; + + u32 qpl_copy_pool_mask; + u32 qpl_copy_pool_head; + struct gve_rx_slot_page_info *qpl_copy_pool; }; /* DQO fields. */ @@ -216,7 +228,9 @@ u64 rx_desc_err_dropped_pkt; /* free-running count of packets dropped by descriptor error */ u64 rx_cont_packet_cnt; /* free-running multi-fragment packets received */ u64 rx_frag_flip_cnt; /* free-running count of rx segments where page_flip was used */ - u64 rx_frag_copy_cnt; /* free-running count of rx segments copied into skb linear portion */ + u64 rx_frag_copy_cnt; /* free-running count of rx segments copied */ + u64 rx_frag_alloc_cnt; /* free-running count of rx page allocations */ + u32 q_num; /* queue index */ u32 ntfy_id; /* notification block index */ struct gve_queue_resources *q_resources; /* head and tail pointer idx */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/google/gve/gve_ethtool.c +++ linux-gcp-5.19.0/drivers/net/ethernet/google/gve/gve_ethtool.c @@ -45,6 +45,7 @@ static const char gve_gstrings_rx_stats[][ETH_GSTRING_LEN] = { "rx_posted_desc[%u]", "rx_completed_desc[%u]", "rx_consumed_desc[%u]", "rx_bytes[%u]", "rx_cont_packet_cnt[%u]", "rx_frag_flip_cnt[%u]", "rx_frag_copy_cnt[%u]", + "rx_frag_alloc_cnt[%u]", "rx_dropped_pkt[%u]", "rx_copybreak_pkt[%u]", "rx_copied_pkt[%u]", "rx_queue_drop_cnt[%u]", "rx_no_buffers_posted[%u]", "rx_drops_packet_over_mru[%u]", "rx_drops_invalid_checksum[%u]", @@ -177,14 +178,14 @@ struct gve_rx_ring *rx = &priv->rx[ring]; start = - u64_stats_fetch_begin(&priv->rx[ring].statss); + u64_stats_fetch_begin_irq(&priv->rx[ring].statss); tmp_rx_pkts = rx->rpackets; tmp_rx_bytes = rx->rbytes; tmp_rx_skb_alloc_fail = rx->rx_skb_alloc_fail; tmp_rx_buf_alloc_fail = rx->rx_buf_alloc_fail; tmp_rx_desc_err_dropped_pkt = rx->rx_desc_err_dropped_pkt; - } while (u64_stats_fetch_retry(&priv->rx[ring].statss, + } while (u64_stats_fetch_retry_irq(&priv->rx[ring].statss, start)); rx_pkts += tmp_rx_pkts; rx_bytes += tmp_rx_bytes; @@ -198,10 +199,10 @@ if (priv->tx) { do { start = - u64_stats_fetch_begin(&priv->tx[ring].statss); + u64_stats_fetch_begin_irq(&priv->tx[ring].statss); tmp_tx_pkts = priv->tx[ring].pkt_done; tmp_tx_bytes = priv->tx[ring].bytes_done; - } while (u64_stats_fetch_retry(&priv->tx[ring].statss, + } while (u64_stats_fetch_retry_irq(&priv->tx[ring].statss, start)); tx_pkts += tmp_tx_pkts; tx_bytes += tmp_tx_bytes; @@ -259,18 +260,19 @@ data[i++] = rx->fill_cnt - rx->cnt; do { start = - u64_stats_fetch_begin(&priv->rx[ring].statss); + u64_stats_fetch_begin_irq(&priv->rx[ring].statss); tmp_rx_bytes = rx->rbytes; tmp_rx_skb_alloc_fail = rx->rx_skb_alloc_fail; tmp_rx_buf_alloc_fail = rx->rx_buf_alloc_fail; tmp_rx_desc_err_dropped_pkt = rx->rx_desc_err_dropped_pkt; - } while (u64_stats_fetch_retry(&priv->rx[ring].statss, + } while (u64_stats_fetch_retry_irq(&priv->rx[ring].statss, start)); data[i++] = tmp_rx_bytes; data[i++] = rx->rx_cont_packet_cnt; data[i++] = rx->rx_frag_flip_cnt; data[i++] = rx->rx_frag_copy_cnt; + data[i++] = rx->rx_frag_alloc_cnt; /* rx dropped packets */ data[i++] = tmp_rx_skb_alloc_fail + tmp_rx_buf_alloc_fail + @@ -331,9 +333,9 @@ } do { start = - u64_stats_fetch_begin(&priv->tx[ring].statss); + u64_stats_fetch_begin_irq(&priv->tx[ring].statss); tmp_tx_bytes = tx->bytes_done; - } while (u64_stats_fetch_retry(&priv->tx[ring].statss, + } while (u64_stats_fetch_retry_irq(&priv->tx[ring].statss, start)); data[i++] = tmp_tx_bytes; data[i++] = tx->wake_queue; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/google/gve/gve_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/google/gve/gve_main.c @@ -51,10 +51,10 @@ for (ring = 0; ring < priv->rx_cfg.num_queues; ring++) { do { start = - u64_stats_fetch_begin(&priv->rx[ring].statss); + u64_stats_fetch_begin_irq(&priv->rx[ring].statss); packets = priv->rx[ring].rpackets; bytes = priv->rx[ring].rbytes; - } while (u64_stats_fetch_retry(&priv->rx[ring].statss, + } while (u64_stats_fetch_retry_irq(&priv->rx[ring].statss, start)); s->rx_packets += packets; s->rx_bytes += bytes; @@ -64,10 +64,10 @@ for (ring = 0; ring < priv->tx_cfg.num_queues; ring++) { do { start = - u64_stats_fetch_begin(&priv->tx[ring].statss); + u64_stats_fetch_begin_irq(&priv->tx[ring].statss); packets = priv->tx[ring].pkt_done; bytes = priv->tx[ring].bytes_done; - } while (u64_stats_fetch_retry(&priv->tx[ring].statss, + } while (u64_stats_fetch_retry_irq(&priv->tx[ring].statss, start)); s->tx_packets += packets; s->tx_bytes += bytes; @@ -1274,9 +1274,9 @@ } do { - start = u64_stats_fetch_begin(&priv->tx[idx].statss); + start = u64_stats_fetch_begin_irq(&priv->tx[idx].statss); tx_bytes = priv->tx[idx].bytes_done; - } while (u64_stats_fetch_retry(&priv->tx[idx].statss, start)); + } while (u64_stats_fetch_retry_irq(&priv->tx[idx].statss, start)); stats[stats_idx++] = (struct stats) { .stat_name = cpu_to_be32(TX_WAKE_CNT), .value = cpu_to_be64(priv->tx[idx].wake_queue), --- linux-gcp-5.19.0.orig/drivers/net/ethernet/google/gve/gve_rx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/google/gve/gve_rx.c @@ -35,6 +35,12 @@ rx->data.page_info[i].pagecnt_bias - 1); gve_unassign_qpl(priv, rx->data.qpl->id); rx->data.qpl = NULL; + + for (i = 0; i < rx->qpl_copy_pool_mask + 1; i++) { + page_ref_sub(rx->qpl_copy_pool[i].page, + rx->qpl_copy_pool[i].pagecnt_bias - 1); + put_page(rx->qpl_copy_pool[i].page); + } } kvfree(rx->data.page_info); rx->data.page_info = NULL; @@ -63,6 +69,10 @@ dma_free_coherent(dev, bytes, rx->data.data_ring, rx->data.data_bus); rx->data.data_ring = NULL; + + kvfree(rx->qpl_copy_pool); + rx->qpl_copy_pool = NULL; + netif_dbg(priv, drv, priv->dev, "freed rx ring %d\n", idx); } @@ -101,6 +111,7 @@ u32 slots; int err; int i; + int j; /* Allocate one page per Rx queue slot. Each page is split into two * packet buffers, when possible we "page flip" between the two. @@ -135,7 +146,33 @@ goto alloc_err; } + if (!rx->data.raw_addressing) { + for (j = 0; j < rx->qpl_copy_pool_mask + 1; j++) { + struct page *page = alloc_page(GFP_KERNEL); + + if (!page) { + err = -ENOMEM; + goto alloc_err_qpl; + } + + rx->qpl_copy_pool[j].page = page; + rx->qpl_copy_pool[j].page_offset = 0; + rx->qpl_copy_pool[j].page_address = page_address(page); + + /* The page already has 1 ref. */ + page_ref_add(page, INT_MAX - 1); + rx->qpl_copy_pool[j].pagecnt_bias = INT_MAX; + } + } + return slots; + +alloc_err_qpl: + while (j--) { + page_ref_sub(rx->qpl_copy_pool[j].page, + rx->qpl_copy_pool[j].pagecnt_bias - 1); + put_page(rx->qpl_copy_pool[j].page); + } alloc_err: while (i--) gve_rx_free_buffer(&priv->pdev->dev, @@ -146,12 +183,11 @@ static void gve_rx_ctx_clear(struct gve_rx_ctx *ctx) { - ctx->curr_frag_cnt = 0; - ctx->total_expected_size = 0; - ctx->expected_frag_cnt = 0; ctx->skb_head = NULL; ctx->skb_tail = NULL; - ctx->reuse_frags = false; + ctx->total_size = 0; + ctx->frag_cnt = 0; + ctx->drop_pkt = false; } static int gve_rx_alloc_ring(struct gve_priv *priv, int idx) @@ -181,10 +217,22 @@ GFP_KERNEL); if (!rx->data.data_ring) return -ENOMEM; + + rx->qpl_copy_pool_mask = min_t(u32, U32_MAX, slots * 2) - 1; + rx->qpl_copy_pool_head = 0; + rx->qpl_copy_pool = kvcalloc(rx->qpl_copy_pool_mask + 1, + sizeof(rx->qpl_copy_pool[0]), + GFP_KERNEL); + + if (!rx->qpl_copy_pool) { + err = -ENOMEM; + goto abort_with_slots; + } + filled_pages = gve_prefill_rx_pages(rx); if (filled_pages < 0) { err = -ENOMEM; - goto abort_with_slots; + goto abort_with_copy_pool; } rx->fill_cnt = filled_pages; /* Ensure data ring slots (packet buffers) are visible. */ @@ -236,6 +284,9 @@ rx->q_resources = NULL; abort_filled: gve_rx_unfill_pages(priv, rx); +abort_with_copy_pool: + kvfree(rx->qpl_copy_pool); + rx->qpl_copy_pool = NULL; abort_with_slots: bytes = sizeof(*rx->data.data_ring) * slots; dma_free_coherent(hdev, bytes, rx->data.data_ring, rx->data.data_bus); @@ -292,30 +343,47 @@ return PKT_HASH_TYPE_L2; } -static u16 gve_rx_ctx_padding(struct gve_rx_ctx *ctx) -{ - return (ctx->curr_frag_cnt == 0) ? GVE_RX_PAD : 0; -} - static struct sk_buff *gve_rx_add_frags(struct napi_struct *napi, struct gve_rx_slot_page_info *page_info, u16 packet_buffer_size, u16 len, struct gve_rx_ctx *ctx) { - u32 offset = page_info->page_offset + gve_rx_ctx_padding(ctx); - struct sk_buff *skb; + u32 offset = page_info->page_offset + page_info->pad; + struct sk_buff *skb = ctx->skb_tail; + int num_frags = 0; + + if (!skb) { + skb = napi_get_frags(napi); + if (unlikely(!skb)) + return NULL; - if (!ctx->skb_head) - ctx->skb_head = napi_get_frags(napi); + ctx->skb_head = skb; + ctx->skb_tail = skb; + } else { + num_frags = skb_shinfo(ctx->skb_tail)->nr_frags; + if (num_frags == MAX_SKB_FRAGS) { + skb = napi_alloc_skb(napi, 0); + if (!skb) + return NULL; - if (unlikely(!ctx->skb_head)) - return NULL; + // We will never chain more than two SKBs: 2 * 16 * 2k > 64k + // which is why we do not need to chain by using skb->next + skb_shinfo(ctx->skb_tail)->frag_list = skb; + + ctx->skb_tail = skb; + num_frags = 0; + } + } - skb = ctx->skb_head; - skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags, page_info->page, + if (skb != ctx->skb_head) { + ctx->skb_head->len += len; + ctx->skb_head->data_len += len; + ctx->skb_head->truesize += packet_buffer_size; + } + skb_add_rx_frag(skb, num_frags, page_info->page, offset, len, packet_buffer_size); - return skb; + return ctx->skb_head; } static void gve_rx_flip_buff(struct gve_rx_slot_page_info *page_info, __be64 *slot_addr) @@ -363,6 +431,92 @@ return skb; } +static struct sk_buff *gve_rx_copy_to_pool(struct gve_rx_ring *rx, + struct gve_rx_slot_page_info *page_info, + u16 len, struct napi_struct *napi) +{ + u32 pool_idx = rx->qpl_copy_pool_head & rx->qpl_copy_pool_mask; + void *src = page_info->page_address + page_info->page_offset; + struct gve_rx_slot_page_info *copy_page_info; + struct gve_rx_ctx *ctx = &rx->ctx; + bool alloc_page = false; + struct sk_buff *skb; + void *dst; + + copy_page_info = &rx->qpl_copy_pool[pool_idx]; + if (!copy_page_info->can_flip) { + int recycle = gve_rx_can_recycle_buffer(copy_page_info); + + if (unlikely(recycle < 0)) { + gve_schedule_reset(rx->gve); + return NULL; + } + alloc_page = !recycle; + } + + if (alloc_page) { + struct gve_rx_slot_page_info alloc_page_info; + struct page *page; + + /* The least recently used page turned out to be + * still in use by the kernel. Ignoring it and moving + * on alleviates head-of-line blocking. + */ + rx->qpl_copy_pool_head++; + + page = alloc_page(GFP_ATOMIC); + if (!page) + return NULL; + + alloc_page_info.page = page; + alloc_page_info.page_offset = 0; + alloc_page_info.page_address = page_address(page); + alloc_page_info.pad = page_info->pad; + + memcpy(alloc_page_info.page_address, src, page_info->pad + len); + skb = gve_rx_add_frags(napi, &alloc_page_info, + rx->packet_buffer_size, + len, ctx); + + u64_stats_update_begin(&rx->statss); + rx->rx_frag_copy_cnt++; + rx->rx_frag_alloc_cnt++; + u64_stats_update_end(&rx->statss); + + return skb; + } + + dst = copy_page_info->page_address + copy_page_info->page_offset; + memcpy(dst, src, page_info->pad + len); + copy_page_info->pad = page_info->pad; + + skb = gve_rx_add_frags(napi, copy_page_info, + rx->packet_buffer_size, len, ctx); + if (unlikely(!skb)) + return NULL; + + gve_dec_pagecnt_bias(copy_page_info); + copy_page_info->page_offset += rx->packet_buffer_size; + copy_page_info->page_offset &= (PAGE_SIZE - 1); + + if (copy_page_info->can_flip) { + /* We have used both halves of this copy page, it + * is time for it to go to the back of the queue. + */ + copy_page_info->can_flip = false; + rx->qpl_copy_pool_head++; + prefetch(rx->qpl_copy_pool[rx->qpl_copy_pool_head & rx->qpl_copy_pool_mask].page); + } else { + copy_page_info->can_flip = true; + } + + u64_stats_update_begin(&rx->statss); + rx->rx_frag_copy_cnt++; + u64_stats_update_end(&rx->statss); + + return skb; +} + static struct sk_buff * gve_rx_qpl(struct device *dev, struct net_device *netdev, struct gve_rx_ring *rx, struct gve_rx_slot_page_info *page_info, @@ -377,7 +531,7 @@ * choice is to copy the data out of it so that we can return it to the * device. */ - if (ctx->reuse_frags) { + if (page_info->can_flip) { skb = gve_rx_add_frags(napi, page_info, rx->packet_buffer_size, len, ctx); /* No point in recycling if we didn't get the skb */ if (skb) { @@ -386,116 +540,23 @@ gve_rx_flip_buff(page_info, &data_slot->qpl_offset); } } else { - const u16 padding = gve_rx_ctx_padding(ctx); - - skb = gve_rx_copy(netdev, napi, page_info, len, padding, ctx); - if (skb) { - u64_stats_update_begin(&rx->statss); - rx->rx_frag_copy_cnt++; - u64_stats_update_end(&rx->statss); - } + skb = gve_rx_copy_to_pool(rx, page_info, len, napi); } return skb; } -#define GVE_PKTCONT_BIT_IS_SET(x) (GVE_RXF_PKT_CONT & (x)) -static u16 gve_rx_get_fragment_size(struct gve_rx_ctx *ctx, struct gve_rx_desc *desc) -{ - return be16_to_cpu(desc->len) - gve_rx_ctx_padding(ctx); -} - -static bool gve_rx_ctx_init(struct gve_rx_ctx *ctx, struct gve_rx_ring *rx) -{ - bool qpl_mode = !rx->data.raw_addressing, packet_size_error = false; - bool buffer_error = false, desc_error = false, seqno_error = false; - struct gve_rx_slot_page_info *page_info; - struct gve_priv *priv = rx->gve; - u32 idx = rx->cnt & rx->mask; - bool reuse_frags, can_flip; - struct gve_rx_desc *desc; - u16 packet_size = 0; - u16 n_frags = 0; - int recycle; - - /** In QPL mode, we only flip buffers when all buffers containing the packet - * can be flipped. RDA can_flip decisions will be made later, per frag. - */ - can_flip = qpl_mode; - reuse_frags = can_flip; - do { - u16 frag_size; - - n_frags++; - desc = &rx->desc.desc_ring[idx]; - desc_error = unlikely(desc->flags_seq & GVE_RXF_ERR) || desc_error; - if (GVE_SEQNO(desc->flags_seq) != rx->desc.seqno) { - seqno_error = true; - netdev_warn(priv->dev, - "RX seqno error: want=%d, got=%d, dropping packet and scheduling reset.", - rx->desc.seqno, GVE_SEQNO(desc->flags_seq)); - } - frag_size = be16_to_cpu(desc->len); - packet_size += frag_size; - if (frag_size > rx->packet_buffer_size) { - packet_size_error = true; - netdev_warn(priv->dev, - "RX fragment error: packet_buffer_size=%d, frag_size=%d, dropping packet.", - rx->packet_buffer_size, be16_to_cpu(desc->len)); - } - page_info = &rx->data.page_info[idx]; - if (can_flip) { - recycle = gve_rx_can_recycle_buffer(page_info); - reuse_frags = reuse_frags && recycle > 0; - buffer_error = buffer_error || unlikely(recycle < 0); - } - idx = (idx + 1) & rx->mask; - rx->desc.seqno = gve_next_seqno(rx->desc.seqno); - } while (GVE_PKTCONT_BIT_IS_SET(desc->flags_seq)); - - prefetch(rx->desc.desc_ring + idx); - - ctx->curr_frag_cnt = 0; - ctx->total_expected_size = packet_size - GVE_RX_PAD; - ctx->expected_frag_cnt = n_frags; - ctx->skb_head = NULL; - ctx->reuse_frags = reuse_frags; - - if (ctx->expected_frag_cnt > 1) { - u64_stats_update_begin(&rx->statss); - rx->rx_cont_packet_cnt++; - u64_stats_update_end(&rx->statss); - } - if (ctx->total_expected_size > priv->rx_copybreak && !ctx->reuse_frags && qpl_mode) { - u64_stats_update_begin(&rx->statss); - rx->rx_copied_pkt++; - u64_stats_update_end(&rx->statss); - } - - if (unlikely(buffer_error || seqno_error || packet_size_error)) { - gve_schedule_reset(priv); - return false; - } - - if (unlikely(desc_error)) { - u64_stats_update_begin(&rx->statss); - rx->rx_desc_err_dropped_pkt++; - u64_stats_update_end(&rx->statss); - return false; - } - return true; -} - static struct sk_buff *gve_rx_skb(struct gve_priv *priv, struct gve_rx_ring *rx, struct gve_rx_slot_page_info *page_info, struct napi_struct *napi, - u16 len, union gve_rx_data_slot *data_slot) + u16 len, union gve_rx_data_slot *data_slot, + bool is_only_frag) { struct net_device *netdev = priv->dev; struct gve_rx_ctx *ctx = &rx->ctx; struct sk_buff *skb = NULL; - if (len <= priv->rx_copybreak && ctx->expected_frag_cnt == 1) { + if (len <= priv->rx_copybreak && is_only_frag) { /* Just copy small packets */ - skb = gve_rx_copy(netdev, napi, page_info, len, GVE_RX_PAD, ctx); + skb = gve_rx_copy(netdev, napi, page_info, len, GVE_RX_PAD); if (skb) { u64_stats_update_begin(&rx->statss); rx->rx_copied_pkt++; @@ -504,29 +565,25 @@ u64_stats_update_end(&rx->statss); } } else { - if (rx->data.raw_addressing) { - int recycle = gve_rx_can_recycle_buffer(page_info); + int recycle = gve_rx_can_recycle_buffer(page_info); - if (unlikely(recycle < 0)) { - gve_schedule_reset(priv); - return NULL; - } - page_info->can_flip = recycle; - if (page_info->can_flip) { - u64_stats_update_begin(&rx->statss); - rx->rx_frag_flip_cnt++; - u64_stats_update_end(&rx->statss); - } + if (unlikely(recycle < 0)) { + gve_schedule_reset(priv); + return NULL; + } + page_info->can_flip = recycle; + if (page_info->can_flip) { + u64_stats_update_begin(&rx->statss); + rx->rx_frag_flip_cnt++; + u64_stats_update_end(&rx->statss); + } + + if (rx->data.raw_addressing) { skb = gve_rx_raw_addressing(&priv->pdev->dev, netdev, page_info, len, napi, data_slot, rx->packet_buffer_size, ctx); } else { - if (ctx->reuse_frags) { - u64_stats_update_begin(&rx->statss); - rx->rx_frag_flip_cnt++; - u64_stats_update_end(&rx->statss); - } skb = gve_rx_qpl(&priv->pdev->dev, netdev, rx, page_info, len, napi, data_slot); } @@ -534,101 +591,113 @@ return skb; } -static bool gve_rx(struct gve_rx_ring *rx, netdev_features_t feat, - u64 *packet_size_bytes, u32 *work_done) +#define GVE_PKTCONT_BIT_IS_SET(x) (GVE_RXF_PKT_CONT & (x)) +static void gve_rx(struct gve_rx_ring *rx, netdev_features_t feat, + struct gve_rx_desc *desc, u32 idx, + struct gve_rx_cnts *cnts) { + bool is_last_frag = !GVE_PKTCONT_BIT_IS_SET(desc->flags_seq); struct gve_rx_slot_page_info *page_info; + u16 frag_size = be16_to_cpu(desc->len); struct gve_rx_ctx *ctx = &rx->ctx; union gve_rx_data_slot *data_slot; struct gve_priv *priv = rx->gve; - struct gve_rx_desc *first_desc; struct sk_buff *skb = NULL; - struct gve_rx_desc *desc; - struct napi_struct *napi; dma_addr_t page_bus; - u32 work_cnt = 0; void *va; - u32 idx; - u16 len; - idx = rx->cnt & rx->mask; - first_desc = &rx->desc.desc_ring[idx]; - desc = first_desc; - napi = &priv->ntfy_blocks[rx->ntfy_id].napi; - - if (unlikely(!gve_rx_ctx_init(ctx, rx))) - goto skb_alloc_fail; - - while (ctx->curr_frag_cnt < ctx->expected_frag_cnt) { - /* Prefetch two packet buffers ahead, we will need it soon. */ - page_info = &rx->data.page_info[(idx + 2) & rx->mask]; - va = page_info->page_address + page_info->page_offset; - - prefetch(page_info->page); /* Kernel page struct. */ - prefetch(va); /* Packet header. */ - prefetch(va + 64); /* Next cacheline too. */ + struct napi_struct *napi = &priv->ntfy_blocks[rx->ntfy_id].napi; + bool is_first_frag = ctx->frag_cnt == 0; - len = gve_rx_get_fragment_size(ctx, desc); + bool is_only_frag = is_first_frag && is_last_frag; - page_info = &rx->data.page_info[idx]; - data_slot = &rx->data.data_ring[idx]; - page_bus = rx->data.raw_addressing ? - be64_to_cpu(data_slot->addr) - page_info->page_offset : - rx->data.qpl->page_buses[idx]; - dma_sync_single_for_cpu(&priv->pdev->dev, page_bus, PAGE_SIZE, DMA_FROM_DEVICE); + if (unlikely(ctx->drop_pkt)) + goto finish_frag; - skb = gve_rx_skb(priv, rx, page_info, napi, len, data_slot); - if (!skb) { - u64_stats_update_begin(&rx->statss); - rx->rx_skb_alloc_fail++; - u64_stats_update_end(&rx->statss); - goto skb_alloc_fail; - } + if (desc->flags_seq & GVE_RXF_ERR) { + ctx->drop_pkt = true; + cnts->desc_err_pkt_cnt++; + napi_free_frags(napi); + goto finish_frag; + } - ctx->curr_frag_cnt++; - rx->cnt++; - idx = rx->cnt & rx->mask; - work_cnt++; - desc = &rx->desc.desc_ring[idx]; + if (unlikely(frag_size > rx->packet_buffer_size)) { + netdev_warn(priv->dev, "Unexpected frag size %d, can't exceed %d, scheduling reset", + frag_size, rx->packet_buffer_size); + ctx->drop_pkt = true; + napi_free_frags(napi); + gve_schedule_reset(rx->gve); + goto finish_frag; } - if (likely(feat & NETIF_F_RXCSUM)) { - /* NIC passes up the partial sum */ - if (first_desc->csum) - skb->ip_summed = CHECKSUM_COMPLETE; - else - skb->ip_summed = CHECKSUM_NONE; - skb->csum = csum_unfold(first_desc->csum); + /* Prefetch two packet buffers ahead, we will need it soon. */ + page_info = &rx->data.page_info[(idx + 2) & rx->mask]; + va = page_info->page_address + page_info->page_offset; + prefetch(page_info->page); /* Kernel page struct. */ + prefetch(va); /* Packet header. */ + prefetch(va + 64); /* Next cacheline too. */ + + page_info = &rx->data.page_info[idx]; + data_slot = &rx->data.data_ring[idx]; + page_bus = (rx->data.raw_addressing) ? + be64_to_cpu(data_slot->addr) - page_info->page_offset : + rx->data.qpl->page_buses[idx]; + dma_sync_single_for_cpu(&priv->pdev->dev, page_bus, + PAGE_SIZE, DMA_FROM_DEVICE); + page_info->pad = is_first_frag ? GVE_RX_PAD : 0; + frag_size -= page_info->pad; + + skb = gve_rx_skb(priv, rx, page_info, napi, frag_size, + data_slot, is_only_frag); + if (!skb) { + u64_stats_update_begin(&rx->statss); + rx->rx_skb_alloc_fail++; + u64_stats_update_end(&rx->statss); + + napi_free_frags(napi); + ctx->drop_pkt = true; + goto finish_frag; } + ctx->total_size += frag_size; - /* parse flags & pass relevant info up */ - if (likely(feat & NETIF_F_RXHASH) && - gve_needs_rss(first_desc->flags_seq)) - skb_set_hash(skb, be32_to_cpu(first_desc->rss_hash), - gve_rss_type(first_desc->flags_seq)); - - *packet_size_bytes = skb->len + (skb->protocol ? ETH_HLEN : 0); - *work_done = work_cnt; - skb_record_rx_queue(skb, rx->q_num); - if (skb_is_nonlinear(skb)) - napi_gro_frags(napi); - else - napi_gro_receive(napi, skb); + if (is_first_frag) { + if (likely(feat & NETIF_F_RXCSUM)) { + /* NIC passes up the partial sum */ + if (desc->csum) + skb->ip_summed = CHECKSUM_COMPLETE; + else + skb->ip_summed = CHECKSUM_NONE; + skb->csum = csum_unfold(desc->csum); + } + + /* parse flags & pass relevant info up */ + if (likely(feat & NETIF_F_RXHASH) && + gve_needs_rss(desc->flags_seq)) + skb_set_hash(skb, be32_to_cpu(desc->rss_hash), + gve_rss_type(desc->flags_seq)); + } + + if (is_last_frag) { + skb_record_rx_queue(skb, rx->q_num); + if (skb_is_nonlinear(skb)) + napi_gro_frags(napi); + else + napi_gro_receive(napi, skb); + goto finish_ok_pkt; + } - gve_rx_ctx_clear(ctx); - return true; + goto finish_frag; -skb_alloc_fail: - if (napi->skb) - napi_free_frags(napi); - *packet_size_bytes = 0; - *work_done = ctx->expected_frag_cnt; - while (ctx->curr_frag_cnt < ctx->expected_frag_cnt) { - rx->cnt++; - ctx->curr_frag_cnt++; +finish_ok_pkt: + cnts->ok_pkt_bytes += ctx->total_size; + cnts->ok_pkt_cnt++; +finish_frag: + ctx->frag_cnt++; + if (is_last_frag) { + cnts->total_pkt_cnt++; + cnts->cont_pkt_cnt += (ctx->frag_cnt > 1); + gve_rx_ctx_clear(ctx); } - gve_rx_ctx_clear(ctx); - return false; } bool gve_rx_work_pending(struct gve_rx_ring *rx) @@ -704,36 +773,39 @@ static int gve_clean_rx_done(struct gve_rx_ring *rx, int budget, netdev_features_t feat) { - u32 work_done = 0, total_packet_cnt = 0, ok_packet_cnt = 0; + struct gve_rx_ctx *ctx = &rx->ctx; struct gve_priv *priv = rx->gve; + struct gve_rx_cnts cnts = {0}; + struct gve_rx_desc *next_desc; u32 idx = rx->cnt & rx->mask; - struct gve_rx_desc *desc; - u64 bytes = 0; + u32 work_done = 0; + + struct gve_rx_desc *desc = &rx->desc.desc_ring[idx]; - desc = &rx->desc.desc_ring[idx]; + // Exceed budget only if (and till) the inflight packet is consumed. while ((GVE_SEQNO(desc->flags_seq) == rx->desc.seqno) && - work_done < budget) { - u64 packet_size_bytes = 0; - u32 work_cnt = 0; - bool dropped; - - netif_info(priv, rx_status, priv->dev, - "[%d] idx=%d desc=%p desc->flags_seq=0x%x\n", - rx->q_num, idx, desc, desc->flags_seq); - netif_info(priv, rx_status, priv->dev, - "[%d] seqno=%d rx->desc.seqno=%d\n", - rx->q_num, GVE_SEQNO(desc->flags_seq), - rx->desc.seqno); - - dropped = !gve_rx(rx, feat, &packet_size_bytes, &work_cnt); - if (!dropped) { - bytes += packet_size_bytes; - ok_packet_cnt++; - } - total_packet_cnt++; + (work_done < budget || ctx->frag_cnt)) { + next_desc = &rx->desc.desc_ring[(idx + 1) & rx->mask]; + prefetch(next_desc); + + gve_rx(rx, feat, desc, idx, &cnts); + + rx->cnt++; idx = rx->cnt & rx->mask; desc = &rx->desc.desc_ring[idx]; - work_done += work_cnt; + rx->desc.seqno = gve_next_seqno(rx->desc.seqno); + work_done++; + } + + // The device will only send whole packets. + if (unlikely(ctx->frag_cnt)) { + struct napi_struct *napi = &priv->ntfy_blocks[rx->ntfy_id].napi; + + napi_free_frags(napi); + gve_rx_ctx_clear(&rx->ctx); + netdev_warn(priv->dev, "Unexpected seq number %d with incomplete packet, expected %d, scheduling reset", + GVE_SEQNO(desc->flags_seq), rx->desc.seqno); + gve_schedule_reset(rx->gve); } if (!work_done && rx->fill_cnt - rx->cnt > rx->db_threshold) @@ -741,8 +813,10 @@ if (work_done) { u64_stats_update_begin(&rx->statss); - rx->rpackets += ok_packet_cnt; - rx->rbytes += bytes; + rx->rpackets += cnts.ok_pkt_cnt; + rx->rbytes += cnts.ok_pkt_bytes; + rx->rx_cont_packet_cnt += cnts.cont_pkt_cnt; + rx->rx_desc_err_dropped_pkt += cnts.desc_err_pkt_cnt; u64_stats_update_end(&rx->statss); } @@ -767,7 +841,7 @@ } gve_rx_write_doorbell(priv, rx); - return total_packet_cnt; + return cnts.total_pkt_cnt; } int gve_rx_poll(struct gve_notify_block *block, int budget) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/google/gve/gve_rx_dqo.c +++ linux-gcp-5.19.0/drivers/net/ethernet/google/gve/gve_rx_dqo.c @@ -157,7 +157,7 @@ int err; err = gve_alloc_page(priv, &priv->pdev->dev, &buf_state->page_info.page, - &buf_state->addr, DMA_FROM_DEVICE, GFP_KERNEL); + &buf_state->addr, DMA_FROM_DEVICE, GFP_ATOMIC); if (err) return err; @@ -568,7 +568,7 @@ if (eop && buf_len <= priv->rx_copybreak) { rx->ctx.skb_head = gve_rx_copy(priv->dev, napi, - &buf_state->page_info, buf_len, 0, NULL); + &buf_state->page_info, buf_len, 0); if (unlikely(!rx->ctx.skb_head)) goto error; rx->ctx.skb_tail = rx->ctx.skb_head; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/google/gve/gve_utils.c +++ linux-gcp-5.19.0/drivers/net/ethernet/google/gve/gve_utils.c @@ -50,34 +50,18 @@ struct sk_buff *gve_rx_copy(struct net_device *dev, struct napi_struct *napi, struct gve_rx_slot_page_info *page_info, u16 len, - u16 padding, struct gve_rx_ctx *ctx) + u16 padding) { void *va = page_info->page_address + padding + page_info->page_offset; - int skb_linear_offset = 0; - bool set_protocol = false; struct sk_buff *skb; - if (ctx) { - if (!ctx->skb_head) - ctx->skb_head = napi_alloc_skb(napi, ctx->total_expected_size); + skb = napi_alloc_skb(napi, len); + if (unlikely(!skb)) + return NULL; - if (unlikely(!ctx->skb_head)) - return NULL; - skb = ctx->skb_head; - skb_linear_offset = skb->len; - set_protocol = ctx->curr_frag_cnt == ctx->expected_frag_cnt - 1; - } else { - skb = napi_alloc_skb(napi, len); - - if (unlikely(!skb)) - return NULL; - set_protocol = true; - } __skb_put(skb, len); - skb_copy_to_linear_data_offset(skb, skb_linear_offset, va, len); - - if (set_protocol) - skb->protocol = eth_type_trans(skb, dev); + skb_copy_to_linear_data_offset(skb, 0, va, len); + skb->protocol = eth_type_trans(skb, dev); return skb; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/google/gve/gve_utils.h +++ linux-gcp-5.19.0/drivers/net/ethernet/google/gve/gve_utils.h @@ -19,7 +19,7 @@ struct sk_buff *gve_rx_copy(struct net_device *dev, struct napi_struct *napi, struct gve_rx_slot_page_info *page_info, u16 len, - u16 pad, struct gve_rx_ctx *ctx); + u16 pad); /* Decrement pagecnt_bias. Set it back to INT_MAX if it reached zero. */ void gve_dec_pagecnt_bias(struct gve_rx_slot_page_info *page_info); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/hisilicon/hisi_femac.c +++ linux-gcp-5.19.0/drivers/net/ethernet/hisilicon/hisi_femac.c @@ -283,7 +283,7 @@ skb->protocol = eth_type_trans(skb, dev); napi_gro_receive(&priv->napi, skb); dev->stats.rx_packets++; - dev->stats.rx_bytes += skb->len; + dev->stats.rx_bytes += len; next: pos = (pos + 1) % rxq->num; if (rx_pkts_num >= limit) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/hisilicon/hix5hd2_gmac.c +++ linux-gcp-5.19.0/drivers/net/ethernet/hisilicon/hix5hd2_gmac.c @@ -550,7 +550,7 @@ skb->protocol = eth_type_trans(skb, dev); napi_gro_receive(&priv->napi, skb); dev->stats.rx_packets++; - dev->stats.rx_bytes += skb->len; + dev->stats.rx_bytes += len; next: pos = dma_ring_incr(pos, RX_DESC_NUM); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/hisilicon/hns/hnae.c +++ linux-gcp-5.19.0/drivers/net/ethernet/hisilicon/hns/hnae.c @@ -419,8 +419,10 @@ hdev->cls_dev.release = hnae_release; (void)dev_set_name(&hdev->cls_dev, "hnae%d", hdev->id); ret = device_register(&hdev->cls_dev); - if (ret) + if (ret) { + put_device(&hdev->cls_dev); return ret; + } __module_get(THIS_MODULE); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/hisilicon/hns3/hnae3.h +++ linux-gcp-5.19.0/drivers/net/ethernet/hisilicon/hns3/hnae3.h @@ -790,7 +790,6 @@ const struct hnae3_dcb_ops *dcb_ops; u16 int_rl_setting; - enum pkt_hash_types rss_type; void __iomem *io_base; }; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.c +++ linux-gcp-5.19.0/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.c @@ -191,23 +191,6 @@ return HCLGE_COMM_RSS_KEY_SIZE; } -void hclge_comm_get_rss_type(struct hnae3_handle *nic, - struct hclge_comm_rss_tuple_cfg *rss_tuple_sets) -{ - if (rss_tuple_sets->ipv4_tcp_en || - rss_tuple_sets->ipv4_udp_en || - rss_tuple_sets->ipv4_sctp_en || - rss_tuple_sets->ipv6_tcp_en || - rss_tuple_sets->ipv6_udp_en || - rss_tuple_sets->ipv6_sctp_en) - nic->kinfo.rss_type = PKT_HASH_TYPE_L4; - else if (rss_tuple_sets->ipv4_fragment_en || - rss_tuple_sets->ipv6_fragment_en) - nic->kinfo.rss_type = PKT_HASH_TYPE_L3; - else - nic->kinfo.rss_type = PKT_HASH_TYPE_NONE; -} - int hclge_comm_parse_rss_hfunc(struct hclge_comm_rss_cfg *rss_cfg, const u8 hfunc, u8 *hash_algo) { @@ -344,9 +327,6 @@ req->ipv6_sctp_en = rss_cfg->rss_tuple_sets.ipv6_sctp_en; req->ipv6_fragment_en = rss_cfg->rss_tuple_sets.ipv6_fragment_en; - if (is_pf) - hclge_comm_get_rss_type(nic, &rss_cfg->rss_tuple_sets); - ret = hclge_comm_cmd_send(hw, &desc, 1); if (ret) dev_err(&hw->cmq.csq.pdev->dev, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.h +++ linux-gcp-5.19.0/drivers/net/ethernet/hisilicon/hns3/hns3_common/hclge_comm_rss.h @@ -95,8 +95,6 @@ }; u32 hclge_comm_get_rss_key_size(struct hnae3_handle *handle); -void hclge_comm_get_rss_type(struct hnae3_handle *nic, - struct hclge_comm_rss_tuple_cfg *rss_tuple_sets); void hclge_comm_rss_indir_init_cfg(struct hnae3_ae_dev *ae_dev, struct hclge_comm_rss_cfg *rss_cfg); int hclge_comm_get_rss_tuple(struct hclge_comm_rss_cfg *rss_cfg, int flow_type, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +++ linux-gcp-5.19.0/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c @@ -105,26 +105,28 @@ }; MODULE_DEVICE_TABLE(pci, hns3_pci_tbl); -#define HNS3_RX_PTYPE_ENTRY(ptype, l, s, t) \ +#define HNS3_RX_PTYPE_ENTRY(ptype, l, s, t, h) \ { ptype, \ l, \ CHECKSUM_##s, \ HNS3_L3_TYPE_##t, \ - 1 } + 1, \ + h} #define HNS3_RX_PTYPE_UNUSED_ENTRY(ptype) \ - { ptype, 0, CHECKSUM_NONE, HNS3_L3_TYPE_PARSE_FAIL, 0 } + { ptype, 0, CHECKSUM_NONE, HNS3_L3_TYPE_PARSE_FAIL, 0, \ + PKT_HASH_TYPE_NONE } static const struct hns3_rx_ptype hns3_rx_ptype_tbl[] = { HNS3_RX_PTYPE_UNUSED_ENTRY(0), - HNS3_RX_PTYPE_ENTRY(1, 0, COMPLETE, ARP), - HNS3_RX_PTYPE_ENTRY(2, 0, COMPLETE, RARP), - HNS3_RX_PTYPE_ENTRY(3, 0, COMPLETE, LLDP), - HNS3_RX_PTYPE_ENTRY(4, 0, COMPLETE, PARSE_FAIL), - HNS3_RX_PTYPE_ENTRY(5, 0, COMPLETE, PARSE_FAIL), - HNS3_RX_PTYPE_ENTRY(6, 0, COMPLETE, PARSE_FAIL), - HNS3_RX_PTYPE_ENTRY(7, 0, COMPLETE, CNM), - HNS3_RX_PTYPE_ENTRY(8, 0, NONE, PARSE_FAIL), + HNS3_RX_PTYPE_ENTRY(1, 0, COMPLETE, ARP, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(2, 0, COMPLETE, RARP, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(3, 0, COMPLETE, LLDP, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(4, 0, COMPLETE, PARSE_FAIL, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(5, 0, COMPLETE, PARSE_FAIL, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(6, 0, COMPLETE, PARSE_FAIL, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(7, 0, COMPLETE, CNM, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(8, 0, NONE, PARSE_FAIL, PKT_HASH_TYPE_NONE), HNS3_RX_PTYPE_UNUSED_ENTRY(9), HNS3_RX_PTYPE_UNUSED_ENTRY(10), HNS3_RX_PTYPE_UNUSED_ENTRY(11), @@ -132,36 +134,36 @@ HNS3_RX_PTYPE_UNUSED_ENTRY(13), HNS3_RX_PTYPE_UNUSED_ENTRY(14), HNS3_RX_PTYPE_UNUSED_ENTRY(15), - HNS3_RX_PTYPE_ENTRY(16, 0, COMPLETE, PARSE_FAIL), - HNS3_RX_PTYPE_ENTRY(17, 0, COMPLETE, IPV4), - HNS3_RX_PTYPE_ENTRY(18, 0, COMPLETE, IPV4), - HNS3_RX_PTYPE_ENTRY(19, 0, UNNECESSARY, IPV4), - HNS3_RX_PTYPE_ENTRY(20, 0, UNNECESSARY, IPV4), - HNS3_RX_PTYPE_ENTRY(21, 0, NONE, IPV4), - HNS3_RX_PTYPE_ENTRY(22, 0, UNNECESSARY, IPV4), - HNS3_RX_PTYPE_ENTRY(23, 0, NONE, IPV4), - HNS3_RX_PTYPE_ENTRY(24, 0, NONE, IPV4), - HNS3_RX_PTYPE_ENTRY(25, 0, UNNECESSARY, IPV4), + HNS3_RX_PTYPE_ENTRY(16, 0, COMPLETE, PARSE_FAIL, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(17, 0, COMPLETE, IPV4, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(18, 0, COMPLETE, IPV4, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(19, 0, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(20, 0, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(21, 0, NONE, IPV4, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(22, 0, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(23, 0, NONE, IPV4, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(24, 0, NONE, IPV4, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(25, 0, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), HNS3_RX_PTYPE_UNUSED_ENTRY(26), HNS3_RX_PTYPE_UNUSED_ENTRY(27), HNS3_RX_PTYPE_UNUSED_ENTRY(28), - HNS3_RX_PTYPE_ENTRY(29, 0, COMPLETE, PARSE_FAIL), - HNS3_RX_PTYPE_ENTRY(30, 0, COMPLETE, PARSE_FAIL), - HNS3_RX_PTYPE_ENTRY(31, 0, COMPLETE, IPV4), - HNS3_RX_PTYPE_ENTRY(32, 0, COMPLETE, IPV4), - HNS3_RX_PTYPE_ENTRY(33, 1, UNNECESSARY, IPV4), - HNS3_RX_PTYPE_ENTRY(34, 1, UNNECESSARY, IPV4), - HNS3_RX_PTYPE_ENTRY(35, 1, UNNECESSARY, IPV4), - HNS3_RX_PTYPE_ENTRY(36, 0, COMPLETE, IPV4), - HNS3_RX_PTYPE_ENTRY(37, 0, COMPLETE, IPV4), + HNS3_RX_PTYPE_ENTRY(29, 0, COMPLETE, PARSE_FAIL, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(30, 0, COMPLETE, PARSE_FAIL, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(31, 0, COMPLETE, IPV4, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(32, 0, COMPLETE, IPV4, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(33, 1, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(34, 1, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(35, 1, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(36, 0, COMPLETE, IPV4, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(37, 0, COMPLETE, IPV4, PKT_HASH_TYPE_L3), HNS3_RX_PTYPE_UNUSED_ENTRY(38), - HNS3_RX_PTYPE_ENTRY(39, 0, COMPLETE, IPV6), - HNS3_RX_PTYPE_ENTRY(40, 0, COMPLETE, IPV6), - HNS3_RX_PTYPE_ENTRY(41, 1, UNNECESSARY, IPV6), - HNS3_RX_PTYPE_ENTRY(42, 1, UNNECESSARY, IPV6), - HNS3_RX_PTYPE_ENTRY(43, 1, UNNECESSARY, IPV6), - HNS3_RX_PTYPE_ENTRY(44, 0, COMPLETE, IPV6), - HNS3_RX_PTYPE_ENTRY(45, 0, COMPLETE, IPV6), + HNS3_RX_PTYPE_ENTRY(39, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(40, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(41, 1, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(42, 1, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(43, 1, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(44, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(45, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), HNS3_RX_PTYPE_UNUSED_ENTRY(46), HNS3_RX_PTYPE_UNUSED_ENTRY(47), HNS3_RX_PTYPE_UNUSED_ENTRY(48), @@ -227,35 +229,35 @@ HNS3_RX_PTYPE_UNUSED_ENTRY(108), HNS3_RX_PTYPE_UNUSED_ENTRY(109), HNS3_RX_PTYPE_UNUSED_ENTRY(110), - HNS3_RX_PTYPE_ENTRY(111, 0, COMPLETE, IPV6), - HNS3_RX_PTYPE_ENTRY(112, 0, COMPLETE, IPV6), - HNS3_RX_PTYPE_ENTRY(113, 0, UNNECESSARY, IPV6), - HNS3_RX_PTYPE_ENTRY(114, 0, UNNECESSARY, IPV6), - HNS3_RX_PTYPE_ENTRY(115, 0, NONE, IPV6), - HNS3_RX_PTYPE_ENTRY(116, 0, UNNECESSARY, IPV6), - HNS3_RX_PTYPE_ENTRY(117, 0, NONE, IPV6), - HNS3_RX_PTYPE_ENTRY(118, 0, NONE, IPV6), - HNS3_RX_PTYPE_ENTRY(119, 0, UNNECESSARY, IPV6), + HNS3_RX_PTYPE_ENTRY(111, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(112, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(113, 0, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(114, 0, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(115, 0, NONE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(116, 0, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(117, 0, NONE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(118, 0, NONE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(119, 0, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), HNS3_RX_PTYPE_UNUSED_ENTRY(120), HNS3_RX_PTYPE_UNUSED_ENTRY(121), HNS3_RX_PTYPE_UNUSED_ENTRY(122), - HNS3_RX_PTYPE_ENTRY(123, 0, COMPLETE, PARSE_FAIL), - HNS3_RX_PTYPE_ENTRY(124, 0, COMPLETE, PARSE_FAIL), - HNS3_RX_PTYPE_ENTRY(125, 0, COMPLETE, IPV4), - HNS3_RX_PTYPE_ENTRY(126, 0, COMPLETE, IPV4), - HNS3_RX_PTYPE_ENTRY(127, 1, UNNECESSARY, IPV4), - HNS3_RX_PTYPE_ENTRY(128, 1, UNNECESSARY, IPV4), - HNS3_RX_PTYPE_ENTRY(129, 1, UNNECESSARY, IPV4), - HNS3_RX_PTYPE_ENTRY(130, 0, COMPLETE, IPV4), - HNS3_RX_PTYPE_ENTRY(131, 0, COMPLETE, IPV4), + HNS3_RX_PTYPE_ENTRY(123, 0, COMPLETE, PARSE_FAIL, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(124, 0, COMPLETE, PARSE_FAIL, PKT_HASH_TYPE_NONE), + HNS3_RX_PTYPE_ENTRY(125, 0, COMPLETE, IPV4, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(126, 0, COMPLETE, IPV4, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(127, 1, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(128, 1, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(129, 1, UNNECESSARY, IPV4, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(130, 0, COMPLETE, IPV4, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(131, 0, COMPLETE, IPV4, PKT_HASH_TYPE_L3), HNS3_RX_PTYPE_UNUSED_ENTRY(132), - HNS3_RX_PTYPE_ENTRY(133, 0, COMPLETE, IPV6), - HNS3_RX_PTYPE_ENTRY(134, 0, COMPLETE, IPV6), - HNS3_RX_PTYPE_ENTRY(135, 1, UNNECESSARY, IPV6), - HNS3_RX_PTYPE_ENTRY(136, 1, UNNECESSARY, IPV6), - HNS3_RX_PTYPE_ENTRY(137, 1, UNNECESSARY, IPV6), - HNS3_RX_PTYPE_ENTRY(138, 0, COMPLETE, IPV6), - HNS3_RX_PTYPE_ENTRY(139, 0, COMPLETE, IPV6), + HNS3_RX_PTYPE_ENTRY(133, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(134, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(135, 1, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(136, 1, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(137, 1, UNNECESSARY, IPV6, PKT_HASH_TYPE_L4), + HNS3_RX_PTYPE_ENTRY(138, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), + HNS3_RX_PTYPE_ENTRY(139, 0, COMPLETE, IPV6, PKT_HASH_TYPE_L3), HNS3_RX_PTYPE_UNUSED_ENTRY(140), HNS3_RX_PTYPE_UNUSED_ENTRY(141), HNS3_RX_PTYPE_UNUSED_ENTRY(142), @@ -3734,8 +3736,8 @@ desc_cb->reuse_flag = 1; } else if (frag_size <= ring->rx_copybreak) { ret = hns3_handle_rx_copybreak(skb, i, ring, pull_len, desc_cb); - if (ret) - goto out; + if (!ret) + return; } out: @@ -3811,18 +3813,16 @@ return 0; } -static bool hns3_checksum_complete(struct hns3_enet_ring *ring, +static void hns3_checksum_complete(struct hns3_enet_ring *ring, struct sk_buff *skb, u32 ptype, u16 csum) { if (ptype == HNS3_INVALID_PTYPE || hns3_rx_ptype_tbl[ptype].ip_summed != CHECKSUM_COMPLETE) - return false; + return; hns3_ring_stats_update(ring, csum_complete); skb->ip_summed = CHECKSUM_COMPLETE; skb->csum = csum_unfold((__force __sum16)csum); - - return true; } static void hns3_rx_handle_csum(struct sk_buff *skb, u32 l234info, @@ -3882,8 +3882,7 @@ ptype = hnae3_get_field(ol_info, HNS3_RXD_PTYPE_M, HNS3_RXD_PTYPE_S); - if (hns3_checksum_complete(ring, skb, ptype, csum)) - return; + hns3_checksum_complete(ring, skb, ptype, csum); /* check if hardware has done checksum */ if (!(bd_base_info & BIT(HNS3_RXD_L3L4P_B))) @@ -3892,6 +3891,7 @@ if (unlikely(l234info & (BIT(HNS3_RXD_L3E_B) | BIT(HNS3_RXD_L4E_B) | BIT(HNS3_RXD_OL3E_B) | BIT(HNS3_RXD_OL4E_B)))) { + skb->ip_summed = CHECKSUM_NONE; hns3_ring_stats_update(ring, l3l4_csum_err); return; @@ -4129,15 +4129,35 @@ } static void hns3_set_rx_skb_rss_type(struct hns3_enet_ring *ring, - struct sk_buff *skb, u32 rss_hash) + struct sk_buff *skb, u32 rss_hash, + u32 l234info, u32 ol_info) { - struct hnae3_handle *handle = ring->tqp->handle; - enum pkt_hash_types rss_type; + enum pkt_hash_types rss_type = PKT_HASH_TYPE_NONE; + struct net_device *netdev = ring_to_netdev(ring); + struct hns3_nic_priv *priv = netdev_priv(netdev); - if (rss_hash) - rss_type = handle->kinfo.rss_type; - else - rss_type = PKT_HASH_TYPE_NONE; + if (test_bit(HNS3_NIC_STATE_RXD_ADV_LAYOUT_ENABLE, &priv->state)) { + u32 ptype = hnae3_get_field(ol_info, HNS3_RXD_PTYPE_M, + HNS3_RXD_PTYPE_S); + + rss_type = hns3_rx_ptype_tbl[ptype].hash_type; + } else { + int l3_type = hnae3_get_field(l234info, HNS3_RXD_L3ID_M, + HNS3_RXD_L3ID_S); + int l4_type = hnae3_get_field(l234info, HNS3_RXD_L4ID_M, + HNS3_RXD_L4ID_S); + + if (l3_type == HNS3_L3_TYPE_IPV4 || + l3_type == HNS3_L3_TYPE_IPV6) { + if (l4_type == HNS3_L4_TYPE_UDP || + l4_type == HNS3_L4_TYPE_TCP || + l4_type == HNS3_L4_TYPE_SCTP) + rss_type = PKT_HASH_TYPE_L4; + else if (l4_type == HNS3_L4_TYPE_IGMP || + l4_type == HNS3_L4_TYPE_ICMP) + rss_type = PKT_HASH_TYPE_L3; + } + } skb_set_hash(skb, rss_hash, rss_type); } @@ -4240,7 +4260,8 @@ ring->tqp_vector->rx_group.total_bytes += len; - hns3_set_rx_skb_rss_type(ring, skb, le32_to_cpu(desc->rx.rss_hash)); + hns3_set_rx_skb_rss_type(ring, skb, le32_to_cpu(desc->rx.rss_hash), + l234info, ol_info); return 0; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h +++ linux-gcp-5.19.0/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h @@ -404,6 +404,7 @@ u32 ip_summed : 2; u32 l3_type : 4; u32 valid : 1; + u32 hash_type: 3; }; struct ring_stats { --- linux-gcp-5.19.0.orig/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c @@ -3246,6 +3246,7 @@ hdev->hw.mac.autoneg = cmd.base.autoneg; hdev->hw.mac.speed = cmd.base.speed; hdev->hw.mac.duplex = cmd.base.duplex; + linkmode_copy(hdev->hw.mac.advertising, cmd.link_modes.advertising); return 0; } @@ -4662,7 +4663,6 @@ return ret; } - hclge_comm_get_rss_type(&vport->nic, &hdev->rss_cfg.rss_tuple_sets); return 0; } @@ -11374,9 +11374,12 @@ if (ret) goto err_msi_irq_uninit; - if (hdev->hw.mac.media_type == HNAE3_MEDIA_TYPE_COPPER && - !hnae3_dev_phy_imp_supported(hdev)) { - ret = hclge_mac_mdio_config(hdev); + if (hdev->hw.mac.media_type == HNAE3_MEDIA_TYPE_COPPER) { + if (hnae3_dev_phy_imp_supported(hdev)) + ret = hclge_update_tp_port_info(hdev); + else + ret = hclge_mac_mdio_config(hdev); + if (ret) goto err_msi_irq_uninit; } @@ -12533,60 +12536,71 @@ return ret; } -static void hclge_sync_promisc_mode(struct hclge_dev *hdev) +static int hclge_sync_vport_promisc_mode(struct hclge_vport *vport) { - struct hclge_vport *vport = &hdev->vport[0]; struct hnae3_handle *handle = &vport->nic; + struct hclge_dev *hdev = vport->back; + bool uc_en = false; + bool mc_en = false; u8 tmp_flags; + bool bc_en; int ret; - u16 i; if (vport->last_promisc_flags != vport->overflow_promisc_flags) { set_bit(HCLGE_VPORT_STATE_PROMISC_CHANGE, &vport->state); vport->last_promisc_flags = vport->overflow_promisc_flags; } - if (test_bit(HCLGE_VPORT_STATE_PROMISC_CHANGE, &vport->state)) { + if (!test_and_clear_bit(HCLGE_VPORT_STATE_PROMISC_CHANGE, + &vport->state)) + return 0; + + /* for PF */ + if (!vport->vport_id) { tmp_flags = handle->netdev_flags | vport->last_promisc_flags; ret = hclge_set_promisc_mode(handle, tmp_flags & HNAE3_UPE, tmp_flags & HNAE3_MPE); - if (!ret) { - clear_bit(HCLGE_VPORT_STATE_PROMISC_CHANGE, - &vport->state); + if (!ret) set_bit(HCLGE_VPORT_STATE_VLAN_FLTR_CHANGE, &vport->state); - } + else + set_bit(HCLGE_VPORT_STATE_PROMISC_CHANGE, + &vport->state); + return ret; } - for (i = 1; i < hdev->num_alloc_vport; i++) { - bool uc_en = false; - bool mc_en = false; - bool bc_en; + /* for VF */ + if (vport->vf_info.trusted) { + uc_en = vport->vf_info.request_uc_en > 0 || + vport->overflow_promisc_flags & HNAE3_OVERFLOW_UPE; + mc_en = vport->vf_info.request_mc_en > 0 || + vport->overflow_promisc_flags & HNAE3_OVERFLOW_MPE; + } + bc_en = vport->vf_info.request_bc_en > 0; - vport = &hdev->vport[i]; + ret = hclge_cmd_set_promisc_mode(hdev, vport->vport_id, uc_en, + mc_en, bc_en); + if (ret) { + set_bit(HCLGE_VPORT_STATE_PROMISC_CHANGE, &vport->state); + return ret; + } + hclge_set_vport_vlan_fltr_change(vport); - if (!test_and_clear_bit(HCLGE_VPORT_STATE_PROMISC_CHANGE, - &vport->state)) - continue; + return 0; +} - if (vport->vf_info.trusted) { - uc_en = vport->vf_info.request_uc_en > 0 || - vport->overflow_promisc_flags & - HNAE3_OVERFLOW_UPE; - mc_en = vport->vf_info.request_mc_en > 0 || - vport->overflow_promisc_flags & - HNAE3_OVERFLOW_MPE; - } - bc_en = vport->vf_info.request_bc_en > 0; +static void hclge_sync_promisc_mode(struct hclge_dev *hdev) +{ + struct hclge_vport *vport; + int ret; + u16 i; - ret = hclge_cmd_set_promisc_mode(hdev, vport->vport_id, uc_en, - mc_en, bc_en); - if (ret) { - set_bit(HCLGE_VPORT_STATE_PROMISC_CHANGE, - &vport->state); + for (i = 0; i < hdev->num_alloc_vport; i++) { + vport = &hdev->vport[i]; + + ret = hclge_sync_vport_promisc_mode(vport); + if (ret) return; - } - hclge_set_vport_vlan_fltr_change(vport); } } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c @@ -2767,7 +2767,8 @@ struct pci_dev *pdev = hdev->pdev; int ret = 0; - if (hdev->reset_type == HNAE3_VF_FULL_RESET && + if ((hdev->reset_type == HNAE3_VF_FULL_RESET || + hdev->reset_type == HNAE3_FLR_RESET) && test_bit(HCLGEVF_STATE_IRQ_INITED, &hdev->state)) { hclgevf_misc_irq_uninit(hdev); hclgevf_uninit_msi(hdev); @@ -3129,7 +3130,7 @@ hclgevf_update_rss_size(handle, new_tqps_num); - hclge_comm_get_rss_tc_info(cur_rss_size, hdev->hw_tc_map, + hclge_comm_get_rss_tc_info(kinfo->rss_size, hdev->hw_tc_map, tc_offset, tc_valid, tc_size); ret = hclge_comm_set_rss_tc_mode(&hdev->hw.hw, tc_offset, tc_valid, tc_size); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/huawei/hinic/hinic_debugfs.c +++ linux-gcp-5.19.0/drivers/net/ethernet/huawei/hinic/hinic_debugfs.c @@ -85,6 +85,7 @@ struct tag_sml_funcfg_tbl *funcfg_table_elem; struct hinic_cmd_lt_rd *read_data; u16 out_size = sizeof(*read_data); + int ret = ~0; int err; read_data = kzalloc(sizeof(*read_data), GFP_KERNEL); @@ -111,20 +112,25 @@ switch (idx) { case VALID: - return funcfg_table_elem->dw0.bs.valid; + ret = funcfg_table_elem->dw0.bs.valid; + break; case RX_MODE: - return funcfg_table_elem->dw0.bs.nic_rx_mode; + ret = funcfg_table_elem->dw0.bs.nic_rx_mode; + break; case MTU: - return funcfg_table_elem->dw1.bs.mtu; + ret = funcfg_table_elem->dw1.bs.mtu; + break; case RQ_DEPTH: - return funcfg_table_elem->dw13.bs.cfg_rq_depth; + ret = funcfg_table_elem->dw13.bs.cfg_rq_depth; + break; case QUEUE_NUM: - return funcfg_table_elem->dw13.bs.cfg_q_num; + ret = funcfg_table_elem->dw13.bs.cfg_q_num; + break; } kfree(read_data); - return ~0; + return ret; } static ssize_t hinic_dbg_cmd_read(struct file *filp, char __user *buffer, size_t count, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/huawei/hinic/hinic_dev.h +++ linux-gcp-5.19.0/drivers/net/ethernet/huawei/hinic/hinic_dev.h @@ -95,9 +95,6 @@ u16 sq_depth; u16 rq_depth; - struct hinic_txq_stats tx_stats; - struct hinic_rxq_stats rx_stats; - u8 rss_tmpl_idx; u8 rss_hash_engine; u16 num_rss; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c +++ linux-gcp-5.19.0/drivers/net/ethernet/huawei/hinic/hinic_hw_cmdq.c @@ -929,7 +929,7 @@ err_set_cmdq_depth: hinic_ceq_unregister_cb(&func_to_io->ceqs, HINIC_CEQ_CMDQ); - + free_cmdq(&cmdqs->cmdq[HINIC_CMDQ_SYNC]); err_cmdq_ctxt: hinic_wqs_cmdq_free(&cmdqs->cmdq_pages, cmdqs->saved_wqs, HINIC_MAX_CMDQ_TYPES); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c +++ linux-gcp-5.19.0/drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c @@ -883,7 +883,7 @@ if (err) return -EINVAL; - interrupt_info->lli_credit_cnt = temp_info.lli_timer_cnt; + interrupt_info->lli_credit_cnt = temp_info.lli_credit_cnt; interrupt_info->lli_timer_cnt = temp_info.lli_timer_cnt; err = hinic_msg_to_mgmt(&pfhwdev->pf_to_mgmt, HINIC_MOD_COMM, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/huawei/hinic/hinic_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/huawei/hinic/hinic_main.c @@ -62,8 +62,6 @@ #define HINIC_LRO_RX_TIMER_DEFAULT 16 -#define VLAN_BITMAP_SIZE(nic_dev) (ALIGN(VLAN_N_VID, 8) / 8) - #define work_to_rx_mode_work(work) \ container_of(work, struct hinic_rx_mode_work, work) @@ -82,56 +80,44 @@ netdev_features_t pre_features, netdev_features_t features, bool force_change); -static void update_rx_stats(struct hinic_dev *nic_dev, struct hinic_rxq *rxq) +static void gather_rx_stats(struct hinic_rxq_stats *nic_rx_stats, struct hinic_rxq *rxq) { - struct hinic_rxq_stats *nic_rx_stats = &nic_dev->rx_stats; struct hinic_rxq_stats rx_stats; - u64_stats_init(&rx_stats.syncp); - hinic_rxq_get_stats(rxq, &rx_stats); - u64_stats_update_begin(&nic_rx_stats->syncp); nic_rx_stats->bytes += rx_stats.bytes; nic_rx_stats->pkts += rx_stats.pkts; nic_rx_stats->errors += rx_stats.errors; nic_rx_stats->csum_errors += rx_stats.csum_errors; nic_rx_stats->other_errors += rx_stats.other_errors; - u64_stats_update_end(&nic_rx_stats->syncp); - - hinic_rxq_clean_stats(rxq); } -static void update_tx_stats(struct hinic_dev *nic_dev, struct hinic_txq *txq) +static void gather_tx_stats(struct hinic_txq_stats *nic_tx_stats, struct hinic_txq *txq) { - struct hinic_txq_stats *nic_tx_stats = &nic_dev->tx_stats; struct hinic_txq_stats tx_stats; - u64_stats_init(&tx_stats.syncp); - hinic_txq_get_stats(txq, &tx_stats); - u64_stats_update_begin(&nic_tx_stats->syncp); nic_tx_stats->bytes += tx_stats.bytes; nic_tx_stats->pkts += tx_stats.pkts; nic_tx_stats->tx_busy += tx_stats.tx_busy; nic_tx_stats->tx_wake += tx_stats.tx_wake; nic_tx_stats->tx_dropped += tx_stats.tx_dropped; nic_tx_stats->big_frags_pkts += tx_stats.big_frags_pkts; - u64_stats_update_end(&nic_tx_stats->syncp); - - hinic_txq_clean_stats(txq); } -static void update_nic_stats(struct hinic_dev *nic_dev) +static void gather_nic_stats(struct hinic_dev *nic_dev, + struct hinic_rxq_stats *nic_rx_stats, + struct hinic_txq_stats *nic_tx_stats) { int i, num_qps = hinic_hwdev_num_qps(nic_dev->hwdev); for (i = 0; i < num_qps; i++) - update_rx_stats(nic_dev, &nic_dev->rxqs[i]); + gather_rx_stats(nic_rx_stats, &nic_dev->rxqs[i]); for (i = 0; i < num_qps; i++) - update_tx_stats(nic_dev, &nic_dev->txqs[i]); + gather_tx_stats(nic_tx_stats, &nic_dev->txqs[i]); } /** @@ -560,8 +546,6 @@ netif_carrier_off(netdev); netif_tx_disable(netdev); - update_nic_stats(nic_dev); - up(&nic_dev->mgmt_lock); if (!HINIC_IS_VF(nic_dev->hwdev->hwif)) @@ -855,26 +839,19 @@ struct rtnl_link_stats64 *stats) { struct hinic_dev *nic_dev = netdev_priv(netdev); - struct hinic_rxq_stats *nic_rx_stats; - struct hinic_txq_stats *nic_tx_stats; - - nic_rx_stats = &nic_dev->rx_stats; - nic_tx_stats = &nic_dev->tx_stats; - - down(&nic_dev->mgmt_lock); + struct hinic_rxq_stats nic_rx_stats = {}; + struct hinic_txq_stats nic_tx_stats = {}; if (nic_dev->flags & HINIC_INTF_UP) - update_nic_stats(nic_dev); + gather_nic_stats(nic_dev, &nic_rx_stats, &nic_tx_stats); - up(&nic_dev->mgmt_lock); - - stats->rx_bytes = nic_rx_stats->bytes; - stats->rx_packets = nic_rx_stats->pkts; - stats->rx_errors = nic_rx_stats->errors; - - stats->tx_bytes = nic_tx_stats->bytes; - stats->tx_packets = nic_tx_stats->pkts; - stats->tx_errors = nic_tx_stats->tx_dropped; + stats->rx_bytes = nic_rx_stats.bytes; + stats->rx_packets = nic_rx_stats.pkts; + stats->rx_errors = nic_rx_stats.errors; + + stats->tx_bytes = nic_tx_stats.bytes; + stats->tx_packets = nic_tx_stats.pkts; + stats->tx_errors = nic_tx_stats.tx_dropped; } static int hinic_set_features(struct net_device *netdev, @@ -1173,8 +1150,6 @@ static int nic_dev_init(struct pci_dev *pdev) { struct hinic_rx_mode_work *rx_mode_work; - struct hinic_txq_stats *tx_stats; - struct hinic_rxq_stats *rx_stats; struct hinic_dev *nic_dev; struct net_device *netdev; struct hinic_hwdev *hwdev; @@ -1236,15 +1211,8 @@ sema_init(&nic_dev->mgmt_lock, 1); - tx_stats = &nic_dev->tx_stats; - rx_stats = &nic_dev->rx_stats; - - u64_stats_init(&tx_stats->syncp); - u64_stats_init(&rx_stats->syncp); - - nic_dev->vlan_bitmap = devm_kzalloc(&pdev->dev, - VLAN_BITMAP_SIZE(nic_dev), - GFP_KERNEL); + nic_dev->vlan_bitmap = devm_bitmap_zalloc(&pdev->dev, VLAN_N_VID, + GFP_KERNEL); if (!nic_dev->vlan_bitmap) { err = -ENOMEM; goto err_vlan_bitmap; @@ -1510,8 +1478,15 @@ static int __init hinic_module_init(void) { + int ret; + hinic_dbg_register_debugfs(HINIC_DRV_NAME); - return pci_register_driver(&hinic_driver); + + ret = pci_register_driver(&hinic_driver); + if (ret) + hinic_dbg_unregister_debugfs(); + + return ret; } static void __exit hinic_module_exit(void) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/huawei/hinic/hinic_rx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/huawei/hinic/hinic_rx.c @@ -73,17 +73,15 @@ struct hinic_rxq_stats *rxq_stats = &rxq->rxq_stats; unsigned int start; - u64_stats_update_begin(&stats->syncp); do { - start = u64_stats_fetch_begin(&rxq_stats->syncp); + start = u64_stats_fetch_begin_irq(&rxq_stats->syncp); stats->pkts = rxq_stats->pkts; stats->bytes = rxq_stats->bytes; stats->errors = rxq_stats->csum_errors + rxq_stats->other_errors; stats->csum_errors = rxq_stats->csum_errors; stats->other_errors = rxq_stats->other_errors; - } while (u64_stats_fetch_retry(&rxq_stats->syncp, start)); - u64_stats_update_end(&stats->syncp); + } while (u64_stats_fetch_retry_irq(&rxq_stats->syncp, start)); } /** --- linux-gcp-5.19.0.orig/drivers/net/ethernet/huawei/hinic/hinic_sriov.c +++ linux-gcp-5.19.0/drivers/net/ethernet/huawei/hinic/hinic_sriov.c @@ -1181,7 +1181,6 @@ dev_err(&hwdev->hwif->pdev->dev, "Failed to register VF, err: %d, status: 0x%x, out size: 0x%x\n", err, register_info.status, out_size); - hinic_unregister_vf_mbox_cb(hwdev, HINIC_MOD_L2NIC); return -EIO; } } else { --- linux-gcp-5.19.0.orig/drivers/net/ethernet/huawei/hinic/hinic_tx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/huawei/hinic/hinic_tx.c @@ -98,17 +98,15 @@ struct hinic_txq_stats *txq_stats = &txq->txq_stats; unsigned int start; - u64_stats_update_begin(&stats->syncp); do { - start = u64_stats_fetch_begin(&txq_stats->syncp); + start = u64_stats_fetch_begin_irq(&txq_stats->syncp); stats->pkts = txq_stats->pkts; stats->bytes = txq_stats->bytes; stats->tx_busy = txq_stats->tx_busy; stats->tx_wake = txq_stats->tx_wake; stats->tx_dropped = txq_stats->tx_dropped; stats->big_frags_pkts = txq_stats->big_frags_pkts; - } while (u64_stats_fetch_retry(&txq_stats->syncp, start)); - u64_stats_update_end(&stats->syncp); + } while (u64_stats_fetch_retry_irq(&txq_stats->syncp, start)); } /** --- linux-gcp-5.19.0.orig/drivers/net/ethernet/ibm/ehea/ehea_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/ibm/ehea/ehea_main.c @@ -2900,6 +2900,7 @@ ret = of_device_register(&port->ofdev); if (ret) { pr_err("failed to register device. ret=%d\n", ret); + put_device(&port->ofdev.dev); goto out; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/ibm/ibmvnic.c +++ linux-gcp-5.19.0/drivers/net/ethernet/ibm/ibmvnic.c @@ -3007,19 +3007,19 @@ rwi = get_next_rwi(adapter); /* - * If there is another reset queued, free the previous rwi - * and process the new reset even if previous reset failed - * (the previous reset could have failed because of a fail - * over for instance, so process the fail over). - * * If there are no resets queued and the previous reset failed, * the adapter would be in an undefined state. So retry the * previous reset as a hard reset. + * + * Else, free the previous rwi and, if there is another reset + * queued, process the new reset even if previous reset failed + * (the previous reset could have failed because of a fail + * over for instance, so process the fail over). */ - if (rwi) - kfree(tmprwi); - else if (rc) + if (!rwi && rc) rwi = tmprwi; + else + kfree(tmprwi); if (rwi && (rwi->reset_reason == VNIC_RESET_FAILOVER || rwi->reset_reason == VNIC_RESET_MOBILITY || rc)) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/e100.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/e100.c @@ -1742,11 +1742,8 @@ dma_addr = dma_map_single(&nic->pdev->dev, skb->data, skb->len, DMA_TO_DEVICE); /* If we can't map the skb, have the upper layer try later */ - if (dma_mapping_error(&nic->pdev->dev, dma_addr)) { - dev_kfree_skb_any(skb); - skb = NULL; + if (dma_mapping_error(&nic->pdev->dev, dma_addr)) return -ENOMEM; - } /* * Use the last 4 bytes of the SKB payload packet as the CRC, used for --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/e1000e/ich8lan.h +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/e1000e/ich8lan.h @@ -41,7 +41,6 @@ #define E1000_FWSM_WLOCK_MAC_MASK 0x0380 #define E1000_FWSM_WLOCK_MAC_SHIFT 7 #define E1000_FWSM_ULP_CFG_DONE 0x00000400 /* Low power cfg done */ -#define E1000_EXFWSM_DPG_EXIT_DONE 0x00000001 /* Shared Receive Address Registers */ #define E1000_SHRAL_PCH_LPT(_i) (0x05408 + ((_i) * 8)) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/e1000e/netdev.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/e1000e/netdev.c @@ -5936,9 +5936,9 @@ e1000_tx_queue(tx_ring, tx_flags, count); /* Make sure there is space in the ring for the next send. */ e1000_maybe_stop_tx(tx_ring, - (MAX_SKB_FRAGS * + ((MAX_SKB_FRAGS + 1) * DIV_ROUND_UP(PAGE_SIZE, - adapter->tx_fifo_limit) + 2)); + adapter->tx_fifo_limit) + 4)); if (!netdev_xmit_more() || netif_xmit_stopped(netdev_get_tx_queue(netdev, 0))) { @@ -6487,10 +6487,8 @@ static void e1000e_s0ix_exit_flow(struct e1000_adapter *adapter) { struct e1000_hw *hw = &adapter->hw; - bool firmware_bug = false; u32 mac_data; u16 phy_data; - u32 i = 0; if (er32(FWSM) & E1000_ICH_FWSM_FW_VALID && hw->mac.type >= e1000_pch_adp) { @@ -6503,28 +6501,6 @@ mac_data &= ~E1000_H2ME_START_DPG; mac_data |= E1000_H2ME_EXIT_DPG; ew32(H2ME, mac_data); - - /* Poll up to 2.5 seconds for ME to unconfigure DPG. - * If this takes more than 1 second, show a warning indicating a - * firmware bug - */ - while (!(er32(EXFWSM) & E1000_EXFWSM_DPG_EXIT_DONE)) { - if (i > 100 && !firmware_bug) - firmware_bug = true; - - if (i++ == 250) { - e_dbg("Timeout (firmware bug): %d msec\n", - i * 10); - break; - } - - usleep_range(10000, 11000); - } - if (firmware_bug) - e_warn("DPG_EXIT_DONE took %d msec. This is a firmware bug\n", - i * 10); - else - e_dbg("DPG_EXIT_DONE cleared after %d msec\n", i * 10); } else { /* Request driver unconfigure the device from S0ix */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/e1000e/phy.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/e1000e/phy.c @@ -203,7 +203,7 @@ * Increasing the time out as testing showed failures with * the lower time out */ - for (i = 0; i < (E1000_GEN_POLL_TIMEOUT * 3); i++) { + for (i = 0; i < (E1000_GEN_POLL_TIMEOUT * 10); i++) { udelay(50); mdic = er32(MDIC); if (mdic & E1000_MDIC_READY) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/e1000e/regs.h +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/e1000e/regs.h @@ -213,7 +213,6 @@ #define E1000_FACTPS 0x05B30 /* Function Active and Power State to MNG */ #define E1000_SWSM 0x05B50 /* SW Semaphore */ #define E1000_FWSM 0x05B54 /* FW Semaphore */ -#define E1000_EXFWSM 0x05B58 /* Extended FW Semaphore */ /* Driver-only SW semaphore (not used by BOOT agents) */ #define E1000_SWSM2 0x05B58 #define E1000_FFLT_DBG 0x05F04 /* Debug Register */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/fm10k/fm10k_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/fm10k/fm10k_main.c @@ -32,6 +32,8 @@ **/ static int __init fm10k_init_module(void) { + int ret; + pr_info("%s\n", fm10k_driver_string); pr_info("%s\n", fm10k_copyright); @@ -43,7 +45,13 @@ fm10k_dbg_init(); - return fm10k_register_pci_driver(); + ret = fm10k_register_pci_driver(); + if (ret) { + fm10k_dbg_exit(); + destroy_workqueue(fm10k_workqueue); + } + + return ret; } module_init(fm10k_init_module); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/i40e/i40e.h +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/i40e/i40e.h @@ -1291,4 +1291,18 @@ int i40e_add_del_cloud_filter_big_buf(struct i40e_vsi *vsi, struct i40e_cloud_filter *filter, bool add); + +/** + * i40e_is_tc_mqprio_enabled - check if TC MQPRIO is enabled on PF + * @pf: pointer to a pf. + * + * Check and return value of flag I40E_FLAG_TC_MQPRIO. + * + * Return: I40E_FLAG_TC_MQPRIO set state. + **/ +static inline u32 i40e_is_tc_mqprio_enabled(struct i40e_pf *pf) +{ + return pf->flags & I40E_FLAG_TC_MQPRIO; +} + #endif /* _I40E_H_ */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/i40e/i40e_client.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/i40e/i40e_client.c @@ -177,6 +177,10 @@ "Cannot locate client instance close routine\n"); return; } + if (!test_bit(__I40E_CLIENT_INSTANCE_OPENED, &cdev->state)) { + dev_dbg(&pf->pdev->dev, "Client is not open, abort close\n"); + return; + } cdev->client->ops->close(&cdev->lan_info, cdev->client, reset); clear_bit(__I40E_CLIENT_INSTANCE_OPENED, &cdev->state); i40e_client_release_qvlist(&cdev->lan_info); @@ -429,7 +433,6 @@ /* Remove failed client instance */ clear_bit(__I40E_CLIENT_INSTANCE_OPENED, &cdev->state); - i40e_client_del_instance(pf); return; } } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/i40e/i40e_ethtool.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/i40e/i40e_ethtool.c @@ -2093,9 +2093,6 @@ err = i40e_setup_rx_descriptors(&rx_rings[i]); if (err) goto rx_unwind; - err = i40e_alloc_rx_bi(&rx_rings[i]); - if (err) - goto rx_unwind; /* now allocate the Rx buffers to make sure the OS * has enough memory, any failure here means abort @@ -3098,10 +3095,17 @@ if (cmd->flow_type == TCP_V4_FLOW || cmd->flow_type == UDP_V4_FLOW) { - if (i_set & I40E_L3_SRC_MASK) - cmd->data |= RXH_IP_SRC; - if (i_set & I40E_L3_DST_MASK) - cmd->data |= RXH_IP_DST; + if (hw->mac.type == I40E_MAC_X722) { + if (i_set & I40E_X722_L3_SRC_MASK) + cmd->data |= RXH_IP_SRC; + if (i_set & I40E_X722_L3_DST_MASK) + cmd->data |= RXH_IP_DST; + } else { + if (i_set & I40E_L3_SRC_MASK) + cmd->data |= RXH_IP_SRC; + if (i_set & I40E_L3_DST_MASK) + cmd->data |= RXH_IP_DST; + } } else if (cmd->flow_type == TCP_V6_FLOW || cmd->flow_type == UDP_V6_FLOW) { if (i_set & I40E_L3_V6_SRC_MASK) @@ -3459,12 +3463,15 @@ /** * i40e_get_rss_hash_bits - Read RSS Hash bits from register + * @hw: hw structure * @nfc: pointer to user request * @i_setc: bits currently set * * Returns value of bits to be set per user request **/ -static u64 i40e_get_rss_hash_bits(struct ethtool_rxnfc *nfc, u64 i_setc) +static u64 i40e_get_rss_hash_bits(struct i40e_hw *hw, + struct ethtool_rxnfc *nfc, + u64 i_setc) { u64 i_set = i_setc; u64 src_l3 = 0, dst_l3 = 0; @@ -3483,8 +3490,13 @@ dst_l3 = I40E_L3_V6_DST_MASK; } else if (nfc->flow_type == TCP_V4_FLOW || nfc->flow_type == UDP_V4_FLOW) { - src_l3 = I40E_L3_SRC_MASK; - dst_l3 = I40E_L3_DST_MASK; + if (hw->mac.type == I40E_MAC_X722) { + src_l3 = I40E_X722_L3_SRC_MASK; + dst_l3 = I40E_X722_L3_DST_MASK; + } else { + src_l3 = I40E_L3_SRC_MASK; + dst_l3 = I40E_L3_DST_MASK; + } } else { /* Any other flow type are not supported here */ return i_set; @@ -3502,6 +3514,7 @@ return i_set; } +#define FLOW_PCTYPES_SIZE 64 /** * i40e_set_rss_hash_opt - Enable/Disable flow types for RSS hash * @pf: pointer to the physical function struct @@ -3514,9 +3527,11 @@ struct i40e_hw *hw = &pf->hw; u64 hena = (u64)i40e_read_rx_ctl(hw, I40E_PFQF_HENA(0)) | ((u64)i40e_read_rx_ctl(hw, I40E_PFQF_HENA(1)) << 32); - u8 flow_pctype = 0; + DECLARE_BITMAP(flow_pctypes, FLOW_PCTYPES_SIZE); u64 i_set, i_setc; + bitmap_zero(flow_pctypes, FLOW_PCTYPES_SIZE); + if (pf->flags & I40E_FLAG_MFP_ENABLED) { dev_err(&pf->pdev->dev, "Change of RSS hash input set is not supported when MFP mode is enabled\n"); @@ -3532,36 +3547,35 @@ switch (nfc->flow_type) { case TCP_V4_FLOW: - flow_pctype = I40E_FILTER_PCTYPE_NONF_IPV4_TCP; + set_bit(I40E_FILTER_PCTYPE_NONF_IPV4_TCP, flow_pctypes); if (pf->hw_features & I40E_HW_MULTIPLE_TCP_UDP_RSS_PCTYPE) - hena |= - BIT_ULL(I40E_FILTER_PCTYPE_NONF_IPV4_TCP_SYN_NO_ACK); + set_bit(I40E_FILTER_PCTYPE_NONF_IPV4_TCP_SYN_NO_ACK, + flow_pctypes); break; case TCP_V6_FLOW: - flow_pctype = I40E_FILTER_PCTYPE_NONF_IPV6_TCP; + set_bit(I40E_FILTER_PCTYPE_NONF_IPV6_TCP, flow_pctypes); if (pf->hw_features & I40E_HW_MULTIPLE_TCP_UDP_RSS_PCTYPE) - hena |= - BIT_ULL(I40E_FILTER_PCTYPE_NONF_IPV4_TCP_SYN_NO_ACK); - if (pf->hw_features & I40E_HW_MULTIPLE_TCP_UDP_RSS_PCTYPE) - hena |= - BIT_ULL(I40E_FILTER_PCTYPE_NONF_IPV6_TCP_SYN_NO_ACK); + set_bit(I40E_FILTER_PCTYPE_NONF_IPV6_TCP_SYN_NO_ACK, + flow_pctypes); break; case UDP_V4_FLOW: - flow_pctype = I40E_FILTER_PCTYPE_NONF_IPV4_UDP; - if (pf->hw_features & I40E_HW_MULTIPLE_TCP_UDP_RSS_PCTYPE) - hena |= - BIT_ULL(I40E_FILTER_PCTYPE_NONF_UNICAST_IPV4_UDP) | - BIT_ULL(I40E_FILTER_PCTYPE_NONF_MULTICAST_IPV4_UDP); - + set_bit(I40E_FILTER_PCTYPE_NONF_IPV4_UDP, flow_pctypes); + if (pf->hw_features & I40E_HW_MULTIPLE_TCP_UDP_RSS_PCTYPE) { + set_bit(I40E_FILTER_PCTYPE_NONF_UNICAST_IPV4_UDP, + flow_pctypes); + set_bit(I40E_FILTER_PCTYPE_NONF_MULTICAST_IPV4_UDP, + flow_pctypes); + } hena |= BIT_ULL(I40E_FILTER_PCTYPE_FRAG_IPV4); break; case UDP_V6_FLOW: - flow_pctype = I40E_FILTER_PCTYPE_NONF_IPV6_UDP; - if (pf->hw_features & I40E_HW_MULTIPLE_TCP_UDP_RSS_PCTYPE) - hena |= - BIT_ULL(I40E_FILTER_PCTYPE_NONF_UNICAST_IPV6_UDP) | - BIT_ULL(I40E_FILTER_PCTYPE_NONF_MULTICAST_IPV6_UDP); - + set_bit(I40E_FILTER_PCTYPE_NONF_IPV6_UDP, flow_pctypes); + if (pf->hw_features & I40E_HW_MULTIPLE_TCP_UDP_RSS_PCTYPE) { + set_bit(I40E_FILTER_PCTYPE_NONF_UNICAST_IPV6_UDP, + flow_pctypes); + set_bit(I40E_FILTER_PCTYPE_NONF_MULTICAST_IPV6_UDP, + flow_pctypes); + } hena |= BIT_ULL(I40E_FILTER_PCTYPE_FRAG_IPV6); break; case AH_ESP_V4_FLOW: @@ -3594,17 +3608,20 @@ return -EINVAL; } - if (flow_pctype) { - i_setc = (u64)i40e_read_rx_ctl(hw, I40E_GLQF_HASH_INSET(0, - flow_pctype)) | - ((u64)i40e_read_rx_ctl(hw, I40E_GLQF_HASH_INSET(1, - flow_pctype)) << 32); - i_set = i40e_get_rss_hash_bits(nfc, i_setc); - i40e_write_rx_ctl(hw, I40E_GLQF_HASH_INSET(0, flow_pctype), - (u32)i_set); - i40e_write_rx_ctl(hw, I40E_GLQF_HASH_INSET(1, flow_pctype), - (u32)(i_set >> 32)); - hena |= BIT_ULL(flow_pctype); + if (bitmap_weight(flow_pctypes, FLOW_PCTYPES_SIZE)) { + u8 flow_id; + + for_each_set_bit(flow_id, flow_pctypes, FLOW_PCTYPES_SIZE) { + i_setc = (u64)i40e_read_rx_ctl(hw, I40E_GLQF_HASH_INSET(0, flow_id)) | + ((u64)i40e_read_rx_ctl(hw, I40E_GLQF_HASH_INSET(1, flow_id)) << 32); + i_set = i40e_get_rss_hash_bits(&pf->hw, nfc, i_setc); + + i40e_write_rx_ctl(hw, I40E_GLQF_HASH_INSET(0, flow_id), + (u32)i_set); + i40e_write_rx_ctl(hw, I40E_GLQF_HASH_INSET(1, flow_id), + (u32)(i_set >> 32)); + hena |= BIT_ULL(flow_id); + } } i40e_write_rx_ctl(hw, I40E_PFQF_HENA(0), (u32)hena); @@ -4357,11 +4374,7 @@ return -EOPNOTSUPP; /* First 4 bytes of L4 header */ - if (usr_ip4_spec->l4_4_bytes == htonl(0xFFFFFFFF)) - new_mask |= I40E_L4_SRC_MASK | I40E_L4_DST_MASK; - else if (!usr_ip4_spec->l4_4_bytes) - new_mask &= ~(I40E_L4_SRC_MASK | I40E_L4_DST_MASK); - else + if (usr_ip4_spec->l4_4_bytes) return -EOPNOTSUPP; /* Filtering on Type of Service is not supported. */ @@ -4395,16 +4408,12 @@ (struct in6_addr *)&ipv6_full_mask)) new_mask |= I40E_L3_V6_DST_MASK; else if (ipv6_addr_any((struct in6_addr *) - &usr_ip6_spec->ip6src)) + &usr_ip6_spec->ip6dst)) new_mask &= ~I40E_L3_V6_DST_MASK; else return -EOPNOTSUPP; - if (usr_ip6_spec->l4_4_bytes == htonl(0xFFFFFFFF)) - new_mask |= I40E_L4_SRC_MASK | I40E_L4_DST_MASK; - else if (!usr_ip6_spec->l4_4_bytes) - new_mask &= ~(I40E_L4_SRC_MASK | I40E_L4_DST_MASK); - else + if (usr_ip6_spec->l4_4_bytes) return -EOPNOTSUPP; /* Filtering on Traffic class is not supported. */ @@ -4931,7 +4940,7 @@ /* We do not support setting channels via ethtool when TCs are * configured through mqprio */ - if (pf->flags & I40E_FLAG_TC_MQPRIO) + if (i40e_is_tc_mqprio_enabled(pf)) return -EINVAL; /* verify they are not requesting separate vectors */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/i40e/i40e_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/i40e/i40e_main.c @@ -384,7 +384,9 @@ set_bit(__I40E_GLOBAL_RESET_REQUESTED, pf->state); break; default: - netdev_err(netdev, "tx_timeout recovery unsuccessful\n"); + netdev_err(netdev, "tx_timeout recovery unsuccessful, device is in non-recoverable state.\n"); + set_bit(__I40E_DOWN_REQUESTED, pf->state); + set_bit(__I40E_VSI_DOWN_REQUESTED, vsi->state); break; } @@ -2806,7 +2808,7 @@ struct i40e_pf *pf = vsi->back; if (i40e_enabled_xdp_vsi(vsi)) { - int frame_size = new_mtu + ETH_HLEN + ETH_FCS_LEN + VLAN_HLEN; + int frame_size = new_mtu + I40E_PACKET_HDR_PAD; if (frame_size > i40e_max_xdp_frame_size(vsi)) return -EINVAL; @@ -3438,12 +3440,8 @@ if (ring->vsi->type == I40E_VSI_MAIN) xdp_rxq_info_unreg_mem_model(&ring->xdp_rxq); - kfree(ring->rx_bi); ring->xsk_pool = i40e_xsk_pool(ring); if (ring->xsk_pool) { - ret = i40e_alloc_rx_bi_zc(ring); - if (ret) - return ret; ring->rx_buf_len = xsk_pool_get_rx_frame_size(ring->xsk_pool); /* For AF_XDP ZC, we disallow packets to span on @@ -3461,9 +3459,6 @@ ring->queue_index); } else { - ret = i40e_alloc_rx_bi(ring); - if (ret) - return ret; ring->rx_buf_len = vsi->rx_buf_len; if (ring->vsi->type == I40E_VSI_MAIN) { ret = xdp_rxq_info_reg_mem_model(&ring->xdp_rxq, @@ -3573,6 +3568,24 @@ } /** + * i40e_calculate_vsi_rx_buf_len - Calculates buffer length + * + * @vsi: VSI to calculate rx_buf_len from + */ +static u16 i40e_calculate_vsi_rx_buf_len(struct i40e_vsi *vsi) +{ + if (!vsi->netdev || (vsi->back->flags & I40E_FLAG_LEGACY_RX)) + return I40E_RXBUFFER_2048; + +#if (PAGE_SIZE < 8192) + if (!I40E_2K_TOO_SMALL_WITH_PADDING && vsi->netdev->mtu <= ETH_DATA_LEN) + return I40E_RXBUFFER_1536 - NET_IP_ALIGN; +#endif + + return PAGE_SIZE < 8192 ? I40E_RXBUFFER_3072 : I40E_RXBUFFER_2048; +} + +/** * i40e_vsi_configure_rx - Configure the VSI for Rx * @vsi: the VSI being configured * @@ -3583,20 +3596,14 @@ int err = 0; u16 i; - if (!vsi->netdev || (vsi->back->flags & I40E_FLAG_LEGACY_RX)) { - vsi->max_frame = I40E_MAX_RXBUFFER; - vsi->rx_buf_len = I40E_RXBUFFER_2048; + vsi->max_frame = I40E_MAX_RXBUFFER; + vsi->rx_buf_len = i40e_calculate_vsi_rx_buf_len(vsi); + #if (PAGE_SIZE < 8192) - } else if (!I40E_2K_TOO_SMALL_WITH_PADDING && - (vsi->netdev->mtu <= ETH_DATA_LEN)) { + if (vsi->netdev && !I40E_2K_TOO_SMALL_WITH_PADDING && + vsi->netdev->mtu <= ETH_DATA_LEN) vsi->max_frame = I40E_RXBUFFER_1536 - NET_IP_ALIGN; - vsi->rx_buf_len = I40E_RXBUFFER_1536 - NET_IP_ALIGN; #endif - } else { - vsi->max_frame = I40E_MAX_RXBUFFER; - vsi->rx_buf_len = (PAGE_SIZE < 8192) ? I40E_RXBUFFER_3072 : - I40E_RXBUFFER_2048; - } /* set up individual rings */ for (i = 0; i < vsi->num_queue_pairs && !err; i++) @@ -5337,7 +5344,7 @@ u8 num_tc = 0; struct i40e_dcbx_config *dcbcfg = &hw->local_dcbx_config; - if (pf->flags & I40E_FLAG_TC_MQPRIO) + if (i40e_is_tc_mqprio_enabled(pf)) return pf->vsi[pf->lan_vsi]->mqprio_qopt.qopt.num_tc; /* If neither MQPRIO nor DCB is enabled, then always use single TC */ @@ -5369,7 +5376,7 @@ **/ static u8 i40e_pf_get_tc_map(struct i40e_pf *pf) { - if (pf->flags & I40E_FLAG_TC_MQPRIO) + if (i40e_is_tc_mqprio_enabled(pf)) return i40e_mqprio_get_enabled_tc(pf); /* If neither MQPRIO nor DCB is enabled for this PF then just return @@ -5466,7 +5473,7 @@ int i; /* There is no need to reset BW when mqprio mode is on. */ - if (pf->flags & I40E_FLAG_TC_MQPRIO) + if (i40e_is_tc_mqprio_enabled(pf)) return 0; if (!vsi->mqprio_qopt.qopt.hw && !(pf->flags & I40E_FLAG_DCB_ENABLED)) { ret = i40e_set_bw_limit(vsi, vsi->seid, 0); @@ -5538,7 +5545,7 @@ vsi->tc_config.tc_info[i].qoffset); } - if (pf->flags & I40E_FLAG_TC_MQPRIO) + if (i40e_is_tc_mqprio_enabled(pf)) return; /* Assign UP2TC map for the VSI */ @@ -5699,7 +5706,7 @@ ctxt.vf_num = 0; ctxt.uplink_seid = vsi->uplink_seid; ctxt.info = vsi->info; - if (vsi->back->flags & I40E_FLAG_TC_MQPRIO) { + if (i40e_is_tc_mqprio_enabled(pf)) { ret = i40e_vsi_setup_queue_map_mqprio(vsi, &ctxt, enabled_tc); if (ret) goto out; @@ -5784,6 +5791,26 @@ } /** + * i40e_bw_bytes_to_mbits - Convert max_tx_rate from bytes to mbits + * @vsi: Pointer to vsi structure + * @max_tx_rate: max TX rate in bytes to be converted into Mbits + * + * Helper function to convert units before send to set BW limit + **/ +static u64 i40e_bw_bytes_to_mbits(struct i40e_vsi *vsi, u64 max_tx_rate) +{ + if (max_tx_rate < I40E_BW_MBPS_DIVISOR) { + dev_warn(&vsi->back->pdev->dev, + "Setting max tx rate to minimum usable value of 50Mbps.\n"); + max_tx_rate = I40E_BW_CREDIT_DIVISOR; + } else { + do_div(max_tx_rate, I40E_BW_MBPS_DIVISOR); + } + + return max_tx_rate; +} + +/** * i40e_set_bw_limit - setup BW limit for Tx traffic based on max_tx_rate * @vsi: VSI to be configured * @seid: seid of the channel/VSI @@ -5805,10 +5832,10 @@ max_tx_rate, seid); return -EINVAL; } - if (max_tx_rate && max_tx_rate < 50) { + if (max_tx_rate && max_tx_rate < I40E_BW_CREDIT_DIVISOR) { dev_warn(&pf->pdev->dev, "Setting max tx rate to minimum usable value of 50Mbps.\n"); - max_tx_rate = 50; + max_tx_rate = I40E_BW_CREDIT_DIVISOR; } /* Tx rate credits are in values of 50Mbps, 0 is disabled */ @@ -6423,7 +6450,7 @@ pf->flags |= I40E_FLAG_VEB_MODE_ENABLED; if (vsi->type == I40E_VSI_MAIN) { - if (pf->flags & I40E_FLAG_TC_MQPRIO) + if (i40e_is_tc_mqprio_enabled(pf)) i40e_do_reset(pf, I40E_PF_RESET_FLAG, true); else i40e_do_reset_safe(pf, I40E_PF_RESET_FLAG); @@ -6534,6 +6561,9 @@ vsi->tc_seid_map[i] = ch->seid; } } + + /* reset to reconfigure TX queue contexts */ + i40e_do_reset(vsi->back, I40E_PF_RESET_FLAG, true); return ret; err_free: @@ -7817,7 +7847,7 @@ netdev_info(netdev, "Macvlans are not supported when DCB is enabled\n"); return ERR_PTR(-EINVAL); } - if ((pf->flags & I40E_FLAG_TC_MQPRIO)) { + if (i40e_is_tc_mqprio_enabled(pf)) { netdev_info(netdev, "Macvlans are not supported when HW TC offload is on\n"); return ERR_PTR(-EINVAL); } @@ -8070,7 +8100,7 @@ /* Quiesce VSI queues */ i40e_quiesce_vsi(vsi); - if (!hw && !(pf->flags & I40E_FLAG_TC_MQPRIO)) + if (!hw && !i40e_is_tc_mqprio_enabled(pf)) i40e_remove_queue_channels(vsi); /* Configure VSI for enabled TCs */ @@ -8094,11 +8124,11 @@ "Setup channel (id:%u) utilizing num_queues %d\n", vsi->seid, vsi->tc_config.tc_info[0].qcount); - if (pf->flags & I40E_FLAG_TC_MQPRIO) { + if (i40e_is_tc_mqprio_enabled(pf)) { if (vsi->mqprio_qopt.max_rate[0]) { - u64 max_tx_rate = vsi->mqprio_qopt.max_rate[0]; + u64 max_tx_rate = i40e_bw_bytes_to_mbits(vsi, + vsi->mqprio_qopt.max_rate[0]); - do_div(max_tx_rate, I40E_BW_MBPS_DIVISOR); ret = i40e_set_bw_limit(vsi, vsi->seid, max_tx_rate); if (!ret) { u64 credits = max_tx_rate; @@ -10521,6 +10551,21 @@ } /** + * i40e_clean_xps_state - clean xps state for every tx_ring + * @vsi: ptr to the VSI + **/ +static void i40e_clean_xps_state(struct i40e_vsi *vsi) +{ + int i; + + if (vsi->tx_rings) + for (i = 0; i < vsi->num_queue_pairs; i++) + if (vsi->tx_rings[i]) + clear_bit(__I40E_TX_XPS_INIT_DONE, + vsi->tx_rings[i]->state); +} + +/** * i40e_prep_for_reset - prep for the core to reset * @pf: board private structure * @@ -10544,8 +10589,10 @@ i40e_pf_quiesce_all_vsi(pf); for (v = 0; v < pf->num_alloc_vsi; v++) { - if (pf->vsi[v]) + if (pf->vsi[v]) { + i40e_clean_xps_state(pf->vsi[v]); pf->vsi[v]->seid = 0; + } } i40e_shutdown_adminq(&pf->hw); @@ -10748,7 +10795,7 @@ * unless I40E_FLAG_TC_MQPRIO was enabled or DCB * is not supported with new link speed */ - if (pf->flags & I40E_FLAG_TC_MQPRIO) { + if (i40e_is_tc_mqprio_enabled(pf)) { i40e_aq_set_dcb_parameters(hw, false, NULL); } else { if (I40E_IS_X710TL_DEVICE(hw->device_id) && @@ -10843,10 +10890,10 @@ } if (vsi->mqprio_qopt.max_rate[0]) { - u64 max_tx_rate = vsi->mqprio_qopt.max_rate[0]; + u64 max_tx_rate = i40e_bw_bytes_to_mbits(vsi, + vsi->mqprio_qopt.max_rate[0]); u64 credits = 0; - do_div(max_tx_rate, I40E_BW_MBPS_DIVISOR); ret = i40e_set_bw_limit(vsi, vsi->seid, max_tx_rate); if (ret) goto end_unlock; @@ -12978,6 +13025,8 @@ } br_spec = nlmsg_find_attr(nlh, sizeof(struct ifinfomsg), IFLA_AF_SPEC); + if (!br_spec) + return -EINVAL; nla_for_each_nested(attr, br_spec, rem) { __u16 mode; @@ -13132,7 +13181,7 @@ int i; /* Don't allow frames that span over multiple buffers */ - if (frame_size > vsi->rx_buf_len) { + if (frame_size > i40e_calculate_vsi_rx_buf_len(vsi)) { NL_SET_ERR_MSG_MOD(extack, "MTU too large to enable XDP"); return -EINVAL; } @@ -13156,6 +13205,14 @@ i40e_reset_and_rebuild(pf, true, true); } + if (!i40e_enabled_xdp_vsi(vsi) && prog) { + if (i40e_realloc_rx_bi_zc(vsi, true)) + return -ENOMEM; + } else if (i40e_enabled_xdp_vsi(vsi) && !prog) { + if (i40e_realloc_rx_bi_zc(vsi, false)) + return -ENOMEM; + } + for (i = 0; i < vsi->num_queue_pairs; i++) WRITE_ONCE(vsi->rx_rings[i]->xdp_prog, vsi->xdp_prog); @@ -13388,6 +13445,7 @@ i40e_queue_pair_disable_irq(vsi, queue_pair); err = i40e_queue_pair_toggle_rings(vsi, queue_pair, false /* off */); + i40e_clean_rx_ring(vsi->rx_rings[queue_pair]); i40e_queue_pair_toggle_napi(vsi, queue_pair, false /* off */); i40e_queue_pair_clean_rings(vsi, queue_pair); i40e_queue_pair_reset_stats(vsi, queue_pair); @@ -16502,6 +16560,8 @@ **/ static int __init i40e_init_module(void) { + int err; + pr_info("%s: %s\n", i40e_driver_name, i40e_driver_string); pr_info("%s: %s\n", i40e_driver_name, i40e_copyright); @@ -16519,7 +16579,14 @@ } i40e_dbg_init(); - return pci_register_driver(&i40e_driver); + err = pci_register_driver(&i40e_driver); + if (err) { + destroy_workqueue(i40e_wq); + i40e_dbg_exit(); + return err; + } + + return 0; } module_init(i40e_init_module); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/i40e/i40e_txrx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/i40e/i40e_txrx.c @@ -1458,14 +1458,6 @@ return -ENOMEM; } -int i40e_alloc_rx_bi(struct i40e_ring *rx_ring) -{ - unsigned long sz = sizeof(*rx_ring->rx_bi) * rx_ring->count; - - rx_ring->rx_bi = kzalloc(sz, GFP_KERNEL); - return rx_ring->rx_bi ? 0 : -ENOMEM; -} - static void i40e_clear_rx_bi(struct i40e_ring *rx_ring) { memset(rx_ring->rx_bi, 0, sizeof(*rx_ring->rx_bi) * rx_ring->count); @@ -1596,6 +1588,11 @@ rx_ring->xdp_prog = rx_ring->vsi->xdp_prog; + rx_ring->rx_bi = + kcalloc(rx_ring->count, sizeof(*rx_ring->rx_bi), GFP_KERNEL); + if (!rx_ring->rx_bi) + return -ENOMEM; + return 0; } @@ -3204,11 +3201,13 @@ protocol = vlan_get_protocol(skb); - if (eth_p_mpls(protocol)) + if (eth_p_mpls(protocol)) { ip.hdr = skb_inner_network_header(skb); - else + l4.hdr = skb_checksum_start(skb); + } else { ip.hdr = skb_network_header(skb); - l4.hdr = skb_checksum_start(skb); + l4.hdr = skb_transport_header(skb); + } /* set the tx_flags to indicate the IP protocol type. this is * required so that checksum header computation below is accurate. @@ -3687,7 +3686,8 @@ u8 prio; /* is DCB enabled at all? */ - if (vsi->tc_config.numtc == 1) + if (vsi->tc_config.numtc == 1 || + i40e_is_tc_mqprio_enabled(vsi->back)) return netdev_pick_tx(netdev, skb, sb_dev); prio = skb->priority; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/i40e/i40e_txrx.h +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/i40e/i40e_txrx.h @@ -469,7 +469,6 @@ bool __i40e_chk_linearize(struct sk_buff *skb); int i40e_xdp_xmit(struct net_device *dev, int n, struct xdp_frame **frames, u32 flags); -int i40e_alloc_rx_bi(struct i40e_ring *rx_ring); /** * i40e_get_head - Retrieve head from head writeback --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/i40e/i40e_type.h +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/i40e/i40e_type.h @@ -1404,6 +1404,10 @@ #define I40E_PFQF_CTL_0_HASHLUTSIZE_512 0x00010000 /* INPUT SET MASK for RSS, flow director, and flexible payload */ +#define I40E_X722_L3_SRC_SHIFT 49 +#define I40E_X722_L3_SRC_MASK (0x3ULL << I40E_X722_L3_SRC_SHIFT) +#define I40E_X722_L3_DST_SHIFT 41 +#define I40E_X722_L3_DST_MASK (0x3ULL << I40E_X722_L3_DST_SHIFT) #define I40E_L3_SRC_SHIFT 47 #define I40E_L3_SRC_MASK (0x3ULL << I40E_L3_SRC_SHIFT) #define I40E_L3_V6_SRC_SHIFT 43 --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c @@ -1536,10 +1536,12 @@ if (test_bit(__I40E_VF_RESETS_DISABLED, pf->state)) return true; - /* If the VFs have been disabled, this means something else is - * resetting the VF, so we shouldn't continue. - */ - if (test_and_set_bit(__I40E_VF_DISABLE, pf->state)) + /* Bail out if VFs are disabled. */ + if (test_bit(__I40E_VF_DISABLE, pf->state)) + return true; + + /* If VF is being reset already we don't need to continue. */ + if (test_and_set_bit(I40E_VF_STATE_RESETTING, &vf->vf_states)) return true; i40e_trigger_vf_reset(vf, flr); @@ -1576,7 +1578,8 @@ i40e_cleanup_reset_vf(vf); i40e_flush(hw); - clear_bit(__I40E_VF_DISABLE, pf->state); + usleep_range(20000, 40000); + clear_bit(I40E_VF_STATE_RESETTING, &vf->vf_states); return true; } @@ -1609,8 +1612,12 @@ return false; /* Begin reset on all VFs at once */ - for (v = 0; v < pf->num_alloc_vfs; v++) - i40e_trigger_vf_reset(&pf->vf[v], flr); + for (v = 0; v < pf->num_alloc_vfs; v++) { + vf = &pf->vf[v]; + /* If VF is being reset no need to trigger reset again */ + if (!test_bit(I40E_VF_STATE_RESETTING, &vf->vf_states)) + i40e_trigger_vf_reset(&pf->vf[v], flr); + } /* HW requires some time to make sure it can flush the FIFO for a VF * when it resets it. Poll the VPGEN_VFRSTAT register for each VF in @@ -1626,9 +1633,11 @@ */ while (v < pf->num_alloc_vfs) { vf = &pf->vf[v]; - reg = rd32(hw, I40E_VPGEN_VFRSTAT(vf->vf_id)); - if (!(reg & I40E_VPGEN_VFRSTAT_VFRD_MASK)) - break; + if (!test_bit(I40E_VF_STATE_RESETTING, &vf->vf_states)) { + reg = rd32(hw, I40E_VPGEN_VFRSTAT(vf->vf_id)); + if (!(reg & I40E_VPGEN_VFRSTAT_VFRD_MASK)) + break; + } /* If the current VF has finished resetting, move on * to the next VF in sequence. @@ -1656,6 +1665,10 @@ if (pf->vf[v].lan_vsi_idx == 0) continue; + /* If VF is reset in another thread just continue */ + if (test_bit(I40E_VF_STATE_RESETTING, &vf->vf_states)) + continue; + i40e_vsi_stop_rings_no_wait(pf->vsi[pf->vf[v].lan_vsi_idx]); } @@ -1667,6 +1680,10 @@ if (pf->vf[v].lan_vsi_idx == 0) continue; + /* If VF is reset in another thread just continue */ + if (test_bit(I40E_VF_STATE_RESETTING, &vf->vf_states)) + continue; + i40e_vsi_wait_queues_disabled(pf->vsi[pf->vf[v].lan_vsi_idx]); } @@ -1676,10 +1693,16 @@ mdelay(50); /* Finish the reset on each VF */ - for (v = 0; v < pf->num_alloc_vfs; v++) + for (v = 0; v < pf->num_alloc_vfs; v++) { + /* If VF is reset in another thread just continue */ + if (test_bit(I40E_VF_STATE_RESETTING, &vf->vf_states)) + continue; + i40e_cleanup_reset_vf(&pf->vf[v]); + } i40e_flush(hw); + usleep_range(20000, 40000); clear_bit(__I40E_VF_DISABLE, pf->state); return true; @@ -2039,6 +2062,25 @@ } /** + * i40e_vc_get_max_frame_size + * @vf: pointer to the VF + * + * Max frame size is determined based on the current port's max frame size and + * whether a port VLAN is configured on this VF. The VF is not aware whether + * it's in a port VLAN so the PF needs to account for this in max frame size + * checks and sending the max frame size to the VF. + **/ +static u16 i40e_vc_get_max_frame_size(struct i40e_vf *vf) +{ + u16 max_frame_size = vf->pf->hw.phy.link_info.max_frame_size; + + if (vf->port_vlan_id) + max_frame_size -= VLAN_HLEN; + + return max_frame_size; +} + +/** * i40e_vc_get_vf_resources_msg * @vf: pointer to the VF info * @msg: pointer to the msg buffer @@ -2139,6 +2181,7 @@ vfres->max_vectors = pf->hw.func_caps.num_msix_vectors_vf; vfres->rss_key_size = I40E_HKEY_ARRAY_SIZE; vfres->rss_lut_size = I40E_VF_HLUT_ARRAY_SIZE; + vfres->max_mtu = i40e_vc_get_max_frame_size(vf); if (vf->lan_vsi_idx) { vfres->vsi_res[0].vsi_id = vf->lan_vsi_id; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h @@ -39,6 +39,7 @@ I40E_VF_STATE_MC_PROMISC, I40E_VF_STATE_UC_PROMISC, I40E_VF_STATE_PRE_ENABLE, + I40E_VF_STATE_RESETTING }; /* VF capabilities */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/i40e/i40e_xsk.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/i40e/i40e_xsk.c @@ -10,14 +10,6 @@ #include "i40e_txrx_common.h" #include "i40e_xsk.h" -int i40e_alloc_rx_bi_zc(struct i40e_ring *rx_ring) -{ - unsigned long sz = sizeof(*rx_ring->rx_bi_zc) * rx_ring->count; - - rx_ring->rx_bi_zc = kzalloc(sz, GFP_KERNEL); - return rx_ring->rx_bi_zc ? 0 : -ENOMEM; -} - void i40e_clear_rx_bi_zc(struct i40e_ring *rx_ring) { memset(rx_ring->rx_bi_zc, 0, @@ -30,6 +22,58 @@ } /** + * i40e_realloc_rx_xdp_bi - reallocate SW ring for either XSK or normal buffer + * @rx_ring: Current rx ring + * @pool_present: is pool for XSK present + * + * Try allocating memory and return ENOMEM, if failed to allocate. + * If allocation was successful, substitute buffer with allocated one. + * Returns 0 on success, negative on failure + */ +static int i40e_realloc_rx_xdp_bi(struct i40e_ring *rx_ring, bool pool_present) +{ + size_t elem_size = pool_present ? sizeof(*rx_ring->rx_bi_zc) : + sizeof(*rx_ring->rx_bi); + void *sw_ring = kcalloc(rx_ring->count, elem_size, GFP_KERNEL); + + if (!sw_ring) + return -ENOMEM; + + if (pool_present) { + kfree(rx_ring->rx_bi); + rx_ring->rx_bi = NULL; + rx_ring->rx_bi_zc = sw_ring; + } else { + kfree(rx_ring->rx_bi_zc); + rx_ring->rx_bi_zc = NULL; + rx_ring->rx_bi = sw_ring; + } + return 0; +} + +/** + * i40e_realloc_rx_bi_zc - reallocate rx SW rings + * @vsi: Current VSI + * @zc: is zero copy set + * + * Reallocate buffer for rx_rings that might be used by XSK. + * XDP requires more memory, than rx_buf provides. + * Returns 0 on success, negative on failure + */ +int i40e_realloc_rx_bi_zc(struct i40e_vsi *vsi, bool zc) +{ + struct i40e_ring *rx_ring; + unsigned long q; + + for_each_set_bit(q, vsi->af_xdp_zc_qps, vsi->alloc_queue_pairs) { + rx_ring = vsi->rx_rings[q]; + if (i40e_realloc_rx_xdp_bi(rx_ring, zc)) + return -ENOMEM; + } + return 0; +} + +/** * i40e_xsk_pool_enable - Enable/associate an AF_XDP buffer pool to a * certain ring/qid * @vsi: Current VSI @@ -69,6 +113,10 @@ if (err) return err; + err = i40e_realloc_rx_xdp_bi(vsi->rx_rings[qid], true); + if (err) + return err; + err = i40e_queue_pair_enable(vsi, qid); if (err) return err; @@ -113,6 +161,9 @@ xsk_pool_dma_unmap(pool, I40E_RX_DMA_ATTR); if (if_running) { + err = i40e_realloc_rx_xdp_bi(vsi->rx_rings[qid], false); + if (err) + return err; err = i40e_queue_pair_enable(vsi, qid); if (err) return err; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/i40e/i40e_xsk.h +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/i40e/i40e_xsk.h @@ -32,7 +32,7 @@ bool i40e_clean_xdp_tx_irq(struct i40e_vsi *vsi, struct i40e_ring *tx_ring); int i40e_xsk_wakeup(struct net_device *dev, u32 queue_id, u32 flags); -int i40e_alloc_rx_bi_zc(struct i40e_ring *rx_ring); +int i40e_realloc_rx_bi_zc(struct i40e_vsi *vsi, bool zc); void i40e_clear_rx_bi_zc(struct i40e_ring *rx_ring); #endif /* _I40E_XSK_H_ */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/iavf/iavf.h +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/iavf/iavf.h @@ -92,6 +92,7 @@ #define IAVF_HKEY_ARRAY_SIZE ((IAVF_VFQF_HKEY_MAX_INDEX + 1) * 4) #define IAVF_HLUT_ARRAY_SIZE ((IAVF_VFQF_HLUT_MAX_INDEX + 1) * 4) #define IAVF_MBPS_DIVISOR 125000 /* divisor to convert to Mbps */ +#define IAVF_MBPS_QUANTA 50 #define IAVF_VIRTCHNL_VF_RESOURCE_SIZE (sizeof(struct virtchnl_vf_resource) + \ (IAVF_MAX_VF_VSI * \ @@ -430,6 +431,11 @@ /* lock to protect access to the cloud filter list */ spinlock_t cloud_filter_list_lock; u16 num_cloud_filters; + /* snapshot of "num_active_queues" before setup_tc for qdisc add + * is invoked. This information is useful during qdisc del flow, + * to restore correct number of queues + */ + int orig_num_active_queues; #define IAVF_MAX_FDIR_FILTERS 128 /* max allowed Flow Director filters */ u16 fdir_active_fltr; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/iavf/iavf_adminq.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/iavf/iavf_adminq.c @@ -324,6 +324,7 @@ static enum iavf_status iavf_init_asq(struct iavf_hw *hw) { enum iavf_status ret_code = 0; + int i; if (hw->aq.asq.count > 0) { /* queue already initialized */ @@ -354,12 +355,17 @@ /* initialize base registers */ ret_code = iavf_config_asq_regs(hw); if (ret_code) - goto init_adminq_free_rings; + goto init_free_asq_bufs; /* success! */ hw->aq.asq.count = hw->aq.num_asq_entries; goto init_adminq_exit; +init_free_asq_bufs: + for (i = 0; i < hw->aq.num_asq_entries; i++) + iavf_free_dma_mem(hw, &hw->aq.asq.r.asq_bi[i]); + iavf_free_virt_mem(hw, &hw->aq.asq.dma_head); + init_adminq_free_rings: iavf_free_adminq_asq(hw); @@ -383,6 +389,7 @@ static enum iavf_status iavf_init_arq(struct iavf_hw *hw) { enum iavf_status ret_code = 0; + int i; if (hw->aq.arq.count > 0) { /* queue already initialized */ @@ -413,12 +420,16 @@ /* initialize base registers */ ret_code = iavf_config_arq_regs(hw); if (ret_code) - goto init_adminq_free_rings; + goto init_free_arq_bufs; /* success! */ hw->aq.arq.count = hw->aq.num_arq_entries; goto init_adminq_exit; +init_free_arq_bufs: + for (i = 0; i < hw->aq.num_arq_entries; i++) + iavf_free_dma_mem(hw, &hw->aq.arq.r.arq_bi[i]); + iavf_free_virt_mem(hw, &hw->aq.arq.dma_head); init_adminq_free_rings: iavf_free_adminq_arq(hw); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/iavf/iavf_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/iavf/iavf_main.c @@ -1027,7 +1027,7 @@ /* schedule the watchdog task to immediately process the request */ if (f) - queue_work(iavf_wq, &adapter->watchdog_task.work); + mod_delayed_work(iavf_wq, &adapter->watchdog_task, 0); return (f == NULL) ? -ENOMEM : 0; } @@ -1184,66 +1184,138 @@ } /** - * iavf_down - Shutdown the connection processing + * iavf_clear_mac_vlan_filters - Remove mac and vlan filters not sent to PF + * yet and mark other to be removed. * @adapter: board private structure - * - * Expects to be called while holding the __IAVF_IN_CRITICAL_TASK bit lock. **/ -void iavf_down(struct iavf_adapter *adapter) +static void iavf_clear_mac_vlan_filters(struct iavf_adapter *adapter) { - struct net_device *netdev = adapter->netdev; - struct iavf_vlan_filter *vlf; - struct iavf_cloud_filter *cf; - struct iavf_fdir_fltr *fdir; - struct iavf_mac_filter *f; - struct iavf_adv_rss *rss; - - if (adapter->state <= __IAVF_DOWN_PENDING) - return; - - netif_carrier_off(netdev); - netif_tx_disable(netdev); - adapter->link_up = false; - iavf_napi_disable_all(adapter); - iavf_irq_disable(adapter); + struct iavf_vlan_filter *vlf, *vlftmp; + struct iavf_mac_filter *f, *ftmp; spin_lock_bh(&adapter->mac_vlan_list_lock); - /* clear the sync flag on all filters */ __dev_uc_unsync(adapter->netdev, NULL); __dev_mc_unsync(adapter->netdev, NULL); /* remove all MAC filters */ - list_for_each_entry(f, &adapter->mac_filter_list, list) { - f->remove = true; + list_for_each_entry_safe(f, ftmp, &adapter->mac_filter_list, + list) { + if (f->add) { + list_del(&f->list); + kfree(f); + } else { + f->remove = true; + } } /* remove all VLAN filters */ - list_for_each_entry(vlf, &adapter->vlan_filter_list, list) { - vlf->remove = true; + list_for_each_entry_safe(vlf, vlftmp, &adapter->vlan_filter_list, + list) { + if (vlf->add) { + list_del(&vlf->list); + kfree(vlf); + } else { + vlf->remove = true; + } } - spin_unlock_bh(&adapter->mac_vlan_list_lock); +} + +/** + * iavf_clear_cloud_filters - Remove cloud filters not sent to PF yet and + * mark other to be removed. + * @adapter: board private structure + **/ +static void iavf_clear_cloud_filters(struct iavf_adapter *adapter) +{ + struct iavf_cloud_filter *cf, *cftmp; /* remove all cloud filters */ spin_lock_bh(&adapter->cloud_filter_list_lock); - list_for_each_entry(cf, &adapter->cloud_filter_list, list) { - cf->del = true; + list_for_each_entry_safe(cf, cftmp, &adapter->cloud_filter_list, + list) { + if (cf->add) { + list_del(&cf->list); + kfree(cf); + adapter->num_cloud_filters--; + } else { + cf->del = true; + } } spin_unlock_bh(&adapter->cloud_filter_list_lock); +} + +/** + * iavf_clear_fdir_filters - Remove fdir filters not sent to PF yet and mark + * other to be removed. + * @adapter: board private structure + **/ +static void iavf_clear_fdir_filters(struct iavf_adapter *adapter) +{ + struct iavf_fdir_fltr *fdir, *fdirtmp; /* remove all Flow Director filters */ spin_lock_bh(&adapter->fdir_fltr_lock); - list_for_each_entry(fdir, &adapter->fdir_list_head, list) { - fdir->state = IAVF_FDIR_FLTR_DEL_REQUEST; + list_for_each_entry_safe(fdir, fdirtmp, &adapter->fdir_list_head, + list) { + if (fdir->state == IAVF_FDIR_FLTR_ADD_REQUEST) { + list_del(&fdir->list); + kfree(fdir); + adapter->fdir_active_fltr--; + } else { + fdir->state = IAVF_FDIR_FLTR_DEL_REQUEST; + } } spin_unlock_bh(&adapter->fdir_fltr_lock); +} + +/** + * iavf_clear_adv_rss_conf - Remove adv rss conf not sent to PF yet and mark + * other to be removed. + * @adapter: board private structure + **/ +static void iavf_clear_adv_rss_conf(struct iavf_adapter *adapter) +{ + struct iavf_adv_rss *rss, *rsstmp; /* remove all advance RSS configuration */ spin_lock_bh(&adapter->adv_rss_lock); - list_for_each_entry(rss, &adapter->adv_rss_list_head, list) - rss->state = IAVF_ADV_RSS_DEL_REQUEST; + list_for_each_entry_safe(rss, rsstmp, &adapter->adv_rss_list_head, + list) { + if (rss->state == IAVF_ADV_RSS_ADD_REQUEST) { + list_del(&rss->list); + kfree(rss); + } else { + rss->state = IAVF_ADV_RSS_DEL_REQUEST; + } + } spin_unlock_bh(&adapter->adv_rss_lock); +} + +/** + * iavf_down - Shutdown the connection processing + * @adapter: board private structure + * + * Expects to be called while holding the __IAVF_IN_CRITICAL_TASK bit lock. + **/ +void iavf_down(struct iavf_adapter *adapter) +{ + struct net_device *netdev = adapter->netdev; + + if (adapter->state <= __IAVF_DOWN_PENDING) + return; + + netif_carrier_off(netdev); + netif_tx_disable(netdev); + adapter->link_up = false; + iavf_napi_disable_all(adapter); + iavf_irq_disable(adapter); + + iavf_clear_mac_vlan_filters(adapter); + iavf_clear_cloud_filters(adapter); + iavf_clear_fdir_filters(adapter); + iavf_clear_adv_rss_conf(adapter); if (!(adapter->flags & IAVF_FLAG_PF_COMMS_FAILED)) { /* cancel any current operation */ @@ -1252,11 +1324,16 @@ * here for this to complete. The watchdog is still running * and it will take care of this. */ - adapter->aq_required = IAVF_FLAG_AQ_DEL_MAC_FILTER; - adapter->aq_required |= IAVF_FLAG_AQ_DEL_VLAN_FILTER; - adapter->aq_required |= IAVF_FLAG_AQ_DEL_CLOUD_FILTER; - adapter->aq_required |= IAVF_FLAG_AQ_DEL_FDIR_FILTER; - adapter->aq_required |= IAVF_FLAG_AQ_DEL_ADV_RSS_CFG; + if (!list_empty(&adapter->mac_filter_list)) + adapter->aq_required |= IAVF_FLAG_AQ_DEL_MAC_FILTER; + if (!list_empty(&adapter->vlan_filter_list)) + adapter->aq_required |= IAVF_FLAG_AQ_DEL_VLAN_FILTER; + if (!list_empty(&adapter->cloud_filter_list)) + adapter->aq_required |= IAVF_FLAG_AQ_DEL_CLOUD_FILTER; + if (!list_empty(&adapter->fdir_list_head)) + adapter->aq_required |= IAVF_FLAG_AQ_DEL_FDIR_FILTER; + if (!list_empty(&adapter->adv_rss_list_head)) + adapter->aq_required |= IAVF_FLAG_AQ_DEL_ADV_RSS_CFG; adapter->aq_required |= IAVF_FLAG_AQ_DISABLE_QUEUES; } @@ -2281,7 +2358,7 @@ err = iavf_get_vf_config(adapter); if (err == -EALREADY) { err = iavf_send_vf_config_msg(adapter); - goto err_alloc; + goto err; } else if (err == -EINVAL) { /* We only get -EINVAL if the device is in a very bad * state or if we've been disabled for previous bad @@ -2759,7 +2836,6 @@ iavf_free_queues(adapter); memset(adapter->vf_res, 0, IAVF_VIRTCHNL_VF_RESOURCE_SIZE); iavf_shutdown_adminq(&adapter->hw); - adapter->netdev->flags &= ~IFF_UP; adapter->flags &= ~IAVF_FLAG_RESET_PENDING; iavf_change_state(adapter, __IAVF_DOWN); wake_up(&adapter->down_waitqueue); @@ -2789,6 +2865,11 @@ int i = 0, err; bool running; + /* Detach interface to avoid subsequent NDO callbacks */ + rtnl_lock(); + netif_device_detach(netdev); + rtnl_unlock(); + /* When device is being removed it doesn't make sense to run the reset * task, just return in such a case. */ @@ -2796,7 +2877,7 @@ if (adapter->state != __IAVF_REMOVE) queue_work(iavf_wq, &adapter->reset_task); - return; + goto reset_finish; } while (!mutex_trylock(&adapter->client_lock)) @@ -2854,6 +2935,11 @@ iavf_disable_vf(adapter); mutex_unlock(&adapter->client_lock); mutex_unlock(&adapter->crit_lock); + if (netif_running(netdev)) { + rtnl_lock(); + dev_close(netdev); + rtnl_unlock(); + } return; /* Do not attempt to reinit. It's dead, Jim. */ } @@ -2996,14 +3082,31 @@ mutex_unlock(&adapter->client_lock); mutex_unlock(&adapter->crit_lock); - return; + goto reset_finish; reset_err: + if (running) { + set_bit(__IAVF_VSI_DOWN, adapter->vsi.state); + iavf_free_traffic_irqs(adapter); + } + iavf_disable_vf(adapter); + mutex_unlock(&adapter->client_lock); mutex_unlock(&adapter->crit_lock); - if (running) - iavf_change_state(adapter, __IAVF_RUNNING); + + if (netif_running(netdev)) { + /* Close device to ensure that Tx queues will not be started + * during netif_device_attach() at the end of the reset task. + */ + rtnl_lock(); + dev_close(netdev); + rtnl_unlock(); + } + dev_err(&adapter->pdev->dev, "failed to allocate resources during reinit\n"); - iavf_close(netdev); +reset_finish: + rtnl_lock(); + netif_device_attach(netdev); + rtnl_unlock(); } /** @@ -3322,6 +3425,7 @@ struct tc_mqprio_qopt_offload *mqprio_qopt) { u64 total_max_rate = 0; + u32 tx_rate_rem = 0; int i, num_qps = 0; u64 tx_rate = 0; int ret = 0; @@ -3336,12 +3440,32 @@ return -EINVAL; if (mqprio_qopt->min_rate[i]) { dev_err(&adapter->pdev->dev, - "Invalid min tx rate (greater than 0) specified\n"); + "Invalid min tx rate (greater than 0) specified for TC%d\n", + i); return -EINVAL; } - /*convert to Mbps */ + + /* convert to Mbps */ tx_rate = div_u64(mqprio_qopt->max_rate[i], IAVF_MBPS_DIVISOR); + + if (mqprio_qopt->max_rate[i] && + tx_rate < IAVF_MBPS_QUANTA) { + dev_err(&adapter->pdev->dev, + "Invalid max tx rate for TC%d, minimum %dMbps\n", + i, IAVF_MBPS_QUANTA); + return -EINVAL; + } + + (void)div_u64_rem(tx_rate, IAVF_MBPS_QUANTA, &tx_rate_rem); + + if (tx_rate_rem != 0) { + dev_err(&adapter->pdev->dev, + "Invalid max tx rate for TC%d, not divisible by %d\n", + i, IAVF_MBPS_QUANTA); + return -EINVAL; + } + total_max_rate += tx_rate; num_qps += mqprio_qopt->qopt.count[i]; } @@ -3408,6 +3532,7 @@ netif_tx_disable(netdev); iavf_del_all_cloud_filters(adapter); adapter->aq_required = IAVF_FLAG_AQ_DISABLE_CHANNELS; + total_qps = adapter->orig_num_active_queues; goto exit; } else { return -EINVAL; @@ -3451,7 +3576,21 @@ adapter->ch_config.ch_info[i].offset = 0; } } + + /* Take snapshot of original config such as "num_active_queues" + * It is used later when delete ADQ flow is exercised, so that + * once delete ADQ flow completes, VF shall go back to its + * original queue configuration + */ + + adapter->orig_num_active_queues = adapter->num_active_queues; + + /* Store queue info based on TC so that VF gets configured + * with correct number of queues when VF completes ADQ config + * flow + */ adapter->ch_config.total_qps = total_qps; + netif_tx_stop_all_queues(netdev); netif_tx_disable(netdev); adapter->aq_required |= IAVF_FLAG_AQ_ENABLE_CHANNELS; @@ -3468,6 +3607,12 @@ } } exit: + if (test_bit(__IAVF_IN_REMOVE_TASK, &adapter->crit_section)) + return 0; + + netif_set_real_num_rx_queues(netdev, total_qps); + netif_set_real_num_tx_queues(netdev, total_qps); + return ret; } @@ -3628,7 +3773,7 @@ field_flags |= IAVF_CLOUD_FIELD_IIP; } else { dev_err(&adapter->pdev->dev, "Bad ip src mask 0x%08x\n", - be32_to_cpu(match.mask->dst)); + be32_to_cpu(match.mask->src)); return -EINVAL; } } @@ -3944,8 +4089,17 @@ return -EIO; } - while (!mutex_trylock(&adapter->crit_lock)) + while (!mutex_trylock(&adapter->crit_lock)) { + /* If we are in __IAVF_INIT_CONFIG_ADAPTER state the crit_lock + * is already taken and iavf_open is called from an upper + * device's notifier reacting on NETDEV_REGISTER event. + * We have to leave here to avoid dead lock. + */ + if (adapter->state == __IAVF_INIT_CONFIG_ADAPTER) + return -EBUSY; + usleep_range(500, 1000); + } if (adapter->state != __IAVF_DOWN) { err = -EBUSY; @@ -4020,6 +4174,7 @@ static int iavf_close(struct net_device *netdev) { struct iavf_adapter *adapter = netdev_priv(netdev); + u64 aq_to_restore; int status; mutex_lock(&adapter->crit_lock); @@ -4032,6 +4187,29 @@ set_bit(__IAVF_VSI_DOWN, adapter->vsi.state); if (CLIENT_ENABLED(adapter)) adapter->flags |= IAVF_FLAG_CLIENT_NEEDS_CLOSE; + /* We cannot send IAVF_FLAG_AQ_GET_OFFLOAD_VLAN_V2_CAPS before + * IAVF_FLAG_AQ_DISABLE_QUEUES because in such case there is rtnl + * deadlock with adminq_task() until iavf_close timeouts. We must send + * IAVF_FLAG_AQ_GET_CONFIG before IAVF_FLAG_AQ_DISABLE_QUEUES to make + * disable queues possible for vf. Give only necessary flags to + * iavf_down and save other to set them right before iavf_close() + * returns, when IAVF_FLAG_AQ_DISABLE_QUEUES will be already sent and + * iavf will be in DOWN state. + */ + aq_to_restore = adapter->aq_required; + adapter->aq_required &= IAVF_FLAG_AQ_GET_CONFIG; + + /* Remove flags which we do not want to send after close or we want to + * send before disable queues. + */ + aq_to_restore &= ~(IAVF_FLAG_AQ_GET_CONFIG | + IAVF_FLAG_AQ_ENABLE_QUEUES | + IAVF_FLAG_AQ_CONFIGURE_QUEUES | + IAVF_FLAG_AQ_ADD_VLAN_FILTER | + IAVF_FLAG_AQ_ADD_MAC_FILTER | + IAVF_FLAG_AQ_ADD_CLOUD_FILTER | + IAVF_FLAG_AQ_ADD_FDIR_FILTER | + IAVF_FLAG_AQ_ADD_ADV_RSS_CFG); iavf_down(adapter); iavf_change_state(adapter, __IAVF_DOWN_PENDING); @@ -4055,6 +4233,10 @@ msecs_to_jiffies(500)); if (!status) netdev_warn(netdev, "Device resources not yet released\n"); + + mutex_lock(&adapter->crit_lock); + adapter->aq_required |= aq_to_restore; + mutex_unlock(&adapter->crit_lock); return 0; } @@ -4769,23 +4951,21 @@ static void iavf_remove(struct pci_dev *pdev) { struct iavf_adapter *adapter = iavf_pdev_to_adapter(pdev); - struct net_device *netdev = adapter->netdev; struct iavf_fdir_fltr *fdir, *fdirtmp; struct iavf_vlan_filter *vlf, *vlftmp; + struct iavf_cloud_filter *cf, *cftmp; struct iavf_adv_rss *rss, *rsstmp; struct iavf_mac_filter *f, *ftmp; - struct iavf_cloud_filter *cf, *cftmp; - struct iavf_hw *hw = &adapter->hw; + struct net_device *netdev; + struct iavf_hw *hw; int err; - /* When reboot/shutdown is in progress no need to do anything - * as the adapter is already REMOVE state that was set during - * iavf_shutdown() callback. - */ - if (adapter->state == __IAVF_REMOVE) + netdev = adapter->netdev; + hw = &adapter->hw; + + if (test_and_set_bit(__IAVF_IN_REMOVE_TASK, &adapter->crit_section)) return; - set_bit(__IAVF_IN_REMOVE_TASK, &adapter->crit_section); /* Wait until port initialization is complete. * There are flows where register/unregister netdev may race. */ @@ -4925,6 +5105,8 @@ **/ static int __init iavf_init_module(void) { + int ret; + pr_info("iavf: %s\n", iavf_driver_string); pr_info("%s\n", iavf_copyright); @@ -4935,7 +5117,12 @@ pr_err("%s: Failed to create workqueue\n", iavf_driver_name); return -ENOMEM; } - return pci_register_driver(&iavf_driver); + + ret = pci_register_driver(&iavf_driver); + if (ret) + destroy_workqueue(iavf_wq); + + return ret; } module_init(iavf_init_module); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/iavf/iavf_txrx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/iavf/iavf_txrx.c @@ -114,8 +114,11 @@ { u32 head, tail; + /* underlying hardware might not allow access and/or always return + * 0 for the head/tail registers so just use the cached values + */ head = ring->next_to_clean; - tail = readl(ring->tail); + tail = ring->next_to_use; if (head != tail) return (head < tail) ? @@ -1390,7 +1393,7 @@ #endif struct sk_buff *skb; - if (!rx_buffer) + if (!rx_buffer || !size) return NULL; /* prefetch first cache line of first page */ va = page_address(rx_buffer->page) + rx_buffer->page_offset; @@ -1548,7 +1551,7 @@ /* exit if we failed to retrieve a buffer */ if (!skb) { rx_ring->rx_stats.alloc_buff_failed++; - if (rx_buffer) + if (rx_buffer && size) rx_buffer->pagecnt_bias++; break; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/iavf/iavf_virtchnl.c @@ -273,11 +273,14 @@ void iavf_configure_queues(struct iavf_adapter *adapter) { struct virtchnl_vsi_queue_config_info *vqci; - struct virtchnl_queue_pair_info *vqpi; + int i, max_frame = adapter->vf_res->max_mtu; int pairs = adapter->num_active_queues; - int i, max_frame = IAVF_MAX_RXBUFFER; + struct virtchnl_queue_pair_info *vqpi; size_t len; + if (max_frame > IAVF_MAX_RXBUFFER || !max_frame) + max_frame = IAVF_MAX_RXBUFFER; + if (adapter->current_op != VIRTCHNL_OP_UNKNOWN) { /* bail because we already have a command pending */ dev_err(&adapter->pdev->dev, "Cannot configure queues, command %d pending\n", @@ -2382,6 +2385,8 @@ list_for_each_entry(f, &adapter->vlan_filter_list, list) { if (f->is_new_vlan) { f->is_new_vlan = false; + if (!f->vlan.vid) + continue; if (f->vlan.tpid == ETH_P_8021Q) set_bit(f->vlan.vid, adapter->vsi.active_cvlans); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ice/ice.h +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ice/ice.h @@ -485,6 +485,7 @@ ICE_FLAG_VF_VLAN_PRUNING, ICE_FLAG_LINK_LENIENT_MODE_ENA, ICE_FLAG_PLUG_AUX_DEV, + ICE_FLAG_UNPLUG_AUX_DEV, ICE_FLAG_MTU_CHANGED, ICE_FLAG_GNSS, /* GNSS successfully initialized */ ICE_PF_FLAGS_NBITS /* must be last */ @@ -684,8 +685,8 @@ * ice_xsk_pool - get XSK buffer pool bound to a ring * @ring: Rx ring to use * - * Returns a pointer to xdp_umem structure if there is a buffer pool present, - * NULL otherwise. + * Returns a pointer to xsk_buff_pool structure if there is a buffer pool + * present, NULL otherwise. */ static inline struct xsk_buff_pool *ice_xsk_pool(struct ice_rx_ring *ring) { @@ -699,23 +700,33 @@ } /** - * ice_tx_xsk_pool - get XSK buffer pool bound to a ring - * @ring: Tx ring to use + * ice_tx_xsk_pool - assign XSK buff pool to XDP ring + * @vsi: pointer to VSI + * @qid: index of a queue to look at XSK buff pool presence * - * Returns a pointer to xdp_umem structure if there is a buffer pool present, - * NULL otherwise. Tx equivalent of ice_xsk_pool. - */ -static inline struct xsk_buff_pool *ice_tx_xsk_pool(struct ice_tx_ring *ring) -{ - struct ice_vsi *vsi = ring->vsi; - u16 qid; - - qid = ring->q_index - vsi->alloc_txq; - - if (!ice_is_xdp_ena_vsi(vsi) || !test_bit(qid, vsi->af_xdp_zc_qps)) - return NULL; + * Sets XSK buff pool pointer on XDP ring. + * + * XDP ring is picked from Rx ring, whereas Rx ring is picked based on provided + * queue id. Reason for doing so is that queue vectors might have assigned more + * than one XDP ring, e.g. when user reduced the queue count on netdev; Rx ring + * carries a pointer to one of these XDP rings for its own purposes, such as + * handling XDP_TX action, therefore we can piggyback here on the + * rx_ring->xdp_ring assignment that was done during XDP rings initialization. + */ +static inline void ice_tx_xsk_pool(struct ice_vsi *vsi, u16 qid) +{ + struct ice_tx_ring *ring; + + ring = vsi->rx_rings[qid]->xdp_ring; + if (!ring) + return; + + if (!ice_is_xdp_ena_vsi(vsi) || !test_bit(qid, vsi->af_xdp_zc_qps)) { + ring->xsk_pool = NULL; + return; + } - return xsk_get_pool_from_qid(vsi->netdev, qid); + ring->xsk_pool = xsk_get_pool_from_qid(vsi->netdev, qid); } /** @@ -846,7 +857,7 @@ void ice_set_ethtool_safe_mode_ops(struct net_device *netdev); u16 ice_get_avail_txq_count(struct ice_pf *pf); u16 ice_get_avail_rxq_count(struct ice_pf *pf); -int ice_vsi_recfg_qs(struct ice_vsi *vsi, int new_rx, int new_tx); +int ice_vsi_recfg_qs(struct ice_vsi *vsi, int new_rx, int new_tx, bool locked); void ice_update_vsi_stats(struct ice_vsi *vsi); void ice_update_pf_stats(struct ice_pf *pf); void @@ -915,16 +926,11 @@ */ static inline void ice_clear_rdma_cap(struct ice_pf *pf) { - /* We can directly unplug aux device here only if the flag bit - * ICE_FLAG_PLUG_AUX_DEV is not set because ice_unplug_aux_dev() - * could race with ice_plug_aux_dev() called from - * ice_service_task(). In this case we only clear that bit now and - * aux device will be unplugged later once ice_plug_aux_device() - * called from ice_service_task() finishes (see ice_service_task()). + /* defer unplug to service task to avoid RTNL lock and + * clear PLUG bit so that pending plugs don't interfere */ - if (!test_and_clear_bit(ICE_FLAG_PLUG_AUX_DEV, pf->flags)) - ice_unplug_aux_dev(pf); - + clear_bit(ICE_FLAG_PLUG_AUX_DEV, pf->flags); + set_bit(ICE_FLAG_UNPLUG_AUX_DEV, pf->flags); clear_bit(ICE_FLAG_RDMA_ENA, pf->flags); } #endif /* _ICE_H_ */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ice/ice_base.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ice/ice_base.c @@ -7,18 +7,6 @@ #include "ice_dcb_lib.h" #include "ice_sriov.h" -static bool ice_alloc_rx_buf_zc(struct ice_rx_ring *rx_ring) -{ - rx_ring->xdp_buf = kcalloc(rx_ring->count, sizeof(*rx_ring->xdp_buf), GFP_KERNEL); - return !!rx_ring->xdp_buf; -} - -static bool ice_alloc_rx_buf(struct ice_rx_ring *rx_ring) -{ - rx_ring->rx_buf = kcalloc(rx_ring->count, sizeof(*rx_ring->rx_buf), GFP_KERNEL); - return !!rx_ring->rx_buf; -} - /** * __ice_vsi_get_qs_contig - Assign a contiguous chunk of queues to VSI * @qs_cfg: gathered variables needed for PF->VSI queues assignment @@ -519,11 +507,8 @@ xdp_rxq_info_reg(&ring->xdp_rxq, ring->netdev, ring->q_index, ring->q_vector->napi.napi_id); - kfree(ring->rx_buf); ring->xsk_pool = ice_xsk_pool(ring); if (ring->xsk_pool) { - if (!ice_alloc_rx_buf_zc(ring)) - return -ENOMEM; xdp_rxq_info_unreg_mem_model(&ring->xdp_rxq); ring->rx_buf_len = @@ -538,8 +523,6 @@ dev_info(dev, "Registered XDP mem model MEM_TYPE_XSK_BUFF_POOL on Rx ring %d\n", ring->q_index); } else { - if (!ice_alloc_rx_buf(ring)) - return -ENOMEM; if (!xdp_rxq_info_is_reg(&ring->xdp_rxq)) /* coverity[check_return] */ xdp_rxq_info_reg(&ring->xdp_rxq, @@ -976,7 +959,7 @@ * associated to the queue to schedule NAPI handler */ q_vector = ring->q_vector; - if (q_vector) + if (q_vector && !(vsi->vf && ice_is_vf_disabled(vsi->vf))) ice_trigger_sw_intr(hw, q_vector); status = ice_dis_vsi_txq(vsi->port_info, txq_meta->vsi_idx, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ice/ice_dcb_lib.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ice/ice_dcb_lib.c @@ -434,7 +434,7 @@ goto out; } - ice_pf_dcb_recfg(pf); + ice_pf_dcb_recfg(pf, false); out: /* enable previously downed VSIs */ @@ -724,12 +724,13 @@ /** * ice_pf_dcb_recfg - Reconfigure all VEBs and VSIs * @pf: pointer to the PF struct + * @locked: is adev device lock held * * Assumed caller has already disabled all VSIs before * calling this function. Reconfiguring DCB based on * local_dcbx_cfg. */ -void ice_pf_dcb_recfg(struct ice_pf *pf) +void ice_pf_dcb_recfg(struct ice_pf *pf, bool locked) { struct ice_dcbx_cfg *dcbcfg = &pf->hw.port_info->qos_cfg.local_dcbx_cfg; struct iidc_event *event; @@ -776,14 +777,16 @@ if (vsi->type == ICE_VSI_PF) ice_dcbnl_set_all(vsi); } - /* Notify the AUX drivers that TC change is finished */ - event = kzalloc(sizeof(*event), GFP_KERNEL); - if (!event) - return; + if (!locked) { + /* Notify the AUX drivers that TC change is finished */ + event = kzalloc(sizeof(*event), GFP_KERNEL); + if (!event) + return; - set_bit(IIDC_EVENT_AFTER_TC_CHANGE, event->type); - ice_send_event_to_aux(pf, event); - kfree(event); + set_bit(IIDC_EVENT_AFTER_TC_CHANGE, event->type); + ice_send_event_to_aux(pf, event); + kfree(event); + } } /** @@ -1034,7 +1037,7 @@ } /* changes in configuration update VSI */ - ice_pf_dcb_recfg(pf); + ice_pf_dcb_recfg(pf, false); /* enable previously downed VSIs */ ice_dcb_ena_dis_vsi(pf, true, true); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ice/ice_dcb_lib.h +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ice/ice_dcb_lib.h @@ -23,7 +23,7 @@ int ice_pf_dcb_cfg(struct ice_pf *pf, struct ice_dcbx_cfg *new_cfg, bool locked); int ice_dcb_bwchk(struct ice_pf *pf, struct ice_dcbx_cfg *dcbcfg); -void ice_pf_dcb_recfg(struct ice_pf *pf); +void ice_pf_dcb_recfg(struct ice_pf *pf, bool locked); void ice_vsi_cfg_dcb_rings(struct ice_vsi *vsi); int ice_init_pf_dcb(struct ice_pf *pf, bool locked); void ice_update_dcb_stats(struct ice_pf *pf); @@ -128,7 +128,7 @@ return 0; } -static inline void ice_pf_dcb_recfg(struct ice_pf *pf) { } +static inline void ice_pf_dcb_recfg(struct ice_pf *pf, bool locked) { } static inline void ice_vsi_cfg_dcb_rings(struct ice_vsi *vsi) { } static inline void ice_update_dcb_stats(struct ice_pf *pf) { } static inline void --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ice/ice_ethtool.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ice/ice_ethtool.c @@ -2826,6 +2826,7 @@ tx_rings[i].count = new_tx_cnt; tx_rings[i].desc = NULL; tx_rings[i].tx_buf = NULL; + tx_rings[i].tx_tstamps = &pf->ptp.port.tx; err = ice_setup_tx_ring(&tx_rings[i]); if (err) { while (i--) @@ -3465,7 +3466,9 @@ struct ice_vsi *vsi = np->vsi; struct ice_pf *pf = vsi->back; int new_rx = 0, new_tx = 0; + bool locked = false; u32 curr_combined; + int ret = 0; /* do not support changing channels in Safe Mode */ if (ice_is_safe_mode(pf)) { @@ -3529,15 +3532,33 @@ return -EINVAL; } - ice_vsi_recfg_qs(vsi, new_rx, new_tx); + if (pf->adev) { + mutex_lock(&pf->adev_mutex); + device_lock(&pf->adev->dev); + locked = true; + if (pf->adev->dev.driver) { + netdev_err(dev, "Cannot change channels when RDMA is active\n"); + ret = -EBUSY; + goto adev_unlock; + } + } + + ice_vsi_recfg_qs(vsi, new_rx, new_tx, locked); - if (!netif_is_rxfh_configured(dev)) - return ice_vsi_set_dflt_rss_lut(vsi, new_rx); + if (!netif_is_rxfh_configured(dev)) { + ret = ice_vsi_set_dflt_rss_lut(vsi, new_rx); + goto adev_unlock; + } /* Update rss_size due to change in Rx queues */ vsi->rss_size = ice_get_valid_rss_size(&pf->hw, new_rx); - return 0; +adev_unlock: + if (locked) { + device_unlock(&pf->adev->dev); + mutex_unlock(&pf->adev_mutex); + } + return ret; } /** --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ice/ice_fltr.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ice/ice_fltr.c @@ -62,7 +62,7 @@ int result; result = ice_set_vlan_vsi_promisc(hw, vsi->idx, promisc_mask, false); - if (result) + if (result && result != -EEXIST) dev_err(ice_pf_to_dev(pf), "Error setting promisc mode on VSI %i (rc=%d)\n", vsi->vsi_num, result); @@ -86,7 +86,7 @@ int result; result = ice_set_vlan_vsi_promisc(hw, vsi->idx, promisc_mask, true); - if (result) + if (result && result != -EEXIST) dev_err(ice_pf_to_dev(pf), "Error clearing promisc mode on VSI %i (rc=%d)\n", vsi->vsi_num, result); @@ -109,7 +109,7 @@ int result; result = ice_clear_vsi_promisc(hw, vsi_handle, promisc_mask, vid); - if (result) + if (result && result != -EEXIST) dev_err(ice_pf_to_dev(pf), "Error clearing promisc mode on VSI %i for VID %u (rc=%d)\n", ice_get_hw_vsi_num(hw, vsi_handle), vid, result); @@ -132,7 +132,7 @@ int result; result = ice_set_vsi_promisc(hw, vsi_handle, promisc_mask, vid); - if (result) + if (result && result != -EEXIST) dev_err(ice_pf_to_dev(pf), "Error setting promisc mode on VSI %i for VID %u (rc=%d)\n", ice_get_hw_vsi_num(hw, vsi_handle), vid, result); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ice/ice_lib.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ice/ice_lib.c @@ -911,7 +911,7 @@ */ static int ice_vsi_setup_q_map(struct ice_vsi *vsi, struct ice_vsi_ctx *ctxt) { - u16 offset = 0, qmap = 0, tx_count = 0, pow = 0; + u16 offset = 0, qmap = 0, tx_count = 0, rx_count = 0, pow = 0; u16 num_txq_per_tc, num_rxq_per_tc; u16 qcount_tx = vsi->alloc_txq; u16 qcount_rx = vsi->alloc_rxq; @@ -978,23 +978,25 @@ * at least 1) */ if (offset) - vsi->num_rxq = offset; + rx_count = offset; else - vsi->num_rxq = num_rxq_per_tc; + rx_count = num_rxq_per_tc; - if (vsi->num_rxq > vsi->alloc_rxq) { + if (rx_count > vsi->alloc_rxq) { dev_err(ice_pf_to_dev(vsi->back), "Trying to use more Rx queues (%u), than were allocated (%u)!\n", - vsi->num_rxq, vsi->alloc_rxq); + rx_count, vsi->alloc_rxq); return -EINVAL; } - vsi->num_txq = tx_count; - if (vsi->num_txq > vsi->alloc_txq) { + if (tx_count > vsi->alloc_txq) { dev_err(ice_pf_to_dev(vsi->back), "Trying to use more Tx queues (%u), than were allocated (%u)!\n", - vsi->num_txq, vsi->alloc_txq); + tx_count, vsi->alloc_txq); return -EINVAL; } + vsi->num_txq = tx_count; + vsi->num_rxq = rx_count; + if (vsi->type == ICE_VSI_VF && vsi->num_txq != vsi->num_rxq) { dev_dbg(ice_pf_to_dev(vsi->back), "VF VSI should have same number of Tx and Rx queues. Hence making them equal\n"); /* since there is a chance that num_rxq could have been changed @@ -1983,8 +1985,8 @@ if (ret) return ret; - ice_for_each_xdp_txq(vsi, i) - vsi->xdp_rings[i]->xsk_pool = ice_tx_xsk_pool(vsi->xdp_rings[i]); + ice_for_each_rxq(vsi, i) + ice_tx_xsk_pool(vsi, i); return ret; } @@ -2218,6 +2220,31 @@ } /** + * ice_vsi_is_rx_queue_active + * @vsi: the VSI being configured + * + * Return true if at least one queue is active. + */ +bool ice_vsi_is_rx_queue_active(struct ice_vsi *vsi) +{ + struct ice_pf *pf = vsi->back; + struct ice_hw *hw = &pf->hw; + int i; + + ice_for_each_rxq(vsi, i) { + u32 rx_reg; + int pf_q; + + pf_q = vsi->rxq_map[i]; + rx_reg = rd32(hw, QRX_CTRL(pf_q)); + if (rx_reg & QRX_CTRL_QENA_STAT_M) + return true; + } + + return false; +} + +/** * ice_vsi_is_vlan_pruning_ena - check if VLAN pruning is enabled or not * @vsi: VSI to check whether or not VLAN pruning is enabled. * @@ -3178,7 +3205,7 @@ pf = vsi->back; vtype = vsi->type; - if (WARN_ON(vtype == ICE_VSI_VF) && !vsi->vf) + if (WARN_ON(vtype == ICE_VSI_VF && !vsi->vf)) return -EINVAL; ice_vsi_init_vlan_ops(vsi); @@ -3487,6 +3514,7 @@ u16 pow, offset = 0, qcount_tx = 0, qcount_rx = 0, qmap; u16 tc0_offset = vsi->mqprio_qopt.qopt.offset[0]; int tc0_qcount = vsi->mqprio_qopt.qopt.count[0]; + u16 new_txq, new_rxq; u8 netdev_tc = 0; int i; @@ -3527,21 +3555,24 @@ } } - /* Set actual Tx/Rx queue pairs */ - vsi->num_txq = offset + qcount_tx; - if (vsi->num_txq > vsi->alloc_txq) { + new_txq = offset + qcount_tx; + if (new_txq > vsi->alloc_txq) { dev_err(ice_pf_to_dev(vsi->back), "Trying to use more Tx queues (%u), than were allocated (%u)!\n", - vsi->num_txq, vsi->alloc_txq); + new_txq, vsi->alloc_txq); return -EINVAL; } - vsi->num_rxq = offset + qcount_rx; - if (vsi->num_rxq > vsi->alloc_rxq) { + new_rxq = offset + qcount_rx; + if (new_rxq > vsi->alloc_rxq) { dev_err(ice_pf_to_dev(vsi->back), "Trying to use more Rx queues (%u), than were allocated (%u)!\n", - vsi->num_rxq, vsi->alloc_rxq); + new_rxq, vsi->alloc_rxq); return -EINVAL; } + /* Set actual Tx/Rx queue pairs */ + vsi->num_txq = new_txq; + vsi->num_rxq = new_rxq; + /* Setup queue TC[0].qmap for given VSI context */ ctxt->info.tc_mapping[0] = cpu_to_le16(qmap); ctxt->info.q_mapping[0] = cpu_to_le16(vsi->rxq_map[0]); @@ -3573,6 +3604,7 @@ { u16 max_txqs[ICE_MAX_TRAFFIC_CLASS] = { 0 }; struct ice_pf *pf = vsi->back; + struct ice_tc_cfg old_tc_cfg; struct ice_vsi_ctx *ctx; struct device *dev; int i, ret = 0; @@ -3597,6 +3629,7 @@ max_txqs[i] = vsi->num_txq; } + memcpy(&old_tc_cfg, &vsi->tc_cfg, sizeof(old_tc_cfg)); vsi->tc_cfg.ena_tc = ena_tc; vsi->tc_cfg.numtc = num_tc; @@ -3613,8 +3646,10 @@ else ret = ice_vsi_setup_q_map(vsi, ctx); - if (ret) + if (ret) { + memcpy(&vsi->tc_cfg, &old_tc_cfg, sizeof(vsi->tc_cfg)); goto out; + } /* must to indicate which section of VSI context are being modified */ ctx->info.valid_sections = cpu_to_le16(ICE_AQ_VSI_PROP_RXQ_MAP_VALID); @@ -4078,7 +4113,11 @@ if (err && err != -EEXIST) return err; - return 0; + /* when deleting the last VLAN filter, make sure to disable the VLAN + * promisc mode so the filter isn't left by accident + */ + return ice_clear_vsi_promisc(&vsi->back->hw, vsi->idx, + ICE_MCAST_VLAN_PROMISC_BITS, 0); } /** --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ice/ice_lib.h +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ice/ice_lib.h @@ -130,4 +130,5 @@ bool ice_is_feature_supported(struct ice_pf *pf, enum ice_feature f); void ice_clear_feature_support(struct ice_pf *pf, enum ice_feature f); void ice_init_feature_support(struct ice_pf *pf); +bool ice_vsi_is_rx_queue_active(struct ice_vsi *vsi); #endif /* !_ICE_LIB_H_ */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ice/ice_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ice/ice_main.c @@ -267,8 +267,12 @@ status = ice_fltr_set_vsi_promisc(&vsi->back->hw, vsi->idx, promisc_m, 0); } + if (status && status != -EEXIST) + return status; - return status; + netdev_dbg(vsi->netdev, "set promisc filter bits for VSI %i: 0x%x\n", + vsi->vsi_num, promisc_m); + return 0; } /** @@ -293,6 +297,8 @@ promisc_m, 0); } + netdev_dbg(vsi->netdev, "clear promisc filter bits for VSI %i: 0x%x\n", + vsi->vsi_num, promisc_m); return status; } @@ -421,6 +427,16 @@ } err = 0; vlan_ops->dis_rx_filtering(vsi); + + /* promiscuous mode implies allmulticast so + * that VSIs that are in promiscuous mode are + * subscribed to multicast packets coming to + * the port + */ + err = ice_set_promisc(vsi, + ICE_MCAST_PROMISC_BITS); + if (err) + goto out_promisc; } } else { /* Clear Rx filter to remove traffic from wire */ @@ -433,10 +449,22 @@ IFF_PROMISC; goto out_promisc; } - if (vsi->current_netdev_flags & + if (vsi->netdev->features & NETIF_F_HW_VLAN_CTAG_FILTER) vlan_ops->ena_rx_filtering(vsi); } + + /* disable allmulti here, but only if allmulti is not + * still enabled for the netdev + */ + if (!(vsi->current_netdev_flags & IFF_ALLMULTI)) { + err = ice_clear_promisc(vsi, + ICE_MCAST_PROMISC_BITS); + if (err) { + netdev_err(netdev, "Error %d clearing multicast promiscuous on VSI %i\n", + err, vsi->vsi_num); + } + } } } goto exit; @@ -2298,18 +2326,15 @@ } } - if (test_bit(ICE_FLAG_PLUG_AUX_DEV, pf->flags)) { - /* Plug aux device per request */ - ice_plug_aux_dev(pf); + /* unplug aux dev per request, if an unplug request came in + * while processing a plug request, this will handle it + */ + if (test_and_clear_bit(ICE_FLAG_UNPLUG_AUX_DEV, pf->flags)) + ice_unplug_aux_dev(pf); - /* Mark plugging as done but check whether unplug was - * requested during ice_plug_aux_dev() call - * (e.g. from ice_clear_rdma_cap()) and if so then - * plug aux device. - */ - if (!test_and_clear_bit(ICE_FLAG_PLUG_AUX_DEV, pf->flags)) - ice_unplug_aux_dev(pf); - } + /* Plug aux device per request */ + if (test_and_clear_bit(ICE_FLAG_PLUG_AUX_DEV, pf->flags)) + ice_plug_aux_dev(pf); if (test_and_clear_bit(ICE_FLAG_MTU_CHANGED, pf->flags)) { struct iidc_event *event; @@ -2397,8 +2422,6 @@ return -EBUSY; } - ice_unplug_aux_dev(pf); - switch (reset) { case ICE_RESET_PFR: set_bit(ICE_PFR_REQ, pf->state); @@ -2579,7 +2602,6 @@ if (ice_setup_tx_ring(xdp_ring)) goto free_xdp_rings; ice_set_ring_xdp(xdp_ring); - xdp_ring->xsk_pool = ice_tx_xsk_pool(xdp_ring); spin_lock_init(&xdp_ring->tx_lock); for (j = 0; j < xdp_ring->count; j++) { tx_desc = ICE_TX_DESC(xdp_ring, j); @@ -2587,13 +2609,6 @@ } } - ice_for_each_rxq(vsi, i) { - if (static_key_enabled(&ice_xdp_locking_key)) - vsi->rx_rings[i]->xdp_ring = vsi->xdp_rings[i % vsi->num_xdp_txq]; - else - vsi->rx_rings[i]->xdp_ring = vsi->xdp_rings[i]; - } - return 0; free_xdp_rings: @@ -2683,6 +2698,23 @@ xdp_rings_rem -= xdp_rings_per_v; } + ice_for_each_rxq(vsi, i) { + if (static_key_enabled(&ice_xdp_locking_key)) { + vsi->rx_rings[i]->xdp_ring = vsi->xdp_rings[i % vsi->num_xdp_txq]; + } else { + struct ice_q_vector *q_vector = vsi->rx_rings[i]->q_vector; + struct ice_tx_ring *ring; + + ice_for_each_tx_ring(ring, q_vector->tx) { + if (ice_ring_is_xdp(ring)) { + vsi->rx_rings[i]->xdp_ring = ring; + break; + } + } + } + ice_tx_xsk_pool(vsi, i); + } + /* omit the scheduler update if in reset path; XDP queues will be * taken into account at the end of ice_vsi_rebuild, where * ice_cfg_vsi_lan is being called @@ -2887,10 +2919,18 @@ if (xdp_ring_err) NL_SET_ERR_MSG_MOD(extack, "Setting up XDP Tx resources failed"); } + /* reallocate Rx queues that are used for zero-copy */ + xdp_ring_err = ice_realloc_zc_buf(vsi, true); + if (xdp_ring_err) + NL_SET_ERR_MSG_MOD(extack, "Setting up XDP Rx resources failed"); } else if (ice_is_xdp_ena_vsi(vsi) && !prog) { xdp_ring_err = ice_destroy_xdp_rings(vsi); if (xdp_ring_err) NL_SET_ERR_MSG_MOD(extack, "Freeing XDP Tx resources failed"); + /* reallocate Rx queues that were used for zero-copy */ + xdp_ring_err = ice_realloc_zc_buf(vsi, false); + if (xdp_ring_err) + NL_SET_ERR_MSG_MOD(extack, "Freeing XDP Rx resources failed"); } else { /* safe to call even when prog == vsi->xdp_prog as * dev_xdp_install in net/core/dev.c incremented prog's @@ -3572,6 +3612,14 @@ while (test_and_set_bit(ICE_CFG_BUSY, vsi->state)) usleep_range(1000, 2000); + ret = ice_clear_vsi_promisc(&vsi->back->hw, vsi->idx, + ICE_MCAST_VLAN_PROMISC_BITS, vid); + if (ret) { + netdev_err(netdev, "Error clearing multicast promiscuous mode on VSI %i\n", + vsi->vsi_num); + vsi->current_netdev_flags |= IFF_ALLMULTI; + } + vlan_ops = ice_get_compat_vsi_vlan_ops(vsi); /* Make sure VLAN delete is successful before updating VLAN @@ -3885,7 +3933,7 @@ pf->avail_rxqs = bitmap_zalloc(pf->max_pf_rxqs, GFP_KERNEL); if (!pf->avail_rxqs) { - devm_kfree(ice_pf_to_dev(pf), pf->avail_txqs); + bitmap_free(pf->avail_txqs); pf->avail_txqs = NULL; return -ENOMEM; } @@ -3897,87 +3945,134 @@ } /** + * ice_reduce_msix_usage - Reduce usage of MSI-X vectors + * @pf: board private structure + * @v_remain: number of remaining MSI-X vectors to be distributed + * + * Reduce the usage of MSI-X vectors when entire request cannot be fulfilled. + * pf->num_lan_msix and pf->num_rdma_msix values are set based on number of + * remaining vectors. + */ +static void ice_reduce_msix_usage(struct ice_pf *pf, int v_remain) +{ + int v_rdma; + + if (!ice_is_rdma_ena(pf)) { + pf->num_lan_msix = v_remain; + return; + } + + /* RDMA needs at least 1 interrupt in addition to AEQ MSIX */ + v_rdma = ICE_RDMA_NUM_AEQ_MSIX + 1; + + if (v_remain < ICE_MIN_LAN_TXRX_MSIX + ICE_MIN_RDMA_MSIX) { + dev_warn(ice_pf_to_dev(pf), "Not enough MSI-X vectors to support RDMA.\n"); + clear_bit(ICE_FLAG_RDMA_ENA, pf->flags); + + pf->num_rdma_msix = 0; + pf->num_lan_msix = ICE_MIN_LAN_TXRX_MSIX; + } else if ((v_remain < ICE_MIN_LAN_TXRX_MSIX + v_rdma) || + (v_remain - v_rdma < v_rdma)) { + /* Support minimum RDMA and give remaining vectors to LAN MSIX */ + pf->num_rdma_msix = ICE_MIN_RDMA_MSIX; + pf->num_lan_msix = v_remain - ICE_MIN_RDMA_MSIX; + } else { + /* Split remaining MSIX with RDMA after accounting for AEQ MSIX + */ + pf->num_rdma_msix = (v_remain - ICE_RDMA_NUM_AEQ_MSIX) / 2 + + ICE_RDMA_NUM_AEQ_MSIX; + pf->num_lan_msix = v_remain - pf->num_rdma_msix; + } +} + +/** * ice_ena_msix_range - Request a range of MSIX vectors from the OS * @pf: board private structure * - * compute the number of MSIX vectors required (v_budget) and request from - * the OS. Return the number of vectors reserved or negative on failure + * Compute the number of MSIX vectors wanted and request from the OS. Adjust + * device usage if there are not enough vectors. Return the number of vectors + * reserved or negative on failure. */ static int ice_ena_msix_range(struct ice_pf *pf) { - int num_cpus, v_left, v_actual, v_other, v_budget = 0; + int num_cpus, hw_num_msix, v_other, v_wanted, v_actual; struct device *dev = ice_pf_to_dev(pf); - int needed, err, i; + int err, i; - v_left = pf->hw.func_caps.common_cap.num_msix_vectors; + hw_num_msix = pf->hw.func_caps.common_cap.num_msix_vectors; num_cpus = num_online_cpus(); - /* reserve for LAN miscellaneous handler */ - needed = ICE_MIN_LAN_OICR_MSIX; - if (v_left < needed) - goto no_hw_vecs_left_err; - v_budget += needed; - v_left -= needed; + /* LAN miscellaneous handler */ + v_other = ICE_MIN_LAN_OICR_MSIX; - /* reserve for flow director */ - if (test_bit(ICE_FLAG_FD_ENA, pf->flags)) { - needed = ICE_FDIR_MSIX; - if (v_left < needed) - goto no_hw_vecs_left_err; - v_budget += needed; - v_left -= needed; - } - - /* reserve for switchdev */ - needed = ICE_ESWITCH_MSIX; - if (v_left < needed) - goto no_hw_vecs_left_err; - v_budget += needed; - v_left -= needed; - - /* total used for non-traffic vectors */ - v_other = v_budget; - - /* reserve vectors for LAN traffic */ - needed = num_cpus; - if (v_left < needed) - goto no_hw_vecs_left_err; - pf->num_lan_msix = needed; - v_budget += needed; - v_left -= needed; + /* Flow Director */ + if (test_bit(ICE_FLAG_FD_ENA, pf->flags)) + v_other += ICE_FDIR_MSIX; - /* reserve vectors for RDMA auxiliary driver */ + /* switchdev */ + v_other += ICE_ESWITCH_MSIX; + + v_wanted = v_other; + + /* LAN traffic */ + pf->num_lan_msix = num_cpus; + v_wanted += pf->num_lan_msix; + + /* RDMA auxiliary driver */ if (ice_is_rdma_ena(pf)) { - needed = num_cpus + ICE_RDMA_NUM_AEQ_MSIX; - if (v_left < needed) - goto no_hw_vecs_left_err; - pf->num_rdma_msix = needed; - v_budget += needed; - v_left -= needed; + pf->num_rdma_msix = num_cpus + ICE_RDMA_NUM_AEQ_MSIX; + v_wanted += pf->num_rdma_msix; } - pf->msix_entries = devm_kcalloc(dev, v_budget, + if (v_wanted > hw_num_msix) { + int v_remain; + + dev_warn(dev, "not enough device MSI-X vectors. wanted = %d, available = %d\n", + v_wanted, hw_num_msix); + + if (hw_num_msix < ICE_MIN_MSIX) { + err = -ERANGE; + goto exit_err; + } + + v_remain = hw_num_msix - v_other; + if (v_remain < ICE_MIN_LAN_TXRX_MSIX) { + v_other = ICE_MIN_MSIX - ICE_MIN_LAN_TXRX_MSIX; + v_remain = ICE_MIN_LAN_TXRX_MSIX; + } + + ice_reduce_msix_usage(pf, v_remain); + v_wanted = pf->num_lan_msix + pf->num_rdma_msix + v_other; + + dev_notice(dev, "Reducing request to %d MSI-X vectors for LAN traffic.\n", + pf->num_lan_msix); + if (ice_is_rdma_ena(pf)) + dev_notice(dev, "Reducing request to %d MSI-X vectors for RDMA.\n", + pf->num_rdma_msix); + } + + pf->msix_entries = devm_kcalloc(dev, v_wanted, sizeof(*pf->msix_entries), GFP_KERNEL); if (!pf->msix_entries) { err = -ENOMEM; goto exit_err; } - for (i = 0; i < v_budget; i++) + for (i = 0; i < v_wanted; i++) pf->msix_entries[i].entry = i; /* actually reserve the vectors */ v_actual = pci_enable_msix_range(pf->pdev, pf->msix_entries, - ICE_MIN_MSIX, v_budget); + ICE_MIN_MSIX, v_wanted); if (v_actual < 0) { dev_err(dev, "unable to reserve MSI-X vectors\n"); err = v_actual; goto msix_err; } - if (v_actual < v_budget) { + if (v_actual < v_wanted) { dev_warn(dev, "not enough OS MSI-X vectors. requested = %d, obtained = %d\n", - v_budget, v_actual); + v_wanted, v_actual); if (v_actual < ICE_MIN_MSIX) { /* error if we can't get minimum vectors */ @@ -3986,38 +4081,11 @@ goto msix_err; } else { int v_remain = v_actual - v_other; - int v_rdma = 0, v_min_rdma = 0; - if (ice_is_rdma_ena(pf)) { - /* Need at least 1 interrupt in addition to - * AEQ MSIX - */ - v_rdma = ICE_RDMA_NUM_AEQ_MSIX + 1; - v_min_rdma = ICE_MIN_RDMA_MSIX; - } + if (v_remain < ICE_MIN_LAN_TXRX_MSIX) + v_remain = ICE_MIN_LAN_TXRX_MSIX; - if (v_actual == ICE_MIN_MSIX || - v_remain < ICE_MIN_LAN_TXRX_MSIX + v_min_rdma) { - dev_warn(dev, "Not enough MSI-X vectors to support RDMA.\n"); - clear_bit(ICE_FLAG_RDMA_ENA, pf->flags); - - pf->num_rdma_msix = 0; - pf->num_lan_msix = ICE_MIN_LAN_TXRX_MSIX; - } else if ((v_remain < ICE_MIN_LAN_TXRX_MSIX + v_rdma) || - (v_remain - v_rdma < v_rdma)) { - /* Support minimum RDMA and give remaining - * vectors to LAN MSIX - */ - pf->num_rdma_msix = v_min_rdma; - pf->num_lan_msix = v_remain - v_min_rdma; - } else { - /* Split remaining MSIX with RDMA after - * accounting for AEQ MSIX - */ - pf->num_rdma_msix = (v_remain - ICE_RDMA_NUM_AEQ_MSIX) / 2 + - ICE_RDMA_NUM_AEQ_MSIX; - pf->num_lan_msix = v_remain - pf->num_rdma_msix; - } + ice_reduce_msix_usage(pf, v_remain); dev_notice(dev, "Enabled %d MSI-X vectors for LAN traffic.\n", pf->num_lan_msix); @@ -4032,12 +4100,7 @@ msix_err: devm_kfree(dev, pf->msix_entries); - goto exit_err; -no_hw_vecs_left_err: - dev_err(dev, "not enough device MSI-X vectors. requested = %d, available = %d\n", - needed, v_left); - err = -ERANGE; exit_err: pf->num_rdma_msix = 0; pf->num_lan_msix = 0; @@ -4124,12 +4187,13 @@ * @vsi: VSI being changed * @new_rx: new number of Rx queues * @new_tx: new number of Tx queues + * @locked: is adev device_lock held * * Only change the number of queues if new_tx, or new_rx is non-0. * * Returns 0 on success. */ -int ice_vsi_recfg_qs(struct ice_vsi *vsi, int new_rx, int new_tx) +int ice_vsi_recfg_qs(struct ice_vsi *vsi, int new_rx, int new_tx, bool locked) { struct ice_pf *pf = vsi->back; int err = 0, timeout = 50; @@ -4158,7 +4222,7 @@ ice_vsi_close(vsi); ice_vsi_rebuild(vsi, false); - ice_pf_dcb_recfg(pf); + ice_pf_dcb_recfg(pf, locked); ice_vsi_open(vsi); done: clear_bit(ICE_CFG_BUSY, pf->state); @@ -5457,7 +5521,7 @@ pr_info("%s\n", ice_driver_string); pr_info("%s\n", ice_copyright); - ice_wq = alloc_workqueue("%s", WQ_MEM_RECLAIM, 0, KBUILD_MODNAME); + ice_wq = alloc_workqueue("%s", 0, 0, KBUILD_MODNAME); if (!ice_wq) { pr_err("Failed to create workqueue\n"); return -ENOMEM; @@ -6010,15 +6074,12 @@ { int err; - if (vsi->netdev) { + if (vsi->netdev && vsi->type == ICE_VSI_PF) { ice_set_rx_mode(vsi->netdev); - if (vsi->type != ICE_VSI_LB) { - err = ice_vsi_vlan_setup(vsi); - - if (err) - return err; - } + err = ice_vsi_vlan_setup(vsi); + if (err) + return err; } ice_vsi_cfg_dcb_rings(vsi); @@ -6199,7 +6260,7 @@ if (vsi->port_info && (vsi->port_info->phy.link_info.link_info & ICE_AQ_LINK_UP) && - vsi->netdev) { + vsi->netdev && vsi->type == ICE_VSI_PF) { ice_print_link_msg(vsi, true); netif_tx_start_all_queues(vsi->netdev); netif_carrier_on(vsi->netdev); @@ -6211,7 +6272,9 @@ * set the baseline so counters are ready when interface is up */ ice_update_eth_stats(vsi); - ice_service_task_schedule(pf); + + if (vsi->type == ICE_VSI_PF) + ice_service_task_schedule(pf); return 0; } @@ -6602,7 +6665,7 @@ */ int ice_down(struct ice_vsi *vsi) { - int i, tx_err, rx_err, link_err = 0, vlan_err = 0; + int i, tx_err, rx_err, vlan_err = 0; WARN_ON(!test_bit(ICE_VSI_DOWN, vsi->state)); @@ -6636,20 +6699,13 @@ ice_napi_disable_all(vsi); - if (test_bit(ICE_FLAG_LINK_DOWN_ON_CLOSE_ENA, vsi->back->flags)) { - link_err = ice_force_phys_link_state(vsi, false); - if (link_err) - netdev_err(vsi->netdev, "Failed to set physical link down, VSI %d error %d\n", - vsi->vsi_num, link_err); - } - ice_for_each_txq(vsi, i) ice_clean_tx_ring(vsi->tx_rings[i]); ice_for_each_rxq(vsi, i) ice_clean_rx_ring(vsi->rx_rings[i]); - if (tx_err || rx_err || link_err || vlan_err) { + if (tx_err || rx_err || vlan_err) { netdev_err(vsi->netdev, "Failed to close VSI 0x%04X on switch 0x%04X\n", vsi->vsi_num, vsi->vsw->sw_id); return -EIO; @@ -6811,6 +6867,8 @@ if (err) goto err_setup_rx; + ice_vsi_cfg_netdev_tc(vsi, vsi->tc_cfg.ena_tc); + if (vsi->type == ICE_VSI_PF) { /* Notify the stack of the actual queue counts. */ err = netif_set_real_num_tx_queues(vsi->netdev, vsi->num_txq); @@ -8849,6 +8907,16 @@ return -EBUSY; } + if (test_bit(ICE_FLAG_LINK_DOWN_ON_CLOSE_ENA, vsi->back->flags)) { + int link_err = ice_force_phys_link_state(vsi, false); + + if (link_err) { + netdev_err(vsi->netdev, "Failed to set physical link down, VSI %d error %d\n", + vsi->vsi_num, link_err); + return -EIO; + } + } + ice_vsi_close(vsi); return 0; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ice/ice_ptp.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ice/ice_ptp.c @@ -1971,7 +1971,7 @@ snprintf(info->name, sizeof(info->name) - 1, "%s-%s-clk", dev_driver_string(dev), dev_name(dev)); info->owner = THIS_MODULE; - info->max_adj = 999999999; + info->max_adj = 100000000; info->adjtime = ice_ptp_adjtime; info->adjfine = ice_ptp_adjfine; info->gettimex64 = ice_ptp_gettimex64; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ice/ice_switch.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ice/ice_switch.c @@ -4414,6 +4414,13 @@ goto free_fltr_list; list_for_each_entry(list_itr, &vsi_list_head, list_entry) { + /* Avoid enabling or disabling VLAN zero twice when in double + * VLAN mode + */ + if (ice_is_dvm_ena(hw) && + list_itr->fltr_info.l_data.vlan.tpid == 0) + continue; + vlan_id = list_itr->fltr_info.l_data.vlan.vlan_id; if (rm_vlan_promisc) status = ice_clear_vsi_promisc(hw, vsi_handle, @@ -4421,7 +4428,7 @@ else status = ice_set_vsi_promisc(hw, vsi_handle, promisc_mask, vlan_id); - if (status) + if (status && status != -EEXIST) break; } @@ -4934,7 +4941,7 @@ bitmap_zero(recipes, ICE_MAX_NUM_RECIPES); bitmap_zero(used_idx, ICE_MAX_FV_WORDS); - bitmap_set(possible_idx, 0, ICE_MAX_FV_WORDS); + bitmap_fill(possible_idx, ICE_MAX_FV_WORDS); /* For each profile we are going to associate the recipe with, add the * recipes that are associated with that profile. This will give us @@ -5456,7 +5463,7 @@ */ status = ice_add_special_words(rinfo, lkup_exts); if (status) - goto err_free_lkup_exts; + goto err_unroll; /* Group match words into recipes using preferred recipe grouping * criteria. --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ice/ice_txrx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ice/ice_txrx.c @@ -610,7 +610,7 @@ if (test_bit(ICE_VSI_DOWN, vsi->state)) return -ENETDOWN; - if (!ice_is_xdp_ena_vsi(vsi) || queue_index >= vsi->num_xdp_txq) + if (!ice_is_xdp_ena_vsi(vsi)) return -ENXIO; if (unlikely(flags & ~XDP_XMIT_FLAGS_MASK)) @@ -621,6 +621,9 @@ xdp_ring = vsi->xdp_rings[queue_index]; spin_lock(&xdp_ring->tx_lock); } else { + /* Generally, should not happen */ + if (unlikely(queue_index >= vsi->num_xdp_txq)) + return -ENXIO; xdp_ring = vsi->xdp_rings[queue_index]; } @@ -1464,7 +1467,7 @@ bool wd; if (tx_ring->xsk_pool) - wd = ice_xmit_zc(tx_ring, ICE_DESC_UNUSED(tx_ring), budget); + wd = ice_xmit_zc(tx_ring); else if (ice_ring_is_xdp(tx_ring)) wd = true; else --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ice/ice_vf_lib.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ice/ice_vf_lib.c @@ -505,10 +505,15 @@ if (ice_is_vf_disabled(vf)) { vsi = ice_get_vf_vsi(vf); - if (WARN_ON(!vsi)) + if (!vsi) { + dev_dbg(dev, "VF is already removed\n"); return -EINVAL; + } ice_vsi_stop_lan_tx_rings(vsi, ICE_NO_RESET, vf->vf_id); - ice_vsi_stop_all_rx_rings(vsi); + + if (ice_vsi_is_rx_queue_active(vsi)) + ice_vsi_stop_all_rx_rings(vsi); + dev_dbg(dev, "VF is already disabled, there is no need for resetting it, telling VM, all is fine %d\n", vf->vf_id); return 0; @@ -705,13 +710,16 @@ static int ice_vsi_ena_spoofchk(struct ice_vsi *vsi) { struct ice_vsi_vlan_ops *vlan_ops; - int err; + int err = 0; vlan_ops = ice_get_compat_vsi_vlan_ops(vsi); - err = vlan_ops->ena_tx_filtering(vsi); - if (err) - return err; + /* Allow VF with VLAN 0 only to send all tagged traffic */ + if (vsi->type != ICE_VSI_VF || ice_vsi_has_non_zero_vlans(vsi)) { + err = vlan_ops->ena_tx_filtering(vsi); + if (err) + return err; + } return ice_cfg_mac_antispoof(vsi, true); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ice/ice_vf_vsi_vlan_ops.c @@ -44,13 +44,17 @@ /* outer VLAN ops regardless of port VLAN config */ vlan_ops->add_vlan = ice_vsi_add_vlan; - vlan_ops->dis_rx_filtering = ice_vsi_dis_rx_vlan_filtering; vlan_ops->ena_tx_filtering = ice_vsi_ena_tx_vlan_filtering; vlan_ops->dis_tx_filtering = ice_vsi_dis_tx_vlan_filtering; if (ice_vf_is_port_vlan_ena(vf)) { /* setup outer VLAN ops */ vlan_ops->set_port_vlan = ice_vsi_set_outer_port_vlan; + /* all Rx traffic should be in the domain of the + * assigned port VLAN, so prevent disabling Rx VLAN + * filtering + */ + vlan_ops->dis_rx_filtering = noop_vlan; vlan_ops->ena_rx_filtering = ice_vsi_ena_rx_vlan_filtering; @@ -63,6 +67,9 @@ vlan_ops->ena_insertion = ice_vsi_ena_inner_insertion; vlan_ops->dis_insertion = ice_vsi_dis_inner_insertion; } else { + vlan_ops->dis_rx_filtering = + ice_vsi_dis_rx_vlan_filtering; + if (!test_bit(ICE_FLAG_VF_VLAN_PRUNING, pf->flags)) vlan_ops->ena_rx_filtering = noop_vlan; else @@ -96,7 +103,14 @@ vlan_ops->set_port_vlan = ice_vsi_set_inner_port_vlan; vlan_ops->ena_rx_filtering = ice_vsi_ena_rx_vlan_filtering; + /* all Rx traffic should be in the domain of the + * assigned port VLAN, so prevent disabling Rx VLAN + * filtering + */ + vlan_ops->dis_rx_filtering = noop_vlan; } else { + vlan_ops->dis_rx_filtering = + ice_vsi_dis_rx_vlan_filtering; if (!test_bit(ICE_FLAG_VF_VLAN_PRUNING, pf->flags)) vlan_ops->ena_rx_filtering = noop_vlan; else --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ice/ice_virtchnl.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ice/ice_virtchnl.c @@ -2264,6 +2264,15 @@ /* Enable VLAN filtering on first non-zero VLAN */ if (!vlan_promisc && vid && !ice_is_dvm_ena(&pf->hw)) { + if (vf->spoofchk) { + status = vsi->inner_vlan_ops.ena_tx_filtering(vsi); + if (status) { + v_ret = VIRTCHNL_STATUS_ERR_PARAM; + dev_err(dev, "Enable VLAN anti-spoofing on VLAN ID: %d failed error-%d\n", + vid, status); + goto error_param; + } + } if (vsi->inner_vlan_ops.ena_rx_filtering(vsi)) { v_ret = VIRTCHNL_STATUS_ERR_PARAM; dev_err(dev, "Enable VLAN pruning on VLAN ID: %d failed error-%d\n", @@ -2309,8 +2318,10 @@ } /* Disable VLAN filtering when only VLAN 0 is left */ - if (!ice_vsi_has_non_zero_vlans(vsi)) + if (!ice_vsi_has_non_zero_vlans(vsi)) { + vsi->inner_vlan_ops.dis_tx_filtering(vsi); vsi->inner_vlan_ops.dis_rx_filtering(vsi); + } if (vlan_promisc) ice_vf_dis_vlan_promisc(vsi, &vlan); @@ -2814,6 +2825,13 @@ if (vlan_promisc) ice_vf_dis_vlan_promisc(vsi, &vlan); + + /* Disable VLAN filtering when only VLAN 0 is left */ + if (!ice_vsi_has_non_zero_vlans(vsi) && ice_is_dvm_ena(&vsi->back->hw)) { + err = vsi->outer_vlan_ops.dis_tx_filtering(vsi); + if (err) + return err; + } } vc_vlan = &vlan_fltr->inner; @@ -2829,8 +2847,17 @@ /* no support for VLAN promiscuous on inner VLAN unless * we are in Single VLAN Mode (SVM) */ - if (!ice_is_dvm_ena(&vsi->back->hw) && vlan_promisc) - ice_vf_dis_vlan_promisc(vsi, &vlan); + if (!ice_is_dvm_ena(&vsi->back->hw)) { + if (vlan_promisc) + ice_vf_dis_vlan_promisc(vsi, &vlan); + + /* Disable VLAN filtering when only VLAN 0 is left */ + if (!ice_vsi_has_non_zero_vlans(vsi)) { + err = vsi->inner_vlan_ops.dis_tx_filtering(vsi); + if (err) + return err; + } + } } } @@ -2907,6 +2934,13 @@ if (err) return err; } + + /* Enable VLAN filtering on first non-zero VLAN */ + if (vf->spoofchk && vlan.vid && ice_is_dvm_ena(&vsi->back->hw)) { + err = vsi->outer_vlan_ops.ena_tx_filtering(vsi); + if (err) + return err; + } } vc_vlan = &vlan_fltr->inner; @@ -2922,10 +2956,19 @@ /* no support for VLAN promiscuous on inner VLAN unless * we are in Single VLAN Mode (SVM) */ - if (!ice_is_dvm_ena(&vsi->back->hw) && vlan_promisc) { - err = ice_vf_ena_vlan_promisc(vsi, &vlan); - if (err) - return err; + if (!ice_is_dvm_ena(&vsi->back->hw)) { + if (vlan_promisc) { + err = ice_vf_ena_vlan_promisc(vsi, &vlan); + if (err) + return err; + } + + /* Enable VLAN filtering on first non-zero VLAN */ + if (vf->spoofchk && vlan.vid) { + err = vsi->inner_vlan_ops.ena_tx_filtering(vsi); + if (err) + return err; + } } } } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ice/ice_xsk.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ice/ice_xsk.c @@ -192,6 +192,7 @@ err = ice_vsi_ctrl_one_rx_ring(vsi, false, q_idx, true); if (err) return err; + ice_clean_rx_ring(rx_ring); ice_qvec_toggle_napi(vsi, q_vector, false); ice_qp_clean_rings(vsi, q_idx); @@ -243,7 +244,7 @@ if (err) goto free_buf; ice_set_ring_xdp(xdp_ring); - xdp_ring->xsk_pool = ice_tx_xsk_pool(xdp_ring); + ice_tx_xsk_pool(vsi, q_idx); } err = ice_vsi_cfg_rxq(rx_ring); @@ -317,6 +318,62 @@ } /** + * ice_realloc_rx_xdp_bufs - reallocate for either XSK or normal buffer + * @rx_ring: Rx ring + * @pool_present: is pool for XSK present + * + * Try allocating memory and return ENOMEM, if failed to allocate. + * If allocation was successful, substitute buffer with allocated one. + * Returns 0 on success, negative on failure + */ +static int +ice_realloc_rx_xdp_bufs(struct ice_rx_ring *rx_ring, bool pool_present) +{ + size_t elem_size = pool_present ? sizeof(*rx_ring->xdp_buf) : + sizeof(*rx_ring->rx_buf); + void *sw_ring = kcalloc(rx_ring->count, elem_size, GFP_KERNEL); + + if (!sw_ring) + return -ENOMEM; + + if (pool_present) { + kfree(rx_ring->rx_buf); + rx_ring->rx_buf = NULL; + rx_ring->xdp_buf = sw_ring; + } else { + kfree(rx_ring->xdp_buf); + rx_ring->xdp_buf = NULL; + rx_ring->rx_buf = sw_ring; + } + + return 0; +} + +/** + * ice_realloc_zc_buf - reallocate XDP ZC queue pairs + * @vsi: Current VSI + * @zc: is zero copy set + * + * Reallocate buffer for rx_rings that might be used by XSK. + * XDP requires more memory, than rx_buf provides. + * Returns 0 on success, negative on failure + */ +int ice_realloc_zc_buf(struct ice_vsi *vsi, bool zc) +{ + struct ice_rx_ring *rx_ring; + unsigned long q; + + for_each_set_bit(q, vsi->af_xdp_zc_qps, + max_t(int, vsi->alloc_txq, vsi->alloc_rxq)) { + rx_ring = vsi->rx_rings[q]; + if (ice_realloc_rx_xdp_bufs(rx_ring, zc)) + return -ENOMEM; + } + + return 0; +} + +/** * ice_xsk_pool_setup - enable/disable a buffer pool region depending on its state * @vsi: Current VSI * @pool: buffer pool to enable/associate to a ring, NULL to disable @@ -329,9 +386,8 @@ bool if_running, pool_present = !!pool; int ret = 0, pool_failure = 0; - if (!is_power_of_2(vsi->rx_rings[qid]->count) || - !is_power_of_2(vsi->tx_rings[qid]->count)) { - netdev_err(vsi->netdev, "Please align ring sizes to power of 2\n"); + if (qid >= vsi->num_rxq || qid >= vsi->num_txq) { + netdev_err(vsi->netdev, "Please use queue id in scope of combined queues count\n"); pool_failure = -EINVAL; goto failure; } @@ -339,11 +395,17 @@ if_running = netif_running(vsi->netdev) && ice_is_xdp_ena_vsi(vsi); if (if_running) { + struct ice_rx_ring *rx_ring = vsi->rx_rings[qid]; + ret = ice_qp_dis(vsi, qid); if (ret) { netdev_err(vsi->netdev, "ice_qp_dis error = %d\n", ret); goto xsk_pool_if_up; } + + ret = ice_realloc_rx_xdp_bufs(rx_ring, pool_present); + if (ret) + goto xsk_pool_if_up; } pool_failure = pool_present ? ice_xsk_pool_enable(vsi, pool, qid) : @@ -353,7 +415,7 @@ if (if_running) { ret = ice_qp_ena(vsi, qid); if (!ret && pool_present) - napi_schedule(&vsi->xdp_rings[qid]->q_vector->napi); + napi_schedule(&vsi->rx_rings[qid]->xdp_ring->q_vector->napi); else if (ret) netdev_err(vsi->netdev, "ice_qp_ena error = %d\n", ret); } @@ -465,11 +527,10 @@ bool ice_alloc_rx_bufs_zc(struct ice_rx_ring *rx_ring, u16 count) { u16 rx_thresh = ICE_RING_QUARTER(rx_ring); - u16 batched, leftover, i, tail_bumps; + u16 leftover, i, tail_bumps; - batched = ALIGN_DOWN(count, rx_thresh); - tail_bumps = batched / rx_thresh; - leftover = count & (rx_thresh - 1); + tail_bumps = count / rx_thresh; + leftover = count - (tail_bumps * rx_thresh); for (i = 0; i < tail_bumps; i++) if (!__ice_alloc_rx_bufs_zc(rx_ring, rx_thresh)) @@ -711,7 +772,7 @@ static void ice_clean_xdp_tx_buf(struct ice_tx_ring *xdp_ring, struct ice_tx_buf *tx_buf) { - xdp_return_frame((struct xdp_frame *)tx_buf->raw_buf); + page_frag_free(tx_buf->raw_buf); xdp_ring->xdp_tx_active--; dma_unmap_single(xdp_ring->dev, dma_unmap_addr(tx_buf, dma), dma_unmap_len(tx_buf, len), DMA_TO_DEVICE); @@ -719,69 +780,60 @@ } /** - * ice_clean_xdp_irq_zc - Reclaim resources after transmit completes on XDP ring - * @xdp_ring: XDP ring to clean - * @napi_budget: amount of descriptors that NAPI allows us to clean - * - * Returns count of cleaned descriptors - */ -static u16 ice_clean_xdp_irq_zc(struct ice_tx_ring *xdp_ring, int napi_budget) -{ - u16 tx_thresh = ICE_RING_QUARTER(xdp_ring); - int budget = napi_budget / tx_thresh; - u16 next_dd = xdp_ring->next_dd; - u16 ntc, cleared_dds = 0; - - do { - struct ice_tx_desc *next_dd_desc; - u16 desc_cnt = xdp_ring->count; - struct ice_tx_buf *tx_buf; - u32 xsk_frames; - u16 i; - - next_dd_desc = ICE_TX_DESC(xdp_ring, next_dd); - if (!(next_dd_desc->cmd_type_offset_bsz & - cpu_to_le64(ICE_TX_DESC_DTYPE_DESC_DONE))) - break; + * ice_clean_xdp_irq_zc - produce AF_XDP descriptors to CQ + * @xdp_ring: XDP Tx ring + */ +static void ice_clean_xdp_irq_zc(struct ice_tx_ring *xdp_ring) +{ + u16 ntc = xdp_ring->next_to_clean; + struct ice_tx_desc *tx_desc; + u16 cnt = xdp_ring->count; + struct ice_tx_buf *tx_buf; + u16 completed_frames = 0; + u16 xsk_frames = 0; + u16 last_rs; + int i; - cleared_dds++; - xsk_frames = 0; - if (likely(!xdp_ring->xdp_tx_active)) { - xsk_frames = tx_thresh; - goto skip; - } + last_rs = xdp_ring->next_to_use ? xdp_ring->next_to_use - 1 : cnt - 1; + tx_desc = ICE_TX_DESC(xdp_ring, last_rs); + if ((tx_desc->cmd_type_offset_bsz & + cpu_to_le64(ICE_TX_DESC_DTYPE_DESC_DONE))) { + if (last_rs >= ntc) + completed_frames = last_rs - ntc + 1; + else + completed_frames = last_rs + cnt - ntc + 1; + } - ntc = xdp_ring->next_to_clean; + if (!completed_frames) + return; - for (i = 0; i < tx_thresh; i++) { - tx_buf = &xdp_ring->tx_buf[ntc]; + if (likely(!xdp_ring->xdp_tx_active)) { + xsk_frames = completed_frames; + goto skip; + } - if (tx_buf->raw_buf) { - ice_clean_xdp_tx_buf(xdp_ring, tx_buf); - tx_buf->raw_buf = NULL; - } else { - xsk_frames++; - } - - ntc++; - if (ntc >= xdp_ring->count) - ntc = 0; - } -skip: - xdp_ring->next_to_clean += tx_thresh; - if (xdp_ring->next_to_clean >= desc_cnt) - xdp_ring->next_to_clean -= desc_cnt; - if (xsk_frames) - xsk_tx_completed(xdp_ring->xsk_pool, xsk_frames); - next_dd_desc->cmd_type_offset_bsz = 0; - next_dd = next_dd + tx_thresh; - if (next_dd >= desc_cnt) - next_dd = tx_thresh - 1; - } while (--budget); + ntc = xdp_ring->next_to_clean; + for (i = 0; i < completed_frames; i++) { + tx_buf = &xdp_ring->tx_buf[ntc]; - xdp_ring->next_dd = next_dd; + if (tx_buf->raw_buf) { + ice_clean_xdp_tx_buf(xdp_ring, tx_buf); + tx_buf->raw_buf = NULL; + } else { + xsk_frames++; + } - return cleared_dds * tx_thresh; + ntc++; + if (ntc >= xdp_ring->count) + ntc = 0; + } +skip: + tx_desc->cmd_type_offset_bsz = 0; + xdp_ring->next_to_clean += completed_frames; + if (xdp_ring->next_to_clean >= cnt) + xdp_ring->next_to_clean -= cnt; + if (xsk_frames) + xsk_tx_completed(xdp_ring->xsk_pool, xsk_frames); } /** @@ -816,7 +868,6 @@ static void ice_xmit_pkt_batch(struct ice_tx_ring *xdp_ring, struct xdp_desc *descs, unsigned int *total_bytes) { - u16 tx_thresh = ICE_RING_QUARTER(xdp_ring); u16 ntu = xdp_ring->next_to_use; struct ice_tx_desc *tx_desc; u32 i; @@ -836,13 +887,6 @@ } xdp_ring->next_to_use = ntu; - - if (xdp_ring->next_to_use > xdp_ring->next_rs) { - tx_desc = ICE_TX_DESC(xdp_ring, xdp_ring->next_rs); - tx_desc->cmd_type_offset_bsz |= - cpu_to_le64(ICE_TX_DESC_CMD_RS << ICE_TXD_QW1_CMD_S); - xdp_ring->next_rs += tx_thresh; - } } /** @@ -855,7 +899,6 @@ static void ice_fill_tx_hw_ring(struct ice_tx_ring *xdp_ring, struct xdp_desc *descs, u32 nb_pkts, unsigned int *total_bytes) { - u16 tx_thresh = ICE_RING_QUARTER(xdp_ring); u32 batched, leftover, i; batched = ALIGN_DOWN(nb_pkts, PKTS_PER_BATCH); @@ -864,54 +907,54 @@ ice_xmit_pkt_batch(xdp_ring, &descs[i], total_bytes); for (; i < batched + leftover; i++) ice_xmit_pkt(xdp_ring, &descs[i], total_bytes); +} - if (xdp_ring->next_to_use > xdp_ring->next_rs) { - struct ice_tx_desc *tx_desc; +/** + * ice_set_rs_bit - set RS bit on last produced descriptor (one behind current NTU) + * @xdp_ring: XDP ring to produce the HW Tx descriptors on + */ +static void ice_set_rs_bit(struct ice_tx_ring *xdp_ring) +{ + u16 ntu = xdp_ring->next_to_use ? xdp_ring->next_to_use - 1 : xdp_ring->count - 1; + struct ice_tx_desc *tx_desc; - tx_desc = ICE_TX_DESC(xdp_ring, xdp_ring->next_rs); - tx_desc->cmd_type_offset_bsz |= - cpu_to_le64(ICE_TX_DESC_CMD_RS << ICE_TXD_QW1_CMD_S); - xdp_ring->next_rs += tx_thresh; - } + tx_desc = ICE_TX_DESC(xdp_ring, ntu); + tx_desc->cmd_type_offset_bsz |= + cpu_to_le64(ICE_TX_DESC_CMD_RS << ICE_TXD_QW1_CMD_S); } /** * ice_xmit_zc - take entries from XSK Tx ring and place them onto HW Tx ring * @xdp_ring: XDP ring to produce the HW Tx descriptors on - * @budget: number of free descriptors on HW Tx ring that can be used - * @napi_budget: amount of descriptors that NAPI allows us to clean * * Returns true if there is no more work that needs to be done, false otherwise */ -bool ice_xmit_zc(struct ice_tx_ring *xdp_ring, u32 budget, int napi_budget) +bool ice_xmit_zc(struct ice_tx_ring *xdp_ring) { struct xdp_desc *descs = xdp_ring->xsk_pool->tx_descs; - u16 tx_thresh = ICE_RING_QUARTER(xdp_ring); u32 nb_pkts, nb_processed = 0; unsigned int total_bytes = 0; + int budget; + + ice_clean_xdp_irq_zc(xdp_ring); - if (budget < tx_thresh) - budget += ice_clean_xdp_irq_zc(xdp_ring, napi_budget); + budget = ICE_DESC_UNUSED(xdp_ring); + budget = min_t(u16, budget, ICE_RING_QUARTER(xdp_ring)); nb_pkts = xsk_tx_peek_release_desc_batch(xdp_ring->xsk_pool, budget); if (!nb_pkts) return true; if (xdp_ring->next_to_use + nb_pkts >= xdp_ring->count) { - struct ice_tx_desc *tx_desc; - nb_processed = xdp_ring->count - xdp_ring->next_to_use; ice_fill_tx_hw_ring(xdp_ring, descs, nb_processed, &total_bytes); - tx_desc = ICE_TX_DESC(xdp_ring, xdp_ring->next_rs); - tx_desc->cmd_type_offset_bsz |= - cpu_to_le64(ICE_TX_DESC_CMD_RS << ICE_TXD_QW1_CMD_S); - xdp_ring->next_rs = tx_thresh - 1; xdp_ring->next_to_use = 0; } ice_fill_tx_hw_ring(xdp_ring, &descs[nb_processed], nb_pkts - nb_processed, &total_bytes); + ice_set_rs_bit(xdp_ring); ice_xdp_ring_update_tail(xdp_ring); ice_update_tx_ring_stats(xdp_ring, nb_pkts, total_bytes); @@ -944,13 +987,13 @@ if (!ice_is_xdp_ena_vsi(vsi)) return -EINVAL; - if (queue_id >= vsi->num_txq) + if (queue_id >= vsi->num_txq || queue_id >= vsi->num_rxq) return -EINVAL; - if (!vsi->xdp_rings[queue_id]->xsk_pool) - return -EINVAL; + ring = vsi->rx_rings[queue_id]->xdp_ring; - ring = vsi->xdp_rings[queue_id]; + if (!ring->xsk_pool) + return -EINVAL; /* The idea here is that if NAPI is running, mark a miss, so * it will run again. If not, trigger an interrupt and @@ -989,14 +1032,16 @@ */ void ice_xsk_clean_rx_ring(struct ice_rx_ring *rx_ring) { - u16 count_mask = rx_ring->count - 1; u16 ntc = rx_ring->next_to_clean; u16 ntu = rx_ring->next_to_use; - for ( ; ntc != ntu; ntc = (ntc + 1) & count_mask) { + while (ntc != ntu) { struct xdp_buff *xdp = *ice_xdp_buf(rx_ring, ntc); xsk_buff_free(xdp); + ntc++; + if (ntc >= rx_ring->count) + ntc = 0; } } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ice/ice_xsk.h +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ice/ice_xsk.h @@ -26,12 +26,10 @@ bool ice_xsk_any_rx_ring_ena(struct ice_vsi *vsi); void ice_xsk_clean_rx_ring(struct ice_rx_ring *rx_ring); void ice_xsk_clean_xdp_ring(struct ice_tx_ring *xdp_ring); -bool ice_xmit_zc(struct ice_tx_ring *xdp_ring, u32 budget, int napi_budget); +bool ice_xmit_zc(struct ice_tx_ring *xdp_ring); +int ice_realloc_zc_buf(struct ice_vsi *vsi, bool zc); #else -static inline bool -ice_xmit_zc(struct ice_tx_ring __always_unused *xdp_ring, - u32 __always_unused budget, - int __always_unused napi_budget) +static inline bool ice_xmit_zc(struct ice_tx_ring __always_unused *xdp_ring) { return false; } @@ -72,5 +70,12 @@ static inline void ice_xsk_clean_rx_ring(struct ice_rx_ring *rx_ring) { } static inline void ice_xsk_clean_xdp_ring(struct ice_tx_ring *xdp_ring) { } + +static inline int +ice_realloc_zc_buf(struct ice_vsi __always_unused *vsi, + bool __always_unused zc) +{ + return 0; +} #endif /* CONFIG_XDP_SOCKETS */ #endif /* !_ICE_XSK_H_ */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/igb/igb.h +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/igb/igb.h @@ -664,6 +664,8 @@ struct igb_mac_addr *mac_table; struct vf_mac_filter vf_macs; struct vf_mac_filter *vf_mac_list; + /* lock for VF resources */ + spinlock_t vfs_lock; }; /* flags controlling PTP/1588 function */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/igb/igb_ethtool.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/igb/igb_ethtool.c @@ -1413,6 +1413,8 @@ *data = 1; return -1; } + wr32(E1000_IVAR_MISC, E1000_IVAR_VALID << 8); + wr32(E1000_EIMS, BIT(0)); } else if (adapter->flags & IGB_FLAG_HAS_MSI) { shared_int = false; if (request_irq(irq, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/igb/igb_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/igb/igb_main.c @@ -1202,8 +1202,12 @@ if (!q_vector) { q_vector = kzalloc(size, GFP_KERNEL); } else if (size > ksize(q_vector)) { - kfree_rcu(q_vector, rcu); - q_vector = kzalloc(size, GFP_KERNEL); + struct igb_q_vector *new_q_vector; + + new_q_vector = kzalloc(size, GFP_KERNEL); + if (new_q_vector) + kfree_rcu(q_vector, rcu); + q_vector = new_q_vector; } else { memset(q_vector, 0, size); } @@ -2253,6 +2257,30 @@ } } +#ifdef CONFIG_IGB_HWMON +/** + * igb_set_i2c_bb - Init I2C interface + * @hw: pointer to hardware structure + **/ +static void igb_set_i2c_bb(struct e1000_hw *hw) +{ + u32 ctrl_ext; + s32 i2cctl; + + ctrl_ext = rd32(E1000_CTRL_EXT); + ctrl_ext |= E1000_CTRL_I2C_ENA; + wr32(E1000_CTRL_EXT, ctrl_ext); + wrfl(); + + i2cctl = rd32(E1000_I2CPARAMS); + i2cctl |= E1000_I2CBB_EN + | E1000_I2C_CLK_OE_N + | E1000_I2C_DATA_OE_N; + wr32(E1000_I2CPARAMS, i2cctl); + wrfl(); +} +#endif + void igb_reset(struct igb_adapter *adapter) { struct pci_dev *pdev = adapter->pdev; @@ -2397,7 +2425,8 @@ * interface. */ if (adapter->ets) - mac->ops.init_thermal_sensor_thresh(hw); + igb_set_i2c_bb(hw); + mac->ops.init_thermal_sensor_thresh(hw); } } #endif @@ -3114,21 +3143,12 @@ **/ static s32 igb_init_i2c(struct igb_adapter *adapter) { - struct e1000_hw *hw = &adapter->hw; s32 status = 0; - s32 i2cctl; /* I2C interface supported on i350 devices */ if (adapter->hw.mac.type != e1000_i350) return 0; - i2cctl = rd32(E1000_I2CPARAMS); - i2cctl |= E1000_I2CBB_EN - | E1000_I2C_CLK_OUT | E1000_I2C_CLK_OE_N - | E1000_I2C_DATA_OUT | E1000_I2C_DATA_OE_N; - wr32(E1000_I2CPARAMS, i2cctl); - wrfl(); - /* Initialize the i2c bus which is controlled by the registers. * This bus will use the i2c_algo_bit structure that implements * the protocol through toggling of the 4 bits in the register. @@ -3518,6 +3538,12 @@ adapter->ets = true; else adapter->ets = false; + /* Only enable I2C bit banging if an external thermal + * sensor is supported. + */ + if (adapter->ets) + igb_set_i2c_bb(hw); + hw->mac.ops.init_thermal_sensor_thresh(hw); if (igb_sysfs_init(adapter)) dev_err(&pdev->dev, "failed to allocate sysfs resources\n"); @@ -3637,6 +3663,7 @@ struct net_device *netdev = pci_get_drvdata(pdev); struct igb_adapter *adapter = netdev_priv(netdev); struct e1000_hw *hw = &adapter->hw; + unsigned long flags; /* reclaim resources allocated to VFs */ if (adapter->vf_data) { @@ -3649,12 +3676,13 @@ pci_disable_sriov(pdev); msleep(500); } - + spin_lock_irqsave(&adapter->vfs_lock, flags); kfree(adapter->vf_mac_list); adapter->vf_mac_list = NULL; kfree(adapter->vf_data); adapter->vf_data = NULL; adapter->vfs_allocated_count = 0; + spin_unlock_irqrestore(&adapter->vfs_lock, flags); wr32(E1000_IOVCTL, E1000_IOVCTL_REUSE_VFQ); wrfl(); msleep(100); @@ -3814,7 +3842,9 @@ igb_release_hw_control(adapter); #ifdef CONFIG_PCI_IOV + rtnl_lock(); igb_disable_sriov(pdev); + rtnl_unlock(); #endif unregister_netdev(netdev); @@ -3974,6 +4004,9 @@ spin_lock_init(&adapter->nfc_lock); spin_lock_init(&adapter->stats64_lock); + + /* init spinlock to avoid concurrency of VF resources */ + spin_lock_init(&adapter->vfs_lock); #ifdef CONFIG_PCI_IOV switch (hw->mac.type) { case e1000_82576: @@ -6750,7 +6783,7 @@ struct timespec64 ts; u32 tsauxc; - if (pin < 0 || pin >= IGB_N_PEROUT) + if (pin < 0 || pin >= IGB_N_SDP) return; spin_lock(&adapter->tmreg_lock); @@ -6758,7 +6791,7 @@ if (hw->mac.type == e1000_82580 || hw->mac.type == e1000_i354 || hw->mac.type == e1000_i350) { - s64 ns = timespec64_to_ns(&adapter->perout[pin].period); + s64 ns = timespec64_to_ns(&adapter->perout[tsintr_tt].period); u32 systiml, systimh, level_mask, level, rem; u64 systim, now; @@ -6806,8 +6839,8 @@ ts.tv_nsec = (u32)systim; ts.tv_sec = ((u32)(systim >> 32)) & 0xFF; } else { - ts = timespec64_add(adapter->perout[pin].start, - adapter->perout[pin].period); + ts = timespec64_add(adapter->perout[tsintr_tt].start, + adapter->perout[tsintr_tt].period); } /* u32 conversion of tv_sec is safe until y2106 */ @@ -6816,7 +6849,7 @@ tsauxc = rd32(E1000_TSAUXC); tsauxc |= TSAUXC_EN_TT0; wr32(E1000_TSAUXC, tsauxc); - adapter->perout[pin].start = ts; + adapter->perout[tsintr_tt].start = ts; spin_unlock(&adapter->tmreg_lock); } @@ -6830,7 +6863,7 @@ struct ptp_clock_event event; struct timespec64 ts; - if (pin < 0 || pin >= IGB_N_EXTTS) + if (pin < 0 || pin >= IGB_N_SDP) return; if (hw->mac.type == e1000_82580 || @@ -7481,7 +7514,7 @@ { struct e1000_hw *hw = &adapter->hw; unsigned char *vf_mac = adapter->vf_data[vf].vf_mac_addresses; - u32 reg, msgbuf[3]; + u32 reg, msgbuf[3] = {}; u8 *addr = (u8 *)(&msgbuf[1]); /* process all the same items cleared in a function level reset */ @@ -7924,8 +7957,10 @@ static void igb_msg_task(struct igb_adapter *adapter) { struct e1000_hw *hw = &adapter->hw; + unsigned long flags; u32 vf; + spin_lock_irqsave(&adapter->vfs_lock, flags); for (vf = 0; vf < adapter->vfs_allocated_count; vf++) { /* process any reset requests */ if (!igb_check_for_rst(hw, vf)) @@ -7939,6 +7974,7 @@ if (!igb_check_for_ack(hw, vf)) igb_rcv_ack_from_vf(adapter, vf); } + spin_unlock_irqrestore(&adapter->vfs_lock, flags); } /** --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/igc/igc.h +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/igc/igc.h @@ -94,6 +94,8 @@ u8 queue_index; /* logical index of the ring*/ u8 reg_idx; /* physical index of the ring */ bool launchtime_enable; /* true if LaunchTime is enabled */ + ktime_t last_tx_cycle; /* end of the cycle with a launchtime transmission */ + ktime_t last_ff_cycle; /* Last cycle with an active first flag */ u32 start_time; u32 end_time; @@ -182,6 +184,7 @@ ktime_t base_time; ktime_t cycle_time; + bool qbv_enable; /* OS defined structs */ struct pci_dev *pdev; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/igc/igc_defines.h +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/igc/igc_defines.h @@ -321,6 +321,8 @@ #define IGC_ADVTXD_L4LEN_SHIFT 8 /* Adv ctxt L4LEN shift */ #define IGC_ADVTXD_MSS_SHIFT 16 /* Adv ctxt MSS shift */ +#define IGC_ADVTXD_TSN_CNTX_FIRST 0x00000080 + /* Transmit Control */ #define IGC_TCTL_EN 0x00000002 /* enable Tx */ #define IGC_TCTL_PSP 0x00000008 /* pad short packets */ @@ -464,7 +466,9 @@ #define IGC_TSAUXC_EN_TT0 BIT(0) /* Enable target time 0. */ #define IGC_TSAUXC_EN_TT1 BIT(1) /* Enable target time 1. */ #define IGC_TSAUXC_EN_CLK0 BIT(2) /* Enable Configurable Frequency Clock 0. */ +#define IGC_TSAUXC_ST0 BIT(4) /* Start Clock 0 Toggle on Target Time 0. */ #define IGC_TSAUXC_EN_CLK1 BIT(5) /* Enable Configurable Frequency Clock 1. */ +#define IGC_TSAUXC_ST1 BIT(7) /* Start Clock 1 Toggle on Target Time 1. */ #define IGC_TSAUXC_EN_TS0 BIT(8) /* Enable hardware timestamp 0. */ #define IGC_TSAUXC_AUTT0 BIT(9) /* Auxiliary Timestamp Taken. */ #define IGC_TSAUXC_EN_TS1 BIT(10) /* Enable hardware timestamp 0. */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/igc/igc_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/igc/igc_main.c @@ -1000,25 +1000,118 @@ return netdev_mc_count(netdev); } -static __le32 igc_tx_launchtime(struct igc_adapter *adapter, ktime_t txtime) +static __le32 igc_tx_launchtime(struct igc_ring *ring, ktime_t txtime, + bool *first_flag, bool *insert_empty) { + struct igc_adapter *adapter = netdev_priv(ring->netdev); ktime_t cycle_time = adapter->cycle_time; ktime_t base_time = adapter->base_time; + ktime_t now = ktime_get_clocktai(); + ktime_t baset_est, end_of_cycle; u32 launchtime; + s64 n; - /* FIXME: when using ETF together with taprio, we may have a - * case where 'delta' is larger than the cycle_time, this may - * cause problems if we don't read the current value of - * IGC_BASET, as the value writen into the launchtime - * descriptor field may be misinterpreted. + n = div64_s64(ktime_sub_ns(now, base_time), cycle_time); + + baset_est = ktime_add_ns(base_time, cycle_time * (n)); + end_of_cycle = ktime_add_ns(baset_est, cycle_time); + + if (ktime_compare(txtime, end_of_cycle) >= 0) { + if (baset_est != ring->last_ff_cycle) { + *first_flag = true; + ring->last_ff_cycle = baset_est; + + if (ktime_compare(txtime, ring->last_tx_cycle) > 0) + *insert_empty = true; + } + } + + /* Introducing a window at end of cycle on which packets + * potentially not honor launchtime. Window of 5us chosen + * considering software update the tail pointer and packets + * are dma'ed to packet buffer. */ - div_s64_rem(ktime_sub_ns(txtime, base_time), cycle_time, &launchtime); + if ((ktime_sub_ns(end_of_cycle, now) < 5 * NSEC_PER_USEC)) + netdev_warn(ring->netdev, "Packet with txtime=%llu may not be honoured\n", + txtime); + + ring->last_tx_cycle = end_of_cycle; + + launchtime = ktime_sub_ns(txtime, baset_est); + if (launchtime > 0) + div_s64_rem(launchtime, cycle_time, &launchtime); + else + launchtime = 0; return cpu_to_le32(launchtime); } +static int igc_init_empty_frame(struct igc_ring *ring, + struct igc_tx_buffer *buffer, + struct sk_buff *skb) +{ + unsigned int size; + dma_addr_t dma; + + size = skb_headlen(skb); + + dma = dma_map_single(ring->dev, skb->data, size, DMA_TO_DEVICE); + if (dma_mapping_error(ring->dev, dma)) { + netdev_err_once(ring->netdev, "Failed to map DMA for TX\n"); + return -ENOMEM; + } + + buffer->skb = skb; + buffer->protocol = 0; + buffer->bytecount = skb->len; + buffer->gso_segs = 1; + buffer->time_stamp = jiffies; + dma_unmap_len_set(buffer, len, skb->len); + dma_unmap_addr_set(buffer, dma, dma); + + return 0; +} + +static int igc_init_tx_empty_descriptor(struct igc_ring *ring, + struct sk_buff *skb, + struct igc_tx_buffer *first) +{ + union igc_adv_tx_desc *desc; + u32 cmd_type, olinfo_status; + int err; + + if (!igc_desc_unused(ring)) + return -EBUSY; + + err = igc_init_empty_frame(ring, first, skb); + if (err) + return err; + + cmd_type = IGC_ADVTXD_DTYP_DATA | IGC_ADVTXD_DCMD_DEXT | + IGC_ADVTXD_DCMD_IFCS | IGC_TXD_DCMD | + first->bytecount; + olinfo_status = first->bytecount << IGC_ADVTXD_PAYLEN_SHIFT; + + desc = IGC_TX_DESC(ring, ring->next_to_use); + desc->read.cmd_type_len = cpu_to_le32(cmd_type); + desc->read.olinfo_status = cpu_to_le32(olinfo_status); + desc->read.buffer_addr = cpu_to_le64(dma_unmap_addr(first, dma)); + + netdev_tx_sent_queue(txring_txq(ring), skb->len); + + first->next_to_watch = desc; + + ring->next_to_use++; + if (ring->next_to_use == ring->count) + ring->next_to_use = 0; + + return 0; +} + +#define IGC_EMPTY_FRAME_SIZE 60 + static void igc_tx_ctxtdesc(struct igc_ring *tx_ring, - struct igc_tx_buffer *first, + __le32 launch_time, bool first_flag, u32 vlan_macip_lens, u32 type_tucmd, u32 mss_l4len_idx) { @@ -1037,26 +1130,17 @@ if (test_bit(IGC_RING_FLAG_TX_CTX_IDX, &tx_ring->flags)) mss_l4len_idx |= tx_ring->reg_idx << 4; + if (first_flag) + mss_l4len_idx |= IGC_ADVTXD_TSN_CNTX_FIRST; + context_desc->vlan_macip_lens = cpu_to_le32(vlan_macip_lens); context_desc->type_tucmd_mlhl = cpu_to_le32(type_tucmd); context_desc->mss_l4len_idx = cpu_to_le32(mss_l4len_idx); - - /* We assume there is always a valid Tx time available. Invalid times - * should have been handled by the upper layers. - */ - if (tx_ring->launchtime_enable) { - struct igc_adapter *adapter = netdev_priv(tx_ring->netdev); - ktime_t txtime = first->skb->tstamp; - - skb_txtime_consumed(first->skb); - context_desc->launch_time = igc_tx_launchtime(adapter, - txtime); - } else { - context_desc->launch_time = 0; - } + context_desc->launch_time = launch_time; } -static void igc_tx_csum(struct igc_ring *tx_ring, struct igc_tx_buffer *first) +static void igc_tx_csum(struct igc_ring *tx_ring, struct igc_tx_buffer *first, + __le32 launch_time, bool first_flag) { struct sk_buff *skb = first->skb; u32 vlan_macip_lens = 0; @@ -1096,7 +1180,8 @@ vlan_macip_lens |= skb_network_offset(skb) << IGC_ADVTXD_MACLEN_SHIFT; vlan_macip_lens |= first->tx_flags & IGC_TX_FLAGS_VLAN_MASK; - igc_tx_ctxtdesc(tx_ring, first, vlan_macip_lens, type_tucmd, 0); + igc_tx_ctxtdesc(tx_ring, launch_time, first_flag, + vlan_macip_lens, type_tucmd, 0); } static int __igc_maybe_stop_tx(struct igc_ring *tx_ring, const u16 size) @@ -1320,6 +1405,7 @@ static int igc_tso(struct igc_ring *tx_ring, struct igc_tx_buffer *first, + __le32 launch_time, bool first_flag, u8 *hdr_len) { u32 vlan_macip_lens, type_tucmd, mss_l4len_idx; @@ -1406,8 +1492,8 @@ vlan_macip_lens |= (ip.hdr - skb->data) << IGC_ADVTXD_MACLEN_SHIFT; vlan_macip_lens |= first->tx_flags & IGC_TX_FLAGS_VLAN_MASK; - igc_tx_ctxtdesc(tx_ring, first, vlan_macip_lens, - type_tucmd, mss_l4len_idx); + igc_tx_ctxtdesc(tx_ring, launch_time, first_flag, + vlan_macip_lens, type_tucmd, mss_l4len_idx); return 1; } @@ -1415,11 +1501,14 @@ static netdev_tx_t igc_xmit_frame_ring(struct sk_buff *skb, struct igc_ring *tx_ring) { + bool first_flag = false, insert_empty = false; u16 count = TXD_USE_COUNT(skb_headlen(skb)); __be16 protocol = vlan_get_protocol(skb); struct igc_tx_buffer *first; + __le32 launch_time = 0; u32 tx_flags = 0; unsigned short f; + ktime_t txtime; u8 hdr_len = 0; int tso = 0; @@ -1433,11 +1522,40 @@ count += TXD_USE_COUNT(skb_frag_size( &skb_shinfo(skb)->frags[f])); - if (igc_maybe_stop_tx(tx_ring, count + 3)) { + if (igc_maybe_stop_tx(tx_ring, count + 5)) { /* this is a hard error */ return NETDEV_TX_BUSY; } + if (!tx_ring->launchtime_enable) + goto done; + + txtime = skb->tstamp; + skb->tstamp = ktime_set(0, 0); + launch_time = igc_tx_launchtime(tx_ring, txtime, &first_flag, &insert_empty); + + if (insert_empty) { + struct igc_tx_buffer *empty_info; + struct sk_buff *empty; + void *data; + + empty_info = &tx_ring->tx_buffer_info[tx_ring->next_to_use]; + empty = alloc_skb(IGC_EMPTY_FRAME_SIZE, GFP_ATOMIC); + if (!empty) + goto done; + + data = skb_put(empty, IGC_EMPTY_FRAME_SIZE); + memset(data, 0, IGC_EMPTY_FRAME_SIZE); + + igc_tx_ctxtdesc(tx_ring, 0, false, 0, 0, 0); + + if (igc_init_tx_empty_descriptor(tx_ring, + empty, + empty_info) < 0) + dev_kfree_skb_any(empty); + } + +done: /* record the location of the first descriptor for this packet */ first = &tx_ring->tx_buffer_info[tx_ring->next_to_use]; first->type = IGC_TX_BUFFER_TYPE_SKB; @@ -1474,11 +1592,11 @@ first->tx_flags = tx_flags; first->protocol = protocol; - tso = igc_tso(tx_ring, first, &hdr_len); + tso = igc_tso(tx_ring, first, launch_time, first_flag, &hdr_len); if (tso < 0) goto out_drop; else if (!tso) - igc_tx_csum(tx_ring, first); + igc_tx_csum(tx_ring, first, launch_time, first_flag); igc_tx_map(tx_ring, first, hdr_len); @@ -2786,7 +2904,9 @@ if (tx_buffer->next_to_watch && time_after(jiffies, tx_buffer->time_stamp + (adapter->tx_timeout_factor * HZ)) && - !(rd32(IGC_STATUS) & IGC_STATUS_TXOFF)) { + !(rd32(IGC_STATUS) & IGC_STATUS_TXOFF) && + (rd32(IGC_TDH(tx_ring->reg_idx)) != + readl(tx_ring->tail))) { /* detected Tx unit hang */ netdev_err(tx_ring->netdev, "Detected Tx Unit Hang\n" @@ -4914,6 +5034,24 @@ } /** + * igc_tx_timeout - Respond to a Tx Hang + * @netdev: network interface device structure + * @txqueue: queue number that timed out + **/ +static void igc_tx_timeout(struct net_device *netdev, + unsigned int __always_unused txqueue) +{ + struct igc_adapter *adapter = netdev_priv(netdev); + struct igc_hw *hw = &adapter->hw; + + /* Do the reset outside of interrupt context */ + adapter->tx_timeout_count++; + schedule_work(&adapter->reset_task); + wr32(IGC_EICS, + (adapter->eims_enable_mask & ~adapter->eims_other)); +} + +/** * igc_get_stats64 - Get System Network Statistics * @netdev: network interface device structure * @stats: rtnl_link_stats64 pointer @@ -5340,7 +5478,7 @@ case SPEED_100: case SPEED_1000: case SPEED_2500: - adapter->tx_timeout_factor = 7; + adapter->tx_timeout_factor = 1; break; } @@ -5813,9 +5951,10 @@ return false; for (n = 0; n < qopt->num_entries; n++) { - const struct tc_taprio_sched_entry *e; + const struct tc_taprio_sched_entry *e, *prev; int i; + prev = n ? &qopt->entries[n - 1] : NULL; e = &qopt->entries[n]; /* i225 only supports "global" frame preemption @@ -5828,7 +5967,12 @@ if (e->gate_mask & BIT(i)) queue_uses[i]++; - if (queue_uses[i] > 1) + /* There are limitations: A single queue cannot be + * opened and closed multiple times per cycle unless the + * gate stays open. Check for it. + */ + if (queue_uses[i] > 1 && + !(prev->gate_mask & BIT(i))) return false; } } @@ -5872,12 +6016,19 @@ static int igc_save_qbv_schedule(struct igc_adapter *adapter, struct tc_taprio_qopt_offload *qopt) { + bool queue_configured[IGC_MAX_TX_QUEUES] = { }; u32 start_time = 0, end_time = 0; size_t n; + int i; + + adapter->qbv_enable = qopt->enable; if (!qopt->enable) return igc_tsn_clear_schedule(adapter); + if (qopt->base_time < 0) + return -ERANGE; + if (adapter->base_time) return -EALREADY; @@ -5887,28 +6038,58 @@ adapter->cycle_time = qopt->cycle_time; adapter->base_time = qopt->base_time; - /* FIXME: be a little smarter about cases when the gate for a - * queue stays open for more than one entry. - */ for (n = 0; n < qopt->num_entries; n++) { struct tc_taprio_sched_entry *e = &qopt->entries[n]; - int i; end_time += e->interval; + /* If any of the conditions below are true, we need to manually + * control the end time of the cycle. + * 1. Qbv users can specify a cycle time that is not equal + * to the total GCL intervals. Hence, recalculation is + * necessary here to exclude the time interval that + * exceeds the cycle time. + * 2. According to IEEE Std. 802.1Q-2018 section 8.6.9.2, + * once the end of the list is reached, it will switch + * to the END_OF_CYCLE state and leave the gates in the + * same state until the next cycle is started. + */ + if (end_time > adapter->cycle_time || + n + 1 == qopt->num_entries) + end_time = adapter->cycle_time; + for (i = 0; i < adapter->num_tx_queues; i++) { struct igc_ring *ring = adapter->tx_ring[i]; if (!(e->gate_mask & BIT(i))) continue; - ring->start_time = start_time; + /* Check whether a queue stays open for more than one + * entry. If so, keep the start and advance the end + * time. + */ + if (!queue_configured[i]) + ring->start_time = start_time; ring->end_time = end_time; + + queue_configured[i] = true; } start_time += e->interval; } + /* Check whether a queue gets configured. + * If not, set the start and end time to be end time. + */ + for (i = 0; i < adapter->num_tx_queues; i++) { + if (!queue_configured[i]) { + struct igc_ring *ring = adapter->tx_ring[i]; + + ring->start_time = end_time; + ring->end_time = end_time; + } + } + return 0; } @@ -6115,6 +6296,7 @@ .ndo_set_rx_mode = igc_set_rx_mode, .ndo_set_mac_address = igc_set_mac, .ndo_change_mtu = igc_change_mtu, + .ndo_tx_timeout = igc_tx_timeout, .ndo_get_stats64 = igc_get_stats64, .ndo_fix_features = igc_fix_features, .ndo_set_features = igc_set_features, @@ -6282,6 +6464,9 @@ memcpy(&hw->mac.ops, ei->mac_ops, sizeof(hw->mac.ops)); memcpy(&hw->phy.ops, ei->phy_ops, sizeof(hw->phy.ops)); + if (pci_is_thunderbolt_attached(pdev)) + msleep(600); + /* Initialize skew-specific constants */ err = ei->get_invariants(hw); if (err) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/igc/igc_ptp.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/igc/igc_ptp.c @@ -323,7 +323,7 @@ ts = ns_to_timespec64(ns); if (rq->perout.index == 1) { if (use_freq) { - tsauxc_mask = IGC_TSAUXC_EN_CLK1; + tsauxc_mask = IGC_TSAUXC_EN_CLK1 | IGC_TSAUXC_ST1; tsim_mask = 0; } else { tsauxc_mask = IGC_TSAUXC_EN_TT1; @@ -334,7 +334,7 @@ freqout = IGC_FREQOUT1; } else { if (use_freq) { - tsauxc_mask = IGC_TSAUXC_EN_CLK0; + tsauxc_mask = IGC_TSAUXC_EN_CLK0 | IGC_TSAUXC_ST0; tsim_mask = 0; } else { tsauxc_mask = IGC_TSAUXC_EN_TT0; @@ -348,10 +348,12 @@ tsauxc = rd32(IGC_TSAUXC); tsim = rd32(IGC_TSIM); if (rq->perout.index == 1) { - tsauxc &= ~(IGC_TSAUXC_EN_TT1 | IGC_TSAUXC_EN_CLK1); + tsauxc &= ~(IGC_TSAUXC_EN_TT1 | IGC_TSAUXC_EN_CLK1 | + IGC_TSAUXC_ST1); tsim &= ~IGC_TSICR_TT1; } else { - tsauxc &= ~(IGC_TSAUXC_EN_TT0 | IGC_TSAUXC_EN_CLK0); + tsauxc &= ~(IGC_TSAUXC_EN_TT0 | IGC_TSAUXC_EN_CLK0 | + IGC_TSAUXC_ST0); tsim &= ~IGC_TSICR_TT0; } if (on) { @@ -416,10 +418,12 @@ * * We need to convert the system time value stored in the RX/TXSTMP registers * into a hwtstamp which can be used by the upper level timestamping functions. + * + * Returns 0 on success. **/ -static void igc_ptp_systim_to_hwtstamp(struct igc_adapter *adapter, - struct skb_shared_hwtstamps *hwtstamps, - u64 systim) +static int igc_ptp_systim_to_hwtstamp(struct igc_adapter *adapter, + struct skb_shared_hwtstamps *hwtstamps, + u64 systim) { switch (adapter->hw.mac.type) { case igc_i225: @@ -429,8 +433,9 @@ systim & 0xFFFFFFFF); break; default: - break; + return -EINVAL; } + return 0; } /** @@ -651,7 +656,8 @@ regval = rd32(IGC_TXSTMPL); regval |= (u64)rd32(IGC_TXSTMPH) << 32; - igc_ptp_systim_to_hwtstamp(adapter, &shhwtstamps, regval); + if (igc_ptp_systim_to_hwtstamp(adapter, &shhwtstamps, regval)) + return; switch (adapter->link_speed) { case SPEED_10: --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/igc/igc_tsn.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/igc/igc_tsn.c @@ -36,7 +36,7 @@ { unsigned int new_flags = adapter->flags & ~IGC_FLAG_TSN_ANY_ENABLED; - if (adapter->base_time) + if (adapter->qbv_enable) new_flags |= IGC_FLAG_TSN_QBV_ENABLED; if (is_any_launchtime(adapter)) @@ -110,15 +110,8 @@ wr32(IGC_STQT(i), ring->start_time); wr32(IGC_ENDQT(i), ring->end_time); - if (adapter->base_time) { - /* If we have a base_time we are in "taprio" - * mode and we need to be strict about the - * cycles: only transmit a packet if it can be - * completed during that cycle. - */ - txqctl |= IGC_TXQCTL_STRICT_CYCLE | - IGC_TXQCTL_STRICT_END; - } + txqctl |= IGC_TXQCTL_STRICT_CYCLE | + IGC_TXQCTL_STRICT_END; if (ring->launchtime_enable) txqctl |= IGC_TXQCTL_QUEUE_MODE_LAUNCHT; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ixgbe/ixgbe.h +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ixgbe/ixgbe.h @@ -67,6 +67,8 @@ #define IXGBE_RXBUFFER_4K 4096 #define IXGBE_MAX_RXBUFFER 16384 /* largest size for a single descriptor */ +#define IXGBE_PKT_HDR_PAD (ETH_HLEN + ETH_FCS_LEN + (VLAN_HLEN * 2)) + /* Attempt to maximize the headroom available for incoming frames. We * use a 2K buffer for receives and need 1536/1534 to store the data for * the frame. This leaves us with 512 bytes of room. From that we need --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c @@ -6736,6 +6736,18 @@ } /** + * ixgbe_max_xdp_frame_size - returns the maximum allowed frame size for XDP + * @adapter: device handle, pointer to adapter + */ +static int ixgbe_max_xdp_frame_size(struct ixgbe_adapter *adapter) +{ + if (PAGE_SIZE >= 8192 || adapter->flags2 & IXGBE_FLAG2_RX_LEGACY) + return IXGBE_RXBUFFER_2K; + else + return IXGBE_RXBUFFER_3K; +} + +/** * ixgbe_change_mtu - Change the Maximum Transfer Unit * @netdev: network interface device structure * @new_mtu: new value for maximum frame size @@ -6746,18 +6758,12 @@ { struct ixgbe_adapter *adapter = netdev_priv(netdev); - if (adapter->xdp_prog) { - int new_frame_size = new_mtu + ETH_HLEN + ETH_FCS_LEN + - VLAN_HLEN; - int i; - - for (i = 0; i < adapter->num_rx_queues; i++) { - struct ixgbe_ring *ring = adapter->rx_ring[i]; + if (ixgbe_enabled_xdp_adapter(adapter)) { + int new_frame_size = new_mtu + IXGBE_PKT_HDR_PAD; - if (new_frame_size > ixgbe_rx_bufsz(ring)) { - e_warn(probe, "Requested MTU size is not supported with XDP\n"); - return -EINVAL; - } + if (new_frame_size > ixgbe_max_xdp_frame_size(adapter)) { + e_warn(probe, "Requested MTU size is not supported with XDP\n"); + return -EINVAL; } } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ixgbe/ixgbe_phy.c @@ -855,9 +855,11 @@ rp_pdev = pci_get_domain_bus_and_slot(0, 0, devfn); if (rp_pdev && rp_pdev->subordinate) { bus = rp_pdev->subordinate->number; + pci_dev_put(rp_pdev); return pci_get_domain_bus_and_slot(0, bus, 0); } + pci_dev_put(rp_pdev); return NULL; } @@ -874,6 +876,7 @@ struct ixgbe_adapter *adapter = hw->back; struct pci_dev *pdev = adapter->pdev; struct pci_dev *func0_pdev; + bool has_mii = false; /* For the C3000 family of SoCs (x550em_a) the internal ixgbe devices * are always downstream of root ports @ 0000:00:16.0 & 0000:00:17.0 @@ -884,15 +887,16 @@ func0_pdev = ixgbe_get_first_secondary_devfn(PCI_DEVFN(0x16, 0)); if (func0_pdev) { if (func0_pdev == pdev) - return true; - else - return false; + has_mii = true; + goto out; } func0_pdev = ixgbe_get_first_secondary_devfn(PCI_DEVFN(0x17, 0)); if (func0_pdev == pdev) - return true; + has_mii = true; - return false; +out: + pci_dev_put(func0_pdev); + return has_mii; } /** --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ixgbe/ixgbe_ptp.c @@ -1208,7 +1208,6 @@ struct cyclecounter cc; unsigned long flags; u32 incval = 0; - u32 tsauxc = 0; u32 fuse0 = 0; /* For some of the boards below this mask is technically incorrect. @@ -1243,18 +1242,6 @@ case ixgbe_mac_x550em_a: case ixgbe_mac_X550: cc.read = ixgbe_ptp_read_X550; - - /* enable SYSTIME counter */ - IXGBE_WRITE_REG(hw, IXGBE_SYSTIMR, 0); - IXGBE_WRITE_REG(hw, IXGBE_SYSTIML, 0); - IXGBE_WRITE_REG(hw, IXGBE_SYSTIMH, 0); - tsauxc = IXGBE_READ_REG(hw, IXGBE_TSAUXC); - IXGBE_WRITE_REG(hw, IXGBE_TSAUXC, - tsauxc & ~IXGBE_TSAUXC_DISABLE_SYSTIME); - IXGBE_WRITE_REG(hw, IXGBE_TSIM, IXGBE_TSIM_TXTS); - IXGBE_WRITE_REG(hw, IXGBE_EIMS, IXGBE_EIMS_TIMESYNC); - - IXGBE_WRITE_FLUSH(hw); break; case ixgbe_mac_X540: cc.read = ixgbe_ptp_read_82599; @@ -1287,6 +1274,50 @@ } /** + * ixgbe_ptp_init_systime - Initialize SYSTIME registers + * @adapter: the ixgbe private board structure + * + * Initialize and start the SYSTIME registers. + */ +static void ixgbe_ptp_init_systime(struct ixgbe_adapter *adapter) +{ + struct ixgbe_hw *hw = &adapter->hw; + u32 tsauxc; + + switch (hw->mac.type) { + case ixgbe_mac_X550EM_x: + case ixgbe_mac_x550em_a: + case ixgbe_mac_X550: + tsauxc = IXGBE_READ_REG(hw, IXGBE_TSAUXC); + + /* Reset SYSTIME registers to 0 */ + IXGBE_WRITE_REG(hw, IXGBE_SYSTIMR, 0); + IXGBE_WRITE_REG(hw, IXGBE_SYSTIML, 0); + IXGBE_WRITE_REG(hw, IXGBE_SYSTIMH, 0); + + /* Reset interrupt settings */ + IXGBE_WRITE_REG(hw, IXGBE_TSIM, IXGBE_TSIM_TXTS); + IXGBE_WRITE_REG(hw, IXGBE_EIMS, IXGBE_EIMS_TIMESYNC); + + /* Activate the SYSTIME counter */ + IXGBE_WRITE_REG(hw, IXGBE_TSAUXC, + tsauxc & ~IXGBE_TSAUXC_DISABLE_SYSTIME); + break; + case ixgbe_mac_X540: + case ixgbe_mac_82599EB: + /* Reset SYSTIME registers to 0 */ + IXGBE_WRITE_REG(hw, IXGBE_SYSTIML, 0); + IXGBE_WRITE_REG(hw, IXGBE_SYSTIMH, 0); + break; + default: + /* Other devices aren't supported */ + return; + }; + + IXGBE_WRITE_FLUSH(hw); +} + +/** * ixgbe_ptp_reset * @adapter: the ixgbe private board structure * @@ -1312,6 +1343,8 @@ ixgbe_ptp_start_cyclecounter(adapter); + ixgbe_ptp_init_systime(adapter); + spin_lock_irqsave(&adapter->tmreg_lock, flags); timecounter_init(&adapter->hw_tc, &adapter->hw_cc, ktime_to_ns(ktime_get_real())); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c @@ -4869,6 +4869,8 @@ **/ static int __init ixgbevf_init_module(void) { + int err; + pr_info("%s\n", ixgbevf_driver_string); pr_info("%s\n", ixgbevf_copyright); ixgbevf_wq = create_singlethread_workqueue(ixgbevf_driver_name); @@ -4877,7 +4879,13 @@ return -ENOMEM; } - return pci_register_driver(&ixgbevf_driver); + err = pci_register_driver(&ixgbevf_driver); + if (err) { + destroy_workqueue(ixgbevf_wq); + return err; + } + + return 0; } module_init(ixgbevf_init_module); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/lantiq_etop.c +++ linux-gcp-5.19.0/drivers/net/ethernet/lantiq_etop.c @@ -485,7 +485,6 @@ len = skb->len < ETH_ZLEN ? ETH_ZLEN : skb->len; if ((desc->ctl & (LTQ_DMA_OWN | LTQ_DMA_C)) || ch->skb[ch->dma.desc]) { - dev_kfree_skb_any(skb); netdev_err(dev, "tx ring full\n"); netif_tx_stop_queue(txq); return NETDEV_TX_BUSY; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/lantiq_xrx200.c +++ linux-gcp-5.19.0/drivers/net/ethernet/lantiq_xrx200.c @@ -193,6 +193,7 @@ ch->rx_buff[ch->dma.desc] = alloc(priv->rx_skb_size); if (!ch->rx_buff[ch->dma.desc]) { + ch->rx_buff[ch->dma.desc] = buf; ret = -ENOMEM; goto skip; } @@ -239,6 +240,12 @@ } skb = build_skb(buf, priv->rx_skb_size); + if (!skb) { + skb_free_frag(buf); + net_dev->stats.rx_dropped++; + return -ENOMEM; + } + skb_reserve(skb, NET_SKB_PAD); skb_put(skb, len); @@ -288,7 +295,7 @@ if (ret == XRX200_DMA_PACKET_IN_PROGRESS) continue; if (ret != XRX200_DMA_PACKET_COMPLETE) - return ret; + break; rx++; } else { break; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/mv643xx_eth.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/mv643xx_eth.c @@ -2481,6 +2481,7 @@ for (i = 0; i < mp->rxq_count; i++) rxq_deinit(mp->rxq + i); out: + napi_disable(&mp->napi); free_irq(dev->irq, dev); return err; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/mvneta.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/mvneta.c @@ -4271,7 +4271,7 @@ /* Use the cpu associated to the rxq when it is online, in all * the other cases, use the cpu 0 which can't be offline. */ - if (cpu_online(pp->rxq_def)) + if (pp->rxq_def < nr_cpu_ids && cpu_online(pp->rxq_def)) elected_cpu = pp->rxq_def; max_cpu = num_present_cpus(); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/mvpp2/mvpp2.h +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/mvpp2/mvpp2.h @@ -1530,6 +1530,7 @@ void mvpp2_dbgfs_init(struct mvpp2 *priv, const char *name); void mvpp2_dbgfs_cleanup(struct mvpp2 *priv); +void mvpp2_dbgfs_exit(void); void mvpp23_rx_fifo_fc_en(struct mvpp2 *priv, int port, bool en); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/mvpp2/mvpp2_debugfs.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/mvpp2/mvpp2_debugfs.c @@ -691,6 +691,13 @@ return 0; } +static struct dentry *mvpp2_root; + +void mvpp2_dbgfs_exit(void) +{ + debugfs_remove(mvpp2_root); +} + void mvpp2_dbgfs_cleanup(struct mvpp2 *priv) { debugfs_remove_recursive(priv->dbgfs_dir); @@ -700,10 +707,9 @@ void mvpp2_dbgfs_init(struct mvpp2 *priv, const char *name) { - struct dentry *mvpp2_dir, *mvpp2_root; + struct dentry *mvpp2_dir; int ret, i; - mvpp2_root = debugfs_lookup(MVPP2_DRIVER_NAME, NULL); if (!mvpp2_root) mvpp2_root = debugfs_create_dir(MVPP2_DRIVER_NAME, NULL); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c @@ -7352,6 +7352,7 @@ struct mvpp2 *priv) { struct resource *res; + void __iomem *base; res = platform_get_resource(pdev, IORESOURCE_MEM, 2); if (!res) { @@ -7362,9 +7363,12 @@ return 0; } - priv->cm3_base = devm_ioremap_resource(&pdev->dev, res); + base = devm_ioremap_resource(&pdev->dev, res); + if (IS_ERR(base)) + return PTR_ERR(base); - return PTR_ERR_OR_ZERO(priv->cm3_base); + priv->cm3_base = base; + return 0; } static int mvpp2_probe(struct platform_device *pdev) @@ -7706,7 +7710,18 @@ }, }; -module_platform_driver(mvpp2_driver); +static int __init mvpp2_driver_init(void) +{ + return platform_driver_register(&mvpp2_driver); +} +module_init(mvpp2_driver_init); + +static void __exit mvpp2_driver_exit(void) +{ + platform_driver_unregister(&mvpp2_driver); + mvpp2_dbgfs_exit(); +} +module_exit(mvpp2_driver_exit); MODULE_DESCRIPTION("Marvell PPv2 Ethernet Driver - www.marvell.com"); MODULE_AUTHOR("Marcin Wojtas "); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/octeon_ep/octep_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/octeon_ep/octep_main.c @@ -521,14 +521,12 @@ octep_oq_dbell_init(oct); ret = octep_get_link_status(oct); - if (ret) + if (ret > 0) octep_link_up(netdev); return 0; set_queues_err: - octep_napi_disable(oct); - octep_napi_delete(oct); octep_clean_irqs(oct); setup_irq_err: octep_free_oqs(oct); @@ -958,7 +956,7 @@ ret = octep_ctrl_mbox_init(ctrl_mbox); if (ret) { dev_err(&pdev->dev, "Failed to initialize control mbox\n"); - return -1; + goto unsupported_dev; } oct->ctrl_mbox_ifstats_offset = OCTEP_CTRL_MBOX_SZ(ctrl_mbox->h2fq.elem_sz, ctrl_mbox->h2fq.elem_cnt, @@ -968,6 +966,10 @@ return 0; unsupported_dev: + for (i = 0; i < OCTEP_MMIO_REGIONS; i++) + iounmap(oct->mmio[i].hw_addr); + + kfree(oct->conf); return -1; } @@ -1070,7 +1072,11 @@ netdev->max_mtu = OCTEP_MAX_MTU; netdev->mtu = OCTEP_DEFAULT_MTU; - octep_get_mac_addr(octep_dev, octep_dev->mac_addr); + err = octep_get_mac_addr(octep_dev, octep_dev->mac_addr); + if (err) { + dev_err(&pdev->dev, "Failed to get mac address\n"); + goto register_dev_err; + } eth_hw_addr_set(netdev, octep_dev->mac_addr); err = register_netdev(netdev); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/octeontx2/af/cgx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/octeontx2/af/cgx.c @@ -742,9 +742,9 @@ cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG); if (enable) - cfg |= CMR_EN | DATA_PKT_RX_EN | DATA_PKT_TX_EN; + cfg |= DATA_PKT_RX_EN | DATA_PKT_TX_EN; else - cfg &= ~(CMR_EN | DATA_PKT_RX_EN | DATA_PKT_TX_EN); + cfg &= ~(DATA_PKT_RX_EN | DATA_PKT_TX_EN); cgx_write(cgx, lmac_id, CGXX_CMRX_CFG, cfg); return 0; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/octeontx2/af/cgx.h +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/octeontx2/af/cgx.h @@ -30,7 +30,6 @@ #define CMR_P2X_SEL_SHIFT 59ULL #define CMR_P2X_SEL_NIX0 1ULL #define CMR_P2X_SEL_NIX1 2ULL -#define CMR_EN BIT_ULL(55) #define DATA_PKT_TX_EN BIT_ULL(53) #define DATA_PKT_RX_EN BIT_ULL(54) #define CGX_LMAC_TYPE_SHIFT 40 --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/octeontx2/af/rvu.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/octeontx2/af/rvu.c @@ -2564,6 +2564,12 @@ rvu_blklf_teardown(rvu, pcifunc, BLKADDR_NPA); rvu_reset_lmt_map_tbl(rvu, pcifunc); rvu_detach_rsrcs(rvu, NULL, pcifunc); + /* In scenarios where PF/VF drivers detach NIXLF without freeing MCAM + * entries, check and free the MCAM entries explicitly to avoid leak. + * Since LF is detached use LF number as -1. + */ + rvu_npc_free_mcam_entries(rvu, pcifunc, -1); + mutex_unlock(&rvu->flr_lock); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/octeontx2/af/rvu_debugfs.c @@ -534,6 +534,8 @@ sprintf(lmac, "LMAC%d", lmac_id); seq_printf(filp, "%s\t0x%x\t\tNIX%d\t\t%s\t%s\n", dev_name(&pdev->dev), pcifunc, blkid, cgx, lmac); + + pci_dev_put(pdev); } return 0; } @@ -2220,6 +2222,7 @@ } } + pci_dev_put(pdev); return 0; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c @@ -4954,6 +4954,8 @@ ipolicer->ref_count = devm_kcalloc(rvu->dev, ipolicer->band_prof.max, sizeof(u16), GFP_KERNEL); + if (!ipolicer->ref_count) + return -ENOMEM; } /* Set policer timeunit to 2us ie (19 + 1) * 100 nsec = 2us */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c @@ -1096,6 +1096,9 @@ void rvu_npc_disable_default_entries(struct rvu *rvu, u16 pcifunc, int nixlf) { + if (nixlf < 0) + return; + npc_enadis_default_entries(rvu, pcifunc, nixlf, false); /* Delete multicast and promisc MCAM entries */ @@ -1107,6 +1110,9 @@ void rvu_npc_enable_default_entries(struct rvu *rvu, u16 pcifunc, int nixlf) { + if (nixlf < 0) + return; + /* Enables only broadcast match entry. Promisc/Allmulti are enabled * in set_rx_mode mbox handler. */ @@ -1650,7 +1656,7 @@ * Firmware database method. * Default KPU profile. */ - if (!request_firmware(&fw, kpu_profile, rvu->dev)) { + if (!request_firmware_direct(&fw, kpu_profile, rvu->dev)) { dev_info(rvu->dev, "Loading KPU profile from firmware: %s\n", kpu_profile); rvu->kpu_fwdata = kzalloc(fw->size, GFP_KERNEL); @@ -1915,6 +1921,7 @@ static void rvu_npc_setup_interfaces(struct rvu *rvu, int blkaddr) { + struct npc_mcam_kex *mkex = rvu->kpu.mkex; struct npc_mcam *mcam = &rvu->hw->mcam; struct rvu_hwinfo *hw = rvu->hw; u64 nibble_ena, rx_kex, tx_kex; @@ -1927,15 +1934,15 @@ mcam->counters.max--; mcam->rx_miss_act_cntr = mcam->counters.max; - rx_kex = npc_mkex_default.keyx_cfg[NIX_INTF_RX]; - tx_kex = npc_mkex_default.keyx_cfg[NIX_INTF_TX]; + rx_kex = mkex->keyx_cfg[NIX_INTF_RX]; + tx_kex = mkex->keyx_cfg[NIX_INTF_TX]; nibble_ena = FIELD_GET(NPC_PARSE_NIBBLE, rx_kex); nibble_ena = rvu_npc_get_tx_nibble_cfg(rvu, nibble_ena); if (nibble_ena) { tx_kex &= ~NPC_PARSE_NIBBLE; tx_kex |= FIELD_PREP(NPC_PARSE_NIBBLE, nibble_ena); - npc_mkex_default.keyx_cfg[NIX_INTF_TX] = tx_kex; + mkex->keyx_cfg[NIX_INTF_TX] = tx_kex; } /* Configure RX interfaces */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c @@ -445,7 +445,8 @@ NPC_SCAN_HDR(NPC_VLAN_TAG1, NPC_LID_LB, NPC_LT_LB_CTAG, 2, 2); NPC_SCAN_HDR(NPC_VLAN_TAG2, NPC_LID_LB, NPC_LT_LB_STAG_QINQ, 2, 2); NPC_SCAN_HDR(NPC_DMAC, NPC_LID_LA, la_ltype, la_start, 6); - NPC_SCAN_HDR(NPC_SMAC, NPC_LID_LA, la_ltype, la_start, 6); + /* SMAC follows the DMAC(which is 6 bytes) */ + NPC_SCAN_HDR(NPC_SMAC, NPC_LID_LA, la_ltype, la_start + 6, 6); /* PF_FUNC is 2 bytes at 0th byte of NPC_LT_LA_IH_NIX_ETHER */ NPC_SCAN_HDR(NPC_PF_FUNC, NPC_LID_LA, NPC_LT_LA_IH_NIX_ETHER, 0, 2); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/octeontx2/af/rvu_sdp.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/octeontx2/af/rvu_sdp.c @@ -62,15 +62,18 @@ pfvf->sdp_info = devm_kzalloc(rvu->dev, sizeof(struct sdp_node_info), GFP_KERNEL); - if (!pfvf->sdp_info) + if (!pfvf->sdp_info) { + pci_dev_put(pdev); return -ENOMEM; + } dev_info(rvu->dev, "SDP PF number:%d\n", sdp_pf_num[i]); - put_device(&pdev->dev); i++; } + pci_dev_put(pdev); + return 0; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c @@ -632,6 +632,12 @@ req->num_regs++; req->reg[1] = NIX_AF_TL3X_SCHEDULE(schq); req->regval[1] = dwrr_val; + if (lvl == hw->txschq_link_cfg_lvl) { + req->num_regs++; + req->reg[2] = NIX_AF_TL3_TL2X_LINKX_CFG(schq, hw->tx_link); + /* Enable this queue and backpressure */ + req->regval[2] = BIT_ULL(13) | BIT_ULL(12); + } } else if (lvl == NIX_TXSCH_LVL_TL2) { parent = hw->txschq_list[NIX_TXSCH_LVL_TL1][0]; req->reg[0] = NIX_AF_TL2X_PARENT(schq); @@ -641,11 +647,12 @@ req->reg[1] = NIX_AF_TL2X_SCHEDULE(schq); req->regval[1] = TXSCH_TL1_DFLT_RR_PRIO << 24 | dwrr_val; - req->num_regs++; - req->reg[2] = NIX_AF_TL3_TL2X_LINKX_CFG(schq, hw->tx_link); - /* Enable this queue and backpressure */ - req->regval[2] = BIT_ULL(13) | BIT_ULL(12); - + if (lvl == hw->txschq_link_cfg_lvl) { + req->num_regs++; + req->reg[2] = NIX_AF_TL3_TL2X_LINKX_CFG(schq, hw->tx_link); + /* Enable this queue and backpressure */ + req->regval[2] = BIT_ULL(13) | BIT_ULL(12); + } } else if (lvl == NIX_TXSCH_LVL_TL1) { /* Default config for TL1. * For VF this is always ignored. @@ -856,6 +863,7 @@ } sq->head = 0; + sq->cons_head = 0; sq->sqe_per_sqb = (pfvf->hw.sqb_size / sq->sqe_size) - 1; sq->num_sqbs = (qset->sqe_cnt + sq->sqe_per_sqb) / sq->sqe_per_sqb; /* Set SQE threshold to 10% of total SQEs */ @@ -1333,18 +1341,23 @@ sq = &qset->sq[qidx]; sq->sqb_count = 0; sq->sqb_ptrs = kcalloc(num_sqbs, sizeof(*sq->sqb_ptrs), GFP_KERNEL); - if (!sq->sqb_ptrs) - return -ENOMEM; + if (!sq->sqb_ptrs) { + err = -ENOMEM; + goto err_mem; + } for (ptr = 0; ptr < num_sqbs; ptr++) { - if (otx2_alloc_rbuf(pfvf, pool, &bufptr)) - return -ENOMEM; + err = otx2_alloc_rbuf(pfvf, pool, &bufptr); + if (err) + goto err_mem; pfvf->hw_ops->aura_freeptr(pfvf, pool_id, bufptr); sq->sqb_ptrs[sq->sqb_count++] = (u64)bufptr; } } - return 0; +err_mem: + return err ? -ENOMEM : 0; + fail: otx2_mbox_reset(&pfvf->mbox.mbox, 0); otx2_aura_pool_free(pfvf); @@ -1387,13 +1400,13 @@ for (pool_id = 0; pool_id < hw->rqpool_cnt; pool_id++) { pool = &pfvf->qset.pool[pool_id]; for (ptr = 0; ptr < num_ptrs; ptr++) { - if (otx2_alloc_rbuf(pfvf, pool, &bufptr)) + err = otx2_alloc_rbuf(pfvf, pool, &bufptr); + if (err) return -ENOMEM; pfvf->hw_ops->aura_freeptr(pfvf, pool_id, bufptr + OTX2_HEAD_ROOM); } } - return 0; fail: otx2_mbox_reset(&pfvf->mbox.mbox, 0); @@ -1591,6 +1604,8 @@ for (schq = 0; schq < rsp->schq[lvl]; schq++) pf->hw.txschq_list[lvl][schq] = rsp->schq_list[lvl][schq]; + + pf->hw.txschq_link_cfg_lvl = rsp->link_cfg_lvl; } EXPORT_SYMBOL(mbox_handler_nix_txsch_alloc); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.h @@ -195,6 +195,7 @@ u16 sqb_size; /* NIX */ + u8 txschq_link_cfg_lvl; u16 txschq_list[NIX_TXSCH_LVL_CNT][MAX_TXSCHQ_PER_FUNC]; u16 matchall_ipolicer; u32 dwrr_mtu; @@ -637,8 +638,10 @@ u64 ptrs[2]; ptrs[1] = buf; + get_cpu(); /* Free only one buffer at time during init and teardown */ __cn10k_aura_freeptr(pfvf, aura, ptrs, 2); + put_cpu(); } /* Alloc pointer from pool/aura */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c @@ -15,6 +15,7 @@ #include #include #include +#include #include "otx2_reg.h" #include "otx2_common.h" @@ -1161,6 +1162,59 @@ } EXPORT_SYMBOL(otx2_set_real_num_queues); +static char *nix_sqoperr_e_str[NIX_SQOPERR_MAX] = { + "NIX_SQOPERR_OOR", + "NIX_SQOPERR_CTX_FAULT", + "NIX_SQOPERR_CTX_POISON", + "NIX_SQOPERR_DISABLED", + "NIX_SQOPERR_SIZE_ERR", + "NIX_SQOPERR_OFLOW", + "NIX_SQOPERR_SQB_NULL", + "NIX_SQOPERR_SQB_FAULT", + "NIX_SQOPERR_SQE_SZ_ZERO", +}; + +static char *nix_mnqerr_e_str[NIX_MNQERR_MAX] = { + "NIX_MNQERR_SQ_CTX_FAULT", + "NIX_MNQERR_SQ_CTX_POISON", + "NIX_MNQERR_SQB_FAULT", + "NIX_MNQERR_SQB_POISON", + "NIX_MNQERR_TOTAL_ERR", + "NIX_MNQERR_LSO_ERR", + "NIX_MNQERR_CQ_QUERY_ERR", + "NIX_MNQERR_MAX_SQE_SIZE_ERR", + "NIX_MNQERR_MAXLEN_ERR", + "NIX_MNQERR_SQE_SIZEM1_ZERO", +}; + +static char *nix_snd_status_e_str[NIX_SND_STATUS_MAX] = { + "NIX_SND_STATUS_GOOD", + "NIX_SND_STATUS_SQ_CTX_FAULT", + "NIX_SND_STATUS_SQ_CTX_POISON", + "NIX_SND_STATUS_SQB_FAULT", + "NIX_SND_STATUS_SQB_POISON", + "NIX_SND_STATUS_HDR_ERR", + "NIX_SND_STATUS_EXT_ERR", + "NIX_SND_STATUS_JUMP_FAULT", + "NIX_SND_STATUS_JUMP_POISON", + "NIX_SND_STATUS_CRC_ERR", + "NIX_SND_STATUS_IMM_ERR", + "NIX_SND_STATUS_SG_ERR", + "NIX_SND_STATUS_MEM_ERR", + "NIX_SND_STATUS_INVALID_SUBDC", + "NIX_SND_STATUS_SUBDC_ORDER_ERR", + "NIX_SND_STATUS_DATA_FAULT", + "NIX_SND_STATUS_DATA_POISON", + "NIX_SND_STATUS_NPC_DROP_ACTION", + "NIX_SND_STATUS_LOCK_VIOL", + "NIX_SND_STATUS_NPC_UCAST_CHAN_ERR", + "NIX_SND_STATUS_NPC_MCAST_CHAN_ERR", + "NIX_SND_STATUS_NPC_MCAST_ABORT", + "NIX_SND_STATUS_NPC_VTAG_PTR_ERR", + "NIX_SND_STATUS_NPC_VTAG_SIZE_ERR", + "NIX_SND_STATUS_SEND_STATS_ERR", +}; + static irqreturn_t otx2_q_intr_handler(int irq, void *data) { struct otx2_nic *pf = data; @@ -1194,46 +1248,67 @@ /* SQ */ for (qidx = 0; qidx < pf->hw.tot_tx_queues; qidx++) { + u64 sq_op_err_dbg, mnq_err_dbg, snd_err_dbg; + u8 sq_op_err_code, mnq_err_code, snd_err_code; + + /* Below debug registers captures first errors corresponding to + * those registers. We don't have to check against SQ qid as + * these are fatal errors. + */ + ptr = otx2_get_regaddr(pf, NIX_LF_SQ_OP_INT); val = otx2_atomic64_add((qidx << 44), ptr); otx2_write64(pf, NIX_LF_SQ_OP_INT, (qidx << 44) | (val & NIX_SQINT_BITS)); - if (!(val & (NIX_SQINT_BITS | BIT_ULL(42)))) - continue; - if (val & BIT_ULL(42)) { netdev_err(pf->netdev, "SQ%lld: error reading NIX_LF_SQ_OP_INT, NIX_LF_ERR_INT 0x%llx\n", qidx, otx2_read64(pf, NIX_LF_ERR_INT)); - } else { - if (val & BIT_ULL(NIX_SQINT_LMT_ERR)) { - netdev_err(pf->netdev, "SQ%lld: LMT store error NIX_LF_SQ_OP_ERR_DBG:0x%llx", - qidx, - otx2_read64(pf, - NIX_LF_SQ_OP_ERR_DBG)); - otx2_write64(pf, NIX_LF_SQ_OP_ERR_DBG, - BIT_ULL(44)); - } - if (val & BIT_ULL(NIX_SQINT_MNQ_ERR)) { - netdev_err(pf->netdev, "SQ%lld: Meta-descriptor enqueue error NIX_LF_MNQ_ERR_DGB:0x%llx\n", - qidx, - otx2_read64(pf, NIX_LF_MNQ_ERR_DBG)); - otx2_write64(pf, NIX_LF_MNQ_ERR_DBG, - BIT_ULL(44)); - } - if (val & BIT_ULL(NIX_SQINT_SEND_ERR)) { - netdev_err(pf->netdev, "SQ%lld: Send error, NIX_LF_SEND_ERR_DBG 0x%llx", - qidx, - otx2_read64(pf, - NIX_LF_SEND_ERR_DBG)); - otx2_write64(pf, NIX_LF_SEND_ERR_DBG, - BIT_ULL(44)); - } - if (val & BIT_ULL(NIX_SQINT_SQB_ALLOC_FAIL)) - netdev_err(pf->netdev, "SQ%lld: SQB allocation failed", - qidx); + goto done; } + sq_op_err_dbg = otx2_read64(pf, NIX_LF_SQ_OP_ERR_DBG); + if (!(sq_op_err_dbg & BIT(44))) + goto chk_mnq_err_dbg; + + sq_op_err_code = FIELD_GET(GENMASK(7, 0), sq_op_err_dbg); + netdev_err(pf->netdev, "SQ%lld: NIX_LF_SQ_OP_ERR_DBG(%llx) err=%s\n", + qidx, sq_op_err_dbg, nix_sqoperr_e_str[sq_op_err_code]); + + otx2_write64(pf, NIX_LF_SQ_OP_ERR_DBG, BIT_ULL(44)); + + if (sq_op_err_code == NIX_SQOPERR_SQB_NULL) + goto chk_mnq_err_dbg; + + /* Err is not NIX_SQOPERR_SQB_NULL, call aq function to read SQ structure. + * TODO: But we are in irq context. How to call mbox functions which does sleep + */ + +chk_mnq_err_dbg: + mnq_err_dbg = otx2_read64(pf, NIX_LF_MNQ_ERR_DBG); + if (!(mnq_err_dbg & BIT(44))) + goto chk_snd_err_dbg; + + mnq_err_code = FIELD_GET(GENMASK(7, 0), mnq_err_dbg); + netdev_err(pf->netdev, "SQ%lld: NIX_LF_MNQ_ERR_DBG(%llx) err=%s\n", + qidx, mnq_err_dbg, nix_mnqerr_e_str[mnq_err_code]); + otx2_write64(pf, NIX_LF_MNQ_ERR_DBG, BIT_ULL(44)); + +chk_snd_err_dbg: + snd_err_dbg = otx2_read64(pf, NIX_LF_SEND_ERR_DBG); + if (snd_err_dbg & BIT(44)) { + snd_err_code = FIELD_GET(GENMASK(7, 0), snd_err_dbg); + netdev_err(pf->netdev, "SQ%lld: NIX_LF_SND_ERR_DBG:0x%llx err=%s\n", + qidx, snd_err_dbg, nix_snd_status_e_str[snd_err_code]); + otx2_write64(pf, NIX_LF_SEND_ERR_DBG, BIT_ULL(44)); + } + +done: + /* Print values and reset */ + if (val & BIT_ULL(NIX_SQINT_SQB_ALLOC_FAIL)) + netdev_err(pf->netdev, "SQ%lld: SQB allocation failed", + qidx); + schedule_work(&pf->reset_task); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/octeontx2/nic/otx2_struct.h +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_struct.h @@ -274,4 +274,61 @@ BIT_ULL(NIX_SQINT_SEND_ERR) | \ BIT_ULL(NIX_SQINT_SQB_ALLOC_FAIL)) +enum nix_sqoperr_e { + NIX_SQOPERR_OOR = 0, + NIX_SQOPERR_CTX_FAULT = 1, + NIX_SQOPERR_CTX_POISON = 2, + NIX_SQOPERR_DISABLED = 3, + NIX_SQOPERR_SIZE_ERR = 4, + NIX_SQOPERR_OFLOW = 5, + NIX_SQOPERR_SQB_NULL = 6, + NIX_SQOPERR_SQB_FAULT = 7, + NIX_SQOPERR_SQE_SZ_ZERO = 8, + NIX_SQOPERR_MAX, +}; + +enum nix_mnqerr_e { + NIX_MNQERR_SQ_CTX_FAULT = 0, + NIX_MNQERR_SQ_CTX_POISON = 1, + NIX_MNQERR_SQB_FAULT = 2, + NIX_MNQERR_SQB_POISON = 3, + NIX_MNQERR_TOTAL_ERR = 4, + NIX_MNQERR_LSO_ERR = 5, + NIX_MNQERR_CQ_QUERY_ERR = 6, + NIX_MNQERR_MAX_SQE_SIZE_ERR = 7, + NIX_MNQERR_MAXLEN_ERR = 8, + NIX_MNQERR_SQE_SIZEM1_ZERO = 9, + NIX_MNQERR_MAX, +}; + +enum nix_snd_status_e { + NIX_SND_STATUS_GOOD = 0x0, + NIX_SND_STATUS_SQ_CTX_FAULT = 0x1, + NIX_SND_STATUS_SQ_CTX_POISON = 0x2, + NIX_SND_STATUS_SQB_FAULT = 0x3, + NIX_SND_STATUS_SQB_POISON = 0x4, + NIX_SND_STATUS_HDR_ERR = 0x5, + NIX_SND_STATUS_EXT_ERR = 0x6, + NIX_SND_STATUS_JUMP_FAULT = 0x7, + NIX_SND_STATUS_JUMP_POISON = 0x8, + NIX_SND_STATUS_CRC_ERR = 0x9, + NIX_SND_STATUS_IMM_ERR = 0x10, + NIX_SND_STATUS_SG_ERR = 0x11, + NIX_SND_STATUS_MEM_ERR = 0x12, + NIX_SND_STATUS_INVALID_SUBDC = 0x13, + NIX_SND_STATUS_SUBDC_ORDER_ERR = 0x14, + NIX_SND_STATUS_DATA_FAULT = 0x15, + NIX_SND_STATUS_DATA_POISON = 0x16, + NIX_SND_STATUS_NPC_DROP_ACTION = 0x17, + NIX_SND_STATUS_LOCK_VIOL = 0x18, + NIX_SND_STATUS_NPC_UCAST_CHAN_ERR = 0x19, + NIX_SND_STATUS_NPC_MCAST_CHAN_ERR = 0x20, + NIX_SND_STATUS_NPC_MCAST_ABORT = 0x21, + NIX_SND_STATUS_NPC_VTAG_PTR_ERR = 0x22, + NIX_SND_STATUS_NPC_VTAG_SIZE_ERR = 0x23, + NIX_SND_STATUS_SEND_MEM_FAULT = 0x24, + NIX_SND_STATUS_SEND_STATS_ERR = 0x25, + NIX_SND_STATUS_MAX, +}; + #endif /* OTX2_STRUCT_H */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c @@ -1134,7 +1134,12 @@ return err; tc->flow_ht_params = tc_flow_ht_params; - return rhashtable_init(&tc->flow_table, &tc->flow_ht_params); + err = rhashtable_init(&tc->flow_table, &tc->flow_ht_params); + if (err) { + kfree(tc->tc_entries_bitmap); + tc->tc_entries_bitmap = NULL; + } + return err; } EXPORT_SYMBOL(otx2_init_tc); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.c @@ -435,6 +435,7 @@ struct otx2_cq_queue *cq, int budget) { int tx_pkts = 0, tx_bytes = 0, qidx; + struct otx2_snd_queue *sq; struct nix_cqe_tx_s *cqe; int processed_cqe = 0; @@ -445,6 +446,9 @@ return 0; process_cqe: + qidx = cq->cq_idx - pfvf->hw.rx_queues; + sq = &pfvf->qset.sq[qidx]; + while (likely(processed_cqe < budget) && cq->pend_cqe) { cqe = (struct nix_cqe_tx_s *)otx2_get_next_cqe(cq); if (unlikely(!cqe)) { @@ -452,18 +456,20 @@ return 0; break; } + if (cq->cq_type == CQ_XDP) { - qidx = cq->cq_idx - pfvf->hw.rx_queues; - otx2_xdp_snd_pkt_handler(pfvf, &pfvf->qset.sq[qidx], - cqe); + otx2_xdp_snd_pkt_handler(pfvf, sq, cqe); } else { - otx2_snd_pkt_handler(pfvf, cq, - &pfvf->qset.sq[cq->cint_idx], - cqe, budget, &tx_pkts, &tx_bytes); + otx2_snd_pkt_handler(pfvf, cq, sq, cqe, budget, + &tx_pkts, &tx_bytes); } + cqe->hdr.cqe_type = NIX_XQE_TYPE_INVALID; processed_cqe++; cq->pend_cqe--; + + sq->cons_head++; + sq->cons_head &= (sq->sqe_cnt - 1); } /* Free CQEs to HW */ @@ -972,17 +978,17 @@ { struct netdev_queue *txq = netdev_get_tx_queue(netdev, qidx); struct otx2_nic *pfvf = netdev_priv(netdev); - int offset, num_segs, free_sqe; + int offset, num_segs, free_desc; struct nix_sqe_hdr_s *sqe_hdr; - /* Check if there is room for new SQE. - * 'Num of SQBs freed to SQ's pool - SQ's Aura count' - * will give free SQE count. + /* Check if there is enough room between producer + * and consumer index. */ - free_sqe = (sq->num_sqbs - *sq->aura_fc_addr) * sq->sqe_per_sqb; + free_desc = (sq->cons_head - sq->head - 1 + sq->sqe_cnt) & (sq->sqe_cnt - 1); + if (free_desc < sq->sqe_thresh) + return false; - if (free_sqe < sq->sqe_thresh || - free_sqe < otx2_get_sqe_count(pfvf, skb)) + if (free_desc < otx2_get_sqe_count(pfvf, skb)) return false; num_segs = skb_shinfo(skb)->nr_frags + 1; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.h +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_txrx.h @@ -79,6 +79,7 @@ struct otx2_snd_queue { u8 aura_id; u16 head; + u16 cons_head; u16 sqe_size; u32 sqe_cnt; u16 num_sqbs; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c @@ -758,6 +758,8 @@ if (vf->otx2_wq) destroy_workqueue(vf->otx2_wq); otx2_ptp_destroy(vf); + otx2_mcam_flow_del(vf); + otx2_shutdown_tc(vf); otx2vf_disable_mbox_intr(vf); otx2_detach_resources(&vf->mbox); if (test_bit(CN10K_LMTST, &vf->hw.cap_flag)) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/prestera/prestera_acl.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/prestera/prestera_acl.c @@ -162,10 +162,14 @@ return ERR_PTR(err); } -void prestera_acl_ruleset_keymask_set(struct prestera_acl_ruleset *ruleset, - void *keymask) +int prestera_acl_ruleset_keymask_set(struct prestera_acl_ruleset *ruleset, + void *keymask) { ruleset->keymask = kmemdup(keymask, ACL_KEYMASK_SIZE, GFP_KERNEL); + if (!ruleset->keymask) + return -ENOMEM; + + return 0; } int prestera_acl_ruleset_offload(struct prestera_acl_ruleset *ruleset) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/prestera/prestera_acl.h +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/prestera/prestera_acl.h @@ -185,8 +185,8 @@ prestera_acl_ruleset_lookup(struct prestera_acl *acl, struct prestera_flow_block *block, u32 chain_index); -void prestera_acl_ruleset_keymask_set(struct prestera_acl_ruleset *ruleset, - void *keymask); +int prestera_acl_ruleset_keymask_set(struct prestera_acl_ruleset *ruleset, + void *keymask); bool prestera_acl_ruleset_is_offload(struct prestera_acl_ruleset *ruleset); int prestera_acl_ruleset_offload(struct prestera_acl_ruleset *ruleset); void prestera_acl_ruleset_put(struct prestera_acl_ruleset *ruleset); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/prestera/prestera_flower.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/prestera/prestera_flower.c @@ -428,7 +428,9 @@ } /* preserve keymask/template to this ruleset */ - prestera_acl_ruleset_keymask_set(ruleset, rule.re_key.match.mask); + err = prestera_acl_ruleset_keymask_set(ruleset, rule.re_key.match.mask); + if (err) + goto err_ruleset_keymask_set; /* skip error, as it is not possible to reject template operation, * so, keep the reference to the ruleset for rules to be added @@ -444,6 +446,8 @@ list_add_rcu(&template->list, &block->template_list); return 0; +err_ruleset_keymask_set: + prestera_acl_ruleset_put(ruleset); err_ruleset_get: kfree(template); err_malloc: --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/prestera/prestera_pci.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/prestera/prestera_pci.c @@ -872,6 +872,7 @@ static const struct pci_device_id prestera_pci_devices[] = { { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0xC804) }, { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0xC80C) }, + { PCI_DEVICE(PCI_VENDOR_ID_MARVELL, 0xCC1E) }, { } }; MODULE_DEVICE_TABLE(pci, prestera_pci_devices); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/marvell/prestera/prestera_rxtx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/marvell/prestera/prestera_rxtx.c @@ -776,6 +776,7 @@ int prestera_rxtx_switch_init(struct prestera_switch *sw) { struct prestera_rxtx *rxtx; + int err; rxtx = kzalloc(sizeof(*rxtx), GFP_KERNEL); if (!rxtx) @@ -783,7 +784,11 @@ sw->rxtx = rxtx; - return prestera_sdma_switch_init(sw); + err = prestera_sdma_switch_init(sw); + if (err) + kfree(rxtx); + + return err; } void prestera_rxtx_switch_fini(struct prestera_switch *sw) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mediatek/mtk_eth_soc.c @@ -1444,8 +1444,8 @@ int done = 0, bytes = 0; while (done < budget) { + unsigned int pktlen, *rxdcsum; struct net_device *netdev; - unsigned int pktlen; dma_addr_t dma_addr; u32 hash, reason; int mac = 0; @@ -1512,23 +1512,31 @@ pktlen = RX_DMA_GET_PLEN0(trxd.rxd2); skb->dev = netdev; skb_put(skb, pktlen); - if (trxd.rxd4 & eth->soc->txrx.rx_dma_l4_valid) + + if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) { + hash = trxd.rxd5 & MTK_RXD5_FOE_ENTRY; + if (hash != MTK_RXD5_FOE_ENTRY) + skb_set_hash(skb, jhash_1word(hash, 0), + PKT_HASH_TYPE_L4); + rxdcsum = &trxd.rxd3; + } else { + hash = trxd.rxd4 & MTK_RXD4_FOE_ENTRY; + if (hash != MTK_RXD4_FOE_ENTRY) + skb_set_hash(skb, jhash_1word(hash, 0), + PKT_HASH_TYPE_L4); + rxdcsum = &trxd.rxd4; + } + + if (*rxdcsum & eth->soc->txrx.rx_dma_l4_valid) skb->ip_summed = CHECKSUM_UNNECESSARY; else skb_checksum_none_assert(skb); skb->protocol = eth_type_trans(skb, netdev); bytes += pktlen; - hash = trxd.rxd4 & MTK_RXD4_FOE_ENTRY; - if (hash != MTK_RXD4_FOE_ENTRY) { - hash = jhash_1word(hash, 0); - skb_set_hash(skb, hash, PKT_HASH_TYPE_L4); - } - reason = FIELD_GET(MTK_RXD4_PPE_CPU_REASON, trxd.rxd4); if (reason == MTK_PPE_CPU_REASON_HIT_UNBIND_RATE_REACHED) - mtk_ppe_check_skb(eth->ppe, skb, - trxd.rxd4 & MTK_RXD4_FOE_ENTRY); + mtk_ppe_check_skb(eth->ppe, skb, hash); if (netdev->features & NETIF_F_HW_VLAN_CTAG_RX) { if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) { @@ -2557,8 +2565,10 @@ u32 gdm_config = MTK_GDMA_TO_PDMA; err = mtk_start_dma(eth); - if (err) + if (err) { + phylink_disconnect_phy(mac->phylink); return err; + } if (eth->soc->offload_version && mtk_ppe_start(eth->ppe) == 0) gdm_config = MTK_GDMA_TO_PPE; @@ -2741,6 +2751,30 @@ dim->state = DIM_START_MEASURE; } +static void mtk_set_mcr_max_rx(struct mtk_mac *mac, u32 val) +{ + struct mtk_eth *eth = mac->hw; + u32 mcr_cur, mcr_new; + + if (MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628)) + return; + + mcr_cur = mtk_r32(mac->hw, MTK_MAC_MCR(mac->id)); + mcr_new = mcr_cur & ~MAC_MCR_MAX_RX_MASK; + + if (val <= 1518) + mcr_new |= MAC_MCR_MAX_RX(MAC_MCR_MAX_RX_1518); + else if (val <= 1536) + mcr_new |= MAC_MCR_MAX_RX(MAC_MCR_MAX_RX_1536); + else if (val <= 1552) + mcr_new |= MAC_MCR_MAX_RX(MAC_MCR_MAX_RX_1552); + else + mcr_new |= MAC_MCR_MAX_RX(MAC_MCR_MAX_RX_2048); + + if (mcr_new != mcr_cur) + mtk_w32(mac->hw, mcr_new, MTK_MAC_MCR(mac->id)); +} + static int mtk_hw_init(struct mtk_eth *eth) { u32 dma_mask = ETHSYS_DMA_AG_MAP_PDMA | ETHSYS_DMA_AG_MAP_QDMA | @@ -2780,16 +2814,17 @@ return 0; } - val = RSTCTRL_FE | RSTCTRL_PPE; if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) { regmap_write(eth->ethsys, ETHSYS_FE_RST_CHK_IDLE_EN, 0); - - val |= RSTCTRL_ETH; - if (MTK_HAS_CAPS(eth->soc->caps, MTK_RSTCTRL_PPE1)) - val |= RSTCTRL_PPE1; + val = RSTCTRL_PPE0_V2; + } else { + val = RSTCTRL_PPE0; } - ethsys_reset(eth, val); + if (MTK_HAS_CAPS(eth->soc->caps, MTK_RSTCTRL_PPE1)) + val |= RSTCTRL_PPE1; + + ethsys_reset(eth, RSTCTRL_ETH | RSTCTRL_FE | val); if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) { regmap_write(eth->ethsys, ETHSYS_FE_RST_CHK_IDLE_EN, @@ -2815,8 +2850,16 @@ * up with the more appropriate value when mtk_mac_config call is being * invoked. */ - for (i = 0; i < MTK_MAC_COUNT; i++) + for (i = 0; i < MTK_MAC_COUNT; i++) { + struct net_device *dev = eth->netdev[i]; + mtk_w32(eth, MAC_MCR_FORCE_LINK_DOWN, MTK_MAC_MCR(i)); + if (dev) { + struct mtk_mac *mac = netdev_priv(dev); + + mtk_set_mcr_max_rx(mac, dev->mtu + MTK_RX_ETH_HLEN); + } + } /* Indicates CDM to parse the MTK special tag from CPU * which also is working out for untag packets. @@ -2932,25 +2975,8 @@ int length = new_mtu + MTK_RX_ETH_HLEN; struct mtk_mac *mac = netdev_priv(dev); struct mtk_eth *eth = mac->hw; - u32 mcr_cur, mcr_new; - - if (!MTK_HAS_CAPS(eth->soc->caps, MTK_SOC_MT7628)) { - mcr_cur = mtk_r32(mac->hw, MTK_MAC_MCR(mac->id)); - mcr_new = mcr_cur & ~MAC_MCR_MAX_RX_MASK; - - if (length <= 1518) - mcr_new |= MAC_MCR_MAX_RX(MAC_MCR_MAX_RX_1518); - else if (length <= 1536) - mcr_new |= MAC_MCR_MAX_RX(MAC_MCR_MAX_RX_1536); - else if (length <= 1552) - mcr_new |= MAC_MCR_MAX_RX(MAC_MCR_MAX_RX_1552); - else - mcr_new |= MAC_MCR_MAX_RX(MAC_MCR_MAX_RX_2048); - - if (mcr_new != mcr_cur) - mtk_w32(mac->hw, mcr_new, MTK_MAC_MCR(mac->id)); - } + mtk_set_mcr_max_rx(mac, length); dev->mtu = new_mtu; return 0; @@ -3525,19 +3551,23 @@ eth->irq[i] = platform_get_irq(pdev, i); if (eth->irq[i] < 0) { dev_err(&pdev->dev, "no IRQ%d resource found\n", i); - return -ENXIO; + err = -ENXIO; + goto err_wed_exit; } } for (i = 0; i < ARRAY_SIZE(eth->clks); i++) { eth->clks[i] = devm_clk_get(eth->dev, mtk_clks_source_name[i]); if (IS_ERR(eth->clks[i])) { - if (PTR_ERR(eth->clks[i]) == -EPROBE_DEFER) - return -EPROBE_DEFER; + if (PTR_ERR(eth->clks[i]) == -EPROBE_DEFER) { + err = -EPROBE_DEFER; + goto err_wed_exit; + } if (eth->soc->required_clks & BIT(i)) { dev_err(&pdev->dev, "clock %s not found\n", mtk_clks_source_name[i]); - return -EINVAL; + err = -EINVAL; + goto err_wed_exit; } eth->clks[i] = NULL; } @@ -3548,7 +3578,7 @@ err = mtk_hw_init(eth); if (err) - return err; + goto err_wed_exit; eth->hwlro = MTK_HAS_CAPS(eth->soc->caps, MTK_HWLRO); @@ -3596,12 +3626,12 @@ eth->ppe = mtk_ppe_init(eth, eth->base + MTK_ETH_PPE_BASE, 2); if (!eth->ppe) { err = -ENOMEM; - goto err_free_dev; + goto err_deinit_mdio; } err = mtk_eth_offload_init(eth); if (err) - goto err_free_dev; + goto err_deinit_mdio; } for (i = 0; i < MTK_MAX_DEVS; i++) { @@ -3637,6 +3667,8 @@ mtk_free_dev(eth); err_deinit_hw: mtk_hw_deinit(eth); +err_wed_exit: + mtk_wed_exit(); return err; } @@ -3656,6 +3688,7 @@ phylink_disconnect_phy(mac->phylink); } + mtk_wed_exit(); mtk_hw_deinit(eth); netif_napi_del(ð->tx_napi); @@ -3761,6 +3794,7 @@ .txd_size = sizeof(struct mtk_tx_dma_v2), .rxd_size = sizeof(struct mtk_rx_dma_v2), .rx_irq_done_mask = MTK_RX_DONE_INT_V2, + .rx_dma_l4_valid = RX_DMA_L4_VALID_V2, .dma_max_len = MTK_TX_DMA_BUF_LEN_V2, .dma_len_offset = 8, }, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mediatek/mtk_eth_soc.h +++ linux-gcp-5.19.0/drivers/net/ethernet/mediatek/mtk_eth_soc.h @@ -307,8 +307,13 @@ #define RX_DMA_L4_VALID_PDMA BIT(30) /* when PDMA is used */ #define RX_DMA_SPECIAL_TAG BIT(22) -#define RX_DMA_GET_SPORT(x) (((x) >> 19) & 0xf) -#define RX_DMA_GET_SPORT_V2(x) (((x) >> 26) & 0x7) +/* PDMA descriptor rxd5 */ +#define MTK_RXD5_FOE_ENTRY GENMASK(14, 0) +#define MTK_RXD5_PPE_CPU_REASON GENMASK(22, 18) +#define MTK_RXD5_SRC_PORT GENMASK(29, 26) + +#define RX_DMA_GET_SPORT(x) (((x) >> 19) & 0x7) +#define RX_DMA_GET_SPORT_V2(x) (((x) >> 26) & 0xf) /* PDMA V2 descriptor rxd3 */ #define RX_DMA_VTAG_V2 BIT(0) @@ -439,18 +444,14 @@ /* ethernet reset control register */ #define ETHSYS_RSTCTRL 0x34 #define RSTCTRL_FE BIT(6) -#define RSTCTRL_PPE BIT(31) -#define RSTCTRL_PPE1 BIT(30) +#define RSTCTRL_PPE0 BIT(31) +#define RSTCTRL_PPE0_V2 BIT(30) +#define RSTCTRL_PPE1 BIT(31) #define RSTCTRL_ETH BIT(23) /* ethernet reset check idle register */ #define ETHSYS_FE_RST_CHK_IDLE_EN 0x28 -/* ethernet reset control register */ -#define ETHSYS_RSTCTRL 0x34 -#define RSTCTRL_FE BIT(6) -#define RSTCTRL_PPE BIT(31) - /* ethernet dma channel agent map */ #define ETHSYS_DMA_AG_MAP 0x408 #define ETHSYS_DMA_AG_MAP_PDMA BIT(0) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mediatek/mtk_ppe.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mediatek/mtk_ppe.c @@ -412,7 +412,7 @@ if (entry->hash != 0xffff) { ppe->foe_table[entry->hash].ib1 &= ~MTK_FOE_IB1_STATE; ppe->foe_table[entry->hash].ib1 |= FIELD_PREP(MTK_FOE_IB1_STATE, - MTK_FOE_STATE_BIND); + MTK_FOE_STATE_INVALID); dma_wmb(); } entry->hash = 0xffff; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mediatek/mtk_ppe.h +++ linux-gcp-5.19.0/drivers/net/ethernet/mediatek/mtk_ppe.h @@ -293,6 +293,9 @@ if (!ppe) return; + if (hash > MTK_PPE_HASH_MASK) + return; + now = (u16)jiffies; diff = now - ppe->foe_check_time[hash]; if (diff < HZ / 10) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mediatek/mtk_star_emac.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mediatek/mtk_star_emac.c @@ -976,6 +976,8 @@ return 0; err_free_irq: + napi_disable(&priv->rx_napi); + napi_disable(&priv->tx_napi); free_irq(ndev->irq, ndev); err_free_skbs: mtk_star_free_rx_skbs(priv); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mediatek/mtk_wed.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mediatek/mtk_wed.c @@ -808,16 +808,16 @@ pdev = of_find_device_by_node(np); if (!pdev) - return; + goto err_of_node_put; get_device(&pdev->dev); irq = platform_get_irq(pdev, 0); if (irq < 0) - return; + goto err_put_device; regs = syscon_regmap_lookup_by_phandle(np, NULL); if (IS_ERR(regs)) - return; + goto err_put_device; rcu_assign_pointer(mtk_soc_wed_ops, &wed_ops); @@ -853,8 +853,16 @@ hw_list[index] = hw; + mutex_unlock(&hw_lock); + + return; + unlock: mutex_unlock(&hw_lock); +err_put_device: + put_device(&pdev->dev); +err_of_node_put: + of_node_put(np); } void mtk_wed_exit(void) @@ -875,6 +883,7 @@ hw_list[i] = NULL; debugfs_remove(hw->debugfs_dir); put_device(hw->dev); + of_node_put(hw->node); kfree(hw); } } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx4/en_tx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx4/en_tx.c @@ -697,32 +697,32 @@ inl->byte_count = cpu_to_be32(1 << 31 | skb->len); } else { inl->byte_count = cpu_to_be32(1 << 31 | MIN_PKT_LEN); - memset(((void *)(inl + 1)) + skb->len, 0, + memset(inl->data + skb->len, 0, MIN_PKT_LEN - skb->len); } - skb_copy_from_linear_data(skb, inl + 1, hlen); + skb_copy_from_linear_data(skb, inl->data, hlen); if (shinfo->nr_frags) - memcpy(((void *)(inl + 1)) + hlen, fragptr, + memcpy(inl->data + hlen, fragptr, skb_frag_size(&shinfo->frags[0])); } else { inl->byte_count = cpu_to_be32(1 << 31 | spc); if (hlen <= spc) { - skb_copy_from_linear_data(skb, inl + 1, hlen); + skb_copy_from_linear_data(skb, inl->data, hlen); if (hlen < spc) { - memcpy(((void *)(inl + 1)) + hlen, + memcpy(inl->data + hlen, fragptr, spc - hlen); fragptr += spc - hlen; } - inl = (void *) (inl + 1) + spc; - memcpy(((void *)(inl + 1)), fragptr, skb->len - spc); + inl = (void *)inl->data + spc; + memcpy(inl->data, fragptr, skb->len - spc); } else { - skb_copy_from_linear_data(skb, inl + 1, spc); - inl = (void *) (inl + 1) + spc; - skb_copy_from_linear_data_offset(skb, spc, inl + 1, + skb_copy_from_linear_data(skb, inl->data, spc); + inl = (void *)inl->data + spc; + skb_copy_from_linear_data_offset(skb, spc, inl->data, hlen - spc); if (shinfo->nr_frags) - memcpy(((void *)(inl + 1)) + hlen - spc, + memcpy(inl->data + hlen - spc, fragptr, skb_frag_size(&shinfo->frags[0])); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx4/qp.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx4/qp.c @@ -697,7 +697,8 @@ err = mlx4_bitmap_init(*bitmap + k, 1, MLX4_QP_TABLE_RAW_ETH_SIZE - 1, 0, 0); - mlx4_bitmap_alloc_range(*bitmap + k, 1, 1, 0); + if (!err) + mlx4_bitmap_alloc_range(*bitmap + k, 1, 1, 0); } if (err) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/cmd.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/cmd.c @@ -45,6 +45,8 @@ #include "mlx5_core.h" #include "lib/eq.h" #include "lib/tout.h" +#define CREATE_TRACE_POINTS +#include "diag/cmd_tracepoint.h" enum { CMD_IF_REV = 5, @@ -785,27 +787,14 @@ static void cmd_status_print(struct mlx5_core_dev *dev, void *in, void *out) { u16 opcode, op_mod; - u32 syndrome; - u8 status; u16 uid; - int err; - - syndrome = MLX5_GET(mbox_out, out, syndrome); - status = MLX5_GET(mbox_out, out, status); opcode = MLX5_GET(mbox_in, in, opcode); op_mod = MLX5_GET(mbox_in, in, op_mod); uid = MLX5_GET(mbox_in, in, uid); - err = cmd_status_to_err(status); - if (!uid && opcode != MLX5_CMD_OP_DESTROY_MKEY) mlx5_cmd_out_err(dev, opcode, op_mod, out); - else - mlx5_core_dbg(dev, - "%s(0x%x) op_mod(0x%x) uid(%d) failed, status %s(0x%x), syndrome (0x%x), err(%d)\n", - mlx5_command_str(opcode), opcode, op_mod, uid, - cmd_status_str(status), status, syndrome, err); } int mlx5_cmd_check(struct mlx5_core_dev *dev, int err, void *in, void *out) @@ -1016,6 +1005,7 @@ cmd_ent_get(ent); set_bit(MLX5_CMD_ENT_STATE_PENDING_COMP, &ent->state); + cmd_ent_get(ent); /* for the _real_ FW event on completion */ /* Skip sending command to fw if internal error */ if (mlx5_cmd_is_down(dev) || !opcode_allowed(&dev->cmd, ent->op)) { ent->ret = -ENXIO; @@ -1023,7 +1013,6 @@ return; } - cmd_ent_get(ent); /* for the _real_ FW event on completion */ /* ring doorbell after the descriptor is valid */ mlx5_core_dbg(dev, "writing 0x%x to command doorbell\n", 1 << ent->idx); wmb(); @@ -1508,8 +1497,8 @@ return -EFAULT; err = sscanf(outlen_str, "%d", &outlen); - if (err < 0) - return err; + if (err != 1) + return -EINVAL; ptr = kzalloc(outlen, GFP_KERNEL); if (!ptr) @@ -1672,8 +1661,8 @@ cmd_ent_put(ent); /* timeout work was canceled */ if (!forced || /* Real FW completion */ - pci_channel_offline(dev->pdev) || /* FW is inaccessible */ - dev->state == MLX5_DEVICE_STATE_INTERNAL_ERROR) + mlx5_cmd_is_down(dev) || /* No real FW completion is expected */ + !opcode_allowed(cmd, ent->op)) cmd_ent_put(ent); ent->ts2 = ktime_get_ns(); @@ -1770,12 +1759,17 @@ struct mlx5_cmd *cmd = &dev->cmd; int i; - for (i = 0; i < cmd->max_reg_cmds; i++) - while (down_trylock(&cmd->sem)) + for (i = 0; i < cmd->max_reg_cmds; i++) { + while (down_trylock(&cmd->sem)) { mlx5_cmd_trigger_completions(dev); + cond_resched(); + } + } - while (down_trylock(&cmd->pages_sem)) + while (down_trylock(&cmd->pages_sem)) { mlx5_cmd_trigger_completions(dev); + cond_resched(); + } /* Unlock cmdif */ up(&cmd->pages_sem); @@ -1887,6 +1881,16 @@ return err; } +static void mlx5_cmd_err_trace(struct mlx5_core_dev *dev, u16 opcode, u16 op_mod, void *out) +{ + u32 syndrome = MLX5_GET(mbox_out, out, syndrome); + u8 status = MLX5_GET(mbox_out, out, status); + + trace_mlx5_cmd(mlx5_command_str(opcode), opcode, op_mod, + cmd_status_str(status), status, syndrome, + cmd_status_to_err(status)); +} + static void cmd_status_log(struct mlx5_core_dev *dev, u16 opcode, u8 status, u32 syndrome, int err) { @@ -1909,7 +1913,7 @@ } /* preserve -EREMOTEIO for outbox.status != OK, otherwise return err as is */ -static int cmd_status_err(struct mlx5_core_dev *dev, int err, u16 opcode, void *out) +static int cmd_status_err(struct mlx5_core_dev *dev, int err, u16 opcode, u16 op_mod, void *out) { u32 syndrome = MLX5_GET(mbox_out, out, syndrome); u8 status = MLX5_GET(mbox_out, out, status); @@ -1917,8 +1921,10 @@ if (err == -EREMOTEIO) /* -EREMOTEIO is preserved */ err = -EIO; - if (!err && status != MLX5_CMD_STAT_OK) + if (!err && status != MLX5_CMD_STAT_OK) { err = -EREMOTEIO; + mlx5_cmd_err_trace(dev, opcode, op_mod, out); + } cmd_status_log(dev, opcode, status, syndrome, err); return err; @@ -1946,9 +1952,9 @@ { int err = cmd_exec(dev, in, in_size, out, out_size, NULL, NULL, false); u16 opcode = MLX5_GET(mbox_in, in, opcode); + u16 op_mod = MLX5_GET(mbox_in, in, op_mod); - err = cmd_status_err(dev, err, opcode, out); - return err; + return cmd_status_err(dev, err, opcode, op_mod, out); } EXPORT_SYMBOL(mlx5_cmd_do); @@ -1992,8 +1998,9 @@ { int err = cmd_exec(dev, in, in_size, out, out_size, NULL, NULL, true); u16 opcode = MLX5_GET(mbox_in, in, opcode); + u16 op_mod = MLX5_GET(mbox_in, in, op_mod); - err = cmd_status_err(dev, err, opcode, out); + err = cmd_status_err(dev, err, opcode, op_mod, out); return mlx5_cmd_check(dev, err, in, out); } EXPORT_SYMBOL(mlx5_cmd_exec_polling); @@ -2004,7 +2011,7 @@ ctx->dev = dev; /* Starts at 1 to avoid doing wake_up if we are not cleaning up */ atomic_set(&ctx->num_inflight, 1); - init_waitqueue_head(&ctx->wait); + init_completion(&ctx->inflight_done); } EXPORT_SYMBOL(mlx5_cmd_init_async_ctx); @@ -2018,8 +2025,8 @@ */ void mlx5_cmd_cleanup_async_ctx(struct mlx5_async_ctx *ctx) { - atomic_dec(&ctx->num_inflight); - wait_event(ctx->wait, atomic_read(&ctx->num_inflight) == 0); + if (!atomic_dec_and_test(&ctx->num_inflight)) + wait_for_completion(&ctx->inflight_done); } EXPORT_SYMBOL(mlx5_cmd_cleanup_async_ctx); @@ -2029,10 +2036,10 @@ struct mlx5_async_ctx *ctx; ctx = work->ctx; - status = cmd_status_err(ctx->dev, status, work->opcode, work->out); + status = cmd_status_err(ctx->dev, status, work->opcode, work->op_mod, work->out); work->user_callback(status, work); if (atomic_dec_and_test(&ctx->num_inflight)) - wake_up(&ctx->wait); + complete(&ctx->inflight_done); } int mlx5_cmd_exec_cb(struct mlx5_async_ctx *ctx, void *in, int in_size, @@ -2044,13 +2051,14 @@ work->ctx = ctx; work->user_callback = callback; work->opcode = MLX5_GET(mbox_in, in, opcode); + work->op_mod = MLX5_GET(mbox_in, in, op_mod); work->out = out; if (WARN_ON(!atomic_inc_not_zero(&ctx->num_inflight))) return -EIO; ret = cmd_exec(ctx->dev, in, in_size, out, out_size, mlx5_cmd_exec_cb_handler, work, false); if (ret && atomic_dec_and_test(&ctx->num_inflight)) - wake_up(&ctx->wait); + complete(&ctx->inflight_done); return ret; } @@ -2169,15 +2177,9 @@ return -EINVAL; } - cmd->stats = kvcalloc(MLX5_CMD_OP_MAX, sizeof(*cmd->stats), GFP_KERNEL); - if (!cmd->stats) - return -ENOMEM; - cmd->pool = dma_pool_create("mlx5_cmd", mlx5_core_dma_dev(dev), size, align, 0); - if (!cmd->pool) { - err = -ENOMEM; - goto dma_pool_err; - } + if (!cmd->pool) + return -ENOMEM; err = alloc_cmd_page(dev, cmd); if (err) @@ -2261,8 +2263,6 @@ err_free_pool: dma_pool_destroy(cmd->pool); -dma_pool_err: - kvfree(cmd->stats); return err; } @@ -2275,7 +2275,6 @@ destroy_msg_cache(dev); free_cmd_page(dev, cmd); dma_pool_destroy(cmd->pool); - kvfree(cmd->stats); } void mlx5_cmd_set_state(struct mlx5_core_dev *dev, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/devlink.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/devlink.c @@ -451,7 +451,7 @@ bool new_state = val.vbool; if (new_state && !MLX5_CAP_GEN(dev, roce) && - !MLX5_CAP_GEN(dev, roce_rw_supported)) { + !(MLX5_CAP_GEN(dev, roce_rw_supported) && MLX5_CAP_GEN_MAX(dev, roce))) { NL_SET_ERR_MSG_MOD(extack, "Device doesn't support RoCE"); return -EOPNOTSUPP; } @@ -546,7 +546,7 @@ union devlink_param_value val, struct netlink_ext_ack *extack) { - return (val.vu16 >= 64 && val.vu16 <= 4096) ? 0 : -EINVAL; + return (val.vu32 >= 64 && val.vu32 <= 4096) ? 0 : -EINVAL; } static const struct devlink_param mlx5_devlink_params[] = { --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/diag/cmd_tracepoint.h +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/diag/cmd_tracepoint.h @@ -0,0 +1,45 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ +/* Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved. */ + +#undef TRACE_SYSTEM +#define TRACE_SYSTEM mlx5 + +#if !defined(_MLX5_CMD_TP_H_) || defined(TRACE_HEADER_MULTI_READ) +#define _MLX5_CMD_TP_H_ + +#include +#include + +TRACE_EVENT(mlx5_cmd, + TP_PROTO(const char *command_str, u16 opcode, u16 op_mod, + const char *status_str, u8 status, u32 syndrome, int err), + TP_ARGS(command_str, opcode, op_mod, status_str, status, syndrome, err), + TP_STRUCT__entry(__string(command_str, command_str) + __field(u16, opcode) + __field(u16, op_mod) + __string(status_str, status_str) + __field(u8, status) + __field(u32, syndrome) + __field(int, err) + ), + TP_fast_assign(__assign_str(command_str, command_str); + __entry->opcode = opcode; + __entry->op_mod = op_mod; + __assign_str(status_str, status_str); + __entry->status = status; + __entry->syndrome = syndrome; + __entry->err = err; + ), + TP_printk("%s(0x%x) op_mod(0x%x) failed, status %s(0x%x), syndrome (0x%x), err(%d)", + __get_str(command_str), __entry->opcode, __entry->op_mod, + __get_str(status_str), __entry->status, __entry->syndrome, + __entry->err) +); + +#endif /* _MLX5_CMD_TP_H_ */ + +#undef TRACE_INCLUDE_PATH +#define TRACE_INCLUDE_PATH ./diag +#undef TRACE_INCLUDE_FILE +#define TRACE_INCLUDE_FILE cmd_tracepoint +#include --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c @@ -64,6 +64,7 @@ MLX5_GET(mtrc_cap, out, num_string_trace); tracer->str_db.num_string_db = MLX5_GET(mtrc_cap, out, num_string_db); tracer->owner = !!MLX5_GET(mtrc_cap, out, trace_owner); + tracer->str_db.loaded = false; for (i = 0; i < tracer->str_db.num_string_db; i++) { mtrc_cap_sp = MLX5_ADDR_OF(mtrc_cap, out, string_db_param[i]); @@ -602,7 +603,7 @@ } else { cur_string = mlx5_tracer_message_get(tracer, tracer_event); if (!cur_string) { - pr_debug("%s Got string event for unknown string tdsm: %d\n", + pr_debug("%s Got string event for unknown string tmsn: %d\n", __func__, tracer_event->string_event.tmsn); return -1; } @@ -638,7 +639,7 @@ trace_timestamp = (timestamp_event.timestamp & MASK_52_7) | (str_frmt->timestamp & MASK_6_0); else - trace_timestamp = ((timestamp_event.timestamp & MASK_52_7) - 1) | + trace_timestamp = ((timestamp_event.timestamp - 1) & MASK_52_7) | (str_frmt->timestamp & MASK_6_0); mlx5_tracer_print_trace(str_frmt, dev, trace_timestamp); @@ -756,6 +757,7 @@ if (err) mlx5_core_warn(dev, "FWTracer: Failed to set tracer configurations %d\n", err); + tracer->buff.consumer_index = 0; return err; } @@ -820,7 +822,6 @@ mlx5_core_dbg(tracer->dev, "FWTracer: ownership changed, current=(%d)\n", tracer->owner); if (tracer->owner) { tracer->owner = false; - tracer->buff.consumer_index = 0; return; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en.h +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en.h @@ -109,7 +109,7 @@ #define MLX5E_REQUIRED_WQE_MTTS (MLX5_ALIGN_MTTS(MLX5_MPWRQ_PAGES_PER_WQE + 1)) #define MLX5E_REQUIRED_MTTS(wqes) (wqes * MLX5E_REQUIRED_WQE_MTTS) #define MLX5E_MAX_RQ_NUM_MTTS \ - ((1 << 16) * 2) /* So that MLX5_MTT_OCTW(num_mtts) fits into u16 */ + (ALIGN_DOWN(U16_MAX, 4) * 2) /* So that MLX5_MTT_OCTW(num_mtts) fits into u16 */ #define MLX5E_ORDER2_MAX_PACKET_MTU (order_base_2(10 * 1024)) #define MLX5E_PARAMS_MAXIMUM_LOG_RQ_SIZE_MPW \ (ilog2(MLX5E_MAX_RQ_NUM_MTTS / MLX5E_REQUIRED_WQE_MTTS)) @@ -174,8 +174,8 @@ ALIGN_DOWN(MLX5E_KLM_MAX_ENTRIES_PER_WQE(wqe_size), MLX5_UMR_KLM_ALIGNMENT) #define MLX5E_MAX_KLM_PER_WQE(mdev) \ - MLX5E_KLM_ENTRIES_PER_WQE(mlx5e_get_sw_max_sq_mpw_wqebbs(mlx5e_get_max_sq_wqebbs(mdev)) \ - << MLX5_MKEY_BSF_OCTO_SIZE) + MLX5E_KLM_ENTRIES_PER_WQE(MLX5_SEND_WQE_BB * \ + mlx5e_get_sw_max_sq_mpw_wqebbs(mlx5e_get_max_sq_wqebbs(mdev))) #define MLX5E_MSG_LEVEL NETIF_MSG_LINK @@ -233,7 +233,7 @@ MLX5_CAP_GEN(mdev, max_wqe_sz_sq) / MLX5_SEND_WQE_BB); } -static inline u16 mlx5e_get_sw_max_sq_mpw_wqebbs(u16 max_sq_wqebbs) +static inline u8 mlx5e_get_sw_max_sq_mpw_wqebbs(u8 max_sq_wqebbs) { /* The return value will be multiplied by MLX5_SEND_WQEBB_NUM_DS. * Since max_sq_wqebbs may be up to MLX5_SEND_WQE_MAX_WQEBBS == 16, @@ -242,11 +242,12 @@ * than MLX5_SEND_WQE_MAX_WQEBBS to let a full-session WQE be * cache-aligned. */ -#if L1_CACHE_BYTES < 128 - return min_t(u16, max_sq_wqebbs, MLX5_SEND_WQE_MAX_WQEBBS - 1); -#else - return min_t(u16, max_sq_wqebbs, MLX5_SEND_WQE_MAX_WQEBBS - 2); + u8 wqebbs = min_t(u8, max_sq_wqebbs, MLX5_SEND_WQE_MAX_WQEBBS - 1); + +#if L1_CACHE_BYTES >= 128 + wqebbs = ALIGN_DOWN(wqebbs, 2); #endif + return wqebbs; } struct mlx5e_tx_wqe { @@ -455,7 +456,7 @@ struct netdev_queue *txq; u32 sqn; u16 stop_room; - u16 max_sq_mpw_wqebbs; + u8 max_sq_mpw_wqebbs; u8 min_inline_mode; struct device *pdev; __be32 mkey_be; @@ -570,7 +571,7 @@ struct device *pdev; __be32 mkey_be; u16 stop_room; - u16 max_sq_mpw_wqebbs; + u8 max_sq_mpw_wqebbs; u8 min_inline_mode; unsigned long state; unsigned int hw_mtu; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/params.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en/params.c @@ -790,8 +790,20 @@ return MLX5E_PARAMS_MINIMUM_LOG_SQ_SIZE; wqebbs = MLX5E_UMR_WQEBBS * BIT(mlx5e_get_rq_log_wq_sz(rqp->rqc)); + + /* If XDP program is attached, XSK may be turned on at any time without + * restarting the channel. ICOSQ must be big enough to fit UMR WQEs of + * both regular RQ and XSK RQ. + * Although mlx5e_mpwqe_get_log_rq_size accepts mlx5e_xsk_param, it + * doesn't affect its return value, as long as params->xdp_prog != NULL, + * so we can just multiply by 2. + */ + if (params->xdp_prog) + wqebbs *= 2; + if (params->packet_merge.type == MLX5E_PACKET_MERGE_SHAMPO) wqebbs += mlx5e_shampo_icosq_sz(mdev, params, rqp); + return max_t(u8, MLX5E_PARAMS_MINIMUM_LOG_SQ_SIZE, order_base_2(wqebbs)); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/ptp.h +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en/ptp.h @@ -6,6 +6,7 @@ #include "en.h" #include "en_stats.h" +#include "en/txrx.h" #include #define MLX5E_PTP_CHANNEL_IX 0 @@ -67,6 +68,14 @@ fk.ports.dst == htons(PTP_EV_PORT)); } +static inline bool mlx5e_ptpsq_fifo_has_room(struct mlx5e_txqsq *sq) +{ + if (!sq->ptpsq) + return true; + + return mlx5e_skb_fifo_has_room(&sq->ptpsq->skb_fifo); +} + int mlx5e_ptp_open(struct mlx5e_priv *priv, struct mlx5e_params *params, u8 lag_port, struct mlx5e_ptp **cp); void mlx5e_ptp_close(struct mlx5e_ptp *c); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/rep/bridge.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en/rep/bridge.c @@ -164,6 +164,36 @@ return err; } +static int +mlx5_esw_bridge_changeupper_validate_netdev(void *ptr) +{ + struct net_device *dev = netdev_notifier_info_to_dev(ptr); + struct netdev_notifier_changeupper_info *info = ptr; + struct net_device *upper = info->upper_dev; + struct net_device *lower; + struct list_head *iter; + + if (!netif_is_bridge_master(upper) || !netif_is_lag_master(dev)) + return 0; + + netdev_for_each_lower_dev(dev, lower, iter) { + struct mlx5_core_dev *mdev; + struct mlx5e_priv *priv; + + if (!mlx5e_eswitch_rep(lower)) + continue; + + priv = netdev_priv(lower); + mdev = priv->mdev; + if (!mlx5_lag_is_active(mdev)) + return -EAGAIN; + if (!mlx5_lag_is_shared_fdb(mdev)) + return -EOPNOTSUPP; + } + + return 0; +} + static int mlx5_esw_bridge_switchdev_port_event(struct notifier_block *nb, unsigned long event, void *ptr) { @@ -171,6 +201,7 @@ switch (event) { case NETDEV_PRECHANGEUPPER: + err = mlx5_esw_bridge_changeupper_validate_netdev(ptr); break; case NETDEV_CHANGEUPPER: @@ -401,10 +432,6 @@ switch (event) { case SWITCHDEV_FDB_ADD_TO_BRIDGE: - /* only handle the event on native eswtich of representor */ - if (!mlx5_esw_bridge_is_local(dev, rep, esw)) - break; - fdb_info = container_of(info, struct switchdev_notifier_fdb_info, info); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/tc/post_act.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en/tc/post_act.c @@ -128,6 +128,7 @@ post_attr->inner_match_level = MLX5_MATCH_NONE; post_attr->outer_match_level = MLX5_MATCH_NONE; post_attr->action &= ~MLX5_FLOW_CONTEXT_ACTION_DECAP; + post_attr->flags |= MLX5_ATTR_FLAG_NO_IN_PORT; handle->ns_type = post_act->ns_type; /* Splits were handled before post action */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/tc/sample.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en/tc/sample.c @@ -477,7 +477,6 @@ struct mlx5e_sample_flow *sample_flow; struct mlx5e_sample_attr *sample_attr; struct mlx5_flow_attr *pre_attr; - u32 tunnel_id = attr->tunnel_id; struct mlx5_eswitch *esw; u32 default_tbl_id; u32 obj_id; @@ -522,7 +521,7 @@ restore_obj.sample.group_id = sample_attr->group_num; restore_obj.sample.rate = sample_attr->rate; restore_obj.sample.trunc_size = sample_attr->trunc_size; - restore_obj.sample.tunnel_id = tunnel_id; + restore_obj.sample.tunnel_id = attr->tunnel_id; err = mapping_add(esw->offloads.reg_c0_obj_pool, &restore_obj, &obj_id); if (err) goto err_obj_id; @@ -548,7 +547,7 @@ /* For decap action, do decap in the original flow table instead of the * default flow table. */ - if (tunnel_id) + if (attr->action & MLX5_FLOW_CONTEXT_ACTION_DECAP) pre_attr->action |= MLX5_FLOW_CONTEXT_ACTION_DECAP; pre_attr->modify_hdr = sample_flow->restore->modify_hdr; pre_attr->flags = MLX5_ATTR_FLAG_SAMPLE; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c @@ -2080,14 +2080,9 @@ static void mlx5_ct_tc_create_dbgfs(struct mlx5_tc_ct_priv *ct_priv) { - bool is_fdb = ct_priv->ns_type == MLX5_FLOW_NAMESPACE_FDB; struct mlx5_tc_ct_debugfs *ct_dbgfs = &ct_priv->debugfs; - char dirname[16] = {}; - if (sscanf(dirname, "ct_%s", is_fdb ? "fdb" : "nic") < 0) - return; - - ct_dbgfs->root = debugfs_create_dir(dirname, mlx5_debugfs_get_dev_root(ct_priv->dev)); + ct_dbgfs->root = debugfs_create_dir("ct", mlx5_debugfs_get_dev_root(ct_priv->dev)); debugfs_create_atomic_t("offloaded", 0400, ct_dbgfs->root, &ct_dbgfs->stats.offloaded); debugfs_create_atomic_t("rx_dropped", 0400, ct_dbgfs->root, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/tc_priv.h +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en/tc_priv.h @@ -95,6 +95,7 @@ struct encap_flow_item encaps[MLX5_MAX_FLOW_FWD_VPORTS]; struct mlx5e_tc_flow *peer_flow; struct mlx5e_mod_hdr_handle *mh; /* attached mod header instance */ + struct mlx5e_mod_hdr_handle *slow_mh; /* attached mod header instance for slow path */ struct mlx5e_hairpin_entry *hpe; /* attached hairpin instance */ struct list_head hairpin; /* flows sharing the same hairpin */ struct list_head peer; /* flows with peer flow */ @@ -110,6 +111,7 @@ struct completion del_hw_done; struct mlx5_flow_attr *attr; struct list_head attrs; + u32 chain_mapping; }; struct mlx5_flow_handle * --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c @@ -506,7 +506,7 @@ int err; attr.ttl = tun_key->ttl; - attr.fl.fl6.flowlabel = ip6_make_flowinfo(RT_TOS(tun_key->tos), tun_key->label); + attr.fl.fl6.flowlabel = ip6_make_flowinfo(tun_key->tos, tun_key->label); attr.fl.fl6.daddr = tun_key->u.ipv6.dst; attr.fl.fl6.saddr = tun_key->u.ipv6.src; @@ -620,7 +620,7 @@ attr.ttl = tun_key->ttl; - attr.fl.fl6.flowlabel = ip6_make_flowinfo(RT_TOS(tun_key->tos), tun_key->label); + attr.fl.fl6.flowlabel = ip6_make_flowinfo(tun_key->tos, tun_key->label); attr.fl.fl6.daddr = tun_key->u.ipv6.dst; attr.fl.fl6.saddr = tun_key->u.ipv6.src; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c @@ -222,17 +222,25 @@ int err; list_for_each_entry(flow, flow_list, tmp_list) { - if (!mlx5e_is_offloaded_flow(flow) || flow_flag_test(flow, SLOW)) + if (!mlx5e_is_offloaded_flow(flow)) continue; - spec = &flow->attr->parse_attr->spec; - - /* update from encap rule to slow path rule */ - rule = mlx5e_tc_offload_to_slow_path(esw, flow, spec); attr = mlx5e_tc_get_encap_attr(flow); esw_attr = attr->esw_attr; /* mark the flow's encap dest as non-valid */ esw_attr->dests[flow->tmp_entry_index].flags &= ~MLX5_ESW_DEST_ENCAP_VALID; + esw_attr->dests[flow->tmp_entry_index].pkt_reformat = NULL; + + /* Clear pkt_reformat before checking slow path flag. Because + * in next iteration, the same flow is already set slow path + * flag, but still need to clear the pkt_reformat. + */ + if (flow_flag_test(flow, SLOW)) + continue; + + /* update from encap rule to slow path rule */ + spec = &flow->attr->parse_attr->spec; + rule = mlx5e_tc_offload_to_slow_path(esw, flow, spec); if (IS_ERR(rule)) { err = PTR_ERR(rule); @@ -251,6 +259,7 @@ /* we know that the encap is valid */ e->flags &= ~MLX5_ENCAP_ENTRY_VALID; mlx5_packet_reformat_dealloc(priv->mdev, e->pkt_reformat); + e->pkt_reformat = NULL; } static void mlx5e_take_tmp_flow(struct mlx5e_tc_flow *flow, @@ -762,8 +771,7 @@ struct net_device *mirred_dev, int out_index, struct netlink_ext_ack *extack, - struct net_device **encap_dev, - bool *encap_valid) + struct net_device **encap_dev) { struct mlx5_eswitch *esw = priv->mdev->priv.eswitch; struct mlx5e_tc_flow_parse_attr *parse_attr; @@ -878,9 +886,8 @@ if (e->flags & MLX5_ENCAP_ENTRY_VALID) { attr->esw_attr->dests[out_index].pkt_reformat = e->pkt_reformat; attr->esw_attr->dests[out_index].flags |= MLX5_ESW_DEST_ENCAP_VALID; - *encap_valid = true; } else { - *encap_valid = false; + flow_flag_set(flow, SLOW); } mutex_unlock(&esw->offloads.encap_tbl_lock); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.h +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.h @@ -17,8 +17,7 @@ struct net_device *mirred_dev, int out_index, struct netlink_ext_ack *extack, - struct net_device **encap_dev, - bool *encap_valid); + struct net_device **encap_dev); int mlx5e_attach_decap(struct mlx5e_priv *priv, struct mlx5e_tc_flow *flow, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c @@ -273,6 +273,11 @@ geneve_tlv_option_0_data, be32_to_cpu(opt_data_key)); MLX5_SET(fte_match_set_misc3, misc_3_c, geneve_tlv_option_0_data, be32_to_cpu(opt_data_mask)); + if (MLX5_CAP_ESW_FLOWTABLE_FDB(priv->mdev, + ft_field_support.geneve_tlv_option_0_exist)) { + MLX5_SET_TO_ONES(fte_match_set_misc, misc_c, geneve_tlv_option_0_exist); + MLX5_SET_TO_ONES(fte_match_set_misc, misc_v, geneve_tlv_option_0_exist); + } spec->match_criteria_enable |= MLX5_MATCH_MISC_PARAMETERS_3; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_vxlan.c @@ -88,6 +88,8 @@ struct udphdr *udp = (struct udphdr *)(buf); struct vxlanhdr *vxh; + if (tun_key->tun_flags & TUNNEL_VXLAN_OPT) + return -EOPNOTSUPP; vxh = (struct vxlanhdr *)((char *)udp + sizeof(struct udphdr)); *ip_proto = IPPROTO_UDP; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/txrx.h +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en/txrx.h @@ -11,6 +11,27 @@ #define INL_HDR_START_SZ (sizeof(((struct mlx5_wqe_eth_seg *)NULL)->inline_hdr.start)) +/* IPSEC inline data includes: + * 1. ESP trailer: up to 255 bytes of padding, 1 byte for pad length, 1 byte for + * next header. + * 2. ESP authentication data: 16 bytes for ICV. + */ +#define MLX5E_MAX_TX_IPSEC_DS DIV_ROUND_UP(sizeof(struct mlx5_wqe_inline_seg) + \ + 255 + 1 + 1 + 16, MLX5_SEND_WQE_DS) + +/* 366 should be big enough to cover all L2, L3 and L4 headers with possible + * encapsulations. + */ +#define MLX5E_MAX_TX_INLINE_DS DIV_ROUND_UP(366 - INL_HDR_START_SZ + VLAN_HLEN, \ + MLX5_SEND_WQE_DS) + +/* Sync the calculation with mlx5e_sq_calc_wqe_attr. */ +#define MLX5E_MAX_TX_WQEBBS DIV_ROUND_UP(MLX5E_TX_WQE_EMPTY_DS_COUNT + \ + MLX5E_MAX_TX_INLINE_DS + \ + MLX5E_MAX_TX_IPSEC_DS + \ + MAX_SKB_FRAGS + 1, \ + MLX5_SEND_WQEBB_NUM_DS) + #define MLX5E_RX_ERR_CQE(cqe) (get_cqe_opcode(cqe) != MLX5_CQE_RESP_SEND) static inline @@ -58,6 +79,12 @@ void mlx5e_free_txqsq_descs(struct mlx5e_txqsq *sq); static inline bool +mlx5e_skb_fifo_has_room(struct mlx5e_skb_fifo *fifo) +{ + return (*fifo->pc - *fifo->cc) < fifo->mask; +} + +static inline bool mlx5e_wqc_has_room_for(struct mlx5_wq_cyc *wq, u16 cc, u16 pc, u16 n) { return (mlx5_wq_cyc_ctr2ix(wq, cc - pc) >= n) || (cc == pc); @@ -418,6 +445,8 @@ static inline u16 mlx5e_stop_room_for_wqe(struct mlx5_core_dev *mdev, u16 wqe_size) { + WARN_ON_ONCE(PAGE_SIZE / MLX5_SEND_WQE_BB < mlx5e_get_max_sq_wqebbs(mdev)); + /* A WQE must not cross the page boundary, hence two conditions: * 1. Its size must not exceed the page size. * 2. If the WQE size is X, and the space remaining in a page is less @@ -430,7 +459,6 @@ "wqe_size %u is greater than max SQ WQEBBs %u", wqe_size, mlx5e_get_max_sq_wqebbs(mdev)); - return MLX5E_STOP_ROOM(wqe_size); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/rx.h @@ -7,6 +7,8 @@ #include "en.h" #include +#define MLX5E_MTT_PTAG_MASK 0xfffffffffffffff8ULL + /* RX data path */ struct sk_buff *mlx5e_xsk_skb_from_cqe_mpwrq_linear(struct mlx5e_rq *rq, @@ -21,6 +23,7 @@ static inline int mlx5e_xsk_page_alloc_pool(struct mlx5e_rq *rq, struct mlx5e_dma_info *dma_info) { +retry: dma_info->xsk = xsk_buff_alloc(rq->xsk_pool); if (!dma_info->xsk) return -ENOMEM; @@ -32,6 +35,17 @@ */ dma_info->addr = xsk_buff_xdp_get_frame_dma(dma_info->xsk); + /* MTT page mapping has alignment requirements. If they are not + * satisfied, leak the descriptor so that it won't come again, and try + * to allocate a new one. + */ + if (rq->wq_type == MLX5_WQ_TYPE_LINKED_LIST_STRIDING_RQ) { + if (unlikely(dma_info->addr & ~MLX5E_MTT_PTAG_MASK)) { + xsk_buff_discard(dma_info->xsk); + goto retry; + } + } + return 0; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c @@ -101,7 +101,6 @@ struct xfrm_replay_state_esn *replay_esn; u32 seq_bottom = 0; u8 overlap; - u32 *esn; if (!(sa_entry->x->props.flags & XFRM_STATE_ESN)) { sa_entry->esn_state.trigger = 0; @@ -116,11 +115,9 @@ sa_entry->esn_state.esn = xfrm_replay_seqhi(sa_entry->x, htonl(seq_bottom)); - esn = &sa_entry->esn_state.esn; sa_entry->esn_state.trigger = 1; if (unlikely(overlap && seq_bottom < MLX5E_IPSEC_ESN_SCOPE_MID)) { - ++(*esn); sa_entry->esn_state.overlap = 0; return true; } else if (unlikely(!overlap && --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.c @@ -54,7 +54,7 @@ struct mlx5_core_dev *mdev = priv->mdev; int err; - if (WARN_ON(!mlx5e_ktls_type_check(mdev, crypto_info))) + if (!mlx5e_ktls_type_check(mdev, crypto_info)) return -EOPNOTSUPP; if (direction == TLS_OFFLOAD_CTX_DIR_TX) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c @@ -417,7 +417,7 @@ void mlx5e_disable_cvlan_filter(struct mlx5e_priv *priv) { - if (priv->fs.vlan->cvlan_filter_disabled) + if (!priv->fs.vlan || priv->fs.vlan->cvlan_filter_disabled) return; priv->fs.vlan->cvlan_filter_disabled = true; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -477,7 +477,8 @@ rq->ix = c->ix; rq->channel = c; rq->mdev = mdev; - rq->hw_mtu = MLX5E_SW2HW_MTU(params, params->sw_mtu); + rq->hw_mtu = + MLX5E_SW2HW_MTU(params, params->sw_mtu) - ETH_FCS_LEN * !params->scatter_fcs_en; rq->xdpsq = &c->rq_xdpsq; rq->stats = &c->priv->channel_stats[c->ix]->rq; rq->ptp_cyc2time = mlx5_rq_ts_translator(mdev); @@ -862,35 +863,6 @@ return err; } -static int mlx5e_modify_rq_scatter_fcs(struct mlx5e_rq *rq, bool enable) -{ - struct mlx5_core_dev *mdev = rq->mdev; - - void *in; - void *rqc; - int inlen; - int err; - - inlen = MLX5_ST_SZ_BYTES(modify_rq_in); - in = kvzalloc(inlen, GFP_KERNEL); - if (!in) - return -ENOMEM; - - rqc = MLX5_ADDR_OF(modify_rq_in, in, ctx); - - MLX5_SET(modify_rq_in, in, rq_state, MLX5_RQC_STATE_RDY); - MLX5_SET64(modify_rq_in, in, modify_bitmask, - MLX5_MODIFY_RQ_IN_MODIFY_BITMASK_SCATTER_FCS); - MLX5_SET(rqc, rqc, scatter_fcs, enable); - MLX5_SET(rqc, rqc, state, MLX5_RQC_STATE_RDY); - - err = mlx5_core_modify_rq(mdev, rq->rqn, in); - - kvfree(in); - - return err; -} - static int mlx5e_modify_rq_vsd(struct mlx5e_rq *rq, bool vsd) { struct mlx5_core_dev *mdev = rq->mdev; @@ -1146,7 +1118,7 @@ sq->channel = c; sq->uar_map = mdev->mlx5e_res.hw_objs.bfreg.map; sq->min_inline_mode = params->tx_min_inline_mode; - sq->hw_mtu = MLX5E_SW2HW_MTU(params, params->sw_mtu); + sq->hw_mtu = MLX5E_SW2HW_MTU(params, params->sw_mtu) - ETH_FCS_LEN; sq->xsk_pool = xsk_pool; sq->stats = sq->xsk_pool ? @@ -3138,20 +3110,6 @@ mlx5e_destroy_tises(priv); } -static int mlx5e_modify_channels_scatter_fcs(struct mlx5e_channels *chs, bool enable) -{ - int err = 0; - int i; - - for (i = 0; i < chs->num; i++) { - err = mlx5e_modify_rq_scatter_fcs(&chs->c[i]->rq, enable); - if (err) - return err; - } - - return 0; -} - static int mlx5e_modify_channels_vsd(struct mlx5e_channels *chs, bool vsd) { int err; @@ -3678,7 +3636,9 @@ struct mlx5e_priv *priv = netdev_priv(netdev); #if IS_ENABLED(CONFIG_MLX5_CLS_ACT) - if (!enable && mlx5e_tc_num_filters(priv, MLX5_TC_FLAG(NIC_OFFLOAD))) { + int tc_flag = mlx5e_is_uplink_rep(priv) ? MLX5_TC_FLAG(ESW_OFFLOAD) : + MLX5_TC_FLAG(NIC_OFFLOAD); + if (!enable && mlx5e_tc_num_filters(priv, tc_flag)) { netdev_err(netdev, "Active offloaded tc filters, can't turn hw_tc_offload off\n"); return -EINVAL; @@ -3726,41 +3686,27 @@ return mlx5_set_ports_check(mdev, in, sizeof(in)); } +static int mlx5e_set_rx_port_ts_wrap(struct mlx5e_priv *priv, void *ctx) +{ + struct mlx5_core_dev *mdev = priv->mdev; + bool enable = *(bool *)ctx; + + return mlx5e_set_rx_port_ts(mdev, enable); +} + static int set_feature_rx_fcs(struct net_device *netdev, bool enable) { struct mlx5e_priv *priv = netdev_priv(netdev); struct mlx5e_channels *chs = &priv->channels; - struct mlx5_core_dev *mdev = priv->mdev; + struct mlx5e_params new_params; int err; mutex_lock(&priv->state_lock); - if (enable) { - err = mlx5e_set_rx_port_ts(mdev, false); - if (err) - goto out; - - chs->params.scatter_fcs_en = true; - err = mlx5e_modify_channels_scatter_fcs(chs, true); - if (err) { - chs->params.scatter_fcs_en = false; - mlx5e_set_rx_port_ts(mdev, true); - } - } else { - chs->params.scatter_fcs_en = false; - err = mlx5e_modify_channels_scatter_fcs(chs, false); - if (err) { - chs->params.scatter_fcs_en = true; - goto out; - } - err = mlx5e_set_rx_port_ts(mdev, true); - if (err) { - mlx5_core_warn(mdev, "Failed to set RX port timestamp %d\n", err); - err = 0; - } - } - -out: + new_params = chs->params; + new_params.scatter_fcs_en = enable; + err = mlx5e_safe_switch_params(priv, &new_params, mlx5e_set_rx_port_ts_wrap, + &new_params.scatter_fcs_en, true); mutex_unlock(&priv->state_lock); return err; } @@ -3872,6 +3818,10 @@ if (netdev->features & NETIF_F_GRO_HW) netdev_warn(netdev, "Disabling HW_GRO, not supported in switchdev mode\n"); + features &= ~NETIF_F_HW_VLAN_CTAG_FILTER; + if (netdev->features & NETIF_F_HW_VLAN_CTAG_FILTER) + netdev_warn(netdev, "Disabling HW_VLAN CTAG FILTERING, not supported in switchdev mode\n"); + return features; } @@ -3881,6 +3831,9 @@ struct mlx5e_priv *priv = netdev_priv(netdev); struct mlx5e_params *params; + if (!netif_device_present(netdev)) + return features; + mutex_lock(&priv->state_lock); params = &priv->channels.params; if (!priv->fs.vlan || @@ -4733,14 +4686,6 @@ /* RQ */ mlx5e_build_rq_params(mdev, params); - /* HW LRO */ - if (MLX5_CAP_ETH(mdev, lro_cap) && - params->rq_wq_type == MLX5_WQ_TYPE_LINKED_LIST_STRIDING_RQ) { - /* No XSK params: checking the availability of striding RQ in general. */ - if (!mlx5e_rx_mpwqe_is_linear_skb(mdev, params, NULL)) - params->packet_merge.type = slow_pci_heuristic(mdev) ? - MLX5E_PACKET_MERGE_NONE : MLX5E_PACKET_MERGE_LRO; - } params->packet_merge.timeout = mlx5e_choose_lro_timeout(mdev, MLX5E_DEFAULT_LRO_TIMEOUT); /* CQ moderation params */ @@ -5448,6 +5393,13 @@ clear_bit(MLX5E_STATE_DESTROYING, &priv->state); + /* Validate the max_wqe_size_sq capability. */ + if (WARN_ON_ONCE(mlx5e_get_max_sq_wqebbs(priv->mdev) < MLX5E_MAX_TX_WQEBBS)) { + mlx5_core_warn(priv->mdev, "MLX5E: Max SQ WQEBBs firmware capability: %u, needed %lu\n", + mlx5e_get_max_sq_wqebbs(priv->mdev), MLX5E_MAX_TX_WQEBBS); + return -EIO; + } + /* max number of channels may have changed */ max_nch = mlx5e_calc_max_nch(priv->mdev, priv->netdev, profile); if (priv->channels.params.num_channels > max_nch) { --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c @@ -662,6 +662,8 @@ params->mqprio.num_tc = 1; params->tunneled_offload_en = false; + if (rep->vport != MLX5_VPORT_UPLINK) + params->vlan_strip_disable = true; mlx5_query_min_inline(mdev, ¶ms->tx_min_inline_mode); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en_rx.c @@ -2286,7 +2286,7 @@ priv = mlx5i_epriv(netdev); tstamp = &priv->tstamp; - stats = rq->stats; + stats = &priv->channel_stats[rq->ix]->rq; flags_rqpn = be32_to_cpu(cqe->flags_rqpn); g = (flags_rqpn >> 28) & 3; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -113,6 +113,7 @@ * it's different than the ht->mutex here. */ static struct lock_class_key tc_ht_lock_key; +static struct lock_class_key tc_ht_wq_key; static void mlx5e_put_flow_tunnel_id(struct mlx5e_tc_flow *flow); static void free_flow_post_acts(struct mlx5e_tc_flow *flow); @@ -1146,7 +1147,6 @@ if (attr->action & MLX5_FLOW_CONTEXT_ACTION_MOD_HDR) { err = mlx5e_attach_mod_hdr(priv, flow, parse_attr); - mlx5e_mod_hdr_dealloc(&parse_attr->mod_hdr_acts); if (err) return err; } @@ -1202,8 +1202,10 @@ } mutex_unlock(&priv->fs.tc.t_lock); - if (attr->action & MLX5_FLOW_CONTEXT_ACTION_MOD_HDR) + if (attr->action & MLX5_FLOW_CONTEXT_ACTION_MOD_HDR) { + mlx5e_mod_hdr_dealloc(&attr->parse_attr->mod_hdr_acts); mlx5e_detach_mod_hdr(priv, flow); + } if (attr->action & MLX5_FLOW_CONTEXT_ACTION_COUNT) mlx5_fc_destroy(priv->mdev, attr->counter); @@ -1266,8 +1268,13 @@ struct mlx5e_tc_flow *flow, struct mlx5_flow_spec *spec) { + struct mlx5e_tc_mod_hdr_acts mod_acts = {}; + struct mlx5e_mod_hdr_handle *mh = NULL; struct mlx5_flow_attr *slow_attr; struct mlx5_flow_handle *rule; + bool fwd_and_modify_cap; + u32 chain_mapping = 0; + int err; slow_attr = mlx5_alloc_flow_attr(MLX5_FLOW_NAMESPACE_FDB); if (!slow_attr) @@ -1278,13 +1285,56 @@ slow_attr->esw_attr->split_count = 0; slow_attr->flags |= MLX5_ATTR_FLAG_SLOW_PATH; + fwd_and_modify_cap = MLX5_CAP_ESW_FLOWTABLE((esw)->dev, fdb_modify_header_fwd_to_table); + if (!fwd_and_modify_cap) + goto skip_restore; + + err = mlx5_chains_get_chain_mapping(esw_chains(esw), flow->attr->chain, &chain_mapping); + if (err) + goto err_get_chain; + + err = mlx5e_tc_match_to_reg_set(esw->dev, &mod_acts, MLX5_FLOW_NAMESPACE_FDB, + CHAIN_TO_REG, chain_mapping); + if (err) + goto err_reg_set; + + mh = mlx5e_mod_hdr_attach(esw->dev, get_mod_hdr_table(flow->priv, flow), + MLX5_FLOW_NAMESPACE_FDB, &mod_acts); + if (IS_ERR(mh)) { + err = PTR_ERR(mh); + goto err_attach; + } + + slow_attr->action |= MLX5_FLOW_CONTEXT_ACTION_MOD_HDR; + slow_attr->modify_hdr = mlx5e_mod_hdr_get(mh); + +skip_restore: rule = mlx5e_tc_offload_fdb_rules(esw, flow, spec, slow_attr); - if (!IS_ERR(rule)) - flow_flag_set(flow, SLOW); + if (IS_ERR(rule)) { + err = PTR_ERR(rule); + goto err_offload; + } + flow->slow_mh = mh; + flow->chain_mapping = chain_mapping; + flow_flag_set(flow, SLOW); + + mlx5e_mod_hdr_dealloc(&mod_acts); kfree(slow_attr); return rule; + +err_offload: + if (fwd_and_modify_cap) + mlx5e_mod_hdr_detach(esw->dev, get_mod_hdr_table(flow->priv, flow), mh); +err_attach: +err_reg_set: + if (fwd_and_modify_cap) + mlx5_chains_put_chain_mapping(esw_chains(esw), chain_mapping); +err_get_chain: + mlx5e_mod_hdr_dealloc(&mod_acts); + kfree(slow_attr); + return ERR_PTR(err); } void mlx5e_tc_unoffload_from_slow_path(struct mlx5_eswitch *esw, @@ -1302,7 +1352,17 @@ slow_attr->action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; slow_attr->esw_attr->split_count = 0; slow_attr->flags |= MLX5_ATTR_FLAG_SLOW_PATH; + if (flow->slow_mh) { + slow_attr->action |= MLX5_FLOW_CONTEXT_ACTION_MOD_HDR; + slow_attr->modify_hdr = mlx5e_mod_hdr_get(flow->slow_mh); + } mlx5e_tc_unoffload_fdb_rules(esw, flow, slow_attr); + if (flow->slow_mh) { + mlx5e_mod_hdr_detach(esw->dev, get_mod_hdr_table(flow->priv, flow), flow->slow_mh); + mlx5_chains_put_chain_mapping(esw_chains(esw), flow->chain_mapping); + flow->chain_mapping = 0; + flow->slow_mh = NULL; + } flow_flag_clear(flow, SLOW); kfree(slow_attr); } @@ -1434,7 +1494,6 @@ struct mlx5e_tc_flow *flow, struct mlx5_flow_attr *attr, struct netlink_ext_ack *extack, - bool *encap_valid, bool *vf_tun) { struct mlx5e_tc_flow_parse_attr *parse_attr; @@ -1451,7 +1510,6 @@ parse_attr = attr->parse_attr; esw_attr = attr->esw_attr; *vf_tun = false; - *encap_valid = true; for (out_index = 0; out_index < MLX5_MAX_FLOW_FWD_VPORTS; out_index++) { struct net_device *out_dev; @@ -1468,7 +1526,7 @@ goto out; } err = mlx5e_attach_encap(priv, flow, attr, out_dev, out_index, - extack, &encap_dev, encap_valid); + extack, &encap_dev); dev_put(out_dev); if (err) goto out; @@ -1532,8 +1590,8 @@ struct mlx5e_tc_flow_parse_attr *parse_attr; struct mlx5_flow_attr *attr = flow->attr; struct mlx5_esw_flow_attr *esw_attr; - bool vf_tun, encap_valid; u32 max_prio, max_chain; + bool vf_tun; int err = 0; parse_attr = attr->parse_attr; @@ -1623,7 +1681,7 @@ esw_attr->int_port = int_port; } - err = set_encap_dests(priv, flow, attr, extack, &encap_valid, &vf_tun); + err = set_encap_dests(priv, flow, attr, extack, &vf_tun); if (err) goto err_out; @@ -1653,7 +1711,7 @@ * (1) there's no error * (2) there's an encap action and we don't have valid neigh */ - if (!encap_valid || flow_flag_test(flow, SLOW)) + if (flow_flag_test(flow, SLOW)) flow->rule[0] = mlx5e_tc_offload_to_slow_path(esw, flow, &parse_attr->spec); else flow->rule[0] = mlx5e_tc_offload_fdb_rules(esw, flow, &parse_attr->spec, attr); @@ -3551,7 +3609,7 @@ struct mlx5e_post_act *post_act = get_post_action(flow->priv); struct mlx5_flow_attr *attr, *next_attr = NULL; struct mlx5e_post_act_handle *handle; - bool vf_tun, encap_valid = true; + bool vf_tun; int err; /* This is going in reverse order as needed. @@ -3573,13 +3631,10 @@ if (list_is_last(&attr->list, &flow->attrs)) break; - err = set_encap_dests(flow->priv, flow, attr, extack, &encap_valid, &vf_tun); + err = set_encap_dests(flow->priv, flow, attr, extack, &vf_tun); if (err) goto out_free; - if (!encap_valid) - flow_flag_set(flow, SLOW); - err = actions_prepare_mod_hdr_actions(flow->priv, flow, attr, extack); if (err) goto out_free; @@ -3866,6 +3921,7 @@ struct mlx5e_tc_flow_parse_attr *parse_attr; struct mlx5_flow_attr *attr = flow->attr; struct mlx5_esw_flow_attr *esw_attr; + struct net_device *filter_dev; int err; err = flow_action_supported(flow_action, extack); @@ -3874,6 +3930,7 @@ esw_attr = attr->esw_attr; parse_attr = attr->parse_attr; + filter_dev = parse_attr->filter_dev; parse_state = &parse_attr->parse_state; mlx5e_tc_act_init_parse_state(parse_state, flow, flow_action, extack); parse_state->ct_priv = get_ct_priv(priv); @@ -3883,13 +3940,21 @@ return err; /* Forward to/from internal port can only have 1 dest */ - if ((netif_is_ovs_master(parse_attr->filter_dev) || esw_attr->dest_int_port) && + if ((netif_is_ovs_master(filter_dev) || esw_attr->dest_int_port) && esw_attr->out_count > 1) { NL_SET_ERR_MSG_MOD(extack, "Rules with internal port can have only one destination"); return -EOPNOTSUPP; } + /* Forward from tunnel/internal port to internal port is not supported */ + if ((mlx5e_get_tc_tun(filter_dev) || netif_is_ovs_master(filter_dev)) && + esw_attr->dest_int_port) { + NL_SET_ERR_MSG_MOD(extack, + "Forwarding from tunnel/internal port to internal port is not supported"); + return -EOPNOTSUPP; + } + err = actions_prepare_mod_hdr_actions(priv, flow, attr, extack); if (err) return err; @@ -4759,6 +4824,7 @@ return err; lockdep_set_class(&tc->ht.mutex, &tc_ht_lock_key); + lockdep_init_map(&tc->ht.run_work.lockdep_map, "tc_ht_wq_key", &tc_ht_wq_key, 0); mapping_id = mlx5_query_nic_system_image_guid(dev); @@ -4865,6 +4931,7 @@ return err; lockdep_set_class(&tc_ht->mutex, &tc_ht_lock_key); + lockdep_init_map(&tc_ht->run_work.lockdep_map, "tc_ht_wq_key", &tc_ht_wq_key, 0); return 0; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/en_tx.c @@ -304,6 +304,8 @@ u16 ds_cnt_inl = 0; u16 ds_cnt_ids = 0; + /* Sync the calculation with MLX5E_MAX_TX_WQEBBS. */ + if (attr->insz) ds_cnt_ids = DIV_ROUND_UP(sizeof(struct mlx5_wqe_inline_seg) + attr->insz, MLX5_SEND_WQE_DS); @@ -316,6 +318,9 @@ inl += VLAN_HLEN; ds_cnt_inl = DIV_ROUND_UP(inl, MLX5_SEND_WQE_DS); + if (WARN_ON_ONCE(ds_cnt_inl > MLX5E_MAX_TX_INLINE_DS)) + netdev_warn(skb->dev, "ds_cnt_inl = %u > max %u\n", ds_cnt_inl, + (u16)MLX5E_MAX_TX_INLINE_DS); ds_cnt += ds_cnt_inl; } @@ -391,6 +396,11 @@ if (unlikely(sq->ptpsq)) { mlx5e_skb_cb_hwtstamp_init(skb); mlx5e_skb_fifo_push(&sq->ptpsq->skb_fifo, skb); + if (!netif_tx_queue_stopped(sq->txq) && + !mlx5e_skb_fifo_has_room(&sq->ptpsq->skb_fifo)) { + netif_tx_stop_queue(sq->txq); + sq->stats->stopped++; + } skb_get(skb); } @@ -857,6 +867,7 @@ if (netif_tx_queue_stopped(sq->txq) && mlx5e_wqc_has_room_for(&sq->wq, sq->cc, sq->pc, sq->stop_room) && + mlx5e_ptpsq_fifo_has_room(sq) && !test_bit(MLX5E_SQ_STATE_RECOVERING, &sq->state)) { netif_tx_wake_queue(sq->txq); stats->wake++; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/egress_lgcy.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/egress_lgcy.c @@ -67,6 +67,7 @@ int esw_acl_egress_lgcy_setup(struct mlx5_eswitch *esw, struct mlx5_vport *vport) { + bool vst_mode_steering = esw_vst_mode_is_steering(esw); struct mlx5_flow_destination drop_ctr_dst = {}; struct mlx5_flow_destination *dst = NULL; struct mlx5_fc *drop_counter = NULL; @@ -77,6 +78,7 @@ */ int table_size = 2; int dest_num = 0; + int actions_flag; int err = 0; if (vport->egress.legacy.drop_counter) { @@ -119,8 +121,11 @@ vport->vport, vport->info.vlan, vport->info.qos); /* Allowed vlan rule */ + actions_flag = MLX5_FLOW_CONTEXT_ACTION_ALLOW; + if (vst_mode_steering) + actions_flag |= MLX5_FLOW_CONTEXT_ACTION_VLAN_POP; err = esw_egress_acl_vlan_create(esw, vport, NULL, vport->info.vlan, - MLX5_FLOW_CONTEXT_ACTION_ALLOW); + actions_flag); if (err) goto out; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_lgcy.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_lgcy.c @@ -139,11 +139,14 @@ int esw_acl_ingress_lgcy_setup(struct mlx5_eswitch *esw, struct mlx5_vport *vport) { + bool vst_mode_steering = esw_vst_mode_is_steering(esw); struct mlx5_flow_destination drop_ctr_dst = {}; struct mlx5_flow_destination *dst = NULL; struct mlx5_flow_act flow_act = {}; struct mlx5_flow_spec *spec = NULL; struct mlx5_fc *counter = NULL; + bool vst_check_cvlan = false; + bool vst_push_cvlan = false; /* The ingress acl table contains 4 groups * (2 active rules at the same time - * 1 allow rule from one of the first 3 groups. @@ -203,7 +206,26 @@ goto out; } - if (vport->info.vlan || vport->info.qos) + if ((vport->info.vlan || vport->info.qos)) { + if (vst_mode_steering) + vst_push_cvlan = true; + else if (!MLX5_CAP_ESW(esw->dev, vport_cvlan_insert_always)) + vst_check_cvlan = true; + } + + if (vst_check_cvlan || vport->info.spoofchk) + spec->match_criteria_enable = MLX5_MATCH_OUTER_HEADERS; + + /* Create ingress allow rule */ + flow_act.action = MLX5_FLOW_CONTEXT_ACTION_ALLOW; + if (vst_push_cvlan) { + flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_VLAN_PUSH; + flow_act.vlan[0].prio = vport->info.qos; + flow_act.vlan[0].vid = vport->info.vlan; + flow_act.vlan[0].ethtype = ETH_P_8021Q; + } + + if (vst_check_cvlan) MLX5_SET_TO_ONES(fte_match_param, spec->match_criteria, outer_headers.cvlan_tag); @@ -218,9 +240,6 @@ ether_addr_copy(smac_v, vport->info.mac); } - /* Create ingress allow rule */ - spec->match_criteria_enable = MLX5_MATCH_OUTER_HEADERS; - flow_act.action = MLX5_FLOW_CONTEXT_ACTION_ALLOW; vport->ingress.allow_rule = mlx5_add_flow_rules(vport->ingress.acl, spec, &flow_act, NULL, 0); if (IS_ERR(vport->ingress.allow_rule)) { @@ -232,6 +251,9 @@ goto out; } + if (!vst_check_cvlan && !vport->info.spoofchk) + goto out; + memset(&flow_act, 0, sizeof(flow_act)); flow_act.action = MLX5_FLOW_CONTEXT_ACTION_DROP; /* Attach drop flow counter */ @@ -257,7 +279,8 @@ return 0; out: - esw_acl_ingress_lgcy_cleanup(esw, vport); + if (err) + esw_acl_ingress_lgcy_cleanup(esw, vport); kvfree(spec); return err; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/esw/bridge.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/esw/bridge.c @@ -1467,7 +1467,7 @@ struct mlx5_esw_bridge *bridge; port = mlx5_esw_bridge_port_lookup(vport_num, esw_owner_vhca_id, br_offloads); - if (!port || port->flags & MLX5_ESW_BRIDGE_PORT_FLAG_PEER) + if (!port) return; bridge = port->bridge; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c @@ -22,15 +22,13 @@ }; static int esw_qos_tsar_config(struct mlx5_core_dev *dev, u32 *sched_ctx, - u32 parent_ix, u32 tsar_ix, - u32 max_rate, u32 bw_share) + u32 tsar_ix, u32 max_rate, u32 bw_share) { u32 bitmask = 0; if (!MLX5_CAP_GEN(dev, qos) || !MLX5_CAP_QOS(dev, esw_scheduling)) return -EOPNOTSUPP; - MLX5_SET(scheduling_context, sched_ctx, parent_element_id, parent_ix); MLX5_SET(scheduling_context, sched_ctx, max_average_bw, max_rate); MLX5_SET(scheduling_context, sched_ctx, bw_share, bw_share); bitmask |= MODIFY_SCHEDULING_ELEMENT_IN_MODIFY_BITMASK_MAX_AVERAGE_BW; @@ -51,7 +49,7 @@ int err; err = esw_qos_tsar_config(dev, sched_ctx, - esw->qos.root_tsar_ix, group->tsar_ix, + group->tsar_ix, max_rate, bw_share); if (err) NL_SET_ERR_MSG_MOD(extack, "E-Switch modify group TSAR element failed"); @@ -67,23 +65,13 @@ struct netlink_ext_ack *extack) { u32 sched_ctx[MLX5_ST_SZ_DW(scheduling_context)] = {}; - struct mlx5_esw_rate_group *group = vport->qos.group; struct mlx5_core_dev *dev = esw->dev; - u32 parent_tsar_ix; - void *vport_elem; int err; if (!vport->qos.enabled) return -EIO; - parent_tsar_ix = group ? group->tsar_ix : esw->qos.root_tsar_ix; - MLX5_SET(scheduling_context, sched_ctx, element_type, - SCHEDULING_CONTEXT_ELEMENT_TYPE_VPORT); - vport_elem = MLX5_ADDR_OF(scheduling_context, sched_ctx, - element_attributes); - MLX5_SET(vport_element, vport_elem, vport_number, vport->vport); - - err = esw_qos_tsar_config(dev, sched_ctx, parent_tsar_ix, vport->qos.esw_tsar_ix, + err = esw_qos_tsar_config(dev, sched_ctx, vport->qos.esw_tsar_ix, max_rate, bw_share); if (err) { esw_warn(esw->dev, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -160,10 +160,17 @@ esw_vport_context.vport_cvlan_strip, 1); if (set_flags & SET_VLAN_INSERT) { - /* insert only if no vlan in packet */ - MLX5_SET(modify_esw_vport_context_in, in, - esw_vport_context.vport_cvlan_insert, 1); - + if (MLX5_CAP_ESW(dev, vport_cvlan_insert_always)) { + /* insert either if vlan exist in packet or not */ + MLX5_SET(modify_esw_vport_context_in, in, + esw_vport_context.vport_cvlan_insert, + MLX5_VPORT_CVLAN_INSERT_ALWAYS); + } else { + /* insert only if no vlan in packet */ + MLX5_SET(modify_esw_vport_context_in, in, + esw_vport_context.vport_cvlan_insert, + MLX5_VPORT_CVLAN_INSERT_WHEN_NO_CVLAN); + } MLX5_SET(modify_esw_vport_context_in, in, esw_vport_context.cvlan_pcp, qos); MLX5_SET(modify_esw_vport_context_in, in, @@ -773,6 +780,7 @@ static int esw_vport_setup(struct mlx5_eswitch *esw, struct mlx5_vport *vport) { + bool vst_mode_steering = esw_vst_mode_is_steering(esw); u16 vport_num = vport->vport; int flags; int err; @@ -799,8 +807,9 @@ flags = (vport->info.vlan || vport->info.qos) ? SET_VLAN_STRIP | SET_VLAN_INSERT : 0; - modify_esw_vport_cvlan(esw->dev, vport_num, vport->info.vlan, - vport->info.qos, flags); + if (esw->mode == MLX5_ESWITCH_OFFLOADS || !vst_mode_steering) + modify_esw_vport_cvlan(esw->dev, vport_num, vport->info.vlan, + vport->info.qos, flags); return 0; } @@ -1770,6 +1779,7 @@ u16 vport, u16 vlan, u8 qos, u8 set_flags) { struct mlx5_vport *evport = mlx5_eswitch_get_vport(esw, vport); + bool vst_mode_steering = esw_vst_mode_is_steering(esw); int err = 0; if (IS_ERR(evport)) @@ -1777,9 +1787,11 @@ if (vlan > 4095 || qos > 7) return -EINVAL; - err = modify_esw_vport_cvlan(esw->dev, vport, vlan, qos, set_flags); - if (err) - return err; + if (esw->mode == MLX5_ESWITCH_OFFLOADS || !vst_mode_steering) { + err = modify_esw_vport_cvlan(esw->dev, vport, vlan, qos, set_flags); + if (err) + return err; + } evport->info.vlan = vlan; evport->info.qos = qos; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/eswitch.h @@ -504,6 +504,12 @@ int __mlx5_eswitch_set_vport_vlan(struct mlx5_eswitch *esw, u16 vport, u16 vlan, u8 qos, u8 set_flags); +static inline bool esw_vst_mode_is_steering(struct mlx5_eswitch *esw) +{ + return (MLX5_CAP_ESW_EGRESS_ACL(esw->dev, pop_vlan) && + MLX5_CAP_ESW_INGRESS_ACL(esw->dev, push_vlan)); +} + static inline bool mlx5_eswitch_vlan_actions_supported(struct mlx5_core_dev *dev, u8 vlan_depth) { --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -140,7 +140,7 @@ if (mlx5_esw_indir_table_decap_vport(attr)) vport = mlx5_esw_indir_table_decap_vport(attr); - if (attr && !attr->chain && esw_attr->int_port) + if (!attr->chain && esw_attr && esw_attr->int_port) metadata = mlx5e_tc_int_port_get_metadata_for_match(esw_attr->int_port); else @@ -230,10 +230,8 @@ } static void -esw_setup_slow_path_dest(struct mlx5_flow_destination *dest, - struct mlx5_flow_act *flow_act, - struct mlx5_fs_chains *chains, - int i) +esw_setup_accept_dest(struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, + struct mlx5_fs_chains *chains, int i) { if (mlx5_chains_ignore_flow_level_supported(chains)) flow_act->flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; @@ -241,6 +239,16 @@ dest[i].ft = mlx5_chains_get_tc_end_ft(chains); } +static void +esw_setup_slow_path_dest(struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, + struct mlx5_eswitch *esw, int i) +{ + if (MLX5_CAP_ESW_FLOWTABLE_FDB(esw->dev, ignore_flow_level)) + flow_act->flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; + dest[i].type = MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE; + dest[i].ft = esw->fdb_table.offloads.slow_fdb; +} + static int esw_setup_chain_dest(struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, @@ -419,10 +427,11 @@ dest[dest_idx].vport.vhca_id = MLX5_CAP_GEN(esw_attr->dests[attr_idx].mdev, vhca_id); dest[dest_idx].vport.flags |= MLX5_FLOW_DEST_VPORT_VHCA_ID; - if (mlx5_lag_mpesw_is_activated(esw->dev)) + if (dest[dest_idx].vport.num == MLX5_VPORT_UPLINK && + mlx5_lag_mpesw_is_activated(esw->dev)) dest[dest_idx].type = MLX5_FLOW_DESTINATION_TYPE_UPLINK; } - if (esw_attr->dests[attr_idx].flags & MLX5_ESW_DEST_ENCAP) { + if (esw_attr->dests[attr_idx].flags & MLX5_ESW_DEST_ENCAP_VALID) { if (pkt_reformat) { flow_act->action |= MLX5_FLOW_CONTEXT_ACTION_PACKET_REFORMAT; flow_act->pkt_reformat = esw_attr->dests[attr_idx].pkt_reformat; @@ -475,8 +484,11 @@ } else if (attr->dest_ft) { esw_setup_ft_dest(dest, flow_act, esw, attr, spec, *i); (*i)++; - } else if (mlx5e_tc_attr_flags_skip(attr->flags)) { - esw_setup_slow_path_dest(dest, flow_act, chains, *i); + } else if (attr->flags & MLX5_ATTR_FLAG_SLOW_PATH) { + esw_setup_slow_path_dest(dest, flow_act, esw, *i); + (*i)++; + } else if (attr->flags & MLX5_ATTR_FLAG_ACCEPT) { + esw_setup_accept_dest(dest, flow_act, chains, *i); (*i)++; } else if (attr->dest_chain) { err = esw_setup_chain_dest(dest, flow_act, chains, attr->dest_chain, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c @@ -30,9 +30,9 @@ sizeof(dest->vport.num), hash); hash = jhash((const void *)&dest->vport.vhca_id, sizeof(dest->vport.num), hash); - if (dest->vport.pkt_reformat) - hash = jhash(dest->vport.pkt_reformat, - sizeof(*dest->vport.pkt_reformat), + if (flow_act->pkt_reformat) + hash = jhash(flow_act->pkt_reformat, + sizeof(*flow_act->pkt_reformat), hash); return hash; } @@ -53,9 +53,11 @@ if (ret) return ret; - return dest1->vport.pkt_reformat && dest2->vport.pkt_reformat ? - memcmp(dest1->vport.pkt_reformat, dest2->vport.pkt_reformat, - sizeof(*dest1->vport.pkt_reformat)) : 0; + if (flow_act1->pkt_reformat && flow_act2->pkt_reformat) + return memcmp(flow_act1->pkt_reformat, flow_act2->pkt_reformat, + sizeof(*flow_act1->pkt_reformat)); + + return !(flow_act1->pkt_reformat == flow_act2->pkt_reformat); } static int @@ -310,6 +312,8 @@ for (curr_dest = 0; curr_dest < num_vport_dests; curr_dest++) { struct mlx5_termtbl_handle *tt = attr->dests[curr_dest].termtbl; + attr->dests[curr_dest].termtbl = NULL; + /* search for the destination associated with the * current term table */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/fw.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/fw.c @@ -289,6 +289,10 @@ sw_owner_id[i]); } + if (MLX5_CAP_GEN_2_MAX(dev, sw_vhca_id_valid) && + dev->priv.sw_vhca_id > 0) + MLX5_SET(init_hca_in, in, sw_vhca_id, dev->priv.sw_vhca_id); + return mlx5_cmd_exec_in(dev, init_hca, in); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c @@ -361,6 +361,23 @@ err = -ETIMEDOUT; } + do { + err = pci_read_config_word(dev->pdev, PCI_DEVICE_ID, ®16); + if (err) + return err; + if (reg16 == dev_id) + break; + msleep(20); + } while (!time_after(jiffies, timeout)); + + if (reg16 == dev_id) { + mlx5_core_info(dev, "Firmware responds to PCI config cycles again\n"); + } else { + mlx5_core_err(dev, "Firmware is not responsive (0x%04x) after %llu ms\n", + reg16, mlx5_tout_ms(dev, PCI_TOGGLE)); + err = -ETIMEDOUT; + } + restore: list_for_each_entry(sdev, &bridge_bus->devices, bus_list) { pci_cfg_access_unlock(sdev); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/health.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/health.c @@ -672,6 +672,13 @@ priv = container_of(health, struct mlx5_priv, health); dev = container_of(priv, struct mlx5_core_dev, priv); + mutex_lock(&dev->intf_state_mutex); + if (test_bit(MLX5_DROP_NEW_HEALTH_WORK, &health->flags)) { + mlx5_core_err(dev, "health works are not permitted at this stage\n"); + mutex_unlock(&dev->intf_state_mutex); + return; + } + mutex_unlock(&dev->intf_state_mutex); enter_error_state(dev, false); if (IS_ERR_OR_NULL(health->fw_fatal_reporter)) { if (mlx5_health_try_recover(dev)) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ethtool.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ethtool.c @@ -89,9 +89,21 @@ static int mlx5i_set_channels(struct net_device *dev, struct ethtool_channels *ch) { - struct mlx5e_priv *priv = mlx5i_epriv(dev); + struct mlx5i_priv *ipriv = netdev_priv(dev); + struct mlx5e_priv *epriv = mlx5i_epriv(dev); - return mlx5e_ethtool_set_channels(priv, ch); + /* rtnl lock protects from race between this ethtool op and sub + * interface ndo_init/uninit. + */ + ASSERT_RTNL(); + if (ipriv->num_sub_interfaces > 0) { + mlx5_core_warn(epriv->mdev, + "can't change number of channels for interfaces with sub interfaces (%u)\n", + ipriv->num_sub_interfaces); + return -EINVAL; + } + + return mlx5e_ethtool_set_channels(epriv, ch); } static void mlx5i_get_channels(struct net_device *dev, @@ -176,16 +188,16 @@ } } -static int mlx5i_get_speed_settings(u16 ib_link_width_oper, u16 ib_proto_oper) +static u32 mlx5i_get_speed_settings(u16 ib_link_width_oper, u16 ib_proto_oper) { int rate, width; rate = mlx5_ptys_rate_enum_to_int(ib_proto_oper); if (rate < 0) - return -EINVAL; + return SPEED_UNKNOWN; width = mlx5_ptys_width_enum_to_int(ib_link_width_oper); if (width < 0) - return -EINVAL; + return SPEED_UNKNOWN; return rate * width; } @@ -208,16 +220,13 @@ ethtool_link_ksettings_zero_link_mode(link_ksettings, advertising); speed = mlx5i_get_speed_settings(ib_link_width_oper, ib_proto_oper); - if (speed < 0) - return -EINVAL; + link_ksettings->base.speed = speed; + link_ksettings->base.duplex = speed == SPEED_UNKNOWN ? DUPLEX_UNKNOWN : DUPLEX_FULL; - link_ksettings->base.duplex = DUPLEX_FULL; link_ksettings->base.port = PORT_OTHER; link_ksettings->base.autoneg = AUTONEG_DISABLE; - link_ksettings->base.speed = speed; - return 0; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.c @@ -70,6 +70,10 @@ params->packet_merge.type = MLX5E_PACKET_MERGE_NONE; params->hard_mtu = MLX5_IB_GRH_BYTES + MLX5_IPOIB_HARD_LEN; params->tunneled_offload_en = false; + + /* CQE compression is not supported for IPoIB */ + params->rx_cqe_compress_def = false; + MLX5E_SET_PFLAG(params, MLX5E_PFLAG_RX_CQE_COMPRESS, params->rx_cqe_compress_def); } /* Called directly after IPoIB netdevice was created to initialize SW structs */ @@ -155,6 +159,44 @@ stats->tx_dropped = sstats->tx_queue_dropped; } +struct net_device *mlx5i_parent_get(struct net_device *netdev) +{ + struct mlx5e_priv *priv = mlx5i_epriv(netdev); + struct mlx5i_priv *ipriv, *parent_ipriv; + struct net_device *parent_dev; + int parent_ifindex; + + ipriv = priv->ppriv; + + parent_ifindex = netdev->netdev_ops->ndo_get_iflink(netdev); + parent_dev = dev_get_by_index(dev_net(netdev), parent_ifindex); + if (!parent_dev) + return NULL; + + parent_ipriv = netdev_priv(parent_dev); + + ASSERT_RTNL(); + parent_ipriv->num_sub_interfaces++; + + ipriv->parent_dev = parent_dev; + + return parent_dev; +} + +void mlx5i_parent_put(struct net_device *netdev) +{ + struct mlx5e_priv *priv = mlx5i_epriv(netdev); + struct mlx5i_priv *ipriv, *parent_ipriv; + + ipriv = priv->ppriv; + parent_ipriv = netdev_priv(ipriv->parent_dev); + + ASSERT_RTNL(); + parent_ipriv->num_sub_interfaces--; + + dev_put(ipriv->parent_dev); +} + int mlx5i_init_underlay_qp(struct mlx5e_priv *priv) { struct mlx5_core_dev *mdev = priv->mdev; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.h +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib.h @@ -54,9 +54,11 @@ struct rdma_netdev rn; /* keep this first */ u32 qpn; bool sub_interface; + u32 num_sub_interfaces; u32 qkey; u16 pkey_index; struct mlx5i_pkey_qpn_ht *qpn_htbl; + struct net_device *parent_dev; char *mlx5e_priv[]; }; @@ -117,5 +119,9 @@ struct mlx5_av *av, u32 dqpn, u32 dqkey, bool xmit_more); void mlx5i_get_stats(struct net_device *dev, struct rtnl_link_stats64 *stats); +/* Reference management for child to parent interfaces. */ +struct net_device *mlx5i_parent_get(struct net_device *netdev); +void mlx5i_parent_put(struct net_device *netdev); + #endif /* CONFIG_MLX5_CORE_IPOIB */ #endif /* __MLX5E_IPOB_H__ */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c @@ -158,21 +158,28 @@ struct mlx5e_priv *priv = mlx5i_epriv(dev); struct mlx5i_priv *ipriv, *parent_ipriv; struct net_device *parent_dev; - int parent_ifindex; ipriv = priv->ppriv; - /* Get QPN to netdevice hash table from parent */ - parent_ifindex = dev->netdev_ops->ndo_get_iflink(dev); - parent_dev = dev_get_by_index(dev_net(dev), parent_ifindex); + /* Link to parent */ + parent_dev = mlx5i_parent_get(dev); if (!parent_dev) { mlx5_core_warn(priv->mdev, "failed to get parent device\n"); return -EINVAL; } + if (dev->num_rx_queues < parent_dev->real_num_rx_queues) { + mlx5_core_warn(priv->mdev, + "failed to create child device with rx queues [%d] less than parent's [%d]\n", + dev->num_rx_queues, + parent_dev->real_num_rx_queues); + mlx5i_parent_put(dev); + return -EINVAL; + } + + /* Get QPN to netdevice hash table from parent */ parent_ipriv = netdev_priv(parent_dev); ipriv->qpn_htbl = parent_ipriv->qpn_htbl; - dev_put(parent_dev); return mlx5i_dev_init(dev); } @@ -184,6 +191,7 @@ static void mlx5i_pkey_dev_cleanup(struct net_device *netdev) { + mlx5i_parent_put(netdev); return mlx5i_dev_cleanup(netdev); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c @@ -201,9 +201,9 @@ if (ldev->nb.notifier_call) unregister_netdevice_notifier_net(&init_net, &ldev->nb); mlx5_lag_mp_cleanup(ldev); - mlx5_lag_mpesw_cleanup(ldev); - cancel_work_sync(&ldev->mpesw_work); + cancel_delayed_work_sync(&ldev->bond_work); destroy_workqueue(ldev->wq); + mlx5_lag_mpesw_cleanup(ldev); mutex_destroy(&ldev->lock); kfree(ldev); } @@ -1067,30 +1067,32 @@ struct net_device *netdev) { unsigned int fn = mlx5_get_dev_index(dev); + unsigned long flags; if (fn >= ldev->ports) return; - spin_lock(&lag_lock); + spin_lock_irqsave(&lag_lock, flags); ldev->pf[fn].netdev = netdev; ldev->tracker.netdev_state[fn].link_up = 0; ldev->tracker.netdev_state[fn].tx_enabled = 0; - spin_unlock(&lag_lock); + spin_unlock_irqrestore(&lag_lock, flags); } static void mlx5_ldev_remove_netdev(struct mlx5_lag *ldev, struct net_device *netdev) { + unsigned long flags; int i; - spin_lock(&lag_lock); + spin_lock_irqsave(&lag_lock, flags); for (i = 0; i < ldev->ports; i++) { if (ldev->pf[i].netdev == netdev) { ldev->pf[i].netdev = NULL; break; } } - spin_unlock(&lag_lock); + spin_unlock_irqrestore(&lag_lock, flags); } static void mlx5_ldev_add_mdev(struct mlx5_lag *ldev, @@ -1234,7 +1236,7 @@ mlx5_ldev_add_netdev(ldev, dev, netdev); for (i = 0; i < ldev->ports; i++) - if (!ldev->pf[i].dev) + if (!ldev->pf[i].netdev) break; if (i >= ldev->ports) @@ -1246,12 +1248,13 @@ bool mlx5_lag_is_roce(struct mlx5_core_dev *dev) { struct mlx5_lag *ldev; + unsigned long flags; bool res; - spin_lock(&lag_lock); + spin_lock_irqsave(&lag_lock, flags); ldev = mlx5_lag_dev(dev); res = ldev && __mlx5_lag_is_roce(ldev); - spin_unlock(&lag_lock); + spin_unlock_irqrestore(&lag_lock, flags); return res; } @@ -1260,12 +1263,13 @@ bool mlx5_lag_is_active(struct mlx5_core_dev *dev) { struct mlx5_lag *ldev; + unsigned long flags; bool res; - spin_lock(&lag_lock); + spin_lock_irqsave(&lag_lock, flags); ldev = mlx5_lag_dev(dev); res = ldev && __mlx5_lag_is_active(ldev); - spin_unlock(&lag_lock); + spin_unlock_irqrestore(&lag_lock, flags); return res; } @@ -1274,13 +1278,14 @@ bool mlx5_lag_is_master(struct mlx5_core_dev *dev) { struct mlx5_lag *ldev; + unsigned long flags; bool res; - spin_lock(&lag_lock); + spin_lock_irqsave(&lag_lock, flags); ldev = mlx5_lag_dev(dev); res = ldev && __mlx5_lag_is_active(ldev) && dev == ldev->pf[MLX5_LAG_P1].dev; - spin_unlock(&lag_lock); + spin_unlock_irqrestore(&lag_lock, flags); return res; } @@ -1289,12 +1294,13 @@ bool mlx5_lag_is_sriov(struct mlx5_core_dev *dev) { struct mlx5_lag *ldev; + unsigned long flags; bool res; - spin_lock(&lag_lock); + spin_lock_irqsave(&lag_lock, flags); ldev = mlx5_lag_dev(dev); res = ldev && __mlx5_lag_is_sriov(ldev); - spin_unlock(&lag_lock); + spin_unlock_irqrestore(&lag_lock, flags); return res; } @@ -1303,13 +1309,14 @@ bool mlx5_lag_is_shared_fdb(struct mlx5_core_dev *dev) { struct mlx5_lag *ldev; + unsigned long flags; bool res; - spin_lock(&lag_lock); + spin_lock_irqsave(&lag_lock, flags); ldev = mlx5_lag_dev(dev); res = ldev && __mlx5_lag_is_sriov(ldev) && test_bit(MLX5_LAG_MODE_FLAG_SHARED_FDB, &ldev->mode_flags); - spin_unlock(&lag_lock); + spin_unlock_irqrestore(&lag_lock, flags); return res; } @@ -1352,9 +1359,10 @@ { struct net_device *ndev = NULL; struct mlx5_lag *ldev; + unsigned long flags; int i; - spin_lock(&lag_lock); + spin_lock_irqsave(&lag_lock, flags); ldev = mlx5_lag_dev(dev); if (!(ldev && __mlx5_lag_is_roce(ldev))) @@ -1373,7 +1381,7 @@ dev_hold(ndev); unlock: - spin_unlock(&lag_lock); + spin_unlock_irqrestore(&lag_lock, flags); return ndev; } @@ -1383,10 +1391,11 @@ struct net_device *slave) { struct mlx5_lag *ldev; + unsigned long flags; u8 port = 0; int i; - spin_lock(&lag_lock); + spin_lock_irqsave(&lag_lock, flags); ldev = mlx5_lag_dev(dev); if (!(ldev && __mlx5_lag_is_roce(ldev))) goto unlock; @@ -1401,7 +1410,7 @@ port = ldev->v2p_map[port * ldev->buckets]; unlock: - spin_unlock(&lag_lock); + spin_unlock_irqrestore(&lag_lock, flags); return port; } EXPORT_SYMBOL(mlx5_lag_get_slave_port); @@ -1422,8 +1431,9 @@ { struct mlx5_core_dev *peer_dev = NULL; struct mlx5_lag *ldev; + unsigned long flags; - spin_lock(&lag_lock); + spin_lock_irqsave(&lag_lock, flags); ldev = mlx5_lag_dev(dev); if (!ldev) goto unlock; @@ -1433,7 +1443,7 @@ ldev->pf[MLX5_LAG_P1].dev; unlock: - spin_unlock(&lag_lock); + spin_unlock_irqrestore(&lag_lock, flags); return peer_dev; } EXPORT_SYMBOL(mlx5_lag_get_peer_mdev); @@ -1446,6 +1456,7 @@ int outlen = MLX5_ST_SZ_BYTES(query_cong_statistics_out); struct mlx5_core_dev **mdev; struct mlx5_lag *ldev; + unsigned long flags; int num_ports; int ret, i, j; void *out; @@ -1462,7 +1473,7 @@ memset(values, 0, sizeof(*values) * num_counters); - spin_lock(&lag_lock); + spin_lock_irqsave(&lag_lock, flags); ldev = mlx5_lag_dev(dev); if (ldev && __mlx5_lag_is_active(ldev)) { num_ports = ldev->ports; @@ -1472,7 +1483,7 @@ num_ports = 1; mdev[MLX5_LAG_P1] = dev; } - spin_unlock(&lag_lock); + spin_unlock_irqrestore(&lag_lock, flags); for (i = 0; i < num_ports; ++i) { u32 in[MLX5_ST_SZ_DW(query_cong_statistics_in)] = {}; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h @@ -50,6 +50,19 @@ enum netdev_lag_hash hash_type; }; +enum mpesw_op { + MLX5_MPESW_OP_ENABLE, + MLX5_MPESW_OP_DISABLE, +}; + +struct mlx5_mpesw_work_st { + struct work_struct work; + struct mlx5_lag *lag; + enum mpesw_op op; + struct completion comp; + int result; +}; + /* LAG data of a ConnectX card. * It serves both its phys functions. */ @@ -66,7 +79,6 @@ struct lag_tracker tracker; struct workqueue_struct *wq; struct delayed_work bond_work; - struct work_struct mpesw_work; struct notifier_block nb; struct lag_mp lag_mp; struct mlx5_lag_port_sel port_sel; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.c @@ -7,63 +7,95 @@ #include "eswitch.h" #include "lib/mlx5.h" -void mlx5_mpesw_work(struct work_struct *work) +static int add_mpesw_rule(struct mlx5_lag *ldev) { - struct mlx5_lag *ldev = container_of(work, struct mlx5_lag, mpesw_work); + struct mlx5_core_dev *dev = ldev->pf[MLX5_LAG_P1].dev; + int err; - mutex_lock(&ldev->lock); - mlx5_disable_lag(ldev); - mutex_unlock(&ldev->lock); -} + if (atomic_add_return(1, &ldev->lag_mpesw.mpesw_rule_count) != 1) + return 0; -static void mlx5_lag_disable_mpesw(struct mlx5_core_dev *dev) -{ - struct mlx5_lag *ldev = dev->priv.lag; + if (ldev->mode != MLX5_LAG_MODE_NONE) { + err = -EINVAL; + goto out_err; + } - if (!queue_work(ldev->wq, &ldev->mpesw_work)) - mlx5_core_warn(dev, "failed to queue work\n"); + err = mlx5_activate_lag(ldev, NULL, MLX5_LAG_MODE_MPESW, false); + if (err) { + mlx5_core_warn(dev, "Failed to create LAG in MPESW mode (%d)\n", err); + goto out_err; + } + + return 0; + +out_err: + atomic_dec(&ldev->lag_mpesw.mpesw_rule_count); + return err; } -void mlx5_lag_del_mpesw_rule(struct mlx5_core_dev *dev) +static void del_mpesw_rule(struct mlx5_lag *ldev) { - struct mlx5_lag *ldev = dev->priv.lag; + if (!atomic_dec_return(&ldev->lag_mpesw.mpesw_rule_count) && + ldev->mode == MLX5_LAG_MODE_MPESW) + mlx5_disable_lag(ldev); +} - if (!ldev) - return; +static void mlx5_mpesw_work(struct work_struct *work) +{ + struct mlx5_mpesw_work_st *mpesww = container_of(work, struct mlx5_mpesw_work_st, work); + struct mlx5_lag *ldev = mpesww->lag; mutex_lock(&ldev->lock); - if (!atomic_dec_return(&ldev->lag_mpesw.mpesw_rule_count) && - ldev->mode == MLX5_LAG_MODE_MPESW) - mlx5_lag_disable_mpesw(dev); + if (mpesww->op == MLX5_MPESW_OP_ENABLE) + mpesww->result = add_mpesw_rule(ldev); + else if (mpesww->op == MLX5_MPESW_OP_DISABLE) + del_mpesw_rule(ldev); mutex_unlock(&ldev->lock); + + complete(&mpesww->comp); } -int mlx5_lag_add_mpesw_rule(struct mlx5_core_dev *dev) +static int mlx5_lag_mpesw_queue_work(struct mlx5_core_dev *dev, + enum mpesw_op op) { struct mlx5_lag *ldev = dev->priv.lag; + struct mlx5_mpesw_work_st *work; int err = 0; if (!ldev) return 0; - mutex_lock(&ldev->lock); - if (atomic_add_return(1, &ldev->lag_mpesw.mpesw_rule_count) != 1) - goto out; + work = kzalloc(sizeof(*work), GFP_KERNEL); + if (!work) + return -ENOMEM; + + INIT_WORK(&work->work, mlx5_mpesw_work); + init_completion(&work->comp); + work->op = op; + work->lag = ldev; - if (ldev->mode != MLX5_LAG_MODE_NONE) { + if (!queue_work(ldev->wq, &work->work)) { + mlx5_core_warn(dev, "failed to queue mpesw work\n"); err = -EINVAL; goto out; } - - err = mlx5_activate_lag(ldev, NULL, MLX5_LAG_MODE_MPESW, false); - if (err) - mlx5_core_warn(dev, "Failed to create LAG in MPESW mode (%d)\n", err); - + wait_for_completion(&work->comp); + err = work->result; out: - mutex_unlock(&ldev->lock); + kfree(work); return err; } +void mlx5_lag_del_mpesw_rule(struct mlx5_core_dev *dev) +{ + mlx5_lag_mpesw_queue_work(dev, MLX5_MPESW_OP_DISABLE); +} + +int mlx5_lag_add_mpesw_rule(struct mlx5_core_dev *dev) +{ + return mlx5_lag_mpesw_queue_work(dev, MLX5_MPESW_OP_ENABLE); +} + int mlx5_lag_do_mirred(struct mlx5_core_dev *mdev, struct net_device *out_dev) { struct mlx5_lag *ldev = mdev->priv.lag; @@ -71,12 +103,9 @@ if (!netif_is_bond_master(out_dev) || !ldev) return 0; - mutex_lock(&ldev->lock); - if (ldev->mode == MLX5_LAG_MODE_MPESW) { - mutex_unlock(&ldev->lock); + if (ldev->mode == MLX5_LAG_MODE_MPESW) return -EOPNOTSUPP; - } - mutex_unlock(&ldev->lock); + return 0; } @@ -90,11 +119,10 @@ void mlx5_lag_mpesw_init(struct mlx5_lag *ldev) { - INIT_WORK(&ldev->mpesw_work, mlx5_mpesw_work); atomic_set(&ldev->lag_mpesw.mpesw_rule_count, 0); } void mlx5_lag_mpesw_cleanup(struct mlx5_lag *ldev) { - cancel_delayed_work_sync(&ldev->bond_work); + WARN_ON(atomic_read(&ldev->lag_mpesw.mpesw_rule_count)); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.h +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.h @@ -12,7 +12,6 @@ atomic_t mpesw_rule_count; }; -void mlx5_mpesw_work(struct work_struct *work); int mlx5_lag_do_mirred(struct mlx5_core_dev *mdev, struct net_device *out_dev); bool mlx5_lag_mpesw_is_activated(struct mlx5_core_dev *dev); #if IS_ENABLED(CONFIG_MLX5_ESWITCH) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c @@ -599,7 +599,7 @@ static const struct ptp_clock_info mlx5_ptp_clock_info = { .owner = THIS_MODULE, .name = "mlx5_ptp", - .max_adj = 100000000, + .max_adj = 50000000, .n_alarm = 0, .n_ext_ts = 0, .n_per_out = 0, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/lib/mpfs.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/lib/mpfs.c @@ -122,7 +122,7 @@ { struct mlx5_mpfs *mpfs = dev->priv.mpfs; - if (!MLX5_ESWITCH_MANAGER(dev)) + if (!mpfs) return; WARN_ON(!hlist_empty(mpfs->hash)); @@ -137,7 +137,7 @@ int err = 0; u32 index; - if (!MLX5_ESWITCH_MANAGER(dev)) + if (!mpfs) return 0; mutex_lock(&mpfs->lock); @@ -185,7 +185,7 @@ int err = 0; u32 index; - if (!MLX5_ESWITCH_MANAGER(dev)) + if (!mpfs) return 0; mutex_lock(&mpfs->lock); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/lib/tout.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/lib/tout.c @@ -32,20 +32,17 @@ dev->timeouts->to[type] = val; } -void mlx5_tout_set_def_val(struct mlx5_core_dev *dev) +int mlx5_tout_init(struct mlx5_core_dev *dev) { int i; - for (i = 0; i < MAX_TIMEOUT_TYPES; i++) - tout_set(dev, tout_def_sw_val[i], i); -} - -int mlx5_tout_init(struct mlx5_core_dev *dev) -{ dev->timeouts = kmalloc(sizeof(*dev->timeouts), GFP_KERNEL); if (!dev->timeouts) return -ENOMEM; + for (i = 0; i < MAX_TIMEOUT_TYPES; i++) + tout_set(dev, tout_def_sw_val[i], i); + return 0; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/lib/tout.h +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/lib/tout.h @@ -35,7 +35,6 @@ void mlx5_tout_cleanup(struct mlx5_core_dev *dev); void mlx5_tout_query_iseg(struct mlx5_core_dev *dev); int mlx5_tout_query_dtor(struct mlx5_core_dev *dev); -void mlx5_tout_set_def_val(struct mlx5_core_dev *dev); u64 _mlx5_tout_ms(struct mlx5_core_dev *dev, enum mlx5_timeouts_types type); #define mlx5_tout_ms(dev, type) _mlx5_tout_ms(dev, MLX5_TO_##type##_MS) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/main.c @@ -90,6 +90,8 @@ MODULE_PARM_DESC(prof_sel, "profile selector. Valid range 0 - 2"); static u32 sw_owner_id[4]; +#define MAX_SW_VHCA_ID (BIT(__mlx5_bit_sz(cmd_hca_cap_2, sw_vhca_id)) - 1) +static DEFINE_IDA(sw_vhca_ida); enum { MLX5_ATOMIC_REQ_MODE_BE = 0x0, @@ -499,6 +501,49 @@ return err; } +bool mlx5_is_roce_on(struct mlx5_core_dev *dev) +{ + struct devlink *devlink = priv_to_devlink(dev); + union devlink_param_value val; + int err; + + err = devlink_param_driverinit_value_get(devlink, + DEVLINK_PARAM_GENERIC_ID_ENABLE_ROCE, + &val); + + if (!err) + return val.vbool; + + mlx5_core_dbg(dev, "Failed to get param. err = %d\n", err); + return MLX5_CAP_GEN(dev, roce); +} +EXPORT_SYMBOL(mlx5_is_roce_on); + +static int handle_hca_cap_2(struct mlx5_core_dev *dev, void *set_ctx) +{ + void *set_hca_cap; + int err; + + if (!MLX5_CAP_GEN_MAX(dev, hca_cap_2)) + return 0; + + err = mlx5_core_get_caps(dev, MLX5_CAP_GENERAL_2); + if (err) + return err; + + if (!MLX5_CAP_GEN_2_MAX(dev, sw_vhca_id_valid) || + !(dev->priv.sw_vhca_id > 0)) + return 0; + + set_hca_cap = MLX5_ADDR_OF(set_hca_cap_in, set_ctx, + capability); + memcpy(set_hca_cap, dev->caps.hca[MLX5_CAP_GENERAL_2]->cur, + MLX5_ST_SZ_BYTES(cmd_hca_cap_2)); + MLX5_SET(cmd_hca_cap_2, set_hca_cap, sw_vhca_id_valid, 1); + + return set_caps(dev, set_ctx, MLX5_CAP_GENERAL_2); +} + static int handle_hca_cap(struct mlx5_core_dev *dev, void *set_ctx) { struct mlx5_profile *prof = &dev->profile; @@ -524,7 +569,7 @@ /* Check log_max_qp from HCA caps to set in current profile */ if (prof->log_max_qp == LOG_MAX_SUPPORTED_QPS) { - prof->log_max_qp = min_t(u8, 17, MLX5_CAP_GEN_MAX(dev, log_max_qp)); + prof->log_max_qp = min_t(u8, 18, MLX5_CAP_GEN_MAX(dev, log_max_qp)); } else if (MLX5_CAP_GEN_MAX(dev, log_max_qp) < prof->log_max_qp) { mlx5_core_warn(dev, "log_max_qp value in current profile is %d, changing it to HCA capability limit (%d)\n", prof->log_max_qp, @@ -576,8 +621,9 @@ MLX5_SET(cmd_hca_cap, set_hca_cap, num_total_dynamic_vf_msix, MLX5_CAP_GEN_MAX(dev, num_total_dynamic_vf_msix)); - if (MLX5_CAP_GEN(dev, roce_rw_supported)) - MLX5_SET(cmd_hca_cap, set_hca_cap, roce, mlx5_is_roce_init_enabled(dev)); + if (MLX5_CAP_GEN(dev, roce_rw_supported) && MLX5_CAP_GEN_MAX(dev, roce)) + MLX5_SET(cmd_hca_cap, set_hca_cap, roce, + mlx5_is_roce_on(dev)); max_uc_list = max_uc_list_get_devlink_param(dev); if (max_uc_list > 0) @@ -603,7 +649,7 @@ */ static bool is_roce_fw_disabled(struct mlx5_core_dev *dev) { - return (MLX5_CAP_GEN(dev, roce_rw_supported) && !mlx5_is_roce_init_enabled(dev)) || + return (MLX5_CAP_GEN(dev, roce_rw_supported) && !mlx5_is_roce_on(dev)) || (!MLX5_CAP_GEN(dev, roce_rw_supported) && !MLX5_CAP_GEN(dev, roce)); } @@ -669,6 +715,13 @@ goto out; } + memset(set_ctx, 0, set_sz); + err = handle_hca_cap_2(dev, set_ctx); + if (err) { + mlx5_core_err(dev, "handle_hca_cap_2 failed\n"); + goto out; + } + out: kfree(set_ctx); return err; @@ -971,6 +1024,8 @@ err_tables_cleanup: mlx5_geneve_destroy(dev->geneve); mlx5_vxlan_destroy(dev->vxlan); + mlx5_cleanup_clock(dev); + mlx5_cleanup_reserved_gids(dev); mlx5_cq_debugfs_cleanup(dev); mlx5_fw_reset_cleanup(dev); err_events_cleanup: @@ -1023,8 +1078,6 @@ if (mlx5_core_is_pf(dev)) pcie_print_link_status(dev->pdev); - mlx5_tout_set_def_val(dev); - /* wait for firmware to accept initialization segments configurations */ err = wait_fw_init(dev, timeout, @@ -1474,7 +1527,9 @@ memcpy(&dev->profile, &profile[profile_idx], sizeof(dev->profile)); INIT_LIST_HEAD(&priv->ctx_list); spin_lock_init(&priv->ctx_lock); + lockdep_register_key(&dev->lock_key); mutex_init(&dev->intf_state_mutex); + lockdep_set_class(&dev->intf_state_mutex, &dev->lock_key); mutex_init(&priv->bfregs.reg_head.lock); mutex_init(&priv->bfregs.wc_head.lock); @@ -1512,6 +1567,18 @@ if (err) goto err_hca_caps; + /* The conjunction of sw_vhca_id with sw_owner_id will be a global + * unique id per function which uses mlx5_core. + * Those values are supplied to FW as part of the init HCA command to + * be used by both driver and FW when it's applicable. + */ + dev->priv.sw_vhca_id = ida_alloc_range(&sw_vhca_ida, 1, + MAX_SW_VHCA_ID, + GFP_KERNEL); + if (dev->priv.sw_vhca_id < 0) + mlx5_core_err(dev, "failed to allocate sw_vhca_id, err=%d\n", + dev->priv.sw_vhca_id); + return 0; err_hca_caps: @@ -1529,6 +1596,7 @@ mutex_destroy(&priv->bfregs.wc_head.lock); mutex_destroy(&priv->bfregs.reg_head.lock); mutex_destroy(&dev->intf_state_mutex); + lockdep_unregister_key(&dev->lock_key); return err; } @@ -1536,6 +1604,9 @@ { struct mlx5_priv *priv = &dev->priv; + if (priv->sw_vhca_id > 0) + ida_free(&sw_vhca_ida, dev->priv.sw_vhca_id); + mlx5_hca_caps_free(dev); mlx5_adev_cleanup(dev); mlx5_pagealloc_cleanup(dev); @@ -1547,6 +1618,7 @@ mutex_destroy(&priv->bfregs.wc_head.lock); mutex_destroy(&priv->bfregs.reg_head.lock); mutex_destroy(&dev->intf_state_mutex); + lockdep_unregister_key(&dev->lock_key); } static int probe_one(struct pci_dev *pdev, const struct pci_device_id *id) @@ -1665,7 +1737,8 @@ res = state == pci_channel_io_perm_failure ? PCI_ERS_RESULT_DISCONNECT : PCI_ERS_RESULT_NEED_RESET; - mlx5_pci_trace(dev, "Exit, result = %d, %s\n", res, result2str(res)); + mlx5_core_info(dev, "%s Device state = %d pci_status: %d. Exit, result = %d, %s\n", + __func__, dev->state, dev->pci_status, res, result2str(res)); return res; } @@ -1704,7 +1777,8 @@ struct mlx5_core_dev *dev = pci_get_drvdata(pdev); int err; - mlx5_pci_trace(dev, "Enter\n"); + mlx5_core_info(dev, "%s Device state = %d pci_status: %d. Enter\n", + __func__, dev->state, dev->pci_status); err = mlx5_pci_enable_device(dev); if (err) { @@ -1726,7 +1800,8 @@ res = PCI_ERS_RESULT_RECOVERED; out: - mlx5_pci_trace(dev, "Exit, err = %d, result = %d, %s\n", err, res, result2str(res)); + mlx5_core_info(dev, "%s Device state = %d pci_status: %d. Exit, err = %d, result = %d, %s\n", + __func__, dev->state, dev->pci_status, err, res, result2str(res)); return res; } @@ -1739,6 +1814,10 @@ err = mlx5_load_one(dev, false); + if (!err) + devlink_health_reporter_state_update(dev->priv.health.fw_fatal_reporter, + DEVLINK_HEALTH_REPORTER_STATE_HEALTHY); + mlx5_pci_trace(dev, "Done, err = %d, device %s\n", err, !err ? "recovered" : "Failed"); } @@ -1940,7 +2019,7 @@ } } -static int __init init(void) +static int __init mlx5_init(void) { int err; @@ -1952,7 +2031,7 @@ mlx5_core_verify_params(); mlx5_register_debugfs(); - err = pci_register_driver(&mlx5_core_driver); + err = mlx5e_init(); if (err) goto err_debug; @@ -1960,28 +2039,28 @@ if (err) goto err_sf; - err = mlx5e_init(); + err = pci_register_driver(&mlx5_core_driver); if (err) - goto err_en; + goto err_pci; return 0; -err_en: +err_pci: mlx5_sf_driver_unregister(); err_sf: - pci_unregister_driver(&mlx5_core_driver); + mlx5e_cleanup(); err_debug: mlx5_unregister_debugfs(); return err; } -static void __exit cleanup(void) +static void __exit mlx5_cleanup(void) { - mlx5e_cleanup(); - mlx5_sf_driver_unregister(); pci_unregister_driver(&mlx5_core_driver); + mlx5_sf_driver_unregister(); + mlx5e_cleanup(); mlx5_unregister_debugfs(); } -module_init(init); -module_exit(cleanup); +module_init(mlx5_init); +module_exit(mlx5_cleanup); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c @@ -211,7 +211,8 @@ n = find_first_bit(&fp->bitmask, 8 * sizeof(fp->bitmask)); if (n >= MLX5_NUM_4K_IN_PAGE) { - mlx5_core_warn(dev, "alloc 4k bug\n"); + mlx5_core_warn(dev, "alloc 4k bug: fw page = 0x%llx, n = %u, bitmask: %lu, max num of 4K pages: %d\n", + fp->addr, n, fp->bitmask, MLX5_NUM_4K_IN_PAGE); return -ENOENT; } clear_bit(n, &fp->bitmask); @@ -376,8 +377,8 @@ goto out_dropped; } } + err = mlx5_cmd_check(dev, err, in, out); if (err) { - err = mlx5_cmd_check(dev, err, in, out); mlx5_core_warn(dev, "func_id 0x%x, npages %d, err %d\n", func_id, npages, err); goto out_dropped; @@ -524,10 +525,13 @@ dev->priv.reclaim_pages_discard += npages; } /* if triggered by FW event and failed by FW then ignore */ - if (event && err == -EREMOTEIO) + if (event && err == -EREMOTEIO) { err = 0; + goto out_free; + } + + err = mlx5_cmd_check(dev, err, in, out); if (err) { - err = mlx5_cmd_check(dev, err, in, out); mlx5_core_err(dev, "failed reclaiming pages: err %d\n", err); goto out_free; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/sf/dev/dev.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/sf/dev/dev.c @@ -18,6 +18,10 @@ phys_addr_t base_address; u64 sf_bar_length; struct notifier_block nb; + struct mutex table_lock; /* Serializes sf life cycle and vhca state change handler */ + struct workqueue_struct *active_wq; + struct work_struct work; + u8 stop_active_wq:1; struct mlx5_core_dev *dev; }; @@ -168,6 +172,7 @@ return 0; sf_index = event->function_id - base_id; + mutex_lock(&table->table_lock); sf_dev = xa_load(&table->devices, sf_index); switch (event->new_vhca_state) { case MLX5_VHCA_STATE_INVALID: @@ -191,6 +196,7 @@ default: break; } + mutex_unlock(&table->table_lock); return 0; } @@ -215,6 +221,78 @@ return 0; } +static void mlx5_sf_dev_add_active_work(struct work_struct *work) +{ + struct mlx5_sf_dev_table *table = container_of(work, struct mlx5_sf_dev_table, work); + u32 out[MLX5_ST_SZ_DW(query_vhca_state_out)] = {}; + struct mlx5_core_dev *dev = table->dev; + u16 max_functions; + u16 function_id; + u16 sw_func_id; + int err = 0; + u8 state; + int i; + + max_functions = mlx5_sf_max_functions(dev); + function_id = MLX5_CAP_GEN(dev, sf_base_id); + for (i = 0; i < max_functions; i++, function_id++) { + if (table->stop_active_wq) + return; + err = mlx5_cmd_query_vhca_state(dev, function_id, out, sizeof(out)); + if (err) + /* A failure of specific vhca doesn't mean others will + * fail as well. + */ + continue; + state = MLX5_GET(query_vhca_state_out, out, vhca_state_context.vhca_state); + if (state != MLX5_VHCA_STATE_ACTIVE) + continue; + + sw_func_id = MLX5_GET(query_vhca_state_out, out, vhca_state_context.sw_function_id); + mutex_lock(&table->table_lock); + /* Don't probe device which is already probe */ + if (!xa_load(&table->devices, i)) + mlx5_sf_dev_add(dev, i, function_id, sw_func_id); + /* There is a race where SF got inactive after the query + * above. e.g.: the query returns that the state of the + * SF is active, and after that the eswitch manager set it to + * inactive. + * This case cannot be managed in SW, since the probing of the + * SF is on one system, and the inactivation is on a different + * system. + * If the inactive is done after the SF perform init_hca(), + * the SF will fully probe and then removed. If it was + * done before init_hca(), the SF probe will fail. + */ + mutex_unlock(&table->table_lock); + } +} + +/* In case SFs are generated externally, probe active SFs */ +static int mlx5_sf_dev_queue_active_work(struct mlx5_sf_dev_table *table) +{ + if (MLX5_CAP_GEN(table->dev, eswitch_manager)) + return 0; /* the table is local */ + + /* Use a workqueue to probe active SFs, which are in large + * quantity and may take up to minutes to probe. + */ + table->active_wq = create_singlethread_workqueue("mlx5_active_sf"); + if (!table->active_wq) + return -ENOMEM; + INIT_WORK(&table->work, &mlx5_sf_dev_add_active_work); + queue_work(table->active_wq, &table->work); + return 0; +} + +static void mlx5_sf_dev_destroy_active_work(struct mlx5_sf_dev_table *table) +{ + if (table->active_wq) { + table->stop_active_wq = true; + destroy_workqueue(table->active_wq); + } +} + void mlx5_sf_dev_table_create(struct mlx5_core_dev *dev) { struct mlx5_sf_dev_table *table; @@ -240,11 +318,17 @@ table->base_address = pci_resource_start(dev->pdev, 2); table->max_sfs = max_sfs; xa_init(&table->devices); + mutex_init(&table->table_lock); dev->priv.sf_dev_table = table; err = mlx5_vhca_event_notifier_register(dev, &table->nb); if (err) goto vhca_err; + + err = mlx5_sf_dev_queue_active_work(table); + if (err) + goto add_active_err; + err = mlx5_sf_dev_vhca_arm_all(table); if (err) goto arm_err; @@ -252,6 +336,8 @@ return; arm_err: + mlx5_sf_dev_destroy_active_work(table); +add_active_err: mlx5_vhca_event_notifier_unregister(dev, &table->nb); vhca_err: table->max_sfs = 0; @@ -279,7 +365,9 @@ if (!table) return; + mlx5_sf_dev_destroy_active_work(table); mlx5_vhca_event_notifier_unregister(dev, &table->nb); + mutex_destroy(&table->table_lock); /* Now that event handler is not running, it is safe to destroy * the sf device without race. --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_dbg.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_dbg.c @@ -21,10 +21,11 @@ DR_DUMP_REC_TYPE_TABLE_TX = 3102, DR_DUMP_REC_TYPE_MATCHER = 3200, - DR_DUMP_REC_TYPE_MATCHER_MASK = 3201, + DR_DUMP_REC_TYPE_MATCHER_MASK_DEPRECATED = 3201, DR_DUMP_REC_TYPE_MATCHER_RX = 3202, DR_DUMP_REC_TYPE_MATCHER_TX = 3203, DR_DUMP_REC_TYPE_MATCHER_BUILDER = 3204, + DR_DUMP_REC_TYPE_MATCHER_MASK = 3205, DR_DUMP_REC_TYPE_RULE = 3300, DR_DUMP_REC_TYPE_RULE_RX_ENTRY_V0 = 3301, @@ -114,13 +115,15 @@ break; case DR_ACTION_TYP_FT: if (action->dest_tbl->is_fw_tbl) - seq_printf(file, "%d,0x%llx,0x%llx,0x%x\n", + seq_printf(file, "%d,0x%llx,0x%llx,0x%x,0x%x\n", DR_DUMP_REC_TYPE_ACTION_FT, action_id, - rule_id, action->dest_tbl->fw_tbl.id); + rule_id, action->dest_tbl->fw_tbl.id, + -1); else - seq_printf(file, "%d,0x%llx,0x%llx,0x%x\n", + seq_printf(file, "%d,0x%llx,0x%llx,0x%x,0x%llx\n", DR_DUMP_REC_TYPE_ACTION_FT, action_id, - rule_id, action->dest_tbl->tbl->table_id); + rule_id, action->dest_tbl->tbl->table_id, + DR_DBG_PTR_TO_ID(action->dest_tbl->tbl)); break; case DR_ACTION_TYP_CTR: --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c @@ -1200,7 +1200,8 @@ } remove_from_nic_tbl: - mlx5dr_matcher_remove_from_tbl_nic(dmn, nic_matcher); + if (!nic_matcher->rules) + mlx5dr_matcher_remove_from_tbl_nic(dmn, nic_matcher); free_hw_ste: mlx5dr_domain_nic_unlock(nic_dmn); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_table.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/steering/dr_table.c @@ -46,7 +46,7 @@ int mlx5dr_table_set_miss_action(struct mlx5dr_table *tbl, struct mlx5dr_action *action) { - int ret; + int ret = -EOPNOTSUPP; if (action && action->action_type != DR_ACTION_TYP_FT) return -EOPNOTSUPP; @@ -67,6 +67,9 @@ goto out; } + if (ret) + goto out; + /* Release old action */ if (tbl->miss_action) refcount_dec(&tbl->miss_action->refcount); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlx5/core/vport.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlx5/core/vport.c @@ -1086,9 +1086,17 @@ goto free; MLX5_SET(modify_nic_vport_context_in, in, field_select.affiliation, 1); - MLX5_SET(modify_nic_vport_context_in, in, - nic_vport_context.affiliated_vhca_id, - MLX5_CAP_GEN(master_mdev, vhca_id)); + if (MLX5_CAP_GEN_2(master_mdev, sw_vhca_id_valid)) { + MLX5_SET(modify_nic_vport_context_in, in, + nic_vport_context.vhca_id_type, VHCA_ID_TYPE_SW); + MLX5_SET(modify_nic_vport_context_in, in, + nic_vport_context.affiliated_vhca_id, + MLX5_CAP_GEN_2(master_mdev, sw_vhca_id)); + } else { + MLX5_SET(modify_nic_vport_context_in, in, + nic_vport_context.affiliated_vhca_id, + MLX5_CAP_GEN(master_mdev, vhca_id)); + } MLX5_SET(modify_nic_vport_context_in, in, nic_vport_context.affiliation_criteria, MLX5_CAP_GEN(port_mdev, affiliate_nic_vport_criteria)); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige.h +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige.h @@ -75,6 +75,7 @@ struct net_device *netdev; struct platform_device *pdev; void __iomem *mdio_io; + void __iomem *clk_io; struct mii_bus *mdiobus; spinlock_t lock; /* for packet processing indices */ u16 rx_q_entries; @@ -137,7 +138,8 @@ MLXBF_GIGE_RES_MDIO9, MLXBF_GIGE_RES_GPIO0, MLXBF_GIGE_RES_LLU, - MLXBF_GIGE_RES_PLU + MLXBF_GIGE_RES_PLU, + MLXBF_GIGE_RES_CLK }; /* Version of register data returned by mlxbf_gige_get_regs() */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_mdio.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_mdio.c @@ -22,10 +22,23 @@ #include #include "mlxbf_gige.h" +#include "mlxbf_gige_regs.h" #define MLXBF_GIGE_MDIO_GW_OFFSET 0x0 #define MLXBF_GIGE_MDIO_CFG_OFFSET 0x4 +#define MLXBF_GIGE_MDIO_FREQ_REFERENCE 156250000ULL +#define MLXBF_GIGE_MDIO_COREPLL_CONST 16384ULL +#define MLXBF_GIGE_MDC_CLK_NS 400 +#define MLXBF_GIGE_MDIO_PLL_I1CLK_REG1 0x4 +#define MLXBF_GIGE_MDIO_PLL_I1CLK_REG2 0x8 +#define MLXBF_GIGE_MDIO_CORE_F_SHIFT 0 +#define MLXBF_GIGE_MDIO_CORE_F_MASK GENMASK(25, 0) +#define MLXBF_GIGE_MDIO_CORE_R_SHIFT 26 +#define MLXBF_GIGE_MDIO_CORE_R_MASK GENMASK(31, 26) +#define MLXBF_GIGE_MDIO_CORE_OD_SHIFT 0 +#define MLXBF_GIGE_MDIO_CORE_OD_MASK GENMASK(3, 0) + /* Support clause 22 */ #define MLXBF_GIGE_MDIO_CL22_ST1 0x1 #define MLXBF_GIGE_MDIO_CL22_WRITE 0x1 @@ -50,27 +63,76 @@ #define MLXBF_GIGE_MDIO_CFG_MDIO_IN_SAMP_MASK GENMASK(23, 16) #define MLXBF_GIGE_MDIO_CFG_MDIO_OUT_SAMP_MASK GENMASK(31, 24) +#define MLXBF_GIGE_MDIO_CFG_VAL (FIELD_PREP(MLXBF_GIGE_MDIO_CFG_MDIO_MODE_MASK, 1) | \ + FIELD_PREP(MLXBF_GIGE_MDIO_CFG_MDIO3_3_MASK, 1) | \ + FIELD_PREP(MLXBF_GIGE_MDIO_CFG_MDIO_FULL_DRIVE_MASK, 1) | \ + FIELD_PREP(MLXBF_GIGE_MDIO_CFG_MDIO_IN_SAMP_MASK, 6) | \ + FIELD_PREP(MLXBF_GIGE_MDIO_CFG_MDIO_OUT_SAMP_MASK, 13)) + +#define MLXBF_GIGE_BF2_COREPLL_ADDR 0x02800c30 +#define MLXBF_GIGE_BF2_COREPLL_SIZE 0x0000000c + +static struct resource corepll_params[] = { + [MLXBF_GIGE_VERSION_BF2] = { + .start = MLXBF_GIGE_BF2_COREPLL_ADDR, + .end = MLXBF_GIGE_BF2_COREPLL_ADDR + MLXBF_GIGE_BF2_COREPLL_SIZE - 1, + .name = "COREPLL_RES" + }, +}; + +/* Returns core clock i1clk in Hz */ +static u64 calculate_i1clk(struct mlxbf_gige *priv) +{ + u8 core_od, core_r; + u64 freq_output; + u32 reg1, reg2; + u32 core_f; + + reg1 = readl(priv->clk_io + MLXBF_GIGE_MDIO_PLL_I1CLK_REG1); + reg2 = readl(priv->clk_io + MLXBF_GIGE_MDIO_PLL_I1CLK_REG2); + + core_f = (reg1 & MLXBF_GIGE_MDIO_CORE_F_MASK) >> + MLXBF_GIGE_MDIO_CORE_F_SHIFT; + core_r = (reg1 & MLXBF_GIGE_MDIO_CORE_R_MASK) >> + MLXBF_GIGE_MDIO_CORE_R_SHIFT; + core_od = (reg2 & MLXBF_GIGE_MDIO_CORE_OD_MASK) >> + MLXBF_GIGE_MDIO_CORE_OD_SHIFT; + + /* Compute PLL output frequency as follow: + * + * CORE_F / 16384 + * freq_output = freq_reference * ---------------------------- + * (CORE_R + 1) * (CORE_OD + 1) + */ + freq_output = div_u64((MLXBF_GIGE_MDIO_FREQ_REFERENCE * core_f), + MLXBF_GIGE_MDIO_COREPLL_CONST); + freq_output = div_u64(freq_output, (core_r + 1) * (core_od + 1)); + + return freq_output; +} + /* Formula for encoding the MDIO period. The encoded value is * passed to the MDIO config register. * - * mdc_clk = 2*(val + 1)*i1clk + * mdc_clk = 2*(val + 1)*(core clock in sec) * - * 400 ns = 2*(val + 1)*(((1/430)*1000) ns) + * i1clk is in Hz: + * 400 ns = 2*(val + 1)*(1/i1clk) * - * val = (((400 * 430 / 1000) / 2) - 1) + * val = (((400/10^9) / (1/i1clk) / 2) - 1) + * val = (400/2 * i1clk)/10^9 - 1 */ -#define MLXBF_GIGE_I1CLK_MHZ 430 -#define MLXBF_GIGE_MDC_CLK_NS 400 +static u8 mdio_period_map(struct mlxbf_gige *priv) +{ + u8 mdio_period; + u64 i1clk; -#define MLXBF_GIGE_MDIO_PERIOD (((MLXBF_GIGE_MDC_CLK_NS * MLXBF_GIGE_I1CLK_MHZ / 1000) / 2) - 1) + i1clk = calculate_i1clk(priv); -#define MLXBF_GIGE_MDIO_CFG_VAL (FIELD_PREP(MLXBF_GIGE_MDIO_CFG_MDIO_MODE_MASK, 1) | \ - FIELD_PREP(MLXBF_GIGE_MDIO_CFG_MDIO3_3_MASK, 1) | \ - FIELD_PREP(MLXBF_GIGE_MDIO_CFG_MDIO_FULL_DRIVE_MASK, 1) | \ - FIELD_PREP(MLXBF_GIGE_MDIO_CFG_MDC_PERIOD_MASK, \ - MLXBF_GIGE_MDIO_PERIOD) | \ - FIELD_PREP(MLXBF_GIGE_MDIO_CFG_MDIO_IN_SAMP_MASK, 6) | \ - FIELD_PREP(MLXBF_GIGE_MDIO_CFG_MDIO_OUT_SAMP_MASK, 13)) + mdio_period = div_u64((MLXBF_GIGE_MDC_CLK_NS >> 1) * i1clk, 1000000000) - 1; + + return mdio_period; +} static u32 mlxbf_gige_mdio_create_cmd(u16 data, int phy_add, int phy_reg, u32 opcode) @@ -117,6 +179,9 @@ /* Only return ad bits of the gw register */ ret &= MLXBF_GIGE_MDIO_GW_AD_MASK; + /* The MDIO lock is set on read. To release it, clear gw register */ + writel(0, priv->mdio_io + MLXBF_GIGE_MDIO_GW_OFFSET); + return ret; } @@ -124,9 +189,9 @@ int phy_reg, u16 val) { struct mlxbf_gige *priv = bus->priv; + u32 temp; u32 cmd; int ret; - u32 temp; if (phy_reg & MII_ADDR_C45) return -EOPNOTSUPP; @@ -141,21 +206,50 @@ temp, !(temp & MLXBF_GIGE_MDIO_GW_BUSY_MASK), 5, 1000000); + /* The MDIO lock is set on read. To release it, clear gw register */ + writel(0, priv->mdio_io + MLXBF_GIGE_MDIO_GW_OFFSET); + return ret; } +static void mlxbf_gige_mdio_cfg(struct mlxbf_gige *priv) +{ + u8 mdio_period; + u32 val; + + mdio_period = mdio_period_map(priv); + + val = MLXBF_GIGE_MDIO_CFG_VAL; + val |= FIELD_PREP(MLXBF_GIGE_MDIO_CFG_MDC_PERIOD_MASK, mdio_period); + writel(val, priv->mdio_io + MLXBF_GIGE_MDIO_CFG_OFFSET); +} + int mlxbf_gige_mdio_probe(struct platform_device *pdev, struct mlxbf_gige *priv) { struct device *dev = &pdev->dev; + struct resource *res; int ret; priv->mdio_io = devm_platform_ioremap_resource(pdev, MLXBF_GIGE_RES_MDIO9); if (IS_ERR(priv->mdio_io)) return PTR_ERR(priv->mdio_io); - /* Configure mdio parameters */ - writel(MLXBF_GIGE_MDIO_CFG_VAL, - priv->mdio_io + MLXBF_GIGE_MDIO_CFG_OFFSET); + /* clk resource shared with other drivers so cannot use + * devm_platform_ioremap_resource + */ + res = platform_get_resource(pdev, IORESOURCE_MEM, MLXBF_GIGE_RES_CLK); + if (!res) { + /* For backward compatibility with older ACPI tables, also keep + * CLK resource internal to the driver. + */ + res = &corepll_params[MLXBF_GIGE_VERSION_BF2]; + } + + priv->clk_io = devm_ioremap(dev, res->start, resource_size(res)); + if (!priv->clk_io) + return -ENOMEM; + + mlxbf_gige_mdio_cfg(priv); priv->mdiobus = devm_mdiobus_alloc(dev); if (!priv->mdiobus) { --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_regs.h +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlxbf_gige/mlxbf_gige_regs.h @@ -8,6 +8,8 @@ #ifndef __MLXBF_GIGE_REGS_H__ #define __MLXBF_GIGE_REGS_H__ +#define MLXBF_GIGE_VERSION 0x0000 +#define MLXBF_GIGE_VERSION_BF2 0x0 #define MLXBF_GIGE_STATUS 0x0010 #define MLXBF_GIGE_STATUS_READY BIT(0) #define MLXBF_GIGE_INT_STATUS 0x0028 --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlxsw/spectrum.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlxsw/spectrum.c @@ -1822,9 +1822,9 @@ cancel_delayed_work_sync(&mlxsw_sp_port->periodic_hw_stats.update_dw); cancel_delayed_work_sync(&mlxsw_sp_port->ptp.shaper_dw); - mlxsw_sp_port_ptp_clear(mlxsw_sp_port); mlxsw_core_port_clear(mlxsw_sp->core, local_port, mlxsw_sp); unregister_netdev(mlxsw_sp_port->dev); /* This calls ndo_stop */ + mlxsw_sp_port_ptp_clear(mlxsw_sp_port); mlxsw_sp_port_vlan_classification_set(mlxsw_sp_port, true, true); mlxsw_sp->ports[local_port] = NULL; mlxsw_sp_port_vlan_flush(mlxsw_sp_port, true); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c @@ -423,7 +423,8 @@ parms = mlxsw_sp_ipip_netdev_parms4(to_dev); ip_tunnel_init_flow(&fl4, parms.iph.protocol, *daddrp, *saddrp, - 0, 0, dev_net(to_dev), parms.link, tun->fwmark, 0); + 0, 0, dev_net(to_dev), parms.link, tun->fwmark, 0, + 0); rt = ip_route_output_key(tun->net, &fl4); if (IS_ERR(rt)) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c @@ -3198,6 +3198,8 @@ u16 vid; vxlan_fdb_info = &switchdev_work->vxlan_fdb_info; + if (!vxlan_fdb_info->offloaded) + return; bridge_device = mlxsw_sp_bridge_device_find(mlxsw_sp->bridge, br_dev); if (!bridge_device) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/micrel/ks8851_spi.c +++ linux-gcp-5.19.0/drivers/net/ethernet/micrel/ks8851_spi.c @@ -413,7 +413,8 @@ spi->bits_per_word = 8; - ks = netdev_priv(netdev); + kss = netdev_priv(netdev); + ks = &kss->ks8851; ks->lock = ks8851_lock_spi; ks->unlock = ks8851_unlock_spi; @@ -433,8 +434,6 @@ IRQ_RXPSI) /* RX process stop */ ks->rc_ier = STD_IRQ; - kss = to_ks8851_spi(ks); - kss->spidev = spi; mutex_init(&kss->lock); INIT_WORK(&kss->tx_work, ks8851_tx_work); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/micrel/ksz884x.c +++ linux-gcp-5.19.0/drivers/net/ethernet/micrel/ksz884x.c @@ -6851,7 +6851,7 @@ char banner[sizeof(version)]; struct ksz_switch *sw = NULL; - result = pci_enable_device(pdev); + result = pcim_enable_device(pdev); if (result) return result; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microchip/encx24j600-regmap.c +++ linux-gcp-5.19.0/drivers/net/ethernet/microchip/encx24j600-regmap.c @@ -359,7 +359,7 @@ goto err_out; usleep_range(26, 100); - while ((ret = regmap_read(ctx->regmap, MISTAT, &mistat) != 0) && + while (((ret = regmap_read(ctx->regmap, MISTAT, &mistat)) == 0) && (mistat & BUSY)) cpu_relax(); @@ -397,7 +397,7 @@ goto err_out; usleep_range(26, 100); - while ((ret = regmap_read(ctx->regmap, MISTAT, &mistat) != 0) && + while (((ret = regmap_read(ctx->regmap, MISTAT, &mistat)) == 0) && (mistat & BUSY)) cpu_relax(); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microchip/lan743x_ptp.c +++ linux-gcp-5.19.0/drivers/net/ethernet/microchip/lan743x_ptp.c @@ -1049,6 +1049,10 @@ enum ptp_pin_function func, unsigned int chan) { + struct lan743x_ptp *lan_ptp = + container_of(ptp, struct lan743x_ptp, ptp_clock_info); + struct lan743x_adapter *adapter = + container_of(lan_ptp, struct lan743x_adapter, ptp); int result = 0; /* Confirm the requested function is supported. Parameter @@ -1057,7 +1061,10 @@ switch (func) { case PTP_PF_NONE: case PTP_PF_PEROUT: + break; case PTP_PF_EXTTS: + if (!adapter->is_pci11x1x) + result = -1; break; case PTP_PF_PHYSYNC: default: --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microchip/lan966x/lan966x_ethtool.c +++ linux-gcp-5.19.0/drivers/net/ethernet/microchip/lan966x/lan966x_ethtool.c @@ -656,7 +656,15 @@ stats->rx_dropped = dev->stats.rx_dropped + lan966x->stats[idx + SYS_COUNT_RX_LONG] + lan966x->stats[idx + SYS_COUNT_DR_LOCAL] + - lan966x->stats[idx + SYS_COUNT_DR_TAIL]; + lan966x->stats[idx + SYS_COUNT_DR_TAIL] + + lan966x->stats[idx + SYS_COUNT_RX_RED_PRIO_0] + + lan966x->stats[idx + SYS_COUNT_RX_RED_PRIO_1] + + lan966x->stats[idx + SYS_COUNT_RX_RED_PRIO_2] + + lan966x->stats[idx + SYS_COUNT_RX_RED_PRIO_3] + + lan966x->stats[idx + SYS_COUNT_RX_RED_PRIO_4] + + lan966x->stats[idx + SYS_COUNT_RX_RED_PRIO_5] + + lan966x->stats[idx + SYS_COUNT_RX_RED_PRIO_6] + + lan966x->stats[idx + SYS_COUNT_RX_RED_PRIO_7]; for (i = 0; i < LAN966X_NUM_TC; i++) { stats->rx_dropped += @@ -708,6 +716,9 @@ snprintf(queue_name, sizeof(queue_name), "%s-stats", dev_name(lan966x->dev)); lan966x->stats_queue = create_singlethread_workqueue(queue_name); + if (!lan966x->stats_queue) + return -ENOMEM; + INIT_DELAYED_WORK(&lan966x->stats_work, lan966x_check_stats_work); queue_delayed_work(lan966x->stats_queue, &lan966x->stats_work, LAN966X_STATS_CHECK_DELAY); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microchip/lan966x/lan966x_fdma.c +++ linux-gcp-5.19.0/drivers/net/ethernet/microchip/lan966x/lan966x_fdma.c @@ -309,6 +309,7 @@ lan966x, FDMA_CH_DB_DISCARD); tx->activated = false; + tx->last_in_use = -1; } static void lan966x_fdma_tx_reload(struct lan966x_tx *tx) @@ -413,19 +414,26 @@ /* Get the received frame and unmap it */ db = &rx->dcbs[rx->dcb_index].db[rx->db_index]; page = rx->page[rx->dcb_index][rx->db_index]; + + dma_sync_single_for_cpu(lan966x->dev, (dma_addr_t)db->dataptr, + FDMA_DCB_STATUS_BLOCKL(db->status), + DMA_FROM_DEVICE); + skb = build_skb(page_address(page), PAGE_SIZE << rx->page_order); if (unlikely(!skb)) goto unmap_page; - dma_unmap_single(lan966x->dev, (dma_addr_t)db->dataptr, - FDMA_DCB_STATUS_BLOCKL(db->status), - DMA_FROM_DEVICE); skb_put(skb, FDMA_DCB_STATUS_BLOCKL(db->status)); lan966x_ifh_get_src_port(skb->data, &src_port); lan966x_ifh_get_timestamp(skb->data, ×tamp); - WARN_ON(src_port >= lan966x->num_phys_ports); + if (WARN_ON(src_port >= lan966x->num_phys_ports)) + goto free_skb; + + dma_unmap_single_attrs(lan966x->dev, (dma_addr_t)db->dataptr, + PAGE_SIZE << rx->page_order, DMA_FROM_DEVICE, + DMA_ATTR_SKIP_CPU_SYNC); skb->dev = lan966x->ports[src_port]->dev; skb_pull(skb, IFH_LEN * sizeof(u32)); @@ -449,10 +457,12 @@ return skb; +free_skb: + kfree_skb(skb); unmap_page: - dma_unmap_page(lan966x->dev, (dma_addr_t)db->dataptr, - FDMA_DCB_STATUS_BLOCKL(db->status), - DMA_FROM_DEVICE); + dma_unmap_single_attrs(lan966x->dev, (dma_addr_t)db->dataptr, + PAGE_SIZE << rx->page_order, DMA_FROM_DEVICE, + DMA_ATTR_SKIP_CPU_SYNC); __free_pages(page, rx->page_order); return NULL; @@ -664,12 +674,14 @@ int i; for (i = 0; i < lan966x->num_phys_ports; ++i) { + struct lan966x_port *port; int mtu; - if (!lan966x->ports[i]) + port = lan966x->ports[i]; + if (!port) continue; - mtu = lan966x->ports[i]->dev->mtu; + mtu = lan_rd(lan966x, DEV_MAC_MAXLEN_CFG(port->chip_port)); if (mtu > max_mtu) max_mtu = mtu; } @@ -684,17 +696,14 @@ static int lan966x_fdma_reload(struct lan966x *lan966x, int new_mtu) { - void *rx_dcbs, *tx_dcbs, *tx_dcbs_buf; - dma_addr_t rx_dma, tx_dma; + dma_addr_t rx_dma; + void *rx_dcbs; u32 size; int err; /* Store these for later to free them */ rx_dma = lan966x->rx.dma; - tx_dma = lan966x->tx.dma; rx_dcbs = lan966x->rx.dcbs; - tx_dcbs = lan966x->tx.dcbs; - tx_dcbs_buf = lan966x->tx.dcbs_buf; napi_synchronize(&lan966x->napi); napi_disable(&lan966x->napi); @@ -712,17 +721,6 @@ size = ALIGN(size, PAGE_SIZE); dma_free_coherent(lan966x->dev, size, rx_dcbs, rx_dma); - lan966x_fdma_tx_disable(&lan966x->tx); - err = lan966x_fdma_tx_alloc(&lan966x->tx); - if (err) - goto restore_tx; - - size = sizeof(struct lan966x_tx_dcb) * FDMA_DCB_MAX; - size = ALIGN(size, PAGE_SIZE); - dma_free_coherent(lan966x->dev, size, tx_dcbs, tx_dma); - - kfree(tx_dcbs_buf); - lan966x_fdma_wakeup_netdev(lan966x); napi_enable(&lan966x->napi); @@ -732,11 +730,6 @@ lan966x->rx.dcbs = rx_dcbs; lan966x_fdma_rx_start(&lan966x->rx); -restore_tx: - lan966x->tx.dma = tx_dma; - lan966x->tx.dcbs = tx_dcbs; - lan966x->tx.dcbs_buf = tx_dcbs_buf; - return err; } @@ -748,6 +741,8 @@ max_mtu = lan966x_fdma_get_max_mtu(lan966x); max_mtu += IFH_LEN * sizeof(u32); + max_mtu += SKB_DATA_ALIGN(sizeof(struct skb_shared_info)); + max_mtu += VLAN_HLEN * 2; if (round_up(max_mtu, PAGE_SIZE) / PAGE_SIZE - 1 == lan966x->rx.page_order) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microchip/lan966x/lan966x_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/microchip/lan966x/lan966x_main.c @@ -385,7 +385,7 @@ int old_mtu = dev->mtu; int err; - lan_wr(DEV_MAC_MAXLEN_CFG_MAX_LEN_SET(new_mtu), + lan_wr(DEV_MAC_MAXLEN_CFG_MAX_LEN_SET(LAN966X_HW_MTU(new_mtu)), lan966x, DEV_MAC_MAXLEN_CFG(port->chip_port)); dev->mtu = new_mtu; @@ -394,7 +394,7 @@ err = lan966x_fdma_change_mtu(lan966x); if (err) { - lan_wr(DEV_MAC_MAXLEN_CFG_MAX_LEN_SET(old_mtu), + lan_wr(DEV_MAC_MAXLEN_CFG_MAX_LEN_SET(LAN966X_HW_MTU(old_mtu)), lan966x, DEV_MAC_MAXLEN_CFG(port->chip_port)); dev->mtu = old_mtu; } @@ -710,7 +710,7 @@ disable_irq(lan966x->xtr_irq); lan966x->xtr_irq = -ENXIO; - if (lan966x->ana_irq) { + if (lan966x->ana_irq > 0) { disable_irq(lan966x->ana_irq); lan966x->ana_irq = -ENXIO; } @@ -718,10 +718,10 @@ if (lan966x->fdma) devm_free_irq(lan966x->dev, lan966x->fdma_irq, lan966x); - if (lan966x->ptp_irq) + if (lan966x->ptp_irq > 0) devm_free_irq(lan966x->dev, lan966x->ptp_irq, lan966x); - if (lan966x->ptp_ext_irq) + if (lan966x->ptp_ext_irq > 0) devm_free_irq(lan966x->dev, lan966x->ptp_ext_irq, lan966x); } @@ -1011,11 +1011,6 @@ lan966x->base_mac[5] &= 0xf0; } - ports = device_get_named_child_node(&pdev->dev, "ethernet-ports"); - if (!ports) - return dev_err_probe(&pdev->dev, -ENODEV, - "no ethernet-ports child found\n"); - err = lan966x_create_targets(pdev, lan966x); if (err) return dev_err_probe(&pdev->dev, err, @@ -1049,7 +1044,7 @@ } lan966x->ana_irq = platform_get_irq_byname(pdev, "ana"); - if (lan966x->ana_irq) { + if (lan966x->ana_irq > 0) { err = devm_request_threaded_irq(&pdev->dev, lan966x->ana_irq, NULL, lan966x_ana_irq_handler, IRQF_ONESHOT, "ana irq", lan966x); @@ -1093,6 +1088,11 @@ } } + ports = device_get_named_child_node(&pdev->dev, "ethernet-ports"); + if (!ports) + return dev_err_probe(&pdev->dev, -ENODEV, + "no ethernet-ports child found\n"); + /* init switch */ lan966x_init(lan966x); lan966x_stats_init(lan966x); @@ -1127,6 +1127,8 @@ lan966x_port_init(lan966x->ports[p]); } + fwnode_handle_put(ports); + lan966x_mdb_init(lan966x); err = lan966x_fdb_init(lan966x); if (err) @@ -1149,6 +1151,7 @@ lan966x_fdb_deinit(lan966x); cleanup_ports: + fwnode_handle_put(ports); fwnode_handle_put(portnp); lan966x_cleanup_ports(lan966x); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microchip/lan966x/lan966x_main.h +++ linux-gcp-5.19.0/drivers/net/ethernet/microchip/lan966x/lan966x_main.h @@ -24,6 +24,8 @@ #define LAN966X_BUFFER_MEMORY (160 * 1024) #define LAN966X_BUFFER_MIN_SZ 60 +#define LAN966X_HW_MTU(mtu) ((mtu) + ETH_HLEN + ETH_FCS_LEN) + #define PGID_AGGR 64 #define PGID_SRC 80 #define PGID_ENTRIES 89 --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microchip/lan966x/lan966x_port.c +++ linux-gcp-5.19.0/drivers/net/ethernet/microchip/lan966x/lan966x_port.c @@ -369,7 +369,7 @@ } /* Take PCS out of reset */ - lan_rmw(DEV_CLOCK_CFG_LINK_SPEED_SET(2) | + lan_rmw(DEV_CLOCK_CFG_LINK_SPEED_SET(LAN966X_SPEED_1000) | DEV_CLOCK_CFG_PCS_RX_RST_SET(0) | DEV_CLOCK_CFG_PCS_TX_RST_SET(0), DEV_CLOCK_CFG_LINK_SPEED | --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c +++ linux-gcp-5.19.0/drivers/net/ethernet/microchip/lan966x/lan966x_ptp.c @@ -304,9 +304,9 @@ if (WARN_ON(!skb_match)) continue; - spin_lock(&lan966x->ptp_ts_id_lock); + spin_lock_irqsave(&lan966x->ptp_ts_id_lock, flags); lan966x->ptp_skbs--; - spin_unlock(&lan966x->ptp_ts_id_lock); + spin_unlock_irqrestore(&lan966x->ptp_ts_id_lock, flags); /* Get the h/w timestamp */ lan966x_get_hwtimestamp(lan966x, &ts, delay); @@ -854,6 +854,9 @@ struct lan966x_port *port; int i; + if (!lan966x->ptp) + return; + for (i = 0; i < lan966x->num_phys_ports; i++) { port = lan966x->ports[i]; if (!port) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microchip/lan966x/lan966x_regs.h +++ linux-gcp-5.19.0/drivers/net/ethernet/microchip/lan966x/lan966x_regs.h @@ -444,6 +444,21 @@ #define DEV_MAC_MAXLEN_CFG_MAX_LEN_GET(x)\ FIELD_GET(DEV_MAC_MAXLEN_CFG_MAX_LEN, x) +/* DEV:MAC_CFG_STATUS:MAC_TAGS_CFG */ +#define DEV_MAC_TAGS_CFG(t) __REG(TARGET_DEV, t, 8, 28, 0, 1, 44, 12, 0, 1, 4) + +#define DEV_MAC_TAGS_CFG_VLAN_DBL_AWR_ENA BIT(1) +#define DEV_MAC_TAGS_CFG_VLAN_DBL_AWR_ENA_SET(x)\ + FIELD_PREP(DEV_MAC_TAGS_CFG_VLAN_DBL_AWR_ENA, x) +#define DEV_MAC_TAGS_CFG_VLAN_DBL_AWR_ENA_GET(x)\ + FIELD_GET(DEV_MAC_TAGS_CFG_VLAN_DBL_AWR_ENA, x) + +#define DEV_MAC_TAGS_CFG_VLAN_AWR_ENA BIT(0) +#define DEV_MAC_TAGS_CFG_VLAN_AWR_ENA_SET(x)\ + FIELD_PREP(DEV_MAC_TAGS_CFG_VLAN_AWR_ENA, x) +#define DEV_MAC_TAGS_CFG_VLAN_AWR_ENA_GET(x)\ + FIELD_GET(DEV_MAC_TAGS_CFG_VLAN_AWR_ENA, x) + /* DEV:MAC_CFG_STATUS:MAC_IFG_CFG */ #define DEV_MAC_IFG_CFG(t) __REG(TARGET_DEV, t, 8, 28, 0, 1, 44, 20, 0, 1, 4) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microchip/lan966x/lan966x_vlan.c +++ linux-gcp-5.19.0/drivers/net/ethernet/microchip/lan966x/lan966x_vlan.c @@ -169,6 +169,12 @@ ANA_VLAN_CFG_VLAN_POP_CNT, lan966x, ANA_VLAN_CFG(port->chip_port)); + lan_rmw(DEV_MAC_TAGS_CFG_VLAN_AWR_ENA_SET(port->vlan_aware) | + DEV_MAC_TAGS_CFG_VLAN_DBL_AWR_ENA_SET(port->vlan_aware), + DEV_MAC_TAGS_CFG_VLAN_AWR_ENA | + DEV_MAC_TAGS_CFG_VLAN_DBL_AWR_ENA, + lan966x, DEV_MAC_TAGS_CFG(port->chip_port)); + /* Drop frames with multicast source address */ val = ANA_DROP_CFG_DROP_MC_SMAC_ENA_SET(1); if (port->vlan_aware && !pvid) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c +++ linux-gcp-5.19.0/drivers/net/ethernet/microchip/sparx5/sparx5_ethtool.c @@ -1253,6 +1253,9 @@ snprintf(queue_name, sizeof(queue_name), "%s-stats", dev_name(sparx5->dev)); sparx5->stats_queue = create_singlethread_workqueue(queue_name); + if (!sparx5->stats_queue) + return -ENOMEM; + INIT_DELAYED_WORK(&sparx5->stats_work, sparx5_check_stats_work); queue_delayed_work(sparx5->stats_queue, &sparx5->stats_work, SPX5_STATS_CHECK_DELAY); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microchip/sparx5/sparx5_fdma.c +++ linux-gcp-5.19.0/drivers/net/ethernet/microchip/sparx5/sparx5_fdma.c @@ -317,7 +317,7 @@ next_dcb_hw = sparx5_fdma_next_dcb(tx, tx->curr_entry); db_hw = &next_dcb_hw->db[0]; if (!(db_hw->status & FDMA_DCB_STATUS_DONE)) - tx->dropped++; + return -EINVAL; db = list_first_entry(&tx->db_list, struct sparx5_db, list); list_move_tail(&db->list, &tx->db_list); next_dcb_hw->nextptr = FDMA_DCB_INVALID_DATA; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microchip/sparx5/sparx5_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/microchip/sparx5/sparx5_main.c @@ -657,6 +657,9 @@ snprintf(queue_name, sizeof(queue_name), "%s-mact", dev_name(sparx5->dev)); sparx5->mact_queue = create_singlethread_workqueue(queue_name); + if (!sparx5->mact_queue) + return -ENOMEM; + INIT_DELAYED_WORK(&sparx5->mact_work, sparx5_mact_pull_work); queue_delayed_work(sparx5->mact_queue, &sparx5->mact_work, SPX5_MACT_PULL_DELAY); @@ -816,7 +819,7 @@ if (err) goto cleanup_config; - if (!of_get_mac_address(np, sparx5->base_mac)) { + if (of_get_mac_address(np, sparx5->base_mac)) { dev_info(sparx5->dev, "MAC addr was not set, use random MAC\n"); eth_random_addr(sparx5->base_mac); sparx5->base_mac[5] = 0; @@ -873,6 +876,8 @@ cleanup_ports: sparx5_cleanup_ports(sparx5); + if (sparx5->mact_queue) + destroy_workqueue(sparx5->mact_queue); cleanup_config: kfree(configs); cleanup_pnode: @@ -897,6 +902,7 @@ sparx5_cleanup_ports(sparx5); /* Unregister netdevs */ sparx5_unregister_notifier_blocks(sparx5); + destroy_workqueue(sparx5->mact_queue); return 0; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c +++ linux-gcp-5.19.0/drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c @@ -103,7 +103,7 @@ err = phylink_of_phy_connect(port->phylink, port->of_node, 0); if (err) { netdev_err(ndev, "Could not attach to PHY\n"); - return err; + goto err_connect; } phylink_start(port->phylink); @@ -115,10 +115,20 @@ err = sparx5_serdes_set(port->sparx5, port, &port->conf); else err = phy_power_on(port->serdes); - if (err) + if (err) { netdev_err(ndev, "%s failed\n", __func__); + goto out_power; + } } + return 0; + +out_power: + phylink_stop(port->phylink); + phylink_disconnect_phy(port->phylink); +err_connect: + sparx5_port_enable(port, false); + return err; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microchip/sparx5/sparx5_packet.c +++ linux-gcp-5.19.0/drivers/net/ethernet/microchip/sparx5/sparx5_packet.c @@ -113,6 +113,8 @@ /* This assumes STATUS_WORD_POS == 1, Status * just after last data */ + if (!byte_swap) + val = ntohl((__force __be32)val); byte_cnt -= (4 - XTR_VALID_BYTES(val)); eof_flag = true; break; @@ -232,9 +234,8 @@ sparx5_set_port_ifh(ifh, port->portno); if (sparx5->ptp && skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP) { - ret = sparx5_ptp_txtstamp_request(port, skb); - if (ret) - return ret; + if (sparx5_ptp_txtstamp_request(port, skb) < 0) + return NETDEV_TX_BUSY; sparx5_set_port_ifh_rew_op(ifh, SPARX5_SKB_CB(skb)->rew_op); sparx5_set_port_ifh_pdu_type(ifh, SPARX5_SKB_CB(skb)->pdu_type); @@ -248,23 +249,31 @@ else ret = sparx5_inject(sparx5, ifh, skb, dev); - if (ret == NETDEV_TX_OK) { - stats->tx_bytes += skb->len; - stats->tx_packets++; - - if (skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP && - SPARX5_SKB_CB(skb)->rew_op == IFH_REW_OP_TWO_STEP_PTP) - return ret; - - dev_kfree_skb_any(skb); - } else { - stats->tx_dropped++; - - if (skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP && - SPARX5_SKB_CB(skb)->rew_op == IFH_REW_OP_TWO_STEP_PTP) - sparx5_ptp_txtstamp_release(port, skb); - } - return ret; + if (ret == -EBUSY) + goto busy; + if (ret < 0) + goto drop; + + stats->tx_bytes += skb->len; + stats->tx_packets++; + sparx5->tx.packets++; + + if (skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP && + SPARX5_SKB_CB(skb)->rew_op == IFH_REW_OP_TWO_STEP_PTP) + return NETDEV_TX_OK; + + dev_consume_skb_any(skb); + return NETDEV_TX_OK; +drop: + stats->tx_dropped++; + sparx5->tx.dropped++; + dev_kfree_skb_any(skb); + return NETDEV_TX_OK; +busy: + if (skb_shinfo(skb)->tx_flags & SKBTX_HW_TSTAMP && + SPARX5_SKB_CB(skb)->rew_op == IFH_REW_OP_TWO_STEP_PTP) + sparx5_ptp_txtstamp_release(port, skb); + return NETDEV_TX_BUSY; } static enum hrtimer_restart sparx5_injection_timeout(struct hrtimer *tmr) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microchip/sparx5/sparx5_ptp.c +++ linux-gcp-5.19.0/drivers/net/ethernet/microchip/sparx5/sparx5_ptp.c @@ -633,7 +633,7 @@ /* Enable master counters */ spx5_wr(PTP_PTP_DOM_CFG_PTP_ENA_SET(0x7), sparx5, PTP_PTP_DOM_CFG); - for (i = 0; i < sparx5->port_count; i++) { + for (i = 0; i < SPX5_PORTS; i++) { port = sparx5->ports[i]; if (!port) continue; @@ -649,7 +649,7 @@ struct sparx5_port *port; int i; - for (i = 0; i < sparx5->port_count; i++) { + for (i = 0; i < SPX5_PORTS; i++) { port = sparx5->ports[i]; if (!port) continue; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microsoft/mana/gdma.h +++ linux-gcp-5.19.0/drivers/net/ethernet/microsoft/mana/gdma.h @@ -324,9 +324,12 @@ }; }; +#define MANA_IRQ_NAME_SZ 32 + struct gdma_irq_context { void (*handler)(void *arg); void *arg; + char name[MANA_IRQ_NAME_SZ]; }; struct gdma_context { @@ -488,7 +491,14 @@ #define GDMA_DRV_CAP_FLAG_1_EQ_SHARING_MULTI_VPORT BIT(0) -#define GDMA_DRV_CAP_FLAGS1 GDMA_DRV_CAP_FLAG_1_EQ_SHARING_MULTI_VPORT +/* Advertise to the NIC firmware: the NAPI work_done variable race is fixed, + * so the driver is able to reliably support features like busy_poll. + */ +#define GDMA_DRV_CAP_FLAG_1_NAPI_WKDONE_FIX BIT(2) + +#define GDMA_DRV_CAP_FLAGS1 \ + (GDMA_DRV_CAP_FLAG_1_EQ_SHARING_MULTI_VPORT | \ + GDMA_DRV_CAP_FLAG_1_NAPI_WKDONE_FIX) #define GDMA_DRV_CAP_FLAGS2 0 --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microsoft/mana/gdma_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/microsoft/mana/gdma_main.c @@ -370,6 +370,11 @@ break; } + /* Per GDMA spec, rmb is necessary after checking owner_bits, before + * reading eqe. + */ + rmb(); + mana_gd_process_eqe(eq); eq->head++; @@ -1107,6 +1112,11 @@ if (WARN_ON_ONCE(owner_bits != new_bits)) return -1; + /* Per GDMA spec, rmb is necessary after checking owner_bits, before + * reading completion info + */ + rmb(); + comp->wq_num = cqe->cqe_info.wq_num; comp->is_sq = cqe->cqe_info.is_sq; memcpy(comp->cqe_data, cqe->cqe_data, GDMA_COMP_DATA_SIZE); @@ -1196,13 +1206,20 @@ gic->handler = NULL; gic->arg = NULL; + if (!i) + snprintf(gic->name, MANA_IRQ_NAME_SZ, "mana_hwc@pci:%s", + pci_name(pdev)); + else + snprintf(gic->name, MANA_IRQ_NAME_SZ, "mana_q%d@pci:%s", + i - 1, pci_name(pdev)); + irq = pci_irq_vector(pdev, i); if (irq < 0) { err = irq; goto free_irq; } - err = request_irq(irq, mana_gd_intr, 0, "mana_intr", gic); + err = request_irq(irq, mana_gd_intr, 0, gic->name, gic); if (err) goto free_irq; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/microsoft/mana/mana_en.c +++ linux-gcp-5.19.0/drivers/net/ethernet/microsoft/mana/mana_en.c @@ -1179,10 +1179,11 @@ } } -static void mana_cq_handler(void *context, struct gdma_queue *gdma_queue) +static int mana_cq_handler(void *context, struct gdma_queue *gdma_queue) { struct mana_cq *cq = context; u8 arm_bit; + int w; WARN_ON_ONCE(cq->gdma_cq != gdma_queue); @@ -1191,26 +1192,31 @@ else mana_poll_tx_cq(cq); - if (cq->work_done < cq->budget && - napi_complete_done(&cq->napi, cq->work_done)) { + w = cq->work_done; + + if (w < cq->budget && + napi_complete_done(&cq->napi, w)) { arm_bit = SET_ARM_BIT; } else { arm_bit = 0; } mana_gd_ring_cq(gdma_queue, arm_bit); + + return w; } static int mana_poll(struct napi_struct *napi, int budget) { struct mana_cq *cq = container_of(napi, struct mana_cq, napi); + int w; cq->work_done = 0; cq->budget = budget; - mana_cq_handler(cq, cq->gdma_cq); + w = mana_cq_handler(cq, cq->gdma_cq); - return min(cq->work_done, budget); + return min(w, budget); } static void mana_schedule_napi(void *context, struct gdma_queue *gdma_queue) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/moxa/moxart_ether.c +++ linux-gcp-5.19.0/drivers/net/ethernet/moxa/moxart_ether.c @@ -74,11 +74,6 @@ static void moxart_mac_free_memory(struct net_device *ndev) { struct moxart_mac_priv_t *priv = netdev_priv(ndev); - int i; - - for (i = 0; i < RX_DESC_NUM; i++) - dma_unmap_single(&ndev->dev, priv->rx_mapping[i], - priv->rx_buf_size, DMA_FROM_DEVICE); if (priv->tx_desc_base) dma_free_coherent(&priv->pdev->dev, @@ -147,11 +142,11 @@ desc + RX_REG_OFFSET_DESC1); priv->rx_buf[i] = priv->rx_buf_base + priv->rx_buf_size * i; - priv->rx_mapping[i] = dma_map_single(&ndev->dev, + priv->rx_mapping[i] = dma_map_single(&priv->pdev->dev, priv->rx_buf[i], priv->rx_buf_size, DMA_FROM_DEVICE); - if (dma_mapping_error(&ndev->dev, priv->rx_mapping[i])) + if (dma_mapping_error(&priv->pdev->dev, priv->rx_mapping[i])) netdev_err(ndev, "DMA mapping error\n"); moxart_desc_write(priv->rx_mapping[i], @@ -193,6 +188,7 @@ static int moxart_mac_stop(struct net_device *ndev) { struct moxart_mac_priv_t *priv = netdev_priv(ndev); + int i; napi_disable(&priv->napi); @@ -204,6 +200,11 @@ /* disable all functions */ writel(0, priv->base + REG_MAC_CTRL); + /* unmap areas mapped in moxart_mac_setup_desc_ring() */ + for (i = 0; i < RX_DESC_NUM; i++) + dma_unmap_single(&priv->pdev->dev, priv->rx_mapping[i], + priv->rx_buf_size, DMA_FROM_DEVICE); + return 0; } @@ -240,7 +241,7 @@ if (len > RX_BUF_SIZE) len = RX_BUF_SIZE; - dma_sync_single_for_cpu(&ndev->dev, + dma_sync_single_for_cpu(&priv->pdev->dev, priv->rx_mapping[rx_head], priv->rx_buf_size, DMA_FROM_DEVICE); skb = netdev_alloc_skb_ip_align(ndev, len); @@ -294,7 +295,7 @@ unsigned int tx_tail = priv->tx_tail; while (tx_tail != tx_head) { - dma_unmap_single(&ndev->dev, priv->tx_mapping[tx_tail], + dma_unmap_single(&priv->pdev->dev, priv->tx_mapping[tx_tail], priv->tx_len[tx_tail], DMA_TO_DEVICE); ndev->stats.tx_packets++; @@ -358,9 +359,9 @@ len = skb->len > TX_BUF_SIZE ? TX_BUF_SIZE : skb->len; - priv->tx_mapping[tx_head] = dma_map_single(&ndev->dev, skb->data, + priv->tx_mapping[tx_head] = dma_map_single(&priv->pdev->dev, skb->data, len, DMA_TO_DEVICE); - if (dma_mapping_error(&ndev->dev, priv->tx_mapping[tx_head])) { + if (dma_mapping_error(&priv->pdev->dev, priv->tx_mapping[tx_head])) { netdev_err(ndev, "DMA mapping error\n"); goto out_unlock; } @@ -379,7 +380,7 @@ len = ETH_ZLEN; } - dma_sync_single_for_device(&ndev->dev, priv->tx_mapping[tx_head], + dma_sync_single_for_device(&priv->pdev->dev, priv->tx_mapping[tx_head], priv->tx_buf_size, DMA_TO_DEVICE); txdes1 = TX_DESC1_LTS | TX_DESC1_FTS | (len & TX_DESC1_BUF_SIZE_MASK); @@ -493,7 +494,7 @@ priv->tx_buf_size = TX_BUF_SIZE; priv->rx_buf_size = RX_BUF_SIZE; - priv->tx_desc_base = dma_alloc_coherent(&pdev->dev, TX_REG_DESC_SIZE * + priv->tx_desc_base = dma_alloc_coherent(p_dev, TX_REG_DESC_SIZE * TX_DESC_NUM, &priv->tx_base, GFP_DMA | GFP_KERNEL); if (!priv->tx_desc_base) { @@ -501,7 +502,7 @@ goto init_fail; } - priv->rx_desc_base = dma_alloc_coherent(&pdev->dev, RX_REG_DESC_SIZE * + priv->rx_desc_base = dma_alloc_coherent(p_dev, RX_REG_DESC_SIZE * RX_DESC_NUM, &priv->rx_base, GFP_DMA | GFP_KERNEL); if (!priv->rx_desc_base) { --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mscc/ocelot.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mscc/ocelot.c @@ -290,6 +290,13 @@ if (!(vlan->portmask & BIT(port))) continue; + /* Ignore the VLAN added by ocelot_add_vlan_unaware_pvid(), + * because this is never active in hardware at the same time as + * the bridge VLANs, which only matter in VLAN-aware mode. + */ + if (vlan->vid >= OCELOT_RSV_VLAN_RANGE_START) + continue; + if (vlan->untagged & BIT(port)) num_untagged++; } @@ -1860,16 +1867,20 @@ if (sset != ETH_SS_STATS) return; - for (i = 0; i < ocelot->num_stats; i++) + for (i = 0; i < OCELOT_NUM_STATS; i++) { + if (ocelot->stats_layout[i].name[0] == '\0') + continue; + memcpy(data + i * ETH_GSTRING_LEN, ocelot->stats_layout[i].name, ETH_GSTRING_LEN); + } } EXPORT_SYMBOL(ocelot_get_strings); /* Caller must hold &ocelot->stats_lock */ static int ocelot_port_update_stats(struct ocelot *ocelot, int port) { - unsigned int idx = port * ocelot->num_stats; + unsigned int idx = port * OCELOT_NUM_STATS; struct ocelot_stats_region *region; int err, j; @@ -1906,13 +1917,13 @@ stats_work); int i, err; - mutex_lock(&ocelot->stats_lock); + spin_lock(&ocelot->stats_lock); for (i = 0; i < ocelot->num_phys_ports; i++) { err = ocelot_port_update_stats(ocelot, i); if (err) break; } - mutex_unlock(&ocelot->stats_lock); + spin_unlock(&ocelot->stats_lock); if (err) dev_err(ocelot->dev, "Error %d updating ethtool stats\n", err); @@ -1925,16 +1936,22 @@ { int i, err; - mutex_lock(&ocelot->stats_lock); + spin_lock(&ocelot->stats_lock); /* check and update now */ err = ocelot_port_update_stats(ocelot, port); - /* Copy all counters */ - for (i = 0; i < ocelot->num_stats; i++) - *data++ = ocelot->stats[port * ocelot->num_stats + i]; + /* Copy all supported counters */ + for (i = 0; i < OCELOT_NUM_STATS; i++) { + int index = port * OCELOT_NUM_STATS + i; - mutex_unlock(&ocelot->stats_lock); + if (ocelot->stats_layout[i].name[0] == '\0') + continue; + + *data++ = ocelot->stats[index]; + } + + spin_unlock(&ocelot->stats_lock); if (err) dev_err(ocelot->dev, "Error %d updating ethtool stats\n", err); @@ -1943,10 +1960,16 @@ int ocelot_get_sset_count(struct ocelot *ocelot, int port, int sset) { + int i, num_stats = 0; + if (sset != ETH_SS_STATS) return -EOPNOTSUPP; - return ocelot->num_stats; + for (i = 0; i < OCELOT_NUM_STATS; i++) + if (ocelot->stats_layout[i].name[0] != '\0') + num_stats++; + + return num_stats; } EXPORT_SYMBOL(ocelot_get_sset_count); @@ -1958,7 +1981,10 @@ INIT_LIST_HEAD(&ocelot->stats_regions); - for (i = 0; i < ocelot->num_stats; i++) { + for (i = 0; i < OCELOT_NUM_STATS; i++) { + if (ocelot->stats_layout[i].name[0] == '\0') + continue; + if (region && ocelot->stats_layout[i].offset == last + 1) { region->count++; } else { @@ -3340,7 +3366,6 @@ int ocelot_init(struct ocelot *ocelot) { - const struct ocelot_stat_layout *stat; char queue_name[32]; int i, ret; u32 port; @@ -3353,20 +3378,17 @@ } } - ocelot->num_stats = 0; - for_each_stat(ocelot, stat) - ocelot->num_stats++; - ocelot->stats = devm_kcalloc(ocelot->dev, - ocelot->num_phys_ports * ocelot->num_stats, + ocelot->num_phys_ports * OCELOT_NUM_STATS, sizeof(u64), GFP_KERNEL); if (!ocelot->stats) return -ENOMEM; - mutex_init(&ocelot->stats_lock); + spin_lock_init(&ocelot->stats_lock); mutex_init(&ocelot->ptp_lock); mutex_init(&ocelot->mact_lock); mutex_init(&ocelot->fwd_domain_lock); + mutex_init(&ocelot->tas_lock); spin_lock_init(&ocelot->ptp_clock_lock); spin_lock_init(&ocelot->ts_id_lock); snprintf(queue_name, sizeof(queue_name), "%s-stats", @@ -3510,7 +3532,6 @@ cancel_delayed_work(&ocelot->stats_work); destroy_workqueue(ocelot->stats_queue); destroy_workqueue(ocelot->owq); - mutex_destroy(&ocelot->stats_lock); } EXPORT_SYMBOL(ocelot_deinit); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mscc/ocelot_flower.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mscc/ocelot_flower.c @@ -605,6 +605,18 @@ flow_rule_match_control(rule, &match); } + if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_VLAN)) { + struct flow_match_vlan match; + + flow_rule_match_vlan(rule, &match); + filter->key_type = OCELOT_VCAP_KEY_ANY; + filter->vlan.vid.value = match.key->vlan_id; + filter->vlan.vid.mask = match.mask->vlan_id; + filter->vlan.pcp.value[0] = match.key->vlan_priority; + filter->vlan.pcp.mask[0] = match.mask->vlan_priority; + match_protocol = false; + } + if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_ETH_ADDRS)) { struct flow_match_eth_addrs match; @@ -737,18 +749,6 @@ match_protocol = false; } - if (flow_rule_match_key(rule, FLOW_DISSECTOR_KEY_VLAN)) { - struct flow_match_vlan match; - - flow_rule_match_vlan(rule, &match); - filter->key_type = OCELOT_VCAP_KEY_ANY; - filter->vlan.vid.value = match.key->vlan_id; - filter->vlan.vid.mask = match.mask->vlan_id; - filter->vlan.pcp.value[0] = match.key->vlan_priority; - filter->vlan.pcp.mask[0] = match.mask->vlan_priority; - match_protocol = false; - } - finished_key_parsing: if (match_protocol && proto != ETH_P_ALL) { if (filter->block_id == VCAP_ES0) { --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mscc/ocelot_net.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mscc/ocelot_net.c @@ -725,37 +725,42 @@ struct ocelot_port_private *priv = netdev_priv(dev); struct ocelot *ocelot = priv->port.ocelot; int port = priv->port.index; + u64 *s; - /* Configure the port to read the stats from */ - ocelot_write(ocelot, SYS_STAT_CFG_STAT_VIEW(port), - SYS_STAT_CFG); + spin_lock(&ocelot->stats_lock); + + s = &ocelot->stats[port * OCELOT_NUM_STATS]; /* Get Rx stats */ - stats->rx_bytes = ocelot_read(ocelot, SYS_COUNT_RX_OCTETS); - stats->rx_packets = ocelot_read(ocelot, SYS_COUNT_RX_SHORTS) + - ocelot_read(ocelot, SYS_COUNT_RX_FRAGMENTS) + - ocelot_read(ocelot, SYS_COUNT_RX_JABBERS) + - ocelot_read(ocelot, SYS_COUNT_RX_LONGS) + - ocelot_read(ocelot, SYS_COUNT_RX_64) + - ocelot_read(ocelot, SYS_COUNT_RX_65_127) + - ocelot_read(ocelot, SYS_COUNT_RX_128_255) + - ocelot_read(ocelot, SYS_COUNT_RX_256_1023) + - ocelot_read(ocelot, SYS_COUNT_RX_1024_1526) + - ocelot_read(ocelot, SYS_COUNT_RX_1527_MAX); - stats->multicast = ocelot_read(ocelot, SYS_COUNT_RX_MULTICAST); + stats->rx_bytes = s[OCELOT_STAT_RX_OCTETS]; + stats->rx_packets = s[OCELOT_STAT_RX_SHORTS] + + s[OCELOT_STAT_RX_FRAGMENTS] + + s[OCELOT_STAT_RX_JABBERS] + + s[OCELOT_STAT_RX_LONGS] + + s[OCELOT_STAT_RX_64] + + s[OCELOT_STAT_RX_65_127] + + s[OCELOT_STAT_RX_128_255] + + s[OCELOT_STAT_RX_256_511] + + s[OCELOT_STAT_RX_512_1023] + + s[OCELOT_STAT_RX_1024_1526] + + s[OCELOT_STAT_RX_1527_MAX]; + stats->multicast = s[OCELOT_STAT_RX_MULTICAST]; stats->rx_dropped = dev->stats.rx_dropped; /* Get Tx stats */ - stats->tx_bytes = ocelot_read(ocelot, SYS_COUNT_TX_OCTETS); - stats->tx_packets = ocelot_read(ocelot, SYS_COUNT_TX_64) + - ocelot_read(ocelot, SYS_COUNT_TX_65_127) + - ocelot_read(ocelot, SYS_COUNT_TX_128_511) + - ocelot_read(ocelot, SYS_COUNT_TX_512_1023) + - ocelot_read(ocelot, SYS_COUNT_TX_1024_1526) + - ocelot_read(ocelot, SYS_COUNT_TX_1527_MAX); - stats->tx_dropped = ocelot_read(ocelot, SYS_COUNT_TX_DROPS) + - ocelot_read(ocelot, SYS_COUNT_TX_AGING); - stats->collisions = ocelot_read(ocelot, SYS_COUNT_TX_COLLISION); + stats->tx_bytes = s[OCELOT_STAT_TX_OCTETS]; + stats->tx_packets = s[OCELOT_STAT_TX_64] + + s[OCELOT_STAT_TX_65_127] + + s[OCELOT_STAT_TX_128_255] + + s[OCELOT_STAT_TX_256_511] + + s[OCELOT_STAT_TX_512_1023] + + s[OCELOT_STAT_TX_1024_1526] + + s[OCELOT_STAT_TX_1527_MAX]; + stats->tx_dropped = s[OCELOT_STAT_TX_DROPS] + + s[OCELOT_STAT_TX_AGED]; + stats->collisions = s[OCELOT_STAT_TX_COLLISION]; + + spin_unlock(&ocelot->stats_lock); } static int ocelot_port_fdb_add(struct ndmsg *ndm, struct nlattr *tb[], --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mscc/ocelot_ptp.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mscc/ocelot_ptp.c @@ -72,6 +72,10 @@ ocelot_write_rix(ocelot, val, PTP_PIN_CFG, TOD_ACC_PIN); spin_unlock_irqrestore(&ocelot->ptp_clock_lock, flags); + + if (ocelot->ops->tas_clock_adjust) + ocelot->ops->tas_clock_adjust(ocelot); + return 0; } EXPORT_SYMBOL(ocelot_ptp_settime64); @@ -105,6 +109,9 @@ ocelot_write_rix(ocelot, val, PTP_PIN_CFG, TOD_ACC_PIN); spin_unlock_irqrestore(&ocelot->ptp_clock_lock, flags); + + if (ocelot->ops->tas_clock_adjust) + ocelot->ops->tas_clock_adjust(ocelot); } else { /* Fall back using ocelot_ptp_settime64 which is not exact. */ struct timespec64 ts; @@ -117,6 +124,7 @@ ocelot_ptp_settime64(ptp, &ts); } + return 0; } EXPORT_SYMBOL(ocelot_ptp_adjtime); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mscc/ocelot_vsc7514.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mscc/ocelot_vsc7514.c @@ -96,101 +96,379 @@ [SYS_PAUSE_CFG_PAUSE_ENA] = REG_FIELD_ID(SYS_PAUSE_CFG, 0, 1, 12, 4), }; -static const struct ocelot_stat_layout ocelot_stats_layout[] = { - { .name = "rx_octets", .offset = 0x00, }, - { .name = "rx_unicast", .offset = 0x01, }, - { .name = "rx_multicast", .offset = 0x02, }, - { .name = "rx_broadcast", .offset = 0x03, }, - { .name = "rx_shorts", .offset = 0x04, }, - { .name = "rx_fragments", .offset = 0x05, }, - { .name = "rx_jabbers", .offset = 0x06, }, - { .name = "rx_crc_align_errs", .offset = 0x07, }, - { .name = "rx_sym_errs", .offset = 0x08, }, - { .name = "rx_frames_below_65_octets", .offset = 0x09, }, - { .name = "rx_frames_65_to_127_octets", .offset = 0x0A, }, - { .name = "rx_frames_128_to_255_octets", .offset = 0x0B, }, - { .name = "rx_frames_256_to_511_octets", .offset = 0x0C, }, - { .name = "rx_frames_512_to_1023_octets", .offset = 0x0D, }, - { .name = "rx_frames_1024_to_1526_octets", .offset = 0x0E, }, - { .name = "rx_frames_over_1526_octets", .offset = 0x0F, }, - { .name = "rx_pause", .offset = 0x10, }, - { .name = "rx_control", .offset = 0x11, }, - { .name = "rx_longs", .offset = 0x12, }, - { .name = "rx_classified_drops", .offset = 0x13, }, - { .name = "rx_red_prio_0", .offset = 0x14, }, - { .name = "rx_red_prio_1", .offset = 0x15, }, - { .name = "rx_red_prio_2", .offset = 0x16, }, - { .name = "rx_red_prio_3", .offset = 0x17, }, - { .name = "rx_red_prio_4", .offset = 0x18, }, - { .name = "rx_red_prio_5", .offset = 0x19, }, - { .name = "rx_red_prio_6", .offset = 0x1A, }, - { .name = "rx_red_prio_7", .offset = 0x1B, }, - { .name = "rx_yellow_prio_0", .offset = 0x1C, }, - { .name = "rx_yellow_prio_1", .offset = 0x1D, }, - { .name = "rx_yellow_prio_2", .offset = 0x1E, }, - { .name = "rx_yellow_prio_3", .offset = 0x1F, }, - { .name = "rx_yellow_prio_4", .offset = 0x20, }, - { .name = "rx_yellow_prio_5", .offset = 0x21, }, - { .name = "rx_yellow_prio_6", .offset = 0x22, }, - { .name = "rx_yellow_prio_7", .offset = 0x23, }, - { .name = "rx_green_prio_0", .offset = 0x24, }, - { .name = "rx_green_prio_1", .offset = 0x25, }, - { .name = "rx_green_prio_2", .offset = 0x26, }, - { .name = "rx_green_prio_3", .offset = 0x27, }, - { .name = "rx_green_prio_4", .offset = 0x28, }, - { .name = "rx_green_prio_5", .offset = 0x29, }, - { .name = "rx_green_prio_6", .offset = 0x2A, }, - { .name = "rx_green_prio_7", .offset = 0x2B, }, - { .name = "tx_octets", .offset = 0x40, }, - { .name = "tx_unicast", .offset = 0x41, }, - { .name = "tx_multicast", .offset = 0x42, }, - { .name = "tx_broadcast", .offset = 0x43, }, - { .name = "tx_collision", .offset = 0x44, }, - { .name = "tx_drops", .offset = 0x45, }, - { .name = "tx_pause", .offset = 0x46, }, - { .name = "tx_frames_below_65_octets", .offset = 0x47, }, - { .name = "tx_frames_65_to_127_octets", .offset = 0x48, }, - { .name = "tx_frames_128_255_octets", .offset = 0x49, }, - { .name = "tx_frames_256_511_octets", .offset = 0x4A, }, - { .name = "tx_frames_512_1023_octets", .offset = 0x4B, }, - { .name = "tx_frames_1024_1526_octets", .offset = 0x4C, }, - { .name = "tx_frames_over_1526_octets", .offset = 0x4D, }, - { .name = "tx_yellow_prio_0", .offset = 0x4E, }, - { .name = "tx_yellow_prio_1", .offset = 0x4F, }, - { .name = "tx_yellow_prio_2", .offset = 0x50, }, - { .name = "tx_yellow_prio_3", .offset = 0x51, }, - { .name = "tx_yellow_prio_4", .offset = 0x52, }, - { .name = "tx_yellow_prio_5", .offset = 0x53, }, - { .name = "tx_yellow_prio_6", .offset = 0x54, }, - { .name = "tx_yellow_prio_7", .offset = 0x55, }, - { .name = "tx_green_prio_0", .offset = 0x56, }, - { .name = "tx_green_prio_1", .offset = 0x57, }, - { .name = "tx_green_prio_2", .offset = 0x58, }, - { .name = "tx_green_prio_3", .offset = 0x59, }, - { .name = "tx_green_prio_4", .offset = 0x5A, }, - { .name = "tx_green_prio_5", .offset = 0x5B, }, - { .name = "tx_green_prio_6", .offset = 0x5C, }, - { .name = "tx_green_prio_7", .offset = 0x5D, }, - { .name = "tx_aged", .offset = 0x5E, }, - { .name = "drop_local", .offset = 0x80, }, - { .name = "drop_tail", .offset = 0x81, }, - { .name = "drop_yellow_prio_0", .offset = 0x82, }, - { .name = "drop_yellow_prio_1", .offset = 0x83, }, - { .name = "drop_yellow_prio_2", .offset = 0x84, }, - { .name = "drop_yellow_prio_3", .offset = 0x85, }, - { .name = "drop_yellow_prio_4", .offset = 0x86, }, - { .name = "drop_yellow_prio_5", .offset = 0x87, }, - { .name = "drop_yellow_prio_6", .offset = 0x88, }, - { .name = "drop_yellow_prio_7", .offset = 0x89, }, - { .name = "drop_green_prio_0", .offset = 0x8A, }, - { .name = "drop_green_prio_1", .offset = 0x8B, }, - { .name = "drop_green_prio_2", .offset = 0x8C, }, - { .name = "drop_green_prio_3", .offset = 0x8D, }, - { .name = "drop_green_prio_4", .offset = 0x8E, }, - { .name = "drop_green_prio_5", .offset = 0x8F, }, - { .name = "drop_green_prio_6", .offset = 0x90, }, - { .name = "drop_green_prio_7", .offset = 0x91, }, - OCELOT_STAT_END +static const struct ocelot_stat_layout ocelot_stats_layout[OCELOT_NUM_STATS] = { + [OCELOT_STAT_RX_OCTETS] = { + .name = "rx_octets", + .offset = 0x00, + }, + [OCELOT_STAT_RX_UNICAST] = { + .name = "rx_unicast", + .offset = 0x01, + }, + [OCELOT_STAT_RX_MULTICAST] = { + .name = "rx_multicast", + .offset = 0x02, + }, + [OCELOT_STAT_RX_BROADCAST] = { + .name = "rx_broadcast", + .offset = 0x03, + }, + [OCELOT_STAT_RX_SHORTS] = { + .name = "rx_shorts", + .offset = 0x04, + }, + [OCELOT_STAT_RX_FRAGMENTS] = { + .name = "rx_fragments", + .offset = 0x05, + }, + [OCELOT_STAT_RX_JABBERS] = { + .name = "rx_jabbers", + .offset = 0x06, + }, + [OCELOT_STAT_RX_CRC_ALIGN_ERRS] = { + .name = "rx_crc_align_errs", + .offset = 0x07, + }, + [OCELOT_STAT_RX_SYM_ERRS] = { + .name = "rx_sym_errs", + .offset = 0x08, + }, + [OCELOT_STAT_RX_64] = { + .name = "rx_frames_below_65_octets", + .offset = 0x09, + }, + [OCELOT_STAT_RX_65_127] = { + .name = "rx_frames_65_to_127_octets", + .offset = 0x0A, + }, + [OCELOT_STAT_RX_128_255] = { + .name = "rx_frames_128_to_255_octets", + .offset = 0x0B, + }, + [OCELOT_STAT_RX_256_511] = { + .name = "rx_frames_256_to_511_octets", + .offset = 0x0C, + }, + [OCELOT_STAT_RX_512_1023] = { + .name = "rx_frames_512_to_1023_octets", + .offset = 0x0D, + }, + [OCELOT_STAT_RX_1024_1526] = { + .name = "rx_frames_1024_to_1526_octets", + .offset = 0x0E, + }, + [OCELOT_STAT_RX_1527_MAX] = { + .name = "rx_frames_over_1526_octets", + .offset = 0x0F, + }, + [OCELOT_STAT_RX_PAUSE] = { + .name = "rx_pause", + .offset = 0x10, + }, + [OCELOT_STAT_RX_CONTROL] = { + .name = "rx_control", + .offset = 0x11, + }, + [OCELOT_STAT_RX_LONGS] = { + .name = "rx_longs", + .offset = 0x12, + }, + [OCELOT_STAT_RX_CLASSIFIED_DROPS] = { + .name = "rx_classified_drops", + .offset = 0x13, + }, + [OCELOT_STAT_RX_RED_PRIO_0] = { + .name = "rx_red_prio_0", + .offset = 0x14, + }, + [OCELOT_STAT_RX_RED_PRIO_1] = { + .name = "rx_red_prio_1", + .offset = 0x15, + }, + [OCELOT_STAT_RX_RED_PRIO_2] = { + .name = "rx_red_prio_2", + .offset = 0x16, + }, + [OCELOT_STAT_RX_RED_PRIO_3] = { + .name = "rx_red_prio_3", + .offset = 0x17, + }, + [OCELOT_STAT_RX_RED_PRIO_4] = { + .name = "rx_red_prio_4", + .offset = 0x18, + }, + [OCELOT_STAT_RX_RED_PRIO_5] = { + .name = "rx_red_prio_5", + .offset = 0x19, + }, + [OCELOT_STAT_RX_RED_PRIO_6] = { + .name = "rx_red_prio_6", + .offset = 0x1A, + }, + [OCELOT_STAT_RX_RED_PRIO_7] = { + .name = "rx_red_prio_7", + .offset = 0x1B, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_0] = { + .name = "rx_yellow_prio_0", + .offset = 0x1C, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_1] = { + .name = "rx_yellow_prio_1", + .offset = 0x1D, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_2] = { + .name = "rx_yellow_prio_2", + .offset = 0x1E, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_3] = { + .name = "rx_yellow_prio_3", + .offset = 0x1F, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_4] = { + .name = "rx_yellow_prio_4", + .offset = 0x20, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_5] = { + .name = "rx_yellow_prio_5", + .offset = 0x21, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_6] = { + .name = "rx_yellow_prio_6", + .offset = 0x22, + }, + [OCELOT_STAT_RX_YELLOW_PRIO_7] = { + .name = "rx_yellow_prio_7", + .offset = 0x23, + }, + [OCELOT_STAT_RX_GREEN_PRIO_0] = { + .name = "rx_green_prio_0", + .offset = 0x24, + }, + [OCELOT_STAT_RX_GREEN_PRIO_1] = { + .name = "rx_green_prio_1", + .offset = 0x25, + }, + [OCELOT_STAT_RX_GREEN_PRIO_2] = { + .name = "rx_green_prio_2", + .offset = 0x26, + }, + [OCELOT_STAT_RX_GREEN_PRIO_3] = { + .name = "rx_green_prio_3", + .offset = 0x27, + }, + [OCELOT_STAT_RX_GREEN_PRIO_4] = { + .name = "rx_green_prio_4", + .offset = 0x28, + }, + [OCELOT_STAT_RX_GREEN_PRIO_5] = { + .name = "rx_green_prio_5", + .offset = 0x29, + }, + [OCELOT_STAT_RX_GREEN_PRIO_6] = { + .name = "rx_green_prio_6", + .offset = 0x2A, + }, + [OCELOT_STAT_RX_GREEN_PRIO_7] = { + .name = "rx_green_prio_7", + .offset = 0x2B, + }, + [OCELOT_STAT_TX_OCTETS] = { + .name = "tx_octets", + .offset = 0x40, + }, + [OCELOT_STAT_TX_UNICAST] = { + .name = "tx_unicast", + .offset = 0x41, + }, + [OCELOT_STAT_TX_MULTICAST] = { + .name = "tx_multicast", + .offset = 0x42, + }, + [OCELOT_STAT_TX_BROADCAST] = { + .name = "tx_broadcast", + .offset = 0x43, + }, + [OCELOT_STAT_TX_COLLISION] = { + .name = "tx_collision", + .offset = 0x44, + }, + [OCELOT_STAT_TX_DROPS] = { + .name = "tx_drops", + .offset = 0x45, + }, + [OCELOT_STAT_TX_PAUSE] = { + .name = "tx_pause", + .offset = 0x46, + }, + [OCELOT_STAT_TX_64] = { + .name = "tx_frames_below_65_octets", + .offset = 0x47, + }, + [OCELOT_STAT_TX_65_127] = { + .name = "tx_frames_65_to_127_octets", + .offset = 0x48, + }, + [OCELOT_STAT_TX_128_255] = { + .name = "tx_frames_128_255_octets", + .offset = 0x49, + }, + [OCELOT_STAT_TX_256_511] = { + .name = "tx_frames_256_511_octets", + .offset = 0x4A, + }, + [OCELOT_STAT_TX_512_1023] = { + .name = "tx_frames_512_1023_octets", + .offset = 0x4B, + }, + [OCELOT_STAT_TX_1024_1526] = { + .name = "tx_frames_1024_1526_octets", + .offset = 0x4C, + }, + [OCELOT_STAT_TX_1527_MAX] = { + .name = "tx_frames_over_1526_octets", + .offset = 0x4D, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_0] = { + .name = "tx_yellow_prio_0", + .offset = 0x4E, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_1] = { + .name = "tx_yellow_prio_1", + .offset = 0x4F, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_2] = { + .name = "tx_yellow_prio_2", + .offset = 0x50, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_3] = { + .name = "tx_yellow_prio_3", + .offset = 0x51, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_4] = { + .name = "tx_yellow_prio_4", + .offset = 0x52, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_5] = { + .name = "tx_yellow_prio_5", + .offset = 0x53, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_6] = { + .name = "tx_yellow_prio_6", + .offset = 0x54, + }, + [OCELOT_STAT_TX_YELLOW_PRIO_7] = { + .name = "tx_yellow_prio_7", + .offset = 0x55, + }, + [OCELOT_STAT_TX_GREEN_PRIO_0] = { + .name = "tx_green_prio_0", + .offset = 0x56, + }, + [OCELOT_STAT_TX_GREEN_PRIO_1] = { + .name = "tx_green_prio_1", + .offset = 0x57, + }, + [OCELOT_STAT_TX_GREEN_PRIO_2] = { + .name = "tx_green_prio_2", + .offset = 0x58, + }, + [OCELOT_STAT_TX_GREEN_PRIO_3] = { + .name = "tx_green_prio_3", + .offset = 0x59, + }, + [OCELOT_STAT_TX_GREEN_PRIO_4] = { + .name = "tx_green_prio_4", + .offset = 0x5A, + }, + [OCELOT_STAT_TX_GREEN_PRIO_5] = { + .name = "tx_green_prio_5", + .offset = 0x5B, + }, + [OCELOT_STAT_TX_GREEN_PRIO_6] = { + .name = "tx_green_prio_6", + .offset = 0x5C, + }, + [OCELOT_STAT_TX_GREEN_PRIO_7] = { + .name = "tx_green_prio_7", + .offset = 0x5D, + }, + [OCELOT_STAT_TX_AGED] = { + .name = "tx_aged", + .offset = 0x5E, + }, + [OCELOT_STAT_DROP_LOCAL] = { + .name = "drop_local", + .offset = 0x80, + }, + [OCELOT_STAT_DROP_TAIL] = { + .name = "drop_tail", + .offset = 0x81, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_0] = { + .name = "drop_yellow_prio_0", + .offset = 0x82, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_1] = { + .name = "drop_yellow_prio_1", + .offset = 0x83, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_2] = { + .name = "drop_yellow_prio_2", + .offset = 0x84, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_3] = { + .name = "drop_yellow_prio_3", + .offset = 0x85, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_4] = { + .name = "drop_yellow_prio_4", + .offset = 0x86, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_5] = { + .name = "drop_yellow_prio_5", + .offset = 0x87, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_6] = { + .name = "drop_yellow_prio_6", + .offset = 0x88, + }, + [OCELOT_STAT_DROP_YELLOW_PRIO_7] = { + .name = "drop_yellow_prio_7", + .offset = 0x89, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_0] = { + .name = "drop_green_prio_0", + .offset = 0x8A, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_1] = { + .name = "drop_green_prio_1", + .offset = 0x8B, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_2] = { + .name = "drop_green_prio_2", + .offset = 0x8C, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_3] = { + .name = "drop_green_prio_3", + .offset = 0x8D, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_4] = { + .name = "drop_green_prio_4", + .offset = 0x8E, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_5] = { + .name = "drop_green_prio_5", + .offset = 0x8F, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_6] = { + .name = "drop_green_prio_6", + .offset = 0x90, + }, + [OCELOT_STAT_DROP_GREEN_PRIO_7] = { + .name = "drop_green_prio_7", + .offset = 0x91, + }, }; static void ocelot_pll5_init(struct ocelot *ocelot) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/mscc/vsc7514_regs.c +++ linux-gcp-5.19.0/drivers/net/ethernet/mscc/vsc7514_regs.c @@ -180,13 +180,14 @@ REG(SYS_COUNT_RX_64, 0x000024), REG(SYS_COUNT_RX_65_127, 0x000028), REG(SYS_COUNT_RX_128_255, 0x00002c), - REG(SYS_COUNT_RX_256_1023, 0x000030), - REG(SYS_COUNT_RX_1024_1526, 0x000034), - REG(SYS_COUNT_RX_1527_MAX, 0x000038), - REG(SYS_COUNT_RX_PAUSE, 0x00003c), - REG(SYS_COUNT_RX_CONTROL, 0x000040), - REG(SYS_COUNT_RX_LONGS, 0x000044), - REG(SYS_COUNT_RX_CLASSIFIED_DROPS, 0x000048), + REG(SYS_COUNT_RX_256_511, 0x000030), + REG(SYS_COUNT_RX_512_1023, 0x000034), + REG(SYS_COUNT_RX_1024_1526, 0x000038), + REG(SYS_COUNT_RX_1527_MAX, 0x00003c), + REG(SYS_COUNT_RX_PAUSE, 0x000040), + REG(SYS_COUNT_RX_CONTROL, 0x000044), + REG(SYS_COUNT_RX_LONGS, 0x000048), + REG(SYS_COUNT_RX_CLASSIFIED_DROPS, 0x00004c), REG(SYS_COUNT_TX_OCTETS, 0x000100), REG(SYS_COUNT_TX_UNICAST, 0x000104), REG(SYS_COUNT_TX_MULTICAST, 0x000108), @@ -196,11 +197,12 @@ REG(SYS_COUNT_TX_PAUSE, 0x000118), REG(SYS_COUNT_TX_64, 0x00011c), REG(SYS_COUNT_TX_65_127, 0x000120), - REG(SYS_COUNT_TX_128_511, 0x000124), - REG(SYS_COUNT_TX_512_1023, 0x000128), - REG(SYS_COUNT_TX_1024_1526, 0x00012c), - REG(SYS_COUNT_TX_1527_MAX, 0x000130), - REG(SYS_COUNT_TX_AGING, 0x000170), + REG(SYS_COUNT_TX_128_255, 0x000124), + REG(SYS_COUNT_TX_256_511, 0x000128), + REG(SYS_COUNT_TX_512_1023, 0x00012c), + REG(SYS_COUNT_TX_1024_1526, 0x000130), + REG(SYS_COUNT_TX_1527_MAX, 0x000134), + REG(SYS_COUNT_TX_AGING, 0x000178), REG(SYS_RESET_CFG, 0x000508), REG(SYS_CMID, 0x00050c), REG(SYS_VLAN_ETYPE_CFG, 0x000510), --- linux-gcp-5.19.0.orig/drivers/net/ethernet/myricom/myri10ge/myri10ge.c +++ linux-gcp-5.19.0/drivers/net/ethernet/myricom/myri10ge/myri10ge.c @@ -3913,6 +3913,7 @@ myri10ge_free_slices(mgp); abort_with_firmware: + kfree(mgp->msix_vectors); myri10ge_dummy_rdma(mgp, 0); abort_with_ioremap: --- linux-gcp-5.19.0.orig/drivers/net/ethernet/neterion/s2io.c +++ linux-gcp-5.19.0/drivers/net/ethernet/neterion/s2io.c @@ -2386,7 +2386,7 @@ skb = s2io_txdl_getskb(&mac_control->fifos[i], txdp, j); if (skb) { swstats->mem_freed += skb->truesize; - dev_kfree_skb(skb); + dev_kfree_skb_irq(skb); cnt++; } } @@ -7128,9 +7128,8 @@ if (ret) { DBG_PRINT(ERR_DBG, "%s: Out of memory in Open\n", dev->name); - s2io_reset(sp); - free_rx_buffers(sp); - return -ENOMEM; + ret = -ENOMEM; + goto err_fill_buff; } DBG_PRINT(INFO_DBG, "Buf in ring:%d is %d:\n", i, ring->rx_bufs_left); @@ -7168,18 +7167,16 @@ /* Enable Rx Traffic and interrupts on the NIC */ if (start_nic(sp)) { DBG_PRINT(ERR_DBG, "%s: Starting NIC failed\n", dev->name); - s2io_reset(sp); - free_rx_buffers(sp); - return -ENODEV; + ret = -ENODEV; + goto err_out; } /* Add interrupt service routine */ if (s2io_add_isr(sp) != 0) { if (sp->config.intr_type == MSI_X) s2io_rem_isr(sp); - s2io_reset(sp); - free_rx_buffers(sp); - return -ENODEV; + ret = -ENODEV; + goto err_out; } timer_setup(&sp->alarm_timer, s2io_alarm_handle, 0); @@ -7199,6 +7196,20 @@ } return 0; + +err_out: + if (config->napi) { + if (config->intr_type == MSI_X) { + for (i = 0; i < sp->config.rx_ring_num; i++) + napi_disable(&sp->mac_control.rings[i].napi); + } else { + napi_disable(&sp->napi); + } + } +err_fill_buff: + s2io_reset(sp); + free_rx_buffers(sp); + return ret; } /** --- linux-gcp-5.19.0.orig/drivers/net/ethernet/neterion/vxge/vxge-main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/neterion/vxge/vxge-main.c @@ -4174,6 +4174,9 @@ return ret; } +#define VXGE_PXE_FIRMWARE "vxge/X3fw-pxe.ncf" +#define VXGE_FIRMWARE "vxge/X3fw.ncf" + static int vxge_probe_fw_update(struct vxgedev *vdev) { u32 maj, min, bld; @@ -4216,9 +4219,9 @@ } } if (gpxe) - fw_name = "vxge/X3fw-pxe.ncf"; + fw_name = VXGE_PXE_FIRMWARE; else - fw_name = "vxge/X3fw.ncf"; + fw_name = VXGE_FIRMWARE; ret = vxge_fw_upgrade(vdev, fw_name, 0); /* -EINVAL and -ENOENT are not fatal errors for flashing firmware on @@ -4806,3 +4809,5 @@ } module_init(vxge_starter); module_exit(vxge_closer); +MODULE_FIRMWARE(VXGE_PXE_FIRMWARE); +MODULE_FIRMWARE(VXGE_FIRMWARE); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/netronome/nfp/flower/qos_conf.c +++ linux-gcp-5.19.0/drivers/net/ethernet/netronome/nfp/flower/qos_conf.c @@ -127,10 +127,11 @@ return -EOPNOTSUPP; } - if (act->police.notexceed.act_id != FLOW_ACTION_PIPE && + if (act->police.notexceed.act_id != FLOW_ACTION_CONTINUE && + act->police.notexceed.act_id != FLOW_ACTION_PIPE && act->police.notexceed.act_id != FLOW_ACTION_ACCEPT) { NL_SET_ERR_MSG_MOD(extack, - "Offload not supported when conform action is not pipe or ok"); + "Offload not supported when conform action is not continue, pipe or ok"); return -EOPNOTSUPP; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/netronome/nfp/nfdk/dp.c +++ linux-gcp-5.19.0/drivers/net/ethernet/netronome/nfp/nfdk/dp.c @@ -297,7 +297,7 @@ dma_len = skb_headlen(skb); if (skb_is_gso(skb)) type = NFDK_DESC_TX_TYPE_TSO; - else if (!nr_frags && dma_len < NFDK_TX_MAX_DATA_PER_HEAD) + else if (!nr_frags && dma_len <= NFDK_TX_MAX_DATA_PER_HEAD) type = NFDK_DESC_TX_TYPE_SIMPLE; else type = NFDK_DESC_TX_TYPE_GATHER; @@ -931,7 +931,7 @@ dma_len = pkt_len; dma_addr = rxbuf->dma_addr + dma_off; - if (dma_len < NFDK_TX_MAX_DATA_PER_HEAD) + if (dma_len <= NFDK_TX_MAX_DATA_PER_HEAD) type = NFDK_DESC_TX_TYPE_SIMPLE; else type = NFDK_DESC_TX_TYPE_GATHER; @@ -1327,7 +1327,7 @@ txbuf = &tx_ring->ktxbufs[wr_idx]; dma_len = skb_headlen(skb); - if (dma_len < NFDK_TX_MAX_DATA_PER_HEAD) + if (dma_len <= NFDK_TX_MAX_DATA_PER_HEAD) type = NFDK_DESC_TX_TYPE_SIMPLE; else type = NFDK_DESC_TX_TYPE_GATHER; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/netronome/nfp/nfp_devlink.c +++ linux-gcp-5.19.0/drivers/net/ethernet/netronome/nfp/nfp_devlink.c @@ -341,7 +341,7 @@ return ret; attrs.split = eth_port.is_split; - attrs.splittable = !attrs.split; + attrs.splittable = eth_port.port_lanes > 1 && !attrs.split; attrs.lanes = eth_port.port_lanes; attrs.flavour = DEVLINK_PORT_FLAVOUR_PHYSICAL; attrs.phys.port_number = eth_port.label_port; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/netronome/nfp/nfp_net_common.c +++ linux-gcp-5.19.0/drivers/net/ethernet/netronome/nfp/nfp_net_common.c @@ -1629,21 +1629,21 @@ unsigned int start; do { - start = u64_stats_fetch_begin(&r_vec->rx_sync); + start = u64_stats_fetch_begin_irq(&r_vec->rx_sync); data[0] = r_vec->rx_pkts; data[1] = r_vec->rx_bytes; data[2] = r_vec->rx_drops; - } while (u64_stats_fetch_retry(&r_vec->rx_sync, start)); + } while (u64_stats_fetch_retry_irq(&r_vec->rx_sync, start)); stats->rx_packets += data[0]; stats->rx_bytes += data[1]; stats->rx_dropped += data[2]; do { - start = u64_stats_fetch_begin(&r_vec->tx_sync); + start = u64_stats_fetch_begin_irq(&r_vec->tx_sync); data[0] = r_vec->tx_pkts; data[1] = r_vec->tx_bytes; data[2] = r_vec->tx_errors; - } while (u64_stats_fetch_retry(&r_vec->tx_sync, start)); + } while (u64_stats_fetch_retry_irq(&r_vec->tx_sync, start)); stats->tx_packets += data[0]; stats->tx_bytes += data[1]; stats->tx_errors += data[2]; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c +++ linux-gcp-5.19.0/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c @@ -494,7 +494,7 @@ unsigned int start; do { - start = u64_stats_fetch_begin(&nn->r_vecs[i].rx_sync); + start = u64_stats_fetch_begin_irq(&nn->r_vecs[i].rx_sync); data[0] = nn->r_vecs[i].rx_pkts; tmp[0] = nn->r_vecs[i].hw_csum_rx_ok; tmp[1] = nn->r_vecs[i].hw_csum_rx_inner_ok; @@ -502,10 +502,10 @@ tmp[3] = nn->r_vecs[i].hw_csum_rx_error; tmp[4] = nn->r_vecs[i].rx_replace_buf_alloc_fail; tmp[5] = nn->r_vecs[i].hw_tls_rx; - } while (u64_stats_fetch_retry(&nn->r_vecs[i].rx_sync, start)); + } while (u64_stats_fetch_retry_irq(&nn->r_vecs[i].rx_sync, start)); do { - start = u64_stats_fetch_begin(&nn->r_vecs[i].tx_sync); + start = u64_stats_fetch_begin_irq(&nn->r_vecs[i].tx_sync); data[1] = nn->r_vecs[i].tx_pkts; data[2] = nn->r_vecs[i].tx_busy; tmp[6] = nn->r_vecs[i].hw_csum_tx; @@ -515,7 +515,7 @@ tmp[10] = nn->r_vecs[i].hw_tls_tx; tmp[11] = nn->r_vecs[i].tls_tx_fallback; tmp[12] = nn->r_vecs[i].tls_tx_no_fallback; - } while (u64_stats_fetch_retry(&nn->r_vecs[i].tx_sync, start)); + } while (u64_stats_fetch_retry_irq(&nn->r_vecs[i].tx_sync, start)); data += NN_RVEC_PER_Q_STATS; @@ -1230,6 +1230,11 @@ u8 data; port = nfp_port_from_netdev(netdev); + if (!port) + return -EOPNOTSUPP; + + /* update port state to get latest interface */ + set_bit(NFP_PORT_CHANGED, &port->flags); eth_port = nfp_port_get_eth_port(port); if (!eth_port) return -EOPNOTSUPP; @@ -1273,15 +1278,15 @@ if (data < 0x3) { modinfo->type = ETH_MODULE_SFF_8436; - modinfo->eeprom_len = ETH_MODULE_SFF_8436_LEN; + modinfo->eeprom_len = ETH_MODULE_SFF_8436_MAX_LEN; } else { modinfo->type = ETH_MODULE_SFF_8636; - modinfo->eeprom_len = ETH_MODULE_SFF_8636_LEN; + modinfo->eeprom_len = ETH_MODULE_SFF_8636_MAX_LEN; } break; case NFP_INTERFACE_QSFP28: modinfo->type = ETH_MODULE_SFF_8636; - modinfo->eeprom_len = ETH_MODULE_SFF_8636_LEN; + modinfo->eeprom_len = ETH_MODULE_SFF_8636_MAX_LEN; break; default: netdev_err(netdev, "Unsupported module 0x%x detected\n", --- linux-gcp-5.19.0.orig/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c +++ linux-gcp-5.19.0/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c @@ -874,7 +874,6 @@ } /* Adjust the start address to be cache size aligned */ - cache->id = id; cache->addr = addr & ~(u64)(cache->size - 1); /* Re-init to the new ID and address */ @@ -894,6 +893,8 @@ return NULL; } + cache->id = id; + exit: /* Adjust offset */ *offset = addr - cache->addr; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/ni/nixge.c +++ linux-gcp-5.19.0/drivers/net/ethernet/ni/nixge.c @@ -249,25 +249,26 @@ struct sk_buff *skb; int i; - for (i = 0; i < RX_BD_NUM; i++) { - phys_addr = nixge_hw_dma_bd_get_addr(&priv->rx_bd_v[i], - phys); - - dma_unmap_single(ndev->dev.parent, phys_addr, - NIXGE_MAX_JUMBO_FRAME_SIZE, - DMA_FROM_DEVICE); - - skb = (struct sk_buff *)(uintptr_t) - nixge_hw_dma_bd_get_addr(&priv->rx_bd_v[i], - sw_id_offset); - dev_kfree_skb(skb); - } + if (priv->rx_bd_v) { + for (i = 0; i < RX_BD_NUM; i++) { + phys_addr = nixge_hw_dma_bd_get_addr(&priv->rx_bd_v[i], + phys); + + dma_unmap_single(ndev->dev.parent, phys_addr, + NIXGE_MAX_JUMBO_FRAME_SIZE, + DMA_FROM_DEVICE); + + skb = (struct sk_buff *)(uintptr_t) + nixge_hw_dma_bd_get_addr(&priv->rx_bd_v[i], + sw_id_offset); + dev_kfree_skb(skb); + } - if (priv->rx_bd_v) dma_free_coherent(ndev->dev.parent, sizeof(*priv->rx_bd_v) * RX_BD_NUM, priv->rx_bd_v, priv->rx_bd_p); + } if (priv->tx_skb) devm_kfree(ndev->dev.parent, priv->tx_skb); @@ -900,6 +901,7 @@ err_rx_irq: free_irq(priv->tx_irq, ndev); err_tx_irq: + napi_disable(&priv->napi); phy_stop(phy); phy_disconnect(phy); tasklet_kill(&priv->dma_err_tasklet); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c @@ -1143,6 +1143,7 @@ buffer_info->dma = 0; buffer_info->time_stamp = 0; tx_ring->next_to_use = ring_num; + dev_kfree_skb_any(skb); return; } buffer_info->mapped = true; @@ -2459,6 +2460,7 @@ unregister_netdev(netdev); pch_gbe_phy_hw_reset(&adapter->hw); + pci_dev_put(adapter->ptp_pdev); free_netdev(netdev); } @@ -2534,7 +2536,7 @@ /* setup the private structure */ ret = pch_gbe_sw_init(adapter); if (ret) - goto err_free_netdev; + goto err_put_dev; /* Initialize PHY */ ret = pch_gbe_init_phy(adapter); @@ -2592,6 +2594,8 @@ err_free_adapter: pch_gbe_phy_hw_reset(&adapter->hw); +err_put_dev: + pci_dev_put(adapter->ptp_pdev); err_free_netdev: free_netdev(netdev); return ret; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/pensando/ionic/ionic_lif.c +++ linux-gcp-5.19.0/drivers/net/ethernet/pensando/ionic/ionic_lif.c @@ -269,6 +269,7 @@ .oper = IONIC_Q_ENABLE, }, }; + int ret; idev = &lif->ionic->idev; dev = lif->ionic->dev; @@ -276,16 +277,24 @@ dev_dbg(dev, "q_enable.index %d q_enable.qtype %d\n", ctx.cmd.q_control.index, ctx.cmd.q_control.type); + if (qcq->flags & IONIC_QCQ_F_INTR) + ionic_intr_clean(idev->intr_ctrl, qcq->intr.index); + + ret = ionic_adminq_post_wait(lif, &ctx); + if (ret) + return ret; + + if (qcq->napi.poll) + napi_enable(&qcq->napi); + if (qcq->flags & IONIC_QCQ_F_INTR) { irq_set_affinity_hint(qcq->intr.vector, &qcq->intr.affinity_mask); - napi_enable(&qcq->napi); - ionic_intr_clean(idev->intr_ctrl, qcq->intr.index); ionic_intr_mask(idev->intr_ctrl, qcq->intr.index, IONIC_INTR_MASK_CLEAR); } - return ionic_adminq_post_wait(lif, &ctx); + return 0; } static int ionic_qcq_disable(struct ionic_lif *lif, struct ionic_qcq *qcq, int fw_err) @@ -1437,7 +1446,7 @@ if ((old_hw_features ^ lif->hw_features) & IONIC_ETH_HW_RX_HASH) ionic_lif_rss_config(lif, lif->rss_types, NULL, NULL); - if ((vlan_flags & features) && + if ((vlan_flags & le64_to_cpu(ctx.cmd.lif_setattr.features)) && !(vlan_flags & le64_to_cpu(ctx.comp.lif_setattr.features))) dev_info_once(lif->ionic->dev, "NIC is not supporting vlan offload, likely in SmartNIC mode\n"); @@ -1564,8 +1573,67 @@ return err; } +static int ionic_set_attr_mac(struct ionic_lif *lif, u8 *mac) +{ + struct ionic_admin_ctx ctx = { + .work = COMPLETION_INITIALIZER_ONSTACK(ctx.work), + .cmd.lif_setattr = { + .opcode = IONIC_CMD_LIF_SETATTR, + .index = cpu_to_le16(lif->index), + .attr = IONIC_LIF_ATTR_MAC, + }, + }; + + ether_addr_copy(ctx.cmd.lif_setattr.mac, mac); + return ionic_adminq_post_wait(lif, &ctx); +} + +static int ionic_get_attr_mac(struct ionic_lif *lif, u8 *mac_addr) +{ + struct ionic_admin_ctx ctx = { + .work = COMPLETION_INITIALIZER_ONSTACK(ctx.work), + .cmd.lif_getattr = { + .opcode = IONIC_CMD_LIF_GETATTR, + .index = cpu_to_le16(lif->index), + .attr = IONIC_LIF_ATTR_MAC, + }, + }; + int err; + + err = ionic_adminq_post_wait(lif, &ctx); + if (err) + return err; + + ether_addr_copy(mac_addr, ctx.comp.lif_getattr.mac); + return 0; +} + +static int ionic_program_mac(struct ionic_lif *lif, u8 *mac) +{ + u8 get_mac[ETH_ALEN]; + int err; + + err = ionic_set_attr_mac(lif, mac); + if (err) + return err; + + err = ionic_get_attr_mac(lif, get_mac); + if (err) + return err; + + /* To deal with older firmware that silently ignores the set attr mac: + * doesn't actually change the mac and doesn't return an error, so we + * do the get attr to verify whether or not the set actually happened + */ + if (!ether_addr_equal(get_mac, mac)) + return 1; + + return 0; +} + static int ionic_set_mac_address(struct net_device *netdev, void *sa) { + struct ionic_lif *lif = netdev_priv(netdev); struct sockaddr *addr = sa; u8 *mac; int err; @@ -1574,6 +1642,14 @@ if (ether_addr_equal(netdev->dev_addr, mac)) return 0; + err = ionic_program_mac(lif, mac); + if (err < 0) + return err; + + if (err > 0) + netdev_dbg(netdev, "%s: SET and GET ATTR Mac are not equal-due to old FW running\n", + __func__); + err = eth_prepare_mac_addr_change(netdev, addr); if (err) return err; @@ -2753,11 +2829,15 @@ * than the full array, but leave the qcq shells in place */ for (i = lif->nxqs; i < lif->ionic->ntxqs_per_lif; i++) { - lif->txqcqs[i]->flags &= ~IONIC_QCQ_F_INTR; - ionic_qcq_free(lif, lif->txqcqs[i]); + if (lif->txqcqs && lif->txqcqs[i]) { + lif->txqcqs[i]->flags &= ~IONIC_QCQ_F_INTR; + ionic_qcq_free(lif, lif->txqcqs[i]); + } - lif->rxqcqs[i]->flags &= ~IONIC_QCQ_F_INTR; - ionic_qcq_free(lif, lif->rxqcqs[i]); + if (lif->rxqcqs && lif->rxqcqs[i]) { + lif->rxqcqs[i]->flags &= ~IONIC_QCQ_F_INTR; + ionic_qcq_free(lif, lif->rxqcqs[i]); + } } if (err) @@ -2963,6 +3043,9 @@ mutex_lock(&lif->queue_lock); + if (test_and_clear_bit(IONIC_LIF_F_BROKEN, lif->state)) + dev_info(ionic->dev, "FW Up: clearing broken state\n"); + err = ionic_qcqs_alloc(lif); if (err) goto err_unlock; @@ -3169,6 +3252,7 @@ .attr = IONIC_LIF_ATTR_MAC, }, }; + u8 mac_address[ETH_ALEN]; struct sockaddr addr; int err; @@ -3177,8 +3261,23 @@ return err; netdev_dbg(lif->netdev, "found initial MAC addr %pM\n", ctx.comp.lif_getattr.mac); - if (is_zero_ether_addr(ctx.comp.lif_getattr.mac)) - return 0; + ether_addr_copy(mac_address, ctx.comp.lif_getattr.mac); + + if (is_zero_ether_addr(mac_address)) { + eth_hw_addr_random(netdev); + netdev_dbg(netdev, "Random Mac generated: %pM\n", netdev->dev_addr); + ether_addr_copy(mac_address, netdev->dev_addr); + + err = ionic_program_mac(lif, mac_address); + if (err < 0) + return err; + + if (err > 0) { + netdev_dbg(netdev, "%s:SET/GET ATTR Mac are not same-due to old FW running\n", + __func__); + return 0; + } + } if (!is_zero_ether_addr(netdev->dev_addr)) { /* If the netdev mac is non-zero and doesn't match the default @@ -3186,12 +3285,11 @@ * likely here again after a fw-upgrade reset. We need to be * sure the netdev mac is in our filter list. */ - if (!ether_addr_equal(ctx.comp.lif_getattr.mac, - netdev->dev_addr)) + if (!ether_addr_equal(mac_address, netdev->dev_addr)) ionic_lif_addr_add(lif, netdev->dev_addr); } else { /* Update the netdev mac with the device's mac */ - memcpy(addr.sa_data, ctx.comp.lif_getattr.mac, netdev->addr_len); + ether_addr_copy(addr.sa_data, mac_address); addr.sa_family = AF_INET; err = eth_prepare_mac_addr_change(netdev, &addr); if (err) { --- linux-gcp-5.19.0.orig/drivers/net/ethernet/pensando/ionic/ionic_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/pensando/ionic/ionic_main.c @@ -474,8 +474,8 @@ ionic_opcode_to_str(opcode), opcode, ionic_error_to_str(err), err); - msleep(1000); iowrite32(0, &idev->dev_cmd_regs->done); + msleep(1000); iowrite32(1, &idev->dev_cmd_regs->doorbell); goto try_again; } @@ -488,6 +488,8 @@ return ionic_error_to_errno(err); } + ionic_dev_cmd_clean(ionic); + return 0; } @@ -685,8 +687,14 @@ static int __init ionic_init_module(void) { + int ret; + ionic_debugfs_create(); - return ionic_bus_register_driver(); + ret = ionic_bus_register_driver(); + if (ret) + ionic_debugfs_destroy(); + + return ret; } static void __exit ionic_cleanup_module(void) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/pensando/ionic/ionic_txrx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/pensando/ionic/ionic_txrx.c @@ -348,16 +348,25 @@ struct ionic_rxq_sg_desc *sg_desc; struct ionic_rxq_sg_elem *sg_elem; struct ionic_buf_info *buf_info; + unsigned int fill_threshold; struct ionic_rxq_desc *desc; unsigned int remain_len; unsigned int frag_len; unsigned int nfrags; + unsigned int n_fill; unsigned int i, j; unsigned int len; + n_fill = ionic_q_space_avail(q); + + fill_threshold = min_t(unsigned int, IONIC_RX_FILL_THRESHOLD, + q->num_descs / IONIC_RX_FILL_DIV); + if (n_fill < fill_threshold) + return; + len = netdev->mtu + ETH_HLEN + VLAN_HLEN; - for (i = ionic_q_space_avail(q); i; i--) { + for (i = n_fill; i; i--) { nfrags = 0; remain_len = len; desc_info = &q->info[q->head_idx]; @@ -511,7 +520,6 @@ struct ionic_cq *cq = napi_to_cq(napi); struct ionic_dev *idev; struct ionic_lif *lif; - u16 rx_fill_threshold; u32 work_done = 0; u32 flags = 0; @@ -521,10 +529,7 @@ work_done = ionic_cq_service(cq, budget, ionic_rx_service, NULL, NULL); - rx_fill_threshold = min_t(u16, IONIC_RX_FILL_THRESHOLD, - cq->num_descs / IONIC_RX_FILL_DIV); - if (work_done && ionic_q_space_avail(cq->bound_q) >= rx_fill_threshold) - ionic_rx_fill(cq->bound_q); + ionic_rx_fill(cq->bound_q); if (work_done < budget && napi_complete_done(napi, work_done)) { ionic_dim_update(qcq, IONIC_LIF_F_RX_DIM_INTR); @@ -550,7 +555,6 @@ struct ionic_dev *idev; struct ionic_lif *lif; struct ionic_cq *txcq; - u16 rx_fill_threshold; u32 rx_work_done = 0; u32 tx_work_done = 0; u32 flags = 0; @@ -565,10 +569,7 @@ rx_work_done = ionic_cq_service(rxcq, budget, ionic_rx_service, NULL, NULL); - rx_fill_threshold = min_t(u16, IONIC_RX_FILL_THRESHOLD, - rxcq->num_descs / IONIC_RX_FILL_DIV); - if (rx_work_done && ionic_q_space_avail(rxcq->bound_q) >= rx_fill_threshold) - ionic_rx_fill(rxcq->bound_q); + ionic_rx_fill(rxcq->bound_q); if (rx_work_done < budget && napi_complete_done(napi, rx_work_done)) { ionic_dim_update(qcq, 0); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/qlogic/qed/qed_debug.c +++ linux-gcp-5.19.0/drivers/net/ethernet/qlogic/qed/qed_debug.c @@ -1832,7 +1832,8 @@ struct qed_ptt *p_ptt, u32 image_type, u32 *nvram_offset_bytes, - u32 *nvram_size_bytes) + u32 *nvram_size_bytes, + bool b_can_sleep) { u32 ret_mcp_resp, ret_mcp_param, ret_txn_size; struct mcp_file_att file_att; @@ -1846,7 +1847,8 @@ &ret_mcp_resp, &ret_mcp_param, &ret_txn_size, - (u32 *)&file_att, false); + (u32 *)&file_att, + b_can_sleep); /* Check response */ if (nvm_result || (ret_mcp_resp & FW_MSG_CODE_MASK) != @@ -1873,7 +1875,9 @@ static enum dbg_status qed_nvram_read(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt, u32 nvram_offset_bytes, - u32 nvram_size_bytes, u32 *ret_buf) + u32 nvram_size_bytes, + u32 *ret_buf, + bool b_can_sleep) { u32 ret_mcp_resp, ret_mcp_param, ret_read_size, bytes_to_copy; s32 bytes_left = nvram_size_bytes; @@ -1899,7 +1903,7 @@ &ret_mcp_resp, &ret_mcp_param, &ret_read_size, (u32 *)((u8 *)ret_buf + read_offset), - false)) + b_can_sleep)) return DBG_STATUS_NVRAM_READ_FAILED; /* Check response */ @@ -1972,9 +1976,10 @@ u8 split_id) { struct dbg_tools_data *dev_data = &p_hwfn->dbg_info; - u8 port_id = 0, pf_id = 0, vf_id = 0, fid = 0; + u8 port_id = 0, pf_id = 0, vf_id = 0; bool read_using_dmae = false; u32 thresh; + u16 fid; if (!dump) return len; @@ -3379,7 +3384,8 @@ p_ptt, NVM_TYPE_HW_DUMP_OUT, &hw_dump_offset_bytes, - &hw_dump_size_bytes); + &hw_dump_size_bytes, + false); if (status != DBG_STATUS_OK) return 0; @@ -3396,7 +3402,9 @@ status = qed_nvram_read(p_hwfn, p_ptt, hw_dump_offset_bytes, - hw_dump_size_bytes, dump_buf + offset); + hw_dump_size_bytes, + dump_buf + offset, + false); if (status != DBG_STATUS_OK) { DP_NOTICE(p_hwfn, "Failed to read MCP HW Dump image from NVRAM\n"); @@ -4122,7 +4130,9 @@ return qed_find_nvram_image(p_hwfn, p_ptt, nvram_image_type, - trace_meta_offset, trace_meta_size); + trace_meta_offset, + trace_meta_size, + true); } /* Reads the MCP Trace meta data from NVRAM into the specified buffer */ @@ -4138,7 +4148,10 @@ /* Read meta data from NVRAM */ status = qed_nvram_read(p_hwfn, p_ptt, - nvram_offset_in_bytes, size_in_bytes, buf); + nvram_offset_in_bytes, + size_in_bytes, + buf, + true); if (status != DBG_STATUS_OK) return status; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/qlogic/qede/qede_fp.c +++ linux-gcp-5.19.0/drivers/net/ethernet/qlogic/qede/qede_fp.c @@ -1440,6 +1440,10 @@ rx_work_done = (likely(fp->type & QEDE_FASTPATH_RX) && qede_has_rx_work(fp->rxq)) ? qede_rx_int(fp, budget) : 0; + + if (fp->xdp_xmit & QEDE_XDP_REDIRECT) + xdp_do_flush(); + /* Handle case where we are called by netpoll with a budget of 0 */ if (rx_work_done < budget || !budget) { if (!qede_poll_is_more_work(fp)) { @@ -1459,9 +1463,6 @@ qede_update_tx_producer(fp->xdp_tx); } - if (fp->xdp_xmit & QEDE_XDP_REDIRECT) - xdp_do_flush_map(); - return rx_work_done; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/qlogic/qede/qede_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/qlogic/qede/qede_main.c @@ -960,7 +960,6 @@ { u8 fp_combined, fp_rx = edev->fp_num_rx; struct qede_fastpath *fp; - void *mem; int i; edev->fp_array = kcalloc(QEDE_QUEUE_CNT(edev), @@ -970,14 +969,15 @@ goto err; } - mem = krealloc(edev->coal_entry, QEDE_QUEUE_CNT(edev) * - sizeof(*edev->coal_entry), GFP_KERNEL); - if (!mem) { - DP_ERR(edev, "coalesce entry allocation failed\n"); - kfree(edev->coal_entry); - goto err; + if (!edev->coal_entry) { + edev->coal_entry = kcalloc(QEDE_MAX_RSS_CNT(edev), + sizeof(*edev->coal_entry), + GFP_KERNEL); + if (!edev->coal_entry) { + DP_ERR(edev, "coalesce entry allocation failed\n"); + goto err; + } } - edev->coal_entry = mem; fp_combined = QEDE_QUEUE_CNT(edev) - fp_rx - edev->fp_num_tx; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/qlogic/qla3xxx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/qlogic/qla3xxx.c @@ -2471,6 +2471,7 @@ skb_shinfo(skb)->nr_frags); if (tx_cb->seg_count == -1) { netdev_err(ndev, "%s: invalid segment count!\n", __func__); + dev_kfree_skb_any(skb); return NETDEV_TX_OK; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c +++ linux-gcp-5.19.0/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c @@ -2991,7 +2991,7 @@ QLCWRX(adapter->ahw, QLC_83XX_RECOVER_DRV_LOCK, val); dev_info(&adapter->pdev->dev, "%s: lock recovery initiated\n", __func__); - msleep(QLC_83XX_DRV_LOCK_RECOVERY_DELAY); + mdelay(QLC_83XX_DRV_LOCK_RECOVERY_DELAY); val = QLCRDX(adapter->ahw, QLC_83XX_RECOVER_DRV_LOCK); id = ((val >> 2) & 0xF); if (id == adapter->portnum) { @@ -3027,7 +3027,7 @@ if (status) break; - msleep(QLC_83XX_DRV_LOCK_WAIT_DELAY); + mdelay(QLC_83XX_DRV_LOCK_WAIT_DELAY); i++; if (i == 1) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c +++ linux-gcp-5.19.0/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c @@ -2505,7 +2505,13 @@ goto disable_mbx_intr; qlcnic_83xx_clear_function_resources(adapter); - qlcnic_dcb_enable(adapter->dcb); + + err = qlcnic_dcb_enable(adapter->dcb); + if (err) { + qlcnic_dcb_free(adapter->dcb); + goto disable_mbx_intr; + } + qlcnic_83xx_initialize_nic(adapter, 1); qlcnic_dcb_get_info(adapter->dcb); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.h +++ linux-gcp-5.19.0/drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.h @@ -41,11 +41,6 @@ unsigned long state; }; -static inline void qlcnic_clear_dcb_ops(struct qlcnic_dcb *dcb) -{ - kfree(dcb); -} - static inline int qlcnic_dcb_get_hw_capability(struct qlcnic_dcb *dcb) { if (dcb && dcb->ops->get_hw_capability) @@ -112,9 +107,8 @@ dcb->ops->init_dcbnl_ops(dcb); } -static inline void qlcnic_dcb_enable(struct qlcnic_dcb *dcb) +static inline int qlcnic_dcb_enable(struct qlcnic_dcb *dcb) { - if (dcb && qlcnic_dcb_attach(dcb)) - qlcnic_clear_dcb_ops(dcb); + return dcb ? qlcnic_dcb_attach(dcb) : 0; } #endif --- linux-gcp-5.19.0.orig/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c @@ -2599,7 +2599,13 @@ "Device does not support MSI interrupts\n"); if (qlcnic_82xx_check(adapter)) { - qlcnic_dcb_enable(adapter->dcb); + err = qlcnic_dcb_enable(adapter->dcb); + if (err) { + qlcnic_dcb_free(adapter->dcb); + dev_err(&pdev->dev, "Failed to enable DCB\n"); + goto err_out_free_hw; + } + qlcnic_dcb_get_info(adapter->dcb); err = qlcnic_setup_intr(adapter); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c +++ linux-gcp-5.19.0/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c @@ -221,6 +221,8 @@ return 0; qlcnic_destroy_async_wq: + while (i--) + kfree(sriov->vf_info[i].vp); destroy_workqueue(bc->bc_async_wq); qlcnic_destroy_trans_wq: --- linux-gcp-5.19.0.orig/drivers/net/ethernet/rdc/r6040.c +++ linux-gcp-5.19.0/drivers/net/ethernet/rdc/r6040.c @@ -1159,10 +1159,12 @@ err = register_netdev(dev); if (err) { dev_err(&pdev->dev, "Failed to register net device\n"); - goto err_out_mdio_unregister; + goto err_out_phy_disconnect; } return 0; +err_out_phy_disconnect: + phy_disconnect(dev->phydev); err_out_mdio_unregister: mdiobus_unregister(lp->mii_bus); err_out_mdio: @@ -1186,6 +1188,7 @@ struct r6040_private *lp = netdev_priv(dev); unregister_netdev(dev); + phy_disconnect(dev->phydev); mdiobus_unregister(lp->mii_bus); mdiobus_free(lp->mii_bus); netif_napi_del(&lp->napi); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/realtek/r8169_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/realtek/r8169_main.c @@ -2234,28 +2234,6 @@ return 0; } -static void rtl_wol_enable_rx(struct rtl8169_private *tp) -{ - if (tp->mac_version >= RTL_GIGA_MAC_VER_25) - RTL_W32(tp, RxConfig, RTL_R32(tp, RxConfig) | - AcceptBroadcast | AcceptMulticast | AcceptMyPhys); -} - -static void rtl_prepare_power_down(struct rtl8169_private *tp) -{ - if (tp->dash_type != RTL_DASH_NONE) - return; - - if (tp->mac_version == RTL_GIGA_MAC_VER_32 || - tp->mac_version == RTL_GIGA_MAC_VER_33) - rtl_ephy_write(tp, 0x19, 0xff64); - - if (device_may_wakeup(tp_to_dev(tp))) { - phy_speed_down(tp->phydev, false); - rtl_wol_enable_rx(tp); - } -} - static void rtl_init_rxcfg(struct rtl8169_private *tp) { switch (tp->mac_version) { @@ -2475,6 +2453,28 @@ rtl_wait_txrx_fifo_empty(tp); } +static void rtl_wol_enable_rx(struct rtl8169_private *tp) +{ + if (tp->mac_version >= RTL_GIGA_MAC_VER_25) + RTL_W32(tp, RxConfig, RTL_R32(tp, RxConfig) | + AcceptBroadcast | AcceptMulticast | AcceptMyPhys); +} + +static void rtl_prepare_power_down(struct rtl8169_private *tp) +{ + if (tp->dash_type != RTL_DASH_NONE) + return; + + if (tp->mac_version == RTL_GIGA_MAC_VER_32 || + tp->mac_version == RTL_GIGA_MAC_VER_33) + rtl_ephy_write(tp, 0x19, 0xff64); + + if (device_may_wakeup(tp_to_dev(tp))) { + phy_speed_down(tp->phydev, false); + rtl_wol_enable_rx(tp); + } +} + static void rtl_set_tx_config_registers(struct rtl8169_private *tp) { u32 val = TX_DMA_BURST << TxDMAShift | @@ -3533,6 +3533,7 @@ rtl_eri_write(tp, 0x1b0, ERIAR_MASK_0011, 0x0000); rtl_pcie_state_l2l3_disable(tp); + rtl_hw_aspm_clkreq_enable(tp, true); } static void rtl_hw_start_8106(struct rtl8169_private *tp) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/renesas/ravb_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/renesas/ravb_main.c @@ -835,7 +835,7 @@ napi_gro_receive(&priv->napi[q], priv->rx_1st_skb); stats->rx_packets++; - stats->rx_bytes += priv->rx_1st_skb->len; + stats->rx_bytes += pkt_len; break; } } @@ -1095,14 +1095,14 @@ ravb_write(ndev, ~(EIS_QFS | EIS_RESERVED), EIS); if (eis & EIS_QFS) { ris2 = ravb_read(ndev, RIS2); - ravb_write(ndev, ~(RIS2_QFF0 | RIS2_RFFF | RIS2_RESERVED), + ravb_write(ndev, ~(RIS2_QFF0 | RIS2_QFF1 | RIS2_RFFF | RIS2_RESERVED), RIS2); /* Receive Descriptor Empty int */ if (ris2 & RIS2_QFF0) priv->stats[RAVB_BE].rx_over_errors++; - /* Receive Descriptor Empty int */ + /* Receive Descriptor Empty int */ if (ris2 & RIS2_QFF1) priv->stats[RAVB_NC].rx_over_errors++; @@ -1449,6 +1449,8 @@ phy_remove_link_mode(phydev, ETHTOOL_LINK_MODE_100baseT_Half_BIT); } + /* Indicate that the MAC is responsible for managing PHY PM */ + phydev->mac_managed_pm = true; phy_attached_info(phydev); return 0; @@ -2894,12 +2896,12 @@ priv->desc_bat_dma); /* Set reset mode */ ravb_write(ndev, CCC_OPC_RESET, CCC); - pm_runtime_put_sync(&pdev->dev); unregister_netdev(ndev); if (info->nc_queues) netif_napi_del(&priv->napi[RAVB_NC]); netif_napi_del(&priv->napi[RAVB_BE]); ravb_mdio_release(priv); + pm_runtime_put_sync(&pdev->dev); pm_runtime_disable(&pdev->dev); reset_control_assert(priv->rstc); free_netdev(ndev); @@ -2964,6 +2966,9 @@ else ret = ravb_close(ndev); + if (priv->info->ccc_gac) + ravb_ptp_stop(ndev); + return ret; } @@ -3002,6 +3007,9 @@ /* Restore descriptor base address table */ ravb_write(ndev, priv->desc_bat_dma, DBAT); + if (priv->info->ccc_gac) + ravb_ptp_init(ndev, priv->pdev); + if (netif_running(ndev)) { if (priv->wol_enabled) { ret = ravb_wol_restore(ndev); @@ -3011,6 +3019,7 @@ ret = ravb_open(ndev); if (ret < 0) return ret; + ravb_set_rx_mode(ndev); netif_device_attach(ndev); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/renesas/sh_eth.c +++ linux-gcp-5.19.0/drivers/net/ethernet/renesas/sh_eth.c @@ -2029,6 +2029,8 @@ if (mdp->cd->register_type != SH_ETH_REG_GIGABIT) phy_set_max_speed(phydev, SPEED_100); + /* Indicate that the MAC is responsible for managing PHY PM */ + phydev->mac_managed_pm = true; phy_attached_info(phydev); return 0; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/rocker/rocker_ofdpa.c +++ linux-gcp-5.19.0/drivers/net/ethernet/rocker/rocker_ofdpa.c @@ -1273,7 +1273,7 @@ bool removing; int err = 0; - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc(sizeof(*entry), GFP_ATOMIC); if (!entry) return -ENOMEM; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/sfc/ef10.c +++ linux-gcp-5.19.0/drivers/net/ethernet/sfc/ef10.c @@ -3271,6 +3271,30 @@ bool was_enabled = efx->port_enabled; int rc; +#ifdef CONFIG_SFC_SRIOV + /* If this function is a VF and we have access to the parent PF, + * then use the PF control path to attempt to change the VF MAC address. + */ + if (efx->pci_dev->is_virtfn && efx->pci_dev->physfn) { + struct efx_nic *efx_pf = pci_get_drvdata(efx->pci_dev->physfn); + struct efx_ef10_nic_data *nic_data = efx->nic_data; + u8 mac[ETH_ALEN]; + + /* net_dev->dev_addr can be zeroed by efx_net_stop in + * efx_ef10_sriov_set_vf_mac, so pass in a copy. + */ + ether_addr_copy(mac, efx->net_dev->dev_addr); + + rc = efx_ef10_sriov_set_vf_mac(efx_pf, nic_data->vf_index, mac); + if (!rc) + return 0; + + netif_dbg(efx, drv, efx->net_dev, + "Updating VF mac via PF failed (%d), setting directly\n", + rc); + } +#endif + efx_device_detach_sync(efx); efx_net_stop(efx->net_dev); @@ -3293,40 +3317,6 @@ efx_net_open(efx->net_dev); efx_device_attach_if_not_resetting(efx); -#ifdef CONFIG_SFC_SRIOV - if (efx->pci_dev->is_virtfn && efx->pci_dev->physfn) { - struct efx_ef10_nic_data *nic_data = efx->nic_data; - struct pci_dev *pci_dev_pf = efx->pci_dev->physfn; - - if (rc == -EPERM) { - struct efx_nic *efx_pf; - - /* Switch to PF and change MAC address on vport */ - efx_pf = pci_get_drvdata(pci_dev_pf); - - rc = efx_ef10_sriov_set_vf_mac(efx_pf, - nic_data->vf_index, - efx->net_dev->dev_addr); - } else if (!rc) { - struct efx_nic *efx_pf = pci_get_drvdata(pci_dev_pf); - struct efx_ef10_nic_data *nic_data = efx_pf->nic_data; - unsigned int i; - - /* MAC address successfully changed by VF (with MAC - * spoofing) so update the parent PF if possible. - */ - for (i = 0; i < efx_pf->vf_count; ++i) { - struct ef10_vf *vf = nic_data->vf + i; - - if (vf->efx == efx) { - ether_addr_copy(vf->mac, - efx->net_dev->dev_addr); - return 0; - } - } - } - } else -#endif if (rc == -EPERM) { netif_err(efx, drv, efx->net_dev, "Cannot change MAC address; use sfboot to enable" --- linux-gcp-5.19.0.orig/drivers/net/ethernet/sfc/ef100_netdev.c +++ linux-gcp-5.19.0/drivers/net/ethernet/sfc/ef100_netdev.c @@ -200,6 +200,7 @@ skb->len, skb->data_len, channel->channel); if (!efx->n_channels || !efx->n_tx_channels || !channel) { netif_stop_queue(net_dev); + dev_kfree_skb_any(skb); goto err; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/sfc/efx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/sfc/efx.c @@ -1002,8 +1002,11 @@ /* Determine netdevice features */ net_dev->features |= (efx->type->offload_features | NETIF_F_SG | NETIF_F_TSO | NETIF_F_RXCSUM | NETIF_F_RXALL); - if (efx->type->offload_features & (NETIF_F_IPV6_CSUM | NETIF_F_HW_CSUM)) + if (efx->type->offload_features & (NETIF_F_IPV6_CSUM | NETIF_F_HW_CSUM)) { net_dev->features |= NETIF_F_TSO6; + if (efx_has_cap(efx, TX_TSO_V2_ENCAP)) + net_dev->hw_enc_features |= NETIF_F_TSO6; + } /* Check whether device supports TSO */ if (!efx->type->tso_versions || !efx->type->tso_versions(efx)) net_dev->features &= ~NETIF_F_ALL_TSO; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/sfc/efx_channels.c +++ linux-gcp-5.19.0/drivers/net/ethernet/sfc/efx_channels.c @@ -319,7 +319,7 @@ efx->n_channels = 1 + (efx_separate_tx_channels ? 1 : 0); efx->n_rx_channels = 1; efx->n_tx_channels = 1; - efx->tx_channel_offset = 1; + efx->tx_channel_offset = efx_separate_tx_channels ? 1 : 0; efx->n_xdp_channels = 0; efx->xdp_channel_offset = efx->n_channels; efx->legacy_irq = efx->pci_dev->irq; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/sfc/filter.h +++ linux-gcp-5.19.0/drivers/net/ethernet/sfc/filter.h @@ -157,7 +157,8 @@ u32 flags:6; u32 dmaq_id:12; u32 rss_context; - __be16 outer_vid __aligned(4); /* allow jhash2() of match values */ + u32 vport_id; + __be16 outer_vid; __be16 inner_vid; u8 loc_mac[ETH_ALEN]; u8 rem_mac[ETH_ALEN]; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/sfc/rx_common.c +++ linux-gcp-5.19.0/drivers/net/ethernet/sfc/rx_common.c @@ -660,17 +660,17 @@ (EFX_FILTER_FLAG_RX | EFX_FILTER_FLAG_TX))) return false; - return memcmp(&left->outer_vid, &right->outer_vid, + return memcmp(&left->vport_id, &right->vport_id, sizeof(struct efx_filter_spec) - - offsetof(struct efx_filter_spec, outer_vid)) == 0; + offsetof(struct efx_filter_spec, vport_id)) == 0; } u32 efx_filter_spec_hash(const struct efx_filter_spec *spec) { - BUILD_BUG_ON(offsetof(struct efx_filter_spec, outer_vid) & 3); - return jhash2((const u32 *)&spec->outer_vid, + BUILD_BUG_ON(offsetof(struct efx_filter_spec, vport_id) & 3); + return jhash2((const u32 *)&spec->vport_id, (sizeof(struct efx_filter_spec) - - offsetof(struct efx_filter_spec, outer_vid)) / 4, + offsetof(struct efx_filter_spec, vport_id)) / 4, 0); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/sfc/siena/efx_channels.c +++ linux-gcp-5.19.0/drivers/net/ethernet/sfc/siena/efx_channels.c @@ -320,7 +320,7 @@ efx->n_channels = 1 + (efx_siena_separate_tx_channels ? 1 : 0); efx->n_rx_channels = 1; efx->n_tx_channels = 1; - efx->tx_channel_offset = 1; + efx->tx_channel_offset = efx_siena_separate_tx_channels ? 1 : 0; efx->n_xdp_channels = 0; efx->xdp_channel_offset = efx->n_channels; efx->legacy_irq = efx->pci_dev->irq; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/sfc/siena/tx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/sfc/siena/tx.c @@ -336,7 +336,7 @@ * previous packets out. */ if (!netdev_xmit_more()) - efx_tx_send_pending(tx_queue->channel); + efx_tx_send_pending(efx_get_tx_channel(efx, index)); return NETDEV_TX_OK; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/sfc/tx.c +++ linux-gcp-5.19.0/drivers/net/ethernet/sfc/tx.c @@ -549,7 +549,7 @@ * previous packets out. */ if (!netdev_xmit_more()) - efx_tx_send_pending(tx_queue->channel); + efx_tx_send_pending(efx_get_tx_channel(efx, index)); return NETDEV_TX_OK; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/smsc/smsc911x.c +++ linux-gcp-5.19.0/drivers/net/ethernet/smsc/smsc911x.c @@ -1037,6 +1037,8 @@ return ret; } + /* Indicate that the MAC is responsible for managing PHY PM */ + phydev->mac_managed_pm = true; phy_attached_info(phydev); phy_set_max_speed(phydev, SPEED_100); @@ -2587,6 +2589,8 @@ if (netif_running(ndev)) { netif_stop_queue(ndev); netif_device_detach(ndev); + if (!device_may_wakeup(dev)) + phy_stop(ndev->phydev); } /* enable wake on LAN, energy detection and the external PME @@ -2628,6 +2632,8 @@ if (netif_running(ndev)) { netif_device_attach(ndev); netif_start_queue(ndev); + if (!device_may_wakeup(dev)) + phy_start(ndev->phydev); } return 0; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/socionext/netsec.c +++ linux-gcp-5.19.0/drivers/net/ethernet/socionext/netsec.c @@ -1961,11 +1961,13 @@ ret = PTR_ERR(priv->phydev); dev_err(priv->dev, "get_phy_device err(%d)\n", ret); priv->phydev = NULL; + mdiobus_unregister(bus); return -ENODEV; } ret = phy_device_register(priv->phydev); if (ret) { + phy_device_free(priv->phydev); mdiobus_unregister(bus); dev_err(priv->dev, "phy_device_register err(%d)\n", ret); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/socionext/sni_ave.c +++ linux-gcp-5.19.0/drivers/net/ethernet/socionext/sni_ave.c @@ -1229,6 +1229,8 @@ phy_support_asym_pause(phydev); + phydev->mac_managed_pm = true; + phy_attached_info(phydev); return 0; @@ -1757,6 +1759,10 @@ ave_global_reset(ndev); + ret = phy_init_hw(ndev->phydev); + if (ret) + return ret; + ave_ethtool_get_wol(ndev, &wol); wol.wolopts = priv->wolopts; __ave_ethtool_set_wol(ndev, &wol); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c +++ linux-gcp-5.19.0/drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c @@ -600,7 +600,6 @@ { plat->rx_queues_to_use = 8; plat->tx_queues_to_use = 8; - plat->clk_ptp_rate = 200000000; plat->use_phy_wol = 1; plat->safety_feat_cfg->tsoee = 1; @@ -625,6 +624,8 @@ plat->serdes_powerup = intel_serdes_powerup; plat->serdes_powerdown = intel_serdes_powerdown; + plat->clk_ptp_rate = 204800000; + return ehl_common_data(pdev, plat); } @@ -638,6 +639,8 @@ plat->bus_id = 1; plat->phy_interface = PHY_INTERFACE_MODE_RGMII; + plat->clk_ptp_rate = 204800000; + return ehl_common_data(pdev, plat); } @@ -654,6 +657,8 @@ plat->bus_id = 2; plat->addr64 = 32; + plat->clk_ptp_rate = 200000000; + intel_mgbe_pse_crossts_adj(intel_priv, EHL_PSE_ART_MHZ); return ehl_common_data(pdev, plat); @@ -693,6 +698,8 @@ plat->bus_id = 3; plat->addr64 = 32; + plat->clk_ptp_rate = 200000000; + intel_mgbe_pse_crossts_adj(intel_priv, EHL_PSE_ART_MHZ); return ehl_common_data(pdev, plat); @@ -728,7 +735,7 @@ { plat->rx_queues_to_use = 6; plat->tx_queues_to_use = 4; - plat->clk_ptp_rate = 200000000; + plat->clk_ptp_rate = 204800000; plat->speed_mode_2500 = intel_speed_mode_2500; plat->safety_feat_cfg->tsoee = 1; @@ -1104,6 +1111,7 @@ stmmac_dvr_remove(&pdev->dev); + clk_disable_unprepare(priv->plat->stmmac_clk); clk_unregister_fixed_rate(priv->plat->stmmac_clk); pcim_iounmap_regions(pdev, BIT(0)); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c +++ linux-gcp-5.19.0/drivers/net/ethernet/stmicro/stmmac/dwmac-loongson.c @@ -51,7 +51,6 @@ struct stmmac_resources res; struct device_node *np; int ret, i, phy_mode; - bool mdio = false; np = dev_of_node(&pdev->dev); @@ -69,29 +68,31 @@ if (!plat) return -ENOMEM; + plat->mdio_node = of_get_child_by_name(np, "mdio"); if (plat->mdio_node) { - dev_err(&pdev->dev, "Found MDIO subnode\n"); - mdio = true; - } + dev_info(&pdev->dev, "Found MDIO subnode\n"); - if (mdio) { plat->mdio_bus_data = devm_kzalloc(&pdev->dev, sizeof(*plat->mdio_bus_data), GFP_KERNEL); - if (!plat->mdio_bus_data) - return -ENOMEM; + if (!plat->mdio_bus_data) { + ret = -ENOMEM; + goto err_put_node; + } plat->mdio_bus_data->needs_reset = true; } plat->dma_cfg = devm_kzalloc(&pdev->dev, sizeof(*plat->dma_cfg), GFP_KERNEL); - if (!plat->dma_cfg) - return -ENOMEM; + if (!plat->dma_cfg) { + ret = -ENOMEM; + goto err_put_node; + } /* Enable pci device */ ret = pci_enable_device(pdev); if (ret) { dev_err(&pdev->dev, "%s: ERROR: failed to enable device\n", __func__); - return ret; + goto err_put_node; } /* Get the base address of device */ @@ -100,7 +101,7 @@ continue; ret = pcim_iomap_regions(pdev, BIT(0), pci_name(pdev)); if (ret) - return ret; + goto err_disable_device; break; } @@ -111,7 +112,8 @@ phy_mode = device_get_phy_mode(&pdev->dev); if (phy_mode < 0) { dev_err(&pdev->dev, "phy_mode not found\n"); - return phy_mode; + ret = phy_mode; + goto err_disable_device; } plat->phy_interface = phy_mode; @@ -128,6 +130,7 @@ if (res.irq < 0) { dev_err(&pdev->dev, "IRQ macirq not found\n"); ret = -ENODEV; + goto err_disable_msi; } res.wol_irq = of_irq_get_byname(np, "eth_wake_irq"); @@ -140,15 +143,31 @@ if (res.lpi_irq < 0) { dev_err(&pdev->dev, "IRQ eth_lpi not found\n"); ret = -ENODEV; + goto err_disable_msi; } - return stmmac_dvr_probe(&pdev->dev, plat, &res); + ret = stmmac_dvr_probe(&pdev->dev, plat, &res); + if (ret) + goto err_disable_msi; + + return ret; + +err_disable_msi: + pci_disable_msi(pdev); +err_disable_device: + pci_disable_device(pdev); +err_put_node: + of_node_put(plat->mdio_node); + return ret; } static void loongson_dwmac_remove(struct pci_dev *pdev) { + struct net_device *ndev = dev_get_drvdata(&pdev->dev); + struct stmmac_priv *priv = netdev_priv(ndev); int i; + of_node_put(priv->plat->mdio_node); stmmac_dvr_remove(&pdev->dev); for (i = 0; i < PCI_STD_NUM_BARS; i++) { @@ -158,6 +177,7 @@ break; } + pci_disable_msi(pdev); pci_disable_device(pdev); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac-mediatek.c +++ linux-gcp-5.19.0/drivers/net/ethernet/stmicro/stmmac/dwmac-mediatek.c @@ -90,7 +90,6 @@ struct mediatek_dwmac_variant { int (*dwmac_set_phy_interface)(struct mediatek_dwmac_plat_data *plat); int (*dwmac_set_delay)(struct mediatek_dwmac_plat_data *plat); - void (*dwmac_fix_mac_speed)(void *priv, unsigned int speed); /* clock ids to be requested */ const char * const *clk_list; @@ -443,32 +442,9 @@ return 0; } -static void mt8195_fix_mac_speed(void *priv, unsigned int speed) -{ - struct mediatek_dwmac_plat_data *priv_plat = priv; - - if ((phy_interface_mode_is_rgmii(priv_plat->phy_mode))) { - /* prefer 2ns fixed delay which is controlled by TXC_PHASE_CTRL, - * when link speed is 1Gbps with RGMII interface, - * Fall back to delay macro circuit for 10/100Mbps link speed. - */ - if (speed == SPEED_1000) - regmap_update_bits(priv_plat->peri_regmap, - MT8195_PERI_ETH_CTRL0, - MT8195_RGMII_TXC_PHASE_CTRL | - MT8195_DLY_GTXC_ENABLE | - MT8195_DLY_GTXC_INV | - MT8195_DLY_GTXC_STAGES, - MT8195_RGMII_TXC_PHASE_CTRL); - else - mt8195_set_delay(priv_plat); - } -} - static const struct mediatek_dwmac_variant mt8195_gmac_variant = { .dwmac_set_phy_interface = mt8195_set_interface, .dwmac_set_delay = mt8195_set_delay, - .dwmac_fix_mac_speed = mt8195_fix_mac_speed, .clk_list = mt8195_dwmac_clk_l, .num_clks = ARRAY_SIZE(mt8195_dwmac_clk_l), .dma_bit_mask = 35, @@ -619,8 +595,6 @@ plat->bsp_priv = priv_plat; plat->init = mediatek_dwmac_init; plat->clks_config = mediatek_dwmac_clks_config; - if (priv_plat->variant->dwmac_fix_mac_speed) - plat->fix_mac_speed = priv_plat->variant->dwmac_fix_mac_speed; plat->safety_feat_cfg = devm_kzalloc(&pdev->dev, sizeof(*plat->safety_feat_cfg), --- linux-gcp-5.19.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c +++ linux-gcp-5.19.0/drivers/net/ethernet/stmicro/stmmac/dwmac-meson8b.c @@ -272,11 +272,9 @@ if (ret) return ret; - devm_add_action_or_reset(dwmac->dev, - (void(*)(void *))clk_disable_unprepare, - dwmac->rgmii_tx_clk); - - return 0; + return devm_add_action_or_reset(dwmac->dev, + (void(*)(void *))clk_disable_unprepare, + clk); } static int meson8b_init_rgmii_delays(struct meson8b_dwmac *dwmac) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c +++ linux-gcp-5.19.0/drivers/net/ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c @@ -560,6 +560,8 @@ plat_dat->has_gmac4 = 1; plat_dat->pmt = 1; plat_dat->tso_en = of_property_read_bool(np, "snps,tso"); + if (of_device_is_compatible(np, "qcom,qcs404-ethqos")) + plat_dat->rx_clk_runs_in_lpi = 1; ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res); if (ret) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c +++ linux-gcp-5.19.0/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c @@ -749,6 +749,8 @@ if (fc & FLOW_RX) { pr_debug("\tReceive Flow-Control ON\n"); flow |= GMAC_RX_FLOW_CTRL_RFE; + } else { + pr_debug("\tReceive Flow-Control OFF\n"); } writel(flow, ioaddr + GMAC_RX_FLOW_CTRL); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac5.c +++ linux-gcp-5.19.0/drivers/net/ethernet/stmicro/stmmac/dwmac5.c @@ -186,11 +186,25 @@ int dwmac5_safety_feat_config(void __iomem *ioaddr, unsigned int asp, struct stmmac_safety_feature_cfg *safety_feat_cfg) { + struct stmmac_safety_feature_cfg all_safety_feats = { + .tsoee = 1, + .mrxpee = 1, + .mestee = 1, + .mrxee = 1, + .mtxee = 1, + .epsi = 1, + .edpp = 1, + .prtyen = 1, + .tmouten = 1, + }; u32 value; if (!asp) return -EINVAL; + if (!safety_feat_cfg) + safety_feat_cfg = &all_safety_feats; + /* 1. Enable Safety Features */ value = readl(ioaddr + MTL_ECC_CONTROL); value |= MEEAO; /* MTL ECC Error Addr Status Override */ @@ -527,9 +541,9 @@ return 0; } - val |= PPSCMDx(index, 0x2); val |= TRGTMODSELx(index, 0x2); val |= PPSEN0; + writel(val, ioaddr + MAC_PPS_CONTROL); writel(cfg->start.tv_sec, ioaddr + MAC_PPSx_TARGET_TIME_SEC(index)); @@ -554,6 +568,7 @@ writel(period - 1, ioaddr + MAC_PPSx_WIDTH(index)); /* Finally, activate it */ + val |= PPSCMDx(index, 0x2); writel(val, ioaddr + MAC_PPS_CONTROL); return 0; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c +++ linux-gcp-5.19.0/drivers/net/ethernet/stmicro/stmmac/dwmac_lib.c @@ -258,14 +258,18 @@ /* Enable disable MAC RX/TX */ void stmmac_set_mac(void __iomem *ioaddr, bool enable) { - u32 value = readl(ioaddr + MAC_CTRL_REG); + u32 old_val, value; + + old_val = readl(ioaddr + MAC_CTRL_REG); + value = old_val; if (enable) value |= MAC_ENABLE_RX | MAC_ENABLE_TX; else value &= ~(MAC_ENABLE_TX | MAC_ENABLE_RX); - writel(value, ioaddr + MAC_CTRL_REG); + if (value != old_val) + writel(value, ioaddr + MAC_CTRL_REG); } void stmmac_get_mac_addr(void __iomem *ioaddr, unsigned char *addr, --- linux-gcp-5.19.0.orig/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c +++ linux-gcp-5.19.0/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c @@ -551,16 +551,16 @@ p = (char *)priv + offsetof(struct stmmac_priv, xstats.txq_stats[q].tx_pkt_n); for (stat = 0; stat < STMMAC_TXQ_STATS; stat++) { - *data++ = (*(u64 *)p); - p += sizeof(u64 *); + *data++ = (*(unsigned long *)p); + p += sizeof(unsigned long); } } for (q = 0; q < rx_cnt; q++) { p = (char *)priv + offsetof(struct stmmac_priv, xstats.rxq_stats[q].rx_pkt_n); for (stat = 0; stat < STMMAC_RXQ_STATS; stat++) { - *data++ = (*(u64 *)p); - p += sizeof(u64 *); + *data++ = (*(unsigned long *)p); + p += sizeof(unsigned long); } } } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/stmicro/stmmac/stmmac_hwtstamp.c +++ linux-gcp-5.19.0/drivers/net/ethernet/stmicro/stmmac/stmmac_hwtstamp.c @@ -47,7 +47,8 @@ if (!(value & PTP_TCR_TSCTRLSSR)) data = (data * 1000) / 465; - data &= PTP_SSIR_SSINC_MASK; + if (data > PTP_SSIR_SSINC_MAX) + data = PTP_SSIR_SSINC_MAX; reg_value = data; if (gmac4) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -983,10 +983,10 @@ bool tx_pause, bool rx_pause) { struct stmmac_priv *priv = netdev_priv(to_net_dev(config->dev)); - u32 ctrl; + u32 old_ctrl, ctrl; - ctrl = readl(priv->ioaddr + MAC_CTRL_REG); - ctrl &= ~priv->hw->link.speed_mask; + old_ctrl = readl(priv->ioaddr + MAC_CTRL_REG); + ctrl = old_ctrl & ~priv->hw->link.speed_mask; if (interface == PHY_INTERFACE_MODE_USXGMII) { switch (speed) { @@ -1058,14 +1058,24 @@ ctrl |= priv->hw->link.duplex; /* Flow Control operation */ - if (tx_pause && rx_pause) - stmmac_mac_flow_ctrl(priv, duplex); + if (rx_pause && tx_pause) + priv->flow_ctrl = FLOW_AUTO; + else if (rx_pause && !tx_pause) + priv->flow_ctrl = FLOW_RX; + else if (!rx_pause && tx_pause) + priv->flow_ctrl = FLOW_TX; + else + priv->flow_ctrl = FLOW_OFF; + + stmmac_mac_flow_ctrl(priv, duplex); - writel(ctrl, priv->ioaddr + MAC_CTRL_REG); + if (ctrl != old_ctrl) + writel(ctrl, priv->ioaddr + MAC_CTRL_REG); stmmac_mac_set(priv, priv->ioaddr, true); if (phy && priv->dma_cap.eee) { - priv->eee_active = phy_init_eee(phy, 1) >= 0; + priv->eee_active = + phy_init_eee(phy, !priv->plat->rx_clk_runs_in_lpi) >= 0; priv->eee_enabled = stmmac_eee_init(priv); priv->tx_lpi_enabled = priv->eee_enabled; stmmac_set_eee_pls(priv, priv->hw, true); @@ -1134,6 +1144,11 @@ int addr = priv->plat->phy_addr; struct phy_device *phydev; + if (addr < 0) { + netdev_err(priv->dev, "no phy found\n"); + return -ENODEV; + } + phydev = mdiobus_get_phy(priv->mii, addr); if (!phydev) { netdev_err(priv->dev, "no phy at addr %d\n", addr); @@ -1208,6 +1223,7 @@ if (priv->plat->tx_queues_to_use > 1) priv->phylink_config.mac_capabilities &= ~(MAC_10HD | MAC_100HD | MAC_1000HD); + priv->phylink_config.mac_managed_pm = true; phylink = phylink_create(&priv->phylink_config, fwnode, mode, &stmmac_phylink_mac_ops); @@ -3703,6 +3719,15 @@ goto init_error; } + if (priv->plat->serdes_powerup) { + ret = priv->plat->serdes_powerup(dev, priv->plat->bsp_priv); + if (ret < 0) { + netdev_err(priv->dev, "%s: Serdes powerup failed\n", + __func__); + goto init_error; + } + } + ret = stmmac_hw_setup(dev, true); if (ret < 0) { netdev_err(priv->dev, "%s: Hw setup failed\n", __func__); @@ -3792,6 +3817,10 @@ /* Disable the MAC Rx/Tx */ stmmac_mac_set(priv, priv->ioaddr, false); + /* Powerdown Serdes if there is */ + if (priv->plat->serdes_powerdown) + priv->plat->serdes_powerdown(dev, priv->plat->bsp_priv); + netif_carrier_off(dev); stmmac_release_ptp(priv); @@ -6414,6 +6443,9 @@ struct stmmac_priv *priv = netdev_priv(dev); u32 chan; + /* Ensure tx function is not running */ + netif_tx_disable(dev); + /* Disable NAPI process */ stmmac_disable_all_queues(priv); @@ -6954,7 +6986,8 @@ priv->wq = create_singlethread_workqueue("stmmac_wq"); if (!priv->wq) { dev_err(priv->device, "failed to create workqueue\n"); - return -ENOMEM; + ret = -ENOMEM; + goto error_wq_init; } INIT_WORK(&priv->service_task, stmmac_service_task); @@ -7157,14 +7190,6 @@ goto error_netdev_register; } - if (priv->plat->serdes_powerup) { - ret = priv->plat->serdes_powerup(ndev, - priv->plat->bsp_priv); - - if (ret < 0) - goto error_serdes_powerup; - } - #ifdef CONFIG_DEBUG_FS stmmac_init_fs(ndev); #endif @@ -7179,8 +7204,6 @@ return ret; -error_serdes_powerup: - unregister_netdev(ndev); error_netdev_register: phylink_destroy(priv->phylink); error_xpcs_setup: @@ -7192,6 +7215,7 @@ stmmac_napi_del(ndev); error_hw_init: destroy_workqueue(priv->wq); +error_wq_init: bitmap_free(priv->af_xdp_zc_qps); return ret; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c +++ linux-gcp-5.19.0/drivers/net/ethernet/stmicro/stmmac/stmmac_platform.c @@ -108,10 +108,10 @@ axi->axi_lpi_en = of_property_read_bool(np, "snps,lpi_en"); axi->axi_xit_frm = of_property_read_bool(np, "snps,xit_frm"); - axi->axi_kbbe = of_property_read_bool(np, "snps,axi_kbbe"); - axi->axi_fb = of_property_read_bool(np, "snps,axi_fb"); - axi->axi_mb = of_property_read_bool(np, "snps,axi_mb"); - axi->axi_rb = of_property_read_bool(np, "snps,axi_rb"); + axi->axi_kbbe = of_property_read_bool(np, "snps,kbbe"); + axi->axi_fb = of_property_read_bool(np, "snps,fb"); + axi->axi_mb = of_property_read_bool(np, "snps,mb"); + axi->axi_rb = of_property_read_bool(np, "snps,rb"); if (of_property_read_u32(np, "snps,wr_osr_lmt", &axi->axi_wr_osr_lmt)) axi->axi_wr_osr_lmt = 1; @@ -558,7 +558,7 @@ dma_cfg->mixed_burst = of_property_read_bool(np, "snps,mixed-burst"); plat->force_thresh_dma_mode = of_property_read_bool(np, "snps,force_thresh_dma_mode"); - if (plat->force_thresh_dma_mode) { + if (plat->force_thresh_dma_mode && plat->force_sf_dma_mode) { plat->force_sf_dma_mode = 0; dev_warn(&pdev->dev, "force_sf_dma_mode is ignored if force_thresh_dma_mode is set.\n"); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c +++ linux-gcp-5.19.0/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c @@ -219,7 +219,10 @@ } writel(acr_value, ptpaddr + PTP_ACR); mutex_unlock(&priv->aux_ts_lock); - ret = 0; + /* wait for auxts fifo clear to finish */ + ret = readl_poll_timeout(ptpaddr + PTP_ACR, acr_value, + !(acr_value & PTP_ACR_ATSFC), + 10, 10000); break; default: --- linux-gcp-5.19.0.orig/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.h +++ linux-gcp-5.19.0/drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.h @@ -64,7 +64,7 @@ #define PTP_TCR_TSENMACADDR BIT(18) /* SSIR defines */ -#define PTP_SSIR_SSINC_MASK 0xff +#define PTP_SSIR_SSINC_MAX 0xff #define GMAC4_PTP_SSIR_SSINC_SHIFT 16 /* Auxiliary Control defines */ --- linux-gcp-5.19.0.orig/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c +++ linux-gcp-5.19.0/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c @@ -1654,12 +1654,16 @@ } ret = stmmac_set_arp_offload(priv, priv->hw, true, ip_addr); - if (ret) + if (ret) { + kfree_skb(skb); goto cleanup; + } ret = dev_set_promiscuity(priv->dev, 1); - if (ret) + if (ret) { + kfree_skb(skb); goto cleanup; + } ret = dev_direct_xmit(skb, 0); if (ret) --- linux-gcp-5.19.0.orig/drivers/net/ethernet/sun/sunhme.c +++ linux-gcp-5.19.0/drivers/net/ethernet/sun/sunhme.c @@ -2020,9 +2020,9 @@ skb_reserve(copy_skb, 2); skb_put(copy_skb, len); - dma_sync_single_for_cpu(hp->dma_dev, dma_addr, len, DMA_FROM_DEVICE); + dma_sync_single_for_cpu(hp->dma_dev, dma_addr, len + 2, DMA_FROM_DEVICE); skb_copy_from_linear_data(skb, copy_skb->data, len); - dma_sync_single_for_device(hp->dma_dev, dma_addr, len, DMA_FROM_DEVICE); + dma_sync_single_for_device(hp->dma_dev, dma_addr, len + 2, DMA_FROM_DEVICE); /* Reuse original ring buffer. */ hme_write_rxd(hp, this, (RXFLAG_OWN|((RX_BUF_ALLOC_SIZE-RX_OFFSET)<<16)), --- linux-gcp-5.19.0.orig/drivers/net/ethernet/sunplus/spl2sw_driver.c +++ linux-gcp-5.19.0/drivers/net/ethernet/sunplus/spl2sw_driver.c @@ -248,8 +248,8 @@ /* Check if mac address is valid */ if (!is_valid_ether_addr(mac)) { - kfree(mac); dev_info(dev, "Invalid mac address in nvmem (%pM)!\n", mac); + kfree(mac); return -EINVAL; } @@ -286,7 +286,6 @@ if (ret) { dev_err(&pdev->dev, "Failed to register net device \"%s\"!\n", ndev->name); - free_netdev(ndev); *r_ndev = NULL; return ret; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/ti/Kconfig +++ linux-gcp-5.19.0/drivers/net/ethernet/ti/Kconfig @@ -33,6 +33,7 @@ tristate "TI DaVinci MDIO Support" depends on ARCH_DAVINCI || ARCH_OMAP2PLUS || ARCH_KEYSTONE || ARCH_K3 || COMPILE_TEST select PHYLIB + select MDIO_BITBANG help This driver supports TI's DaVinci MDIO module. --- linux-gcp-5.19.0.orig/drivers/net/ethernet/ti/am65-cpsw-nuss.c +++ linux-gcp-5.19.0/drivers/net/ethernet/ti/am65-cpsw-nuss.c @@ -498,7 +498,15 @@ k3_udma_glue_disable_tx_chn(common->tx_chns[i].tx_chn); } + reinit_completion(&common->tdown_complete); k3_udma_glue_tdown_rx_chn(common->rx_chns.rx_chn, true); + + if (common->pdata.quirks & AM64_CPSW_QUIRK_DMA_RX_TDOWN_IRQ) { + i = wait_for_completion_timeout(&common->tdown_complete, msecs_to_jiffies(1000)); + if (!i) + dev_err(common->dev, "rx teardown timeout\n"); + } + napi_disable(&common->napi_rx); for (i = 0; i < AM65_CPSW_MAX_RX_FLOWS; i++) @@ -562,13 +570,13 @@ ret = netif_set_real_num_tx_queues(ndev, common->tx_ch_num); if (ret) { dev_err(common->dev, "cannot set real number of tx queues\n"); - return ret; + goto runtime_put; } ret = netif_set_real_num_rx_queues(ndev, AM65_CPSW_MAX_RX_QUEUES); if (ret) { dev_err(common->dev, "cannot set real number of rx queues\n"); - return ret; + goto runtime_put; } for (i = 0; i < common->tx_ch_num; i++) @@ -576,7 +584,7 @@ ret = am65_cpsw_nuss_common_open(common, ndev->features); if (ret) - return ret; + goto runtime_put; common->usage_count++; @@ -609,6 +617,10 @@ error_cleanup: am65_cpsw_nuss_ndo_slave_stop(ndev); return ret; + +runtime_put: + pm_runtime_put(common->dev); + return ret; } static void am65_cpsw_nuss_rx_cleanup(void *data, dma_addr_t desc_dma) @@ -703,6 +715,8 @@ if (cppi5_desc_is_tdcm(desc_dma)) { dev_dbg(dev, "%s RX tdown flow: %u\n", __func__, flow_idx); + if (common->pdata.quirks & AM64_CPSW_QUIRK_DMA_RX_TDOWN_IRQ) + complete(&common->tdown_complete); return 0; } @@ -1450,7 +1464,7 @@ if (speed == SPEED_1000) mac_control |= CPSW_SL_CTL_GIG; - if (speed == SPEED_10 && interface == PHY_INTERFACE_MODE_RGMII) + if (speed == SPEED_10 && phy_interface_mode_is_rgmii(interface)) /* Can be used with in band mode only */ mac_control |= CPSW_SL_CTL_EXT_EN; if (speed == SPEED_100 && interface == PHY_INTERFACE_MODE_RMII) @@ -2061,7 +2075,7 @@ for (i = 0; i < common->port_num; i++) { port = &common->ports[i]; - if (port->ndev) + if (port->ndev && port->ndev->reg_state == NETREG_REGISTERED) unregister_netdev(port->ndev); } } @@ -2606,7 +2620,7 @@ }; static const struct am65_cpsw_pdata am64x_cpswxg_pdata = { - .quirks = 0, + .quirks = AM64_CPSW_QUIRK_DMA_RX_TDOWN_IRQ, .ale_dev_id = "am64-cpswxg", .fdqring_mode = K3_RINGACC_RING_MODE_RING, }; @@ -2791,7 +2805,6 @@ if (ret < 0) return ret; - am65_cpsw_nuss_phylink_cleanup(common); am65_cpsw_unregister_devlink(common); am65_cpsw_unregister_notifiers(common); @@ -2799,6 +2812,7 @@ * dma_deconfigure(dev) before devres_release_all(dev) */ am65_cpsw_nuss_cleanup_ndev(common); + am65_cpsw_nuss_phylink_cleanup(common); of_platform_device_destroy(common->mdio_dev, NULL); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/ti/am65-cpsw-nuss.h +++ linux-gcp-5.19.0/drivers/net/ethernet/ti/am65-cpsw-nuss.h @@ -85,6 +85,7 @@ }; #define AM65_CPSW_QUIRK_I2027_NO_TX_CSUM BIT(0) +#define AM64_CPSW_QUIRK_DMA_RX_TDOWN_IRQ BIT(1) struct am65_cpsw_pdata { u32 quirks; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/ti/cpsw.c +++ linux-gcp-5.19.0/drivers/net/ethernet/ti/cpsw.c @@ -854,6 +854,8 @@ err_cleanup: if (!cpsw->usage_count) { + napi_disable(&cpsw->napi_rx); + napi_disable(&cpsw->napi_tx); cpdma_ctlr_stop(cpsw->dma); cpsw_destroy_xdp_rxqs(cpsw); } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/ti/davinci_mdio.c +++ linux-gcp-5.19.0/drivers/net/ethernet/ti/davinci_mdio.c @@ -26,6 +26,8 @@ #include #include #include +#include +#include /* * This timeout definition is a worst-case ultra defensive measure against @@ -41,6 +43,7 @@ struct davinci_mdio_of_param { int autosuspend_delay_ms; + bool manual_mode; }; struct davinci_mdio_regs { @@ -49,6 +52,15 @@ #define CONTROL_IDLE BIT(31) #define CONTROL_ENABLE BIT(30) #define CONTROL_MAX_DIV (0xffff) +#define CONTROL_CLKDIV GENMASK(15, 0) + +#define MDIO_MAN_MDCLK_O BIT(2) +#define MDIO_MAN_OE BIT(1) +#define MDIO_MAN_PIN BIT(0) +#define MDIO_MANUALMODE BIT(31) + +#define MDIO_PIN 0 + u32 alive; u32 link; @@ -59,7 +71,9 @@ u32 userintmasked; u32 userintmaskset; u32 userintmaskclr; - u32 __reserved_1[20]; + u32 manualif; + u32 poll; + u32 __reserved_1[18]; struct { u32 access; @@ -79,6 +93,7 @@ struct davinci_mdio_data { struct mdio_platform_data pdata; + struct mdiobb_ctrl bb_ctrl; struct davinci_mdio_regs __iomem *regs; struct clk *clk; struct device *dev; @@ -90,6 +105,7 @@ */ bool skip_scan; u32 clk_div; + bool manual_mode; }; static void davinci_mdio_init_clk(struct davinci_mdio_data *data) @@ -128,9 +144,122 @@ writel(data->clk_div | CONTROL_ENABLE, &data->regs->control); } -static int davinci_mdio_reset(struct mii_bus *bus) +static void davinci_mdio_disable(struct davinci_mdio_data *data) +{ + u32 reg; + + /* Disable MDIO state machine */ + reg = readl(&data->regs->control); + + reg &= ~CONTROL_CLKDIV; + reg |= data->clk_div; + + reg &= ~CONTROL_ENABLE; + writel(reg, &data->regs->control); +} + +static void davinci_mdio_enable_manual_mode(struct davinci_mdio_data *data) +{ + u32 reg; + /* set manual mode */ + reg = readl(&data->regs->poll); + reg |= MDIO_MANUALMODE; + writel(reg, &data->regs->poll); +} + +static void davinci_set_mdc(struct mdiobb_ctrl *ctrl, int level) +{ + struct davinci_mdio_data *data; + u32 reg; + + data = container_of(ctrl, struct davinci_mdio_data, bb_ctrl); + reg = readl(&data->regs->manualif); + + if (level) + reg |= MDIO_MAN_MDCLK_O; + else + reg &= ~MDIO_MAN_MDCLK_O; + + writel(reg, &data->regs->manualif); +} + +static void davinci_set_mdio_dir(struct mdiobb_ctrl *ctrl, int output) +{ + struct davinci_mdio_data *data; + u32 reg; + + data = container_of(ctrl, struct davinci_mdio_data, bb_ctrl); + reg = readl(&data->regs->manualif); + + if (output) + reg |= MDIO_MAN_OE; + else + reg &= ~MDIO_MAN_OE; + + writel(reg, &data->regs->manualif); +} + +static void davinci_set_mdio_data(struct mdiobb_ctrl *ctrl, int value) +{ + struct davinci_mdio_data *data; + u32 reg; + + data = container_of(ctrl, struct davinci_mdio_data, bb_ctrl); + reg = readl(&data->regs->manualif); + + if (value) + reg |= MDIO_MAN_PIN; + else + reg &= ~MDIO_MAN_PIN; + + writel(reg, &data->regs->manualif); +} + +static int davinci_get_mdio_data(struct mdiobb_ctrl *ctrl) +{ + struct davinci_mdio_data *data; + unsigned long reg; + + data = container_of(ctrl, struct davinci_mdio_data, bb_ctrl); + reg = readl(&data->regs->manualif); + return test_bit(MDIO_PIN, ®); +} + +static int davinci_mdiobb_read(struct mii_bus *bus, int phy, int reg) +{ + int ret; + + ret = pm_runtime_resume_and_get(bus->parent); + if (ret < 0) + return ret; + + ret = mdiobb_read(bus, phy, reg); + + pm_runtime_mark_last_busy(bus->parent); + pm_runtime_put_autosuspend(bus->parent); + + return ret; +} + +static int davinci_mdiobb_write(struct mii_bus *bus, int phy, int reg, + u16 val) +{ + int ret; + + ret = pm_runtime_resume_and_get(bus->parent); + if (ret < 0) + return ret; + + ret = mdiobb_write(bus, phy, reg, val); + + pm_runtime_mark_last_busy(bus->parent); + pm_runtime_put_autosuspend(bus->parent); + + return ret; +} + +static int davinci_mdio_common_reset(struct davinci_mdio_data *data) { - struct davinci_mdio_data *data = bus->priv; u32 phy_mask, ver; int ret; @@ -138,6 +267,11 @@ if (ret < 0) return ret; + if (data->manual_mode) { + davinci_mdio_disable(data); + davinci_mdio_enable_manual_mode(data); + } + /* wait for scan logic to settle */ msleep(PHY_MAX_ADDR * data->access_time); @@ -171,6 +305,23 @@ return 0; } +static int davinci_mdio_reset(struct mii_bus *bus) +{ + struct davinci_mdio_data *data = bus->priv; + + return davinci_mdio_common_reset(data); +} + +static int davinci_mdiobb_reset(struct mii_bus *bus) +{ + struct mdiobb_ctrl *ctrl = bus->priv; + struct davinci_mdio_data *data; + + data = container_of(ctrl, struct davinci_mdio_data, bb_ctrl); + + return davinci_mdio_common_reset(data); +} + /* wait until hardware is ready for another user access */ static inline int wait_for_user_access(struct davinci_mdio_data *data) { @@ -318,6 +469,28 @@ return 0; } +struct k3_mdio_soc_data { + bool manual_mode; +}; + +static const struct k3_mdio_soc_data am65_mdio_soc_data = { + .manual_mode = true, +}; + +static const struct soc_device_attribute k3_mdio_socinfo[] = { + { .family = "AM62X", .revision = "SR1.0", .data = &am65_mdio_soc_data }, + { .family = "AM64X", .revision = "SR1.0", .data = &am65_mdio_soc_data }, + { .family = "AM64X", .revision = "SR2.0", .data = &am65_mdio_soc_data }, + { .family = "AM65X", .revision = "SR1.0", .data = &am65_mdio_soc_data }, + { .family = "AM65X", .revision = "SR2.0", .data = &am65_mdio_soc_data }, + { .family = "J7200", .revision = "SR1.0", .data = &am65_mdio_soc_data }, + { .family = "J7200", .revision = "SR2.0", .data = &am65_mdio_soc_data }, + { .family = "J721E", .revision = "SR1.0", .data = &am65_mdio_soc_data }, + { .family = "J721E", .revision = "SR2.0", .data = &am65_mdio_soc_data }, + { .family = "J721S2", .revision = "SR1.0", .data = &am65_mdio_soc_data}, + { /* sentinel */ }, +}; + #if IS_ENABLED(CONFIG_OF) static const struct davinci_mdio_of_param of_cpsw_mdio_data = { .autosuspend_delay_ms = 100, @@ -331,6 +504,14 @@ MODULE_DEVICE_TABLE(of, davinci_mdio_of_mtable); #endif +static const struct mdiobb_ops davinci_mdiobb_ops = { + .owner = THIS_MODULE, + .set_mdc = davinci_set_mdc, + .set_mdio_dir = davinci_set_mdio_dir, + .set_mdio_data = davinci_set_mdio_data, + .get_mdio_data = davinci_get_mdio_data, +}; + static int davinci_mdio_probe(struct platform_device *pdev) { struct mdio_platform_data *pdata = dev_get_platdata(&pdev->dev); @@ -345,7 +526,26 @@ if (!data) return -ENOMEM; - data->bus = devm_mdiobus_alloc(dev); + data->manual_mode = false; + data->bb_ctrl.ops = &davinci_mdiobb_ops; + + if (IS_ENABLED(CONFIG_OF) && dev->of_node) { + const struct soc_device_attribute *soc_match_data; + + soc_match_data = soc_device_match(k3_mdio_socinfo); + if (soc_match_data && soc_match_data->data) { + const struct k3_mdio_soc_data *socdata = + soc_match_data->data; + + data->manual_mode = socdata->manual_mode; + } + } + + if (data->manual_mode) + data->bus = alloc_mdio_bitbang(&data->bb_ctrl); + else + data->bus = devm_mdiobus_alloc(dev); + if (!data->bus) { dev_err(dev, "failed to alloc mii bus\n"); return -ENOMEM; @@ -371,11 +571,20 @@ } data->bus->name = dev_name(dev); - data->bus->read = davinci_mdio_read; - data->bus->write = davinci_mdio_write; - data->bus->reset = davinci_mdio_reset; + + if (data->manual_mode) { + data->bus->read = davinci_mdiobb_read; + data->bus->write = davinci_mdiobb_write; + data->bus->reset = davinci_mdiobb_reset; + + dev_info(dev, "Configuring MDIO in manual mode\n"); + } else { + data->bus->read = davinci_mdio_read; + data->bus->write = davinci_mdio_write; + data->bus->reset = davinci_mdio_reset; + data->bus->priv = data; + } data->bus->parent = dev; - data->bus->priv = data; data->clk = devm_clk_get(dev, "fck"); if (IS_ERR(data->clk)) { @@ -433,9 +642,13 @@ { struct davinci_mdio_data *data = platform_get_drvdata(pdev); - if (data->bus) + if (data->bus) { mdiobus_unregister(data->bus); + if (data->manual_mode) + free_mdio_bitbang(data->bus); + } + pm_runtime_dont_use_autosuspend(&pdev->dev); pm_runtime_disable(&pdev->dev); @@ -452,7 +665,9 @@ ctrl = readl(&data->regs->control); ctrl &= ~CONTROL_ENABLE; writel(ctrl, &data->regs->control); - wait_for_idle(data); + + if (!data->manual_mode) + wait_for_idle(data); return 0; } @@ -461,7 +676,12 @@ { struct davinci_mdio_data *data = dev_get_drvdata(dev); - davinci_mdio_enable(data); + if (data->manual_mode) { + davinci_mdio_disable(data); + davinci_mdio_enable_manual_mode(data); + } else { + davinci_mdio_enable(data); + } return 0; } #endif --- linux-gcp-5.19.0.orig/drivers/net/ethernet/ti/netcp_core.c +++ linux-gcp-5.19.0/drivers/net/ethernet/ti/netcp_core.c @@ -1261,7 +1261,7 @@ } /* Submit the packet */ -static int netcp_ndo_start_xmit(struct sk_buff *skb, struct net_device *ndev) +static netdev_tx_t netcp_ndo_start_xmit(struct sk_buff *skb, struct net_device *ndev) { struct netcp_intf *netcp = netdev_priv(ndev); struct netcp_stats *tx_stats = &netcp->stats; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/tundra/tsi108_eth.c +++ linux-gcp-5.19.0/drivers/net/ethernet/tundra/tsi108_eth.c @@ -1303,12 +1303,15 @@ data->rxring = dma_alloc_coherent(&data->pdev->dev, rxring_size, &data->rxdma, GFP_KERNEL); - if (!data->rxring) + if (!data->rxring) { + free_irq(data->irq_num, dev); return -ENOMEM; + } data->txring = dma_alloc_coherent(&data->pdev->dev, txring_size, &data->txdma, GFP_KERNEL); if (!data->txring) { + free_irq(data->irq_num, dev); dma_free_coherent(&data->pdev->dev, rxring_size, data->rxring, data->rxdma); return -ENOMEM; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/xilinx/xilinx_axienet.h +++ linux-gcp-5.19.0/drivers/net/ethernet/xilinx/xilinx_axienet.h @@ -402,6 +402,9 @@ * @rx_bd_num: Size of RX buffer descriptor ring * @rx_bd_ci: Stores the index of the Rx buffer descriptor in the ring being * accessed currently. + * @rx_packets: RX packet count for statistics + * @rx_bytes: RX byte count for statistics + * @rx_stat_sync: Synchronization object for RX stats * @napi_tx: NAPI TX control structure * @tx_dma_cr: Nominal content of TX DMA control register * @tx_bd_v: Virtual address of the TX buffer descriptor ring @@ -411,6 +414,9 @@ * complete. Only updated at runtime by TX NAPI poll. * @tx_bd_tail: Stores the index of the next Tx buffer descriptor in the ring * to be populated. + * @tx_packets: TX packet count for statistics + * @tx_bytes: TX byte count for statistics + * @tx_stat_sync: Synchronization object for TX stats * @dma_err_task: Work structure to process Axi DMA errors * @tx_irq: Axidma TX IRQ number * @rx_irq: Axidma RX IRQ number @@ -458,6 +464,9 @@ dma_addr_t rx_bd_p; u32 rx_bd_num; u32 rx_bd_ci; + u64_stats_t rx_packets; + u64_stats_t rx_bytes; + struct u64_stats_sync rx_stat_sync; struct napi_struct napi_tx; u32 tx_dma_cr; @@ -466,6 +475,9 @@ u32 tx_bd_num; u32 tx_bd_ci; u32 tx_bd_tail; + u64_stats_t tx_packets; + u64_stats_t tx_bytes; + struct u64_stats_sync tx_stat_sync; struct work_struct dma_err_task; --- linux-gcp-5.19.0.orig/drivers/net/ethernet/xilinx/xilinx_axienet_main.c +++ linux-gcp-5.19.0/drivers/net/ethernet/xilinx/xilinx_axienet_main.c @@ -529,6 +529,16 @@ return ret; } + /* Wait for PhyRstCmplt bit to be set, indicating the PHY reset has finished */ + ret = read_poll_timeout(axienet_ior, value, + value & XAE_INT_PHYRSTCMPLT_MASK, + DELAY_OF_ONE_MILLISEC, 50000, false, lp, + XAE_IS_OFFSET); + if (ret) { + dev_err(lp->dev, "%s: timeout waiting for PhyRstCmplt\n", __func__); + return ret; + } + return 0; } @@ -752,8 +762,10 @@ if (lp->tx_bd_ci >= lp->tx_bd_num) lp->tx_bd_ci %= lp->tx_bd_num; - ndev->stats.tx_packets += packets; - ndev->stats.tx_bytes += size; + u64_stats_update_begin(&lp->tx_stat_sync); + u64_stats_add(&lp->tx_packets, packets); + u64_stats_add(&lp->tx_bytes, size); + u64_stats_update_end(&lp->tx_stat_sync); /* Matches barrier in axienet_start_xmit */ smp_mb(); @@ -984,8 +996,10 @@ cur_p = &lp->rx_bd_v[lp->rx_bd_ci]; } - lp->ndev->stats.rx_packets += packets; - lp->ndev->stats.rx_bytes += size; + u64_stats_update_begin(&lp->rx_stat_sync); + u64_stats_add(&lp->rx_packets, packets); + u64_stats_add(&lp->rx_bytes, size); + u64_stats_update_end(&lp->rx_stat_sync); if (tail_p) axienet_dma_out_addr(lp, XAXIDMA_RX_TDESC_OFFSET, tail_p); @@ -1292,10 +1306,32 @@ return phylink_mii_ioctl(lp->phylink, rq, cmd); } +static void +axienet_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) +{ + struct axienet_local *lp = netdev_priv(dev); + unsigned int start; + + netdev_stats_to_stats64(stats, &dev->stats); + + do { + start = u64_stats_fetch_begin_irq(&lp->rx_stat_sync); + stats->rx_packets = u64_stats_read(&lp->rx_packets); + stats->rx_bytes = u64_stats_read(&lp->rx_bytes); + } while (u64_stats_fetch_retry_irq(&lp->rx_stat_sync, start)); + + do { + start = u64_stats_fetch_begin_irq(&lp->tx_stat_sync); + stats->tx_packets = u64_stats_read(&lp->tx_packets); + stats->tx_bytes = u64_stats_read(&lp->tx_bytes); + } while (u64_stats_fetch_retry_irq(&lp->tx_stat_sync, start)); +} + static const struct net_device_ops axienet_netdev_ops = { .ndo_open = axienet_open, .ndo_stop = axienet_stop, .ndo_start_xmit = axienet_start_xmit, + .ndo_get_stats64 = axienet_get_stats64, .ndo_change_mtu = axienet_change_mtu, .ndo_set_mac_address = netdev_set_mac_address, .ndo_validate_addr = eth_validate_addr, @@ -1850,6 +1886,9 @@ lp->rx_bd_num = RX_BD_NUM_DEFAULT; lp->tx_bd_num = TX_BD_NUM_DEFAULT; + u64_stats_init(&lp->rx_stat_sync); + u64_stats_init(&lp->tx_stat_sync); + netif_napi_add(ndev, &lp->napi_rx, axienet_rx_poll, NAPI_POLL_WEIGHT); netif_napi_add(ndev, &lp->napi_tx, axienet_tx_poll, NAPI_POLL_WEIGHT); --- linux-gcp-5.19.0.orig/drivers/net/ethernet/xilinx/xilinx_emaclite.c +++ linux-gcp-5.19.0/drivers/net/ethernet/xilinx/xilinx_emaclite.c @@ -536,7 +536,7 @@ xemaclite_enable_interrupts(lp); if (lp->deferred_skb) { - dev_kfree_skb(lp->deferred_skb); + dev_kfree_skb_irq(lp->deferred_skb); lp->deferred_skb = NULL; dev->stats.tx_errors++; } --- linux-gcp-5.19.0.orig/drivers/net/ethernet/xircom/xirc2ps_cs.c +++ linux-gcp-5.19.0/drivers/net/ethernet/xircom/xirc2ps_cs.c @@ -503,6 +503,11 @@ xirc2ps_detach(struct pcmcia_device *link) { struct net_device *dev = link->priv; + struct local_info *local = netdev_priv(dev); + + netif_carrier_off(dev); + netif_tx_disable(dev); + cancel_work_sync(&local->tx_timeout_task); dev_dbg(&link->dev, "detach\n"); --- linux-gcp-5.19.0.orig/drivers/net/fddi/defxx.c +++ linux-gcp-5.19.0/drivers/net/fddi/defxx.c @@ -3831,10 +3831,24 @@ int status; status = pci_register_driver(&dfx_pci_driver); - if (!status) - status = eisa_driver_register(&dfx_eisa_driver); - if (!status) - status = tc_register_driver(&dfx_tc_driver); + if (status) + goto err_pci_register; + + status = eisa_driver_register(&dfx_eisa_driver); + if (status) + goto err_eisa_register; + + status = tc_register_driver(&dfx_tc_driver); + if (status) + goto err_tc_register; + + return 0; + +err_tc_register: + eisa_driver_unregister(&dfx_eisa_driver); +err_eisa_register: + pci_unregister_driver(&dfx_pci_driver); +err_pci_register: return status; } --- linux-gcp-5.19.0.orig/drivers/net/geneve.c +++ linux-gcp-5.19.0/drivers/net/geneve.c @@ -797,7 +797,8 @@ struct geneve_sock *gs4, struct flowi4 *fl4, const struct ip_tunnel_info *info, - __be16 dport, __be16 sport) + __be16 dport, __be16 sport, + __u8 *full_tos) { bool use_cache = ip_tunnel_dst_cache_usable(skb, info); struct geneve_dev *geneve = netdev_priv(dev); @@ -815,6 +816,7 @@ fl4->saddr = info->key.u.ipv4.src; fl4->fl4_dport = dport; fl4->fl4_sport = sport; + fl4->flowi4_flags = info->key.flow_flags; tos = info->key.tos; if ((tos == 1) && !geneve->cfg.collect_md) { @@ -822,6 +824,8 @@ use_cache = false; } fl4->flowi4_tos = RT_TOS(tos); + if (full_tos) + *full_tos = tos; dst_cache = (struct dst_cache *)&info->dst_cache; if (use_cache) { @@ -875,8 +879,7 @@ use_cache = false; } - fl6->flowlabel = ip6_make_flowinfo(RT_TOS(prio), - info->key.label); + fl6->flowlabel = ip6_make_flowinfo(prio, info->key.label); dst_cache = (struct dst_cache *)&info->dst_cache; if (use_cache) { dst = dst_cache_get_ip6(dst_cache, &fl6->saddr); @@ -910,6 +913,7 @@ const struct ip_tunnel_key *key = &info->key; struct rtable *rt; struct flowi4 fl4; + __u8 full_tos; __u8 tos, ttl; __be16 df = 0; __be16 sport; @@ -920,7 +924,7 @@ sport = udp_flow_src_port(geneve->net, skb, 1, USHRT_MAX, true); rt = geneve_get_v4_rt(skb, dev, gs4, &fl4, info, - geneve->cfg.info.key.tp_dst, sport); + geneve->cfg.info.key.tp_dst, sport, &full_tos); if (IS_ERR(rt)) return PTR_ERR(rt); @@ -964,7 +968,7 @@ df = key->tun_flags & TUNNEL_DONT_FRAGMENT ? htons(IP_DF) : 0; } else { - tos = ip_tunnel_ecn_encap(fl4.flowi4_tos, ip_hdr(skb), skb); + tos = ip_tunnel_ecn_encap(full_tos, ip_hdr(skb), skb); if (geneve->cfg.ttl_inherit) ttl = ip_tunnel_get_ttl(ip_hdr(skb), skb); else @@ -1148,7 +1152,7 @@ 1, USHRT_MAX, true); rt = geneve_get_v4_rt(skb, dev, gs4, &fl4, info, - geneve->cfg.info.key.tp_dst, sport); + geneve->cfg.info.key.tp_dst, sport, NULL); if (IS_ERR(rt)) return PTR_ERR(rt); --- linux-gcp-5.19.0.orig/drivers/net/hamradio/baycom_epp.c +++ linux-gcp-5.19.0/drivers/net/hamradio/baycom_epp.c @@ -758,7 +758,7 @@ * ===================== network driver interface ========================= */ -static int baycom_send_packet(struct sk_buff *skb, struct net_device *dev) +static netdev_tx_t baycom_send_packet(struct sk_buff *skb, struct net_device *dev) { struct baycom_state *bc = netdev_priv(dev); --- linux-gcp-5.19.0.orig/drivers/net/hamradio/bpqether.c +++ linux-gcp-5.19.0/drivers/net/hamradio/bpqether.c @@ -533,7 +533,7 @@ if (!net_eq(dev_net(dev), &init_net)) return NOTIFY_DONE; - if (!dev_is_ethdev(dev)) + if (!dev_is_ethdev(dev) && !bpq_get_ax25_dev(dev)) return NOTIFY_DONE; switch (event) { --- linux-gcp-5.19.0.orig/drivers/net/hamradio/scc.c +++ linux-gcp-5.19.0/drivers/net/hamradio/scc.c @@ -302,12 +302,12 @@ spin_lock_irqsave(&scc->lock, flags); if (scc->tx_buff != NULL) { - dev_kfree_skb(scc->tx_buff); + dev_kfree_skb_irq(scc->tx_buff); scc->tx_buff = NULL; } while (!skb_queue_empty(&scc->tx_queue)) - dev_kfree_skb(skb_dequeue(&scc->tx_queue)); + dev_kfree_skb_irq(skb_dequeue(&scc->tx_queue)); spin_unlock_irqrestore(&scc->lock, flags); } @@ -1668,7 +1668,7 @@ if (skb_queue_len(&scc->tx_queue) > scc->dev->tx_queue_len) { struct sk_buff *skb_del; skb_del = skb_dequeue(&scc->tx_queue); - dev_kfree_skb(skb_del); + dev_kfree_skb_irq(skb_del); } skb_queue_tail(&scc->tx_queue, skb); netif_trans_update(dev); --- linux-gcp-5.19.0.orig/drivers/net/hyperv/hyperv_net.h +++ linux-gcp-5.19.0/drivers/net/hyperv/hyperv_net.h @@ -1051,7 +1051,8 @@ u32 vf_alloc; /* Serial number of the VF to team with */ u32 vf_serial; - + /* completion variable to confirm vf association */ + struct completion vf_add; /* Is the current data path through the VF NIC? */ bool data_path_is_vf; --- linux-gcp-5.19.0.orig/drivers/net/hyperv/netvsc.c +++ linux-gcp-5.19.0/drivers/net/hyperv/netvsc.c @@ -851,6 +851,7 @@ u32 msglen = hv_pkt_datalen(desc); struct nvsp_message *pkt_rqst; u64 cmd_rqst; + u32 status; /* First check if this is a VMBUS completion without data payload */ if (!msglen) { @@ -922,6 +923,23 @@ break; case NVSP_MSG1_TYPE_SEND_RNDIS_PKT_COMPLETE: + if (msglen < sizeof(struct nvsp_message_header) + + sizeof(struct nvsp_1_message_send_rndis_packet_complete)) { + if (net_ratelimit()) + netdev_err(ndev, "nvsp_rndis_pkt_complete length too small: %u\n", + msglen); + return; + } + + /* If status indicates an error, output a message so we know + * there's a problem. But process the completion anyway so the + * resources are released. + */ + status = nvsp_packet->msg.v1_msg.send_rndis_pkt_complete.status; + if (status != NVSP_STAT_SUCCESS && net_ratelimit()) + netdev_err(ndev, "nvsp_rndis_pkt_complete error status: %x\n", + status); + netvsc_send_tx_complete(ndev, net_device, incoming_channel, desc, budget); break; @@ -987,9 +1005,6 @@ void netvsc_dma_unmap(struct hv_device *hv_dev, struct hv_netvsc_packet *packet) { - u32 page_count = packet->cp_partial ? - packet->page_buf_cnt - packet->rmsg_pgcnt : - packet->page_buf_cnt; int i; if (!hv_is_isolation_supported()) @@ -998,7 +1013,7 @@ if (!packet->dma_range) return; - for (i = 0; i < page_count; i++) + for (i = 0; i < packet->page_buf_cnt; i++) dma_unmap_single(&hv_dev->device, packet->dma_range[i].dma, packet->dma_range[i].mapping_size, DMA_TO_DEVICE); @@ -1028,9 +1043,7 @@ struct hv_netvsc_packet *packet, struct hv_page_buffer *pb) { - u32 page_count = packet->cp_partial ? - packet->page_buf_cnt - packet->rmsg_pgcnt : - packet->page_buf_cnt; + u32 page_count = packet->page_buf_cnt; dma_addr_t dma; int i; @@ -1039,7 +1052,7 @@ packet->dma_range = kcalloc(page_count, sizeof(*packet->dma_range), - GFP_KERNEL); + GFP_ATOMIC); if (!packet->dma_range) return -ENOMEM; @@ -1580,6 +1593,10 @@ net_device_ctx->vf_alloc = nvmsg->msg.v4_msg.vf_assoc.allocated; net_device_ctx->vf_serial = nvmsg->msg.v4_msg.vf_assoc.serial; + + if (net_device_ctx->vf_alloc) + complete(&net_device_ctx->vf_add); + netdev_info(ndev, "VF slot %u %s\n", net_device_ctx->vf_serial, net_device_ctx->vf_alloc ? "added" : "removed"); --- linux-gcp-5.19.0.orig/drivers/net/hyperv/netvsc_drv.c +++ linux-gcp-5.19.0/drivers/net/hyperv/netvsc_drv.c @@ -2313,6 +2313,18 @@ } + /* Fallback path to check synthetic vf with + * help of mac addr + */ + list_for_each_entry(ndev_ctx, &netvsc_dev_list, list) { + ndev = hv_get_drvdata(ndev_ctx->device_ctx); + if (ether_addr_equal(vf_netdev->perm_addr, ndev->perm_addr)) { + netdev_notice(vf_netdev, + "falling back to mac addr based matching\n"); + return ndev; + } + } + netdev_notice(vf_netdev, "no netdev found for vf serial:%u\n", serial); return NULL; @@ -2409,6 +2421,11 @@ if (net_device_ctx->data_path_is_vf == vf_is_up) return NOTIFY_OK; + if (vf_is_up && !net_device_ctx->vf_alloc) { + netdev_info(ndev, "Waiting for the VF association from host\n"); + wait_for_completion(&net_device_ctx->vf_add); + } + ret = netvsc_switch_datapath(ndev, vf_is_up); if (ret) { @@ -2440,6 +2457,7 @@ netvsc_vf_setxdp(vf_netdev, NULL); + reinit_completion(&net_device_ctx->vf_add); netdev_rx_handler_unregister(vf_netdev); netdev_upper_dev_unlink(vf_netdev, ndev); RCU_INIT_POINTER(net_device_ctx->vf_netdev, NULL); @@ -2479,6 +2497,7 @@ INIT_DELAYED_WORK(&net_device_ctx->dwork, netvsc_link_change); + init_completion(&net_device_ctx->vf_add); spin_lock_init(&net_device_ctx->lock); INIT_LIST_HEAD(&net_device_ctx->reconfig_events); INIT_DELAYED_WORK(&net_device_ctx->vf_takeover, netvsc_vf_setup); --- linux-gcp-5.19.0.orig/drivers/net/ieee802154/adf7242.c +++ linux-gcp-5.19.0/drivers/net/ieee802154/adf7242.c @@ -1310,10 +1310,11 @@ debugfs_remove_recursive(lp->debugfs_root); + ieee802154_unregister_hw(lp->hw); + cancel_delayed_work_sync(&lp->work); destroy_workqueue(lp->wqueue); - ieee802154_unregister_hw(lp->hw); mutex_destroy(&lp->bmux); ieee802154_free_hw(lp->hw); } --- linux-gcp-5.19.0.orig/drivers/net/ieee802154/ca8210.c +++ linux-gcp-5.19.0/drivers/net/ieee802154/ca8210.c @@ -885,7 +885,7 @@ dev_dbg(&spi->dev, "%s called\n", __func__); - cas_ctl = kmalloc(sizeof(*cas_ctl), GFP_ATOMIC); + cas_ctl = kzalloc(sizeof(*cas_ctl), GFP_ATOMIC); if (!cas_ctl) return -ENOMEM; --- linux-gcp-5.19.0.orig/drivers/net/ieee802154/cc2520.c +++ linux-gcp-5.19.0/drivers/net/ieee802154/cc2520.c @@ -504,6 +504,7 @@ goto err_tx; if (status & CC2520_STATUS_TX_UNDERFLOW) { + rc = -EINVAL; dev_err(&priv->spi->dev, "cc2520 tx underflow exception\n"); goto err_tx; } @@ -969,7 +970,7 @@ if (timeout-- <= 0) { dev_err(&priv->spi->dev, "oscillator start failed!\n"); - return ret; + return -ETIMEDOUT; } udelay(1); } while (!(status & CC2520_STATUS_XOSC32M_STABLE)); --- linux-gcp-5.19.0.orig/drivers/net/ipa/gsi.c +++ linux-gcp-5.19.0/drivers/net/ipa/gsi.c @@ -1673,7 +1673,8 @@ val = u32_encode_bits(opcode, GENERIC_OPCODE_FMASK); val |= u32_encode_bits(channel_id, GENERIC_CHID_FMASK); val |= u32_encode_bits(GSI_EE_MODEM, GENERIC_EE_FMASK); - val |= u32_encode_bits(params, GENERIC_PARAMS_FMASK); + if (gsi->version >= IPA_VERSION_4_11) + val |= u32_encode_bits(params, GENERIC_PARAMS_FMASK); timeout = !gsi_command(gsi, GSI_GENERIC_CMD_OFFSET, val); --- linux-gcp-5.19.0.orig/drivers/net/ipa/gsi_reg.h +++ linux-gcp-5.19.0/drivers/net/ipa/gsi_reg.h @@ -472,7 +472,6 @@ #define GSI_EE_N_ERROR_LOG_OFFSET(ee) \ (0x0001f200 + 0x4000 * (ee)) -/* Fields below are present for IPA v3.5.1 and above */ #define ERR_ARG3_FMASK GENMASK(3, 0) #define ERR_ARG2_FMASK GENMASK(7, 4) #define ERR_ARG1_FMASK GENMASK(11, 8) --- linux-gcp-5.19.0.orig/drivers/net/ipa/ipa_interrupt.c +++ linux-gcp-5.19.0/drivers/net/ipa/ipa_interrupt.c @@ -122,6 +122,16 @@ return IRQ_HANDLED; } +void ipa_interrupt_irq_disable(struct ipa *ipa) +{ + disable_irq(ipa->interrupt->irq); +} + +void ipa_interrupt_irq_enable(struct ipa *ipa) +{ + enable_irq(ipa->interrupt->irq); +} + /* Common function used to enable/disable TX_SUSPEND for an endpoint */ static void ipa_interrupt_suspend_control(struct ipa_interrupt *interrupt, u32 endpoint_id, bool enable) --- linux-gcp-5.19.0.orig/drivers/net/ipa/ipa_interrupt.h +++ linux-gcp-5.19.0/drivers/net/ipa/ipa_interrupt.h @@ -86,6 +86,22 @@ void ipa_interrupt_simulate_suspend(struct ipa_interrupt *interrupt); /** + * ipa_interrupt_irq_enable() - Enable IPA interrupts + * @ipa: IPA pointer + * + * This enables the IPA interrupt line + */ +void ipa_interrupt_irq_enable(struct ipa *ipa); + +/** + * ipa_interrupt_irq_disable() - Disable IPA interrupts + * @ipa: IPA pointer + * + * This disables the IPA interrupt line + */ +void ipa_interrupt_irq_disable(struct ipa *ipa); + +/** * ipa_interrupt_config() - Configure the IPA interrupt framework * @ipa: IPA pointer * --- linux-gcp-5.19.0.orig/drivers/net/ipa/ipa_mem.c +++ linux-gcp-5.19.0/drivers/net/ipa/ipa_mem.c @@ -568,7 +568,7 @@ } /* Align the address down and the size up to a page boundary */ - addr = qcom_smem_virt_to_phys(virt) & PAGE_MASK; + addr = qcom_smem_virt_to_phys(virt); phys = addr & PAGE_MASK; size = PAGE_ALIGN(size + addr - phys); iova = phys; /* We just want a direct mapping */ --- linux-gcp-5.19.0.orig/drivers/net/ipa/ipa_power.c +++ linux-gcp-5.19.0/drivers/net/ipa/ipa_power.c @@ -181,6 +181,17 @@ __set_bit(IPA_POWER_FLAG_SYSTEM, ipa->power->flags); + /* Increment the disable depth to ensure that the IRQ won't + * be re-enabled until the matching _enable call in + * ipa_resume(). We do this to ensure that the interrupt + * handler won't run whilst PM runtime is disabled. + * + * Note that disabling the IRQ is NOT the same as disabling + * irq wake. If wakeup is enabled for the IPA then the IRQ + * will still cause the system to wake up, see irq_set_irq_wake(). + */ + ipa_interrupt_irq_disable(ipa); + return pm_runtime_force_suspend(dev); } @@ -193,6 +204,12 @@ __clear_bit(IPA_POWER_FLAG_SYSTEM, ipa->power->flags); + /* Now that PM runtime is enabled again it's safe + * to turn the IRQ back on and process any data + * that was received during suspend. + */ + ipa_interrupt_irq_enable(ipa); + return ret; } --- linux-gcp-5.19.0.orig/drivers/net/ipa/ipa_qmi.c +++ linux-gcp-5.19.0/drivers/net/ipa/ipa_qmi.c @@ -308,12 +308,12 @@ mem = ipa_mem_find(ipa, IPA_MEM_V4_ROUTE); req.v4_route_tbl_info_valid = 1; req.v4_route_tbl_info.start = ipa->mem_offset + mem->offset; - req.v4_route_tbl_info.count = mem->size / sizeof(__le64); + req.v4_route_tbl_info.end = IPA_ROUTE_MODEM_COUNT - 1; mem = ipa_mem_find(ipa, IPA_MEM_V6_ROUTE); req.v6_route_tbl_info_valid = 1; req.v6_route_tbl_info.start = ipa->mem_offset + mem->offset; - req.v6_route_tbl_info.count = mem->size / sizeof(__le64); + req.v6_route_tbl_info.end = IPA_ROUTE_MODEM_COUNT - 1; mem = ipa_mem_find(ipa, IPA_MEM_V4_FILTER); req.v4_filter_tbl_start_valid = 1; @@ -352,7 +352,7 @@ req.v4_hash_route_tbl_info_valid = 1; req.v4_hash_route_tbl_info.start = ipa->mem_offset + mem->offset; - req.v4_hash_route_tbl_info.count = mem->size / sizeof(__le64); + req.v4_hash_route_tbl_info.end = IPA_ROUTE_MODEM_COUNT - 1; } mem = ipa_mem_find(ipa, IPA_MEM_V6_ROUTE_HASHED); @@ -360,7 +360,7 @@ req.v6_hash_route_tbl_info_valid = 1; req.v6_hash_route_tbl_info.start = ipa->mem_offset + mem->offset; - req.v6_hash_route_tbl_info.count = mem->size / sizeof(__le64); + req.v6_hash_route_tbl_info.end = IPA_ROUTE_MODEM_COUNT - 1; } mem = ipa_mem_find(ipa, IPA_MEM_V4_FILTER_HASHED); --- linux-gcp-5.19.0.orig/drivers/net/ipa/ipa_qmi_msg.c +++ linux-gcp-5.19.0/drivers/net/ipa/ipa_qmi_msg.c @@ -311,7 +311,7 @@ .tlv_type = 0x12, .offset = offsetof(struct ipa_init_modem_driver_req, v4_route_tbl_info), - .ei_array = ipa_mem_array_ei, + .ei_array = ipa_mem_bounds_ei, }, { .data_type = QMI_OPT_FLAG, @@ -332,7 +332,7 @@ .tlv_type = 0x13, .offset = offsetof(struct ipa_init_modem_driver_req, v6_route_tbl_info), - .ei_array = ipa_mem_array_ei, + .ei_array = ipa_mem_bounds_ei, }, { .data_type = QMI_OPT_FLAG, @@ -496,7 +496,7 @@ .tlv_type = 0x1b, .offset = offsetof(struct ipa_init_modem_driver_req, v4_hash_route_tbl_info), - .ei_array = ipa_mem_array_ei, + .ei_array = ipa_mem_bounds_ei, }, { .data_type = QMI_OPT_FLAG, @@ -517,7 +517,7 @@ .tlv_type = 0x1c, .offset = offsetof(struct ipa_init_modem_driver_req, v6_hash_route_tbl_info), - .ei_array = ipa_mem_array_ei, + .ei_array = ipa_mem_bounds_ei, }, { .data_type = QMI_OPT_FLAG, --- linux-gcp-5.19.0.orig/drivers/net/ipa/ipa_qmi_msg.h +++ linux-gcp-5.19.0/drivers/net/ipa/ipa_qmi_msg.h @@ -86,9 +86,11 @@ IPA_QMI_PLATFORM_TYPE_MSM_QNX_V01 = 0x5, /* QNX MSM */ }; -/* This defines the start and end offset of a range of memory. Both - * fields are offsets relative to the start of IPA shared memory. - * The end value is the last addressable byte *within* the range. +/* This defines the start and end offset of a range of memory. The start + * value is a byte offset relative to the start of IPA shared memory. The + * end value is the last addressable unit *within* the range. Typically + * the end value is in units of bytes, however it can also be a maximum + * array index value. */ struct ipa_mem_bounds { u32 start; @@ -129,18 +131,19 @@ u8 hdr_tbl_info_valid; struct ipa_mem_bounds hdr_tbl_info; - /* Routing table information. These define the location and size of - * non-hashable IPv4 and IPv6 filter tables. The start values are - * offsets relative to the start of IPA shared memory. + /* Routing table information. These define the location and maximum + * *index* (not byte) for the modem portion of non-hashable IPv4 and + * IPv6 routing tables. The start values are byte offsets relative + * to the start of IPA shared memory. */ u8 v4_route_tbl_info_valid; - struct ipa_mem_array v4_route_tbl_info; + struct ipa_mem_bounds v4_route_tbl_info; u8 v6_route_tbl_info_valid; - struct ipa_mem_array v6_route_tbl_info; + struct ipa_mem_bounds v6_route_tbl_info; /* Filter table information. These define the location of the * non-hashable IPv4 and IPv6 filter tables. The start values are - * offsets relative to the start of IPA shared memory. + * byte offsets relative to the start of IPA shared memory. */ u8 v4_filter_tbl_start_valid; u32 v4_filter_tbl_start; @@ -181,18 +184,20 @@ u8 zip_tbl_info_valid; struct ipa_mem_bounds zip_tbl_info; - /* Routing table information. These define the location and size - * of hashable IPv4 and IPv6 filter tables. The start values are - * offsets relative to the start of IPA shared memory. + /* Routing table information. These define the location and maximum + * *index* (not byte) for the modem portion of hashable IPv4 and IPv6 + * routing tables (if supported by hardware). The start values are + * byte offsets relative to the start of IPA shared memory. */ u8 v4_hash_route_tbl_info_valid; - struct ipa_mem_array v4_hash_route_tbl_info; + struct ipa_mem_bounds v4_hash_route_tbl_info; u8 v6_hash_route_tbl_info_valid; - struct ipa_mem_array v6_hash_route_tbl_info; + struct ipa_mem_bounds v6_hash_route_tbl_info; /* Filter table information. These define the location and size - * of hashable IPv4 and IPv6 filter tables. The start values are - * offsets relative to the start of IPA shared memory. + * of hashable IPv4 and IPv6 filter tables (if supported by hardware). + * The start values are byte offsets relative to the start of IPA + * shared memory. */ u8 v4_hash_filter_tbl_start_valid; u32 v4_hash_filter_tbl_start; --- linux-gcp-5.19.0.orig/drivers/net/ipa/ipa_table.c +++ linux-gcp-5.19.0/drivers/net/ipa/ipa_table.c @@ -108,8 +108,6 @@ /* Assignment of route table entries to the modem and AP */ #define IPA_ROUTE_MODEM_MIN 0 -#define IPA_ROUTE_MODEM_COUNT 8 - #define IPA_ROUTE_AP_MIN IPA_ROUTE_MODEM_COUNT #define IPA_ROUTE_AP_COUNT \ (IPA_ROUTE_COUNT_MAX - IPA_ROUTE_MODEM_COUNT) --- linux-gcp-5.19.0.orig/drivers/net/ipa/ipa_table.h +++ linux-gcp-5.19.0/drivers/net/ipa/ipa_table.h @@ -13,6 +13,9 @@ /* The maximum number of filter table entries (IPv4, IPv6; hashed or not) */ #define IPA_FILTER_COUNT_MAX 14 +/* The number of route table entries allotted to the modem */ +#define IPA_ROUTE_MODEM_COUNT 8 + /* The maximum number of route table entries (IPv4, IPv6; hashed or not) */ #define IPA_ROUTE_COUNT_MAX 15 --- linux-gcp-5.19.0.orig/drivers/net/ipvlan/ipvlan_core.c +++ linux-gcp-5.19.0/drivers/net/ipvlan/ipvlan_core.c @@ -495,7 +495,6 @@ static int ipvlan_process_outbound(struct sk_buff *skb) { - struct ethhdr *ethh = eth_hdr(skb); int ret = NET_XMIT_DROP; /* The ipvlan is a pseudo-L2 device, so the packets that we receive @@ -505,6 +504,8 @@ if (skb_mac_header_was_set(skb)) { /* In this mode we dont care about * multicast and broadcast traffic */ + struct ethhdr *ethh = eth_hdr(skb); + if (is_multicast_ether_addr(ethh->h_dest)) { pr_debug_ratelimited( "Dropped {multi|broad}cast of type=[%x]\n", @@ -589,7 +590,7 @@ static int ipvlan_xmit_mode_l2(struct sk_buff *skb, struct net_device *dev) { const struct ipvl_dev *ipvlan = netdev_priv(dev); - struct ethhdr *eth = eth_hdr(skb); + struct ethhdr *eth = skb_eth_hdr(skb); struct ipvl_addr *addr; void *lyr3h; int addr_type; @@ -619,6 +620,7 @@ return dev_forward_skb(ipvlan->phy_dev, skb); } else if (is_multicast_ether_addr(eth->h_dest)) { + skb_reset_mac_header(skb); ipvlan_skb_crossing_ns(skb, NULL); ipvlan_multicast_enqueue(ipvlan->port, skb, true); return NET_XMIT_SUCCESS; --- linux-gcp-5.19.0.orig/drivers/net/ipvlan/ipvtap.c +++ linux-gcp-5.19.0/drivers/net/ipvlan/ipvtap.c @@ -194,7 +194,7 @@ .notifier_call = ipvtap_device_event, }; -static int ipvtap_init(void) +static int __init ipvtap_init(void) { int err; @@ -228,7 +228,7 @@ } module_init(ipvtap_init); -static void ipvtap_exit(void) +static void __exit ipvtap_exit(void) { rtnl_link_unregister(&ipvtap_link_ops); unregister_netdevice_notifier(&ipvtap_notifier_block); --- linux-gcp-5.19.0.orig/drivers/net/loopback.c +++ linux-gcp-5.19.0/drivers/net/loopback.c @@ -211,7 +211,7 @@ int err; err = -ENOMEM; - dev = alloc_netdev(0, "lo", NET_NAME_UNKNOWN, loopback_setup); + dev = alloc_netdev(0, "lo", NET_NAME_PREDICTABLE, loopback_setup); if (!dev) goto out; --- linux-gcp-5.19.0.orig/drivers/net/macsec.c +++ linux-gcp-5.19.0/drivers/net/macsec.c @@ -449,11 +449,6 @@ return (struct macsec_eth_header *)skb_mac_header(skb); } -static sci_t dev_to_sci(struct net_device *dev, __be16 port) -{ - return make_sci(dev->dev_addr, port); -} - static void __macsec_pn_wrapped(struct macsec_secy *secy, struct macsec_tx_sa *tx_sa) { @@ -1393,7 +1388,8 @@ return NULL; } -static struct macsec_rx_sc *create_rx_sc(struct net_device *dev, sci_t sci) +static struct macsec_rx_sc *create_rx_sc(struct net_device *dev, sci_t sci, + bool active) { struct macsec_rx_sc *rx_sc; struct macsec_dev *macsec; @@ -1417,7 +1413,7 @@ } rx_sc->sci = sci; - rx_sc->active = true; + rx_sc->active = active; refcount_set(&rx_sc->refcnt, 1); secy = &macsec_priv(dev)->secy; @@ -1826,6 +1822,7 @@ secy->key_len); err = macsec_offload(ops->mdo_add_rxsa, &ctx); + memzero_explicit(ctx.sa.key, secy->key_len); if (err) goto cleanup; } @@ -1870,7 +1867,7 @@ struct macsec_rx_sc *rx_sc; struct nlattr *tb_rxsc[MACSEC_RXSC_ATTR_MAX + 1]; struct macsec_secy *secy; - bool was_active; + bool active = true; int ret; if (!attrs[MACSEC_ATTR_IFINDEX]) @@ -1892,16 +1889,15 @@ secy = &macsec_priv(dev)->secy; sci = nla_get_sci(tb_rxsc[MACSEC_RXSC_ATTR_SCI]); - rx_sc = create_rx_sc(dev, sci); + if (tb_rxsc[MACSEC_RXSC_ATTR_ACTIVE]) + active = nla_get_u8(tb_rxsc[MACSEC_RXSC_ATTR_ACTIVE]); + + rx_sc = create_rx_sc(dev, sci, active); if (IS_ERR(rx_sc)) { rtnl_unlock(); return PTR_ERR(rx_sc); } - was_active = rx_sc->active; - if (tb_rxsc[MACSEC_RXSC_ATTR_ACTIVE]) - rx_sc->active = !!nla_get_u8(tb_rxsc[MACSEC_RXSC_ATTR_ACTIVE]); - if (macsec_is_offloaded(netdev_priv(dev))) { const struct macsec_ops *ops; struct macsec_context ctx; @@ -1925,7 +1921,8 @@ return 0; cleanup: - rx_sc->active = was_active; + del_rx_sc(secy, sci); + free_rx_sc(rx_sc); rtnl_unlock(); return ret; } @@ -2068,6 +2065,7 @@ secy->key_len); err = macsec_offload(ops->mdo_add_txsa, &ctx); + memzero_explicit(ctx.sa.key, secy->key_len); if (err) goto cleanup; } @@ -2564,7 +2562,7 @@ struct macsec_tx_sc *tx_sc = &secy->tx_sc; int i; - if (secy->n_rx_sc > 0) + if (secy->rx_sc) return true; for (i = 0; i < MACSEC_NUM_AN; i++) @@ -2584,7 +2582,7 @@ const struct macsec_ops *ops; struct macsec_context ctx; struct macsec_dev *macsec; - int ret; + int ret = 0; if (!attrs[MACSEC_ATTR_IFINDEX]) return -EINVAL; @@ -2597,28 +2595,36 @@ macsec_genl_offload_policy, NULL)) return -EINVAL; + rtnl_lock(); + dev = get_dev_from_nl(genl_info_net(info), attrs); - if (IS_ERR(dev)) - return PTR_ERR(dev); + if (IS_ERR(dev)) { + ret = PTR_ERR(dev); + goto out; + } macsec = macsec_priv(dev); - if (!tb_offload[MACSEC_OFFLOAD_ATTR_TYPE]) - return -EINVAL; + if (!tb_offload[MACSEC_OFFLOAD_ATTR_TYPE]) { + ret = -EINVAL; + goto out; + } offload = nla_get_u8(tb_offload[MACSEC_OFFLOAD_ATTR_TYPE]); if (macsec->offload == offload) - return 0; + goto out; /* Check if the offloading mode is supported by the underlying layers */ if (offload != MACSEC_OFFLOAD_OFF && - !macsec_check_offload(offload, macsec)) - return -EOPNOTSUPP; + !macsec_check_offload(offload, macsec)) { + ret = -EOPNOTSUPP; + goto out; + } /* Check if the net device is busy. */ - if (netif_running(dev)) - return -EBUSY; - - rtnl_lock(); + if (netif_running(dev)) { + ret = -EBUSY; + goto out; + } prev_offload = macsec->offload; macsec->offload = offload; @@ -2648,17 +2654,12 @@ if (ret) goto rollback; - /* Force features update, since they are different for SW MACSec and - * HW offloading cases. - */ - netdev_update_features(dev); - rtnl_unlock(); return 0; rollback: macsec->offload = prev_offload; - +out: rtnl_unlock(); return ret; } @@ -3420,16 +3421,9 @@ return ret; } -#define SW_MACSEC_FEATURES \ +#define MACSEC_FEATURES \ (NETIF_F_SG | NETIF_F_HIGHDMA | NETIF_F_FRAGLIST) -/* If h/w offloading is enabled, use real device features save for - * VLAN_FEATURES - they require additional ops - * HW_MACSEC - no reason to report it - */ -#define REAL_DEV_FEATURES(dev) \ - ((dev)->features & ~(NETIF_F_VLAN_FEATURES | NETIF_F_HW_MACSEC)) - static int macsec_dev_init(struct net_device *dev) { struct macsec_dev *macsec = macsec_priv(dev); @@ -3446,12 +3440,8 @@ return err; } - if (macsec_is_offloaded(macsec)) { - dev->features = REAL_DEV_FEATURES(real_dev); - } else { - dev->features = real_dev->features & SW_MACSEC_FEATURES; - dev->features |= NETIF_F_LLTX | NETIF_F_GSO_SOFTWARE; - } + dev->features = real_dev->features & MACSEC_FEATURES; + dev->features |= NETIF_F_LLTX | NETIF_F_GSO_SOFTWARE; dev->needed_headroom = real_dev->needed_headroom + MACSEC_NEEDED_HEADROOM; @@ -3483,10 +3473,7 @@ struct macsec_dev *macsec = macsec_priv(dev); struct net_device *real_dev = macsec->real_dev; - if (macsec_is_offloaded(macsec)) - return REAL_DEV_FEATURES(real_dev); - - features &= (real_dev->features & SW_MACSEC_FEATURES) | + features &= (real_dev->features & MACSEC_FEATURES) | NETIF_F_GSO_SOFTWARE | NETIF_F_SOFT_FEATURES; features |= NETIF_F_LLTX; @@ -3622,7 +3609,6 @@ out: eth_hw_addr_set(dev, addr->sa_data); - macsec->secy.sci = dev_to_sci(dev, MACSEC_PORT_ES); /* If h/w offloading is available, propagate to the device */ if (macsec_is_offloaded(macsec)) { @@ -3702,6 +3688,7 @@ [IFLA_MACSEC_SCB] = { .type = NLA_U8 }, [IFLA_MACSEC_REPLAY_PROTECT] = { .type = NLA_U8 }, [IFLA_MACSEC_VALIDATION] = { .type = NLA_U8 }, + [IFLA_MACSEC_OFFLOAD] = { .type = NLA_U8 }, }; static void macsec_free_netdev(struct net_device *dev) @@ -3837,7 +3824,6 @@ if (macsec_is_offloaded(macsec)) { const struct macsec_ops *ops; struct macsec_context ctx; - int ret; ops = macsec_get_ops(netdev_priv(dev), &ctx); if (!ops) { @@ -3960,6 +3946,11 @@ return false; } +static sci_t dev_to_sci(struct net_device *dev, __be16 port) +{ + return make_sci(dev->dev_addr, port); +} + static int macsec_add_dev(struct net_device *dev, sci_t sci, u8 icv_len) { struct macsec_dev *macsec = macsec_priv(dev); --- linux-gcp-5.19.0.orig/drivers/net/macvlan.c +++ linux-gcp-5.19.0/drivers/net/macvlan.c @@ -141,7 +141,7 @@ u32 idx = macvlan_eth_hash(addr); struct hlist_head *h = &vlan->port->vlan_source_hash[idx]; - hlist_for_each_entry_rcu(entry, h, hlist) { + hlist_for_each_entry_rcu(entry, h, hlist, lockdep_rtnl_is_held()) { if (ether_addr_equal_64bits(entry->addr, addr) && entry->vlan == vlan) return entry; @@ -1192,7 +1192,7 @@ { ether_setup(dev); - dev->min_mtu = 0; + /* ether_setup() has set dev->min_mtu to ETH_MIN_MTU. */ dev->max_mtu = ETH_MAX_MTU; dev->priv_flags &= ~IFF_TX_SKB_SHARING; netif_keep_dst(dev); @@ -1533,8 +1533,10 @@ /* the macvlan port may be freed by macvlan_uninit when fail to register. * so we destroy the macvlan port only when it's valid. */ - if (create && macvlan_port_get_rtnl(lowerdev)) + if (create && macvlan_port_get_rtnl(lowerdev)) { + macvlan_flush_sources(port, vlan); macvlan_port_destroy(port->dev); + } return err; } EXPORT_SYMBOL_GPL(macvlan_common_newlink); @@ -1645,7 +1647,7 @@ struct hlist_head *h = &vlan->port->vlan_source_hash[i]; struct macvlan_source_entry *entry; - hlist_for_each_entry_rcu(entry, h, hlist) { + hlist_for_each_entry_rcu(entry, h, hlist, lockdep_rtnl_is_held()) { if (entry->vlan != vlan) continue; if (nla_put(skb, IFLA_MACVLAN_MACADDR, ETH_ALEN, entry->addr)) --- linux-gcp-5.19.0.orig/drivers/net/mctp/mctp-i2c.c +++ linux-gcp-5.19.0/drivers/net/mctp/mctp-i2c.c @@ -43,6 +43,7 @@ enum { MCTP_I2C_FLOW_STATE_NEW = 0, MCTP_I2C_FLOW_STATE_ACTIVE, + MCTP_I2C_FLOW_STATE_INVALID, }; /* List of all struct mctp_i2c_client @@ -374,12 +375,18 @@ */ if (!key->valid) { state = MCTP_I2C_TX_FLOW_INVALID; - - } else if (key->dev_flow_state == MCTP_I2C_FLOW_STATE_NEW) { - key->dev_flow_state = MCTP_I2C_FLOW_STATE_ACTIVE; - state = MCTP_I2C_TX_FLOW_NEW; } else { - state = MCTP_I2C_TX_FLOW_EXISTING; + switch (key->dev_flow_state) { + case MCTP_I2C_FLOW_STATE_NEW: + key->dev_flow_state = MCTP_I2C_FLOW_STATE_ACTIVE; + state = MCTP_I2C_TX_FLOW_NEW; + break; + case MCTP_I2C_FLOW_STATE_ACTIVE: + state = MCTP_I2C_TX_FLOW_EXISTING; + break; + default: + state = MCTP_I2C_TX_FLOW_INVALID; + } } spin_unlock_irqrestore(&key->lock, flags); @@ -617,21 +624,31 @@ { struct mctp_i2c_dev *midev = netdev_priv(mdev->dev); + bool queue_release = false; unsigned long flags; spin_lock_irqsave(&midev->lock, flags); - midev->release_count++; - spin_unlock_irqrestore(&midev->lock, flags); - - /* Ensure we have a release operation queued, through the fake - * marker skb + /* if we have seen the flow/key previously, we need to pair the + * original lock with a release */ - spin_lock(&midev->tx_queue.lock); - if (!midev->unlock_marker.next) - __skb_queue_tail(&midev->tx_queue, &midev->unlock_marker); - spin_unlock(&midev->tx_queue.lock); + if (key->dev_flow_state == MCTP_I2C_FLOW_STATE_ACTIVE) { + midev->release_count++; + queue_release = true; + } + key->dev_flow_state = MCTP_I2C_FLOW_STATE_INVALID; + spin_unlock_irqrestore(&midev->lock, flags); - wake_up(&midev->tx_wq); + if (queue_release) { + /* Ensure we have a release operation queued, through the fake + * marker skb + */ + spin_lock(&midev->tx_queue.lock); + if (!midev->unlock_marker.next) + __skb_queue_tail(&midev->tx_queue, + &midev->unlock_marker); + spin_unlock(&midev->tx_queue.lock); + wake_up(&midev->tx_wq); + } } static const struct net_device_ops mctp_i2c_ops = { --- linux-gcp-5.19.0.orig/drivers/net/mctp/mctp-serial.c +++ linux-gcp-5.19.0/drivers/net/mctp/mctp-serial.c @@ -35,6 +35,8 @@ #define BYTE_FRAME 0x7e #define BYTE_ESC 0x7d +#define FCS_INIT 0xffff + static DEFINE_IDA(mctp_serial_ida); enum mctp_serial_state { @@ -123,7 +125,7 @@ buf[2] = dev->txlen; if (!dev->txpos) - dev->txfcs = crc_ccitt(0, buf + 1, 2); + dev->txfcs = crc_ccitt(FCS_INIT, buf + 1, 2); txlen = write_chunk(dev, buf + dev->txpos, 3 - dev->txpos); if (txlen <= 0) { @@ -303,7 +305,7 @@ case 1: if (c == MCTP_SERIAL_VERSION) { dev->rxpos++; - dev->rxfcs = crc_ccitt_byte(0, c); + dev->rxfcs = crc_ccitt_byte(FCS_INIT, c); } else { dev->rxstate = STATE_ERR; } --- linux-gcp-5.19.0.orig/drivers/net/mdio/fwnode_mdio.c +++ linux-gcp-5.19.0/drivers/net/mdio/fwnode_mdio.c @@ -77,6 +77,7 @@ */ rc = phy_device_register(phy); if (rc) { + device_set_node(&phy->mdio.dev, NULL); fwnode_handle_put(child); return rc; } @@ -110,8 +111,8 @@ else phy = phy_device_create(bus, addr, phy_id, 0, NULL); if (IS_ERR(phy)) { - unregister_mii_timestamper(mii_ts); - return PTR_ERR(phy); + rc = PTR_ERR(phy); + goto clean_mii_ts; } if (is_acpi_node(child)) { @@ -120,22 +121,19 @@ /* Associate the fwnode with the device structure so it * can be looked up later. */ - phy->mdio.dev.fwnode = child; + phy->mdio.dev.fwnode = fwnode_handle_get(child); /* All data is now stored in the phy struct, so register it */ rc = phy_device_register(phy); if (rc) { - phy_device_free(phy); - fwnode_handle_put(phy->mdio.dev.fwnode); - return rc; + phy->mdio.dev.fwnode = NULL; + fwnode_handle_put(child); + goto clean_phy; } } else if (is_of_node(child)) { rc = fwnode_mdiobus_phy_device_register(bus, phy, child, addr); - if (rc) { - unregister_mii_timestamper(mii_ts); - phy_device_free(phy); - return rc; - } + if (rc) + goto clean_phy; } /* phy->mii_ts may already be defined by the PHY driver. A @@ -145,5 +143,12 @@ if (mii_ts) phy->mii_ts = mii_ts; return 0; + +clean_phy: + phy_device_free(phy); +clean_mii_ts: + unregister_mii_timestamper(mii_ts); + + return rc; } EXPORT_SYMBOL(fwnode_mdiobus_register_phy); --- linux-gcp-5.19.0.orig/drivers/net/mdio/mdio-mux-meson-g12a.c +++ linux-gcp-5.19.0/drivers/net/mdio/mdio-mux-meson-g12a.c @@ -4,6 +4,7 @@ */ #include +#include #include #include #include @@ -150,6 +151,7 @@ static int g12a_enable_internal_mdio(struct g12a_mdio_mux *priv) { + u32 value; int ret; /* Enable the phy clock */ @@ -163,18 +165,25 @@ /* Initialize ephy control */ writel(EPHY_G12A_ID, priv->regs + ETH_PHY_CNTL0); - writel(FIELD_PREP(PHY_CNTL1_ST_MODE, 3) | - FIELD_PREP(PHY_CNTL1_ST_PHYADD, EPHY_DFLT_ADD) | - FIELD_PREP(PHY_CNTL1_MII_MODE, EPHY_MODE_RMII) | - PHY_CNTL1_CLK_EN | - PHY_CNTL1_CLKFREQ | - PHY_CNTL1_PHY_ENB, - priv->regs + ETH_PHY_CNTL1); + + /* Make sure we get a 0 -> 1 transition on the enable bit */ + value = FIELD_PREP(PHY_CNTL1_ST_MODE, 3) | + FIELD_PREP(PHY_CNTL1_ST_PHYADD, EPHY_DFLT_ADD) | + FIELD_PREP(PHY_CNTL1_MII_MODE, EPHY_MODE_RMII) | + PHY_CNTL1_CLK_EN | + PHY_CNTL1_CLKFREQ; + writel(value, priv->regs + ETH_PHY_CNTL1); writel(PHY_CNTL2_USE_INTERNAL | PHY_CNTL2_SMI_SRC_MAC | PHY_CNTL2_RX_CLK_EPHY, priv->regs + ETH_PHY_CNTL2); + value |= PHY_CNTL1_PHY_ENB; + writel(value, priv->regs + ETH_PHY_CNTL1); + + /* The phy needs a bit of time to power up */ + mdelay(10); + return 0; } --- linux-gcp-5.19.0.orig/drivers/net/mdio/of_mdio.c +++ linux-gcp-5.19.0/drivers/net/mdio/of_mdio.c @@ -68,8 +68,9 @@ /* All data is now stored in the mdiodev struct; register it. */ rc = mdio_device_register(mdiodev); if (rc) { + device_set_node(&mdiodev->dev, NULL); + fwnode_handle_put(fwnode); mdio_device_free(mdiodev); - of_node_put(child); return rc; } @@ -231,6 +232,7 @@ return 0; unregister: + of_node_put(child); mdiobus_unregister(mdio); return rc; } --- linux-gcp-5.19.0.orig/drivers/net/mhi_net.c +++ linux-gcp-5.19.0/drivers/net/mhi_net.c @@ -343,6 +343,8 @@ kfree_skb(mhi_netdev->skbagg_head); + free_netdev(ndev); + dev_set_drvdata(&mhi_dev->dev, NULL); } --- linux-gcp-5.19.0.orig/drivers/net/netdevsim/bpf.c +++ linux-gcp-5.19.0/drivers/net/netdevsim/bpf.c @@ -351,10 +351,12 @@ { struct nsim_bpf_bound_map *nmap = offmap->dev_priv; - nmap->entry[idx].key = kmalloc(offmap->map.key_size, GFP_USER); + nmap->entry[idx].key = kmalloc(offmap->map.key_size, + GFP_KERNEL_ACCOUNT | __GFP_NOWARN); if (!nmap->entry[idx].key) return -ENOMEM; - nmap->entry[idx].value = kmalloc(offmap->map.value_size, GFP_USER); + nmap->entry[idx].value = kmalloc(offmap->map.value_size, + GFP_KERNEL_ACCOUNT | __GFP_NOWARN); if (!nmap->entry[idx].value) { kfree(nmap->entry[idx].key); nmap->entry[idx].key = NULL; @@ -496,7 +498,7 @@ if (offmap->map.map_flags) return -EINVAL; - nmap = kzalloc(sizeof(*nmap), GFP_USER); + nmap = kzalloc(sizeof(*nmap), GFP_KERNEL_ACCOUNT); if (!nmap) return -ENOMEM; --- linux-gcp-5.19.0.orig/drivers/net/netdevsim/bus.c +++ linux-gcp-5.19.0/drivers/net/netdevsim/bus.c @@ -135,6 +135,10 @@ static void nsim_bus_dev_release(struct device *dev) { + struct nsim_bus_dev *nsim_bus_dev; + + nsim_bus_dev = container_of(dev, struct nsim_bus_dev, dev); + kfree(nsim_bus_dev); } static struct device_type nsim_bus_dev_type = { @@ -310,6 +314,8 @@ err_nsim_bus_dev_id_free: ida_free(&nsim_bus_dev_ids, nsim_bus_dev->dev.id); + put_device(&nsim_bus_dev->dev); + nsim_bus_dev = NULL; err_nsim_bus_dev_free: kfree(nsim_bus_dev); return ERR_PTR(err); @@ -319,9 +325,8 @@ { /* Disallow using nsim_bus_dev */ smp_store_release(&nsim_bus_dev->init, false); - device_unregister(&nsim_bus_dev->dev); ida_free(&nsim_bus_dev_ids, nsim_bus_dev->dev.id); - kfree(nsim_bus_dev); + device_unregister(&nsim_bus_dev->dev); } static struct device_driver nsim_driver = { --- linux-gcp-5.19.0.orig/drivers/net/netdevsim/dev.c +++ linux-gcp-5.19.0/drivers/net/netdevsim/dev.c @@ -309,8 +309,10 @@ if (IS_ERR(nsim_dev->ddir)) return PTR_ERR(nsim_dev->ddir); nsim_dev->ports_ddir = debugfs_create_dir("ports", nsim_dev->ddir); - if (IS_ERR(nsim_dev->ports_ddir)) - return PTR_ERR(nsim_dev->ports_ddir); + if (IS_ERR(nsim_dev->ports_ddir)) { + err = PTR_ERR(nsim_dev->ports_ddir); + goto err_ddir; + } debugfs_create_bool("fw_update_status", 0600, nsim_dev->ddir, &nsim_dev->fw_update_status); debugfs_create_u32("fw_update_overwrite_mask", 0600, nsim_dev->ddir, @@ -346,7 +348,7 @@ nsim_dev->nodes_ddir = debugfs_create_dir("rate_nodes", nsim_dev->ddir); if (IS_ERR(nsim_dev->nodes_ddir)) { err = PTR_ERR(nsim_dev->nodes_ddir); - goto err_out; + goto err_ports_ddir; } debugfs_create_bool("fail_trap_drop_counter_get", 0600, nsim_dev->ddir, @@ -354,8 +356,9 @@ nsim_udp_tunnels_debugfs_create(nsim_dev); return 0; -err_out: +err_ports_ddir: debugfs_remove_recursive(nsim_dev->ports_ddir); +err_ddir: debugfs_remove_recursive(nsim_dev->ddir); return err; } @@ -1679,6 +1682,7 @@ ARRAY_SIZE(nsim_devlink_params)); devlink_resources_unregister(devlink); kfree(nsim_dev->vfconfigs); + kfree(nsim_dev->fa_cookie); devlink_free(devlink); dev_set_drvdata(&nsim_bus_dev->dev, NULL); } --- linux-gcp-5.19.0.orig/drivers/net/netdevsim/fib.c +++ linux-gcp-5.19.0/drivers/net/netdevsim/fib.c @@ -54,6 +54,7 @@ struct rhashtable nexthop_ht; struct devlink *devlink; struct work_struct fib_event_work; + struct work_struct fib_flush_work; struct list_head fib_event_queue; spinlock_t fib_event_queue_lock; /* Protects fib event queue list */ struct mutex nh_lock; /* Protects NH HT */ @@ -978,7 +979,7 @@ fib_event = kzalloc(sizeof(*fib_event), GFP_ATOMIC); if (!fib_event) - return NOTIFY_BAD; + goto err_fib_event_alloc; fib_event->data = data; fib_event->event = event; @@ -1006,6 +1007,9 @@ err_fib_prepare_event: kfree(fib_event); +err_fib_event_alloc: + if (event == FIB_EVENT_ENTRY_DEL) + schedule_work(&data->fib_flush_work); return NOTIFY_BAD; } @@ -1483,6 +1487,24 @@ mutex_unlock(&data->fib_lock); } +static void nsim_fib_flush_work(struct work_struct *work) +{ + struct nsim_fib_data *data = container_of(work, struct nsim_fib_data, + fib_flush_work); + struct nsim_fib_rt *fib_rt, *fib_rt_tmp; + + /* Process pending work. */ + flush_work(&data->fib_event_work); + + mutex_lock(&data->fib_lock); + list_for_each_entry_safe(fib_rt, fib_rt_tmp, &data->fib_rt_list, list) { + rhashtable_remove_fast(&data->fib_rt_ht, &fib_rt->ht_node, + nsim_fib_rt_ht_params); + nsim_fib_rt_free(fib_rt, data); + } + mutex_unlock(&data->fib_lock); +} + static int nsim_fib_debugfs_init(struct nsim_fib_data *data, struct nsim_dev *nsim_dev) { @@ -1541,6 +1563,7 @@ goto err_rhashtable_nexthop_destroy; INIT_WORK(&data->fib_event_work, nsim_fib_event_work); + INIT_WORK(&data->fib_flush_work, nsim_fib_flush_work); INIT_LIST_HEAD(&data->fib_event_queue); spin_lock_init(&data->fib_event_queue_lock); @@ -1587,6 +1610,7 @@ err_nexthop_nb_unregister: unregister_nexthop_notifier(devlink_net(devlink), &data->nexthop_nb); err_rhashtable_fib_destroy: + cancel_work_sync(&data->fib_flush_work); flush_work(&data->fib_event_work); rhashtable_free_and_destroy(&data->fib_rt_ht, nsim_fib_rt_free, data); @@ -1616,6 +1640,7 @@ NSIM_RESOURCE_IPV4_FIB); unregister_fib_notifier(devlink_net(devlink), &data->fib_nb); unregister_nexthop_notifier(devlink_net(devlink), &data->nexthop_nb); + cancel_work_sync(&data->fib_flush_work); flush_work(&data->fib_event_work); rhashtable_free_and_destroy(&data->fib_rt_ht, nsim_fib_rt_free, data); --- linux-gcp-5.19.0.orig/drivers/net/netdevsim/hwstats.c +++ linux-gcp-5.19.0/drivers/net/netdevsim/hwstats.c @@ -433,11 +433,11 @@ goto err_remove_hwstats_recursive; } - debugfs_create_file("enable_ifindex", 0600, hwstats->l3_ddir, hwstats, + debugfs_create_file("enable_ifindex", 0200, hwstats->l3_ddir, hwstats, &nsim_dev_hwstats_l3_enable_fops.fops); - debugfs_create_file("disable_ifindex", 0600, hwstats->l3_ddir, hwstats, + debugfs_create_file("disable_ifindex", 0200, hwstats->l3_ddir, hwstats, &nsim_dev_hwstats_l3_disable_fops.fops); - debugfs_create_file("fail_next_enable", 0600, hwstats->l3_ddir, hwstats, + debugfs_create_file("fail_next_enable", 0200, hwstats->l3_ddir, hwstats, &nsim_dev_hwstats_l3_fail_fops.fops); INIT_DELAYED_WORK(&hwstats->traffic_dw, --- linux-gcp-5.19.0.orig/drivers/net/netdevsim/netdev.c +++ linux-gcp-5.19.0/drivers/net/netdevsim/netdev.c @@ -67,10 +67,10 @@ unsigned int start; do { - start = u64_stats_fetch_begin(&ns->syncp); + start = u64_stats_fetch_begin_irq(&ns->syncp); stats->tx_bytes = ns->tx_bytes; stats->tx_packets = ns->tx_packets; - } while (u64_stats_fetch_retry(&ns->syncp, start)); + } while (u64_stats_fetch_retry_irq(&ns->syncp, start)); } static int --- linux-gcp-5.19.0.orig/drivers/net/ntb_netdev.c +++ linux-gcp-5.19.0/drivers/net/ntb_netdev.c @@ -137,7 +137,7 @@ enqueue_again: rc = ntb_transport_rx_enqueue(qp, skb, skb->data, ndev->mtu + ETH_HLEN); if (rc) { - dev_kfree_skb(skb); + dev_kfree_skb_any(skb); ndev->stats.rx_errors++; ndev->stats.rx_fifo_errors++; } @@ -192,7 +192,7 @@ ndev->stats.tx_aborted_errors++; } - dev_kfree_skb(skb); + dev_kfree_skb_any(skb); if (ntb_transport_tx_free_entry(dev->qp) >= tx_start) { /* Make sure anybody stopping the queue after this sees the new @@ -484,7 +484,14 @@ rc = ntb_transport_register_client_dev(KBUILD_MODNAME); if (rc) return rc; - return ntb_transport_register_client(&ntb_netdev_client); + + rc = ntb_transport_register_client(&ntb_netdev_client); + if (rc) { + ntb_transport_unregister_client_dev(KBUILD_MODNAME); + return rc; + } + + return 0; } module_init(ntb_netdev_init_module); --- linux-gcp-5.19.0.orig/drivers/net/phy/aquantia_main.c +++ linux-gcp-5.19.0/drivers/net/phy/aquantia_main.c @@ -90,6 +90,9 @@ #define VEND1_GLOBAL_FW_ID_MAJOR GENMASK(15, 8) #define VEND1_GLOBAL_FW_ID_MINOR GENMASK(7, 0) +#define VEND1_GLOBAL_GEN_STAT2 0xc831 +#define VEND1_GLOBAL_GEN_STAT2_OP_IN_PROG BIT(15) + #define VEND1_GLOBAL_RSVD_STAT1 0xc885 #define VEND1_GLOBAL_RSVD_STAT1_FW_BUILD_ID GENMASK(7, 4) #define VEND1_GLOBAL_RSVD_STAT1_PROV_ID GENMASK(3, 0) @@ -124,6 +127,12 @@ #define VEND1_GLOBAL_INT_VEND_MASK_GLOBAL2 BIT(1) #define VEND1_GLOBAL_INT_VEND_MASK_GLOBAL3 BIT(0) +/* Sleep and timeout for checking if the Processor-Intensive + * MDIO operation is finished + */ +#define AQR107_OP_IN_PROG_SLEEP 1000 +#define AQR107_OP_IN_PROG_TIMEOUT 100000 + struct aqr107_hw_stat { const char *name; int reg; @@ -596,16 +605,52 @@ phydev_info(phydev, "Aquantia 1000Base-T2 mode active\n"); } +static int aqr107_wait_processor_intensive_op(struct phy_device *phydev) +{ + int val, err; + + /* The datasheet notes to wait at least 1ms after issuing a + * processor intensive operation before checking. + * We cannot use the 'sleep_before_read' parameter of read_poll_timeout + * because that just determines the maximum time slept, not the minimum. + */ + usleep_range(1000, 5000); + + err = phy_read_mmd_poll_timeout(phydev, MDIO_MMD_VEND1, + VEND1_GLOBAL_GEN_STAT2, val, + !(val & VEND1_GLOBAL_GEN_STAT2_OP_IN_PROG), + AQR107_OP_IN_PROG_SLEEP, + AQR107_OP_IN_PROG_TIMEOUT, false); + if (err) { + phydev_err(phydev, "timeout: processor-intensive MDIO operation\n"); + return err; + } + + return 0; +} + static int aqr107_suspend(struct phy_device *phydev) { - return phy_set_bits_mmd(phydev, MDIO_MMD_VEND1, MDIO_CTRL1, - MDIO_CTRL1_LPOWER); + int err; + + err = phy_set_bits_mmd(phydev, MDIO_MMD_VEND1, MDIO_CTRL1, + MDIO_CTRL1_LPOWER); + if (err) + return err; + + return aqr107_wait_processor_intensive_op(phydev); } static int aqr107_resume(struct phy_device *phydev) { - return phy_clear_bits_mmd(phydev, MDIO_MMD_VEND1, MDIO_CTRL1, - MDIO_CTRL1_LPOWER); + int err; + + err = phy_clear_bits_mmd(phydev, MDIO_MMD_VEND1, MDIO_CTRL1, + MDIO_CTRL1_LPOWER); + if (err) + return err; + + return aqr107_wait_processor_intensive_op(phydev); } static int aqr107_probe(struct phy_device *phydev) --- linux-gcp-5.19.0.orig/drivers/net/phy/at803x.c +++ linux-gcp-5.19.0/drivers/net/phy/at803x.c @@ -862,8 +862,10 @@ .wolopts = 0, }; - if (ccr < 0) + if (ccr < 0) { + ret = ccr; goto err; + } mode_cfg = ccr & AT803X_MODE_CFG_MASK; switch (mode_cfg) { --- linux-gcp-5.19.0.orig/drivers/net/phy/dp83822.c +++ linux-gcp-5.19.0/drivers/net/phy/dp83822.c @@ -233,7 +233,8 @@ DP83822_ENERGY_DET_INT_EN | DP83822_LINK_QUAL_INT_EN); - if (!dp83822->fx_enabled) + /* Private data pointer is NULL on DP83825/26 */ + if (!dp83822 || !dp83822->fx_enabled) misr_status |= DP83822_ANEG_COMPLETE_INT_EN | DP83822_DUP_MODE_CHANGE_INT_EN | DP83822_SPEED_CHANGED_INT_EN; @@ -253,9 +254,9 @@ DP83822_PAGE_RX_INT_EN | DP83822_EEE_ERROR_CHANGE_INT_EN); - if (!dp83822->fx_enabled) - misr_status |= DP83822_MDI_XOVER_INT_EN | - DP83822_ANEG_ERR_INT_EN | + /* Private data pointer is NULL on DP83825/26 */ + if (!dp83822 || !dp83822->fx_enabled) + misr_status |= DP83822_ANEG_ERR_INT_EN | DP83822_WOL_PKT_INT_EN; err = phy_write(phydev, MII_DP83822_MISR2, misr_status); --- linux-gcp-5.19.0.orig/drivers/net/phy/dp83867.c +++ linux-gcp-5.19.0/drivers/net/phy/dp83867.c @@ -639,6 +639,13 @@ */ dp83867->io_impedance = DP83867_IO_MUX_CFG_IO_IMPEDANCE_MIN / 2; + /* For non-OF device, the RX and TX FIFO depths are taken from + * default value. So, we init RX & TX FIFO depths here + * so that it is configured correctly later in dp83867_config_init(); + */ + dp83867->tx_fifo_depth = DP83867_PHYCR_FIFO_DEPTH_4_B_NIB; + dp83867->rx_fifo_depth = DP83867_PHYCR_FIFO_DEPTH_4_B_NIB; + return 0; } #endif /* CONFIG_OF_MDIO */ @@ -810,6 +817,14 @@ else val &= ~DP83867_SGMII_TYPE; phy_write_mmd(phydev, DP83867_DEVADDR, DP83867_SGMIICTL, val); + + /* This is a SW workaround for link instability if RX_CTRL is + * not strapped to mode 3 or 4 in HW. This is required for SGMII + * in addition to clearing bit 7, handled above. + */ + if (dp83867->rxctrl_strap_quirk) + phy_set_bits_mmd(phydev, DP83867_DEVADDR, DP83867_CFG4, + BIT(8)); } val = phy_read(phydev, DP83867_CFG3); --- linux-gcp-5.19.0.orig/drivers/net/phy/marvell.c +++ linux-gcp-5.19.0/drivers/net/phy/marvell.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include @@ -308,6 +309,16 @@ s8 pair; }; +static const struct dmi_system_id skip_config_led_tbl[] = { + { + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Dell EMC"), + DMI_MATCH(DMI_BOARD_NAME, "0d370eed-89ca-4dc0-a365-e9904c4c62bb"), + }, + }, + {} +}; + static int marvell_read_page(struct phy_device *phydev) { return __phy_read(phydev, MII_MARVELL_PHY_PAGE); @@ -755,6 +766,9 @@ u16 def_config; int err; + if (dmi_check_system(skip_config_led_tbl)) + return; + switch (MARVELL_PHY_FAMILY_ID(phydev->phy_id)) { /* Default PHY LED config: LED[0] .. Link, LED[1] .. Activity */ case MARVELL_PHY_FAMILY_ID(MARVELL_PHY_ID_88E1121R): @@ -2021,14 +2035,16 @@ if (err < 0) return err; - /* FIXME: Based on trial and error test, it seem 1G need to have - * delay between soft reset and loopback enablement. - */ - if (phydev->speed == SPEED_1000) - msleep(1000); + err = phy_modify(phydev, MII_BMCR, BMCR_LOOPBACK, + BMCR_LOOPBACK); - return phy_modify(phydev, MII_BMCR, BMCR_LOOPBACK, - BMCR_LOOPBACK); + if (!err) { + /* It takes some time for PHY device to switch + * into/out-of loopback mode. + */ + msleep(1000); + } + return err; } else { err = phy_modify(phydev, MII_BMCR, BMCR_LOOPBACK, 0); if (err < 0) --- linux-gcp-5.19.0.orig/drivers/net/phy/mdio_bus.c +++ linux-gcp-5.19.0/drivers/net/phy/mdio_bus.c @@ -108,7 +108,12 @@ struct phy_device *mdiobus_get_phy(struct mii_bus *bus, int addr) { - struct mdio_device *mdiodev = bus->mdio_map[addr]; + struct mdio_device *mdiodev; + + if (addr < 0 || addr >= ARRAY_SIZE(bus->mdio_map)) + return NULL; + + mdiodev = bus->mdio_map[addr]; if (!mdiodev) return NULL; @@ -583,7 +588,7 @@ } for (i = 0; i < PHY_MAX_ADDR; i++) { - if ((bus->phy_mask & (1 << i)) == 0) { + if ((bus->phy_mask & BIT(i)) == 0) { struct phy_device *phydev; phydev = mdiobus_scan(bus, i); --- linux-gcp-5.19.0.orig/drivers/net/phy/mdio_device.c +++ linux-gcp-5.19.0/drivers/net/phy/mdio_device.c @@ -21,6 +21,7 @@ #include #include #include +#include void mdio_device_free(struct mdio_device *mdiodev) { @@ -30,6 +31,7 @@ static void mdio_device_release(struct device *dev) { + fwnode_handle_put(dev->fwnode); kfree(to_mdio_device(dev)); } --- linux-gcp-5.19.0.orig/drivers/net/phy/meson-gxl.c +++ linux-gcp-5.19.0/drivers/net/phy/meson-gxl.c @@ -243,13 +243,7 @@ irq_status == INTSRC_ENERGY_DETECT) return IRQ_HANDLED; - /* Give PHY some time before MAC starts sending data. This works - * around an issue where network doesn't come up properly. - */ - if (!(irq_status & INTSRC_LINK_DOWN)) - phy_queue_state_machine(phydev, msecs_to_jiffies(100)); - else - phy_trigger_machine(phydev); + phy_trigger_machine(phydev); return IRQ_HANDLED; } @@ -267,6 +261,8 @@ .handle_interrupt = meson_gxl_handle_interrupt, .suspend = genphy_suspend, .resume = genphy_resume, + .read_mmd = genphy_read_mmd_unsupported, + .write_mmd = genphy_write_mmd_unsupported, }, { PHY_ID_MATCH_EXACT(0x01803301), .name = "Meson G12A Internal PHY", @@ -277,6 +273,8 @@ .handle_interrupt = meson_gxl_handle_interrupt, .suspend = genphy_suspend, .resume = genphy_resume, + .read_mmd = genphy_read_mmd_unsupported, + .write_mmd = genphy_write_mmd_unsupported, }, }; --- linux-gcp-5.19.0.orig/drivers/net/phy/micrel.c +++ linux-gcp-5.19.0/drivers/net/phy/micrel.c @@ -2662,16 +2662,19 @@ static irqreturn_t lan8814_handle_interrupt(struct phy_device *phydev) { int irq_status, tsu_irq_status; + int ret = IRQ_NONE; irq_status = phy_read(phydev, LAN8814_INTS); - if (irq_status > 0 && (irq_status & LAN8814_INT_LINK)) - phy_trigger_machine(phydev); - if (irq_status < 0) { phy_error(phydev); return IRQ_NONE; } + if (irq_status & LAN8814_INT_LINK) { + phy_trigger_machine(phydev); + ret = IRQ_HANDLED; + } + while (1) { tsu_irq_status = lanphy_read_page_reg(phydev, 4, LAN8814_INTR_STS_REG); @@ -2680,12 +2683,15 @@ (tsu_irq_status & (LAN8814_INTR_STS_REG_1588_TSU0_ | LAN8814_INTR_STS_REG_1588_TSU1_ | LAN8814_INTR_STS_REG_1588_TSU2_ | - LAN8814_INTR_STS_REG_1588_TSU3_))) + LAN8814_INTR_STS_REG_1588_TSU3_))) { lan8814_handle_ptp_interrupt(phydev); - else + ret = IRQ_HANDLED; + } else { break; + } } - return IRQ_HANDLED; + + return ret; } static int lan8814_ack_interrupt(struct phy_device *phydev) @@ -2838,12 +2844,18 @@ return 0; } +/* It is expected that there will not be any 'lan8814_take_coma_mode' + * function called in suspend. Because the GPIO line can be shared, so if one of + * the phys goes back in coma mode, then all the other PHYs will go, which is + * wrong. + */ static int lan8814_release_coma_mode(struct phy_device *phydev) { struct gpio_desc *gpiod; gpiod = devm_gpiod_get_optional(&phydev->mdio.dev, "coma-mode", - GPIOD_OUT_HIGH_OPEN_DRAIN); + GPIOD_OUT_HIGH_OPEN_DRAIN | + GPIOD_FLAGS_BIT_NONEXCLUSIVE); if (IS_ERR(gpiod)) return PTR_ERR(gpiod); --- linux-gcp-5.19.0.orig/drivers/net/phy/microchip_t1.c +++ linux-gcp-5.19.0/drivers/net/phy/microchip_t1.c @@ -28,12 +28,16 @@ /* Interrupt Source Register */ #define LAN87XX_INTERRUPT_SOURCE (0x18) +#define LAN87XX_INTERRUPT_SOURCE_2 (0x08) /* Interrupt Mask Register */ #define LAN87XX_INTERRUPT_MASK (0x19) #define LAN87XX_MASK_LINK_UP (0x0004) #define LAN87XX_MASK_LINK_DOWN (0x0002) +#define LAN87XX_INTERRUPT_MASK_2 (0x09) +#define LAN87XX_MASK_COMM_RDY BIT(10) + /* MISC Control 1 Register */ #define LAN87XX_CTRL_1 (0x11) #define LAN87XX_MASK_RGMII_TXC_DLY_EN (0x4000) @@ -424,17 +428,55 @@ int rc, val = 0; if (phydev->interrupts == PHY_INTERRUPT_ENABLED) { - /* unmask all source and clear them before enable */ - rc = phy_write(phydev, LAN87XX_INTERRUPT_MASK, 0x7FFF); + /* clear all interrupt */ + rc = phy_write(phydev, LAN87XX_INTERRUPT_MASK, val); + if (rc < 0) + return rc; + rc = phy_read(phydev, LAN87XX_INTERRUPT_SOURCE); - val = LAN87XX_MASK_LINK_UP | LAN87XX_MASK_LINK_DOWN; + if (rc < 0) + return rc; + + rc = access_ereg(phydev, PHYACC_ATTR_MODE_WRITE, + PHYACC_ATTR_BANK_MISC, + LAN87XX_INTERRUPT_MASK_2, val); + if (rc < 0) + return rc; + + rc = access_ereg(phydev, PHYACC_ATTR_MODE_READ, + PHYACC_ATTR_BANK_MISC, + LAN87XX_INTERRUPT_SOURCE_2, 0); + if (rc < 0) + return rc; + + /* enable link down and comm ready interrupt */ + val = LAN87XX_MASK_LINK_DOWN; rc = phy_write(phydev, LAN87XX_INTERRUPT_MASK, val); + if (rc < 0) + return rc; + + val = LAN87XX_MASK_COMM_RDY; + rc = access_ereg(phydev, PHYACC_ATTR_MODE_WRITE, + PHYACC_ATTR_BANK_MISC, + LAN87XX_INTERRUPT_MASK_2, val); } else { rc = phy_write(phydev, LAN87XX_INTERRUPT_MASK, val); - if (rc) + if (rc < 0) return rc; rc = phy_read(phydev, LAN87XX_INTERRUPT_SOURCE); + if (rc < 0) + return rc; + + rc = access_ereg(phydev, PHYACC_ATTR_MODE_WRITE, + PHYACC_ATTR_BANK_MISC, + LAN87XX_INTERRUPT_MASK_2, val); + if (rc < 0) + return rc; + + rc = access_ereg(phydev, PHYACC_ATTR_MODE_READ, + PHYACC_ATTR_BANK_MISC, + LAN87XX_INTERRUPT_SOURCE_2, 0); } return rc < 0 ? rc : 0; @@ -444,6 +486,14 @@ { int irq_status; + irq_status = access_ereg(phydev, PHYACC_ATTR_MODE_READ, + PHYACC_ATTR_BANK_MISC, + LAN87XX_INTERRUPT_SOURCE_2, 0); + if (irq_status < 0) { + phy_error(phydev); + return IRQ_NONE; + } + irq_status = phy_read(phydev, LAN87XX_INTERRUPT_SOURCE); if (irq_status < 0) { phy_error(phydev); --- linux-gcp-5.19.0.orig/drivers/net/phy/mscc/mscc_macsec.c +++ linux-gcp-5.19.0/drivers/net/phy/mscc/mscc_macsec.c @@ -632,6 +632,7 @@ list_del(&flow->list); clear_bit(flow->index, bitmap); + memzero_explicit(flow->key, sizeof(flow->key)); kfree(flow); } --- linux-gcp-5.19.0.orig/drivers/net/phy/mxl-gpy.c +++ linux-gcp-5.19.0/drivers/net/phy/mxl-gpy.c @@ -96,6 +96,7 @@ static int gpy_probe(struct phy_device *phydev) { + int fw_version; int ret; if (!phydev->is_c45) { @@ -105,12 +106,12 @@ } /* Show GPY PHY FW version in dmesg */ - ret = phy_read(phydev, PHY_FWV); - if (ret < 0) - return ret; + fw_version = phy_read(phydev, PHY_FWV); + if (fw_version < 0) + return fw_version; - phydev_info(phydev, "Firmware Version: 0x%04X (%s)\n", ret, - (ret & PHY_FWV_REL_MASK) ? "release" : "test"); + phydev_info(phydev, "Firmware Version: 0x%04X (%s)\n", fw_version, + (fw_version & PHY_FWV_REL_MASK) ? "release" : "test"); return 0; } --- linux-gcp-5.19.0.orig/drivers/net/phy/phy-c45.c +++ linux-gcp-5.19.0/drivers/net/phy/phy-c45.c @@ -190,44 +190,42 @@ */ static int genphy_c45_baset1_an_config_aneg(struct phy_device *phydev) { + u16 adv_l_mask, adv_l = 0; + u16 adv_m_mask, adv_m = 0; int changed = 0; - u16 adv_l = 0; - u16 adv_m = 0; int ret; + adv_l_mask = MDIO_AN_T1_ADV_L_FORCE_MS | MDIO_AN_T1_ADV_L_PAUSE_CAP | + MDIO_AN_T1_ADV_L_PAUSE_ASYM; + adv_m_mask = MDIO_AN_T1_ADV_M_MST | MDIO_AN_T1_ADV_M_B10L; + switch (phydev->master_slave_set) { case MASTER_SLAVE_CFG_MASTER_FORCE: + adv_m |= MDIO_AN_T1_ADV_M_MST; + fallthrough; case MASTER_SLAVE_CFG_SLAVE_FORCE: adv_l |= MDIO_AN_T1_ADV_L_FORCE_MS; break; case MASTER_SLAVE_CFG_MASTER_PREFERRED: + adv_m |= MDIO_AN_T1_ADV_M_MST; + fallthrough; case MASTER_SLAVE_CFG_SLAVE_PREFERRED: break; case MASTER_SLAVE_CFG_UNKNOWN: case MASTER_SLAVE_CFG_UNSUPPORTED: - return 0; + /* if master/slave role is not specified, do not overwrite it */ + adv_l_mask &= ~MDIO_AN_T1_ADV_L_FORCE_MS; + adv_m_mask &= ~MDIO_AN_T1_ADV_M_MST; + break; default: phydev_warn(phydev, "Unsupported Master/Slave mode\n"); return -EOPNOTSUPP; } - switch (phydev->master_slave_set) { - case MASTER_SLAVE_CFG_MASTER_FORCE: - case MASTER_SLAVE_CFG_MASTER_PREFERRED: - adv_m |= MDIO_AN_T1_ADV_M_MST; - break; - case MASTER_SLAVE_CFG_SLAVE_FORCE: - case MASTER_SLAVE_CFG_SLAVE_PREFERRED: - break; - default: - break; - } - adv_l |= linkmode_adv_to_mii_t1_adv_l_t(phydev->advertising); ret = phy_modify_mmd_changed(phydev, MDIO_MMD_AN, MDIO_AN_T1_ADV_L, - (MDIO_AN_T1_ADV_L_FORCE_MS | MDIO_AN_T1_ADV_L_PAUSE_CAP - | MDIO_AN_T1_ADV_L_PAUSE_ASYM), adv_l); + adv_l_mask, adv_l); if (ret < 0) return ret; if (ret > 0) @@ -236,7 +234,7 @@ adv_m |= linkmode_adv_to_mii_t1_adv_m_t(phydev->advertising); ret = phy_modify_mmd_changed(phydev, MDIO_MMD_AN, MDIO_AN_T1_ADV_M, - MDIO_AN_T1_ADV_M_MST | MDIO_AN_T1_ADV_M_B10L, adv_m); + adv_m_mask, adv_m); if (ret < 0) return ret; if (ret > 0) --- linux-gcp-5.19.0.orig/drivers/net/phy/phy_device.c +++ linux-gcp-5.19.0/drivers/net/phy/phy_device.c @@ -216,6 +216,7 @@ static void phy_device_release(struct device *dev) { + fwnode_handle_put(dev->fwnode); kfree(to_phy_device(dev)); } @@ -316,6 +317,14 @@ phydev->suspended_by_mdio_bus = 0; + /* If we managed to get here with the PHY state machine in a state + * neither PHY_HALTED, PHY_READY nor PHY_UP, this is an indication + * that something went wrong and we should most likely be using + * MAC managed PM, but we are not. + */ + WARN_ON(phydev->state != PHY_HALTED && phydev->state != PHY_READY && + phydev->state != PHY_UP); + ret = phy_init_hw(phydev); if (ret < 0) return ret; @@ -1510,6 +1519,7 @@ error_module_put: module_put(d->driver->owner); + d->driver = NULL; error_put_device: put_device(d); if (ndev_owner != bus->owner) --- linux-gcp-5.19.0.orig/drivers/net/phy/phylink.c +++ linux-gcp-5.19.0/drivers/net/phy/phylink.c @@ -1422,6 +1422,9 @@ if (phy_interrupt_is_valid(phy)) phy_request_interrupt(phy); + if (pl->config->mac_managed_pm) + phy->mac_managed_pm = true; + return 0; } @@ -1541,10 +1544,9 @@ ret = phy_attach_direct(pl->netdev, phy_dev, flags, pl->link_interface); - if (ret) { - phy_device_free(phy_dev); + phy_device_free(phy_dev); + if (ret) return ret; - } ret = phylink_bringup_phy(pl, phy_dev, pl->link_config.interface); if (ret) --- linux-gcp-5.19.0.orig/drivers/net/phy/xilinx_gmii2rgmii.c +++ linux-gcp-5.19.0/drivers/net/phy/xilinx_gmii2rgmii.c @@ -105,6 +105,7 @@ if (!priv->phy_dev->drv) { dev_info(dev, "Attached phy not ready\n"); + put_device(&priv->phy_dev->mdio.dev); return -EPROBE_DEFER; } --- linux-gcp-5.19.0.orig/drivers/net/plip/plip.c +++ linux-gcp-5.19.0/drivers/net/plip/plip.c @@ -450,12 +450,12 @@ } rcv->state = PLIP_PK_DONE; if (rcv->skb) { - kfree_skb(rcv->skb); + dev_kfree_skb_irq(rcv->skb); rcv->skb = NULL; } snd->state = PLIP_PK_DONE; if (snd->skb) { - dev_kfree_skb(snd->skb); + dev_consume_skb_irq(snd->skb); snd->skb = NULL; } spin_unlock_irq(&nl->lock); @@ -1111,7 +1111,7 @@ /* Any address will do - we take the first. We already have the first two bytes filled with 0xfc, from plip_init_dev(). */ - const struct in_ifaddr *ifa = rcu_dereference(in_dev->ifa_list); + const struct in_ifaddr *ifa = rtnl_dereference(in_dev->ifa_list); if (ifa != NULL) { dev_addr_mod(dev, 2, &ifa->ifa_local, 4); } --- linux-gcp-5.19.0.orig/drivers/net/ppp/ppp_generic.c +++ linux-gcp-5.19.0/drivers/net/ppp/ppp_generic.c @@ -1743,6 +1743,8 @@ int len; unsigned char *cp; + skb->dev = ppp->dev; + if (proto < 0x8000) { #ifdef CONFIG_PPP_FILTER /* check if we should pass this packet */ --- linux-gcp-5.19.0.orig/drivers/net/tap.c +++ linux-gcp-5.19.0/drivers/net/tap.c @@ -533,7 +533,7 @@ q->sock.state = SS_CONNECTED; q->sock.file = file; q->sock.ops = &tap_socket_ops; - sock_init_data(&q->sock, &q->sk); + sock_init_data_uid(&q->sock, &q->sk, inode->i_uid); q->sk.sk_write_space = tap_sock_write_space; q->sk.sk_destruct = tap_sock_destruct; q->flags = IFF_VNET_HDR | IFF_NO_PI | IFF_TAP; @@ -716,10 +716,20 @@ skb_reset_mac_header(skb); skb->protocol = eth_hdr(skb)->h_proto; + rcu_read_lock(); + tap = rcu_dereference(q->tap); + if (!tap) { + kfree_skb(skb); + rcu_read_unlock(); + return total_len; + } + skb->dev = tap->dev; + if (vnet_hdr_len) { err = virtio_net_hdr_to_skb(skb, &vnet_hdr, tap_is_little_endian(q)); if (err) { + rcu_read_unlock(); drop_reason = SKB_DROP_REASON_DEV_HDR; goto err_kfree; } @@ -732,8 +742,6 @@ __vlan_get_protocol(skb, skb->protocol, &depth) != 0) skb_set_network_header(skb, depth); - rcu_read_lock(); - tap = rcu_dereference(q->tap); /* copy skb_ubuf_info for callback when skb has no error */ if (zerocopy) { skb_zcopy_init(skb, msg_control); @@ -742,14 +750,8 @@ uarg->callback(NULL, uarg, false); } - if (tap) { - skb->dev = tap->dev; - dev_queue_xmit(skb); - } else { - kfree_skb(skb); - } + dev_queue_xmit(skb); rcu_read_unlock(); - return total_len; err_kfree: --- linux-gcp-5.19.0.orig/drivers/net/team/team.c +++ linux-gcp-5.19.0/drivers/net/team/team.c @@ -1275,10 +1275,12 @@ } } - netif_addr_lock_bh(dev); - dev_uc_sync_multiple(port_dev, dev); - dev_mc_sync_multiple(port_dev, dev); - netif_addr_unlock_bh(dev); + if (dev->flags & IFF_UP) { + netif_addr_lock_bh(dev); + dev_uc_sync_multiple(port_dev, dev); + dev_mc_sync_multiple(port_dev, dev); + netif_addr_unlock_bh(dev); + } port->index = -1; list_add_tail_rcu(&port->list, &team->port_list); @@ -1349,8 +1351,10 @@ netdev_rx_handler_unregister(port_dev); team_port_disable_netpoll(port); vlan_vids_del_by_dev(port_dev, dev); - dev_uc_unsync(port_dev, dev); - dev_mc_unsync(port_dev, dev); + if (dev->flags & IFF_UP) { + dev_uc_unsync(port_dev, dev); + dev_mc_unsync(port_dev, dev); + } dev_close(port_dev); team_port_leave(team, port); @@ -1700,6 +1704,14 @@ static int team_close(struct net_device *dev) { + struct team *team = netdev_priv(dev); + struct team_port *port; + + list_for_each_entry(port, &team->port_list, list) { + dev_uc_unsync(port->dev, dev); + dev_mc_unsync(port->dev, dev); + } + return 0; } --- linux-gcp-5.19.0.orig/drivers/net/thunderbolt.c +++ linux-gcp-5.19.0/drivers/net/thunderbolt.c @@ -612,18 +612,13 @@ return; } - /* Both logins successful so enable the high-speed DMA paths and - * start the network device queue. + /* Both logins successful so enable the rings, high-speed DMA + * paths and start the network device queue. + * + * Note we enable the DMA paths last to make sure we have primed + * the Rx ring before any incoming packets are allowed to + * arrive. */ - ret = tb_xdomain_enable_paths(net->xd, net->local_transmit_path, - net->rx_ring.ring->hop, - net->remote_transmit_path, - net->tx_ring.ring->hop); - if (ret) { - netdev_err(net->dev, "failed to enable DMA paths\n"); - return; - } - tb_ring_start(net->tx_ring.ring); tb_ring_start(net->rx_ring.ring); @@ -635,10 +630,21 @@ if (ret) goto err_free_rx_buffers; + ret = tb_xdomain_enable_paths(net->xd, net->local_transmit_path, + net->rx_ring.ring->hop, + net->remote_transmit_path, + net->tx_ring.ring->hop); + if (ret) { + netdev_err(net->dev, "failed to enable DMA paths\n"); + goto err_free_tx_buffers; + } + netif_carrier_on(net->dev); netif_start_queue(net->dev); return; +err_free_tx_buffers: + tbnet_free_buffers(&net->tx_ring); err_free_rx_buffers: tbnet_free_buffers(&net->rx_ring); err_stop_rings: @@ -896,6 +902,7 @@ tbnet_start_poll, net); if (!ring) { netdev_err(dev, "failed to allocate Rx ring\n"); + tb_xdomain_release_out_hopid(xd, hopid); tb_ring_free(net->tx_ring.ring); net->tx_ring.ring = NULL; return -ENOMEM; @@ -1373,12 +1380,21 @@ TBNET_MATCH_FRAGS_ID | TBNET_64K_FRAMES); ret = tb_register_property_dir("network", tbnet_dir); - if (ret) { - tb_property_free_dir(tbnet_dir); - return ret; - } + if (ret) + goto err_free_dir; + + ret = tb_register_service_driver(&tbnet_driver); + if (ret) + goto err_unregister; + + return 0; + +err_unregister: + tb_unregister_property_dir("network", tbnet_dir); +err_free_dir: + tb_property_free_dir(tbnet_dir); - return tb_register_service_driver(&tbnet_driver); + return ret; } module_init(tbnet_init); --- linux-gcp-5.19.0.orig/drivers/net/tun.c +++ linux-gcp-5.19.0/drivers/net/tun.c @@ -686,7 +686,6 @@ if (tun) xdp_rxq_info_unreg(&tfile->xdp_rxq); ptr_ring_cleanup(&tfile->tx_ring, tun_ptr_free); - sock_put(&tfile->sk); } } @@ -702,6 +701,9 @@ if (dev) netdev_state_change(dev); rtnl_unlock(); + + if (clean) + sock_put(&tfile->sk); } static void tun_detach_all(struct net_device *dev) @@ -1459,7 +1461,8 @@ int err; int i; - if (it->nr_segs > MAX_SKB_FRAGS + 1) + if (it->nr_segs > MAX_SKB_FRAGS + 1 || + len > (ETH_MAX_MTU - NET_SKB_PAD - NET_IP_ALIGN)) return ERR_PTR(-EMSGSIZE); local_bh_disable(); @@ -1966,17 +1969,25 @@ skb_headlen(skb)); if (unlikely(headlen > skb_headlen(skb))) { + WARN_ON_ONCE(1); + err = -ENOMEM; dev_core_stats_rx_dropped_inc(tun->dev); +napi_busy: napi_free_frags(&tfile->napi); rcu_read_unlock(); mutex_unlock(&tfile->napi_mutex); - WARN_ON(1); - return -ENOMEM; + return err; } - local_bh_disable(); - napi_gro_frags(&tfile->napi); - local_bh_enable(); + if (likely(napi_schedule_prep(&tfile->napi))) { + local_bh_disable(); + napi_gro_frags(&tfile->napi); + napi_complete(&tfile->napi); + local_bh_enable(); + } else { + err = -EBUSY; + goto napi_busy; + } mutex_unlock(&tfile->napi_mutex); } else if (tfile->napi_enabled) { struct sk_buff_head *queue = &tfile->sk.sk_write_queue; @@ -3435,7 +3446,7 @@ tfile->socket.file = file; tfile->socket.ops = &tun_socket_ops; - sock_init_data(&tfile->socket, &tfile->sk); + sock_init_data_uid(&tfile->socket, &tfile->sk, inode->i_uid); tfile->sk.sk_write_space = tun_sock_write_space; tfile->sk.sk_sndbuf = INT_MAX; --- linux-gcp-5.19.0.orig/drivers/net/usb/Kconfig +++ linux-gcp-5.19.0/drivers/net/usb/Kconfig @@ -637,8 +637,9 @@ * Aquantia AQtion USB to 5GbE config USB_RTL8153_ECM - tristate "RTL8153 ECM support" + tristate depends on USB_NET_CDCETHER && (USB_RTL8152 || USB_RTL8152=n) + default y help This option supports ECM mode for RTL8153 ethernet adapter, when CONFIG_USB_RTL8152 is not set, or the RTL8153 device is not --- linux-gcp-5.19.0.orig/drivers/net/usb/ax88179_178a.c +++ linux-gcp-5.19.0/drivers/net/usb/ax88179_178a.c @@ -1801,7 +1801,7 @@ .link_reset = ax88179_link_reset, .reset = ax88179_reset, .stop = ax88179_stop, - .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_SEND_ZLP, + .flags = FLAG_ETHER | FLAG_FRAMING_AX, .rx_fixup = ax88179_rx_fixup, .tx_fixup = ax88179_tx_fixup, }; @@ -1814,7 +1814,7 @@ .link_reset = ax88179_link_reset, .reset = ax88179_reset, .stop = ax88179_stop, - .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_SEND_ZLP, + .flags = FLAG_ETHER | FLAG_FRAMING_AX, .rx_fixup = ax88179_rx_fixup, .tx_fixup = ax88179_tx_fixup, }; @@ -1827,7 +1827,7 @@ .link_reset = ax88179_link_reset, .reset = ax88179_reset, .stop = ax88179_stop, - .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_SEND_ZLP, + .flags = FLAG_ETHER | FLAG_FRAMING_AX, .rx_fixup = ax88179_rx_fixup, .tx_fixup = ax88179_tx_fixup, }; @@ -1840,7 +1840,7 @@ .link_reset = ax88179_link_reset, .reset = ax88179_reset, .stop = ax88179_stop, - .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_SEND_ZLP, + .flags = FLAG_ETHER | FLAG_FRAMING_AX, .rx_fixup = ax88179_rx_fixup, .tx_fixup = ax88179_tx_fixup, }; @@ -1853,7 +1853,7 @@ .link_reset = ax88179_link_reset, .reset = ax88179_reset, .stop = ax88179_stop, - .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_SEND_ZLP, + .flags = FLAG_ETHER | FLAG_FRAMING_AX, .rx_fixup = ax88179_rx_fixup, .tx_fixup = ax88179_tx_fixup, }; @@ -1866,7 +1866,7 @@ .link_reset = ax88179_link_reset, .reset = ax88179_reset, .stop = ax88179_stop, - .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_SEND_ZLP, + .flags = FLAG_ETHER | FLAG_FRAMING_AX, .rx_fixup = ax88179_rx_fixup, .tx_fixup = ax88179_tx_fixup, }; @@ -1879,7 +1879,7 @@ .link_reset = ax88179_link_reset, .reset = ax88179_reset, .stop = ax88179_stop, - .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_SEND_ZLP, + .flags = FLAG_ETHER | FLAG_FRAMING_AX, .rx_fixup = ax88179_rx_fixup, .tx_fixup = ax88179_tx_fixup, }; @@ -1892,7 +1892,7 @@ .link_reset = ax88179_link_reset, .reset = ax88179_reset, .stop = ax88179_stop, - .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_SEND_ZLP, + .flags = FLAG_ETHER | FLAG_FRAMING_AX, .rx_fixup = ax88179_rx_fixup, .tx_fixup = ax88179_tx_fixup, }; @@ -1905,7 +1905,7 @@ .link_reset = ax88179_link_reset, .reset = ax88179_reset, .stop = ax88179_stop, - .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_SEND_ZLP, + .flags = FLAG_ETHER | FLAG_FRAMING_AX, .rx_fixup = ax88179_rx_fixup, .tx_fixup = ax88179_tx_fixup, }; @@ -1918,7 +1918,7 @@ .link_reset = ax88179_link_reset, .reset = ax88179_reset, .stop = ax88179_stop, - .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_SEND_ZLP, + .flags = FLAG_ETHER | FLAG_FRAMING_AX, .rx_fixup = ax88179_rx_fixup, .tx_fixup = ax88179_tx_fixup, }; @@ -1931,7 +1931,7 @@ .link_reset = ax88179_link_reset, .reset = ax88179_reset, .stop = ax88179_stop, - .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_SEND_ZLP, + .flags = FLAG_ETHER | FLAG_FRAMING_AX, .rx_fixup = ax88179_rx_fixup, .tx_fixup = ax88179_tx_fixup, }; @@ -1944,7 +1944,7 @@ .link_reset = ax88179_link_reset, .reset = ax88179_reset, .stop = ax88179_stop, - .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_SEND_ZLP, + .flags = FLAG_ETHER | FLAG_FRAMING_AX, .rx_fixup = ax88179_rx_fixup, .tx_fixup = ax88179_tx_fixup, }; @@ -1957,7 +1957,7 @@ .link_reset = ax88179_link_reset, .reset = ax88179_reset, .stop = ax88179_stop, - .flags = FLAG_ETHER | FLAG_FRAMING_AX | FLAG_SEND_ZLP, + .flags = FLAG_ETHER | FLAG_FRAMING_AX, .rx_fixup = ax88179_rx_fixup, .tx_fixup = ax88179_tx_fixup, }; --- linux-gcp-5.19.0.orig/drivers/net/usb/cdc_ether.c +++ linux-gcp-5.19.0/drivers/net/usb/cdc_ether.c @@ -777,6 +777,13 @@ }, #endif +/* Lenovo ThinkPad OneLink+ Dock (based on Realtek RTL8153) */ +{ + USB_DEVICE_AND_INTERFACE_INFO(LENOVO_VENDOR_ID, 0x3054, USB_CLASS_COMM, + USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), + .driver_info = 0, +}, + /* ThinkPad USB-C Dock (based on Realtek RTL8153) */ { USB_DEVICE_AND_INTERFACE_INFO(LENOVO_VENDOR_ID, 0x3062, USB_CLASS_COMM, @@ -994,6 +1001,12 @@ USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE), .driver_info = (unsigned long)&wwan_info, +}, { + /* Cinterion PLS62-W modem by GEMALTO/THALES */ + USB_DEVICE_AND_INTERFACE_INFO(0x1e2d, 0x005b, USB_CLASS_COMM, + USB_CDC_SUBCLASS_ETHERNET, + USB_CDC_PROTO_NONE), + .driver_info = (unsigned long)&wwan_info, }, { /* Cinterion PLS83/PLS63 modem by GEMALTO/THALES */ USB_DEVICE_AND_INTERFACE_INFO(0x1e2d, 0x0069, USB_CLASS_COMM, --- linux-gcp-5.19.0.orig/drivers/net/usb/kalmia.c +++ linux-gcp-5.19.0/drivers/net/usb/kalmia.c @@ -65,8 +65,8 @@ init_msg, init_msg_len, &act_len, KALMIA_USB_TIMEOUT); if (status != 0) { netdev_err(dev->net, - "Error sending init packet. Status %i, length %i\n", - status, act_len); + "Error sending init packet. Status %i\n", + status); return status; } else if (act_len != init_msg_len) { @@ -83,8 +83,8 @@ if (status != 0) netdev_err(dev->net, - "Error receiving init result. Status %i, length %i\n", - status, act_len); + "Error receiving init result. Status %i\n", + status); else if (act_len != expected_len) netdev_err(dev->net, "Unexpected init result length: %i\n", act_len); --- linux-gcp-5.19.0.orig/drivers/net/usb/plusb.c +++ linux-gcp-5.19.0/drivers/net/usb/plusb.c @@ -57,9 +57,7 @@ static inline int pl_vendor_req(struct usbnet *dev, u8 req, u8 val, u8 index) { - return usbnet_read_cmd(dev, req, - USB_DIR_IN | USB_TYPE_VENDOR | - USB_RECIP_DEVICE, + return usbnet_write_cmd(dev, req, USB_TYPE_VENDOR | USB_RECIP_DEVICE, val, index, NULL, 0); } --- linux-gcp-5.19.0.orig/drivers/net/usb/qmi_wwan.c +++ linux-gcp-5.19.0/drivers/net/usb/qmi_wwan.c @@ -1356,6 +1356,7 @@ {QMI_FIXED_INTF(0x2357, 0x0201, 4)}, /* TP-LINK HSUPA Modem MA180 */ {QMI_FIXED_INTF(0x2357, 0x9000, 4)}, /* TP-LINK MA260 */ {QMI_QUIRK_SET_DTR(0x1bc7, 0x1031, 3)}, /* Telit LE910C1-EUX */ + {QMI_QUIRK_SET_DTR(0x1bc7, 0x103a, 0)}, /* Telit LE910C4-WWX */ {QMI_QUIRK_SET_DTR(0x1bc7, 0x1040, 2)}, /* Telit LE922A */ {QMI_QUIRK_SET_DTR(0x1bc7, 0x1050, 2)}, /* Telit FN980 */ {QMI_QUIRK_SET_DTR(0x1bc7, 0x1057, 2)}, /* Telit FN980 */ @@ -1399,6 +1400,7 @@ {QMI_FIXED_INTF(0x413c, 0x81b3, 8)}, /* Dell Wireless 5809e Gobi(TM) 4G LTE Mobile Broadband Card (rev3) */ {QMI_FIXED_INTF(0x413c, 0x81b6, 8)}, /* Dell Wireless 5811e */ {QMI_FIXED_INTF(0x413c, 0x81b6, 10)}, /* Dell Wireless 5811e */ + {QMI_FIXED_INTF(0x413c, 0x81c2, 8)}, /* Dell Wireless 5811e */ {QMI_FIXED_INTF(0x413c, 0x81cc, 8)}, /* Dell Wireless 5816e */ {QMI_FIXED_INTF(0x413c, 0x81d7, 0)}, /* Dell Wireless 5821e */ {QMI_FIXED_INTF(0x413c, 0x81d7, 1)}, /* Dell Wireless 5821e preproduction config */ @@ -1418,6 +1420,7 @@ {QMI_FIXED_INTF(0x0489, 0xe0b4, 0)}, /* Foxconn T77W968 LTE */ {QMI_FIXED_INTF(0x0489, 0xe0b5, 0)}, /* Foxconn T77W968 LTE with eSIM support*/ {QMI_FIXED_INTF(0x2692, 0x9025, 4)}, /* Cellient MPL200 (rebranded Qualcomm 05c6:9025) */ + {QMI_QUIRK_SET_DTR(0x1546, 0x1342, 4)}, /* u-blox LARA-L6 */ /* 4. Gobi 1000 devices */ {QMI_GOBI1K_DEVICE(0x05c6, 0x9212)}, /* Acer Gobi Modem Device */ --- linux-gcp-5.19.0.orig/drivers/net/usb/r8152.c +++ linux-gcp-5.19.0/drivers/net/usb/r8152.c @@ -770,6 +770,7 @@ RX_EPROTO, }; +#define DEVICE_ID_THINKPAD_ONELINK_PLUS_DOCK 0x3054 #define DEVICE_ID_THINKPAD_THUNDERBOLT3_DOCK_GEN2 0x3082 #define DEVICE_ID_THINKPAD_USB_C_DONGLE 0x720c #define DEVICE_ID_THINKPAD_USB_C_DOCK_GEN2 0xa387 @@ -1873,7 +1874,9 @@ "Stop submitting intr, status %d\n", status); return; case -EOVERFLOW: - netif_info(tp, intr, tp->netdev, "intr status -EOVERFLOW\n"); + if (net_ratelimit()) + netif_info(tp, intr, tp->netdev, + "intr status -EOVERFLOW\n"); goto resubmit; /* -EPIPE: should clear the halt */ default: @@ -5906,6 +5909,11 @@ ocp_data &= ~NOW_IS_OOB; ocp_write_byte(tp, MCU_TYPE_PLA, PLA_OOB_CTRL, ocp_data); + /* RX FIFO settings for OOB */ + ocp_write_dword(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL0, RXFIFO_THR1_OOB); + ocp_write_word(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL1, RXFIFO_THR2_OOB); + ocp_write_word(tp, MCU_TYPE_PLA, PLA_RXFIFO_CTRL2, RXFIFO_THR3_OOB); + rtl_disable(tp); rtl_reset_bmu(tp); @@ -6431,21 +6439,8 @@ u32 pause_on = tp->fc_pause_on ? tp->fc_pause_on : fc_pause_on_auto(tp); u32 pause_off = tp->fc_pause_off ? tp->fc_pause_off : fc_pause_off_auto(tp); - switch (tp->version) { - case RTL_VER_10: - case RTL_VER_11: - ocp_write_word(tp, MCU_TYPE_PLA, PLA_RX_FIFO_FULL, pause_on / 8); - ocp_write_word(tp, MCU_TYPE_PLA, PLA_RX_FIFO_EMPTY, pause_off / 8); - break; - case RTL_VER_12: - case RTL_VER_13: - case RTL_VER_15: - ocp_write_word(tp, MCU_TYPE_PLA, PLA_RX_FIFO_FULL, pause_on / 16); - ocp_write_word(tp, MCU_TYPE_PLA, PLA_RX_FIFO_EMPTY, pause_off / 16); - break; - default: - break; - } + ocp_write_word(tp, MCU_TYPE_PLA, PLA_RX_FIFO_FULL, pause_on / 16); + ocp_write_word(tp, MCU_TYPE_PLA, PLA_RX_FIFO_EMPTY, pause_off / 16); } static void rtl8156_change_mtu(struct r8152 *tp) @@ -6557,6 +6552,11 @@ ocp_data &= ~NOW_IS_OOB; ocp_write_byte(tp, MCU_TYPE_PLA, PLA_OOB_CTRL, ocp_data); + /* RX FIFO settings for OOB */ + ocp_write_word(tp, MCU_TYPE_PLA, PLA_RXFIFO_FULL, 64 / 16); + ocp_write_word(tp, MCU_TYPE_PLA, PLA_RX_FIFO_FULL, 1024 / 16); + ocp_write_word(tp, MCU_TYPE_PLA, PLA_RX_FIFO_EMPTY, 4096 / 16); + rtl_disable(tp); rtl_reset_bmu(tp); @@ -9584,6 +9584,7 @@ if (vendor_id == VENDOR_ID_LENOVO) { switch (product_id) { + case DEVICE_ID_THINKPAD_ONELINK_PLUS_DOCK: case DEVICE_ID_THINKPAD_THUNDERBOLT3_DOCK_GEN2: case DEVICE_ID_THINKPAD_USB_C_DOCK_GEN2: case DEVICE_ID_THINKPAD_USB_C_DOCK_GEN3: @@ -9829,8 +9830,10 @@ REALTEK_USB_DEVICE(VENDOR_ID_MICROSOFT, 0x07ab), REALTEK_USB_DEVICE(VENDOR_ID_MICROSOFT, 0x07c6), REALTEK_USB_DEVICE(VENDOR_ID_MICROSOFT, 0x0927), + REALTEK_USB_DEVICE(VENDOR_ID_MICROSOFT, 0x0c5e), REALTEK_USB_DEVICE(VENDOR_ID_SAMSUNG, 0xa101), REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x304f), + REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3054), REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3062), REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3069), REALTEK_USB_DEVICE(VENDOR_ID_LENOVO, 0x3082), --- linux-gcp-5.19.0.orig/drivers/net/usb/rndis_host.c +++ linux-gcp-5.19.0/drivers/net/usb/rndis_host.c @@ -255,7 +255,8 @@ off = le32_to_cpu(u.get_c->offset); len = le32_to_cpu(u.get_c->len); - if (unlikely((8 + off + len) > CONTROL_BUFFER_SIZE)) + if (unlikely((off > CONTROL_BUFFER_SIZE - 8) || + (len > CONTROL_BUFFER_SIZE - 8 - off))) goto response_error; if (*reply_len != -1 && len != *reply_len) --- linux-gcp-5.19.0.orig/drivers/net/usb/smsc95xx.c +++ linux-gcp-5.19.0/drivers/net/usb/smsc95xx.c @@ -66,11 +66,13 @@ spinlock_t mac_cr_lock; u8 features; u8 suspend_flags; + bool is_internal_phy; struct irq_chip irqchip; struct irq_domain *irqdomain; struct fwnode_handle *irqfwnode; struct mii_bus *mdiobus; struct phy_device *phydev; + struct task_struct *pm_task; }; static bool turbo_mode = true; @@ -80,13 +82,14 @@ static int __must_check __smsc95xx_read_reg(struct usbnet *dev, u32 index, u32 *data, int in_pm) { + struct smsc95xx_priv *pdata = dev->driver_priv; u32 buf; int ret; int (*fn)(struct usbnet *, u8, u8, u16, u16, void *, u16); BUG_ON(!dev); - if (!in_pm) + if (current != pdata->pm_task) fn = usbnet_read_cmd; else fn = usbnet_read_cmd_nopm; @@ -110,13 +113,14 @@ static int __must_check __smsc95xx_write_reg(struct usbnet *dev, u32 index, u32 data, int in_pm) { + struct smsc95xx_priv *pdata = dev->driver_priv; u32 buf; int ret; int (*fn)(struct usbnet *, u8, u8, u16, u16, const void *, u16); BUG_ON(!dev); - if (!in_pm) + if (current != pdata->pm_task) fn = usbnet_write_cmd; else fn = usbnet_write_cmd_nopm; @@ -293,6 +297,43 @@ __smsc95xx_mdio_write(dev, pdata->phydev->mdio.addr, idx, regval, 1); } +static int smsc95xx_mdiobus_reset(struct mii_bus *bus) +{ + struct smsc95xx_priv *pdata; + struct usbnet *dev; + u32 val; + int ret; + + dev = bus->priv; + pdata = dev->driver_priv; + + if (pdata->is_internal_phy) + return 0; + + mutex_lock(&dev->phy_mutex); + + ret = smsc95xx_read_reg(dev, PM_CTRL, &val); + if (ret < 0) + goto reset_out; + + val |= PM_CTL_PHY_RST_; + + ret = smsc95xx_write_reg(dev, PM_CTRL, val); + if (ret < 0) + goto reset_out; + + /* Driver has no knowledge at this point about the external PHY. + * The 802.3 specifies that the reset process shall + * be completed within 0.5 s. + */ + fsleep(500000); + +reset_out: + mutex_unlock(&dev->phy_mutex); + + return 0; +} + static int smsc95xx_mdiobus_read(struct mii_bus *bus, int phy_id, int idx) { struct usbnet *dev = bus->priv; @@ -1093,7 +1134,6 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) { struct smsc95xx_priv *pdata; - bool is_internal_phy; char usb_path[64]; int ret, phy_irq; u32 val; @@ -1174,13 +1214,14 @@ if (ret < 0) goto free_mdio; - is_internal_phy = !(val & HW_CFG_PSEL_); - if (is_internal_phy) + pdata->is_internal_phy = !(val & HW_CFG_PSEL_); + if (pdata->is_internal_phy) pdata->mdiobus->phy_mask = ~(1u << SMSC95XX_INTERNAL_PHY_ID); pdata->mdiobus->priv = dev; pdata->mdiobus->read = smsc95xx_mdiobus_read; pdata->mdiobus->write = smsc95xx_mdiobus_write; + pdata->mdiobus->reset = smsc95xx_mdiobus_reset; pdata->mdiobus->name = "smsc95xx-mdiobus"; pdata->mdiobus->parent = &dev->udev->dev; @@ -1201,7 +1242,7 @@ } pdata->phydev->irq = phy_irq; - pdata->phydev->is_internal = is_internal_phy; + pdata->phydev->is_internal = pdata->is_internal_phy; /* detect device revision as different features may be available */ ret = smsc95xx_read_reg(dev, ID_REV, &val); @@ -1490,9 +1531,12 @@ u32 val, link_up; int ret; + pdata->pm_task = current; + ret = usbnet_suspend(intf, message); if (ret < 0) { netdev_warn(dev->net, "usbnet_suspend error\n"); + pdata->pm_task = NULL; return ret; } @@ -1732,6 +1776,7 @@ if (ret && PMSG_IS_AUTO(message)) usbnet_resume(intf); + pdata->pm_task = NULL; return ret; } @@ -1752,29 +1797,31 @@ /* do this first to ensure it's cleared even in error case */ pdata->suspend_flags = 0; + pdata->pm_task = current; + if (suspend_flags & SUSPEND_ALLMODES) { /* clear wake-up sources */ ret = smsc95xx_read_reg_nopm(dev, WUCSR, &val); if (ret < 0) - return ret; + goto done; val &= ~(WUCSR_WAKE_EN_ | WUCSR_MPEN_); ret = smsc95xx_write_reg_nopm(dev, WUCSR, val); if (ret < 0) - return ret; + goto done; /* clear wake-up status */ ret = smsc95xx_read_reg_nopm(dev, PM_CTRL, &val); if (ret < 0) - return ret; + goto done; val &= ~PM_CTL_WOL_EN_; val |= PM_CTL_WUPS_; ret = smsc95xx_write_reg_nopm(dev, PM_CTRL, val); if (ret < 0) - return ret; + goto done; } phy_init_hw(pdata->phydev); @@ -1783,15 +1830,20 @@ if (ret < 0) netdev_warn(dev->net, "usbnet_resume error\n"); +done: + pdata->pm_task = NULL; return ret; } static int smsc95xx_reset_resume(struct usb_interface *intf) { struct usbnet *dev = usb_get_intfdata(intf); + struct smsc95xx_priv *pdata = dev->driver_priv; int ret; + pdata->pm_task = current; ret = smsc95xx_reset(dev); + pdata->pm_task = NULL; if (ret < 0) return ret; --- linux-gcp-5.19.0.orig/drivers/net/usb/sr9700.c +++ linux-gcp-5.19.0/drivers/net/usb/sr9700.c @@ -413,7 +413,7 @@ /* ignore the CRC length */ len = (skb->data[1] | (skb->data[2] << 8)) - 4; - if (len > ETH_FRAME_LEN || len > skb->len) + if (len > ETH_FRAME_LEN || len > skb->len || len < 0) return 0; /* the last packet of current skb */ --- linux-gcp-5.19.0.orig/drivers/net/usb/usbnet.c +++ linux-gcp-5.19.0/drivers/net/usb/usbnet.c @@ -849,13 +849,11 @@ mpn = !test_and_clear_bit(EVENT_NO_RUNTIME_PM, &dev->flags); - /* deferred work (task, timer, softirq) must also stop. - * can't flush_scheduled_work() until we drop rtnl (later), - * else workers could deadlock; so make workers a NOP. - */ + /* deferred work (timer, softirq, task) must also stop */ dev->flags = 0; del_timer_sync (&dev->delay); tasklet_kill (&dev->bh); + cancel_work_sync(&dev->kevent); if (!pm) usb_autopm_put_interface(dev->intf); @@ -1603,6 +1601,7 @@ struct usbnet *dev; struct usb_device *xdev; struct net_device *net; + struct urb *urb; dev = usb_get_intfdata(intf); usb_set_intfdata(intf, NULL); @@ -1619,9 +1618,11 @@ net = dev->net; unregister_netdev (net); - cancel_work_sync(&dev->kevent); - - usb_scuttle_anchored_urbs(&dev->deferred); + while ((urb = usb_get_from_anchor(&dev->deferred))) { + dev_kfree_skb(urb->context); + kfree(urb->sg); + usb_free_urb(urb); + } if (dev->driver_info->unbind) dev->driver_info->unbind(dev, intf); --- linux-gcp-5.19.0.orig/drivers/net/veth.c +++ linux-gcp-5.19.0/drivers/net/veth.c @@ -978,6 +978,9 @@ xdp_set_return_frame_no_direct(); done = veth_xdp_rcv(rq, budget, &bq, &stats); + if (stats.xdp_redirect > 0) + xdp_do_flush(); + if (done < budget && napi_complete_done(napi, done)) { /* Write rx_notify_masked before reading ptr_ring */ smp_store_mb(rq->rx_notify_masked, false); @@ -991,8 +994,6 @@ if (stats.xdp_tx > 0) veth_xdp_flush(rq, &bq); - if (stats.xdp_redirect > 0) - xdp_do_flush(); xdp_clear_return_frame_no_direct(); return done; --- linux-gcp-5.19.0.orig/drivers/net/virtio_net.c +++ linux-gcp-5.19.0/drivers/net/virtio_net.c @@ -1057,8 +1057,11 @@ case XDP_TX: stats->xdp_tx++; xdpf = xdp_convert_buff_to_frame(&xdp); - if (unlikely(!xdpf)) + if (unlikely(!xdpf)) { + if (unlikely(xdp_page != page)) + put_page(xdp_page); goto err_xdp; + } err = virtnet_xdp_xmit(dev, 1, &xdpf, 0); if (unlikely(!err)) { xdp_return_frame_rx_napi(xdpf); @@ -1196,7 +1199,7 @@ if (!hdr_hash || !skb) return; - switch ((int)hdr_hash->hash_report) { + switch (__le16_to_cpu(hdr_hash->hash_report)) { case VIRTIO_NET_HASH_REPORT_TCPv4: case VIRTIO_NET_HASH_REPORT_UDPv4: case VIRTIO_NET_HASH_REPORT_TCPv6: @@ -1214,7 +1217,7 @@ default: rss_hash_type = PKT_HASH_TYPE_NONE; } - skb_set_hash(skb, (unsigned int)hdr_hash->hash_value, rss_hash_type); + skb_set_hash(skb, __le32_to_cpu(hdr_hash->hash_value), rss_hash_type); } static void receive_buf(struct virtnet_info *vi, struct receive_queue *rq, @@ -1650,13 +1653,13 @@ received = virtnet_receive(rq, budget, &xdp_xmit); + if (xdp_xmit & VIRTIO_XDP_REDIR) + xdp_do_flush(); + /* Out of packets? */ if (received < budget) virtqueue_napi_complete(napi, rq->vq, received); - if (xdp_xmit & VIRTIO_XDP_REDIR) - xdp_do_flush(); - if (xdp_xmit & VIRTIO_XDP_TX) { sq = virtnet_xdp_get_sq(vi); if (virtqueue_kick_prepare(sq->vq) && virtqueue_notify(sq->vq)) { @@ -1850,8 +1853,10 @@ */ if (sq->vq->num_free < 2+MAX_SKB_FRAGS) { netif_stop_subqueue(dev, qnum); - if (!use_napi && - unlikely(!virtqueue_enable_cb_delayed(sq->vq))) { + if (use_napi) { + if (unlikely(!virtqueue_enable_cb_delayed(sq->vq))) + virtqueue_napi_schedule(&sq->napi, sq->vq); + } else if (unlikely(!virtqueue_enable_cb_delayed(sq->vq))) { /* More just got used, free them then recheck. */ free_old_xmit_skbs(sq, false); if (sq->vq->num_free >= 2+MAX_SKB_FRAGS) { @@ -2065,8 +2070,8 @@ cancel_delayed_work_sync(&vi->refill); for (i = 0; i < vi->max_queue_pairs; i++) { - xdp_rxq_info_unreg(&vi->rq[i].xdp_rxq); napi_disable(&vi->rq[i].napi); + xdp_rxq_info_unreg(&vi->rq[i].xdp_rxq); virtnet_napi_tx_disable(&vi->sq[i].napi); } @@ -3717,12 +3722,11 @@ return 0; free_unregister_netdev: - virtio_reset_device(vdev); - unregister_netdev(dev); free_failover: net_failover_destroy(vi->failover); free_vqs: + virtio_reset_device(vdev); cancel_delayed_work_sync(&vi->refill); free_receive_page_frags(vi); virtnet_del_vqs(vi); --- linux-gcp-5.19.0.orig/drivers/net/vmxnet3/vmxnet3_drv.c +++ linux-gcp-5.19.0/drivers/net/vmxnet3/vmxnet3_drv.c @@ -75,8 +75,14 @@ for (i = 0; i < adapter->intr.num_intrs; i++) vmxnet3_enable_intr(adapter, i); - adapter->shared->devRead.intrConf.intrCtrl &= + if (!VMXNET3_VERSION_GE_6(adapter) || + !adapter->queuesExtEnabled) { + adapter->shared->devRead.intrConf.intrCtrl &= cpu_to_le32(~VMXNET3_IC_DISABLE_ALL); + } else { + adapter->shared->devReadExt.intrConfExt.intrCtrl &= + cpu_to_le32(~VMXNET3_IC_DISABLE_ALL); + } } @@ -85,8 +91,14 @@ { int i; - adapter->shared->devRead.intrConf.intrCtrl |= + if (!VMXNET3_VERSION_GE_6(adapter) || + !adapter->queuesExtEnabled) { + adapter->shared->devRead.intrConf.intrCtrl |= + cpu_to_le32(VMXNET3_IC_DISABLE_ALL); + } else { + adapter->shared->devReadExt.intrConfExt.intrCtrl |= cpu_to_le32(VMXNET3_IC_DISABLE_ALL); + } for (i = 0; i < adapter->intr.num_intrs; i++) vmxnet3_disable_intr(adapter, i); } @@ -1230,6 +1242,10 @@ (le32_to_cpu(gdesc->dword[3]) & VMXNET3_RCD_CSUM_OK) == VMXNET3_RCD_CSUM_OK) { skb->ip_summed = CHECKSUM_UNNECESSARY; + if ((le32_to_cpu(gdesc->dword[0]) & + (1UL << VMXNET3_RCD_HDR_INNER_SHIFT))) { + skb->csum_level = 1; + } WARN_ON_ONCE(!(gdesc->rcd.tcp || gdesc->rcd.udp) && !(le32_to_cpu(gdesc->dword[0]) & (1UL << VMXNET3_RCD_HDR_INNER_SHIFT))); @@ -1239,6 +1255,10 @@ } else if (gdesc->rcd.v6 && (le32_to_cpu(gdesc->dword[3]) & (1 << VMXNET3_RCD_TUC_SHIFT))) { skb->ip_summed = CHECKSUM_UNNECESSARY; + if ((le32_to_cpu(gdesc->dword[0]) & + (1UL << VMXNET3_RCD_HDR_INNER_SHIFT))) { + skb->csum_level = 1; + } WARN_ON_ONCE(!(gdesc->rcd.tcp || gdesc->rcd.udp) && !(le32_to_cpu(gdesc->dword[0]) & (1UL << VMXNET3_RCD_HDR_INNER_SHIFT))); @@ -1350,6 +1370,7 @@ }; u32 num_pkts = 0; bool skip_page_frags = false; + bool encap_lro = false; struct Vmxnet3_RxCompDesc *rcd; struct vmxnet3_rx_ctx *ctx = &rq->rx_ctx; u16 segCnt = 0, mss = 0; @@ -1508,13 +1529,18 @@ if (VMXNET3_VERSION_GE_2(adapter) && rcd->type == VMXNET3_CDTYPE_RXCOMP_LRO) { struct Vmxnet3_RxCompDescExt *rcdlro; + union Vmxnet3_GenericDesc *gdesc; + rcdlro = (struct Vmxnet3_RxCompDescExt *)rcd; + gdesc = (union Vmxnet3_GenericDesc *)rcd; segCnt = rcdlro->segCnt; WARN_ON_ONCE(segCnt == 0); mss = rcdlro->mss; if (unlikely(segCnt <= 1)) segCnt = 0; + encap_lro = (le32_to_cpu(gdesc->dword[0]) & + (1UL << VMXNET3_RCD_HDR_INNER_SHIFT)); } else { segCnt = 0; } @@ -1582,7 +1608,7 @@ vmxnet3_rx_csum(adapter, skb, (union Vmxnet3_GenericDesc *)rcd); skb->protocol = eth_type_trans(skb, adapter->netdev); - if (!rcd->tcp || + if ((!rcd->tcp && !encap_lro) || !(adapter->netdev->features & NETIF_F_LRO)) goto not_lro; @@ -1591,7 +1617,7 @@ SKB_GSO_TCPV4 : SKB_GSO_TCPV6; skb_shinfo(skb)->gso_size = mss; skb_shinfo(skb)->gso_segs = segCnt; - } else if (segCnt != 0 || skb->len > mtu) { + } else if ((segCnt != 0 || skb->len > mtu) && !encap_lro) { u32 hlen; hlen = vmxnet3_get_hdr_len(adapter, skb, @@ -1620,6 +1646,7 @@ napi_gro_receive(&rq->napi, skb); ctx->skb = NULL; + encap_lro = false; num_pkts++; } --- linux-gcp-5.19.0.orig/drivers/net/vrf.c +++ linux-gcp-5.19.0/drivers/net/vrf.c @@ -1385,8 +1385,8 @@ /* loopback, multicast & non-ND link-local traffic; do not push through * packet taps again. Reset pkt_type for upper layers to process skb. - * For strict packets with a source LLA, determine the dst using the - * original ifindex. + * For non-loopback strict packets, determine the dst using the original + * ifindex. */ if (skb->pkt_type == PACKET_LOOPBACK || (need_strict && !is_ndisc)) { skb->dev = vrf_dev; @@ -1395,7 +1395,7 @@ if (skb->pkt_type == PACKET_LOOPBACK) skb->pkt_type = PACKET_HOST; - else if (ipv6_addr_type(&ipv6_hdr(skb)->saddr) & IPV6_ADDR_LINKLOCAL) + else vrf_ip6_input_dst(skb, vrf_dev, orig_iif); goto out; --- linux-gcp-5.19.0.orig/drivers/net/vxlan/vxlan_core.c +++ linux-gcp-5.19.0/drivers/net/vxlan/vxlan_core.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -71,6 +72,167 @@ ip_tunnel_collect_metadata(); } +static struct ip_fan_map *vxlan_fan_find_map(struct vxlan_dev *vxlan, __be32 daddr) +{ + struct ip_fan_map *fan_map; + + rcu_read_lock(); + list_for_each_entry_rcu(fan_map, &vxlan->fan.fan_maps, list) { + if (fan_map->overlay == + (daddr & inet_make_mask(fan_map->overlay_prefix))) { + rcu_read_unlock(); + return fan_map; + } + } + rcu_read_unlock(); + + return NULL; +} + +static void vxlan_fan_flush_map(struct vxlan_dev *vxlan) +{ + struct ip_fan_map *fan_map; + + list_for_each_entry_rcu(fan_map, &vxlan->fan.fan_maps, list) { + list_del_rcu(&fan_map->list); + kfree_rcu(fan_map, rcu); + } +} + +static int vxlan_fan_del_map(struct vxlan_dev *vxlan, __be32 overlay) +{ + struct ip_fan_map *fan_map; + + fan_map = vxlan_fan_find_map(vxlan, overlay); + if (!fan_map) + return -ENOENT; + + list_del_rcu(&fan_map->list); + kfree_rcu(fan_map, rcu); + + return 0; +} + +static int vxlan_fan_add_map(struct vxlan_dev *vxlan, struct ifla_fan_map *map) +{ + __be32 overlay_mask, underlay_mask; + struct ip_fan_map *fan_map; + + overlay_mask = inet_make_mask(map->overlay_prefix); + underlay_mask = inet_make_mask(map->underlay_prefix); + + netdev_dbg(vxlan->dev, "vfam: map: o %x/%d u %x/%d om %x um %x\n", + map->overlay, map->overlay_prefix, + map->underlay, map->underlay_prefix, + overlay_mask, underlay_mask); + + if ((map->overlay & ~overlay_mask) || (map->underlay & ~underlay_mask)) + return -EINVAL; + + if (!(map->overlay & overlay_mask) && (map->underlay & underlay_mask)) + return -EINVAL; + + /* Special case: overlay 0 and underlay 0: flush all mappings */ + if (!map->overlay && !map->underlay) { + vxlan_fan_flush_map(vxlan); + return 0; + } + + /* Special case: overlay set and underlay 0: clear map for overlay */ + if (!map->underlay) + return vxlan_fan_del_map(vxlan, map->overlay); + + if (vxlan_fan_find_map(vxlan, map->overlay)) + return -EEXIST; + + fan_map = kmalloc(sizeof(*fan_map), GFP_KERNEL); + fan_map->underlay = map->underlay; + fan_map->overlay = map->overlay; + fan_map->underlay_prefix = map->underlay_prefix; + fan_map->overlay_mask = ntohl(overlay_mask); + fan_map->overlay_prefix = map->overlay_prefix; + + list_add_tail_rcu(&fan_map->list, &vxlan->fan.fan_maps); + + return 0; +} + +static int vxlan_parse_fan_map(struct nlattr *data[], struct vxlan_dev *vxlan) +{ + struct ifla_fan_map *map; + struct nlattr *attr; + int rem, rv; + + nla_for_each_nested(attr, data[IFLA_IPTUN_FAN_MAP], rem) { + map = nla_data(attr); + rv = vxlan_fan_add_map(vxlan, map); + if (rv) + return rv; + } + + return 0; +} + +static int vxlan_fan_build_rdst(struct vxlan_dev *vxlan, struct sk_buff *skb, + struct vxlan_rdst *fan_rdst) +{ + struct ip_fan_map *f_map; + union vxlan_addr *va; + u32 daddr, underlay; + struct arphdr *arp; + void *arp_ptr; + struct ethhdr *eth; + struct iphdr *iph; + + eth = eth_hdr(skb); + switch (eth->h_proto) { + case htons(ETH_P_IP): + iph = ip_hdr(skb); + if (!iph) + return -EINVAL; + daddr = iph->daddr; + break; + case htons(ETH_P_ARP): + arp = arp_hdr(skb); + if (!arp) + return -EINVAL; + arp_ptr = arp + 1; + netdev_dbg(vxlan->dev, + "vfbr: arp sha %pM sip %pI4 tha %pM tip %pI4\n", + arp_ptr, arp_ptr + skb->dev->addr_len, + arp_ptr + skb->dev->addr_len + 4, + arp_ptr + (skb->dev->addr_len * 2) + 4); + arp_ptr += (skb->dev->addr_len * 2) + 4; + memcpy(&daddr, arp_ptr, 4); + break; + default: + netdev_dbg(vxlan->dev, "vfbr: unknown eth p %x\n", eth->h_proto); + return -EINVAL; + } + + f_map = vxlan_fan_find_map(vxlan, daddr); + if (!f_map) + return -EINVAL; + + daddr = ntohl(daddr); + underlay = ntohl(f_map->underlay); + if (!underlay) + return -EINVAL; + + memset(fan_rdst, 0, sizeof(*fan_rdst)); + va = &fan_rdst->remote_ip; + va->sa.sa_family = AF_INET; + fan_rdst->remote_vni = vxlan->default_dst.remote_vni; + va->sin.sin_addr.s_addr = htonl(underlay | + ((daddr & ~f_map->overlay_mask) >> + (32 - f_map->overlay_prefix - + (32 - f_map->underlay_prefix)))); + netdev_dbg(vxlan->dev, "vfbr: daddr %x ul %x dst %x\n", + daddr, underlay, va->sin.sin_addr.s_addr); + + return 0; +} + #if IS_ENABLED(CONFIG_IPV6) static int vxlan_nla_get_addr(union vxlan_addr *ip, struct nlattr *nla) { @@ -2243,7 +2405,7 @@ struct vxlan_sock *sock4, struct sk_buff *skb, int oif, u8 tos, __be32 daddr, __be32 *saddr, __be16 dport, __be16 sport, - struct dst_cache *dst_cache, + __u8 flow_flags, struct dst_cache *dst_cache, const struct ip_tunnel_info *info) { bool use_cache = ip_tunnel_dst_cache_usable(skb, info); @@ -2270,6 +2432,7 @@ fl4.saddr = *saddr; fl4.fl4_dport = dport; fl4.fl4_sport = sport; + fl4.flowi4_flags = flow_flags; rt = ip_route_output_key(vxlan->net, &fl4); if (!IS_ERR(rt)) { @@ -2320,7 +2483,7 @@ fl6.flowi6_oif = oif; fl6.daddr = *daddr; fl6.saddr = *saddr; - fl6.flowlabel = ip6_make_flowinfo(RT_TOS(tos), label); + fl6.flowlabel = ip6_make_flowinfo(tos, label); fl6.flowi6_mark = skb->mark; fl6.flowi6_proto = IPPROTO_UDP; fl6.fl6_dport = dport; @@ -2459,7 +2622,7 @@ unsigned int pkt_len = skb->len; __be16 src_port = 0, dst_port; struct dst_entry *ndst = NULL; - __u8 tos, ttl; + __u8 tos, ttl, flow_flags = 0; int ifindex; int err; u32 flags = vxlan->cfg.flags; @@ -2525,6 +2688,7 @@ } dst = &remote_ip; dst_port = info->key.tp_dst ? : vxlan->cfg.dst_port; + flow_flags = info->key.flow_flags; vni = tunnel_id_to_key32(info->key.tun_id); ifindex = 0; dst_cache = &info->dst_cache; @@ -2555,13 +2719,20 @@ rt = vxlan_get_route(vxlan, dev, sock4, skb, ifindex, tos, dst->sin.sin_addr.s_addr, &local_ip.sin.sin_addr.s_addr, - dst_port, src_port, + dst_port, src_port, flow_flags, dst_cache, info); if (IS_ERR(rt)) { err = PTR_ERR(rt); goto tx_error; } + if (fan_has_map(&vxlan->fan) && rt->rt_flags & RTCF_LOCAL) { + netdev_dbg(dev, "discard fan to localhost %pI4\n", + &dst->sin.sin_addr.s_addr); + ip_rt_put(rt); + goto tx_free; + } + if (!info) { /* Bypass encapsulation if the destination is local */ err = encap_bypass_if_local(skb, dev, vxlan, dst, @@ -2704,6 +2875,7 @@ dst_release(ndst); dev->stats.tx_errors++; vxlan_vnifilter_count(vxlan, vni, NULL, VXLAN_VNI_STATS_TX_ERRORS, 0); +tx_free: kfree_skb(skb); } @@ -2792,6 +2964,20 @@ #endif } + if (fan_has_map(&vxlan->fan)) { + struct vxlan_rdst fan_rdst; + + netdev_dbg(vxlan->dev, "vxlan_xmit p %x d %pM\n", + eth->h_proto, eth->h_dest); + if (vxlan_fan_build_rdst(vxlan, skb, &fan_rdst)) { + dev->stats.tx_dropped++; + kfree_skb(skb); + return NETDEV_TX_OK; + } + vxlan_xmit_one(skb, dev, vni, &fan_rdst, 0); + return NETDEV_TX_OK; + } + eth = eth_hdr(skb); f = vxlan_find_mac(vxlan, eth->h_dest, vni); did_rsc = false; @@ -2918,16 +3104,23 @@ vxlan_vnigroup_init(vxlan); dev->tstats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats); - if (!dev->tstats) - return -ENOMEM; + if (!dev->tstats) { + err = -ENOMEM; + goto err_vnigroup_uninit; + } err = gro_cells_init(&vxlan->gro_cells, dev); - if (err) { - free_percpu(dev->tstats); - return err; - } + if (err) + goto err_free_percpu; return 0; + +err_free_percpu: + free_percpu(dev->tstats); +err_vnigroup_uninit: + if (vxlan->cfg.flags & VXLAN_F_VNIFILTER) + vxlan_vnigroup_uninit(vxlan); + return err; } static void vxlan_fdb_delete_default(struct vxlan_dev *vxlan, __be32 vni) @@ -3061,7 +3254,8 @@ rt = vxlan_get_route(vxlan, dev, sock4, skb, 0, info->key.tos, info->key.u.ipv4.dst, &info->key.u.ipv4.src, dport, sport, - &info->dst_cache, info); + info->key.flow_flags, &info->dst_cache, + info); if (IS_ERR(rt)) return PTR_ERR(rt); ip_rt_put(rt); @@ -3188,6 +3382,8 @@ spin_lock_init(&vxlan->hash_lock[h]); INIT_HLIST_HEAD(&vxlan->fdb_head[h]); } + + INIT_LIST_HEAD(&vxlan->fan.fan_maps); } static void vxlan_ether_setup(struct net_device *dev) @@ -3906,6 +4102,12 @@ conf->remote_ip.sa.sa_family = AF_INET6; } + if (data[IFLA_VXLAN_FAN_MAP]) { + err = vxlan_parse_fan_map(data, vxlan); + if (err) + return err; + } + if (data[IFLA_VXLAN_LOCAL]) { if (changelink && (conf->saddr.sa.sa_family != AF_INET)) { NL_SET_ERR_MSG_ATTR(extack, tb[IFLA_VXLAN_LOCAL], "New local address family does not match old"); @@ -4268,6 +4470,7 @@ nla_total_size(sizeof(__u8)) + /* IFLA_VXLAN_UDP_ZERO_CSUM6_RX */ nla_total_size(sizeof(__u8)) + /* IFLA_VXLAN_REMCSUM_TX */ nla_total_size(sizeof(__u8)) + /* IFLA_VXLAN_REMCSUM_RX */ + nla_total_size(sizeof(struct ip_fan_map) * 256) + 0; } @@ -4314,6 +4517,26 @@ } } + if (fan_has_map(&vxlan->fan)) { + struct nlattr *fan_nest; + struct ip_fan_map *fan_map; + + fan_nest = nla_nest_start(skb, IFLA_VXLAN_FAN_MAP); + if (!fan_nest) + goto nla_put_failure; + list_for_each_entry_rcu(fan_map, &vxlan->fan.fan_maps, list) { + struct ifla_fan_map map; + + map.underlay = fan_map->underlay; + map.underlay_prefix = fan_map->underlay_prefix; + map.overlay = fan_map->overlay; + map.overlay_prefix = fan_map->overlay_prefix; + if (nla_put(skb, IFLA_FAN_MAPPING, sizeof(map), &map)) + goto nla_put_failure; + } + nla_nest_end(skb, fan_nest); + } + if (nla_put_u8(skb, IFLA_VXLAN_TTL, vxlan->cfg.ttl) || nla_put_u8(skb, IFLA_VXLAN_TTL_INHERIT, !!(vxlan->cfg.flags & VXLAN_F_TTL_INHERIT)) || @@ -4651,6 +4874,22 @@ NULL); } +#ifdef CONFIG_SYSCTL +static struct ctl_table_header *vxlan_fan_header; +static unsigned int vxlan_fan_version = 4; + +static struct ctl_table vxlan_fan_sysctls[] = { + { + .procname = "vxlan", + .data = &vxlan_fan_version, + .maxlen = sizeof(vxlan_fan_version), + .mode = 0444, + .proc_handler = proc_dointvec, + }, + {}, +}; +#endif /* CONFIG_SYSCTL */ + static void vxlan_destroy_tunnels(struct net *net, struct list_head *head) { struct vxlan_net *vn = net_generic(net, vxlan_net_id); @@ -4728,7 +4967,20 @@ vxlan_vnifilter_init(); +#ifdef CONFIG_SYSCTL + vxlan_fan_header = register_net_sysctl(&init_net, "net/fan", + vxlan_fan_sysctls); + if (!vxlan_fan_header) { + rc = -ENOMEM; + goto sysctl_failed; + } +#endif /* CONFIG_SYSCTL */ + return 0; +#ifdef CONFIG_SYSCTL +sysctl_failed: + rtnl_link_unregister(&vxlan_link_ops); +#endif /* CONFIG_SYSCTL */ out4: unregister_switchdev_notifier(&vxlan_switchdev_notifier_block); out3: @@ -4742,6 +4994,9 @@ static void __exit vxlan_cleanup_module(void) { +#ifdef CONFIG_SYSCTL + unregister_net_sysctl_table(vxlan_fan_header); +#endif /* CONFIG_SYSCTL */ vxlan_vnifilter_uninit(); rtnl_link_unregister(&vxlan_link_ops); unregister_switchdev_notifier(&vxlan_switchdev_notifier_block); --- linux-gcp-5.19.0.orig/drivers/net/wan/farsync.c +++ linux-gcp-5.19.0/drivers/net/wan/farsync.c @@ -2545,6 +2545,7 @@ struct net_device *dev = port_to_dev(&card->ports[i]); unregister_hdlc_device(dev); + free_netdev(dev); } fst_disable_intr(card); @@ -2564,6 +2565,7 @@ card->tx_dma_handle_card); } fst_card_array[card->card_no] = NULL; + kfree(card); } static struct pci_driver fst_driver = { --- linux-gcp-5.19.0.orig/drivers/net/wan/fsl_ucc_hdlc.c +++ linux-gcp-5.19.0/drivers/net/wan/fsl_ucc_hdlc.c @@ -1243,9 +1243,11 @@ free_dev: free_netdev(dev); undo_uhdlc_init: - iounmap(utdm->siram); + if (utdm) + iounmap(utdm->siram); unmap_si_regs: - iounmap(utdm->si_regs); + if (utdm) + iounmap(utdm->si_regs); free_utdm: if (uhdlc_priv->tsa) kfree(utdm); --- linux-gcp-5.19.0.orig/drivers/net/wan/lapbether.c +++ linux-gcp-5.19.0/drivers/net/wan/lapbether.c @@ -325,6 +325,7 @@ err = lapb_register(dev, &lapbeth_callbacks); if (err != LAPB_OK) { + napi_disable(&lapbeth->napi); pr_err("lapb_register error: %d\n", err); return -ENODEV; } @@ -446,7 +447,7 @@ if (dev_net(dev) != &init_net) return NOTIFY_DONE; - if (!dev_is_ethdev(dev)) + if (!dev_is_ethdev(dev) && !lapbeth_get_x25_dev(dev)) return NOTIFY_DONE; switch (event) { --- linux-gcp-5.19.0.orig/drivers/net/wireguard/allowedips.c +++ linux-gcp-5.19.0/drivers/net/wireguard/allowedips.c @@ -6,6 +6,8 @@ #include "allowedips.h" #include "peer.h" +enum { MAX_ALLOWEDIPS_BITS = 128 }; + static struct kmem_cache *node_cache; static void swap_endian(u8 *dst, const u8 *src, u8 bits) @@ -40,7 +42,8 @@ struct allowedips_node __rcu *p, unsigned int *len) { if (rcu_access_pointer(p)) { - WARN_ON(IS_ENABLED(DEBUG) && *len >= 128); + if (WARN_ON(IS_ENABLED(DEBUG) && *len >= MAX_ALLOWEDIPS_BITS)) + return; stack[(*len)++] = rcu_dereference_raw(p); } } @@ -52,7 +55,7 @@ static void root_free_rcu(struct rcu_head *rcu) { - struct allowedips_node *node, *stack[128] = { + struct allowedips_node *node, *stack[MAX_ALLOWEDIPS_BITS] = { container_of(rcu, struct allowedips_node, rcu) }; unsigned int len = 1; @@ -65,7 +68,7 @@ static void root_remove_peer_lists(struct allowedips_node *root) { - struct allowedips_node *node, *stack[128] = { root }; + struct allowedips_node *node, *stack[MAX_ALLOWEDIPS_BITS] = { root }; unsigned int len = 1; while (len > 0 && (node = stack[--len])) { --- linux-gcp-5.19.0.orig/drivers/net/wireguard/netlink.c +++ linux-gcp-5.19.0/drivers/net/wireguard/netlink.c @@ -436,14 +436,13 @@ if (attrs[WGPEER_A_ENDPOINT]) { struct sockaddr *addr = nla_data(attrs[WGPEER_A_ENDPOINT]); size_t len = nla_len(attrs[WGPEER_A_ENDPOINT]); + struct endpoint endpoint = { { { 0 } } }; - if ((len == sizeof(struct sockaddr_in) && - addr->sa_family == AF_INET) || - (len == sizeof(struct sockaddr_in6) && - addr->sa_family == AF_INET6)) { - struct endpoint endpoint = { { { 0 } } }; - - memcpy(&endpoint.addr, addr, len); + if (len == sizeof(struct sockaddr_in) && addr->sa_family == AF_INET) { + endpoint.addr4 = *(struct sockaddr_in *)addr; + wg_socket_set_peer_endpoint(peer, &endpoint); + } else if (len == sizeof(struct sockaddr_in6) && addr->sa_family == AF_INET6) { + endpoint.addr6 = *(struct sockaddr_in6 *)addr; wg_socket_set_peer_endpoint(peer, &endpoint); } } --- linux-gcp-5.19.0.orig/drivers/net/wireguard/selftest/allowedips.c +++ linux-gcp-5.19.0/drivers/net/wireguard/selftest/allowedips.c @@ -593,10 +593,10 @@ wg_allowedips_remove_by_peer(&t, a, &mutex); test_negative(4, a, 192, 168, 0, 1); - /* These will hit the WARN_ON(len >= 128) in free_node if something - * goes wrong. + /* These will hit the WARN_ON(len >= MAX_ALLOWEDIPS_BITS) in free_node + * if something goes wrong. */ - for (i = 0; i < 128; ++i) { + for (i = 0; i < MAX_ALLOWEDIPS_BITS; ++i) { part = cpu_to_be64(~(1LLU << (i % 64))); memset(&ip, 0xff, 16); memcpy((u8 *)&ip + (i < 64) * 8, &part, 8); --- linux-gcp-5.19.0.orig/drivers/net/wireguard/selftest/ratelimiter.c +++ linux-gcp-5.19.0/drivers/net/wireguard/selftest/ratelimiter.c @@ -167,7 +167,7 @@ ++test; #endif - for (trials = TRIALS_BEFORE_GIVING_UP;;) { + for (trials = TRIALS_BEFORE_GIVING_UP; IS_ENABLED(DEBUG_RATELIMITER_TIMINGS);) { int test_count = 0, ret; ret = timings_test(skb4, hdr4, skb6, hdr6, &test_count); @@ -176,7 +176,6 @@ test += test_count; goto err; } - msleep(500); continue; } else if (ret < 0) { test += test_count; @@ -195,7 +194,6 @@ test += test_count; goto err; } - msleep(50); continue; } test += test_count; --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ar5523/ar5523.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ar5523/ar5523.c @@ -241,6 +241,11 @@ } } +static void ar5523_cancel_tx_cmd(struct ar5523 *ar) +{ + usb_kill_urb(ar->tx_cmd.urb_tx); +} + static int ar5523_cmd(struct ar5523 *ar, u32 code, const void *idata, int ilen, void *odata, int olen, int flags) { @@ -280,6 +285,7 @@ } if (!wait_for_completion_timeout(&cmd->done, 2 * HZ)) { + ar5523_cancel_tx_cmd(ar); cmd->odata = NULL; ar5523_err(ar, "timeout waiting for command %02x reply\n", code); --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath10k/core.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath10k/core.c @@ -95,6 +95,7 @@ .tx_stats_over_pktlog = true, .dynamic_sar_support = false, .hw_restart_disconnect = false, + .use_fw_tx_credits = true, }, { .id = QCA988X_HW_2_0_VERSION, @@ -133,6 +134,7 @@ .tx_stats_over_pktlog = true, .dynamic_sar_support = false, .hw_restart_disconnect = false, + .use_fw_tx_credits = true, }, { .id = QCA9887_HW_1_0_VERSION, @@ -172,6 +174,7 @@ .tx_stats_over_pktlog = false, .dynamic_sar_support = false, .hw_restart_disconnect = false, + .use_fw_tx_credits = true, }, { .id = QCA6174_HW_3_2_VERSION, @@ -206,6 +209,7 @@ .supports_peer_stats_info = true, .dynamic_sar_support = true, .hw_restart_disconnect = false, + .use_fw_tx_credits = true, }, { .id = QCA6174_HW_2_1_VERSION, @@ -244,6 +248,7 @@ .tx_stats_over_pktlog = false, .dynamic_sar_support = false, .hw_restart_disconnect = false, + .use_fw_tx_credits = true, }, { .id = QCA6174_HW_2_1_VERSION, @@ -282,6 +287,7 @@ .tx_stats_over_pktlog = false, .dynamic_sar_support = false, .hw_restart_disconnect = false, + .use_fw_tx_credits = true, }, { .id = QCA6174_HW_3_0_VERSION, @@ -320,6 +326,7 @@ .tx_stats_over_pktlog = false, .dynamic_sar_support = false, .hw_restart_disconnect = false, + .use_fw_tx_credits = true, }, { .id = QCA6174_HW_3_2_VERSION, @@ -362,6 +369,7 @@ .supports_peer_stats_info = true, .dynamic_sar_support = true, .hw_restart_disconnect = false, + .use_fw_tx_credits = true, }, { .id = QCA99X0_HW_2_0_DEV_VERSION, @@ -406,6 +414,7 @@ .tx_stats_over_pktlog = false, .dynamic_sar_support = false, .hw_restart_disconnect = false, + .use_fw_tx_credits = true, }, { .id = QCA9984_HW_1_0_DEV_VERSION, @@ -457,6 +466,7 @@ .tx_stats_over_pktlog = false, .dynamic_sar_support = false, .hw_restart_disconnect = false, + .use_fw_tx_credits = true, }, { .id = QCA9888_HW_2_0_DEV_VERSION, @@ -505,6 +515,7 @@ .tx_stats_over_pktlog = false, .dynamic_sar_support = false, .hw_restart_disconnect = false, + .use_fw_tx_credits = true, }, { .id = QCA9377_HW_1_0_DEV_VERSION, @@ -543,6 +554,7 @@ .tx_stats_over_pktlog = false, .dynamic_sar_support = false, .hw_restart_disconnect = false, + .use_fw_tx_credits = true, }, { .id = QCA9377_HW_1_1_DEV_VERSION, @@ -583,6 +595,7 @@ .tx_stats_over_pktlog = false, .dynamic_sar_support = false, .hw_restart_disconnect = false, + .use_fw_tx_credits = true, }, { .id = QCA9377_HW_1_1_DEV_VERSION, @@ -614,6 +627,7 @@ .credit_size_workaround = true, .dynamic_sar_support = false, .hw_restart_disconnect = false, + .use_fw_tx_credits = true, }, { .id = QCA4019_HW_1_0_DEV_VERSION, @@ -659,6 +673,7 @@ .tx_stats_over_pktlog = false, .dynamic_sar_support = false, .hw_restart_disconnect = false, + .use_fw_tx_credits = true, }, { .id = WCN3990_HW_1_0_DEV_VERSION, @@ -690,6 +705,7 @@ .tx_stats_over_pktlog = false, .dynamic_sar_support = true, .hw_restart_disconnect = true, + .use_fw_tx_credits = false, }, }; --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath10k/htc.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath10k/htc.c @@ -947,13 +947,18 @@ return -ECOMM; } - htc->total_transmit_credits = __le16_to_cpu(msg->ready.credit_count); + if (ar->hw_params.use_fw_tx_credits) + htc->total_transmit_credits = __le16_to_cpu(msg->ready.credit_count); + else + htc->total_transmit_credits = 1; + htc->target_credit_size = __le16_to_cpu(msg->ready.credit_size); ath10k_dbg(ar, ATH10K_DBG_HTC, - "Target ready! transmit resources: %d size:%d\n", + "Target ready! transmit resources: %d size:%d actual credits:%d\n", htc->total_transmit_credits, - htc->target_credit_size); + htc->target_credit_size, + msg->ready.credit_count); if ((htc->total_transmit_credits == 0) || (htc->target_credit_size == 0)) { --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath10k/htt_rx.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath10k/htt_rx.c @@ -3840,7 +3840,7 @@ switch (txrate.flags) { case WMI_RATE_PREAMBLE_OFDM: if (arsta->arvif && arsta->arvif->vif) - conf = rcu_dereference(arsta->arvif->vif->chanctx_conf); + conf = rcu_dereference(arsta->arvif->vif->bss_conf.chanctx_conf); if (conf && conf->def.chan->band == NL80211_BAND_5GHZ) arsta->tx_info.status.rates[0].idx = rate_idx - 4; break; --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath10k/hw.h +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath10k/hw.h @@ -635,6 +635,8 @@ bool dynamic_sar_support; bool hw_restart_disconnect; + + bool use_fw_tx_credits; }; struct htt_resp; --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath10k/mac.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath10k/mac.c @@ -659,7 +659,7 @@ struct ieee80211_chanctx_conf *conf; rcu_read_lock(); - conf = rcu_dereference(vif->chanctx_conf); + conf = rcu_dereference(vif->bss_conf.chanctx_conf); if (!conf) { rcu_read_unlock(); return -ENOENT; @@ -864,11 +864,36 @@ return 0; } +static void ath10k_peer_map_cleanup(struct ath10k *ar, struct ath10k_peer *peer) +{ + int peer_id, i; + + lockdep_assert_held(&ar->conf_mutex); + + for_each_set_bit(peer_id, peer->peer_ids, + ATH10K_MAX_NUM_PEER_IDS) { + ar->peer_map[peer_id] = NULL; + } + + /* Double check that peer is properly un-referenced from + * the peer_map + */ + for (i = 0; i < ARRAY_SIZE(ar->peer_map); i++) { + if (ar->peer_map[i] == peer) { + ath10k_warn(ar, "removing stale peer_map entry for %pM (ptr %pK idx %d)\n", + peer->addr, peer, i); + ar->peer_map[i] = NULL; + } + } + + list_del(&peer->list); + kfree(peer); + ar->num_peers--; +} + static void ath10k_peer_cleanup(struct ath10k *ar, u32 vdev_id) { struct ath10k_peer *peer, *tmp; - int peer_id; - int i; lockdep_assert_held(&ar->conf_mutex); @@ -880,25 +905,7 @@ ath10k_warn(ar, "removing stale peer %pM from vdev_id %d\n", peer->addr, vdev_id); - for_each_set_bit(peer_id, peer->peer_ids, - ATH10K_MAX_NUM_PEER_IDS) { - ar->peer_map[peer_id] = NULL; - } - - /* Double check that peer is properly un-referenced from - * the peer_map - */ - for (i = 0; i < ARRAY_SIZE(ar->peer_map); i++) { - if (ar->peer_map[i] == peer) { - ath10k_warn(ar, "removing stale peer_map entry for %pM (ptr %pK idx %d)\n", - peer->addr, peer, i); - ar->peer_map[i] = NULL; - } - } - - list_del(&peer->list); - kfree(peer); - ar->num_peers--; + ath10k_peer_map_cleanup(ar, peer); } spin_unlock_bh(&ar->data_lock); } @@ -2028,7 +2035,7 @@ if (arvif->vdev_type != WMI_VDEV_TYPE_AP) return; - if (!vif->csa_active) + if (!vif->bss_conf.csa_active) return; if (!arvif->is_up) @@ -7586,10 +7593,7 @@ /* Clean up the peer object as well since we * must have failed to do this above. */ - list_del(&peer->list); - ar->peer_map[i] = NULL; - kfree(peer); - ar->num_peers--; + ath10k_peer_map_cleanup(ar, peer); } } spin_unlock_bh(&ar->data_lock); @@ -8798,7 +8802,7 @@ { struct ath10k_mac_change_chanctx_arg *arg = data; - if (rcu_access_pointer(vif->chanctx_conf) != arg->ctx) + if (rcu_access_pointer(vif->bss_conf.chanctx_conf) != arg->ctx) return; arg->n_vifs++; @@ -8811,7 +8815,7 @@ struct ath10k_mac_change_chanctx_arg *arg = data; struct ieee80211_chanctx_conf *ctx; - ctx = rcu_access_pointer(vif->chanctx_conf); + ctx = rcu_access_pointer(vif->bss_conf.chanctx_conf); if (ctx != arg->ctx) return; --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath10k/pci.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath10k/pci.c @@ -3793,18 +3793,22 @@ static int __init ath10k_pci_init(void) { - int ret; + int ret1, ret2; - ret = pci_register_driver(&ath10k_pci_driver); - if (ret) + ret1 = pci_register_driver(&ath10k_pci_driver); + if (ret1) printk(KERN_ERR "failed to register ath10k pci driver: %d\n", - ret); + ret1); - ret = ath10k_ahb_init(); - if (ret) - printk(KERN_ERR "ahb init failed: %d\n", ret); + ret2 = ath10k_ahb_init(); + if (ret2) + printk(KERN_ERR "ahb init failed: %d\n", ret2); - return ret; + if (ret1 && ret2) + return ret1; + + /* registered to at least one bus */ + return 0; } module_init(ath10k_pci_init); --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath10k/snoc.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath10k/snoc.c @@ -1249,13 +1249,12 @@ static int ath10k_snoc_request_irq(struct ath10k *ar) { struct ath10k_snoc *ar_snoc = ath10k_snoc_priv(ar); - int irqflags = IRQF_TRIGGER_RISING; int ret, id; for (id = 0; id < CE_COUNT_MAX; id++) { ret = request_irq(ar_snoc->ce_irqs[id].irq_line, - ath10k_snoc_per_engine_handler, - irqflags, ce_name[id], ar); + ath10k_snoc_per_engine_handler, 0, + ce_name[id], ar); if (ret) { ath10k_err(ar, "failed to register IRQ handler for CE %d: %d\n", --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath10k/wmi-tlv.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath10k/wmi-tlv.c @@ -205,7 +205,7 @@ } arvif = ath10k_get_arvif(ar, vdev_id); - if (arvif && arvif->is_up && arvif->vif->csa_active) + if (arvif && arvif->is_up && arvif->vif->bss_conf.csa_active) ieee80211_queue_work(ar->hw, &arvif->ap_csa_work); kfree(tb); --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath10k/wmi.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath10k/wmi.c @@ -3882,7 +3882,7 @@ * Once CSA counter is completed stop sending beacons until * actual channel switch is done */ - if (arvif->vif->csa_active && + if (arvif->vif->bss_conf.csa_active && ieee80211_beacon_cntdwn_is_complete(arvif->vif)) { ieee80211_csa_finish(arvif->vif); continue; --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/ahb.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/ahb.c @@ -140,8 +140,53 @@ return ab->pci.msi.irqs[vector]; } +static inline u32 +ath11k_ahb_get_window_start_wcn6750(struct ath11k_base *ab, u32 offset) +{ + u32 window_start = 0; + + /* If offset lies within DP register range, use 1st window */ + if ((offset ^ HAL_SEQ_WCSS_UMAC_OFFSET) < ATH11K_PCI_WINDOW_RANGE_MASK) + window_start = ATH11K_PCI_WINDOW_START; + /* If offset lies within CE register range, use 2nd window */ + else if ((offset ^ HAL_SEQ_WCSS_UMAC_CE0_SRC_REG(ab)) < + ATH11K_PCI_WINDOW_RANGE_MASK) + window_start = 2 * ATH11K_PCI_WINDOW_START; + + return window_start; +} + +static void +ath11k_ahb_window_write32_wcn6750(struct ath11k_base *ab, u32 offset, u32 value) +{ + u32 window_start; + + /* WCN6750 uses static window based register access*/ + window_start = ath11k_ahb_get_window_start_wcn6750(ab, offset); + + iowrite32(value, ab->mem + window_start + + (offset & ATH11K_PCI_WINDOW_RANGE_MASK)); +} + +static u32 ath11k_ahb_window_read32_wcn6750(struct ath11k_base *ab, u32 offset) +{ + u32 window_start; + u32 val; + + /* WCN6750 uses static window based register access */ + window_start = ath11k_ahb_get_window_start_wcn6750(ab, offset); + + val = ioread32(ab->mem + window_start + + (offset & ATH11K_PCI_WINDOW_RANGE_MASK)); + return val; +} + static const struct ath11k_pci_ops ath11k_ahb_pci_ops_wcn6750 = { + .wakeup = NULL, + .release = NULL, .get_msi_irq = ath11k_ahb_get_msi_irq_wcn6750, + .window_write32 = ath11k_ahb_window_write32_wcn6750, + .window_read32 = ath11k_ahb_window_read32_wcn6750, }; static inline u32 ath11k_ahb_read32(struct ath11k_base *ab, u32 offset) @@ -971,19 +1016,24 @@ } ab->hif.ops = hif_ops; - ab->pci.ops = pci_ops; ab->pdev = pdev; ab->hw_rev = hw_rev; platform_set_drvdata(pdev, ab); - ret = ath11k_ahb_setup_resources(ab); - if (ret) + ret = ath11k_pcic_register_pci_ops(ab, pci_ops); + if (ret) { + ath11k_err(ab, "failed to register PCI ops: %d\n", ret); goto err_core_free; + } ret = ath11k_core_pre_init(ab); if (ret) goto err_core_free; + ret = ath11k_ahb_setup_resources(ab); + if (ret) + goto err_core_free; + ret = ath11k_ahb_fw_resources_init(ab); if (ret) goto err_core_free; @@ -1038,20 +1088,10 @@ return ret; } -static int ath11k_ahb_remove(struct platform_device *pdev) +static void ath11k_ahb_remove_prepare(struct ath11k_base *ab) { - struct ath11k_base *ab = platform_get_drvdata(pdev); unsigned long left; - if (test_bit(ATH11K_FLAG_QMI_FAIL, &ab->dev_flags)) { - ath11k_ahb_power_down(ab); - ath11k_debugfs_soc_destroy(ab); - ath11k_qmi_deinit_service(ab); - goto qmi_fail; - } - - reinit_completion(&ab->driver_recovery); - if (test_bit(ATH11K_FLAG_RECOVERY, &ab->dev_flags)) { left = wait_for_completion_timeout(&ab->driver_recovery, ATH11K_AHB_RECOVERY_TIMEOUT); @@ -1061,19 +1101,60 @@ set_bit(ATH11K_FLAG_UNREGISTERING, &ab->dev_flags); cancel_work_sync(&ab->restart_work); + cancel_work_sync(&ab->qmi.event_work); +} + +static void ath11k_ahb_free_resources(struct ath11k_base *ab) +{ + struct platform_device *pdev = ab->pdev; - ath11k_core_deinit(ab); -qmi_fail: ath11k_ahb_free_irq(ab); ath11k_hal_srng_deinit(ab); ath11k_ahb_fw_resource_deinit(ab); ath11k_ce_free_pipes(ab); ath11k_core_free(ab); platform_set_drvdata(pdev, NULL); +} + +static int ath11k_ahb_remove(struct platform_device *pdev) +{ + struct ath11k_base *ab = platform_get_drvdata(pdev); + + if (test_bit(ATH11K_FLAG_QMI_FAIL, &ab->dev_flags)) { + ath11k_ahb_power_down(ab); + ath11k_debugfs_soc_destroy(ab); + ath11k_qmi_deinit_service(ab); + goto qmi_fail; + } + + ath11k_ahb_remove_prepare(ab); + ath11k_core_deinit(ab); + +qmi_fail: + ath11k_ahb_free_resources(ab); return 0; } +static void ath11k_ahb_shutdown(struct platform_device *pdev) +{ + struct ath11k_base *ab = platform_get_drvdata(pdev); + + /* platform shutdown() & remove() are mutually exclusive. + * remove() is invoked during rmmod & shutdown() during + * system reboot/shutdown. + */ + ath11k_ahb_remove_prepare(ab); + + if (!(test_bit(ATH11K_FLAG_REGISTERED, &ab->dev_flags))) + goto free_resources; + + ath11k_core_deinit(ab); + +free_resources: + ath11k_ahb_free_resources(ab); +} + static struct platform_driver ath11k_ahb_driver = { .driver = { .name = "ath11k", @@ -1081,6 +1162,7 @@ }, .probe = ath11k_ahb_probe, .remove = ath11k_ahb_remove, + .shutdown = ath11k_ahb_shutdown, }; static int ath11k_ahb_init(void) --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/core.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/core.c @@ -107,8 +107,6 @@ .fixed_mem_region = true, .static_window_map = false, .hybrid_bus_type = false, - .dp_window_idx = 0, - .ce_window_idx = 0, .fixed_fw_mem = false, .support_off_channel_tx = false, }, @@ -183,8 +181,6 @@ .fixed_mem_region = true, .static_window_map = false, .hybrid_bus_type = false, - .dp_window_idx = 0, - .ce_window_idx = 0, .fixed_fw_mem = false, .support_off_channel_tx = false, }, @@ -258,8 +254,6 @@ .fixed_mem_region = false, .static_window_map = false, .hybrid_bus_type = false, - .dp_window_idx = 0, - .ce_window_idx = 0, .fixed_fw_mem = false, .support_off_channel_tx = true, }, @@ -333,8 +327,6 @@ .fixed_mem_region = false, .static_window_map = true, .hybrid_bus_type = false, - .dp_window_idx = 3, - .ce_window_idx = 2, .fixed_fw_mem = false, .support_off_channel_tx = false, }, @@ -408,8 +400,6 @@ .fixed_mem_region = false, .static_window_map = false, .hybrid_bus_type = false, - .dp_window_idx = 0, - .ce_window_idx = 0, .fixed_fw_mem = false, .support_off_channel_tx = true, }, @@ -482,8 +472,6 @@ .fixed_mem_region = false, .static_window_map = false, .hybrid_bus_type = false, - .dp_window_idx = 0, - .ce_window_idx = 0, .fixed_fw_mem = false, .support_off_channel_tx = true, }, @@ -556,8 +544,6 @@ .fixed_mem_region = false, .static_window_map = true, .hybrid_bus_type = true, - .dp_window_idx = 1, - .ce_window_idx = 2, .fixed_fw_mem = true, .support_off_channel_tx = false, }, @@ -1225,23 +1211,23 @@ return ret; } - ret = ath11k_mac_register(ab); + ret = ath11k_dp_pdev_alloc(ab); if (ret) { - ath11k_err(ab, "failed register the radio with mac80211: %d\n", ret); + ath11k_err(ab, "failed to attach DP pdev: %d\n", ret); goto err_pdev_debug; } - ret = ath11k_dp_pdev_alloc(ab); + ret = ath11k_mac_register(ab); if (ret) { - ath11k_err(ab, "failed to attach DP pdev: %d\n", ret); - goto err_mac_unregister; + ath11k_err(ab, "failed register the radio with mac80211: %d\n", ret); + goto err_dp_pdev_free; } ret = ath11k_thermal_register(ab); if (ret) { ath11k_err(ab, "could not register thermal device: %d\n", ret); - goto err_dp_pdev_free; + goto err_mac_unregister; } ret = ath11k_spectral_init(ab); @@ -1254,10 +1240,10 @@ err_thermal_unregister: ath11k_thermal_unregister(ab); -err_dp_pdev_free: - ath11k_dp_pdev_free(ab); err_mac_unregister: ath11k_mac_unregister(ab); +err_dp_pdev_free: + ath11k_dp_pdev_free(ab); err_pdev_debug: ath11k_debugfs_pdev_destroy(ab); @@ -1649,6 +1635,8 @@ wake_up(&ab->wmi_ab.tx_credits_wq); wake_up(&ab->peer_mapping_wq); + + reinit_completion(&ab->driver_recovery); } static void ath11k_core_post_reconfigure_recovery(struct ath11k_base *ab) --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/core.h +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/core.h @@ -494,6 +494,8 @@ bool use_4addr_set; u16 tcl_metadata; + + u32 bw_prev; }; #define ATH11K_MIN_5G_FREQ 4150 @@ -897,7 +899,6 @@ enum ath11k_dfs_region dfs_region; #ifdef CONFIG_ATH11K_DEBUGFS struct dentry *debugfs_soc; - struct dentry *debugfs_ath11k; #endif struct ath11k_soc_dp_stats soc_stats; --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/debug.h +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/debug.h @@ -23,8 +23,8 @@ ATH11K_DBG_TESTMODE = 0x00000400, ATH11k_DBG_HAL = 0x00000800, ATH11K_DBG_PCI = 0x00001000, - ATH11K_DBG_DP_TX = 0x00001000, - ATH11K_DBG_DP_RX = 0x00002000, + ATH11K_DBG_DP_TX = 0x00002000, + ATH11K_DBG_DP_RX = 0x00004000, ATH11K_DBG_ANY = 0xffffffff, }; --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/debugfs.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/debugfs.c @@ -987,10 +987,6 @@ if (test_bit(ATH11K_FLAG_REGISTERED, &ab->dev_flags)) return 0; - ab->debugfs_soc = debugfs_create_dir(ab->hw_params.name, ab->debugfs_ath11k); - if (IS_ERR(ab->debugfs_soc)) - return PTR_ERR(ab->debugfs_soc); - debugfs_create_file("simulate_fw_crash", 0600, ab->debugfs_soc, ab, &fops_simulate_fw_crash); @@ -1008,15 +1004,51 @@ int ath11k_debugfs_soc_create(struct ath11k_base *ab) { - ab->debugfs_ath11k = debugfs_create_dir("ath11k", NULL); + struct dentry *root; + bool dput_needed; + char name[64]; + int ret; + + root = debugfs_lookup("ath11k", NULL); + if (!root) { + root = debugfs_create_dir("ath11k", NULL); + if (IS_ERR_OR_NULL(root)) + return PTR_ERR(root); + + dput_needed = false; + } else { + /* a dentry from lookup() needs dput() after we don't use it */ + dput_needed = true; + } + + scnprintf(name, sizeof(name), "%s-%s", ath11k_bus_str(ab->hif.bus), + dev_name(ab->dev)); + + ab->debugfs_soc = debugfs_create_dir(name, root); + if (IS_ERR_OR_NULL(ab->debugfs_soc)) { + ret = PTR_ERR(ab->debugfs_soc); + goto out; + } + + ret = 0; + +out: + if (dput_needed) + dput(root); - return PTR_ERR_OR_ZERO(ab->debugfs_ath11k); + return ret; } void ath11k_debugfs_soc_destroy(struct ath11k_base *ab) { - debugfs_remove_recursive(ab->debugfs_ath11k); - ab->debugfs_ath11k = NULL; + debugfs_remove_recursive(ab->debugfs_soc); + ab->debugfs_soc = NULL; + + /* We are not removing ath11k directory on purpose, even if it + * would be empty. This simplifies the directory handling and it's + * a minor cosmetic issue to leave an empty ath11k directory to + * debugfs. + */ } EXPORT_SYMBOL(ath11k_debugfs_soc_destroy); --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/dp_rx.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/dp_rx.c @@ -835,8 +835,9 @@ HAL_REO_CMD_UPDATE_RX_QUEUE, &cmd, ath11k_dp_rx_tid_del_func); if (ret) { - ath11k_err(ar->ab, "failed to send HAL_REO_CMD_UPDATE_RX_QUEUE cmd, tid %d (%d)\n", - tid, ret); + if (ret != -ESHUTDOWN) + ath11k_err(ar->ab, "failed to send HAL_REO_CMD_UPDATE_RX_QUEUE cmd, tid %d (%d)\n", + tid, ret); dma_unmap_single(ar->ab->dev, rx_tid->paddr, rx_tid->size, DMA_BIDIRECTIONAL); kfree(rx_tid->vaddr); @@ -3122,6 +3123,7 @@ if (!peer) { ath11k_warn(ab, "failed to find the peer to set up fragment info\n"); spin_unlock_bh(&ab->base_lock); + crypto_free_shash(tfm); return -ENOENT; } @@ -5193,7 +5195,8 @@ if (log_type != ATH11K_PKTLOG_TYPE_INVALID) trace_ath11k_htt_rxdesc(ar, skb->data, log_type, rx_buf_sz); - memset(ppdu_info, 0, sizeof(struct hal_rx_mon_ppdu_info)); + memset(ppdu_info, 0, sizeof(*ppdu_info)); + ppdu_info->peer_id = HAL_INVALID_PEERID; hal_status = ath11k_hal_rx_parse_mon_status(ab, ppdu_info, skb); if (test_bit(ATH11K_FLAG_MONITOR_STARTED, &ar->monitor_flags) && --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/htc.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/htc.c @@ -258,8 +258,10 @@ u8 eid; eid = ATH11K_SKB_CB(skb)->eid; - if (eid >= ATH11K_HTC_EP_COUNT) + if (eid >= ATH11K_HTC_EP_COUNT) { + dev_kfree_skb_any(skb); return; + } ep = &htc->endpoint[eid]; spin_lock_bh(&htc->tx_lock); --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/hw.h +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/hw.h @@ -201,8 +201,6 @@ bool fixed_mem_region; bool static_window_map; bool hybrid_bus_type; - u8 dp_window_idx; - u8 ce_window_idx; bool fixed_fw_mem; bool support_off_channel_tx; }; --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/mac.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/mac.c @@ -505,7 +505,7 @@ struct ieee80211_chanctx_conf *conf; rcu_read_lock(); - conf = rcu_dereference(vif->chanctx_conf); + conf = rcu_dereference(vif->bss_conf.chanctx_conf); if (!conf) { rcu_read_unlock(); return -ENOENT; @@ -1398,10 +1398,10 @@ { struct ieee80211_vif *vif = arvif->vif; - if (!vif->color_change_active && !arvif->bcca_zero_sent) + if (!vif->bss_conf.color_change_active && !arvif->bcca_zero_sent) return; - if (vif->color_change_active && ieee80211_beacon_cntdwn_is_complete(vif)) { + if (vif->bss_conf.color_change_active && ieee80211_beacon_cntdwn_is_complete(vif)) { arvif->bcca_zero_sent = true; ieee80211_color_change_finish(vif); return; @@ -1409,7 +1409,7 @@ arvif->bcca_zero_sent = false; - if (vif->color_change_active) + if (vif->bss_conf.color_change_active) ieee80211_beacon_update_cntdwn(vif); ath11k_mac_setup_bcn_tmpl(arvif); } @@ -4206,10 +4206,11 @@ const u8 *ht_mcs_mask; const u16 *vht_mcs_mask; const u16 *he_mcs_mask; - u32 changed, bw, nss, smps; + u32 changed, bw, nss, smps, bw_prev; int err, num_vht_rates, num_he_rates; const struct cfg80211_bitrate_mask *mask; struct peer_assoc_params peer_arg; + enum wmi_phy_mode peer_phymode; arsta = container_of(wk, struct ath11k_sta, update_wk); sta = container_of((void *)arsta, struct ieee80211_sta, drv_priv); @@ -4230,6 +4231,7 @@ arsta->changed = 0; bw = arsta->bw; + bw_prev = arsta->bw_prev; nss = arsta->nss; smps = arsta->smps; @@ -4243,26 +4245,57 @@ ath11k_mac_max_he_nss(he_mcs_mask))); if (changed & IEEE80211_RC_BW_CHANGED) { - /* Send peer assoc command before set peer bandwidth param to - * avoid the mismatch between the peer phymode and the peer - * bandwidth. - */ - ath11k_peer_assoc_prepare(ar, arvif->vif, sta, &peer_arg, true); + /* Get the peer phymode */ + ath11k_peer_assoc_h_phymode(ar, arvif->vif, sta, &peer_arg); + peer_phymode = peer_arg.peer_phymode; + + ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "mac update sta %pM peer bw %d phymode %d\n", + sta->addr, bw, peer_phymode); + + if (bw > bw_prev) { + /* BW is upgraded. In this case we send WMI_PEER_PHYMODE + * followed by WMI_PEER_CHWIDTH + */ + ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "mac BW upgrade for sta %pM new BW %d, old BW %d\n", + sta->addr, bw, bw_prev); + + err = ath11k_wmi_set_peer_param(ar, sta->addr, arvif->vdev_id, + WMI_PEER_PHYMODE, peer_phymode); + + if (err) { + ath11k_warn(ar->ab, "failed to update STA %pM peer phymode %d: %d\n", + sta->addr, peer_phymode, err); + goto err_rc_bw_changed; + } - peer_arg.is_assoc = false; - err = ath11k_wmi_send_peer_assoc_cmd(ar, &peer_arg); - if (err) { - ath11k_warn(ar->ab, "failed to send peer assoc for STA %pM vdev %i: %d\n", - sta->addr, arvif->vdev_id, err); - } else if (wait_for_completion_timeout(&ar->peer_assoc_done, 1 * HZ)) { err = ath11k_wmi_set_peer_param(ar, sta->addr, arvif->vdev_id, WMI_PEER_CHWIDTH, bw); + if (err) ath11k_warn(ar->ab, "failed to update STA %pM peer bw %d: %d\n", sta->addr, bw, err); } else { - ath11k_warn(ar->ab, "failed to get peer assoc conf event for %pM vdev %i\n", - sta->addr, arvif->vdev_id); + /* BW is downgraded. In this case we send WMI_PEER_CHWIDTH + * followed by WMI_PEER_PHYMODE + */ + ath11k_dbg(ar->ab, ATH11K_DBG_MAC, "mac BW downgrade for sta %pM new BW %d,old BW %d\n", + sta->addr, bw, bw_prev); + + err = ath11k_wmi_set_peer_param(ar, sta->addr, arvif->vdev_id, + WMI_PEER_CHWIDTH, bw); + + if (err) { + ath11k_warn(ar->ab, "failed to update STA %pM peer bw %d: %d\n", + sta->addr, bw, err); + goto err_rc_bw_changed; + } + + err = ath11k_wmi_set_peer_param(ar, sta->addr, arvif->vdev_id, + WMI_PEER_PHYMODE, peer_phymode); + + if (err) + ath11k_warn(ar->ab, "failed to update STA %pM peer phymode %d: %d\n", + sta->addr, peer_phymode, err); } } @@ -4343,6 +4376,7 @@ } } +err_rc_bw_changed: mutex_unlock(&ar->conf_mutex); } @@ -4495,6 +4529,34 @@ return ret; } +static u32 ath11k_mac_ieee80211_sta_bw_to_wmi(struct ath11k *ar, + struct ieee80211_sta *sta) +{ + u32 bw = WMI_PEER_CHWIDTH_20MHZ; + + switch (sta->deflink.bandwidth) { + case IEEE80211_STA_RX_BW_20: + bw = WMI_PEER_CHWIDTH_20MHZ; + break; + case IEEE80211_STA_RX_BW_40: + bw = WMI_PEER_CHWIDTH_40MHZ; + break; + case IEEE80211_STA_RX_BW_80: + bw = WMI_PEER_CHWIDTH_80MHZ; + break; + case IEEE80211_STA_RX_BW_160: + bw = WMI_PEER_CHWIDTH_160MHZ; + break; + default: + ath11k_warn(ar->ab, "Invalid bandwidth %d for %pM\n", + sta->deflink.bandwidth, sta->addr); + bw = WMI_PEER_CHWIDTH_20MHZ; + break; + } + + return bw; +} + static int ath11k_mac_op_sta_state(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, @@ -4579,6 +4641,12 @@ if (ret) ath11k_warn(ar->ab, "Failed to associate station: %pM\n", sta->addr); + + spin_lock_bh(&ar->data_lock); + /* Set arsta bw and prev bw */ + arsta->bw = ath11k_mac_ieee80211_sta_bw_to_wmi(ar, sta); + arsta->bw_prev = arsta->bw; + spin_unlock_bh(&ar->data_lock); } else if (old_state == IEEE80211_STA_ASSOC && new_state == IEEE80211_STA_AUTHORIZED) { spin_lock_bh(&ar->ab->base_lock); @@ -4702,28 +4770,8 @@ spin_lock_bh(&ar->data_lock); if (changed & IEEE80211_RC_BW_CHANGED) { - bw = WMI_PEER_CHWIDTH_20MHZ; - - switch (sta->deflink.bandwidth) { - case IEEE80211_STA_RX_BW_20: - bw = WMI_PEER_CHWIDTH_20MHZ; - break; - case IEEE80211_STA_RX_BW_40: - bw = WMI_PEER_CHWIDTH_40MHZ; - break; - case IEEE80211_STA_RX_BW_80: - bw = WMI_PEER_CHWIDTH_80MHZ; - break; - case IEEE80211_STA_RX_BW_160: - bw = WMI_PEER_CHWIDTH_160MHZ; - break; - default: - ath11k_warn(ar->ab, "Invalid bandwidth %d in rc update for %pM\n", - sta->deflink.bandwidth, sta->addr); - bw = WMI_PEER_CHWIDTH_20MHZ; - break; - } - + bw = ath11k_mac_ieee80211_sta_bw_to_wmi(ar, sta); + arsta->bw_prev = arsta->bw; arsta->bw = bw; } @@ -4949,6 +4997,8 @@ if (vht_cap & (IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE)) { nsts = vht_cap & IEEE80211_VHT_CAP_BEAMFORMEE_STS_MASK; nsts >>= IEEE80211_VHT_CAP_BEAMFORMEE_STS_SHIFT; + if (nsts > (ar->num_rx_chains - 1)) + nsts = ar->num_rx_chains - 1; value |= SM(nsts, WMI_TXBF_STS_CAP_OFFSET); } @@ -4989,7 +5039,7 @@ static void ath11k_set_vht_txbf_cap(struct ath11k *ar, u32 *vht_cap) { bool subfer, subfee; - int sound_dim = 0; + int sound_dim = 0, nsts = 0; subfer = !!(*vht_cap & (IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE)); subfee = !!(*vht_cap & (IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE)); @@ -4999,6 +5049,11 @@ subfer = false; } + if (ar->num_rx_chains < 2) { + *vht_cap &= ~(IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE); + subfee = false; + } + /* If SU Beaformer is not set, then disable MU Beamformer Capability */ if (!subfer) *vht_cap &= ~(IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE); @@ -5011,7 +5066,9 @@ sound_dim >>= IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_SHIFT; *vht_cap &= ~IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_MASK; - /* TODO: Need to check invalid STS and Sound_dim values set by FW? */ + nsts = (*vht_cap & IEEE80211_VHT_CAP_BEAMFORMEE_STS_MASK); + nsts >>= IEEE80211_VHT_CAP_BEAMFORMEE_STS_SHIFT; + *vht_cap &= ~IEEE80211_VHT_CAP_BEAMFORMEE_STS_MASK; /* Enable Sounding Dimension Field only if SU BF is enabled */ if (subfer) { @@ -5023,9 +5080,15 @@ *vht_cap |= sound_dim; } - /* Use the STS advertised by FW unless SU Beamformee is not supported*/ - if (!subfee) - *vht_cap &= ~(IEEE80211_VHT_CAP_BEAMFORMEE_STS_MASK); + /* Enable Beamformee STS Field only if SU BF is enabled */ + if (subfee) { + if (nsts > (ar->num_rx_chains - 1)) + nsts = ar->num_rx_chains - 1; + + nsts <<= IEEE80211_VHT_CAP_BEAMFORMEE_STS_SHIFT; + nsts &= IEEE80211_VHT_CAP_BEAMFORMEE_STS_MASK; + *vht_cap |= nsts; + } } static struct ieee80211_sta_vht_cap @@ -6848,7 +6911,7 @@ { struct ath11k_mac_change_chanctx_arg *arg = data; - if (rcu_access_pointer(vif->chanctx_conf) != arg->ctx) + if (rcu_access_pointer(vif->bss_conf.chanctx_conf) != arg->ctx) return; arg->n_vifs++; @@ -6861,7 +6924,7 @@ struct ath11k_mac_change_chanctx_arg *arg = data; struct ieee80211_chanctx_conf *ctx; - ctx = rcu_access_pointer(vif->chanctx_conf); + ctx = rcu_access_pointer(vif->bss_conf.chanctx_conf); if (ctx != arg->ctx) return; @@ -8297,11 +8360,15 @@ const struct cfg80211_sar_specs *sar) { struct ath11k *ar = hw->priv; - const struct cfg80211_sar_sub_specs *sspec = sar->sub_specs; + const struct cfg80211_sar_sub_specs *sspec; int ret, index; u8 *sar_tbl; u32 i; + if (!sar || sar->type != NL80211_SAR_TYPE_POWER || + sar->num_sub_specs == 0) + return -EINVAL; + mutex_lock(&ar->conf_mutex); if (!test_bit(WMI_TLV_SERVICE_BIOS_SAR_SUPPORT, ar->ab->wmi_ab.svc_map) || @@ -8310,12 +8377,6 @@ goto exit; } - if (!sar || sar->type != NL80211_SAR_TYPE_POWER || - sar->num_sub_specs == 0) { - ret = -EINVAL; - goto exit; - } - ret = ath11k_wmi_pdev_set_bios_geo_table_param(ar); if (ret) { ath11k_warn(ar->ab, "failed to set geo table: %d\n", ret); @@ -8328,6 +8389,7 @@ goto exit; } + sspec = sar->sub_specs; for (i = 0; i < sar->num_sub_specs; i++) { if (sspec->freq_range_index >= (BIOS_SAR_TABLE_LEN >> 1)) { ath11k_warn(ar->ab, "Ignore bad frequency index %u, max allowed %u\n", --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/mhi.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/mhi.c @@ -402,8 +402,7 @@ ret = ath11k_mhi_get_msi(ab_pci); if (ret) { ath11k_err(ab, "failed to get msi for mhi\n"); - mhi_free_controller(mhi_ctrl); - return ret; + goto free_controller; } if (!test_bit(ATH11K_FLAG_MULTI_MSI_VECTORS, &ab->dev_flags)) @@ -412,7 +411,7 @@ if (test_bit(ATH11K_FLAG_FIXED_MEM_RGN, &ab->dev_flags)) { ret = ath11k_mhi_read_addr_from_dt(mhi_ctrl); if (ret < 0) - return ret; + goto free_controller; } else { mhi_ctrl->iova_start = 0; mhi_ctrl->iova_stop = 0xFFFFFFFF; @@ -440,18 +439,22 @@ default: ath11k_err(ab, "failed assign mhi_config for unknown hw rev %d\n", ab->hw_rev); - mhi_free_controller(mhi_ctrl); - return -EINVAL; + ret = -EINVAL; + goto free_controller; } ret = mhi_register_controller(mhi_ctrl, ath11k_mhi_config); if (ret) { ath11k_err(ab, "failed to register to mhi bus, err = %d\n", ret); - mhi_free_controller(mhi_ctrl); - return ret; + goto free_controller; } return 0; + +free_controller: + mhi_free_controller(mhi_ctrl); + ab_pci->mhi_ctrl = NULL; + return ret; } void ath11k_mhi_unregister(struct ath11k_pci *ab_pci) --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/pci.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/pci.c @@ -50,6 +50,22 @@ mhi_device_put(ab_pci->mhi_ctrl->mhi_dev); } +static u32 ath11k_pci_get_window_start(struct ath11k_base *ab, u32 offset) +{ + if (!ab->hw_params.static_window_map) + return ATH11K_PCI_WINDOW_START; + + if ((offset ^ HAL_SEQ_WCSS_UMAC_OFFSET) < ATH11K_PCI_WINDOW_RANGE_MASK) + /* if offset lies within DP register range, use 3rd window */ + return 3 * ATH11K_PCI_WINDOW_START; + else if ((offset ^ HAL_SEQ_WCSS_UMAC_CE0_SRC_REG(ab)) < + ATH11K_PCI_WINDOW_RANGE_MASK) + /* if offset lies within CE register range, use 2nd window */ + return 2 * ATH11K_PCI_WINDOW_START; + else + return ATH11K_PCI_WINDOW_START; +} + static inline void ath11k_pci_select_window(struct ath11k_pci *ab_pci, u32 offset) { struct ath11k_base *ab = ab_pci->ab; @@ -70,26 +86,39 @@ ath11k_pci_window_write32(struct ath11k_base *ab, u32 offset, u32 value) { struct ath11k_pci *ab_pci = ath11k_pci_priv(ab); - u32 window_start = ATH11K_PCI_WINDOW_START; + u32 window_start; - spin_lock_bh(&ab_pci->window_lock); - ath11k_pci_select_window(ab_pci, offset); - iowrite32(value, ab->mem + window_start + - (offset & ATH11K_PCI_WINDOW_RANGE_MASK)); - spin_unlock_bh(&ab_pci->window_lock); + window_start = ath11k_pci_get_window_start(ab, offset); + + if (window_start == ATH11K_PCI_WINDOW_START) { + spin_lock_bh(&ab_pci->window_lock); + ath11k_pci_select_window(ab_pci, offset); + iowrite32(value, ab->mem + window_start + + (offset & ATH11K_PCI_WINDOW_RANGE_MASK)); + spin_unlock_bh(&ab_pci->window_lock); + } else { + iowrite32(value, ab->mem + window_start + + (offset & ATH11K_PCI_WINDOW_RANGE_MASK)); + } } static u32 ath11k_pci_window_read32(struct ath11k_base *ab, u32 offset) { struct ath11k_pci *ab_pci = ath11k_pci_priv(ab); - u32 window_start = ATH11K_PCI_WINDOW_START; - u32 val; + u32 window_start, val; + + window_start = ath11k_pci_get_window_start(ab, offset); - spin_lock_bh(&ab_pci->window_lock); - ath11k_pci_select_window(ab_pci, offset); - val = ioread32(ab->mem + window_start + - (offset & ATH11K_PCI_WINDOW_RANGE_MASK)); - spin_unlock_bh(&ab_pci->window_lock); + if (window_start == ATH11K_PCI_WINDOW_START) { + spin_lock_bh(&ab_pci->window_lock); + ath11k_pci_select_window(ab_pci, offset); + val = ioread32(ab->mem + window_start + + (offset & ATH11K_PCI_WINDOW_RANGE_MASK)); + spin_unlock_bh(&ab_pci->window_lock); + } else { + val = ioread32(ab->mem + window_start + + (offset & ATH11K_PCI_WINDOW_RANGE_MASK)); + } return val; } @@ -110,6 +139,8 @@ }; static const struct ath11k_pci_ops ath11k_pci_ops_qcn9074 = { + .wakeup = NULL, + .release = NULL, .get_msi_irq = ath11k_pci_get_msi_irq, .window_write32 = ath11k_pci_window_write32, .window_read32 = ath11k_pci_window_read32, @@ -697,6 +728,7 @@ struct ath11k_base *ab; struct ath11k_pci *ab_pci; u32 soc_hw_version_major, soc_hw_version_minor, addr; + const struct ath11k_pci_ops *pci_ops; int ret; ab = ath11k_core_alloc(&pdev->dev, sizeof(*ab_pci), ATH11K_BUS_PCI); @@ -754,10 +786,10 @@ goto err_pci_free_region; } - ab->pci.ops = &ath11k_pci_ops_qca6390; + pci_ops = &ath11k_pci_ops_qca6390; break; case QCN9074_DEVICE_ID: - ab->pci.ops = &ath11k_pci_ops_qcn9074; + pci_ops = &ath11k_pci_ops_qcn9074; ab->hw_rev = ATH11K_HW_QCN9074_HW10; break; case WCN6855_DEVICE_ID: @@ -787,7 +819,7 @@ goto err_pci_free_region; } - ab->pci.ops = &ath11k_pci_ops_qca6390; + pci_ops = &ath11k_pci_ops_qca6390; break; default: dev_err(&pdev->dev, "Unknown PCI device found: 0x%x\n", @@ -796,6 +828,12 @@ goto err_pci_free_region; } + ret = ath11k_pcic_register_pci_ops(ab, pci_ops); + if (ret) { + ath11k_err(ab, "failed to register PCI ops: %d\n", ret); + goto err_pci_free_region; + } + ret = ath11k_pcic_init_msi_config(ab); if (ret) { ath11k_err(ab, "failed to init msi config: %d\n", ret); @@ -920,7 +958,9 @@ static void ath11k_pci_shutdown(struct pci_dev *pdev) { struct ath11k_base *ab = pci_get_drvdata(pdev); + struct ath11k_pci *ab_pci = ath11k_pci_priv(ab); + ath11k_pci_set_irq_affinity_hint(ab_pci, NULL); ath11k_pci_power_down(ab); } @@ -938,7 +978,7 @@ if (ret) ath11k_warn(ab, "failed to suspend core: %d\n", ret); - return ret; + return 0; } static __maybe_unused int ath11k_pci_pm_resume(struct device *dev) --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/pcic.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/pcic.c @@ -140,23 +140,8 @@ } EXPORT_SYMBOL(ath11k_pcic_init_msi_config); -static inline u32 ath11k_pcic_get_window_start(struct ath11k_base *ab, - u32 offset) -{ - u32 window_start = 0; - - if ((offset ^ HAL_SEQ_WCSS_UMAC_OFFSET) < ATH11K_PCI_WINDOW_RANGE_MASK) - window_start = ab->hw_params.dp_window_idx * ATH11K_PCI_WINDOW_START; - else if ((offset ^ HAL_SEQ_WCSS_UMAC_CE0_SRC_REG(ab)) < - ATH11K_PCI_WINDOW_RANGE_MASK) - window_start = ab->hw_params.ce_window_idx * ATH11K_PCI_WINDOW_START; - - return window_start; -} - void ath11k_pcic_write32(struct ath11k_base *ab, u32 offset, u32 value) { - u32 window_start; int ret = 0; /* for offset beyond BAR + 4K - 32, may @@ -166,15 +151,10 @@ offset >= ATH11K_PCI_ACCESS_ALWAYS_OFF && ab->pci.ops->wakeup) ret = ab->pci.ops->wakeup(ab); - if (offset < ATH11K_PCI_WINDOW_START) { + if (offset < ATH11K_PCI_WINDOW_START) iowrite32(value, ab->mem + offset); - } else if (ab->hw_params.static_window_map) { - window_start = ath11k_pcic_get_window_start(ab, offset); - iowrite32(value, ab->mem + window_start + - (offset & ATH11K_PCI_WINDOW_RANGE_MASK)); - } else if (ab->pci.ops->window_write32) { + else ab->pci.ops->window_write32(ab, offset, value); - } if (test_bit(ATH11K_FLAG_DEVICE_INIT_DONE, &ab->dev_flags) && offset >= ATH11K_PCI_ACCESS_ALWAYS_OFF && ab->pci.ops->release && @@ -185,9 +165,8 @@ u32 ath11k_pcic_read32(struct ath11k_base *ab, u32 offset) { - u32 val = 0; - u32 window_start; int ret = 0; + u32 val; /* for offset beyond BAR + 4K - 32, may * need to wakeup the device to access. @@ -196,15 +175,10 @@ offset >= ATH11K_PCI_ACCESS_ALWAYS_OFF && ab->pci.ops->wakeup) ret = ab->pci.ops->wakeup(ab); - if (offset < ATH11K_PCI_WINDOW_START) { + if (offset < ATH11K_PCI_WINDOW_START) val = ioread32(ab->mem + offset); - } else if (ab->hw_params.static_window_map) { - window_start = ath11k_pcic_get_window_start(ab, offset); - val = ioread32(ab->mem + window_start + - (offset & ATH11K_PCI_WINDOW_RANGE_MASK)); - } else if (ab->pci.ops->window_read32) { + else val = ab->pci.ops->window_read32(ab, offset); - } if (test_bit(ATH11K_FLAG_DEVICE_INIT_DONE, &ab->dev_flags) && offset >= ATH11K_PCI_ACCESS_ALWAYS_OFF && ab->pci.ops->release && @@ -516,11 +490,6 @@ static int ath11k_pcic_get_msi_irq(struct ath11k_base *ab, unsigned int vector) { - if (!ab->pci.ops->get_msi_irq) { - WARN_ONCE(1, "get_msi_irq pci op not defined"); - return -EOPNOTSUPP; - } - return ab->pci.ops->get_msi_irq(ab, vector); } @@ -746,3 +715,19 @@ return 0; } EXPORT_SYMBOL(ath11k_pcic_map_service_to_pipe); + +int ath11k_pcic_register_pci_ops(struct ath11k_base *ab, + const struct ath11k_pci_ops *pci_ops) +{ + if (!pci_ops) + return 0; + + /* Return error if mandatory pci_ops callbacks are missing */ + if (!pci_ops->get_msi_irq || !pci_ops->window_write32 || + !pci_ops->window_read32) + return -EINVAL; + + ab->pci.ops = pci_ops; + return 0; +} +EXPORT_SYMBOL(ath11k_pcic_register_pci_ops); --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/pcic.h +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/pcic.h @@ -43,4 +43,6 @@ void ath11k_pcic_ce_irqs_enable(struct ath11k_base *ab); void ath11k_pcic_ce_irq_disable_sync(struct ath11k_base *ab); int ath11k_pcic_init_msi_config(struct ath11k_base *ab); +int ath11k_pcic_register_pci_ops(struct ath11k_base *ab, + const struct ath11k_pci_ops *pci_ops); #endif --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/peer.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/peer.c @@ -302,6 +302,21 @@ spin_lock_bh(&ab->base_lock); peer = ath11k_peer_find_by_addr(ab, addr); + /* Check if the found peer is what we want to remove. + * While the sta is transitioning to another band we may + * have 2 peer with the same addr assigned to different + * vdev_id. Make sure we are deleting the correct peer. + */ + if (peer && peer->vdev_id == vdev_id) + ath11k_peer_rhash_delete(ab, peer); + + /* Fallback to peer list search if the correct peer can't be found. + * Skip the deletion of the peer from the rhash since it has already + * been deleted in peer add. + */ + if (!peer) + peer = ath11k_peer_find(ab, vdev_id, addr); + if (!peer) { spin_unlock_bh(&ab->base_lock); mutex_unlock(&ab->tbl_mtx_lock); @@ -312,8 +327,6 @@ return -EINVAL; } - ath11k_peer_rhash_delete(ab, peer); - spin_unlock_bh(&ab->base_lock); mutex_unlock(&ab->tbl_mtx_lock); @@ -372,8 +385,17 @@ spin_lock_bh(&ar->ab->base_lock); peer = ath11k_peer_find_by_addr(ar->ab, param->peer_addr); if (peer) { - spin_unlock_bh(&ar->ab->base_lock); - return -EINVAL; + if (peer->vdev_id == param->vdev_id) { + spin_unlock_bh(&ar->ab->base_lock); + return -EINVAL; + } + + /* Assume sta is transitioning to another band. + * Remove here the peer from rhash. + */ + mutex_lock(&ar->ab->tbl_mtx_lock); + ath11k_peer_rhash_delete(ar->ab, peer); + mutex_unlock(&ar->ab->tbl_mtx_lock); } spin_unlock_bh(&ar->ab->base_lock); --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/qmi.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/qmi.c @@ -1696,6 +1696,13 @@ }, }; +static struct qmi_elem_info qmi_wlfw_fw_init_done_ind_msg_v01_ei[] = { + { + .data_type = QMI_EOTI, + .array_type = NO_ARRAY, + }, +}; + static int ath11k_qmi_host_cap_send(struct ath11k_base *ab) { struct qmi_wlanfw_host_cap_req_msg_v01 req; @@ -1954,7 +1961,7 @@ continue; dma_free_coherent(ab->dev, - ab->qmi.target_mem[i].size, + ab->qmi.target_mem[i].prev_size, ab->qmi.target_mem[i].vaddr, ab->qmi.target_mem[i].paddr); ab->qmi.target_mem[i].vaddr = NULL; @@ -1975,12 +1982,12 @@ * in such case, no need to allocate memory for FW again. */ if (chunk->vaddr) { - if (chunk->prev_type == chunk->type || + if (chunk->prev_type == chunk->type && chunk->prev_size == chunk->size) continue; /* cannot reuse the existing chunk */ - dma_free_coherent(ab->dev, chunk->size, + dma_free_coherent(ab->dev, chunk->prev_size, chunk->vaddr, chunk->paddr); chunk->vaddr = NULL; } @@ -3006,6 +3013,10 @@ struct ath11k_base *ab = qmi->ab; ath11k_dbg(ab, ATH11K_DBG_QMI, "qmi firmware ready\n"); + + ab->qmi.cal_done = 1; + wake_up(&ab->qmi.cold_boot_waitq); + ath11k_qmi_driver_event_post(qmi, ATH11K_QMI_EVENT_FW_READY, NULL); } @@ -3018,11 +3029,22 @@ struct ath11k_qmi, handle); struct ath11k_base *ab = qmi->ab; - ab->qmi.cal_done = 1; - wake_up(&ab->qmi.cold_boot_waitq); ath11k_dbg(ab, ATH11K_DBG_QMI, "qmi cold boot calibration done\n"); } +static void ath11k_qmi_msg_fw_init_done_cb(struct qmi_handle *qmi_hdl, + struct sockaddr_qrtr *sq, + struct qmi_txn *txn, + const void *decoded) +{ + struct ath11k_qmi *qmi = container_of(qmi_hdl, + struct ath11k_qmi, handle); + struct ath11k_base *ab = qmi->ab; + + ath11k_qmi_driver_event_post(qmi, ATH11K_QMI_EVENT_FW_INIT_DONE, NULL); + ath11k_dbg(ab, ATH11K_DBG_QMI, "qmi firmware init done\n"); +} + static const struct qmi_msg_handler ath11k_qmi_msg_handlers[] = { { .type = QMI_INDICATION, @@ -3053,6 +3075,14 @@ sizeof(struct qmi_wlanfw_fw_cold_cal_done_ind_msg_v01), .fn = ath11k_qmi_msg_cold_boot_cal_done_cb, }, + { + .type = QMI_INDICATION, + .msg_id = QMI_WLFW_FW_INIT_DONE_IND_V01, + .ei = qmi_wlfw_fw_init_done_ind_msg_v01_ei, + .decoded_size = + sizeof(struct qmi_wlfw_fw_init_done_ind_msg_v01), + .fn = ath11k_qmi_msg_fw_init_done_cb, + }, }; static int ath11k_qmi_ops_new_server(struct qmi_handle *qmi_hdl, @@ -3145,7 +3175,7 @@ } break; - case ATH11K_QMI_EVENT_FW_READY: + case ATH11K_QMI_EVENT_FW_INIT_DONE: clear_bit(ATH11K_FLAG_QMI_FAIL, &ab->dev_flags); if (test_bit(ATH11K_FLAG_REGISTERED, &ab->dev_flags)) { ath11k_hal_dump_srng_stats(ab); @@ -3169,6 +3199,8 @@ } break; + case ATH11K_QMI_EVENT_FW_READY: + break; case ATH11K_QMI_EVENT_COLD_BOOT_CAL_DONE: break; default: --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/qmi.h +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/qmi.h @@ -27,12 +27,13 @@ #define ATH11K_QMI_WLANFW_MAX_NUM_MEM_SEG_V01 52 #define ATH11K_QMI_CALDB_SIZE 0x480000 #define ATH11K_QMI_BDF_EXT_STR_LENGTH 0x20 -#define ATH11K_QMI_FW_MEM_REQ_SEGMENT_CNT 3 +#define ATH11K_QMI_FW_MEM_REQ_SEGMENT_CNT 5 #define QMI_WLFW_REQUEST_MEM_IND_V01 0x0035 #define QMI_WLFW_FW_MEM_READY_IND_V01 0x0037 -#define QMI_WLFW_COLD_BOOT_CAL_DONE_IND_V01 0x0021 -#define QMI_WLFW_FW_READY_IND_V01 0x0038 +#define QMI_WLFW_COLD_BOOT_CAL_DONE_IND_V01 0x003E +#define QMI_WLFW_FW_READY_IND_V01 0x0021 +#define QMI_WLFW_FW_INIT_DONE_IND_V01 0x0038 #define QMI_WLANFW_MAX_DATA_SIZE_V01 6144 #define ATH11K_FIRMWARE_MODE_OFF 4 @@ -69,6 +70,7 @@ ATH11K_QMI_EVENT_FORCE_FW_ASSERT, ATH11K_QMI_EVENT_POWER_UP, ATH11K_QMI_EVENT_POWER_DOWN, + ATH11K_QMI_EVENT_FW_INIT_DONE, ATH11K_QMI_EVENT_MAX, }; @@ -291,6 +293,10 @@ char placeholder; }; +struct qmi_wlfw_fw_init_done_ind_msg_v01 { + char placeholder; +}; + #define QMI_WLANFW_CAP_REQ_MSG_V01_MAX_LEN 0 #define QMI_WLANFW_CAP_RESP_MSG_V01_MAX_LEN 235 #define QMI_WLANFW_CAP_REQ_V01 0x0024 --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/reg.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/reg.c @@ -287,11 +287,7 @@ goto err; } - rtnl_lock(); - wiphy_lock(ar->hw->wiphy); - ret = regulatory_set_wiphy_regd_sync(ar->hw->wiphy, regd_copy); - wiphy_unlock(ar->hw->wiphy); - rtnl_unlock(); + ret = regulatory_set_wiphy_regd(ar->hw->wiphy, regd_copy); kfree(regd_copy); --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/wmi.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/wmi.c @@ -1700,7 +1700,7 @@ cmd->vdev_id = vdev_id; cmd->tim_ie_offset = offs->tim_offset; - if (vif->csa_active) { + if (vif->bss_conf.csa_active) { cmd->csa_switch_count_offset = offs->cntdwn_counter_offs[0]; cmd->ext_csa_switch_count_offset = offs->cntdwn_counter_offs[1]; } @@ -7476,7 +7476,7 @@ continue; } - if (arvif->is_up && arvif->vif->csa_active) + if (arvif->is_up && arvif->vif->bss_conf.csa_active) ieee80211_csa_finish(arvif->vif); } rcu_read_unlock(); @@ -9003,12 +9003,13 @@ cmd->interval = arg->interval; cmd->method = arg->method; + arp = (struct wmi_sta_keepalive_arp_resp *)(cmd + 1); + arp->tlv_header = FIELD_PREP(WMI_TLV_TAG, + WMI_TAG_STA_KEEPALIVE_ARP_RESPONSE) | + FIELD_PREP(WMI_TLV_LEN, sizeof(*arp) - TLV_HDR_SIZE); + if (arg->method == WMI_STA_KEEPALIVE_METHOD_UNSOLICITED_ARP_RESPONSE || arg->method == WMI_STA_KEEPALIVE_METHOD_GRATUITOUS_ARP_REQUEST) { - arp = (struct wmi_sta_keepalive_arp_resp *)(cmd + 1); - arp->tlv_header = FIELD_PREP(WMI_TLV_TAG, - WMI_TAG_STA_KEEPALVE_ARP_RESPONSE) | - FIELD_PREP(WMI_TLV_LEN, sizeof(*arp) - TLV_HDR_SIZE); arp->src_ip4_addr = arg->src_ip4_addr; arp->dest_ip4_addr = arg->dest_ip4_addr; ether_addr_copy(arp->dest_mac_addr.addr, arg->dest_mac_addr); --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath11k/wmi.h +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath11k/wmi.h @@ -1214,7 +1214,7 @@ WMI_TAG_NS_OFFLOAD_TUPLE, WMI_TAG_FTM_INTG_CMD, WMI_TAG_STA_KEEPALIVE_CMD, - WMI_TAG_STA_KEEPALVE_ARP_RESPONSE, + WMI_TAG_STA_KEEPALIVE_ARP_RESPONSE, WMI_TAG_P2P_SET_VENDOR_IE_DATA_CMD, WMI_TAG_AP_PS_PEER_CMD, WMI_TAG_PEER_RATE_RETRY_SCHED_CMD, --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath6kl/cfg80211.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath6kl/cfg80211.c @@ -1119,7 +1119,7 @@ NL80211_CHAN_HT20 : NL80211_CHAN_NO_HT); mutex_lock(&vif->wdev.mtx); - cfg80211_ch_switch_notify(vif->ndev, &chandef); + cfg80211_ch_switch_notify(vif->ndev, &chandef, 0); mutex_unlock(&vif->wdev.mtx); } @@ -2967,7 +2967,8 @@ return ath6kl_set_ies(vif, beacon); } -static int ath6kl_stop_ap(struct wiphy *wiphy, struct net_device *dev) +static int ath6kl_stop_ap(struct wiphy *wiphy, struct net_device *dev, + unsigned int link_id) { struct ath6kl *ar = ath6kl_priv(dev); struct ath6kl_vif *vif = netdev_priv(dev); @@ -3368,6 +3369,7 @@ static int ath6kl_cfg80211_set_bitrate(struct wiphy *wiphy, struct net_device *dev, + unsigned int link_id, const u8 *addr, const struct cfg80211_bitrate_mask *mask) { --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath9k/beacon.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath9k/beacon.c @@ -362,7 +362,7 @@ bool ath9k_csa_is_finished(struct ath_softc *sc, struct ieee80211_vif *vif) { - if (!vif || !vif->csa_active) + if (!vif || !vif->bss_conf.csa_active) return false; if (!ieee80211_beacon_cntdwn_is_complete(vif)) --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath9k/hif_usb.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath9k/hif_usb.c @@ -244,11 +244,11 @@ ath9k_htc_txcompletion_cb(hif_dev->htc_handle, skb, txok); if (txok) { - TX_STAT_INC(skb_success); - TX_STAT_ADD(skb_success_bytes, ln); + TX_STAT_INC(hif_dev, skb_success); + TX_STAT_ADD(hif_dev, skb_success_bytes, ln); } else - TX_STAT_INC(skb_failed); + TX_STAT_INC(hif_dev, skb_failed); } } @@ -302,7 +302,7 @@ hif_dev->tx.tx_buf_cnt++; if (!(hif_dev->tx.flags & HIF_USB_TX_STOP)) __hif_usb_tx(hif_dev); /* Check for pending SKBs */ - TX_STAT_INC(buf_completed); + TX_STAT_INC(hif_dev, buf_completed); spin_unlock(&hif_dev->tx.tx_lock); } @@ -353,7 +353,7 @@ tx_buf->len += tx_buf->offset; __skb_queue_tail(&tx_buf->skb_queue, nskb); - TX_STAT_INC(skb_queued); + TX_STAT_INC(hif_dev, skb_queued); } usb_fill_bulk_urb(tx_buf->urb, hif_dev->udev, @@ -369,7 +369,7 @@ list_move_tail(&tx_buf->list, &hif_dev->tx.tx_buf); hif_dev->tx.tx_buf_cnt++; } else { - TX_STAT_INC(buf_queued); + TX_STAT_INC(hif_dev, buf_queued); } return ret; @@ -514,7 +514,7 @@ ath9k_htc_txcompletion_cb(hif_dev->htc_handle, skb, false); hif_dev->tx.tx_skb_cnt--; - TX_STAT_INC(skb_failed); + TX_STAT_INC(hif_dev, skb_failed); } } @@ -561,11 +561,11 @@ memcpy(ptr, skb->data, rx_remain_len); rx_pkt_len += rx_remain_len; - hif_dev->rx_remain_len = 0; skb_put(remain_skb, rx_pkt_len); skb_pool[pool_index++] = remain_skb; - + hif_dev->remain_skb = NULL; + hif_dev->rx_remain_len = 0; } else { index = rx_remain_len; } @@ -584,15 +584,27 @@ pkt_len = get_unaligned_le16(ptr + index); pkt_tag = get_unaligned_le16(ptr + index + 2); + /* It is supposed that if we have an invalid pkt_tag or + * pkt_len then the whole input SKB is considered invalid + * and dropped; the associated packets already in skb_pool + * are dropped, too. + */ if (pkt_tag != ATH_USB_RX_STREAM_MODE_TAG) { - RX_STAT_INC(skb_dropped); - return; + RX_STAT_INC(hif_dev, skb_dropped); + goto invalid_pkt; } if (pkt_len > 2 * MAX_RX_BUF_SIZE) { dev_err(&hif_dev->udev->dev, "ath9k_htc: invalid pkt_len (%x)\n", pkt_len); - RX_STAT_INC(skb_dropped); + RX_STAT_INC(hif_dev, skb_dropped); + goto invalid_pkt; + } + + if (pkt_len > 2 * MAX_RX_BUF_SIZE) { + dev_err(&hif_dev->udev->dev, + "ath9k_htc: invalid pkt_len (%x)\n", pkt_len); + RX_STAT_INC(hif_dev, skb_dropped); return; } @@ -605,11 +617,6 @@ if (index > MAX_RX_BUF_SIZE) { spin_lock(&hif_dev->rx_lock); - hif_dev->rx_remain_len = index - MAX_RX_BUF_SIZE; - hif_dev->rx_transfer_len = - MAX_RX_BUF_SIZE - chk_idx - 4; - hif_dev->rx_pad_len = pad_len; - nskb = __dev_alloc_skb(pkt_len + 32, GFP_ATOMIC); if (!nskb) { dev_err(&hif_dev->udev->dev, @@ -617,8 +624,14 @@ spin_unlock(&hif_dev->rx_lock); goto err; } + + hif_dev->rx_remain_len = index - MAX_RX_BUF_SIZE; + hif_dev->rx_transfer_len = + MAX_RX_BUF_SIZE - chk_idx - 4; + hif_dev->rx_pad_len = pad_len; + skb_reserve(nskb, 32); - RX_STAT_INC(skb_allocated); + RX_STAT_INC(hif_dev, skb_allocated); memcpy(nskb->data, &(skb->data[chk_idx+4]), hif_dev->rx_transfer_len); @@ -639,7 +652,7 @@ goto err; } skb_reserve(nskb, 32); - RX_STAT_INC(skb_allocated); + RX_STAT_INC(hif_dev, skb_allocated); memcpy(nskb->data, &(skb->data[chk_idx+4]), pkt_len); skb_put(nskb, pkt_len); @@ -649,11 +662,18 @@ err: for (i = 0; i < pool_index; i++) { - RX_STAT_ADD(skb_completed_bytes, skb_pool[i]->len); + RX_STAT_ADD(hif_dev, skb_completed_bytes, skb_pool[i]->len); ath9k_htc_rx_msg(hif_dev->htc_handle, skb_pool[i], skb_pool[i]->len, USB_WLAN_RX_PIPE); - RX_STAT_INC(skb_completed); + RX_STAT_INC(hif_dev, skb_completed); } + return; +invalid_pkt: + for (i = 0; i < pool_index; i++) { + dev_kfree_skb_any(skb_pool[i]); + RX_STAT_INC(hif_dev, skb_dropped); + } + return; } static void ath9k_hif_usb_rx_cb(struct urb *urb) @@ -708,14 +728,13 @@ struct rx_buf *rx_buf = (struct rx_buf *)urb->context; struct hif_device_usb *hif_dev = rx_buf->hif_dev; struct sk_buff *skb = rx_buf->skb; - struct sk_buff *nskb; int ret; if (!skb) return; if (!hif_dev) - goto free; + goto free_skb; switch (urb->status) { case 0: @@ -724,7 +743,7 @@ case -ECONNRESET: case -ENODEV: case -ESHUTDOWN: - goto free; + goto free_skb; default: skb_reset_tail_pointer(skb); skb_trim(skb, 0); @@ -735,25 +754,27 @@ if (likely(urb->actual_length != 0)) { skb_put(skb, urb->actual_length); - /* Process the command first */ + /* + * Process the command first. + * skb is either freed here or passed to be + * managed to another callback function. + */ ath9k_htc_rx_msg(hif_dev->htc_handle, skb, skb->len, USB_REG_IN_PIPE); - - nskb = alloc_skb(MAX_REG_IN_BUF_SIZE, GFP_ATOMIC); - if (!nskb) { + skb = alloc_skb(MAX_REG_IN_BUF_SIZE, GFP_ATOMIC); + if (!skb) { dev_err(&hif_dev->udev->dev, "ath9k_htc: REG_IN memory allocation failure\n"); - urb->context = NULL; - return; + goto free_rx_buf; } - rx_buf->skb = nskb; + rx_buf->skb = skb; usb_fill_int_urb(urb, hif_dev->udev, usb_rcvintpipe(hif_dev->udev, USB_REG_IN_PIPE), - nskb->data, MAX_REG_IN_BUF_SIZE, + skb->data, MAX_REG_IN_BUF_SIZE, ath9k_hif_usb_reg_in_cb, rx_buf, 1); } @@ -762,12 +783,13 @@ ret = usb_submit_urb(urb, GFP_ATOMIC); if (ret) { usb_unanchor_urb(urb); - goto free; + goto free_skb; } return; -free: +free_skb: kfree_skb(skb); +free_rx_buf: kfree(rx_buf); urb->context = NULL; } @@ -780,14 +802,10 @@ spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); list_for_each_entry_safe(tx_buf, tx_buf_tmp, &hif_dev->tx.tx_buf, list) { - usb_get_urb(tx_buf->urb); - spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); - usb_kill_urb(tx_buf->urb); list_del(&tx_buf->list); usb_free_urb(tx_buf->urb); kfree(tx_buf->buf); kfree(tx_buf); - spin_lock_irqsave(&hif_dev->tx.tx_lock, flags); } spin_unlock_irqrestore(&hif_dev->tx.tx_lock, flags); @@ -1329,10 +1347,24 @@ static int ath9k_hif_usb_probe(struct usb_interface *interface, const struct usb_device_id *id) { + struct usb_endpoint_descriptor *bulk_in, *bulk_out, *int_in, *int_out; struct usb_device *udev = interface_to_usbdev(interface); + struct usb_host_interface *alt; struct hif_device_usb *hif_dev; int ret = 0; + /* Verify the expected endpoints are present */ + alt = interface->cur_altsetting; + if (usb_find_common_endpoints(alt, &bulk_in, &bulk_out, &int_in, &int_out) < 0 || + usb_endpoint_num(bulk_in) != USB_WLAN_RX_PIPE || + usb_endpoint_num(bulk_out) != USB_WLAN_TX_PIPE || + usb_endpoint_num(int_in) != USB_REG_IN_PIPE || + usb_endpoint_num(int_out) != USB_REG_OUT_PIPE) { + dev_err(&udev->dev, + "ath9k_htc: Device endpoint numbers are not the expected ones\n"); + return -ENODEV; + } + if (id->driver_info == STORAGE_DEVICE) return send_eject_command(interface); @@ -1399,8 +1431,6 @@ if (hif_dev->flags & HIF_USB_READY) { ath9k_htc_hw_deinit(hif_dev->htc_handle, unplugged); - ath9k_hif_usb_dev_deinit(hif_dev); - ath9k_destroy_wmi(hif_dev->htc_handle->drv_priv); ath9k_htc_hw_free(hif_dev->htc_handle); } --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath9k/htc.h +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath9k/htc.h @@ -327,14 +327,18 @@ } #ifdef CONFIG_ATH9K_HTC_DEBUGFS - -#define TX_STAT_INC(c) (hif_dev->htc_handle->drv_priv->debug.tx_stats.c++) -#define TX_STAT_ADD(c, a) (hif_dev->htc_handle->drv_priv->debug.tx_stats.c += a) -#define RX_STAT_INC(c) (hif_dev->htc_handle->drv_priv->debug.skbrx_stats.c++) -#define RX_STAT_ADD(c, a) (hif_dev->htc_handle->drv_priv->debug.skbrx_stats.c += a) -#define CAB_STAT_INC priv->debug.tx_stats.cab_queued++ - -#define TX_QSTAT_INC(q) (priv->debug.tx_stats.queue_stats[q]++) +#define __STAT_SAFE(hif_dev, expr) do { ((hif_dev)->htc_handle->drv_priv ? (expr) : 0); } while (0) +#define CAB_STAT_INC(priv) do { ((priv)->debug.tx_stats.cab_queued++); } while (0) +#define TX_QSTAT_INC(priv, q) do { ((priv)->debug.tx_stats.queue_stats[q]++); } while (0) + +#define TX_STAT_INC(hif_dev, c) \ + __STAT_SAFE((hif_dev), (hif_dev)->htc_handle->drv_priv->debug.tx_stats.c++) +#define TX_STAT_ADD(hif_dev, c, a) \ + __STAT_SAFE((hif_dev), (hif_dev)->htc_handle->drv_priv->debug.tx_stats.c += a) +#define RX_STAT_INC(hif_dev, c) \ + __STAT_SAFE((hif_dev), (hif_dev)->htc_handle->drv_priv->debug.skbrx_stats.c++) +#define RX_STAT_ADD(hif_dev, c, a) \ + __STAT_SAFE((hif_dev), (hif_dev)->htc_handle->drv_priv->debug.skbrx_stats.c += a) void ath9k_htc_err_stat_rx(struct ath9k_htc_priv *priv, struct ath_rx_status *rs); @@ -374,13 +378,13 @@ struct ethtool_stats *stats, u64 *data); #else -#define TX_STAT_INC(c) do { } while (0) -#define TX_STAT_ADD(c, a) do { } while (0) -#define RX_STAT_INC(c) do { } while (0) -#define RX_STAT_ADD(c, a) do { } while (0) -#define CAB_STAT_INC do { } while (0) +#define TX_STAT_INC(hif_dev, c) do { } while (0) +#define TX_STAT_ADD(hif_dev, c, a) do { } while (0) +#define RX_STAT_INC(hif_dev, c) do { } while (0) +#define RX_STAT_ADD(hif_dev, c, a) do { } while (0) -#define TX_QSTAT_INC(c) do { } while (0) +#define CAB_STAT_INC(priv) +#define TX_QSTAT_INC(priv, c) static inline void ath9k_htc_err_stat_rx(struct ath9k_htc_priv *priv, struct ath_rx_status *rs) --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath9k/htc_drv_beacon.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath9k/htc_drv_beacon.c @@ -511,7 +511,7 @@ struct ieee80211_vif *vif; vif = priv->csa_vif; - if (!vif || !vif->csa_active) + if (!vif || !vif->bss_conf.csa_active) return false; if (!ieee80211_beacon_cntdwn_is_complete(vif)) --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath9k/htc_drv_init.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath9k/htc_drv_init.c @@ -944,7 +944,6 @@ priv->hw = hw; priv->htc = htc_handle; priv->dev = dev; - htc_handle->drv_priv = priv; SET_IEEE80211_DEV(hw, priv->dev); ret = ath9k_htc_wait_for_target(priv); @@ -965,6 +964,8 @@ if (ret) goto err_init; + htc_handle->drv_priv = priv; + return 0; err_init: @@ -987,6 +988,8 @@ ath9k_deinit_device(htc_handle->drv_priv); ath9k_stop_wmi(htc_handle->drv_priv); + ath9k_hif_usb_dealloc_urbs((struct hif_device_usb *)htc_handle->hif_dev); + ath9k_destroy_wmi(htc_handle->drv_priv); ieee80211_free_hw(htc_handle->drv_priv->hw); } } --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c @@ -106,20 +106,20 @@ switch (qnum) { case 0: - TX_QSTAT_INC(IEEE80211_AC_VO); + TX_QSTAT_INC(priv, IEEE80211_AC_VO); epid = priv->data_vo_ep; break; case 1: - TX_QSTAT_INC(IEEE80211_AC_VI); + TX_QSTAT_INC(priv, IEEE80211_AC_VI); epid = priv->data_vi_ep; break; case 2: - TX_QSTAT_INC(IEEE80211_AC_BE); + TX_QSTAT_INC(priv, IEEE80211_AC_BE); epid = priv->data_be_ep; break; case 3: default: - TX_QSTAT_INC(IEEE80211_AC_BK); + TX_QSTAT_INC(priv, IEEE80211_AC_BK); epid = priv->data_bk_ep; break; } @@ -328,7 +328,7 @@ memcpy(tx_fhdr, (u8 *) &tx_hdr, sizeof(tx_hdr)); if (is_cab) { - CAB_STAT_INC; + CAB_STAT_INC(priv); tx_ctl->epid = priv->cab_ep; return; } --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath9k/htc_hst.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath9k/htc_hst.c @@ -364,40 +364,34 @@ } static void ath9k_htc_fw_panic_report(struct htc_target *htc_handle, - struct sk_buff *skb) + struct sk_buff *skb, u32 len) { uint32_t *pattern = (uint32_t *)skb->data; - switch (*pattern) { - case 0x33221199: - { + if (*pattern == 0x33221199 && len >= sizeof(struct htc_panic_bad_vaddr)) { struct htc_panic_bad_vaddr *htc_panic; htc_panic = (struct htc_panic_bad_vaddr *) skb->data; dev_err(htc_handle->dev, "ath: firmware panic! " "exccause: 0x%08x; pc: 0x%08x; badvaddr: 0x%08x.\n", htc_panic->exccause, htc_panic->pc, htc_panic->badvaddr); - break; - } - case 0x33221299: - { + return; + } + if (*pattern == 0x33221299) { struct htc_panic_bad_epid *htc_panic; htc_panic = (struct htc_panic_bad_epid *) skb->data; dev_err(htc_handle->dev, "ath: firmware panic! " "bad epid: 0x%08x\n", htc_panic->epid); - break; - } - default: - dev_err(htc_handle->dev, "ath: unknown panic pattern!\n"); - break; + return; } + dev_err(htc_handle->dev, "ath: unknown panic pattern!\n"); } /* * HTC Messages are handled directly here and the obtained SKB * is freed. * - * Service messages (Data, WMI) passed to the corresponding + * Service messages (Data, WMI) are passed to the corresponding * endpoint RX handlers, which have to free the SKB. */ void ath9k_htc_rx_msg(struct htc_target *htc_handle, @@ -411,16 +405,26 @@ if (!htc_handle || !skb) return; + /* A valid message requires len >= 8. + * + * sizeof(struct htc_frame_hdr) == 8 + * sizeof(struct htc_ready_msg) == 8 + * sizeof(struct htc_panic_bad_vaddr) == 16 + * sizeof(struct htc_panic_bad_epid) == 8 + */ + if (unlikely(len < sizeof(struct htc_frame_hdr))) + goto invalid; htc_hdr = (struct htc_frame_hdr *) skb->data; epid = htc_hdr->endpoint_id; if (epid == 0x99) { - ath9k_htc_fw_panic_report(htc_handle, skb); + ath9k_htc_fw_panic_report(htc_handle, skb, len); kfree_skb(skb); return; } if (epid < 0 || epid >= ENDPOINT_MAX) { +invalid: if (pipe_id != USB_REG_IN_PIPE) dev_kfree_skb_any(skb); else @@ -432,21 +436,30 @@ /* Handle trailer */ if (htc_hdr->flags & HTC_FLAGS_RECV_TRAILER) { - if (be32_to_cpu(*(__be32 *) skb->data) == 0x00C60000) + if (be32_to_cpu(*(__be32 *) skb->data) == 0x00C60000) { /* Move past the Watchdog pattern */ htc_hdr = (struct htc_frame_hdr *)(skb->data + 4); + len -= 4; + } } /* Get the message ID */ + if (unlikely(len < sizeof(struct htc_frame_hdr) + sizeof(__be16))) + goto invalid; msg_id = (__be16 *) ((void *) htc_hdr + sizeof(struct htc_frame_hdr)); /* Now process HTC messages */ switch (be16_to_cpu(*msg_id)) { case HTC_MSG_READY_ID: + if (unlikely(len < sizeof(struct htc_ready_msg))) + goto invalid; htc_process_target_rdy(htc_handle, htc_hdr); break; case HTC_MSG_CONNECT_SERVICE_RESPONSE_ID: + if (unlikely(len < sizeof(struct htc_frame_hdr) + + sizeof(struct htc_conn_svc_rspmsg))) + goto invalid; htc_process_conn_rsp(htc_handle, htc_hdr); break; default: @@ -465,6 +478,8 @@ if (endpoint->ep_callbacks.rx) endpoint->ep_callbacks.rx(endpoint->ep_callbacks.priv, skb, epid); + else + goto invalid; } } --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath9k/rng.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath9k/rng.c @@ -83,7 +83,8 @@ if (!wait || !max || likely(bytes_read) || fail_stats > 110) break; - msleep_interruptible(ath9k_rng_delay_get(++fail_stats)); + if (hwrng_msleep(rng, ath9k_rng_delay_get(++fail_stats))) + break; } if (wait && !bytes_read && max) --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/ath9k/wmi.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/ath9k/wmi.c @@ -341,6 +341,7 @@ if (!time_left) { ath_dbg(common, WMI, "Timeout waiting for WMI command: %s\n", wmi_cmd_to_name(cmd_id)); + wmi->last_seq_id = 0; mutex_unlock(&wmi->op_mutex); return -ETIMEDOUT; } --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/wil6210/cfg80211.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/wil6210/cfg80211.c @@ -2098,8 +2098,8 @@ bcon->tail_len)) privacy = 1; - memcpy(vif->ssid, wdev->ssid, wdev->ssid_len); - vif->ssid_len = wdev->ssid_len; + memcpy(vif->ssid, wdev->u.ap.ssid, wdev->u.ap.ssid_len); + vif->ssid_len = wdev->u.ap.ssid_len; /* in case privacy has changed, need to restart the AP */ if (vif->privacy != privacy) { @@ -2108,7 +2108,7 @@ rc = _wil_cfg80211_start_ap(wiphy, ndev, vif->ssid, vif->ssid_len, privacy, - wdev->beacon_interval, + wdev->links[0].ap.beacon_interval, vif->channel, vif->wmi_edmg_channel, bcon, vif->hidden_ssid, @@ -2186,7 +2186,8 @@ } static int wil_cfg80211_stop_ap(struct wiphy *wiphy, - struct net_device *ndev) + struct net_device *ndev, + unsigned int link_id) { struct wil6210_priv *wil = wiphy_to_wil(wiphy); struct wil6210_vif *vif = ndev_to_vif(ndev); --- linux-gcp-5.19.0.orig/drivers/net/wireless/ath/wil6210/debugfs.c +++ linux-gcp-5.19.0/drivers/net/wireless/ath/wil6210/debugfs.c @@ -1010,20 +1010,14 @@ void *cmd; int cmdlen = len - sizeof(struct wmi_cmd_hdr); u16 cmdid; - int rc, rc1; + int rc1; - if (cmdlen < 0) + if (cmdlen < 0 || *ppos != 0) return -EINVAL; - wmi = kmalloc(len, GFP_KERNEL); - if (!wmi) - return -ENOMEM; - - rc = simple_write_to_buffer(wmi, len, ppos, buf, len); - if (rc < 0) { - kfree(wmi); - return rc; - } + wmi = memdup_user(buf, len); + if (IS_ERR(wmi)) + return PTR_ERR(wmi); cmd = (cmdlen > 0) ? &wmi[1] : NULL; cmdid = le16_to_cpu(wmi->command_id); @@ -1033,7 +1027,7 @@ wil_info(wil, "0x%04x[%d] -> %d\n", cmdid, cmdlen, rc1); - return rc; + return len; } static const struct file_operations fops_wmi = { --- linux-gcp-5.19.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ linux-gcp-5.19.0/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -91,6 +91,9 @@ #define BRCMF_ASSOC_PARAMS_FIXED_SIZE \ (sizeof(struct brcmf_assoc_params_le) - sizeof(u16)) +#define BRCMF_MAX_CHANSPEC_LIST \ + (BRCMF_DCMD_MEDLEN / sizeof(__le32) - 1) + static bool check_vif_up(struct brcmf_cfg80211_vif *vif) { if (!test_bit(BRCMF_VIF_STATUS_READY, &vif->sme_state)) { @@ -4965,7 +4968,8 @@ return err; } -static int brcmf_cfg80211_stop_ap(struct wiphy *wiphy, struct net_device *ndev) +static int brcmf_cfg80211_stop_ap(struct wiphy *wiphy, struct net_device *ndev, + unsigned int link_id) { struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); struct brcmf_if *ifp = netdev_priv(ndev); @@ -5302,6 +5306,7 @@ static int brcmf_cfg80211_get_channel(struct wiphy *wiphy, struct wireless_dev *wdev, + unsigned int link_id, struct cfg80211_chan_def *chandef) { struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); @@ -5909,6 +5914,11 @@ (struct brcmf_cfg80211_assoc_ielen_le *)cfg->extra_buf; req_len = le32_to_cpu(assoc_info->req_len); resp_len = le32_to_cpu(assoc_info->resp_len); + if (req_len > WL_EXTRA_BUF_MAX || resp_len > WL_EXTRA_BUF_MAX) { + bphy_err(drvr, "invalid lengths in assoc info: req %u resp %u\n", + req_len, resp_len); + return -EINVAL; + } if (req_len) { err = brcmf_fil_iovar_data_get(ifp, "assoc_req_ies", cfg->extra_buf, @@ -6579,6 +6589,13 @@ band->channels[i].flags = IEEE80211_CHAN_DISABLED; total = le32_to_cpu(list->count); + if (total > BRCMF_MAX_CHANSPEC_LIST) { + bphy_err(drvr, "Invalid count of channel Spec. (%u)\n", + total); + err = -EINVAL; + goto fail_pbuf; + } + for (i = 0; i < total; i++) { ch.chspec = (u16)le32_to_cpu(list->element[i]); cfg->d11inf.decchspec(&ch); @@ -6724,6 +6741,13 @@ band = cfg_to_wiphy(cfg)->bands[NL80211_BAND_2GHZ]; list = (struct brcmf_chanspec_list *)pbuf; num_chan = le32_to_cpu(list->count); + if (num_chan > BRCMF_MAX_CHANSPEC_LIST) { + bphy_err(drvr, "Invalid count of channel Spec. (%u)\n", + num_chan); + kfree(pbuf); + return -EINVAL; + } + for (i = 0; i < num_chan; i++) { ch.chspec = (u16)le32_to_cpu(list->element[i]); cfg->d11inf.decchspec(&ch); --- linux-gcp-5.19.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c +++ linux-gcp-5.19.0/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c @@ -275,6 +275,7 @@ err); goto done; } + buf[sizeof(buf) - 1] = '\0'; ptr = (char *)buf; strsep(&ptr, "\n"); @@ -291,15 +292,17 @@ if (err) { brcmf_dbg(TRACE, "retrieving clmver failed, %d\n", err); } else { + buf[sizeof(buf) - 1] = '\0'; clmver = (char *)buf; - /* store CLM version for adding it to revinfo debugfs file */ - memcpy(ifp->drvr->clmver, clmver, sizeof(ifp->drvr->clmver)); /* Replace all newline/linefeed characters with space * character */ strreplace(clmver, '\n', ' '); + /* store CLM version for adding it to revinfo debugfs file */ + memcpy(ifp->drvr->clmver, clmver, sizeof(ifp->drvr->clmver)); + brcmf_dbg(INFO, "CLM version = %s\n", clmver); } --- linux-gcp-5.19.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c +++ linux-gcp-5.19.0/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c @@ -296,6 +296,7 @@ struct brcmf_pub *drvr = ifp->drvr; struct ethhdr *eh; int head_delta; + unsigned int tx_bytes = skb->len; brcmf_dbg(DATA, "Enter, bsscfgidx=%d\n", ifp->bsscfgidx); @@ -338,6 +339,7 @@ bphy_err(drvr, "%s: failed to expand headroom\n", brcmf_ifname(ifp)); atomic_inc(&drvr->bus_if->stats.pktcow_failed); + dev_kfree_skb(skb); goto done; } } @@ -370,7 +372,7 @@ ndev->stats.tx_dropped++; } else { ndev->stats.tx_packets++; - ndev->stats.tx_bytes += skb->len; + ndev->stats.tx_bytes += tx_bytes; } /* Return ok: we always eat the packet */ --- linux-gcp-5.19.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c +++ linux-gcp-5.19.0/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c @@ -746,6 +746,11 @@ u32 i, j; char end = '\0'; + if (chiprev >= BITS_PER_TYPE(u32)) { + brcmf_err("Invalid chip revision %u\n", chiprev); + return NULL; + } + for (i = 0; i < table_size; i++) { if (mapping_table[i].chipid == chip && mapping_table[i].revmask & BIT(chiprev)) --- linux-gcp-5.19.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c +++ linux-gcp-5.19.0/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c @@ -228,6 +228,10 @@ brcmf_fweh_event_name(event->code), event->code, event->emsg.ifidx, event->emsg.bsscfgidx, event->emsg.addr); + if (event->emsg.bsscfgidx >= BRCMF_MAX_IFS) { + bphy_err(drvr, "invalid bsscfg index: %u\n", event->emsg.bsscfgidx); + goto event_free; + } /* convert event message */ emsg_be = &event->emsg; --- linux-gcp-5.19.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c +++ linux-gcp-5.19.0/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c @@ -346,8 +346,11 @@ count++; } while (count < pktids->array_size); - if (count == pktids->array_size) + if (count == pktids->array_size) { + dma_unmap_single(dev, *physaddr, skb->len - data_offset, + pktids->direction); return -ENOMEM; + } array[*idx].data_offset = data_offset; array[*idx].physaddr = *physaddr; --- linux-gcp-5.19.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +++ linux-gcp-5.19.0/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c @@ -626,7 +626,7 @@ } if (!brcmf_chip_set_active(devinfo->ci, resetintr)) - return -EINVAL; + return -EIO; return 0; } @@ -1120,6 +1120,10 @@ BRCMF_NROF_H2D_COMMON_MSGRINGS; max_completionrings = BRCMF_NROF_D2H_COMMON_MSGRINGS; } + if (max_flowrings > 512) { + brcmf_err(bus, "invalid max_flowrings(%d)\n", max_flowrings); + return -EIO; + } if (devinfo->dma_idx_sz != 0) { bufsz = (max_submissionrings + max_completionrings) * --- linux-gcp-5.19.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c +++ linux-gcp-5.19.0/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c @@ -158,12 +158,12 @@ struct brcmf_pno_macaddr_le pfn_mac; u8 *mac_addr = NULL; u8 *mac_mask = NULL; - int err, i; + int err, i, ri; - for (i = 0; i < pi->n_reqs; i++) - if (pi->reqs[i]->flags & NL80211_SCAN_FLAG_RANDOM_ADDR) { - mac_addr = pi->reqs[i]->mac_addr; - mac_mask = pi->reqs[i]->mac_addr_mask; + for (ri = 0; ri < pi->n_reqs; ri++) + if (pi->reqs[ri]->flags & NL80211_SCAN_FLAG_RANDOM_ADDR) { + mac_addr = pi->reqs[ri]->mac_addr; + mac_mask = pi->reqs[ri]->mac_addr_mask; break; } @@ -185,7 +185,7 @@ pfn_mac.mac[0] |= 0x02; brcmf_dbg(SCAN, "enabling random mac: reqid=%llu mac=%pM\n", - pi->reqs[i]->reqid, pfn_mac.mac); + pi->reqs[ri]->reqid, pfn_mac.mac); err = brcmf_fil_iovar_data_set(ifp, "pfn_macaddr", &pfn_mac, sizeof(pfn_mac)); if (err) --- linux-gcp-5.19.0.orig/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ linux-gcp-5.19.0/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -3412,6 +3412,7 @@ /* Take arm out of reset */ if (!brcmf_chip_set_active(bus->ci, rstvec)) { brcmf_err("error getting out of ARM core reset\n"); + bcmerror = -EIO; goto err; } --- linux-gcp-5.19.0.orig/drivers/net/wireless/cisco/airo.c +++ linux-gcp-5.19.0/drivers/net/wireless/cisco/airo.c @@ -5232,7 +5232,7 @@ return -1; } -static int set_wep_key(struct airo_info *ai, u16 index, const char *key, +static int set_wep_key(struct airo_info *ai, u16 index, const u8 *key, u16 keylen, int perm, int lock) { static const unsigned char macaddr[ETH_ALEN] = { 0x01, 0, 0, 0, 0, 0 }; @@ -5283,7 +5283,7 @@ struct net_device *dev = pde_data(inode); struct airo_info *ai = dev->ml_priv; int i, rc; - char key[16]; + u8 key[16]; u16 index = 0; int j = 0; @@ -5311,12 +5311,22 @@ } for (i = 0; i < 16*3 && data->wbuffer[i+j]; i++) { + int val; + + if (i % 3 == 2) + continue; + + val = hex_to_bin(data->wbuffer[i+j]); + if (val < 0) { + airo_print_err(ai->dev->name, "WebKey passed invalid key hex"); + return; + } switch(i%3) { case 0: - key[i/3] = hex_to_bin(data->wbuffer[i+j])<<4; + key[i/3] = (u8)val << 4; break; case 1: - key[i/3] |= hex_to_bin(data->wbuffer[i+j]); + key[i/3] |= (u8)val; break; } } --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/ipw2x00/ipw2200.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/ipw2x00/ipw2200.c @@ -3441,7 +3441,7 @@ dma_unmap_single(&priv->pci_dev->dev, rxq->pool[i].dma_addr, IPW_RX_BUF_SIZE, DMA_FROM_DEVICE); - dev_kfree_skb(rxq->pool[i].skb); + dev_kfree_skb_irq(rxq->pool[i].skb); rxq->pool[i].skb = NULL; } list_add_tail(&rxq->pool[i].list, &rxq->rx_used); @@ -11397,9 +11397,14 @@ set_wiphy_dev(wdev->wiphy, &priv->pci_dev->dev); /* With that information in place, we can now register the wiphy... */ - if (wiphy_register(wdev->wiphy)) - rc = -EIO; + rc = wiphy_register(wdev->wiphy); + if (rc) + goto out; + + return 0; out: + kfree(priv->ieee->a_band.channels); + kfree(priv->ieee->bg_band.channels); return rc; } --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlegacy/3945-mac.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlegacy/3945-mac.c @@ -3378,10 +3378,12 @@ * *****************************************************************************/ -static void +static int il3945_setup_deferred_work(struct il_priv *il) { il->workqueue = create_singlethread_workqueue(DRV_NAME); + if (!il->workqueue) + return -ENOMEM; init_waitqueue_head(&il->wait_command_queue); @@ -3398,6 +3400,8 @@ timer_setup(&il->watchdog, il_bg_watchdog, 0); tasklet_setup(&il->irq_tasklet, il3945_irq_tasklet); + + return 0; } static void @@ -3717,7 +3721,10 @@ } il_set_rxon_channel(il, &il->bands[NL80211_BAND_2GHZ].channels[5]); - il3945_setup_deferred_work(il); + err = il3945_setup_deferred_work(il); + if (err) + goto out_remove_sysfs; + il3945_setup_handlers(il); il_power_initialize(il); @@ -3729,7 +3736,7 @@ err = il3945_setup_mac(il); if (err) - goto out_remove_sysfs; + goto out_destroy_workqueue; il_dbgfs_register(il, DRV_NAME); @@ -3738,9 +3745,10 @@ return 0; -out_remove_sysfs: +out_destroy_workqueue: destroy_workqueue(il->workqueue); il->workqueue = NULL; +out_remove_sysfs: sysfs_remove_group(&pdev->dev.kobj, &il3945_attribute_group); out_release_irq: free_irq(il->pci_dev->irq, il); --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlegacy/4965-mac.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlegacy/4965-mac.c @@ -6211,10 +6211,12 @@ mutex_unlock(&il->mutex); } -static void +static int il4965_setup_deferred_work(struct il_priv *il) { il->workqueue = create_singlethread_workqueue(DRV_NAME); + if (!il->workqueue) + return -ENOMEM; init_waitqueue_head(&il->wait_command_queue); @@ -6233,6 +6235,8 @@ timer_setup(&il->watchdog, il_bg_watchdog, 0); tasklet_setup(&il->irq_tasklet, il4965_irq_tasklet); + + return 0; } static void @@ -6617,7 +6621,10 @@ goto out_disable_msi; } - il4965_setup_deferred_work(il); + err = il4965_setup_deferred_work(il); + if (err) + goto out_free_irq; + il4965_setup_handlers(il); /********************************************* @@ -6655,6 +6662,7 @@ out_destroy_workqueue: destroy_workqueue(il->workqueue); il->workqueue = NULL; +out_free_irq: free_irq(il->pci_dev->irq, il); out_disable_msi: pci_disable_msi(il->pci_dev); --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlegacy/4965-rs.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlegacy/4965-rs.c @@ -2403,7 +2403,7 @@ /* Repeat initial/next rate. * For legacy IL_NUMBER_TRY == 1, this loop will not execute. * For HT IL_HT_NUMBER_TRY == 3, this executes twice. */ - while (repeat_rate > 0 && idx < LINK_QUAL_MAX_RETRY_NUM) { + while (repeat_rate > 0 && idx < (LINK_QUAL_MAX_RETRY_NUM - 1)) { if (is_legacy(tbl_type.lq_type)) { if (ant_toggle_cnt < NUM_TRY_BEFORE_ANT_TOGGLE) ant_toggle_cnt++; --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlegacy/common.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlegacy/common.c @@ -5173,7 +5173,7 @@ memset(&il->current_ht_config, 0, sizeof(struct il_ht_config)); /* new association get rid of ibss beacon skb */ - dev_kfree_skb(il->beacon_skb); + dev_consume_skb_irq(il->beacon_skb); il->beacon_skb = NULL; il->timestamp = 0; @@ -5292,7 +5292,7 @@ } spin_lock_irqsave(&il->lock, flags); - dev_kfree_skb(il->beacon_skb); + dev_consume_skb_irq(il->beacon_skb); il->beacon_skb = skb; timestamp = ((struct ieee80211_mgmt *)skb->data)->u.beacon.timestamp; --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/Kconfig +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/Kconfig @@ -140,6 +140,7 @@ depends on INTEL_MEI depends on PM depends on CFG80211 + depends on BROKEN help Enables the iwlmei kernel module. --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/mei/iwl-mei.h +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/mei/iwl-mei.h @@ -446,9 +446,10 @@ void iwl_mei_host_disassociated(void); /** - * iwl_mei_device_down() - must be called when the device is down + * iwl_mei_device_state() - must be called when the device changes up/down state + * @up: true if the device is up, false otherwise. */ -void iwl_mei_device_down(void); +void iwl_mei_device_state(bool up); #else @@ -497,7 +498,7 @@ static inline void iwl_mei_host_disassociated(void) {} -static inline void iwl_mei_device_down(void) +static inline void iwl_mei_device_state(bool up) {} #endif /* CONFIG_IWLMEI */ --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/mei/main.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/mei/main.c @@ -147,9 +147,13 @@ * to send CSME_OWNERSHIP_CONFIRMED when the driver completes its down * flow. * @link_prot_state: true when we are in link protection PASSIVE + * @device_down: true if the device is down. Used to remember to send + * CSME_OWNERSHIP_CONFIRMED when the driver is already down. * @csa_throttle_end_wk: used when &csa_throttled is true * @data_q_lock: protects the access to the data queues which are * accessed without the mutex. + * @netdev_work: used to defer registering and unregistering of the netdev to + * avoid taking the rtnl lock in the SAP messages handlers. * @sap_seq_no: the sequence number for the SAP messages * @seq_no: the sequence number for the SAP messages * @dbgfs_dir: the debugfs dir entry @@ -167,8 +171,10 @@ bool csa_throttled; bool csme_taking_ownership; bool link_prot_state; + bool device_down; struct delayed_work csa_throttle_end_wk; spinlock_t data_q_lock; + struct work_struct netdev_work; atomic_t sap_seq_no; atomic_t seq_no; @@ -588,13 +594,38 @@ return res; } +static void iwl_mei_netdev_work(struct work_struct *wk) +{ + struct iwl_mei *mei = + container_of(wk, struct iwl_mei, netdev_work); + struct net_device *netdev; + + /* + * First take rtnl and only then the mutex to avoid an ABBA + * with iwl_mei_set_netdev() + */ + rtnl_lock(); + mutex_lock(&iwl_mei_mutex); + + netdev = rcu_dereference_protected(iwl_mei_cache.netdev, + lockdep_is_held(&iwl_mei_mutex)); + if (netdev) { + if (mei->amt_enabled) + netdev_rx_handler_register(netdev, iwl_mei_rx_handler, + mei); + else + netdev_rx_handler_unregister(netdev); + } + + mutex_unlock(&iwl_mei_mutex); + rtnl_unlock(); +} + static void iwl_mei_handle_rx_start_ok(struct mei_cl_device *cldev, const struct iwl_sap_me_msg_start_ok *rsp, ssize_t len) { - struct iwl_mei *mei = mei_cldev_get_drvdata(cldev); - if (len != sizeof(*rsp)) { dev_err(&cldev->dev, "got invalid SAP_ME_MSG_START_OK from CSME firmware\n"); @@ -613,13 +644,10 @@ mutex_lock(&iwl_mei_mutex); set_bit(IWL_MEI_STATUS_SAP_CONNECTED, &iwl_mei_status); - /* wifi driver has registered already */ - if (iwl_mei_cache.ops) { - iwl_mei_send_sap_msg(mei->cldev, - SAP_MSG_NOTIF_WIFIDR_UP); - iwl_mei_cache.ops->sap_connected(iwl_mei_cache.priv); - } - + /* + * We'll receive AMT_STATE SAP message in a bit and + * that will continue the flow + */ mutex_unlock(&iwl_mei_mutex); } @@ -712,6 +740,13 @@ .val = cpu_to_le32(iwl_mei_cache.rf_kill), }; + /* wifi driver has registered already */ + if (iwl_mei_cache.ops) { + iwl_mei_send_sap_msg(mei->cldev, + SAP_MSG_NOTIF_WIFIDR_UP); + iwl_mei_cache.ops->sap_connected(iwl_mei_cache.priv); + } + iwl_mei_send_sap_msg(mei->cldev, SAP_MSG_NOTIF_WHO_OWNS_NIC); if (iwl_mei_cache.conn_info) { @@ -738,38 +773,23 @@ const struct iwl_sap_msg_dw *dw) { struct iwl_mei *mei = mei_cldev_get_drvdata(cldev); - struct net_device *netdev; - /* - * First take rtnl and only then the mutex to avoid an ABBA - * with iwl_mei_set_netdev() - */ - rtnl_lock(); mutex_lock(&iwl_mei_mutex); - netdev = rcu_dereference_protected(iwl_mei_cache.netdev, - lockdep_is_held(&iwl_mei_mutex)); - if (mei->amt_enabled == !!le32_to_cpu(dw->val)) goto out; mei->amt_enabled = dw->val; - if (mei->amt_enabled) { - if (netdev) - netdev_rx_handler_register(netdev, iwl_mei_rx_handler, mei); - + if (mei->amt_enabled) iwl_mei_set_init_conf(mei); - } else { - if (iwl_mei_cache.ops) - iwl_mei_cache.ops->rfkill(iwl_mei_cache.priv, false); - if (netdev) - netdev_rx_handler_unregister(netdev); - } + else if (iwl_mei_cache.ops) + iwl_mei_cache.ops->rfkill(iwl_mei_cache.priv, false); + + schedule_work(&mei->netdev_work); out: mutex_unlock(&iwl_mei_mutex); - rtnl_unlock(); } static void iwl_mei_handle_nic_owner(struct mei_cl_device *cldev, @@ -798,14 +818,18 @@ mei->got_ownership = false; - /* - * Remember to send CSME_OWNERSHIP_CONFIRMED when the wifi driver - * is finished taking the device down. - */ - mei->csme_taking_ownership = true; + if (iwl_mei_cache.ops && !mei->device_down) { + /* + * Remember to send CSME_OWNERSHIP_CONFIRMED when the wifi + * driver is finished taking the device down. + */ + mei->csme_taking_ownership = true; - if (iwl_mei_cache.ops) iwl_mei_cache.ops->rfkill(iwl_mei_cache.priv, true); + } else { + iwl_mei_send_sap_msg(cldev, + SAP_MSG_NOTIF_CSME_OWNERSHIP_CONFIRMED); + } } static void iwl_mei_handle_nvm(struct mei_cl_device *cldev, @@ -1413,10 +1437,7 @@ mei = mei_cldev_get_drvdata(iwl_mei_global_cldev); - if (!mei) - goto out; - - if (!mei->amt_enabled) + if (!mei && !mei->amt_enabled) goto out; iwl_mei_send_sap_msg_payload(mei->cldev, &msg.hdr); @@ -1445,7 +1466,7 @@ mei = mei_cldev_get_drvdata(iwl_mei_global_cldev); - if (!mei) + if (!mei && !mei->amt_enabled) goto out; iwl_mei_send_sap_msg_payload(mei->cldev, &msg.hdr); @@ -1481,7 +1502,7 @@ mei = mei_cldev_get_drvdata(iwl_mei_global_cldev); - if (!mei) + if (!mei && !mei->amt_enabled) goto out; iwl_mei_send_sap_msg_payload(mei->cldev, &msg.hdr); @@ -1510,7 +1531,7 @@ mei = mei_cldev_get_drvdata(iwl_mei_global_cldev); - if (!mei) + if (!mei && !mei->amt_enabled) goto out; iwl_mei_send_sap_msg_payload(mei->cldev, &msg.hdr); @@ -1538,7 +1559,7 @@ mei = mei_cldev_get_drvdata(iwl_mei_global_cldev); - if (!mei) + if (!mei && !mei->amt_enabled) goto out; iwl_mei_send_sap_msg_payload(mei->cldev, &msg.hdr); @@ -1564,7 +1585,7 @@ mei = mei_cldev_get_drvdata(iwl_mei_global_cldev); - if (!mei) + if (!mei && !mei->amt_enabled) goto out; memcpy(msg.sar_chain_info_table, power_limit, sizeof(msg.sar_chain_info_table)); @@ -1616,7 +1637,7 @@ } EXPORT_SYMBOL_GPL(iwl_mei_set_netdev); -void iwl_mei_device_down(void) +void iwl_mei_device_state(bool up) { struct iwl_mei *mei; @@ -1630,7 +1651,9 @@ if (!mei) goto out; - if (!mei->csme_taking_ownership) + mei->device_down = !up; + + if (up || !mei->csme_taking_ownership) goto out; iwl_mei_send_sap_msg(mei->cldev, @@ -1639,7 +1662,7 @@ out: mutex_unlock(&iwl_mei_mutex); } -EXPORT_SYMBOL_GPL(iwl_mei_device_down); +EXPORT_SYMBOL_GPL(iwl_mei_device_state); int iwl_mei_register(void *priv, const struct iwl_mei_ops *ops) { @@ -1669,8 +1692,9 @@ /* we have already a SAP connection */ if (iwl_mei_is_connected()) { - iwl_mei_send_sap_msg(mei->cldev, - SAP_MSG_NOTIF_WIFIDR_UP); + if (mei->amt_enabled) + iwl_mei_send_sap_msg(mei->cldev, + SAP_MSG_NOTIF_WIFIDR_UP); ops->rfkill(priv, mei->link_prot_state); } } @@ -1818,9 +1842,11 @@ iwl_mei_csa_throttle_end_wk); init_waitqueue_head(&mei->get_ownership_wq); spin_lock_init(&mei->data_q_lock); + INIT_WORK(&mei->netdev_work, iwl_mei_netdev_work); mei_cldev_set_drvdata(cldev, mei); mei->cldev = cldev; + mei->device_down = true; do { ret = iwl_mei_alloc_shared_mem(cldev); @@ -1921,29 +1947,32 @@ mutex_lock(&iwl_mei_mutex); - /* - * Tell CSME that we are going down so that it won't access the - * memory anymore, make sure this message goes through immediately. - */ - mei->csa_throttled = false; - iwl_mei_send_sap_msg(mei->cldev, - SAP_MSG_NOTIF_HOST_GOES_DOWN); + if (mei->amt_enabled) { + /* + * Tell CSME that we are going down so that it won't access the + * memory anymore, make sure this message goes through immediately. + */ + mei->csa_throttled = false; + iwl_mei_send_sap_msg(mei->cldev, + SAP_MSG_NOTIF_HOST_GOES_DOWN); - for (i = 0; i < SEND_SAP_MAX_WAIT_ITERATION; i++) { - if (!iwl_mei_host_to_me_data_pending(mei)) - break; + for (i = 0; i < SEND_SAP_MAX_WAIT_ITERATION; i++) { + if (!iwl_mei_host_to_me_data_pending(mei)) + break; - msleep(5); - } + msleep(20); + } - /* - * If we couldn't make sure that CSME saw the HOST_GOES_DOWN message, - * it means that it will probably keep reading memory that we are going - * to unmap and free, expect IOMMU error messages. - */ - if (i == SEND_SAP_MAX_WAIT_ITERATION) - dev_err(&mei->cldev->dev, - "Couldn't get ACK from CSME on HOST_GOES_DOWN message\n"); + /* + * If we couldn't make sure that CSME saw the HOST_GOES_DOWN + * message, it means that it will probably keep reading memory + * that we are going to unmap and free, expect IOMMU error + * messages. + */ + if (i == SEND_SAP_MAX_WAIT_ITERATION) + dev_err(&mei->cldev->dev, + "Couldn't get ACK from CSME on HOST_GOES_DOWN message\n"); + } mutex_unlock(&iwl_mei_mutex); @@ -1976,6 +2005,7 @@ */ cancel_work_sync(&mei->send_csa_msg_wk); cancel_delayed_work_sync(&mei->csa_throttle_end_wk); + cancel_work_sync(&mei->netdev_work); /* * If someone waits for the ownership, let him know that we are going --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/mei/net.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/mei/net.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (C) 2021 Intel Corporation + * Copyright (C) 2021-2022 Intel Corporation */ #include @@ -337,10 +337,14 @@ if (!*pass_to_csme) return RX_HANDLER_PASS; - if (ret == RX_HANDLER_PASS) + if (ret == RX_HANDLER_PASS) { skb = skb_copy(orig_skb, GFP_ATOMIC); - else + + if (!skb) + return RX_HANDLER_PASS; + } else { skb = orig_skb; + } /* CSME wants the MAC header as well, push it back */ skb_push(skb, skb->data - skb_mac_header(skb)); --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/coex.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/mvm/coex.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause /* - * Copyright (C) 2013-2014, 2018-2020 Intel Corporation + * Copyright (C) 2013-2014, 2018-2020, 2022 Intel Corporation * Copyright (C) 2013-2015 Intel Mobile Communications GmbH */ #include @@ -106,7 +106,7 @@ rcu_read_lock(); - chanctx_conf = rcu_dereference(vif->chanctx_conf); + chanctx_conf = rcu_dereference(vif->bss_conf.chanctx_conf); if (!chanctx_conf || chanctx_conf->def.chan->band != NL80211_BAND_2GHZ) { @@ -283,7 +283,7 @@ return; } - chanctx_conf = rcu_dereference(vif->chanctx_conf); + chanctx_conf = rcu_dereference(vif->bss_conf.chanctx_conf); /* If channel context is invalid or not on 2.4GHz .. */ if ((!chanctx_conf || --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/d3.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/mvm/d3.c @@ -731,7 +731,7 @@ return -EINVAL; rcu_read_lock(); - ctx = rcu_dereference(vif->chanctx_conf); + ctx = rcu_dereference(vif->bss_conf.chanctx_conf); if (WARN_ON(!ctx)) { rcu_read_unlock(); return -EINVAL; --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/mvm/debugfs-vif.c @@ -234,7 +234,7 @@ } rcu_read_lock(); - chanctx_conf = rcu_dereference(vif->chanctx_conf); + chanctx_conf = rcu_dereference(vif->bss_conf.chanctx_conf); if (chanctx_conf) pos += scnprintf(buf+pos, bufsz-pos, "idle rx chains %d, active rx chains: %d\n", @@ -597,7 +597,7 @@ mutex_lock(&mvm->mutex); rcu_read_lock(); - chanctx_conf = rcu_dereference(vif->chanctx_conf); + chanctx_conf = rcu_dereference(vif->bss_conf.chanctx_conf); /* make sure the channel context is assigned */ if (!chanctx_conf) { rcu_read_unlock(); --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/mvm/ftm-responder.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause /* * Copyright (C) 2015-2017 Intel Deutschland GmbH - * Copyright (C) 2018-2021 Intel Corporation + * Copyright (C) 2018-2022 Intel Corporation */ #include #include @@ -398,7 +398,7 @@ } rcu_read_lock(); - pctx = rcu_dereference(vif->chanctx_conf); + pctx = rcu_dereference(vif->bss_conf.chanctx_conf); /* Copy the ctx to unlock the rcu and send the phy ctxt. We don't care * about changes in the ctx after releasing the lock because the driver * is still protected by the mutex. */ --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/fw.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/mvm/fw.c @@ -1665,6 +1665,8 @@ iwl_rfi_send_config_cmd(mvm, NULL); } + iwl_mvm_mei_device_state(mvm, true); + IWL_DEBUG_INFO(mvm, "RT uCode started.\n"); return 0; error: --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c @@ -481,7 +481,7 @@ eth_broadcast_addr(cmd->bssid_addr); rcu_read_lock(); - chanctx = rcu_dereference(vif->chanctx_conf); + chanctx = rcu_dereference(vif->bss_conf.chanctx_conf); iwl_mvm_ack_rates(mvm, vif, chanctx ? chanctx->def.chan->band : NL80211_BAND_2GHZ, &cck_ack_rates, &ofdm_ack_rates); @@ -934,7 +934,7 @@ /* Enable FILS on PSC channels only */ rcu_read_lock(); - ctx = rcu_dereference(vif->chanctx_conf); + ctx = rcu_dereference(vif->bss_conf.chanctx_conf); channel = ieee80211_frequency_to_channel(ctx->def.chan->center_freq); WARN_ON(channel == 0); if (cfg80211_channel_is_psc(ctx->def.chan) && @@ -1335,7 +1335,7 @@ csa_vif = rcu_dereference_protected(mvm->csa_vif, lockdep_is_held(&mvm->mutex)); - if (unlikely(csa_vif && csa_vif->csa_active)) + if (unlikely(csa_vif && csa_vif->bss_conf.csa_active)) iwl_mvm_csa_count_down(mvm, csa_vif, mvm->ap_last_beacon_gp2, (status == TX_STATUS_SUCCESS)); @@ -1558,7 +1558,7 @@ switch (vif->type) { case NL80211_IFTYPE_AP: csa_vif = rcu_dereference(mvm->csa_vif); - if (WARN_ON(!csa_vif || !csa_vif->csa_active || + if (WARN_ON(!csa_vif || !csa_vif->bss_conf.csa_active || csa_vif != vif)) goto out_unlock; @@ -1587,7 +1587,7 @@ */ if (iwl_fw_lookup_notif_ver(mvm->fw, MAC_CONF_GROUP, CHANNEL_SWITCH_ERROR_NOTIF, - 0) && !vif->csa_active) { + 0) && !vif->bss_conf.csa_active) { IWL_DEBUG_INFO(mvm, "Channel Switch was canceled\n"); iwl_mvm_cancel_channel_switch(mvm, vif, mac_id); break; --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c @@ -1768,7 +1768,7 @@ static void iwl_mvm_mu_mimo_iface_iterator(void *_data, u8 *mac, struct ieee80211_vif *vif) { - if (vif->mu_mimo_owner) { + if (vif->bss_conf.mu_mimo_owner) { struct iwl_mu_group_mgmt_notif *notif = _data; /* @@ -1833,8 +1833,8 @@ * If nss < MAX: we can set zeros in other streams */ if (nss > MAX_HE_SUPP_NSS) { - IWL_INFO(mvm, "Got NSS = %d - trimming to %d\n", nss, - MAX_HE_SUPP_NSS); + IWL_DEBUG_INFO(mvm, "Got NSS = %d - trimming to %d\n", nss, + MAX_HE_SUPP_NSS); nss = MAX_HE_SUPP_NSS; } @@ -1965,7 +1965,7 @@ rcu_read_lock(); - chanctx_conf = rcu_dereference(vif->chanctx_conf); + chanctx_conf = rcu_dereference(vif->bss_conf.chanctx_conf); if (WARN_ON(!chanctx_conf)) { rcu_read_unlock(); return; @@ -2337,7 +2337,7 @@ * However, on HW restart we should restore this data. */ if (test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status) && - (changes & BSS_CHANGED_MU_GROUPS) && vif->mu_mimo_owner) { + (changes & BSS_CHANGED_MU_GROUPS) && vif->bss_conf.mu_mimo_owner) { ret = iwl_mvm_update_mu_groups(mvm, vif); if (ret) IWL_ERR(mvm, @@ -4004,7 +4004,7 @@ { struct iwl_mvm_ftm_responder_iter_data *data = _data; - if (rcu_access_pointer(vif->chanctx_conf) == data->ctx && + if (rcu_access_pointer(vif->bss_conf.chanctx_conf) == data->ctx && vif->type == NL80211_IFTYPE_AP && vif->bss_conf.ftmr_params) data->responder = true; } @@ -4631,7 +4631,7 @@ csa_vif = rcu_dereference_protected(mvm->csa_vif, lockdep_is_held(&mvm->mutex)); - if (WARN_ONCE(csa_vif && csa_vif->csa_active, + if (WARN_ONCE(csa_vif && csa_vif->bss_conf.csa_active, "Another CSA is already in progress")) { ret = -EBUSY; goto out_unlock; --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/mvm/mvm.h @@ -2201,10 +2201,10 @@ iwl_mei_host_disassociated(); } -static inline void iwl_mvm_mei_device_down(struct iwl_mvm *mvm) +static inline void iwl_mvm_mei_device_state(struct iwl_mvm *mvm, bool up) { if (mvm->mei_registered) - iwl_mei_device_down(); + iwl_mei_device_state(up); } static inline void iwl_mvm_mei_set_sw_rfkill_state(struct iwl_mvm *mvm) --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/ops.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/mvm/ops.c @@ -1370,7 +1370,7 @@ iwl_trans_stop_device(mvm->trans); iwl_free_fw_paging(&mvm->fwrt); iwl_fw_dump_conf_clear(&mvm->fwrt); - iwl_mvm_mei_device_down(mvm); + iwl_mvm_mei_device_state(mvm, false); } static void iwl_op_mode_mvm_stop(struct iwl_op_mode *op_mode) --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/power.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/mvm/power.c @@ -283,7 +283,7 @@ bool radar_detect = false; rcu_read_lock(); - chanctx_conf = rcu_dereference(vif->chanctx_conf); + chanctx_conf = rcu_dereference(vif->bss_conf.chanctx_conf); WARN_ON(!chanctx_conf); if (chanctx_conf) { chan = chanctx_conf->def.chan; --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/rs.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/mvm/rs.c @@ -1980,7 +1980,7 @@ #endif rcu_read_lock(); - chanctx_conf = rcu_dereference(vif->chanctx_conf); + chanctx_conf = rcu_dereference(vif->bss_conf.chanctx_conf); if (WARN_ON(!chanctx_conf)) band = NUM_NL80211_BANDS; else --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/sta.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/mvm/sta.c @@ -1861,6 +1861,7 @@ iwl_mvm_txq_from_mac80211(sta->txq[i]); mvmtxq->txq_id = IWL_MVM_INVALID_QUEUE; + list_del_init(&mvmtxq->list); } } --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/tdls.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/mvm/tdls.c @@ -2,7 +2,7 @@ /* * Copyright (C) 2014 Intel Mobile Communications GmbH * Copyright (C) 2017 Intel Deutschland GmbH - * Copyright (C) 2018-2020 Intel Corporation + * Copyright (C) 2018-2020, 2022 Intel Corporation */ #include #include "mvm.h" @@ -380,7 +380,7 @@ type == TDLS_MOVE_CH) { /* we need to return to base channel */ struct ieee80211_chanctx_conf *chanctx = - rcu_dereference(vif->chanctx_conf); + rcu_dereference(vif->bss_conf.chanctx_conf); if (WARN_ON_ONCE(!chanctx)) { rcu_read_unlock(); --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/mvm/time-event.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause /* - * Copyright (C) 2012-2014, 2018-2021 Intel Corporation + * Copyright (C) 2012-2014, 2018-2022 Intel Corporation * Copyright (C) 2013-2015 Intel Mobile Communications GmbH * Copyright (C) 2017 Intel Deutschland GmbH */ @@ -123,7 +123,7 @@ rcu_read_lock(); csa_vif = rcu_dereference(mvm->csa_vif); - if (!csa_vif || !csa_vif->csa_active) + if (!csa_vif || !csa_vif->bss_conf.csa_active) goto out_unlock; IWL_DEBUG_TE(mvm, "CSA NOA started\n"); --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/mvm/tx.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/mvm/tx.c @@ -1171,9 +1171,15 @@ /* From now on, we cannot access info->control */ iwl_mvm_skb_prepare_status(skb, dev_cmd); + /* + * The IV is introduced by the HW for new tx api, and it is not present + * in the skb, hence, don't tell iwl_mvm_mei_tx_copy_to_csme about the + * IV for those devices. + */ if (ieee80211_is_data(fc)) iwl_mvm_mei_tx_copy_to_csme(mvm, skb, - info->control.hw_key ? + info->control.hw_key && + !iwl_mvm_has_new_tx_api(mvm) ? info->control.hw_key->iv_len : 0); if (iwl_trans_tx(mvm->trans, skb, dev_cmd, txq_id)) @@ -1206,6 +1212,7 @@ struct sk_buff_head mpdus_skbs; unsigned int payload_len; int ret; + struct sk_buff *orig_skb = skb; if (WARN_ON_ONCE(!mvmsta)) return -1; @@ -1238,8 +1245,17 @@ ret = iwl_mvm_tx_mpdu(mvm, skb, &info, sta); if (ret) { + /* Free skbs created as part of TSO logic that have not yet been dequeued */ __skb_queue_purge(&mpdus_skbs); - return ret; + /* skb here is not necessarily same as skb that entered this method, + * so free it explicitly. + */ + if (skb == orig_skb) + ieee80211_free_txskb(mvm->hw, skb); + else + kfree_skb(skb); + /* there was error, but we consumed skb one way or another, so return 0 */ + return 0; } } @@ -1959,7 +1975,7 @@ if (mvmsta->vif) chanctx_conf = - rcu_dereference(mvmsta->vif->chanctx_conf); + rcu_dereference(mvmsta->vif->bss_conf.chanctx_conf); if (WARN_ON_ONCE(!chanctx_conf)) goto out; --- linux-gcp-5.19.0.orig/drivers/net/wireless/intel/iwlwifi/pcie/drv.c +++ linux-gcp-5.19.0/drivers/net/wireless/intel/iwlwifi/pcie/drv.c @@ -210,6 +210,7 @@ {IWL_PCI_DEVICE(0x088E, 0x446A, iwl6035_2agn_sff_cfg)}, {IWL_PCI_DEVICE(0x088E, 0x4860, iwl6035_2agn_cfg)}, {IWL_PCI_DEVICE(0x088F, 0x5260, iwl6035_2agn_cfg)}, + {IWL_PCI_DEVICE(0x088F, 0x526A, iwl6035_2agn_cfg)}, /* 105 Series */ {IWL_PCI_DEVICE(0x0894, 0x0022, iwl105_bgn_cfg)}, --- linux-gcp-5.19.0.orig/drivers/net/wireless/intersil/orinoco/hw.c +++ linux-gcp-5.19.0/drivers/net/wireless/intersil/orinoco/hw.c @@ -931,6 +931,8 @@ err = hermes_write_wordrec(hw, USER_BAP, HERMES_RID_CNFAUTHENTICATION_AGERE, auth_flag); + if (err) + return err; } err = hermes_write_wordrec(hw, USER_BAP, HERMES_RID_CNFWEPENABLED_AGERE, --- linux-gcp-5.19.0.orig/drivers/net/wireless/intersil/p54/main.c +++ linux-gcp-5.19.0/drivers/net/wireless/intersil/p54/main.c @@ -682,7 +682,7 @@ * queues have already been stopped and no new frames can sneak * up from behind. */ - while ((total = p54_flush_count(priv) && i--)) { + while ((total = p54_flush_count(priv)) && i--) { /* waste time */ msleep(20); } --- linux-gcp-5.19.0.orig/drivers/net/wireless/intersil/p54/p54spi.c +++ linux-gcp-5.19.0/drivers/net/wireless/intersil/p54/p54spi.c @@ -164,7 +164,7 @@ ret = p54_parse_firmware(dev, priv->firmware); if (ret) { - release_firmware(priv->firmware); + /* the firmware is released by the caller */ return ret; } @@ -659,6 +659,7 @@ return 0; err_free_common: + release_firmware(priv->firmware); free_irq(gpio_to_irq(p54spi_gpio_irq), spi); err_free_gpio_irq: gpio_free(p54spi_gpio_irq); --- linux-gcp-5.19.0.orig/drivers/net/wireless/mac80211_hwsim.c +++ linux-gcp-5.19.0/drivers/net/wireless/mac80211_hwsim.c @@ -680,7 +680,7 @@ bool ps_poll_pending; struct dentry *debugfs; - uintptr_t pending_cookie; + atomic_t pending_cookie; struct sk_buff_head pending; /* packets pending */ /* * Only radios in the same group can communicate together (the @@ -889,7 +889,7 @@ rcu_read_lock(); mac80211_hwsim_tx_frame(data->hw, skb, - rcu_dereference(vif->chanctx_conf)->def.chan); + rcu_dereference(vif->bss_conf.chanctx_conf)->def.chan); rcu_read_unlock(); } @@ -899,6 +899,7 @@ struct hwsim_vif_priv *vp = (void *)vif->drv_priv; struct sk_buff *skb; struct ieee80211_hdr *hdr; + struct ieee80211_tx_info *cb; if (!vp->assoc) return; @@ -920,9 +921,13 @@ memcpy(hdr->addr2, mac, ETH_ALEN); memcpy(hdr->addr3, vp->bssid, ETH_ALEN); + cb = IEEE80211_SKB_CB(skb); + cb->control.rates[0].count = 1; + cb->control.rates[1].idx = -1; + rcu_read_lock(); mac80211_hwsim_tx_frame(data->hw, skb, - rcu_dereference(vif->chanctx_conf)->def.chan); + rcu_dereference(vif->bss_conf.chanctx_conf)->def.chan); rcu_read_unlock(); } @@ -1416,8 +1421,7 @@ goto nla_put_failure; /* We create a cookie to identify this skb */ - data->pending_cookie++; - cookie = data->pending_cookie; + cookie = atomic_inc_return(&data->pending_cookie); info->rate_driver_data[0] = (void *)cookie; if (nla_put_u64_64bit(skb, HWSIM_ATTR_COOKIE, cookie, HWSIM_ATTR_PAD)) goto nla_put_failure; @@ -1465,11 +1469,11 @@ { struct tx_iter_data *data = _data; - if (!vif->chanctx_conf) + if (!vif->bss_conf.chanctx_conf) return; if (!hwsim_chans_compat(data->channel, - rcu_dereference(vif->chanctx_conf)->def.chan)) + rcu_dereference(vif->bss_conf.chanctx_conf)->def.chan)) return; data->receive = true; @@ -1687,7 +1691,11 @@ } else if (txi->hw_queue == 4) { channel = data->tmp_chan; } else { - chanctx_conf = rcu_dereference(txi->control.vif->chanctx_conf); + struct ieee80211_bss_conf *bss_conf; + + bss_conf = &txi->control.vif->bss_conf; + + chanctx_conf = rcu_dereference(bss_conf->chanctx_conf); if (chanctx_conf) { channel = chanctx_conf->def.chan; confbw = chanctx_conf->def.width; @@ -1936,14 +1944,14 @@ } mac80211_hwsim_tx_frame(hw, skb, - rcu_dereference(vif->chanctx_conf)->def.chan); + rcu_dereference(vif->bss_conf.chanctx_conf)->def.chan); while ((skb = ieee80211_get_buffered_bc(hw, vif)) != NULL) { mac80211_hwsim_tx_frame(hw, skb, - rcu_dereference(vif->chanctx_conf)->def.chan); + rcu_dereference(vif->bss_conf.chanctx_conf)->def.chan); } - if (vif->csa_active && ieee80211_beacon_cntdwn_is_complete(vif)) + if (vif->bss_conf.csa_active && ieee80211_beacon_cntdwn_is_complete(vif)) ieee80211_csa_finish(vif); } @@ -2205,7 +2213,7 @@ struct ieee80211_chanctx_conf *chanctx_conf; rcu_read_lock(); - chanctx_conf = rcu_dereference(vif->chanctx_conf); + chanctx_conf = rcu_dereference(vif->bss_conf.chanctx_conf); if (!WARN_ON(!chanctx_conf)) confbw = chanctx_conf->def.width; @@ -4080,6 +4088,7 @@ const u8 *src; unsigned int hwsim_flags; int i; + unsigned long flags; bool found = false; if (!info->attrs[HWSIM_ATTR_ADDR_TRANSMITTER] || @@ -4107,18 +4116,20 @@ } /* look for the skb matching the cookie passed back from user */ + spin_lock_irqsave(&data2->pending.lock, flags); skb_queue_walk_safe(&data2->pending, skb, tmp) { - u64 skb_cookie; + uintptr_t skb_cookie; txi = IEEE80211_SKB_CB(skb); - skb_cookie = (u64)(uintptr_t)txi->rate_driver_data[0]; + skb_cookie = (uintptr_t)txi->rate_driver_data[0]; if (skb_cookie == ret_skb_cookie) { - skb_unlink(skb, &data2->pending); + __skb_unlink(skb, &data2->pending); found = true; break; } } + spin_unlock_irqrestore(&data2->pending.lock, flags); /* not found */ if (!found) @@ -4245,6 +4256,8 @@ rx_status.band = channel->band; rx_status.rate_idx = nla_get_u32(info->attrs[HWSIM_ATTR_RX_RATE]); + if (rx_status.rate_idx >= data2->hw->wiphy->bands[rx_status.band]->n_bitrates) + goto out; rx_status.signal = nla_get_u32(info->attrs[HWSIM_ATTR_SIGNAL]); hdr = (void *)skb->data; --- linux-gcp-5.19.0.orig/drivers/net/wireless/marvell/libertas/cmdresp.c +++ linux-gcp-5.19.0/drivers/net/wireless/marvell/libertas/cmdresp.c @@ -48,7 +48,7 @@ /* Free Tx and Rx packets */ spin_lock_irqsave(&priv->driver_lock, flags); - kfree_skb(priv->currenttxskb); + dev_kfree_skb_irq(priv->currenttxskb); priv->currenttxskb = NULL; priv->tx_pending_len = 0; spin_unlock_irqrestore(&priv->driver_lock, flags); --- linux-gcp-5.19.0.orig/drivers/net/wireless/marvell/libertas/if_usb.c +++ linux-gcp-5.19.0/drivers/net/wireless/marvell/libertas/if_usb.c @@ -287,6 +287,7 @@ return 0; err_get_fw: + usb_put_dev(udev); lbs_remove_card(priv); err_add_card: if_usb_reset_device(cardp); @@ -636,7 +637,7 @@ priv->resp_len[i] = (recvlength - MESSAGE_HEADER_LEN); memcpy(priv->resp_buf[i], recvbuff + MESSAGE_HEADER_LEN, priv->resp_len[i]); - kfree_skb(skb); + dev_kfree_skb_irq(skb); lbs_notify_command_response(priv, i); spin_unlock_irqrestore(&priv->driver_lock, flags); --- linux-gcp-5.19.0.orig/drivers/net/wireless/marvell/libertas/main.c +++ linux-gcp-5.19.0/drivers/net/wireless/marvell/libertas/main.c @@ -217,7 +217,7 @@ spin_lock_irqsave(&priv->driver_lock, flags); priv->iface_running = false; - kfree_skb(priv->currenttxskb); + dev_kfree_skb_irq(priv->currenttxskb); priv->currenttxskb = NULL; priv->tx_pending_len = 0; spin_unlock_irqrestore(&priv->driver_lock, flags); @@ -870,6 +870,7 @@ ret = kfifo_alloc(&priv->event_fifo, sizeof(u32) * 16, GFP_KERNEL); if (ret) { pr_err("Out of memory allocating event FIFO buffer\n"); + lbs_free_cmd_buffer(priv); goto out; } --- linux-gcp-5.19.0.orig/drivers/net/wireless/marvell/libertas/mesh.c +++ linux-gcp-5.19.0/drivers/net/wireless/marvell/libertas/mesh.c @@ -109,9 +109,9 @@ if (priv->mesh_dev) { mesh_wdev = priv->mesh_dev->ieee80211_ptr; - ie->val.mesh_id_len = mesh_wdev->mesh_id_up_len; - memcpy(ie->val.mesh_id, mesh_wdev->ssid, - mesh_wdev->mesh_id_up_len); + ie->val.mesh_id_len = mesh_wdev->u.mesh.id_up_len; + memcpy(ie->val.mesh_id, mesh_wdev->u.mesh.id, + mesh_wdev->u.mesh.id_up_len); } ie->len = sizeof(struct mrvl_meshie_val) - @@ -986,8 +986,8 @@ mesh_wdev->wiphy = priv->wdev->wiphy; if (priv->mesh_tlv) { - sprintf(mesh_wdev->ssid, "mesh"); - mesh_wdev->mesh_id_up_len = 4; + sprintf(mesh_wdev->u.mesh.id, "mesh"); + mesh_wdev->u.mesh.id_up_len = 4; } mesh_wdev->netdev = mesh_dev; --- linux-gcp-5.19.0.orig/drivers/net/wireless/marvell/libertas_tf/if_usb.c +++ linux-gcp-5.19.0/drivers/net/wireless/marvell/libertas_tf/if_usb.c @@ -613,7 +613,7 @@ spin_lock_irqsave(&priv->driver_lock, flags); memcpy(priv->cmd_resp_buff, recvbuff + MESSAGE_HEADER_LEN, recvlength - MESSAGE_HEADER_LEN); - kfree_skb(skb); + dev_kfree_skb_irq(skb); lbtf_cmd_response_rx(priv); spin_unlock_irqrestore(&priv->driver_lock, flags); } --- linux-gcp-5.19.0.orig/drivers/net/wireless/marvell/mwifiex/11h.c +++ linux-gcp-5.19.0/drivers/net/wireless/marvell/mwifiex/11h.c @@ -304,6 +304,6 @@ mwifiex_dbg(priv->adapter, MSG, "indicating channel switch completion to kernel\n"); mutex_lock(&priv->wdev.mtx); - cfg80211_ch_switch_notify(priv->netdev, &priv->dfs_chandef); + cfg80211_ch_switch_notify(priv->netdev, &priv->dfs_chandef, 0); mutex_unlock(&priv->wdev.mtx); } --- linux-gcp-5.19.0.orig/drivers/net/wireless/marvell/mwifiex/11n.c +++ linux-gcp-5.19.0/drivers/net/wireless/marvell/mwifiex/11n.c @@ -890,7 +890,7 @@ */ void mwifiex_update_ampdu_txwinsize(struct mwifiex_adapter *adapter) { - u8 i; + u8 i, j; u32 tx_win_size; struct mwifiex_private *priv; @@ -921,8 +921,8 @@ if (tx_win_size != priv->add_ba_param.tx_win_size) { if (!priv->media_connected) continue; - for (i = 0; i < MAX_NUM_TID; i++) - mwifiex_send_delba_txbastream_tbl(priv, i); + for (j = 0; j < MAX_NUM_TID; j++) + mwifiex_send_delba_txbastream_tbl(priv, j); } } } --- linux-gcp-5.19.0.orig/drivers/net/wireless/marvell/mwifiex/cfg80211.c +++ linux-gcp-5.19.0/drivers/net/wireless/marvell/mwifiex/cfg80211.c @@ -1753,10 +1753,12 @@ * Function configures data rates to firmware using bitrate mask * provided by cfg80211. */ -static int mwifiex_cfg80211_set_bitrate_mask(struct wiphy *wiphy, - struct net_device *dev, - const u8 *peer, - const struct cfg80211_bitrate_mask *mask) +static int +mwifiex_cfg80211_set_bitrate_mask(struct wiphy *wiphy, + struct net_device *dev, + unsigned int link_id, + const u8 *peer, + const struct cfg80211_bitrate_mask *mask) { struct mwifiex_private *priv = mwifiex_netdev_get_priv(dev); u16 bitmap_rates[MAX_BITMAP_RATES_SIZE]; @@ -1998,7 +2000,8 @@ /* cfg80211 operation handler for stop ap. * Function stops BSS running at uAP interface. */ -static int mwifiex_cfg80211_stop_ap(struct wiphy *wiphy, struct net_device *dev) +static int mwifiex_cfg80211_stop_ap(struct wiphy *wiphy, struct net_device *dev, + unsigned int link_id) { struct mwifiex_private *priv = mwifiex_netdev_get_priv(dev); @@ -2421,7 +2424,7 @@ return -EINVAL; } - if (priv->wdev.current_bss) { + if (priv->wdev.connected) { mwifiex_dbg(adapter, ERROR, "%s: already connected\n", dev->name); return -EALREADY; @@ -2649,7 +2652,7 @@ return -EBUSY; } - if (!priv->wdev.current_bss && priv->scan_block) + if (!priv->wdev.connected && priv->scan_block) priv->scan_block = false; if (!mwifiex_stop_bg_scan(priv)) @@ -4025,6 +4028,7 @@ static int mwifiex_cfg80211_get_channel(struct wiphy *wiphy, struct wireless_dev *wdev, + unsigned int link_id, struct cfg80211_chan_def *chandef) { struct mwifiex_private *priv = mwifiex_netdev_get_priv(wdev->netdev); --- linux-gcp-5.19.0.orig/drivers/net/wireless/marvell/mwifiex/fw.h +++ linux-gcp-5.19.0/drivers/net/wireless/marvell/mwifiex/fw.h @@ -217,6 +217,7 @@ #define TLV_TYPE_CHANNEL_STATS (PROPRIETARY_TLV_BASE_ID + 198) #define TLV_BTCOEX_WL_AGGR_WINSIZE (PROPRIETARY_TLV_BASE_ID + 202) #define TLV_BTCOEX_WL_SCANTIME (PROPRIETARY_TLV_BASE_ID + 203) +#define TLV_TYPE_LED_CONTROL (PROPRIETARY_TLV_BASE_ID + 205) #define TLV_TYPE_BSS_MODE (PROPRIETARY_TLV_BASE_ID + 206) #define TLV_TYPE_RANDOM_MAC (PROPRIETARY_TLV_BASE_ID + 236) #define TLV_TYPE_CHAN_ATTR_CFG (PROPRIETARY_TLV_BASE_ID + 237) @@ -364,6 +365,7 @@ #define HostCmd_CMD_802_11_AD_HOC_JOIN 0x002c #define HostCmd_CMD_802_11_AD_HOC_STOP 0x0040 #define HostCmd_CMD_802_11_MAC_ADDRESS 0x004D +#define HostCmd_CMD_802_11_LED_CONTROL 0X004E #define HostCmd_CMD_802_11D_DOMAIN_INFO 0x005b #define HostCmd_CMD_802_11_KEY_MATERIAL 0x005e #define HostCmd_CMD_802_11_BG_SCAN_CONFIG 0x006b @@ -1201,6 +1203,16 @@ u8 oper_mode; } __packed; +struct mwifiex_led_param { + __le16 mode; + __le16 on; +} __packed; + +struct mwifiex_ie_types_led_param { + struct mwifiex_ie_types_header header; + struct mwifiex_led_param led_cfg; +} __packed; + struct host_cmd_ds_802_11_ad_hoc_start { u8 ssid[IEEE80211_MAX_SSID_LEN]; u8 bss_mode; @@ -1324,6 +1336,11 @@ } params; } __packed; +struct host_cmd_ds_802_11_led_control { + __le16 action; + __le16 num_led; +} __packed; + enum SNMP_MIB_INDEX { OP_RATE_SET_I = 1, DTIM_PERIOD_I = 3, @@ -2381,6 +2398,7 @@ struct host_cmd_sdio_sp_rx_aggr_cfg sdio_rx_aggr_cfg; struct host_cmd_ds_multi_chan_policy mc_policy; struct host_cmd_ds_robust_coex coex; + struct host_cmd_ds_802_11_led_control led_cfg; struct host_cmd_ds_wakeup_reason hs_wakeup_reason; struct host_cmd_ds_gtk_rekey_params rekey; struct host_cmd_ds_chan_region_cfg reg_cfg; --- linux-gcp-5.19.0.orig/drivers/net/wireless/marvell/mwifiex/main.c +++ linux-gcp-5.19.0/drivers/net/wireless/marvell/mwifiex/main.c @@ -769,8 +769,10 @@ static int mwifiex_open(struct net_device *dev) { - netif_carrier_off(dev); + struct mwifiex_private *priv = mwifiex_netdev_get_priv(dev); + netif_carrier_off(dev); + mwifiex_set_led(priv->adapter, MWIFIEX_LED_ON); return 0; } @@ -801,6 +803,7 @@ cfg80211_sched_scan_stopped(priv->wdev.wiphy, 0); } + mwifiex_set_led(priv->adapter, MWIFIEX_LED_OFF); return 0; } --- linux-gcp-5.19.0.orig/drivers/net/wireless/marvell/mwifiex/main.h +++ linux-gcp-5.19.0/drivers/net/wireless/marvell/mwifiex/main.h @@ -132,6 +132,10 @@ #define PKT_TYPE_MGMT 0xE5 +#define MWIFIEX_LED_ON 1 +#define MWIFIEX_LED_OFF 0 +#define MWIFIEX_LED_MAX 3 + /* * Do not check for data_received for USB, as data_received * is handled in mwifiex_usb_recv for USB @@ -701,6 +705,7 @@ struct mwifiex_user_scan_chan hidden_chan[MWIFIEX_USER_SCAN_CHAN_MAX]; u8 assoc_resp_ht_param; bool ht_param_present; + bool is_edge_gateway; }; @@ -1499,6 +1504,7 @@ struct cmd_ctrl_node *cmd_queued); int mwifiex_bss_start(struct mwifiex_private *priv, struct cfg80211_bss *bss, struct cfg80211_ssid *req_ssid); +int mwifiex_set_led(struct mwifiex_adapter *adapter, int on); int mwifiex_cancel_hs(struct mwifiex_private *priv, int cmd_type); int mwifiex_enable_hs(struct mwifiex_adapter *adapter); int mwifiex_disable_auto_ds(struct mwifiex_private *priv); --- linux-gcp-5.19.0.orig/drivers/net/wireless/marvell/mwifiex/pcie.c +++ linux-gcp-5.19.0/drivers/net/wireless/marvell/mwifiex/pcie.c @@ -380,6 +380,8 @@ const struct pci_device_id *ent) { struct pcie_service_card *card; + struct mwifiex_private *priv; + struct pci_dev *pdev_host; int ret; pr_debug("info: vendor=0x%4.04X device=0x%4.04X rev=%d\n", @@ -421,6 +423,14 @@ return -1; } + priv = mwifiex_get_priv(card->adapter, MWIFIEX_BSS_ROLE_STA); + pdev_host = pci_get_subsys(PCI_ANY_ID, PCI_ANY_ID, 0x1028, 0x0720, NULL); + if (!pdev_host) + pdev_host = pci_get_subsys(PCI_ANY_ID, PCI_ANY_ID, 0x1028, 0x0733, NULL); + if (pdev_host) { + priv->is_edge_gateway = true; + pci_dev_put(pdev_host); + } return 0; } --- linux-gcp-5.19.0.orig/drivers/net/wireless/marvell/mwifiex/sdio.c +++ linux-gcp-5.19.0/drivers/net/wireless/marvell/mwifiex/sdio.c @@ -492,6 +492,7 @@ }; static const struct of_device_id mwifiex_sdio_of_match_table[] = { + { .compatible = "marvell,sd8787" }, { .compatible = "marvell,sd8897" }, { .compatible = "marvell,sd8997" }, { } --- linux-gcp-5.19.0.orig/drivers/net/wireless/marvell/mwifiex/sta_cmd.c +++ linux-gcp-5.19.0/drivers/net/wireless/marvell/mwifiex/sta_cmd.c @@ -428,6 +428,31 @@ return 0; } +static int mwifiex_cmd_802_11_led_cfg(struct mwifiex_private *priv, + struct host_cmd_ds_command *cmd, + u16 cmd_action, + struct mwifiex_led_param *ledcfg_param) +{ + struct host_cmd_ds_802_11_led_control *led_cfg = &cmd->params.led_cfg; + struct mwifiex_ie_types_led_param *led_tlv; + u8 *pos; + + cmd->command = cpu_to_le16(HostCmd_CMD_802_11_LED_CONTROL); + cmd->size = cpu_to_le16(S_DS_GEN); + le16_add_cpu(&cmd->size, sizeof(struct host_cmd_ds_802_11_led_control)); + + led_cfg->action = cpu_to_le16(cmd_action); + led_cfg->num_led = cpu_to_le16(MWIFIEX_LED_MAX); + + pos = (u8 *)led_cfg + sizeof(struct host_cmd_ds_802_11_led_control); + led_tlv = (void *)pos; + led_tlv->header.type = cpu_to_le16(TLV_TYPE_LED_CONTROL); + led_tlv->header.len = cpu_to_le16(sizeof(struct mwifiex_led_param)); + memcpy(&led_tlv->led_cfg, ledcfg_param, sizeof(struct mwifiex_led_param)); + le16_add_cpu(&cmd->size, sizeof(struct mwifiex_ie_types_led_param)); + return 0; +} + /* * This function prepares command to set/get MAC address. * @@ -1997,6 +2022,10 @@ ret = mwifiex_cmd_802_11_hs_cfg(priv, cmd_ptr, cmd_action, (struct mwifiex_hs_config_param *) data_buf); break; + case HostCmd_CMD_802_11_LED_CONTROL: + ret = mwifiex_cmd_802_11_led_cfg(priv, cmd_ptr, cmd_action, + data_buf); + break; case HostCmd_CMD_802_11_SCAN: ret = mwifiex_cmd_802_11_scan(cmd_ptr, data_buf); break; --- linux-gcp-5.19.0.orig/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c +++ linux-gcp-5.19.0/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c @@ -1434,6 +1434,8 @@ case HostCmd_CMD_ROBUST_COEX: ret = mwifiex_ret_robust_coex(priv, resp, data_buf); break; + case HostCmd_CMD_802_11_LED_CONTROL: + break; case HostCmd_CMD_GTK_REKEY_OFFLOAD_CFG: break; case HostCmd_CMD_CHAN_REGION_CFG: --- linux-gcp-5.19.0.orig/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c +++ linux-gcp-5.19.0/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c @@ -570,6 +570,24 @@ } EXPORT_SYMBOL_GPL(mwifiex_enable_hs); +int mwifiex_set_led(struct mwifiex_adapter *adapter, int on) +{ + struct mwifiex_private *priv; + struct mwifiex_led_param ledcfg; + + priv = mwifiex_get_priv(adapter, MWIFIEX_BSS_ROLE_STA); + if (!priv->is_edge_gateway) + return -ENODEV; + + memset(&ledcfg, 0, sizeof(struct mwifiex_led_param)); + ledcfg.on = cpu_to_le16(on); + + return mwifiex_send_cmd(priv, + HostCmd_CMD_802_11_LED_CONTROL, + HostCmd_ACT_GEN_SET, 0, + &ledcfg, true); +} + /* * IOCTL request handler to get BSS information. * --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/dma.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/dma.c @@ -573,6 +573,7 @@ return; spin_lock_bh(&q->lock); + do { buf = mt76_dma_dequeue(dev, q, true, NULL, NULL, &more); if (!buf) @@ -580,6 +581,12 @@ skb_free_frag(buf); } while (1); + + if (q->rx_head) { + dev_kfree_skb(q->rx_head); + q->rx_head = NULL; + } + spin_unlock_bh(&q->lock); if (!q->rx_page.va) @@ -605,12 +612,6 @@ mt76_dma_rx_cleanup(dev, q); mt76_dma_sync_idx(dev, q); mt76_dma_rx_fill(dev, q); - - if (!q->rx_head) - return; - - dev_kfree_skb(q->rx_head); - q->rx_head = NULL; } static void --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/eeprom.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/eeprom.c @@ -162,10 +162,13 @@ } if (mt76_string_prop_find(country, dev->alpha2) || - mt76_string_prop_find(regd, region_name)) + mt76_string_prop_find(regd, region_name)) { + of_node_put(np); return cur; + } } + of_node_put(np); return fallback; } --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mac80211.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mac80211.c @@ -178,6 +178,12 @@ { .start_freq = 5350, .end_freq = 5470, }, { .start_freq = 5470, .end_freq = 5725, }, { .start_freq = 5725, .end_freq = 5950, }, + { .start_freq = 5945, .end_freq = 6165, }, + { .start_freq = 6165, .end_freq = 6405, }, + { .start_freq = 6405, .end_freq = 6525, }, + { .start_freq = 6525, .end_freq = 6705, }, + { .start_freq = 6705, .end_freq = 6865, }, + { .start_freq = 6865, .end_freq = 7125, }, }; static const struct cfg80211_sar_capa mt76_sar_capa = { @@ -210,6 +216,7 @@ if (!of_property_read_u32(np, "led-sources", &led_pin)) dev->led_pin = led_pin; dev->led_al = of_property_read_bool(np, "led-active-low"); + of_node_put(np); } return led_classdev_register(dev->dev, &dev->led_cdev); @@ -1459,7 +1466,7 @@ static void __mt76_csa_finish(void *priv, u8 *mac, struct ieee80211_vif *vif) { - if (vif->csa_active && ieee80211_beacon_cntdwn_is_complete(vif)) + if (vif->bss_conf.csa_active && ieee80211_beacon_cntdwn_is_complete(vif)) ieee80211_csa_finish(vif); } @@ -1481,7 +1488,7 @@ { struct mt76_dev *dev = priv; - if (!vif->csa_active) + if (!vif->bss_conf.csa_active) return; dev->csa_complete |= ieee80211_beacon_cntdwn_is_complete(vif); --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt76.h +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt76.h @@ -1102,8 +1102,9 @@ static inline u8 mt76_tx_power_nss_delta(u8 nss) { static const u8 nss_delta[4] = { 0, 6, 9, 12 }; + u8 idx = nss - 1; - return nss_delta[nss - 1]; + return (idx < ARRAY_SIZE(nss_delta)) ? nss_delta[idx] : 0; } static inline bool mt76_testmode_enabled(struct mt76_phy *phy) --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7615/mac.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7615/mac.c @@ -1138,7 +1138,7 @@ offset %= 32; val = mt76_rr(dev, addr); - val >>= (tid % 32); + val >>= offset; if (offset > 20) { addr += 4; @@ -2282,6 +2282,7 @@ int mt7615_dfs_init_radar_detector(struct mt7615_phy *phy) { + struct cfg80211_chan_def *chandef = &phy->mt76->chandef; struct mt7615_dev *dev = phy->dev; bool ext_phy = phy != &dev->phy; enum mt76_dfs_state dfs_state, prev_state; @@ -2292,13 +2293,13 @@ prev_state = phy->mt76->dfs_state; dfs_state = mt76_phy_dfs_state(phy->mt76); + if ((chandef->chan->flags & IEEE80211_CHAN_RADAR) && + dfs_state < MT_DFS_STATE_CAC) + dfs_state = MT_DFS_STATE_ACTIVE; if (prev_state == dfs_state) return 0; - if (prev_state == MT_DFS_STATE_UNKNOWN) - mt7615_dfs_stop_radar_detector(phy); - if (dfs_state == MT_DFS_STATE_DISABLED) goto stop; --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7615/main.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7615/main.c @@ -282,26 +282,6 @@ mt76_packet_id_flush(&dev->mt76, &mvif->sta.wcid); } -static void mt7615_init_dfs_state(struct mt7615_phy *phy) -{ - struct mt76_phy *mphy = phy->mt76; - struct ieee80211_hw *hw = mphy->hw; - struct cfg80211_chan_def *chandef = &hw->conf.chandef; - - if (hw->conf.flags & IEEE80211_CONF_OFFCHANNEL) - return; - - if (!(chandef->chan->flags & IEEE80211_CHAN_RADAR) && - !(mphy->chandef.chan->flags & IEEE80211_CHAN_RADAR)) - return; - - if (mphy->chandef.chan->center_freq == chandef->chan->center_freq && - mphy->chandef.width == chandef->width) - return; - - phy->dfs_state = -1; -} - int mt7615_set_channel(struct mt7615_phy *phy) { struct mt7615_dev *dev = phy->dev; @@ -314,7 +294,6 @@ set_bit(MT76_RESET, &phy->mt76->state); - mt7615_init_dfs_state(phy); mt76_set_channel(phy->mt76); if (is_mt7615(&dev->mt76) && dev->flash_eeprom) { @@ -1215,12 +1194,16 @@ struct mt7615_dev *dev = mt7615_hw_dev(hw); struct mt7615_sta *msta = (struct mt7615_sta *)sta->drv_priv; + mt7615_mutex_acquire(dev); + if (enabled) set_bit(MT_WCID_FLAG_HDR_TRANS, &msta->wcid.flags); else clear_bit(MT_WCID_FLAG_HDR_TRANS, &msta->wcid.flags); mt7615_mcu_set_sta_decap_offload(dev, vif, sta); + + mt7615_mutex_release(dev); } #ifdef CONFIG_PM --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7615/mcu.c @@ -350,10 +350,11 @@ } mt7622_trigger_hif_int(dev, false); - - pm->stats.last_doze_event = jiffies; - pm->stats.awake_time += pm->stats.last_doze_event - - pm->stats.last_wake_event; + if (!err) { + pm->stats.last_doze_event = jiffies; + pm->stats.awake_time += pm->stats.last_doze_event - + pm->stats.last_wake_event; + } out: mutex_unlock(&pm->mutex); @@ -363,7 +364,7 @@ static void mt7615_mcu_csa_finish(void *priv, u8 *mac, struct ieee80211_vif *vif) { - if (vif->csa_active) + if (vif->bss_conf.csa_active) ieee80211_csa_finish(vif); } @@ -402,6 +403,9 @@ if (r->band_idx && dev->mt76.phy2) mphy = dev->mt76.phy2; + if (mt76_phy_dfs_state(mphy) < MT_DFS_STATE_CAC) + return; + ieee80211_radar_detected(mphy->hw); dev->hw_pattern++; } --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h @@ -177,7 +177,6 @@ u8 chfreq; u8 rdd_state; - int dfs_state; u32 rx_ampdu_ts; u32 ampdu_ref; --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt76_connac.h +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt76_connac.h @@ -12,6 +12,8 @@ #define MT76_CONNAC_MAX_SCHED_SCAN_SSID 10 #define MT76_CONNAC_MAX_SCAN_MATCH 16 +#define MT76_CONNAC_MAX_WMM_SETS 4 + #define MT76_CONNAC_COREDUMP_TIMEOUT (HZ / 20) #define MT76_CONNAC_COREDUMP_SZ (1300 * 1024) @@ -244,5 +246,9 @@ struct sk_buff *skb); void mt76_connac_pm_dequeue_skbs(struct mt76_phy *phy, struct mt76_connac_pm *pm); +void mt76_connac2_mac_write_txwi(struct mt76_dev *dev, __le32 *txwi, + struct sk_buff *skb, struct mt76_wcid *wcid, + struct ieee80211_key_conf *key, int pid, + u32 changed); #endif /* __MT76_CONNAC_H */ --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt76_connac2_mac.h +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt76_connac2_mac.h @@ -0,0 +1,167 @@ +/* SPDX-License-Identifier: ISC */ +/* Copyright (C) 2022 MediaTek Inc. */ + +#ifndef __MT76_CONNAC2_MAC_H +#define __MT76_CONNAC2_MAC_H + +enum tx_header_format { + MT_HDR_FORMAT_802_3, + MT_HDR_FORMAT_CMD, + MT_HDR_FORMAT_802_11, + MT_HDR_FORMAT_802_11_EXT, +}; + +enum tx_pkt_type { + MT_TX_TYPE_CT, + MT_TX_TYPE_SF, + MT_TX_TYPE_CMD, + MT_TX_TYPE_FW, +}; + +enum { + MT_CTX0, + MT_HIF0 = 0x0, + + MT_LMAC_AC00 = 0x0, + MT_LMAC_AC01, + MT_LMAC_AC02, + MT_LMAC_AC03, + MT_LMAC_ALTX0 = 0x10, + MT_LMAC_BMC0, + MT_LMAC_BCN0, + MT_LMAC_PSMP0, +}; + +#define MT_TXD_SIZE (8 * 4) +#define MT_SDIO_TXD_SIZE (MT_TXD_SIZE + 8 * 4) +#define MT_SDIO_TAIL_SIZE 8 +#define MT_SDIO_HDR_SIZE 4 +#define MT_USB_TAIL_SIZE 4 + +#define MT_TXD0_Q_IDX GENMASK(31, 25) +#define MT_TXD0_PKT_FMT GENMASK(24, 23) +#define MT_TXD0_ETH_TYPE_OFFSET GENMASK(22, 16) +#define MT_TXD0_TX_BYTES GENMASK(15, 0) + +#define MT_TXD1_LONG_FORMAT BIT(31) +#define MT_TXD1_TGID BIT(30) +#define MT_TXD1_OWN_MAC GENMASK(29, 24) +#define MT_TXD1_AMSDU BIT(23) +#define MT_TXD1_TID GENMASK(22, 20) +#define MT_TXD1_HDR_PAD GENMASK(19, 18) +#define MT_TXD1_HDR_FORMAT GENMASK(17, 16) +#define MT_TXD1_HDR_INFO GENMASK(15, 11) +#define MT_TXD1_ETH_802_3 BIT(15) +#define MT_TXD1_VTA BIT(10) +#define MT_TXD1_WLAN_IDX GENMASK(9, 0) + +#define MT_TXD2_FIX_RATE BIT(31) +#define MT_TXD2_FIXED_RATE BIT(30) +#define MT_TXD2_POWER_OFFSET GENMASK(29, 24) +#define MT_TXD2_MAX_TX_TIME GENMASK(23, 16) +#define MT_TXD2_FRAG GENMASK(15, 14) +#define MT_TXD2_HTC_VLD BIT(13) +#define MT_TXD2_DURATION BIT(12) +#define MT_TXD2_BIP BIT(11) +#define MT_TXD2_MULTICAST BIT(10) +#define MT_TXD2_RTS BIT(9) +#define MT_TXD2_SOUNDING BIT(8) +#define MT_TXD2_NDPA BIT(7) +#define MT_TXD2_NDP BIT(6) +#define MT_TXD2_FRAME_TYPE GENMASK(5, 4) +#define MT_TXD2_SUB_TYPE GENMASK(3, 0) + +#define MT_TXD3_SN_VALID BIT(31) +#define MT_TXD3_PN_VALID BIT(30) +#define MT_TXD3_SW_POWER_MGMT BIT(29) +#define MT_TXD3_BA_DISABLE BIT(28) +#define MT_TXD3_SEQ GENMASK(27, 16) +#define MT_TXD3_REM_TX_COUNT GENMASK(15, 11) +#define MT_TXD3_TX_COUNT GENMASK(10, 6) +#define MT_TXD3_TIMING_MEASURE BIT(5) +#define MT_TXD3_DAS BIT(4) +#define MT_TXD3_EEOSP BIT(3) +#define MT_TXD3_EMRD BIT(2) +#define MT_TXD3_PROTECT_FRAME BIT(1) +#define MT_TXD3_NO_ACK BIT(0) + +#define MT_TXD4_PN_LOW GENMASK(31, 0) + +#define MT_TXD5_PN_HIGH GENMASK(31, 16) +#define MT_TXD5_MD BIT(15) +#define MT_TXD5_ADD_BA BIT(14) +#define MT_TXD5_TX_STATUS_HOST BIT(10) +#define MT_TXD5_TX_STATUS_MCU BIT(9) +#define MT_TXD5_TX_STATUS_FMT BIT(8) +#define MT_TXD5_PID GENMASK(7, 0) + +#define MT_TXD6_TX_IBF BIT(31) +#define MT_TXD6_TX_EBF BIT(30) +#define MT_TXD6_TX_RATE GENMASK(29, 16) +#define MT_TXD6_SGI GENMASK(15, 14) +#define MT_TXD6_HELTF GENMASK(13, 12) +#define MT_TXD6_LDPC BIT(11) +#define MT_TXD6_SPE_ID_IDX BIT(10) +#define MT_TXD6_ANT_ID GENMASK(7, 4) +#define MT_TXD6_DYN_BW BIT(3) +#define MT_TXD6_FIXED_BW BIT(2) +#define MT_TXD6_BW GENMASK(1, 0) + +#define MT_TXD7_TXD_LEN GENMASK(31, 30) +#define MT_TXD7_UDP_TCP_SUM BIT(29) +#define MT_TXD7_IP_SUM BIT(28) +#define MT_TXD7_TYPE GENMASK(21, 20) +#define MT_TXD7_SUB_TYPE GENMASK(19, 16) + +#define MT_TXD7_PSE_FID GENMASK(27, 16) +#define MT_TXD7_SPE_IDX GENMASK(15, 11) +#define MT_TXD7_HW_AMSDU BIT(10) +#define MT_TXD7_TX_TIME GENMASK(9, 0) + +#define MT_TXD8_L_TYPE GENMASK(5, 4) +#define MT_TXD8_L_SUB_TYPE GENMASK(3, 0) + +#define MT_TX_RATE_STBC BIT(13) +#define MT_TX_RATE_NSS GENMASK(12, 10) +#define MT_TX_RATE_MODE GENMASK(9, 6) +#define MT_TX_RATE_SU_EXT_TONE BIT(5) +#define MT_TX_RATE_DCM BIT(4) +/* VHT/HE only use bits 0-3 */ +#define MT_TX_RATE_IDX GENMASK(5, 0) + +#define MT_TXS0_FIXED_RATE BIT(31) +#define MT_TXS0_BW GENMASK(30, 29) +#define MT_TXS0_TID GENMASK(28, 26) +#define MT_TXS0_AMPDU BIT(25) +#define MT_TXS0_TXS_FORMAT GENMASK(24, 23) +#define MT_TXS0_BA_ERROR BIT(22) +#define MT_TXS0_PS_FLAG BIT(21) +#define MT_TXS0_TXOP_TIMEOUT BIT(20) +#define MT_TXS0_BIP_ERROR BIT(19) + +#define MT_TXS0_QUEUE_TIMEOUT BIT(18) +#define MT_TXS0_RTS_TIMEOUT BIT(17) +#define MT_TXS0_ACK_TIMEOUT BIT(16) +#define MT_TXS0_ACK_ERROR_MASK GENMASK(18, 16) + +#define MT_TXS0_TX_STATUS_HOST BIT(15) +#define MT_TXS0_TX_STATUS_MCU BIT(14) +#define MT_TXS0_TX_RATE GENMASK(13, 0) + +#define MT_TXS1_SEQNO GENMASK(31, 20) +#define MT_TXS1_RESP_RATE GENMASK(19, 16) +#define MT_TXS1_RXV_SEQNO GENMASK(15, 8) +#define MT_TXS1_TX_POWER_DBM GENMASK(7, 0) + +#define MT_TXS2_BF_STATUS GENMASK(31, 30) +#define MT_TXS2_LAST_TX_RATE GENMASK(29, 27) +#define MT_TXS2_SHARED_ANTENNA BIT(26) +#define MT_TXS2_WCID GENMASK(25, 16) +#define MT_TXS2_TX_DELAY GENMASK(15, 0) + +#define MT_TXS3_PID GENMASK(31, 24) +#define MT_TXS3_ANT_ID GENMASK(23, 0) + +#define MT_TXS4_TIMESTAMP GENMASK(31, 0) + +#endif /* __MT76_CONNAC2_MAC_H */ --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt76_connac_mac.c @@ -2,6 +2,7 @@ /* Copyright (C) 2020 MediaTek Inc. */ #include "mt76_connac.h" +#include "mt76_connac2_mac.h" int mt76_connac_pm_wake(struct mt76_phy *phy, struct mt76_connac_pm *pm) { @@ -115,3 +116,286 @@ mt76_worker_schedule(&phy->dev->tx_worker); } EXPORT_SYMBOL_GPL(mt76_connac_pm_dequeue_skbs); + +static u16 +mt76_connac2_mac_tx_rate_val(struct mt76_phy *mphy, struct ieee80211_vif *vif, + bool beacon, bool mcast) +{ + u8 mode = 0, band = mphy->chandef.chan->band; + int rateidx = 0, mcast_rate; + + if (!vif) + goto legacy; + + if (is_mt7921(mphy->dev)) { + rateidx = ffs(vif->bss_conf.basic_rates) - 1; + goto legacy; + } + + if (beacon) { + struct cfg80211_bitrate_mask *mask; + + mask = &vif->bss_conf.beacon_tx_rate; + if (hweight16(mask->control[band].he_mcs[0]) == 1) { + rateidx = ffs(mask->control[band].he_mcs[0]) - 1; + mode = MT_PHY_TYPE_HE_SU; + goto out; + } else if (hweight16(mask->control[band].vht_mcs[0]) == 1) { + rateidx = ffs(mask->control[band].vht_mcs[0]) - 1; + mode = MT_PHY_TYPE_VHT; + goto out; + } else if (hweight8(mask->control[band].ht_mcs[0]) == 1) { + rateidx = ffs(mask->control[band].ht_mcs[0]) - 1; + mode = MT_PHY_TYPE_HT; + goto out; + } else if (hweight32(mask->control[band].legacy) == 1) { + rateidx = ffs(mask->control[band].legacy) - 1; + goto legacy; + } + } + + mcast_rate = vif->bss_conf.mcast_rate[band]; + if (mcast && mcast_rate > 0) + rateidx = mcast_rate - 1; + else + rateidx = ffs(vif->bss_conf.basic_rates) - 1; + +legacy: + rateidx = mt76_calculate_default_rate(mphy, rateidx); + mode = rateidx >> 8; + rateidx &= GENMASK(7, 0); + +out: + return FIELD_PREP(MT_TX_RATE_IDX, rateidx) | + FIELD_PREP(MT_TX_RATE_MODE, mode); +} + +static void +mt76_connac2_mac_write_txwi_8023(__le32 *txwi, struct sk_buff *skb, + struct mt76_wcid *wcid) +{ + u8 tid = skb->priority & IEEE80211_QOS_CTL_TID_MASK; + u8 fc_type, fc_stype; + u16 ethertype; + bool wmm = false; + u32 val; + + if (wcid->sta) { + struct ieee80211_sta *sta; + + sta = container_of((void *)wcid, struct ieee80211_sta, drv_priv); + wmm = sta->wme; + } + + val = FIELD_PREP(MT_TXD1_HDR_FORMAT, MT_HDR_FORMAT_802_3) | + FIELD_PREP(MT_TXD1_TID, tid); + + ethertype = get_unaligned_be16(&skb->data[12]); + if (ethertype >= ETH_P_802_3_MIN) + val |= MT_TXD1_ETH_802_3; + + txwi[1] |= cpu_to_le32(val); + + fc_type = IEEE80211_FTYPE_DATA >> 2; + fc_stype = wmm ? IEEE80211_STYPE_QOS_DATA >> 4 : 0; + + val = FIELD_PREP(MT_TXD2_FRAME_TYPE, fc_type) | + FIELD_PREP(MT_TXD2_SUB_TYPE, fc_stype); + + txwi[2] |= cpu_to_le32(val); + + val = FIELD_PREP(MT_TXD7_TYPE, fc_type) | + FIELD_PREP(MT_TXD7_SUB_TYPE, fc_stype); + + txwi[7] |= cpu_to_le32(val); +} + +static void +mt76_connac2_mac_write_txwi_80211(struct mt76_dev *dev, __le32 *txwi, + struct sk_buff *skb, + struct ieee80211_key_conf *key) +{ + struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; + struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)skb->data; + struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); + bool multicast = is_multicast_ether_addr(hdr->addr1); + u8 tid = skb->priority & IEEE80211_QOS_CTL_TID_MASK; + __le16 fc = hdr->frame_control; + u8 fc_type, fc_stype; + u32 val; + + if (ieee80211_is_action(fc) && + mgmt->u.action.category == WLAN_CATEGORY_BACK && + mgmt->u.action.u.addba_req.action_code == WLAN_ACTION_ADDBA_REQ) { + u16 capab = le16_to_cpu(mgmt->u.action.u.addba_req.capab); + + txwi[5] |= cpu_to_le32(MT_TXD5_ADD_BA); + tid = (capab >> 2) & IEEE80211_QOS_CTL_TID_MASK; + } else if (ieee80211_is_back_req(hdr->frame_control)) { + struct ieee80211_bar *bar = (struct ieee80211_bar *)hdr; + u16 control = le16_to_cpu(bar->control); + + tid = FIELD_GET(IEEE80211_BAR_CTRL_TID_INFO_MASK, control); + } + + val = FIELD_PREP(MT_TXD1_HDR_FORMAT, MT_HDR_FORMAT_802_11) | + FIELD_PREP(MT_TXD1_HDR_INFO, + ieee80211_get_hdrlen_from_skb(skb) / 2) | + FIELD_PREP(MT_TXD1_TID, tid); + + txwi[1] |= cpu_to_le32(val); + + fc_type = (le16_to_cpu(fc) & IEEE80211_FCTL_FTYPE) >> 2; + fc_stype = (le16_to_cpu(fc) & IEEE80211_FCTL_STYPE) >> 4; + + val = FIELD_PREP(MT_TXD2_FRAME_TYPE, fc_type) | + FIELD_PREP(MT_TXD2_SUB_TYPE, fc_stype) | + FIELD_PREP(MT_TXD2_MULTICAST, multicast); + + if (key && multicast && ieee80211_is_robust_mgmt_frame(skb) && + key->cipher == WLAN_CIPHER_SUITE_AES_CMAC) { + val |= MT_TXD2_BIP; + txwi[3] &= ~cpu_to_le32(MT_TXD3_PROTECT_FRAME); + } + + if (!ieee80211_is_data(fc) || multicast || + info->flags & IEEE80211_TX_CTL_USE_MINRATE) + val |= MT_TXD2_FIX_RATE; + + txwi[2] |= cpu_to_le32(val); + + if (ieee80211_is_beacon(fc)) { + txwi[3] &= ~cpu_to_le32(MT_TXD3_SW_POWER_MGMT); + txwi[3] |= cpu_to_le32(MT_TXD3_REM_TX_COUNT); + if (!is_mt7921(dev)) + txwi[7] |= cpu_to_le32(FIELD_PREP(MT_TXD7_SPE_IDX, + 0x18)); + } + + if (info->flags & IEEE80211_TX_CTL_INJECTED) { + u16 seqno = le16_to_cpu(hdr->seq_ctrl); + + if (ieee80211_is_back_req(hdr->frame_control)) { + struct ieee80211_bar *bar; + + bar = (struct ieee80211_bar *)skb->data; + seqno = le16_to_cpu(bar->start_seq_num); + } + + val = MT_TXD3_SN_VALID | + FIELD_PREP(MT_TXD3_SEQ, IEEE80211_SEQ_TO_SN(seqno)); + txwi[3] |= cpu_to_le32(val); + txwi[7] &= ~cpu_to_le32(MT_TXD7_HW_AMSDU); + } + + if (mt76_is_mmio(dev)) { + val = FIELD_PREP(MT_TXD7_TYPE, fc_type) | + FIELD_PREP(MT_TXD7_SUB_TYPE, fc_stype); + txwi[7] |= cpu_to_le32(val); + } else { + val = FIELD_PREP(MT_TXD8_L_TYPE, fc_type) | + FIELD_PREP(MT_TXD8_L_SUB_TYPE, fc_stype); + txwi[8] |= cpu_to_le32(val); + } +} + +void mt76_connac2_mac_write_txwi(struct mt76_dev *dev, __le32 *txwi, + struct sk_buff *skb, struct mt76_wcid *wcid, + struct ieee80211_key_conf *key, int pid, + u32 changed) +{ + struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); + bool ext_phy = info->hw_queue & MT_TX_HW_QUEUE_EXT_PHY; + struct ieee80211_vif *vif = info->control.vif; + struct mt76_phy *mphy = &dev->phy; + u8 p_fmt, q_idx, omac_idx = 0, wmm_idx = 0, band_idx = 0; + u32 val, sz_txd = mt76_is_mmio(dev) ? MT_TXD_SIZE : MT_SDIO_TXD_SIZE; + bool is_8023 = info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP; + bool beacon = !!(changed & (BSS_CHANGED_BEACON | + BSS_CHANGED_BEACON_ENABLED)); + bool inband_disc = !!(changed & (BSS_CHANGED_UNSOL_BCAST_PROBE_RESP | + BSS_CHANGED_FILS_DISCOVERY)); + + if (vif) { + struct mt76_vif *mvif = (struct mt76_vif *)vif->drv_priv; + + omac_idx = mvif->omac_idx; + wmm_idx = mvif->wmm_idx; + band_idx = mvif->band_idx; + } + + if (ext_phy && dev->phy2) + mphy = dev->phy2; + + if (inband_disc) { + p_fmt = MT_TX_TYPE_FW; + q_idx = MT_LMAC_ALTX0; + } else if (beacon) { + p_fmt = MT_TX_TYPE_FW; + q_idx = MT_LMAC_BCN0; + } else if (skb_get_queue_mapping(skb) >= MT_TXQ_PSD) { + p_fmt = mt76_is_mmio(dev) ? MT_TX_TYPE_CT : MT_TX_TYPE_SF; + q_idx = MT_LMAC_ALTX0; + } else { + p_fmt = mt76_is_mmio(dev) ? MT_TX_TYPE_CT : MT_TX_TYPE_SF; + q_idx = wmm_idx * MT76_CONNAC_MAX_WMM_SETS + + mt76_connac_lmac_mapping(skb_get_queue_mapping(skb)); + } + + val = FIELD_PREP(MT_TXD0_TX_BYTES, skb->len + sz_txd) | + FIELD_PREP(MT_TXD0_PKT_FMT, p_fmt) | + FIELD_PREP(MT_TXD0_Q_IDX, q_idx); + txwi[0] = cpu_to_le32(val); + + val = MT_TXD1_LONG_FORMAT | + FIELD_PREP(MT_TXD1_WLAN_IDX, wcid->idx) | + FIELD_PREP(MT_TXD1_OWN_MAC, omac_idx); + if (!is_mt7921(dev)) + val |= MT_TXD1_VTA; + if (ext_phy || band_idx) + val |= MT_TXD1_TGID; + + txwi[1] = cpu_to_le32(val); + txwi[2] = 0; + + val = FIELD_PREP(MT_TXD3_REM_TX_COUNT, 15); + if (!is_mt7921(dev)) + val |= MT_TXD3_SW_POWER_MGMT; + if (key) + val |= MT_TXD3_PROTECT_FRAME; + if (info->flags & IEEE80211_TX_CTL_NO_ACK) + val |= MT_TXD3_NO_ACK; + + txwi[3] = cpu_to_le32(val); + txwi[4] = 0; + + val = FIELD_PREP(MT_TXD5_PID, pid); + if (pid >= MT_PACKET_ID_FIRST) + val |= MT_TXD5_TX_STATUS_HOST; + + txwi[5] = cpu_to_le32(val); + txwi[6] = 0; + txwi[7] = wcid->amsdu ? cpu_to_le32(MT_TXD7_HW_AMSDU) : 0; + + if (is_8023) + mt76_connac2_mac_write_txwi_8023(txwi, skb, wcid); + else + mt76_connac2_mac_write_txwi_80211(dev, txwi, skb, key); + + if (txwi[2] & cpu_to_le32(MT_TXD2_FIX_RATE)) { + /* Fixed rata is available just for 802.11 txd */ + struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; + bool multicast = is_multicast_ether_addr(hdr->addr1); + u16 rate = mt76_connac2_mac_tx_rate_val(mphy, vif, beacon, + multicast); + u32 val = MT_TXD6_FIXED_BW; + + /* hardware won't add HTC for mgmt/ctrl frame */ + txwi[2] |= cpu_to_le32(MT_TXD2_HTC_VLD); + + val |= FIELD_PREP(MT_TXD6_TX_RATE, rate); + txwi[6] |= cpu_to_le32(val); + txwi[3] |= cpu_to_le32(MT_TXD3_BA_DISABLE); + } +} +EXPORT_SYMBOL_GPL(mt76_connac2_mac_write_txwi); --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt76_connac_mcu.c @@ -258,8 +258,10 @@ ntlv = le16_to_cpu(ntlv_hdr->tlv_num); ntlv_hdr->tlv_num = cpu_to_le16(ntlv + 1); - if (sta_hdr) - le16_add_cpu(&sta_hdr->len, len); + if (sta_hdr) { + len += le16_to_cpu(sta_hdr->len); + sta_hdr->len = cpu_to_le16(len); + } return ptlv; } @@ -1403,6 +1405,8 @@ else conn_type = CONNECTION_INFRA_AP; basic_req.basic.conn_type = cpu_to_le32(conn_type); + /* Fully active/deactivate BSS network in AP mode only */ + basic_req.basic.active = enable; break; case NL80211_IFTYPE_STATION: if (vif->p2p) --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt76x02_usb_mcu.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt76x02_usb_mcu.c @@ -108,7 +108,7 @@ ret = mt76u_bulk_msg(dev, skb->data, skb->len, NULL, 500, MT_EP_OUT_INBAND_CMD); if (ret) - return ret; + goto out; if (wait_resp) ret = mt76x02u_mcu_wait_resp(dev, seq); --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7915/debugfs.c @@ -23,9 +23,9 @@ { struct mt7915_dev *dev = data; - if (test_bit(MT76_STATE_RUNNING, &dev->mphy.state)) - return -EBUSY; - + /* The existing connected stations shall reconnect to apply + * new implicit txbf configuration. + */ dev->ibf = !!val; return mt7915_mcu_set_txbf(dev, MT_BF_TYPE_UPDATE); @@ -759,7 +759,7 @@ if (val & BIT(map[i].index)) continue; - ctrl = BIT(31) | (map[i].pid << 10) | (map[i].qid << 24); + ctrl = BIT(31) | (map[i].pid << 10) | ((u32)map[i].qid << 24); mt76_wr(dev, MT_FL_Q0_CTRL, ctrl); head = mt76_get_field(dev, MT_FL_Q2_CTRL, @@ -976,7 +976,7 @@ if (ret) return ret; - *val = le32_to_cpu(regval); + *val = regval; return 0; } @@ -985,8 +985,9 @@ mt7915_rf_regval_set(void *data, u64 val) { struct mt7915_dev *dev = data; + u32 val32 = val; - return mt7915_mcu_rf_regval(dev, dev->mt76.debugfs_reg, (u32 *)&val, true); + return mt7915_mcu_rf_regval(dev, dev->mt76.debugfs_reg, &val32, true); } DEFINE_DEBUGFS_ATTRIBUTE(fops_rf_regval, mt7915_rf_regval_get, --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7915/eeprom.c @@ -110,18 +110,23 @@ } else { u8 free_block_num; u32 block_num, i; + u32 eeprom_blk_size = MT7915_EEPROM_BLOCK_SIZE; - mt7915_mcu_get_eeprom_free_block(dev, &free_block_num); - /* efuse info not enough */ + ret = mt7915_mcu_get_eeprom_free_block(dev, &free_block_num); + if (ret < 0) + return ret; + + /* efuse info isn't enough */ if (free_block_num >= 29) return -EINVAL; /* read eeprom data from efuse */ - block_num = DIV_ROUND_UP(eeprom_size, - MT7915_EEPROM_BLOCK_SIZE); - for (i = 0; i < block_num; i++) - mt7915_mcu_get_eeprom(dev, - i * MT7915_EEPROM_BLOCK_SIZE); + block_num = DIV_ROUND_UP(eeprom_size, eeprom_blk_size); + for (i = 0; i < block_num; i++) { + ret = mt7915_mcu_get_eeprom(dev, i * eeprom_blk_size); + if (ret < 0) + return ret; + } } return mt7915_check_eeprom(dev); --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7915/init.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7915/init.c @@ -200,8 +200,7 @@ phy->throttle_temp[0] = 110; phy->throttle_temp[1] = 120; - return mt7915_mcu_set_thermal_throttling(phy, - MT7915_THERMAL_THROTTLE_MAX); + return 0; } static void mt7915_led_set_config(struct led_classdev *led_cdev, --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7915/mac.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7915/mac.c @@ -1009,266 +1009,18 @@ #endif } -static void -mt7915_mac_write_txwi_8023(struct mt7915_dev *dev, __le32 *txwi, - struct sk_buff *skb, struct mt76_wcid *wcid) -{ - - u8 tid = skb->priority & IEEE80211_QOS_CTL_TID_MASK; - u8 fc_type, fc_stype; - u16 ethertype; - bool wmm = false; - u32 val; - - if (wcid->sta) { - struct ieee80211_sta *sta; - - sta = container_of((void *)wcid, struct ieee80211_sta, drv_priv); - wmm = sta->wme; - } - - val = FIELD_PREP(MT_TXD1_HDR_FORMAT, MT_HDR_FORMAT_802_3) | - FIELD_PREP(MT_TXD1_TID, tid); - - ethertype = get_unaligned_be16(&skb->data[12]); - if (ethertype >= ETH_P_802_3_MIN) - val |= MT_TXD1_ETH_802_3; - - txwi[1] |= cpu_to_le32(val); - - fc_type = IEEE80211_FTYPE_DATA >> 2; - fc_stype = wmm ? IEEE80211_STYPE_QOS_DATA >> 4 : 0; - - val = FIELD_PREP(MT_TXD2_FRAME_TYPE, fc_type) | - FIELD_PREP(MT_TXD2_SUB_TYPE, fc_stype); - - txwi[2] |= cpu_to_le32(val); - - val = FIELD_PREP(MT_TXD7_TYPE, fc_type) | - FIELD_PREP(MT_TXD7_SUB_TYPE, fc_stype); - txwi[7] |= cpu_to_le32(val); -} - -static void -mt7915_mac_write_txwi_80211(struct mt7915_dev *dev, __le32 *txwi, - struct sk_buff *skb, struct ieee80211_key_conf *key, - bool *mcast) -{ - struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; - struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)skb->data; - struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); - u8 tid = skb->priority & IEEE80211_QOS_CTL_TID_MASK; - __le16 fc = hdr->frame_control; - u8 fc_type, fc_stype; - u32 val; - - *mcast = is_multicast_ether_addr(hdr->addr1); - - if (ieee80211_is_action(fc) && - mgmt->u.action.category == WLAN_CATEGORY_BACK && - mgmt->u.action.u.addba_req.action_code == WLAN_ACTION_ADDBA_REQ) { - u16 capab = le16_to_cpu(mgmt->u.action.u.addba_req.capab); - - txwi[5] |= cpu_to_le32(MT_TXD5_ADD_BA); - tid = (capab >> 2) & IEEE80211_QOS_CTL_TID_MASK; - } else if (ieee80211_is_back_req(hdr->frame_control)) { - struct ieee80211_bar *bar = (struct ieee80211_bar *)hdr; - u16 control = le16_to_cpu(bar->control); - - tid = FIELD_GET(IEEE80211_BAR_CTRL_TID_INFO_MASK, control); - } - - val = FIELD_PREP(MT_TXD1_HDR_FORMAT, MT_HDR_FORMAT_802_11) | - FIELD_PREP(MT_TXD1_HDR_INFO, - ieee80211_get_hdrlen_from_skb(skb) / 2) | - FIELD_PREP(MT_TXD1_TID, tid); - txwi[1] |= cpu_to_le32(val); - - fc_type = (le16_to_cpu(fc) & IEEE80211_FCTL_FTYPE) >> 2; - fc_stype = (le16_to_cpu(fc) & IEEE80211_FCTL_STYPE) >> 4; - - val = FIELD_PREP(MT_TXD2_FRAME_TYPE, fc_type) | - FIELD_PREP(MT_TXD2_SUB_TYPE, fc_stype) | - FIELD_PREP(MT_TXD2_MULTICAST, *mcast); - - if (key && *mcast && ieee80211_is_robust_mgmt_frame(skb) && - key->cipher == WLAN_CIPHER_SUITE_AES_CMAC) { - val |= MT_TXD2_BIP; - txwi[3] &= ~cpu_to_le32(MT_TXD3_PROTECT_FRAME); - } - - if (!ieee80211_is_data(fc) || *mcast || - info->flags & IEEE80211_TX_CTL_USE_MINRATE) - val |= MT_TXD2_FIX_RATE; - - txwi[2] |= cpu_to_le32(val); - - if (ieee80211_is_beacon(fc)) { - txwi[3] &= ~cpu_to_le32(MT_TXD3_SW_POWER_MGMT); - txwi[3] |= cpu_to_le32(MT_TXD3_REM_TX_COUNT); - txwi[7] |= cpu_to_le32(FIELD_PREP(MT_TXD7_SPE_IDX, 0x18)); - } - - if (info->flags & IEEE80211_TX_CTL_INJECTED) { - u16 seqno = le16_to_cpu(hdr->seq_ctrl); - - if (ieee80211_is_back_req(hdr->frame_control)) { - struct ieee80211_bar *bar; - - bar = (struct ieee80211_bar *)skb->data; - seqno = le16_to_cpu(bar->start_seq_num); - } - - val = MT_TXD3_SN_VALID | - FIELD_PREP(MT_TXD3_SEQ, IEEE80211_SEQ_TO_SN(seqno)); - txwi[3] |= cpu_to_le32(val); - txwi[7] &= ~cpu_to_le32(MT_TXD7_HW_AMSDU); - } - - val = FIELD_PREP(MT_TXD7_TYPE, fc_type) | - FIELD_PREP(MT_TXD7_SUB_TYPE, fc_stype); - txwi[7] |= cpu_to_le32(val); -} - -static u16 -mt7915_mac_tx_rate_val(struct mt76_phy *mphy, struct ieee80211_vif *vif, - bool beacon, bool mcast) -{ - u8 mode = 0, band = mphy->chandef.chan->band; - int rateidx = 0, mcast_rate; - - if (beacon) { - struct cfg80211_bitrate_mask *mask; - - mask = &vif->bss_conf.beacon_tx_rate; - if (hweight16(mask->control[band].he_mcs[0]) == 1) { - rateidx = ffs(mask->control[band].he_mcs[0]) - 1; - mode = MT_PHY_TYPE_HE_SU; - goto out; - } else if (hweight16(mask->control[band].vht_mcs[0]) == 1) { - rateidx = ffs(mask->control[band].vht_mcs[0]) - 1; - mode = MT_PHY_TYPE_VHT; - goto out; - } else if (hweight8(mask->control[band].ht_mcs[0]) == 1) { - rateidx = ffs(mask->control[band].ht_mcs[0]) - 1; - mode = MT_PHY_TYPE_HT; - goto out; - } else if (hweight32(mask->control[band].legacy) == 1) { - rateidx = ffs(mask->control[band].legacy) - 1; - goto legacy; - } - } - - mcast_rate = vif->bss_conf.mcast_rate[band]; - if (mcast && mcast_rate > 0) - rateidx = mcast_rate - 1; - else - rateidx = ffs(vif->bss_conf.basic_rates) - 1; - -legacy: - rateidx = mt76_calculate_default_rate(mphy, rateidx); - mode = rateidx >> 8; - rateidx &= GENMASK(7, 0); - -out: - return FIELD_PREP(MT_TX_RATE_IDX, rateidx) | - FIELD_PREP(MT_TX_RATE_MODE, mode); -} - -void mt7915_mac_write_txwi(struct mt7915_dev *dev, __le32 *txwi, +void mt7915_mac_write_txwi(struct mt76_dev *dev, __le32 *txwi, struct sk_buff *skb, struct mt76_wcid *wcid, int pid, struct ieee80211_key_conf *key, u32 changed) { struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); - struct ieee80211_vif *vif = info->control.vif; - struct mt76_phy *mphy = &dev->mphy; - bool ext_phy = info->hw_queue & MT_TX_HW_QUEUE_EXT_PHY; - u8 p_fmt, q_idx, omac_idx = 0, wmm_idx = 0, band_idx = 0; - bool is_8023 = info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP; - bool mcast = false; - u16 tx_count = 15; - u32 val; - bool beacon = !!(changed & (BSS_CHANGED_BEACON | - BSS_CHANGED_BEACON_ENABLED)); - bool inband_disc = !!(changed & (BSS_CHANGED_UNSOL_BCAST_PROBE_RESP | - BSS_CHANGED_FILS_DISCOVERY)); + struct mt76_phy *mphy = &dev->phy; - if (vif) { - struct mt7915_vif *mvif = (struct mt7915_vif *)vif->drv_priv; + if ((info->hw_queue & MT_TX_HW_QUEUE_EXT_PHY) && dev->phy2) + mphy = dev->phy2; - omac_idx = mvif->mt76.omac_idx; - wmm_idx = mvif->mt76.wmm_idx; - band_idx = mvif->mt76.band_idx; - } - - if (ext_phy && dev->mt76.phy2) - mphy = dev->mt76.phy2; - - if (inband_disc) { - p_fmt = MT_TX_TYPE_FW; - q_idx = MT_LMAC_ALTX0; - } else if (beacon) { - p_fmt = MT_TX_TYPE_FW; - q_idx = MT_LMAC_BCN0; - } else if (skb_get_queue_mapping(skb) >= MT_TXQ_PSD) { - p_fmt = MT_TX_TYPE_CT; - q_idx = MT_LMAC_ALTX0; - } else { - p_fmt = MT_TX_TYPE_CT; - q_idx = wmm_idx * MT7915_MAX_WMM_SETS + - mt76_connac_lmac_mapping(skb_get_queue_mapping(skb)); - } - - val = FIELD_PREP(MT_TXD0_TX_BYTES, skb->len + MT_TXD_SIZE) | - FIELD_PREP(MT_TXD0_PKT_FMT, p_fmt) | - FIELD_PREP(MT_TXD0_Q_IDX, q_idx); - txwi[0] = cpu_to_le32(val); - - val = MT_TXD1_LONG_FORMAT | MT_TXD1_VTA | - FIELD_PREP(MT_TXD1_WLAN_IDX, wcid->idx) | - FIELD_PREP(MT_TXD1_OWN_MAC, omac_idx); - - if (ext_phy || band_idx) - val |= MT_TXD1_TGID; - - txwi[1] = cpu_to_le32(val); - - txwi[2] = 0; - - val = MT_TXD3_SW_POWER_MGMT | - FIELD_PREP(MT_TXD3_REM_TX_COUNT, tx_count); - if (key) - val |= MT_TXD3_PROTECT_FRAME; - if (info->flags & IEEE80211_TX_CTL_NO_ACK) - val |= MT_TXD3_NO_ACK; - - txwi[3] = cpu_to_le32(val); - txwi[4] = 0; - - val = FIELD_PREP(MT_TXD5_PID, pid); - if (pid >= MT_PACKET_ID_FIRST) - val |= MT_TXD5_TX_STATUS_HOST; - txwi[5] = cpu_to_le32(val); + mt76_connac2_mac_write_txwi(dev, txwi, skb, wcid, key, pid, changed); - txwi[6] = 0; - txwi[7] = wcid->amsdu ? cpu_to_le32(MT_TXD7_HW_AMSDU) : 0; - - if (is_8023) - mt7915_mac_write_txwi_8023(dev, txwi, skb, wcid); - else - mt7915_mac_write_txwi_80211(dev, txwi, skb, key, &mcast); - - if (txwi[2] & cpu_to_le32(MT_TXD2_FIX_RATE)) { - u16 rate = mt7915_mac_tx_rate_val(mphy, vif, beacon, mcast); - - /* hardware won't add HTC for mgmt/ctrl frame */ - txwi[2] |= cpu_to_le32(MT_TXD2_HTC_VLD); - - val = MT_TXD6_FIXED_BW | - FIELD_PREP(MT_TXD6_TX_RATE, rate); - txwi[6] |= cpu_to_le32(val); - txwi[3] |= cpu_to_le32(MT_TXD3_BA_DISABLE); - } if (mt76_testmode_enabled(mphy)) mt7915_mac_write_txwi_tm(mphy->priv, txwi, skb); @@ -1315,7 +1067,7 @@ return id; pid = mt76_tx_status_skb_add(mdev, wcid, tx_info->skb); - mt7915_mac_write_txwi(dev, txwi_ptr, tx_info->skb, wcid, pid, key, 0); + mt7915_mac_write_txwi(mdev, txwi_ptr, tx_info->skb, wcid, pid, key, 0); txp = (struct mt7915_txp *)(txwi + MT_TXD_SIZE); for (i = 0; i < nbuf; i++) { @@ -1895,7 +1647,7 @@ FIELD_PREP(MT_TIMEOUT_VAL_CCA, 48); u32 ofdm = FIELD_PREP(MT_TIMEOUT_VAL_PLCP, 60) | FIELD_PREP(MT_TIMEOUT_VAL_CCA, 28); - int offset; + int eifs_ofdm = 360, sifs = 10, offset; bool a_band = !(phy->mt76->chandef.chan->band == NL80211_BAND_2GHZ); if (!test_bit(MT76_STATE_RUNNING, &phy->mt76->state)) @@ -1913,17 +1665,26 @@ reg_offset = FIELD_PREP(MT_TIMEOUT_VAL_PLCP, offset) | FIELD_PREP(MT_TIMEOUT_VAL_CCA, offset); + if (!is_mt7915(&dev->mt76)) { + if (!a_band) { + mt76_wr(dev, MT_TMAC_ICR1(phy->band_idx), + FIELD_PREP(MT_IFS_EIFS_CCK, 314)); + eifs_ofdm = 78; + } else { + eifs_ofdm = 84; + } + } else if (a_band) { + sifs = 16; + } + mt76_wr(dev, MT_TMAC_CDTR(phy->band_idx), cck + reg_offset); mt76_wr(dev, MT_TMAC_ODTR(phy->band_idx), ofdm + reg_offset); mt76_wr(dev, MT_TMAC_ICR0(phy->band_idx), - FIELD_PREP(MT_IFS_EIFS_OFDM, a_band ? 84 : 78) | + FIELD_PREP(MT_IFS_EIFS_OFDM, eifs_ofdm) | FIELD_PREP(MT_IFS_RIFS, 2) | - FIELD_PREP(MT_IFS_SIFS, 10) | + FIELD_PREP(MT_IFS_SIFS, sifs) | FIELD_PREP(MT_IFS_SLOT, phy->slottime)); - mt76_wr(dev, MT_TMAC_ICR1(phy->band_idx), - FIELD_PREP(MT_IFS_EIFS_CCK, 314)); - if (phy->slottime < 20 || a_band) val = MT7915_CFEND_RATE_DEFAULT; else @@ -2309,7 +2070,7 @@ aggr0 = phy->band_idx ? ARRAY_SIZE(dev->mt76.aggr_stats) / 2 : 0; if (is_mt7915(&dev->mt76)) { - for (i = 0, aggr1 = aggr0 + 4; i < 4; i++) { + for (i = 0, aggr1 = aggr0 + 8; i < 4; i++) { val = mt76_rr(dev, MT_MIB_MB_SDR1(phy->band_idx, (i << 4))); mib->ba_miss_cnt += FIELD_GET(MT_MIB_BA_MISS_COUNT_MASK, val); mib->ack_fail_cnt += @@ -2784,8 +2545,9 @@ } flowid = ffs(~msta->twt.flowid_mask) - 1; - le16p_replace_bits(&twt_agrt->req_type, flowid, - IEEE80211_TWT_REQTYPE_FLOWID); + twt_agrt->req_type &= ~cpu_to_le16(IEEE80211_TWT_REQTYPE_FLOWID); + twt_agrt->req_type |= le16_encode_bits(flowid, + IEEE80211_TWT_REQTYPE_FLOWID); table_id = ffs(~dev->twt.table_mask) - 1; exp = FIELD_GET(IEEE80211_TWT_REQTYPE_WAKE_INT_EXP, req_type); @@ -2835,8 +2597,9 @@ unlock: mutex_unlock(&dev->mt76.mutex); out: - le16p_replace_bits(&twt_agrt->req_type, setup_cmd, - IEEE80211_TWT_REQTYPE_SETUP_CMD); + twt_agrt->req_type &= ~cpu_to_le16(IEEE80211_TWT_REQTYPE_SETUP_CMD); + twt_agrt->req_type |= + le16_encode_bits(setup_cmd, IEEE80211_TWT_REQTYPE_SETUP_CMD); twt->control = (twt->control & IEEE80211_TWT_CONTROL_WAKE_DUR_UNIT) | (twt->control & IEEE80211_TWT_CONTROL_RX_DISABLED); } --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7915/mac.h +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7915/mac.h @@ -4,6 +4,8 @@ #ifndef __MT7915_MAC_H #define __MT7915_MAC_H +#include "../mt76_connac2_mac.h" + #define MT_CT_PARSE_LEN 72 #define MT_CT_DMA_BUF_NUM 2 @@ -166,20 +168,6 @@ #define MT_CRXV_FOE_HI GENMASK(6, 0) #define MT_CRXV_FOE_SHIFT 13 -enum tx_header_format { - MT_HDR_FORMAT_802_3, - MT_HDR_FORMAT_CMD, - MT_HDR_FORMAT_802_11, - MT_HDR_FORMAT_802_11_EXT, -}; - -enum tx_pkt_type { - MT_TX_TYPE_CT, - MT_TX_TYPE_SF, - MT_TX_TYPE_CMD, - MT_TX_TYPE_FW, -}; - enum tx_port_idx { MT_TX_PORT_IDX_LMAC, MT_TX_PORT_IDX_MCU @@ -200,97 +188,6 @@ #define MT_CT_INFO_HSR2_TX BIT(4) #define MT_CT_INFO_FROM_HOST BIT(7) -#define MT_TXD_SIZE (8 * 4) - -#define MT_TXD0_Q_IDX GENMASK(31, 25) -#define MT_TXD0_PKT_FMT GENMASK(24, 23) -#define MT_TXD0_ETH_TYPE_OFFSET GENMASK(22, 16) -#define MT_TXD0_TX_BYTES GENMASK(15, 0) - -#define MT_TXD1_LONG_FORMAT BIT(31) -#define MT_TXD1_TGID BIT(30) -#define MT_TXD1_OWN_MAC GENMASK(29, 24) -#define MT_TXD1_AMSDU BIT(23) -#define MT_TXD1_TID GENMASK(22, 20) -#define MT_TXD1_HDR_PAD GENMASK(19, 18) -#define MT_TXD1_HDR_FORMAT GENMASK(17, 16) -#define MT_TXD1_HDR_INFO GENMASK(15, 11) -#define MT_TXD1_ETH_802_3 BIT(15) -#define MT_TXD1_VTA BIT(10) -#define MT_TXD1_WLAN_IDX GENMASK(9, 0) - -#define MT_TXD2_FIX_RATE BIT(31) -#define MT_TXD2_FIXED_RATE BIT(30) -#define MT_TXD2_POWER_OFFSET GENMASK(29, 24) -#define MT_TXD2_MAX_TX_TIME GENMASK(23, 16) -#define MT_TXD2_FRAG GENMASK(15, 14) -#define MT_TXD2_HTC_VLD BIT(13) -#define MT_TXD2_DURATION BIT(12) -#define MT_TXD2_BIP BIT(11) -#define MT_TXD2_MULTICAST BIT(10) -#define MT_TXD2_RTS BIT(9) -#define MT_TXD2_SOUNDING BIT(8) -#define MT_TXD2_NDPA BIT(7) -#define MT_TXD2_NDP BIT(6) -#define MT_TXD2_FRAME_TYPE GENMASK(5, 4) -#define MT_TXD2_SUB_TYPE GENMASK(3, 0) - -#define MT_TXD3_SN_VALID BIT(31) -#define MT_TXD3_PN_VALID BIT(30) -#define MT_TXD3_SW_POWER_MGMT BIT(29) -#define MT_TXD3_BA_DISABLE BIT(28) -#define MT_TXD3_SEQ GENMASK(27, 16) -#define MT_TXD3_REM_TX_COUNT GENMASK(15, 11) -#define MT_TXD3_TX_COUNT GENMASK(10, 6) -#define MT_TXD3_TIMING_MEASURE BIT(5) -#define MT_TXD3_DAS BIT(4) -#define MT_TXD3_EEOSP BIT(3) -#define MT_TXD3_EMRD BIT(2) -#define MT_TXD3_PROTECT_FRAME BIT(1) -#define MT_TXD3_NO_ACK BIT(0) - -#define MT_TXD4_PN_LOW GENMASK(31, 0) - -#define MT_TXD5_PN_HIGH GENMASK(31, 16) -#define MT_TXD5_MD BIT(15) -#define MT_TXD5_ADD_BA BIT(14) -#define MT_TXD5_TX_STATUS_HOST BIT(10) -#define MT_TXD5_TX_STATUS_MCU BIT(9) -#define MT_TXD5_TX_STATUS_FMT BIT(8) -#define MT_TXD5_PID GENMASK(7, 0) - -#define MT_TXD6_TX_IBF BIT(31) -#define MT_TXD6_TX_EBF BIT(30) -#define MT_TXD6_TX_RATE GENMASK(29, 16) -#define MT_TXD6_SGI GENMASK(15, 14) -#define MT_TXD6_HELTF GENMASK(13, 12) -#define MT_TXD6_LDPC BIT(11) -#define MT_TXD6_SPE_ID_IDX BIT(10) -#define MT_TXD6_ANT_ID GENMASK(7, 4) -#define MT_TXD6_DYN_BW BIT(3) -#define MT_TXD6_FIXED_BW BIT(2) -#define MT_TXD6_BW GENMASK(1, 0) - -#define MT_TXD7_TXD_LEN GENMASK(31, 30) -#define MT_TXD7_UDP_TCP_SUM BIT(29) -#define MT_TXD7_IP_SUM BIT(28) - -#define MT_TXD7_TYPE GENMASK(21, 20) -#define MT_TXD7_SUB_TYPE GENMASK(19, 16) - -#define MT_TXD7_PSE_FID GENMASK(27, 16) -#define MT_TXD7_SPE_IDX GENMASK(15, 11) -#define MT_TXD7_HW_AMSDU BIT(10) -#define MT_TXD7_TX_TIME GENMASK(9, 0) - -#define MT_TX_RATE_STBC BIT(13) -#define MT_TX_RATE_NSS GENMASK(12, 10) -#define MT_TX_RATE_MODE GENMASK(9, 6) -#define MT_TX_RATE_SU_EXT_TONE BIT(5) -#define MT_TX_RATE_DCM BIT(4) -/* VHT/HE only use bits 0-3 */ -#define MT_TX_RATE_IDX GENMASK(5, 0) - #define MT_TXP_MAX_BUF_NUM 6 struct mt7915_txp { @@ -324,41 +221,6 @@ /* will support this field in further revision */ #define MT_TX_FREE_RATE GENMASK(13, 0) -#define MT_TXS0_FIXED_RATE BIT(31) -#define MT_TXS0_BW GENMASK(30, 29) -#define MT_TXS0_TID GENMASK(28, 26) -#define MT_TXS0_AMPDU BIT(25) -#define MT_TXS0_TXS_FORMAT GENMASK(24, 23) -#define MT_TXS0_BA_ERROR BIT(22) -#define MT_TXS0_PS_FLAG BIT(21) -#define MT_TXS0_TXOP_TIMEOUT BIT(20) -#define MT_TXS0_BIP_ERROR BIT(19) - -#define MT_TXS0_QUEUE_TIMEOUT BIT(18) -#define MT_TXS0_RTS_TIMEOUT BIT(17) -#define MT_TXS0_ACK_TIMEOUT BIT(16) -#define MT_TXS0_ACK_ERROR_MASK GENMASK(18, 16) - -#define MT_TXS0_TX_STATUS_HOST BIT(15) -#define MT_TXS0_TX_STATUS_MCU BIT(14) -#define MT_TXS0_TX_RATE GENMASK(13, 0) - -#define MT_TXS1_SEQNO GENMASK(31, 20) -#define MT_TXS1_RESP_RATE GENMASK(19, 16) -#define MT_TXS1_RXV_SEQNO GENMASK(15, 8) -#define MT_TXS1_TX_POWER_DBM GENMASK(7, 0) - -#define MT_TXS2_BF_STATUS GENMASK(31, 30) -#define MT_TXS2_LAST_TX_RATE GENMASK(29, 27) -#define MT_TXS2_SHARED_ANTENNA BIT(26) -#define MT_TXS2_WCID GENMASK(25, 16) -#define MT_TXS2_TX_DELAY GENMASK(15, 0) - -#define MT_TXS3_PID GENMASK(31, 24) -#define MT_TXS3_ANT_ID GENMASK(23, 0) - -#define MT_TXS4_TIMESTAMP GENMASK(31, 0) - #define MT_TXS5_F0_FINAL_MPDU BIT(31) #define MT_TXS5_F0_QOS BIT(30) #define MT_TXS5_F0_TX_COUNT GENMASK(29, 25) --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7915/main.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7915/main.c @@ -57,6 +57,12 @@ mt7915_mac_enable_nf(dev, 1); } + ret = mt7915_mcu_set_thermal_throttling(phy, + MT7915_THERMAL_THROTTLE_MAX); + + if (ret) + goto out; + ret = mt76_connac_mcu_set_rts_thresh(&dev->mt76, 0x92b, phy != &dev->phy); if (ret) --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7915/mcu.c @@ -322,7 +322,7 @@ static void mt7915_mcu_csa_finish(void *priv, u8 *mac, struct ieee80211_vif *vif) { - if (vif->csa_active) + if (vif->bss_conf.csa_active) ieee80211_csa_finish(vif); } @@ -409,7 +409,7 @@ static void mt7915_mcu_cca_finish(void *priv, u8 *mac, struct ieee80211_vif *vif) { - if (!vif->color_change_active) + if (!vif->bss_conf.color_change_active) return; ieee80211_color_change_finish(vif); @@ -1460,7 +1460,7 @@ struct sta_phy phy = {}; int ret, nrates = 0; -#define __sta_phy_bitrate_mask_check(_mcs, _gi, _he) \ +#define __sta_phy_bitrate_mask_check(_mcs, _gi, _ht, _he) \ do { \ u8 i, gi = mask->control[band]._gi; \ gi = (_he) ? gi : gi == NL80211_TXRATE_FORCE_SGI; \ @@ -1473,15 +1473,17 @@ continue; \ nrates += hweight16(mask->control[band]._mcs[i]); \ phy.mcs = ffs(mask->control[band]._mcs[i]) - 1; \ + if (_ht) \ + phy.mcs += 8 * i; \ } \ } while (0) if (sta->deflink.he_cap.has_he) { - __sta_phy_bitrate_mask_check(he_mcs, he_gi, 1); + __sta_phy_bitrate_mask_check(he_mcs, he_gi, 0, 1); } else if (sta->deflink.vht_cap.vht_supported) { - __sta_phy_bitrate_mask_check(vht_mcs, gi, 0); + __sta_phy_bitrate_mask_check(vht_mcs, gi, 0, 0); } else if (sta->deflink.ht_cap.ht_supported) { - __sta_phy_bitrate_mask_check(ht_mcs, gi, 0); + __sta_phy_bitrate_mask_check(ht_mcs, gi, 1, 0); } else { nrates = hweight32(mask->control[band].legacy); phy.mcs = ffs(mask->control[band].legacy) - 1; @@ -1818,7 +1820,7 @@ if (!offs->cntdwn_counter_offs[0]) return; - sub_tag = vif->csa_active ? BSS_INFO_BCN_CSA : BSS_INFO_BCN_BCC; + sub_tag = vif->bss_conf.csa_active ? BSS_INFO_BCN_CSA : BSS_INFO_BCN_BCC; tlv = mt7915_mcu_add_nested_subtlv(rskb, sub_tag, sizeof(*info), &bcn->sub_ntlv, &bcn->len); info = (struct bss_info_bcn_cntdwn *)tlv; @@ -1903,14 +1905,14 @@ if (offs->cntdwn_counter_offs[0]) { u16 offset = offs->cntdwn_counter_offs[0]; - if (vif->csa_active) + if (vif->bss_conf.csa_active) cont->csa_ofs = cpu_to_le16(offset - 4); - if (vif->color_change_active) + if (vif->bss_conf.color_change_active) cont->bcc_ofs = cpu_to_le16(offset - 3); } buf = (u8 *)tlv + sizeof(*cont); - mt7915_mac_write_txwi(dev, (__le32 *)buf, skb, wcid, 0, NULL, + mt7915_mac_write_txwi(&dev->mt76, (__le32 *)buf, skb, wcid, 0, NULL, BSS_CHANGED_BEACON); memcpy(buf + MT_TXD_SIZE, skb->data, skb->len); } @@ -2049,7 +2051,7 @@ buf = (u8 *)tlv + sizeof(*discov); - mt7915_mac_write_txwi(dev, (__le32 *)buf, skb, wcid, 0, NULL, + mt7915_mac_write_txwi(&dev->mt76, (__le32 *)buf, skb, wcid, 0, NULL, changed); memcpy(buf + MT_TXD_SIZE, skb->data, skb->len); @@ -2590,13 +2592,14 @@ __mt76_mcu_restart(&dev->mt76); if (mt7915_firmware_state(dev, false)) { dev_err(dev->mt76.dev, "Failed to exit mcu\n"); - return; + goto out; } mt76_wr(dev, MT_TOP_LPCR_HOST_BAND(0), MT_TOP_LPCR_HOST_FW_OWN); if (dev->hif2) mt76_wr(dev, MT_TOP_LPCR_HOST_BAND(1), MT_TOP_LPCR_HOST_FW_OWN); +out: skb_queue_purge(&dev->mt76.mcu.res_q); } @@ -2685,7 +2688,7 @@ struct edca *e = &req.edca[ac]; e->set = WMM_PARAM_SET; - e->queue = ac + mvif->mt76.wmm_idx * MT7915_MAX_WMM_SETS; + e->queue = ac + mvif->mt76.wmm_idx * MT76_CONNAC_MAX_WMM_SETS; e->aifs = q->aifs; e->txop = cpu_to_le16(q->txop); @@ -3034,8 +3037,9 @@ int ret; u8 *buf; - ret = mt76_mcu_send_and_get_msg(&dev->mt76, MCU_EXT_QUERY(EFUSE_ACCESS), &req, - sizeof(req), true, &skb); + ret = mt76_mcu_send_and_get_msg(&dev->mt76, + MCU_EXT_QUERY(EFUSE_ACCESS), + &req, sizeof(req), true, &skb); if (ret) return ret; @@ -3060,8 +3064,9 @@ struct sk_buff *skb; int ret; - ret = mt76_mcu_send_and_get_msg(&dev->mt76, MCU_EXT_QUERY(EFUSE_FREE_BLOCK), &req, - sizeof(req), true, &skb); + ret = mt76_mcu_send_and_get_msg(&dev->mt76, + MCU_EXT_QUERY(EFUSE_FREE_BLOCK), + &req, sizeof(req), true, &skb); if (ret) return ret; --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7915/mmio.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7915/mmio.c @@ -434,7 +434,7 @@ if (dev_is_pci(dev->mt76.dev) && ((addr >= MT_CBTOP1_PHY_START && addr <= MT_CBTOP1_PHY_END) || - (addr >= MT_CBTOP2_PHY_START && addr <= MT_CBTOP2_PHY_END))) + addr >= MT_CBTOP2_PHY_START)) return mt7915_reg_map_l1(dev, addr); /* CONN_INFRA: covert to phyiscal addr and use layer 1 remap */ --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h @@ -10,7 +10,6 @@ #include "regs.h" #define MT7915_MAX_INTERFACES 19 -#define MT7915_MAX_WMM_SETS 4 #define MT7915_WTBL_SIZE 288 #define MT7916_WTBL_SIZE 544 #define MT7915_WTBL_RESERVED (mt7915_wtbl_size(dev) - 1) @@ -342,20 +341,6 @@ }; enum { - MT_CTX0, - MT_HIF0 = 0x0, - - MT_LMAC_AC00 = 0x0, - MT_LMAC_AC01, - MT_LMAC_AC02, - MT_LMAC_AC03, - MT_LMAC_ALTX0 = 0x10, - MT_LMAC_BMC0, - MT_LMAC_BCN0, - MT_LMAC_PSMP0, -}; - -enum { MT_RX_SEL0, MT_RX_SEL1, MT_RX_SEL2, /* monitor chain */ @@ -557,7 +542,7 @@ void mt7915_mac_reset_counters(struct mt7915_phy *phy); void mt7915_mac_cca_stats_reset(struct mt7915_phy *phy); void mt7915_mac_enable_nf(struct mt7915_dev *dev, bool ext_phy); -void mt7915_mac_write_txwi(struct mt7915_dev *dev, __le32 *txwi, +void mt7915_mac_write_txwi(struct mt76_dev *dev, __le32 *txwi, struct sk_buff *skb, struct mt76_wcid *wcid, int pid, struct ieee80211_key_conf *key, u32 changed); void mt7915_mac_set_timing(struct mt7915_phy *phy); --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7915/pci.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7915/pci.c @@ -65,10 +65,17 @@ static struct mt7915_hif *mt7915_pci_init_hif2(struct pci_dev *pdev) { + struct pci_dev *tmp_pdev; + hif_idx++; - if (!pci_get_device(PCI_VENDOR_ID_MEDIATEK, 0x7916, NULL) && - !pci_get_device(PCI_VENDOR_ID_MEDIATEK, 0x790a, NULL)) - return NULL; + + tmp_pdev = pci_get_device(PCI_VENDOR_ID_MEDIATEK, 0x7916, NULL); + if (!tmp_pdev) { + tmp_pdev = pci_get_device(PCI_VENDOR_ID_MEDIATEK, 0x790a, NULL); + if (!tmp_pdev) + return NULL; + } + pci_dev_put(tmp_pdev); writel(hif_idx | MT_PCIE_RECOG_ID_SEM, pcim_iomap_table(pdev)[0] + MT_PCIE_RECOG_ID); --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7915/regs.h +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7915/regs.h @@ -742,7 +742,6 @@ #define MT_CBTOP1_PHY_START 0x70000000 #define MT_CBTOP1_PHY_END __REG(CBTOP1_PHY_END) #define MT_CBTOP2_PHY_START 0xf0000000 -#define MT_CBTOP2_PHY_END 0xffffffff #define MT_INFRA_MCU_START 0x7c000000 #define MT_INFRA_MCU_END __REG(INFRA_MCU_ADDR_END) #define MT_CONN_INFRA_OFFSET(p) ((p) - MT_INFRA_BASE) --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7915/soc.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7915/soc.c @@ -278,6 +278,7 @@ return -EINVAL; rmem = of_reserved_mem_lookup(np); + of_node_put(np); if (!rmem) return -EINVAL; --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7915/testmode.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7915/testmode.c @@ -168,13 +168,14 @@ } static int -mt7915_tm_set_wmm_qid(struct mt7915_dev *dev, u8 qid, u8 aifs, u8 cw_min, +mt7915_tm_set_wmm_qid(struct mt7915_phy *phy, u8 qid, u8 aifs, u8 cw_min, u16 cw_max, u16 txop) { + struct mt7915_vif *mvif = (struct mt7915_vif *)phy->monitor_vif->drv_priv; struct mt7915_mcu_tx req = { .total = 1 }; struct edca *e = &req.edca[0]; - e->queue = qid; + e->queue = qid + mvif->mt76.wmm_idx * MT76_CONNAC_MAX_WMM_SETS; e->set = WMM_PARAM_SET; e->aifs = aifs; @@ -182,7 +183,7 @@ e->cw_max = cpu_to_le16(cw_max); e->txop = cpu_to_le16(txop); - return mt7915_mcu_update_edca(dev, &req); + return mt7915_mcu_update_edca(phy->dev, &req); } static int @@ -244,7 +245,7 @@ mt7915_tm_set_slot_time(phy, slot_time, sifs); - return mt7915_tm_set_wmm_qid(dev, + return mt7915_tm_set_wmm_qid(phy, mt76_connac_lmac_mapping(IEEE80211_AC_BE), aifsn, cw, cw, 0); } --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7921/Makefile +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7921/Makefile @@ -9,6 +9,7 @@ mt7921-common-y := mac.o mcu.o main.o init.o debugfs.o trace.o mt7921-common-$(CONFIG_NL80211_TESTMODE) += testmode.o +mt7921-common-$(CONFIG_ACPI) += acpi_sar.o mt7921e-y := pci.o pci_mac.o pci_mcu.o dma.o mt7921s-y := sdio.o sdio_mac.o sdio_mcu.o mt7921u-y := usb.o usb_mac.o --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7921/acpi_sar.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7921/acpi_sar.c @@ -0,0 +1,285 @@ +// SPDX-License-Identifier: ISC +/* Copyright (C) 2022 MediaTek Inc. */ + +#include +#include "mt7921.h" + +static int +mt7921_acpi_read(struct mt7921_dev *dev, u8 *method, u8 **tbl, u32 *len) +{ + struct acpi_buffer buf = { ACPI_ALLOCATE_BUFFER, NULL }; + union acpi_object *sar_root, *sar_unit; + struct mt76_dev *mdev = &dev->mt76; + acpi_handle root, handle; + acpi_status status; + u32 i = 0; + int ret; + + root = ACPI_HANDLE(mdev->dev); + if (!root) + return -EOPNOTSUPP; + + status = acpi_get_handle(root, method, &handle); + if (ACPI_FAILURE(status)) + return -EIO; + + status = acpi_evaluate_object(handle, NULL, NULL, &buf); + if (ACPI_FAILURE(status)) + return -EIO; + + sar_root = buf.pointer; + if (sar_root->type != ACPI_TYPE_PACKAGE || + sar_root->package.count < 4 || + sar_root->package.elements[0].type != ACPI_TYPE_INTEGER) { + dev_err(mdev->dev, "sar cnt = %d\n", + sar_root->package.count); + ret = -EINVAL; + goto free; + } + + if (!*tbl) { + *tbl = devm_kzalloc(mdev->dev, sar_root->package.count, + GFP_KERNEL); + if (!*tbl) { + ret = -ENOMEM; + goto free; + } + } + if (len) + *len = sar_root->package.count; + + for (i = 0; i < sar_root->package.count; i++) { + sar_unit = &sar_root->package.elements[i]; + + if (sar_unit->type != ACPI_TYPE_INTEGER) + break; + *(*tbl + i) = (u8)sar_unit->integer.value; + } + ret = (i == sar_root->package.count) ? 0 : -EINVAL; + +free: + kfree(sar_root); + + return ret; +} + +/* MTCL : Country List Table for 6G band */ +static int +mt7921_asar_acpi_read_mtcl(struct mt7921_dev *dev, u8 **table, u8 *version) +{ + *version = (mt7921_acpi_read(dev, MT7921_ACPI_MTCL, table, NULL) < 0) + ? 1 : 2; + return 0; +} + +/* MTDS : Dynamic SAR Power Table */ +static int +mt7921_asar_acpi_read_mtds(struct mt7921_dev *dev, u8 **table, u8 version) +{ + int len, ret, sarlen, prelen, tblcnt; + bool enable; + + ret = mt7921_acpi_read(dev, MT7921_ACPI_MTDS, table, &len); + if (ret) + return ret; + + /* Table content validation */ + switch (version) { + case 1: + enable = ((struct mt7921_asar_dyn *)*table)->enable; + sarlen = sizeof(struct mt7921_asar_dyn_limit); + prelen = sizeof(struct mt7921_asar_dyn); + break; + case 2: + enable = ((struct mt7921_asar_dyn_v2 *)*table)->enable; + sarlen = sizeof(struct mt7921_asar_dyn_limit_v2); + prelen = sizeof(struct mt7921_asar_dyn_v2); + break; + default: + return -EINVAL; + } + + tblcnt = (len - prelen) / sarlen; + if (!enable || + tblcnt > MT7921_ASAR_MAX_DYN || tblcnt < MT7921_ASAR_MIN_DYN) + ret = -EINVAL; + + return ret; +} + +/* MTGS : Geo SAR Power Table */ +static int +mt7921_asar_acpi_read_mtgs(struct mt7921_dev *dev, u8 **table, u8 version) +{ + int len, ret = 0, sarlen, prelen, tblcnt; + + ret = mt7921_acpi_read(dev, MT7921_ACPI_MTGS, table, &len); + if (ret) + return ret; + + /* Table content validation */ + switch (version) { + case 1: + sarlen = sizeof(struct mt7921_asar_geo_limit); + prelen = sizeof(struct mt7921_asar_geo); + break; + case 2: + sarlen = sizeof(struct mt7921_asar_geo_limit_v2); + prelen = sizeof(struct mt7921_asar_geo_v2); + break; + default: + return -EINVAL; + } + + tblcnt = (len - prelen) / sarlen; + if (tblcnt > MT7921_ASAR_MAX_GEO || tblcnt < MT7921_ASAR_MIN_GEO) + ret = -EINVAL; + + return ret; +} + +int mt7921_init_acpi_sar(struct mt7921_dev *dev) +{ + struct mt7921_acpi_sar *asar; + int ret; + + asar = devm_kzalloc(dev->mt76.dev, sizeof(*asar), GFP_KERNEL); + if (!asar) + return -ENOMEM; + + mt7921_asar_acpi_read_mtcl(dev, (u8 **)&asar->countrylist, &asar->ver); + + /* MTDS is mandatory. Return error if table is invalid */ + ret = mt7921_asar_acpi_read_mtds(dev, (u8 **)&asar->dyn, asar->ver); + if (ret) { + devm_kfree(dev->mt76.dev, asar->dyn); + devm_kfree(dev->mt76.dev, asar->countrylist); + devm_kfree(dev->mt76.dev, asar); + return ret; + } + + /* MTGS is optional */ + ret = mt7921_asar_acpi_read_mtgs(dev, (u8 **)&asar->geo, asar->ver); + if (ret) { + devm_kfree(dev->mt76.dev, asar->geo); + asar->geo = NULL; + } + + dev->phy.acpisar = asar; + + return 0; +} + +static s8 +mt7921_asar_get_geo_pwr(struct mt7921_phy *phy, + enum nl80211_band band, s8 dyn_power) +{ + struct mt7921_acpi_sar *asar = phy->acpisar; + struct mt7921_asar_geo_band *band_pwr; + s8 geo_power; + u8 idx, max; + + if (!asar->geo) + return dyn_power; + + switch (phy->mt76->dev->region) { + case NL80211_DFS_FCC: + idx = 0; + break; + case NL80211_DFS_ETSI: + idx = 1; + break; + default: /* WW */ + idx = 2; + break; + } + + if (asar->ver == 1) { + band_pwr = &asar->geo->tbl[idx].band[0]; + max = ARRAY_SIZE(asar->geo->tbl[idx].band); + } else { + band_pwr = &asar->geo_v2->tbl[idx].band[0]; + max = ARRAY_SIZE(asar->geo_v2->tbl[idx].band); + } + + switch (band) { + case NL80211_BAND_2GHZ: + idx = 0; + break; + case NL80211_BAND_5GHZ: + idx = 1; + break; + case NL80211_BAND_6GHZ: + idx = 2; + break; + default: + return dyn_power; + } + + if (idx >= max) + return dyn_power; + + geo_power = (band_pwr + idx)->pwr; + dyn_power += (band_pwr + idx)->offset; + + return min(geo_power, dyn_power); +} + +static s8 +mt7921_asar_range_pwr(struct mt7921_phy *phy, + const struct cfg80211_sar_freq_ranges *range, + u8 idx) +{ + const struct cfg80211_sar_capa *capa = phy->mt76->hw->wiphy->sar_capa; + struct mt7921_acpi_sar *asar = phy->acpisar; + u8 *limit, band, max; + + if (!capa) + return 127; + + if (asar->ver == 1) { + limit = &asar->dyn->tbl[0].frp[0]; + max = ARRAY_SIZE(asar->dyn->tbl[0].frp); + } else { + limit = &asar->dyn_v2->tbl[0].frp[0]; + max = ARRAY_SIZE(asar->dyn_v2->tbl[0].frp); + } + + if (idx >= max) + return 127; + + if (range->start_freq >= 5945) + band = NL80211_BAND_6GHZ; + else if (range->start_freq >= 5150) + band = NL80211_BAND_5GHZ; + else + band = NL80211_BAND_2GHZ; + + return mt7921_asar_get_geo_pwr(phy, band, limit[idx]); +} + +int mt7921_init_acpi_sar_power(struct mt7921_phy *phy, bool set_default) +{ + const struct cfg80211_sar_capa *capa = phy->mt76->hw->wiphy->sar_capa; + int i; + + if (!phy->acpisar) + return 0; + + /* When ACPI SAR enabled in HW, we should apply rules for .frp + * 1. w/o .sar_specs : set ACPI SAR power as the defatul value + * 2. w/ .sar_specs : set power with min(.sar_specs, ACPI_SAR) + */ + for (i = 0; i < capa->num_freq_ranges; i++) { + struct mt76_freq_range_power *frp = &phy->mt76->frp[i]; + + frp->range = set_default ? &capa->freq_ranges[i] : frp->range; + if (!frp->range) + continue; + + frp->power = min_t(s8, set_default ? 127 : frp->power, + mt7921_asar_range_pwr(phy, frp->range, i)); + } + + return 0; +} --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7921/acpi_sar.h +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7921/acpi_sar.h @@ -0,0 +1,93 @@ +/* SPDX-License-Identifier: ISC */ +/* Copyright (C) 2022 MediaTek Inc. */ + +#ifndef __MT7921_ACPI_SAR_H +#define __MT7921_ACPI_SAR_H + +#define MT7921_ASAR_MIN_DYN 1 +#define MT7921_ASAR_MAX_DYN 8 +#define MT7921_ASAR_MIN_GEO 3 +#define MT7921_ASAR_MAX_GEO 8 + +#define MT7921_ACPI_MTCL "MTCL" +#define MT7921_ACPI_MTDS "MTDS" +#define MT7921_ACPI_MTGS "MTGS" + +struct mt7921_asar_dyn_limit { + u8 idx; + u8 frp[5]; +} __packed; + +struct mt7921_asar_dyn { + u8 names[4]; + u8 enable; + u8 nr_tbl; + struct mt7921_asar_dyn_limit tbl[0]; +} __packed; + +struct mt7921_asar_dyn_limit_v2 { + u8 idx; + u8 frp[11]; +} __packed; + +struct mt7921_asar_dyn_v2 { + u8 names[4]; + u8 enable; + u8 rsvd; + u8 nr_tbl; + struct mt7921_asar_dyn_limit_v2 tbl[0]; +} __packed; + +struct mt7921_asar_geo_band { + u8 pwr; + u8 offset; +} __packed; + +struct mt7921_asar_geo_limit { + u8 idx; + /* 0:2G, 1:5G */ + struct mt7921_asar_geo_band band[2]; +} __packed; + +struct mt7921_asar_geo { + u8 names[4]; + u8 version; + u8 nr_tbl; + struct mt7921_asar_geo_limit tbl[0]; +} __packed; + +struct mt7921_asar_geo_limit_v2 { + u8 idx; + /* 0:2G, 1:5G, 2:6G */ + struct mt7921_asar_geo_band band[3]; +} __packed; + +struct mt7921_asar_geo_v2 { + u8 names[4]; + u8 version; + u8 rsvd; + u8 nr_tbl; + struct mt7921_asar_geo_limit_v2 tbl[0]; +} __packed; + +struct mt7921_asar_cl { + u8 names[4]; + u8 version; + u8 mode_6g; + u8 cl6g[6]; +} __packed; + +struct mt7921_acpi_sar { + u8 ver; + union { + struct mt7921_asar_dyn *dyn; + struct mt7921_asar_dyn_v2 *dyn_v2; + }; + union { + struct mt7921_asar_geo *geo; + struct mt7921_asar_geo_v2 *geo_v2; + }; + struct mt7921_asar_cl *countrylist; +}; + +#endif --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7921/init.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7921/init.c @@ -34,14 +34,13 @@ { struct ieee80211_hw *hw = wiphy_to_ieee80211_hw(wiphy); struct mt7921_dev *dev = mt7921_hw_dev(hw); - struct mt7921_phy *phy = mt7921_hw_phy(hw); memcpy(dev->mt76.alpha2, request->alpha2, sizeof(dev->mt76.alpha2)); dev->mt76.region = request->dfs_region; mt7921_mutex_acquire(dev); mt76_connac_mcu_set_channel_domain(hw->priv); - mt76_connac_mcu_set_rate_txpower(phy->mt76); + mt7921_set_tx_sar_pwr(hw, NULL); mt7921_mutex_release(dev); } @@ -53,8 +52,8 @@ struct wiphy *wiphy = hw->wiphy; hw->queues = 4; - hw->max_rx_aggregation_subframes = 64; - hw->max_tx_aggregation_subframes = 128; + hw->max_rx_aggregation_subframes = IEEE80211_MAX_AMPDU_BUF_HE; + hw->max_tx_aggregation_subframes = IEEE80211_MAX_AMPDU_BUF_HE; hw->netdev_features = NETIF_F_RXCSUM; hw->radiotap_timestamp.units_pos = @@ -289,6 +288,8 @@ if (!mt76_is_mmio(&dev->mt76)) hw->extra_tx_headroom += MT_SDIO_TXD_SIZE + MT_SDIO_HDR_SIZE; + mt7921_init_acpi_sar(dev); + ret = mt7921_init_wcid(dev); if (ret) return ret; @@ -304,7 +305,7 @@ IEEE80211_HT_CAP_LDPC_CODING | IEEE80211_HT_CAP_MAX_AMSDU; dev->mphy.sband_5g.sband.vht_cap.cap |= - IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991 | + IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 | IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK | IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE | IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE | --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7921/mac.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7921/mac.c @@ -808,217 +808,6 @@ return 0; } -static void -mt7921_mac_write_txwi_8023(struct mt7921_dev *dev, __le32 *txwi, - struct sk_buff *skb, struct mt76_wcid *wcid) -{ - u8 tid = skb->priority & IEEE80211_QOS_CTL_TID_MASK; - u8 fc_type, fc_stype; - u16 ethertype; - bool wmm = false; - u32 val; - - if (wcid->sta) { - struct ieee80211_sta *sta; - - sta = container_of((void *)wcid, struct ieee80211_sta, drv_priv); - wmm = sta->wme; - } - - val = FIELD_PREP(MT_TXD1_HDR_FORMAT, MT_HDR_FORMAT_802_3) | - FIELD_PREP(MT_TXD1_TID, tid); - - ethertype = get_unaligned_be16(&skb->data[12]); - if (ethertype >= ETH_P_802_3_MIN) - val |= MT_TXD1_ETH_802_3; - - txwi[1] |= cpu_to_le32(val); - - fc_type = IEEE80211_FTYPE_DATA >> 2; - fc_stype = wmm ? IEEE80211_STYPE_QOS_DATA >> 4 : 0; - - val = FIELD_PREP(MT_TXD2_FRAME_TYPE, fc_type) | - FIELD_PREP(MT_TXD2_SUB_TYPE, fc_stype); - - txwi[2] |= cpu_to_le32(val); - - val = FIELD_PREP(MT_TXD7_TYPE, fc_type) | - FIELD_PREP(MT_TXD7_SUB_TYPE, fc_stype); - txwi[7] |= cpu_to_le32(val); -} - -static void -mt7921_mac_write_txwi_80211(struct mt7921_dev *dev, __le32 *txwi, - struct sk_buff *skb, struct ieee80211_key_conf *key) -{ - struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; - struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)skb->data; - struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); - bool multicast = is_multicast_ether_addr(hdr->addr1); - u8 tid = skb->priority & IEEE80211_QOS_CTL_TID_MASK; - __le16 fc = hdr->frame_control; - u8 fc_type, fc_stype; - u32 val; - - if (ieee80211_is_action(fc) && - mgmt->u.action.category == WLAN_CATEGORY_BACK && - mgmt->u.action.u.addba_req.action_code == WLAN_ACTION_ADDBA_REQ) { - u16 capab = le16_to_cpu(mgmt->u.action.u.addba_req.capab); - - txwi[5] |= cpu_to_le32(MT_TXD5_ADD_BA); - tid = (capab >> 2) & IEEE80211_QOS_CTL_TID_MASK; - } else if (ieee80211_is_back_req(hdr->frame_control)) { - struct ieee80211_bar *bar = (struct ieee80211_bar *)hdr; - u16 control = le16_to_cpu(bar->control); - - tid = FIELD_GET(IEEE80211_BAR_CTRL_TID_INFO_MASK, control); - } - - val = FIELD_PREP(MT_TXD1_HDR_FORMAT, MT_HDR_FORMAT_802_11) | - FIELD_PREP(MT_TXD1_HDR_INFO, - ieee80211_get_hdrlen_from_skb(skb) / 2) | - FIELD_PREP(MT_TXD1_TID, tid); - txwi[1] |= cpu_to_le32(val); - - fc_type = (le16_to_cpu(fc) & IEEE80211_FCTL_FTYPE) >> 2; - fc_stype = (le16_to_cpu(fc) & IEEE80211_FCTL_STYPE) >> 4; - - val = FIELD_PREP(MT_TXD2_FRAME_TYPE, fc_type) | - FIELD_PREP(MT_TXD2_SUB_TYPE, fc_stype) | - FIELD_PREP(MT_TXD2_MULTICAST, multicast); - - if (key && multicast && ieee80211_is_robust_mgmt_frame(skb) && - key->cipher == WLAN_CIPHER_SUITE_AES_CMAC) { - val |= MT_TXD2_BIP; - txwi[3] &= ~cpu_to_le32(MT_TXD3_PROTECT_FRAME); - } - - if (!ieee80211_is_data(fc) || multicast || - info->flags & IEEE80211_TX_CTL_USE_MINRATE) - val |= MT_TXD2_FIX_RATE; - - txwi[2] |= cpu_to_le32(val); - - if (ieee80211_is_beacon(fc)) { - txwi[3] &= ~cpu_to_le32(MT_TXD3_SW_POWER_MGMT); - txwi[3] |= cpu_to_le32(MT_TXD3_REM_TX_COUNT); - } - - if (info->flags & IEEE80211_TX_CTL_INJECTED) { - u16 seqno = le16_to_cpu(hdr->seq_ctrl); - - if (ieee80211_is_back_req(hdr->frame_control)) { - struct ieee80211_bar *bar; - - bar = (struct ieee80211_bar *)skb->data; - seqno = le16_to_cpu(bar->start_seq_num); - } - - val = MT_TXD3_SN_VALID | - FIELD_PREP(MT_TXD3_SEQ, IEEE80211_SEQ_TO_SN(seqno)); - txwi[3] |= cpu_to_le32(val); - txwi[7] &= ~cpu_to_le32(MT_TXD7_HW_AMSDU); - } - - if (mt76_is_mmio(&dev->mt76)) { - val = FIELD_PREP(MT_TXD7_TYPE, fc_type) | - FIELD_PREP(MT_TXD7_SUB_TYPE, fc_stype); - txwi[7] |= cpu_to_le32(val); - } else { - val = FIELD_PREP(MT_TXD8_L_TYPE, fc_type) | - FIELD_PREP(MT_TXD8_L_SUB_TYPE, fc_stype); - txwi[8] |= cpu_to_le32(val); - } -} - -void mt7921_mac_write_txwi(struct mt7921_dev *dev, __le32 *txwi, - struct sk_buff *skb, struct mt76_wcid *wcid, - struct ieee80211_key_conf *key, int pid, - bool beacon) -{ - struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); - struct ieee80211_vif *vif = info->control.vif; - struct mt76_phy *mphy = &dev->mphy; - u8 p_fmt, q_idx, omac_idx = 0, wmm_idx = 0; - bool is_mmio = mt76_is_mmio(&dev->mt76); - u32 sz_txd = is_mmio ? MT_TXD_SIZE : MT_SDIO_TXD_SIZE; - bool is_8023 = info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP; - u16 tx_count = 15; - u32 val; - - if (vif) { - struct mt76_vif *mvif = (struct mt76_vif *)vif->drv_priv; - - omac_idx = mvif->omac_idx; - wmm_idx = mvif->wmm_idx; - } - - if (beacon) { - p_fmt = MT_TX_TYPE_FW; - q_idx = MT_LMAC_BCN0; - } else if (skb_get_queue_mapping(skb) >= MT_TXQ_PSD) { - p_fmt = is_mmio ? MT_TX_TYPE_CT : MT_TX_TYPE_SF; - q_idx = MT_LMAC_ALTX0; - } else { - p_fmt = is_mmio ? MT_TX_TYPE_CT : MT_TX_TYPE_SF; - q_idx = wmm_idx * MT7921_MAX_WMM_SETS + - mt76_connac_lmac_mapping(skb_get_queue_mapping(skb)); - } - - val = FIELD_PREP(MT_TXD0_TX_BYTES, skb->len + sz_txd) | - FIELD_PREP(MT_TXD0_PKT_FMT, p_fmt) | - FIELD_PREP(MT_TXD0_Q_IDX, q_idx); - txwi[0] = cpu_to_le32(val); - - val = MT_TXD1_LONG_FORMAT | - FIELD_PREP(MT_TXD1_WLAN_IDX, wcid->idx) | - FIELD_PREP(MT_TXD1_OWN_MAC, omac_idx); - - txwi[1] = cpu_to_le32(val); - txwi[2] = 0; - - val = FIELD_PREP(MT_TXD3_REM_TX_COUNT, tx_count); - if (key) - val |= MT_TXD3_PROTECT_FRAME; - if (info->flags & IEEE80211_TX_CTL_NO_ACK) - val |= MT_TXD3_NO_ACK; - - txwi[3] = cpu_to_le32(val); - txwi[4] = 0; - - val = FIELD_PREP(MT_TXD5_PID, pid); - if (pid >= MT_PACKET_ID_FIRST) - val |= MT_TXD5_TX_STATUS_HOST; - txwi[5] = cpu_to_le32(val); - - txwi[6] = 0; - txwi[7] = wcid->amsdu ? cpu_to_le32(MT_TXD7_HW_AMSDU) : 0; - - if (is_8023) - mt7921_mac_write_txwi_8023(dev, txwi, skb, wcid); - else - mt7921_mac_write_txwi_80211(dev, txwi, skb, key); - - if (txwi[2] & cpu_to_le32(MT_TXD2_FIX_RATE)) { - int rateidx = vif ? ffs(vif->bss_conf.basic_rates) - 1 : 0; - u16 rate, mode; - - /* hardware won't add HTC for mgmt/ctrl frame */ - txwi[2] |= cpu_to_le32(MT_TXD2_HTC_VLD); - - rate = mt76_calculate_default_rate(mphy, rateidx); - mode = rate >> 8; - rate &= GENMASK(7, 0); - rate |= FIELD_PREP(MT_TX_RATE_MODE, mode); - - val = MT_TXD6_FIXED_BW | - FIELD_PREP(MT_TXD6_TX_RATE, rate); - txwi[6] |= cpu_to_le32(val); - txwi[3] |= cpu_to_le32(MT_TXD3_BA_DISABLE); - } -} -EXPORT_SYMBOL_GPL(mt7921_mac_write_txwi); - void mt7921_tx_check_aggr(struct ieee80211_sta *sta, __le32 *txwi) { struct mt7921_sta *msta; @@ -1426,6 +1215,7 @@ void mt7921_reset(struct mt76_dev *mdev) { struct mt7921_dev *dev = container_of(mdev, struct mt7921_dev, mt76); + struct mt76_connac_pm *pm = &dev->pm; if (!dev->hw_init_done) return; @@ -1433,8 +1223,12 @@ if (dev->hw_full_reset) return; + if (pm->suspended) + return; + queue_work(dev->mt76.wq, &dev->reset_work); } +EXPORT_SYMBOL_GPL(mt7921_reset); void mt7921_mac_update_mib_stats(struct mt7921_phy *phy) { @@ -1483,7 +1277,7 @@ mib->tx_amsdu_cnt += val; } - for (i = 0, aggr1 = aggr0 + 4; i < 4; i++) { + for (i = 0, aggr1 = aggr0 + 8; i < 4; i++) { u32 val2; val = mt76_rr(dev, MT_TX_AGG_CNT(0, i)); @@ -1646,7 +1440,7 @@ __le32 *txwi = (__le32 *)(skb->data - MT_SDIO_TXD_SIZE); memset(txwi, 0, MT_SDIO_TXD_SIZE); - mt7921_mac_write_txwi(dev, txwi, skb, wcid, key, pid, false); + mt76_connac2_mac_write_txwi(&dev->mt76, txwi, skb, wcid, key, pid, 0); skb_push(skb, MT_SDIO_TXD_SIZE); } --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7921/mac.h +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7921/mac.h @@ -4,6 +4,8 @@ #ifndef __MT7921_MAC_H #define __MT7921_MAC_H +#include "../mt76_connac2_mac.h" + #define MT_CT_PARSE_LEN 72 #define MT_CT_DMA_BUF_NUM 2 @@ -163,20 +165,6 @@ #define MT_CRXV_FOE_HI GENMASK(6, 0) #define MT_CRXV_FOE_SHIFT 13 -enum tx_header_format { - MT_HDR_FORMAT_802_3, - MT_HDR_FORMAT_CMD, - MT_HDR_FORMAT_802_11, - MT_HDR_FORMAT_802_11_EXT, -}; - -enum tx_pkt_type { - MT_TX_TYPE_CT, - MT_TX_TYPE_SF, - MT_TX_TYPE_CMD, - MT_TX_TYPE_FW, -}; - enum tx_port_idx { MT_TX_PORT_IDX_LMAC, MT_TX_PORT_IDX_MCU @@ -197,104 +185,6 @@ #define MT_CT_INFO_HSR2_TX BIT(4) #define MT_CT_INFO_FROM_HOST BIT(7) -#define MT_TXD_SIZE (8 * 4) - -#define MT_SDIO_TXD_SIZE (MT_TXD_SIZE + 8 * 4) -#define MT_SDIO_TAIL_SIZE 8 -#define MT_SDIO_HDR_SIZE 4 -#define MT_USB_TAIL_SIZE 4 - -#define MT_TXD0_Q_IDX GENMASK(31, 25) -#define MT_TXD0_PKT_FMT GENMASK(24, 23) -#define MT_TXD0_ETH_TYPE_OFFSET GENMASK(22, 16) -#define MT_TXD0_TX_BYTES GENMASK(15, 0) - -#define MT_TXD1_LONG_FORMAT BIT(31) -#define MT_TXD1_TGID BIT(30) -#define MT_TXD1_OWN_MAC GENMASK(29, 24) -#define MT_TXD1_AMSDU BIT(23) -#define MT_TXD1_TID GENMASK(22, 20) -#define MT_TXD1_HDR_PAD GENMASK(19, 18) -#define MT_TXD1_HDR_FORMAT GENMASK(17, 16) -#define MT_TXD1_HDR_INFO GENMASK(15, 11) -#define MT_TXD1_ETH_802_3 BIT(15) -#define MT_TXD1_VTA BIT(10) -#define MT_TXD1_WLAN_IDX GENMASK(9, 0) - -#define MT_TXD2_FIX_RATE BIT(31) -#define MT_TXD2_FIXED_RATE BIT(30) -#define MT_TXD2_POWER_OFFSET GENMASK(29, 24) -#define MT_TXD2_MAX_TX_TIME GENMASK(23, 16) -#define MT_TXD2_FRAG GENMASK(15, 14) -#define MT_TXD2_HTC_VLD BIT(13) -#define MT_TXD2_DURATION BIT(12) -#define MT_TXD2_BIP BIT(11) -#define MT_TXD2_MULTICAST BIT(10) -#define MT_TXD2_RTS BIT(9) -#define MT_TXD2_SOUNDING BIT(8) -#define MT_TXD2_NDPA BIT(7) -#define MT_TXD2_NDP BIT(6) -#define MT_TXD2_FRAME_TYPE GENMASK(5, 4) -#define MT_TXD2_SUB_TYPE GENMASK(3, 0) - -#define MT_TXD3_SN_VALID BIT(31) -#define MT_TXD3_PN_VALID BIT(30) -#define MT_TXD3_SW_POWER_MGMT BIT(29) -#define MT_TXD3_BA_DISABLE BIT(28) -#define MT_TXD3_SEQ GENMASK(27, 16) -#define MT_TXD3_REM_TX_COUNT GENMASK(15, 11) -#define MT_TXD3_TX_COUNT GENMASK(10, 6) -#define MT_TXD3_TIMING_MEASURE BIT(5) -#define MT_TXD3_DAS BIT(4) -#define MT_TXD3_EEOSP BIT(3) -#define MT_TXD3_EMRD BIT(2) -#define MT_TXD3_PROTECT_FRAME BIT(1) -#define MT_TXD3_NO_ACK BIT(0) - -#define MT_TXD4_PN_LOW GENMASK(31, 0) - -#define MT_TXD5_PN_HIGH GENMASK(31, 16) -#define MT_TXD5_MD BIT(15) -#define MT_TXD5_ADD_BA BIT(14) -#define MT_TXD5_TX_STATUS_HOST BIT(10) -#define MT_TXD5_TX_STATUS_MCU BIT(9) -#define MT_TXD5_TX_STATUS_FMT BIT(8) -#define MT_TXD5_PID GENMASK(7, 0) - -#define MT_TXD6_TX_IBF BIT(31) -#define MT_TXD6_TX_EBF BIT(30) -#define MT_TXD6_TX_RATE GENMASK(29, 16) -#define MT_TXD6_SGI GENMASK(15, 14) -#define MT_TXD6_HELTF GENMASK(13, 12) -#define MT_TXD6_LDPC BIT(11) -#define MT_TXD6_SPE_ID_IDX BIT(10) -#define MT_TXD6_ANT_ID GENMASK(7, 4) -#define MT_TXD6_DYN_BW BIT(3) -#define MT_TXD6_FIXED_BW BIT(2) -#define MT_TXD6_BW GENMASK(1, 0) - -#define MT_TXD7_TXD_LEN GENMASK(31, 30) -#define MT_TXD7_UDP_TCP_SUM BIT(29) -#define MT_TXD7_IP_SUM BIT(28) - -#define MT_TXD7_TYPE GENMASK(21, 20) -#define MT_TXD7_SUB_TYPE GENMASK(19, 16) - -#define MT_TXD7_PSE_FID GENMASK(27, 16) -#define MT_TXD7_SPE_IDX GENMASK(15, 11) -#define MT_TXD7_HW_AMSDU BIT(10) -#define MT_TXD7_TX_TIME GENMASK(9, 0) - -#define MT_TXD8_L_TYPE GENMASK(5, 4) -#define MT_TXD8_L_SUB_TYPE GENMASK(3, 0) - -#define MT_TX_RATE_STBC BIT(13) -#define MT_TX_RATE_NSS GENMASK(12, 10) -#define MT_TX_RATE_MODE GENMASK(9, 6) -#define MT_TX_RATE_SU_EXT_TONE BIT(5) -#define MT_TX_RATE_DCM BIT(4) -#define MT_TX_RATE_IDX GENMASK(3, 0) - #define MT_TXP_MAX_BUF_NUM 6 struct mt7921_txp { @@ -325,15 +215,6 @@ /* will support this field in further revision */ #define MT_TX_FREE_RATE GENMASK(13, 0) -#define MT_TXS0_BW GENMASK(30, 29) -#define MT_TXS0_TXS_FORMAT GENMASK(24, 23) -#define MT_TXS0_ACK_ERROR_MASK GENMASK(18, 16) -#define MT_TXS0_TX_RATE GENMASK(13, 0) - -#define MT_TXS2_WCID GENMASK(25, 16) - -#define MT_TXS3_PID GENMASK(31, 24) - static inline struct mt7921_txp_common * mt7921_txwi_to_txp(struct mt76_dev *dev, struct mt76_txwi_cache *t) { --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7921/main.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7921/main.c @@ -257,7 +257,7 @@ if (err) return err; - err = mt76_connac_mcu_set_rate_txpower(phy->mt76); + err = mt7921_set_tx_sar_pwr(mphy->hw, NULL); if (err) return err; @@ -322,7 +322,7 @@ mvif->mt76.omac_idx = mvif->mt76.idx; mvif->phy = phy; mvif->mt76.band_idx = 0; - mvif->mt76.wmm_idx = mvif->mt76.idx % MT7921_MAX_WMM_SETS; + mvif->mt76.wmm_idx = mvif->mt76.idx % MT76_CONNAC_MAX_WMM_SETS; ret = mt76_connac_mcu_uni_add_dev(&dev->mphy, vif, &mvif->sta.wcid, true); @@ -548,7 +548,7 @@ mt7921_mutex_acquire(dev); if (changed & IEEE80211_CONF_CHANGE_POWER) { - ret = mt76_connac_mcu_set_rate_txpower(phy->mt76); + ret = mt7921_set_tx_sar_pwr(hw, NULL); if (ret) goto out; } @@ -653,15 +653,6 @@ } } - if (changed & BSS_CHANGED_BEACON_ENABLED && info->enable_beacon) { - struct mt7921_vif *mvif = (struct mt7921_vif *)vif->drv_priv; - - mt76_connac_mcu_uni_add_bss(phy->mt76, vif, &mvif->sta.wcid, - true); - mt7921_mcu_sta_update(dev, NULL, vif, true, - MT76_STA_INFO_STATE_NONE); - } - if (changed & (BSS_CHANGED_BEACON | BSS_CHANGED_BEACON_ENABLED)) mt7921_mcu_uni_add_beacon_offload(dev, hw, vif, @@ -747,6 +738,7 @@ mt7921_mac_wtbl_update(dev, msta->wcid.idx, MT_WTBL_UPDATE_ADM_COUNT_CLEAR); + memset(msta->airtime_ac, 0, sizeof(msta->airtime_ac)); mt7921_mcu_sta_update(dev, sta, vif, true, MT76_STA_INFO_STATE_ASSOC); @@ -1399,6 +1391,8 @@ struct mt7921_sta *msta = (struct mt7921_sta *)sta->drv_priv; struct mt7921_dev *dev = mt7921_hw_dev(hw); + mt7921_mutex_acquire(dev); + if (enabled) set_bit(MT_WCID_FLAG_HDR_TRANS, &msta->wcid.flags); else @@ -1406,6 +1400,8 @@ mt76_connac_mcu_sta_update_hdr_trans(&dev->mt76, vif, &msta->wcid, MCU_UNI_CMD(STA_REC_UPDATE)); + + mt7921_mutex_release(dev); } #if IS_ENABLED(CONFIG_IPV6) @@ -1469,20 +1465,33 @@ } #endif +int mt7921_set_tx_sar_pwr(struct ieee80211_hw *hw, + const struct cfg80211_sar_specs *sar) +{ + struct mt76_phy *mphy = hw->priv; + int err; + + if (sar) { + err = mt76_init_sar_power(hw, sar); + if (err) + return err; + } + + mt7921_init_acpi_sar_power(mt7921_hw_phy(hw), !sar); + + err = mt76_connac_mcu_set_rate_txpower(mphy); + + return err; +} + static int mt7921_set_sar_specs(struct ieee80211_hw *hw, const struct cfg80211_sar_specs *sar) { struct mt7921_dev *dev = mt7921_hw_dev(hw); - struct mt76_phy *mphy = hw->priv; int err; mt7921_mutex_acquire(dev); - err = mt76_init_sar_power(hw, sar); - if (err) - goto out; - - err = mt76_connac_mcu_set_rate_txpower(mphy); -out: + err = mt7921_set_tx_sar_pwr(hw, sar); mt7921_mutex_release(dev); return err; @@ -1500,6 +1509,53 @@ mt7921_mutex_release(dev); } +static int +mt7921_start_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif) +{ + struct mt7921_vif *mvif = (struct mt7921_vif *)vif->drv_priv; + struct mt7921_phy *phy = mt7921_hw_phy(hw); + struct mt7921_dev *dev = mt7921_hw_dev(hw); + int err; + + mt7921_mutex_acquire(dev); + + err = mt76_connac_mcu_uni_add_bss(phy->mt76, vif, &mvif->sta.wcid, + true); + if (err) + goto out; + + err = mt7921_mcu_set_bss_pm(dev, vif, true); + if (err) + goto out; + + err = mt7921_mcu_sta_update(dev, NULL, vif, true, + MT76_STA_INFO_STATE_NONE); +out: + mt7921_mutex_release(dev); + + return err; +} + +static void +mt7921_stop_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif) +{ + struct mt7921_vif *mvif = (struct mt7921_vif *)vif->drv_priv; + struct mt7921_phy *phy = mt7921_hw_phy(hw); + struct mt7921_dev *dev = mt7921_hw_dev(hw); + int err; + + mt7921_mutex_acquire(dev); + + err = mt7921_mcu_set_bss_pm(dev, vif, false); + if (err) + goto out; + + mt76_connac_mcu_uni_add_bss(phy->mt76, vif, &mvif->sta.wcid, false); + +out: + mt7921_mutex_release(dev); +} + const struct ieee80211_ops mt7921_ops = { .tx = mt7921_tx, .start = mt7921_start, @@ -1510,6 +1566,8 @@ .conf_tx = mt7921_conf_tx, .configure_filter = mt7921_configure_filter, .bss_info_changed = mt7921_bss_info_changed, + .start_ap = mt7921_start_ap, + .stop_ap = mt7921_stop_ap, .sta_state = mt7921_sta_state, .sta_pre_rcu_remove = mt76_sta_pre_rcu_remove, .set_key = mt7921_set_key, --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7921/mcu.c @@ -582,13 +582,6 @@ if (ret) dev_err(dev->mt76.dev, "Failed to start patch\n"); - if (mt76_is_sdio(&dev->mt76)) { - /* activate again */ - ret = __mt7921_mcu_fw_pmctrl(dev); - if (!ret) - ret = __mt7921_mcu_drv_pmctrl(dev); - } - out: sem = mt76_connac_mcu_patch_sem_ctrl(&dev->mt76, false); switch (sem) { @@ -599,6 +592,14 @@ dev_err(dev->mt76.dev, "Failed to release patch semaphore\n"); break; } + + if (!ret && mt76_is_sdio(&dev->mt76)) { + /* activate again */ + ret = __mt7921_mcu_fw_pmctrl(dev); + if (!ret) + ret = __mt7921_mcu_drv_pmctrl(dev); + } + release_firmware(fw); return ret; @@ -1019,7 +1020,7 @@ &bcnft_req, sizeof(bcnft_req), true); } -static int +int mt7921_mcu_set_bss_pm(struct mt7921_dev *dev, struct ieee80211_vif *vif, bool enable) { @@ -1048,9 +1049,6 @@ }; int err; - if (vif->type != NL80211_IFTYPE_STATION) - return 0; - err = mt76_mcu_send_msg(&dev->mt76, MCU_CE_CMD(SET_BSS_ABORT), &req_hdr, sizeof(req_hdr), false); if (err < 0 || !enable) @@ -1255,8 +1253,11 @@ }; struct sk_buff *skb; + /* support enable/update process only + * disable flow would be handled in bss stop handler automatically + */ if (!enable) - goto out; + return -EOPNOTSUPP; skb = ieee80211_beacon_get_template(mt76_hw(dev), vif, &offs); if (!skb) @@ -1268,8 +1269,8 @@ return -EINVAL; } - mt7921_mac_write_txwi(dev, (__le32 *)(req.beacon_tlv.pkt), skb, - wcid, NULL, 0, true); + mt76_connac2_mac_write_txwi(&dev->mt76, (__le32 *)(req.beacon_tlv.pkt), + skb, wcid, NULL, 0, BSS_CHANGED_BEACON); memcpy(req.beacon_tlv.pkt + MT_TXD_SIZE, skb->data, skb->len); req.beacon_tlv.pkt_len = cpu_to_le16(MT_TXD_SIZE + skb->len); req.beacon_tlv.tim_ie_pos = cpu_to_le16(MT_TXD_SIZE + offs.tim_offset); @@ -1282,7 +1283,6 @@ } dev_kfree_skb(skb); -out: return mt76_mcu_send_msg(&dev->mt76, MCU_UNI_CMD(BSS_INFO_UPDATE), &req, sizeof(req), true); } --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h @@ -8,9 +8,9 @@ #include #include "../mt76_connac_mcu.h" #include "regs.h" +#include "acpi_sar.h" #define MT7921_MAX_INTERFACES 4 -#define MT7921_MAX_WMM_SETS 4 #define MT7921_WTBL_SIZE 20 #define MT7921_WTBL_RESERVED (MT7921_WTBL_SIZE - 1) #define MT7921_WTBL_STA (MT7921_WTBL_RESERVED - \ @@ -171,6 +171,9 @@ struct sk_buff_head scan_event_list; struct delayed_work scan_work; +#ifdef CONFIG_ACPI + struct mt7921_acpi_sar *acpisar; +#endif }; #define mt7921_init_reset(dev) ((dev)->hif_ops->init_reset(dev)) @@ -247,16 +250,6 @@ } data[TXPWR_MAX_NUM]; }; -enum { - MT_LMAC_AC00, - MT_LMAC_AC01, - MT_LMAC_AC02, - MT_LMAC_AC03, - MT_LMAC_ALTX0 = 0x10, - MT_LMAC_BMC0, - MT_LMAC_BCN0, -}; - static inline struct mt7921_phy * mt7921_hw_phy(struct ieee80211_hw *hw) { @@ -291,6 +284,8 @@ int mt7921_wpdma_reinit_cond(struct mt7921_dev *dev); void mt7921_dma_cleanup(struct mt7921_dev *dev); int mt7921_run_firmware(struct mt7921_dev *dev); +int mt7921_mcu_set_bss_pm(struct mt7921_dev *dev, struct ieee80211_vif *vif, + bool enable); int mt7921_mcu_sta_update(struct mt7921_dev *dev, struct ieee80211_sta *sta, struct ieee80211_vif *vif, bool enable, enum mt76_sta_info_state state); @@ -424,10 +419,6 @@ void *data, int len); int mt7921_testmode_dump(struct ieee80211_hw *hw, struct sk_buff *msg, struct netlink_callback *cb, void *data, int len); -void mt7921_mac_write_txwi(struct mt7921_dev *dev, __le32 *txwi, - struct sk_buff *skb, struct mt76_wcid *wcid, - struct ieee80211_key_conf *key, int pid, - bool beacon); void mt7921_tx_check_aggr(struct ieee80211_sta *sta, __le32 *txwi); void mt7921_mac_sta_poll(struct mt7921_dev *dev); int mt7921_mcu_fill_message(struct mt76_dev *mdev, struct sk_buff *skb, @@ -481,4 +472,22 @@ struct ieee80211_hw *hw, struct ieee80211_vif *vif, bool enable); +#ifdef CONFIG_ACPI +int mt7921_init_acpi_sar(struct mt7921_dev *dev); +int mt7921_init_acpi_sar_power(struct mt7921_phy *phy, bool set_default); +#else +static inline int +mt7921_init_acpi_sar(struct mt7921_dev *dev) +{ + return 0; +} + +static inline int +mt7921_init_acpi_sar_power(struct mt7921_phy *phy, bool set_default) +{ + return 0; +} +#endif +int mt7921_set_tx_sar_pwr(struct ieee80211_hw *hw, + const struct cfg80211_sar_specs *sar); #endif --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7921/pci.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7921/pci.c @@ -152,6 +152,7 @@ { 0x820c8000, 0x0c000, 0x2000 }, /* WF_UMAC_TOP (PSE) */ { 0x820cc000, 0x0e000, 0x1000 }, /* WF_UMAC_TOP (PP) */ { 0x820cd000, 0x0f000, 0x1000 }, /* WF_MDP_TOP */ + { 0x74030000, 0x10000, 0x10000 }, /* PCIE_MAC_IREG */ { 0x820ce000, 0x21c00, 0x0200 }, /* WF_LMAC_TOP (WF_SEC) */ { 0x820cf000, 0x22000, 0x1000 }, /* WF_LMAC_TOP (WF_PF) */ { 0x820e0000, 0x20000, 0x0400 }, /* WF_LMAC_TOP BN0 (WF_CFG) */ @@ -289,6 +290,8 @@ goto err_free_pci_vec; } + pci_set_drvdata(pdev, mdev); + dev = container_of(mdev, struct mt7921_dev, mt76); dev->hif_ops = &mt7921_pcie_ops; @@ -368,6 +371,7 @@ int i, err; pm->suspended = true; + flush_work(&dev->reset_work); cancel_delayed_work_sync(&pm->ps_work); cancel_work_sync(&pm->wake_work); @@ -433,6 +437,9 @@ restore_suspend: pm->suspended = false; + if (err < 0) + mt7921_reset(&dev->mt76); + return err; } @@ -451,7 +458,7 @@ err = mt7921_mcu_drv_pmctrl(dev); if (err < 0) - return err; + goto failed; mt7921_wpdma_reinit_cond(dev); @@ -481,11 +488,12 @@ mt76_connac_mcu_set_deep_sleep(&dev->mt76, false); err = mt76_connac_mcu_set_hif_suspend(mdev, false); - if (err) - return err; - +failed: pm->suspended = false; + if (err < 0) + mt7921_reset(&dev->mt76); + return err; } #endif /* CONFIG_PM */ --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7921/pci_mac.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7921/pci_mac.c @@ -72,8 +72,8 @@ } pid = mt76_tx_status_skb_add(mdev, wcid, tx_info->skb); - mt7921_mac_write_txwi(dev, txwi_ptr, tx_info->skb, wcid, key, - pid, false); + mt76_connac2_mac_write_txwi(mdev, txwi_ptr, tx_info->skb, wcid, key, + pid, 0); txp = (struct mt7921_txp_common *)(txwi + MT_TXD_SIZE); memset(txp, 0, sizeof(struct mt7921_txp_common)); @@ -345,7 +345,7 @@ err = mt7921e_driver_own(dev); if (err) - return err; + goto out; err = mt7921_run_firmware(dev); if (err) --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7921/pci_mcu.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7921/pci_mcu.c @@ -52,6 +52,8 @@ if (err) return err; + mt76_rmw_field(dev, MT_PCIE_MAC_PM, MT_PCIE_MAC_PM_L0S_DIS, 1); + err = mt7921_run_firmware(dev); mt76_queue_tx_cleanup(dev, dev->mt76.q_mcu[MT_MCUQ_FWDL], false); @@ -102,7 +104,7 @@ { struct mt76_phy *mphy = &dev->mt76.phy; struct mt76_connac_pm *pm = &dev->pm; - int i, err = 0; + int i; for (i = 0; i < MT7921_DRV_OWN_RETRY_COUNT; i++) { mt76_wr(dev, MT_CONN_ON_LPCTL, PCIE_LPCR_HOST_SET_OWN); @@ -114,12 +116,12 @@ if (i == MT7921_DRV_OWN_RETRY_COUNT) { dev_err(dev->mt76.dev, "firmware own failed\n"); clear_bit(MT76_STATE_PM, &mphy->state); - err = -EIO; + return -EIO; } pm->stats.last_doze_event = jiffies; pm->stats.awake_time += pm->stats.last_doze_event - pm->stats.last_wake_event; - return err; + return 0; } --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7921/regs.h +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7921/regs.h @@ -440,6 +440,8 @@ #define MT_PCIE_MAC_BASE 0x10000 #define MT_PCIE_MAC(ofs) (MT_PCIE_MAC_BASE + (ofs)) #define MT_PCIE_MAC_INT_ENABLE MT_PCIE_MAC(0x188) +#define MT_PCIE_MAC_PM MT_PCIE_MAC(0x194) +#define MT_PCIE_MAC_PM_L0S_DIS BIT(8) #define MT_DMA_SHDL(ofs) (0x7c026000 + (ofs)) #define MT_DMASHDL_SW_CONTROL MT_DMA_SHDL(0x004) --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7921/sdio.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7921/sdio.c @@ -206,6 +206,7 @@ pm->suspended = true; set_bit(MT76_STATE_SUSPEND, &mdev->phy.state); + flush_work(&dev->reset_work); cancel_delayed_work_sync(&pm->ps_work); cancel_work_sync(&pm->wake_work); @@ -261,6 +262,9 @@ clear_bit(MT76_STATE_SUSPEND, &mdev->phy.state); pm->suspended = false; + if (err < 0) + mt7921_reset(&dev->mt76); + return err; } @@ -276,7 +280,7 @@ err = mt7921_mcu_drv_pmctrl(dev); if (err < 0) - return err; + goto failed; mt76_worker_enable(&mdev->tx_worker); mt76_worker_enable(&mdev->sdio.txrx_worker); @@ -288,11 +292,12 @@ mt76_connac_mcu_set_deep_sleep(mdev, false); err = mt76_connac_mcu_set_hif_suspend(mdev, false); - if (err) - return err; - +failed: pm->suspended = false; + if (err < 0) + mt7921_reset(&dev->mt76); + return err; } --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7921/sdio_mcu.c @@ -136,8 +136,8 @@ struct sdio_func *func = dev->mt76.sdio.func; struct mt76_phy *mphy = &dev->mt76.phy; struct mt76_connac_pm *pm = &dev->pm; - int err = 0; u32 status; + int err; sdio_claim_host(func); @@ -148,7 +148,7 @@ 2000, 1000000); if (err < 0) { dev_err(dev->mt76.dev, "mailbox ACK not cleared\n"); - goto err; + goto out; } } @@ -156,18 +156,18 @@ err = readx_poll_timeout(mt76s_read_pcr, &dev->mt76, status, !(status & WHLPCR_IS_DRIVER_OWN), 2000, 1000000); +out: sdio_release_host(func); -err: if (err < 0) { dev_err(dev->mt76.dev, "firmware own failed\n"); clear_bit(MT76_STATE_PM, &mphy->state); - err = -EIO; + return -EIO; } pm->stats.last_doze_event = jiffies; pm->stats.awake_time += pm->stats.last_doze_event - pm->stats.last_wake_event; - return err; + return 0; } --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/mt7921/usb.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/mt7921/usb.c @@ -292,11 +292,15 @@ static int mt7921u_suspend(struct usb_interface *intf, pm_message_t state) { struct mt7921_dev *dev = usb_get_intfdata(intf); + struct mt76_connac_pm *pm = &dev->pm; int err; + pm->suspended = true; + flush_work(&dev->reset_work); + err = mt76_connac_mcu_set_hif_suspend(&dev->mt76, true); if (err) - return err; + goto failed; mt76u_stop_rx(&dev->mt76); mt76u_stop_tx(&dev->mt76); @@ -304,11 +308,20 @@ set_bit(MT76_STATE_SUSPEND, &dev->mphy.state); return 0; + +failed: + pm->suspended = false; + + if (err < 0) + mt7921_reset(&dev->mt76); + + return err; } static int mt7921u_resume(struct usb_interface *intf) { struct mt7921_dev *dev = usb_get_intfdata(intf); + struct mt76_connac_pm *pm = &dev->pm; bool reinit = true; int err, i; @@ -330,16 +343,23 @@ if (reinit || mt7921_dma_need_reinit(dev)) { err = mt7921u_dma_init(dev, true); if (err) - return err; + goto failed; } clear_bit(MT76_STATE_SUSPEND, &dev->mphy.state); err = mt76u_resume_rx(&dev->mt76); if (err < 0) - return err; + goto failed; + + err = mt76_connac_mcu_set_hif_suspend(&dev->mt76, false); +failed: + pm->suspended = false; + + if (err < 0) + mt7921_reset(&dev->mt76); - return mt76_connac_mcu_set_hif_suspend(&dev->mt76, false); + return err; } #endif /* CONFIG_PM */ --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/sdio.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/sdio.c @@ -480,14 +480,14 @@ if (ndata_frames > 0) resched = true; - if (dev->drv->tx_status_data && + if (dev->drv->tx_status_data && ndata_frames > 0 && !test_and_set_bit(MT76_READING_STATS, &dev->phy.state) && !test_bit(MT76_STATE_SUSPEND, &dev->phy.state)) - queue_work(dev->wq, &dev->sdio.stat_work); + ieee80211_queue_work(dev->hw, &dev->sdio.stat_work); } while (nframes > 0); if (resched) - mt76_worker_schedule(&dev->sdio.txrx_worker); + mt76_worker_schedule(&dev->tx_worker); } static void mt76s_tx_status_data(struct work_struct *work) @@ -510,7 +510,7 @@ } if (count && test_bit(MT76_STATE_RUNNING, &dev->phy.state)) - queue_work(dev->wq, &sdio->stat_work); + ieee80211_queue_work(dev->hw, &sdio->stat_work); else clear_bit(MT76_READING_STATS, &dev->phy.state); } @@ -564,6 +564,10 @@ q->entry[q->head].buf_sz = len; q->entry[q->head].skb = skb; + + /* ensure the entry fully updated before bus access */ + smp_wmb(); + q->head = (q->head + 1) % q->ndesc; q->queued++; --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/sdio_txrx.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/sdio_txrx.c @@ -245,6 +245,10 @@ if (!test_bit(MT76_STATE_MCU_RUNNING, &dev->phy.state)) { __skb_put_zero(e->skb, 4); + err = __skb_grow(e->skb, roundup(e->skb->len, + sdio->func->cur_blksize)); + if (err) + return err; err = __mt76s_xmit_queue(dev, e->skb->data, e->skb->len); if (err) --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt76/usb.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt76/usb.c @@ -761,6 +761,9 @@ struct mt76_queue *q; int i; + if (!test_bit(MT76_STATE_RUNNING, &dev->phy.state)) + return; + for (i = 0; i < IEEE80211_NUM_ACS; i++) { q = dev->phy.q_tx[i]; if (!q) @@ -780,11 +783,11 @@ wake_up(&dev->tx_wait); mt76_worker_schedule(&dev->tx_worker); - - if (dev->drv->tx_status_data && - !test_and_set_bit(MT76_READING_STATS, &dev->phy.state)) - queue_work(dev->wq, &dev->usb.stat_work); } + + if (dev->drv->tx_status_data && + !test_and_set_bit(MT76_READING_STATS, &dev->phy.state)) + queue_work(dev->wq, &dev->usb.stat_work); } static void mt76u_tx_status_data(struct work_struct *work) --- linux-gcp-5.19.0.orig/drivers/net/wireless/mediatek/mt7601u/dma.c +++ linux-gcp-5.19.0/drivers/net/wireless/mediatek/mt7601u/dma.c @@ -123,7 +123,8 @@ if (data_len < min_seg_len || WARN_ON_ONCE(!dma_len) || WARN_ON_ONCE(dma_len + MT_DMA_HDRS > data_len) || - WARN_ON_ONCE(dma_len & 0x3)) + WARN_ON_ONCE(dma_len & 0x3) || + WARN_ON_ONCE(dma_len < min_seg_len)) return 0; return MT_DMA_HDRS + dma_len; --- linux-gcp-5.19.0.orig/drivers/net/wireless/microchip/wilc1000/cfg80211.c +++ linux-gcp-5.19.0/drivers/net/wireless/microchip/wilc1000/cfg80211.c @@ -943,30 +943,52 @@ return; while (index + sizeof(*e) <= len) { + u16 attr_size; + e = (struct wilc_attr_entry *)&buf[index]; - if (e->attr_type == IEEE80211_P2P_ATTR_CHANNEL_LIST) + attr_size = le16_to_cpu(e->attr_len); + + if (index + sizeof(*e) + attr_size > len) + return; + + if (e->attr_type == IEEE80211_P2P_ATTR_CHANNEL_LIST && + attr_size >= (sizeof(struct wilc_attr_ch_list) - sizeof(*e))) ch_list_idx = index; - else if (e->attr_type == IEEE80211_P2P_ATTR_OPER_CHANNEL) + else if (e->attr_type == IEEE80211_P2P_ATTR_OPER_CHANNEL && + attr_size == (sizeof(struct wilc_attr_oper_ch) - sizeof(*e))) op_ch_idx = index; + if (ch_list_idx && op_ch_idx) break; - index += le16_to_cpu(e->attr_len) + sizeof(*e); + + index += sizeof(*e) + attr_size; } if (ch_list_idx) { - u16 attr_size; - struct wilc_ch_list_elem *e; - int i; + unsigned int i; + u16 elem_size; ch_list = (struct wilc_attr_ch_list *)&buf[ch_list_idx]; - attr_size = le16_to_cpu(ch_list->attr_len); - for (i = 0; i < attr_size;) { + /* the number of bytes following the final 'elem' member */ + elem_size = le16_to_cpu(ch_list->attr_len) - + (sizeof(*ch_list) - sizeof(struct wilc_attr_entry)); + for (i = 0; i < elem_size;) { + struct wilc_ch_list_elem *e; + e = (struct wilc_ch_list_elem *)(ch_list->elem + i); + + i += sizeof(*e); + if (i > elem_size) + break; + + i += e->no_of_channels; + if (i > elem_size) + break; + if (e->op_class == WILC_WLAN_OPERATING_CLASS_2_4GHZ) { memset(e->ch_list, sta_ch, e->no_of_channels); break; } - i += e->no_of_channels; } } @@ -1378,7 +1400,8 @@ return wilc_add_beacon(vif, 0, 0, beacon); } -static int stop_ap(struct wiphy *wiphy, struct net_device *dev) +static int stop_ap(struct wiphy *wiphy, struct net_device *dev, + unsigned int link_id) { int ret; struct wilc_vif *vif = netdev_priv(dev); --- linux-gcp-5.19.0.orig/drivers/net/wireless/microchip/wilc1000/hif.c +++ linux-gcp-5.19.0/drivers/net/wireless/microchip/wilc1000/hif.c @@ -472,14 +472,25 @@ rsn_ie = cfg80211_find_ie(WLAN_EID_RSN, ies->data, ies->len); if (rsn_ie) { + int rsn_ie_len = sizeof(struct element) + rsn_ie[1]; int offset = 8; - param->mode_802_11i = 2; - param->rsn_found = true; /* extract RSN capabilities */ - offset += (rsn_ie[offset] * 4) + 2; - offset += (rsn_ie[offset] * 4) + 2; - memcpy(param->rsn_cap, &rsn_ie[offset], 2); + if (offset < rsn_ie_len) { + /* skip over pairwise suites */ + offset += (rsn_ie[offset] * 4) + 2; + + if (offset < rsn_ie_len) { + /* skip over authentication suites */ + offset += (rsn_ie[offset] * 4) + 2; + + if (offset + 1 < rsn_ie_len) { + param->mode_802_11i = 2; + param->rsn_found = true; + memcpy(param->rsn_cap, &rsn_ie[offset], 2); + } + } + } } if (param->rsn_found) { --- linux-gcp-5.19.0.orig/drivers/net/wireless/microchip/wilc1000/netdev.c +++ linux-gcp-5.19.0/drivers/net/wireless/microchip/wilc1000/netdev.c @@ -730,6 +730,7 @@ if (skb->dev != ndev) { netdev_err(ndev, "Packet not destined to this device\n"); + dev_kfree_skb(skb); return NETDEV_TX_OK; } @@ -970,7 +971,7 @@ ndev->name); if (!wl->hif_workqueue) { ret = -ENOMEM; - goto error; + goto unregister_netdev; } ndev->needs_free_netdev = true; @@ -985,6 +986,11 @@ return vif; +unregister_netdev: + if (rtnl_locked) + cfg80211_unregister_netdevice(ndev); + else + unregister_netdev(ndev); error: free_netdev(ndev); return ERR_PTR(ret); --- linux-gcp-5.19.0.orig/drivers/net/wireless/microchip/wilc1000/netdev.h +++ linux-gcp-5.19.0/drivers/net/wireless/microchip/wilc1000/netdev.h @@ -254,6 +254,7 @@ u8 *rx_buffer; u32 rx_buffer_offset; u8 *tx_buffer; + u32 *vmm_table; struct txq_handle txq[NQUEUES]; int txq_entries; --- linux-gcp-5.19.0.orig/drivers/net/wireless/microchip/wilc1000/sdio.c +++ linux-gcp-5.19.0/drivers/net/wireless/microchip/wilc1000/sdio.c @@ -20,6 +20,7 @@ { SDIO_DEVICE(SDIO_VENDOR_ID_MICROCHIP_WILC, SDIO_DEVICE_ID_MICROCHIP_WILC1000) }, { }, }; +MODULE_DEVICE_TABLE(sdio, wilc_sdio_ids); #define WILC_SDIO_BLOCK_SIZE 512 @@ -27,6 +28,7 @@ bool irq_gpio; u32 block_size; int has_thrpt_enh3; + u8 *cmd53_buf; }; struct sdio_cmd52 { @@ -46,6 +48,7 @@ u32 count: 9; u8 *buffer; u32 block_size; + bool use_global_buf; }; static const struct wilc_hif_func wilc_hif_sdio; @@ -90,6 +93,8 @@ { struct sdio_func *func = container_of(wilc->dev, struct sdio_func, dev); int size, ret; + struct wilc_sdio *sdio_priv = wilc->bus_data; + u8 *buf = cmd->buffer; sdio_claim_host(func); @@ -100,12 +105,23 @@ else size = cmd->count; + if (cmd->use_global_buf) { + if (size > sizeof(u32)) + return -EINVAL; + + buf = sdio_priv->cmd53_buf; + } + if (cmd->read_write) { /* write */ - ret = sdio_memcpy_toio(func, cmd->address, - (void *)cmd->buffer, size); + if (cmd->use_global_buf) + memcpy(buf, cmd->buffer, size); + + ret = sdio_memcpy_toio(func, cmd->address, buf, size); } else { /* read */ - ret = sdio_memcpy_fromio(func, (void *)cmd->buffer, - cmd->address, size); + ret = sdio_memcpy_fromio(func, buf, cmd->address, size); + + if (cmd->use_global_buf) + memcpy(cmd->buffer, buf, size); } sdio_release_host(func); @@ -127,6 +143,12 @@ if (!sdio_priv) return -ENOMEM; + sdio_priv->cmd53_buf = kzalloc(sizeof(u32), GFP_KERNEL); + if (!sdio_priv->cmd53_buf) { + ret = -ENOMEM; + goto free; + } + ret = wilc_cfg80211_init(&wilc, &func->dev, WILC_HIF_SDIO, &wilc_hif_sdio); if (ret) @@ -160,6 +182,7 @@ irq_dispose_mapping(wilc->dev_irq_num); wilc_netdev_cleanup(wilc); free: + kfree(sdio_priv->cmd53_buf); kfree(sdio_priv); return ret; } @@ -171,6 +194,7 @@ clk_disable_unprepare(wilc->rtc_clk); wilc_netdev_cleanup(wilc); + kfree(sdio_priv->cmd53_buf); kfree(sdio_priv); } @@ -367,8 +391,9 @@ cmd.address = WILC_SDIO_FBR_DATA_REG; cmd.block_mode = 0; cmd.increment = 1; - cmd.count = 4; + cmd.count = sizeof(u32); cmd.buffer = (u8 *)&data; + cmd.use_global_buf = true; cmd.block_size = sdio_priv->block_size; ret = wilc_sdio_cmd53(wilc, &cmd); if (ret) @@ -406,6 +431,7 @@ nblk = size / block_size; nleft = size % block_size; + cmd.use_global_buf = false; if (nblk > 0) { cmd.block_mode = 1; cmd.increment = 1; @@ -484,8 +510,9 @@ cmd.address = WILC_SDIO_FBR_DATA_REG; cmd.block_mode = 0; cmd.increment = 1; - cmd.count = 4; + cmd.count = sizeof(u32); cmd.buffer = (u8 *)data; + cmd.use_global_buf = true; cmd.block_size = sdio_priv->block_size; ret = wilc_sdio_cmd53(wilc, &cmd); @@ -527,6 +554,7 @@ nblk = size / block_size; nleft = size % block_size; + cmd.use_global_buf = false; if (nblk > 0) { cmd.block_mode = 1; cmd.increment = 1; --- linux-gcp-5.19.0.orig/drivers/net/wireless/microchip/wilc1000/spi.c +++ linux-gcp-5.19.0/drivers/net/wireless/microchip/wilc1000/spi.c @@ -191,11 +191,11 @@ /* assert ENABLE: */ gpiod_set_value(gpios->enable, 1); mdelay(5); - /* deassert RESET: */ - gpiod_set_value(gpios->reset, 0); - } else { /* assert RESET: */ gpiod_set_value(gpios->reset, 1); + } else { + /* deassert RESET: */ + gpiod_set_value(gpios->reset, 0); /* deassert ENABLE: */ gpiod_set_value(gpios->enable, 0); } --- linux-gcp-5.19.0.orig/drivers/net/wireless/microchip/wilc1000/wlan.c +++ linux-gcp-5.19.0/drivers/net/wireless/microchip/wilc1000/wlan.c @@ -714,7 +714,7 @@ int ret = 0; int counter; int timeout; - u32 vmm_table[WILC_VMM_TBL_SIZE]; + u32 *vmm_table = wilc->vmm_table; u8 ac_pkt_num_to_chip[NQUEUES] = {0, 0, 0, 0}; const struct wilc_hif_func *func; int srcu_idx; @@ -1251,6 +1251,8 @@ while ((rqe = wilc_wlan_rxq_remove(wilc))) kfree(rqe); + kfree(wilc->vmm_table); + wilc->vmm_table = NULL; kfree(wilc->rx_buffer); wilc->rx_buffer = NULL; kfree(wilc->tx_buffer); @@ -1485,6 +1487,14 @@ goto fail; } + if (!wilc->vmm_table) + wilc->vmm_table = kzalloc(WILC_VMM_TBL_SIZE, GFP_KERNEL); + + if (!wilc->vmm_table) { + ret = -ENOBUFS; + goto fail; + } + if (!wilc->tx_buffer) wilc->tx_buffer = kmalloc(WILC_TX_BUFF_SIZE, GFP_KERNEL); @@ -1509,7 +1519,8 @@ return 0; fail: - + kfree(wilc->vmm_table); + wilc->vmm_table = NULL; kfree(wilc->rx_buffer); wilc->rx_buffer = NULL; kfree(wilc->tx_buffer); --- linux-gcp-5.19.0.orig/drivers/net/wireless/purelifi/plfxlc/usb.c +++ linux-gcp-5.19.0/drivers/net/wireless/purelifi/plfxlc/usb.c @@ -247,6 +247,7 @@ for (i = 0; i < RX_URBS_COUNT; i++) free_rx_urb(urbs[i]); } + kfree(urbs); return r; } --- linux-gcp-5.19.0.orig/drivers/net/wireless/quantenna/qtnfmac/cfg80211.c +++ linux-gcp-5.19.0/drivers/net/wireless/quantenna/qtnfmac/cfg80211.c @@ -352,7 +352,8 @@ return ret; } -static int qtnf_stop_ap(struct wiphy *wiphy, struct net_device *dev) +static int qtnf_stop_ap(struct wiphy *wiphy, struct net_device *dev, + unsigned int link_id) { struct qtnf_vif *vif = qtnf_netdev_get_priv(dev); int ret; @@ -500,7 +501,7 @@ switch (vif->wdev.iftype) { case NL80211_IFTYPE_STATION: - if (idx != 0 || !vif->wdev.current_bss) + if (idx != 0 || !vif->wdev.connected) return -ENOENT; ether_addr_copy(mac, vif->bssid); @@ -729,7 +730,7 @@ pr_err("VIF%u.%u: failed to disconnect\n", mac->macid, vif->vifid); - if (vif->wdev.current_bss) { + if (vif->wdev.connected) { netif_carrier_off(vif->netdev); cfg80211_disconnected(vif->netdev, reason_code, NULL, 0, true, GFP_KERNEL); @@ -745,10 +746,11 @@ struct qtnf_wmac *mac = wiphy_priv(wiphy); struct wireless_dev *wdev = dev->ieee80211_ptr; struct ieee80211_supported_band *sband; - const struct cfg80211_chan_def *chandef = &wdev->chandef; + const struct cfg80211_chan_def *chandef = wdev_chandef(wdev, 0); struct ieee80211_channel *chan; int ret; + sband = wiphy->bands[NL80211_BAND_2GHZ]; if (sband && idx >= sband->n_channels) { idx -= sband->n_channels; @@ -765,7 +767,7 @@ survey->channel = chan; survey->filled = 0x0; - if (chan == chandef->chan) + if (chandef && chan == chandef->chan) survey->filled = SURVEY_INFO_IN_USE; ret = qtnf_cmd_get_chan_stats(mac, chan->center_freq, survey); @@ -778,7 +780,7 @@ static int qtnf_get_channel(struct wiphy *wiphy, struct wireless_dev *wdev, - struct cfg80211_chan_def *chandef) + unsigned int link_id, struct cfg80211_chan_def *chandef) { struct net_device *ndev = wdev->netdev; struct qtnf_vif *vif; --- linux-gcp-5.19.0.orig/drivers/net/wireless/quantenna/qtnfmac/commands.c +++ linux-gcp-5.19.0/drivers/net/wireless/quantenna/qtnfmac/commands.c @@ -2005,7 +2005,7 @@ dwell_active = scan_req->duration; dwell_passive = scan_req->duration; } else if (wdev->iftype == NL80211_IFTYPE_STATION && - wdev->current_bss) { + wdev->connected) { /* let device select dwell based on traffic conditions */ dwell_active = QTNF_SCAN_TIME_AUTO; dwell_passive = QTNF_SCAN_TIME_AUTO; --- linux-gcp-5.19.0.orig/drivers/net/wireless/quantenna/qtnfmac/event.c +++ linux-gcp-5.19.0/drivers/net/wireless/quantenna/qtnfmac/event.c @@ -189,7 +189,7 @@ vif->mac->macid, vif->vifid, join_info->bssid, chandef.chan->hw_value); - if (!vif->wdev.ssid_len) { + if (!vif->wdev.u.client.ssid_len) { pr_warn("VIF%u.%u: SSID unknown for BSS:%pM\n", vif->mac->macid, vif->vifid, join_info->bssid); @@ -197,7 +197,7 @@ goto done; } - ie = kzalloc(2 + vif->wdev.ssid_len, GFP_KERNEL); + ie = kzalloc(2 + vif->wdev.u.client.ssid_len, GFP_KERNEL); if (!ie) { pr_warn("VIF%u.%u: IE alloc failed for BSS:%pM\n", vif->mac->macid, vif->vifid, @@ -207,14 +207,15 @@ } ie[0] = WLAN_EID_SSID; - ie[1] = vif->wdev.ssid_len; - memcpy(ie + 2, vif->wdev.ssid, vif->wdev.ssid_len); + ie[1] = vif->wdev.u.client.ssid_len; + memcpy(ie + 2, vif->wdev.u.client.ssid, + vif->wdev.u.client.ssid_len); bss = cfg80211_inform_bss(wiphy, chandef.chan, CFG80211_BSS_FTYPE_UNKNOWN, join_info->bssid, 0, WLAN_CAPABILITY_ESS, 100, - ie, 2 + vif->wdev.ssid_len, + ie, 2 + vif->wdev.u.client.ssid_len, 0, GFP_KERNEL); if (!bss) { pr_warn("VIF%u.%u: can't connect to unknown BSS: %pM\n", @@ -470,14 +471,14 @@ continue; if (vif->wdev.iftype == NL80211_IFTYPE_STATION && - !vif->wdev.current_bss) + !vif->wdev.connected) continue; if (!vif->netdev) continue; mutex_lock(&vif->wdev.mtx); - cfg80211_ch_switch_notify(vif->netdev, &chandef); + cfg80211_ch_switch_notify(vif->netdev, &chandef, 0); mutex_unlock(&vif->wdev.mtx); } --- linux-gcp-5.19.0.orig/drivers/net/wireless/ralink/rt2x00/rt2800lib.c +++ linux-gcp-5.19.0/drivers/net/wireless/ralink/rt2x00/rt2800lib.c @@ -4164,7 +4164,10 @@ rt2800_bbp_write(rt2x00dev, 62, 0x37 - rt2x00dev->lna_gain); rt2800_bbp_write(rt2x00dev, 63, 0x37 - rt2x00dev->lna_gain); rt2800_bbp_write(rt2x00dev, 64, 0x37 - rt2x00dev->lna_gain); - rt2800_bbp_write(rt2x00dev, 86, 0); + if (rt2x00_rt(rt2x00dev, RT6352)) + rt2800_bbp_write(rt2x00dev, 86, 0x38); + else + rt2800_bbp_write(rt2x00dev, 86, 0); } if (rf->channel <= 14) { @@ -4365,7 +4368,8 @@ reg = (rf->channel <= 14 ? 0x1c : 0x24) + 2*rt2x00dev->lna_gain; rt2800_bbp_write_with_rx_chain(rt2x00dev, 66, reg); - rt2800_iq_calibrate(rt2x00dev, rf->channel); + if (rt2x00_rt(rt2x00dev, RT5592)) + rt2800_iq_calibrate(rt2x00dev, rf->channel); } bbp = rt2800_bbp_read(rt2x00dev, 4); @@ -5644,7 +5648,8 @@ if (qual->vgc_level != vgc_level) { if (rt2x00_rt(rt2x00dev, RT3572) || rt2x00_rt(rt2x00dev, RT3593) || - rt2x00_rt(rt2x00dev, RT3883)) { + rt2x00_rt(rt2x00dev, RT3883) || + rt2x00_rt(rt2x00dev, RT6352)) { rt2800_bbp_write_with_rx_chain(rt2x00dev, 66, vgc_level); } else if (rt2x00_rt(rt2x00dev, RT5592)) { @@ -5867,7 +5872,7 @@ rt2800_register_write(rt2x00dev, TX_SW_CFG0, 0x00000404); } else if (rt2x00_rt(rt2x00dev, RT6352)) { rt2800_register_write(rt2x00dev, TX_SW_CFG0, 0x00000401); - rt2800_register_write(rt2x00dev, TX_SW_CFG1, 0x000C0000); + rt2800_register_write(rt2x00dev, TX_SW_CFG1, 0x000C0001); rt2800_register_write(rt2x00dev, TX_SW_CFG2, 0x00000000); rt2800_register_write(rt2x00dev, TX_ALC_VGA3, 0x00000000); rt2800_register_write(rt2x00dev, TX0_BB_GAIN_ATTEN, 0x0); @@ -6129,6 +6134,27 @@ reg = rt2800_register_read(rt2x00dev, US_CYC_CNT); rt2x00_set_field32(®, US_CYC_CNT_CLOCK_CYCLE, 125); rt2800_register_write(rt2x00dev, US_CYC_CNT, reg); + } else if (rt2x00_is_soc(rt2x00dev)) { + struct clk *clk = clk_get_sys("bus", NULL); + int rate; + + if (IS_ERR(clk)) { + clk = clk_get_sys("cpu", NULL); + + if (IS_ERR(clk)) { + rate = 125; + } else { + rate = clk_get_rate(clk) / 3000000; + clk_put(clk); + } + } else { + rate = clk_get_rate(clk) / 1000000; + clk_put(clk); + } + + reg = rt2800_register_read(rt2x00dev, US_CYC_CNT); + rt2x00_set_field32(®, US_CYC_CNT_CLOCK_CYCLE, rate); + rt2800_register_write(rt2x00dev, US_CYC_CNT, reg); } reg = rt2800_register_read(rt2x00dev, HT_FBK_CFG0); --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h @@ -1190,7 +1190,7 @@ u8 bw; } __packed ra_report; }; -}; +} __packed; struct rtl8xxxu_fileops; @@ -1425,7 +1425,7 @@ void (*set_tx_power) (struct rtl8xxxu_priv *priv, int channel, bool ht40); void (*update_rate_mask) (struct rtl8xxxu_priv *priv, - u32 ramask, u8 rateid, int sgi); + u32 ramask, u8 rateid, int sgi, int txbw_40mhz); void (*report_connect) (struct rtl8xxxu_priv *priv, u8 macid, bool connect); void (*fill_txdesc) (struct ieee80211_hw *hw, struct ieee80211_hdr *hdr, @@ -1511,9 +1511,9 @@ void rtl8xxxu_gen1_usb_quirks(struct rtl8xxxu_priv *priv); void rtl8xxxu_gen2_usb_quirks(struct rtl8xxxu_priv *priv); void rtl8xxxu_update_rate_mask(struct rtl8xxxu_priv *priv, - u32 ramask, u8 rateid, int sgi); + u32 ramask, u8 rateid, int sgi, int txbw_40mhz); void rtl8xxxu_gen2_update_rate_mask(struct rtl8xxxu_priv *priv, - u32 ramask, u8 rateid, int sgi); + u32 ramask, u8 rateid, int sgi, int txbw_40mhz); void rtl8xxxu_gen1_report_connect(struct rtl8xxxu_priv *priv, u8 macid, bool connect); void rtl8xxxu_gen2_report_connect(struct rtl8xxxu_priv *priv, --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8192e.c @@ -1669,6 +1669,11 @@ val8 = rtl8xxxu_read8(priv, REG_PAD_CTRL1); val8 &= ~BIT(0); rtl8xxxu_write8(priv, REG_PAD_CTRL1, val8); + + /* + * Fix transmission failure of rtl8192e. + */ + rtl8xxxu_write8(priv, REG_TXPAUSE, 0x00); } struct rtl8xxxu_fileops rtl8192eu_fops = { --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c @@ -1608,18 +1608,18 @@ { struct device *dev = &priv->udev->dev; struct ieee80211_hw *hw = priv->hw; - u32 val32, bonding; + u32 val32, bonding, sys_cfg; u16 val16; - val32 = rtl8xxxu_read32(priv, REG_SYS_CFG); - priv->chip_cut = (val32 & SYS_CFG_CHIP_VERSION_MASK) >> + sys_cfg = rtl8xxxu_read32(priv, REG_SYS_CFG); + priv->chip_cut = (sys_cfg & SYS_CFG_CHIP_VERSION_MASK) >> SYS_CFG_CHIP_VERSION_SHIFT; - if (val32 & SYS_CFG_TRP_VAUX_EN) { + if (sys_cfg & SYS_CFG_TRP_VAUX_EN) { dev_info(dev, "Unsupported test chip\n"); return -ENOTSUPP; } - if (val32 & SYS_CFG_BT_FUNC) { + if (sys_cfg & SYS_CFG_BT_FUNC) { if (priv->chip_cut >= 3) { sprintf(priv->chip_name, "8723BU"); priv->rtl_chip = RTL8723B; @@ -1641,7 +1641,7 @@ if (val32 & MULTI_GPS_FUNC_EN) priv->has_gps = 1; priv->is_multi_func = 1; - } else if (val32 & SYS_CFG_TYPE_ID) { + } else if (sys_cfg & SYS_CFG_TYPE_ID) { bonding = rtl8xxxu_read32(priv, REG_HPON_FSM); bonding &= HPON_FSM_BONDING_MASK; if (priv->fops->tx_desc_size == @@ -1692,7 +1692,7 @@ case RTL8188E: case RTL8192E: case RTL8723B: - switch (val32 & SYS_CFG_VENDOR_EXT_MASK) { + switch (sys_cfg & SYS_CFG_VENDOR_EXT_MASK) { case SYS_CFG_VENDOR_ID_TSMC: sprintf(priv->chip_vendor, "TSMC"); break; @@ -1709,7 +1709,7 @@ } break; default: - if (val32 & SYS_CFG_VENDOR_ID) { + if (sys_cfg & SYS_CFG_VENDOR_ID) { sprintf(priv->chip_vendor, "UMC"); priv->vendor_umc = 1; } else { @@ -1878,13 +1878,6 @@ /* We have 8 bits to indicate validity */ map_addr = offset * 8; - if (map_addr >= EFUSE_MAP_LEN) { - dev_warn(dev, "%s: Illegal map_addr (%04x), " - "efuse corrupt!\n", - __func__, map_addr); - ret = -EINVAL; - goto exit; - } for (i = 0; i < EFUSE_MAX_WORD_UNIT; i++) { /* Check word enable condition in the section */ if (word_mask & BIT(i)) { @@ -1895,6 +1888,13 @@ ret = rtl8xxxu_read_efuse8(priv, efuse_addr++, &val8); if (ret) goto exit; + if (map_addr >= EFUSE_MAP_LEN - 1) { + dev_warn(dev, "%s: Illegal map_addr (%04x), " + "efuse corrupt!\n", + __func__, map_addr); + ret = -EINVAL; + goto exit; + } priv->efuse_wifi.raw[map_addr++] = val8; ret = rtl8xxxu_read_efuse8(priv, efuse_addr++, &val8); @@ -2929,12 +2929,12 @@ } if (!(simubitmap & 0x30) && priv->tx_paths > 1) { - /* path B RX OK */ + /* path B TX OK */ for (i = 4; i < 6; i++) result[3][i] = result[c1][i]; } - if (!(simubitmap & 0x30) && priv->tx_paths > 1) { + if (!(simubitmap & 0xc0) && priv->tx_paths > 1) { /* path B RX OK */ for (i = 6; i < 8; i++) result[3][i] = result[c1][i]; @@ -4320,7 +4320,7 @@ } void rtl8xxxu_update_rate_mask(struct rtl8xxxu_priv *priv, - u32 ramask, u8 rateid, int sgi) + u32 ramask, u8 rateid, int sgi, int txbw_40mhz) { struct h2c_cmd h2c; @@ -4340,10 +4340,15 @@ } void rtl8xxxu_gen2_update_rate_mask(struct rtl8xxxu_priv *priv, - u32 ramask, u8 rateid, int sgi) + u32 ramask, u8 rateid, int sgi, int txbw_40mhz) { struct h2c_cmd h2c; - u8 bw = RTL8XXXU_CHANNEL_WIDTH_20; + u8 bw; + + if (txbw_40mhz) + bw = RTL8XXXU_CHANNEL_WIDTH_40; + else + bw = RTL8XXXU_CHANNEL_WIDTH_20; memset(&h2c, 0, sizeof(struct h2c_cmd)); @@ -4353,15 +4358,14 @@ h2c.b_macid_cfg.ramask2 = (ramask >> 16) & 0xff; h2c.b_macid_cfg.ramask3 = (ramask >> 24) & 0xff; - h2c.ramask.arg = 0x80; h2c.b_macid_cfg.data1 = rateid; if (sgi) h2c.b_macid_cfg.data1 |= BIT(7); h2c.b_macid_cfg.data2 = bw; - dev_dbg(&priv->udev->dev, "%s: rate mask %08x, arg %02x, size %zi\n", - __func__, ramask, h2c.ramask.arg, sizeof(h2c.b_macid_cfg)); + dev_dbg(&priv->udev->dev, "%s: rate mask %08x, rateid %02x, sgi %d, size %zi\n", + __func__, ramask, rateid, sgi, sizeof(h2c.b_macid_cfg)); rtl8xxxu_gen2_h2c_cmd(priv, &h2c, sizeof(h2c.b_macid_cfg)); } @@ -4385,12 +4389,9 @@ void rtl8xxxu_gen2_report_connect(struct rtl8xxxu_priv *priv, u8 macid, bool connect) { -#ifdef RTL8XXXU_GEN2_REPORT_CONNECT /* - * Barry Day reports this causes issues with 8192eu and 8723bu - * devices reconnecting. The reason for this is unclear, but - * until it is better understood, leave the code in place but - * disabled, so it is not lost. + * The firmware turns on the rate control when it knows it's + * connected to a network. */ struct h2c_cmd h2c; @@ -4403,7 +4404,6 @@ h2c.media_status_rpt.parm &= ~BIT(0); rtl8xxxu_gen2_h2c_cmd(priv, &h2c, sizeof(h2c.media_status_rpt)); -#endif } void rtl8xxxu_gen1_init_aggregation(struct rtl8xxxu_priv *priv) @@ -4556,6 +4556,53 @@ return network_type; } +static void rtl8xxxu_set_aifs(struct rtl8xxxu_priv *priv, u8 slot_time) +{ + u32 reg_edca_param[IEEE80211_NUM_ACS] = { + [IEEE80211_AC_VO] = REG_EDCA_VO_PARAM, + [IEEE80211_AC_VI] = REG_EDCA_VI_PARAM, + [IEEE80211_AC_BE] = REG_EDCA_BE_PARAM, + [IEEE80211_AC_BK] = REG_EDCA_BK_PARAM, + }; + u32 val32; + u16 wireless_mode = 0; + u8 aifs, aifsn, sifs; + int i; + + if (priv->vif) { + struct ieee80211_sta *sta; + + rcu_read_lock(); + sta = ieee80211_find_sta(priv->vif, priv->vif->bss_conf.bssid); + if (sta) + wireless_mode = rtl8xxxu_wireless_mode(priv->hw, sta); + rcu_read_unlock(); + } + + if (priv->hw->conf.chandef.chan->band == NL80211_BAND_5GHZ || + (wireless_mode & WIRELESS_MODE_N_24G)) + sifs = 16; + else + sifs = 10; + + for (i = 0; i < IEEE80211_NUM_ACS; i++) { + val32 = rtl8xxxu_read32(priv, reg_edca_param[i]); + + /* It was set in conf_tx. */ + aifsn = val32 & 0xff; + + /* aifsn not set yet or already fixed */ + if (aifsn < 2 || aifsn > 15) + continue; + + aifs = aifsn * slot_time + sifs; + + val32 &= ~0xff; + val32 |= aifs; + rtl8xxxu_write32(priv, reg_edca_param[i], val32); + } +} + static void rtl8xxxu_bss_info_changed(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *bss_conf, u32 changed) @@ -4603,7 +4650,6 @@ if (sta->deflink.ht_cap.cap & (IEEE80211_HT_CAP_SGI_40 | IEEE80211_HT_CAP_SGI_20)) sgi = 1; - rcu_read_unlock(); highest_rate = fls(ramask) - 1; if (highest_rate < DESC_RATE_MCS0) { @@ -4622,8 +4668,13 @@ RATE_INFO_FLAGS_SHORT_GI; } - rarpt->txrate.bw |= RATE_INFO_BW_20; + if (rtl8xxxu_ht40_2g && + (sta->deflink.ht_cap.cap & IEEE80211_HT_CAP_SUP_WIDTH_20_40)) + rarpt->txrate.bw = RATE_INFO_BW_40; + else + rarpt->txrate.bw = RATE_INFO_BW_20; } + rcu_read_unlock(); bit_rate = cfg80211_calculate_bitrate(&rarpt->txrate); rarpt->bit_rate = bit_rate; rarpt->desc_rate = highest_rate; @@ -4631,7 +4682,7 @@ priv->vif = vif; priv->rssi_level = RTL8XXXU_RATR_STA_INIT; - priv->fops->update_rate_mask(priv, ramask, 0, sgi); + priv->fops->update_rate_mask(priv, ramask, 0, sgi, rarpt->txrate.bw == RATE_INFO_BW_40); rtl8xxxu_write8(priv, REG_BCN_MAX_ERR, 0xff); @@ -4671,6 +4722,8 @@ else val8 = 20; rtl8xxxu_write8(priv, REG_SLOT, val8); + + rtl8xxxu_set_aifs(priv, val8); } if (changed & BSS_CHANGED_BSSID) { @@ -5062,6 +5115,8 @@ if (control && control->sta) sta = control->sta; + queue = rtl8xxxu_queue_select(hw, skb); + tx_desc = skb_push(skb, tx_desc_size); memset(tx_desc, 0, tx_desc_size); @@ -5074,7 +5129,6 @@ is_broadcast_ether_addr(ieee80211_get_DA(hdr))) tx_desc->txdw0 |= TXDESC_BROADMULTICAST; - queue = rtl8xxxu_queue_select(hw, skb); tx_desc->txdw1 = cpu_to_le32(queue << TXDESC_QUEUE_SHIFT); if (tx_info->control.hw_key) { @@ -5217,7 +5271,7 @@ pending = priv->rx_urb_pending_count; } else { skb = (struct sk_buff *)rx_urb->urb.context; - dev_kfree_skb(skb); + dev_kfree_skb_irq(skb); usb_free_urb(&rx_urb->urb); } @@ -5494,9 +5548,6 @@ btcoex = &priv->bt_coex; rarpt = &priv->ra_report; - if (priv->rf_paths > 1) - goto out; - while (!skb_queue_empty(&priv->c2hcmd_queue)) { skb = skb_dequeue(&priv->c2hcmd_queue); @@ -5517,7 +5568,6 @@ rarpt->txrate.flags = 0; rate = c2h->ra_report.rate; sgi = c2h->ra_report.sgi; - bw = c2h->ra_report.bw; if (rate < DESC_RATE_MCS0) { rarpt->txrate.legacy = @@ -5534,8 +5584,13 @@ RATE_INFO_FLAGS_SHORT_GI; } - if (bw == RATE_INFO_BW_20) - rarpt->txrate.bw |= RATE_INFO_BW_20; + if (skb->len >= offsetofend(typeof(*c2h), ra_report.bw)) { + if (c2h->ra_report.bw == RTL8XXXU_CHANNEL_WIDTH_40) + bw = RATE_INFO_BW_40; + else + bw = RATE_INFO_BW_20; + rarpt->txrate.bw = bw; + } } bit_rate = cfg80211_calculate_bitrate(&rarpt->txrate); rarpt->bit_rate = bit_rate; @@ -5544,10 +5599,9 @@ default: break; } - } -out: - dev_kfree_skb(skb); + dev_kfree_skb(skb); + } } static void rtl8723bu_handle_c2h(struct rtl8xxxu_priv *priv, @@ -5913,7 +5967,6 @@ { struct rtl8xxxu_priv *priv = hw->priv; struct device *dev = &priv->udev->dev; - u16 val16; int ret = 0, channel; bool ht40; @@ -5923,14 +5976,6 @@ __func__, hw->conf.chandef.chan->hw_value, changed, hw->conf.chandef.width); - if (changed & IEEE80211_CONF_CHANGE_RETRY_LIMITS) { - val16 = ((hw->conf.long_frame_max_tx_count << - RETRY_LIMIT_LONG_SHIFT) & RETRY_LIMIT_LONG_MASK) | - ((hw->conf.short_frame_max_tx_count << - RETRY_LIMIT_SHORT_SHIFT) & RETRY_LIMIT_SHORT_MASK); - rtl8xxxu_write16(priv, REG_RETRY_LIMIT, val16); - } - if (changed & IEEE80211_CONF_CHANGE_CHANNEL) { switch (hw->conf.chandef.width) { case NL80211_CHAN_WIDTH_20_NOHT: @@ -6343,7 +6388,7 @@ } priv->rssi_level = rssi_level; - priv->fops->update_rate_mask(priv, rate_bitmap, ratr_idx, sgi); + priv->fops->update_rate_mask(priv, rate_bitmap, ratr_idx, sgi, txbw_40mhz); } } --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtlwifi/debug.c +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtlwifi/debug.c @@ -329,8 +329,8 @@ tmp_len = (count > sizeof(tmp) - 1 ? sizeof(tmp) - 1 : count); - if (!buffer || copy_from_user(tmp, buffer, tmp_len)) - return count; + if (copy_from_user(tmp, buffer, tmp_len)) + return -EFAULT; tmp[tmp_len] = '\0'; @@ -340,8 +340,8 @@ &h2c_data[4], &h2c_data[5], &h2c_data[6], &h2c_data[7]); - if (h2c_len <= 0) - return count; + if (h2c_len == 0) + return -EINVAL; for (i = 0; i < h2c_len; i++) h2c_data_packed[i] = (u8)h2c_data[i]; --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtlwifi/rtl8188ee/hw.c @@ -68,8 +68,10 @@ struct rtl_priv *rtlpriv = rtl_priv(hw); struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); struct rtl8192_tx_ring *ring = &rtlpci->tx_ring[BEACON_QUEUE]; + struct sk_buff_head free_list; unsigned long flags; + skb_queue_head_init(&free_list); spin_lock_irqsave(&rtlpriv->locks.irq_th_lock, flags); while (skb_queue_len(&ring->queue)) { struct rtl_tx_desc *entry = &ring->desc[ring->idx]; @@ -79,10 +81,12 @@ rtlpriv->cfg->ops->get_desc(hw, (u8 *)entry, true, HW_DESC_TXBUFF_ADDR), skb->len, DMA_TO_DEVICE); - kfree_skb(skb); + __skb_queue_tail(&free_list, skb); ring->idx = (ring->idx + 1) % ring->entries; } spin_unlock_irqrestore(&rtlpriv->locks.irq_th_lock, flags); + + __skb_queue_purge(&free_list); } static void _rtl88ee_disable_bcn_sub_func(struct ieee80211_hw *hw) --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtlwifi/rtl8192de/phy.c @@ -2386,11 +2386,10 @@ rtl_dbg(rtlpriv, COMP_SCAN, DBG_LOUD, "Just Read IQK Matrix reg for channel:%d....\n", channel); - _rtl92d_phy_patha_fill_iqk_matrix(hw, true, - rtlphy->iqk_matrix[ - indexforchannel].value, 0, - (rtlphy->iqk_matrix[ - indexforchannel].value[0][2] == 0)); + if (rtlphy->iqk_matrix[indexforchannel].value[0][0] != 0) + _rtl92d_phy_patha_fill_iqk_matrix(hw, true, + rtlphy->iqk_matrix[indexforchannel].value, 0, + rtlphy->iqk_matrix[indexforchannel].value[0][2] == 0); if (IS_92D_SINGLEPHY(rtlhal->version)) { if ((rtlphy->iqk_matrix[ indexforchannel].value[0][4] != 0) --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c @@ -30,8 +30,10 @@ struct rtl_priv *rtlpriv = rtl_priv(hw); struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); struct rtl8192_tx_ring *ring = &rtlpci->tx_ring[BEACON_QUEUE]; + struct sk_buff_head free_list; unsigned long flags; + skb_queue_head_init(&free_list); spin_lock_irqsave(&rtlpriv->locks.irq_th_lock, flags); while (skb_queue_len(&ring->queue)) { struct rtl_tx_desc *entry = &ring->desc[ring->idx]; @@ -41,10 +43,12 @@ rtlpriv->cfg->ops->get_desc(hw, (u8 *)entry, true, HW_DESC_TXBUFF_ADDR), skb->len, DMA_TO_DEVICE); - kfree_skb(skb); + __skb_queue_tail(&free_list, skb); ring->idx = (ring->idx + 1) % ring->entries; } spin_unlock_irqrestore(&rtlpriv->locks.irq_th_lock, flags); + + __skb_queue_purge(&free_list); } static void _rtl8723be_set_bcn_ctrl_reg(struct ieee80211_hw *hw, --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/hw.c @@ -26,8 +26,10 @@ struct rtl_priv *rtlpriv = rtl_priv(hw); struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); struct rtl8192_tx_ring *ring = &rtlpci->tx_ring[BEACON_QUEUE]; + struct sk_buff_head free_list; unsigned long flags; + skb_queue_head_init(&free_list); spin_lock_irqsave(&rtlpriv->locks.irq_th_lock, flags); while (skb_queue_len(&ring->queue)) { struct rtl_tx_desc *entry = &ring->desc[ring->idx]; @@ -37,10 +39,12 @@ rtlpriv->cfg->ops->get_desc(hw, (u8 *)entry, true, HW_DESC_TXBUFF_ADDR), skb->len, DMA_TO_DEVICE); - kfree_skb(skb); + __skb_queue_tail(&free_list, skb); ring->idx = (ring->idx + 1) % ring->entries; } spin_unlock_irqrestore(&rtlpriv->locks.irq_th_lock, flags); + + __skb_queue_purge(&free_list); } static void _rtl8821ae_set_bcn_ctrl_reg(struct ieee80211_hw *hw, --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/phy.c @@ -1598,18 +1598,6 @@ return true; } -static bool _rtl8812ae_eq_n_byte(const char *str1, const char *str2, u32 num) -{ - if (num == 0) - return false; - while (num > 0) { - num--; - if (str1[num] != str2[num]) - return false; - } - return true; -} - static s8 _rtl8812ae_phy_get_chnl_idx_of_txpwr_lmt(struct ieee80211_hw *hw, u8 band, u8 channel) { @@ -1659,42 +1647,42 @@ power_limit = power_limit > MAX_POWER_INDEX ? MAX_POWER_INDEX : power_limit; - if (_rtl8812ae_eq_n_byte(pregulation, "FCC", 3)) + if (strcmp(pregulation, "FCC") == 0) regulation = 0; - else if (_rtl8812ae_eq_n_byte(pregulation, "MKK", 3)) + else if (strcmp(pregulation, "MKK") == 0) regulation = 1; - else if (_rtl8812ae_eq_n_byte(pregulation, "ETSI", 4)) + else if (strcmp(pregulation, "ETSI") == 0) regulation = 2; - else if (_rtl8812ae_eq_n_byte(pregulation, "WW13", 4)) + else if (strcmp(pregulation, "WW13") == 0) regulation = 3; - if (_rtl8812ae_eq_n_byte(prate_section, "CCK", 3)) + if (strcmp(prate_section, "CCK") == 0) rate_section = 0; - else if (_rtl8812ae_eq_n_byte(prate_section, "OFDM", 4)) + else if (strcmp(prate_section, "OFDM") == 0) rate_section = 1; - else if (_rtl8812ae_eq_n_byte(prate_section, "HT", 2) && - _rtl8812ae_eq_n_byte(prf_path, "1T", 2)) + else if (strcmp(prate_section, "HT") == 0 && + strcmp(prf_path, "1T") == 0) rate_section = 2; - else if (_rtl8812ae_eq_n_byte(prate_section, "HT", 2) && - _rtl8812ae_eq_n_byte(prf_path, "2T", 2)) + else if (strcmp(prate_section, "HT") == 0 && + strcmp(prf_path, "2T") == 0) rate_section = 3; - else if (_rtl8812ae_eq_n_byte(prate_section, "VHT", 3) && - _rtl8812ae_eq_n_byte(prf_path, "1T", 2)) + else if (strcmp(prate_section, "VHT") == 0 && + strcmp(prf_path, "1T") == 0) rate_section = 4; - else if (_rtl8812ae_eq_n_byte(prate_section, "VHT", 3) && - _rtl8812ae_eq_n_byte(prf_path, "2T", 2)) + else if (strcmp(prate_section, "VHT") == 0 && + strcmp(prf_path, "2T") == 0) rate_section = 5; - if (_rtl8812ae_eq_n_byte(pbandwidth, "20M", 3)) + if (strcmp(pbandwidth, "20M") == 0) bandwidth = 0; - else if (_rtl8812ae_eq_n_byte(pbandwidth, "40M", 3)) + else if (strcmp(pbandwidth, "40M") == 0) bandwidth = 1; - else if (_rtl8812ae_eq_n_byte(pbandwidth, "80M", 3)) + else if (strcmp(pbandwidth, "80M") == 0) bandwidth = 2; - else if (_rtl8812ae_eq_n_byte(pbandwidth, "160M", 4)) + else if (strcmp(pbandwidth, "160M") == 0) bandwidth = 3; - if (_rtl8812ae_eq_n_byte(pband, "2.4G", 4)) { + if (strcmp(pband, "2.4G") == 0) { ret = _rtl8812ae_phy_get_chnl_idx_of_txpwr_lmt(hw, BAND_ON_2_4G, channel); @@ -1718,7 +1706,7 @@ regulation, bandwidth, rate_section, channel_index, rtlphy->txpwr_limit_2_4g[regulation][bandwidth] [rate_section][channel_index][RF90_PATH_A]); - } else if (_rtl8812ae_eq_n_byte(pband, "5G", 2)) { + } else if (strcmp(pband, "5G") == 0) { ret = _rtl8812ae_phy_get_chnl_idx_of_txpwr_lmt(hw, BAND_ON_5G, channel); --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtw88/main.c +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtw88/main.c @@ -1984,6 +1984,10 @@ timer_setup(&rtwdev->tx_report.purge_timer, rtw_tx_report_purge_timer, 0); rtwdev->tx_wq = alloc_workqueue("rtw_tx_wq", WQ_UNBOUND | WQ_HIGHPRI, 0); + if (!rtwdev->tx_wq) { + rtw_warn(rtwdev, "alloc_workqueue rtw_tx_wq failed\n"); + return -ENOMEM; + } INIT_DELAYED_WORK(&rtwdev->watch_dog_work, rtw_watch_dog_work); INIT_DELAYED_WORK(&coex->bt_relink_work, rtw_coex_bt_relink_work); @@ -2033,7 +2037,7 @@ ret = rtw_load_firmware(rtwdev, RTW_NORMAL_FW); if (ret) { rtw_warn(rtwdev, "no firmware loaded\n"); - return ret; + goto out; } if (chip->wow_fw_name) { @@ -2043,11 +2047,15 @@ wait_for_completion(&rtwdev->fw.completion); if (rtwdev->fw.firmware) release_firmware(rtwdev->fw.firmware); - return ret; + goto out; } } return 0; + +out: + destroy_workqueue(rtwdev->tx_wq); + return ret; } EXPORT_SYMBOL(rtw_core_init); --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtw88/pci.c +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtw88/pci.c @@ -1785,7 +1785,7 @@ } /* Disable PCIe ASPM L1 while doing NAPI poll for 8821CE */ - if (rtwdev->chip->id == RTW_CHIP_TYPE_8821C && bridge->vendor == PCI_VENDOR_ID_INTEL) + if (pdev->device == 0xc821 && bridge->vendor == PCI_VENDOR_ID_INTEL) rtwpci->rx_no_aspm = true; rtw_pci_phy_cfg(rtwdev); --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtw89/core.c +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtw89/core.c @@ -860,6 +860,7 @@ rtw89_debug(rtwdev, RTW89_DBG_FW, "ignore h2c due to power is off with firmware state=%d\n", test_bit(RTW89_FLAG_FW_RDY, rtwdev->flags)); + dev_kfree_skb(skb); return 0; } @@ -2352,7 +2353,7 @@ } /* update cam aid mac_id net_type */ - rtw89_fw_h2c_cam(rtwdev, rtwvif, rtwsta, NULL); + ret = rtw89_fw_h2c_cam(rtwdev, rtwvif, rtwsta, NULL); if (ret) { rtw89_warn(rtwdev, "failed to send h2c cam\n"); return ret; @@ -2811,6 +2812,8 @@ INIT_DELAYED_WORK(&rtwdev->coex_rfk_chk_work, rtw89_coex_rfk_chk_work); INIT_DELAYED_WORK(&rtwdev->cfo_track_work, rtw89_phy_cfo_track_work); rtwdev->txq_wq = alloc_workqueue("rtw89_tx_wq", WQ_UNBOUND | WQ_HIGHPRI, 0); + if (!rtwdev->txq_wq) + return -ENOMEM; spin_lock_init(&rtwdev->ba_lock); spin_lock_init(&rtwdev->rpwm_lock); mutex_init(&rtwdev->mutex); @@ -2834,6 +2837,7 @@ ret = rtw89_load_firmware(rtwdev); if (ret) { rtw89_warn(rtwdev, "no firmware loaded\n"); + destroy_workqueue(rtwdev->txq_wq); return ret; } rtw89_ser_init(rtwdev); --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtw89/fw.c +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtw89/fw.c @@ -2114,8 +2114,10 @@ list_add_tail(&info->list, &scan_info->pkt_list[band]); ret = rtw89_fw_h2c_add_pkt_offload(rtwdev, &info->id, new); - if (ret) + if (ret) { + kfree_skb(new); goto out; + } kfree_skb(new); } @@ -2288,6 +2290,7 @@ { struct rtw89_vif *rtwvif = (struct rtw89_vif *)vif->drv_priv; struct cfg80211_scan_request *req = &scan_req->req; + u32 rx_fltr = rtwdev->hal.rx_fltr; u8 mac_addr[ETH_ALEN]; rtwdev->scan_info.scanning_vif = vif; @@ -2302,13 +2305,13 @@ ether_addr_copy(mac_addr, vif->addr); rtw89_core_scan_start(rtwdev, rtwvif, mac_addr, true); - rtwdev->hal.rx_fltr &= ~B_AX_A_BCN_CHK_EN; - rtwdev->hal.rx_fltr &= ~B_AX_A_BC; - rtwdev->hal.rx_fltr &= ~B_AX_A_A1_MATCH; + rx_fltr &= ~B_AX_A_BCN_CHK_EN; + rx_fltr &= ~B_AX_A_BC; + rx_fltr &= ~B_AX_A_A1_MATCH; rtw89_write32_mask(rtwdev, rtw89_mac_reg_by_idx(R_AX_RX_FLTR_OPT, RTW89_MAC_0), B_AX_RX_FLTR_CFG_MASK, - rtwdev->hal.rx_fltr); + rx_fltr); } void rtw89_hw_scan_complete(struct rtw89_dev *rtwdev, struct ieee80211_vif *vif, @@ -2322,9 +2325,6 @@ if (!vif) return; - rtwdev->hal.rx_fltr |= B_AX_A_BCN_CHK_EN; - rtwdev->hal.rx_fltr |= B_AX_A_BC; - rtwdev->hal.rx_fltr |= B_AX_A_A1_MATCH; rtw89_write32_mask(rtwdev, rtw89_mac_reg_by_idx(R_AX_RX_FLTR_OPT, RTW89_MAC_0), B_AX_RX_FLTR_CFG_MASK, --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtw89/mac.c +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtw89/mac.c @@ -1387,10 +1387,8 @@ #define INVALID_QT_WCPU U16_MAX #define SET_QUOTA_VAL(_min_x, _max_x, _module, _idx) \ do { \ - val = ((_min_x) & \ - B_AX_ ## _module ## _MIN_SIZE_MASK) | \ - (((_max_x) << 16) & \ - B_AX_ ## _module ## _MAX_SIZE_MASK); \ + val = u32_encode_bits(_min_x, B_AX_ ## _module ## _MIN_SIZE_MASK) | \ + u32_encode_bits(_max_x, B_AX_ ## _module ## _MAX_SIZE_MASK); \ rtw89_write32(rtwdev, \ R_AX_ ## _module ## _QTA ## _idx ## _CFG, \ val); \ --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtw89/pci.c +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtw89/pci.c @@ -756,7 +756,8 @@ enable_intr: spin_lock_irqsave(&rtwpci->irq_lock, flags); - rtw89_chip_enable_intr(rtwdev, rtwpci); + if (likely(rtwpci->running)) + rtw89_chip_enable_intr(rtwdev, rtwpci); spin_unlock_irqrestore(&rtwpci->irq_lock, flags); return IRQ_HANDLED; } @@ -921,10 +922,12 @@ { struct rtw89_pci *rtwpci = (struct rtw89_pci *)rtwdev->priv; struct rtw89_pci_tx_ring *tx_ring = &rtwpci->tx_rings[txch]; + struct rtw89_pci_tx_wd_ring *wd_ring = &tx_ring->wd_ring; u32 cnt; spin_lock_bh(&rtwpci->trx_lock); cnt = rtw89_pci_get_avail_txbd_num(tx_ring); + cnt = min(cnt, wd_ring->curr_num); spin_unlock_bh(&rtwpci->trx_lock); return cnt; --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtw89/phy.c +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtw89/phy.c @@ -3019,7 +3019,7 @@ static bool rtw89_physts_ie_page_valid(enum rtw89_phy_status_bitmap *ie_page) { - if (*ie_page > RTW89_PHYSTS_BITMAP_NUM || + if (*ie_page >= RTW89_PHYSTS_BITMAP_NUM || *ie_page == RTW89_RSVD_9) return false; else if (*ie_page > RTW89_RSVD_9) --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtw89/reg.h +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtw89/reg.h @@ -3302,6 +3302,8 @@ #define RR_TXRSV_GAPK BIT(19) #define RR_BIAS 0x5e #define RR_BIAS_GAPK BIT(19) +#define RR_TXAC 0x5f +#define RR_TXAC_IQG GENMASK(3, 0) #define RR_BIASA 0x60 #define RR_BIASA_TXG GENMASK(15, 12) #define RR_BIASA_TXA GENMASK(19, 16) --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c @@ -2330,8 +2330,8 @@ val2_q = abs(sign_extend32(val2_q, 11)); rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] PAS_delta = 0x%x\n", - (val1_i * val1_i + val1_q * val1_q) / - (val2_i * val2_i + val2_q * val2_q)); + phy_div(val1_i * val1_i + val1_q * val1_q, + val2_i * val2_i + val2_q * val2_q)); } else { for (i = 0; i < 32; i++) { --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtw89/rtw8852c_rfk.c @@ -338,7 +338,7 @@ (dack->dadck_d[path][index] << 14); addr = 0xc210 + offset; rtw89_phy_write32(rtwdev, addr, val32); - rtw89_phy_write32_set(rtwdev, addr, BIT(1)); + rtw89_phy_write32_set(rtwdev, addr, BIT(0)); } static void _dack_reload(struct rtw89_dev *rtwdev, enum rtw89_rf_path path) @@ -1872,12 +1872,11 @@ 0x50101 | BIT(rtwdev->dbcc_en)); rtw89_write_rf(rtwdev, path, RR_MOD_V1, RR_MOD_MASK, RF_DPK); - if (dpk->bp[path][kidx].band == RTW89_BAND_6G && dpk->bp[path][kidx].ch >= 161) { + if (dpk->bp[path][kidx].band == RTW89_BAND_6G && dpk->bp[path][kidx].ch >= 161) rtw89_write_rf(rtwdev, path, RR_IQGEN, RR_IQGEN_BIAS, 0x8); - rtw89_write_rf(rtwdev, path, RR_LOGEN, RR_LOGEN_RPT, 0xd); - } else { - rtw89_write_rf(rtwdev, path, RR_LOGEN, RR_LOGEN_RPT, 0xd); - } + + rtw89_write_rf(rtwdev, path, RR_LOGEN, RR_LOGEN_RPT, 0xd); + rtw89_write_rf(rtwdev, path, RR_TXAC, RR_TXAC_IQG, 0x8); rtw89_write_rf(rtwdev, path, RR_RXA2, RR_RXA2_ATT, 0x0); rtw89_write_rf(rtwdev, path, RR_TXIQK, RR_TXIQK_ATT2, 0x3); --- linux-gcp-5.19.0.orig/drivers/net/wireless/realtek/rtw89/ser.c +++ linux-gcp-5.19.0/drivers/net/wireless/realtek/rtw89/ser.c @@ -152,7 +152,10 @@ rtw89_debug(rtwdev, RTW89_DBG_SER, "ser: %s receive %s\n", ser_st_name(ser), ser_ev_name(ser, evt)); + mutex_lock(&rtwdev->mutex); rtw89_leave_lps(rtwdev); + mutex_unlock(&rtwdev->mutex); + ser->st_tbl[ser->state].st_func(ser, evt); } --- linux-gcp-5.19.0.orig/drivers/net/wireless/rndis_wlan.c +++ linux-gcp-5.19.0/drivers/net/wireless/rndis_wlan.c @@ -694,8 +694,8 @@ struct rndis_query *get; struct rndis_query_c *get_c; } u; - int ret, buflen; - int resplen, respoffs, copylen; + int ret; + size_t buflen, resplen, respoffs, copylen; buflen = *len + sizeof(*u.get); if (buflen < CONTROL_BUFFER_SIZE) @@ -730,22 +730,15 @@ if (respoffs > buflen) { /* Device returned data offset outside buffer, error. */ - netdev_dbg(dev->net, "%s(%s): received invalid " - "data offset: %d > %d\n", __func__, - oid_to_string(oid), respoffs, buflen); + netdev_dbg(dev->net, + "%s(%s): received invalid data offset: %zu > %zu\n", + __func__, oid_to_string(oid), respoffs, buflen); ret = -EINVAL; goto exit_unlock; } - if ((resplen + respoffs) > buflen) { - /* Device would have returned more data if buffer would - * have been big enough. Copy just the bits that we got. - */ - copylen = buflen - respoffs; - } else { - copylen = resplen; - } + copylen = min(resplen, buflen - respoffs); if (copylen > *len) copylen = *len; --- linux-gcp-5.19.0.orig/drivers/net/wireless/rsi/rsi_91x_coex.c +++ linux-gcp-5.19.0/drivers/net/wireless/rsi/rsi_91x_coex.c @@ -160,6 +160,7 @@ rsi_coex_scheduler_thread, "Coex-Tx-Thread")) { rsi_dbg(ERR_ZONE, "%s: Unable to init tx thrd\n", __func__); + kfree(coex_cb); return -EINVAL; } return 0; --- linux-gcp-5.19.0.orig/drivers/net/wireless/rsi/rsi_91x_core.c +++ linux-gcp-5.19.0/drivers/net/wireless/rsi/rsi_91x_core.c @@ -465,7 +465,9 @@ tid, 0); } } - if (skb->protocol == cpu_to_be16(ETH_P_PAE)) { + + if (IEEE80211_SKB_CB(skb)->control.flags & + IEEE80211_TX_CTRL_PORT_CTRL_PROTO) { q_num = MGMT_SOFT_Q; skb->priority = q_num; } --- linux-gcp-5.19.0.orig/drivers/net/wireless/rsi/rsi_91x_hal.c +++ linux-gcp-5.19.0/drivers/net/wireless/rsi/rsi_91x_hal.c @@ -162,12 +162,16 @@ u8 header_size; u8 vap_id = 0; u8 dword_align_bytes; + bool tx_eapol; u16 seq_num; info = IEEE80211_SKB_CB(skb); vif = info->control.vif; tx_params = (struct skb_info *)info->driver_data; + tx_eapol = IEEE80211_SKB_CB(skb)->control.flags & + IEEE80211_TX_CTRL_PORT_CTRL_PROTO; + header_size = FRAME_DESC_SZ + sizeof(struct rsi_xtended_desc); if (header_size > skb_headroom(skb)) { rsi_dbg(ERR_ZONE, "%s: Unable to send pkt\n", __func__); @@ -231,7 +235,7 @@ } } - if (skb->protocol == cpu_to_be16(ETH_P_PAE)) { + if (tx_eapol) { rsi_dbg(INFO_ZONE, "*** Tx EAPOL ***\n"); data_desc->frame_info = cpu_to_le16(RATE_INFO_ENABLE); --- linux-gcp-5.19.0.orig/drivers/net/wireless/silabs/wfx/main.c +++ linux-gcp-5.19.0/drivers/net/wireless/silabs/wfx/main.c @@ -181,7 +181,7 @@ while (len > 0) { chunk_type = get_unaligned_le16(buf + 0); chunk_len = get_unaligned_le16(buf + 2); - if (chunk_len > len) { + if (chunk_len < 4 || chunk_len > len) { dev_err(wdev->dev, "PDS:%d: corrupted file\n", chunk_num); return -EINVAL; } --- linux-gcp-5.19.0.orig/drivers/net/wireless/st/cw1200/queue.c +++ linux-gcp-5.19.0/drivers/net/wireless/st/cw1200/queue.c @@ -91,23 +91,25 @@ bool unlock) { struct cw1200_queue_stats *stats = queue->stats; - struct cw1200_queue_item *item = NULL, *tmp; + struct cw1200_queue_item *item = NULL, *iter, *tmp; bool wakeup_stats = false; - list_for_each_entry_safe(item, tmp, &queue->queue, head) { - if (time_is_after_jiffies(item->queue_timestamp + queue->ttl)) + list_for_each_entry_safe(iter, tmp, &queue->queue, head) { + if (time_is_after_jiffies(iter->queue_timestamp + queue->ttl)) { + item = iter; break; + } --queue->num_queued; - --queue->link_map_cache[item->txpriv.link_id]; + --queue->link_map_cache[iter->txpriv.link_id]; spin_lock_bh(&stats->lock); --stats->num_queued; - if (!--stats->link_map_cache[item->txpriv.link_id]) + if (!--stats->link_map_cache[iter->txpriv.link_id]) wakeup_stats = true; spin_unlock_bh(&stats->lock); cw1200_debug_tx_ttl(stats->priv); - cw1200_queue_register_post_gc(head, item); - item->skb = NULL; - list_move_tail(&item->head, &queue->free_pool); + cw1200_queue_register_post_gc(head, iter); + iter->skb = NULL; + list_move_tail(&iter->head, &queue->free_pool); } if (wakeup_stats) --- linux-gcp-5.19.0.orig/drivers/net/wireless/ti/wlcore/main.c +++ linux-gcp-5.19.0/drivers/net/wireless/ti/wlcore/main.c @@ -4675,7 +4675,7 @@ struct ieee80211_vif *vif = wl12xx_wlvif_to_vif(wlvif); rcu_read_lock(); - if (rcu_access_pointer(vif->chanctx_conf) != ctx) { + if (rcu_access_pointer(vif->bss_conf.chanctx_conf) != ctx) { rcu_read_unlock(); continue; } --- linux-gcp-5.19.0.orig/drivers/net/wireless/wl3501_cs.c +++ linux-gcp-5.19.0/drivers/net/wireless/wl3501_cs.c @@ -1328,7 +1328,7 @@ } else { ++dev->stats.tx_packets; dev->stats.tx_bytes += skb->len; - kfree_skb(skb); + dev_kfree_skb_irq(skb); if (this->tx_buffer_cnt < 2) netif_stop_queue(dev); --- linux-gcp-5.19.0.orig/drivers/net/wwan/Kconfig +++ linux-gcp-5.19.0/drivers/net/wwan/Kconfig @@ -94,7 +94,7 @@ config IOSM tristate "IOSM Driver for Intel M.2 WWAN Device" - depends on INTEL_IOMMU + depends on PCI select NET_DEVLINK select RELAY if WWAN_DEBUGFS help --- linux-gcp-5.19.0.orig/drivers/net/wwan/iosm/iosm_ipc_coredump.c +++ linux-gcp-5.19.0/drivers/net/wwan/iosm/iosm_ipc_coredump.c @@ -2,6 +2,7 @@ /* * Copyright (C) 2020-2021 Intel Corporation. */ +#include #include "iosm_ipc_coredump.h" --- linux-gcp-5.19.0.orig/drivers/net/wwan/iosm/iosm_ipc_devlink.c +++ linux-gcp-5.19.0/drivers/net/wwan/iosm/iosm_ipc_devlink.c @@ -2,6 +2,7 @@ /* * Copyright (C) 2020-2021 Intel Corporation. */ +#include #include "iosm_ipc_chnl_cfg.h" #include "iosm_ipc_coredump.h" --- linux-gcp-5.19.0.orig/drivers/net/wwan/iosm/iosm_ipc_imem_ops.c +++ linux-gcp-5.19.0/drivers/net/wwan/iosm/iosm_ipc_imem_ops.c @@ -91,6 +91,14 @@ } ipc_chnl_cfg_get(&chnl_cfg, ipc_imem->nr_of_channels); + + if (ipc_imem->mmio->mux_protocol == MUX_AGGREGATION && + ipc_imem->nr_of_channels == IPC_MEM_IP_CHL_ID_0) { + chnl_cfg.ul_nr_of_entries = IPC_MEM_MAX_TDS_MUX_AGGR_UL; + chnl_cfg.dl_nr_of_entries = IPC_MEM_MAX_TDS_MUX_AGGR_DL; + chnl_cfg.dl_buf_size = IPC_MEM_MAX_ADB_BUF_SIZE; + } + ipc_imem_channel_init(ipc_imem, IPC_CTYPE_WWAN, chnl_cfg, IRQ_MOD_OFF); --- linux-gcp-5.19.0.orig/drivers/net/wwan/iosm/iosm_ipc_mux.c +++ linux-gcp-5.19.0/drivers/net/wwan/iosm/iosm_ipc_mux.c @@ -332,6 +332,7 @@ if (!ipc_mux->ul_adb.pp_qlt[i]) { for (j = i - 1; j >= 0; j--) kfree(ipc_mux->ul_adb.pp_qlt[j]); + kfree(ipc_mux); return NULL; } } --- linux-gcp-5.19.0.orig/drivers/net/wwan/iosm/iosm_ipc_mux.h +++ linux-gcp-5.19.0/drivers/net/wwan/iosm/iosm_ipc_mux.h @@ -10,6 +10,7 @@ #define IPC_MEM_MAX_UL_DG_ENTRIES 100 #define IPC_MEM_MAX_TDS_MUX_AGGR_UL 60 +#define IPC_MEM_MAX_TDS_MUX_AGGR_DL 60 #define IPC_MEM_MAX_ADB_BUF_SIZE (16 * 1024) #define IPC_MEM_MAX_UL_ADB_BUF_SIZE IPC_MEM_MAX_ADB_BUF_SIZE --- linux-gcp-5.19.0.orig/drivers/net/wwan/iosm/iosm_ipc_mux_codec.c +++ linux-gcp-5.19.0/drivers/net/wwan/iosm/iosm_ipc_mux_codec.c @@ -365,7 +365,8 @@ /* Pass the DL packet to the netif layer. */ static int ipc_mux_net_receive(struct iosm_mux *ipc_mux, int if_id, struct iosm_wwan *wwan, u32 offset, - u8 service_class, struct sk_buff *skb) + u8 service_class, struct sk_buff *skb, + u32 pkt_len) { struct sk_buff *dest_skb = skb_clone(skb, GFP_ATOMIC); @@ -373,7 +374,7 @@ return -ENOMEM; skb_pull(dest_skb, offset); - skb_set_tail_pointer(dest_skb, dest_skb->len); + skb_trim(dest_skb, pkt_len); /* Pass the packet to the netif layer. */ dest_skb->priority = service_class; @@ -429,7 +430,7 @@ static void ipc_mux_dl_adgh_decode(struct iosm_mux *ipc_mux, struct sk_buff *skb) { - u32 pad_len, packet_offset; + u32 pad_len, packet_offset, adgh_len; struct iosm_wwan *wwan; struct mux_adgh *adgh; u8 *block = skb->data; @@ -470,10 +471,12 @@ packet_offset = sizeof(*adgh) + pad_len; if_id += ipc_mux->wwan_q_offset; + adgh_len = le16_to_cpu(adgh->length); /* Pass the packet to the netif layer */ rc = ipc_mux_net_receive(ipc_mux, if_id, wwan, packet_offset, - adgh->service_class, skb); + adgh->service_class, skb, + adgh_len - packet_offset); if (rc) { dev_err(ipc_mux->dev, "mux adgh decoding error"); return; @@ -547,7 +550,7 @@ int if_id, int nr_of_dg) { u32 dl_head_pad_len = ipc_mux->session[if_id].dl_head_pad_len; - u32 packet_offset, i, rc; + u32 packet_offset, i, rc, dg_len; for (i = 0; i < nr_of_dg; i++, dg++) { if (le32_to_cpu(dg->datagram_index) @@ -562,11 +565,12 @@ packet_offset = le32_to_cpu(dg->datagram_index) + dl_head_pad_len; + dg_len = le16_to_cpu(dg->datagram_length); /* Pass the packet to the netif layer. */ rc = ipc_mux_net_receive(ipc_mux, if_id, ipc_mux->wwan, packet_offset, - dg->service_class, - skb); + dg->service_class, skb, + dg_len - dl_head_pad_len); if (rc) goto dg_error; } @@ -1207,10 +1211,9 @@ qlth_n_ql_size, ul_list); ipc_mux_ul_adb_finish(ipc_mux); if (ipc_mux_ul_adb_allocate(ipc_mux, adb, &ipc_mux->size_needed, - IOSM_AGGR_MUX_SIG_ADBH)) { - dev_kfree_skb(src_skb); + IOSM_AGGR_MUX_SIG_ADBH)) return -ENOMEM; - } + ipc_mux->size_needed = le32_to_cpu(adb->adbh->block_length); ipc_mux->size_needed += offsetof(struct mux_adth, dg); @@ -1471,8 +1474,7 @@ ipc_mux->ul_data_pend_bytes); /* Reset the skb settings. */ - skb->tail = 0; - skb->len = 0; + skb_trim(skb, 0); /* Add the consumed ADB to the free list. */ skb_queue_tail((&ipc_mux->ul_adb.free_list), skb); --- linux-gcp-5.19.0.orig/drivers/net/wwan/iosm/iosm_ipc_pcie.c +++ linux-gcp-5.19.0/drivers/net/wwan/iosm/iosm_ipc_pcie.c @@ -232,6 +232,7 @@ */ static enum ipc_pcie_sleep_state ipc_pcie_read_bios_cfg(struct device *dev) { + enum ipc_pcie_sleep_state sleep_state = IPC_PCIE_D0L12; union acpi_object *object; acpi_handle handle_acpi; @@ -242,18 +243,23 @@ } object = acpi_evaluate_dsm(handle_acpi, &wwan_acpi_guid, 0, 3, NULL); + if (!object) + goto default_ret; + + if (object->integer.value == 3) + sleep_state = IPC_PCIE_D3L2; - if (object && object->integer.value == 3) - return IPC_PCIE_D3L2; + ACPI_FREE(object); default_ret: - return IPC_PCIE_D0L12; + return sleep_state; } static int ipc_pcie_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) { struct iosm_pcie *ipc_pcie = kzalloc(sizeof(*ipc_pcie), GFP_KERNEL); + int ret; pr_debug("Probing device 0x%X from the vendor 0x%X", pci_id->device, pci_id->vendor); @@ -286,6 +292,12 @@ goto pci_enable_fail; } + ret = dma_set_mask(ipc_pcie->dev, DMA_BIT_MASK(64)); + if (ret) { + dev_err(ipc_pcie->dev, "Could not set PCI DMA mask: %d", ret); + return ret; + } + ipc_pcie_config_aspm(ipc_pcie); dev_dbg(ipc_pcie->dev, "PCIe device enabled."); @@ -341,6 +353,9 @@ ipc_imem_pm_s2idle_sleep(ipc_pcie->imem, true); + /* Let PCI core know this device should stay at D0 */ + pci_save_state(ipc_pcie->pci); + return 0; } --- linux-gcp-5.19.0.orig/drivers/net/wwan/iosm/iosm_ipc_protocol.h +++ linux-gcp-5.19.0/drivers/net/wwan/iosm/iosm_ipc_protocol.h @@ -122,7 +122,7 @@ struct iosm_imem *imem; struct ipc_rsp *rsp_ring[IPC_MEM_MSG_ENTRIES]; struct device *dev; - phys_addr_t phy_ap_shm; + dma_addr_t phy_ap_shm; u32 old_msg_tail; }; --- linux-gcp-5.19.0.orig/drivers/net/wwan/iosm/iosm_ipc_wwan.c +++ linux-gcp-5.19.0/drivers/net/wwan/iosm/iosm_ipc_wwan.c @@ -168,6 +168,7 @@ iosm_dev->max_mtu = ETH_MAX_MTU; iosm_dev->flags = IFF_POINTOPOINT | IFF_NOARP; + iosm_dev->needs_free_netdev = true; iosm_dev->netdev_ops = &ipc_inm_ops; } @@ -323,15 +324,16 @@ ipc_wwan->dev = dev; ipc_wwan->ipc_imem = ipc_imem; + mutex_init(&ipc_wwan->if_mutex); + /* WWAN core will create a netdev for the default IP MUX channel */ if (wwan_register_ops(ipc_wwan->dev, &iosm_wwan_ops, ipc_wwan, IP_MUX_SESSION_DEFAULT)) { + mutex_destroy(&ipc_wwan->if_mutex); kfree(ipc_wwan); return NULL; } - mutex_init(&ipc_wwan->if_mutex); - return ipc_wwan; } --- linux-gcp-5.19.0.orig/drivers/net/wwan/mhi_wwan_mbim.c +++ linux-gcp-5.19.0/drivers/net/wwan/mhi_wwan_mbim.c @@ -582,6 +582,7 @@ ndev->min_mtu = ETH_MIN_MTU; ndev->max_mtu = MHI_MAX_BUF_SZ - ndev->needed_headroom; ndev->tx_queue_len = 1000; + ndev->needs_free_netdev = true; } static const struct wwan_ops mhi_mbim_wwan_ops = { --- linux-gcp-5.19.0.orig/drivers/net/wwan/t7xx/t7xx_hif_cldma.c +++ linux-gcp-5.19.0/drivers/net/wwan/t7xx/t7xx_hif_cldma.c @@ -1064,13 +1064,18 @@ struct t7xx_cldma_hw *hw_info = &md_ctrl->hw_info; u32 phy_ao_base, phy_pd_base; - if (md_ctrl->hif_id != CLDMA_ID_MD) - return; - - phy_ao_base = CLDMA1_AO_BASE; - phy_pd_base = CLDMA1_PD_BASE; - hw_info->phy_interrupt_id = CLDMA1_INT; hw_info->hw_mode = MODE_BIT_64; + + if (md_ctrl->hif_id == CLDMA_ID_MD) { + phy_ao_base = CLDMA1_AO_BASE; + phy_pd_base = CLDMA1_PD_BASE; + hw_info->phy_interrupt_id = CLDMA1_INT; + } else { + phy_ao_base = CLDMA0_AO_BASE; + phy_pd_base = CLDMA0_PD_BASE; + hw_info->phy_interrupt_id = CLDMA0_INT; + } + hw_info->ap_ao_base = t7xx_pcie_addr_transfer(pbase->pcie_ext_reg_base, pbase->pcie_dev_reg_trsl_addr, phy_ao_base); hw_info->ap_pdn_base = t7xx_pcie_addr_transfer(pbase->pcie_ext_reg_base, --- linux-gcp-5.19.0.orig/drivers/net/wwan/t7xx/t7xx_hif_cldma.h +++ linux-gcp-5.19.0/drivers/net/wwan/t7xx/t7xx_hif_cldma.h @@ -34,7 +34,7 @@ /** * enum cldma_id - Identifiers for CLDMA HW units. * @CLDMA_ID_MD: Modem control channel. - * @CLDMA_ID_AP: Application Processor control channel (not used at the moment). + * @CLDMA_ID_AP: Application Processor control channel. * @CLDMA_NUM: Number of CLDMA HW units available. */ enum cldma_id { --- linux-gcp-5.19.0.orig/drivers/net/wwan/t7xx/t7xx_mhccif.h +++ linux-gcp-5.19.0/drivers/net/wwan/t7xx/t7xx_mhccif.h @@ -25,6 +25,7 @@ D2H_INT_EXCEPTION_CLEARQ_DONE | \ D2H_INT_EXCEPTION_ALLQ_RESET | \ D2H_INT_PORT_ENUM | \ + D2H_INT_ASYNC_AP_HK | \ D2H_INT_ASYNC_MD_HK) void t7xx_mhccif_mask_set(struct t7xx_pci_dev *t7xx_dev, u32 val); --- linux-gcp-5.19.0.orig/drivers/net/wwan/t7xx/t7xx_modem_ops.c +++ linux-gcp-5.19.0/drivers/net/wwan/t7xx/t7xx_modem_ops.c @@ -44,6 +44,7 @@ #include "t7xx_state_monitor.h" #define RT_ID_MD_PORT_ENUM 0 +#define RT_ID_AP_PORT_ENUM 1 /* Modem feature query identification code - "ICCC" */ #define MD_FEATURE_QUERY_ID 0x49434343 @@ -165,6 +166,8 @@ return -EFAULT; } + kfree(buffer.pointer); + #endif return 0; } @@ -296,6 +299,7 @@ } t7xx_cldma_exception(md->md_ctrl[CLDMA_ID_MD], stage); + t7xx_cldma_exception(md->md_ctrl[CLDMA_ID_AP], stage); if (stage == HIF_EX_INIT) t7xx_mhccif_h2d_swint_trigger(t7xx_dev, H2D_CH_EXCEPTION_ACK); @@ -424,7 +428,7 @@ if (ft_spt_st != MTK_FEATURE_MUST_BE_SUPPORTED) return -EINVAL; - if (i == RT_ID_MD_PORT_ENUM) + if (i == RT_ID_MD_PORT_ENUM || i == RT_ID_AP_PORT_ENUM) t7xx_port_enum_msg_handler(ctl->md, rt_feature->data); } @@ -454,12 +458,12 @@ return 0; } -static void t7xx_core_hk_handler(struct t7xx_modem *md, struct t7xx_fsm_ctl *ctl, +static void t7xx_core_hk_handler(struct t7xx_modem *md, struct t7xx_sys_info *core_info, + struct t7xx_fsm_ctl *ctl, enum t7xx_fsm_event_state event_id, enum t7xx_fsm_event_state err_detect) { struct t7xx_fsm_event *event = NULL, *event_next; - struct t7xx_sys_info *core_info = &md->core_md; struct device *dev = &md->t7xx_dev->pdev->dev; unsigned long flags; int ret; @@ -529,19 +533,33 @@ t7xx_cldma_start(md->md_ctrl[CLDMA_ID_MD]); t7xx_fsm_broadcast_state(ctl, MD_STATE_WAITING_FOR_HS2); md->core_md.handshake_ongoing = true; - t7xx_core_hk_handler(md, ctl, FSM_EVENT_MD_HS2, FSM_EVENT_MD_HS2_EXIT); + t7xx_core_hk_handler(md, &md->core_md, ctl, FSM_EVENT_MD_HS2, FSM_EVENT_MD_HS2_EXIT); +} + +static void t7xx_ap_hk_wq(struct work_struct *work) +{ + struct t7xx_modem *md = container_of(work, struct t7xx_modem, ap_handshake_work); + struct t7xx_fsm_ctl *ctl = md->fsm_ctl; + + /* Clear the HS2 EXIT event appended in t7xx_core_reset(). */ + t7xx_fsm_clr_event(ctl, FSM_EVENT_AP_HS2_EXIT); + t7xx_cldma_stop(md->md_ctrl[CLDMA_ID_AP]); + t7xx_cldma_switch_cfg(md->md_ctrl[CLDMA_ID_AP]); + t7xx_cldma_start(md->md_ctrl[CLDMA_ID_AP]); + md->core_ap.handshake_ongoing = true; + t7xx_core_hk_handler(md, &md->core_ap, ctl, FSM_EVENT_AP_HS2, FSM_EVENT_AP_HS2_EXIT); } void t7xx_md_event_notify(struct t7xx_modem *md, enum md_event_id evt_id) { struct t7xx_fsm_ctl *ctl = md->fsm_ctl; - void __iomem *mhccif_base; unsigned int int_sta; unsigned long flags; switch (evt_id) { case FSM_PRE_START: - t7xx_mhccif_mask_clr(md->t7xx_dev, D2H_INT_PORT_ENUM); + t7xx_mhccif_mask_clr(md->t7xx_dev, D2H_INT_PORT_ENUM | D2H_INT_ASYNC_MD_HK | + D2H_INT_ASYNC_AP_HK); break; case FSM_START: @@ -554,16 +572,26 @@ ctl->exp_flg = true; md->exp_id &= ~D2H_INT_EXCEPTION_INIT; md->exp_id &= ~D2H_INT_ASYNC_MD_HK; + md->exp_id &= ~D2H_INT_ASYNC_AP_HK; } else if (ctl->exp_flg) { md->exp_id &= ~D2H_INT_ASYNC_MD_HK; - } else if (md->exp_id & D2H_INT_ASYNC_MD_HK) { - queue_work(md->handshake_wq, &md->handshake_work); - md->exp_id &= ~D2H_INT_ASYNC_MD_HK; - mhccif_base = md->t7xx_dev->base_addr.mhccif_rc_base; - iowrite32(D2H_INT_ASYNC_MD_HK, mhccif_base + REG_EP2RC_SW_INT_ACK); - t7xx_mhccif_mask_set(md->t7xx_dev, D2H_INT_ASYNC_MD_HK); + md->exp_id &= ~D2H_INT_ASYNC_AP_HK; } else { - t7xx_mhccif_mask_clr(md->t7xx_dev, D2H_INT_ASYNC_MD_HK); + void __iomem *mhccif_base = md->t7xx_dev->base_addr.mhccif_rc_base; + + if (md->exp_id & D2H_INT_ASYNC_MD_HK) { + queue_work(md->handshake_wq, &md->handshake_work); + md->exp_id &= ~D2H_INT_ASYNC_MD_HK; + iowrite32(D2H_INT_ASYNC_MD_HK, mhccif_base + REG_EP2RC_SW_INT_ACK); + t7xx_mhccif_mask_set(md->t7xx_dev, D2H_INT_ASYNC_MD_HK); + } + + if (md->exp_id & D2H_INT_ASYNC_AP_HK) { + queue_work(md->ap_handshake_wq, &md->ap_handshake_work); + md->exp_id &= ~D2H_INT_ASYNC_AP_HK; + iowrite32(D2H_INT_ASYNC_AP_HK, mhccif_base + REG_EP2RC_SW_INT_ACK); + t7xx_mhccif_mask_set(md->t7xx_dev, D2H_INT_ASYNC_AP_HK); + } } spin_unlock_irqrestore(&md->exp_lock, flags); @@ -576,6 +604,7 @@ case FSM_READY: t7xx_mhccif_mask_set(md->t7xx_dev, D2H_INT_ASYNC_MD_HK); + t7xx_mhccif_mask_set(md->t7xx_dev, D2H_INT_ASYNC_AP_HK); break; default: @@ -627,6 +656,19 @@ md->core_md.feature_set[RT_ID_MD_PORT_ENUM] &= ~FEATURE_MSK; md->core_md.feature_set[RT_ID_MD_PORT_ENUM] |= FIELD_PREP(FEATURE_MSK, MTK_FEATURE_MUST_BE_SUPPORTED); + + md->ap_handshake_wq = alloc_workqueue("%s", WQ_UNBOUND | WQ_MEM_RECLAIM | WQ_HIGHPRI, + 0, "ap_hk_wq"); + if (!md->ap_handshake_wq) { + destroy_workqueue(md->handshake_wq); + return NULL; + } + + INIT_WORK(&md->ap_handshake_work, t7xx_ap_hk_wq); + md->core_ap.feature_set[RT_ID_AP_PORT_ENUM] &= ~FEATURE_MSK; + md->core_ap.feature_set[RT_ID_AP_PORT_ENUM] |= + FIELD_PREP(FEATURE_MSK, MTK_FEATURE_MUST_BE_SUPPORTED); + return md; } @@ -638,6 +680,7 @@ md->exp_id = 0; t7xx_fsm_reset(md); t7xx_cldma_reset(md->md_ctrl[CLDMA_ID_MD]); + t7xx_cldma_reset(md->md_ctrl[CLDMA_ID_AP]); t7xx_port_proxy_reset(md->port_prox); md->md_init_finish = true; return t7xx_core_reset(md); @@ -667,6 +710,10 @@ if (ret) goto err_destroy_hswq; + ret = t7xx_cldma_alloc(CLDMA_ID_AP, t7xx_dev); + if (ret) + goto err_destroy_hswq; + ret = t7xx_fsm_init(md); if (ret) goto err_destroy_hswq; @@ -679,12 +726,16 @@ if (ret) goto err_uninit_ccmni; - ret = t7xx_port_proxy_init(md); + ret = t7xx_cldma_init(md->md_ctrl[CLDMA_ID_AP]); if (ret) goto err_uninit_md_cldma; + ret = t7xx_port_proxy_init(md); + if (ret) + goto err_uninit_ap_cldma; + ret = t7xx_fsm_append_cmd(md->fsm_ctl, FSM_CMD_START, 0); - if (ret) /* fsm_uninit flushes cmd queue */ + if (ret) /* t7xx_fsm_uninit() flushes cmd queue */ goto err_uninit_proxy; t7xx_md_sys_sw_init(t7xx_dev); @@ -694,6 +745,9 @@ err_uninit_proxy: t7xx_port_proxy_uninit(md->port_prox); +err_uninit_ap_cldma: + t7xx_cldma_exit(md->md_ctrl[CLDMA_ID_AP]); + err_uninit_md_cldma: t7xx_cldma_exit(md->md_ctrl[CLDMA_ID_MD]); @@ -705,6 +759,7 @@ err_destroy_hswq: destroy_workqueue(md->handshake_wq); + destroy_workqueue(md->ap_handshake_wq); dev_err(&t7xx_dev->pdev->dev, "Modem init failed\n"); return ret; } @@ -720,8 +775,10 @@ t7xx_fsm_append_cmd(md->fsm_ctl, FSM_CMD_PRE_STOP, FSM_CMD_FLAG_WAIT_FOR_COMPLETION); t7xx_port_proxy_uninit(md->port_prox); + t7xx_cldma_exit(md->md_ctrl[CLDMA_ID_AP]); t7xx_cldma_exit(md->md_ctrl[CLDMA_ID_MD]); t7xx_ccmni_exit(t7xx_dev); t7xx_fsm_uninit(md); destroy_workqueue(md->handshake_wq); + destroy_workqueue(md->ap_handshake_wq); } --- linux-gcp-5.19.0.orig/drivers/net/wwan/t7xx/t7xx_modem_ops.h +++ linux-gcp-5.19.0/drivers/net/wwan/t7xx/t7xx_modem_ops.h @@ -66,10 +66,13 @@ struct cldma_ctrl *md_ctrl[CLDMA_NUM]; struct t7xx_pci_dev *t7xx_dev; struct t7xx_sys_info core_md; + struct t7xx_sys_info core_ap; bool md_init_finish; bool rgu_irq_asserted; struct workqueue_struct *handshake_wq; struct work_struct handshake_work; + struct workqueue_struct *ap_handshake_wq; + struct work_struct ap_handshake_work; struct t7xx_fsm_ctl *fsm_ctl; struct port_proxy *port_prox; unsigned int exp_id; --- linux-gcp-5.19.0.orig/drivers/net/wwan/t7xx/t7xx_pci.c +++ linux-gcp-5.19.0/drivers/net/wwan/t7xx/t7xx_pci.c @@ -121,6 +121,8 @@ iowrite32(T7XX_L1_BIT(0), IREG_BASE(t7xx_dev) + ENABLE_ASPM_LOWPWR); atomic_set(&t7xx_dev->md_pm_state, MTK_PM_RESUMED); + pm_runtime_mark_last_busy(&t7xx_dev->pdev->dev); + pm_runtime_allow(&t7xx_dev->pdev->dev); pm_runtime_put_noidle(&t7xx_dev->pdev->dev); } --- linux-gcp-5.19.0.orig/drivers/net/wwan/t7xx/t7xx_port.h +++ linux-gcp-5.19.0/drivers/net/wwan/t7xx/t7xx_port.h @@ -36,9 +36,15 @@ /* Channel ID and Message ID definitions. * The channel number consists of peer_id(15:12) , channel_id(11:0) * peer_id: - * 0:reserved, 1: to sAP, 2: to MD + * 0:reserved, 1: to AP, 2: to MD */ enum port_ch { + /* to AP */ + PORT_CH_AP_CONTROL_RX = 0x1000, + PORT_CH_AP_CONTROL_TX = 0x1001, + PORT_CH_AP_LOG_RX = 0x1008, + PORT_CH_AP_LOG_TX = 0x1009, + /* to MD */ PORT_CH_CONTROL_RX = 0x2000, PORT_CH_CONTROL_TX = 0x2001, --- linux-gcp-5.19.0.orig/drivers/net/wwan/t7xx/t7xx_port_ctrl_msg.c +++ linux-gcp-5.19.0/drivers/net/wwan/t7xx/t7xx_port_ctrl_msg.c @@ -167,8 +167,12 @@ case CTL_ID_HS2_MSG: skb_pull(skb, sizeof(*ctrl_msg_h)); - if (port_conf->rx_ch == PORT_CH_CONTROL_RX) { - ret = t7xx_fsm_append_event(ctl, FSM_EVENT_MD_HS2, skb->data, + if (port_conf->rx_ch == PORT_CH_CONTROL_RX || + port_conf->rx_ch == PORT_CH_AP_CONTROL_RX) { + int event = port_conf->rx_ch == PORT_CH_CONTROL_RX ? + FSM_EVENT_MD_HS2 : FSM_EVENT_AP_HS2; + + ret = t7xx_fsm_append_event(ctl, event, skb->data, le32_to_cpu(ctrl_msg_h->data_length)); if (ret) dev_err(port->dev, "Failed to append Handshake 2 event"); --- linux-gcp-5.19.0.orig/drivers/net/wwan/t7xx/t7xx_port_proxy.c +++ linux-gcp-5.19.0/drivers/net/wwan/t7xx/t7xx_port_proxy.c @@ -77,6 +77,14 @@ .path_id = CLDMA_ID_MD, .ops = &ctl_port_ops, .name = "t7xx_ctrl", + }, { + .tx_ch = PORT_CH_AP_CONTROL_TX, + .rx_ch = PORT_CH_AP_CONTROL_RX, + .txq_index = Q_IDX_CTRL, + .rxq_index = Q_IDX_CTRL, + .path_id = CLDMA_ID_AP, + .ops = &ctl_port_ops, + .name = "t7xx_ap_ctrl", }, }; @@ -416,6 +424,9 @@ if (port_conf->tx_ch == PORT_CH_CONTROL_TX) md->core_md.ctl_port = port; + if (port_conf->tx_ch == PORT_CH_AP_CONTROL_TX) + md->core_ap.ctl_port = port; + port->t7xx_dev = md->t7xx_dev; port->dev = &md->t7xx_dev->pdev->dev; spin_lock_init(&port->port_update_lock); @@ -469,6 +480,7 @@ if (ret) return ret; + t7xx_cldma_set_recv_skb(md->md_ctrl[CLDMA_ID_AP], t7xx_port_proxy_recv_skb); t7xx_cldma_set_recv_skb(md->md_ctrl[CLDMA_ID_MD], t7xx_port_proxy_recv_skb); return 0; } --- linux-gcp-5.19.0.orig/drivers/net/wwan/t7xx/t7xx_reg.h +++ linux-gcp-5.19.0/drivers/net/wwan/t7xx/t7xx_reg.h @@ -56,7 +56,7 @@ #define D2H_INT_RESUME_ACK BIT(12) #define D2H_INT_SUSPEND_ACK_AP BIT(13) #define D2H_INT_RESUME_ACK_AP BIT(14) -#define D2H_INT_ASYNC_SAP_HK BIT(15) +#define D2H_INT_ASYNC_AP_HK BIT(15) #define D2H_INT_ASYNC_MD_HK BIT(16) /* Register base */ --- linux-gcp-5.19.0.orig/drivers/net/wwan/t7xx/t7xx_state_monitor.c +++ linux-gcp-5.19.0/drivers/net/wwan/t7xx/t7xx_state_monitor.c @@ -285,8 +285,9 @@ t7xx_fsm_broadcast_state(ctl, MD_STATE_WAITING_FOR_HS1); t7xx_md_event_notify(md, FSM_START); - wait_event_interruptible_timeout(ctl->async_hk_wq, md->core_md.ready || ctl->exp_flg, - HZ * 60); + wait_event_interruptible_timeout(ctl->async_hk_wq, + (md->core_md.ready && md->core_ap.ready) || + ctl->exp_flg, HZ * 60); dev = &md->t7xx_dev->pdev->dev; if (ctl->exp_flg) @@ -299,6 +300,13 @@ fsm_routine_exception(ctl, NULL, EXCEPTION_HS_TIMEOUT); return -ETIMEDOUT; + } else if (!md->core_ap.ready) { + dev_err(dev, "AP handshake timeout\n"); + if (md->core_ap.handshake_ongoing) + t7xx_fsm_append_event(ctl, FSM_EVENT_AP_HS2_EXIT, NULL, 0); + + fsm_routine_exception(ctl, NULL, EXCEPTION_HS_TIMEOUT); + return -ETIMEDOUT; } t7xx_pci_pm_init_late(md->t7xx_dev); @@ -335,6 +343,7 @@ return; } + t7xx_cldma_hif_hw_init(md->md_ctrl[CLDMA_ID_AP]); t7xx_cldma_hif_hw_init(md->md_ctrl[CLDMA_ID_MD]); fsm_finish_command(ctl, cmd, fsm_routine_starting(ctl)); } --- linux-gcp-5.19.0.orig/drivers/net/wwan/t7xx/t7xx_state_monitor.h +++ linux-gcp-5.19.0/drivers/net/wwan/t7xx/t7xx_state_monitor.h @@ -38,10 +38,12 @@ enum t7xx_fsm_event_state { FSM_EVENT_INVALID, FSM_EVENT_MD_HS2, + FSM_EVENT_AP_HS2, FSM_EVENT_MD_EX, FSM_EVENT_MD_EX_REC_OK, FSM_EVENT_MD_EX_PASS, FSM_EVENT_MD_HS2_EXIT, + FSM_EVENT_AP_HS2_EXIT, FSM_EVENT_MAX }; --- linux-gcp-5.19.0.orig/drivers/net/wwan/wwan_hwsim.c +++ linux-gcp-5.19.0/drivers/net/wwan/wwan_hwsim.c @@ -311,7 +311,7 @@ return ERR_PTR(err); err_free_dev: - kfree(dev); + put_device(&dev->dev); return ERR_PTR(err); } --- linux-gcp-5.19.0.orig/drivers/net/xen-netback/common.h +++ linux-gcp-5.19.0/drivers/net/xen-netback/common.h @@ -48,7 +48,6 @@ #include typedef unsigned int pending_ring_idx_t; -#define INVALID_PENDING_RING_IDX (~0U) struct pending_tx_info { struct xen_netif_tx_request req; /* tx request */ @@ -82,8 +81,6 @@ /* Discriminate from any valid pending_idx value. */ #define INVALID_PENDING_IDX 0xFFFF -#define MAX_BUFFER_OFFSET XEN_PAGE_SIZE - #define MAX_PENDING_REQS XEN_NETIF_TX_RING_SIZE /* The maximum number of frags is derived from the size of a grant (same @@ -367,11 +364,6 @@ int xenvif_xenbus_init(void); void xenvif_xenbus_fini(void); -int xenvif_schedulable(struct xenvif *vif); - -int xenvif_queue_stopped(struct xenvif_queue *queue); -void xenvif_wake_queue(struct xenvif_queue *queue); - /* (Un)Map communication rings. */ void xenvif_unmap_frontend_data_rings(struct xenvif_queue *queue); int xenvif_map_frontend_data_rings(struct xenvif_queue *queue, @@ -394,8 +386,7 @@ irqreturn_t xenvif_ctrl_irq_fn(int irq, void *data); bool xenvif_have_rx_work(struct xenvif_queue *queue, bool test_kthread); -void xenvif_rx_action(struct xenvif_queue *queue); -void xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb); +bool xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb); void xenvif_carrier_on(struct xenvif *vif); @@ -403,9 +394,6 @@ void xenvif_zerocopy_callback(struct sk_buff *skb, struct ubuf_info *ubuf, bool zerocopy_success); -/* Unmap a pending page and release it back to the guest */ -void xenvif_idx_unmap(struct xenvif_queue *queue, u16 pending_idx); - static inline pending_ring_idx_t nr_pending_reqs(struct xenvif_queue *queue) { return MAX_PENDING_REQS - --- linux-gcp-5.19.0.orig/drivers/net/xen-netback/interface.c +++ linux-gcp-5.19.0/drivers/net/xen-netback/interface.c @@ -69,7 +69,7 @@ wake_up(&queue->dealloc_wq); } -int xenvif_schedulable(struct xenvif *vif) +static int xenvif_schedulable(struct xenvif *vif) { return netif_running(vif->dev) && test_bit(VIF_STATUS_CONNECTED, &vif->status) && @@ -177,20 +177,6 @@ return IRQ_HANDLED; } -int xenvif_queue_stopped(struct xenvif_queue *queue) -{ - struct net_device *dev = queue->vif->dev; - unsigned int id = queue->id; - return netif_tx_queue_stopped(netdev_get_tx_queue(dev, id)); -} - -void xenvif_wake_queue(struct xenvif_queue *queue) -{ - struct net_device *dev = queue->vif->dev; - unsigned int id = queue->id; - netif_tx_wake_queue(netdev_get_tx_queue(dev, id)); -} - static u16 xenvif_select_queue(struct net_device *dev, struct sk_buff *skb, struct net_device *sb_dev) { @@ -268,14 +254,16 @@ if (vif->hash.alg == XEN_NETIF_CTRL_HASH_ALGORITHM_NONE) skb_clear_hash(skb); - xenvif_rx_queue_tail(queue, skb); + if (!xenvif_rx_queue_tail(queue, skb)) + goto drop; + xenvif_kick_thread(queue); return NETDEV_TX_OK; drop: vif->dev->stats.tx_dropped++; - dev_kfree_skb(skb); + dev_kfree_skb_any(skb); return NETDEV_TX_OK; } --- linux-gcp-5.19.0.orig/drivers/net/xen-netback/netback.c +++ linux-gcp-5.19.0/drivers/net/xen-netback/netback.c @@ -112,6 +112,8 @@ s8 st); static void push_tx_responses(struct xenvif_queue *queue); +static void xenvif_idx_unmap(struct xenvif_queue *queue, u16 pending_idx); + static inline int tx_work_todo(struct xenvif_queue *queue); static inline unsigned long idx_to_pfn(struct xenvif_queue *queue, @@ -330,10 +332,13 @@ struct xenvif_tx_cb { - u16 pending_idx; + u16 copy_pending_idx[XEN_NETBK_LEGACY_SLOTS_MAX + 1]; + u8 copy_count; }; #define XENVIF_TX_CB(skb) ((struct xenvif_tx_cb *)(skb)->cb) +#define copy_pending_idx(skb, i) (XENVIF_TX_CB(skb)->copy_pending_idx[i]) +#define copy_count(skb) (XENVIF_TX_CB(skb)->copy_count) static inline void xenvif_tx_create_map_op(struct xenvif_queue *queue, u16 pending_idx, @@ -368,31 +373,93 @@ return skb; } -static struct gnttab_map_grant_ref *xenvif_get_requests(struct xenvif_queue *queue, - struct sk_buff *skb, - struct xen_netif_tx_request *txp, - struct gnttab_map_grant_ref *gop, - unsigned int frag_overflow, - struct sk_buff *nskb) +static void xenvif_get_requests(struct xenvif_queue *queue, + struct sk_buff *skb, + struct xen_netif_tx_request *first, + struct xen_netif_tx_request *txfrags, + unsigned *copy_ops, + unsigned *map_ops, + unsigned int frag_overflow, + struct sk_buff *nskb, + unsigned int extra_count, + unsigned int data_len) { struct skb_shared_info *shinfo = skb_shinfo(skb); skb_frag_t *frags = shinfo->frags; - u16 pending_idx = XENVIF_TX_CB(skb)->pending_idx; - int start; + u16 pending_idx; pending_ring_idx_t index; unsigned int nr_slots; + struct gnttab_copy *cop = queue->tx_copy_ops + *copy_ops; + struct gnttab_map_grant_ref *gop = queue->tx_map_ops + *map_ops; + struct xen_netif_tx_request *txp = first; + + nr_slots = shinfo->nr_frags + 1; + + copy_count(skb) = 0; + + /* Create copy ops for exactly data_len bytes into the skb head. */ + __skb_put(skb, data_len); + while (data_len > 0) { + int amount = data_len > txp->size ? txp->size : data_len; + + cop->source.u.ref = txp->gref; + cop->source.domid = queue->vif->domid; + cop->source.offset = txp->offset; + + cop->dest.domid = DOMID_SELF; + cop->dest.offset = (offset_in_page(skb->data + + skb_headlen(skb) - + data_len)) & ~XEN_PAGE_MASK; + cop->dest.u.gmfn = virt_to_gfn(skb->data + skb_headlen(skb) + - data_len); + + cop->len = amount; + cop->flags = GNTCOPY_source_gref; + + index = pending_index(queue->pending_cons); + pending_idx = queue->pending_ring[index]; + callback_param(queue, pending_idx).ctx = NULL; + copy_pending_idx(skb, copy_count(skb)) = pending_idx; + copy_count(skb)++; - nr_slots = shinfo->nr_frags; + cop++; + data_len -= amount; - /* Skip first skb fragment if it is on same page as header fragment. */ - start = (frag_get_pending_idx(&shinfo->frags[0]) == pending_idx); + if (amount == txp->size) { + /* The copy op covered the full tx_request */ + + memcpy(&queue->pending_tx_info[pending_idx].req, + txp, sizeof(*txp)); + queue->pending_tx_info[pending_idx].extra_count = + (txp == first) ? extra_count : 0; + + if (txp == first) + txp = txfrags; + else + txp++; + queue->pending_cons++; + nr_slots--; + } else { + /* The copy op partially covered the tx_request. + * The remainder will be mapped. + */ + txp->offset += amount; + txp->size -= amount; + } + } - for (shinfo->nr_frags = start; shinfo->nr_frags < nr_slots; - shinfo->nr_frags++, txp++, gop++) { + for (shinfo->nr_frags = 0; shinfo->nr_frags < nr_slots; + shinfo->nr_frags++, gop++) { index = pending_index(queue->pending_cons++); pending_idx = queue->pending_ring[index]; - xenvif_tx_create_map_op(queue, pending_idx, txp, 0, gop); + xenvif_tx_create_map_op(queue, pending_idx, txp, + txp == first ? extra_count : 0, gop); frag_set_pending_idx(&frags[shinfo->nr_frags], pending_idx); + + if (txp == first) + txp = txfrags; + else + txp++; } if (frag_overflow) { @@ -413,7 +480,8 @@ skb_shinfo(skb)->frag_list = nskb; } - return gop; + (*copy_ops) = cop - queue->tx_copy_ops; + (*map_ops) = gop - queue->tx_map_ops; } static inline void xenvif_grant_handle_set(struct xenvif_queue *queue, @@ -449,7 +517,7 @@ struct gnttab_copy **gopp_copy) { struct gnttab_map_grant_ref *gop_map = *gopp_map; - u16 pending_idx = XENVIF_TX_CB(skb)->pending_idx; + u16 pending_idx; /* This always points to the shinfo of the skb being checked, which * could be either the first or the one on the frag_list */ @@ -460,24 +528,37 @@ struct skb_shared_info *first_shinfo = NULL; int nr_frags = shinfo->nr_frags; const bool sharedslot = nr_frags && - frag_get_pending_idx(&shinfo->frags[0]) == pending_idx; - int i, err; + frag_get_pending_idx(&shinfo->frags[0]) == + copy_pending_idx(skb, copy_count(skb) - 1); + int i, err = 0; - /* Check status of header. */ - err = (*gopp_copy)->status; - if (unlikely(err)) { - if (net_ratelimit()) - netdev_dbg(queue->vif->dev, - "Grant copy of header failed! status: %d pending_idx: %u ref: %u\n", - (*gopp_copy)->status, - pending_idx, - (*gopp_copy)->source.u.ref); - /* The first frag might still have this slot mapped */ - if (!sharedslot) - xenvif_idx_release(queue, pending_idx, - XEN_NETIF_RSP_ERROR); + for (i = 0; i < copy_count(skb); i++) { + int newerr; + + /* Check status of header. */ + pending_idx = copy_pending_idx(skb, i); + + newerr = (*gopp_copy)->status; + if (likely(!newerr)) { + /* The first frag might still have this slot mapped */ + if (i < copy_count(skb) - 1 || !sharedslot) + xenvif_idx_release(queue, pending_idx, + XEN_NETIF_RSP_OKAY); + } else { + err = newerr; + if (net_ratelimit()) + netdev_dbg(queue->vif->dev, + "Grant copy of header failed! status: %d pending_idx: %u ref: %u\n", + (*gopp_copy)->status, + pending_idx, + (*gopp_copy)->source.u.ref); + /* The first frag might still have this slot mapped */ + if (i < copy_count(skb) - 1 || !sharedslot) + xenvif_idx_release(queue, pending_idx, + XEN_NETIF_RSP_ERROR); + } + (*gopp_copy)++; } - (*gopp_copy)++; check_frags: for (i = 0; i < nr_frags; i++, gop_map++) { @@ -524,14 +605,6 @@ if (err) continue; - /* First error: if the header haven't shared a slot with the - * first frag, release it as well. - */ - if (!sharedslot) - xenvif_idx_release(queue, - XENVIF_TX_CB(skb)->pending_idx, - XEN_NETIF_RSP_OKAY); - /* Invalidate preceding fragments of this skb. */ for (j = 0; j < i; j++) { pending_idx = frag_get_pending_idx(&shinfo->frags[j]); @@ -801,7 +874,6 @@ unsigned *copy_ops, unsigned *map_ops) { - struct gnttab_map_grant_ref *gop = queue->tx_map_ops; struct sk_buff *skb, *nskb; int ret; unsigned int frag_overflow; @@ -883,8 +955,12 @@ continue; } + data_len = (txreq.size > XEN_NETBACK_TX_COPY_LEN) ? + XEN_NETBACK_TX_COPY_LEN : txreq.size; + ret = xenvif_count_requests(queue, &txreq, extra_count, txfrags, work_to_do); + if (unlikely(ret < 0)) break; @@ -910,9 +986,8 @@ index = pending_index(queue->pending_cons); pending_idx = queue->pending_ring[index]; - data_len = (txreq.size > XEN_NETBACK_TX_COPY_LEN && - ret < XEN_NETBK_LEGACY_SLOTS_MAX) ? - XEN_NETBACK_TX_COPY_LEN : txreq.size; + if (ret >= XEN_NETBK_LEGACY_SLOTS_MAX - 1 && data_len < txreq.size) + data_len = txreq.size; skb = xenvif_alloc_skb(data_len); if (unlikely(skb == NULL)) { @@ -923,8 +998,6 @@ } skb_shinfo(skb)->nr_frags = ret; - if (data_len < txreq.size) - skb_shinfo(skb)->nr_frags++; /* At this point shinfo->nr_frags is in fact the number of * slots, which can be as large as XEN_NETBK_LEGACY_SLOTS_MAX. */ @@ -986,54 +1059,19 @@ type); } - XENVIF_TX_CB(skb)->pending_idx = pending_idx; - - __skb_put(skb, data_len); - queue->tx_copy_ops[*copy_ops].source.u.ref = txreq.gref; - queue->tx_copy_ops[*copy_ops].source.domid = queue->vif->domid; - queue->tx_copy_ops[*copy_ops].source.offset = txreq.offset; - - queue->tx_copy_ops[*copy_ops].dest.u.gmfn = - virt_to_gfn(skb->data); - queue->tx_copy_ops[*copy_ops].dest.domid = DOMID_SELF; - queue->tx_copy_ops[*copy_ops].dest.offset = - offset_in_page(skb->data) & ~XEN_PAGE_MASK; - - queue->tx_copy_ops[*copy_ops].len = data_len; - queue->tx_copy_ops[*copy_ops].flags = GNTCOPY_source_gref; - - (*copy_ops)++; - - if (data_len < txreq.size) { - frag_set_pending_idx(&skb_shinfo(skb)->frags[0], - pending_idx); - xenvif_tx_create_map_op(queue, pending_idx, &txreq, - extra_count, gop); - gop++; - } else { - frag_set_pending_idx(&skb_shinfo(skb)->frags[0], - INVALID_PENDING_IDX); - memcpy(&queue->pending_tx_info[pending_idx].req, - &txreq, sizeof(txreq)); - queue->pending_tx_info[pending_idx].extra_count = - extra_count; - } - - queue->pending_cons++; - - gop = xenvif_get_requests(queue, skb, txfrags, gop, - frag_overflow, nskb); + xenvif_get_requests(queue, skb, &txreq, txfrags, copy_ops, + map_ops, frag_overflow, nskb, extra_count, + data_len); __skb_queue_tail(&queue->tx_queue, skb); queue->tx.req_cons = idx; - if (((gop-queue->tx_map_ops) >= ARRAY_SIZE(queue->tx_map_ops)) || + if ((*map_ops >= ARRAY_SIZE(queue->tx_map_ops)) || (*copy_ops >= ARRAY_SIZE(queue->tx_copy_ops))) break; } - (*map_ops) = gop - queue->tx_map_ops; return; } @@ -1112,9 +1150,8 @@ while ((skb = __skb_dequeue(&queue->tx_queue)) != NULL) { struct xen_netif_tx_request *txp; u16 pending_idx; - unsigned data_len; - pending_idx = XENVIF_TX_CB(skb)->pending_idx; + pending_idx = copy_pending_idx(skb, 0); txp = &queue->pending_tx_info[pending_idx].req; /* Check the remap error code. */ @@ -1133,18 +1170,6 @@ continue; } - data_len = skb->len; - callback_param(queue, pending_idx).ctx = NULL; - if (data_len < txp->size) { - /* Append the packet payload as a fragment. */ - txp->offset += data_len; - txp->size -= data_len; - } else { - /* Schedule a response immediately. */ - xenvif_idx_release(queue, pending_idx, - XEN_NETIF_RSP_OKAY); - } - if (txp->flags & XEN_NETTXF_csum_blank) skb->ip_summed = CHECKSUM_PARTIAL; else if (txp->flags & XEN_NETTXF_data_validated) @@ -1331,7 +1356,7 @@ /* Called after netfront has transmitted */ int xenvif_tx_action(struct xenvif_queue *queue, int budget) { - unsigned nr_mops, nr_cops = 0; + unsigned nr_mops = 0, nr_cops = 0; int work_done, ret; if (unlikely(!tx_work_todo(queue))) @@ -1418,7 +1443,7 @@ notify_remote_via_irq(queue->tx_irq); } -void xenvif_idx_unmap(struct xenvif_queue *queue, u16 pending_idx) +static void xenvif_idx_unmap(struct xenvif_queue *queue, u16 pending_idx) { int ret; struct gnttab_unmap_grant_ref tx_unmap_op; --- linux-gcp-5.19.0.orig/drivers/net/xen-netback/rx.c +++ linux-gcp-5.19.0/drivers/net/xen-netback/rx.c @@ -82,9 +82,10 @@ return false; } -void xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb) +bool xenvif_rx_queue_tail(struct xenvif_queue *queue, struct sk_buff *skb) { unsigned long flags; + bool ret = true; spin_lock_irqsave(&queue->rx_queue.lock, flags); @@ -92,8 +93,7 @@ struct net_device *dev = queue->vif->dev; netif_tx_stop_queue(netdev_get_tx_queue(dev, queue->id)); - kfree_skb(skb); - queue->vif->dev->stats.rx_dropped++; + ret = false; } else { if (skb_queue_empty(&queue->rx_queue)) xenvif_update_needed_slots(queue, skb); @@ -104,6 +104,8 @@ } spin_unlock_irqrestore(&queue->rx_queue.lock, flags); + + return ret; } static struct sk_buff *xenvif_rx_dequeue(struct xenvif_queue *queue) @@ -486,7 +488,7 @@ #define RX_BATCH_SIZE 64 -void xenvif_rx_action(struct xenvif_queue *queue) +static void xenvif_rx_action(struct xenvif_queue *queue) { struct sk_buff_head completed_skbs; unsigned int work_done = 0; --- linux-gcp-5.19.0.orig/drivers/net/xen-netback/xenbus.c +++ linux-gcp-5.19.0/drivers/net/xen-netback/xenbus.c @@ -256,7 +256,6 @@ unsigned int queue_index; xen_unregister_watchers(vif); - xenbus_rm(XBT_NIL, be->dev->nodename, "hotplug-status"); #ifdef CONFIG_DEBUG_FS xenvif_debugfs_delif(vif); #endif /* CONFIG_DEBUG_FS */ @@ -984,6 +983,7 @@ struct backend_info *be = dev_get_drvdata(&dev->dev); unregister_hotplug_status_watch(be); + xenbus_rm(XBT_NIL, dev->nodename, "hotplug-status"); if (be->vif) { kobject_uevent(&dev->dev.kobj, KOBJ_OFFLINE); backend_disconnect(be); --- linux-gcp-5.19.0.orig/drivers/net/xen-netfront.c +++ linux-gcp-5.19.0/drivers/net/xen-netfront.c @@ -1862,6 +1862,12 @@ netif_tx_unlock_bh(info->netdev); xennet_disconnect_backend(info); + + rtnl_lock(); + if (info->queues) + xennet_destroy_queues(info); + rtnl_unlock(); + return 0; } --- linux-gcp-5.19.0.orig/drivers/nfc/fdp/fdp.c +++ linux-gcp-5.19.0/drivers/nfc/fdp/fdp.c @@ -249,11 +249,19 @@ static int fdp_nci_send(struct nci_dev *ndev, struct sk_buff *skb) { struct fdp_nci_info *info = nci_get_drvdata(ndev); + int ret; if (atomic_dec_and_test(&info->data_pkt_counter)) info->data_pkt_counter_cb(ndev); - return info->phy_ops->write(info->phy, skb); + ret = info->phy_ops->write(info->phy, skb); + if (ret < 0) { + kfree_skb(skb); + return ret; + } + + consume_skb(skb); + return 0; } static int fdp_nci_request_firmware(struct nci_dev *ndev) --- linux-gcp-5.19.0.orig/drivers/nfc/nfcmrvl/i2c.c +++ linux-gcp-5.19.0/drivers/nfc/nfcmrvl/i2c.c @@ -132,10 +132,15 @@ ret = -EREMOTEIO; } else ret = 0; + } + + if (ret) { kfree_skb(skb); + return ret; } - return ret; + consume_skb(skb); + return 0; } static void nfcmrvl_i2c_nci_update_config(struct nfcmrvl_private *priv, --- linux-gcp-5.19.0.orig/drivers/nfc/nxp-nci/core.c +++ linux-gcp-5.19.0/drivers/nfc/nxp-nci/core.c @@ -77,10 +77,13 @@ return -EINVAL; r = info->phy_ops->write(info->phy_id, skb); - if (r < 0) + if (r < 0) { kfree_skb(skb); + return r; + } - return r; + consume_skb(skb); + return 0; } static const struct nci_ops nxp_nci_ops = { --- linux-gcp-5.19.0.orig/drivers/nfc/pn533/pn533.c +++ linux-gcp-5.19.0/drivers/nfc/pn533/pn533.c @@ -1295,6 +1295,8 @@ if (IS_ERR(resp)) return PTR_ERR(resp); + memset(&nfc_target, 0, sizeof(struct nfc_target)); + rsp = (struct pn533_cmd_jump_dep_response *)resp->data; rc = rsp->status & PN533_CMD_RET_MASK; @@ -1926,6 +1928,8 @@ dev_dbg(dev->dev, "Creating new target\n"); + memset(&nfc_target, 0, sizeof(struct nfc_target)); + nfc_target.supported_protocols = NFC_PROTO_NFC_DEP_MASK; nfc_target.nfcid1_len = 10; memcpy(nfc_target.nfcid1, rsp->nfcid3t, nfc_target.nfcid1_len); --- linux-gcp-5.19.0.orig/drivers/nfc/pn533/uart.c +++ linux-gcp-5.19.0/drivers/nfc/pn533/uart.c @@ -310,6 +310,7 @@ pn53x_unregister_nfc(pn532->priv); serdev_device_close(serdev); pn53x_common_clean(pn532->priv); + del_timer_sync(&pn532->cmd_timeout); kfree_skb(pn532->recv_skb); kfree(pn532); } --- linux-gcp-5.19.0.orig/drivers/nfc/pn533/usb.c +++ linux-gcp-5.19.0/drivers/nfc/pn533/usb.c @@ -153,10 +153,17 @@ return usb_submit_urb(phy->ack_urb, flags); } +struct pn533_out_arg { + struct pn533_usb_phy *phy; + struct completion done; +}; + static int pn533_usb_send_frame(struct pn533 *dev, struct sk_buff *out) { struct pn533_usb_phy *phy = dev->phy; + struct pn533_out_arg arg; + void *cntx; int rc; if (phy->priv == NULL) @@ -168,10 +175,17 @@ print_hex_dump_debug("PN533 TX: ", DUMP_PREFIX_NONE, 16, 1, out->data, out->len, false); + init_completion(&arg.done); + cntx = phy->out_urb->context; + phy->out_urb->context = &arg; + rc = usb_submit_urb(phy->out_urb, GFP_KERNEL); if (rc) return rc; + wait_for_completion(&arg.done); + phy->out_urb->context = cntx; + if (dev->protocol_type == PN533_PROTO_REQ_RESP) { /* request for response for sent packet directly */ rc = pn533_submit_urb_for_response(phy, GFP_KERNEL); @@ -408,7 +422,31 @@ return arg.rc; } -static void pn533_send_complete(struct urb *urb) +static void pn533_out_complete(struct urb *urb) +{ + struct pn533_out_arg *arg = urb->context; + struct pn533_usb_phy *phy = arg->phy; + + switch (urb->status) { + case 0: + break; /* success */ + case -ECONNRESET: + case -ENOENT: + dev_dbg(&phy->udev->dev, + "The urb has been stopped (status %d)\n", + urb->status); + break; + case -ESHUTDOWN: + default: + nfc_err(&phy->udev->dev, + "Urb failure (status %d)\n", + urb->status); + } + + complete(&arg->done); +} + +static void pn533_ack_complete(struct urb *urb) { struct pn533_usb_phy *phy = urb->context; @@ -496,10 +534,10 @@ usb_fill_bulk_urb(phy->out_urb, phy->udev, usb_sndbulkpipe(phy->udev, out_endpoint), - NULL, 0, pn533_send_complete, phy); + NULL, 0, pn533_out_complete, phy); usb_fill_bulk_urb(phy->ack_urb, phy->udev, usb_sndbulkpipe(phy->udev, out_endpoint), - NULL, 0, pn533_send_complete, phy); + NULL, 0, pn533_ack_complete, phy); switch (id->driver_info) { case PN533_DEVICE_STD: --- linux-gcp-5.19.0.orig/drivers/nfc/s3fwrn5/core.c +++ linux-gcp-5.19.0/drivers/nfc/s3fwrn5/core.c @@ -110,11 +110,15 @@ } ret = s3fwrn5_write(info, skb); - if (ret < 0) + if (ret < 0) { kfree_skb(skb); + mutex_unlock(&info->mutex); + return ret; + } + consume_skb(skb); mutex_unlock(&info->mutex); - return ret; + return 0; } static int s3fwrn5_nci_post_setup(struct nci_dev *ndev) --- linux-gcp-5.19.0.orig/drivers/nfc/st-nci/se.c +++ linux-gcp-5.19.0/drivers/nfc/st-nci/se.c @@ -312,6 +312,8 @@ int r = 0; struct device *dev = &ndev->nfc_dev->dev; struct nfc_evt_transaction *transaction; + u32 aid_len; + u8 params_len; pr_debug("connectivity gate event: %x\n", event); @@ -325,26 +327,47 @@ * Description Tag Length * AID 81 5 to 16 * PARAMETERS 82 0 to 255 + * + * The key differences are aid storage length is variably sized + * in the packet, but fixed in nfc_evt_transaction, and that + * the aid_len is u8 in the packet, but u32 in the structure, + * and the tags in the packet are not included in + * nfc_evt_transaction. + * + * size(b): 1 1 5-16 1 1 0-255 + * offset: 0 1 2 aid_len + 2 aid_len + 3 aid_len + 4 + * mem name: aid_tag(M) aid_len aid params_tag(M) params_len params + * example: 0x81 5-16 X 0x82 0-255 X */ - if (skb->len < NFC_MIN_AID_LENGTH + 2 && - skb->data[0] != NFC_EVT_TRANSACTION_AID_TAG) + if (skb->len < 2 || skb->data[0] != NFC_EVT_TRANSACTION_AID_TAG) return -EPROTO; - transaction = devm_kzalloc(dev, skb->len - 2, GFP_KERNEL); - if (!transaction) - return -ENOMEM; + aid_len = skb->data[1]; - transaction->aid_len = skb->data[1]; - memcpy(transaction->aid, &skb->data[2], transaction->aid_len); + if (skb->len < aid_len + 4 || + aid_len > sizeof(transaction->aid)) + return -EPROTO; - /* Check next byte is PARAMETERS tag (82) */ - if (skb->data[transaction->aid_len + 2] != - NFC_EVT_TRANSACTION_PARAMS_TAG) + params_len = skb->data[aid_len + 3]; + + /* Verify PARAMETERS tag is (82), and final check that there is + * enough space in the packet to read everything. + */ + if (skb->data[aid_len + 2] != NFC_EVT_TRANSACTION_PARAMS_TAG || + skb->len < aid_len + 4 + params_len) return -EPROTO; - transaction->params_len = skb->data[transaction->aid_len + 3]; - memcpy(transaction->params, skb->data + - transaction->aid_len + 4, transaction->params_len); + transaction = devm_kzalloc(dev, sizeof(*transaction) + + params_len, GFP_KERNEL); + if (!transaction) + return -ENOMEM; + + transaction->aid_len = aid_len; + transaction->params_len = params_len; + + memcpy(transaction->aid, &skb->data[2], aid_len); + memcpy(transaction->params, &skb->data[aid_len + 4], + params_len); r = nfc_se_transaction(ndev->nfc_dev, host, transaction); break; --- linux-gcp-5.19.0.orig/drivers/nfc/virtual_ncidev.c +++ linux-gcp-5.19.0/drivers/nfc/virtual_ncidev.c @@ -54,16 +54,19 @@ mutex_lock(&nci_mutex); if (state != virtual_ncidev_enabled) { mutex_unlock(&nci_mutex); + kfree_skb(skb); return 0; } if (send_buff) { mutex_unlock(&nci_mutex); + kfree_skb(skb); return -1; } send_buff = skb_copy(skb, GFP_KERNEL); mutex_unlock(&nci_mutex); wake_up_interruptible(&wq); + consume_skb(skb); return 0; } --- linux-gcp-5.19.0.orig/drivers/ntb/test/ntb_tool.c +++ linux-gcp-5.19.0/drivers/ntb/test/ntb_tool.c @@ -367,14 +367,16 @@ u64 bits; int n; + if (*offp) + return 0; + buf = kmalloc(size + 1, GFP_KERNEL); if (!buf) return -ENOMEM; - ret = simple_write_to_buffer(buf, size, offp, ubuf, size); - if (ret < 0) { + if (copy_from_user(buf, ubuf, size)) { kfree(buf); - return ret; + return -EFAULT; } buf[size] = 0; --- linux-gcp-5.19.0.orig/drivers/nvdimm/bus.c +++ linux-gcp-5.19.0/drivers/nvdimm/bus.c @@ -508,7 +508,7 @@ put_device(dev); } -void nd_device_register(struct device *dev) +static void __nd_device_register(struct device *dev, bool sync) { if (!dev) return; @@ -531,11 +531,24 @@ } get_device(dev); - async_schedule_dev_domain(nd_async_device_register, dev, - &nd_async_domain); + if (sync) + nd_async_device_register(dev, 0); + else + async_schedule_dev_domain(nd_async_device_register, dev, + &nd_async_domain); +} + +void nd_device_register(struct device *dev) +{ + __nd_device_register(dev, false); } EXPORT_SYMBOL(nd_device_register); +void nd_device_register_sync(struct device *dev) +{ + __nd_device_register(dev, true); +} + void nd_device_unregister(struct device *dev, enum nd_async_mode mode) { bool killed; --- linux-gcp-5.19.0.orig/drivers/nvdimm/dimm_devs.c +++ linux-gcp-5.19.0/drivers/nvdimm/dimm_devs.c @@ -617,7 +617,10 @@ nvdimm->sec.ext_flags = nvdimm_security_flags(nvdimm, NVDIMM_MASTER); device_initialize(dev); lockdep_set_class(&dev->mutex, &nvdimm_key); - nd_device_register(dev); + if (test_bit(NDD_REGISTER_SYNC, &flags)) + nd_device_register_sync(dev); + else + nd_device_register(dev); return nvdimm; } --- linux-gcp-5.19.0.orig/drivers/nvdimm/nd-core.h +++ linux-gcp-5.19.0/drivers/nvdimm/nd-core.h @@ -107,6 +107,7 @@ void nvdimm_bus_destroy_ndctl(struct nvdimm_bus *nvdimm_bus); void nd_synchronize(void); void nd_device_register(struct device *dev); +void nd_device_register_sync(struct device *dev); struct nd_label_id; char *nd_label_gen_id(struct nd_label_id *label_id, const uuid_t *uuid, u32 flags); --- linux-gcp-5.19.0.orig/drivers/nvdimm/pmem.c +++ linux-gcp-5.19.0/drivers/nvdimm/pmem.c @@ -45,7 +45,7 @@ return to_nd_region(to_dev(pmem)->parent); } -static phys_addr_t to_phys(struct pmem_device *pmem, phys_addr_t offset) +static phys_addr_t pmem_to_phys(struct pmem_device *pmem, phys_addr_t offset) { return pmem->phys_addr + offset; } @@ -63,7 +63,7 @@ static void pmem_mkpage_present(struct pmem_device *pmem, phys_addr_t offset, unsigned int len) { - phys_addr_t phys = to_phys(pmem, offset); + phys_addr_t phys = pmem_to_phys(pmem, offset); unsigned long pfn_start, pfn_end, pfn; /* only pmem in the linear map supports HWPoison */ @@ -97,7 +97,7 @@ static long __pmem_clear_poison(struct pmem_device *pmem, phys_addr_t offset, unsigned int len) { - phys_addr_t phys = to_phys(pmem, offset); + phys_addr_t phys = pmem_to_phys(pmem, offset); long cleared = nvdimm_clear_poison(to_dev(pmem), phys, len); if (cleared > 0) { --- linux-gcp-5.19.0.orig/drivers/nvme/host/apple.c +++ linux-gcp-5.19.0/drivers/nvme/host/apple.c @@ -1502,7 +1502,7 @@ if (!blk_get_queue(anv->ctrl.admin_q)) { nvme_start_admin_queue(&anv->ctrl); - blk_cleanup_queue(anv->ctrl.admin_q); + blk_mq_destroy_queue(anv->ctrl.admin_q); anv->ctrl.admin_q = NULL; ret = -ENODEV; goto put_dev; --- linux-gcp-5.19.0.orig/drivers/nvme/host/core.c +++ linux-gcp-5.19.0/drivers/nvme/host/core.c @@ -651,6 +651,7 @@ if (req->mq_hctx->type == HCTX_TYPE_POLL) req->cmd_flags |= REQ_POLLED; nvme_clear_nvme_request(req); + req->rq_flags |= RQF_QUIET; memcpy(nvme_req(req)->cmd, cmd, sizeof(*cmd)); } EXPORT_SYMBOL_GPL(nvme_init_request); @@ -1015,7 +1016,6 @@ goto out; } - req->rq_flags |= RQF_QUIET; ret = nvme_execute_rq(req, at_head); if (result && ret >= 0) *result = nvme_req(req)->result; @@ -1047,6 +1047,18 @@ return 0; } +static u32 nvme_known_nvm_effects(u8 opcode) +{ + switch (opcode) { + case nvme_cmd_write: + case nvme_cmd_write_zeroes: + case nvme_cmd_write_uncor: + return NVME_CMD_EFFECTS_LBCC; + default: + return 0; + } +} + u32 nvme_command_effects(struct nvme_ctrl *ctrl, struct nvme_ns *ns, u8 opcode) { u32 effects = 0; @@ -1054,16 +1066,24 @@ if (ns) { if (ns->head->effects) effects = le32_to_cpu(ns->head->effects->iocs[opcode]); + if (ns->head->ids.csi == NVME_CSI_NVM) + effects |= nvme_known_nvm_effects(opcode); if (effects & ~(NVME_CMD_EFFECTS_CSUPP | NVME_CMD_EFFECTS_LBCC)) dev_warn_once(ctrl->device, - "IO command:%02x has unhandled effects:%08x\n", + "IO command:%02x has unusual effects:%08x\n", opcode, effects); - return 0; - } - if (ctrl->effects) - effects = le32_to_cpu(ctrl->effects->acs[opcode]); - effects |= nvme_known_admin_effects(opcode); + /* + * NVME_CMD_EFFECTS_CSE_MASK causes a freeze all I/O queues, + * which would deadlock when done on an I/O command. Note that + * We already warn about an unusual effect above. + */ + effects &= ~NVME_CMD_EFFECTS_CSE_MASK; + } else { + if (ctrl->effects) + effects = le32_to_cpu(ctrl->effects->acs[opcode]); + effects |= nvme_known_admin_effects(opcode); + } return effects; } @@ -1089,8 +1109,8 @@ return effects; } -static void nvme_passthru_end(struct nvme_ctrl *ctrl, u32 effects, - struct nvme_command *cmd, int status) +void nvme_passthru_end(struct nvme_ctrl *ctrl, u32 effects, + struct nvme_command *cmd, int status) { if (effects & NVME_CMD_EFFECTS_CSE_MASK) { nvme_unfreeze(ctrl); @@ -1126,21 +1146,16 @@ break; } } +EXPORT_SYMBOL_NS_GPL(nvme_passthru_end, NVME_TARGET_PASSTHRU); -int nvme_execute_passthru_rq(struct request *rq) +int nvme_execute_passthru_rq(struct request *rq, u32 *effects) { struct nvme_command *cmd = nvme_req(rq)->cmd; struct nvme_ctrl *ctrl = nvme_req(rq)->ctrl; struct nvme_ns *ns = rq->q->queuedata; - u32 effects; - int ret; - - effects = nvme_passthru_start(ctrl, ns, cmd->common.opcode); - ret = nvme_execute_rq(rq, false); - if (effects) /* nothing to be done for zero cmd effects */ - nvme_passthru_end(ctrl, effects, cmd, ret); - return ret; + *effects = nvme_passthru_start(ctrl, ns, cmd->common.opcode); + return nvme_execute_rq(rq, false); } EXPORT_SYMBOL_NS_GPL(nvme_execute_passthru_rq, NVME_TARGET_PASSTHRU); @@ -1208,7 +1223,6 @@ rq->timeout = ctrl->kato * HZ; rq->end_io = nvme_keep_alive_end_io; rq->end_io_data = ctrl; - rq->rq_flags |= RQF_QUIET; blk_execute_rq_nowait(rq, false); } @@ -1927,8 +1941,10 @@ if (ns->head->ids.csi == NVME_CSI_ZNS) { ret = nvme_update_zone_info(ns, lbaf); - if (ret) - goto out_unfreeze; + if (ret) { + blk_mq_unfreeze_queue(ns->disk->queue); + goto out; + } } set_disk_ro(ns->disk, (id->nsattr & NVME_NS_ATTR_RO) || @@ -1939,7 +1955,7 @@ if (blk_queue_is_zoned(ns->queue)) { ret = nvme_revalidate_zones(ns); if (ret && !nvme_first_scan(ns->disk)) - return ret; + goto out; } if (nvme_ns_head_multipath(ns->head)) { @@ -1954,9 +1970,9 @@ disk_update_readahead(ns->head->disk); blk_mq_unfreeze_queue(ns->head->disk->queue); } - return 0; -out_unfreeze: + ret = 0; +out: /* * If probing fails due an unsupported feature, hide the block device, * but still allow other access. @@ -1966,7 +1982,6 @@ set_bit(NVME_NS_READY, &ns->flags); ret = 0; } - blk_mq_unfreeze_queue(ns->disk->queue); return ret; } @@ -2068,14 +2083,14 @@ static int nvme_pr_clear(struct block_device *bdev, u64 key) { - u32 cdw10 = 1 | (key ? 1 << 3 : 0); + u32 cdw10 = 1 | (key ? 0 : 1 << 3); - return nvme_pr_command(bdev, cdw10, key, 0, nvme_cmd_resv_register); + return nvme_pr_command(bdev, cdw10, key, 0, nvme_cmd_resv_release); } static int nvme_pr_release(struct block_device *bdev, u64 key, enum pr_type type) { - u32 cdw10 = nvme_pr_type(type) << 8 | (key ? 1 << 3 : 0); + u32 cdw10 = nvme_pr_type(type) << 8 | (key ? 0 : 1 << 3); return nvme_pr_command(bdev, cdw10, key, 0, nvme_cmd_resv_release); } @@ -2123,6 +2138,7 @@ static const struct block_device_operations nvme_bdev_ops = { .owner = THIS_MODULE, .ioctl = nvme_ioctl, + .compat_ioctl = blkdev_compat_ptr_ioctl, .open = nvme_open, .release = nvme_release, .getgeo = nvme_getgeo, @@ -2799,7 +2815,6 @@ nvme_init_subnqn(subsys, ctrl, id); memcpy(subsys->serial, id->sn, sizeof(subsys->serial)); memcpy(subsys->model, id->mn, sizeof(subsys->model)); - memcpy(subsys->firmware_rev, id->fr, sizeof(subsys->firmware_rev)); subsys->vendor_id = le16_to_cpu(id->vid); subsys->cmic = id->cmic; @@ -2955,7 +2970,7 @@ id = kzalloc(sizeof(*id), GFP_KERNEL); if (!id) - return 0; + return -ENOMEM; c.identify.opcode = nvme_admin_identify; c.identify.cns = NVME_ID_CNS_CS_CTRL; @@ -3001,10 +3016,6 @@ if (!ctrl->identified) { unsigned int i; - ret = nvme_init_subsystem(ctrl, id); - if (ret) - goto out_free; - /* * Check for quirks. Quirk can depend on firmware version, * so, in principle, the set of quirks present can change @@ -3017,7 +3028,13 @@ if (quirk_matches(id, &core_quirks[i])) ctrl->quirks |= core_quirks[i].quirks; } + + ret = nvme_init_subsystem(ctrl, id); + if (ret) + goto out_free; } + memcpy(ctrl->subsys->firmware_rev, id->fr, + sizeof(ctrl->subsys->firmware_rev)); if (force_apst && (ctrl->quirks & NVME_QUIRK_NO_DEEPEST_PS)) { dev_warn(ctrl->device, "forcibly allowing all power states due to nvme_core.force_apst -- use at your own risk\n"); @@ -3165,8 +3182,12 @@ return ret; if (!ctrl->identified && !nvme_discovery_ctrl(ctrl)) { + /* + * Do not return errors unless we are in a controller reset, + * the controller works perfectly fine without hwmon. + */ ret = nvme_hwmon_init(ctrl); - if (ret < 0) + if (ret == -EINTR) return ret; } @@ -4098,12 +4119,11 @@ mutex_unlock(&ns->ctrl->subsys->lock); /* guarantee not available in head->list */ - synchronize_rcu(); + synchronize_srcu(&ns->head->srcu); if (!nvme_ns_head_multipath(ns->head)) nvme_cdev_del(&ns->cdev, &ns->cdev_device); del_gendisk(ns->disk); - blk_cleanup_queue(ns->queue); down_write(&ns->ctrl->namespaces_rwsem); list_del_init(&ns->list); --- linux-gcp-5.19.0.orig/drivers/nvme/host/fc.c +++ linux-gcp-5.19.0/drivers/nvme/host/fc.c @@ -2392,7 +2392,7 @@ unsigned long flags; if (ctrl->ctrl.tagset) { - blk_cleanup_queue(ctrl->ctrl.connect_q); + blk_mq_destroy_queue(ctrl->ctrl.connect_q); blk_mq_free_tag_set(&ctrl->tag_set); } @@ -2402,8 +2402,8 @@ spin_unlock_irqrestore(&ctrl->rport->lock, flags); nvme_start_admin_queue(&ctrl->ctrl); - blk_cleanup_queue(ctrl->ctrl.admin_q); - blk_cleanup_queue(ctrl->ctrl.fabrics_q); + blk_mq_destroy_queue(ctrl->ctrl.admin_q); + blk_mq_destroy_queue(ctrl->ctrl.fabrics_q); blk_mq_free_tag_set(&ctrl->admin_tag_set); kfree(ctrl->queues); @@ -2953,7 +2953,7 @@ out_delete_hw_queues: nvme_fc_delete_hw_io_queues(ctrl); out_cleanup_blk_queue: - blk_cleanup_queue(ctrl->ctrl.connect_q); + blk_mq_destroy_queue(ctrl->ctrl.connect_q); out_free_tag_set: blk_mq_free_tag_set(&ctrl->tag_set); nvme_fc_free_io_queues(ctrl); @@ -3642,9 +3642,9 @@ return ERR_PTR(-EIO); out_cleanup_admin_q: - blk_cleanup_queue(ctrl->ctrl.admin_q); + blk_mq_destroy_queue(ctrl->ctrl.admin_q); out_cleanup_fabrics_q: - blk_cleanup_queue(ctrl->ctrl.fabrics_q); + blk_mq_destroy_queue(ctrl->ctrl.fabrics_q); out_free_admin_tag_set: blk_mq_free_tag_set(&ctrl->admin_tag_set); out_free_queues: @@ -3880,6 +3880,7 @@ static ssize_t fc_appid_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { + size_t orig_count = count; u64 cgrp_id; int appid_len = 0; int cgrpid_len = 0; @@ -3904,7 +3905,7 @@ ret = blkcg_set_fc_appid(app_id, cgrp_id, sizeof(app_id)); if (ret < 0) return ret; - return count; + return orig_count; } static DEVICE_ATTR(appid_store, 0200, NULL, fc_appid_store); #endif /* CONFIG_BLK_CGROUP_FC_APPID */ --- linux-gcp-5.19.0.orig/drivers/nvme/host/hwmon.c +++ linux-gcp-5.19.0/drivers/nvme/host/hwmon.c @@ -12,7 +12,7 @@ struct nvme_hwmon_data { struct nvme_ctrl *ctrl; - struct nvme_smart_log log; + struct nvme_smart_log *log; struct mutex read_lock; }; @@ -60,14 +60,14 @@ static int nvme_hwmon_get_smart_log(struct nvme_hwmon_data *data) { return nvme_get_log(data->ctrl, NVME_NSID_ALL, NVME_LOG_SMART, 0, - NVME_CSI_NVM, &data->log, sizeof(data->log), 0); + NVME_CSI_NVM, data->log, sizeof(*data->log), 0); } static int nvme_hwmon_read(struct device *dev, enum hwmon_sensor_types type, u32 attr, int channel, long *val) { struct nvme_hwmon_data *data = dev_get_drvdata(dev); - struct nvme_smart_log *log = &data->log; + struct nvme_smart_log *log = data->log; int temp; int err; @@ -163,7 +163,7 @@ case hwmon_temp_max: case hwmon_temp_min: if ((!channel && data->ctrl->wctemp) || - (channel && data->log.temp_sensor[channel - 1])) { + (channel && data->log->temp_sensor[channel - 1])) { if (data->ctrl->quirks & NVME_QUIRK_NO_TEMP_THRESH_CHANGE) return 0444; @@ -176,7 +176,7 @@ break; case hwmon_temp_input: case hwmon_temp_label: - if (!channel || data->log.temp_sensor[channel - 1]) + if (!channel || data->log->temp_sensor[channel - 1]) return 0444; break; default: @@ -230,7 +230,13 @@ data = kzalloc(sizeof(*data), GFP_KERNEL); if (!data) - return 0; + return -ENOMEM; + + data->log = kzalloc(sizeof(*data->log), GFP_KERNEL); + if (!data->log) { + err = -ENOMEM; + goto err_free_data; + } data->ctrl = ctrl; mutex_init(&data->read_lock); @@ -238,8 +244,7 @@ err = nvme_hwmon_get_smart_log(data); if (err) { dev_warn(dev, "Failed to read smart log (error %d)\n", err); - kfree(data); - return err; + goto err_free_log; } hwmon = hwmon_device_register_with_info(dev, "nvme", @@ -247,11 +252,17 @@ NULL); if (IS_ERR(hwmon)) { dev_warn(dev, "Failed to instantiate hwmon device\n"); - kfree(data); - return PTR_ERR(hwmon); + err = PTR_ERR(hwmon); + goto err_free_log; } ctrl->hwmon_device = hwmon; return 0; + +err_free_log: + kfree(data->log); +err_free_data: + kfree(data); + return err; } void nvme_hwmon_exit(struct nvme_ctrl *ctrl) @@ -262,6 +273,7 @@ hwmon_device_unregister(ctrl->hwmon_device); ctrl->hwmon_device = NULL; + kfree(data->log); kfree(data); } } --- linux-gcp-5.19.0.orig/drivers/nvme/host/ioctl.c +++ linux-gcp-5.19.0/drivers/nvme/host/ioctl.c @@ -136,9 +136,11 @@ unsigned bufflen, void __user *meta_buffer, unsigned meta_len, u32 meta_seed, u64 *result, unsigned timeout, bool vec) { + struct nvme_ctrl *ctrl; struct request *req; void *meta = NULL; struct bio *bio; + u32 effects; int ret; req = nvme_alloc_user_request(q, cmd, ubuffer, bufflen, meta_buffer, @@ -147,8 +149,9 @@ return PTR_ERR(req); bio = req->bio; + ctrl = nvme_req(req)->ctrl; - ret = nvme_execute_passthru_rq(req); + ret = nvme_execute_passthru_rq(req, &effects); if (result) *result = le64_to_cpu(nvme_req(req)->result.u64); @@ -158,6 +161,10 @@ if (bio) blk_rq_unmap_user(bio); blk_mq_free_request(req); + + if (effects) + nvme_passthru_end(ctrl, effects, cmd, ret); + return ret; } @@ -757,11 +764,17 @@ case NVME_IOCTL_IO_CMD: return nvme_dev_user_cmd(ctrl, argp); case NVME_IOCTL_RESET: + if (!capable(CAP_SYS_ADMIN)) + return -EACCES; dev_warn(ctrl->device, "resetting controller\n"); return nvme_reset_ctrl_sync(ctrl); case NVME_IOCTL_SUBSYS_RESET: + if (!capable(CAP_SYS_ADMIN)) + return -EACCES; return nvme_reset_subsystem(ctrl); case NVME_IOCTL_RESCAN: + if (!capable(CAP_SYS_ADMIN)) + return -EACCES; nvme_queue_scan(ctrl); return 0; default: --- linux-gcp-5.19.0.orig/drivers/nvme/host/multipath.c +++ linux-gcp-5.19.0/drivers/nvme/host/multipath.c @@ -174,14 +174,18 @@ struct nvme_ns_head *head = ns->head; sector_t capacity = get_capacity(head->disk); int node; + int srcu_idx; + srcu_idx = srcu_read_lock(&head->srcu); list_for_each_entry_rcu(ns, &head->list, siblings) { if (capacity != get_capacity(ns->disk)) clear_bit(NVME_NS_READY, &ns->flags); } + srcu_read_unlock(&head->srcu, srcu_idx); for_each_node(node) rcu_assign_pointer(head->current_path[node], NULL); + kblockd_schedule_work(&head->requeue_work); } static bool nvme_path_is_disabled(struct nvme_ns *ns) @@ -408,6 +412,7 @@ .open = nvme_ns_head_open, .release = nvme_ns_head_release, .ioctl = nvme_ns_head_ioctl, + .compat_ioctl = blkdev_compat_ptr_ioctl, .getgeo = nvme_getgeo, .report_zones = nvme_ns_head_report_zones, .pr_ops = &nvme_pr_ops, --- linux-gcp-5.19.0.orig/drivers/nvme/host/nvme.h +++ linux-gcp-5.19.0/drivers/nvme/host/nvme.h @@ -593,11 +593,23 @@ static inline void nvme_should_fail(struct request *req) {} #endif +bool nvme_wait_reset(struct nvme_ctrl *ctrl); +int nvme_try_sched_reset(struct nvme_ctrl *ctrl); + static inline int nvme_reset_subsystem(struct nvme_ctrl *ctrl) { + int ret; + if (!ctrl->subsystem) return -ENOTTY; - return ctrl->ops->reg_write32(ctrl, NVME_REG_NSSR, 0x4E564D65); + if (!nvme_wait_reset(ctrl)) + return -EBUSY; + + ret = ctrl->ops->reg_write32(ctrl, NVME_REG_NSSR, 0x4E564D65); + if (ret) + return ret; + + return nvme_try_sched_reset(ctrl); } /* @@ -703,7 +715,6 @@ void nvme_cancel_admin_tagset(struct nvme_ctrl *ctrl); bool nvme_change_ctrl_state(struct nvme_ctrl *ctrl, enum nvme_ctrl_state new_state); -bool nvme_wait_reset(struct nvme_ctrl *ctrl); int nvme_disable_ctrl(struct nvme_ctrl *ctrl); int nvme_enable_ctrl(struct nvme_ctrl *ctrl); int nvme_shutdown_ctrl(struct nvme_ctrl *ctrl); @@ -793,7 +804,6 @@ void nvme_stop_keep_alive(struct nvme_ctrl *ctrl); int nvme_reset_ctrl(struct nvme_ctrl *ctrl); int nvme_reset_ctrl_sync(struct nvme_ctrl *ctrl); -int nvme_try_sched_reset(struct nvme_ctrl *ctrl); int nvme_delete_ctrl(struct nvme_ctrl *ctrl); void nvme_queue_scan(struct nvme_ctrl *ctrl); int nvme_get_log(struct nvme_ctrl *ctrl, u32 nsid, u8 log_page, u8 lsp, u8 csi, @@ -853,7 +863,7 @@ { struct nvme_ns *ns = req->q->queuedata; - if (req->cmd_flags & REQ_NVME_MPATH) + if ((req->cmd_flags & REQ_NVME_MPATH) && req->bio) trace_block_bio_complete(ns->head->disk->queue, req->bio); } @@ -994,7 +1004,9 @@ u32 nvme_command_effects(struct nvme_ctrl *ctrl, struct nvme_ns *ns, u8 opcode); -int nvme_execute_passthru_rq(struct request *rq); +int nvme_execute_passthru_rq(struct request *rq, u32 *effects); +void nvme_passthru_end(struct nvme_ctrl *ctrl, u32 effects, + struct nvme_command *cmd, int status); struct nvme_ctrl *nvme_ctrl_from_file(struct file *file); struct nvme_ns *nvme_find_get_ns(struct nvme_ctrl *ctrl, unsigned nsid); void nvme_put_ns(struct nvme_ns *ns); --- linux-gcp-5.19.0.orig/drivers/nvme/host/pci.c +++ linux-gcp-5.19.0/drivers/nvme/host/pci.c @@ -35,7 +35,7 @@ #define SQ_SIZE(q) ((q)->q_depth << (q)->sqes) #define CQ_SIZE(q) ((q)->q_depth * sizeof(struct nvme_completion)) -#define SGES_PER_PAGE (PAGE_SIZE / sizeof(struct nvme_sgl_desc)) +#define SGES_PER_PAGE (NVME_CTRL_PAGE_SIZE / sizeof(struct nvme_sgl_desc)) /* * These can be higher, but we need to ensure that any command doesn't @@ -144,9 +144,9 @@ mempool_t *iod_mempool; /* shadow doorbell buffer support: */ - u32 *dbbuf_dbs; + __le32 *dbbuf_dbs; dma_addr_t dbbuf_dbs_dma_addr; - u32 *dbbuf_eis; + __le32 *dbbuf_eis; dma_addr_t dbbuf_eis_dma_addr; /* host memory buffer support: */ @@ -210,10 +210,10 @@ #define NVMEQ_SQ_CMB 1 #define NVMEQ_DELETE_ERROR 2 #define NVMEQ_POLLED 3 - u32 *dbbuf_sq_db; - u32 *dbbuf_cq_db; - u32 *dbbuf_sq_ei; - u32 *dbbuf_cq_ei; + __le32 *dbbuf_sq_db; + __le32 *dbbuf_cq_db; + __le32 *dbbuf_sq_ei; + __le32 *dbbuf_cq_ei; struct completion delete_done; }; @@ -341,11 +341,11 @@ } /* Update dbbuf and return true if an MMIO is required */ -static bool nvme_dbbuf_update_and_check_event(u16 value, u32 *dbbuf_db, - volatile u32 *dbbuf_ei) +static bool nvme_dbbuf_update_and_check_event(u16 value, __le32 *dbbuf_db, + volatile __le32 *dbbuf_ei) { if (dbbuf_db) { - u16 old_value; + u16 old_value, event_idx; /* * Ensure that the queue is written before updating @@ -353,8 +353,8 @@ */ wmb(); - old_value = *dbbuf_db; - *dbbuf_db = value; + old_value = le32_to_cpu(*dbbuf_db); + *dbbuf_db = cpu_to_le32(value); /* * Ensure that the doorbell is updated before reading the event @@ -364,7 +364,8 @@ */ mb(); - if (!nvme_dbbuf_need_event(*dbbuf_ei, value, old_value)) + event_idx = le32_to_cpu(*dbbuf_ei); + if (!nvme_dbbuf_need_event(event_idx, value, old_value)) return false; } @@ -378,9 +379,9 @@ */ static int nvme_pci_npages_prp(void) { - unsigned nprps = DIV_ROUND_UP(NVME_MAX_KB_SZ + NVME_CTRL_PAGE_SIZE, - NVME_CTRL_PAGE_SIZE); - return DIV_ROUND_UP(8 * nprps, PAGE_SIZE - 8); + unsigned max_bytes = (NVME_MAX_KB_SZ * 1024) + NVME_CTRL_PAGE_SIZE; + unsigned nprps = DIV_ROUND_UP(max_bytes, NVME_CTRL_PAGE_SIZE); + return DIV_ROUND_UP(8 * nprps, NVME_CTRL_PAGE_SIZE - 8); } /* @@ -390,7 +391,7 @@ static int nvme_pci_npages_sgl(void) { return DIV_ROUND_UP(NVME_MAX_SEGS * sizeof(struct nvme_sgl_desc), - PAGE_SIZE); + NVME_CTRL_PAGE_SIZE); } static size_t nvme_pci_iod_alloc_size(void) @@ -732,7 +733,7 @@ sge->length = cpu_to_le32(entries * sizeof(*sge)); sge->type = NVME_SGL_FMT_LAST_SEG_DESC << 4; } else { - sge->length = cpu_to_le32(PAGE_SIZE); + sge->length = cpu_to_le32(NVME_CTRL_PAGE_SIZE); sge->type = NVME_SGL_FMT_SEG_DESC << 4; } } @@ -815,6 +816,8 @@ cmnd->dptr.prp1 = cpu_to_le64(iod->first_dma); if (bv->bv_len > first_prp_len) cmnd->dptr.prp2 = cpu_to_le64(iod->first_dma + first_prp_len); + else + cmnd->dptr.prp2 = 0; return BLK_STS_OK; } @@ -1378,7 +1381,7 @@ else nvme_poll_irqdisable(nvmeq); - if (blk_mq_request_completed(req)) { + if (blk_mq_rq_state(req) != MQ_RQ_IN_FLIGHT) { dev_warn(dev->ctrl.device, "I/O %d QID %d timeout, completion polled\n", req->tag, nvmeq->qid); @@ -1448,7 +1451,6 @@ abort_req->end_io = abort_endio; abort_req->end_io_data = NULL; - abort_req->rq_flags |= RQF_QUIET; blk_execute_rq_nowait(abort_req, false); /* @@ -1760,7 +1762,7 @@ * queue to flush these to completion. */ nvme_start_admin_queue(&dev->ctrl); - blk_cleanup_queue(dev->ctrl.admin_q); + blk_mq_destroy_queue(dev->ctrl.admin_q); blk_mq_free_tag_set(&dev->admin_tagset); } } @@ -2501,7 +2503,6 @@ req->end_io_data = nvmeq; init_completion(&nvmeq->delete_done); - req->rq_flags |= RQF_QUIET; blk_execute_rq_nowait(req, false); return 0; } @@ -2825,6 +2826,8 @@ goto out; } + dma_set_min_align_mask(dev->dev, NVME_CTRL_PAGE_SIZE - 1); + /* * If we're called to reset a live controller first shut it down before * moving on. @@ -2858,7 +2861,6 @@ * Don't limit the IOMMU merged segment size. */ dma_set_max_seg_size(dev->dev, 0xffffffff); - dma_set_min_align_mask(dev->dev, NVME_CTRL_PAGE_SIZE - 1); mutex_unlock(&dev->shutdown_lock); @@ -3485,6 +3487,8 @@ NVME_QUIRK_IGNORE_DEV_SUBNQN, }, { PCI_DEVICE(0x1344, 0x5407), /* Micron Technology Inc NVMe SSD */ .driver_data = NVME_QUIRK_IGNORE_DEV_SUBNQN }, + { PCI_DEVICE(0x1344, 0x6001), /* Micron Nitro NVMe */ + .driver_data = NVME_QUIRK_BOGUS_NID, }, { PCI_DEVICE(0x1c5c, 0x1504), /* SK Hynix PC400 */ .driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, }, { PCI_DEVICE(0x1c5c, 0x174a), /* SK Hynix P31 SSD */ @@ -3505,6 +3509,18 @@ .driver_data = NVME_QUIRK_NO_DEEPEST_PS, }, { PCI_DEVICE(0x2646, 0x2263), /* KINGSTON A2000 NVMe SSD */ .driver_data = NVME_QUIRK_NO_DEEPEST_PS, }, + { PCI_DEVICE(0x2646, 0x5018), /* KINGSTON OM8SFP4xxxxP OS21012 NVMe SSD */ + .driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, }, + { PCI_DEVICE(0x2646, 0x5016), /* KINGSTON OM3PGP4xxxxP OS21011 NVMe SSD */ + .driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, }, + { PCI_DEVICE(0x2646, 0x501A), /* KINGSTON OM8PGP4xxxxP OS21005 NVMe SSD */ + .driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, }, + { PCI_DEVICE(0x2646, 0x501B), /* KINGSTON OM8PGP4xxxxQ OS21005 NVMe SSD */ + .driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, }, + { PCI_DEVICE(0x2646, 0x501E), /* KINGSTON OM3PGP4xxxxQ OS21011 NVMe SSD */ + .driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, }, + { PCI_DEVICE(0x1f40, 0x5236), /* Netac Technologies Co. NV7000 NVMe SSD */ + .driver_data = NVME_QUIRK_BOGUS_NID, }, { PCI_DEVICE(0x1e4B, 0x1001), /* MAXIO MAP1001 */ .driver_data = NVME_QUIRK_BOGUS_NID, }, { PCI_DEVICE(0x1e4B, 0x1002), /* MAXIO MAP1002 */ @@ -3517,6 +3533,8 @@ .driver_data = NVME_QUIRK_NO_DEEPEST_PS, }, { PCI_DEVICE(0xc0a9, 0x540a), /* Crucial P2 */ .driver_data = NVME_QUIRK_BOGUS_NID, }, + { PCI_DEVICE(0x1d97, 0x2263), /* Lexar NM610 */ + .driver_data = NVME_QUIRK_BOGUS_NID, }, { PCI_DEVICE(PCI_VENDOR_ID_AMAZON, 0x0061), .driver_data = NVME_QUIRK_DMA_ADDRESS_BITS_48, }, { PCI_DEVICE(PCI_VENDOR_ID_AMAZON, 0x0065), --- linux-gcp-5.19.0.orig/drivers/nvme/host/rdma.c +++ linux-gcp-5.19.0/drivers/nvme/host/rdma.c @@ -840,8 +840,8 @@ bool remove) { if (remove) { - blk_cleanup_queue(ctrl->ctrl.admin_q); - blk_cleanup_queue(ctrl->ctrl.fabrics_q); + blk_mq_destroy_queue(ctrl->ctrl.admin_q); + blk_mq_destroy_queue(ctrl->ctrl.fabrics_q); blk_mq_free_tag_set(ctrl->ctrl.admin_tagset); } if (ctrl->async_event_sqe.data) { @@ -935,10 +935,10 @@ nvme_cancel_admin_tagset(&ctrl->ctrl); out_cleanup_queue: if (new) - blk_cleanup_queue(ctrl->ctrl.admin_q); + blk_mq_destroy_queue(ctrl->ctrl.admin_q); out_cleanup_fabrics_q: if (new) - blk_cleanup_queue(ctrl->ctrl.fabrics_q); + blk_mq_destroy_queue(ctrl->ctrl.fabrics_q); out_free_tagset: if (new) blk_mq_free_tag_set(ctrl->ctrl.admin_tagset); @@ -957,7 +957,7 @@ bool remove) { if (remove) { - blk_cleanup_queue(ctrl->ctrl.connect_q); + blk_mq_destroy_queue(ctrl->ctrl.connect_q); blk_mq_free_tag_set(ctrl->ctrl.tagset); } nvme_rdma_free_io_queues(ctrl); @@ -1012,7 +1012,7 @@ out_cleanup_connect_q: nvme_cancel_tagset(&ctrl->ctrl); if (new) - blk_cleanup_queue(ctrl->ctrl.connect_q); + blk_mq_destroy_queue(ctrl->ctrl.connect_q); out_free_tag_set: if (new) blk_mq_free_tag_set(ctrl->ctrl.tagset); --- linux-gcp-5.19.0.orig/drivers/nvme/host/tcp.c +++ linux-gcp-5.19.0/drivers/nvme/host/tcp.c @@ -121,7 +121,6 @@ struct mutex send_mutex; struct llist_head req_list; struct list_head send_list; - bool more_requests; /* recv state */ void *pdu; @@ -318,7 +317,7 @@ static inline bool nvme_tcp_queue_more(struct nvme_tcp_queue *queue) { return !list_empty(&queue->send_list) || - !llist_empty(&queue->req_list) || queue->more_requests; + !llist_empty(&queue->req_list); } static inline void nvme_tcp_queue_request(struct nvme_tcp_request *req, @@ -337,9 +336,7 @@ */ if (queue->io_cpu == raw_smp_processor_id() && sync && empty && mutex_trylock(&queue->send_mutex)) { - queue->more_requests = !last; nvme_tcp_send_all(queue); - queue->more_requests = false; mutex_unlock(&queue->send_mutex); } @@ -1227,7 +1224,7 @@ else if (unlikely(result < 0)) return; - if (!pending) + if (!pending || !queue->rd_enabled) return; } while (!time_after(jiffies, deadline)); /* quota is exhausted */ @@ -1884,7 +1881,7 @@ { nvme_tcp_stop_io_queues(ctrl); if (remove) { - blk_cleanup_queue(ctrl->connect_q); + blk_mq_destroy_queue(ctrl->connect_q); blk_mq_free_tag_set(ctrl->tagset); } nvme_tcp_free_io_queues(ctrl); @@ -1939,7 +1936,7 @@ out_cleanup_connect_q: nvme_cancel_tagset(ctrl); if (new) - blk_cleanup_queue(ctrl->connect_q); + blk_mq_destroy_queue(ctrl->connect_q); out_free_tag_set: if (new) blk_mq_free_tag_set(ctrl->tagset); @@ -1952,8 +1949,8 @@ { nvme_tcp_stop_queue(ctrl, 0); if (remove) { - blk_cleanup_queue(ctrl->admin_q); - blk_cleanup_queue(ctrl->fabrics_q); + blk_mq_destroy_queue(ctrl->admin_q); + blk_mq_destroy_queue(ctrl->fabrics_q); blk_mq_free_tag_set(ctrl->admin_tagset); } nvme_tcp_free_admin_queue(ctrl); @@ -2011,10 +2008,10 @@ nvme_cancel_admin_tagset(ctrl); out_cleanup_queue: if (new) - blk_cleanup_queue(ctrl->admin_q); + blk_mq_destroy_queue(ctrl->admin_q); out_cleanup_fabrics_q: if (new) - blk_cleanup_queue(ctrl->fabrics_q); + blk_mq_destroy_queue(ctrl->fabrics_q); out_free_tagset: if (new) blk_mq_free_tag_set(ctrl->admin_tagset); --- linux-gcp-5.19.0.orig/drivers/nvme/host/trace.h +++ linux-gcp-5.19.0/drivers/nvme/host/trace.h @@ -98,7 +98,7 @@ TP_fast_assign( __entry->ctrl_id = nvme_req(req)->ctrl->instance; __entry->qid = nvme_req_qid(req); - __entry->cid = req->tag; + __entry->cid = nvme_req(req)->cmd->common.command_id; __entry->result = le64_to_cpu(nvme_req(req)->result.u64); __entry->retries = nvme_req(req)->retries; __entry->flags = nvme_req(req)->flags; --- linux-gcp-5.19.0.orig/drivers/nvme/target/admin-cmd.c +++ linux-gcp-5.19.0/drivers/nvme/target/admin-cmd.c @@ -164,26 +164,29 @@ static void nvmet_get_cmd_effects_nvm(struct nvme_effects_log *log) { - log->acs[nvme_admin_get_log_page] = cpu_to_le32(1 << 0); - log->acs[nvme_admin_identify] = cpu_to_le32(1 << 0); - log->acs[nvme_admin_abort_cmd] = cpu_to_le32(1 << 0); - log->acs[nvme_admin_set_features] = cpu_to_le32(1 << 0); - log->acs[nvme_admin_get_features] = cpu_to_le32(1 << 0); - log->acs[nvme_admin_async_event] = cpu_to_le32(1 << 0); - log->acs[nvme_admin_keep_alive] = cpu_to_le32(1 << 0); + log->acs[nvme_admin_get_log_page] = + log->acs[nvme_admin_identify] = + log->acs[nvme_admin_abort_cmd] = + log->acs[nvme_admin_set_features] = + log->acs[nvme_admin_get_features] = + log->acs[nvme_admin_async_event] = + log->acs[nvme_admin_keep_alive] = + cpu_to_le32(NVME_CMD_EFFECTS_CSUPP); - log->iocs[nvme_cmd_read] = cpu_to_le32(1 << 0); - log->iocs[nvme_cmd_write] = cpu_to_le32(1 << 0); - log->iocs[nvme_cmd_flush] = cpu_to_le32(1 << 0); - log->iocs[nvme_cmd_dsm] = cpu_to_le32(1 << 0); - log->iocs[nvme_cmd_write_zeroes] = cpu_to_le32(1 << 0); + log->iocs[nvme_cmd_read] = + log->iocs[nvme_cmd_write] = + log->iocs[nvme_cmd_flush] = + log->iocs[nvme_cmd_dsm] = + log->iocs[nvme_cmd_write_zeroes] = + cpu_to_le32(NVME_CMD_EFFECTS_CSUPP); } static void nvmet_get_cmd_effects_zns(struct nvme_effects_log *log) { - log->iocs[nvme_cmd_zone_append] = cpu_to_le32(1 << 0); - log->iocs[nvme_cmd_zone_mgmt_send] = cpu_to_le32(1 << 0); - log->iocs[nvme_cmd_zone_mgmt_recv] = cpu_to_le32(1 << 0); + log->iocs[nvme_cmd_zone_append] = + log->iocs[nvme_cmd_zone_mgmt_send] = + log->iocs[nvme_cmd_zone_mgmt_recv] = + cpu_to_le32(NVME_CMD_EFFECTS_CSUPP); } static void nvmet_execute_get_log_cmd_effects_ns(struct nvmet_req *req) --- linux-gcp-5.19.0.orig/drivers/nvme/target/configfs.c +++ linux-gcp-5.19.0/drivers/nvme/target/configfs.c @@ -1210,6 +1210,7 @@ const char *page, size_t count) { int pos = 0, len; + char *val; if (subsys->subsys_discovered) { pr_err("Can't set model number. %s is already assigned\n", @@ -1232,9 +1233,11 @@ return -EINVAL; } - subsys->model_number = kmemdup_nul(page, len, GFP_KERNEL); - if (!subsys->model_number) + val = kmemdup_nul(page, len, GFP_KERNEL); + if (!val) return -ENOMEM; + kfree(subsys->model_number); + subsys->model_number = val; return count; } --- linux-gcp-5.19.0.orig/drivers/nvme/target/core.c +++ linux-gcp-5.19.0/drivers/nvme/target/core.c @@ -15,6 +15,7 @@ #include "nvmet.h" +struct kmem_cache *nvmet_bvec_cache; struct workqueue_struct *buffered_io_wq; struct workqueue_struct *zbd_wq; static const struct nvmet_fabrics_ops *nvmet_transports[NVMF_TRTYPE_MAX]; @@ -735,6 +736,8 @@ static void __nvmet_req_complete(struct nvmet_req *req, u16 status) { + struct nvmet_ns *ns = req->ns; + if (!req->sq->sqhd_disabled) nvmet_update_sq_head(req); req->cqe->sq_id = cpu_to_le16(req->sq->qid); @@ -745,9 +748,9 @@ trace_nvmet_req_complete(req); - if (req->ns) - nvmet_put_namespace(req->ns); req->ops->queue_response(req); + if (ns) + nvmet_put_namespace(ns); } void nvmet_req_complete(struct nvmet_req *req, u16 status) @@ -1165,7 +1168,7 @@ * reset the keep alive timer when the controller is enabled. */ if (ctrl->kato) - mod_delayed_work(system_wq, &ctrl->ka_work, ctrl->kato * HZ); + mod_delayed_work(nvmet_wq, &ctrl->ka_work, ctrl->kato * HZ); } static void nvmet_clear_ctrl(struct nvmet_ctrl *ctrl) @@ -1613,26 +1616,28 @@ static int __init nvmet_init(void) { - int error; + int error = -ENOMEM; nvmet_ana_group_enabled[NVMET_DEFAULT_ANA_GRPID] = 1; + nvmet_bvec_cache = kmem_cache_create("nvmet-bvec", + NVMET_MAX_MPOOL_BVEC * sizeof(struct bio_vec), 0, + SLAB_HWCACHE_ALIGN, NULL); + if (!nvmet_bvec_cache) + return -ENOMEM; + zbd_wq = alloc_workqueue("nvmet-zbd-wq", WQ_MEM_RECLAIM, 0); if (!zbd_wq) - return -ENOMEM; + goto out_destroy_bvec_cache; buffered_io_wq = alloc_workqueue("nvmet-buffered-io-wq", WQ_MEM_RECLAIM, 0); - if (!buffered_io_wq) { - error = -ENOMEM; + if (!buffered_io_wq) goto out_free_zbd_work_queue; - } nvmet_wq = alloc_workqueue("nvmet-wq", WQ_MEM_RECLAIM, 0); - if (!nvmet_wq) { - error = -ENOMEM; + if (!nvmet_wq) goto out_free_buffered_work_queue; - } error = nvmet_init_discovery(); if (error) @@ -1651,6 +1656,8 @@ destroy_workqueue(buffered_io_wq); out_free_zbd_work_queue: destroy_workqueue(zbd_wq); +out_destroy_bvec_cache: + kmem_cache_destroy(nvmet_bvec_cache); return error; } @@ -1662,6 +1669,7 @@ destroy_workqueue(nvmet_wq); destroy_workqueue(buffered_io_wq); destroy_workqueue(zbd_wq); + kmem_cache_destroy(nvmet_bvec_cache); BUILD_BUG_ON(sizeof(struct nvmf_disc_rsp_page_entry) != 1024); BUILD_BUG_ON(sizeof(struct nvmf_disc_rsp_page_hdr) != 1024); --- linux-gcp-5.19.0.orig/drivers/nvme/target/fc.c +++ linux-gcp-5.19.0/drivers/nvme/target/fc.c @@ -1685,8 +1685,10 @@ else { queue = nvmet_fc_alloc_target_queue(iod->assoc, 0, be16_to_cpu(rqst->assoc_cmd.sqsize)); - if (!queue) + if (!queue) { ret = VERR_QUEUE_ALLOC_FAIL; + nvmet_fc_tgt_a_put(iod->assoc); + } } } --- linux-gcp-5.19.0.orig/drivers/nvme/target/io-cmd-file.c +++ linux-gcp-5.19.0/drivers/nvme/target/io-cmd-file.c @@ -11,7 +11,6 @@ #include #include "nvmet.h" -#define NVMET_MAX_MPOOL_BVEC 16 #define NVMET_MIN_MPOOL_OBJ 16 void nvmet_file_ns_revalidate(struct nvmet_ns *ns) @@ -26,8 +25,6 @@ flush_workqueue(buffered_io_wq); mempool_destroy(ns->bvec_pool); ns->bvec_pool = NULL; - kmem_cache_destroy(ns->bvec_cache); - ns->bvec_cache = NULL; fput(ns->file); ns->file = NULL; } @@ -59,16 +56,8 @@ ns->blksize_shift = min_t(u8, file_inode(ns->file)->i_blkbits, 12); - ns->bvec_cache = kmem_cache_create("nvmet-bvec", - NVMET_MAX_MPOOL_BVEC * sizeof(struct bio_vec), - 0, SLAB_HWCACHE_ALIGN, NULL); - if (!ns->bvec_cache) { - ret = -ENOMEM; - goto err; - } - ns->bvec_pool = mempool_create(NVMET_MIN_MPOOL_OBJ, mempool_alloc_slab, - mempool_free_slab, ns->bvec_cache); + mempool_free_slab, nvmet_bvec_cache); if (!ns->bvec_pool) { ret = -ENOMEM; @@ -77,9 +66,10 @@ return ret; err: + fput(ns->file); + ns->file = NULL; ns->size = 0; ns->blksize_shift = 0; - nvmet_file_ns_disable(ns); return ret; } --- linux-gcp-5.19.0.orig/drivers/nvme/target/loop.c +++ linux-gcp-5.19.0/drivers/nvme/target/loop.c @@ -266,8 +266,8 @@ if (!test_and_clear_bit(NVME_LOOP_Q_LIVE, &ctrl->queues[0].flags)) return; nvmet_sq_destroy(&ctrl->queues[0].nvme_sq); - blk_cleanup_queue(ctrl->ctrl.admin_q); - blk_cleanup_queue(ctrl->ctrl.fabrics_q); + blk_mq_destroy_queue(ctrl->ctrl.admin_q); + blk_mq_destroy_queue(ctrl->ctrl.fabrics_q); blk_mq_free_tag_set(&ctrl->admin_tag_set); } @@ -283,7 +283,7 @@ mutex_unlock(&nvme_loop_ctrl_mutex); if (nctrl->tagset) { - blk_cleanup_queue(ctrl->ctrl.connect_q); + blk_mq_destroy_queue(ctrl->ctrl.connect_q); blk_mq_free_tag_set(&ctrl->tag_set); } kfree(ctrl->queues); @@ -410,9 +410,9 @@ out_cleanup_queue: clear_bit(NVME_LOOP_Q_LIVE, &ctrl->queues[0].flags); - blk_cleanup_queue(ctrl->ctrl.admin_q); + blk_mq_destroy_queue(ctrl->ctrl.admin_q); out_cleanup_fabrics_q: - blk_cleanup_queue(ctrl->ctrl.fabrics_q); + blk_mq_destroy_queue(ctrl->ctrl.fabrics_q); out_free_tagset: blk_mq_free_tag_set(&ctrl->admin_tag_set); out_free_sq: @@ -554,7 +554,7 @@ return 0; out_cleanup_connect_q: - blk_cleanup_queue(ctrl->ctrl.connect_q); + blk_mq_destroy_queue(ctrl->ctrl.connect_q); out_free_tagset: blk_mq_free_tag_set(&ctrl->tag_set); out_destroy_queues: --- linux-gcp-5.19.0.orig/drivers/nvme/target/nvmet.h +++ linux-gcp-5.19.0/drivers/nvme/target/nvmet.h @@ -77,7 +77,6 @@ struct completion disable_done; mempool_t *bvec_pool; - struct kmem_cache *bvec_cache; int use_p2pmem; struct pci_dev *p2p_dev; @@ -365,6 +364,8 @@ u64 error_slba; }; +#define NVMET_MAX_MPOOL_BVEC 16 +extern struct kmem_cache *nvmet_bvec_cache; extern struct workqueue_struct *buffered_io_wq; extern struct workqueue_struct *zbd_wq; extern struct workqueue_struct *nvmet_wq; --- linux-gcp-5.19.0.orig/drivers/nvme/target/passthru.c +++ linux-gcp-5.19.0/drivers/nvme/target/passthru.c @@ -215,9 +215,11 @@ { struct nvmet_req *req = container_of(w, struct nvmet_req, p.work); struct request *rq = req->p.rq; + struct nvme_ctrl *ctrl = nvme_req(rq)->ctrl; + u32 effects; int status; - status = nvme_execute_passthru_rq(rq); + status = nvme_execute_passthru_rq(rq, &effects); if (status == NVME_SC_SUCCESS && req->cmd->common.opcode == nvme_admin_identify) { @@ -238,6 +240,9 @@ req->cqe->result = nvme_req(rq)->result; nvmet_req_complete(req, status); blk_mq_free_request(rq); + + if (effects) + nvme_passthru_end(ctrl, effects, req->cmd, status); } static void nvmet_passthru_req_done(struct request *rq, @@ -328,14 +333,13 @@ } /* - * If there are effects for the command we are about to execute, or - * an end_req function we need to use nvme_execute_passthru_rq() - * synchronously in a work item seeing the end_req function and - * nvme_passthru_end() can't be called in the request done callback - * which is typically in interrupt context. + * If a command needs post-execution fixups, or there are any + * non-trivial effects, make sure to execute the command synchronously + * in a workqueue so that nvme_passthru_end gets called. */ effects = nvme_command_effects(ctrl, ns, req->cmd->common.opcode); - if (req->p.use_workqueue || effects) { + if (req->p.use_workqueue || + (effects & ~(NVME_CMD_EFFECTS_CSUPP | NVME_CMD_EFFECTS_LBCC))) { INIT_WORK(&req->p.work, nvmet_passthru_execute_cmd_work); req->p.rq = rq; queue_work(nvmet_wq, &req->p.work); --- linux-gcp-5.19.0.orig/drivers/nvme/target/tcp.c +++ linux-gcp-5.19.0/drivers/nvme/target/tcp.c @@ -935,10 +935,17 @@ struct nvme_tcp_data_pdu *data = &queue->pdu.data; struct nvmet_tcp_cmd *cmd; - if (likely(queue->nr_cmds)) + if (likely(queue->nr_cmds)) { + if (unlikely(data->ttag >= queue->nr_cmds)) { + pr_err("queue %d: received out of bound ttag %u, nr_cmds %u\n", + queue->idx, data->ttag, queue->nr_cmds); + nvmet_tcp_fatal_error(queue); + return -EPROTO; + } cmd = &queue->cmds[data->ttag]; - else + } else { cmd = &queue->connect; + } if (le32_to_cpu(data->data_offset) != cmd->rbytes_done) { pr_err("ttag %u unexpected data offset %u (expected %u)\n", @@ -1506,6 +1513,9 @@ goto done; switch (sk->sk_state) { + case TCP_FIN_WAIT2: + case TCP_LAST_ACK: + break; case TCP_FIN_WAIT1: case TCP_CLOSE_WAIT: case TCP_CLOSE: @@ -1839,7 +1849,8 @@ { int ret; - nvmet_tcp_wq = alloc_workqueue("nvmet_tcp_wq", WQ_HIGHPRI, 0); + nvmet_tcp_wq = alloc_workqueue("nvmet_tcp_wq", + WQ_MEM_RECLAIM | WQ_HIGHPRI, 0); if (!nvmet_tcp_wq) return -ENOMEM; --- linux-gcp-5.19.0.orig/drivers/nvme/target/zns.c +++ linux-gcp-5.19.0/drivers/nvme/target/zns.c @@ -100,6 +100,7 @@ struct nvme_id_ns_zns *id_zns; u64 zsze; u16 status; + u32 mar, mor; if (le32_to_cpu(req->cmd->identify.nsid) == NVME_NSID_ALL) { req->error_loc = offsetof(struct nvme_identify, nsid); @@ -130,8 +131,20 @@ zsze = (bdev_zone_sectors(req->ns->bdev) << 9) >> req->ns->blksize_shift; id_zns->lbafe[0].zsze = cpu_to_le64(zsze); - id_zns->mor = cpu_to_le32(bdev_max_open_zones(req->ns->bdev)); - id_zns->mar = cpu_to_le32(bdev_max_active_zones(req->ns->bdev)); + + mor = bdev_max_open_zones(req->ns->bdev); + if (!mor) + mor = U32_MAX; + else + mor--; + id_zns->mor = cpu_to_le32(mor); + + mar = bdev_max_active_zones(req->ns->bdev); + if (!mar) + mar = U32_MAX; + else + mar--; + id_zns->mar = cpu_to_le32(mar); done: status = nvmet_copy_to_sgl(req, 0, id_zns, sizeof(*id_zns)); --- linux-gcp-5.19.0.orig/drivers/nvmem/brcm_nvram.c +++ linux-gcp-5.19.0/drivers/nvmem/brcm_nvram.c @@ -97,6 +97,9 @@ len = le32_to_cpu(header.len); data = kcalloc(1, len, GFP_KERNEL); + if (!data) + return -ENOMEM; + memcpy_fromio(data, priv->base, len); data[len - 1] = '\0'; --- linux-gcp-5.19.0.orig/drivers/nvmem/core.c +++ linux-gcp-5.19.0/drivers/nvmem/core.c @@ -770,31 +770,32 @@ return ERR_PTR(rval); } - if (config->wp_gpio) - nvmem->wp_gpio = config->wp_gpio; - else if (!config->ignore_wp) + nvmem->id = rval; + + nvmem->dev.type = &nvmem_provider_type; + nvmem->dev.bus = &nvmem_bus_type; + nvmem->dev.parent = config->dev; + + device_initialize(&nvmem->dev); + + if (!config->ignore_wp) nvmem->wp_gpio = gpiod_get_optional(config->dev, "wp", GPIOD_OUT_HIGH); if (IS_ERR(nvmem->wp_gpio)) { - ida_free(&nvmem_ida, nvmem->id); rval = PTR_ERR(nvmem->wp_gpio); - kfree(nvmem); - return ERR_PTR(rval); + nvmem->wp_gpio = NULL; + goto err_put_device; } kref_init(&nvmem->refcnt); INIT_LIST_HEAD(&nvmem->cells); - nvmem->id = rval; nvmem->owner = config->owner; if (!nvmem->owner && config->dev->driver) nvmem->owner = config->dev->driver->owner; nvmem->stride = config->stride ?: 1; nvmem->word_size = config->word_size ?: 1; nvmem->size = config->size; - nvmem->dev.type = &nvmem_provider_type; - nvmem->dev.bus = &nvmem_bus_type; - nvmem->dev.parent = config->dev; nvmem->root_only = config->root_only; nvmem->priv = config->priv; nvmem->type = config->type; @@ -810,18 +811,21 @@ switch (config->id) { case NVMEM_DEVID_NONE: - dev_set_name(&nvmem->dev, "%s", config->name); + rval = dev_set_name(&nvmem->dev, "%s", config->name); break; case NVMEM_DEVID_AUTO: - dev_set_name(&nvmem->dev, "%s%d", config->name, nvmem->id); + rval = dev_set_name(&nvmem->dev, "%s%d", config->name, nvmem->id); break; default: - dev_set_name(&nvmem->dev, "%s%d", + rval = dev_set_name(&nvmem->dev, "%s%d", config->name ? : "nvmem", config->name ? config->id : nvmem->id); break; } + if (rval) + goto err_put_device; + nvmem->read_only = device_property_present(config->dev, "read-only") || config->read_only || !nvmem->reg_write; @@ -831,29 +835,20 @@ if (nvmem->nkeepout) { rval = nvmem_validate_keepouts(nvmem); - if (rval) { - ida_free(&nvmem_ida, nvmem->id); - kfree(nvmem); - return ERR_PTR(rval); - } + if (rval) + goto err_put_device; } - dev_dbg(&nvmem->dev, "Registering nvmem device %s\n", config->name); - - rval = device_register(&nvmem->dev); - if (rval) - goto err_put_device; - if (config->compat) { rval = nvmem_sysfs_setup_compat(nvmem, config); if (rval) - goto err_device_del; + goto err_put_device; } if (config->cells) { rval = nvmem_add_cells(nvmem, config->cells, config->ncells); if (rval) - goto err_teardown_compat; + goto err_remove_cells; } rval = nvmem_add_cells_from_table(nvmem); @@ -864,17 +859,20 @@ if (rval) goto err_remove_cells; + dev_dbg(&nvmem->dev, "Registering nvmem device %s\n", config->name); + + rval = device_add(&nvmem->dev); + if (rval) + goto err_remove_cells; + blocking_notifier_call_chain(&nvmem_notifier, NVMEM_ADD, nvmem); return nvmem; err_remove_cells: nvmem_device_remove_all_cells(nvmem); -err_teardown_compat: if (config->compat) nvmem_sysfs_remove_compat(nvmem, config); -err_device_del: - device_del(&nvmem->dev); err_put_device: put_device(&nvmem->dev); @@ -1239,16 +1237,21 @@ if (!cell_np) return ERR_PTR(-ENOENT); - nvmem_np = of_get_next_parent(cell_np); - if (!nvmem_np) + nvmem_np = of_get_parent(cell_np); + if (!nvmem_np) { + of_node_put(cell_np); return ERR_PTR(-EINVAL); + } nvmem = __nvmem_device_get(nvmem_np, device_match_of_node); of_node_put(nvmem_np); - if (IS_ERR(nvmem)) + if (IS_ERR(nvmem)) { + of_node_put(cell_np); return ERR_CAST(nvmem); + } cell_entry = nvmem_find_cell_entry_by_node(nvmem, cell_np); + of_node_put(cell_np); if (!cell_entry) { __nvmem_device_put(nvmem); return ERR_PTR(-ENOENT); --- linux-gcp-5.19.0.orig/drivers/nvmem/qcom-spmi-sdam.c +++ linux-gcp-5.19.0/drivers/nvmem/qcom-spmi-sdam.c @@ -166,6 +166,7 @@ { .compatible = "qcom,spmi-sdam" }, {}, }; +MODULE_DEVICE_TABLE(of, sdam_match_table); static struct platform_driver sdam_driver = { .driver = { --- linux-gcp-5.19.0.orig/drivers/nvmem/rmem.c +++ linux-gcp-5.19.0/drivers/nvmem/rmem.c @@ -37,9 +37,9 @@ * but as of Dec 2020 this isn't possible on arm64. */ addr = memremap(priv->mem->base, available, MEMREMAP_WB); - if (IS_ERR(addr)) { + if (!addr) { dev_err(priv->dev, "Failed to remap memory region\n"); - return PTR_ERR(addr); + return -ENOMEM; } count = memory_read_from_buffer(val, bytes, &off, addr, available); --- linux-gcp-5.19.0.orig/drivers/nvmem/sunxi_sid.c +++ linux-gcp-5.19.0/drivers/nvmem/sunxi_sid.c @@ -41,8 +41,21 @@ void *val, size_t bytes) { struct sunxi_sid *sid = context; + u32 word; - memcpy_fromio(val, sid->base + sid->value_offset + offset, bytes); + /* .stride = 4 so offset is guaranteed to be aligned */ + __ioread32_copy(val, sid->base + sid->value_offset + offset, bytes / 4); + + val += round_down(bytes, 4); + offset += round_down(bytes, 4); + bytes = bytes % 4; + + if (!bytes) + return 0; + + /* Handle any trailing bytes */ + word = readl_relaxed(sid->base + sid->value_offset + offset); + memcpy(val, &word, bytes); return 0; } --- linux-gcp-5.19.0.orig/drivers/of/address.c +++ linux-gcp-5.19.0/drivers/of/address.c @@ -963,8 +963,19 @@ } of_dma_range_parser_init(&parser, node); - for_each_of_range(&parser, &range) + for_each_of_range(&parser, &range) { + if (range.cpu_addr == OF_BAD_ADDR) { + pr_err("translation of DMA address(%llx) to CPU address failed node(%pOF)\n", + range.bus_addr, node); + continue; + } num_ranges++; + } + + if (!num_ranges) { + ret = -EINVAL; + goto out; + } r = kcalloc(num_ranges + 1, sizeof(*r), GFP_KERNEL); if (!r) { @@ -973,18 +984,16 @@ } /* - * Record all info in the generic DMA ranges array for struct device. + * Record all info in the generic DMA ranges array for struct device, + * returning an error if we don't find any parsable ranges. */ *map = r; of_dma_range_parser_init(&parser, node); for_each_of_range(&parser, &range) { pr_debug("dma_addr(%llx) cpu_addr(%llx) size(%llx)\n", range.bus_addr, range.cpu_addr, range.size); - if (range.cpu_addr == OF_BAD_ADDR) { - pr_err("translation of DMA address(%llx) to CPU address failed node(%pOF)\n", - range.bus_addr, node); + if (range.cpu_addr == OF_BAD_ADDR) continue; - } r->cpu_start = range.cpu_addr; r->dma_start = range.bus_addr; r->size = range.size; --- linux-gcp-5.19.0.orig/drivers/of/device.c +++ linux-gcp-5.19.0/drivers/of/device.c @@ -81,8 +81,11 @@ * restricted-dma-pool region is allowed. */ if (of_device_is_compatible(node, "restricted-dma-pool") && - of_device_is_available(node)) + of_device_is_available(node)) { + of_node_put(node); break; + } + of_node_put(node); } /* --- linux-gcp-5.19.0.orig/drivers/of/fdt.c +++ linux-gcp-5.19.0/drivers/of/fdt.c @@ -26,7 +26,6 @@ #include #include #include -#include #include /* for COMMAND_LINE_SIZE */ #include @@ -246,7 +245,7 @@ } *pnp = np; - return true; + return 0; } static void reverse_nodes(struct device_node *parent) @@ -314,7 +313,7 @@ for (offset = 0; offset >= 0 && depth >= initial_depth; offset = fdt_next_node(blob, offset, &depth)) { - if (WARN_ON_ONCE(depth >= FDT_MAX_DEPTH)) + if (WARN_ON_ONCE(depth >= FDT_MAX_DEPTH - 1)) continue; if (!IS_ENABLED(CONFIG_OF_KOBJ) && @@ -525,12 +524,9 @@ size = dt_mem_next_cell(dt_root_size_cells, &prop); if (size && - early_init_dt_reserve_memory_arch(base, size, nomap) == 0) { + early_init_dt_reserve_memory_arch(base, size, nomap) == 0) pr_debug("Reserved memory: reserved region for node '%s': base %pa, size %lu MiB\n", uname, &base, (unsigned long)(size / SZ_1M)); - if (!nomap) - kmemleak_alloc_phys(base, size, 0, 0); - } else pr_info("Reserved memory: failed to reserve memory for node '%s': base %pa, size %lu MiB\n", uname, &base, (unsigned long)(size / SZ_1M)); @@ -1105,7 +1101,7 @@ */ int __init early_init_dt_scan_memory(void) { - int node; + int node, found_memory = 0; const void *fdt = initial_boot_params; fdt_for_each_subnode(node, fdt, 0) { @@ -1145,6 +1141,8 @@ early_init_dt_add_memory_arch(base, size); + found_memory = 1; + if (!hotpluggable) continue; @@ -1153,7 +1151,7 @@ base, base + size); } } - return 0; + return found_memory; } int __init early_init_dt_scan_chosen(char *cmdline) --- linux-gcp-5.19.0.orig/drivers/of/kexec.c +++ linux-gcp-5.19.0/drivers/of/kexec.c @@ -126,6 +126,7 @@ { int ret, len; unsigned long tmp_addr; + unsigned long start_pfn, end_pfn; size_t tmp_size; const void *prop; @@ -140,6 +141,22 @@ if (ret) return ret; + /* Do some sanity on the returned size for the ima-kexec buffer */ + if (!tmp_size) + return -ENOENT; + + /* + * Calculate the PFNs for the buffer and ensure + * they are with in addressable memory. + */ + start_pfn = PHYS_PFN(tmp_addr); + end_pfn = PHYS_PFN(tmp_addr + tmp_size - 1); + if (!page_is_ram(start_pfn) || !page_is_ram(end_pfn)) { + pr_warn("IMA buffer at 0x%lx, size = 0x%zx beyond memory\n", + tmp_addr, tmp_size); + return -EINVAL; + } + *addr = __va(tmp_addr); *size = tmp_size; @@ -267,7 +284,7 @@ const char *cmdline, size_t extra_fdt_size) { void *fdt; - int ret, chosen_node; + int ret, chosen_node, len; const void *prop; size_t fdt_size; @@ -310,19 +327,19 @@ goto out; /* Did we boot using an initrd? */ - prop = fdt_getprop(fdt, chosen_node, "linux,initrd-start", NULL); + prop = fdt_getprop(fdt, chosen_node, "linux,initrd-start", &len); if (prop) { u64 tmp_start, tmp_end, tmp_size; - tmp_start = fdt64_to_cpu(*((const fdt64_t *) prop)); + tmp_start = of_read_number(prop, len / 4); - prop = fdt_getprop(fdt, chosen_node, "linux,initrd-end", NULL); + prop = fdt_getprop(fdt, chosen_node, "linux,initrd-end", &len); if (!prop) { ret = -EINVAL; goto out; } - tmp_end = fdt64_to_cpu(*((const fdt64_t *) prop)); + tmp_end = of_read_number(prop, len / 4); /* * kexec reserves exact initrd size, while firmware may --- linux-gcp-5.19.0.orig/drivers/of/of_reserved_mem.c +++ linux-gcp-5.19.0/drivers/of/of_reserved_mem.c @@ -48,9 +48,10 @@ err = memblock_mark_nomap(base, size); if (err) memblock_phys_free(base, size); - kmemleak_ignore_phys(base); } + kmemleak_ignore_phys(base); + return err; } --- linux-gcp-5.19.0.orig/drivers/of/overlay.c +++ linux-gcp-5.19.0/drivers/of/overlay.c @@ -545,7 +545,7 @@ fn_1 = kasprintf(GFP_KERNEL, "%pOF", ce_1->np); fn_2 = kasprintf(GFP_KERNEL, "%pOF", ce_2->np); - node_path_match = !strcmp(fn_1, fn_2); + node_path_match = !fn_1 || !fn_2 || !strcmp(fn_1, fn_2); kfree(fn_1); kfree(fn_2); if (node_path_match) { @@ -580,7 +580,7 @@ fn_1 = kasprintf(GFP_KERNEL, "%pOF", ce_1->np); fn_2 = kasprintf(GFP_KERNEL, "%pOF", ce_2->np); - node_path_match = !strcmp(fn_1, fn_2); + node_path_match = !fn_1 || !fn_2 || !strcmp(fn_1, fn_2); kfree(fn_1); kfree(fn_2); if (node_path_match && @@ -903,12 +903,6 @@ { int ret = 0, ret_revert, ret_tmp; - if (devicetree_corrupt()) { - pr_err("devicetree state suspect, refuse to apply overlay\n"); - ret = -EBUSY; - goto out; - } - ret = of_resolve_phandles(ovcs->overlay_root); if (ret) goto out; @@ -983,6 +977,11 @@ *ret_ovcs_id = 0; + if (devicetree_corrupt()) { + pr_err("devicetree state suspect, refuse to apply overlay\n"); + return -EBUSY; + } + if (overlay_fdt_size < sizeof(struct fdt_header) || fdt_check_header(overlay_fdt)) { pr_err("Invalid overlay_fdt header\n"); --- linux-gcp-5.19.0.orig/drivers/of/platform.c +++ linux-gcp-5.19.0/drivers/of/platform.c @@ -526,6 +526,7 @@ if (IS_ENABLED(CONFIG_PPC)) { struct device_node *boot_display = NULL; struct platform_device *dev; + int display_number = 0; int ret; /* Check if we have a MacOS display without a node spec */ @@ -556,16 +557,23 @@ if (!of_get_property(node, "linux,opened", NULL) || !of_get_property(node, "linux,boot-display", NULL)) continue; - dev = of_platform_device_create(node, "of-display", NULL); + dev = of_platform_device_create(node, "of-display.0", NULL); + of_node_put(node); if (WARN_ON(!dev)) return -ENOMEM; boot_display = node; + display_number++; break; } for_each_node_by_type(node, "display") { + char buf[14]; + const char *of_display_format = "of-display.%d"; + if (!of_get_property(node, "linux,opened", NULL) || node == boot_display) continue; - of_platform_device_create(node, "of-display", NULL); + ret = snprintf(buf, sizeof(buf), of_display_format, display_number++); + if (ret < sizeof(buf)) + of_platform_device_create(node, buf, NULL); } } else { --- linux-gcp-5.19.0.orig/drivers/of/property.c +++ linux-gcp-5.19.0/drivers/of/property.c @@ -993,8 +993,10 @@ nargs, index, &of_args); if (ret < 0) return ret; - if (!args) + if (!args) { + of_node_put(of_args.np); return 0; + } args->nargs = of_args.args_count; args->fwnode = of_fwnode_handle(of_args.np); --- linux-gcp-5.19.0.orig/drivers/opp/core.c +++ linux-gcp-5.19.0/drivers/opp/core.c @@ -2528,8 +2528,8 @@ } virt_dev = dev_pm_domain_attach_by_name(dev, *name); - if (IS_ERR(virt_dev)) { - ret = PTR_ERR(virt_dev); + if (IS_ERR_OR_NULL(virt_dev)) { + ret = PTR_ERR(virt_dev) ? : -ENODEV; dev_err(dev, "Couldn't attach to pm_domain: %d\n", ret); goto err; } --- linux-gcp-5.19.0.orig/drivers/opp/debugfs.c +++ linux-gcp-5.19.0/drivers/opp/debugfs.c @@ -216,7 +216,7 @@ dentry = debugfs_rename(rootdir, opp_dev->dentry, rootdir, opp_table->dentry_name); - if (!dentry) { + if (IS_ERR(dentry)) { dev_err(dev, "%s: Failed to rename link from: %s to %s\n", __func__, dev_name(opp_dev->dev), dev_name(dev)); return; --- linux-gcp-5.19.0.orig/drivers/opp/of.c +++ linux-gcp-5.19.0/drivers/opp/of.c @@ -1443,12 +1443,12 @@ * It provides the power used by @dev at @kHz if it is the frequency of an * existing OPP, or at the frequency of the first OPP above @kHz otherwise * (see dev_pm_opp_find_freq_ceil()). This function updates @kHz to the ceiled - * frequency and @mW to the associated power. + * frequency and @uW to the associated power. * * Returns 0 on success or a proper -EINVAL value in case of error. */ static int __maybe_unused -_get_dt_power(struct device *dev, unsigned long *mW, unsigned long *kHz) +_get_dt_power(struct device *dev, unsigned long *uW, unsigned long *kHz) { struct dev_pm_opp *opp; unsigned long opp_freq, opp_power; @@ -1465,7 +1465,7 @@ return -EINVAL; *kHz = opp_freq / 1000; - *mW = opp_power / 1000; + *uW = opp_power; return 0; } @@ -1475,14 +1475,14 @@ * This computes the power estimated by @dev at @kHz if it is the frequency * of an existing OPP, or at the frequency of the first OPP above @kHz otherwise * (see dev_pm_opp_find_freq_ceil()). This function updates @kHz to the ceiled - * frequency and @mW to the associated power. The power is estimated as + * frequency and @uW to the associated power. The power is estimated as * P = C * V^2 * f with C being the device's capacitance and V and f * respectively the voltage and frequency of the OPP. * * Returns -EINVAL if the power calculation failed because of missing * parameters, 0 otherwise. */ -static int __maybe_unused _get_power(struct device *dev, unsigned long *mW, +static int __maybe_unused _get_power(struct device *dev, unsigned long *uW, unsigned long *kHz) { struct dev_pm_opp *opp; @@ -1512,9 +1512,10 @@ return -EINVAL; tmp = (u64)cap * mV * mV * (Hz / 1000000); - do_div(tmp, 1000000000); + /* Provide power in micro-Watts */ + do_div(tmp, 1000000); - *mW = (unsigned long)tmp; + *uW = (unsigned long)tmp; *kHz = Hz / 1000; return 0; --- linux-gcp-5.19.0.orig/drivers/parisc/ccio-dma.c +++ linux-gcp-5.19.0/drivers/parisc/ccio-dma.c @@ -1380,15 +1380,17 @@ } } -static void __init ccio_init_resources(struct ioc *ioc) +static int __init ccio_init_resources(struct ioc *ioc) { struct resource *res = ioc->mmio_region; char *name = kmalloc(14, GFP_KERNEL); - + if (unlikely(!name)) + return -ENOMEM; snprintf(name, 14, "GSC Bus [%d/]", ioc->hw_path); ccio_init_resource(res, name, &ioc->ioc_regs->io_io_low); ccio_init_resource(res + 1, name, &ioc->ioc_regs->io_io_low_hv); + return 0; } static int new_ioc_area(struct resource *res, unsigned long size, @@ -1543,7 +1545,11 @@ return -ENOMEM; } ccio_ioc_init(ioc); - ccio_init_resources(ioc); + if (ccio_init_resources(ioc)) { + iounmap(ioc->ioc_regs); + kfree(ioc); + return -ENOMEM; + } hppa_dma_ops = &ccio_ops; hba = kzalloc(sizeof(*hba), GFP_KERNEL); --- linux-gcp-5.19.0.orig/drivers/parisc/iosapic.c +++ linux-gcp-5.19.0/drivers/parisc/iosapic.c @@ -875,6 +875,7 @@ return vi->txn_irq; } +EXPORT_SYMBOL(iosapic_serial_irq); #endif --- linux-gcp-5.19.0.orig/drivers/parisc/lba_pci.c +++ linux-gcp-5.19.0/drivers/parisc/lba_pci.c @@ -1476,9 +1476,13 @@ u32 func_class; void *tmp_obj; char *version; - void __iomem *addr = ioremap(dev->hpa.start, 4096); + void __iomem *addr; int max; + addr = ioremap(dev->hpa.start, 4096); + if (addr == NULL) + return -ENOMEM; + /* Read HW Rev First */ func_class = READ_REG32(addr + LBA_FCLASS); --- linux-gcp-5.19.0.orig/drivers/parisc/led.c +++ linux-gcp-5.19.0/drivers/parisc/led.c @@ -137,6 +137,9 @@ /* Create the work queue and queue the LED task */ led_wq = create_singlethread_workqueue("led_wq"); + if (!led_wq) + return -ENOMEM; + queue_delayed_work(led_wq, &led_task, 0); return 0; --- linux-gcp-5.19.0.orig/drivers/parport/parport_pc.c +++ linux-gcp-5.19.0/drivers/parport/parport_pc.c @@ -468,7 +468,7 @@ const unsigned char *bufp = buf; size_t left = length; unsigned long expire = jiffies + port->physport->cad->timeout; - const int fifo = FIFO(port); + const unsigned long fifo = FIFO(port); int poll_for = 8; /* 80 usecs */ const struct parport_pc_private *priv = port->physport->private_data; const int fifo_depth = priv->fifo_depth; --- linux-gcp-5.19.0.orig/drivers/pci/controller/dwc/pcie-designware-ep.c +++ linux-gcp-5.19.0/drivers/pci/controller/dwc/pcie-designware-ep.c @@ -780,8 +780,9 @@ ep->msi_mem = pci_epc_mem_alloc_addr(epc, &ep->msi_mem_phys, epc->mem->window.page_size); if (!ep->msi_mem) { + ret = -ENOMEM; dev_err(dev, "Failed to reserve memory for MSI/MSI-X\n"); - return -ENOMEM; + goto err_exit_epc_mem; } if (ep->ops->get_features) { @@ -790,6 +791,19 @@ return 0; } - return dw_pcie_ep_init_complete(ep); + ret = dw_pcie_ep_init_complete(ep); + if (ret) + goto err_free_epc_mem; + + return 0; + +err_free_epc_mem: + pci_epc_mem_free_addr(epc, ep->msi_mem_phys, ep->msi_mem, + epc->mem->window.page_size); + +err_exit_epc_mem: + pci_epc_mem_exit(epc); + + return ret; } EXPORT_SYMBOL_GPL(dw_pcie_ep_init); --- linux-gcp-5.19.0.orig/drivers/pci/controller/dwc/pcie-designware-host.c +++ linux-gcp-5.19.0/drivers/pci/controller/dwc/pcie-designware-host.c @@ -421,8 +421,14 @@ bridge->sysdata = pp; ret = pci_host_probe(bridge); - if (!ret) - return 0; + if (ret) + goto err_stop_link; + + return 0; + +err_stop_link: + if (pci->ops && pci->ops->stop_link) + pci->ops->stop_link(pci); err_free_msi: if (pp->has_msi_ctrl) @@ -433,8 +439,14 @@ void dw_pcie_host_deinit(struct pcie_port *pp) { + struct dw_pcie *pci = to_dw_pcie_from_pp(pp); + pci_stop_root_bus(pp->bridge->bus); pci_remove_root_bus(pp->bridge->bus); + + if (pci->ops && pci->ops->stop_link) + pci->ops->stop_link(pci); + if (pp->has_msi_ctrl) dw_pcie_free_msi(pp); } @@ -531,7 +543,6 @@ void dw_pcie_setup_rc(struct pcie_port *pp) { - int i; u32 val, ctrl, num_ctrls; struct dw_pcie *pci = to_dw_pcie_from_pp(pp); @@ -582,19 +593,22 @@ PCI_COMMAND_MASTER | PCI_COMMAND_SERR; dw_pcie_writel_dbi(pci, PCI_COMMAND, val); - /* Ensure all outbound windows are disabled so there are multiple matches */ - for (i = 0; i < pci->num_ob_windows; i++) - dw_pcie_disable_atu(pci, i, DW_PCIE_REGION_OUTBOUND); - /* * If the platform provides its own child bus config accesses, it means * the platform uses its own address translation component rather than * ATU, so we should not program the ATU here. */ if (pp->bridge->child_ops == &dw_child_pcie_ops) { - int atu_idx = 0; + int i, atu_idx = 0; struct resource_entry *entry; + /* + * Disable all outbound windows to make sure a transaction + * can't match multiple windows. + */ + for (i = 0; i < pci->num_ob_windows; i++) + dw_pcie_disable_atu(pci, i, DW_PCIE_REGION_OUTBOUND); + /* Get last memory resource entry */ resource_list_for_each_entry(entry, &pp->bridge->windows) { if (resource_type(entry->res) != IORESOURCE_MEM) --- linux-gcp-5.19.0.orig/drivers/pci/controller/dwc/pcie-designware.c +++ linux-gcp-5.19.0/drivers/pci/controller/dwc/pcie-designware.c @@ -287,8 +287,8 @@ dw_pcie_writel_ob_unroll(pci, index, PCIE_ATU_UNR_UPPER_TARGET, upper_32_bits(pci_addr)); val = type | PCIE_ATU_FUNC_NUM(func_no); - val = upper_32_bits(size - 1) ? - val | PCIE_ATU_INCREASE_REGION_SIZE : val; + if (upper_32_bits(limit_addr) > upper_32_bits(cpu_addr)) + val |= PCIE_ATU_INCREASE_REGION_SIZE; if (pci->version == 0x490A) val = dw_pcie_enable_ecrc(val); dw_pcie_writel_ob_unroll(pci, index, PCIE_ATU_UNR_REGION_CTRL1, val); @@ -315,6 +315,7 @@ u64 pci_addr, u64 size) { u32 retries, val; + u64 limit_addr; if (pci->ops && pci->ops->cpu_addr_fixup) cpu_addr = pci->ops->cpu_addr_fixup(pci, cpu_addr); @@ -325,6 +326,8 @@ return; } + limit_addr = cpu_addr + size - 1; + dw_pcie_writel_dbi(pci, PCIE_ATU_VIEWPORT, PCIE_ATU_REGION_OUTBOUND | index); dw_pcie_writel_dbi(pci, PCIE_ATU_LOWER_BASE, @@ -332,17 +335,18 @@ dw_pcie_writel_dbi(pci, PCIE_ATU_UPPER_BASE, upper_32_bits(cpu_addr)); dw_pcie_writel_dbi(pci, PCIE_ATU_LIMIT, - lower_32_bits(cpu_addr + size - 1)); + lower_32_bits(limit_addr)); if (pci->version >= 0x460A) dw_pcie_writel_dbi(pci, PCIE_ATU_UPPER_LIMIT, - upper_32_bits(cpu_addr + size - 1)); + upper_32_bits(limit_addr)); dw_pcie_writel_dbi(pci, PCIE_ATU_LOWER_TARGET, lower_32_bits(pci_addr)); dw_pcie_writel_dbi(pci, PCIE_ATU_UPPER_TARGET, upper_32_bits(pci_addr)); val = type | PCIE_ATU_FUNC_NUM(func_no); - val = ((upper_32_bits(size - 1)) && (pci->version >= 0x460A)) ? - val | PCIE_ATU_INCREASE_REGION_SIZE : val; + if (upper_32_bits(limit_addr) > upper_32_bits(cpu_addr) && + pci->version >= 0x460A) + val |= PCIE_ATU_INCREASE_REGION_SIZE; if (pci->version == 0x490A) val = dw_pcie_enable_ecrc(val); dw_pcie_writel_dbi(pci, PCIE_ATU_CR1, val); @@ -491,7 +495,7 @@ void dw_pcie_disable_atu(struct dw_pcie *pci, int index, enum dw_pcie_region_type type) { - int region; + u32 region; switch (type) { case DW_PCIE_REGION_INBOUND: @@ -504,8 +508,18 @@ return; } - dw_pcie_writel_dbi(pci, PCIE_ATU_VIEWPORT, region | index); - dw_pcie_writel_dbi(pci, PCIE_ATU_CR2, ~(u32)PCIE_ATU_ENABLE); + if (pci->iatu_unroll_enabled) { + if (region == PCIE_ATU_REGION_INBOUND) { + dw_pcie_writel_ib_unroll(pci, index, PCIE_ATU_UNR_REGION_CTRL2, + ~(u32)PCIE_ATU_ENABLE); + } else { + dw_pcie_writel_ob_unroll(pci, index, PCIE_ATU_UNR_REGION_CTRL2, + ~(u32)PCIE_ATU_ENABLE); + } + } else { + dw_pcie_writel_dbi(pci, PCIE_ATU_VIEWPORT, region | index); + dw_pcie_writel_dbi(pci, PCIE_ATU_CR2, ~(u32)PCIE_ATU_ENABLE); + } } int dw_pcie_wait_for_link(struct dw_pcie *pci) @@ -717,7 +731,7 @@ if (pci->n_fts[1]) { val = dw_pcie_readl_dbi(pci, PCIE_LINK_WIDTH_SPEED_CONTROL); val &= ~PORT_LOGIC_N_FTS_MASK; - val |= pci->n_fts[pci->link_gen - 1]; + val |= pci->n_fts[1]; dw_pcie_writel_dbi(pci, PCIE_LINK_WIDTH_SPEED_CONTROL, val); } @@ -726,6 +740,13 @@ val |= PORT_LINK_DLL_LINK_EN; dw_pcie_writel_dbi(pci, PCIE_PORT_LINK_CONTROL, val); + if (of_property_read_bool(np, "snps,enable-cdm-check")) { + val = dw_pcie_readl_dbi(pci, PCIE_PL_CHK_REG_CONTROL_STATUS); + val |= PCIE_PL_CHK_REG_CHK_REG_CONTINUOUS | + PCIE_PL_CHK_REG_CHK_REG_START; + dw_pcie_writel_dbi(pci, PCIE_PL_CHK_REG_CONTROL_STATUS, val); + } + of_property_read_u32(np, "num-lanes", &pci->num_lanes); if (!pci->num_lanes) { dev_dbg(pci->dev, "Using h/w default number of lanes\n"); @@ -772,11 +793,4 @@ break; } dw_pcie_writel_dbi(pci, PCIE_LINK_WIDTH_SPEED_CONTROL, val); - - if (of_property_read_bool(np, "snps,enable-cdm-check")) { - val = dw_pcie_readl_dbi(pci, PCIE_PL_CHK_REG_CONTROL_STATUS); - val |= PCIE_PL_CHK_REG_CHK_REG_CONTINUOUS | - PCIE_PL_CHK_REG_CHK_REG_START; - dw_pcie_writel_dbi(pci, PCIE_PL_CHK_REG_CONTROL_STATUS, val); - } } --- linux-gcp-5.19.0.orig/drivers/pci/controller/dwc/pcie-qcom.c +++ linux-gcp-5.19.0/drivers/pci/controller/dwc/pcie-qcom.c @@ -337,8 +337,6 @@ reset_control_assert(res->ext_reset); reset_control_assert(res->phy_reset); - writel(1, pcie->parf + PCIE20_PARF_PHY_CTRL); - ret = regulator_bulk_enable(ARRAY_SIZE(res->supplies), res->supplies); if (ret < 0) { dev_err(dev, "cannot enable regulators\n"); @@ -381,15 +379,15 @@ goto err_deassert_axi; } - ret = clk_bulk_prepare_enable(ARRAY_SIZE(res->clks), res->clks); - if (ret) - goto err_clks; - /* enable PCIe clocks and resets */ val = readl(pcie->parf + PCIE20_PARF_PHY_CTRL); val &= ~BIT(0); writel(val, pcie->parf + PCIE20_PARF_PHY_CTRL); + ret = clk_bulk_prepare_enable(ARRAY_SIZE(res->clks), res->clks); + if (ret) + goto err_clks; + if (of_device_is_compatible(node, "qcom,pcie-ipq8064") || of_device_is_compatible(node, "qcom,pcie-ipq8064-v2")) { writel(PCS_DEEMPH_TX_DEEMPH_GEN1(24) | @@ -1038,9 +1036,7 @@ struct qcom_pcie_resources_2_3_3 *res = &pcie->res.v2_3_3; struct dw_pcie *pci = pcie->pci; struct device *dev = pci->dev; - u16 offset = dw_pcie_find_capability(pci, PCI_CAP_ID_EXP); int i, ret; - u32 val; for (i = 0; i < ARRAY_SIZE(res->rst); i++) { ret = reset_control_assert(res->rst[i]); @@ -1097,6 +1093,33 @@ goto err_clk_aux; } + return 0; + +err_clk_aux: + clk_disable_unprepare(res->ahb_clk); +err_clk_ahb: + clk_disable_unprepare(res->axi_s_clk); +err_clk_axi_s: + clk_disable_unprepare(res->axi_m_clk); +err_clk_axi_m: + clk_disable_unprepare(res->iface); +err_clk_iface: + /* + * Not checking for failure, will anyway return + * the original failure in 'ret'. + */ + for (i = 0; i < ARRAY_SIZE(res->rst); i++) + reset_control_assert(res->rst[i]); + + return ret; +} + +static int qcom_pcie_post_init_2_3_3(struct qcom_pcie *pcie) +{ + struct dw_pcie *pci = pcie->pci; + u16 offset = dw_pcie_find_capability(pci, PCI_CAP_ID_EXP); + u32 val; + writel(SLV_ADDR_SPACE_SZ, pcie->parf + PCIE20_v3_PARF_SLV_ADDR_SPACE_SIZE); @@ -1124,24 +1147,6 @@ PCI_EXP_DEVCTL2); return 0; - -err_clk_aux: - clk_disable_unprepare(res->ahb_clk); -err_clk_ahb: - clk_disable_unprepare(res->axi_s_clk); -err_clk_axi_s: - clk_disable_unprepare(res->axi_m_clk); -err_clk_axi_m: - clk_disable_unprepare(res->iface); -err_clk_iface: - /* - * Not checking for failure, will anyway return - * the original failure in 'ret'. - */ - for (i = 0; i < ARRAY_SIZE(res->rst); i++) - reset_control_assert(res->rst[i]); - - return ret; } static int qcom_pcie_get_resources_2_7_0(struct qcom_pcie *pcie) @@ -1467,6 +1472,7 @@ static const struct qcom_pcie_ops ops_2_3_3 = { .get_resources = qcom_pcie_get_resources_2_3_3, .init = qcom_pcie_init_2_3_3, + .post_init = qcom_pcie_post_init_2_3_3, .deinit = qcom_pcie_deinit_2_3_3, .ltssm_enable = qcom_pcie_2_3_2_ltssm_enable, }; --- linux-gcp-5.19.0.orig/drivers/pci/controller/dwc/pcie-tegra194.c +++ linux-gcp-5.19.0/drivers/pci/controller/dwc/pcie-tegra194.c @@ -350,15 +350,14 @@ struct tegra194_pcie *pcie = arg; struct dw_pcie *pci = &pcie->pci; struct pcie_port *pp = &pci->pp; - u32 val, tmp; + u32 val, status_l0, status_l1; u16 val_w; - val = appl_readl(pcie, APPL_INTR_STATUS_L0); - if (val & APPL_INTR_STATUS_L0_LINK_STATE_INT) { - val = appl_readl(pcie, APPL_INTR_STATUS_L1_0_0); - if (val & APPL_INTR_STATUS_L1_0_0_LINK_REQ_RST_NOT_CHGED) { - appl_writel(pcie, val, APPL_INTR_STATUS_L1_0_0); - + status_l0 = appl_readl(pcie, APPL_INTR_STATUS_L0); + if (status_l0 & APPL_INTR_STATUS_L0_LINK_STATE_INT) { + status_l1 = appl_readl(pcie, APPL_INTR_STATUS_L1_0_0); + appl_writel(pcie, status_l1, APPL_INTR_STATUS_L1_0_0); + if (status_l1 & APPL_INTR_STATUS_L1_0_0_LINK_REQ_RST_NOT_CHGED) { /* SBR & Surprise Link Down WAR */ val = appl_readl(pcie, APPL_CAR_RESET_OVRD); val &= ~APPL_CAR_RESET_OVRD_CYA_OVERRIDE_CORE_RST_N; @@ -374,15 +373,15 @@ } } - if (val & APPL_INTR_STATUS_L0_INT_INT) { - val = appl_readl(pcie, APPL_INTR_STATUS_L1_8_0); - if (val & APPL_INTR_STATUS_L1_8_0_AUTO_BW_INT_STS) { + if (status_l0 & APPL_INTR_STATUS_L0_INT_INT) { + status_l1 = appl_readl(pcie, APPL_INTR_STATUS_L1_8_0); + if (status_l1 & APPL_INTR_STATUS_L1_8_0_AUTO_BW_INT_STS) { appl_writel(pcie, APPL_INTR_STATUS_L1_8_0_AUTO_BW_INT_STS, APPL_INTR_STATUS_L1_8_0); apply_bad_link_workaround(pp); } - if (val & APPL_INTR_STATUS_L1_8_0_BW_MGT_INT_STS) { + if (status_l1 & APPL_INTR_STATUS_L1_8_0_BW_MGT_INT_STS) { appl_writel(pcie, APPL_INTR_STATUS_L1_8_0_BW_MGT_INT_STS, APPL_INTR_STATUS_L1_8_0); @@ -394,25 +393,24 @@ } } - val = appl_readl(pcie, APPL_INTR_STATUS_L0); - if (val & APPL_INTR_STATUS_L0_CDM_REG_CHK_INT) { - val = appl_readl(pcie, APPL_INTR_STATUS_L1_18); - tmp = dw_pcie_readl_dbi(pci, PCIE_PL_CHK_REG_CONTROL_STATUS); - if (val & APPL_INTR_STATUS_L1_18_CDM_REG_CHK_CMPLT) { + if (status_l0 & APPL_INTR_STATUS_L0_CDM_REG_CHK_INT) { + status_l1 = appl_readl(pcie, APPL_INTR_STATUS_L1_18); + val = dw_pcie_readl_dbi(pci, PCIE_PL_CHK_REG_CONTROL_STATUS); + if (status_l1 & APPL_INTR_STATUS_L1_18_CDM_REG_CHK_CMPLT) { dev_info(pci->dev, "CDM check complete\n"); - tmp |= PCIE_PL_CHK_REG_CHK_REG_COMPLETE; + val |= PCIE_PL_CHK_REG_CHK_REG_COMPLETE; } - if (val & APPL_INTR_STATUS_L1_18_CDM_REG_CHK_CMP_ERR) { + if (status_l1 & APPL_INTR_STATUS_L1_18_CDM_REG_CHK_CMP_ERR) { dev_err(pci->dev, "CDM comparison mismatch\n"); - tmp |= PCIE_PL_CHK_REG_CHK_REG_COMPARISON_ERROR; + val |= PCIE_PL_CHK_REG_CHK_REG_COMPARISON_ERROR; } - if (val & APPL_INTR_STATUS_L1_18_CDM_REG_CHK_LOGIC_ERR) { + if (status_l1 & APPL_INTR_STATUS_L1_18_CDM_REG_CHK_LOGIC_ERR) { dev_err(pci->dev, "CDM Logic error\n"); - tmp |= PCIE_PL_CHK_REG_CHK_REG_LOGIC_ERROR; + val |= PCIE_PL_CHK_REG_CHK_REG_LOGIC_ERROR; } - dw_pcie_writel_dbi(pci, PCIE_PL_CHK_REG_CONTROL_STATUS, tmp); - tmp = dw_pcie_readl_dbi(pci, PCIE_PL_CHK_REG_ERR_ADDR); - dev_err(pci->dev, "CDM Error Address Offset = 0x%08X\n", tmp); + dw_pcie_writel_dbi(pci, PCIE_PL_CHK_REG_CONTROL_STATUS, val); + val = dw_pcie_readl_dbi(pci, PCIE_PL_CHK_REG_ERR_ADDR); + dev_err(pci->dev, "CDM Error Address Offset = 0x%08X\n", val); } return IRQ_HANDLED; @@ -978,7 +976,7 @@ offset = dw_pcie_find_ext_capability(pci, PCI_EXT_CAP_ID_DLF); val = dw_pcie_readl_dbi(pci, offset + PCI_DLF_CAP); val &= ~PCI_DLF_EXCHANGE_ENABLE; - dw_pcie_writel_dbi(pci, offset, val); + dw_pcie_writel_dbi(pci, offset + PCI_DLF_CAP, val); tegra194_pcie_host_init(pp); dw_pcie_setup_rc(pp); @@ -1949,6 +1947,7 @@ if (ret) { dev_err(dev, "Failed to initialize DWC Endpoint subsystem: %d\n", ret); + pm_runtime_disable(dev); return ret; } --- linux-gcp-5.19.0.orig/drivers/pci/controller/pci-aardvark.c +++ linux-gcp-5.19.0/drivers/pci/controller/pci-aardvark.c @@ -8,6 +8,7 @@ * Author: Hezi Shahmoon */ +#include #include #include #include @@ -857,14 +858,11 @@ switch (reg) { - case PCI_EXP_SLTCTL: - *value = PCI_EXP_SLTSTA_PDS << 16; - return PCI_BRIDGE_EMUL_HANDLED; - /* - * PCI_EXP_RTCTL and PCI_EXP_RTSTA are also supported, but do not need - * to be handled here, because their values are stored in emulated - * config space buffer, and we read them from there when needed. + * PCI_EXP_SLTCAP, PCI_EXP_SLTCTL, PCI_EXP_RTCTL and PCI_EXP_RTSTA are + * also supported, but do not need to be handled here, because their + * values are stored in emulated config space buffer, and we read them + * from there when needed. */ case PCI_EXP_LNKCAP: { @@ -977,8 +975,25 @@ /* Support interrupt A for MSI feature */ bridge->conf.intpin = PCI_INTERRUPT_INTA; - /* Aardvark HW provides PCIe Capability structure in version 2 */ - bridge->pcie_conf.cap = cpu_to_le16(2); + /* + * Aardvark HW provides PCIe Capability structure in version 2 and + * indicate slot support, which is emulated. + */ + bridge->pcie_conf.cap = cpu_to_le16(2 | PCI_EXP_FLAGS_SLOT); + + /* + * Set Presence Detect State bit permanently since there is no support + * for unplugging the card nor detecting whether it is plugged. (If a + * platform exists in the future that supports it, via a GPIO for + * example, it should be implemented via this bit.) + * + * Set physical slot number to 1 since there is only one port and zero + * value is reserved for ports within the same silicon as Root Port + * which is not our case. + */ + bridge->pcie_conf.slotcap = cpu_to_le32(FIELD_PREP(PCI_EXP_SLTCAP_PSN, + 1)); + bridge->pcie_conf.slotsta = cpu_to_le16(PCI_EXP_SLTSTA_PDS); /* Indicates supports for Completion Retry Status */ bridge->pcie_conf.rootcap = cpu_to_le16(PCI_EXP_RTCAP_CRSVIS); --- linux-gcp-5.19.0.orig/drivers/pci/controller/pci-hyperv.c +++ linux-gcp-5.19.0/drivers/pci/controller/pci-hyperv.c @@ -1614,7 +1614,7 @@ static u32 hv_compose_msi_req_v1( struct pci_create_interrupt *int_pkt, struct cpumask *affinity, - u32 slot, u8 vector, u8 vector_count) + u32 slot, u8 vector, u16 vector_count) { int_pkt->message_type.type = PCI_CREATE_INTERRUPT_MESSAGE; int_pkt->wslot.slot = slot; @@ -1642,7 +1642,7 @@ static u32 hv_compose_msi_req_v2( struct pci_create_interrupt2 *int_pkt, struct cpumask *affinity, - u32 slot, u8 vector, u8 vector_count) + u32 slot, u8 vector, u16 vector_count) { int cpu; @@ -1661,7 +1661,7 @@ static u32 hv_compose_msi_req_v3( struct pci_create_interrupt3 *int_pkt, struct cpumask *affinity, - u32 slot, u32 vector, u8 vector_count) + u32 slot, u32 vector, u16 vector_count) { int cpu; @@ -1701,7 +1701,12 @@ struct compose_comp_ctxt comp; struct tran_int_desc *int_desc; struct msi_desc *msi_desc; - u8 vector, vector_count; + /* + * vector_count should be u16: see hv_msi_desc, hv_msi_desc2 + * and hv_msi_desc3. vector must be u32: see hv_msi_desc3. + */ + u16 vector_count; + u32 vector; struct { struct pci_packet pci_pkt; union { @@ -1767,6 +1772,11 @@ vector_count = 1; } + /* + * hv_compose_msi_req_v1 and v2 are for x86 only, meaning 'vector' + * can't exceed u8. Cast 'vector' down to u8 for v1/v2 explicitly + * for better readability. + */ memset(&ctxt, 0, sizeof(ctxt)); init_completion(&comp.comp_pkt.host_event); ctxt.pci_pkt.completion_func = hv_pci_compose_compl; @@ -1777,7 +1787,7 @@ size = hv_compose_msi_req_v1(&ctxt.int_pkts.v1, dest, hpdev->desc.win_slot.slot, - vector, + (u8)vector, vector_count); break; @@ -1786,7 +1796,7 @@ size = hv_compose_msi_req_v2(&ctxt.int_pkts.v2, dest, hpdev->desc.win_slot.slot, - vector, + (u8)vector, vector_count); break; --- linux-gcp-5.19.0.orig/drivers/pci/controller/pcie-mediatek-gen3.c +++ linux-gcp-5.19.0/drivers/pci/controller/pcie-mediatek-gen3.c @@ -600,7 +600,8 @@ &intx_domain_ops, pcie); if (!pcie->intx_domain) { dev_err(dev, "failed to create INTx IRQ domain\n"); - return -ENODEV; + ret = -ENODEV; + goto out_put_node; } /* Setup MSI */ @@ -623,13 +624,15 @@ goto err_msi_domain; } + of_node_put(intc_node); return 0; err_msi_domain: irq_domain_remove(pcie->msi_bottom_domain); err_msi_bottom_domain: irq_domain_remove(pcie->intx_domain); - +out_put_node: + of_node_put(intc_node); return ret; } --- linux-gcp-5.19.0.orig/drivers/pci/controller/pcie-microchip-host.c +++ linux-gcp-5.19.0/drivers/pci/controller/pcie-microchip-host.c @@ -904,6 +904,7 @@ &event_domain_ops, port); if (!port->event_domain) { dev_err(dev, "failed to get event domain\n"); + of_node_put(pcie_intc_node); return -ENOMEM; } @@ -913,6 +914,7 @@ &intx_domain_ops, port); if (!port->intx_domain) { dev_err(dev, "failed to get an INTx IRQ domain\n"); + of_node_put(pcie_intc_node); return -ENOMEM; } --- linux-gcp-5.19.0.orig/drivers/pci/controller/pcie-mt7621.c +++ linux-gcp-5.19.0/drivers/pci/controller/pcie-mt7621.c @@ -58,6 +58,7 @@ #define PCIE_PORT_LINKUP BIT(0) #define PCIE_PORT_CNT 3 +#define INIT_PORTS_DELAY_MS 100 #define PERST_DELAY_MS 100 /** @@ -374,6 +375,7 @@ } } + msleep(INIT_PORTS_DELAY_MS); mt7621_pcie_reset_ep_deassert(pcie); tmp = NULL; @@ -471,7 +473,8 @@ } static const struct soc_device_attribute mt7621_pcie_quirks_match[] = { - { .soc_id = "mt7621", .revision = "E2" } + { .soc_id = "mt7621", .revision = "E2" }, + { /* sentinel */ } }; static int mt7621_pcie_probe(struct platform_device *pdev) --- linux-gcp-5.19.0.orig/drivers/pci/controller/vmd.c +++ linux-gcp-5.19.0/drivers/pci/controller/vmd.c @@ -719,6 +719,7 @@ resource_size_t offset[2] = {0}; resource_size_t membar2_offset = 0x2000; struct pci_bus *child; + struct pci_dev *dev; int ret; /* @@ -859,8 +860,25 @@ pci_scan_child_bus(vmd->bus); vmd_domain_reset(vmd); - list_for_each_entry(child, &vmd->bus->children, node) - pci_reset_bus(child->self); + + /* When Intel VMD is enabled, the OS does not discover the Root Ports + * owned by Intel VMD within the MMCFG space. pci_reset_bus() applies + * a reset to the parent of the PCI device supplied as argument. This + * is why we pass a child device, so the reset can be triggered at + * the Intel bridge level and propagated to all the children in the + * hierarchy. + */ + list_for_each_entry(child, &vmd->bus->children, node) { + if (!list_empty(&child->devices)) { + dev = list_first_entry(&child->devices, + struct pci_dev, bus_list); + if (pci_reset_bus(dev)) + pci_warn(dev, "can't reset device: %d\n", ret); + + break; + } + } + pci_assign_unassigned_bus_resources(vmd->bus); /* @@ -981,6 +999,11 @@ struct vmd_dev *vmd = pci_get_drvdata(pdev); int err, i; + if (vmd->irq_domain) + vmd_set_msi_remapping(vmd, true); + else + vmd_set_msi_remapping(vmd, false); + for (i = 0; i < vmd->msix_count; i++) { err = devm_request_irq(dev, vmd->irqs[i].virq, vmd_irq, IRQF_NO_THREAD, --- linux-gcp-5.19.0.orig/drivers/pci/endpoint/functions/pci-epf-test.c +++ linux-gcp-5.19.0/drivers/pci/endpoint/functions/pci-epf-test.c @@ -627,7 +627,6 @@ cancel_delayed_work(&epf_test->cmd_handler); pci_epf_test_clean_dma_chan(epf_test); - pci_epc_stop(epc); for (bar = 0; bar < PCI_STD_NUM_BARS; bar++) { epf_bar = &epf->bar[bar]; @@ -884,7 +883,7 @@ if (ret) epf_test->dma_supported = false; - if (linkup_notifier) { + if (linkup_notifier || core_init_notifier) { epf->nb.notifier_call = pci_epf_test_notifier; pci_epc_register_notifier(epc, &epf->nb); } else { --- linux-gcp-5.19.0.orig/drivers/pci/iov.c +++ linux-gcp-5.19.0/drivers/pci/iov.c @@ -14,7 +14,7 @@ #include #include "pci.h" -#define VIRTFN_ID_LEN 16 +#define VIRTFN_ID_LEN 17 /* "virtfn%u\0" for 2^32 - 1 */ int pci_iov_virtfn_bus(struct pci_dev *dev, int vf_id) { --- linux-gcp-5.19.0.orig/drivers/pci/irq.c +++ linux-gcp-5.19.0/drivers/pci/irq.c @@ -44,6 +44,8 @@ va_start(ap, fmt); devname = kvasprintf(GFP_KERNEL, fmt, ap); va_end(ap); + if (!devname) + return -ENOMEM; ret = request_threaded_irq(pci_irq_vector(dev, nr), handler, thread_fn, irqflags, devname, dev_id); --- linux-gcp-5.19.0.orig/drivers/pci/msi/msi.c +++ linux-gcp-5.19.0/drivers/pci/msi/msi.c @@ -637,22 +637,15 @@ dev->msix_base = base; + /* Ensure that all table entries are masked. */ + msix_mask_all(base, tsize); + ret = msix_setup_interrupts(dev, base, entries, nvec, affd); if (ret) goto out_disable; /* Disable INTX */ pci_intx_for_msi(dev, 0); - - /* - * Ensure that all table entries are masked to prevent - * stale entries from firing in a crash kernel. - * - * Done late to deal with a broken Marvell NVME device - * which takes the MSI-X mask bits into account even - * when MSI-X is disabled, which prevents MSI delivery. - */ - msix_mask_all(base, tsize); pci_msix_clear_and_set_ctrl(dev, PCI_MSIX_FLAGS_MASKALL, 0); pcibios_free_irq(dev); --- linux-gcp-5.19.0.orig/drivers/pci/pci-driver.c +++ linux-gcp-5.19.0/drivers/pci/pci-driver.c @@ -572,7 +572,7 @@ static void pci_pm_bridge_power_up_actions(struct pci_dev *pci_dev) { - pci_bridge_wait_for_secondary_bus(pci_dev); + pci_bridge_wait_for_secondary_bus(pci_dev, "resume", PCI_RESET_WAIT); /* * When powering on a bridge from D3cold, the whole hierarchy may be * powered on into D0uninitialized state, resume them to give them a @@ -774,6 +774,12 @@ pci_dev->skip_bus_pm = false; + /* + * Disabling PTM allows some systems, e.g., Intel mobile chips + * since Coffee Lake, to enter a lower-power PM state. + */ + pci_suspend_ptm(pci_dev); + if (pci_has_legacy_pm_support(pci_dev)) return pci_legacy_suspend(dev, PMSG_SUSPEND); @@ -867,20 +873,15 @@ } } - if (pci_dev->skip_bus_pm) { + if (!pci_dev->state_saved) { + pci_save_state(pci_dev); + /* - * Either the device is a bridge with a child in D0 below it, or - * the function is running for the second time in a row without - * going through full resume, which is possible only during - * suspend-to-idle in a spurious wakeup case. The device should - * be in D0 at this point, but if it is a bridge, it may be - * necessary to save its state. + * If the device is a bridge with a child in D0 below it, + * it needs to stay in D0, so check skip_bus_pm to avoid + * putting it into a low-power state in that case. */ - if (!pci_dev->state_saved) - pci_save_state(pci_dev); - } else if (!pci_dev->state_saved) { - pci_save_state(pci_dev); - if (pci_power_manageable(pci_dev)) + if (!pci_dev->skip_bus_pm && pci_power_manageable(pci_dev)) pci_prepare_to_sleep(pci_dev); } @@ -987,6 +988,8 @@ if (pci_dev->state_saved) pci_restore_standard_config(pci_dev); + pci_resume_ptm(pci_dev); + if (pci_has_legacy_pm_support(pci_dev)) return pci_legacy_resume(dev); @@ -1274,6 +1277,8 @@ pci_power_t prev = pci_dev->current_state; int error; + pci_suspend_ptm(pci_dev); + /* * If pci_dev->driver is not set (unbound), we leave the device in D0, * but it may go to D3cold when the bridge above it runtime suspends. @@ -1335,6 +1340,7 @@ * D3cold when the bridge above it runtime suspended. */ pci_pm_default_resume_early(pci_dev); + pci_resume_ptm(pci_dev); if (!pci_dev->driver) return 0; --- linux-gcp-5.19.0.orig/drivers/pci/pci-sysfs.c +++ linux-gcp-5.19.0/drivers/pci/pci-sysfs.c @@ -1174,11 +1174,9 @@ sysfs_bin_attr_init(res_attr); if (write_combine) { - pdev->res_attr_wc[num] = res_attr; sprintf(res_attr_name, "resource%d_wc", num); res_attr->mmap = pci_mmap_resource_wc; } else { - pdev->res_attr[num] = res_attr; sprintf(res_attr_name, "resource%d", num); if (pci_resource_flags(pdev, num) & IORESOURCE_IO) { res_attr->read = pci_read_resource_io; @@ -1196,10 +1194,17 @@ res_attr->size = pci_resource_len(pdev, num); res_attr->private = (void *)(unsigned long)num; retval = sysfs_create_bin_file(&pdev->dev.kobj, res_attr); - if (retval) + if (retval) { kfree(res_attr); + return retval; + } + + if (write_combine) + pdev->res_attr_wc[num] = res_attr; + else + pdev->res_attr[num] = res_attr; - return retval; + return 0; } /** --- linux-gcp-5.19.0.orig/drivers/pci/pci.c +++ linux-gcp-5.19.0/drivers/pci/pci.c @@ -166,6 +166,23 @@ /* Time to wait after a reset for device to become responsive */ #define PCIE_RESET_READY_POLL_MS 60000 +static const struct dmi_system_id aspm_fix_whitelist[] = { + { + .ident = "LENOVO Stealth Thinkstation", + .matches = { + DMI_MATCH(DMI_BIOS_VERSION, "S07K"), + }, + }, + { + .ident = "Dell Inc. Precision 7960 Tower", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Precision 7960 Tower"), + }, + }, + {} +}; + /** * pci_bus_max_busnr - returns maximum PCI bus number of given bus' children * @bus: pointer to PCI bus structure to search @@ -1170,7 +1187,7 @@ return -ENOTTY; } - if (delay > 1000) + if (delay > PCI_RESET_WAIT) pci_info(dev, "not ready %dms after %s; waiting\n", delay - 1, reset_type); @@ -1179,7 +1196,7 @@ pci_read_config_dword(dev, PCI_COMMAND, &id); } - if (delay > 1000) + if (delay > PCI_RESET_WAIT) pci_info(dev, "ready %dms after %s\n", delay - 1, reset_type); @@ -1293,7 +1310,7 @@ pci_restore_bars(dev); } - if (dev->bus->self) + if (dev->bus->self && !dmi_check_system(aspm_fix_whitelist)) pcie_aspm_pm_state_change(dev->bus->self); return 0; @@ -1667,6 +1684,8 @@ return i; pci_save_ltr_state(dev); + if (dmi_check_system(aspm_fix_whitelist)) + pci_save_aspm_l1ss_state(dev); pci_save_dpc_state(dev); pci_save_aer_state(dev); pci_save_ptm_state(dev); @@ -1773,6 +1792,8 @@ * LTR itself (in the PCIe capability). */ pci_restore_ltr_state(dev); + if (dmi_check_system(aspm_fix_whitelist)) + pci_restore_aspm_l1ss_state(dev); pci_restore_pcie_state(dev); pci_restore_pasid_state(dev); @@ -2710,24 +2731,12 @@ if (target_state == PCI_POWER_ERROR) return -EIO; - /* - * There are systems (for example, Intel mobile chips since Coffee - * Lake) where the power drawn while suspended can be significantly - * reduced by disabling PTM on PCIe root ports as this allows the - * port to enter a lower-power PM state and the SoC to reach a - * lower-power idle state as a whole. - */ - if (pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT) - pci_disable_ptm(dev); - pci_enable_wake(dev, target_state, wakeup); error = pci_set_power_state(dev, target_state); - if (error) { + if (error) pci_enable_wake(dev, target_state, false); - pci_restore_ptm_state(dev); - } return error; } @@ -2768,24 +2777,12 @@ if (target_state == PCI_POWER_ERROR) return -EIO; - /* - * There are systems (for example, Intel mobile chips since Coffee - * Lake) where the power drawn while suspended can be significantly - * reduced by disabling PTM on PCIe root ports as this allows the - * port to enter a lower-power PM state and the SoC to reach a - * lower-power idle state as a whole. - */ - if (pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT) - pci_disable_ptm(dev); - __pci_enable_wake(dev, target_state, pci_dev_run_wake(dev)); error = pci_set_power_state(dev, target_state); - if (error) { + if (error) pci_enable_wake(dev, target_state, false); - pci_restore_ptm_state(dev); - } return error; } @@ -3489,6 +3486,13 @@ if (error) pci_err(dev, "unable to allocate suspend buffer for LTR\n"); + if (dmi_check_system(aspm_fix_whitelist)) { + error = pci_add_ext_cap_save_buffer(dev, PCI_EXT_CAP_ID_L1SS, + 2 * sizeof(u32)); + if (error) + pci_err(dev, "unable to allocate suspend buffer for ASPM-L1SS\n"); + } + pci_allocate_vc_save_buffers(dev); } @@ -4967,24 +4971,31 @@ /** * pci_bridge_wait_for_secondary_bus - Wait for secondary bus to be accessible * @dev: PCI bridge + * @reset_type: reset type in human-readable form + * @timeout: maximum time to wait for devices on secondary bus (milliseconds) * * Handle necessary delays before access to the devices on the secondary - * side of the bridge are permitted after D3cold to D0 transition. + * side of the bridge are permitted after D3cold to D0 transition + * or Conventional Reset. * * For PCIe this means the delays in PCIe 5.0 section 6.6.1. For * conventional PCI it means Tpvrh + Trhfa specified in PCI 3.0 section * 4.3.2. + * + * Return 0 on success or -ENOTTY if the first device on the secondary bus + * failed to become accessible. */ -void pci_bridge_wait_for_secondary_bus(struct pci_dev *dev) +int pci_bridge_wait_for_secondary_bus(struct pci_dev *dev, char *reset_type, + int timeout) { struct pci_dev *child; int delay; if (pci_dev_is_disconnected(dev)) - return; + return 0; - if (!pci_is_bridge(dev) || !dev->bridge_d3) - return; + if (!pci_is_bridge(dev)) + return 0; down_read(&pci_bus_sem); @@ -4996,14 +5007,14 @@ */ if (!dev->subordinate || list_empty(&dev->subordinate->devices)) { up_read(&pci_bus_sem); - return; + return 0; } /* Take d3cold_delay requirements into account */ delay = pci_bus_max_d3cold_delay(dev->subordinate); if (!delay) { up_read(&pci_bus_sem); - return; + return 0; } child = list_first_entry(&dev->subordinate->devices, struct pci_dev, @@ -5012,14 +5023,12 @@ /* * Conventional PCI and PCI-X we need to wait Tpvrh + Trhfa before - * accessing the device after reset (that is 1000 ms + 100 ms). In - * practice this should not be needed because we don't do power - * management for them (see pci_bridge_d3_possible()). + * accessing the device after reset (that is 1000 ms + 100 ms). */ if (!pci_is_pcie(dev)) { pci_dbg(dev, "waiting %d ms for secondary bus\n", 1000 + delay); msleep(1000 + delay); - return; + return 0; } /* @@ -5036,11 +5045,11 @@ * configuration requests if we only wait for 100 ms (see * https://bugzilla.kernel.org/show_bug.cgi?id=203885). * - * Therefore we wait for 100 ms and check for the device presence. - * If it is still not present give it an additional 100 ms. + * Therefore we wait for 100 ms and check for the device presence + * until the timeout expires. */ if (!pcie_downstream_port(dev)) - return; + return 0; if (pcie_get_speed_cap(dev) <= PCIE_SPEED_5_0GT) { pci_dbg(dev, "waiting %d ms for downstream link\n", delay); @@ -5051,14 +5060,11 @@ if (!pcie_wait_for_link_delay(dev, true, delay)) { /* Did not train, no need to wait any further */ pci_info(dev, "Data Link Layer Link Active not set in 1000 msec\n"); - return; + return -ENOTTY; } } - if (!pci_device_is_present(child)) { - pci_dbg(child, "waiting additional %d ms to become accessible\n", delay); - msleep(delay); - } + return pci_dev_wait(child, reset_type, timeout - delay); } void pci_reset_secondary_bus(struct pci_dev *dev) @@ -5077,15 +5083,6 @@ ctrl &= ~PCI_BRIDGE_CTL_BUS_RESET; pci_write_config_word(dev, PCI_BRIDGE_CONTROL, ctrl); - - /* - * Trhfa for conventional PCI is 2^25 clock cycles. - * Assuming a minimum 33MHz clock this results in a 1s - * delay before we can consider subordinate devices to - * be re-initialized. PCIe has some ways to shorten this, - * but we don't make use of them yet. - */ - ssleep(1); } void __weak pcibios_reset_secondary_bus(struct pci_dev *dev) @@ -5104,7 +5101,8 @@ { pcibios_reset_secondary_bus(dev); - return pci_dev_wait(dev, "bus reset", PCIE_RESET_READY_POLL_MS); + return pci_bridge_wait_for_secondary_bus(dev, "bus reset", + PCIE_RESET_READY_POLL_MS); } EXPORT_SYMBOL_GPL(pci_bridge_secondary_bus_reset); @@ -6466,6 +6464,8 @@ { u32 v; + /* Check PF if pdev is a VF, since VF Vendor/Device IDs are 0xffff */ + pdev = pci_physfn(pdev); if (pci_dev_is_disconnected(pdev)) return false; return pci_bus_read_dev_vendor_id(pdev->bus, pdev->devfn, &v, 0); --- linux-gcp-5.19.0.orig/drivers/pci/pci.h +++ linux-gcp-5.19.0/drivers/pci/pci.h @@ -63,6 +63,13 @@ #define PCI_PM_D3HOT_WAIT 10 /* msec */ #define PCI_PM_D3COLD_WAIT 100 /* msec */ +/* + * Following exit from Conventional Reset, devices must be ready within 1 sec + * (PCIe r6.0 sec 6.6.1). A D3cold to D0 transition implies a Conventional + * Reset (PCIe r6.0 sec 5.8). + */ +#define PCI_RESET_WAIT 1000 /* msec */ + void pci_update_current_state(struct pci_dev *dev, pci_power_t state); void pci_refresh_power_state(struct pci_dev *dev); int pci_power_up(struct pci_dev *dev); @@ -85,8 +92,9 @@ void pci_msix_init(struct pci_dev *dev); bool pci_bridge_d3_possible(struct pci_dev *dev); void pci_bridge_d3_update(struct pci_dev *dev); -void pci_bridge_wait_for_secondary_bus(struct pci_dev *dev); void pci_bridge_reconfigure_ltr(struct pci_dev *dev); +int pci_bridge_wait_for_secondary_bus(struct pci_dev *dev, char *reset_type, + int timeout); static inline void pci_wakeup_event(struct pci_dev *dev) { @@ -309,53 +317,36 @@ * @dev: PCI device to set new error_state * @new: the state we want dev to be in * - * Must be called with device_lock held. + * If the device is experiencing perm_failure, it has to remain in that state. + * Any other transition is allowed. * * Returns true if state has been changed to the requested state. */ static inline bool pci_dev_set_io_state(struct pci_dev *dev, pci_channel_state_t new) { - bool changed = false; + pci_channel_state_t old; - device_lock_assert(&dev->dev); switch (new) { case pci_channel_io_perm_failure: - switch (dev->error_state) { - case pci_channel_io_frozen: - case pci_channel_io_normal: - case pci_channel_io_perm_failure: - changed = true; - break; - } - break; + xchg(&dev->error_state, pci_channel_io_perm_failure); + return true; case pci_channel_io_frozen: - switch (dev->error_state) { - case pci_channel_io_frozen: - case pci_channel_io_normal: - changed = true; - break; - } - break; + old = cmpxchg(&dev->error_state, pci_channel_io_normal, + pci_channel_io_frozen); + return old != pci_channel_io_perm_failure; case pci_channel_io_normal: - switch (dev->error_state) { - case pci_channel_io_frozen: - case pci_channel_io_normal: - changed = true; - break; - } - break; + old = cmpxchg(&dev->error_state, pci_channel_io_frozen, + pci_channel_io_normal); + return old != pci_channel_io_perm_failure; + default: + return false; } - if (changed) - dev->error_state = new; - return changed; } static inline int pci_dev_set_disconnected(struct pci_dev *dev, void *unused) { - device_lock(&dev->dev); pci_dev_set_io_state(dev, pci_channel_io_perm_failure); - device_unlock(&dev->dev); return 0; } @@ -505,13 +496,17 @@ #endif /* CONFIG_PCI_IOV */ #ifdef CONFIG_PCIE_PTM +void pci_ptm_init(struct pci_dev *dev); void pci_save_ptm_state(struct pci_dev *dev); void pci_restore_ptm_state(struct pci_dev *dev); -void pci_disable_ptm(struct pci_dev *dev); +void pci_suspend_ptm(struct pci_dev *dev); +void pci_resume_ptm(struct pci_dev *dev); #else +static inline void pci_ptm_init(struct pci_dev *dev) { } static inline void pci_save_ptm_state(struct pci_dev *dev) { } static inline void pci_restore_ptm_state(struct pci_dev *dev) { } -static inline void pci_disable_ptm(struct pci_dev *dev) { } +static inline void pci_suspend_ptm(struct pci_dev *dev) { } +static inline void pci_resume_ptm(struct pci_dev *dev) { } #endif unsigned long pci_cardbus_resource_alignment(struct resource *); @@ -562,11 +557,15 @@ void pcie_aspm_exit_link_state(struct pci_dev *pdev); void pcie_aspm_pm_state_change(struct pci_dev *pdev); void pcie_aspm_powersave_config_link(struct pci_dev *pdev); +void pci_save_aspm_l1ss_state(struct pci_dev *dev); +void pci_restore_aspm_l1ss_state(struct pci_dev *dev); #else static inline void pcie_aspm_init_link_state(struct pci_dev *pdev) { } static inline void pcie_aspm_exit_link_state(struct pci_dev *pdev) { } static inline void pcie_aspm_pm_state_change(struct pci_dev *pdev) { } static inline void pcie_aspm_powersave_config_link(struct pci_dev *pdev) { } +static inline void pci_save_aspm_l1ss_state(struct pci_dev *dev) { } +static inline void pci_restore_aspm_l1ss_state(struct pci_dev *dev) { } #endif #ifdef CONFIG_PCIE_ECRC @@ -577,12 +576,6 @@ static inline void pcie_ecrc_get_policy(char *str) { } #endif -#ifdef CONFIG_PCIE_PTM -void pci_ptm_init(struct pci_dev *dev); -#else -static inline void pci_ptm_init(struct pci_dev *dev) { } -#endif - struct pci_dev_reset_methods { u16 vendor; u16 device; --- linux-gcp-5.19.0.orig/drivers/pci/pcie/aer.c +++ linux-gcp-5.19.0/drivers/pci/pcie/aer.c @@ -538,7 +538,7 @@ u64 *stats = pdev->aer_stats->stats_array; \ size_t len = 0; \ \ - for (i = 0; i < ARRAY_SIZE(strings_array); i++) { \ + for (i = 0; i < ARRAY_SIZE(pdev->aer_stats->stats_array); i++) {\ if (strings_array[i]) \ len += sysfs_emit_at(buf, len, "%s %llu\n", \ strings_array[i], \ @@ -1347,6 +1347,11 @@ struct device *device = &dev->device; struct pci_dev *port = dev->port; + BUILD_BUG_ON(ARRAY_SIZE(aer_correctable_error_string) < + AER_MAX_TYPEOF_COR_ERRS); + BUILD_BUG_ON(ARRAY_SIZE(aer_uncorrectable_error_string) < + AER_MAX_TYPEOF_UNCOR_ERRS); + /* Limit to Root Ports or Root Complex Event Collectors */ if ((pci_pcie_type(port) != PCI_EXP_TYPE_RC_EC) && (pci_pcie_type(port) != PCI_EXP_TYPE_ROOT_PORT)) @@ -1372,6 +1377,22 @@ return 0; } +static int aer_suspend(struct pcie_device *dev) +{ + struct aer_rpc *rpc = get_service_data(dev); + + aer_disable_rootport(rpc); + return 0; +} + +static int aer_resume(struct pcie_device *dev) +{ + struct aer_rpc *rpc = get_service_data(dev); + + aer_enable_rootport(rpc); + return 0; +} + /** * aer_root_reset - reset Root Port hierarchy, RCEC, or RCiEP * @dev: pointer to Root Port, RCEC, or RCiEP @@ -1443,6 +1464,8 @@ .service = PCIE_PORT_SERVICE_AER, .probe = aer_probe, + .suspend = aer_suspend, + .resume = aer_resume, .remove = aer_remove, }; --- linux-gcp-5.19.0.orig/drivers/pci/pcie/aspm.c +++ linux-gcp-5.19.0/drivers/pci/pcie/aspm.c @@ -657,7 +657,8 @@ aspm_calc_l1ss_info(link, parent_l1ss_cap, child_l1ss_cap); /* Save default state */ - link->aspm_default = link->aspm_enabled; + link->aspm_default = parent->dev_flags & PCI_DEV_FLAGS_ENABLE_ASPM ? + ASPM_STATE_ALL : link->aspm_enabled; /* Setup initial capable state. Will be updated later */ link->aspm_capable = link->aspm_support; @@ -726,6 +727,50 @@ PCI_L1SS_CTL1_L1SS_MASK, val); } +void pci_save_aspm_l1ss_state(struct pci_dev *dev) +{ + int aspm_l1ss; + struct pci_cap_saved_state *save_state; + u32 *cap; + + if (!pci_is_pcie(dev)) + return; + + aspm_l1ss = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_L1SS); + if (!aspm_l1ss) + return; + + save_state = pci_find_saved_ext_cap(dev, PCI_EXT_CAP_ID_L1SS); + if (!save_state) + return; + + cap = (u32 *)&save_state->cap.data[0]; + pci_read_config_dword(dev, aspm_l1ss + PCI_L1SS_CTL2, cap++); + pci_read_config_dword(dev, aspm_l1ss + PCI_L1SS_CTL1, cap++); +} + +void pci_restore_aspm_l1ss_state(struct pci_dev *dev) +{ + int aspm_l1ss; + struct pci_cap_saved_state *save_state; + u32 *cap; + + if (!pci_is_pcie(dev)) + return; + + aspm_l1ss = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_L1SS); + if (!aspm_l1ss) + return; + + save_state = pci_find_saved_ext_cap(dev, PCI_EXT_CAP_ID_L1SS); + if (!save_state) + return; + + cap = (u32 *)&save_state->cap.data[0]; + pci_write_config_dword(dev, aspm_l1ss + PCI_L1SS_CTL2, *cap++); + pci_write_config_dword(dev, aspm_l1ss + PCI_L1SS_CTL1, *cap++); +} + static void pcie_config_aspm_dev(struct pci_dev *pdev, u32 val) { pcie_capability_clear_and_set_word(pdev, PCI_EXP_LNKCTL, @@ -1193,6 +1238,17 @@ } EXPORT_SYMBOL_GPL(pcie_aspm_enabled); +bool pcie_aspm_capable(struct pci_dev *pdev) +{ + struct pcie_link_state *link = pcie_aspm_get_link(pdev); + + if (!link) + return false; + + return link->aspm_capable; +} +EXPORT_SYMBOL_GPL(pcie_aspm_capable); + static ssize_t aspm_attr_show_common(struct device *dev, struct device_attribute *attr, char *buf, u8 state) --- linux-gcp-5.19.0.orig/drivers/pci/pcie/dpc.c +++ linux-gcp-5.19.0/drivers/pci/pcie/dpc.c @@ -343,13 +343,34 @@ } } +static void dpc_enable(struct pcie_device *dev) +{ + struct pci_dev *pdev = dev->port; + u16 ctl; + + pci_read_config_word(pdev, pdev->dpc_cap + PCI_EXP_DPC_CTL, &ctl); + + ctl = (ctl & 0xfff4) | PCI_EXP_DPC_CTL_EN_FATAL | PCI_EXP_DPC_CTL_INT_EN; + pci_write_config_word(pdev, pdev->dpc_cap + PCI_EXP_DPC_CTL, ctl); +} + +static void dpc_disable(struct pcie_device *dev) +{ + struct pci_dev *pdev = dev->port; + u16 ctl; + + pci_read_config_word(pdev, pdev->dpc_cap + PCI_EXP_DPC_CTL, &ctl); + ctl &= ~(PCI_EXP_DPC_CTL_EN_FATAL | PCI_EXP_DPC_CTL_INT_EN); + pci_write_config_word(pdev, pdev->dpc_cap + PCI_EXP_DPC_CTL, ctl); +} + #define FLAG(x, y) (((x) & (y)) ? '+' : '-') static int dpc_probe(struct pcie_device *dev) { struct pci_dev *pdev = dev->port; struct device *device = &dev->device; int status; - u16 ctl, cap; + u16 cap; if (!pcie_aer_is_native(pdev) && !pcie_ports_dpc_native) return -ENOTSUPP; @@ -364,10 +385,7 @@ } pci_read_config_word(pdev, pdev->dpc_cap + PCI_EXP_DPC_CAP, &cap); - pci_read_config_word(pdev, pdev->dpc_cap + PCI_EXP_DPC_CTL, &ctl); - - ctl = (ctl & 0xfff4) | PCI_EXP_DPC_CTL_EN_FATAL | PCI_EXP_DPC_CTL_INT_EN; - pci_write_config_word(pdev, pdev->dpc_cap + PCI_EXP_DPC_CTL, ctl); + dpc_enable(dev); pci_info(pdev, "enabled with IRQ %d\n", dev->irq); pci_info(pdev, "error containment capabilities: Int Msg #%d, RPExt%c PoisonedTLP%c SwTrigger%c RP PIO Log %d, DL_ActiveErr%c\n", @@ -380,14 +398,21 @@ return status; } -static void dpc_remove(struct pcie_device *dev) +static int dpc_suspend(struct pcie_device *dev) { - struct pci_dev *pdev = dev->port; - u16 ctl; + dpc_disable(dev); + return 0; +} - pci_read_config_word(pdev, pdev->dpc_cap + PCI_EXP_DPC_CTL, &ctl); - ctl &= ~(PCI_EXP_DPC_CTL_EN_FATAL | PCI_EXP_DPC_CTL_INT_EN); - pci_write_config_word(pdev, pdev->dpc_cap + PCI_EXP_DPC_CTL, ctl); +static int dpc_resume(struct pcie_device *dev) +{ + dpc_enable(dev); + return 0; +} + +static void dpc_remove(struct pcie_device *dev) +{ + dpc_disable(dev); } static struct pcie_port_service_driver dpcdriver = { @@ -395,6 +420,8 @@ .port_type = PCIE_ANY_PORT, .service = PCIE_PORT_SERVICE_DPC, .probe = dpc_probe, + .suspend = dpc_suspend, + .resume = dpc_resume, .remove = dpc_remove, }; --- linux-gcp-5.19.0.orig/drivers/pci/pcie/ptm.c +++ linux-gcp-5.19.0/drivers/pci/pcie/ptm.c @@ -9,30 +9,38 @@ #include #include "../pci.h" -static void pci_ptm_info(struct pci_dev *dev) +/* + * If the next upstream device supports PTM, return it; otherwise return + * NULL. PTM Messages are local, so both link partners must support it. + */ +static struct pci_dev *pci_upstream_ptm(struct pci_dev *dev) { - char clock_desc[8]; + struct pci_dev *ups = pci_upstream_bridge(dev); - switch (dev->ptm_granularity) { - case 0: - snprintf(clock_desc, sizeof(clock_desc), "unknown"); - break; - case 255: - snprintf(clock_desc, sizeof(clock_desc), ">254ns"); - break; - default: - snprintf(clock_desc, sizeof(clock_desc), "%uns", - dev->ptm_granularity); - break; - } - pci_info(dev, "PTM enabled%s, %s granularity\n", - dev->ptm_root ? " (root)" : "", clock_desc); + /* + * Switch Downstream Ports are not permitted to have a PTM + * capability; their PTM behavior is controlled by the Upstream + * Port (PCIe r5.0, sec 7.9.16), so if the upstream bridge is a + * Switch Downstream Port, look up one more level. + */ + if (ups && pci_pcie_type(ups) == PCI_EXP_TYPE_DOWNSTREAM) + ups = pci_upstream_bridge(ups); + + if (ups && ups->ptm_cap) + return ups; + + return NULL; } -void pci_disable_ptm(struct pci_dev *dev) +/* + * Find the PTM Capability (if present) and extract the information we need + * to use it. + */ +void pci_ptm_init(struct pci_dev *dev) { - int ptm; - u16 ctrl; + u16 ptm; + u32 cap; + struct pci_dev *ups; if (!pci_is_pcie(dev)) return; @@ -41,21 +49,47 @@ if (!ptm) return; - pci_read_config_word(dev, ptm + PCI_PTM_CTRL, &ctrl); - ctrl &= ~(PCI_PTM_CTRL_ENABLE | PCI_PTM_CTRL_ROOT); - pci_write_config_word(dev, ptm + PCI_PTM_CTRL, ctrl); + dev->ptm_cap = ptm; + pci_add_ext_cap_save_buffer(dev, PCI_EXT_CAP_ID_PTM, sizeof(u32)); + + pci_read_config_dword(dev, ptm + PCI_PTM_CAP, &cap); + dev->ptm_granularity = (cap & PCI_PTM_GRANULARITY_MASK) >> 8; + + /* + * Per the spec recommendation (PCIe r6.0, sec 7.9.15.3), select the + * furthest upstream Time Source as the PTM Root. For Endpoints, + * "the Effective Granularity is the maximum Local Clock Granularity + * reported by the PTM Root and all intervening PTM Time Sources." + */ + ups = pci_upstream_ptm(dev); + if (ups) { + if (ups->ptm_granularity == 0) + dev->ptm_granularity = 0; + else if (ups->ptm_granularity > dev->ptm_granularity) + dev->ptm_granularity = ups->ptm_granularity; + } else if (cap & PCI_PTM_CAP_ROOT) { + dev->ptm_root = 1; + } else if (pci_pcie_type(dev) == PCI_EXP_TYPE_RC_END) { + + /* + * Per sec 7.9.15.3, this should be the Local Clock + * Granularity of the associated Time Source. But it + * doesn't say how to find that Time Source. + */ + dev->ptm_granularity = 0; + } + + if (pci_pcie_type(dev) == PCI_EXP_TYPE_ROOT_PORT || + pci_pcie_type(dev) == PCI_EXP_TYPE_UPSTREAM) + pci_enable_ptm(dev, NULL); } void pci_save_ptm_state(struct pci_dev *dev) { - int ptm; + u16 ptm = dev->ptm_cap; struct pci_cap_saved_state *save_state; - u16 *cap; - - if (!pci_is_pcie(dev)) - return; + u32 *cap; - ptm = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_PTM); if (!ptm) return; @@ -63,146 +97,152 @@ if (!save_state) return; - cap = (u16 *)&save_state->cap.data[0]; - pci_read_config_word(dev, ptm + PCI_PTM_CTRL, cap); + cap = (u32 *)&save_state->cap.data[0]; + pci_read_config_dword(dev, ptm + PCI_PTM_CTRL, cap); } void pci_restore_ptm_state(struct pci_dev *dev) { + u16 ptm = dev->ptm_cap; struct pci_cap_saved_state *save_state; - int ptm; - u16 *cap; + u32 *cap; - if (!pci_is_pcie(dev)) + if (!ptm) return; save_state = pci_find_saved_ext_cap(dev, PCI_EXT_CAP_ID_PTM); - ptm = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_PTM); - if (!save_state || !ptm) + if (!save_state) return; - cap = (u16 *)&save_state->cap.data[0]; - pci_write_config_word(dev, ptm + PCI_PTM_CTRL, *cap); + cap = (u32 *)&save_state->cap.data[0]; + pci_write_config_dword(dev, ptm + PCI_PTM_CTRL, *cap); } -void pci_ptm_init(struct pci_dev *dev) +/* Enable PTM in the Control register if possible */ +static int __pci_enable_ptm(struct pci_dev *dev) { - int pos; - u32 cap, ctrl; - u8 local_clock; + u16 ptm = dev->ptm_cap; struct pci_dev *ups; + u32 ctrl; - if (!pci_is_pcie(dev)) - return; - - /* - * Enable PTM only on interior devices (root ports, switch ports, - * etc.) on the assumption that it causes no link traffic until an - * endpoint enables it. - */ - if ((pci_pcie_type(dev) == PCI_EXP_TYPE_ENDPOINT || - pci_pcie_type(dev) == PCI_EXP_TYPE_RC_END)) - return; + if (!ptm) + return -EINVAL; /* - * Switch Downstream Ports are not permitted to have a PTM - * capability; their PTM behavior is controlled by the Upstream - * Port (PCIe r5.0, sec 7.9.16). + * A device uses local PTM Messages to request time information + * from a PTM Root that's farther upstream. Every device along the + * path must support PTM and have it enabled so it can handle the + * messages. Therefore, if this device is not a PTM Root, the + * upstream link partner must have PTM enabled before we can enable + * PTM. */ - ups = pci_upstream_bridge(dev); - if (pci_pcie_type(dev) == PCI_EXP_TYPE_DOWNSTREAM && - ups && ups->ptm_enabled) { - dev->ptm_granularity = ups->ptm_granularity; - dev->ptm_enabled = 1; - return; + if (!dev->ptm_root) { + ups = pci_upstream_ptm(dev); + if (!ups || !ups->ptm_enabled) + return -EINVAL; } - pos = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_PTM); - if (!pos) - return; - - pci_add_ext_cap_save_buffer(dev, PCI_EXT_CAP_ID_PTM, sizeof(u16)); - - pci_read_config_dword(dev, pos + PCI_PTM_CAP, &cap); - local_clock = (cap & PCI_PTM_GRANULARITY_MASK) >> 8; - - /* - * There's no point in enabling PTM unless it's enabled in the - * upstream device or this device can be a PTM Root itself. Per - * the spec recommendation (PCIe r3.1, sec 7.32.3), select the - * furthest upstream Time Source as the PTM Root. - */ - if (ups && ups->ptm_enabled) { - ctrl = PCI_PTM_CTRL_ENABLE; - if (ups->ptm_granularity == 0) - dev->ptm_granularity = 0; - else if (ups->ptm_granularity > local_clock) - dev->ptm_granularity = ups->ptm_granularity; - } else { - if (cap & PCI_PTM_CAP_ROOT) { - ctrl = PCI_PTM_CTRL_ENABLE | PCI_PTM_CTRL_ROOT; - dev->ptm_root = 1; - dev->ptm_granularity = local_clock; - } else - return; - } + pci_read_config_dword(dev, ptm + PCI_PTM_CTRL, &ctrl); + ctrl |= PCI_PTM_CTRL_ENABLE; + ctrl &= ~PCI_PTM_GRANULARITY_MASK; ctrl |= dev->ptm_granularity << 8; - pci_write_config_dword(dev, pos + PCI_PTM_CTRL, ctrl); - dev->ptm_enabled = 1; + if (dev->ptm_root) + ctrl |= PCI_PTM_CTRL_ROOT; - pci_ptm_info(dev); + pci_write_config_dword(dev, ptm + PCI_PTM_CTRL, ctrl); + return 0; } +/** + * pci_enable_ptm() - Enable Precision Time Measurement + * @dev: PCI device + * @granularity: pointer to return granularity + * + * Enable Precision Time Measurement for @dev. If successful and + * @granularity is non-NULL, return the Effective Granularity. + * + * Return: zero if successful, or -EINVAL if @dev lacks a PTM Capability or + * is not a PTM Root and lacks an upstream path of PTM-enabled devices. + */ int pci_enable_ptm(struct pci_dev *dev, u8 *granularity) { - int pos; - u32 cap, ctrl; - struct pci_dev *ups; - - if (!pci_is_pcie(dev)) - return -EINVAL; - - pos = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_PTM); - if (!pos) - return -EINVAL; - - pci_read_config_dword(dev, pos + PCI_PTM_CAP, &cap); - if (!(cap & PCI_PTM_CAP_REQ)) - return -EINVAL; + int rc; + char clock_desc[8]; - /* - * For a PCIe Endpoint, PTM is only useful if the endpoint can - * issue PTM requests to upstream devices that have PTM enabled. - * - * For Root Complex Integrated Endpoints, there is no upstream - * device, so there must be some implementation-specific way to - * associate the endpoint with a time source. - */ - if (pci_pcie_type(dev) == PCI_EXP_TYPE_ENDPOINT) { - ups = pci_upstream_bridge(dev); - if (!ups || !ups->ptm_enabled) - return -EINVAL; + rc = __pci_enable_ptm(dev); + if (rc) + return rc; - dev->ptm_granularity = ups->ptm_granularity; - } else if (pci_pcie_type(dev) == PCI_EXP_TYPE_RC_END) { - dev->ptm_granularity = 0; - } else - return -EINVAL; - - ctrl = PCI_PTM_CTRL_ENABLE; - ctrl |= dev->ptm_granularity << 8; - pci_write_config_dword(dev, pos + PCI_PTM_CTRL, ctrl); dev->ptm_enabled = 1; - pci_ptm_info(dev); - if (granularity) *granularity = dev->ptm_granularity; + + switch (dev->ptm_granularity) { + case 0: + snprintf(clock_desc, sizeof(clock_desc), "unknown"); + break; + case 255: + snprintf(clock_desc, sizeof(clock_desc), ">254ns"); + break; + default: + snprintf(clock_desc, sizeof(clock_desc), "%uns", + dev->ptm_granularity); + break; + } + pci_info(dev, "PTM enabled%s, %s granularity\n", + dev->ptm_root ? " (root)" : "", clock_desc); + return 0; } EXPORT_SYMBOL(pci_enable_ptm); +static void __pci_disable_ptm(struct pci_dev *dev) +{ + u16 ptm = dev->ptm_cap; + u32 ctrl; + + if (!ptm) + return; + + pci_read_config_dword(dev, ptm + PCI_PTM_CTRL, &ctrl); + ctrl &= ~(PCI_PTM_CTRL_ENABLE | PCI_PTM_CTRL_ROOT); + pci_write_config_dword(dev, ptm + PCI_PTM_CTRL, ctrl); +} + +/** + * pci_disable_ptm() - Disable Precision Time Measurement + * @dev: PCI device + * + * Disable Precision Time Measurement for @dev. + */ +void pci_disable_ptm(struct pci_dev *dev) +{ + if (dev->ptm_enabled) { + __pci_disable_ptm(dev); + dev->ptm_enabled = 0; + } +} +EXPORT_SYMBOL(pci_disable_ptm); + +/* + * Disable PTM, but preserve dev->ptm_enabled so we silently re-enable it on + * resume if necessary. + */ +void pci_suspend_ptm(struct pci_dev *dev) +{ + if (dev->ptm_enabled) + __pci_disable_ptm(dev); +} + +/* If PTM was enabled before suspend, re-enable it when resuming */ +void pci_resume_ptm(struct pci_dev *dev) +{ + if (dev->ptm_enabled) + __pci_enable_ptm(dev); +} + bool pcie_ptm_enabled(struct pci_dev *dev) { if (!dev) --- linux-gcp-5.19.0.orig/drivers/pci/probe.c +++ linux-gcp-5.19.0/drivers/pci/probe.c @@ -994,7 +994,7 @@ resource_list_for_each_entry_safe(window, n, &resources) { offset = window->offset; res = window->res; - if (!res->end) + if (!res->flags && !res->start && !res->end) continue; list_move_tail(&window->node, &bridge->windows); @@ -1297,7 +1297,7 @@ if ((secondary || subordinate) && !pcibios_assign_all_busses() && !is_cardbus && !broken) { - unsigned int cmax; + unsigned int cmax, buses; /* * Bus already configured by firmware, process it in the @@ -1322,7 +1322,8 @@ child->bridge_ctl = bctl; } - cmax = pci_scan_child_bus(child); + buses = subordinate - secondary; + cmax = pci_scan_child_bus_extend(child, buses); if (cmax > subordinate) pci_warn(dev, "bridge has subordinate %02x but max busn %02x\n", subordinate, cmax); @@ -2579,33 +2580,39 @@ } EXPORT_SYMBOL(pci_scan_single_device); -static unsigned int next_fn(struct pci_bus *bus, struct pci_dev *dev, - unsigned int fn) +static int next_ari_fn(struct pci_bus *bus, struct pci_dev *dev, int fn) { int pos; u16 cap = 0; unsigned int next_fn; - if (pci_ari_enabled(bus)) { - if (!dev) - return 0; - pos = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_ARI); - if (!pos) - return 0; - - pci_read_config_word(dev, pos + PCI_ARI_CAP, &cap); - next_fn = PCI_ARI_CAP_NFN(cap); - if (next_fn <= fn) - return 0; /* protect against malformed list */ - - return next_fn; - } - - /* dev may be NULL for non-contiguous multifunction devices */ - if (!dev || dev->multifunction) - return (fn + 1) % 8; + if (!dev) + return -ENODEV; - return 0; + pos = pci_find_ext_capability(dev, PCI_EXT_CAP_ID_ARI); + if (!pos) + return -ENODEV; + + pci_read_config_word(dev, pos + PCI_ARI_CAP, &cap); + next_fn = PCI_ARI_CAP_NFN(cap); + if (next_fn <= fn) + return -ENODEV; /* protect against malformed list */ + + return next_fn; +} + +static int next_fn(struct pci_bus *bus, struct pci_dev *dev, int fn) +{ + if (pci_ari_enabled(bus)) + return next_ari_fn(bus, dev, fn); + + if (fn >= 7) + return -ENODEV; + /* only multifunction devices may have more functions */ + if (dev && !dev->multifunction) + return -ENODEV; + + return fn + 1; } static int only_one_child(struct pci_bus *bus) @@ -2643,26 +2650,30 @@ */ int pci_scan_slot(struct pci_bus *bus, int devfn) { - unsigned int fn, nr = 0; struct pci_dev *dev; + int fn = 0, nr = 0; if (only_one_child(bus) && (devfn > 0)) return 0; /* Already scanned the entire slot */ - dev = pci_scan_single_device(bus, devfn); - if (!dev) - return 0; - if (!pci_dev_is_added(dev)) - nr++; - - for (fn = next_fn(bus, dev, 0); fn > 0; fn = next_fn(bus, dev, fn)) { + do { dev = pci_scan_single_device(bus, devfn + fn); if (dev) { if (!pci_dev_is_added(dev)) nr++; - dev->multifunction = 1; + if (fn > 0) + dev->multifunction = 1; + } else if (fn == 0) { + /* + * Function 0 is required unless we are running on + * a hypervisor that passes through individual PCI + * functions. + */ + if (!hypervisor_isolated_pci_functions()) + break; } - } + fn = next_fn(bus, dev, fn); + } while (fn >= 0); /* Only one slot has PCIe device */ if (bus->self && nr) @@ -2858,29 +2869,14 @@ { unsigned int used_buses, normal_bridges = 0, hotplug_bridges = 0; unsigned int start = bus->busn_res.start; - unsigned int devfn, fn, cmax, max = start; + unsigned int devfn, cmax, max = start; struct pci_dev *dev; - int nr_devs; dev_dbg(&bus->dev, "scanning bus\n"); /* Go find them, Rover! */ - for (devfn = 0; devfn < 256; devfn += 8) { - nr_devs = pci_scan_slot(bus, devfn); - - /* - * The Jailhouse hypervisor may pass individual functions of a - * multi-function device to a guest without passing function 0. - * Look for them as well. - */ - if (jailhouse_paravirt() && nr_devs == 0) { - for (fn = 1; fn < 8; fn++) { - dev = pci_scan_single_device(bus, devfn + fn); - if (dev) - dev->multifunction = 1; - } - } - } + for (devfn = 0; devfn < 256; devfn += 8) + pci_scan_slot(bus, devfn); /* Reserve buses for SR-IOV capability */ used_buses = pci_iov_bus_range(bus); @@ -2922,8 +2918,8 @@ * hotplug bridges too much during the second scan below. */ used_buses++; - if (cmax - max > 1) - used_buses += cmax - max - 1; + if (max - cmax > 1) + used_buses += max - cmax - 1; } /* Scan bridges that need to be reconfigured */ @@ -2931,7 +2927,6 @@ unsigned int buses = 0; if (!hotplug_bridges && normal_bridges == 1) { - /* * There is only one bridge on the bus (upstream * port) so it gets all available buses which it @@ -2940,7 +2935,6 @@ */ buses = available_buses; } else if (dev->is_hotplug_bridge) { - /* * Distribute the extra buses between hotplug * bridges if any. @@ -2959,7 +2953,7 @@ /* * Make sure a hotplug bridge has at least the minimum requested * number of buses but allow it to grow up to the maximum available - * bus number of there is room. + * bus number if there is room. */ if (bus->self && bus->self->is_hotplug_bridge) { used_buses = max_t(unsigned int, available_buses, --- linux-gcp-5.19.0.orig/drivers/pci/quirks.c +++ linux-gcp-5.19.0/drivers/pci/quirks.c @@ -207,6 +207,21 @@ DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_BRIDGE_HOST, 8, quirk_mmio_always_on); +/* The BAR0 ~ BAR4 of Marvell 9125 device can't be accessed +* by IO resource file, and need to skip the files +*/ +static void quirk_marvell_mask_bar(struct pci_dev *dev) +{ + int i; + + for (i = 0; i < 5; i++) + if (dev->resource[i].start) + dev->resource[i].start = + dev->resource[i].end = 0; +} +DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_MARVELL_EXT, 0x9125, + quirk_marvell_mask_bar); + /* * The Mellanox Tavor device gives false positive parity errors. Disable * parity error reporting. @@ -4924,6 +4939,9 @@ { PCI_VENDOR_ID_AMPERE, 0xE00C, pci_quirk_xgene_acs }, /* Broadcom multi-function device */ { PCI_VENDOR_ID_BROADCOM, 0x16D7, pci_quirk_mf_endpoint_acs }, + { PCI_VENDOR_ID_BROADCOM, 0x1750, pci_quirk_mf_endpoint_acs }, + { PCI_VENDOR_ID_BROADCOM, 0x1751, pci_quirk_mf_endpoint_acs }, + { PCI_VENDOR_ID_BROADCOM, 0x1752, pci_quirk_mf_endpoint_acs }, { PCI_VENDOR_ID_BROADCOM, 0xD714, pci_quirk_brcm_acs }, /* Amazon Annapurna Labs */ { PCI_VENDOR_ID_AMAZON_ANNAPURNA_LABS, 0x0031, pci_quirk_al_acs }, @@ -5326,6 +5344,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_AMD, 0x1487, quirk_no_flr); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_AMD, 0x148c, quirk_no_flr); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_AMD, 0x149c, quirk_no_flr); +DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_AMD, 0x7901, quirk_no_flr); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x1502, quirk_no_flr); DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, 0x1503, quirk_no_flr); @@ -5942,3 +5961,103 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x56c0, aspm_l1_acceptable_latency); DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, 0x56c1, aspm_l1_acceptable_latency); #endif + +static void pci_fixup_serialize_tgl_me_pm(struct pci_dev *pdev) +{ + struct pci_dev *rciep = NULL; + + if (!pdev->bus) + return; + + for_each_pci_dev(rciep) { + /* Most of TGL RCiEPs don't have type PCI_EXP_TYPE_RC_END, + * check parent bridge instead. */ + if (!rciep->bus) + continue; + + if (rciep->bus->self != pdev->bus->self) + continue; + + if (&rciep->dev == &pdev->dev) + continue; + + if (device_link_add(&rciep->dev, &pdev->dev, + DL_FLAG_STATELESS)) + pci_info(rciep, "Suspend before and resume after %s\n", + pci_name(pdev)); + } +} +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x15fb, pci_fixup_serialize_tgl_me_pm); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x15fc, pci_fixup_serialize_tgl_me_pm); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x15f9, pci_fixup_serialize_tgl_me_pm); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x15fa, pci_fixup_serialize_tgl_me_pm); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x15f4, pci_fixup_serialize_tgl_me_pm); +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x15f5, pci_fixup_serialize_tgl_me_pm); + +/* + * BIOS may not be able to access config space of devices under VMD domain, so + * it relies on software to enable ASPM for links under VMD. + */ +static bool pci_fixup_is_vmd_bridge(struct pci_dev *pdev) +{ + struct pci_bus *bus = pdev->bus; + struct device *dev; + struct pci_driver *pdrv; + + if (!pci_is_root_bus(bus)) + return false; + + dev = bus->bridge->parent; + if (dev == NULL) + return false; + + pdrv = pci_dev_driver(to_pci_dev(dev)); + if (pdrv == NULL || strcmp("vmd", pdrv->name)) + return false; + + return true; +} + +static void pci_fixup_enable_aspm(struct pci_dev *pdev) +{ + if (!pci_fixup_is_vmd_bridge(pdev)) + return; + + pdev->dev_flags |= PCI_DEV_FLAGS_ENABLE_ASPM; + pci_info(pdev, "enable ASPM for pci bridge behind vmd"); +} +DECLARE_PCI_FIXUP_CLASS_HEADER(PCI_VENDOR_ID_INTEL, PCI_ANY_ID, + PCI_CLASS_BRIDGE_PCI, 8, pci_fixup_enable_aspm); + +static void pci_fixup_enable_vmd_nvme_ltr(struct pci_dev *pdev) +{ + struct pci_dev *parent; + int pos; + u16 val; + + parent = pci_upstream_bridge(pdev); + if (!parent) + return; + + if (!pci_fixup_is_vmd_bridge(parent)) + return; + + pos = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_LTR); + if (!pos) + return; + + pci_read_config_word(pdev, pos + PCI_LTR_MAX_SNOOP_LAT, &val); + if (val) + return; + + pci_read_config_word(pdev, pos + PCI_LTR_MAX_NOSNOOP_LAT, &val); + if (val) + return; + + /* 3145728ns, i.e. 0x300000ns */ + pci_write_config_word(pdev, pos + PCI_LTR_MAX_SNOOP_LAT, 0x1003); + pci_write_config_word(pdev, pos + PCI_LTR_MAX_NOSNOOP_LAT, 0x1003); + pci_info(pdev, "enable LTR for nvme behind vmd"); +} +DECLARE_PCI_FIXUP_CLASS_EARLY(PCI_ANY_ID, PCI_ANY_ID, + PCI_CLASS_STORAGE_EXPRESS, 0, pci_fixup_enable_vmd_nvme_ltr); --- linux-gcp-5.19.0.orig/drivers/pci/setup-bus.c +++ linux-gcp-5.19.0/drivers/pci/setup-bus.c @@ -1745,119 +1745,6 @@ } #endif -/* - * First try will not touch PCI bridge res. - * Second and later try will clear small leaf bridge res. - * Will stop till to the max depth if can not find good one. - */ -void pci_assign_unassigned_root_bus_resources(struct pci_bus *bus) -{ - LIST_HEAD(realloc_head); - /* List of resources that want additional resources */ - struct list_head *add_list = NULL; - int tried_times = 0; - enum release_type rel_type = leaf_only; - LIST_HEAD(fail_head); - struct pci_dev_resource *fail_res; - int pci_try_num = 1; - enum enable_type enable_local; - - /* Don't realloc if asked to do so */ - enable_local = pci_realloc_detect(bus, pci_realloc_enable); - if (pci_realloc_enabled(enable_local)) { - int max_depth = pci_bus_get_depth(bus); - - pci_try_num = max_depth + 1; - dev_info(&bus->dev, "max bus depth: %d pci_try_num: %d\n", - max_depth, pci_try_num); - } - -again: - /* - * Last try will use add_list, otherwise will try good to have as must - * have, so can realloc parent bridge resource - */ - if (tried_times + 1 == pci_try_num) - add_list = &realloc_head; - /* - * Depth first, calculate sizes and alignments of all subordinate buses. - */ - __pci_bus_size_bridges(bus, add_list); - - /* Depth last, allocate resources and update the hardware. */ - __pci_bus_assign_resources(bus, add_list, &fail_head); - if (add_list) - BUG_ON(!list_empty(add_list)); - tried_times++; - - /* Any device complain? */ - if (list_empty(&fail_head)) - goto dump; - - if (tried_times >= pci_try_num) { - if (enable_local == undefined) - dev_info(&bus->dev, "Some PCI device resources are unassigned, try booting with pci=realloc\n"); - else if (enable_local == auto_enabled) - dev_info(&bus->dev, "Automatically enabled pci realloc, if you have problem, try booting with pci=realloc=off\n"); - - free_list(&fail_head); - goto dump; - } - - dev_info(&bus->dev, "No. %d try to assign unassigned res\n", - tried_times + 1); - - /* Third times and later will not check if it is leaf */ - if ((tried_times + 1) > 2) - rel_type = whole_subtree; - - /* - * Try to release leaf bridge's resources that doesn't fit resource of - * child device under that bridge. - */ - list_for_each_entry(fail_res, &fail_head, list) - pci_bus_release_bridge_resources(fail_res->dev->bus, - fail_res->flags & PCI_RES_TYPE_MASK, - rel_type); - - /* Restore size and flags */ - list_for_each_entry(fail_res, &fail_head, list) { - struct resource *res = fail_res->res; - int idx; - - res->start = fail_res->start; - res->end = fail_res->end; - res->flags = fail_res->flags; - - if (pci_is_bridge(fail_res->dev)) { - idx = res - &fail_res->dev->resource[0]; - if (idx >= PCI_BRIDGE_RESOURCES && - idx <= PCI_BRIDGE_RESOURCE_END) - res->flags = 0; - } - } - free_list(&fail_head); - - goto again; - -dump: - /* Dump the resource on buses */ - pci_bus_dump_resources(bus); -} - -void __init pci_assign_unassigned_resources(void) -{ - struct pci_bus *root_bus; - - list_for_each_entry(root_bus, &pci_root_buses, node) { - pci_assign_unassigned_root_bus_resources(root_bus); - - /* Make sure the root bridge has a companion ACPI device */ - if (ACPI_HANDLE(root_bus->bridge)) - acpi_ioapic_add(ACPI_HANDLE(root_bus->bridge)); - } -} - static void adjust_bridge_window(struct pci_dev *bridge, struct resource *res, struct list_head *add_list, resource_size_t new_size) @@ -2029,7 +1916,7 @@ } static void pci_bridge_distribute_available_resources(struct pci_dev *bridge, - struct list_head *add_list) + struct list_head *add_list) { struct resource available_io, available_mmio, available_mmio_pref; @@ -2047,6 +1934,119 @@ available_mmio_pref); } +/* + * First try will not touch PCI bridge res. + * Second and later try will clear small leaf bridge res. + * Will stop till to the max depth if can not find good one. + */ +void pci_assign_unassigned_root_bus_resources(struct pci_bus *bus) +{ + LIST_HEAD(realloc_head); + /* List of resources that want additional resources */ + struct list_head *add_list = NULL; + int tried_times = 0; + enum release_type rel_type = leaf_only; + LIST_HEAD(fail_head); + struct pci_dev_resource *fail_res; + int pci_try_num = 1; + enum enable_type enable_local; + + /* Don't realloc if asked to do so */ + enable_local = pci_realloc_detect(bus, pci_realloc_enable); + if (pci_realloc_enabled(enable_local)) { + int max_depth = pci_bus_get_depth(bus); + + pci_try_num = max_depth + 1; + dev_info(&bus->dev, "max bus depth: %d pci_try_num: %d\n", + max_depth, pci_try_num); + } + +again: + /* + * Last try will use add_list, otherwise will try good to have as must + * have, so can realloc parent bridge resource + */ + if (tried_times + 1 == pci_try_num) + add_list = &realloc_head; + /* + * Depth first, calculate sizes and alignments of all subordinate buses. + */ + __pci_bus_size_bridges(bus, add_list); + + /* Depth last, allocate resources and update the hardware. */ + __pci_bus_assign_resources(bus, add_list, &fail_head); + if (add_list) + BUG_ON(!list_empty(add_list)); + tried_times++; + + /* Any device complain? */ + if (list_empty(&fail_head)) + goto dump; + + if (tried_times >= pci_try_num) { + if (enable_local == undefined) + dev_info(&bus->dev, "Some PCI device resources are unassigned, try booting with pci=realloc\n"); + else if (enable_local == auto_enabled) + dev_info(&bus->dev, "Automatically enabled pci realloc, if you have problem, try booting with pci=realloc=off\n"); + + free_list(&fail_head); + goto dump; + } + + dev_info(&bus->dev, "No. %d try to assign unassigned res\n", + tried_times + 1); + + /* Third times and later will not check if it is leaf */ + if ((tried_times + 1) > 2) + rel_type = whole_subtree; + + /* + * Try to release leaf bridge's resources that doesn't fit resource of + * child device under that bridge. + */ + list_for_each_entry(fail_res, &fail_head, list) + pci_bus_release_bridge_resources(fail_res->dev->bus, + fail_res->flags & PCI_RES_TYPE_MASK, + rel_type); + + /* Restore size and flags */ + list_for_each_entry(fail_res, &fail_head, list) { + struct resource *res = fail_res->res; + int idx; + + res->start = fail_res->start; + res->end = fail_res->end; + res->flags = fail_res->flags; + + if (pci_is_bridge(fail_res->dev)) { + idx = res - &fail_res->dev->resource[0]; + if (idx >= PCI_BRIDGE_RESOURCES && + idx <= PCI_BRIDGE_RESOURCE_END) + res->flags = 0; + } + } + free_list(&fail_head); + + goto again; + +dump: + /* Dump the resource on buses */ + pci_bus_dump_resources(bus); +} + +void __init pci_assign_unassigned_resources(void) +{ + struct pci_bus *root_bus; + + list_for_each_entry(root_bus, &pci_root_buses, node) { + pci_assign_unassigned_root_bus_resources(root_bus); + + /* Make sure the root bridge has a companion ACPI device */ + if (ACPI_HANDLE(root_bus->bridge)) + acpi_ioapic_add(ACPI_HANDLE(root_bus->bridge)); + } +} + void pci_assign_unassigned_bridge_resources(struct pci_dev *bridge) { struct pci_bus *parent = bridge->subordinate; --- linux-gcp-5.19.0.orig/drivers/pci/setup-res.c +++ linux-gcp-5.19.0/drivers/pci/setup-res.c @@ -214,6 +214,17 @@ root = pci_find_parent_resource(dev, res); if (!root) { + /* + * If dev is behind a bridge, accesses will only reach it + * if res is inside the relevant bridge window. + */ + if (pci_upstream_bridge(dev)) + return -ENXIO; + + /* + * On the root bus, assume the host bridge will forward + * everything. + */ if (res->flags & IORESOURCE_IO) root = &ioport_resource; else --- linux-gcp-5.19.0.orig/drivers/pci/switch/switchtec.c +++ linux-gcp-5.19.0/drivers/pci/switch/switchtec.c @@ -606,21 +606,20 @@ rc = copy_to_user(data, &stuser->return_code, sizeof(stuser->return_code)); if (rc) { - rc = -EFAULT; - goto out; + mutex_unlock(&stdev->mrpc_mutex); + return -EFAULT; } data += sizeof(stuser->return_code); rc = copy_to_user(data, &stuser->data, size - sizeof(stuser->return_code)); if (rc) { - rc = -EFAULT; - goto out; + mutex_unlock(&stdev->mrpc_mutex); + return -EFAULT; } stuser_set_state(stuser, MRPC_IDLE); -out: mutex_unlock(&stdev->mrpc_mutex); if (stuser->status == SWITCHTEC_MRPC_STATUS_DONE || --- linux-gcp-5.19.0.orig/drivers/peci/controller/peci-aspeed.c +++ linux-gcp-5.19.0/drivers/peci/controller/peci-aspeed.c @@ -523,7 +523,7 @@ return PTR_ERR(priv->base); priv->irq = platform_get_irq(pdev, 0); - if (!priv->irq) + if (priv->irq < 0) return priv->irq; ret = devm_request_irq(&pdev->dev, priv->irq, aspeed_peci_irq_handler, --- linux-gcp-5.19.0.orig/drivers/peci/cpu.c +++ linux-gcp-5.19.0/drivers/peci/cpu.c @@ -188,8 +188,6 @@ { struct auxiliary_device *adev = to_auxiliary_dev(dev); - auxiliary_device_uninit(adev); - kfree(adev->name); kfree(adev); } @@ -234,6 +232,7 @@ struct auxiliary_device *adev = _adev; auxiliary_device_delete(adev); + auxiliary_device_uninit(adev); } static int devm_adev_add(struct device *dev, int idx) --- linux-gcp-5.19.0.orig/drivers/perf/arm-cmn.c +++ linux-gcp-5.19.0/drivers/perf/arm-cmn.c @@ -36,7 +36,7 @@ #define CMN_CI_CHILD_COUNT GENMASK_ULL(15, 0) #define CMN_CI_CHILD_PTR_OFFSET GENMASK_ULL(31, 16) -#define CMN_CHILD_NODE_ADDR GENMASK(27, 0) +#define CMN_CHILD_NODE_ADDR GENMASK(29, 0) #define CMN_CHILD_NODE_EXTERNAL BIT(31) #define CMN_MAX_DIMENSION 12 @@ -1576,7 +1576,6 @@ hw->dn++; continue; } - hw->dtcs_used |= arm_cmn_node_to_xp(cmn, dn)->dtc; hw->num_dns++; if (bynodeid) break; @@ -1589,6 +1588,12 @@ nodeid, nid.x, nid.y, nid.port, nid.dev, type); return -EINVAL; } + /* + * Keep assuming non-cycles events count in all DTC domains; turns out + * it's hard to make a worthwhile optimisation around this, short of + * going all-in with domain-local counter allocation as well. + */ + hw->dtcs_used = (1U << cmn->num_dtcs) - 1; return arm_cmn_validate_group(cmn, event); } --- linux-gcp-5.19.0.orig/drivers/perf/arm_dmc620_pmu.c +++ linux-gcp-5.19.0/drivers/perf/arm_dmc620_pmu.c @@ -725,6 +725,8 @@ static int __init dmc620_pmu_init(void) { + int ret; + cpuhp_state_num = cpuhp_setup_state_multi(CPUHP_AP_ONLINE_DYN, DMC620_DRVNAME, NULL, @@ -732,7 +734,11 @@ if (cpuhp_state_num < 0) return cpuhp_state_num; - return platform_driver_register(&dmc620_pmu_driver); + ret = platform_driver_register(&dmc620_pmu_driver); + if (ret) + cpuhp_remove_multi_state(cpuhp_state_num); + + return ret; } static void __exit dmc620_pmu_exit(void) --- linux-gcp-5.19.0.orig/drivers/perf/arm_dsu_pmu.c +++ linux-gcp-5.19.0/drivers/perf/arm_dsu_pmu.c @@ -858,7 +858,11 @@ if (ret < 0) return ret; dsu_pmu_cpuhp_state = ret; - return platform_driver_register(&dsu_pmu_driver); + ret = platform_driver_register(&dsu_pmu_driver); + if (ret) + cpuhp_remove_multi_state(dsu_pmu_cpuhp_state); + + return ret; } static void __exit dsu_pmu_exit(void) --- linux-gcp-5.19.0.orig/drivers/perf/arm_pmu_platform.c +++ linux-gcp-5.19.0/drivers/perf/arm_pmu_platform.c @@ -117,7 +117,7 @@ if (num_irqs == 1) { int irq = platform_get_irq(pdev, 0); - if (irq && irq_is_percpu_devid(irq)) + if ((irq > 0) && irq_is_percpu_devid(irq)) return pmu_parse_percpu_irq(pmu, irq); } --- linux-gcp-5.19.0.orig/drivers/perf/arm_smmuv3_pmu.c +++ linux-gcp-5.19.0/drivers/perf/arm_smmuv3_pmu.c @@ -959,6 +959,8 @@ static int __init arm_smmu_pmu_init(void) { + int ret; + cpuhp_state_num = cpuhp_setup_state_multi(CPUHP_AP_ONLINE_DYN, "perf/arm/pmcg:online", NULL, @@ -966,7 +968,11 @@ if (cpuhp_state_num < 0) return cpuhp_state_num; - return platform_driver_register(&smmu_pmu_driver); + ret = platform_driver_register(&smmu_pmu_driver); + if (ret) + cpuhp_remove_multi_state(cpuhp_state_num); + + return ret; } module_init(arm_smmu_pmu_init); --- linux-gcp-5.19.0.orig/drivers/perf/arm_spe_pmu.c +++ linux-gcp-5.19.0/drivers/perf/arm_spe_pmu.c @@ -39,6 +39,24 @@ #include #include +/* + * Cache if the event is allowed to trace Context information. + * This allows us to perform the check, i.e, perfmon_capable(), + * in the context of the event owner, once, during the event_init(). + */ +#define SPE_PMU_HW_FLAGS_CX BIT(0) + +static void set_spe_event_has_cx(struct perf_event *event) +{ + if (IS_ENABLED(CONFIG_PID_IN_CONTEXTIDR) && perfmon_capable()) + event->hw.flags |= SPE_PMU_HW_FLAGS_CX; +} + +static bool get_spe_event_has_cx(struct perf_event *event) +{ + return !!(event->hw.flags & SPE_PMU_HW_FLAGS_CX); +} + #define ARM_SPE_BUF_PAD_BYTE 0 struct arm_spe_pmu_buf { @@ -272,7 +290,7 @@ if (!attr->exclude_kernel) reg |= BIT(SYS_PMSCR_EL1_E1SPE_SHIFT); - if (IS_ENABLED(CONFIG_PID_IN_CONTEXTIDR) && perfmon_capable()) + if (get_spe_event_has_cx(event)) reg |= BIT(SYS_PMSCR_EL1_CX_SHIFT); return reg; @@ -709,10 +727,10 @@ !(spe_pmu->features & SPE_PMU_FEAT_FILT_LAT)) return -EOPNOTSUPP; + set_spe_event_has_cx(event); reg = arm_spe_event_to_pmscr(event); if (!perfmon_capable() && (reg & (BIT(SYS_PMSCR_EL1_PA_SHIFT) | - BIT(SYS_PMSCR_EL1_CX_SHIFT) | BIT(SYS_PMSCR_EL1_PCT_SHIFT)))) return -EACCES; --- linux-gcp-5.19.0.orig/drivers/perf/hisilicon/hisi_pcie_pmu.c +++ linux-gcp-5.19.0/drivers/perf/hisilicon/hisi_pcie_pmu.c @@ -693,10 +693,10 @@ HISI_PCIE_PMU_EVENT_ATTR(rx_mrd_cnt, 0x10210), HISI_PCIE_PMU_EVENT_ATTR(tx_mrd_latency, 0x0011), HISI_PCIE_PMU_EVENT_ATTR(tx_mrd_cnt, 0x10011), - HISI_PCIE_PMU_EVENT_ATTR(rx_mrd_flux, 0x1005), - HISI_PCIE_PMU_EVENT_ATTR(rx_mrd_time, 0x11005), - HISI_PCIE_PMU_EVENT_ATTR(tx_mrd_flux, 0x2004), - HISI_PCIE_PMU_EVENT_ATTR(tx_mrd_time, 0x12004), + HISI_PCIE_PMU_EVENT_ATTR(rx_mrd_flux, 0x0804), + HISI_PCIE_PMU_EVENT_ATTR(rx_mrd_time, 0x10804), + HISI_PCIE_PMU_EVENT_ATTR(tx_mrd_flux, 0x0405), + HISI_PCIE_PMU_EVENT_ATTR(tx_mrd_time, 0x10405), NULL }; --- linux-gcp-5.19.0.orig/drivers/perf/marvell_cn10k_tad_pmu.c +++ linux-gcp-5.19.0/drivers/perf/marvell_cn10k_tad_pmu.c @@ -414,7 +414,11 @@ if (ret < 0) return ret; tad_pmu_cpuhp_state = ret; - return platform_driver_register(&tad_pmu_driver); + ret = platform_driver_register(&tad_pmu_driver); + if (ret) + cpuhp_remove_multi_state(tad_pmu_cpuhp_state); + + return ret; } static void __exit tad_pmu_exit(void) --- linux-gcp-5.19.0.orig/drivers/perf/riscv_pmu.c +++ linux-gcp-5.19.0/drivers/perf/riscv_pmu.c @@ -170,7 +170,6 @@ left = (max_period >> 1); local64_set(&hwc->prev_count, (u64)-left); - perf_event_update_userpage(event); return overflow; } --- linux-gcp-5.19.0.orig/drivers/perf/riscv_pmu_sbi.c +++ linux-gcp-5.19.0/drivers/perf/riscv_pmu_sbi.c @@ -274,8 +274,13 @@ cflags |= SBI_PMU_CFG_FLAG_SET_UINH; /* retrieve the available counter index */ +#if defined(CONFIG_32BIT) + ret = sbi_ecall(SBI_EXT_PMU, SBI_EXT_PMU_COUNTER_CFG_MATCH, cbase, cmask, + cflags, hwc->event_base, hwc->config, hwc->config >> 32); +#else ret = sbi_ecall(SBI_EXT_PMU, SBI_EXT_PMU_COUNTER_CFG_MATCH, cbase, cmask, cflags, hwc->event_base, hwc->config, 0); +#endif if (ret.error) { pr_debug("Not able to find a counter for event %lx config %llx\n", hwc->event_base, hwc->config); @@ -417,8 +422,13 @@ struct hw_perf_event *hwc = &event->hw; unsigned long flag = SBI_PMU_START_FLAG_SET_INIT_VALUE; +#if defined(CONFIG_32BIT) ret = sbi_ecall(SBI_EXT_PMU, SBI_EXT_PMU_COUNTER_START, hwc->idx, 1, flag, ival, ival >> 32, 0); +#else + ret = sbi_ecall(SBI_EXT_PMU, SBI_EXT_PMU_COUNTER_START, hwc->idx, + 1, flag, ival, 0, 0); +#endif if (ret.error && (ret.error != SBI_ERR_ALREADY_STARTED)) pr_err("Starting counter idx %d failed with error %d\n", hwc->idx, sbi_err_map_linux_errno(ret.error)); @@ -457,7 +467,7 @@ if (!pmu_ctr_list) return -ENOMEM; - for (i = 0; i <= nctr; i++) { + for (i = 0; i < nctr; i++) { ret = sbi_ecall(SBI_EXT_PMU, SBI_EXT_PMU_COUNTER_GET_INFO, i, 0, 0, 0, 0, 0); if (ret.error) /* The logical counter ids are not expected to be contiguous */ @@ -525,8 +535,14 @@ hwc = &event->hw; max_period = riscv_pmu_ctr_get_width_mask(event); init_val = local64_read(&hwc->prev_count) & max_period; +#if defined(CONFIG_32BIT) + sbi_ecall(SBI_EXT_PMU, SBI_EXT_PMU_COUNTER_START, idx, 1, + flag, init_val, init_val >> 32, 0); +#else sbi_ecall(SBI_EXT_PMU, SBI_EXT_PMU_COUNTER_START, idx, 1, flag, init_val, 0, 0); +#endif + perf_event_update_userpage(event); } ctr_ovf_mask = ctr_ovf_mask >> 1; idx++; @@ -623,8 +639,11 @@ struct riscv_pmu *pmu = hlist_entry_safe(node, struct riscv_pmu, node); struct cpu_hw_events *cpu_hw_evt = this_cpu_ptr(pmu->hw_events); - /* Enable the access for TIME csr only from the user mode now */ - csr_write(CSR_SCOUNTEREN, 0x2); + /* + * Enable the access for CYCLE, TIME, and INSTRET CSRs from userspace, + * as is necessary to maintain uABI compatibility. + */ + csr_write(CSR_SCOUNTEREN, 0x7); /* Stop all the counters so that they can be enabled from perf */ pmu_sbi_stop_all(pmu); @@ -666,12 +685,15 @@ child = of_get_compatible_child(cpu, "riscv,cpu-intc"); if (!child) { pr_err("Failed to find INTC node\n"); + of_node_put(cpu); return -ENODEV; } domain = irq_find_host(child); of_node_put(child); - if (domain) + if (domain) { + of_node_put(cpu); break; + } } if (!domain) { pr_err("Failed to find INTC IRQ root domain\n"); --- linux-gcp-5.19.0.orig/drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c +++ linux-gcp-5.19.0/drivers/phy/amlogic/phy-meson-axg-mipi-pcie-analog.c @@ -197,7 +197,7 @@ struct phy_provider *phy; struct device *dev = &pdev->dev; struct phy_axg_mipi_pcie_analog_priv *priv; - struct device_node *np = dev->of_node; + struct device_node *np = dev->of_node, *parent_np; struct regmap *map; int ret; @@ -206,7 +206,9 @@ return -ENOMEM; /* Get the hhi system controller node */ - map = syscon_node_to_regmap(of_get_parent(dev->of_node)); + parent_np = of_get_parent(dev->of_node); + map = syscon_node_to_regmap(parent_np); + of_node_put(parent_np); if (IS_ERR(map)) { dev_err(dev, "failed to get HHI regmap\n"); --- linux-gcp-5.19.0.orig/drivers/phy/broadcom/phy-brcm-usb-init-synopsys.c +++ linux-gcp-5.19.0/drivers/phy/broadcom/phy-brcm-usb-init-synopsys.c @@ -331,13 +331,12 @@ pr_debug("%s\n", __func__); - if (!params->wake_enabled) { - USB_CTRL_SET(ctrl, USB_PM, USB_PWRDN); - + if (params->wake_enabled) { /* Switch to using slower clock during suspend to save power */ USB_CTRL_SET(ctrl, USB_PM, XHC_S2_CLK_SWITCH_EN); - } else { usb_wake_enable_7216(params, true); + } else { + USB_CTRL_SET(ctrl, USB_PM, USB_PWRDN); } } @@ -425,7 +424,6 @@ params->family_name = "7216"; params->ops = &bcm7216_ops; - params->suspend_with_clocks = true; } void brcm_usb_dvr_init_7211b0(struct brcm_usb_init_params *params) @@ -435,5 +433,4 @@ params->family_name = "7211"; params->ops = &bcm7211b0_ops; - params->suspend_with_clocks = true; } --- linux-gcp-5.19.0.orig/drivers/phy/broadcom/phy-brcm-usb-init.h +++ linux-gcp-5.19.0/drivers/phy/broadcom/phy-brcm-usb-init.h @@ -61,7 +61,6 @@ const struct brcm_usb_init_ops *ops; struct regmap *syscon_piarbctl; bool wake_enabled; - bool suspend_with_clocks; }; void brcm_usb_dvr_init_4908(struct brcm_usb_init_params *params); --- linux-gcp-5.19.0.orig/drivers/phy/broadcom/phy-brcm-usb.c +++ linux-gcp-5.19.0/drivers/phy/broadcom/phy-brcm-usb.c @@ -102,9 +102,9 @@ static irqreturn_t brcm_usb_phy_wake_isr(int irq, void *dev_id) { - struct phy *gphy = dev_id; + struct device *dev = dev_id; - pm_wakeup_event(&gphy->dev, 0); + pm_wakeup_event(dev, 0); return IRQ_HANDLED; } @@ -451,7 +451,7 @@ if (priv->wake_irq >= 0) { err = devm_request_irq(dev, priv->wake_irq, brcm_usb_phy_wake_isr, 0, - dev_name(dev), gphy); + dev_name(dev), dev); if (err < 0) return err; device_set_wakeup_capable(dev, 1); @@ -598,7 +598,7 @@ * and newer XHCI->2.0-clks/3.0-clks. */ - if (!priv->ini.suspend_with_clocks) { + if (!priv->ini.wake_enabled) { if (priv->phys[BRCM_USB_PHY_3_0].inited) clk_disable_unprepare(priv->usb_30_clk); if (priv->phys[BRCM_USB_PHY_2_0].inited || @@ -615,8 +615,10 @@ { struct brcm_usb_phy_data *priv = dev_get_drvdata(dev); - clk_prepare_enable(priv->usb_20_clk); - clk_prepare_enable(priv->usb_30_clk); + if (!priv->ini.wake_enabled) { + clk_prepare_enable(priv->usb_20_clk); + clk_prepare_enable(priv->usb_30_clk); + } brcm_usb_init_ipp(&priv->ini); /* --- linux-gcp-5.19.0.orig/drivers/phy/marvell/phy-mvebu-a3700-comphy.c +++ linux-gcp-5.19.0/drivers/phy/marvell/phy-mvebu-a3700-comphy.c @@ -274,7 +274,6 @@ int submode; bool invert_tx; bool invert_rx; - bool needs_reset; }; struct gbe_phy_init_data_fix { @@ -827,6 +826,9 @@ if (ret) return ret; + /* COMPHY register reset (cleared automatically) */ + comphy_lane_reg_set(lane, COMPHY_SFT_RESET, SFT_RST, SFT_RST); + /* * 0. Set PHY OTG Control(0x5d034), bit 4, Power up OTG module The * register belong to UTMI module, so it is set in UTMI phy driver. @@ -1097,40 +1099,12 @@ 0x0, PU_PLL_BIT | PU_RX_BIT | PU_TX_BIT); } -static int mvebu_a3700_comphy_reset(struct phy *phy) +static void mvebu_a3700_comphy_usb3_power_off(struct mvebu_a3700_comphy_lane *lane) { - struct mvebu_a3700_comphy_lane *lane = phy_get_drvdata(phy); - u16 mask, data; - - dev_dbg(lane->dev, "resetting lane %d\n", lane->id); - - /* COMPHY reset for internal logic */ - comphy_lane_reg_set(lane, COMPHY_SFT_RESET, - SFT_RST_NO_REG, SFT_RST_NO_REG); - - /* COMPHY register reset (cleared automatically) */ - comphy_lane_reg_set(lane, COMPHY_SFT_RESET, SFT_RST, SFT_RST); - - /* PIPE soft and register reset */ - data = PIPE_SOFT_RESET | PIPE_REG_RESET; - mask = data; - comphy_lane_reg_set(lane, COMPHY_PIPE_RST_CLK_CTRL, data, mask); - - /* Release PIPE register reset */ - comphy_lane_reg_set(lane, COMPHY_PIPE_RST_CLK_CTRL, - 0x0, PIPE_REG_RESET); - - /* Reset SB configuration register (only for lanes 0 and 1) */ - if (lane->id == 0 || lane->id == 1) { - u32 mask, data; - - data = PIN_RESET_CORE_BIT | PIN_RESET_COMPHY_BIT | - PIN_PU_PLL_BIT | PIN_PU_RX_BIT | PIN_PU_TX_BIT; - mask = data | PIN_PU_IVREF_BIT | PIN_TX_IDLE_BIT; - comphy_periph_reg_set(lane, COMPHY_PHY_CFG1, data, mask); - } - - return 0; + /* + * The USB3 MAC sets the USB3 PHY to low state, so we do not + * need to power off USB3 PHY again. + */ } static bool mvebu_a3700_comphy_check_mode(int lane, @@ -1171,10 +1145,6 @@ (lane->mode != mode || lane->submode != submode)) return -EBUSY; - /* If changing mode, ensure reset is called */ - if (lane->mode != PHY_MODE_INVALID && lane->mode != mode) - lane->needs_reset = true; - /* Just remember the mode, ->power_on() will do the real setup */ lane->mode = mode; lane->submode = submode; @@ -1185,7 +1155,6 @@ static int mvebu_a3700_comphy_power_on(struct phy *phy) { struct mvebu_a3700_comphy_lane *lane = phy_get_drvdata(phy); - int ret; if (!mvebu_a3700_comphy_check_mode(lane->id, lane->mode, lane->submode)) { @@ -1193,14 +1162,6 @@ return -EINVAL; } - if (lane->needs_reset) { - ret = mvebu_a3700_comphy_reset(phy); - if (ret) - return ret; - - lane->needs_reset = false; - } - switch (lane->mode) { case PHY_MODE_USB_HOST_SS: dev_dbg(lane->dev, "set lane %d to USB3 host mode\n", lane->id); @@ -1224,38 +1185,28 @@ { struct mvebu_a3700_comphy_lane *lane = phy_get_drvdata(phy); - switch (lane->mode) { - case PHY_MODE_USB_HOST_SS: - /* - * The USB3 MAC sets the USB3 PHY to low state, so we do not - * need to power off USB3 PHY again. - */ - break; - - case PHY_MODE_SATA: - mvebu_a3700_comphy_sata_power_off(lane); - break; - - case PHY_MODE_ETHERNET: + switch (lane->id) { + case 0: + mvebu_a3700_comphy_usb3_power_off(lane); mvebu_a3700_comphy_ethernet_power_off(lane); - break; - - case PHY_MODE_PCIE: + return 0; + case 1: mvebu_a3700_comphy_pcie_power_off(lane); - break; - + mvebu_a3700_comphy_ethernet_power_off(lane); + return 0; + case 2: + mvebu_a3700_comphy_usb3_power_off(lane); + mvebu_a3700_comphy_sata_power_off(lane); + return 0; default: dev_err(lane->dev, "invalid COMPHY mode\n"); return -EINVAL; } - - return 0; } static const struct phy_ops mvebu_a3700_comphy_ops = { .power_on = mvebu_a3700_comphy_power_on, .power_off = mvebu_a3700_comphy_power_off, - .reset = mvebu_a3700_comphy_reset, .set_mode = mvebu_a3700_comphy_set_mode, .owner = THIS_MODULE, }; @@ -1393,8 +1344,7 @@ * To avoid relying on the bootloader/firmware configuration, * power off all comphys. */ - mvebu_a3700_comphy_reset(phy); - lane->needs_reset = false; + mvebu_a3700_comphy_power_off(phy); } provider = devm_of_phy_provider_register(&pdev->dev, --- linux-gcp-5.19.0.orig/drivers/phy/mediatek/phy-mtk-tphy.c +++ linux-gcp-5.19.0/drivers/phy/mediatek/phy-mtk-tphy.c @@ -906,7 +906,7 @@ static int phy_type_set(struct mtk_phy_instance *instance) { int type; - u32 mask; + u32 offset; if (!instance->type_sw) return 0; @@ -929,8 +929,9 @@ return 0; } - mask = RG_PHY_SW_TYPE << (instance->type_sw_index * BITS_PER_BYTE); - regmap_update_bits(instance->type_sw, instance->type_sw_reg, mask, type); + offset = instance->type_sw_index * BITS_PER_BYTE; + regmap_update_bits(instance->type_sw, instance->type_sw_reg, + RG_PHY_SW_TYPE << offset, type << offset); return 0; } --- linux-gcp-5.19.0.orig/drivers/phy/phy-can-transceiver.c +++ linux-gcp-5.19.0/drivers/phy/phy-can-transceiver.c @@ -99,6 +99,7 @@ struct gpio_desc *standby_gpio; struct gpio_desc *enable_gpio; u32 max_bitrate = 0; + int err; can_transceiver_phy = devm_kzalloc(dev, sizeof(struct can_transceiver_phy), GFP_KERNEL); if (!can_transceiver_phy) @@ -124,8 +125,8 @@ return PTR_ERR(phy); } - device_property_read_u32(dev, "max-bitrate", &max_bitrate); - if (!max_bitrate) + err = device_property_read_u32(dev, "max-bitrate", &max_bitrate); + if ((err != -EINVAL) && !max_bitrate) dev_warn(dev, "Invalid value for transceiver max bitrate. Ignoring bitrate limit\n"); phy->attrs.max_link_rate = max_bitrate; --- linux-gcp-5.19.0.orig/drivers/phy/qualcomm/phy-qcom-qmp.c +++ linux-gcp-5.19.0/drivers/phy/qualcomm/phy-qcom-qmp.c @@ -3280,6 +3280,7 @@ struct regulator_bulk_data *vregs; struct qmp_phy **phys; + struct qmp_phy *usb_phy; struct mutex phy_mutex; int init_count; @@ -3790,8 +3791,8 @@ .clk_list = qmp_v3_phy_clk_l, .num_clks = ARRAY_SIZE(qmp_v3_phy_clk_l), - .reset_list = sc7180_usb3phy_reset_l, - .num_resets = ARRAY_SIZE(sc7180_usb3phy_reset_l), + .reset_list = msm8996_usb3phy_reset_l, + .num_resets = ARRAY_SIZE(msm8996_usb3phy_reset_l), .vreg_list = qmp_phy_vreg_l, .num_vregs = ARRAY_SIZE(qmp_phy_vreg_l), .regs = qmp_v3_usb3phy_regs_layout, @@ -4178,8 +4179,8 @@ .serdes_tbl_hbr3 = qmp_v4_dp_serdes_tbl_hbr3, .serdes_tbl_hbr3_num = ARRAY_SIZE(qmp_v4_dp_serdes_tbl_hbr3), - .clk_list = qmp_v4_phy_clk_l, - .num_clks = ARRAY_SIZE(qmp_v4_phy_clk_l), + .clk_list = qmp_v4_sm8250_usbphy_clk_l, + .num_clks = ARRAY_SIZE(qmp_v4_sm8250_usbphy_clk_l), .reset_list = msm8996_usb3phy_reset_l, .num_resets = ARRAY_SIZE(msm8996_usb3phy_reset_l), .vreg_list = qmp_phy_vreg_l, @@ -5071,7 +5072,7 @@ struct qcom_qmp *qmp = qphy->qmp; const struct qmp_phy_cfg *cfg = qphy->cfg; void __iomem *serdes = qphy->serdes; - void __iomem *pcs = qphy->pcs; + struct qmp_phy *usb_phy = qmp->usb_phy; void __iomem *dp_com = qmp->dp_com; int ret, i; @@ -5137,13 +5138,13 @@ qphy_setbits(serdes, cfg->regs[QPHY_COM_POWER_DOWN_CONTROL], SW_PWRDN); } else { - if (cfg->regs[QPHY_PCS_POWER_DOWN_CONTROL]) - qphy_setbits(pcs, - cfg->regs[QPHY_PCS_POWER_DOWN_CONTROL], - cfg->pwrdn_ctrl); + if (usb_phy->cfg->regs[QPHY_PCS_POWER_DOWN_CONTROL]) + qphy_setbits(usb_phy->pcs, + usb_phy->cfg->regs[QPHY_PCS_POWER_DOWN_CONTROL], + usb_phy->cfg->pwrdn_ctrl); else - qphy_setbits(pcs, QPHY_POWER_DOWN_CONTROL, - cfg->pwrdn_ctrl); + qphy_setbits(usb_phy->pcs, QPHY_POWER_DOWN_CONTROL, + usb_phy->cfg->pwrdn_ctrl); } mutex_unlock(&qmp->phy_mutex); @@ -5501,7 +5502,7 @@ static int __maybe_unused qcom_qmp_phy_runtime_suspend(struct device *dev) { struct qcom_qmp *qmp = dev_get_drvdata(dev); - struct qmp_phy *qphy = qmp->phys[0]; + struct qmp_phy *qphy = qmp->usb_phy; const struct qmp_phy_cfg *cfg = qphy->cfg; dev_vdbg(dev, "Suspending QMP phy, mode:%d\n", qphy->mode); @@ -5526,7 +5527,7 @@ static int __maybe_unused qcom_qmp_phy_runtime_resume(struct device *dev) { struct qcom_qmp *qmp = dev_get_drvdata(dev); - struct qmp_phy *qphy = qmp->phys[0]; + struct qmp_phy *qphy = qmp->usb_phy; const struct qmp_phy_cfg *cfg = qphy->cfg; int ret = 0; @@ -5896,6 +5897,21 @@ reset_control_put(data); } +static void __iomem *qmp_usb_iomap(struct device *dev, struct device_node *np, + int index, bool exclusive) +{ + struct resource res; + + if (!exclusive) { + if (of_address_to_resource(np, index, &res)) + return IOMEM_ERR_PTR(-EINVAL); + + return devm_ioremap(dev, res.start, resource_size(&res)); + } + + return devm_of_iomap(dev, np, index, NULL); +} + static int qcom_qmp_phy_create(struct device *dev, struct device_node *np, int id, void __iomem *serdes, const struct qmp_phy_cfg *cfg) @@ -5905,8 +5921,18 @@ struct qmp_phy *qphy; const struct phy_ops *ops; char prop_name[MAX_PROP_NAME]; + bool exclusive = true; int ret; + /* + * FIXME: These bindings should be fixed to not rely on overlapping + * mappings for PCS. + */ + if (of_device_is_compatible(dev->of_node, "qcom,sdx65-qmp-usb3-uni-phy")) + exclusive = false; + if (of_device_is_compatible(dev->of_node, "qcom,sm8350-qmp-usb3-uni-phy")) + exclusive = false; + qphy = devm_kzalloc(dev, sizeof(*qphy), GFP_KERNEL); if (!qphy) return -ENOMEM; @@ -5919,17 +5945,17 @@ * For dual lane PHYs: tx2 -> 3, rx2 -> 4, pcs_misc (optional) -> 5 * For single lane PHYs: pcs_misc (optional) -> 3. */ - qphy->tx = of_iomap(np, 0); - if (!qphy->tx) - return -ENOMEM; - - qphy->rx = of_iomap(np, 1); - if (!qphy->rx) - return -ENOMEM; - - qphy->pcs = of_iomap(np, 2); - if (!qphy->pcs) - return -ENOMEM; + qphy->tx = devm_of_iomap(dev, np, 0, NULL); + if (IS_ERR(qphy->tx)) + return PTR_ERR(qphy->tx); + + qphy->rx = devm_of_iomap(dev, np, 1, NULL); + if (IS_ERR(qphy->rx)) + return PTR_ERR(qphy->rx); + + qphy->pcs = qmp_usb_iomap(dev, np, 2, exclusive); + if (IS_ERR(qphy->pcs)) + return PTR_ERR(qphy->pcs); /* * If this is a dual-lane PHY, then there should be registers for the @@ -5938,9 +5964,9 @@ * offset from the first lane. */ if (cfg->is_dual_lane_phy) { - qphy->tx2 = of_iomap(np, 3); - qphy->rx2 = of_iomap(np, 4); - if (!qphy->tx2 || !qphy->rx2) { + qphy->tx2 = devm_of_iomap(dev, np, 3, NULL); + qphy->rx2 = devm_of_iomap(dev, np, 4, NULL); + if (IS_ERR(qphy->tx2) || IS_ERR(qphy->rx2)) { dev_warn(dev, "Underspecified device tree, falling back to legacy register regions\n"); @@ -5950,15 +5976,17 @@ qphy->rx2 = qphy->rx + QMP_PHY_LEGACY_LANE_STRIDE; } else { - qphy->pcs_misc = of_iomap(np, 5); + qphy->pcs_misc = devm_of_iomap(dev, np, 5, NULL); } } else { - qphy->pcs_misc = of_iomap(np, 3); + qphy->pcs_misc = devm_of_iomap(dev, np, 3, NULL); } - if (!qphy->pcs_misc) + if (IS_ERR(qphy->pcs_misc)) { dev_vdbg(dev, "PHY pcs_misc-reg not used\n"); + qphy->pcs_misc = NULL; + } /* * Get PHY's Pipe clock, if any. USB3 and PCIe are PIPE3 @@ -6273,7 +6301,9 @@ return -ENOMEM; pm_runtime_set_active(dev); - pm_runtime_enable(dev); + ret = devm_pm_runtime_enable(dev); + if (ret) + return ret; /* * Prevent runtime pm from being ON by default. Users can enable * it using power/control in sysfs. @@ -6298,6 +6328,9 @@ goto err_node_put; } + if (cfg->type != PHY_TYPE_DP) + qmp->usb_phy = qmp->phys[id]; + /* * Register the pipe clock provided by phy. * See function description to see details of this pipe clock. @@ -6320,16 +6353,16 @@ id++; } + if (!qmp->usb_phy) + return -EINVAL; + phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate); if (!IS_ERR(phy_provider)) dev_info(dev, "Registered Qcom-QMP phy\n"); - else - pm_runtime_disable(dev); return PTR_ERR_OR_ZERO(phy_provider); err_node_put: - pm_runtime_disable(dev); of_node_put(child); return ret; } --- linux-gcp-5.19.0.orig/drivers/phy/qualcomm/phy-qcom-qmp.h +++ linux-gcp-5.19.0/drivers/phy/qualcomm/phy-qcom-qmp.h @@ -1116,7 +1116,8 @@ #define QSERDES_V5_COM_CORE_CLK_EN 0x174 #define QSERDES_V5_COM_CMN_CONFIG 0x17c #define QSERDES_V5_COM_CMN_MISC1 0x19c -#define QSERDES_V5_COM_CMN_MODE 0x1a4 +#define QSERDES_V5_COM_CMN_MODE 0x1a0 +#define QSERDES_V5_COM_CMN_MODE_CONTD 0x1a4 #define QSERDES_V5_COM_VCO_DC_LEVEL_CTRL 0x1a8 #define QSERDES_V5_COM_BIN_VCOCAL_CMP_CODE1_MODE0 0x1ac #define QSERDES_V5_COM_BIN_VCOCAL_CMP_CODE2_MODE0 0x1b0 --- linux-gcp-5.19.0.orig/drivers/phy/qualcomm/phy-qcom-usb-hsic.c +++ linux-gcp-5.19.0/drivers/phy/qualcomm/phy-qcom-usb-hsic.c @@ -54,8 +54,10 @@ /* Configure pins for HSIC functionality */ pins_default = pinctrl_lookup_state(uphy->pctl, PINCTRL_STATE_DEFAULT); - if (IS_ERR(pins_default)) - return PTR_ERR(pins_default); + if (IS_ERR(pins_default)) { + ret = PTR_ERR(pins_default); + goto err_ulpi; + } ret = pinctrl_select_state(uphy->pctl, pins_default); if (ret) --- linux-gcp-5.19.0.orig/drivers/phy/ralink/phy-mt7621-pci.c +++ linux-gcp-5.19.0/drivers/phy/ralink/phy-mt7621-pci.c @@ -280,7 +280,8 @@ } static const struct soc_device_attribute mt7621_pci_quirks_match[] = { - { .soc_id = "mt7621", .revision = "E2" } + { .soc_id = "mt7621", .revision = "E2" }, + { /* sentinel */ } }; static const struct regmap_config mt7621_pci_phy_regmap_config = { --- linux-gcp-5.19.0.orig/drivers/phy/rockchip/phy-rockchip-inno-usb2.c +++ linux-gcp-5.19.0/drivers/phy/rockchip/phy-rockchip-inno-usb2.c @@ -485,8 +485,10 @@ return ret; ret = property_enable(base, &rport->port_cfg->phy_sus, false); - if (ret) + if (ret) { + clk_disable_unprepare(rphy->clk480m); return ret; + } /* waiting for the utmi_clk to become stable */ usleep_range(1500, 2000); @@ -978,7 +980,9 @@ switch (rport->port_id) { case USB2PHY_PORT_OTG: - ret |= rockchip_usb2phy_otg_mux_irq(irq, rport); + if (rport->mode != USB_DR_MODE_HOST && + rport->mode != USB_DR_MODE_UNKNOWN) + ret |= rockchip_usb2phy_otg_mux_irq(irq, rport); break; case USB2PHY_PORT_HOST: ret |= rockchip_usb2phy_linestate_irq(irq, rport); @@ -1122,7 +1126,7 @@ struct rockchip_usb2phy_port *rport, struct device_node *child_np) { - int ret; + int ret, id; rport->port_id = USB2PHY_PORT_OTG; rport->port_cfg = &rphy->phy_cfg->port_cfgs[USB2PHY_PORT_OTG]; @@ -1160,8 +1164,16 @@ ret = devm_extcon_register_notifier(rphy->dev, rphy->edev, EXTCON_USB_HOST, &rport->event_nb); - if (ret) + if (ret) { dev_err(rphy->dev, "register USB HOST notifier failed\n"); + goto out; + } + + if (!of_property_read_bool(rphy->dev->of_node, "extcon")) { + /* do initial sync of usb state */ + id = property_enabled(rphy->grf, &rport->port_cfg->utmi_id); + extcon_set_state_sync(rphy->edev, EXTCON_USB_HOST, !id); + } } out: --- linux-gcp-5.19.0.orig/drivers/phy/rockchip/phy-rockchip-typec.c +++ linux-gcp-5.19.0/drivers/phy/rockchip/phy-rockchip-typec.c @@ -821,10 +821,10 @@ mode = MODE_DFP_USB; id = EXTCON_USB_HOST; - if (ufp) { + if (ufp > 0) { mode = MODE_UFP_USB; id = EXTCON_USB; - } else if (dp) { + } else if (dp > 0) { mode = MODE_DFP_DP; id = EXTCON_DISP_DP; --- linux-gcp-5.19.0.orig/drivers/phy/samsung/phy-exynos-pcie.c +++ linux-gcp-5.19.0/drivers/phy/samsung/phy-exynos-pcie.c @@ -51,6 +51,13 @@ { struct exynos_pcie_phy *ep = phy_get_drvdata(phy); + regmap_update_bits(ep->pmureg, EXYNOS5433_PMU_PCIE_PHY_OFFSET, + BIT(0), 1); + regmap_update_bits(ep->fsysreg, PCIE_EXYNOS5433_PHY_GLOBAL_RESET, + PCIE_APP_REQ_EXIT_L1_MODE, 0); + regmap_update_bits(ep->fsysreg, PCIE_EXYNOS5433_PHY_L1SUB_CM_CON, + PCIE_REFCLK_GATING_EN, 0); + regmap_update_bits(ep->fsysreg, PCIE_EXYNOS5433_PHY_COMMON_RESET, PCIE_PHY_RESET, 1); regmap_update_bits(ep->fsysreg, PCIE_EXYNOS5433_PHY_MAC_RESET, @@ -109,20 +116,7 @@ return 0; } -static int exynos5433_pcie_phy_power_on(struct phy *phy) -{ - struct exynos_pcie_phy *ep = phy_get_drvdata(phy); - - regmap_update_bits(ep->pmureg, EXYNOS5433_PMU_PCIE_PHY_OFFSET, - BIT(0), 1); - regmap_update_bits(ep->fsysreg, PCIE_EXYNOS5433_PHY_GLOBAL_RESET, - PCIE_APP_REQ_EXIT_L1_MODE, 0); - regmap_update_bits(ep->fsysreg, PCIE_EXYNOS5433_PHY_L1SUB_CM_CON, - PCIE_REFCLK_GATING_EN, 0); - return 0; -} - -static int exynos5433_pcie_phy_power_off(struct phy *phy) +static int exynos5433_pcie_phy_exit(struct phy *phy) { struct exynos_pcie_phy *ep = phy_get_drvdata(phy); @@ -135,8 +129,7 @@ static const struct phy_ops exynos5433_phy_ops = { .init = exynos5433_pcie_phy_init, - .power_on = exynos5433_pcie_phy_power_on, - .power_off = exynos5433_pcie_phy_power_off, + .exit = exynos5433_pcie_phy_exit, .owner = THIS_MODULE, }; --- linux-gcp-5.19.0.orig/drivers/phy/samsung/phy-exynosautov9-ufs.c +++ linux-gcp-5.19.0/drivers/phy/samsung/phy-exynosautov9-ufs.c @@ -31,22 +31,22 @@ PHY_COMN_REG_CFG(0x023, 0xc0, PWR_MODE_ANY), PHY_COMN_REG_CFG(0x023, 0x00, PWR_MODE_ANY), - PHY_TRSV_REG_CFG(0x042, 0x5d, PWR_MODE_ANY), - PHY_TRSV_REG_CFG(0x043, 0x80, PWR_MODE_ANY), + PHY_TRSV_REG_CFG_AUTOV9(0x042, 0x5d, PWR_MODE_ANY), + PHY_TRSV_REG_CFG_AUTOV9(0x043, 0x80, PWR_MODE_ANY), END_UFS_PHY_CFG, }; /* Calibration for HS mode series A/B */ static const struct samsung_ufs_phy_cfg exynosautov9_pre_pwr_hs_cfg[] = { - PHY_TRSV_REG_CFG(0x032, 0xbc, PWR_MODE_HS_ANY), - PHY_TRSV_REG_CFG(0x03c, 0x7f, PWR_MODE_HS_ANY), - PHY_TRSV_REG_CFG(0x048, 0xc0, PWR_MODE_HS_ANY), + PHY_TRSV_REG_CFG_AUTOV9(0x032, 0xbc, PWR_MODE_HS_ANY), + PHY_TRSV_REG_CFG_AUTOV9(0x03c, 0x7f, PWR_MODE_HS_ANY), + PHY_TRSV_REG_CFG_AUTOV9(0x048, 0xc0, PWR_MODE_HS_ANY), - PHY_TRSV_REG_CFG(0x04a, 0x00, PWR_MODE_HS_G3_SER_B), - PHY_TRSV_REG_CFG(0x04b, 0x10, PWR_MODE_HS_G1_SER_B | - PWR_MODE_HS_G3_SER_B), - PHY_TRSV_REG_CFG(0x04d, 0x63, PWR_MODE_HS_G3_SER_B), + PHY_TRSV_REG_CFG_AUTOV9(0x04a, 0x00, PWR_MODE_HS_G3_SER_B), + PHY_TRSV_REG_CFG_AUTOV9(0x04b, 0x10, PWR_MODE_HS_G1_SER_B | + PWR_MODE_HS_G3_SER_B), + PHY_TRSV_REG_CFG_AUTOV9(0x04d, 0x63, PWR_MODE_HS_G3_SER_B), END_UFS_PHY_CFG, }; --- linux-gcp-5.19.0.orig/drivers/phy/st/phy-stm32-usbphyc.c +++ linux-gcp-5.19.0/drivers/phy/st/phy-stm32-usbphyc.c @@ -358,7 +358,9 @@ return 0; pll_disable: - return stm32_usbphyc_pll_disable(usbphyc); + stm32_usbphyc_pll_disable(usbphyc); + + return ret; } static int stm32_usbphyc_phy_exit(struct phy *phy) @@ -708,6 +710,8 @@ ret = of_property_read_u32(child, "reg", &index); if (ret || index > usbphyc->nphys) { dev_err(&phy->dev, "invalid reg property: %d\n", ret); + if (!ret) + ret = -EINVAL; goto put_child; } --- linux-gcp-5.19.0.orig/drivers/phy/ti/Kconfig +++ linux-gcp-5.19.0/drivers/phy/ti/Kconfig @@ -23,7 +23,7 @@ config PHY_AM654_SERDES tristate "TI AM654 SERDES support" - depends on OF && ARCH_K3 || COMPILE_TEST + depends on OF && (ARCH_K3 || COMPILE_TEST) depends on COMMON_CLK select GENERIC_PHY select MULTIPLEXER @@ -35,7 +35,7 @@ config PHY_J721E_WIZ tristate "TI J721E WIZ (SERDES Wrapper) support" - depends on OF && ARCH_K3 || COMPILE_TEST + depends on OF && (ARCH_K3 || COMPILE_TEST) depends on HAS_IOMEM && OF_ADDRESS depends on COMMON_CLK select GENERIC_PHY --- linux-gcp-5.19.0.orig/drivers/phy/ti/phy-tusb1210.c +++ linux-gcp-5.19.0/drivers/phy/ti/phy-tusb1210.c @@ -105,8 +105,9 @@ msleep(TUSB1210_RESET_TIME_MS); /* Restore the optional eye diagram optimization value */ - return tusb1210_ulpi_write(tusb, TUSB1210_VENDOR_SPECIFIC2, - tusb->vendor_specific2); + tusb1210_ulpi_write(tusb, TUSB1210_VENDOR_SPECIFIC2, tusb->vendor_specific2); + + return 0; } static int tusb1210_power_off(struct phy *phy) --- linux-gcp-5.19.0.orig/drivers/pinctrl/aspeed/pinctrl-aspeed.c +++ linux-gcp-5.19.0/drivers/pinctrl/aspeed/pinctrl-aspeed.c @@ -122,7 +122,7 @@ int ret = 0; if (!exprs) - return true; + return -EINVAL; while (*exprs && !ret) { ret = aspeed_sig_expr_disable(ctx, *exprs); --- linux-gcp-5.19.0.orig/drivers/pinctrl/bcm/pinctrl-bcm2835.c +++ linux-gcp-5.19.0/drivers/pinctrl/bcm/pinctrl-bcm2835.c @@ -363,8 +363,6 @@ { struct pinctrl_dev *pctldev = of_pinctrl_get(np); - of_node_put(np); - if (!pctldev) return 0; --- linux-gcp-5.19.0.orig/drivers/pinctrl/devicetree.c +++ linux-gcp-5.19.0/drivers/pinctrl/devicetree.c @@ -220,6 +220,8 @@ for (state = 0; ; state++) { /* Retrieve the pinctrl-* property */ propname = kasprintf(GFP_KERNEL, "pinctrl-%d", state); + if (!propname) + return -ENOMEM; prop = of_find_property(np, propname, &size); kfree(propname); if (!prop) { --- linux-gcp-5.19.0.orig/drivers/pinctrl/intel/pinctrl-intel.c +++ linux-gcp-5.19.0/drivers/pinctrl/intel/pinctrl-intel.c @@ -436,9 +436,14 @@ writel(value, padcfg0); } +static int __intel_gpio_get_gpio_mode(u32 value) +{ + return (value & PADCFG0_PMODE_MASK) >> PADCFG0_PMODE_SHIFT; +} + static int intel_gpio_get_gpio_mode(void __iomem *padcfg0) { - return (readl(padcfg0) & PADCFG0_PMODE_MASK) >> PADCFG0_PMODE_SHIFT; + return __intel_gpio_get_gpio_mode(readl(padcfg0)); } static void intel_gpio_set_gpio_mode(void __iomem *padcfg0) @@ -1641,16 +1646,14 @@ const struct intel_pinctrl_soc_data *intel_pinctrl_get_soc_data(struct platform_device *pdev) { + const struct intel_pinctrl_soc_data * const *table; const struct intel_pinctrl_soc_data *data = NULL; - const struct intel_pinctrl_soc_data **table; - struct acpi_device *adev; - unsigned int i; - adev = ACPI_COMPANION(&pdev->dev); - if (adev) { - const void *match = device_get_match_data(&pdev->dev); + table = device_get_match_data(&pdev->dev); + if (table) { + struct acpi_device *adev = ACPI_COMPANION(&pdev->dev); + unsigned int i; - table = (const struct intel_pinctrl_soc_data **)match; for (i = 0; table[i]; i++) { if (!strcmp(adev->pnp.unique_id, table[i]->uid)) { data = table[i]; @@ -1664,7 +1667,7 @@ if (!id) return ERR_PTR(-ENODEV); - table = (const struct intel_pinctrl_soc_data **)id->driver_data; + table = (const struct intel_pinctrl_soc_data * const *)id->driver_data; data = table[pdev->id]; } @@ -1673,9 +1676,16 @@ EXPORT_SYMBOL_GPL(intel_pinctrl_get_soc_data); #ifdef CONFIG_PM_SLEEP +static bool __intel_gpio_is_direct_irq(u32 value) +{ + return (value & PADCFG0_GPIROUTIOXAPIC) && (value & PADCFG0_GPIOTXDIS) && + (__intel_gpio_get_gpio_mode(value) == PADCFG0_PMODE_GPIO); +} + static bool intel_pinctrl_should_save(struct intel_pinctrl *pctrl, unsigned int pin) { const struct pin_desc *pd = pin_desc_get(pctrl->pctldev, pin); + u32 value; if (!pd || !intel_pad_usable(pctrl, pin)) return false; @@ -1690,6 +1700,24 @@ gpiochip_line_is_irq(&pctrl->chip, intel_pin_to_gpio(pctrl, pin))) return true; + /* + * The firmware on some systems may configure GPIO pins to be + * an interrupt source in so called "direct IRQ" mode. In such + * cases the GPIO controller driver has no idea if those pins + * are being used or not. At the same time, there is a known bug + * in the firmwares that don't restore the pin settings correctly + * after suspend, i.e. by an unknown reason the Rx value becomes + * inverted. + * + * Hence, let's save and restore the pins that are configured + * as GPIOs in the input mode with GPIROUTIOXAPIC bit set. + * + * See https://bugzilla.kernel.org/show_bug.cgi?id=214749. + */ + value = readl(intel_get_padcfg(pctrl, pin, PADCFG0)); + if (__intel_gpio_is_direct_irq(value)) + return true; + return false; } @@ -1817,7 +1845,12 @@ for (i = 0; i < pctrl->soc->npins; i++) { const struct pinctrl_pin_desc *desc = &pctrl->soc->pins[i]; - if (!intel_pinctrl_should_save(pctrl, desc->number)) + if (!(intel_pinctrl_should_save(pctrl, desc->number) || + /* + * If the firmware mangled the register contents too much, + * check the saved value for the Direct IRQ mode. + */ + __intel_gpio_is_direct_irq(pads[i].padcfg0))) continue; intel_restore_padcfg(pctrl, desc->number, PADCFG0, pads[i].padcfg0); --- linux-gcp-5.19.0.orig/drivers/pinctrl/mediatek/mtk-eint.c +++ linux-gcp-5.19.0/drivers/pinctrl/mediatek/mtk-eint.c @@ -287,12 +287,15 @@ static unsigned int mtk_eint_hw_init(struct mtk_eint *eint) { - void __iomem *reg = eint->base + eint->regs->dom_en; + void __iomem *dom_en = eint->base + eint->regs->dom_en; + void __iomem *mask_set = eint->base + eint->regs->mask_set; unsigned int i; for (i = 0; i < eint->hw->ap_num; i += 32) { - writel(0xffffffff, reg); - reg += 4; + writel(0xffffffff, dom_en); + writel(0xffffffff, mask_set); + dom_en += 4; + mask_set += 4; } return 0; --- linux-gcp-5.19.0.orig/drivers/pinctrl/mediatek/pinctrl-mt7986.c +++ linux-gcp-5.19.0/drivers/pinctrl/mediatek/pinctrl-mt7986.c @@ -316,10 +316,10 @@ PIN_FIELD_BASE(38, 38, IOCFG_LT_BASE, 0x30, 0x10, 9, 1), PIN_FIELD_BASE(39, 40, IOCFG_RB_BASE, 0x60, 0x10, 18, 1), PIN_FIELD_BASE(41, 41, IOCFG_RB_BASE, 0x60, 0x10, 12, 1), - PIN_FIELD_BASE(42, 43, IOCFG_RB_BASE, 0x60, 0x10, 22, 1), - PIN_FIELD_BASE(44, 45, IOCFG_RB_BASE, 0x60, 0x10, 20, 1), - PIN_FIELD_BASE(46, 47, IOCFG_RB_BASE, 0x60, 0x10, 26, 1), - PIN_FIELD_BASE(48, 49, IOCFG_RB_BASE, 0x60, 0x10, 24, 1), + PIN_FIELD_BASE(42, 43, IOCFG_RB_BASE, 0x60, 0x10, 23, 1), + PIN_FIELD_BASE(44, 45, IOCFG_RB_BASE, 0x60, 0x10, 21, 1), + PIN_FIELD_BASE(46, 47, IOCFG_RB_BASE, 0x60, 0x10, 27, 1), + PIN_FIELD_BASE(48, 49, IOCFG_RB_BASE, 0x60, 0x10, 25, 1), PIN_FIELD_BASE(50, 57, IOCFG_RT_BASE, 0x40, 0x10, 2, 1), PIN_FIELD_BASE(58, 58, IOCFG_RT_BASE, 0x40, 0x10, 1, 1), PIN_FIELD_BASE(59, 59, IOCFG_RT_BASE, 0x40, 0x10, 0, 1), @@ -354,10 +354,10 @@ PIN_FIELD_BASE(38, 38, IOCFG_LT_BASE, 0x40, 0x10, 9, 1), PIN_FIELD_BASE(39, 40, IOCFG_RB_BASE, 0x70, 0x10, 18, 1), PIN_FIELD_BASE(41, 41, IOCFG_RB_BASE, 0x70, 0x10, 12, 1), - PIN_FIELD_BASE(42, 43, IOCFG_RB_BASE, 0x70, 0x10, 22, 1), - PIN_FIELD_BASE(44, 45, IOCFG_RB_BASE, 0x70, 0x10, 20, 1), - PIN_FIELD_BASE(46, 47, IOCFG_RB_BASE, 0x70, 0x10, 26, 1), - PIN_FIELD_BASE(48, 49, IOCFG_RB_BASE, 0x70, 0x10, 24, 1), + PIN_FIELD_BASE(42, 43, IOCFG_RB_BASE, 0x70, 0x10, 23, 1), + PIN_FIELD_BASE(44, 45, IOCFG_RB_BASE, 0x70, 0x10, 21, 1), + PIN_FIELD_BASE(46, 47, IOCFG_RB_BASE, 0x70, 0x10, 27, 1), + PIN_FIELD_BASE(48, 49, IOCFG_RB_BASE, 0x70, 0x10, 25, 1), PIN_FIELD_BASE(50, 57, IOCFG_RT_BASE, 0x50, 0x10, 2, 1), PIN_FIELD_BASE(58, 58, IOCFG_RT_BASE, 0x50, 0x10, 1, 1), PIN_FIELD_BASE(59, 59, IOCFG_RT_BASE, 0x50, 0x10, 0, 1), @@ -392,10 +392,10 @@ PIN_FIELD_BASE(38, 38, IOCFG_LT_BASE, 0x50, 0x10, 9, 1), PIN_FIELD_BASE(39, 40, IOCFG_RB_BASE, 0x80, 0x10, 18, 1), PIN_FIELD_BASE(41, 41, IOCFG_RB_BASE, 0x80, 0x10, 12, 1), - PIN_FIELD_BASE(42, 43, IOCFG_RB_BASE, 0x80, 0x10, 22, 1), - PIN_FIELD_BASE(44, 45, IOCFG_RB_BASE, 0x80, 0x10, 20, 1), - PIN_FIELD_BASE(46, 47, IOCFG_RB_BASE, 0x80, 0x10, 26, 1), - PIN_FIELD_BASE(48, 49, IOCFG_RB_BASE, 0x80, 0x10, 24, 1), + PIN_FIELD_BASE(42, 43, IOCFG_RB_BASE, 0x80, 0x10, 23, 1), + PIN_FIELD_BASE(44, 45, IOCFG_RB_BASE, 0x80, 0x10, 21, 1), + PIN_FIELD_BASE(46, 47, IOCFG_RB_BASE, 0x80, 0x10, 27, 1), + PIN_FIELD_BASE(48, 49, IOCFG_RB_BASE, 0x80, 0x10, 25, 1), PIN_FIELD_BASE(50, 57, IOCFG_RT_BASE, 0x60, 0x10, 2, 1), PIN_FIELD_BASE(58, 58, IOCFG_RT_BASE, 0x60, 0x10, 1, 1), PIN_FIELD_BASE(59, 59, IOCFG_RT_BASE, 0x60, 0x10, 0, 1), --- linux-gcp-5.19.0.orig/drivers/pinctrl/mediatek/pinctrl-mt8195.c +++ linux-gcp-5.19.0/drivers/pinctrl/mediatek/pinctrl-mt8195.c @@ -659,7 +659,7 @@ PIN_FIELD_BASE(10, 10, 4, 0x010, 0x10, 9, 3), PIN_FIELD_BASE(11, 11, 4, 0x000, 0x10, 24, 3), PIN_FIELD_BASE(12, 12, 4, 0x010, 0x10, 12, 3), - PIN_FIELD_BASE(13, 13, 4, 0x010, 0x10, 27, 3), + PIN_FIELD_BASE(13, 13, 4, 0x000, 0x10, 27, 3), PIN_FIELD_BASE(14, 14, 4, 0x010, 0x10, 15, 3), PIN_FIELD_BASE(15, 15, 4, 0x010, 0x10, 0, 3), PIN_FIELD_BASE(16, 16, 4, 0x010, 0x10, 18, 3), @@ -708,7 +708,7 @@ PIN_FIELD_BASE(78, 78, 3, 0x000, 0x10, 15, 3), PIN_FIELD_BASE(79, 79, 3, 0x000, 0x10, 18, 3), PIN_FIELD_BASE(80, 80, 3, 0x000, 0x10, 21, 3), - PIN_FIELD_BASE(81, 81, 3, 0x000, 0x10, 28, 3), + PIN_FIELD_BASE(81, 81, 3, 0x000, 0x10, 24, 3), PIN_FIELD_BASE(82, 82, 3, 0x000, 0x10, 27, 3), PIN_FIELD_BASE(83, 83, 3, 0x010, 0x10, 0, 3), PIN_FIELD_BASE(84, 84, 3, 0x010, 0x10, 3, 3), --- linux-gcp-5.19.0.orig/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c +++ linux-gcp-5.19.0/drivers/pinctrl/mediatek/pinctrl-mtk-common-v2.c @@ -709,6 +709,9 @@ { int err, rsel_val; + if (!pullup && arg == MTK_DISABLE) + return 0; + if (hw->rsel_si_unit) { /* find pin rsel_index from pin_rsel array*/ err = mtk_hw_pin_rsel_lookup(hw, desc, pullup, arg, &rsel_val); --- linux-gcp-5.19.0.orig/drivers/pinctrl/mediatek/pinctrl-paris.c +++ linux-gcp-5.19.0/drivers/pinctrl/mediatek/pinctrl-paris.c @@ -635,7 +635,7 @@ ssize_t mtk_pctrl_show_one_pin(struct mtk_pinctrl *hw, unsigned int gpio, char *buf, unsigned int buf_len) { - int pinmux, pullup, pullen, len = 0, r1 = -1, r0 = -1, rsel = -1; + int pinmux, pullup = 0, pullen = 0, len = 0, r1 = -1, r0 = -1, rsel = -1; const struct mtk_pin_desc *desc; u32 try_all_type = 0; @@ -712,7 +712,7 @@ unsigned int gpio) { struct mtk_pinctrl *hw = pinctrl_dev_get_drvdata(pctldev); - char buf[PIN_DBG_BUF_SZ]; + char buf[PIN_DBG_BUF_SZ] = { 0 }; (void)mtk_pctrl_show_one_pin(hw, gpio, buf, PIN_DBG_BUF_SZ); --- linux-gcp-5.19.0.orig/drivers/pinctrl/nomadik/pinctrl-nomadik.c +++ linux-gcp-5.19.0/drivers/pinctrl/nomadik/pinctrl-nomadik.c @@ -1421,8 +1421,10 @@ has_config = nmk_pinctrl_dt_get_config(np, &configs); np_config = of_parse_phandle(np, "ste,config", 0); - if (np_config) + if (np_config) { has_config |= nmk_pinctrl_dt_get_config(np_config, &configs); + of_node_put(np_config); + } if (has_config) { const char *gpio_name; const char *pin; --- linux-gcp-5.19.0.orig/drivers/pinctrl/pinconf-generic.c +++ linux-gcp-5.19.0/drivers/pinctrl/pinconf-generic.c @@ -395,8 +395,10 @@ for_each_available_child_of_node(np_config, np) { ret = pinconf_generic_dt_subnode_to_map(pctldev, np, map, &reserved_maps, num_maps, type); - if (ret < 0) + if (ret < 0) { + of_node_put(np); goto exit; + } } return 0; --- linux-gcp-5.19.0.orig/drivers/pinctrl/pinctrl-amd.c +++ linux-gcp-5.19.0/drivers/pinctrl/pinctrl-amd.c @@ -632,13 +632,15 @@ /* Each status bit covers four pins */ for (i = 0; i < 4; i++) { regval = readl(regs + i); - /* caused wake on resume context for shared IRQ */ - if (irq < 0 && (regval & BIT(WAKE_STS_OFF))) { + + if (regval & PIN_IRQ_PENDING) dev_dbg(&gpio_dev->pdev->dev, - "Waking due to GPIO %d: 0x%x", + "GPIO %d is active: 0x%x", irqnr + i, regval); + + /* caused wake on resume context for shared IRQ */ + if (irq < 0 && (regval & BIT(WAKE_STS_OFF))) return true; - } if (!(regval & PIN_IRQ_PENDING) || !(regval & BIT(INTERRUPT_MASK_OFF))) @@ -917,6 +919,7 @@ { struct amd_gpio *gpio_dev = dev_get_drvdata(dev); struct pinctrl_desc *desc = gpio_dev->pctrl->desc; + unsigned long flags; int i; for (i = 0; i < desc->npins; i++) { @@ -925,7 +928,9 @@ if (!amd_gpio_should_save(gpio_dev, pin)) continue; - gpio_dev->saved_regs[i] = readl(gpio_dev->base + pin*4); + raw_spin_lock_irqsave(&gpio_dev->lock, flags); + gpio_dev->saved_regs[i] = readl(gpio_dev->base + pin * 4) & ~PIN_IRQ_PENDING; + raw_spin_unlock_irqrestore(&gpio_dev->lock, flags); } return 0; @@ -935,6 +940,7 @@ { struct amd_gpio *gpio_dev = dev_get_drvdata(dev); struct pinctrl_desc *desc = gpio_dev->pctrl->desc; + unsigned long flags; int i; for (i = 0; i < desc->npins; i++) { @@ -943,7 +949,10 @@ if (!amd_gpio_should_save(gpio_dev, pin)) continue; - writel(gpio_dev->saved_regs[i], gpio_dev->base + pin*4); + raw_spin_lock_irqsave(&gpio_dev->lock, flags); + gpio_dev->saved_regs[i] |= readl(gpio_dev->base + pin * 4) & PIN_IRQ_PENDING; + writel(gpio_dev->saved_regs[i], gpio_dev->base + pin * 4); + raw_spin_unlock_irqrestore(&gpio_dev->lock, flags); } return 0; --- linux-gcp-5.19.0.orig/drivers/pinctrl/pinctrl-at91-pio4.c +++ linux-gcp-5.19.0/drivers/pinctrl/pinctrl-at91-pio4.c @@ -1125,8 +1125,8 @@ pin_desc[i].number = i; /* Pin naming convention: P(bank_name)(bank_pin_number). */ - pin_desc[i].name = kasprintf(GFP_KERNEL, "P%c%d", - bank + 'A', line); + pin_desc[i].name = devm_kasprintf(&pdev->dev, GFP_KERNEL, "P%c%d", + bank + 'A', line); group->name = group_names[i] = pin_desc[i].name; group->pin = pin_desc[i].number; --- linux-gcp-5.19.0.orig/drivers/pinctrl/pinctrl-at91.c +++ linux-gcp-5.19.0/drivers/pinctrl/pinctrl-at91.c @@ -1890,7 +1890,7 @@ } for (i = 0; i < chip->ngpio; i++) - names[i] = kasprintf(GFP_KERNEL, "pio%c%d", alias_idx + 'A', i); + names[i] = devm_kasprintf(&pdev->dev, GFP_KERNEL, "pio%c%d", alias_idx + 'A', i); chip->names = (const char *const *)names; --- linux-gcp-5.19.0.orig/drivers/pinctrl/pinctrl-ingenic.c +++ linux-gcp-5.19.0/drivers/pinctrl/pinctrl-ingenic.c @@ -667,7 +667,7 @@ static const struct group_desc jz4755_groups[] = { INGENIC_PIN_GROUP("uart0-data", jz4755_uart0_data, 0), INGENIC_PIN_GROUP("uart0-hwflow", jz4755_uart0_hwflow, 0), - INGENIC_PIN_GROUP("uart1-data", jz4755_uart1_data, 0), + INGENIC_PIN_GROUP("uart1-data", jz4755_uart1_data, 1), INGENIC_PIN_GROUP("uart2-data", jz4755_uart2_data, 1), INGENIC_PIN_GROUP("ssi-dt-b", jz4755_ssi_dt_b, 0), INGENIC_PIN_GROUP("ssi-dt-f", jz4755_ssi_dt_f, 0), @@ -721,7 +721,7 @@ "ssi-ce1-b", "ssi-ce1-f", }; static const char *jz4755_mmc0_groups[] = { "mmc0-1bit", "mmc0-4bit", }; -static const char *jz4755_mmc1_groups[] = { "mmc0-1bit", "mmc0-4bit", }; +static const char *jz4755_mmc1_groups[] = { "mmc1-1bit", "mmc1-4bit", }; static const char *jz4755_i2c_groups[] = { "i2c-data", }; static const char *jz4755_cim_groups[] = { "cim-data", }; static const char *jz4755_lcd_groups[] = { --- linux-gcp-5.19.0.orig/drivers/pinctrl/pinctrl-k210.c +++ linux-gcp-5.19.0/drivers/pinctrl/pinctrl-k210.c @@ -862,8 +862,10 @@ for_each_available_child_of_node(np_config, np) { ret = k210_pinctrl_dt_subnode_to_map(pctldev, np, map, &reserved_maps, num_maps); - if (ret < 0) + if (ret < 0) { + of_node_put(np); goto err; + } } return 0; --- linux-gcp-5.19.0.orig/drivers/pinctrl/pinctrl-rockchip.c +++ linux-gcp-5.19.0/drivers/pinctrl/pinctrl-rockchip.c @@ -632,14 +632,54 @@ } static struct rockchip_mux_route_data px30_mux_route_data[] = { + RK_MUXROUTE_SAME(2, RK_PB4, 1, 0x184, BIT(16 + 7)), /* cif-d0m0 */ + RK_MUXROUTE_SAME(3, RK_PA1, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d0m1 */ + RK_MUXROUTE_SAME(2, RK_PB6, 1, 0x184, BIT(16 + 7)), /* cif-d1m0 */ + RK_MUXROUTE_SAME(3, RK_PA2, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d1m1 */ RK_MUXROUTE_SAME(2, RK_PA0, 1, 0x184, BIT(16 + 7)), /* cif-d2m0 */ RK_MUXROUTE_SAME(3, RK_PA3, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d2m1 */ + RK_MUXROUTE_SAME(2, RK_PA1, 1, 0x184, BIT(16 + 7)), /* cif-d3m0 */ + RK_MUXROUTE_SAME(3, RK_PA5, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d3m1 */ + RK_MUXROUTE_SAME(2, RK_PA2, 1, 0x184, BIT(16 + 7)), /* cif-d4m0 */ + RK_MUXROUTE_SAME(3, RK_PA7, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d4m1 */ + RK_MUXROUTE_SAME(2, RK_PA3, 1, 0x184, BIT(16 + 7)), /* cif-d5m0 */ + RK_MUXROUTE_SAME(3, RK_PB0, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d5m1 */ + RK_MUXROUTE_SAME(2, RK_PA4, 1, 0x184, BIT(16 + 7)), /* cif-d6m0 */ + RK_MUXROUTE_SAME(3, RK_PB1, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d6m1 */ + RK_MUXROUTE_SAME(2, RK_PA5, 1, 0x184, BIT(16 + 7)), /* cif-d7m0 */ + RK_MUXROUTE_SAME(3, RK_PB4, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d7m1 */ + RK_MUXROUTE_SAME(2, RK_PA6, 1, 0x184, BIT(16 + 7)), /* cif-d8m0 */ + RK_MUXROUTE_SAME(3, RK_PB6, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d8m1 */ + RK_MUXROUTE_SAME(2, RK_PA7, 1, 0x184, BIT(16 + 7)), /* cif-d9m0 */ + RK_MUXROUTE_SAME(3, RK_PB7, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d9m1 */ + RK_MUXROUTE_SAME(2, RK_PB7, 1, 0x184, BIT(16 + 7)), /* cif-d10m0 */ + RK_MUXROUTE_SAME(3, RK_PC6, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d10m1 */ + RK_MUXROUTE_SAME(2, RK_PC0, 1, 0x184, BIT(16 + 7)), /* cif-d11m0 */ + RK_MUXROUTE_SAME(3, RK_PC7, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-d11m1 */ + RK_MUXROUTE_SAME(2, RK_PB0, 1, 0x184, BIT(16 + 7)), /* cif-vsyncm0 */ + RK_MUXROUTE_SAME(3, RK_PD1, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-vsyncm1 */ + RK_MUXROUTE_SAME(2, RK_PB1, 1, 0x184, BIT(16 + 7)), /* cif-hrefm0 */ + RK_MUXROUTE_SAME(3, RK_PD2, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-hrefm1 */ + RK_MUXROUTE_SAME(2, RK_PB2, 1, 0x184, BIT(16 + 7)), /* cif-clkinm0 */ + RK_MUXROUTE_SAME(3, RK_PD3, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-clkinm1 */ + RK_MUXROUTE_SAME(2, RK_PB3, 1, 0x184, BIT(16 + 7)), /* cif-clkoutm0 */ + RK_MUXROUTE_SAME(3, RK_PD0, 3, 0x184, BIT(16 + 7) | BIT(7)), /* cif-clkoutm1 */ RK_MUXROUTE_SAME(3, RK_PC6, 2, 0x184, BIT(16 + 8)), /* pdm-m0 */ RK_MUXROUTE_SAME(2, RK_PC6, 1, 0x184, BIT(16 + 8) | BIT(8)), /* pdm-m1 */ + RK_MUXROUTE_SAME(3, RK_PD3, 2, 0x184, BIT(16 + 8)), /* pdm-sdi0m0 */ + RK_MUXROUTE_SAME(2, RK_PC5, 2, 0x184, BIT(16 + 8) | BIT(8)), /* pdm-sdi0m1 */ RK_MUXROUTE_SAME(1, RK_PD3, 2, 0x184, BIT(16 + 10)), /* uart2-rxm0 */ RK_MUXROUTE_SAME(2, RK_PB6, 2, 0x184, BIT(16 + 10) | BIT(10)), /* uart2-rxm1 */ + RK_MUXROUTE_SAME(1, RK_PD2, 2, 0x184, BIT(16 + 10)), /* uart2-txm0 */ + RK_MUXROUTE_SAME(2, RK_PB4, 2, 0x184, BIT(16 + 10) | BIT(10)), /* uart2-txm1 */ RK_MUXROUTE_SAME(0, RK_PC1, 2, 0x184, BIT(16 + 9)), /* uart3-rxm0 */ RK_MUXROUTE_SAME(1, RK_PB7, 2, 0x184, BIT(16 + 9) | BIT(9)), /* uart3-rxm1 */ + RK_MUXROUTE_SAME(0, RK_PC0, 2, 0x184, BIT(16 + 9)), /* uart3-txm0 */ + RK_MUXROUTE_SAME(1, RK_PB6, 2, 0x184, BIT(16 + 9) | BIT(9)), /* uart3-txm1 */ + RK_MUXROUTE_SAME(0, RK_PC2, 2, 0x184, BIT(16 + 9)), /* uart3-ctsm0 */ + RK_MUXROUTE_SAME(1, RK_PB4, 2, 0x184, BIT(16 + 9) | BIT(9)), /* uart3-ctsm1 */ + RK_MUXROUTE_SAME(0, RK_PC3, 2, 0x184, BIT(16 + 9)), /* uart3-rtsm0 */ + RK_MUXROUTE_SAME(1, RK_PB5, 2, 0x184, BIT(16 + 9) | BIT(9)), /* uart3-rtsm1 */ }; static struct rockchip_mux_route_data rk3128_mux_route_data[] = { @@ -742,19 +782,19 @@ RK_MUXROUTE_PMU(0, RK_PB5, 4, 0x0110, WRITE_MASK_VAL(3, 2, 1)), /* PWM1 IO mux M1 */ RK_MUXROUTE_PMU(0, RK_PC1, 1, 0x0110, WRITE_MASK_VAL(5, 4, 0)), /* PWM2 IO mux M0 */ RK_MUXROUTE_PMU(0, RK_PB6, 4, 0x0110, WRITE_MASK_VAL(5, 4, 1)), /* PWM2 IO mux M1 */ - RK_MUXROUTE_PMU(0, RK_PB3, 2, 0x0300, WRITE_MASK_VAL(0, 0, 0)), /* CAN0 IO mux M0 */ + RK_MUXROUTE_GRF(0, RK_PB3, 2, 0x0300, WRITE_MASK_VAL(0, 0, 0)), /* CAN0 IO mux M0 */ RK_MUXROUTE_GRF(2, RK_PA1, 4, 0x0300, WRITE_MASK_VAL(0, 0, 1)), /* CAN0 IO mux M1 */ RK_MUXROUTE_GRF(1, RK_PA1, 3, 0x0300, WRITE_MASK_VAL(2, 2, 0)), /* CAN1 IO mux M0 */ RK_MUXROUTE_GRF(4, RK_PC3, 3, 0x0300, WRITE_MASK_VAL(2, 2, 1)), /* CAN1 IO mux M1 */ RK_MUXROUTE_GRF(4, RK_PB5, 3, 0x0300, WRITE_MASK_VAL(4, 4, 0)), /* CAN2 IO mux M0 */ RK_MUXROUTE_GRF(2, RK_PB2, 4, 0x0300, WRITE_MASK_VAL(4, 4, 1)), /* CAN2 IO mux M1 */ RK_MUXROUTE_GRF(4, RK_PC4, 1, 0x0300, WRITE_MASK_VAL(6, 6, 0)), /* HPDIN IO mux M0 */ - RK_MUXROUTE_PMU(0, RK_PC2, 2, 0x0300, WRITE_MASK_VAL(6, 6, 1)), /* HPDIN IO mux M1 */ + RK_MUXROUTE_GRF(0, RK_PC2, 2, 0x0300, WRITE_MASK_VAL(6, 6, 1)), /* HPDIN IO mux M1 */ RK_MUXROUTE_GRF(3, RK_PB1, 3, 0x0300, WRITE_MASK_VAL(8, 8, 0)), /* GMAC1 IO mux M0 */ RK_MUXROUTE_GRF(4, RK_PA7, 3, 0x0300, WRITE_MASK_VAL(8, 8, 1)), /* GMAC1 IO mux M1 */ RK_MUXROUTE_GRF(4, RK_PD1, 1, 0x0300, WRITE_MASK_VAL(10, 10, 0)), /* HDMITX IO mux M0 */ - RK_MUXROUTE_PMU(0, RK_PC7, 1, 0x0300, WRITE_MASK_VAL(10, 10, 1)), /* HDMITX IO mux M1 */ - RK_MUXROUTE_PMU(0, RK_PB6, 1, 0x0300, WRITE_MASK_VAL(14, 14, 0)), /* I2C2 IO mux M0 */ + RK_MUXROUTE_GRF(0, RK_PC7, 1, 0x0300, WRITE_MASK_VAL(10, 10, 1)), /* HDMITX IO mux M1 */ + RK_MUXROUTE_GRF(0, RK_PB6, 1, 0x0300, WRITE_MASK_VAL(14, 14, 0)), /* I2C2 IO mux M0 */ RK_MUXROUTE_GRF(4, RK_PB4, 1, 0x0300, WRITE_MASK_VAL(14, 14, 1)), /* I2C2 IO mux M1 */ RK_MUXROUTE_GRF(1, RK_PA0, 1, 0x0304, WRITE_MASK_VAL(0, 0, 0)), /* I2C3 IO mux M0 */ RK_MUXROUTE_GRF(3, RK_PB6, 4, 0x0304, WRITE_MASK_VAL(0, 0, 1)), /* I2C3 IO mux M1 */ @@ -780,7 +820,7 @@ RK_MUXROUTE_GRF(4, RK_PC3, 1, 0x0308, WRITE_MASK_VAL(12, 12, 1)), /* PWM15 IO mux M1 */ RK_MUXROUTE_GRF(3, RK_PD2, 3, 0x0308, WRITE_MASK_VAL(14, 14, 0)), /* SDMMC2 IO mux M0 */ RK_MUXROUTE_GRF(3, RK_PA5, 5, 0x0308, WRITE_MASK_VAL(14, 14, 1)), /* SDMMC2 IO mux M1 */ - RK_MUXROUTE_PMU(0, RK_PB5, 2, 0x030c, WRITE_MASK_VAL(0, 0, 0)), /* SPI0 IO mux M0 */ + RK_MUXROUTE_GRF(0, RK_PB5, 2, 0x030c, WRITE_MASK_VAL(0, 0, 0)), /* SPI0 IO mux M0 */ RK_MUXROUTE_GRF(2, RK_PD3, 3, 0x030c, WRITE_MASK_VAL(0, 0, 1)), /* SPI0 IO mux M1 */ RK_MUXROUTE_GRF(2, RK_PB5, 3, 0x030c, WRITE_MASK_VAL(2, 2, 0)), /* SPI1 IO mux M0 */ RK_MUXROUTE_GRF(3, RK_PC3, 3, 0x030c, WRITE_MASK_VAL(2, 2, 1)), /* SPI1 IO mux M1 */ @@ -789,8 +829,8 @@ RK_MUXROUTE_GRF(4, RK_PB3, 4, 0x030c, WRITE_MASK_VAL(6, 6, 0)), /* SPI3 IO mux M0 */ RK_MUXROUTE_GRF(4, RK_PC2, 2, 0x030c, WRITE_MASK_VAL(6, 6, 1)), /* SPI3 IO mux M1 */ RK_MUXROUTE_GRF(2, RK_PB4, 2, 0x030c, WRITE_MASK_VAL(8, 8, 0)), /* UART1 IO mux M0 */ - RK_MUXROUTE_PMU(0, RK_PD1, 1, 0x030c, WRITE_MASK_VAL(8, 8, 1)), /* UART1 IO mux M1 */ - RK_MUXROUTE_PMU(0, RK_PD1, 1, 0x030c, WRITE_MASK_VAL(10, 10, 0)), /* UART2 IO mux M0 */ + RK_MUXROUTE_GRF(3, RK_PD6, 4, 0x030c, WRITE_MASK_VAL(8, 8, 1)), /* UART1 IO mux M1 */ + RK_MUXROUTE_GRF(0, RK_PD1, 1, 0x030c, WRITE_MASK_VAL(10, 10, 0)), /* UART2 IO mux M0 */ RK_MUXROUTE_GRF(1, RK_PD5, 2, 0x030c, WRITE_MASK_VAL(10, 10, 1)), /* UART2 IO mux M1 */ RK_MUXROUTE_GRF(1, RK_PA1, 2, 0x030c, WRITE_MASK_VAL(12, 12, 0)), /* UART3 IO mux M0 */ RK_MUXROUTE_GRF(3, RK_PB7, 4, 0x030c, WRITE_MASK_VAL(12, 12, 1)), /* UART3 IO mux M1 */ @@ -820,13 +860,13 @@ RK_MUXROUTE_GRF(3, RK_PD6, 5, 0x0314, WRITE_MASK_VAL(1, 0, 1)), /* PDM IO mux M1 */ RK_MUXROUTE_GRF(4, RK_PA0, 4, 0x0314, WRITE_MASK_VAL(1, 0, 1)), /* PDM IO mux M1 */ RK_MUXROUTE_GRF(3, RK_PC4, 5, 0x0314, WRITE_MASK_VAL(1, 0, 2)), /* PDM IO mux M2 */ - RK_MUXROUTE_PMU(0, RK_PA5, 3, 0x0314, WRITE_MASK_VAL(3, 2, 0)), /* PCIE20 IO mux M0 */ + RK_MUXROUTE_GRF(0, RK_PA5, 3, 0x0314, WRITE_MASK_VAL(3, 2, 0)), /* PCIE20 IO mux M0 */ RK_MUXROUTE_GRF(2, RK_PD0, 4, 0x0314, WRITE_MASK_VAL(3, 2, 1)), /* PCIE20 IO mux M1 */ RK_MUXROUTE_GRF(1, RK_PB0, 4, 0x0314, WRITE_MASK_VAL(3, 2, 2)), /* PCIE20 IO mux M2 */ - RK_MUXROUTE_PMU(0, RK_PA4, 3, 0x0314, WRITE_MASK_VAL(5, 4, 0)), /* PCIE30X1 IO mux M0 */ + RK_MUXROUTE_GRF(0, RK_PA4, 3, 0x0314, WRITE_MASK_VAL(5, 4, 0)), /* PCIE30X1 IO mux M0 */ RK_MUXROUTE_GRF(2, RK_PD2, 4, 0x0314, WRITE_MASK_VAL(5, 4, 1)), /* PCIE30X1 IO mux M1 */ RK_MUXROUTE_GRF(1, RK_PA5, 4, 0x0314, WRITE_MASK_VAL(5, 4, 2)), /* PCIE30X1 IO mux M2 */ - RK_MUXROUTE_PMU(0, RK_PA6, 2, 0x0314, WRITE_MASK_VAL(7, 6, 0)), /* PCIE30X2 IO mux M0 */ + RK_MUXROUTE_GRF(0, RK_PA6, 2, 0x0314, WRITE_MASK_VAL(7, 6, 0)), /* PCIE30X2 IO mux M0 */ RK_MUXROUTE_GRF(2, RK_PD4, 4, 0x0314, WRITE_MASK_VAL(7, 6, 1)), /* PCIE30X2 IO mux M1 */ RK_MUXROUTE_GRF(4, RK_PC2, 4, 0x0314, WRITE_MASK_VAL(7, 6, 2)), /* PCIE30X2 IO mux M2 */ }; @@ -2125,10 +2165,19 @@ case RK3308: case RK3368: case RK3399: + case RK3568: case RK3588: pull_type = bank->pull_type[pin_num / 8]; data >>= bit; data &= (1 << RK3188_PULL_BITS_PER_PIN) - 1; + /* + * In the TRM, pull-up being 1 for everything except the GPIO0_D3-D6, + * where that pull up value becomes 3. + */ + if (ctrl->type == RK3568 && bank->bank_num == 0 && pin_num >= 27 && pin_num <= 30) { + if (data == 3) + data = 1; + } return rockchip_pull_list[pull_type][data]; default: @@ -2185,7 +2234,7 @@ } } /* - * In the TRM, pull-up being 1 for everything except the GPIO0_D0-D6, + * In the TRM, pull-up being 1 for everything except the GPIO0_D3-D6, * where that pull up value becomes 3. */ if (ctrl->type == RK3568 && bank->bank_num == 0 && pin_num >= 27 && pin_num <= 30) { @@ -2393,11 +2442,24 @@ return 0; } +static int rockchip_pmx_gpio_set_direction(struct pinctrl_dev *pctldev, + struct pinctrl_gpio_range *range, + unsigned offset, + bool input) +{ + struct rockchip_pinctrl *info = pinctrl_dev_get_drvdata(pctldev); + struct rockchip_pin_bank *bank; + + bank = pin_to_bank(info, offset); + return rockchip_set_mux(bank, offset - bank->pin_base, RK_FUNC_GPIO); +} + static const struct pinmux_ops rockchip_pmx_ops = { .get_functions_count = rockchip_pmx_get_funcs_count, .get_function_name = rockchip_pmx_get_func_name, .get_function_groups = rockchip_pmx_get_groups, .set_mux = rockchip_pmx_set, + .gpio_set_direction = rockchip_pmx_gpio_set_direction, }; /* @@ -2710,6 +2772,7 @@ np_config = of_find_node_by_phandle(be32_to_cpup(phandle)); ret = pinconf_generic_parse_dt_config(np_config, NULL, &grp->data[j].configs, &grp->data[j].nconfigs); + of_node_put(np_config); if (ret) return ret; } --- linux-gcp-5.19.0.orig/drivers/pinctrl/pinctrl-single.c +++ linux-gcp-5.19.0/drivers/pinctrl/pinctrl-single.c @@ -372,6 +372,8 @@ if (!pcs->fmask) return 0; function = pinmux_generic_get_function(pctldev, fselector); + if (!function) + return -EINVAL; func = function->data; if (!func) return -EINVAL; @@ -727,7 +729,7 @@ mux_bytes = pcs->width / BITS_PER_BYTE; - if (pcs->bits_per_mux) { + if (pcs->bits_per_mux && pcs->fmask) { pcs->bits_per_pin = fls(pcs->fmask); nr_pins = (pcs->size * BITS_PER_BYTE) / pcs->bits_per_pin; } else { --- linux-gcp-5.19.0.orig/drivers/pinctrl/pinctrl-thunderbay.c +++ linux-gcp-5.19.0/drivers/pinctrl/pinctrl-thunderbay.c @@ -808,7 +808,7 @@ funcs[i].num_group_names, funcs[i].data); } - kfree(funcs); + return 0; } @@ -817,6 +817,7 @@ struct function_desc *thunderbay_funcs; void *ptr; int pin; + int ret; /* * Allocate maximum possible number of functions. Assume every pin @@ -860,7 +861,10 @@ return -ENOMEM; thunderbay_funcs = ptr; - return thunderbay_add_functions(tpc, thunderbay_funcs); + ret = thunderbay_add_functions(tpc, thunderbay_funcs); + + kfree(thunderbay_funcs); + return ret; } static int thunderbay_pinconf_set_tristate(struct thunderbay_pinctrl *tpc, --- linux-gcp-5.19.0.orig/drivers/pinctrl/qcom/pinctrl-msm.c +++ linux-gcp-5.19.0/drivers/pinctrl/qcom/pinctrl-msm.c @@ -51,6 +51,7 @@ * detection. * @skip_wake_irqs: Skip IRQs that are handled by wakeup interrupt controller * @disabled_for_mux: These IRQs were disabled because we muxed away. + * @ever_gpio: This bit is set the first time we mux a pin to gpio_func. * @soc: Reference to soc_data of platform specific data. * @regs: Base addresses for the TLMM tiles. * @phys_base: Physical base address @@ -72,6 +73,7 @@ DECLARE_BITMAP(enabled_irqs, MAX_NR_GPIO); DECLARE_BITMAP(skip_wake_irqs, MAX_NR_GPIO); DECLARE_BITMAP(disabled_for_mux, MAX_NR_GPIO); + DECLARE_BITMAP(ever_gpio, MAX_NR_GPIO); const struct msm_pinctrl_soc_data *soc; void __iomem *regs[MAX_NR_TILES]; @@ -218,6 +220,25 @@ val = msm_readl_ctl(pctrl, g); + /* + * If this is the first time muxing to GPIO and the direction is + * output, make sure that we're not going to be glitching the pin + * by reading the current state of the pin and setting it as the + * output. + */ + if (i == gpio_func && (val & BIT(g->oe_bit)) && + !test_and_set_bit(group, pctrl->ever_gpio)) { + u32 io_val = msm_readl_io(pctrl, g); + + if (io_val & BIT(g->in_bit)) { + if (!(io_val & BIT(g->out_bit))) + msm_writel_io(io_val | BIT(g->out_bit), pctrl, g); + } else { + if (io_val & BIT(g->out_bit)) + msm_writel_io(io_val & ~BIT(g->out_bit), pctrl, g); + } + } + if (egpio_func && i == egpio_func) { if (val & BIT(g->egpio_present)) val &= ~BIT(g->egpio_enable); --- linux-gcp-5.19.0.orig/drivers/pinctrl/qcom/pinctrl-msm8916.c +++ linux-gcp-5.19.0/drivers/pinctrl/qcom/pinctrl-msm8916.c @@ -844,8 +844,8 @@ PINGROUP(28, pwr_modem_enabled_a, NA, NA, NA, NA, NA, qdss_tracedata_b, NA, atest_combodac), PINGROUP(29, cci_i2c, NA, NA, NA, NA, NA, qdss_tracedata_b, NA, atest_combodac), PINGROUP(30, cci_i2c, NA, NA, NA, NA, NA, NA, NA, qdss_tracedata_b), - PINGROUP(31, cci_timer0, NA, NA, NA, NA, NA, NA, NA, NA), - PINGROUP(32, cci_timer1, NA, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(31, cci_timer0, flash_strobe, NA, NA, NA, NA, NA, NA, NA), + PINGROUP(32, cci_timer1, flash_strobe, NA, NA, NA, NA, NA, NA, NA), PINGROUP(33, cci_async, NA, NA, NA, NA, NA, NA, NA, qdss_tracedata_b), PINGROUP(34, pwr_nav_enabled_a, NA, NA, NA, NA, NA, NA, NA, qdss_tracedata_b), PINGROUP(35, pwr_crypto_enabled_a, NA, NA, NA, NA, NA, NA, NA, qdss_tracedata_b), --- linux-gcp-5.19.0.orig/drivers/pinctrl/qcom/pinctrl-msm8976.c +++ linux-gcp-5.19.0/drivers/pinctrl/qcom/pinctrl-msm8976.c @@ -733,7 +733,7 @@ "gpio74", }; static const char * const wcss_bt_groups[] = { - "gpio39", "gpio47", "gpio88", + "gpio39", "gpio47", "gpio48", }; static const char * const sdc3_groups[] = { "gpio39", "gpio40", "gpio41", @@ -958,9 +958,9 @@ PINGROUP(37, NA, NA, NA, qdss_tracedata_b, NA, NA, NA, NA, NA), PINGROUP(38, NA, NA, NA, NA, NA, NA, NA, qdss_tracedata_b, NA), PINGROUP(39, wcss_bt, sdc3, NA, qdss_tracedata_a, NA, NA, NA, NA, NA), - PINGROUP(40, wcss_wlan, sdc3, NA, qdss_tracedata_a, NA, NA, NA, NA, NA), - PINGROUP(41, wcss_wlan, sdc3, NA, qdss_tracedata_a, NA, NA, NA, NA, NA), - PINGROUP(42, wcss_wlan, sdc3, NA, qdss_tracedata_a, NA, NA, NA, NA, NA), + PINGROUP(40, wcss_wlan2, sdc3, NA, qdss_tracedata_a, NA, NA, NA, NA, NA), + PINGROUP(41, wcss_wlan1, sdc3, NA, qdss_tracedata_a, NA, NA, NA, NA, NA), + PINGROUP(42, wcss_wlan0, sdc3, NA, qdss_tracedata_a, NA, NA, NA, NA, NA), PINGROUP(43, wcss_wlan, sdc3, NA, NA, qdss_tracedata_a, NA, NA, NA, NA), PINGROUP(44, wcss_wlan, sdc3, NA, NA, NA, NA, NA, NA, NA), PINGROUP(45, wcss_fm, NA, qdss_tracectl_a, NA, NA, NA, NA, NA, NA), --- linux-gcp-5.19.0.orig/drivers/pinctrl/qcom/pinctrl-sc8180x.c +++ linux-gcp-5.19.0/drivers/pinctrl/qcom/pinctrl-sc8180x.c @@ -530,10 +530,10 @@ DECLARE_MSM_GPIO_PINS(188); DECLARE_MSM_GPIO_PINS(189); -static const unsigned int sdc2_clk_pins[] = { 190 }; -static const unsigned int sdc2_cmd_pins[] = { 191 }; -static const unsigned int sdc2_data_pins[] = { 192 }; -static const unsigned int ufs_reset_pins[] = { 193 }; +static const unsigned int ufs_reset_pins[] = { 190 }; +static const unsigned int sdc2_clk_pins[] = { 191 }; +static const unsigned int sdc2_cmd_pins[] = { 192 }; +static const unsigned int sdc2_data_pins[] = { 193 }; enum sc8180x_functions { msm_mux_adsp_ext, @@ -1582,7 +1582,7 @@ static const struct msm_gpio_wakeirq_map sc8180x_pdc_map[] = { { 3, 31 }, { 5, 32 }, { 8, 33 }, { 9, 34 }, { 10, 100 }, { 12, 104 }, { 24, 37 }, { 26, 38 }, { 27, 41 }, { 28, 42 }, { 30, 39 }, { 36, 43 }, - { 37, 43 }, { 38, 45 }, { 39, 118 }, { 39, 125 }, { 41, 47 }, + { 37, 44 }, { 38, 45 }, { 39, 118 }, { 39, 125 }, { 41, 47 }, { 42, 48 }, { 46, 50 }, { 47, 49 }, { 48, 51 }, { 49, 53 }, { 50, 52 }, { 51, 116 }, { 51, 123 }, { 53, 54 }, { 54, 55 }, { 55, 56 }, { 56, 57 }, { 58, 58 }, { 60, 60 }, { 68, 62 }, { 70, 63 }, { 76, 86 }, --- linux-gcp-5.19.0.orig/drivers/pinctrl/qcom/pinctrl-sc8280xp.c +++ linux-gcp-5.19.0/drivers/pinctrl/qcom/pinctrl-sc8280xp.c @@ -1873,8 +1873,8 @@ [225] = PINGROUP(225, hs3_mi2s, phase_flag, _, _, _, _, egpio), [226] = PINGROUP(226, hs3_mi2s, phase_flag, _, _, _, _, egpio), [227] = PINGROUP(227, hs3_mi2s, phase_flag, _, _, _, _, egpio), - [228] = UFS_RESET(ufs_reset, 0xf1004), - [229] = UFS_RESET(ufs1_reset, 0xf3004), + [228] = UFS_RESET(ufs_reset, 0xf1000), + [229] = UFS_RESET(ufs1_reset, 0xf3000), [230] = SDC_QDSD_PINGROUP(sdc2_clk, 0xe8000, 14, 6), [231] = SDC_QDSD_PINGROUP(sdc2_cmd, 0xe8000, 11, 3), [232] = SDC_QDSD_PINGROUP(sdc2_data, 0xe8000, 9, 0), --- linux-gcp-5.19.0.orig/drivers/pinctrl/qcom/pinctrl-sm8250.c +++ linux-gcp-5.19.0/drivers/pinctrl/qcom/pinctrl-sm8250.c @@ -1316,7 +1316,7 @@ static const struct msm_gpio_wakeirq_map sm8250_pdc_map[] = { { 0, 79 }, { 1, 84 }, { 2, 80 }, { 3, 82 }, { 4, 107 }, { 7, 43 }, { 11, 42 }, { 14, 44 }, { 15, 52 }, { 19, 67 }, { 23, 68 }, { 24, 105 }, - { 27, 92 }, { 28, 106 }, { 31, 69 }, { 35, 70 }, { 39, 37 }, + { 27, 92 }, { 28, 106 }, { 31, 69 }, { 35, 70 }, { 39, 73 }, { 40, 108 }, { 43, 71 }, { 45, 72 }, { 47, 83 }, { 51, 74 }, { 55, 77 }, { 59, 78 }, { 63, 75 }, { 64, 81 }, { 65, 87 }, { 66, 88 }, { 67, 89 }, { 68, 54 }, { 70, 85 }, { 77, 46 }, { 80, 90 }, { 81, 91 }, { 83, 97 }, --- linux-gcp-5.19.0.orig/drivers/pinctrl/renesas/pinctrl-rzg2l.c +++ linux-gcp-5.19.0/drivers/pinctrl/renesas/pinctrl-rzg2l.c @@ -517,6 +517,8 @@ if (!(cfg & PIN_CFG_IEN)) return -EINVAL; arg = rzg2l_read_pin_config(pctrl, IEN(port_offset), bit, IEN_MASK); + if (!arg) + return -EINVAL; break; case PIN_CONFIG_POWER_SOURCE: { --- linux-gcp-5.19.0.orig/drivers/pinctrl/stm32/pinctrl-stm32.c +++ linux-gcp-5.19.0/drivers/pinctrl/stm32/pinctrl-stm32.c @@ -1380,6 +1380,7 @@ return ERR_PTR(-ENXIO); domain = irq_find_host(parent); + of_node_put(parent); if (!domain) /* domain not registered yet */ return ERR_PTR(-EPROBE_DEFER); --- linux-gcp-5.19.0.orig/drivers/pinctrl/sunxi/pinctrl-sun50i-a100-r.c +++ linux-gcp-5.19.0/drivers/pinctrl/sunxi/pinctrl-sun50i-a100-r.c @@ -98,7 +98,7 @@ static struct platform_driver a100_r_pinctrl_driver = { .probe = a100_r_pinctrl_probe, .driver = { - .name = "sun50iw10p1-r-pinctrl", + .name = "sun50i-a100-r-pinctrl", .of_match_table = a100_r_pinctrl_match, }, }; --- linux-gcp-5.19.0.orig/drivers/pinctrl/sunxi/pinctrl-sun50i-h6-r.c +++ linux-gcp-5.19.0/drivers/pinctrl/sunxi/pinctrl-sun50i-h6-r.c @@ -107,6 +107,7 @@ .npins = ARRAY_SIZE(sun50i_h6_r_pins), .pin_base = PL_BASE, .irq_banks = 2, + .io_bias_cfg_variant = BIAS_VOLTAGE_PIO_POW_MODE_SEL, }; static int sun50i_h6_r_pinctrl_probe(struct platform_device *pdev) --- linux-gcp-5.19.0.orig/drivers/pinctrl/sunxi/pinctrl-sunxi.c +++ linux-gcp-5.19.0/drivers/pinctrl/sunxi/pinctrl-sunxi.c @@ -624,7 +624,7 @@ unsigned pin, struct regulator *supply) { - unsigned short bank = pin / PINS_PER_BANK; + unsigned short bank; unsigned long flags; u32 val, reg; int uV; @@ -640,6 +640,9 @@ if (uV == 0) return 0; + pin -= pctl->desc->pin_base; + bank = pin / PINS_PER_BANK; + switch (pctl->desc->io_bias_cfg_variant) { case BIAS_VOLTAGE_GRP_CONFIG: /* @@ -657,8 +660,6 @@ else val = 0xD; /* 3.3V */ - pin -= pctl->desc->pin_base; - reg = readl(pctl->membase + sunxi_grp_config_reg(pin)); reg &= ~IO_BIAS_MASK; writel(reg | val, pctl->membase + sunxi_grp_config_reg(pin)); --- linux-gcp-5.19.0.orig/drivers/platform/chrome/chromeos_laptop.c +++ linux-gcp-5.19.0/drivers/platform/chrome/chromeos_laptop.c @@ -740,6 +740,7 @@ chromeos_laptop_prepare_i2c_peripherals(struct chromeos_laptop *cros_laptop, const struct chromeos_laptop *src) { + struct i2c_peripheral *i2c_peripherals; struct i2c_peripheral *i2c_dev; struct i2c_board_info *info; int i; @@ -748,17 +749,15 @@ if (!src->num_i2c_peripherals) return 0; - cros_laptop->i2c_peripherals = kmemdup(src->i2c_peripherals, - src->num_i2c_peripherals * - sizeof(*src->i2c_peripherals), - GFP_KERNEL); - if (!cros_laptop->i2c_peripherals) + i2c_peripherals = kmemdup(src->i2c_peripherals, + src->num_i2c_peripherals * + sizeof(*src->i2c_peripherals), + GFP_KERNEL); + if (!i2c_peripherals) return -ENOMEM; - cros_laptop->num_i2c_peripherals = src->num_i2c_peripherals; - - for (i = 0; i < cros_laptop->num_i2c_peripherals; i++) { - i2c_dev = &cros_laptop->i2c_peripherals[i]; + for (i = 0; i < src->num_i2c_peripherals; i++) { + i2c_dev = &i2c_peripherals[i]; info = &i2c_dev->board_info; error = chromeos_laptop_setup_irq(i2c_dev); @@ -775,16 +774,19 @@ } } + cros_laptop->i2c_peripherals = i2c_peripherals; + cros_laptop->num_i2c_peripherals = src->num_i2c_peripherals; + return 0; err_out: while (--i >= 0) { - i2c_dev = &cros_laptop->i2c_peripherals[i]; + i2c_dev = &i2c_peripherals[i]; info = &i2c_dev->board_info; if (!IS_ERR_OR_NULL(info->fwnode)) fwnode_remove_software_node(info->fwnode); } - kfree(cros_laptop->i2c_peripherals); + kfree(i2c_peripherals); return error; } --- linux-gcp-5.19.0.orig/drivers/platform/chrome/cros_ec.c +++ linux-gcp-5.19.0/drivers/platform/chrome/cros_ec.c @@ -135,16 +135,16 @@ buf.msg.command = EC_CMD_HOST_SLEEP_EVENT; ret = cros_ec_cmd_xfer_status(ec_dev, &buf.msg); - - /* For now, report failure to transition to S0ix with a warning. */ + /* Report failure to transition to system wide suspend with a warning. */ if (ret >= 0 && ec_dev->host_sleep_v1 && - (sleep_event == HOST_SLEEP_EVENT_S0IX_RESUME)) { + (sleep_event == HOST_SLEEP_EVENT_S0IX_RESUME || + sleep_event == HOST_SLEEP_EVENT_S3_RESUME)) { ec_dev->last_resume_result = buf.u.resp1.resume_response.sleep_transitions; WARN_ONCE(buf.u.resp1.resume_response.sleep_transitions & EC_HOST_RESUME_SLEEP_TIMEOUT, - "EC detected sleep transition timeout. Total slp_s0 transitions: %d", + "EC detected sleep transition timeout. Total sleep transitions: %d", buf.u.resp1.resume_response.sleep_transitions & EC_HOST_RESUME_SLEEP_TRANSITIONS_MASK); } @@ -352,10 +352,16 @@ static void cros_ec_report_events_during_suspend(struct cros_ec_device *ec_dev) { + bool wake_event; + while (ec_dev->mkbp_event_supported && - cros_ec_get_next_event(ec_dev, NULL, NULL) > 0) + cros_ec_get_next_event(ec_dev, &wake_event, NULL) > 0) { blocking_notifier_call_chain(&ec_dev->event_notifier, 1, ec_dev); + + if (wake_event && device_may_wakeup(ec_dev->dev)) + pm_wakeup_event(ec_dev->dev, 0); + } } /** --- linux-gcp-5.19.0.orig/drivers/platform/chrome/cros_ec_chardev.c +++ linux-gcp-5.19.0/drivers/platform/chrome/cros_ec_chardev.c @@ -327,6 +327,9 @@ if (copy_from_user(&s_mem, arg, sizeof(s_mem))) return -EFAULT; + if (s_mem.bytes > sizeof(s_mem.buffer)) + return -EINVAL; + num = ec_dev->cmd_readmem(ec_dev, s_mem.offset, s_mem.bytes, s_mem.buffer); if (num <= 0) --- linux-gcp-5.19.0.orig/drivers/platform/chrome/cros_ec_proto.c +++ linux-gcp-5.19.0/drivers/platform/chrome/cros_ec_proto.c @@ -509,13 +509,13 @@ ret = cros_ec_get_host_command_version_mask(ec_dev, EC_CMD_GET_NEXT_EVENT, &ver_mask); - if (ret < 0 || ver_mask == 0) + if (ret < 0 || ver_mask == 0) { ec_dev->mkbp_event_supported = 0; - else + } else { ec_dev->mkbp_event_supported = fls(ver_mask); - dev_dbg(ec_dev->dev, "MKBP support version %u\n", - ec_dev->mkbp_event_supported - 1); + dev_dbg(ec_dev->dev, "MKBP support version %u\n", ec_dev->mkbp_event_supported - 1); + } /* Probe if host sleep v1 is supported for S0ix failure detection. */ ret = cros_ec_get_host_command_version_mask(ec_dev, @@ -750,6 +750,7 @@ u8 event_type; u32 host_event; int ret; + u32 ver_mask; /* * Default value for wake_event. @@ -771,6 +772,37 @@ return get_keyboard_state_event(ec_dev); ret = get_next_event(ec_dev); + /* + * -ENOPROTOOPT is returned when EC returns EC_RES_INVALID_VERSION. + * This can occur when EC based device (e.g. Fingerprint MCU) jumps to + * the RO image which doesn't support newer version of the command. In + * this case we will attempt to update maximum supported version of the + * EC_CMD_GET_NEXT_EVENT. + */ + if (ret == -ENOPROTOOPT) { + dev_dbg(ec_dev->dev, + "GET_NEXT_EVENT returned invalid version error.\n"); + ret = cros_ec_get_host_command_version_mask(ec_dev, + EC_CMD_GET_NEXT_EVENT, + &ver_mask); + if (ret < 0 || ver_mask == 0) + /* + * Do not change the MKBP supported version if we can't + * obtain supported version correctly. Please note that + * calling EC_CMD_GET_NEXT_EVENT returned + * EC_RES_INVALID_VERSION which means that the command + * is present. + */ + return -ENOPROTOOPT; + + ec_dev->mkbp_event_supported = fls(ver_mask); + dev_dbg(ec_dev->dev, "MKBP support version changed to %u\n", + ec_dev->mkbp_event_supported - 1); + + /* Try to get next event with new MKBP support version set. */ + ret = get_next_event(ec_dev); + } + if (ret <= 0) return ret; --- linux-gcp-5.19.0.orig/drivers/platform/chrome/cros_ec_typec.c +++ linux-gcp-5.19.0/drivers/platform/chrome/cros_ec_typec.c @@ -157,12 +157,12 @@ return 0; role_sw_err: - usb_role_switch_put(port->role_sw); -ori_sw_err: typec_switch_put(port->ori_sw); -mux_err: + port->ori_sw = NULL; +ori_sw_err: typec_mux_put(port->mux); - + port->mux = NULL; +mux_err: return -ENODEV; } @@ -669,7 +669,7 @@ for (j = 0; j < sop_disc->svids[i].mode_count; j++) { memset(&desc, 0, sizeof(desc)); desc.svid = sop_disc->svids[i].svid; - desc.mode = j; + desc.mode = j + 1; desc.vdo = sop_disc->svids[i].mode_vdo[j]; if (is_partner) --- linux-gcp-5.19.0.orig/drivers/platform/chrome/cros_usbpd_notify.c +++ linux-gcp-5.19.0/drivers/platform/chrome/cros_usbpd_notify.c @@ -239,7 +239,11 @@ return ret; #ifdef CONFIG_ACPI - platform_driver_register(&cros_usbpd_notify_acpi_driver); + ret = platform_driver_register(&cros_usbpd_notify_acpi_driver); + if (ret) { + platform_driver_unregister(&cros_usbpd_notify_plat_driver); + return ret; + } #endif return 0; } --- linux-gcp-5.19.0.orig/drivers/platform/mellanox/mlxbf-pmc.c +++ linux-gcp-5.19.0/drivers/platform/mellanox/mlxbf-pmc.c @@ -358,7 +358,7 @@ { 0x32, "DDN_DIAG_W_INGRESS" }, { 0x33, "DDN_DIAG_C_INGRESS" }, { 0x34, "DDN_DIAG_CORE_SENT" }, - { 0x35, "NDN_DIAG_S_OUT_OF_CRED" }, + { 0x35, "NDN_DIAG_N_OUT_OF_CRED" }, { 0x36, "NDN_DIAG_S_OUT_OF_CRED" }, { 0x37, "NDN_DIAG_E_OUT_OF_CRED" }, { 0x38, "NDN_DIAG_W_OUT_OF_CRED" }, --- linux-gcp-5.19.0.orig/drivers/platform/mellanox/mlxreg-lc.c +++ linux-gcp-5.19.0/drivers/platform/mellanox/mlxreg-lc.c @@ -460,8 +460,6 @@ u32 regval; int err; - mutex_lock(&mlxreg_lc->lock); - err = regmap_read(mlxreg_lc->par_regmap, mlxreg_lc->data->reg_pwr, ®val); if (err) goto regmap_read_fail; @@ -474,7 +472,6 @@ err = regmap_write(mlxreg_lc->par_regmap, mlxreg_lc->data->reg_pwr, regval); regmap_read_fail: - mutex_unlock(&mlxreg_lc->lock); return err; } @@ -491,8 +488,6 @@ * line card which is already has been enabled. Disabling does not affect the disabled line * card. */ - mutex_lock(&mlxreg_lc->lock); - err = regmap_read(mlxreg_lc->par_regmap, mlxreg_lc->data->reg_ena, ®val); if (err) goto regmap_read_fail; @@ -505,7 +500,6 @@ err = regmap_write(mlxreg_lc->par_regmap, mlxreg_lc->data->reg_ena, regval); regmap_read_fail: - mutex_unlock(&mlxreg_lc->lock); return err; } @@ -538,6 +532,15 @@ static void mlxreg_lc_state_update(struct mlxreg_lc *mlxreg_lc, enum mlxreg_lc_state state, u8 action) { + if (action) + mlxreg_lc->state |= state; + else + mlxreg_lc->state &= ~state; +} + +static void +mlxreg_lc_state_update_locked(struct mlxreg_lc *mlxreg_lc, enum mlxreg_lc_state state, u8 action) +{ mutex_lock(&mlxreg_lc->lock); if (action) @@ -560,8 +563,11 @@ dev_info(mlxreg_lc->dev, "linecard#%d state %d event kind %d action %d\n", mlxreg_lc->data->slot, mlxreg_lc->state, kind, action); - if (!(mlxreg_lc->state & MLXREG_LC_INITIALIZED)) + mutex_lock(&mlxreg_lc->lock); + if (!(mlxreg_lc->state & MLXREG_LC_INITIALIZED)) { + mutex_unlock(&mlxreg_lc->lock); return 0; + } switch (kind) { case MLXREG_HOTPLUG_LC_SYNCED: @@ -574,7 +580,7 @@ if (!(mlxreg_lc->state & MLXREG_LC_POWERED) && action) { err = mlxreg_lc_power_on_off(mlxreg_lc, 1); if (err) - return err; + goto mlxreg_lc_power_on_off_fail; } /* In case line card is configured - enable it. */ if (mlxreg_lc->state & MLXREG_LC_CONFIGURED && action) @@ -588,12 +594,13 @@ /* In case line card is configured - enable it. */ if (mlxreg_lc->state & MLXREG_LC_CONFIGURED) err = mlxreg_lc_enable_disable(mlxreg_lc, 1); + mutex_unlock(&mlxreg_lc->lock); return err; } err = mlxreg_lc_create_static_devices(mlxreg_lc, mlxreg_lc->main_devs, mlxreg_lc->main_devs_num); if (err) - return err; + goto mlxreg_lc_create_static_devices_fail; /* In case line card is already in ready state - enable it. */ if (mlxreg_lc->state & MLXREG_LC_CONFIGURED) @@ -620,6 +627,10 @@ break; } +mlxreg_lc_power_on_off_fail: +mlxreg_lc_create_static_devices_fail: + mutex_unlock(&mlxreg_lc->lock); + return err; } @@ -665,7 +676,7 @@ if (err) goto mlxreg_lc_create_static_devices_failed; - mlxreg_lc_state_update(mlxreg_lc, MLXREG_LC_POWERED, 1); + mlxreg_lc_state_update_locked(mlxreg_lc, MLXREG_LC_POWERED, 1); } /* Verify if line card is synchronized. */ @@ -676,7 +687,7 @@ /* Power on line card if necessary. */ if (regval & mlxreg_lc->data->mask) { mlxreg_lc->state |= MLXREG_LC_SYNCED; - mlxreg_lc_state_update(mlxreg_lc, MLXREG_LC_SYNCED, 1); + mlxreg_lc_state_update_locked(mlxreg_lc, MLXREG_LC_SYNCED, 1); if (mlxreg_lc->state & ~MLXREG_LC_POWERED) { err = mlxreg_lc_power_on_off(mlxreg_lc, 1); if (err) @@ -684,7 +695,7 @@ } } - mlxreg_lc_state_update(mlxreg_lc, MLXREG_LC_INITIALIZED, 1); + mlxreg_lc_state_update_locked(mlxreg_lc, MLXREG_LC_INITIALIZED, 1); return 0; @@ -716,8 +727,12 @@ switch (regval) { case MLXREG_LC_SN4800_C16: err = mlxreg_lc_sn4800_c16_config_init(mlxreg_lc, regmap, data); - if (err) + if (err) { + dev_err(dev, "Failed to config client %s at bus %d at addr 0x%02x\n", + data->hpdev.brdinfo->type, data->hpdev.nr, + data->hpdev.brdinfo->addr); return err; + } break; default: return -ENODEV; @@ -730,8 +745,11 @@ mlxreg_lc->mux = platform_device_register_resndata(dev, "i2c-mux-mlxcpld", data->hpdev.nr, NULL, 0, mlxreg_lc->mux_data, sizeof(*mlxreg_lc->mux_data)); - if (IS_ERR(mlxreg_lc->mux)) + if (IS_ERR(mlxreg_lc->mux)) { + dev_err(dev, "Failed to create mux infra for client %s at bus %d at addr 0x%02x\n", + data->hpdev.brdinfo->type, data->hpdev.nr, data->hpdev.brdinfo->addr); return PTR_ERR(mlxreg_lc->mux); + } /* Register IO access driver. */ if (mlxreg_lc->io_data) { @@ -740,6 +758,9 @@ platform_device_register_resndata(dev, "mlxreg-io", data->hpdev.nr, NULL, 0, mlxreg_lc->io_data, sizeof(*mlxreg_lc->io_data)); if (IS_ERR(mlxreg_lc->io_regs)) { + dev_err(dev, "Failed to create regio for client %s at bus %d at addr 0x%02x\n", + data->hpdev.brdinfo->type, data->hpdev.nr, + data->hpdev.brdinfo->addr); err = PTR_ERR(mlxreg_lc->io_regs); goto fail_register_io; } @@ -753,6 +774,9 @@ mlxreg_lc->led_data, sizeof(*mlxreg_lc->led_data)); if (IS_ERR(mlxreg_lc->led)) { + dev_err(dev, "Failed to create LED objects for client %s at bus %d at addr 0x%02x\n", + data->hpdev.brdinfo->type, data->hpdev.nr, + data->hpdev.brdinfo->addr); err = PTR_ERR(mlxreg_lc->led); goto fail_register_led; } @@ -809,7 +833,8 @@ if (!data->hpdev.adapter) { dev_err(&pdev->dev, "Failed to get adapter for bus %d\n", data->hpdev.nr); - return -EFAULT; + err = -EFAULT; + goto i2c_get_adapter_fail; } /* Create device at the top of line card I2C tree.*/ @@ -818,32 +843,39 @@ if (IS_ERR(data->hpdev.client)) { dev_err(&pdev->dev, "Failed to create client %s at bus %d at addr 0x%02x\n", data->hpdev.brdinfo->type, data->hpdev.nr, data->hpdev.brdinfo->addr); - - i2c_put_adapter(data->hpdev.adapter); - data->hpdev.adapter = NULL; - return PTR_ERR(data->hpdev.client); + err = PTR_ERR(data->hpdev.client); + goto i2c_new_device_fail; } regmap = devm_regmap_init_i2c(data->hpdev.client, &mlxreg_lc_regmap_conf); if (IS_ERR(regmap)) { + dev_err(&pdev->dev, "Failed to create regmap for client %s at bus %d at addr 0x%02x\n", + data->hpdev.brdinfo->type, data->hpdev.nr, data->hpdev.brdinfo->addr); err = PTR_ERR(regmap); - goto mlxreg_lc_probe_fail; + goto devm_regmap_init_i2c_fail; } /* Set default registers. */ for (i = 0; i < mlxreg_lc_regmap_conf.num_reg_defaults; i++) { err = regmap_write(regmap, mlxreg_lc_regmap_default[i].reg, mlxreg_lc_regmap_default[i].def); - if (err) - goto mlxreg_lc_probe_fail; + if (err) { + dev_err(&pdev->dev, "Failed to set default regmap %d for client %s at bus %d at addr 0x%02x\n", + i, data->hpdev.brdinfo->type, data->hpdev.nr, + data->hpdev.brdinfo->addr); + goto regmap_write_fail; + } } /* Sync registers with hardware. */ regcache_mark_dirty(regmap); err = regcache_sync(regmap); - if (err) - goto mlxreg_lc_probe_fail; + if (err) { + dev_err(&pdev->dev, "Failed to sync regmap for client %s at bus %d at addr 0x%02x\n", + data->hpdev.brdinfo->type, data->hpdev.nr, data->hpdev.brdinfo->addr); + goto regcache_sync_fail; + } par_pdata = data->hpdev.brdinfo->platform_data; mlxreg_lc->par_regmap = par_pdata->regmap; @@ -854,12 +886,27 @@ /* Configure line card. */ err = mlxreg_lc_config_init(mlxreg_lc, regmap, data); if (err) - goto mlxreg_lc_probe_fail; + goto mlxreg_lc_config_init_fail; return err; -mlxreg_lc_probe_fail: +mlxreg_lc_config_init_fail: +regcache_sync_fail: +regmap_write_fail: +devm_regmap_init_i2c_fail: + if (data->hpdev.client) { + i2c_unregister_device(data->hpdev.client); + data->hpdev.client = NULL; + } +i2c_new_device_fail: i2c_put_adapter(data->hpdev.adapter); + data->hpdev.adapter = NULL; +i2c_get_adapter_fail: + /* Clear event notification callback and handle. */ + if (data->notifier) { + data->notifier->user_handler = NULL; + data->notifier->handle = NULL; + } return err; } @@ -868,11 +915,20 @@ struct mlxreg_core_data *data = dev_get_platdata(&pdev->dev); struct mlxreg_lc *mlxreg_lc = platform_get_drvdata(pdev); - /* Clear event notification callback. */ - if (data->notifier) { - data->notifier->user_handler = NULL; - data->notifier->handle = NULL; - } + mlxreg_lc_state_update_locked(mlxreg_lc, MLXREG_LC_INITIALIZED, 0); + + /* + * Probing and removing are invoked by hotplug events raised upon line card insertion and + * removing. If probing procedure fails all data is cleared. However, hotplug event still + * will be raised on line card removing and activate removing procedure. In this case there + * is nothing to remove. + */ + if (!data->notifier || !data->notifier->handle) + return 0; + + /* Clear event notification callback and handle. */ + data->notifier->user_handler = NULL; + data->notifier->handle = NULL; /* Destroy static I2C device feeding by main power. */ mlxreg_lc_destroy_static_devices(mlxreg_lc, mlxreg_lc->main_devs, --- linux-gcp-5.19.0.orig/drivers/platform/olpc/olpc-ec.c +++ linux-gcp-5.19.0/drivers/platform/olpc/olpc-ec.c @@ -264,7 +264,7 @@ int i, m; unsigned char ec_cmd[EC_MAX_CMD_ARGS]; unsigned int ec_cmd_int[EC_MAX_CMD_ARGS]; - char cmdbuf[64]; + char cmdbuf[64] = ""; int ec_cmd_bytes; mutex_lock(&ec_dbgfs_lock); --- linux-gcp-5.19.0.orig/drivers/platform/surface/aggregator/controller.c +++ linux-gcp-5.19.0/drivers/platform/surface/aggregator/controller.c @@ -1700,8 +1700,10 @@ return status; status = ssam_request_sync_init(rqst, spec->flags); - if (status) + if (status) { + ssam_request_sync_free(rqst); return status; + } ssam_request_sync_set_resp(rqst, rsp); --- linux-gcp-5.19.0.orig/drivers/platform/surface/aggregator/ssh_packet_layer.c +++ linux-gcp-5.19.0/drivers/platform/surface/aggregator/ssh_packet_layer.c @@ -1596,16 +1596,32 @@ ssh_ptl_tx_wakeup_packet(ptl); } -static bool ssh_ptl_rx_retransmit_check(struct ssh_ptl *ptl, u8 seq) +static bool ssh_ptl_rx_retransmit_check(struct ssh_ptl *ptl, const struct ssh_frame *frame) { int i; /* + * Ignore unsequenced packets. On some devices (notably Surface Pro 9), + * unsequenced events will always be sent with SEQ=0x00. Attempting to + * detect retransmission would thus just block all events. + * + * While sequence numbers would also allow detection of retransmitted + * packets in unsequenced communication, they have only ever been used + * to cover edge-cases in sequenced transmission. In particular, the + * only instance of packets being retransmitted (that we are aware of) + * is due to an ACK timeout. As this does not happen in unsequenced + * communication, skip the retransmission check for those packets + * entirely. + */ + if (frame->type == SSH_FRAME_TYPE_DATA_NSQ) + return false; + + /* * Check if SEQ has been seen recently (i.e. packet was * re-transmitted and we should ignore it). */ for (i = 0; i < ARRAY_SIZE(ptl->rx.blocked.seqs); i++) { - if (likely(ptl->rx.blocked.seqs[i] != seq)) + if (likely(ptl->rx.blocked.seqs[i] != frame->seq)) continue; ptl_dbg(ptl, "ptl: ignoring repeated data packet\n"); @@ -1613,7 +1629,7 @@ } /* Update list of blocked sequence IDs. */ - ptl->rx.blocked.seqs[ptl->rx.blocked.offset] = seq; + ptl->rx.blocked.seqs[ptl->rx.blocked.offset] = frame->seq; ptl->rx.blocked.offset = (ptl->rx.blocked.offset + 1) % ARRAY_SIZE(ptl->rx.blocked.seqs); @@ -1624,7 +1640,7 @@ const struct ssh_frame *frame, const struct ssam_span *payload) { - if (ssh_ptl_rx_retransmit_check(ptl, frame->seq)) + if (ssh_ptl_rx_retransmit_check(ptl, frame)) return; ptl->ops.data_received(ptl, payload); --- linux-gcp-5.19.0.orig/drivers/platform/surface/aggregator/ssh_request_layer.c +++ linux-gcp-5.19.0/drivers/platform/surface/aggregator/ssh_request_layer.c @@ -916,6 +916,20 @@ if (sshp_parse_command(dev, data, &command, &command_data)) return; + /* + * Check if the message was intended for us. If not, drop it. + * + * Note: We will need to change this to handle debug messages. On newer + * generation devices, these seem to be sent to tid_out=0x03. We as + * host can still receive them as they can be forwarded via an override + * option on SAM, but doing so does not change tid_out=0x00. + */ + if (command->tid_out != 0x00) { + rtl_warn(rtl, "rtl: dropping message not intended for us (tid = %#04x)\n", + command->tid_out); + return; + } + if (ssh_rqid_is_event(get_unaligned_le16(&command->rqid))) ssh_rtl_rx_event(rtl, command, &command_data); else --- linux-gcp-5.19.0.orig/drivers/platform/surface/surface_aggregator_registry.c +++ linux-gcp-5.19.0/drivers/platform/surface/surface_aggregator_registry.c @@ -556,6 +556,9 @@ /* Surface Laptop Go 1 */ { "MSHW0118", (unsigned long)ssam_node_group_slg1 }, + /* Surface Laptop Go 2 */ + { "MSHW0290", (unsigned long)ssam_node_group_slg1 }, + /* Surface Laptop Studio */ { "MSHW0123", (unsigned long)ssam_node_group_sls }, --- linux-gcp-5.19.0.orig/drivers/platform/x86/Kconfig +++ linux-gcp-5.19.0/drivers/platform/x86/Kconfig @@ -199,6 +199,7 @@ config AMD_PMC tristate "AMD SoC PMC driver" depends on ACPI && PCI && RTC_CLASS + select SERIO help The driver provides support for AMD Power Management Controller primarily responsible for S2Idle transactions that are driven from @@ -399,6 +400,20 @@ This is a driver for enabling wifi on some Fujitsu-Siemens Amilo laptops. +config DELL_UART_BACKLIGHT + tristate "Dell AIO UART Backlight driver" + depends on SERIAL_8250 + depends on ACPI + help + Say Y here if you want to support Dell AIO UART backlight interface. + The Dell AIO machines released after 2017 come with a UART interface + to communicate with the backlight scalar board. This driver creates + a standard backlight interface and talks to the scalar board through + UART to adjust the AIO screen brightness. + + To compile this driver as a module, choose M here: the module will + be called dell_uart_backlight. + config FUJITSU_LAPTOP tristate "Fujitsu Laptop Extras" depends on ACPI --- linux-gcp-5.19.0.orig/drivers/platform/x86/acer-wmi.c +++ linux-gcp-5.19.0/drivers/platform/x86/acer-wmi.c @@ -99,6 +99,7 @@ {KE_KEY, 0x22, {KEY_PROG2} }, /* Arcade */ {KE_KEY, 0x23, {KEY_PROG3} }, /* P_Key */ {KE_KEY, 0x24, {KEY_PROG4} }, /* Social networking_Key */ + {KE_KEY, 0x27, {KEY_HELP} }, {KE_KEY, 0x29, {KEY_PROG3} }, /* P_Key for TM8372 */ {KE_IGNORE, 0x41, {KEY_MUTE} }, {KE_IGNORE, 0x42, {KEY_PREVIOUSSONG} }, @@ -112,7 +113,13 @@ {KE_IGNORE, 0x48, {KEY_VOLUMEUP} }, {KE_IGNORE, 0x49, {KEY_VOLUMEDOWN} }, {KE_IGNORE, 0x4a, {KEY_VOLUMEDOWN} }, - {KE_IGNORE, 0x61, {KEY_SWITCHVIDEOMODE} }, + /* + * 0x61 is KEY_SWITCHVIDEOMODE. Usually this is a duplicate input event + * with the "Video Bus" input device events. But sometimes it is not + * a dup. Map it to KEY_UNKNOWN instead of using KE_IGNORE so that + * udev/hwdb can override it on systems where it is not a dup. + */ + {KE_KEY, 0x61, {KEY_UNKNOWN} }, {KE_IGNORE, 0x62, {KEY_BRIGHTNESSUP} }, {KE_IGNORE, 0x63, {KEY_BRIGHTNESSDOWN} }, {KE_KEY, 0x64, {KEY_SWITCHVIDEOMODE} }, /* Display Switch */ @@ -557,6 +564,15 @@ }, .driver_data = (void *)ACER_CAP_KBD_DOCK, }, + { + .callback = set_force_caps, + .ident = "Acer Aspire Switch V 10 SW5-017", + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Acer"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "SW5-017"), + }, + .driver_data = (void *)ACER_CAP_KBD_DOCK, + }, { .callback = set_force_caps, .ident = "Acer One 10 (S1003)", --- linux-gcp-5.19.0.orig/drivers/platform/x86/amd-pmc.c +++ linux-gcp-5.19.0/drivers/platform/x86/amd-pmc.c @@ -635,6 +635,13 @@ struct rtc_time tm; int rc; + /* we haven't yet read SMU version */ + if (!pdev->major) { + rc = amd_pmc_get_smu_version(pdev); + if (rc) + return rc; + } + if (pdev->major < 64 || (pdev->major == 64 && pdev->minor < 53)) return 0; @@ -889,7 +896,7 @@ if (enable_stb && (dev->cpu_id == AMD_CPU_ID_YC || dev->cpu_id == AMD_CPU_ID_CB)) { err = amd_pmc_s2d_init(dev); if (err) - return err; + goto err_pci_dev_put; } platform_set_drvdata(pdev, dev); --- linux-gcp-5.19.0.orig/drivers/platform/x86/asus-nb-wmi.c +++ linux-gcp-5.19.0/drivers/platform/x86/asus-nb-wmi.c @@ -115,12 +115,17 @@ }; static struct quirk_entry quirk_asus_use_kbd_dock_devid = { - .use_kbd_dock_devid = true, + .tablet_switch_mode = asus_wmi_kbd_dock_devid, }; static struct quirk_entry quirk_asus_use_lid_flip_devid = { .wmi_backlight_set_devstate = true, - .use_lid_flip_devid = true, + .tablet_switch_mode = asus_wmi_lid_flip_devid, +}; + +static struct quirk_entry quirk_asus_tablet_mode = { + .wmi_backlight_set_devstate = true, + .tablet_switch_mode = asus_wmi_lid_flip_rog_devid, }; static int dmi_matched(const struct dmi_system_id *dmi) @@ -471,6 +476,15 @@ }, .driver_data = &quirk_asus_use_lid_flip_devid, }, + { + .callback = dmi_matched, + .ident = "ASUS ROG FLOW X13", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "GV301Q"), + }, + .driver_data = &quirk_asus_tablet_mode, + }, {}, }; @@ -492,16 +506,13 @@ switch (tablet_mode_sw) { case 0: - quirks->use_kbd_dock_devid = false; - quirks->use_lid_flip_devid = false; + quirks->tablet_switch_mode = asus_wmi_no_tablet_switch; break; case 1: - quirks->use_kbd_dock_devid = true; - quirks->use_lid_flip_devid = false; + quirks->tablet_switch_mode = asus_wmi_kbd_dock_devid; break; case 2: - quirks->use_kbd_dock_devid = false; - quirks->use_lid_flip_devid = true; + quirks->tablet_switch_mode = asus_wmi_lid_flip_devid; break; } @@ -521,6 +532,7 @@ { KE_KEY, 0x30, { KEY_VOLUMEUP } }, { KE_KEY, 0x31, { KEY_VOLUMEDOWN } }, { KE_KEY, 0x32, { KEY_MUTE } }, + { KE_KEY, 0x33, { KEY_SCREENLOCK } }, { KE_KEY, 0x35, { KEY_SCREENLOCK } }, { KE_KEY, 0x38, { KEY_PROG3 } }, /* Armoury Crate */ { KE_KEY, 0x40, { KEY_PREVIOUSSONG } }, @@ -581,6 +593,7 @@ { KE_KEY, 0xC5, { KEY_KBDILLUMDOWN } }, { KE_IGNORE, 0xC6, }, /* Ambient Light Sensor notification */ { KE_KEY, 0xFA, { KEY_PROG2 } }, /* Lid flip action */ + { KE_KEY, 0xBD, { KEY_PROG2 } }, /* Lid flip action on ROG xflow laptops */ { KE_END, 0}, }; --- linux-gcp-5.19.0.orig/drivers/platform/x86/asus-wmi.c +++ linux-gcp-5.19.0/drivers/platform/x86/asus-wmi.c @@ -68,6 +68,7 @@ #define NOTIFY_KBD_FBM 0x99 #define NOTIFY_KBD_TTP 0xae #define NOTIFY_LID_FLIP 0xfa +#define NOTIFY_LID_FLIP_ROG 0xbd #define ASUS_WMI_FNLOCK_BIOS_DISABLED BIT(0) @@ -107,7 +108,7 @@ #define WMI_EVENT_MASK 0xFFFF #define FAN_CURVE_POINTS 8 -#define FAN_CURVE_BUF_LEN (FAN_CURVE_POINTS * 2) +#define FAN_CURVE_BUF_LEN 32 #define FAN_CURVE_DEV_CPU 0x00 #define FAN_CURVE_DEV_GPU 0x01 /* Mask to determine if setting temperature or percentage */ @@ -488,8 +489,11 @@ static int asus_wmi_input_init(struct asus_wmi *asus) { + struct device *dev; int err, result; + dev = &asus->platform_device->dev; + asus->inputdev = input_allocate_device(); if (!asus->inputdev) return -ENOMEM; @@ -497,35 +501,51 @@ asus->inputdev->name = asus->driver->input_name; asus->inputdev->phys = asus->driver->input_phys; asus->inputdev->id.bustype = BUS_HOST; - asus->inputdev->dev.parent = &asus->platform_device->dev; + asus->inputdev->dev.parent = dev; set_bit(EV_REP, asus->inputdev->evbit); err = sparse_keymap_setup(asus->inputdev, asus->driver->keymap, NULL); if (err) goto err_free_dev; - if (asus->driver->quirks->use_kbd_dock_devid) { + switch (asus->driver->quirks->tablet_switch_mode) { + case asus_wmi_no_tablet_switch: + break; + case asus_wmi_kbd_dock_devid: result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_KBD_DOCK); if (result >= 0) { input_set_capability(asus->inputdev, EV_SW, SW_TABLET_MODE); input_report_switch(asus->inputdev, SW_TABLET_MODE, !result); } else if (result != -ENODEV) { - pr_err("Error checking for keyboard-dock: %d\n", result); + dev_err(dev, "Error checking for keyboard-dock: %d\n", result); } - } - - if (asus->driver->quirks->use_lid_flip_devid) { + break; + case asus_wmi_lid_flip_devid: result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_LID_FLIP); if (result < 0) - asus->driver->quirks->use_lid_flip_devid = 0; + asus->driver->quirks->tablet_switch_mode = asus_wmi_no_tablet_switch; + if (result >= 0) { + input_set_capability(asus->inputdev, EV_SW, SW_TABLET_MODE); + input_report_switch(asus->inputdev, SW_TABLET_MODE, result); + } else if (result == -ENODEV) { + dev_err(dev, "This device has lid_flip quirk but got ENODEV checking it. This is a bug."); + } else { + dev_err(dev, "Error checking for lid-flip: %d\n", result); + } + break; + case asus_wmi_lid_flip_rog_devid: + result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_LID_FLIP_ROG); + if (result < 0) + asus->driver->quirks->tablet_switch_mode = asus_wmi_no_tablet_switch; if (result >= 0) { input_set_capability(asus->inputdev, EV_SW, SW_TABLET_MODE); input_report_switch(asus->inputdev, SW_TABLET_MODE, result); } else if (result == -ENODEV) { - pr_err("This device has lid_flip quirk but got ENODEV checking it. This is a bug."); + dev_err(dev, "This device has lid-flip-rog quirk but got ENODEV checking it. This is a bug."); } else { - pr_err("Error checking for lid-flip: %d\n", result); + dev_err(dev, "Error checking for lid-flip: %d\n", result); } + break; } err = input_register_device(asus->inputdev); @@ -551,8 +571,20 @@ static void lid_flip_tablet_mode_get_state(struct asus_wmi *asus) { - int result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_LID_FLIP); + int result; + result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_LID_FLIP); + if (result >= 0) { + input_report_switch(asus->inputdev, SW_TABLET_MODE, result); + input_sync(asus->inputdev); + } +} + +static void lid_flip_rog_tablet_mode_get_state(struct asus_wmi *asus) +{ + int result; + + result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_LID_FLIP_ROG); if (result >= 0) { input_report_switch(asus->inputdev, SW_TABLET_MODE, result); input_sync(asus->inputdev); @@ -1631,6 +1663,8 @@ pci_write_config_dword(xhci_pdev, USB_INTEL_XUSB2PR, cpu_to_le32(ports_available)); + pci_dev_put(xhci_pdev); + pr_info("set USB_INTEL_XUSB2PR old: 0x%04x, new: 0x%04x\n", orig_ports_available, ports_available); } @@ -2063,7 +2097,7 @@ err = asus_wmi_get_devstate(asus, ASUS_WMI_DEVID_FAN_BOOST_MODE, &result); if (err) { - if (err == -ENODEV) + if (err == -ENODEV || err == -ENODATA) return 0; else return err; @@ -2208,8 +2242,10 @@ curves = &asus->custom_fan_curves[fan_idx]; err = asus_wmi_evaluate_method_buf(asus->dsts_id, fan_dev, mode, buf, FAN_CURVE_BUF_LEN); - if (err) + if (err) { + pr_warn("%s (0x%08x) failed: %d\n", __func__, fan_dev, err); return err; + } fan_curve_copy_from_buf(curves, buf); curves->device_id = fan_dev; @@ -2225,11 +2261,11 @@ *available = false; + if (asus->fan_type == FAN_TYPE_NONE) + return 0; + err = fan_curve_get_factory_default(asus, fan_dev); if (err) { - pr_debug("fan_curve_get_factory_default(0x%08x) failed: %d\n", - fan_dev, err); - /* Don't cause probe to fail on devices without fan-curves */ return 0; } @@ -3083,7 +3119,8 @@ return; } - if (asus->driver->quirks->use_kbd_dock_devid && code == NOTIFY_KBD_DOCK_CHANGE) { + if (asus->driver->quirks->tablet_switch_mode == asus_wmi_kbd_dock_devid && + code == NOTIFY_KBD_DOCK_CHANGE) { result = asus_wmi_get_devstate_simple(asus, ASUS_WMI_DEVID_KBD_DOCK); if (result >= 0) { @@ -3094,11 +3131,18 @@ return; } - if (asus->driver->quirks->use_lid_flip_devid && code == NOTIFY_LID_FLIP) { + if (asus->driver->quirks->tablet_switch_mode == asus_wmi_lid_flip_devid && + code == NOTIFY_LID_FLIP) { lid_flip_tablet_mode_get_state(asus); return; } + if (asus->driver->quirks->tablet_switch_mode == asus_wmi_lid_flip_rog_devid && + code == NOTIFY_LID_FLIP_ROG) { + lid_flip_rog_tablet_mode_get_state(asus); + return; + } + if (asus->fan_boost_mode_available && code == NOTIFY_KBD_FBM) { fan_boost_mode_switch_next(asus); return; @@ -3731,8 +3775,17 @@ if (asus_wmi_has_fnlock_key(asus)) asus_wmi_fnlock_update(asus); - if (asus->driver->quirks->use_lid_flip_devid) + switch (asus->driver->quirks->tablet_switch_mode) { + case asus_wmi_no_tablet_switch: + case asus_wmi_kbd_dock_devid: + break; + case asus_wmi_lid_flip_devid: lid_flip_tablet_mode_get_state(asus); + break; + case asus_wmi_lid_flip_rog_devid: + lid_flip_rog_tablet_mode_get_state(asus); + break; + } return 0; } @@ -3773,8 +3826,17 @@ if (asus_wmi_has_fnlock_key(asus)) asus_wmi_fnlock_update(asus); - if (asus->driver->quirks->use_lid_flip_devid) + switch (asus->driver->quirks->tablet_switch_mode) { + case asus_wmi_no_tablet_switch: + case asus_wmi_kbd_dock_devid: + break; + case asus_wmi_lid_flip_devid: lid_flip_tablet_mode_get_state(asus); + break; + case asus_wmi_lid_flip_rog_devid: + lid_flip_rog_tablet_mode_get_state(asus); + break; + } return 0; } --- linux-gcp-5.19.0.orig/drivers/platform/x86/asus-wmi.h +++ linux-gcp-5.19.0/drivers/platform/x86/asus-wmi.h @@ -25,6 +25,13 @@ struct key_entry; struct asus_wmi; +enum asus_wmi_tablet_switch_mode { + asus_wmi_no_tablet_switch, + asus_wmi_kbd_dock_devid, + asus_wmi_lid_flip_devid, + asus_wmi_lid_flip_rog_devid, +}; + struct quirk_entry { bool hotplug_wireless; bool scalar_panel_brightness; @@ -33,8 +40,7 @@ bool wmi_backlight_native; bool wmi_backlight_set_devstate; bool wmi_force_als_set; - bool use_kbd_dock_devid; - bool use_lid_flip_devid; + enum asus_wmi_tablet_switch_mode tablet_switch_mode; int wapf; /* * For machines with AMD graphic chips, it will send out WMI event --- linux-gcp-5.19.0.orig/drivers/platform/x86/dell/Makefile +++ linux-gcp-5.19.0/drivers/platform/x86/dell/Makefile @@ -14,6 +14,7 @@ dell-smbios-$(CONFIG_DELL_SMBIOS_WMI) += dell-smbios-wmi.o dell-smbios-$(CONFIG_DELL_SMBIOS_SMM) += dell-smbios-smm.o obj-$(CONFIG_DELL_SMO8800) += dell-smo8800.o +obj-$(CONFIG_DELL_UART_BACKLIGHT) += dell-uart-backlight.o obj-$(CONFIG_DELL_WMI) += dell-wmi.o dell-wmi-objs := dell-wmi-base.o dell-wmi-$(CONFIG_DELL_WMI_PRIVACY) += dell-wmi-privacy.o --- linux-gcp-5.19.0.orig/drivers/platform/x86/dell/dell-laptop.c +++ linux-gcp-5.19.0/drivers/platform/x86/dell/dell-laptop.c @@ -97,6 +97,7 @@ static struct rfkill *wwan_rfkill; static bool force_rfkill; static bool micmute_led_registered; +static bool mute_led_registered; module_param(force_rfkill, bool, 0444); MODULE_PARM_DESC(force_rfkill, "enable rfkill on non whitelisted models"); @@ -2177,6 +2178,34 @@ .default_trigger = "audio-micmute", }; +static int mute_led_set(struct led_classdev *led_cdev, + enum led_brightness brightness) +{ + struct calling_interface_buffer buffer; + struct calling_interface_token *token; + int state = brightness != LED_OFF; + + if (state == 0) + token = dell_smbios_find_token(GLOBAL_MUTE_DISABLE); + else + token = dell_smbios_find_token(GLOBAL_MUTE_ENABLE); + + if (!token) + return -ENODEV; + + dell_fill_request(&buffer, token->location, token->value, 0, 0); + dell_send_request(&buffer, CLASS_TOKEN_WRITE, SELECT_TOKEN_STD); + + return 0; +} + +static struct led_classdev mute_led_cdev = { + .name = "platform::mute", + .max_brightness = 1, + .brightness_set_blocking = mute_led_set, + .default_trigger = "audio-mute", +}; + static int __init dell_init(void) { struct calling_interface_token *token; @@ -2230,6 +2259,15 @@ micmute_led_registered = true; } + if (dell_smbios_find_token(GLOBAL_MUTE_DISABLE) && + dell_smbios_find_token(GLOBAL_MUTE_ENABLE)) { + mute_led_cdev.brightness = ledtrig_audio_get(LED_AUDIO_MUTE); + ret = led_classdev_register(&platform_device->dev, &mute_led_cdev); + if (ret < 0) + goto fail_backlight; + mute_led_registered = true; + } + if (acpi_video_get_backlight_type() != acpi_backlight_vendor) return 0; @@ -2277,6 +2315,8 @@ fail_backlight: if (micmute_led_registered) led_classdev_unregister(&micmute_led_cdev); + if (mute_led_registered) + led_classdev_unregister(&mute_led_cdev); fail_led: dell_cleanup_rfkill(); fail_rfkill: @@ -2299,6 +2339,8 @@ backlight_device_unregister(dell_backlight_device); if (micmute_led_registered) led_classdev_unregister(&micmute_led_cdev); + if (mute_led_registered) + led_classdev_unregister(&mute_led_cdev); dell_cleanup_rfkill(); if (platform_device) { platform_device_unregister(platform_device); --- linux-gcp-5.19.0.orig/drivers/platform/x86/dell/dell-smbios.h +++ linux-gcp-5.19.0/drivers/platform/x86/dell/dell-smbios.h @@ -34,6 +34,8 @@ #define KBD_LED_AUTO_100_TOKEN 0x02F6 #define GLOBAL_MIC_MUTE_ENABLE 0x0364 #define GLOBAL_MIC_MUTE_DISABLE 0x0365 +#define GLOBAL_MUTE_ENABLE 0x058C +#define GLOBAL_MUTE_DISABLE 0x058D struct notifier_block; --- linux-gcp-5.19.0.orig/drivers/platform/x86/dell/dell-uart-backlight.c +++ linux-gcp-5.19.0/drivers/platform/x86/dell/dell-uart-backlight.c @@ -0,0 +1,531 @@ +/* + * Dell AIO Serial Backlight Driver + * + * Copyright (C) 2017 AceLan Kao + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "dell-uart-backlight.h" + +struct dell_uart_backlight { + struct device *dev; + struct backlight_device *dell_uart_bd; + struct mutex brightness_mutex; + int line; + int bl_power; +}; +struct uart_8250_port *serial8250_get_port(int line); +static struct tty_struct *tty; +static struct file *ftty; + +unsigned int (*io_serial_in)(struct uart_port *p, int offset); +int (*uart_write)(struct tty_struct *tty, const unsigned char *buf, int count); +unsigned int (*uart_chars_in_buffer)(struct tty_struct *tty); + +static bool force; +module_param(force, bool, 0444); +MODULE_PARM_DESC(force, "load the driver regardless of the scalar status"); + +static struct dell_uart_bl_cmd uart_cmd[] = { + /* + * Get Firmware Version: Tool uses this command to get firmware version. + * Command: 0x6A 0x06 0x8F (Length:3 Type: 0x0A, Cmd:6 Checksum:0x8F) + * Return data: 0x0D 0x06 Data checksum (Length:13,Cmd:0x06, + * Data :F/W version(APRILIA=APR27-VXXX,PHINE=PHI23-VXXX), + * checksum:SUM(Length and Cmd and Data)xor 0xFF . + */ + [DELL_UART_GET_FIRMWARE_VER] = { + .cmd = {0x6A, 0x06, 0x8F}, + .tx_len = 3, + }, + /* + * Get Brightness level: Application uses this command for scaler to + * get brightness. + * Command: 0x6A 0x0C 0x89 + * (Length:3 Type: 0x0A, Cmd:0x0C, Checksum:0x89) + * Return data: 0x04 0x0C Data checksum + * (Length:4 Cmd: 0x0C Data: brightness level + * checksum: SUM(Length and Cmd and Data)xor 0xFF) + * brightness level which ranges from 0~100. + */ + [DELL_UART_GET_BRIGHTNESS] = { + .cmd = {0x6A, 0x0C, 0x89}, + .ret = {0x04, 0x0C, 0x00, 0x00}, + .tx_len = 3, + .rx_len = 4, + }, + /* Set Brightness level: Application uses this command for scaler to + * set brightness. + * Command: 0x8A 0x0B Byte2 Checksum (Length:4 Type: 0x0A, Cmd:0x0B) + * where Byte2 is the brightness level which ranges from 0~100. + * Return data: 0x03 0x0B 0xF1(Length:3,Cmd:B,checksum:0xF1) + * Scaler must send the 3bytes ack within 1 second when success, + * other value if error + */ + [DELL_UART_SET_BRIGHTNESS] = { + .cmd = {0x8A, 0x0B, 0x0, 0x0}, + .ret = {0x03, 0x0B, 0xF1}, + .tx_len = 4, + .rx_len = 3, + }, + /* + * Screen ON/OFF Control: Application uses this command to control + * screen ON or OFF. + * Command: 0x8A 0x0E Byte2 Checksum (Length:4 Type: 0x0A, Cmd:0x0E) + * where + * Byte2=0 to turn OFF the screen. + * Byte2=1 to turn ON the screen + * Other value of Byte2 is reserved and invalid. + * Return data: 0x03 0x0E 0xEE(Length:3,Cmd:E,checksum:0xEE) + */ + [DELL_UART_SET_BACKLIGHT_POWER] = { + .cmd = {0x8A, 0x0E, 0x00, 0x0}, + .ret = {0x03, 0x0E, 0xEE}, + .tx_len = 4, + .rx_len = 3, + }, + /* + * Get display mode: Application uses this command to get scaler + * display mode. + * Command: 0x6A 0x10 0x85 (Length:3 Type: 0x0A, Cmd:0x10) + * Return data: 0x04 0x10 Data checksum + * (Length:4 Cmd:0x10 Data: mode checksum: SUM + * mode =0 if PC mode + * mode =1 if AV(HDMI) mode + */ + [DELL_UART_GET_DISPLAY_MODE] = { + .cmd = {0x6A, 0x10, 0x85}, + .ret = {0x04, 0x10, 0x00, 0x00}, + .tx_len = 3, + .rx_len = 4, + }, +}; + +static const struct dmi_system_id dell_uart_backlight_alpha_platform[] = { + { + .ident = "Dell Inspiron 7777 AIO", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 7777 AIO"), + }, + }, + { + .ident = "Dell Inspiron 5477 AIO", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 5477 AIO"), + }, + }, + { + .ident = "Dell OptiPlex 7769 AIO", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 7769 AIO"), + }, + }, + { + .ident = "Dell OptiPlex 5260 AIO", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 5260 AIO"), + }, + }, + { } +}; + +static int dell_uart_write(struct uart_8250_port *up, __u8 *buf, int len) +{ + int actual = 0; + struct uart_port *port = &up->port; + + tty_port_tty_wakeup(&port->state->port); + tty = tty_port_tty_get(&port->state->port); + actual = uart_write(tty, buf, len); + while (uart_chars_in_buffer(tty)) + udelay(10); + + return actual; +} + +static int dell_uart_read(struct uart_8250_port *up, __u8 *buf, int len) +{ + int i, retry; + unsigned long flags; + + spin_lock_irqsave(&up->port.lock, flags); + for (i = 0; i < len; i++) { + retry = 10; + while (!(io_serial_in(&up->port, UART_LSR) & UART_LSR_DR)) { + if (--retry == 0) + break; + mdelay(20); + } + + if (retry == 0) + break; + buf[i] = io_serial_in(&up->port, UART_RX); + } + spin_unlock_irqrestore(&up->port.lock, flags); + + return i; +} + +static void dell_uart_dump_cmd(const char *func, const char *prefix, + const char *cmd, int len) +{ + char buf[80]; + + snprintf(buf, 80, "dell_uart_backlight:%s:%s", func, prefix); + if (len != 0) + print_hex_dump_debug(buf, DUMP_PREFIX_NONE, + 16, 1, cmd, len, false); + else + pr_debug("dell_uart_backlight:%s:%sNULL\n", func, prefix); + +} + +/* + * checksum: SUM(Length and Cmd and Data)xor 0xFF) + */ +static unsigned char dell_uart_checksum(unsigned char *buf, int len) +{ + unsigned char val = 0; + + while (len-- > 0) + val += buf[len]; + + return val ^ 0xff; +} + +/* + * There is no command to get backlight power status, + * so we set the backlight power to "on" while initializing, + * and then track and report its status by bl_power variable + */ +static inline int dell_uart_get_bl_power(struct dell_uart_backlight *dell_pdata) +{ + return dell_pdata->bl_power; +} + +static int dell_uart_set_bl_power(struct backlight_device *bd, int power) +{ + struct dell_uart_bl_cmd *bl_cmd = + &uart_cmd[DELL_UART_SET_BACKLIGHT_POWER]; + struct dell_uart_backlight *dell_pdata = bl_get_data(bd); + struct uart_8250_port *uart = serial8250_get_port(dell_pdata->line); + int rx_len; + + if (power != FB_BLANK_POWERDOWN) + power = FB_BLANK_UNBLANK; + + bl_cmd->cmd[2] = power ? 0 : 1; + bl_cmd->cmd[3] = dell_uart_checksum(bl_cmd->cmd, bl_cmd->tx_len - 1); + + dell_uart_dump_cmd(__func__, "tx: ", bl_cmd->cmd, bl_cmd->tx_len); + + if (mutex_lock_killable(&dell_pdata->brightness_mutex) < 0) { + pr_debug("Failed to get mutex_lock"); + return 0; + } + + dell_uart_write(uart, bl_cmd->cmd, bl_cmd->tx_len); + rx_len = dell_uart_read(uart, bl_cmd->ret, bl_cmd->rx_len); + + mutex_unlock(&dell_pdata->brightness_mutex); + + dell_uart_dump_cmd(__func__, "rx: ", bl_cmd->ret, rx_len); + + bd->props.power = power; + dell_pdata->bl_power = power; + + return 0; +} + +static int dell_uart_get_brightness(struct backlight_device *bd) +{ + struct dell_uart_bl_cmd *bl_cmd = &uart_cmd[DELL_UART_GET_BRIGHTNESS]; + struct dell_uart_backlight *dell_pdata = bl_get_data(bd); + struct uart_8250_port *uart = serial8250_get_port(dell_pdata->line); + int rx_len, brightness = 0; + + dell_uart_dump_cmd(__func__, "tx: ", bl_cmd->cmd, bl_cmd->tx_len); + + if (mutex_lock_killable(&dell_pdata->brightness_mutex) < 0) { + pr_debug("Failed to get mutex_lock"); + return 0; + } + + dell_uart_write(uart, bl_cmd->cmd, bl_cmd->tx_len); + rx_len = dell_uart_read(uart, bl_cmd->ret, bl_cmd->rx_len); + + mutex_unlock(&dell_pdata->brightness_mutex); + + dell_uart_dump_cmd(__func__, "rx: ", bl_cmd->ret, rx_len); + + brightness = (unsigned int)bl_cmd->ret[2]; + + return brightness; +} + +static int dell_uart_update_status(struct backlight_device *bd) +{ + struct dell_uart_bl_cmd *bl_cmd = &uart_cmd[DELL_UART_SET_BRIGHTNESS]; + struct dell_uart_backlight *dell_pdata = bl_get_data(bd); + struct uart_8250_port *uart = serial8250_get_port(dell_pdata->line); + int rx_len; + + bl_cmd->cmd[2] = bd->props.brightness; + bl_cmd->cmd[3] = dell_uart_checksum(bl_cmd->cmd, bl_cmd->tx_len - 1); + + dell_uart_dump_cmd(__func__, "tx: ", bl_cmd->cmd, bl_cmd->tx_len); + + if (mutex_lock_killable(&dell_pdata->brightness_mutex) < 0) { + pr_debug("Failed to get mutex_lock"); + return 0; + } + + dell_uart_write(uart, bl_cmd->cmd, bl_cmd->tx_len); + rx_len = dell_uart_read(uart, bl_cmd->ret, bl_cmd->rx_len); + + mutex_unlock(&dell_pdata->brightness_mutex); + + dell_uart_dump_cmd(__func__, "rx: ", bl_cmd->ret, rx_len); + + if (bd->props.power != dell_uart_get_bl_power(dell_pdata)) + dell_uart_set_bl_power(bd, bd->props.power); + + return 0; +} + +static int dell_uart_show_firmware_ver(struct dell_uart_backlight *dell_pdata) +{ + struct dell_uart_bl_cmd *bl_cmd = &uart_cmd[DELL_UART_GET_FIRMWARE_VER]; + struct uart_8250_port *uart = serial8250_get_port(dell_pdata->line); + int rx_len = 0, retry = 10; + + dell_uart_dump_cmd(__func__, "tx: ", bl_cmd->cmd, bl_cmd->tx_len); + + if (mutex_lock_killable(&dell_pdata->brightness_mutex) < 0) { + pr_debug("Failed to get mutex_lock"); + return -1; + } + + dell_uart_write(uart, bl_cmd->cmd, bl_cmd->tx_len); + while (retry-- > 0) { + /* first byte is data length */ + dell_uart_read(uart, bl_cmd->ret, 1); + rx_len = (int)bl_cmd->ret[0]; + if (bl_cmd->ret[0] > 80 || bl_cmd->ret[0] == 0) { + pr_debug("Failed to get firmware version\n"); + if (retry == 0) { + mutex_unlock(&dell_pdata->brightness_mutex); + return -1; + } + msleep(100); + continue; + } + + dell_uart_read(uart, bl_cmd->ret+1, rx_len-1); + break; + } + mutex_unlock(&dell_pdata->brightness_mutex); + + dell_uart_dump_cmd(__func__, "rx: ", bl_cmd->ret, rx_len); + + pr_debug("Firmare str(%d)= %s\n", (int)bl_cmd->ret[0], bl_cmd->ret+2); + return rx_len; +} + +static int dell_uart_get_display_mode(struct dell_uart_backlight *dell_pdata) +{ + struct dell_uart_bl_cmd *bl_cmd = &uart_cmd[DELL_UART_GET_DISPLAY_MODE]; + struct uart_8250_port *uart = serial8250_get_port(dell_pdata->line); + int rx_len; + int status = 0, retry = 10; + + do { + dell_uart_dump_cmd(__func__, "tx: ", bl_cmd->cmd, bl_cmd->tx_len); + + if (mutex_lock_killable(&dell_pdata->brightness_mutex) < 0) { + pr_debug("Failed to get mutex_lock"); + return 0; + } + + dell_uart_write(uart, bl_cmd->cmd, bl_cmd->tx_len); + rx_len = dell_uart_read(uart, bl_cmd->ret, bl_cmd->rx_len); + + mutex_unlock(&dell_pdata->brightness_mutex); + + dell_uart_dump_cmd(__func__, "rx: ", bl_cmd->ret, rx_len); + mdelay(1000); + } while (rx_len == 0 && --retry); + + if (rx_len == 4) + status = ((unsigned int)bl_cmd->ret[2] == PC_MODE); + + return status; +} + +static const struct backlight_ops dell_uart_backlight_ops = { + .get_brightness = dell_uart_get_brightness, + .update_status = dell_uart_update_status, +}; + +static int dell_uart_startup(struct dell_uart_backlight *dell_pdata) +{ + struct uart_8250_port *uartp; + struct uart_port *port; + + dell_pdata->line = 0; + uartp = serial8250_get_port(dell_pdata->line); + port = &uartp->port; + tty = port->state->port.tty; + io_serial_in = port->serial_in; + uart_write = tty->driver->ops->write; + uart_chars_in_buffer = tty->driver->ops->chars_in_buffer; + + return 0; +} + +static int dell_uart_bl_add(struct acpi_device *dev) +{ + struct dell_uart_backlight *dell_pdata; + struct backlight_properties props; + struct backlight_device *dell_uart_bd; + + dell_pdata = kzalloc(sizeof(struct dell_uart_backlight), GFP_KERNEL); + if (!dell_pdata) { + pr_debug("Failed to allocate memory for dell_uart_backlight\n"); + return -ENOMEM; + } + dell_pdata->dev = &dev->dev; + dell_uart_startup(dell_pdata); + dev->driver_data = dell_pdata; + + mutex_init(&dell_pdata->brightness_mutex); + + if (!force) { + if (dmi_check_system(dell_uart_backlight_alpha_platform)) { + /* try another command to make sure there is no scalar IC */ + if (dell_uart_show_firmware_ver(dell_pdata) <= 4) { + pr_debug("Scalar is not in charge of brightness adjustment.\n"); + kfree_sensitive(dell_pdata); + return -ENODEV; + } + } + else if (!dell_uart_get_display_mode(dell_pdata)) { + pr_debug("Scalar is not in charge of brightness adjustment.\n"); + kfree_sensitive(dell_pdata); + return -ENODEV; + } + } + + memset(&props, 0, sizeof(struct backlight_properties)); + props.type = BACKLIGHT_PLATFORM; + props.max_brightness = 100; + + dell_uart_bd = backlight_device_register("dell_uart_backlight", + &dev->dev, + dell_pdata, + &dell_uart_backlight_ops, + &props); + if (IS_ERR(dell_uart_bd)) { + kfree_sensitive(dell_pdata); + pr_debug("Backlight registration failed\n"); + return PTR_ERR(dell_uart_bd); + } + + dell_pdata->dell_uart_bd = dell_uart_bd; + + dell_uart_set_bl_power(dell_uart_bd, FB_BLANK_UNBLANK); + dell_uart_bd->props.brightness = 100; + backlight_update_status(dell_uart_bd); + + /* unregister acpi backlight interface */ + acpi_video_set_dmi_backlight_type(acpi_backlight_vendor); + + return 0; +} + +static int dell_uart_bl_remove(struct acpi_device *dev) +{ + struct dell_uart_backlight *dell_pdata = dev->driver_data; + + backlight_device_unregister(dell_pdata->dell_uart_bd); + kfree_sensitive(dell_pdata); + + return 0; +} + +static int dell_uart_bl_suspend(struct device *dev) +{ + filp_close(ftty, NULL); + return 0; +} + +static int dell_uart_bl_resume(struct device *dev) +{ + ftty = filp_open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY, 0); + return 0; +} + +static SIMPLE_DEV_PM_OPS(dell_uart_bl_pm, dell_uart_bl_suspend, dell_uart_bl_resume); + +static const struct acpi_device_id dell_uart_bl_ids[] = { + {"DELL0501", 0}, + {"", 0}, +}; + +static struct acpi_driver dell_uart_backlight_driver = { + .name = "Dell AIO serial backlight", + .ids = dell_uart_bl_ids, + .ops = { + .add = dell_uart_bl_add, + .remove = dell_uart_bl_remove, + }, + .drv.pm = &dell_uart_bl_pm, +}; + +static int __init dell_uart_bl_init(void) +{ + ftty = filp_open("/dev/ttyS0", O_RDWR | O_NOCTTY | O_NDELAY, 0); + if (IS_ERR(ftty)) { + pr_debug("cannot open /dev/ttyS0\n"); + return -EINVAL; + } + + return acpi_bus_register_driver(&dell_uart_backlight_driver); +} + +static void __exit dell_uart_bl_exit(void) +{ + filp_close(ftty, NULL); + + acpi_bus_unregister_driver(&dell_uart_backlight_driver); +} + +module_init(dell_uart_bl_init); +module_exit(dell_uart_bl_exit); +MODULE_DEVICE_TABLE(acpi, dell_uart_bl_ids); +MODULE_DESCRIPTION("Dell AIO Serial Backlight module"); +MODULE_AUTHOR("AceLan Kao "); +MODULE_LICENSE("GPL"); --- linux-gcp-5.19.0.orig/drivers/platform/x86/dell/dell-uart-backlight.h +++ linux-gcp-5.19.0/drivers/platform/x86/dell/dell-uart-backlight.h @@ -0,0 +1,41 @@ +/* + * Dell AIO Serial Backlight Driver + * + * Copyright (C) 2017 AceLan Kao + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#ifndef _DELL_UART_BACKLIGHT_H_ +#define _DELL_UART_BACKLIGHT_H_ + +enum { + DELL_UART_GET_FIRMWARE_VER, + DELL_UART_GET_BRIGHTNESS, + DELL_UART_SET_BRIGHTNESS, + DELL_UART_SET_BACKLIGHT_POWER, + DELL_UART_GET_DISPLAY_MODE, +}; + +enum { + PC_MODE, + AV_MODE, +}; + +struct dell_uart_bl_cmd { + unsigned char cmd[10]; + unsigned char ret[80]; + unsigned short tx_len; + unsigned short rx_len; +}; + +#endif /* _DELL_UART_BACKLIGHT_H_ */ --- linux-gcp-5.19.0.orig/drivers/platform/x86/dell/dell-wmi-base.c +++ linux-gcp-5.19.0/drivers/platform/x86/dell/dell-wmi-base.c @@ -261,6 +261,9 @@ { KE_KEY, 0x57, { KEY_BRIGHTNESSDOWN } }, { KE_KEY, 0x58, { KEY_BRIGHTNESSUP } }, + /*Speaker Mute*/ + { KE_KEY, 0x109, { KEY_MUTE} }, + /* Mic mute */ { KE_KEY, 0x150, { KEY_MICMUTE } }, --- linux-gcp-5.19.0.orig/drivers/platform/x86/dell/dell-wmi-privacy.c +++ linux-gcp-5.19.0/drivers/platform/x86/dell/dell-wmi-privacy.c @@ -61,7 +61,7 @@ /* privacy mic mute */ { KE_KEY, 0x0001, { KEY_MICMUTE } }, /* privacy camera mute */ - { KE_SW, 0x0002, { SW_CAMERA_LENS_COVER } }, + { KE_VSW, 0x0002, { SW_CAMERA_LENS_COVER } }, { KE_END, 0}, }; @@ -115,11 +115,15 @@ switch (code) { case DELL_PRIVACY_AUDIO_EVENT: /* Mic mute */ - case DELL_PRIVACY_CAMERA_EVENT: /* Camera mute */ priv->last_status = status; sparse_keymap_report_entry(priv->input_dev, key, 1, true); ret = true; break; + case DELL_PRIVACY_CAMERA_EVENT: /* Camera mute */ + priv->last_status = status; + sparse_keymap_report_entry(priv->input_dev, key, !(status & CAMERA_STATUS), false); + ret = true; + break; default: dev_dbg(&priv->wdev->dev, "unknown event type 0x%04x 0x%04x\n", type, code); } @@ -295,7 +299,7 @@ { struct privacy_wmi_data *priv; struct key_entry *keymap; - int ret, i; + int ret, i, j; ret = wmi_has_guid(DELL_PRIVACY_GUID); if (!ret) @@ -307,6 +311,11 @@ dev_set_drvdata(&wdev->dev, priv); priv->wdev = wdev; + + ret = get_current_status(priv->wdev); + if (ret) + return ret; + /* create evdev passing interface */ priv->input_dev = devm_input_allocate_device(&wdev->dev); if (!priv->input_dev) @@ -321,9 +330,20 @@ /* remap the keymap code with Dell privacy key type 0x12 as prefix * KEY_MICMUTE scancode will be reported as 0x120001 */ - for (i = 0; i < ARRAY_SIZE(dell_wmi_keymap_type_0012); i++) { - keymap[i] = dell_wmi_keymap_type_0012[i]; - keymap[i].code |= (0x0012 << 16); + for (i = 0, j = 0; i < ARRAY_SIZE(dell_wmi_keymap_type_0012); i++) { + /* + * Unlike keys where only presses matter, userspace may act + * on switches in both of their positions. Only register + * SW_CAMERA_LENS_COVER if it is actually there. + */ + if (dell_wmi_keymap_type_0012[i].type == KE_VSW && + dell_wmi_keymap_type_0012[i].sw.code == SW_CAMERA_LENS_COVER && + !(priv->features_present & BIT(DELL_PRIVACY_TYPE_CAMERA))) + continue; + + keymap[j] = dell_wmi_keymap_type_0012[i]; + keymap[j].code |= (0x0012 << 16); + j++; } ret = sparse_keymap_setup(priv->input_dev, keymap, NULL); kfree(keymap); @@ -334,11 +354,12 @@ priv->input_dev->name = "Dell Privacy Driver"; priv->input_dev->id.bustype = BUS_HOST; - ret = input_register_device(priv->input_dev); - if (ret) - return ret; + /* Report initial camera-cover status */ + if (priv->features_present & BIT(DELL_PRIVACY_TYPE_CAMERA)) + input_report_switch(priv->input_dev, SW_CAMERA_LENS_COVER, + !(priv->last_status & CAMERA_STATUS)); - ret = get_current_status(priv->wdev); + ret = input_register_device(priv->input_dev); if (ret) return ret; --- linux-gcp-5.19.0.orig/drivers/platform/x86/gigabyte-wmi.c +++ linux-gcp-5.19.0/drivers/platform/x86/gigabyte-wmi.c @@ -141,6 +141,7 @@ static const struct dmi_system_id gigabyte_wmi_known_working_platforms[] = { DMI_EXACT_MATCH_GIGABYTE_BOARD_NAME("B450M DS3H-CF"), + DMI_EXACT_MATCH_GIGABYTE_BOARD_NAME("B450M DS3H WIFI-CF"), DMI_EXACT_MATCH_GIGABYTE_BOARD_NAME("B450M S2H V2"), DMI_EXACT_MATCH_GIGABYTE_BOARD_NAME("B550 AORUS ELITE AX V2"), DMI_EXACT_MATCH_GIGABYTE_BOARD_NAME("B550 AORUS ELITE"), --- linux-gcp-5.19.0.orig/drivers/platform/x86/hp-wmi.c +++ linux-gcp-5.19.0/drivers/platform/x86/hp-wmi.c @@ -90,6 +90,7 @@ HPWMI_PEAKSHIFT_PERIOD = 0x0F, HPWMI_BATTERY_CHARGE_PERIOD = 0x10, HPWMI_SANITIZATION_MODE = 0x17, + HPWMI_SMART_EXPERIENCE_APP = 0x21, }; /* @@ -177,7 +178,8 @@ enum hp_thermal_profile { HP_THERMAL_PROFILE_PERFORMANCE = 0x00, HP_THERMAL_PROFILE_DEFAULT = 0x01, - HP_THERMAL_PROFILE_COOL = 0x02 + HP_THERMAL_PROFILE_COOL = 0x02, + HP_THERMAL_PROFILE_QUIET = 0x03, }; #define IS_HWBLOCKED(x) ((x & HPWMI_POWER_FW_OR_HW) != HPWMI_POWER_FW_OR_HW) @@ -856,6 +858,8 @@ break; case HPWMI_SANITIZATION_MODE: break; + case HPWMI_SMART_EXPERIENCE_APP: + break; default: pr_info("Unknown event_id - %d - 0x%x\n", event_id, event_data); break; @@ -1194,6 +1198,9 @@ case HP_THERMAL_PROFILE_COOL: *profile = PLATFORM_PROFILE_COOL; break; + case HP_THERMAL_PROFILE_QUIET: + *profile = PLATFORM_PROFILE_QUIET; + break; default: return -EINVAL; } @@ -1216,6 +1223,9 @@ case PLATFORM_PROFILE_COOL: tp = HP_THERMAL_PROFILE_COOL; break; + case PLATFORM_PROFILE_QUIET: + tp = HP_THERMAL_PROFILE_QUIET; + break; default: return -EOPNOTSUPP; } @@ -1263,6 +1273,8 @@ platform_profile_handler.profile_get = hp_wmi_platform_profile_get; platform_profile_handler.profile_set = hp_wmi_platform_profile_set; + + set_bit(PLATFORM_PROFILE_QUIET, platform_profile_handler.choices); } set_bit(PLATFORM_PROFILE_COOL, platform_profile_handler.choices); @@ -1289,8 +1301,16 @@ wwan_rfkill = NULL; rfkill2_count = 0; - if (hp_wmi_rfkill_setup(device)) - hp_wmi_rfkill2_setup(device); + /* + * In pre-2009 BIOS, command 1Bh return 0x4 to indicate that + * BIOS no longer controls the power for the wireless + * devices. All features supported by this command will no + * longer be supported. + */ + if (!hp_wmi_bios_2009_later()) { + if (hp_wmi_rfkill_setup(device)) + hp_wmi_rfkill2_setup(device); + } err = hp_wmi_hwmon_init(); --- linux-gcp-5.19.0.orig/drivers/platform/x86/huawei-wmi.c +++ linux-gcp-5.19.0/drivers/platform/x86/huawei-wmi.c @@ -760,6 +760,9 @@ const char *guid, struct input_dev **idev) { + acpi_status status; + int err; + *idev = devm_input_allocate_device(dev); if (!*idev) return -ENOMEM; @@ -769,10 +772,19 @@ (*idev)->id.bustype = BUS_HOST; (*idev)->dev.parent = dev; - return sparse_keymap_setup(*idev, huawei_wmi_keymap, NULL) || - input_register_device(*idev) || - wmi_install_notify_handler(guid, huawei_wmi_input_notify, - *idev); + err = sparse_keymap_setup(*idev, huawei_wmi_keymap, NULL); + if (err) + return err; + + err = input_register_device(*idev); + if (err) + return err; + + status = wmi_install_notify_handler(guid, huawei_wmi_input_notify, *idev); + if (ACPI_FAILURE(status)) + return -EIO; + + return 0; } static void huawei_wmi_input_exit(struct device *dev, const char *guid) --- linux-gcp-5.19.0.orig/drivers/platform/x86/ideapad-laptop.c +++ linux-gcp-5.19.0/drivers/platform/x86/ideapad-laptop.c @@ -136,6 +136,7 @@ bool dytc : 1; bool fan_mode : 1; bool fn_lock : 1; + bool set_fn_lock_led : 1; bool hw_rfkill_switch : 1; bool kbd_bl : 1; bool touchpad_ctrl_via_ec : 1; @@ -154,7 +155,21 @@ static bool allow_v4_dytc; module_param(allow_v4_dytc, bool, 0444); -MODULE_PARM_DESC(allow_v4_dytc, "Enable DYTC version 4 platform-profile support."); +MODULE_PARM_DESC(allow_v4_dytc, + "Enable DYTC version 4 platform-profile support. " + "If you need this please report this to: platform-driver-x86@vger.kernel.org"); + +static bool hw_rfkill_switch; +module_param(hw_rfkill_switch, bool, 0444); +MODULE_PARM_DESC(hw_rfkill_switch, + "Enable rfkill support for laptops with a hw on/off wifi switch/slider. " + "If you need this please report this to: platform-driver-x86@vger.kernel.org"); + +static bool set_fn_lock_led; +module_param(set_fn_lock_led, bool, 0444); +MODULE_PARM_DESC(set_fn_lock_led, + "Enable driver based updates of the fn-lock LED on fn-lock changes. " + "If you need this please report this to: platform-driver-x86@vger.kernel.org"); /* * ACPI Helpers @@ -1501,6 +1516,9 @@ ideapad_input_report(priv, value); break; case 208: + if (!priv->features.set_fn_lock_led) + break; + if (!eval_hals(priv->adev->handle, &result)) { bool state = test_bit(HALS_FNLOCK_STATE_BIT, &result); @@ -1514,6 +1532,24 @@ } #endif +/* On some models we need to call exec_sals(SALS_FNLOCK_ON/OFF) to set the LED */ +static const struct dmi_system_id set_fn_lock_led_list[] = { + { + /* https://bugzilla.kernel.org/show_bug.cgi?id=212671 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo Legion R7000P2020H"), + } + }, + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo Legion 5 15ARH05"), + } + }, + {} +}; + /* * Some ideapads have a hardware rfkill switch, but most do not have one. * Reading VPCCMD_R_RF always results in 0 on models without a hardware rfkill, @@ -1533,15 +1569,41 @@ {} }; +static const struct dmi_system_id no_touchpad_switch_list[] = { + { + .ident = "Lenovo Yoga 3 Pro 1370", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "Lenovo YOGA 3"), + }, + }, + { + .ident = "ZhaoYang K4e-IML", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_VERSION, "ZhaoYang K4e-IML"), + }, + }, + {} +}; + static void ideapad_check_features(struct ideapad_private *priv) { acpi_handle handle = priv->adev->handle; unsigned long val; - priv->features.hw_rfkill_switch = dmi_check_system(hw_rfkill_list); + priv->features.set_fn_lock_led = + set_fn_lock_led || dmi_check_system(set_fn_lock_led_list); + priv->features.hw_rfkill_switch = + hw_rfkill_switch || dmi_check_system(hw_rfkill_list); /* Most ideapads with ELAN0634 touchpad don't use EC touchpad switch */ - priv->features.touchpad_ctrl_via_ec = !acpi_dev_present("ELAN0634", NULL, -1); + if (acpi_dev_present("ELAN0634", NULL, -1)) + priv->features.touchpad_ctrl_via_ec = 0; + else if (dmi_check_system(no_touchpad_switch_list)) + priv->features.touchpad_ctrl_via_ec = 0; + else + priv->features.touchpad_ctrl_via_ec = 1; if (!read_ec_data(handle, VPCCMD_R_FAN, &val)) priv->features.fan_mode = true; --- linux-gcp-5.19.0.orig/drivers/platform/x86/intel/hid.c +++ linux-gcp-5.19.0/drivers/platform/x86/intel/hid.c @@ -27,6 +27,9 @@ {"INTC1051", 0}, {"INTC1054", 0}, {"INTC1070", 0}, + {"INTC1076", 0}, + {"INTC1077", 0}, + {"INTC1078", 0}, {"", 0}, }; MODULE_DEVICE_TABLE(acpi, intel_hid_ids); @@ -100,6 +103,13 @@ }, }, { + .ident = "Microsoft Surface Go 3", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Microsoft Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "Surface Go 3"), + }, + }, + { .ident = "Microsoft Surface Go 3", .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Microsoft Corporation"), --- linux-gcp-5.19.0.orig/drivers/platform/x86/intel/int3472/clk_and_regulator.c +++ linux-gcp-5.19.0/drivers/platform/x86/intel/int3472/clk_and_regulator.c @@ -181,6 +181,9 @@ return PTR_ERR(int3472->regulator.gpio); } + /* Ensure the pin is in output mode and non-active state */ + gpiod_direction_output(int3472->regulator.gpio, 0); + cfg.dev = &int3472->adev->dev; cfg.init_data = &init_data; cfg.ena_gpiod = int3472->regulator.gpio; --- linux-gcp-5.19.0.orig/drivers/platform/x86/intel/int3472/common.h +++ linux-gcp-5.19.0/drivers/platform/x86/intel/int3472/common.h @@ -23,7 +23,7 @@ #define INT3472_GPIO_TYPE_PRIVACY_LED 0x0d #define INT3472_PDEV_MAX_NAME_LEN 23 -#define INT3472_MAX_SENSOR_GPIOS 3 +#define INT3472_MAX_SENSOR_GPIOS 4 #define GPIO_REGULATOR_NAME_LENGTH 21 #define GPIO_REGULATOR_SUPPLY_NAME_LENGTH 9 @@ -73,6 +73,7 @@ const char *sensor_module_name; struct regulator_consumer_supply supply_map; const struct int3472_gpio_function_remap *function_maps; + const bool independent_clk_gpios; }; struct int3472_discrete_device { --- linux-gcp-5.19.0.orig/drivers/platform/x86/intel/int3472/discrete.c +++ linux-gcp-5.19.0/drivers/platform/x86/intel/int3472/discrete.c @@ -57,11 +57,17 @@ static const struct int3472_sensor_config int3472_sensor_configs[] = { /* Lenovo Miix 510-12ISK - OV2680, Front */ - { "GNDF140809R", { 0 }, ov2680_gpio_function_remaps }, + { "GNDF140809R", { 0 }, ov2680_gpio_function_remaps, false }, /* Lenovo Miix 510-12ISK - OV5648, Rear */ - { "GEFF150023R", REGULATOR_SUPPLY("avdd", NULL), NULL }, + { "GEFF150023R", REGULATOR_SUPPLY("avdd", NULL), NULL, false }, /* Surface Go 1&2 - OV5693, Front */ - { "YHCU", REGULATOR_SUPPLY("avdd", NULL), NULL }, + { "YHCU", REGULATOR_SUPPLY("avdd", NULL), NULL, false }, + /* Dell Latitude 9420 - OV01A1S, Front */ + { "0BF111N3", { 0 }, NULL, true }, + /* Dell Latitude 9420 - HM11B1, Front */ + { "9BF123N3", { 0 }, NULL, true }, + /* Lenovo X1 Yoga - OV2740, Front */ + { "CJFLE23", { 0 }, NULL, true }, }; static const struct int3472_sensor_config * @@ -168,6 +174,8 @@ return (PTR_ERR(gpio)); int3472->clock.ena_gpio = gpio; + /* Ensure the pin is in output mode and non-active state */ + gpiod_direction_output(int3472->clock.ena_gpio, 0); break; case INT3472_GPIO_TYPE_PRIVACY_LED: gpio = acpi_get_and_request_gpiod(path, pin, "int3472,privacy-led"); @@ -175,6 +183,8 @@ return (PTR_ERR(gpio)); int3472->clock.led_gpio = gpio; + /* Ensure the pin is in output mode and non-active state */ + gpiod_direction_output(int3472->clock.led_gpio, 0); break; default: dev_err(int3472->dev, "Invalid GPIO type 0x%02x for clock\n", type); @@ -225,6 +235,8 @@ const char *err_msg; int ret; u8 type; + u8 active_value; + u32 polarity = GPIO_LOOKUP_FLAGS_DEFAULT; if (!acpi_gpio_get_io_resource(ares, &agpio)) return 1; @@ -245,28 +257,45 @@ } type = obj->integer.value & 0xff; + active_value = obj->integer.value >> 24; + if (!active_value) + polarity = GPIO_ACTIVE_LOW; switch (type) { case INT3472_GPIO_TYPE_RESET: ret = skl_int3472_map_gpio_to_sensor(int3472, agpio, "reset", - GPIO_ACTIVE_LOW); + polarity); if (ret) err_msg = "Failed to map reset pin to sensor\n"; break; case INT3472_GPIO_TYPE_POWERDOWN: ret = skl_int3472_map_gpio_to_sensor(int3472, agpio, "powerdown", - GPIO_ACTIVE_LOW); + polarity); if (ret) err_msg = "Failed to map powerdown pin to sensor\n"; break; case INT3472_GPIO_TYPE_CLK_ENABLE: case INT3472_GPIO_TYPE_PRIVACY_LED: - ret = skl_int3472_map_gpio_to_clk(int3472, agpio, type); - if (ret) - err_msg = "Failed to map GPIO to clock\n"; - + if (!IS_ERR(int3472->sensor_config) && + int3472->sensor_config->independent_clk_gpios) { + if (type == INT3472_GPIO_TYPE_CLK_ENABLE) { + ret = skl_int3472_map_gpio_to_sensor(int3472, agpio, + "clken", polarity); + if (ret) + err_msg = "Failed to map clken pin to sensor\n"; + } else if (type == INT3472_GPIO_TYPE_PRIVACY_LED) { + ret = skl_int3472_map_gpio_to_sensor(int3472, agpio, + "pled", polarity); + if (ret) + err_msg = "Failed to map pled pin to sensor\n"; + } + } else { + ret = skl_int3472_map_gpio_to_clk(int3472, agpio, type); + if (ret) + err_msg = "Failed to map GPIO to clock\n"; + } break; case INT3472_GPIO_TYPE_POWER_ENABLE: ret = skl_int3472_register_regulator(int3472, agpio); --- linux-gcp-5.19.0.orig/drivers/platform/x86/intel/pmc/core.c +++ linux-gcp-5.19.0/drivers/platform/x86/intel/pmc/core.c @@ -1914,6 +1914,8 @@ X86_MATCH_INTEL_FAM6_MODEL(ALDERLAKE_N, &tgl_reg_map), X86_MATCH_INTEL_FAM6_MODEL(ALDERLAKE, &adl_reg_map), X86_MATCH_INTEL_FAM6_MODEL(RAPTORLAKE_P, &tgl_reg_map), + X86_MATCH_INTEL_FAM6_MODEL(RAPTORLAKE, &adl_reg_map), + X86_MATCH_INTEL_FAM6_MODEL(RAPTORLAKE_S, &adl_reg_map), {} }; --- linux-gcp-5.19.0.orig/drivers/platform/x86/intel/pmc/pltdrv.c +++ linux-gcp-5.19.0/drivers/platform/x86/intel/pmc/pltdrv.c @@ -18,6 +18,8 @@ #include #include +#include + static void intel_pmc_core_release(struct device *dev) { kfree(dev); @@ -53,6 +55,13 @@ if (acpi_dev_present("INT33A1", NULL, -1)) return -ENODEV; + /* + * Skip forcefully attaching the device for VMs. Make an exception for + * Xen dom0, which does have full hardware access. + */ + if (cpu_feature_enabled(X86_FEATURE_HYPERVISOR) && !xen_initial_domain()) + return -ENODEV; + if (!x86_match_cpu(intel_pmc_core_platform_ids)) return -ENODEV; --- linux-gcp-5.19.0.orig/drivers/platform/x86/intel/pmt/class.c +++ linux-gcp-5.19.0/drivers/platform/x86/intel/pmt/class.c @@ -9,6 +9,7 @@ */ #include +#include #include #include #include @@ -19,6 +20,7 @@ #define PMT_XA_START 0 #define PMT_XA_MAX INT_MAX #define PMT_XA_LIMIT XA_LIMIT(PMT_XA_START, PMT_XA_MAX) +#define GUID_SPR_PUNIT 0x9956f43f /* * Early implementations of PMT on client platforms have some @@ -42,6 +44,29 @@ } EXPORT_SYMBOL_GPL(intel_pmt_is_early_client_hw); +static inline int +pmt_memcpy64_fromio(void *to, const u64 __iomem *from, size_t count) +{ + int i, remain; + u64 *buf = to; + + if (!IS_ALIGNED((unsigned long)from, 8)) + return -EFAULT; + + for (i = 0; i < count/8; i++) + buf[i] = readq(&from[i]); + + /* Copy any remaining bytes */ + remain = count % 8; + if (remain) { + u64 tmp = readq(&from[i]); + + memcpy(&buf[i], &tmp, remain); + } + + return count; +} + /* * sysfs */ @@ -63,7 +88,11 @@ if (count > entry->size - off) count = entry->size - off; - memcpy_fromio(buf, entry->base + off, count); + if (entry->guid == GUID_SPR_PUNIT) + /* PUNIT on SPR only supports aligned 64-bit read */ + count = pmt_memcpy64_fromio(buf, entry->base + off, count); + else + memcpy_fromio(buf, entry->base + off, count); return count; } --- linux-gcp-5.19.0.orig/drivers/platform/x86/intel_ips.c +++ linux-gcp-5.19.0/drivers/platform/x86/intel_ips.c @@ -1432,6 +1432,14 @@ DMI_MATCH(DMI_PRODUCT_NAME, "HP ProBook"), }, }, + { + .callback = ips_blacklist_callback, + .ident = "G60JX", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK Computer Inc."), + DMI_MATCH(DMI_PRODUCT_NAME, "G60JX"), + }, + }, { } /* terminating entry */ }; --- linux-gcp-5.19.0.orig/drivers/platform/x86/intel_scu_ipc.c +++ linux-gcp-5.19.0/drivers/platform/x86/intel_scu_ipc.c @@ -583,7 +583,6 @@ scu->dev.parent = parent; scu->dev.class = &intel_scu_ipc_class; scu->dev.release = intel_scu_ipc_release; - dev_set_name(&scu->dev, "intel_scu_ipc"); if (!request_mem_region(scu_data->mem.start, resource_size(&scu_data->mem), "intel_scu_ipc")) { @@ -612,6 +611,7 @@ * After this point intel_scu_ipc_release() takes care of * releasing the SCU IPC resources once refcount drops to zero. */ + dev_set_name(&scu->dev, "intel_scu_ipc"); err = device_register(&scu->dev); if (err) { put_device(&scu->dev); --- linux-gcp-5.19.0.orig/drivers/platform/x86/msi-laptop.c +++ linux-gcp-5.19.0/drivers/platform/x86/msi-laptop.c @@ -596,11 +596,10 @@ { .ident = "MSI S270", .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "MICRO-STAR INT'L CO.,LTD"), + DMI_MATCH(DMI_SYS_VENDOR, "MICRO-STAR INT"), DMI_MATCH(DMI_PRODUCT_NAME, "MS-1013"), DMI_MATCH(DMI_PRODUCT_VERSION, "0131"), - DMI_MATCH(DMI_CHASSIS_VENDOR, - "MICRO-STAR INT'L CO.,LTD") + DMI_MATCH(DMI_CHASSIS_VENDOR, "MICRO-STAR INT") }, .driver_data = &quirk_old_ec_model, .callback = dmi_check_cb @@ -633,8 +632,7 @@ DMI_MATCH(DMI_SYS_VENDOR, "NOTEBOOK"), DMI_MATCH(DMI_PRODUCT_NAME, "SAM2000"), DMI_MATCH(DMI_PRODUCT_VERSION, "0131"), - DMI_MATCH(DMI_CHASSIS_VENDOR, - "MICRO-STAR INT'L CO.,LTD") + DMI_MATCH(DMI_CHASSIS_VENDOR, "MICRO-STAR INT") }, .driver_data = &quirk_old_ec_model, .callback = dmi_check_cb @@ -1048,8 +1046,7 @@ return -EINVAL; /* Register backlight stuff */ - - if (quirks->old_ec_model || + if (quirks->old_ec_model && acpi_video_get_backlight_type() == acpi_backlight_vendor) { struct backlight_properties props; memset(&props, 0, sizeof(struct backlight_properties)); @@ -1117,6 +1114,8 @@ fail_create_group: if (quirks->load_scm_model) { i8042_remove_filter(msi_laptop_i8042_filter); + cancel_delayed_work_sync(&msi_touchpad_dwork); + input_unregister_device(msi_laptop_input_dev); cancel_delayed_work_sync(&msi_rfkill_dwork); cancel_work_sync(&msi_rfkill_work); rfkill_cleanup(); @@ -1137,6 +1136,7 @@ { if (quirks->load_scm_model) { i8042_remove_filter(msi_laptop_i8042_filter); + cancel_delayed_work_sync(&msi_touchpad_dwork); input_unregister_device(msi_laptop_input_dev); cancel_delayed_work_sync(&msi_rfkill_dwork); cancel_work_sync(&msi_rfkill_work); --- linux-gcp-5.19.0.orig/drivers/platform/x86/mxm-wmi.c +++ linux-gcp-5.19.0/drivers/platform/x86/mxm-wmi.c @@ -35,13 +35,11 @@ .xarg = 1, }; struct acpi_buffer input = { (acpi_size)sizeof(args), &args }; - struct acpi_buffer output = { ACPI_ALLOCATE_BUFFER, NULL }; acpi_status status; printk("calling mux switch %d\n", adapter); - status = wmi_evaluate_method(MXM_WMMX_GUID, 0x0, adapter, &input, - &output); + status = wmi_evaluate_method(MXM_WMMX_GUID, 0x0, adapter, &input, NULL); if (ACPI_FAILURE(status)) return status; @@ -60,13 +58,11 @@ .xarg = 1, }; struct acpi_buffer input = { (acpi_size)sizeof(args), &args }; - struct acpi_buffer output = { ACPI_ALLOCATE_BUFFER, NULL }; acpi_status status; printk("calling mux switch %d\n", adapter); - status = wmi_evaluate_method(MXM_WMMX_GUID, 0x0, adapter, &input, - &output); + status = wmi_evaluate_method(MXM_WMMX_GUID, 0x0, adapter, &input, NULL); if (ACPI_FAILURE(status)) return status; --- linux-gcp-5.19.0.orig/drivers/platform/x86/pmc_atom.c +++ linux-gcp-5.19.0/drivers/platform/x86/pmc_atom.c @@ -232,7 +232,7 @@ pm1_cnt_port = acpi_base_addr + PM1_CNT; pm1_cnt_value = inl(pm1_cnt_port); - pm1_cnt_value &= SLEEP_TYPE_MASK; + pm1_cnt_value &= ~SLEEP_TYPE_MASK; pm1_cnt_value |= SLEEP_TYPE_S5; pm1_cnt_value |= SLEEP_ENABLE; @@ -354,7 +354,7 @@ static int dmi_callback(const struct dmi_system_id *d) { - pr_info("%s critclks quirk enabled\n", d->ident); + pr_info("%s: PMC critical clocks quirk enabled\n", d->ident); return 1; } @@ -389,21 +389,16 @@ }, }, { - /* pmc_plt_clk0 - 3 are used for the 4 ethernet controllers */ - .ident = "Lex 3I380D", + /* + * Lex System / Lex Computech Co. makes a lot of Bay Trail + * based embedded boards which often come with multiple + * ethernet controllers using multiple pmc_plt_clks. See: + * https://www.lex.com.tw/products/embedded-ipc-board/ + */ + .ident = "Lex BayTrail", .callback = dmi_callback, .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Lex BayTrail"), - DMI_MATCH(DMI_PRODUCT_NAME, "3I380D"), - }, - }, - { - /* pmc_plt_clk* - are used for ethernet controllers */ - .ident = "Lex 2I385SW", - .callback = dmi_callback, - .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Lex BayTrail"), - DMI_MATCH(DMI_PRODUCT_NAME, "2I385SW"), }, }, { --- linux-gcp-5.19.0.orig/drivers/platform/x86/serial-multi-instantiate.c +++ linux-gcp-5.19.0/drivers/platform/x86/serial-multi-instantiate.c @@ -329,6 +329,7 @@ { "CSC3551", (unsigned long)&cs35l41_hda }, /* Non-conforming _HID for Cirrus Logic already released */ { "CLSA0100", (unsigned long)&cs35l41_hda }, + { "CLSA0101", (unsigned long)&cs35l41_hda }, { } }; MODULE_DEVICE_TABLE(acpi, smi_acpi_ids); --- linux-gcp-5.19.0.orig/drivers/platform/x86/sony-laptop.c +++ linux-gcp-5.19.0/drivers/platform/x86/sony-laptop.c @@ -1888,14 +1888,21 @@ break; } - ret = sony_call_snc_handle(handle, probe_base, &result); - if (ret) - return ret; + /* + * Only probe if there is a separate probe_base, otherwise the probe call + * is equivalent to __sony_nc_kbd_backlight_mode_set(0), resulting in + * the keyboard backlight being turned off. + */ + if (probe_base) { + ret = sony_call_snc_handle(handle, probe_base, &result); + if (ret) + return ret; - if ((handle == 0x0137 && !(result & 0x02)) || - !(result & 0x01)) { - dprintk("no backlight keyboard found\n"); - return 0; + if ((handle == 0x0137 && !(result & 0x02)) || + !(result & 0x01)) { + dprintk("no backlight keyboard found\n"); + return 0; + } } kbdbl_ctl = kzalloc(sizeof(*kbdbl_ctl), GFP_KERNEL); --- linux-gcp-5.19.0.orig/drivers/platform/x86/thinkpad_acpi.c +++ linux-gcp-5.19.0/drivers/platform/x86/thinkpad_acpi.c @@ -257,6 +257,8 @@ #define TPACPI_DBG_BRGHT 0x0020 #define TPACPI_DBG_MIXER 0x0040 +#define FAN_NOT_PRESENT 65535 + #define onoff(status, bit) ((status) & (1 << (bit)) ? "on" : "off") #define enabled(status, bit) ((status) & (1 << (bit)) ? "enabled" : "disabled") #define strlencmp(a, b) (strncmp((a), (b), strlen(b))) @@ -4495,6 +4497,14 @@ DMI_MATCH(DMI_PRODUCT_NAME, "21A0"), } }, + { + .ident = "P14s Gen2 AMD", + .driver_data = &quirk_s2idle_bug, + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_NAME, "21A1"), + } + }, {} }; @@ -8884,7 +8894,7 @@ /* Try and probe the 2nd fan */ tp_features.second_fan = 1; /* needed for get_speed to work */ res = fan2_get_speed(&speed); - if (res >= 0) { + if (res >= 0 && speed != FAN_NOT_PRESENT) { /* It responded - so let's assume it's there */ tp_features.second_fan = 1; tp_features.second_fan_ctl = 1; --- linux-gcp-5.19.0.orig/drivers/platform/x86/touchscreen_dmi.c +++ linux-gcp-5.19.0/drivers/platform/x86/touchscreen_dmi.c @@ -264,6 +264,23 @@ .properties = connect_tablet9_props, }; +static const struct property_entry csl_panther_tab_hd_props[] = { + PROPERTY_ENTRY_U32("touchscreen-min-x", 1), + PROPERTY_ENTRY_U32("touchscreen-min-y", 20), + PROPERTY_ENTRY_U32("touchscreen-size-x", 1980), + PROPERTY_ENTRY_U32("touchscreen-size-y", 1526), + PROPERTY_ENTRY_BOOL("touchscreen-inverted-y"), + PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"), + PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-csl-panther-tab-hd.fw"), + PROPERTY_ENTRY_U32("silead,max-fingers", 10), + { } +}; + +static const struct ts_dmi_data csl_panther_tab_hd_data = { + .acpi_name = "MSSL1680:00", + .properties = csl_panther_tab_hd_props, +}; + static const struct property_entry cube_iwork8_air_props[] = { PROPERTY_ENTRY_U32("touchscreen-min-x", 1), PROPERTY_ENTRY_U32("touchscreen-min-y", 3), @@ -770,6 +787,22 @@ .properties = predia_basic_props, }; +static const struct property_entry rca_cambio_w101_v2_props[] = { + PROPERTY_ENTRY_U32("touchscreen-min-x", 4), + PROPERTY_ENTRY_U32("touchscreen-min-y", 20), + PROPERTY_ENTRY_U32("touchscreen-size-x", 1644), + PROPERTY_ENTRY_U32("touchscreen-size-y", 874), + PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"), + PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-rca-cambio-w101-v2.fw"), + PROPERTY_ENTRY_U32("silead,max-fingers", 10), + { } +}; + +static const struct ts_dmi_data rca_cambio_w101_v2_data = { + .acpi_name = "MSSL1680:00", + .properties = rca_cambio_w101_v2_props, +}; + static const struct property_entry rwc_nanote_p8_props[] = { PROPERTY_ENTRY_U32("touchscreen-min-y", 46), PROPERTY_ENTRY_U32("touchscreen-size-x", 1728), @@ -1065,6 +1098,15 @@ }, }, { + /* Chuwi Vi8 (CWI501) */ + .driver_data = (void *)&chuwi_vi8_data, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Insyde"), + DMI_MATCH(DMI_PRODUCT_NAME, "i86"), + DMI_MATCH(DMI_BIOS_VERSION, "CHUWI.W86JLBNR01"), + }, + }, + { /* Chuwi Vi8 (CWI506) */ .driver_data = (void *)&chuwi_vi8_data, .matches = { @@ -1109,6 +1151,14 @@ }, }, { + /* CSL Panther Tab HD */ + .driver_data = (void *)&csl_panther_tab_hd_data, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "CSL Computer GmbH & Co. KG"), + DMI_MATCH(DMI_PRODUCT_NAME, "CSL Panther Tab HD"), + }, + }, + { /* CUBE iwork8 Air */ .driver_data = (void *)&cube_iwork8_air_data, .matches = { @@ -1410,6 +1460,15 @@ }, }, { + /* RCA Cambio W101 v2 */ + /* https://github.com/onitake/gsl-firmware/discussions/193 */ + .driver_data = (void *)&rca_cambio_w101_v2_data, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "RCA"), + DMI_MATCH(DMI_PRODUCT_NAME, "W101SA23T1"), + }, + }, + { /* RWC NANOTE P8 */ .driver_data = (void *)&rwc_nanote_p8_data, .matches = { --- linux-gcp-5.19.0.orig/drivers/platform/x86/x86-android-tablets.c +++ linux-gcp-5.19.0/drivers/platform/x86/x86-android-tablets.c @@ -663,9 +663,23 @@ }, }; +static int __init chuwi_hi8_init(void) +{ + /* + * Avoid the acpi_unregister_gsi() call in x86_acpi_irq_helper_get() + * breaking the touchscreen + logging various errors when the Windows + * BIOS is used. + */ + if (acpi_dev_present("MSSL0001", NULL, 1)) + return -ENODEV; + + return 0; +} + static const struct x86_dev_info chuwi_hi8_info __initconst = { .i2c_client_info = chuwi_hi8_i2c_clients, .i2c_client_count = ARRAY_SIZE(chuwi_hi8_i2c_clients), + .init = chuwi_hi8_init, }; #define CZC_EC_EXTRA_PORT 0x68 --- linux-gcp-5.19.0.orig/drivers/pnp/core.c +++ linux-gcp-5.19.0/drivers/pnp/core.c @@ -148,14 +148,14 @@ dev->dev.coherent_dma_mask = dev->dma_mask; dev->dev.release = &pnp_release_device; - dev_set_name(&dev->dev, "%02x:%02x", dev->protocol->number, dev->number); - dev_id = pnp_add_id(dev, pnpid); if (!dev_id) { kfree(dev); return NULL; } + dev_set_name(&dev->dev, "%02x:%02x", dev->protocol->number, dev->number); + return dev; } --- linux-gcp-5.19.0.orig/drivers/pnp/isapnp/core.c +++ linux-gcp-5.19.0/drivers/pnp/isapnp/core.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include "../base.h" @@ -950,7 +951,7 @@ .disable = isapnp_disable_resources, }; -static int __init isapnp_init(void) +static int __init real_isapnp_init(void) { int cards; struct pnp_card *card; @@ -1044,6 +1045,16 @@ return 0; } +static void __init async_isapnp_init(void *unused, async_cookie_t cookie) +{ + (void)real_isapnp_init(); +} + +static int __init isapnp_init(void) +{ + async_schedule(async_isapnp_init, NULL); + return 0; +} device_initcall(isapnp_init); /* format is: noisapnp */ --- linux-gcp-5.19.0.orig/drivers/power/supply/ab8500_btemp.c +++ linux-gcp-5.19.0/drivers/power/supply/ab8500_btemp.c @@ -726,7 +726,14 @@ /* Get thermal zone and ADC */ di->tz = thermal_zone_get_zone_by_name("battery-thermal"); if (IS_ERR(di->tz)) { - return dev_err_probe(dev, PTR_ERR(di->tz), + ret = PTR_ERR(di->tz); + /* + * This usually just means we are probing before the thermal + * zone, so just defer. + */ + if (ret == -ENODEV) + ret = -EPROBE_DEFER; + return dev_err_probe(dev, ret, "failed to get battery thermal zone\n"); } di->bat_ctrl = devm_iio_channel_get(dev, "bat_ctrl"); --- linux-gcp-5.19.0.orig/drivers/power/supply/ab8500_charger.c +++ linux-gcp-5.19.0/drivers/power/supply/ab8500_charger.c @@ -3763,7 +3763,14 @@ if (ret) return ret; - return platform_driver_register(&ab8500_charger_driver); + ret = platform_driver_register(&ab8500_charger_driver); + if (ret) { + platform_unregister_drivers(ab8500_charger_component_drivers, + ARRAY_SIZE(ab8500_charger_component_drivers)); + return ret; + } + + return 0; } static void __exit ab8500_charger_exit(void) --- linux-gcp-5.19.0.orig/drivers/power/supply/adp5061.c +++ linux-gcp-5.19.0/drivers/power/supply/adp5061.c @@ -427,11 +427,11 @@ if (ret < 0) return ret; - chg_type = adp5061_chg_type[ADP5061_CHG_STATUS_1_CHG_STATUS(status1)]; - if (chg_type > ADP5061_CHG_FAST_CV) + chg_type = ADP5061_CHG_STATUS_1_CHG_STATUS(status1); + if (chg_type >= ARRAY_SIZE(adp5061_chg_type)) val->intval = POWER_SUPPLY_STATUS_UNKNOWN; else - val->intval = chg_type; + val->intval = adp5061_chg_type[chg_type]; return ret; } --- linux-gcp-5.19.0.orig/drivers/power/supply/cw2015_battery.c +++ linux-gcp-5.19.0/drivers/power/supply/cw2015_battery.c @@ -698,6 +698,9 @@ } cw_bat->battery_workqueue = create_singlethread_workqueue("rk_battery"); + if (!cw_bat->battery_workqueue) + return -ENOMEM; + INIT_DELAYED_WORK(&cw_bat->battery_delay_work, cw_bat_work); queue_delayed_work(cw_bat->battery_workqueue, &cw_bat->battery_delay_work, msecs_to_jiffies(10)); --- linux-gcp-5.19.0.orig/drivers/power/supply/ip5xxx_power.c +++ linux-gcp-5.19.0/drivers/power/supply/ip5xxx_power.c @@ -352,7 +352,7 @@ ret = ip5xxx_battery_read_adc(ip5xxx, IP5XXX_BATIADC_DAT0, IP5XXX_BATIADC_DAT1, &raw); - val->intval = DIV_ROUND_CLOSEST(raw * 745985, 1000); + val->intval = DIV_ROUND_CLOSEST(raw * 149197, 200); return 0; case POWER_SUPPLY_PROP_CONSTANT_CHARGE_CURRENT: --- linux-gcp-5.19.0.orig/drivers/power/supply/power_supply_core.c +++ linux-gcp-5.19.0/drivers/power/supply/power_supply_core.c @@ -750,6 +750,11 @@ int i, tab_len, size; propname = kasprintf(GFP_KERNEL, "ocv-capacity-table-%d", index); + if (!propname) { + power_supply_put_battery_info(psy, info); + err = -ENOMEM; + goto out_put_node; + } list = of_get_property(battery_np, propname, &size); if (!list || !size) { dev_err(&psy->dev, "failed to get %s\n", propname); @@ -1182,83 +1187,6 @@ thermal_zone_device_unregister(psy->tzd); } -/* thermal cooling device callbacks */ -static int ps_get_max_charge_cntl_limit(struct thermal_cooling_device *tcd, - unsigned long *state) -{ - struct power_supply *psy; - union power_supply_propval val; - int ret; - - psy = tcd->devdata; - ret = power_supply_get_property(psy, - POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT_MAX, &val); - if (ret) - return ret; - - *state = val.intval; - - return ret; -} - -static int ps_get_cur_charge_cntl_limit(struct thermal_cooling_device *tcd, - unsigned long *state) -{ - struct power_supply *psy; - union power_supply_propval val; - int ret; - - psy = tcd->devdata; - ret = power_supply_get_property(psy, - POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT, &val); - if (ret) - return ret; - - *state = val.intval; - - return ret; -} - -static int ps_set_cur_charge_cntl_limit(struct thermal_cooling_device *tcd, - unsigned long state) -{ - struct power_supply *psy; - union power_supply_propval val; - int ret; - - psy = tcd->devdata; - val.intval = state; - ret = psy->desc->set_property(psy, - POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT, &val); - - return ret; -} - -static const struct thermal_cooling_device_ops psy_tcd_ops = { - .get_max_state = ps_get_max_charge_cntl_limit, - .get_cur_state = ps_get_cur_charge_cntl_limit, - .set_cur_state = ps_set_cur_charge_cntl_limit, -}; - -static int psy_register_cooler(struct power_supply *psy) -{ - /* Register for cooling device if psy can control charging */ - if (psy_has_property(psy->desc, POWER_SUPPLY_PROP_CHARGE_CONTROL_LIMIT)) { - psy->tcd = thermal_cooling_device_register( - (char *)psy->desc->name, - psy, &psy_tcd_ops); - return PTR_ERR_OR_ZERO(psy->tcd); - } - - return 0; -} - -static void psy_unregister_cooler(struct power_supply *psy) -{ - if (IS_ERR_OR_NULL(psy->tcd)) - return; - thermal_cooling_device_unregister(psy->tcd); -} #else static int psy_register_thermal(struct power_supply *psy) { @@ -1268,15 +1196,6 @@ static void psy_unregister_thermal(struct power_supply *psy) { } - -static int psy_register_cooler(struct power_supply *psy) -{ - return 0; -} - -static void psy_unregister_cooler(struct power_supply *psy) -{ -} #endif static struct power_supply *__must_check @@ -1350,10 +1269,6 @@ if (rc) goto register_thermal_failed; - rc = psy_register_cooler(psy); - if (rc) - goto register_cooler_failed; - rc = power_supply_create_triggers(psy); if (rc) goto create_triggers_failed; @@ -1383,12 +1298,10 @@ add_hwmon_sysfs_failed: power_supply_remove_triggers(psy); create_triggers_failed: - psy_unregister_cooler(psy); -register_cooler_failed: psy_unregister_thermal(psy); register_thermal_failed: - device_del(dev); wakeup_init_failed: + device_del(dev); device_add_failed: check_supplies_failed: dev_set_name_failed: @@ -1536,7 +1449,6 @@ sysfs_remove_link(&psy->dev.kobj, "powers"); power_supply_remove_hwmon_sysfs(psy); power_supply_remove_triggers(psy); - psy_unregister_cooler(psy); psy_unregister_thermal(psy); device_init_wakeup(&psy->dev, false); device_unregister(&psy->dev); --- linux-gcp-5.19.0.orig/drivers/power/supply/z2_battery.c +++ linux-gcp-5.19.0/drivers/power/supply/z2_battery.c @@ -206,10 +206,12 @@ charger->charge_gpiod = devm_gpiod_get_optional(&client->dev, NULL, GPIOD_IN); - if (IS_ERR(charger->charge_gpiod)) - return dev_err_probe(&client->dev, + if (IS_ERR(charger->charge_gpiod)) { + ret = dev_err_probe(&client->dev, PTR_ERR(charger->charge_gpiod), "failed to get charge GPIO\n"); + goto err; + } if (charger->charge_gpiod) { gpiod_set_consumer_name(charger->charge_gpiod, "BATT CHRG"); --- linux-gcp-5.19.0.orig/drivers/powercap/dtpm_cpu.c +++ linux-gcp-5.19.0/drivers/powercap/dtpm_cpu.c @@ -53,7 +53,7 @@ for (i = 0; i < pd->nr_perf_states; i++) { - power = pd->table[i].power * MICROWATT_PER_MILLIWATT * nr_cpus; + power = pd->table[i].power * nr_cpus; if (power > power_limit) break; @@ -63,8 +63,7 @@ freq_qos_update_request(&dtpm_cpu->qos_req, freq); - power_limit = pd->table[i - 1].power * - MICROWATT_PER_MILLIWATT * nr_cpus; + power_limit = pd->table[i - 1].power * nr_cpus; return power_limit; } --- linux-gcp-5.19.0.orig/drivers/powercap/intel_rapl_common.c +++ linux-gcp-5.19.0/drivers/powercap/intel_rapl_common.c @@ -994,6 +994,9 @@ y = value & 0x1f; value = (1 << y) * (4 + f) * rp->time_unit / 4; } else { + if (value < rp->time_unit) + return 0; + do_div(value, rp->time_unit); y = ilog2(value); f = div64_u64(4 * (value - (1 << y)), 1 << y); @@ -1035,7 +1038,6 @@ .check_unit = rapl_check_unit_core, .set_floor_freq = set_floor_freq_default, .compute_time_window = rapl_compute_time_window_core, - .dram_domain_energy_unit = 15300, .psys_domain_energy_unit = 1000000000, .spr_psys_bits = true, }; @@ -1109,6 +1111,8 @@ X86_MATCH_INTEL_FAM6_MODEL(ALDERLAKE_L, &rapl_defaults_core), X86_MATCH_INTEL_FAM6_MODEL(ALDERLAKE_N, &rapl_defaults_core), X86_MATCH_INTEL_FAM6_MODEL(RAPTORLAKE, &rapl_defaults_core), + X86_MATCH_INTEL_FAM6_MODEL(RAPTORLAKE_P, &rapl_defaults_core), + X86_MATCH_INTEL_FAM6_MODEL(RAPTORLAKE_S, &rapl_defaults_core), X86_MATCH_INTEL_FAM6_MODEL(SAPPHIRERAPIDS_X, &rapl_defaults_spr_server), X86_MATCH_INTEL_FAM6_MODEL(LAKEFIELD, &rapl_defaults_core), @@ -1514,7 +1518,7 @@ id = x86_match_cpu(rapl_ids); if (!id) { - pr_err("driver does not support CPU family %d model %d\n", + pr_info("driver does not support CPU family %d model %d\n", boot_cpu_data.x86, boot_cpu_data.x86_model); return -ENODEV; --- linux-gcp-5.19.0.orig/drivers/powercap/powercap_sys.c +++ linux-gcp-5.19.0/drivers/powercap/powercap_sys.c @@ -529,9 +529,6 @@ power_zone->name = kstrdup(name, GFP_KERNEL); if (!power_zone->name) goto err_name_alloc; - dev_set_name(&power_zone->dev, "%s:%x", - dev_name(power_zone->dev.parent), - power_zone->id); power_zone->constraints = kcalloc(nr_constraints, sizeof(*power_zone->constraints), GFP_KERNEL); @@ -554,9 +551,16 @@ power_zone->dev_attr_groups[0] = &power_zone->dev_zone_attr_group; power_zone->dev_attr_groups[1] = NULL; power_zone->dev.groups = power_zone->dev_attr_groups; + dev_set_name(&power_zone->dev, "%s:%x", + dev_name(power_zone->dev.parent), + power_zone->id); result = device_register(&power_zone->dev); - if (result) - goto err_dev_ret; + if (result) { + put_device(&power_zone->dev); + mutex_unlock(&control_type->lock); + + return ERR_PTR(result); + } control_type->nr_zones++; mutex_unlock(&control_type->lock); --- linux-gcp-5.19.0.orig/drivers/ptp/ptp_clock.c +++ linux-gcp-5.19.0/drivers/ptp/ptp_clock.c @@ -169,6 +169,9 @@ { struct ptp_clock *ptp = container_of(dev, struct ptp_clock, dev); + /* Release the clock's resources. */ + if (ptp->pps_source) + pps_unregister_source(ptp->pps_source); ptp_cleanup_pin_groups(ptp); kfree(ptp->vclock_index); mutex_destroy(&ptp->tsevq_mux); @@ -361,11 +364,6 @@ kthread_cancel_delayed_work_sync(&ptp->aux_work); kthread_destroy_worker(ptp->kworker); } - - /* Release the clock's resources. */ - if (ptp->pps_source) - pps_unregister_source(ptp->pps_source); - posix_clock_unregister(&ptp->clock); return 0; --- linux-gcp-5.19.0.orig/drivers/pwm/pwm-lpc18xx-sct.c +++ linux-gcp-5.19.0/drivers/pwm/pwm-lpc18xx-sct.c @@ -98,7 +98,7 @@ unsigned long clk_rate; unsigned int period_ns; unsigned int min_period_ns; - unsigned int max_period_ns; + u64 max_period_ns; unsigned int period_event; unsigned long event_map; struct mutex res_lock; @@ -145,40 +145,48 @@ mutex_unlock(&lpc18xx_pwm->res_lock); } -static void lpc18xx_pwm_config_period(struct pwm_chip *chip, int period_ns) +static void lpc18xx_pwm_config_period(struct pwm_chip *chip, u64 period_ns) { struct lpc18xx_pwm_chip *lpc18xx_pwm = to_lpc18xx_pwm_chip(chip); - u64 val; + u32 val; - val = (u64)period_ns * lpc18xx_pwm->clk_rate; - do_div(val, NSEC_PER_SEC); + /* + * With clk_rate < NSEC_PER_SEC this cannot overflow. + * With period_ns < max_period_ns this also fits into an u32. + * As period_ns >= min_period_ns = DIV_ROUND_UP(NSEC_PER_SEC, lpc18xx_pwm->clk_rate); + * we have val >= 1. + */ + val = mul_u64_u64_div_u64(period_ns, lpc18xx_pwm->clk_rate, NSEC_PER_SEC); lpc18xx_pwm_writel(lpc18xx_pwm, LPC18XX_PWM_MATCH(lpc18xx_pwm->period_event), - (u32)val - 1); + val - 1); lpc18xx_pwm_writel(lpc18xx_pwm, LPC18XX_PWM_MATCHREL(lpc18xx_pwm->period_event), - (u32)val - 1); + val - 1); } static void lpc18xx_pwm_config_duty(struct pwm_chip *chip, - struct pwm_device *pwm, int duty_ns) + struct pwm_device *pwm, u64 duty_ns) { struct lpc18xx_pwm_chip *lpc18xx_pwm = to_lpc18xx_pwm_chip(chip); struct lpc18xx_pwm_data *lpc18xx_data = &lpc18xx_pwm->channeldata[pwm->hwpwm]; - u64 val; + u32 val; - val = (u64)duty_ns * lpc18xx_pwm->clk_rate; - do_div(val, NSEC_PER_SEC); + /* + * With clk_rate < NSEC_PER_SEC this cannot overflow. + * With duty_ns <= period_ns < max_period_ns this also fits into an u32. + */ + val = mul_u64_u64_div_u64(duty_ns, lpc18xx_pwm->clk_rate, NSEC_PER_SEC); lpc18xx_pwm_writel(lpc18xx_pwm, LPC18XX_PWM_MATCH(lpc18xx_data->duty_event), - (u32)val); + val); lpc18xx_pwm_writel(lpc18xx_pwm, LPC18XX_PWM_MATCHREL(lpc18xx_data->duty_event), - (u32)val); + val); } static int lpc18xx_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, @@ -377,12 +385,27 @@ goto disable_pwmclk; } + /* + * If clkrate is too fast, the calculations in .apply() might overflow. + */ + if (lpc18xx_pwm->clk_rate > NSEC_PER_SEC) { + ret = dev_err_probe(&pdev->dev, -EINVAL, "pwm clock to fast\n"); + goto disable_pwmclk; + } + + /* + * If clkrate is too fast, the calculations in .apply() might overflow. + */ + if (lpc18xx_pwm->clk_rate > NSEC_PER_SEC) { + ret = dev_err_probe(&pdev->dev, -EINVAL, "pwm clock to fast\n"); + goto disable_pwmclk; + } + mutex_init(&lpc18xx_pwm->res_lock); mutex_init(&lpc18xx_pwm->period_lock); - val = (u64)NSEC_PER_SEC * LPC18XX_PWM_TIMER_MAX; - do_div(val, lpc18xx_pwm->clk_rate); - lpc18xx_pwm->max_period_ns = val; + lpc18xx_pwm->max_period_ns = + mul_u64_u64_div_u64(NSEC_PER_SEC, LPC18XX_PWM_TIMER_MAX, lpc18xx_pwm->clk_rate); lpc18xx_pwm->min_period_ns = DIV_ROUND_UP(NSEC_PER_SEC, lpc18xx_pwm->clk_rate); --- linux-gcp-5.19.0.orig/drivers/pwm/pwm-mediatek.c +++ linux-gcp-5.19.0/drivers/pwm/pwm-mediatek.c @@ -296,7 +296,7 @@ static const struct pwm_mediatek_of_data mt7622_pwm_data = { .num_pwms = 6, .pwm45_fixup = false, - .has_ck_26m_sel = false, + .has_ck_26m_sel = true, }; static const struct pwm_mediatek_of_data mt7623_pwm_data = { --- linux-gcp-5.19.0.orig/drivers/pwm/pwm-mtk-disp.c +++ linux-gcp-5.19.0/drivers/pwm/pwm-mtk-disp.c @@ -178,7 +178,7 @@ { struct mtk_disp_pwm *mdp = to_mtk_disp_pwm(chip); u64 rate, period, high_width; - u32 clk_div, con0, con1; + u32 clk_div, pwm_en, con0, con1; int err; err = clk_prepare_enable(mdp->clk_main); @@ -197,7 +197,8 @@ rate = clk_get_rate(mdp->clk_main); con0 = readl(mdp->base + mdp->data->con0); con1 = readl(mdp->base + mdp->data->con1); - state->enabled = !!(con0 & BIT(0)); + pwm_en = readl(mdp->base + DISP_PWM_EN); + state->enabled = !!(pwm_en & mdp->data->enable_mask); clk_div = FIELD_GET(PWM_CLKDIV_MASK, con0); period = FIELD_GET(PWM_PERIOD_MASK, con1); /* --- linux-gcp-5.19.0.orig/drivers/pwm/pwm-sifive.c +++ linux-gcp-5.19.0/drivers/pwm/pwm-sifive.c @@ -23,7 +23,7 @@ #define PWM_SIFIVE_PWMCFG 0x0 #define PWM_SIFIVE_PWMCOUNT 0x8 #define PWM_SIFIVE_PWMS 0x10 -#define PWM_SIFIVE_PWMCMP0 0x20 +#define PWM_SIFIVE_PWMCMP(i) (0x20 + 4 * (i)) /* PWMCFG fields */ #define PWM_SIFIVE_PWMCFG_SCALE GENMASK(3, 0) @@ -36,8 +36,6 @@ #define PWM_SIFIVE_PWMCFG_GANG BIT(24) #define PWM_SIFIVE_PWMCFG_IP BIT(28) -/* PWM_SIFIVE_SIZE_PWMCMP is used to calculate offset for pwmcmpX registers */ -#define PWM_SIFIVE_SIZE_PWMCMP 4 #define PWM_SIFIVE_CMPWIDTH 16 #define PWM_SIFIVE_DEFAULT_PERIOD 10000000 @@ -112,8 +110,7 @@ struct pwm_sifive_ddata *ddata = pwm_sifive_chip_to_ddata(chip); u32 duty, val; - duty = readl(ddata->regs + PWM_SIFIVE_PWMCMP0 + - pwm->hwpwm * PWM_SIFIVE_SIZE_PWMCMP); + duty = readl(ddata->regs + PWM_SIFIVE_PWMCMP(pwm->hwpwm)); state->enabled = duty > 0; @@ -193,8 +190,7 @@ pwm_sifive_update_clock(ddata, clk_get_rate(ddata->clk)); } - writel(frac, ddata->regs + PWM_SIFIVE_PWMCMP0 + - pwm->hwpwm * PWM_SIFIVE_SIZE_PWMCMP); + writel(frac, ddata->regs + PWM_SIFIVE_PWMCMP(pwm->hwpwm)); if (state->enabled != enabled) pwm_sifive_enable(chip, state->enabled); @@ -220,8 +216,11 @@ struct pwm_sifive_ddata *ddata = container_of(nb, struct pwm_sifive_ddata, notifier); - if (event == POST_RATE_CHANGE) + if (event == POST_RATE_CHANGE) { + mutex_lock(&ddata->lock); pwm_sifive_update_clock(ddata, ndata->new_rate); + mutex_unlock(&ddata->lock); + } return NOTIFY_OK; } @@ -232,6 +231,8 @@ struct pwm_sifive_ddata *ddata; struct pwm_chip *chip; int ret; + u32 val; + unsigned int enabled_pwms = 0, enabled_clks = 1; ddata = devm_kzalloc(dev, sizeof(*ddata), GFP_KERNEL); if (!ddata) @@ -258,6 +259,33 @@ return ret; } + val = readl(ddata->regs + PWM_SIFIVE_PWMCFG); + if (val & PWM_SIFIVE_PWMCFG_EN_ALWAYS) { + unsigned int i; + + for (i = 0; i < chip->npwm; ++i) { + val = readl(ddata->regs + PWM_SIFIVE_PWMCMP(i)); + if (val > 0) + ++enabled_pwms; + } + } + + /* The clk should be on once for each running PWM. */ + if (enabled_pwms) { + while (enabled_clks < enabled_pwms) { + /* This is not expected to fail as the clk is already on */ + ret = clk_enable(ddata->clk); + if (unlikely(ret)) { + dev_err_probe(dev, ret, "Failed to enable clk\n"); + goto disable_clk; + } + ++enabled_clks; + } + } else { + clk_disable(ddata->clk); + enabled_clks = 0; + } + /* Watch for changes to underlying clock frequency */ ddata->notifier.notifier_call = pwm_sifive_clock_notifier; ret = clk_notifier_register(ddata->clk, &ddata->notifier); @@ -280,7 +308,11 @@ unregister_clk: clk_notifier_unregister(ddata->clk, &ddata->notifier); disable_clk: - clk_disable_unprepare(ddata->clk); + while (enabled_clks) { + clk_disable(ddata->clk); + --enabled_clks; + } + clk_unprepare(ddata->clk); return ret; } @@ -288,23 +320,19 @@ static int pwm_sifive_remove(struct platform_device *dev) { struct pwm_sifive_ddata *ddata = platform_get_drvdata(dev); - bool is_enabled = false; struct pwm_device *pwm; int ch; + pwmchip_remove(&ddata->chip); + clk_notifier_unregister(ddata->clk, &ddata->notifier); + for (ch = 0; ch < ddata->chip.npwm; ch++) { pwm = &ddata->chip.pwms[ch]; - if (pwm->state.enabled) { - is_enabled = true; - break; - } + if (pwm->state.enabled) + clk_disable(ddata->clk); } - if (is_enabled) - clk_disable(ddata->clk); - clk_disable_unprepare(ddata->clk); - pwmchip_remove(&ddata->chip); - clk_notifier_unregister(ddata->clk, &ddata->notifier); + clk_unprepare(ddata->clk); return 0; } --- linux-gcp-5.19.0.orig/drivers/pwm/pwm-tegra.c +++ linux-gcp-5.19.0/drivers/pwm/pwm-tegra.c @@ -145,8 +145,19 @@ * source clock rate as required_clk_rate, PWM controller will * be able to configure the requested period. */ - required_clk_rate = - (NSEC_PER_SEC / period_ns) << PWM_DUTY_WIDTH; + required_clk_rate = DIV_ROUND_UP_ULL((u64)NSEC_PER_SEC << PWM_DUTY_WIDTH, + period_ns); + + if (required_clk_rate > clk_round_rate(pc->clk, required_clk_rate)) + /* + * required_clk_rate is a lower bound for the input + * rate; for lower rates there is no value for PWM_SCALE + * that yields a period less than or equal to the + * requested period. Hence, for lower rates, double the + * required_clk_rate to get a clock rate that can meet + * the requested period. + */ + required_clk_rate *= 2; err = dev_pm_opp_set_rate(pc->dev, required_clk_rate); if (err < 0) --- linux-gcp-5.19.0.orig/drivers/rapidio/devices/rio_mport_cdev.c +++ linux-gcp-5.19.0/drivers/rapidio/devices/rio_mport_cdev.c @@ -1804,8 +1804,11 @@ rio_init_dbell_res(&rdev->riores[RIO_DOORBELL_RESOURCE], 0, 0xffff); err = rio_add_device(rdev); - if (err) - goto cleanup; + if (err) { + put_device(&rdev->dev); + return err; + } + rio_dev_get(rdev); return 0; @@ -1901,10 +1904,6 @@ priv->md = chdev; - mutex_lock(&chdev->file_mutex); - list_add_tail(&priv->list, &chdev->file_list); - mutex_unlock(&chdev->file_mutex); - INIT_LIST_HEAD(&priv->db_filters); INIT_LIST_HEAD(&priv->pw_filters); spin_lock_init(&priv->fifo_lock); @@ -1913,6 +1912,7 @@ sizeof(struct rio_event) * MPORT_EVENT_DEPTH, GFP_KERNEL); if (ret < 0) { + put_device(&chdev->dev); dev_err(&chdev->dev, DRV_NAME ": kfifo_alloc failed\n"); ret = -ENOMEM; goto err_fifo; @@ -1923,6 +1923,9 @@ spin_lock_init(&priv->req_lock); mutex_init(&priv->dma_lock); #endif + mutex_lock(&chdev->file_mutex); + list_add_tail(&priv->list, &chdev->file_list); + mutex_unlock(&chdev->file_mutex); filp->private_data = priv; goto out; --- linux-gcp-5.19.0.orig/drivers/rapidio/rio-scan.c +++ linux-gcp-5.19.0/drivers/rapidio/rio-scan.c @@ -454,8 +454,12 @@ 0, 0xffff); ret = rio_add_device(rdev); - if (ret) - goto cleanup; + if (ret) { + if (rswitch) + kfree(rswitch->route_table); + put_device(&rdev->dev); + return NULL; + } rio_dev_get(rdev); --- linux-gcp-5.19.0.orig/drivers/rapidio/rio.c +++ linux-gcp-5.19.0/drivers/rapidio/rio.c @@ -2186,11 +2186,16 @@ atomic_set(&port->state, RIO_DEVICE_RUNNING); res = device_register(&port->dev); - if (res) + if (res) { dev_err(&port->dev, "RIO: mport%d registration failed ERR=%d\n", port->id, res); - else + mutex_lock(&rio_mport_list_lock); + list_del(&port->node); + mutex_unlock(&rio_mport_list_lock); + put_device(&port->dev); + } else { dev_dbg(&port->dev, "RIO: registered mport%d\n", port->id); + } return res; } --- linux-gcp-5.19.0.orig/drivers/regulator/core.c +++ linux-gcp-5.19.0/drivers/regulator/core.c @@ -987,7 +987,7 @@ /* get input voltage */ input_uV = 0; if (rdev->supply) - input_uV = regulator_get_voltage(rdev->supply); + input_uV = regulator_get_voltage_rdev(rdev->supply->rdev); if (input_uV <= 0) input_uV = rdev->constraints->input_uV; if (input_uV <= 0) { @@ -1575,7 +1575,13 @@ if (rdev->supply_name && !rdev->supply) return -EPROBE_DEFER; - if (rdev->supply) { + /* If supplying regulator has already been enabled, + * it's not intended to have use_count increment + * when rdev is only boot-on. + */ + if (rdev->supply && + (rdev->constraints->always_on || + !regulator_is_enabled(rdev->supply))) { ret = regulator_enable(rdev->supply); if (ret < 0) { _regulator_put(rdev->supply); @@ -1621,6 +1627,7 @@ rdev->supply = create_regulator(supply_rdev, &rdev->dev, "SUPPLY"); if (rdev->supply == NULL) { + module_put(supply_rdev->owner); err = -ENOMEM; return err; } @@ -1794,7 +1801,7 @@ regulator = kzalloc(sizeof(*regulator), GFP_KERNEL); if (regulator == NULL) { - kfree(supply_name); + kfree_const(supply_name); return NULL; } @@ -1924,6 +1931,7 @@ node = of_get_regulator(dev, supply); if (node) { r = of_find_regulator_by_node(node); + of_node_put(node); if (r) return r; @@ -2680,7 +2688,7 @@ * return -ETIMEDOUT. */ if (rdev->desc->poll_enabled_time) { - unsigned int time_remaining = delay; + int time_remaining = delay; while (time_remaining > 0) { _regulator_delay_helper(rdev->desc->poll_enabled_time); @@ -2732,13 +2740,18 @@ */ static int _regulator_handle_consumer_enable(struct regulator *regulator) { + int ret; struct regulator_dev *rdev = regulator->rdev; lockdep_assert_held_once(&rdev->mutex.base); regulator->enable_count++; - if (regulator->uA_load && regulator->enable_count == 1) - return drms_uA_update(rdev); + if (regulator->uA_load && regulator->enable_count == 1) { + ret = drms_uA_update(rdev); + if (ret) + regulator->enable_count--; + return ret; + } return 0; } @@ -5128,6 +5141,7 @@ { struct regulator_dev *rdev = dev_get_drvdata(dev); + debugfs_remove_recursive(rdev->debugfs); kfree(rdev->constraints); of_node_put(rdev->dev.of_node); kfree(rdev); @@ -5602,15 +5616,20 @@ regulator_remove_coupling(rdev); mutex_unlock(®ulator_list_mutex); wash: + regulator_put(rdev->supply); kfree(rdev->coupling_desc.coupled_rdevs); mutex_lock(®ulator_list_mutex); regulator_ena_gpio_free(rdev); mutex_unlock(®ulator_list_mutex); + put_device(&rdev->dev); + rdev = NULL; clean: if (dangling_of_gpiod) gpiod_put(config->ena_gpiod); + if (rdev && rdev->dev.of_node) + of_node_put(rdev->dev.of_node); + kfree(rdev); kfree(config); - put_device(&rdev->dev); rinse: if (dangling_cfg_gpiod) gpiod_put(cfg->ena_gpiod); @@ -5639,7 +5658,6 @@ mutex_lock(®ulator_list_mutex); - debugfs_remove_recursive(rdev->debugfs); WARN_ON(rdev->open_count); regulator_remove_coupling(rdev); unset_regulator_supplies(rdev); --- linux-gcp-5.19.0.orig/drivers/regulator/da9121-regulator.c +++ linux-gcp-5.19.0/drivers/regulator/da9121-regulator.c @@ -276,6 +276,11 @@ goto error; } + if (rdev->desc->ops->is_enabled(rdev)) { + ret = -EBUSY; + goto error; + } + ret = da9121_ceiling_selector(rdev, min_ua, max_ua, &sel); if (ret < 0) goto error; --- linux-gcp-5.19.0.orig/drivers/regulator/da9211-regulator.c +++ linux-gcp-5.19.0/drivers/regulator/da9211-regulator.c @@ -498,6 +498,12 @@ chip->chip_irq = i2c->irq; + ret = da9211_regulator_init(chip); + if (ret < 0) { + dev_err(chip->dev, "Failed to initialize regulator: %d\n", ret); + return ret; + } + if (chip->chip_irq != 0) { ret = devm_request_threaded_irq(chip->dev, chip->chip_irq, NULL, da9211_irq_handler, @@ -512,11 +518,6 @@ dev_warn(chip->dev, "No IRQ configured\n"); } - ret = da9211_regulator_init(chip); - - if (ret < 0) - dev_err(chip->dev, "Failed to initialize regulator: %d\n", ret); - return ret; } --- linux-gcp-5.19.0.orig/drivers/regulator/max77802-regulator.c +++ linux-gcp-5.19.0/drivers/regulator/max77802-regulator.c @@ -94,9 +94,11 @@ { unsigned int val = MAX77802_OFF_PWRREQ; struct max77802_regulator_prv *max77802 = rdev_get_drvdata(rdev); - int id = rdev_get_id(rdev); + unsigned int id = rdev_get_id(rdev); int shift = max77802_get_opmode_shift(id); + if (WARN_ON_ONCE(id >= ARRAY_SIZE(max77802->opmode))) + return -EINVAL; max77802->opmode[id] = val; return regmap_update_bits(rdev->regmap, rdev->desc->enable_reg, rdev->desc->enable_mask, val << shift); @@ -110,7 +112,7 @@ static int max77802_set_mode(struct regulator_dev *rdev, unsigned int mode) { struct max77802_regulator_prv *max77802 = rdev_get_drvdata(rdev); - int id = rdev_get_id(rdev); + unsigned int id = rdev_get_id(rdev); unsigned int val; int shift = max77802_get_opmode_shift(id); @@ -127,6 +129,9 @@ return -EINVAL; } + if (WARN_ON_ONCE(id >= ARRAY_SIZE(max77802->opmode))) + return -EINVAL; + max77802->opmode[id] = val; return regmap_update_bits(rdev->regmap, rdev->desc->enable_reg, rdev->desc->enable_mask, val << shift); @@ -135,8 +140,10 @@ static unsigned max77802_get_mode(struct regulator_dev *rdev) { struct max77802_regulator_prv *max77802 = rdev_get_drvdata(rdev); - int id = rdev_get_id(rdev); + unsigned int id = rdev_get_id(rdev); + if (WARN_ON_ONCE(id >= ARRAY_SIZE(max77802->opmode))) + return -EINVAL; return max77802_map_mode(max77802->opmode[id]); } @@ -160,10 +167,13 @@ unsigned int mode) { struct max77802_regulator_prv *max77802 = rdev_get_drvdata(rdev); - int id = rdev_get_id(rdev); + unsigned int id = rdev_get_id(rdev); unsigned int val; int shift = max77802_get_opmode_shift(id); + if (WARN_ON_ONCE(id >= ARRAY_SIZE(max77802->opmode))) + return -EINVAL; + /* * If the regulator has been disabled for suspend * then is invalid to try setting a suspend mode. @@ -209,9 +219,11 @@ static int max77802_enable(struct regulator_dev *rdev) { struct max77802_regulator_prv *max77802 = rdev_get_drvdata(rdev); - int id = rdev_get_id(rdev); + unsigned int id = rdev_get_id(rdev); int shift = max77802_get_opmode_shift(id); + if (WARN_ON_ONCE(id >= ARRAY_SIZE(max77802->opmode))) + return -EINVAL; if (max77802->opmode[id] == MAX77802_OFF_PWRREQ) max77802->opmode[id] = MAX77802_OPMODE_NORMAL; @@ -495,7 +507,7 @@ for (i = 0; i < MAX77802_REG_MAX; i++) { struct regulator_dev *rdev; - int id = regulators[i].id; + unsigned int id = regulators[i].id; int shift = max77802_get_opmode_shift(id); int ret; @@ -513,10 +525,12 @@ * the hardware reports OFF as the regulator operating mode. * Default to operating mode NORMAL in that case. */ - if (val == MAX77802_STATUS_OFF) - max77802->opmode[id] = MAX77802_OPMODE_NORMAL; - else - max77802->opmode[id] = val; + if (id < ARRAY_SIZE(max77802->opmode)) { + if (val == MAX77802_STATUS_OFF) + max77802->opmode[id] = MAX77802_OPMODE_NORMAL; + else + max77802->opmode[id] = val; + } rdev = devm_regulator_register(&pdev->dev, ®ulators[i], &config); --- linux-gcp-5.19.0.orig/drivers/regulator/of_regulator.c +++ linux-gcp-5.19.0/drivers/regulator/of_regulator.c @@ -264,8 +264,12 @@ } suspend_np = of_get_child_by_name(np, regulator_states[i]); - if (!suspend_np || !suspend_state) + if (!suspend_np) continue; + if (!suspend_state) { + of_node_put(suspend_np); + continue; + } if (!of_property_read_u32(suspend_np, "regulator-mode", &pval)) { --- linux-gcp-5.19.0.orig/drivers/regulator/qcom-labibb-regulator.c +++ linux-gcp-5.19.0/drivers/regulator/qcom-labibb-regulator.c @@ -822,6 +822,7 @@ if (irq == 0) irq = -EINVAL; + of_node_put(reg_node); return dev_err_probe(vreg->dev, irq, "Short-circuit irq not found.\n"); } --- linux-gcp-5.19.0.orig/drivers/regulator/qcom-rpmh-regulator.c +++ linux-gcp-5.19.0/drivers/regulator/qcom-rpmh-regulator.c @@ -1188,7 +1188,7 @@ static const struct rpmh_vreg_init_data pmr735a_vreg_data[] = { RPMH_VREG("smps1", "smp%s1", &pmic5_ftsmps520, "vdd-s1"), RPMH_VREG("smps2", "smp%s2", &pmic5_ftsmps520, "vdd-s2"), - RPMH_VREG("smps3", "smp%s3", &pmic5_hfsmps510, "vdd-s3"), + RPMH_VREG("smps3", "smp%s3", &pmic5_hfsmps515, "vdd-s3"), RPMH_VREG("ldo1", "ldo%s1", &pmic5_nldo, "vdd-l1-l2"), RPMH_VREG("ldo2", "ldo%s2", &pmic5_nldo, "vdd-l1-l2"), RPMH_VREG("ldo3", "ldo%s3", &pmic5_nldo, "vdd-l3"), --- linux-gcp-5.19.0.orig/drivers/regulator/qcom_rpm-regulator.c +++ linux-gcp-5.19.0/drivers/regulator/qcom_rpm-regulator.c @@ -802,6 +802,12 @@ }; static const struct rpm_regulator_data rpm_pm8058_regulators[] = { + { "s0", QCOM_RPM_PM8058_SMPS0, &pm8058_smps, "vdd_s0" }, + { "s1", QCOM_RPM_PM8058_SMPS1, &pm8058_smps, "vdd_s1" }, + { "s2", QCOM_RPM_PM8058_SMPS2, &pm8058_smps, "vdd_s2" }, + { "s3", QCOM_RPM_PM8058_SMPS3, &pm8058_smps, "vdd_s3" }, + { "s4", QCOM_RPM_PM8058_SMPS4, &pm8058_smps, "vdd_s4" }, + { "l0", QCOM_RPM_PM8058_LDO0, &pm8058_nldo, "vdd_l0_l1_lvs" }, { "l1", QCOM_RPM_PM8058_LDO1, &pm8058_nldo, "vdd_l0_l1_lvs" }, { "l2", QCOM_RPM_PM8058_LDO2, &pm8058_pldo, "vdd_l2_l11_l12" }, @@ -829,12 +835,6 @@ { "l24", QCOM_RPM_PM8058_LDO24, &pm8058_nldo, "vdd_l23_l24_l25" }, { "l25", QCOM_RPM_PM8058_LDO25, &pm8058_nldo, "vdd_l23_l24_l25" }, - { "s0", QCOM_RPM_PM8058_SMPS0, &pm8058_smps, "vdd_s0" }, - { "s1", QCOM_RPM_PM8058_SMPS1, &pm8058_smps, "vdd_s1" }, - { "s2", QCOM_RPM_PM8058_SMPS2, &pm8058_smps, "vdd_s2" }, - { "s3", QCOM_RPM_PM8058_SMPS3, &pm8058_smps, "vdd_s3" }, - { "s4", QCOM_RPM_PM8058_SMPS4, &pm8058_smps, "vdd_s4" }, - { "lvs0", QCOM_RPM_PM8058_LVS0, &pm8058_switch, "vdd_l0_l1_lvs" }, { "lvs1", QCOM_RPM_PM8058_LVS1, &pm8058_switch, "vdd_l0_l1_lvs" }, @@ -843,6 +843,12 @@ }; static const struct rpm_regulator_data rpm_pm8901_regulators[] = { + { "s0", QCOM_RPM_PM8901_SMPS0, &pm8901_ftsmps, "vdd_s0" }, + { "s1", QCOM_RPM_PM8901_SMPS1, &pm8901_ftsmps, "vdd_s1" }, + { "s2", QCOM_RPM_PM8901_SMPS2, &pm8901_ftsmps, "vdd_s2" }, + { "s3", QCOM_RPM_PM8901_SMPS3, &pm8901_ftsmps, "vdd_s3" }, + { "s4", QCOM_RPM_PM8901_SMPS4, &pm8901_ftsmps, "vdd_s4" }, + { "l0", QCOM_RPM_PM8901_LDO0, &pm8901_nldo, "vdd_l0" }, { "l1", QCOM_RPM_PM8901_LDO1, &pm8901_pldo, "vdd_l1" }, { "l2", QCOM_RPM_PM8901_LDO2, &pm8901_pldo, "vdd_l2" }, @@ -851,12 +857,6 @@ { "l5", QCOM_RPM_PM8901_LDO5, &pm8901_pldo, "vdd_l5" }, { "l6", QCOM_RPM_PM8901_LDO6, &pm8901_pldo, "vdd_l6" }, - { "s0", QCOM_RPM_PM8901_SMPS0, &pm8901_ftsmps, "vdd_s0" }, - { "s1", QCOM_RPM_PM8901_SMPS1, &pm8901_ftsmps, "vdd_s1" }, - { "s2", QCOM_RPM_PM8901_SMPS2, &pm8901_ftsmps, "vdd_s2" }, - { "s3", QCOM_RPM_PM8901_SMPS3, &pm8901_ftsmps, "vdd_s3" }, - { "s4", QCOM_RPM_PM8901_SMPS4, &pm8901_ftsmps, "vdd_s4" }, - { "lvs0", QCOM_RPM_PM8901_LVS0, &pm8901_switch, "lvs0_in" }, { "lvs1", QCOM_RPM_PM8901_LVS1, &pm8901_switch, "lvs1_in" }, { "lvs2", QCOM_RPM_PM8901_LVS2, &pm8901_switch, "lvs2_in" }, --- linux-gcp-5.19.0.orig/drivers/regulator/qcom_smd-regulator.c +++ linux-gcp-5.19.0/drivers/regulator/qcom_smd-regulator.c @@ -357,10 +357,10 @@ static const struct regulator_desc pm8916_pldo = { .linear_ranges = (struct linear_range[]) { - REGULATOR_LINEAR_RANGE(750000, 0, 208, 12500), + REGULATOR_LINEAR_RANGE(1750000, 0, 127, 12500), }, .n_linear_ranges = 1, - .n_voltages = 209, + .n_voltages = 128, .ops = &rpm_smps_ldo_ops, }; --- linux-gcp-5.19.0.orig/drivers/regulator/rt5759-regulator.c +++ linux-gcp-5.19.0/drivers/regulator/rt5759-regulator.c @@ -243,6 +243,7 @@ if (priv->chip_type == CHIP_TYPE_RT5759A) reg_desc->uV_step = RT5759A_STEP_UV; + memset(®_cfg, 0, sizeof(reg_cfg)); reg_cfg.dev = priv->dev; reg_cfg.of_node = np; reg_cfg.init_data = of_get_regulator_init_data(priv->dev, np, reg_desc); --- linux-gcp-5.19.0.orig/drivers/regulator/s5m8767.c +++ linux-gcp-5.19.0/drivers/regulator/s5m8767.c @@ -923,10 +923,14 @@ for (i = 0; i < pdata->num_regulators; i++) { const struct sec_voltage_desc *desc; - int id = pdata->regulators[i].id; + unsigned int id = pdata->regulators[i].id; int enable_reg, enable_val; struct regulator_dev *rdev; + BUILD_BUG_ON(ARRAY_SIZE(regulators) != ARRAY_SIZE(reg_voltage_map)); + if (WARN_ON_ONCE(id >= ARRAY_SIZE(regulators))) + continue; + desc = reg_voltage_map[id]; if (desc) { regulators[id].n_voltages = --- linux-gcp-5.19.0.orig/drivers/regulator/slg51000-regulator.c +++ linux-gcp-5.19.0/drivers/regulator/slg51000-regulator.c @@ -457,6 +457,8 @@ chip->cs_gpiod = cs_gpiod; } + usleep_range(10000, 11000); + i2c_set_clientdata(client, chip); chip->chip_irq = client->irq; chip->dev = dev; --- linux-gcp-5.19.0.orig/drivers/regulator/twl6030-regulator.c +++ linux-gcp-5.19.0/drivers/regulator/twl6030-regulator.c @@ -67,6 +67,7 @@ #define TWL6030_CFG_STATE_SLEEP 0x03 #define TWL6030_CFG_STATE_GRP_SHIFT 5 #define TWL6030_CFG_STATE_APP_SHIFT 2 +#define TWL6030_CFG_STATE_MASK 0x03 #define TWL6030_CFG_STATE_APP_MASK (0x03 << TWL6030_CFG_STATE_APP_SHIFT) #define TWL6030_CFG_STATE_APP(v) (((v) & TWL6030_CFG_STATE_APP_MASK) >>\ TWL6030_CFG_STATE_APP_SHIFT) @@ -128,13 +129,14 @@ if (grp < 0) return grp; grp &= P1_GRP_6030; + val = twlreg_read(info, TWL_MODULE_PM_RECEIVER, VREG_STATE); + val = TWL6030_CFG_STATE_APP(val); } else { + val = twlreg_read(info, TWL_MODULE_PM_RECEIVER, VREG_STATE); + val &= TWL6030_CFG_STATE_MASK; grp = 1; } - val = twlreg_read(info, TWL_MODULE_PM_RECEIVER, VREG_STATE); - val = TWL6030_CFG_STATE_APP(val); - return grp && (val == TWL6030_CFG_STATE_ON); } @@ -187,7 +189,12 @@ val = twlreg_read(info, TWL_MODULE_PM_RECEIVER, VREG_STATE); - switch (TWL6030_CFG_STATE_APP(val)) { + if (info->features & TWL6032_SUBCLASS) + val &= TWL6030_CFG_STATE_MASK; + else + val = TWL6030_CFG_STATE_APP(val); + + switch (val) { case TWL6030_CFG_STATE_ON: return REGULATOR_STATUS_NORMAL; @@ -530,6 +537,7 @@ #define TWL6032_ADJUSTABLE_LDO(label, offset) \ static const struct twlreg_info TWL6032_INFO_##label = { \ .base = offset, \ + .features = TWL6032_SUBCLASS, \ .desc = { \ .name = #label, \ .id = TWL6032_REG_##label, \ @@ -562,6 +570,7 @@ #define TWL6032_ADJUSTABLE_SMPS(label, offset) \ static const struct twlreg_info TWLSMPS_INFO_##label = { \ .base = offset, \ + .features = TWL6032_SUBCLASS, \ .desc = { \ .name = #label, \ .id = TWL6032_REG_##label, \ --- linux-gcp-5.19.0.orig/drivers/remoteproc/imx_dsp_rproc.c +++ linux-gcp-5.19.0/drivers/remoteproc/imx_dsp_rproc.c @@ -347,9 +347,6 @@ struct device *dev = rproc->dev.parent; int ret = 0; - /* Make sure work is finished */ - flush_work(&priv->rproc_work); - if (rproc->state == RPROC_CRASHED) { priv->flags &= ~REMOTE_IS_READY; return 0; @@ -432,9 +429,18 @@ { struct imx_dsp_rproc *priv = container_of(work, struct imx_dsp_rproc, rproc_work); + struct rproc *rproc = priv->rproc; + + mutex_lock(&rproc->lock); + + if (rproc->state != RPROC_RUNNING) + goto unlock_mutex; rproc_vq_interrupt(priv->rproc, 0); rproc_vq_interrupt(priv->rproc, 1); + +unlock_mutex: + mutex_unlock(&rproc->lock); } /** --- linux-gcp-5.19.0.orig/drivers/remoteproc/imx_rproc.c +++ linux-gcp-5.19.0/drivers/remoteproc/imx_rproc.c @@ -113,8 +113,8 @@ { 0x80000000, 0x80000000, 0x10000000, 0 }, { 0x90000000, 0x80000000, 0x10000000, 0 }, - { 0xC0000000, 0xa0000000, 0x10000000, 0 }, - { 0xD0000000, 0xa0000000, 0x10000000, 0 }, + { 0xC0000000, 0xC0000000, 0x10000000, 0 }, + { 0xD0000000, 0xC0000000, 0x10000000, 0 }, }; static const struct imx_rproc_att imx_rproc_att_imx8mn[] = { @@ -594,16 +594,17 @@ node = of_parse_phandle(np, "memory-region", a); /* Not map vdevbuffer, vdevring region */ - if (!strncmp(node->name, "vdev", strlen("vdev"))) + if (!strncmp(node->name, "vdev", strlen("vdev"))) { + of_node_put(node); continue; + } err = of_address_to_resource(node, 0, &res); + of_node_put(node); if (err) { dev_err(dev, "unable to resolve memory region\n"); return err; } - of_node_put(node); - if (b >= IMX_RPROC_MEM_MAX) break; --- linux-gcp-5.19.0.orig/drivers/remoteproc/mtk_scp_ipi.c +++ linux-gcp-5.19.0/drivers/remoteproc/mtk_scp_ipi.c @@ -164,21 +164,21 @@ WARN_ON(len > sizeof(send_obj->share_buf)) || WARN_ON(!buf)) return -EINVAL; - mutex_lock(&scp->send_lock); - ret = clk_prepare_enable(scp->clk); if (ret) { dev_err(scp->dev, "failed to enable clock\n"); - goto unlock_mutex; + return ret; } + mutex_lock(&scp->send_lock); + /* Wait until SCP receives the last command */ timeout = jiffies + msecs_to_jiffies(2000); do { if (time_after(jiffies, timeout)) { dev_err(scp->dev, "%s: IPI timeout!\n", __func__); ret = -ETIMEDOUT; - goto clock_disable; + goto unlock_mutex; } } while (readl(scp->reg_base + scp->data->host_to_scp_reg)); @@ -205,10 +205,9 @@ ret = 0; } -clock_disable: - clk_disable_unprepare(scp->clk); unlock_mutex: mutex_unlock(&scp->send_lock); + clk_disable_unprepare(scp->clk); return ret; } --- linux-gcp-5.19.0.orig/drivers/remoteproc/qcom_q6v5_mss.c +++ linux-gcp-5.19.0/drivers/remoteproc/qcom_q6v5_mss.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -210,6 +211,9 @@ size_t mba_size; size_t dp_size; + phys_addr_t mdata_phys; + size_t mdata_size; + phys_addr_t mpss_phys; phys_addr_t mpss_reloc; size_t mpss_size; @@ -945,15 +949,35 @@ if (IS_ERR(metadata)) return PTR_ERR(metadata); - ptr = dma_alloc_attrs(qproc->dev, size, &phys, GFP_KERNEL, dma_attrs); - if (!ptr) { - kfree(metadata); - dev_err(qproc->dev, "failed to allocate mdt buffer\n"); - return -ENOMEM; + if (qproc->mdata_phys) { + if (size > qproc->mdata_size) { + ret = -EINVAL; + dev_err(qproc->dev, "metadata size outside memory range\n"); + goto free_metadata; + } + + phys = qproc->mdata_phys; + ptr = memremap(qproc->mdata_phys, size, MEMREMAP_WC); + if (!ptr) { + ret = -EBUSY; + dev_err(qproc->dev, "unable to map memory region: %pa+%zx\n", + &qproc->mdata_phys, size); + goto free_metadata; + } + } else { + ptr = dma_alloc_attrs(qproc->dev, size, &phys, GFP_KERNEL, dma_attrs); + if (!ptr) { + ret = -ENOMEM; + dev_err(qproc->dev, "failed to allocate mdt buffer\n"); + goto free_metadata; + } } memcpy(ptr, metadata, size); + if (qproc->mdata_phys) + memunmap(ptr); + /* Hypervisor mapping to access metadata by modem */ mdata_perm = BIT(QCOM_SCM_VMID_HLOS); ret = q6v5_xfer_mem_ownership(qproc, &mdata_perm, false, true, @@ -982,7 +1006,9 @@ "mdt buffer not reclaimed system may become unstable\n"); free_dma_attrs: - dma_free_attrs(qproc->dev, size, ptr, phys, dma_attrs); + if (!qproc->mdata_phys) + dma_free_attrs(qproc->dev, size, ptr, phys, dma_attrs); +free_metadata: kfree(metadata); return ret < 0 ? ret : 0; @@ -1799,6 +1825,7 @@ static int q6v5_alloc_memory_region(struct q6v5 *qproc) { struct device_node *child; + struct reserved_mem *rmem; struct device_node *node; struct resource r; int ret; @@ -1845,6 +1872,26 @@ qproc->mpss_phys = qproc->mpss_reloc = r.start; qproc->mpss_size = resource_size(&r); + if (!child) { + node = of_parse_phandle(qproc->dev->of_node, "memory-region", 2); + } else { + child = of_get_child_by_name(qproc->dev->of_node, "metadata"); + node = of_parse_phandle(child, "memory-region", 0); + of_node_put(child); + } + + if (!node) + return 0; + + rmem = of_reserved_mem_lookup(node); + if (!rmem) { + dev_err(qproc->dev, "unable to resolve metadata region\n"); + return -EINVAL; + } + + qproc->mdata_phys = rmem->base; + qproc->mdata_size = rmem->size; + return 0; } --- linux-gcp-5.19.0.orig/drivers/remoteproc/qcom_q6v5_pas.c +++ linux-gcp-5.19.0/drivers/remoteproc/qcom_q6v5_pas.c @@ -87,6 +87,9 @@ { struct qcom_adsp *adsp = rproc->priv; + if (rproc->dump_conf == RPROC_COREDUMP_DISABLED) + return; + qcom_minidump(rproc, adsp->minidump_id); } @@ -402,6 +405,7 @@ } ret = of_address_to_resource(node, 0, &r); + of_node_put(node); if (ret) return ret; @@ -506,6 +510,7 @@ detach_proxy_pds: adsp_pds_detach(adsp, adsp->proxy_pds, adsp->proxy_pd_count); free_rproc: + device_init_wakeup(adsp->dev, false); rproc_free(rproc); return ret; @@ -522,6 +527,8 @@ qcom_remove_sysmon_subdev(adsp->sysmon); qcom_remove_smd_subdev(adsp->rproc, &adsp->smd_subdev); qcom_remove_ssr_subdev(adsp->rproc, &adsp->ssr_subdev); + adsp_pds_detach(adsp, adsp->proxy_pds, adsp->proxy_pd_count); + device_init_wakeup(adsp->dev, false); rproc_free(adsp->rproc); return 0; --- linux-gcp-5.19.0.orig/drivers/remoteproc/qcom_q6v5_wcss.c +++ linux-gcp-5.19.0/drivers/remoteproc/qcom_q6v5_wcss.c @@ -351,7 +351,7 @@ if (ret) { dev_err(wcss->dev, "xo cbcr enabling timed out (rc:%d)\n", ret); - return ret; + goto disable_xo_cbcr_clk; } writel(0, wcss->reg_base + Q6SS_CGC_OVERRIDE); @@ -417,6 +417,7 @@ val = readl(wcss->reg_base + Q6SS_SLEEP_CBCR); val &= ~Q6SS_CLK_ENABLE; writel(val, wcss->reg_base + Q6SS_SLEEP_CBCR); +disable_xo_cbcr_clk: val = readl(wcss->reg_base + Q6SS_XO_CBCR); val &= ~Q6SS_CLK_ENABLE; writel(val, wcss->reg_base + Q6SS_XO_CBCR); @@ -827,6 +828,9 @@ int ret; res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "qdsp6"); + if (!res) + return -EINVAL; + wcss->reg_base = devm_ioremap(&pdev->dev, res->start, resource_size(res)); if (!wcss->reg_base) --- linux-gcp-5.19.0.orig/drivers/remoteproc/qcom_sysmon.c +++ linux-gcp-5.19.0/drivers/remoteproc/qcom_sysmon.c @@ -41,6 +41,7 @@ struct completion comp; struct completion ind_comp; struct completion shutdown_comp; + struct completion ssctl_comp; struct mutex lock; bool ssr_ack; @@ -445,6 +446,8 @@ svc->priv = sysmon; + complete(&sysmon->ssctl_comp); + return 0; } @@ -501,6 +504,7 @@ .ssr_event = SSCTL_SSR_EVENT_AFTER_POWERUP }; + reinit_completion(&sysmon->ssctl_comp); mutex_lock(&sysmon->state_lock); sysmon->state = SSCTL_SSR_EVENT_AFTER_POWERUP; blocking_notifier_call_chain(&sysmon_notifiers, 0, (void *)&event); @@ -545,6 +549,11 @@ if (crashed) return; + if (sysmon->ssctl_instance) { + if (!wait_for_completion_timeout(&sysmon->ssctl_comp, HZ / 2)) + dev_err(sysmon->dev, "timeout waiting for ssctl service\n"); + } + if (sysmon->ssctl_version) sysmon->shutdown_acked = ssctl_request_shutdown(sysmon); else if (sysmon->ept) @@ -631,6 +640,7 @@ init_completion(&sysmon->comp); init_completion(&sysmon->ind_comp); init_completion(&sysmon->shutdown_comp); + init_completion(&sysmon->ssctl_comp); mutex_init(&sysmon->lock); mutex_init(&sysmon->state_lock); @@ -640,7 +650,9 @@ if (sysmon->shutdown_irq != -ENODATA) { dev_err(sysmon->dev, "failed to retrieve shutdown-ack IRQ\n"); - return ERR_PTR(sysmon->shutdown_irq); + ret = sysmon->shutdown_irq; + kfree(sysmon); + return ERR_PTR(ret); } } else { ret = devm_request_threaded_irq(sysmon->dev, @@ -651,6 +663,7 @@ if (ret) { dev_err(sysmon->dev, "failed to acquire shutdown-ack IRQ\n"); + kfree(sysmon); return ERR_PTR(ret); } } --- linux-gcp-5.19.0.orig/drivers/remoteproc/qcom_wcnss.c +++ linux-gcp-5.19.0/drivers/remoteproc/qcom_wcnss.c @@ -467,6 +467,7 @@ irq_handler_t thread_fn) { int ret; + int irq_number; ret = platform_get_irq_byname(pdev, name); if (ret < 0 && optional) { @@ -477,14 +478,19 @@ return ret; } + irq_number = ret; + ret = devm_request_threaded_irq(&pdev->dev, ret, NULL, thread_fn, IRQF_TRIGGER_RISING | IRQF_ONESHOT, "wcnss", wcnss); - if (ret) + if (ret) { dev_err(&pdev->dev, "request %s IRQ failed\n", name); + return ret; + } - return ret; + /* Return the IRQ number if the IRQ was successfully acquired */ + return irq_number; } static int wcnss_alloc_memory_region(struct qcom_wcnss *wcnss) --- linux-gcp-5.19.0.orig/drivers/remoteproc/remoteproc_core.c +++ linux-gcp-5.19.0/drivers/remoteproc/remoteproc_core.c @@ -518,12 +518,13 @@ struct fw_rsc_vdev *rsc = ptr; struct device *dev = &rproc->dev; struct rproc_vdev *rvdev; + size_t rsc_size; int i, ret; char name[16]; /* make sure resource isn't truncated */ - if (struct_size(rsc, vring, rsc->num_of_vrings) + rsc->config_len > - avail) { + rsc_size = struct_size(rsc, vring, rsc->num_of_vrings); + if (size_add(rsc_size, rsc->config_len) > avail) { dev_err(dev, "vdev rsc is truncated\n"); return -EINVAL; } @@ -1951,12 +1952,18 @@ mutex_lock(&rproc->lock); - if (rproc->state == RPROC_CRASHED || rproc->state == RPROC_OFFLINE) { + if (rproc->state == RPROC_CRASHED) { /* handle only the first crash detected */ mutex_unlock(&rproc->lock); return; } + if (rproc->state == RPROC_OFFLINE) { + /* Don't recover if the remote processor was stopped */ + mutex_unlock(&rproc->lock); + goto out; + } + rproc->state = RPROC_CRASHED; dev_err(dev, "handling crash #%u in %s\n", ++rproc->crash_cnt, rproc->name); @@ -1966,6 +1973,7 @@ if (!rproc->recovery_disabled) rproc_trigger_recovery(rproc); +out: pm_relax(rproc->dev.parent); } --- linux-gcp-5.19.0.orig/drivers/remoteproc/ti_k3_r5_remoteproc.c +++ linux-gcp-5.19.0/drivers/remoteproc/ti_k3_r5_remoteproc.c @@ -1655,6 +1655,7 @@ if (!cpdev) { ret = -ENODEV; dev_err(dev, "could not get R5 core platform device\n"); + of_node_put(child); goto fail; } @@ -1663,6 +1664,7 @@ dev_err(dev, "k3_r5_core_of_init failed, ret = %d\n", ret); put_device(&cpdev->dev); + of_node_put(child); goto fail; } --- linux-gcp-5.19.0.orig/drivers/reset/Kconfig +++ linux-gcp-5.19.0/drivers/reset/Kconfig @@ -240,7 +240,7 @@ config RESET_TI_SCI tristate "TI System Control Interface (TI-SCI) reset driver" - depends on TI_SCI_PROTOCOL || COMPILE_TEST + depends on TI_SCI_PROTOCOL || (COMPILE_TEST && TI_SCI_PROTOCOL=n) help This enables the reset driver support over TI System Control Interface available on some new TI's SoCs. If you wish to use reset resources --- linux-gcp-5.19.0.orig/drivers/reset/reset-imx7.c +++ linux-gcp-5.19.0/drivers/reset/reset-imx7.c @@ -329,6 +329,7 @@ break; case IMX8MP_RESET_PCIE_CTRL_APPS_EN: + case IMX8MP_RESET_PCIEPHY_PERST: value = assert ? 0 : bit; break; } --- linux-gcp-5.19.0.orig/drivers/reset/reset-uniphier-glue.c +++ linux-gcp-5.19.0/drivers/reset/reset-uniphier-glue.c @@ -47,7 +47,6 @@ struct device *dev = &pdev->dev; struct uniphier_glue_reset_priv *priv; struct resource *res; - resource_size_t size; int i, ret; priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); @@ -60,7 +59,6 @@ return -EINVAL; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - size = resource_size(res); priv->rdata.membase = devm_ioremap_resource(dev, res); if (IS_ERR(priv->rdata.membase)) return PTR_ERR(priv->rdata.membase); @@ -96,7 +94,7 @@ spin_lock_init(&priv->rdata.lock); priv->rdata.rcdev.owner = THIS_MODULE; - priv->rdata.rcdev.nr_resets = size * BITS_PER_BYTE; + priv->rdata.rcdev.nr_resets = resource_size(res) * BITS_PER_BYTE; priv->rdata.rcdev.ops = &reset_simple_ops; priv->rdata.rcdev.of_node = dev->of_node; priv->rdata.active_low = true; --- linux-gcp-5.19.0.orig/drivers/rpmsg/mtk_rpmsg.c +++ linux-gcp-5.19.0/drivers/rpmsg/mtk_rpmsg.c @@ -234,7 +234,9 @@ if (info->registered) continue; + mutex_unlock(&subdev->channels_lock); ret = mtk_rpmsg_register_device(subdev, &info->info); + mutex_lock(&subdev->channels_lock); if (ret) { dev_err(&pdev->dev, "Can't create rpmsg_device\n"); continue; --- linux-gcp-5.19.0.orig/drivers/rpmsg/qcom_glink_native.c +++ linux-gcp-5.19.0/drivers/rpmsg/qcom_glink_native.c @@ -956,6 +956,7 @@ spin_unlock_irqrestore(&glink->idr_lock, flags); if (!channel) { dev_err(glink->dev, "intents for non-existing channel\n"); + qcom_glink_rx_advance(glink, ALIGN(msglen, 8)); return; } @@ -1448,6 +1449,7 @@ { struct rpmsg_device *rpdev = to_rpmsg_device(dev); + kfree(rpdev->driver_override); kfree(rpdev); } @@ -1546,7 +1548,7 @@ cancel_work_sync(&channel->intent_work); if (channel->rpdev) { - strncpy(chinfo.name, channel->name, sizeof(chinfo.name)); + strscpy_pad(chinfo.name, channel->name, sizeof(chinfo.name)); chinfo.src = RPMSG_ADDR_ANY; chinfo.dst = RPMSG_ADDR_ANY; @@ -1691,6 +1693,7 @@ /* Release qcom_glink_alloc_channel() reference */ kref_put(&channel->refcount, qcom_glink_channel_release); + kfree(rpdev->driver_override); kfree(rpdev); } --- linux-gcp-5.19.0.orig/drivers/rpmsg/qcom_smd.c +++ linux-gcp-5.19.0/drivers/rpmsg/qcom_smd.c @@ -1089,7 +1089,7 @@ /* Assign public information to the rpmsg_device */ rpdev = &qsdev->rpdev; - strncpy(rpdev->id.name, channel->name, RPMSG_NAME_SIZE); + strscpy_pad(rpdev->id.name, channel->name, RPMSG_NAME_SIZE); rpdev->src = RPMSG_ADDR_ANY; rpdev->dst = RPMSG_ADDR_ANY; @@ -1323,7 +1323,7 @@ spin_unlock_irqrestore(&edge->channels_lock, flags); - strncpy(chinfo.name, channel->name, sizeof(chinfo.name)); + strscpy_pad(chinfo.name, channel->name, sizeof(chinfo.name)); chinfo.src = RPMSG_ADDR_ANY; chinfo.dst = RPMSG_ADDR_ANY; rpmsg_unregister_device(&edge->dev, &chinfo); @@ -1383,6 +1383,7 @@ } edge->ipc_regmap = syscon_node_to_regmap(syscon_np); + of_node_put(syscon_np); if (IS_ERR(edge->ipc_regmap)) { ret = PTR_ERR(edge->ipc_regmap); goto put_node; --- linux-gcp-5.19.0.orig/drivers/rpmsg/rpmsg_char.c +++ linux-gcp-5.19.0/drivers/rpmsg/rpmsg_char.c @@ -76,7 +76,9 @@ mutex_lock(&eptdev->ept_lock); if (eptdev->ept) { - rpmsg_destroy_ept(eptdev->ept); + /* The default endpoint is released by the rpmsg core */ + if (!eptdev->default_ept) + rpmsg_destroy_ept(eptdev->ept); eptdev->ept = NULL; } mutex_unlock(&eptdev->ept_lock); @@ -120,8 +122,11 @@ struct rpmsg_device *rpdev = eptdev->rpdev; struct device *dev = &eptdev->dev; - if (eptdev->ept) + mutex_lock(&eptdev->ept_lock); + if (eptdev->ept) { + mutex_unlock(&eptdev->ept_lock); return -EBUSY; + } get_device(dev); @@ -137,11 +142,13 @@ if (!ept) { dev_err(dev, "failed to open %s\n", eptdev->chinfo.name); put_device(dev); + mutex_unlock(&eptdev->ept_lock); return -EINVAL; } eptdev->ept = ept; filp->private_data = eptdev; + mutex_unlock(&eptdev->ept_lock); return 0; } --- linux-gcp-5.19.0.orig/drivers/rpmsg/rpmsg_core.c +++ linux-gcp-5.19.0/drivers/rpmsg/rpmsg_core.c @@ -618,6 +618,7 @@ strlen(driver_override)); if (ret) { dev_err(dev, "device_set_override failed: %d\n", ret); + put_device(dev); return ret; } } --- linux-gcp-5.19.0.orig/drivers/rtc/class.c +++ linux-gcp-5.19.0/drivers/rtc/class.c @@ -374,11 +374,11 @@ rtc->id = id; rtc->dev.parent = dev; - err = dev_set_name(&rtc->dev, "rtc%d", id); + err = devm_add_action_or_reset(dev, devm_rtc_release_device, rtc); if (err) return ERR_PTR(err); - err = devm_add_action_or_reset(dev, devm_rtc_release_device, rtc); + err = dev_set_name(&rtc->dev, "rtc%d", id); if (err) return ERR_PTR(err); --- linux-gcp-5.19.0.orig/drivers/rtc/rtc-cmos.c +++ linux-gcp-5.19.0/drivers/rtc/rtc-cmos.c @@ -744,6 +744,168 @@ return IRQ_NONE; } +#ifdef CONFIG_ACPI + +#include + +static u32 rtc_handler(void *context) +{ + struct device *dev = context; + struct cmos_rtc *cmos = dev_get_drvdata(dev); + unsigned char rtc_control = 0; + unsigned char rtc_intr; + unsigned long flags; + + + /* + * Always update rtc irq when ACPI is used as RTC Alarm. + * Or else, ACPI SCI is enabled during suspend/resume only, + * update rtc irq in that case. + */ + if (cmos_use_acpi_alarm()) + cmos_interrupt(0, (void *)cmos->rtc); + else { + /* Fix me: can we use cmos_interrupt() here as well? */ + spin_lock_irqsave(&rtc_lock, flags); + if (cmos_rtc.suspend_ctrl) + rtc_control = CMOS_READ(RTC_CONTROL); + if (rtc_control & RTC_AIE) { + cmos_rtc.suspend_ctrl &= ~RTC_AIE; + CMOS_WRITE(rtc_control, RTC_CONTROL); + rtc_intr = CMOS_READ(RTC_INTR_FLAGS); + rtc_update_irq(cmos->rtc, 1, rtc_intr); + } + spin_unlock_irqrestore(&rtc_lock, flags); + } + + pm_wakeup_hard_event(dev); + acpi_clear_event(ACPI_EVENT_RTC); + acpi_disable_event(ACPI_EVENT_RTC, 0); + return ACPI_INTERRUPT_HANDLED; +} + +static void acpi_rtc_event_setup(struct device *dev) +{ + if (acpi_disabled) + return; + + acpi_install_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler, dev); + /* + * After the RTC handler is installed, the Fixed_RTC event should + * be disabled. Only when the RTC alarm is set will it be enabled. + */ + acpi_clear_event(ACPI_EVENT_RTC); + acpi_disable_event(ACPI_EVENT_RTC, 0); +} + +static void acpi_rtc_event_cleanup(void) +{ + if (acpi_disabled) + return; + + acpi_remove_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler); +} + +static void rtc_wake_on(struct device *dev) +{ + acpi_clear_event(ACPI_EVENT_RTC); + acpi_enable_event(ACPI_EVENT_RTC, 0); +} + +static void rtc_wake_off(struct device *dev) +{ + acpi_disable_event(ACPI_EVENT_RTC, 0); +} + +#ifdef CONFIG_X86 +/* Enable use_acpi_alarm mode for Intel platforms no earlier than 2015 */ +static void use_acpi_alarm_quirks(void) +{ + if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL) + return; + + if (!is_hpet_enabled()) + return; + + if (dmi_get_bios_year() < 2015) + return; + + use_acpi_alarm = true; +} +#else +static inline void use_acpi_alarm_quirks(void) { } +#endif + +static void acpi_cmos_wake_setup(struct device *dev) +{ + if (acpi_disabled) + return; + + use_acpi_alarm_quirks(); + + cmos_rtc.wake_on = rtc_wake_on; + cmos_rtc.wake_off = rtc_wake_off; + + /* ACPI tables bug workaround. */ + if (acpi_gbl_FADT.month_alarm && !acpi_gbl_FADT.day_alarm) { + dev_dbg(dev, "bogus FADT month_alarm (%d)\n", + acpi_gbl_FADT.month_alarm); + acpi_gbl_FADT.month_alarm = 0; + } + + cmos_rtc.day_alrm = acpi_gbl_FADT.day_alarm; + cmos_rtc.mon_alrm = acpi_gbl_FADT.month_alarm; + cmos_rtc.century = acpi_gbl_FADT.century; + + if (acpi_gbl_FADT.flags & ACPI_FADT_S4_RTC_WAKE) + dev_info(dev, "RTC can wake from S4\n"); + + /* RTC always wakes from S1/S2/S3, and often S4/STD */ + device_init_wakeup(dev, 1); +} + +static void cmos_check_acpi_rtc_status(struct device *dev, + unsigned char *rtc_control) +{ + struct cmos_rtc *cmos = dev_get_drvdata(dev); + acpi_event_status rtc_status; + acpi_status status; + + if (acpi_gbl_FADT.flags & ACPI_FADT_FIXED_RTC) + return; + + status = acpi_get_event_status(ACPI_EVENT_RTC, &rtc_status); + if (ACPI_FAILURE(status)) { + dev_err(dev, "Could not get RTC status\n"); + } else if (rtc_status & ACPI_EVENT_FLAG_SET) { + unsigned char mask; + *rtc_control &= ~RTC_AIE; + CMOS_WRITE(*rtc_control, RTC_CONTROL); + mask = CMOS_READ(RTC_INTR_FLAGS); + rtc_update_irq(cmos->rtc, 1, mask); + } +} + +#else /* !CONFIG_ACPI */ + +static inline void acpi_rtc_event_setup(struct device *dev) +{ +} + +static inline void acpi_rtc_event_cleanup(void) +{ +} + +static inline void acpi_cmos_wake_setup(struct device *dev) +{ +} + +static inline void cmos_check_acpi_rtc_status(struct device *dev, + unsigned char *rtc_control) +{ +} +#endif /* CONFIG_ACPI */ + #ifdef CONFIG_PNP #define INITSECTION @@ -827,19 +989,27 @@ if (info->address_space) address_space = info->address_space; - if (info->rtc_day_alarm && info->rtc_day_alarm < 128) - cmos_rtc.day_alrm = info->rtc_day_alarm; - if (info->rtc_mon_alarm && info->rtc_mon_alarm < 128) - cmos_rtc.mon_alrm = info->rtc_mon_alarm; - if (info->rtc_century && info->rtc_century < 128) - cmos_rtc.century = info->rtc_century; + cmos_rtc.day_alrm = info->rtc_day_alarm; + cmos_rtc.mon_alrm = info->rtc_mon_alarm; + cmos_rtc.century = info->rtc_century; if (info->wake_on && info->wake_off) { cmos_rtc.wake_on = info->wake_on; cmos_rtc.wake_off = info->wake_off; } + } else { + acpi_cmos_wake_setup(dev); } + if (cmos_rtc.day_alrm >= 128) + cmos_rtc.day_alrm = 0; + + if (cmos_rtc.mon_alrm >= 128) + cmos_rtc.mon_alrm = 0; + + if (cmos_rtc.century >= 128) + cmos_rtc.century = 0; + cmos_rtc.dev = dev; dev_set_drvdata(dev, &cmos_rtc); @@ -928,6 +1098,13 @@ nvmem_cfg.size = address_space - NVRAM_OFFSET; devm_rtc_nvmem_register(cmos_rtc.rtc, &nvmem_cfg); + /* + * Everything has gone well so far, so by default register a handler for + * the ACPI RTC fixed event. + */ + if (!info) + acpi_rtc_event_setup(dev); + dev_info(dev, "%s%s, %d bytes nvram%s\n", !is_valid_irq(rtc_irq) ? "no alarms" : cmos_rtc.mon_alrm ? "alarms up to one year" : @@ -973,6 +1150,9 @@ hpet_unregister_irq_handler(cmos_interrupt); } + if (!dev_get_platdata(dev)) + acpi_rtc_event_cleanup(); + cmos->rtc = NULL; ports = cmos->iomem; @@ -1122,9 +1302,6 @@ } } -static void cmos_check_acpi_rtc_status(struct device *dev, - unsigned char *rtc_control); - static int __maybe_unused cmos_resume(struct device *dev) { struct cmos_rtc *cmos = dev_get_drvdata(dev); @@ -1191,174 +1368,16 @@ * predate even PNPBIOS should set up platform_bus devices. */ -#ifdef CONFIG_ACPI - -#include - -static u32 rtc_handler(void *context) -{ - struct device *dev = context; - struct cmos_rtc *cmos = dev_get_drvdata(dev); - unsigned char rtc_control = 0; - unsigned char rtc_intr; - unsigned long flags; - - - /* - * Always update rtc irq when ACPI is used as RTC Alarm. - * Or else, ACPI SCI is enabled during suspend/resume only, - * update rtc irq in that case. - */ - if (cmos_use_acpi_alarm()) - cmos_interrupt(0, (void *)cmos->rtc); - else { - /* Fix me: can we use cmos_interrupt() here as well? */ - spin_lock_irqsave(&rtc_lock, flags); - if (cmos_rtc.suspend_ctrl) - rtc_control = CMOS_READ(RTC_CONTROL); - if (rtc_control & RTC_AIE) { - cmos_rtc.suspend_ctrl &= ~RTC_AIE; - CMOS_WRITE(rtc_control, RTC_CONTROL); - rtc_intr = CMOS_READ(RTC_INTR_FLAGS); - rtc_update_irq(cmos->rtc, 1, rtc_intr); - } - spin_unlock_irqrestore(&rtc_lock, flags); - } - - pm_wakeup_hard_event(dev); - acpi_clear_event(ACPI_EVENT_RTC); - acpi_disable_event(ACPI_EVENT_RTC, 0); - return ACPI_INTERRUPT_HANDLED; -} - -static inline void rtc_wake_setup(struct device *dev) -{ - acpi_install_fixed_event_handler(ACPI_EVENT_RTC, rtc_handler, dev); - /* - * After the RTC handler is installed, the Fixed_RTC event should - * be disabled. Only when the RTC alarm is set will it be enabled. - */ - acpi_clear_event(ACPI_EVENT_RTC); - acpi_disable_event(ACPI_EVENT_RTC, 0); -} - -static void rtc_wake_on(struct device *dev) -{ - acpi_clear_event(ACPI_EVENT_RTC); - acpi_enable_event(ACPI_EVENT_RTC, 0); -} - -static void rtc_wake_off(struct device *dev) -{ - acpi_disable_event(ACPI_EVENT_RTC, 0); -} - -#ifdef CONFIG_X86 -/* Enable use_acpi_alarm mode for Intel platforms no earlier than 2015 */ -static void use_acpi_alarm_quirks(void) -{ - if (boot_cpu_data.x86_vendor != X86_VENDOR_INTEL) - return; - - if (!(acpi_gbl_FADT.flags & ACPI_FADT_LOW_POWER_S0)) - return; - - if (!is_hpet_enabled()) - return; - - if (dmi_get_bios_year() < 2015) - return; - - use_acpi_alarm = true; -} -#else -static inline void use_acpi_alarm_quirks(void) { } -#endif - -/* Every ACPI platform has a mc146818 compatible "cmos rtc". Here we find - * its device node and pass extra config data. This helps its driver use - * capabilities that the now-obsolete mc146818 didn't have, and informs it - * that this board's RTC is wakeup-capable (per ACPI spec). - */ -static struct cmos_rtc_board_info acpi_rtc_info; - -static void cmos_wake_setup(struct device *dev) -{ - if (acpi_disabled) - return; - - use_acpi_alarm_quirks(); - - rtc_wake_setup(dev); - acpi_rtc_info.wake_on = rtc_wake_on; - acpi_rtc_info.wake_off = rtc_wake_off; - - /* workaround bug in some ACPI tables */ - if (acpi_gbl_FADT.month_alarm && !acpi_gbl_FADT.day_alarm) { - dev_dbg(dev, "bogus FADT month_alarm (%d)\n", - acpi_gbl_FADT.month_alarm); - acpi_gbl_FADT.month_alarm = 0; - } - - acpi_rtc_info.rtc_day_alarm = acpi_gbl_FADT.day_alarm; - acpi_rtc_info.rtc_mon_alarm = acpi_gbl_FADT.month_alarm; - acpi_rtc_info.rtc_century = acpi_gbl_FADT.century; - - /* NOTE: S4_RTC_WAKE is NOT currently useful to Linux */ - if (acpi_gbl_FADT.flags & ACPI_FADT_S4_RTC_WAKE) - dev_info(dev, "RTC can wake from S4\n"); - - dev->platform_data = &acpi_rtc_info; - - /* RTC always wakes from S1/S2/S3, and often S4/STD */ - device_init_wakeup(dev, 1); -} - -static void cmos_check_acpi_rtc_status(struct device *dev, - unsigned char *rtc_control) -{ - struct cmos_rtc *cmos = dev_get_drvdata(dev); - acpi_event_status rtc_status; - acpi_status status; - - if (acpi_gbl_FADT.flags & ACPI_FADT_FIXED_RTC) - return; - - status = acpi_get_event_status(ACPI_EVENT_RTC, &rtc_status); - if (ACPI_FAILURE(status)) { - dev_err(dev, "Could not get RTC status\n"); - } else if (rtc_status & ACPI_EVENT_FLAG_SET) { - unsigned char mask; - *rtc_control &= ~RTC_AIE; - CMOS_WRITE(*rtc_control, RTC_CONTROL); - mask = CMOS_READ(RTC_INTR_FLAGS); - rtc_update_irq(cmos->rtc, 1, mask); - } -} - -#else - -static void cmos_wake_setup(struct device *dev) -{ -} - -static void cmos_check_acpi_rtc_status(struct device *dev, - unsigned char *rtc_control) -{ -} - -#endif - #ifdef CONFIG_PNP #include static int cmos_pnp_probe(struct pnp_dev *pnp, const struct pnp_device_id *id) { - cmos_wake_setup(&pnp->dev); + int irq; if (pnp_port_start(pnp, 0) == 0x70 && !pnp_irq_valid(pnp, 0)) { - unsigned int irq = 0; + irq = 0; #ifdef CONFIG_X86 /* Some machines contain a PNP entry for the RTC, but * don't define the IRQ. It should always be safe to @@ -1367,13 +1386,11 @@ if (nr_legacy_irqs()) irq = RTC_IRQ; #endif - return cmos_do_probe(&pnp->dev, - pnp_get_resource(pnp, IORESOURCE_IO, 0), irq); } else { - return cmos_do_probe(&pnp->dev, - pnp_get_resource(pnp, IORESOURCE_IO, 0), - pnp_irq(pnp, 0)); + irq = pnp_irq(pnp, 0); } + + return cmos_do_probe(&pnp->dev, pnp_get_resource(pnp, IORESOURCE_IO, 0), irq); } static void cmos_pnp_remove(struct pnp_dev *pnp) @@ -1460,7 +1477,6 @@ int irq; cmos_of_init(pdev); - cmos_wake_setup(&pdev->dev); if (RTC_IOMAPPED) resource = platform_get_resource(pdev, IORESOURCE_IO, 0); --- linux-gcp-5.19.0.orig/drivers/rtc/rtc-ds1347.c +++ linux-gcp-5.19.0/drivers/rtc/rtc-ds1347.c @@ -112,7 +112,7 @@ return err; century = (dt->tm_year / 100) + 19; - err = regmap_write(map, DS1347_CENTURY_REG, century); + err = regmap_write(map, DS1347_CENTURY_REG, bin2bcd(century)); if (err) return err; --- linux-gcp-5.19.0.orig/drivers/rtc/rtc-mxc_v2.c +++ linux-gcp-5.19.0/drivers/rtc/rtc-mxc_v2.c @@ -336,8 +336,10 @@ } pdata->rtc = devm_rtc_allocate_device(&pdev->dev); - if (IS_ERR(pdata->rtc)) + if (IS_ERR(pdata->rtc)) { + clk_disable_unprepare(pdata->clk); return PTR_ERR(pdata->rtc); + } pdata->rtc->ops = &mxc_rtc_ops; pdata->rtc->range_max = U32_MAX; --- linux-gcp-5.19.0.orig/drivers/rtc/rtc-pcf85063.c +++ linux-gcp-5.19.0/drivers/rtc/rtc-pcf85063.c @@ -169,10 +169,10 @@ if (ret) return ret; - alrm->time.tm_sec = bcd2bin(buf[0]); - alrm->time.tm_min = bcd2bin(buf[1]); - alrm->time.tm_hour = bcd2bin(buf[2]); - alrm->time.tm_mday = bcd2bin(buf[3]); + alrm->time.tm_sec = bcd2bin(buf[0] & 0x7f); + alrm->time.tm_min = bcd2bin(buf[1] & 0x7f); + alrm->time.tm_hour = bcd2bin(buf[2] & 0x3f); + alrm->time.tm_mday = bcd2bin(buf[3] & 0x3f); ret = regmap_read(pcf85063->regmap, PCF85063_REG_CTRL2, &val); if (ret) @@ -424,7 +424,7 @@ unsigned int buf; int ret; - ret = regmap_read(pcf85063->regmap, PCF85063_REG_OFFSET, &buf); + ret = regmap_read(pcf85063->regmap, PCF85063_REG_CTRL2, &buf); if (ret < 0) return ret; buf &= PCF85063_REG_CLKO_F_MASK; --- linux-gcp-5.19.0.orig/drivers/rtc/rtc-pic32.c +++ linux-gcp-5.19.0/drivers/rtc/rtc-pic32.c @@ -324,16 +324,16 @@ spin_lock_init(&pdata->alarm_lock); + pdata->rtc = devm_rtc_allocate_device(&pdev->dev); + if (IS_ERR(pdata->rtc)) + return PTR_ERR(pdata->rtc); + clk_prepare_enable(pdata->clk); pic32_rtc_enable(pdata, 1); device_init_wakeup(&pdev->dev, 1); - pdata->rtc = devm_rtc_allocate_device(&pdev->dev); - if (IS_ERR(pdata->rtc)) - return PTR_ERR(pdata->rtc); - pdata->rtc->ops = &pic32_rtcops; pdata->rtc->range_min = RTC_TIMESTAMP_BEGIN_2000; pdata->rtc->range_max = RTC_TIMESTAMP_END_2099; --- linux-gcp-5.19.0.orig/drivers/rtc/rtc-pm8xxx.c +++ linux-gcp-5.19.0/drivers/rtc/rtc-pm8xxx.c @@ -221,7 +221,6 @@ { int rc, i; u8 value[NUM_8_BIT_RTC_REGS]; - unsigned int ctrl_reg; unsigned long secs, irq_flags; struct pm8xxx_rtc *rtc_dd = dev_get_drvdata(dev); const struct pm8xxx_rtc_regs *regs = rtc_dd->regs; @@ -233,6 +232,11 @@ secs >>= 8; } + rc = regmap_update_bits(rtc_dd->regmap, regs->alarm_ctrl, + regs->alarm_en, 0); + if (rc) + return rc; + spin_lock_irqsave(&rtc_dd->ctrl_reg_lock, irq_flags); rc = regmap_bulk_write(rtc_dd->regmap, regs->alarm_rw, value, @@ -242,19 +246,11 @@ goto rtc_rw_fail; } - rc = regmap_read(rtc_dd->regmap, regs->alarm_ctrl, &ctrl_reg); - if (rc) - goto rtc_rw_fail; - - if (alarm->enabled) - ctrl_reg |= regs->alarm_en; - else - ctrl_reg &= ~regs->alarm_en; - - rc = regmap_write(rtc_dd->regmap, regs->alarm_ctrl, ctrl_reg); - if (rc) { - dev_err(dev, "Write to RTC alarm control register failed\n"); - goto rtc_rw_fail; + if (alarm->enabled) { + rc = regmap_update_bits(rtc_dd->regmap, regs->alarm_ctrl, + regs->alarm_en, regs->alarm_en); + if (rc) + goto rtc_rw_fail; } dev_dbg(dev, "Alarm Set for h:m:s=%ptRt, y-m-d=%ptRdr\n", --- linux-gcp-5.19.0.orig/drivers/rtc/rtc-rx8025.c +++ linux-gcp-5.19.0/drivers/rtc/rtc-rx8025.c @@ -55,6 +55,8 @@ #define RX8025_BIT_CTRL2_XST BIT(5) #define RX8025_BIT_CTRL2_VDET BIT(6) +#define RX8035_BIT_HOUR_1224 BIT(7) + /* Clock precision adjustment */ #define RX8025_ADJ_RESOLUTION 3050 /* in ppb */ #define RX8025_ADJ_DATA_MAX 62 @@ -78,6 +80,7 @@ struct rtc_device *rtc; enum rx_model model; u8 ctrl1; + int is_24; }; static s32 rx8025_read_reg(const struct i2c_client *client, u8 number) @@ -226,7 +229,7 @@ dt->tm_sec = bcd2bin(date[RX8025_REG_SEC] & 0x7f); dt->tm_min = bcd2bin(date[RX8025_REG_MIN] & 0x7f); - if (rx8025->ctrl1 & RX8025_BIT_CTRL1_1224) + if (rx8025->is_24) dt->tm_hour = bcd2bin(date[RX8025_REG_HOUR] & 0x3f); else dt->tm_hour = bcd2bin(date[RX8025_REG_HOUR] & 0x1f) % 12 @@ -254,7 +257,7 @@ */ date[RX8025_REG_SEC] = bin2bcd(dt->tm_sec); date[RX8025_REG_MIN] = bin2bcd(dt->tm_min); - if (rx8025->ctrl1 & RX8025_BIT_CTRL1_1224) + if (rx8025->is_24) date[RX8025_REG_HOUR] = bin2bcd(dt->tm_hour); else date[RX8025_REG_HOUR] = (dt->tm_hour >= 12 ? 0x20 : 0) @@ -279,6 +282,7 @@ struct rx8025_data *rx8025 = i2c_get_clientdata(client); u8 ctrl[2], ctrl2; int need_clear = 0; + int hour_reg; int err; err = rx8025_read_regs(client, RX8025_REG_CTRL1, 2, ctrl); @@ -303,6 +307,16 @@ err = rx8025_write_reg(client, RX8025_REG_CTRL2, ctrl2); } + + if (rx8025->model == model_rx_8035) { + /* In RX-8035, 12/24 flag is in the hour register */ + hour_reg = rx8025_read_reg(client, RX8025_REG_HOUR); + if (hour_reg < 0) + return hour_reg; + rx8025->is_24 = (hour_reg & RX8035_BIT_HOUR_1224); + } else { + rx8025->is_24 = (ctrl[1] & RX8025_BIT_CTRL1_1224); + } out: return err; } @@ -329,7 +343,7 @@ /* Hardware alarms precision is 1 minute! */ t->time.tm_sec = 0; t->time.tm_min = bcd2bin(ald[0] & 0x7f); - if (rx8025->ctrl1 & RX8025_BIT_CTRL1_1224) + if (rx8025->is_24) t->time.tm_hour = bcd2bin(ald[1] & 0x3f); else t->time.tm_hour = bcd2bin(ald[1] & 0x1f) % 12 @@ -350,7 +364,7 @@ int err; ald[0] = bin2bcd(t->time.tm_min); - if (rx8025->ctrl1 & RX8025_BIT_CTRL1_1224) + if (rx8025->is_24) ald[1] = bin2bcd(t->time.tm_hour); else ald[1] = (t->time.tm_hour >= 12 ? 0x20 : 0) --- linux-gcp-5.19.0.orig/drivers/rtc/rtc-rzn1.c +++ linux-gcp-5.19.0/drivers/rtc/rtc-rzn1.c @@ -355,7 +355,9 @@ set_bit(RTC_FEATURE_ALARM_RES_MINUTE, rtc->rtcdev->features); clear_bit(RTC_FEATURE_UPDATE_INTERRUPT, rtc->rtcdev->features); - devm_pm_runtime_enable(&pdev->dev); + ret = devm_pm_runtime_enable(&pdev->dev); + if (ret < 0) + return ret; ret = pm_runtime_resume_and_get(&pdev->dev); if (ret < 0) return ret; --- linux-gcp-5.19.0.orig/drivers/rtc/rtc-snvs.c +++ linux-gcp-5.19.0/drivers/rtc/rtc-snvs.c @@ -32,6 +32,14 @@ #define SNVS_LPPGDR_INIT 0x41736166 #define CNTR_TO_SECS_SH 15 +/* The maximum RTC clock cycles that are allowed to pass between two + * consecutive clock counter register reads. If the values are corrupted a + * bigger difference is expected. The RTC frequency is 32kHz. With 320 cycles + * we end at 10ms which should be enough for most cases. If it once takes + * longer than expected we do a retry. + */ +#define MAX_RTC_READ_DIFF_CYCLES 320 + struct snvs_rtc_data { struct rtc_device *rtc; struct regmap *regmap; @@ -56,6 +64,7 @@ static u32 rtc_read_lp_counter(struct snvs_rtc_data *data) { u64 read1, read2; + s64 diff; unsigned int timeout = 100; /* As expected, the registers might update between the read of the LSB @@ -66,7 +75,8 @@ do { read2 = read1; read1 = rtc_read_lpsrt(data); - } while (read1 != read2 && --timeout); + diff = read1 - read2; + } while (((diff < 0) || (diff > MAX_RTC_READ_DIFF_CYCLES)) && --timeout); if (!timeout) dev_err(&data->rtc->dev, "Timeout trying to get valid LPSRT Counter read\n"); @@ -78,13 +88,15 @@ static int rtc_read_lp_counter_lsb(struct snvs_rtc_data *data, u32 *lsb) { u32 count1, count2; + s32 diff; unsigned int timeout = 100; regmap_read(data->regmap, data->offset + SNVS_LPSRTCLR, &count1); do { count2 = count1; regmap_read(data->regmap, data->offset + SNVS_LPSRTCLR, &count1); - } while (count1 != count2 && --timeout); + diff = count1 - count2; + } while (((diff < 0) || (diff > MAX_RTC_READ_DIFF_CYCLES)) && --timeout); if (!timeout) { dev_err(&data->rtc->dev, "Timeout trying to get valid LPSRT Counter read\n"); return -ETIMEDOUT; --- linux-gcp-5.19.0.orig/drivers/rtc/rtc-spear.c +++ linux-gcp-5.19.0/drivers/rtc/rtc-spear.c @@ -388,7 +388,7 @@ config->rtc->ops = &spear_rtc_ops; config->rtc->range_min = RTC_TIMESTAMP_BEGIN_0000; - config->rtc->range_min = RTC_TIMESTAMP_END_9999; + config->rtc->range_max = RTC_TIMESTAMP_END_9999; status = devm_rtc_register_device(config->rtc); if (status) --- linux-gcp-5.19.0.orig/drivers/rtc/rtc-st-lpc.c +++ linux-gcp-5.19.0/drivers/rtc/rtc-st-lpc.c @@ -238,6 +238,7 @@ rtc->clkrate = clk_get_rate(rtc->clk); if (!rtc->clkrate) { + clk_disable_unprepare(rtc->clk); dev_err(&pdev->dev, "Unable to fetch clock rate\n"); return -EINVAL; } --- linux-gcp-5.19.0.orig/drivers/rtc/rtc-sunplus.c +++ linux-gcp-5.19.0/drivers/rtc/rtc-sunplus.c @@ -240,8 +240,8 @@ if (IS_ERR(sp_rtc->reg_base)) return dev_err_probe(&plat_dev->dev, PTR_ERR(sp_rtc->reg_base), "%s devm_ioremap_resource fail\n", RTC_REG_NAME); - dev_dbg(&plat_dev->dev, "res = 0x%x, reg_base = 0x%lx\n", - sp_rtc->res->start, (unsigned long)sp_rtc->reg_base); + dev_dbg(&plat_dev->dev, "res = %pR, reg_base = %p\n", + sp_rtc->res, sp_rtc->reg_base); sp_rtc->irq = platform_get_irq(plat_dev, 0); if (sp_rtc->irq < 0) --- linux-gcp-5.19.0.orig/drivers/s390/block/dasd.c +++ linux-gcp-5.19.0/drivers/s390/block/dasd.c @@ -3280,7 +3280,7 @@ static void dasd_free_queue(struct dasd_block *block) { if (block->request_queue) { - blk_cleanup_queue(block->request_queue); + blk_mq_destroy_queue(block->request_queue); blk_mq_free_tag_set(&block->tag_set); block->request_queue = NULL; } --- linux-gcp-5.19.0.orig/drivers/s390/block/dasd_alias.c +++ linux-gcp-5.19.0/drivers/s390/block/dasd_alias.c @@ -675,12 +675,12 @@ struct dasd_device *dasd_alias_get_start_dev(struct dasd_device *base_device) { struct dasd_eckd_private *alias_priv, *private = base_device->private; - struct alias_pav_group *group = private->pavgroup; struct alias_lcu *lcu = private->lcu; struct dasd_device *alias_device; + struct alias_pav_group *group; unsigned long flags; - if (!group || !lcu) + if (!lcu) return NULL; if (lcu->pav == NO_PAV || lcu->flags & (NEED_UAC_UPDATE | UPDATE_PENDING)) @@ -697,6 +697,11 @@ } spin_lock_irqsave(&lcu->lock, flags); + group = private->pavgroup; + if (!group) { + spin_unlock_irqrestore(&lcu->lock, flags); + return NULL; + } alias_device = group->next; if (!alias_device) { if (list_empty(&group->aliaslist)) { --- linux-gcp-5.19.0.orig/drivers/s390/block/dasd_eckd.c +++ linux-gcp-5.19.0/drivers/s390/block/dasd_eckd.c @@ -4681,7 +4681,6 @@ struct dasd_device *basedev; struct req_iterator iter; struct dasd_ccw_req *cqr; - unsigned int first_offs; unsigned int trkcount; unsigned long *idaws; unsigned int size; @@ -4715,7 +4714,6 @@ last_trk = (blk_rq_pos(req) + blk_rq_sectors(req) - 1) / DASD_RAW_SECTORS_PER_TRACK; trkcount = last_trk - first_trk + 1; - first_offs = 0; if (rq_data_dir(req) == READ) cmd = DASD_ECKD_CCW_READ_TRACK; @@ -4759,13 +4757,13 @@ if (use_prefix) { prefix_LRE(ccw++, data, first_trk, last_trk, cmd, basedev, - startdev, 1, first_offs + 1, trkcount, 0, 0); + startdev, 1, 0, trkcount, 0, 0); } else { define_extent(ccw++, data, first_trk, last_trk, cmd, basedev, 0); ccw[-1].flags |= CCW_FLAG_CC; data += sizeof(struct DE_eckd_data); - locate_record_ext(ccw++, data, first_trk, first_offs + 1, + locate_record_ext(ccw++, data, first_trk, 0, trkcount, cmd, basedev, 0, 0); } @@ -6710,8 +6708,10 @@ return -ENOMEM; dasd_vol_info_req = kmalloc(sizeof(*dasd_vol_info_req), GFP_KERNEL | GFP_DMA); - if (!dasd_vol_info_req) + if (!dasd_vol_info_req) { + kfree(dasd_reserve_req); return -ENOMEM; + } pe_handler_worker = kmalloc(sizeof(*pe_handler_worker), GFP_KERNEL | GFP_DMA); if (!pe_handler_worker) { --- linux-gcp-5.19.0.orig/drivers/s390/block/dasd_genhd.c +++ linux-gcp-5.19.0/drivers/s390/block/dasd_genhd.c @@ -41,8 +41,8 @@ if (base->devindex >= DASD_PER_MAJOR) return -EBUSY; - gdp = __alloc_disk_node(block->request_queue, NUMA_NO_NODE, - &dasd_bio_compl_lkclass); + gdp = blk_mq_alloc_disk_for_queue(block->request_queue, + &dasd_bio_compl_lkclass); if (!gdp) return -ENOMEM; --- linux-gcp-5.19.0.orig/drivers/s390/block/dcssblk.c +++ linux-gcp-5.19.0/drivers/s390/block/dcssblk.c @@ -636,6 +636,7 @@ dev_info->gd->minors = DCSSBLK_MINORS_PER_DISK; dev_info->gd->fops = &dcssblk_devops; dev_info->gd->private_data = dev_info; + dev_info->gd->flags |= GENHD_FL_NO_PART; blk_queue_logical_block_size(dev_info->gd->queue, 4096); blk_queue_flag_set(QUEUE_FLAG_DAX, dev_info->gd->queue); --- linux-gcp-5.19.0.orig/drivers/s390/char/sclp_early.c +++ linux-gcp-5.19.0/drivers/s390/char/sclp_early.c @@ -45,6 +45,10 @@ sclp.has_gisaf = !!(sccb->fac118 & 0x08); sclp.has_hvs = !!(sccb->fac119 & 0x80); sclp.has_kss = !!(sccb->fac98 & 0x01); + sclp.has_aisii = !!(sccb->fac118 & 0x40); + sclp.has_aeni = !!(sccb->fac118 & 0x20); + sclp.has_aisi = !!(sccb->fac118 & 0x10); + sclp.has_zpci_lsi = !!(sccb->fac118 & 0x01); if (sccb->fac85 & 0x02) S390_lowcore.machine_flags |= MACHINE_FLAG_ESOP; if (sccb->fac91 & 0x40) @@ -157,7 +161,7 @@ sclp.has_linemode = 1; } -void __init sclp_early_adjust_va(void) +void __init __no_sanitize_address sclp_early_adjust_va(void) { sclp_early_sccb = __va((unsigned long)sclp_early_sccb); } --- linux-gcp-5.19.0.orig/drivers/s390/char/zcore.c +++ linux-gcp-5.19.0/drivers/s390/char/zcore.c @@ -50,6 +50,7 @@ static struct dentry *zcore_hsa_file; static struct ipl_parameter_block *zcore_ipl_block; +static DEFINE_MUTEX(hsa_buf_mutex); static char hsa_buf[PAGE_SIZE] __aligned(PAGE_SIZE); /* @@ -66,19 +67,24 @@ if (!hsa_available) return -ENODATA; + mutex_lock(&hsa_buf_mutex); while (count) { if (sclp_sdias_copy(hsa_buf, src / PAGE_SIZE + 2, 1)) { TRACE("sclp_sdias_copy() failed\n"); + mutex_unlock(&hsa_buf_mutex); return -EIO; } offset = src % PAGE_SIZE; bytes = min(PAGE_SIZE - offset, count); - if (copy_to_user(dest, hsa_buf + offset, bytes)) + if (copy_to_user(dest, hsa_buf + offset, bytes)) { + mutex_unlock(&hsa_buf_mutex); return -EFAULT; + } src += bytes; dest += bytes; count -= bytes; } + mutex_unlock(&hsa_buf_mutex); return 0; } @@ -96,9 +102,11 @@ if (!hsa_available) return -ENODATA; + mutex_lock(&hsa_buf_mutex); while (count) { if (sclp_sdias_copy(hsa_buf, src / PAGE_SIZE + 2, 1)) { TRACE("sclp_sdias_copy() failed\n"); + mutex_unlock(&hsa_buf_mutex); return -EIO; } offset = src % PAGE_SIZE; @@ -108,6 +116,7 @@ dest += bytes; count -= bytes; } + mutex_unlock(&hsa_buf_mutex); return 0; } --- linux-gcp-5.19.0.orig/drivers/s390/cio/airq.c +++ linux-gcp-5.19.0/drivers/s390/cio/airq.c @@ -99,7 +99,7 @@ rcu_read_lock(); hlist_for_each_entry_rcu(airq, head, list) if ((*airq->lsi_ptr & airq->lsi_mask) != 0) - airq->handler(airq, !tpi_info->directed_irq); + airq->handler(airq, tpi_info); rcu_read_unlock(); return IRQ_HANDLED; @@ -122,10 +122,12 @@ * airq_iv_create - create an interrupt vector * @bits: number of bits in the interrupt vector * @flags: allocation flags + * @vec: pointer to pinned guest memory if AIRQ_IV_GUESTVEC * * Returns a pointer to an interrupt vector structure */ -struct airq_iv *airq_iv_create(unsigned long bits, unsigned long flags) +struct airq_iv *airq_iv_create(unsigned long bits, unsigned long flags, + unsigned long *vec) { struct airq_iv *iv; unsigned long size; @@ -146,6 +148,8 @@ &iv->vector_dma); if (!iv->vector) goto out_free; + } else if (flags & AIRQ_IV_GUESTVEC) { + iv->vector = vec; } else { iv->vector = cio_dma_zalloc(size); if (!iv->vector) @@ -185,7 +189,7 @@ kfree(iv->avail); if (iv->flags & AIRQ_IV_CACHELINE && iv->vector) dma_pool_free(airq_iv_cache, iv->vector, iv->vector_dma); - else + else if (!(iv->flags & AIRQ_IV_GUESTVEC)) cio_dma_free(iv->vector, size); kfree(iv); out: @@ -204,7 +208,7 @@ kfree(iv->bitlock); if (iv->flags & AIRQ_IV_CACHELINE) dma_pool_free(airq_iv_cache, iv->vector, iv->vector_dma); - else + else if (!(iv->flags & AIRQ_IV_GUESTVEC)) cio_dma_free(iv->vector, iv_size(iv->bits)); kfree(iv->avail); kfree(iv); --- linux-gcp-5.19.0.orig/drivers/s390/cio/css.c +++ linux-gcp-5.19.0/drivers/s390/cio/css.c @@ -753,13 +753,9 @@ { struct idset *set = data; struct subchannel *sch = to_subchannel(dev); - struct ccw_device *cdev; - if (sch->st == SUBCHANNEL_TYPE_IO) { - cdev = sch_get_cdev(sch); - if (cdev && cdev->online) - idset_sch_del(set, sch->schid); - } + if (sch->st == SUBCHANNEL_TYPE_IO && sch->config.ena) + idset_sch_del(set, sch->schid); return 0; } --- linux-gcp-5.19.0.orig/drivers/s390/cio/qdio_thinint.c +++ linux-gcp-5.19.0/drivers/s390/cio/qdio_thinint.c @@ -15,6 +15,7 @@ #include #include #include +#include #include "cio.h" #include "ioasm.h" @@ -93,9 +94,10 @@ /** * tiqdio_thinint_handler - thin interrupt handler for qdio * @airq: pointer to adapter interrupt descriptor - * @floating: flag to recognize floating vs. directed interrupts (unused) + * @tpi_info: interrupt information (e.g. floating vs directed -- unused) */ -static void tiqdio_thinint_handler(struct airq_struct *airq, bool floating) +static void tiqdio_thinint_handler(struct airq_struct *airq, + struct tpi_info *tpi_info) { u64 irq_time = S390_lowcore.int_clock; u32 si_used = clear_shared_ind(); --- linux-gcp-5.19.0.orig/drivers/s390/cio/vfio_ccw_drv.c +++ linux-gcp-5.19.0/drivers/s390/cio/vfio_ccw_drv.c @@ -14,7 +14,6 @@ #include #include #include -#include #include #include @@ -107,9 +106,10 @@ /* * Reset to IDLE only if processing of a channel program * has finished. Do not overwrite a possible processing - * state if the final interrupt was for HSCH or CSCH. + * state if the interrupt was unsolicited, or if the final + * interrupt was for HSCH or CSCH. */ - if (private->mdev && cp_is_finished) + if (cp_is_finished) private->state = VFIO_CCW_STATE_IDLE; if (private->io_trigger) @@ -301,19 +301,11 @@ if (work_pending(&sch->todo_work)) goto out_unlock; - if (cio_update_schib(sch)) { - vfio_ccw_fsm_event(private, VFIO_CCW_EVENT_NOT_OPER); - rc = 0; - goto out_unlock; - } - - private = dev_get_drvdata(&sch->dev); - if (private->state == VFIO_CCW_STATE_NOT_OPER) { - private->state = private->mdev ? VFIO_CCW_STATE_IDLE : - VFIO_CCW_STATE_STANDBY; - } rc = 0; + if (cio_update_schib(sch)) + vfio_ccw_fsm_event(private, VFIO_CCW_EVENT_NOT_OPER); + out_unlock: spin_unlock_irqrestore(sch->lock, flags); @@ -358,8 +350,8 @@ return 0; trace_vfio_ccw_chp_event(private->sch->schid, mask, event); - VFIO_CCW_MSG_EVENT(2, "%pUl (%x.%x.%04x): mask=0x%x event=%d\n", - mdev_uuid(private->mdev), sch->schid.cssid, + VFIO_CCW_MSG_EVENT(2, "sch %x.%x.%04x: mask=0x%x event=%d\n", + sch->schid.cssid, sch->schid.ssid, sch->schid.sch_no, mask, event); --- linux-gcp-5.19.0.orig/drivers/s390/cio/vfio_ccw_fsm.c +++ linux-gcp-5.19.0/drivers/s390/cio/vfio_ccw_fsm.c @@ -10,7 +10,6 @@ */ #include -#include #include "ioasm.h" #include "vfio_ccw_private.h" @@ -242,7 +241,6 @@ union orb *orb; union scsw *scsw = &private->scsw; struct ccw_io_region *io_region = private->io_region; - struct mdev_device *mdev = private->mdev; char *errstr = "request"; struct subchannel_id schid = get_schid(private); @@ -256,8 +254,8 @@ if (orb->tm.b) { io_region->ret_code = -EOPNOTSUPP; VFIO_CCW_MSG_EVENT(2, - "%pUl (%x.%x.%04x): transport mode\n", - mdev_uuid(mdev), schid.cssid, + "sch %x.%x.%04x: transport mode\n", + schid.cssid, schid.ssid, schid.sch_no); errstr = "transport mode"; goto err_out; @@ -265,8 +263,8 @@ io_region->ret_code = cp_init(&private->cp, orb); if (io_region->ret_code) { VFIO_CCW_MSG_EVENT(2, - "%pUl (%x.%x.%04x): cp_init=%d\n", - mdev_uuid(mdev), schid.cssid, + "sch %x.%x.%04x: cp_init=%d\n", + schid.cssid, schid.ssid, schid.sch_no, io_region->ret_code); errstr = "cp init"; @@ -276,8 +274,8 @@ io_region->ret_code = cp_prefetch(&private->cp); if (io_region->ret_code) { VFIO_CCW_MSG_EVENT(2, - "%pUl (%x.%x.%04x): cp_prefetch=%d\n", - mdev_uuid(mdev), schid.cssid, + "sch %x.%x.%04x: cp_prefetch=%d\n", + schid.cssid, schid.ssid, schid.sch_no, io_region->ret_code); errstr = "cp prefetch"; @@ -289,8 +287,8 @@ io_region->ret_code = fsm_io_helper(private); if (io_region->ret_code) { VFIO_CCW_MSG_EVENT(2, - "%pUl (%x.%x.%04x): fsm_io_helper=%d\n", - mdev_uuid(mdev), schid.cssid, + "sch %x.%x.%04x: fsm_io_helper=%d\n", + schid.cssid, schid.ssid, schid.sch_no, io_region->ret_code); errstr = "cp fsm_io_helper"; @@ -300,16 +298,16 @@ return; } else if (scsw->cmd.fctl & SCSW_FCTL_HALT_FUNC) { VFIO_CCW_MSG_EVENT(2, - "%pUl (%x.%x.%04x): halt on io_region\n", - mdev_uuid(mdev), schid.cssid, + "sch %x.%x.%04x: halt on io_region\n", + schid.cssid, schid.ssid, schid.sch_no); /* halt is handled via the async cmd region */ io_region->ret_code = -EOPNOTSUPP; goto err_out; } else if (scsw->cmd.fctl & SCSW_FCTL_CLEAR_FUNC) { VFIO_CCW_MSG_EVENT(2, - "%pUl (%x.%x.%04x): clear on io_region\n", - mdev_uuid(mdev), schid.cssid, + "sch %x.%x.%04x: clear on io_region\n", + schid.cssid, schid.ssid, schid.sch_no); /* clear is handled via the async cmd region */ io_region->ret_code = -EOPNOTSUPP; --- linux-gcp-5.19.0.orig/drivers/s390/cio/vfio_ccw_ops.c +++ linux-gcp-5.19.0/drivers/s390/cio/vfio_ccw_ops.c @@ -131,8 +131,8 @@ private->mdev = mdev; private->state = VFIO_CCW_STATE_IDLE; - VFIO_CCW_MSG_EVENT(2, "mdev %pUl, sch %x.%x.%04x: create\n", - mdev_uuid(mdev), private->sch->schid.cssid, + VFIO_CCW_MSG_EVENT(2, "sch %x.%x.%04x: create\n", + private->sch->schid.cssid, private->sch->schid.ssid, private->sch->schid.sch_no); @@ -146,7 +146,7 @@ vfio_uninit_group_dev(&private->vdev); atomic_inc(&private->avail); private->mdev = NULL; - private->state = VFIO_CCW_STATE_IDLE; + private->state = VFIO_CCW_STATE_STANDBY; return ret; } @@ -154,8 +154,8 @@ { struct vfio_ccw_private *private = dev_get_drvdata(mdev->dev.parent); - VFIO_CCW_MSG_EVENT(2, "mdev %pUl, sch %x.%x.%04x: remove\n", - mdev_uuid(mdev), private->sch->schid.cssid, + VFIO_CCW_MSG_EVENT(2, "sch %x.%x.%04x: remove\n", + private->sch->schid.cssid, private->sch->schid.ssid, private->sch->schid.sch_no); --- linux-gcp-5.19.0.orig/drivers/s390/crypto/ap_bus.c +++ linux-gcp-5.19.0/drivers/s390/crypto/ap_bus.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include #include @@ -131,7 +132,8 @@ static struct bus_type ap_bus_type; /* Adapter interrupt definitions */ -static void ap_interrupt_handler(struct airq_struct *airq, bool floating); +static void ap_interrupt_handler(struct airq_struct *airq, + struct tpi_info *tpi_info); static bool ap_irq_flag; @@ -231,8 +233,11 @@ if (!ap_qci_info) return; ap_qci_info_old = kzalloc(sizeof(*ap_qci_info_old), GFP_KERNEL); - if (!ap_qci_info_old) + if (!ap_qci_info_old) { + kfree(ap_qci_info); + ap_qci_info = NULL; return; + } if (ap_fetch_qci_info(ap_qci_info) != 0) { kfree(ap_qci_info); kfree(ap_qci_info_old); @@ -452,9 +457,10 @@ /** * ap_interrupt_handler() - Schedule ap_tasklet on interrupt * @airq: pointer to adapter interrupt descriptor - * @floating: ignored + * @tpi_info: ignored */ -static void ap_interrupt_handler(struct airq_struct *airq, bool floating) +static void ap_interrupt_handler(struct airq_struct *airq, + struct tpi_info *tpi_info) { inc_irq_stat(IRQIO_APB); tasklet_schedule(&ap_tasklet); @@ -835,6 +841,17 @@ bus_for_each_dev(&ap_bus_type, NULL, NULL, __ap_revise_reserved); } +/** + * ap_owned_by_def_drv: indicates whether an AP adapter is reserved for the + * default host driver or not. + * @card: the APID of the adapter card to check + * @queue: the APQI of the queue to check + * + * Note: the ap_perms_mutex must be locked by the caller of this function. + * + * Return: an int specifying whether the AP adapter is reserved for the host (1) + * or not (0). + */ int ap_owned_by_def_drv(int card, int queue) { int rc = 0; @@ -842,25 +859,31 @@ if (card < 0 || card >= AP_DEVICES || queue < 0 || queue >= AP_DOMAINS) return -EINVAL; - mutex_lock(&ap_perms_mutex); - if (test_bit_inv(card, ap_perms.apm) && test_bit_inv(queue, ap_perms.aqm)) rc = 1; - mutex_unlock(&ap_perms_mutex); - return rc; } EXPORT_SYMBOL(ap_owned_by_def_drv); +/** + * ap_apqn_in_matrix_owned_by_def_drv: indicates whether every APQN contained in + * a set is reserved for the host drivers + * or not. + * @apm: a bitmap specifying a set of APIDs comprising the APQNs to check + * @aqm: a bitmap specifying a set of APQIs comprising the APQNs to check + * + * Note: the ap_perms_mutex must be locked by the caller of this function. + * + * Return: an int specifying whether each APQN is reserved for the host (1) or + * not (0) + */ int ap_apqn_in_matrix_owned_by_def_drv(unsigned long *apm, unsigned long *aqm) { int card, queue, rc = 0; - mutex_lock(&ap_perms_mutex); - for (card = 0; !rc && card < AP_DEVICES; card++) if (test_bit_inv(card, apm) && test_bit_inv(card, ap_perms.apm)) @@ -869,8 +892,6 @@ test_bit_inv(queue, ap_perms.aqm)) rc = 1; - mutex_unlock(&ap_perms_mutex); - return rc; } EXPORT_SYMBOL(ap_apqn_in_matrix_owned_by_def_drv); @@ -2068,6 +2089,9 @@ */ static bool ap_get_configuration(void) { + if (!ap_qci_info) /* QCI not supported */ + return false; + memcpy(ap_qci_info_old, ap_qci_info, sizeof(*ap_qci_info)); ap_fetch_qci_info(ap_qci_info); --- linux-gcp-5.19.0.orig/drivers/s390/crypto/ap_bus.h +++ linux-gcp-5.19.0/drivers/s390/crypto/ap_bus.h @@ -148,12 +148,16 @@ /* * Called at the start of the ap bus scan function when * the crypto config information (qci) has changed. + * This callback is not invoked if there is no AP + * QCI support available. */ void (*on_config_changed)(struct ap_config_info *new_config_info, struct ap_config_info *old_config_info); /* * Called at the end of the ap bus scan function when * the crypto config information (qci) has changed. + * This callback is not invoked if there is no AP + * QCI support available. */ void (*on_scan_complete)(struct ap_config_info *new_config_info, struct ap_config_info *old_config_info); --- linux-gcp-5.19.0.orig/drivers/s390/crypto/vfio_ap_drv.c +++ linux-gcp-5.19.0/drivers/s390/crypto/vfio_ap_drv.c @@ -18,9 +18,6 @@ #define VFIO_AP_ROOT_NAME "vfio_ap" #define VFIO_AP_DEV_NAME "matrix" -#define AP_QUEUE_ASSIGNED "assigned" -#define AP_QUEUE_UNASSIGNED "unassigned" -#define AP_QUEUE_IN_USE "in use" MODULE_AUTHOR("IBM Corporation"); MODULE_DESCRIPTION("VFIO AP device driver, Copyright IBM Corp. 2018"); @@ -46,120 +43,12 @@ { /* end of sibling */ }, }; -static struct ap_matrix_mdev *vfio_ap_mdev_for_queue(struct vfio_ap_queue *q) -{ - struct ap_matrix_mdev *matrix_mdev; - unsigned long apid = AP_QID_CARD(q->apqn); - unsigned long apqi = AP_QID_QUEUE(q->apqn); - - list_for_each_entry(matrix_mdev, &matrix_dev->mdev_list, node) { - if (test_bit_inv(apid, matrix_mdev->matrix.apm) && - test_bit_inv(apqi, matrix_mdev->matrix.aqm)) - return matrix_mdev; - } - - return NULL; -} - -static ssize_t status_show(struct device *dev, - struct device_attribute *attr, - char *buf) -{ - ssize_t nchars = 0; - struct vfio_ap_queue *q; - struct ap_matrix_mdev *matrix_mdev; - struct ap_device *apdev = to_ap_dev(dev); - - mutex_lock(&matrix_dev->lock); - q = dev_get_drvdata(&apdev->device); - matrix_mdev = vfio_ap_mdev_for_queue(q); - - if (matrix_mdev) { - if (matrix_mdev->kvm) - nchars = scnprintf(buf, PAGE_SIZE, "%s\n", - AP_QUEUE_IN_USE); - else - nchars = scnprintf(buf, PAGE_SIZE, "%s\n", - AP_QUEUE_ASSIGNED); - } else { - nchars = scnprintf(buf, PAGE_SIZE, "%s\n", - AP_QUEUE_UNASSIGNED); - } - - mutex_unlock(&matrix_dev->lock); - - return nchars; -} - -static DEVICE_ATTR_RO(status); - -static struct attribute *vfio_queue_attrs[] = { - &dev_attr_status.attr, - NULL, -}; - -static const struct attribute_group vfio_queue_attr_group = { - .attrs = vfio_queue_attrs, -}; - -/** - * vfio_ap_queue_dev_probe: Allocate a vfio_ap_queue structure and associate it - * with the device as driver_data. - * - * @apdev: the AP device being probed - * - * Return: returns 0 if the probe succeeded; otherwise, returns an error if - * storage could not be allocated for a vfio_ap_queue object or the - * sysfs 'status' attribute could not be created for the queue device. - */ -static int vfio_ap_queue_dev_probe(struct ap_device *apdev) -{ - int ret; - struct vfio_ap_queue *q; - - q = kzalloc(sizeof(*q), GFP_KERNEL); - if (!q) - return -ENOMEM; - - mutex_lock(&matrix_dev->lock); - dev_set_drvdata(&apdev->device, q); - q->apqn = to_ap_queue(&apdev->device)->qid; - q->saved_isc = VFIO_AP_ISC_INVALID; - - ret = sysfs_create_group(&apdev->device.kobj, &vfio_queue_attr_group); - if (ret) { - dev_set_drvdata(&apdev->device, NULL); - kfree(q); - } - - mutex_unlock(&matrix_dev->lock); - - return ret; -} - -/** - * vfio_ap_queue_dev_remove: Free the associated vfio_ap_queue structure. - * - * @apdev: the AP device being removed - * - * Takes the matrix lock to avoid actions on this device while doing the remove. - */ -static void vfio_ap_queue_dev_remove(struct ap_device *apdev) -{ - struct vfio_ap_queue *q; - - mutex_lock(&matrix_dev->lock); - sysfs_remove_group(&apdev->device.kobj, &vfio_queue_attr_group); - q = dev_get_drvdata(&apdev->device); - vfio_ap_mdev_reset_queue(q, 1); - dev_set_drvdata(&apdev->device, NULL); - kfree(q); - mutex_unlock(&matrix_dev->lock); -} - static struct ap_driver vfio_ap_drv = { - .probe = vfio_ap_queue_dev_probe, - .remove = vfio_ap_queue_dev_remove, + .probe = vfio_ap_mdev_probe_queue, + .remove = vfio_ap_mdev_remove_queue, + .in_use = vfio_ap_mdev_resource_in_use, + .on_config_changed = vfio_ap_on_cfg_changed, + .on_scan_complete = vfio_ap_on_scan_complete, .ids = ap_queue_ids, }; @@ -212,8 +101,9 @@ goto matrix_alloc_err; } - mutex_init(&matrix_dev->lock); + mutex_init(&matrix_dev->mdevs_lock); INIT_LIST_HEAD(&matrix_dev->mdev_list); + mutex_init(&matrix_dev->guests_lock); dev_set_name(&matrix_dev->device, "%s", VFIO_AP_DEV_NAME); matrix_dev->device.parent = root_device; --- linux-gcp-5.19.0.orig/drivers/s390/crypto/vfio_ap_ops.c +++ linux-gcp-5.19.0/drivers/s390/crypto/vfio_ap_ops.c @@ -26,44 +26,193 @@ #define VFIO_AP_MDEV_TYPE_HWVIRT "passthrough" #define VFIO_AP_MDEV_NAME_HWVIRT "VFIO AP Passthrough Device" -static int vfio_ap_mdev_reset_queues(struct ap_matrix_mdev *matrix_mdev); +#define AP_QUEUE_ASSIGNED "assigned" +#define AP_QUEUE_UNASSIGNED "unassigned" +#define AP_QUEUE_IN_USE "in use" + +static int vfio_ap_mdev_reset_queues(struct ap_queue_table *qtable); static struct vfio_ap_queue *vfio_ap_find_queue(int apqn); static const struct vfio_device_ops vfio_ap_matrix_dev_ops; +static int vfio_ap_mdev_reset_queue(struct vfio_ap_queue *q, unsigned int retry); -static int match_apqn(struct device *dev, const void *data) +/** + * get_update_locks_for_kvm: Acquire the locks required to dynamically update a + * KVM guest's APCB in the proper order. + * + * @kvm: a pointer to a struct kvm object containing the KVM guest's APCB. + * + * The proper locking order is: + * 1. matrix_dev->guests_lock: required to use the KVM pointer to update a KVM + * guest's APCB. + * 2. kvm->lock: required to update a guest's APCB + * 3. matrix_dev->mdevs_lock: required to access data stored in a matrix_mdev + * + * Note: If @kvm is NULL, the KVM lock will not be taken. + */ +static inline void get_update_locks_for_kvm(struct kvm *kvm) { - struct vfio_ap_queue *q = dev_get_drvdata(dev); + mutex_lock(&matrix_dev->guests_lock); + if (kvm) + mutex_lock(&kvm->lock); + mutex_lock(&matrix_dev->mdevs_lock); +} - return (q->apqn == *(int *)(data)) ? 1 : 0; +/** + * release_update_locks_for_kvm: Release the locks used to dynamically update a + * KVM guest's APCB in the proper order. + * + * @kvm: a pointer to a struct kvm object containing the KVM guest's APCB. + * + * The proper unlocking order is: + * 1. matrix_dev->mdevs_lock + * 2. kvm->lock + * 3. matrix_dev->guests_lock + * + * Note: If @kvm is NULL, the KVM lock will not be released. + */ +static inline void release_update_locks_for_kvm(struct kvm *kvm) +{ + mutex_unlock(&matrix_dev->mdevs_lock); + if (kvm) + mutex_unlock(&kvm->lock); + mutex_unlock(&matrix_dev->guests_lock); +} + +/** + * get_update_locks_for_mdev: Acquire the locks required to dynamically update a + * KVM guest's APCB in the proper order. + * + * @matrix_mdev: a pointer to a struct ap_matrix_mdev object containing the AP + * configuration data to use to update a KVM guest's APCB. + * + * The proper locking order is: + * 1. matrix_dev->guests_lock: required to use the KVM pointer to update a KVM + * guest's APCB. + * 2. matrix_mdev->kvm->lock: required to update a guest's APCB + * 3. matrix_dev->mdevs_lock: required to access data stored in a matrix_mdev + * + * Note: If @matrix_mdev is NULL or is not attached to a KVM guest, the KVM + * lock will not be taken. + */ +static inline void get_update_locks_for_mdev(struct ap_matrix_mdev *matrix_mdev) +{ + mutex_lock(&matrix_dev->guests_lock); + if (matrix_mdev && matrix_mdev->kvm) + mutex_lock(&matrix_mdev->kvm->lock); + mutex_lock(&matrix_dev->mdevs_lock); +} + +/** + * release_update_locks_for_mdev: Release the locks used to dynamically update a + * KVM guest's APCB in the proper order. + * + * @matrix_mdev: a pointer to a struct ap_matrix_mdev object containing the AP + * configuration data to use to update a KVM guest's APCB. + * + * The proper unlocking order is: + * 1. matrix_dev->mdevs_lock + * 2. matrix_mdev->kvm->lock + * 3. matrix_dev->guests_lock + * + * Note: If @matrix_mdev is NULL or is not attached to a KVM guest, the KVM + * lock will not be released. + */ +static inline void release_update_locks_for_mdev(struct ap_matrix_mdev *matrix_mdev) +{ + mutex_unlock(&matrix_dev->mdevs_lock); + if (matrix_mdev && matrix_mdev->kvm) + mutex_unlock(&matrix_mdev->kvm->lock); + mutex_unlock(&matrix_dev->guests_lock); } /** - * vfio_ap_get_queue - retrieve a queue with a specific APQN from a list - * @matrix_mdev: the associated mediated matrix - * @apqn: The queue APQN + * get_update_locks_by_apqn: Find the mdev to which an APQN is assigned and + * acquire the locks required to update the APCB of + * the KVM guest to which the mdev is attached. + * + * @apqn: the APQN of a queue device. + * + * The proper locking order is: + * 1. matrix_dev->guests_lock: required to use the KVM pointer to update a KVM + * guest's APCB. + * 2. matrix_mdev->kvm->lock: required to update a guest's APCB + * 3. matrix_dev->mdevs_lock: required to access data stored in a matrix_mdev * - * Retrieve a queue with a specific APQN from the list of the - * devices of the vfio_ap_drv. - * Verify that the APID and the APQI are set in the matrix. + * Note: If @apqn is not assigned to a matrix_mdev, the matrix_mdev->kvm->lock + * will not be taken. * - * Return: the pointer to the associated vfio_ap_queue + * Return: the ap_matrix_mdev object to which @apqn is assigned or NULL if @apqn + * is not assigned to an ap_matrix_mdev. */ -static struct vfio_ap_queue *vfio_ap_get_queue( +static struct ap_matrix_mdev *get_update_locks_by_apqn(int apqn) +{ + struct ap_matrix_mdev *matrix_mdev; + + mutex_lock(&matrix_dev->guests_lock); + + list_for_each_entry(matrix_mdev, &matrix_dev->mdev_list, node) { + if (test_bit_inv(AP_QID_CARD(apqn), matrix_mdev->matrix.apm) && + test_bit_inv(AP_QID_QUEUE(apqn), matrix_mdev->matrix.aqm)) { + if (matrix_mdev->kvm) + mutex_lock(&matrix_mdev->kvm->lock); + + mutex_lock(&matrix_dev->mdevs_lock); + + return matrix_mdev; + } + } + + mutex_lock(&matrix_dev->mdevs_lock); + + return NULL; +} + +/** + * get_update_locks_for_queue: get the locks required to update the APCB of the + * KVM guest to which the matrix mdev linked to a + * vfio_ap_queue object is attached. + * + * @q: a pointer to a vfio_ap_queue object. + * + * The proper locking order is: + * 1. q->matrix_dev->guests_lock: required to use the KVM pointer to update a + * KVM guest's APCB. + * 2. q->matrix_mdev->kvm->lock: required to update a guest's APCB + * 3. matrix_dev->mdevs_lock: required to access data stored in matrix_mdev + * + * Note: if @queue is not linked to an ap_matrix_mdev object, the KVM lock + * will not be taken. + */ +static inline void get_update_locks_for_queue(struct vfio_ap_queue *q) +{ + mutex_lock(&matrix_dev->guests_lock); + if (q->matrix_mdev && q->matrix_mdev->kvm) + mutex_lock(&q->matrix_mdev->kvm->lock); + mutex_lock(&matrix_dev->mdevs_lock); +} + +/** + * vfio_ap_mdev_get_queue - retrieve a queue with a specific APQN from a + * hash table of queues assigned to a matrix mdev + * @matrix_mdev: the matrix mdev + * @apqn: The APQN of a queue device + * + * Return: the pointer to the vfio_ap_queue struct representing the queue or + * NULL if the queue is not assigned to @matrix_mdev + */ +static struct vfio_ap_queue *vfio_ap_mdev_get_queue( struct ap_matrix_mdev *matrix_mdev, int apqn) { struct vfio_ap_queue *q; - if (!test_bit_inv(AP_QID_CARD(apqn), matrix_mdev->matrix.apm)) - return NULL; - if (!test_bit_inv(AP_QID_QUEUE(apqn), matrix_mdev->matrix.aqm)) - return NULL; - - q = vfio_ap_find_queue(apqn); - if (q) - q->matrix_mdev = matrix_mdev; + hash_for_each_possible(matrix_mdev->qtable.queues, q, mdev_qnode, + apqn) { + if (q && q->apqn == apqn) + return q; + } - return q; + return NULL; } /** @@ -180,7 +329,6 @@ status.response_code); end_free: vfio_ap_free_aqic_resources(q); - q->matrix_mdev = NULL; return status; } @@ -406,10 +554,12 @@ return -EOPNOTSUPP; } - mutex_lock(&matrix_dev->lock); + mutex_lock(&matrix_dev->mdevs_lock); + if (!vcpu->kvm->arch.crypto.pqap_hook) { VFIO_AP_DBF_WARN("%s: PQAP(AQIC) hook not registered with the vfio_ap driver: apqn=0x%04x\n", __func__, apqn); + goto out_unlock; } @@ -425,7 +575,7 @@ goto out_unlock; } - q = vfio_ap_get_queue(matrix_mdev, apqn); + q = vfio_ap_mdev_get_queue(matrix_mdev, apqn); if (!q) { VFIO_AP_DBF_WARN("%s: Queue %02x.%04x not bound to the vfio_ap driver\n", __func__, AP_QID_CARD(apqn), @@ -444,7 +594,7 @@ out_unlock: memcpy(&vcpu->run->s.regs.gprs[1], &qstatus, sizeof(qstatus)); vcpu->run->s.regs.gprs[1] >>= 32; - mutex_unlock(&matrix_dev->lock); + mutex_unlock(&matrix_dev->mdevs_lock); return 0; } @@ -456,6 +606,91 @@ matrix->adm_max = info->apxa ? info->Nd : 15; } +static void vfio_ap_mdev_update_guest_apcb(struct ap_matrix_mdev *matrix_mdev) +{ + if (matrix_mdev->kvm) + kvm_arch_crypto_set_masks(matrix_mdev->kvm, + matrix_mdev->shadow_apcb.apm, + matrix_mdev->shadow_apcb.aqm, + matrix_mdev->shadow_apcb.adm); +} + +static bool vfio_ap_mdev_filter_cdoms(struct ap_matrix_mdev *matrix_mdev) +{ + DECLARE_BITMAP(prev_shadow_adm, AP_DOMAINS); + + bitmap_copy(prev_shadow_adm, matrix_mdev->shadow_apcb.adm, AP_DOMAINS); + bitmap_and(matrix_mdev->shadow_apcb.adm, matrix_mdev->matrix.adm, + (unsigned long *)matrix_dev->info.adm, AP_DOMAINS); + + return !bitmap_equal(prev_shadow_adm, matrix_mdev->shadow_apcb.adm, + AP_DOMAINS); +} + +/* + * vfio_ap_mdev_filter_matrix - filter the APQNs assigned to the matrix mdev + * to ensure no queue devices are passed through to + * the guest that are not bound to the vfio_ap + * device driver. + * + * @matrix_mdev: the matrix mdev whose matrix is to be filtered. + * + * Note: If an APQN referencing a queue device that is not bound to the vfio_ap + * driver, its APID will be filtered from the guest's APCB. The matrix + * structure precludes filtering an individual APQN, so its APID will be + * filtered. + * + * Return: a boolean value indicating whether the KVM guest's APCB was changed + * by the filtering or not. + */ +static bool vfio_ap_mdev_filter_matrix(unsigned long *apm, unsigned long *aqm, + struct ap_matrix_mdev *matrix_mdev) +{ + unsigned long apid, apqi, apqn; + DECLARE_BITMAP(prev_shadow_apm, AP_DEVICES); + DECLARE_BITMAP(prev_shadow_aqm, AP_DOMAINS); + struct vfio_ap_queue *q; + + bitmap_copy(prev_shadow_apm, matrix_mdev->shadow_apcb.apm, AP_DEVICES); + bitmap_copy(prev_shadow_aqm, matrix_mdev->shadow_apcb.aqm, AP_DOMAINS); + vfio_ap_matrix_init(&matrix_dev->info, &matrix_mdev->shadow_apcb); + + /* + * Copy the adapters, domains and control domains to the shadow_apcb + * from the matrix mdev, but only those that are assigned to the host's + * AP configuration. + */ + bitmap_and(matrix_mdev->shadow_apcb.apm, matrix_mdev->matrix.apm, + (unsigned long *)matrix_dev->info.apm, AP_DEVICES); + bitmap_and(matrix_mdev->shadow_apcb.aqm, matrix_mdev->matrix.aqm, + (unsigned long *)matrix_dev->info.aqm, AP_DOMAINS); + + for_each_set_bit_inv(apid, apm, AP_DEVICES) { + for_each_set_bit_inv(apqi, aqm, AP_DOMAINS) { + /* + * If the APQN is not bound to the vfio_ap device + * driver, then we can't assign it to the guest's + * AP configuration. The AP architecture won't + * allow filtering of a single APQN, so let's filter + * the APID since an adapter represents a physical + * hardware device. + */ + apqn = AP_MKQID(apid, apqi); + q = vfio_ap_mdev_get_queue(matrix_mdev, apqn); + if (!q || q->reset_rc) { + clear_bit_inv(apid, + matrix_mdev->shadow_apcb.apm); + break; + } + } + } + + return !bitmap_equal(prev_shadow_apm, matrix_mdev->shadow_apcb.apm, + AP_DEVICES) || + !bitmap_equal(prev_shadow_aqm, matrix_mdev->shadow_apcb.aqm, + AP_DOMAINS); +} + static int vfio_ap_mdev_probe(struct mdev_device *mdev) { struct ap_matrix_mdev *matrix_mdev; @@ -475,20 +710,19 @@ matrix_mdev->mdev = mdev; vfio_ap_matrix_init(&matrix_dev->info, &matrix_mdev->matrix); matrix_mdev->pqap_hook = handle_pqap; - mutex_lock(&matrix_dev->lock); - list_add(&matrix_mdev->node, &matrix_dev->mdev_list); - mutex_unlock(&matrix_dev->lock); + vfio_ap_matrix_init(&matrix_dev->info, &matrix_mdev->shadow_apcb); + hash_init(matrix_mdev->qtable.queues); ret = vfio_register_emulated_iommu_dev(&matrix_mdev->vdev); if (ret) goto err_list; dev_set_drvdata(&mdev->dev, matrix_mdev); + mutex_lock(&matrix_dev->mdevs_lock); + list_add(&matrix_mdev->node, &matrix_dev->mdev_list); + mutex_unlock(&matrix_dev->mdevs_lock); return 0; err_list: - mutex_lock(&matrix_dev->lock); - list_del(&matrix_mdev->node); - mutex_unlock(&matrix_dev->lock); vfio_uninit_group_dev(&matrix_mdev->vdev); kfree(matrix_mdev); err_dec_available: @@ -496,16 +730,62 @@ return ret; } +static void vfio_ap_mdev_link_queue(struct ap_matrix_mdev *matrix_mdev, + struct vfio_ap_queue *q) +{ + if (q) { + q->matrix_mdev = matrix_mdev; + hash_add(matrix_mdev->qtable.queues, &q->mdev_qnode, q->apqn); + } +} + +static void vfio_ap_mdev_link_apqn(struct ap_matrix_mdev *matrix_mdev, int apqn) +{ + struct vfio_ap_queue *q; + + q = vfio_ap_find_queue(apqn); + vfio_ap_mdev_link_queue(matrix_mdev, q); +} + +static void vfio_ap_unlink_queue_fr_mdev(struct vfio_ap_queue *q) +{ + hash_del(&q->mdev_qnode); +} + +static void vfio_ap_unlink_mdev_fr_queue(struct vfio_ap_queue *q) +{ + q->matrix_mdev = NULL; +} + +static void vfio_ap_mdev_unlink_fr_queues(struct ap_matrix_mdev *matrix_mdev) +{ + struct vfio_ap_queue *q; + unsigned long apid, apqi; + + for_each_set_bit_inv(apid, matrix_mdev->matrix.apm, AP_DEVICES) { + for_each_set_bit_inv(apqi, matrix_mdev->matrix.aqm, + AP_DOMAINS) { + q = vfio_ap_mdev_get_queue(matrix_mdev, + AP_MKQID(apid, apqi)); + if (q) + q->matrix_mdev = NULL; + } + } +} + static void vfio_ap_mdev_remove(struct mdev_device *mdev) { struct ap_matrix_mdev *matrix_mdev = dev_get_drvdata(&mdev->dev); vfio_unregister_group_dev(&matrix_mdev->vdev); - mutex_lock(&matrix_dev->lock); - vfio_ap_mdev_reset_queues(matrix_mdev); + mutex_lock(&matrix_dev->guests_lock); + mutex_lock(&matrix_dev->mdevs_lock); + vfio_ap_mdev_reset_queues(&matrix_mdev->qtable); + vfio_ap_mdev_unlink_fr_queues(matrix_mdev); list_del(&matrix_mdev->node); - mutex_unlock(&matrix_dev->lock); + mutex_unlock(&matrix_dev->mdevs_lock); + mutex_unlock(&matrix_dev->guests_lock); vfio_uninit_group_dev(&matrix_mdev->vdev); kfree(matrix_mdev); atomic_inc(&matrix_dev->available_instances); @@ -554,141 +834,48 @@ NULL, }; -struct vfio_ap_queue_reserved { - unsigned long *apid; - unsigned long *apqi; - bool reserved; -}; - -/** - * vfio_ap_has_queue - determines if the AP queue containing the target in @data - * - * @dev: an AP queue device - * @data: a struct vfio_ap_queue_reserved reference - * - * Flags whether the AP queue device (@dev) has a queue ID containing the APQN, - * apid or apqi specified in @data: - * - * - If @data contains both an apid and apqi value, then @data will be flagged - * as reserved if the APID and APQI fields for the AP queue device matches - * - * - If @data contains only an apid value, @data will be flagged as - * reserved if the APID field in the AP queue device matches - * - * - If @data contains only an apqi value, @data will be flagged as - * reserved if the APQI field in the AP queue device matches - * - * Return: 0 to indicate the input to function succeeded. Returns -EINVAL if - * @data does not contain either an apid or apqi. - */ -static int vfio_ap_has_queue(struct device *dev, void *data) -{ - struct vfio_ap_queue_reserved *qres = data; - struct ap_queue *ap_queue = to_ap_queue(dev); - ap_qid_t qid; - unsigned long id; - - if (qres->apid && qres->apqi) { - qid = AP_MKQID(*qres->apid, *qres->apqi); - if (qid == ap_queue->qid) - qres->reserved = true; - } else if (qres->apid && !qres->apqi) { - id = AP_QID_CARD(ap_queue->qid); - if (id == *qres->apid) - qres->reserved = true; - } else if (!qres->apid && qres->apqi) { - id = AP_QID_QUEUE(ap_queue->qid); - if (id == *qres->apqi) - qres->reserved = true; - } else { - return -EINVAL; - } +#define MDEV_SHARING_ERR "Userspace may not re-assign queue %02lx.%04lx " \ + "already assigned to %s" - return 0; -} - -/** - * vfio_ap_verify_queue_reserved - verifies that the AP queue containing - * @apid or @aqpi is reserved - * - * @apid: an AP adapter ID - * @apqi: an AP queue index - * - * Verifies that the AP queue with @apid/@apqi is reserved by the VFIO AP device - * driver according to the following rules: - * - * - If both @apid and @apqi are not NULL, then there must be an AP queue - * device bound to the vfio_ap driver with the APQN identified by @apid and - * @apqi - * - * - If only @apid is not NULL, then there must be an AP queue device bound - * to the vfio_ap driver with an APQN containing @apid - * - * - If only @apqi is not NULL, then there must be an AP queue device bound - * to the vfio_ap driver with an APQN containing @apqi - * - * Return: 0 if the AP queue is reserved; otherwise, returns -EADDRNOTAVAIL. - */ -static int vfio_ap_verify_queue_reserved(unsigned long *apid, - unsigned long *apqi) +static void vfio_ap_mdev_log_sharing_err(struct ap_matrix_mdev *matrix_mdev, + unsigned long *apm, + unsigned long *aqm) { - int ret; - struct vfio_ap_queue_reserved qres; - - qres.apid = apid; - qres.apqi = apqi; - qres.reserved = false; - - ret = driver_for_each_device(&matrix_dev->vfio_ap_drv->driver, NULL, - &qres, vfio_ap_has_queue); - if (ret) - return ret; - - if (qres.reserved) - return 0; - - return -EADDRNOTAVAIL; -} - -static int -vfio_ap_mdev_verify_queues_reserved_for_apid(struct ap_matrix_mdev *matrix_mdev, - unsigned long apid) -{ - int ret; - unsigned long apqi; - unsigned long nbits = matrix_mdev->matrix.aqm_max + 1; - - if (find_first_bit_inv(matrix_mdev->matrix.aqm, nbits) >= nbits) - return vfio_ap_verify_queue_reserved(&apid, NULL); - - for_each_set_bit_inv(apqi, matrix_mdev->matrix.aqm, nbits) { - ret = vfio_ap_verify_queue_reserved(&apid, &apqi); - if (ret) - return ret; - } + unsigned long apid, apqi; + const struct device *dev = mdev_dev(matrix_mdev->mdev); + const char *mdev_name = dev_name(dev); - return 0; + for_each_set_bit_inv(apid, apm, AP_DEVICES) + for_each_set_bit_inv(apqi, aqm, AP_DOMAINS) + dev_warn(dev, MDEV_SHARING_ERR, apid, apqi, mdev_name); } /** - * vfio_ap_mdev_verify_no_sharing - verifies that the AP matrix is not configured + * vfio_ap_mdev_verify_no_sharing - verify APQNs are not shared by matrix mdevs * - * @matrix_mdev: the mediated matrix device + * @mdev_apm: mask indicating the APIDs of the APQNs to be verified + * @mdev_aqm: mask indicating the APQIs of the APQNs to be verified * - * Verifies that the APQNs derived from the cross product of the AP adapter IDs - * and AP queue indexes comprising the AP matrix are not configured for another + * Verifies that each APQN derived from the Cartesian product of a bitmap of + * AP adapter IDs and AP queue indexes is not configured for any matrix * mediated device. AP queue sharing is not allowed. * - * Return: 0 if the APQNs are not shared; otherwise returns -EADDRINUSE. + * Return: 0 if the APQNs are not shared; otherwise return -EADDRINUSE. */ -static int vfio_ap_mdev_verify_no_sharing(struct ap_matrix_mdev *matrix_mdev) +static int vfio_ap_mdev_verify_no_sharing(unsigned long *mdev_apm, + unsigned long *mdev_aqm) { - struct ap_matrix_mdev *lstdev; + struct ap_matrix_mdev *matrix_mdev; DECLARE_BITMAP(apm, AP_DEVICES); DECLARE_BITMAP(aqm, AP_DOMAINS); - list_for_each_entry(lstdev, &matrix_dev->mdev_list, node) { - if (matrix_mdev == lstdev) + list_for_each_entry(matrix_mdev, &matrix_dev->mdev_list, node) { + /* + * If the input apm and aqm are fields of the matrix_mdev + * object, then move on to the next matrix_mdev. + */ + if (mdev_apm == matrix_mdev->matrix.apm && + mdev_aqm == matrix_mdev->matrix.aqm) continue; memset(apm, 0, sizeof(apm)); @@ -698,14 +885,16 @@ * We work on full longs, as we can only exclude the leftover * bits in non-inverse order. The leftover is all zeros. */ - if (!bitmap_and(apm, matrix_mdev->matrix.apm, - lstdev->matrix.apm, AP_DEVICES)) + if (!bitmap_and(apm, mdev_apm, matrix_mdev->matrix.apm, + AP_DEVICES)) continue; - if (!bitmap_and(aqm, matrix_mdev->matrix.aqm, - lstdev->matrix.aqm, AP_DOMAINS)) + if (!bitmap_and(aqm, mdev_aqm, matrix_mdev->matrix.aqm, + AP_DOMAINS)) continue; + vfio_ap_mdev_log_sharing_err(matrix_mdev, apm, aqm); + return -EADDRINUSE; } @@ -713,6 +902,41 @@ } /** + * vfio_ap_mdev_validate_masks - verify that the APQNs assigned to the mdev are + * not reserved for the default zcrypt driver and + * are not assigned to another mdev. + * + * @matrix_mdev: the mdev to which the APQNs being validated are assigned. + * + * Return: One of the following values: + * o the error returned from the ap_apqn_in_matrix_owned_by_def_drv() function, + * most likely -EBUSY indicating the ap_perms_mutex lock is already held. + * o EADDRNOTAVAIL if an APQN assigned to @matrix_mdev is reserved for the + * zcrypt default driver. + * o EADDRINUSE if an APQN assigned to @matrix_mdev is assigned to another mdev + * o A zero indicating validation succeeded. + */ +static int vfio_ap_mdev_validate_masks(struct ap_matrix_mdev *matrix_mdev) +{ + if (ap_apqn_in_matrix_owned_by_def_drv(matrix_mdev->matrix.apm, + matrix_mdev->matrix.aqm)) + return -EADDRNOTAVAIL; + + return vfio_ap_mdev_verify_no_sharing(matrix_mdev->matrix.apm, + matrix_mdev->matrix.aqm); +} + +static void vfio_ap_mdev_link_adapter(struct ap_matrix_mdev *matrix_mdev, + unsigned long apid) +{ + unsigned long apqi; + + for_each_set_bit_inv(apqi, matrix_mdev->matrix.aqm, AP_DOMAINS) + vfio_ap_mdev_link_apqn(matrix_mdev, + AP_MKQID(apid, apqi)); +} + +/** * assign_adapter_store - parses the APID from @buf and sets the * corresponding bit in the mediated matrix device's APM * @@ -741,6 +965,10 @@ * An APQN derived from the cross product of the APID being assigned * and the APQIs previously assigned is being used by another mediated * matrix device + * + * 5. -EAGAIN + * A lock required to validate the mdev's AP configuration could not + * be obtained. */ static ssize_t assign_adapter_store(struct device *dev, struct device_attribute *attr, @@ -748,15 +976,11 @@ { int ret; unsigned long apid; + DECLARE_BITMAP(apm_delta, AP_DEVICES); struct ap_matrix_mdev *matrix_mdev = dev_get_drvdata(dev); - mutex_lock(&matrix_dev->lock); - - /* If the KVM guest is running, disallow assignment of adapter */ - if (matrix_mdev->kvm) { - ret = -EBUSY; - goto done; - } + mutex_lock(&ap_perms_mutex); + get_update_locks_for_mdev(matrix_mdev); ret = kstrtoul(buf, 0, &apid); if (ret) @@ -767,33 +991,97 @@ goto done; } - /* - * Set the bit in the AP mask (APM) corresponding to the AP adapter - * number (APID). The bits in the mask, from most significant to least - * significant bit, correspond to APIDs 0-255. - */ - ret = vfio_ap_mdev_verify_queues_reserved_for_apid(matrix_mdev, apid); - if (ret) - goto done; - set_bit_inv(apid, matrix_mdev->matrix.apm); - ret = vfio_ap_mdev_verify_no_sharing(matrix_mdev); - if (ret) - goto share_err; + ret = vfio_ap_mdev_validate_masks(matrix_mdev); + if (ret) { + clear_bit_inv(apid, matrix_mdev->matrix.apm); + goto done; + } - ret = count; - goto done; + vfio_ap_mdev_link_adapter(matrix_mdev, apid); + memset(apm_delta, 0, sizeof(apm_delta)); + set_bit_inv(apid, apm_delta); + + if (vfio_ap_mdev_filter_matrix(apm_delta, + matrix_mdev->matrix.aqm, matrix_mdev)) + vfio_ap_mdev_update_guest_apcb(matrix_mdev); -share_err: - clear_bit_inv(apid, matrix_mdev->matrix.apm); + ret = count; done: - mutex_unlock(&matrix_dev->lock); + release_update_locks_for_mdev(matrix_mdev); + mutex_unlock(&ap_perms_mutex); return ret; } static DEVICE_ATTR_WO(assign_adapter); +static struct vfio_ap_queue +*vfio_ap_unlink_apqn_fr_mdev(struct ap_matrix_mdev *matrix_mdev, + unsigned long apid, unsigned long apqi) +{ + struct vfio_ap_queue *q = NULL; + + q = vfio_ap_mdev_get_queue(matrix_mdev, AP_MKQID(apid, apqi)); + /* If the queue is assigned to the matrix mdev, unlink it. */ + if (q) + vfio_ap_unlink_queue_fr_mdev(q); + + return q; +} + +/** + * vfio_ap_mdev_unlink_adapter - unlink all queues associated with unassigned + * adapter from the matrix mdev to which the + * adapter was assigned. + * @matrix_mdev: the matrix mediated device to which the adapter was assigned. + * @apid: the APID of the unassigned adapter. + * @qtable: table for storing queues associated with unassigned adapter. + */ +static void vfio_ap_mdev_unlink_adapter(struct ap_matrix_mdev *matrix_mdev, + unsigned long apid, + struct ap_queue_table *qtable) +{ + unsigned long apqi; + struct vfio_ap_queue *q; + + for_each_set_bit_inv(apqi, matrix_mdev->matrix.aqm, AP_DOMAINS) { + q = vfio_ap_unlink_apqn_fr_mdev(matrix_mdev, apid, apqi); + + if (q && qtable) { + if (test_bit_inv(apid, matrix_mdev->shadow_apcb.apm) && + test_bit_inv(apqi, matrix_mdev->shadow_apcb.aqm)) + hash_add(qtable->queues, &q->mdev_qnode, + q->apqn); + } + } +} + +static void vfio_ap_mdev_hot_unplug_adapter(struct ap_matrix_mdev *matrix_mdev, + unsigned long apid) +{ + int loop_cursor; + struct vfio_ap_queue *q; + struct ap_queue_table *qtable = kzalloc(sizeof(*qtable), GFP_KERNEL); + + hash_init(qtable->queues); + vfio_ap_mdev_unlink_adapter(matrix_mdev, apid, qtable); + + if (test_bit_inv(apid, matrix_mdev->shadow_apcb.apm)) { + clear_bit_inv(apid, matrix_mdev->shadow_apcb.apm); + vfio_ap_mdev_update_guest_apcb(matrix_mdev); + } + + vfio_ap_mdev_reset_queues(qtable); + + hash_for_each(qtable->queues, loop_cursor, q, mdev_qnode) { + vfio_ap_unlink_mdev_fr_queue(q); + hash_del(&q->mdev_qnode); + } + + kfree(qtable); +} + /** * unassign_adapter_store - parses the APID from @buf and clears the * corresponding bit in the mediated matrix device's APM @@ -817,13 +1105,7 @@ unsigned long apid; struct ap_matrix_mdev *matrix_mdev = dev_get_drvdata(dev); - mutex_lock(&matrix_dev->lock); - - /* If the KVM guest is running, disallow unassignment of adapter */ - if (matrix_mdev->kvm) { - ret = -EBUSY; - goto done; - } + get_update_locks_for_mdev(matrix_mdev); ret = kstrtoul(buf, 0, &apid); if (ret) @@ -835,31 +1117,22 @@ } clear_bit_inv((unsigned long)apid, matrix_mdev->matrix.apm); + vfio_ap_mdev_hot_unplug_adapter(matrix_mdev, apid); ret = count; done: - mutex_unlock(&matrix_dev->lock); + release_update_locks_for_mdev(matrix_mdev); return ret; } static DEVICE_ATTR_WO(unassign_adapter); -static int -vfio_ap_mdev_verify_queues_reserved_for_apqi(struct ap_matrix_mdev *matrix_mdev, - unsigned long apqi) +static void vfio_ap_mdev_link_domain(struct ap_matrix_mdev *matrix_mdev, + unsigned long apqi) { - int ret; unsigned long apid; - unsigned long nbits = matrix_mdev->matrix.apm_max + 1; - - if (find_first_bit_inv(matrix_mdev->matrix.apm, nbits) >= nbits) - return vfio_ap_verify_queue_reserved(NULL, &apqi); - - for_each_set_bit_inv(apid, matrix_mdev->matrix.apm, nbits) { - ret = vfio_ap_verify_queue_reserved(&apid, &apqi); - if (ret) - return ret; - } - return 0; + for_each_set_bit_inv(apid, matrix_mdev->matrix.apm, AP_DEVICES) + vfio_ap_mdev_link_apqn(matrix_mdev, + AP_MKQID(apid, apqi)); } /** @@ -891,6 +1164,10 @@ * An APQN derived from the cross product of the APQI being assigned * and the APIDs previously assigned is being used by another mediated * matrix device + * + * 5. -EAGAIN + * The lock required to validate the mdev's AP configuration could not + * be obtained. */ static ssize_t assign_domain_store(struct device *dev, struct device_attribute *attr, @@ -898,47 +1175,89 @@ { int ret; unsigned long apqi; + DECLARE_BITMAP(aqm_delta, AP_DOMAINS); struct ap_matrix_mdev *matrix_mdev = dev_get_drvdata(dev); - unsigned long max_apqi = matrix_mdev->matrix.aqm_max; - mutex_lock(&matrix_dev->lock); - - /* If the KVM guest is running, disallow assignment of domain */ - if (matrix_mdev->kvm) { - ret = -EBUSY; - goto done; - } + mutex_lock(&ap_perms_mutex); + get_update_locks_for_mdev(matrix_mdev); ret = kstrtoul(buf, 0, &apqi); if (ret) goto done; - if (apqi > max_apqi) { + + if (apqi > matrix_mdev->matrix.aqm_max) { ret = -ENODEV; goto done; } - ret = vfio_ap_mdev_verify_queues_reserved_for_apqi(matrix_mdev, apqi); - if (ret) - goto done; - set_bit_inv(apqi, matrix_mdev->matrix.aqm); - ret = vfio_ap_mdev_verify_no_sharing(matrix_mdev); - if (ret) - goto share_err; + ret = vfio_ap_mdev_validate_masks(matrix_mdev); + if (ret) { + clear_bit_inv(apqi, matrix_mdev->matrix.aqm); + goto done; + } - ret = count; - goto done; + vfio_ap_mdev_link_domain(matrix_mdev, apqi); + memset(aqm_delta, 0, sizeof(aqm_delta)); + set_bit_inv(apqi, aqm_delta); + + if (vfio_ap_mdev_filter_matrix(matrix_mdev->matrix.apm, aqm_delta, + matrix_mdev)) + vfio_ap_mdev_update_guest_apcb(matrix_mdev); -share_err: - clear_bit_inv(apqi, matrix_mdev->matrix.aqm); + ret = count; done: - mutex_unlock(&matrix_dev->lock); + release_update_locks_for_mdev(matrix_mdev); + mutex_unlock(&ap_perms_mutex); return ret; } static DEVICE_ATTR_WO(assign_domain); +static void vfio_ap_mdev_unlink_domain(struct ap_matrix_mdev *matrix_mdev, + unsigned long apqi, + struct ap_queue_table *qtable) +{ + unsigned long apid; + struct vfio_ap_queue *q; + + for_each_set_bit_inv(apid, matrix_mdev->matrix.apm, AP_DEVICES) { + q = vfio_ap_unlink_apqn_fr_mdev(matrix_mdev, apid, apqi); + + if (q && qtable) { + if (test_bit_inv(apid, matrix_mdev->shadow_apcb.apm) && + test_bit_inv(apqi, matrix_mdev->shadow_apcb.aqm)) + hash_add(qtable->queues, &q->mdev_qnode, + q->apqn); + } + } +} + +static void vfio_ap_mdev_hot_unplug_domain(struct ap_matrix_mdev *matrix_mdev, + unsigned long apqi) +{ + int loop_cursor; + struct vfio_ap_queue *q; + struct ap_queue_table *qtable = kzalloc(sizeof(*qtable), GFP_KERNEL); + + hash_init(qtable->queues); + vfio_ap_mdev_unlink_domain(matrix_mdev, apqi, qtable); + + if (test_bit_inv(apqi, matrix_mdev->shadow_apcb.aqm)) { + clear_bit_inv(apqi, matrix_mdev->shadow_apcb.aqm); + vfio_ap_mdev_update_guest_apcb(matrix_mdev); + } + + vfio_ap_mdev_reset_queues(qtable); + + hash_for_each(qtable->queues, loop_cursor, q, mdev_qnode) { + vfio_ap_unlink_mdev_fr_queue(q); + hash_del(&q->mdev_qnode); + } + + kfree(qtable); +} /** * unassign_domain_store - parses the APQI from @buf and clears the @@ -963,13 +1282,7 @@ unsigned long apqi; struct ap_matrix_mdev *matrix_mdev = dev_get_drvdata(dev); - mutex_lock(&matrix_dev->lock); - - /* If the KVM guest is running, disallow unassignment of domain */ - if (matrix_mdev->kvm) { - ret = -EBUSY; - goto done; - } + get_update_locks_for_mdev(matrix_mdev); ret = kstrtoul(buf, 0, &apqi); if (ret) @@ -981,10 +1294,11 @@ } clear_bit_inv((unsigned long)apqi, matrix_mdev->matrix.aqm); + vfio_ap_mdev_hot_unplug_domain(matrix_mdev, apqi); ret = count; done: - mutex_unlock(&matrix_dev->lock); + release_update_locks_for_mdev(matrix_mdev); return ret; } static DEVICE_ATTR_WO(unassign_domain); @@ -1011,13 +1325,7 @@ unsigned long id; struct ap_matrix_mdev *matrix_mdev = dev_get_drvdata(dev); - mutex_lock(&matrix_dev->lock); - - /* If the KVM guest is running, disallow assignment of control domain */ - if (matrix_mdev->kvm) { - ret = -EBUSY; - goto done; - } + get_update_locks_for_mdev(matrix_mdev); ret = kstrtoul(buf, 0, &id); if (ret) @@ -1034,9 +1342,12 @@ * number of control domains that can be assigned. */ set_bit_inv(id, matrix_mdev->matrix.adm); + if (vfio_ap_mdev_filter_cdoms(matrix_mdev)) + vfio_ap_mdev_update_guest_apcb(matrix_mdev); + ret = count; done: - mutex_unlock(&matrix_dev->lock); + release_update_locks_for_mdev(matrix_mdev); return ret; } static DEVICE_ATTR_WO(assign_control_domain); @@ -1062,28 +1373,28 @@ int ret; unsigned long domid; struct ap_matrix_mdev *matrix_mdev = dev_get_drvdata(dev); - unsigned long max_domid = matrix_mdev->matrix.adm_max; - mutex_lock(&matrix_dev->lock); - - /* If a KVM guest is running, disallow unassignment of control domain */ - if (matrix_mdev->kvm) { - ret = -EBUSY; - goto done; - } + get_update_locks_for_mdev(matrix_mdev); ret = kstrtoul(buf, 0, &domid); if (ret) goto done; - if (domid > max_domid) { + + if (domid > matrix_mdev->matrix.adm_max) { ret = -ENODEV; goto done; } clear_bit_inv(domid, matrix_mdev->matrix.adm); + + if (test_bit_inv(domid, matrix_mdev->shadow_apcb.adm)) { + clear_bit_inv(domid, matrix_mdev->shadow_apcb.adm); + vfio_ap_mdev_update_guest_apcb(matrix_mdev); + } + ret = count; done: - mutex_unlock(&matrix_dev->lock); + release_update_locks_for_mdev(matrix_mdev); return ret; } static DEVICE_ATTR_WO(unassign_control_domain); @@ -1099,40 +1410,36 @@ struct ap_matrix_mdev *matrix_mdev = dev_get_drvdata(dev); unsigned long max_domid = matrix_mdev->matrix.adm_max; - mutex_lock(&matrix_dev->lock); + mutex_lock(&matrix_dev->mdevs_lock); for_each_set_bit_inv(id, matrix_mdev->matrix.adm, max_domid + 1) { n = sprintf(bufpos, "%04lx\n", id); bufpos += n; nchars += n; } - mutex_unlock(&matrix_dev->lock); + mutex_unlock(&matrix_dev->mdevs_lock); return nchars; } static DEVICE_ATTR_RO(control_domains); -static ssize_t matrix_show(struct device *dev, struct device_attribute *attr, - char *buf) +static ssize_t vfio_ap_mdev_matrix_show(struct ap_matrix *matrix, char *buf) { - struct ap_matrix_mdev *matrix_mdev = dev_get_drvdata(dev); char *bufpos = buf; unsigned long apid; unsigned long apqi; unsigned long apid1; unsigned long apqi1; - unsigned long napm_bits = matrix_mdev->matrix.apm_max + 1; - unsigned long naqm_bits = matrix_mdev->matrix.aqm_max + 1; + unsigned long napm_bits = matrix->apm_max + 1; + unsigned long naqm_bits = matrix->aqm_max + 1; int nchars = 0; int n; - apid1 = find_first_bit_inv(matrix_mdev->matrix.apm, napm_bits); - apqi1 = find_first_bit_inv(matrix_mdev->matrix.aqm, naqm_bits); - - mutex_lock(&matrix_dev->lock); + apid1 = find_first_bit_inv(matrix->apm, napm_bits); + apqi1 = find_first_bit_inv(matrix->aqm, naqm_bits); if ((apid1 < napm_bits) && (apqi1 < naqm_bits)) { - for_each_set_bit_inv(apid, matrix_mdev->matrix.apm, napm_bits) { - for_each_set_bit_inv(apqi, matrix_mdev->matrix.aqm, + for_each_set_bit_inv(apid, matrix->apm, napm_bits) { + for_each_set_bit_inv(apqi, matrix->aqm, naqm_bits) { n = sprintf(bufpos, "%02lx.%04lx\n", apid, apqi); @@ -1141,25 +1448,50 @@ } } } else if (apid1 < napm_bits) { - for_each_set_bit_inv(apid, matrix_mdev->matrix.apm, napm_bits) { + for_each_set_bit_inv(apid, matrix->apm, napm_bits) { n = sprintf(bufpos, "%02lx.\n", apid); bufpos += n; nchars += n; } } else if (apqi1 < naqm_bits) { - for_each_set_bit_inv(apqi, matrix_mdev->matrix.aqm, naqm_bits) { + for_each_set_bit_inv(apqi, matrix->aqm, naqm_bits) { n = sprintf(bufpos, ".%04lx\n", apqi); bufpos += n; nchars += n; } } - mutex_unlock(&matrix_dev->lock); + return nchars; +} + +static ssize_t matrix_show(struct device *dev, struct device_attribute *attr, + char *buf) +{ + ssize_t nchars; + struct ap_matrix_mdev *matrix_mdev = dev_get_drvdata(dev); + + mutex_lock(&matrix_dev->mdevs_lock); + nchars = vfio_ap_mdev_matrix_show(&matrix_mdev->matrix, buf); + mutex_unlock(&matrix_dev->mdevs_lock); return nchars; } static DEVICE_ATTR_RO(matrix); +static ssize_t guest_matrix_show(struct device *dev, + struct device_attribute *attr, char *buf) +{ + ssize_t nchars; + struct ap_matrix_mdev *matrix_mdev = dev_get_drvdata(dev); + + mutex_lock(&matrix_dev->mdevs_lock); + nchars = vfio_ap_mdev_matrix_show(&matrix_mdev->shadow_apcb, buf); + mutex_unlock(&matrix_dev->mdevs_lock); + + return nchars; +} +static DEVICE_ATTR_RO(guest_matrix); + static struct attribute *vfio_ap_mdev_attrs[] = { &dev_attr_assign_adapter.attr, &dev_attr_unassign_adapter.attr, @@ -1169,6 +1501,7 @@ &dev_attr_unassign_control_domain.attr, &dev_attr_control_domains.attr, &dev_attr_matrix.attr, + &dev_attr_guest_matrix.attr, NULL, }; @@ -1201,26 +1534,20 @@ kvm->arch.crypto.pqap_hook = &matrix_mdev->pqap_hook; up_write(&kvm->arch.crypto.pqap_hook_rwsem); - mutex_lock(&kvm->lock); - mutex_lock(&matrix_dev->lock); + get_update_locks_for_kvm(kvm); list_for_each_entry(m, &matrix_dev->mdev_list, node) { if (m != matrix_mdev && m->kvm == kvm) { - mutex_unlock(&kvm->lock); - mutex_unlock(&matrix_dev->lock); + release_update_locks_for_kvm(kvm); return -EPERM; } } kvm_get_kvm(kvm); matrix_mdev->kvm = kvm; - kvm_arch_crypto_set_masks(kvm, - matrix_mdev->matrix.apm, - matrix_mdev->matrix.aqm, - matrix_mdev->matrix.adm); + vfio_ap_mdev_update_guest_apcb(matrix_mdev); - mutex_unlock(&kvm->lock); - mutex_unlock(&matrix_dev->lock); + release_update_locks_for_kvm(kvm); } return 0; @@ -1271,36 +1598,36 @@ kvm->arch.crypto.pqap_hook = NULL; up_write(&kvm->arch.crypto.pqap_hook_rwsem); - mutex_lock(&kvm->lock); - mutex_lock(&matrix_dev->lock); + get_update_locks_for_kvm(kvm); kvm_arch_crypto_clear_masks(kvm); - vfio_ap_mdev_reset_queues(matrix_mdev); + vfio_ap_mdev_reset_queues(&matrix_mdev->qtable); kvm_put_kvm(kvm); matrix_mdev->kvm = NULL; - mutex_unlock(&kvm->lock); - mutex_unlock(&matrix_dev->lock); + release_update_locks_for_kvm(kvm); } } static struct vfio_ap_queue *vfio_ap_find_queue(int apqn) { - struct device *dev; + struct ap_queue *queue; struct vfio_ap_queue *q = NULL; - dev = driver_find_device(&matrix_dev->vfio_ap_drv->driver, NULL, - &apqn, match_apqn); - if (dev) { - q = dev_get_drvdata(dev); - put_device(dev); - } + queue = ap_get_qdev(apqn); + if (!queue) + return NULL; + + if (queue->ap_dev.device.driver == &matrix_dev->vfio_ap_drv->driver) + q = dev_get_drvdata(&queue->ap_dev.device); + + put_device(&queue->ap_dev.device); return q; } -int vfio_ap_mdev_reset_queue(struct vfio_ap_queue *q, - unsigned int retry) +static int vfio_ap_mdev_reset_queue(struct vfio_ap_queue *q, + unsigned int retry) { struct ap_queue_status status; int ret; @@ -1308,9 +1635,9 @@ if (!q) return 0; - retry_zapq: status = ap_zapq(q->apqn); + q->reset_rc = status.response_code; switch (status.response_code) { case AP_RESPONSE_NORMAL: ret = 0; @@ -1325,12 +1652,17 @@ case AP_RESPONSE_Q_NOT_AVAIL: case AP_RESPONSE_DECONFIGURED: case AP_RESPONSE_CHECKSTOPPED: - WARN_ON_ONCE(status.irq_enabled); + WARN_ONCE(status.irq_enabled, + "PQAP/ZAPQ for %02x.%04x failed with rc=%u while IRQ enabled", + AP_QID_CARD(q->apqn), AP_QID_QUEUE(q->apqn), + status.response_code); ret = -EBUSY; goto free_resources; default: /* things are really broken, give up */ - WARN(true, "PQAP/ZAPQ completed with invalid rc (%x)\n", + WARN(true, + "PQAP/ZAPQ for %02x.%04x failed with invalid rc=%u\n", + AP_QID_CARD(q->apqn), AP_QID_QUEUE(q->apqn), status.response_code); return -EIO; } @@ -1342,7 +1674,8 @@ msleep(20); status = ap_tapq(q->apqn, NULL); } - WARN_ON_ONCE(retry2 <= 0); + WARN_ONCE(retry2 <= 0, "unable to verify reset of queue %02x.%04x", + AP_QID_CARD(q->apqn), AP_QID_QUEUE(q->apqn)); free_resources: vfio_ap_free_aqic_resources(q); @@ -1350,27 +1683,20 @@ return ret; } -static int vfio_ap_mdev_reset_queues(struct ap_matrix_mdev *matrix_mdev) +static int vfio_ap_mdev_reset_queues(struct ap_queue_table *qtable) { - int ret; - int rc = 0; - unsigned long apid, apqi; + int ret, loop_cursor, rc = 0; struct vfio_ap_queue *q; - for_each_set_bit_inv(apid, matrix_mdev->matrix.apm, - matrix_mdev->matrix.apm_max + 1) { - for_each_set_bit_inv(apqi, matrix_mdev->matrix.aqm, - matrix_mdev->matrix.aqm_max + 1) { - q = vfio_ap_find_queue(AP_MKQID(apid, apqi)); - ret = vfio_ap_mdev_reset_queue(q, 1); - /* - * Regardless whether a queue turns out to be busy, or - * is not operational, we need to continue resetting - * the remaining queues. - */ - if (ret) - rc = ret; - } + hash_for_each(qtable->queues, loop_cursor, q, mdev_qnode) { + ret = vfio_ap_mdev_reset_queue(q, 1); + /* + * Regardless whether a queue turns out to be busy, or + * is not operational, we need to continue resetting + * the remaining queues. + */ + if (ret) + rc = ret; } return rc; @@ -1440,23 +1766,79 @@ container_of(vdev, struct ap_matrix_mdev, vdev); int ret; - mutex_lock(&matrix_dev->lock); + mutex_lock(&matrix_dev->mdevs_lock); switch (cmd) { case VFIO_DEVICE_GET_INFO: ret = vfio_ap_mdev_get_device_info(arg); break; case VFIO_DEVICE_RESET: - ret = vfio_ap_mdev_reset_queues(matrix_mdev); + ret = vfio_ap_mdev_reset_queues(&matrix_mdev->qtable); break; default: ret = -EOPNOTSUPP; break; } - mutex_unlock(&matrix_dev->lock); + mutex_unlock(&matrix_dev->mdevs_lock); return ret; } +static struct ap_matrix_mdev *vfio_ap_mdev_for_queue(struct vfio_ap_queue *q) +{ + struct ap_matrix_mdev *matrix_mdev; + unsigned long apid = AP_QID_CARD(q->apqn); + unsigned long apqi = AP_QID_QUEUE(q->apqn); + + list_for_each_entry(matrix_mdev, &matrix_dev->mdev_list, node) { + if (test_bit_inv(apid, matrix_mdev->matrix.apm) && + test_bit_inv(apqi, matrix_mdev->matrix.aqm)) + return matrix_mdev; + } + + return NULL; +} + +static ssize_t status_show(struct device *dev, + struct device_attribute *attr, + char *buf) +{ + ssize_t nchars = 0; + struct vfio_ap_queue *q; + struct ap_matrix_mdev *matrix_mdev; + struct ap_device *apdev = to_ap_dev(dev); + + mutex_lock(&matrix_dev->mdevs_lock); + q = dev_get_drvdata(&apdev->device); + matrix_mdev = vfio_ap_mdev_for_queue(q); + + if (matrix_mdev) { + if (matrix_mdev->kvm) + nchars = scnprintf(buf, PAGE_SIZE, "%s\n", + AP_QUEUE_IN_USE); + else + nchars = scnprintf(buf, PAGE_SIZE, "%s\n", + AP_QUEUE_ASSIGNED); + } else { + nchars = scnprintf(buf, PAGE_SIZE, "%s\n", + AP_QUEUE_UNASSIGNED); + } + + mutex_unlock(&matrix_dev->mdevs_lock); + + return nchars; +} + +static DEVICE_ATTR_RO(status); + +static struct attribute *vfio_queue_attrs[] = { + &dev_attr_status.attr, + NULL, +}; + +static const struct attribute_group vfio_queue_attr_group = { + .attrs = vfio_queue_attrs, +}; + static const struct vfio_device_ops vfio_ap_matrix_dev_ops = { .open_device = vfio_ap_mdev_open_device, .close_device = vfio_ap_mdev_close_device, @@ -1500,3 +1882,438 @@ mdev_unregister_device(&matrix_dev->device); mdev_unregister_driver(&vfio_ap_matrix_driver); } + +int vfio_ap_mdev_probe_queue(struct ap_device *apdev) +{ + int ret; + struct vfio_ap_queue *q; + struct ap_matrix_mdev *matrix_mdev; + + ret = sysfs_create_group(&apdev->device.kobj, &vfio_queue_attr_group); + if (ret) + return ret; + + q = kzalloc(sizeof(*q), GFP_KERNEL); + if (!q) { + ret = -ENOMEM; + goto err_remove_group; + } + + q->apqn = to_ap_queue(&apdev->device)->qid; + q->saved_isc = VFIO_AP_ISC_INVALID; + matrix_mdev = get_update_locks_by_apqn(q->apqn); + + if (matrix_mdev) { + vfio_ap_mdev_link_queue(matrix_mdev, q); + + if (vfio_ap_mdev_filter_matrix(matrix_mdev->matrix.apm, + matrix_mdev->matrix.aqm, + matrix_mdev)) + vfio_ap_mdev_update_guest_apcb(matrix_mdev); + } + dev_set_drvdata(&apdev->device, q); + release_update_locks_for_mdev(matrix_mdev); + + return 0; + +err_remove_group: + sysfs_remove_group(&apdev->device.kobj, &vfio_queue_attr_group); + return ret; +} + +void vfio_ap_mdev_remove_queue(struct ap_device *apdev) +{ + unsigned long apid, apqi; + struct vfio_ap_queue *q; + struct ap_matrix_mdev *matrix_mdev; + + sysfs_remove_group(&apdev->device.kobj, &vfio_queue_attr_group); + q = dev_get_drvdata(&apdev->device); + get_update_locks_for_queue(q); + matrix_mdev = q->matrix_mdev; + + if (matrix_mdev) { + vfio_ap_unlink_queue_fr_mdev(q); + + apid = AP_QID_CARD(q->apqn); + apqi = AP_QID_QUEUE(q->apqn); + + /* + * If the queue is assigned to the guest's APCB, then remove + * the adapter's APID from the APCB and hot it into the guest. + */ + if (test_bit_inv(apid, matrix_mdev->shadow_apcb.apm) && + test_bit_inv(apqi, matrix_mdev->shadow_apcb.aqm)) { + clear_bit_inv(apid, matrix_mdev->shadow_apcb.apm); + vfio_ap_mdev_update_guest_apcb(matrix_mdev); + } + } + + vfio_ap_mdev_reset_queue(q, 1); + dev_set_drvdata(&apdev->device, NULL); + kfree(q); + release_update_locks_for_mdev(matrix_mdev); +} + +/** + * vfio_ap_mdev_resource_in_use: check whether any of a set of APQNs is + * assigned to a mediated device under the control + * of the vfio_ap device driver. + * + * @apm: a bitmap specifying a set of APIDs comprising the APQNs to check. + * @aqm: a bitmap specifying a set of APQIs comprising the APQNs to check. + * + * Return: + * * -EADDRINUSE if one or more of the APQNs specified via @apm/@aqm are + * assigned to a mediated device under the control of the vfio_ap + * device driver. + * * Otherwise, return 0. + */ +int vfio_ap_mdev_resource_in_use(unsigned long *apm, unsigned long *aqm) +{ + int ret; + + mutex_lock(&matrix_dev->guests_lock); + mutex_lock(&matrix_dev->mdevs_lock); + ret = vfio_ap_mdev_verify_no_sharing(apm, aqm); + mutex_unlock(&matrix_dev->mdevs_lock); + mutex_unlock(&matrix_dev->guests_lock); + + return ret; +} + +/** + * vfio_ap_mdev_hot_unplug_cfg - hot unplug the adapters, domains and control + * domains that have been removed from the host's + * AP configuration from a guest. + * + * @matrix_mdev: an ap_matrix_mdev object attached to a KVM guest. + * @aprem: the adapters that have been removed from the host's AP configuration + * @aqrem: the domains that have been removed from the host's AP configuration + * @cdrem: the control domains that have been removed from the host's AP + * configuration. + */ +static void vfio_ap_mdev_hot_unplug_cfg(struct ap_matrix_mdev *matrix_mdev, + unsigned long *aprem, + unsigned long *aqrem, + unsigned long *cdrem) +{ + int do_hotplug = 0; + + if (!bitmap_empty(aprem, AP_DEVICES)) { + do_hotplug |= bitmap_andnot(matrix_mdev->shadow_apcb.apm, + matrix_mdev->shadow_apcb.apm, + aprem, AP_DEVICES); + } + + if (!bitmap_empty(aqrem, AP_DOMAINS)) { + do_hotplug |= bitmap_andnot(matrix_mdev->shadow_apcb.aqm, + matrix_mdev->shadow_apcb.aqm, + aqrem, AP_DEVICES); + } + + if (!bitmap_empty(cdrem, AP_DOMAINS)) + do_hotplug |= bitmap_andnot(matrix_mdev->shadow_apcb.adm, + matrix_mdev->shadow_apcb.adm, + cdrem, AP_DOMAINS); + + if (do_hotplug) + vfio_ap_mdev_update_guest_apcb(matrix_mdev); +} + +/** + * vfio_ap_mdev_cfg_remove - determines which guests are using the adapters, + * domains and control domains that have been removed + * from the host AP configuration and unplugs them + * from those guests. + * + * @ap_remove: bitmap specifying which adapters have been removed from the host + * config. + * @aq_remove: bitmap specifying which domains have been removed from the host + * config. + * @cd_remove: bitmap specifying which control domains have been removed from + * the host config. + */ +static void vfio_ap_mdev_cfg_remove(unsigned long *ap_remove, + unsigned long *aq_remove, + unsigned long *cd_remove) +{ + struct ap_matrix_mdev *matrix_mdev; + DECLARE_BITMAP(aprem, AP_DEVICES); + DECLARE_BITMAP(aqrem, AP_DOMAINS); + DECLARE_BITMAP(cdrem, AP_DOMAINS); + int do_remove = 0; + + list_for_each_entry(matrix_mdev, &matrix_dev->mdev_list, node) { + mutex_lock(&matrix_mdev->kvm->lock); + mutex_lock(&matrix_dev->mdevs_lock); + + do_remove |= bitmap_and(aprem, ap_remove, + matrix_mdev->matrix.apm, + AP_DEVICES); + do_remove |= bitmap_and(aqrem, aq_remove, + matrix_mdev->matrix.aqm, + AP_DOMAINS); + do_remove |= bitmap_andnot(cdrem, cd_remove, + matrix_mdev->matrix.adm, + AP_DOMAINS); + + if (do_remove) + vfio_ap_mdev_hot_unplug_cfg(matrix_mdev, aprem, aqrem, + cdrem); + + mutex_unlock(&matrix_dev->mdevs_lock); + mutex_unlock(&matrix_mdev->kvm->lock); + } +} + +/** + * vfio_ap_mdev_on_cfg_remove - responds to the removal of adapters, domains and + * control domains from the host AP configuration + * by unplugging them from the guests that are + * using them. + * @cur_config_info: the current host AP configuration information + * @prev_config_info: the previous host AP configuration information + */ +static void vfio_ap_mdev_on_cfg_remove(struct ap_config_info *cur_config_info, + struct ap_config_info *prev_config_info) +{ + int do_remove; + DECLARE_BITMAP(aprem, AP_DEVICES); + DECLARE_BITMAP(aqrem, AP_DOMAINS); + DECLARE_BITMAP(cdrem, AP_DOMAINS); + + do_remove = bitmap_andnot(aprem, + (unsigned long *)prev_config_info->apm, + (unsigned long *)cur_config_info->apm, + AP_DEVICES); + do_remove |= bitmap_andnot(aqrem, + (unsigned long *)prev_config_info->aqm, + (unsigned long *)cur_config_info->aqm, + AP_DEVICES); + do_remove |= bitmap_andnot(cdrem, + (unsigned long *)prev_config_info->adm, + (unsigned long *)cur_config_info->adm, + AP_DEVICES); + + if (do_remove) + vfio_ap_mdev_cfg_remove(aprem, aqrem, cdrem); +} + +/** + * vfio_ap_filter_apid_by_qtype: filter APIDs from an AP mask for adapters that + * are older than AP type 10 (CEX4). + * @apm: a bitmap of the APIDs to examine + * @aqm: a bitmap of the APQIs of the queues to query for the AP type. + */ +static void vfio_ap_filter_apid_by_qtype(unsigned long *apm, unsigned long *aqm) +{ + bool apid_cleared; + struct ap_queue_status status; + unsigned long apid, apqi, info; + int qtype, qtype_mask = 0xff000000; + + for_each_set_bit_inv(apid, apm, AP_DEVICES) { + apid_cleared = false; + + for_each_set_bit_inv(apqi, aqm, AP_DOMAINS) { + status = ap_test_queue(AP_MKQID(apid, apqi), 1, &info); + switch (status.response_code) { + /* + * According to the architecture in each case + * below, the queue's info should be filled. + */ + case AP_RESPONSE_NORMAL: + case AP_RESPONSE_RESET_IN_PROGRESS: + case AP_RESPONSE_DECONFIGURED: + case AP_RESPONSE_CHECKSTOPPED: + case AP_RESPONSE_BUSY: + qtype = info & qtype_mask; + + /* + * The vfio_ap device driver only + * supports CEX4 and newer adapters, so + * remove the APID if the adapter is + * older than a CEX4. + */ + if (qtype < AP_DEVICE_TYPE_CEX4) { + clear_bit_inv(apid, apm); + apid_cleared = true; + } + + break; + + default: + /* + * If we don't know the adapter type, + * clear its APID since it can't be + * determined whether the vfio_ap + * device driver supports it. + */ + clear_bit_inv(apid, apm); + apid_cleared = true; + break; + } + + /* + * If we've already cleared the APID from the apm, there + * is no need to continue examining the remainin AP + * queues to determine the type of the adapter. + */ + if (apid_cleared) + continue; + } + } +} + +/** + * vfio_ap_mdev_cfg_add - store bitmaps specifying the adapters, domains and + * control domains that have been added to the host's + * AP configuration for each matrix mdev to which they + * are assigned. + * + * @apm_add: a bitmap specifying the adapters that have been added to the AP + * configuration. + * @aqm_add: a bitmap specifying the domains that have been added to the AP + * configuration. + * @adm_add: a bitmap specifying the control domains that have been added to the + * AP configuration. + */ +static void vfio_ap_mdev_cfg_add(unsigned long *apm_add, unsigned long *aqm_add, + unsigned long *adm_add) +{ + struct ap_matrix_mdev *matrix_mdev; + + if (list_empty(&matrix_dev->mdev_list)) + return; + + vfio_ap_filter_apid_by_qtype(apm_add, aqm_add); + + list_for_each_entry(matrix_mdev, &matrix_dev->mdev_list, node) { + bitmap_and(matrix_mdev->apm_add, + matrix_mdev->matrix.apm, apm_add, AP_DEVICES); + bitmap_and(matrix_mdev->aqm_add, + matrix_mdev->matrix.aqm, aqm_add, AP_DOMAINS); + bitmap_and(matrix_mdev->adm_add, + matrix_mdev->matrix.adm, adm_add, AP_DEVICES); + } +} + +/** + * vfio_ap_mdev_on_cfg_add - responds to the addition of adapters, domains and + * control domains to the host AP configuration + * by updating the bitmaps that specify what adapters, + * domains and control domains have been added so they + * can be hot plugged into the guest when the AP bus + * scan completes (see vfio_ap_on_scan_complete + * function). + * @cur_config_info: the current AP configuration information + * @prev_config_info: the previous AP configuration information + */ +static void vfio_ap_mdev_on_cfg_add(struct ap_config_info *cur_config_info, + struct ap_config_info *prev_config_info) +{ + bool do_add; + DECLARE_BITMAP(apm_add, AP_DEVICES); + DECLARE_BITMAP(aqm_add, AP_DOMAINS); + DECLARE_BITMAP(adm_add, AP_DOMAINS); + + do_add = bitmap_andnot(apm_add, + (unsigned long *)cur_config_info->apm, + (unsigned long *)prev_config_info->apm, + AP_DEVICES); + do_add |= bitmap_andnot(aqm_add, + (unsigned long *)cur_config_info->aqm, + (unsigned long *)prev_config_info->aqm, + AP_DOMAINS); + do_add |= bitmap_andnot(adm_add, + (unsigned long *)cur_config_info->adm, + (unsigned long *)prev_config_info->adm, + AP_DOMAINS); + + if (do_add) + vfio_ap_mdev_cfg_add(apm_add, aqm_add, adm_add); +} + +/** + * vfio_ap_on_cfg_changed - handles notification of changes to the host AP + * configuration. + * + * @cur_cfg_info: the current host AP configuration + * @prev_cfg_info: the previous host AP configuration + */ +void vfio_ap_on_cfg_changed(struct ap_config_info *cur_cfg_info, + struct ap_config_info *prev_cfg_info) +{ + if (!cur_cfg_info || !prev_cfg_info) + return; + + mutex_lock(&matrix_dev->guests_lock); + + vfio_ap_mdev_on_cfg_remove(cur_cfg_info, prev_cfg_info); + vfio_ap_mdev_on_cfg_add(cur_cfg_info, prev_cfg_info); + memcpy(&matrix_dev->info, cur_cfg_info, sizeof(*cur_cfg_info)); + + mutex_unlock(&matrix_dev->guests_lock); +} + +static void vfio_ap_mdev_hot_plug_cfg(struct ap_matrix_mdev *matrix_mdev) +{ + bool do_hotplug = false; + int filter_domains = 0; + int filter_adapters = 0; + DECLARE_BITMAP(apm, AP_DEVICES); + DECLARE_BITMAP(aqm, AP_DOMAINS); + + mutex_lock(&matrix_mdev->kvm->lock); + mutex_lock(&matrix_dev->mdevs_lock); + + filter_adapters = bitmap_and(apm, matrix_mdev->matrix.apm, + matrix_mdev->apm_add, AP_DEVICES); + filter_domains = bitmap_and(aqm, matrix_mdev->matrix.aqm, + matrix_mdev->aqm_add, AP_DOMAINS); + + if (filter_adapters && filter_domains) + do_hotplug |= vfio_ap_mdev_filter_matrix(apm, aqm, matrix_mdev); + else if (filter_adapters) + do_hotplug |= + vfio_ap_mdev_filter_matrix(apm, + matrix_mdev->shadow_apcb.aqm, + matrix_mdev); + else + do_hotplug |= + vfio_ap_mdev_filter_matrix(matrix_mdev->shadow_apcb.apm, + aqm, matrix_mdev); + + if (bitmap_intersects(matrix_mdev->matrix.adm, matrix_mdev->adm_add, + AP_DOMAINS)) + do_hotplug |= vfio_ap_mdev_filter_cdoms(matrix_mdev); + + if (do_hotplug) + vfio_ap_mdev_update_guest_apcb(matrix_mdev); + + mutex_unlock(&matrix_dev->mdevs_lock); + mutex_unlock(&matrix_mdev->kvm->lock); +} + +void vfio_ap_on_scan_complete(struct ap_config_info *new_config_info, + struct ap_config_info *old_config_info) +{ + struct ap_matrix_mdev *matrix_mdev; + + mutex_lock(&matrix_dev->guests_lock); + + list_for_each_entry(matrix_mdev, &matrix_dev->mdev_list, node) { + if (bitmap_empty(matrix_mdev->apm_add, AP_DEVICES) && + bitmap_empty(matrix_mdev->aqm_add, AP_DOMAINS) && + bitmap_empty(matrix_mdev->adm_add, AP_DOMAINS)) + continue; + + vfio_ap_mdev_hot_plug_cfg(matrix_mdev); + bitmap_clear(matrix_mdev->apm_add, 0, AP_DEVICES); + bitmap_clear(matrix_mdev->aqm_add, 0, AP_DOMAINS); + bitmap_clear(matrix_mdev->adm_add, 0, AP_DOMAINS); + } + + mutex_unlock(&matrix_dev->guests_lock); +} --- linux-gcp-5.19.0.orig/drivers/s390/crypto/vfio_ap_private.h +++ linux-gcp-5.19.0/drivers/s390/crypto/vfio_ap_private.h @@ -19,6 +19,7 @@ #include #include #include +#include #include "ap_bus.h" @@ -32,20 +33,26 @@ * @available_instances: number of mediated matrix devices that can be created * @info: the struct containing the output from the PQAP(QCI) instruction * @mdev_list: the list of mediated matrix devices created - * @lock: mutex for locking the AP matrix device. This lock will be + * @mdevs_lock: mutex for locking the AP matrix device. This lock will be * taken every time we fiddle with state managed by the vfio_ap * driver, be it using @mdev_list or writing the state of a * single ap_matrix_mdev device. It's quite coarse but we don't * expect much contention. * @vfio_ap_drv: the vfio_ap device driver + * @guests_lock: mutex for controlling access to a guest that is using AP + * devices passed through by the vfio_ap device driver. This lock + * will be taken when the AP devices are plugged into or unplugged + * from a guest, and when an ap_matrix_mdev device is added to or + * removed from @mdev_list or the list is iterated. */ struct ap_matrix_dev { struct device device; atomic_t available_instances; struct ap_config_info info; struct list_head mdev_list; - struct mutex lock; + struct mutex mdevs_lock; /* serializes access to each ap_matrix_mdev */ struct ap_driver *vfio_ap_drv; + struct mutex guests_lock; /* serializes access to each KVM guest */ }; extern struct ap_matrix_dev *matrix_dev; @@ -75,27 +82,47 @@ }; /** + * struct ap_queue_table - a table of queue objects. + * + * @queues: a hashtable of queues (struct vfio_ap_queue). + */ +struct ap_queue_table { + DECLARE_HASHTABLE(queues, 8); +}; + +/** * struct ap_matrix_mdev - Contains the data associated with a matrix mediated * device. * @vdev: the vfio device * @node: allows the ap_matrix_mdev struct to be added to a list * @matrix: the adapters, usage domains and control domains assigned to the * mediated matrix device. + * @shadow_apcb: the shadow copy of the APCB field of the KVM guest's CRYCB * @iommu_notifier: notifier block used for specifying callback function for * handling the VFIO_IOMMU_NOTIFY_DMA_UNMAP even * @kvm: the struct holding guest's state * @pqap_hook: the function pointer to the interception handler for the * PQAP(AQIC) instruction. * @mdev: the mediated device + * @qtable: table of queues (struct vfio_ap_queue) assigned to the mdev + * @apm_add: bitmap of APIDs added to the host's AP configuration + * @aqm_add: bitmap of APQIs added to the host's AP configuration + * @adm_add: bitmap of control domain numbers added to the host's AP + * configuration */ struct ap_matrix_mdev { struct vfio_device vdev; struct list_head node; struct ap_matrix matrix; + struct ap_matrix shadow_apcb; struct notifier_block iommu_notifier; struct kvm *kvm; crypto_hook pqap_hook; struct mdev_device *mdev; + struct ap_queue_table qtable; + DECLARE_BITMAP(apm_add, AP_DEVICES); + DECLARE_BITMAP(aqm_add, AP_DOMAINS); + DECLARE_BITMAP(adm_add, AP_DOMAINS); }; /** @@ -105,6 +132,8 @@ * @saved_pfn: the guest PFN pinned for the guest * @apqn: the APQN of the AP queue device * @saved_isc: the guest ISC registered with the GIB interface + * @mdev_qnode: allows the vfio_ap_queue struct to be added to a hashtable + * @reset_rc: the status response code from the last reset of the queue */ struct vfio_ap_queue { struct ap_matrix_mdev *matrix_mdev; @@ -112,11 +141,21 @@ int apqn; #define VFIO_AP_ISC_INVALID 0xff unsigned char saved_isc; + struct hlist_node mdev_qnode; + unsigned int reset_rc; }; int vfio_ap_mdev_register(void); void vfio_ap_mdev_unregister(void); -int vfio_ap_mdev_reset_queue(struct vfio_ap_queue *q, - unsigned int retry); + +int vfio_ap_mdev_probe_queue(struct ap_device *queue); +void vfio_ap_mdev_remove_queue(struct ap_device *queue); + +int vfio_ap_mdev_resource_in_use(unsigned long *apm, unsigned long *aqm); + +void vfio_ap_on_cfg_changed(struct ap_config_info *new_config_info, + struct ap_config_info *old_config_info); +void vfio_ap_on_scan_complete(struct ap_config_info *new_config_info, + struct ap_config_info *old_config_info); #endif /* _VFIO_AP_PRIVATE_H_ */ --- linux-gcp-5.19.0.orig/drivers/s390/crypto/zcrypt_msgtype6.c +++ linux-gcp-5.19.0/drivers/s390/crypto/zcrypt_msgtype6.c @@ -342,7 +342,10 @@ }; struct { struct type6_hdr hdr; - struct CPRBX cprbx; + union { + struct CPRBX cprbx; + DECLARE_FLEX_ARRAY(u8, userdata); + }; } __packed * msg = ap_msg->msg; int rcblen = CEIL4(xcrb->request_control_blk_length); @@ -403,7 +406,8 @@ msg->hdr.fromcardlen2 = xcrb->reply_data_length; /* prepare CPRB */ - if (z_copy_from_user(userspace, &msg->cprbx, xcrb->request_control_blk_addr, + if (z_copy_from_user(userspace, msg->userdata, + xcrb->request_control_blk_addr, xcrb->request_control_blk_length)) return -EFAULT; if (msg->cprbx.cprb_len + sizeof(msg->hdr.function_code) > @@ -469,9 +473,14 @@ struct { struct type6_hdr hdr; - struct ep11_cprb cprbx; - unsigned char pld_tag; /* fixed value 0x30 */ - unsigned char pld_lenfmt; /* payload length format */ + union { + struct { + struct ep11_cprb cprbx; + unsigned char pld_tag; /* fixed value 0x30 */ + unsigned char pld_lenfmt; /* length format */ + } __packed; + DECLARE_FLEX_ARRAY(u8, userdata); + }; } __packed * msg = ap_msg->msg; struct pld_hdr { @@ -500,7 +509,7 @@ msg->hdr.fromcardlen1 = xcrb->resp_len; /* Import CPRB data from the ioctl input parameter */ - if (z_copy_from_user(userspace, &msg->cprbx.cprb_len, + if (z_copy_from_user(userspace, msg->userdata, (char __force __user *)xcrb->req, xcrb->req_len)) { return -EFAULT; } --- linux-gcp-5.19.0.orig/drivers/s390/net/ctcm_main.c +++ linux-gcp-5.19.0/drivers/s390/net/ctcm_main.c @@ -825,16 +825,9 @@ /* * Start transmission of a packet. * Called from generic network device layer. - * - * skb Pointer to buffer containing the packet. - * dev Pointer to interface struct. - * - * returns 0 if packet consumed, !0 if packet rejected. - * Note: If we return !0, then the packet is free'd by - * the generic network layer. */ /* first merge version - leaving both functions separated */ -static int ctcm_tx(struct sk_buff *skb, struct net_device *dev) +static netdev_tx_t ctcm_tx(struct sk_buff *skb, struct net_device *dev) { struct ctcm_priv *priv = dev->ml_priv; @@ -877,7 +870,7 @@ } /* unmerged MPC variant of ctcm_tx */ -static int ctcmpc_tx(struct sk_buff *skb, struct net_device *dev) +static netdev_tx_t ctcmpc_tx(struct sk_buff *skb, struct net_device *dev) { int len = 0; struct ctcm_priv *priv = dev->ml_priv; --- linux-gcp-5.19.0.orig/drivers/s390/net/lcs.c +++ linux-gcp-5.19.0/drivers/s390/net/lcs.c @@ -1519,9 +1519,8 @@ /* * Packet transmit function called by network stack */ -static int -__lcs_start_xmit(struct lcs_card *card, struct sk_buff *skb, - struct net_device *dev) +static netdev_tx_t __lcs_start_xmit(struct lcs_card *card, struct sk_buff *skb, + struct net_device *dev) { struct lcs_header *header; int rc = NETDEV_TX_OK; @@ -1582,8 +1581,7 @@ return rc; } -static int -lcs_start_xmit(struct sk_buff *skb, struct net_device *dev) +static netdev_tx_t lcs_start_xmit(struct sk_buff *skb, struct net_device *dev) { struct lcs_card *card; int rc; --- linux-gcp-5.19.0.orig/drivers/s390/net/netiucv.c +++ linux-gcp-5.19.0/drivers/s390/net/netiucv.c @@ -1248,15 +1248,8 @@ /* * Start transmission of a packet. * Called from generic network device layer. - * - * @param skb Pointer to buffer containing the packet. - * @param dev Pointer to interface struct. - * - * @return 0 if packet consumed, !0 if packet rejected. - * Note: If we return !0, then the packet is free'd by - * the generic network layer. */ -static int netiucv_tx(struct sk_buff *skb, struct net_device *dev) +static netdev_tx_t netiucv_tx(struct sk_buff *skb, struct net_device *dev) { struct netiucv_priv *privptr = netdev_priv(dev); int rc; --- linux-gcp-5.19.0.orig/drivers/s390/net/qeth_core_main.c +++ linux-gcp-5.19.0/drivers/s390/net/qeth_core_main.c @@ -763,6 +763,49 @@ ipa_name, com, CARD_DEVID(card)); } +static void qeth_default_link_info(struct qeth_card *card) +{ + struct qeth_link_info *link_info = &card->info.link_info; + + QETH_CARD_TEXT(card, 2, "dftlinfo"); + link_info->duplex = DUPLEX_FULL; + + if (IS_IQD(card) || IS_VM_NIC(card)) { + link_info->speed = SPEED_10000; + link_info->port = PORT_FIBRE; + link_info->link_mode = QETH_LINK_MODE_FIBRE_SHORT; + } else { + switch (card->info.link_type) { + case QETH_LINK_TYPE_FAST_ETH: + case QETH_LINK_TYPE_LANE_ETH100: + link_info->speed = SPEED_100; + link_info->port = PORT_TP; + break; + case QETH_LINK_TYPE_GBIT_ETH: + case QETH_LINK_TYPE_LANE_ETH1000: + link_info->speed = SPEED_1000; + link_info->port = PORT_FIBRE; + break; + case QETH_LINK_TYPE_10GBIT_ETH: + link_info->speed = SPEED_10000; + link_info->port = PORT_FIBRE; + break; + case QETH_LINK_TYPE_25GBIT_ETH: + link_info->speed = SPEED_25000; + link_info->port = PORT_FIBRE; + break; + default: + dev_info(&card->gdev->dev, + "Unknown link type %x\n", + card->info.link_type); + link_info->speed = SPEED_UNKNOWN; + link_info->port = PORT_OTHER; + } + + link_info->link_mode = QETH_LINK_MODE_UNKNOWN; + } +} + static struct qeth_ipa_cmd *qeth_check_ipa_data(struct qeth_card *card, struct qeth_ipa_cmd *cmd) { @@ -790,6 +833,7 @@ netdev_name(card->dev), card->info.chpid); qeth_issue_ipa_msg(cmd, cmd->hdr.return_code, card); netif_carrier_off(card->dev); + qeth_default_link_info(card); } return NULL; case IPA_CMD_STARTLAN: @@ -4744,92 +4788,6 @@ return rc; } -static int qeth_query_card_info_cb(struct qeth_card *card, - struct qeth_reply *reply, unsigned long data) -{ - struct qeth_ipa_cmd *cmd = (struct qeth_ipa_cmd *)data; - struct qeth_link_info *link_info = reply->param; - struct qeth_query_card_info *card_info; - - QETH_CARD_TEXT(card, 2, "qcrdincb"); - if (qeth_setadpparms_inspect_rc(cmd)) - return -EIO; - - card_info = &cmd->data.setadapterparms.data.card_info; - netdev_dbg(card->dev, - "card info: card_type=0x%02x, port_mode=0x%04x, port_speed=0x%08x\n", - card_info->card_type, card_info->port_mode, - card_info->port_speed); - - switch (card_info->port_mode) { - case CARD_INFO_PORTM_FULLDUPLEX: - link_info->duplex = DUPLEX_FULL; - break; - case CARD_INFO_PORTM_HALFDUPLEX: - link_info->duplex = DUPLEX_HALF; - break; - default: - link_info->duplex = DUPLEX_UNKNOWN; - } - - switch (card_info->card_type) { - case CARD_INFO_TYPE_1G_COPPER_A: - case CARD_INFO_TYPE_1G_COPPER_B: - link_info->speed = SPEED_1000; - link_info->port = PORT_TP; - break; - case CARD_INFO_TYPE_1G_FIBRE_A: - case CARD_INFO_TYPE_1G_FIBRE_B: - link_info->speed = SPEED_1000; - link_info->port = PORT_FIBRE; - break; - case CARD_INFO_TYPE_10G_FIBRE_A: - case CARD_INFO_TYPE_10G_FIBRE_B: - link_info->speed = SPEED_10000; - link_info->port = PORT_FIBRE; - break; - default: - switch (card_info->port_speed) { - case CARD_INFO_PORTS_10M: - link_info->speed = SPEED_10; - break; - case CARD_INFO_PORTS_100M: - link_info->speed = SPEED_100; - break; - case CARD_INFO_PORTS_1G: - link_info->speed = SPEED_1000; - break; - case CARD_INFO_PORTS_10G: - link_info->speed = SPEED_10000; - break; - case CARD_INFO_PORTS_25G: - link_info->speed = SPEED_25000; - break; - default: - link_info->speed = SPEED_UNKNOWN; - } - - link_info->port = PORT_OTHER; - } - - return 0; -} - -int qeth_query_card_info(struct qeth_card *card, - struct qeth_link_info *link_info) -{ - struct qeth_cmd_buffer *iob; - - QETH_CARD_TEXT(card, 2, "qcrdinfo"); - if (!qeth_adp_supported(card, IPA_SETADP_QUERY_CARD_INFO)) - return -EOPNOTSUPP; - iob = qeth_get_adapter_cmd(card, IPA_SETADP_QUERY_CARD_INFO, 0); - if (!iob) - return -ENOMEM; - - return qeth_send_ipa_cmd(card, iob, qeth_query_card_info_cb, link_info); -} - static int qeth_init_link_info_oat_cb(struct qeth_card *card, struct qeth_reply *reply_priv, unsigned long data) @@ -4839,6 +4797,7 @@ struct qeth_query_oat_physical_if *phys_if; struct qeth_query_oat_reply *reply; + QETH_CARD_TEXT(card, 2, "qoatincb"); if (qeth_setadpparms_inspect_rc(cmd)) return -EIO; @@ -4918,41 +4877,7 @@ static void qeth_init_link_info(struct qeth_card *card) { - card->info.link_info.duplex = DUPLEX_FULL; - - if (IS_IQD(card) || IS_VM_NIC(card)) { - card->info.link_info.speed = SPEED_10000; - card->info.link_info.port = PORT_FIBRE; - card->info.link_info.link_mode = QETH_LINK_MODE_FIBRE_SHORT; - } else { - switch (card->info.link_type) { - case QETH_LINK_TYPE_FAST_ETH: - case QETH_LINK_TYPE_LANE_ETH100: - card->info.link_info.speed = SPEED_100; - card->info.link_info.port = PORT_TP; - break; - case QETH_LINK_TYPE_GBIT_ETH: - case QETH_LINK_TYPE_LANE_ETH1000: - card->info.link_info.speed = SPEED_1000; - card->info.link_info.port = PORT_FIBRE; - break; - case QETH_LINK_TYPE_10GBIT_ETH: - card->info.link_info.speed = SPEED_10000; - card->info.link_info.port = PORT_FIBRE; - break; - case QETH_LINK_TYPE_25GBIT_ETH: - card->info.link_info.speed = SPEED_25000; - card->info.link_info.port = PORT_FIBRE; - break; - default: - dev_info(&card->gdev->dev, "Unknown link type %x\n", - card->info.link_type); - card->info.link_info.speed = SPEED_UNKNOWN; - card->info.link_info.port = PORT_OTHER; - } - - card->info.link_info.link_mode = QETH_LINK_MODE_UNKNOWN; - } + qeth_default_link_info(card); /* Get more accurate data via QUERY OAT: */ if (qeth_adp_supported(card, IPA_SETADP_QUERY_OAT)) { @@ -5461,6 +5386,7 @@ qeth_clear_working_pool_list(card); qeth_flush_local_addrs(card); card->info.promisc_mode = 0; + qeth_default_link_info(card); rc = qeth_stop_channel(&card->data); rc2 = qeth_stop_channel(&card->write); --- linux-gcp-5.19.0.orig/drivers/s390/net/qeth_ethtool.c +++ linux-gcp-5.19.0/drivers/s390/net/qeth_ethtool.c @@ -428,8 +428,8 @@ struct ethtool_link_ksettings *cmd) { struct qeth_card *card = netdev->ml_priv; - struct qeth_link_info link_info; + QETH_CARD_TEXT(card, 4, "ethtglks"); cmd->base.speed = card->info.link_info.speed; cmd->base.duplex = card->info.link_info.duplex; cmd->base.port = card->info.link_info.port; @@ -439,16 +439,6 @@ cmd->base.eth_tp_mdix = ETH_TP_MDI_INVALID; cmd->base.eth_tp_mdix_ctrl = ETH_TP_MDI_INVALID; - /* Check if we can obtain more accurate information. */ - if (!qeth_query_card_info(card, &link_info)) { - if (link_info.speed != SPEED_UNKNOWN) - cmd->base.speed = link_info.speed; - if (link_info.duplex != DUPLEX_UNKNOWN) - cmd->base.duplex = link_info.duplex; - if (link_info.port != PORT_OTHER) - cmd->base.port = link_info.port; - } - qeth_set_ethtool_link_modes(cmd, card->info.link_info.link_mode); return 0; --- linux-gcp-5.19.0.orig/drivers/s390/net/qeth_l2_main.c +++ linux-gcp-5.19.0/drivers/s390/net/qeth_l2_main.c @@ -758,7 +758,6 @@ struct list_head *iter; int err = 0; - kfree(br2dev_event_work); QETH_CARD_TEXT_(card, 4, "b2dw%04lx", event); QETH_CARD_TEXT_(card, 4, "ma%012llx", ether_addr_to_u64(addr)); @@ -815,6 +814,7 @@ dev_put(brdev); dev_put(lsyncdev); dev_put(dstdev); + kfree(br2dev_event_work); } static int qeth_l2_br2dev_queue_work(struct net_device *brdev, --- linux-gcp-5.19.0.orig/drivers/s390/scsi/zfcp_fc.c +++ linux-gcp-5.19.0/drivers/s390/scsi/zfcp_fc.c @@ -145,27 +145,33 @@ static int zfcp_fc_wka_port_get(struct zfcp_fc_wka_port *wka_port) { + int ret = -EIO; + if (mutex_lock_interruptible(&wka_port->mutex)) return -ERESTARTSYS; if (wka_port->status == ZFCP_FC_WKA_PORT_OFFLINE || wka_port->status == ZFCP_FC_WKA_PORT_CLOSING) { wka_port->status = ZFCP_FC_WKA_PORT_OPENING; - if (zfcp_fsf_open_wka_port(wka_port)) + if (zfcp_fsf_open_wka_port(wka_port)) { + /* could not even send request, nothing to wait for */ wka_port->status = ZFCP_FC_WKA_PORT_OFFLINE; + goto out; + } } - mutex_unlock(&wka_port->mutex); - - wait_event(wka_port->completion_wq, + wait_event(wka_port->opened, wka_port->status == ZFCP_FC_WKA_PORT_ONLINE || wka_port->status == ZFCP_FC_WKA_PORT_OFFLINE); if (wka_port->status == ZFCP_FC_WKA_PORT_ONLINE) { atomic_inc(&wka_port->refcount); - return 0; + ret = 0; + goto out; } - return -EIO; +out: + mutex_unlock(&wka_port->mutex); + return ret; } static void zfcp_fc_wka_port_offline(struct work_struct *work) @@ -181,9 +187,12 @@ wka_port->status = ZFCP_FC_WKA_PORT_CLOSING; if (zfcp_fsf_close_wka_port(wka_port)) { + /* could not even send request, nothing to wait for */ wka_port->status = ZFCP_FC_WKA_PORT_OFFLINE; - wake_up(&wka_port->completion_wq); + goto out; } + wait_event(wka_port->closed, + wka_port->status == ZFCP_FC_WKA_PORT_OFFLINE); out: mutex_unlock(&wka_port->mutex); } @@ -193,13 +202,15 @@ if (atomic_dec_return(&wka_port->refcount) != 0) return; /* wait 10 milliseconds, other reqs might pop in */ - schedule_delayed_work(&wka_port->work, HZ / 100); + queue_delayed_work(wka_port->adapter->work_queue, &wka_port->work, + msecs_to_jiffies(10)); } static void zfcp_fc_wka_port_init(struct zfcp_fc_wka_port *wka_port, u32 d_id, struct zfcp_adapter *adapter) { - init_waitqueue_head(&wka_port->completion_wq); + init_waitqueue_head(&wka_port->opened); + init_waitqueue_head(&wka_port->closed); wka_port->adapter = adapter; wka_port->d_id = d_id; --- linux-gcp-5.19.0.orig/drivers/s390/scsi/zfcp_fc.h +++ linux-gcp-5.19.0/drivers/s390/scsi/zfcp_fc.h @@ -185,7 +185,8 @@ /** * struct zfcp_fc_wka_port - representation of well-known-address (WKA) FC port * @adapter: Pointer to adapter structure this WKA port belongs to - * @completion_wq: Wait for completion of open/close command + * @opened: Wait for completion of open command + * @closed: Wait for completion of close command * @status: Current status of WKA port * @refcount: Reference count to keep port open as long as it is in use * @d_id: FC destination id or well-known-address @@ -195,7 +196,8 @@ */ struct zfcp_fc_wka_port { struct zfcp_adapter *adapter; - wait_queue_head_t completion_wq; + wait_queue_head_t opened; + wait_queue_head_t closed; enum zfcp_fc_wka_status status; atomic_t refcount; u32 d_id; --- linux-gcp-5.19.0.orig/drivers/s390/scsi/zfcp_fsf.c +++ linux-gcp-5.19.0/drivers/s390/scsi/zfcp_fsf.c @@ -884,7 +884,7 @@ const bool is_srb = zfcp_fsf_req_is_status_read_buffer(req); struct zfcp_adapter *adapter = req->adapter; struct zfcp_qdio *qdio = adapter->qdio; - int req_id = req->req_id; + unsigned long req_id = req->req_id; zfcp_reqlist_add(adapter->req_list, req); @@ -1907,7 +1907,7 @@ wka_port->status = ZFCP_FC_WKA_PORT_ONLINE; } out: - wake_up(&wka_port->completion_wq); + wake_up(&wka_port->opened); } /** @@ -1966,7 +1966,7 @@ } wka_port->status = ZFCP_FC_WKA_PORT_OFFLINE; - wake_up(&wka_port->completion_wq); + wake_up(&wka_port->closed); } /** --- linux-gcp-5.19.0.orig/drivers/s390/virtio/virtio_ccw.c +++ linux-gcp-5.19.0/drivers/s390/virtio/virtio_ccw.c @@ -33,6 +33,7 @@ #include #include #include +#include /* * virtio related functions @@ -204,7 +205,8 @@ write_unlock_irqrestore(&info->lock, flags); } -static void virtio_airq_handler(struct airq_struct *airq, bool floating) +static void virtio_airq_handler(struct airq_struct *airq, + struct tpi_info *tpi_info) { struct airq_info *info = container_of(airq, struct airq_info, airq); unsigned long ai; @@ -240,7 +242,7 @@ return NULL; rwlock_init(&info->lock); info->aiv = airq_iv_create(VIRTIO_IV_BITS, AIRQ_IV_ALLOC | AIRQ_IV_PTR - | AIRQ_IV_CACHELINE); + | AIRQ_IV_CACHELINE, NULL); if (!info->aiv) { kfree(info); return NULL; --- linux-gcp-5.19.0.orig/drivers/scsi/3w-9xxx.c +++ linux-gcp-5.19.0/drivers/scsi/3w-9xxx.c @@ -2006,7 +2006,7 @@ retval = pci_enable_device(pdev); if (retval) { TW_PRINTK(host, TW_DRIVER, 0x34, "Failed to enable pci device"); - goto out_disable_device; + return -ENODEV; } pci_set_master(pdev); --- linux-gcp-5.19.0.orig/drivers/scsi/aacraid/aachba.c +++ linux-gcp-5.19.0/drivers/scsi/aacraid/aachba.c @@ -818,8 +818,8 @@ int aac_probe_container(struct aac_dev *dev, int cid) { - struct scsi_cmnd *scsicmd = kzalloc(sizeof(*scsicmd), GFP_KERNEL); - struct aac_cmd_priv *cmd_priv = aac_priv(scsicmd); + struct aac_cmd_priv *cmd_priv; + struct scsi_cmnd *scsicmd = kzalloc(sizeof(*scsicmd) + sizeof(*cmd_priv), GFP_KERNEL); struct scsi_device *scsidev = kzalloc(sizeof(*scsidev), GFP_KERNEL); int status; @@ -838,6 +838,7 @@ while (scsicmd->device == scsidev) schedule(); kfree(scsidev); + cmd_priv = aac_priv(scsicmd); status = cmd_priv->status; kfree(scsicmd); return status; --- linux-gcp-5.19.0.orig/drivers/scsi/aic94xx/aic94xx_task.c +++ linux-gcp-5.19.0/drivers/scsi/aic94xx/aic94xx_task.c @@ -50,6 +50,9 @@ dma_addr_t dma = dma_map_single(&asd_ha->pcidev->dev, p, task->total_xfer_len, task->data_dir); + if (dma_mapping_error(&asd_ha->pcidev->dev, dma)) + return -ENOMEM; + sg_arr[0].bus_addr = cpu_to_le64((u64)dma); sg_arr[0].size = cpu_to_le32(task->total_xfer_len); sg_arr[0].flags |= ASD_SG_EL_LIST_EOL; --- linux-gcp-5.19.0.orig/drivers/scsi/be2iscsi/be_main.c +++ linux-gcp-5.19.0/drivers/scsi/be2iscsi/be_main.c @@ -5745,7 +5745,7 @@ cancel_work_sync(&phba->sess_work); beiscsi_iface_destroy_default(phba); - iscsi_host_remove(phba->shost); + iscsi_host_remove(phba->shost, false); beiscsi_disable_port(phba, 1); /* after cancelling boot_work */ --- linux-gcp-5.19.0.orig/drivers/scsi/bnx2i/bnx2i_iscsi.c +++ linux-gcp-5.19.0/drivers/scsi/bnx2i/bnx2i_iscsi.c @@ -909,7 +909,7 @@ { struct Scsi_Host *shost = hba->shost; - iscsi_host_remove(shost); + iscsi_host_remove(shost, false); INIT_LIST_HEAD(&hba->ep_ofld_list); INIT_LIST_HEAD(&hba->ep_active_list); INIT_LIST_HEAD(&hba->ep_destroy_list); --- linux-gcp-5.19.0.orig/drivers/scsi/cxgbi/libcxgbi.c +++ linux-gcp-5.19.0/drivers/scsi/cxgbi/libcxgbi.c @@ -328,7 +328,7 @@ chba = cdev->hbas[i]; if (chba) { cdev->hbas[i] = NULL; - iscsi_host_remove(chba->shost); + iscsi_host_remove(chba->shost, false); pci_dev_put(cdev->pdev); iscsi_host_free(chba->shost); } @@ -1455,7 +1455,7 @@ if (conn) { log_debug(1 << CXGBI_DBG_SOCK, "csk 0x%p, cid %d.\n", csk, conn->id); - iscsi_conn_queue_work(conn); + iscsi_conn_queue_xmit(conn); } } EXPORT_SYMBOL_GPL(cxgbi_conn_tx_open); --- linux-gcp-5.19.0.orig/drivers/scsi/elx/efct/efct_driver.c +++ linux-gcp-5.19.0/drivers/scsi/elx/efct/efct_driver.c @@ -42,6 +42,7 @@ rc = efct_scsi_reg_fc_transport(); if (rc) { + efct_scsi_tgt_driver_exit(); pr_err("failed to register to FC host\n"); return rc; } --- linux-gcp-5.19.0.orig/drivers/scsi/elx/libefc/efclib.h +++ linux-gcp-5.19.0/drivers/scsi/elx/libefc/efclib.h @@ -58,10 +58,12 @@ #define EFC_LINK_STATUS_UP 0 #define EFC_LINK_STATUS_DOWN 1 +enum efc_sm_event; + /* State machine context header */ struct efc_sm_ctx { void (*current_state)(struct efc_sm_ctx *ctx, - u32 evt, void *arg); + enum efc_sm_event evt, void *arg); const char *description; void *app; @@ -365,7 +367,7 @@ int prev_evt; void (*nodedb_state)(struct efc_sm_ctx *ctx, - u32 evt, void *arg); + enum efc_sm_event evt, void *arg); struct timer_list gidpt_delay_timer; u64 time_last_gidpt_msec; --- linux-gcp-5.19.0.orig/drivers/scsi/fcoe/fcoe.c +++ linux-gcp-5.19.0/drivers/scsi/fcoe/fcoe.c @@ -2492,6 +2492,7 @@ out_free: mutex_unlock(&fcoe_config_mutex); + fcoe_transport_detach(&fcoe_sw_transport); out_destroy: destroy_workqueue(fcoe_wq); return rc; --- linux-gcp-5.19.0.orig/drivers/scsi/fcoe/fcoe_sysfs.c +++ linux-gcp-5.19.0/drivers/scsi/fcoe/fcoe_sysfs.c @@ -830,14 +830,15 @@ dev_set_name(&ctlr->dev, "ctlr_%d", ctlr->id); error = device_register(&ctlr->dev); - if (error) - goto out_del_q2; + if (error) { + destroy_workqueue(ctlr->devloss_work_q); + destroy_workqueue(ctlr->work_q); + put_device(&ctlr->dev); + return NULL; + } return ctlr; -out_del_q2: - destroy_workqueue(ctlr->devloss_work_q); - ctlr->devloss_work_q = NULL; out_del_q: destroy_workqueue(ctlr->work_q); ctlr->work_q = NULL; @@ -1036,16 +1037,16 @@ fcf->selected = new_fcf->selected; error = device_register(&fcf->dev); - if (error) - goto out_del; + if (error) { + put_device(&fcf->dev); + goto out; + } fcf->state = FCOE_FCF_STATE_CONNECTED; list_add_tail(&fcf->peers, &ctlr->fcfs); return fcf; -out_del: - kfree(fcf); out: return NULL; } --- linux-gcp-5.19.0.orig/drivers/scsi/hisi_sas/hisi_sas_main.c +++ linux-gcp-5.19.0/drivers/scsi/hisi_sas/hisi_sas_main.c @@ -1337,7 +1337,7 @@ device->linkrate = phy->sas_phy.linkrate; hisi_hba->hw->setup_itct(hisi_hba, sas_dev); - } else + } else if (!port->port_attached) port->id = 0xff; } } --- linux-gcp-5.19.0.orig/drivers/scsi/hosts.c +++ linux-gcp-5.19.0/drivers/scsi/hosts.c @@ -182,6 +182,15 @@ mutex_unlock(&shost->scan_mutex); scsi_proc_host_rm(shost); + /* + * New SCSI devices cannot be attached anymore because of the SCSI host + * state so drop the tag set refcnt. Wait until the tag set refcnt drops + * to zero because .exit_cmd_priv implementations may need the host + * pointer. + */ + kref_put(&shost->tagset_refcnt, scsi_mq_free_tags); + wait_for_completion(&shost->tagset_freed); + spin_lock_irqsave(shost->host_lock, flags); if (scsi_host_set_state(shost, SHOST_DEL)) BUG_ON(scsi_host_set_state(shost, SHOST_DEL_RECOVERY)); @@ -240,6 +249,9 @@ if (error) goto fail; + kref_init(&shost->tagset_refcnt); + init_completion(&shost->tagset_freed); + /* * Increase usage count temporarily here so that calling * scsi_autopm_put_host() will trigger runtime idle if there is @@ -312,6 +324,7 @@ pm_runtime_disable(&shost->shost_gendev); pm_runtime_set_suspended(&shost->shost_gendev); pm_runtime_put_noidle(&shost->shost_gendev); + kref_put(&shost->tagset_refcnt, scsi_mq_free_tags); fail: return error; } @@ -345,9 +358,6 @@ kfree(dev_name(&shost->shost_dev)); } - if (shost->tag_set.tags) - scsi_mq_destroy_tags(shost); - kfree(shost->shost_data); ida_simple_remove(&host_index_ida, shost->host_no); --- linux-gcp-5.19.0.orig/drivers/scsi/hpsa.c +++ linux-gcp-5.19.0/drivers/scsi/hpsa.c @@ -5850,7 +5850,7 @@ { struct Scsi_Host *sh; - sh = scsi_host_alloc(&hpsa_driver_template, sizeof(h)); + sh = scsi_host_alloc(&hpsa_driver_template, sizeof(struct ctlr_info)); if (sh == NULL) { dev_err(&h->pdev->dev, "scsi_host_alloc failed\n"); return -ENOMEM; @@ -8929,7 +8929,7 @@ destroy_workqueue(h->monitor_ctlr_wq); h->monitor_ctlr_wq = NULL; } - kfree(h); + hpda_free_ctlr_info(h); return rc; } @@ -9790,7 +9790,8 @@ return 0; free_sas_phy: - hpsa_free_sas_phy(hpsa_sas_phy); + sas_phy_free(hpsa_sas_phy->phy); + kfree(hpsa_sas_phy); free_sas_port: hpsa_free_sas_port(hpsa_sas_port); free_sas_node: @@ -9826,10 +9827,12 @@ rc = hpsa_sas_port_add_rphy(hpsa_sas_port, rphy); if (rc) - goto free_sas_port; + goto free_sas_rphy; return 0; +free_sas_rphy: + sas_rphy_free(rphy); free_sas_port: hpsa_free_sas_port(hpsa_sas_port); device->sas_port = NULL; --- linux-gcp-5.19.0.orig/drivers/scsi/ibmvscsi/ibmvfc.c +++ linux-gcp-5.19.0/drivers/scsi/ibmvscsi/ibmvfc.c @@ -708,8 +708,13 @@ memset(vhost->async_crq.msgs.async, 0, PAGE_SIZE); vhost->async_crq.cur = 0; - list_for_each_entry(tgt, &vhost->targets, queue) - ibmvfc_del_tgt(tgt); + list_for_each_entry(tgt, &vhost->targets, queue) { + if (vhost->client_migrated) + tgt->need_login = 1; + else + ibmvfc_del_tgt(tgt); + } + scsi_block_requests(vhost->host); ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_INIT); vhost->job_step = ibmvfc_npiv_login; @@ -3235,9 +3240,12 @@ /* We need to re-setup the interpartition connection */ dev_info(vhost->dev, "Partition migrated, Re-enabling adapter\n"); vhost->client_migrated = 1; + + scsi_block_requests(vhost->host); ibmvfc_purge_requests(vhost, DID_REQUEUE); - ibmvfc_link_down(vhost, IBMVFC_LINK_DOWN); + ibmvfc_set_host_state(vhost, IBMVFC_LINK_DOWN); ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_REENABLE); + wake_up(&vhost->work_wait_q); } else if (crq->format == IBMVFC_PARTNER_FAILED || crq->format == IBMVFC_PARTNER_DEREGISTER) { dev_err(vhost->dev, "Host partner adapter deregistered or failed (rc=%d)\n", crq->format); ibmvfc_purge_requests(vhost, DID_ERROR); --- linux-gcp-5.19.0.orig/drivers/scsi/ipr.c +++ linux-gcp-5.19.0/drivers/scsi/ipr.c @@ -10872,11 +10872,19 @@ **/ static int __init ipr_init(void) { + int rc; + ipr_info("IBM Power RAID SCSI Device Driver version: %s %s\n", IPR_DRIVER_VERSION, IPR_DRIVER_DATE); register_reboot_notifier(&ipr_notifier); - return pci_register_driver(&ipr_driver); + rc = pci_register_driver(&ipr_driver); + if (rc) { + unregister_reboot_notifier(&ipr_notifier); + return rc; + } + + return 0; } /** --- linux-gcp-5.19.0.orig/drivers/scsi/iscsi_tcp.c +++ linux-gcp-5.19.0/drivers/scsi/iscsi_tcp.c @@ -52,6 +52,10 @@ static unsigned int iscsi_max_lun = ~0; module_param_named(max_lun, iscsi_max_lun, uint, S_IRUGO); +static bool iscsi_recv_from_iscsi_q; +module_param_named(recv_from_iscsi_q, iscsi_recv_from_iscsi_q, bool, 0644); +MODULE_PARM_DESC(recv_from_iscsi_q, "Set to true to read iSCSI data/headers from the iscsi_q workqueue. The default is false which will perform reads from the network softirq context."); + static int iscsi_sw_tcp_dbg; module_param_named(debug_iscsi_tcp, iscsi_sw_tcp_dbg, int, S_IRUGO | S_IWUSR); @@ -122,20 +126,13 @@ return 0; } -static void iscsi_sw_tcp_data_ready(struct sock *sk) +static void iscsi_sw_tcp_recv_data(struct iscsi_conn *conn) { - struct iscsi_conn *conn; - struct iscsi_tcp_conn *tcp_conn; + struct iscsi_tcp_conn *tcp_conn = conn->dd_data; + struct iscsi_sw_tcp_conn *tcp_sw_conn = tcp_conn->dd_data; + struct sock *sk = tcp_sw_conn->sock->sk; read_descriptor_t rd_desc; - read_lock_bh(&sk->sk_callback_lock); - conn = sk->sk_user_data; - if (!conn) { - read_unlock_bh(&sk->sk_callback_lock); - return; - } - tcp_conn = conn->dd_data; - /* * Use rd_desc to pass 'conn' to iscsi_tcp_recv. * We set count to 1 because we want the network layer to @@ -144,13 +141,48 @@ */ rd_desc.arg.data = conn; rd_desc.count = 1; - tcp_read_sock(sk, &rd_desc, iscsi_sw_tcp_recv); - iscsi_sw_sk_state_check(sk); + tcp_read_sock(sk, &rd_desc, iscsi_sw_tcp_recv); /* If we had to (atomically) map a highmem page, * unmap it now. */ iscsi_tcp_segment_unmap(&tcp_conn->in.segment); + + iscsi_sw_sk_state_check(sk); +} + +static void iscsi_sw_tcp_recv_data_work(struct work_struct *work) +{ + struct iscsi_conn *conn = container_of(work, struct iscsi_conn, + recvwork); + struct iscsi_tcp_conn *tcp_conn = conn->dd_data; + struct iscsi_sw_tcp_conn *tcp_sw_conn = tcp_conn->dd_data; + struct sock *sk = tcp_sw_conn->sock->sk; + + lock_sock(sk); + iscsi_sw_tcp_recv_data(conn); + release_sock(sk); +} + +static void iscsi_sw_tcp_data_ready(struct sock *sk) +{ + struct iscsi_sw_tcp_conn *tcp_sw_conn; + struct iscsi_tcp_conn *tcp_conn; + struct iscsi_conn *conn; + + read_lock_bh(&sk->sk_callback_lock); + conn = sk->sk_user_data; + if (!conn) { + read_unlock_bh(&sk->sk_callback_lock); + return; + } + tcp_conn = conn->dd_data; + tcp_sw_conn = tcp_conn->dd_data; + + if (tcp_sw_conn->queue_recv) + iscsi_conn_queue_recv(conn); + else + iscsi_sw_tcp_recv_data(conn); read_unlock_bh(&sk->sk_callback_lock); } @@ -205,7 +237,7 @@ old_write_space(sk); ISCSI_SW_TCP_DBG(conn, "iscsi_write_space\n"); - iscsi_conn_queue_work(conn); + iscsi_conn_queue_xmit(conn); } static void iscsi_sw_tcp_conn_set_callbacks(struct iscsi_conn *conn) @@ -276,6 +308,9 @@ if (segment->total_copied + segment->size < segment->total_size) flags |= MSG_MORE; + if (tcp_sw_conn->queue_recv) + flags |= MSG_DONTWAIT; + /* Use sendpage if we can; else fall back to sendmsg */ if (!segment->data) { sg = segment->sg; @@ -557,6 +592,10 @@ conn = cls_conn->dd_data; tcp_conn = conn->dd_data; tcp_sw_conn = tcp_conn->dd_data; + INIT_WORK(&conn->recvwork, iscsi_sw_tcp_recv_data_work); + tcp_sw_conn->queue_recv = iscsi_recv_from_iscsi_q; + + mutex_init(&tcp_sw_conn->sock_lock); tfm = crypto_alloc_ahash("crc32c", 0, CRYPTO_ALG_ASYNC); if (IS_ERR(tfm)) @@ -592,11 +631,15 @@ static void iscsi_sw_tcp_release_conn(struct iscsi_conn *conn) { - struct iscsi_session *session = conn->session; struct iscsi_tcp_conn *tcp_conn = conn->dd_data; struct iscsi_sw_tcp_conn *tcp_sw_conn = tcp_conn->dd_data; struct socket *sock = tcp_sw_conn->sock; + /* + * The iscsi transport class will make sure we are not called in + * parallel with start, stop, bind and destroys. However, this can be + * called twice if userspace does a stop then a destroy. + */ if (!sock) return; @@ -610,9 +653,11 @@ iscsi_sw_tcp_conn_restore_callbacks(conn); sock_put(sock->sk); - spin_lock_bh(&session->frwd_lock); + iscsi_suspend_rx(conn); + + mutex_lock(&tcp_sw_conn->sock_lock); tcp_sw_conn->sock = NULL; - spin_unlock_bh(&session->frwd_lock); + mutex_unlock(&tcp_sw_conn->sock_lock); sockfd_put(sock); } @@ -664,7 +709,6 @@ struct iscsi_cls_conn *cls_conn, uint64_t transport_eph, int is_leading) { - struct iscsi_session *session = cls_session->dd_data; struct iscsi_conn *conn = cls_conn->dd_data; struct iscsi_tcp_conn *tcp_conn = conn->dd_data; struct iscsi_sw_tcp_conn *tcp_sw_conn = tcp_conn->dd_data; @@ -684,10 +728,10 @@ if (err) goto free_socket; - spin_lock_bh(&session->frwd_lock); + mutex_lock(&tcp_sw_conn->sock_lock); /* bind iSCSI connection and socket */ tcp_sw_conn->sock = sock; - spin_unlock_bh(&session->frwd_lock); + mutex_unlock(&tcp_sw_conn->sock_lock); /* setup Socket parameters */ sk = sock->sk; @@ -724,8 +768,15 @@ break; case ISCSI_PARAM_DATADGST_EN: iscsi_set_param(cls_conn, param, buf, buflen); + + mutex_lock(&tcp_sw_conn->sock_lock); + if (!tcp_sw_conn->sock) { + mutex_unlock(&tcp_sw_conn->sock_lock); + return -ENOTCONN; + } tcp_sw_conn->sendpage = conn->datadgst_en ? sock_no_sendpage : tcp_sw_conn->sock->ops->sendpage; + mutex_unlock(&tcp_sw_conn->sock_lock); break; case ISCSI_PARAM_MAX_R2T: return iscsi_tcp_set_max_r2t(conn, buf); @@ -740,8 +791,8 @@ enum iscsi_param param, char *buf) { struct iscsi_conn *conn = cls_conn->dd_data; - struct iscsi_tcp_conn *tcp_conn = conn->dd_data; - struct iscsi_sw_tcp_conn *tcp_sw_conn = tcp_conn->dd_data; + struct iscsi_sw_tcp_conn *tcp_sw_conn; + struct iscsi_tcp_conn *tcp_conn; struct sockaddr_in6 addr; struct socket *sock; int rc; @@ -751,21 +802,36 @@ case ISCSI_PARAM_CONN_ADDRESS: case ISCSI_PARAM_LOCAL_PORT: spin_lock_bh(&conn->session->frwd_lock); - if (!tcp_sw_conn || !tcp_sw_conn->sock) { + if (!conn->session->leadconn) { spin_unlock_bh(&conn->session->frwd_lock); return -ENOTCONN; } - sock = tcp_sw_conn->sock; - sock_hold(sock->sk); + /* + * The conn has been setup and bound, so just grab a ref + * incase a destroy runs while we are in the net layer. + */ + iscsi_get_conn(conn->cls_conn); spin_unlock_bh(&conn->session->frwd_lock); + tcp_conn = conn->dd_data; + tcp_sw_conn = tcp_conn->dd_data; + + mutex_lock(&tcp_sw_conn->sock_lock); + sock = tcp_sw_conn->sock; + if (!sock) { + rc = -ENOTCONN; + goto sock_unlock; + } + if (param == ISCSI_PARAM_LOCAL_PORT) rc = kernel_getsockname(sock, (struct sockaddr *)&addr); else rc = kernel_getpeername(sock, (struct sockaddr *)&addr); - sock_put(sock->sk); +sock_unlock: + mutex_unlock(&tcp_sw_conn->sock_lock); + iscsi_put_conn(conn->cls_conn); if (rc < 0) return rc; @@ -782,7 +848,7 @@ enum iscsi_host_param param, char *buf) { struct iscsi_sw_tcp_host *tcp_sw_host = iscsi_host_priv(shost); - struct iscsi_session *session = tcp_sw_host->session; + struct iscsi_session *session; struct iscsi_conn *conn; struct iscsi_tcp_conn *tcp_conn; struct iscsi_sw_tcp_conn *tcp_sw_conn; @@ -792,6 +858,7 @@ switch (param) { case ISCSI_HOST_PARAM_IPADDRESS: + session = tcp_sw_host->session; if (!session) return -ENOTCONN; @@ -803,17 +870,21 @@ } tcp_conn = conn->dd_data; tcp_sw_conn = tcp_conn->dd_data; - sock = tcp_sw_conn->sock; - if (!sock) { - spin_unlock_bh(&session->frwd_lock); - return -ENOTCONN; - } - sock_hold(sock->sk); + /* + * The conn has been setup and bound, so just grab a ref + * incase a destroy runs while we are in the net layer. + */ + iscsi_get_conn(conn->cls_conn); spin_unlock_bh(&session->frwd_lock); - rc = kernel_getsockname(sock, - (struct sockaddr *)&addr); - sock_put(sock->sk); + mutex_lock(&tcp_sw_conn->sock_lock); + sock = tcp_sw_conn->sock; + if (!sock) + rc = -ENOTCONN; + else + rc = kernel_getsockname(sock, (struct sockaddr *)&addr); + mutex_unlock(&tcp_sw_conn->sock_lock); + iscsi_put_conn(conn->cls_conn); if (rc < 0) return rc; @@ -888,17 +959,19 @@ if (!cls_session) goto remove_host; session = cls_session->dd_data; - tcp_sw_host = iscsi_host_priv(shost); - tcp_sw_host->session = session; if (iscsi_tcp_r2tpool_alloc(session)) goto remove_session; + + /* We are now fully setup so expose the session to sysfs. */ + tcp_sw_host = iscsi_host_priv(shost); + tcp_sw_host->session = session; return cls_session; remove_session: iscsi_session_teardown(cls_session); remove_host: - iscsi_host_remove(shost); + iscsi_host_remove(shost, false); free_host: iscsi_host_free(shost); return NULL; @@ -912,10 +985,17 @@ if (WARN_ON_ONCE(session->leadconn)) return; + iscsi_session_remove(cls_session); + /* + * Our get_host_param needs to access the session, so remove the + * host from sysfs before freeing the session to make sure userspace + * is no longer accessing the callout. + */ + iscsi_host_remove(shost, false); + iscsi_tcp_r2tpool_free(cls_session->dd_data); - iscsi_session_teardown(cls_session); - iscsi_host_remove(shost); + iscsi_session_free(cls_session); iscsi_host_free(shost); } --- linux-gcp-5.19.0.orig/drivers/scsi/iscsi_tcp.h +++ linux-gcp-5.19.0/drivers/scsi/iscsi_tcp.h @@ -28,6 +28,11 @@ struct iscsi_sw_tcp_conn { struct socket *sock; + /* Taken when accessing the sock from the netlink/sysfs interface */ + struct mutex sock_lock; + + struct work_struct recvwork; + bool queue_recv; struct iscsi_sw_tcp_send out; /* old values for socket callbacks */ --- linux-gcp-5.19.0.orig/drivers/scsi/libiscsi.c +++ linux-gcp-5.19.0/drivers/scsi/libiscsi.c @@ -83,7 +83,7 @@ "%s " dbg_fmt, __func__, ##arg); \ } while (0); -inline void iscsi_conn_queue_work(struct iscsi_conn *conn) +inline void iscsi_conn_queue_xmit(struct iscsi_conn *conn) { struct Scsi_Host *shost = conn->session->host; struct iscsi_host *ihost = shost_priv(shost); @@ -91,7 +91,17 @@ if (ihost->workq) queue_work(ihost->workq, &conn->xmitwork); } -EXPORT_SYMBOL_GPL(iscsi_conn_queue_work); +EXPORT_SYMBOL_GPL(iscsi_conn_queue_xmit); + +inline void iscsi_conn_queue_recv(struct iscsi_conn *conn) +{ + struct Scsi_Host *shost = conn->session->host; + struct iscsi_host *ihost = shost_priv(shost); + + if (ihost->workq && !test_bit(ISCSI_CONN_FLAG_SUSPEND_RX, &conn->flags)) + queue_work(ihost->workq, &conn->recvwork); +} +EXPORT_SYMBOL_GPL(iscsi_conn_queue_recv); static void __iscsi_update_cmdsn(struct iscsi_session *session, uint32_t exp_cmdsn, uint32_t max_cmdsn) @@ -765,7 +775,7 @@ goto free_task; } else { list_add_tail(&task->running, &conn->mgmtqueue); - iscsi_conn_queue_work(conn); + iscsi_conn_queue_xmit(conn); } return task; @@ -1513,7 +1523,7 @@ */ iscsi_put_task(task); } - iscsi_conn_queue_work(conn); + iscsi_conn_queue_xmit(conn); spin_unlock_bh(&conn->session->frwd_lock); } EXPORT_SYMBOL_GPL(iscsi_requeue_task); @@ -1782,7 +1792,7 @@ } } else { list_add_tail(&task->running, &conn->cmdqueue); - iscsi_conn_queue_work(conn); + iscsi_conn_queue_xmit(conn); } session->queued_cmdsn++; @@ -1943,7 +1953,7 @@ /** * iscsi_suspend_tx - suspend iscsi_data_xmit - * @conn: iscsi conn tp stop processing IO on. + * @conn: iscsi conn to stop processing IO on. * * This function sets the suspend bit to prevent iscsi_data_xmit * from sending new IO, and if work is queued on the xmit thread @@ -1956,15 +1966,30 @@ set_bit(ISCSI_CONN_FLAG_SUSPEND_TX, &conn->flags); if (ihost->workq) - flush_workqueue(ihost->workq); + flush_work(&conn->xmitwork); } EXPORT_SYMBOL_GPL(iscsi_suspend_tx); static void iscsi_start_tx(struct iscsi_conn *conn) { clear_bit(ISCSI_CONN_FLAG_SUSPEND_TX, &conn->flags); - iscsi_conn_queue_work(conn); + iscsi_conn_queue_xmit(conn); +} + +/** + * iscsi_suspend_rx - Prevent recvwork from running again. + * @conn: iscsi conn to stop. + */ +void iscsi_suspend_rx(struct iscsi_conn *conn) +{ + struct Scsi_Host *shost = conn->session->host; + struct iscsi_host *ihost = shost_priv(shost); + + set_bit(ISCSI_CONN_FLAG_SUSPEND_RX, &conn->flags); + if (ihost->workq) + flush_work(&conn->recvwork); } +EXPORT_SYMBOL_GPL(iscsi_suspend_rx); /* * We want to make sure a ping is in flight. It has timed out. @@ -2828,11 +2853,12 @@ /** * iscsi_host_remove - remove host and sessions * @shost: scsi host + * @is_shutdown: true if called from a driver shutdown callout * * If there are any sessions left, this will initiate the removal and wait * for the completion. */ -void iscsi_host_remove(struct Scsi_Host *shost) +void iscsi_host_remove(struct Scsi_Host *shost, bool is_shutdown) { struct iscsi_host *ihost = shost_priv(shost); unsigned long flags; @@ -2841,7 +2867,11 @@ ihost->state = ISCSI_HOST_REMOVED; spin_unlock_irqrestore(&ihost->lock, flags); - iscsi_host_for_each_session(shost, iscsi_notify_host_removed); + if (!is_shutdown) + iscsi_host_for_each_session(shost, iscsi_notify_host_removed); + else + iscsi_host_for_each_session(shost, iscsi_force_destroy_session); + wait_event_interruptible(ihost->session_removal_wq, ihost->num_sessions == 0); if (signal_pending(current)) @@ -2993,17 +3023,32 @@ } EXPORT_SYMBOL_GPL(iscsi_session_setup); -/** - * iscsi_session_teardown - destroy session, host, and cls_session - * @cls_session: iscsi session +/* + * issi_session_remove - Remove session from iSCSI class. */ -void iscsi_session_teardown(struct iscsi_cls_session *cls_session) +void iscsi_session_remove(struct iscsi_cls_session *cls_session) { struct iscsi_session *session = cls_session->dd_data; - struct module *owner = cls_session->transport->owner; struct Scsi_Host *shost = session->host; iscsi_remove_session(cls_session); + /* + * host removal only has to wait for its children to be removed from + * sysfs, and iscsi_tcp needs to do iscsi_host_remove before freeing + * the session, so drop the session count here. + */ + iscsi_host_dec_session_cnt(shost); +} +EXPORT_SYMBOL_GPL(iscsi_session_remove); + +/** + * iscsi_session_free - Free iscsi session and it's resources + * @cls_session: iscsi session + */ +void iscsi_session_free(struct iscsi_cls_session *cls_session) +{ + struct iscsi_session *session = cls_session->dd_data; + struct module *owner = cls_session->transport->owner; iscsi_pool_free(&session->cmdpool); kfree(session->password); @@ -3021,10 +3066,19 @@ kfree(session->discovery_parent_type); iscsi_free_session(cls_session); - - iscsi_host_dec_session_cnt(shost); module_put(owner); } +EXPORT_SYMBOL_GPL(iscsi_session_free); + +/** + * iscsi_session_teardown - destroy session and cls_session + * @cls_session: iscsi session + */ +void iscsi_session_teardown(struct iscsi_cls_session *cls_session) +{ + iscsi_session_remove(cls_session); + iscsi_session_free(cls_session); +} EXPORT_SYMBOL_GPL(iscsi_session_teardown); /** --- linux-gcp-5.19.0.orig/drivers/scsi/libsas/sas_expander.c +++ linux-gcp-5.19.0/drivers/scsi/libsas/sas_expander.c @@ -67,7 +67,7 @@ res = i->dft->lldd_execute_task(task, GFP_KERNEL); if (res) { - del_timer(&task->slow_task->timer); + del_timer_sync(&task->slow_task->timer); pr_notice("executing SMP task failed:%d\n", res); break; } --- linux-gcp-5.19.0.orig/drivers/scsi/libsas/sas_scsi_host.c +++ linux-gcp-5.19.0/drivers/scsi/libsas/sas_scsi_host.c @@ -467,6 +467,9 @@ struct sas_internal *i = to_sas_internal(host->transportt); unsigned long flags; + if (current != host->ehandler) + return FAILED; + if (!i->dft->lldd_abort_task) return FAILED; --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc.h +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc.h @@ -604,7 +604,6 @@ #define FC_VFI_REGISTERED 0x800000 /* VFI is registered */ #define FC_FDISC_COMPLETED 0x1000000/* FDISC completed */ #define FC_DISC_DELAYED 0x2000000/* Delay NPort discovery */ -#define FC_RSCN_MEMENTO 0x4000000/* RSCN cmd processed */ uint32_t ct_flags; #define FC_CT_RFF_ID 0x1 /* RFF_ID accepted by switch */ @@ -987,7 +986,8 @@ u8 last_seq, u8 cr_cx_cmd); void (*__lpfc_sli_prep_abort_xri)(struct lpfc_iocbq *cmdiocbq, u16 ulp_context, u16 iotag, - u8 ulp_class, u16 cqid, bool ia); + u8 ulp_class, u16 cqid, bool ia, + bool wqec); /* expedite pool */ struct lpfc_epd_pool epd_pool; @@ -1577,10 +1577,7 @@ u32 cgn_acqe_cnt; /* RX monitor handling for CMF */ - struct rxtable_entry *rxtable; /* RX_monitor information */ - atomic_t rxtable_idx_head; -#define LPFC_RXMONITOR_TABLE_IN_USE (LPFC_MAX_RXMONITOR_ENTRY + 73) - atomic_t rxtable_idx_tail; + struct lpfc_rx_info_monitor *rx_monitor; atomic_t rx_max_read_cnt; /* Maximum read bytes */ uint64_t rx_block_cnt; @@ -1629,7 +1626,7 @@ #define LPFC_MAX_RXMONITOR_ENTRY 800 #define LPFC_MAX_RXMONITOR_DUMP 32 -struct rxtable_entry { +struct rx_info_entry { uint64_t cmf_bytes; /* Total no of read bytes for CMF_SYNC_WQE */ uint64_t total_bytes; /* Total no of read bytes requested */ uint64_t rcv_bytes; /* Total no of read bytes completed */ @@ -1644,6 +1641,13 @@ uint32_t timer_interval; }; +struct lpfc_rx_info_monitor { + struct rx_info_entry *ring; /* info organized in a circular buffer */ + u32 head_idx, tail_idx; /* index to head/tail of ring */ + spinlock_t lock; /* spinlock for ring */ + u32 entries; /* storing number entries/size of ring */ +}; + static inline struct Scsi_Host * lpfc_shost_from_vport(struct lpfc_vport *vport) { --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc_bsg.h +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc_bsg.h @@ -1,7 +1,7 @@ /******************************************************************* * This file is part of the Emulex Linux Device Driver for * * Fibre Channel Host Bus Adapters. * - * Copyright (C) 2017-2021 Broadcom. All Rights Reserved. The term * + * Copyright (C) 2017-2022 Broadcom. All Rights Reserved. The term * * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. * * Copyright (C) 2010-2015 Emulex. All rights reserved. * * EMULEX and SLI are trademarks of Emulex. * --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc_crtn.h +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc_crtn.h @@ -92,6 +92,14 @@ void lpfc_cgn_update_stat(struct lpfc_hba *phba, uint32_t dtag); void lpfc_unblock_requests(struct lpfc_hba *phba); void lpfc_block_requests(struct lpfc_hba *phba); +int lpfc_rx_monitor_create_ring(struct lpfc_rx_info_monitor *rx_monitor, + u32 entries); +void lpfc_rx_monitor_destroy_ring(struct lpfc_rx_info_monitor *rx_monitor); +void lpfc_rx_monitor_record(struct lpfc_rx_info_monitor *rx_monitor, + struct rx_info_entry *entry); +u32 lpfc_rx_monitor_report(struct lpfc_hba *phba, + struct lpfc_rx_info_monitor *rx_monitor, char *buf, + u32 buf_len, u32 max_read_entries); void lpfc_mbx_cmpl_local_config_link(struct lpfc_hba *, LPFC_MBOXQ_t *); void lpfc_mbx_cmpl_reg_login(struct lpfc_hba *, LPFC_MBOXQ_t *); @@ -370,7 +378,7 @@ u8 cr_cx_cmd); void lpfc_sli_prep_abort_xri(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocbq, u16 ulp_context, u16 iotag, u8 ulp_class, u16 cqid, - bool ia); + bool ia, bool wqec); struct lpfc_sglq *__lpfc_clear_active_sglq(struct lpfc_hba *phba, uint16_t xri); struct lpfc_sglq *__lpfc_sli_get_nvmet_sglq(struct lpfc_hba *phba, struct lpfc_iocbq *piocbq); --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc_ct.c +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc_ct.c @@ -1509,7 +1509,7 @@ struct lpfc_sli_ct_request *CTrsp; int did; struct lpfc_nodelist *ndlp = NULL; - struct lpfc_nodelist *ns_ndlp = NULL; + struct lpfc_nodelist *ns_ndlp = cmdiocb->ndlp; uint32_t fc4_data_0, fc4_data_1; u32 ulp_status = get_job_ulpstatus(phba, rspiocb); u32 ulp_word4 = get_job_word4(phba, rspiocb); @@ -1522,15 +1522,12 @@ ulp_status, ulp_word4, did); /* Ignore response if link flipped after this request was made */ - if ((uint32_t) cmdiocb->event_tag != phba->fc_eventTag) { + if ((uint32_t)cmdiocb->event_tag != phba->fc_eventTag) { lpfc_printf_vlog(vport, KERN_INFO, LOG_DISCOVERY, "9046 Event tag mismatch. Ignoring NS rsp\n"); goto out; } - /* Preserve the nameserver node to release the reference. */ - ns_ndlp = cmdiocb->ndlp; - if (ulp_status == IOSTAT_SUCCESS) { /* Good status, continue checking */ CTrsp = (struct lpfc_sli_ct_request *)outp->virt; --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc_debugfs.c +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc_debugfs.c @@ -1,7 +1,7 @@ /******************************************************************* * This file is part of the Emulex Linux Device Driver for * * Fibre Channel Host Bus Adapters. * - * Copyright (C) 2017-2021 Broadcom. All Rights Reserved. The term * + * Copyright (C) 2017-2022 Broadcom. All Rights Reserved. The term * * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. * * Copyright (C) 2007-2015 Emulex. All rights reserved. * * EMULEX and SLI are trademarks of Emulex. * @@ -2607,8 +2607,8 @@ struct lpfc_sli4_hdw_queue *qp; struct lpfc_multixri_pool *multixri_pool; - if (nbytes > 64) - nbytes = 64; + if (nbytes > sizeof(mybuf) - 1) + nbytes = sizeof(mybuf) - 1; memset(mybuf, 0, sizeof(mybuf)); @@ -2688,8 +2688,8 @@ if (!phba->targetport) return -ENXIO; - if (nbytes > 64) - nbytes = 64; + if (nbytes > sizeof(mybuf) - 1) + nbytes = sizeof(mybuf) - 1; memset(mybuf, 0, sizeof(mybuf)); @@ -2826,8 +2826,8 @@ char mybuf[64]; char *pbuf; - if (nbytes > 64) - nbytes = 64; + if (nbytes > sizeof(mybuf) - 1) + nbytes = sizeof(mybuf) - 1; memset(mybuf, 0, sizeof(mybuf)); @@ -2954,8 +2954,8 @@ char mybuf[64]; char *pbuf; - if (nbytes > 63) - nbytes = 63; + if (nbytes > sizeof(mybuf) - 1) + nbytes = sizeof(mybuf) - 1; memset(mybuf, 0, sizeof(mybuf)); @@ -3060,8 +3060,8 @@ char *pbuf; int i; - if (nbytes > 64) - nbytes = 64; + if (nbytes > sizeof(mybuf) - 1) + nbytes = sizeof(mybuf) - 1; memset(mybuf, 0, sizeof(mybuf)); @@ -5156,7 +5156,7 @@ static int lpfc_idiag_extacc_avail_get(struct lpfc_hba *phba, char *pbuffer, int len) { - uint16_t ext_cnt, ext_size; + uint16_t ext_cnt = 0, ext_size = 0; len += scnprintf(pbuffer+len, LPFC_EXT_ACC_BUF_SIZE-len, "\nAvailable Extents Information:\n"); @@ -5531,7 +5531,7 @@ if (!debug) goto out; - debug->buffer = vmalloc(MAX_DEBUGFS_RX_TABLE_SIZE); + debug->buffer = vmalloc(MAX_DEBUGFS_RX_INFO_SIZE); if (!debug->buffer) { kfree(debug); goto out; @@ -5552,57 +5552,18 @@ struct lpfc_rx_monitor_debug *debug = file->private_data; struct lpfc_hba *phba = (struct lpfc_hba *)debug->i_private; char *buffer = debug->buffer; - struct rxtable_entry *entry; - int i, len = 0, head, tail, last, start; - - head = atomic_read(&phba->rxtable_idx_head); - while (head == LPFC_RXMONITOR_TABLE_IN_USE) { - /* Table is getting updated */ - msleep(20); - head = atomic_read(&phba->rxtable_idx_head); - } - tail = atomic_xchg(&phba->rxtable_idx_tail, head); - if (!phba->rxtable || head == tail) { - len += scnprintf(buffer + len, MAX_DEBUGFS_RX_TABLE_SIZE - len, - "Rxtable is empty\n"); - goto out; + if (!phba->rx_monitor) { + scnprintf(buffer, MAX_DEBUGFS_RX_INFO_SIZE, + "Rx Monitor Info is empty.\n"); + } else { + lpfc_rx_monitor_report(phba, phba->rx_monitor, buffer, + MAX_DEBUGFS_RX_INFO_SIZE, + LPFC_MAX_RXMONITOR_ENTRY); } - last = (head > tail) ? head : LPFC_MAX_RXMONITOR_ENTRY; - start = tail; - len += scnprintf(buffer + len, MAX_DEBUGFS_RX_TABLE_SIZE - len, - " MaxBPI Tot_Data_CMF Tot_Data_Cmd " - "Tot_Data_Cmpl Lat(us) Avg_IO Max_IO " - "Bsy IO_cnt Info BWutil(ms)\n"); -get_table: - for (i = start; i < last; i++) { - entry = &phba->rxtable[i]; - len += scnprintf(buffer + len, MAX_DEBUGFS_RX_TABLE_SIZE - len, - "%3d:%12lld %12lld %12lld %12lld " - "%7lldus %8lld %7lld " - "%2d %4d %2d %2d(%2d)\n", - i, entry->max_bytes_per_interval, - entry->cmf_bytes, - entry->total_bytes, - entry->rcv_bytes, - entry->avg_io_latency, - entry->avg_io_size, - entry->max_read_cnt, - entry->cmf_busy, - entry->io_cnt, - entry->cmf_info, - entry->timer_utilization, - entry->timer_interval); - } - - if (head != last) { - start = 0; - last = head; - goto get_table; - } -out: - return simple_read_from_buffer(buf, nbytes, ppos, buffer, len); + return simple_read_from_buffer(buf, nbytes, ppos, buffer, + strlen(buffer)); } static int --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc_debugfs.h +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc_debugfs.h @@ -282,7 +282,7 @@ void *ptr_private; }; -#define MAX_DEBUGFS_RX_TABLE_SIZE (128 * LPFC_MAX_RXMONITOR_ENTRY) +#define MAX_DEBUGFS_RX_INFO_SIZE (128 * LPFC_MAX_RXMONITOR_ENTRY) struct lpfc_rx_monitor_debug { char *i_private; char *buffer; --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc_els.c +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc_els.c @@ -1790,18 +1790,20 @@ /* Move this back to NPR state */ if (memcmp(&ndlp->nlp_portname, name, sizeof(struct lpfc_name)) == 0) { - /* The new_ndlp is replacing ndlp totally, so we need - * to put ndlp on UNUSED list and try to free it. + /* The ndlp doesn't have a portname yet, but does have an + * NPort ID. The new_ndlp portname matches the Rport's + * portname. Reinstantiate the new_ndlp and reset the ndlp. */ lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS, "3179 PLOGI confirm NEW: %x %x\n", new_ndlp->nlp_DID, keepDID); /* Two ndlps cannot have the same did on the nodelist. - * Note: for this case, ndlp has a NULL WWPN so setting - * the nlp_fc4_type isn't required. + * The KeepDID and keep_nlp_fc4_type need to be swapped + * because ndlp is inflight with no WWPN. */ ndlp->nlp_DID = keepDID; + ndlp->nlp_fc4_type = keep_nlp_fc4_type; lpfc_nlp_set_state(vport, ndlp, keep_nlp_state); if (phba->sli_rev == LPFC_SLI_REV4 && active_rrqs_xri_bitmap) @@ -1816,9 +1818,8 @@ lpfc_unreg_rpi(vport, ndlp); - /* Two ndlps cannot have the same did and the fc4 - * type must be transferred because the ndlp is in - * flight. + /* The ndlp and new_ndlp both have WWPNs but are swapping + * NPort Ids and attributes. */ ndlp->nlp_DID = keepDID; ndlp->nlp_fc4_type = keep_nlp_fc4_type; @@ -1886,7 +1887,6 @@ else { spin_lock_irq(shost->host_lock); vport->fc_flag &= ~FC_RSCN_MODE; - vport->fc_flag |= FC_RSCN_MEMENTO; spin_unlock_irq(shost->host_lock); } } @@ -2434,14 +2434,13 @@ u32 local_nlp_type, elscmd; /* - * If discovery was kicked off from RSCN mode, - * the FC4 types supported from a + * If we are in RSCN mode, the FC4 types supported from a * previous GFT_ID command may not be accurate. So, if we * are a NVME Initiator, always look for the possibility of * the remote NPort beng a NVME Target. */ if (phba->sli_rev == LPFC_SLI_REV4 && - vport->fc_flag & (FC_RSCN_MODE | FC_RSCN_MEMENTO) && + vport->fc_flag & FC_RSCN_MODE && vport->nvmei_support) ndlp->nlp_fc4_type |= NLP_FC4_NVME; local_nlp_type = ndlp->nlp_fc4_type; @@ -7915,7 +7914,6 @@ if ((rscn_cnt < FC_MAX_HOLD_RSCN) && !(vport->fc_flag & FC_RSCN_DISCOVERY)) { vport->fc_flag |= FC_RSCN_MODE; - vport->fc_flag &= ~FC_RSCN_MEMENTO; spin_unlock_irq(shost->host_lock); if (rscn_cnt) { cmd = vport->fc_rscn_id_list[rscn_cnt-1]->virt; @@ -7965,7 +7963,6 @@ spin_lock_irq(shost->host_lock); vport->fc_flag |= FC_RSCN_MODE; - vport->fc_flag &= ~FC_RSCN_MEMENTO; spin_unlock_irq(shost->host_lock); vport->fc_rscn_id_list[vport->fc_rscn_id_cnt++] = pcmd; /* Indicate we are done walking fc_rscn_id_list on this vport */ --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc_hbadisc.c +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc_hbadisc.c @@ -1354,8 +1354,7 @@ spin_lock_irq(shost->host_lock); vport->fc_flag &= ~(FC_PT2PT | FC_PT2PT_PLOGI | FC_ABORT_DISCOVERY | - FC_RSCN_MEMENTO | FC_RSCN_MODE | - FC_NLP_MORE | FC_RSCN_DISCOVERY); + FC_RSCN_MODE | FC_NLP_MORE | FC_RSCN_DISCOVERY); vport->fc_flag |= FC_NDISC_ACTIVE; vport->fc_ns_retry = 0; spin_unlock_irq(shost->host_lock); @@ -2965,7 +2964,7 @@ uint32_t boot_flag, addr_mode; uint16_t next_fcf_index, fcf_index; uint16_t current_fcf_index; - uint16_t vlan_id; + uint16_t vlan_id = LPFC_FCOE_NULL_VID; int rc; /* If link state is not up, stop the roundrobin failover process */ @@ -3070,7 +3069,7 @@ struct fcf_record *new_fcf_record; uint32_t boot_flag, addr_mode; uint16_t fcf_index, next_fcf_index; - uint16_t vlan_id; + uint16_t vlan_id = LPFC_FCOE_NULL_VID; int rc; /* If link state is not up, no need to proceed */ --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc_hw4.h +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc_hw4.h @@ -4736,7 +4736,6 @@ uint32_t rsvd_12_15[4]; /* word 12-15 */ }; -#define INHIBIT_ABORT 1 #define T_REQUEST_TAG 3 #define T_XRI_TAG 1 --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc_ids.h +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc_ids.h @@ -1,7 +1,7 @@ /******************************************************************* * This file is part of the Emulex Linux Device Driver for * * Fibre Channel Host Bus Adapters. * - * Copyright (C) 2017-2021 Broadcom. All Rights Reserved. The term * + * Copyright (C) 2017-2022 Broadcom. All Rights Reserved. The term * * “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. * * Copyright (C) 2004-2016 Emulex. All rights reserved. * * EMULEX and SLI are trademarks of Emulex. * --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc_init.c +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc_init.c @@ -325,8 +325,7 @@ prog_id_word = pmboxq->u.mb.un.varWords[7]; /* Decode the Option rom version word to a readable string */ - if (prg->dist < 4) - dist = dist_char[prg->dist]; + dist = dist_char[prg->dist]; if ((prg->dist == 3) && (prg->num == 0)) snprintf(phba->OptionROMVersion, 32, "%d.%d%d", @@ -2255,6 +2254,101 @@ return; } +static void +lpfc_fill_vpd(struct lpfc_hba *phba, uint8_t *vpd, int length, int *pindex) +{ + int i, j; + + while (length > 0) { + /* Look for Serial Number */ + if ((vpd[*pindex] == 'S') && (vpd[*pindex + 1] == 'N')) { + *pindex += 2; + i = vpd[*pindex]; + *pindex += 1; + j = 0; + length -= (3+i); + while (i--) { + phba->SerialNumber[j++] = vpd[(*pindex)++]; + if (j == 31) + break; + } + phba->SerialNumber[j] = 0; + continue; + } else if ((vpd[*pindex] == 'V') && (vpd[*pindex + 1] == '1')) { + phba->vpd_flag |= VPD_MODEL_DESC; + *pindex += 2; + i = vpd[*pindex]; + *pindex += 1; + j = 0; + length -= (3+i); + while (i--) { + phba->ModelDesc[j++] = vpd[(*pindex)++]; + if (j == 255) + break; + } + phba->ModelDesc[j] = 0; + continue; + } else if ((vpd[*pindex] == 'V') && (vpd[*pindex + 1] == '2')) { + phba->vpd_flag |= VPD_MODEL_NAME; + *pindex += 2; + i = vpd[*pindex]; + *pindex += 1; + j = 0; + length -= (3+i); + while (i--) { + phba->ModelName[j++] = vpd[(*pindex)++]; + if (j == 79) + break; + } + phba->ModelName[j] = 0; + continue; + } else if ((vpd[*pindex] == 'V') && (vpd[*pindex + 1] == '3')) { + phba->vpd_flag |= VPD_PROGRAM_TYPE; + *pindex += 2; + i = vpd[*pindex]; + *pindex += 1; + j = 0; + length -= (3+i); + while (i--) { + phba->ProgramType[j++] = vpd[(*pindex)++]; + if (j == 255) + break; + } + phba->ProgramType[j] = 0; + continue; + } else if ((vpd[*pindex] == 'V') && (vpd[*pindex + 1] == '4')) { + phba->vpd_flag |= VPD_PORT; + *pindex += 2; + i = vpd[*pindex]; + *pindex += 1; + j = 0; + length -= (3 + i); + while (i--) { + if ((phba->sli_rev == LPFC_SLI_REV4) && + (phba->sli4_hba.pport_name_sta == + LPFC_SLI4_PPNAME_GET)) { + j++; + (*pindex)++; + } else + phba->Port[j++] = vpd[(*pindex)++]; + if (j == 19) + break; + } + if ((phba->sli_rev != LPFC_SLI_REV4) || + (phba->sli4_hba.pport_name_sta == + LPFC_SLI4_PPNAME_NON)) + phba->Port[j] = 0; + continue; + } else { + *pindex += 2; + i = vpd[*pindex]; + *pindex += 1; + *pindex += i; + length -= (3 + i); + } + } +} + /** * lpfc_parse_vpd - Parse VPD (Vital Product Data) * @phba: pointer to lpfc hba data structure. @@ -2274,7 +2368,7 @@ { uint8_t lenlo, lenhi; int Length; - int i, j; + int i; int finished = 0; int index = 0; @@ -2307,101 +2401,10 @@ Length = ((((unsigned short)lenhi) << 8) + lenlo); if (Length > len - index) Length = len - index; - while (Length > 0) { - /* Look for Serial Number */ - if ((vpd[index] == 'S') && (vpd[index+1] == 'N')) { - index += 2; - i = vpd[index]; - index += 1; - j = 0; - Length -= (3+i); - while(i--) { - phba->SerialNumber[j++] = vpd[index++]; - if (j == 31) - break; - } - phba->SerialNumber[j] = 0; - continue; - } - else if ((vpd[index] == 'V') && (vpd[index+1] == '1')) { - phba->vpd_flag |= VPD_MODEL_DESC; - index += 2; - i = vpd[index]; - index += 1; - j = 0; - Length -= (3+i); - while(i--) { - phba->ModelDesc[j++] = vpd[index++]; - if (j == 255) - break; - } - phba->ModelDesc[j] = 0; - continue; - } - else if ((vpd[index] == 'V') && (vpd[index+1] == '2')) { - phba->vpd_flag |= VPD_MODEL_NAME; - index += 2; - i = vpd[index]; - index += 1; - j = 0; - Length -= (3+i); - while(i--) { - phba->ModelName[j++] = vpd[index++]; - if (j == 79) - break; - } - phba->ModelName[j] = 0; - continue; - } - else if ((vpd[index] == 'V') && (vpd[index+1] == '3')) { - phba->vpd_flag |= VPD_PROGRAM_TYPE; - index += 2; - i = vpd[index]; - index += 1; - j = 0; - Length -= (3+i); - while(i--) { - phba->ProgramType[j++] = vpd[index++]; - if (j == 255) - break; - } - phba->ProgramType[j] = 0; - continue; - } - else if ((vpd[index] == 'V') && (vpd[index+1] == '4')) { - phba->vpd_flag |= VPD_PORT; - index += 2; - i = vpd[index]; - index += 1; - j = 0; - Length -= (3+i); - while(i--) { - if ((phba->sli_rev == LPFC_SLI_REV4) && - (phba->sli4_hba.pport_name_sta == - LPFC_SLI4_PPNAME_GET)) { - j++; - index++; - } else - phba->Port[j++] = vpd[index++]; - if (j == 19) - break; - } - if ((phba->sli_rev != LPFC_SLI_REV4) || - (phba->sli4_hba.pport_name_sta == - LPFC_SLI4_PPNAME_NON)) - phba->Port[j] = 0; - continue; - } - else { - index += 2; - i = vpd[index]; - index += 1; - index += i; - Length -= (3 + i); - } - } - finished = 0; - break; + + lpfc_fill_vpd(phba, vpd, Length, &index); + finished = 0; + break; case 0x78: finished = 1; break; @@ -4821,7 +4824,7 @@ rc = lpfc_vmid_res_alloc(phba, vport); if (rc) - goto out; + goto out_put_shost; /* Initialize all internally managed lists. */ INIT_LIST_HEAD(&vport->fc_nodes); @@ -4839,16 +4842,17 @@ error = scsi_add_host_with_dma(shost, dev, &phba->pcidev->dev); if (error) - goto out_put_shost; + goto out_free_vmid; spin_lock_irq(&phba->port_list_lock); list_add_tail(&vport->listentry, &phba->port_list); spin_unlock_irq(&phba->port_list_lock); return vport; -out_put_shost: +out_free_vmid: kfree(vport->vmid); bitmap_free(vport->vmid_priority_range); +out_put_shost: scsi_host_put(shost); out: return NULL; @@ -5571,38 +5575,12 @@ void lpfc_cgn_dump_rxmonitor(struct lpfc_hba *phba) { - struct rxtable_entry *entry; - int cnt = 0, head, tail, last, start; - - head = atomic_read(&phba->rxtable_idx_head); - tail = atomic_read(&phba->rxtable_idx_tail); - if (!phba->rxtable || head == tail) { - lpfc_printf_log(phba, KERN_ERR, LOG_CGN_MGMT, - "4411 Rxtable is empty\n"); - return; - } - last = tail; - start = head; - - /* Display the last LPFC_MAX_RXMONITOR_DUMP entries from the rxtable */ - while (start != last) { - if (start) - start--; - else - start = LPFC_MAX_RXMONITOR_ENTRY - 1; - entry = &phba->rxtable[start]; + if (!phba->rx_monitor) { lpfc_printf_log(phba, KERN_INFO, LOG_CGN_MGMT, - "4410 %02d: MBPI %lld Xmit %lld Cmpl %lld " - "Lat %lld ASz %lld Info %02d BWUtil %d " - "Int %d slot %d\n", - cnt, entry->max_bytes_per_interval, - entry->total_bytes, entry->rcv_bytes, - entry->avg_io_latency, entry->avg_io_size, - entry->cmf_info, entry->timer_utilization, - entry->timer_interval, start); - cnt++; - if (cnt >= LPFC_MAX_RXMONITOR_DUMP) - return; + "4411 Rx Monitor Info is empty.\n"); + } else { + lpfc_rx_monitor_report(phba, phba->rx_monitor, NULL, 0, + LPFC_MAX_RXMONITOR_DUMP); } } @@ -6009,9 +5987,8 @@ { struct lpfc_hba *phba = container_of(timer, struct lpfc_hba, cmf_timer); - struct rxtable_entry *entry; + struct rx_info_entry entry; uint32_t io_cnt; - uint32_t head, tail; uint32_t busy, max_read; uint64_t total, rcv, lat, mbpi, extra, cnt; int timer_interval = LPFC_CMF_INTERVAL; @@ -6131,40 +6108,30 @@ } /* Save rxmonitor information for debug */ - if (phba->rxtable) { - head = atomic_xchg(&phba->rxtable_idx_head, - LPFC_RXMONITOR_TABLE_IN_USE); - entry = &phba->rxtable[head]; - entry->total_bytes = total; - entry->cmf_bytes = total + extra; - entry->rcv_bytes = rcv; - entry->cmf_busy = busy; - entry->cmf_info = phba->cmf_active_info; + if (phba->rx_monitor) { + entry.total_bytes = total; + entry.cmf_bytes = total + extra; + entry.rcv_bytes = rcv; + entry.cmf_busy = busy; + entry.cmf_info = phba->cmf_active_info; if (io_cnt) { - entry->avg_io_latency = div_u64(lat, io_cnt); - entry->avg_io_size = div_u64(rcv, io_cnt); + entry.avg_io_latency = div_u64(lat, io_cnt); + entry.avg_io_size = div_u64(rcv, io_cnt); } else { - entry->avg_io_latency = 0; - entry->avg_io_size = 0; + entry.avg_io_latency = 0; + entry.avg_io_size = 0; } - entry->max_read_cnt = max_read; - entry->io_cnt = io_cnt; - entry->max_bytes_per_interval = mbpi; + entry.max_read_cnt = max_read; + entry.io_cnt = io_cnt; + entry.max_bytes_per_interval = mbpi; if (phba->cmf_active_mode == LPFC_CFG_MANAGED) - entry->timer_utilization = phba->cmf_last_ts; + entry.timer_utilization = phba->cmf_last_ts; else - entry->timer_utilization = ms; - entry->timer_interval = ms; + entry.timer_utilization = ms; + entry.timer_interval = ms; phba->cmf_last_ts = 0; - /* Increment rxtable index */ - head = (head + 1) % LPFC_MAX_RXMONITOR_ENTRY; - tail = atomic_read(&phba->rxtable_idx_tail); - if (head == tail) { - tail = (tail + 1) % LPFC_MAX_RXMONITOR_ENTRY; - atomic_set(&phba->rxtable_idx_tail, tail); - } - atomic_set(&phba->rxtable_idx_head, head); + lpfc_rx_monitor_record(phba->rx_monitor, &entry); } if (phba->cmf_active_mode == LPFC_CFG_MONITOR) { @@ -8061,7 +8028,7 @@ /* Allocate device driver memory */ rc = lpfc_mem_alloc(phba, SGL_ALIGN_SZ); if (rc) - return -ENOMEM; + goto out_destroy_workqueue; /* IF Type 2 ports get initialized now. */ if (bf_get(lpfc_sli_intf_if_type, &phba->sli4_hba.sli_intf) >= @@ -8323,8 +8290,10 @@ &phba->pcidev->dev, phba->cfg_sg_dma_buf_size, i, 0); - if (!phba->lpfc_sg_dma_buf_pool) + if (!phba->lpfc_sg_dma_buf_pool) { + rc = -ENOMEM; goto out_free_bsmbx; + } phba->lpfc_cmd_rsp_buf_pool = dma_pool_create("lpfc_cmd_rsp_buf_pool", @@ -8332,8 +8301,10 @@ sizeof(struct fcp_cmnd) + sizeof(struct fcp_rsp), i, 0); - if (!phba->lpfc_cmd_rsp_buf_pool) + if (!phba->lpfc_cmd_rsp_buf_pool) { + rc = -ENOMEM; goto out_free_sg_dma_buf; + } mempool_free(mboxq, phba->mbox_mem_pool); @@ -8489,6 +8460,9 @@ lpfc_destroy_bootstrap_mbox(phba); out_free_mem: lpfc_mem_free(phba); +out_destroy_workqueue: + destroy_workqueue(phba->wq); + phba->wq = NULL; return rc; } @@ -12420,7 +12394,7 @@ for (i = 0; i < phba->cfg_irq_chann; i++) { eqhdl = lpfc_get_eq_hdl(i); - eqhdl->irq = LPFC_VECTOR_MAP_EMPTY; + eqhdl->irq = LPFC_IRQ_EMPTY; eqhdl->phba = phba; } } @@ -12793,7 +12767,7 @@ static void lpfc_cpuhp_remove(struct lpfc_hba *phba) { - if (phba->pport->fc_flag & FC_OFFLINE_MODE) + if (phba->pport && (phba->pport->fc_flag & FC_OFFLINE_MODE)) return; __lpfc_cpuhp_remove(phba); @@ -13057,9 +13031,17 @@ LPFC_DRIVER_HANDLER_NAME"%d", index); eqhdl->idx = index; - rc = request_irq(pci_irq_vector(phba->pcidev, index), - &lpfc_sli4_hba_intr_handler, 0, - name, eqhdl); + rc = pci_irq_vector(phba->pcidev, index); + if (rc < 0) { + lpfc_printf_log(phba, KERN_WARNING, LOG_INIT, + "0489 MSI-X fast-path (%d) " + "pci_irq_vec failed (%d)\n", index, rc); + goto cfg_fail_out; + } + eqhdl->irq = rc; + + rc = request_irq(eqhdl->irq, &lpfc_sli4_hba_intr_handler, 0, + name, eqhdl); if (rc) { lpfc_printf_log(phba, KERN_WARNING, LOG_INIT, "0486 MSI-X fast-path (%d) " @@ -13067,8 +13049,6 @@ goto cfg_fail_out; } - eqhdl->irq = pci_irq_vector(phba->pcidev, index); - if (aff_mask) { /* If found a neighboring online cpu, set affinity */ if (cpu_select < nr_cpu_ids) @@ -13185,7 +13165,14 @@ } eqhdl = lpfc_get_eq_hdl(0); - eqhdl->irq = pci_irq_vector(phba->pcidev, 0); + rc = pci_irq_vector(phba->pcidev, 0); + if (rc < 0) { + pci_free_irq_vectors(phba->pcidev); + lpfc_printf_log(phba, KERN_WARNING, LOG_INIT, + "0496 MSI pci_irq_vec failed (%d)\n", rc); + return rc; + } + eqhdl->irq = rc; cpu = cpumask_first(cpu_present_mask); lpfc_assign_eq_map_info(phba, 0, LPFC_CPU_FIRST_IRQ, cpu); @@ -13212,8 +13199,8 @@ * MSI-X -> MSI -> IRQ. * * Return codes - * 0 - successful - * other values - error + * Interrupt mode (2, 1, 0) - successful + * LPFC_INTR_ERROR - error **/ static uint32_t lpfc_sli4_enable_intr(struct lpfc_hba *phba, uint32_t cfg_mode) @@ -13258,7 +13245,14 @@ intr_mode = 0; eqhdl = lpfc_get_eq_hdl(0); - eqhdl->irq = pci_irq_vector(phba->pcidev, 0); + retval = pci_irq_vector(phba->pcidev, 0); + if (retval < 0) { + lpfc_printf_log(phba, KERN_WARNING, LOG_INIT, + "0502 INTR pci_irq_vec failed (%d)\n", + retval); + return LPFC_INTR_ERROR; + } + eqhdl->irq = retval; cpu = cpumask_first(cpu_present_mask); lpfc_assign_eq_map_info(phba, 0, LPFC_CPU_FIRST_IRQ, --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc_mem.c +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc_mem.c @@ -344,9 +344,12 @@ phba->cgn_i = NULL; } - /* Free RX table */ - kfree(phba->rxtable); - phba->rxtable = NULL; + /* Free RX Monitor */ + if (phba->rx_monitor) { + lpfc_rx_monitor_destroy_ring(phba->rx_monitor); + kfree(phba->rx_monitor); + phba->rx_monitor = NULL; + } /* Free the iocb lookup array */ kfree(psli->iocbq_lookup); --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc_nvme.c +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc_nvme.c @@ -2824,6 +2824,7 @@ wcqep->word0 = 0; bf_set(lpfc_wcqe_c_status, wcqep, stat); wcqep->parameter = param; + wcqep->total_data_placed = 0; wcqep->word3 = 0; /* xb is 0 */ /* Call release with XB=1 to queue the IO into the abort list. */ --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc_nvmet.c +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc_nvmet.c @@ -3337,46 +3337,6 @@ return 1; } -/** - * lpfc_nvmet_prep_abort_wqe - set up 'abort' work queue entry. - * @pwqeq: Pointer to command iocb. - * @xritag: Tag that uniqely identifies the local exchange resource. - * @opt: Option bits - - * bit 0 = inhibit sending abts on the link - * - * This function is called with hbalock held. - **/ -static void -lpfc_nvmet_prep_abort_wqe(struct lpfc_iocbq *pwqeq, u16 xritag, u8 opt) -{ - union lpfc_wqe128 *wqe = &pwqeq->wqe; - - /* WQEs are reused. Clear stale data and set key fields to - * zero like ia, iaab, iaar, xri_tag, and ctxt_tag. - */ - memset(wqe, 0, sizeof(*wqe)); - - if (opt & INHIBIT_ABORT) - bf_set(abort_cmd_ia, &wqe->abort_cmd, 1); - /* Abort specified xri tag, with the mask deliberately zeroed */ - bf_set(abort_cmd_criteria, &wqe->abort_cmd, T_XRI_TAG); - - bf_set(wqe_cmnd, &wqe->abort_cmd.wqe_com, CMD_ABORT_XRI_CX); - - /* Abort the I/O associated with this outstanding exchange ID. */ - wqe->abort_cmd.wqe_com.abort_tag = xritag; - - /* iotag for the wqe completion. */ - bf_set(wqe_reqtag, &wqe->abort_cmd.wqe_com, pwqeq->iotag); - - bf_set(wqe_qosd, &wqe->abort_cmd.wqe_com, 1); - bf_set(wqe_lenloc, &wqe->abort_cmd.wqe_com, LPFC_WQE_LENLOC_NONE); - - bf_set(wqe_cmd_type, &wqe->abort_cmd.wqe_com, OTHER_COMMAND); - bf_set(wqe_wqec, &wqe->abort_cmd.wqe_com, 1); - bf_set(wqe_cqid, &wqe->abort_cmd.wqe_com, LPFC_WQE_CQ_ID_DEFAULT); -} - static int lpfc_nvmet_sol_fcp_issue_abort(struct lpfc_hba *phba, struct lpfc_async_xchg_ctx *ctxp, @@ -3386,7 +3346,7 @@ struct lpfc_iocbq *abts_wqeq; struct lpfc_nodelist *ndlp; unsigned long flags; - u8 opt; + bool ia; int rc; tgtp = (struct lpfc_nvmet_tgtport *)phba->targetport->private; @@ -3426,7 +3386,7 @@ } abts_wqeq = ctxp->abort_wqeq; ctxp->state = LPFC_NVME_STE_ABORT; - opt = (ctxp->flag & LPFC_NVME_ABTS_RCV) ? INHIBIT_ABORT : 0; + ia = (ctxp->flag & LPFC_NVME_ABTS_RCV) ? true : false; spin_unlock_irqrestore(&ctxp->ctxlock, flags); /* Announce entry to new IO submit field. */ @@ -3472,7 +3432,9 @@ /* Ready - mark outstanding as aborted by driver. */ abts_wqeq->cmd_flag |= LPFC_DRIVER_ABORTED; - lpfc_nvmet_prep_abort_wqe(abts_wqeq, ctxp->wqeq->sli4_xritag, opt); + lpfc_sli_prep_abort_xri(phba, abts_wqeq, ctxp->wqeq->sli4_xritag, + abts_wqeq->iotag, CLASS3, + LPFC_WQE_CQ_ID_DEFAULT, ia, true); /* ABTS WQE must go to the same WQ as the WQE to be aborted */ abts_wqeq->hba_wqidx = ctxp->wqeq->hba_wqidx; --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc_scsi.c +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc_scsi.c @@ -5456,7 +5456,6 @@ cur_iocbq->cmd_flag |= LPFC_IO_VMID; } } - atomic_inc(&ndlp->cmd_pending); #ifdef CONFIG_SCSI_LPFC_DEBUG_FS if (unlikely(phba->hdwqstat_on & LPFC_CHECK_SCSI_IO)) --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc_sli.c +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc_sli.c @@ -2003,10 +2003,12 @@ sync_buf->cmd_flag |= LPFC_IO_CMF; ret_val = lpfc_sli4_issue_wqe(phba, &phba->sli4_hba.hdwq[0], sync_buf); - if (ret_val) + if (ret_val) { lpfc_printf_log(phba, KERN_INFO, LOG_CGN_MGMT, "6214 Cannot issue CMF_SYNC_WQE: x%x\n", ret_val); + __lpfc_sli_release_iocbq(phba, sync_buf); + } out_unlock: spin_unlock_irqrestore(&phba->hbalock, iflags); return ret_val; @@ -6195,6 +6197,9 @@ struct lpfc_mbx_get_rsrc_extent_info *rsrc_info; LPFC_MBOXQ_t *mbox; + *extnt_count = 0; + *extnt_size = 0; + mbox = (LPFC_MBOXQ_t *) mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL); if (!mbox) return -ENOMEM; @@ -7953,6 +7958,172 @@ } /** + * lpfc_rx_monitor_create_ring - Initialize ring buffer for rx_monitor + * @rx_monitor: Pointer to lpfc_rx_info_monitor object + * @entries: Number of rx_info_entry objects to allocate in ring + * + * Return: + * 0 - Success + * ENOMEM - Failure to kmalloc + **/ +int lpfc_rx_monitor_create_ring(struct lpfc_rx_info_monitor *rx_monitor, + u32 entries) +{ + rx_monitor->ring = kmalloc_array(entries, sizeof(struct rx_info_entry), + GFP_KERNEL); + if (!rx_monitor->ring) + return -ENOMEM; + + rx_monitor->head_idx = 0; + rx_monitor->tail_idx = 0; + spin_lock_init(&rx_monitor->lock); + rx_monitor->entries = entries; + + return 0; +} + +/** + * lpfc_rx_monitor_destroy_ring - Free ring buffer for rx_monitor + * @rx_monitor: Pointer to lpfc_rx_info_monitor object + **/ +void lpfc_rx_monitor_destroy_ring(struct lpfc_rx_info_monitor *rx_monitor) +{ + spin_lock(&rx_monitor->lock); + kfree(rx_monitor->ring); + rx_monitor->ring = NULL; + rx_monitor->entries = 0; + rx_monitor->head_idx = 0; + rx_monitor->tail_idx = 0; + spin_unlock(&rx_monitor->lock); +} + +/** + * lpfc_rx_monitor_record - Insert an entry into rx_monitor's ring + * @rx_monitor: Pointer to lpfc_rx_info_monitor object + * @entry: Pointer to rx_info_entry + * + * Used to insert an rx_info_entry into rx_monitor's ring. Note that this is a + * deep copy of rx_info_entry not a shallow copy of the rx_info_entry ptr. + * + * This is called from lpfc_cmf_timer, which is in timer/softirq context. + * + * In cases of old data overflow, we do a best effort of FIFO order. + **/ +void lpfc_rx_monitor_record(struct lpfc_rx_info_monitor *rx_monitor, + struct rx_info_entry *entry) +{ + struct rx_info_entry *ring = rx_monitor->ring; + u32 *head_idx = &rx_monitor->head_idx; + u32 *tail_idx = &rx_monitor->tail_idx; + spinlock_t *ring_lock = &rx_monitor->lock; + u32 ring_size = rx_monitor->entries; + + spin_lock(ring_lock); + memcpy(&ring[*tail_idx], entry, sizeof(*entry)); + *tail_idx = (*tail_idx + 1) % ring_size; + + /* Best effort of FIFO saved data */ + if (*tail_idx == *head_idx) + *head_idx = (*head_idx + 1) % ring_size; + + spin_unlock(ring_lock); +} + +/** + * lpfc_rx_monitor_report - Read out rx_monitor's ring + * @phba: Pointer to lpfc_hba object + * @rx_monitor: Pointer to lpfc_rx_info_monitor object + * @buf: Pointer to char buffer that will contain rx monitor info data + * @buf_len: Length buf including null char + * @max_read_entries: Maximum number of entries to read out of ring + * + * Used to dump/read what's in rx_monitor's ring buffer. + * + * If buf is NULL || buf_len == 0, then it is implied that we want to log the + * information to kmsg instead of filling out buf. + * + * Return: + * Number of entries read out of the ring + **/ +u32 lpfc_rx_monitor_report(struct lpfc_hba *phba, + struct lpfc_rx_info_monitor *rx_monitor, char *buf, + u32 buf_len, u32 max_read_entries) +{ + struct rx_info_entry *ring = rx_monitor->ring; + struct rx_info_entry *entry; + u32 *head_idx = &rx_monitor->head_idx; + u32 *tail_idx = &rx_monitor->tail_idx; + spinlock_t *ring_lock = &rx_monitor->lock; + u32 ring_size = rx_monitor->entries; + u32 cnt = 0; + char tmp[DBG_LOG_STR_SZ] = {0}; + bool log_to_kmsg = (!buf || !buf_len) ? true : false; + + if (!log_to_kmsg) { + /* clear the buffer to be sure */ + memset(buf, 0, buf_len); + + scnprintf(buf, buf_len, "\t%-16s%-16s%-16s%-16s%-8s%-8s%-8s" + "%-8s%-8s%-8s%-16s\n", + "MaxBPI", "Tot_Data_CMF", + "Tot_Data_Cmd", "Tot_Data_Cmpl", + "Lat(us)", "Avg_IO", "Max_IO", "Bsy", + "IO_cnt", "Info", "BWutil(ms)"); + } + + /* Needs to be _irq because record is called from timer interrupt + * context + */ + spin_lock_irq(ring_lock); + while (*head_idx != *tail_idx) { + entry = &ring[*head_idx]; + + /* Read out this entry's data. */ + if (!log_to_kmsg) { + /* If !log_to_kmsg, then store to buf. */ + scnprintf(tmp, sizeof(tmp), + "%03d:\t%-16llu%-16llu%-16llu%-16llu%-8llu" + "%-8llu%-8llu%-8u%-8u%-8u%u(%u)\n", + *head_idx, entry->max_bytes_per_interval, + entry->cmf_bytes, entry->total_bytes, + entry->rcv_bytes, entry->avg_io_latency, + entry->avg_io_size, entry->max_read_cnt, + entry->cmf_busy, entry->io_cnt, + entry->cmf_info, entry->timer_utilization, + entry->timer_interval); + + /* Check for buffer overflow */ + if ((strlen(buf) + strlen(tmp)) >= buf_len) + break; + + /* Append entry's data to buffer */ + strlcat(buf, tmp, buf_len); + } else { + lpfc_printf_log(phba, KERN_INFO, LOG_CGN_MGMT, + "4410 %02u: MBPI %llu Xmit %llu " + "Cmpl %llu Lat %llu ASz %llu Info %02u " + "BWUtil %u Int %u slot %u\n", + cnt, entry->max_bytes_per_interval, + entry->total_bytes, entry->rcv_bytes, + entry->avg_io_latency, + entry->avg_io_size, entry->cmf_info, + entry->timer_utilization, + entry->timer_interval, *head_idx); + } + + *head_idx = (*head_idx + 1) % ring_size; + + /* Don't feed more than max_read_entries */ + cnt++; + if (cnt >= max_read_entries) + break; + } + spin_unlock_irq(ring_lock); + + return cnt; +} + +/** * lpfc_cmf_setup - Initialize idle_stat tracking * @phba: Pointer to HBA context object. * @@ -8126,19 +8297,29 @@ phba->cmf_interval_rate = LPFC_CMF_INTERVAL; /* Allocate RX Monitor Buffer */ - if (!phba->rxtable) { - phba->rxtable = kmalloc_array(LPFC_MAX_RXMONITOR_ENTRY, - sizeof(struct rxtable_entry), - GFP_KERNEL); - if (!phba->rxtable) { + if (!phba->rx_monitor) { + phba->rx_monitor = kzalloc(sizeof(*phba->rx_monitor), + GFP_KERNEL); + + if (!phba->rx_monitor) { lpfc_printf_log(phba, KERN_ERR, LOG_INIT, "2644 Failed to alloc memory " "for RX Monitor Buffer\n"); return -ENOMEM; } + + /* Instruct the rx_monitor object to instantiate its ring */ + if (lpfc_rx_monitor_create_ring(phba->rx_monitor, + LPFC_MAX_RXMONITOR_ENTRY)) { + kfree(phba->rx_monitor); + phba->rx_monitor = NULL; + lpfc_printf_log(phba, KERN_ERR, LOG_INIT, + "2645 Failed to alloc memory " + "for RX Monitor's Ring\n"); + return -ENOMEM; + } } - atomic_set(&phba->rxtable_idx_head, 0); - atomic_set(&phba->rxtable_idx_tail, 0); + return 0; } @@ -10549,6 +10730,7 @@ cmd->un.elsreq64.bdl.bdeSize = sizeof(struct ulp_bde64); cmd->un.genreq64.xmit_els_remoteID = did; /* DID */ cmd->ulpCommand = CMD_XMIT_ELS_RSP64_CX; + cmd->ulpPU = PARM_NPIV_DID; } cmd->ulpBdeCount = 1; cmd->ulpLe = 1; @@ -10855,7 +11037,8 @@ static void __lpfc_sli_prep_abort_xri_s3(struct lpfc_iocbq *cmdiocbq, u16 ulp_context, - u16 iotag, u8 ulp_class, u16 cqid, bool ia) + u16 iotag, u8 ulp_class, u16 cqid, bool ia, + bool wqec) { IOCB_t *icmd = NULL; @@ -10884,7 +11067,8 @@ static void __lpfc_sli_prep_abort_xri_s4(struct lpfc_iocbq *cmdiocbq, u16 ulp_context, - u16 iotag, u8 ulp_class, u16 cqid, bool ia) + u16 iotag, u8 ulp_class, u16 cqid, bool ia, + bool wqec) { union lpfc_wqe128 *wqe; @@ -10911,6 +11095,8 @@ bf_set(wqe_qosd, &wqe->abort_cmd.wqe_com, 1); /* Word 11 */ + if (wqec) + bf_set(wqe_wqec, &wqe->abort_cmd.wqe_com, 1); bf_set(wqe_cqid, &wqe->abort_cmd.wqe_com, cqid); bf_set(wqe_cmd_type, &wqe->abort_cmd.wqe_com, OTHER_COMMAND); } @@ -10918,10 +11104,10 @@ void lpfc_sli_prep_abort_xri(struct lpfc_hba *phba, struct lpfc_iocbq *cmdiocbq, u16 ulp_context, u16 iotag, u8 ulp_class, u16 cqid, - bool ia) + bool ia, bool wqec) { phba->__lpfc_sli_prep_abort_xri(cmdiocbq, ulp_context, iotag, ulp_class, - cqid, ia); + cqid, ia, wqec); } /** @@ -12199,7 +12385,7 @@ lpfc_sli_prep_abort_xri(phba, abtsiocbp, ulp_context, iotag, cmdiocb->iocb.ulpClass, - LPFC_WQE_CQ_ID_DEFAULT, ia); + LPFC_WQE_CQ_ID_DEFAULT, ia, false); abtsiocbp->vport = vport; @@ -12659,7 +12845,7 @@ lpfc_sli_prep_abort_xri(phba, abtsiocbq, ulp_context, iotag, iocbq->iocb.ulpClass, cqid, - ia); + ia, false); abtsiocbq->vport = vport; @@ -20549,6 +20735,7 @@ struct lpfc_mbx_wr_object *wr_object; LPFC_MBOXQ_t *mbox; int rc = 0, i = 0; + int mbox_status = 0; uint32_t shdr_status, shdr_add_status, shdr_add_status_2; uint32_t shdr_change_status = 0, shdr_csf = 0; uint32_t mbox_tmo; @@ -20594,11 +20781,15 @@ wr_object->u.request.bde_count = i; bf_set(lpfc_wr_object_write_length, &wr_object->u.request, written); if (!phba->sli4_hba.intr_enable) - rc = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL); + mbox_status = lpfc_sli_issue_mbox(phba, mbox, MBX_POLL); else { mbox_tmo = lpfc_mbox_tmo_val(phba, mbox); - rc = lpfc_sli_issue_mbox_wait(phba, mbox, mbox_tmo); + mbox_status = lpfc_sli_issue_mbox_wait(phba, mbox, mbox_tmo); } + + /* The mbox status needs to be maintained to detect MBOX_TIMEOUT. */ + rc = mbox_status; + /* The IOCTL status is embedded in the mailbox subheader. */ shdr_status = bf_get(lpfc_mbox_hdr_status, &wr_object->header.cfg_shdr.response); @@ -20613,10 +20804,6 @@ &wr_object->u.response); } - if (!phba->sli4_hba.intr_enable) - mempool_free(mbox, phba->mbox_mem_pool); - else if (rc != MBX_TIMEOUT) - mempool_free(mbox, phba->mbox_mem_pool); if (shdr_status || shdr_add_status || shdr_add_status_2 || rc) { lpfc_printf_log(phba, KERN_ERR, LOG_TRACE_EVENT, "3025 Write Object mailbox failed with " @@ -20634,6 +20821,12 @@ lpfc_log_fw_write_cmpl(phba, shdr_status, shdr_add_status, shdr_add_status_2, shdr_change_status, shdr_csf); + + if (!phba->sli4_hba.intr_enable) + mempool_free(mbox, phba->mbox_mem_pool); + else if (mbox_status != MBX_TIMEOUT) + mempool_free(mbox, phba->mbox_mem_pool); + return rc; } --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc_sli4.h +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc_sli4.h @@ -489,7 +489,7 @@ #define LPFC_SLI4_HANDLER_NAME_SZ 16 struct lpfc_hba_eq_hdl { uint32_t idx; - uint16_t irq; + int irq; char handler_name[LPFC_SLI4_HANDLER_NAME_SZ]; struct lpfc_hba *phba; struct lpfc_queue *eq; @@ -611,6 +611,8 @@ }; #define LPFC_VECTOR_MAP_EMPTY 0xffff +#define LPFC_IRQ_EMPTY 0xffffffff + /* Multi-XRI pool */ #define XRI_BATCH 8 --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc_version.h +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc_version.h @@ -20,7 +20,7 @@ * included with this package. * *******************************************************************/ -#define LPFC_DRIVER_VERSION "14.2.0.4" +#define LPFC_DRIVER_VERSION "14.2.0.5" #define LPFC_DRIVER_NAME "lpfc" /* Used for SLI 2/3 */ --- linux-gcp-5.19.0.orig/drivers/scsi/lpfc/lpfc_vmid.c +++ linux-gcp-5.19.0/drivers/scsi/lpfc/lpfc_vmid.c @@ -245,9 +245,7 @@ /* allocate the per cpu variable for holding */ /* the last access time stamp only if VMID is enabled */ if (!vmp->last_io_time) - vmp->last_io_time = __alloc_percpu(sizeof(u64), - __alignof__(struct - lpfc_vmid)); + vmp->last_io_time = alloc_percpu_gfp(u64, GFP_ATOMIC); if (!vmp->last_io_time) { hash_del(&vmp->hnode); vmp->flag = LPFC_VMID_SLOT_FREE; --- linux-gcp-5.19.0.orig/drivers/scsi/megaraid/megaraid_sas_fusion.c +++ linux-gcp-5.19.0/drivers/scsi/megaraid/megaraid_sas_fusion.c @@ -5311,7 +5311,6 @@ if (!fusion->log_to_span) { dev_err(&instance->pdev->dev, "Failed from %s %d\n", __func__, __LINE__); - kfree(instance->ctrl_context); return -ENOMEM; } } --- linux-gcp-5.19.0.orig/drivers/scsi/mpi3mr/Makefile +++ linux-gcp-5.19.0/drivers/scsi/mpi3mr/Makefile @@ -1,5 +1,5 @@ # mpi3mr makefile -obj-m += mpi3mr.o +obj-$(CONFIG_SCSI_MPI3MR) += mpi3mr.o mpi3mr-y += mpi3mr_os.o \ mpi3mr_fw.o \ mpi3mr_app.o \ --- linux-gcp-5.19.0.orig/drivers/scsi/mpi3mr/mpi3mr_app.c +++ linux-gcp-5.19.0/drivers/scsi/mpi3mr/mpi3mr_app.c @@ -293,7 +293,6 @@ static long mpi3mr_get_all_tgt_info(struct mpi3mr_ioc *mrioc, struct bsg_job *job) { - long rval = -EINVAL; u16 num_devices = 0, i = 0, size; unsigned long flags; struct mpi3mr_tgt_dev *tgtdev; @@ -304,7 +303,7 @@ if (job->request_payload.payload_len < sizeof(u32)) { dprint_bsg_err(mrioc, "%s: invalid size argument\n", __func__); - return rval; + return -EINVAL; } spin_lock_irqsave(&mrioc->tgtdev_lock, flags); @@ -312,7 +311,7 @@ num_devices++; spin_unlock_irqrestore(&mrioc->tgtdev_lock, flags); - if ((job->request_payload.payload_len == sizeof(u32)) || + if ((job->request_payload.payload_len <= sizeof(u64)) || list_empty(&mrioc->tgtdev_list)) { sg_copy_from_buffer(job->request_payload.sg_list, job->request_payload.sg_cnt, @@ -320,14 +319,14 @@ return 0; } - kern_entrylen = (num_devices - 1) * sizeof(*devmap_info); - size = sizeof(*alltgt_info) + kern_entrylen; + kern_entrylen = num_devices * sizeof(*devmap_info); + size = sizeof(u64) + kern_entrylen; alltgt_info = kzalloc(size, GFP_KERNEL); if (!alltgt_info) return -ENOMEM; devmap_info = alltgt_info->dmi; - memset((u8 *)devmap_info, 0xFF, (kern_entrylen + sizeof(*devmap_info))); + memset((u8 *)devmap_info, 0xFF, kern_entrylen); spin_lock_irqsave(&mrioc->tgtdev_lock, flags); list_for_each_entry(tgtdev, &mrioc->tgtdev_list, list) { if (i < num_devices) { @@ -344,25 +343,18 @@ num_devices = i; spin_unlock_irqrestore(&mrioc->tgtdev_lock, flags); - memcpy(&alltgt_info->num_devices, &num_devices, sizeof(num_devices)); + alltgt_info->num_devices = num_devices; - usr_entrylen = (job->request_payload.payload_len - sizeof(u32)) / sizeof(*devmap_info); + usr_entrylen = (job->request_payload.payload_len - sizeof(u64)) / + sizeof(*devmap_info); usr_entrylen *= sizeof(*devmap_info); min_entrylen = min(usr_entrylen, kern_entrylen); - if (min_entrylen && (!memcpy(&alltgt_info->dmi, devmap_info, min_entrylen))) { - dprint_bsg_err(mrioc, "%s:%d: device map info copy failed\n", - __func__, __LINE__); - rval = -EFAULT; - goto out; - } sg_copy_from_buffer(job->request_payload.sg_list, job->request_payload.sg_cnt, - alltgt_info, job->request_payload.payload_len); - rval = 0; -out: + alltgt_info, (min_entrylen + sizeof(u64))); kfree(alltgt_info); - return rval; + return 0; } /** * mpi3mr_get_change_count - Get topology change count --- linux-gcp-5.19.0.orig/drivers/scsi/mpi3mr/mpi3mr_os.c +++ linux-gcp-5.19.0/drivers/scsi/mpi3mr/mpi3mr_os.c @@ -2710,7 +2710,8 @@ } if (scmd->result != (DID_OK << 16) && (scmd->cmnd[0] != ATA_12) && - (scmd->cmnd[0] != ATA_16)) { + (scmd->cmnd[0] != ATA_16) && + mrioc->logging_level & MPI3_DEBUG_SCSI_ERROR) { ioc_info(mrioc, "%s :scmd->result 0x%x\n", __func__, scmd->result); scsi_print_command(scmd); @@ -4304,6 +4305,10 @@ mpi3mr_init_drv_cmd(&mrioc->dev_rmhs_cmds[i], MPI3MR_HOSTTAG_DEVRMCMD_MIN + i); + for (i = 0; i < MPI3MR_NUM_EVTACKCMD; i++) + mpi3mr_init_drv_cmd(&mrioc->evtack_cmds[i], + MPI3MR_HOSTTAG_EVTACKCMD_MIN + i); + if (pdev->revision) mrioc->enable_segqueue = true; --- linux-gcp-5.19.0.orig/drivers/scsi/mpt3sas/mpt3sas_base.c +++ linux-gcp-5.19.0/drivers/scsi/mpt3sas/mpt3sas_base.c @@ -2993,7 +2993,7 @@ if (ioc->is_mcpu_endpoint || sizeof(dma_addr_t) == 4 || ioc->use_32bit_dma || - dma_get_required_mask(&pdev->dev) <= 32) + dma_get_required_mask(&pdev->dev) <= DMA_BIT_MASK(32)) ioc->dma_mask = 32; /* Set 63 bit DMA mask for all SAS3 and SAS35 controllers */ else if (ioc->hba_mpi_version_belonged > MPI2_VERSION) @@ -5682,6 +5682,9 @@ } dma_pool_destroy(ioc->pcie_sgl_dma_pool); } + kfree(ioc->pcie_sg_lookup); + ioc->pcie_sg_lookup = NULL; + if (ioc->config_page) { dexitprintk(ioc, ioc_info(ioc, "config_page(0x%p): free\n", --- linux-gcp-5.19.0.orig/drivers/scsi/mpt3sas/mpt3sas_scsih.c +++ linux-gcp-5.19.0/drivers/scsi/mpt3sas/mpt3sas_scsih.c @@ -3670,6 +3670,7 @@ fw_event = list_first_entry(&ioc->fw_event_list, struct fw_event_work, list); list_del_init(&fw_event->list); + fw_event_work_put(fw_event); } spin_unlock_irqrestore(&ioc->fw_event_lock, flags); @@ -3751,7 +3752,6 @@ if (cancel_work_sync(&fw_event->work)) fw_event_work_put(fw_event); - fw_event_work_put(fw_event); } ioc->fw_events_cleanup = 0; } --- linux-gcp-5.19.0.orig/drivers/scsi/mpt3sas/mpt3sas_transport.c +++ linux-gcp-5.19.0/drivers/scsi/mpt3sas/mpt3sas_transport.c @@ -829,6 +829,8 @@ if ((sas_rphy_add(rphy))) { ioc_err(ioc, "failure at %s:%d/%s()!\n", __FILE__, __LINE__, __func__); + sas_rphy_free(rphy); + rphy = NULL; } if (mpt3sas_port->remote_identify.device_type == SAS_END_DEVICE) { --- linux-gcp-5.19.0.orig/drivers/scsi/pm8001/pm8001_hwi.c +++ linux-gcp-5.19.0/drivers/scsi/pm8001/pm8001_hwi.c @@ -3608,6 +3608,10 @@ pm8001_dbg(pm8001_ha, FAIL, " TASK NULL. RETURNING !!!\n"); return -1; } + + if (t->task_proto == SAS_PROTOCOL_INTERNAL_ABORT) + atomic_dec(&pm8001_dev->running_req); + ts = &t->task_status; if (status != 0) pm8001_dbg(pm8001_ha, FAIL, "task abort failed status 0x%x ,tag = 0x%x, scp= 0x%x\n", --- linux-gcp-5.19.0.orig/drivers/scsi/qedf/qedf_main.c +++ linux-gcp-5.19.0/drivers/scsi/qedf/qedf_main.c @@ -1921,6 +1921,27 @@ fc_vport_setlink(vn_port); } + /* Set symbolic node name */ + if (base_qedf->pdev->device == QL45xxx) + snprintf(fc_host_symbolic_name(vn_port->host), 256, + "Marvell FastLinQ 45xxx FCoE v%s", QEDF_VERSION); + + if (base_qedf->pdev->device == QL41xxx) + snprintf(fc_host_symbolic_name(vn_port->host), 256, + "Marvell FastLinQ 41xxx FCoE v%s", QEDF_VERSION); + + /* Set supported speed */ + fc_host_supported_speeds(vn_port->host) = n_port->link_supported_speeds; + + /* Set speed */ + vn_port->link_speed = n_port->link_speed; + + /* Set port type */ + fc_host_port_type(vn_port->host) = FC_PORTTYPE_NPIV; + + /* Set maxframe size */ + fc_host_maxframe_size(vn_port->host) = n_port->mfs; + QEDF_INFO(&(base_qedf->dbg_ctx), QEDF_LOG_NPIV, "vn_port=%p.\n", vn_port); @@ -3686,11 +3707,6 @@ err1: scsi_host_put(lport->host); err0: - if (qedf) { - QEDF_INFO(&qedf->dbg_ctx, QEDF_LOG_DISC, "Probe done.\n"); - - clear_bit(QEDF_PROBING, &qedf->flags); - } return rc; } --- linux-gcp-5.19.0.orig/drivers/scsi/qedi/qedi_main.c +++ linux-gcp-5.19.0/drivers/scsi/qedi/qedi_main.c @@ -2414,9 +2414,12 @@ int rval; u16 retry = 10; - if (mode == QEDI_MODE_NORMAL || mode == QEDI_MODE_SHUTDOWN) { - iscsi_host_remove(qedi->shost); + if (mode == QEDI_MODE_NORMAL) + iscsi_host_remove(qedi->shost, false); + else if (mode == QEDI_MODE_SHUTDOWN) + iscsi_host_remove(qedi->shost, true); + if (mode == QEDI_MODE_NORMAL || mode == QEDI_MODE_SHUTDOWN) { if (qedi->tmf_thread) { destroy_workqueue(qedi->tmf_thread); qedi->tmf_thread = NULL; @@ -2791,7 +2794,7 @@ #ifdef CONFIG_DEBUG_FS qedi_dbg_host_exit(&qedi->dbg_ctx); #endif - iscsi_host_remove(qedi->shost); + iscsi_host_remove(qedi->shost, false); stop_iscsi_func: qedi_ops->stop(qedi->cdev); stop_slowpath: --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_attr.c +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_attr.c @@ -2716,17 +2716,24 @@ if (!fcport) return; - /* Now that the rport has been deleted, set the fcport state to - FCS_DEVICE_DEAD */ - qla2x00_set_fcport_state(fcport, FCS_DEVICE_DEAD); + + /* + * Now that the rport has been deleted, set the fcport state to + * FCS_DEVICE_DEAD, if the fcport is still lost. + */ + if (fcport->scan_state != QLA_FCPORT_FOUND) + qla2x00_set_fcport_state(fcport, FCS_DEVICE_DEAD); /* * Transport has effectively 'deleted' the rport, clear * all local references. */ spin_lock_irqsave(host->host_lock, flags); - fcport->rport = fcport->drport = NULL; - *((fc_port_t **)rport->dd_data) = NULL; + /* Confirm port has not reappeared before clearing pointers. */ + if (rport->port_state != FC_PORTSTATE_ONLINE) { + fcport->rport = fcport->drport = NULL; + *((fc_port_t **)rport->dd_data) = NULL; + } spin_unlock_irqrestore(host->host_lock, flags); if (test_bit(ABORT_ISP_ACTIVE, &fcport->vha->dpc_flags)) @@ -2759,9 +2766,12 @@ /* * At this point all fcport's software-states are cleared. Perform any * final cleanup of firmware resources (PCBs and XCBs). + * + * Attempt to cleanup only lost devices. */ if (fcport->loop_id != FC_NO_LOOP_ID) { - if (IS_FWI2_CAPABLE(fcport->vha->hw)) { + if (IS_FWI2_CAPABLE(fcport->vha->hw) && + fcport->scan_state != QLA_FCPORT_FOUND) { if (fcport->loop_id != FC_NO_LOOP_ID) fcport->logout_on_delete = 1; @@ -2771,7 +2781,7 @@ __LINE__); qlt_schedule_sess_for_deletion(fcport); } - } else { + } else if (!IS_FWI2_CAPABLE(fcport->vha->hw)) { qla2x00_port_logout(fcport->vha, fcport); } } @@ -3319,11 +3329,34 @@ .bsg_timeout = qla24xx_bsg_timeout, }; +static uint +qla2x00_get_host_supported_speeds(scsi_qla_host_t *vha, uint speeds) +{ + uint supported_speeds = FC_PORTSPEED_UNKNOWN; + + if (speeds & FDMI_PORT_SPEED_64GB) + supported_speeds |= FC_PORTSPEED_64GBIT; + if (speeds & FDMI_PORT_SPEED_32GB) + supported_speeds |= FC_PORTSPEED_32GBIT; + if (speeds & FDMI_PORT_SPEED_16GB) + supported_speeds |= FC_PORTSPEED_16GBIT; + if (speeds & FDMI_PORT_SPEED_8GB) + supported_speeds |= FC_PORTSPEED_8GBIT; + if (speeds & FDMI_PORT_SPEED_4GB) + supported_speeds |= FC_PORTSPEED_4GBIT; + if (speeds & FDMI_PORT_SPEED_2GB) + supported_speeds |= FC_PORTSPEED_2GBIT; + if (speeds & FDMI_PORT_SPEED_1GB) + supported_speeds |= FC_PORTSPEED_1GBIT; + + return supported_speeds; +} + void qla2x00_init_host_attr(scsi_qla_host_t *vha) { struct qla_hw_data *ha = vha->hw; - u32 speeds = FC_PORTSPEED_UNKNOWN; + u32 speeds = 0, fdmi_speed = 0; fc_host_dev_loss_tmo(vha->host) = ha->port_down_retry_count; fc_host_node_name(vha->host) = wwn_to_u64(vha->node_name); @@ -3333,7 +3366,8 @@ fc_host_max_npiv_vports(vha->host) = ha->max_npiv_vports; fc_host_npiv_vports_inuse(vha->host) = ha->cur_vport_count; - speeds = qla25xx_fdmi_port_speed_capability(ha); + fdmi_speed = qla25xx_fdmi_port_speed_capability(ha); + speeds = qla2x00_get_host_supported_speeds(vha, fdmi_speed); fc_host_supported_speeds(vha->host) = speeds; } --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_bsg.c +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_bsg.c @@ -278,8 +278,8 @@ const char *type; int req_sg_cnt, rsp_sg_cnt; int rval = (DID_ERROR << 16); - uint16_t nextlid = 0; uint32_t els_cmd = 0; + int qla_port_allocated = 0; if (bsg_request->msgcode == FC_BSG_RPT_ELS) { rport = fc_bsg_to_rport(bsg_job); @@ -329,9 +329,9 @@ /* make sure the rport is logged in, * if not perform fabric login */ - if (qla2x00_fabric_login(vha, fcport, &nextlid)) { + if (atomic_read(&fcport->state) != FCS_ONLINE) { ql_dbg(ql_dbg_user, vha, 0x7003, - "Failed to login port %06X for ELS passthru.\n", + "Port %06X is not online for ELS passthru.\n", fcport->d_id.b24); rval = -EIO; goto done; @@ -348,6 +348,7 @@ goto done; } + qla_port_allocated = 1; /* Initialize all required fields of fcport */ fcport->vha = vha; fcport->d_id.b.al_pa = @@ -432,7 +433,7 @@ goto done_free_fcport; done_free_fcport: - if (bsg_request->msgcode != FC_BSG_RPT_ELS) + if (qla_port_allocated) qla2x00_free_fcport(fcport); done: return rval; @@ -2975,6 +2976,13 @@ ql_log(ql_log_info, vha, 0x708b, "%s CMD timeout. bsg ptr %p.\n", __func__, bsg_job); + + if (qla2x00_isp_reg_stat(ha)) { + ql_log(ql_log_info, vha, 0x9007, + "PCI/Register disconnect.\n"); + qla_pci_set_eeh_busy(vha); + } + /* find the bsg job from the active list of commands */ spin_lock_irqsave(&ha->hardware_lock, flags); for (que = 0; que < ha->max_req_queues; que++) { @@ -2992,7 +3000,8 @@ sp->u.bsg_job == bsg_job) { req->outstanding_cmds[cnt] = NULL; spin_unlock_irqrestore(&ha->hardware_lock, flags); - if (ha->isp_ops->abort_command(sp)) { + + if (!ha->flags.eeh_busy && ha->isp_ops->abort_command(sp)) { ql_log(ql_log_warn, vha, 0x7089, "mbx abort_command failed.\n"); bsg_reply->result = -EIO; --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_dbg.h +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_dbg.h @@ -383,5 +383,5 @@ if (ql2xextended_error_logging == 1) ql2xextended_error_logging = QL_DBG_DEFAULT1_MASK; - return (level & ql2xextended_error_logging) == level; + return level && ((level & ql2xextended_error_logging) == level); } --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_def.h +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_def.h @@ -655,7 +655,7 @@ struct iocb_resource { u8 res_type; - u8 pad; + u8 exch_cnt; u16 iocb_cnt; }; @@ -2158,6 +2158,11 @@ #define CS_IOCB_ERROR 0x31 /* Generic error for IOCB request failure */ #define CS_REJECT_RECEIVED 0x4E /* Reject received */ +#define CS_EDIF_AUTH_ERROR 0x63 /* decrypt error */ +#define CS_EDIF_PAD_LEN_ERROR 0x65 /* pad > frame size, not 4byte align */ +#define CS_EDIF_INV_REQ 0x66 /* invalid request */ +#define CS_EDIF_SPI_ERROR 0x67 /* rx frame unable to locate sa */ +#define CS_EDIF_HDR_ERROR 0x69 /* data frame != expected len */ #define CS_BAD_PAYLOAD 0x80 /* Driver defined */ #define CS_UNKNOWN 0x81 /* Driver defined */ #define CS_RETRY 0x82 /* Driver defined */ @@ -2626,7 +2631,6 @@ struct { uint32_t enable:1; /* device is edif enabled/req'd */ uint32_t app_stop:2; - uint32_t app_started:1; uint32_t aes_gmac:1; uint32_t app_sess_online:1; uint32_t tx_sa_set:1; @@ -2637,6 +2641,7 @@ uint32_t rx_rekey_cnt; uint64_t tx_bytes; uint64_t rx_bytes; + uint8_t sess_down_acked; uint8_t auth_state; uint16_t authok:1; uint16_t rekey_cnt; @@ -3204,6 +3209,8 @@ #define GFF_NVME_OFFSET 23 /* type = 28h */ struct { uint8_t fc4_features[128]; +#define FC4_FF_TARGET BIT_0 +#define FC4_FF_INITIATOR BIT_1 } gff_id; struct { uint8_t reserved; @@ -3703,6 +3710,10 @@ u16 iocbs_limit; u16 iocbs_qp_limit; u16 iocbs_used; + u16 exch_total; + u16 exch_limit; + u16 exch_used; + u16 pad; }; #define QLA_IOCB_PCT_LIMIT 95 @@ -3975,6 +3986,7 @@ /* SRB cache. */ #define SRB_MIN_REQ 128 mempool_t *srb_mempool; + u8 port_name[WWN_SIZE]; volatile struct { uint32_t mbox_int :1; @@ -4040,6 +4052,9 @@ uint32_t n2n_fw_acc_sec:1; uint32_t plogi_template_valid:1; uint32_t port_isolated:1; + uint32_t eeh_flush:2; +#define EEH_FLUSH_RDY 1 +#define EEH_FLUSH_DONE 2 } flags; uint16_t max_exchg; @@ -4074,6 +4089,7 @@ uint32_t rsp_que_len; uint32_t req_que_off; uint32_t rsp_que_off; + unsigned long eeh_jif; /* Multi queue data structs */ device_reg_t *mqiobase; @@ -4256,8 +4272,8 @@ #define IS_OEM_001(ha) ((ha)->device_type & DT_OEM_001) #define HAS_EXTENDED_IDS(ha) ((ha)->device_type & DT_EXTENDED_IDS) #define IS_CT6_SUPPORTED(ha) ((ha)->device_type & DT_CT6_SUPPORTED) -#define IS_MQUE_CAPABLE(ha) ((ha)->mqenable || IS_QLA83XX(ha) || \ - IS_QLA27XX(ha) || IS_QLA28XX(ha)) +#define IS_MQUE_CAPABLE(ha) (IS_QLA83XX(ha) || IS_QLA27XX(ha) || \ + IS_QLA28XX(ha)) #define IS_BIDI_CAPABLE(ha) \ (IS_QLA25XX(ha) || IS_QLA2031(ha) || IS_QLA27XX(ha) || IS_QLA28XX(ha)) /* Bit 21 of fw_attributes decides the MCTP capabilities */ @@ -5107,17 +5123,17 @@ (test_bit(ISP_ABORT_NEEDED, &ha->dpc_flags) || \ test_bit(LOOP_RESYNC_NEEDED, &ha->dpc_flags)) -#define QLA_VHA_MARK_BUSY(__vha, __bail) do { \ - atomic_inc(&__vha->vref_count); \ - mb(); \ - if (__vha->flags.delete_progress) { \ - atomic_dec(&__vha->vref_count); \ - wake_up(&__vha->vref_waitq); \ - __bail = 1; \ - } else { \ - __bail = 0; \ - } \ -} while (0) +static inline bool qla_vha_mark_busy(scsi_qla_host_t *vha) +{ + atomic_inc(&vha->vref_count); + mb(); + if (vha->flags.delete_progress) { + atomic_dec(&vha->vref_count); + wake_up(&vha->vref_waitq); + return true; + } + return false; +} #define QLA_VHA_MARK_NOT_BUSY(__vha) do { \ atomic_dec(&__vha->vref_count); \ --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_dfs.c +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_dfs.c @@ -235,7 +235,7 @@ uint16_t mb[MAX_IOCB_MB_REG]; int rc; struct qla_hw_data *ha = vha->hw; - u16 iocbs_used, i; + u16 iocbs_used, i, exch_used; rc = qla24xx_res_count_wait(vha, mb, SIZEOF_IOCB_MB_REG); if (rc != QLA_SUCCESS) { @@ -263,13 +263,19 @@ if (ql2xenforce_iocb_limit) { /* lock is not require. It's an estimate. */ iocbs_used = ha->base_qpair->fwres.iocbs_used; + exch_used = ha->base_qpair->fwres.exch_used; for (i = 0; i < ha->max_qpairs; i++) { - if (ha->queue_pair_map[i]) + if (ha->queue_pair_map[i]) { iocbs_used += ha->queue_pair_map[i]->fwres.iocbs_used; + exch_used += ha->queue_pair_map[i]->fwres.exch_used; + } } seq_printf(s, "Driver: estimate iocb used [%d] high water limit [%d]\n", iocbs_used, ha->base_qpair->fwres.iocbs_limit); + + seq_printf(s, "estimate exchange used[%d] high water limit [%d] n", + exch_used, ha->base_qpair->fwres.exch_limit); } return 0; --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_edif.c +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_edif.c @@ -52,6 +52,31 @@ return "unknown"; } +static struct edb_node *qla_edb_getnext(scsi_qla_host_t *vha) +{ + unsigned long flags; + struct edb_node *edbnode = NULL; + + spin_lock_irqsave(&vha->e_dbell.db_lock, flags); + + /* db nodes are fifo - no qualifications done */ + if (!list_empty(&vha->e_dbell.head)) { + edbnode = list_first_entry(&vha->e_dbell.head, + struct edb_node, list); + list_del_init(&edbnode->list); + } + + spin_unlock_irqrestore(&vha->e_dbell.db_lock, flags); + + return edbnode; +} + +static void qla_edb_node_free(scsi_qla_host_t *vha, struct edb_node *node) +{ + list_del_init(&node->list); + kfree(node); +} + static struct edif_list_entry *qla_edif_list_find_sa_index(fc_port_t *fcport, uint16_t handle) { @@ -257,14 +282,8 @@ f = NULL; list_for_each_entry_safe(f, tf, &vha->vp_fcports, list) { - if ((f->flags & FCF_FCSP_DEVICE)) { - ql_dbg(ql_dbg_edif + ql_dbg_verbose, vha, 0x2058, - "Found secure fcport - nn %8phN pn %8phN portid=0x%x, 0x%x.\n", - f->node_name, f->port_name, - f->d_id.b24, id->b24); - if (f->d_id.b24 == id->b24) - return f; - } + if (f->d_id.b24 == id->b24) + return f; } return NULL; } @@ -280,14 +299,19 @@ { /* check that the app is allow/known to the driver */ - if (appid.app_vid == EDIF_APP_ID) { - ql_dbg(ql_dbg_edif + ql_dbg_verbose, vha, 0x911d, "%s app id ok\n", __func__); - return true; + if (appid.app_vid != EDIF_APP_ID) { + ql_dbg(ql_dbg_edif, vha, 0x911d, "%s app id not ok (%x)", + __func__, appid.app_vid); + return false; + } + + if (appid.version != EDIF_VERSION1) { + ql_dbg(ql_dbg_edif, vha, 0x911d, "%s app version is not ok (%x)", + __func__, appid.version); + return false; } - ql_dbg(ql_dbg_edif, vha, 0x911d, "%s app id not ok (%x)", - __func__, appid.app_vid); - return false; + return true; } static void @@ -486,16 +510,35 @@ /* mark doorbell as active since an app is now present */ vha->e_dbell.db_flags |= EDB_ACTIVE; } else { - ql_dbg(ql_dbg_edif, vha, 0x911e, "%s doorbell already active\n", - __func__); + goto out; } if (N2N_TOPO(vha->hw)) { - if (vha->hw->flags.n2n_fw_acc_sec) - set_bit(N2N_LINK_RESET, &vha->dpc_flags); - else + list_for_each_entry_safe(fcport, tf, &vha->vp_fcports, list) + fcport->n2n_link_reset_cnt = 0; + + if (vha->hw->flags.n2n_fw_acc_sec) { + list_for_each_entry_safe(fcport, tf, &vha->vp_fcports, list) + qla_edif_sa_ctl_init(vha, fcport); + + /* + * While authentication app was not running, remote device + * could still try to login with this local port. Let's + * clear the state and try again. + */ + qla2x00_wait_for_sess_deletion(vha); + + /* bounce the link to get the other guy to relogin */ + if (!vha->hw->flags.n2n_bigger) { + set_bit(N2N_LINK_RESET, &vha->dpc_flags); + qla2xxx_wake_dpc(vha); + } + } else { + qla2x00_wait_for_hba_online(vha); set_bit(ISP_ABORT_NEEDED, &vha->dpc_flags); - qla2xxx_wake_dpc(vha); + qla2xxx_wake_dpc(vha); + qla2x00_wait_for_hba_online(vha); + } } else { list_for_each_entry_safe(fcport, tf, &vha->vp_fcports, list) { ql_dbg(ql_dbg_edif, vha, 0x2058, @@ -517,19 +560,31 @@ if (atomic_read(&vha->loop_state) == LOOP_DOWN) break; - fcport->edif.app_started = 1; fcport->login_retry = vha->hw->login_retry_count; - /* no activity */ fcport->edif.app_stop = 0; + fcport->edif.app_sess_online = 0; + + if (fcport->scan_state != QLA_FCPORT_FOUND) + continue; + + if (fcport->port_type == FCT_UNKNOWN && + !fcport->fc4_features) + rval = qla24xx_async_gffid(vha, fcport, true); + + if (!rval && !(fcport->fc4_features & FC4_FF_TARGET || + fcport->port_type & (FCT_TARGET|FCT_NVME_TARGET))) + continue; + + rval = 0; ql_dbg(ql_dbg_edif, vha, 0x911e, "%s wwpn %8phC calling qla_edif_reset_auth_wait\n", __func__, fcport->port_name); - fcport->edif.app_sess_online = 0; qlt_schedule_sess_for_deletion(fcport); qla_edif_sa_ctl_init(vha, fcport); } + set_bit(RELOGIN_NEEDED, &vha->dpc_flags); } if (vha->pur_cinfo.enode_flags != ENODE_ACTIVE) { @@ -540,9 +595,11 @@ __func__); } +out: appreply.host_support_edif = vha->hw->flags.edif_enabled; appreply.edif_enode_active = vha->pur_cinfo.enode_flags; appreply.edif_edb_active = vha->e_dbell.db_flags; + appreply.version = EDIF_VERSION1; bsg_job->reply_len = sizeof(struct fc_bsg_reply); @@ -610,9 +667,6 @@ fcport->send_els_logo = 1; qlt_schedule_sess_for_deletion(fcport); - - /* qla_edif_flush_sa_ctl_lists(fcport); */ - fcport->edif.app_started = 0; } } @@ -672,6 +726,7 @@ portid.b.area = appplogiok.u.d_id.b.area; portid.b.al_pa = appplogiok.u.d_id.b.al_pa; + appplogireply.version = EDIF_VERSION1; switch (appplogiok.type) { case PL_TYPE_WWPN: fcport = qla2x00_find_fcport_by_wwpn(vha, @@ -864,11 +919,15 @@ } else { struct fc_port *fcport = NULL, *tf; + app_reply->version = EDIF_VERSION1; + list_for_each_entry_safe(fcport, tf, &vha->vp_fcports, list) { if (!(fcport->flags & FCF_FCSP_DEVICE)) continue; - tdid = app_req.remote_pid; + tdid.b.domain = app_req.remote_pid.domain; + tdid.b.area = app_req.remote_pid.area; + tdid.b.al_pa = app_req.remote_pid.al_pa; ql_dbg(ql_dbg_edif, vha, 0x2058, "APP request entry - portid=%06x.\n", tdid.b24); @@ -880,9 +939,25 @@ if (tdid.b24 != 0 && tdid.b24 != fcport->d_id.b24) continue; - app_reply->ports[pcnt].rekey_count = - fcport->edif.rekey_cnt; + if (!N2N_TOPO(vha->hw)) { + if (fcport->scan_state != QLA_FCPORT_FOUND) + continue; + + if (fcport->port_type == FCT_UNKNOWN && + !fcport->fc4_features) + rval = qla24xx_async_gffid(vha, fcport, + true); + + if (!rval && + !(fcport->fc4_features & FC4_FF_TARGET || + fcport->port_type & + (FCT_TARGET | FCT_NVME_TARGET))) + continue; + } + rval = 0; + + app_reply->ports[pcnt].version = EDIF_VERSION1; app_reply->ports[pcnt].remote_type = VND_CMD_RTYPE_UNKNOWN; if (fcport->port_type & (FCT_NVME_TARGET | FCT_TARGET)) @@ -979,6 +1054,8 @@ } else { struct fc_port *fcport = NULL, *tf; + app_reply->version = EDIF_VERSION1; + list_for_each_entry_safe(fcport, tf, &vha->vp_fcports, list) { if (fcport->edif.enable) { if (pcnt > app_req.num_ports) @@ -1012,6 +1089,164 @@ return rval; } +static int32_t +qla_edif_ack(scsi_qla_host_t *vha, struct bsg_job *bsg_job) +{ + struct fc_port *fcport; + struct aen_complete_cmd ack; + struct fc_bsg_reply *bsg_reply = bsg_job->reply; + + sg_copy_to_buffer(bsg_job->request_payload.sg_list, + bsg_job->request_payload.sg_cnt, &ack, sizeof(ack)); + + ql_dbg(ql_dbg_edif, vha, 0x70cf, + "%s: %06x event_code %x\n", + __func__, ack.port_id.b24, ack.event_code); + + fcport = qla2x00_find_fcport_by_pid(vha, &ack.port_id); + SET_DID_STATUS(bsg_reply->result, DID_OK); + + if (!fcport) { + ql_dbg(ql_dbg_edif, vha, 0x70cf, + "%s: unable to find fcport %06x \n", + __func__, ack.port_id.b24); + return 0; + } + + switch (ack.event_code) { + case VND_CMD_AUTH_STATE_SESSION_SHUTDOWN: + fcport->edif.sess_down_acked = 1; + break; + default: + break; + } + return 0; +} + +static int qla_edif_consume_dbell(scsi_qla_host_t *vha, struct bsg_job *bsg_job) +{ + struct fc_bsg_reply *bsg_reply = bsg_job->reply; + u32 sg_skip, reply_payload_len; + bool keep; + struct edb_node *dbnode = NULL; + struct edif_app_dbell ap; + int dat_size = 0; + + sg_skip = 0; + reply_payload_len = bsg_job->reply_payload.payload_len; + + while ((reply_payload_len - sg_skip) >= sizeof(struct edb_node)) { + dbnode = qla_edb_getnext(vha); + if (dbnode) { + keep = true; + dat_size = 0; + ap.event_code = dbnode->ntype; + switch (dbnode->ntype) { + case VND_CMD_AUTH_STATE_SESSION_SHUTDOWN: + case VND_CMD_AUTH_STATE_NEEDED: + ap.port_id = dbnode->u.plogi_did; + dat_size += sizeof(ap.port_id); + break; + case VND_CMD_AUTH_STATE_ELS_RCVD: + ap.port_id = dbnode->u.els_sid; + dat_size += sizeof(ap.port_id); + break; + case VND_CMD_AUTH_STATE_SAUPDATE_COMPL: + ap.port_id = dbnode->u.sa_aen.port_id; + memcpy(&ap.event_data, &dbnode->u, + sizeof(struct edif_sa_update_aen)); + dat_size += sizeof(struct edif_sa_update_aen); + break; + default: + keep = false; + ql_log(ql_log_warn, vha, 0x09102, + "%s unknown DB type=%d %p\n", + __func__, dbnode->ntype, dbnode); + break; + } + ap.event_data_size = dat_size; + /* 8 = sizeof(ap.event_code + ap.event_data_size) */ + dat_size += 8; + if (keep) + sg_skip += sg_copy_buffer(bsg_job->reply_payload.sg_list, + bsg_job->reply_payload.sg_cnt, + &ap, dat_size, sg_skip, false); + + ql_dbg(ql_dbg_edif, vha, 0x09102, + "%s Doorbell consumed : type=%d %p\n", + __func__, dbnode->ntype, dbnode); + + kfree(dbnode); + } else { + break; + } + } + + SET_DID_STATUS(bsg_reply->result, DID_OK); + bsg_reply->reply_payload_rcv_len = sg_skip; + bsg_job->reply_len = sizeof(struct fc_bsg_reply); + + return 0; +} + +static void __qla_edif_dbell_bsg_done(scsi_qla_host_t *vha, struct bsg_job *bsg_job, + u32 delay) +{ + struct fc_bsg_reply *bsg_reply = bsg_job->reply; + + /* small sleep for doorbell events to accumulate */ + if (delay) + msleep(delay); + + qla_edif_consume_dbell(vha, bsg_job); + + bsg_job_done(bsg_job, bsg_reply->result, bsg_reply->reply_payload_rcv_len); +} + +static void qla_edif_dbell_bsg_done(scsi_qla_host_t *vha) +{ + unsigned long flags; + struct bsg_job *prev_bsg_job = NULL; + + spin_lock_irqsave(&vha->e_dbell.db_lock, flags); + if (vha->e_dbell.dbell_bsg_job) { + prev_bsg_job = vha->e_dbell.dbell_bsg_job; + vha->e_dbell.dbell_bsg_job = NULL; + } + spin_unlock_irqrestore(&vha->e_dbell.db_lock, flags); + + if (prev_bsg_job) + __qla_edif_dbell_bsg_done(vha, prev_bsg_job, 0); +} + +static int +qla_edif_dbell_bsg(scsi_qla_host_t *vha, struct bsg_job *bsg_job) +{ + unsigned long flags; + bool return_bsg = false; + + /* flush previous dbell bsg */ + qla_edif_dbell_bsg_done(vha); + + spin_lock_irqsave(&vha->e_dbell.db_lock, flags); + if (list_empty(&vha->e_dbell.head) && DBELL_ACTIVE(vha)) { + /* + * when the next db event happens, bsg_job will return. + * Otherwise, timer will return it. + */ + vha->e_dbell.dbell_bsg_job = bsg_job; + vha->e_dbell.bsg_expire = jiffies + 10 * HZ; + } else { + return_bsg = true; + } + spin_unlock_irqrestore(&vha->e_dbell.db_lock, flags); + + if (return_bsg) + __qla_edif_dbell_bsg_done(vha, bsg_job, 1); + + return 0; +} + int32_t qla_edif_app_mgmt(struct bsg_job *bsg_job) { @@ -1023,8 +1258,13 @@ bool done = true; int32_t rval = 0; uint32_t vnd_sc = bsg_request->rqst_data.h_vendor.vendor_cmd[1]; + u32 level = ql_dbg_edif; - ql_dbg(ql_dbg_edif, vha, 0x911d, "%s vnd subcmd=%x\n", + /* doorbell is high traffic */ + if (vnd_sc == QL_VND_SC_READ_DBELL) + level = 0; + + ql_dbg(level, vha, 0x911d, "%s vnd subcmd=%x\n", __func__, vnd_sc); sg_copy_to_buffer(bsg_job->request_payload.sg_list, @@ -1033,7 +1273,7 @@ if (!vha->hw->flags.edif_enabled || test_bit(VPORT_DELETE, &vha->dpc_flags)) { - ql_dbg(ql_dbg_edif, vha, 0x911d, + ql_dbg(level, vha, 0x911d, "%s edif not enabled or vp delete. bsg ptr done %p. dpc_flags %lx\n", __func__, bsg_job, vha->dpc_flags); @@ -1042,7 +1282,7 @@ } if (!qla_edif_app_check(vha, appcheck)) { - ql_dbg(ql_dbg_edif, vha, 0x911d, + ql_dbg(level, vha, 0x911d, "%s app checked failed.\n", __func__); @@ -1074,6 +1314,13 @@ case QL_VND_SC_GET_STATS: rval = qla_edif_app_getstats(vha, bsg_job); break; + case QL_VND_SC_AEN_COMPLETE: + rval = qla_edif_ack(vha, bsg_job); + break; + case QL_VND_SC_READ_DBELL: + rval = qla_edif_dbell_bsg(vha, bsg_job); + done = false; + break; default: ql_dbg(ql_dbg_edif, vha, 0x911d, "%s unknown cmd=%x\n", __func__, @@ -1085,7 +1332,7 @@ done: if (done) { - ql_dbg(ql_dbg_user, vha, 0x7009, + ql_dbg(level, vha, 0x7009, "%s: %d bsg ptr done %p\n", __func__, __LINE__, bsg_job); bsg_job_done(bsg_job, bsg_reply->result, bsg_reply->reply_payload_rcv_len); @@ -1247,6 +1494,8 @@ #define QLA_SA_UPDATE_FLAGS_RX_KEY 0x0 #define QLA_SA_UPDATE_FLAGS_TX_KEY 0x2 +#define EDIF_MSLEEP_INTERVAL 100 +#define EDIF_RETRY_COUNT 50 int qla24xx_sadb_update(struct bsg_job *bsg_job) @@ -1259,7 +1508,7 @@ struct edif_list_entry *edif_entry = NULL; int found = 0; int rval = 0; - int result = 0; + int result = 0, cnt; struct qla_sa_update_frame sa_frame; struct srb_iocb *iocb_cmd; port_id_t portid; @@ -1500,11 +1749,23 @@ sp->done = qla2x00_bsg_job_done; iocb_cmd = &sp->u.iocb_cmd; iocb_cmd->u.sa_update.sa_frame = sa_frame; - + cnt = 0; +retry: rval = qla2x00_start_sp(sp); - if (rval != QLA_SUCCESS) { + switch (rval) { + case QLA_SUCCESS: + break; + case EAGAIN: + msleep(EDIF_MSLEEP_INTERVAL); + cnt++; + if (cnt < EDIF_RETRY_COUNT) + goto retry; + + fallthrough; + default: ql_log(ql_dbg_edif, vha, 0x70e3, - "qla2x00_start_sp failed=%d.\n", rval); + "%s qla2x00_start_sp failed=%d.\n", + __func__, rval); qla2x00_rel_sp(sp); rval = -EIO; @@ -1797,30 +2058,6 @@ /* initialize lock which protects doorbell & init list */ spin_lock_init(&vha->e_dbell.db_lock); INIT_LIST_HEAD(&vha->e_dbell.head); - - /* create and initialize doorbell */ - init_completion(&vha->e_dbell.dbell); -} - -static void -qla_edb_node_free(scsi_qla_host_t *vha, struct edb_node *node) -{ - /* - * releases the space held by this edb node entry - * this function does _not_ free the edb node itself - * NB: the edb node entry passed should not be on any list - * - * currently for doorbell there's no additional cleanup - * needed, but here as a placeholder for furture use. - */ - - if (!node) { - ql_dbg(ql_dbg_edif, vha, 0x09122, - "%s error - no valid node passed\n", __func__); - return; - } - - node->ntype = N_UNDEF; } static void qla_edb_clear(scsi_qla_host_t *vha, port_id_t portid) @@ -1867,11 +2104,8 @@ } spin_unlock_irqrestore(&vha->e_dbell.db_lock, flags); - list_for_each_entry_safe(e, tmp, &edb_list, list) { + list_for_each_entry_safe(e, tmp, &edb_list, list) qla_edb_node_free(vha, e); - list_del_init(&e->list); - kfree(e); - } } /* function called when app is stopping */ @@ -1899,14 +2133,10 @@ "%s freeing edb_node type=%x\n", __func__, node->ntype); qla_edb_node_free(vha, node); - list_del(&node->list); - - kfree(node); } spin_unlock_irqrestore(&vha->e_dbell.db_lock, flags); - /* wake up doorbell waiters - they'll be dismissed with error code */ - complete_all(&vha->e_dbell.dbell); + qla_edif_dbell_bsg_done(vha); } static struct edb_node * @@ -1944,9 +2174,6 @@ list_add_tail(&ptr->list, &vha->e_dbell.head); spin_unlock_irqrestore(&vha->e_dbell.db_lock, flags); - /* ring doorbell for waiters */ - complete(&vha->e_dbell.dbell); - return true; } @@ -2010,47 +2237,29 @@ edbnode->u.sa_aen.port_id = fcport->d_id; edbnode->u.sa_aen.status = data; edbnode->u.sa_aen.key_type = data2; + edbnode->u.sa_aen.version = EDIF_VERSION1; break; default: ql_dbg(ql_dbg_edif, vha, 0x09102, "%s unknown type: %x\n", __func__, dbtype); - qla_edb_node_free(vha, edbnode); kfree(edbnode); edbnode = NULL; break; } - if (edbnode && (!qla_edb_node_add(vha, edbnode))) { + if (edbnode) { + if (!qla_edb_node_add(vha, edbnode)) { + ql_dbg(ql_dbg_edif, vha, 0x09102, + "%s unable to add dbnode\n", __func__); + kfree(edbnode); + return; + } ql_dbg(ql_dbg_edif, vha, 0x09102, - "%s unable to add dbnode\n", __func__); - qla_edb_node_free(vha, edbnode); - kfree(edbnode); - return; - } - if (edbnode && fcport) - fcport->edif.auth_state = dbtype; - ql_dbg(ql_dbg_edif, vha, 0x09102, - "%s Doorbell produced : type=%d %p\n", __func__, dbtype, edbnode); -} - -static struct edb_node * -qla_edb_getnext(scsi_qla_host_t *vha) -{ - unsigned long flags; - struct edb_node *edbnode = NULL; - - spin_lock_irqsave(&vha->e_dbell.db_lock, flags); - - /* db nodes are fifo - no qualifications done */ - if (!list_empty(&vha->e_dbell.head)) { - edbnode = list_first_entry(&vha->e_dbell.head, - struct edb_node, list); - list_del(&edbnode->list); + "%s Doorbell produced : type=%d %p\n", __func__, dbtype, edbnode); + qla_edif_dbell_bsg_done(vha); + if (fcport) + fcport->edif.auth_state = dbtype; } - - spin_unlock_irqrestore(&vha->e_dbell.db_lock, flags); - - return edbnode; } void @@ -2078,6 +2287,9 @@ ha->edif_post_stop_cnt_down = 60; } } + + if (vha->e_dbell.dbell_bsg_job && time_after_eq(jiffies, vha->e_dbell.bsg_expire)) + qla_edif_dbell_bsg_done(vha); } /* @@ -2145,7 +2357,6 @@ "%s Doorbell consumed : type=%d %p\n", __func__, dbnode->ntype, dbnode); /* we're done with the db node, so free it up */ - qla_edb_node_free(vha, dbnode); kfree(dbnode); } else { break; @@ -2161,6 +2372,7 @@ static void qla_noop_sp_done(srb_t *sp, int res) { + sp->fcport->flags &= ~(FCF_ASYNC_SENT | FCF_ASYNC_ACTIVE); /* ref: INIT */ kref_put(&sp->cmd_kref, qla2x00_sp_release); } @@ -2185,7 +2397,8 @@ if (!sa_ctl) { ql_dbg(ql_dbg_edif, vha, 0x70e6, "sa_ctl allocation failed\n"); - return -ENOMEM; + rval = -ENOMEM; + goto done; } fcport = sa_ctl->fcport; @@ -2195,7 +2408,8 @@ if (!sp) { ql_dbg(ql_dbg_edif, vha, 0x70e6, "SRB allocation failed\n"); - return -ENOMEM; + rval = -ENOMEM; + goto done; } fcport->flags |= FCF_ASYNC_SENT; @@ -2224,10 +2438,17 @@ rval = qla2x00_start_sp(sp); - if (rval != QLA_SUCCESS) - rval = QLA_FUNCTION_FAILED; + if (rval != QLA_SUCCESS) { + goto done_free_sp; + } return rval; +done_free_sp: + kref_put(&sp->cmd_kref, qla2x00_sp_release); + fcport->flags &= ~FCF_ASYNC_SENT; +done: + fcport->flags &= ~FCF_ASYNC_ACTIVE; + return rval; } void qla24xx_sa_update_iocb(srb_t *sp, struct sa_update_28xx *sa_update_iocb) @@ -2446,8 +2667,7 @@ fcport = qla2x00_find_fcport_by_pid(host, &purex->pur_info.pur_sid); - if (DBELL_INACTIVE(vha) || - (fcport && EDIF_SESSION_DOWN(fcport))) { + if (DBELL_INACTIVE(vha)) { ql_dbg(ql_dbg_edif, host, 0x0910c, "%s e_dbell.db_flags =%x %06x\n", __func__, host->e_dbell.db_flags, fcport ? fcport->d_id.b24 : 0); @@ -2457,6 +2677,22 @@ return; } + if (fcport && EDIF_SESSION_DOWN(fcport)) { + ql_dbg(ql_dbg_edif, host, 0x13b6, + "%s terminate exchange. Send logo to 0x%x\n", + __func__, a.did.b24); + + a.tx_byte_count = a.tx_len = 0; + a.tx_addr = 0; + a.control_flags = EPD_RX_XCHG; /* EPD_RX_XCHG = terminate cmd */ + qla_els_reject_iocb(host, (*rsp)->qpair, &a); + qla_enode_free(host, ptr); + /* send logo to let remote port knows to tear down session */ + fcport->send_els_logo = 1; + qlt_schedule_sess_for_deletion(fcport); + return; + } + /* add the local enode to the list */ qla_enode_add(host, ptr); @@ -2832,6 +3068,13 @@ tot_dsds = nseg; req_cnt = qla24xx_calc_iocbs(vha, tot_dsds); + + sp->iores.res_type = RESOURCE_IOCB | RESOURCE_EXCH; + sp->iores.exch_cnt = 1; + sp->iores.iocb_cnt = req_cnt; + if (qla_get_fw_resources(sp->qpair, &sp->iores)) + goto queuing_error; + if (req->cnt < (req_cnt + 2)) { cnt = IS_SHADOW_REG_CAPABLE(ha) ? *req->out_ptr : rd_reg_dword(req->req_q_out); @@ -3023,6 +3266,7 @@ mempool_free(sp->u.scmd.ct6_ctx, ha->ctx_mempool); sp->u.scmd.ct6_ctx = NULL; } + qla_put_fw_resources(sp->qpair, &sp->iores); spin_unlock_irqrestore(lock, flags); return QLA_FUNCTION_FAILED; @@ -3349,10 +3593,14 @@ fc_port_t *fcport = NULL; struct qla_hw_data *ha = vha->hw; srb_t *sp; - int rval = (DID_ERROR << 16); + int rval = (DID_ERROR << 16), cnt; port_id_t d_id; struct qla_bsg_auth_els_request *p = (struct qla_bsg_auth_els_request *)bsg_job->request; + struct qla_bsg_auth_els_reply *rpl = + (struct qla_bsg_auth_els_reply *)bsg_job->reply; + + rpl->version = EDIF_VERSION1; d_id.b.al_pa = bsg_request->rqst_data.h_els.port_id[2]; d_id.b.area = bsg_request->rqst_data.h_els.port_id[1]; @@ -3371,7 +3619,7 @@ if (qla_bsg_check(vha, bsg_job, fcport)) return 0; - if (fcport->loop_id == FC_NO_LOOP_ID) { + if (EDIF_SESS_DELETE(fcport)) { ql_dbg(ql_dbg_edif, vha, 0x910d, "%s ELS code %x, no loop id.\n", __func__, bsg_request->rqst_data.r_els.els_code); @@ -3440,17 +3688,26 @@ sp->free = qla2x00_bsg_sp_free; sp->done = qla2x00_bsg_job_done; + cnt = 0; +retry: rval = qla2x00_start_sp(sp); - - ql_dbg(ql_dbg_edif, vha, 0x700a, - "%s %s %8phN xchg %x ctlflag %x hdl %x reqlen %xh bsg ptr %p\n", - __func__, sc_to_str(p->e.sub_cmd), fcport->port_name, - p->e.extra_rx_xchg_address, p->e.extra_control_flags, - sp->handle, sp->remap.req.len, bsg_job); - - if (rval != QLA_SUCCESS) { + switch (rval) { + case QLA_SUCCESS: + ql_dbg(ql_dbg_edif, vha, 0x700a, + "%s %s %8phN xchg %x ctlflag %x hdl %x reqlen %xh bsg ptr %p\n", + __func__, sc_to_str(p->e.sub_cmd), fcport->port_name, + p->e.extra_rx_xchg_address, p->e.extra_control_flags, + sp->handle, sp->remap.req.len, bsg_job); + break; + case EAGAIN: + msleep(EDIF_MSLEEP_INTERVAL); + cnt++; + if (cnt < EDIF_RETRY_COUNT) + goto retry; + fallthrough; + default: ql_log(ql_log_warn, vha, 0x700e, - "qla2x00_start_sp failed = %d\n", rval); + "%s qla2x00_start_sp failed = %d\n", __func__, rval); SET_DID_STATUS(bsg_reply->result, DID_IMM_RETRY); rval = -EIO; goto done_free_remap_rsp; @@ -3472,14 +3729,29 @@ void qla_edif_sess_down(struct scsi_qla_host *vha, struct fc_port *sess) { + u16 cnt = 0; + if (sess->edif.app_sess_online && DBELL_ACTIVE(vha)) { ql_dbg(ql_dbg_disc, vha, 0xf09c, "%s: sess %8phN send port_offline event\n", __func__, sess->port_name); sess->edif.app_sess_online = 0; + sess->edif.sess_down_acked = 0; qla_edb_eventcreate(vha, VND_CMD_AUTH_STATE_SESSION_SHUTDOWN, sess->d_id.b24, 0, sess); qla2x00_post_aen_work(vha, FCH_EVT_PORT_OFFLINE, sess->d_id.b24); + + while (!READ_ONCE(sess->edif.sess_down_acked) && + !test_bit(VPORT_DELETE, &vha->dpc_flags)) { + msleep(100); + cnt++; + if (cnt > 100) + break; + } + sess->edif.sess_down_acked = 0; + ql_dbg(ql_dbg_disc, vha, 0xf09c, + "%s: sess %8phN port_offline event completed\n", + __func__, sess->port_name); } } --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_edif.h +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_edif.h @@ -51,7 +51,8 @@ enum db_flags_t db_flags; spinlock_t db_lock; struct list_head head; - struct completion dbell; + struct bsg_job *dbell_bsg_job; + unsigned long bsg_expire; }; #define SA_UPDATE_IOCB_TYPE 0x71 /* Security Association Update IOCB entry */ @@ -140,4 +141,8 @@ (DBELL_ACTIVE(_fcport->vha) && \ (_fcport->disc_state == DSC_LOGIN_AUTH_PEND)) +#define EDIF_SESS_DELETE(_s) \ + (qla_ini_mode_enabled(_s->vha) && (_s->disc_state == DSC_DELETE_PEND || \ + _s->disc_state == DSC_DELETED)) + #endif /* __QLA_EDIF_H */ --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_edif_bsg.h +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_edif_bsg.h @@ -7,13 +7,15 @@ #ifndef __QLA_EDIF_BSG_H #define __QLA_EDIF_BSG_H +#define EDIF_VERSION1 1 + /* BSG Vendor specific commands */ #define ELS_MAX_PAYLOAD 2112 #ifndef WWN_SIZE #define WWN_SIZE 8 #endif -#define VND_CMD_APP_RESERVED_SIZE 32 - +#define VND_CMD_APP_RESERVED_SIZE 28 +#define VND_CMD_PAD_SIZE 3 enum auth_els_sub_cmd { SEND_ELS = 0, SEND_ELS_REPLY, @@ -28,7 +30,9 @@ #define BSG_CTL_FLAG_LS_ACC 1 #define BSG_CTL_FLAG_LS_RJT 2 #define BSG_CTL_FLAG_TRM 3 - uint8_t extra_rsvd[3]; + uint8_t version; + uint8_t pad[2]; + uint8_t reserved[VND_CMD_APP_RESERVED_SIZE]; } __packed; struct qla_bsg_auth_els_request { @@ -39,59 +43,69 @@ struct qla_bsg_auth_els_reply { struct fc_bsg_reply r; uint32_t rx_xchg_address; + uint8_t version; + uint8_t pad[VND_CMD_PAD_SIZE]; + uint8_t reserved[VND_CMD_APP_RESERVED_SIZE]; }; struct app_id { int app_vid; - uint8_t app_key[32]; + uint8_t version; + uint8_t pad[VND_CMD_PAD_SIZE]; + uint8_t reserved[VND_CMD_APP_RESERVED_SIZE]; } __packed; struct app_start_reply { uint32_t host_support_edif; uint32_t edif_enode_active; uint32_t edif_edb_active; - uint32_t reserved[VND_CMD_APP_RESERVED_SIZE]; + uint8_t version; + uint8_t pad[VND_CMD_PAD_SIZE]; + uint8_t reserved[VND_CMD_APP_RESERVED_SIZE]; } __packed; struct app_start { struct app_id app_info; - uint32_t prli_to; - uint32_t key_shred; uint8_t app_start_flags; - uint8_t reserved[VND_CMD_APP_RESERVED_SIZE - 1]; + uint8_t version; + uint8_t pad[2]; + uint8_t reserved[VND_CMD_APP_RESERVED_SIZE]; } __packed; struct app_stop { struct app_id app_info; - char buf[16]; + uint8_t version; + uint8_t pad[VND_CMD_PAD_SIZE]; + uint8_t reserved[VND_CMD_APP_RESERVED_SIZE]; } __packed; struct app_plogi_reply { uint32_t prli_status; - uint8_t reserved[VND_CMD_APP_RESERVED_SIZE]; -} __packed; - -#define RECFG_TIME 1 -#define RECFG_BYTES 2 - -struct app_rekey_cfg { - struct app_id app_info; - uint8_t rekey_mode; - port_id_t d_id; - uint8_t force; - union { - int64_t bytes; - int64_t time; - } rky_units; - + uint8_t version; + uint8_t pad[VND_CMD_PAD_SIZE]; uint8_t reserved[VND_CMD_APP_RESERVED_SIZE]; } __packed; struct app_pinfo_req { struct app_id app_info; uint8_t num_ports; - port_id_t remote_pid; - uint8_t reserved[VND_CMD_APP_RESERVED_SIZE]; + struct { +#ifdef __BIG_ENDIAN + uint8_t domain; + uint8_t area; + uint8_t al_pa; +#elif defined(__LITTLE_ENDIAN) + uint8_t al_pa; + uint8_t area; + uint8_t domain; +#else +#error "__BIG_ENDIAN or __LITTLE_ENDIAN must be defined!" +#endif + uint8_t rsvd_1; + } remote_pid; + uint8_t version; + uint8_t pad[VND_CMD_PAD_SIZE]; + uint8_t reserved[VND_CMD_APP_RESERVED_SIZE]; } __packed; struct app_pinfo { @@ -103,11 +117,8 @@ #define VND_CMD_RTYPE_INITIATOR 2 uint8_t remote_state; uint8_t auth_state; - uint8_t rekey_mode; - int64_t rekey_count; - int64_t rekey_config_value; - int64_t rekey_consumed_value; - + uint8_t version; + uint8_t pad[VND_CMD_PAD_SIZE]; uint8_t reserved[VND_CMD_APP_RESERVED_SIZE]; } __packed; @@ -120,6 +131,8 @@ struct app_pinfo_reply { uint8_t port_count; + uint8_t version; + uint8_t pad[VND_CMD_PAD_SIZE]; uint8_t reserved[VND_CMD_APP_RESERVED_SIZE]; struct app_pinfo ports[]; } __packed; @@ -127,6 +140,8 @@ struct app_sinfo_req { struct app_id app_info; uint8_t num_ports; + uint8_t version; + uint8_t pad[VND_CMD_PAD_SIZE]; uint8_t reserved[VND_CMD_APP_RESERVED_SIZE]; } __packed; @@ -140,6 +155,9 @@ struct app_stats_reply { uint8_t elem_count; + uint8_t version; + uint8_t pad[VND_CMD_PAD_SIZE]; + uint8_t reserved[VND_CMD_APP_RESERVED_SIZE]; struct app_sinfo elem[]; } __packed; @@ -163,9 +181,11 @@ uint8_t node_name[WWN_SIZE]; uint8_t port_name[WWN_SIZE]; port_id_t port_id; + uint8_t version; + uint8_t pad[VND_CMD_PAD_SIZE]; + uint8_t reserved2[VND_CMD_APP_RESERVED_SIZE]; } __packed; -// used for edif mgmt bsg interface #define QL_VND_SC_UNDEF 0 #define QL_VND_SC_SA_UPDATE 1 #define QL_VND_SC_APP_START 2 @@ -175,6 +195,22 @@ #define QL_VND_SC_REKEY_CONFIG 6 #define QL_VND_SC_GET_FCINFO 7 #define QL_VND_SC_GET_STATS 8 +#define QL_VND_SC_AEN_COMPLETE 9 +#define QL_VND_SC_READ_DBELL 10 + +/* + * bsg caller to provide empty buffer for doorbell events. + * + * sg_io_v4.din_xferp = empty buffer for door bell events + * sg_io_v4.dout_xferp = struct edif_read_dbell *buf + */ +struct edif_read_dbell { + struct app_id app_info; + uint8_t version; + uint8_t pad[VND_CMD_PAD_SIZE]; + uint8_t reserved[VND_CMD_APP_RESERVED_SIZE]; +}; + /* Application interface data structure for rtn data */ #define EXT_DEF_EVENT_DATA_SIZE 64 @@ -191,7 +227,9 @@ port_id_t port_id; uint32_t key_type; /* Tx (1) or RX (2) */ uint32_t status; /* 0 succes, 1 failed, 2 timeout , 3 error */ - uint8_t reserved[16]; + uint8_t version; + uint8_t pad[VND_CMD_PAD_SIZE]; + uint8_t reserved[VND_CMD_APP_RESERVED_SIZE]; } __packed; #define QL_VND_SA_STAT_SUCCESS 0 @@ -212,9 +250,22 @@ uint8_t wwpn[WWN_SIZE]; port_id_t d_id; } u; - uint32_t reserved[VND_CMD_APP_RESERVED_SIZE]; + uint8_t version; + uint8_t pad[VND_CMD_PAD_SIZE]; + uint8_t reserved[VND_CMD_APP_RESERVED_SIZE]; +} __packed; + +struct aen_complete_cmd { + struct app_id app_info; + port_id_t port_id; + uint32_t event_code; + uint8_t version; + uint8_t pad[VND_CMD_PAD_SIZE]; + uint8_t reserved[VND_CMD_APP_RESERVED_SIZE]; } __packed; #define RX_DELAY_DELETE_TIMEOUT 20 +#define FCH_EVT_VENDOR_UNIQUE_VPORT_DOWN 1 + #endif /* QLA_EDIF_BSG_H */ --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_fw.h +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_fw.h @@ -807,7 +807,7 @@ #define EPD_ELS_COMMAND (0 << 13) #define EPD_ELS_ACC (1 << 13) #define EPD_ELS_RJT (2 << 13) -#define EPD_RX_XCHG (3 << 13) +#define EPD_RX_XCHG (3 << 13) /* terminate exchange */ #define ECF_CLR_PASSTHRU_PEND BIT_12 #define ECF_INCL_FRAME_HDR BIT_11 #define ECF_SEC_LOGIN BIT_3 --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_gbl.h +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_gbl.h @@ -335,6 +335,7 @@ extern int qla24xx_issue_sa_replace_iocb(scsi_qla_host_t *vha, struct qla_work_evt *e); void qla2x00_sp_release(struct kref *kref); +void qla2x00_els_dcmd2_iocb_timeout(void *data); /* * Global Function Prototypes in qla_mbx.c source file. @@ -433,7 +434,8 @@ qla2x00_get_resource_cnts(scsi_qla_host_t *); extern int -qla2x00_get_fcal_position_map(scsi_qla_host_t *ha, char *pos_map); +qla2x00_get_fcal_position_map(scsi_qla_host_t *ha, char *pos_map, + u8 *num_entries); extern int qla2x00_get_link_status(scsi_qla_host_t *, uint16_t, struct link_statistics *, @@ -727,7 +729,7 @@ void qla24xx_handle_gpsc_event(scsi_qla_host_t *, struct event_arg *); int qla2x00_mgmt_svr_login(scsi_qla_host_t *); void qla24xx_handle_gffid_event(scsi_qla_host_t *vha, struct event_arg *ea); -int qla24xx_async_gffid(scsi_qla_host_t *vha, fc_port_t *fcport); +int qla24xx_async_gffid(scsi_qla_host_t *vha, fc_port_t *fcport, bool); int qla24xx_async_gpnft(scsi_qla_host_t *, u8, srb_t *); void qla24xx_async_gpnft_done(scsi_qla_host_t *, srb_t *); void qla24xx_async_gnnft_done(scsi_qla_host_t *, srb_t *); --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_gs.c +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_gs.c @@ -1596,7 +1596,6 @@ unsigned int callopt) { struct qla_hw_data *ha = vha->hw; - struct init_cb_24xx *icb24 = (void *)ha->init_cb; struct new_utsname *p_sysid = utsname(); struct ct_fdmi_hba_attr *eiter; uint16_t alen; @@ -1758,8 +1757,8 @@ /* MAX CT Payload Length */ eiter = entries + size; eiter->type = cpu_to_be16(FDMI_HBA_MAXIMUM_CT_PAYLOAD_LENGTH); - eiter->a.max_ct_len = cpu_to_be32(le16_to_cpu(IS_FWI2_CAPABLE(ha) ? - icb24->frame_payload_size : ha->init_cb->frame_payload_size)); + eiter->a.max_ct_len = cpu_to_be32(ha->frame_payload_size >> 2); + alen = sizeof(eiter->a.max_ct_len); alen += FDMI_ATTR_TYPELEN(eiter); eiter->len = cpu_to_be16(alen); @@ -1851,7 +1850,6 @@ unsigned int callopt) { struct qla_hw_data *ha = vha->hw; - struct init_cb_24xx *icb24 = (void *)ha->init_cb; struct new_utsname *p_sysid = utsname(); char *hostname = p_sysid ? p_sysid->nodename : fc_host_system_hostname(vha->host); @@ -1903,8 +1901,7 @@ /* Max frame size. */ eiter = entries + size; eiter->type = cpu_to_be16(FDMI_PORT_MAX_FRAME_SIZE); - eiter->a.max_frame_size = cpu_to_be32(le16_to_cpu(IS_FWI2_CAPABLE(ha) ? - icb24->frame_payload_size : ha->init_cb->frame_payload_size)); + eiter->a.max_frame_size = cpu_to_be32(ha->frame_payload_size); alen = sizeof(eiter->a.max_frame_size); alen += FDMI_ATTR_TYPELEN(eiter); eiter->len = cpu_to_be16(alen); @@ -3280,19 +3277,12 @@ return rval; } -void qla24xx_handle_gffid_event(scsi_qla_host_t *vha, struct event_arg *ea) -{ - fc_port_t *fcport = ea->fcport; - - qla24xx_post_gnl_work(vha, fcport); -} void qla24xx_async_gffid_sp_done(srb_t *sp, int res) { struct scsi_qla_host *vha = sp->vha; fc_port_t *fcport = sp->fcport; struct ct_sns_rsp *ct_rsp; - struct event_arg ea; uint8_t fc4_scsi_feat; uint8_t fc4_nvme_feat; @@ -3300,10 +3290,10 @@ "Async done-%s res %x ID %x. %8phC\n", sp->name, res, fcport->d_id.b24, fcport->port_name); - fcport->flags &= ~FCF_ASYNC_SENT; - ct_rsp = &fcport->ct_desc.ct_sns->p.rsp; + ct_rsp = sp->u.iocb_cmd.u.ctarg.rsp; fc4_scsi_feat = ct_rsp->rsp.gff_id.fc4_features[GFF_FCP_SCSI_OFFSET]; fc4_nvme_feat = ct_rsp->rsp.gff_id.fc4_features[GFF_NVME_OFFSET]; + sp->rc = res; /* * FC-GS-7, 5.2.3.12 FC-4 Features - format @@ -3324,24 +3314,42 @@ } } - memset(&ea, 0, sizeof(ea)); - ea.sp = sp; - ea.fcport = sp->fcport; - ea.rc = res; + if (sp->flags & SRB_WAKEUP_ON_COMP) { + complete(sp->comp); + } else { + if (sp->u.iocb_cmd.u.ctarg.req) { + dma_free_coherent(&vha->hw->pdev->dev, + sp->u.iocb_cmd.u.ctarg.req_allocated_size, + sp->u.iocb_cmd.u.ctarg.req, + sp->u.iocb_cmd.u.ctarg.req_dma); + sp->u.iocb_cmd.u.ctarg.req = NULL; + } - qla24xx_handle_gffid_event(vha, &ea); - /* ref: INIT */ - kref_put(&sp->cmd_kref, qla2x00_sp_release); + if (sp->u.iocb_cmd.u.ctarg.rsp) { + dma_free_coherent(&vha->hw->pdev->dev, + sp->u.iocb_cmd.u.ctarg.rsp_allocated_size, + sp->u.iocb_cmd.u.ctarg.rsp, + sp->u.iocb_cmd.u.ctarg.rsp_dma); + sp->u.iocb_cmd.u.ctarg.rsp = NULL; + } + + /* ref: INIT */ + kref_put(&sp->cmd_kref, qla2x00_sp_release); + /* we should not be here */ + dump_stack(); + } } /* Get FC4 Feature with Nport ID. */ -int qla24xx_async_gffid(scsi_qla_host_t *vha, fc_port_t *fcport) +int qla24xx_async_gffid(scsi_qla_host_t *vha, fc_port_t *fcport, bool wait) { int rval = QLA_FUNCTION_FAILED; struct ct_sns_req *ct_req; srb_t *sp; + DECLARE_COMPLETION_ONSTACK(comp); - if (!vha->flags.online || (fcport->flags & FCF_ASYNC_SENT)) + /* this routine does not have handling for no wait */ + if (!vha->flags.online || !wait) return rval; /* ref: INIT */ @@ -3349,43 +3357,86 @@ if (!sp) return rval; - fcport->flags |= FCF_ASYNC_SENT; sp->type = SRB_CT_PTHRU_CMD; sp->name = "gffid"; sp->gen1 = fcport->rscn_gen; sp->gen2 = fcport->login_gen; qla2x00_init_async_sp(sp, qla2x00_get_async_timeout(vha) + 2, qla24xx_async_gffid_sp_done); + sp->comp = ∁ + sp->u.iocb_cmd.timeout = qla2x00_els_dcmd2_iocb_timeout; + + if (wait) + sp->flags = SRB_WAKEUP_ON_COMP; + + sp->u.iocb_cmd.u.ctarg.req_allocated_size = sizeof(struct ct_sns_pkt); + sp->u.iocb_cmd.u.ctarg.req = dma_alloc_coherent(&vha->hw->pdev->dev, + sp->u.iocb_cmd.u.ctarg.req_allocated_size, + &sp->u.iocb_cmd.u.ctarg.req_dma, + GFP_KERNEL); + if (!sp->u.iocb_cmd.u.ctarg.req) { + ql_log(ql_log_warn, vha, 0xd041, + "%s: Failed to allocate ct_sns request.\n", + __func__); + goto done_free_sp; + } + + sp->u.iocb_cmd.u.ctarg.rsp_allocated_size = sizeof(struct ct_sns_pkt); + sp->u.iocb_cmd.u.ctarg.rsp = dma_alloc_coherent(&vha->hw->pdev->dev, + sp->u.iocb_cmd.u.ctarg.rsp_allocated_size, + &sp->u.iocb_cmd.u.ctarg.rsp_dma, + GFP_KERNEL); + if (!sp->u.iocb_cmd.u.ctarg.rsp) { + ql_log(ql_log_warn, vha, 0xd041, + "%s: Failed to allocate ct_sns response.\n", + __func__); + goto done_free_sp; + } /* CT_IU preamble */ - ct_req = qla2x00_prep_ct_req(fcport->ct_desc.ct_sns, GFF_ID_CMD, - GFF_ID_RSP_SIZE); + ct_req = qla2x00_prep_ct_req(sp->u.iocb_cmd.u.ctarg.req, GFF_ID_CMD, GFF_ID_RSP_SIZE); ct_req->req.gff_id.port_id[0] = fcport->d_id.b.domain; ct_req->req.gff_id.port_id[1] = fcport->d_id.b.area; ct_req->req.gff_id.port_id[2] = fcport->d_id.b.al_pa; - sp->u.iocb_cmd.u.ctarg.req = fcport->ct_desc.ct_sns; - sp->u.iocb_cmd.u.ctarg.req_dma = fcport->ct_desc.ct_sns_dma; - sp->u.iocb_cmd.u.ctarg.rsp = fcport->ct_desc.ct_sns; - sp->u.iocb_cmd.u.ctarg.rsp_dma = fcport->ct_desc.ct_sns_dma; sp->u.iocb_cmd.u.ctarg.req_size = GFF_ID_REQ_SIZE; sp->u.iocb_cmd.u.ctarg.rsp_size = GFF_ID_RSP_SIZE; sp->u.iocb_cmd.u.ctarg.nport_handle = NPH_SNS; - ql_dbg(ql_dbg_disc, vha, 0x2132, - "Async-%s hdl=%x %8phC.\n", sp->name, - sp->handle, fcport->port_name); - rval = qla2x00_start_sp(sp); - if (rval != QLA_SUCCESS) + + if (rval != QLA_SUCCESS) { + rval = QLA_FUNCTION_FAILED; goto done_free_sp; + } else { + ql_dbg(ql_dbg_disc, vha, 0x3074, + "Async-%s hdl=%x portid %06x\n", + sp->name, sp->handle, fcport->d_id.b24); + } + + wait_for_completion(sp->comp); + rval = sp->rc; - return rval; done_free_sp: + if (sp->u.iocb_cmd.u.ctarg.req) { + dma_free_coherent(&vha->hw->pdev->dev, + sp->u.iocb_cmd.u.ctarg.req_allocated_size, + sp->u.iocb_cmd.u.ctarg.req, + sp->u.iocb_cmd.u.ctarg.req_dma); + sp->u.iocb_cmd.u.ctarg.req = NULL; + } + + if (sp->u.iocb_cmd.u.ctarg.rsp) { + dma_free_coherent(&vha->hw->pdev->dev, + sp->u.iocb_cmd.u.ctarg.rsp_allocated_size, + sp->u.iocb_cmd.u.ctarg.rsp, + sp->u.iocb_cmd.u.ctarg.rsp_dma); + sp->u.iocb_cmd.u.ctarg.rsp = NULL; + } + /* ref: INIT */ kref_put(&sp->cmd_kref, qla2x00_sp_release); - fcport->flags &= ~FCF_ASYNC_SENT; return rval; } @@ -3578,7 +3629,7 @@ do_delete) { if (fcport->loop_id != FC_NO_LOOP_ID) { if (fcport->flags & FCF_FCP2_DEVICE) - fcport->logout_on_delete = 0; + continue; ql_log(ql_log_warn, vha, 0x20f0, "%s %d %8phC post del sess\n", --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_init.c +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_init.c @@ -47,6 +47,7 @@ { srb_t *sp = from_timer(sp, t, u.iocb_cmd.timer); struct srb_iocb *iocb; + scsi_qla_host_t *vha = sp->vha; WARN_ON(irqs_disabled()); iocb = &sp->u.iocb_cmd; @@ -54,6 +55,12 @@ /* ref: TMR */ kref_put(&sp->cmd_kref, qla2x00_sp_release); + + if (vha && qla2x00_isp_reg_stat(vha->hw)) { + ql_log(ql_log_info, vha, 0x9008, + "PCI/Register disconnect.\n"); + qla_pci_set_eeh_busy(vha); + } } void qla2x00_sp_free(srb_t *sp) @@ -103,6 +110,7 @@ struct qla_qpair *qpair = sp->qpair; u32 handle; unsigned long flags; + int sp_found = 0, cmdsp_found = 0; if (sp->cmd_sp) ql_dbg(ql_dbg_async, sp->vha, 0x507c, @@ -117,18 +125,23 @@ spin_lock_irqsave(qpair->qp_lock_ptr, flags); for (handle = 1; handle < qpair->req->num_outstanding_cmds; handle++) { if (sp->cmd_sp && (qpair->req->outstanding_cmds[handle] == - sp->cmd_sp)) + sp->cmd_sp)) { qpair->req->outstanding_cmds[handle] = NULL; + cmdsp_found = 1; + qla_put_fw_resources(qpair, &sp->cmd_sp->iores); + } /* removing the abort */ if (qpair->req->outstanding_cmds[handle] == sp) { qpair->req->outstanding_cmds[handle] = NULL; + sp_found = 1; + qla_put_fw_resources(qpair, &sp->iores); break; } } spin_unlock_irqrestore(qpair->qp_lock_ptr, flags); - if (sp->cmd_sp) { + if (cmdsp_found && sp->cmd_sp) { /* * This done function should take care of * original command ref: INIT @@ -136,8 +149,10 @@ sp->cmd_sp->done(sp->cmd_sp, QLA_OS_TIMER_EXPIRED); } - abt->u.abt.comp_status = cpu_to_le16(CS_TIMEOUT); - sp->done(sp, QLA_OS_TIMER_EXPIRED); + if (sp_found) { + abt->u.abt.comp_status = cpu_to_le16(CS_TIMEOUT); + sp->done(sp, QLA_OS_TIMER_EXPIRED); + } } static void qla24xx_abort_sp_done(srb_t *sp, int res) @@ -168,6 +183,7 @@ if (!sp) return QLA_MEMORY_ALLOC_FAILED; + qla_vha_mark_busy(vha); abt_iocb = &sp->u.iocb_cmd; sp->type = SRB_ABT_CMD; sp->name = "abort"; @@ -1480,7 +1496,6 @@ ql_dbg(ql_dbg_disc, vha, 0x20ef, "%s %d %8phC EDIF: post DB_AUTH: AUTH needed\n", __func__, __LINE__, fcport->port_name); - fcport->edif.app_started = 1; fcport->edif.app_sess_online = 1; qla_edb_eventcreate(vha, VND_CMD_AUTH_STATE_NEEDED, @@ -1763,8 +1778,16 @@ break; case DSC_LOGIN_PEND: - if (fcport->fw_login_state == DSC_LS_PLOGI_COMP) + if (vha->hw->flags.edif_enabled) + break; + + if (fcport->fw_login_state == DSC_LS_PLOGI_COMP) { + ql_dbg(ql_dbg_disc, vha, 0x2118, + "%s %d %8phC post %s PRLI\n", + __func__, __LINE__, fcport->port_name, + NVME_TARGET(vha->hw, fcport) ? "NVME" : "FC"); qla24xx_post_prli_work(vha, fcport); + } break; case DSC_UPD_FCPORT: @@ -1818,7 +1841,8 @@ case RSCN_PORT_ADDR: fcport = qla2x00_find_fcport_by_nportid(vha, &ea->id, 1); if (fcport) { - if (fcport->flags & FCF_FCP2_DEVICE) { + if (fcport->flags & FCF_FCP2_DEVICE && + atomic_read(&fcport->state) == FCS_ONLINE) { ql_dbg(ql_dbg_disc, vha, 0x2115, "Delaying session delete for FCP2 portid=%06x %8phC ", fcport->d_id.b24, fcport->port_name); @@ -1850,7 +1874,8 @@ break; case RSCN_AREA_ADDR: list_for_each_entry(fcport, &vha->vp_fcports, list) { - if (fcport->flags & FCF_FCP2_DEVICE) + if (fcport->flags & FCF_FCP2_DEVICE && + atomic_read(&fcport->state) == FCS_ONLINE) continue; if ((ea->id.b24 & 0xffff00) == (fcport->d_id.b24 & 0xffff00)) { @@ -1861,7 +1886,8 @@ break; case RSCN_DOM_ADDR: list_for_each_entry(fcport, &vha->vp_fcports, list) { - if (fcport->flags & FCF_FCP2_DEVICE) + if (fcport->flags & FCF_FCP2_DEVICE && + atomic_read(&fcport->state) == FCS_ONLINE) continue; if ((ea->id.b24 & 0xff0000) == (fcport->d_id.b24 & 0xff0000)) { @@ -1873,7 +1899,8 @@ case RSCN_FAB_ADDR: default: list_for_each_entry(fcport, &vha->vp_fcports, list) { - if (fcport->flags & FCF_FCP2_DEVICE) + if (fcport->flags & FCF_FCP2_DEVICE && + atomic_read(&fcport->state) == FCS_ONLINE) continue; fcport->scan_needed = 1; @@ -1975,6 +2002,7 @@ for (h = 1; h < sp->qpair->req->num_outstanding_cmds; h++) { if (sp->qpair->req->outstanding_cmds[h] == sp) { sp->qpair->req->outstanding_cmds[h] = NULL; + qla_put_fw_resources(sp->qpair, &sp->iores); break; } } @@ -2006,6 +2034,7 @@ if (!sp) goto done; + qla_vha_mark_busy(vha); sp->type = SRB_TM_CMD; sp->name = "tmf"; qla2x00_init_async_sp(sp, qla2x00_get_async_timeout(vha), @@ -2047,7 +2076,6 @@ done_free_sp: /* ref: INIT */ kref_put(&sp->cmd_kref, qla2x00_sp_release); - fcport->flags &= ~FCF_ASYNC_SENT; done: return rval; } @@ -2124,6 +2152,13 @@ } if (N2N_TOPO(vha->hw)) { + if (ea->fcport->n2n_link_reset_cnt == + vha->hw->login_retry_count && + ea->fcport->flags & FCF_FCSP_DEVICE) { + /* remote authentication app just started */ + ea->fcport->n2n_link_reset_cnt = 0; + } + if (ea->fcport->n2n_link_reset_cnt < vha->hw->login_retry_count) { ea->fcport->n2n_link_reset_cnt++; @@ -3910,6 +3945,12 @@ ha->base_qpair->fwres.iocbs_limit = limit; ha->base_qpair->fwres.iocbs_qp_limit = limit / num_qps; ha->base_qpair->fwres.iocbs_used = 0; + + ha->base_qpair->fwres.exch_total = ha->orig_fw_xcb_count; + ha->base_qpair->fwres.exch_limit = (ha->orig_fw_xcb_count * + QLA_IOCB_PCT_LIMIT) / 100; + ha->base_qpair->fwres.exch_used = 0; + for (i = 0; i < ha->max_qpairs; i++) { if (ha->queue_pair_map[i]) { ha->queue_pair_map[i]->fwres.iocbs_total = @@ -3918,6 +3959,10 @@ ha->queue_pair_map[i]->fwres.iocbs_qp_limit = limit / num_qps; ha->queue_pair_map[i]->fwres.iocbs_used = 0; + ha->queue_pair_map[i]->fwres.exch_total = ha->orig_fw_xcb_count; + ha->queue_pair_map[i]->fwres.exch_limit = + (ha->orig_fw_xcb_count * QLA_IOCB_PCT_LIMIT) / 100; + ha->queue_pair_map[i]->fwres.exch_used = 0; } } } @@ -4509,6 +4554,8 @@ BIT_6) != 0; ql_dbg(ql_dbg_init, vha, 0x00bc, "FA-WWPN Support: %s.\n", (ha->flags.fawwpn_enabled) ? "enabled" : "disabled"); + /* Init_cb will be reused for other command(s). Save a backup copy of port_name */ + memcpy(ha->port_name, ha->init_cb->port_name, WWN_SIZE); } /* ELS pass through payload is limit by frame size. */ @@ -5273,9 +5320,6 @@ INIT_LIST_HEAD(&fcport->edif.tx_sa_list); INIT_LIST_HEAD(&fcport->edif.rx_sa_list); - if (vha->e_dbell.db_flags == EDB_ACTIVE) - fcport->edif.app_started = 1; - spin_lock_init(&fcport->edif.indx_list_lock); INIT_LIST_HEAD(&fcport->edif.edif_indx_list); @@ -5488,6 +5532,22 @@ return QLA_FUNCTION_FAILED; } +static void +qla_reinitialize_link(scsi_qla_host_t *vha) +{ + int rval; + + atomic_set(&vha->loop_state, LOOP_DOWN); + atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME); + rval = qla2x00_full_login_lip(vha); + if (rval == QLA_SUCCESS) { + ql_dbg(ql_dbg_disc, vha, 0xd050, "Link reinitialized\n"); + } else { + ql_dbg(ql_dbg_disc, vha, 0xd051, + "Link reinitialization failed (%d)\n", rval); + } +} + /* * qla2x00_configure_local_loop * Updates Fibre Channel Device Database with local loop devices. @@ -5539,6 +5599,19 @@ spin_unlock_irqrestore(&vha->work_lock, flags); if (vha->scan.scan_retry < MAX_SCAN_RETRIES) { + u8 loop_map_entries = 0; + int rc; + + rc = qla2x00_get_fcal_position_map(vha, NULL, + &loop_map_entries); + if (rc == QLA_SUCCESS && loop_map_entries > 1) { + /* + * There are devices that are still not logged + * in. Reinitialize to give them a chance. + */ + qla_reinitialize_link(vha); + return QLA_FUNCTION_FAILED; + } set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); } @@ -5767,8 +5840,6 @@ if (atomic_read(&fcport->state) == FCS_ONLINE) return; - qla2x00_set_fcport_state(fcport, FCS_ONLINE); - rport_ids.node_name = wwn_to_u64(fcport->node_name); rport_ids.port_name = wwn_to_u64(fcport->port_name); rport_ids.port_id = fcport->d_id.b.domain << 16 | @@ -5869,7 +5940,6 @@ qla2x00_reg_remote_port(vha, fcport); break; case MODE_TARGET: - qla2x00_set_fcport_state(fcport, FCS_ONLINE); if (!vha->vha_tgt.qla_tgt->tgt_stop && !vha->vha_tgt.qla_tgt->tgt_stopped) qlt_fc_port_added(vha, fcport); @@ -5887,6 +5957,8 @@ if (NVME_TARGET(vha->hw, fcport)) qla_nvme_register_remote(vha, fcport); + qla2x00_set_fcport_state(fcport, FCS_ONLINE); + if (IS_IIDMA_CAPABLE(vha->hw) && vha->hw->flags.gpsc_supported) { if (fcport->id_changed) { fcport->id_changed = 0; @@ -9657,6 +9729,12 @@ vha->hw->flags.port_isolated = 1; + if (qla2x00_isp_reg_stat(vha->hw)) { + ql_log(ql_log_info, vha, 0x9006, + "PCI/Register disconnect, exiting.\n"); + qla_pci_set_eeh_busy(vha); + return FAILED; + } if (qla2x00_chip_is_down(vha)) return 0; @@ -9672,6 +9750,13 @@ { scsi_qla_host_t *vha = shost_priv(host); + if (qla2x00_isp_reg_stat(vha->hw)) { + ql_log(ql_log_info, vha, 0x9001, + "PCI/Register disconnect, exiting.\n"); + qla_pci_set_eeh_busy(vha); + return FAILED; + } + vha->hw->flags.port_isolated = 0; /* Set the flag to 1, so that isp_abort can proceed */ vha->flags.online = 1; --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_inline.h +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_inline.h @@ -225,11 +225,9 @@ qla2x00_get_sp(scsi_qla_host_t *vha, fc_port_t *fcport, gfp_t flag) { srb_t *sp = NULL; - uint8_t bail; struct qla_qpair *qpair; - QLA_VHA_MARK_BUSY(vha, bail); - if (unlikely(bail)) + if (unlikely(qla_vha_mark_busy(vha))) return NULL; qpair = vha->hw->base_qpair; @@ -382,24 +380,26 @@ enum { RESOURCE_NONE, - RESOURCE_INI, + RESOURCE_IOCB = BIT_0, + RESOURCE_EXCH = BIT_1, /* exchange */ + RESOURCE_FORCE = BIT_2, }; static inline int -qla_get_iocbs(struct qla_qpair *qp, struct iocb_resource *iores) +qla_get_fw_resources(struct qla_qpair *qp, struct iocb_resource *iores) { u16 iocbs_used, i; + u16 exch_used; struct qla_hw_data *ha = qp->vha->hw; if (!ql2xenforce_iocb_limit) { iores->res_type = RESOURCE_NONE; return 0; } + if (iores->res_type & RESOURCE_FORCE) + goto force; - if ((iores->iocb_cnt + qp->fwres.iocbs_used) < qp->fwres.iocbs_qp_limit) { - qp->fwres.iocbs_used += iores->iocb_cnt; - return 0; - } else { + if ((iores->iocb_cnt + qp->fwres.iocbs_used) >= qp->fwres.iocbs_qp_limit) { /* no need to acquire qpair lock. It's just rough calculation */ iocbs_used = ha->base_qpair->fwres.iocbs_used; for (i = 0; i < ha->max_qpairs; i++) { @@ -407,30 +407,49 @@ iocbs_used += ha->queue_pair_map[i]->fwres.iocbs_used; } - if ((iores->iocb_cnt + iocbs_used) < qp->fwres.iocbs_limit) { - qp->fwres.iocbs_used += iores->iocb_cnt; - return 0; - } else { + if ((iores->iocb_cnt + iocbs_used) >= qp->fwres.iocbs_limit) { iores->res_type = RESOURCE_NONE; return -ENOSPC; } } + + if (iores->res_type & RESOURCE_EXCH) { + exch_used = ha->base_qpair->fwres.exch_used; + for (i = 0; i < ha->max_qpairs; i++) { + if (ha->queue_pair_map[i]) + exch_used += ha->queue_pair_map[i]->fwres.exch_used; + } + + if ((exch_used + iores->exch_cnt) >= qp->fwres.exch_limit) { + iores->res_type = RESOURCE_NONE; + return -ENOSPC; + } + } +force: + qp->fwres.iocbs_used += iores->iocb_cnt; + qp->fwres.exch_used += iores->exch_cnt; + return 0; } static inline void -qla_put_iocbs(struct qla_qpair *qp, struct iocb_resource *iores) +qla_put_fw_resources(struct qla_qpair *qp, struct iocb_resource *iores) { - switch (iores->res_type) { - case RESOURCE_NONE: - break; - default: + if (iores->res_type & RESOURCE_IOCB) { if (qp->fwres.iocbs_used >= iores->iocb_cnt) { qp->fwres.iocbs_used -= iores->iocb_cnt; } else { - // should not happen + /* should not happen */ qp->fwres.iocbs_used = 0; } - break; + } + + if (iores->res_type & RESOURCE_EXCH) { + if (qp->fwres.exch_used >= iores->exch_cnt) { + qp->fwres.exch_used -= iores->exch_cnt; + } else { + /* should not happen */ + qp->fwres.exch_used = 0; + } } iores->res_type = RESOURCE_NONE; } --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_iocb.c +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_iocb.c @@ -1589,9 +1589,10 @@ tot_dsds = nseg; req_cnt = qla24xx_calc_iocbs(vha, tot_dsds); - sp->iores.res_type = RESOURCE_INI; + sp->iores.res_type = RESOURCE_IOCB | RESOURCE_EXCH; + sp->iores.exch_cnt = 1; sp->iores.iocb_cnt = req_cnt; - if (qla_get_iocbs(sp->qpair, &sp->iores)) + if (qla_get_fw_resources(sp->qpair, &sp->iores)) goto queuing_error; if (req->cnt < (req_cnt + 2)) { @@ -1678,7 +1679,7 @@ if (tot_dsds) scsi_dma_unmap(cmd); - qla_put_iocbs(sp->qpair, &sp->iores); + qla_put_fw_resources(sp->qpair, &sp->iores); spin_unlock_irqrestore(&ha->hardware_lock, flags); return QLA_FUNCTION_FAILED; @@ -1793,9 +1794,10 @@ tot_prot_dsds = nseg; tot_dsds += nseg; - sp->iores.res_type = RESOURCE_INI; + sp->iores.res_type = RESOURCE_IOCB | RESOURCE_EXCH; + sp->iores.exch_cnt = 1; sp->iores.iocb_cnt = qla24xx_calc_iocbs(vha, tot_dsds); - if (qla_get_iocbs(sp->qpair, &sp->iores)) + if (qla_get_fw_resources(sp->qpair, &sp->iores)) goto queuing_error; if (req->cnt < (req_cnt + 2)) { @@ -1883,7 +1885,7 @@ } /* Cleanup will be performed by the caller (queuecommand) */ - qla_put_iocbs(sp->qpair, &sp->iores); + qla_put_fw_resources(sp->qpair, &sp->iores); spin_unlock_irqrestore(&ha->hardware_lock, flags); return QLA_FUNCTION_FAILED; @@ -1952,9 +1954,10 @@ tot_dsds = nseg; req_cnt = qla24xx_calc_iocbs(vha, tot_dsds); - sp->iores.res_type = RESOURCE_INI; + sp->iores.res_type = RESOURCE_IOCB | RESOURCE_EXCH; + sp->iores.exch_cnt = 1; sp->iores.iocb_cnt = req_cnt; - if (qla_get_iocbs(sp->qpair, &sp->iores)) + if (qla_get_fw_resources(sp->qpair, &sp->iores)) goto queuing_error; if (req->cnt < (req_cnt + 2)) { @@ -2041,7 +2044,7 @@ if (tot_dsds) scsi_dma_unmap(cmd); - qla_put_iocbs(sp->qpair, &sp->iores); + qla_put_fw_resources(sp->qpair, &sp->iores); spin_unlock_irqrestore(&qpair->qp_lock, flags); return QLA_FUNCTION_FAILED; @@ -2171,9 +2174,10 @@ tot_prot_dsds = nseg; tot_dsds += nseg; - sp->iores.res_type = RESOURCE_INI; + sp->iores.res_type = RESOURCE_IOCB | RESOURCE_EXCH; + sp->iores.exch_cnt = 1; sp->iores.iocb_cnt = qla24xx_calc_iocbs(vha, tot_dsds); - if (qla_get_iocbs(sp->qpair, &sp->iores)) + if (qla_get_fw_resources(sp->qpair, &sp->iores)) goto queuing_error; if (req->cnt < (req_cnt + 2)) { @@ -2260,7 +2264,7 @@ } /* Cleanup will be performed by the caller (queuecommand) */ - qla_put_iocbs(sp->qpair, &sp->iores); + qla_put_fw_resources(sp->qpair, &sp->iores); spin_unlock_irqrestore(&qpair->qp_lock, flags); return QLA_FUNCTION_FAILED; @@ -2819,7 +2823,7 @@ sp->vha->qla_stats.control_requests++; } -static void +void qla2x00_els_dcmd2_iocb_timeout(void *data) { srb_t *sp = data; @@ -2882,6 +2886,9 @@ sp->name, res, sp->handle, fcport->d_id.b24, fcport->port_name); fcport->flags &= ~(FCF_ASYNC_SENT|FCF_ASYNC_ACTIVE); + /* For edif, set logout on delete to ensure any residual key from FW is flushed.*/ + fcport->logout_on_delete = 1; + fcport->chip_reset = vha->hw->base_qpair->chip_reset; if (sp->flags & SRB_WAKEUP_ON_COMP) complete(&lio->u.els_plogi.comp); @@ -3810,6 +3817,65 @@ logio->vp_index = sp->fcport->vha->vp_idx; } +int qla_get_iocbs_resource(struct srb *sp) +{ + bool get_exch; + bool push_it_through = false; + + if (!ql2xenforce_iocb_limit) { + sp->iores.res_type = RESOURCE_NONE; + return 0; + } + sp->iores.res_type = RESOURCE_NONE; + + switch (sp->type) { + case SRB_TM_CMD: + case SRB_PRLI_CMD: + case SRB_ADISC_CMD: + push_it_through = true; + fallthrough; + case SRB_LOGIN_CMD: + case SRB_ELS_CMD_RPT: + case SRB_ELS_CMD_HST: + case SRB_ELS_CMD_HST_NOLOGIN: + case SRB_CT_CMD: + case SRB_NVME_LS: + case SRB_ELS_DCMD: + get_exch = true; + break; + + case SRB_FXIOCB_DCMD: + case SRB_FXIOCB_BCMD: + sp->iores.res_type = RESOURCE_NONE; + return 0; + + case SRB_SA_UPDATE: + case SRB_SA_REPLACE: + case SRB_MB_IOCB: + case SRB_ABT_CMD: + case SRB_NACK_PLOGI: + case SRB_NACK_PRLI: + case SRB_NACK_LOGO: + case SRB_LOGOUT_CMD: + case SRB_CTRL_VP: + push_it_through = true; + fallthrough; + default: + get_exch = false; + } + + sp->iores.res_type |= RESOURCE_IOCB; + sp->iores.iocb_cnt = 1; + if (get_exch) { + sp->iores.res_type |= RESOURCE_EXCH; + sp->iores.exch_cnt = 1; + } + if (push_it_through) + sp->iores.res_type |= RESOURCE_FORCE; + + return qla_get_fw_resources(sp->qpair, &sp->iores); +} + int qla2x00_start_sp(srb_t *sp) { @@ -3824,6 +3890,12 @@ return -EIO; spin_lock_irqsave(qp->qp_lock_ptr, flags); + rval = qla_get_iocbs_resource(sp); + if (rval) { + spin_unlock_irqrestore(qp->qp_lock_ptr, flags); + return -EAGAIN; + } + pkt = __qla2x00_alloc_iocbs(sp->qpair, sp); if (!pkt) { rval = EAGAIN; @@ -3924,6 +3996,8 @@ wmb(); qla2x00_start_iocbs(vha, qp->req); done: + if (rval) + qla_put_fw_resources(sp->qpair, &sp->iores); spin_unlock_irqrestore(qp->qp_lock_ptr, flags); return rval; } --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_isr.c +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_isr.c @@ -1354,9 +1354,7 @@ if (!vha->vp_idx) { if (ha->flags.fawwpn_enabled && (ha->current_topology == ISP_CFG_F)) { - void *wwpn = ha->init_cb->port_name; - - memcpy(vha->port_name, wwpn, WWN_SIZE); + memcpy(vha->port_name, ha->port_name, WWN_SIZE); fc_host_port_name(vha->host) = wwn_to_u64(vha->port_name); ql_dbg(ql_dbg_init + ql_dbg_verbose, @@ -2639,7 +2637,7 @@ } if (unlikely(logit)) - ql_log(ql_dbg_io, fcport->vha, 0x5060, + ql_dbg(ql_dbg_io, fcport->vha, 0x5060, "NVME-%s ERR Handling - hdl=%x status(%x) tr_len:%x resid=%x ox_id=%x\n", sp->name, sp->handle, comp_status, fd->transferred_length, le32_to_cpu(sts->residual_len), @@ -3105,6 +3103,7 @@ } bsg_reply->reply_payload_rcv_len = 0; + qla_put_fw_resources(sp->qpair, &sp->iores); done: /* Return the vendor specific reply to API */ bsg_reply->reply_data.vendor_reply.vendor_rsp[0] = rval; @@ -3190,7 +3189,7 @@ } return; } - qla_put_iocbs(sp->qpair, &sp->iores); + qla_put_fw_resources(sp->qpair, &sp->iores); if (sp->cmd_type != TYPE_SRB) { req->outstanding_cmds[handle] = NULL; @@ -3355,8 +3354,6 @@ "Dropped frame(s) detected (0x%x of 0x%x bytes).\n", resid, scsi_bufflen(cp)); - vha->interface_err_cnt++; - res = DID_ERROR << 16 | lscsi_status; goto check_scsi_status; } @@ -3426,6 +3423,7 @@ case CS_PORT_UNAVAILABLE: case CS_TIMEOUT: case CS_RESET: + case CS_EDIF_INV_REQ: /* * We are going to have the fc class block the rport @@ -3496,7 +3494,7 @@ out: if (logit) - ql_log(ql_dbg_io, fcport->vha, 0x3022, + ql_dbg(ql_dbg_io, fcport->vha, 0x3022, "FCP command status: 0x%x-0x%x (0x%x) nexus=%ld:%d:%llu portid=%02x%02x%02x oxid=0x%x cdb=%10phN len=0x%x rsp_info=0x%x resid=0x%x fw_resid=0x%x sp=%p cp=%p.\n", comp_status, scsi_status, res, vha->host_no, cp->device->id, cp->device->lun, fcport->d_id.b.domain, @@ -3610,7 +3608,6 @@ default: sp = qla2x00_get_sp_from_handle(vha, func, req, pkt); if (sp) { - qla_put_iocbs(sp->qpair, &sp->iores); sp->done(sp, res); return 0; } @@ -3772,6 +3769,8 @@ struct qla_hw_data *ha = vha->hw; struct purex_entry_24xx *purex_entry; struct purex_item *pure_item; + u16 rsp_in = 0; + int is_shadow_hba; if (!ha->flags.fw_started) return; @@ -3781,7 +3780,18 @@ qla_cpu_update(rsp->qpair, smp_processor_id()); } - while (rsp->ring_ptr->signature != RESPONSE_PROCESSED) { +#define __update_rsp_in(_is_shadow_hba, _rsp, _rsp_in) \ + do { \ + _rsp_in = _is_shadow_hba ? *(_rsp)->in_ptr : \ + rd_reg_dword_relaxed((_rsp)->rsp_q_in); \ + } while (0) + + is_shadow_hba = IS_SHADOW_REG_CAPABLE(ha); + + __update_rsp_in(is_shadow_hba, rsp, rsp_in); + + while (rsp->ring_index != rsp_in && + rsp->ring_ptr->signature != RESPONSE_PROCESSED) { pkt = (struct sts_entry_24xx *)rsp->ring_ptr; rsp->ring_index++; @@ -3894,6 +3904,7 @@ } pure_item = qla27xx_copy_fpin_pkt(vha, (void **)&pkt, &rsp); + __update_rsp_in(is_shadow_hba, rsp, rsp_in); if (!pure_item) break; qla24xx_queue_purex_item(vha, pure_item, @@ -4420,16 +4431,12 @@ } /* Enable MSI-X vector for response queue update for queue 0 */ - if (IS_QLA83XX(ha) || IS_QLA27XX(ha) || IS_QLA28XX(ha)) { - if (ha->msixbase && ha->mqiobase && - (ha->max_rsp_queues > 1 || ha->max_req_queues > 1 || - ql2xmqsupport)) - ha->mqenable = 1; - } else - if (ha->mqiobase && - (ha->max_rsp_queues > 1 || ha->max_req_queues > 1 || - ql2xmqsupport)) - ha->mqenable = 1; + if (IS_MQUE_CAPABLE(ha) && + (ha->msixbase && ha->mqiobase && ha->max_qpairs)) + ha->mqenable = 1; + else + ha->mqenable = 0; + ql_dbg(ql_dbg_multiq, vha, 0xc005, "mqiobase=%p, max_rsp_queues=%d, max_req_queues=%d.\n", ha->mqiobase, ha->max_rsp_queues, ha->max_req_queues); --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_mbx.c +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_mbx.c @@ -238,6 +238,8 @@ ql_dbg(ql_dbg_mbx, vha, 0x1112, "mbox[%d]<-0x%04x\n", cnt, *iptr); wrt_reg_word(optr, *iptr); + } else { + wrt_reg_word(optr, 0); } mboxes >>= 1; @@ -274,6 +276,12 @@ atomic_inc(&ha->num_pend_mbx_stage3); if (!wait_for_completion_timeout(&ha->mbx_intr_comp, mcp->tov * HZ)) { + ql_dbg(ql_dbg_mbx, vha, 0x117a, + "cmd=%x Timeout.\n", command); + spin_lock_irqsave(&ha->hardware_lock, flags); + clear_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags); + spin_unlock_irqrestore(&ha->hardware_lock, flags); + if (chip_reset != ha->chip_reset) { eeh_delay = ha->flags.eeh_busy ? 1 : 0; @@ -286,12 +294,6 @@ rval = QLA_ABORTED; goto premature_exit; } - ql_dbg(ql_dbg_mbx, vha, 0x117a, - "cmd=%x Timeout.\n", command); - spin_lock_irqsave(&ha->hardware_lock, flags); - clear_bit(MBX_INTR_WAIT, &ha->mbx_cmd_flags); - spin_unlock_irqrestore(&ha->hardware_lock, flags); - } else if (ha->flags.purge_mbox || chip_reset != ha->chip_reset) { eeh_delay = ha->flags.eeh_busy ? 1 : 0; @@ -3066,7 +3068,8 @@ * Kernel context. */ int -qla2x00_get_fcal_position_map(scsi_qla_host_t *vha, char *pos_map) +qla2x00_get_fcal_position_map(scsi_qla_host_t *vha, char *pos_map, + u8 *num_entries) { int rval; mbx_cmd_t mc; @@ -3106,6 +3109,8 @@ if (pos_map) memcpy(pos_map, pmap, FCAL_MAP_SIZE); + if (num_entries) + *num_entries = pmap[0]; } dma_pool_free(ha->s_dma_pool, pmap, pmap_dma); --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_mid.c +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_mid.c @@ -166,9 +166,13 @@ int ret = QLA_SUCCESS; fc_port_t *fcport; - if (vha->hw->flags.edif_enabled) + if (vha->hw->flags.edif_enabled) { + if (DBELL_ACTIVE(vha)) + qla2x00_post_aen_work(vha, FCH_EVT_VENDOR_UNIQUE, + FCH_EVT_VENDOR_UNIQUE_VPORT_DOWN); /* delete sessions and flush sa_indexes */ qla2x00_wait_for_sess_deletion(vha); + } if (vha->hw->flags.fw_started) ret = qla24xx_control_vp(vha, VCE_COMMAND_DISABLE_VPS_LOGO_ALL); --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_nvme.c +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_nvme.c @@ -37,11 +37,6 @@ (fcport->nvme_flag & NVME_FLAG_REGISTERED)) return 0; - if (atomic_read(&fcport->state) == FCS_ONLINE) - return 0; - - qla2x00_set_fcport_state(fcport, FCS_ONLINE); - fcport->nvme_flag &= ~NVME_FLAG_RESETTING; memset(&req, 0, sizeof(struct nvme_fc_port_info)); @@ -175,18 +170,6 @@ qla2xxx_rel_qpair_sp(sp->qpair, sp); } -static void qla_nvme_ls_unmap(struct srb *sp, struct nvmefc_ls_req *fd) -{ - if (sp->flags & SRB_DMA_VALID) { - struct srb_iocb *nvme = &sp->u.iocb_cmd; - struct qla_hw_data *ha = sp->fcport->vha->hw; - - dma_unmap_single(&ha->pdev->dev, nvme->u.nvme.cmd_dma, - fd->rqstlen, DMA_TO_DEVICE); - sp->flags &= ~SRB_DMA_VALID; - } -} - static void qla_nvme_release_ls_cmd_kref(struct kref *kref) { struct srb *sp = container_of(kref, struct srb, cmd_kref); @@ -204,7 +187,6 @@ fd = priv->fd; - qla_nvme_ls_unmap(sp, fd); fd->done(fd, priv->comp_status); out: qla2x00_rel_sp(sp); @@ -370,13 +352,10 @@ nvme->u.nvme.rsp_len = fd->rsplen; nvme->u.nvme.rsp_dma = fd->rspdma; nvme->u.nvme.timeout_sec = fd->timeout; - nvme->u.nvme.cmd_dma = dma_map_single(&ha->pdev->dev, fd->rqstaddr, - fd->rqstlen, DMA_TO_DEVICE); + nvme->u.nvme.cmd_dma = fd->rqstdma; dma_sync_single_for_device(&ha->pdev->dev, nvme->u.nvme.cmd_dma, fd->rqstlen, DMA_TO_DEVICE); - sp->flags |= SRB_DMA_VALID; - rval = qla2x00_start_sp(sp); if (rval != QLA_SUCCESS) { ql_log(ql_log_warn, vha, 0x700e, @@ -384,7 +363,6 @@ wake_up(&sp->nvme_ls_waitq); sp->priv = NULL; priv->sp = NULL; - qla_nvme_ls_unmap(sp, fd); qla2x00_rel_sp(sp); return rval; } @@ -450,13 +428,24 @@ goto queuing_error; } req_cnt = qla24xx_calc_iocbs(vha, tot_dsds); + + sp->iores.res_type = RESOURCE_IOCB | RESOURCE_EXCH; + sp->iores.exch_cnt = 1; + sp->iores.iocb_cnt = req_cnt; + if (qla_get_fw_resources(sp->qpair, &sp->iores)) { + rval = -EBUSY; + goto queuing_error; + } + if (req->cnt < (req_cnt + 2)) { if (IS_SHADOW_REG_CAPABLE(ha)) { cnt = *req->out_ptr; } else { cnt = rd_reg_dword_relaxed(req->req_q_out); - if (qla2x00_check_reg16_for_disconnect(vha, cnt)) + if (qla2x00_check_reg16_for_disconnect(vha, cnt)) { + rval = -EBUSY; goto queuing_error; + } } if (req->ring_index < cnt) @@ -605,6 +594,8 @@ qla24xx_process_response_queue(vha, rsp); queuing_error: + if (rval) + qla_put_fw_resources(sp->qpair, &sp->iores); spin_unlock_irqrestore(&qpair->qp_lock, flags); return rval; --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_os.c +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_os.c @@ -333,6 +333,11 @@ "To wait for ABTS response on I/O timeouts for NVMe. (default: 1)"); +u32 ql2xdelay_before_pci_error_handling = 5; +module_param(ql2xdelay_before_pci_error_handling, uint, 0644); +MODULE_PARM_DESC(ql2xdelay_before_pci_error_handling, + "Number of seconds delayed before qla begin PCI error self-handling (default: 5).\n"); + static void qla2x00_clear_drv_active(struct qla_hw_data *); static void qla2x00_free_device(scsi_qla_host_t *); static int qla2xxx_map_queues(struct Scsi_Host *shost); @@ -1337,21 +1342,20 @@ /* * Returns: QLA_SUCCESS or QLA_FUNCTION_FAILED. */ -int -qla2x00_eh_wait_for_pending_commands(scsi_qla_host_t *vha, unsigned int t, - uint64_t l, enum nexus_wait_type type) +static int +__qla2x00_eh_wait_for_pending_commands(struct qla_qpair *qpair, unsigned int t, + uint64_t l, enum nexus_wait_type type) { int cnt, match, status; unsigned long flags; - struct qla_hw_data *ha = vha->hw; - struct req_que *req; + scsi_qla_host_t *vha = qpair->vha; + struct req_que *req = qpair->req; srb_t *sp; struct scsi_cmnd *cmd; status = QLA_SUCCESS; - spin_lock_irqsave(&ha->hardware_lock, flags); - req = vha->req; + spin_lock_irqsave(qpair->qp_lock_ptr, flags); for (cnt = 1; status == QLA_SUCCESS && cnt < req->num_outstanding_cmds; cnt++) { sp = req->outstanding_cmds[cnt]; @@ -1378,15 +1382,35 @@ if (!match) continue; - spin_unlock_irqrestore(&ha->hardware_lock, flags); + spin_unlock_irqrestore(qpair->qp_lock_ptr, flags); status = qla2x00_eh_wait_on_command(cmd); - spin_lock_irqsave(&ha->hardware_lock, flags); + spin_lock_irqsave(qpair->qp_lock_ptr, flags); } - spin_unlock_irqrestore(&ha->hardware_lock, flags); + spin_unlock_irqrestore(qpair->qp_lock_ptr, flags); return status; } +int +qla2x00_eh_wait_for_pending_commands(scsi_qla_host_t *vha, unsigned int t, + uint64_t l, enum nexus_wait_type type) +{ + struct qla_qpair *qpair; + struct qla_hw_data *ha = vha->hw; + int i, status = QLA_SUCCESS; + + status = __qla2x00_eh_wait_for_pending_commands(ha->base_qpair, t, l, + type); + for (i = 0; status == QLA_SUCCESS && i < ha->max_qpairs; i++) { + qpair = ha->queue_pair_map[i]; + if (!qpair) + continue; + status = __qla2x00_eh_wait_for_pending_commands(qpair, t, l, + type); + } + return status; +} + static char *reset_errors[] = { "HBA not online", "HBA not ready", @@ -1420,7 +1444,7 @@ return err; if (fcport->deleted) - return SUCCESS; + return FAILED; ql_log(ql_log_info, vha, 0x8009, "DEVICE RESET ISSUED nexus=%ld:%d:%llu cmd=%p.\n", vha->host_no, @@ -1488,7 +1512,7 @@ return err; if (fcport->deleted) - return SUCCESS; + return FAILED; ql_log(ql_log_info, vha, 0x8009, "TARGET RESET ISSUED nexus=%ld:%d cmd=%p.\n", vha->host_no, @@ -5015,13 +5039,11 @@ qla2x00_alloc_work(struct scsi_qla_host *vha, enum qla_work_type type) { struct qla_work_evt *e; - uint8_t bail; if (test_bit(UNLOADING, &vha->dpc_flags)) return NULL; - QLA_VHA_MARK_BUSY(vha, bail); - if (bail) + if (qla_vha_mark_busy(vha)) return NULL; e = kzalloc(sizeof(struct qla_work_evt), GFP_ATOMIC); @@ -5472,7 +5494,7 @@ e->u.fcport.fcport, false); break; case QLA_EVT_SA_REPLACE: - qla24xx_issue_sa_replace_iocb(vha, e); + rc = qla24xx_issue_sa_replace_iocb(vha, e); break; } @@ -7043,9 +7065,12 @@ } } loop_resync_check: - if (test_and_clear_bit(LOOP_RESYNC_NEEDED, + if (!qla2x00_reset_active(base_vha) && + test_and_clear_bit(LOOP_RESYNC_NEEDED, &base_vha->dpc_flags)) { - + /* + * Allow abort_isp to complete before moving on to scanning. + */ ql_dbg(ql_dbg_dpc, base_vha, 0x400f, "Loop resync scheduled.\n"); @@ -7238,6 +7263,44 @@ } } +static void qla_wind_down_chip(scsi_qla_host_t *vha) +{ + struct qla_hw_data *ha = vha->hw; + + if (!ha->flags.eeh_busy) + return; + if (ha->pci_error_state) + /* system is trying to recover */ + return; + + /* + * Current system is not handling PCIE error. At this point, this is + * best effort to wind down the adapter. + */ + if (time_after_eq(jiffies, ha->eeh_jif + ql2xdelay_before_pci_error_handling * HZ) && + !ha->flags.eeh_flush) { + ql_log(ql_log_info, vha, 0x9009, + "PCI Error detected, attempting to reset hardware.\n"); + + ha->isp_ops->reset_chip(vha); + ha->isp_ops->disable_intrs(ha); + + ha->flags.eeh_flush = EEH_FLUSH_RDY; + ha->eeh_jif = jiffies; + + } else if (ha->flags.eeh_flush == EEH_FLUSH_RDY && + time_after_eq(jiffies, ha->eeh_jif + 5 * HZ)) { + pci_clear_master(ha->pdev); + + /* flush all command */ + qla2x00_abort_isp_cleanup(vha); + ha->flags.eeh_flush = EEH_FLUSH_DONE; + + ql_log(ql_log_info, vha, 0x900a, + "PCI Error handling complete, all IOs aborted.\n"); + } +} + /************************************************************************** * qla2x00_timer * @@ -7261,6 +7324,8 @@ fc_port_t *fcport = NULL; if (ha->flags.eeh_busy) { + qla_wind_down_chip(vha); + ql_dbg(ql_dbg_timer, vha, 0x6000, "EEH = %d, restarting timer.\n", ha->flags.eeh_busy); @@ -7356,7 +7421,7 @@ /* if the loop has been down for 4 minutes, reinit adapter */ if (atomic_dec_and_test(&vha->loop_down_timer) != 0) { - if (!(vha->device_flags & DFLG_NO_CABLE)) { + if (!(vha->device_flags & DFLG_NO_CABLE) && !vha->vp_idx) { ql_log(ql_log_warn, vha, 0x6009, "Loop down - aborting ISP.\n"); @@ -7841,6 +7906,9 @@ spin_lock_irqsave(&base_vha->work_lock, flags); if (!ha->flags.eeh_busy) { + ha->eeh_jif = jiffies; + ha->flags.eeh_flush = 0; + ha->flags.eeh_busy = 1; do_cleanup = true; } --- linux-gcp-5.19.0.orig/drivers/scsi/qla2xxx/qla_target.c +++ linux-gcp-5.19.0/drivers/scsi/qla2xxx/qla_target.c @@ -981,22 +981,6 @@ sess->send_els_logo); if (!IS_SW_RESV_ADDR(sess->d_id)) { - if (ha->flags.edif_enabled && - (!own || own->iocb.u.isp24.status_subcode == ELS_PLOGI)) { - sess->edif.authok = 0; - if (!ha->flags.host_shutting_down) { - ql_dbg(ql_dbg_edif, vha, 0x911e, - "%s wwpn %8phC calling qla2x00_release_all_sadb\n", - __func__, sess->port_name); - qla2x00_release_all_sadb(vha, sess); - } else { - ql_dbg(ql_dbg_edif, vha, 0x911e, - "%s bypassing release_all_sadb\n", - __func__); - } - qla_edif_clear_appdata(vha, sess); - qla_edif_sess_down(vha, sess); - } qla2x00_mark_device_lost(vha, sess, 0); if (sess->send_els_logo) { @@ -1042,6 +1026,25 @@ sess->nvme_flag |= NVME_FLAG_DELETING; qla_nvme_unregister_remote_port(sess); } + + if (ha->flags.edif_enabled && + (!own || (own && + own->iocb.u.isp24.status_subcode == ELS_PLOGI))) { + sess->edif.authok = 0; + if (!ha->flags.host_shutting_down) { + ql_dbg(ql_dbg_edif, vha, 0x911e, + "%s wwpn %8phC calling qla2x00_release_all_sadb\n", + __func__, sess->port_name); + qla2x00_release_all_sadb(vha, sess); + } else { + ql_dbg(ql_dbg_edif, vha, 0x911e, + "%s bypassing release_all_sadb\n", + __func__); + } + + qla_edif_clear_appdata(vha, sess); + qla_edif_sess_down(vha, sess); + } } /* @@ -2148,8 +2151,10 @@ abort_cmd = ha->tgt.tgt_ops->find_cmd_by_tag(sess, le32_to_cpu(abts->exchange_addr_to_abort)); - if (!abort_cmd) + if (!abort_cmd) { + mempool_free(mcmd, qla_tgt_mgmt_cmd_mempool); return -EIO; + } mcmd->unpacked_lun = abort_cmd->se_cmd.orig_fe_lun; if (abort_cmd->qpair) { @@ -6932,14 +6937,8 @@ if (ha->flags.msix_enabled) { if (IS_QLA83XX(ha) || IS_QLA27XX(ha) || IS_QLA28XX(ha)) { - if (IS_QLA2071(ha)) { - /* 4 ports Baker: Enable Interrupt Handshake */ - icb->msix_atio = 0; - icb->firmware_options_2 |= cpu_to_le32(BIT_26); - } else { - icb->msix_atio = cpu_to_le16(msix->entry); - icb->firmware_options_2 &= cpu_to_le32(~BIT_26); - } + icb->msix_atio = cpu_to_le16(msix->entry); + icb->firmware_options_2 &= cpu_to_le32(~BIT_26); ql_dbg(ql_dbg_init, vha, 0xf072, "Registering ICB vector 0x%x for atio que.\n", msix->entry); --- linux-gcp-5.19.0.orig/drivers/scsi/scsi_debug.c +++ linux-gcp-5.19.0/drivers/scsi/scsi_debug.c @@ -1899,6 +1899,13 @@ arr[14] |= 0x40; } + /* + * Since the scsi_debug READ CAPACITY implementation always reports the + * total disk capacity, set RC BASIS = 1 for host-managed ZBC devices. + */ + if (devip->zmodel == BLK_ZONED_HM) + arr[12] |= 1 << 4; + arr[15] = sdebug_lowest_aligned & 0xff; if (have_dif_prot) { @@ -3778,7 +3785,7 @@ mk_sense_buffer(scp, ILLEGAL_REQUEST, INVALID_FIELD_IN_CDB, 0); return illegal_condition_result; } - lrdp = kzalloc(lbdof_blen, GFP_ATOMIC); + lrdp = kzalloc(lbdof_blen, GFP_ATOMIC | __GFP_NOWARN); if (lrdp == NULL) return SCSI_MLQUEUE_HOST_BUSY; if (sdebug_verbose) @@ -4429,7 +4436,7 @@ if (ret) return ret; - arr = kcalloc(lb_size, vnum, GFP_ATOMIC); + arr = kcalloc(lb_size, vnum, GFP_ATOMIC | __GFP_NOWARN); if (!arr) { mk_sense_buffer(scp, ILLEGAL_REQUEST, INSUFF_RES_ASC, INSUFF_RES_ASCQ); @@ -4497,7 +4504,7 @@ rep_max_zones = (alloc_len - 64) >> ilog2(RZONES_DESC_HD); - arr = kzalloc(alloc_len, GFP_ATOMIC); + arr = kzalloc(alloc_len, GFP_ATOMIC | __GFP_NOWARN); if (!arr) { mk_sense_buffer(scp, ILLEGAL_REQUEST, INSUFF_RES_ASC, INSUFF_RES_ASCQ); @@ -7316,8 +7323,12 @@ dev_set_name(&sdbg_host->dev, "adapter%d", sdebug_num_hosts); error = device_register(&sdbg_host->dev); - if (error) + if (error) { + spin_lock(&sdebug_host_list_lock); + list_del(&sdbg_host->host_list); + spin_unlock(&sdebug_host_list_lock); goto clean; + } ++sdebug_num_hosts; return 0; @@ -7329,7 +7340,10 @@ kfree(sdbg_devinfo->zstate); kfree(sdbg_devinfo); } - kfree(sdbg_host); + if (sdbg_host->dev.release) + put_device(&sdbg_host->dev); + else + kfree(sdbg_host); pr_warn("%s: failed, errno=%d\n", __func__, -error); return error; } --- linux-gcp-5.19.0.orig/drivers/scsi/scsi_error.c +++ linux-gcp-5.19.0/drivers/scsi/scsi_error.c @@ -342,19 +342,11 @@ if (rtn == BLK_EH_DONE) { /* - * Set the command to complete first in order to prevent a real - * completion from releasing the command while error handling - * is using it. If the command was already completed, then the - * lower level driver beat the timeout handler, and it is safe - * to return without escalating error recovery. - * - * If timeout handling lost the race to a real completion, the - * block layer may ignore that due to a fake timeout injection, - * so return RESET_TIMER to allow error handling another shot - * at this command. + * If scsi_done() has already set SCMD_STATE_COMPLETE, do not + * modify *scmd. */ if (test_and_set_bit(SCMD_STATE_COMPLETE, &scmd->state)) - return BLK_EH_RESET_TIMER; + return BLK_EH_DONE; if (scsi_abort_command(scmd) != SUCCESS) { set_host_byte(scmd, DID_TIME_OUT); scsi_eh_scmd_add(scmd); --- linux-gcp-5.19.0.orig/drivers/scsi/scsi_lib.c +++ linux-gcp-5.19.0/drivers/scsi/scsi_lib.c @@ -118,7 +118,7 @@ } } -static void scsi_mq_requeue_cmd(struct scsi_cmnd *cmd) +static void scsi_mq_requeue_cmd(struct scsi_cmnd *cmd, unsigned long msecs) { struct request *rq = scsi_cmd_to_rq(cmd); @@ -128,7 +128,12 @@ } else { WARN_ON_ONCE(true); } - blk_mq_requeue_request(rq, true); + + if (msecs) { + blk_mq_requeue_request(rq, false); + blk_mq_delay_kick_requeue_list(rq->q, msecs); + } else + blk_mq_requeue_request(rq, true); } /** @@ -163,7 +168,7 @@ * Requeue this command. It will go before all other commands * that are already in the queue. Schedule requeue work under * lock such that the kblockd_schedule_work() call happens - * before blk_cleanup_queue() finishes. + * before blk_mq_destroy_queue() finishes. */ cmd->result = 0; @@ -424,9 +429,9 @@ * it and the queue. Mitigate by taking a reference to the * queue and never touching the sdev again after we drop the * host lock. Note: if __scsi_remove_device() invokes - * blk_cleanup_queue() before the queue is run from this + * blk_mq_destroy_queue() before the queue is run from this * function then blk_run_queue() will return immediately since - * blk_cleanup_queue() marks the queue with QUEUE_FLAG_DYING. + * blk_mq_destroy_queue() marks the queue with QUEUE_FLAG_DYING. */ slq = sdev->request_queue; if (!blk_get_queue(slq)) @@ -658,14 +663,6 @@ return bytes; } -/* Helper for scsi_io_completion() when "reprep" action required. */ -static void scsi_io_completion_reprep(struct scsi_cmnd *cmd, - struct request_queue *q) -{ - /* A new command will be prepared and issued. */ - scsi_mq_requeue_cmd(cmd); -} - static bool scsi_cmd_runtime_exceeced(struct scsi_cmnd *cmd) { struct request *req = scsi_cmd_to_rq(cmd); @@ -683,14 +680,21 @@ return false; } +/* + * When ALUA transition state is returned, reprep the cmd to + * use the ALUA handler's transition timeout. Delay the reprep + * 1 sec to avoid aggressive retries of the target in that + * state. + */ +#define ALUA_TRANSITION_REPREP_DELAY 1000 + /* Helper for scsi_io_completion() when special action required. */ static void scsi_io_completion_action(struct scsi_cmnd *cmd, int result) { - struct request_queue *q = cmd->device->request_queue; struct request *req = scsi_cmd_to_rq(cmd); int level = 0; - enum {ACTION_FAIL, ACTION_REPREP, ACTION_RETRY, - ACTION_DELAYED_RETRY} action; + enum {ACTION_FAIL, ACTION_REPREP, ACTION_DELAYED_REPREP, + ACTION_RETRY, ACTION_DELAYED_RETRY} action; struct scsi_sense_hdr sshdr; bool sense_valid; bool sense_current = true; /* false implies "deferred sense" */ @@ -779,8 +783,8 @@ action = ACTION_DELAYED_RETRY; break; case 0x0a: /* ALUA state transition */ - blk_stat = BLK_STS_TRANSPORT; - fallthrough; + action = ACTION_DELAYED_REPREP; + break; default: action = ACTION_FAIL; break; @@ -839,7 +843,10 @@ return; fallthrough; case ACTION_REPREP: - scsi_io_completion_reprep(cmd, q); + scsi_mq_requeue_cmd(cmd, 0); + break; + case ACTION_DELAYED_REPREP: + scsi_mq_requeue_cmd(cmd, ALUA_TRANSITION_REPREP_DELAY); break; case ACTION_RETRY: /* Retry the same command immediately */ @@ -933,7 +940,7 @@ * command block will be released and the queue function will be goosed. If we * are not done then we have to figure out what to do next: * - * a) We can call scsi_io_completion_reprep(). The request will be + * a) We can call scsi_mq_requeue_cmd(). The request will be * unprepared and put back on the queue. Then a new command will * be created for it. This should be used if we made forward * progress, or if we want to switch from READ(10) to READ(6) for @@ -949,7 +956,6 @@ void scsi_io_completion(struct scsi_cmnd *cmd, unsigned int good_bytes) { int result = cmd->result; - struct request_queue *q = cmd->device->request_queue; struct request *req = scsi_cmd_to_rq(cmd); blk_status_t blk_stat = BLK_STS_OK; @@ -986,7 +992,7 @@ * request just queue the command up again. */ if (likely(result == 0)) - scsi_io_completion_reprep(cmd, q); + scsi_mq_requeue_cmd(cmd, 0); else scsi_io_completion_action(cmd, result); } @@ -1549,7 +1555,6 @@ scsi_init_command(sdev, cmd); cmd->eh_eflags = 0; - cmd->allowed = 0; cmd->prot_type = 0; cmd->prot_flags = 0; cmd->submitter = 0; @@ -1600,6 +1605,8 @@ return ret; } + /* Usually overridden by the ULP */ + cmd->allowed = 0; memset(cmd->cmnd, 0, sizeof(cmd->cmnd)); return scsi_cmd_to_driver(cmd)->init_command(cmd); } @@ -1988,9 +1995,13 @@ return blk_mq_alloc_tag_set(tag_set); } -void scsi_mq_destroy_tags(struct Scsi_Host *shost) +void scsi_mq_free_tags(struct kref *kref) { + struct Scsi_Host *shost = container_of(kref, typeof(*shost), + tagset_refcnt); + blk_mq_free_tag_set(&shost->tag_set); + complete(&shost->tagset_freed); } /** --- linux-gcp-5.19.0.orig/drivers/scsi/scsi_priv.h +++ linux-gcp-5.19.0/drivers/scsi/scsi_priv.h @@ -94,7 +94,7 @@ extern void scsi_requeue_run_queue(struct work_struct *work); extern void scsi_start_queue(struct scsi_device *sdev); extern int scsi_mq_setup_tags(struct Scsi_Host *shost); -extern void scsi_mq_destroy_tags(struct Scsi_Host *shost); +extern void scsi_mq_free_tags(struct kref *kref); extern void scsi_exit_queue(void); extern void scsi_evt_thread(struct work_struct *work); --- linux-gcp-5.19.0.orig/drivers/scsi/scsi_scan.c +++ linux-gcp-5.19.0/drivers/scsi/scsi_scan.c @@ -340,6 +340,7 @@ kfree(sdev); goto out; } + kref_get(&sdev->host->tagset_refcnt); sdev->request_queue = q; q->queuedata = sdev; __scsi_init_queue(sdev->host, q); @@ -1232,8 +1233,7 @@ * that no LUN is present, so don't add sdev in these cases. * Two specific examples are: * 1) NetApp targets: return PQ=1, PDT=0x1f - * 2) IBM/2145 targets: return PQ=1, PDT=0 - * 3) USB UFI: returns PDT=0x1f, with the PQ bits being "reserved" + * 2) USB UFI: returns PDT=0x1f, with the PQ bits being "reserved" * in the UFI 1.0 spec (we cannot rely on reserved bits). * * References: @@ -1247,8 +1247,8 @@ * PDT=00h Direct-access device (floppy) * PDT=1Fh none (no FDD connected to the requested logical unit) */ - if (((result[0] >> 5) == 1 || - (starget->pdt_1f_for_no_lun && (result[0] & 0x1f) == 0x1f)) && + if (((result[0] >> 5) == 1 || starget->pdt_1f_for_no_lun) && + (result[0] & 0x1f) == 0x1f && !scsi_is_wlun(lun)) { SCSI_LOG_SCAN_BUS(3, sdev_printk(KERN_INFO, sdev, "scsi scan: peripheral device type" --- linux-gcp-5.19.0.orig/drivers/scsi/scsi_sysfs.c +++ linux-gcp-5.19.0/drivers/scsi/scsi_sysfs.c @@ -828,6 +828,14 @@ } mutex_lock(&sdev->state_mutex); + switch (sdev->sdev_state) { + case SDEV_RUNNING: + case SDEV_OFFLINE: + break; + default: + mutex_unlock(&sdev->state_mutex); + return -EINVAL; + } if (sdev->sdev_state == SDEV_RUNNING && state == SDEV_RUNNING) { ret = 0; } else { @@ -1475,7 +1483,8 @@ scsi_device_set_state(sdev, SDEV_DEL); mutex_unlock(&sdev->state_mutex); - blk_cleanup_queue(sdev->request_queue); + blk_mq_destroy_queue(sdev->request_queue); + kref_put(&sdev->host->tagset_refcnt, scsi_mq_free_tags); cancel_work_sync(&sdev->requeue_work); if (sdev->host->hostt->slave_destroy) --- linux-gcp-5.19.0.orig/drivers/scsi/scsi_transport_iscsi.c +++ linux-gcp-5.19.0/drivers/scsi/scsi_transport_iscsi.c @@ -231,7 +231,7 @@ dev_set_name(&ep->dev, "ep-%d", id); err = device_register(&ep->dev); if (err) - goto free_id; + goto put_dev; err = sysfs_create_group(&ep->dev.kobj, &iscsi_endpoint_group); if (err) @@ -245,10 +245,12 @@ device_unregister(&ep->dev); return NULL; -free_id: +put_dev: mutex_lock(&iscsi_ep_idr_mutex); idr_remove(&iscsi_ep_idr, id); mutex_unlock(&iscsi_ep_idr_mutex); + put_device(&ep->dev); + return NULL; free_ep: kfree(ep); return NULL; @@ -766,7 +768,7 @@ err = device_register(&iface->dev); if (err) - goto free_iface; + goto put_dev; err = sysfs_create_group(&iface->dev.kobj, &iscsi_iface_group); if (err) @@ -780,9 +782,8 @@ device_unregister(&iface->dev); return NULL; -free_iface: - put_device(iface->dev.parent); - kfree(iface); +put_dev: + put_device(&iface->dev); return NULL; } EXPORT_SYMBOL_GPL(iscsi_create_iface); @@ -1251,15 +1252,15 @@ err = device_register(&fnode_sess->dev); if (err) - goto free_fnode_sess; + goto put_dev; if (dd_size) fnode_sess->dd_data = &fnode_sess[1]; return fnode_sess; -free_fnode_sess: - kfree(fnode_sess); +put_dev: + put_device(&fnode_sess->dev); return NULL; } EXPORT_SYMBOL_GPL(iscsi_create_flashnode_sess); @@ -1299,15 +1300,15 @@ err = device_register(&fnode_conn->dev); if (err) - goto free_fnode_conn; + goto put_dev; if (dd_size) fnode_conn->dd_data = &fnode_conn[1]; return fnode_conn; -free_fnode_conn: - kfree(fnode_conn); +put_dev: + put_device(&fnode_conn->dev); return NULL; } EXPORT_SYMBOL_GPL(iscsi_create_flashnode_conn); @@ -1676,6 +1677,13 @@ return name; } +static char *iscsi_session_target_state_name[] = { + [ISCSI_SESSION_TARGET_UNBOUND] = "UNBOUND", + [ISCSI_SESSION_TARGET_ALLOCATED] = "ALLOCATED", + [ISCSI_SESSION_TARGET_SCANNED] = "SCANNED", + [ISCSI_SESSION_TARGET_UNBINDING] = "UNBINDING", +}; + int iscsi_session_chkready(struct iscsi_cls_session *session) { int err; @@ -1785,9 +1793,13 @@ if ((scan_data->channel == SCAN_WILD_CARD || scan_data->channel == 0) && (scan_data->id == SCAN_WILD_CARD || - scan_data->id == id)) + scan_data->id == id)) { scsi_scan_target(&session->dev, 0, id, scan_data->lun, scan_data->rescan); + spin_lock_irqsave(&session->lock, flags); + session->target_state = ISCSI_SESSION_TARGET_SCANNED; + spin_unlock_irqrestore(&session->lock, flags); + } } user_scan_exit: @@ -1960,31 +1972,41 @@ struct iscsi_cls_host *ihost = shost->shost_data; unsigned long flags; unsigned int target_id; + bool remove_target = true; ISCSI_DBG_TRANS_SESSION(session, "Unbinding session\n"); /* Prevent new scans and make sure scanning is not in progress */ mutex_lock(&ihost->mutex); spin_lock_irqsave(&session->lock, flags); - if (session->target_id == ISCSI_MAX_TARGET) { + if (session->target_state == ISCSI_SESSION_TARGET_ALLOCATED) { + remove_target = false; + } else if (session->target_state != ISCSI_SESSION_TARGET_SCANNED) { spin_unlock_irqrestore(&session->lock, flags); mutex_unlock(&ihost->mutex); - goto unbind_session_exit; + ISCSI_DBG_TRANS_SESSION(session, + "Skipping target unbinding: Session is unbound/unbinding.\n"); + return; } + session->target_state = ISCSI_SESSION_TARGET_UNBINDING; target_id = session->target_id; session->target_id = ISCSI_MAX_TARGET; spin_unlock_irqrestore(&session->lock, flags); mutex_unlock(&ihost->mutex); - scsi_remove_target(&session->dev); + if (remove_target) + scsi_remove_target(&session->dev); if (session->ida_used) ida_simple_remove(&iscsi_sess_ida, target_id); -unbind_session_exit: iscsi_session_event(session, ISCSI_KEVENT_UNBIND_SESSION); ISCSI_DBG_TRANS_SESSION(session, "Completed target removal\n"); + + spin_lock_irqsave(&session->lock, flags); + session->target_state = ISCSI_SESSION_TARGET_UNBOUND; + spin_unlock_irqrestore(&session->lock, flags); } static void __iscsi_destroy_session(struct work_struct *work) @@ -2061,6 +2083,9 @@ session->ida_used = true; } else session->target_id = target_id; + spin_lock_irqsave(&session->lock, flags); + session->target_state = ISCSI_SESSION_TARGET_ALLOCATED; + spin_unlock_irqrestore(&session->lock, flags); dev_set_name(&session->dev, "session%u", session->sid); err = device_add(&session->dev); @@ -2143,8 +2168,6 @@ return 0; iscsi_remove_conn(iscsi_dev_to_conn(dev)); - iscsi_put_conn(iscsi_dev_to_conn(dev)); - return 0; } @@ -2264,16 +2287,8 @@ } } -static int iscsi_if_stop_conn(struct iscsi_transport *transport, - struct iscsi_uevent *ev) +static int iscsi_if_stop_conn(struct iscsi_cls_conn *conn, int flag) { - int flag = ev->u.stop_conn.flag; - struct iscsi_cls_conn *conn; - - conn = iscsi_conn_lookup(ev->u.stop_conn.sid, ev->u.stop_conn.cid); - if (!conn) - return -EINVAL; - ISCSI_DBG_TRANS_CONN(conn, "iscsi if conn stop.\n"); /* * If this is a termination we have to call stop_conn with that flag @@ -2349,6 +2364,55 @@ ISCSI_DBG_TRANS_CONN(conn, "cleanup done.\n"); } +static int iscsi_iter_force_destroy_conn_fn(struct device *dev, void *data) +{ + struct iscsi_transport *transport; + struct iscsi_cls_conn *conn; + + if (!iscsi_is_conn_dev(dev)) + return 0; + + conn = iscsi_dev_to_conn(dev); + transport = conn->transport; + + if (READ_ONCE(conn->state) != ISCSI_CONN_DOWN) + iscsi_if_stop_conn(conn, STOP_CONN_TERM); + + transport->destroy_conn(conn); + return 0; +} + +/** + * iscsi_force_destroy_session - destroy a session from the kernel + * @session: session to destroy + * + * Force the destruction of a session from the kernel. This should only be + * used when userspace is no longer running during system shutdown. + */ +void iscsi_force_destroy_session(struct iscsi_cls_session *session) +{ + struct iscsi_transport *transport = session->transport; + unsigned long flags; + + WARN_ON_ONCE(system_state == SYSTEM_RUNNING); + + spin_lock_irqsave(&sesslock, flags); + if (list_empty(&session->sess_list)) { + spin_unlock_irqrestore(&sesslock, flags); + /* + * Conn/ep is already freed. Session is being torn down via + * async path. For shutdown we don't care about it so return. + */ + return; + } + spin_unlock_irqrestore(&sesslock, flags); + + device_for_each_child(&session->dev, NULL, + iscsi_iter_force_destroy_conn_fn); + transport->destroy_session(session); +} +EXPORT_SYMBOL_GPL(iscsi_force_destroy_session); + void iscsi_free_session(struct iscsi_cls_session *session) { ISCSI_DBG_TRANS_SESSION(session, "Freeing session\n"); @@ -3720,7 +3784,12 @@ case ISCSI_UEVENT_DESTROY_CONN: return iscsi_if_destroy_conn(transport, ev); case ISCSI_UEVENT_STOP_CONN: - return iscsi_if_stop_conn(transport, ev); + conn = iscsi_conn_lookup(ev->u.stop_conn.sid, + ev->u.stop_conn.cid); + if (!conn) + return -EINVAL; + + return iscsi_if_stop_conn(conn, ev->u.stop_conn.flag); } /* @@ -4325,6 +4394,19 @@ iscsi_session_attr(discovery_parent_type, ISCSI_PARAM_DISCOVERY_PARENT_TYPE, 0); static ssize_t +show_priv_session_target_state(struct device *dev, struct device_attribute *attr, + char *buf) +{ + struct iscsi_cls_session *session = iscsi_dev_to_session(dev->parent); + + return sysfs_emit(buf, "%s\n", + iscsi_session_target_state_name[session->target_state]); +} + +static ISCSI_CLASS_ATTR(priv_sess, target_state, S_IRUGO, + show_priv_session_target_state, NULL); + +static ssize_t show_priv_session_state(struct device *dev, struct device_attribute *attr, char *buf) { @@ -4426,6 +4508,7 @@ &dev_attr_sess_boot_target.attr, &dev_attr_priv_sess_recovery_tmo.attr, &dev_attr_priv_sess_state.attr, + &dev_attr_priv_sess_target_state.attr, &dev_attr_priv_sess_creator.attr, &dev_attr_sess_chap_out_idx.attr, &dev_attr_sess_chap_in_idx.attr, @@ -4539,6 +4622,8 @@ return S_IRUGO | S_IWUSR; else if (attr == &dev_attr_priv_sess_state.attr) return S_IRUGO; + else if (attr == &dev_attr_priv_sess_target_state.attr) + return S_IRUGO; else if (attr == &dev_attr_priv_sess_creator.attr) return S_IRUGO; else if (attr == &dev_attr_priv_sess_target_id.attr) @@ -4771,7 +4856,7 @@ dev_set_name(&priv->dev, "%s", tt->name); err = device_register(&priv->dev); if (err) - goto free_priv; + goto put_dev; err = sysfs_create_group(&priv->dev.kobj, &iscsi_transport_group); if (err) @@ -4806,8 +4891,8 @@ unregister_dev: device_unregister(&priv->dev); return NULL; -free_priv: - kfree(priv); +put_dev: + put_device(&priv->dev); return NULL; } EXPORT_SYMBOL_GPL(iscsi_register_transport); --- linux-gcp-5.19.0.orig/drivers/scsi/scsi_transport_sas.c +++ linux-gcp-5.19.0/drivers/scsi/scsi_transport_sas.c @@ -716,12 +716,17 @@ int error; error = device_add(&phy->dev); - if (!error) { - transport_add_device(&phy->dev); - transport_configure_device(&phy->dev); + if (error) + return error; + + error = transport_add_device(&phy->dev); + if (error) { + device_del(&phy->dev); + return error; } + transport_configure_device(&phy->dev); - return error; + return 0; } EXPORT_SYMBOL(sas_phy_add); --- linux-gcp-5.19.0.orig/drivers/scsi/sd.c +++ linux-gcp-5.19.0/drivers/scsi/sd.c @@ -3440,8 +3440,8 @@ if (!sdkp) goto out; - gd = __alloc_disk_node(sdp->request_queue, NUMA_NO_NODE, - &sd_bio_compl_lkclass); + gd = blk_mq_alloc_disk_for_queue(sdp->request_queue, + &sd_bio_compl_lkclass); if (!gd) goto out_free; --- linux-gcp-5.19.0.orig/drivers/scsi/ses.c +++ linux-gcp-5.19.0/drivers/scsi/ses.c @@ -433,8 +433,8 @@ } #endif /* 0 */ -static void ses_process_descriptor(struct enclosure_component *ecomp, - unsigned char *desc) +static int ses_process_descriptor(struct enclosure_component *ecomp, + unsigned char *desc, int max_desc_len) { int eip = desc[0] & 0x10; int invalid = desc[0] & 0x80; @@ -445,22 +445,32 @@ unsigned char *d; if (invalid) - return; + return 0; switch (proto) { case SCSI_PROTOCOL_FCP: if (eip) { + if (max_desc_len <= 7) + return 1; d = desc + 4; slot = d[3]; } break; case SCSI_PROTOCOL_SAS: + if (eip) { + if (max_desc_len <= 27) + return 1; d = desc + 4; slot = d[3]; d = desc + 8; - } else + } else { + if (max_desc_len <= 23) + return 1; d = desc + 4; + } + + /* only take the phy0 addr */ addr = (u64)d[12] << 56 | (u64)d[13] << 48 | @@ -477,6 +487,8 @@ } ecomp->slot = slot; scomp->addr = addr; + + return 0; } struct efd { @@ -549,7 +561,7 @@ /* skip past overall descriptor */ desc_ptr += len + 4; } - if (ses_dev->page10) + if (ses_dev->page10 && ses_dev->page10_len > 9) addl_desc_ptr = ses_dev->page10 + 8; type_ptr = ses_dev->page1_types; components = 0; @@ -557,17 +569,22 @@ for (j = 0; j < type_ptr[1]; j++) { char *name = NULL; struct enclosure_component *ecomp; + int max_desc_len; if (desc_ptr) { - if (desc_ptr >= buf + page7_len) { + if (desc_ptr + 3 >= buf + page7_len) { desc_ptr = NULL; } else { len = (desc_ptr[2] << 8) + desc_ptr[3]; desc_ptr += 4; - /* Add trailing zero - pushes into - * reserved space */ - desc_ptr[len] = '\0'; - name = desc_ptr; + if (desc_ptr + len > buf + page7_len) + desc_ptr = NULL; + else { + /* Add trailing zero - pushes into + * reserved space */ + desc_ptr[len] = '\0'; + name = desc_ptr; + } } } if (type_ptr[0] == ENCLOSURE_COMPONENT_DEVICE || @@ -583,10 +600,14 @@ ecomp = &edev->component[components++]; if (!IS_ERR(ecomp)) { - if (addl_desc_ptr) - ses_process_descriptor( - ecomp, - addl_desc_ptr); + if (addl_desc_ptr) { + max_desc_len = ses_dev->page10_len - + (addl_desc_ptr - ses_dev->page10); + if (ses_process_descriptor(ecomp, + addl_desc_ptr, + max_desc_len)) + addl_desc_ptr = NULL; + } if (create) enclosure_component_register( ecomp); @@ -603,9 +624,11 @@ /* these elements are optional */ type_ptr[0] == ENCLOSURE_COMPONENT_SCSI_TARGET_PORT || type_ptr[0] == ENCLOSURE_COMPONENT_SCSI_INITIATOR_PORT || - type_ptr[0] == ENCLOSURE_COMPONENT_CONTROLLER_ELECTRONICS)) + type_ptr[0] == ENCLOSURE_COMPONENT_CONTROLLER_ELECTRONICS)) { addl_desc_ptr += addl_desc_ptr[1] + 2; - + if (addl_desc_ptr + 1 >= ses_dev->page10 + ses_dev->page10_len) + addl_desc_ptr = NULL; + } } } kfree(buf); @@ -704,6 +727,12 @@ type_ptr[0] == ENCLOSURE_COMPONENT_ARRAY_DEVICE) components += type_ptr[1]; } + + if (components == 0) { + sdev_printk(KERN_WARNING, sdev, "enclosure has no enumerated components\n"); + goto err_free; + } + ses_dev->page1 = buf; ses_dev->page1_len = len; buf = NULL; @@ -827,7 +856,8 @@ kfree(ses_dev->page2); kfree(ses_dev); - kfree(edev->component[0].scratch); + if (edev->components) + kfree(edev->component[0].scratch); put_device(&edev->edev); enclosure_unregister(edev); --- linux-gcp-5.19.0.orig/drivers/scsi/sg.c +++ linux-gcp-5.19.0/drivers/scsi/sg.c @@ -195,7 +195,7 @@ static void sg_unlink_reserve(Sg_fd * sfp, Sg_request * srp); static Sg_fd *sg_add_sfp(Sg_device * sdp); static void sg_remove_sfp(struct kref *); -static Sg_request *sg_get_rq_mark(Sg_fd * sfp, int pack_id); +static Sg_request *sg_get_rq_mark(Sg_fd * sfp, int pack_id, bool *busy); static Sg_request *sg_add_request(Sg_fd * sfp); static int sg_remove_request(Sg_fd * sfp, Sg_request * srp); static Sg_device *sg_get_dev(int dev); @@ -444,6 +444,7 @@ Sg_fd *sfp; Sg_request *srp; int req_pack_id = -1; + bool busy; sg_io_hdr_t *hp; struct sg_header *old_hdr; int retval; @@ -466,20 +467,16 @@ if (retval) return retval; - srp = sg_get_rq_mark(sfp, req_pack_id); + srp = sg_get_rq_mark(sfp, req_pack_id, &busy); if (!srp) { /* now wait on packet to arrive */ - if (atomic_read(&sdp->detaching)) - return -ENODEV; if (filp->f_flags & O_NONBLOCK) return -EAGAIN; retval = wait_event_interruptible(sfp->read_wait, - (atomic_read(&sdp->detaching) || - (srp = sg_get_rq_mark(sfp, req_pack_id)))); - if (atomic_read(&sdp->detaching)) - return -ENODEV; - if (retval) - /* -ERESTARTSYS as signal hit process */ - return retval; + ((srp = sg_get_rq_mark(sfp, req_pack_id, &busy)) || + (!busy && atomic_read(&sdp->detaching)))); + if (!srp) + /* signal or detaching */ + return retval ? retval : -ENODEV; } if (srp->header.interface_id != '\0') return sg_new_read(sfp, buf, count, srp); @@ -940,9 +937,7 @@ if (result < 0) return result; result = wait_event_interruptible(sfp->read_wait, - (srp_done(sfp, srp) || atomic_read(&sdp->detaching))); - if (atomic_read(&sdp->detaching)) - return -ENODEV; + srp_done(sfp, srp)); write_lock_irq(&sfp->rq_list_lock); if (srp->done) { srp->done = 2; @@ -2079,19 +2074,28 @@ } static Sg_request * -sg_get_rq_mark(Sg_fd * sfp, int pack_id) +sg_get_rq_mark(Sg_fd * sfp, int pack_id, bool *busy) { Sg_request *resp; unsigned long iflags; + *busy = false; write_lock_irqsave(&sfp->rq_list_lock, iflags); list_for_each_entry(resp, &sfp->rq_list, entry) { - /* look for requests that are ready + not SG_IO owned */ - if ((1 == resp->done) && (!resp->sg_io_owned) && + /* look for requests that are not SG_IO owned */ + if ((!resp->sg_io_owned) && ((-1 == pack_id) || (resp->header.pack_id == pack_id))) { - resp->done = 2; /* guard against other readers */ - write_unlock_irqrestore(&sfp->rq_list_lock, iflags); - return resp; + switch (resp->done) { + case 0: /* request active */ + *busy = true; + break; + case 1: /* request done; response ready to return */ + resp->done = 2; /* guard against other readers */ + write_unlock_irqrestore(&sfp->rq_list_lock, iflags); + return resp; + case 2: /* response already being returned */ + break; + } } } write_unlock_irqrestore(&sfp->rq_list_lock, iflags); @@ -2145,6 +2149,15 @@ res = 1; } write_unlock_irqrestore(&sfp->rq_list_lock, iflags); + + /* + * If the device is detaching, wakeup any readers in case we just + * removed the last response, which would leave nothing for them to + * return other than -ENODEV. + */ + if (unlikely(atomic_read(&sfp->parentdp->detaching))) + wake_up_interruptible_all(&sfp->read_wait); + return res; } --- linux-gcp-5.19.0.orig/drivers/scsi/smartpqi/smartpqi_init.c +++ linux-gcp-5.19.0/drivers/scsi/smartpqi/smartpqi_init.c @@ -5484,10 +5484,10 @@ } switch (scmd->sc_data_direction) { - case DMA_TO_DEVICE: + case DMA_FROM_DEVICE: request->data_direction = SOP_READ_FLAG; break; - case DMA_FROM_DEVICE: + case DMA_TO_DEVICE: request->data_direction = SOP_WRITE_FLAG; break; case DMA_NONE: --- linux-gcp-5.19.0.orig/drivers/scsi/snic/snic_debugfs.c +++ linux-gcp-5.19.0/drivers/scsi/snic/snic_debugfs.c @@ -451,6 +451,6 @@ void snic_trc_debugfs_term(void) { - debugfs_remove(debugfs_lookup(TRC_FILE, snic_glob->trc_root)); - debugfs_remove(debugfs_lookup(TRC_ENABLE_FILE, snic_glob->trc_root)); + debugfs_lookup_and_remove(TRC_FILE, snic_glob->trc_root); + debugfs_lookup_and_remove(TRC_ENABLE_FILE, snic_glob->trc_root); } --- linux-gcp-5.19.0.orig/drivers/scsi/snic/snic_disc.c +++ linux-gcp-5.19.0/drivers/scsi/snic/snic_disc.c @@ -318,6 +318,9 @@ ret); put_device(&snic->shost->shost_gendev); + spin_lock_irqsave(snic->shost->host_lock, flags); + list_del(&tgt->list); + spin_unlock_irqrestore(snic->shost->host_lock, flags); kfree(tgt); tgt = NULL; --- linux-gcp-5.19.0.orig/drivers/scsi/sr.c +++ linux-gcp-5.19.0/drivers/scsi/sr.c @@ -624,8 +624,8 @@ if (!cd) goto fail; - disk = __alloc_disk_node(sdev->request_queue, NUMA_NO_NODE, - &sr_bio_compl_lkclass); + disk = blk_mq_alloc_disk_for_queue(sdev->request_queue, + &sr_bio_compl_lkclass); if (!disk) goto fail_free; mutex_init(&cd->lock); --- linux-gcp-5.19.0.orig/drivers/scsi/stex.c +++ linux-gcp-5.19.0/drivers/scsi/stex.c @@ -665,16 +665,17 @@ return 0; case PASSTHRU_CMD: if (cmd->cmnd[1] == PASSTHRU_GET_DRVVER) { - struct st_drvver ver; + const struct st_drvver ver = { + .major = ST_VER_MAJOR, + .minor = ST_VER_MINOR, + .oem = ST_OEM, + .build = ST_BUILD_VER, + .signature[0] = PASSTHRU_SIGNATURE, + .console_id = host->max_id - 1, + .host_no = hba->host->host_no, + }; size_t cp_len = sizeof(ver); - ver.major = ST_VER_MAJOR; - ver.minor = ST_VER_MINOR; - ver.oem = ST_OEM; - ver.build = ST_BUILD_VER; - ver.signature[0] = PASSTHRU_SIGNATURE; - ver.console_id = host->max_id - 1; - ver.host_no = hba->host->host_no; cp_len = scsi_sg_copy_from_buffer(cmd, &ver, cp_len); if (sizeof(ver) == cp_len) cmd->result = DID_OK << 16; --- linux-gcp-5.19.0.orig/drivers/scsi/storvsc_drv.c +++ linux-gcp-5.19.0/drivers/scsi/storvsc_drv.c @@ -300,16 +300,21 @@ }; /* - * SRB status codes and masks; a subset of the codes used here. + * SRB status codes and masks. In the 8-bit field, the two high order bits + * are flags, while the remaining 6 bits are an integer status code. The + * definitions here include only the subset of the integer status codes that + * are tested for in this driver. */ - #define SRB_STATUS_AUTOSENSE_VALID 0x80 #define SRB_STATUS_QUEUE_FROZEN 0x40 -#define SRB_STATUS_INVALID_LUN 0x20 -#define SRB_STATUS_SUCCESS 0x01 -#define SRB_STATUS_ABORTED 0x02 -#define SRB_STATUS_ERROR 0x04 -#define SRB_STATUS_DATA_OVERRUN 0x12 + +/* SRB status integer codes */ +#define SRB_STATUS_SUCCESS 0x01 +#define SRB_STATUS_ABORTED 0x02 +#define SRB_STATUS_ERROR 0x04 +#define SRB_STATUS_INVALID_REQUEST 0x06 +#define SRB_STATUS_DATA_OVERRUN 0x12 +#define SRB_STATUS_INVALID_LUN 0x20 #define SRB_STATUS(status) \ (status & ~(SRB_STATUS_AUTOSENSE_VALID | SRB_STATUS_QUEUE_FROZEN)) @@ -966,38 +971,25 @@ void (*process_err_fn)(struct work_struct *work); struct hv_host_device *host_dev = shost_priv(host); - /* - * In some situations, Hyper-V sets multiple bits in the - * srb_status, such as ABORTED and ERROR. So process them - * individually, with the most specific bits first. - */ - - if (vm_srb->srb_status & SRB_STATUS_INVALID_LUN) { - set_host_byte(scmnd, DID_NO_CONNECT); - process_err_fn = storvsc_remove_lun; - goto do_work; - } + switch (SRB_STATUS(vm_srb->srb_status)) { + case SRB_STATUS_ERROR: + case SRB_STATUS_ABORTED: + case SRB_STATUS_INVALID_REQUEST: + if (vm_srb->srb_status & SRB_STATUS_AUTOSENSE_VALID) { + /* Check for capacity change */ + if ((asc == 0x2a) && (ascq == 0x9)) { + process_err_fn = storvsc_device_scan; + /* Retry the I/O that triggered this. */ + set_host_byte(scmnd, DID_REQUEUE); + goto do_work; + } - if (vm_srb->srb_status & SRB_STATUS_ABORTED) { - if (vm_srb->srb_status & SRB_STATUS_AUTOSENSE_VALID && - /* Capacity data has changed */ - (asc == 0x2a) && (ascq == 0x9)) { - process_err_fn = storvsc_device_scan; /* - * Retry the I/O that triggered this. + * Otherwise, let upper layer deal with the + * error when sense message is present */ - set_host_byte(scmnd, DID_REQUEUE); - goto do_work; - } - } - - if (vm_srb->srb_status & SRB_STATUS_ERROR) { - /* - * Let upper layer deal with error when - * sense message is present. - */ - if (vm_srb->srb_status & SRB_STATUS_AUTOSENSE_VALID) return; + } /* * If there is an error; offline the device since all @@ -1020,6 +1012,13 @@ default: set_host_byte(scmnd, DID_ERROR); } + return; + + case SRB_STATUS_INVALID_LUN: + set_host_byte(scmnd, DID_NO_CONNECT); + process_err_fn = storvsc_remove_lun; + goto do_work; + } return; @@ -1815,6 +1814,9 @@ ret = storvsc_do_io(dev, cmd_request, get_cpu()); put_cpu(); + if (ret) + scsi_dma_unmap(scmnd); + if (ret == -EAGAIN) { /* no more space */ ret = SCSI_MLQUEUE_DEVICE_BUSY; @@ -2012,7 +2014,7 @@ */ host_dev->handle_error_wq = alloc_ordered_workqueue("storvsc_error_wq_%d", - WQ_MEM_RECLAIM, + 0, host->host_no); if (!host_dev->handle_error_wq) { ret = -ENOMEM; --- linux-gcp-5.19.0.orig/drivers/siox/siox-core.c +++ linux-gcp-5.19.0/drivers/siox/siox-core.c @@ -839,6 +839,8 @@ err_device_register: /* don't care to make the buffer smaller again */ + put_device(&sdevice->dev); + sdevice = NULL; err_buf_alloc: siox_master_unlock(smaster); --- linux-gcp-5.19.0.orig/drivers/slimbus/Kconfig +++ linux-gcp-5.19.0/drivers/slimbus/Kconfig @@ -22,7 +22,8 @@ config SLIM_QCOM_NGD_CTRL tristate "Qualcomm SLIMbus Satellite Non-Generic Device Component" - depends on HAS_IOMEM && DMA_ENGINE && NET && QCOM_RPROC_COMMON + depends on HAS_IOMEM && DMA_ENGINE && NET + depends on QCOM_RPROC_COMMON || (COMPILE_TEST && !QCOM_RPROC_COMMON) depends on ARCH_QCOM || COMPILE_TEST select QCOM_QMI_HELPERS select QCOM_PDR_HELPERS --- linux-gcp-5.19.0.orig/drivers/slimbus/qcom-ngd-ctrl.c +++ linux-gcp-5.19.0/drivers/slimbus/qcom-ngd-ctrl.c @@ -1470,7 +1470,13 @@ ngd->pdev->dev.of_node = node; ctrl->ngd = ngd; - platform_device_add(ngd->pdev); + ret = platform_device_add(ngd->pdev); + if (ret) { + platform_device_put(ngd->pdev); + kfree(ngd); + of_node_put(node); + return ret; + } ngd->base = ctrl->base + ngd->id * data->offset + (ngd->id - 1) * data->size; @@ -1576,17 +1582,27 @@ ctrl->pdr = pdr_handle_alloc(slim_pd_status, ctrl); if (IS_ERR(ctrl->pdr)) { dev_err(dev, "Failed to init PDR handle\n"); - return PTR_ERR(ctrl->pdr); + ret = PTR_ERR(ctrl->pdr); + goto err_pdr_alloc; } pds = pdr_add_lookup(ctrl->pdr, "avs/audio", "msm/adsp/audio_pd"); if (IS_ERR(pds) && PTR_ERR(pds) != -EALREADY) { + ret = PTR_ERR(pds); dev_err(dev, "pdr add lookup failed: %d\n", ret); - return PTR_ERR(pds); + goto err_pdr_lookup; } platform_driver_register(&qcom_slim_ngd_driver); return of_qcom_slim_ngd_register(dev, ctrl); + +err_pdr_alloc: + qcom_unregister_ssr_notifier(ctrl->notifier, &ctrl->nb); + +err_pdr_lookup: + pdr_handle_release(ctrl->pdr); + + return ret; } static int qcom_slim_ngd_ctrl_remove(struct platform_device *pdev) --- linux-gcp-5.19.0.orig/drivers/slimbus/stream.c +++ linux-gcp-5.19.0/drivers/slimbus/stream.c @@ -67,10 +67,10 @@ 384000, 768000, 0, /* Reserved */ - 110250, - 220500, - 441000, - 882000, + 11025, + 22050, + 44100, + 88200, 176400, 352800, 705600, --- linux-gcp-5.19.0.orig/drivers/soc/amlogic/meson-mx-socinfo.c +++ linux-gcp-5.19.0/drivers/soc/amlogic/meson-mx-socinfo.c @@ -126,6 +126,7 @@ np = of_find_matching_node(NULL, meson_mx_socinfo_analog_top_ids); if (np) { analog_top_regmap = syscon_node_to_regmap(np); + of_node_put(np); if (IS_ERR(analog_top_regmap)) return PTR_ERR(analog_top_regmap); --- linux-gcp-5.19.0.orig/drivers/soc/amlogic/meson-secure-pwrc.c +++ linux-gcp-5.19.0/drivers/soc/amlogic/meson-secure-pwrc.c @@ -152,8 +152,10 @@ } pwrc = devm_kzalloc(&pdev->dev, sizeof(*pwrc), GFP_KERNEL); - if (!pwrc) + if (!pwrc) { + of_node_put(sm_np); return -ENOMEM; + } pwrc->fw = meson_sm_get(sm_np); of_node_put(sm_np); --- linux-gcp-5.19.0.orig/drivers/soc/apple/rtkit.c +++ linux-gcp-5.19.0/drivers/soc/apple/rtkit.c @@ -920,8 +920,10 @@ } EXPORT_SYMBOL_GPL(apple_rtkit_wake); -static void apple_rtkit_free(struct apple_rtkit *rtk) +static void apple_rtkit_free(void *data) { + struct apple_rtkit *rtk = data; + mbox_free_channel(rtk->mbox_chan); destroy_workqueue(rtk->wq); @@ -944,8 +946,7 @@ if (IS_ERR(rtk)) return rtk; - ret = devm_add_action_or_reset(dev, (void (*)(void *))apple_rtkit_free, - rtk); + ret = devm_add_action_or_reset(dev, apple_rtkit_free, rtk); if (ret) return ERR_PTR(ret); --- linux-gcp-5.19.0.orig/drivers/soc/apple/sart.c +++ linux-gcp-5.19.0/drivers/soc/apple/sart.c @@ -164,6 +164,11 @@ return 0; } +static void apple_sart_put_device(void *dev) +{ + put_device(dev); +} + struct apple_sart *devm_apple_sart_get(struct device *dev) { struct device_node *sart_node; @@ -187,7 +192,7 @@ return ERR_PTR(-EPROBE_DEFER); } - ret = devm_add_action_or_reset(dev, (void (*)(void *))put_device, + ret = devm_add_action_or_reset(dev, apple_sart_put_device, &sart_pdev->dev); if (ret) return ERR_PTR(ret); --- linux-gcp-5.19.0.orig/drivers/soc/bcm/brcmstb/pm/pm-arm.c +++ linux-gcp-5.19.0/drivers/soc/bcm/brcmstb/pm/pm-arm.c @@ -684,13 +684,14 @@ const struct of_device_id *of_id = NULL; struct device_node *dn; void __iomem *base; - int ret, i; + int ret, i, s; /* AON ctrl registers */ base = brcmstb_ioremap_match(aon_ctrl_dt_ids, 0, NULL); if (IS_ERR(base)) { pr_err("error mapping AON_CTRL\n"); - return PTR_ERR(base); + ret = PTR_ERR(base); + goto aon_err; } ctrl.aon_ctrl_base = base; @@ -700,8 +701,10 @@ /* Assume standard offset */ ctrl.aon_sram = ctrl.aon_ctrl_base + AON_CTRL_SYSTEM_DATA_RAM_OFS; + s = 0; } else { ctrl.aon_sram = base; + s = 1; } writel_relaxed(0, ctrl.aon_sram + AON_REG_PANIC); @@ -711,7 +714,8 @@ (const void **)&ddr_phy_data); if (IS_ERR(base)) { pr_err("error mapping DDR PHY\n"); - return PTR_ERR(base); + ret = PTR_ERR(base); + goto ddr_phy_err; } ctrl.support_warm_boot = ddr_phy_data->supports_warm_boot; ctrl.pll_status_offset = ddr_phy_data->pll_status_offset; @@ -731,17 +735,20 @@ for_each_matching_node(dn, ddr_shimphy_dt_ids) { i = ctrl.num_memc; if (i >= MAX_NUM_MEMC) { + of_node_put(dn); pr_warn("too many MEMCs (max %d)\n", MAX_NUM_MEMC); break; } base = of_io_request_and_map(dn, 0, dn->full_name); if (IS_ERR(base)) { + of_node_put(dn); if (!ctrl.support_warm_boot) break; pr_err("error mapping DDR SHIMPHY %d\n", i); - return PTR_ERR(base); + ret = PTR_ERR(base); + goto ddr_shimphy_err; } ctrl.memcs[i].ddr_shimphy_base = base; ctrl.num_memc++; @@ -752,14 +759,18 @@ for_each_matching_node(dn, brcmstb_memc_of_match) { base = of_iomap(dn, 0); if (!base) { + of_node_put(dn); pr_err("error mapping DDR Sequencer %d\n", i); - return -ENOMEM; + ret = -ENOMEM; + goto brcmstb_memc_err; } of_id = of_match_node(brcmstb_memc_of_match, dn); if (!of_id) { iounmap(base); - return -EINVAL; + of_node_put(dn); + ret = -EINVAL; + goto brcmstb_memc_err; } ddr_seq_data = of_id->data; @@ -779,21 +790,24 @@ dn = of_find_matching_node(NULL, sram_dt_ids); if (!dn) { pr_err("SRAM not found\n"); - return -EINVAL; + ret = -EINVAL; + goto brcmstb_memc_err; } ret = brcmstb_init_sram(dn); of_node_put(dn); if (ret) { pr_err("error setting up SRAM for PM\n"); - return ret; + goto brcmstb_memc_err; } ctrl.pdev = pdev; ctrl.s3_params = kmalloc(sizeof(*ctrl.s3_params), GFP_KERNEL); - if (!ctrl.s3_params) - return -ENOMEM; + if (!ctrl.s3_params) { + ret = -ENOMEM; + goto s3_params_err; + } ctrl.s3_params_pa = dma_map_single(&pdev->dev, ctrl.s3_params, sizeof(*ctrl.s3_params), DMA_TO_DEVICE); @@ -813,7 +827,21 @@ out: kfree(ctrl.s3_params); - +s3_params_err: + iounmap(ctrl.boot_sram); +brcmstb_memc_err: + for (i--; i >= 0; i--) + iounmap(ctrl.memcs[i].ddr_ctrl); +ddr_shimphy_err: + for (i = 0; i < ctrl.num_memc; i++) + iounmap(ctrl.memcs[i].ddr_shimphy_base); + + iounmap(ctrl.memcs[0].ddr_phy_base); +ddr_phy_err: + iounmap(ctrl.aon_ctrl_base); + if (s) + iounmap(ctrl.aon_sram); +aon_err: pr_warn("PM: initialization failed with code %d\n", ret); return ret; --- linux-gcp-5.19.0.orig/drivers/soc/fsl/Kconfig +++ linux-gcp-5.19.0/drivers/soc/fsl/Kconfig @@ -24,6 +24,7 @@ tristate "QorIQ DPAA2 DPIO driver" depends on FSL_MC_BUS select SOC_BUS + select FSL_GUTS select DIMLIB help Driver for the DPAA2 DPIO object. A DPIO provides queue and --- linux-gcp-5.19.0.orig/drivers/soc/fsl/guts.c +++ linux-gcp-5.19.0/drivers/soc/fsl/guts.c @@ -140,7 +140,7 @@ struct device_node *root, *np = pdev->dev.of_node; struct device *dev = &pdev->dev; const struct fsl_soc_die_attr *soc_die; - const char *machine; + const char *machine = NULL; u32 svr; /* Initialize guts */ --- linux-gcp-5.19.0.orig/drivers/soc/imx/gpcv2.c +++ linux-gcp-5.19.0/drivers/soc/imx/gpcv2.c @@ -333,6 +333,8 @@ } } + reset_control_assert(domain->reset); + /* Enable reset clocks for all devices in the domain */ ret = clk_bulk_prepare_enable(domain->num_clks, domain->clks); if (ret) { @@ -340,7 +342,8 @@ goto out_regulator_disable; } - reset_control_assert(domain->reset); + /* delays for reset to propagate */ + udelay(5); if (domain->bits.pxx) { /* request the domain to power up */ --- linux-gcp-5.19.0.orig/drivers/soc/imx/imx8m-blk-ctrl.c +++ linux-gcp-5.19.0/drivers/soc/imx/imx8m-blk-ctrl.c @@ -242,7 +242,6 @@ ret = PTR_ERR(domain->power_dev); goto cleanup_pds; } - dev_set_name(domain->power_dev, "%s", data->name); domain->genpd.name = data->name; domain->genpd.power_on = imx8m_blk_ctrl_power_on; --- linux-gcp-5.19.0.orig/drivers/soc/imx/imx8mp-blk-ctrl.c +++ linux-gcp-5.19.0/drivers/soc/imx/imx8mp-blk-ctrl.c @@ -192,7 +192,7 @@ break; case IMX8MP_HDMIBLK_PD_LCDIF: regmap_set_bits(bc->regmap, HDMI_RTX_CLK_CTL0, - BIT(7) | BIT(16) | BIT(17) | BIT(18) | + BIT(16) | BIT(17) | BIT(18) | BIT(19) | BIT(20)); regmap_set_bits(bc->regmap, HDMI_RTX_CLK_CTL1, BIT(11)); regmap_set_bits(bc->regmap, HDMI_RTX_RESET_CTL0, @@ -221,6 +221,7 @@ regmap_set_bits(bc->regmap, HDMI_TX_CONTROL0, BIT(1)); break; case IMX8MP_HDMIBLK_PD_HDMI_TX_PHY: + regmap_set_bits(bc->regmap, HDMI_RTX_CLK_CTL0, BIT(7)); regmap_set_bits(bc->regmap, HDMI_RTX_CLK_CTL1, BIT(22) | BIT(24)); regmap_set_bits(bc->regmap, HDMI_RTX_RESET_CTL0, BIT(12)); regmap_clear_bits(bc->regmap, HDMI_TX_CONTROL0, BIT(3)); @@ -243,7 +244,7 @@ BIT(4) | BIT(5) | BIT(6)); regmap_clear_bits(bc->regmap, HDMI_RTX_CLK_CTL1, BIT(11)); regmap_clear_bits(bc->regmap, HDMI_RTX_CLK_CTL0, - BIT(7) | BIT(16) | BIT(17) | BIT(18) | + BIT(16) | BIT(17) | BIT(18) | BIT(19) | BIT(20)); break; case IMX8MP_HDMIBLK_PD_PAI: @@ -271,6 +272,7 @@ case IMX8MP_HDMIBLK_PD_HDMI_TX_PHY: regmap_set_bits(bc->regmap, HDMI_TX_CONTROL0, BIT(3)); regmap_clear_bits(bc->regmap, HDMI_RTX_RESET_CTL0, BIT(12)); + regmap_clear_bits(bc->regmap, HDMI_RTX_CLK_CTL0, BIT(7)); regmap_clear_bits(bc->regmap, HDMI_RTX_CLK_CTL1, BIT(22) | BIT(24)); break; default: @@ -529,7 +531,6 @@ ret = PTR_ERR(domain->power_dev); goto cleanup_pds; } - dev_set_name(domain->power_dev, "%s", data->name); domain->genpd.name = data->name; domain->genpd.power_on = imx8mp_blk_ctrl_power_on; --- linux-gcp-5.19.0.orig/drivers/soc/imx/soc-imx8m.c +++ linux-gcp-5.19.0/drivers/soc/imx/soc-imx8m.c @@ -11,6 +11,7 @@ #include #include #include +#include #define REV_B1 0x21 @@ -56,6 +57,7 @@ void __iomem *ocotp_base; u32 magic; u32 rev; + struct clk *clk; np = of_find_compatible_node(NULL, NULL, "fsl,imx8mq-ocotp"); if (!np) @@ -63,6 +65,13 @@ ocotp_base = of_iomap(np, 0); WARN_ON(!ocotp_base); + clk = of_clk_get_by_name(np, NULL); + if (IS_ERR(clk)) { + WARN_ON(IS_ERR(clk)); + return 0; + } + + clk_prepare_enable(clk); /* * SOC revision on older imx8mq is not available in fuses so query @@ -79,6 +88,8 @@ soc_uid <<= 32; soc_uid |= readl_relaxed(ocotp_base + OCOTP_UID_LOW); + clk_disable_unprepare(clk); + clk_put(clk); iounmap(ocotp_base); of_node_put(np); --- linux-gcp-5.19.0.orig/drivers/soc/mediatek/mtk-pm-domains.c +++ linux-gcp-5.19.0/drivers/soc/mediatek/mtk-pm-domains.c @@ -274,9 +274,9 @@ clk_bulk_disable_unprepare(pd->num_subsys_clks, pd->subsys_clks); /* subsys power off */ - regmap_clear_bits(scpsys->base, pd->data->ctl_offs, PWR_RST_B_BIT); regmap_set_bits(scpsys->base, pd->data->ctl_offs, PWR_ISO_BIT); regmap_set_bits(scpsys->base, pd->data->ctl_offs, PWR_CLK_DIS_BIT); + regmap_clear_bits(scpsys->base, pd->data->ctl_offs, PWR_RST_B_BIT); regmap_clear_bits(scpsys->base, pd->data->ctl_offs, PWR_ON_2ND_BIT); regmap_clear_bits(scpsys->base, pd->data->ctl_offs, PWR_ON_BIT); --- linux-gcp-5.19.0.orig/drivers/soc/qcom/Kconfig +++ linux-gcp-5.19.0/drivers/soc/qcom/Kconfig @@ -63,6 +63,7 @@ config QCOM_LLCC tristate "Qualcomm Technologies, Inc. LLCC driver" depends on ARCH_QCOM || COMPILE_TEST + select REGMAP_MMIO help Qualcomm Technologies, Inc. platform specific Last Level Cache Controller(LLCC) driver for platforms such as, @@ -129,6 +130,7 @@ config QCOM_RPMPD tristate "Qualcomm RPM Power domain driver" + depends on PM depends on QCOM_SMD_RPM help QCOM RPM Power domain driver to support power-domains with --- linux-gcp-5.19.0.orig/drivers/soc/qcom/apr.c +++ linux-gcp-5.19.0/drivers/soc/qcom/apr.c @@ -457,11 +457,20 @@ adev->dev.driver = NULL; spin_lock(&apr->svcs_lock); - idr_alloc(&apr->svcs_idr, svc, svc_id, svc_id + 1, GFP_ATOMIC); + ret = idr_alloc(&apr->svcs_idr, svc, svc_id, svc_id + 1, GFP_ATOMIC); spin_unlock(&apr->svcs_lock); + if (ret < 0) { + dev_err(dev, "idr_alloc failed: %d\n", ret); + goto out; + } - of_property_read_string_index(np, "qcom,protection-domain", - 1, &adev->service_path); + /* Protection domain is optional, it does not exist on older platforms */ + ret = of_property_read_string_index(np, "qcom,protection-domain", + 1, &adev->service_path); + if (ret < 0 && ret != -EINVAL) { + dev_err(dev, "Failed to read second value of qcom,protection-domain\n"); + goto out; + } dev_info(dev, "Adding APR/GPR dev: %s\n", dev_name(&adev->dev)); @@ -471,6 +480,7 @@ put_device(&adev->dev); } +out: return ret; } --- linux-gcp-5.19.0.orig/drivers/soc/qcom/cpr.c +++ linux-gcp-5.19.0/drivers/soc/qcom/cpr.c @@ -1708,12 +1708,16 @@ ret = of_genpd_add_provider_simple(dev->of_node, &drv->pd); if (ret) - return ret; + goto err_remove_genpd; platform_set_drvdata(pdev, drv); cpr_debugfs_init(drv); return 0; + +err_remove_genpd: + pm_genpd_remove(&drv->pd); + return ret; } static int cpr_remove(struct platform_device *pdev) --- linux-gcp-5.19.0.orig/drivers/soc/qcom/llcc-qcom.c +++ linux-gcp-5.19.0/drivers/soc/qcom/llcc-qcom.c @@ -781,7 +781,7 @@ if (ret) goto err; - drv_data->ecc_irq = platform_get_irq(pdev, 0); + drv_data->ecc_irq = platform_get_irq_optional(pdev, 0); if (drv_data->ecc_irq >= 0) { llcc_edac = platform_device_register_data(&pdev->dev, "qcom_llcc_edac", -1, drv_data, --- linux-gcp-5.19.0.orig/drivers/soc/qcom/ocmem.c +++ linux-gcp-5.19.0/drivers/soc/qcom/ocmem.c @@ -194,14 +194,17 @@ devnode = of_parse_phandle(dev->of_node, "sram", 0); if (!devnode || !devnode->parent) { dev_err(dev, "Cannot look up sram phandle\n"); + of_node_put(devnode); return ERR_PTR(-ENODEV); } pdev = of_find_device_by_node(devnode->parent); if (!pdev) { dev_err(dev, "Cannot find device node %s\n", devnode->name); + of_node_put(devnode); return ERR_PTR(-EPROBE_DEFER); } + of_node_put(devnode); ocmem = platform_get_drvdata(pdev); if (!ocmem) { --- linux-gcp-5.19.0.orig/drivers/soc/qcom/qcom_aoss.c +++ linux-gcp-5.19.0/drivers/soc/qcom/qcom_aoss.c @@ -399,8 +399,10 @@ continue; ret = qmp_cooling_device_add(qmp, &qmp->cooling_devs[count++], child); - if (ret) + if (ret) { + of_node_put(child); goto unroll; + } } if (!count) --- linux-gcp-5.19.0.orig/drivers/soc/qcom/smem_state.c +++ linux-gcp-5.19.0/drivers/soc/qcom/smem_state.c @@ -136,6 +136,7 @@ struct qcom_smem_state *state = container_of(ref, struct qcom_smem_state, refcount); list_del(&state->list); + of_node_put(state->of_node); kfree(state); } @@ -205,7 +206,7 @@ kref_init(&state->refcount); - state->of_node = of_node; + state->of_node = of_node_get(of_node); state->ops = *ops; state->priv = priv; --- linux-gcp-5.19.0.orig/drivers/soc/qcom/smsm.c +++ linux-gcp-5.19.0/drivers/soc/qcom/smsm.c @@ -526,7 +526,7 @@ for (id = 0; id < smsm->num_hosts; id++) { ret = smsm_parse_ipc(smsm, id); if (ret < 0) - return ret; + goto out_put; } /* Acquire the main SMSM state vector */ @@ -534,13 +534,14 @@ smsm->num_entries * sizeof(u32)); if (ret < 0 && ret != -EEXIST) { dev_err(&pdev->dev, "unable to allocate shared state entry\n"); - return ret; + goto out_put; } states = qcom_smem_get(QCOM_SMEM_HOST_ANY, SMEM_SMSM_SHARED_STATE, NULL); if (IS_ERR(states)) { dev_err(&pdev->dev, "Unable to acquire shared state entry\n"); - return PTR_ERR(states); + ret = PTR_ERR(states); + goto out_put; } /* Acquire the list of interrupt mask vectors */ @@ -548,13 +549,14 @@ ret = qcom_smem_alloc(QCOM_SMEM_HOST_ANY, SMEM_SMSM_CPU_INTR_MASK, size); if (ret < 0 && ret != -EEXIST) { dev_err(&pdev->dev, "unable to allocate smsm interrupt mask\n"); - return ret; + goto out_put; } intr_mask = qcom_smem_get(QCOM_SMEM_HOST_ANY, SMEM_SMSM_CPU_INTR_MASK, NULL); if (IS_ERR(intr_mask)) { dev_err(&pdev->dev, "unable to acquire shared memory interrupt mask\n"); - return PTR_ERR(intr_mask); + ret = PTR_ERR(intr_mask); + goto out_put; } /* Setup the reference to the local state bits */ @@ -565,7 +567,8 @@ smsm->state = qcom_smem_state_register(local_node, &smsm_state_ops, smsm); if (IS_ERR(smsm->state)) { dev_err(smsm->dev, "failed to register qcom_smem_state\n"); - return PTR_ERR(smsm->state); + ret = PTR_ERR(smsm->state); + goto out_put; } /* Register handlers for remote processor entries of interest. */ @@ -595,16 +598,19 @@ } platform_set_drvdata(pdev, smsm); + of_node_put(local_node); return 0; unwind_interfaces: + of_node_put(node); for (id = 0; id < smsm->num_entries; id++) if (smsm->entries[id].domain) irq_domain_remove(smsm->entries[id].domain); qcom_smem_state_unregister(smsm->state); - +out_put: + of_node_put(local_node); return ret; } --- linux-gcp-5.19.0.orig/drivers/soc/qcom/socinfo.c +++ linux-gcp-5.19.0/drivers/soc/qcom/socinfo.c @@ -328,7 +328,8 @@ { 455, "QRB5165" }, { 457, "SM8450" }, { 459, "SM7225" }, - { 460, "SA8540P" }, + { 460, "SA8295P" }, + { 461, "SA8540P" }, { 480, "SM8450" }, { 482, "SM8450" }, { 487, "SC7280" }, --- linux-gcp-5.19.0.orig/drivers/soc/renesas/r8a779a0-sysc.c +++ linux-gcp-5.19.0/drivers/soc/renesas/r8a779a0-sysc.c @@ -57,11 +57,11 @@ { "a2cv6", R8A779A0_PD_A2CV6, R8A779A0_PD_A3IR }, { "a2cn2", R8A779A0_PD_A2CN2, R8A779A0_PD_A3IR }, { "a2imp23", R8A779A0_PD_A2IMP23, R8A779A0_PD_A3IR }, - { "a2dp1", R8A779A0_PD_A2DP0, R8A779A0_PD_A3IR }, - { "a2cv2", R8A779A0_PD_A2CV0, R8A779A0_PD_A3IR }, - { "a2cv3", R8A779A0_PD_A2CV1, R8A779A0_PD_A3IR }, - { "a2cv5", R8A779A0_PD_A2CV4, R8A779A0_PD_A3IR }, - { "a2cv7", R8A779A0_PD_A2CV6, R8A779A0_PD_A3IR }, + { "a2dp1", R8A779A0_PD_A2DP1, R8A779A0_PD_A3IR }, + { "a2cv2", R8A779A0_PD_A2CV2, R8A779A0_PD_A3IR }, + { "a2cv3", R8A779A0_PD_A2CV3, R8A779A0_PD_A3IR }, + { "a2cv5", R8A779A0_PD_A2CV5, R8A779A0_PD_A3IR }, + { "a2cv7", R8A779A0_PD_A2CV7, R8A779A0_PD_A3IR }, { "a2cn1", R8A779A0_PD_A2CN1, R8A779A0_PD_A3IR }, { "a1cnn0", R8A779A0_PD_A1CNN0, R8A779A0_PD_A2CN0 }, { "a1cnn2", R8A779A0_PD_A1CNN2, R8A779A0_PD_A2CN2 }, --- linux-gcp-5.19.0.orig/drivers/soc/sunxi/sunxi_sram.c +++ linux-gcp-5.19.0/drivers/soc/sunxi/sunxi_sram.c @@ -78,8 +78,8 @@ static struct sunxi_sram_desc sun50i_a64_sram_c = { .data = SUNXI_SRAM_DATA("C", 0x4, 24, 1, - SUNXI_SRAM_MAP(0, 1, "cpu"), - SUNXI_SRAM_MAP(1, 0, "de2")), + SUNXI_SRAM_MAP(1, 0, "cpu"), + SUNXI_SRAM_MAP(0, 1, "de2")), }; static const struct of_device_id sunxi_sram_dt_ids[] = { @@ -254,6 +254,7 @@ writel(val | ((device << sram_data->offset) & mask), base + sram_data->reg); + sram_desc->claimed = true; spin_unlock(&sram_lock); return 0; @@ -329,11 +330,11 @@ .writeable_reg = sunxi_sram_regmap_accessible_reg, }; -static int sunxi_sram_probe(struct platform_device *pdev) +static int __init sunxi_sram_probe(struct platform_device *pdev) { - struct dentry *d; struct regmap *emac_clock; const struct sunxi_sramc_variant *variant; + struct device *dev = &pdev->dev; sram_dev = &pdev->dev; @@ -345,13 +346,6 @@ if (IS_ERR(base)) return PTR_ERR(base); - of_platform_populate(pdev->dev.of_node, NULL, NULL, &pdev->dev); - - d = debugfs_create_file("sram", S_IRUGO, NULL, NULL, - &sunxi_sram_fops); - if (!d) - return -ENOMEM; - if (variant->num_emac_clocks > 0) { emac_clock = devm_regmap_init_mmio(&pdev->dev, base, &sunxi_sram_emac_clock_regmap); @@ -360,6 +354,10 @@ return PTR_ERR(emac_clock); } + of_platform_populate(dev->of_node, NULL, NULL, dev); + + debugfs_create_file("sram", 0444, NULL, NULL, &sunxi_sram_fops); + return 0; } @@ -409,9 +407,8 @@ .name = "sunxi-sram", .of_match_table = sunxi_sram_dt_match, }, - .probe = sunxi_sram_probe, }; -module_platform_driver(sunxi_sram_driver); +builtin_platform_driver_probe(sunxi_sram_driver, sunxi_sram_probe); MODULE_AUTHOR("Maxime Ripard "); MODULE_DESCRIPTION("Allwinner sunXi SRAM Controller Driver"); --- linux-gcp-5.19.0.orig/drivers/soc/tegra/Kconfig +++ linux-gcp-5.19.0/drivers/soc/tegra/Kconfig @@ -136,7 +136,6 @@ def_bool y depends on ARCH_TEGRA select SOC_BUS - select TEGRA20_APB_DMA if ARCH_TEGRA_2x_SOC config SOC_TEGRA_FLOWCTRL bool --- linux-gcp-5.19.0.orig/drivers/soc/tegra/fuse/fuse-tegra.c +++ linux-gcp-5.19.0/drivers/soc/tegra/fuse/fuse-tegra.c @@ -568,6 +568,7 @@ np = of_find_matching_node(NULL, car_match); if (np) { void __iomem *base = of_iomap(np, 0); + of_node_put(np); if (base) { tegra_enable_fuse_clk(base); iounmap(base); --- linux-gcp-5.19.0.orig/drivers/soc/ti/knav_qmss_queue.c +++ linux-gcp-5.19.0/drivers/soc/ti/knav_qmss_queue.c @@ -67,7 +67,7 @@ * Newest followed by older ones. Search is done from start of the array * until a firmware file is found. */ -const char *knav_acc_firmwares[] = {"ks2_qmss_pdsp_acc48.bin"}; +static const char * const knav_acc_firmwares[] = {"ks2_qmss_pdsp_acc48.bin"}; static bool device_ready; bool knav_qmss_device_ready(void) @@ -1785,6 +1785,7 @@ pm_runtime_enable(&pdev->dev); ret = pm_runtime_resume_and_get(&pdev->dev); if (ret < 0) { + pm_runtime_disable(&pdev->dev); dev_err(dev, "Failed to enable QMSS\n"); return ret; } --- linux-gcp-5.19.0.orig/drivers/soc/ti/smartreflex.c +++ linux-gcp-5.19.0/drivers/soc/ti/smartreflex.c @@ -932,6 +932,7 @@ err_debugfs: debugfs_remove_recursive(sr_info->dbg_dir); err_list_del: + pm_runtime_disable(&pdev->dev); list_del(&sr_info->node); clk_unprepare(sr_info->fck); --- linux-gcp-5.19.0.orig/drivers/soc/ux500/ux500-soc-id.c +++ linux-gcp-5.19.0/drivers/soc/ux500/ux500-soc-id.c @@ -167,20 +167,18 @@ static const char *db8500_read_soc_id(struct device_node *backupram) { void __iomem *base; - void __iomem *uid; const char *retstr; + u32 uid[5]; base = of_iomap(backupram, 0); if (!base) return NULL; - uid = base + 0x1fc0; + memcpy_fromio(uid, base + 0x1fc0, sizeof(uid)); /* Throw these device-specific numbers into the entropy pool */ - add_device_randomness(uid, 0x14); + add_device_randomness(uid, sizeof(uid)); retstr = kasprintf(GFP_KERNEL, "%08x%08x%08x%08x%08x", - readl((u32 *)uid+0), - readl((u32 *)uid+1), readl((u32 *)uid+2), - readl((u32 *)uid+3), readl((u32 *)uid+4)); + uid[0], uid[1], uid[2], uid[3], uid[4]); iounmap(base); return retstr; } --- linux-gcp-5.19.0.orig/drivers/soundwire/bus.c +++ linux-gcp-5.19.0/drivers/soundwire/bus.c @@ -7,6 +7,7 @@ #include #include #include +#include #include "bus.h" #include "sysfs_local.h" @@ -842,15 +843,21 @@ enum sdw_clk_stop_mode mode, enum sdw_clk_stop_type type) { - int ret; + int ret = 0; - if (slave->ops && slave->ops->clk_stop) { - ret = slave->ops->clk_stop(slave, mode, type); - if (ret < 0) - return ret; + mutex_lock(&slave->sdw_dev_lock); + + if (slave->probed) { + struct device *dev = &slave->dev; + struct sdw_driver *drv = drv_to_sdw_driver(dev->driver); + + if (drv->ops && drv->ops->clk_stop) + ret = drv->ops->clk_stop(slave, mode, type); } - return 0; + mutex_unlock(&slave->sdw_dev_lock); + + return ret; } static int sdw_slave_clk_stop_prepare(struct sdw_slave *slave, @@ -1611,14 +1618,24 @@ } /* Update the Slave driver */ - if (slave_notify && slave->ops && - slave->ops->interrupt_callback) { - slave_intr.sdca_cascade = sdca_cascade; - slave_intr.control_port = clear; - memcpy(slave_intr.port, &port_status, - sizeof(slave_intr.port)); + if (slave_notify) { + mutex_lock(&slave->sdw_dev_lock); - slave->ops->interrupt_callback(slave, &slave_intr); + if (slave->probed) { + struct device *dev = &slave->dev; + struct sdw_driver *drv = drv_to_sdw_driver(dev->driver); + + if (drv->ops && drv->ops->interrupt_callback) { + slave_intr.sdca_cascade = sdca_cascade; + slave_intr.control_port = clear; + memcpy(slave_intr.port, &port_status, + sizeof(slave_intr.port)); + + drv->ops->interrupt_callback(slave, &slave_intr); + } + } + + mutex_unlock(&slave->sdw_dev_lock); } /* Ack interrupt */ @@ -1692,29 +1709,21 @@ static int sdw_update_slave_status(struct sdw_slave *slave, enum sdw_slave_status status) { - unsigned long time; + int ret = 0; - if (!slave->probed) { - /* - * the slave status update is typically handled in an - * interrupt thread, which can race with the driver - * probe, e.g. when a module needs to be loaded. - * - * make sure the probe is complete before updating - * status. - */ - time = wait_for_completion_timeout(&slave->probe_complete, - msecs_to_jiffies(DEFAULT_PROBE_TIMEOUT)); - if (!time) { - dev_err(&slave->dev, "Probe not complete, timed out\n"); - return -ETIMEDOUT; - } + mutex_lock(&slave->sdw_dev_lock); + + if (slave->probed) { + struct device *dev = &slave->dev; + struct sdw_driver *drv = drv_to_sdw_driver(dev->driver); + + if (drv->ops && drv->ops->update_status) + ret = drv->ops->update_status(slave, status); } - if (!slave->ops || !slave->ops->update_status) - return 0; + mutex_unlock(&slave->sdw_dev_lock); - return slave->ops->update_status(slave, status); + return ret; } /** --- linux-gcp-5.19.0.orig/drivers/soundwire/bus_type.c +++ linux-gcp-5.19.0/drivers/soundwire/bus_type.c @@ -98,8 +98,6 @@ if (!id) return -ENODEV; - slave->ops = drv->ops; - /* * attach to power domain but don't turn on (last arg) */ @@ -107,19 +105,23 @@ if (ret) return ret; + mutex_lock(&slave->sdw_dev_lock); + ret = drv->probe(slave, id); if (ret) { name = drv->name; if (!name) name = drv->driver.name; + mutex_unlock(&slave->sdw_dev_lock); + dev_err(dev, "Probe of %s failed: %d\n", name, ret); dev_pm_domain_detach(dev, false); return ret; } /* device is probed so let's read the properties now */ - if (slave->ops && slave->ops->read_prop) - slave->ops->read_prop(slave); + if (drv->ops && drv->ops->read_prop) + drv->ops->read_prop(slave); /* init the sysfs as we have properties now */ ret = sdw_slave_sysfs_init(slave); @@ -139,7 +141,19 @@ slave->prop.clk_stop_timeout); slave->probed = true; - complete(&slave->probe_complete); + + /* + * if the probe happened after the bus was started, notify the codec driver + * of the current hardware status to e.g. start the initialization. + * Errors are only logged as warnings to avoid failing the probe. + */ + if (drv->ops && drv->ops->update_status) { + ret = drv->ops->update_status(slave, slave->status); + if (ret < 0) + dev_warn(dev, "%s: update_status failed with status %d\n", __func__, ret); + } + + mutex_unlock(&slave->sdw_dev_lock); dev_dbg(dev, "probe complete\n"); @@ -152,9 +166,15 @@ struct sdw_driver *drv = drv_to_sdw_driver(dev->driver); int ret = 0; + mutex_lock(&slave->sdw_dev_lock); + + slave->probed = false; + if (drv->remove) ret = drv->remove(slave); + mutex_unlock(&slave->sdw_dev_lock); + dev_pm_domain_detach(dev, false); return ret; @@ -193,12 +213,8 @@ drv->driver.owner = owner; drv->driver.probe = sdw_drv_probe; - - if (drv->remove) - drv->driver.remove = sdw_drv_remove; - - if (drv->shutdown) - drv->driver.shutdown = sdw_drv_shutdown; + drv->driver.remove = sdw_drv_remove; + drv->driver.shutdown = sdw_drv_shutdown; return driver_register(&drv->driver); } --- linux-gcp-5.19.0.orig/drivers/soundwire/cadence_master.c +++ linux-gcp-5.19.0/drivers/soundwire/cadence_master.c @@ -127,7 +127,8 @@ #define CDNS_MCP_CMD_BASE 0x80 #define CDNS_MCP_RESP_BASE 0x80 -#define CDNS_MCP_CMD_LEN 0x20 +/* FIFO can hold 8 commands */ +#define CDNS_MCP_CMD_LEN 8 #define CDNS_MCP_CMD_WORD_LEN 0x4 #define CDNS_MCP_CMD_SSP_TAG BIT(31) @@ -544,9 +545,12 @@ return SDW_CMD_IGNORED; } - /* fill response */ - for (i = 0; i < count; i++) - msg->buf[i + offset] = FIELD_GET(CDNS_MCP_RESP_RDATA, cdns->response_buf[i]); + if (msg->flags == SDW_MSG_FLAG_READ) { + /* fill response */ + for (i = 0; i < count; i++) + msg->buf[i + offset] = FIELD_GET(CDNS_MCP_RESP_RDATA, + cdns->response_buf[i]); + } return SDW_CMD_OK; } --- linux-gcp-5.19.0.orig/drivers/soundwire/dmi-quirks.c +++ linux-gcp-5.19.0/drivers/soundwire/dmi-quirks.c @@ -55,7 +55,26 @@ {} }; +/* + * The HP Omen 16-k0005TX does not expose the correct version of RT711 on link0 + * and does not expose a RT1316 on link3 + */ +static const struct adr_remap hp_omen_16[] = { + /* rt711-sdca on link0 */ + { + 0x000020025d071100ull, + 0x000030025d071101ull + }, + /* rt1316-sdca on link3 */ + { + 0x000120025d071100ull, + 0x000330025d131601ull + }, + {} +}; + static const struct dmi_system_id adr_remap_quirk_table[] = { + /* TGL devices */ { .matches = { DMI_MATCH(DMI_SYS_VENDOR, "HP"), @@ -72,12 +91,28 @@ .driver_data = (void *)intel_tgl_bios, }, { + /* quirk used for NUC15 LAPBC710 skew */ + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Intel Corporation"), + DMI_MATCH(DMI_BOARD_NAME, "LAPBC710"), + }, + .driver_data = (void *)intel_tgl_bios, + }, + { .matches = { DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"), DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0A3E") }, .driver_data = (void *)dell_sku_0A3E, }, + /* ADL devices */ + { + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "HP"), + DMI_MATCH(DMI_PRODUCT_NAME, "OMEN by HP Gaming Laptop 16-k0xxx"), + }, + .driver_data = (void *)hp_omen_16, + }, {} }; --- linux-gcp-5.19.0.orig/drivers/soundwire/intel.c +++ linux-gcp-5.19.0/drivers/soundwire/intel.c @@ -1279,6 +1279,7 @@ cdns->msg_count = 0; bus->link_id = auxdev->id; + bus->clk_stop_timeout = 1; sdw_cdns_probe(cdns); @@ -1401,7 +1402,6 @@ ret = intel_register_dai(sdw); if (ret) { dev_err(dev, "DAI registration failed: %d\n", ret); - snd_soc_unregister_component(dev); goto err_interrupt; } --- linux-gcp-5.19.0.orig/drivers/soundwire/qcom.c +++ linux-gcp-5.19.0/drivers/soundwire/qcom.c @@ -167,7 +167,7 @@ u8 wcmd_id; struct qcom_swrm_port_config pconfig[QCOM_SDW_MAX_PORTS]; struct sdw_stream_runtime *sruntime[SWRM_MAX_DAIS]; - enum sdw_slave_status status[SDW_MAX_DEVICES]; + enum sdw_slave_status status[SDW_MAX_DEVICES + 1]; int (*reg_read)(struct qcom_swrm_ctrl *ctrl, int reg, u32 *val); int (*reg_write)(struct qcom_swrm_ctrl *ctrl, int reg, int val); u32 slave_status; @@ -335,6 +335,9 @@ if (swrm_wait_for_wr_fifo_avail(swrm)) return SDW_CMD_FAIL_OTHER; + if (cmd_id == SWR_BROADCAST_CMD_ID) + reinit_completion(&swrm->broadcast); + /* Its assumed that write is okay as we do not get any status back */ swrm->reg_write(swrm, SWRM_CMD_FIFO_WR_CMD, val); @@ -368,6 +371,12 @@ val = swrm_get_packed_reg_val(&swrm->rcmd_id, len, dev_addr, reg_addr); + /* + * Check for outstanding cmd wrt. write fifo depth to avoid + * overflow as read will also increase write fifo cnt. + */ + swrm_wait_for_wr_fifo_avail(swrm); + /* wait for FIFO RD to complete to avoid overflow */ usleep_range(100, 105); swrm->reg_write(swrm, SWRM_CMD_FIFO_RD_CMD, val); @@ -411,7 +420,7 @@ ctrl->reg_read(ctrl, SWRM_MCP_SLV_STATUS, &val); - for (dev_num = 0; dev_num < SDW_MAX_DEVICES; dev_num++) { + for (dev_num = 0; dev_num <= SDW_MAX_DEVICES; dev_num++) { status = (val >> (dev_num * SWRM_MCP_SLV_STATUS_SZ)); if ((status & SWRM_MCP_SLV_STATUS_MASK) == SDW_SLAVE_ALERT) { @@ -431,7 +440,7 @@ ctrl->reg_read(ctrl, SWRM_MCP_SLV_STATUS, &val); ctrl->slave_status = val; - for (i = 0; i < SDW_MAX_DEVICES; i++) { + for (i = 0; i <= SDW_MAX_DEVICES; i++) { u32 s; s = (val >> (i * 2)); @@ -471,6 +480,10 @@ char *buf1 = (char *)&val1, *buf2 = (char *)&val2; for (i = 1; i <= SDW_MAX_DEVICES; i++) { + /* do not continue if the status is Not Present */ + if (!ctrl->status[i]) + continue; + /*SCP_Devid5 - Devid 4*/ ctrl->reg_read(ctrl, SWRM_ENUMERATOR_SLAVE_DEV_ID_1(i), &val1); --- linux-gcp-5.19.0.orig/drivers/soundwire/slave.c +++ linux-gcp-5.19.0/drivers/soundwire/slave.c @@ -12,6 +12,7 @@ { struct sdw_slave *slave = dev_to_sdw_dev(dev); + mutex_destroy(&slave->sdw_dev_lock); kfree(slave); } @@ -58,9 +59,9 @@ init_completion(&slave->enumeration_complete); init_completion(&slave->initialization_complete); slave->dev_num = 0; - init_completion(&slave->probe_complete); slave->probed = false; slave->first_interrupt_done = false; + mutex_init(&slave->sdw_dev_lock); for (i = 0; i < SDW_MAX_PORTS; i++) init_completion(&slave->port_ready[i]); --- linux-gcp-5.19.0.orig/drivers/soundwire/stream.c +++ linux-gcp-5.19.0/drivers/soundwire/stream.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include "bus.h" @@ -401,20 +402,26 @@ struct sdw_prepare_ch prep_ch, enum sdw_port_prep_ops cmd) { - const struct sdw_slave_ops *ops = s_rt->slave->ops; - int ret; + int ret = 0; + struct sdw_slave *slave = s_rt->slave; - if (ops->port_prep) { - ret = ops->port_prep(s_rt->slave, &prep_ch, cmd); - if (ret < 0) { - dev_err(&s_rt->slave->dev, - "Slave Port Prep cmd %d failed: %d\n", - cmd, ret); - return ret; + mutex_lock(&slave->sdw_dev_lock); + + if (slave->probed) { + struct device *dev = &slave->dev; + struct sdw_driver *drv = drv_to_sdw_driver(dev->driver); + + if (drv->ops && drv->ops->port_prep) { + ret = drv->ops->port_prep(slave, &prep_ch, cmd); + if (ret < 0) + dev_err(dev, "Slave Port Prep cmd %d failed: %d\n", + cmd, ret); } } - return 0; + mutex_unlock(&slave->sdw_dev_lock); + + return ret; } static int sdw_prep_deprep_slave_ports(struct sdw_bus *bus, @@ -578,7 +585,7 @@ struct sdw_slave_runtime *s_rt; struct sdw_bus *bus = m_rt->bus; struct sdw_slave *slave; - int ret = 0; + int ret; if (bus->ops->set_bus_conf) { ret = bus->ops->set_bus_conf(bus, &bus->params); @@ -589,17 +596,27 @@ list_for_each_entry(s_rt, &m_rt->slave_rt_list, m_rt_node) { slave = s_rt->slave; - if (slave->ops->bus_config) { - ret = slave->ops->bus_config(slave, &bus->params); - if (ret < 0) { - dev_err(bus->dev, "Notify Slave: %d failed\n", - slave->dev_num); - return ret; + mutex_lock(&slave->sdw_dev_lock); + + if (slave->probed) { + struct device *dev = &slave->dev; + struct sdw_driver *drv = drv_to_sdw_driver(dev->driver); + + if (drv->ops && drv->ops->bus_config) { + ret = drv->ops->bus_config(slave, &bus->params); + if (ret < 0) { + dev_err(dev, "Notify Slave: %d failed\n", + slave->dev_num); + mutex_unlock(&slave->sdw_dev_lock); + return ret; + } } } + + mutex_unlock(&slave->sdw_dev_lock); } - return ret; + return 0; } /** --- linux-gcp-5.19.0.orig/drivers/spi/Kconfig +++ linux-gcp-5.19.0/drivers/spi/Kconfig @@ -295,7 +295,6 @@ tristate "Baikal-T1 SPI driver for DW SPI core" depends on MIPS_BAIKAL_T1 || COMPILE_TEST select MULTIPLEXER - select MUX_MMIO help Baikal-T1 SoC is equipped with three DW APB SSI-based MMIO SPI controllers. Two of them are pretty much normal: with IRQ, DMA, --- linux-gcp-5.19.0.orig/drivers/spi/spi-altera-dfl.c +++ linux-gcp-5.19.0/drivers/spi/spi-altera-dfl.c @@ -128,9 +128,9 @@ struct spi_master *master; struct altera_spi *hw; void __iomem *base; - int err = -ENODEV; + int err; - master = spi_alloc_master(dev, sizeof(struct altera_spi)); + master = devm_spi_alloc_master(dev, sizeof(struct altera_spi)); if (!master) return -ENOMEM; @@ -159,10 +159,9 @@ altera_spi_init_master(master); err = devm_spi_register_master(dev, master); - if (err) { - dev_err(dev, "%s failed to register spi master %d\n", __func__, err); - goto exit; - } + if (err) + return dev_err_probe(dev, err, "%s failed to register spi master\n", + __func__); if (dfl_dev->revision == FME_FEATURE_REV_MAX10_SPI_N5010) strscpy(board_info.modalias, "m10-n5010", SPI_NAME_SIZE); @@ -179,9 +178,6 @@ } return 0; -exit: - spi_master_put(master); - return err; } static const struct dfl_device_id dfl_spi_altera_ids[] = { --- linux-gcp-5.19.0.orig/drivers/spi/spi-aspeed-smc.c +++ linux-gcp-5.19.0/drivers/spi/spi-aspeed-smc.c @@ -398,7 +398,7 @@ windows[cs].cs = cs; windows[cs].size = data->segment_end(aspi, reg_val) - data->segment_start(aspi, reg_val); - windows[cs].offset = cs ? windows[cs - 1].offset + windows[cs - 1].size : 0; + windows[cs].offset = data->segment_start(aspi, reg_val) - aspi->ahb_base_phy; dev_vdbg(aspi->dev, "CE%d offset=0x%.8x size=0x%x\n", cs, windows[cs].offset, windows[cs].size); } --- linux-gcp-5.19.0.orig/drivers/spi/spi-bcm63xx-hsspi.c +++ linux-gcp-5.19.0/drivers/spi/spi-bcm63xx-hsspi.c @@ -163,6 +163,7 @@ int step_size = HSSPI_BUFFER_LEN; const u8 *tx = t->tx_buf; u8 *rx = t->rx_buf; + u32 val = 0; bcm63xx_hsspi_set_clk(bs, spi, t->speed_hz); bcm63xx_hsspi_set_cs(bs, spi->chip_select, true); @@ -178,11 +179,16 @@ step_size -= HSSPI_OPCODE_LEN; if ((opcode == HSSPI_OP_READ && t->rx_nbits == SPI_NBITS_DUAL) || - (opcode == HSSPI_OP_WRITE && t->tx_nbits == SPI_NBITS_DUAL)) + (opcode == HSSPI_OP_WRITE && t->tx_nbits == SPI_NBITS_DUAL)) { opcode |= HSSPI_OP_MULTIBIT; - __raw_writel(1 << MODE_CTRL_MULTIDATA_WR_SIZE_SHIFT | - 1 << MODE_CTRL_MULTIDATA_RD_SIZE_SHIFT | 0xff, + if (t->rx_nbits == SPI_NBITS_DUAL) + val |= 1 << MODE_CTRL_MULTIDATA_RD_SIZE_SHIFT; + if (t->tx_nbits == SPI_NBITS_DUAL) + val |= 1 << MODE_CTRL_MULTIDATA_WR_SIZE_SHIFT; + } + + __raw_writel(val | 0xff, bs->regs + HSSPI_PROFILE_MODE_CTRL_REG(chip_select)); while (pending > 0) { --- linux-gcp-5.19.0.orig/drivers/spi/spi-bitbang-txrx.h +++ linux-gcp-5.19.0/drivers/spi/spi-bitbang-txrx.h @@ -116,6 +116,7 @@ { /* if (cpol == 0) this is SPI_MODE_0; else this is SPI_MODE_2 */ + u8 rxbit = bits - 1; u32 oldbit = !(word & 1); /* clock starts at inactive polarity */ for (; likely(bits); bits--) { @@ -135,7 +136,7 @@ /* sample LSB (from slave) on leading edge */ word >>= 1; if ((flags & SPI_MASTER_NO_RX) == 0) - word |= getmiso(spi) << (bits - 1); + word |= getmiso(spi) << rxbit; setsck(spi, cpol); } return word; @@ -148,6 +149,7 @@ { /* if (cpol == 0) this is SPI_MODE_1; else this is SPI_MODE_3 */ + u8 rxbit = bits - 1; u32 oldbit = !(word & 1); /* clock starts at inactive polarity */ for (; likely(bits); bits--) { @@ -168,7 +170,7 @@ /* sample LSB (from slave) on trailing edge */ word >>= 1; if ((flags & SPI_MASTER_NO_RX) == 0) - word |= getmiso(spi) << (bits - 1); + word |= getmiso(spi) << rxbit; } return word; } --- linux-gcp-5.19.0.orig/drivers/spi/spi-cadence-quadspi.c +++ linux-gcp-5.19.0/drivers/spi/spi-cadence-quadspi.c @@ -1619,7 +1619,7 @@ pm_runtime_enable(dev); ret = pm_runtime_resume_and_get(dev); if (ret < 0) - return ret; + goto probe_pm_failed; ret = clk_prepare_enable(cqspi->clk); if (ret) { @@ -1712,6 +1712,7 @@ clk_disable_unprepare(cqspi->clk); probe_clk_failed: pm_runtime_put_sync(dev); +probe_pm_failed: pm_runtime_disable(dev); return ret; } --- linux-gcp-5.19.0.orig/drivers/spi/spi-dw-bt1.c +++ linux-gcp-5.19.0/drivers/spi/spi-dw-bt1.c @@ -293,8 +293,10 @@ pm_runtime_enable(&pdev->dev); ret = dw_spi_add_host(&pdev->dev, dws); - if (ret) + if (ret) { + pm_runtime_disable(&pdev->dev); goto err_disable_clk; + } platform_set_drvdata(pdev, dwsbt1); --- linux-gcp-5.19.0.orig/drivers/spi/spi-dw-core.c +++ linux-gcp-5.19.0/drivers/spi/spi-dw-core.c @@ -365,7 +365,7 @@ * will be adjusted at the final stage of the IRQ-based SPI transfer * execution so not to lose the leftover of the incoming data. */ - level = min_t(u16, dws->fifo_len / 2, dws->tx_len); + level = min_t(unsigned int, dws->fifo_len / 2, dws->tx_len); dw_writel(dws, DW_SPI_TXFTLR, level); dw_writel(dws, DW_SPI_RXFTLR, level - 1); --- linux-gcp-5.19.0.orig/drivers/spi/spi-dw-dma.c +++ linux-gcp-5.19.0/drivers/spi/spi-dw-dma.c @@ -128,12 +128,15 @@ dw_spi_dma_sg_burst_init(dws); + pci_dev_put(dma_dev); + return 0; free_rxchan: dma_release_channel(dws->rxchan); dws->rxchan = NULL; err_exit: + pci_dev_put(dma_dev); return -EBUSY; } --- linux-gcp-5.19.0.orig/drivers/spi/spi-dw.h +++ linux-gcp-5.19.0/drivers/spi/spi-dw.h @@ -23,7 +23,7 @@ ((_dws)->ip == DW_ ## _ip ## _ID) #define __dw_spi_ver_cmp(_dws, _ip, _ver, _op) \ - (dw_spi_ip_is(_dws, _ip) && (_dws)->ver _op DW_ ## _ip ## _ver) + (dw_spi_ip_is(_dws, _ip) && (_dws)->ver _op DW_ ## _ip ## _ ## _ver) #define dw_spi_ver_is(_dws, _ip, _ver) __dw_spi_ver_cmp(_dws, _ip, _ver, ==) --- linux-gcp-5.19.0.orig/drivers/spi/spi-gpio.c +++ linux-gcp-5.19.0/drivers/spi/spi-gpio.c @@ -268,9 +268,19 @@ if (output) return gpiod_direction_output(spi_gpio->mosi, 1); - ret = gpiod_direction_input(spi_gpio->mosi); - if (ret) - return ret; + /* + * Only change MOSI to an input if using 3WIRE mode. + * Otherwise, MOSI could be left floating if there is + * no pull resistor connected to the I/O pin, or could + * be left logic high if there is a pull-up. Transmitting + * logic high when only clocking MISO data in can put some + * SPI devices in to a bad state. + */ + if (spi->mode & SPI_3WIRE) { + ret = gpiod_direction_input(spi_gpio->mosi); + if (ret) + return ret; + } /* * Send a turnaround high impedance cycle when switching * from output to input. Theoretically there should be --- linux-gcp-5.19.0.orig/drivers/spi/spi-imx.c +++ linux-gcp-5.19.0/drivers/spi/spi-imx.c @@ -444,8 +444,7 @@ unsigned int pre, post; unsigned int fin = spi_imx->spi_clk; - if (unlikely(fspi > fin)) - return 0; + fspi = min(fspi, fin); post = fls(fin) - fls(fspi); if (fin > fspi << post) @@ -1608,6 +1607,13 @@ return spi_imx_pio_transfer_slave(spi, transfer); /* + * If we decided in spi_imx_can_dma() that we want to do a DMA + * transfer, the SPI transfer has already been mapped, so we + * have to do the DMA transfer here. + */ + if (spi_imx->usedma) + return spi_imx_dma_transfer(spi_imx, transfer); + /* * Calculate the estimated time in us the transfer runs. Find * the number of Hz per byte per polling limit. */ @@ -1618,9 +1624,6 @@ if (transfer->len < byte_limit) return spi_imx_poll_transfer(spi, transfer); - if (spi_imx->usedma) - return spi_imx_dma_transfer(spi_imx, transfer); - return spi_imx_pio_transfer(spi, transfer); } --- linux-gcp-5.19.0.orig/drivers/spi/spi-intel.c +++ linux-gcp-5.19.0/drivers/spi/spi-intel.c @@ -52,17 +52,17 @@ #define FRACC 0x50 #define FREG(n) (0x54 + ((n) * 4)) -#define FREG_BASE_MASK 0x3fff +#define FREG_BASE_MASK GENMASK(14, 0) #define FREG_LIMIT_SHIFT 16 -#define FREG_LIMIT_MASK (0x03fff << FREG_LIMIT_SHIFT) +#define FREG_LIMIT_MASK GENMASK(30, 16) /* Offset is from @ispi->pregs */ #define PR(n) ((n) * 4) #define PR_WPE BIT(31) #define PR_LIMIT_SHIFT 16 -#define PR_LIMIT_MASK (0x3fff << PR_LIMIT_SHIFT) +#define PR_LIMIT_MASK GENMASK(30, 16) #define PR_RPE BIT(15) -#define PR_BASE_MASK 0x3fff +#define PR_BASE_MASK GENMASK(14, 0) /* Offsets are from @ispi->sregs */ #define SSFSTS_CTL 0x00 @@ -114,7 +114,7 @@ #define ERASE_OPCODE_SHIFT 8 #define ERASE_OPCODE_MASK (0xff << ERASE_OPCODE_SHIFT) #define ERASE_64K_OPCODE_SHIFT 16 -#define ERASE_64K_OPCODE_MASK (0xff << ERASE_OPCODE_SHIFT) +#define ERASE_64K_OPCODE_MASK (0xff << ERASE_64K_OPCODE_SHIFT) #define INTEL_SPI_TIMEOUT 5000 /* ms */ #define INTEL_SPI_FIFO_SZ 64 --- linux-gcp-5.19.0.orig/drivers/spi/spi-meson-spicc.c +++ linux-gcp-5.19.0/drivers/spi/spi-meson-spicc.c @@ -156,6 +156,7 @@ void __iomem *base; struct clk *core; struct clk *pclk; + struct clk_divider pow2_div; struct clk *clk; struct spi_message *message; struct spi_transfer *xfer; @@ -168,6 +169,8 @@ unsigned long xfer_remain; }; +#define pow2_clk_to_spicc(_div) container_of(_div, struct meson_spicc_device, pow2_div) + static void meson_spicc_oen_enable(struct meson_spicc_device *spicc) { u32 conf; @@ -421,7 +424,7 @@ { struct meson_spicc_device *spicc = spi_master_get_devdata(master); struct spi_device *spi = message->spi; - u32 conf = 0; + u32 conf = readl_relaxed(spicc->base + SPICC_CONREG) & SPICC_DATARATE_MASK; /* Store current message */ spicc->message = message; @@ -458,8 +461,6 @@ /* Select CS */ conf |= FIELD_PREP(SPICC_CS_MASK, spi->chip_select); - /* Default Clock rate core/4 */ - /* Default 8bit word */ conf |= FIELD_PREP(SPICC_BITLENGTH_MASK, 8 - 1); @@ -476,12 +477,16 @@ static int meson_spicc_unprepare_transfer(struct spi_master *master) { struct meson_spicc_device *spicc = spi_master_get_devdata(master); + u32 conf = readl_relaxed(spicc->base + SPICC_CONREG) & SPICC_DATARATE_MASK; /* Disable all IRQs */ writel(0, spicc->base + SPICC_INTREG); device_reset_optional(&spicc->pdev->dev); + /* Set default configuration, keeping datarate field */ + writel_relaxed(conf, spicc->base + SPICC_CONREG); + return 0; } @@ -518,14 +523,60 @@ * Clk path for G12A series: * pclk -> pow2 fixed div -> pow2 div -> mux -> out * pclk -> enh fixed div -> enh div -> mux -> out + * + * The pow2 divider is tied to the controller HW state, and the + * divider is only valid when the controller is initialized. + * + * A set of clock ops is added to make sure we don't read/set this + * clock rate while the controller is in an unknown state. */ -static int meson_spicc_clk_init(struct meson_spicc_device *spicc) +static unsigned long meson_spicc_pow2_recalc_rate(struct clk_hw *hw, + unsigned long parent_rate) +{ + struct clk_divider *divider = to_clk_divider(hw); + struct meson_spicc_device *spicc = pow2_clk_to_spicc(divider); + + if (!spicc->master->cur_msg) + return 0; + + return clk_divider_ops.recalc_rate(hw, parent_rate); +} + +static int meson_spicc_pow2_determine_rate(struct clk_hw *hw, + struct clk_rate_request *req) +{ + struct clk_divider *divider = to_clk_divider(hw); + struct meson_spicc_device *spicc = pow2_clk_to_spicc(divider); + + if (!spicc->master->cur_msg) + return -EINVAL; + + return clk_divider_ops.determine_rate(hw, req); +} + +static int meson_spicc_pow2_set_rate(struct clk_hw *hw, unsigned long rate, + unsigned long parent_rate) +{ + struct clk_divider *divider = to_clk_divider(hw); + struct meson_spicc_device *spicc = pow2_clk_to_spicc(divider); + + if (!spicc->master->cur_msg) + return -EINVAL; + + return clk_divider_ops.set_rate(hw, rate, parent_rate); +} + +const struct clk_ops meson_spicc_pow2_clk_ops = { + .recalc_rate = meson_spicc_pow2_recalc_rate, + .determine_rate = meson_spicc_pow2_determine_rate, + .set_rate = meson_spicc_pow2_set_rate, +}; + +static int meson_spicc_pow2_clk_init(struct meson_spicc_device *spicc) { struct device *dev = &spicc->pdev->dev; - struct clk_fixed_factor *pow2_fixed_div, *enh_fixed_div; - struct clk_divider *pow2_div, *enh_div; - struct clk_mux *mux; + struct clk_fixed_factor *pow2_fixed_div; struct clk_init_data init; struct clk *clk; struct clk_parent_data parent_data[2]; @@ -560,31 +611,45 @@ if (WARN_ON(IS_ERR(clk))) return PTR_ERR(clk); - pow2_div = devm_kzalloc(dev, sizeof(*pow2_div), GFP_KERNEL); - if (!pow2_div) - return -ENOMEM; - snprintf(name, sizeof(name), "%s#pow2_div", dev_name(dev)); init.name = name; - init.ops = &clk_divider_ops; - init.flags = CLK_SET_RATE_PARENT; + init.ops = &meson_spicc_pow2_clk_ops; + /* + * Set NOCACHE here to make sure we read the actual HW value + * since we reset the HW after each transfer. + */ + init.flags = CLK_SET_RATE_PARENT | CLK_GET_RATE_NOCACHE; parent_data[0].hw = &pow2_fixed_div->hw; init.num_parents = 1; - pow2_div->shift = 16, - pow2_div->width = 3, - pow2_div->flags = CLK_DIVIDER_POWER_OF_TWO, - pow2_div->reg = spicc->base + SPICC_CONREG; - pow2_div->hw.init = &init; + spicc->pow2_div.shift = 16, + spicc->pow2_div.width = 3, + spicc->pow2_div.flags = CLK_DIVIDER_POWER_OF_TWO, + spicc->pow2_div.reg = spicc->base + SPICC_CONREG; + spicc->pow2_div.hw.init = &init; - clk = devm_clk_register(dev, &pow2_div->hw); - if (WARN_ON(IS_ERR(clk))) - return PTR_ERR(clk); + spicc->clk = devm_clk_register(dev, &spicc->pow2_div.hw); + if (WARN_ON(IS_ERR(spicc->clk))) + return PTR_ERR(spicc->clk); - if (!spicc->data->has_enhance_clk_div) { - spicc->clk = clk; - return 0; - } + return 0; +} + +static int meson_spicc_enh_clk_init(struct meson_spicc_device *spicc) +{ + struct device *dev = &spicc->pdev->dev; + struct clk_fixed_factor *enh_fixed_div; + struct clk_divider *enh_div; + struct clk_mux *mux; + struct clk_init_data init; + struct clk *clk; + struct clk_parent_data parent_data[2]; + char name[64]; + + memset(&init, 0, sizeof(init)); + memset(&parent_data, 0, sizeof(parent_data)); + + init.parent_data = parent_data; /* algorithm for enh div: rate = freq / 2 / (N + 1) */ @@ -637,7 +702,7 @@ snprintf(name, sizeof(name), "%s#sel", dev_name(dev)); init.name = name; init.ops = &clk_mux_ops; - parent_data[0].hw = &pow2_div->hw; + parent_data[0].hw = &spicc->pow2_div.hw; parent_data[1].hw = &enh_div->hw; init.num_parents = 2; init.flags = CLK_SET_RATE_PARENT; @@ -754,12 +819,20 @@ meson_spicc_oen_enable(spicc); - ret = meson_spicc_clk_init(spicc); + ret = meson_spicc_pow2_clk_init(spicc); if (ret) { - dev_err(&pdev->dev, "clock registration failed\n"); + dev_err(&pdev->dev, "pow2 clock registration failed\n"); goto out_clk; } + if (spicc->data->has_enhance_clk_div) { + ret = meson_spicc_enh_clk_init(spicc); + if (ret) { + dev_err(&pdev->dev, "clock registration failed\n"); + goto out_clk; + } + } + ret = devm_spi_register_master(&pdev->dev, master); if (ret) { dev_err(&pdev->dev, "spi master registration failed\n"); --- linux-gcp-5.19.0.orig/drivers/spi/spi-mt65xx.c +++ linux-gcp-5.19.0/drivers/spi/spi-mt65xx.c @@ -551,14 +551,17 @@ writel(cmd, mdata->base + SPI_CMD_REG); } -static int mtk_spi_get_mult_delta(u32 xfer_len) +static int mtk_spi_get_mult_delta(struct mtk_spi *mdata, u32 xfer_len) { - u32 mult_delta; + u32 mult_delta = 0; - if (xfer_len > MTK_SPI_PACKET_SIZE) - mult_delta = xfer_len % MTK_SPI_PACKET_SIZE; - else - mult_delta = 0; + if (mdata->dev_comp->ipm_design) { + if (xfer_len > MTK_SPI_IPM_PACKET_SIZE) + mult_delta = xfer_len % MTK_SPI_IPM_PACKET_SIZE; + } else { + if (xfer_len > MTK_SPI_PACKET_SIZE) + mult_delta = xfer_len % MTK_SPI_PACKET_SIZE; + } return mult_delta; } @@ -570,22 +573,22 @@ if (mdata->tx_sgl_len && mdata->rx_sgl_len) { if (mdata->tx_sgl_len > mdata->rx_sgl_len) { - mult_delta = mtk_spi_get_mult_delta(mdata->rx_sgl_len); + mult_delta = mtk_spi_get_mult_delta(mdata, mdata->rx_sgl_len); mdata->xfer_len = mdata->rx_sgl_len - mult_delta; mdata->rx_sgl_len = mult_delta; mdata->tx_sgl_len -= mdata->xfer_len; } else { - mult_delta = mtk_spi_get_mult_delta(mdata->tx_sgl_len); + mult_delta = mtk_spi_get_mult_delta(mdata, mdata->tx_sgl_len); mdata->xfer_len = mdata->tx_sgl_len - mult_delta; mdata->tx_sgl_len = mult_delta; mdata->rx_sgl_len -= mdata->xfer_len; } } else if (mdata->tx_sgl_len) { - mult_delta = mtk_spi_get_mult_delta(mdata->tx_sgl_len); + mult_delta = mtk_spi_get_mult_delta(mdata, mdata->tx_sgl_len); mdata->xfer_len = mdata->tx_sgl_len - mult_delta; mdata->tx_sgl_len = mult_delta; } else if (mdata->rx_sgl_len) { - mult_delta = mtk_spi_get_mult_delta(mdata->rx_sgl_len); + mult_delta = mtk_spi_get_mult_delta(mdata, mdata->rx_sgl_len); mdata->xfer_len = mdata->rx_sgl_len - mult_delta; mdata->rx_sgl_len = mult_delta; } @@ -1265,8 +1268,11 @@ { struct spi_master *master = platform_get_drvdata(pdev); struct mtk_spi *mdata = spi_master_get_devdata(master); + int ret; - pm_runtime_disable(&pdev->dev); + ret = pm_runtime_resume_and_get(&pdev->dev); + if (ret < 0) + return ret; mtk_spi_reset(mdata); @@ -1275,6 +1281,9 @@ clk_unprepare(mdata->spi_hclk); } + pm_runtime_put_noidle(&pdev->dev); + pm_runtime_disable(&pdev->dev); + return 0; } --- linux-gcp-5.19.0.orig/drivers/spi/spi-mt7621.c +++ linux-gcp-5.19.0/drivers/spi/spi-mt7621.c @@ -340,11 +340,9 @@ return PTR_ERR(base); clk = devm_clk_get(&pdev->dev, NULL); - if (IS_ERR(clk)) { - dev_err(&pdev->dev, "unable to get SYS clock, err=%d\n", - status); - return PTR_ERR(clk); - } + if (IS_ERR(clk)) + return dev_err_probe(&pdev->dev, PTR_ERR(clk), + "unable to get SYS clock\n"); status = clk_prepare_enable(clk); if (status) --- linux-gcp-5.19.0.orig/drivers/spi/spi-omap-100k.c +++ linux-gcp-5.19.0/drivers/spi/spi-omap-100k.c @@ -412,6 +412,7 @@ return status; err_fck: + pm_runtime_disable(&pdev->dev); clk_disable_unprepare(spi100k->fck); err_ick: clk_disable_unprepare(spi100k->ick); --- linux-gcp-5.19.0.orig/drivers/spi/spi-qup.c +++ linux-gcp-5.19.0/drivers/spi/spi-qup.c @@ -1057,6 +1057,8 @@ else master->num_chipselect = num_cs; + master->use_gpio_descriptors = true; + master->max_native_cs = SPI_NUM_CHIPSELECTS; master->bus_num = pdev->id; master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH | SPI_LOOP; master->bits_per_word_mask = SPI_BPW_RANGE_MASK(4, 32); @@ -1198,8 +1200,10 @@ return ret; ret = clk_prepare_enable(controller->cclk); - if (ret) + if (ret) { + clk_disable_unprepare(controller->iclk); return ret; + } /* Disable clocks auto gaiting */ config = readl_relaxed(controller->base + QUP_CONFIG); @@ -1245,14 +1249,25 @@ return ret; ret = clk_prepare_enable(controller->cclk); - if (ret) + if (ret) { + clk_disable_unprepare(controller->iclk); return ret; + } ret = spi_qup_set_state(controller, QUP_STATE_RESET); if (ret) - return ret; + goto disable_clk; - return spi_master_resume(master); + ret = spi_master_resume(master); + if (ret) + goto disable_clk; + + return 0; + +disable_clk: + clk_disable_unprepare(controller->cclk); + clk_disable_unprepare(controller->iclk); + return ret; } #endif /* CONFIG_PM_SLEEP */ --- linux-gcp-5.19.0.orig/drivers/spi/spi-s3c64xx.c +++ linux-gcp-5.19.0/drivers/spi/spi-s3c64xx.c @@ -83,6 +83,7 @@ #define S3C64XX_SPI_ST_TX_FIFORDY (1<<0) #define S3C64XX_SPI_PACKET_CNT_EN (1<<16) +#define S3C64XX_SPI_PACKET_CNT_MASK GENMASK(15, 0) #define S3C64XX_SPI_PND_TX_UNDERRUN_CLR (1<<4) #define S3C64XX_SPI_PND_TX_OVERRUN_CLR (1<<3) @@ -663,6 +664,13 @@ return 0; } +static size_t s3c64xx_spi_max_transfer_size(struct spi_device *spi) +{ + struct spi_controller *ctlr = spi->controller; + + return ctlr->can_dma ? S3C64XX_SPI_PACKET_CNT_MASK : SIZE_MAX; +} + static int s3c64xx_spi_transfer_one(struct spi_master *master, struct spi_device *spi, struct spi_transfer *xfer) @@ -1100,6 +1108,7 @@ master->prepare_transfer_hardware = s3c64xx_spi_prepare_transfer; master->prepare_message = s3c64xx_spi_prepare_message; master->transfer_one = s3c64xx_spi_transfer_one; + master->max_transfer_size = s3c64xx_spi_max_transfer_size; master->num_chipselect = sci->num_cs; master->use_gpio_descriptors = true; master->dma_alignment = 8; @@ -1413,7 +1422,7 @@ .quirks = S3C64XX_SPI_QUIRK_CS_AUTO, }; -static struct s3c64xx_spi_port_config fsd_spi_port_config = { +static const struct s3c64xx_spi_port_config fsd_spi_port_config = { .fifo_lvl_mask = { 0x7f, 0x7f, 0x7f, 0x7f, 0x7f}, .rx_lvl_offset = 15, .tx_st_done = 25, --- linux-gcp-5.19.0.orig/drivers/spi/spi-stm32.c +++ linux-gcp-5.19.0/drivers/spi/spi-stm32.c @@ -434,7 +434,7 @@ u32 div, mbrdiv; /* Ensure spi->clk_rate is even */ - div = DIV_ROUND_UP(spi->clk_rate & ~0x1, speed_hz); + div = DIV_ROUND_CLOSEST(spi->clk_rate & ~0x1, speed_hz); /* * SPI framework set xfer->speed_hz to master->max_speed_hz if @@ -886,6 +886,7 @@ static DEFINE_RATELIMIT_STATE(rs, DEFAULT_RATELIMIT_INTERVAL * 10, 1); + ratelimit_set_flags(&rs, RATELIMIT_MSG_ON_RELEASE); if (__ratelimit(&rs)) dev_dbg_ratelimited(spi->dev, "Communication suspended\n"); if (!spi->cur_usedma && (spi->rx_buf && (spi->rx_len > 0))) --- linux-gcp-5.19.0.orig/drivers/spi/spi-synquacer.c +++ linux-gcp-5.19.0/drivers/spi/spi-synquacer.c @@ -472,10 +472,9 @@ read_fifo(sspi); } - if (status < 0) { - dev_err(sspi->dev, "failed to transfer. status: 0x%x\n", - status); - return status; + if (status == 0) { + dev_err(sspi->dev, "failed to transfer. Timeout.\n"); + return -ETIMEDOUT; } return 0; @@ -783,6 +782,7 @@ ret = synquacer_spi_enable(master); if (ret) { + clk_disable_unprepare(sspi->clk); dev_err(dev, "failed to enable spi (%d)\n", ret); return ret; } --- linux-gcp-5.19.0.orig/drivers/spi/spi-tegra20-slink.c +++ linux-gcp-5.19.0/drivers/spi/spi-tegra20-slink.c @@ -1136,7 +1136,7 @@ static int tegra_slink_remove(struct platform_device *pdev) { - struct spi_master *master = platform_get_drvdata(pdev); + struct spi_master *master = spi_master_get(platform_get_drvdata(pdev)); struct tegra_slink_data *tspi = spi_master_get_devdata(master); spi_unregister_master(master); @@ -1151,6 +1151,7 @@ if (tspi->rx_dma_chan) tegra_slink_deinit_dma_param(tspi, true); + spi_master_put(master); return 0; } --- linux-gcp-5.19.0.orig/drivers/spi/spi-tegra210-quad.c +++ linux-gcp-5.19.0/drivers/spi/spi-tegra210-quad.c @@ -709,6 +709,9 @@ static void tegra_qspi_deinit_dma(struct tegra_qspi *tqspi) { + if (!tqspi->soc_data->has_dma) + return; + if (tqspi->tx_dma_buf) { dma_free_coherent(tqspi->dev, tqspi->dma_buf_size, tqspi->tx_dma_buf, tqspi->tx_dma_phys); @@ -739,6 +742,9 @@ u32 *dma_buf; int err; + if (!tqspi->soc_data->has_dma) + return 0; + dma_chan = dma_request_chan(tqspi->dev, "rx"); if (IS_ERR(dma_chan)) { err = PTR_ERR(dma_chan); @@ -906,8 +912,9 @@ static struct tegra_qspi_client_data *tegra_qspi_parse_cdata_dt(struct spi_device *spi) { struct tegra_qspi_client_data *cdata; + struct tegra_qspi *tqspi = spi_master_get_devdata(spi->master); - cdata = devm_kzalloc(&spi->dev, sizeof(*cdata), GFP_KERNEL); + cdata = devm_kzalloc(tqspi->dev, sizeof(*cdata), GFP_KERNEL); if (!cdata) return NULL; @@ -1144,6 +1151,11 @@ msg->actual_length += xfer->len; transfer_phase++; } + if (!xfer->cs_change) { + tegra_qspi_transfer_end(spi); + spi_transfer_delay_exec(xfer); + } + ret = 0; exit: msg->status = ret; --- linux-gcp-5.19.0.orig/drivers/spi/spi.c +++ linux-gcp-5.19.0/drivers/spi/spi.c @@ -1047,6 +1047,8 @@ if (sgt->orig_nents) { dma_unmap_sg(dev, sgt->sgl, sgt->orig_nents, dir); sg_free_table(sgt); + sgt->orig_nents = 0; + sgt->nents = 0; } } @@ -2398,7 +2400,7 @@ ctlr = acpi_spi_find_controller_by_adev(adev); if (!ctlr) - return -ENODEV; + return -EPROBE_DEFER; lookup->ctlr = ctlr; } @@ -3050,9 +3052,9 @@ } EXPORT_SYMBOL_GPL(spi_register_controller); -static void devm_spi_unregister(void *ctlr) +static void devm_spi_unregister(struct device *dev, void *res) { - spi_unregister_controller(ctlr); + spi_unregister_controller(*(struct spi_controller **)res); } /** @@ -3071,13 +3073,22 @@ int devm_spi_register_controller(struct device *dev, struct spi_controller *ctlr) { + struct spi_controller **ptr; int ret; + ptr = devres_alloc(devm_spi_unregister, sizeof(*ptr), GFP_KERNEL); + if (!ptr) + return -ENOMEM; + ret = spi_register_controller(ctlr); - if (ret) - return ret; + if (!ret) { + *ptr = ctlr; + devres_add(dev, ptr); + } else { + devres_free(ptr); + } - return devm_add_action_or_reset(dev, devm_spi_unregister, ctlr); + return ret; } EXPORT_SYMBOL_GPL(devm_spi_register_controller); --- linux-gcp-5.19.0.orig/drivers/spi/spidev.c +++ linux-gcp-5.19.0/drivers/spi/spidev.c @@ -377,12 +377,23 @@ switch (cmd) { /* read requests */ case SPI_IOC_RD_MODE: - retval = put_user(spi->mode & SPI_MODE_MASK, - (__u8 __user *)arg); - break; case SPI_IOC_RD_MODE32: - retval = put_user(spi->mode & SPI_MODE_MASK, - (__u32 __user *)arg); + tmp = spi->mode; + + { + struct spi_controller *ctlr = spi->controller; + + if (ctlr->use_gpio_descriptors && ctlr->cs_gpiods && + ctlr->cs_gpiods[spi->chip_select]) + tmp &= ~SPI_CS_HIGH; + } + + if (cmd == SPI_IOC_RD_MODE) + retval = put_user(tmp & SPI_MODE_MASK, + (__u8 __user *)arg); + else + retval = put_user(tmp & SPI_MODE_MASK, + (__u32 __user *)arg); break; case SPI_IOC_RD_LSB_FIRST: retval = put_user((spi->mode & SPI_LSB_FIRST) ? 1 : 0, @@ -590,7 +601,6 @@ if (!spidev->tx_buffer) { spidev->tx_buffer = kmalloc(bufsiz, GFP_KERNEL); if (!spidev->tx_buffer) { - dev_dbg(&spidev->spi->dev, "open/ENOMEM\n"); status = -ENOMEM; goto err_find_dev; } @@ -599,7 +609,6 @@ if (!spidev->rx_buffer) { spidev->rx_buffer = kmalloc(bufsiz, GFP_KERNEL); if (!spidev->rx_buffer) { - dev_dbg(&spidev->spi->dev, "open/ENOMEM\n"); status = -ENOMEM; goto err_alloc_rx_buf; } --- linux-gcp-5.19.0.orig/drivers/spmi/spmi-pmic-arb.c +++ linux-gcp-5.19.0/drivers/spmi/spmi-pmic-arb.c @@ -992,7 +992,8 @@ * version 5, there is more than one APID mapped to each PPID. * The owner field for each of these mappings specifies the EE which is * allowed to write to the APID. The owner of the last (highest) APID - * for a given PPID will receive interrupts from the PPID. + * which has the IRQ owner bit set for a given PPID will receive + * interrupts from the PPID. */ for (i = 0; ; i++, apidd++) { offset = pmic_arb->ver_ops->apid_map_offset(i); @@ -1015,16 +1016,16 @@ apid = pmic_arb->ppid_to_apid[ppid] & ~PMIC_ARB_APID_VALID; prev_apidd = &pmic_arb->apid_data[apid]; - if (valid && is_irq_ee && - prev_apidd->write_ee == pmic_arb->ee) { + if (!valid || apidd->write_ee == pmic_arb->ee) { + /* First PPID mapping or one for this EE */ + pmic_arb->ppid_to_apid[ppid] = i | PMIC_ARB_APID_VALID; + } else if (valid && is_irq_ee && + prev_apidd->write_ee == pmic_arb->ee) { /* * Duplicate PPID mapping after the one for this EE; * override the irq owner */ prev_apidd->irq_ee = apidd->irq_ee; - } else if (!valid || is_irq_ee) { - /* First PPID mapping or duplicate for another EE */ - pmic_arb->ppid_to_apid[ppid] = i | PMIC_ARB_APID_VALID; } apidd->ppid = ppid; --- linux-gcp-5.19.0.orig/drivers/staging/fbtft/fbtft-core.c +++ linux-gcp-5.19.0/drivers/staging/fbtft/fbtft-core.c @@ -655,7 +655,6 @@ fbdefio->delay = HZ / fps; fbdefio->sort_pagereflist = true; fbdefio->deferred_io = fbtft_deferred_io; - fb_deferred_io_init(info); snprintf(info->fix.id, sizeof(info->fix.id), "%s", dev->driver->name); info->fix.type = FB_TYPE_PACKED_PIXELS; @@ -666,6 +665,7 @@ info->fix.line_length = width * bpp / 8; info->fix.accel = FB_ACCEL_NONE; info->fix.smem_len = vmem_size; + fb_deferred_io_init(info); info->var.rotate = pdata->rotate; info->var.xres = width; --- linux-gcp-5.19.0.orig/drivers/staging/greybus/audio_helper.c +++ linux-gcp-5.19.0/drivers/staging/greybus/audio_helper.c @@ -3,7 +3,6 @@ * Greybus Audio Sound SoC helper APIs */ -#include #include #include #include @@ -116,10 +115,6 @@ { int i; struct snd_soc_dapm_widget *w, *next_w; -#ifdef CONFIG_DEBUG_FS - struct dentry *parent = dapm->debugfs_dapm; - struct dentry *debugfs_w = NULL; -#endif mutex_lock(&dapm->card->dapm_mutex); for (i = 0; i < num; i++) { @@ -139,12 +134,6 @@ continue; } widget++; -#ifdef CONFIG_DEBUG_FS - if (!parent) - debugfs_w = debugfs_lookup(w->name, parent); - debugfs_remove(debugfs_w); - debugfs_w = NULL; -#endif gbaudio_dapm_free_widget(w); } mutex_unlock(&dapm->card->dapm_mutex); --- linux-gcp-5.19.0.orig/drivers/staging/media/atomisp/pci/atomisp_cmd.c +++ linux-gcp-5.19.0/drivers/staging/media/atomisp/pci/atomisp_cmd.c @@ -901,9 +901,9 @@ int err; unsigned long irqflags; struct ia_css_frame *frame = NULL; - struct atomisp_s3a_buf *s3a_buf = NULL, *_s3a_buf_tmp; - struct atomisp_dis_buf *dis_buf = NULL, *_dis_buf_tmp; - struct atomisp_metadata_buf *md_buf = NULL, *_md_buf_tmp; + struct atomisp_s3a_buf *s3a_buf = NULL, *_s3a_buf_tmp, *s3a_iter; + struct atomisp_dis_buf *dis_buf = NULL, *_dis_buf_tmp, *dis_iter; + struct atomisp_metadata_buf *md_buf = NULL, *_md_buf_tmp, *md_iter; enum atomisp_metadata_type md_type; struct atomisp_device *isp = asd->isp; struct v4l2_control ctrl; @@ -942,60 +942,75 @@ switch (buf_type) { case IA_CSS_BUFFER_TYPE_3A_STATISTICS: - list_for_each_entry_safe(s3a_buf, _s3a_buf_tmp, + list_for_each_entry_safe(s3a_iter, _s3a_buf_tmp, &asd->s3a_stats_in_css, list) { - if (s3a_buf->s3a_data == + if (s3a_iter->s3a_data == buffer.css_buffer.data.stats_3a) { - list_del_init(&s3a_buf->list); - list_add_tail(&s3a_buf->list, + list_del_init(&s3a_iter->list); + list_add_tail(&s3a_iter->list, &asd->s3a_stats_ready); + s3a_buf = s3a_iter; break; } } asd->s3a_bufs_in_css[css_pipe_id]--; atomisp_3a_stats_ready_event(asd, buffer.css_buffer.exp_id); - dev_dbg(isp->dev, "%s: s3a stat with exp_id %d is ready\n", - __func__, s3a_buf->s3a_data->exp_id); + if (s3a_buf) + dev_dbg(isp->dev, "%s: s3a stat with exp_id %d is ready\n", + __func__, s3a_buf->s3a_data->exp_id); + else + dev_dbg(isp->dev, "%s: s3a stat is ready with no exp_id found\n", + __func__); break; case IA_CSS_BUFFER_TYPE_METADATA: if (error) break; md_type = atomisp_get_metadata_type(asd, css_pipe_id); - list_for_each_entry_safe(md_buf, _md_buf_tmp, + list_for_each_entry_safe(md_iter, _md_buf_tmp, &asd->metadata_in_css[md_type], list) { - if (md_buf->metadata == + if (md_iter->metadata == buffer.css_buffer.data.metadata) { - list_del_init(&md_buf->list); - list_add_tail(&md_buf->list, + list_del_init(&md_iter->list); + list_add_tail(&md_iter->list, &asd->metadata_ready[md_type]); + md_buf = md_iter; break; } } asd->metadata_bufs_in_css[stream_id][css_pipe_id]--; atomisp_metadata_ready_event(asd, md_type); - dev_dbg(isp->dev, "%s: metadata with exp_id %d is ready\n", - __func__, md_buf->metadata->exp_id); + if (md_buf) + dev_dbg(isp->dev, "%s: metadata with exp_id %d is ready\n", + __func__, md_buf->metadata->exp_id); + else + dev_dbg(isp->dev, "%s: metadata is ready with no exp_id found\n", + __func__); break; case IA_CSS_BUFFER_TYPE_DIS_STATISTICS: - list_for_each_entry_safe(dis_buf, _dis_buf_tmp, + list_for_each_entry_safe(dis_iter, _dis_buf_tmp, &asd->dis_stats_in_css, list) { - if (dis_buf->dis_data == + if (dis_iter->dis_data == buffer.css_buffer.data.stats_dvs) { spin_lock_irqsave(&asd->dis_stats_lock, irqflags); - list_del_init(&dis_buf->list); - list_add(&dis_buf->list, &asd->dis_stats); + list_del_init(&dis_iter->list); + list_add(&dis_iter->list, &asd->dis_stats); asd->params.dis_proj_data_valid = true; spin_unlock_irqrestore(&asd->dis_stats_lock, irqflags); + dis_buf = dis_iter; break; } } asd->dis_bufs_in_css--; - dev_dbg(isp->dev, "%s: dis stat with exp_id %d is ready\n", - __func__, dis_buf->dis_data->exp_id); + if (dis_buf) + dev_dbg(isp->dev, "%s: dis stat with exp_id %d is ready\n", + __func__, dis_buf->dis_data->exp_id); + else + dev_dbg(isp->dev, "%s: dis stat is ready with no exp_id found\n", + __func__); break; case IA_CSS_BUFFER_TYPE_VF_OUTPUT_FRAME: case IA_CSS_BUFFER_TYPE_SEC_VF_OUTPUT_FRAME: --- linux-gcp-5.19.0.orig/drivers/staging/media/atomisp/pci/runtime/rmgr/src/rmgr_vbuf.c +++ linux-gcp-5.19.0/drivers/staging/media/atomisp/pci/runtime/rmgr/src/rmgr_vbuf.c @@ -254,7 +254,7 @@ void ia_css_rmgr_acq_vbuf(struct ia_css_rmgr_vbuf_pool *pool, struct ia_css_rmgr_vbuf_handle **handle) { - struct ia_css_rmgr_vbuf_handle h = { 0 }; + struct ia_css_rmgr_vbuf_handle h; if ((!pool) || (!handle) || (!*handle)) { IA_CSS_LOG("Invalid inputs"); @@ -272,7 +272,7 @@ h.size = (*handle)->size; /* release ref to current buffer */ ia_css_rmgr_refcount_release_vbuf(handle); - **handle = h; + *handle = &h; } /* get new buffer for needed size */ if ((*handle)->vptr == 0x0) { --- linux-gcp-5.19.0.orig/drivers/staging/media/atomisp/pci/sh_css_params.c +++ linux-gcp-5.19.0/drivers/staging/media/atomisp/pci/sh_css_params.c @@ -950,8 +950,8 @@ params->fpn_config.data = NULL; } if (!params->fpn_config.data) { - params->fpn_config.data = kvmalloc(height * width * - sizeof(short), GFP_KERNEL); + params->fpn_config.data = kvmalloc(array3_size(height, width, sizeof(short)), + GFP_KERNEL); if (!params->fpn_config.data) { IA_CSS_ERROR("out of memory"); IA_CSS_LEAVE_ERR_PRIVATE(-ENOMEM); --- linux-gcp-5.19.0.orig/drivers/staging/media/hantro/hantro_g2_hevc_dec.c +++ linux-gcp-5.19.0/drivers/staging/media/hantro/hantro_g2_hevc_dec.c @@ -390,11 +390,10 @@ !!(pps->flags & V4L2_HEVC_PPS_FLAG_LOOP_FILTER_ACROSS_TILES_ENABLED)); /* - * Write POC count diff from current pic. For frame decoding only compute - * pic_order_cnt[0] and ignore pic_order_cnt[1] used in field-coding. + * Write POC count diff from current pic. */ for (i = 0; i < decode_params->num_active_dpb_entries && i < ARRAY_SIZE(cur_poc); i++) { - char poc_diff = decode_params->pic_order_cnt_val - dpb[i].pic_order_cnt[0]; + char poc_diff = decode_params->pic_order_cnt_val - dpb[i].pic_order_cnt_val; hantro_reg_write(vpu, &cur_poc[i], poc_diff); } @@ -421,7 +420,7 @@ dpb_longterm_e = 0; for (i = 0; i < decode_params->num_active_dpb_entries && i < (V4L2_HEVC_DPB_ENTRIES_NUM_MAX - 1); i++) { - luma_addr = hantro_hevc_get_ref_buf(ctx, dpb[i].pic_order_cnt[0]); + luma_addr = hantro_hevc_get_ref_buf(ctx, dpb[i].pic_order_cnt_val); if (!luma_addr) return -ENOMEM; --- linux-gcp-5.19.0.orig/drivers/staging/media/hantro/hantro_g2_regs.h +++ linux-gcp-5.19.0/drivers/staging/media/hantro/hantro_g2_regs.h @@ -107,7 +107,7 @@ #define g2_start_code_e G2_DEC_REG(10, 31, 0x1) #define g2_init_qp_old G2_DEC_REG(10, 25, 0x3f) -#define g2_init_qp G2_DEC_REG(10, 24, 0x3f) +#define g2_init_qp G2_DEC_REG(10, 24, 0x7f) #define g2_num_tile_cols_old G2_DEC_REG(10, 20, 0x1f) #define g2_num_tile_cols G2_DEC_REG(10, 19, 0x1f) #define g2_num_tile_rows_old G2_DEC_REG(10, 15, 0x1f) --- linux-gcp-5.19.0.orig/drivers/staging/media/hantro/hantro_hevc.c +++ linux-gcp-5.19.0/drivers/staging/media/hantro/hantro_hevc.c @@ -33,7 +33,7 @@ } dma_addr_t hantro_hevc_get_ref_buf(struct hantro_ctx *ctx, - int poc) + s32 poc) { struct hantro_hevc_dec_hw_ctx *hevc_dec = &ctx->hevc_dec; int i; @@ -154,6 +154,25 @@ return -ENOMEM; } +static int hantro_hevc_validate_sps(struct hantro_ctx *ctx, const struct v4l2_ctrl_hevc_sps *sps) +{ + /* + * for tile pixel format check if the width and height match + * hardware constraints + */ + if (ctx->vpu_dst_fmt->fourcc == V4L2_PIX_FMT_NV12_4L4) { + if (ctx->dst_fmt.width != + ALIGN(sps->pic_width_in_luma_samples, ctx->vpu_dst_fmt->frmsize.step_width)) + return -EINVAL; + + if (ctx->dst_fmt.height != + ALIGN(sps->pic_height_in_luma_samples, ctx->vpu_dst_fmt->frmsize.step_height)) + return -EINVAL; + } + + return 0; +} + int hantro_hevc_dec_prepare_run(struct hantro_ctx *ctx) { struct hantro_hevc_dec_hw_ctx *hevc_ctx = &ctx->hevc_dec; @@ -177,6 +196,10 @@ if (WARN_ON(!ctrls->sps)) return -EINVAL; + ret = hantro_hevc_validate_sps(ctx, ctrls->sps); + if (ret) + return ret; + ctrls->pps = hantro_get_ctrl(ctx, V4L2_CID_MPEG_VIDEO_HEVC_PPS); if (WARN_ON(!ctrls->pps)) --- linux-gcp-5.19.0.orig/drivers/staging/media/hantro/hantro_hw.h +++ linux-gcp-5.19.0/drivers/staging/media/hantro/hantro_hw.h @@ -18,9 +18,21 @@ #define DEC_8190_ALIGN_MASK 0x07U #define MB_DIM 16 +#define TILE_MB_DIM 4 #define MB_WIDTH(w) DIV_ROUND_UP(w, MB_DIM) #define MB_HEIGHT(h) DIV_ROUND_UP(h, MB_DIM) +#define FMT_MIN_WIDTH 48 +#define FMT_MIN_HEIGHT 48 +#define FMT_HD_WIDTH 1280 +#define FMT_HD_HEIGHT 720 +#define FMT_FHD_WIDTH 1920 +#define FMT_FHD_HEIGHT 1088 +#define FMT_UHD_WIDTH 3840 +#define FMT_UHD_HEIGHT 2160 +#define FMT_4K_WIDTH 4096 +#define FMT_4K_HEIGHT 2304 + #define NUM_REF_PICTURES (V4L2_HEVC_DPB_ENTRIES_NUM_MAX + 1) struct hantro_dev; @@ -133,7 +145,7 @@ struct hantro_aux_buf tile_bsd; struct hantro_aux_buf ref_bufs[NUM_REF_PICTURES]; struct hantro_aux_buf scaling_lists; - int ref_bufs_poc[NUM_REF_PICTURES]; + s32 ref_bufs_poc[NUM_REF_PICTURES]; u32 ref_bufs_used; struct hantro_hevc_dec_ctrls ctrls; unsigned int num_tile_cols_allocated; @@ -345,9 +357,10 @@ int hantro_g2_hevc_dec_run(struct hantro_ctx *ctx); int hantro_hevc_dec_prepare_run(struct hantro_ctx *ctx); void hantro_hevc_ref_init(struct hantro_ctx *ctx); -dma_addr_t hantro_hevc_get_ref_buf(struct hantro_ctx *ctx, int poc); +dma_addr_t hantro_hevc_get_ref_buf(struct hantro_ctx *ctx, s32 poc); int hantro_hevc_add_ref_buf(struct hantro_ctx *ctx, int poc, dma_addr_t addr); + static inline unsigned short hantro_vp9_num_sbs(unsigned short dimension) { return (dimension + 63) / 64; --- linux-gcp-5.19.0.orig/drivers/staging/media/hantro/hantro_v4l2.c +++ linux-gcp-5.19.0/drivers/staging/media/hantro/hantro_v4l2.c @@ -259,7 +259,7 @@ } else if (ctx->is_encoder) { vpu_fmt = ctx->vpu_dst_fmt; } else { - vpu_fmt = ctx->vpu_src_fmt; + vpu_fmt = fmt; /* * Width/height on the CAPTURE end of a decoder are ignored and * replaced by the OUTPUT ones. --- linux-gcp-5.19.0.orig/drivers/staging/media/hantro/imx8m_vpu_hw.c +++ linux-gcp-5.19.0/drivers/staging/media/hantro/imx8m_vpu_hw.c @@ -83,6 +83,14 @@ .fourcc = V4L2_PIX_FMT_YUYV, .codec_mode = HANTRO_MODE_NONE, .postprocessed = true, + .frmsize = { + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_UHD_WIDTH, + .step_width = MB_DIM, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_UHD_HEIGHT, + .step_height = MB_DIM, + }, }, }; @@ -90,17 +98,25 @@ { .fourcc = V4L2_PIX_FMT_NV12, .codec_mode = HANTRO_MODE_NONE, + .frmsize = { + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_UHD_WIDTH, + .step_width = MB_DIM, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_UHD_HEIGHT, + .step_height = MB_DIM, + }, }, { .fourcc = V4L2_PIX_FMT_MPEG2_SLICE, .codec_mode = HANTRO_MODE_MPEG2_DEC, .max_depth = 2, .frmsize = { - .min_width = 48, - .max_width = 1920, + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_FHD_WIDTH, .step_width = MB_DIM, - .min_height = 48, - .max_height = 1088, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_FHD_HEIGHT, .step_height = MB_DIM, }, }, @@ -109,11 +125,11 @@ .codec_mode = HANTRO_MODE_VP8_DEC, .max_depth = 2, .frmsize = { - .min_width = 48, - .max_width = 3840, + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_UHD_WIDTH, .step_width = MB_DIM, - .min_height = 48, - .max_height = 2160, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_UHD_HEIGHT, .step_height = MB_DIM, }, }, @@ -122,11 +138,11 @@ .codec_mode = HANTRO_MODE_H264_DEC, .max_depth = 2, .frmsize = { - .min_width = 48, - .max_width = 3840, + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_UHD_WIDTH, .step_width = MB_DIM, - .min_height = 48, - .max_height = 2160, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_UHD_HEIGHT, .step_height = MB_DIM, }, }, @@ -137,6 +153,14 @@ .fourcc = V4L2_PIX_FMT_NV12, .codec_mode = HANTRO_MODE_NONE, .postprocessed = true, + .frmsize = { + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_UHD_WIDTH, + .step_width = MB_DIM, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_UHD_HEIGHT, + .step_height = MB_DIM, + }, }, }; @@ -144,18 +168,26 @@ { .fourcc = V4L2_PIX_FMT_NV12_4L4, .codec_mode = HANTRO_MODE_NONE, + .frmsize = { + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_UHD_WIDTH, + .step_width = TILE_MB_DIM, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_UHD_HEIGHT, + .step_height = TILE_MB_DIM, + }, }, { .fourcc = V4L2_PIX_FMT_HEVC_SLICE, .codec_mode = HANTRO_MODE_HEVC_DEC, .max_depth = 2, .frmsize = { - .min_width = 48, - .max_width = 3840, - .step_width = MB_DIM, - .min_height = 48, - .max_height = 2160, - .step_height = MB_DIM, + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_UHD_WIDTH, + .step_width = TILE_MB_DIM, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_UHD_HEIGHT, + .step_height = TILE_MB_DIM, }, }, { @@ -163,12 +195,12 @@ .codec_mode = HANTRO_MODE_VP9_DEC, .max_depth = 2, .frmsize = { - .min_width = 48, - .max_width = 3840, - .step_width = MB_DIM, - .min_height = 48, - .max_height = 2160, - .step_height = MB_DIM, + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_UHD_WIDTH, + .step_width = TILE_MB_DIM, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_UHD_HEIGHT, + .step_height = TILE_MB_DIM, }, }, }; --- linux-gcp-5.19.0.orig/drivers/staging/media/hantro/rockchip_vpu_hw.c +++ linux-gcp-5.19.0/drivers/staging/media/hantro/rockchip_vpu_hw.c @@ -63,6 +63,14 @@ .fourcc = V4L2_PIX_FMT_YUYV, .codec_mode = HANTRO_MODE_NONE, .postprocessed = true, + .frmsize = { + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_FHD_WIDTH, + .step_width = MB_DIM, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_FHD_HEIGHT, + .step_height = MB_DIM, + }, }, }; @@ -70,17 +78,25 @@ { .fourcc = V4L2_PIX_FMT_NV12, .codec_mode = HANTRO_MODE_NONE, + .frmsize = { + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_FHD_WIDTH, + .step_width = MB_DIM, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_FHD_HEIGHT, + .step_height = MB_DIM, + }, }, { .fourcc = V4L2_PIX_FMT_H264_SLICE, .codec_mode = HANTRO_MODE_H264_DEC, .max_depth = 2, .frmsize = { - .min_width = 48, - .max_width = 1920, + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_FHD_WIDTH, .step_width = MB_DIM, - .min_height = 48, - .max_height = 1088, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_FHD_HEIGHT, .step_height = MB_DIM, }, }, @@ -89,11 +105,11 @@ .codec_mode = HANTRO_MODE_MPEG2_DEC, .max_depth = 2, .frmsize = { - .min_width = 48, - .max_width = 1920, + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_FHD_WIDTH, .step_width = MB_DIM, - .min_height = 48, - .max_height = 1088, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_FHD_HEIGHT, .step_height = MB_DIM, }, }, @@ -102,11 +118,11 @@ .codec_mode = HANTRO_MODE_VP8_DEC, .max_depth = 2, .frmsize = { - .min_width = 48, - .max_width = 1920, + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_FHD_WIDTH, .step_width = MB_DIM, - .min_height = 48, - .max_height = 1088, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_FHD_HEIGHT, .step_height = MB_DIM, }, }, @@ -116,17 +132,25 @@ { .fourcc = V4L2_PIX_FMT_NV12, .codec_mode = HANTRO_MODE_NONE, + .frmsize = { + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_4K_WIDTH, + .step_width = MB_DIM, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_4K_HEIGHT, + .step_height = MB_DIM, + }, }, { .fourcc = V4L2_PIX_FMT_H264_SLICE, .codec_mode = HANTRO_MODE_H264_DEC, .max_depth = 2, .frmsize = { - .min_width = 48, - .max_width = 4096, + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_4K_WIDTH, .step_width = MB_DIM, - .min_height = 48, - .max_height = 2304, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_4K_HEIGHT, .step_height = MB_DIM, }, }, @@ -135,11 +159,11 @@ .codec_mode = HANTRO_MODE_MPEG2_DEC, .max_depth = 2, .frmsize = { - .min_width = 48, - .max_width = 1920, + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_FHD_WIDTH, .step_width = MB_DIM, - .min_height = 48, - .max_height = 1088, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_FHD_HEIGHT, .step_height = MB_DIM, }, }, @@ -148,31 +172,80 @@ .codec_mode = HANTRO_MODE_VP8_DEC, .max_depth = 2, .frmsize = { - .min_width = 48, - .max_width = 3840, + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_UHD_WIDTH, .step_width = MB_DIM, - .min_height = 48, - .max_height = 2160, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_UHD_HEIGHT, .step_height = MB_DIM, }, }, }; -static const struct hantro_fmt rk3399_vpu_dec_fmts[] = { +static const struct hantro_fmt rockchip_vdpu2_dec_fmts[] = { { .fourcc = V4L2_PIX_FMT_NV12, .codec_mode = HANTRO_MODE_NONE, + .frmsize = { + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_FHD_WIDTH, + .step_width = MB_DIM, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_FHD_HEIGHT, + .step_height = MB_DIM, + }, }, { .fourcc = V4L2_PIX_FMT_H264_SLICE, .codec_mode = HANTRO_MODE_H264_DEC, .max_depth = 2, .frmsize = { - .min_width = 48, - .max_width = 1920, + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_FHD_WIDTH, + .step_width = MB_DIM, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_FHD_HEIGHT, + .step_height = MB_DIM, + }, + }, + { + .fourcc = V4L2_PIX_FMT_MPEG2_SLICE, + .codec_mode = HANTRO_MODE_MPEG2_DEC, + .max_depth = 2, + .frmsize = { + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_FHD_WIDTH, + .step_width = MB_DIM, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_FHD_HEIGHT, + .step_height = MB_DIM, + }, + }, + { + .fourcc = V4L2_PIX_FMT_VP8_FRAME, + .codec_mode = HANTRO_MODE_VP8_DEC, + .max_depth = 2, + .frmsize = { + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_UHD_WIDTH, .step_width = MB_DIM, - .min_height = 48, - .max_height = 1088, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_UHD_HEIGHT, + .step_height = MB_DIM, + }, + }, +}; + +static const struct hantro_fmt rk3399_vpu_dec_fmts[] = { + { + .fourcc = V4L2_PIX_FMT_NV12, + .codec_mode = HANTRO_MODE_NONE, + .frmsize = { + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_FHD_WIDTH, + .step_width = MB_DIM, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_FHD_HEIGHT, .step_height = MB_DIM, }, }, @@ -181,11 +254,11 @@ .codec_mode = HANTRO_MODE_MPEG2_DEC, .max_depth = 2, .frmsize = { - .min_width = 48, - .max_width = 1920, + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_FHD_WIDTH, .step_width = MB_DIM, - .min_height = 48, - .max_height = 1088, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_FHD_HEIGHT, .step_height = MB_DIM, }, }, @@ -194,11 +267,11 @@ .codec_mode = HANTRO_MODE_VP8_DEC, .max_depth = 2, .frmsize = { - .min_width = 48, - .max_width = 3840, + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_UHD_WIDTH, .step_width = MB_DIM, - .min_height = 48, - .max_height = 2160, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_UHD_HEIGHT, .step_height = MB_DIM, }, }, @@ -516,8 +589,8 @@ const struct hantro_variant rk3328_vpu_variant = { .dec_offset = 0x400, - .dec_fmts = rk3399_vpu_dec_fmts, - .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts), + .dec_fmts = rockchip_vdpu2_dec_fmts, + .num_dec_fmts = ARRAY_SIZE(rockchip_vdpu2_dec_fmts), .codec = HANTRO_MPEG2_DECODER | HANTRO_VP8_DECODER | HANTRO_H264_DECODER, .codec_ops = rk3399_vpu_codec_ops, @@ -528,6 +601,11 @@ .num_clocks = ARRAY_SIZE(rockchip_vpu_clk_names), }; +/* + * H.264 decoding explicitly disabled in RK3399. + * This ensures userspace applications use the Rockchip VDEC core, + * which has better performance. + */ const struct hantro_variant rk3399_vpu_variant = { .enc_offset = 0x0, .enc_fmts = rockchip_vpu_enc_fmts, @@ -547,8 +625,8 @@ const struct hantro_variant rk3568_vpu_variant = { .dec_offset = 0x400, - .dec_fmts = rk3399_vpu_dec_fmts, - .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts), + .dec_fmts = rockchip_vdpu2_dec_fmts, + .num_dec_fmts = ARRAY_SIZE(rockchip_vdpu2_dec_fmts), .codec = HANTRO_MPEG2_DECODER | HANTRO_VP8_DECODER | HANTRO_H264_DECODER, .codec_ops = rk3399_vpu_codec_ops, @@ -564,8 +642,8 @@ .enc_fmts = rockchip_vpu_enc_fmts, .num_enc_fmts = ARRAY_SIZE(rockchip_vpu_enc_fmts), .dec_offset = 0x400, - .dec_fmts = rk3399_vpu_dec_fmts, - .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts), + .dec_fmts = rockchip_vdpu2_dec_fmts, + .num_dec_fmts = ARRAY_SIZE(rockchip_vdpu2_dec_fmts), .codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER | HANTRO_VP8_DECODER | HANTRO_H264_DECODER, .codec_ops = rk3399_vpu_codec_ops, --- linux-gcp-5.19.0.orig/drivers/staging/media/hantro/sama5d4_vdec_hw.c +++ linux-gcp-5.19.0/drivers/staging/media/hantro/sama5d4_vdec_hw.c @@ -16,6 +16,14 @@ .fourcc = V4L2_PIX_FMT_YUYV, .codec_mode = HANTRO_MODE_NONE, .postprocessed = true, + .frmsize = { + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_HD_WIDTH, + .step_width = MB_DIM, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_HD_HEIGHT, + .step_height = MB_DIM, + }, }, }; @@ -23,17 +31,25 @@ { .fourcc = V4L2_PIX_FMT_NV12, .codec_mode = HANTRO_MODE_NONE, + .frmsize = { + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_HD_WIDTH, + .step_width = MB_DIM, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_HD_HEIGHT, + .step_height = MB_DIM, + }, }, { .fourcc = V4L2_PIX_FMT_MPEG2_SLICE, .codec_mode = HANTRO_MODE_MPEG2_DEC, .max_depth = 2, .frmsize = { - .min_width = 48, - .max_width = 1280, + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_HD_WIDTH, .step_width = MB_DIM, - .min_height = 48, - .max_height = 720, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_HD_HEIGHT, .step_height = MB_DIM, }, }, @@ -42,11 +58,11 @@ .codec_mode = HANTRO_MODE_VP8_DEC, .max_depth = 2, .frmsize = { - .min_width = 48, - .max_width = 1280, + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_HD_WIDTH, .step_width = MB_DIM, - .min_height = 48, - .max_height = 720, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_HD_HEIGHT, .step_height = MB_DIM, }, }, @@ -55,11 +71,11 @@ .codec_mode = HANTRO_MODE_H264_DEC, .max_depth = 2, .frmsize = { - .min_width = 48, - .max_width = 1280, + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_HD_WIDTH, .step_width = MB_DIM, - .min_height = 48, - .max_height = 720, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_HD_HEIGHT, .step_height = MB_DIM, }, }, --- linux-gcp-5.19.0.orig/drivers/staging/media/hantro/sunxi_vpu_hw.c +++ linux-gcp-5.19.0/drivers/staging/media/hantro/sunxi_vpu_hw.c @@ -14,6 +14,14 @@ .fourcc = V4L2_PIX_FMT_NV12, .codec_mode = HANTRO_MODE_NONE, .postprocessed = true, + .frmsize = { + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_UHD_WIDTH, + .step_width = 32, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_UHD_HEIGHT, + .step_height = 32, + }, }, }; @@ -21,17 +29,25 @@ { .fourcc = V4L2_PIX_FMT_NV12_4L4, .codec_mode = HANTRO_MODE_NONE, + .frmsize = { + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_UHD_WIDTH, + .step_width = 32, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_UHD_HEIGHT, + .step_height = 32, + }, }, { .fourcc = V4L2_PIX_FMT_VP9_FRAME, .codec_mode = HANTRO_MODE_VP9_DEC, .max_depth = 2, .frmsize = { - .min_width = 48, - .max_width = 3840, + .min_width = FMT_MIN_WIDTH, + .max_width = FMT_UHD_WIDTH, .step_width = 32, - .min_height = 48, - .max_height = 2160, + .min_height = FMT_MIN_HEIGHT, + .max_height = FMT_UHD_HEIGHT, .step_height = 32, }, }, --- linux-gcp-5.19.0.orig/drivers/staging/media/imx/imx7-media-csi.c +++ linux-gcp-5.19.0/drivers/staging/media/imx/imx7-media-csi.c @@ -441,9 +441,9 @@ cr18 = imx7_csi_reg_read(csi, CSI_CSICR18); cr18 &= ~(BIT_CSI_HW_ENABLE | BIT_MIPI_DATA_FORMAT_MASK | - BIT_DATA_FROM_MIPI | BIT_BASEADDR_CHG_ERR_EN | - BIT_BASEADDR_SWITCH_EN | BIT_BASEADDR_SWITCH_SEL | - BIT_DEINTERLACE_EN); + BIT_DATA_FROM_MIPI | BIT_MIPI_DOUBLE_CMPNT | + BIT_BASEADDR_CHG_ERR_EN | BIT_BASEADDR_SWITCH_SEL | + BIT_BASEADDR_SWITCH_EN | BIT_DEINTERLACE_EN); if (out_pix->field == V4L2_FIELD_INTERLACED) { cr18 |= BIT_DEINTERLACE_EN; @@ -558,8 +558,10 @@ imx7_csi_configure(csi); ret = imx7_csi_dma_setup(csi); - if (ret < 0) + if (ret < 0) { + clk_disable_unprepare(csi->mclk); return ret; + } return 0; } --- linux-gcp-5.19.0.orig/drivers/staging/media/ipu3/ipu3-v4l2.c +++ linux-gcp-5.19.0/drivers/staging/media/ipu3/ipu3-v4l2.c @@ -188,37 +188,50 @@ return 0; } +static struct v4l2_rect * +imgu_subdev_get_crop(struct imgu_v4l2_subdev *sd, + struct v4l2_subdev_state *sd_state, unsigned int pad, + enum v4l2_subdev_format_whence which) +{ + if (which == V4L2_SUBDEV_FORMAT_TRY) + return v4l2_subdev_get_try_crop(&sd->subdev, sd_state, pad); + else + return &sd->rect.eff; +} + +static struct v4l2_rect * +imgu_subdev_get_compose(struct imgu_v4l2_subdev *sd, + struct v4l2_subdev_state *sd_state, unsigned int pad, + enum v4l2_subdev_format_whence which) +{ + if (which == V4L2_SUBDEV_FORMAT_TRY) + return v4l2_subdev_get_try_compose(&sd->subdev, sd_state, pad); + else + return &sd->rect.bds; +} + static int imgu_subdev_get_selection(struct v4l2_subdev *sd, struct v4l2_subdev_state *sd_state, struct v4l2_subdev_selection *sel) { - struct v4l2_rect *try_sel, *r; - struct imgu_v4l2_subdev *imgu_sd = container_of(sd, - struct imgu_v4l2_subdev, - subdev); + struct imgu_v4l2_subdev *imgu_sd = + container_of(sd, struct imgu_v4l2_subdev, subdev); if (sel->pad != IMGU_NODE_IN) return -EINVAL; switch (sel->target) { case V4L2_SEL_TGT_CROP: - try_sel = v4l2_subdev_get_try_crop(sd, sd_state, sel->pad); - r = &imgu_sd->rect.eff; - break; + sel->r = *imgu_subdev_get_crop(imgu_sd, sd_state, sel->pad, + sel->which); + return 0; case V4L2_SEL_TGT_COMPOSE: - try_sel = v4l2_subdev_get_try_compose(sd, sd_state, sel->pad); - r = &imgu_sd->rect.bds; - break; + sel->r = *imgu_subdev_get_compose(imgu_sd, sd_state, sel->pad, + sel->which); + return 0; default: return -EINVAL; } - - if (sel->which == V4L2_SUBDEV_FORMAT_TRY) - sel->r = *try_sel; - else - sel->r = *r; - - return 0; } static int imgu_subdev_set_selection(struct v4l2_subdev *sd, @@ -226,10 +239,9 @@ struct v4l2_subdev_selection *sel) { struct imgu_device *imgu = v4l2_get_subdevdata(sd); - struct imgu_v4l2_subdev *imgu_sd = container_of(sd, - struct imgu_v4l2_subdev, - subdev); - struct v4l2_rect *rect, *try_sel; + struct imgu_v4l2_subdev *imgu_sd = + container_of(sd, struct imgu_v4l2_subdev, subdev); + struct v4l2_rect *rect; dev_dbg(&imgu->pci_dev->dev, "set subdev %u sel which %u target 0x%4x rect [%ux%u]", @@ -241,22 +253,18 @@ switch (sel->target) { case V4L2_SEL_TGT_CROP: - try_sel = v4l2_subdev_get_try_crop(sd, sd_state, sel->pad); - rect = &imgu_sd->rect.eff; + rect = imgu_subdev_get_crop(imgu_sd, sd_state, sel->pad, + sel->which); break; case V4L2_SEL_TGT_COMPOSE: - try_sel = v4l2_subdev_get_try_compose(sd, sd_state, sel->pad); - rect = &imgu_sd->rect.bds; + rect = imgu_subdev_get_compose(imgu_sd, sd_state, sel->pad, + sel->which); break; default: return -EINVAL; } - if (sel->which == V4L2_SUBDEV_FORMAT_TRY) - *try_sel = sel->r; - else - *rect = sel->r; - + *rect = sel->r; return 0; } --- linux-gcp-5.19.0.orig/drivers/staging/media/meson/vdec/vdec.c +++ linux-gcp-5.19.0/drivers/staging/media/meson/vdec/vdec.c @@ -1102,6 +1102,7 @@ err_vdev_release: video_device_release(vdev); + v4l2_device_unregister(&core->v4l2_dev); return ret; } @@ -1110,6 +1111,7 @@ struct amvdec_core *core = platform_get_drvdata(pdev); video_unregister_device(core->vdev_dec); + v4l2_device_unregister(&core->v4l2_dev); return 0; } --- linux-gcp-5.19.0.orig/drivers/staging/media/meson/vdec/vdec_hevc.c +++ linux-gcp-5.19.0/drivers/staging/media/meson/vdec/vdec_hevc.c @@ -167,8 +167,12 @@ clk_set_rate(core->vdec_hevc_clk, 666666666); ret = clk_prepare_enable(core->vdec_hevc_clk); - if (ret) + if (ret) { + if (core->platform->revision == VDEC_REVISION_G12A || + core->platform->revision == VDEC_REVISION_SM1) + clk_disable_unprepare(core->vdec_hevcf_clk); return ret; + } if (core->platform->revision == VDEC_REVISION_SM1) regmap_update_bits(core->regmap_ao, AO_RTI_GEN_PWR_SLEEP0, --- linux-gcp-5.19.0.orig/drivers/staging/media/rkvdec/rkvdec-h264.c +++ linux-gcp-5.19.0/drivers/staging/media/rkvdec/rkvdec-h264.c @@ -1175,8 +1175,8 @@ schedule_delayed_work(&rkvdec->watchdog_work, msecs_to_jiffies(2000)); - writel(0xffffffff, rkvdec->regs + RKVDEC_REG_STRMD_ERR_EN); - writel(0xffffffff, rkvdec->regs + RKVDEC_REG_H264_ERR_E); + writel(0, rkvdec->regs + RKVDEC_REG_STRMD_ERR_EN); + writel(0, rkvdec->regs + RKVDEC_REG_H264_ERR_E); writel(1, rkvdec->regs + RKVDEC_REG_PREF_LUMA_CACHE_COMMAND); writel(1, rkvdec->regs + RKVDEC_REG_PREF_CHR_CACHE_COMMAND); --- linux-gcp-5.19.0.orig/drivers/staging/media/rkvdec/rkvdec-vp9.c +++ linux-gcp-5.19.0/drivers/staging/media/rkvdec/rkvdec-vp9.c @@ -84,6 +84,8 @@ struct rkvdec_vp9_inter_frame_probs inter; struct rkvdec_vp9_intra_only_frame_probs intra_only; }; + /* 128 bit alignment */ + u8 padding1[11]; }; /* Data structure describing auxiliary buffer format. */ @@ -1006,6 +1008,7 @@ ctx->priv = vp9_ctx; + BUILD_BUG_ON(sizeof(priv_tbl->probs) % 16); /* ensure probs size is 128-bit aligned */ priv_tbl = dma_alloc_coherent(rkvdec->dev, sizeof(*priv_tbl), &vp9_ctx->priv_tbl.dma, GFP_KERNEL); if (!priv_tbl) { --- linux-gcp-5.19.0.orig/drivers/staging/media/sunxi/cedrus/Kconfig +++ linux-gcp-5.19.0/drivers/staging/media/sunxi/cedrus/Kconfig @@ -2,6 +2,7 @@ config VIDEO_SUNXI_CEDRUS tristate "Allwinner Cedrus VPU driver" depends on VIDEO_DEV + depends on RESET_CONTROLLER depends on HAS_DMA depends on OF select MEDIA_CONTROLLER --- linux-gcp-5.19.0.orig/drivers/staging/media/sunxi/cedrus/cedrus.c +++ linux-gcp-5.19.0/drivers/staging/media/sunxi/cedrus/cedrus.c @@ -422,6 +422,8 @@ if (!dev) return -ENOMEM; + platform_set_drvdata(pdev, dev); + dev->vfd = cedrus_video_device; dev->dev = &pdev->dev; dev->pdev = pdev; @@ -495,8 +497,6 @@ goto err_m2m_mc; } - platform_set_drvdata(pdev, dev); - return 0; err_m2m_mc: --- linux-gcp-5.19.0.orig/drivers/staging/media/sunxi/cedrus/cedrus_h265.c +++ linux-gcp-5.19.0/drivers/staging/media/sunxi/cedrus/cedrus_h265.c @@ -143,10 +143,13 @@ for (i = 0; i < num_active_dpb_entries; i++) { int buffer_index = vb2_find_timestamp(vq, dpb[i].timestamp, 0); u32 pic_order_cnt[2] = { - dpb[i].pic_order_cnt[0], - dpb[i].pic_order_cnt[1] + dpb[i].pic_order_cnt_val, + dpb[i].pic_order_cnt_val }; + if (buffer_index < 0) + continue; + cedrus_h265_frame_info_write_single(ctx, i, dpb[i].field_pic, pic_order_cnt, buffer_index); @@ -231,8 +234,9 @@ cedrus_write(dev, VE_DEC_H265_TRIGGER, VE_DEC_H265_TRIGGER_FLUSH_BITS | VE_DEC_H265_TRIGGER_TYPE_N_BITS(tmp)); - while (cedrus_read(dev, VE_DEC_H265_STATUS) & VE_DEC_H265_STATUS_VLD_BUSY) - udelay(1); + + if (cedrus_wait_for(dev, VE_DEC_H265_STATUS, VE_DEC_H265_STATUS_VLD_BUSY)) + dev_err_ratelimited(dev->dev, "timed out waiting to skip bits\n"); count += tmp; } @@ -301,6 +305,31 @@ } } +static int cedrus_h265_is_low_delay(struct cedrus_run *run) +{ + const struct v4l2_ctrl_hevc_slice_params *slice_params; + const struct v4l2_hevc_dpb_entry *dpb; + s32 poc; + int i; + + slice_params = run->h265.slice_params; + poc = run->h265.decode_params->pic_order_cnt_val; + dpb = run->h265.decode_params->dpb; + + for (i = 0; i < slice_params->num_ref_idx_l0_active_minus1 + 1; i++) + if (dpb[slice_params->ref_idx_l0[i]].pic_order_cnt_val > poc) + return 1; + + if (slice_params->slice_type != V4L2_HEVC_SLICE_TYPE_B) + return 0; + + for (i = 0; i < slice_params->num_ref_idx_l1_active_minus1 + 1; i++) + if (dpb[slice_params->ref_idx_l1[i]].pic_order_cnt_val > poc) + return 1; + + return 0; +} + static void cedrus_h265_setup(struct cedrus_ctx *ctx, struct cedrus_run *run) { @@ -559,7 +588,6 @@ reg = VE_DEC_H265_DEC_SLICE_HDR_INFO1_SLICE_TC_OFFSET_DIV2(slice_params->slice_tc_offset_div2) | VE_DEC_H265_DEC_SLICE_HDR_INFO1_SLICE_BETA_OFFSET_DIV2(slice_params->slice_beta_offset_div2) | - VE_DEC_H265_DEC_SLICE_HDR_INFO1_SLICE_POC_BIGEST_IN_RPS_ST(decode_params->num_poc_st_curr_after == 0) | VE_DEC_H265_DEC_SLICE_HDR_INFO1_SLICE_CR_QP_OFFSET(slice_params->slice_cr_qp_offset) | VE_DEC_H265_DEC_SLICE_HDR_INFO1_SLICE_CB_QP_OFFSET(slice_params->slice_cb_qp_offset) | VE_DEC_H265_DEC_SLICE_HDR_INFO1_SLICE_QP_DELTA(slice_params->slice_qp_delta); @@ -572,6 +600,9 @@ V4L2_HEVC_SLICE_PARAMS_FLAG_SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED, slice_params->flags); + if (slice_params->slice_type != V4L2_HEVC_SLICE_TYPE_I && !cedrus_h265_is_low_delay(run)) + reg |= VE_DEC_H265_DEC_SLICE_HDR_INFO1_FLAG_SLICE_NOT_LOW_DELAY; + cedrus_write(dev, VE_DEC_H265_DEC_SLICE_HDR_INFO1, reg); chroma_log2_weight_denom = pred_weight_table->luma_log2_weight_denom + --- linux-gcp-5.19.0.orig/drivers/staging/media/sunxi/cedrus/cedrus_regs.h +++ linux-gcp-5.19.0/drivers/staging/media/sunxi/cedrus/cedrus_regs.h @@ -377,13 +377,12 @@ #define VE_DEC_H265_DEC_SLICE_HDR_INFO1_FLAG_SLICE_DEBLOCKING_FILTER_DISABLED BIT(23) #define VE_DEC_H265_DEC_SLICE_HDR_INFO1_FLAG_SLICE_LOOP_FILTER_ACROSS_SLICES_ENABLED BIT(22) +#define VE_DEC_H265_DEC_SLICE_HDR_INFO1_FLAG_SLICE_NOT_LOW_DELAY BIT(21) #define VE_DEC_H265_DEC_SLICE_HDR_INFO1_SLICE_TC_OFFSET_DIV2(v) \ SHIFT_AND_MASK_BITS(v, 31, 28) #define VE_DEC_H265_DEC_SLICE_HDR_INFO1_SLICE_BETA_OFFSET_DIV2(v) \ SHIFT_AND_MASK_BITS(v, 27, 24) -#define VE_DEC_H265_DEC_SLICE_HDR_INFO1_SLICE_POC_BIGEST_IN_RPS_ST(v) \ - ((v) ? BIT(21) : 0) #define VE_DEC_H265_DEC_SLICE_HDR_INFO1_SLICE_CR_QP_OFFSET(v) \ SHIFT_AND_MASK_BITS(v, 20, 16) #define VE_DEC_H265_DEC_SLICE_HDR_INFO1_SLICE_CB_QP_OFFSET(v) \ --- linux-gcp-5.19.0.orig/drivers/staging/media/tegra-video/csi.c +++ linux-gcp-5.19.0/drivers/staging/media/tegra-video/csi.c @@ -433,7 +433,7 @@ for (i = 0; i < chan->numgangports; i++) chan->csi_port_nums[i] = port_num + i * CSI_PORTS_PER_BRICK; - chan->of_node = node; + chan->of_node = of_node_get(node); chan->numpads = num_pads; if (num_pads & 0x2) { chan->pads[0].flags = MEDIA_PAD_FL_SINK; @@ -448,6 +448,7 @@ chan->mipi = tegra_mipi_request(csi->dev, node); if (IS_ERR(chan->mipi)) { ret = PTR_ERR(chan->mipi); + chan->mipi = NULL; dev_err(csi->dev, "failed to get mipi device: %d\n", ret); } @@ -640,6 +641,7 @@ media_entity_cleanup(&subdev->entity); } + of_node_put(chan->of_node); list_del(&chan->list); kfree(chan); } --- linux-gcp-5.19.0.orig/drivers/staging/media/tegra-video/csi.h +++ linux-gcp-5.19.0/drivers/staging/media/tegra-video/csi.h @@ -56,7 +56,7 @@ * @framerate: active framerate for TPG * @h_blank: horizontal blanking for TPG active format * @v_blank: vertical blanking for TPG active format - * @mipi: mipi device for corresponding csi channel pads + * @mipi: mipi device for corresponding csi channel pads, or NULL if not applicable (TPG, error) * @pixel_rate: active pixel rate from the sensor on this channel */ struct tegra_csi_channel { --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/core/rtw_cmd.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/core/rtw_cmd.c @@ -898,8 +898,12 @@ static void rtl8188e_sreset_xmit_status_check(struct adapter *padapter) { u32 txdma_status; + int res; + + res = rtw_read32(padapter, REG_TXDMA_STATUS, &txdma_status); + if (res) + return; - txdma_status = rtw_read32(padapter, REG_TXDMA_STATUS); if (txdma_status != 0x00) rtw_write32(padapter, REG_TXDMA_STATUS, txdma_status); /* total xmit irp = 4 */ @@ -1177,7 +1181,14 @@ static bool rtw_is_hi_queue_empty(struct adapter *adapter) { - return (rtw_read32(adapter, REG_HGQ_INFORMATION) & 0x0000ff00) == 0; + int res; + u32 reg; + + res = rtw_read32(adapter, REG_HGQ_INFORMATION, ®); + if (res) + return false; + + return (reg & 0x0000ff00) == 0; } static void rtw_chk_hi_queue_hdl(struct adapter *padapter) --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/core/rtw_efuse.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/core/rtw_efuse.c @@ -28,22 +28,35 @@ u32 value32; u8 readbyte; u16 retry; + int res; /* Write Address */ rtw_write8(Adapter, EFUSE_CTRL + 1, (_offset & 0xff)); - readbyte = rtw_read8(Adapter, EFUSE_CTRL + 2); + res = rtw_read8(Adapter, EFUSE_CTRL + 2, &readbyte); + if (res) + return; + rtw_write8(Adapter, EFUSE_CTRL + 2, ((_offset >> 8) & 0x03) | (readbyte & 0xfc)); /* Write bit 32 0 */ - readbyte = rtw_read8(Adapter, EFUSE_CTRL + 3); + res = rtw_read8(Adapter, EFUSE_CTRL + 3, &readbyte); + if (res) + return; + rtw_write8(Adapter, EFUSE_CTRL + 3, (readbyte & 0x7f)); /* Check bit 32 read-ready */ - retry = 0; - value32 = rtw_read32(Adapter, EFUSE_CTRL); - while (!(((value32 >> 24) & 0xff) & 0x80) && (retry < 10000)) { - value32 = rtw_read32(Adapter, EFUSE_CTRL); - retry++; + res = rtw_read32(Adapter, EFUSE_CTRL, &value32); + if (res) + return; + + for (retry = 0; retry < 10000; retry++) { + res = rtw_read32(Adapter, EFUSE_CTRL, &value32); + if (res) + continue; + + if (((value32 >> 24) & 0xff) & 0x80) + break; } /* 20100205 Joseph: Add delay suggested by SD1 Victor. */ @@ -51,9 +64,13 @@ /* Designer says that there shall be some delay after ready bit is set, or the */ /* result will always stay on last data we read. */ udelay(50); - value32 = rtw_read32(Adapter, EFUSE_CTRL); + res = rtw_read32(Adapter, EFUSE_CTRL, &value32); + if (res) + return; *pbuf = (u8)(value32 & 0xff); + + /* FIXME: return an error to caller */ } /*----------------------------------------------------------------------------- --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/core/rtw_fw.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/core/rtw_fw.c @@ -44,18 +44,28 @@ static void fw_download_enable(struct adapter *padapter, bool enable) { u8 tmp; + int res; if (enable) { /* MCU firmware download enable. */ - tmp = rtw_read8(padapter, REG_MCUFWDL); + res = rtw_read8(padapter, REG_MCUFWDL, &tmp); + if (res) + return; + rtw_write8(padapter, REG_MCUFWDL, tmp | 0x01); /* 8051 reset */ - tmp = rtw_read8(padapter, REG_MCUFWDL + 2); + res = rtw_read8(padapter, REG_MCUFWDL + 2, &tmp); + if (res) + return; + rtw_write8(padapter, REG_MCUFWDL + 2, tmp & 0xf7); } else { /* MCU firmware download disable. */ - tmp = rtw_read8(padapter, REG_MCUFWDL); + res = rtw_read8(padapter, REG_MCUFWDL, &tmp); + if (res) + return; + rtw_write8(padapter, REG_MCUFWDL, tmp & 0xfe); /* Reserved for fw extension. */ @@ -125,8 +135,13 @@ { u8 value8; u8 u8Page = (u8)(page & 0x07); + int res; + + res = rtw_read8(padapter, REG_MCUFWDL + 2, &value8); + if (res) + return _FAIL; - value8 = (rtw_read8(padapter, REG_MCUFWDL + 2) & 0xF8) | u8Page; + value8 = (value8 & 0xF8) | u8Page; rtw_write8(padapter, REG_MCUFWDL + 2, value8); return block_write(padapter, buffer, size); @@ -165,8 +180,12 @@ void rtw_reset_8051(struct adapter *padapter) { u8 val8; + int res; + + res = rtw_read8(padapter, REG_SYS_FUNC_EN + 1, &val8); + if (res) + return; - val8 = rtw_read8(padapter, REG_SYS_FUNC_EN + 1); rtw_write8(padapter, REG_SYS_FUNC_EN + 1, val8 & (~BIT(2))); rtw_write8(padapter, REG_SYS_FUNC_EN + 1, val8 | (BIT(2))); } @@ -175,10 +194,14 @@ { u32 counter = 0; u32 value32; + int res; /* polling CheckSum report */ do { - value32 = rtw_read32(padapter, REG_MCUFWDL); + res = rtw_read32(padapter, REG_MCUFWDL, &value32); + if (res) + continue; + if (value32 & FWDL_CHKSUM_RPT) break; } while (counter++ < POLLING_READY_TIMEOUT_COUNT); @@ -186,7 +209,10 @@ if (counter >= POLLING_READY_TIMEOUT_COUNT) return _FAIL; - value32 = rtw_read32(padapter, REG_MCUFWDL); + res = rtw_read32(padapter, REG_MCUFWDL, &value32); + if (res) + return _FAIL; + value32 |= MCUFWDL_RDY; value32 &= ~WINTINI_RDY; rtw_write32(padapter, REG_MCUFWDL, value32); @@ -196,9 +222,10 @@ /* polling for FW ready */ counter = 0; do { - value32 = rtw_read32(padapter, REG_MCUFWDL); - if (value32 & WINTINI_RDY) + res = rtw_read32(padapter, REG_MCUFWDL, &value32); + if (!res && value32 & WINTINI_RDY) return _SUCCESS; + udelay(5); } while (counter++ < POLLING_READY_TIMEOUT_COUNT); @@ -239,7 +266,7 @@ int rtl8188e_firmware_download(struct adapter *padapter) { int ret = _SUCCESS; - u8 write_fw_retry = 0; + u8 reg; unsigned long fwdl_timeout; struct dvobj_priv *dvobj = adapter_to_dvobj(padapter); struct device *device = dvobj_to_dev(dvobj); @@ -269,23 +296,34 @@ /* Suggested by Filen. If 8051 is running in RAM code, driver should inform Fw to reset by itself, */ /* or it will cause download Fw fail. 2010.02.01. by tynli. */ - if (rtw_read8(padapter, REG_MCUFWDL) & RAM_DL_SEL) { /* 8051 RAM code */ + ret = rtw_read8(padapter, REG_MCUFWDL, ®); + if (ret) { + ret = _FAIL; + goto exit; + } + + if (reg & RAM_DL_SEL) { /* 8051 RAM code */ rtw_write8(padapter, REG_MCUFWDL, 0x00); rtw_reset_8051(padapter); } fw_download_enable(padapter, true); fwdl_timeout = jiffies + msecs_to_jiffies(500); - while (1) { + do { /* reset the FWDL chksum */ - rtw_write8(padapter, REG_MCUFWDL, rtw_read8(padapter, REG_MCUFWDL) | FWDL_CHKSUM_RPT); + ret = rtw_read8(padapter, REG_MCUFWDL, ®); + if (ret) { + ret = _FAIL; + continue; + } - ret = write_fw(padapter, fw_data, fw_size); + rtw_write8(padapter, REG_MCUFWDL, reg | FWDL_CHKSUM_RPT); - if (ret == _SUCCESS || - (time_after(jiffies, fwdl_timeout) && write_fw_retry++ >= 3)) + ret = write_fw(padapter, fw_data, fw_size); + if (ret == _SUCCESS) break; - } + } while (!time_after(jiffies, fwdl_timeout)); + fw_download_enable(padapter, false); if (ret != _SUCCESS) goto exit; --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/core/rtw_led.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/core/rtw_led.c @@ -34,30 +34,19 @@ static void SwLedOn(struct adapter *padapter, struct LED_871x *pLed) { - u8 LedCfg; - if (padapter->bSurpriseRemoved || padapter->bDriverStopped) return; - LedCfg = rtw_read8(padapter, REG_LEDCFG2); - rtw_write8(padapter, REG_LEDCFG2, (LedCfg & 0xf0) | BIT(5) | BIT(6)); /* SW control led0 on. */ + rtw_write8(padapter, REG_LEDCFG2, BIT(5)); /* SW control led0 on. */ pLed->bLedOn = true; } static void SwLedOff(struct adapter *padapter, struct LED_871x *pLed) { - u8 LedCfg; - if (padapter->bSurpriseRemoved || padapter->bDriverStopped) goto exit; - LedCfg = rtw_read8(padapter, REG_LEDCFG2);/* 0x4E */ - - LedCfg &= 0x90; /* Set to software control. */ - rtw_write8(padapter, REG_LEDCFG2, (LedCfg | BIT(3))); - LedCfg = rtw_read8(padapter, REG_MAC_PINMUX_CFG); - LedCfg &= 0xFE; - rtw_write8(padapter, REG_MAC_PINMUX_CFG, LedCfg); + rtw_write8(padapter, REG_LEDCFG2, BIT(5) | BIT(3)); exit: pLed->bLedOn = false; } --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/core/rtw_mlme_ext.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/core/rtw_mlme_ext.c @@ -5667,14 +5667,28 @@ bool get_beacon_valid_bit(struct adapter *adapter) { + int res; + u8 reg; + + res = rtw_read8(adapter, REG_TDECTRL + 2, ®); + if (res) + return false; + /* BIT(16) of REG_TDECTRL = BIT(0) of REG_TDECTRL+2 */ - return BIT(0) & rtw_read8(adapter, REG_TDECTRL + 2); + return BIT(0) & reg; } void clear_beacon_valid_bit(struct adapter *adapter) { + int res; + u8 reg; + + res = rtw_read8(adapter, REG_TDECTRL + 2, ®); + if (res) + return; + /* BIT(16) of REG_TDECTRL = BIT(0) of REG_TDECTRL+2, write 1 to clear, Clear by sw */ - rtw_write8(adapter, REG_TDECTRL + 2, rtw_read8(adapter, REG_TDECTRL + 2) | BIT(0)); + rtw_write8(adapter, REG_TDECTRL + 2, reg | BIT(0)); } /**************************************************************************** @@ -6002,7 +6016,9 @@ static void mlme_join(struct adapter *adapter, int type) { struct mlme_priv *mlmepriv = &adapter->mlmepriv; - u8 retry_limit = 0x30; + u8 retry_limit = 0x30, reg; + u32 reg32; + int res; switch (type) { case 0: @@ -6010,8 +6026,12 @@ /* enable to rx data frame, accept all data frame */ rtw_write16(adapter, REG_RXFLTMAP2, 0xFFFF); + res = rtw_read32(adapter, REG_RCR, ®32); + if (res) + return; + rtw_write32(adapter, REG_RCR, - rtw_read32(adapter, REG_RCR) | RCR_CBSSID_DATA | RCR_CBSSID_BCN); + reg32 | RCR_CBSSID_DATA | RCR_CBSSID_BCN); if (check_fwstate(mlmepriv, WIFI_STATION_STATE)) { retry_limit = 48; @@ -6027,7 +6047,11 @@ case 2: /* sta add event call back */ /* enable update TSF */ - rtw_write8(adapter, REG_BCN_CTRL, rtw_read8(adapter, REG_BCN_CTRL) & (~BIT(4))); + res = rtw_read8(adapter, REG_BCN_CTRL, ®); + if (res) + return; + + rtw_write8(adapter, REG_BCN_CTRL, reg & (~BIT(4))); if (check_fwstate(mlmepriv, WIFI_ADHOC_STATE | WIFI_ADHOC_MASTER_STATE)) retry_limit = 0x7; @@ -6748,6 +6772,9 @@ static void mlme_disconnect(struct adapter *adapter) { + int res; + u8 reg; + /* Set RCR to not to receive data frame when NO LINK state */ /* reject all data frames */ rtw_write16(adapter, REG_RXFLTMAP2, 0x00); @@ -6756,7 +6783,12 @@ rtw_write8(adapter, REG_DUAL_TSF_RST, (BIT(0) | BIT(1))); /* disable update TSF */ - rtw_write8(adapter, REG_BCN_CTRL, rtw_read8(adapter, REG_BCN_CTRL) | BIT(4)); + + res = rtw_read8(adapter, REG_BCN_CTRL, ®); + if (res) + return; + + rtw_write8(adapter, REG_BCN_CTRL, reg | BIT(4)); } void mlmeext_sta_del_event_callback(struct adapter *padapter) @@ -6810,14 +6842,20 @@ return ret; } -static void rtl8188e_sreset_linked_status_check(struct adapter *padapter) +static int rtl8188e_sreset_linked_status_check(struct adapter *padapter) { - u32 rx_dma_status = rtw_read32(padapter, REG_RXDMA_STATUS); + u32 rx_dma_status; + int res; + u8 reg; + + res = rtw_read32(padapter, REG_RXDMA_STATUS, &rx_dma_status); + if (res) + return res; if (rx_dma_status != 0x00) rtw_write32(padapter, REG_RXDMA_STATUS, rx_dma_status); - rtw_read8(padapter, REG_FMETHR); + return rtw_read8(padapter, REG_FMETHR, ®); } void linked_status_chk(struct adapter *padapter) @@ -7219,6 +7257,7 @@ struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; struct wlan_bssid_ex *pnetwork = (struct wlan_bssid_ex *)(&pmlmeinfo->network); u8 val8; + int res; if (is_client_associated_to_ap(padapter)) issue_deauth_ex(padapter, pnetwork->MacAddress, WLAN_REASON_DEAUTH_LEAVING, param->deauth_timeout_ms / 100, 100); @@ -7231,7 +7270,10 @@ if (((pmlmeinfo->state & 0x03) == WIFI_FW_ADHOC_STATE) || ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE)) { /* Stop BCN */ - val8 = rtw_read8(padapter, REG_BCN_CTRL); + res = rtw_read8(padapter, REG_BCN_CTRL, &val8); + if (res) + return H2C_DROPPED; + rtw_write8(padapter, REG_BCN_CTRL, val8 & (~(EN_BCN_FUNCTION | EN_TXBCN_RPT))); } --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/core/rtw_pwrctrl.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/core/rtw_pwrctrl.c @@ -229,6 +229,9 @@ static bool lps_rf_on(struct adapter *adapter) { + int res; + u32 reg; + /* When we halt NIC, we should check if FW LPS is leave. */ if (adapter->pwrctrlpriv.rf_pwrstate == rf_off) { /* If it is in HW/SW Radio OFF or IPS state, we do not check Fw LPS Leave, */ @@ -236,7 +239,11 @@ return true; } - if (rtw_read32(adapter, REG_RCR) & 0x00070000) + res = rtw_read32(adapter, REG_RCR, ®); + if (res) + return false; + + if (reg & 0x00070000) return false; return true; --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/core/rtw_wlan_util.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/core/rtw_wlan_util.c @@ -279,8 +279,13 @@ void Set_MSR(struct adapter *padapter, u8 type) { u8 val8; + int res; - val8 = rtw_read8(padapter, MSR) & 0x0c; + res = rtw_read8(padapter, MSR, &val8); + if (res) + return; + + val8 &= 0x0c; val8 |= type; rtw_write8(padapter, MSR, val8); } @@ -505,7 +510,11 @@ static void set_acm_ctrl(struct adapter *adapter, u8 acm_mask) { - u8 acmctrl = rtw_read8(adapter, REG_ACMHWCTRL); + u8 acmctrl; + int res = rtw_read8(adapter, REG_ACMHWCTRL, &acmctrl); + + if (res) + return; if (acm_mask > 1) acmctrl = acmctrl | 0x1; @@ -765,6 +774,7 @@ static void set_min_ampdu_spacing(struct adapter *adapter, u8 spacing) { u8 sec_spacing; + int res; if (spacing <= 7) { switch (adapter->securitypriv.dot11PrivacyAlgrthm) { @@ -786,8 +796,12 @@ if (spacing < sec_spacing) spacing = sec_spacing; + res = rtw_read8(adapter, REG_AMPDU_MIN_SPACE, &sec_spacing); + if (res) + return; + rtw_write8(adapter, REG_AMPDU_MIN_SPACE, - (rtw_read8(adapter, REG_AMPDU_MIN_SPACE) & 0xf8) | spacing); + (sec_spacing & 0xf8) | spacing); } } --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/hal/Hal8188ERateAdaptive.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/hal/Hal8188ERateAdaptive.c @@ -279,6 +279,7 @@ { /* Wilson 2011/10/26 */ u32 MaskFromReg; s8 i; + int res; switch (pRaInfo->RateID) { case RATR_INX_WIRELESS_NGB: @@ -303,19 +304,31 @@ pRaInfo->RAUseRate = (pRaInfo->RateMask) & 0x0000000d; break; case 12: - MaskFromReg = rtw_read32(dm_odm->Adapter, REG_ARFR0); + res = rtw_read32(dm_odm->Adapter, REG_ARFR0, &MaskFromReg); + if (res) + return res; + pRaInfo->RAUseRate = (pRaInfo->RateMask) & MaskFromReg; break; case 13: - MaskFromReg = rtw_read32(dm_odm->Adapter, REG_ARFR1); + res = rtw_read32(dm_odm->Adapter, REG_ARFR1, &MaskFromReg); + if (res) + return res; + pRaInfo->RAUseRate = (pRaInfo->RateMask) & MaskFromReg; break; case 14: - MaskFromReg = rtw_read32(dm_odm->Adapter, REG_ARFR2); + res = rtw_read32(dm_odm->Adapter, REG_ARFR2, &MaskFromReg); + if (res) + return res; + pRaInfo->RAUseRate = (pRaInfo->RateMask) & MaskFromReg; break; case 15: - MaskFromReg = rtw_read32(dm_odm->Adapter, REG_ARFR3); + res = rtw_read32(dm_odm->Adapter, REG_ARFR3, &MaskFromReg); + if (res) + return res; + pRaInfo->RAUseRate = (pRaInfo->RateMask) & MaskFromReg; break; default: --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/hal/HalPhyRf_8188e.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/hal/HalPhyRf_8188e.c @@ -463,6 +463,7 @@ } } +/* FIXME: return an error to caller */ static void _PHY_SaveMACRegisters( struct adapter *adapt, u32 *MACReg, @@ -470,11 +471,20 @@ ) { u32 i; + int res; - for (i = 0; i < (IQK_MAC_REG_NUM - 1); i++) - MACBackup[i] = rtw_read8(adapt, MACReg[i]); + for (i = 0; i < (IQK_MAC_REG_NUM - 1); i++) { + u8 reg; + + res = rtw_read8(adapt, MACReg[i], ®); + if (res) + return; + + MACBackup[i] = reg; + } - MACBackup[i] = rtw_read32(adapt, MACReg[i]); + res = rtw_read32(adapt, MACReg[i], MACBackup + i); + (void)res; } static void reload_adda_reg(struct adapter *adapt, u32 *ADDAReg, u32 *ADDABackup, u32 RegiesterNum) @@ -739,9 +749,12 @@ { u8 tmpreg; u32 RF_Amode = 0, LC_Cal; + int res; /* Check continuous TX and Packet TX */ - tmpreg = rtw_read8(adapt, 0xd03); + res = rtw_read8(adapt, 0xd03, &tmpreg); + if (res) + return; if ((tmpreg & 0x70) != 0) /* Deal with contisuous TX case */ rtw_write8(adapt, 0xd03, tmpreg & 0x8F); /* disable all continuous TX */ --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/hal/HalPwrSeqCmd.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/hal/HalPwrSeqCmd.c @@ -12,6 +12,7 @@ u32 offset = 0; u32 poll_count = 0; /* polling autoload done. */ u32 max_poll_count = 5000; + int res; do { pwrcfgcmd = pwrseqcmd[aryidx]; @@ -21,7 +22,9 @@ offset = GET_PWR_CFG_OFFSET(pwrcfgcmd); /* Read the value from system register */ - value = rtw_read8(padapter, offset); + res = rtw_read8(padapter, offset, &value); + if (res) + return false; value &= ~(GET_PWR_CFG_MASK(pwrcfgcmd)); value |= (GET_PWR_CFG_VALUE(pwrcfgcmd) & GET_PWR_CFG_MASK(pwrcfgcmd)); @@ -33,7 +36,9 @@ poll_bit = false; offset = GET_PWR_CFG_OFFSET(pwrcfgcmd); do { - value = rtw_read8(padapter, offset); + res = rtw_read8(padapter, offset, &value); + if (res) + return false; value &= GET_PWR_CFG_MASK(pwrcfgcmd); if (value == (GET_PWR_CFG_VALUE(pwrcfgcmd) & GET_PWR_CFG_MASK(pwrcfgcmd))) --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/hal/hal_com.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/hal/hal_com.c @@ -303,7 +303,9 @@ if (!buf) goto exit; - trigger = rtw_read8(adapter, REG_C2HEVT_CLEAR); + ret = rtw_read8(adapter, REG_C2HEVT_CLEAR, &trigger); + if (ret) + return _FAIL; if (trigger == C2H_EVT_HOST_CLOSE) goto exit; /* Not ready */ @@ -314,13 +316,26 @@ memset(c2h_evt, 0, 16); - *buf = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL); - *(buf + 1) = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL + 1); - + ret = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL, buf); + if (ret) { + ret = _FAIL; + goto clear_evt; + } + + ret = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL + 1, buf + 1); + if (ret) { + ret = _FAIL; + goto clear_evt; + } /* Read the content */ - for (i = 0; i < c2h_evt->plen; i++) - c2h_evt->payload[i] = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL + - sizeof(*c2h_evt) + i); + for (i = 0; i < c2h_evt->plen; i++) { + ret = rtw_read8(adapter, REG_C2HEVT_MSG_NORMAL + + sizeof(*c2h_evt) + i, c2h_evt->payload + i); + if (ret) { + ret = _FAIL; + goto clear_evt; + } + } ret = _SUCCESS; --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/hal/rtl8188e_cmd.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/hal/rtl8188e_cmd.c @@ -18,13 +18,18 @@ static u8 _is_fw_read_cmd_down(struct adapter *adapt, u8 msgbox_num) { - u8 read_down = false; + u8 read_down = false, reg; int retry_cnts = 100; + int res; u8 valid; do { - valid = rtw_read8(adapt, REG_HMETFR) & BIT(msgbox_num); + res = rtw_read8(adapt, REG_HMETFR, ®); + if (res) + continue; + + valid = reg & BIT(msgbox_num); if (0 == valid) read_down = true; } while ((!read_down) && (retry_cnts--)); @@ -533,6 +538,8 @@ bool bcn_valid = false; u8 DLBcnCount = 0; u32 poll = 0; + u8 reg; + int res; if (mstatus == 1) { /* We should set AID, correct TSF, HW seq enable before set JoinBssReport to Fw in 88/92C. */ @@ -547,8 +554,17 @@ /* Disable Hw protection for a time which revserd for Hw sending beacon. */ /* Fix download reserved page packet fail that access collision with the protection time. */ /* 2010.05.11. Added by tynli. */ - rtw_write8(adapt, REG_BCN_CTRL, rtw_read8(adapt, REG_BCN_CTRL) & (~BIT(3))); - rtw_write8(adapt, REG_BCN_CTRL, rtw_read8(adapt, REG_BCN_CTRL) | BIT(4)); + res = rtw_read8(adapt, REG_BCN_CTRL, ®); + if (res) + return; + + rtw_write8(adapt, REG_BCN_CTRL, reg & (~BIT(3))); + + res = rtw_read8(adapt, REG_BCN_CTRL, ®); + if (res) + return; + + rtw_write8(adapt, REG_BCN_CTRL, reg | BIT(4)); if (haldata->RegFwHwTxQCtrl & BIT(6)) bSendBeacon = true; @@ -581,8 +597,17 @@ /* */ /* Enable Bcn */ - rtw_write8(adapt, REG_BCN_CTRL, rtw_read8(adapt, REG_BCN_CTRL) | BIT(3)); - rtw_write8(adapt, REG_BCN_CTRL, rtw_read8(adapt, REG_BCN_CTRL) & (~BIT(4))); + res = rtw_read8(adapt, REG_BCN_CTRL, ®); + if (res) + return; + + rtw_write8(adapt, REG_BCN_CTRL, reg | BIT(3)); + + res = rtw_read8(adapt, REG_BCN_CTRL, ®); + if (res) + return; + + rtw_write8(adapt, REG_BCN_CTRL, reg & (~BIT(4))); /* To make sure that if there exists an adapter which would like to send beacon. */ /* If exists, the origianl value of 0x422[6] will be 1, we should check this to */ --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/hal/rtl8188e_dm.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/hal/rtl8188e_dm.c @@ -12,8 +12,12 @@ static void dm_InitGPIOSetting(struct adapter *Adapter) { u8 tmp1byte; + int res; + + res = rtw_read8(Adapter, REG_GPIO_MUXCFG, &tmp1byte); + if (res) + return; - tmp1byte = rtw_read8(Adapter, REG_GPIO_MUXCFG); tmp1byte &= (GPIOSEL_GPIO | ~GPIOSEL_ENBT); rtw_write8(Adapter, REG_GPIO_MUXCFG, tmp1byte); --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/hal/rtl8188e_hal_init.c @@ -13,10 +13,14 @@ static void iol_mode_enable(struct adapter *padapter, u8 enable) { u8 reg_0xf0 = 0; + int res; if (enable) { /* Enable initial offload */ - reg_0xf0 = rtw_read8(padapter, REG_SYS_CFG); + res = rtw_read8(padapter, REG_SYS_CFG, ®_0xf0); + if (res) + return; + rtw_write8(padapter, REG_SYS_CFG, reg_0xf0 | SW_OFFLOAD_EN); if (!padapter->bFWReady) @@ -24,7 +28,10 @@ } else { /* disable initial offload */ - reg_0xf0 = rtw_read8(padapter, REG_SYS_CFG); + res = rtw_read8(padapter, REG_SYS_CFG, ®_0xf0); + if (res) + return; + rtw_write8(padapter, REG_SYS_CFG, reg_0xf0 & ~SW_OFFLOAD_EN); } } @@ -34,17 +41,31 @@ s32 status = _FAIL; u8 reg_0x88 = 0; unsigned long timeout; + int res; control = control & 0x0f; - reg_0x88 = rtw_read8(padapter, REG_HMEBOX_E0); + res = rtw_read8(padapter, REG_HMEBOX_E0, ®_0x88); + if (res) + return _FAIL; + rtw_write8(padapter, REG_HMEBOX_E0, reg_0x88 | control); timeout = jiffies + msecs_to_jiffies(1000); - while ((reg_0x88 = rtw_read8(padapter, REG_HMEBOX_E0)) & control && - time_before(jiffies, timeout)) - ; - reg_0x88 = rtw_read8(padapter, REG_HMEBOX_E0); + do { + res = rtw_read8(padapter, REG_HMEBOX_E0, ®_0x88); + if (res) + continue; + + if (!(reg_0x88 & control)) + break; + + } while (time_before(jiffies, timeout)); + + res = rtw_read8(padapter, REG_HMEBOX_E0, ®_0x88); + if (res) + return _FAIL; + status = (reg_0x88 & control) ? _FAIL : _SUCCESS; if (reg_0x88 & control << 4) status = _FAIL; @@ -179,7 +200,8 @@ kfree(eFuseWord); } -static void efuse_read_phymap_from_txpktbuf( +/* FIXME: add error handling in callers */ +static int efuse_read_phymap_from_txpktbuf( struct adapter *adapter, int bcnhead, /* beacon head, where FW store len(2-byte) and efuse physical map. */ u8 *content, /* buffer to store efuse physical map */ @@ -190,13 +212,19 @@ u16 dbg_addr = 0; __le32 lo32 = 0, hi32 = 0; u16 len = 0, count = 0; - int i = 0; + int i = 0, res; u16 limit = *size; - + u8 reg; u8 *pos = content; + u32 reg32; - if (bcnhead < 0) /* if not valid */ - bcnhead = rtw_read8(adapter, REG_TDECTRL + 1); + if (bcnhead < 0) { /* if not valid */ + res = rtw_read8(adapter, REG_TDECTRL + 1, ®); + if (res) + return res; + + bcnhead = reg; + } rtw_write8(adapter, REG_PKT_BUFF_ACCESS_CTRL, TXPKT_BUF_SELECT); @@ -207,19 +235,40 @@ rtw_write8(adapter, REG_TXPKTBUF_DBG, 0); timeout = jiffies + msecs_to_jiffies(1000); - while (!rtw_read8(adapter, REG_TXPKTBUF_DBG) && time_before(jiffies, timeout)) + do { + res = rtw_read8(adapter, REG_TXPKTBUF_DBG, ®); + if (res) + continue; + + if (reg) + break; + rtw_usleep_os(100); + } while (time_before(jiffies, timeout)); /* data from EEPROM needs to be in LE */ - lo32 = cpu_to_le32(rtw_read32(adapter, REG_PKTBUF_DBG_DATA_L)); - hi32 = cpu_to_le32(rtw_read32(adapter, REG_PKTBUF_DBG_DATA_H)); + res = rtw_read32(adapter, REG_PKTBUF_DBG_DATA_L, ®32); + if (res) + return res; + + lo32 = cpu_to_le32(reg32); + + res = rtw_read32(adapter, REG_PKTBUF_DBG_DATA_H, ®32); + if (res) + return res; + + hi32 = cpu_to_le32(reg32); if (i == 0) { + u16 reg; + /* Although lenc is only used in a debug statement, * do not remove it as the rtw_read16() call consumes * 2 bytes from the EEPROM source. */ - rtw_read16(adapter, REG_PKTBUF_DBG_DATA_L); + res = rtw_read16(adapter, REG_PKTBUF_DBG_DATA_L, ®); + if (res) + return res; len = le32_to_cpu(lo32) & 0x0000ffff; @@ -246,6 +295,8 @@ } rtw_write8(adapter, REG_PKT_BUFF_ACCESS_CTRL, DISABLE_TRXPKT_BUF_ACCESS); *size = count; + + return 0; } static s32 iol_read_efuse(struct adapter *padapter, u8 txpktbuf_bndy, u16 offset, u16 size_byte, u8 *logical_map) @@ -321,25 +372,35 @@ void rtl8188e_EfusePowerSwitch(struct adapter *pAdapter, u8 PwrState) { u16 tmpV16; + int res; if (PwrState) { rtw_write8(pAdapter, REG_EFUSE_ACCESS, EFUSE_ACCESS_ON); /* 1.2V Power: From VDDON with Power Cut(0x0000h[15]), defualt valid */ - tmpV16 = rtw_read16(pAdapter, REG_SYS_ISO_CTRL); + res = rtw_read16(pAdapter, REG_SYS_ISO_CTRL, &tmpV16); + if (res) + return; + if (!(tmpV16 & PWC_EV12V)) { tmpV16 |= PWC_EV12V; rtw_write16(pAdapter, REG_SYS_ISO_CTRL, tmpV16); } /* Reset: 0x0000h[28], default valid */ - tmpV16 = rtw_read16(pAdapter, REG_SYS_FUNC_EN); + res = rtw_read16(pAdapter, REG_SYS_FUNC_EN, &tmpV16); + if (res) + return; + if (!(tmpV16 & FEN_ELDR)) { tmpV16 |= FEN_ELDR; rtw_write16(pAdapter, REG_SYS_FUNC_EN, tmpV16); } /* Clock: Gated(0x0008h[5]) 8M(0x0008h[1]) clock from ANA, default valid */ - tmpV16 = rtw_read16(pAdapter, REG_SYS_CLKR); + res = rtw_read16(pAdapter, REG_SYS_CLKR, &tmpV16); + if (res) + return; + if ((!(tmpV16 & LOADER_CLK_EN)) || (!(tmpV16 & ANA8M))) { tmpV16 |= (LOADER_CLK_EN | ANA8M); rtw_write16(pAdapter, REG_SYS_CLKR, tmpV16); @@ -497,8 +558,12 @@ u32 value32; struct HAL_VERSION ChipVersion; struct hal_data_8188e *pHalData = &padapter->haldata; + int res; + + res = rtw_read32(padapter, REG_SYS_CFG, &value32); + if (res) + return; - value32 = rtw_read32(padapter, REG_SYS_CFG); ChipVersion.ChipType = ((value32 & RTL_ID) ? TEST_CHIP : NORMAL_CHIP); ChipVersion.VendorType = ((value32 & VENDOR_ID) ? CHIP_VENDOR_UMC : CHIP_VENDOR_TSMC); @@ -525,10 +590,17 @@ void hal_notch_filter_8188e(struct adapter *adapter, bool enable) { + int res; + u8 reg; + + res = rtw_read8(adapter, rOFDM0_RxDSP + 1, ®); + if (res) + return; + if (enable) - rtw_write8(adapter, rOFDM0_RxDSP + 1, rtw_read8(adapter, rOFDM0_RxDSP + 1) | BIT(1)); + rtw_write8(adapter, rOFDM0_RxDSP + 1, reg | BIT(1)); else - rtw_write8(adapter, rOFDM0_RxDSP + 1, rtw_read8(adapter, rOFDM0_RxDSP + 1) & ~BIT(1)); + rtw_write8(adapter, rOFDM0_RxDSP + 1, reg & ~BIT(1)); } /* */ @@ -538,26 +610,24 @@ /* */ static s32 _LLTWrite(struct adapter *padapter, u32 address, u32 data) { - s32 status = _SUCCESS; - s32 count = 0; + s32 count; u32 value = _LLT_INIT_ADDR(address) | _LLT_INIT_DATA(data) | _LLT_OP(_LLT_WRITE_ACCESS); u16 LLTReg = REG_LLT_INIT; + int res; rtw_write32(padapter, LLTReg, value); /* polling */ - do { - value = rtw_read32(padapter, LLTReg); - if (_LLT_NO_ACTIVE == _LLT_OP_VALUE(value)) - break; + for (count = 0; count <= POLLING_LLT_THRESHOLD; count++) { + res = rtw_read32(padapter, LLTReg, &value); + if (res) + continue; - if (count > POLLING_LLT_THRESHOLD) { - status = _FAIL; + if (_LLT_NO_ACTIVE == _LLT_OP_VALUE(value)) break; - } - } while (count++); + } - return status; + return count > POLLING_LLT_THRESHOLD ? _FAIL : _SUCCESS; } s32 InitLLTTable(struct adapter *padapter, u8 txpktbuf_bndy) --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/hal/rtl8188e_phycfg.c @@ -56,8 +56,12 @@ ) { u32 ReturnValue = 0, OriginalValue, BitShift; + int res; + + res = rtw_read32(Adapter, RegAddr, &OriginalValue); + if (res) + return 0; - OriginalValue = rtw_read32(Adapter, RegAddr); BitShift = phy_CalculateBitShift(BitMask); ReturnValue = (OriginalValue & BitMask) >> BitShift; return ReturnValue; @@ -84,9 +88,13 @@ void rtl8188e_PHY_SetBBReg(struct adapter *Adapter, u32 RegAddr, u32 BitMask, u32 Data) { u32 OriginalValue, BitShift; + int res; if (BitMask != bMaskDWord) { /* if not "double word" write */ - OriginalValue = rtw_read32(Adapter, RegAddr); + res = rtw_read32(Adapter, RegAddr, &OriginalValue); + if (res) + return; + BitShift = phy_CalculateBitShift(BitMask); Data = ((OriginalValue & (~BitMask)) | (Data << BitShift)); } @@ -484,13 +492,17 @@ { int rtStatus = _SUCCESS; struct hal_data_8188e *pHalData = &Adapter->haldata; - u32 RegVal; + u16 RegVal; u8 CrystalCap; + int res; phy_InitBBRFRegisterDefinition(Adapter); /* Enable BB and RF */ - RegVal = rtw_read16(Adapter, REG_SYS_FUNC_EN); + res = rtw_read16(Adapter, REG_SYS_FUNC_EN, &RegVal); + if (res) + return _FAIL; + rtw_write16(Adapter, REG_SYS_FUNC_EN, (u16)(RegVal | BIT(13) | BIT(0) | BIT(1))); /* 20090923 Joseph: Advised by Steven and Jenyu. Power sequence before init RF. */ @@ -594,6 +606,7 @@ struct hal_data_8188e *pHalData = &Adapter->haldata; u8 regBwOpMode; u8 regRRSR_RSC; + int res; if (Adapter->bDriverStopped) return; @@ -602,8 +615,13 @@ /* 3<1>Set MAC register */ /* 3 */ - regBwOpMode = rtw_read8(Adapter, REG_BWOPMODE); - regRRSR_RSC = rtw_read8(Adapter, REG_RRSR + 2); + res = rtw_read8(Adapter, REG_BWOPMODE, ®BwOpMode); + if (res) + return; + + res = rtw_read8(Adapter, REG_RRSR + 2, ®RRSR_RSC); + if (res) + return; switch (pHalData->CurrentChannelBW) { case HT_CHANNEL_WIDTH_20: --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/hal/usb_halinit.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/hal/usb_halinit.c @@ -52,6 +52,8 @@ u32 rtl8188eu_InitPowerOn(struct adapter *adapt) { u16 value16; + int res; + /* HW Power on sequence */ struct hal_data_8188e *haldata = &adapt->haldata; if (haldata->bMacPwrCtrlOn) @@ -65,7 +67,10 @@ rtw_write16(adapt, REG_CR, 0x00); /* suggseted by zhouzhou, by page, 20111230 */ /* Enable MAC DMA/WMAC/SCHEDULE/SEC block */ - value16 = rtw_read16(adapt, REG_CR); + res = rtw_read16(adapt, REG_CR, &value16); + if (res) + return _FAIL; + value16 |= (HCI_TXDMA_EN | HCI_RXDMA_EN | TXDMA_EN | RXDMA_EN | PROTOCOL_EN | SCHEDULE_EN | ENSEC | CALTMR_EN); /* for SDIO - Set CR bit10 to enable 32k calibration. Suggested by SD1 Gimmy. Added by tynli. 2011.08.31. */ @@ -81,6 +86,7 @@ { u32 imr, imr_ex; u8 usb_opt; + int res; /* HISR write one to clear */ rtw_write32(Adapter, REG_HISR_88E, 0xFFFFFFFF); @@ -94,7 +100,9 @@ /* REG_USB_SPECIAL_OPTION - BIT(4) */ /* 0; Use interrupt endpoint to upload interrupt pkt */ /* 1; Use bulk endpoint to upload interrupt pkt, */ - usb_opt = rtw_read8(Adapter, REG_USB_SPECIAL_OPTION); + res = rtw_read8(Adapter, REG_USB_SPECIAL_OPTION, &usb_opt); + if (res) + return; if (adapter_to_dvobj(Adapter)->pusbdev->speed == USB_SPEED_HIGH) usb_opt = usb_opt | (INT_BULK_SEL); @@ -163,7 +171,14 @@ u16 bkQ, u16 viQ, u16 voQ, u16 mgtQ, u16 hiQ) { - u16 value16 = (rtw_read16(Adapter, REG_TRXDMA_CTRL) & 0x7); + u16 value16; + int res; + + res = rtw_read16(Adapter, REG_TRXDMA_CTRL, &value16); + if (res) + return; + + value16 &= 0x7; value16 |= _TXDMA_BEQ_MAP(beQ) | _TXDMA_BKQ_MAP(bkQ) | _TXDMA_VIQ_MAP(viQ) | _TXDMA_VOQ_MAP(voQ) | @@ -282,8 +297,12 @@ static void _InitNetworkType(struct adapter *Adapter) { u32 value32; + int res; + + res = rtw_read32(Adapter, REG_CR, &value32); + if (res) + return; - value32 = rtw_read32(Adapter, REG_CR); /* TODO: use the other function to set network type */ value32 = (value32 & ~MASK_NETTYPE) | _NETTYPE(NT_LINK_AP); @@ -323,9 +342,13 @@ { u16 value16; u32 value32; + int res; /* Response Rate Set */ - value32 = rtw_read32(Adapter, REG_RRSR); + res = rtw_read32(Adapter, REG_RRSR, &value32); + if (res) + return; + value32 &= ~RATE_BITMAP_ALL; value32 |= RATE_RRSR_CCK_ONLY_1M; rtw_write32(Adapter, REG_RRSR, value32); @@ -363,8 +386,12 @@ static void _InitRetryFunction(struct adapter *Adapter) { u8 value8; + int res; + + res = rtw_read8(Adapter, REG_FWHW_TXQ_CTRL, &value8); + if (res) + return; - value8 = rtw_read8(Adapter, REG_FWHW_TXQ_CTRL); value8 |= EN_AMPDU_RTY_NEW; rtw_write8(Adapter, REG_FWHW_TXQ_CTRL, value8); @@ -390,11 +417,15 @@ static void usb_AggSettingTxUpdate(struct adapter *Adapter) { u32 value32; + int res; if (Adapter->registrypriv.wifi_spec) return; - value32 = rtw_read32(Adapter, REG_TDECTRL); + res = rtw_read32(Adapter, REG_TDECTRL, &value32); + if (res) + return; + value32 = value32 & ~(BLK_DESC_NUM_MASK << BLK_DESC_NUM_SHIFT); value32 |= ((USB_TXAGG_DESC_NUM & BLK_DESC_NUM_MASK) << BLK_DESC_NUM_SHIFT); @@ -423,9 +454,15 @@ { u8 valueDMA; u8 valueUSB; + int res; - valueDMA = rtw_read8(Adapter, REG_TRXDMA_CTRL); - valueUSB = rtw_read8(Adapter, REG_USB_SPECIAL_OPTION); + res = rtw_read8(Adapter, REG_TRXDMA_CTRL, &valueDMA); + if (res) + return; + + res = rtw_read8(Adapter, REG_USB_SPECIAL_OPTION, &valueUSB); + if (res) + return; valueDMA |= RXDMA_AGG_EN; valueUSB &= ~USB_AGG_EN; @@ -446,9 +483,11 @@ usb_AggSettingRxUpdate(Adapter); } -static void _InitBeaconParameters(struct adapter *Adapter) +/* FIXME: add error handling in callers */ +static int _InitBeaconParameters(struct adapter *Adapter) { struct hal_data_8188e *haldata = &Adapter->haldata; + int res; rtw_write16(Adapter, REG_BCN_CTRL, 0x1010); @@ -461,9 +500,19 @@ /* beacause test chip does not contension before sending beacon. by tynli. 2009.11.03 */ rtw_write16(Adapter, REG_BCNTCFG, 0x660F); - haldata->RegFwHwTxQCtrl = rtw_read8(Adapter, REG_FWHW_TXQ_CTRL + 2); - haldata->RegReg542 = rtw_read8(Adapter, REG_TBTT_PROHIBIT + 2); - haldata->RegCR_1 = rtw_read8(Adapter, REG_CR + 1); + res = rtw_read8(Adapter, REG_FWHW_TXQ_CTRL + 2, &haldata->RegFwHwTxQCtrl); + if (res) + return res; + + res = rtw_read8(Adapter, REG_TBTT_PROHIBIT + 2, &haldata->RegReg542); + if (res) + return res; + + res = rtw_read8(Adapter, REG_CR + 1, &haldata->RegCR_1); + if (res) + return res; + + return 0; } static void _BeaconFunctionEnable(struct adapter *Adapter, @@ -484,11 +533,17 @@ static void _InitAntenna_Selection(struct adapter *Adapter) { struct hal_data_8188e *haldata = &Adapter->haldata; + int res; + u32 reg; if (haldata->AntDivCfg == 0) return; - rtw_write32(Adapter, REG_LEDCFG0, rtw_read32(Adapter, REG_LEDCFG0) | BIT(23)); + res = rtw_read32(Adapter, REG_LEDCFG0, ®); + if (res) + return; + + rtw_write32(Adapter, REG_LEDCFG0, reg | BIT(23)); rtl8188e_PHY_SetBBReg(Adapter, rFPGA0_XAB_RFParameter, BIT(13), 0x01); if (rtl8188e_PHY_QueryBBReg(Adapter, rFPGA0_XA_RFInterfaceOE, 0x300) == Antenna_A) @@ -514,9 +569,11 @@ u16 value16; u8 txpktbuf_bndy; u32 status = _SUCCESS; + int res; struct hal_data_8188e *haldata = &Adapter->haldata; struct pwrctrl_priv *pwrctrlpriv = &Adapter->pwrctrlpriv; struct registry_priv *pregistrypriv = &Adapter->registrypriv; + u32 reg; if (Adapter->pwrctrlpriv.bkeepfwalive) { if (haldata->odmpriv.RFCalibrateInfo.bIQKInitialized) { @@ -614,13 +671,19 @@ /* Hw bug which Hw initials RxFF boundary size to a value which is larger than the real Rx buffer size in 88E. */ /* */ /* Enable MACTXEN/MACRXEN block */ - value16 = rtw_read16(Adapter, REG_CR); + res = rtw_read16(Adapter, REG_CR, &value16); + if (res) + return _FAIL; + value16 |= (MACTXEN | MACRXEN); rtw_write8(Adapter, REG_CR, value16); /* Enable TX Report */ /* Enable Tx Report Timer */ - value8 = rtw_read8(Adapter, REG_TX_RPT_CTRL); + res = rtw_read8(Adapter, REG_TX_RPT_CTRL, &value8); + if (res) + return _FAIL; + rtw_write8(Adapter, REG_TX_RPT_CTRL, (value8 | BIT(1) | BIT(0))); /* Set MAX RPT MACID */ rtw_write8(Adapter, REG_TX_RPT_CTRL + 1, 2);/* FOR sta mode ,0: bc/mc ,1:AP */ @@ -684,7 +747,11 @@ rtw_write16(Adapter, REG_TX_RPT_TIME, 0x3DF0); /* enable tx DMA to drop the redundate data of packet */ - rtw_write16(Adapter, REG_TXDMA_OFFSET_CHK, (rtw_read16(Adapter, REG_TXDMA_OFFSET_CHK) | DROP_DATA_EN)); + res = rtw_read16(Adapter, REG_TXDMA_OFFSET_CHK, &value16); + if (res) + return _FAIL; + + rtw_write16(Adapter, REG_TXDMA_OFFSET_CHK, (value16 | DROP_DATA_EN)); /* 2010/08/26 MH Merge from 8192CE. */ if (pwrctrlpriv->rf_pwrstate == rf_on) { @@ -704,7 +771,11 @@ rtw_write8(Adapter, REG_USB_HRPWM, 0); /* ack for xmit mgmt frames. */ - rtw_write32(Adapter, REG_FWHW_TXQ_CTRL, rtw_read32(Adapter, REG_FWHW_TXQ_CTRL) | BIT(12)); + res = rtw_read32(Adapter, REG_FWHW_TXQ_CTRL, ®); + if (res) + return _FAIL; + + rtw_write32(Adapter, REG_FWHW_TXQ_CTRL, reg | BIT(12)); exit: return status; @@ -714,9 +785,13 @@ { u8 val8; struct hal_data_8188e *haldata = &Adapter->haldata; + int res; /* Stop Tx Report Timer. 0x4EC[Bit1]=b'0 */ - val8 = rtw_read8(Adapter, REG_TX_RPT_CTRL); + res = rtw_read8(Adapter, REG_TX_RPT_CTRL, &val8); + if (res) + return; + rtw_write8(Adapter, REG_TX_RPT_CTRL, val8 & (~BIT(1))); /* stop rx */ @@ -727,10 +802,16 @@ /* 2. 0x1F[7:0] = 0 turn off RF */ - val8 = rtw_read8(Adapter, REG_MCUFWDL); + res = rtw_read8(Adapter, REG_MCUFWDL, &val8); + if (res) + return; + if ((val8 & RAM_DL_SEL) && Adapter->bFWReady) { /* 8051 RAM code */ /* Reset MCU 0x2[10]=0. */ - val8 = rtw_read8(Adapter, REG_SYS_FUNC_EN + 1); + res = rtw_read8(Adapter, REG_SYS_FUNC_EN + 1, &val8); + if (res) + return; + val8 &= ~BIT(2); /* 0x2[10], FEN_CPUEN */ rtw_write8(Adapter, REG_SYS_FUNC_EN + 1, val8); } @@ -740,26 +821,45 @@ /* YJ,add,111212 */ /* Disable 32k */ - val8 = rtw_read8(Adapter, REG_32K_CTRL); + res = rtw_read8(Adapter, REG_32K_CTRL, &val8); + if (res) + return; + rtw_write8(Adapter, REG_32K_CTRL, val8 & (~BIT(0))); /* Card disable power action flow */ HalPwrSeqCmdParsing(Adapter, Rtl8188E_NIC_DISABLE_FLOW); /* Reset MCU IO Wrapper */ - val8 = rtw_read8(Adapter, REG_RSV_CTRL + 1); + res = rtw_read8(Adapter, REG_RSV_CTRL + 1, &val8); + if (res) + return; + rtw_write8(Adapter, REG_RSV_CTRL + 1, (val8 & (~BIT(3)))); - val8 = rtw_read8(Adapter, REG_RSV_CTRL + 1); + + res = rtw_read8(Adapter, REG_RSV_CTRL + 1, &val8); + if (res) + return; + rtw_write8(Adapter, REG_RSV_CTRL + 1, val8 | BIT(3)); /* YJ,test add, 111207. For Power Consumption. */ - val8 = rtw_read8(Adapter, GPIO_IN); + res = rtw_read8(Adapter, GPIO_IN, &val8); + if (res) + return; + rtw_write8(Adapter, GPIO_OUT, val8); rtw_write8(Adapter, GPIO_IO_SEL, 0xFF);/* Reg0x46 */ - val8 = rtw_read8(Adapter, REG_GPIO_IO_SEL); + res = rtw_read8(Adapter, REG_GPIO_IO_SEL, &val8); + if (res) + return; + rtw_write8(Adapter, REG_GPIO_IO_SEL, (val8 << 4)); - val8 = rtw_read8(Adapter, REG_GPIO_IO_SEL + 1); + res = rtw_read8(Adapter, REG_GPIO_IO_SEL + 1, &val8); + if (res) + return; + rtw_write8(Adapter, REG_GPIO_IO_SEL + 1, val8 | 0x0F);/* Reg0x43 */ rtw_write32(Adapter, REG_BB_PAD_CTRL, 0x00080808);/* set LNA ,TRSW,EX_PA Pin to output mode */ haldata->bMacPwrCtrlOn = false; @@ -830,9 +930,13 @@ struct eeprom_priv *eeprom = &Adapter->eeprompriv; struct led_priv *ledpriv = &Adapter->ledpriv; u8 eeValue; + int res; /* check system boot selection */ - eeValue = rtw_read8(Adapter, REG_9346CR); + res = rtw_read8(Adapter, REG_9346CR, &eeValue); + if (res) + return; + eeprom->EepromOrEfuse = (eeValue & BOOT_FROM_EEPROM); eeprom->bautoload_fail_flag = !(eeValue & EEPROM_EN); @@ -887,12 +991,21 @@ { u8 val8; u8 mode = *((u8 *)val); + int res; /* disable Port0 TSF update */ - rtw_write8(Adapter, REG_BCN_CTRL, rtw_read8(Adapter, REG_BCN_CTRL) | BIT(4)); + res = rtw_read8(Adapter, REG_BCN_CTRL, &val8); + if (res) + return; + + rtw_write8(Adapter, REG_BCN_CTRL, val8 | BIT(4)); /* set net_type */ - val8 = rtw_read8(Adapter, MSR) & 0x0c; + res = rtw_read8(Adapter, MSR, &val8); + if (res) + return; + + val8 &= 0x0c; val8 |= mode; rtw_write8(Adapter, MSR, val8); @@ -927,14 +1040,22 @@ rtw_write8(Adapter, REG_DUAL_TSF_RST, BIT(0)); /* BIT(3) - If set 0, hw will clr bcnq when tx becon ok/fail or port 0 */ - rtw_write8(Adapter, REG_MBID_NUM, rtw_read8(Adapter, REG_MBID_NUM) | BIT(3) | BIT(4)); + res = rtw_read8(Adapter, REG_MBID_NUM, &val8); + if (res) + return; + + rtw_write8(Adapter, REG_MBID_NUM, val8 | BIT(3) | BIT(4)); /* enable BCN0 Function for if1 */ /* don't enable update TSF0 for if1 (due to TSF update when beacon/probe rsp are received) */ rtw_write8(Adapter, REG_BCN_CTRL, (DIS_TSF_UDT0_NORMAL_CHIP | EN_BCN_FUNCTION | BIT(1))); /* dis BCN1 ATIM WND if if2 is station */ - rtw_write8(Adapter, REG_BCN_CTRL_1, rtw_read8(Adapter, REG_BCN_CTRL_1) | BIT(0)); + res = rtw_read8(Adapter, REG_BCN_CTRL_1, &val8); + if (res) + return; + + rtw_write8(Adapter, REG_BCN_CTRL_1, val8 | BIT(0)); } } @@ -943,6 +1064,8 @@ struct hal_data_8188e *haldata = &Adapter->haldata; struct dm_priv *pdmpriv = &haldata->dmpriv; struct odm_dm_struct *podmpriv = &haldata->odmpriv; + u8 reg; + int res; switch (variable) { case HW_VAR_SET_OPMODE: @@ -970,7 +1093,11 @@ /* Set RRSR rate table. */ rtw_write8(Adapter, REG_RRSR, BrateCfg & 0xff); rtw_write8(Adapter, REG_RRSR + 1, (BrateCfg >> 8) & 0xff); - rtw_write8(Adapter, REG_RRSR + 2, rtw_read8(Adapter, REG_RRSR + 2) & 0xf0); + res = rtw_read8(Adapter, REG_RRSR + 2, ®); + if (res) + return; + + rtw_write8(Adapter, REG_RRSR + 2, reg & 0xf0); /* Set RTS initial rate */ while (BrateCfg > 0x1) { @@ -994,13 +1121,21 @@ StopTxBeacon(Adapter); /* disable related TSF function */ - rtw_write8(Adapter, REG_BCN_CTRL, rtw_read8(Adapter, REG_BCN_CTRL) & (~BIT(3))); + res = rtw_read8(Adapter, REG_BCN_CTRL, ®); + if (res) + return; + + rtw_write8(Adapter, REG_BCN_CTRL, reg & (~BIT(3))); rtw_write32(Adapter, REG_TSFTR, tsf); rtw_write32(Adapter, REG_TSFTR + 4, tsf >> 32); /* enable related TSF function */ - rtw_write8(Adapter, REG_BCN_CTRL, rtw_read8(Adapter, REG_BCN_CTRL) | BIT(3)); + res = rtw_read8(Adapter, REG_BCN_CTRL, ®); + if (res) + return; + + rtw_write8(Adapter, REG_BCN_CTRL, reg | BIT(3)); if (((pmlmeinfo->state & 0x03) == WIFI_FW_ADHOC_STATE) || ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE)) ResumeTxBeacon(Adapter); @@ -1009,17 +1144,27 @@ case HW_VAR_MLME_SITESURVEY: if (*((u8 *)val)) { /* under sitesurvey */ /* config RCR to receive different BSSID & not to receive data frame */ - u32 v = rtw_read32(Adapter, REG_RCR); + u32 v; + + res = rtw_read32(Adapter, REG_RCR, &v); + if (res) + return; + v &= ~(RCR_CBSSID_BCN); rtw_write32(Adapter, REG_RCR, v); /* reject all data frame */ rtw_write16(Adapter, REG_RXFLTMAP2, 0x00); /* disable update TSF */ - rtw_write8(Adapter, REG_BCN_CTRL, rtw_read8(Adapter, REG_BCN_CTRL) | BIT(4)); + res = rtw_read8(Adapter, REG_BCN_CTRL, ®); + if (res) + return; + + rtw_write8(Adapter, REG_BCN_CTRL, reg | BIT(4)); } else { /* sitesurvey done */ struct mlme_ext_priv *pmlmeext = &Adapter->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; + u32 reg32; if ((is_client_associated_to_ap(Adapter)) || ((pmlmeinfo->state & 0x03) == WIFI_FW_ADHOC_STATE)) { @@ -1027,13 +1172,26 @@ rtw_write16(Adapter, REG_RXFLTMAP2, 0xFFFF); /* enable update TSF */ - rtw_write8(Adapter, REG_BCN_CTRL, rtw_read8(Adapter, REG_BCN_CTRL) & (~BIT(4))); + res = rtw_read8(Adapter, REG_BCN_CTRL, ®); + if (res) + return; + + rtw_write8(Adapter, REG_BCN_CTRL, reg & (~BIT(4))); } else if ((pmlmeinfo->state & 0x03) == WIFI_FW_AP_STATE) { rtw_write16(Adapter, REG_RXFLTMAP2, 0xFFFF); /* enable update TSF */ - rtw_write8(Adapter, REG_BCN_CTRL, rtw_read8(Adapter, REG_BCN_CTRL) & (~BIT(4))); + res = rtw_read8(Adapter, REG_BCN_CTRL, ®); + if (res) + return; + + rtw_write8(Adapter, REG_BCN_CTRL, reg & (~BIT(4))); } - rtw_write32(Adapter, REG_RCR, rtw_read32(Adapter, REG_RCR) | RCR_CBSSID_BCN); + + res = rtw_read32(Adapter, REG_RCR, ®32); + if (res) + return; + + rtw_write32(Adapter, REG_RCR, reg32 | RCR_CBSSID_BCN); } break; case HW_VAR_SLOT_TIME: @@ -1190,6 +1348,8 @@ struct mlme_ext_priv *pmlmeext = &adapt->mlmeextpriv; struct mlme_ext_info *pmlmeinfo = &pmlmeext->mlmext_info; u32 bcn_ctrl_reg = REG_BCN_CTRL; + int res; + u8 reg; /* reset TSF, enable update TSF, correcting TSF On Beacon */ /* BCN interval */ @@ -1200,7 +1360,10 @@ rtw_write8(adapt, REG_SLOT, 0x09); - value32 = rtw_read32(adapt, REG_TCR); + res = rtw_read32(adapt, REG_TCR, &value32); + if (res) + return; + value32 &= ~TSFRST; rtw_write32(adapt, REG_TCR, value32); @@ -1215,7 +1378,11 @@ ResumeTxBeacon(adapt); - rtw_write8(adapt, bcn_ctrl_reg, rtw_read8(adapt, bcn_ctrl_reg) | BIT(1)); + res = rtw_read8(adapt, bcn_ctrl_reg, ®); + if (res) + return; + + rtw_write8(adapt, bcn_ctrl_reg, reg | BIT(1)); } void rtl8188eu_init_default_value(struct adapter *adapt) --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/hal/usb_ops_linux.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/hal/usb_ops_linux.c @@ -94,40 +94,47 @@ return status; } -u8 rtw_read8(struct adapter *adapter, u32 addr) +int __must_check rtw_read8(struct adapter *adapter, u32 addr, u8 *data) { struct io_priv *io_priv = &adapter->iopriv; struct intf_hdl *intf = &io_priv->intf; u16 value = addr & 0xffff; - u8 data; - usb_read(intf, value, &data, 1); - - return data; + return usb_read(intf, value, data, 1); } -u16 rtw_read16(struct adapter *adapter, u32 addr) +int __must_check rtw_read16(struct adapter *adapter, u32 addr, u16 *data) { struct io_priv *io_priv = &adapter->iopriv; struct intf_hdl *intf = &io_priv->intf; u16 value = addr & 0xffff; - __le16 data; + __le16 le_data; + int res; + + res = usb_read(intf, value, &le_data, 2); + if (res) + return res; - usb_read(intf, value, &data, 2); + *data = le16_to_cpu(le_data); - return le16_to_cpu(data); + return 0; } -u32 rtw_read32(struct adapter *adapter, u32 addr) +int __must_check rtw_read32(struct adapter *adapter, u32 addr, u32 *data) { struct io_priv *io_priv = &adapter->iopriv; struct intf_hdl *intf = &io_priv->intf; u16 value = addr & 0xffff; - __le32 data; + __le32 le_data; + int res; + + res = usb_read(intf, value, &le_data, 4); + if (res) + return res; - usb_read(intf, value, &data, 4); + *data = le32_to_cpu(le_data); - return le32_to_cpu(data); + return 0; } int rtw_write8(struct adapter *adapter, u32 addr, u8 val) --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/include/rtw_io.h +++ linux-gcp-5.19.0/drivers/staging/r8188eu/include/rtw_io.h @@ -220,9 +220,9 @@ void _rtw_attrib_read(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); void _rtw_attrib_write(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); -u8 rtw_read8(struct adapter *adapter, u32 addr); -u16 rtw_read16(struct adapter *adapter, u32 addr); -u32 rtw_read32(struct adapter *adapter, u32 addr); +int __must_check rtw_read8(struct adapter *adapter, u32 addr, u8 *data); +int __must_check rtw_read16(struct adapter *adapter, u32 addr, u16 *data); +int __must_check rtw_read32(struct adapter *adapter, u32 addr, u32 *data); void _rtw_read_mem(struct adapter *adapter, u32 addr, u32 cnt, u8 *pmem); u32 rtw_read_port(struct adapter *adapter, u8 *pmem); void rtw_read_port_cancel(struct adapter *adapter); --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/os_dep/ioctl_linux.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/os_dep/ioctl_linux.c @@ -3126,18 +3126,29 @@ static void mac_reg_dump(struct adapter *padapter) { int i, j = 1; + u32 reg; + int res; + pr_info("\n ======= MAC REG =======\n"); for (i = 0x0; i < 0x300; i += 4) { if (j % 4 == 1) pr_info("0x%02x", i); - pr_info(" 0x%08x ", rtw_read32(padapter, i)); + + res = rtw_read32(padapter, i, ®); + if (!res) + pr_info(" 0x%08x ", reg); + if ((j++) % 4 == 0) pr_info("\n"); } for (i = 0x400; i < 0x800; i += 4) { if (j % 4 == 1) pr_info("0x%02x", i); - pr_info(" 0x%08x ", rtw_read32(padapter, i)); + + res = rtw_read32(padapter, i, ®); + if (!res) + pr_info(" 0x%08x ", reg); + if ((j++) % 4 == 0) pr_info("\n"); } @@ -3145,13 +3156,18 @@ static void bb_reg_dump(struct adapter *padapter) { - int i, j = 1; + int i, j = 1, res; + u32 reg; + pr_info("\n ======= BB REG =======\n"); for (i = 0x800; i < 0x1000; i += 4) { if (j % 4 == 1) pr_info("0x%02x", i); - pr_info(" 0x%08x ", rtw_read32(padapter, i)); + res = rtw_read32(padapter, i, ®); + if (!res) + pr_info(" 0x%08x ", reg); + if ((j++) % 4 == 0) pr_info("\n"); } @@ -3178,6 +3194,7 @@ { struct hal_data_8188e *haldata = &adapter->haldata; struct odm_dm_struct *odmpriv = &haldata->odmpriv; + int res; switch (dm_func) { case 0: @@ -3193,7 +3210,9 @@ if (!(odmpriv->SupportAbility & DYNAMIC_BB_DIG)) { struct rtw_dig *digtable = &odmpriv->DM_DigTable; - digtable->CurIGValue = rtw_read8(adapter, 0xc50); + res = rtw_read8(adapter, 0xc50, &digtable->CurIGValue); + (void)res; + /* FIXME: return an error to caller */ } odmpriv->SupportAbility = DYNAMIC_ALL_FUNC_ENABLE; break; @@ -3329,8 +3348,9 @@ u16 reg = arg; u16 start_value = 0; u32 write_num = extra_arg; - int i; + int i, res; struct xmit_frame *xmit_frame; + u8 val8; xmit_frame = rtw_IOL_accquire_xmit_frame(padapter); if (!xmit_frame) { @@ -3343,7 +3363,9 @@ if (rtl8188e_IOL_exec_cmds_sync(padapter, xmit_frame, 5000, 0) != _SUCCESS) ret = -EPERM; - rtw_read8(padapter, reg); + /* FIXME: is this read necessary? */ + res = rtw_read8(padapter, reg, &val8); + (void)res; } break; @@ -3352,8 +3374,8 @@ u16 reg = arg; u16 start_value = 200; u32 write_num = extra_arg; - - int i; + u16 val16; + int i, res; struct xmit_frame *xmit_frame; xmit_frame = rtw_IOL_accquire_xmit_frame(padapter); @@ -3367,7 +3389,9 @@ if (rtl8188e_IOL_exec_cmds_sync(padapter, xmit_frame, 5000, 0) != _SUCCESS) ret = -EPERM; - rtw_read16(padapter, reg); + /* FIXME: is this read necessary? */ + res = rtw_read16(padapter, reg, &val16); + (void)res; } break; case 0x08: /* continuous write dword test */ @@ -3390,7 +3414,8 @@ if (rtl8188e_IOL_exec_cmds_sync(padapter, xmit_frame, 5000, 0) != _SUCCESS) ret = -EPERM; - rtw_read32(padapter, reg); + /* FIXME: is this read necessary? */ + ret = rtw_read32(padapter, reg, &write_num); } break; } --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/os_dep/os_intfs.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/os_dep/os_intfs.c @@ -18,6 +18,7 @@ MODULE_DESCRIPTION("Realtek Wireless Lan Driver"); MODULE_AUTHOR("Realtek Semiconductor Corp."); MODULE_VERSION(DRIVERVERSION); +MODULE_FIRMWARE("rtlwifi/rtl8188eufw.bin"); #define CONFIG_BR_EXT_BRNAME "br0" #define RTW_NOTCH_FILTER 0 /* 0:Disable, 1:Enable, */ @@ -740,19 +741,32 @@ { struct pwrctrl_priv *pwrpriv = &adapter->pwrctrlpriv; u8 trycnt = 100; + int res; + u32 reg; /* pause tx */ rtw_write8(adapter, REG_TXPAUSE, 0xff); /* keep sn */ - adapter->xmitpriv.nqos_ssn = rtw_read16(adapter, REG_NQOS_SEQ); + /* FIXME: return an error to caller */ + res = rtw_read16(adapter, REG_NQOS_SEQ, &adapter->xmitpriv.nqos_ssn); + if (res) + return; if (!pwrpriv->bkeepfwalive) { /* RX DMA stop */ + res = rtw_read32(adapter, REG_RXPKT_NUM, ®); + if (res) + return; + rtw_write32(adapter, REG_RXPKT_NUM, - (rtw_read32(adapter, REG_RXPKT_NUM) | RW_RELEASE_EN)); + (reg | RW_RELEASE_EN)); do { - if (!(rtw_read32(adapter, REG_RXPKT_NUM) & RXDMA_IDLE)) + res = rtw_read32(adapter, REG_RXPKT_NUM, ®); + if (res) + continue; + + if (!(reg & RXDMA_IDLE)) break; } while (trycnt--); --- linux-gcp-5.19.0.orig/drivers/staging/r8188eu/os_dep/usb_intf.c +++ linux-gcp-5.19.0/drivers/staging/r8188eu/os_dep/usb_intf.c @@ -28,6 +28,7 @@ /*=== Realtek demoboard ===*/ {USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8179)}, /* 8188EUS */ {USB_DEVICE(USB_VENDER_ID_REALTEK, 0x0179)}, /* 8188ETV */ + {USB_DEVICE(USB_VENDER_ID_REALTEK, 0xffef)}, /* Rosewill USB-N150 Nano */ /*=== Customer ID ===*/ /****** 8188EUS ********/ {USB_DEVICE(0x07B8, 0x8179)}, /* Abocom - Abocom */ --- linux-gcp-5.19.0.orig/drivers/staging/rtl8192e/rtllib_rx.c +++ linux-gcp-5.19.0/drivers/staging/rtl8192e/rtllib_rx.c @@ -1489,9 +1489,9 @@ hdrlen += 4; } - rtllib_monitor_rx(ieee, skb, rx_stats, hdrlen); ieee->stats.rx_packets++; ieee->stats.rx_bytes += skb->len; + rtllib_monitor_rx(ieee, skb, rx_stats, hdrlen); return 1; } --- linux-gcp-5.19.0.orig/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c +++ linux-gcp-5.19.0/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c @@ -951,9 +951,11 @@ #endif if (ieee->iw_mode == IW_MODE_MONITOR) { + unsigned int len = skb->len; + ieee80211_monitor_rx(ieee, skb, rx_stats); stats->rx_packets++; - stats->rx_bytes += skb->len; + stats->rx_bytes += len; return 1; } --- linux-gcp-5.19.0.orig/drivers/staging/rtl8192u/r8192U.h +++ linux-gcp-5.19.0/drivers/staging/rtl8192u/r8192U.h @@ -1013,7 +1013,7 @@ bool bis_any_nonbepkts; bool bcurrent_turbo_EDCA; bool bis_cur_rdlstate; - struct timer_list fsync_timer; + struct delayed_work fsync_work; bool bfsync_processing; /* 500ms Fsync timer is active or not */ u32 rate_record; u32 rateCountDiffRecord; --- linux-gcp-5.19.0.orig/drivers/staging/rtl8192u/r8192U_dm.c +++ linux-gcp-5.19.0/drivers/staging/rtl8192u/r8192U_dm.c @@ -2578,19 +2578,20 @@ priv->ieee80211->fsync_seconddiff_ratethreshold = 200; priv->ieee80211->fsync_state = Default_Fsync; priv->framesyncMonitor = 1; /* current default 0xc38 monitor on */ - timer_setup(&priv->fsync_timer, dm_fsync_timer_callback, 0); + INIT_DELAYED_WORK(&priv->fsync_work, dm_fsync_work_callback); } static void dm_deInit_fsync(struct net_device *dev) { struct r8192_priv *priv = ieee80211_priv(dev); - del_timer_sync(&priv->fsync_timer); + cancel_delayed_work_sync(&priv->fsync_work); } -void dm_fsync_timer_callback(struct timer_list *t) +void dm_fsync_work_callback(struct work_struct *work) { - struct r8192_priv *priv = from_timer(priv, t, fsync_timer); + struct r8192_priv *priv = + container_of(work, struct r8192_priv, fsync_work.work); struct net_device *dev = priv->ieee80211->dev; u32 rate_index, rate_count = 0, rate_count_diff = 0; bool bSwitchFromCountDiff = false; @@ -2657,17 +2658,16 @@ } } if (bDoubleTimeInterval) { - if (timer_pending(&priv->fsync_timer)) - del_timer_sync(&priv->fsync_timer); - priv->fsync_timer.expires = jiffies + - msecs_to_jiffies(priv->ieee80211->fsync_time_interval*priv->ieee80211->fsync_multiple_timeinterval); - add_timer(&priv->fsync_timer); + cancel_delayed_work_sync(&priv->fsync_work); + schedule_delayed_work(&priv->fsync_work, + msecs_to_jiffies(priv + ->ieee80211->fsync_time_interval * + priv->ieee80211->fsync_multiple_timeinterval)); } else { - if (timer_pending(&priv->fsync_timer)) - del_timer_sync(&priv->fsync_timer); - priv->fsync_timer.expires = jiffies + - msecs_to_jiffies(priv->ieee80211->fsync_time_interval); - add_timer(&priv->fsync_timer); + cancel_delayed_work_sync(&priv->fsync_work); + schedule_delayed_work(&priv->fsync_work, + msecs_to_jiffies(priv + ->ieee80211->fsync_time_interval)); } } else { /* Let Register return to default value; */ @@ -2695,7 +2695,7 @@ struct r8192_priv *priv = ieee80211_priv(dev); RT_TRACE(COMP_HALDM, "%s\n", __func__); - del_timer_sync(&(priv->fsync_timer)); + cancel_delayed_work_sync(&priv->fsync_work); /* Let Register return to default value; */ if (priv->bswitch_fsync) { @@ -2736,11 +2736,9 @@ if (priv->ieee80211->fsync_rate_bitmap & rateBitmap) priv->rate_record += priv->stats.received_rate_histogram[1][rateIndex]; } - if (timer_pending(&priv->fsync_timer)) - del_timer_sync(&priv->fsync_timer); - priv->fsync_timer.expires = jiffies + - msecs_to_jiffies(priv->ieee80211->fsync_time_interval); - add_timer(&priv->fsync_timer); + cancel_delayed_work_sync(&priv->fsync_work); + schedule_delayed_work(&priv->fsync_work, + msecs_to_jiffies(priv->ieee80211->fsync_time_interval)); write_nic_dword(dev, rOFDM0_RxDetector2, 0x465c12cd); } --- linux-gcp-5.19.0.orig/drivers/staging/rtl8192u/r8192U_dm.h +++ linux-gcp-5.19.0/drivers/staging/rtl8192u/r8192U_dm.h @@ -166,7 +166,7 @@ void dm_init_edca_turbo(struct net_device *dev); void dm_rf_operation_test_callback(unsigned long data); void dm_rf_pathcheck_workitemcallback(struct work_struct *work); -void dm_fsync_timer_callback(struct timer_list *t); +void dm_fsync_work_callback(struct work_struct *work); void dm_cck_txpower_adjust(struct net_device *dev, bool binch14); void dm_shadow_init(struct net_device *dev); void dm_initialize_txpower_tracking(struct net_device *dev); --- linux-gcp-5.19.0.orig/drivers/staging/rtl8712/rtl8712_cmd.c +++ linux-gcp-5.19.0/drivers/staging/rtl8712/rtl8712_cmd.c @@ -117,34 +117,6 @@ kfree(pdrvcmd->pbuf); } -static u8 read_macreg_hdl(struct _adapter *padapter, u8 *pbuf) -{ - void (*pcmd_callback)(struct _adapter *dev, struct cmd_obj *pcmd); - struct cmd_obj *pcmd = (struct cmd_obj *)pbuf; - - /* invoke cmd->callback function */ - pcmd_callback = cmd_callback[pcmd->cmdcode].callback; - if (!pcmd_callback) - r8712_free_cmd_obj(pcmd); - else - pcmd_callback(padapter, pcmd); - return H2C_SUCCESS; -} - -static u8 write_macreg_hdl(struct _adapter *padapter, u8 *pbuf) -{ - void (*pcmd_callback)(struct _adapter *dev, struct cmd_obj *pcmd); - struct cmd_obj *pcmd = (struct cmd_obj *)pbuf; - - /* invoke cmd->callback function */ - pcmd_callback = cmd_callback[pcmd->cmdcode].callback; - if (!pcmd_callback) - r8712_free_cmd_obj(pcmd); - else - pcmd_callback(padapter, pcmd); - return H2C_SUCCESS; -} - static u8 read_bbreg_hdl(struct _adapter *padapter, u8 *pbuf) { struct cmd_obj *pcmd = (struct cmd_obj *)pbuf; @@ -213,14 +185,6 @@ pcmd_r = NULL; switch (pcmd->cmdcode) { - case GEN_CMD_CODE(_Read_MACREG): - read_macreg_hdl(padapter, (u8 *)pcmd); - pcmd_r = pcmd; - break; - case GEN_CMD_CODE(_Write_MACREG): - write_macreg_hdl(padapter, (u8 *)pcmd); - pcmd_r = pcmd; - break; case GEN_CMD_CODE(_Read_BBREG): read_bbreg_hdl(padapter, (u8 *)pcmd); break; --- linux-gcp-5.19.0.orig/drivers/staging/rtl8723bs/core/rtw_cmd.c +++ linux-gcp-5.19.0/drivers/staging/rtl8723bs/core/rtw_cmd.c @@ -161,8 +161,6 @@ int rtw_init_cmd_priv(struct cmd_priv *pcmdpriv) { - int res = 0; - init_completion(&pcmdpriv->cmd_queue_comp); init_completion(&pcmdpriv->terminate_cmdthread_comp); @@ -175,18 +173,16 @@ pcmdpriv->cmd_allocated_buf = rtw_zmalloc(MAX_CMDSZ + CMDBUFF_ALIGN_SZ); - if (!pcmdpriv->cmd_allocated_buf) { - res = -ENOMEM; - goto exit; - } + if (!pcmdpriv->cmd_allocated_buf) + return -ENOMEM; pcmdpriv->cmd_buf = pcmdpriv->cmd_allocated_buf + CMDBUFF_ALIGN_SZ - ((SIZE_PTR)(pcmdpriv->cmd_allocated_buf) & (CMDBUFF_ALIGN_SZ-1)); pcmdpriv->rsp_allocated_buf = rtw_zmalloc(MAX_RSPSZ + 4); if (!pcmdpriv->rsp_allocated_buf) { - res = -ENOMEM; - goto exit; + kfree(pcmdpriv->cmd_allocated_buf); + return -ENOMEM; } pcmdpriv->rsp_buf = pcmdpriv->rsp_allocated_buf + 4 - ((SIZE_PTR)(pcmdpriv->rsp_allocated_buf) & 3); @@ -196,8 +192,8 @@ pcmdpriv->rsp_cnt = 0; mutex_init(&pcmdpriv->sctx_mutex); -exit: - return res; + + return 0; } static void c2h_wk_callback(struct work_struct *work); --- linux-gcp-5.19.0.orig/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c +++ linux-gcp-5.19.0/drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c @@ -2086,6 +2086,7 @@ } static int cfg80211_rtw_get_channel(struct wiphy *wiphy, struct wireless_dev *wdev, + unsigned int link_id, struct cfg80211_chan_def *chandef) { struct adapter *adapter = wiphy_to_adapter(wiphy); @@ -2446,7 +2447,8 @@ return rtw_add_beacon(adapter, info->head, info->head_len, info->tail, info->tail_len); } -static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev) +static int cfg80211_rtw_stop_ap(struct wiphy *wiphy, struct net_device *ndev, + unsigned int link_id) { return 0; } --- linux-gcp-5.19.0.orig/drivers/staging/rtl8723bs/os_dep/os_intfs.c +++ linux-gcp-5.19.0/drivers/staging/rtl8723bs/os_dep/os_intfs.c @@ -664,51 +664,36 @@ u8 rtw_init_drv_sw(struct adapter *padapter) { - u8 ret8 = _SUCCESS; - rtw_init_default_value(padapter); rtw_init_hal_com_default_value(padapter); - if (rtw_init_cmd_priv(&padapter->cmdpriv)) { - ret8 = _FAIL; - goto exit; - } + if (rtw_init_cmd_priv(&padapter->cmdpriv)) + return _FAIL; padapter->cmdpriv.padapter = padapter; - if (rtw_init_evt_priv(&padapter->evtpriv)) { - ret8 = _FAIL; - goto exit; - } - + if (rtw_init_evt_priv(&padapter->evtpriv)) + goto free_cmd_priv; - if (rtw_init_mlme_priv(padapter) == _FAIL) { - ret8 = _FAIL; - goto exit; - } + if (rtw_init_mlme_priv(padapter) == _FAIL) + goto free_evt_priv; init_mlme_ext_priv(padapter); - if (_rtw_init_xmit_priv(&padapter->xmitpriv, padapter) == _FAIL) { - ret8 = _FAIL; - goto exit; - } - - if (_rtw_init_recv_priv(&padapter->recvpriv, padapter) == _FAIL) { - ret8 = _FAIL; - goto exit; - } + if (_rtw_init_xmit_priv(&padapter->xmitpriv, padapter) == _FAIL) + goto free_mlme_ext; + + if (_rtw_init_recv_priv(&padapter->recvpriv, padapter) == _FAIL) + goto free_xmit_priv; /* add for CONFIG_IEEE80211W, none 11w also can use */ spin_lock_init(&padapter->security_key_mutex); /* We don't need to memset padapter->XXX to zero, because adapter is allocated by vzalloc(). */ /* memset((unsigned char *)&padapter->securitypriv, 0, sizeof (struct security_priv)); */ - if (_rtw_init_sta_priv(&padapter->stapriv) == _FAIL) { - ret8 = _FAIL; - goto exit; - } + if (_rtw_init_sta_priv(&padapter->stapriv) == _FAIL) + goto free_recv_priv; padapter->stapriv.padapter = padapter; padapter->setband = GHZ24_50; @@ -719,9 +704,26 @@ rtw_hal_dm_init(padapter); -exit: + return _SUCCESS; + +free_recv_priv: + _rtw_free_recv_priv(&padapter->recvpriv); + +free_xmit_priv: + _rtw_free_xmit_priv(&padapter->xmitpriv); + +free_mlme_ext: + free_mlme_ext_priv(&padapter->mlmeextpriv); + + rtw_free_mlme_priv(&padapter->mlmepriv); + +free_evt_priv: + rtw_free_evt_priv(&padapter->evtpriv); + +free_cmd_priv: + rtw_free_cmd_priv(&padapter->cmdpriv); - return ret8; + return _FAIL; } void rtw_cancel_all_timer(struct adapter *padapter) --- linux-gcp-5.19.0.orig/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h +++ linux-gcp-5.19.0/drivers/staging/vc04_services/include/linux/raspberrypi/vchiq.h @@ -82,7 +82,7 @@ struct vchiq_instance; -extern enum vchiq_status vchiq_initialise(struct vchiq_instance **pinstance); +extern int vchiq_initialise(struct vchiq_instance **pinstance); extern enum vchiq_status vchiq_shutdown(struct vchiq_instance *instance); extern enum vchiq_status vchiq_connect(struct vchiq_instance *instance); extern enum vchiq_status vchiq_open_service(struct vchiq_instance *instance, --- linux-gcp-5.19.0.orig/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h +++ linux-gcp-5.19.0/drivers/staging/vc04_services/interface/vchiq_arm/vchiq_arm.h @@ -100,10 +100,10 @@ extern void vchiq_dump_service_use_state(struct vchiq_state *state); -extern enum vchiq_status +extern int vchiq_use_internal(struct vchiq_state *state, struct vchiq_service *service, enum USE_TYPE_E use_type); -extern enum vchiq_status +extern int vchiq_release_internal(struct vchiq_state *state, struct vchiq_service *service); --- linux-gcp-5.19.0.orig/drivers/staging/vt6655/device_main.c +++ linux-gcp-5.19.0/drivers/staging/vt6655/device_main.c @@ -564,7 +564,7 @@ kfree(desc->rd_info); err_free_desc: - while (--i) { + while (i--) { desc = &priv->aRD0Ring[i]; device_free_rx_buf(priv, desc); kfree(desc->rd_info); @@ -610,7 +610,7 @@ kfree(desc->rd_info); err_free_desc: - while (--i) { + while (i--) { desc = &priv->aRD1Ring[i]; device_free_rx_buf(priv, desc); kfree(desc->rd_info); @@ -675,7 +675,7 @@ return 0; err_free_desc: - while (--i) { + while (i--) { desc = &priv->apTD0Rings[i]; kfree(desc->td_info); } @@ -715,7 +715,7 @@ return 0; err_free_desc: - while (--i) { + while (i--) { desc = &priv->apTD1Rings[i]; kfree(desc->td_info); } --- linux-gcp-5.19.0.orig/drivers/target/loopback/tcm_loop.c +++ linux-gcp-5.19.0/drivers/target/loopback/tcm_loop.c @@ -397,6 +397,7 @@ ret = device_register(&tl_hba->dev); if (ret) { pr_err("device_register() failed for tl_hba->dev: %d\n", ret); + put_device(&tl_hba->dev); return -ENODEV; } @@ -1073,7 +1074,7 @@ */ ret = tcm_loop_setup_hba_bus(tl_hba, tcm_loop_hba_no_cnt); if (ret) - goto out; + return ERR_PTR(ret); sh = tl_hba->sh; tcm_loop_hba_no_cnt++; --- linux-gcp-5.19.0.orig/drivers/target/target_core_file.c +++ linux-gcp-5.19.0/drivers/target/target_core_file.c @@ -333,7 +333,7 @@ len += sg->length; } - iov_iter_bvec(&iter, READ, bvec, sgl_nents, len); + iov_iter_bvec(&iter, is_write, bvec, sgl_nents, len); if (is_write) ret = vfs_iter_write(fd, &iter, &pos, 0); else @@ -473,7 +473,7 @@ len += se_dev->dev_attrib.block_size; } - iov_iter_bvec(&iter, READ, bvec, nolb, len); + iov_iter_bvec(&iter, WRITE, bvec, nolb, len); ret = vfs_iter_write(fd_dev->fd_file, &iter, &pos, 0); kfree(bvec); --- linux-gcp-5.19.0.orig/drivers/target/target_core_tmr.c +++ linux-gcp-5.19.0/drivers/target/target_core_tmr.c @@ -73,8 +73,8 @@ { struct se_session *sess = se_cmd->se_sess; - assert_spin_locked(&sess->sess_cmd_lock); - WARN_ON_ONCE(!irqs_disabled()); + lockdep_assert_held(&sess->sess_cmd_lock); + /* * If command already reached CMD_T_COMPLETE state within * target_complete_cmd() or CMD_T_FABRIC_STOP due to shutdown, --- linux-gcp-5.19.0.orig/drivers/tee/optee/device.c +++ linux-gcp-5.19.0/drivers/tee/optee/device.c @@ -80,7 +80,7 @@ rc = device_register(&optee_device->dev); if (rc) { pr_err("device registration failed, err: %d\n", rc); - kfree(optee_device); + put_device(&optee_device->dev); } return rc; --- linux-gcp-5.19.0.orig/drivers/tee/tee_core.c +++ linux-gcp-5.19.0/drivers/tee/tee_core.c @@ -333,6 +333,9 @@ if (data.flags) return -EINVAL; + if (!access_ok((void __user *)(unsigned long)data.addr, data.length)) + return -EFAULT; + shm = tee_shm_register_user_buf(ctx, data.addr, data.length); if (IS_ERR(shm)) return PTR_ERR(shm); --- linux-gcp-5.19.0.orig/drivers/tee/tee_shm.c +++ linux-gcp-5.19.0/drivers/tee/tee_shm.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include "tee_private.h" --- linux-gcp-5.19.0.orig/drivers/thermal/cpufreq_cooling.c +++ linux-gcp-5.19.0/drivers/thermal/cpufreq_cooling.c @@ -21,6 +21,7 @@ #include #include #include +#include #include @@ -101,6 +102,7 @@ static u32 cpu_freq_to_power(struct cpufreq_cooling_device *cpufreq_cdev, u32 freq) { + unsigned long power_mw; int i; for (i = cpufreq_cdev->max_level - 1; i >= 0; i--) { @@ -108,16 +110,23 @@ break; } - return cpufreq_cdev->em->table[i + 1].power; + power_mw = cpufreq_cdev->em->table[i + 1].power; + power_mw /= MICROWATT_PER_MILLIWATT; + + return power_mw; } static u32 cpu_power_to_freq(struct cpufreq_cooling_device *cpufreq_cdev, u32 power) { + unsigned long em_power_mw; int i; for (i = cpufreq_cdev->max_level; i > 0; i--) { - if (power >= cpufreq_cdev->em->table[i].power) + /* Convert EM power to milli-Watts to make safe comparison */ + em_power_mw = cpufreq_cdev->em->table[i].power; + em_power_mw /= MICROWATT_PER_MILLIWATT; + if (power >= em_power_mw) break; } @@ -521,17 +530,17 @@ struct thermal_cooling_device_ops *cooling_ops; char *name; + if (IS_ERR_OR_NULL(policy)) { + pr_err("%s: cpufreq policy isn't valid: %p\n", __func__, policy); + return ERR_PTR(-EINVAL); + } + dev = get_cpu_device(policy->cpu); if (unlikely(!dev)) { pr_warn("No cpu device for cpu %d\n", policy->cpu); return ERR_PTR(-ENODEV); } - if (IS_ERR_OR_NULL(policy)) { - pr_err("%s: cpufreq policy isn't valid: %p\n", __func__, policy); - return ERR_PTR(-EINVAL); - } - i = cpufreq_table_count_valid_entries(policy); if (!i) { pr_debug("%s: CPUFreq table not found or has no valid entries\n", --- linux-gcp-5.19.0.orig/drivers/thermal/devfreq_cooling.c +++ linux-gcp-5.19.0/drivers/thermal/devfreq_cooling.c @@ -200,7 +200,11 @@ res = dfc->power_ops->get_real_power(df, power, freq, voltage); if (!res) { state = dfc->capped_state; + + /* Convert EM power into milli-Watts first */ dfc->res_util = dfc->em_pd->table[state].power; + dfc->res_util /= MICROWATT_PER_MILLIWATT; + dfc->res_util *= SCALE_ERROR_MITIGATION; if (*power > 1) @@ -218,8 +222,10 @@ _normalize_load(&status); - /* Scale power for utilization */ + /* Convert EM power into milli-Watts first */ *power = dfc->em_pd->table[perf_idx].power; + *power /= MICROWATT_PER_MILLIWATT; + /* Scale power for utilization */ *power *= status.busy_time; *power >>= 10; } @@ -244,6 +250,7 @@ perf_idx = dfc->max_state - state; *power = dfc->em_pd->table[perf_idx].power; + *power /= MICROWATT_PER_MILLIWATT; return 0; } @@ -254,7 +261,7 @@ struct devfreq_cooling_device *dfc = cdev->devdata; struct devfreq *df = dfc->devfreq; struct devfreq_dev_status status; - unsigned long freq; + unsigned long freq, em_power_mw; s32 est_power; int i; @@ -279,9 +286,13 @@ * Find the first cooling state that is within the power * budget. The EM power table is sorted ascending. */ - for (i = dfc->max_state; i > 0; i--) - if (est_power >= dfc->em_pd->table[i].power) + for (i = dfc->max_state; i > 0; i--) { + /* Convert EM power to milli-Watts to make safe comparison */ + em_power_mw = dfc->em_pd->table[i].power; + em_power_mw /= MICROWATT_PER_MILLIWATT; + if (est_power >= em_power_mw) break; + } *state = dfc->max_state - i; dfc->capped_state = *state; --- linux-gcp-5.19.0.orig/drivers/thermal/gov_fair_share.c +++ linux-gcp-5.19.0/drivers/thermal/gov_fair_share.c @@ -25,10 +25,10 @@ int trip_temp; enum thermal_trip_type trip_type; - if (tz->trips == 0 || !tz->ops->get_trip_temp) + if (tz->num_trips == 0 || !tz->ops->get_trip_temp) return 0; - for (count = 0; count < tz->trips; count++) { + for (count = 0; count < tz->num_trips; count++) { tz->ops->get_trip_temp(tz, count, &trip_temp); if (tz->temperature < trip_temp) break; @@ -49,11 +49,7 @@ static long get_target_state(struct thermal_zone_device *tz, struct thermal_cooling_device *cdev, int percentage, int level) { - unsigned long max_state; - - cdev->ops->get_max_state(cdev, &max_state); - - return (long)(percentage * level * max_state) / (100 * tz->trips); + return (long)(percentage * level * cdev->max_state) / (100 * tz->num_trips); } /** --- linux-gcp-5.19.0.orig/drivers/thermal/gov_power_allocator.c +++ linux-gcp-5.19.0/drivers/thermal/gov_power_allocator.c @@ -527,7 +527,7 @@ last_active = INVALID_TRIP; last_passive = INVALID_TRIP; - for (i = 0; i < tz->trips; i++) { + for (i = 0; i < tz->num_trips; i++) { enum thermal_trip_type type; int ret; @@ -668,7 +668,7 @@ get_governor_trips(tz, params); - if (tz->trips > 0) { + if (tz->num_trips > 0) { ret = tz->ops->get_trip_temp(tz, params->trip_max_desired_temperature, &control_temp); --- linux-gcp-5.19.0.orig/drivers/thermal/hisi_thermal.c +++ linux-gcp-5.19.0/drivers/thermal/hisi_thermal.c @@ -435,10 +435,6 @@ data->sensor[0].irq_name = "tsensor_a73"; data->sensor[0].data = data; - data->sensor[1].id = HI3660_LITTLE_SENSOR; - data->sensor[1].irq_name = "tsensor_a53"; - data->sensor[1].data = data; - return 0; } --- linux-gcp-5.19.0.orig/drivers/thermal/imx8mm_thermal.c +++ linux-gcp-5.19.0/drivers/thermal/imx8mm_thermal.c @@ -65,8 +65,14 @@ u32 val; val = readl_relaxed(tmu->base + TRITSR) & TRITSR_TEMP0_VAL_MASK; + + /* + * Do not validate against the V bit (bit 31) due to errata + * ERR051272: TMU: Bit 31 of registers TMU_TSCR/TMU_TRITSR/TMU_TRATSR invalid + */ + *temp = val * 1000; - if (*temp < VER1_TEMP_LOW_LIMIT) + if (*temp < VER1_TEMP_LOW_LIMIT || *temp > VER2_TEMP_HIGH_LIMIT) return -EAGAIN; return 0; --- linux-gcp-5.19.0.orig/drivers/thermal/intel/int340x_thermal/int3400_thermal.c +++ linux-gcp-5.19.0/drivers/thermal/intel/int340x_thermal/int3400_thermal.c @@ -527,7 +527,7 @@ priv->data_vault = kmemdup(obj->package.elements[0].buffer.pointer, obj->package.elements[0].buffer.length, GFP_KERNEL); - if (!priv->data_vault) + if (ZERO_OR_NULL_PTR(priv->data_vault)) goto out_free; bin_attr_data_vault.private = priv->data_vault; @@ -597,7 +597,7 @@ goto free_imok; } - if (priv->data_vault) { + if (!ZERO_OR_NULL_PTR(priv->data_vault)) { result = sysfs_create_group(&pdev->dev.kobj, &data_attribute_group); if (result) @@ -615,7 +615,8 @@ free_sysfs: cleanup_odvp(priv); if (priv->data_vault) { - sysfs_remove_group(&pdev->dev.kobj, &data_attribute_group); + if (!ZERO_OR_NULL_PTR(priv->data_vault)) + sysfs_remove_group(&pdev->dev.kobj, &data_attribute_group); kfree(priv->data_vault); } free_uuid: @@ -647,7 +648,7 @@ if (!priv->rel_misc_dev_res) acpi_thermal_rel_misc_device_remove(priv->adev->handle); - if (priv->data_vault) + if (!ZERO_OR_NULL_PTR(priv->data_vault)) sysfs_remove_group(&pdev->dev.kobj, &data_attribute_group); sysfs_remove_group(&pdev->dev.kobj, &uuid_attribute_group); sysfs_remove_group(&pdev->dev.kobj, &imok_attribute_group); --- linux-gcp-5.19.0.orig/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c +++ linux-gcp-5.19.0/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.c @@ -44,11 +44,13 @@ int trip, int *temp) { struct int34x_thermal_zone *d = zone->devdata; - int i; + int i, ret = 0; if (d->override_ops && d->override_ops->get_trip_temp) return d->override_ops->get_trip_temp(zone, trip, temp); + mutex_lock(&d->trip_mutex); + if (trip < d->aux_trip_nr) *temp = d->aux_trips[trip]; else if (trip == d->crt_trip_id) @@ -66,10 +68,12 @@ } } if (i == INT340X_THERMAL_MAX_ACT_TRIP_COUNT) - return -EINVAL; + ret = -EINVAL; } - return 0; + mutex_unlock(&d->trip_mutex); + + return ret; } static int int340x_thermal_get_trip_type(struct thermal_zone_device *zone, @@ -77,11 +81,13 @@ enum thermal_trip_type *type) { struct int34x_thermal_zone *d = zone->devdata; - int i; + int i, ret = 0; if (d->override_ops && d->override_ops->get_trip_type) return d->override_ops->get_trip_type(zone, trip, type); + mutex_lock(&d->trip_mutex); + if (trip < d->aux_trip_nr) *type = THERMAL_TRIP_PASSIVE; else if (trip == d->crt_trip_id) @@ -99,10 +105,12 @@ } } if (i == INT340X_THERMAL_MAX_ACT_TRIP_COUNT) - return -EINVAL; + ret = -EINVAL; } - return 0; + mutex_unlock(&d->trip_mutex); + + return ret; } static int int340x_thermal_set_trip_temp(struct thermal_zone_device *zone, @@ -180,6 +188,8 @@ int trip_cnt = int34x_zone->aux_trip_nr; int i; + mutex_lock(&int34x_zone->trip_mutex); + int34x_zone->crt_trip_id = -1; if (!int340x_thermal_get_trip_config(int34x_zone->adev->handle, "_CRT", &int34x_zone->crt_temp)) @@ -207,6 +217,8 @@ int34x_zone->act_trips[i].valid = true; } + mutex_unlock(&int34x_zone->trip_mutex); + return trip_cnt; } EXPORT_SYMBOL_GPL(int340x_thermal_read_trips); @@ -230,6 +242,8 @@ if (!int34x_thermal_zone) return ERR_PTR(-ENOMEM); + mutex_init(&int34x_thermal_zone->trip_mutex); + int34x_thermal_zone->adev = adev; int34x_thermal_zone->override_ops = override_ops; @@ -281,6 +295,7 @@ acpi_lpat_free_conversion_table(int34x_thermal_zone->lpat_table); kfree(int34x_thermal_zone->aux_trips); err_trip_alloc: + mutex_destroy(&int34x_thermal_zone->trip_mutex); kfree(int34x_thermal_zone); return ERR_PTR(ret); } @@ -292,6 +307,7 @@ thermal_zone_device_unregister(int34x_thermal_zone->zone); acpi_lpat_free_conversion_table(int34x_thermal_zone->lpat_table); kfree(int34x_thermal_zone->aux_trips); + mutex_destroy(&int34x_thermal_zone->trip_mutex); kfree(int34x_thermal_zone); } EXPORT_SYMBOL_GPL(int340x_thermal_zone_remove); --- linux-gcp-5.19.0.orig/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.h +++ linux-gcp-5.19.0/drivers/thermal/intel/int340x_thermal/int340x_thermal_zone.h @@ -32,6 +32,7 @@ struct thermal_zone_device_ops *override_ops; void *priv_data; struct acpi_lpat_conversion_table *lpat_table; + struct mutex trip_mutex; }; struct int34x_thermal_zone *int340x_thermal_zone_add(struct acpi_device *, --- linux-gcp-5.19.0.orig/drivers/thermal/intel/int340x_thermal/processor_thermal_rfim.c +++ linux-gcp-5.19.0/drivers/thermal/intel/int340x_thermal/processor_thermal_rfim.c @@ -172,6 +172,7 @@ RFIM_SHOW(rfi_restriction_run_busy, 1) RFIM_SHOW(rfi_restriction_err_code, 1) RFIM_SHOW(rfi_restriction_data_rate, 1) +RFIM_SHOW(rfi_restriction_data_rate_base, 1) RFIM_SHOW(ddr_data_rate_point_0, 1) RFIM_SHOW(ddr_data_rate_point_1, 1) RFIM_SHOW(ddr_data_rate_point_2, 1) @@ -181,11 +182,13 @@ RFIM_STORE(rfi_restriction_run_busy, 1) RFIM_STORE(rfi_restriction_err_code, 1) RFIM_STORE(rfi_restriction_data_rate, 1) +RFIM_STORE(rfi_restriction_data_rate_base, 1) RFIM_STORE(rfi_disable, 1) static DEVICE_ATTR_RW(rfi_restriction_run_busy); static DEVICE_ATTR_RW(rfi_restriction_err_code); static DEVICE_ATTR_RW(rfi_restriction_data_rate); +static DEVICE_ATTR_RW(rfi_restriction_data_rate_base); static DEVICE_ATTR_RO(ddr_data_rate_point_0); static DEVICE_ATTR_RO(ddr_data_rate_point_1); static DEVICE_ATTR_RO(ddr_data_rate_point_2); @@ -248,6 +251,7 @@ &dev_attr_rfi_restriction_run_busy.attr, &dev_attr_rfi_restriction_err_code.attr, &dev_attr_rfi_restriction_data_rate.attr, + &dev_attr_rfi_restriction_data_rate_base.attr, &dev_attr_ddr_data_rate_point_0.attr, &dev_attr_ddr_data_rate_point_1.attr, &dev_attr_ddr_data_rate_point_2.attr, --- linux-gcp-5.19.0.orig/drivers/thermal/intel/intel_pch_thermal.c +++ linux-gcp-5.19.0/drivers/thermal/intel/intel_pch_thermal.c @@ -29,6 +29,7 @@ #define PCH_THERMAL_DID_CNL_LP 0x02F9 /* CNL-LP PCH */ #define PCH_THERMAL_DID_CML_H 0X06F9 /* CML-H PCH */ #define PCH_THERMAL_DID_LWB 0xA1B1 /* Lewisburg PCH */ +#define PCH_THERMAL_DID_WBG 0x8D24 /* Wellsburg PCH */ /* Wildcat Point-LP PCH Thermal registers */ #define WPT_TEMP 0x0000 /* Temperature */ @@ -358,6 +359,7 @@ board_cnl, board_cml, board_lwb, + board_wbg, }; static const struct board_info { @@ -388,6 +390,10 @@ .name = "pch_lewisburg", .ops = &pch_dev_ops_wpt, }, + [board_wbg] = { + .name = "pch_wellsburg", + .ops = &pch_dev_ops_wpt, + }, }; static int intel_pch_thermal_probe(struct pci_dev *pdev, @@ -503,6 +509,8 @@ .driver_data = board_cml, }, { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCH_THERMAL_DID_LWB), .driver_data = board_lwb, }, + { PCI_DEVICE(PCI_VENDOR_ID_INTEL, PCH_THERMAL_DID_WBG), + .driver_data = board_wbg, }, { 0, }, }; MODULE_DEVICE_TABLE(pci, intel_pch_thermal_id); --- linux-gcp-5.19.0.orig/drivers/thermal/intel/intel_powerclamp.c +++ linux-gcp-5.19.0/drivers/thermal/intel/intel_powerclamp.c @@ -57,6 +57,7 @@ static unsigned int target_mwait; static struct dentry *debug_dir; +static bool poll_pkg_cstate_enable; /* user selected target */ static unsigned int set_target_ratio; @@ -262,6 +263,9 @@ { unsigned int comp = 0; + if (!poll_pkg_cstate_enable) + return 0; + /* we only use compensation if all adjacent ones are good */ if (ratio == 1 && cal_data[ratio].confidence >= CONFIDENCE_OK && @@ -531,12 +535,11 @@ cpus_read_lock(); /* prefer BSP */ - control_cpu = 0; - if (!cpu_online(control_cpu)) - control_cpu = smp_processor_id(); + control_cpu = cpumask_first(cpu_online_mask); clamping = true; - schedule_delayed_work(&poll_pkg_cstate_work, 0); + if (poll_pkg_cstate_enable) + schedule_delayed_work(&poll_pkg_cstate_work, 0); /* start one kthread worker per online cpu */ for_each_online_cpu(cpu) { @@ -602,11 +605,15 @@ static int powerclamp_get_cur_state(struct thermal_cooling_device *cdev, unsigned long *state) { - if (true == clamping) - *state = pkg_cstate_ratio_cur; - else + if (clamping) { + if (poll_pkg_cstate_enable) + *state = pkg_cstate_ratio_cur; + else + *state = set_target_ratio; + } else { /* to save power, do not poll idle ratio while not clamping */ *state = -1; /* indicates invalid state */ + } return 0; } @@ -729,6 +736,9 @@ goto exit_unregister; } + if (topology_max_packages() == 1 && topology_max_die_per_package() == 1) + poll_pkg_cstate_enable = true; + cooling_dev = thermal_cooling_device_register("intel_powerclamp", NULL, &powerclamp_cooling_ops); if (IS_ERR(cooling_dev)) { --- linux-gcp-5.19.0.orig/drivers/thermal/intel/intel_soc_dts_iosf.c +++ linux-gcp-5.19.0/drivers/thermal/intel/intel_soc_dts_iosf.c @@ -405,7 +405,7 @@ { struct intel_soc_dts_sensors *sensors; bool notification; - u32 tj_max; + int tj_max; int ret; int i; --- linux-gcp-5.19.0.orig/drivers/thermal/k3_j72xx_bandgap.c +++ linux-gcp-5.19.0/drivers/thermal/k3_j72xx_bandgap.c @@ -441,7 +441,7 @@ workaround_needed = false; dev_dbg(bgp->dev, "Work around %sneeded\n", - workaround_needed ? "not " : ""); + workaround_needed ? "" : "not "); if (!workaround_needed) init_table(5, ref_table, golden_factors); --- linux-gcp-5.19.0.orig/drivers/thermal/qcom/lmh.c +++ linux-gcp-5.19.0/drivers/thermal/qcom/lmh.c @@ -45,7 +45,7 @@ if (irq) generic_handle_irq(irq); - return 0; + return IRQ_HANDLED; } static void lmh_enable_interrupt(struct irq_data *d) --- linux-gcp-5.19.0.orig/drivers/thermal/qcom/qcom-spmi-temp-alarm.c +++ linux-gcp-5.19.0/drivers/thermal/qcom/qcom-spmi-temp-alarm.c @@ -251,7 +251,8 @@ disable_s2_shutdown = true; else dev_warn(chip->dev, - "No ADC is configured and critical temperature is above the maximum stage 2 threshold of 140 C! Configuring stage 2 shutdown at 140 C.\n"); + "No ADC is configured and critical temperature %d mC is above the maximum stage 2 threshold of %ld mC! Configuring stage 2 shutdown at %ld mC.\n", + temp, stage2_threshold_max, stage2_threshold_max); } skip: --- linux-gcp-5.19.0.orig/drivers/thermal/qcom/tsens-v0_1.c +++ linux-gcp-5.19.0/drivers/thermal/qcom/tsens-v0_1.c @@ -285,7 +285,7 @@ u32 p1[10], p2[10]; int mode = 0; u32 *qfprom_cdata; - u32 cdata[6]; + u32 cdata[4]; qfprom_cdata = (u32 *)qfprom_read(priv->dev, "calib"); if (IS_ERR(qfprom_cdata)) @@ -296,8 +296,6 @@ cdata[1] = qfprom_cdata[13]; cdata[2] = qfprom_cdata[0]; cdata[3] = qfprom_cdata[1]; - cdata[4] = qfprom_cdata[22]; - cdata[5] = qfprom_cdata[21]; mode = (cdata[0] & MSM8939_CAL_SEL_MASK) >> MSM8939_CAL_SEL_SHIFT; dev_dbg(priv->dev, "calibration mode is %d\n", mode); @@ -314,8 +312,6 @@ p2[6] = (cdata[2] & MSM8939_S6_P2_MASK) >> MSM8939_S6_P2_SHIFT; p2[7] = (cdata[3] & MSM8939_S7_P2_MASK) >> MSM8939_S7_P2_SHIFT; p2[8] = (cdata[3] & MSM8939_S8_P2_MASK) >> MSM8939_S8_P2_SHIFT; - p2[9] = (cdata[4] & MSM8939_S9_P2_MASK_0_4) >> MSM8939_S9_P2_SHIFT_0_4; - p2[9] |= ((cdata[5] & MSM8939_S9_P2_MASK_5) >> MSM8939_S9_P2_SHIFT_5) << 5; for (i = 0; i < priv->num_sensors; i++) p2[i] = (base1 + p2[i]) << 2; fallthrough; @@ -331,7 +327,6 @@ p1[6] = (cdata[2] & MSM8939_S6_P1_MASK) >> MSM8939_S6_P1_SHIFT; p1[7] = (cdata[3] & MSM8939_S7_P1_MASK) >> MSM8939_S7_P1_SHIFT; p1[8] = (cdata[3] & MSM8939_S8_P1_MASK) >> MSM8939_S8_P1_SHIFT; - p1[9] = (cdata[4] & MSM8939_S9_P1_MASK) >> MSM8939_S9_P1_SHIFT; for (i = 0; i < priv->num_sensors; i++) p1[i] = ((base0) + p1[i]) << 2; break; @@ -534,6 +529,21 @@ return 0; } +static int __init init_8939(struct tsens_priv *priv) { + priv->sensor[0].slope = 2911; + priv->sensor[1].slope = 2789; + priv->sensor[2].slope = 2906; + priv->sensor[3].slope = 2763; + priv->sensor[4].slope = 2922; + priv->sensor[5].slope = 2867; + priv->sensor[6].slope = 2833; + priv->sensor[7].slope = 2838; + priv->sensor[8].slope = 2840; + /* priv->sensor[9].slope = 2852; */ + + return init_common(priv); +} + /* v0.1: 8916, 8939, 8974, 9607 */ static struct tsens_features tsens_v0_1_feat = { @@ -596,15 +606,15 @@ }; static const struct tsens_ops ops_8939 = { - .init = init_common, + .init = init_8939, .calibrate = calibrate_8939, .get_temp = get_temp_common, }; struct tsens_plat_data data_8939 = { - .num_sensors = 10, + .num_sensors = 9, .ops = &ops_8939, - .hw_ids = (unsigned int []){ 0, 1, 2, 4, 5, 6, 7, 8, 9, 10 }, + .hw_ids = (unsigned int []){ 0, 1, 2, 3, 5, 6, 7, 8, 9, /* 10 */ }, .feat = &tsens_v0_1_feat, .fields = tsens_v0_1_regfields, --- linux-gcp-5.19.0.orig/drivers/thermal/qcom/tsens-v1.c +++ linux-gcp-5.19.0/drivers/thermal/qcom/tsens-v1.c @@ -78,11 +78,6 @@ #define MSM8976_CAL_SEL_MASK 0x3 -#define MSM8976_CAL_DEGC_PT1 30 -#define MSM8976_CAL_DEGC_PT2 120 -#define MSM8976_SLOPE_FACTOR 1000 -#define MSM8976_SLOPE_DEFAULT 3200 - /* eeprom layout data for qcs404/405 (v1) */ #define BASE0_MASK 0x000007f8 #define BASE1_MASK 0x0007f800 @@ -142,30 +137,6 @@ #define CAL_SEL_MASK 7 #define CAL_SEL_SHIFT 0 -static void compute_intercept_slope_8976(struct tsens_priv *priv, - u32 *p1, u32 *p2, u32 mode) -{ - int i; - - priv->sensor[0].slope = 3313; - priv->sensor[1].slope = 3275; - priv->sensor[2].slope = 3320; - priv->sensor[3].slope = 3246; - priv->sensor[4].slope = 3279; - priv->sensor[5].slope = 3257; - priv->sensor[6].slope = 3234; - priv->sensor[7].slope = 3269; - priv->sensor[8].slope = 3255; - priv->sensor[9].slope = 3239; - priv->sensor[10].slope = 3286; - - for (i = 0; i < priv->num_sensors; i++) { - priv->sensor[i].offset = (p1[i] * MSM8976_SLOPE_FACTOR) - - (MSM8976_CAL_DEGC_PT1 * - priv->sensor[i].slope); - } -} - static int calibrate_v1(struct tsens_priv *priv) { u32 base0 = 0, base1 = 0; @@ -291,7 +262,7 @@ break; } - compute_intercept_slope_8976(priv, p1, p2, mode); + compute_intercept_slope(priv, p1, p2, mode); kfree(qfprom_cdata); return 0; @@ -362,6 +333,22 @@ [TRDY] = REG_FIELD(TM_TRDY_OFF, 0, 0), }; +static int __init init_8956(struct tsens_priv *priv) { + priv->sensor[0].slope = 3313; + priv->sensor[1].slope = 3275; + priv->sensor[2].slope = 3320; + priv->sensor[3].slope = 3246; + priv->sensor[4].slope = 3279; + priv->sensor[5].slope = 3257; + priv->sensor[6].slope = 3234; + priv->sensor[7].slope = 3269; + priv->sensor[8].slope = 3255; + priv->sensor[9].slope = 3239; + priv->sensor[10].slope = 3286; + + return init_common(priv); +} + static const struct tsens_ops ops_generic_v1 = { .init = init_common, .calibrate = calibrate_v1, @@ -374,13 +361,25 @@ .fields = tsens_v1_regfields, }; +static const struct tsens_ops ops_8956 = { + .init = init_8956, + .calibrate = calibrate_8976, + .get_temp = get_temp_tsens_valid, +}; + +struct tsens_plat_data data_8956 = { + .num_sensors = 11, + .ops = &ops_8956, + .feat = &tsens_v1_feat, + .fields = tsens_v1_regfields, +}; + static const struct tsens_ops ops_8976 = { .init = init_common, .calibrate = calibrate_8976, .get_temp = get_temp_tsens_valid, }; -/* Valid for both MSM8956 and MSM8976. */ struct tsens_plat_data data_8976 = { .num_sensors = 11, .ops = &ops_8976, --- linux-gcp-5.19.0.orig/drivers/thermal/qcom/tsens.c +++ linux-gcp-5.19.0/drivers/thermal/qcom/tsens.c @@ -980,6 +980,9 @@ .compatible = "qcom,msm8939-tsens", .data = &data_8939, }, { + .compatible = "qcom,msm8956-tsens", + .data = &data_8956, + }, { .compatible = "qcom,msm8960-tsens", .data = &data_8960, }, { --- linux-gcp-5.19.0.orig/drivers/thermal/qcom/tsens.h +++ linux-gcp-5.19.0/drivers/thermal/qcom/tsens.h @@ -590,7 +590,7 @@ extern struct tsens_plat_data data_8916, data_8939, data_8974, data_9607; /* TSENS v1 targets */ -extern struct tsens_plat_data data_tsens_v1, data_8976; +extern struct tsens_plat_data data_tsens_v1, data_8976, data_8956; /* TSENS v2 targets */ extern struct tsens_plat_data data_8996, data_tsens_v2; --- linux-gcp-5.19.0.orig/drivers/thermal/tegra/tegra30-tsensor.c +++ linux-gcp-5.19.0/drivers/thermal/tegra/tegra30-tsensor.c @@ -316,7 +316,7 @@ *hot_trip = 85000; *crit_trip = 90000; - for (i = 0; i < tzd->trips; i++) { + for (i = 0; i < tzd->num_trips; i++) { enum thermal_trip_type type; int trip_temp; --- linux-gcp-5.19.0.orig/drivers/thermal/thermal_core.c +++ linux-gcp-5.19.0/drivers/thermal/thermal_core.c @@ -505,7 +505,7 @@ tz->notify_event = event; - for (count = 0; count < tz->trips; count++) + for (count = 0; count < tz->num_trips; count++) handle_thermal_trip(tz, count); } EXPORT_SYMBOL_GPL(thermal_zone_device_update); @@ -627,10 +627,9 @@ struct thermal_instance *pos; struct thermal_zone_device *pos1; struct thermal_cooling_device *pos2; - unsigned long max_state; - int result, ret; + int result; - if (trip >= tz->trips || trip < 0) + if (trip >= tz->num_trips || trip < 0) return -EINVAL; list_for_each_entry(pos1, &thermal_tz_list, node) { @@ -645,15 +644,11 @@ if (tz != pos1 || cdev != pos2) return -EINVAL; - ret = cdev->ops->get_max_state(cdev, &max_state); - if (ret) - return ret; - /* lower default 0, upper default max_state */ lower = lower == THERMAL_NO_LIMIT ? 0 : lower; - upper = upper == THERMAL_NO_LIMIT ? max_state : upper; + upper = upper == THERMAL_NO_LIMIT ? cdev->max_state : upper; - if (lower > upper || upper > max_state) + if (lower > upper || upper > cdev->max_state) return -EINVAL; dev = kzalloc(sizeof(*dev), GFP_KERNEL); @@ -811,7 +806,7 @@ { int i, ret; - for (i = 0; i < tz->trips; i++) { + for (i = 0; i < tz->num_trips; i++) { if (mask & (1 << i)) { unsigned long upper, lower; @@ -907,10 +902,6 @@ cdev->id = ret; id = ret; - ret = dev_set_name(&cdev->device, "cooling_device%d", cdev->id); - if (ret) - goto out_ida_remove; - cdev->type = kstrdup(type ? type : "", GFP_KERNEL); if (!cdev->type) { ret = -ENOMEM; @@ -924,7 +915,22 @@ cdev->updated = false; cdev->device.class = &thermal_class; cdev->devdata = devdata; + + ret = cdev->ops->get_max_state(cdev, &cdev->max_state); + if (ret) { + kfree(cdev->type); + goto out_ida_remove; + } + thermal_cooling_device_setup_sysfs(cdev); + + ret = dev_set_name(&cdev->device, "cooling_device%d", cdev->id); + if (ret) { + kfree(cdev->type); + thermal_cooling_device_destroy_sysfs(cdev); + goto out_ida_remove; + } + ret = device_register(&cdev->device); if (ret) goto out_kfree_type; @@ -950,6 +956,8 @@ thermal_cooling_device_destroy_sysfs(cdev); kfree(cdev->type); put_device(&cdev->device); + + /* thermal_release() takes care of the rest */ cdev = NULL; out_ida_remove: ida_simple_remove(&thermal_cdev_ida, id); @@ -1057,7 +1065,7 @@ { int i; - for (i = 0; i < tz->trips; i++) + for (i = 0; i < tz->num_trips; i++) if (mask & (1 << i)) thermal_zone_unbind_cooling_device(tz, i, cdev); } @@ -1162,7 +1170,7 @@ /** * thermal_zone_device_register() - register a new thermal zone device * @type: the thermal zone device type - * @trips: the number of trip points the thermal zone support + * @num_trips: the number of trip points the thermal zone support * @mask: a bit string indicating the writeablility of trip points * @devdata: private device data * @ops: standard thermal zone device callbacks @@ -1184,7 +1192,7 @@ * IS_ERR*() helpers. */ struct thermal_zone_device * -thermal_zone_device_register(const char *type, int trips, int mask, +thermal_zone_device_register(const char *type, int num_trips, int mask, void *devdata, struct thermal_zone_device_ops *ops, struct thermal_zone_params *tzp, int passive_delay, int polling_delay) @@ -1198,27 +1206,27 @@ struct thermal_governor *governor; if (!type || strlen(type) == 0) { - pr_err("Error: No thermal zone type defined\n"); + pr_err("No thermal zone type defined\n"); return ERR_PTR(-EINVAL); } if (type && strlen(type) >= THERMAL_NAME_LENGTH) { - pr_err("Error: Thermal zone name (%s) too long, should be under %d chars\n", + pr_err("Thermal zone name (%s) too long, should be under %d chars\n", type, THERMAL_NAME_LENGTH); return ERR_PTR(-EINVAL); } - if (trips > THERMAL_MAX_TRIPS || trips < 0 || mask >> trips) { - pr_err("Error: Incorrect number of thermal trips\n"); + if (num_trips > THERMAL_MAX_TRIPS || num_trips < 0 || mask >> num_trips) { + pr_err("Incorrect number of thermal trips\n"); return ERR_PTR(-EINVAL); } if (!ops) { - pr_err("Error: Thermal zone device ops not defined\n"); + pr_err("Thermal zone device ops not defined\n"); return ERR_PTR(-EINVAL); } - if (trips > 0 && (!ops->get_trip_type || !ops->get_trip_temp)) + if (num_trips > 0 && (!ops->get_trip_type || !ops->get_trip_temp)) return ERR_PTR(-EINVAL); tz = kzalloc(sizeof(*tz), GFP_KERNEL); @@ -1237,10 +1245,6 @@ tz->id = id; strlcpy(tz->type, type, sizeof(tz->type)); - result = dev_set_name(&tz->device, "thermal_zone%d", tz->id); - if (result) - goto remove_id; - if (!ops->critical) ops->critical = thermal_zone_device_critical; @@ -1248,7 +1252,7 @@ tz->tzp = tzp; tz->device.class = &thermal_class; tz->devdata = devdata; - tz->trips = trips; + tz->num_trips = num_trips; thermal_set_delay_jiffies(&tz->passive_delay_jiffies, passive_delay); thermal_set_delay_jiffies(&tz->polling_delay_jiffies, polling_delay); @@ -1262,11 +1266,16 @@ /* A new thermal zone needs to be updated anyway. */ atomic_set(&tz->need_update, 1); + result = dev_set_name(&tz->device, "thermal_zone%d", tz->id); + if (result) { + thermal_zone_destroy_device_groups(tz); + goto remove_id; + } result = device_register(&tz->device); if (result) goto release_device; - for (count = 0; count < trips; count++) { + for (count = 0; count < num_trips; count++) { if (tz->ops->get_trip_type(tz, count, &trip_type) || tz->ops->get_trip_temp(tz, count, &trip_temp) || !trip_temp) --- linux-gcp-5.19.0.orig/drivers/thermal/thermal_helpers.c +++ linux-gcp-5.19.0/drivers/thermal/thermal_helpers.c @@ -90,7 +90,7 @@ ret = tz->ops->get_temp(tz, temp); if (IS_ENABLED(CONFIG_THERMAL_EMULATION) && tz->emul_temperature) { - for (count = 0; count < tz->trips; count++) { + for (count = 0; count < tz->num_trips; count++) { ret = tz->ops->get_trip_type(tz, count, &type); if (!ret && type == THERMAL_TRIP_CRITICAL) { ret = tz->ops->get_trip_temp(tz, count, @@ -138,7 +138,7 @@ if (!tz->ops->set_trips || !tz->ops->get_trip_hyst) goto exit; - for (i = 0; i < tz->trips; i++) { + for (i = 0; i < tz->num_trips; i++) { int trip_low; tz->ops->get_trip_temp(tz, i, &trip_temp); --- linux-gcp-5.19.0.orig/drivers/thermal/thermal_netlink.c +++ linux-gcp-5.19.0/drivers/thermal/thermal_netlink.c @@ -469,7 +469,7 @@ mutex_lock(&tz->lock); - for (i = 0; i < tz->trips; i++) { + for (i = 0; i < tz->num_trips; i++) { enum thermal_trip_type type; int temp, hyst = 0; --- linux-gcp-5.19.0.orig/drivers/thermal/thermal_sysfs.c +++ linux-gcp-5.19.0/drivers/thermal/thermal_sysfs.c @@ -416,15 +416,15 @@ int indx; /* This function works only for zones with at least one trip */ - if (tz->trips <= 0) + if (tz->num_trips <= 0) return -EINVAL; - tz->trip_type_attrs = kcalloc(tz->trips, sizeof(*tz->trip_type_attrs), + tz->trip_type_attrs = kcalloc(tz->num_trips, sizeof(*tz->trip_type_attrs), GFP_KERNEL); if (!tz->trip_type_attrs) return -ENOMEM; - tz->trip_temp_attrs = kcalloc(tz->trips, sizeof(*tz->trip_temp_attrs), + tz->trip_temp_attrs = kcalloc(tz->num_trips, sizeof(*tz->trip_temp_attrs), GFP_KERNEL); if (!tz->trip_temp_attrs) { kfree(tz->trip_type_attrs); @@ -432,7 +432,7 @@ } if (tz->ops->get_trip_hyst) { - tz->trip_hyst_attrs = kcalloc(tz->trips, + tz->trip_hyst_attrs = kcalloc(tz->num_trips, sizeof(*tz->trip_hyst_attrs), GFP_KERNEL); if (!tz->trip_hyst_attrs) { @@ -442,7 +442,7 @@ } } - attrs = kcalloc(tz->trips * 3 + 1, sizeof(*attrs), GFP_KERNEL); + attrs = kcalloc(tz->num_trips * 3 + 1, sizeof(*attrs), GFP_KERNEL); if (!attrs) { kfree(tz->trip_type_attrs); kfree(tz->trip_temp_attrs); @@ -451,7 +451,7 @@ return -ENOMEM; } - for (indx = 0; indx < tz->trips; indx++) { + for (indx = 0; indx < tz->num_trips; indx++) { /* create trip type attribute */ snprintf(tz->trip_type_attrs[indx].name, THERMAL_NAME_LENGTH, "trip_point_%d_type", indx); @@ -478,7 +478,7 @@ tz->trip_temp_attrs[indx].attr.store = trip_point_temp_store; } - attrs[indx + tz->trips] = &tz->trip_temp_attrs[indx].attr.attr; + attrs[indx + tz->num_trips] = &tz->trip_temp_attrs[indx].attr.attr; /* create Optional trip hyst attribute */ if (!tz->ops->get_trip_hyst) @@ -496,10 +496,10 @@ tz->trip_hyst_attrs[indx].attr.store = trip_point_hyst_store; } - attrs[indx + tz->trips * 2] = + attrs[indx + tz->num_trips * 2] = &tz->trip_hyst_attrs[indx].attr.attr; } - attrs[tz->trips * 3] = NULL; + attrs[tz->num_trips * 3] = NULL; tz->trips_attribute_group.attrs = attrs; @@ -540,7 +540,7 @@ for (i = 0; i < size - 2; i++) groups[i] = thermal_zone_attribute_groups[i]; - if (tz->trips) { + if (tz->num_trips) { result = create_trip_attrs(tz, mask); if (result) { kfree(groups); @@ -561,7 +561,7 @@ if (!tz) return; - if (tz->trips) + if (tz->num_trips) destroy_trip_attrs(tz); kfree(tz->device.groups); @@ -580,13 +580,8 @@ char *buf) { struct thermal_cooling_device *cdev = to_cooling_device(dev); - unsigned long state; - int ret; - ret = cdev->ops->get_max_state(cdev, &state); - if (ret) - return ret; - return sprintf(buf, "%ld\n", state); + return sprintf(buf, "%ld\n", cdev->max_state); } static ssize_t cur_state_show(struct device *dev, struct device_attribute *attr, @@ -616,6 +611,10 @@ if ((long)state < 0) return -EINVAL; + /* Requested state should be less than max_state + 1 */ + if (state > cdev->max_state) + return -EINVAL; + mutex_lock(&cdev->lock); result = cdev->ops->set_cur_state(cdev, state); @@ -813,12 +812,13 @@ static void cooling_device_stats_setup(struct thermal_cooling_device *cdev) { + const struct attribute_group *stats_attr_group = NULL; struct cooling_dev_stats *stats; unsigned long states; int var; if (cdev->ops->get_max_state(cdev, &states)) - return; + goto out; states++; /* Total number of states is highest state + 1 */ @@ -828,7 +828,7 @@ stats = kzalloc(var, GFP_KERNEL); if (!stats) - return; + goto out; stats->time_in_state = (ktime_t *)(stats + 1); stats->trans_table = (unsigned int *)(stats->time_in_state + states); @@ -838,9 +838,12 @@ spin_lock_init(&stats->lock); + stats_attr_group = &cooling_device_stats_attr_group; + +out: /* Fill the empty slot left in cooling_device_attr_groups */ var = ARRAY_SIZE(cooling_device_attr_groups) - 2; - cooling_device_attr_groups[var] = &cooling_device_stats_attr_group; + cooling_device_attr_groups[var] = stats_attr_group; } static void cooling_device_stats_destroy(struct thermal_cooling_device *cdev) --- linux-gcp-5.19.0.orig/drivers/thunderbolt/ctl.c +++ linux-gcp-5.19.0/drivers/thunderbolt/ctl.c @@ -407,7 +407,7 @@ static int tb_async_error(const struct ctl_pkg *pkg) { - const struct cfg_error_pkg *error = (const struct cfg_error_pkg *)pkg; + const struct cfg_error_pkg *error = pkg->buffer; if (pkg->frame.eof != TB_CFG_PKG_ERROR) return false; --- linux-gcp-5.19.0.orig/drivers/thunderbolt/icm.c +++ linux-gcp-5.19.0/drivers/thunderbolt/icm.c @@ -2527,6 +2527,7 @@ tb->cm_ops = &icm_icl_ops; break; + case PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_2C_NHI: case PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_4C_NHI: icm->is_supported = icm_tgl_is_supported; icm->get_mode = icm_ar_get_mode; --- linux-gcp-5.19.0.orig/drivers/thunderbolt/nhi.c +++ linux-gcp-5.19.0/drivers/thunderbolt/nhi.c @@ -28,7 +28,11 @@ #define RING_TYPE(ring) ((ring)->is_tx ? "TX ring" : "RX ring") #define RING_FIRST_USABLE_HOPID 1 - +/* + * Used with QUIRK_E2E to specify an unused HopID the Rx credits are + * transferred. + */ +#define RING_E2E_RESERVED_HOPID RING_FIRST_USABLE_HOPID /* * Minimal number of vectors when we use MSI-X. Two for control channel * Rx/Tx and the rest four are for cross domain DMA paths. @@ -38,7 +42,9 @@ #define NHI_MAILBOX_TIMEOUT 500 /* ms */ +/* Host interface quirks */ #define QUIRK_AUTO_CLEAR_INT BIT(0) +#define QUIRK_E2E BIT(1) static int ring_interrupt_index(struct tb_ring *ring) { @@ -458,8 +464,18 @@ static int nhi_alloc_hop(struct tb_nhi *nhi, struct tb_ring *ring) { + unsigned int start_hop = RING_FIRST_USABLE_HOPID; int ret = 0; + if (nhi->quirks & QUIRK_E2E) { + start_hop = RING_FIRST_USABLE_HOPID + 1; + if (ring->flags & RING_FLAG_E2E && !ring->is_tx) { + dev_dbg(&nhi->pdev->dev, "quirking E2E TX HopID %u -> %u\n", + ring->e2e_tx_hop, RING_E2E_RESERVED_HOPID); + ring->e2e_tx_hop = RING_E2E_RESERVED_HOPID; + } + } + spin_lock_irq(&nhi->lock); if (ring->hop < 0) { @@ -469,7 +485,7 @@ * Automatically allocate HopID from the non-reserved * range 1 .. hop_count - 1. */ - for (i = RING_FIRST_USABLE_HOPID; i < nhi->hop_count; i++) { + for (i = start_hop; i < nhi->hop_count; i++) { if (ring->is_tx) { if (!nhi->tx_rings[i]) { ring->hop = i; @@ -484,6 +500,11 @@ } } + if (ring->hop > 0 && ring->hop < start_hop) { + dev_warn(&nhi->pdev->dev, "invalid hop: %d\n", ring->hop); + ret = -EINVAL; + goto err_unlock; + } if (ring->hop < 0 || ring->hop >= nhi->hop_count) { dev_warn(&nhi->pdev->dev, "invalid hop: %d\n", ring->hop); ret = -EINVAL; @@ -1097,12 +1118,26 @@ static void nhi_check_quirks(struct tb_nhi *nhi) { - /* - * Intel hardware supports auto clear of the interrupt status - * reqister right after interrupt is being issued. - */ - if (nhi->pdev->vendor == PCI_VENDOR_ID_INTEL) + if (nhi->pdev->vendor == PCI_VENDOR_ID_INTEL) { + /* + * Intel hardware supports auto clear of the interrupt + * status register right after interrupt is being + * issued. + */ nhi->quirks |= QUIRK_AUTO_CLEAR_INT; + + switch (nhi->pdev->device) { + case PCI_DEVICE_ID_INTEL_FALCON_RIDGE_2C_NHI: + case PCI_DEVICE_ID_INTEL_FALCON_RIDGE_4C_NHI: + /* + * Falcon Ridge controller needs the end-to-end + * flow control workaround to avoid losing Rx + * packets when RING_FLAG_E2E is set. + */ + nhi->quirks |= QUIRK_E2E; + break; + } + } } static int nhi_check_iommu_pdev(struct pci_dev *pdev, void *data) --- linux-gcp-5.19.0.orig/drivers/thunderbolt/nhi.h +++ linux-gcp-5.19.0/drivers/thunderbolt/nhi.h @@ -55,6 +55,7 @@ * need for the PCI quirk anymore as we will use ICM also on Apple * hardware. */ +#define PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_2C_NHI 0x1134 #define PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_4C_NHI 0x1137 #define PCI_DEVICE_ID_INTEL_WIN_RIDGE_2C_NHI 0x157d #define PCI_DEVICE_ID_INTEL_WIN_RIDGE_2C_BRIDGE 0x157e --- linux-gcp-5.19.0.orig/drivers/thunderbolt/retimer.c +++ linux-gcp-5.19.0/drivers/thunderbolt/retimer.c @@ -448,13 +448,6 @@ { u32 status[TB_MAX_RETIMER_INDEX + 1] = {}; int ret, i, last_idx = 0; - struct usb4_port *usb4; - - usb4 = port->usb4; - if (!usb4) - return 0; - - pm_runtime_get_sync(&usb4->dev); /* * Send broadcast RT to make sure retimer indices facing this @@ -462,7 +455,7 @@ */ ret = usb4_port_enumerate_retimers(port); if (ret) - goto out; + return ret; /* * Enable sideband channel for each retimer. We can do this @@ -492,12 +485,11 @@ break; } - if (!last_idx) { - ret = 0; - goto out; - } + if (!last_idx) + return 0; /* Add on-board retimers if they do not exist already */ + ret = 0; for (i = 1; i <= last_idx; i++) { struct tb_retimer *rt; @@ -511,10 +503,6 @@ } } -out: - pm_runtime_mark_last_busy(&usb4->dev); - pm_runtime_put_autosuspend(&usb4->dev); - return ret; } --- linux-gcp-5.19.0.orig/drivers/thunderbolt/switch.c +++ linux-gcp-5.19.0/drivers/thunderbolt/switch.c @@ -2413,6 +2413,7 @@ * additional capabilities. */ sw->config.cmuv = USB4_VERSION_1_0; + sw->config.plug_events_delay = 0xa; /* Enumerate the switch */ ret = tb_sw_write(sw, (u32 *)&sw->config + 1, TB_CFG_SWITCH, @@ -2821,6 +2822,26 @@ tb_sw_info(sw, "failed to determine preferred buffer allocation, using defaults\n"); } +static int tb_switch_port_hotplug_enable(struct tb_switch *sw) +{ + struct tb_port *port; + + if (tb_switch_is_icm(sw)) + return 0; + + tb_switch_for_each_port(sw, port) { + int res; + + if (!port->cap_usb4) + continue; + + res = usb4_port_hotplug_enable(port); + if (res) + return res; + } + return 0; +} + /** * tb_switch_add() - Add a switch to the domain * @sw: Switch to add @@ -2890,6 +2911,10 @@ return ret; } + ret = tb_switch_port_hotplug_enable(sw); + if (ret) + return ret; + ret = device_add(&sw->dev); if (ret) { dev_err(&sw->dev, "failed to add device: %d\n", ret); @@ -3781,14 +3806,18 @@ */ int tb_switch_xhci_connect(struct tb_switch *sw) { - bool usb_port1, usb_port3, xhci_port1, xhci_port3; struct tb_port *port1, *port3; int ret; + if (sw->generation != 3) + return 0; + port1 = &sw->ports[1]; port3 = &sw->ports[3]; if (tb_switch_is_alpine_ridge(sw)) { + bool usb_port1, usb_port3, xhci_port1, xhci_port3; + usb_port1 = tb_lc_is_usb_plugged(port1); usb_port3 = tb_lc_is_usb_plugged(port3); xhci_port1 = tb_lc_is_xhci_connected(port1); --- linux-gcp-5.19.0.orig/drivers/thunderbolt/tb.c +++ linux-gcp-5.19.0/drivers/thunderbolt/tb.c @@ -105,6 +105,32 @@ } } +static void tb_discover_dp_resource(struct tb *tb, struct tb_port *port) +{ + struct tb_cm *tcm = tb_priv(tb); + struct tb_port *p; + + list_for_each_entry(p, &tcm->dp_resources, list) { + if (p == port) + return; + } + + tb_port_dbg(port, "DP %s resource available discovered\n", + tb_port_is_dpin(port) ? "IN" : "OUT"); + list_add_tail(&port->list, &tcm->dp_resources); +} + +static void tb_discover_dp_resources(struct tb *tb) +{ + struct tb_cm *tcm = tb_priv(tb); + struct tb_tunnel *tunnel; + + list_for_each_entry(tunnel, &tcm->tunnel_list, list) { + if (tb_tunnel_is_dp(tunnel)) + tb_discover_dp_resource(tb, tunnel->dst_port); + } +} + static void tb_switch_discover_tunnels(struct tb_switch *sw, struct list_head *list, bool alloc_hopids) @@ -594,11 +620,15 @@ * Downstream switch is reachable through two ports. * Only scan on the primary port (link_nr == 0). */ + + if (port->usb4) + pm_runtime_get_sync(&port->usb4->dev); + if (tb_wait_for_port(port, false) <= 0) - return; + goto out_rpm_put; if (port->remote) { tb_port_dbg(port, "port already has a remote\n"); - return; + goto out_rpm_put; } tb_retimer_scan(port, true); @@ -613,12 +643,12 @@ */ if (PTR_ERR(sw) == -EIO || PTR_ERR(sw) == -EADDRNOTAVAIL) tb_scan_xdomain(port); - return; + goto out_rpm_put; } if (tb_switch_configure(sw)) { tb_switch_put(sw); - return; + goto out_rpm_put; } /* @@ -647,7 +677,7 @@ if (tb_switch_add(sw)) { tb_switch_put(sw); - return; + goto out_rpm_put; } /* Link the switches using both links if available */ @@ -686,6 +716,12 @@ tb_add_dp_resources(sw); tb_scan_switch(sw); + +out_rpm_put: + if (port->usb4) { + pm_runtime_mark_last_busy(&port->usb4->dev); + pm_runtime_put_autosuspend(&port->usb4->dev); + } } static void tb_deactivate_and_free_tunnel(struct tb_tunnel *tunnel) @@ -1414,6 +1450,8 @@ tb_scan_switch(tb->root_switch); /* Find out tunnels created by the boot firmware */ tb_discover_tunnels(tb); + /* Add DP resources from the DP tunnels created by the boot firmware */ + tb_discover_dp_resources(tb); /* * If the boot firmware did not create USB 3.x tunnels create them * now for the whole topology. --- linux-gcp-5.19.0.orig/drivers/thunderbolt/tb.h +++ linux-gcp-5.19.0/drivers/thunderbolt/tb.h @@ -1170,6 +1170,7 @@ void usb4_switch_remove_ports(struct tb_switch *sw); int usb4_port_unlock(struct tb_port *port); +int usb4_port_hotplug_enable(struct tb_port *port); int usb4_port_configure(struct tb_port *port); void usb4_port_unconfigure(struct tb_port *port); int usb4_port_configure_xdomain(struct tb_port *port); --- linux-gcp-5.19.0.orig/drivers/thunderbolt/tb_regs.h +++ linux-gcp-5.19.0/drivers/thunderbolt/tb_regs.h @@ -302,6 +302,7 @@ #define ADP_CS_5 0x05 #define ADP_CS_5_LCA_MASK GENMASK(28, 22) #define ADP_CS_5_LCA_SHIFT 22 +#define ADP_CS_5_DHP BIT(31) /* TMU adapter registers */ #define TMU_ADP_CS_3 0x03 --- linux-gcp-5.19.0.orig/drivers/thunderbolt/tmu.c +++ linux-gcp-5.19.0/drivers/thunderbolt/tmu.c @@ -359,13 +359,14 @@ * In case of uni-directional time sync, TMU handshake is * initiated by upstream router. In case of bi-directional * time sync, TMU handshake is initiated by downstream router. - * Therefore, we change the rate to off in the respective - * router. + * We change downstream router's rate to off for both uni/bidir + * cases although it is needed only for the bi-directional mode. + * We avoid changing upstream router's mode since it might + * have another downstream router plugged, that is set to + * uni-directional mode and we don't want to change it's TMU + * mode. */ - if (unidirectional) - tb_switch_tmu_rate_write(parent, TB_SWITCH_TMU_RATE_OFF); - else - tb_switch_tmu_rate_write(sw, TB_SWITCH_TMU_RATE_OFF); + tb_switch_tmu_rate_write(sw, TB_SWITCH_TMU_RATE_OFF); tb_port_tmu_time_sync_disable(up); ret = tb_port_tmu_time_sync_disable(down); --- linux-gcp-5.19.0.orig/drivers/thunderbolt/tunnel.c +++ linux-gcp-5.19.0/drivers/thunderbolt/tunnel.c @@ -1275,7 +1275,7 @@ return; } else if (!ret) { /* Use maximum link rate if the link valid is not set */ - ret = usb4_usb3_port_max_link_rate(tunnel->src_port); + ret = tb_usb3_max_link_rate(tunnel->dst_port, tunnel->src_port); if (ret < 0) { tb_tunnel_warn(tunnel, "failed to read maximum link rate\n"); return; --- linux-gcp-5.19.0.orig/drivers/thunderbolt/usb4.c +++ linux-gcp-5.19.0/drivers/thunderbolt/usb4.c @@ -1046,6 +1046,26 @@ return tb_port_write(port, &val, TB_CFG_PORT, ADP_CS_4, 1); } +/** + * usb4_port_hotplug_enable() - Enables hotplug for a port + * @port: USB4 port to operate on + * + * Enables hot plug events on a given port. This is only intended + * to be used on lane, DP-IN, and DP-OUT adapters. + */ +int usb4_port_hotplug_enable(struct tb_port *port) +{ + int ret; + u32 val; + + ret = tb_port_read(port, &val, TB_CFG_PORT, ADP_CS_5, 1); + if (ret) + return ret; + + val &= ~ADP_CS_5_DHP; + return tb_port_write(port, &val, TB_CFG_PORT, ADP_CS_5, 1); +} + static int usb4_port_set_configured(struct tb_port *port, bool configured) { int ret; --- linux-gcp-5.19.0.orig/drivers/thunderbolt/xdomain.c +++ linux-gcp-5.19.0/drivers/thunderbolt/xdomain.c @@ -1424,12 +1424,19 @@ * registered, we notify the userspace that it has changed. */ if (!update) { - struct tb_port *port; + /* + * Now disable lane 1 if bonding was not enabled. Do + * this only if bonding was possible at the beginning + * (that is we are the connection manager and there are + * two lanes). + */ + if (xd->bonding_possible) { + struct tb_port *port; - /* Now disable lane 1 if bonding was not enabled */ - port = tb_port_at(xd->route, tb_xdomain_parent(xd)); - if (!port->bonded) - tb_port_disable(port->dual_link_port); + port = tb_port_at(xd->route, tb_xdomain_parent(xd)); + if (!port->bonded) + tb_port_disable(port->dual_link_port); + } if (device_add(&xd->dev)) { dev_err(&xd->dev, "failed to add XDomain device\n"); --- linux-gcp-5.19.0.orig/drivers/tty/hvc/hvc_xen.c +++ linux-gcp-5.19.0/drivers/tty/hvc/hvc_xen.c @@ -52,17 +52,22 @@ static struct xencons_info *vtermno_to_xencons(int vtermno) { - struct xencons_info *entry, *n, *ret = NULL; + struct xencons_info *entry, *ret = NULL; + unsigned long flags; - if (list_empty(&xenconsoles)) - return NULL; + spin_lock_irqsave(&xencons_lock, flags); + if (list_empty(&xenconsoles)) { + spin_unlock_irqrestore(&xencons_lock, flags); + return NULL; + } - list_for_each_entry_safe(entry, n, &xenconsoles, list) { + list_for_each_entry(entry, &xenconsoles, list) { if (entry->vtermno == vtermno) { ret = entry; break; } } + spin_unlock_irqrestore(&xencons_lock, flags); return ret; } @@ -223,7 +228,7 @@ { int r; uint64_t v = 0; - unsigned long gfn; + unsigned long gfn, flags; struct xencons_info *info; if (!xen_hvm_domain()) @@ -258,9 +263,9 @@ goto err; info->vtermno = HVC_COOKIE; - spin_lock(&xencons_lock); + spin_lock_irqsave(&xencons_lock, flags); list_add_tail(&info->list, &xenconsoles); - spin_unlock(&xencons_lock); + spin_unlock_irqrestore(&xencons_lock, flags); return 0; err: @@ -283,6 +288,7 @@ static int xen_pv_console_init(void) { struct xencons_info *info; + unsigned long flags; if (!xen_pv_domain()) return -ENODEV; @@ -299,9 +305,9 @@ /* already configured */ return 0; } - spin_lock(&xencons_lock); + spin_lock_irqsave(&xencons_lock, flags); xencons_info_pv_init(info, HVC_COOKIE); - spin_unlock(&xencons_lock); + spin_unlock_irqrestore(&xencons_lock, flags); return 0; } @@ -309,6 +315,7 @@ static int xen_initial_domain_console_init(void) { struct xencons_info *info; + unsigned long flags; if (!xen_initial_domain()) return -ENODEV; @@ -323,9 +330,9 @@ info->irq = bind_virq_to_irq(VIRQ_CONSOLE, 0, false); info->vtermno = HVC_COOKIE; - spin_lock(&xencons_lock); + spin_lock_irqsave(&xencons_lock, flags); list_add_tail(&info->list, &xenconsoles); - spin_unlock(&xencons_lock); + spin_unlock_irqrestore(&xencons_lock, flags); return 0; } @@ -380,10 +387,12 @@ static int xen_console_remove(struct xencons_info *info) { + unsigned long flags; + xencons_disconnect_backend(info); - spin_lock(&xencons_lock); + spin_lock_irqsave(&xencons_lock, flags); list_del(&info->list); - spin_unlock(&xencons_lock); + spin_unlock_irqrestore(&xencons_lock, flags); if (info->xbdev != NULL) xencons_free(info); else { @@ -464,6 +473,7 @@ { int ret, devid; struct xencons_info *info; + unsigned long flags; devid = dev->nodename[strlen(dev->nodename) - 1] - '0'; if (devid == 0) @@ -482,9 +492,9 @@ ret = xencons_connect_backend(dev, info); if (ret < 0) goto error; - spin_lock(&xencons_lock); + spin_lock_irqsave(&xencons_lock, flags); list_add_tail(&info->list, &xenconsoles); - spin_unlock(&xencons_lock); + spin_unlock_irqrestore(&xencons_lock, flags); return 0; @@ -584,10 +594,12 @@ info->hvc = hvc_alloc(HVC_COOKIE, info->irq, ops, 256); if (IS_ERR(info->hvc)) { + unsigned long flags; + r = PTR_ERR(info->hvc); - spin_lock(&xencons_lock); + spin_lock_irqsave(&xencons_lock, flags); list_del(&info->list); - spin_unlock(&xencons_lock); + spin_unlock_irqrestore(&xencons_lock, flags); if (info->irq) unbind_from_irqhandler(info->irq, NULL); kfree(info); --- linux-gcp-5.19.0.orig/drivers/tty/n_gsm.c +++ linux-gcp-5.19.0/drivers/tty/n_gsm.c @@ -5,6 +5,14 @@ * * * THIS IS A DEVELOPMENT SNAPSHOT IT IS NOT A FINAL RELEASE * * + * Outgoing path: + * tty -> DLCI fifo -> scheduler -> GSM MUX data queue ---o-> ldisc + * control message -> GSM MUX control queue --´ + * + * Incoming path: + * ldisc -> gsm_queue() -o--> tty + * `-> gsm_control_response() + * * TO DO: * Mostly done: ioctls for setting modes/timing * Partly done: hooks so you can pull off frames to non tty devs @@ -210,6 +218,9 @@ /* Events on the GSM channel */ wait_queue_head_t event; + /* ldisc send work */ + struct work_struct tx_work; + /* Bits for GSM mode decoding */ /* Framing Layer */ @@ -235,14 +246,17 @@ struct gsm_dlci *dlci[NUM_DLCI]; int old_c_iflag; /* termios c_iflag value before attach */ bool constipated; /* Asked by remote to shut up */ + bool has_devices; /* Devices were registered */ spinlock_t tx_lock; unsigned int tx_bytes; /* TX data outstanding */ #define TX_THRESH_HI 8192 #define TX_THRESH_LO 2048 - struct list_head tx_list; /* Pending data packets */ + struct list_head tx_ctrl_list; /* Pending control packets */ + struct list_head tx_data_list; /* Pending data packets */ /* Control messages */ + struct timer_list kick_timer; /* Kick TX queuing on timeout */ struct timer_list t2_timer; /* Retransmit timer for commands */ int cretries; /* Command retry counter */ struct gsm_control *pending_cmd;/* Our current pending command */ @@ -369,6 +383,11 @@ static int gsmld_output(struct gsm_mux *gsm, u8 *data, int len); static int gsm_modem_update(struct gsm_dlci *dlci, u8 brk); +static struct gsm_msg *gsm_data_alloc(struct gsm_mux *gsm, u8 addr, int len, + u8 ctrl); +static int gsm_send_packet(struct gsm_mux *gsm, struct gsm_msg *msg); +static void gsmld_write_trigger(struct gsm_mux *gsm); +static void gsmld_write_task(struct work_struct *work); /** * gsm_fcs_add - update FCS @@ -420,6 +439,27 @@ } /** + * gsm_read_ea_val - read a value until EA + * @val: variable holding value + * @data: buffer of data + * @dlen: length of data + * + * Processes an EA value. Updates the passed variable and + * returns the processed data length. + */ +static unsigned int gsm_read_ea_val(unsigned int *val, const u8 *data, int dlen) +{ + unsigned int len = 0; + + for (; dlen > 0; dlen--) { + len++; + if (gsm_read_ea(val, *data++)) + break; + } + return len; +} + +/** * gsm_encode_modem - encode modem data bits * @dlci: DLCI to encode from * @@ -464,6 +504,68 @@ } /** + * gsm_register_devices - register all tty devices for a given mux index + * + * @driver: the tty driver that describes the tty devices + * @index: the mux number is used to calculate the minor numbers of the + * ttys for this mux and may differ from the position in the + * mux array. + */ +static int gsm_register_devices(struct tty_driver *driver, unsigned int index) +{ + struct device *dev; + int i; + unsigned int base; + + if (!driver || index >= MAX_MUX) + return -EINVAL; + + base = index * NUM_DLCI; /* first minor for this index */ + for (i = 1; i < NUM_DLCI; i++) { + /* Don't register device 0 - this is the control channel + * and not a usable tty interface + */ + dev = tty_register_device(gsm_tty_driver, base + i, NULL); + if (IS_ERR(dev)) { + if (debug & 8) + pr_info("%s failed to register device minor %u", + __func__, base + i); + for (i--; i >= 1; i--) + tty_unregister_device(gsm_tty_driver, base + i); + return PTR_ERR(dev); + } + } + + return 0; +} + +/** + * gsm_unregister_devices - unregister all tty devices for a given mux index + * + * @driver: the tty driver that describes the tty devices + * @index: the mux number is used to calculate the minor numbers of the + * ttys for this mux and may differ from the position in the + * mux array. + */ +static void gsm_unregister_devices(struct tty_driver *driver, + unsigned int index) +{ + int i; + unsigned int base; + + if (!driver || index >= MAX_MUX) + return; + + base = index * NUM_DLCI; /* first minor for this index */ + for (i = 1; i < NUM_DLCI; i++) { + /* Don't unregister device 0 - this is the control + * channel and not a usable tty interface + */ + tty_unregister_device(gsm_tty_driver, base + i); + } +} + +/** * gsm_print_packet - display a frame for debug * @hdr: header to print before decode * @addr: address EA from the frame @@ -570,57 +672,73 @@ * @cr: command/response bit seen as initiator * @control: control byte including PF bit * - * Format up and transmit a control frame. These do not go via the - * queueing logic as they should be transmitted ahead of data when - * they are needed. - * - * FIXME: Lock versus data TX path + * Format up and transmit a control frame. These should be transmitted + * ahead of data when they are needed. */ - -static void gsm_send(struct gsm_mux *gsm, int addr, int cr, int control) +static int gsm_send(struct gsm_mux *gsm, int addr, int cr, int control) { - int len; - u8 cbuf[10]; - u8 ibuf[3]; + struct gsm_msg *msg; + u8 *dp; int ocr; + unsigned long flags; + + msg = gsm_data_alloc(gsm, addr, 0, control); + if (!msg) + return -ENOMEM; /* toggle C/R coding if not initiator */ ocr = cr ^ (gsm->initiator ? 0 : 1); - switch (gsm->encoding) { - case 0: - cbuf[0] = GSM0_SOF; - cbuf[1] = (addr << 2) | (ocr << 1) | EA; - cbuf[2] = control; - cbuf[3] = EA; /* Length of data = 0 */ - cbuf[4] = 0xFF - gsm_fcs_add_block(INIT_FCS, cbuf + 1, 3); - cbuf[5] = GSM0_SOF; - len = 6; - break; - case 1: - case 2: - /* Control frame + packing (but not frame stuffing) in mode 1 */ - ibuf[0] = (addr << 2) | (ocr << 1) | EA; - ibuf[1] = control; - ibuf[2] = 0xFF - gsm_fcs_add_block(INIT_FCS, ibuf, 2); - /* Stuffing may double the size worst case */ - len = gsm_stuff_frame(ibuf, cbuf + 1, 3); - /* Now add the SOF markers */ - cbuf[0] = GSM1_SOF; - cbuf[len + 1] = GSM1_SOF; - /* FIXME: we can omit the lead one in many cases */ - len += 2; - break; - default: - WARN_ON(1); - return; - } - gsmld_output(gsm, cbuf, len); - if (!gsm->initiator) { - cr = cr & gsm->initiator; - control = control & ~PF; + msg->data -= 3; + dp = msg->data; + *dp++ = (addr << 2) | (ocr << 1) | EA; + *dp++ = control; + + if (gsm->encoding == 0) + *dp++ = EA; /* Length of data = 0 */ + + *dp = 0xFF - gsm_fcs_add_block(INIT_FCS, msg->data, dp - msg->data); + msg->len = (dp - msg->data) + 1; + + gsm_print_packet("Q->", addr, cr, control, NULL, 0); + + spin_lock_irqsave(&gsm->tx_lock, flags); + list_add_tail(&msg->list, &gsm->tx_ctrl_list); + gsm->tx_bytes += msg->len; + spin_unlock_irqrestore(&gsm->tx_lock, flags); + gsmld_write_trigger(gsm); + + return 0; +} + +/** + * gsm_dlci_clear_queues - remove outstanding data for a DLCI + * @gsm: mux + * @dlci: clear for this DLCI + * + * Clears the data queues for a given DLCI. + */ +static void gsm_dlci_clear_queues(struct gsm_mux *gsm, struct gsm_dlci *dlci) +{ + struct gsm_msg *msg, *nmsg; + int addr = dlci->addr; + unsigned long flags; + + /* Clear DLCI write fifo first */ + spin_lock_irqsave(&dlci->lock, flags); + kfifo_reset(&dlci->fifo); + spin_unlock_irqrestore(&dlci->lock, flags); + + /* Clear data packets in MUX write queue */ + spin_lock_irqsave(&gsm->tx_lock, flags); + list_for_each_entry_safe(msg, nmsg, &gsm->tx_data_list, list) { + if (msg->addr != addr) + continue; + gsm->tx_bytes -= msg->len; + list_del(&msg->list); + kfree(msg); } - gsm_print_packet("-->", addr, cr, control, NULL, 0); + spin_unlock_irqrestore(&gsm->tx_lock, flags); } /** @@ -683,59 +801,151 @@ } /** - * gsm_data_kick - poke the queue + * gsm_send_packet - sends a single packet * @gsm: GSM Mux - * @dlci: DLCI sending the data + * @msg: packet to send * - * The tty device has called us to indicate that room has appeared in - * the transmit queue. Ram more data into the pipe if we have any - * If we have been flow-stopped by a CMD_FCOFF, then we can only - * send messages on DLCI0 until CMD_FCON + * The given packet is encoded and sent out. No memory is freed. + * The caller must hold the gsm tx lock. + */ +static int gsm_send_packet(struct gsm_mux *gsm, struct gsm_msg *msg) +{ + int len, ret; + + + if (gsm->encoding == 0) { + gsm->txframe[0] = GSM0_SOF; + memcpy(gsm->txframe + 1, msg->data, msg->len); + gsm->txframe[msg->len + 1] = GSM0_SOF; + len = msg->len + 2; + } else { + gsm->txframe[0] = GSM1_SOF; + len = gsm_stuff_frame(msg->data, gsm->txframe + 1, msg->len); + gsm->txframe[len + 1] = GSM1_SOF; + len += 2; + } + + if (debug & 4) + gsm_hex_dump_bytes(__func__, gsm->txframe, len); + gsm_print_packet("-->", msg->addr, gsm->initiator, msg->ctrl, msg->data, + msg->len); + + ret = gsmld_output(gsm, gsm->txframe, len); + if (ret <= 0) + return ret; + /* FIXME: Can eliminate one SOF in many more cases */ + gsm->tx_bytes -= msg->len; + + return 0; +} + +/** + * gsm_is_flow_ctrl_msg - checks if flow control message + * @msg: message to check * - * FIXME: lock against link layer control transmissions + * Returns true if the given message is a flow control command of the + * control channel. False is returned in any other case. */ +static bool gsm_is_flow_ctrl_msg(struct gsm_msg *msg) +{ + unsigned int cmd; + + if (msg->addr > 0) + return false; + + switch (msg->ctrl & ~PF) { + case UI: + case UIH: + cmd = 0; + if (gsm_read_ea_val(&cmd, msg->data + 2, msg->len - 2) < 1) + break; + switch (cmd & ~PF) { + case CMD_FCOFF: + case CMD_FCON: + return true; + } + break; + } + + return false; +} -static void gsm_data_kick(struct gsm_mux *gsm, struct gsm_dlci *dlci) +/** + * gsm_data_kick - poke the queue + * @gsm: GSM Mux + * + * The tty device has called us to indicate that room has appeared in + * the transmit queue. Ram more data into the pipe if we have any. + * If we have been flow-stopped by a CMD_FCOFF, then we can only + * send messages on DLCI0 until CMD_FCON. The caller must hold + * the gsm tx lock. + */ +static int gsm_data_kick(struct gsm_mux *gsm) { struct gsm_msg *msg, *nmsg; - int len; + struct gsm_dlci *dlci; + int ret; - list_for_each_entry_safe(msg, nmsg, &gsm->tx_list, list) { - if (gsm->constipated && msg->addr) - continue; - if (gsm->encoding != 0) { - gsm->txframe[0] = GSM1_SOF; - len = gsm_stuff_frame(msg->data, - gsm->txframe + 1, msg->len); - gsm->txframe[len + 1] = GSM1_SOF; - len += 2; - } else { - gsm->txframe[0] = GSM0_SOF; - memcpy(gsm->txframe + 1 , msg->data, msg->len); - gsm->txframe[msg->len + 1] = GSM0_SOF; - len = msg->len + 2; - } + clear_bit(TTY_DO_WRITE_WAKEUP, &gsm->tty->flags); - if (debug & 4) - gsm_hex_dump_bytes(__func__, gsm->txframe, len); - if (gsmld_output(gsm, gsm->txframe, len) <= 0) + /* Serialize control messages and control channel messages first */ + list_for_each_entry_safe(msg, nmsg, &gsm->tx_ctrl_list, list) { + if (gsm->constipated && !gsm_is_flow_ctrl_msg(msg)) + continue; + ret = gsm_send_packet(gsm, msg); + switch (ret) { + case -ENOSPC: + return -ENOSPC; + case -ENODEV: + /* ldisc not open */ + gsm->tx_bytes -= msg->len; + list_del(&msg->list); + kfree(msg); + continue; + default: + if (ret >= 0) { + list_del(&msg->list); + kfree(msg); + } break; - /* FIXME: Can eliminate one SOF in many more cases */ - gsm->tx_bytes -= msg->len; - - list_del(&msg->list); - kfree(msg); + } + } - if (dlci) { - tty_port_tty_wakeup(&dlci->port); - } else { - int i = 0; + if (gsm->constipated) + return -EAGAIN; - for (i = 0; i < NUM_DLCI; i++) - if (gsm->dlci[i]) - tty_port_tty_wakeup(&gsm->dlci[i]->port); + /* Serialize other channels */ + if (list_empty(&gsm->tx_data_list)) + return 0; + list_for_each_entry_safe(msg, nmsg, &gsm->tx_data_list, list) { + dlci = gsm->dlci[msg->addr]; + /* Send only messages for DLCIs with valid state */ + if (dlci->state != DLCI_OPEN) { + gsm->tx_bytes -= msg->len; + list_del(&msg->list); + kfree(msg); + continue; + } + ret = gsm_send_packet(gsm, msg); + switch (ret) { + case -ENOSPC: + return -ENOSPC; + case -ENODEV: + /* ldisc not open */ + gsm->tx_bytes -= msg->len; + list_del(&msg->list); + kfree(msg); + continue; + default: + if (ret >= 0) { + list_del(&msg->list); + kfree(msg); + } + break; } } + + return 1; } /** @@ -784,9 +994,22 @@ msg->data = dp; /* Add to the actual output queue */ - list_add_tail(&msg->list, &gsm->tx_list); + switch (msg->ctrl & ~PF) { + case UI: + case UIH: + if (msg->addr > 0) { + list_add_tail(&msg->list, &gsm->tx_data_list); + break; + } + fallthrough; + default: + list_add_tail(&msg->list, &gsm->tx_ctrl_list); + break; + } gsm->tx_bytes += msg->len; - gsm_data_kick(gsm, dlci); + + gsmld_write_trigger(gsm); + mod_timer(&gsm->kick_timer, jiffies + 10 * gsm->t1 * HZ / 100); } /** @@ -823,41 +1046,48 @@ { struct gsm_msg *msg; u8 *dp; - int len, total_size, size; - int h = dlci->adaption - 1; + int h, len, size; - total_size = 0; - while (1) { - len = kfifo_len(&dlci->fifo); - if (len == 0) - return total_size; + /* for modem bits without break data */ + h = ((dlci->adaption == 1) ? 0 : 1); - /* MTU/MRU count only the data bits */ - if (len > gsm->mtu) - len = gsm->mtu; - - size = len + h; - - msg = gsm_data_alloc(gsm, dlci->addr, size, gsm->ftype); - /* FIXME: need a timer or something to kick this so it can't - get stuck with no work outstanding and no buffer free */ - if (msg == NULL) - return -ENOMEM; - dp = msg->data; - switch (dlci->adaption) { - case 1: /* Unstructured */ - break; - case 2: /* Unstructed with modem bits. - Always one byte as we never send inline break data */ - *dp++ = (gsm_encode_modem(dlci) << 1) | EA; - break; - } - WARN_ON(kfifo_out_locked(&dlci->fifo, dp , len, &dlci->lock) != len); - __gsm_data_queue(dlci, msg); - total_size += size; + len = kfifo_len(&dlci->fifo); + if (len == 0) + return 0; + + /* MTU/MRU count only the data bits but watch adaption mode */ + if ((len + h) > gsm->mtu) + len = gsm->mtu - h; + + size = len + h; + + msg = gsm_data_alloc(gsm, dlci->addr, size, gsm->ftype); + if (!msg) + return -ENOMEM; + dp = msg->data; + switch (dlci->adaption) { + case 1: /* Unstructured */ + break; + case 2: /* Unstructured with modem bits. + * Always one byte as we never send inline break data + */ + *dp++ = (gsm_encode_modem(dlci) << 1) | EA; + break; + default: + pr_err("%s: unsupported adaption %d\n", __func__, + dlci->adaption); + break; } + + WARN_ON(len != kfifo_out_locked(&dlci->fifo, dp, len, + &dlci->lock)); + + /* Notify upper layer about available send space. */ + tty_port_tty_wakeup(&dlci->port); + + __gsm_data_queue(dlci, msg); /* Bytes of data we used up */ - return total_size; + return size; } /** @@ -908,9 +1138,6 @@ size = len + overhead; msg = gsm_data_alloc(gsm, dlci->addr, size, gsm->ftype); - - /* FIXME: need a timer or something to kick this so it can't - get stuck with no work outstanding and no buffer free */ if (msg == NULL) { skb_queue_tail(&dlci->skb_list, dlci->skb); dlci->skb = NULL; @@ -1006,32 +1233,43 @@ * renegotiate DLCI priorities with optional stuff. Needs optimising. */ -static void gsm_dlci_data_sweep(struct gsm_mux *gsm) +static int gsm_dlci_data_sweep(struct gsm_mux *gsm) { - int len; /* Priority ordering: We should do priority with RR of the groups */ - int i = 1; - - while (i < NUM_DLCI) { - struct gsm_dlci *dlci; + int i, len, ret = 0; + bool sent; + struct gsm_dlci *dlci; - if (gsm->tx_bytes > TX_THRESH_HI) - break; - dlci = gsm->dlci[i]; - if (dlci == NULL || dlci->constipated) { - i++; - continue; + while (gsm->tx_bytes < TX_THRESH_HI) { + for (sent = false, i = 1; i < NUM_DLCI; i++) { + dlci = gsm->dlci[i]; + /* skip unused or blocked channel */ + if (!dlci || dlci->constipated) + continue; + /* skip channels with invalid state */ + if (dlci->state != DLCI_OPEN) + continue; + /* count the sent data per adaption */ + if (dlci->adaption < 3 && !dlci->net) + len = gsm_dlci_data_output(gsm, dlci); + else + len = gsm_dlci_data_output_framed(gsm, dlci); + /* on error exit */ + if (len < 0) + return ret; + if (len > 0) { + ret++; + sent = true; + /* The lower DLCs can starve the higher DLCs! */ + break; + } + /* try next */ } - if (dlci->adaption < 3 && !dlci->net) - len = gsm_dlci_data_output(gsm, dlci); - else - len = gsm_dlci_data_output_framed(gsm, dlci); - if (len < 0) + if (!sent) break; - /* DLCI empty - try the next */ - if (len == 0) - i++; - } + }; + + return ret; } /** @@ -1277,7 +1515,6 @@ const u8 *data, int clen) { u8 buf[1]; - unsigned long flags; switch (command) { case CMD_CLD: { @@ -1299,9 +1536,7 @@ gsm->constipated = false; gsm_control_reply(gsm, CMD_FCON, NULL, 0); /* Kick the link in case it is idling */ - spin_lock_irqsave(&gsm->tx_lock, flags); - gsm_data_kick(gsm, NULL); - spin_unlock_irqrestore(&gsm->tx_lock, flags); + gsmld_write_trigger(gsm); break; case CMD_FCOFF: /* Modem wants us to STFU */ @@ -1407,7 +1642,7 @@ spin_lock_irqsave(&gsm->control_lock, flags); ctrl = gsm->pending_cmd; if (ctrl) { - if (gsm->cretries == 0) { + if (gsm->cretries == 0 || !gsm->dlci[0] || gsm->dlci[0]->dead) { gsm->pending_cmd = NULL; ctrl->error = -ETIMEDOUT; ctrl->done = 1; @@ -1438,7 +1673,7 @@ unsigned int command, u8 *data, int clen) { struct gsm_control *ctrl = kzalloc(sizeof(struct gsm_control), - GFP_KERNEL); + GFP_ATOMIC); unsigned long flags; if (ctrl == NULL) return NULL; @@ -1504,25 +1739,24 @@ static void gsm_dlci_close(struct gsm_dlci *dlci) { - unsigned long flags; - del_timer(&dlci->t1); if (debug & 8) pr_debug("DLCI %d goes closed.\n", dlci->addr); dlci->state = DLCI_CLOSED; + /* Prevent us from sending data before the link is up again */ + dlci->constipated = true; if (dlci->addr != 0) { tty_port_tty_hangup(&dlci->port, false); - spin_lock_irqsave(&dlci->lock, flags); - kfifo_reset(&dlci->fifo); - spin_unlock_irqrestore(&dlci->lock, flags); + gsm_dlci_clear_queues(dlci->gsm, dlci); /* Ensure that gsmtty_open() can return. */ tty_port_set_initialized(&dlci->port, 0); wake_up_interruptible(&dlci->port.open_wait); } else dlci->gsm->dead = true; - wake_up(&dlci->gsm->event); /* A DLCI 0 close is a MUX termination so we need to kick that back to userspace somehow */ + gsm_dlci_data_kick(dlci); + wake_up(&dlci->gsm->event); } /** @@ -1539,11 +1773,13 @@ del_timer(&dlci->t1); /* This will let a tty open continue */ dlci->state = DLCI_OPEN; + dlci->constipated = false; if (debug & 8) pr_debug("DLCI %d goes open.\n", dlci->addr); /* Send current modem state */ if (dlci->addr) gsm_modem_update(dlci, 0); + gsm_dlci_data_kick(dlci); wake_up(&dlci->gsm->event); } @@ -1569,8 +1805,8 @@ switch (dlci->state) { case DLCI_OPENING: - dlci->retries--; if (dlci->retries) { + dlci->retries--; gsm_command(dlci->gsm, dlci->addr, SABM|PF); mod_timer(&dlci->t1, jiffies + gsm->t1 * HZ / 100); } else if (!dlci->addr && gsm->control == (DM | PF)) { @@ -1585,8 +1821,8 @@ break; case DLCI_CLOSING: - dlci->retries--; if (dlci->retries) { + dlci->retries--; gsm_command(dlci->gsm, dlci->addr, DISC|PF); mod_timer(&dlci->t1, jiffies + gsm->t1 * HZ / 100); } else @@ -1620,6 +1856,25 @@ } /** + * gsm_dlci_set_opening - change state to opening + * @dlci: DLCI to open + * + * Change internal state to wait for DLCI open from initiator side. + * We set off timers and responses upon reception of an SABM. + */ +static void gsm_dlci_set_opening(struct gsm_dlci *dlci) +{ + switch (dlci->state) { + case DLCI_CLOSED: + case DLCI_CLOSING: + dlci->state = DLCI_OPENING; + break; + default: + break; + } +} + +/** * gsm_dlci_begin_close - start channel open procedure * @dlci: DLCI to open * @@ -1728,6 +1983,30 @@ } } +/** + * gsm_kick_timer - transmit if possible + * @t: timer contained in our gsm object + * + * Transmit data from DLCIs if the queue is empty. We can't rely on + * a tty wakeup except when we filled the pipe so we need to fire off + * new data ourselves in other cases. + */ +static void gsm_kick_timer(struct timer_list *t) +{ + struct gsm_mux *gsm = from_timer(gsm, t, kick_timer); + unsigned long flags; + int sent = 0; + + spin_lock_irqsave(&gsm->tx_lock, flags); + /* If we have nothing running then we need to fire up */ + if (gsm->tx_bytes < TX_THRESH_LO) + sent = gsm_dlci_data_sweep(gsm); + spin_unlock_irqrestore(&gsm->tx_lock, flags); + + if (sent && debug & 4) + pr_info("%s TX queue stalled\n", __func__); +} + /* * Allocate/Free DLCI channels */ @@ -1762,10 +2041,13 @@ dlci->addr = addr; dlci->adaption = gsm->adaption; dlci->state = DLCI_CLOSED; - if (addr) + if (addr) { dlci->data = gsm_dlci_data; - else + /* Prevent us from sending data before the link is up */ + dlci->constipated = true; + } else { dlci->data = gsm_dlci_command; + } gsm->dlci[addr] = dlci; return dlci; } @@ -1925,7 +2207,7 @@ case UIH: case UIH|PF: if (dlci == NULL || dlci->state != DLCI_OPEN) { - gsm_command(gsm, address, DM|PF); + gsm_response(gsm, address, DM|PF); return; } dlci->data(dlci, gsm->buf, gsm->len); @@ -2048,7 +2330,7 @@ } else if ((c & ISO_IEC_646_MASK) == XOFF) { gsm->constipated = false; /* Kick the link in case it is idling */ - gsm_data_kick(gsm, NULL); + gsmld_write_trigger(gsm); return; } if (c == GSM1_SOF) { @@ -2176,18 +2458,29 @@ } /* Finish outstanding timers, making sure they are done */ + del_timer_sync(&gsm->kick_timer); del_timer_sync(&gsm->t2_timer); + /* Finish writing to ldisc */ + flush_work(&gsm->tx_work); + /* Free up any link layer users and finally the control channel */ + if (gsm->has_devices) { + gsm_unregister_devices(gsm_tty_driver, gsm->num); + gsm->has_devices = false; + } for (i = NUM_DLCI - 1; i >= 0; i--) if (gsm->dlci[i]) gsm_dlci_release(gsm->dlci[i]); mutex_unlock(&gsm->mutex); /* Now wipe the queues */ tty_ldisc_flush(gsm->tty); - list_for_each_entry_safe(txq, ntxq, &gsm->tx_list, list) + list_for_each_entry_safe(txq, ntxq, &gsm->tx_ctrl_list, list) kfree(txq); - INIT_LIST_HEAD(&gsm->tx_list); + INIT_LIST_HEAD(&gsm->tx_ctrl_list); + list_for_each_entry_safe(txq, ntxq, &gsm->tx_data_list, list) + kfree(txq); + INIT_LIST_HEAD(&gsm->tx_data_list); } /** @@ -2202,20 +2495,22 @@ static int gsm_activate_mux(struct gsm_mux *gsm) { struct gsm_dlci *dlci; + int ret; - timer_setup(&gsm->t2_timer, gsm_control_retransmit, 0); - init_waitqueue_head(&gsm->event); - spin_lock_init(&gsm->control_lock); - spin_lock_init(&gsm->tx_lock); + dlci = gsm_dlci_alloc(gsm, 0); + if (dlci == NULL) + return -ENOMEM; if (gsm->encoding == 0) gsm->receive = gsm0_receive; else gsm->receive = gsm1_receive; - dlci = gsm_dlci_alloc(gsm, 0); - if (dlci == NULL) - return -ENOMEM; + ret = gsm_register_devices(gsm_tty_driver, gsm->num); + if (ret) + return ret; + + gsm->has_devices = true; gsm->dead = false; /* Tty opens are now permissible */ return 0; } @@ -2308,7 +2603,14 @@ spin_lock_init(&gsm->lock); mutex_init(&gsm->mutex); kref_init(&gsm->ref); - INIT_LIST_HEAD(&gsm->tx_list); + INIT_LIST_HEAD(&gsm->tx_ctrl_list); + INIT_LIST_HEAD(&gsm->tx_data_list); + timer_setup(&gsm->kick_timer, gsm_kick_timer, 0); + timer_setup(&gsm->t2_timer, gsm_control_retransmit, 0); + INIT_WORK(&gsm->tx_work, gsmld_write_task); + init_waitqueue_head(&gsm->event); + spin_lock_init(&gsm->control_lock); + spin_lock_init(&gsm->tx_lock); gsm->t1 = T1; gsm->t2 = T2; @@ -2465,6 +2767,47 @@ return gsm->tty->ops->write(gsm->tty, data, len); } + +/** + * gsmld_write_trigger - schedule ldisc write task + * @gsm: our mux + */ +static void gsmld_write_trigger(struct gsm_mux *gsm) +{ + if (!gsm || !gsm->dlci[0] || gsm->dlci[0]->dead) + return; + schedule_work(&gsm->tx_work); +} + + +/** + * gsmld_write_task - ldisc write task + * @work: our tx write work + * + * Writes out data to the ldisc if possible. We are doing this here to + * avoid dead-locking. This returns if no space or data is left for output. + */ +static void gsmld_write_task(struct work_struct *work) +{ + struct gsm_mux *gsm = container_of(work, struct gsm_mux, tx_work); + unsigned long flags; + int i, ret; + + /* All outstanding control channel and control messages and one data + * frame is sent. + */ + ret = -ENODEV; + spin_lock_irqsave(&gsm->tx_lock, flags); + if (gsm->tty) + ret = gsm_data_kick(gsm); + spin_unlock_irqrestore(&gsm->tx_lock, flags); + + if (ret >= 0) + for (i = 0; i < NUM_DLCI; i++) + if (gsm->dlci[i]) + tty_port_tty_wakeup(&gsm->dlci[i]->port); +} + /** * gsmld_attach_gsm - mode set up * @tty: our tty structure @@ -2475,39 +2818,14 @@ * will need moving to an ioctl path. */ -static int gsmld_attach_gsm(struct tty_struct *tty, struct gsm_mux *gsm) +static void gsmld_attach_gsm(struct tty_struct *tty, struct gsm_mux *gsm) { - unsigned int base; - int ret, i; - gsm->tty = tty_kref_get(tty); /* Turn off tty XON/XOFF handling to handle it explicitly. */ gsm->old_c_iflag = tty->termios.c_iflag; tty->termios.c_iflag &= (IXON | IXOFF); - ret = gsm_activate_mux(gsm); - if (ret != 0) - tty_kref_put(gsm->tty); - else { - /* Don't register device 0 - this is the control channel and not - a usable tty interface */ - base = mux_num_to_base(gsm); /* Base for this MUX */ - for (i = 1; i < NUM_DLCI; i++) { - struct device *dev; - - dev = tty_register_device(gsm_tty_driver, - base + i, NULL); - if (IS_ERR(dev)) { - for (i--; i >= 1; i--) - tty_unregister_device(gsm_tty_driver, - base + i); - return PTR_ERR(dev); - } - } - } - return ret; } - /** * gsmld_detach_gsm - stop doing 0710 mux * @tty: tty attached to the mux @@ -2518,12 +2836,7 @@ static void gsmld_detach_gsm(struct tty_struct *tty, struct gsm_mux *gsm) { - unsigned int base = mux_num_to_base(gsm); /* Base for this MUX */ - int i; - WARN_ON(tty != gsm->tty); - for (i = 1; i < NUM_DLCI; i++) - tty_unregister_device(gsm_tty_driver, base + i); /* Restore tty XON/XOFF handling. */ gsm->tty->termios.c_iflag = gsm->old_c_iflag; tty_kref_put(gsm->tty); @@ -2544,7 +2857,8 @@ flags = *fp++; switch (flags) { case TTY_NORMAL: - gsm->receive(gsm, *cp); + if (gsm->receive) + gsm->receive(gsm, *cp); break; case TTY_OVERRUN: case TTY_BREAK: @@ -2615,7 +2929,6 @@ static int gsmld_open(struct tty_struct *tty) { struct gsm_mux *gsm; - int ret; if (tty->ops->write == NULL) return -EINVAL; @@ -2631,12 +2944,9 @@ /* Attach the initial passive connection */ gsm->encoding = 1; - ret = gsmld_attach_gsm(tty, gsm); - if (ret != 0) { - gsm_cleanup_mux(gsm, false); - mux_put(gsm); - } - return ret; + gsmld_attach_gsm(tty, gsm); + + return 0; } /** @@ -2651,16 +2961,9 @@ static void gsmld_write_wakeup(struct tty_struct *tty) { struct gsm_mux *gsm = tty->disc_data; - unsigned long flags; /* Queue poll */ - clear_bit(TTY_DO_WRITE_WAKEUP, &tty->flags); - spin_lock_irqsave(&gsm->tx_lock, flags); - gsm_data_kick(gsm, NULL); - if (gsm->tx_bytes < TX_THRESH_LO) { - gsm_dlci_data_sweep(gsm); - } - spin_unlock_irqrestore(&gsm->tx_lock, flags); + gsmld_write_trigger(gsm); } /** @@ -2704,11 +3007,24 @@ static ssize_t gsmld_write(struct tty_struct *tty, struct file *file, const unsigned char *buf, size_t nr) { - int space = tty_write_room(tty); + struct gsm_mux *gsm = tty->disc_data; + unsigned long flags; + int space; + int ret; + + if (!gsm) + return -ENODEV; + + ret = -ENOBUFS; + spin_lock_irqsave(&gsm->tx_lock, flags); + space = tty_write_room(tty); if (space >= nr) - return tty->ops->write(tty, buf, nr); - set_bit(TTY_DO_WRITE_WAKEUP, &tty->flags); - return -ENOBUFS; + ret = tty->ops->write(tty, buf, nr); + else + set_bit(TTY_DO_WRITE_WAKEUP, &tty->flags); + spin_unlock_irqrestore(&gsm->tx_lock, flags); + + return ret; } /** @@ -2733,12 +3049,15 @@ poll_wait(file, &tty->read_wait, wait); poll_wait(file, &tty->write_wait, wait); + + if (gsm->dead) + mask |= EPOLLHUP; if (tty_hung_up_p(file)) mask |= EPOLLHUP; + if (test_bit(TTY_OTHER_CLOSED, &tty->flags)) + mask |= EPOLLHUP; if (!tty_is_writelocked(tty) && tty_write_room(tty) > 0) mask |= EPOLLOUT | EPOLLWRNORM; - if (gsm->dead) - mask |= EPOLLHUP; return mask; } @@ -3174,6 +3493,8 @@ /* Start sending off SABM messages */ if (gsm->initiator) gsm_dlci_begin_open(dlci); + else + gsm_dlci_set_opening(dlci); /* And wait for virtual carrier */ return tty_port_block_til_ready(port, tty, filp); } --- linux-gcp-5.19.0.orig/drivers/tty/serial/8250/8250.h +++ linux-gcp-5.19.0/drivers/tty/serial/8250/8250.h @@ -123,6 +123,26 @@ up->port.serial_out(&up->port, offset, value); } +/** + * serial_lsr_in - Read LSR register and preserve flags across reads + * @up: uart 8250 port + * + * Read LSR register and handle saving non-preserved flags across reads. + * The flags that are not preserved across reads are stored into + * up->lsr_saved_flags. + * + * Returns LSR value or'ed with the preserved flags (if any). + */ +static inline unsigned int serial_lsr_in(struct uart_8250_port *up) +{ + unsigned int lsr = up->lsr_saved_flags; + + lsr |= serial_in(up, UART_LSR); + up->lsr_saved_flags = lsr & LSR_SAVE_FLAGS; + + return lsr; +} + /* * For the 16C950 */ --- linux-gcp-5.19.0.orig/drivers/tty/serial/8250/8250_bcm2835aux.c +++ linux-gcp-5.19.0/drivers/tty/serial/8250/8250_bcm2835aux.c @@ -166,8 +166,10 @@ uartclk = clk_get_rate(data->clk); if (!uartclk) { ret = device_property_read_u32(&pdev->dev, "clock-frequency", &uartclk); - if (ret) - return dev_err_probe(&pdev->dev, ret, "could not get clk rate\n"); + if (ret) { + dev_err_probe(&pdev->dev, ret, "could not get clk rate\n"); + goto dis_clk; + } } /* the HW-clock divider for bcm2835aux is 8, --- linux-gcp-5.19.0.orig/drivers/tty/serial/8250/8250_bcm7271.c +++ linux-gcp-5.19.0/drivers/tty/serial/8250/8250_bcm7271.c @@ -1139,16 +1139,19 @@ struct brcmuart_priv *priv = dev_get_drvdata(dev); struct uart_8250_port *up = serial8250_get_port(priv->line); struct uart_port *port = &up->port; - - serial8250_suspend_port(priv->line); - clk_disable_unprepare(priv->baud_mux_clk); + unsigned long flags; /* * This will prevent resume from enabling RTS before the - * baud rate has been resored. + * baud rate has been restored. */ + spin_lock_irqsave(&port->lock, flags); priv->saved_mctrl = port->mctrl; - port->mctrl = 0; + port->mctrl &= ~TIOCM_RTS; + spin_unlock_irqrestore(&port->lock, flags); + + serial8250_suspend_port(priv->line); + clk_disable_unprepare(priv->baud_mux_clk); return 0; } @@ -1158,6 +1161,7 @@ struct brcmuart_priv *priv = dev_get_drvdata(dev); struct uart_8250_port *up = serial8250_get_port(priv->line); struct uart_port *port = &up->port; + unsigned long flags; int ret; ret = clk_prepare_enable(priv->baud_mux_clk); @@ -1180,7 +1184,15 @@ start_rx_dma(serial8250_get_port(priv->line)); } serial8250_resume_port(priv->line); - port->mctrl = priv->saved_mctrl; + + if (priv->saved_mctrl & TIOCM_RTS) { + /* Restore RTS */ + spin_lock_irqsave(&port->lock, flags); + port->mctrl |= TIOCM_RTS; + port->ops->set_mctrl(port, port->mctrl); + spin_unlock_irqrestore(&port->lock, flags); + } + return 0; } @@ -1200,9 +1212,17 @@ static int __init brcmuart_init(void) { + int ret; + brcmuart_debugfs_root = debugfs_create_dir( brcmuart_platform_driver.driver.name, NULL); - return platform_driver_register(&brcmuart_platform_driver); + ret = platform_driver_register(&brcmuart_platform_driver); + if (ret) { + debugfs_remove_recursive(brcmuart_debugfs_root); + return ret; + } + + return 0; } module_init(brcmuart_init); --- linux-gcp-5.19.0.orig/drivers/tty/serial/8250/8250_core.c +++ linux-gcp-5.19.0/drivers/tty/serial/8250/8250_core.c @@ -277,8 +277,7 @@ * the "Diva" UART used on the management processor on many HP * ia64 and parisc boxes. */ - lsr = serial_in(up, UART_LSR); - up->lsr_saved_flags |= lsr & LSR_SAVE_FLAGS; + lsr = serial_lsr_in(up); if ((iir & UART_IIR_NO_INT) && (up->ier & UART_IER_THRI) && (!uart_circ_empty(&up->port.state->xmit) || up->port.x_char) && (lsr & UART_LSR_THRE)) { @@ -299,10 +298,9 @@ jiffies + uart_poll_timeout(&up->port) + HZ / 5); } -static int univ8250_setup_irq(struct uart_8250_port *up) +static void univ8250_setup_timer(struct uart_8250_port *up) { struct uart_port *port = &up->port; - int retval = 0; /* * The above check will only give an accurate result the first time @@ -323,10 +321,16 @@ */ if (!port->irq) mod_timer(&up->timer, jiffies + uart_poll_timeout(port)); - else - retval = serial_link_irq_chain(up); +} - return retval; +static int univ8250_setup_irq(struct uart_8250_port *up) +{ + struct uart_port *port = &up->port; + + if (port->irq) + return serial_link_irq_chain(up); + + return 0; } static void univ8250_release_irq(struct uart_8250_port *up) @@ -382,6 +386,7 @@ static const struct uart_8250_ops univ8250_driver_ops = { .setup_irq = univ8250_setup_irq, .release_irq = univ8250_release_irq, + .setup_timer = univ8250_setup_timer, }; static struct uart_8250_port serial8250_ports[UART_NR]; @@ -1008,6 +1013,7 @@ uart->port.throttle = up->port.throttle; uart->port.unthrottle = up->port.unthrottle; uart->port.rs485_config = up->port.rs485_config; + uart->port.rs485_supported = up->port.rs485_supported; uart->port.rs485 = up->port.rs485; uart->rs485_start_tx = up->rs485_start_tx; uart->rs485_stop_tx = up->rs485_stop_tx; --- linux-gcp-5.19.0.orig/drivers/tty/serial/8250/8250_dma.c +++ linux-gcp-5.19.0/drivers/tty/serial/8250/8250_dma.c @@ -46,19 +46,39 @@ struct uart_8250_dma *dma = p->dma; struct tty_port *tty_port = &p->port.state->port; struct dma_tx_state state; + enum dma_status dma_status; int count; - dma->rx_running = 0; - dmaengine_tx_status(dma->rxchan, dma->rx_cookie, &state); + /* + * New DMA Rx can be started during the completion handler before it + * could acquire port's lock and it might still be ongoing. Don't to + * anything in such case. + */ + dma_status = dmaengine_tx_status(dma->rxchan, dma->rx_cookie, &state); + if (dma_status == DMA_IN_PROGRESS) + return; count = dma->rx_size - state.residue; tty_insert_flip_string(tty_port, dma->rx_buf, count); p->port.icount.rx += count; + dma->rx_running = 0; tty_flip_buffer_push(tty_port); } +static void dma_rx_complete(void *param) +{ + struct uart_8250_port *p = param; + struct uart_8250_dma *dma = p->dma; + unsigned long flags; + + spin_lock_irqsave(&p->port.lock, flags); + if (dma->rx_running) + __dma_rx_complete(p); + spin_unlock_irqrestore(&p->port.lock, flags); +} + int serial8250_tx_dma(struct uart_8250_port *p) { struct uart_8250_dma *dma = p->dma; @@ -133,7 +153,7 @@ return -EBUSY; dma->rx_running = 1; - desc->callback = __dma_rx_complete; + desc->callback = dma_rx_complete; desc->callback_param = p; dma->rx_cookie = dmaengine_submit(desc); --- linux-gcp-5.19.0.orig/drivers/tty/serial/8250/8250_dw.c +++ linux-gcp-5.19.0/drivers/tty/serial/8250/8250_dw.c @@ -122,12 +122,15 @@ /* Returns once the transmitter is empty or we run out of retries */ static void dw8250_tx_wait_empty(struct uart_port *p) { + struct uart_8250_port *up = up_to_u8250p(p); unsigned int tries = 20000; unsigned int delay_threshold = tries - 1000; unsigned int lsr; while (tries--) { lsr = readb (p->membase + (UART_LSR << p->regshift)); + up->lsr_saved_flags |= lsr & LSR_SAVE_FLAGS; + if (lsr & UART_LSR_TEMT) break; @@ -253,7 +256,7 @@ */ if (!up->dma && rx_timeout) { spin_lock_irqsave(&p->lock, flags); - status = p->serial_in(p, UART_LSR); + status = serial_lsr_in(up); if (!(status & (UART_LSR_DR | UART_LSR_BI))) (void) p->serial_in(p, UART_RX); @@ -263,7 +266,10 @@ /* Manually stop the Rx DMA transfer when acting as flow controller */ if (quirks & DW_UART_QUIRK_IS_DMA_FC && up->dma && up->dma->rx_running && rx_timeout) { - status = p->serial_in(p, UART_LSR); + spin_lock_irqsave(&p->lock, flags); + status = serial_lsr_in(up); + spin_unlock_irqrestore(&p->lock, flags); + if (status & (UART_LSR_DR | UART_LSR_BI)) { dw8250_writel_ext(p, RZN1_UART_RDMACR, 0); dw8250_writel_ext(p, DW_UART_DMASA, 1); --- linux-gcp-5.19.0.orig/drivers/tty/serial/8250/8250_fsl.c +++ linux-gcp-5.19.0/drivers/tty/serial/8250/8250_fsl.c @@ -77,7 +77,7 @@ if ((lsr & UART_LSR_THRE) && (up->ier & UART_IER_THRI)) serial8250_tx_chars(up); - up->lsr_saved_flags = orig_lsr; + up->lsr_saved_flags |= orig_lsr & UART_LSR_BI; uart_unlock_and_check_sysrq_irqrestore(&up->port, flags); --- linux-gcp-5.19.0.orig/drivers/tty/serial/8250/8250_lpss.c +++ linux-gcp-5.19.0/drivers/tty/serial/8250/8250_lpss.c @@ -174,6 +174,8 @@ */ up->dma = dma; + lpss->dma_maxburst = 16; + port->set_termios = dw8250_do_set_termios; return 0; @@ -277,8 +279,13 @@ struct dw_dma_slave *rx_param, *tx_param; struct device *dev = port->port.dev; - if (!lpss->dma_param.dma_dev) + if (!lpss->dma_param.dma_dev) { + dma = port->dma; + if (dma) + goto out_configuration_only; + return 0; + } rx_param = devm_kzalloc(dev, sizeof(*rx_param), GFP_KERNEL); if (!rx_param) @@ -289,16 +296,18 @@ return -ENOMEM; *rx_param = lpss->dma_param; - dma->rxconf.src_maxburst = lpss->dma_maxburst; - *tx_param = lpss->dma_param; - dma->txconf.dst_maxburst = lpss->dma_maxburst; dma->fn = lpss8250_dma_filter; dma->rx_param = rx_param; dma->tx_param = tx_param; port->dma = dma; + +out_configuration_only: + dma->rxconf.src_maxburst = lpss->dma_maxburst; + dma->txconf.dst_maxburst = lpss->dma_maxburst; + return 0; } --- linux-gcp-5.19.0.orig/drivers/tty/serial/8250/8250_omap.c +++ linux-gcp-5.19.0/drivers/tty/serial/8250/8250_omap.c @@ -157,7 +157,11 @@ return readl(up->port.membase + (reg << up->port.regshift)); } -static void omap8250_set_mctrl(struct uart_port *port, unsigned int mctrl) +/* + * Called on runtime PM resume path from omap8250_restore_regs(), and + * omap8250_set_mctrl(). + */ +static void __omap8250_set_mctrl(struct uart_port *port, unsigned int mctrl) { struct uart_8250_port *up = up_to_u8250p(port); struct omap8250_priv *priv = up->port.private_data; @@ -181,6 +185,20 @@ } } +static void omap8250_set_mctrl(struct uart_port *port, unsigned int mctrl) +{ + int err; + + err = pm_runtime_resume_and_get(port->dev); + if (err) + return; + + __omap8250_set_mctrl(port, mctrl); + + pm_runtime_mark_last_busy(port->dev); + pm_runtime_put_autosuspend(port->dev); +} + /* * Work Around for Errata i202 (2430, 3430, 3630, 4430 and 4460) * The access to uart register after MDR1 Access @@ -193,27 +211,10 @@ static void omap_8250_mdr1_errataset(struct uart_8250_port *up, struct omap8250_priv *priv) { - u8 timeout = 255; - serial_out(up, UART_OMAP_MDR1, priv->mdr1); udelay(2); serial_out(up, UART_FCR, up->fcr | UART_FCR_CLEAR_XMIT | UART_FCR_CLEAR_RCVR); - /* - * Wait for FIFO to empty: when empty, RX_FIFO_E bit is 0 and - * TX_FIFO_E bit is 1. - */ - while (UART_LSR_THRE != (serial_in(up, UART_LSR) & - (UART_LSR_THRE | UART_LSR_DR))) { - timeout--; - if (!timeout) { - /* Should *never* happen. we warn and carry on */ - dev_crit(up->port.dev, "Errata i202: timedout %x\n", - serial_in(up, UART_LSR)); - break; - } - udelay(1); - } } static void omap_8250_get_divisor(struct uart_port *port, unsigned int baud, @@ -292,6 +293,7 @@ { struct omap8250_priv *priv = up->port.private_data; struct uart_8250_dma *dma = up->dma; + u8 mcr = serial8250_in_MCR(up); if (dma && dma->tx_running) { /* @@ -308,7 +310,7 @@ serial_out(up, UART_EFR, UART_EFR_ECB); serial_out(up, UART_LCR, UART_LCR_CONF_MODE_A); - serial8250_out_MCR(up, UART_MCR_TCRTLR); + serial8250_out_MCR(up, mcr | UART_MCR_TCRTLR); serial_out(up, UART_FCR, up->fcr); omap8250_update_scr(up, priv); @@ -324,7 +326,8 @@ serial_out(up, UART_LCR, 0); /* drop TCR + TLR access, we setup XON/XOFF later */ - serial8250_out_MCR(up, up->mcr); + serial8250_out_MCR(up, mcr); + serial_out(up, UART_IER, up->ier); serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B); @@ -341,7 +344,10 @@ omap8250_update_mdr1(up, priv); - up->port.ops->set_mctrl(&up->port, up->port.mctrl); + __omap8250_set_mctrl(&up->port, up->port.mctrl); + + if (up->port.rs485.flags & SER_RS485_ENABLED) + serial8250_em485_stop_tx(up); } /* @@ -666,7 +672,6 @@ pm_runtime_get_sync(port->dev); - up->mcr = 0; serial_out(up, UART_FCR, UART_FCR_CLEAR_RCVR | UART_FCR_CLEAR_XMIT); serial_out(up, UART_LCR, UART_LCR_WLEN8); @@ -1457,9 +1462,15 @@ static int omap8250_remove(struct platform_device *pdev) { struct omap8250_priv *priv = platform_get_drvdata(pdev); + int err; + + err = pm_runtime_resume_and_get(&pdev->dev); + if (err) + return err; pm_runtime_dont_use_autosuspend(&pdev->dev); pm_runtime_put_sync(&pdev->dev); + flush_work(&priv->qos_work); pm_runtime_disable(&pdev->dev); serial8250_unregister_port(priv->line); cpu_latency_qos_remove_request(&priv->pm_qos_request); --- linux-gcp-5.19.0.orig/drivers/tty/serial/8250/8250_pci.c +++ linux-gcp-5.19.0/drivers/tty/serial/8250/8250_pci.c @@ -1232,6 +1232,10 @@ serial8250_do_set_mctrl(port, mctrl); } +/* + * We require EFR features for clock programming, so set UPF_FULL_PROBE + * for full probing regardless of CONFIG_SERIAL_8250_16550A_VARIANTS setting. + */ static int pci_oxsemi_tornado_setup(struct serial_private *priv, const struct pciserial_board *board, struct uart_8250_port *up, int idx) @@ -1239,6 +1243,7 @@ struct pci_dev *dev = priv->dev; if (pci_oxsemi_tornado_p(dev)) { + up->port.flags |= UPF_FULL_PROBE; up->port.get_divisor = pci_oxsemi_tornado_get_divisor; up->port.set_divisor = pci_oxsemi_tornado_set_divisor; up->port.set_mctrl = pci_oxsemi_tornado_set_mctrl; @@ -1637,7 +1642,6 @@ resource_size_t bar_data[3]; u8 config_base; struct serial_private *priv = pci_get_drvdata(dev); - struct uart_8250_port *port; if (!(pci_resource_flags(dev, 5) & IORESOURCE_IO) || !(pci_resource_flags(dev, 4) & IORESOURCE_IO) || @@ -1684,13 +1688,7 @@ pci_write_config_byte(dev, config_base + 0x06, dev->irq); - if (priv) { - /* re-apply RS232/485 mode when - * pciserial_resume_ports() - */ - port = serial8250_get_port(priv->line[i]); - pci_fintek_rs485_config(&port->port, NULL); - } else { + if (!priv) { /* First init without port data * force init to RS232 Mode */ @@ -5077,6 +5075,115 @@ 0, 0, pbn_b2_4_115200 }, /* + * Brainboxes PX-101 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x4005, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b0_2_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x4019, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_oxsemi_2_15625000 }, + /* + * Brainboxes PX-235/246 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x4004, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b0_1_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x4016, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_oxsemi_1_15625000 }, + /* + * Brainboxes PX-203/PX-257 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x4006, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b0_2_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x4015, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_oxsemi_4_15625000 }, + /* + * Brainboxes PX-260/PX-701 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x400A, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_oxsemi_4_15625000 }, + /* + * Brainboxes PX-310 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x400E, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_oxsemi_2_15625000 }, + /* + * Brainboxes PX-313 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x400C, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_oxsemi_2_15625000 }, + /* + * Brainboxes PX-320/324/PX-376/PX-387 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x400B, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_oxsemi_1_15625000 }, + /* + * Brainboxes PX-335/346 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x400F, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_oxsemi_4_15625000 }, + /* + * Brainboxes PX-368 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x4010, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_oxsemi_4_15625000 }, + /* + * Brainboxes PX-420 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x4000, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b0_4_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x4011, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_oxsemi_4_15625000 }, + /* + * Brainboxes PX-803 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x4009, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b0_1_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x401E, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_oxsemi_1_15625000 }, + /* + * Brainboxes PX-846 + */ + { PCI_VENDOR_ID_INTASHIELD, 0x4008, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_b0_1_115200 }, + { PCI_VENDOR_ID_INTASHIELD, 0x4017, + PCI_ANY_ID, PCI_ANY_ID, + 0, 0, + pbn_oxsemi_1_15625000 }, + + /* * Perle PCI-RAS cards */ { PCI_VENDOR_ID_PLX, PCI_DEVICE_ID_PLX_9030, --- linux-gcp-5.19.0.orig/drivers/tty/serial/8250/8250_port.c +++ linux-gcp-5.19.0/drivers/tty/serial/8250/8250_port.c @@ -600,7 +600,7 @@ static int serial8250_em485_init(struct uart_8250_port *p) { if (p->em485) - return 0; + goto deassert_rts; p->em485 = kmalloc(sizeof(struct uart_8250_em485), GFP_ATOMIC); if (!p->em485) @@ -616,7 +616,9 @@ p->em485->active_timer = NULL; p->em485->tx_stopped = true; - p->rs485_stop_tx(p); +deassert_rts: + if (p->em485->tx_stopped) + p->rs485_stop_tx(p); return 0; } @@ -1029,7 +1031,8 @@ up->port.type = PORT_16550A; up->capabilities |= UART_CAP_FIFO; - if (!IS_ENABLED(CONFIG_SERIAL_8250_16550A_VARIANTS)) + if (!IS_ENABLED(CONFIG_SERIAL_8250_16550A_VARIANTS) && + !(up->port.flags & UPF_FULL_PROBE)) return; /* @@ -1514,11 +1517,9 @@ struct uart_8250_em485 *em485 = p->em485; if (em485) { - unsigned char lsr = serial_in(p, UART_LSR); + unsigned char lsr = serial_lsr_in(p); u64 stop_delay = 0; - p->lsr_saved_flags |= lsr & LSR_SAVE_FLAGS; - if (!(lsr & UART_LSR_THRE)) return; /* @@ -1573,10 +1574,8 @@ if (serial8250_set_THRI(up)) { if (up->bugs & UART_BUG_TXEN) { - unsigned char lsr; + unsigned char lsr = serial_lsr_in(up); - lsr = serial_in(up, UART_LSR); - up->lsr_saved_flags |= lsr & LSR_SAVE_FLAGS; if (lsr & UART_LSR_THRE) serial8250_tx_chars(up); } @@ -1902,10 +1901,13 @@ static bool handle_rx_dma(struct uart_8250_port *up, unsigned int iir) { switch (iir & 0x3f) { - case UART_IIR_RX_TIMEOUT: - serial8250_rx_dma_flush(up); + case UART_IIR_RDI: + if (!up->dma->rx_running) + break; fallthrough; case UART_IIR_RLSI: + case UART_IIR_RX_TIMEOUT: + serial8250_rx_dma_flush(up); return true; } return up->dma->rx_dma(up); @@ -1926,7 +1928,7 @@ spin_lock_irqsave(&port->lock, flags); - status = serial_port_in(port, UART_LSR); + status = serial_lsr_in(up); /* * If port is stopped and there are no error conditions in the @@ -2007,8 +2009,7 @@ serial8250_rpm_get(up); spin_lock_irqsave(&port->lock, flags); - lsr = serial_port_in(port, UART_LSR); - up->lsr_saved_flags |= lsr & LSR_SAVE_FLAGS; + lsr = serial_lsr_in(up); spin_unlock_irqrestore(&port->lock, flags); serial8250_rpm_put(up); @@ -2056,6 +2057,9 @@ static void serial8250_set_mctrl(struct uart_port *port, unsigned int mctrl) { + if (port->rs485.flags & SER_RS485_ENABLED) + return; + if (port->set_mctrl) port->set_mctrl(port, mctrl); else @@ -2084,9 +2088,7 @@ /* Wait up to 10ms for the character(s) to be sent. */ for (;;) { - status = serial_in(up, UART_LSR); - - up->lsr_saved_flags |= status & LSR_SAVE_FLAGS; + status = serial_lsr_in(up); if ((status & bits) == bits) break; @@ -2309,6 +2311,10 @@ if (port->irq && (up->port.flags & UPF_SHARE_IRQ)) up->port.irqflags |= IRQF_SHARED; + retval = up->ops->setup_irq(up); + if (retval) + goto out; + if (port->irq && !(up->port.flags & UPF_NO_THRE_TEST)) { unsigned char iir1; @@ -2351,9 +2357,7 @@ } } - retval = up->ops->setup_irq(up); - if (retval) - goto out; + up->ops->setup_timer(up); /* * Now, initialize the UART @@ -3202,9 +3206,6 @@ if (flags & UART_CONFIG_TYPE) autoconfig(up); - if (port->rs485.flags & SER_RS485_ENABLED) - port->rs485_config(port, &port->rs485); - /* if access method is AU, it is a 16550 with a quirk */ if (port->type == PORT_16550A && port->iotype == UPIO_AU) up->bugs |= UART_BUG_NOMSR; @@ -3329,8 +3330,13 @@ unsigned int baud, quot, frac = 0; termios.c_cflag = port->cons->cflag; - if (port->state->port.tty && termios.c_cflag == 0) + termios.c_ispeed = port->cons->ispeed; + termios.c_ospeed = port->cons->ospeed; + if (port->state->port.tty && termios.c_cflag == 0) { termios.c_cflag = port->state->port.tty->termios.c_cflag; + termios.c_ispeed = port->state->port.tty->termios.c_ispeed; + termios.c_ospeed = port->state->port.tty->termios.c_ospeed; + } baud = serial8250_get_baud_rate(port, &termios, NULL); quot = serial8250_get_divisor(port, baud, &frac); --- linux-gcp-5.19.0.orig/drivers/tty/serial/8250/Kconfig +++ linux-gcp-5.19.0/drivers/tty/serial/8250/Kconfig @@ -118,7 +118,7 @@ config SERIAL_8250_GSC tristate - depends on SERIAL_8250 && GSC + depends on SERIAL_8250 && PARISC default SERIAL_8250 config SERIAL_8250_DMA --- linux-gcp-5.19.0.orig/drivers/tty/serial/altera_uart.c +++ linux-gcp-5.19.0/drivers/tty/serial/altera_uart.c @@ -199,9 +199,8 @@ */ } -static void altera_uart_rx_chars(struct altera_uart *pp) +static void altera_uart_rx_chars(struct uart_port *port) { - struct uart_port *port = &pp->port; unsigned char ch, flag; unsigned short status; @@ -246,9 +245,8 @@ tty_flip_buffer_push(&port->state->port); } -static void altera_uart_tx_chars(struct altera_uart *pp) +static void altera_uart_tx_chars(struct uart_port *port) { - struct uart_port *port = &pp->port; struct circ_buf *xmit = &port->state->xmit; if (port->x_char) { @@ -272,26 +270,25 @@ if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS) uart_write_wakeup(port); - if (xmit->head == xmit->tail) { - pp->imr &= ~ALTERA_UART_CONTROL_TRDY_MSK; - altera_uart_update_ctrl_reg(pp); - } + if (uart_circ_empty(xmit)) + altera_uart_stop_tx(port); } static irqreturn_t altera_uart_interrupt(int irq, void *data) { struct uart_port *port = data; struct altera_uart *pp = container_of(port, struct altera_uart, port); + unsigned long flags; unsigned int isr; isr = altera_uart_readl(port, ALTERA_UART_STATUS_REG) & pp->imr; - spin_lock(&port->lock); + spin_lock_irqsave(&port->lock, flags); if (isr & ALTERA_UART_STATUS_RRDY_MSK) - altera_uart_rx_chars(pp); + altera_uart_rx_chars(port); if (isr & ALTERA_UART_STATUS_TRDY_MSK) - altera_uart_tx_chars(pp); - spin_unlock(&port->lock); + altera_uart_tx_chars(port); + spin_unlock_irqrestore(&port->lock, flags); return IRQ_RETVAL(isr); } --- linux-gcp-5.19.0.orig/drivers/tty/serial/amba-pl011.c +++ linux-gcp-5.19.0/drivers/tty/serial/amba-pl011.c @@ -1045,6 +1045,9 @@ */ static inline void pl011_dma_rx_stop(struct uart_amba_port *uap) { + if (!uap->using_rx_dma) + return; + /* FIXME. Just disable the DMA enable */ uap->dmacr &= ~UART011_RXDMAE; pl011_write(uap->dmacr, uap, REG_DMACR); @@ -1464,6 +1467,10 @@ struct circ_buf *xmit = &uap->port.state->xmit; int count = uap->fifosize >> 1; + if ((uap->port.rs485.flags & SER_RS485_ENABLED) && + !uap->rs485_tx_started) + pl011_rs485_tx_start(uap); + if (uap->port.x_char) { if (!pl011_tx_char(uap, uap->port.x_char, from_irq)) return true; @@ -1475,10 +1482,6 @@ return false; } - if ((uap->port.rs485.flags & SER_RS485_ENABLED) && - !uap->rs485_tx_started) - pl011_rs485_tx_start(uap); - /* If we are using DMA mode, try to send some characters. */ if (pl011_dma_tx_irq(uap)) return true; @@ -1828,8 +1831,17 @@ static void pl011_unthrottle_rx(struct uart_port *port) { struct uart_amba_port *uap = container_of(port, struct uart_amba_port, port); + unsigned long flags; + + spin_lock_irqsave(&uap->port.lock, flags); + + uap->im = UART011_RTIM; + if (!pl011_dma_rx_running(uap)) + uap->im |= UART011_RXIM; - pl011_enable_interrupts(uap); + pl011_write(uap->im, uap, REG_IMSC); + + spin_unlock_irqrestore(&uap->port.lock, flags); } static int pl011_startup(struct uart_port *port) --- linux-gcp-5.19.0.orig/drivers/tty/serial/ar933x_uart.c +++ linux-gcp-5.19.0/drivers/tty/serial/ar933x_uart.c @@ -591,6 +591,11 @@ dev_err(port->dev, "RS485 needs rts-gpio\n"); return 1; } + + if (rs485conf->flags & SER_RS485_ENABLED) + gpiod_set_value(up->rts_gpiod, + !!(rs485conf->flags & SER_RS485_RTS_AFTER_SEND)); + port->rs485 = *rs485conf; return 0; } --- linux-gcp-5.19.0.orig/drivers/tty/serial/atmel_serial.c +++ linux-gcp-5.19.0/drivers/tty/serial/atmel_serial.c @@ -296,9 +296,6 @@ mode = atmel_uart_readl(port, ATMEL_US_MR); - /* Resetting serial mode to RS232 (0x0) */ - mode &= ~ATMEL_US_USMODE; - if (rs485conf->flags & SER_RS485_ENABLED) { dev_dbg(port->dev, "Setting UART to RS485\n"); if (rs485conf->flags & SER_RS485_RX_DURING_TX) @@ -308,6 +305,7 @@ atmel_uart_writel(port, ATMEL_US_TTGR, rs485conf->delay_rts_after_send); + mode &= ~ATMEL_US_USMODE; mode |= ATMEL_US_USMODE_RS485; } else { dev_dbg(port->dev, "Setting UART to RS232\n"); @@ -2618,13 +2616,7 @@ else if (mr == ATMEL_US_PAR_ODD) *parity = 'o'; - /* - * The serial core only rounds down when matching this to a - * supported baud rate. Make sure we don't end up slightly - * lower than one of those, as it would make us fall through - * to a much lower baud rate than we really want. - */ - *baud = port->uartclk / (16 * (quot - 1)); + *baud = port->uartclk / (16 * quot); } static int __init atmel_console_setup(struct console *co, char *options) --- linux-gcp-5.19.0.orig/drivers/tty/serial/cpm_uart/cpm_uart_core.c +++ linux-gcp-5.19.0/drivers/tty/serial/cpm_uart/cpm_uart_core.c @@ -1214,12 +1214,6 @@ pinfo->port.fifosize = pinfo->tx_nrfifos * pinfo->tx_fifosize; spin_lock_init(&pinfo->port.lock); - pinfo->port.irq = irq_of_parse_and_map(np, 0); - if (pinfo->port.irq == NO_IRQ) { - ret = -EINVAL; - goto out_pram; - } - for (i = 0; i < NUM_GPIOS; i++) { struct gpio_desc *gpiod; @@ -1229,7 +1223,7 @@ if (IS_ERR(gpiod)) { ret = PTR_ERR(gpiod); - goto out_irq; + goto out_pram; } if (gpiod) { @@ -1255,8 +1249,6 @@ return cpm_uart_request_port(&pinfo->port); -out_irq: - irq_dispose_mapping(pinfo->port.irq); out_pram: cpm_uart_unmap_pram(pinfo, pram); out_mem: @@ -1436,11 +1428,17 @@ /* initialize the device pointer for the port */ pinfo->port.dev = &ofdev->dev; + pinfo->port.irq = irq_of_parse_and_map(ofdev->dev.of_node, 0); + if (!pinfo->port.irq) + return -EINVAL; + ret = cpm_uart_init_port(ofdev->dev.of_node, pinfo); - if (ret) - return ret; + if (!ret) + return uart_add_one_port(&cpm_reg, &pinfo->port); + + irq_dispose_mapping(pinfo->port.irq); - return uart_add_one_port(&cpm_reg, &pinfo->port); + return ret; } static int cpm_uart_remove(struct platform_device *ofdev) --- linux-gcp-5.19.0.orig/drivers/tty/serial/fsl_lpuart.c +++ linux-gcp-5.19.0/drivers/tty/serial/fsl_lpuart.c @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -402,33 +403,6 @@ #define lpuart_enable_clks(x) __lpuart_enable_clks(x, true) #define lpuart_disable_clks(x) __lpuart_enable_clks(x, false) -static int lpuart_global_reset(struct lpuart_port *sport) -{ - struct uart_port *port = &sport->port; - void __iomem *global_addr; - int ret; - - if (uart_console(port)) - return 0; - - ret = clk_prepare_enable(sport->ipg_clk); - if (ret) { - dev_err(sport->port.dev, "failed to enable uart ipg clk: %d\n", ret); - return ret; - } - - if (is_imx7ulp_lpuart(sport) || is_imx8qxp_lpuart(sport)) { - global_addr = port->membase + UART_GLOBAL - IMX_REG_OFF; - writel(UART_GLOBAL_RST, global_addr); - usleep_range(GLOBAL_RST_MIN_US, GLOBAL_RST_MAX_US); - writel(0, global_addr); - usleep_range(GLOBAL_RST_MIN_US, GLOBAL_RST_MAX_US); - } - - clk_disable_unprepare(sport->ipg_clk); - return 0; -} - static void lpuart_stop_tx(struct uart_port *port) { unsigned char temp; @@ -990,12 +964,12 @@ if (sr & (UARTSTAT_PE | UARTSTAT_OR | UARTSTAT_FE)) { if (sr & UARTSTAT_PE) { + sport->port.icount.parity++; + } else if (sr & UARTSTAT_FE) { if (is_break) sport->port.icount.brk++; else - sport->port.icount.parity++; - } else if (sr & UARTSTAT_FE) { - sport->port.icount.frame++; + sport->port.icount.frame++; } if (sr & UARTSTAT_OR) @@ -1010,12 +984,12 @@ sr &= sport->port.read_status_mask; if (sr & UARTSTAT_PE) { + flg = TTY_PARITY; + } else if (sr & UARTSTAT_FE) { if (is_break) flg = TTY_BREAK; else - flg = TTY_PARITY; - } else if (sr & UARTSTAT_FE) { - flg = TTY_FRAME; + flg = TTY_FRAME; } if (sr & UARTSTAT_OR) @@ -1381,9 +1355,9 @@ * Note: UART is assumed to be active high. */ if (rs485->flags & SER_RS485_RTS_ON_SEND) - modem &= ~UARTMODEM_TXRTSPOL; - else if (rs485->flags & SER_RS485_RTS_AFTER_SEND) modem |= UARTMODEM_TXRTSPOL; + else if (rs485->flags & SER_RS485_RTS_AFTER_SEND) + modem &= ~UARTMODEM_TXRTSPOL; } writeb(modem, sport->port.membase + UARTMODEM); @@ -1416,9 +1390,9 @@ * Note: UART is assumed to be active high. */ if (rs485->flags & SER_RS485_RTS_ON_SEND) - modem &= ~UARTMODEM_TXRTSPOL; - else if (rs485->flags & SER_RS485_RTS_AFTER_SEND) modem |= UARTMODEM_TXRTSPOL; + else if (rs485->flags & SER_RS485_RTS_AFTER_SEND) + modem &= ~UARTMODEM_TXRTSPOL; } lpuart32_write(&sport->port, modem, UARTMODIR); @@ -1707,12 +1681,6 @@ { unsigned long temp; - if (sport->lpuart_dma_rx_use) { - /* RXWATER must be 0 */ - temp = lpuart32_read(&sport->port, UARTWATER); - temp &= ~(UARTWATER_WATER_MASK << UARTWATER_RXWATER_OFF); - lpuart32_write(&sport->port, temp, UARTWATER); - } temp = lpuart32_read(&sport->port, UARTCTRL); if (!sport->lpuart_dma_rx_use) temp |= UARTCTRL_RIE; @@ -1768,6 +1736,7 @@ if (sport->lpuart_dma_rx_use) { del_timer_sync(&sport->lpuart_timer); lpuart_dma_rx_free(&sport->port); + sport->lpuart_dma_rx_use = false; } if (sport->lpuart_dma_tx_use) { @@ -1776,6 +1745,7 @@ sport->dma_tx_in_progress = false; dmaengine_terminate_all(sport->dma_tx_chan); } + sport->lpuart_dma_tx_use = false; } if (sport->dma_tx_chan) @@ -1812,6 +1782,15 @@ spin_lock_irqsave(&port->lock, flags); + /* clear status */ + temp = lpuart32_read(&sport->port, UARTSTAT); + lpuart32_write(&sport->port, temp, UARTSTAT); + + /* disable Rx/Tx DMA */ + temp = lpuart32_read(port, UARTBAUD); + temp &= ~(UARTBAUD_TDMAE | UARTBAUD_RDMAE); + lpuart32_write(port, temp, UARTBAUD); + /* disable Rx/Tx and interrupts */ temp = lpuart32_read(port, UARTCTRL); temp &= ~(UARTCTRL_TE | UARTCTRL_RE | @@ -2182,6 +2161,7 @@ uart_update_timeout(port, termios->c_cflag, baud); /* wait transmit engin complete */ + lpuart32_write(&sport->port, 0, UARTMODIR); lpuart32_wait_bit_set(&sport->port, UARTSTAT, UARTSTAT_TC); /* disable transmit and receive */ @@ -2621,6 +2601,59 @@ .cons = LPUART_CONSOLE, }; +static int lpuart_global_reset(struct lpuart_port *sport) +{ + struct uart_port *port = &sport->port; + void __iomem *global_addr; + unsigned long ctrl, bd; + unsigned int val = 0; + int ret; + + ret = clk_prepare_enable(sport->ipg_clk); + if (ret) { + dev_err(sport->port.dev, "failed to enable uart ipg clk: %d\n", ret); + return ret; + } + + if (is_imx7ulp_lpuart(sport) || is_imx8qxp_lpuart(sport)) { + /* + * If the transmitter is used by earlycon, wait for transmit engine to + * complete and then reset. + */ + ctrl = lpuart32_read(port, UARTCTRL); + if (ctrl & UARTCTRL_TE) { + bd = lpuart32_read(&sport->port, UARTBAUD); + if (read_poll_timeout(lpuart32_tx_empty, val, val, 1, 100000, false, + port)) { + dev_warn(sport->port.dev, + "timeout waiting for transmit engine to complete\n"); + clk_disable_unprepare(sport->ipg_clk); + return 0; + } + } + + global_addr = port->membase + UART_GLOBAL - IMX_REG_OFF; + writel(UART_GLOBAL_RST, global_addr); + usleep_range(GLOBAL_RST_MIN_US, GLOBAL_RST_MAX_US); + writel(0, global_addr); + usleep_range(GLOBAL_RST_MIN_US, GLOBAL_RST_MAX_US); + + /* Recover the transmitter for earlycon. */ + if (ctrl & UARTCTRL_TE) { + lpuart32_write(port, bd, UARTBAUD); + lpuart32_write(port, ctrl, UARTCTRL); + } + } + + clk_disable_unprepare(sport->ipg_clk); + return 0; +} + +static const struct serial_rs485 lpuart_rs485_supported = { + .flags = SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND | SER_RS485_RTS_AFTER_SEND, + /* delay_rts_* and RX_DURING_TX are not supported */ +}; + static int lpuart_probe(struct platform_device *pdev) { const struct lpuart_soc_data *sdata = of_device_get_match_data(&pdev->dev); @@ -2660,6 +2693,7 @@ sport->port.rs485_config = lpuart32_config_rs485; else sport->port.rs485_config = lpuart_config_rs485; + sport->port.rs485_supported = &lpuart_rs485_supported; sport->ipg_clk = devm_clk_get(&pdev->dev, "ipg"); if (IS_ERR(sport->ipg_clk)) { @@ -2705,9 +2739,6 @@ lpuart_reg.cons = LPUART_CONSOLE; handler = lpuart_int; } - ret = uart_add_one_port(&lpuart_reg, &sport->port); - if (ret) - goto failed_attach_port; ret = lpuart_global_reset(sport); if (ret) @@ -2724,7 +2755,9 @@ sport->port.rs485.delay_rts_after_send) dev_err(&pdev->dev, "driver doesn't support RTS delays\n"); - sport->port.rs485_config(&sport->port, &sport->port.rs485); + ret = uart_add_one_port(&lpuart_reg, &sport->port); + if (ret) + goto failed_attach_port; ret = devm_request_irq(&pdev->dev, sport->port.irq, handler, 0, DRIVER_NAME, sport); @@ -2734,10 +2767,10 @@ return 0; failed_irq_request: -failed_get_rs485: -failed_reset: uart_remove_one_port(&lpuart_reg, &sport->port); failed_attach_port: +failed_get_rs485: +failed_reset: lpuart_disable_clks(sport); return ret; } --- linux-gcp-5.19.0.orig/drivers/tty/serial/imx.c +++ linux-gcp-5.19.0/drivers/tty/serial/imx.c @@ -380,8 +380,7 @@ { *ucr2 &= ~(UCR2_CTSC | UCR2_CTS); - sport->port.mctrl |= TIOCM_RTS; - mctrl_gpio_set(sport->gpios, sport->port.mctrl); + mctrl_gpio_set(sport->gpios, sport->port.mctrl | TIOCM_RTS); } /* called with port.lock taken and irqs caller dependent */ @@ -390,8 +389,7 @@ *ucr2 &= ~UCR2_CTSC; *ucr2 |= UCR2_CTS; - sport->port.mctrl &= ~TIOCM_RTS; - mctrl_gpio_set(sport->gpios, sport->port.mctrl); + mctrl_gpio_set(sport->gpios, sport->port.mctrl & ~TIOCM_RTS); } static void start_hrtimer_ms(struct hrtimer *hrt, unsigned long msec) @@ -491,7 +489,7 @@ static void imx_uart_stop_rx(struct uart_port *port) { struct imx_port *sport = (struct imx_port *)port; - u32 ucr1, ucr2, ucr4; + u32 ucr1, ucr2, ucr4, uts; ucr1 = imx_uart_readl(sport, UCR1); ucr2 = imx_uart_readl(sport, UCR2); @@ -507,7 +505,18 @@ imx_uart_writel(sport, ucr1, UCR1); imx_uart_writel(sport, ucr4, UCR4); - ucr2 &= ~UCR2_RXEN; + /* See SER_RS485_ENABLED/UTS_LOOP comment in imx_uart_probe() */ + if (port->rs485.flags & SER_RS485_ENABLED && + port->rs485.flags & SER_RS485_RTS_ON_SEND && + sport->have_rtscts && !sport->have_rtsgpio) { + uts = imx_uart_readl(sport, imx_uart_uts_reg(sport)); + uts |= UTS_LOOP; + imx_uart_writel(sport, uts, imx_uart_uts_reg(sport)); + ucr2 |= UCR2_RXEN; + } else { + ucr2 &= ~UCR2_RXEN; + } + imx_uart_writel(sport, ucr2, UCR2); } @@ -1395,7 +1404,7 @@ int retval, i; unsigned long flags; int dma_is_inited = 0; - u32 ucr1, ucr2, ucr3, ucr4; + u32 ucr1, ucr2, ucr3, ucr4, uts; retval = clk_prepare_enable(sport->clk_per); if (retval) @@ -1500,6 +1509,11 @@ imx_uart_writel(sport, ucr2, UCR2); } + /* See SER_RS485_ENABLED/UTS_LOOP comment in imx_uart_probe() */ + uts = imx_uart_readl(sport, imx_uart_uts_reg(sport)); + uts &= ~UTS_LOOP; + imx_uart_writel(sport, uts, imx_uart_uts_reg(sport)); + spin_unlock_irqrestore(&sport->port.lock, flags); return 0; @@ -1509,7 +1523,7 @@ { struct imx_port *sport = (struct imx_port *)port; unsigned long flags; - u32 ucr1, ucr2, ucr4; + u32 ucr1, ucr2, ucr4, uts; if (sport->dma_is_enabled) { dmaengine_terminate_sync(sport->dma_chan_tx); @@ -1553,7 +1567,18 @@ spin_lock_irqsave(&sport->port.lock, flags); ucr1 = imx_uart_readl(sport, UCR1); - ucr1 &= ~(UCR1_TRDYEN | UCR1_RRDYEN | UCR1_RTSDEN | UCR1_UARTEN | UCR1_RXDMAEN | UCR1_ATDMAEN); + ucr1 &= ~(UCR1_TRDYEN | UCR1_RRDYEN | UCR1_RTSDEN | UCR1_RXDMAEN | UCR1_ATDMAEN); + /* See SER_RS485_ENABLED/UTS_LOOP comment in imx_uart_probe() */ + if (port->rs485.flags & SER_RS485_ENABLED && + port->rs485.flags & SER_RS485_RTS_ON_SEND && + sport->have_rtscts && !sport->have_rtsgpio) { + uts = imx_uart_readl(sport, imx_uart_uts_reg(sport)); + uts |= UTS_LOOP; + imx_uart_writel(sport, uts, imx_uart_uts_reg(sport)); + ucr1 |= UCR1_UARTEN; + } else { + ucr1 &= ~UCR1_UARTEN; + } imx_uart_writel(sport, ucr1, UCR1); ucr4 = imx_uart_readl(sport, UCR4); @@ -2211,7 +2236,7 @@ void __iomem *base; u32 dma_buf_conf[2]; int ret = 0; - u32 ucr1; + u32 ucr1, ucr2, uts; struct resource *res; int txirq, rxirq, rtsirq; @@ -2338,13 +2363,41 @@ dev_err(&pdev->dev, "low-active RTS not possible when receiver is off, enabling receiver\n"); - imx_uart_rs485_config(&sport->port, &sport->port.rs485); - /* Disable interrupts before requesting them */ ucr1 = imx_uart_readl(sport, UCR1); ucr1 &= ~(UCR1_ADEN | UCR1_TRDYEN | UCR1_IDEN | UCR1_RRDYEN | UCR1_RTSDEN); imx_uart_writel(sport, ucr1, UCR1); + /* Disable Ageing Timer interrupt */ + ucr2 = imx_uart_readl(sport, UCR2); + ucr2 &= ~UCR2_ATEN; + imx_uart_writel(sport, ucr2, UCR2); + + /* + * In case RS485 is enabled without GPIO RTS control, the UART IP + * is used to control CTS signal. Keep both the UART and Receiver + * enabled, otherwise the UART IP pulls CTS signal always HIGH no + * matter how the UCR2 CTSC and CTS bits are set. To prevent any + * data from being fed into the RX FIFO, enable loopback mode in + * UTS register, which disconnects the RX path from external RXD + * pin and connects it to the Transceiver, which is disabled, so + * no data can be fed to the RX FIFO that way. + */ + if (sport->port.rs485.flags & SER_RS485_ENABLED && + sport->have_rtscts && !sport->have_rtsgpio) { + uts = imx_uart_readl(sport, imx_uart_uts_reg(sport)); + uts |= UTS_LOOP; + imx_uart_writel(sport, uts, imx_uart_uts_reg(sport)); + + ucr1 = imx_uart_readl(sport, UCR1); + ucr1 |= UCR1_UARTEN; + imx_uart_writel(sport, ucr1, UCR1); + + ucr2 = imx_uart_readl(sport, UCR2); + ucr2 |= UCR2_RXEN; + imx_uart_writel(sport, ucr2, UCR2); + } + if (!imx_uart_is_imx1(sport) && sport->dte_mode) { /* * The DCEDTE bit changes the direction of DSR, DCD, DTR and RI @@ -2589,6 +2642,7 @@ .suspend_noirq = imx_uart_suspend_noirq, .resume_noirq = imx_uart_resume_noirq, .freeze_noirq = imx_uart_suspend_noirq, + .thaw_noirq = imx_uart_resume_noirq, .restore_noirq = imx_uart_resume_noirq, .suspend = imx_uart_suspend, .resume = imx_uart_resume, --- linux-gcp-5.19.0.orig/drivers/tty/serial/jsm/jsm_driver.c +++ linux-gcp-5.19.0/drivers/tty/serial/jsm/jsm_driver.c @@ -211,7 +211,8 @@ break; default: - return -ENXIO; + rc = -ENXIO; + goto out_kfree_brd; } rc = request_irq(brd->irq, brd->bd_ops->intr, IRQF_SHARED, "JSM", brd); --- linux-gcp-5.19.0.orig/drivers/tty/serial/mvebu-uart.c +++ linux-gcp-5.19.0/drivers/tty/serial/mvebu-uart.c @@ -265,6 +265,7 @@ struct tty_port *tport = &port->state->port; unsigned char ch = 0; char flag = 0; + int ret; do { if (status & STAT_RX_RDY(port)) { @@ -277,6 +278,16 @@ port->icount.parity++; } + /* + * For UART2, error bits are not cleared on buffer read. + * This causes interrupt loop and system hang. + */ + if (IS_EXTENDED(port) && (status & STAT_BRK_ERR)) { + ret = readl(port->membase + UART_STAT); + ret |= STAT_BRK_ERR; + writel(ret, port->membase + UART_STAT); + } + if (status & STAT_BRK_DET) { port->icount.brk++; status &= ~(STAT_FRM_ERR | STAT_PAR_ERR); --- linux-gcp-5.19.0.orig/drivers/tty/serial/pch_uart.c +++ linux-gcp-5.19.0/drivers/tty/serial/pch_uart.c @@ -695,6 +695,7 @@ if (!chan) { dev_err(priv->port.dev, "%s:dma_request_channel FAILS(Tx)\n", __func__); + pci_dev_put(dma_dev); return; } priv->chan_tx = chan; @@ -711,6 +712,7 @@ __func__); dma_release_channel(priv->chan_tx); priv->chan_tx = NULL; + pci_dev_put(dma_dev); return; } @@ -718,6 +720,8 @@ priv->rx_buf_virt = dma_alloc_coherent(port->dev, port->fifosize, &priv->rx_buf_dma, GFP_KERNEL); priv->chan_rx = chan; + + pci_dev_put(dma_dev); } static void pch_dma_rx_complete(void *arg) @@ -749,7 +753,7 @@ } xmit->tail &= UART_XMIT_SIZE - 1; async_tx_ack(priv->desc_tx); - dma_unmap_sg(port->dev, sg, priv->orig_nent, DMA_TO_DEVICE); + dma_unmap_sg(port->dev, priv->sg_tx_p, priv->orig_nent, DMA_TO_DEVICE); priv->tx_dma_use = 0; priv->nent = 0; priv->orig_nent = 0; --- linux-gcp-5.19.0.orig/drivers/tty/serial/pic32_uart.c +++ linux-gcp-5.19.0/drivers/tty/serial/pic32_uart.c @@ -503,7 +503,7 @@ if (!sport->irq_fault_name) { dev_err(port->dev, "%s: kasprintf err!", __func__); ret = -ENOMEM; - goto out_done; + goto out_disable_clk; } irq_set_status_flags(sport->irq_fault, IRQ_NOAUTOEN); ret = request_irq(sport->irq_fault, pic32_uart_fault_interrupt, @@ -579,6 +579,8 @@ out_f: free_irq(sport->irq_fault, port); kfree(sport->irq_fault_name); +out_disable_clk: + clk_disable_unprepare(sport->clk); out_done: return ret; } --- linux-gcp-5.19.0.orig/drivers/tty/serial/qcom_geni_serial.c +++ linux-gcp-5.19.0/drivers/tty/serial/qcom_geni_serial.c @@ -860,9 +860,10 @@ return IRQ_HANDLED; } -static void get_tx_fifo_size(struct qcom_geni_serial_port *port) +static int setup_fifos(struct qcom_geni_serial_port *port) { struct uart_port *uport; + u32 old_rx_fifo_depth = port->rx_fifo_depth; uport = &port->uport; port->tx_fifo_depth = geni_se_get_tx_fifo_depth(&port->se); @@ -870,6 +871,16 @@ port->rx_fifo_depth = geni_se_get_rx_fifo_depth(&port->se); uport->fifosize = (port->tx_fifo_depth * port->tx_fifo_width) / BITS_PER_BYTE; + + if (port->rx_fifo && (old_rx_fifo_depth != port->rx_fifo_depth) && port->rx_fifo_depth) { + port->rx_fifo = devm_krealloc(uport->dev, port->rx_fifo, + port->rx_fifo_depth * sizeof(u32), + GFP_KERNEL); + if (!port->rx_fifo) + return -ENOMEM; + } + + return 0; } @@ -884,6 +895,7 @@ u32 rxstale = DEFAULT_BITS_PER_CHAR * STALE_TIMEOUT; u32 proto; u32 pin_swap; + int ret; proto = geni_se_read_proto(&port->se); if (proto != GENI_SE_UART) { @@ -893,7 +905,9 @@ qcom_geni_serial_stop_rx(uport); - get_tx_fifo_size(port); + ret = setup_fifos(port); + if (ret) + return ret; writel(rxstale, uport->membase + SE_UART_RX_STALE_CNT); @@ -940,52 +954,63 @@ return 0; } -static unsigned long get_clk_div_rate(struct clk *clk, unsigned int baud, - unsigned int sampling_rate, unsigned int *clk_div) +static unsigned long find_clk_rate_in_tol(struct clk *clk, unsigned int desired_clk, + unsigned int *clk_div, unsigned int percent_tol) { - unsigned long ser_clk; - unsigned long desired_clk; - unsigned long freq, prev; + unsigned long freq; unsigned long div, maxdiv; - int64_t mult; - - desired_clk = baud * sampling_rate; - if (!desired_clk) { - pr_err("%s: Invalid frequency\n", __func__); - return 0; - } + u64 mult; + unsigned long offset, abs_tol, achieved; + abs_tol = div_u64((u64)desired_clk * percent_tol, 100); maxdiv = CLK_DIV_MSK >> CLK_DIV_SHFT; - prev = 0; - - for (div = 1; div <= maxdiv; div++) { - mult = div * desired_clk; - if (mult > ULONG_MAX) + div = 1; + while (div <= maxdiv) { + mult = (u64)div * desired_clk; + if (mult != (unsigned long)mult) break; - freq = clk_round_rate(clk, (unsigned long)mult); - if (!(freq % desired_clk)) { - ser_clk = freq; - break; - } + offset = div * abs_tol; + freq = clk_round_rate(clk, mult - offset); - if (!prev) - ser_clk = freq; - else if (prev == freq) + /* Can only get lower if we're done */ + if (freq < mult - offset) break; - prev = freq; - } + /* + * Re-calculate div in case rounding skipped rates but we + * ended up at a good one, then check for a match. + */ + div = DIV_ROUND_CLOSEST(freq, desired_clk); + achieved = DIV_ROUND_CLOSEST(freq, div); + if (achieved <= desired_clk + abs_tol && + achieved >= desired_clk - abs_tol) { + *clk_div = div; + return freq; + } - if (!ser_clk) { - pr_err("%s: Can't find matching DFS entry for baud %d\n", - __func__, baud); - return ser_clk; + div = DIV_ROUND_UP(freq, desired_clk); } - *clk_div = ser_clk / desired_clk; - if (!(*clk_div)) - *clk_div = 1; + return 0; +} + +static unsigned long get_clk_div_rate(struct clk *clk, unsigned int baud, + unsigned int sampling_rate, unsigned int *clk_div) +{ + unsigned long ser_clk; + unsigned long desired_clk; + + desired_clk = baud * sampling_rate; + if (!desired_clk) + return 0; + + /* + * try to find a clock rate within 2% tolerance, then within 5% + */ + ser_clk = find_clk_rate_in_tol(clk, desired_clk, clk_div, 2); + if (!ser_clk) + ser_clk = find_clk_rate_in_tol(clk, desired_clk, clk_div, 5); return ser_clk; } @@ -1020,8 +1045,15 @@ clk_rate = get_clk_div_rate(port->se.clk, baud, sampling_rate, &clk_div); - if (!clk_rate) + if (!clk_rate) { + dev_err(port->se.dev, + "Couldn't find suitable clock rate for %u\n", + baud * sampling_rate); goto out_restart_rx; + } + + dev_dbg(port->se.dev, "desired_rate-%u, clk_rate-%lu, clk_div-%u\n", + baud * sampling_rate, clk_rate, clk_div); uport->uartclk = clk_rate; dev_pm_opp_set_rate(uport->dev, clk_rate); --- linux-gcp-5.19.0.orig/drivers/tty/serial/serial-tegra.c +++ linux-gcp-5.19.0/drivers/tty/serial/serial-tegra.c @@ -525,7 +525,7 @@ count = tup->tx_bytes_requested - state.residue; async_tx_ack(tup->tx_dma_desc); spin_lock_irqsave(&tup->uport.lock, flags); - xmit->tail = (xmit->tail + count) & (UART_XMIT_SIZE - 1); + uart_xmit_advance(&tup->uport, count); tup->tx_in_progress = 0; if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS) uart_write_wakeup(&tup->uport); @@ -613,18 +613,18 @@ static void tegra_uart_stop_tx(struct uart_port *u) { struct tegra_uart_port *tup = to_tegra_uport(u); - struct circ_buf *xmit = &tup->uport.state->xmit; struct dma_tx_state state; unsigned int count; if (tup->tx_in_progress != TEGRA_UART_TX_DMA) return; - dmaengine_terminate_all(tup->tx_dma_chan); + dmaengine_pause(tup->tx_dma_chan); dmaengine_tx_status(tup->tx_dma_chan, tup->tx_cookie, &state); + dmaengine_terminate_all(tup->tx_dma_chan); count = tup->tx_bytes_requested - state.residue; async_tx_ack(tup->tx_dma_desc); - xmit->tail = (xmit->tail + count) & (UART_XMIT_SIZE - 1); + uart_xmit_advance(&tup->uport, count); tup->tx_in_progress = 0; } @@ -764,8 +764,9 @@ return; } - dmaengine_terminate_all(tup->rx_dma_chan); + dmaengine_pause(tup->rx_dma_chan); dmaengine_tx_status(tup->rx_dma_chan, tup->rx_cookie, &state); + dmaengine_terminate_all(tup->rx_dma_chan); tegra_uart_rx_buffer_push(tup, state.residue); tup->rx_dma_active = false; @@ -1046,6 +1047,7 @@ if (tup->cdata->fifo_mode_enable_status) { ret = tegra_uart_wait_fifo_mode_enabled(tup); if (ret < 0) { + clk_disable_unprepare(tup->uart_clk); dev_err(tup->uport.dev, "Failed to enable FIFO mode: %d\n", ret); return ret; @@ -1067,6 +1069,7 @@ */ ret = tegra_set_baudrate(tup, TEGRA_UART_DEFAULT_BAUD); if (ret < 0) { + clk_disable_unprepare(tup->uart_clk); dev_err(tup->uport.dev, "Failed to set baud rate\n"); return ret; } @@ -1226,10 +1229,13 @@ dev_name(u->dev), tup); if (ret < 0) { dev_err(u->dev, "Failed to register ISR for IRQ %d\n", u->irq); - goto fail_hw_init; + goto fail_request_irq; } return 0; +fail_request_irq: + /* tup->uart_clk is already enabled in tegra_uart_hw_init */ + clk_disable_unprepare(tup->uart_clk); fail_hw_init: if (!tup->use_rx_pio) tegra_uart_dma_channel_free(tup, true); --- linux-gcp-5.19.0.orig/drivers/tty/serial/serial_core.c +++ linux-gcp-5.19.0/drivers/tty/serial/serial_core.c @@ -151,15 +151,10 @@ unsigned long flags; unsigned int old; - if (port->rs485.flags & SER_RS485_ENABLED) { - set &= ~TIOCM_RTS; - clear &= ~TIOCM_RTS; - } - spin_lock_irqsave(&port->lock, flags); old = port->mctrl; port->mctrl = (old & ~clear) | set; - if (old != port->mctrl) + if (old != port->mctrl && !(port->rs485.flags & SER_RS485_ENABLED)) port->ops->set_mctrl(port, port->mctrl); spin_unlock_irqrestore(&port->lock, flags); } @@ -1333,8 +1328,13 @@ spin_lock_irqsave(&port->lock, flags); ret = port->rs485_config(port, &rs485); - if (!ret) + if (!ret) { port->rs485 = rs485; + + /* Reset RTS and other mctrl lines when disabling RS485 */ + if (!(rs485.flags & SER_RS485_ENABLED)) + port->ops->set_mctrl(port, port->mctrl); + } spin_unlock_irqrestore(&port->lock, flags); if (ret) return ret; @@ -2230,7 +2230,8 @@ spin_lock_irq(&uport->lock); ops->stop_tx(uport); - ops->set_mctrl(uport, 0); + if (!(uport->rs485.flags & SER_RS485_ENABLED)) + ops->set_mctrl(uport, 0); /* save mctrl so it can be restored on resume */ mctrl = uport->mctrl; uport->mctrl = 0; @@ -2318,7 +2319,8 @@ uart_change_pm(state, UART_PM_STATE_ON); spin_lock_irq(&uport->lock); - ops->set_mctrl(uport, 0); + if (!(uport->rs485.flags & SER_RS485_ENABLED)) + ops->set_mctrl(uport, 0); spin_unlock_irq(&uport->lock); if (console_suspend_enabled || !uart_console(uport)) { /* Protected by port mutex for now */ @@ -2329,7 +2331,10 @@ if (tty) uart_change_speed(tty, state, NULL); spin_lock_irq(&uport->lock); - ops->set_mctrl(uport, uport->mctrl); + if (!(uport->rs485.flags & SER_RS485_ENABLED)) + ops->set_mctrl(uport, uport->mctrl); + else + uport->rs485_config(uport, &uport->rs485); ops->start_tx(uport); spin_unlock_irq(&uport->lock); tty_port_set_initialized(port, 1); @@ -2436,10 +2441,10 @@ */ spin_lock_irqsave(&port->lock, flags); port->mctrl &= TIOCM_DTR; - if (port->rs485.flags & SER_RS485_ENABLED && - !(port->rs485.flags & SER_RS485_RTS_AFTER_SEND)) - port->mctrl |= TIOCM_RTS; - port->ops->set_mctrl(port, port->mctrl); + if (!(port->rs485.flags & SER_RS485_ENABLED)) + port->ops->set_mctrl(port, port->mctrl); + else + port->rs485_config(port, &port->rs485); spin_unlock_irqrestore(&port->lock, flags); /* --- linux-gcp-5.19.0.orig/drivers/tty/serial/stm32-usart.c +++ linux-gcp-5.19.0/drivers/tty/serial/stm32-usart.c @@ -62,6 +62,53 @@ writel_relaxed(val, port->membase + reg); } +static unsigned int stm32_usart_tx_empty(struct uart_port *port) +{ + struct stm32_port *stm32_port = to_stm32_port(port); + const struct stm32_usart_offsets *ofs = &stm32_port->info->ofs; + + if (readl_relaxed(port->membase + ofs->isr) & USART_SR_TC) + return TIOCSER_TEMT; + + return 0; +} + +static void stm32_usart_rs485_rts_enable(struct uart_port *port) +{ + struct stm32_port *stm32_port = to_stm32_port(port); + struct serial_rs485 *rs485conf = &port->rs485; + + if (stm32_port->hw_flow_control || + !(rs485conf->flags & SER_RS485_ENABLED)) + return; + + if (rs485conf->flags & SER_RS485_RTS_ON_SEND) { + mctrl_gpio_set(stm32_port->gpios, + stm32_port->port.mctrl | TIOCM_RTS); + } else { + mctrl_gpio_set(stm32_port->gpios, + stm32_port->port.mctrl & ~TIOCM_RTS); + } +} + +static void stm32_usart_rs485_rts_disable(struct uart_port *port) +{ + struct stm32_port *stm32_port = to_stm32_port(port); + struct serial_rs485 *rs485conf = &port->rs485; + + if (stm32_port->hw_flow_control || + !(rs485conf->flags & SER_RS485_ENABLED)) + return; + + if (rs485conf->flags & SER_RS485_RTS_ON_SEND) { + mctrl_gpio_set(stm32_port->gpios, + stm32_port->port.mctrl & ~TIOCM_RTS); + } else { + mctrl_gpio_set(stm32_port->gpios, + stm32_port->port.mctrl | TIOCM_RTS); + } +} + static void stm32_usart_config_reg_rs485(u32 *cr1, u32 *cr3, u32 delay_ADE, u32 delay_DDE, u32 baud) { @@ -145,6 +192,12 @@ stm32_usart_set_bits(port, ofs->cr1, BIT(cfg->uart_enable_bit)); + /* Adjust RTS polarity in case it's driven in software */ + if (stm32_usart_tx_empty(port)) + stm32_usart_rs485_rts_disable(port); + else + stm32_usart_rs485_rts_enable(port); + return 0; } @@ -460,42 +513,6 @@ stm32_usart_clr_bits(port, ofs->cr1, USART_CR1_TCIE); } -static void stm32_usart_rs485_rts_enable(struct uart_port *port) -{ - struct stm32_port *stm32_port = to_stm32_port(port); - struct serial_rs485 *rs485conf = &port->rs485; - - if (stm32_port->hw_flow_control || - !(rs485conf->flags & SER_RS485_ENABLED)) - return; - - if (rs485conf->flags & SER_RS485_RTS_ON_SEND) { - mctrl_gpio_set(stm32_port->gpios, - stm32_port->port.mctrl | TIOCM_RTS); - } else { - mctrl_gpio_set(stm32_port->gpios, - stm32_port->port.mctrl & ~TIOCM_RTS); - } -} - -static void stm32_usart_rs485_rts_disable(struct uart_port *port) -{ - struct stm32_port *stm32_port = to_stm32_port(port); - struct serial_rs485 *rs485conf = &port->rs485; - - if (stm32_port->hw_flow_control || - !(rs485conf->flags & SER_RS485_ENABLED)) - return; - - if (rs485conf->flags & SER_RS485_RTS_ON_SEND) { - mctrl_gpio_set(stm32_port->gpios, - stm32_port->port.mctrl & ~TIOCM_RTS); - } else { - mctrl_gpio_set(stm32_port->gpios, - stm32_port->port.mctrl | TIOCM_RTS); - } -} - static void stm32_usart_transmit_chars_pio(struct uart_port *port) { struct stm32_port *stm32_port = to_stm32_port(port); @@ -712,23 +729,9 @@ spin_unlock(&port->lock); } - if (stm32_usart_rx_dma_enabled(port)) - return IRQ_WAKE_THREAD; - else - return IRQ_HANDLED; -} - -static irqreturn_t stm32_usart_threaded_interrupt(int irq, void *ptr) -{ - struct uart_port *port = ptr; - struct tty_port *tport = &port->state->port; - struct stm32_port *stm32_port = to_stm32_port(port); - unsigned int size; - unsigned long flags; - /* Receiver timeout irq for DMA RX */ - if (!stm32_port->throttled) { - spin_lock_irqsave(&port->lock, flags); + if (stm32_usart_rx_dma_enabled(port) && !stm32_port->throttled) { + spin_lock(&port->lock); size = stm32_usart_receive_chars(port, false); uart_unlock_and_check_sysrq_irqrestore(port, flags); if (size) @@ -738,17 +741,6 @@ return IRQ_HANDLED; } -static unsigned int stm32_usart_tx_empty(struct uart_port *port) -{ - struct stm32_port *stm32_port = to_stm32_port(port); - const struct stm32_usart_offsets *ofs = &stm32_port->info->ofs; - - if (readl_relaxed(port->membase + ofs->isr) & USART_SR_TC) - return TIOCSER_TEMT; - - return 0; -} - static void stm32_usart_set_mctrl(struct uart_port *port, unsigned int mctrl) { struct stm32_port *stm32_port = to_stm32_port(port); @@ -941,10 +933,8 @@ u32 val; int ret; - ret = request_threaded_irq(port->irq, stm32_usart_interrupt, - stm32_usart_threaded_interrupt, - IRQF_ONESHOT | IRQF_NO_SUSPEND, - name, port); + ret = request_irq(port->irq, stm32_usart_interrupt, + IRQF_NO_SUSPEND, name, port); if (ret) return ret; @@ -1519,13 +1509,6 @@ struct dma_slave_config config; int ret; - /* - * Using DMA and threaded handler for the console could lead to - * deadlocks. - */ - if (uart_console(port)) - return -ENODEV; - stm32port->rx_buf = dma_alloc_coherent(dev, RX_BUF_L, &stm32port->rx_dma_buf, GFP_KERNEL); @@ -1598,22 +1581,10 @@ if (!stm32port->info) return -EINVAL; - ret = stm32_usart_init_port(stm32port, pdev); - if (ret) - return ret; - - if (stm32port->wakeup_src) { - device_set_wakeup_capable(&pdev->dev, true); - ret = dev_pm_set_wake_irq(&pdev->dev, stm32port->port.irq); - if (ret) - goto err_deinit_port; - } - stm32port->rx_ch = dma_request_chan(&pdev->dev, "rx"); - if (PTR_ERR(stm32port->rx_ch) == -EPROBE_DEFER) { - ret = -EPROBE_DEFER; - goto err_wakeirq; - } + if (PTR_ERR(stm32port->rx_ch) == -EPROBE_DEFER) + return -EPROBE_DEFER; + /* Fall back in interrupt mode for any non-deferral error */ if (IS_ERR(stm32port->rx_ch)) stm32port->rx_ch = NULL; @@ -1627,6 +1598,17 @@ if (IS_ERR(stm32port->tx_ch)) stm32port->tx_ch = NULL; + ret = stm32_usart_init_port(stm32port, pdev); + if (ret) + goto err_dma_tx; + + if (stm32port->wakeup_src) { + device_set_wakeup_capable(&pdev->dev, true); + ret = dev_pm_set_wake_irq(&pdev->dev, stm32port->port.irq); + if (ret) + goto err_deinit_port; + } + if (stm32port->rx_ch && stm32_usart_of_dma_rx_probe(stm32port, pdev)) { /* Fall back in interrupt mode */ dma_release_channel(stm32port->rx_ch); @@ -1663,19 +1645,11 @@ pm_runtime_set_suspended(&pdev->dev); pm_runtime_put_noidle(&pdev->dev); - if (stm32port->tx_ch) { + if (stm32port->tx_ch) stm32_usart_of_dma_tx_remove(stm32port, pdev); - dma_release_channel(stm32port->tx_ch); - } - if (stm32port->rx_ch) stm32_usart_of_dma_rx_remove(stm32port, pdev); -err_dma_rx: - if (stm32port->rx_ch) - dma_release_channel(stm32port->rx_ch); - -err_wakeirq: if (stm32port->wakeup_src) dev_pm_clear_wake_irq(&pdev->dev); @@ -1685,6 +1659,14 @@ stm32_usart_deinit_port(stm32port); +err_dma_tx: + if (stm32port->tx_ch) + dma_release_channel(stm32port->tx_ch); + +err_dma_rx: + if (stm32port->rx_ch) + dma_release_channel(stm32port->rx_ch); + return ret; } --- linux-gcp-5.19.0.orig/drivers/tty/serial/sunsab.c +++ linux-gcp-5.19.0/drivers/tty/serial/sunsab.c @@ -1137,7 +1137,13 @@ } } - return platform_driver_register(&sab_driver); + err = platform_driver_register(&sab_driver); + if (err) { + kfree(sunsab_ports); + sunsab_ports = NULL; + } + + return err; } static void __exit sunsab_exit(void) --- linux-gcp-5.19.0.orig/drivers/tty/serial/tegra-tcu.c +++ linux-gcp-5.19.0/drivers/tty/serial/tegra-tcu.c @@ -101,7 +101,7 @@ break; tegra_tcu_write(tcu, &xmit->buf[xmit->tail], count); - xmit->tail = (xmit->tail + count) & (UART_XMIT_SIZE - 1); + uart_xmit_advance(port, count); } uart_write_wakeup(port); --- linux-gcp-5.19.0.orig/drivers/tty/serial/ucc_uart.c +++ linux-gcp-5.19.0/drivers/tty/serial/ucc_uart.c @@ -1137,6 +1137,8 @@ /* No compatible property, so try the name. */ soc_string = np->name; + of_node_put(np); + /* Extract the SOC number from the "PowerPC," string */ if ((sscanf(soc_string, "PowerPC,%u", &soc) != 1) || !soc) return 0; --- linux-gcp-5.19.0.orig/drivers/tty/serial/xilinx_uartps.c +++ linux-gcp-5.19.0/drivers/tty/serial/xilinx_uartps.c @@ -361,6 +361,8 @@ isrstatus &= ~CDNS_UART_IXR_TXEMPTY; } + isrstatus &= port->read_status_mask; + isrstatus &= ~port->ignore_status_mask; /* * Skip RX processing if RX is disabled as RXEMPTY will never be set * as read bytes will not be removed from the FIFO. @@ -1329,12 +1331,20 @@ unsigned long flags; u32 ctrl_reg; int may_wake; + int ret; may_wake = device_may_wakeup(device); if (console_suspend_enabled && uart_console(port) && !may_wake) { - clk_enable(cdns_uart->pclk); - clk_enable(cdns_uart->uartclk); + ret = clk_enable(cdns_uart->pclk); + if (ret) + return ret; + + ret = clk_enable(cdns_uart->uartclk); + if (ret) { + clk_disable(cdns_uart->pclk); + return ret; + } spin_lock_irqsave(&port->lock, flags); --- linux-gcp-5.19.0.orig/drivers/tty/vt/vc_screen.c +++ linux-gcp-5.19.0/drivers/tty/vt/vc_screen.c @@ -386,10 +386,6 @@ uni_mode = use_unicode(inode); attr = use_attributes(inode); - ret = -ENXIO; - vc = vcs_vc(inode, &viewed); - if (!vc) - goto unlock_out; ret = -EINVAL; if (pos < 0) @@ -407,6 +403,12 @@ unsigned int this_round, skip = 0; int size; + vc = vcs_vc(inode, &viewed); + if (!vc) { + ret = -ENXIO; + break; + } + /* Check whether we are above size each round, * as copy_to_user at the end of this loop * could sleep. --- linux-gcp-5.19.0.orig/drivers/tty/vt/vt.c +++ linux-gcp-5.19.0/drivers/tty/vt/vt.c @@ -344,7 +344,7 @@ /* allocate everything in one go */ memsize = cols * rows * sizeof(char32_t); memsize += rows * sizeof(char32_t *); - p = vmalloc(memsize); + p = vzalloc(memsize); if (!p) return NULL; @@ -4662,9 +4662,11 @@ console_lock(); if (vc->vc_mode != KD_TEXT) rc = -EINVAL; - else if (vc->vc_sw->con_font_set) + else if (vc->vc_sw->con_font_set) { + if (vc_is_sel(vc)) + clear_selection(); rc = vc->vc_sw->con_font_set(vc, &font, op->flags); - else + } else rc = -ENOSYS; console_unlock(); kfree(font.data); @@ -4691,9 +4693,11 @@ console_unlock(); return -EINVAL; } - if (vc->vc_sw->con_font_default) + if (vc->vc_sw->con_font_default) { + if (vc_is_sel(vc)) + clear_selection(); rc = vc->vc_sw->con_font_default(vc, &font, s); - else + } else rc = -ENOSYS; console_unlock(); if (!rc) { --- linux-gcp-5.19.0.orig/drivers/ufs/core/ufshcd.c +++ linux-gcp-5.19.0/drivers/ufs/core/ufshcd.c @@ -1232,12 +1232,14 @@ * clock scaling is in progress */ ufshcd_scsi_block_requests(hba); + mutex_lock(&hba->wb_mutex); down_write(&hba->clk_scaling_lock); if (!hba->clk_scaling.is_allowed || ufshcd_wait_for_doorbell_clr(hba, DOORBELL_CLR_TOUT_US)) { ret = -EBUSY; up_write(&hba->clk_scaling_lock); + mutex_unlock(&hba->wb_mutex); ufshcd_scsi_unblock_requests(hba); goto out; } @@ -1249,12 +1251,15 @@ return ret; } -static void ufshcd_clock_scaling_unprepare(struct ufs_hba *hba, bool writelock) +static void ufshcd_clock_scaling_unprepare(struct ufs_hba *hba, int err, bool scale_up) { - if (writelock) - up_write(&hba->clk_scaling_lock); - else - up_read(&hba->clk_scaling_lock); + up_write(&hba->clk_scaling_lock); + + /* Enable Write Booster if we have scaled up else disable it */ + ufshcd_wb_toggle(hba, scale_up); + + mutex_unlock(&hba->wb_mutex); + ufshcd_scsi_unblock_requests(hba); ufshcd_release(hba); } @@ -1271,7 +1276,6 @@ static int ufshcd_devfreq_scale(struct ufs_hba *hba, bool scale_up) { int ret = 0; - bool is_writelock = true; ret = ufshcd_clock_scaling_prepare(hba); if (ret) @@ -1300,13 +1304,8 @@ } } - /* Enable Write Booster if we have scaled up else disable it */ - downgrade_write(&hba->clk_scaling_lock); - is_writelock = false; - ufshcd_wb_toggle(hba, scale_up); - out_unprepare: - ufshcd_clock_scaling_unprepare(hba, is_writelock); + ufshcd_clock_scaling_unprepare(hba, ret, scale_up); return ret; } @@ -2227,6 +2226,8 @@ int err; hba->capabilities = ufshcd_readl(hba, REG_CONTROLLER_CAPABILITIES); + if (hba->quirks & UFSHCD_QUIRK_BROKEN_64BIT_ADDRESS) + hba->capabilities &= ~MASK_64_ADDRESSING_SUPPORT; /* nutrs and nutmrs are 0 based values */ hba->nutrs = (hba->capabilities & MASK_TRANSFER_REQUESTS_SLOTS) + 1; @@ -4290,8 +4291,13 @@ if (hba->max_pwr_info.is_valid) return 0; - pwr_info->pwr_tx = FAST_MODE; - pwr_info->pwr_rx = FAST_MODE; + if (hba->quirks & UFSHCD_QUIRK_HIBERN_FASTAUTO) { + pwr_info->pwr_tx = FASTAUTO_MODE; + pwr_info->pwr_rx = FASTAUTO_MODE; + } else { + pwr_info->pwr_tx = FAST_MODE; + pwr_info->pwr_rx = FAST_MODE; + } pwr_info->hs_rate = PA_HS_MODE_B; /* Get the connected lane count */ @@ -5061,8 +5067,8 @@ ufshcd_hpb_configure(hba, sdev); blk_queue_update_dma_pad(q, PRDT_DATA_BYTE_COUNT_PAD - 1); - if (hba->quirks & UFSHCD_QUIRK_ALIGN_SG_WITH_PAGE_SIZE) - blk_queue_update_dma_alignment(q, PAGE_SIZE - 1); + if (hba->quirks & UFSHCD_QUIRK_4KB_DMA_ALIGNMENT) + blk_queue_update_dma_alignment(q, 4096 - 1); /* * Block runtime-pm until all consumers are added. * Refer ufshcd_setup_links(). @@ -5372,6 +5378,26 @@ } } +/* Any value that is not an existing queue number is fine for this constant. */ +enum { + UFSHCD_POLL_FROM_INTERRUPT_CONTEXT = -1 +}; + +static void ufshcd_clear_polled(struct ufs_hba *hba, + unsigned long *completed_reqs) +{ + int tag; + + for_each_set_bit(tag, completed_reqs, hba->nutrs) { + struct scsi_cmnd *cmd = hba->lrb[tag].cmd; + + if (!cmd) + continue; + if (scsi_cmd_to_rq(cmd)->cmd_flags & REQ_POLLED) + __clear_bit(tag, completed_reqs); + } +} + /* * Returns > 0 if one or more commands have been completed or 0 if no * requests have been completed. @@ -5388,13 +5414,17 @@ WARN_ONCE(completed_reqs & ~hba->outstanding_reqs, "completed: %#lx; outstanding: %#lx\n", completed_reqs, hba->outstanding_reqs); + if (queue_num == UFSHCD_POLL_FROM_INTERRUPT_CONTEXT) { + /* Do not complete polled requests from interrupt context. */ + ufshcd_clear_polled(hba, &completed_reqs); + } hba->outstanding_reqs &= ~completed_reqs; spin_unlock_irqrestore(&hba->outstanding_lock, flags); if (completed_reqs) __ufshcd_transfer_req_compl(hba, completed_reqs); - return completed_reqs; + return completed_reqs != 0; } /** @@ -5425,7 +5455,7 @@ * Ignore the ufshcd_poll() return value and return IRQ_HANDLED since we * do not want polling to trigger spurious interrupt complaints. */ - ufshcd_poll(hba->host, 0); + ufshcd_poll(hba->host, UFSHCD_POLL_FROM_INTERRUPT_CONTEXT); return IRQ_HANDLED; } @@ -6060,11 +6090,21 @@ } } +static void ufshcd_force_error_recovery(struct ufs_hba *hba) +{ + spin_lock_irq(hba->host->host_lock); + hba->force_reset = true; + ufshcd_schedule_eh_work(hba); + spin_unlock_irq(hba->host->host_lock); +} + static void ufshcd_clk_scaling_allow(struct ufs_hba *hba, bool allow) { + mutex_lock(&hba->wb_mutex); down_write(&hba->clk_scaling_lock); hba->clk_scaling.is_allowed = allow; up_write(&hba->clk_scaling_lock); + mutex_unlock(&hba->wb_mutex); } static void ufshcd_clk_scaling_suspend(struct ufs_hba *hba, bool suspend) @@ -8750,7 +8790,7 @@ */ for (retries = 3; retries > 0; --retries) { ret = scsi_execute(sdp, cmd, DMA_NONE, NULL, 0, NULL, &sshdr, - START_STOP_TIMEOUT, 0, 0, RQF_PM, NULL); + HZ, 0, 0, RQF_PM, NULL); if (!scsi_status_is_check_condition(ret) || !scsi_sense_valid(&sshdr) || sshdr.sense_key != UNIT_ATTENTION) @@ -9011,6 +9051,15 @@ if (!hba->dev_info.b_rpm_dev_flush_capable) { ret = ufshcd_set_dev_pwr_mode(hba, req_dev_pwr_mode); + if (ret && pm_op != UFS_SHUTDOWN_PM) { + /* + * If return err in suspend flow, IO will hang. + * Trigger error handler and break suspend for + * error recovery. + */ + ufshcd_force_error_recovery(hba); + ret = -EBUSY; + } if (ret) goto enable_scaling; } @@ -9022,6 +9071,15 @@ */ check_for_bkops = !ufshcd_is_ufs_dev_deepsleep(hba); ret = ufshcd_link_state_transition(hba, req_link_state, check_for_bkops); + if (ret && pm_op != UFS_SHUTDOWN_PM) { + /* + * If return err in suspend flow, IO will hang. + * Trigger error handler and break suspend for + * error recovery. + */ + ufshcd_force_error_recovery(hba); + ret = -EBUSY; + } if (ret) goto set_dev_active; @@ -9484,12 +9542,8 @@ int ufshcd_shutdown(struct ufs_hba *hba) { if (ufshcd_is_ufs_dev_poweroff(hba) && ufshcd_is_link_off(hba)) - goto out; + ufshcd_suspend(hba); - pm_runtime_get_sync(hba->dev); - - ufshcd_suspend(hba); -out: hba->is_powered = false; /* allow force shutdown even in case of errors */ return 0; @@ -9509,7 +9563,7 @@ ufs_bsg_remove(hba); ufshpb_remove(hba); ufs_sysfs_remove_nodes(hba->dev); - blk_cleanup_queue(hba->tmf_queue); + blk_mq_destroy_queue(hba->tmf_queue); blk_mq_free_tag_set(&hba->tmf_tag_set); scsi_remove_host(hba->host); /* disable interrupts */ @@ -9696,6 +9750,7 @@ /* Initialize mutex for exception event control */ mutex_init(&hba->ee_ctrl_mutex); + mutex_init(&hba->wb_mutex); init_rwsem(&hba->clk_scaling_lock); ufshcd_init_clk_gating(hba); @@ -9805,7 +9860,7 @@ return 0; free_tmf_queue: - blk_cleanup_queue(hba->tmf_queue); + blk_mq_destroy_queue(hba->tmf_queue); free_tmf_tag_set: blk_mq_free_tag_set(&hba->tmf_tag_set); out_remove_scsi_host: --- linux-gcp-5.19.0.orig/drivers/ufs/host/ufs-exynos.c +++ linux-gcp-5.19.0/drivers/ufs/host/ufs-exynos.c @@ -910,9 +910,13 @@ if (ret) { dev_err(hba->dev, "%s: phy init failed, ret = %d\n", __func__, ret); - goto out_exit_phy; + return ret; } + ret = phy_power_on(generic_phy); + if (ret) + goto out_exit_phy; + return 0; out_exit_phy: @@ -1174,10 +1178,6 @@ goto out; } - ret = phy_power_on(ufs->phy); - if (ret) - goto phy_off; - exynos_ufs_priv_init(hba, ufs); if (ufs->drv_data->drv_init) { @@ -1195,8 +1195,6 @@ exynos_ufs_config_smu(ufs); return 0; -phy_off: - phy_power_off(ufs->phy); out: hba->priv = NULL; return ret; @@ -1514,9 +1512,14 @@ static int exynos_ufs_remove(struct platform_device *pdev) { struct ufs_hba *hba = platform_get_drvdata(pdev); + struct exynos_ufs *ufs = ufshcd_get_variant(hba); pm_runtime_get_sync(&(pdev)->dev); ufshcd_remove(hba); + + phy_power_off(ufs->phy); + phy_exit(ufs->phy); + return 0; } @@ -1582,7 +1585,7 @@ UFSHCD_QUIRK_BROKEN_OCS_FATAL_ERROR | UFSHCI_QUIRK_SKIP_MANUAL_WB_FLUSH_CTRL | UFSHCD_QUIRK_SKIP_DEF_UNIPRO_TIMEOUT_SETTING | - UFSHCD_QUIRK_ALIGN_SG_WITH_PAGE_SIZE, + UFSHCD_QUIRK_4KB_DMA_ALIGNMENT, .opts = EXYNOS_UFS_OPT_HAS_APB_CLK_CTRL | EXYNOS_UFS_OPT_BROKEN_AUTO_CLK_CTRL | EXYNOS_UFS_OPT_BROKEN_RX_SEL_IDX | --- linux-gcp-5.19.0.orig/drivers/ufs/host/ufs-mediatek.c +++ linux-gcp-5.19.0/drivers/ufs/host/ufs-mediatek.c @@ -1026,7 +1026,6 @@ * ufshcd_suspend() re-enabling regulators while vreg is still * in low-power mode. */ - ufs_mtk_vreg_set_lpm(hba, true); err = ufs_mtk_mphy_power_on(hba, false); if (err) goto fail; @@ -1050,12 +1049,13 @@ { int err; + if (hba->ufshcd_state != UFSHCD_STATE_OPERATIONAL) + ufs_mtk_vreg_set_lpm(hba, false); + err = ufs_mtk_mphy_power_on(hba, true); if (err) goto fail; - ufs_mtk_vreg_set_lpm(hba, false); - if (ufshcd_is_link_hibern8(hba)) { err = ufs_mtk_link_set_hpm(hba); if (err) @@ -1220,9 +1220,59 @@ return 0; } +#ifdef CONFIG_PM_SLEEP +int ufs_mtk_system_suspend(struct device *dev) +{ + struct ufs_hba *hba = dev_get_drvdata(dev); + int ret; + + ret = ufshcd_system_suspend(dev); + if (ret) + return ret; + + ufs_mtk_vreg_set_lpm(hba, true); + + return 0; +} + +int ufs_mtk_system_resume(struct device *dev) +{ + struct ufs_hba *hba = dev_get_drvdata(dev); + + ufs_mtk_vreg_set_lpm(hba, false); + + return ufshcd_system_resume(dev); +} +#endif + +int ufs_mtk_runtime_suspend(struct device *dev) +{ + struct ufs_hba *hba = dev_get_drvdata(dev); + int ret = 0; + + ret = ufshcd_runtime_suspend(dev); + if (ret) + return ret; + + ufs_mtk_vreg_set_lpm(hba, true); + + return 0; +} + +int ufs_mtk_runtime_resume(struct device *dev) +{ + struct ufs_hba *hba = dev_get_drvdata(dev); + + ufs_mtk_vreg_set_lpm(hba, false); + + return ufshcd_runtime_resume(dev); +} + static const struct dev_pm_ops ufs_mtk_pm_ops = { - SET_SYSTEM_SLEEP_PM_OPS(ufshcd_system_suspend, ufshcd_system_resume) - SET_RUNTIME_PM_OPS(ufshcd_runtime_suspend, ufshcd_runtime_resume, NULL) + SET_SYSTEM_SLEEP_PM_OPS(ufs_mtk_system_suspend, + ufs_mtk_system_resume) + SET_RUNTIME_PM_OPS(ufs_mtk_runtime_suspend, + ufs_mtk_runtime_resume, NULL) .prepare = ufshcd_suspend_prepare, .complete = ufshcd_resume_complete, }; --- linux-gcp-5.19.0.orig/drivers/uio/uio_dmem_genirq.c +++ linux-gcp-5.19.0/drivers/uio/uio_dmem_genirq.c @@ -110,8 +110,10 @@ * remember the state so we can allow user space to enable it later. */ + spin_lock(&priv->lock); if (!test_and_set_bit(0, &priv->flags)) disable_irq_nosync(irq); + spin_unlock(&priv->lock); return IRQ_HANDLED; } @@ -125,20 +127,19 @@ * in the interrupt controller, but keep track of the * state to prevent per-irq depth damage. * - * Serialize this operation to support multiple tasks. + * Serialize this operation to support multiple tasks and concurrency + * with irq handler on SMP systems. */ spin_lock_irqsave(&priv->lock, flags); if (irq_on) { if (test_and_clear_bit(0, &priv->flags)) enable_irq(dev_info->irq); - spin_unlock_irqrestore(&priv->lock, flags); } else { - if (!test_and_set_bit(0, &priv->flags)) { - spin_unlock_irqrestore(&priv->lock, flags); - disable_irq(dev_info->irq); - } + if (!test_and_set_bit(0, &priv->flags)) + disable_irq_nosync(dev_info->irq); } + spin_unlock_irqrestore(&priv->lock, flags); return 0; } --- linux-gcp-5.19.0.orig/drivers/usb/cdns3/cdns3-gadget.c +++ linux-gcp-5.19.0/drivers/usb/cdns3/cdns3-gadget.c @@ -220,7 +220,7 @@ if (!priv_ep->trb_pool) { priv_ep->trb_pool = dma_pool_alloc(priv_dev->eps_dma_pool, - GFP_DMA32 | GFP_ATOMIC, + GFP_ATOMIC, &priv_ep->trb_pool_dma); if (!priv_ep->trb_pool) @@ -625,9 +625,9 @@ trace_cdns3_wa2(priv_ep, "removes eldest request"); kfree(priv_req->request.buf); + list_del_init(&priv_req->list); cdns3_gadget_ep_free_request(&priv_ep->endpoint, &priv_req->request); - list_del_init(&priv_req->list); --priv_ep->wa2_counter; if (!chain) @@ -1530,7 +1530,8 @@ TRB_LEN(le32_to_cpu(trb->length)); if (priv_req->num_of_trb > 1 && - le32_to_cpu(trb->control) & TRB_SMM) + le32_to_cpu(trb->control) & TRB_SMM && + le32_to_cpu(trb->control) & TRB_CHAIN) transfer_end = true; cdns3_ep_inc_deq(priv_ep); @@ -1690,6 +1691,7 @@ ep_cfg &= ~EP_CFG_ENABLE; writel(ep_cfg, &priv_dev->regs->ep_cfg); priv_ep->flags &= ~EP_QUIRK_ISO_OUT_EN; + priv_ep->flags |= EP_UPDATE_EP_TRBADDR; } cdns3_transfer_completed(priv_dev, priv_ep); } else if (!(priv_ep->flags & EP_STALLED) && @@ -2284,11 +2286,16 @@ int ret = 0; int val; + if (!ep) { + pr_debug("usbss: ep not configured?\n"); + return -EINVAL; + } + priv_ep = ep_to_cdns3_ep(ep); priv_dev = priv_ep->cdns3_dev; comp_desc = priv_ep->endpoint.comp_desc; - if (!ep || !desc || desc->bDescriptorType != USB_DT_ENDPOINT) { + if (!desc || desc->bDescriptorType != USB_DT_ENDPOINT) { dev_dbg(priv_dev->dev, "usbss: invalid parameters\n"); return -EINVAL; } @@ -2600,17 +2607,20 @@ struct usb_request *request) { struct cdns3_endpoint *priv_ep = ep_to_cdns3_ep(ep); - struct cdns3_device *priv_dev = priv_ep->cdns3_dev; + struct cdns3_device *priv_dev; struct usb_request *req, *req_temp; struct cdns3_request *priv_req; struct cdns3_trb *link_trb; u8 req_on_hw_ring = 0; unsigned long flags; int ret = 0; + int val; if (!ep || !request || !ep->desc) return -EINVAL; + priv_dev = priv_ep->cdns3_dev; + spin_lock_irqsave(&priv_dev->lock, flags); priv_req = to_cdns3_request(request); @@ -2640,6 +2650,13 @@ /* Update ring only if removed request is on pending_req_list list */ if (req_on_hw_ring && link_trb) { + /* Stop DMA */ + writel(EP_CMD_DFLUSH, &priv_dev->regs->ep_cmd); + + /* wait for DFLUSH cleared */ + readl_poll_timeout_atomic(&priv_dev->regs->ep_cmd, val, + !(val & EP_CMD_DFLUSH), 1, 1000); + link_trb->buffer = cpu_to_le32(TRB_BUFFER(priv_ep->trb_pool_dma + ((priv_req->end_trb + 1) * TRB_SIZE))); link_trb->control = cpu_to_le32((le32_to_cpu(link_trb->control) & TRB_CYCLE) | @@ -2651,6 +2668,10 @@ cdns3_gadget_giveback(priv_ep, priv_req, -ECONNRESET); + req = cdns3_next_request(&priv_ep->pending_req_list); + if (req) + cdns3_rearm_transfer(priv_ep, 1); + not_found: spin_unlock_irqrestore(&priv_dev->lock, flags); return ret; --- linux-gcp-5.19.0.orig/drivers/usb/cdns3/cdnsp-gadget.c +++ linux-gcp-5.19.0/drivers/usb/cdns3/cdnsp-gadget.c @@ -600,11 +600,11 @@ trace_cdnsp_ep_halt(value ? "Set" : "Clear"); - if (value) { - ret = cdnsp_cmd_stop_ep(pdev, pep); - if (ret) - return ret; + ret = cdnsp_cmd_stop_ep(pdev, pep); + if (ret) + return ret; + if (value) { if (GET_EP_CTX_STATE(pep->out_ctx) == EP_STATE_STOPPED) { cdnsp_queue_halt_endpoint(pdev, pep->idx); cdnsp_ring_cmd_db(pdev); @@ -613,10 +613,6 @@ pep->ep_state |= EP_HALTED; } else { - /* - * In device mode driver can call reset endpoint command - * from any endpoint state. - */ cdnsp_queue_reset_ep(pdev, pep->idx); cdnsp_ring_cmd_db(pdev); ret = cdnsp_wait_for_cmd_compl(pdev); --- linux-gcp-5.19.0.orig/drivers/usb/cdns3/cdnsp-ring.c +++ linux-gcp-5.19.0/drivers/usb/cdns3/cdnsp-ring.c @@ -1763,10 +1763,15 @@ int trb_buff_len, unsigned int td_total_len, struct cdnsp_request *preq, - bool more_trbs_coming) + bool more_trbs_coming, + bool zlp) { u32 maxp, total_packet_count; + /* Before ZLP driver needs set TD_SIZE = 1. */ + if (zlp) + return 1; + /* One TRB with a zero-length data packet. */ if (!more_trbs_coming || (transferred == 0 && trb_buff_len == 0) || trb_buff_len == td_total_len) @@ -1960,7 +1965,8 @@ /* Set the TRB length, TD size, and interrupter fields. */ remainder = cdnsp_td_remainder(pdev, enqd_len, trb_buff_len, full_len, preq, - more_trbs_coming); + more_trbs_coming, + zero_len_trb); length_field = TRB_LEN(trb_buff_len) | TRB_TD_SIZE(remainder) | TRB_INTR_TARGET(0); @@ -2000,10 +2006,11 @@ int cdnsp_queue_ctrl_tx(struct cdnsp_device *pdev, struct cdnsp_request *preq) { - u32 field, length_field, remainder; + u32 field, length_field, zlp = 0; struct cdnsp_ep *pep = preq->pep; struct cdnsp_ring *ep_ring; int num_trbs; + u32 maxp; int ret; ep_ring = cdnsp_request_to_transfer_ring(pdev, preq); @@ -2013,26 +2020,33 @@ /* 1 TRB for data, 1 for status */ num_trbs = (pdev->three_stage_setup) ? 2 : 1; + maxp = usb_endpoint_maxp(pep->endpoint.desc); + + if (preq->request.zero && preq->request.length && + (preq->request.length % maxp == 0)) { + num_trbs++; + zlp = 1; + } + ret = cdnsp_prepare_transfer(pdev, preq, num_trbs); if (ret) return ret; /* If there's data, queue data TRBs */ - if (pdev->ep0_expect_in) - field = TRB_TYPE(TRB_DATA) | TRB_IOC; - else - field = TRB_ISP | TRB_TYPE(TRB_DATA) | TRB_IOC; - if (preq->request.length > 0) { - remainder = cdnsp_td_remainder(pdev, 0, preq->request.length, - preq->request.length, preq, 1); + field = TRB_TYPE(TRB_DATA); - length_field = TRB_LEN(preq->request.length) | - TRB_TD_SIZE(remainder) | TRB_INTR_TARGET(0); + if (zlp) + field |= TRB_CHAIN; + else + field |= TRB_IOC | (pdev->ep0_expect_in ? 0 : TRB_ISP); if (pdev->ep0_expect_in) field |= TRB_DIR_IN; + length_field = TRB_LEN(preq->request.length) | + TRB_TD_SIZE(zlp) | TRB_INTR_TARGET(0); + cdnsp_queue_trb(pdev, ep_ring, true, lower_32_bits(preq->request.dma), upper_32_bits(preq->request.dma), length_field, @@ -2040,6 +2054,20 @@ TRB_SETUPID(pdev->setup_id) | pdev->setup_speed); + if (zlp) { + field = TRB_TYPE(TRB_NORMAL) | TRB_IOC; + + if (!pdev->ep0_expect_in) + field = TRB_ISP; + + cdnsp_queue_trb(pdev, ep_ring, true, + lower_32_bits(preq->request.dma), + upper_32_bits(preq->request.dma), 0, + field | ep_ring->cycle_state | + TRB_SETUPID(pdev->setup_id) | + pdev->setup_speed); + } + pdev->ep0_stage = CDNSP_DATA_STAGE; } @@ -2076,7 +2104,8 @@ u32 ep_state = GET_EP_CTX_STATE(pep->out_ctx); int ret = 0; - if (ep_state == EP_STATE_STOPPED || ep_state == EP_STATE_DISABLED) { + if (ep_state == EP_STATE_STOPPED || ep_state == EP_STATE_DISABLED || + ep_state == EP_STATE_HALTED) { trace_cdnsp_ep_stopped_or_disabled(pep->out_ctx); goto ep_stopped; } @@ -2225,7 +2254,7 @@ /* Set the TRB length, TD size, & interrupter fields. */ remainder = cdnsp_td_remainder(pdev, running_total, trb_buff_len, td_len, preq, - more_trbs_coming); + more_trbs_coming, 0); length_field = TRB_LEN(trb_buff_len) | TRB_INTR_TARGET(0); --- linux-gcp-5.19.0.orig/drivers/usb/cdns3/host.c +++ linux-gcp-5.19.0/drivers/usb/cdns3/host.c @@ -24,11 +24,37 @@ #define CFG_RXDET_P3_EN BIT(15) #define LPM_2_STB_SWITCH_EN BIT(25) -static int xhci_cdns3_suspend_quirk(struct usb_hcd *hcd); +static void xhci_cdns3_plat_start(struct usb_hcd *hcd) +{ + struct xhci_hcd *xhci = hcd_to_xhci(hcd); + u32 value; + + /* set usbcmd.EU3S */ + value = readl(&xhci->op_regs->command); + value |= CMD_PM_INDEX; + writel(value, &xhci->op_regs->command); + + if (hcd->regs) { + value = readl(hcd->regs + XECP_AUX_CTRL_REG1); + value |= CFG_RXDET_P3_EN; + writel(value, hcd->regs + XECP_AUX_CTRL_REG1); + + value = readl(hcd->regs + XECP_PORT_CAP_REG); + value |= LPM_2_STB_SWITCH_EN; + writel(value, hcd->regs + XECP_PORT_CAP_REG); + } +} + +static int xhci_cdns3_resume_quirk(struct usb_hcd *hcd) +{ + xhci_cdns3_plat_start(hcd); + return 0; +} static const struct xhci_plat_priv xhci_plat_cdns3_xhci = { .quirks = XHCI_SKIP_PHY_INIT | XHCI_AVOID_BEI, - .suspend_quirk = xhci_cdns3_suspend_quirk, + .plat_start = xhci_cdns3_plat_start, + .resume_quirk = xhci_cdns3_resume_quirk, }; static int __cdns_host_init(struct cdns *cdns) @@ -90,32 +116,6 @@ return ret; } -static int xhci_cdns3_suspend_quirk(struct usb_hcd *hcd) -{ - struct xhci_hcd *xhci = hcd_to_xhci(hcd); - u32 value; - - if (pm_runtime_status_suspended(hcd->self.controller)) - return 0; - - /* set usbcmd.EU3S */ - value = readl(&xhci->op_regs->command); - value |= CMD_PM_INDEX; - writel(value, &xhci->op_regs->command); - - if (hcd->regs) { - value = readl(hcd->regs + XECP_AUX_CTRL_REG1); - value |= CFG_RXDET_P3_EN; - writel(value, hcd->regs + XECP_AUX_CTRL_REG1); - - value = readl(hcd->regs + XECP_PORT_CAP_REG); - value |= LPM_2_STB_SWITCH_EN; - writel(value, hcd->regs + XECP_PORT_CAP_REG); - } - - return 0; -} - static void cdns_host_exit(struct cdns *cdns) { kfree(cdns->xhci_plat_data); --- linux-gcp-5.19.0.orig/drivers/usb/chipidea/otg_fsm.c +++ linux-gcp-5.19.0/drivers/usb/chipidea/otg_fsm.c @@ -256,8 +256,10 @@ ci->enabled_otg_timer_bits &= ~(1 << t); if (ci->next_otg_timer == t) { if (ci->enabled_otg_timer_bits == 0) { + spin_unlock_irqrestore(&ci->lock, flags); /* No enabled timers after delete it */ hrtimer_cancel(&ci->otg_fsm_hrtimer); + spin_lock_irqsave(&ci->lock, flags); ci->next_otg_timer = NUM_OTG_FSM_TIMERS; } else { /* Find the next timer */ --- linux-gcp-5.19.0.orig/drivers/usb/class/cdc-acm.c +++ linux-gcp-5.19.0/drivers/usb/class/cdc-acm.c @@ -1810,6 +1810,9 @@ { USB_DEVICE(0x09d8, 0x0320), /* Elatec GmbH TWN3 */ .driver_info = NO_UNION_NORMAL, /* has misplaced union descriptor */ }, + { USB_DEVICE(0x0c26, 0x0020), /* Icom ICF3400 Serie */ + .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */ + }, { USB_DEVICE(0x0ca6, 0xa050), /* Castles VEGA3000 */ .driver_info = NO_UNION_NORMAL, /* reports zero length descriptor */ }, @@ -1957,6 +1960,20 @@ .driver_info = IGNORE_DEVICE, }, + /* Exclude Exar USB serial ports */ + { USB_DEVICE(0x04e2, 0x1400), .driver_info = IGNORE_DEVICE, }, + { USB_DEVICE(0x04e2, 0x1401), .driver_info = IGNORE_DEVICE, }, + { USB_DEVICE(0x04e2, 0x1402), .driver_info = IGNORE_DEVICE, }, + { USB_DEVICE(0x04e2, 0x1403), .driver_info = IGNORE_DEVICE, }, + { USB_DEVICE(0x04e2, 0x1410), .driver_info = IGNORE_DEVICE, }, + { USB_DEVICE(0x04e2, 0x1411), .driver_info = IGNORE_DEVICE, }, + { USB_DEVICE(0x04e2, 0x1412), .driver_info = IGNORE_DEVICE, }, + { USB_DEVICE(0x04e2, 0x1414), .driver_info = IGNORE_DEVICE, }, + { USB_DEVICE(0x04e2, 0x1420), .driver_info = IGNORE_DEVICE, }, + { USB_DEVICE(0x04e2, 0x1421), .driver_info = IGNORE_DEVICE, }, + { USB_DEVICE(0x04e2, 0x1422), .driver_info = IGNORE_DEVICE, }, + { USB_DEVICE(0x04e2, 0x1424), .driver_info = IGNORE_DEVICE, }, + /* control interfaces without any protocol set */ { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, USB_CDC_PROTO_NONE) }, --- linux-gcp-5.19.0.orig/drivers/usb/common/debug.c +++ linux-gcp-5.19.0/drivers/usb/common/debug.c @@ -208,30 +208,28 @@ snprintf(str, size, "Set Isochronous Delay(Delay = %d ns)", wValue); } -/** - * usb_decode_ctrl - Returns human readable representation of control request. - * @str: buffer to return a human-readable representation of control request. - * This buffer should have about 200 bytes. - * @size: size of str buffer. - * @bRequestType: matches the USB bmRequestType field - * @bRequest: matches the USB bRequest field - * @wValue: matches the USB wValue field (CPU byte order) - * @wIndex: matches the USB wIndex field (CPU byte order) - * @wLength: matches the USB wLength field (CPU byte order) - * - * Function returns decoded, formatted and human-readable description of - * control request packet. - * - * The usage scenario for this is for tracepoints, so function as a return - * use the same value as in parameters. This approach allows to use this - * function in TP_printk - * - * Important: wValue, wIndex, wLength parameters before invoking this function - * should be processed by le16_to_cpu macro. - */ -const char *usb_decode_ctrl(char *str, size_t size, __u8 bRequestType, - __u8 bRequest, __u16 wValue, __u16 wIndex, - __u16 wLength) +static void usb_decode_ctrl_generic(char *str, size_t size, __u8 bRequestType, + __u8 bRequest, __u16 wValue, __u16 wIndex, + __u16 wLength) +{ + u8 recip = bRequestType & USB_RECIP_MASK; + u8 type = bRequestType & USB_TYPE_MASK; + + snprintf(str, size, + "Type=%s Recipient=%s Dir=%s bRequest=%u wValue=%u wIndex=%u wLength=%u", + (type == USB_TYPE_STANDARD) ? "Standard" : + (type == USB_TYPE_VENDOR) ? "Vendor" : + (type == USB_TYPE_CLASS) ? "Class" : "Unknown", + (recip == USB_RECIP_DEVICE) ? "Device" : + (recip == USB_RECIP_INTERFACE) ? "Interface" : + (recip == USB_RECIP_ENDPOINT) ? "Endpoint" : "Unknown", + (bRequestType & USB_DIR_IN) ? "IN" : "OUT", + bRequest, wValue, wIndex, wLength); +} + +static void usb_decode_ctrl_standard(char *str, size_t size, __u8 bRequestType, + __u8 bRequest, __u16 wValue, __u16 wIndex, + __u16 wLength) { switch (bRequest) { case USB_REQ_GET_STATUS: @@ -272,14 +270,48 @@ usb_decode_set_isoch_delay(wValue, str, size); break; default: - snprintf(str, size, "%02x %02x %02x %02x %02x %02x %02x %02x", - bRequestType, bRequest, - (u8)(cpu_to_le16(wValue) & 0xff), - (u8)(cpu_to_le16(wValue) >> 8), - (u8)(cpu_to_le16(wIndex) & 0xff), - (u8)(cpu_to_le16(wIndex) >> 8), - (u8)(cpu_to_le16(wLength) & 0xff), - (u8)(cpu_to_le16(wLength) >> 8)); + usb_decode_ctrl_generic(str, size, bRequestType, bRequest, + wValue, wIndex, wLength); + break; + } +} + +/** + * usb_decode_ctrl - Returns human readable representation of control request. + * @str: buffer to return a human-readable representation of control request. + * This buffer should have about 200 bytes. + * @size: size of str buffer. + * @bRequestType: matches the USB bmRequestType field + * @bRequest: matches the USB bRequest field + * @wValue: matches the USB wValue field (CPU byte order) + * @wIndex: matches the USB wIndex field (CPU byte order) + * @wLength: matches the USB wLength field (CPU byte order) + * + * Function returns decoded, formatted and human-readable description of + * control request packet. + * + * The usage scenario for this is for tracepoints, so function as a return + * use the same value as in parameters. This approach allows to use this + * function in TP_printk + * + * Important: wValue, wIndex, wLength parameters before invoking this function + * should be processed by le16_to_cpu macro. + */ +const char *usb_decode_ctrl(char *str, size_t size, __u8 bRequestType, + __u8 bRequest, __u16 wValue, __u16 wIndex, + __u16 wLength) +{ + switch (bRequestType & USB_TYPE_MASK) { + case USB_TYPE_STANDARD: + usb_decode_ctrl_standard(str, size, bRequestType, bRequest, + wValue, wIndex, wLength); + break; + case USB_TYPE_VENDOR: + case USB_TYPE_CLASS: + default: + usb_decode_ctrl_generic(str, size, bRequestType, bRequest, + wValue, wIndex, wLength); + break; } return str; --- linux-gcp-5.19.0.orig/drivers/usb/common/usb-conn-gpio.c +++ linux-gcp-5.19.0/drivers/usb/common/usb-conn-gpio.c @@ -208,10 +208,8 @@ if (PTR_ERR(info->vbus) == -ENODEV) info->vbus = NULL; - if (IS_ERR(info->vbus)) { - ret = PTR_ERR(info->vbus); - return dev_err_probe(dev, ret, "failed to get vbus :%d\n", ret); - } + if (IS_ERR(info->vbus)) + return dev_err_probe(dev, PTR_ERR(info->vbus), "failed to get vbus\n"); info->role_sw = usb_role_switch_get(dev); if (IS_ERR(info->role_sw)) --- linux-gcp-5.19.0.orig/drivers/usb/core/hcd.c +++ linux-gcp-5.19.0/drivers/usb/core/hcd.c @@ -1691,7 +1691,6 @@ spin_lock_irq(&bh->lock); bh->running = true; - restart: list_replace_init(&bh->head, &local_list); spin_unlock_irq(&bh->lock); @@ -1705,10 +1704,17 @@ bh->completing_ep = NULL; } - /* check if there are new URBs to giveback */ + /* + * giveback new URBs next time to prevent this function + * from not exiting for a long time. + */ spin_lock_irq(&bh->lock); - if (!list_empty(&bh->head)) - goto restart; + if (!list_empty(&bh->head)) { + if (bh->high_prio) + tasklet_hi_schedule(&bh->bh); + else + tasklet_schedule(&bh->bh); + } bh->running = false; spin_unlock_irq(&bh->lock); } @@ -1737,7 +1743,7 @@ void usb_hcd_giveback_urb(struct usb_hcd *hcd, struct urb *urb, int status) { struct giveback_urb_bh *bh; - bool running, high_prio_bh; + bool running; /* pass status to tasklet via unlinked */ if (likely(!urb->unlinked)) @@ -1748,13 +1754,10 @@ return; } - if (usb_pipeisoc(urb->pipe) || usb_pipeint(urb->pipe)) { + if (usb_pipeisoc(urb->pipe) || usb_pipeint(urb->pipe)) bh = &hcd->high_prio_bh; - high_prio_bh = true; - } else { + else bh = &hcd->low_prio_bh; - high_prio_bh = false; - } spin_lock(&bh->lock); list_add_tail(&urb->urb_list, &bh->head); @@ -1763,7 +1766,7 @@ if (running) ; - else if (high_prio_bh) + else if (bh->high_prio) tasklet_hi_schedule(&bh->bh); else tasklet_schedule(&bh->bh); @@ -2959,6 +2962,7 @@ /* initialize tasklets */ init_giveback_urb_bh(&hcd->high_prio_bh); + hcd->high_prio_bh.high_prio = true; init_giveback_urb_bh(&hcd->low_prio_bh); /* enable irqs just before we start the controller, @@ -3033,9 +3037,15 @@ */ void usb_remove_hcd(struct usb_hcd *hcd) { - struct usb_device *rhdev = hcd->self.root_hub; + struct usb_device *rhdev; bool rh_registered; + if (!hcd) { + pr_debug("%s: hcd is NULL\n", __func__); + return; + } + rhdev = hcd->self.root_hub; + dev_info(hcd->self.controller, "remove, state %x\n", hcd->state); usb_get_dev(rhdev); --- linux-gcp-5.19.0.orig/drivers/usb/core/hub.c +++ linux-gcp-5.19.0/drivers/usb/core/hub.c @@ -43,6 +43,9 @@ #define USB_PRODUCT_USB5534B 0x5534 #define USB_VENDOR_CYPRESS 0x04b4 #define USB_PRODUCT_CY7C65632 0x6570 +#define USB_VENDOR_TEXAS_INSTRUMENTS 0x0451 +#define USB_PRODUCT_TUSB8041_USB3 0x8140 +#define USB_PRODUCT_TUSB8041_USB2 0x8142 #define HUB_QUIRK_CHECK_PORT_AUTOSUSPEND 0x01 #define HUB_QUIRK_DISABLE_AUTOSUSPEND 0x02 @@ -828,9 +831,9 @@ * * Return: 0 if successful. A negative error code otherwise. */ -int usb_hub_set_port_power(struct usb_device *hdev, struct usb_hub *hub, - int port1, bool set) +int usb_hub_set_port_power(struct usb_hub *hub, int port1, bool set) { + struct usb_device *hdev = hub->hdev; int ret; if (set) @@ -2379,9 +2382,8 @@ * usb_enumerate_device - Read device configs/intfs/otg (usbcore-internal) * @udev: newly addressed device (in ADDRESS state) * - * This is only called by usb_new_device() and usb_authorize_device() - * and FIXME -- all comments that apply to them apply here wrt to - * environment. + * This is only called by usb_new_device() -- all comments that apply there + * apply here wrt to environment. * * If the device is WUSB and not authorized, we don't attempt to read * the string descriptors, as they will be errored out by the device @@ -2834,6 +2836,39 @@ || link_state == USB_SS_PORT_LS_COMP_MOD; } +static bool hub_port_power_cycle_required(struct usb_hub *hub, int port1, + u16 portstatus) +{ + u16 link_state; + + if (!hub_is_superspeed(hub->hdev)) + return false; + + link_state = portstatus & USB_PORT_STAT_LINK_STATE; + return link_state == USB_SS_PORT_LS_SS_DISABLED; +} + +static void hub_port_power_cycle(struct usb_hub *hub, int port1) +{ + struct usb_port *port_dev = hub->ports[port1 - 1]; + int ret; + + ret = usb_hub_set_port_power(hub, port1, false); + if (ret) { + dev_info(&port_dev->dev, "failed to disable port power\n"); + return; + } + + msleep(2 * hub_power_on_good_delay(hub)); + ret = usb_hub_set_port_power(hub, port1, true); + if (ret) { + dev_info(&port_dev->dev, "failed to enable port power\n"); + return; + } + + msleep(hub_power_on_good_delay(hub)); +} + static int hub_port_wait_reset(struct usb_hub *hub, int port1, struct usb_device *udev, unsigned int delay, bool warm) { @@ -3709,6 +3744,10 @@ if (status < 0) { dev_dbg(&udev->dev, "can't resume, status %d\n", status); hub_port_logical_disconnect(hub, port1); + if (hub_port_power_cycle_required(hub, port1, portstatus)) { + dev_dbg(&udev->dev, "device in disabled state, attempt power cycle\n"); + hub_port_power_cycle(hub, port1); + } } else { /* Try to enable USB2 hardware LPM */ usb_enable_usb2_hardware_lpm(udev); @@ -5400,10 +5439,7 @@ /* When halfway through our retry count, power-cycle the port */ if (i == (PORT_INIT_TRIES - 1) / 2) { dev_info(&port_dev->dev, "attempt power cycle\n"); - usb_hub_set_port_power(hdev, hub, port1, false); - msleep(2 * hub_power_on_good_delay(hub)); - usb_hub_set_port_power(hdev, hub, port1, true); - msleep(hub_power_on_good_delay(hub)); + hub_port_power_cycle(hub, port1); } } if (hub->hdev->parent || @@ -5808,6 +5844,16 @@ .idVendor = USB_VENDOR_GENESYS_LOGIC, .bInterfaceClass = USB_CLASS_HUB, .driver_info = HUB_QUIRK_CHECK_PORT_AUTOSUSPEND}, + { .match_flags = USB_DEVICE_ID_MATCH_VENDOR + | USB_DEVICE_ID_MATCH_PRODUCT, + .idVendor = USB_VENDOR_TEXAS_INSTRUMENTS, + .idProduct = USB_PRODUCT_TUSB8041_USB2, + .driver_info = HUB_QUIRK_DISABLE_AUTOSUSPEND}, + { .match_flags = USB_DEVICE_ID_MATCH_VENDOR + | USB_DEVICE_ID_MATCH_PRODUCT, + .idVendor = USB_VENDOR_TEXAS_INSTRUMENTS, + .idProduct = USB_PRODUCT_TUSB8041_USB3, + .driver_info = HUB_QUIRK_DISABLE_AUTOSUSPEND}, { .match_flags = USB_DEVICE_ID_MATCH_DEV_CLASS, .bDeviceClass = USB_CLASS_HUB}, { .match_flags = USB_DEVICE_ID_MATCH_INT_CLASS, @@ -6048,6 +6094,11 @@ * the reset is over (using their post_reset method). * * Return: The same as for usb_reset_and_verify_device(). + * However, if a reset is already in progress (for instance, if a + * driver doesn't have pre_reset() or post_reset() callbacks, and while + * being unbound or re-bound during the ongoing reset its disconnect() + * or probe() routine tries to perform a second, nested reset), the + * routine returns -EINPROGRESS. * * Note: * The caller must own the device lock. For example, it's safe to use @@ -6081,6 +6132,10 @@ return -EISDIR; } + if (udev->reset_in_progress) + return -EINPROGRESS; + udev->reset_in_progress = 1; + port_dev = hub->ports[udev->portnum - 1]; /* @@ -6145,6 +6200,7 @@ usb_autosuspend_device(udev); memalloc_noio_restore(noio_flag); + udev->reset_in_progress = 0; return ret; } EXPORT_SYMBOL_GPL(usb_reset_device); --- linux-gcp-5.19.0.orig/drivers/usb/core/hub.h +++ linux-gcp-5.19.0/drivers/usb/core/hub.h @@ -114,8 +114,7 @@ int port1); extern void usb_hub_remove_port_device(struct usb_hub *hub, int port1); -extern int usb_hub_set_port_power(struct usb_device *hdev, struct usb_hub *hub, - int port1, bool set); +extern int usb_hub_set_port_power(struct usb_hub *hub, int port1, bool set); extern struct usb_hub *usb_hub_to_struct_hub(struct usb_device *hdev); extern int hub_port_debounce(struct usb_hub *hub, int port1, bool must_be_connected); --- linux-gcp-5.19.0.orig/drivers/usb/core/port.c +++ linux-gcp-5.19.0/drivers/usb/core/port.c @@ -218,7 +218,7 @@ if (retval < 0) return retval; - retval = usb_hub_set_port_power(hdev, hub, port1, true); + retval = usb_hub_set_port_power(hub, port1, true); msleep(hub_power_on_good_delay(hub)); if (udev && !retval) { /* @@ -274,7 +274,7 @@ if (retval < 0) return retval; - retval = usb_hub_set_port_power(hdev, hub, port1, false); + retval = usb_hub_set_port_power(hub, port1, false); usb_clear_port_feature(hdev, port1, USB_PORT_FEAT_C_CONNECTION); if (!port_dev->is_superspeed) usb_clear_port_feature(hdev, port1, USB_PORT_FEAT_C_ENABLE); --- linux-gcp-5.19.0.orig/drivers/usb/core/quirks.c +++ linux-gcp-5.19.0/drivers/usb/core/quirks.c @@ -362,6 +362,9 @@ { USB_DEVICE(0x0781, 0x5583), .driver_info = USB_QUIRK_NO_LPM }, { USB_DEVICE(0x0781, 0x5591), .driver_info = USB_QUIRK_NO_LPM }, + /* Realforce 87U Keyboard */ + { USB_DEVICE(0x0853, 0x011b), .driver_info = USB_QUIRK_NO_LPM }, + /* M-Systems Flash Disk Pioneers */ { USB_DEVICE(0x08ec, 0x1000), .driver_info = USB_QUIRK_RESET_RESUME }, @@ -388,6 +391,15 @@ /* Kingston DataTraveler 3.0 */ { USB_DEVICE(0x0951, 0x1666), .driver_info = USB_QUIRK_NO_LPM }, + /* NVIDIA Jetson devices in Force Recovery mode */ + { USB_DEVICE(0x0955, 0x7018), .driver_info = USB_QUIRK_RESET_RESUME }, + { USB_DEVICE(0x0955, 0x7019), .driver_info = USB_QUIRK_RESET_RESUME }, + { USB_DEVICE(0x0955, 0x7418), .driver_info = USB_QUIRK_RESET_RESUME }, + { USB_DEVICE(0x0955, 0x7721), .driver_info = USB_QUIRK_RESET_RESUME }, + { USB_DEVICE(0x0955, 0x7c18), .driver_info = USB_QUIRK_RESET_RESUME }, + { USB_DEVICE(0x0955, 0x7e19), .driver_info = USB_QUIRK_RESET_RESUME }, + { USB_DEVICE(0x0955, 0x7f21), .driver_info = USB_QUIRK_RESET_RESUME }, + /* X-Rite/Gretag-Macbeth Eye-One Pro display colorimeter */ { USB_DEVICE(0x0971, 0x2000), .driver_info = USB_QUIRK_NO_SET_INTF }, @@ -437,6 +449,10 @@ { USB_DEVICE(0x1532, 0x0116), .driver_info = USB_QUIRK_LINEAR_UFRAME_INTR_BINTERVAL }, + /* Lenovo ThinkPad OneLink+ Dock twin hub controllers (VIA Labs VL812) */ + { USB_DEVICE(0x17ef, 0x1018), .driver_info = USB_QUIRK_RESET_RESUME }, + { USB_DEVICE(0x17ef, 0x1019), .driver_info = USB_QUIRK_RESET_RESUME }, + /* Lenovo USB-C to Ethernet Adapter RTL8153-04 */ { USB_DEVICE(0x17ef, 0x720c), .driver_info = USB_QUIRK_NO_LPM }, @@ -510,6 +526,9 @@ /* DJI CineSSD */ { USB_DEVICE(0x2ca3, 0x0031), .driver_info = USB_QUIRK_NO_LPM }, + /* Alcor Link AK9563 SC Reader used in 2022 Lenovo ThinkPads */ + { USB_DEVICE(0x2ce3, 0x9563), .driver_info = USB_QUIRK_NO_LPM }, + /* DELL USB GEN2 */ { USB_DEVICE(0x413c, 0xb062), .driver_info = USB_QUIRK_NO_LPM | USB_QUIRK_RESET_RESUME }, --- linux-gcp-5.19.0.orig/drivers/usb/core/sysfs.c +++ linux-gcp-5.19.0/drivers/usb/core/sysfs.c @@ -868,11 +868,7 @@ size_t srclen, n; int cfgno; void *src; - int retval; - retval = usb_lock_device_interruptible(udev); - if (retval < 0) - return -EINTR; /* The binary attribute begins with the device descriptor. * Following that are the raw descriptor entries for all the * configurations (config plus subsidiary descriptors). @@ -897,7 +893,6 @@ off -= srclen; } } - usb_unlock_device(udev); return count - nleft; } --- linux-gcp-5.19.0.orig/drivers/usb/core/usb-acpi.c +++ linux-gcp-5.19.0/drivers/usb/core/usb-acpi.c @@ -37,6 +37,71 @@ } EXPORT_SYMBOL_GPL(usb_acpi_power_manageable); +#define UUID_USB_CONTROLLER_DSM "ce2ee385-00e6-48cb-9f05-2edb927c4899" +#define USB_DSM_DISABLE_U1_U2_FOR_PORT 5 + +/** + * usb_acpi_port_lpm_incapable - check if lpm should be disabled for a port. + * @hdev: USB device belonging to the usb hub + * @index: zero based port index + * + * Some USB3 ports may not support USB3 link power management U1/U2 states + * due to different retimer setup. ACPI provides _DSM method which returns 0x01 + * if U1 and U2 states should be disabled. Evaluate _DSM with: + * Arg0: UUID = ce2ee385-00e6-48cb-9f05-2edb927c4899 + * Arg1: Revision ID = 0 + * Arg2: Function Index = 5 + * Arg3: (empty) + * + * Return 1 if USB3 port is LPM incapable, negative on error, otherwise 0 + */ + +int usb_acpi_port_lpm_incapable(struct usb_device *hdev, int index) +{ + union acpi_object *obj; + acpi_handle port_handle; + int port1 = index + 1; + guid_t guid; + int ret; + + ret = guid_parse(UUID_USB_CONTROLLER_DSM, &guid); + if (ret) + return ret; + + port_handle = usb_get_hub_port_acpi_handle(hdev, port1); + if (!port_handle) { + dev_dbg(&hdev->dev, "port-%d no acpi handle\n", port1); + return -ENODEV; + } + + if (!acpi_check_dsm(port_handle, &guid, 0, + BIT(USB_DSM_DISABLE_U1_U2_FOR_PORT))) { + dev_dbg(&hdev->dev, "port-%d no _DSM function %d\n", + port1, USB_DSM_DISABLE_U1_U2_FOR_PORT); + return -ENODEV; + } + + obj = acpi_evaluate_dsm(port_handle, &guid, 0, + USB_DSM_DISABLE_U1_U2_FOR_PORT, NULL); + + if (!obj) + return -ENODEV; + + if (obj->type != ACPI_TYPE_INTEGER) { + dev_dbg(&hdev->dev, "evaluate port-%d _DSM failed\n", port1); + ACPI_FREE(obj); + return -EINVAL; + } + + if (obj->integer.value == 0x01) + ret = 1; + + ACPI_FREE(obj); + + return ret; +} +EXPORT_SYMBOL_GPL(usb_acpi_port_lpm_incapable); + /** * usb_acpi_set_power_state - control usb port's power via acpi power * resource --- linux-gcp-5.19.0.orig/drivers/usb/dwc2/gadget.c +++ linux-gcp-5.19.0/drivers/usb/dwc2/gadget.c @@ -3594,7 +3594,8 @@ void dwc2_hsotg_core_connect(struct dwc2_hsotg *hsotg) { /* remove the soft-disconnect and let's go */ - dwc2_clear_bit(hsotg, DCTL, DCTL_SFTDISCON); + if (!hsotg->role_sw || (dwc2_readl(hsotg, GOTGCTL) & GOTGCTL_BSESVLD)) + dwc2_clear_bit(hsotg, DCTL, DCTL_SFTDISCON); } /** --- linux-gcp-5.19.0.orig/drivers/usb/dwc2/platform.c +++ linux-gcp-5.19.0/drivers/usb/dwc2/platform.c @@ -154,9 +154,9 @@ } else if (hsotg->plat && hsotg->plat->phy_init) { ret = hsotg->plat->phy_init(pdev, hsotg->plat->phy_type); } else { - ret = phy_power_on(hsotg->phy); + ret = phy_init(hsotg->phy); if (ret == 0) - ret = phy_init(hsotg->phy); + ret = phy_power_on(hsotg->phy); } return ret; @@ -188,9 +188,9 @@ } else if (hsotg->plat && hsotg->plat->phy_exit) { ret = hsotg->plat->phy_exit(pdev, hsotg->plat->phy_type); } else { - ret = phy_exit(hsotg->phy); + ret = phy_power_off(hsotg->phy); if (ret == 0) - ret = phy_power_off(hsotg->phy); + ret = phy_exit(hsotg->phy); } if (ret) return ret; --- linux-gcp-5.19.0.orig/drivers/usb/dwc3/Kconfig +++ linux-gcp-5.19.0/drivers/usb/dwc3/Kconfig @@ -3,6 +3,7 @@ config USB_DWC3 tristate "DesignWare USB3 DRD Core Support" depends on (USB || USB_GADGET) && HAS_DMA + depends on (EXTCON || EXTCON=n) select USB_XHCI_PLATFORM if USB_XHCI_HCD select USB_ROLE_SWITCH if USB_DWC3_DUAL_ROLE help @@ -44,7 +45,6 @@ config USB_DWC3_DUAL_ROLE bool "Dual Role mode" depends on ((USB=y || USB=USB_DWC3) && (USB_GADGET=y || USB_GADGET=USB_DWC3)) - depends on (EXTCON=y || EXTCON=USB_DWC3) help This is the default mode of working of DWC3 controller where both host and gadget features are enabled. --- linux-gcp-5.19.0.orig/drivers/usb/dwc3/core.c +++ linux-gcp-5.19.0/drivers/usb/dwc3/core.c @@ -122,21 +122,25 @@ unsigned long flags; int ret; u32 reg; + u32 desired_dr_role; mutex_lock(&dwc->mutex); + spin_lock_irqsave(&dwc->lock, flags); + desired_dr_role = dwc->desired_dr_role; + spin_unlock_irqrestore(&dwc->lock, flags); pm_runtime_get_sync(dwc->dev); if (dwc->current_dr_role == DWC3_GCTL_PRTCAP_OTG) dwc3_otg_update(dwc, 0); - if (!dwc->desired_dr_role) + if (!desired_dr_role) goto out; - if (dwc->desired_dr_role == dwc->current_dr_role) + if (desired_dr_role == dwc->current_dr_role) goto out; - if (dwc->desired_dr_role == DWC3_GCTL_PRTCAP_OTG && dwc->edev) + if (desired_dr_role == DWC3_GCTL_PRTCAP_OTG && dwc->edev) goto out; switch (dwc->current_dr_role) { @@ -158,8 +162,13 @@ break; } - /* For DRD host or device mode only */ - if (dwc->desired_dr_role != DWC3_GCTL_PRTCAP_OTG) { + /* + * When current_dr_role is not set, there's no role switching. + * Only perform GCTL.CoreSoftReset when there's DRD role switching. + */ + if (dwc->current_dr_role && ((DWC3_IP_IS(DWC3) || + DWC3_VER_IS_PRIOR(DWC31, 190A)) && + desired_dr_role != DWC3_GCTL_PRTCAP_OTG)) { reg = dwc3_readl(dwc->regs, DWC3_GCTL); reg |= DWC3_GCTL_CORESOFTRESET; dwc3_writel(dwc->regs, DWC3_GCTL, reg); @@ -179,11 +188,11 @@ spin_lock_irqsave(&dwc->lock, flags); - dwc3_set_prtcap(dwc, dwc->desired_dr_role); + dwc3_set_prtcap(dwc, desired_dr_role); spin_unlock_irqrestore(&dwc->lock, flags); - switch (dwc->desired_dr_role) { + switch (desired_dr_role) { case DWC3_GCTL_PRTCAP_HOST: ret = dwc3_host_init(dwc); if (ret) { @@ -403,6 +412,10 @@ reg |= FIELD_PREP(DWC3_GFLADJ_REFCLK_FLADJ_MASK, fladj) | FIELD_PREP(DWC3_GFLADJ_240MHZDECR, decr >> 1) | FIELD_PREP(DWC3_GFLADJ_240MHZDECR_PLS1, decr & 1); + + if (dwc->gfladj_refclk_lpm_sel) + reg |= DWC3_GFLADJ_REFCLK_LPM_SEL; + dwc3_writel(dwc->regs, DWC3_GFLADJ, reg); } @@ -784,7 +797,7 @@ else reg |= DWC3_GUSB2PHYCFG_ENBLSLPM; - if (dwc->dis_u2_freeclk_exists_quirk) + if (dwc->dis_u2_freeclk_exists_quirk || dwc->gfladj_refclk_lpm_sel) reg &= ~DWC3_GUSB2PHYCFG_U2_FREECLK_EXISTS; dwc3_writel(dwc->regs, DWC3_GUSB2PHYCFG(0), reg); @@ -828,15 +841,16 @@ { dwc3_event_buffers_cleanup(dwc); + usb_phy_set_suspend(dwc->usb2_phy, 1); + usb_phy_set_suspend(dwc->usb3_phy, 1); + phy_power_off(dwc->usb2_generic_phy); + phy_power_off(dwc->usb3_generic_phy); + usb_phy_shutdown(dwc->usb2_phy); usb_phy_shutdown(dwc->usb3_phy); phy_exit(dwc->usb2_generic_phy); phy_exit(dwc->usb3_generic_phy); - usb_phy_set_suspend(dwc->usb2_phy, 1); - usb_phy_set_suspend(dwc->usb3_phy, 1); - phy_power_off(dwc->usb2_generic_phy); - phy_power_off(dwc->usb3_generic_phy); dwc3_clk_disable(dwc); reset_control_assert(dwc->reset); } @@ -1055,8 +1069,13 @@ if (!dwc->ulpi_ready) { ret = dwc3_core_ulpi_init(dwc); - if (ret) + if (ret) { + if (ret == -ETIMEDOUT) { + dwc3_core_soft_reset(dwc); + ret = -EPROBE_DEFER; + } goto err0; + } dwc->ulpi_ready = true; } @@ -1140,6 +1159,21 @@ dwc3_writel(dwc->regs, DWC3_GUCTL2, reg); } + /* + * When configured in HOST mode, after issuing U3/L2 exit controller + * fails to send proper CRC checksum in CRC5 feild. Because of this + * behaviour Transaction Error is generated, resulting in reset and + * re-enumeration of usb device attached. All the termsel, xcvrsel, + * opmode becomes 0 during end of resume. Enabling bit 10 of GUCTL1 + * will correct this problem. This option is to support certain + * legacy ULPI PHYs. + */ + if (dwc->resume_hs_terminations) { + reg = dwc3_readl(dwc->regs, DWC3_GUCTL1); + reg |= DWC3_GUCTL1_RESUME_OPMODE_HS_HOST; + dwc3_writel(dwc->regs, DWC3_GUCTL1, reg); + } + if (!DWC3_VER_IS_PRIOR(DWC3, 250A)) { reg = dwc3_readl(dwc->regs, DWC3_GUCTL1); @@ -1483,8 +1517,12 @@ "snps,dis-del-phy-power-chg-quirk"); dwc->dis_tx_ipgap_linecheck_quirk = device_property_read_bool(dev, "snps,dis-tx-ipgap-linecheck-quirk"); + dwc->resume_hs_terminations = device_property_read_bool(dev, + "snps,resume-hs-terminations"); dwc->parkmode_disable_ss_quirk = device_property_read_bool(dev, "snps,parkmode-disable-ss-quirk"); + dwc->gfladj_refclk_lpm_sel = device_property_read_bool(dev, + "snps,gfladj-refclk-lpm-sel-quirk"); dwc->tx_de_emphasis_quirk = device_property_read_bool(dev, "snps,tx_de_emphasis_quirk"); @@ -1648,6 +1686,16 @@ return extcon_get_extcon_dev(name); /* + * Check explicitly if "usb-role-switch" is used since + * extcon_find_edev_by_node() can not be used to check the absence of + * an extcon device. In the absence of an device it will always return + * EPROBE_DEFER. + */ + if (IS_ENABLED(CONFIG_USB_ROLE_SWITCH) && + device_property_read_bool(dev, "usb-role-switch")) + return NULL; + + /* * Try to get an extcon device from the USB PHY controller's "port" * node. Check if it has the "port" node first, to avoid printing the * error message from underlying code, as it's a valid case: extcon @@ -1712,15 +1760,11 @@ dwc3_get_properties(dwc); - if (!dwc->sysdev_is_parent) { - ret = dma_set_mask_and_coherent(dwc->sysdev, DMA_BIT_MASK(64)); - if (ret) - return ret; - } - dwc->reset = devm_reset_control_array_get_optional_shared(dev); - if (IS_ERR(dwc->reset)) - return PTR_ERR(dwc->reset); + if (IS_ERR(dwc->reset)) { + ret = PTR_ERR(dwc->reset); + goto put_usb_psy; + } if (dev->of_node) { /* @@ -1730,45 +1774,57 @@ * check for them to retain backwards compatibility. */ dwc->bus_clk = devm_clk_get_optional(dev, "bus_early"); - if (IS_ERR(dwc->bus_clk)) - return dev_err_probe(dev, PTR_ERR(dwc->bus_clk), - "could not get bus clock\n"); + if (IS_ERR(dwc->bus_clk)) { + ret = dev_err_probe(dev, PTR_ERR(dwc->bus_clk), + "could not get bus clock\n"); + goto put_usb_psy; + } if (dwc->bus_clk == NULL) { dwc->bus_clk = devm_clk_get_optional(dev, "bus_clk"); - if (IS_ERR(dwc->bus_clk)) - return dev_err_probe(dev, PTR_ERR(dwc->bus_clk), - "could not get bus clock\n"); + if (IS_ERR(dwc->bus_clk)) { + ret = dev_err_probe(dev, PTR_ERR(dwc->bus_clk), + "could not get bus clock\n"); + goto put_usb_psy; + } } dwc->ref_clk = devm_clk_get_optional(dev, "ref"); - if (IS_ERR(dwc->ref_clk)) - return dev_err_probe(dev, PTR_ERR(dwc->ref_clk), - "could not get ref clock\n"); + if (IS_ERR(dwc->ref_clk)) { + ret = dev_err_probe(dev, PTR_ERR(dwc->ref_clk), + "could not get ref clock\n"); + goto put_usb_psy; + } if (dwc->ref_clk == NULL) { dwc->ref_clk = devm_clk_get_optional(dev, "ref_clk"); - if (IS_ERR(dwc->ref_clk)) - return dev_err_probe(dev, PTR_ERR(dwc->ref_clk), - "could not get ref clock\n"); + if (IS_ERR(dwc->ref_clk)) { + ret = dev_err_probe(dev, PTR_ERR(dwc->ref_clk), + "could not get ref clock\n"); + goto put_usb_psy; + } } dwc->susp_clk = devm_clk_get_optional(dev, "suspend"); - if (IS_ERR(dwc->susp_clk)) - return dev_err_probe(dev, PTR_ERR(dwc->susp_clk), - "could not get suspend clock\n"); + if (IS_ERR(dwc->susp_clk)) { + ret = dev_err_probe(dev, PTR_ERR(dwc->susp_clk), + "could not get suspend clock\n"); + goto put_usb_psy; + } if (dwc->susp_clk == NULL) { dwc->susp_clk = devm_clk_get_optional(dev, "suspend_clk"); - if (IS_ERR(dwc->susp_clk)) - return dev_err_probe(dev, PTR_ERR(dwc->susp_clk), - "could not get suspend clock\n"); + if (IS_ERR(dwc->susp_clk)) { + ret = dev_err_probe(dev, PTR_ERR(dwc->susp_clk), + "could not get suspend clock\n"); + goto put_usb_psy; + } } } ret = reset_control_deassert(dwc->reset); if (ret) - return ret; + goto put_usb_psy; ret = dwc3_clk_enable(dwc); if (ret) @@ -1783,6 +1839,13 @@ platform_set_drvdata(pdev, dwc); dwc3_cache_hwparams(dwc); + if (!dwc->sysdev_is_parent && + DWC3_GHWPARAMS0_AWIDTH(dwc->hwparams.hwparams0) == 64) { + ret = dma_set_mask_and_coherent(dwc->sysdev, DMA_BIT_MASK(64)); + if (ret) + goto disable_clks; + } + spin_lock_init(&dwc->lock); mutex_init(&dwc->mutex); @@ -1805,8 +1868,7 @@ dwc->edev = dwc3_get_extcon(dwc); if (IS_ERR(dwc->edev)) { - ret = PTR_ERR(dwc->edev); - dev_err_probe(dwc->dev, ret, "failed to get extcon\n"); + ret = dev_err_probe(dwc->dev, PTR_ERR(dwc->edev), "failed to get extcon\n"); goto err3; } @@ -1839,16 +1901,16 @@ dwc3_debugfs_exit(dwc); dwc3_event_buffers_cleanup(dwc); - usb_phy_shutdown(dwc->usb2_phy); - usb_phy_shutdown(dwc->usb3_phy); - phy_exit(dwc->usb2_generic_phy); - phy_exit(dwc->usb3_generic_phy); - usb_phy_set_suspend(dwc->usb2_phy, 1); usb_phy_set_suspend(dwc->usb3_phy, 1); phy_power_off(dwc->usb2_generic_phy); phy_power_off(dwc->usb3_generic_phy); + usb_phy_shutdown(dwc->usb2_phy); + usb_phy_shutdown(dwc->usb3_phy); + phy_exit(dwc->usb2_generic_phy); + phy_exit(dwc->usb3_generic_phy); + dwc3_ulpi_exit(dwc); err4: @@ -1868,7 +1930,7 @@ dwc3_clk_disable(dwc); assert_reset: reset_control_assert(dwc->reset); - +put_usb_psy: if (dwc->usb_psy) power_supply_put(dwc->usb_psy); --- linux-gcp-5.19.0.orig/drivers/usb/dwc3/core.h +++ linux-gcp-5.19.0/drivers/usb/dwc3/core.h @@ -262,6 +262,7 @@ #define DWC3_GUCTL1_DEV_FORCE_20_CLK_FOR_30_CLK BIT(26) #define DWC3_GUCTL1_DEV_L1_EXIT_BY_HW BIT(24) #define DWC3_GUCTL1_PARKMODE_DISABLE_SS BIT(17) +#define DWC3_GUCTL1_RESUME_OPMODE_HS_HOST BIT(10) /* Global Status Register */ #define DWC3_GSTS_OTG_IP BIT(10) @@ -390,6 +391,7 @@ #define DWC3_GFLADJ_30MHZ_SDBND_SEL BIT(7) #define DWC3_GFLADJ_30MHZ_MASK 0x3f #define DWC3_GFLADJ_REFCLK_FLADJ_MASK GENMASK(21, 8) +#define DWC3_GFLADJ_REFCLK_LPM_SEL BIT(23) #define DWC3_GFLADJ_240MHZDECR GENMASK(30, 24) #define DWC3_GFLADJ_240MHZDECR_PLS1 BIT(31) @@ -1093,6 +1095,8 @@ * change quirk. * @dis_tx_ipgap_linecheck_quirk: set if we disable u2mac linestate * check during HS transmit. + * @resume-hs-terminations: Set if we enable quirk for fixing improper crc + * generation after resume from suspend. * @parkmode_disable_ss_quirk: set if we need to disable all SuperSpeed * instances in park mode. * @tx_de_emphasis_quirk: set if we enable Tx de-emphasis quirk @@ -1308,7 +1312,9 @@ unsigned dis_u2_freeclk_exists_quirk:1; unsigned dis_del_phy_power_chg_quirk:1; unsigned dis_tx_ipgap_linecheck_quirk:1; + unsigned resume_hs_terminations:1; unsigned parkmode_disable_ss_quirk:1; + unsigned gfladj_refclk_lpm_sel:1; unsigned tx_de_emphasis_quirk:1; unsigned tx_de_emphasis:2; --- linux-gcp-5.19.0.orig/drivers/usb/dwc3/dwc3-exynos.c +++ linux-gcp-5.19.0/drivers/usb/dwc3/dwc3-exynos.c @@ -37,15 +37,6 @@ struct regulator *vdd10; }; -static int dwc3_exynos_remove_child(struct device *dev, void *unused) -{ - struct platform_device *pdev = to_platform_device(dev); - - platform_device_unregister(pdev); - - return 0; -} - static int dwc3_exynos_probe(struct platform_device *pdev) { struct dwc3_exynos *exynos; @@ -142,7 +133,7 @@ struct dwc3_exynos *exynos = platform_get_drvdata(pdev); int i; - device_for_each_child(&pdev->dev, NULL, dwc3_exynos_remove_child); + of_platform_depopulate(&pdev->dev); for (i = exynos->num_clks - 1; i >= 0; i--) clk_disable_unprepare(exynos->clks[i]); --- linux-gcp-5.19.0.orig/drivers/usb/dwc3/dwc3-pci.c +++ linux-gcp-5.19.0/drivers/usb/dwc3/dwc3-pci.c @@ -44,7 +44,9 @@ #define PCI_DEVICE_ID_INTEL_ADLP 0x51ee #define PCI_DEVICE_ID_INTEL_ADLM 0x54ee #define PCI_DEVICE_ID_INTEL_ADLS 0x7ae1 +#define PCI_DEVICE_ID_INTEL_RPL 0xa70e #define PCI_DEVICE_ID_INTEL_RPLS 0x7a61 +#define PCI_DEVICE_ID_INTEL_MTLM 0x7eb1 #define PCI_DEVICE_ID_INTEL_MTLP 0x7ec1 #define PCI_DEVICE_ID_INTEL_MTL 0x7e7e #define PCI_DEVICE_ID_INTEL_TGL 0x9a15 @@ -456,9 +458,15 @@ { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_ADLS), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_RPL), + (kernel_ulong_t) &dwc3_pci_intel_swnode, }, + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_RPLS), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_MTLM), + (kernel_ulong_t) &dwc3_pci_intel_swnode, }, + { PCI_VDEVICE(INTEL, PCI_DEVICE_ID_INTEL_MTLP), (kernel_ulong_t) &dwc3_pci_intel_swnode, }, --- linux-gcp-5.19.0.orig/drivers/usb/dwc3/dwc3-qcom.c +++ linux-gcp-5.19.0/drivers/usb/dwc3/dwc3-qcom.c @@ -258,7 +258,8 @@ if (IS_ERR(qcom->icc_path_apps)) { dev_err(dev, "failed to get apps-usb path: %ld\n", PTR_ERR(qcom->icc_path_apps)); - return PTR_ERR(qcom->icc_path_apps); + ret = PTR_ERR(qcom->icc_path_apps); + goto put_path_ddr; } if (usb_get_maximum_speed(&qcom->dwc3->dev) >= USB_SPEED_SUPER || @@ -271,17 +272,23 @@ if (ret) { dev_err(dev, "failed to set bandwidth for usb-ddr path: %d\n", ret); - return ret; + goto put_path_apps; } ret = icc_set_bw(qcom->icc_path_apps, APPS_USB_AVG_BW, APPS_USB_PEAK_BW); if (ret) { dev_err(dev, "failed to set bandwidth for apps-usb path: %d\n", ret); - return ret; + goto put_path_apps; } return 0; + +put_path_apps: + icc_put(qcom->icc_path_apps); +put_path_ddr: + icc_put(qcom->icc_path_ddr); + return ret; } /** @@ -443,9 +450,9 @@ int ret; if (np) - ret = platform_get_irq_byname(pdev_irq, name); + ret = platform_get_irq_byname_optional(pdev_irq, name); else - ret = platform_get_irq(pdev_irq, num); + ret = platform_get_irq_optional(pdev_irq, num); return ret; } @@ -823,7 +830,7 @@ qcom->mode = usb_get_dr_mode(&qcom->dwc3->dev); /* enable vbus override for device mode */ - if (qcom->mode == USB_DR_MODE_PERIPHERAL) + if (qcom->mode != USB_DR_MODE_HOST) dwc3_qcom_vbus_override_enable(qcom, true); /* register extcon to override sw_vbus on Vbus change later */ --- linux-gcp-5.19.0.orig/drivers/usb/dwc3/dwc3-xilinx.c +++ linux-gcp-5.19.0/drivers/usb/dwc3/dwc3-xilinx.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include --- linux-gcp-5.19.0.orig/drivers/usb/dwc3/gadget.c +++ linux-gcp-5.19.0/drivers/usb/dwc3/gadget.c @@ -291,7 +291,8 @@ * * DWC_usb3 3.30a and DWC_usb31 1.90a programming guide section 3.2.2 */ - if (dwc->gadget->speed <= USB_SPEED_HIGH) { + if (dwc->gadget->speed <= USB_SPEED_HIGH || + DWC3_DEPCMD_CMD(cmd) == DWC3_DEPCMD_ENDTRANSFER) { reg = dwc3_readl(dwc->regs, DWC3_GUSB2PHYCFG(0)); if (unlikely(reg & DWC3_GUSB2PHYCFG_SUSPHY)) { saved_config |= DWC3_GUSB2PHYCFG_SUSPHY; @@ -964,7 +965,7 @@ return 0; } -static void dwc3_remove_requests(struct dwc3 *dwc, struct dwc3_ep *dep) +static void dwc3_remove_requests(struct dwc3 *dwc, struct dwc3_ep *dep, int status) { struct dwc3_request *req; @@ -974,19 +975,19 @@ while (!list_empty(&dep->started_list)) { req = next_request(&dep->started_list); - dwc3_gadget_giveback(dep, req, -ESHUTDOWN); + dwc3_gadget_giveback(dep, req, status); } while (!list_empty(&dep->pending_list)) { req = next_request(&dep->pending_list); - dwc3_gadget_giveback(dep, req, -ESHUTDOWN); + dwc3_gadget_giveback(dep, req, status); } while (!list_empty(&dep->cancelled_list)) { req = next_request(&dep->cancelled_list); - dwc3_gadget_giveback(dep, req, -ESHUTDOWN); + dwc3_gadget_giveback(dep, req, status); } } @@ -1015,18 +1016,18 @@ reg &= ~DWC3_DALEPENA_EP(dep->number); dwc3_writel(dwc->regs, DWC3_DALEPENA, reg); + dwc3_remove_requests(dwc, dep, -ESHUTDOWN); + + dep->stream_capable = false; + dep->type = 0; + dep->flags &= DWC3_EP_TXFIFO_RESIZED; + /* Clear out the ep descriptors for non-ep0 */ if (dep->number > 1) { dep->endpoint.comp_desc = NULL; dep->endpoint.desc = NULL; } - dwc3_remove_requests(dwc, dep); - - dep->stream_capable = false; - dep->type = 0; - dep->flags &= DWC3_EP_TXFIFO_RESIZED; - return 0; } @@ -1182,17 +1183,49 @@ return trbs_left; } -static void __dwc3_prepare_one_trb(struct dwc3_ep *dep, struct dwc3_trb *trb, - dma_addr_t dma, unsigned int length, unsigned int chain, - unsigned int node, unsigned int stream_id, - unsigned int short_not_ok, unsigned int no_interrupt, - unsigned int is_last, bool must_interrupt) +/** + * dwc3_prepare_one_trb - setup one TRB from one request + * @dep: endpoint for which this request is prepared + * @req: dwc3_request pointer + * @trb_length: buffer size of the TRB + * @chain: should this TRB be chained to the next? + * @node: only for isochronous endpoints. First TRB needs different type. + * @use_bounce_buffer: set to use bounce buffer + * @must_interrupt: set to interrupt on TRB completion + */ +static void dwc3_prepare_one_trb(struct dwc3_ep *dep, + struct dwc3_request *req, unsigned int trb_length, + unsigned int chain, unsigned int node, bool use_bounce_buffer, + bool must_interrupt) { + struct dwc3_trb *trb; + dma_addr_t dma; + unsigned int stream_id = req->request.stream_id; + unsigned int short_not_ok = req->request.short_not_ok; + unsigned int no_interrupt = req->request.no_interrupt; + unsigned int is_last = req->request.is_last; struct dwc3 *dwc = dep->dwc; struct usb_gadget *gadget = dwc->gadget; enum usb_device_speed speed = gadget->speed; - trb->size = DWC3_TRB_SIZE_LENGTH(length); + if (use_bounce_buffer) + dma = dep->dwc->bounce_addr; + else if (req->request.num_sgs > 0) + dma = sg_dma_address(req->start_sg); + else + dma = req->request.dma; + + trb = &dep->trb_pool[dep->trb_enqueue]; + + if (!req->trb) { + dwc3_gadget_move_started_request(req); + req->trb = trb; + req->trb_dma = dwc3_trb_dma_offset(dep, trb); + } + + req->num_trbs++; + + trb->size = DWC3_TRB_SIZE_LENGTH(trb_length); trb->bpl = lower_32_bits(dma); trb->bph = upper_32_bits(dma); @@ -1232,10 +1265,10 @@ unsigned int mult = 2; unsigned int maxp = usb_endpoint_maxp(ep->desc); - if (length <= (2 * maxp)) + if (req->request.length <= (2 * maxp)) mult--; - if (length <= maxp) + if (req->request.length <= maxp) mult--; trb->size |= DWC3_TRB_SIZE_PCM1(mult); @@ -1244,8 +1277,8 @@ trb->ctrl = DWC3_TRBCTL_ISOCHRONOUS; } - /* always enable Interrupt on Missed ISOC */ - trb->ctrl |= DWC3_TRB_CTRL_ISP_IMI; + if (!no_interrupt && !chain) + trb->ctrl |= DWC3_TRB_CTRL_ISP_IMI; break; case USB_ENDPOINT_XFER_BULK: @@ -1309,50 +1342,6 @@ trace_dwc3_prepare_trb(dep, trb); } -/** - * dwc3_prepare_one_trb - setup one TRB from one request - * @dep: endpoint for which this request is prepared - * @req: dwc3_request pointer - * @trb_length: buffer size of the TRB - * @chain: should this TRB be chained to the next? - * @node: only for isochronous endpoints. First TRB needs different type. - * @use_bounce_buffer: set to use bounce buffer - * @must_interrupt: set to interrupt on TRB completion - */ -static void dwc3_prepare_one_trb(struct dwc3_ep *dep, - struct dwc3_request *req, unsigned int trb_length, - unsigned int chain, unsigned int node, bool use_bounce_buffer, - bool must_interrupt) -{ - struct dwc3_trb *trb; - dma_addr_t dma; - unsigned int stream_id = req->request.stream_id; - unsigned int short_not_ok = req->request.short_not_ok; - unsigned int no_interrupt = req->request.no_interrupt; - unsigned int is_last = req->request.is_last; - - if (use_bounce_buffer) - dma = dep->dwc->bounce_addr; - else if (req->request.num_sgs > 0) - dma = sg_dma_address(req->start_sg); - else - dma = req->request.dma; - - trb = &dep->trb_pool[dep->trb_enqueue]; - - if (!req->trb) { - dwc3_gadget_move_started_request(req); - req->trb = trb; - req->trb_dma = dwc3_trb_dma_offset(dep, trb); - } - - req->num_trbs++; - - __dwc3_prepare_one_trb(dep, trb, dma, trb_length, chain, node, - stream_id, short_not_ok, no_interrupt, is_last, - must_interrupt); -} - static bool dwc3_needs_extra_trb(struct dwc3_ep *dep, struct dwc3_request *req) { unsigned int maxp = usb_endpoint_maxp(dep->endpoint.desc); @@ -1702,6 +1691,7 @@ else if (!ret) dep->flags |= DWC3_EP_END_TRANSFER_PENDING; + dep->flags &= ~DWC3_EP_DELAY_STOP; return ret; } @@ -2351,7 +2341,7 @@ if (!dep) continue; - dwc3_remove_requests(dwc, dep); + dwc3_remove_requests(dwc, dep, -ESHUTDOWN); } } @@ -2512,6 +2502,9 @@ if (dwc->ep0state != EP0_SETUP_PHASE) { int ret; + if (dwc->delayed_status) + dwc3_ep0_send_delayed_status(dwc); + reinit_completion(&dwc->ep0_in_setup); spin_unlock_irqrestore(&dwc->lock, flags); @@ -2550,9 +2543,6 @@ is_on = !!is_on; - if (dwc->pullups_connected == is_on) - return 0; - dwc->softconnect = is_on; /* @@ -2577,6 +2567,11 @@ return 0; } + if (dwc->pullups_connected == is_on) { + pm_runtime_put(dwc->dev); + return 0; + } + if (!is_on) { ret = dwc3_gadget_soft_disconnect(dwc); } else { @@ -3224,6 +3219,10 @@ if (event->status & DEPEVT_STATUS_SHORT && !chain) return 1; + if ((trb->ctrl & DWC3_TRB_CTRL_ISP_IMI) && + DWC3_TRB_SIZE_TRBSTS(trb->size) == DWC3_TRBSTS_MISSED_ISOC) + return 1; + if ((trb->ctrl & DWC3_TRB_CTRL_IOC) || (trb->ctrl & DWC3_TRB_CTRL_LST)) return 1; @@ -3692,8 +3691,10 @@ if (dep->number <= 1 && dwc->ep0state != EP0_DATA_PHASE) return; + if (interrupt && (dep->flags & DWC3_EP_DELAY_STOP)) + return; + if (!(dep->flags & DWC3_EP_TRANSFER_STARTED) || - (dep->flags & DWC3_EP_DELAY_STOP) || (dep->flags & DWC3_EP_END_TRANSFER_PENDING)) return; --- linux-gcp-5.19.0.orig/drivers/usb/early/xhci-dbc.c +++ linux-gcp-5.19.0/drivers/usb/early/xhci-dbc.c @@ -874,7 +874,8 @@ static void early_xdbc_write(struct console *con, const char *str, u32 n) { - static char buf[XDBC_MAX_PACKET]; + /* static variables are zeroed, so buf is always NULL terminated */ + static char buf[XDBC_MAX_PACKET + 1]; int chunk, ret; int use_cr = 0; --- linux-gcp-5.19.0.orig/drivers/usb/gadget/configfs.c +++ linux-gcp-5.19.0/drivers/usb/gadget/configfs.c @@ -392,6 +392,7 @@ WARN_ON(!list_empty(&gi->string_list)); WARN_ON(!list_empty(&gi->available_func)); kfree(gi->composite.gadget_driver.function); + kfree(gi->composite.gadget_driver.driver.name); kfree(gi); } @@ -428,6 +429,12 @@ * from another gadget or a random directory. * Also a function instance can only be linked once. */ + + if (gi->composite.gadget_driver.udc_name) { + ret = -EINVAL; + goto out; + } + list_for_each_entry(iter, &gi->available_func, cfs_list) { if (iter != fi) continue; @@ -1571,7 +1578,6 @@ .max_speed = USB_SPEED_SUPER_PLUS, .driver = { .owner = THIS_MODULE, - .name = "configfs-gadget", }, .match_existing_only = 1, }; @@ -1622,13 +1628,21 @@ gi->composite.gadget_driver = configfs_driver_template; + gi->composite.gadget_driver.driver.name = kasprintf(GFP_KERNEL, + "configfs-gadget.%s", name); + if (!gi->composite.gadget_driver.driver.name) + goto err; + gi->composite.gadget_driver.function = kstrdup(name, GFP_KERNEL); gi->composite.name = gi->composite.gadget_driver.function; if (!gi->composite.gadget_driver.function) - goto err; + goto out_free_driver_name; return &gi->group; + +out_free_driver_name: + kfree(gi->composite.gadget_driver.driver.name); err: kfree(gi); return ERR_PTR(-ENOMEM); --- linux-gcp-5.19.0.orig/drivers/usb/gadget/function/f_fs.c +++ linux-gcp-5.19.0/drivers/usb/gadget/function/f_fs.c @@ -279,6 +279,11 @@ struct usb_request *req = ffs->ep0req; int ret; + if (!req) { + spin_unlock_irq(&ffs->ev.waitq.lock); + return -EINVAL; + } + req->zero = len < le16_to_cpu(ffs->ev.setup.wLength); spin_unlock_irq(&ffs->ev.waitq.lock); @@ -1892,10 +1897,14 @@ ENTER(); if (!WARN_ON(!ffs->gadget)) { + /* dequeue before freeing ep0req */ + usb_ep_dequeue(ffs->gadget->ep0, ffs->ep0req); + mutex_lock(&ffs->mutex); usb_ep_free_request(ffs->gadget->ep0, ffs->ep0req); ffs->ep0req = NULL; ffs->gadget = NULL; clear_bit(FFS_FL_BOUND, &ffs->flags); + mutex_unlock(&ffs->mutex); ffs_data_put(ffs); } } @@ -2645,10 +2654,10 @@ unsigned i = 0; vla_group(d); vla_item(d, struct usb_gadget_strings *, stringtabs, - lang_count + 1); + size_add(lang_count, 1)); vla_item(d, struct usb_gadget_strings, stringtab, lang_count); vla_item(d, struct usb_string, strings, - lang_count*(needed_count+1)); + size_mul(lang_count, (needed_count + 1))); char *vlabuf = kmalloc(vla_group_size(d), GFP_KERNEL); --- linux-gcp-5.19.0.orig/drivers/usb/gadget/function/f_hid.c +++ linux-gcp-5.19.0/drivers/usb/gadget/function/f_hid.c @@ -71,7 +71,7 @@ wait_queue_head_t write_queue; struct usb_request *req; - int minor; + struct device dev; struct cdev cdev; struct usb_function func; @@ -84,6 +84,14 @@ return container_of(f, struct f_hidg, func); } +static void hidg_release(struct device *dev) +{ + struct f_hidg *hidg = container_of(dev, struct f_hidg, dev); + + kfree(hidg->set_report_buf); + kfree(hidg); +} + /*-------------------------------------------------------------------------*/ /* Static descriptors */ @@ -904,9 +912,7 @@ struct usb_ep *ep; struct f_hidg *hidg = func_to_hidg(f); struct usb_string *us; - struct device *device; int status; - dev_t dev; /* maybe allocate device-global string IDs, and patch descriptors */ us = usb_gstrings_attach(c->cdev, ct_func_strings, @@ -999,21 +1005,11 @@ /* create char device */ cdev_init(&hidg->cdev, &f_hidg_fops); - dev = MKDEV(major, hidg->minor); - status = cdev_add(&hidg->cdev, dev, 1); + status = cdev_device_add(&hidg->cdev, &hidg->dev); if (status) goto fail_free_descs; - device = device_create(hidg_class, NULL, dev, NULL, - "%s%d", "hidg", hidg->minor); - if (IS_ERR(device)) { - status = PTR_ERR(device); - goto del; - } - return 0; -del: - cdev_del(&hidg->cdev); fail_free_descs: usb_free_all_descriptors(f); fail: @@ -1244,9 +1240,7 @@ hidg = func_to_hidg(f); opts = container_of(f->fi, struct f_hid_opts, func_inst); - kfree(hidg->report_desc); - kfree(hidg->set_report_buf); - kfree(hidg); + put_device(&hidg->dev); mutex_lock(&opts->lock); --opts->refcnt; mutex_unlock(&opts->lock); @@ -1256,8 +1250,7 @@ { struct f_hidg *hidg = func_to_hidg(f); - device_destroy(hidg_class, MKDEV(major, hidg->minor)); - cdev_del(&hidg->cdev); + cdev_device_del(&hidg->cdev, &hidg->dev); usb_free_all_descriptors(f); } @@ -1266,6 +1259,7 @@ { struct f_hidg *hidg; struct f_hid_opts *opts; + int ret; /* allocate and initialize one new instance */ hidg = kzalloc(sizeof(*hidg), GFP_KERNEL); @@ -1277,17 +1271,28 @@ mutex_lock(&opts->lock); ++opts->refcnt; - hidg->minor = opts->minor; + device_initialize(&hidg->dev); + hidg->dev.release = hidg_release; + hidg->dev.class = hidg_class; + hidg->dev.devt = MKDEV(major, opts->minor); + ret = dev_set_name(&hidg->dev, "hidg%d", opts->minor); + if (ret) { + --opts->refcnt; + mutex_unlock(&opts->lock); + return ERR_PTR(ret); + } + hidg->bInterfaceSubClass = opts->subclass; hidg->bInterfaceProtocol = opts->protocol; hidg->report_length = opts->report_length; hidg->report_desc_length = opts->report_desc_length; if (opts->report_desc) { - hidg->report_desc = kmemdup(opts->report_desc, - opts->report_desc_length, - GFP_KERNEL); + hidg->report_desc = devm_kmemdup(&hidg->dev, opts->report_desc, + opts->report_desc_length, + GFP_KERNEL); if (!hidg->report_desc) { - kfree(hidg); + put_device(&hidg->dev); + --opts->refcnt; mutex_unlock(&opts->lock); return ERR_PTR(-ENOMEM); } --- linux-gcp-5.19.0.orig/drivers/usb/gadget/function/f_mass_storage.c +++ linux-gcp-5.19.0/drivers/usb/gadget/function/f_mass_storage.c @@ -1192,13 +1192,14 @@ u8 format; int i, len; + format = common->cmnd[2] & 0xf; + if ((common->cmnd[1] & ~0x02) != 0 || /* Mask away MSF */ - start_track > 1) { + (start_track > 1 && format != 0x1)) { curlun->sense_data = SS_INVALID_FIELD_IN_CDB; return -EINVAL; } - format = common->cmnd[2] & 0xf; /* * Check if CDB is old style SFF-8020i * i.e. format is in 2 MSBs of byte 9 @@ -1208,8 +1209,8 @@ format = (common->cmnd[9] >> 6) & 0x3; switch (format) { - case 0: - /* Formatted TOC */ + case 0: /* Formatted TOC */ + case 1: /* Multi-session info */ len = 4 + 2*8; /* 4 byte header + 2 descriptors */ memset(buf, 0, len); buf[1] = len - 2; /* TOC Length excludes length field */ @@ -1250,7 +1251,7 @@ return len; default: - /* Multi-session, PMA, ATIP, CD-TEXT not supported/required */ + /* PMA, ATIP, CD-TEXT not supported/required */ curlun->sense_data = SS_INVALID_FIELD_IN_CDB; return -EINVAL; } --- linux-gcp-5.19.0.orig/drivers/usb/gadget/function/f_ncm.c +++ linux-gcp-5.19.0/drivers/usb/gadget/function/f_ncm.c @@ -83,7 +83,9 @@ /* peak (theoretical) bulk transfer rate in bits-per-second */ static inline unsigned ncm_bitrate(struct usb_gadget *g) { - if (gadget_is_superspeed(g) && g->speed >= USB_SPEED_SUPER_PLUS) + if (!g) + return 0; + else if (gadget_is_superspeed(g) && g->speed >= USB_SPEED_SUPER_PLUS) return 4250000000U; else if (gadget_is_superspeed(g) && g->speed == USB_SPEED_SUPER) return 3750000000U; --- linux-gcp-5.19.0.orig/drivers/usb/gadget/function/f_printer.c +++ linux-gcp-5.19.0/drivers/usb/gadget/function/f_printer.c @@ -89,7 +89,7 @@ u8 printer_cdev_open; wait_queue_head_t wait; unsigned q_len; - char *pnp_string; /* We don't own memory! */ + char **pnp_string; /* We don't own memory! */ struct usb_function function; }; @@ -1000,16 +1000,16 @@ if ((wIndex>>8) != dev->interface) break; - if (!dev->pnp_string) { + if (!*dev->pnp_string) { value = 0; break; } - value = strlen(dev->pnp_string); + value = strlen(*dev->pnp_string); buf[0] = (value >> 8) & 0xFF; buf[1] = value & 0xFF; - memcpy(buf + 2, dev->pnp_string, value); + memcpy(buf + 2, *dev->pnp_string, value); DBG(dev, "1284 PNP String: %x %s\n", value, - dev->pnp_string); + *dev->pnp_string); break; case GET_PORT_STATUS: /* Get Port Status */ @@ -1475,7 +1475,7 @@ kref_init(&dev->kref); ++opts->refcnt; dev->minor = opts->minor; - dev->pnp_string = opts->pnp_string; + dev->pnp_string = &opts->pnp_string; dev->q_len = opts->q_len; mutex_unlock(&opts->lock); --- linux-gcp-5.19.0.orig/drivers/usb/gadget/function/f_uac2.c +++ linux-gcp-5.19.0/drivers/usb/gadget/function/f_uac2.c @@ -291,6 +291,12 @@ .bInterval = 4, }; +static struct usb_ss_ep_comp_descriptor ss_ep_int_desc_comp = { + .bLength = sizeof(ss_ep_int_desc_comp), + .bDescriptorType = USB_DT_SS_ENDPOINT_COMP, + .wBytesPerInterval = cpu_to_le16(6), +}; + /* Audio Streaming OUT Interface - Alt0 */ static struct usb_interface_descriptor std_as_out_if0_desc = { .bLength = sizeof std_as_out_if0_desc, @@ -604,7 +610,8 @@ (struct usb_descriptor_header *)&in_feature_unit_desc, (struct usb_descriptor_header *)&io_out_ot_desc, - (struct usb_descriptor_header *)&ss_ep_int_desc, + (struct usb_descriptor_header *)&ss_ep_int_desc, + (struct usb_descriptor_header *)&ss_ep_int_desc_comp, (struct usb_descriptor_header *)&std_as_out_if0_desc, (struct usb_descriptor_header *)&std_as_out_if1_desc, @@ -800,6 +807,7 @@ struct usb_ss_ep_comp_descriptor *epout_desc_comp = NULL; struct usb_ss_ep_comp_descriptor *epin_desc_comp = NULL; struct usb_ss_ep_comp_descriptor *epin_fback_desc_comp = NULL; + struct usb_ss_ep_comp_descriptor *ep_int_desc_comp = NULL; struct usb_endpoint_descriptor *epout_desc; struct usb_endpoint_descriptor *epin_desc; struct usb_endpoint_descriptor *epin_fback_desc; @@ -827,6 +835,7 @@ epin_fback_desc = &ss_epin_fback_desc; epin_fback_desc_comp = &ss_epin_fback_desc_comp; ep_int_desc = &ss_ep_int_desc; + ep_int_desc_comp = &ss_ep_int_desc_comp; } i = 0; @@ -855,8 +864,11 @@ if (EPOUT_EN(opts)) headers[i++] = USBDHDR(&io_out_ot_desc); - if (FUOUT_EN(opts) || FUIN_EN(opts)) + if (FUOUT_EN(opts) || FUIN_EN(opts)) { headers[i++] = USBDHDR(ep_int_desc); + if (ep_int_desc_comp) + headers[i++] = USBDHDR(ep_int_desc_comp); + } if (EPOUT_EN(opts)) { headers[i++] = USBDHDR(&std_as_out_if0_desc); @@ -1130,6 +1142,7 @@ } std_as_out_if0_desc.bInterfaceNumber = ret; std_as_out_if1_desc.bInterfaceNumber = ret; + std_as_out_if1_desc.bNumEndpoints = 1; uac2->as_out_intf = ret; uac2->as_out_alt = 0; --- linux-gcp-5.19.0.orig/drivers/usb/gadget/function/f_uvc.c +++ linux-gcp-5.19.0/drivers/usb/gadget/function/f_uvc.c @@ -141,7 +141,8 @@ .bEndpointAddress = USB_DIR_IN, .bmAttributes = USB_ENDPOINT_SYNC_ASYNC | USB_ENDPOINT_XFER_ISOC, - /* The wMaxPacketSize and bInterval values will be initialized from + /* + * The wMaxPacketSize and bInterval values will be initialized from * module parameters. */ }; @@ -152,7 +153,8 @@ .bEndpointAddress = USB_DIR_IN, .bmAttributes = USB_ENDPOINT_SYNC_ASYNC | USB_ENDPOINT_XFER_ISOC, - /* The wMaxPacketSize and bInterval values will be initialized from + /* + * The wMaxPacketSize and bInterval values will be initialized from * module parameters. */ }; @@ -164,7 +166,8 @@ .bEndpointAddress = USB_DIR_IN, .bmAttributes = USB_ENDPOINT_SYNC_ASYNC | USB_ENDPOINT_XFER_ISOC, - /* The wMaxPacketSize and bInterval values will be initialized from + /* + * The wMaxPacketSize and bInterval values will be initialized from * module parameters. */ }; @@ -172,7 +175,8 @@ static struct usb_ss_ep_comp_descriptor uvc_ss_streaming_comp = { .bLength = sizeof(uvc_ss_streaming_comp), .bDescriptorType = USB_DT_SS_ENDPOINT_COMP, - /* The bMaxBurst, bmAttributes and wBytesPerInterval values will be + /* + * The bMaxBurst, bmAttributes and wBytesPerInterval values will be * initialized from module parameters. */ }; @@ -212,8 +216,9 @@ memset(&v4l2_event, 0, sizeof(v4l2_event)); v4l2_event.type = UVC_EVENT_DATA; - uvc_event->data.length = req->actual; - memcpy(&uvc_event->data.data, req->buf, req->actual); + uvc_event->data.length = min_t(unsigned int, req->actual, + sizeof(uvc_event->data.data)); + memcpy(&uvc_event->data.data, req->buf, uvc_event->data.length); v4l2_event_queue(&uvc->vdev, &v4l2_event); } } @@ -234,7 +239,8 @@ if (le16_to_cpu(ctrl->wLength) > UVC_MAX_REQUEST_SIZE) return -EINVAL; - /* Tell the complete callback to generate an event for the next request + /* + * Tell the complete callback to generate an event for the next request * that will be enqueued by UVCIOC_SEND_RESPONSE. */ uvc->event_setup_out = !(ctrl->bRequestType & USB_DIR_IN); @@ -416,7 +422,7 @@ int ret; /* TODO reference counting. */ - memset(&uvc->vdev, 0, sizeof(uvc->video)); + memset(&uvc->vdev, 0, sizeof(uvc->vdev)); uvc->vdev.v4l2_dev = &uvc->v4l2_dev; uvc->vdev.v4l2_dev->dev = &cdev->gadget->dev; uvc->vdev.fops = &uvc_v4l2_fops; @@ -500,7 +506,8 @@ if (!uvc_control_desc || !uvc_streaming_cls) return ERR_PTR(-ENODEV); - /* Descriptors layout + /* + * Descriptors layout * * uvc_iad * uvc_control_intf @@ -597,8 +604,7 @@ uvcg_info(f, "%s()\n", __func__); opts = fi_to_f_uvc_opts(f->fi); - /* Sanity check the streaming endpoint module parameters. - */ + /* Sanity check the streaming endpoint module parameters. */ opts->streaming_interval = clamp(opts->streaming_interval, 1U, 16U); opts->streaming_maxpacket = clamp(opts->streaming_maxpacket, 1U, 3072U); opts->streaming_maxburst = min(opts->streaming_maxburst, 15U); @@ -611,7 +617,8 @@ opts->streaming_maxpacket); } - /* Fill in the FS/HS/SS Video Streaming specific descriptors from the + /* + * Fill in the FS/HS/SS Video Streaming specific descriptors from the * module parameters. * * NOTE: We assume that the user knows what they are doing and won't @@ -891,11 +898,16 @@ { struct usb_composite_dev *cdev = c->cdev; struct uvc_device *uvc = to_uvc(f); + struct uvc_video *video = &uvc->video; long wait_ret = 1; uvcg_info(f, "%s()\n", __func__); - /* If we know we're connected via v4l2, then there should be a cleanup + if (video->async_wq) + destroy_workqueue(video->async_wq); + + /* + * If we know we're connected via v4l2, then there should be a cleanup * of the device from userspace either via UVC_EVENT_DISCONNECT or * though the video device removal uevent. Allow some time for the * application to close out before things get deleted. @@ -912,7 +924,8 @@ v4l2_device_unregister(&uvc->v4l2_dev); if (uvc->func_connected) { - /* Wait for the release to occur to ensure there are no longer any + /* + * Wait for the release to occur to ensure there are no longer any * pending operations that may cause panics when resources are cleaned * up. */ --- linux-gcp-5.19.0.orig/drivers/usb/gadget/function/storage_common.c +++ linux-gcp-5.19.0/drivers/usb/gadget/function/storage_common.c @@ -294,8 +294,10 @@ void store_cdrom_address(u8 *dest, int msf, u32 addr) { if (msf) { - /* Convert to Minutes-Seconds-Frames */ - addr >>= 2; /* Convert to 2048-byte frames */ + /* + * Convert to Minutes-Seconds-Frames. + * Sector size is already set to 2048 bytes. + */ addr += 2*75; /* Lead-in occupies 2 seconds */ dest[3] = addr % 75; /* Frames */ addr /= 75; --- linux-gcp-5.19.0.orig/drivers/usb/gadget/function/u_serial.c +++ linux-gcp-5.19.0/drivers/usb/gadget/function/u_serial.c @@ -81,6 +81,9 @@ #define WRITE_BUF_SIZE 8192 /* TX only */ #define GS_CONSOLE_BUF_SIZE 8192 +/* Prevents race conditions while accessing gser->ioport */ +static DEFINE_SPINLOCK(serial_port_lock); + /* console info */ struct gs_console { struct console console; @@ -1374,8 +1377,10 @@ if (!port) return; + spin_lock_irqsave(&serial_port_lock, flags); + /* tell the TTY glue not to do I/O here any more */ - spin_lock_irqsave(&port->port_lock, flags); + spin_lock(&port->port_lock); gs_console_disconnect(port); @@ -1390,7 +1395,8 @@ tty_hangup(port->port.tty); } port->suspended = false; - spin_unlock_irqrestore(&port->port_lock, flags); + spin_unlock(&port->port_lock); + spin_unlock_irqrestore(&serial_port_lock, flags); /* disable endpoints, aborting down any active I/O */ usb_ep_disable(gser->out); @@ -1424,10 +1430,19 @@ void gserial_resume(struct gserial *gser) { - struct gs_port *port = gser->ioport; + struct gs_port *port; unsigned long flags; - spin_lock_irqsave(&port->port_lock, flags); + spin_lock_irqsave(&serial_port_lock, flags); + port = gser->ioport; + + if (!port) { + spin_unlock_irqrestore(&serial_port_lock, flags); + return; + } + + spin_lock(&port->port_lock); + spin_unlock(&serial_port_lock); port->suspended = false; if (!port->start_delayed) { spin_unlock_irqrestore(&port->port_lock, flags); --- linux-gcp-5.19.0.orig/drivers/usb/gadget/function/uvc.h +++ linux-gcp-5.19.0/drivers/usb/gadget/function/uvc.h @@ -88,6 +88,7 @@ struct usb_ep *ep; struct work_struct pump; + struct workqueue_struct *async_wq; /* Frame parameters */ u8 bpp; --- linux-gcp-5.19.0.orig/drivers/usb/gadget/function/uvc_queue.c +++ linux-gcp-5.19.0/drivers/usb/gadget/function/uvc_queue.c @@ -44,7 +44,8 @@ { struct uvc_video_queue *queue = vb2_get_drv_priv(vq); struct uvc_video *video = container_of(queue, struct uvc_video, queue); - struct usb_composite_dev *cdev = video->uvc->func.config->cdev; + unsigned int req_size; + unsigned int nreq; if (*nbuffers > UVC_MAX_VIDEO_BUFFERS) *nbuffers = UVC_MAX_VIDEO_BUFFERS; @@ -53,10 +54,16 @@ sizes[0] = video->imagesize; - if (cdev->gadget->speed < USB_SPEED_SUPER) - video->uvc_num_requests = 4; - else - video->uvc_num_requests = 64; + req_size = video->ep->maxpacket + * max_t(unsigned int, video->ep->maxburst, 1) + * (video->ep->mult); + + /* We divide by two, to increase the chance to run + * into fewer requests for smaller framesizes. + */ + nreq = DIV_ROUND_UP(DIV_ROUND_UP(sizes[0], 2), req_size); + nreq = clamp(nreq, 4U, 64U); + video->uvc_num_requests = nreq; return 0; } @@ -77,12 +84,9 @@ return -ENODEV; buf->state = UVC_BUF_STATE_QUEUED; - if (queue->use_sg) { - buf->sgt = vb2_dma_sg_plane_desc(vb, 0); - buf->sg = buf->sgt->sgl; - } else { - buf->mem = vb2_plane_vaddr(vb, 0); - } + buf->sgt = vb2_dma_sg_plane_desc(vb, 0); + buf->sg = buf->sgt->sgl; + buf->mem = vb2_plane_vaddr(vb, 0); buf->length = vb2_plane_size(vb, 0); if (vb->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) buf->bytesused = 0; @@ -104,7 +108,8 @@ if (likely(!(queue->flags & UVC_QUEUE_DISCONNECTED))) { list_add_tail(&buf->queue, &queue->irqqueue); } else { - /* If the device is disconnected return the buffer to userspace + /* + * If the device is disconnected return the buffer to userspace * directly. The next QBUF call will fail with -ENODEV. */ buf->state = UVC_BUF_STATE_ERROR; @@ -255,7 +260,8 @@ } queue->buf_used = 0; - /* This must be protected by the irqlock spinlock to avoid race + /* + * This must be protected by the irqlock spinlock to avoid race * conditions between uvc_queue_buffer and the disconnection event that * could result in an interruptible wait in uvc_dequeue_buffer. Do not * blindly replace this logic by checking for the UVC_DEV_DISCONNECTED @@ -295,6 +301,7 @@ queue->sequence = 0; queue->buf_used = 0; + queue->flags &= ~UVC_QUEUE_DROP_INCOMPLETE; } else { ret = vb2_streamoff(&queue->queue, queue->queue.type); if (ret < 0) @@ -320,10 +327,11 @@ void uvcg_complete_buffer(struct uvc_video_queue *queue, struct uvc_buffer *buf) { - if ((queue->flags & UVC_QUEUE_DROP_INCOMPLETE) && - buf->length != buf->bytesused) { - buf->state = UVC_BUF_STATE_QUEUED; + if (queue->flags & UVC_QUEUE_DROP_INCOMPLETE) { + queue->flags &= ~UVC_QUEUE_DROP_INCOMPLETE; + buf->state = UVC_BUF_STATE_ERROR; vb2_set_plane_payload(&buf->buf.vb2_buf, 0, 0); + vb2_buffer_done(&buf->buf.vb2_buf, VB2_BUF_STATE_ERROR); return; } --- linux-gcp-5.19.0.orig/drivers/usb/gadget/function/uvc_v4l2.c +++ linux-gcp-5.19.0/drivers/usb/gadget/function/uvc_v4l2.c @@ -170,7 +170,7 @@ return ret; if (uvc->state == UVC_STATE_STREAMING) - schedule_work(&video->pump); + queue_work(video->async_wq, &video->pump); return ret; } --- linux-gcp-5.19.0.orig/drivers/usb/gadget/function/uvc_video.c +++ linux-gcp-5.19.0/drivers/usb/gadget/function/uvc_video.c @@ -88,6 +88,7 @@ struct uvc_buffer *buf) { void *mem = req->buf; + struct uvc_request *ureq = req->context; int len = video->req_size; int ret; @@ -113,13 +114,14 @@ video->queue.buf_used = 0; buf->state = UVC_BUF_STATE_DONE; list_del(&buf->queue); - uvcg_complete_buffer(&video->queue, buf); video->fid ^= UVC_STREAM_FID; + ureq->last_buf = buf; video->payload_size = 0; } if (video->payload_size == video->max_payload_size || + video->queue.flags & UVC_QUEUE_DROP_INCOMPLETE || buf->bytesused == video->queue.buf_used) video->payload_size = 0; } @@ -155,10 +157,10 @@ sg = sg_next(sg); for_each_sg(sg, iter, ureq->sgt.nents - 1, i) { - if (!len || !buf->sg || !sg_dma_len(buf->sg)) + if (!len || !buf->sg || !buf->sg->length) break; - sg_left = sg_dma_len(buf->sg) - buf->offset; + sg_left = buf->sg->length - buf->offset; part = min_t(unsigned int, len, sg_left); sg_set_page(iter, sg_page(buf->sg), part, buf->offset); @@ -180,7 +182,8 @@ req->length -= len; video->queue.buf_used += req->length - header_len; - if (buf->bytesused == video->queue.buf_used || !buf->sg) { + if (buf->bytesused == video->queue.buf_used || !buf->sg || + video->queue.flags & UVC_QUEUE_DROP_INCOMPLETE) { video->queue.buf_used = 0; buf->state = UVC_BUF_STATE_DONE; buf->offset = 0; @@ -195,6 +198,7 @@ struct uvc_buffer *buf) { void *mem = req->buf; + struct uvc_request *ureq = req->context; int len = video->req_size; int ret; @@ -209,12 +213,13 @@ req->length = video->req_size - len; - if (buf->bytesused == video->queue.buf_used) { + if (buf->bytesused == video->queue.buf_used || + video->queue.flags & UVC_QUEUE_DROP_INCOMPLETE) { video->queue.buf_used = 0; buf->state = UVC_BUF_STATE_DONE; list_del(&buf->queue); - uvcg_complete_buffer(&video->queue, buf); video->fid ^= UVC_STREAM_FID; + ureq->last_buf = buf; } } @@ -255,13 +260,18 @@ case 0: break; + case -EXDEV: + uvcg_dbg(&video->uvc->func, "VS request missed xfer.\n"); + queue->flags |= UVC_QUEUE_DROP_INCOMPLETE; + break; + case -ESHUTDOWN: /* disconnect from host. */ uvcg_dbg(&video->uvc->func, "VS request cancelled.\n"); uvcg_queue_cancel(queue, 1); break; default: - uvcg_info(&video->uvc->func, + uvcg_warn(&video->uvc->func, "VS request completed with status %d.\n", req->status); uvcg_queue_cancel(queue, 0); @@ -277,7 +287,7 @@ spin_unlock_irqrestore(&video->req_lock, flags); if (uvc->state == UVC_STATE_STREAMING) - schedule_work(&video->pump); + queue_work(video->async_wq, &video->pump); } static int @@ -378,7 +388,8 @@ int ret; while (video->ep->enabled) { - /* Retrieve the first available USB request, protected by the + /* + * Retrieve the first available USB request, protected by the * request lock. */ spin_lock_irqsave(&video->req_lock, flags); @@ -391,7 +402,8 @@ list_del(&req->list); spin_unlock_irqrestore(&video->req_lock, flags); - /* Retrieve the first available video buffer and fill the + /* + * Retrieve the first available video buffer and fill the * request, protected by the video queue irqlock. */ spin_lock_irqsave(&queue->irqlock, flags); @@ -403,9 +415,11 @@ video->encode(req, video, buf); - /* With usb3 we have more requests. This will decrease the + /* + * With usb3 we have more requests. This will decrease the * interrupt load to a quarter but also catches the corner - * cases, which needs to be handled */ + * cases, which needs to be handled. + */ if (list_empty(&video->req_free) || buf->state == UVC_BUF_STATE_DONE || !(video->req_int_count % @@ -427,7 +441,8 @@ /* Endpoint now owns the request */ req = NULL; - video->req_int_count++; + if (buf->state != UVC_BUF_STATE_DONE) + video->req_int_count++; } if (!req) @@ -444,6 +459,9 @@ */ int uvcg_video_enable(struct uvc_video *video, int enable) { + struct uvc_device *uvc = video->uvc; + struct usb_composite_dev *cdev = uvc->func.config->cdev; + struct usb_gadget *gadget = cdev->gadget; unsigned int i; int ret; @@ -475,13 +493,15 @@ if (video->max_payload_size) { video->encode = uvc_video_encode_bulk; video->payload_size = 0; - } else - video->encode = video->queue.use_sg ? + } else { + video->encode = (video->queue.use_sg && + !(gadget->speed <= USB_SPEED_HIGH)) ? uvc_video_encode_isoc_sg : uvc_video_encode_isoc; + } video->req_int_count = 0; - schedule_work(&video->pump); + queue_work(video->async_wq, &video->pump); return ret; } @@ -495,6 +515,11 @@ spin_lock_init(&video->req_lock); INIT_WORK(&video->pump, uvcg_video_pump); + /* Allocate a work queue for asynchronous video pump handler. */ + video->async_wq = alloc_workqueue("uvcgadget", WQ_UNBOUND | WQ_HIGHPRI, 0); + if (!video->async_wq) + return -EINVAL; + video->uvc = uvc; video->fcc = V4L2_PIX_FMT_YUYV; video->bpp = 16; --- linux-gcp-5.19.0.orig/drivers/usb/gadget/legacy/inode.c +++ linux-gcp-5.19.0/drivers/usb/gadget/legacy/inode.c @@ -229,6 +229,7 @@ */ static const char *CHIP; +static DEFINE_MUTEX(sb_mutex); /* Serialize superblock operations */ /*----------------------------------------------------------------------*/ @@ -362,6 +363,7 @@ spin_unlock_irq (&epdata->dev->lock); DBG (epdata->dev, "endpoint gone\n"); + wait_for_completion(&done); epdata->status = -ENODEV; } } @@ -2009,13 +2011,20 @@ { struct inode *inode; struct dev_data *dev; + int rc; - if (the_device) - return -ESRCH; + mutex_lock(&sb_mutex); + + if (the_device) { + rc = -ESRCH; + goto Done; + } CHIP = usb_get_gadget_udc_name(); - if (!CHIP) - return -ENODEV; + if (!CHIP) { + rc = -ENODEV; + goto Done; + } /* superblock */ sb->s_blocksize = PAGE_SIZE; @@ -2052,13 +2061,17 @@ * from binding to a controller. */ the_device = dev; - return 0; + rc = 0; + goto Done; -Enomem: + Enomem: kfree(CHIP); CHIP = NULL; + rc = -ENOMEM; - return -ENOMEM; + Done: + mutex_unlock(&sb_mutex); + return rc; } /* "mount -t gadgetfs path /dev/gadget" ends up here */ @@ -2080,6 +2093,7 @@ static void gadgetfs_kill_sb (struct super_block *sb) { + mutex_lock(&sb_mutex); kill_litter_super (sb); if (the_device) { put_dev (the_device); @@ -2087,6 +2101,7 @@ } kfree(CHIP); CHIP = NULL; + mutex_unlock(&sb_mutex); } /*----------------------------------------------------------------------*/ --- linux-gcp-5.19.0.orig/drivers/usb/gadget/legacy/webcam.c +++ linux-gcp-5.19.0/drivers/usb/gadget/legacy/webcam.c @@ -293,6 +293,7 @@ (const struct uvc_descriptor_header *) &uvc_format_yuv, (const struct uvc_descriptor_header *) &uvc_frame_yuv_360p, (const struct uvc_descriptor_header *) &uvc_frame_yuv_720p, + (const struct uvc_descriptor_header *) &uvc_color_matching, (const struct uvc_descriptor_header *) &uvc_format_mjpg, (const struct uvc_descriptor_header *) &uvc_frame_mjpg_360p, (const struct uvc_descriptor_header *) &uvc_frame_mjpg_720p, @@ -305,6 +306,7 @@ (const struct uvc_descriptor_header *) &uvc_format_yuv, (const struct uvc_descriptor_header *) &uvc_frame_yuv_360p, (const struct uvc_descriptor_header *) &uvc_frame_yuv_720p, + (const struct uvc_descriptor_header *) &uvc_color_matching, (const struct uvc_descriptor_header *) &uvc_format_mjpg, (const struct uvc_descriptor_header *) &uvc_frame_mjpg_360p, (const struct uvc_descriptor_header *) &uvc_frame_mjpg_720p, @@ -317,6 +319,7 @@ (const struct uvc_descriptor_header *) &uvc_format_yuv, (const struct uvc_descriptor_header *) &uvc_frame_yuv_360p, (const struct uvc_descriptor_header *) &uvc_frame_yuv_720p, + (const struct uvc_descriptor_header *) &uvc_color_matching, (const struct uvc_descriptor_header *) &uvc_format_mjpg, (const struct uvc_descriptor_header *) &uvc_frame_mjpg_360p, (const struct uvc_descriptor_header *) &uvc_frame_mjpg_720p, --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/Kconfig +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/Kconfig @@ -311,7 +311,7 @@ config USB_AMD5536UDC tristate "AMD5536 UDC" - depends on USB_PCI + depends on USB_PCI && HAS_DMA select USB_SNP_CORE help The AMD5536 UDC is part of the AMD Geode CS5536, an x86 southbridge. --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/aspeed-vhub/dev.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/aspeed-vhub/dev.c @@ -591,6 +591,7 @@ d->gadget.max_speed = USB_SPEED_HIGH; d->gadget.speed = USB_SPEED_UNKNOWN; d->gadget.dev.of_node = vhub->pdev->dev.of_node; + d->gadget.dev.of_node_reused = true; rc = usb_add_gadget_udc(d->port_dev, &d->gadget); if (rc != 0) --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/aspeed-vhub/hub.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/aspeed-vhub/hub.c @@ -1059,8 +1059,10 @@ /* Initialize vhub String Descriptors. */ INIT_LIST_HEAD(&vhub->vhub_str_desc); desc_np = of_get_child_by_name(vhub_np, "vhub-strings"); - if (desc_np) + if (desc_np) { ret = ast_vhub_of_parse_str_desc(vhub, desc_np); + of_node_put(desc_np); + } else ret = ast_vhub_str_alloc_add(vhub, &ast_vhub_strings); --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/bcm63xx_udc.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/bcm63xx_udc.c @@ -1830,7 +1830,6 @@ bcm63xx_select_phy_mode(udc, true); udc->driver = driver; - driver->driver.bus = NULL; udc->gadget.dev.of_node = udc->dev->of_node; spin_unlock_irqrestore(&udc->lock, flags); --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/bdc/bdc_udc.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/bdc/bdc_udc.c @@ -151,6 +151,7 @@ bdc->delayed_status = false; bdc->reinit = reinit; bdc->test_mode = false; + usb_gadget_set_state(&bdc->gadget, USB_STATE_NOTATTACHED); } /* TNotify wkaeup timer */ --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/core.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/core.c @@ -734,10 +734,13 @@ } ret = gadget->ops->pullup(gadget, 0); - if (!ret) { + if (!ret) gadget->connected = 0; + + mutex_lock(&udc_lock); + if (gadget->udc->driver) gadget->udc->driver->disconnect(gadget); - } + mutex_unlock(&udc_lock); out: trace_usb_gadget_disconnect(gadget, ret); @@ -1489,7 +1492,6 @@ usb_gadget_udc_set_speed(udc, driver->max_speed); - mutex_lock(&udc_lock); ret = driver->bind(udc->gadget, driver); if (ret) goto err_bind; @@ -1499,7 +1501,6 @@ goto err_start; usb_gadget_enable_async_callbacks(udc); usb_udc_connect_control(udc); - mutex_unlock(&udc_lock); kobject_uevent(&udc->dev.kobj, KOBJ_CHANGE); return 0; @@ -1512,6 +1513,7 @@ dev_err(&udc->dev, "failed to start %s: %d\n", driver->function, ret); + mutex_lock(&udc_lock); udc->driver = NULL; driver->is_bound = false; mutex_unlock(&udc_lock); @@ -1529,7 +1531,6 @@ kobject_uevent(&udc->dev.kobj, KOBJ_CHANGE); - mutex_lock(&udc_lock); usb_gadget_disconnect(gadget); usb_gadget_disable_async_callbacks(udc); if (gadget->irq) @@ -1537,6 +1538,7 @@ udc->driver->unbind(gadget); usb_gadget_udc_stop(udc); + mutex_lock(&udc_lock); driver->is_bound = false; udc->driver = NULL; mutex_unlock(&udc_lock); @@ -1612,7 +1614,7 @@ struct usb_udc *udc = container_of(dev, struct usb_udc, dev); ssize_t ret; - mutex_lock(&udc_lock); + device_lock(&udc->gadget->dev); if (!udc->driver) { dev_err(dev, "soft-connect without a gadget driver\n"); ret = -EOPNOTSUPP; @@ -1633,7 +1635,7 @@ ret = n; out: - mutex_unlock(&udc_lock); + device_unlock(&udc->gadget->dev); return ret; } static DEVICE_ATTR_WO(soft_connect); @@ -1652,11 +1654,15 @@ char *buf) { struct usb_udc *udc = container_of(dev, struct usb_udc, dev); - struct usb_gadget_driver *drv = udc->driver; + struct usb_gadget_driver *drv; + int rc = 0; - if (!drv || !drv->function) - return 0; - return scnprintf(buf, PAGE_SIZE, "%s\n", drv->function); + mutex_lock(&udc_lock); + drv = udc->driver; + if (drv && drv->function) + rc = scnprintf(buf, PAGE_SIZE, "%s\n", drv->function); + mutex_unlock(&udc_lock); + return rc; } static DEVICE_ATTR_RO(function); @@ -1728,13 +1734,14 @@ return ret; } - if (udc->driver) { + mutex_lock(&udc_lock); + if (udc->driver) ret = add_uevent_var(env, "USB_UDC_DRIVER=%s", udc->driver->function); - if (ret) { - dev_err(dev, "failed to add uevent USB_UDC_DRIVER\n"); - return ret; - } + mutex_unlock(&udc_lock); + if (ret) { + dev_err(dev, "failed to add uevent USB_UDC_DRIVER\n"); + return ret; } return 0; --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/fotg210-udc.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/fotg210-udc.c @@ -629,10 +629,10 @@ static void fotg210_set_address(struct fotg210_udc *fotg210, struct usb_ctrlrequest *ctrl) { - if (ctrl->wValue >= 0x0100) { + if (le16_to_cpu(ctrl->wValue) >= 0x0100) { fotg210_request_error(fotg210); } else { - fotg210_set_dev_addr(fotg210, ctrl->wValue); + fotg210_set_dev_addr(fotg210, le16_to_cpu(ctrl->wValue)); fotg210_set_cxdone(fotg210); } } @@ -706,6 +706,20 @@ return value & INOUTEPMPSR_STL_EP ? 1 : 0; } +/* For EP0 requests triggered by this driver (currently GET_STATUS response) */ +static void fotg210_ep0_complete(struct usb_ep *_ep, struct usb_request *req) +{ + struct fotg210_ep *ep; + struct fotg210_udc *fotg210; + + ep = container_of(_ep, struct fotg210_ep, ep); + fotg210 = ep->fotg210; + + if (req->status || req->actual != req->length) { + dev_warn(&fotg210->gadget.dev, "EP0 request failed: %d\n", req->status); + } +} + static void fotg210_get_status(struct fotg210_udc *fotg210, struct usb_ctrlrequest *ctrl) { @@ -713,17 +727,17 @@ switch (ctrl->bRequestType & USB_RECIP_MASK) { case USB_RECIP_DEVICE: - fotg210->ep0_data = 1 << USB_DEVICE_SELF_POWERED; + fotg210->ep0_data = cpu_to_le16(1 << USB_DEVICE_SELF_POWERED); break; case USB_RECIP_INTERFACE: - fotg210->ep0_data = 0; + fotg210->ep0_data = cpu_to_le16(0); break; case USB_RECIP_ENDPOINT: epnum = ctrl->wIndex & USB_ENDPOINT_NUMBER_MASK; if (epnum) fotg210->ep0_data = - fotg210_is_epnstall(fotg210->ep[epnum]) - << USB_ENDPOINT_HALT; + cpu_to_le16(fotg210_is_epnstall(fotg210->ep[epnum]) + << USB_ENDPOINT_HALT); else fotg210_request_error(fotg210); break; @@ -1009,7 +1023,6 @@ u32 value; /* hook up the driver */ - driver->driver.bus = NULL; fotg210->driver = driver; /* enable device global interrupt */ @@ -1172,6 +1185,8 @@ if (fotg210->ep0_req == NULL) goto err_map; + fotg210->ep0_req->complete = fotg210_ep0_complete; + fotg210_init(fotg210); fotg210_disable_unplug(fotg210); --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/fsl_qe_udc.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/fsl_qe_udc.c @@ -2285,7 +2285,6 @@ /* lock is needed but whether should use this lock or another */ spin_lock_irqsave(&udc->lock, flags); - driver->driver.bus = NULL; /* hook up the driver */ udc->driver = driver; udc->gadget.speed = driver->max_speed; --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/fsl_udc_core.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/fsl_udc_core.c @@ -1943,7 +1943,6 @@ /* lock is needed but whether should use this lock or another */ spin_lock_irqsave(&udc_controller->lock, flags); - driver->driver.bus = NULL; /* hook up the driver */ udc_controller->driver = driver; spin_unlock_irqrestore(&udc_controller->lock, flags); --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/fusb300_udc.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/fusb300_udc.c @@ -1311,7 +1311,6 @@ struct fusb300 *fusb300 = to_fusb300(g); /* hook up the driver */ - driver->driver.bus = NULL; fusb300->driver = driver; return 0; @@ -1347,6 +1346,7 @@ usb_del_gadget_udc(&fusb300->gadget); iounmap(fusb300->reg); free_irq(platform_get_irq(pdev, 0), fusb300); + free_irq(platform_get_irq(pdev, 1), fusb300); fusb300_free_request(&fusb300->ep[0]->ep, fusb300->ep0_req); for (i = 0; i < FUSB300_MAX_NUM_EP; i++) @@ -1432,7 +1432,7 @@ IRQF_SHARED, udc_name, fusb300); if (ret < 0) { pr_err("request_irq1 error (%d)\n", ret); - goto clean_up; + goto err_request_irq1; } INIT_LIST_HEAD(&fusb300->gadget.ep_list); @@ -1471,7 +1471,7 @@ GFP_KERNEL); if (fusb300->ep0_req == NULL) { ret = -ENOMEM; - goto clean_up3; + goto err_alloc_request; } init_controller(fusb300); @@ -1486,7 +1486,10 @@ err_add_udc: fusb300_free_request(&fusb300->ep[0]->ep, fusb300->ep0_req); -clean_up3: +err_alloc_request: + free_irq(ires1->start, fusb300); + +err_request_irq1: free_irq(ires->start, fusb300); clean_up: --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/goku_udc.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/goku_udc.c @@ -1375,7 +1375,6 @@ struct goku_udc *dev = to_goku_udc(g); /* hook up the driver */ - driver->driver.bus = NULL; dev->driver = driver; /* --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/gr_udc.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/gr_udc.c @@ -1906,7 +1906,6 @@ spin_lock(&dev->lock); /* Hook up the driver */ - driver->driver.bus = NULL; dev->driver = driver; /* Get ready for host detection */ --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/m66592-udc.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/m66592-udc.c @@ -1454,7 +1454,6 @@ struct m66592 *m66592 = to_m66592(g); /* hook up the driver */ - driver->driver.bus = NULL; m66592->driver = driver; m66592_bset(m66592, M66592_VBSE | M66592_URST, M66592_INTENB0); --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/max3420_udc.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/max3420_udc.c @@ -1108,7 +1108,6 @@ spin_lock_irqsave(&udc->lock, flags); /* hook up the driver */ - driver->driver.bus = NULL; udc->driver = driver; udc->gadget.speed = USB_SPEED_FULL; --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/mv_u3d_core.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/mv_u3d_core.c @@ -1243,7 +1243,6 @@ } /* hook up the driver ... */ - driver->driver.bus = NULL; u3d->driver = driver; u3d->ep0_dir = USB_DIR_OUT; --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/mv_udc_core.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/mv_udc_core.c @@ -1359,7 +1359,6 @@ spin_lock_irqsave(&udc->lock, flags); /* hook up the driver ... */ - driver->driver.bus = NULL; udc->driver = driver; udc->usb_state = USB_STATE_ATTACHED; --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/net2272.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/net2272.c @@ -1451,7 +1451,6 @@ dev->ep[i].irqs = 0; /* hook up the driver ... */ dev->softconnect = 1; - driver->driver.bus = NULL; dev->driver = driver; /* ... then enable host detection and ep0; and we're ready --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/net2280.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/net2280.c @@ -2423,7 +2423,6 @@ dev->ep[i].irqs = 0; /* hook up the driver ... */ - driver->driver.bus = NULL; dev->driver = driver; retval = device_create_file(&dev->pdev->dev, &dev_attr_function); --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/omap_udc.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/omap_udc.c @@ -2066,7 +2066,6 @@ udc->softconnect = 1; /* hook up the driver */ - driver->driver.bus = NULL; udc->driver = driver; spin_unlock_irqrestore(&udc->lock, flags); --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/pch_udc.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/pch_udc.c @@ -2908,7 +2908,6 @@ { struct pch_udc_dev *dev = to_pch_udc(g); - driver->driver.bus = NULL; dev->driver = driver; /* get ready for ep0 traffic */ --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/snps_udc_core.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/snps_udc_core.c @@ -1933,7 +1933,6 @@ struct udc *dev = to_amd5536_udc(g); u32 tmp; - driver->driver.bus = NULL; dev->driver = driver; /* Some gadget drivers use both ep0 directions. --- linux-gcp-5.19.0.orig/drivers/usb/gadget/udc/tegra-xudc.c +++ linux-gcp-5.19.0/drivers/usb/gadget/udc/tegra-xudc.c @@ -3691,15 +3691,15 @@ int err; xudc->genpd_dev_device = dev_pm_domain_attach_by_name(dev, "dev"); - if (IS_ERR(xudc->genpd_dev_device)) { - err = PTR_ERR(xudc->genpd_dev_device); + if (IS_ERR_OR_NULL(xudc->genpd_dev_device)) { + err = PTR_ERR(xudc->genpd_dev_device) ? : -ENODATA; dev_err(dev, "failed to get device power domain: %d\n", err); return err; } xudc->genpd_dev_ss = dev_pm_domain_attach_by_name(dev, "ss"); - if (IS_ERR(xudc->genpd_dev_ss)) { - err = PTR_ERR(xudc->genpd_dev_ss); + if (IS_ERR_OR_NULL(xudc->genpd_dev_ss)) { + err = PTR_ERR(xudc->genpd_dev_ss) ? : -ENODATA; dev_err(dev, "failed to get SuperSpeed power domain: %d\n", err); return err; } --- linux-gcp-5.19.0.orig/drivers/usb/host/bcma-hcd.c +++ linux-gcp-5.19.0/drivers/usb/host/bcma-hcd.c @@ -285,7 +285,7 @@ { struct bcma_hcd_device *usb_dev = bcma_get_drvdata(dev); - if (IS_ERR_OR_NULL(usb_dev->gpio_desc)) + if (!usb_dev->gpio_desc) return; gpiod_set_value(usb_dev->gpio_desc, val); @@ -406,9 +406,11 @@ return -ENOMEM; usb_dev->core = core; - if (core->dev.of_node) - usb_dev->gpio_desc = devm_gpiod_get(&core->dev, "vcc", - GPIOD_OUT_HIGH); + usb_dev->gpio_desc = devm_gpiod_get_optional(&core->dev, "vcc", + GPIOD_OUT_HIGH); + if (IS_ERR(usb_dev->gpio_desc)) + return dev_err_probe(&core->dev, PTR_ERR(usb_dev->gpio_desc), + "error obtaining VCC GPIO"); switch (core->id.id) { case BCMA_CORE_USB20_HOST: --- linux-gcp-5.19.0.orig/drivers/usb/host/ehci-fsl.c +++ linux-gcp-5.19.0/drivers/usb/host/ehci-fsl.c @@ -29,7 +29,7 @@ #include "ehci-fsl.h" #define DRIVER_DESC "Freescale EHCI Host controller driver" -#define DRV_NAME "ehci-fsl" +#define DRV_NAME "fsl-ehci" static struct hc_driver __read_mostly fsl_ehci_hc_driver; --- linux-gcp-5.19.0.orig/drivers/usb/host/ehci-ppc-of.c +++ linux-gcp-5.19.0/drivers/usb/host/ehci-ppc-of.c @@ -148,6 +148,7 @@ } else { ehci->has_amcc_usb23 = 1; } + of_node_put(np); } if (of_get_property(dn, "big-endian", NULL)) { --- linux-gcp-5.19.0.orig/drivers/usb/host/fsl-mph-dr-of.c +++ linux-gcp-5.19.0/drivers/usb/host/fsl-mph-dr-of.c @@ -112,8 +112,7 @@ goto error; } - pdev->dev.of_node = ofdev->dev.of_node; - pdev->dev.of_node_reused = true; + device_set_of_node_from_dev(&pdev->dev, &ofdev->dev); retval = platform_device_add(pdev); if (retval) --- linux-gcp-5.19.0.orig/drivers/usb/host/max3421-hcd.c +++ linux-gcp-5.19.0/drivers/usb/host/max3421-hcd.c @@ -1436,7 +1436,7 @@ * use spi_wr_buf(). */ for (i = 0; i < ARRAY_SIZE(max3421_hcd->iopins); ++i) { - u8 val = spi_rd8(hcd, MAX3421_REG_IOPINS1); + u8 val = spi_rd8(hcd, MAX3421_REG_IOPINS1 + i); val = ((val & 0xf0) | (max3421_hcd->iopins[i] & 0x0f)); --- linux-gcp-5.19.0.orig/drivers/usb/host/ohci-at91.c +++ linux-gcp-5.19.0/drivers/usb/host/ohci-at91.c @@ -13,6 +13,7 @@ * This file is licenced under the GPL. */ +#include #include #include #include @@ -55,6 +56,7 @@ bool clocked; bool wakeup; /* Saved wake-up state for resume */ struct regmap *sfr_regmap; + u32 suspend_smc_id; }; /* interface and function clocks; sometimes also an AHB clock */ @@ -135,6 +137,19 @@ static void usb_hcd_at91_remove (struct usb_hcd *, struct platform_device *); +static u32 at91_dt_suspend_smc(struct device *dev) +{ + u32 suspend_smc_id; + + if (!dev->of_node) + return 0; + + if (of_property_read_u32(dev->of_node, "microchip,suspend-smc-id", &suspend_smc_id)) + return 0; + + return suspend_smc_id; +} + static struct regmap *at91_dt_syscon_sfr(void) { struct regmap *regmap; @@ -215,9 +230,13 @@ goto err; } - ohci_at91->sfr_regmap = at91_dt_syscon_sfr(); - if (!ohci_at91->sfr_regmap) - dev_dbg(dev, "failed to find sfr node\n"); + ohci_at91->suspend_smc_id = at91_dt_suspend_smc(dev); + if (!ohci_at91->suspend_smc_id) { + dev_dbg(dev, "failed to find sfr suspend smc id, using regmap\n"); + ohci_at91->sfr_regmap = at91_dt_syscon_sfr(); + if (!ohci_at91->sfr_regmap) + dev_dbg(dev, "failed to find sfr node\n"); + } board = hcd->self.controller->platform_data; ohci = hcd_to_ohci(hcd); @@ -303,24 +322,30 @@ return length; } -static int ohci_at91_port_suspend(struct regmap *regmap, u8 set) +static int ohci_at91_port_suspend(struct ohci_at91_priv *ohci_at91, u8 set) { + struct regmap *regmap = ohci_at91->sfr_regmap; u32 regval; int ret; - if (!regmap) - return 0; + if (ohci_at91->suspend_smc_id) { + struct arm_smccc_res res; - ret = regmap_read(regmap, AT91_SFR_OHCIICR, ®val); - if (ret) - return ret; + arm_smccc_smc(ohci_at91->suspend_smc_id, set, 0, 0, 0, 0, 0, 0, &res); + if (res.a0) + return -EINVAL; + } else if (regmap) { + ret = regmap_read(regmap, AT91_SFR_OHCIICR, ®val); + if (ret) + return ret; - if (set) - regval |= AT91_OHCIICR_USB_SUSPEND; - else - regval &= ~AT91_OHCIICR_USB_SUSPEND; + if (set) + regval |= AT91_OHCIICR_USB_SUSPEND; + else + regval &= ~AT91_OHCIICR_USB_SUSPEND; - regmap_write(regmap, AT91_SFR_OHCIICR, regval); + regmap_write(regmap, AT91_SFR_OHCIICR, regval); + } return 0; } @@ -357,9 +382,8 @@ case USB_PORT_FEAT_SUSPEND: dev_dbg(hcd->self.controller, "SetPortFeat: SUSPEND\n"); - if (valid_port(wIndex) && ohci_at91->sfr_regmap) { - ohci_at91_port_suspend(ohci_at91->sfr_regmap, - 1); + if (valid_port(wIndex)) { + ohci_at91_port_suspend(ohci_at91, 1); return 0; } break; @@ -400,9 +424,8 @@ case USB_PORT_FEAT_SUSPEND: dev_dbg(hcd->self.controller, "ClearPortFeature: SUSPEND\n"); - if (valid_port(wIndex) && ohci_at91->sfr_regmap) { - ohci_at91_port_suspend(ohci_at91->sfr_regmap, - 0); + if (valid_port(wIndex)) { + ohci_at91_port_suspend(ohci_at91, 0); return 0; } break; @@ -630,10 +653,10 @@ /* flush the writes */ (void) ohci_readl (ohci, &ohci->regs->control); msleep(1); - ohci_at91_port_suspend(ohci_at91->sfr_regmap, 1); + ohci_at91_port_suspend(ohci_at91, 1); at91_stop_clock(ohci_at91); } else { - ohci_at91_port_suspend(ohci_at91->sfr_regmap, 1); + ohci_at91_port_suspend(ohci_at91, 1); } return ret; @@ -645,7 +668,7 @@ struct usb_hcd *hcd = dev_get_drvdata(dev); struct ohci_at91_priv *ohci_at91 = hcd_to_ohci_at91_priv(hcd); - ohci_at91_port_suspend(ohci_at91->sfr_regmap, 0); + ohci_at91_port_suspend(ohci_at91, 0); if (ohci_at91->wakeup) disable_irq_wake(hcd->irq); --- linux-gcp-5.19.0.orig/drivers/usb/host/ohci-nxp.c +++ linux-gcp-5.19.0/drivers/usb/host/ohci-nxp.c @@ -164,6 +164,7 @@ } isp1301_i2c_client = isp1301_get_client(isp1301_node); + of_node_put(isp1301_node); if (!isp1301_i2c_client) return -EPROBE_DEFER; --- linux-gcp-5.19.0.orig/drivers/usb/host/ohci-ppc-of.c +++ linux-gcp-5.19.0/drivers/usb/host/ohci-ppc-of.c @@ -166,6 +166,7 @@ release_mem_region(res.start, 0x4); } else pr_debug("%s: cannot get ehci offset from fdt\n", __FILE__); + of_node_put(np); } irq_dispose_mapping(irq); --- linux-gcp-5.19.0.orig/drivers/usb/host/xhci-dbgcap.c +++ linux-gcp-5.19.0/drivers/usb/host/xhci-dbgcap.c @@ -988,7 +988,7 @@ dbc->driver = driver; if (readl(&dbc->regs->control) & DBC_CTRL_DBC_ENABLE) - return NULL; + goto err; INIT_DELAYED_WORK(&dbc->event_work, xhci_dbc_handle_events); spin_lock_init(&dbc->lock); --- linux-gcp-5.19.0.orig/drivers/usb/host/xhci-hub.c +++ linux-gcp-5.19.0/drivers/usb/host/xhci-hub.c @@ -652,7 +652,7 @@ * It will release and re-aquire the lock while calling ACPI * method. */ -void xhci_set_port_power(struct xhci_hcd *xhci, struct usb_hcd *hcd, +static void xhci_set_port_power(struct xhci_hcd *xhci, struct usb_hcd *hcd, u16 index, bool on, unsigned long *flags) __must_hold(&xhci->lock) { @@ -1648,6 +1648,17 @@ status = bus_state->resuming_ports; + /* + * SS devices are only visible to roothub after link training completes. + * Keep polling roothubs for a grace period after xHC start + */ + if (xhci->run_graceperiod) { + if (time_before(jiffies, xhci->run_graceperiod)) + status = 1; + else + xhci->run_graceperiod = 0; + } + mask = PORT_CSC | PORT_PEC | PORT_OCC | PORT_PLC | PORT_WRC | PORT_CEC; /* For each port, did anything change? If so, set that bit in buf. */ --- linux-gcp-5.19.0.orig/drivers/usb/host/xhci-mem.c +++ linux-gcp-5.19.0/drivers/usb/host/xhci-mem.c @@ -641,7 +641,7 @@ num_stream_ctxs, &stream_info->ctx_array_dma, mem_flags); if (!stream_info->stream_ctx_array) - goto cleanup_ctx; + goto cleanup_ring_array; memset(stream_info->stream_ctx_array, 0, sizeof(struct xhci_stream_ctx)*num_stream_ctxs); @@ -702,6 +702,11 @@ } xhci_free_command(xhci, stream_info->free_streams_command); cleanup_ctx: + xhci_free_stream_ctx(xhci, + stream_info->num_stream_ctxs, + stream_info->stream_ctx_array, + stream_info->ctx_array_dma); +cleanup_ring_array: kfree(stream_info->stream_rings); cleanup_info: kfree(stream_info); @@ -884,15 +889,19 @@ if (dev->eps[i].stream_info) xhci_free_stream_info(xhci, dev->eps[i].stream_info); - /* Endpoints on the TT/root port lists should have been removed - * when usb_disable_device() was called for the device. - * We can't drop them anyway, because the udev might have gone - * away by this point, and we can't tell what speed it was. + /* + * Endpoints are normally deleted from the bandwidth list when + * endpoints are dropped, before device is freed. + * If host is dying or being removed then endpoints aren't + * dropped cleanly, so delete the endpoint from list here. + * Only applicable for hosts with software bandwidth checking. */ - if (!list_empty(&dev->eps[i].bw_endpoint_list)) - xhci_warn(xhci, "Slot %u endpoint %u " - "not removed from BW list!\n", - slot_id, i); + + if (!list_empty(&dev->eps[i].bw_endpoint_list)) { + list_del_init(&dev->eps[i].bw_endpoint_list); + xhci_dbg(xhci, "Slot %u endpoint %u not removed from BW list!\n", + slot_id, i); + } } /* If this is a hub, free the TT(s) from the TT list */ xhci_free_tt_info(xhci, dev, slot_id); --- linux-gcp-5.19.0.orig/drivers/usb/host/xhci-mtk-sch.c +++ linux-gcp-5.19.0/drivers/usb/host/xhci-mtk-sch.c @@ -425,7 +425,6 @@ static int check_sch_tt(struct mu3h_sch_ep_info *sch_ep, u32 offset) { - u32 extra_cs_count; u32 start_ss, last_ss; u32 start_cs, last_cs; @@ -461,18 +460,12 @@ if (last_cs > 7) return -ESCH_CS_OVERFLOW; - if (sch_ep->ep_type == ISOC_IN_EP) - extra_cs_count = (last_cs == 7) ? 1 : 2; - else /* ep_type : INTR IN / INTR OUT */ - extra_cs_count = 1; - - cs_count += extra_cs_count; if (cs_count > 7) cs_count = 7; /* HW limit */ sch_ep->cs_count = cs_count; - /* one for ss, the other for idle */ - sch_ep->num_budget_microframes = cs_count + 2; + /* ss, idle are ignored */ + sch_ep->num_budget_microframes = cs_count; /* * if interval=1, maxp >752, num_budge_micoframe is larger @@ -771,8 +764,8 @@ if (ret) return ret; - if (ep->hcpriv) - drop_ep_quirk(hcd, udev, ep); + /* needn't check @ep->hcpriv, xhci_endpoint_disable set it NULL */ + drop_ep_quirk(hcd, udev, ep); return 0; } --- linux-gcp-5.19.0.orig/drivers/usb/host/xhci-mtk.c +++ linux-gcp-5.19.0/drivers/usb/host/xhci-mtk.c @@ -632,7 +632,6 @@ dealloc_usb3_hcd: usb_remove_hcd(xhci->shared_hcd); - xhci->shared_hcd = NULL; dealloc_usb2_hcd: usb_remove_hcd(hcd); --- linux-gcp-5.19.0.orig/drivers/usb/host/xhci-pci.c +++ linux-gcp-5.19.0/drivers/usb/host/xhci-pci.c @@ -58,25 +58,14 @@ #define PCI_DEVICE_ID_INTEL_CML_XHCI 0xa3af #define PCI_DEVICE_ID_INTEL_TIGER_LAKE_XHCI 0x9a13 #define PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_XHCI 0x1138 -#define PCI_DEVICE_ID_INTEL_ALDER_LAKE_XHCI 0x461e -#define PCI_DEVICE_ID_INTEL_ALDER_LAKE_N_XHCI 0x464e -#define PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI 0x51ed -#define PCI_DEVICE_ID_INTEL_RAPTOR_LAKE_XHCI 0xa71e -#define PCI_DEVICE_ID_INTEL_METEOR_LAKE_XHCI 0x7ec0 +#define PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI 0x51ed +#define PCI_DEVICE_ID_INTEL_ALDER_LAKE_N_PCH_XHCI 0x54ed #define PCI_DEVICE_ID_AMD_RENOIR_XHCI 0x1639 #define PCI_DEVICE_ID_AMD_PROMONTORYA_4 0x43b9 #define PCI_DEVICE_ID_AMD_PROMONTORYA_3 0x43ba #define PCI_DEVICE_ID_AMD_PROMONTORYA_2 0x43bb #define PCI_DEVICE_ID_AMD_PROMONTORYA_1 0x43bc -#define PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_1 0x161a -#define PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_2 0x161b -#define PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_3 0x161d -#define PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_4 0x161e -#define PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_5 0x15d6 -#define PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_6 0x15d7 -#define PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_7 0x161c -#define PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_8 0x161f #define PCI_DEVICE_ID_ASMEDIA_1042_XHCI 0x1042 #define PCI_DEVICE_ID_ASMEDIA_1042A_XHCI 0x1142 @@ -89,9 +78,12 @@ static struct hc_driver __read_mostly xhci_pci_hc_driver; static int xhci_pci_setup(struct usb_hcd *hcd); +static int xhci_pci_update_hub_device(struct usb_hcd *hcd, struct usb_device *hdev, + struct usb_tt *tt, gfp_t mem_flags); static const struct xhci_driver_overrides xhci_pci_overrides __initconst = { .reset = xhci_pci_setup, + .update_hub_device = xhci_pci_update_hub_device, }; /* called after powerup, by probe or system-pm "wakeup" */ @@ -258,6 +250,11 @@ xhci->quirks |= XHCI_MISSING_CAS; if (pdev->vendor == PCI_VENDOR_ID_INTEL && + (pdev->device == PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI || + pdev->device == PCI_DEVICE_ID_INTEL_ALDER_LAKE_N_PCH_XHCI)) + xhci->quirks |= XHCI_RESET_TO_DEFAULT; + + if (pdev->vendor == PCI_VENDOR_ID_INTEL && (pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_2C_XHCI || pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_4C_XHCI || pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_LP_XHCI || @@ -268,12 +265,7 @@ pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_DD_XHCI || pdev->device == PCI_DEVICE_ID_INTEL_ICE_LAKE_XHCI || pdev->device == PCI_DEVICE_ID_INTEL_TIGER_LAKE_XHCI || - pdev->device == PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_XHCI || - pdev->device == PCI_DEVICE_ID_INTEL_ALDER_LAKE_XHCI || - pdev->device == PCI_DEVICE_ID_INTEL_ALDER_LAKE_N_XHCI || - pdev->device == PCI_DEVICE_ID_INTEL_ALDER_LAKE_PCH_XHCI || - pdev->device == PCI_DEVICE_ID_INTEL_RAPTOR_LAKE_XHCI || - pdev->device == PCI_DEVICE_ID_INTEL_METEOR_LAKE_XHCI)) + pdev->device == PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_XHCI)) xhci->quirks |= XHCI_DEFAULT_PM_RUNTIME_ALLOW; if (pdev->vendor == PCI_VENDOR_ID_ETRON && @@ -306,8 +298,14 @@ } if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && - pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI) + pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI) { + /* + * try to tame the ASMedia 1042 controller which reports 0.96 + * but appears to behave more like 1.0 + */ + xhci->quirks |= XHCI_SPURIOUS_SUCCESS; xhci->quirks |= XHCI_BROKEN_STREAMS; + } if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && pdev->device == PCI_DEVICE_ID_ASMEDIA_1042A_XHCI) { xhci->quirks |= XHCI_TRUST_TX_LENGTH; @@ -336,15 +334,8 @@ pdev->device == PCI_DEVICE_ID_AMD_PROMONTORYA_4)) xhci->quirks |= XHCI_NO_SOFT_RETRY; - if (pdev->vendor == PCI_VENDOR_ID_AMD && - (pdev->device == PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_1 || - pdev->device == PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_2 || - pdev->device == PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_3 || - pdev->device == PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_4 || - pdev->device == PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_5 || - pdev->device == PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_6 || - pdev->device == PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_7 || - pdev->device == PCI_DEVICE_ID_AMD_YELLOW_CARP_XHCI_8)) + /* xHC spec requires PCI devices to support D3hot and D3cold */ + if (xhci->hci_version >= 0x120) xhci->quirks |= XHCI_DEFAULT_PM_RUNTIME_ALLOW; if (xhci->quirks & XHCI_RESET_ON_RESUME) @@ -364,8 +355,38 @@ NULL); ACPI_FREE(obj); } + +static void xhci_find_lpm_incapable_ports(struct usb_hcd *hcd, struct usb_device *hdev) +{ + struct xhci_hcd *xhci = hcd_to_xhci(hcd); + struct xhci_hub *rhub = &xhci->usb3_rhub; + int ret; + int i; + + /* This is not the usb3 roothub we are looking for */ + if (hcd != rhub->hcd) + return; + + if (hdev->maxchild > rhub->num_ports) { + dev_err(&hdev->dev, "USB3 roothub port number mismatch\n"); + return; + } + + for (i = 0; i < hdev->maxchild; i++) { + ret = usb_acpi_port_lpm_incapable(hdev, i); + + dev_dbg(&hdev->dev, "port-%d disable U1/U2 _DSM: %d\n", i + 1, ret); + + if (ret >= 0) { + rhub->ports[i]->lpm_incapable = ret; + continue; + } + } +} + #else static void xhci_pme_acpi_rtd3_enable(struct pci_dev *dev) { } +static void xhci_find_lpm_incapable_ports(struct usb_hcd *hcd, struct usb_device *hdev) { } #endif /* CONFIG_ACPI */ /* called during probe() after chip reset completes */ @@ -398,6 +419,16 @@ return xhci_pci_reinit(xhci, pdev); } +static int xhci_pci_update_hub_device(struct usb_hcd *hcd, struct usb_device *hdev, + struct usb_tt *tt, gfp_t mem_flags) +{ + /* Check if acpi claims some USB3 roothub ports are lpm incapable */ + if (!hdev->parent) + xhci_find_lpm_incapable_ports(hcd, hdev); + + return xhci_update_hub_device(hcd, hdev, tt, mem_flags); +} + /* * We need to register our own PCI probe function (instead of the USB core's * function) in order to create a second roothub under xHCI. @@ -467,6 +498,8 @@ if (xhci->quirks & XHCI_DEFAULT_PM_RUNTIME_ALLOW) pm_runtime_allow(&dev->dev); + dma_set_max_seg_size(&dev->dev, UINT_MAX); + return 0; put_usb3_hcd: --- linux-gcp-5.19.0.orig/drivers/usb/host/xhci-plat.c +++ linux-gcp-5.19.0/drivers/usb/host/xhci-plat.c @@ -123,7 +123,7 @@ }; static const struct xhci_plat_priv xhci_plat_brcm = { - .quirks = XHCI_RESET_ON_RESUME, + .quirks = XHCI_RESET_ON_RESUME | XHCI_SUSPEND_RESUME_CLKS, }; static const struct of_device_id usb_xhci_of_match[] = { @@ -398,12 +398,17 @@ pm_runtime_get_sync(&dev->dev); xhci->xhc_state |= XHCI_STATE_REMOVING; - usb_remove_hcd(shared_hcd); - xhci->shared_hcd = NULL; + if (shared_hcd) { + usb_remove_hcd(shared_hcd); + xhci->shared_hcd = NULL; + } + usb_phy_shutdown(hcd->usb_phy); usb_remove_hcd(hcd); - usb_put_hcd(shared_hcd); + + if (shared_hcd) + usb_put_hcd(shared_hcd); clk_disable_unprepare(clk); clk_disable_unprepare(reg_clk); @@ -432,7 +437,16 @@ * xhci_suspend() needs `do_wakeup` to know whether host is allowed * to do wakeup during suspend. */ - return xhci_suspend(xhci, device_may_wakeup(dev)); + ret = xhci_suspend(xhci, device_may_wakeup(dev)); + if (ret) + return ret; + + if (!device_may_wakeup(dev) && (xhci->quirks & XHCI_SUSPEND_RESUME_CLKS)) { + clk_disable_unprepare(xhci->clk); + clk_disable_unprepare(xhci->reg_clk); + } + + return 0; } static int __maybe_unused xhci_plat_resume(struct device *dev) @@ -441,6 +455,11 @@ struct xhci_hcd *xhci = hcd_to_xhci(hcd); int ret; + if (!device_may_wakeup(dev) && (xhci->quirks & XHCI_SUSPEND_RESUME_CLKS)) { + clk_prepare_enable(xhci->clk); + clk_prepare_enable(xhci->reg_clk); + } + ret = xhci_priv_resume_quirk(hcd); if (ret) return ret; --- linux-gcp-5.19.0.orig/drivers/usb/host/xhci-ring.c +++ linux-gcp-5.19.0/drivers/usb/host/xhci-ring.c @@ -1170,7 +1170,10 @@ struct xhci_virt_ep *ep; struct xhci_ring *ring; - ep = &xhci->devs[slot_id]->eps[ep_index]; + ep = xhci_get_virt_ep(xhci, slot_id, ep_index); + if (!ep) + return; + if ((ep->ep_state & EP_HAS_STREAMS) || (ep->ep_state & EP_GETTING_NO_STREAMS)) { int stream_id; @@ -2458,7 +2461,7 @@ switch (trb_comp_code) { case COMP_SUCCESS: - ep_ring->err_count = 0; + ep->err_count = 0; /* handle success with untransferred data as short packet */ if (ep_trb != td->last_trb || remaining) { xhci_warn(xhci, "WARN Successful completion on short TX\n"); @@ -2484,7 +2487,7 @@ break; case COMP_USB_TRANSACTION_ERROR: if (xhci->quirks & XHCI_NO_SOFT_RETRY || - (ep_ring->err_count++ > MAX_SOFT_RETRY) || + (ep->err_count++ > MAX_SOFT_RETRY) || le32_to_cpu(slot_ctx->tt_info) & TT_SLOT) break; @@ -2565,8 +2568,14 @@ case COMP_USB_TRANSACTION_ERROR: case COMP_INVALID_STREAM_TYPE_ERROR: case COMP_INVALID_STREAM_ID_ERROR: - xhci_handle_halted_endpoint(xhci, ep, 0, NULL, - EP_SOFT_RESET); + xhci_dbg(xhci, "Stream transaction error ep %u no id\n", + ep_index); + if (ep->err_count++ > MAX_SOFT_RETRY) + xhci_handle_halted_endpoint(xhci, ep, 0, NULL, + EP_HARD_RESET); + else + xhci_handle_halted_endpoint(xhci, ep, 0, NULL, + EP_SOFT_RESET); goto cleanup; case COMP_RING_UNDERRUN: case COMP_RING_OVERRUN: --- linux-gcp-5.19.0.orig/drivers/usb/host/xhci-tegra.c +++ linux-gcp-5.19.0/drivers/usb/host/xhci-tegra.c @@ -1010,15 +1010,15 @@ int err; tegra->genpd_dev_host = dev_pm_domain_attach_by_name(dev, "xusb_host"); - if (IS_ERR(tegra->genpd_dev_host)) { - err = PTR_ERR(tegra->genpd_dev_host); + if (IS_ERR_OR_NULL(tegra->genpd_dev_host)) { + err = PTR_ERR(tegra->genpd_dev_host) ? : -ENODATA; dev_err(dev, "failed to get host pm-domain: %d\n", err); return err; } tegra->genpd_dev_ss = dev_pm_domain_attach_by_name(dev, "xusb_ss"); - if (IS_ERR(tegra->genpd_dev_ss)) { - err = PTR_ERR(tegra->genpd_dev_ss); + if (IS_ERR_OR_NULL(tegra->genpd_dev_ss)) { + err = PTR_ERR(tegra->genpd_dev_ss) ? : -ENODATA; dev_err(dev, "failed to get superspeed pm-domain: %d\n", err); return err; } --- linux-gcp-5.19.0.orig/drivers/usb/host/xhci.c +++ linux-gcp-5.19.0/drivers/usb/host/xhci.c @@ -151,9 +151,11 @@ xhci_err(xhci, "Host took too long to start, " "waited %u microseconds.\n", XHCI_MAX_HALT_USEC); - if (!ret) + if (!ret) { /* clear state flags. Including dying, halted or removing */ xhci->xhc_state = 0; + xhci->run_graceperiod = jiffies + msecs_to_jiffies(500); + } return ret; } @@ -791,8 +793,6 @@ void xhci_shutdown(struct usb_hcd *hcd) { struct xhci_hcd *xhci = hcd_to_xhci(hcd); - unsigned long flags; - int i; if (xhci->quirks & XHCI_SPURIOUS_REBOOT) usb_disable_xhci_ports(to_pci_dev(hcd->self.sysdev)); @@ -808,21 +808,18 @@ del_timer_sync(&xhci->shared_hcd->rh_timer); } - spin_lock_irqsave(&xhci->lock, flags); + spin_lock_irq(&xhci->lock); xhci_halt(xhci); - /* Power off USB2 ports*/ - for (i = 0; i < xhci->usb2_rhub.num_ports; i++) - xhci_set_port_power(xhci, xhci->main_hcd, i, false, &flags); - - /* Power off USB3 ports*/ - for (i = 0; i < xhci->usb3_rhub.num_ports; i++) - xhci_set_port_power(xhci, xhci->shared_hcd, i, false, &flags); - - /* Workaround for spurious wakeups at shutdown with HSW */ - if (xhci->quirks & XHCI_SPURIOUS_WAKEUP) + /* + * Workaround for spurious wakeps at shutdown with HSW, and for boot + * firmware delay in ADL-P PCH if port are left in U3 at shutdown + */ + if (xhci->quirks & XHCI_SPURIOUS_WAKEUP || + xhci->quirks & XHCI_RESET_TO_DEFAULT) xhci_reset(xhci, XHCI_RESET_SHORT_USEC); - spin_unlock_irqrestore(&xhci->lock, flags); + + spin_unlock_irq(&xhci->lock); xhci_cleanup_msix(xhci); @@ -1192,7 +1189,8 @@ /* re-initialize the HC on Restore Error, or Host Controller Error */ if (temp & (STS_SRE | STS_HCE)) { reinit_xhc = true; - xhci_warn(xhci, "xHC error in resume, USBSTS 0x%x, Reinit\n", temp); + if (!xhci->broken_suspend) + xhci_warn(xhci, "xHC error in resume, USBSTS 0x%x, Reinit\n", temp); } if (reinit_xhc) { @@ -3976,6 +3974,7 @@ struct xhci_hcd *xhci = hcd_to_xhci(hcd); struct xhci_virt_device *virt_dev; struct xhci_slot_ctx *slot_ctx; + unsigned long flags; int i, ret; /* @@ -4002,7 +4001,11 @@ virt_dev->eps[i].ep_state &= ~EP_STOP_CMD_PENDING; virt_dev->udev = NULL; xhci_disable_slot(xhci, udev->slot_id); + + spin_lock_irqsave(&xhci->lock, flags); xhci_free_virt_device(xhci, udev->slot_id); + spin_unlock_irqrestore(&xhci->lock, flags); + } int xhci_disable_slot(struct xhci_hcd *xhci, u32 slot_id) @@ -5045,6 +5048,7 @@ struct usb_device *udev, enum usb3_link_state state) { struct xhci_hcd *xhci; + struct xhci_port *port; u16 hub_encoded_timeout; int mel; int ret; @@ -5061,6 +5065,13 @@ if (xhci_check_tier_policy(xhci, udev, state) < 0) return USB3_LPM_DISABLED; + /* If connected to root port then check port can handle lpm */ + if (udev->parent && !udev->parent->parent) { + port = xhci->usb3_rhub.ports[udev->portnum - 1]; + if (port->lpm_incapable) + return USB3_LPM_DISABLED; + } + hub_encoded_timeout = xhci_calculate_lpm_timeout(hcd, udev, state); mel = calculate_max_exit_latency(udev, state, hub_encoded_timeout); if (mel < 0) { @@ -5120,7 +5131,7 @@ /* Once a hub descriptor is fetched for a device, we need to update the xHC's * internal data structures for the device. */ -static int xhci_update_hub_device(struct usb_hcd *hcd, struct usb_device *hdev, +int xhci_update_hub_device(struct usb_hcd *hcd, struct usb_device *hdev, struct usb_tt *tt, gfp_t mem_flags) { struct xhci_hcd *xhci = hcd_to_xhci(hcd); @@ -5220,6 +5231,7 @@ xhci_free_command(xhci, config_cmd); return ret; } +EXPORT_SYMBOL_GPL(xhci_update_hub_device); static int xhci_get_frame(struct usb_hcd *hcd) { @@ -5503,6 +5515,8 @@ drv->check_bandwidth = over->check_bandwidth; if (over->reset_bandwidth) drv->reset_bandwidth = over->reset_bandwidth; + if (over->update_hub_device) + drv->update_hub_device = over->update_hub_device; } } EXPORT_SYMBOL_GPL(xhci_init_driver); --- linux-gcp-5.19.0.orig/drivers/usb/host/xhci.h +++ linux-gcp-5.19.0/drivers/usb/host/xhci.h @@ -933,6 +933,7 @@ * have to restore the device state to the previous state */ struct xhci_ring *new_ring; + unsigned int err_count; unsigned int ep_state; #define SET_DEQ_PENDING (1 << 0) #define EP_HALTED (1 << 1) /* For stall handling */ @@ -1627,7 +1628,6 @@ * if we own the TRB (if we are the consumer). See section 4.9.1. */ u32 cycle_state; - unsigned int err_count; unsigned int stream_id; unsigned int num_segs; unsigned int num_trbs_free; @@ -1735,6 +1735,7 @@ int hcd_portnum; struct xhci_hub *rhub; struct xhci_port_cap *port_cap; + unsigned int lpm_incapable:1; }; struct xhci_hub { @@ -1826,7 +1827,7 @@ /* Host controller watchdog timer structures */ unsigned int xhc_state; - + unsigned long run_graceperiod; u32 command; struct s3_save s3; /* Host controller is dying - not responding to commands. "I'm not dead yet!" @@ -1899,6 +1900,8 @@ #define XHCI_NO_SOFT_RETRY BIT_ULL(40) #define XHCI_BROKEN_D3COLD BIT_ULL(41) #define XHCI_EP_CTX_BROKEN_DCS BIT_ULL(42) +#define XHCI_SUSPEND_RESUME_CLKS BIT_ULL(43) +#define XHCI_RESET_TO_DEFAULT BIT_ULL(44) unsigned int num_active_eps; unsigned int limit_active_eps; @@ -1944,6 +1947,8 @@ struct usb_host_endpoint *ep); int (*check_bandwidth)(struct usb_hcd *, struct usb_device *); void (*reset_bandwidth)(struct usb_hcd *, struct usb_device *); + int (*update_hub_device)(struct usb_hcd *hcd, struct usb_device *hdev, + struct usb_tt *tt, gfp_t mem_flags); }; #define XHCI_CFC_DELAY 10 @@ -2124,6 +2129,8 @@ struct usb_host_endpoint *ep); int xhci_check_bandwidth(struct usb_hcd *hcd, struct usb_device *udev); void xhci_reset_bandwidth(struct usb_hcd *hcd, struct usb_device *udev); +int xhci_update_hub_device(struct usb_hcd *hcd, struct usb_device *hdev, + struct usb_tt *tt, gfp_t mem_flags); int xhci_disable_slot(struct xhci_hcd *xhci, u32 slot_id); int xhci_ext_cap_init(struct xhci_hcd *xhci); @@ -2196,8 +2203,6 @@ int xhci_hub_status_data(struct usb_hcd *hcd, char *buf); int xhci_find_raw_port_number(struct usb_hcd *hcd, int port1); struct xhci_hub *xhci_get_rhub(struct usb_hcd *hcd); -void xhci_set_port_power(struct xhci_hcd *xhci, struct usb_hcd *hcd, u16 index, - bool on, unsigned long *flags); void xhci_hc_died(struct xhci_hcd *xhci); @@ -2417,7 +2422,7 @@ field3 & TRB_CYCLE ? 'C' : 'c'); break; case TRB_STOP_RING: - sprintf(str, + snprintf(str, size, "%s: slot %d sp %d ep %d flags %c", xhci_trb_type_string(type), TRB_TO_SLOT_ID(field3), --- linux-gcp-5.19.0.orig/drivers/usb/misc/idmouse.c +++ linux-gcp-5.19.0/drivers/usb/misc/idmouse.c @@ -177,10 +177,6 @@ bytes_read += bulk_read; } - /* reset the device */ -reset: - ftip_command(dev, FTIP_RELEASE, 0, 0); - /* check for valid image */ /* right border should be black (0x00) */ for (bytes_read = sizeof(HEADER)-1 + WIDTH-1; bytes_read < IMGSIZE; bytes_read += WIDTH) @@ -192,6 +188,10 @@ if (dev->bulk_in_buffer[bytes_read] != 0xFF) return -EAGAIN; + /* reset the device */ +reset: + ftip_command(dev, FTIP_RELEASE, 0, 0); + /* should be IMGSIZE == 65040 */ dev_dbg(&dev->interface->dev, "read %d bytes fingerprint data\n", bytes_read); --- linux-gcp-5.19.0.orig/drivers/usb/misc/iowarrior.c +++ linux-gcp-5.19.0/drivers/usb/misc/iowarrior.c @@ -814,7 +814,7 @@ break; case USB_DEVICE_ID_CODEMERCS_IOW100: - dev->report_size = 13; + dev->report_size = 12; break; } } --- linux-gcp-5.19.0.orig/drivers/usb/mon/mon_bin.c +++ linux-gcp-5.19.0/drivers/usb/mon/mon_bin.c @@ -1268,6 +1268,11 @@ { /* don't do anything here: "fault" will set up page table entries */ vma->vm_ops = &mon_bin_vm_ops; + + if (vma->vm_flags & VM_WRITE) + return -EPERM; + + vma->vm_flags &= ~VM_MAYWRITE; vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP; vma->vm_private_data = filp->private_data; mon_bin_vma_open(vma); --- linux-gcp-5.19.0.orig/drivers/usb/mtu3/mtu3_core.c +++ linux-gcp-5.19.0/drivers/usb/mtu3/mtu3_core.c @@ -971,8 +971,6 @@ goto irq_err; } - device_init_wakeup(dev, true); - /* power down device IP for power saving by default */ mtu3_stop(mtu); --- linux-gcp-5.19.0.orig/drivers/usb/mtu3/mtu3_plat.c +++ linux-gcp-5.19.0/drivers/usb/mtu3/mtu3_plat.c @@ -332,6 +332,8 @@ pm_runtime_enable(dev); pm_runtime_get_sync(dev); + device_init_wakeup(dev, true); + ret = ssusb_rscs_init(ssusb); if (ret) goto comm_init_err; --- linux-gcp-5.19.0.orig/drivers/usb/musb/Kconfig +++ linux-gcp-5.19.0/drivers/usb/musb/Kconfig @@ -86,7 +86,7 @@ tristate "TUSB6010" depends on HAS_IOMEM depends on ARCH_OMAP2PLUS || COMPILE_TEST - depends on NOP_USB_XCEIV = USB_MUSB_HDRC # both built-in or both modules + depends on NOP_USB_XCEIV!=m || USB_MUSB_HDRC=m config USB_MUSB_OMAP2PLUS tristate "OMAP2430 and onwards" @@ -123,6 +123,17 @@ select GENERIC_PHY select USB_ROLE_SWITCH +config USB_MUSB_POLARFIRE_SOC + tristate "Microchip PolarFire SoC platforms" + depends on SOC_MICROCHIP_POLARFIRE || COMPILE_TEST + depends on NOP_USB_XCEIV + select USB_MUSB_DUAL_ROLE + help + Say Y here to enable support for USB on Microchip's PolarFire SoC. + + This support is also available as a module. If so, the module + will be called mpfs. + comment "MUSB DMA mode" config MUSB_PIO_ONLY @@ -146,7 +157,7 @@ config USB_INVENTRA_DMA bool 'Inventra' - depends on USB_MUSB_OMAP2PLUS || USB_MUSB_MEDIATEK || USB_MUSB_JZ4740 + depends on USB_MUSB_OMAP2PLUS || USB_MUSB_MEDIATEK || USB_MUSB_JZ4740 || USB_MUSB_POLARFIRE_SOC help Enable DMA transfers using Mentor's engine. --- linux-gcp-5.19.0.orig/drivers/usb/musb/Makefile +++ linux-gcp-5.19.0/drivers/usb/musb/Makefile @@ -25,6 +25,7 @@ obj-$(CONFIG_USB_MUSB_JZ4740) += jz4740.o obj-$(CONFIG_USB_MUSB_SUNXI) += sunxi.o obj-$(CONFIG_USB_MUSB_MEDIATEK) += mediatek.o +obj-$(CONFIG_USB_MUSB_POLARFIRE_SOC) += mpfs.o # the kconfig must guarantee that only one of the # possible I/O schemes will be enabled at a time ... --- linux-gcp-5.19.0.orig/drivers/usb/musb/mediatek.c +++ linux-gcp-5.19.0/drivers/usb/musb/mediatek.c @@ -294,7 +294,8 @@ err_phy_power_on: phy_exit(glue->phy); err_phy_init: - mtk_otg_switch_exit(glue); + if (musb->port_mode == MUSB_OTG) + mtk_otg_switch_exit(glue); return ret; } --- linux-gcp-5.19.0.orig/drivers/usb/musb/mpfs.c +++ linux-gcp-5.19.0/drivers/usb/musb/mpfs.c @@ -0,0 +1,269 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * PolarFire SoC (MPFS) MUSB Glue Layer + * + * Copyright (c) 2020-2022 Microchip Corporation. All rights reserved. + * Based on {omap2430,tusb6010,ux500}.c + * + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "musb_core.h" +#include "musb_dma.h" + +#define MPFS_MUSB_MAX_EP_NUM 8 +#define MPFS_MUSB_RAM_BITS 12 + +struct mpfs_glue { + struct device *dev; + struct platform_device *musb; + struct platform_device *phy; + struct clk *clk; +}; + +static struct musb_fifo_cfg mpfs_musb_mode_cfg[] = { + { .hw_ep_num = 1, .style = FIFO_TX, .maxpacket = 512, }, + { .hw_ep_num = 1, .style = FIFO_RX, .maxpacket = 512, }, + { .hw_ep_num = 2, .style = FIFO_TX, .maxpacket = 512, }, + { .hw_ep_num = 2, .style = FIFO_RX, .maxpacket = 512, }, + { .hw_ep_num = 3, .style = FIFO_TX, .maxpacket = 512, }, + { .hw_ep_num = 3, .style = FIFO_RX, .maxpacket = 512, }, + { .hw_ep_num = 4, .style = FIFO_TX, .maxpacket = 1024, }, + { .hw_ep_num = 4, .style = FIFO_RX, .maxpacket = 4096, }, +}; + +static const struct musb_hdrc_config mpfs_musb_hdrc_config = { + .fifo_cfg = mpfs_musb_mode_cfg, + .fifo_cfg_size = ARRAY_SIZE(mpfs_musb_mode_cfg), + .multipoint = true, + .dyn_fifo = true, + .num_eps = MPFS_MUSB_MAX_EP_NUM, + .ram_bits = MPFS_MUSB_RAM_BITS, +}; + +static irqreturn_t mpfs_musb_interrupt(int irq, void *__hci) +{ + unsigned long flags; + irqreturn_t ret = IRQ_NONE; + struct musb *musb = __hci; + + spin_lock_irqsave(&musb->lock, flags); + + musb->int_usb = musb_readb(musb->mregs, MUSB_INTRUSB); + musb->int_tx = musb_readw(musb->mregs, MUSB_INTRTX); + musb->int_rx = musb_readw(musb->mregs, MUSB_INTRRX); + + if (musb->int_usb || musb->int_tx || musb->int_rx) { + musb_writeb(musb->mregs, MUSB_INTRUSB, musb->int_usb); + musb_writew(musb->mregs, MUSB_INTRTX, musb->int_tx); + musb_writew(musb->mregs, MUSB_INTRRX, musb->int_rx); + ret = musb_interrupt(musb); + } + + spin_unlock_irqrestore(&musb->lock, flags); + + return ret; +} + +static void mpfs_musb_set_vbus(struct musb *musb, int is_on) +{ + u8 devctl; + + /* + * HDRC controls CPEN, but beware current surges during device + * connect. They can trigger transient overcurrent conditions + * that must be ignored. + */ + devctl = musb_readb(musb->mregs, MUSB_DEVCTL); + + if (is_on) { + musb->is_active = 1; + musb->xceiv->otg->default_a = 1; + musb->xceiv->otg->state = OTG_STATE_A_WAIT_VRISE; + devctl |= MUSB_DEVCTL_SESSION; + MUSB_HST_MODE(musb); + } else { + musb->is_active = 0; + + /* + * NOTE: skipping A_WAIT_VFALL -> A_IDLE and + * jumping right to B_IDLE... + */ + musb->xceiv->otg->default_a = 0; + musb->xceiv->otg->state = OTG_STATE_B_IDLE; + devctl &= ~MUSB_DEVCTL_SESSION; + + MUSB_DEV_MODE(musb); + } + + musb_writeb(musb->mregs, MUSB_DEVCTL, devctl); + + dev_dbg(musb->controller, "VBUS %s, devctl %02x\n", + usb_otg_state_string(musb->xceiv->otg->state), + musb_readb(musb->mregs, MUSB_DEVCTL)); +} + +static int mpfs_musb_init(struct musb *musb) +{ + struct device *dev = musb->controller; + + musb->xceiv = devm_usb_get_phy(dev, USB_PHY_TYPE_USB2); + if (IS_ERR(musb->xceiv)) { + dev_err(dev, "HS UDC: no transceiver configured\n"); + return PTR_ERR(musb->xceiv); + } + + musb->dyn_fifo = true; + musb->isr = mpfs_musb_interrupt; + + musb_platform_set_vbus(musb, 1); + + return 0; +} + +static const struct musb_platform_ops mpfs_ops = { + .quirks = MUSB_DMA_INVENTRA, + .init = mpfs_musb_init, + .fifo_mode = 2, +#ifdef CONFIG_USB_INVENTRA_DMA + .dma_init = musbhs_dma_controller_create, + .dma_exit = musbhs_dma_controller_destroy, +#endif + .set_vbus = mpfs_musb_set_vbus +}; + +static int mpfs_probe(struct platform_device *pdev) +{ + struct musb_hdrc_platform_data *pdata = dev_get_platdata(&pdev->dev); + struct mpfs_glue *glue; + struct platform_device *musb_pdev; + struct device *dev = &pdev->dev; + struct clk *clk; + int ret; + + glue = devm_kzalloc(dev, sizeof(*glue), GFP_KERNEL); + if (!glue) + return -ENOMEM; + + musb_pdev = platform_device_alloc("musb-hdrc", PLATFORM_DEVID_AUTO); + if (!musb_pdev) { + dev_err(dev, "failed to allocate musb device\n"); + return -ENOMEM; + } + + clk = devm_clk_get(&pdev->dev, NULL); + if (IS_ERR(clk)) { + dev_err(&pdev->dev, "failed to get clock\n"); + ret = PTR_ERR(clk); + goto err_phy_release; + } + + ret = clk_prepare_enable(clk); + if (ret) { + dev_err(&pdev->dev, "failed to enable clock\n"); + goto err_phy_release; + } + + musb_pdev->dev.parent = dev; + musb_pdev->dev.coherent_dma_mask = DMA_BIT_MASK(39); + musb_pdev->dev.dma_mask = &musb_pdev->dev.coherent_dma_mask; + device_set_of_node_from_dev(&musb_pdev->dev, dev); + + glue->dev = dev; + glue->musb = musb_pdev; + glue->clk = clk; + + pdata = devm_kzalloc(dev, sizeof(*pdata), GFP_KERNEL); + if (!pdata) { + ret = -ENOMEM; + goto err_clk_disable; + } + + pdata->config = &mpfs_musb_hdrc_config; + pdata->platform_ops = &mpfs_ops; + + pdata->mode = usb_get_dr_mode(dev); + if (pdata->mode == USB_DR_MODE_UNKNOWN) { + dev_info(dev, "No dr_mode property found, defaulting to otg\n"); + pdata->mode = USB_DR_MODE_OTG; + } + + glue->phy = usb_phy_generic_register(); + if (IS_ERR(glue->phy)) { + dev_err(dev, "failed to register usb-phy %ld\n", + PTR_ERR(glue->phy)); + ret = PTR_ERR(glue->phy); + goto err_clk_disable; + } + + platform_set_drvdata(pdev, glue); + + ret = platform_device_add_resources(musb_pdev, pdev->resource, pdev->num_resources); + if (ret) { + dev_err(dev, "failed to add resources\n"); + goto err_clk_disable; + } + + ret = platform_device_add_data(musb_pdev, pdata, sizeof(*pdata)); + if (ret) { + dev_err(dev, "failed to add platform_data\n"); + goto err_clk_disable; + } + + ret = platform_device_add(musb_pdev); + if (ret) { + dev_err(dev, "failed to register musb device\n"); + goto err_clk_disable; + } + + dev_info(&pdev->dev, "Registered MPFS MUSB driver\n"); + return 0; + +err_clk_disable: + clk_disable_unprepare(clk); + +err_phy_release: + usb_phy_generic_unregister(glue->phy); + platform_device_put(musb_pdev); + return ret; +} + +static int mpfs_remove(struct platform_device *pdev) +{ + struct mpfs_glue *glue = platform_get_drvdata(pdev); + + clk_disable_unprepare(glue->clk); + platform_device_unregister(glue->musb); + usb_phy_generic_unregister(pdev); + + return 0; +} + +#ifdef CONFIG_OF +static const struct of_device_id mpfs_id_table[] = { + { .compatible = "microchip,mpfs-musb" }, + { } +}; +MODULE_DEVICE_TABLE(of, mpfs_id_table); +#endif + +static struct platform_driver mpfs_musb_driver = { + .probe = mpfs_probe, + .remove = mpfs_remove, + .driver = { + .name = "mpfs-musb", + .of_match_table = of_match_ptr(mpfs_id_table) + }, +}; + +module_platform_driver(mpfs_musb_driver); + +MODULE_DESCRIPTION("PolarFire SoC MUSB Glue Layer"); +MODULE_LICENSE("GPL"); --- linux-gcp-5.19.0.orig/drivers/usb/musb/musb_gadget.c +++ linux-gcp-5.19.0/drivers/usb/musb/musb_gadget.c @@ -760,6 +760,9 @@ musb_writew(epio, MUSB_RXCSR, csr); buffer_aint_mapped: + fifo_count = min_t(unsigned int, + request->length - request->actual, + (unsigned int)fifo_count); musb_read_fifo(musb_ep->hw_ep, fifo_count, (u8 *) (request->buf + request->actual)); request->actual += fifo_count; @@ -1625,8 +1628,6 @@ { struct musb *musb = gadget_to_musb(gadget); - if (!musb->xceiv->set_power) - return -EOPNOTSUPP; return usb_phy_set_power(musb->xceiv, mA); } --- linux-gcp-5.19.0.orig/drivers/usb/musb/omap2430.c +++ linux-gcp-5.19.0/drivers/usb/musb/omap2430.c @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -310,6 +311,7 @@ struct device_node *control_node; struct platform_device *control_pdev; int ret = -ENOMEM, val; + bool populate_irqs = false; if (!np) return -ENODEV; @@ -328,6 +330,18 @@ musb->dev.dma_mask = &omap2430_dmamask; musb->dev.coherent_dma_mask = omap2430_dmamask; + /* + * Legacy SoCs using omap_device get confused if node is moved + * because of interconnect properties mixed into the node. + */ + if (of_get_property(np, "ti,hwmods", NULL)) { + dev_warn(&pdev->dev, "please update to probe with ti-sysc\n"); + populate_irqs = true; + } else { + device_set_of_node_from_dev(&musb->dev, &pdev->dev); + } + of_node_put(np); + glue->dev = &pdev->dev; glue->musb = musb; glue->status = MUSB_UNKNOWN; @@ -389,6 +403,48 @@ goto err2; } + if (populate_irqs) { + struct resource musb_res[3]; + struct resource *res; + int i = 0; + + memset(musb_res, 0, sizeof(*musb_res) * ARRAY_SIZE(musb_res)); + + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!res) { + ret = -EINVAL; + goto err2; + } + + musb_res[i].start = res->start; + musb_res[i].end = res->end; + musb_res[i].flags = res->flags; + musb_res[i].name = res->name; + i++; + + ret = of_irq_get_byname(np, "mc"); + if (ret > 0) { + musb_res[i].start = ret; + musb_res[i].flags = IORESOURCE_IRQ; + musb_res[i].name = "mc"; + i++; + } + + ret = of_irq_get_byname(np, "dma"); + if (ret > 0) { + musb_res[i].start = ret; + musb_res[i].flags = IORESOURCE_IRQ; + musb_res[i].name = "dma"; + i++; + } + + ret = platform_device_add_resources(musb, musb_res, i); + if (ret) { + dev_err(&pdev->dev, "failed to add IRQ resources\n"); + goto err2; + } + } + ret = platform_device_add_data(musb, pdata, sizeof(*pdata)); if (ret) { dev_err(&pdev->dev, "failed to add platform_data\n"); --- linux-gcp-5.19.0.orig/drivers/usb/renesas_usbhs/rza.c +++ linux-gcp-5.19.0/drivers/usb/renesas_usbhs/rza.c @@ -23,6 +23,10 @@ extal_clk = of_find_node_by_name(NULL, "extal"); of_property_read_u32(usb_x1_clk, "clock-frequency", &freq_usb); of_property_read_u32(extal_clk, "clock-frequency", &freq_extal); + + of_node_put(usb_x1_clk); + of_node_put(extal_clk); + if (freq_usb == 0) { if (freq_extal == 12000000) { /* Select 12MHz XTAL */ --- linux-gcp-5.19.0.orig/drivers/usb/roles/class.c +++ linux-gcp-5.19.0/drivers/usb/roles/class.c @@ -106,10 +106,13 @@ struct fwnode_handle *parent = fwnode_get_parent(fwnode); struct device *dev; - if (!parent || !fwnode_property_present(parent, "usb-role-switch")) + if (!fwnode_property_present(parent, "usb-role-switch")) { + fwnode_handle_put(parent); return NULL; + } dev = class_find_device_by_fwnode(role_class, parent); + fwnode_handle_put(parent); return dev ? to_role_switch(dev) : ERR_PTR(-EPROBE_DEFER); } --- linux-gcp-5.19.0.orig/drivers/usb/serial/ch341.c +++ linux-gcp-5.19.0/drivers/usb/serial/ch341.c @@ -97,7 +97,10 @@ u8 mcr; u8 msr; u8 lcr; + unsigned long quirks; + u8 version; + unsigned long break_end; }; @@ -250,8 +253,12 @@ /* * CH341A buffers data until a full endpoint-size packet (32 bytes) * has been received unless bit 7 is set. + * + * At least one device with version 0x27 appears to have this bit + * inverted. */ - val |= BIT(7); + if (priv->version > 0x27) + val |= BIT(7); r = ch341_control_out(dev, CH341_REQ_WRITE_REG, CH341_REG_DIVISOR << 8 | CH341_REG_PRESCALER, @@ -265,6 +272,9 @@ * (stop bits, parity and word length). Version 0x30 and above use * CH341_REG_LCR only and CH341_REG_LCR2 is always set to zero. */ + if (priv->version < 0x30) + return 0; + r = ch341_control_out(dev, CH341_REQ_WRITE_REG, CH341_REG_LCR2 << 8 | CH341_REG_LCR, lcr); if (r) @@ -308,7 +318,9 @@ r = ch341_control_in(dev, CH341_REQ_READ_VERSION, 0, 0, buffer, size); if (r) return r; - dev_dbg(&dev->dev, "Chip version: 0x%02x\n", buffer[0]); + + priv->version = buffer[0]; + dev_dbg(&dev->dev, "Chip version: 0x%02x\n", priv->version); r = ch341_control_out(dev, CH341_REQ_SERIAL_INIT, 0, 0); if (r < 0) --- linux-gcp-5.19.0.orig/drivers/usb/serial/cp210x.c +++ linux-gcp-5.19.0/drivers/usb/serial/cp210x.c @@ -60,6 +60,7 @@ { USB_DEVICE(0x0846, 0x1100) }, /* NetGear Managed Switch M4100 series, M5300 series, M7100 series */ { USB_DEVICE(0x08e6, 0x5501) }, /* Gemalto Prox-PU/CU contactless smartcard reader */ { USB_DEVICE(0x08FD, 0x000A) }, /* Digianswer A/S , ZigBee/802.15.4 MAC Device */ + { USB_DEVICE(0x0908, 0x0070) }, /* Siemens SCALANCE LPE-9000 USB Serial Console */ { USB_DEVICE(0x0908, 0x01FF) }, /* Siemens RUGGEDCOM USB Serial Console */ { USB_DEVICE(0x0988, 0x0578) }, /* Teraoka AD2000 */ { USB_DEVICE(0x0B00, 0x3070) }, /* Ingenico 3070 */ @@ -130,6 +131,7 @@ { USB_DEVICE(0x10C4, 0x83AA) }, /* Mark-10 Digital Force Gauge */ { USB_DEVICE(0x10C4, 0x83D8) }, /* DekTec DTA Plus VHF/UHF Booster/Attenuator */ { USB_DEVICE(0x10C4, 0x8411) }, /* Kyocera GPS Module */ + { USB_DEVICE(0x10C4, 0x8414) }, /* Decagon USB Cable Adapter */ { USB_DEVICE(0x10C4, 0x8418) }, /* IRZ Automation Teleport SG-10 GSM/GPRS Modem */ { USB_DEVICE(0x10C4, 0x846E) }, /* BEI USB Sensor Interface (VCP) */ { USB_DEVICE(0x10C4, 0x8470) }, /* Juniper Networks BX Series System Console */ @@ -194,6 +196,8 @@ { USB_DEVICE(0x16DC, 0x0015) }, /* W-IE-NE-R Plein & Baus GmbH CML Control, Monitoring and Data Logger */ { USB_DEVICE(0x17A8, 0x0001) }, /* Kamstrup Optical Eye/3-wire */ { USB_DEVICE(0x17A8, 0x0005) }, /* Kamstrup M-Bus Master MultiPort 250D */ + { USB_DEVICE(0x17A8, 0x0011) }, /* Kamstrup 444 MHz RF sniffer */ + { USB_DEVICE(0x17A8, 0x0013) }, /* Kamstrup 870 MHz RF sniffer */ { USB_DEVICE(0x17A8, 0x0101) }, /* Kamstrup 868 MHz wM-Bus C-Mode Meter Reader (Int Ant) */ { USB_DEVICE(0x17A8, 0x0102) }, /* Kamstrup 868 MHz wM-Bus C-Mode Meter Reader (Ext Ant) */ { USB_DEVICE(0x17F4, 0xAAAA) }, /* Wavesense Jazz blood glucose meter */ --- linux-gcp-5.19.0.orig/drivers/usb/serial/f81232.c +++ linux-gcp-5.19.0/drivers/usb/serial/f81232.c @@ -130,9 +130,6 @@ static int calc_baud_divisor(speed_t baudrate, speed_t clockrate) { - if (!baudrate) - return 0; - return DIV_ROUND_CLOSEST(clockrate, baudrate); } @@ -498,9 +495,14 @@ speed_t baud_list[] = { baudrate, old_baudrate, F81232_DEF_BAUDRATE }; for (i = 0; i < ARRAY_SIZE(baud_list); ++i) { - idx = f81232_find_clk(baud_list[i]); + baudrate = baud_list[i]; + if (baudrate == 0) { + tty_encode_baud_rate(tty, 0, 0); + return; + } + + idx = f81232_find_clk(baudrate); if (idx >= 0) { - baudrate = baud_list[i]; tty_encode_baud_rate(tty, baudrate, baudrate); break; } --- linux-gcp-5.19.0.orig/drivers/usb/serial/f81534.c +++ linux-gcp-5.19.0/drivers/usb/serial/f81534.c @@ -536,9 +536,6 @@ static u32 f81534_calc_baud_divisor(u32 baudrate, u32 clockrate) { - if (!baudrate) - return 0; - /* Round to nearest divisor */ return DIV_ROUND_CLOSEST(clockrate, baudrate); } @@ -568,9 +565,14 @@ u32 baud_list[] = {baudrate, old_baudrate, F81534_DEFAULT_BAUD_RATE}; for (i = 0; i < ARRAY_SIZE(baud_list); ++i) { - idx = f81534_find_clk(baud_list[i]); + baudrate = baud_list[i]; + if (baudrate == 0) { + tty_encode_baud_rate(tty, 0, 0); + return 0; + } + + idx = f81534_find_clk(baudrate); if (idx >= 0) { - baudrate = baud_list[i]; tty_encode_baud_rate(tty, baudrate, baudrate); break; } --- linux-gcp-5.19.0.orig/drivers/usb/serial/ftdi_sio.c +++ linux-gcp-5.19.0/drivers/usb/serial/ftdi_sio.c @@ -1045,6 +1045,8 @@ /* IDS GmbH devices */ { USB_DEVICE(IDS_VID, IDS_SI31A_PID) }, { USB_DEVICE(IDS_VID, IDS_CM31A_PID) }, + /* Omron devices */ + { USB_DEVICE(OMRON_VID, OMRON_CS1W_CIF31_PID) }, /* U-Blox devices */ { USB_DEVICE(UBLOX_VID, UBLOX_C099F9P_ZED_PID) }, { USB_DEVICE(UBLOX_VID, UBLOX_C099F9P_ODIN_PID) }, @@ -1317,8 +1319,7 @@ case 38400: div_value = ftdi_sio_b38400; break; case 57600: div_value = ftdi_sio_b57600; break; case 115200: div_value = ftdi_sio_b115200; break; - } /* baud */ - if (div_value == 0) { + default: dev_dbg(dev, "%s - Baudrate (%d) requested is not supported\n", __func__, baud); div_value = ftdi_sio_b9600; --- linux-gcp-5.19.0.orig/drivers/usb/serial/ftdi_sio_ids.h +++ linux-gcp-5.19.0/drivers/usb/serial/ftdi_sio_ids.h @@ -662,6 +662,12 @@ #define INFINEON_TRIBOARD_TC2X7_PID 0x0043 /* DAS JTAG TriBoard TC2X7 V1.0 */ /* + * Omron corporation (https://www.omron.com) + */ + #define OMRON_VID 0x0590 + #define OMRON_CS1W_CIF31_PID 0x00b2 + +/* * Acton Research Corp. */ #define ACTON_VID 0x0647 /* Vendor ID */ --- linux-gcp-5.19.0.orig/drivers/usb/serial/option.c +++ linux-gcp-5.19.0/drivers/usb/serial/option.c @@ -162,6 +162,8 @@ #define NOVATELWIRELESS_PRODUCT_G2 0xA010 #define NOVATELWIRELESS_PRODUCT_MC551 0xB001 +#define UBLOX_VENDOR_ID 0x1546 + /* AMOI PRODUCTS */ #define AMOI_VENDOR_ID 0x1614 #define AMOI_PRODUCT_H01 0x0800 @@ -240,7 +242,6 @@ #define QUECTEL_PRODUCT_UC15 0x9090 /* These u-blox products use Qualcomm's vendor ID */ #define UBLOX_PRODUCT_R410M 0x90b2 -#define UBLOX_PRODUCT_R6XX 0x90fa /* These Yuga products use Qualcomm's vendor ID */ #define YUGA_PRODUCT_CLM920_NC5 0x9625 @@ -253,8 +254,17 @@ #define QUECTEL_PRODUCT_BG96 0x0296 #define QUECTEL_PRODUCT_EP06 0x0306 #define QUECTEL_PRODUCT_EM05G 0x030a +#define QUECTEL_PRODUCT_EM060K 0x030b +#define QUECTEL_PRODUCT_EM05G_CS 0x030c +#define QUECTEL_PRODUCT_EM05CN_SG 0x0310 +#define QUECTEL_PRODUCT_EM05G_SG 0x0311 +#define QUECTEL_PRODUCT_EM05CN 0x0312 +#define QUECTEL_PRODUCT_EM05G_GR 0x0313 +#define QUECTEL_PRODUCT_EM05G_RS 0x0314 #define QUECTEL_PRODUCT_EM12 0x0512 #define QUECTEL_PRODUCT_RM500Q 0x0800 +#define QUECTEL_PRODUCT_RM520N 0x0801 +#define QUECTEL_PRODUCT_EC200U 0x0901 #define QUECTEL_PRODUCT_EC200S_CN 0x6002 #define QUECTEL_PRODUCT_EC200T 0x6026 #define QUECTEL_PRODUCT_RM500K 0x7001 @@ -392,6 +402,8 @@ #define LONGCHEER_VENDOR_ID 0x1c9e /* 4G Systems products */ +/* This one was sold as the VW and Skoda "Carstick LTE" */ +#define FOUR_G_SYSTEMS_PRODUCT_CARSTICK_LTE 0x7605 /* This is the 4G XS Stick W14 a.k.a. Mobilcom Debitel Surf-Stick * * It seems to contain a Qualcomm QSC6240/6290 chipset */ #define FOUR_G_SYSTEMS_PRODUCT_W14 0x9603 @@ -438,6 +450,8 @@ #define CINTERION_PRODUCT_MV31_2_RMNET 0x00b9 #define CINTERION_PRODUCT_MV32_WA 0x00f1 #define CINTERION_PRODUCT_MV32_WB 0x00f2 +#define CINTERION_PRODUCT_MV32_WA_RMNET 0x00f3 +#define CINTERION_PRODUCT_MV32_WB_RMNET 0x00f4 /* Olivetti products */ #define OLIVETTI_VENDOR_ID 0x0b3c @@ -573,6 +587,13 @@ #define WETELECOM_PRODUCT_6802 0x6802 #define WETELECOM_PRODUCT_WMD300 0x6803 +/* OPPO products */ +#define OPPO_VENDOR_ID 0x22d9 +#define OPPO_PRODUCT_R11 0x276c + +/* Sierra Wireless products */ +#define SIERRA_VENDOR_ID 0x1199 +#define SIERRA_PRODUCT_EM9191 0x90d3 /* Device flags */ @@ -1116,8 +1137,16 @@ /* u-blox products using Qualcomm vendor ID */ { USB_DEVICE(QUALCOMM_VENDOR_ID, UBLOX_PRODUCT_R410M), .driver_info = RSVD(1) | RSVD(3) }, - { USB_DEVICE(QUALCOMM_VENDOR_ID, UBLOX_PRODUCT_R6XX), + { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x908b), /* u-blox LARA-R6 00B */ + .driver_info = RSVD(4) }, + { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x90fa), .driver_info = RSVD(3) }, + /* u-blox products */ + { USB_DEVICE(UBLOX_VENDOR_ID, 0x1341) }, /* u-blox LARA-L6 */ + { USB_DEVICE(UBLOX_VENDOR_ID, 0x1342), /* u-blox LARA-L6 (RMNET) */ + .driver_info = RSVD(4) }, + { USB_DEVICE(UBLOX_VENDOR_ID, 0x1343), /* u-blox LARA-L6 (ECM) */ + .driver_info = RSVD(4) }, /* Quectel products using Quectel vendor ID */ { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC21, 0xff, 0xff, 0xff), .driver_info = NUMEP2 }, @@ -1131,13 +1160,30 @@ { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95, 0xff, 0xff, 0xff), .driver_info = NUMEP2 }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95, 0xff, 0, 0) }, + { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, 0x0203, 0xff), /* BG95-M3 */ + .driver_info = ZLP }, { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), .driver_info = RSVD(4) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EP06, 0xff, 0xff, 0xff), .driver_info = RSVD(1) | RSVD(2) | RSVD(3) | RSVD(4) | NUMEP2 }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EP06, 0xff, 0, 0) }, + { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05CN, 0xff), + .driver_info = RSVD(6) | ZLP }, + { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05CN_SG, 0xff), + .driver_info = RSVD(6) | ZLP }, { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05G, 0xff), .driver_info = RSVD(6) | ZLP }, + { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05G_GR, 0xff), + .driver_info = RSVD(6) | ZLP }, + { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05G_CS, 0xff), + .driver_info = RSVD(6) | ZLP }, + { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05G_RS, 0xff), + .driver_info = RSVD(6) | ZLP }, + { USB_DEVICE_INTERFACE_CLASS(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM05G_SG, 0xff), + .driver_info = RSVD(6) | ZLP }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0x00, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0xff, 0x30) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM060K, 0xff, 0xff, 0x40) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0xff, 0xff), .driver_info = RSVD(1) | RSVD(2) | RSVD(3) | RSVD(4) | NUMEP2 }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EM12, 0xff, 0, 0) }, @@ -1149,6 +1195,10 @@ { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0, 0) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500Q, 0xff, 0xff, 0x10), .driver_info = ZLP }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM520N, 0xff, 0xff, 0x30) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM520N, 0xff, 0, 0x40) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM520N, 0xff, 0, 0) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200U, 0xff, 0, 0) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200S_CN, 0xff, 0, 0) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200T, 0xff, 0, 0) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_RM500K, 0xff, 0x00, 0x00) }, @@ -1928,6 +1978,8 @@ .driver_info = RSVD(2) }, { USB_DEVICE(AIRPLUS_VENDOR_ID, AIRPLUS_PRODUCT_MCD650) }, { USB_DEVICE(TLAYTECH_VENDOR_ID, TLAYTECH_PRODUCT_TEU800) }, + { USB_DEVICE(LONGCHEER_VENDOR_ID, FOUR_G_SYSTEMS_PRODUCT_CARSTICK_LTE), + .driver_info = RSVD(0) }, { USB_DEVICE(LONGCHEER_VENDOR_ID, FOUR_G_SYSTEMS_PRODUCT_W14), .driver_info = NCTRL(0) | NCTRL(1) }, { USB_DEVICE(LONGCHEER_VENDOR_ID, FOUR_G_SYSTEMS_PRODUCT_W100), @@ -1993,8 +2045,12 @@ .driver_info = RSVD(0)}, { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV32_WA, 0xff), .driver_info = RSVD(3)}, + { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV32_WA_RMNET, 0xff), + .driver_info = RSVD(0) }, { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV32_WB, 0xff), .driver_info = RSVD(3)}, + { USB_DEVICE_INTERFACE_CLASS(CINTERION_VENDOR_ID, CINTERION_PRODUCT_MV32_WB_RMNET, 0xff), + .driver_info = RSVD(0) }, { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD100), .driver_info = RSVD(4) }, { USB_DEVICE(OLIVETTI_VENDOR_ID, OLIVETTI_PRODUCT_OLICARD120), @@ -2147,6 +2203,7 @@ { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x010a, 0xff) }, /* Fibocom MA510 (ECM mode) */ { USB_DEVICE_AND_INTERFACE_INFO(0x2cb7, 0x010b, 0xff, 0xff, 0x30) }, /* Fibocom FG150 Diag */ { USB_DEVICE_AND_INTERFACE_INFO(0x2cb7, 0x010b, 0xff, 0, 0) }, /* Fibocom FG150 AT */ + { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0111, 0xff) }, /* Fibocom FM160 (MBIM mode) */ { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x01a0, 0xff) }, /* Fibocom NL668-AM/NL652-EU (laptop MBIM) */ { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x01a2, 0xff) }, /* Fibocom FM101-GL (laptop MBIM) */ { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x01a4, 0xff), /* Fibocom FM101-GL (laptop MBIM) */ @@ -2155,6 +2212,9 @@ { USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1404, 0xff) }, /* GosunCn GM500 RNDIS */ { USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1405, 0xff) }, /* GosunCn GM500 MBIM */ { USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1406, 0xff) }, /* GosunCn GM500 ECM/NCM */ + { USB_DEVICE_AND_INTERFACE_INFO(OPPO_VENDOR_ID, OPPO_PRODUCT_R11, 0xff, 0xff, 0x30) }, + { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0xff, 0x30) }, + { USB_DEVICE_AND_INTERFACE_INFO(SIERRA_VENDOR_ID, SIERRA_PRODUCT_EM9191, 0xff, 0, 0) }, { } /* Terminating entry */ }; MODULE_DEVICE_TABLE(usb, option_ids); --- linux-gcp-5.19.0.orig/drivers/usb/serial/qcserial.c +++ linux-gcp-5.19.0/drivers/usb/serial/qcserial.c @@ -177,6 +177,7 @@ {DEVICE_SWI(0x413c, 0x81b3)}, /* Dell Wireless 5809e Gobi(TM) 4G LTE Mobile Broadband Card (rev3) */ {DEVICE_SWI(0x413c, 0x81b5)}, /* Dell Wireless 5811e QDL */ {DEVICE_SWI(0x413c, 0x81b6)}, /* Dell Wireless 5811e QDL */ + {DEVICE_SWI(0x413c, 0x81c2)}, /* Dell Wireless 5811e */ {DEVICE_SWI(0x413c, 0x81cb)}, /* Dell Wireless 5816e QDL */ {DEVICE_SWI(0x413c, 0x81cc)}, /* Dell Wireless 5816e */ {DEVICE_SWI(0x413c, 0x81cf)}, /* Dell Wireless 5819 */ --- linux-gcp-5.19.0.orig/drivers/usb/serial/sierra.c +++ linux-gcp-5.19.0/drivers/usb/serial/sierra.c @@ -737,7 +737,8 @@ /* * Need to take susp_lock to make sure port is not already being - * resumed, but no need to hold it due to initialized + * resumed, but no need to hold it due to the tty-port initialized + * flag. */ spin_lock_irq(&intfdata->susp_lock); if (--intfdata->open_ports == 0) --- linux-gcp-5.19.0.orig/drivers/usb/serial/usb-serial.c +++ linux-gcp-5.19.0/drivers/usb/serial/usb-serial.c @@ -295,7 +295,7 @@ * * Shut down a USB serial port. Serialized against activate by the * tport mutex and kept to matching open/close pairs - * of calls by the initialized flag. + * of calls by the tty-port initialized flag. * * Not called if tty is console. */ --- linux-gcp-5.19.0.orig/drivers/usb/serial/usb_wwan.c +++ linux-gcp-5.19.0/drivers/usb/serial/usb_wwan.c @@ -388,7 +388,8 @@ /* * Need to take susp_lock to make sure port is not already being - * resumed, but no need to hold it due to initialized + * resumed, but no need to hold it due to the tty-port initialized + * flag. */ spin_lock_irq(&intfdata->susp_lock); if (--intfdata->open_ports == 0) --- linux-gcp-5.19.0.orig/drivers/usb/storage/alauda.c +++ linux-gcp-5.19.0/drivers/usb/storage/alauda.c @@ -438,6 +438,8 @@ + MEDIA_INFO(us).blockshift + MEDIA_INFO(us).pageshift); MEDIA_INFO(us).pba_to_lba = kcalloc(num_zones, sizeof(u16*), GFP_NOIO); MEDIA_INFO(us).lba_to_pba = kcalloc(num_zones, sizeof(u16*), GFP_NOIO); + if (MEDIA_INFO(us).pba_to_lba == NULL || MEDIA_INFO(us).lba_to_pba == NULL) + return USB_STOR_TRANSPORT_ERROR; if (alauda_reset_media(us) != USB_STOR_XFER_GOOD) return USB_STOR_TRANSPORT_ERROR; --- linux-gcp-5.19.0.orig/drivers/usb/storage/realtek_cr.c +++ linux-gcp-5.19.0/drivers/usb/storage/realtek_cr.c @@ -41,6 +41,10 @@ module_param(auto_delink_en, int, S_IRUGO | S_IWUSR); MODULE_PARM_DESC(auto_delink_en, "auto delink mode (0=firmware, 1=software [default])"); +static int enable_mmc = 1; +module_param(enable_mmc, int, S_IRUGO | S_IWUSR); +MODULE_PARM_DESC(enable_mmc, "enable mmc support"); + #ifdef CONFIG_REALTEK_AUTOPM static int ss_en = 1; module_param(ss_en, int, S_IRUGO | S_IWUSR); @@ -475,6 +479,27 @@ return 0; } +static int rts51x_lun_is_mmc_xd(struct us_data *us, u8 lun) +{ + struct rts51x_chip *chip = (struct rts51x_chip *)(us->extra); + + if (rts51x_check_status(us, lun)) + return -EIO; + + usb_stor_dbg(us,"cur_lun = 0x%02X\n", chip->status[lun].cur_lun); + usb_stor_dbg(us,"card_type = 0x%02X\n", chip->status[lun].card_type); + usb_stor_dbg(us,"detailed_type1= 0x%02X\n", chip->status[lun].detailed_type.detailed_type1); + switch (chip->status[lun].card_type) { + case 0x4: /* XD */ + return 1; + case 0x2: /* SD/MMC */ + if (chip->status[lun].detailed_type.detailed_type1 & 0x08) + return 1; + default: + return 0; + } +} + static int enable_oscillator(struct us_data *us) { int retval; @@ -850,6 +875,17 @@ chip->proto_handler_backup(srb, us); /* Check whether card is plugged in */ if (srb->cmnd[0] == TEST_UNIT_READY) { + if (!enable_mmc && rts51x_lun_is_mmc_xd(us, srb->device->lun)) { + usb_stor_dbg(us,"%s: lun is mmc/xd\n", __func__); + srb->result = SAM_STAT_CHECK_CONDITION; + memcpy(srb->sense_buffer, + media_not_present, + US_SENSE_SIZE); + CLR_LUN_READY(chip, srb->device->lun); + card_first_show = 1; + return; + } + if (srb->result == SAM_STAT_GOOD) { SET_LUN_READY(chip, srb->device->lun); if (card_first_show) { --- linux-gcp-5.19.0.orig/drivers/usb/storage/uas-detect.h +++ linux-gcp-5.19.0/drivers/usb/storage/uas-detect.h @@ -116,6 +116,19 @@ if (le16_to_cpu(udev->descriptor.idVendor) == 0x0bc2) flags |= US_FL_NO_ATA_1X; + /* + * RTL9210-based enclosure from HIKSEMI, MD202 reportedly have issues + * with UAS. This isn't distinguishable with just idVendor and + * idProduct, use manufacturer and product too. + * + * Reported-by: Hongling Zeng + */ + if (le16_to_cpu(udev->descriptor.idVendor) == 0x0bda && + le16_to_cpu(udev->descriptor.idProduct) == 0x9210 && + (udev->manufacturer && !strcmp(udev->manufacturer, "HIKSEMI")) && + (udev->product && !strcmp(udev->product, "MD202"))) + flags |= US_FL_IGNORE_UAS; + usb_stor_adjust_quirks(udev, &flags); if (flags & US_FL_IGNORE_UAS) { --- linux-gcp-5.19.0.orig/drivers/usb/storage/unusual_devs.h +++ linux-gcp-5.19.0/drivers/usb/storage/unusual_devs.h @@ -1275,12 +1275,6 @@ USB_SC_RBC, USB_PR_BULK, NULL, 0 ), -UNUSUAL_DEV(0x090c, 0x1000, 0x1100, 0x1100, - "Samsung", - "Flash Drive FIT", - USB_SC_DEVICE, USB_PR_DEVICE, NULL, - US_FL_MAX_SECTORS_64), - /* aeb */ UNUSUAL_DEV( 0x090c, 0x1132, 0x0000, 0xffff, "Feiya", @@ -1354,6 +1348,13 @@ USB_SC_DEVICE, USB_PR_DEVICE, option_ms_init, 0), +/* Reported by Timo Aaltonen */ +UNUSUAL_DEV( 0x0af0, 0x7011, 0x0000, 0x9999, + "Option", + "Mass Storage", + USB_SC_DEVICE, USB_PR_DEVICE, option_ms_init, + 0 ), + /* * Reported by F. Aben * This device (wrongly) has a vendor-specific device descriptor. @@ -2294,6 +2295,13 @@ USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_BULK_IGNORE_TAG | US_FL_MAX_SECTORS_64 ), +/* Reported by Witold Lipieta */ +UNUSUAL_DEV( 0x1fc9, 0x0117, 0x0100, 0x0100, + "NXP Semiconductors", + "PN7462AU", + USB_SC_DEVICE, USB_PR_DEVICE, NULL, + US_FL_IGNORE_RESIDUE ), + /* Supplied with some Castlewood ORB removable drives */ UNUSUAL_DEV( 0x2027, 0xa001, 0x0000, 0x9999, "Double-H Technology", --- linux-gcp-5.19.0.orig/drivers/usb/storage/unusual_uas.h +++ linux-gcp-5.19.0/drivers/usb/storage/unusual_uas.h @@ -52,6 +52,13 @@ USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_NO_REPORT_OPCODES | US_FL_NO_SAME), +/* Reported-by: Hongling Zeng */ +UNUSUAL_DEV(0x090c, 0x2000, 0x0000, 0x9999, + "Hiksemi", + "External HDD", + USB_SC_DEVICE, USB_PR_DEVICE, NULL, + US_FL_IGNORE_UAS), + /* * Apricorn USB3 dongle sometimes returns "USBSUSBSUSBS" in response to SCSI * commands in UAS mode. Observed with the 1.28 firmware; are there others? @@ -62,6 +69,13 @@ USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_IGNORE_UAS), +/* Reported-by: Tom Hu */ +UNUSUAL_DEV(0x0b05, 0x1932, 0x0000, 0x9999, + "ASUS", + "External HDD", + USB_SC_DEVICE, USB_PR_DEVICE, NULL, + US_FL_IGNORE_UAS), + /* Reported-by: David Webb */ UNUSUAL_DEV(0x0bc2, 0x331a, 0x0000, 0x9999, "Seagate", @@ -111,6 +125,13 @@ USB_SC_DEVICE, USB_PR_DEVICE, NULL, US_FL_NO_ATA_1X), +/* Reported-by: Hongling Zeng */ +UNUSUAL_DEV(0x17ef, 0x3899, 0x0000, 0x9999, + "Thinkplus", + "External HDD", + USB_SC_DEVICE, USB_PR_DEVICE, NULL, + US_FL_IGNORE_UAS), + /* Reported-by: Hans de Goede */ UNUSUAL_DEV(0x2109, 0x0711, 0x0000, 0x9999, "VIA", --- linux-gcp-5.19.0.orig/drivers/usb/typec/altmodes/displayport.c +++ linux-gcp-5.19.0/drivers/usb/typec/altmodes/displayport.c @@ -99,8 +99,8 @@ case DP_STATUS_CON_UFP_D: case DP_STATUS_CON_BOTH: /* NOTE: First acting as DP source */ conf |= DP_CONF_UFP_U_AS_UFP_D; - pin_assign = DP_CAP_DFP_D_PIN_ASSIGN(dp->alt->vdo) & - DP_CAP_UFP_D_PIN_ASSIGN(dp->port->vdo); + pin_assign = DP_CAP_PIN_ASSIGN_UFP_D(dp->alt->vdo) & + DP_CAP_PIN_ASSIGN_DFP_D(dp->port->vdo); break; default: break; @@ -419,6 +419,18 @@ [DP_PIN_ASSIGN_F] = "F", }; +/* + * Helper function to extract a peripheral's currently supported + * Pin Assignments from its DisplayPort alternate mode state. + */ +static u8 get_current_pin_assignments(struct dp_altmode *dp) +{ + if (DP_CONF_CURRENTLY(dp->data.conf) == DP_CONF_DFP_D) + return DP_CAP_PIN_ASSIGN_DFP_D(dp->alt->vdo); + else + return DP_CAP_PIN_ASSIGN_UFP_D(dp->alt->vdo); +} + static ssize_t pin_assignment_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t size) @@ -445,10 +457,7 @@ goto out_unlock; } - if (DP_CONF_CURRENTLY(dp->data.conf) == DP_CONF_DFP_D) - assignments = DP_CAP_UFP_D_PIN_ASSIGN(dp->alt->vdo); - else - assignments = DP_CAP_DFP_D_PIN_ASSIGN(dp->alt->vdo); + assignments = get_current_pin_assignments(dp); if (!(DP_CONF_GET_PIN_ASSIGN(conf) & assignments)) { ret = -EINVAL; @@ -485,10 +494,7 @@ cur = get_count_order(DP_CONF_GET_PIN_ASSIGN(dp->data.conf)); - if (DP_CONF_CURRENTLY(dp->data.conf) == DP_CONF_DFP_D) - assignments = DP_CAP_UFP_D_PIN_ASSIGN(dp->alt->vdo); - else - assignments = DP_CAP_DFP_D_PIN_ASSIGN(dp->alt->vdo); + assignments = get_current_pin_assignments(dp); for (i = 0; assignments; assignments >>= 1, i++) { if (assignments & 1) { @@ -529,10 +535,10 @@ /* FIXME: Port can only be DFP_U. */ /* Make sure we have compatiple pin configurations */ - if (!(DP_CAP_DFP_D_PIN_ASSIGN(port->vdo) & - DP_CAP_UFP_D_PIN_ASSIGN(alt->vdo)) && - !(DP_CAP_UFP_D_PIN_ASSIGN(port->vdo) & - DP_CAP_DFP_D_PIN_ASSIGN(alt->vdo))) + if (!(DP_CAP_PIN_ASSIGN_DFP_D(port->vdo) & + DP_CAP_PIN_ASSIGN_UFP_D(alt->vdo)) && + !(DP_CAP_PIN_ASSIGN_UFP_D(port->vdo) & + DP_CAP_PIN_ASSIGN_DFP_D(alt->vdo))) return -ENODEV; ret = sysfs_create_group(&alt->dev.kobj, &dp_altmode_group); --- linux-gcp-5.19.0.orig/drivers/usb/typec/bus.c +++ linux-gcp-5.19.0/drivers/usb/typec/bus.c @@ -134,7 +134,7 @@ if (!adev || !adev->active) return 0; - if (!pdev->ops || !pdev->ops->enter) + if (!pdev->ops || !pdev->ops->exit) return -EOPNOTSUPP; /* Moving to USB Safe State */ --- linux-gcp-5.19.0.orig/drivers/usb/typec/mux/intel_pmc_mux.c +++ linux-gcp-5.19.0/drivers/usb/typec/mux/intel_pmc_mux.c @@ -369,13 +369,24 @@ return pmc_usb_command(port, (void *)&req, sizeof(req)); } -static int pmc_usb_mux_safe_state(struct pmc_usb_port *port) +static int pmc_usb_mux_safe_state(struct pmc_usb_port *port, + struct typec_mux_state *state) { u8 msg; if (IOM_PORT_ACTIVITY_IS(port->iom_status, SAFE_MODE)) return 0; + if ((IOM_PORT_ACTIVITY_IS(port->iom_status, DP) || + IOM_PORT_ACTIVITY_IS(port->iom_status, DP_MFD)) && + state->alt && state->alt->svid == USB_TYPEC_DP_SID) + return 0; + + if ((IOM_PORT_ACTIVITY_IS(port->iom_status, TBT) || + IOM_PORT_ACTIVITY_IS(port->iom_status, ALT_MODE_TBT_USB)) && + state->alt && state->alt->svid == USB_TYPEC_TBT_SID) + return 0; + msg = PMC_USB_SAFE_MODE; msg |= port->usb3_port << PMC_USB_MSG_USB3_PORT_SHIFT; @@ -443,7 +454,7 @@ return 0; if (state->mode == TYPEC_STATE_SAFE) - return pmc_usb_mux_safe_state(port); + return pmc_usb_mux_safe_state(port, state); if (state->mode == TYPEC_STATE_USB) return pmc_usb_connect(port, port->role); @@ -569,13 +580,6 @@ return ret; } -static int is_memory(struct acpi_resource *res, void *data) -{ - struct resource r; - - return !acpi_dev_resource_memory(res, &r); -} - /* IOM ACPI IDs and IOM_PORT_STATUS_OFFSET */ static const struct acpi_device_id iom_acpi_ids[] = { /* TigerLake */ @@ -583,6 +587,9 @@ /* AlderLake */ { "INTC1079", 0x160, }, + + /* Meteor Lake */ + { "INTC107A", 0x160, }, {} }; @@ -606,9 +613,11 @@ return -ENODEV; INIT_LIST_HEAD(&resource_list); - ret = acpi_dev_get_resources(adev, &resource_list, is_memory, NULL); - if (ret < 0) + ret = acpi_dev_get_memory_resources(adev, &resource_list); + if (ret < 0) { + acpi_dev_put(adev); return ret; + } rentry = list_first_entry_or_null(&resource_list, struct resource_entry, node); if (rentry) --- linux-gcp-5.19.0.orig/drivers/usb/typec/tcpm/tcpci.c +++ linux-gcp-5.19.0/drivers/usb/typec/tcpm/tcpci.c @@ -817,8 +817,10 @@ return ERR_PTR(err); tcpci->port = tcpm_register_port(tcpci->dev, &tcpci->tcpc); - if (IS_ERR(tcpci->port)) + if (IS_ERR(tcpci->port)) { + fwnode_handle_put(tcpci->tcpc.fwnode); return ERR_CAST(tcpci->port); + } return tcpci; } @@ -827,6 +829,7 @@ void tcpci_unregister_port(struct tcpci *tcpci) { tcpm_unregister_port(tcpci->port); + fwnode_handle_put(tcpci->tcpc.fwnode); } EXPORT_SYMBOL_GPL(tcpci_unregister_port); --- linux-gcp-5.19.0.orig/drivers/usb/typec/tcpm/tcpm.c +++ linux-gcp-5.19.0/drivers/usb/typec/tcpm/tcpm.c @@ -4527,14 +4527,13 @@ tcpm_set_state(port, ready_state(port), 0); break; case DR_SWAP_CHANGE_DR: - if (port->data_role == TYPEC_HOST) { - tcpm_unregister_altmodes(port); + tcpm_unregister_altmodes(port); + if (port->data_role == TYPEC_HOST) tcpm_set_roles(port, true, port->pwr_role, TYPEC_DEVICE); - } else { + else tcpm_set_roles(port, true, port->pwr_role, TYPEC_HOST); - } tcpm_ams_finish(port); tcpm_set_state(port, ready_state(port), 0); break; @@ -6191,6 +6190,13 @@ struct tcpm_port *port = power_supply_get_drvdata(psy); int ret; + /* + * All the properties below are related to USB PD. The check needs to be + * property specific when a non-pd related property is added. + */ + if (!port->pd_supported) + return -EOPNOTSUPP; + switch (psp) { case POWER_SUPPLY_PROP_ONLINE: ret = tcpm_psy_set_online(port, val); --- linux-gcp-5.19.0.orig/drivers/usb/typec/tipd/core.c +++ linux-gcp-5.19.0/drivers/usb/typec/tipd/core.c @@ -474,7 +474,7 @@ static irqreturn_t cd321x_interrupt(int irq, void *data) { struct tps6598x *tps = data; - u64 event; + u64 event = 0; u32 status; int ret; @@ -519,8 +519,8 @@ static irqreturn_t tps6598x_interrupt(int irq, void *data) { struct tps6598x *tps = data; - u64 event1; - u64 event2; + u64 event1 = 0; + u64 event2 = 0; u32 status; int ret; @@ -814,20 +814,19 @@ ret = devm_tps6598_psy_register(tps); if (ret) - return ret; + goto err_role_put; tps->port = typec_register_port(&client->dev, &typec_cap); if (IS_ERR(tps->port)) { ret = PTR_ERR(tps->port); goto err_role_put; } - fwnode_handle_put(fwnode); if (status & TPS_STATUS_PLUG_PRESENT) { ret = tps6598x_read16(tps, TPS_REG_POWER_STATUS, &tps->pwr_status); if (ret < 0) { dev_err(tps->dev, "failed to read power status: %d\n", ret); - goto err_role_put; + goto err_unregister_port; } ret = tps6598x_connect(tps, status); if (ret) @@ -840,14 +839,16 @@ dev_name(&client->dev), tps); if (ret) { tps6598x_disconnect(tps, 0); - typec_unregister_port(tps->port); - goto err_role_put; + goto err_unregister_port; } i2c_set_clientdata(client, tps); + fwnode_handle_put(fwnode); return 0; +err_unregister_port: + typec_unregister_port(tps->port); err_role_put: usb_role_switch_put(tps->role_sw); err_fwnode_put: --- linux-gcp-5.19.0.orig/drivers/usb/typec/ucsi/ucsi.c +++ linux-gcp-5.19.0/drivers/usb/typec/ucsi/ucsi.c @@ -76,6 +76,10 @@ if (ret) return ret; + ret = ucsi_acknowledge_command(ucsi); + if (ret) + return ret; + switch (error) { case UCSI_ERROR_INCOMPATIBLE_PARTNER: return -EOPNOTSUPP; @@ -179,20 +183,11 @@ } EXPORT_SYMBOL_GPL(ucsi_send_command); -int ucsi_resume(struct ucsi *ucsi) -{ - u64 command; - - /* Restore UCSI notification enable mask after system resume */ - command = UCSI_SET_NOTIFICATION_ENABLE | ucsi->ntfy; - - return ucsi_send_command(ucsi, command, NULL, 0); -} -EXPORT_SYMBOL_GPL(ucsi_resume); /* -------------------------------------------------------------------------- */ struct ucsi_work { struct delayed_work work; + struct list_head node; unsigned long delay; unsigned int count; struct ucsi_connector *con; @@ -208,6 +203,7 @@ mutex_lock(&con->lock); if (!con->partner) { + list_del(&uwork->node); mutex_unlock(&con->lock); kfree(uwork); return; @@ -215,10 +211,12 @@ ret = uwork->cb(con); - if (uwork->count-- && (ret == -EBUSY || ret == -ETIMEDOUT)) + if (uwork->count-- && (ret == -EBUSY || ret == -ETIMEDOUT)) { queue_delayed_work(con->wq, &uwork->work, uwork->delay); - else + } else { + list_del(&uwork->node); kfree(uwork); + } mutex_unlock(&con->lock); } @@ -242,6 +240,7 @@ uwork->con = con; uwork->cb = cb; + list_add_tail(&uwork->node, &con->partner_tasks); queue_delayed_work(con->wq, &uwork->work, delay); return 0; @@ -584,8 +583,6 @@ num_pdos * sizeof(u32)); if (ret < 0 && ret != -ETIMEDOUT) dev_err(ucsi->dev, "UCSI_GET_PDOS failed (%d)\n", ret); - if (ret == 0 && offset == 0) - dev_warn(ucsi->dev, "UCSI_GET_PDOS returned 0 bytes\n"); return ret; } @@ -742,6 +739,7 @@ static int ucsi_check_connection(struct ucsi_connector *con) { + u8 prev_flags = con->status.flags; u64 command; int ret; @@ -752,10 +750,13 @@ return ret; } + if (con->status.flags == prev_flags) + return 0; + if (con->status.flags & UCSI_CONSTAT_CONNECTED) { - if (UCSI_CONSTAT_PWR_OPMODE(con->status.flags) == - UCSI_CONSTAT_PWR_OPMODE_PD) - ucsi_partner_task(con, ucsi_check_altmodes, 30, 0); + ucsi_register_partner(con); + ucsi_pwr_opmode_change(con); + ucsi_partner_change(con); } else { ucsi_partner_change(con); ucsi_port_psy_changed(con); @@ -1060,16 +1061,15 @@ INIT_WORK(&con->work, ucsi_handle_connector_change); init_completion(&con->complete); mutex_init(&con->lock); + INIT_LIST_HEAD(&con->partner_tasks); con->num = index + 1; con->ucsi = ucsi; cap->fwnode = ucsi_find_fwnode(con); con->usb_role_sw = fwnode_usb_role_switch_get(cap->fwnode); - if (IS_ERR(con->usb_role_sw)) { - dev_err(ucsi->dev, "con%d: failed to get usb role switch\n", - con->num); - return PTR_ERR(con->usb_role_sw); - } + if (IS_ERR(con->usb_role_sw)) + return dev_err_probe(ucsi->dev, PTR_ERR(con->usb_role_sw), + "con%d: failed to get usb role switch\n", con->num); /* Delay other interactions with the con until registration is complete */ mutex_lock(&con->lock); @@ -1196,32 +1196,6 @@ return ret; } -static void ucsi_unregister_connectors(struct ucsi *ucsi) -{ - struct ucsi_connector *con; - int i; - - if (!ucsi->connector) - return; - - for (i = 0; i < ucsi->cap.num_connectors; i++) { - con = &ucsi->connector[i]; - - if (!con->wq) - break; - - cancel_work_sync(&con->work); - ucsi_unregister_partner(con); - ucsi_unregister_altmodes(con, UCSI_RECIPIENT_CON); - ucsi_unregister_port_psy(con); - destroy_workqueue(con->wq); - typec_unregister_port(con->port); - } - - kfree(ucsi->connector); - ucsi->connector = NULL; -} - /** * ucsi_init - Initialize UCSI interface * @ucsi: UCSI to be initialized @@ -1230,6 +1204,7 @@ */ static int ucsi_init(struct ucsi *ucsi) { + struct ucsi_connector *con; u64 command; int ret; int i; @@ -1260,7 +1235,7 @@ } /* Allocate the connectors. Released in ucsi_unregister() */ - ucsi->connector = kcalloc(ucsi->cap.num_connectors, + ucsi->connector = kcalloc(ucsi->cap.num_connectors + 1, sizeof(*ucsi->connector), GFP_KERNEL); if (!ucsi->connector) { ret = -ENOMEM; @@ -1284,7 +1259,18 @@ return 0; err_unregister: - ucsi_unregister_connectors(ucsi); + for (con = ucsi->connector; con->port; con++) { + ucsi_unregister_partner(con); + ucsi_unregister_altmodes(con, UCSI_RECIPIENT_CON); + ucsi_unregister_port_psy(con); + if (con->wq) + destroy_workqueue(con->wq); + typec_unregister_port(con->port); + con->port = NULL; + } + + kfree(ucsi->connector); + ucsi->connector = NULL; err_reset: memset(&ucsi->cap, 0, sizeof(ucsi->cap)); @@ -1293,6 +1279,36 @@ return ret; } +static void ucsi_resume_work(struct work_struct *work) +{ + struct ucsi *ucsi = container_of(work, struct ucsi, resume_work); + struct ucsi_connector *con; + u64 command; + int ret; + + /* Restore UCSI notification enable mask after system resume */ + command = UCSI_SET_NOTIFICATION_ENABLE | ucsi->ntfy; + ret = ucsi_send_command(ucsi, command, NULL, 0); + if (ret < 0) { + dev_err(ucsi->dev, "failed to re-enable notifications (%d)\n", ret); + return; + } + + for (con = ucsi->connector; con->port; con++) { + mutex_lock(&con->lock); + ucsi_partner_task(con, ucsi_check_connection, 1, 0); + mutex_unlock(&con->lock); + } +} + +int ucsi_resume(struct ucsi *ucsi) +{ + if (ucsi->connector) + queue_work(system_long_wq, &ucsi->resume_work); + return 0; +} +EXPORT_SYMBOL_GPL(ucsi_resume); + static void ucsi_init_work(struct work_struct *work) { struct ucsi *ucsi = container_of(work, struct ucsi, work.work); @@ -1348,6 +1364,7 @@ if (!ucsi) return ERR_PTR(-ENOMEM); + INIT_WORK(&ucsi->resume_work, ucsi_resume_work); INIT_DELAYED_WORK(&ucsi->work, ucsi_init_work); mutex_init(&ucsi->ppm_lock); ucsi->dev = dev; @@ -1398,14 +1415,42 @@ void ucsi_unregister(struct ucsi *ucsi) { u64 cmd = UCSI_SET_NOTIFICATION_ENABLE; + int i; /* Make sure that we are not in the middle of driver initialization */ cancel_delayed_work_sync(&ucsi->work); + cancel_work_sync(&ucsi->resume_work); /* Disable notifications */ ucsi->ops->async_write(ucsi, UCSI_CONTROL, &cmd, sizeof(cmd)); - ucsi_unregister_connectors(ucsi); + if (!ucsi->connector) + return; + + for (i = 0; i < ucsi->cap.num_connectors; i++) { + cancel_work_sync(&ucsi->connector[i].work); + ucsi_unregister_partner(&ucsi->connector[i]); + ucsi_unregister_altmodes(&ucsi->connector[i], + UCSI_RECIPIENT_CON); + ucsi_unregister_port_psy(&ucsi->connector[i]); + + if (ucsi->connector[i].wq) { + struct ucsi_work *uwork; + + mutex_lock(&ucsi->connector[i].lock); + /* + * queue delayed items immediately so they can execute + * and free themselves before the wq is destroyed + */ + list_for_each_entry(uwork, &ucsi->connector[i].partner_tasks, node) + mod_delayed_work(ucsi->connector[i].wq, &uwork->work, 0); + mutex_unlock(&ucsi->connector[i].lock); + destroy_workqueue(ucsi->connector[i].wq); + } + typec_unregister_port(ucsi->connector[i].port); + } + + kfree(ucsi->connector); } EXPORT_SYMBOL_GPL(ucsi_unregister); --- linux-gcp-5.19.0.orig/drivers/usb/typec/ucsi/ucsi.h +++ linux-gcp-5.19.0/drivers/usb/typec/ucsi/ucsi.h @@ -287,6 +287,7 @@ struct ucsi_capability cap; struct ucsi_connector *connector; + struct work_struct resume_work; struct delayed_work work; int work_count; #define UCSI_ROLE_SWITCH_RETRY_PER_HZ 10 @@ -321,6 +322,7 @@ struct work_struct work; struct completion complete; struct workqueue_struct *wq; + struct list_head partner_tasks; struct typec_port *port; struct typec_partner *partner; --- linux-gcp-5.19.0.orig/drivers/usb/typec/ucsi/ucsi_acpi.c +++ linux-gcp-5.19.0/drivers/usb/typec/ucsi/ucsi_acpi.c @@ -185,6 +185,15 @@ return 0; } +static int ucsi_acpi_resume(struct device *dev) +{ + struct ucsi_acpi *ua = dev_get_drvdata(dev); + + return ucsi_resume(ua->ucsi); +} + +static DEFINE_SIMPLE_DEV_PM_OPS(ucsi_acpi_pm_ops, NULL, ucsi_acpi_resume); + static const struct acpi_device_id ucsi_acpi_match[] = { { "PNP0CA0", 0 }, { }, @@ -194,6 +203,7 @@ static struct platform_driver ucsi_acpi_platform_driver = { .driver = { .name = "ucsi_acpi", + .pm = pm_ptr(&ucsi_acpi_pm_ops), .acpi_match_table = ACPI_PTR(ucsi_acpi_match), }, .probe = ucsi_acpi_probe, --- linux-gcp-5.19.0.orig/drivers/usb/typec/wusb3801.c +++ linux-gcp-5.19.0/drivers/usb/typec/wusb3801.c @@ -364,7 +364,7 @@ /* Initialize the hardware with the devicetree settings. */ ret = wusb3801_hw_init(wusb3801); if (ret) - return ret; + goto err_put_connector; wusb3801->cap.revision = USB_TYPEC_REV_1_2; wusb3801->cap.accessory[0] = TYPEC_ACCESSORY_AUDIO; --- linux-gcp-5.19.0.orig/drivers/usb/usbip/vudc_sysfs.c +++ linux-gcp-5.19.0/drivers/usb/usbip/vudc_sysfs.c @@ -128,7 +128,7 @@ goto unlock; } - spin_lock_irq(&udc->ud.lock); + spin_lock(&udc->ud.lock); if (udc->ud.status != SDEV_ST_AVAILABLE) { ret = -EINVAL; @@ -150,7 +150,7 @@ } /* unlock and create threads and get tasks */ - spin_unlock_irq(&udc->ud.lock); + spin_unlock(&udc->ud.lock); spin_unlock_irqrestore(&udc->lock, flags); tcp_rx = kthread_create(&v_rx_loop, &udc->ud, "vudc_rx"); @@ -173,14 +173,14 @@ /* lock and update udc->ud state */ spin_lock_irqsave(&udc->lock, flags); - spin_lock_irq(&udc->ud.lock); + spin_lock(&udc->ud.lock); udc->ud.tcp_socket = socket; udc->ud.tcp_rx = tcp_rx; udc->ud.tcp_tx = tcp_tx; udc->ud.status = SDEV_ST_USED; - spin_unlock_irq(&udc->ud.lock); + spin_unlock(&udc->ud.lock); ktime_get_ts64(&udc->start_time); v_start_timer(udc); @@ -201,12 +201,12 @@ goto unlock; } - spin_lock_irq(&udc->ud.lock); + spin_lock(&udc->ud.lock); if (udc->ud.status != SDEV_ST_USED) { ret = -EINVAL; goto unlock_ud; } - spin_unlock_irq(&udc->ud.lock); + spin_unlock(&udc->ud.lock); usbip_event_add(&udc->ud, VUDC_EVENT_DOWN); } @@ -219,7 +219,7 @@ sock_err: sockfd_put(socket); unlock_ud: - spin_unlock_irq(&udc->ud.lock); + spin_unlock(&udc->ud.lock); unlock: spin_unlock_irqrestore(&udc->lock, flags); mutex_unlock(&udc->ud.sysfs_lock); --- linux-gcp-5.19.0.orig/drivers/vdpa/ifcvf/ifcvf_base.c +++ linux-gcp-5.19.0/drivers/vdpa/ifcvf/ifcvf_base.c @@ -315,7 +315,7 @@ u32 q_pair_id; ifcvf_lm = (struct ifcvf_lm_cfg __iomem *)hw->lm_cfg; - q_pair_id = qid / hw->nr_vring; + q_pair_id = qid / 2; avail_idx_addr = &ifcvf_lm->vring_lm_cfg[q_pair_id].idx_addr[qid % 2]; last_avail_idx = vp_ioread16(avail_idx_addr); @@ -329,7 +329,7 @@ u32 q_pair_id; ifcvf_lm = (struct ifcvf_lm_cfg __iomem *)hw->lm_cfg; - q_pair_id = qid / hw->nr_vring; + q_pair_id = qid / 2; avail_idx_addr = &ifcvf_lm->vring_lm_cfg[q_pair_id].idx_addr[qid % 2]; hw->vring[qid].last_avail_idx = num; vp_iowrite16(num, avail_idx_addr); --- linux-gcp-5.19.0.orig/drivers/vdpa/mlx5/net/mlx5_vnet.c +++ linux-gcp-5.19.0/drivers/vdpa/mlx5/net/mlx5_vnet.c @@ -1297,6 +1297,8 @@ static int create_rqt(struct mlx5_vdpa_net *ndev) { + int rqt_table_size = roundup_pow_of_two(ndev->rqt_size); + int act_sz = roundup_pow_of_two(ndev->cur_num_vqs / 2); __be32 *list; void *rqtc; int inlen; @@ -1304,7 +1306,7 @@ int i, j; int err; - inlen = MLX5_ST_SZ_BYTES(create_rqt_in) + ndev->rqt_size * MLX5_ST_SZ_BYTES(rq_num); + inlen = MLX5_ST_SZ_BYTES(create_rqt_in) + rqt_table_size * MLX5_ST_SZ_BYTES(rq_num); in = kzalloc(inlen, GFP_KERNEL); if (!in) return -ENOMEM; @@ -1313,12 +1315,12 @@ rqtc = MLX5_ADDR_OF(create_rqt_in, in, rqt_context); MLX5_SET(rqtc, rqtc, list_q_type, MLX5_RQTC_LIST_Q_TYPE_VIRTIO_NET_Q); - MLX5_SET(rqtc, rqtc, rqt_max_size, ndev->rqt_size); + MLX5_SET(rqtc, rqtc, rqt_max_size, rqt_table_size); list = MLX5_ADDR_OF(rqtc, rqtc, rq_num[0]); - for (i = 0, j = 0; i < ndev->rqt_size; i++, j += 2) + for (i = 0, j = 0; i < act_sz; i++, j += 2) list[i] = cpu_to_be32(ndev->vqs[j % ndev->cur_num_vqs].virtq_id); - MLX5_SET(rqtc, rqtc, rqt_actual_size, ndev->rqt_size); + MLX5_SET(rqtc, rqtc, rqt_actual_size, act_sz); err = mlx5_vdpa_create_rqt(&ndev->mvdev, in, inlen, &ndev->res.rqtn); kfree(in); if (err) @@ -1331,6 +1333,7 @@ static int modify_rqt(struct mlx5_vdpa_net *ndev, int num) { + int act_sz = roundup_pow_of_two(num / 2); __be32 *list; void *rqtc; int inlen; @@ -1338,7 +1341,7 @@ int i, j; int err; - inlen = MLX5_ST_SZ_BYTES(modify_rqt_in) + ndev->rqt_size * MLX5_ST_SZ_BYTES(rq_num); + inlen = MLX5_ST_SZ_BYTES(modify_rqt_in) + act_sz * MLX5_ST_SZ_BYTES(rq_num); in = kzalloc(inlen, GFP_KERNEL); if (!in) return -ENOMEM; @@ -1349,10 +1352,10 @@ MLX5_SET(rqtc, rqtc, list_q_type, MLX5_RQTC_LIST_Q_TYPE_VIRTIO_NET_Q); list = MLX5_ADDR_OF(rqtc, rqtc, rq_num[0]); - for (i = 0, j = 0; i < ndev->rqt_size; i++, j += 2) + for (i = 0, j = 0; i < act_sz; i++, j = j + 2) list[i] = cpu_to_be32(ndev->vqs[j % num].virtq_id); - MLX5_SET(rqtc, rqtc, rqt_actual_size, ndev->rqt_size); + MLX5_SET(rqtc, rqtc, rqt_actual_size, act_sz); err = mlx5_vdpa_modify_rqt(&ndev->mvdev, in, inlen, ndev->res.rqtn); kfree(in); if (err) @@ -1442,11 +1445,13 @@ dmac_v = MLX5_ADDR_OF(fte_match_param, headers_v, outer_headers.dmac_47_16); memset(dmac_c, 0xff, ETH_ALEN); ether_addr_copy(dmac_v, mac); - MLX5_SET(fte_match_set_lyr_2_4, headers_c, cvlan_tag, 1); + if (ndev->mvdev.actual_features & BIT_ULL(VIRTIO_NET_F_CTRL_VLAN)) { + MLX5_SET(fte_match_set_lyr_2_4, headers_c, cvlan_tag, 1); + MLX5_SET_TO_ONES(fte_match_set_lyr_2_4, headers_c, first_vid); + } if (tagged) { MLX5_SET(fte_match_set_lyr_2_4, headers_v, cvlan_tag, 1); - MLX5_SET_TO_ONES(fte_match_set_lyr_2_4, headers_c, first_vid); - MLX5_SET(fte_match_set_lyr_2_4, headers_c, first_vid, vid); + MLX5_SET(fte_match_set_lyr_2_4, headers_v, first_vid, vid); } flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; dest.type = MLX5_FLOW_DESTINATION_TYPE_TIR; @@ -1658,7 +1663,7 @@ /* Need recreate the flow table entry, so that the packet could forward back */ - mac_vlan_del(ndev, ndev->config.mac, 0, false); + mac_vlan_del(ndev, mac_back, 0, false); if (mac_vlan_add(ndev, ndev->config.mac, 0, false)) { mlx5_vdpa_warn(mvdev, "failed to insert forward rules, try to restore\n"); --- linux-gcp-5.19.0.orig/drivers/vdpa/vdpa_sim/vdpa_sim.c +++ linux-gcp-5.19.0/drivers/vdpa/vdpa_sim/vdpa_sim.c @@ -33,7 +33,7 @@ static int max_iotlb_entries = 2048; module_param(max_iotlb_entries, int, 0444); MODULE_PARM_DESC(max_iotlb_entries, - "Maximum number of iotlb entries. 0 means unlimited. (default: 2048)"); + "Maximum number of iotlb entries for each address space. 0 means unlimited. (default: 2048)"); #define VDPASIM_QUEUE_ALIGN PAGE_SIZE #define VDPASIM_QUEUE_MAX 256 @@ -66,8 +66,7 @@ { struct vdpasim_virtqueue *vq = &vdpasim->vqs[idx]; - vringh_init_iotlb(&vq->vring, vdpasim->dev_attr.supported_features, - VDPASIM_QUEUE_MAX, false, + vringh_init_iotlb(&vq->vring, vdpasim->features, vq->num, false, (struct vring_desc *)(uintptr_t)vq->desc_addr, (struct vring_avail *) (uintptr_t)vq->driver_addr, @@ -291,7 +290,7 @@ goto err_iommu; for (i = 0; i < vdpasim->dev_attr.nas; i++) - vhost_iotlb_init(&vdpasim->iommu[i], 0, 0); + vhost_iotlb_init(&vdpasim->iommu[i], max_iotlb_entries, 0); vdpasim->buffer = kvmalloc(dev_attr->buffer_size, GFP_KERNEL); if (!vdpasim->buffer) @@ -668,7 +667,9 @@ } kvfree(vdpasim->buffer); - vhost_iotlb_free(vdpasim->iommu); + for (i = 0; i < vdpasim->dev_attr.nas; i++) + vhost_iotlb_reset(&vdpasim->iommu[i]); + kfree(vdpasim->iommu); kfree(vdpasim->vqs); kfree(vdpasim->config); } --- linux-gcp-5.19.0.orig/drivers/vdpa/vdpa_sim/vdpa_sim_blk.c +++ linux-gcp-5.19.0/drivers/vdpa/vdpa_sim/vdpa_sim_blk.c @@ -34,7 +34,11 @@ #define VDPASIM_BLK_CAPACITY 0x40000 #define VDPASIM_BLK_SIZE_MAX 0x1000 #define VDPASIM_BLK_SEG_MAX 32 + +/* 1 virtqueue, 1 address space, 1 virtqueue group */ #define VDPASIM_BLK_VQ_NUM 1 +#define VDPASIM_BLK_AS_NUM 1 +#define VDPASIM_BLK_GROUP_NUM 1 static char vdpasim_blk_id[VIRTIO_BLK_ID_BYTES] = "vdpa_blk_sim"; @@ -260,6 +264,8 @@ dev_attr.id = VIRTIO_ID_BLOCK; dev_attr.supported_features = VDPASIM_BLK_FEATURES; dev_attr.nvqs = VDPASIM_BLK_VQ_NUM; + dev_attr.ngroups = VDPASIM_BLK_GROUP_NUM; + dev_attr.nas = VDPASIM_BLK_AS_NUM; dev_attr.config_size = sizeof(struct virtio_blk_config); dev_attr.get_config = vdpasim_blk_get_config; dev_attr.work_fn = vdpasim_blk_work; @@ -309,8 +315,10 @@ int ret; ret = device_register(&vdpasim_blk_mgmtdev); - if (ret) + if (ret) { + put_device(&vdpasim_blk_mgmtdev); return ret; + } ret = vdpa_mgmtdev_register(&mgmt_dev); if (ret) --- linux-gcp-5.19.0.orig/drivers/vdpa/vdpa_sim/vdpa_sim_net.c +++ linux-gcp-5.19.0/drivers/vdpa/vdpa_sim/vdpa_sim_net.c @@ -301,8 +301,10 @@ int ret; ret = device_register(&vdpasim_net_mgmtdev); - if (ret) + if (ret) { + put_device(&vdpasim_net_mgmtdev); return ret; + } ret = vdpa_mgmtdev_register(&mgmt_dev); if (ret) --- linux-gcp-5.19.0.orig/drivers/vdpa/vdpa_user/vduse_dev.c +++ linux-gcp-5.19.0/drivers/vdpa/vdpa_user/vduse_dev.c @@ -662,10 +662,15 @@ { struct vduse_dev *dev = vdpa_to_vduse(vdpa); - if (offset > dev->config_size || - len > dev->config_size - offset) + /* Initialize the buffer in case of partial copy. */ + memset(buf, 0, len); + + if (offset > dev->config_size) return; + if (len > dev->config_size - offset) + len = dev->config_size - offset; + memcpy(buf, dev->config + offset, len); } @@ -1255,6 +1260,9 @@ if (config->config_size > PAGE_SIZE) return false; + if (config->vq_num > 0xffff) + return false; + if (!device_is_allowed(config->device_id)) return false; --- linux-gcp-5.19.0.orig/drivers/vdpa/virtio_pci/vp_vdpa.c +++ linux-gcp-5.19.0/drivers/vdpa/virtio_pci/vp_vdpa.c @@ -629,7 +629,7 @@ mdev = vp_vdpa_mgtdev->mdev; vp_modern_remove(mdev); vdpa_mgmtdev_unregister(&vp_vdpa_mgtdev->mgtdev); - kfree(&vp_vdpa_mgtdev->mgtdev.id_table); + kfree(vp_vdpa_mgtdev->mgtdev.id_table); kfree(mdev); kfree(vp_vdpa_mgtdev); } --- linux-gcp-5.19.0.orig/drivers/vfio/pci/Kconfig +++ linux-gcp-5.19.0/drivers/vfio/pci/Kconfig @@ -44,6 +44,17 @@ To enable Intel IGD assignment through vfio-pci, say Y. endif +config VFIO_PCI_ZDEV_KVM + bool "VFIO PCI extensions for s390x KVM passthrough" + depends on S390 && KVM + default y + help + Support s390x-specific extensions to enable support for enhancements + to KVM passthrough capabilities, such as interpretive execution of + zPCI instructions. + + To enable s390x KVM vfio-pci extensions, say Y. + source "drivers/vfio/pci/mlx5/Kconfig" source "drivers/vfio/pci/hisilicon/Kconfig" --- linux-gcp-5.19.0.orig/drivers/vfio/pci/Makefile +++ linux-gcp-5.19.0/drivers/vfio/pci/Makefile @@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0-only vfio-pci-core-y := vfio_pci_core.o vfio_pci_intrs.o vfio_pci_rdwr.o vfio_pci_config.o -vfio-pci-core-$(CONFIG_S390) += vfio_pci_zdev.o +vfio-pci-core-$(CONFIG_VFIO_PCI_ZDEV_KVM) += vfio_pci_zdev.o obj-$(CONFIG_VFIO_PCI_CORE) += vfio-pci-core.o vfio-pci-y := vfio_pci.o --- linux-gcp-5.19.0.orig/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c +++ linux-gcp-5.19.0/drivers/vfio/pci/hisilicon/hisi_acc_vfio_pci.c @@ -1185,7 +1185,7 @@ if (ret) return ret; - if (core_vdev->ops->migration_set_state) { + if (core_vdev->mig_ops) { ret = hisi_acc_vf_qm_init(hisi_acc_vdev); if (ret) { vfio_pci_core_disable(vdev); @@ -1208,6 +1208,11 @@ vfio_pci_core_close_device(core_vdev); } +static const struct vfio_migration_ops hisi_acc_vfio_pci_migrn_state_ops = { + .migration_set_state = hisi_acc_vfio_pci_set_device_state, + .migration_get_state = hisi_acc_vfio_pci_get_device_state, +}; + static const struct vfio_device_ops hisi_acc_vfio_pci_migrn_ops = { .name = "hisi-acc-vfio-pci-migration", .open_device = hisi_acc_vfio_pci_open_device, @@ -1219,8 +1224,6 @@ .mmap = hisi_acc_vfio_pci_mmap, .request = vfio_pci_core_request, .match = vfio_pci_core_match, - .migration_set_state = hisi_acc_vfio_pci_set_device_state, - .migration_get_state = hisi_acc_vfio_pci_get_device_state, }; static const struct vfio_device_ops hisi_acc_vfio_pci_ops = { @@ -1272,6 +1275,8 @@ if (!ret) { vfio_pci_core_init_device(&hisi_acc_vdev->core_device, pdev, &hisi_acc_vfio_pci_migrn_ops); + hisi_acc_vdev->core_device.vdev.mig_ops = + &hisi_acc_vfio_pci_migrn_state_ops; } else { pci_warn(pdev, "migration support failed, continue with generic interface\n"); vfio_pci_core_init_device(&hisi_acc_vdev->core_device, pdev, --- linux-gcp-5.19.0.orig/drivers/vfio/pci/mlx5/cmd.c +++ linux-gcp-5.19.0/drivers/vfio/pci/mlx5/cmd.c @@ -88,6 +88,16 @@ return 0; } +void mlx5vf_cmd_close_migratable(struct mlx5vf_pci_core_device *mvdev) +{ + if (!mvdev->migrate_cap) + return; + + mutex_lock(&mvdev->state_mutex); + mlx5vf_disable_fds(mvdev); + mlx5vf_state_mutex_unlock(mvdev); +} + void mlx5vf_cmd_remove_migratable(struct mlx5vf_pci_core_device *mvdev) { if (!mvdev->migrate_cap) @@ -98,7 +108,8 @@ destroy_workqueue(mvdev->cb_wq); } -void mlx5vf_cmd_set_migratable(struct mlx5vf_pci_core_device *mvdev) +void mlx5vf_cmd_set_migratable(struct mlx5vf_pci_core_device *mvdev, + const struct vfio_migration_ops *mig_ops) { struct pci_dev *pdev = mvdev->core_device.pdev; int ret; @@ -139,6 +150,7 @@ mvdev->core_device.vdev.migration_flags = VFIO_MIGRATION_STOP_COPY | VFIO_MIGRATION_P2P; + mvdev->core_device.vdev.mig_ops = mig_ops; end: mlx5_vf_put_core_dev(mvdev->mdev); --- linux-gcp-5.19.0.orig/drivers/vfio/pci/mlx5/cmd.h +++ linux-gcp-5.19.0/drivers/vfio/pci/mlx5/cmd.h @@ -62,8 +62,10 @@ int mlx5vf_cmd_resume_vhca(struct mlx5vf_pci_core_device *mvdev, u16 op_mod); int mlx5vf_cmd_query_vhca_migration_state(struct mlx5vf_pci_core_device *mvdev, size_t *state_size); -void mlx5vf_cmd_set_migratable(struct mlx5vf_pci_core_device *mvdev); +void mlx5vf_cmd_set_migratable(struct mlx5vf_pci_core_device *mvdev, + const struct vfio_migration_ops *mig_ops); void mlx5vf_cmd_remove_migratable(struct mlx5vf_pci_core_device *mvdev); +void mlx5vf_cmd_close_migratable(struct mlx5vf_pci_core_device *mvdev); int mlx5vf_cmd_save_vhca_state(struct mlx5vf_pci_core_device *mvdev, struct mlx5_vf_migration_file *migf); int mlx5vf_cmd_load_vhca_state(struct mlx5vf_pci_core_device *mvdev, --- linux-gcp-5.19.0.orig/drivers/vfio/pci/mlx5/main.c +++ linux-gcp-5.19.0/drivers/vfio/pci/mlx5/main.c @@ -570,10 +570,15 @@ struct mlx5vf_pci_core_device *mvdev = container_of( core_vdev, struct mlx5vf_pci_core_device, core_device.vdev); - mlx5vf_disable_fds(mvdev); + mlx5vf_cmd_close_migratable(mvdev); vfio_pci_core_close_device(core_vdev); } +static const struct vfio_migration_ops mlx5vf_pci_mig_ops = { + .migration_set_state = mlx5vf_pci_set_device_state, + .migration_get_state = mlx5vf_pci_get_device_state, +}; + static const struct vfio_device_ops mlx5vf_pci_ops = { .name = "mlx5-vfio-pci", .open_device = mlx5vf_pci_open_device, @@ -585,8 +590,6 @@ .mmap = vfio_pci_core_mmap, .request = vfio_pci_core_request, .match = vfio_pci_core_match, - .migration_set_state = mlx5vf_pci_set_device_state, - .migration_get_state = mlx5vf_pci_get_device_state, }; static int mlx5vf_pci_probe(struct pci_dev *pdev, @@ -599,7 +602,7 @@ if (!mvdev) return -ENOMEM; vfio_pci_core_init_device(&mvdev->core_device, pdev, &mlx5vf_pci_ops); - mlx5vf_cmd_set_migratable(mvdev); + mlx5vf_cmd_set_migratable(mvdev, &mlx5vf_pci_mig_ops); dev_set_drvdata(&pdev->dev, &mvdev->core_device); ret = vfio_pci_core_register_device(&mvdev->core_device); if (ret) --- linux-gcp-5.19.0.orig/drivers/vfio/pci/vfio_pci_core.c +++ linux-gcp-5.19.0/drivers/vfio/pci/vfio_pci_core.c @@ -316,10 +316,14 @@ pci_write_config_word(pdev, PCI_COMMAND, cmd); } - ret = vfio_config_init(vdev); + ret = vfio_pci_zdev_open_device(vdev); if (ret) goto out_free_state; + ret = vfio_config_init(vdev); + if (ret) + goto out_free_zdev; + msix_pos = pdev->msix_cap; if (msix_pos) { u16 flags; @@ -340,6 +344,8 @@ return 0; +out_free_zdev: + vfio_pci_zdev_close_device(vdev); out_free_state: kfree(vdev->pci_saved_state); vdev->pci_saved_state = NULL; @@ -418,6 +424,8 @@ vdev->needs_reset = true; + vfio_pci_zdev_close_device(vdev); + /* * If we have saved state, restore it. If we can reset the device, * even better. Resetting with current state seems better than @@ -1855,6 +1863,13 @@ if (pdev->hdr_type != PCI_HEADER_TYPE_NORMAL) return -EINVAL; + if (vdev->vdev.mig_ops) { + if (!(vdev->vdev.mig_ops->migration_get_state && + vdev->vdev.mig_ops->migration_set_state) || + !(vdev->vdev.migration_flags & VFIO_MIGRATION_STOP_COPY)) + return -EINVAL; + } + /* * Prevent binding to PFs with VFs enabled, the VFs might be in use * by the host or other users. We cannot capture the VFs if they --- linux-gcp-5.19.0.orig/drivers/vfio/pci/vfio_pci_zdev.c +++ linux-gcp-5.19.0/drivers/vfio/pci/vfio_pci_zdev.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -23,14 +24,15 @@ { struct vfio_device_info_cap_zpci_base cap = { .header.id = VFIO_DEVICE_INFO_CAP_ZPCI_BASE, - .header.version = 1, + .header.version = 2, .start_dma = zdev->start_dma, .end_dma = zdev->end_dma, .pchid = zdev->pchid, .vfn = zdev->vfn, .fmb_length = zdev->fmb_length, .pft = zdev->pft, - .gid = zdev->pfgid + .gid = zdev->pfgid, + .fh = zdev->fh }; return vfio_info_add_capability(caps, &cap.header, sizeof(cap)); @@ -43,14 +45,16 @@ { struct vfio_device_info_cap_zpci_group cap = { .header.id = VFIO_DEVICE_INFO_CAP_ZPCI_GROUP, - .header.version = 1, + .header.version = 2, .dasm = zdev->dma_mask, .msi_addr = zdev->msi_addr, .flags = VFIO_DEVICE_INFO_ZPCI_FLAG_REFRESH, .mui = zdev->fmb_update, .noi = zdev->max_msi, .maxstbl = ZPCI_MAX_WRITE_SIZE, - .version = zdev->version + .version = zdev->version, + .reserved = 0, + .imaxstbl = zdev->maxstbl }; return vfio_info_add_capability(caps, &cap.header, sizeof(cap)); @@ -136,3 +140,30 @@ return ret; } + +int vfio_pci_zdev_open_device(struct vfio_pci_core_device *vdev) +{ + struct zpci_dev *zdev = to_zpci(vdev->pdev); + + if (!zdev) + return -ENODEV; + + if (!vdev->vdev.kvm) + return 0; + + if (zpci_kvm_hook.kvm_register) + return zpci_kvm_hook.kvm_register(zdev, vdev->vdev.kvm); + + return -ENOENT; +} + +void vfio_pci_zdev_close_device(struct vfio_pci_core_device *vdev) +{ + struct zpci_dev *zdev = to_zpci(vdev->pdev); + + if (!zdev || !vdev->vdev.kvm) + return; + + if (zpci_kvm_hook.kvm_unregister) + zpci_kvm_hook.kvm_unregister(zdev); +} --- linux-gcp-5.19.0.orig/drivers/vfio/platform/vfio_platform_common.c +++ linux-gcp-5.19.0/drivers/vfio/platform/vfio_platform_common.c @@ -72,12 +72,11 @@ const char **extra_dbg) { #ifdef CONFIG_ACPI - struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; struct device *dev = vdev->device; acpi_handle handle = ACPI_HANDLE(dev); acpi_status acpi_ret; - acpi_ret = acpi_evaluate_object(handle, "_RST", NULL, &buffer); + acpi_ret = acpi_evaluate_object(handle, "_RST", NULL, NULL); if (ACPI_FAILURE(acpi_ret)) { if (extra_dbg) *extra_dbg = acpi_format_exception(acpi_ret); --- linux-gcp-5.19.0.orig/drivers/vfio/vfio.c +++ linux-gcp-5.19.0/drivers/vfio/vfio.c @@ -1544,8 +1544,7 @@ struct file *filp = NULL; int ret; - if (!device->ops->migration_set_state || - !device->ops->migration_get_state) + if (!device->mig_ops) return -ENOTTY; ret = vfio_check_feature(flags, argsz, @@ -1561,7 +1560,8 @@ if (flags & VFIO_DEVICE_FEATURE_GET) { enum vfio_device_mig_state curr_state; - ret = device->ops->migration_get_state(device, &curr_state); + ret = device->mig_ops->migration_get_state(device, + &curr_state); if (ret) return ret; mig.device_state = curr_state; @@ -1569,7 +1569,7 @@ } /* Handle the VFIO_DEVICE_FEATURE_SET */ - filp = device->ops->migration_set_state(device, mig.device_state); + filp = device->mig_ops->migration_set_state(device, mig.device_state); if (IS_ERR(filp) || !filp) goto out_copy; @@ -1592,8 +1592,7 @@ }; int ret; - if (!device->ops->migration_set_state || - !device->ops->migration_get_state) + if (!device->mig_ops) return -ENOTTY; ret = vfio_check_feature(flags, argsz, VFIO_DEVICE_FEATURE_GET, @@ -1815,6 +1814,7 @@ buf = krealloc(caps->buf, caps->size + size, GFP_KERNEL); if (!buf) { kfree(caps->buf); + caps->buf = NULL; caps->size = 0; return ERR_PTR(-ENOMEM); } --- linux-gcp-5.19.0.orig/drivers/vfio/vfio_iommu_type1.c +++ linux-gcp-5.19.0/drivers/vfio/vfio_iommu_type1.c @@ -36,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -100,6 +101,8 @@ struct task_struct *task; struct rb_root pfn_list; /* Ex-user pinned pfn list */ unsigned long *bitmap; + struct mm_struct *mm; + size_t locked_vm; }; struct vfio_batch { @@ -113,6 +116,7 @@ struct vfio_iommu_group { struct iommu_group *iommu_group; struct list_head next; + bool mdev_group; bool pinned_page_dirty_scope; }; @@ -412,6 +416,19 @@ return ret; } +static int mm_lock_acct(struct task_struct *task, struct mm_struct *mm, + bool lock_cap, long npage) +{ + int ret = mmap_write_lock_killable(mm); + + if (ret) + return ret; + + ret = __account_locked_vm(mm, abs(npage), npage > 0, task, lock_cap); + mmap_write_unlock(mm); + return ret; +} + static int vfio_lock_acct(struct vfio_dma *dma, long npage, bool async) { struct mm_struct *mm; @@ -420,16 +437,13 @@ if (!npage) return 0; - mm = async ? get_task_mm(dma->task) : dma->task->mm; - if (!mm) + mm = dma->mm; + if (async && !mmget_not_zero(mm)) return -ESRCH; /* process exited */ - ret = mmap_write_lock_killable(mm); - if (!ret) { - ret = __account_locked_vm(mm, abs(npage), npage > 0, dma->task, - dma->lock_cap); - mmap_write_unlock(mm); - } + ret = mm_lock_acct(dma->task, mm, dma->lock_cap, npage); + if (!ret) + dma->locked_vm += npage; if (async) mmput(mm); @@ -557,6 +571,18 @@ ret = pin_user_pages_remote(mm, vaddr, npages, flags | FOLL_LONGTERM, pages, NULL, NULL); if (ret > 0) { + int i; + + /* + * The zero page is always resident, we don't need to pin it + * and it falls into our invalid/reserved test so we don't + * unpin in put_pfn(). Unpin all zero pages in the batch here. + */ + for (i = 0 ; i < ret; i++) { + if (unlikely(is_zero_pfn(page_to_pfn(pages[i])))) + unpin_user_page(pages[i]); + } + *pfn = page_to_pfn(pages[0]); goto done; } @@ -782,8 +808,8 @@ struct mm_struct *mm; int ret; - mm = get_task_mm(dma->task); - if (!mm) + mm = dma->mm; + if (!mmget_not_zero(mm)) return -ENODEV; ret = vaddr_get_pfns(mm, vaddr, 1, dma->prot, pfn_base, pages); @@ -793,7 +819,7 @@ ret = 0; if (do_accounting && !is_invalid_reserved_pfn(*pfn_base)) { - ret = vfio_lock_acct(dma, 1, true); + ret = vfio_lock_acct(dma, 1, false); if (ret) { put_pfn(*pfn_base, dma->prot); if (ret == -ENOMEM) @@ -849,6 +875,12 @@ mutex_lock(&iommu->lock); + if (WARN_ONCE(iommu->vaddr_invalid_count, + "vfio_pin_pages not allowed with VFIO_UPDATE_VADDR\n")) { + ret = -EBUSY; + goto pin_done; + } + /* * Wait for all necessary vaddr's to be valid so they can be used in * the main loop without dropping the lock, to avoid racing vs unmap. @@ -1163,6 +1195,7 @@ vfio_unmap_unpin(iommu, dma, true); vfio_unlink_dma(iommu, dma); put_task_struct(dma->task); + mmdrop(dma->mm); vfio_dma_bitmap_free(dma); if (dma->vaddr_invalid) { iommu->vaddr_invalid_count--; @@ -1303,6 +1336,12 @@ mutex_lock(&iommu->lock); + /* Cannot update vaddr if mdev is present. */ + if (invalidate_vaddr && !list_empty(&iommu->emulated_iommu_groups)) { + ret = -EBUSY; + goto unlock; + } + pgshift = __ffs(iommu->pgsize_bitmap); pgsize = (size_t)1 << pgshift; @@ -1547,6 +1586,38 @@ return list_empty(iova); } +static int vfio_change_dma_owner(struct vfio_dma *dma) +{ + struct task_struct *task = current->group_leader; + struct mm_struct *mm = current->mm; + long npage = dma->locked_vm; + bool lock_cap; + int ret; + + if (mm == dma->mm) + return 0; + + lock_cap = capable(CAP_IPC_LOCK); + ret = mm_lock_acct(task, mm, lock_cap, npage); + if (ret) + return ret; + + if (mmget_not_zero(dma->mm)) { + mm_lock_acct(dma->task, dma->mm, dma->lock_cap, -npage); + mmput(dma->mm); + } + + if (dma->task != task) { + put_task_struct(dma->task); + dma->task = get_task_struct(task); + } + mmdrop(dma->mm); + dma->mm = mm; + mmgrab(dma->mm); + dma->lock_cap = lock_cap; + return 0; +} + static int vfio_dma_do_map(struct vfio_iommu *iommu, struct vfio_iommu_type1_dma_map *map) { @@ -1596,6 +1667,9 @@ dma->size != size) { ret = -EINVAL; } else { + ret = vfio_change_dma_owner(dma); + if (ret) + goto out_unlock; dma->vaddr = vaddr; dma->vaddr_invalid = false; iommu->vaddr_invalid_count--; @@ -1633,29 +1707,15 @@ * against the locked memory limit and we need to be able to do both * outside of this call path as pinning can be asynchronous via the * external interfaces for mdev devices. RLIMIT_MEMLOCK requires a - * task_struct and VM locked pages requires an mm_struct, however - * holding an indefinite mm reference is not recommended, therefore we - * only hold a reference to a task. We could hold a reference to - * current, however QEMU uses this call path through vCPU threads, - * which can be killed resulting in a NULL mm and failure in the unmap - * path when called via a different thread. Avoid this problem by - * using the group_leader as threads within the same group require - * both CLONE_THREAD and CLONE_VM and will therefore use the same - * mm_struct. - * - * Previously we also used the task for testing CAP_IPC_LOCK at the - * time of pinning and accounting, however has_capability() makes use - * of real_cred, a copy-on-write field, so we can't guarantee that it - * matches group_leader, or in fact that it might not change by the - * time it's evaluated. If a process were to call MAP_DMA with - * CAP_IPC_LOCK but later drop it, it doesn't make sense that they - * possibly see different results for an iommu_mapped vfio_dma vs - * externally mapped. Therefore track CAP_IPC_LOCK in vfio_dma at the - * time of calling MAP_DMA. + * task_struct. Save the group_leader so that all DMA tracking uses + * the same task, to make debugging easier. VM locked pages requires + * an mm_struct, so grab the mm in case the task dies. */ get_task_struct(current->group_leader); dma->task = current->group_leader; dma->lock_cap = capable(CAP_IPC_LOCK); + dma->mm = current->mm; + mmgrab(dma->mm); dma->pfn_list = RB_ROOT; @@ -1849,24 +1909,33 @@ * significantly boosts non-hugetlbfs mappings and doesn't seem to hurt when * hugetlbfs is in use. */ -static void vfio_test_domain_fgsp(struct vfio_domain *domain) +static void vfio_test_domain_fgsp(struct vfio_domain *domain, struct list_head *regions) { - struct page *pages; int ret, order = get_order(PAGE_SIZE * 2); + struct vfio_iova *region; + struct page *pages; + dma_addr_t start; pages = alloc_pages(GFP_KERNEL | __GFP_ZERO, order); if (!pages) return; - ret = iommu_map(domain->domain, 0, page_to_phys(pages), PAGE_SIZE * 2, - IOMMU_READ | IOMMU_WRITE | IOMMU_CACHE); - if (!ret) { - size_t unmapped = iommu_unmap(domain->domain, 0, PAGE_SIZE); + list_for_each_entry(region, regions, list) { + start = ALIGN(region->start, PAGE_SIZE * 2); + if (start >= region->end || (region->end - start < PAGE_SIZE * 2)) + continue; + + ret = iommu_map(domain->domain, start, page_to_phys(pages), PAGE_SIZE * 2, + IOMMU_READ | IOMMU_WRITE | IOMMU_CACHE); + if (!ret) { + size_t unmapped = iommu_unmap(domain->domain, start, PAGE_SIZE); - if (unmapped == PAGE_SIZE) - iommu_unmap(domain->domain, PAGE_SIZE, PAGE_SIZE); - else - domain->fgsp = true; + if (unmapped == PAGE_SIZE) + iommu_unmap(domain->domain, start + PAGE_SIZE, PAGE_SIZE); + else + domain->fgsp = true; + } + break; } __free_pages(pages, order); @@ -1930,6 +1999,81 @@ return ret; } +static int vfio_mdev_attach_domain(struct device *dev, void *data) +{ + struct mdev_device *mdev = to_mdev_device(dev); + struct iommu_domain *domain = data; + struct device *iommu_device; + + iommu_device = mdev_get_iommu_device(mdev); + if (iommu_device) + return iommu_attach_device(domain, iommu_device); + + return -EINVAL; +} + +static int vfio_mdev_detach_domain(struct device *dev, void *data) +{ + struct mdev_device *mdev = to_mdev_device(dev); + struct iommu_domain *domain = data; + struct device *iommu_device; + + iommu_device = mdev_get_iommu_device(mdev); + if (iommu_device) + iommu_detach_device(domain, iommu_device); + + return 0; +} + +static int vfio_iommu_attach_group(struct vfio_domain *domain, + struct vfio_iommu_group *group) +{ + if (group->mdev_group) + return iommu_group_for_each_dev(group->iommu_group, + domain->domain, + vfio_mdev_attach_domain); + else + return iommu_attach_group(domain->domain, group->iommu_group); +} + +static void vfio_iommu_detach_group(struct vfio_domain *domain, + struct vfio_iommu_group *group) +{ + if (group->mdev_group) + iommu_group_for_each_dev(group->iommu_group, domain->domain, + vfio_mdev_detach_domain); + else + iommu_detach_group(domain->domain, group->iommu_group); +} + +static bool vfio_bus_is_mdev(struct bus_type *bus) +{ + struct bus_type *mdev_bus; + bool ret = false; + + mdev_bus = symbol_get(mdev_bus_type); + if (mdev_bus) { + ret = (bus == mdev_bus); + symbol_put(mdev_bus_type); + } + + return ret; +} + +static int vfio_mdev_iommu_device(struct device *dev, void *data) +{ + struct mdev_device *mdev = to_mdev_device(dev); + struct device **old = data, *new; + + new = mdev_get_iommu_device(mdev); + if (!new || (*old && *old != new)) + return -EINVAL; + + *old = new; + + return 0; +} + /* * This is a helper function to insert an address range to iova list. * The list is initially created with a single entry corresponding to @@ -2165,11 +2309,16 @@ struct iommu_domain_geometry *geo; LIST_HEAD(iova_copy); LIST_HEAD(group_resv_regions); - int ret = -EINVAL; + int ret = -EBUSY; mutex_lock(&iommu->lock); + /* Attach could require pinning, so disallow while vaddr is invalid. */ + if (iommu->vaddr_invalid_count) + goto out_unlock; + /* Check for duplicates */ + ret = -EINVAL; if (vfio_iommu_find_iommu_group(iommu, iommu_group)) goto out_unlock; @@ -2180,6 +2329,23 @@ group->iommu_group = iommu_group; if (type == VFIO_EMULATED_IOMMU) { + ret = iommu_group_for_each_dev(iommu_group, &bus, vfio_bus_type); + + if (!ret && vfio_bus_is_mdev(bus)) { + struct device *iommu_device = NULL; + + group->mdev_group = true; + + /* Determine the isolation type */ + ret = iommu_group_for_each_dev(iommu_group, + &iommu_device, + vfio_mdev_iommu_device); + if (!ret && iommu_device) { + bus = iommu_device->bus; + goto mdev_iommu_device; + } + } + list_add(&group->next, &iommu->emulated_iommu_groups); /* * An emulated IOMMU group cannot dirty memory directly, it can @@ -2197,6 +2363,8 @@ if (ret) goto out_free_group; +mdev_iommu_device: + ret = -ENOMEM; domain = kzalloc(sizeof(*domain), GFP_KERNEL); if (!domain) @@ -2213,7 +2381,7 @@ goto out_domain; } - ret = iommu_attach_group(domain->domain, group->iommu_group); + ret = vfio_iommu_attach_group(domain, group); if (ret) goto out_domain; @@ -2288,23 +2456,21 @@ if (d->domain->ops == domain->domain->ops && d->enforce_cache_coherency == domain->enforce_cache_coherency) { - iommu_detach_group(domain->domain, group->iommu_group); - if (!iommu_attach_group(d->domain, - group->iommu_group)) { + vfio_iommu_detach_group(domain, group); + if (!vfio_iommu_attach_group(d, group)) { list_add(&group->next, &d->group_list); iommu_domain_free(domain->domain); kfree(domain); goto done; } - ret = iommu_attach_group(domain->domain, - group->iommu_group); + ret = vfio_iommu_attach_group(domain, group); if (ret) goto out_domain; } } - vfio_test_domain_fgsp(domain); + vfio_test_domain_fgsp(domain, &iova_copy); /* replay mappings on new domains */ ret = vfio_iommu_replay(iommu, domain); @@ -2335,7 +2501,7 @@ return 0; out_detach: - iommu_detach_group(domain->domain, group->iommu_group); + vfio_iommu_detach_group(domain, group); out_domain: iommu_domain_free(domain->domain); vfio_iommu_iova_free(&iova_copy); @@ -2496,7 +2662,7 @@ if (!group) continue; - iommu_detach_group(domain->domain, group->iommu_group); + vfio_iommu_detach_group(domain, group); update_dirty_scope = !group->pinned_page_dirty_scope; list_del(&group->next); kfree(group); @@ -2585,7 +2751,7 @@ list_for_each_entry_safe(group, group_tmp, &domain->group_list, next) { - iommu_detach_group(domain->domain, group->iommu_group); + vfio_iommu_detach_group(domain, group); list_del(&group->next); kfree(group); } @@ -2636,6 +2802,16 @@ return ret; } +static bool vfio_iommu_has_emulated(struct vfio_iommu *iommu) +{ + bool ret; + + mutex_lock(&iommu->lock); + ret = !list_empty(&iommu->emulated_iommu_groups); + mutex_unlock(&iommu->lock); + return ret; +} + static int vfio_iommu_type1_check_extension(struct vfio_iommu *iommu, unsigned long arg) { @@ -2644,8 +2820,13 @@ case VFIO_TYPE1v2_IOMMU: case VFIO_TYPE1_NESTING_IOMMU: case VFIO_UNMAP_ALL: - case VFIO_UPDATE_VADDR: return 1; + case VFIO_UPDATE_VADDR: + /* + * Disable this feature if mdevs are present. They cannot + * safely pin/unpin/rw while vaddrs are being updated. + */ + return iommu && !vfio_iommu_has_emulated(iommu); case VFIO_DMA_CC_IOMMU: if (!iommu) return 0; @@ -3054,9 +3235,8 @@ !(dma->prot & IOMMU_READ)) return -EPERM; - mm = get_task_mm(dma->task); - - if (!mm) + mm = dma->mm; + if (!mmget_not_zero(mm)) return -EPERM; if (kthread) @@ -3102,6 +3282,13 @@ size_t done; mutex_lock(&iommu->lock); + + if (WARN_ONCE(iommu->vaddr_invalid_count, + "vfio_dma_rw not allowed with VFIO_UPDATE_VADDR\n")) { + ret = -EBUSY; + goto out; + } + while (count > 0) { ret = vfio_iommu_type1_dma_rw_chunk(iommu, user_iova, data, count, write, &done); @@ -3113,6 +3300,7 @@ user_iova += done; } +out: mutex_unlock(&iommu->lock); return ret; } --- linux-gcp-5.19.0.orig/drivers/vhost/net.c +++ linux-gcp-5.19.0/drivers/vhost/net.c @@ -1510,6 +1510,9 @@ nvq = &n->vqs[index]; mutex_lock(&vq->mutex); + if (fd == -1) + vhost_clear_msg(&n->dev); + /* Verify that ring has been setup correctly. */ if (!vhost_vq_access_ok(vq)) { r = -EFAULT; --- linux-gcp-5.19.0.orig/drivers/vhost/scsi.c +++ linux-gcp-5.19.0/drivers/vhost/scsi.c @@ -80,7 +80,7 @@ struct scatterlist *tvc_prot_sgl; struct page **tvc_upages; /* Pointer to response header iovec */ - struct iovec tvc_resp_iov; + struct iovec *tvc_resp_iov; /* Pointer to vhost_scsi for our device */ struct vhost_scsi *tvc_vhost; /* Pointer to vhost_virtqueue for the cmd */ @@ -558,7 +558,7 @@ memcpy(v_rsp.sense, cmd->tvc_sense_buf, se_cmd->scsi_sense_length); - iov_iter_init(&iov_iter, READ, &cmd->tvc_resp_iov, + iov_iter_init(&iov_iter, READ, cmd->tvc_resp_iov, cmd->tvc_in_iovs, sizeof(v_rsp)); ret = copy_to_iter(&v_rsp, sizeof(v_rsp), &iov_iter); if (likely(ret == sizeof(v_rsp))) { @@ -589,6 +589,7 @@ struct vhost_scsi_cmd *cmd; struct vhost_scsi_nexus *tv_nexus; struct scatterlist *sg, *prot_sg; + struct iovec *tvc_resp_iov; struct page **pages; int tag; @@ -608,6 +609,7 @@ sg = cmd->tvc_sgl; prot_sg = cmd->tvc_prot_sgl; pages = cmd->tvc_upages; + tvc_resp_iov = cmd->tvc_resp_iov; memset(cmd, 0, sizeof(*cmd)); cmd->tvc_sgl = sg; cmd->tvc_prot_sgl = prot_sg; @@ -620,6 +622,7 @@ cmd->tvc_data_direction = data_direction; cmd->tvc_nexus = tv_nexus; cmd->inflight = vhost_scsi_get_inflight(vq); + cmd->tvc_resp_iov = tvc_resp_iov; memcpy(cmd->tvc_cdb, cdb, VHOST_SCSI_MAX_CDB_SIZE); @@ -932,7 +935,7 @@ struct iov_iter in_iter, prot_iter, data_iter; u64 tag; u32 exp_data_len, data_direction; - int ret, prot_bytes, c = 0; + int ret, prot_bytes, i, c = 0; u16 lun; u8 task_attr; bool t10_pi = vhost_has_feature(vq, VIRTIO_SCSI_F_T10_PI); @@ -1089,7 +1092,8 @@ } cmd->tvc_vhost = vs; cmd->tvc_vq = vq; - cmd->tvc_resp_iov = vq->iov[vc.out]; + for (i = 0; i < vc.in ; i++) + cmd->tvc_resp_iov[i] = vq->iov[vc.out + i]; cmd->tvc_in_iovs = vc.in; pr_debug("vhost_scsi got command opcode: %#02x, lun: %d\n", @@ -1459,6 +1463,7 @@ kfree(tv_cmd->tvc_sgl); kfree(tv_cmd->tvc_prot_sgl); kfree(tv_cmd->tvc_upages); + kfree(tv_cmd->tvc_resp_iov); } sbitmap_free(&svq->scsi_tags); @@ -1506,6 +1511,14 @@ goto out; } + tv_cmd->tvc_resp_iov = kcalloc(UIO_MAXIOV, + sizeof(struct iovec), + GFP_KERNEL); + if (!tv_cmd->tvc_resp_iov) { + pr_err("Unable to allocate tv_cmd->tvc_resp_iov\n"); + goto out; + } + tv_cmd->tvc_prot_sgl = kcalloc(VHOST_SCSI_PREALLOC_PROT_SGLS, sizeof(struct scatterlist), GFP_KERNEL); --- linux-gcp-5.19.0.orig/drivers/vhost/vdpa.c +++ linux-gcp-5.19.0/drivers/vhost/vdpa.c @@ -65,6 +65,10 @@ static dev_t vhost_vdpa_major; +static void vhost_vdpa_iotlb_unmap(struct vhost_vdpa *v, + struct vhost_iotlb *iotlb, u64 start, + u64 last, u32 asid); + static inline u32 iotlb_to_asid(struct vhost_iotlb *iotlb) { struct vhost_vdpa_as *as = container_of(iotlb, struct @@ -135,7 +139,7 @@ return -EINVAL; hlist_del(&as->hash_link); - vhost_iotlb_reset(&as->iotlb); + vhost_vdpa_iotlb_unmap(v, &as->iotlb, 0ULL, 0ULL - 1, asid); kfree(as); return 0; @@ -650,10 +654,20 @@ mutex_unlock(&d->mutex); return r; } +static void vhost_vdpa_general_unmap(struct vhost_vdpa *v, + struct vhost_iotlb_map *map, u32 asid) +{ + struct vdpa_device *vdpa = v->vdpa; + const struct vdpa_config_ops *ops = vdpa->config; + if (ops->dma_map) { + ops->dma_unmap(vdpa, asid, map->start, map->size); + } else if (ops->set_map == NULL) { + iommu_unmap(v->domain, map->start, map->size); + } +} -static void vhost_vdpa_pa_unmap(struct vhost_vdpa *v, - struct vhost_iotlb *iotlb, - u64 start, u64 last) +static void vhost_vdpa_pa_unmap(struct vhost_vdpa *v, struct vhost_iotlb *iotlb, + u64 start, u64 last, u32 asid) { struct vhost_dev *dev = &v->vdev; struct vhost_iotlb_map *map; @@ -670,13 +684,13 @@ unpin_user_page(page); } atomic64_sub(PFN_DOWN(map->size), &dev->mm->pinned_vm); + vhost_vdpa_general_unmap(v, map, asid); vhost_iotlb_map_free(iotlb, map); } } -static void vhost_vdpa_va_unmap(struct vhost_vdpa *v, - struct vhost_iotlb *iotlb, - u64 start, u64 last) +static void vhost_vdpa_va_unmap(struct vhost_vdpa *v, struct vhost_iotlb *iotlb, + u64 start, u64 last, u32 asid) { struct vhost_iotlb_map *map; struct vdpa_map_file *map_file; @@ -685,20 +699,21 @@ map_file = (struct vdpa_map_file *)map->opaque; fput(map_file->file); kfree(map_file); + vhost_vdpa_general_unmap(v, map, asid); vhost_iotlb_map_free(iotlb, map); } } static void vhost_vdpa_iotlb_unmap(struct vhost_vdpa *v, - struct vhost_iotlb *iotlb, - u64 start, u64 last) + struct vhost_iotlb *iotlb, u64 start, + u64 last, u32 asid) { struct vdpa_device *vdpa = v->vdpa; if (vdpa->use_va) - return vhost_vdpa_va_unmap(v, iotlb, start, last); + return vhost_vdpa_va_unmap(v, iotlb, start, last, asid); - return vhost_vdpa_pa_unmap(v, iotlb, start, last); + return vhost_vdpa_pa_unmap(v, iotlb, start, last, asid); } static int perm_to_iommu_flags(u32 perm) @@ -765,17 +780,12 @@ const struct vdpa_config_ops *ops = vdpa->config; u32 asid = iotlb_to_asid(iotlb); - vhost_vdpa_iotlb_unmap(v, iotlb, iova, iova + size - 1); + vhost_vdpa_iotlb_unmap(v, iotlb, iova, iova + size - 1, asid); - if (ops->dma_map) { - ops->dma_unmap(vdpa, asid, iova, size); - } else if (ops->set_map) { + if (ops->set_map) { if (!v->in_batch) ops->set_map(vdpa, asid, iotlb); - } else { - iommu_unmap(v->domain, iova, size); } - /* If we are in the middle of batch processing, delay the free * of AS until BATCH_END. */ @@ -1129,14 +1139,14 @@ struct vhost_vdpa_as *as; u32 asid; - vhost_dev_cleanup(&v->vdev); - kfree(v->vdev.vqs); - for (asid = 0; asid < v->vdpa->nas; asid++) { as = asid_to_as(v, asid); if (as) vhost_vdpa_remove_as(v, asid); } + + vhost_dev_cleanup(&v->vdev); + kfree(v->vdev.vqs); } static int vhost_vdpa_open(struct inode *inode, struct file *filep) --- linux-gcp-5.19.0.orig/drivers/vhost/vhost.c +++ linux-gcp-5.19.0/drivers/vhost/vhost.c @@ -661,7 +661,7 @@ } EXPORT_SYMBOL_GPL(vhost_dev_stop); -static void vhost_clear_msg(struct vhost_dev *dev) +void vhost_clear_msg(struct vhost_dev *dev) { struct vhost_msg_node *node, *n; @@ -679,6 +679,7 @@ spin_unlock(&dev->iotlb_lock); } +EXPORT_SYMBOL_GPL(vhost_clear_msg); void vhost_dev_cleanup(struct vhost_dev *dev) { @@ -2053,7 +2054,7 @@ struct vhost_dev *dev = vq->dev; struct vhost_iotlb *umem = dev->iotlb ? dev->iotlb : dev->umem; struct iovec *_iov; - u64 s = 0; + u64 s = 0, last = addr + len - 1; int ret = 0; while ((u64)len > s) { @@ -2063,7 +2064,7 @@ break; } - map = vhost_iotlb_itree_first(umem, addr, addr + len - 1); + map = vhost_iotlb_itree_first(umem, addr, last); if (map == NULL || map->start > addr) { if (umem != dev->iotlb) { ret = -EFAULT; --- linux-gcp-5.19.0.orig/drivers/vhost/vhost.h +++ linux-gcp-5.19.0/drivers/vhost/vhost.h @@ -181,6 +181,7 @@ long vhost_vring_ioctl(struct vhost_dev *d, unsigned int ioctl, void __user *argp); bool vhost_vq_access_ok(struct vhost_virtqueue *vq); bool vhost_log_access_ok(struct vhost_dev *); +void vhost_clear_msg(struct vhost_dev *dev); int vhost_get_vq_desc(struct vhost_virtqueue *, struct iovec iov[], unsigned int iov_count, --- linux-gcp-5.19.0.orig/drivers/vhost/vringh.c +++ linux-gcp-5.19.0/drivers/vhost/vringh.c @@ -1101,7 +1101,7 @@ struct vhost_iotlb_map *map; struct vhost_iotlb *iotlb = vrh->iotlb; int ret = 0; - u64 s = 0; + u64 s = 0, last = addr + len - 1; spin_lock(vrh->iotlb_lock); @@ -1113,8 +1113,7 @@ break; } - map = vhost_iotlb_itree_first(iotlb, addr, - addr + len - 1); + map = vhost_iotlb_itree_first(iotlb, addr, last); if (!map || map->start > addr) { ret = -EINVAL; break; --- linux-gcp-5.19.0.orig/drivers/vhost/vsock.c +++ linux-gcp-5.19.0/drivers/vhost/vsock.c @@ -393,7 +393,7 @@ return NULL; } - pkt->buf = kmalloc(pkt->len, GFP_KERNEL); + pkt->buf = kvmalloc(pkt->len, GFP_KERNEL); if (!pkt->buf) { kfree(pkt); return NULL; @@ -959,7 +959,14 @@ VSOCK_TRANSPORT_F_H2G); if (ret < 0) return ret; - return misc_register(&vhost_vsock_misc); + + ret = misc_register(&vhost_vsock_misc); + if (ret) { + vsock_core_unregister(&vhost_transport.transport); + return ret; + } + + return 0; }; static void __exit vhost_vsock_exit(void) --- linux-gcp-5.19.0.orig/drivers/video/fbdev/Kconfig +++ linux-gcp-5.19.0/drivers/video/fbdev/Kconfig @@ -599,6 +599,7 @@ config FB_UVESA tristate "Userspace VESA VGA graphics support" depends on FB && CONNECTOR + depends on !UML select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT @@ -2212,7 +2213,6 @@ select FB_SYS_COPYAREA select FB_SYS_IMAGEBLIT select FB_DEFERRED_IO - select PWM select FB_BACKLIGHT help This driver implements support for the Solomon SSD1307 --- linux-gcp-5.19.0.orig/drivers/video/fbdev/amba-clcd.c +++ linux-gcp-5.19.0/drivers/video/fbdev/amba-clcd.c @@ -698,16 +698,18 @@ return -ENODEV; panel = of_graph_get_remote_port_parent(endpoint); - if (!panel) - return -ENODEV; + if (!panel) { + err = -ENODEV; + goto out_endpoint_put; + } err = clcdfb_of_get_backlight(&fb->dev->dev, fb->panel); if (err) - return err; + goto out_panel_put; err = clcdfb_of_get_mode(&fb->dev->dev, panel, fb->panel); if (err) - return err; + goto out_panel_put; err = of_property_read_u32(fb->dev->dev.of_node, "max-memory-bandwidth", &max_bandwidth); @@ -736,11 +738,21 @@ if (of_property_read_u32_array(endpoint, "arm,pl11x,tft-r0g0b0-pads", - tft_r0b0g0, ARRAY_SIZE(tft_r0b0g0)) != 0) - return -ENOENT; + tft_r0b0g0, ARRAY_SIZE(tft_r0b0g0)) != 0) { + err = -ENOENT; + goto out_panel_put; + } + + of_node_put(panel); + of_node_put(endpoint); return clcdfb_of_init_tft_panel(fb, tft_r0b0g0[0], tft_r0b0g0[1], tft_r0b0g0[2]); +out_panel_put: + of_node_put(panel); +out_endpoint_put: + of_node_put(endpoint); + return err; } static int clcdfb_of_vram_setup(struct clcd_fb *fb) --- linux-gcp-5.19.0.orig/drivers/video/fbdev/arkfb.c +++ linux-gcp-5.19.0/drivers/video/fbdev/arkfb.c @@ -781,7 +781,12 @@ return -EINVAL; } - ark_set_pixclock(info, (hdiv * info->var.pixclock) / hmul); + value = (hdiv * info->var.pixclock) / hmul; + if (!value) { + fb_dbg(info, "invalid pixclock\n"); + value = 1; + } + ark_set_pixclock(info, value); svga_set_timings(par->state.vgabase, &ark_timing_regs, &(info->var), hmul, hdiv, (info->var.vmode & FB_VMODE_DOUBLE) ? 2 : 1, (info->var.vmode & FB_VMODE_INTERLACED) ? 2 : 1, @@ -792,6 +797,8 @@ value = ((value * hmul / hdiv) / 8) - 5; vga_wcrt(par->state.vgabase, 0x42, (value + 1) / 2); + if (screen_size > info->screen_size) + screen_size = info->screen_size; memset_io(info->screen_base, 0x00, screen_size); /* Device and screen back on */ svga_wcrt_mask(par->state.vgabase, 0x17, 0x80, 0x80); --- linux-gcp-5.19.0.orig/drivers/video/fbdev/chipsfb.c +++ linux-gcp-5.19.0/drivers/video/fbdev/chipsfb.c @@ -430,6 +430,7 @@ err_release_fb: framebuffer_release(p); err_disable: + pci_disable_device(dp); err_out: return rc; } --- linux-gcp-5.19.0.orig/drivers/video/fbdev/core/fb_defio.c +++ linux-gcp-5.19.0/drivers/video/fbdev/core/fb_defio.c @@ -313,7 +313,7 @@ } EXPORT_SYMBOL_GPL(fb_deferred_io_open); -void fb_deferred_io_cleanup(struct fb_info *info) +void fb_deferred_io_release(struct fb_info *info) { struct fb_deferred_io *fbdefio = info->fbdefio; struct page *page; @@ -327,6 +327,14 @@ page = fb_deferred_io_page(info, i); page->mapping = NULL; } +} +EXPORT_SYMBOL_GPL(fb_deferred_io_release); + +void fb_deferred_io_cleanup(struct fb_info *info) +{ + struct fb_deferred_io *fbdefio = info->fbdefio; + + fb_deferred_io_release(info); kvfree(info->pagerefs); mutex_destroy(&fbdefio->lock); --- linux-gcp-5.19.0.orig/drivers/video/fbdev/core/fbcon.c +++ linux-gcp-5.19.0/drivers/video/fbdev/core/fbcon.c @@ -125,8 +125,8 @@ enums. */ static int logo_shown = FBCON_LOGO_CANSHOW; /* console mappings */ -static int first_fb_vc; -static int last_fb_vc = MAX_NR_CONSOLES - 1; +static unsigned int first_fb_vc; +static unsigned int last_fb_vc = MAX_NR_CONSOLES - 1; static int fbcon_is_default = 1; static int primary_device = -1; static int fbcon_has_console_bind; @@ -440,10 +440,12 @@ options += 3; if (*options) first_fb_vc = simple_strtoul(options, &options, 10) - 1; - if (first_fb_vc < 0) + if (first_fb_vc >= MAX_NR_CONSOLES) first_fb_vc = 0; if (*options++ == '-') last_fb_vc = simple_strtoul(options, &options, 10) - 1; + if (last_fb_vc < first_fb_vc || last_fb_vc >= MAX_NR_CONSOLES) + last_fb_vc = MAX_NR_CONSOLES - 1; fbcon_is_default = 0; continue; } @@ -575,7 +577,7 @@ if (scr_readw(r) != vc->vc_video_erase_char) break; if (r != q && new_rows >= rows + logo_lines) { - save = kmalloc(array3_size(logo_lines, new_cols, 2), + save = kzalloc(array3_size(logo_lines, new_cols, 2), GFP_KERNEL); if (save) { int i = min(cols, new_cols); @@ -956,7 +958,7 @@ set_blitting_type(vc, info); /* Setup default font */ - if (!p->fontdata && !vc->vc_font.data) { + if (!p->fontdata) { if (!fontname[0] || !(font = find_font(fontname))) font = get_default_font(info->var.xres, info->var.yres, @@ -966,8 +968,6 @@ vc->vc_font.height = font->height; vc->vc_font.data = (void *)(p->fontdata = font->data); vc->vc_font.charcount = font->charcount; - } else { - p->fontdata = vc->vc_font.data; } cols = FBCON_SWAP(ops->rotate, info->var.xres, info->var.yres); @@ -1133,9 +1133,9 @@ ops->p = &fb_display[fg_console]; } -static void fbcon_free_font(struct fbcon_display *p, bool freefont) +static void fbcon_free_font(struct fbcon_display *p) { - if (freefont && p->userfont && p->fontdata && (--REFCOUNT(p->fontdata) == 0)) + if (p->userfont && p->fontdata && (--REFCOUNT(p->fontdata) == 0)) kfree(p->fontdata - FONT_EXTRA_WORDS * sizeof(int)); p->fontdata = NULL; p->userfont = 0; @@ -1170,8 +1170,8 @@ struct fb_info *info; struct fbcon_ops *ops; int idx; - bool free_font = true; + fbcon_free_font(p); idx = con2fb_map[vc->vc_num]; if (idx == -1) @@ -1182,8 +1182,6 @@ if (!info) goto finished; - if (info->flags & FBINFO_MISC_FIRMWARE) - free_font = false; ops = info->fbcon_par; if (!ops) @@ -1195,9 +1193,8 @@ ops->initialized = false; finished: - fbcon_free_font(p, free_font); - if (free_font) - vc->vc_font.data = NULL; + fbcon_free_font(p); + vc->vc_font.data = NULL; if (vc->vc_hi_font_mask && vc->vc_screenbuf) set_vc_hi_font(vc, false); @@ -1758,8 +1755,6 @@ case SM_UP: if (count > vc->vc_rows) /* Maximum realistic size */ count = vc->vc_rows; - if (logo_shown >= 0) - goto redraw_up; switch (fb_scrollmode(p)) { case SCROLL_MOVE: fbcon_redraw_blit(vc, info, p, t, b - t - count, @@ -1848,8 +1843,6 @@ case SM_DOWN: if (count > vc->vc_rows) /* Maximum realistic size */ count = vc->vc_rows; - if (logo_shown >= 0) - goto redraw_down; switch (fb_scrollmode(p)) { case SCROLL_MOVE: fbcon_redraw_blit(vc, info, p, b - 1, b - t - count, @@ -2404,15 +2397,21 @@ struct fb_info *info = fbcon_info_from_console(vc->vc_num); struct fbcon_ops *ops = info->fbcon_par; struct fbcon_display *p = &fb_display[vc->vc_num]; - int resize; + int resize, ret, old_userfont, old_width, old_height, old_charcount; char *old_data = NULL; resize = (w != vc->vc_font.width) || (h != vc->vc_font.height); if (p->userfont) old_data = vc->vc_font.data; vc->vc_font.data = (void *)(p->fontdata = data); + old_userfont = p->userfont; if ((p->userfont = userfont)) REFCOUNT(data)++; + + old_width = vc->vc_font.width; + old_height = vc->vc_font.height; + old_charcount = vc->vc_font.charcount; + vc->vc_font.width = w; vc->vc_font.height = h; vc->vc_font.charcount = charcount; @@ -2428,7 +2427,9 @@ rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres); cols /= w; rows /= h; - vc_resize(vc, cols, rows); + ret = vc_resize(vc, cols, rows); + if (ret) + goto err_out; } else if (con_is_visible(vc) && vc->vc_mode == KD_TEXT) { fbcon_clear_margins(vc, 0); @@ -2438,6 +2439,22 @@ if (old_data && (--REFCOUNT(old_data) == 0)) kfree(old_data - FONT_EXTRA_WORDS * sizeof(int)); return 0; + +err_out: + p->fontdata = old_data; + vc->vc_font.data = (void *)old_data; + + if (userfont) { + p->userfont = old_userfont; + if (--REFCOUNT(data) == 0) + kfree(data - FONT_EXTRA_WORDS * sizeof(int)); + } + + vc->vc_font.width = old_width; + vc->vc_font.height = old_height; + vc->vc_font.charcount = old_charcount; + + return ret; } /* @@ -2474,9 +2491,12 @@ h > FBCON_SWAP(info->var.rotate, info->var.yres, info->var.xres)) return -EINVAL; + if (font->width > 32 || font->height > 32) + return -EINVAL; + /* Make sure drawing engine can handle the font */ - if (!(info->pixmap.blit_x & (1 << (font->width - 1))) || - !(info->pixmap.blit_y & (1 << (font->height - 1)))) + if (!(info->pixmap.blit_x & BIT(font->width - 1)) || + !(info->pixmap.blit_y & BIT(font->height - 1))) return -EINVAL; /* Make sure driver can handle the font length */ --- linux-gcp-5.19.0.orig/drivers/video/fbdev/core/fbmem.c +++ linux-gcp-5.19.0/drivers/video/fbdev/core/fbmem.c @@ -1452,6 +1452,10 @@ struct fb_info * const info = file->private_data; lock_fb_info(info); +#if IS_ENABLED(CONFIG_FB_DEFERRED_IO) + if (info->fbdefio) + fb_deferred_io_release(info); +#endif if (info->fbops->fb_release) info->fbops->fb_release(info,1); module_put(info->fbops->owner); --- linux-gcp-5.19.0.orig/drivers/video/fbdev/core/fbsysfs.c +++ linux-gcp-5.19.0/drivers/video/fbdev/core/fbsysfs.c @@ -84,6 +84,10 @@ if (WARN_ON(refcount_read(&info->count))) return; +#if IS_ENABLED(CONFIG_FB_BACKLIGHT) + mutex_destroy(&info->bl_curve_mutex); +#endif + kfree(info->apertures); kfree(info); } --- linux-gcp-5.19.0.orig/drivers/video/fbdev/ep93xx-fb.c +++ linux-gcp-5.19.0/drivers/video/fbdev/ep93xx-fb.c @@ -552,12 +552,14 @@ err = register_framebuffer(info); if (err) - goto failed_check; + goto failed_framebuffer; dev_info(info->dev, "registered. Mode = %dx%d-%d\n", info->var.xres, info->var.yres, info->var.bits_per_pixel); return 0; +failed_framebuffer: + clk_disable_unprepare(fbi->clk); failed_check: if (fbi->mach_info->teardown) fbi->mach_info->teardown(pdev); --- linux-gcp-5.19.0.orig/drivers/video/fbdev/geode/Kconfig +++ linux-gcp-5.19.0/drivers/video/fbdev/geode/Kconfig @@ -5,6 +5,7 @@ config FB_GEODE bool "AMD Geode family framebuffer support" depends on FB && PCI && (X86_32 || (X86 && COMPILE_TEST)) + depends on !UML help Say 'Y' here to allow you to select framebuffer drivers for the AMD Geode family of processors. --- linux-gcp-5.19.0.orig/drivers/video/fbdev/hyperv_fb.c +++ linux-gcp-5.19.0/drivers/video/fbdev/hyperv_fb.c @@ -783,12 +783,18 @@ static int hvfb_on_panic(struct notifier_block *nb, unsigned long e, void *p) { + struct hv_device *hdev; struct hvfb_par *par; struct fb_info *info; par = container_of(nb, struct hvfb_par, hvfb_panic_nb); - par->synchronous_fb = true; info = par->info; + hdev = device_to_hv_device(info->device); + + if (hv_ringbuffer_spinlock_busy(hdev->channel)) + return NOTIFY_DONE; + + par->synchronous_fb = true; if (par->need_docopy) hvfb_docopy(par, 0, dio_fb_size); synthvid_update(info, 0, 0, INT_MAX, INT_MAX); --- linux-gcp-5.19.0.orig/drivers/video/fbdev/i740fb.c +++ linux-gcp-5.19.0/drivers/video/fbdev/i740fb.c @@ -400,7 +400,7 @@ u32 xres, right, hslen, left, xtotal; u32 yres, lower, vslen, upper, ytotal; u32 vxres, xoffset, vyres, yoffset; - u32 bpp, base, dacspeed24, mem; + u32 bpp, base, dacspeed24, mem, freq; u8 r7; int i; @@ -643,7 +643,12 @@ par->atc[VGA_ATC_OVERSCAN] = 0; /* Calculate VCLK that most closely matches the requested dot clock */ - i740_calc_vclk((((u32)1e9) / var->pixclock) * (u32)(1e3), par); + freq = (((u32)1e9) / var->pixclock) * (u32)(1e3); + if (freq < I740_RFREQ_FIX) { + fb_dbg(info, "invalid pixclock\n"); + freq = I740_RFREQ_FIX; + } + i740_calc_vclk(freq, par); /* Since we program the clocks ourselves, always use VCLK2. */ par->misc |= 0x0C; --- linux-gcp-5.19.0.orig/drivers/video/fbdev/matrox/matroxfb_base.c +++ linux-gcp-5.19.0/drivers/video/fbdev/matrox/matroxfb_base.c @@ -1377,8 +1377,8 @@ .lowlevel = &matrox_G100 }; static struct video_board vbG200eW = { - .maxvram = 0x100000, - .maxdisplayable = 0x800000, + .maxvram = 0x1000000, + .maxdisplayable = 0x0800000, .accelID = FB_ACCEL_MATROX_MGAG200, .lowlevel = &matrox_G100 }; --- linux-gcp-5.19.0.orig/drivers/video/fbdev/offb.c +++ linux-gcp-5.19.0/drivers/video/fbdev/offb.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #ifdef CONFIG_PPC32 --- linux-gcp-5.19.0.orig/drivers/video/fbdev/omap/omapfb_main.c +++ linux-gcp-5.19.0/drivers/video/fbdev/omap/omapfb_main.c @@ -1643,14 +1643,14 @@ goto cleanup; } fbdev->int_irq = platform_get_irq(pdev, 0); - if (!fbdev->int_irq) { + if (fbdev->int_irq < 0) { dev_err(&pdev->dev, "unable to get irq\n"); r = ENXIO; goto cleanup; } fbdev->ext_irq = platform_get_irq(pdev, 1); - if (!fbdev->ext_irq) { + if (fbdev->ext_irq < 0) { dev_err(&pdev->dev, "unable to get irq\n"); r = ENXIO; goto cleanup; --- linux-gcp-5.19.0.orig/drivers/video/fbdev/omap2/omapfb/dss/dsi.c +++ linux-gcp-5.19.0/drivers/video/fbdev/omap2/omapfb/dss/dsi.c @@ -1538,22 +1538,28 @@ { struct dsi_data *dsi = dsi_get_dsidrv_data(dsidev); unsigned long flags; - struct dsi_irq_stats stats; + struct dsi_irq_stats *stats; + + stats = kzalloc(sizeof(*stats), GFP_KERNEL); + if (!stats) { + seq_printf(s, "out of memory\n"); + return; + } spin_lock_irqsave(&dsi->irq_stats_lock, flags); - stats = dsi->irq_stats; + *stats = dsi->irq_stats; memset(&dsi->irq_stats, 0, sizeof(dsi->irq_stats)); dsi->irq_stats.last_reset = jiffies; spin_unlock_irqrestore(&dsi->irq_stats_lock, flags); seq_printf(s, "period %u ms\n", - jiffies_to_msecs(jiffies - stats.last_reset)); + jiffies_to_msecs(jiffies - stats->last_reset)); - seq_printf(s, "irqs %d\n", stats.irq_count); + seq_printf(s, "irqs %d\n", stats->irq_count); #define PIS(x) \ - seq_printf(s, "%-20s %10d\n", #x, stats.dsi_irqs[ffs(DSI_IRQ_##x)-1]) + seq_printf(s, "%-20s %10d\n", #x, stats->dsi_irqs[ffs(DSI_IRQ_##x)-1]) seq_printf(s, "-- DSI%d interrupts --\n", dsi->module_id + 1); PIS(VC0); @@ -1577,10 +1583,10 @@ #define PIS(x) \ seq_printf(s, "%-20s %10d %10d %10d %10d\n", #x, \ - stats.vc_irqs[0][ffs(DSI_VC_IRQ_##x)-1], \ - stats.vc_irqs[1][ffs(DSI_VC_IRQ_##x)-1], \ - stats.vc_irqs[2][ffs(DSI_VC_IRQ_##x)-1], \ - stats.vc_irqs[3][ffs(DSI_VC_IRQ_##x)-1]); + stats->vc_irqs[0][ffs(DSI_VC_IRQ_##x)-1], \ + stats->vc_irqs[1][ffs(DSI_VC_IRQ_##x)-1], \ + stats->vc_irqs[2][ffs(DSI_VC_IRQ_##x)-1], \ + stats->vc_irqs[3][ffs(DSI_VC_IRQ_##x)-1]); seq_printf(s, "-- VC interrupts --\n"); PIS(CS); @@ -1596,7 +1602,7 @@ #define PIS(x) \ seq_printf(s, "%-20s %10d\n", #x, \ - stats.cio_irqs[ffs(DSI_CIO_IRQ_##x)-1]); + stats->cio_irqs[ffs(DSI_CIO_IRQ_##x)-1]); seq_printf(s, "-- CIO interrupts --\n"); PIS(ERRSYNCESC1); @@ -1620,6 +1626,8 @@ PIS(ULPSACTIVENOT_ALL0); PIS(ULPSACTIVENOT_ALL1); #undef PIS + + kfree(stats); } static void dsi1_dump_irqs(struct seq_file *s) --- linux-gcp-5.19.0.orig/drivers/video/fbdev/pm2fb.c +++ linux-gcp-5.19.0/drivers/video/fbdev/pm2fb.c @@ -617,6 +617,11 @@ return -EINVAL; } + if (!var->pixclock) { + DPRINTK("pixclock is zero\n"); + return -EINVAL; + } + if (PICOS2KHZ(var->pixclock) > PM2_MAX_PIXCLOCK) { DPRINTK("pixclock too high (%ldKHz)\n", PICOS2KHZ(var->pixclock)); @@ -1523,8 +1528,10 @@ } info = framebuffer_alloc(sizeof(struct pm2fb_par), &pdev->dev); - if (!info) - return -ENOMEM; + if (!info) { + err = -ENOMEM; + goto err_exit_disable; + } default_par = info->par; switch (pdev->device) { @@ -1705,6 +1712,8 @@ release_mem_region(pm2fb_fix.mmio_start, pm2fb_fix.mmio_len); err_exit_neither: framebuffer_release(info); + err_exit_disable: + pci_disable_device(pdev); return retval; } @@ -1729,6 +1738,7 @@ fb_dealloc_cmap(&info->cmap); kfree(info->pixmap.addr); framebuffer_release(info); + pci_disable_device(pdev); } static const struct pci_device_id pm2fb_id_table[] = { --- linux-gcp-5.19.0.orig/drivers/video/fbdev/s3fb.c +++ linux-gcp-5.19.0/drivers/video/fbdev/s3fb.c @@ -905,6 +905,8 @@ value = clamp((htotal + hsstart + 1) / 2 + 2, hsstart + 4, htotal + 1); svga_wcrt_multi(par->state.vgabase, s3_dtpc_regs, value); + if (screen_size > info->screen_size) + screen_size = info->screen_size; memset_io(info->screen_base, 0x00, screen_size); /* Device and screen back on */ svga_wcrt_mask(par->state.vgabase, 0x17, 0x80, 0x80); --- linux-gcp-5.19.0.orig/drivers/video/fbdev/sis/init.c +++ linux-gcp-5.19.0/drivers/video/fbdev/sis/init.c @@ -355,12 +355,12 @@ } break; case 400: - if((!(VBFlags & CRT1_LCDA)) || ((LCDwidth >= 800) && (LCDwidth >= 600))) { + if((!(VBFlags & CRT1_LCDA)) || ((LCDwidth >= 800) && (LCDheight >= 600))) { if(VDisplay == 300) ModeIndex = ModeIndex_400x300[Depth]; } break; case 512: - if((!(VBFlags & CRT1_LCDA)) || ((LCDwidth >= 1024) && (LCDwidth >= 768))) { + if((!(VBFlags & CRT1_LCDA)) || ((LCDwidth >= 1024) && (LCDheight >= 768))) { if(VDisplay == 384) ModeIndex = ModeIndex_512x384[Depth]; } break; --- linux-gcp-5.19.0.orig/drivers/video/fbdev/smscufx.c +++ linux-gcp-5.19.0/drivers/video/fbdev/smscufx.c @@ -97,7 +97,6 @@ struct kref kref; int fb_count; bool virtualized; /* true when physical usb device not present */ - struct delayed_work free_framebuffer_work; atomic_t usb_active; /* 0 = update virtual buffer, but no usb traffic */ atomic_t lost_pixels; /* 1 = a render op failed. Need screen refresh */ u8 *edid; /* null until we read edid from hw or get from sysfs */ @@ -137,6 +136,8 @@ static int ufx_alloc_urb_list(struct ufx_data *dev, int count, size_t size); static void ufx_free_urb_list(struct ufx_data *dev); +static DEFINE_MUTEX(disconnect_mutex); + /* reads a control register */ static int ufx_reg_read(struct ufx_data *dev, u32 index, u32 *data) { @@ -1071,9 +1072,13 @@ if (user == 0 && !console) return -EBUSY; + mutex_lock(&disconnect_mutex); + /* If the USB device is gone, we don't accept new opens */ - if (dev->virtualized) + if (dev->virtualized) { + mutex_unlock(&disconnect_mutex); return -ENODEV; + } dev->fb_count++; @@ -1097,6 +1102,8 @@ pr_debug("open /dev/fb%d user=%d fb_info=%p count=%d", info->node, user, info, dev->fb_count); + mutex_unlock(&disconnect_mutex); + return 0; } @@ -1109,15 +1116,24 @@ { struct ufx_data *dev = container_of(kref, struct ufx_data, kref); - /* this function will wait for all in-flight urbs to complete */ - if (dev->urbs.count > 0) - ufx_free_urb_list(dev); + kfree(dev); +} - pr_debug("freeing ufx_data %p", dev); +static void ufx_ops_destory(struct fb_info *info) +{ + struct ufx_data *dev = info->par; + int node = info->node; - kfree(dev); + /* Assume info structure is freed after this point */ + framebuffer_release(info); + + pr_debug("fb_info for /dev/fb%d has been freed", node); + + /* release reference taken by kref_init in probe() */ + kref_put(&dev->kref, ufx_free); } + static void ufx_release_urb_work(struct work_struct *work) { struct urb_node *unode = container_of(work, struct urb_node, @@ -1126,14 +1142,9 @@ up(&unode->dev->urbs.limit_sem); } -static void ufx_free_framebuffer_work(struct work_struct *work) +static void ufx_free_framebuffer(struct ufx_data *dev) { - struct ufx_data *dev = container_of(work, struct ufx_data, - free_framebuffer_work.work); struct fb_info *info = dev->info; - int node = info->node; - - unregister_framebuffer(info); if (info->cmap.len != 0) fb_dealloc_cmap(&info->cmap); @@ -1145,11 +1156,6 @@ dev->info = NULL; - /* Assume info structure is freed after this point */ - framebuffer_release(info); - - pr_debug("fb_info for /dev/fb%d has been freed", node); - /* ref taken in probe() as part of registering framebfufer */ kref_put(&dev->kref, ufx_free); } @@ -1161,11 +1167,13 @@ { struct ufx_data *dev = info->par; + mutex_lock(&disconnect_mutex); + dev->fb_count--; /* We can't free fb_info here - fbmem will touch it when we return */ if (dev->virtualized && (dev->fb_count == 0)) - schedule_delayed_work(&dev->free_framebuffer_work, HZ); + ufx_free_framebuffer(dev); if ((dev->fb_count == 0) && (info->fbdefio)) { fb_deferred_io_cleanup(info); @@ -1178,6 +1186,8 @@ kref_put(&dev->kref, ufx_free); + mutex_unlock(&disconnect_mutex); + return 0; } @@ -1284,6 +1294,7 @@ .fb_blank = ufx_ops_blank, .fb_check_var = ufx_ops_check_var, .fb_set_par = ufx_ops_set_par, + .fb_destroy = ufx_ops_destory, }; /* Assumes &info->lock held by caller @@ -1611,7 +1622,7 @@ struct usb_device *usbdev; struct ufx_data *dev; struct fb_info *info; - int retval; + int retval = -ENOMEM; u32 id_rev, fpga_rev; /* usb initialization */ @@ -1643,15 +1654,17 @@ if (!ufx_alloc_urb_list(dev, WRITES_IN_FLIGHT, MAX_TRANSFER)) { dev_err(dev->gdev, "ufx_alloc_urb_list failed\n"); - goto e_nomem; + goto put_ref; } /* We don't register a new USB class. Our client interface is fbdev */ /* allocates framebuffer driver structure, not framebuffer memory */ info = framebuffer_alloc(0, &usbdev->dev); - if (!info) - goto e_nomem; + if (!info) { + dev_err(dev->gdev, "framebuffer_alloc failed\n"); + goto free_urb_list; + } dev->info = info; info->par = dev; @@ -1665,9 +1678,6 @@ goto destroy_modedb; } - INIT_DELAYED_WORK(&dev->free_framebuffer_work, - ufx_free_framebuffer_work); - retval = ufx_reg_read(dev, 0x3000, &id_rev); check_warn_goto_error(retval, "error %d reading 0x3000 register from device", retval); dev_dbg(dev->gdev, "ID_REV register value 0x%08x", id_rev); @@ -1697,22 +1707,34 @@ check_warn_goto_error(retval, "unable to find common mode for display and adapter"); retval = ufx_reg_set_bits(dev, 0x4000, 0x00000001); - check_warn_goto_error(retval, "error %d enabling graphics engine", retval); + if (retval < 0) { + dev_err(dev->gdev, "error %d enabling graphics engine", retval); + goto setup_modes; + } /* ready to begin using device */ atomic_set(&dev->usb_active, 1); dev_dbg(dev->gdev, "checking var"); retval = ufx_ops_check_var(&info->var, info); - check_warn_goto_error(retval, "error %d ufx_ops_check_var", retval); + if (retval < 0) { + dev_err(dev->gdev, "error %d ufx_ops_check_var", retval); + goto reset_active; + } dev_dbg(dev->gdev, "setting par"); retval = ufx_ops_set_par(info); - check_warn_goto_error(retval, "error %d ufx_ops_set_par", retval); + if (retval < 0) { + dev_err(dev->gdev, "error %d ufx_ops_set_par", retval); + goto reset_active; + } dev_dbg(dev->gdev, "registering framebuffer"); retval = register_framebuffer(info); - check_warn_goto_error(retval, "error %d register_framebuffer", retval); + if (retval < 0) { + dev_err(dev->gdev, "error %d register_framebuffer", retval); + goto reset_active; + } dev_info(dev->gdev, "SMSC UDX USB device /dev/fb%d attached. %dx%d resolution." " Using %dK framebuffer memory\n", info->node, @@ -1720,28 +1742,34 @@ return 0; -error: - fb_dealloc_cmap(&info->cmap); -destroy_modedb: +reset_active: + atomic_set(&dev->usb_active, 0); +setup_modes: fb_destroy_modedb(info->monspecs.modedb); vfree(info->screen_base); fb_destroy_modelist(&info->modelist); +error: + fb_dealloc_cmap(&info->cmap); +destroy_modedb: framebuffer_release(info); +free_urb_list: + if (dev->urbs.count > 0) + ufx_free_urb_list(dev); put_ref: kref_put(&dev->kref, ufx_free); /* ref for framebuffer */ kref_put(&dev->kref, ufx_free); /* last ref from kref_init */ return retval; - -e_nomem: - retval = -ENOMEM; - goto put_ref; } static void ufx_usb_disconnect(struct usb_interface *interface) { struct ufx_data *dev; + struct fb_info *info; + + mutex_lock(&disconnect_mutex); dev = usb_get_intfdata(interface); + info = dev->info; pr_debug("USB disconnect starting\n"); @@ -1755,12 +1783,17 @@ /* if clients still have us open, will be freed on last close */ if (dev->fb_count == 0) - schedule_delayed_work(&dev->free_framebuffer_work, 0); + ufx_free_framebuffer(dev); - /* release reference taken by kref_init in probe() */ - kref_put(&dev->kref, ufx_free); + /* this function will wait for all in-flight urbs to complete */ + if (dev->urbs.count > 0) + ufx_free_urb_list(dev); + + pr_debug("freeing ufx_data %p", dev); + + unregister_framebuffer(info); - /* consider ufx_data freed */ + mutex_unlock(&disconnect_mutex); } static struct usb_driver ufx_driver = { --- linux-gcp-5.19.0.orig/drivers/video/fbdev/stifb.c +++ linux-gcp-5.19.0/drivers/video/fbdev/stifb.c @@ -1055,7 +1055,8 @@ { struct stifb_info *fb = container_of(info, struct stifb_info, info); - if (rect->rop != ROP_COPY) + if (rect->rop != ROP_COPY || + (fb->id == S9000_ID_HCRX && fb->info.var.bits_per_pixel == 32)) return cfb_fillrect(info, rect); SETUP_HW(fb); @@ -1298,7 +1299,7 @@ /* limit fbsize to max visible screen size */ if (fix->smem_len > yres*fix->line_length) - fix->smem_len = yres*fix->line_length; + fix->smem_len = ALIGN(yres*fix->line_length, 4*1024*1024); fix->accel = FB_ACCEL_NONE; --- linux-gcp-5.19.0.orig/drivers/video/fbdev/uvesafb.c +++ linux-gcp-5.19.0/drivers/video/fbdev/uvesafb.c @@ -1758,6 +1758,7 @@ out_unmap: iounmap(info->screen_base); out_mem: + arch_phys_wc_del(par->mtrr_handle); release_mem_region(info->fix.smem_start, info->fix.smem_len); out_reg: release_region(0x3c0, 32); --- linux-gcp-5.19.0.orig/drivers/video/fbdev/vermilion/vermilion.c +++ linux-gcp-5.19.0/drivers/video/fbdev/vermilion/vermilion.c @@ -277,8 +277,10 @@ mutex_unlock(&vml_mutex); - if (pci_enable_device(par->gpu) < 0) + if (pci_enable_device(par->gpu) < 0) { + pci_dev_put(par->gpu); return -ENODEV; + } return 0; } --- linux-gcp-5.19.0.orig/drivers/video/fbdev/via/via-core.c +++ linux-gcp-5.19.0/drivers/video/fbdev/via/via-core.c @@ -725,7 +725,14 @@ return ret; viafb_i2c_init(); viafb_gpio_init(); - return pci_register_driver(&via_driver); + ret = pci_register_driver(&via_driver); + if (ret) { + viafb_gpio_exit(); + viafb_i2c_exit(); + return ret; + } + + return 0; } static void __exit via_core_exit(void) --- linux-gcp-5.19.0.orig/drivers/video/fbdev/vt8623fb.c +++ linux-gcp-5.19.0/drivers/video/fbdev/vt8623fb.c @@ -507,6 +507,8 @@ (info->var.vmode & FB_VMODE_DOUBLE) ? 2 : 1, 1, 1, info->node); + if (screen_size > info->screen_size) + screen_size = info->screen_size; memset_io(info->screen_base, 0x00, screen_size); /* Device and screen back on */ --- linux-gcp-5.19.0.orig/drivers/virt/Kconfig +++ linux-gcp-5.19.0/drivers/virt/Kconfig @@ -52,4 +52,6 @@ source "drivers/virt/coco/sev-guest/Kconfig" +source "drivers/virt/coco/tdx-guest/Kconfig" + endif --- linux-gcp-5.19.0.orig/drivers/virt/Makefile +++ linux-gcp-5.19.0/drivers/virt/Makefile @@ -11,3 +11,4 @@ obj-$(CONFIG_ACRN_HSM) += acrn/ obj-$(CONFIG_EFI_SECRET) += coco/efi_secret/ obj-$(CONFIG_SEV_GUEST) += coco/sev-guest/ +obj-$(CONFIG_INTEL_TDX_GUEST) += coco/tdx-guest/ --- linux-gcp-5.19.0.orig/drivers/virt/coco/sev-guest/sev-guest.c +++ linux-gcp-5.19.0/drivers/virt/coco/sev-guest/sev-guest.c @@ -67,8 +67,27 @@ return true; } +/* + * If an error is received from the host or AMD Secure Processor (ASP) there + * are two options. Either retry the exact same encrypted request or discontinue + * using the VMPCK. + * + * This is because in the current encryption scheme GHCB v2 uses AES-GCM to + * encrypt the requests. The IV for this scheme is the sequence number. GCM + * cannot tolerate IV reuse. + * + * The ASP FW v1.51 only increments the sequence numbers on a successful + * guest<->ASP back and forth and only accepts messages at its exact sequence + * number. + * + * So if the sequence number were to be reused the encryption scheme is + * vulnerable. If the sequence number were incremented for a fresh IV the ASP + * will reject the request. + */ static void snp_disable_vmpck(struct snp_guest_dev *snp_dev) { + dev_alert(snp_dev->dev, "Disabling vmpck_id %d to prevent IV reuse.\n", + vmpck_id); memzero_explicit(snp_dev->vmpck, VMPCK_KEY_LEN); snp_dev->vmpck = NULL; } @@ -305,7 +324,7 @@ u8 type, void *req_buf, size_t req_sz, void *resp_buf, u32 resp_sz, __u64 *fw_err) { - unsigned long err; + unsigned long err = 0xff; u64 seqno; int rc; @@ -321,34 +340,94 @@ if (rc) return rc; - /* Call firmware to process the request */ +retry: + /* + * Call firmware to process the request. In this function the encrypted + * message enters shared memory with the host. So after this call the + * sequence number must be incremented or the VMPCK must be deleted to + * prevent reuse of the IV. + */ rc = snp_issue_guest_request(exit_code, &snp_dev->input, &err); + + /* + * The host may return SNP_GUEST_REQ_ERR_EBUSY if the request has been + * throttled. Retry in the driver to avoid returning and reusing the + * message sequence number on a different message. + */ + if (err == SNP_GUEST_REQ_ERR_BUSY) + goto retry; + + /* + * If the extended guest request fails due to having too small of a + * certificate data buffer, retry the same guest request without the + * extended data request in order to increment the sequence number + * and thus avoid IV reuse. + */ + if (exit_code == SVM_VMGEXIT_EXT_GUEST_REQUEST && + err == SNP_GUEST_REQ_INVALID_LEN) { + const unsigned int certs_npages = snp_dev->input.data_npages; + + exit_code = SVM_VMGEXIT_GUEST_REQUEST; + + /* + * If this call to the firmware succeeds, the sequence number can + * be incremented allowing for continued use of the VMPCK. If + * there is an error reflected in the return value, this value + * is checked further down and the result will be the deletion + * of the VMPCK and the error code being propagated back to the + * user as an ioctl() return code. + */ + rc = snp_issue_guest_request(exit_code, &snp_dev->input, &err); + + /* + * Override the error to inform callers the given extended + * request buffer size was too small and give the caller the + * required buffer size. + */ + err = SNP_GUEST_REQ_INVALID_LEN; + snp_dev->input.data_npages = certs_npages; + } + + /* + * Increment the message sequence number. There is no harm in doing + * this now because decryption uses the value stored in the response + * structure and any failure will wipe the VMPCK, preventing further + * use anyway. + */ + snp_inc_msg_seqno(snp_dev); + if (fw_err) *fw_err = err; - if (rc) - return rc; - /* - * The verify_and_dec_payload() will fail only if the hypervisor is - * actively modifying the message header or corrupting the encrypted payload. - * This hints that hypervisor is acting in a bad faith. Disable the VMPCK so that - * the key cannot be used for any communication. The key is disabled to ensure - * that AES-GCM does not use the same IV while encrypting the request payload. + * If an extended guest request was issued and the supplied certificate + * buffer was not large enough, a standard guest request was issued to + * prevent IV reuse. If the standard request was successful, return -EIO + * back to the caller as would have originally been returned. */ - rc = verify_and_dec_payload(snp_dev, resp_buf, resp_sz); + if (!rc && err == SNP_GUEST_REQ_INVALID_LEN) + return -EIO; + if (rc) { dev_alert(snp_dev->dev, - "Detected unexpected decode failure, disabling the vmpck_id %d\n", - vmpck_id); - snp_disable_vmpck(snp_dev); - return rc; + "Detected error from ASP request. rc: %d, fw_err: %llu\n", + rc, *fw_err); + goto disable_vmpck; } - /* Increment to new message sequence after payload decryption was successful. */ - snp_inc_msg_seqno(snp_dev); + rc = verify_and_dec_payload(snp_dev, resp_buf, resp_sz); + if (rc) { + dev_alert(snp_dev->dev, + "Detected unexpected decode failure from ASP. rc: %d\n", + rc); + goto disable_vmpck; + } return 0; + +disable_vmpck: + snp_disable_vmpck(snp_dev); + return rc; } static int get_report(struct snp_guest_dev *snp_dev, struct snp_guest_request_ioctl *arg) @@ -744,3 +823,4 @@ MODULE_LICENSE("GPL"); MODULE_VERSION("1.0.0"); MODULE_DESCRIPTION("AMD SEV Guest Driver"); +MODULE_ALIAS("platform:sev-guest"); --- linux-gcp-5.19.0.orig/drivers/virt/coco/tdx-guest/Kconfig +++ linux-gcp-5.19.0/drivers/virt/coco/tdx-guest/Kconfig @@ -0,0 +1,10 @@ +config TDX_GUEST_DRIVER + tristate "TDX Guest driver" + depends on INTEL_TDX_GUEST + help + The driver provides userspace interface to communicate with + the TDX module to request the TDX guest details like attestation + report. + + To compile this driver as module, choose M here. The module will + be called tdx-guest. --- linux-gcp-5.19.0.orig/drivers/virt/coco/tdx-guest/Makefile +++ linux-gcp-5.19.0/drivers/virt/coco/tdx-guest/Makefile @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: GPL-2.0 +obj-$(CONFIG_TDX_GUEST_DRIVER) += tdx-guest.o --- linux-gcp-5.19.0.orig/drivers/virt/coco/tdx-guest/tdx-guest.c +++ linux-gcp-5.19.0/drivers/virt/coco/tdx-guest/tdx-guest.c @@ -0,0 +1,102 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * TDX guest user interface driver + * + * Copyright (C) 2022 Intel Corporation + */ + +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include + +static long tdx_get_report0(struct tdx_report_req __user *req) +{ + u8 *reportdata, *tdreport; + long ret; + + reportdata = kmalloc(TDX_REPORTDATA_LEN, GFP_KERNEL); + if (!reportdata) + return -ENOMEM; + + tdreport = kzalloc(TDX_REPORT_LEN, GFP_KERNEL); + if (!tdreport) { + ret = -ENOMEM; + goto out; + } + + if (copy_from_user(reportdata, req->reportdata, TDX_REPORTDATA_LEN)) { + ret = -EFAULT; + goto out; + } + + /* Generate TDREPORT0 using "TDG.MR.REPORT" TDCALL */ + ret = tdx_mcall_get_report0(reportdata, tdreport); + if (ret) + goto out; + + if (copy_to_user(req->tdreport, tdreport, TDX_REPORT_LEN)) + ret = -EFAULT; + +out: + kfree(reportdata); + kfree(tdreport); + + return ret; +} + +static long tdx_guest_ioctl(struct file *file, unsigned int cmd, + unsigned long arg) +{ + switch (cmd) { + case TDX_CMD_GET_REPORT0: + return tdx_get_report0((struct tdx_report_req __user *)arg); + default: + return -ENOTTY; + } +} + +static const struct file_operations tdx_guest_fops = { + .owner = THIS_MODULE, + .unlocked_ioctl = tdx_guest_ioctl, + .llseek = no_llseek, +}; + +static struct miscdevice tdx_misc_dev = { + .name = KBUILD_MODNAME, + .minor = MISC_DYNAMIC_MINOR, + .fops = &tdx_guest_fops, +}; + +static const struct x86_cpu_id tdx_guest_ids[] = { + X86_MATCH_FEATURE(X86_FEATURE_TDX_GUEST, NULL), + {} +}; +MODULE_DEVICE_TABLE(x86cpu, tdx_guest_ids); + +static int __init tdx_guest_init(void) +{ + if (!x86_match_cpu(tdx_guest_ids)) + return -ENODEV; + + return misc_register(&tdx_misc_dev); +} +module_init(tdx_guest_init); + +static void __exit tdx_guest_exit(void) +{ + misc_deregister(&tdx_misc_dev); +} +module_exit(tdx_guest_exit); + +MODULE_AUTHOR("Kuppuswamy Sathyanarayanan "); +MODULE_DESCRIPTION("TDX Guest Driver"); +MODULE_LICENSE("GPL"); --- linux-gcp-5.19.0.orig/drivers/virt/vboxguest/vboxguest_linux.c +++ linux-gcp-5.19.0/drivers/virt/vboxguest/vboxguest_linux.c @@ -356,8 +356,8 @@ goto err_vbg_core_exit; } - ret = devm_request_irq(dev, pci->irq, vbg_core_isr, IRQF_SHARED, - DEVICE_NAME, gdev); + ret = request_irq(pci->irq, vbg_core_isr, IRQF_SHARED, DEVICE_NAME, + gdev); if (ret) { vbg_err("vboxguest: Error requesting irq: %d\n", ret); goto err_vbg_core_exit; @@ -367,7 +367,7 @@ if (ret) { vbg_err("vboxguest: Error misc_register %s failed: %d\n", DEVICE_NAME, ret); - goto err_vbg_core_exit; + goto err_free_irq; } ret = misc_register(&gdev->misc_device_user); @@ -403,6 +403,8 @@ misc_deregister(&gdev->misc_device_user); err_unregister_misc_device: misc_deregister(&gdev->misc_device); +err_free_irq: + free_irq(pci->irq, gdev); err_vbg_core_exit: vbg_core_exit(gdev); err_disable_pcidev: @@ -419,6 +421,7 @@ vbg_gdev = NULL; mutex_unlock(&vbg_gdev_mutex); + free_irq(pci->irq, gdev); device_remove_file(gdev->dev, &dev_attr_host_features); device_remove_file(gdev->dev, &dev_attr_host_version); misc_deregister(&gdev->misc_device_user); --- linux-gcp-5.19.0.orig/drivers/virtio/Kconfig +++ linux-gcp-5.19.0/drivers/virtio/Kconfig @@ -1,6 +1,10 @@ # SPDX-License-Identifier: GPL-2.0-only +config VIRTIO_ANCHOR + bool + config VIRTIO tristate + select VIRTIO_ANCHOR help This option is selected by any driver which implements the virtio bus, such as CONFIG_VIRTIO_PCI, CONFIG_VIRTIO_MMIO, CONFIG_RPMSG @@ -31,11 +35,12 @@ config VIRTIO_HARDEN_NOTIFICATION bool "Harden virtio notification" + depends on BROKEN help Enable this to harden the device notifications and suppress those that happen at a time where notifications are illegal. - Experimental: Note that several drivers still have bugs that + Experimental: Note that several drivers still have issues that may cause crashes or hangs when correct handling of notifications is enforced; depending on the subset of drivers and devices you use, this may or may not work. --- linux-gcp-5.19.0.orig/drivers/virtio/Makefile +++ linux-gcp-5.19.0/drivers/virtio/Makefile @@ -1,5 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 obj-$(CONFIG_VIRTIO) += virtio.o virtio_ring.o +obj-$(CONFIG_VIRTIO_ANCHOR) += virtio_anchor.o obj-$(CONFIG_VIRTIO_PCI_LIB) += virtio_pci_modern_dev.o obj-$(CONFIG_VIRTIO_PCI_LIB_LEGACY) += virtio_pci_legacy_dev.o obj-$(CONFIG_VIRTIO_MMIO) += virtio_mmio.o --- linux-gcp-5.19.0.orig/drivers/virtio/virtio.c +++ linux-gcp-5.19.0/drivers/virtio/virtio.c @@ -2,10 +2,10 @@ #include #include #include +#include #include #include #include -#include #include /* Unique numbering for virtio devices. */ @@ -174,7 +174,7 @@ might_sleep(); - if (platform_has(PLATFORM_VIRTIO_RESTRICTED_MEM_ACCESS)) { + if (virtio_check_mem_acc_cb(dev)) { if (!virtio_has_feature(dev, VIRTIO_F_VERSION_1)) { dev_warn(&dev->dev, "device must provide VIRTIO_F_VERSION_1\n"); --- linux-gcp-5.19.0.orig/drivers/virtio/virtio_anchor.c +++ linux-gcp-5.19.0/drivers/virtio/virtio_anchor.c @@ -0,0 +1,18 @@ +// SPDX-License-Identifier: GPL-2.0-only +#include +#include + +bool virtio_require_restricted_mem_acc(struct virtio_device *dev) +{ + return true; +} +EXPORT_SYMBOL_GPL(virtio_require_restricted_mem_acc); + +static bool virtio_no_restricted_mem_acc(struct virtio_device *dev) +{ + return false; +} + +bool (*virtio_check_mem_acc_cb)(struct virtio_device *dev) = + virtio_no_restricted_mem_acc; +EXPORT_SYMBOL_GPL(virtio_check_mem_acc_cb); --- linux-gcp-5.19.0.orig/drivers/virtio/virtio_pci_modern.c +++ linux-gcp-5.19.0/drivers/virtio/virtio_pci_modern.c @@ -196,7 +196,7 @@ int err; if (index >= vp_modern_get_num_queues(mdev)) - return ERR_PTR(-ENOENT); + return ERR_PTR(-EINVAL); /* Check if queue is either not available or already active. */ num = vp_modern_get_queue_size(mdev, index); --- linux-gcp-5.19.0.orig/drivers/vme/bridges/vme_fake.c +++ linux-gcp-5.19.0/drivers/vme/bridges/vme_fake.c @@ -1073,6 +1073,8 @@ /* We need a fake parent device */ vme_root = __root_device_register("vme", THIS_MODULE); + if (IS_ERR(vme_root)) + return PTR_ERR(vme_root); /* If we want to support more than one bridge at some point, we need to * dynamically allocate this so we get one per device. --- linux-gcp-5.19.0.orig/drivers/vme/bridges/vme_tsi148.c +++ linux-gcp-5.19.0/drivers/vme/bridges/vme_tsi148.c @@ -1765,6 +1765,7 @@ return 0; err_dma: + list_del(&entry->list); err_dest: err_source: err_align: --- linux-gcp-5.19.0.orig/drivers/w1/w1.c +++ linux-gcp-5.19.0/drivers/w1/w1.c @@ -1166,6 +1166,8 @@ /* remainder if it woke up early */ unsigned long jremain = 0; + atomic_inc(&dev->refcnt); + for (;;) { if (!jremain && dev->search_count) { @@ -1193,8 +1195,10 @@ */ mutex_unlock(&dev->list_mutex); - if (kthread_should_stop()) + if (kthread_should_stop()) { + __set_current_state(TASK_RUNNING); break; + } /* Only sleep when the search is active. */ if (dev->search_count) { --- linux-gcp-5.19.0.orig/drivers/w1/w1_int.c +++ linux-gcp-5.19.0/drivers/w1/w1_int.c @@ -51,10 +51,9 @@ dev->search_count = w1_search_count; dev->enable_pullup = w1_enable_pullup; - /* 1 for w1_process to decrement - * 1 for __w1_remove_master_device to decrement + /* For __w1_remove_master_device to decrement */ - atomic_set(&dev->refcnt, 2); + atomic_set(&dev->refcnt, 1); INIT_LIST_HEAD(&dev->slist); INIT_LIST_HEAD(&dev->async_list); --- linux-gcp-5.19.0.orig/drivers/watchdog/Kconfig +++ linux-gcp-5.19.0/drivers/watchdog/Kconfig @@ -1315,7 +1315,7 @@ config HP_WATCHDOG tristate "HP ProLiant iLO2+ Hardware Watchdog Timer" select WATCHDOG_CORE - depends on X86 && PCI + depends on (ARM64 || X86) && PCI help A software monitoring watchdog and NMI handling driver. This driver will detect lockups and provide a stack trace. This is a driver that @@ -1325,7 +1325,7 @@ config HPWDT_NMI_DECODING bool "NMI support for the HP ProLiant iLO2+ Hardware Watchdog Timer" - depends on HP_WATCHDOG + depends on X86 && HP_WATCHDOG default y help Enables the NMI handler for the watchdog pretimeout NMI and the iLO --- linux-gcp-5.19.0.orig/drivers/watchdog/armada_37xx_wdt.c +++ linux-gcp-5.19.0/drivers/watchdog/armada_37xx_wdt.c @@ -274,6 +274,8 @@ if (!res) return -ENODEV; dev->reg = devm_ioremap(&pdev->dev, res->start, resource_size(res)); + if (!dev->reg) + return -ENOMEM; /* init clock */ dev->clk = devm_clk_get(&pdev->dev, NULL); --- linux-gcp-5.19.0.orig/drivers/watchdog/diag288_wdt.c +++ linux-gcp-5.19.0/drivers/watchdog/diag288_wdt.c @@ -86,7 +86,7 @@ "1:\n" EX_TABLE(0b, 1b) : "+d" (err) : "d"(__func), "d"(__timeout), - "d"(__action), "d"(__len) : "1", "cc"); + "d"(__action), "d"(__len) : "1", "cc", "memory"); return err; } @@ -268,12 +268,21 @@ char ebc_begin[] = { 194, 197, 199, 201, 213 }; + char *ebc_cmd; watchdog_set_nowayout(&wdt_dev, nowayout_info); if (MACHINE_IS_VM) { - if (__diag288_vm(WDT_FUNC_INIT, 15, - ebc_begin, sizeof(ebc_begin)) != 0) { + ebc_cmd = kmalloc(sizeof(ebc_begin), GFP_KERNEL); + if (!ebc_cmd) { + pr_err("The watchdog cannot be initialized\n"); + return -ENOMEM; + } + memcpy(ebc_cmd, ebc_begin, sizeof(ebc_begin)); + ret = __diag288_vm(WDT_FUNC_INIT, 15, + ebc_cmd, sizeof(ebc_begin)); + kfree(ebc_cmd); + if (ret != 0) { pr_err("The watchdog cannot be initialized\n"); return -EINVAL; } --- linux-gcp-5.19.0.orig/drivers/watchdog/f71808e_wdt.c +++ linux-gcp-5.19.0/drivers/watchdog/f71808e_wdt.c @@ -634,7 +634,9 @@ pdata.type = ret; - platform_driver_register(&fintek_wdt_driver); + ret = platform_driver_register(&fintek_wdt_driver); + if (ret) + return ret; wdt_res.name = "superio port"; wdt_res.flags = IORESOURCE_IO; --- linux-gcp-5.19.0.orig/drivers/watchdog/hpwdt.c +++ linux-gcp-5.19.0/drivers/watchdog/hpwdt.c @@ -20,7 +20,9 @@ #include #include #include +#ifdef CONFIG_HPWDT_NMI_DECODING #include +#endif #include #define HPWDT_VERSION "2.0.4" --- linux-gcp-5.19.0.orig/drivers/watchdog/iTCO_wdt.c +++ linux-gcp-5.19.0/drivers/watchdog/iTCO_wdt.c @@ -423,14 +423,18 @@ return time_left; } -static void iTCO_wdt_set_running(struct iTCO_wdt_private *p) +/* Returns true if the watchdog was running */ +static bool iTCO_wdt_set_running(struct iTCO_wdt_private *p) { u16 val; - /* Bit 11: TCO Timer Halt -> 0 = The TCO timer is * enabled */ + /* Bit 11: TCO Timer Halt -> 0 = The TCO timer is enabled */ val = inw(TCO1_CNT(p)); - if (!(val & BIT(11))) + if (!(val & BIT(11))) { set_bit(WDOG_HW_RUNNING, &p->wddev.status); + return true; + } + return false; } /* @@ -518,9 +522,6 @@ return -ENODEV; /* Cannot reset NO_REBOOT bit */ } - /* Set the NO_REBOOT bit to prevent later reboots, just for sure */ - p->update_no_reboot_bit(p->no_reboot_priv, true); - if (turn_SMI_watchdog_clear_off >= p->iTCO_version) { /* * Bit 13: TCO_EN -> 0 @@ -572,7 +573,13 @@ watchdog_set_drvdata(&p->wddev, p); platform_set_drvdata(pdev, p); - iTCO_wdt_set_running(p); + if (!iTCO_wdt_set_running(p)) { + /* + * If the watchdog was not running set NO_REBOOT now to + * prevent later reboots. + */ + p->update_no_reboot_bit(p->no_reboot_priv, true); + } /* Check that the heartbeat value is within it's range; if not reset to the default */ --- linux-gcp-5.19.0.orig/drivers/watchdog/sp5100_tco.c +++ linux-gcp-5.19.0/drivers/watchdog/sp5100_tco.c @@ -402,6 +402,7 @@ iounmap(addr); release_resource(res); + kfree(res); return ret; } --- linux-gcp-5.19.0.orig/drivers/xen/Kconfig +++ linux-gcp-5.19.0/drivers/xen/Kconfig @@ -355,4 +355,13 @@ If in doubt, say n. +config XEN_VIRTIO_FORCE_GRANT + bool "Require Xen virtio support to use grants" + depends on XEN_VIRTIO + help + Require virtio for Xen guests to use grant mappings. + This will avoid the need to give the backend the right to map all + of the guest memory. This will need support on the backend side + (e.g. qemu or kernel, depending on the virtio device types used). + endmenu --- linux-gcp-5.19.0.orig/drivers/xen/gntdev-common.h +++ linux-gcp-5.19.0/drivers/xen/gntdev-common.h @@ -44,9 +44,10 @@ }; struct gntdev_grant_map { + atomic_t in_use; struct mmu_interval_notifier notifier; + bool notifier_init; struct list_head next; - struct vm_area_struct *vma; int index; int count; int flags; --- linux-gcp-5.19.0.orig/drivers/xen/gntdev.c +++ linux-gcp-5.19.0/drivers/xen/gntdev.c @@ -286,6 +286,9 @@ */ } + if (use_ptemod && map->notifier_init) + mmu_interval_notifier_remove(&map->notifier); + if (map->notify.flags & UNMAP_NOTIFY_SEND_EVENT) { notify_remote_via_evtchn(map->notify.event); evtchn_put(map->notify.event); @@ -298,7 +301,7 @@ static int find_grant_ptes(pte_t *pte, unsigned long addr, void *data) { struct gntdev_grant_map *map = data; - unsigned int pgnr = (addr - map->vma->vm_start) >> PAGE_SHIFT; + unsigned int pgnr = (addr - map->pages_vm_start) >> PAGE_SHIFT; int flags = map->flags | GNTMAP_application_map | GNTMAP_contains_pte | (1 << _GNTMAP_guest_avail0); u64 pte_maddr; @@ -367,8 +370,7 @@ for (i = 0; i < map->count; i++) { if (map->map_ops[i].status == GNTST_okay) { map->unmap_ops[i].handle = map->map_ops[i].handle; - if (!use_ptemod) - alloced++; + alloced++; } else if (!err) err = -EINVAL; @@ -377,8 +379,7 @@ if (use_ptemod) { if (map->kmap_ops[i].status == GNTST_okay) { - if (map->map_ops[i].status == GNTST_okay) - alloced++; + alloced++; map->kunmap_ops[i].handle = map->kmap_ops[i].handle; } else if (!err) err = -EINVAL; @@ -394,8 +395,14 @@ unsigned int i; struct gntdev_grant_map *map = data->data; unsigned int offset = data->unmap_ops - map->unmap_ops; + int successful_unmaps = 0; + int live_grants; for (i = 0; i < data->count; i++) { + if (map->unmap_ops[offset + i].status == GNTST_okay && + map->unmap_ops[offset + i].handle != INVALID_GRANT_HANDLE) + successful_unmaps++; + WARN_ON(map->unmap_ops[offset + i].status != GNTST_okay && map->unmap_ops[offset + i].handle != INVALID_GRANT_HANDLE); pr_debug("unmap handle=%d st=%d\n", @@ -403,6 +410,10 @@ map->unmap_ops[offset+i].status); map->unmap_ops[offset+i].handle = INVALID_GRANT_HANDLE; if (use_ptemod) { + if (map->kunmap_ops[offset + i].status == GNTST_okay && + map->kunmap_ops[offset + i].handle != INVALID_GRANT_HANDLE) + successful_unmaps++; + WARN_ON(map->kunmap_ops[offset + i].status != GNTST_okay && map->kunmap_ops[offset + i].handle != INVALID_GRANT_HANDLE); pr_debug("kunmap handle=%u st=%d\n", @@ -411,11 +422,15 @@ map->kunmap_ops[offset+i].handle = INVALID_GRANT_HANDLE; } } + /* * Decrease the live-grant counter. This must happen after the loop to * prevent premature reuse of the grants by gnttab_mmap(). */ - atomic_sub(data->count, &map->live_grants); + live_grants = atomic_sub_return(successful_unmaps, &map->live_grants); + if (WARN_ON(live_grants < 0)) + pr_err("%s: live_grants became negative (%d) after unmapping %d pages!\n", + __func__, live_grants, successful_unmaps); /* Release reference taken by __unmap_grant_pages */ gntdev_put_map(NULL, map); @@ -496,11 +511,7 @@ struct gntdev_priv *priv = file->private_data; pr_debug("gntdev_vma_close %p\n", vma); - if (use_ptemod) { - WARN_ON(map->vma != vma); - mmu_interval_notifier_remove(&map->notifier); - map->vma = NULL; - } + vma->vm_private_data = NULL; gntdev_put_map(priv, map); } @@ -528,29 +539,30 @@ struct gntdev_grant_map *map = container_of(mn, struct gntdev_grant_map, notifier); unsigned long mstart, mend; + unsigned long map_start, map_end; if (!mmu_notifier_range_blockable(range)) return false; + map_start = map->pages_vm_start; + map_end = map->pages_vm_start + (map->count << PAGE_SHIFT); + /* * If the VMA is split or otherwise changed the notifier is not * updated, but we don't want to process VA's outside the modified * VMA. FIXME: It would be much more understandable to just prevent * modifying the VMA in the first place. */ - if (map->vma->vm_start >= range->end || - map->vma->vm_end <= range->start) + if (map_start >= range->end || map_end <= range->start) return true; - mstart = max(range->start, map->vma->vm_start); - mend = min(range->end, map->vma->vm_end); + mstart = max(range->start, map_start); + mend = min(range->end, map_end); pr_debug("map %d+%d (%lx %lx), range %lx %lx, mrange %lx %lx\n", - map->index, map->count, - map->vma->vm_start, map->vma->vm_end, - range->start, range->end, mstart, mend); - unmap_grant_pages(map, - (mstart - map->vma->vm_start) >> PAGE_SHIFT, - (mend - mstart) >> PAGE_SHIFT); + map->index, map->count, map_start, map_end, + range->start, range->end, mstart, mend); + unmap_grant_pages(map, (mstart - map_start) >> PAGE_SHIFT, + (mend - mstart) >> PAGE_SHIFT); return true; } @@ -1030,18 +1042,15 @@ return -EINVAL; pr_debug("map %d+%d at %lx (pgoff %lx)\n", - index, count, vma->vm_start, vma->vm_pgoff); + index, count, vma->vm_start, vma->vm_pgoff); mutex_lock(&priv->lock); map = gntdev_find_map_index(priv, index, count); if (!map) goto unlock_out; - if (use_ptemod && map->vma) + if (!atomic_add_unless(&map->in_use, 1, 1)) goto unlock_out; - if (atomic_read(&map->live_grants)) { - err = -EAGAIN; - goto unlock_out; - } + refcount_inc(&map->users); vma->vm_ops = &gntdev_vmops; @@ -1062,15 +1071,16 @@ map->flags |= GNTMAP_readonly; } + map->pages_vm_start = vma->vm_start; + if (use_ptemod) { - map->vma = vma; err = mmu_interval_notifier_insert_locked( &map->notifier, vma->vm_mm, vma->vm_start, vma->vm_end - vma->vm_start, &gntdev_mmu_ops); - if (err) { - map->vma = NULL; + if (err) goto out_unlock_put; - } + + map->notifier_init = true; } mutex_unlock(&priv->lock); @@ -1087,7 +1097,6 @@ */ mmu_interval_read_begin(&map->notifier); - map->pages_vm_start = vma->vm_start; err = apply_to_page_range(vma->vm_mm, vma->vm_start, vma->vm_end - vma->vm_start, find_grant_ptes, map); @@ -1116,13 +1125,8 @@ out_unlock_put: mutex_unlock(&priv->lock); out_put_map: - if (use_ptemod) { + if (use_ptemod) unmap_grant_pages(map, 0, map->count); - if (map->vma) { - mmu_interval_notifier_remove(&map->notifier); - map->vma = NULL; - } - } gntdev_put_map(priv, map); return err; } --- linux-gcp-5.19.0.orig/drivers/xen/grant-dma-ops.c +++ linux-gcp-5.19.0/drivers/xen/grant-dma-ops.c @@ -12,6 +12,8 @@ #include #include #include +#include +#include #include #include #include @@ -287,6 +289,14 @@ return has_iommu; } +bool xen_virtio_mem_acc(struct virtio_device *dev) +{ + if (IS_ENABLED(CONFIG_XEN_VIRTIO_FORCE_GRANT)) + return true; + + return xen_is_grant_dma_device(dev->dev.parent); +} + void xen_grant_setup_dma_ops(struct device *dev) { struct xen_grant_dma_data *data; --- linux-gcp-5.19.0.orig/drivers/xen/grant-table.c +++ linux-gcp-5.19.0/drivers/xen/grant-table.c @@ -1047,6 +1047,9 @@ size_t size; int i, ret; + if (args->nr_pages < 0 || args->nr_pages > (INT_MAX >> PAGE_SHIFT)) + return -ENOMEM; + size = args->nr_pages << PAGE_SHIFT; if (args->coherent) args->vaddr = dma_alloc_coherent(args->dev, size, --- linux-gcp-5.19.0.orig/drivers/xen/pcpu.c +++ linux-gcp-5.19.0/drivers/xen/pcpu.c @@ -228,7 +228,7 @@ err = device_register(dev); if (err) { - pcpu_release(dev); + put_device(dev); return err; } --- linux-gcp-5.19.0.orig/drivers/xen/platform-pci.c +++ linux-gcp-5.19.0/drivers/xen/platform-pci.c @@ -144,7 +144,7 @@ if (ret) { dev_warn(&pdev->dev, "Unable to set the evtchn callback " "err=%d\n", ret); - goto out; + goto irq_out; } } @@ -152,13 +152,16 @@ grant_frames = alloc_xen_mmio(PAGE_SIZE * max_nr_gframes); ret = gnttab_setup_auto_xlat_frames(grant_frames); if (ret) - goto out; + goto irq_out; ret = gnttab_init(); if (ret) goto grant_out; return 0; grant_out: gnttab_free_auto_xlat_frames(); +irq_out: + if (!xen_have_vector_callback) + free_irq(pdev->irq, pdev); out: pci_release_region(pdev, 0); mem_out: --- linux-gcp-5.19.0.orig/drivers/xen/privcmd.c +++ linux-gcp-5.19.0/drivers/xen/privcmd.c @@ -581,27 +581,30 @@ struct privcmd_dm_op_buf kbufs[], unsigned int num, struct page *pages[], unsigned int nr_pages, unsigned int *pinned) { - unsigned int i; + unsigned int i, off = 0; - for (i = 0; i < num; i++) { + for (i = 0; i < num; ) { unsigned int requested; int page_count; requested = DIV_ROUND_UP( offset_in_page(kbufs[i].uptr) + kbufs[i].size, - PAGE_SIZE); + PAGE_SIZE) - off; if (requested > nr_pages) return -ENOSPC; page_count = pin_user_pages_fast( - (unsigned long) kbufs[i].uptr, + (unsigned long)kbufs[i].uptr + off * PAGE_SIZE, requested, FOLL_WRITE, pages); - if (page_count < 0) - return page_count; + if (page_count <= 0) + return page_count ? : -EFAULT; *pinned += page_count; nr_pages -= page_count; pages += page_count; + + off = (requested == page_count) ? 0 : off + page_count; + i += !off; } return 0; @@ -677,10 +680,8 @@ } rc = lock_pages(kbufs, kdata.num, pages, nr_pages, &pinned); - if (rc < 0) { - nr_pages = pinned; + if (rc < 0) goto out; - } for (i = 0; i < kdata.num; i++) { set_xen_guest_handle(xbufs[i].h, kbufs[i].uptr); @@ -692,7 +693,7 @@ xen_preemptible_hcall_end(); out: - unlock_pages(pages, nr_pages); + unlock_pages(pages, pinned); kfree(xbufs); kfree(pages); kfree(kbufs); @@ -759,7 +760,7 @@ goto out; } - pfns = kcalloc(kdata.num, sizeof(*pfns), GFP_KERNEL); + pfns = kcalloc(kdata.num, sizeof(*pfns), GFP_KERNEL | __GFP_NOWARN); if (!pfns) { rc = -ENOMEM; goto out; --- linux-gcp-5.19.0.orig/drivers/xen/pvcalls-back.c +++ linux-gcp-5.19.0/drivers/xen/pvcalls-back.c @@ -129,13 +129,13 @@ if (masked_prod < masked_cons) { vec[0].iov_base = data->in + masked_prod; vec[0].iov_len = wanted; - iov_iter_kvec(&msg.msg_iter, WRITE, vec, 1, wanted); + iov_iter_kvec(&msg.msg_iter, READ, vec, 1, wanted); } else { vec[0].iov_base = data->in + masked_prod; vec[0].iov_len = array_size - masked_prod; vec[1].iov_base = data->in; vec[1].iov_len = wanted - vec[0].iov_len; - iov_iter_kvec(&msg.msg_iter, WRITE, vec, 2, wanted); + iov_iter_kvec(&msg.msg_iter, READ, vec, 2, wanted); } atomic_set(&map->read, 0); @@ -188,13 +188,13 @@ if (pvcalls_mask(prod, array_size) > pvcalls_mask(cons, array_size)) { vec[0].iov_base = data->out + pvcalls_mask(cons, array_size); vec[0].iov_len = size; - iov_iter_kvec(&msg.msg_iter, READ, vec, 1, size); + iov_iter_kvec(&msg.msg_iter, WRITE, vec, 1, size); } else { vec[0].iov_base = data->out + pvcalls_mask(cons, array_size); vec[0].iov_len = array_size - pvcalls_mask(cons, array_size); vec[1].iov_base = data->out; vec[1].iov_len = size - vec[0].iov_len; - iov_iter_kvec(&msg.msg_iter, READ, vec, 2, size); + iov_iter_kvec(&msg.msg_iter, WRITE, vec, 2, size); } atomic_set(&map->write, 0); --- linux-gcp-5.19.0.orig/drivers/xen/xen-pciback/conf_space_capability.c +++ linux-gcp-5.19.0/drivers/xen/xen-pciback/conf_space_capability.c @@ -190,13 +190,16 @@ }; static struct msi_msix_field_config { - u16 enable_bit; /* bit for enabling MSI/MSI-X */ - unsigned int int_type; /* interrupt type for exclusiveness check */ + u16 enable_bit; /* bit for enabling MSI/MSI-X */ + u16 allowed_bits; /* bits allowed to be changed */ + unsigned int int_type; /* interrupt type for exclusiveness check */ } msi_field_config = { .enable_bit = PCI_MSI_FLAGS_ENABLE, + .allowed_bits = PCI_MSI_FLAGS_ENABLE, .int_type = INTERRUPT_TYPE_MSI, }, msix_field_config = { .enable_bit = PCI_MSIX_FLAGS_ENABLE, + .allowed_bits = PCI_MSIX_FLAGS_ENABLE | PCI_MSIX_FLAGS_MASKALL, .int_type = INTERRUPT_TYPE_MSIX, }; @@ -229,7 +232,7 @@ return 0; if (!dev_data->allow_interrupt_control || - (new_value ^ old_value) & ~field_config->enable_bit) + (new_value ^ old_value) & ~field_config->allowed_bits) return PCIBIOS_SET_FAILED; if (new_value & field_config->enable_bit) { --- linux-gcp-5.19.0.orig/drivers/xen/xenbus/xenbus_client.c +++ linux-gcp-5.19.0/drivers/xen/xenbus/xenbus_client.c @@ -382,9 +382,10 @@ unsigned long ring_size = nr_pages * XEN_PAGE_SIZE; grant_ref_t gref_head; unsigned int i; + void *addr; int ret; - *vaddr = alloc_pages_exact(ring_size, gfp | __GFP_ZERO); + addr = *vaddr = alloc_pages_exact(ring_size, gfp | __GFP_ZERO); if (!*vaddr) { ret = -ENOMEM; goto err; @@ -401,13 +402,15 @@ unsigned long gfn; if (is_vmalloc_addr(*vaddr)) - gfn = pfn_to_gfn(vmalloc_to_pfn(vaddr[i])); + gfn = pfn_to_gfn(vmalloc_to_pfn(addr)); else - gfn = virt_to_gfn(vaddr[i]); + gfn = virt_to_gfn(addr); grefs[i] = gnttab_claim_grant_reference(&gref_head); gnttab_grant_foreign_access_ref(grefs[i], dev->otherend_id, gfn, 0); + + addr += XEN_PAGE_SIZE; } return 0; --- linux-gcp-5.19.0.orig/drivers/xen/xenbus/xenbus_dev_frontend.c +++ linux-gcp-5.19.0/drivers/xen/xenbus/xenbus_dev_frontend.c @@ -128,7 +128,7 @@ { struct xenbus_file_priv *u = filp->private_data; struct read_buffer *rb; - unsigned i; + ssize_t i; int ret; mutex_lock(&u->reply_mutex); @@ -148,7 +148,7 @@ rb = list_entry(u->read_buffers.next, struct read_buffer, list); i = 0; while (i < len) { - unsigned sz = min((unsigned)len - i, rb->len - rb->cons); + size_t sz = min_t(size_t, len - i, rb->len - rb->cons); ret = copy_to_user(ubuf + i, &rb->msg[rb->cons], sz); --- linux-gcp-5.19.0.orig/fs/Kconfig +++ linux-gcp-5.19.0/fs/Kconfig @@ -128,6 +128,24 @@ source "fs/fuse/Kconfig" source "fs/overlayfs/Kconfig" +config SHIFT_FS + tristate "UID/GID shifting overlay filesystem for containers" + help + This filesystem can overlay any mounted filesystem and shift + the uid/gid the files appear at. The idea is that + unprivileged containers can use this to mount root volumes + using this technique. + +config SHIFT_FS_POSIX_ACL + bool "shiftfs POSIX Access Control Lists" + depends on SHIFT_FS + select FS_POSIX_ACL + help + POSIX Access Control Lists (ACLs) support permissions for users and + groups beyond the owner/group/world scheme. + + If you don't know what Access Control Lists are, say N. + menu "Caches" source "fs/netfs/Kconfig" --- linux-gcp-5.19.0.orig/fs/Makefile +++ linux-gcp-5.19.0/fs/Makefile @@ -34,8 +34,6 @@ obj-$(CONFIG_EVENTFD) += eventfd.o obj-$(CONFIG_USERFAULTFD) += userfaultfd.o obj-$(CONFIG_AIO) += aio.o -obj-$(CONFIG_IO_URING) += io_uring.o -obj-$(CONFIG_IO_WQ) += io-wq.o obj-$(CONFIG_FS_DAX) += dax.o obj-$(CONFIG_FS_ENCRYPTION) += crypto/ obj-$(CONFIG_FS_VERITY) += verity/ @@ -140,3 +138,4 @@ obj-$(CONFIG_EROFS_FS) += erofs/ obj-$(CONFIG_VBOXSF_FS) += vboxsf/ obj-$(CONFIG_ZONEFS_FS) += zonefs/ +obj-$(CONFIG_SHIFT_FS) += shiftfs.o --- linux-gcp-5.19.0.orig/fs/affs/file.c +++ linux-gcp-5.19.0/fs/affs/file.c @@ -884,7 +884,7 @@ if (inode->i_size > AFFS_I(inode)->mmu_private) { struct address_space *mapping = inode->i_mapping; struct page *page; - void *fsdata; + void *fsdata = NULL; loff_t isize = inode->i_size; int res; --- linux-gcp-5.19.0.orig/fs/afs/flock.c +++ linux-gcp-5.19.0/fs/afs/flock.c @@ -76,7 +76,7 @@ if (call->error == 0) { spin_lock(&vnode->lock); trace_afs_flock_ev(vnode, NULL, afs_flock_timestamp, 0); - vnode->locked_at = call->reply_time; + vnode->locked_at = call->issue_time; afs_schedule_lock_extension(vnode); spin_unlock(&vnode->lock); } --- linux-gcp-5.19.0.orig/fs/afs/fs_probe.c +++ linux-gcp-5.19.0/fs/afs/fs_probe.c @@ -167,8 +167,8 @@ clear_bit(AFS_SERVER_FL_HAS_FS64, &server->flags); } - if (rxrpc_kernel_get_srtt(call->net->socket, call->rxcall, &rtt_us) && - rtt_us < server->probe.rtt) { + rxrpc_kernel_get_srtt(call->net->socket, call->rxcall, &rtt_us); + if (rtt_us < server->probe.rtt) { server->probe.rtt = rtt_us; server->rtt = rtt_us; alist->preferred = index; @@ -366,12 +366,15 @@ unsigned long nowj, timer_at, poll_at; bool first_pass = true, set_timer = false; - if (!net->live) + if (!net->live) { + afs_dec_servers_outstanding(net); return; + } _enter(""); if (list_empty(&net->fs_probe_fast) && list_empty(&net->fs_probe_slow)) { + afs_dec_servers_outstanding(net); _leave(" [none]"); return; } --- linux-gcp-5.19.0.orig/fs/afs/fsclient.c +++ linux-gcp-5.19.0/fs/afs/fsclient.c @@ -131,7 +131,7 @@ static time64_t xdr_decode_expiry(struct afs_call *call, u32 expiry) { - return ktime_divns(call->reply_time, NSEC_PER_SEC) + expiry; + return ktime_divns(call->issue_time, NSEC_PER_SEC) + expiry; } static void xdr_decode_AFSCallBack(const __be32 **_bp, --- linux-gcp-5.19.0.orig/fs/afs/internal.h +++ linux-gcp-5.19.0/fs/afs/internal.h @@ -137,7 +137,6 @@ bool need_attention; /* T if RxRPC poked us */ bool async; /* T if asynchronous */ bool upgrade; /* T to request service upgrade */ - bool have_reply_time; /* T if have got reply_time */ bool intr; /* T if interruptible */ bool unmarshalling_error; /* T if an unmarshalling error occurred */ u16 service_id; /* Actual service ID (after upgrade) */ @@ -151,7 +150,7 @@ } __attribute__((packed)); __be64 tmp64; }; - ktime_t reply_time; /* Time of first reply packet */ + ktime_t issue_time; /* Time of issue of operation */ }; struct afs_call_type { --- linux-gcp-5.19.0.orig/fs/afs/rxrpc.c +++ linux-gcp-5.19.0/fs/afs/rxrpc.c @@ -347,6 +347,7 @@ if (call->max_lifespan) rxrpc_kernel_set_max_life(call->net->socket, rxcall, call->max_lifespan); + call->issue_time = ktime_get_real(); /* send the request */ iov[0].iov_base = call->request; @@ -497,12 +498,6 @@ return; } - if (!call->have_reply_time && - rxrpc_kernel_get_reply_time(call->net->socket, - call->rxcall, - &call->reply_time)) - call->have_reply_time = true; - ret = call->type->deliver(call); state = READ_ONCE(call->state); if (ret == 0 && call->unmarshalling_error) --- linux-gcp-5.19.0.orig/fs/afs/yfsclient.c +++ linux-gcp-5.19.0/fs/afs/yfsclient.c @@ -232,8 +232,7 @@ struct afs_callback *cb = &scb->callback; ktime_t cb_expiry; - cb_expiry = call->reply_time; - cb_expiry = ktime_add(cb_expiry, xdr_to_u64(x->expiration_time) * 100); + cb_expiry = ktime_add(call->issue_time, xdr_to_u64(x->expiration_time) * 100); cb->expires_at = ktime_divns(cb_expiry, NSEC_PER_SEC); scb->have_cb = true; *_bp += xdr_size(x); --- linux-gcp-5.19.0.orig/fs/aio.c +++ linux-gcp-5.19.0/fs/aio.c @@ -361,6 +361,9 @@ spin_lock(&mm->ioctx_lock); rcu_read_lock(); table = rcu_dereference(mm->ioctx_table); + if (!table) + goto out_unlock; + for (i = 0; i < table->nr; i++) { struct kioctx *ctx; @@ -374,6 +377,7 @@ } } +out_unlock: rcu_read_unlock(); spin_unlock(&mm->ioctx_lock); return res; --- linux-gcp-5.19.0.orig/fs/attr.c +++ linux-gcp-5.19.0/fs/attr.c @@ -184,6 +184,8 @@ */ int inode_newsize_ok(const struct inode *inode, loff_t offset) { + if (offset < 0) + return -EINVAL; if (inode->i_size < offset) { unsigned long limit; --- linux-gcp-5.19.0.orig/fs/binfmt_elf.c +++ linux-gcp-5.19.0/fs/binfmt_elf.c @@ -911,7 +911,7 @@ interp_elf_ex = kmalloc(sizeof(*interp_elf_ex), GFP_KERNEL); if (!interp_elf_ex) { retval = -ENOMEM; - goto out_free_ph; + goto out_free_file; } /* Get the exec headers */ @@ -1354,6 +1354,7 @@ out_free_dentry: kfree(interp_elf_ex); kfree(interp_elf_phdata); +out_free_file: allow_write_access(interpreter); if (interpreter) fput(interpreter); @@ -2208,7 +2209,7 @@ * The number of segs are recored into ELF header as 16bit value. * Please check DEFAULT_MAX_MAP_COUNT definition when you modify here. */ - segs = cprm->vma_count + elf_core_extra_phdrs(); + segs = cprm->vma_count + elf_core_extra_phdrs(cprm); /* for notes section */ segs++; @@ -2248,7 +2249,7 @@ dataoff = offset = roundup(offset, ELF_EXEC_PAGESIZE); offset += cprm->vma_data_size; - offset += elf_core_extra_data_size(); + offset += elf_core_extra_data_size(cprm); e_shoff = offset; if (e_phnum == PN_XNUM) { --- linux-gcp-5.19.0.orig/fs/binfmt_elf_fdpic.c +++ linux-gcp-5.19.0/fs/binfmt_elf_fdpic.c @@ -434,8 +434,9 @@ current->mm->start_stack = current->mm->start_brk + stack_size; #endif - if (create_elf_fdpic_tables(bprm, current->mm, - &exec_params, &interp_params) < 0) + retval = create_elf_fdpic_tables(bprm, current->mm, &exec_params, + &interp_params); + if (retval < 0) goto error; kdebug("- start_code %lx", current->mm->start_code); @@ -1508,7 +1509,7 @@ tmp->next = thread_list; thread_list = tmp; - segs = cprm->vma_count + elf_core_extra_phdrs(); + segs = cprm->vma_count + elf_core_extra_phdrs(cprm); /* for notes section */ segs++; @@ -1554,7 +1555,7 @@ dataoff = offset = roundup(offset, ELF_EXEC_PAGESIZE); offset += cprm->vma_data_size; - offset += elf_core_extra_data_size(); + offset += elf_core_extra_data_size(cprm); e_shoff = offset; if (e_phnum == PN_XNUM) { --- linux-gcp-5.19.0.orig/fs/binfmt_misc.c +++ linux-gcp-5.19.0/fs/binfmt_misc.c @@ -44,10 +44,10 @@ static int enabled = 1; enum {Enabled, Magic}; -#define MISC_FMT_PRESERVE_ARGV0 (1 << 31) -#define MISC_FMT_OPEN_BINARY (1 << 30) -#define MISC_FMT_CREDENTIALS (1 << 29) -#define MISC_FMT_OPEN_FILE (1 << 28) +#define MISC_FMT_PRESERVE_ARGV0 (1UL << 31) +#define MISC_FMT_OPEN_BINARY (1UL << 30) +#define MISC_FMT_CREDENTIALS (1UL << 29) +#define MISC_FMT_OPEN_FILE (1UL << 28) typedef struct { struct list_head list; --- linux-gcp-5.19.0.orig/fs/btrfs/backref.c +++ linux-gcp-5.19.0/fs/btrfs/backref.c @@ -138,6 +138,7 @@ u64 root_objectid; u64 inum; int share_count; + bool have_delayed_delete_refs; }; static inline int extent_is_shared(struct share_check *sc) @@ -288,8 +289,10 @@ struct prelim_ref *ref, *next_ref; rbtree_postorder_for_each_entry_safe(ref, next_ref, - &preftree->root.rb_root, rbnode) + &preftree->root.rb_root, rbnode) { + free_inode_elem_list(ref->inode_list); free_pref(ref); + } preftree->root = RB_ROOT_CACHED; preftree->count = 0; @@ -430,6 +433,7 @@ u64 wanted_disk_byte = ref->wanted_disk_byte; u64 count = 0; u64 data_offset; + u8 type; if (level != 0) { eb = path->nodes[level]; @@ -484,6 +488,9 @@ continue; } fi = btrfs_item_ptr(eb, slot, struct btrfs_file_extent_item); + type = btrfs_file_extent_type(eb, fi); + if (type == BTRFS_FILE_EXTENT_INLINE) + goto next; disk_byte = btrfs_file_extent_disk_bytenr(eb, fi); data_offset = btrfs_file_extent_offset(eb, fi); @@ -647,6 +654,18 @@ return (struct extent_inode_elem *)(uintptr_t)node->aux; } +static void free_leaf_list(struct ulist *ulist) +{ + struct ulist_node *node; + struct ulist_iterator uiter; + + ULIST_ITER_INIT(&uiter); + while ((node = ulist_next(ulist, &uiter))) + free_inode_elem_list(unode_aux_to_inode_list(node)); + + ulist_free(ulist); +} + /* * We maintain three separate rbtrees: one for direct refs, one for * indirect refs which have a key, and one for indirect refs which do not @@ -761,7 +780,11 @@ cond_resched(); } out: - ulist_free(parents); + /* + * We may have inode lists attached to refs in the parents ulist, so we + * must free them before freeing the ulist and its refs. + */ + free_leaf_list(parents); return ret; } @@ -820,16 +843,11 @@ struct preftrees *preftrees, struct share_check *sc) { struct btrfs_delayed_ref_node *node; - struct btrfs_delayed_extent_op *extent_op = head->extent_op; struct btrfs_key key; - struct btrfs_key tmp_op_key; struct rb_node *n; int count; int ret = 0; - if (extent_op && extent_op->update_key) - btrfs_disk_key_to_cpu(&tmp_op_key, &extent_op->key); - spin_lock(&head->lock); for (n = rb_first_cached(&head->ref_tree); n; n = rb_next(n)) { node = rb_entry(n, struct btrfs_delayed_ref_node, @@ -855,10 +873,16 @@ case BTRFS_TREE_BLOCK_REF_KEY: { /* NORMAL INDIRECT METADATA backref */ struct btrfs_delayed_tree_ref *ref; + struct btrfs_key *key_ptr = NULL; + + if (head->extent_op && head->extent_op->update_key) { + btrfs_disk_key_to_cpu(&key, &head->extent_op->key); + key_ptr = &key; + } ref = btrfs_delayed_node_to_tree_ref(node); ret = add_indirect_ref(fs_info, preftrees, ref->root, - &tmp_op_key, ref->level + 1, + key_ptr, ref->level + 1, node->bytenr, count, sc, GFP_ATOMIC); break; @@ -884,13 +908,22 @@ key.offset = ref->offset; /* - * Found a inum that doesn't match our known inum, we - * know it's shared. + * If we have a share check context and a reference for + * another inode, we can't exit immediately. This is + * because even if this is a BTRFS_ADD_DELAYED_REF + * reference we may find next a BTRFS_DROP_DELAYED_REF + * which cancels out this ADD reference. + * + * If this is a DROP reference and there was no previous + * ADD reference, then we need to signal that when we + * process references from the extent tree (through + * add_inline_refs() and add_keyed_refs()), we should + * not exit early if we find a reference for another + * inode, because one of the delayed DROP references + * may cancel that reference in the extent tree. */ - if (sc && sc->inum && ref->objectid != sc->inum) { - ret = BACKREF_FOUND_SHARED; - goto out; - } + if (sc && count < 0) + sc->have_delayed_delete_refs = true; ret = add_indirect_ref(fs_info, preftrees, ref->root, &key, 0, node->bytenr, count, sc, @@ -920,7 +953,7 @@ } if (!ret) ret = extent_is_shared(sc); -out: + spin_unlock(&head->lock); return ret; } @@ -1023,7 +1056,8 @@ key.type = BTRFS_EXTENT_DATA_KEY; key.offset = btrfs_extent_data_ref_offset(leaf, dref); - if (sc && sc->inum && key.objectid != sc->inum) { + if (sc && sc->inum && key.objectid != sc->inum && + !sc->have_delayed_delete_refs) { ret = BACKREF_FOUND_SHARED; break; } @@ -1033,6 +1067,7 @@ ret = add_indirect_ref(fs_info, preftrees, root, &key, 0, bytenr, count, sc, GFP_NOFS); + break; } default: @@ -1122,7 +1157,8 @@ key.type = BTRFS_EXTENT_DATA_KEY; key.offset = btrfs_extent_data_ref_offset(leaf, dref); - if (sc && sc->inum && key.objectid != sc->inum) { + if (sc && sc->inum && key.objectid != sc->inum && + !sc->have_delayed_delete_refs) { ret = BACKREF_FOUND_SHARED; break; } @@ -1354,6 +1390,12 @@ if (ret < 0) goto out; ref->inode_list = eie; + /* + * We transferred the list ownership to the ref, + * so set to NULL to avoid a double free in case + * an error happens after this. + */ + eie = NULL; } ret = ulist_add_merge_ptr(refs, ref->parent, ref->inode_list, @@ -1379,6 +1421,14 @@ eie->next = ref->inode_list; } eie = NULL; + /* + * We have transferred the inode list ownership from + * this ref to the ref we added to the 'refs' ulist. + * So set this ref's inode list to NULL to avoid + * use-after-free when our caller uses it or double + * frees in case an error happens before we return. + */ + ref->inode_list = NULL; } cond_resched(); } @@ -1395,24 +1445,6 @@ return ret; } -static void free_leaf_list(struct ulist *blocks) -{ - struct ulist_node *node = NULL; - struct extent_inode_elem *eie; - struct ulist_iterator uiter; - - ULIST_ITER_INIT(&uiter); - while ((node = ulist_next(blocks, &uiter))) { - if (!node->aux) - continue; - eie = unode_aux_to_inode_list(node); - free_inode_elem_list(eie); - node->aux = 0; - } - - ulist_free(blocks); -} - /* * Finds all leafs with a reference to the specified combination of bytenr and * offset. key_list_head will point to a list of corresponding keys (caller must @@ -1544,6 +1576,7 @@ .root_objectid = root->root_key.objectid, .inum = inum, .share_count = 0, + .have_delayed_delete_refs = false, }; ulist_init(roots); @@ -1578,6 +1611,7 @@ break; bytenr = node->val; shared.share_count = 0; + shared.have_delayed_delete_refs = false; cond_resched(); } @@ -2028,10 +2062,29 @@ return ret; } +static int build_ino_list(u64 inum, u64 offset, u64 root, void *ctx) +{ + struct btrfs_data_container *inodes = ctx; + const size_t c = 3 * sizeof(u64); + + if (inodes->bytes_left >= c) { + inodes->bytes_left -= c; + inodes->val[inodes->elem_cnt] = inum; + inodes->val[inodes->elem_cnt + 1] = offset; + inodes->val[inodes->elem_cnt + 2] = root; + inodes->elem_cnt += 3; + } else { + inodes->bytes_missing += c - inodes->bytes_left; + inodes->bytes_left = 0; + inodes->elem_missed += 3; + } + + return 0; +} + int iterate_inodes_from_logical(u64 logical, struct btrfs_fs_info *fs_info, struct btrfs_path *path, - iterate_extent_inodes_t *iterate, void *ctx, - bool ignore_offset) + void *ctx, bool ignore_offset) { int ret; u64 extent_item_pos; @@ -2049,7 +2102,7 @@ extent_item_pos = logical - found_key.objectid; ret = iterate_extent_inodes(fs_info, found_key.objectid, extent_item_pos, search_commit_root, - iterate, ctx, ignore_offset); + build_ino_list, ctx, ignore_offset); return ret; } --- linux-gcp-5.19.0.orig/fs/btrfs/backref.h +++ linux-gcp-5.19.0/fs/btrfs/backref.h @@ -35,8 +35,7 @@ bool ignore_offset); int iterate_inodes_from_logical(u64 logical, struct btrfs_fs_info *fs_info, - struct btrfs_path *path, - iterate_extent_inodes_t *iterate, void *ctx, + struct btrfs_path *path, void *ctx, bool ignore_offset); int paths_from_inode(u64 inum, struct inode_fs_paths *ipath); --- linux-gcp-5.19.0.orig/fs/btrfs/block-group.c +++ linux-gcp-5.19.0/fs/btrfs/block-group.c @@ -440,39 +440,26 @@ btrfs_put_caching_control(caching_ctl); } -int btrfs_wait_block_group_cache_done(struct btrfs_block_group *cache) +static int btrfs_caching_ctl_wait_done(struct btrfs_block_group *cache, + struct btrfs_caching_control *caching_ctl) +{ + wait_event(caching_ctl->wait, btrfs_block_group_done(cache)); + return cache->cached == BTRFS_CACHE_ERROR ? -EIO : 0; +} + +static int btrfs_wait_block_group_cache_done(struct btrfs_block_group *cache) { struct btrfs_caching_control *caching_ctl; - int ret = 0; + int ret; caching_ctl = btrfs_get_caching_control(cache); if (!caching_ctl) return (cache->cached == BTRFS_CACHE_ERROR) ? -EIO : 0; - - wait_event(caching_ctl->wait, btrfs_block_group_done(cache)); - if (cache->cached == BTRFS_CACHE_ERROR) - ret = -EIO; + ret = btrfs_caching_ctl_wait_done(cache, caching_ctl); btrfs_put_caching_control(caching_ctl); return ret; } -static bool space_cache_v1_done(struct btrfs_block_group *cache) -{ - bool ret; - - spin_lock(&cache->lock); - ret = cache->cached != BTRFS_CACHE_FAST; - spin_unlock(&cache->lock); - - return ret; -} - -void btrfs_wait_space_cache_v1_finished(struct btrfs_block_group *cache, - struct btrfs_caching_control *caching_ctl) -{ - wait_event(caching_ctl->wait, space_cache_v1_done(cache)); -} - #ifdef CONFIG_BTRFS_DEBUG static void fragment_free_space(struct btrfs_block_group *block_group) { @@ -750,9 +737,8 @@ btrfs_put_block_group(block_group); } -int btrfs_cache_block_group(struct btrfs_block_group *cache, int load_cache_only) +int btrfs_cache_block_group(struct btrfs_block_group *cache, bool wait) { - DEFINE_WAIT(wait); struct btrfs_fs_info *fs_info = cache->fs_info; struct btrfs_caching_control *caching_ctl = NULL; int ret = 0; @@ -785,10 +771,7 @@ } WARN_ON(cache->caching_ctl); cache->caching_ctl = caching_ctl; - if (btrfs_test_opt(fs_info, SPACE_CACHE)) - cache->cached = BTRFS_CACHE_FAST; - else - cache->cached = BTRFS_CACHE_STARTED; + cache->cached = BTRFS_CACHE_STARTED; cache->has_caching_ctl = 1; spin_unlock(&cache->lock); @@ -801,8 +784,8 @@ btrfs_queue_work(fs_info->caching_workers, &caching_ctl->work); out: - if (load_cache_only && caching_ctl) - btrfs_wait_space_cache_v1_finished(cache, caching_ctl); + if (wait && caching_ctl) + ret = btrfs_caching_ctl_wait_done(cache, caching_ctl); if (caching_ctl) btrfs_put_caching_control(caching_ctl); @@ -1051,8 +1034,13 @@ < block_group->zone_unusable); WARN_ON(block_group->space_info->disk_total < block_group->length * factor); + WARN_ON(block_group->zone_is_active && + block_group->space_info->active_total_bytes + < block_group->length); } block_group->space_info->total_bytes -= block_group->length; + if (block_group->zone_is_active) + block_group->space_info->active_total_bytes -= block_group->length; block_group->space_info->bytes_readonly -= (block_group->length - block_group->zone_unusable); block_group->space_info->bytes_zone_unusable -= @@ -1635,9 +1623,11 @@ div64_u64(zone_unusable * 100, bg->length)); trace_btrfs_reclaim_block_group(bg); ret = btrfs_relocate_chunk(fs_info, bg->start); - if (ret) + if (ret) { + btrfs_dec_block_group_ro(bg); btrfs_err(fs_info, "error relocating chunk %llu", bg->start); + } next: btrfs_put_block_group(bg); @@ -2108,7 +2098,8 @@ trace_btrfs_add_block_group(info, cache, 0); btrfs_update_space_info(info, cache->flags, cache->length, cache->used, cache->bytes_super, - cache->zone_unusable, &space_info); + cache->zone_unusable, cache->zone_is_active, + &space_info); cache->space_info = space_info; @@ -2178,7 +2169,7 @@ } btrfs_update_space_info(fs_info, bg->flags, em->len, em->len, - 0, 0, &space_info); + 0, 0, false, &space_info); bg->space_info = space_info; link_block_group(bg); @@ -2200,7 +2191,16 @@ int need_clear = 0; u64 cache_gen; - if (!root) + /* + * Either no extent root (with ibadroots rescue option) or we have + * unsupported RO options. The fs can never be mounted read-write, so no + * need to waste time searching block group items. + * + * This also allows new extent tree related changes to be RO compat, + * no need for a full incompat flag. + */ + if (!root || (btrfs_super_compat_ro_flags(info->super_copy) & + ~BTRFS_FEATURE_COMPAT_RO_SUPP)) return fill_dummy_bgs(info); key.objectid = 0; @@ -2559,7 +2559,7 @@ trace_btrfs_add_block_group(fs_info, cache, 1); btrfs_update_space_info(fs_info, cache->flags, size, bytes_used, cache->bytes_super, cache->zone_unusable, - &cache->space_info); + cache->zone_is_active, &cache->space_info); btrfs_update_global_block_rsv(fs_info); link_block_group(cache); @@ -2659,6 +2659,14 @@ ret = btrfs_chunk_alloc(trans, alloc_flags, CHUNK_ALLOC_FORCE); if (ret < 0) goto out; + /* + * We have allocated a new chunk. We also need to activate that chunk to + * grant metadata tickets for zoned filesystem. + */ + ret = btrfs_zoned_activate_one_bg(fs_info, cache->space_info, true); + if (ret < 0) + goto out; + ret = inc_block_group_ro(cache, 0); if (ret == -ETXTBSY) goto unlock_out; @@ -3297,7 +3305,7 @@ * space back to the block group, otherwise we will leak space. */ if (!alloc && !btrfs_block_group_done(cache)) - btrfs_cache_block_group(cache, 1); + btrfs_cache_block_group(cache, true); byte_in_group = bytenr - cache->start; WARN_ON(byte_in_group > cache->length); @@ -3761,6 +3769,7 @@ * attempt. */ wait_for_alloc = true; + force = CHUNK_ALLOC_NO_FORCE; spin_unlock(&space_info->lock); mutex_lock(&fs_info->chunk_mutex); mutex_unlock(&fs_info->chunk_mutex); @@ -3884,6 +3893,14 @@ ret = PTR_ERR(bg); } else { /* + * We have a new chunk. We also need to activate it for + * zoned filesystem. + */ + ret = btrfs_zoned_activate_one_bg(fs_info, info, true); + if (ret < 0) + return; + + /* * If we fail to add the chunk item here, we end up * trying again at phase 2 of chunk allocation, at * btrfs_create_pending_block_groups(). So ignore --- linux-gcp-5.19.0.orig/fs/btrfs/block-group.h +++ linux-gcp-5.19.0/fs/btrfs/block-group.h @@ -263,9 +263,7 @@ void btrfs_wait_nocow_writers(struct btrfs_block_group *bg); void btrfs_wait_block_group_cache_progress(struct btrfs_block_group *cache, u64 num_bytes); -int btrfs_wait_block_group_cache_done(struct btrfs_block_group *cache); -int btrfs_cache_block_group(struct btrfs_block_group *cache, - int load_cache_only); +int btrfs_cache_block_group(struct btrfs_block_group *cache, bool wait); void btrfs_put_caching_control(struct btrfs_caching_control *ctl); struct btrfs_caching_control *btrfs_get_caching_control( struct btrfs_block_group *cache); --- linux-gcp-5.19.0.orig/fs/btrfs/ctree.c +++ linux-gcp-5.19.0/fs/btrfs/ctree.c @@ -2075,6 +2075,9 @@ if (!p->skip_locking) { level = btrfs_header_level(b); + + btrfs_maybe_reset_lockdep_class(root, b); + if (level <= write_lock_level) { btrfs_tree_lock(b); p->locks[level] = BTRFS_WRITE_LOCK; --- linux-gcp-5.19.0.orig/fs/btrfs/ctree.h +++ linux-gcp-5.19.0/fs/btrfs/ctree.h @@ -107,14 +107,6 @@ #define BTRFS_STAT_CURR 0 #define BTRFS_STAT_PREV 1 -/* - * Count how many BTRFS_MAX_EXTENT_SIZE cover the @size - */ -static inline u32 count_max_extents(u64 size) -{ - return div_u64(size + BTRFS_MAX_EXTENT_SIZE - 1, BTRFS_MAX_EXTENT_SIZE); -} - static inline unsigned long btrfs_chunk_item_size(int num_stripes) { BUG_ON(num_stripes == 0); @@ -502,7 +494,6 @@ enum btrfs_caching_type { BTRFS_CACHE_NO, BTRFS_CACHE_STARTED, - BTRFS_CACHE_FAST, BTRFS_CACHE_FINISHED, BTRFS_CACHE_ERROR, }; @@ -635,6 +626,15 @@ /* Indicate we have half completed snapshot deletions pending. */ BTRFS_FS_UNFINISHED_DROPS, + /* Indicate we have to finish a zone to do next allocation. */ + BTRFS_FS_NEED_ZONE_FINISH, + + /* + * Indicate metadata over-commit is disabled. This is set when active + * zone tracking is needed. + */ + BTRFS_FS_NO_OVERCOMMIT, + #if BITS_PER_LONG == 32 /* Indicate if we have error/warn message printed on 32bit systems */ BTRFS_FS_32BIT_ERROR, @@ -1032,6 +1032,12 @@ u32 csums_per_leaf; u32 stripesize; + /* + * Maximum size of an extent. BTRFS_MAX_EXTENT_SIZE on regular + * filesystem, on zoned it depends on the device constraints. + */ + u64 max_extent_size; + /* Block groups and devices containing active swapfiles. */ spinlock_t swapfile_pins_lock; struct rb_root swapfile_pins; @@ -1047,6 +1053,8 @@ */ u64 zone_size; + /* Max size to emit ZONE_APPEND write command */ + u64 max_zone_append_size; struct mutex zoned_meta_io_lock; spinlock_t treelog_bg_lock; u64 treelog_bg; @@ -1142,6 +1150,8 @@ BTRFS_ROOT_ORPHAN_CLEANUP, /* This root has a drop operation that was started previously. */ BTRFS_ROOT_UNFINISHED_DROP, + /* This reloc root needs to have its buffers lockdep class reset. */ + BTRFS_ROOT_RESET_LOCKDEP_CLASS, }; static inline void btrfs_wake_unfinished_drop(struct btrfs_fs_info *fs_info) @@ -3358,7 +3368,10 @@ ssize_t btrfs_do_encoded_write(struct kiocb *iocb, struct iov_iter *from, const struct btrfs_ioctl_encoded_io_args *encoded); -ssize_t btrfs_dio_rw(struct kiocb *iocb, struct iov_iter *iter, size_t done_before); +ssize_t btrfs_dio_read(struct kiocb *iocb, struct iov_iter *iter, + size_t done_before); +struct iomap_dio *btrfs_dio_write(struct kiocb *iocb, struct iov_iter *iter, + size_t done_before); extern const struct dentry_operations btrfs_dentry_operations; @@ -4009,6 +4022,19 @@ return fs_info->zone_size > 0; } +/* + * Count how many fs_info->max_extent_size cover the @size + */ +static inline u32 count_max_extents(struct btrfs_fs_info *fs_info, u64 size) +{ +#ifdef CONFIG_BTRFS_FS_RUN_SANITY_TESTS + if (!fs_info) + return div_u64(size + BTRFS_MAX_EXTENT_SIZE - 1, BTRFS_MAX_EXTENT_SIZE); +#endif + + return div_u64(size + fs_info->max_extent_size - 1, fs_info->max_extent_size); +} + static inline bool btrfs_is_data_reloc_root(const struct btrfs_root *root) { return root->root_key.objectid == BTRFS_DATA_RELOC_TREE_OBJECTID; --- linux-gcp-5.19.0.orig/fs/btrfs/delalloc-space.c +++ linux-gcp-5.19.0/fs/btrfs/delalloc-space.c @@ -273,7 +273,7 @@ u64 num_bytes, u64 disk_num_bytes, u64 *meta_reserve, u64 *qgroup_reserve) { - u64 nr_extents = count_max_extents(num_bytes); + u64 nr_extents = count_max_extents(fs_info, num_bytes); u64 csum_leaves = btrfs_csum_bytes_to_leaves(fs_info, disk_num_bytes); u64 inode_update = btrfs_calc_metadata_size(fs_info, 1); @@ -350,7 +350,7 @@ * needs to free the reservation we just made. */ spin_lock(&inode->lock); - nr_extents = count_max_extents(num_bytes); + nr_extents = count_max_extents(fs_info, num_bytes); btrfs_mod_outstanding_extents(inode, nr_extents); inode->csum_bytes += disk_num_bytes; btrfs_calculate_inode_block_rsv_size(fs_info, inode); @@ -413,7 +413,7 @@ unsigned num_extents; spin_lock(&inode->lock); - num_extents = count_max_extents(num_bytes); + num_extents = count_max_extents(fs_info, num_bytes); btrfs_mod_outstanding_extents(inode, -num_extents); btrfs_calculate_inode_block_rsv_size(fs_info, inode); spin_unlock(&inode->lock); --- linux-gcp-5.19.0.orig/fs/btrfs/dev-replace.c +++ linux-gcp-5.19.0/fs/btrfs/dev-replace.c @@ -165,7 +165,7 @@ */ if (btrfs_find_device(fs_info->fs_devices, &args)) { btrfs_err(fs_info, - "replace devid present without an active replace item"); +"replace without active item, run 'device scan --forget' on the target device"); ret = -EUCLEAN; } else { dev_replace->srcdev = NULL; @@ -1128,8 +1128,7 @@ up_write(&dev_replace->rwsem); /* Scrub for replace must not be running in suspended state */ - ret = btrfs_scrub_cancel(fs_info); - ASSERT(ret != -ENOTCONN); + btrfs_scrub_cancel(fs_info); trans = btrfs_start_transaction(root, 0); if (IS_ERR(trans)) { --- linux-gcp-5.19.0.orig/fs/btrfs/discard.c +++ linux-gcp-5.19.0/fs/btrfs/discard.c @@ -77,6 +77,7 @@ static void __add_to_discard_list(struct btrfs_discard_ctl *discard_ctl, struct btrfs_block_group *block_group) { + lockdep_assert_held(&discard_ctl->lock); if (!btrfs_run_discard_work(discard_ctl)) return; @@ -88,6 +89,8 @@ BTRFS_DISCARD_DELAY); block_group->discard_state = BTRFS_DISCARD_RESET_CURSOR; } + if (list_empty(&block_group->discard_list)) + btrfs_get_block_group(block_group); list_move_tail(&block_group->discard_list, get_discard_list(discard_ctl, block_group)); @@ -107,8 +110,12 @@ static void add_to_discard_unused_list(struct btrfs_discard_ctl *discard_ctl, struct btrfs_block_group *block_group) { + bool queued; + spin_lock(&discard_ctl->lock); + queued = !list_empty(&block_group->discard_list); + if (!btrfs_run_discard_work(discard_ctl)) { spin_unlock(&discard_ctl->lock); return; @@ -120,6 +127,8 @@ block_group->discard_eligible_time = (ktime_get_ns() + BTRFS_DISCARD_UNUSED_DELAY); block_group->discard_state = BTRFS_DISCARD_RESET_CURSOR; + if (!queued) + btrfs_get_block_group(block_group); list_add_tail(&block_group->discard_list, &discard_ctl->discard_list[BTRFS_DISCARD_INDEX_UNUSED]); @@ -130,6 +139,7 @@ struct btrfs_block_group *block_group) { bool running = false; + bool queued = false; spin_lock(&discard_ctl->lock); @@ -139,7 +149,16 @@ } block_group->discard_eligible_time = 0; + queued = !list_empty(&block_group->discard_list); list_del_init(&block_group->discard_list); + /* + * If the block group is currently running in the discard workfn, we + * don't want to deref it, since it's still being used by the workfn. + * The workfn will notice this case and deref the block group when it is + * finished. + */ + if (queued && !running) + btrfs_put_block_group(block_group); spin_unlock(&discard_ctl->lock); @@ -212,10 +231,12 @@ if (block_group && now >= block_group->discard_eligible_time) { if (block_group->discard_index == BTRFS_DISCARD_INDEX_UNUSED && block_group->used != 0) { - if (btrfs_is_block_group_data_only(block_group)) + if (btrfs_is_block_group_data_only(block_group)) { __add_to_discard_list(discard_ctl, block_group); - else + } else { list_del_init(&block_group->discard_list); + btrfs_put_block_group(block_group); + } goto again; } if (block_group->discard_state == BTRFS_DISCARD_RESET_CURSOR) { @@ -502,6 +523,15 @@ spin_lock(&discard_ctl->lock); discard_ctl->prev_discard = trimmed; discard_ctl->prev_discard_time = now; + /* + * If the block group was removed from the discard list while it was + * running in this workfn, then we didn't deref it, since this function + * still owned that reference. But we set the discard_ctl->block_group + * back to NULL, so we can use that condition to know that now we need + * to deref the block_group. + */ + if (discard_ctl->block_group == NULL) + btrfs_put_block_group(block_group); discard_ctl->block_group = NULL; __btrfs_discard_schedule_work(discard_ctl, now, false); spin_unlock(&discard_ctl->lock); @@ -638,8 +668,12 @@ list_for_each_entry_safe(block_group, next, &fs_info->unused_bgs, bg_list) { list_del_init(&block_group->bg_list); - btrfs_put_block_group(block_group); btrfs_discard_queue_work(&fs_info->discard_ctl, block_group); + /* + * This put is for the get done by btrfs_mark_bg_unused. + * Queueing discard incremented it for discard's reference. + */ + btrfs_put_block_group(block_group); } spin_unlock(&fs_info->unused_bgs_lock); } @@ -669,6 +703,7 @@ if (block_group->used == 0) btrfs_mark_bg_unused(block_group); spin_lock(&discard_ctl->lock); + btrfs_put_block_group(block_group); } } spin_unlock(&discard_ctl->lock); --- linux-gcp-5.19.0.orig/fs/btrfs/disk-io.c +++ linux-gcp-5.19.0/fs/btrfs/disk-io.c @@ -122,88 +122,6 @@ }; /* - * Lockdep class keys for extent_buffer->lock's in this root. For a given - * eb, the lockdep key is determined by the btrfs_root it belongs to and - * the level the eb occupies in the tree. - * - * Different roots are used for different purposes and may nest inside each - * other and they require separate keysets. As lockdep keys should be - * static, assign keysets according to the purpose of the root as indicated - * by btrfs_root->root_key.objectid. This ensures that all special purpose - * roots have separate keysets. - * - * Lock-nesting across peer nodes is always done with the immediate parent - * node locked thus preventing deadlock. As lockdep doesn't know this, use - * subclass to avoid triggering lockdep warning in such cases. - * - * The key is set by the readpage_end_io_hook after the buffer has passed - * csum validation but before the pages are unlocked. It is also set by - * btrfs_init_new_buffer on freshly allocated blocks. - * - * We also add a check to make sure the highest level of the tree is the - * same as our lockdep setup here. If BTRFS_MAX_LEVEL changes, this code - * needs update as well. - */ -#ifdef CONFIG_DEBUG_LOCK_ALLOC -# if BTRFS_MAX_LEVEL != 8 -# error -# endif - -#define DEFINE_LEVEL(stem, level) \ - .names[level] = "btrfs-" stem "-0" #level, - -#define DEFINE_NAME(stem) \ - DEFINE_LEVEL(stem, 0) \ - DEFINE_LEVEL(stem, 1) \ - DEFINE_LEVEL(stem, 2) \ - DEFINE_LEVEL(stem, 3) \ - DEFINE_LEVEL(stem, 4) \ - DEFINE_LEVEL(stem, 5) \ - DEFINE_LEVEL(stem, 6) \ - DEFINE_LEVEL(stem, 7) - -static struct btrfs_lockdep_keyset { - u64 id; /* root objectid */ - /* Longest entry: btrfs-free-space-00 */ - char names[BTRFS_MAX_LEVEL][20]; - struct lock_class_key keys[BTRFS_MAX_LEVEL]; -} btrfs_lockdep_keysets[] = { - { .id = BTRFS_ROOT_TREE_OBJECTID, DEFINE_NAME("root") }, - { .id = BTRFS_EXTENT_TREE_OBJECTID, DEFINE_NAME("extent") }, - { .id = BTRFS_CHUNK_TREE_OBJECTID, DEFINE_NAME("chunk") }, - { .id = BTRFS_DEV_TREE_OBJECTID, DEFINE_NAME("dev") }, - { .id = BTRFS_CSUM_TREE_OBJECTID, DEFINE_NAME("csum") }, - { .id = BTRFS_QUOTA_TREE_OBJECTID, DEFINE_NAME("quota") }, - { .id = BTRFS_TREE_LOG_OBJECTID, DEFINE_NAME("log") }, - { .id = BTRFS_TREE_RELOC_OBJECTID, DEFINE_NAME("treloc") }, - { .id = BTRFS_DATA_RELOC_TREE_OBJECTID, DEFINE_NAME("dreloc") }, - { .id = BTRFS_UUID_TREE_OBJECTID, DEFINE_NAME("uuid") }, - { .id = BTRFS_FREE_SPACE_TREE_OBJECTID, DEFINE_NAME("free-space") }, - { .id = 0, DEFINE_NAME("tree") }, -}; - -#undef DEFINE_LEVEL -#undef DEFINE_NAME - -void btrfs_set_buffer_lockdep_class(u64 objectid, struct extent_buffer *eb, - int level) -{ - struct btrfs_lockdep_keyset *ks; - - BUG_ON(level >= ARRAY_SIZE(ks->keys)); - - /* find the matching keyset, id 0 is the default entry */ - for (ks = btrfs_lockdep_keysets; ks->id; ks++) - if (ks->id == objectid) - break; - - lockdep_set_class_and_name(&eb->lock, - &ks->keys[level], ks->names[level]); -} - -#endif - -/* * Compute the csum of a btree block and store the result to provided buffer. */ static void csum_tree_block(struct extent_buffer *buf, u8 *result) @@ -284,11 +202,9 @@ * Return 0 if the superblock checksum type matches the checksum value of that * algorithm. Pass the raw disk superblock data. */ -static int btrfs_check_super_csum(struct btrfs_fs_info *fs_info, - char *raw_disk_sb) +int btrfs_check_super_csum(struct btrfs_fs_info *fs_info, + const struct btrfs_super_block *disk_sb) { - struct btrfs_super_block *disk_sb = - (struct btrfs_super_block *)raw_disk_sb; char result[BTRFS_CSUM_SIZE]; SHASH_DESC_ON_STACK(shash, fs_info->csum_shash); @@ -299,7 +215,7 @@ * BTRFS_SUPER_INFO_SIZE range, we expect that the unused space is * filled with zeros and is included in the checksum. */ - crypto_shash_digest(shash, raw_disk_sb + BTRFS_CSUM_SIZE, + crypto_shash_digest(shash, (const u8 *)disk_sb + BTRFS_CSUM_SIZE, BTRFS_SUPER_INFO_SIZE - BTRFS_CSUM_SIZE, result); if (memcmp(disk_sb->csum, result, fs_info->csum_size)) @@ -464,7 +380,14 @@ btrfs_print_tree(eb, 0); btrfs_err(fs_info, "block=%llu write time tree block corruption detected", eb->start); - WARN_ON(IS_ENABLED(CONFIG_BTRFS_DEBUG)); + /* + * Be noisy if this is an extent buffer from a log tree. We don't abort + * a transaction in case there's a bad log tree extent buffer, we just + * fallback to a transaction commit. Still we want to know when there is + * a bad log tree extent buffer, as that may signal a bug somewhere. + */ + WARN_ON(IS_ENABLED(CONFIG_BTRFS_DEBUG) || + btrfs_header_owner(eb) == BTRFS_TREE_LOG_OBJECTID); return ret; } @@ -2731,7 +2654,9 @@ fs_info->dev_root = root; } /* Initialize fs_info for all devices in any case */ - btrfs_init_devices_late(fs_info); + ret = btrfs_init_devices_late(fs_info); + if (ret) + goto out; /* * This tree can share blocks with some other fs tree during relocation @@ -2787,8 +2712,8 @@ * 1, 2 2nd and 3rd backup copy * -1 skip bytenr check */ -static int validate_super(struct btrfs_fs_info *fs_info, - struct btrfs_super_block *sb, int mirror_num) +int btrfs_validate_super(struct btrfs_fs_info *fs_info, + struct btrfs_super_block *sb, int mirror_num) { u64 nodesize = btrfs_super_nodesize(sb); u64 sectorsize = btrfs_super_sectorsize(sb); @@ -2972,7 +2897,7 @@ */ static int btrfs_validate_mount_super(struct btrfs_fs_info *fs_info) { - return validate_super(fs_info, fs_info->super_copy, 0); + return btrfs_validate_super(fs_info, fs_info->super_copy, 0); } /* @@ -2986,7 +2911,7 @@ { int ret; - ret = validate_super(fs_info, sb, -1); + ret = btrfs_validate_super(fs_info, sb, -1); if (ret < 0) goto out; if (!btrfs_supported_super_csum(btrfs_super_csum_type(sb))) { @@ -3262,6 +3187,8 @@ fs_info->sectorsize_bits = ilog2(4096); fs_info->stripesize = 4096; + fs_info->max_extent_size = BTRFS_MAX_EXTENT_SIZE; + spin_lock_init(&fs_info->swapfile_pins_lock); fs_info->swapfile_pins = RB_ROOT; @@ -3544,7 +3471,7 @@ * We want to check superblock checksum, the type is stored inside. * Pass the whole disk block of size BTRFS_SUPER_INFO_SIZE (4k). */ - if (btrfs_check_super_csum(fs_info, (u8 *)disk_super)) { + if (btrfs_check_super_csum(fs_info, disk_super)) { btrfs_err(fs_info, "superblock checksum mismatch"); err = -EINVAL; btrfs_release_disk_super(disk_super); @@ -3593,16 +3520,6 @@ */ fs_info->compress_type = BTRFS_COMPRESS_ZLIB; - /* - * Flag our filesystem as having big metadata blocks if they are bigger - * than the page size. - */ - if (btrfs_super_nodesize(disk_super) > PAGE_SIZE) { - if (!(features & BTRFS_FEATURE_INCOMPAT_BIG_METADATA)) - btrfs_info(fs_info, - "flagging fs with big metadata feature"); - features |= BTRFS_FEATURE_INCOMPAT_BIG_METADATA; - } /* Set up fs_info before parsing mount options */ nodesize = btrfs_super_nodesize(disk_super); @@ -3644,6 +3561,17 @@ btrfs_info(fs_info, "has skinny extents"); /* + * Flag our filesystem as having big metadata blocks if they are bigger + * than the page size. + */ + if (btrfs_super_nodesize(disk_super) > PAGE_SIZE) { + if (!(features & BTRFS_FEATURE_INCOMPAT_BIG_METADATA)) + btrfs_info(fs_info, + "flagging fs with big metadata feature"); + features |= BTRFS_FEATURE_INCOMPAT_BIG_METADATA; + } + + /* * mixed block groups end up with duplicate but slightly offset * extent buffers for the same range. It leads to corruptions */ @@ -3670,6 +3598,20 @@ err = -EINVAL; goto fail_alloc; } + /* + * We have unsupported RO compat features, although RO mounted, we + * should not cause any metadata write, including log replay. + * Or we could screw up whatever the new feature requires. + */ + if (unlikely(features && btrfs_super_log_root(disk_super) && + !btrfs_test_opt(fs_info, NOLOGREPLAY))) { + btrfs_err(fs_info, +"cannot replay dirty log with unsupported compat_ro features (0x%llx), try rescue=nologreplay", + features); + err = -EINVAL; + goto fail_alloc; + } + if (sectorsize < PAGE_SIZE) { struct btrfs_subpage_info *subpage_info; @@ -4010,7 +3952,7 @@ } struct btrfs_super_block *btrfs_read_dev_one_super(struct block_device *bdev, - int copy_num) + int copy_num, bool drop_cache) { struct btrfs_super_block *super; struct page *page; @@ -4028,6 +3970,19 @@ if (bytenr + BTRFS_SUPER_INFO_SIZE >= bdev_nr_bytes(bdev)) return ERR_PTR(-EINVAL); + if (drop_cache) { + /* This should only be called with the primary sb. */ + ASSERT(copy_num == 0); + + /* + * Drop the page of the primary superblock, so later read will + * always read from the device. + */ + invalidate_inode_pages2_range(mapping, + bytenr >> PAGE_SHIFT, + (bytenr + BTRFS_SUPER_INFO_SIZE) >> PAGE_SHIFT); + } + page = read_cache_page_gfp(mapping, bytenr >> PAGE_SHIFT, GFP_NOFS); if (IS_ERR(page)) return ERR_CAST(page); @@ -4059,7 +4014,7 @@ * later supers, using BTRFS_SUPER_MIRROR_MAX instead */ for (i = 0; i < 1; i++) { - super = btrfs_read_dev_one_super(bdev, i); + super = btrfs_read_dev_one_super(bdev, i, false); if (IS_ERR(super)) continue; @@ -4652,6 +4607,17 @@ set_bit(BTRFS_FS_CLOSING_START, &fs_info->flags); /* + * If we had UNFINISHED_DROPS we could still be processing them, so + * clear that bit and wake up relocation so it can stop. + * We must do this before stopping the block group reclaim task, because + * at btrfs_relocate_block_group() we wait for this bit, and after the + * wait we stop with -EINTR if btrfs_fs_closing() returns non-zero - we + * have just set BTRFS_FS_CLOSING_START, so btrfs_fs_closing() will + * return 1. + */ + btrfs_wake_unfinished_drop(fs_info); + + /* * We may have the reclaim task running and relocating a data block group, * in which case it may create delayed iputs. So stop it before we park * the cleaner kthread otherwise we can get new delayed iputs after @@ -4669,12 +4635,6 @@ */ kthread_park(fs_info->cleaner_kthread); - /* - * If we had UNFINISHED_DROPS we could still be processing them, so - * clear that bit and wake up relocation so it can stop. - */ - btrfs_wake_unfinished_drop(fs_info); - /* wait for the qgroup rescan worker to stop */ btrfs_qgroup_wait_for_completion(fs_info, false); @@ -4697,6 +4657,31 @@ /* clear out the rbtree of defraggable inodes */ btrfs_cleanup_defrag_inodes(fs_info); + /* + * After we parked the cleaner kthread, ordered extents may have + * completed and created new delayed iputs. If one of the async reclaim + * tasks is running and in the RUN_DELAYED_IPUTS flush state, then we + * can hang forever trying to stop it, because if a delayed iput is + * added after it ran btrfs_run_delayed_iputs() and before it called + * btrfs_wait_on_delayed_iputs(), it will hang forever since there is + * no one else to run iputs. + * + * So wait for all ongoing ordered extents to complete and then run + * delayed iputs. This works because once we reach this point no one + * can either create new ordered extents nor create delayed iputs + * through some other means. + * + * Also note that btrfs_wait_ordered_roots() is not safe here, because + * it waits for BTRFS_ORDERED_COMPLETE to be set on an ordered extent, + * but the delayed iput for the respective inode is made only when doing + * the final btrfs_put_ordered_extent() (which must happen at + * btrfs_finish_ordered_io() when we are unmounting). + */ + btrfs_flush_workqueue(fs_info->endio_write_workers); + /* Ordered extents for free space inodes. */ + btrfs_flush_workqueue(fs_info->endio_freespace_worker); + btrfs_run_delayed_iputs(fs_info); + cancel_work_sync(&fs_info->async_reclaim_work); cancel_work_sync(&fs_info->async_data_reclaim_work); cancel_work_sync(&fs_info->preempt_reclaim_work); --- linux-gcp-5.19.0.orig/fs/btrfs/disk-io.h +++ linux-gcp-5.19.0/fs/btrfs/disk-io.h @@ -49,14 +49,18 @@ void btrfs_clean_tree_block(struct extent_buffer *buf); void btrfs_clear_oneshot_options(struct btrfs_fs_info *fs_info); int btrfs_start_pre_rw_mount(struct btrfs_fs_info *fs_info); +int btrfs_check_super_csum(struct btrfs_fs_info *fs_info, + const struct btrfs_super_block *disk_sb); int __cold open_ctree(struct super_block *sb, struct btrfs_fs_devices *fs_devices, char *options); void __cold close_ctree(struct btrfs_fs_info *fs_info); +int btrfs_validate_super(struct btrfs_fs_info *fs_info, + struct btrfs_super_block *sb, int mirror_num); int write_all_supers(struct btrfs_fs_info *fs_info, int max_mirrors); struct btrfs_super_block *btrfs_read_dev_super(struct block_device *bdev); struct btrfs_super_block *btrfs_read_dev_one_super(struct block_device *bdev, - int copy_num); + int copy_num, bool drop_cache); int btrfs_commit_super(struct btrfs_fs_info *fs_info); struct btrfs_root *btrfs_read_tree_root(struct btrfs_root *tree_root, struct btrfs_key *key); @@ -148,14 +152,4 @@ int __init btrfs_end_io_wq_init(void); void __cold btrfs_end_io_wq_exit(void); -#ifdef CONFIG_DEBUG_LOCK_ALLOC -void btrfs_set_buffer_lockdep_class(u64 objectid, - struct extent_buffer *eb, int level); -#else -static inline void btrfs_set_buffer_lockdep_class(u64 objectid, - struct extent_buffer *eb, int level) -{ -} -#endif - #endif --- linux-gcp-5.19.0.orig/fs/btrfs/export.c +++ linux-gcp-5.19.0/fs/btrfs/export.c @@ -58,7 +58,7 @@ } struct dentry *btrfs_get_dentry(struct super_block *sb, u64 objectid, - u64 root_objectid, u32 generation, + u64 root_objectid, u64 generation, int check_generation) { struct btrfs_fs_info *fs_info = btrfs_sb(sb); --- linux-gcp-5.19.0.orig/fs/btrfs/export.h +++ linux-gcp-5.19.0/fs/btrfs/export.h @@ -19,7 +19,7 @@ } __attribute__ ((packed)); struct dentry *btrfs_get_dentry(struct super_block *sb, u64 objectid, - u64 root_objectid, u32 generation, + u64 root_objectid, u64 generation, int check_generation); struct dentry *btrfs_get_parent(struct dentry *child); --- linux-gcp-5.19.0.orig/fs/btrfs/extent-tree.c +++ linux-gcp-5.19.0/fs/btrfs/extent-tree.c @@ -1722,6 +1722,11 @@ BUG(); if (ret && insert_reserved) btrfs_pin_extent(trans, node->bytenr, node->num_bytes, 1); + if (ret < 0) + btrfs_err(trans->fs_info, +"failed to run delayed ref for logical %llu num_bytes %llu type %u action %u ref_mod %d: %d", + node->bytenr, node->num_bytes, node->type, + node->action, node->ref_mod, ret); return ret; } @@ -1963,8 +1968,6 @@ if (ret) { unselect_delayed_ref_head(delayed_refs, locked_ref); btrfs_put_delayed_ref(ref); - btrfs_debug(fs_info, "run_one_delayed_ref returned %d", - ret); return ret; } @@ -2567,17 +2570,10 @@ return -EINVAL; /* - * pull in the free space cache (if any) so that our pin - * removes the free space from the cache. We have load_only set - * to one because the slow code to read in the free extents does check - * the pinned extents. - */ - btrfs_cache_block_group(cache, 1); - /* - * Make sure we wait until the cache is completely built in case it is - * missing or is invalid and therefore needs to be rebuilt. + * Fully cache the free space first so that our pin removes the free space + * from the cache. */ - ret = btrfs_wait_block_group_cache_done(cache); + ret = btrfs_cache_block_group(cache, true); if (ret) goto out; @@ -2600,12 +2596,7 @@ if (!block_group) return -EINVAL; - btrfs_cache_block_group(block_group, 1); - /* - * Make sure we wait until the cache is completely built in case it is - * missing or is invalid and therefore needs to be rebuilt. - */ - ret = btrfs_wait_block_group_cache_done(block_group); + ret = btrfs_cache_block_group(block_group, true); if (ret) goto out; @@ -3322,21 +3313,22 @@ } /* - * If this is a leaf and there are tree mod log users, we may - * have recorded mod log operations that point to this leaf. - * So we must make sure no one reuses this leaf's extent before - * mod log operations are applied to a node, otherwise after - * rewinding a node using the mod log operations we get an - * inconsistent btree, as the leaf's extent may now be used as - * a node or leaf for another different btree. + * If there are tree mod log users we may have recorded mod log + * operations for this node. If we re-allocate this node we + * could replay operations on this node that happened when it + * existed in a completely different root. For example if it + * was part of root A, then was reallocated to root B, and we + * are doing a btrfs_old_search_slot(root b), we could replay + * operations that happened when the block was part of root A, + * giving us an inconsistent view of the btree. + * * We are safe from races here because at this point no other * node or root points to this extent buffer, so if after this - * check a new tree mod log user joins, it will not be able to - * find a node pointing to this leaf and record operations that - * point to this leaf. + * check a new tree mod log user joins we will not have an + * existing log of operations on this node that we have to + * contend with. */ - if (btrfs_header_level(buf) == 0 && - test_bit(BTRFS_FS_TREE_MOD_LOG_USERS, &fs_info->flags)) + if (test_bit(BTRFS_FS_TREE_MOD_LOG_USERS, &fs_info->flags)) must_pin = true; if (must_pin || btrfs_is_zoned(fs_info)) { @@ -3981,23 +3973,63 @@ } } -static bool can_allocate_chunk(struct btrfs_fs_info *fs_info, - struct find_free_extent_ctl *ffe_ctl) +static int can_allocate_chunk_zoned(struct btrfs_fs_info *fs_info, + struct find_free_extent_ctl *ffe_ctl) +{ + /* If we can activate new zone, just allocate a chunk and use it */ + if (btrfs_can_activate_zone(fs_info->fs_devices, ffe_ctl->flags)) + return 0; + + /* + * We already reached the max active zones. Try to finish one block + * group to make a room for a new block group. This is only possible + * for a data block group because btrfs_zone_finish() may need to wait + * for a running transaction which can cause a deadlock for metadata + * allocation. + */ + if (ffe_ctl->flags & BTRFS_BLOCK_GROUP_DATA) { + int ret = btrfs_zone_finish_one_bg(fs_info); + + if (ret == 1) + return 0; + else if (ret < 0) + return ret; + } + + /* + * If we have enough free space left in an already active block group + * and we can't activate any other zone now, do not allow allocating a + * new chunk and let find_free_extent() retry with a smaller size. + */ + if (ffe_ctl->max_extent_size >= ffe_ctl->min_alloc_size) + return -ENOSPC; + + /* + * Even min_alloc_size is not left in any block groups. Since we cannot + * activate a new block group, allocating it may not help. Let's tell a + * caller to try again and hope it progress something by writing some + * parts of the region. That is only possible for data block groups, + * where a part of the region can be written. + */ + if (ffe_ctl->flags & BTRFS_BLOCK_GROUP_DATA) + return -EAGAIN; + + /* + * We cannot activate a new block group and no enough space left in any + * block groups. So, allocating a new block group may not help. But, + * there is nothing to do anyway, so let's go with it. + */ + return 0; +} + +static int can_allocate_chunk(struct btrfs_fs_info *fs_info, + struct find_free_extent_ctl *ffe_ctl) { switch (ffe_ctl->policy) { case BTRFS_EXTENT_ALLOC_CLUSTERED: - return true; + return 0; case BTRFS_EXTENT_ALLOC_ZONED: - /* - * If we have enough free space left in an already - * active block group and we can't activate any other - * zone now, do not allow allocating a new chunk and - * let find_free_extent() retry with a smaller size. - */ - if (ffe_ctl->max_extent_size >= ffe_ctl->min_alloc_size && - !btrfs_can_activate_zone(fs_info->fs_devices, ffe_ctl->flags)) - return false; - return true; + return can_allocate_chunk_zoned(fs_info, ffe_ctl); default: BUG(); } @@ -4079,8 +4111,9 @@ int exist = 0; /*Check if allocation policy allows to create a new chunk */ - if (!can_allocate_chunk(fs_info, ffe_ctl)) - return -ENOSPC; + ret = can_allocate_chunk(fs_info, ffe_ctl); + if (ret) + return ret; trans = current->journal_info; if (trans) @@ -4374,7 +4407,7 @@ ffe_ctl->cached = btrfs_block_group_done(block_group); if (unlikely(!ffe_ctl->cached)) { ffe_ctl->have_caching_bg = true; - ret = btrfs_cache_block_group(block_group, 0); + ret = btrfs_cache_block_group(block_group, false); /* * If we get ENOMEM here or something else we want to @@ -4842,6 +4875,7 @@ { struct btrfs_fs_info *fs_info = root->fs_info; struct extent_buffer *buf; + u64 lockdep_owner = owner; buf = btrfs_find_create_tree_block(fs_info, bytenr, owner, level); if (IS_ERR(buf)) @@ -4861,11 +4895,29 @@ } /* + * The reloc trees are just snapshots, so we need them to appear to be + * just like any other fs tree WRT lockdep. + * + * The exception however is in replace_path() in relocation, where we + * hold the lock on the original fs root and then search for the reloc + * root. At that point we need to make sure any reloc root buffers are + * set to the BTRFS_TREE_RELOC_OBJECTID lockdep class in order to make + * lockdep happy. + */ + if (lockdep_owner == BTRFS_TREE_RELOC_OBJECTID && + !test_bit(BTRFS_ROOT_RESET_LOCKDEP_CLASS, &root->state)) + lockdep_owner = BTRFS_FS_TREE_OBJECTID; + + /* btrfs_clean_tree_block() accesses generation field. */ + btrfs_set_header_generation(buf, trans->transid); + + /* * This needs to stay, because we could allocate a freed block from an * old tree into a new tree, so we need to make sure this new block is * set to the appropriate level and owner. */ - btrfs_set_buffer_lockdep_class(owner, buf, level); + btrfs_set_buffer_lockdep_class(lockdep_owner, buf, level); + __btrfs_tree_lock(buf, nest); btrfs_clean_tree_block(buf); clear_bit(EXTENT_BUFFER_STALE, &buf->bflags); @@ -6128,13 +6180,7 @@ if (end - start >= range->minlen) { if (!btrfs_block_group_done(cache)) { - ret = btrfs_cache_block_group(cache, 0); - if (ret) { - bg_failed++; - bg_ret = ret; - continue; - } - ret = btrfs_wait_block_group_cache_done(cache); + ret = btrfs_cache_block_group(cache, true); if (ret) { bg_failed++; bg_ret = ret; --- linux-gcp-5.19.0.orig/fs/btrfs/extent_io.c +++ linux-gcp-5.19.0/fs/btrfs/extent_io.c @@ -2007,10 +2007,12 @@ struct page *locked_page, u64 *start, u64 *end) { + struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); struct extent_io_tree *tree = &BTRFS_I(inode)->io_tree; const u64 orig_start = *start; const u64 orig_end = *end; - u64 max_bytes = BTRFS_MAX_EXTENT_SIZE; + /* The sanity tests may not set a valid fs_info. */ + u64 max_bytes = fs_info ? fs_info->max_extent_size : BTRFS_MAX_EXTENT_SIZE; u64 delalloc_start; u64 delalloc_end; bool found; @@ -6226,6 +6228,7 @@ struct extent_buffer *exists = NULL; struct page *p; struct address_space *mapping = fs_info->btree_inode->i_mapping; + u64 lockdep_owner = owner_root; int uptodate = 1; int ret; @@ -6250,7 +6253,15 @@ eb = __alloc_extent_buffer(fs_info, start, len); if (!eb) return ERR_PTR(-ENOMEM); - btrfs_set_buffer_lockdep_class(owner_root, eb, level); + + /* + * The reloc trees are just snapshots, so we need them to appear to be + * just like any other fs tree WRT lockdep. + */ + if (lockdep_owner == BTRFS_TREE_RELOC_OBJECTID) + lockdep_owner = BTRFS_FS_TREE_OBJECTID; + + btrfs_set_buffer_lockdep_class(lockdep_owner, eb, level); num_pages = num_extent_pages(eb); for (i = 0; i < num_pages; i++, index++) { --- linux-gcp-5.19.0.orig/fs/btrfs/file.c +++ linux-gcp-5.19.0/fs/btrfs/file.c @@ -523,6 +523,7 @@ testend = 0; } while (1) { + bool ends_after_range = false; int no_splits = 0; modified = false; @@ -539,10 +540,12 @@ write_unlock(&em_tree->lock); break; } + if (testend && em->start + em->len > start + len) + ends_after_range = true; flags = em->flags; gen = em->generation; if (skip_pinned && test_bit(EXTENT_FLAG_PINNED, &em->flags)) { - if (testend && em->start + em->len >= start + len) { + if (ends_after_range) { free_extent_map(em); write_unlock(&em_tree->lock); break; @@ -592,7 +595,7 @@ split = split2; split2 = NULL; } - if (testend && em->start + em->len > start + len) { + if (ends_after_range) { u64 diff = start + len - em->start; split->start = start + len; @@ -630,14 +633,42 @@ } else { ret = add_extent_mapping(em_tree, split, modified); - ASSERT(ret == 0); /* Logic error */ + /* Logic error, shouldn't happen. */ + ASSERT(ret == 0); + if (WARN_ON(ret != 0) && modified) + btrfs_set_inode_full_sync(inode); } free_extent_map(split); split = NULL; } next: - if (extent_map_in_tree(em)) + if (extent_map_in_tree(em)) { + /* + * If the extent map is still in the tree it means that + * either of the following is true: + * + * 1) It fits entirely in our range (doesn't end beyond + * it or starts before it); + * + * 2) It starts before our range and/or ends after our + * range, and we were not able to allocate the extent + * maps for split operations, @split and @split2. + * + * If we are at case 2) then we just remove the entire + * extent map - this is fine since if anyone needs it to + * access the subranges outside our range, will just + * load it again from the subvolume tree's file extent + * item. However if the extent map was in the list of + * modified extents, then we must mark the inode for a + * full fsync, otherwise a fast fsync will miss this + * extent if it's new and needs to be logged. + */ + if ((em->start < start || ends_after_range) && modified) { + ASSERT(no_splits); + btrfs_set_inode_full_sync(inode); + } remove_extent_mapping(em_tree, em); + } write_unlock(&em_tree->lock); /* once for us */ @@ -849,7 +880,10 @@ args->start - extent_offset, 0, false); ret = btrfs_inc_extent_ref(trans, &ref); - BUG_ON(ret); /* -ENOMEM */ + if (ret) { + btrfs_abort_transaction(trans, ret); + break; + } } key.offset = args->start; } @@ -936,7 +970,10 @@ key.offset - extent_offset, 0, false); ret = btrfs_free_extent(trans, &ref); - BUG_ON(ret); /* -ENOMEM */ + if (ret) { + btrfs_abort_transaction(trans, ret); + break; + } args->bytes_found += extent_end - key.offset; } @@ -1859,6 +1896,7 @@ loff_t endbyte; ssize_t err; unsigned int ilock_flags = 0; + struct iomap_dio *dio; if (iocb->ki_flags & IOCB_NOWAIT) ilock_flags |= BTRFS_ILOCK_TRY; @@ -1928,11 +1966,22 @@ * So here we disable page faults in the iov_iter and then retry if we * got -EFAULT, faulting in the pages before the retry. */ -again: from->nofault = true; - err = btrfs_dio_rw(iocb, from, written); + dio = btrfs_dio_write(iocb, from, written); from->nofault = false; + /* + * iomap_dio_complete() will call btrfs_sync_file() if we have a dsync + * iocb, and that needs to lock the inode. So unlock it before calling + * iomap_dio_complete() to avoid a deadlock. + */ + btrfs_inode_unlock(inode, ilock_flags); + + if (IS_ERR_OR_NULL(dio)) + err = PTR_ERR_OR_ZERO(dio); + else + err = iomap_dio_complete(dio); + /* No increment (+=) because iomap returns a cumulative value. */ if (err > 0) written = err; @@ -1958,12 +2007,10 @@ } else { fault_in_iov_iter_readable(from, left); prev_left = left; - goto again; + goto relock; } } - btrfs_inode_unlock(inode, ilock_flags); - /* * Add back IOCB_DSYNC. Our caller, btrfs_file_write_iter(), will do * the fsync (call generic_write_sync()). @@ -2202,14 +2249,6 @@ atomic_inc(&root->log_batch); /* - * Always check for the full sync flag while holding the inode's lock, - * to avoid races with other tasks. The flag must be either set all the - * time during logging or always off all the time while logging. - */ - full_sync = test_bit(BTRFS_INODE_NEEDS_FULL_SYNC, - &BTRFS_I(inode)->runtime_flags); - - /* * Before we acquired the inode's lock and the mmap lock, someone may * have dirtied more pages in the target range. We need to make sure * that writeback for any such pages does not start while we are logging @@ -2234,6 +2273,17 @@ } /* + * Always check for the full sync flag while holding the inode's lock, + * to avoid races with other tasks. The flag must be either set all the + * time during logging or always off all the time while logging. + * We check the flag here after starting delalloc above, because when + * running delalloc the full sync flag may be set if we need to drop + * extra extent map ranges due to temporary memory allocation failures. + */ + full_sync = test_bit(BTRFS_INODE_NEEDS_FULL_SYNC, + &BTRFS_I(inode)->runtime_flags); + + /* * We have to do this here to avoid the priority inversion of waiting on * IO of a lower priority task while holding a transaction open. * @@ -2308,7 +2358,7 @@ btrfs_release_log_ctx_extents(&ctx); if (ret < 0) { /* Fallthrough and commit/free transaction. */ - ret = 1; + ret = BTRFS_LOG_FORCE_COMMIT; } /* we've logged all the items and now have a consistent @@ -2483,6 +2533,7 @@ btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); btrfs_set_file_extent_offset(leaf, fi, 0); + btrfs_set_file_extent_generation(leaf, fi, trans->transid); btrfs_mark_buffer_dirty(leaf); goto out; } @@ -2499,6 +2550,7 @@ btrfs_set_file_extent_num_bytes(leaf, fi, num_bytes); btrfs_set_file_extent_ram_bytes(leaf, fi, num_bytes); btrfs_set_file_extent_offset(leaf, fi, 0); + btrfs_set_file_extent_generation(leaf, fi, trans->transid); btrfs_mark_buffer_dirty(leaf); goto out; } @@ -3751,7 +3803,7 @@ */ pagefault_disable(); to->nofault = true; - ret = btrfs_dio_rw(iocb, to, read); + ret = btrfs_dio_read(iocb, to, read); to->nofault = false; pagefault_enable(); @@ -3808,6 +3860,7 @@ .mmap = btrfs_file_mmap, .open = btrfs_file_open, .release = btrfs_release_file, + .get_unmapped_area = thp_get_unmapped_area, .fsync = btrfs_sync_file, .fallocate = btrfs_fallocate, .unlocked_ioctl = btrfs_ioctl, --- linux-gcp-5.19.0.orig/fs/btrfs/free-space-cache.c +++ linux-gcp-5.19.0/fs/btrfs/free-space-cache.c @@ -693,6 +693,12 @@ max_bitmaps = max_t(u64, max_bitmaps, 1); + if (ctl->total_bitmaps > max_bitmaps) + btrfs_err(block_group->fs_info, +"invalid free space control: bg start=%llu len=%llu total_bitmaps=%u unit=%u max_bitmaps=%llu bytes_per_bg=%llu", + block_group->start, block_group->length, + ctl->total_bitmaps, ctl->unit, max_bitmaps, + bytes_per_bg); ASSERT(ctl->total_bitmaps <= max_bitmaps); /* --- linux-gcp-5.19.0.orig/fs/btrfs/inode.c +++ linux-gcp-5.19.0/fs/btrfs/inode.c @@ -118,7 +118,8 @@ static noinline int cow_file_range(struct btrfs_inode *inode, struct page *locked_page, u64 start, u64 end, int *page_started, - unsigned long *nr_written, int unlock); + unsigned long *nr_written, int unlock, + u64 *done_offset); static struct extent_map *create_io_em(struct btrfs_inode *inode, u64 start, u64 len, u64 orig_start, u64 block_start, u64 block_len, u64 orig_block_len, @@ -920,15 +921,25 @@ * can directly submit them without interruption. */ ret = cow_file_range(inode, locked_page, start, end, &page_started, - &nr_written, 0); + &nr_written, 0, NULL); /* Inline extent inserted, page gets unlocked and everything is done */ if (page_started) { ret = 0; goto out; } if (ret < 0) { - if (locked_page) + btrfs_cleanup_ordered_extents(inode, locked_page, start, end - start + 1); + if (locked_page) { + const u64 page_start = page_offset(locked_page); + const u64 page_end = page_start + PAGE_SIZE - 1; + + btrfs_page_set_error(inode->root->fs_info, locked_page, + page_start, PAGE_SIZE); + set_page_writeback(locked_page); + end_page_writeback(locked_page); + end_extent_writepage(locked_page, ret, page_start, page_end); unlock_page(locked_page); + } goto out; } @@ -1133,15 +1144,39 @@ * *page_started is set to one if we unlock locked_page and do everything * required to start IO on it. It may be clean and already done with * IO when we return. + * + * When unlock == 1, we unlock the pages in successfully allocated regions. + * When unlock == 0, we leave them locked for writing them out. + * + * However, we unlock all the pages except @locked_page in case of failure. + * + * In summary, page locking state will be as follow: + * + * - page_started == 1 (return value) + * - All the pages are unlocked. IO is started. + * - Note that this can happen only on success + * - unlock == 1 + * - All the pages except @locked_page are unlocked in any case + * - unlock == 0 + * - On success, all the pages are locked for writing out them + * - On failure, all the pages except @locked_page are unlocked + * + * When a failure happens in the second or later iteration of the + * while-loop, the ordered extents created in previous iterations are kept + * intact. So, the caller must clean them up by calling + * btrfs_cleanup_ordered_extents(). See btrfs_run_delalloc_range() for + * example. */ static noinline int cow_file_range(struct btrfs_inode *inode, struct page *locked_page, u64 start, u64 end, int *page_started, - unsigned long *nr_written, int unlock) + unsigned long *nr_written, int unlock, + u64 *done_offset) { struct btrfs_root *root = inode->root; struct btrfs_fs_info *fs_info = root->fs_info; u64 alloc_hint = 0; + u64 orig_start = start; u64 num_bytes; unsigned long ram_size; u64 cur_alloc_size = 0; @@ -1329,18 +1364,62 @@ btrfs_dec_block_group_reservations(fs_info, ins.objectid); btrfs_free_reserved_extent(fs_info, ins.objectid, ins.offset, 1); out_unlock: + /* + * If done_offset is non-NULL and ret == -EAGAIN, we expect the + * caller to write out the successfully allocated region and retry. + */ + if (done_offset && ret == -EAGAIN) { + if (orig_start < start) + *done_offset = start - 1; + else + *done_offset = start; + return ret; + } else if (ret == -EAGAIN) { + /* Convert to -ENOSPC since the caller cannot retry. */ + ret = -ENOSPC; + } + + /* + * Now, we have three regions to clean up: + * + * |-------(1)----|---(2)---|-------------(3)----------| + * `- orig_start `- start `- start + cur_alloc_size `- end + * + * We process each region below. + */ + clear_bits = EXTENT_LOCKED | EXTENT_DELALLOC | EXTENT_DELALLOC_NEW | EXTENT_DEFRAG | EXTENT_CLEAR_META_RESV; page_ops = PAGE_UNLOCK | PAGE_START_WRITEBACK | PAGE_END_WRITEBACK; + + /* + * For the range (1). We have already instantiated the ordered extents + * for this region. They are cleaned up by + * btrfs_cleanup_ordered_extents() in e.g, + * btrfs_run_delalloc_range(). EXTENT_LOCKED | EXTENT_DELALLOC are + * already cleared in the above loop. And, EXTENT_DELALLOC_NEW | + * EXTENT_DEFRAG | EXTENT_CLEAR_META_RESV are handled by the cleanup + * function. + * + * However, in case of unlock == 0, we still need to unlock the pages + * (except @locked_page) to ensure all the pages are unlocked. + */ + if (!unlock && orig_start < start) { + if (!locked_page) + mapping_set_error(inode->vfs_inode.i_mapping, ret); + extent_clear_unlock_delalloc(inode, orig_start, start - 1, + locked_page, 0, page_ops); + } + /* - * If we reserved an extent for our delalloc range (or a subrange) and - * failed to create the respective ordered extent, then it means that - * when we reserved the extent we decremented the extent's size from - * the data space_info's bytes_may_use counter and incremented the - * space_info's bytes_reserved counter by the same amount. We must make - * sure extent_clear_unlock_delalloc() does not try to decrement again - * the data space_info's bytes_may_use counter, therefore we do not pass - * it the flag EXTENT_CLEAR_DATA_RESV. + * For the range (2). If we reserved an extent for our delalloc range + * (or a subrange) and failed to create the respective ordered extent, + * then it means that when we reserved the extent we decremented the + * extent's size from the data space_info's bytes_may_use counter and + * incremented the space_info's bytes_reserved counter by the same + * amount. We must make sure extent_clear_unlock_delalloc() does not try + * to decrement again the data space_info's bytes_may_use counter, + * therefore we do not pass it the flag EXTENT_CLEAR_DATA_RESV. */ if (extent_reserved) { extent_clear_unlock_delalloc(inode, start, @@ -1352,6 +1431,13 @@ if (start >= end) goto out; } + + /* + * For the range (3). We never touched the region. In addition to the + * clear_bits above, we add EXTENT_CLEAR_DATA_RESV to release the data + * space_info's bytes_may_use counter, reserved in + * btrfs_check_data_free_space(). + */ extent_clear_unlock_delalloc(inode, start, end, locked_page, clear_bits | EXTENT_CLEAR_DATA_RESV, page_ops); @@ -1538,19 +1624,41 @@ u64 end, int *page_started, unsigned long *nr_written) { + u64 done_offset = end; int ret; + bool locked_page_done = false; - ret = cow_file_range(inode, locked_page, start, end, page_started, - nr_written, 0); - if (ret) - return ret; + while (start <= end) { + ret = cow_file_range(inode, locked_page, start, end, page_started, + nr_written, 0, &done_offset); + if (ret && ret != -EAGAIN) + return ret; - if (*page_started) - return 0; + if (*page_started) { + ASSERT(ret == 0); + return 0; + } + + if (ret == 0) + done_offset = end; + + if (done_offset == start) { + wait_on_bit_io(&inode->root->fs_info->flags, + BTRFS_FS_NEED_ZONE_FINISH, + TASK_UNINTERRUPTIBLE); + continue; + } + + if (!locked_page_done) { + __set_page_dirty_nobuffers(locked_page); + account_page_redirty(locked_page); + } + locked_page_done = true; + extent_write_locked_range(&inode->vfs_inode, start, done_offset); + + start = done_offset + 1; + } - __set_page_dirty_nobuffers(locked_page); - account_page_redirty(locked_page); - extent_write_locked_range(&inode->vfs_inode, start, end); *page_started = 1; return 0; @@ -1642,7 +1750,7 @@ } return cow_file_range(inode, locked_page, start, end, page_started, - nr_written, 1); + nr_written, 1, NULL); } struct can_nocow_file_extent_args { @@ -2115,7 +2223,7 @@ page_started, nr_written); else ret = cow_file_range(inode, locked_page, start, end, - page_started, nr_written, 1); + page_started, nr_written, 1, NULL); } else { set_bit(BTRFS_INODE_HAS_ASYNC_EXTENT, &inode->runtime_flags); ret = cow_file_range_async(inode, wbc, locked_page, start, end, @@ -2131,6 +2239,7 @@ void btrfs_split_delalloc_extent(struct inode *inode, struct extent_state *orig, u64 split) { + struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); u64 size; /* not delalloc, ignore it */ @@ -2138,7 +2247,7 @@ return; size = orig->end - orig->start + 1; - if (size > BTRFS_MAX_EXTENT_SIZE) { + if (size > fs_info->max_extent_size) { u32 num_extents; u64 new_size; @@ -2147,10 +2256,10 @@ * applies here, just in reverse. */ new_size = orig->end - split + 1; - num_extents = count_max_extents(new_size); + num_extents = count_max_extents(fs_info, new_size); new_size = split - orig->start; - num_extents += count_max_extents(new_size); - if (count_max_extents(size) >= num_extents) + num_extents += count_max_extents(fs_info, new_size); + if (count_max_extents(fs_info, size) >= num_extents) return; } @@ -2167,6 +2276,7 @@ void btrfs_merge_delalloc_extent(struct inode *inode, struct extent_state *new, struct extent_state *other) { + struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); u64 new_size, old_size; u32 num_extents; @@ -2180,7 +2290,7 @@ new_size = other->end - new->start + 1; /* we're not bigger than the max, unreserve the space and go */ - if (new_size <= BTRFS_MAX_EXTENT_SIZE) { + if (new_size <= fs_info->max_extent_size) { spin_lock(&BTRFS_I(inode)->lock); btrfs_mod_outstanding_extents(BTRFS_I(inode), -1); spin_unlock(&BTRFS_I(inode)->lock); @@ -2206,10 +2316,10 @@ * this case. */ old_size = other->end - other->start + 1; - num_extents = count_max_extents(old_size); + num_extents = count_max_extents(fs_info, old_size); old_size = new->end - new->start + 1; - num_extents += count_max_extents(old_size); - if (count_max_extents(new_size) >= num_extents) + num_extents += count_max_extents(fs_info, old_size); + if (count_max_extents(fs_info, new_size) >= num_extents) return; spin_lock(&BTRFS_I(inode)->lock); @@ -2288,7 +2398,7 @@ if (!(state->state & EXTENT_DELALLOC) && (*bits & EXTENT_DELALLOC)) { struct btrfs_root *root = BTRFS_I(inode)->root; u64 len = state->end + 1 - state->start; - u32 num_extents = count_max_extents(len); + u32 num_extents = count_max_extents(fs_info, len); bool do_list = !btrfs_is_free_space_inode(BTRFS_I(inode)); spin_lock(&BTRFS_I(inode)->lock); @@ -2330,7 +2440,7 @@ struct btrfs_inode *inode = BTRFS_I(vfs_inode); struct btrfs_fs_info *fs_info = btrfs_sb(vfs_inode->i_sb); u64 len = state->end + 1 - state->start; - u32 num_extents = count_max_extents(len); + u32 num_extents = count_max_extents(fs_info, len); if ((state->state & EXTENT_DEFRAG) && (*bits & EXTENT_DEFRAG)) { spin_lock(&inode->lock); @@ -8054,7 +8164,7 @@ */ status = BLK_STS_RESOURCE; dip->csums = kcalloc(nr_sectors, fs_info->csum_size, GFP_NOFS); - if (!dip) + if (!dip->csums) goto out_err; status = btrfs_lookup_bio_sums(inode, dio_bio, dip->csums); @@ -8160,7 +8270,7 @@ .bio_set = &btrfs_dio_bioset, }; -ssize_t btrfs_dio_rw(struct kiocb *iocb, struct iov_iter *iter, size_t done_before) +ssize_t btrfs_dio_read(struct kiocb *iocb, struct iov_iter *iter, size_t done_before) { struct btrfs_dio_data data; @@ -8168,6 +8278,15 @@ IOMAP_DIO_PARTIAL, &data, done_before); } +struct iomap_dio *btrfs_dio_write(struct kiocb *iocb, struct iov_iter *iter, + size_t done_before) +{ + struct btrfs_dio_data data; + + return __iomap_dio_rw(iocb, iter, &btrfs_dio_iomap_ops, &btrfs_dio_ops, + IOMAP_DIO_PARTIAL, &data, done_before); +} + static int btrfs_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, u64 start, u64 len) { --- linux-gcp-5.19.0.orig/fs/btrfs/ioctl.c +++ linux-gcp-5.19.0/fs/btrfs/ioctl.c @@ -3102,6 +3102,8 @@ } } + btrfs_free_path(path); + path = NULL; if (copy_to_user(argp, subvol_info, sizeof(*subvol_info))) ret = -EFAULT; @@ -3191,6 +3193,8 @@ } out: + btrfs_free_path(path); + if (!ret || ret == -EOVERFLOW) { rootrefs->num_items = found; /* update min_treeid for next search */ @@ -3202,7 +3206,6 @@ } kfree(rootrefs); - btrfs_free_path(path); return ret; } @@ -3744,13 +3747,10 @@ di_args->bytes_used = btrfs_device_get_bytes_used(dev); di_args->total_bytes = btrfs_device_get_total_bytes(dev); memcpy(di_args->uuid, dev->uuid, sizeof(di_args->uuid)); - if (dev->name) { - strncpy(di_args->path, rcu_str_deref(dev->name), - sizeof(di_args->path) - 1); - di_args->path[sizeof(di_args->path) - 1] = 0; - } else { + if (dev->name) + strscpy(di_args->path, rcu_str_deref(dev->name), sizeof(di_args->path)); + else di_args->path[0] = '\0'; - } out: rcu_read_unlock(); @@ -4228,6 +4228,8 @@ ipath->fspath->val[i] = rel_ptr; } + btrfs_free_path(path); + path = NULL; ret = copy_to_user((void __user *)(unsigned long)ipa->fspath, ipath->fspath, size); if (ret) { @@ -4243,26 +4245,6 @@ return ret; } -static int build_ino_list(u64 inum, u64 offset, u64 root, void *ctx) -{ - struct btrfs_data_container *inodes = ctx; - const size_t c = 3 * sizeof(u64); - - if (inodes->bytes_left >= c) { - inodes->bytes_left -= c; - inodes->val[inodes->elem_cnt] = inum; - inodes->val[inodes->elem_cnt + 1] = offset; - inodes->val[inodes->elem_cnt + 2] = root; - inodes->elem_cnt += 3; - } else { - inodes->bytes_missing += c - inodes->bytes_left; - inodes->bytes_left = 0; - inodes->elem_missed += 3; - } - - return 0; -} - static long btrfs_ioctl_logical_to_ino(struct btrfs_fs_info *fs_info, void __user *arg, int version) { @@ -4298,21 +4280,20 @@ size = min_t(u32, loi->size, SZ_16M); } - path = btrfs_alloc_path(); - if (!path) { - ret = -ENOMEM; - goto out; - } - inodes = init_data_container(size); if (IS_ERR(inodes)) { ret = PTR_ERR(inodes); - inodes = NULL; - goto out; + goto out_loi; } + path = btrfs_alloc_path(); + if (!path) { + ret = -ENOMEM; + goto out; + } ret = iterate_inodes_from_logical(loi->logical, fs_info, path, - build_ino_list, inodes, ignore_offset); + inodes, ignore_offset); + btrfs_free_path(path); if (ret == -EINVAL) ret = -ENOENT; if (ret < 0) @@ -4324,7 +4305,6 @@ ret = -EFAULT; out: - btrfs_free_path(path); kvfree(inodes); out_loi: kfree(loi); --- linux-gcp-5.19.0.orig/fs/btrfs/locking.c +++ linux-gcp-5.19.0/fs/btrfs/locking.c @@ -14,6 +14,93 @@ #include "locking.h" /* + * Lockdep class keys for extent_buffer->lock's in this root. For a given + * eb, the lockdep key is determined by the btrfs_root it belongs to and + * the level the eb occupies in the tree. + * + * Different roots are used for different purposes and may nest inside each + * other and they require separate keysets. As lockdep keys should be + * static, assign keysets according to the purpose of the root as indicated + * by btrfs_root->root_key.objectid. This ensures that all special purpose + * roots have separate keysets. + * + * Lock-nesting across peer nodes is always done with the immediate parent + * node locked thus preventing deadlock. As lockdep doesn't know this, use + * subclass to avoid triggering lockdep warning in such cases. + * + * The key is set by the readpage_end_io_hook after the buffer has passed + * csum validation but before the pages are unlocked. It is also set by + * btrfs_init_new_buffer on freshly allocated blocks. + * + * We also add a check to make sure the highest level of the tree is the + * same as our lockdep setup here. If BTRFS_MAX_LEVEL changes, this code + * needs update as well. + */ +#ifdef CONFIG_DEBUG_LOCK_ALLOC +#if BTRFS_MAX_LEVEL != 8 +#error +#endif + +#define DEFINE_LEVEL(stem, level) \ + .names[level] = "btrfs-" stem "-0" #level, + +#define DEFINE_NAME(stem) \ + DEFINE_LEVEL(stem, 0) \ + DEFINE_LEVEL(stem, 1) \ + DEFINE_LEVEL(stem, 2) \ + DEFINE_LEVEL(stem, 3) \ + DEFINE_LEVEL(stem, 4) \ + DEFINE_LEVEL(stem, 5) \ + DEFINE_LEVEL(stem, 6) \ + DEFINE_LEVEL(stem, 7) + +static struct btrfs_lockdep_keyset { + u64 id; /* root objectid */ + /* Longest entry: btrfs-free-space-00 */ + char names[BTRFS_MAX_LEVEL][20]; + struct lock_class_key keys[BTRFS_MAX_LEVEL]; +} btrfs_lockdep_keysets[] = { + { .id = BTRFS_ROOT_TREE_OBJECTID, DEFINE_NAME("root") }, + { .id = BTRFS_EXTENT_TREE_OBJECTID, DEFINE_NAME("extent") }, + { .id = BTRFS_CHUNK_TREE_OBJECTID, DEFINE_NAME("chunk") }, + { .id = BTRFS_DEV_TREE_OBJECTID, DEFINE_NAME("dev") }, + { .id = BTRFS_CSUM_TREE_OBJECTID, DEFINE_NAME("csum") }, + { .id = BTRFS_QUOTA_TREE_OBJECTID, DEFINE_NAME("quota") }, + { .id = BTRFS_TREE_LOG_OBJECTID, DEFINE_NAME("log") }, + { .id = BTRFS_TREE_RELOC_OBJECTID, DEFINE_NAME("treloc") }, + { .id = BTRFS_DATA_RELOC_TREE_OBJECTID, DEFINE_NAME("dreloc") }, + { .id = BTRFS_UUID_TREE_OBJECTID, DEFINE_NAME("uuid") }, + { .id = BTRFS_FREE_SPACE_TREE_OBJECTID, DEFINE_NAME("free-space") }, + { .id = 0, DEFINE_NAME("tree") }, +}; + +#undef DEFINE_LEVEL +#undef DEFINE_NAME + +void btrfs_set_buffer_lockdep_class(u64 objectid, struct extent_buffer *eb, int level) +{ + struct btrfs_lockdep_keyset *ks; + + BUG_ON(level >= ARRAY_SIZE(ks->keys)); + + /* Find the matching keyset, id 0 is the default entry */ + for (ks = btrfs_lockdep_keysets; ks->id; ks++) + if (ks->id == objectid) + break; + + lockdep_set_class_and_name(&eb->lock, &ks->keys[level], ks->names[level]); +} + +void btrfs_maybe_reset_lockdep_class(struct btrfs_root *root, struct extent_buffer *eb) +{ + if (test_bit(BTRFS_ROOT_RESET_LOCKDEP_CLASS, &root->state)) + btrfs_set_buffer_lockdep_class(root->root_key.objectid, + eb, btrfs_header_level(eb)); +} + +#endif + +/* * Extent buffer locking * ===================== * @@ -164,6 +251,8 @@ while (1) { eb = btrfs_root_node(root); + + btrfs_maybe_reset_lockdep_class(root, eb); btrfs_tree_lock(eb); if (eb == root->node) break; @@ -185,6 +274,8 @@ while (1) { eb = btrfs_root_node(root); + + btrfs_maybe_reset_lockdep_class(root, eb); btrfs_tree_read_lock(eb); if (eb == root->node) break; --- linux-gcp-5.19.0.orig/fs/btrfs/locking.h +++ linux-gcp-5.19.0/fs/btrfs/locking.h @@ -131,4 +131,18 @@ void btrfs_drew_read_lock(struct btrfs_drew_lock *lock); void btrfs_drew_read_unlock(struct btrfs_drew_lock *lock); +#ifdef CONFIG_DEBUG_LOCK_ALLOC +void btrfs_set_buffer_lockdep_class(u64 objectid, struct extent_buffer *eb, int level); +void btrfs_maybe_reset_lockdep_class(struct btrfs_root *root, struct extent_buffer *eb); +#else +static inline void btrfs_set_buffer_lockdep_class(u64 objectid, + struct extent_buffer *eb, int level) +{ +} +static inline void btrfs_maybe_reset_lockdep_class(struct btrfs_root *root, + struct extent_buffer *eb) +{ +} +#endif + #endif --- linux-gcp-5.19.0.orig/fs/btrfs/qgroup.c +++ linux-gcp-5.19.0/fs/btrfs/qgroup.c @@ -1174,6 +1174,21 @@ fs_info->qgroup_rescan_running = true; btrfs_queue_work(fs_info->qgroup_rescan_workers, &fs_info->qgroup_rescan_work); + } else { + /* + * We have set both BTRFS_FS_QUOTA_ENABLED and + * BTRFS_QGROUP_STATUS_FLAG_ON, so we can only fail with + * -EINPROGRESS. That can happen because someone started the + * rescan worker by calling quota rescan ioctl before we + * attempted to initialize the rescan worker. Failure due to + * quotas disabled in the meanwhile is not possible, because + * we are holding a write lock on fs_info->subvol_sem, which + * is also acquired when disabling quotas. + * Ignore such error, and any other error would need to undo + * everything we did in the transaction we just committed. + */ + ASSERT(ret == -EINPROGRESS); + ret = 0; } out_free_path: @@ -2905,14 +2920,7 @@ dstgroup->rsv_rfer = inherit->lim.rsv_rfer; dstgroup->rsv_excl = inherit->lim.rsv_excl; - ret = update_qgroup_limit_item(trans, dstgroup); - if (ret) { - fs_info->qgroup_flags |= BTRFS_QGROUP_STATUS_FLAG_INCONSISTENT; - btrfs_info(fs_info, - "unable to update quota limit for %llu", - dstgroup->qgroupid); - goto unlock; - } + qgroup_dirty(fs_info, dstgroup); } if (srcid) { @@ -3298,6 +3306,7 @@ int err = -ENOMEM; int ret = 0; bool stopped = false; + bool did_leaf_rescans = false; path = btrfs_alloc_path(); if (!path) @@ -3318,6 +3327,7 @@ } err = qgroup_rescan_leaf(trans, path); + did_leaf_rescans = true; if (err > 0) btrfs_commit_transaction(trans); @@ -3338,16 +3348,23 @@ mutex_unlock(&fs_info->qgroup_rescan_lock); /* - * only update status, since the previous part has already updated the - * qgroup info. + * Only update status, since the previous part has already updated the + * qgroup info, and only if we did any actual work. This also prevents + * race with a concurrent quota disable, which has already set + * fs_info->quota_root to NULL and cleared BTRFS_FS_QUOTA_ENABLED at + * btrfs_quota_disable(). */ - trans = btrfs_start_transaction(fs_info->quota_root, 1); - if (IS_ERR(trans)) { - err = PTR_ERR(trans); + if (did_leaf_rescans) { + trans = btrfs_start_transaction(fs_info->quota_root, 1); + if (IS_ERR(trans)) { + err = PTR_ERR(trans); + trans = NULL; + btrfs_err(fs_info, + "fail to start transaction for status update: %d", + err); + } + } else { trans = NULL; - btrfs_err(fs_info, - "fail to start transaction for status update: %d", - err); } mutex_lock(&fs_info->qgroup_rescan_lock); --- linux-gcp-5.19.0.orig/fs/btrfs/raid56.c +++ linux-gcp-5.19.0/fs/btrfs/raid56.c @@ -347,6 +347,24 @@ } } +static void steal_rbio_page(struct btrfs_raid_bio *src, + struct btrfs_raid_bio *dest, int page_nr) +{ + const u32 sectorsize = src->bioc->fs_info->sectorsize; + const u32 sectors_per_page = PAGE_SIZE / sectorsize; + int i; + + if (dest->stripe_pages[page_nr]) + __free_page(dest->stripe_pages[page_nr]); + dest->stripe_pages[page_nr] = src->stripe_pages[page_nr]; + src->stripe_pages[page_nr] = NULL; + + /* Also update the sector->uptodate bits. */ + for (i = sectors_per_page * page_nr; + i < sectors_per_page * page_nr + sectors_per_page; i++) + dest->stripe_sectors[i].uptodate = true; +} + /* * Stealing an rbio means taking all the uptodate pages from the stripe array * in the source rbio and putting them into the destination rbio. @@ -358,7 +376,6 @@ { int i; struct page *s; - struct page *d; if (!test_bit(RBIO_CACHE_READY_BIT, &src->flags)) return; @@ -368,12 +385,7 @@ if (!s || !full_page_sectors_uptodate(src, i)) continue; - d = dest->stripe_pages[i]; - if (d) - __free_page(d); - - dest->stripe_pages[i] = s; - src->stripe_pages[i] = NULL; + steal_rbio_page(src, dest, i); } index_stripe_sectors(dest); index_stripe_sectors(src); @@ -391,6 +403,9 @@ { bio_list_merge(&dest->bio_list, &victim->bio_list); dest->bio_list_bytes += victim->bio_list_bytes; + /* Also inherit the bitmaps from @victim. */ + bitmap_or(dest->dbitmap, victim->dbitmap, dest->dbitmap, + dest->stripe_nsectors); dest->generic_bio_cnt += victim->generic_bio_cnt; bio_list_init(&victim->bio_list); } @@ -932,6 +947,12 @@ if (rbio->generic_bio_cnt) btrfs_bio_counter_sub(rbio->bioc->fs_info, rbio->generic_bio_cnt); + /* + * Clear the data bitmap, as the rbio may be cached for later usage. + * do this before before unlock_stripe() so there will be no new bio + * for this bio. + */ + bitmap_clear(rbio->dbitmap, 0, rbio->stripe_nsectors); /* * At this moment, rbio->bio_list is empty, however since rbio does not @@ -1282,6 +1303,9 @@ else BUG(); + /* We should have at least one data sector. */ + ASSERT(bitmap_weight(rbio->dbitmap, rbio->stripe_nsectors)); + /* at this point we either have a full stripe, * or we've read the full stripe from the drive. * recalculate the parity and write the new results. @@ -1356,6 +1380,10 @@ for (sectornr = 0; sectornr < rbio->stripe_nsectors; sectornr++) { struct sector_ptr *sector; + /* This vertical stripe has no data, skip it. */ + if (!test_bit(sectornr, rbio->dbitmap)) + continue; + if (stripe < rbio->nr_data) { sector = sector_in_rbio(rbio, stripe, sectornr, 1); if (!sector) @@ -1382,6 +1410,10 @@ for (sectornr = 0; sectornr < rbio->stripe_nsectors; sectornr++) { struct sector_ptr *sector; + /* This vertical stripe has no data, skip it. */ + if (!test_bit(sectornr, rbio->dbitmap)) + continue; + if (stripe < rbio->nr_data) { sector = sector_in_rbio(rbio, stripe, sectornr, 1); if (!sector) @@ -1833,6 +1865,33 @@ run_plug(plug); } +/* Add the original bio into rbio->bio_list, and update rbio::dbitmap. */ +static void rbio_add_bio(struct btrfs_raid_bio *rbio, struct bio *orig_bio) +{ + const struct btrfs_fs_info *fs_info = rbio->bioc->fs_info; + const u64 orig_logical = orig_bio->bi_iter.bi_sector << SECTOR_SHIFT; + const u64 full_stripe_start = rbio->bioc->raid_map[0]; + const u32 orig_len = orig_bio->bi_iter.bi_size; + const u32 sectorsize = fs_info->sectorsize; + u64 cur_logical; + + ASSERT(orig_logical >= full_stripe_start && + orig_logical + orig_len <= full_stripe_start + + rbio->nr_data * rbio->stripe_len); + + bio_list_add(&rbio->bio_list, orig_bio); + rbio->bio_list_bytes += orig_bio->bi_iter.bi_size; + + /* Update the dbitmap. */ + for (cur_logical = orig_logical; cur_logical < orig_logical + orig_len; + cur_logical += sectorsize) { + int bit = ((u32)(cur_logical - full_stripe_start) >> + fs_info->sectorsize_bits) % rbio->stripe_nsectors; + + set_bit(bit, rbio->dbitmap); + } +} + /* * our main entry point for writes from the rest of the FS. */ @@ -1849,9 +1908,8 @@ btrfs_put_bioc(bioc); return PTR_ERR(rbio); } - bio_list_add(&rbio->bio_list, bio); - rbio->bio_list_bytes = bio->bi_iter.bi_size; rbio->operation = BTRFS_RBIO_WRITE; + rbio_add_bio(rbio, bio); btrfs_bio_counter_inc_noblocked(fs_info); rbio->generic_bio_cnt = 1; @@ -2160,9 +2218,12 @@ atomic_set(&rbio->error, 0); /* - * read everything that hasn't failed. Thanks to the - * stripe cache, it is possible that some or all of these - * pages are going to be uptodate. + * Read everything that hasn't failed. However this time we will + * not trust any cached sector. + * As we may read out some stale data but higher layer is not reading + * that stale part. + * + * So here we always re-read everything in recovery path. */ for (stripe = 0; stripe < rbio->real_stripes; stripe++) { if (rbio->faila == stripe || rbio->failb == stripe) { @@ -2173,13 +2234,7 @@ for (sectornr = 0; sectornr < rbio->stripe_nsectors; sectornr++) { struct sector_ptr *sector; - /* - * the rmw code may have already read this - * page in - */ sector = rbio_stripe_sector(rbio, stripe, sectornr); - if (sector->uptodate) - continue; ret = rbio_add_io_sector(rbio, &bio_list, sector, stripe, sectornr, rbio->stripe_len, @@ -2256,8 +2311,7 @@ } rbio->operation = BTRFS_RBIO_READ_REBUILD; - bio_list_add(&rbio->bio_list, bio); - rbio->bio_list_bytes = bio->bi_iter.bi_size; + rbio_add_bio(rbio, bio); rbio->faila = find_logical_bio_stripe(rbio, bio); if (rbio->faila == -1) { @@ -2817,8 +2871,10 @@ rbio->faila = find_logical_bio_stripe(rbio, bio); if (rbio->faila == -1) { - BUG(); - kfree(rbio); + btrfs_warn_rl(fs_info, + "can not determine the failed stripe number for full stripe %llu", + bioc->raid_map[0]); + __free_raid_bio(rbio); return NULL; } --- linux-gcp-5.19.0.orig/fs/btrfs/rcu-string.h +++ linux-gcp-5.19.0/fs/btrfs/rcu-string.h @@ -18,7 +18,11 @@ (len * sizeof(char)), mask); if (!ret) return ret; - strncpy(ret->str, src, len); + /* Warn if the source got unexpectedly truncated. */ + if (WARN_ON(strscpy(ret->str, src, len) < 0)) { + kfree(ret); + return NULL; + } return ret; } --- linux-gcp-5.19.0.orig/fs/btrfs/relocation.c +++ linux-gcp-5.19.0/fs/btrfs/relocation.c @@ -1326,7 +1326,9 @@ btrfs_release_path(path); path->lowest_level = level; + set_bit(BTRFS_ROOT_RESET_LOCKDEP_CLASS, &src->state); ret = btrfs_search_slot(trans, src, &key, path, 0, 1); + clear_bit(BTRFS_ROOT_RESET_LOCKDEP_CLASS, &src->state); path->lowest_level = 0; if (ret) { if (ret > 0) @@ -3573,7 +3575,12 @@ */ return PTR_ERR(trans); } - return btrfs_commit_transaction(trans); + + ret = btrfs_commit_transaction(trans); + if (ret) + unset_reloc_control(rc); + + return ret; } static noinline_for_stack int relocate_block_group(struct reloc_control *rc) --- linux-gcp-5.19.0.orig/fs/btrfs/root-tree.c +++ linux-gcp-5.19.0/fs/btrfs/root-tree.c @@ -349,9 +349,10 @@ key.offset = ref_id; again: ret = btrfs_search_slot(trans, tree_root, &key, path, -1, 1); - if (ret < 0) + if (ret < 0) { + err = ret; goto out; - if (ret == 0) { + } else if (ret == 0) { leaf = path->nodes[0]; ref = btrfs_item_ptr(leaf, path->slots[0], struct btrfs_root_ref); --- linux-gcp-5.19.0.orig/fs/btrfs/scrub.c +++ linux-gcp-5.19.0/fs/btrfs/scrub.c @@ -731,6 +731,13 @@ dev = sblock->sectors[0]->dev; fs_info = sblock->sctx->fs_info; + /* Super block error, no need to search extent tree. */ + if (sblock->sectors[0]->flags & BTRFS_EXTENT_FLAG_SUPER) { + btrfs_warn_in_rcu(fs_info, "%s on device %s, physical %llu", + errstr, rcu_str_deref(dev->name), + sblock->sectors[0]->physical); + return; + } path = btrfs_alloc_path(); if (!path) return; @@ -806,7 +813,7 @@ static int scrub_handle_errored_block(struct scrub_block *sblock_to_check) { struct scrub_ctx *sctx = sblock_to_check->sctx; - struct btrfs_device *dev; + struct btrfs_device *dev = sblock_to_check->sectors[0]->dev; struct btrfs_fs_info *fs_info; u64 logical; unsigned int failed_mirror_index; @@ -827,13 +834,15 @@ fs_info = sctx->fs_info; if (sblock_to_check->sectors[0]->flags & BTRFS_EXTENT_FLAG_SUPER) { /* - * if we find an error in a super block, we just report it. + * If we find an error in a super block, we just report it. * They will get written with the next transaction commit * anyway */ + scrub_print_warning("super block error", sblock_to_check); spin_lock(&sctx->stat_lock); ++sctx->stat.super_errors; spin_unlock(&sctx->stat_lock); + btrfs_dev_stat_inc_and_print(dev, BTRFS_DEV_STAT_CORRUPTION_ERRS); return 0; } logical = sblock_to_check->sectors[0]->logical; @@ -842,7 +851,6 @@ is_metadata = !(sblock_to_check->sectors[0]->flags & BTRFS_EXTENT_FLAG_DATA); have_csum = sblock_to_check->sectors[0]->have_csum; - dev = sblock_to_check->sectors[0]->dev; if (!sctx->is_dev_replace && btrfs_repair_one_zone(fs_info, logical)) return 0; @@ -1773,7 +1781,7 @@ else if (flags & BTRFS_EXTENT_FLAG_TREE_BLOCK) ret = scrub_checksum_tree_block(sblock); else if (flags & BTRFS_EXTENT_FLAG_SUPER) - (void)scrub_checksum_super(sblock); + ret = scrub_checksum_super(sblock); else WARN_ON(1); if (ret) @@ -1912,23 +1920,6 @@ if (memcmp(calculated_csum, s->csum, sctx->fs_info->csum_size)) ++fail_cor; - if (fail_cor + fail_gen) { - /* - * if we find an error in a super block, we just report it. - * They will get written with the next transaction commit - * anyway - */ - spin_lock(&sctx->stat_lock); - ++sctx->stat.super_errors; - spin_unlock(&sctx->stat_lock); - if (fail_cor) - btrfs_dev_stat_inc_and_print(sector->dev, - BTRFS_DEV_STAT_CORRUPTION_ERRS); - else - btrfs_dev_stat_inc_and_print(sector->dev, - BTRFS_DEV_STAT_GENERATION_ERRS); - } - return fail_cor + fail_gen; } @@ -4121,6 +4112,7 @@ int ret; struct btrfs_device *dev; unsigned int nofs_flag; + bool need_commit = false; if (btrfs_fs_closing(fs_info)) return -EAGAIN; @@ -4224,6 +4216,12 @@ */ nofs_flag = memalloc_nofs_save(); if (!is_dev_replace) { + u64 old_super_errors; + + spin_lock(&sctx->stat_lock); + old_super_errors = sctx->stat.super_errors; + spin_unlock(&sctx->stat_lock); + btrfs_info(fs_info, "scrub: started on devid %llu", devid); /* * by holding device list mutex, we can @@ -4232,6 +4230,16 @@ mutex_lock(&fs_info->fs_devices->device_list_mutex); ret = scrub_supers(sctx, dev); mutex_unlock(&fs_info->fs_devices->device_list_mutex); + + spin_lock(&sctx->stat_lock); + /* + * Super block errors found, but we can not commit transaction + * at current context, since btrfs_commit_transaction() needs + * to pause the current running scrub (hold by ourselves). + */ + if (sctx->stat.super_errors > old_super_errors && !sctx->readonly) + need_commit = true; + spin_unlock(&sctx->stat_lock); } if (!ret) @@ -4258,6 +4266,25 @@ scrub_workers_put(fs_info); scrub_put_ctx(sctx); + /* + * We found some super block errors before, now try to force a + * transaction commit, as scrub has finished. + */ + if (need_commit) { + struct btrfs_trans_handle *trans; + + trans = btrfs_start_transaction(fs_info->tree_root, 0); + if (IS_ERR(trans)) { + ret = PTR_ERR(trans); + btrfs_err(fs_info, + "scrub: failed to start transaction to fix super block errors: %d", ret); + return ret; + } + ret = btrfs_commit_transaction(trans); + if (ret < 0) + btrfs_err(fs_info, + "scrub: failed to commit transaction to fix super block errors: %d", ret); + } return ret; out: scrub_workers_put(fs_info); --- linux-gcp-5.19.0.orig/fs/btrfs/send.c +++ linux-gcp-5.19.0/fs/btrfs/send.c @@ -5377,6 +5377,7 @@ u64 ext_len; u64 clone_len; u64 clone_data_offset; + bool crossed_src_i_size = false; if (slot >= btrfs_header_nritems(leaf)) { ret = btrfs_next_leaf(clone_root->root, path); @@ -5433,8 +5434,10 @@ if (key.offset >= clone_src_i_size) break; - if (key.offset + ext_len > clone_src_i_size) + if (key.offset + ext_len > clone_src_i_size) { ext_len = clone_src_i_size - key.offset; + crossed_src_i_size = true; + } clone_data_offset = btrfs_file_extent_offset(leaf, ei); if (btrfs_file_extent_disk_bytenr(leaf, ei) == disk_byte) { @@ -5494,6 +5497,25 @@ ret = send_clone(sctx, offset, clone_len, clone_root); } + } else if (crossed_src_i_size && clone_len < len) { + /* + * If we are at i_size of the clone source inode and we + * can not clone from it, terminate the loop. This is + * to avoid sending two write operations, one with a + * length matching clone_len and the final one after + * this loop with a length of len - clone_len. + * + * When using encoded writes (BTRFS_SEND_FLAG_COMPRESSED + * was passed to the send ioctl), this helps avoid + * sending an encoded write for an offset that is not + * sector size aligned, in case the i_size of the source + * inode is not sector size aligned. That will make the + * receiver fallback to decompression of the data and + * writing it using regular buffered IO, therefore while + * not incorrect, it's not optimal due decompression and + * possible re-compression at the receiver. + */ + break; } else { ret = send_extent_data(sctx, offset, clone_len); } @@ -7501,10 +7523,10 @@ /* * Check that we don't overflow at later allocations, we request * clone_sources_count + 1 items, and compare to unsigned long inside - * access_ok. + * access_ok. Also set an upper limit for allocation size so this can't + * easily exhaust memory. Max number of clone sources is about 200K. */ - if (arg->clone_sources_count > - ULONG_MAX / sizeof(struct clone_root) - 1) { + if (arg->clone_sources_count > SZ_8M / sizeof(struct clone_root)) { ret = -EINVAL; goto out; } --- linux-gcp-5.19.0.orig/fs/btrfs/space-info.c +++ linux-gcp-5.19.0/fs/btrfs/space-info.c @@ -9,6 +9,7 @@ #include "ordered-data.h" #include "transaction.h" #include "block-group.h" +#include "zoned.h" /* * HOW DOES SPACE RESERVATION WORK @@ -187,6 +188,37 @@ */ #define BTRFS_DEFAULT_ZONED_RECLAIM_THRESH (75) +/* + * Calculate chunk size depending on volume type (regular or zoned). + */ +static u64 calc_chunk_size(const struct btrfs_fs_info *fs_info, u64 flags) +{ + if (btrfs_is_zoned(fs_info)) + return fs_info->zone_size; + + ASSERT(flags & BTRFS_BLOCK_GROUP_TYPE_MASK); + + if (flags & BTRFS_BLOCK_GROUP_DATA) + return BTRFS_MAX_DATA_CHUNK_SIZE; + else if (flags & BTRFS_BLOCK_GROUP_SYSTEM) + return SZ_32M; + + /* Handle BTRFS_BLOCK_GROUP_METADATA */ + if (fs_info->fs_devices->total_rw_bytes > 50ULL * SZ_1G) + return SZ_1G; + + return SZ_256M; +} + +/* + * Update default chunk size. + */ +void btrfs_update_space_info_chunk_size(struct btrfs_space_info *space_info, + u64 chunk_size) +{ + WRITE_ONCE(space_info->chunk_size, chunk_size); +} + static int create_space_info(struct btrfs_fs_info *info, u64 flags) { @@ -208,6 +240,7 @@ INIT_LIST_HEAD(&space_info->tickets); INIT_LIST_HEAD(&space_info->priority_tickets); space_info->clamp = 1; + btrfs_update_space_info_chunk_size(space_info, calc_chunk_size(info, flags)); if (btrfs_is_zoned(info)) space_info->bg_reclaim_threshold = BTRFS_DEFAULT_ZONED_RECLAIM_THRESH; @@ -263,7 +296,7 @@ void btrfs_update_space_info(struct btrfs_fs_info *info, u64 flags, u64 total_bytes, u64 bytes_used, u64 bytes_readonly, u64 bytes_zone_unusable, - struct btrfs_space_info **space_info) + bool active, struct btrfs_space_info **space_info) { struct btrfs_space_info *found; int factor; @@ -274,6 +307,8 @@ ASSERT(found); spin_lock(&found->lock); found->total_bytes += total_bytes; + if (active) + found->active_total_bytes += total_bytes; found->disk_total += total_bytes * factor; found->bytes_used += bytes_used; found->disk_used += bytes_used * factor; @@ -337,6 +372,22 @@ return avail; } +static inline u64 writable_total_bytes(struct btrfs_fs_info *fs_info, + struct btrfs_space_info *space_info) +{ + /* + * On regular filesystem, all total_bytes are always writable. On zoned + * filesystem, there may be a limitation imposed by max_active_zones. + * For metadata allocation, we cannot finish an existing active block + * group to avoid a deadlock. Thus, we need to consider only the active + * groups to be writable for metadata space. + */ + if (!btrfs_is_zoned(fs_info) || (space_info->flags & BTRFS_BLOCK_GROUP_DATA)) + return space_info->total_bytes; + + return space_info->active_total_bytes; +} + int btrfs_can_overcommit(struct btrfs_fs_info *fs_info, struct btrfs_space_info *space_info, u64 bytes, enum btrfs_reserve_flush_enum flush) @@ -349,9 +400,13 @@ return 0; used = btrfs_space_info_used(space_info, true); - avail = calc_available_free_space(fs_info, space_info, flush); + if (test_bit(BTRFS_FS_NO_OVERCOMMIT, &fs_info->flags) && + (space_info->flags & BTRFS_BLOCK_GROUP_METADATA)) + avail = 0; + else + avail = calc_available_free_space(fs_info, space_info, flush); - if (used + bytes < space_info->total_bytes + avail) + if (used + bytes < writable_total_bytes(fs_info, space_info) + avail) return 1; return 0; } @@ -387,7 +442,7 @@ ticket = list_first_entry(head, struct reserve_ticket, list); /* Check and see if our ticket can be satisfied now. */ - if ((used + ticket->bytes <= space_info->total_bytes) || + if ((used + ticket->bytes <= writable_total_bytes(fs_info, space_info)) || btrfs_can_overcommit(fs_info, space_info, ticket->bytes, flush)) { btrfs_space_info_update_bytes_may_use(fs_info, @@ -671,6 +726,18 @@ break; case ALLOC_CHUNK: case ALLOC_CHUNK_FORCE: + /* + * For metadata space on zoned filesystem, reaching here means we + * don't have enough space left in active_total_bytes. Try to + * activate a block group first, because we may have inactive + * block group already allocated. + */ + ret = btrfs_zoned_activate_one_bg(fs_info, space_info, false); + if (ret < 0) + break; + else if (ret == 1) + break; + trans = btrfs_join_transaction(root); if (IS_ERR(trans)) { ret = PTR_ERR(trans); @@ -681,6 +748,23 @@ (state == ALLOC_CHUNK) ? CHUNK_ALLOC_NO_FORCE : CHUNK_ALLOC_FORCE); btrfs_end_transaction(trans); + + /* + * For metadata space on zoned filesystem, allocating a new chunk + * is not enough. We still need to activate the block * group. + * Active the newly allocated block group by (maybe) finishing + * a block group. + */ + if (ret == 1) { + ret = btrfs_zoned_activate_one_bg(fs_info, space_info, true); + /* + * Revert to the original ret regardless we could finish + * one block group or not. + */ + if (ret >= 0) + ret = 1; + } + if (ret > 0 || ret == -ENOSPC) ret = 0; break; @@ -718,6 +802,7 @@ { u64 used; u64 avail; + u64 total; u64 to_reclaim = space_info->reclaim_size; lockdep_assert_held(&space_info->lock); @@ -732,8 +817,9 @@ * space. If that's the case add in our overage so we make sure to put * appropriate pressure on the flushing state machine. */ - if (space_info->total_bytes + avail < used) - to_reclaim += used - (space_info->total_bytes + avail); + total = writable_total_bytes(fs_info, space_info); + if (total + avail < used) + to_reclaim += used - (total + avail); return to_reclaim; } @@ -743,9 +829,12 @@ { u64 global_rsv_size = fs_info->global_block_rsv.reserved; u64 ordered, delalloc; - u64 thresh = div_factor_fine(space_info->total_bytes, 90); + u64 total = writable_total_bytes(fs_info, space_info); + u64 thresh; u64 used; + thresh = div_factor_fine(total, 90); + lockdep_assert_held(&space_info->lock); /* If we're just plain full then async reclaim just slows us down. */ @@ -807,8 +896,8 @@ BTRFS_RESERVE_FLUSH_ALL); used = space_info->bytes_used + space_info->bytes_reserved + space_info->bytes_readonly + global_rsv_size; - if (used < space_info->total_bytes) - thresh += space_info->total_bytes - used; + if (used < total) + thresh += total - used; thresh >>= space_info->clamp; used = space_info->bytes_pinned; @@ -1525,7 +1614,7 @@ * can_overcommit() to ensure we can overcommit to continue. */ if (!pending_tickets && - ((used + orig_bytes <= space_info->total_bytes) || + ((used + orig_bytes <= writable_total_bytes(fs_info, space_info)) || btrfs_can_overcommit(fs_info, space_info, orig_bytes, flush))) { btrfs_space_info_update_bytes_may_use(fs_info, space_info, orig_bytes); --- linux-gcp-5.19.0.orig/fs/btrfs/space-info.h +++ linux-gcp-5.19.0/fs/btrfs/space-info.h @@ -19,12 +19,16 @@ u64 bytes_may_use; /* number of bytes that may be used for delalloc/allocations */ u64 bytes_readonly; /* total bytes that are read only */ + /* Total bytes in the space, but only accounts active block groups. */ + u64 active_total_bytes; u64 bytes_zone_unusable; /* total bytes that are unusable until resetting the device zone */ u64 max_extent_size; /* This will hold the maximum extent size of the space info if we had an ENOSPC in the allocator. */ + /* Chunk size in bytes */ + u64 chunk_size; /* * Once a block group drops below this threshold (percents) we'll @@ -122,7 +126,9 @@ void btrfs_update_space_info(struct btrfs_fs_info *info, u64 flags, u64 total_bytes, u64 bytes_used, u64 bytes_readonly, u64 bytes_zone_unusable, - struct btrfs_space_info **space_info); + bool active, struct btrfs_space_info **space_info); +void btrfs_update_space_info_chunk_size(struct btrfs_space_info *space_info, + u64 chunk_size); struct btrfs_space_info *btrfs_find_space_info(struct btrfs_fs_info *info, u64 flags); u64 __pure btrfs_space_info_used(struct btrfs_space_info *s_info, --- linux-gcp-5.19.0.orig/fs/btrfs/super.c +++ linux-gcp-5.19.0/fs/btrfs/super.c @@ -625,6 +625,7 @@ int saved_compress_level; bool saved_compress_force; int no_compress = 0; + const bool remounting = test_bit(BTRFS_FS_STATE_REMOUNTING, &info->fs_state); if (btrfs_fs_compat_ro(info, FREE_SPACE_TREE)) btrfs_set_opt(info->mount_opt, FREE_SPACE_TREE); @@ -1136,10 +1137,12 @@ } if (!ret) ret = btrfs_check_mountopts_zoned(info); - if (!ret && btrfs_test_opt(info, SPACE_CACHE)) - btrfs_info(info, "disk space caching is enabled"); - if (!ret && btrfs_test_opt(info, FREE_SPACE_TREE)) - btrfs_info(info, "using free space tree"); + if (!ret && !remounting) { + if (btrfs_test_opt(info, SPACE_CACHE)) + btrfs_info(info, "disk space caching is enabled"); + if (btrfs_test_opt(info, FREE_SPACE_TREE)) + btrfs_info(info, "using free space tree"); + } return ret; } @@ -2113,6 +2116,15 @@ ret = -EINVAL; goto restore; } + if (btrfs_super_compat_ro_flags(fs_info->super_copy) & + ~BTRFS_FEATURE_COMPAT_RO_SUPP) { + btrfs_err(fs_info, + "can not remount read-write due to unsupported optional flags 0x%llx", + btrfs_super_compat_ro_flags(fs_info->super_copy) & + ~BTRFS_FEATURE_COMPAT_RO_SUPP); + ret = -EINVAL; + goto restore; + } if (fs_info->fs_devices->rw_devices == 0) { ret = -EACCES; goto restore; @@ -2559,11 +2571,87 @@ return btrfs_commit_transaction(trans); } +static int check_dev_super(struct btrfs_device *dev) +{ + struct btrfs_fs_info *fs_info = dev->fs_info; + struct btrfs_super_block *sb; + u16 csum_type; + int ret = 0; + + /* This should be called with fs still frozen. */ + ASSERT(test_bit(BTRFS_FS_FROZEN, &fs_info->flags)); + + /* Missing dev, no need to check. */ + if (!dev->bdev) + return 0; + + /* Only need to check the primary super block. */ + sb = btrfs_read_dev_one_super(dev->bdev, 0, true); + if (IS_ERR(sb)) + return PTR_ERR(sb); + + /* Verify the checksum. */ + csum_type = btrfs_super_csum_type(sb); + if (csum_type != btrfs_super_csum_type(fs_info->super_copy)) { + btrfs_err(fs_info, "csum type changed, has %u expect %u", + csum_type, btrfs_super_csum_type(fs_info->super_copy)); + ret = -EUCLEAN; + goto out; + } + + if (btrfs_check_super_csum(fs_info, sb)) { + btrfs_err(fs_info, "csum for on-disk super block no longer matches"); + ret = -EUCLEAN; + goto out; + } + + /* Btrfs_validate_super() includes fsid check against super->fsid. */ + ret = btrfs_validate_super(fs_info, sb, 0); + if (ret < 0) + goto out; + + if (btrfs_super_generation(sb) != fs_info->last_trans_committed) { + btrfs_err(fs_info, "transid mismatch, has %llu expect %llu", + btrfs_super_generation(sb), + fs_info->last_trans_committed); + ret = -EUCLEAN; + goto out; + } +out: + btrfs_release_disk_super(sb); + return ret; +} + static int btrfs_unfreeze(struct super_block *sb) { struct btrfs_fs_info *fs_info = btrfs_sb(sb); + struct btrfs_device *device; + int ret = 0; + /* + * Make sure the fs is not changed by accident (like hibernation then + * modified by other OS). + * If we found anything wrong, we mark the fs error immediately. + * + * And since the fs is frozen, no one can modify the fs yet, thus + * we don't need to hold device_list_mutex. + */ + list_for_each_entry(device, &fs_info->fs_devices->devices, dev_list) { + ret = check_dev_super(device); + if (ret < 0) { + btrfs_handle_fs_error(fs_info, ret, + "super block on devid %llu got modified unexpectedly", + device->devid); + break; + } + } clear_bit(BTRFS_FS_FROZEN, &fs_info->flags); + + /* + * We still return 0, to allow VFS layer to unfreeze the fs even the + * above checks failed. Since the fs is either fine or read-only, we're + * safe to continue, without causing further damage. + */ return 0; } --- linux-gcp-5.19.0.orig/fs/btrfs/sysfs.c +++ linux-gcp-5.19.0/fs/btrfs/sysfs.c @@ -2082,8 +2082,11 @@ #ifdef CONFIG_BTRFS_DEBUG ret = sysfs_create_group(&btrfs_kset->kobj, &btrfs_debug_feature_attr_group); - if (ret) - goto out2; + if (ret) { + sysfs_unmerge_group(&btrfs_kset->kobj, + &btrfs_static_feature_attr_group); + goto out_remove_group; + } #endif return 0; --- linux-gcp-5.19.0.orig/fs/btrfs/tests/btrfs-tests.c +++ linux-gcp-5.19.0/fs/btrfs/tests/btrfs-tests.c @@ -199,7 +199,7 @@ void btrfs_free_dummy_root(struct btrfs_root *root) { - if (!root) + if (IS_ERR_OR_NULL(root)) return; /* Will be freed by btrfs_free_fs_roots */ if (WARN_ON(test_bit(BTRFS_ROOT_IN_RADIX, &root->state))) --- linux-gcp-5.19.0.orig/fs/btrfs/tests/qgroup-tests.c +++ linux-gcp-5.19.0/fs/btrfs/tests/qgroup-tests.c @@ -225,20 +225,20 @@ */ ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &old_roots, false); if (ret) { - ulist_free(old_roots); test_err("couldn't find old roots: %d", ret); return ret; } ret = insert_normal_tree_ref(root, nodesize, nodesize, 0, BTRFS_FS_TREE_OBJECTID); - if (ret) + if (ret) { + ulist_free(old_roots); return ret; + } ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &new_roots, false); if (ret) { ulist_free(old_roots); - ulist_free(new_roots); test_err("couldn't find old roots: %d", ret); return ret; } @@ -250,29 +250,31 @@ return ret; } + /* btrfs_qgroup_account_extent() always frees the ulists passed to it. */ + old_roots = NULL; + new_roots = NULL; + if (btrfs_verify_qgroup_counts(fs_info, BTRFS_FS_TREE_OBJECTID, nodesize, nodesize)) { test_err("qgroup counts didn't match expected values"); return -EINVAL; } - old_roots = NULL; - new_roots = NULL; ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &old_roots, false); if (ret) { - ulist_free(old_roots); test_err("couldn't find old roots: %d", ret); return ret; } ret = remove_extent_item(root, nodesize, nodesize); - if (ret) + if (ret) { + ulist_free(old_roots); return -EINVAL; + } ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &new_roots, false); if (ret) { ulist_free(old_roots); - ulist_free(new_roots); test_err("couldn't find old roots: %d", ret); return ret; } @@ -322,20 +324,20 @@ ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &old_roots, false); if (ret) { - ulist_free(old_roots); test_err("couldn't find old roots: %d", ret); return ret; } ret = insert_normal_tree_ref(root, nodesize, nodesize, 0, BTRFS_FS_TREE_OBJECTID); - if (ret) + if (ret) { + ulist_free(old_roots); return ret; + } ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &new_roots, false); if (ret) { ulist_free(old_roots); - ulist_free(new_roots); test_err("couldn't find old roots: %d", ret); return ret; } @@ -355,20 +357,20 @@ ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &old_roots, false); if (ret) { - ulist_free(old_roots); test_err("couldn't find old roots: %d", ret); return ret; } ret = add_tree_ref(root, nodesize, nodesize, 0, BTRFS_FIRST_FREE_OBJECTID); - if (ret) + if (ret) { + ulist_free(old_roots); return ret; + } ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &new_roots, false); if (ret) { ulist_free(old_roots); - ulist_free(new_roots); test_err("couldn't find old roots: %d", ret); return ret; } @@ -394,20 +396,20 @@ ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &old_roots, false); if (ret) { - ulist_free(old_roots); test_err("couldn't find old roots: %d", ret); return ret; } ret = remove_extent_ref(root, nodesize, nodesize, 0, BTRFS_FIRST_FREE_OBJECTID); - if (ret) + if (ret) { + ulist_free(old_roots); return ret; + } ret = btrfs_find_all_roots(&trans, fs_info, nodesize, 0, &new_roots, false); if (ret) { ulist_free(old_roots); - ulist_free(new_roots); test_err("couldn't find old roots: %d", ret); return ret; } --- linux-gcp-5.19.0.orig/fs/btrfs/tree-checker.c +++ linux-gcp-5.19.0/fs/btrfs/tree-checker.c @@ -1233,7 +1233,8 @@ } static int check_extent_item(struct extent_buffer *leaf, - struct btrfs_key *key, int slot) + struct btrfs_key *key, int slot, + struct btrfs_key *prev_key) { struct btrfs_fs_info *fs_info = leaf->fs_info; struct btrfs_extent_item *ei; @@ -1453,6 +1454,26 @@ total_refs, inline_refs); return -EUCLEAN; } + + if ((prev_key->type == BTRFS_EXTENT_ITEM_KEY) || + (prev_key->type == BTRFS_METADATA_ITEM_KEY)) { + u64 prev_end = prev_key->objectid; + + if (prev_key->type == BTRFS_METADATA_ITEM_KEY) + prev_end += fs_info->nodesize; + else + prev_end += prev_key->offset; + + if (unlikely(prev_end > key->objectid)) { + extent_err(leaf, slot, + "previous extent [%llu %u %llu] overlaps current extent [%llu %u %llu]", + prev_key->objectid, prev_key->type, + prev_key->offset, key->objectid, key->type, + key->offset); + return -EUCLEAN; + } + } + return 0; } @@ -1621,7 +1642,7 @@ break; case BTRFS_EXTENT_ITEM_KEY: case BTRFS_METADATA_ITEM_KEY: - ret = check_extent_item(leaf, key, slot); + ret = check_extent_item(leaf, key, slot, prev_key); break; case BTRFS_TREE_BLOCK_REF_KEY: case BTRFS_SHARED_DATA_REF_KEY: --- linux-gcp-5.19.0.orig/fs/btrfs/tree-defrag.c +++ linux-gcp-5.19.0/fs/btrfs/tree-defrag.c @@ -31,8 +31,10 @@ goto out; path = btrfs_alloc_path(); - if (!path) - return -ENOMEM; + if (!path) { + ret = -ENOMEM; + goto out; + } level = btrfs_header_level(root->node); --- linux-gcp-5.19.0.orig/fs/btrfs/tree-log.c +++ linux-gcp-5.19.0/fs/btrfs/tree-log.c @@ -171,7 +171,7 @@ int index = (root->log_transid + 1) % 2; if (btrfs_need_log_full_commit(trans)) { - ret = -EAGAIN; + ret = BTRFS_LOG_FORCE_COMMIT; goto out; } @@ -194,7 +194,7 @@ * writing. */ if (zoned && !created) { - ret = -EAGAIN; + ret = BTRFS_LOG_FORCE_COMMIT; goto out; } @@ -1146,7 +1146,9 @@ extref = btrfs_lookup_inode_extref(NULL, root, path, name, namelen, inode_objectid, parent_objectid, 0, 0); - if (!IS_ERR_OR_NULL(extref)) { + if (IS_ERR(extref)) { + return PTR_ERR(extref); + } else if (extref) { u32 item_size; u32 cur_offset = 0; unsigned long base; @@ -1457,7 +1459,7 @@ * on the inode will not free it. We will fixup the link count later. */ if (other_inode->i_nlink == 0) - inc_nlink(other_inode); + set_nlink(other_inode, 1); add_link: ret = btrfs_add_link(trans, BTRFS_I(dir), BTRFS_I(inode), name, namelen, 0, ref_index); @@ -1600,7 +1602,7 @@ * free it. We will fixup the link count later. */ if (!ret && inode->i_nlink == 0) - inc_nlink(inode); + set_nlink(inode, 1); } if (ret < 0) goto out; @@ -3121,7 +3123,7 @@ /* bail out if we need to do a full commit */ if (btrfs_need_log_full_commit(trans)) { - ret = -EAGAIN; + ret = BTRFS_LOG_FORCE_COMMIT; mutex_unlock(&root->log_mutex); goto out; } @@ -3149,7 +3151,6 @@ ret = 0; if (ret) { blk_finish_plug(&plug); - btrfs_abort_transaction(trans, ret); btrfs_set_log_full_commit(trans); mutex_unlock(&root->log_mutex); goto out; @@ -3222,7 +3223,7 @@ } btrfs_wait_tree_log_extents(log, mark); mutex_unlock(&log_root_tree->log_mutex); - ret = -EAGAIN; + ret = BTRFS_LOG_FORCE_COMMIT; goto out; } @@ -3261,7 +3262,7 @@ blk_finish_plug(&plug); btrfs_wait_tree_log_extents(log, mark); mutex_unlock(&log_root_tree->log_mutex); - ret = -EAGAIN; + ret = BTRFS_LOG_FORCE_COMMIT; goto out_wake_log_root; } @@ -3281,7 +3282,6 @@ goto out_wake_log_root; } else if (ret) { btrfs_set_log_full_commit(trans); - btrfs_abort_transaction(trans, ret); mutex_unlock(&log_root_tree->log_mutex); goto out_wake_log_root; } @@ -3832,15 +3832,29 @@ u64 *last_old_dentry_offset) { struct btrfs_root *log = inode->root->log_root; - struct extent_buffer *src = path->nodes[0]; - const int nritems = btrfs_header_nritems(src); + struct extent_buffer *src; + const int nritems = btrfs_header_nritems(path->nodes[0]); const u64 ino = btrfs_ino(inode); bool last_found = false; int batch_start = 0; int batch_size = 0; int i; - for (i = path->slots[0]; i < nritems; i++) { + /* + * We need to clone the leaf, release the read lock on it, and use the + * clone before modifying the log tree. See the comment at copy_items() + * about why we need to do this. + */ + src = btrfs_clone_extent_buffer(path->nodes[0]); + if (!src) + return -ENOMEM; + + i = path->slots[0]; + btrfs_release_path(path); + path->nodes[0] = src; + path->slots[0] = i; + + for (; i < nritems; i++) { struct btrfs_dir_item *di; struct btrfs_key key; int ret; @@ -4021,7 +4035,10 @@ path->slots[0]); if (tmp.type == BTRFS_DIR_INDEX_KEY) last_old_dentry_offset = tmp.offset; + } else if (ret < 0) { + err = ret; } + goto done; } @@ -4041,7 +4058,11 @@ */ if (tmp.type == BTRFS_DIR_INDEX_KEY) last_old_dentry_offset = tmp.offset; + } else if (ret < 0) { + err = ret; + goto done; } + btrfs_release_path(path); /* @@ -4054,6 +4075,8 @@ */ search: ret = btrfs_search_slot(NULL, root, &min_key, path, 0, 0); + if (ret < 0) + err = ret; if (ret != 0) goto done; @@ -4412,7 +4435,7 @@ { struct btrfs_root *log = inode->root->log_root; struct btrfs_file_extent_item *extent; - struct extent_buffer *src = src_path->nodes[0]; + struct extent_buffer *src; int ret = 0; struct btrfs_key *ins_keys; u32 *ins_sizes; @@ -4423,6 +4446,43 @@ const bool skip_csum = (inode->flags & BTRFS_INODE_NODATASUM); const u64 i_size = i_size_read(&inode->vfs_inode); + /* + * To keep lockdep happy and avoid deadlocks, clone the source leaf and + * use the clone. This is because otherwise we would be changing the log + * tree, to insert items from the subvolume tree or insert csum items, + * while holding a read lock on a leaf from the subvolume tree, which + * creates a nasty lock dependency when COWing log tree nodes/leaves: + * + * 1) Modifying the log tree triggers an extent buffer allocation while + * holding a write lock on a parent extent buffer from the log tree. + * Allocating the pages for an extent buffer, or the extent buffer + * struct, can trigger inode eviction and finally the inode eviction + * will trigger a release/remove of a delayed node, which requires + * taking the delayed node's mutex; + * + * 2) Allocating a metadata extent for a log tree can trigger the async + * reclaim thread and make us wait for it to release enough space and + * unblock our reservation ticket. The reclaim thread can start + * flushing delayed items, and that in turn results in the need to + * lock delayed node mutexes and in the need to write lock extent + * buffers of a subvolume tree - all this while holding a write lock + * on the parent extent buffer in the log tree. + * + * So one task in scenario 1) running in parallel with another task in + * scenario 2) could lead to a deadlock, one wanting to lock a delayed + * node mutex while having a read lock on a leaf from the subvolume, + * while the other is holding the delayed node's mutex and wants to + * write lock the same subvolume leaf for flushing delayed items. + */ + src = btrfs_clone_extent_buffer(src_path->nodes[0]); + if (!src) + return -ENOMEM; + + i = src_path->slots[0]; + btrfs_release_path(src_path); + src_path->nodes[0] = src; + src_path->slots[0] = i; + ins_data = kmalloc(nr * sizeof(struct btrfs_key) + nr * sizeof(u32), GFP_NOFS); if (!ins_data) @@ -5848,7 +5908,7 @@ inode_only == LOG_INODE_ALL && inode->last_unlink_trans >= trans->transid) { btrfs_set_log_full_commit(trans); - ret = 1; + ret = BTRFS_LOG_FORCE_COMMIT; goto out_unlock; } @@ -6562,12 +6622,12 @@ bool log_dentries = false; if (btrfs_test_opt(fs_info, NOTREELOG)) { - ret = 1; + ret = BTRFS_LOG_FORCE_COMMIT; goto end_no_trans; } if (btrfs_root_refs(&root->root_item) == 0) { - ret = 1; + ret = BTRFS_LOG_FORCE_COMMIT; goto end_no_trans; } @@ -6665,7 +6725,7 @@ end_trans: if (ret < 0) { btrfs_set_log_full_commit(trans); - ret = 1; + ret = BTRFS_LOG_FORCE_COMMIT; } if (ret) @@ -7029,8 +7089,15 @@ * anyone from syncing the log until we have updated both inodes * in the log. */ + ret = join_running_log_trans(root); + /* + * At least one of the inodes was logged before, so this should + * not fail, but if it does, it's not serious, just bail out and + * mark the log for a full commit. + */ + if (WARN_ON_ONCE(ret < 0)) + goto out; log_pinned = true; - btrfs_pin_log_trans(root); path = btrfs_alloc_path(); if (!path) { --- linux-gcp-5.19.0.orig/fs/btrfs/tree-log.h +++ linux-gcp-5.19.0/fs/btrfs/tree-log.h @@ -12,6 +12,9 @@ /* return value for btrfs_log_dentry_safe that means we don't need to log it at all */ #define BTRFS_NO_LOG_SYNC 256 +/* We can't use the tree log for whatever reason, force a transaction commit */ +#define BTRFS_LOG_FORCE_COMMIT (1) + struct btrfs_log_ctx { int log_ret; int log_transid; --- linux-gcp-5.19.0.orig/fs/btrfs/volumes.c +++ linux-gcp-5.19.0/fs/btrfs/volumes.c @@ -400,6 +400,7 @@ static void free_fs_devices(struct btrfs_fs_devices *fs_devices) { struct btrfs_device *device; + WARN_ON(fs_devices->opened); while (!list_empty(&fs_devices->devices)) { device = list_entry(fs_devices->devices.next, @@ -1003,6 +1004,18 @@ rcu_assign_pointer(device->name, name); } + if (orig_dev->zone_info) { + struct btrfs_zoned_device_info *zone_info; + + zone_info = btrfs_clone_dev_zone_info(orig_dev); + if (!zone_info) { + btrfs_free_device(device); + ret = -ENOMEM; + goto error; + } + device->zone_info = zone_info; + } + list_add(&device->dev_list, &fs_devices->devices); device->fs_devices = fs_devices; fs_devices->num_devices++; @@ -1165,9 +1178,22 @@ mutex_lock(&uuid_mutex); close_fs_devices(fs_devices); - if (!fs_devices->opened) + if (!fs_devices->opened) { list_splice_init(&fs_devices->seed_list, &list); + /* + * If the struct btrfs_fs_devices is not assembled with any + * other device, it can be re-initialized during the next mount + * without the needing device-scan step. Therefore, it can be + * fully freed. + */ + if (fs_devices->num_devices == 1) { + list_del(&fs_devices->fs_list); + free_fs_devices(fs_devices); + } + } + + list_for_each_entry_safe(fs_devices, tmp, &list, seed_list) { close_fs_devices(fs_devices); list_del(&fs_devices->seed_list); @@ -1588,7 +1614,7 @@ if (ret < 0) goto out; - while (1) { + while (search_start < search_end) { l = path->nodes[0]; slot = path->slots[0]; if (slot >= btrfs_header_nritems(l)) { @@ -1611,6 +1637,9 @@ if (key.type != BTRFS_DEV_EXTENT_KEY) goto next; + if (key.offset > search_end) + break; + if (key.offset > search_start) { hole_size = key.offset - search_start; dev_extent_hole_check(device, &search_start, &hole_size, @@ -1671,6 +1700,7 @@ else ret = 0; + ASSERT(max_hole_start + max_hole_size <= search_end); out: btrfs_free_path(path); *start = max_hole_start; @@ -2016,7 +2046,7 @@ struct page *page; int ret; - disk_super = btrfs_read_dev_one_super(bdev, copy_num); + disk_super = btrfs_read_dev_one_super(bdev, copy_num, false); if (IS_ERR(disk_super)) continue; @@ -2344,8 +2374,11 @@ ret = btrfs_get_bdev_and_sb(path, FMODE_READ, fs_info->bdev_holder, 0, &bdev, &disk_super); - if (ret) + if (ret) { + btrfs_put_dev_args_from_path(args); return ret; + } + args->devid = btrfs_stack_device_id(&disk_super->dev_item); memcpy(args->uuid, disk_super->dev_item.uuid, BTRFS_UUID_SIZE); if (btrfs_fs_incompat(fs_info, METADATA_UUID)) @@ -5071,26 +5104,16 @@ struct btrfs_fs_devices *fs_devices, struct alloc_chunk_ctl *ctl) { - u64 type = ctl->type; + struct btrfs_space_info *space_info; - if (type & BTRFS_BLOCK_GROUP_DATA) { - ctl->max_stripe_size = SZ_1G; - ctl->max_chunk_size = BTRFS_MAX_DATA_CHUNK_SIZE; - } else if (type & BTRFS_BLOCK_GROUP_METADATA) { - /* For larger filesystems, use larger metadata chunks */ - if (fs_devices->total_rw_bytes > 50ULL * SZ_1G) - ctl->max_stripe_size = SZ_1G; - else - ctl->max_stripe_size = SZ_256M; - ctl->max_chunk_size = ctl->max_stripe_size; - } else if (type & BTRFS_BLOCK_GROUP_SYSTEM) { - ctl->max_stripe_size = SZ_32M; - ctl->max_chunk_size = 2 * ctl->max_stripe_size; - ctl->devs_max = min_t(int, ctl->devs_max, - BTRFS_MAX_DEVS_SYS_CHUNK); - } else { - BUG(); - } + space_info = btrfs_find_space_info(fs_devices->fs_info, ctl->type); + ASSERT(space_info); + + ctl->max_chunk_size = READ_ONCE(space_info->chunk_size); + ctl->max_stripe_size = ctl->max_chunk_size; + + if (ctl->type & BTRFS_BLOCK_GROUP_SYSTEM) + ctl->devs_max = min_t(int, ctl->devs_max, BTRFS_MAX_DEVS_SYS_CHUNK); /* We don't want a chunk larger than 10% of writable space */ ctl->max_chunk_size = min(div_factor(fs_devices->total_rw_bytes, 1), @@ -5273,6 +5296,9 @@ ctl->stripe_size); } + /* Stripe size should not go beyond 1G. */ + ctl->stripe_size = min_t(u64, ctl->stripe_size, SZ_1G); + /* Align to BTRFS_STRIPE_LEN */ ctl->stripe_size = round_down(ctl->stripe_size, BTRFS_STRIPE_LEN); ctl->chunk_size = ctl->stripe_size * data_stripes; @@ -6824,18 +6850,18 @@ static bool dev_args_match_device(const struct btrfs_dev_lookup_args *args, const struct btrfs_device *device) { - ASSERT((args->devid != (u64)-1) || args->missing); + if (args->missing) { + if (test_bit(BTRFS_DEV_STATE_IN_FS_METADATA, &device->dev_state) && + !device->bdev) + return true; + return false; + } - if ((args->devid != (u64)-1) && device->devid != args->devid) + if (device->devid != args->devid) return false; if (args->uuid && memcmp(device->uuid, args->uuid, BTRFS_UUID_SIZE) != 0) return false; - if (!args->missing) - return true; - if (test_bit(BTRFS_DEV_STATE_IN_FS_METADATA, &device->dev_state) && - !device->bdev) - return true; - return false; + return true; } /* @@ -7125,8 +7151,9 @@ map->stripes[i].dev = handle_missing_device(fs_info, devid, uuid); if (IS_ERR(map->stripes[i].dev)) { + ret = PTR_ERR(map->stripes[i].dev); free_extent_map(em); - return PTR_ERR(map->stripes[i].dev); + return ret; } } @@ -7639,10 +7666,11 @@ return ret; } -void btrfs_init_devices_late(struct btrfs_fs_info *fs_info) +int btrfs_init_devices_late(struct btrfs_fs_info *fs_info) { struct btrfs_fs_devices *fs_devices = fs_info->fs_devices, *seed_devs; struct btrfs_device *device; + int ret = 0; fs_devices->fs_info = fs_info; @@ -7651,12 +7679,18 @@ device->fs_info = fs_info; list_for_each_entry(seed_devs, &fs_devices->seed_list, seed_list) { - list_for_each_entry(device, &seed_devs->devices, dev_list) + list_for_each_entry(device, &seed_devs->devices, dev_list) { device->fs_info = fs_info; + ret = btrfs_get_dev_zone_info(device, false); + if (ret) + break; + } seed_devs->fs_info = fs_info; } mutex_unlock(&fs_devices->device_list_mutex); + + return ret; } static u64 btrfs_dev_stats_value(const struct extent_buffer *eb, --- linux-gcp-5.19.0.orig/fs/btrfs/volumes.h +++ linux-gcp-5.19.0/fs/btrfs/volumes.h @@ -591,7 +591,7 @@ void btrfs_dev_stat_inc_and_print(struct btrfs_device *dev, int index); int btrfs_get_dev_stats(struct btrfs_fs_info *fs_info, struct btrfs_ioctl_get_dev_stats *stats); -void btrfs_init_devices_late(struct btrfs_fs_info *fs_info); +int btrfs_init_devices_late(struct btrfs_fs_info *fs_info); int btrfs_init_dev_stats(struct btrfs_fs_info *fs_info); int btrfs_run_dev_stats(struct btrfs_trans_handle *trans); void btrfs_rm_dev_replace_remove_srcdev(struct btrfs_device *srcdev); --- linux-gcp-5.19.0.orig/fs/btrfs/xattr.c +++ linux-gcp-5.19.0/fs/btrfs/xattr.c @@ -371,6 +371,9 @@ const char *name, const void *buffer, size_t size, int flags) { + if (btrfs_root_readonly(BTRFS_I(inode)->root)) + return -EROFS; + name = xattr_full_name(handler, name); return btrfs_setxattr_trans(inode, name, buffer, size, flags); } --- linux-gcp-5.19.0.orig/fs/btrfs/zlib.c +++ linux-gcp-5.19.0/fs/btrfs/zlib.c @@ -63,7 +63,7 @@ workspacesize = max(zlib_deflate_workspacesize(MAX_WBITS, MAX_MEM_LEVEL), zlib_inflate_workspacesize()); - workspace->strm.workspace = kvmalloc(workspacesize, GFP_KERNEL); + workspace->strm.workspace = kvzalloc(workspacesize, GFP_KERNEL); workspace->level = level; workspace->buf = NULL; /* --- linux-gcp-5.19.0.orig/fs/btrfs/zoned.c +++ linux-gcp-5.19.0/fs/btrfs/zoned.c @@ -134,7 +134,8 @@ super[i] = page_address(page[i]); } - if (super[0]->generation > super[1]->generation) + if (btrfs_super_generation(super[0]) > + btrfs_super_generation(super[1])) sector = zones[1].start; else sector = zones[0].start; @@ -415,6 +416,25 @@ nr_sectors = bdev_nr_sectors(bdev); zone_info->zone_size_shift = ilog2(zone_info->zone_size); zone_info->nr_zones = nr_sectors >> ilog2(zone_sectors); + /* + * We limit max_zone_append_size also by max_segments * + * PAGE_SIZE. Technically, we can have multiple pages per segment. But, + * since btrfs adds the pages one by one to a bio, and btrfs cannot + * increase the metadata reservation even if it increases the number of + * extents, it is safe to stick with the limit. + * + * With the zoned emulation, we can have non-zoned device on the zoned + * mode. In this case, we don't have a valid max zone append size. So, + * use max_segments * PAGE_SIZE as the pseudo max_zone_append_size. + */ + if (bdev_is_zoned(bdev)) { + zone_info->max_zone_append_size = min_t(u64, + (u64)bdev_max_zone_append_sectors(bdev) << SECTOR_SHIFT, + (u64)bdev_max_segments(bdev) << PAGE_SHIFT); + } else { + zone_info->max_zone_append_size = + (u64)bdev_max_segments(bdev) << PAGE_SHIFT; + } if (!IS_ALIGNED(nr_sectors, zone_sectors)) zone_info->nr_zones++; @@ -447,7 +467,7 @@ goto out; } - zones = kcalloc(BTRFS_REPORT_NR_ZONES, sizeof(struct blk_zone), GFP_KERNEL); + zones = kvcalloc(BTRFS_REPORT_NR_ZONES, sizeof(struct blk_zone), GFP_KERNEL); if (!zones) { ret = -ENOMEM; goto out; @@ -518,6 +538,8 @@ } atomic_set(&zone_info->active_zones_left, max_active_zones - nactive); + /* Overcommit does not work well with active zone tacking. */ + set_bit(BTRFS_FS_NO_OVERCOMMIT, &fs_info->flags); } /* Validate superblock log */ @@ -566,7 +588,7 @@ } - kfree(zones); + kvfree(zones); switch (bdev_zoned_model(bdev)) { case BLK_ZONED_HM: @@ -598,7 +620,7 @@ return 0; out: - kfree(zones); + kvfree(zones); out_free_zone_info: btrfs_destroy_dev_zone_info(device); @@ -620,6 +642,46 @@ device->zone_info = NULL; } +struct btrfs_zoned_device_info *btrfs_clone_dev_zone_info(struct btrfs_device *orig_dev) +{ + struct btrfs_zoned_device_info *zone_info; + + zone_info = kmemdup(orig_dev->zone_info, sizeof(*zone_info), GFP_KERNEL); + if (!zone_info) + return NULL; + + zone_info->seq_zones = bitmap_zalloc(zone_info->nr_zones, GFP_KERNEL); + if (!zone_info->seq_zones) + goto out; + + bitmap_copy(zone_info->seq_zones, orig_dev->zone_info->seq_zones, + zone_info->nr_zones); + + zone_info->empty_zones = bitmap_zalloc(zone_info->nr_zones, GFP_KERNEL); + if (!zone_info->empty_zones) + goto out; + + bitmap_copy(zone_info->empty_zones, orig_dev->zone_info->empty_zones, + zone_info->nr_zones); + + zone_info->active_zones = bitmap_zalloc(zone_info->nr_zones, GFP_KERNEL); + if (!zone_info->active_zones) + goto out; + + bitmap_copy(zone_info->active_zones, orig_dev->zone_info->active_zones, + zone_info->nr_zones); + zone_info->zone_cache = NULL; + + return zone_info; + +out: + bitmap_free(zone_info->seq_zones); + bitmap_free(zone_info->empty_zones); + bitmap_free(zone_info->active_zones); + kfree(zone_info); + return NULL; +} + int btrfs_get_dev_zone(struct btrfs_device *device, u64 pos, struct blk_zone *zone) { @@ -640,6 +702,7 @@ u64 zoned_devices = 0; u64 nr_devices = 0; u64 zone_size = 0; + u64 max_zone_append_size = 0; const bool incompat_zoned = btrfs_fs_incompat(fs_info, ZONED); int ret = 0; @@ -674,6 +737,11 @@ ret = -EINVAL; goto out; } + if (!max_zone_append_size || + (zone_info->max_zone_append_size && + zone_info->max_zone_append_size < max_zone_append_size)) + max_zone_append_size = + zone_info->max_zone_append_size; } nr_devices++; } @@ -723,7 +791,11 @@ } fs_info->zone_size = zone_size; + fs_info->max_zone_append_size = ALIGN_DOWN(max_zone_append_size, + fs_info->sectorsize); fs_info->fs_devices->chunk_alloc_policy = BTRFS_CHUNK_ALLOC_ZONED; + if (fs_info->max_zone_append_size < fs_info->max_extent_size) + fs_info->max_extent_size = fs_info->max_zone_append_size; /* * Check mount options here, because we might change fs_info->zoned @@ -1158,7 +1230,7 @@ * offset. */ static int calculate_alloc_pointer(struct btrfs_block_group *cache, - u64 *offset_ret) + u64 *offset_ret, bool new) { struct btrfs_fs_info *fs_info = cache->fs_info; struct btrfs_root *root; @@ -1168,6 +1240,21 @@ int ret; u64 length; + /* + * Avoid tree lookups for a new block group, there's no use for it. + * It must always be 0. + * + * Also, we have a lock chain of extent buffer lock -> chunk mutex. + * For new a block group, this function is called from + * btrfs_make_block_group() which is already taking the chunk mutex. + * Thus, we cannot call calculate_alloc_pointer() which takes extent + * buffer locks to avoid deadlock. + */ + if (new) { + *offset_ret = 0; + return 0; + } + path = btrfs_alloc_path(); if (!path) return -ENOMEM; @@ -1303,6 +1390,13 @@ else num_conventional++; + /* + * Consider a zone as active if we can allow any number of + * active zones. + */ + if (!device->zone_info->max_active_zones) + __set_bit(i, active); + if (!is_sequential) { alloc_offsets[i] = WP_CONVENTIONAL; continue; @@ -1369,45 +1463,23 @@ __set_bit(i, active); break; } - - /* - * Consider a zone as active if we can allow any number of - * active zones. - */ - if (!device->zone_info->max_active_zones) - __set_bit(i, active); } if (num_sequential > 0) cache->seq_zone = true; if (num_conventional > 0) { - /* - * Avoid calling calculate_alloc_pointer() for new BG. It - * is no use for new BG. It must be always 0. - * - * Also, we have a lock chain of extent buffer lock -> - * chunk mutex. For new BG, this function is called from - * btrfs_make_block_group() which is already taking the - * chunk mutex. Thus, we cannot call - * calculate_alloc_pointer() which takes extent buffer - * locks to avoid deadlock. - */ - /* Zone capacity is always zone size in emulation */ cache->zone_capacity = cache->length; - if (new) { - cache->alloc_offset = 0; - goto out; - } - ret = calculate_alloc_pointer(cache, &last_alloc); - if (ret || map->num_stripes == num_conventional) { - if (!ret) - cache->alloc_offset = last_alloc; - else - btrfs_err(fs_info, + ret = calculate_alloc_pointer(cache, &last_alloc, new); + if (ret) { + btrfs_err(fs_info, "zoned: failed to determine allocation offset of bg %llu", - cache->start); + cache->start); + goto out; + } else if (map->num_stripes == num_conventional) { + cache->alloc_offset = last_alloc; + cache->zone_is_active = 1; goto out; } } @@ -1475,13 +1547,6 @@ goto out; } - if (cache->zone_is_active) { - btrfs_get_block_group(cache); - spin_lock(&fs_info->zone_active_bgs_lock); - list_add_tail(&cache->active_bg_list, &fs_info->zone_active_bgs); - spin_unlock(&fs_info->zone_active_bgs_lock); - } - out: if (cache->alloc_offset > fs_info->zone_size) { btrfs_err(fs_info, @@ -1506,10 +1571,16 @@ ret = -EIO; } - if (!ret) + if (!ret) { cache->meta_write_pointer = cache->alloc_offset + cache->start; - - if (ret) { + if (cache->zone_is_active) { + btrfs_get_block_group(cache); + spin_lock(&fs_info->zone_active_bgs_lock); + list_add_tail(&cache->active_bg_list, + &fs_info->zone_active_bgs); + spin_unlock(&fs_info->zone_active_bgs_lock); + } + } else { kfree(cache->physical_map); cache->physical_map = NULL; } @@ -1829,6 +1900,7 @@ bool btrfs_zone_activate(struct btrfs_block_group *block_group) { struct btrfs_fs_info *fs_info = block_group->fs_info; + struct btrfs_space_info *space_info = block_group->space_info; struct map_lookup *map; struct btrfs_device *device; u64 physical; @@ -1840,6 +1912,7 @@ map = block_group->physical_map; + spin_lock(&space_info->lock); spin_lock(&block_group->lock); if (block_group->zone_is_active) { ret = true; @@ -1868,7 +1941,10 @@ /* Successfully activated all the zones */ block_group->zone_is_active = 1; + space_info->active_total_bytes += block_group->length; spin_unlock(&block_group->lock); + btrfs_try_granting_tickets(fs_info, space_info); + spin_unlock(&space_info->lock); /* For the active block group list */ btrfs_get_block_group(block_group); @@ -1881,13 +1957,48 @@ out_unlock: spin_unlock(&block_group->lock); + spin_unlock(&space_info->lock); return ret; } +static void wait_eb_writebacks(struct btrfs_block_group *block_group) +{ + struct btrfs_fs_info *fs_info = block_group->fs_info; + const u64 end = block_group->start + block_group->length; + struct radix_tree_iter iter; + struct extent_buffer *eb; + void __rcu **slot; + + rcu_read_lock(); + radix_tree_for_each_slot(slot, &fs_info->buffer_radix, &iter, + block_group->start >> fs_info->sectorsize_bits) { + eb = radix_tree_deref_slot(slot); + if (!eb) + continue; + if (radix_tree_deref_retry(eb)) { + slot = radix_tree_iter_retry(&iter); + continue; + } + + if (eb->start < block_group->start) + continue; + if (eb->start >= end) + break; + + slot = radix_tree_iter_resume(slot, &iter); + rcu_read_unlock(); + wait_on_extent_buffer_writeback(eb); + rcu_read_lock(); + } + rcu_read_unlock(); +} + static int do_zone_finish(struct btrfs_block_group *block_group, bool fully_written) { struct btrfs_fs_info *fs_info = block_group->fs_info; struct map_lookup *map; + const bool is_metadata = (block_group->flags & + (BTRFS_BLOCK_GROUP_METADATA | BTRFS_BLOCK_GROUP_SYSTEM)); int ret = 0; int i; @@ -1898,8 +2009,7 @@ } /* Check if we have unwritten allocated space */ - if ((block_group->flags & - (BTRFS_BLOCK_GROUP_METADATA | BTRFS_BLOCK_GROUP_SYSTEM)) && + if (is_metadata && block_group->start + block_group->alloc_offset > block_group->meta_write_pointer) { spin_unlock(&block_group->lock); return -EAGAIN; @@ -1924,6 +2034,9 @@ /* No need to wait for NOCOW writers. Zoned mode does not allow that */ btrfs_wait_ordered_roots(fs_info, U64_MAX, block_group->start, block_group->length); + /* Wait for extent buffers to be written. */ + if (is_metadata) + wait_eb_writebacks(block_group); spin_lock(&block_group->lock); @@ -1981,6 +2094,8 @@ /* For active_bg_list */ btrfs_put_block_group(block_group); + clear_and_wake_up_bit(BTRFS_FS_NEED_ZONE_FINISH, &fs_info->flags); + return 0; } @@ -2017,6 +2132,9 @@ } mutex_unlock(&fs_info->chunk_mutex); + if (!ret) + set_bit(BTRFS_FS_NEED_ZONE_FINISH, &fs_info->flags); + return ret; } @@ -2160,3 +2278,96 @@ spin_unlock(&block_group->lock); btrfs_put_block_group(block_group); } + +int btrfs_zone_finish_one_bg(struct btrfs_fs_info *fs_info) +{ + struct btrfs_block_group *block_group; + struct btrfs_block_group *min_bg = NULL; + u64 min_avail = U64_MAX; + int ret; + + spin_lock(&fs_info->zone_active_bgs_lock); + list_for_each_entry(block_group, &fs_info->zone_active_bgs, + active_bg_list) { + u64 avail; + + spin_lock(&block_group->lock); + if (block_group->reserved || + (block_group->flags & BTRFS_BLOCK_GROUP_SYSTEM)) { + spin_unlock(&block_group->lock); + continue; + } + + avail = block_group->zone_capacity - block_group->alloc_offset; + if (min_avail > avail) { + if (min_bg) + btrfs_put_block_group(min_bg); + min_bg = block_group; + min_avail = avail; + btrfs_get_block_group(min_bg); + } + spin_unlock(&block_group->lock); + } + spin_unlock(&fs_info->zone_active_bgs_lock); + + if (!min_bg) + return 0; + + ret = btrfs_zone_finish(min_bg); + btrfs_put_block_group(min_bg); + + return ret < 0 ? ret : 1; +} + +int btrfs_zoned_activate_one_bg(struct btrfs_fs_info *fs_info, + struct btrfs_space_info *space_info, + bool do_finish) +{ + struct btrfs_block_group *bg; + int index; + + if (!btrfs_is_zoned(fs_info) || (space_info->flags & BTRFS_BLOCK_GROUP_DATA)) + return 0; + + /* No more block groups to activate */ + if (space_info->active_total_bytes == space_info->total_bytes) + return 0; + + for (;;) { + int ret; + bool need_finish = false; + + down_read(&space_info->groups_sem); + for (index = 0; index < BTRFS_NR_RAID_TYPES; index++) { + list_for_each_entry(bg, &space_info->block_groups[index], + list) { + if (!spin_trylock(&bg->lock)) + continue; + if (btrfs_zoned_bg_is_full(bg) || bg->zone_is_active) { + spin_unlock(&bg->lock); + continue; + } + spin_unlock(&bg->lock); + + if (btrfs_zone_activate(bg)) { + up_read(&space_info->groups_sem); + return 1; + } + + need_finish = true; + } + } + up_read(&space_info->groups_sem); + + if (!do_finish || !need_finish) + break; + + ret = btrfs_zone_finish_one_bg(fs_info); + if (ret == 0) + break; + if (ret < 0) + return ret; + } + + return 0; +} --- linux-gcp-5.19.0.orig/fs/btrfs/zoned.h +++ linux-gcp-5.19.0/fs/btrfs/zoned.h @@ -19,6 +19,7 @@ */ u64 zone_size; u8 zone_size_shift; + u64 max_zone_append_size; u32 nr_zones; unsigned int max_active_zones; atomic_t active_zones_left; @@ -35,6 +36,7 @@ int btrfs_get_dev_zone_info_all_devices(struct btrfs_fs_info *fs_info); int btrfs_get_dev_zone_info(struct btrfs_device *device, bool populate_cache); void btrfs_destroy_dev_zone_info(struct btrfs_device *device); +struct btrfs_zoned_device_info *btrfs_clone_dev_zone_info(struct btrfs_device *orig_dev); int btrfs_check_zoned_mode(struct btrfs_fs_info *fs_info); int btrfs_check_mountopts_zoned(struct btrfs_fs_info *info); int btrfs_sb_log_location_bdev(struct block_device *bdev, int mirror, int rw, @@ -79,6 +81,9 @@ bool btrfs_zoned_should_reclaim(struct btrfs_fs_info *fs_info); void btrfs_zoned_release_data_reloc_bg(struct btrfs_fs_info *fs_info, u64 logical, u64 length); +int btrfs_zone_finish_one_bg(struct btrfs_fs_info *fs_info); +int btrfs_zoned_activate_one_bg(struct btrfs_fs_info *fs_info, + struct btrfs_space_info *space_info, bool do_finish); #else /* CONFIG_BLK_DEV_ZONED */ static inline int btrfs_get_dev_zone(struct btrfs_device *device, u64 pos, struct blk_zone *zone) @@ -99,6 +104,16 @@ static inline void btrfs_destroy_dev_zone_info(struct btrfs_device *device) { } +/* + * In case the kernel is compiled without CONFIG_BLK_DEV_ZONED we'll never call + * into btrfs_clone_dev_zone_info() so it's safe to return NULL here. + */ +static inline struct btrfs_zoned_device_info *btrfs_clone_dev_zone_info( + struct btrfs_device *orig_dev) +{ + return NULL; +} + static inline int btrfs_check_zoned_mode(const struct btrfs_fs_info *fs_info) { if (!btrfs_is_zoned(fs_info)) @@ -248,6 +263,20 @@ static inline void btrfs_zoned_release_data_reloc_bg(struct btrfs_fs_info *fs_info, u64 logical, u64 length) { } + +static inline int btrfs_zone_finish_one_bg(struct btrfs_fs_info *fs_info) +{ + return 1; +} + +static inline int btrfs_zoned_activate_one_bg(struct btrfs_fs_info *fs_info, + struct btrfs_space_info *space_info, + bool do_finish) +{ + /* Consider all the block groups are active */ + return 0; +} + #endif static inline bool btrfs_dev_is_sequential(struct btrfs_device *device, u64 pos) --- linux-gcp-5.19.0.orig/fs/buffer.c +++ linux-gcp-5.19.0/fs/buffer.c @@ -2349,7 +2349,7 @@ struct address_space *mapping = inode->i_mapping; const struct address_space_operations *aops = mapping->a_ops; struct page *page; - void *fsdata; + void *fsdata = NULL; int err; err = inode_newsize_ok(inode, size); @@ -2375,7 +2375,7 @@ const struct address_space_operations *aops = mapping->a_ops; unsigned int blocksize = i_blocksize(inode); struct page *page; - void *fsdata; + void *fsdata = NULL; pgoff_t index, curidx; loff_t curpos; unsigned zerofrom, offset, len; --- linux-gcp-5.19.0.orig/fs/cachefiles/internal.h +++ linux-gcp-5.19.0/fs/cachefiles/internal.h @@ -111,6 +111,7 @@ char *tag; /* cache binding tag */ refcount_t unbind_pincount;/* refcount to do daemon unbind */ struct xarray reqs; /* xarray of pending on-demand requests */ + unsigned long req_id_next; struct xarray ondemand_ids; /* xarray for ondemand_id allocation */ u32 ondemand_id_next; }; --- linux-gcp-5.19.0.orig/fs/cachefiles/ondemand.c +++ linux-gcp-5.19.0/fs/cachefiles/ondemand.c @@ -158,9 +158,13 @@ /* fail OPEN request if daemon reports an error */ if (size < 0) { - if (!IS_ERR_VALUE(size)) - size = -EINVAL; - req->error = size; + if (!IS_ERR_VALUE(size)) { + req->error = -EINVAL; + ret = -EINVAL; + } else { + req->error = size; + ret = 0; + } goto out; } @@ -238,14 +242,19 @@ unsigned long id = 0; size_t n; int ret = 0; - XA_STATE(xas, &cache->reqs, 0); + XA_STATE(xas, &cache->reqs, cache->req_id_next); /* - * Search for a request that has not ever been processed, to prevent - * requests from being processed repeatedly. + * Cyclically search for a request that has not ever been processed, + * to prevent requests from being processed repeatedly, and make + * request distribution fair. */ xa_lock(&cache->reqs); req = xas_find_marked(&xas, UINT_MAX, CACHEFILES_REQ_NEW); + if (!req && cache->req_id_next > 0) { + xas_set(&xas, 0); + req = xas_find_marked(&xas, cache->req_id_next - 1, CACHEFILES_REQ_NEW); + } if (!req) { xa_unlock(&cache->reqs); return 0; @@ -260,6 +269,7 @@ } xas_clear_mark(&xas, CACHEFILES_REQ_NEW); + cache->req_id_next = xas.xa_index + 1; xa_unlock(&cache->reqs); id = xas.xa_index; --- linux-gcp-5.19.0.orig/fs/ceph/caps.c +++ linux-gcp-5.19.0/fs/ceph/caps.c @@ -2246,7 +2246,6 @@ struct ceph_mds_client *mdsc = ceph_sb_to_client(inode->i_sb)->mdsc; struct ceph_inode_info *ci = ceph_inode(inode); struct ceph_mds_request *req1 = NULL, *req2 = NULL; - unsigned int max_sessions; int ret, err = 0; spin_lock(&ci->i_unsafe_lock); @@ -2265,27 +2264,23 @@ spin_unlock(&ci->i_unsafe_lock); /* - * The mdsc->max_sessions is unlikely to be changed - * mostly, here we will retry it by reallocating the - * sessions array memory to get rid of the mdsc->mutex - * lock. - */ -retry: - max_sessions = mdsc->max_sessions; - - /* * Trigger to flush the journal logs in all the relevant MDSes * manually, or in the worst case we must wait at most 5 seconds * to wait the journal logs to be flushed by the MDSes periodically. */ - if ((req1 || req2) && likely(max_sessions)) { - struct ceph_mds_session **sessions = NULL; - struct ceph_mds_session *s; + if (req1 || req2) { struct ceph_mds_request *req; + struct ceph_mds_session **sessions; + struct ceph_mds_session *s; + unsigned int max_sessions; int i; - sessions = kzalloc(max_sessions * sizeof(s), GFP_KERNEL); + mutex_lock(&mdsc->mutex); + max_sessions = mdsc->max_sessions; + + sessions = kcalloc(max_sessions, sizeof(s), GFP_KERNEL); if (!sessions) { + mutex_unlock(&mdsc->mutex); err = -ENOMEM; goto out; } @@ -2297,16 +2292,6 @@ s = req->r_session; if (!s) continue; - if (unlikely(s->s_mds >= max_sessions)) { - spin_unlock(&ci->i_unsafe_lock); - for (i = 0; i < max_sessions; i++) { - s = sessions[i]; - if (s) - ceph_put_mds_session(s); - } - kfree(sessions); - goto retry; - } if (!sessions[s->s_mds]) { s = ceph_get_mds_session(s); sessions[s->s_mds] = s; @@ -2319,16 +2304,6 @@ s = req->r_session; if (!s) continue; - if (unlikely(s->s_mds >= max_sessions)) { - spin_unlock(&ci->i_unsafe_lock); - for (i = 0; i < max_sessions; i++) { - s = sessions[i]; - if (s) - ceph_put_mds_session(s); - } - kfree(sessions); - goto retry; - } if (!sessions[s->s_mds]) { s = ceph_get_mds_session(s); sessions[s->s_mds] = s; @@ -2340,11 +2315,12 @@ /* the auth MDS */ spin_lock(&ci->i_ceph_lock); if (ci->i_auth_cap) { - s = ci->i_auth_cap->session; - if (!sessions[s->s_mds]) - sessions[s->s_mds] = ceph_get_mds_session(s); + s = ci->i_auth_cap->session; + if (!sessions[s->s_mds]) + sessions[s->s_mds] = ceph_get_mds_session(s); } spin_unlock(&ci->i_ceph_lock); + mutex_unlock(&mdsc->mutex); /* send flush mdlog request to MDSes */ for (i = 0; i < max_sessions; i++) { @@ -2933,7 +2909,7 @@ while (true) { flags &= CEPH_FILE_MODE_MASK; - if (atomic_read(&fi->num_locks)) + if (vfs_inode_has_locks(inode)) flags |= CHECK_FILELOCK; _got = 0; ret = try_get_cap_refs(inode, need, want, endoff, @@ -3578,24 +3554,23 @@ fill_inline = true; } - if (ci->i_auth_cap == cap && - le32_to_cpu(grant->op) == CEPH_CAP_OP_IMPORT) { - if (newcaps & ~extra_info->issued) - wake = true; + if (le32_to_cpu(grant->op) == CEPH_CAP_OP_IMPORT) { + if (ci->i_auth_cap == cap) { + if (newcaps & ~extra_info->issued) + wake = true; + + if (ci->i_requested_max_size > max_size || + !(le32_to_cpu(grant->wanted) & CEPH_CAP_ANY_FILE_WR)) { + /* re-request max_size if necessary */ + ci->i_requested_max_size = 0; + wake = true; + } - if (ci->i_requested_max_size > max_size || - !(le32_to_cpu(grant->wanted) & CEPH_CAP_ANY_FILE_WR)) { - /* re-request max_size if necessary */ - ci->i_requested_max_size = 0; - wake = true; + ceph_kick_flushing_inode_caps(session, ci); } - - ceph_kick_flushing_inode_caps(session, ci); - spin_unlock(&ci->i_ceph_lock); up_read(&session->s_mdsc->snap_rwsem); - } else { - spin_unlock(&ci->i_ceph_lock); } + spin_unlock(&ci->i_ceph_lock); if (fill_inline) ceph_fill_inline_data(inode, NULL, extra_info->inline_data, --- linux-gcp-5.19.0.orig/fs/ceph/file.c +++ linux-gcp-5.19.0/fs/ceph/file.c @@ -740,6 +740,12 @@ if (dentry->d_name.len > NAME_MAX) return -ENAMETOOLONG; + /* + * Do not truncate the file, since atomic_open is called before the + * permission check. The caller will do the truncation afterward. + */ + flags &= ~O_TRUNC; + if (flags & O_CREAT) { if (ceph_quota_is_max_files_exceeded(dir)) return -EDQUOT; @@ -807,9 +813,7 @@ } set_bit(CEPH_MDS_R_PARENT_LOCKED, &req->r_req_flags); - err = ceph_mdsc_do_request(mdsc, - (flags & (O_CREAT|O_TRUNC)) ? dir : NULL, - req); + err = ceph_mdsc_do_request(mdsc, (flags & O_CREAT) ? dir : NULL, req); if (err == -ENOENT) { dentry = ceph_handle_snapdir(req, dentry); if (IS_ERR(dentry)) { @@ -2125,6 +2129,9 @@ loff_t endoff = 0; loff_t size; + dout("%s %p %llx.%llx mode %x, offset %llu length %llu\n", __func__, + inode, ceph_vinop(inode), mode, offset, length); + if (mode != (FALLOC_FL_KEEP_SIZE | FALLOC_FL_PUNCH_HOLE)) return -EOPNOTSUPP; @@ -2159,6 +2166,10 @@ if (ret < 0) goto unlock; + ret = file_modified(file); + if (ret) + goto put_caps; + filemap_invalidate_lock(inode->i_mapping); ceph_fscache_invalidate(inode, false); ceph_zero_pagecache_range(inode, offset, length); @@ -2174,6 +2185,7 @@ } filemap_invalidate_unlock(inode->i_mapping); +put_caps: ceph_put_cap_refs(ci, got); unlock: inode_unlock(inode); --- linux-gcp-5.19.0.orig/fs/ceph/locks.c +++ linux-gcp-5.19.0/fs/ceph/locks.c @@ -32,18 +32,14 @@ static void ceph_fl_copy_lock(struct file_lock *dst, struct file_lock *src) { - struct ceph_file_info *fi = dst->fl_file->private_data; struct inode *inode = file_inode(dst->fl_file); atomic_inc(&ceph_inode(inode)->i_filelock_ref); - atomic_inc(&fi->num_locks); } static void ceph_fl_release_lock(struct file_lock *fl) { - struct ceph_file_info *fi = fl->fl_file->private_data; struct inode *inode = file_inode(fl->fl_file); struct ceph_inode_info *ci = ceph_inode(inode); - atomic_dec(&fi->num_locks); if (atomic_dec_and_test(&ci->i_filelock_ref)) { /* clear error when all locks are released */ spin_lock(&ci->i_ceph_lock); --- linux-gcp-5.19.0.orig/fs/ceph/mds_client.c +++ linux-gcp-5.19.0/fs/ceph/mds_client.c @@ -1220,14 +1220,17 @@ if (count > 0) { size_t i; size_t size = FEATURE_BYTES(count); + unsigned long bit; if (WARN_ON_ONCE(*p + 4 + size > end)) return -ERANGE; ceph_encode_32(p, size); memset(*p, 0, size); - for (i = 0; i < count; i++) - ((unsigned char*)(*p))[i / 8] |= BIT(feature_bits[i] % 8); + for (i = 0; i < count; i++) { + bit = feature_bits[i]; + ((unsigned char *)(*p))[bit / 8] |= BIT(bit % 8); + } *p += size; } else { if (WARN_ON_ONCE(*p + 4 > end)) @@ -3502,6 +3505,12 @@ break; case CEPH_SESSION_FLUSHMSG: + /* flush cap releases */ + spin_lock(&session->s_cap_lock); + if (session->s_num_cap_releases) + ceph_flush_cap_releases(mdsc, session); + spin_unlock(&session->s_cap_lock); + send_flushmsg_ack(mdsc, session, seq); break; --- linux-gcp-5.19.0.orig/fs/ceph/mds_client.h +++ linux-gcp-5.19.0/fs/ceph/mds_client.h @@ -33,10 +33,6 @@ CEPHFS_FEATURE_MAX = CEPHFS_FEATURE_METRIC_COLLECT, }; -/* - * This will always have the highest feature bit value - * as the last element of the array. - */ #define CEPHFS_FEATURES_CLIENT_SUPPORTED { \ 0, 1, 2, 3, 4, 5, 6, 7, \ CEPHFS_FEATURE_MIMIC, \ @@ -45,8 +41,6 @@ CEPHFS_FEATURE_MULTI_RECONNECT, \ CEPHFS_FEATURE_DELEG_INO, \ CEPHFS_FEATURE_METRIC_COLLECT, \ - \ - CEPHFS_FEATURE_MAX, \ } #define CEPHFS_FEATURES_CLIENT_REQUIRED {} --- linux-gcp-5.19.0.orig/fs/ceph/snap.c +++ linux-gcp-5.19.0/fs/ceph/snap.c @@ -763,7 +763,7 @@ struct ceph_mds_snap_realm *ri; /* encoded */ __le64 *snaps; /* encoded */ __le64 *prior_parent_snaps; /* encoded */ - struct ceph_snap_realm *realm = NULL; + struct ceph_snap_realm *realm; struct ceph_snap_realm *first_realm = NULL; struct ceph_snap_realm *realm_to_rebuild = NULL; int rebuild_snapcs; @@ -774,6 +774,7 @@ dout("%s deletion=%d\n", __func__, deletion); more: + realm = NULL; rebuild_snapcs = 0; ceph_decode_need(&p, e, sizeof(*ri), bad); ri = p; --- linux-gcp-5.19.0.orig/fs/ceph/super.h +++ linux-gcp-5.19.0/fs/ceph/super.h @@ -775,7 +775,6 @@ struct list_head rw_contexts; u32 filp_gen; - atomic_t num_locks; }; struct ceph_dir_file_info { @@ -1059,8 +1058,7 @@ void *acl; #endif #ifdef CONFIG_CEPH_FS_SECURITY_LABEL - void *sec_ctx; - u32 sec_ctxlen; + struct lsmcontext lsmctx; #endif struct ceph_pagelist *pagelist; }; --- linux-gcp-5.19.0.orig/fs/ceph/xattr.c +++ linux-gcp-5.19.0/fs/ceph/xattr.c @@ -1328,8 +1328,7 @@ int err; err = security_dentry_init_security(dentry, mode, &dentry->d_name, - &name, &as_ctx->sec_ctx, - &as_ctx->sec_ctxlen); + &name, &as_ctx->lsmctx); if (err < 0) { WARN_ON_ONCE(err != -EOPNOTSUPP); err = 0; /* do nothing */ @@ -1354,7 +1353,7 @@ */ name_len = strlen(name); err = ceph_pagelist_reserve(pagelist, - 4 * 2 + name_len + as_ctx->sec_ctxlen); + 4 * 2 + name_len + as_ctx->lsmctx.len); if (err) goto out; @@ -1374,11 +1373,9 @@ as_ctx->pagelist = pagelist; } - ceph_pagelist_encode_32(pagelist, name_len); - ceph_pagelist_append(pagelist, name, name_len); - - ceph_pagelist_encode_32(pagelist, as_ctx->sec_ctxlen); - ceph_pagelist_append(pagelist, as_ctx->sec_ctx, as_ctx->sec_ctxlen); + ceph_pagelist_encode_32(pagelist, as_ctx->lsmctx.len); + ceph_pagelist_append(pagelist, as_ctx->lsmctx.context, + as_ctx->lsmctx.len); err = 0; out: @@ -1396,7 +1393,7 @@ posix_acl_release(as_ctx->default_acl); #endif #ifdef CONFIG_CEPH_FS_SECURITY_LABEL - security_release_secctx(as_ctx->sec_ctx, as_ctx->sec_ctxlen); + security_release_secctx(&as_ctx->lsmctx); #endif if (as_ctx->pagelist) ceph_pagelist_release(as_ctx->pagelist); --- linux-gcp-5.19.0.orig/fs/char_dev.c +++ linux-gcp-5.19.0/fs/char_dev.c @@ -547,7 +547,7 @@ } rc = device_add(dev); - if (rc) + if (rc && dev->devt) cdev_del(cdev); return rc; --- linux-gcp-5.19.0.orig/fs/cifs/cifsfs.c +++ linux-gcp-5.19.0/fs/cifs/cifsfs.c @@ -661,9 +661,15 @@ seq_printf(s, ",echo_interval=%lu", tcon->ses->server->echo_interval / HZ); - /* Only display max_credits if it was overridden on mount */ + /* Only display the following if overridden on mount */ if (tcon->ses->server->max_credits != SMB2_MAX_CREDITS_AVAILABLE) seq_printf(s, ",max_credits=%u", tcon->ses->server->max_credits); + if (tcon->ses->server->tcp_nodelay) + seq_puts(s, ",tcpnodelay"); + if (tcon->ses->server->noautotune) + seq_puts(s, ",noautotune"); + if (tcon->ses->server->noblocksnd) + seq_puts(s, ",noblocksend"); if (tcon->snapshot_time) seq_printf(s, ",snapshot=%llu", tcon->snapshot_time); @@ -1232,6 +1238,12 @@ lock_two_nondirectories(target_inode, src_inode); cifs_dbg(FYI, "about to flush pages\n"); + + rc = filemap_write_and_wait_range(src_inode->i_mapping, off, + off + len - 1); + if (rc) + goto unlock; + /* should we flush first and last page first */ truncate_inode_pages(&target_inode->i_data, 0); @@ -1246,6 +1258,8 @@ * that target is updated on the server */ CIFS_I(target_inode)->time = 0; + +unlock: /* although unlocking in the reverse order from locking is not * strictly necessary here it is a little cleaner to be consistent */ @@ -1275,8 +1289,11 @@ ssize_t rc; struct cifsFileInfo *cfile = dst_file->private_data; - if (cfile->swapfile) - return -EOPNOTSUPP; + if (cfile->swapfile) { + rc = -EOPNOTSUPP; + free_xid(xid); + return rc; + } rc = cifs_file_copychunk_range(xid, src_file, off, dst_file, destoff, len, flags); --- linux-gcp-5.19.0.orig/fs/cifs/cifsglob.h +++ linux-gcp-5.19.0/fs/cifs/cifsglob.h @@ -13,6 +13,8 @@ #include #include #include +#include +#include #include #include #include @@ -25,6 +27,7 @@ #include #include "../smbfs_common/smb2pdu.h" #include "smb2pdu.h" +#include "smb2glob.h" #define SMB_PATH_MAX 260 #define CIFS_PORT 445 @@ -2085,9 +2088,9 @@ return is_tcon_dfs(tcon) || (ref && (ref->flags & DFSREF_REFERRAL_SERVER)); } -static inline u64 cifs_flock_len(struct file_lock *fl) +static inline u64 cifs_flock_len(const struct file_lock *fl) { - return fl->fl_end == OFFSET_MAX ? 0 : fl->fl_end - fl->fl_start + 1; + return (u64)fl->fl_end - fl->fl_start + 1; } static inline size_t ntlmssp_workstation_name_size(const struct cifs_ses *ses) @@ -2103,4 +2106,70 @@ return sizeof(ses->workstation_name); } +static inline unsigned int cifs_get_num_sgs(const struct smb_rqst *rqst, + int num_rqst, + const u8 *sig) +{ + unsigned int len, skip; + unsigned int nents = 0; + unsigned long addr; + int i, j; + + /* Assumes the first rqst has a transform header as the first iov. + * I.e. + * rqst[0].rq_iov[0] is transform header + * rqst[0].rq_iov[1+] data to be encrypted/decrypted + * rqst[1+].rq_iov[0+] data to be encrypted/decrypted + */ + for (i = 0; i < num_rqst; i++) { + /* + * The first rqst has a transform header where the + * first 20 bytes are not part of the encrypted blob. + */ + for (j = 0; j < rqst[i].rq_nvec; j++) { + struct kvec *iov = &rqst[i].rq_iov[j]; + + skip = (i == 0) && (j == 0) ? 20 : 0; + addr = (unsigned long)iov->iov_base + skip; + if (unlikely(is_vmalloc_addr((void *)addr))) { + len = iov->iov_len - skip; + nents += DIV_ROUND_UP(offset_in_page(addr) + len, + PAGE_SIZE); + } else { + nents++; + } + } + nents += rqst[i].rq_npages; + } + nents += DIV_ROUND_UP(offset_in_page(sig) + SMB2_SIGNATURE_SIZE, PAGE_SIZE); + return nents; +} + +/* We can not use the normal sg_set_buf() as we will sometimes pass a + * stack object as buf. + */ +static inline struct scatterlist *cifs_sg_set_buf(struct scatterlist *sg, + const void *buf, + unsigned int buflen) +{ + unsigned long addr = (unsigned long)buf; + unsigned int off = offset_in_page(addr); + + addr &= PAGE_MASK; + if (unlikely(is_vmalloc_addr((void *)addr))) { + do { + unsigned int len = min_t(unsigned int, buflen, PAGE_SIZE - off); + + sg_set_page(sg++, vmalloc_to_page((void *)addr), len, off); + + off = 0; + addr += PAGE_SIZE; + buflen -= len; + } while (buflen); + } else { + sg_set_page(sg++, virt_to_page(addr), buflen, off); + } + return sg; +} + #endif /* _CIFS_GLOB_H */ --- linux-gcp-5.19.0.orig/fs/cifs/cifsproto.h +++ linux-gcp-5.19.0/fs/cifs/cifsproto.h @@ -605,8 +605,8 @@ struct sdesc **sdesc); void cifs_free_hash(struct crypto_shash **shash, struct sdesc **sdesc); -extern void rqst_page_get_length(struct smb_rqst *rqst, unsigned int page, - unsigned int *len, unsigned int *offset); +void rqst_page_get_length(const struct smb_rqst *rqst, unsigned int page, + unsigned int *len, unsigned int *offset); struct cifs_chan * cifs_ses_find_chan(struct cifs_ses *ses, struct TCP_Server_Info *server); int cifs_try_adding_channels(struct cifs_sb_info *cifs_sb, struct cifs_ses *ses); @@ -642,7 +642,7 @@ int cifs_chan_update_iface(struct cifs_ses *ses, struct TCP_Server_Info *server); int -SMB3_request_interfaces(const unsigned int xid, struct cifs_tcon *tcon); +SMB3_request_interfaces(const unsigned int xid, struct cifs_tcon *tcon, bool in_mount); void extract_unc_hostname(const char *unc, const char **h, size_t *len); int copy_path_name(char *dst, const char *src); --- linux-gcp-5.19.0.orig/fs/cifs/connect.c +++ linux-gcp-5.19.0/fs/cifs/connect.c @@ -155,7 +155,7 @@ /* * query server network interfaces, in case they change */ - rc = SMB3_request_interfaces(0, tcon); + rc = SMB3_request_interfaces(0, tcon, false); if (rc) { cifs_dbg(FYI, "%s: failed to query server interfaces: %d\n", __func__, rc); @@ -707,9 +707,6 @@ int length = 0; int total_read; - smb_msg->msg_control = NULL; - smb_msg->msg_controllen = 0; - for (total_read = 0; msg_data_left(smb_msg); total_read += length) { try_to_freeze(); @@ -765,7 +762,7 @@ cifs_read_from_socket(struct TCP_Server_Info *server, char *buf, unsigned int to_read) { - struct msghdr smb_msg; + struct msghdr smb_msg = {}; struct kvec iov = {.iov_base = buf, .iov_len = to_read}; iov_iter_kvec(&smb_msg.msg_iter, READ, &iov, 1, to_read); @@ -775,15 +772,13 @@ ssize_t cifs_discard_from_socket(struct TCP_Server_Info *server, size_t to_read) { - struct msghdr smb_msg; + struct msghdr smb_msg = {}; /* * iov_iter_discard already sets smb_msg.type and count and iov_offset * and cifs_readv_from_socket sets msg_control and msg_controllen * so little to initialize in struct msghdr */ - smb_msg.msg_name = NULL; - smb_msg.msg_namelen = 0; iov_iter_discard(&smb_msg.msg_iter, READ, to_read); return cifs_readv_from_socket(server, &smb_msg); @@ -793,7 +788,7 @@ cifs_read_page_from_socket(struct TCP_Server_Info *server, struct page *page, unsigned int page_offset, unsigned int to_read) { - struct msghdr smb_msg; + struct msghdr smb_msg = {}; struct bio_vec bv = { .bv_page = page, .bv_len = to_read, .bv_offset = page_offset}; iov_iter_bvec(&smb_msg.msg_iter, READ, &bv, 1, to_read); @@ -1544,6 +1539,7 @@ server->session_key.response = NULL; server->session_key.len = 0; kfree(server->hostname); + server->hostname = NULL; task = xchg(&server->tsk, NULL); if (task) @@ -2103,7 +2099,7 @@ struct cifs_ses * cifs_get_smb_ses(struct TCP_Server_Info *server, struct smb3_fs_context *ctx) { - int rc = -ENOMEM; + int rc = 0; unsigned int xid; struct cifs_ses *ses; struct sockaddr_in *addr = (struct sockaddr_in *)&server->dstaddr; @@ -2152,6 +2148,8 @@ return ses; } + rc = -ENOMEM; + cifs_dbg(FYI, "Existing smb sess not found\n"); ses = sesInfoAlloc(); if (ses == NULL) @@ -2542,11 +2540,14 @@ tcon->local_lease = ctx->local_lease; INIT_LIST_HEAD(&tcon->pending_opens); - /* schedule query interfaces poll */ INIT_DELAYED_WORK(&tcon->query_interfaces, smb2_query_server_interfaces); - queue_delayed_work(cifsiod_wq, &tcon->query_interfaces, - (SMB_INTERFACE_POLL_INTERVAL * HZ)); + if (ses->server->dialect >= SMB30_PROT_ID && + (ses->server->capabilities & SMB2_GLOBAL_CAP_MULTI_CHANNEL)) { + /* schedule query interfaces poll */ + queue_delayed_work(cifsiod_wq, &tcon->query_interfaces, + (SMB_INTERFACE_POLL_INTERVAL * HZ)); + } spin_lock(&cifs_tcp_ses_lock); list_add(&tcon->tcon_list, &ses->tcon_list); @@ -3776,9 +3777,13 @@ uuid_copy(&cifs_sb->dfs_mount_id, &mnt_ctx.mount_id); out: - free_xid(mnt_ctx.xid); cifs_try_adding_channels(cifs_sb, mnt_ctx.ses); - return mount_setup_tlink(cifs_sb, mnt_ctx.ses, mnt_ctx.tcon); + rc = mount_setup_tlink(cifs_sb, mnt_ctx.ses, mnt_ctx.tcon); + if (rc) + goto error; + + free_xid(mnt_ctx.xid); + return rc; error: dfs_cache_put_refsrv_sessions(&mnt_ctx.mount_id); @@ -3805,8 +3810,12 @@ goto error; } + rc = mount_setup_tlink(cifs_sb, mnt_ctx.ses, mnt_ctx.tcon); + if (rc) + goto error; + free_xid(mnt_ctx.xid); - return mount_setup_tlink(cifs_sb, mnt_ctx.ses, mnt_ctx.tcon); + return rc; error: mount_put_conns(&mnt_ctx); @@ -3851,12 +3860,11 @@ pSMB->AndXCommand = 0xFF; pSMB->Flags = cpu_to_le16(TCON_EXTENDED_SECINFO); bcc_ptr = &pSMB->Password[0]; - if (tcon->pipe || (ses->server->sec_mode & SECMODE_USER)) { - pSMB->PasswordLength = cpu_to_le16(1); /* minimum */ - *bcc_ptr = 0; /* password is null byte */ - bcc_ptr++; /* skip password */ - /* already aligned so no need to do it below */ - } + + pSMB->PasswordLength = cpu_to_le16(1); /* minimum */ + *bcc_ptr = 0; /* password is null byte */ + bcc_ptr++; /* skip password */ + /* already aligned so no need to do it below */ if (ses->server->sign) smb_buffer->Flags2 |= SMBFLG2_SECURITY_SIGNATURE; --- linux-gcp-5.19.0.orig/fs/cifs/dfs_cache.c +++ linux-gcp-5.19.0/fs/cifs/dfs_cache.c @@ -792,26 +792,27 @@ */ static int cache_refresh_path(const unsigned int xid, struct cifs_ses *ses, const char *path) { - int rc; - struct cache_entry *ce; struct dfs_info3_param *refs = NULL; + struct cache_entry *ce; int numrefs = 0; - bool newent = false; + int rc; cifs_dbg(FYI, "%s: search path: %s\n", __func__, path); - down_write(&htable_rw_lock); + down_read(&htable_rw_lock); ce = lookup_cache_entry(path); - if (!IS_ERR(ce)) { - if (!cache_entry_expired(ce)) { - dump_ce(ce); - up_write(&htable_rw_lock); - return 0; - } - } else { - newent = true; + if (!IS_ERR(ce) && !cache_entry_expired(ce)) { + up_read(&htable_rw_lock); + return 0; } + /* + * Unlock shared access as we don't want to hold any locks while getting + * a new referral. The @ses used for performing the I/O could be + * reconnecting and it acquires @htable_rw_lock to look up the dfs cache + * in order to failover -- if necessary. + */ + up_read(&htable_rw_lock); /* * Either the entry was not found, or it is expired. @@ -819,19 +820,22 @@ */ rc = get_dfs_referral(xid, ses, path, &refs, &numrefs); if (rc) - goto out_unlock; + goto out; dump_refs(refs, numrefs); - if (!newent) { - rc = update_cache_entry_locked(ce, refs, numrefs); - goto out_unlock; + down_write(&htable_rw_lock); + /* Re-check as another task might have it added or refreshed already */ + ce = lookup_cache_entry(path); + if (!IS_ERR(ce)) { + if (cache_entry_expired(ce)) + rc = update_cache_entry_locked(ce, refs, numrefs); + } else { + rc = add_cache_entry_locked(refs, numrefs); } - rc = add_cache_entry_locked(refs, numrefs); - -out_unlock: up_write(&htable_rw_lock); +out: free_dfs_info_array(refs, numrefs); return rc; } @@ -1046,10 +1050,10 @@ const struct nls_table *cp, int remap, const char *path, const struct dfs_cache_tgt_iterator *it) { - int rc; - const char *npath; - struct cache_entry *ce; struct cache_dfs_tgt *t; + struct cache_entry *ce; + const char *npath; + int rc = 0; npath = dfs_cache_canonical_path(path, cp, remap); if (IS_ERR(npath)) --- linux-gcp-5.19.0.orig/fs/cifs/dir.c +++ linux-gcp-5.19.0/fs/cifs/dir.c @@ -543,8 +543,10 @@ cifs_dbg(FYI, "cifs_create parent inode = 0x%p name is: %pd and dentry = 0x%p\n", inode, direntry, direntry); - if (unlikely(cifs_forced_shutdown(CIFS_SB(inode->i_sb)))) - return -EIO; + if (unlikely(cifs_forced_shutdown(CIFS_SB(inode->i_sb)))) { + rc = -EIO; + goto out_free_xid; + } tlink = cifs_sb_tlink(CIFS_SB(inode->i_sb)); rc = PTR_ERR(tlink); --- linux-gcp-5.19.0.orig/fs/cifs/file.c +++ linux-gcp-5.19.0/fs/cifs/file.c @@ -1812,11 +1812,13 @@ struct cifsFileInfo *cfile; __u32 type; - rc = -EACCES; xid = get_xid(); - if (!(fl->fl_flags & FL_FLOCK)) - return -ENOLCK; + if (!(fl->fl_flags & FL_FLOCK)) { + rc = -ENOLCK; + free_xid(xid); + return rc; + } cfile = (struct cifsFileInfo *)file->private_data; tcon = tlink_tcon(cfile->tlink); @@ -1835,8 +1837,9 @@ * if no lock or unlock then nothing to do since we do not * know what it is */ + rc = -EOPNOTSUPP; free_xid(xid); - return -EOPNOTSUPP; + return rc; } rc = cifs_setlk(file, fl, type, wait_flag, posix_lck, lock, unlock, @@ -1861,9 +1864,9 @@ rc = -EACCES; xid = get_xid(); - cifs_dbg(FYI, "Lock parm: 0x%x flockflags: 0x%x flocktype: 0x%x start: %lld end: %lld\n", - cmd, flock->fl_flags, flock->fl_type, - flock->fl_start, flock->fl_end); + cifs_dbg(FYI, "%s: %pD2 cmd=0x%x type=0x%x flags=0x%x r=%lld:%lld\n", __func__, file, cmd, + flock->fl_flags, flock->fl_type, (long long)flock->fl_start, + (long long)flock->fl_end); cfile = (struct cifsFileInfo *)file->private_data; tcon = tlink_tcon(cfile->tlink); @@ -3327,6 +3330,9 @@ ssize_t cifs_direct_writev(struct kiocb *iocb, struct iov_iter *from) { + struct file *file = iocb->ki_filp; + + cifs_revalidate_mapping(file->f_inode); return __cifs_writev(iocb, from, true); } @@ -3616,7 +3622,7 @@ rdata->got_bytes += result; } - return rdata->got_bytes > 0 && result != -ECONNABORTED ? + return result != -ECONNABORTED && rdata->got_bytes > 0 ? rdata->got_bytes : result; } @@ -4021,6 +4027,15 @@ len = ctx->len; } + if (direct) { + rc = filemap_write_and_wait_range(file->f_inode->i_mapping, + offset, offset + len - 1); + if (rc) { + kref_put(&ctx->refcount, cifs_aio_ctx_release); + return -EAGAIN; + } + } + /* grab a lock here due to read response handlers can access ctx */ mutex_lock(&ctx->aio_mutex); @@ -4384,7 +4399,7 @@ rdata->got_bytes += result; } - return rdata->got_bytes > 0 && result != -ECONNABORTED ? + return result != -ECONNABORTED && rdata->got_bytes > 0 ? rdata->got_bytes : result; } @@ -4459,10 +4474,10 @@ * TODO: Send a whole batch of pages to be read * by the cache. */ - page = readahead_page(ractl); - last_batch_size = 1 << thp_order(page); + struct folio *folio = readahead_folio(ractl); + last_batch_size = folio_nr_pages(folio); if (cifs_readpage_from_fscache(ractl->mapping->host, - page) < 0) { + &folio->page) < 0) { /* * TODO: Deal with cache read failure * here, but for the moment, delegate @@ -4470,7 +4485,7 @@ */ caching = false; } - unlock_page(page); + folio_unlock(folio); next_cached++; cache_nr_pages--; if (cache_nr_pages == 0) @@ -4811,8 +4826,6 @@ struct TCP_Server_Info *server = tcon->ses->server; int rc = 0; bool purge_cache = false; - bool is_deferred = false; - struct cifs_deferred_close *dclose; wait_on_bit(&cinode->flags, CIFS_INODE_PENDING_WRITERS, TASK_UNINTERRUPTIBLE); @@ -4849,22 +4862,6 @@ oplock_break_ack: /* - * When oplock break is received and there are no active - * file handles but cached, then schedule deferred close immediately. - * So, new open will not use cached handle. - */ - spin_lock(&CIFS_I(inode)->deferred_lock); - is_deferred = cifs_is_deferred_close(cfile, &dclose); - spin_unlock(&CIFS_I(inode)->deferred_lock); - if (is_deferred && - cfile->deferred_close_scheduled && - delayed_work_pending(&cfile->deferred)) { - if (cancel_delayed_work(&cfile->deferred)) { - _cifsFileInfo_put(cfile, false, false); - goto oplock_break_done; - } - } - /* * releasing stale oplock after recent reconnect of smb session using * a now incorrect file handle is not a data integrity issue but do * not bother sending an oplock release if session to server still is @@ -4875,7 +4872,7 @@ cinode); cifs_dbg(FYI, "Oplock release rc = %d\n", rc); } -oplock_break_done: + _cifsFileInfo_put(cfile, false /* do not wait for ourself */, false); cifs_done_oplock_break(cinode); } --- linux-gcp-5.19.0.orig/fs/cifs/ioctl.c +++ linux-gcp-5.19.0/fs/cifs/ioctl.c @@ -342,7 +342,7 @@ rc = put_user(ExtAttrBits & FS_FL_USER_VISIBLE, (int __user *)arg); - if (rc != EOPNOTSUPP) + if (rc != -EOPNOTSUPP) break; } #endif /* CONFIG_CIFS_POSIX */ @@ -371,7 +371,7 @@ * pSMBFile->fid.netfid, * extAttrBits, * &ExtAttrMask); - * if (rc != EOPNOTSUPP) + * if (rc != -EOPNOTSUPP) * break; */ --- linux-gcp-5.19.0.orig/fs/cifs/link.c +++ linux-gcp-5.19.0/fs/cifs/link.c @@ -459,6 +459,7 @@ oparms.disposition = FILE_CREATE; oparms.fid = &fid; oparms.reconnect = false; + oparms.mode = 0644; rc = SMB2_open(xid, &oparms, utf16_path, &oplock, NULL, NULL, NULL, NULL); --- linux-gcp-5.19.0.orig/fs/cifs/misc.c +++ linux-gcp-5.19.0/fs/cifs/misc.c @@ -742,6 +742,8 @@ list_for_each_entry(cfile, &cifs_inode->openFileList, flist) { if (delayed_work_pending(&cfile->deferred)) { if (cancel_delayed_work(&cfile->deferred)) { + cifs_del_deferred_close(cfile); + tmp_list = kmalloc(sizeof(struct file_list), GFP_ATOMIC); if (tmp_list == NULL) break; @@ -773,6 +775,8 @@ cfile = list_entry(tmp, struct cifsFileInfo, tlist); if (delayed_work_pending(&cfile->deferred)) { if (cancel_delayed_work(&cfile->deferred)) { + cifs_del_deferred_close(cfile); + tmp_list = kmalloc(sizeof(struct file_list), GFP_ATOMIC); if (tmp_list == NULL) break; @@ -808,6 +812,8 @@ if (strstr(full_path, path)) { if (delayed_work_pending(&cfile->deferred)) { if (cancel_delayed_work(&cfile->deferred)) { + cifs_del_deferred_close(cfile); + tmp_list = kmalloc(sizeof(struct file_list), GFP_ATOMIC); if (tmp_list == NULL) break; @@ -1137,8 +1143,8 @@ * @len: Where to store the length for this page: * @offset: Where to store the offset for this page */ -void rqst_page_get_length(struct smb_rqst *rqst, unsigned int page, - unsigned int *len, unsigned int *offset) +void rqst_page_get_length(const struct smb_rqst *rqst, unsigned int page, + unsigned int *len, unsigned int *offset) { *len = rqst->rq_pagesz; *offset = (page == 0) ? rqst->rq_offset : 0; --- linux-gcp-5.19.0.orig/fs/cifs/sess.c +++ linux-gcp-5.19.0/fs/cifs/sess.c @@ -292,9 +292,10 @@ continue; } kref_get(&iface->refcount); + break; } - if (!list_entry_is_head(iface, &ses->iface_list, iface_head)) { + if (list_entry_is_head(iface, &ses->iface_list, iface_head)) { rc = 1; iface = NULL; cifs_dbg(FYI, "unable to find a suitable iface\n"); @@ -302,14 +303,14 @@ /* now drop the ref to the current iface */ if (old_iface && iface) { - kref_put(&old_iface->refcount, release_iface); cifs_dbg(FYI, "replacing iface: %pIS with %pIS\n", &old_iface->sockaddr, &iface->sockaddr); - } else if (old_iface) { kref_put(&old_iface->refcount, release_iface); + } else if (old_iface) { cifs_dbg(FYI, "releasing ref to iface: %pIS\n", &old_iface->sockaddr); + kref_put(&old_iface->refcount, release_iface); } else { WARN_ON(!iface); cifs_dbg(FYI, "adding new iface: %pIS\n", &iface->sockaddr); @@ -496,6 +497,7 @@ cifs_put_tcp_session(chan->server, 0); } + free_xid(xid); return rc; } --- linux-gcp-5.19.0.orig/fs/cifs/smb2file.c +++ linux-gcp-5.19.0/fs/cifs/smb2file.c @@ -61,7 +61,6 @@ nr_ioctl_req.Reserved = 0; rc = SMB2_ioctl(xid, oparms->tcon, fid->persistent_fid, fid->volatile_fid, FSCTL_LMR_REQUEST_RESILIENCY, - true /* is_fsctl */, (char *)&nr_ioctl_req, sizeof(nr_ioctl_req), CIFSMaxBufSize, NULL, NULL /* no return info */); if (rc == -EOPNOTSUPP) { --- linux-gcp-5.19.0.orig/fs/cifs/smb2ops.c +++ linux-gcp-5.19.0/fs/cifs/smb2ops.c @@ -511,8 +511,7 @@ static int parse_server_interfaces(struct network_interface_info_ioctl_rsp *buf, - size_t buf_len, - struct cifs_ses *ses) + size_t buf_len, struct cifs_ses *ses, bool in_mount) { struct network_interface_info_ioctl_rsp *p; struct sockaddr_in *addr4; @@ -539,9 +538,24 @@ iface_head) { iface->is_active = 0; kref_put(&iface->refcount, release_iface); + ses->iface_count--; } spin_unlock(&ses->iface_lock); + /* + * Samba server e.g. can return an empty interface list in some cases, + * which would only be a problem if we were requesting multichannel + */ + if (bytes_left == 0) { + /* avoid spamming logs every 10 minutes, so log only in mount */ + if ((ses->chan_max > 1) && in_mount) + cifs_dbg(VFS, + "empty network interface list returned by server %s\n", + ses->server->hostname); + rc = -EINVAL; + goto out; + } + while (bytes_left >= sizeof(*p)) { memset(&tmp_iface, 0, sizeof(tmp_iface)); tmp_iface.speed = le64_to_cpu(p->LinkSpeed); @@ -602,6 +616,7 @@ /* just get a ref so that it doesn't get picked/freed */ iface->is_active = 1; kref_get(&iface->refcount); + ses->iface_count++; spin_unlock(&ses->iface_lock); goto next_iface; } else if (ret < 0) { @@ -636,9 +651,9 @@ kref_put(&iface->refcount, release_iface); } else list_add_tail(&info->iface_head, &ses->iface_list); - spin_unlock(&ses->iface_lock); ses->iface_count++; + spin_unlock(&ses->iface_lock); ses->iface_last_update = jiffies; next_iface: nb_iface++; @@ -672,7 +687,7 @@ } int -SMB3_request_interfaces(const unsigned int xid, struct cifs_tcon *tcon) +SMB3_request_interfaces(const unsigned int xid, struct cifs_tcon *tcon, bool in_mount) { int rc; unsigned int ret_data_len = 0; @@ -680,7 +695,7 @@ struct cifs_ses *ses = tcon->ses; rc = SMB2_ioctl(xid, tcon, NO_FILE_ID, NO_FILE_ID, - FSCTL_QUERY_NETWORK_INTERFACE_INFO, true /* is_fsctl */, + FSCTL_QUERY_NETWORK_INTERFACE_INFO, NULL /* no data input */, 0 /* no data input */, CIFSMaxBufSize, (char **)&out_buf, &ret_data_len); if (rc == -EOPNOTSUPP) { @@ -692,7 +707,7 @@ goto out; } - rc = parse_server_interfaces(out_buf, ret_data_len, ses); + rc = parse_server_interfaces(out_buf, ret_data_len, ses, in_mount); if (rc) goto out; @@ -1006,12 +1021,13 @@ struct cifs_fid fid; struct cached_fid *cfid = NULL; - oparms.tcon = tcon; - oparms.desired_access = FILE_READ_ATTRIBUTES; - oparms.disposition = FILE_OPEN; - oparms.create_options = cifs_create_options(cifs_sb, 0); - oparms.fid = &fid; - oparms.reconnect = false; + oparms = (struct cifs_open_parms) { + .tcon = tcon, + .desired_access = FILE_READ_ATTRIBUTES, + .disposition = FILE_OPEN, + .create_options = cifs_create_options(cifs_sb, 0), + .fid = &fid, + }; rc = open_cached_dir(xid, tcon, "", cifs_sb, &cfid); if (rc == 0) @@ -1022,7 +1038,7 @@ if (rc) return; - SMB3_request_interfaces(xid, tcon); + SMB3_request_interfaces(xid, tcon, true /* called during mount */); SMB2_QFS_attr(xid, tcon, fid.persistent_fid, fid.volatile_fid, FS_ATTRIBUTE_INFORMATION); @@ -1145,9 +1161,7 @@ size_t name_len, value_len, user_name_len; while (src_size > 0) { - name = &src->ea_data[0]; name_len = (size_t)src->ea_name_length; - value = &src->ea_data[src->ea_name_length + 1]; value_len = (size_t)le16_to_cpu(src->ea_value_length); if (name_len == 0) @@ -1159,6 +1173,9 @@ goto out; } + name = &src->ea_data[0]; + value = &src->ea_data[src->ea_name_length + 1]; + if (ea_name) { if (ea_name_len == name_len && memcmp(ea_name, name, name_len) == 0) { @@ -1394,6 +1411,8 @@ COMPOUND_FID, current->tgid, FILE_FULL_EA_INFORMATION, SMB2_O_INFO_FILE, 0, data, size); + if (rc) + goto sea_exit; smb2_set_next_command(tcon, &rqst[1]); smb2_set_related(&rqst[1]); @@ -1404,6 +1423,8 @@ rqst[2].rq_nvec = 1; rc = SMB2_close_init(tcon, server, &rqst[2], COMPOUND_FID, COMPOUND_FID, false); + if (rc) + goto sea_exit; smb2_set_related(&rqst[2]); rc = compound_send_recv(xid, ses, server, @@ -1608,9 +1629,8 @@ struct resume_key_req *res_key; rc = SMB2_ioctl(xid, tcon, persistent_fid, volatile_fid, - FSCTL_SRV_REQUEST_RESUME_KEY, true /* is_fsctl */, - NULL, 0 /* no input */, CIFSMaxBufSize, - (char **)&res_key, &ret_data_len); + FSCTL_SRV_REQUEST_RESUME_KEY, NULL, 0 /* no input */, + CIFSMaxBufSize, (char **)&res_key, &ret_data_len); if (rc == -EOPNOTSUPP) { pr_warn_once("Server share %s does not support copy range\n", tcon->treeName); @@ -1752,7 +1772,7 @@ rqst[1].rq_nvec = SMB2_IOCTL_IOV_SIZE; rc = SMB2_ioctl_init(tcon, server, &rqst[1], COMPOUND_FID, COMPOUND_FID, - qi.info_type, true, buffer, qi.output_buffer_length, + qi.info_type, buffer, qi.output_buffer_length, CIFSMaxBufSize - MAX_SMB2_CREATE_RESPONSE_SIZE - MAX_SMB2_CLOSE_RESPONSE_SIZE); free_req1_func = SMB2_ioctl_free; @@ -1886,17 +1906,8 @@ int chunks_copied = 0; bool chunk_sizes_updated = false; ssize_t bytes_written, total_bytes_written = 0; - struct inode *inode; pcchunk = kmalloc(sizeof(struct copychunk_ioctl), GFP_KERNEL); - - /* - * We need to flush all unwritten data before we can send the - * copychunk ioctl to the server. - */ - inode = d_inode(trgtfile->dentry); - filemap_write_and_wait(inode->i_mapping); - if (pcchunk == NULL) return -ENOMEM; @@ -1928,9 +1939,8 @@ retbuf = NULL; rc = SMB2_ioctl(xid, tcon, trgtfile->fid.persistent_fid, trgtfile->fid.volatile_fid, FSCTL_SRV_COPYCHUNK_WRITE, - true /* is_fsctl */, (char *)pcchunk, - sizeof(struct copychunk_ioctl), CIFSMaxBufSize, - (char **)&retbuf, &ret_data_len); + (char *)pcchunk, sizeof(struct copychunk_ioctl), + CIFSMaxBufSize, (char **)&retbuf, &ret_data_len); if (rc == 0) { if (ret_data_len != sizeof(struct copychunk_ioctl_rsp)) { @@ -2090,7 +2100,6 @@ rc = SMB2_ioctl(xid, tcon, cfile->fid.persistent_fid, cfile->fid.volatile_fid, FSCTL_SET_SPARSE, - true /* is_fctl */, &setsparse, 1, CIFSMaxBufSize, NULL, NULL); if (rc) { tcon->broken_sparse_sup = true; @@ -2173,7 +2182,6 @@ rc = SMB2_ioctl(xid, tcon, trgtfile->fid.persistent_fid, trgtfile->fid.volatile_fid, FSCTL_DUPLICATE_EXTENTS_TO_FILE, - true /* is_fsctl */, (char *)&dup_ext_buf, sizeof(struct duplicate_extents_to_file), CIFSMaxBufSize, NULL, @@ -2208,7 +2216,6 @@ return SMB2_ioctl(xid, tcon, cfile->fid.persistent_fid, cfile->fid.volatile_fid, FSCTL_SET_INTEGRITY_INFORMATION, - true /* is_fsctl */, (char *)&integr_info, sizeof(struct fsctl_set_integrity_information_req), CIFSMaxBufSize, NULL, @@ -2261,7 +2268,6 @@ rc = SMB2_ioctl(xid, tcon, cfile->fid.persistent_fid, cfile->fid.volatile_fid, FSCTL_SRV_ENUMERATE_SNAPSHOTS, - true /* is_fsctl */, NULL, 0 /* no input data */, max_response_size, (char **)&retbuf, &ret_data_len); @@ -2981,7 +2987,6 @@ do { rc = SMB2_ioctl(xid, tcon, NO_FILE_ID, NO_FILE_ID, FSCTL_DFS_GET_REFERRALS, - true /* is_fsctl */, (char *)dfs_req, dfs_req_size, CIFSMaxBufSize, (char **)&dfs_rsp, &dfs_rsp_size); if (!is_retryable_error(rc)) @@ -3188,8 +3193,7 @@ rc = SMB2_ioctl_init(tcon, server, &rqst[1], fid.persistent_fid, - fid.volatile_fid, FSCTL_GET_REPARSE_POINT, - true /* is_fctl */, NULL, 0, + fid.volatile_fid, FSCTL_GET_REPARSE_POINT, NULL, 0, CIFSMaxBufSize - MAX_SMB2_CREATE_RESPONSE_SIZE - MAX_SMB2_CLOSE_RESPONSE_SIZE); @@ -3369,8 +3373,7 @@ rc = SMB2_ioctl_init(tcon, server, &rqst[1], COMPOUND_FID, - COMPOUND_FID, FSCTL_GET_REPARSE_POINT, - true /* is_fctl */, NULL, 0, + COMPOUND_FID, FSCTL_GET_REPARSE_POINT, NULL, 0, CIFSMaxBufSize - MAX_SMB2_CREATE_RESPONSE_SIZE - MAX_SMB2_CLOSE_RESPONSE_SIZE); @@ -3598,26 +3601,43 @@ return pntsd; } +static long smb3_zero_data(struct file *file, struct cifs_tcon *tcon, + loff_t offset, loff_t len, unsigned int xid) +{ + struct cifsFileInfo *cfile = file->private_data; + struct file_zero_data_information fsctl_buf; + + cifs_dbg(FYI, "Offset %lld len %lld\n", offset, len); + + fsctl_buf.FileOffset = cpu_to_le64(offset); + fsctl_buf.BeyondFinalZero = cpu_to_le64(offset + len); + + return SMB2_ioctl(xid, tcon, cfile->fid.persistent_fid, + cfile->fid.volatile_fid, FSCTL_SET_ZERO_DATA, + (char *)&fsctl_buf, + sizeof(struct file_zero_data_information), + 0, NULL, NULL); +} + static long smb3_zero_range(struct file *file, struct cifs_tcon *tcon, loff_t offset, loff_t len, bool keep_size) { struct cifs_ses *ses = tcon->ses; - struct inode *inode; - struct cifsInodeInfo *cifsi; + struct inode *inode = file_inode(file); + struct cifsInodeInfo *cifsi = CIFS_I(inode); struct cifsFileInfo *cfile = file->private_data; - struct file_zero_data_information fsctl_buf; long rc; unsigned int xid; __le64 eof; xid = get_xid(); - inode = d_inode(cfile->dentry); - cifsi = CIFS_I(inode); - trace_smb3_zero_enter(xid, cfile->fid.persistent_fid, tcon->tid, ses->Suid, offset, len); + inode_lock(inode); + filemap_invalidate_lock(inode->i_mapping); + /* * We zero the range through ioctl, so we need remove the page caches * first, otherwise the data may be inconsistent with the server. @@ -3625,26 +3645,12 @@ truncate_pagecache_range(inode, offset, offset + len - 1); /* if file not oplocked can't be sure whether asking to extend size */ - if (!CIFS_CACHE_READ(cifsi)) - if (keep_size == false) { - rc = -EOPNOTSUPP; - trace_smb3_zero_err(xid, cfile->fid.persistent_fid, - tcon->tid, ses->Suid, offset, len, rc); - free_xid(xid); - return rc; - } - - cifs_dbg(FYI, "Offset %lld len %lld\n", offset, len); - - fsctl_buf.FileOffset = cpu_to_le64(offset); - fsctl_buf.BeyondFinalZero = cpu_to_le64(offset + len); + rc = -EOPNOTSUPP; + if (keep_size == false && !CIFS_CACHE_READ(cifsi)) + goto zero_range_exit; - rc = SMB2_ioctl(xid, tcon, cfile->fid.persistent_fid, - cfile->fid.volatile_fid, FSCTL_SET_ZERO_DATA, true, - (char *)&fsctl_buf, - sizeof(struct file_zero_data_information), - 0, NULL, NULL); - if (rc) + rc = smb3_zero_data(file, tcon, offset, len, xid); + if (rc < 0) goto zero_range_exit; /* @@ -3657,6 +3663,8 @@ } zero_range_exit: + filemap_invalidate_unlock(inode->i_mapping); + inode_unlock(inode); free_xid(xid); if (rc) trace_smb3_zero_err(xid, cfile->fid.persistent_fid, tcon->tid, @@ -3670,7 +3678,7 @@ static long smb3_punch_hole(struct file *file, struct cifs_tcon *tcon, loff_t offset, loff_t len) { - struct inode *inode; + struct inode *inode = file_inode(file); struct cifsFileInfo *cfile = file->private_data; struct file_zero_data_information fsctl_buf; long rc; @@ -3679,14 +3687,12 @@ xid = get_xid(); - inode = d_inode(cfile->dentry); - + inode_lock(inode); /* Need to make file sparse, if not already, before freeing range. */ /* Consider adding equivalent for compressed since it could also work */ if (!smb2_set_sparse(xid, tcon, cfile, inode, set_sparse)) { rc = -EOPNOTSUPP; - free_xid(xid); - return rc; + goto out; } filemap_invalidate_lock(inode->i_mapping); @@ -3703,11 +3709,13 @@ rc = SMB2_ioctl(xid, tcon, cfile->fid.persistent_fid, cfile->fid.volatile_fid, FSCTL_SET_ZERO_DATA, - true /* is_fctl */, (char *)&fsctl_buf, + (char *)&fsctl_buf, sizeof(struct file_zero_data_information), CIFSMaxBufSize, NULL, NULL); - free_xid(xid); filemap_invalidate_unlock(inode->i_mapping); +out: + inode_unlock(inode); + free_xid(xid); return rc; } @@ -3763,7 +3771,7 @@ in_data.length = cpu_to_le64(len); rc = SMB2_ioctl(xid, tcon, cfile->fid.persistent_fid, cfile->fid.volatile_fid, - FSCTL_QUERY_ALLOCATED_RANGES, true, + FSCTL_QUERY_ALLOCATED_RANGES, (char *)&in_data, sizeof(in_data), 1024 * sizeof(struct file_allocated_range_buffer), (char **)&out_data, &out_data_len); @@ -3964,39 +3972,50 @@ { int rc; unsigned int xid; - struct inode *inode; + struct inode *inode = file_inode(file); struct cifsFileInfo *cfile = file->private_data; - struct cifsInodeInfo *cifsi; + struct cifsInodeInfo *cifsi = CIFS_I(inode); __le64 eof; + loff_t old_eof; xid = get_xid(); - inode = d_inode(cfile->dentry); - cifsi = CIFS_I(inode); + inode_lock(inode); - if (off >= i_size_read(inode) || - off + len >= i_size_read(inode)) { + old_eof = i_size_read(inode); + if ((off >= old_eof) || + off + len >= old_eof) { rc = -EINVAL; goto out; } + filemap_invalidate_lock(inode->i_mapping); + rc = filemap_write_and_wait_range(inode->i_mapping, off, old_eof - 1); + if (rc < 0) + goto out_2; + + truncate_pagecache_range(inode, off, old_eof); + rc = smb2_copychunk_range(xid, cfile, cfile, off + len, - i_size_read(inode) - off - len, off); + old_eof - off - len, off); if (rc < 0) - goto out; + goto out_2; - eof = cpu_to_le64(i_size_read(inode) - len); + eof = cpu_to_le64(old_eof - len); rc = SMB2_set_eof(xid, tcon, cfile->fid.persistent_fid, cfile->fid.volatile_fid, cfile->pid, &eof); if (rc < 0) - goto out; + goto out_2; rc = 0; cifsi->server_eof = i_size_read(inode) - len; truncate_setsize(inode, cifsi->server_eof); fscache_resize_cookie(cifs_inode_cookie(inode), cifsi->server_eof); +out_2: + filemap_invalidate_unlock(inode->i_mapping); out: + inode_unlock(inode); free_xid(xid); return rc; } @@ -4007,34 +4026,47 @@ int rc; unsigned int xid; struct cifsFileInfo *cfile = file->private_data; + struct inode *inode = file_inode(file); __le64 eof; - __u64 count; + __u64 count, old_eof; xid = get_xid(); - if (off >= i_size_read(file->f_inode)) { + inode_lock(inode); + + old_eof = i_size_read(inode); + if (off >= old_eof) { rc = -EINVAL; goto out; } - count = i_size_read(file->f_inode) - off; - eof = cpu_to_le64(i_size_read(file->f_inode) + len); + count = old_eof - off; + eof = cpu_to_le64(old_eof + len); + + filemap_invalidate_lock(inode->i_mapping); + rc = filemap_write_and_wait_range(inode->i_mapping, off, old_eof + len - 1); + if (rc < 0) + goto out_2; + truncate_pagecache_range(inode, off, old_eof); rc = SMB2_set_eof(xid, tcon, cfile->fid.persistent_fid, cfile->fid.volatile_fid, cfile->pid, &eof); if (rc < 0) - goto out; + goto out_2; rc = smb2_copychunk_range(xid, cfile, cfile, off, count, off + len); if (rc < 0) - goto out; + goto out_2; - rc = smb3_zero_range(file, tcon, off, len, 1); + rc = smb3_zero_data(file, tcon, off, len, xid); if (rc < 0) - goto out; + goto out_2; rc = 0; +out_2: + filemap_invalidate_unlock(inode->i_mapping); out: + inode_unlock(inode); free_xid(xid); return rc; } @@ -4084,7 +4116,7 @@ rc = SMB2_ioctl(xid, tcon, cfile->fid.persistent_fid, cfile->fid.volatile_fid, - FSCTL_QUERY_ALLOCATED_RANGES, true, + FSCTL_QUERY_ALLOCATED_RANGES, (char *)&in_data, sizeof(in_data), sizeof(struct file_allocated_range_buffer), (char **)&out_data, &out_data_len); @@ -4144,7 +4176,7 @@ rc = SMB2_ioctl(xid, tcon, cfile->fid.persistent_fid, cfile->fid.volatile_fid, - FSCTL_QUERY_ALLOCATED_RANGES, true, + FSCTL_QUERY_ALLOCATED_RANGES, (char *)&in_data, sizeof(in_data), 1024 * sizeof(struct file_allocated_range_buffer), (char **)&out_data, &out_data_len); @@ -4488,69 +4520,82 @@ memcpy(&tr_hdr->SessionId, &shdr->SessionId, 8); } -/* We can not use the normal sg_set_buf() as we will sometimes pass a - * stack object as buf. - */ -static inline void smb2_sg_set_buf(struct scatterlist *sg, const void *buf, - unsigned int buflen) +static void *smb2_aead_req_alloc(struct crypto_aead *tfm, const struct smb_rqst *rqst, + int num_rqst, const u8 *sig, u8 **iv, + struct aead_request **req, struct scatterlist **sgl, + unsigned int *num_sgs) { - void *addr; - /* - * VMAP_STACK (at least) puts stack into the vmalloc address space - */ - if (is_vmalloc_addr(buf)) - addr = vmalloc_to_page(buf); - else - addr = virt_to_page(buf); - sg_set_page(sg, addr, buflen, offset_in_page(buf)); + unsigned int req_size = sizeof(**req) + crypto_aead_reqsize(tfm); + unsigned int iv_size = crypto_aead_ivsize(tfm); + unsigned int len; + u8 *p; + + *num_sgs = cifs_get_num_sgs(rqst, num_rqst, sig); + + len = iv_size; + len += crypto_aead_alignmask(tfm) & ~(crypto_tfm_ctx_alignment() - 1); + len = ALIGN(len, crypto_tfm_ctx_alignment()); + len += req_size; + len = ALIGN(len, __alignof__(struct scatterlist)); + len += *num_sgs * sizeof(**sgl); + + p = kmalloc(len, GFP_ATOMIC); + if (!p) + return NULL; + + *iv = (u8 *)PTR_ALIGN(p, crypto_aead_alignmask(tfm) + 1); + *req = (struct aead_request *)PTR_ALIGN(*iv + iv_size, + crypto_tfm_ctx_alignment()); + *sgl = (struct scatterlist *)PTR_ALIGN((u8 *)*req + req_size, + __alignof__(struct scatterlist)); + return p; } -/* Assumes the first rqst has a transform header as the first iov. - * I.e. - * rqst[0].rq_iov[0] is transform header - * rqst[0].rq_iov[1+] data to be encrypted/decrypted - * rqst[1+].rq_iov[0+] data to be encrypted/decrypted - */ -static struct scatterlist * -init_sg(int num_rqst, struct smb_rqst *rqst, u8 *sign) +static void *smb2_get_aead_req(struct crypto_aead *tfm, const struct smb_rqst *rqst, + int num_rqst, const u8 *sig, u8 **iv, + struct aead_request **req, struct scatterlist **sgl) { - unsigned int sg_len; + unsigned int off, len, skip; struct scatterlist *sg; - unsigned int i; - unsigned int j; - unsigned int idx = 0; - int skip; - - sg_len = 1; - for (i = 0; i < num_rqst; i++) - sg_len += rqst[i].rq_nvec + rqst[i].rq_npages; + unsigned int num_sgs; + unsigned long addr; + int i, j; + void *p; - sg = kmalloc_array(sg_len, sizeof(struct scatterlist), GFP_KERNEL); - if (!sg) + p = smb2_aead_req_alloc(tfm, rqst, num_rqst, sig, iv, req, sgl, &num_sgs); + if (!p) return NULL; - sg_init_table(sg, sg_len); + sg_init_table(*sgl, num_sgs); + sg = *sgl; + + /* Assumes the first rqst has a transform header as the first iov. + * I.e. + * rqst[0].rq_iov[0] is transform header + * rqst[0].rq_iov[1+] data to be encrypted/decrypted + * rqst[1+].rq_iov[0+] data to be encrypted/decrypted + */ for (i = 0; i < num_rqst; i++) { + /* + * The first rqst has a transform header where the + * first 20 bytes are not part of the encrypted blob. + */ for (j = 0; j < rqst[i].rq_nvec; j++) { - /* - * The first rqst has a transform header where the - * first 20 bytes are not part of the encrypted blob - */ - skip = (i == 0) && (j == 0) ? 20 : 0; - smb2_sg_set_buf(&sg[idx++], - rqst[i].rq_iov[j].iov_base + skip, - rqst[i].rq_iov[j].iov_len - skip); - } + struct kvec *iov = &rqst[i].rq_iov[j]; + skip = (i == 0) && (j == 0) ? 20 : 0; + addr = (unsigned long)iov->iov_base + skip; + len = iov->iov_len - skip; + sg = cifs_sg_set_buf(sg, (void *)addr, len); + } for (j = 0; j < rqst[i].rq_npages; j++) { - unsigned int len, offset; - - rqst_page_get_length(&rqst[i], j, &len, &offset); - sg_set_page(&sg[idx++], rqst[i].rq_pages[j], len, offset); + rqst_page_get_length(&rqst[i], j, &len, &off); + sg_set_page(sg++, rqst[i].rq_pages[j], len, off); } } - smb2_sg_set_buf(&sg[idx], sign, SMB2_SIGNATURE_SIZE); - return sg; + cifs_sg_set_buf(sg, sig, SMB2_SIGNATURE_SIZE); + + return p; } static int @@ -4594,11 +4639,11 @@ u8 sign[SMB2_SIGNATURE_SIZE] = {}; u8 key[SMB3_ENC_DEC_KEY_SIZE]; struct aead_request *req; - char *iv; - unsigned int iv_len; + u8 *iv; DECLARE_CRYPTO_WAIT(wait); struct crypto_aead *tfm; unsigned int crypt_len = le32_to_cpu(tr_hdr->OriginalMessageSize); + void *creq; rc = smb2_get_enc_key(server, le64_to_cpu(tr_hdr->SessionId), enc, key); if (rc) { @@ -4633,32 +4678,15 @@ return rc; } - req = aead_request_alloc(tfm, GFP_KERNEL); - if (!req) { - cifs_server_dbg(VFS, "%s: Failed to alloc aead request\n", __func__); + creq = smb2_get_aead_req(tfm, rqst, num_rqst, sign, &iv, &req, &sg); + if (unlikely(!creq)) return -ENOMEM; - } if (!enc) { memcpy(sign, &tr_hdr->Signature, SMB2_SIGNATURE_SIZE); crypt_len += SMB2_SIGNATURE_SIZE; } - sg = init_sg(num_rqst, rqst, sign); - if (!sg) { - cifs_server_dbg(VFS, "%s: Failed to init sg\n", __func__); - rc = -ENOMEM; - goto free_req; - } - - iv_len = crypto_aead_ivsize(tfm); - iv = kzalloc(iv_len, GFP_KERNEL); - if (!iv) { - cifs_server_dbg(VFS, "%s: Failed to alloc iv\n", __func__); - rc = -ENOMEM; - goto free_sg; - } - if ((server->cipher_type == SMB2_ENCRYPTION_AES128_GCM) || (server->cipher_type == SMB2_ENCRYPTION_AES256_GCM)) memcpy(iv, (char *)tr_hdr->Nonce, SMB3_AES_GCM_NONCE); @@ -4667,6 +4695,7 @@ memcpy(iv + 1, (char *)tr_hdr->Nonce, SMB3_AES_CCM_NONCE); } + aead_request_set_tfm(req, tfm); aead_request_set_crypt(req, sg, sg, crypt_len, iv); aead_request_set_ad(req, assoc_data_len); @@ -4679,11 +4708,7 @@ if (!rc && enc) memcpy(&tr_hdr->Signature, sign, SMB2_SIGNATURE_SIZE); - kfree(iv); -free_sg: - kfree(sg); -free_req: - kfree(req); + kfree_sensitive(creq); return rc; } --- linux-gcp-5.19.0.orig/fs/cifs/smb2pdu.c +++ linux-gcp-5.19.0/fs/cifs/smb2pdu.c @@ -964,16 +964,17 @@ } else if (rc != 0) goto neg_exit; + rc = -EIO; if (strcmp(server->vals->version_string, SMB3ANY_VERSION_STRING) == 0) { if (rsp->DialectRevision == cpu_to_le16(SMB20_PROT_ID)) { cifs_server_dbg(VFS, "SMB2 dialect returned but not requested\n"); - return -EIO; + goto neg_exit; } else if (rsp->DialectRevision == cpu_to_le16(SMB21_PROT_ID)) { cifs_server_dbg(VFS, "SMB2.1 dialect returned but not requested\n"); - return -EIO; + goto neg_exit; } else if (rsp->DialectRevision == cpu_to_le16(SMB311_PROT_ID)) { /* ops set to 3.0 by default for default so update */ server->ops = &smb311_operations; @@ -984,7 +985,7 @@ if (rsp->DialectRevision == cpu_to_le16(SMB20_PROT_ID)) { cifs_server_dbg(VFS, "SMB2 dialect returned but not requested\n"); - return -EIO; + goto neg_exit; } else if (rsp->DialectRevision == cpu_to_le16(SMB21_PROT_ID)) { /* ops set to 3.0 by default for default so update */ server->ops = &smb21_operations; @@ -998,7 +999,7 @@ /* if requested single dialect ensure returned dialect matched */ cifs_server_dbg(VFS, "Invalid 0x%x dialect returned: not requested\n", le16_to_cpu(rsp->DialectRevision)); - return -EIO; + goto neg_exit; } cifs_dbg(FYI, "mode 0x%x\n", rsp->SecurityMode); @@ -1016,9 +1017,10 @@ else { cifs_server_dbg(VFS, "Invalid dialect returned by server 0x%x\n", le16_to_cpu(rsp->DialectRevision)); - rc = -EIO; goto neg_exit; } + + rc = 0; server->dialect = le16_to_cpu(rsp->DialectRevision); /* @@ -1166,13 +1168,13 @@ pneg_inbuf->Dialects[0] = cpu_to_le16(server->vals->protocol_id); pneg_inbuf->DialectCount = cpu_to_le16(1); - /* structure is big enough for 3 dialects, sending only 1 */ + /* structure is big enough for 4 dialects, sending only 1 */ inbuflen = sizeof(*pneg_inbuf) - - sizeof(pneg_inbuf->Dialects[0]) * 2; + sizeof(pneg_inbuf->Dialects[0]) * 3; } rc = SMB2_ioctl(xid, tcon, NO_FILE_ID, NO_FILE_ID, - FSCTL_VALIDATE_NEGOTIATE_INFO, true /* is_fsctl */, + FSCTL_VALIDATE_NEGOTIATE_INFO, (char *)pneg_inbuf, inbuflen, CIFSMaxBufSize, (char **)&pneg_rsp, &rsplen); if (rc == -EOPNOTSUPP) { @@ -1523,7 +1525,7 @@ &blob_length, ses, server, sess_data->nls_cp); if (rc) - goto out_err; + goto out; if (use_spnego) { /* BB eventually need to add this */ @@ -2408,7 +2410,7 @@ unsigned int acelen, acl_size, ace_count; unsigned int owner_offset = 0; unsigned int group_offset = 0; - struct smb3_acl acl; + struct smb3_acl acl = {}; *len = roundup(sizeof(struct crt_sd_ctxt) + (sizeof(struct cifs_ace) * 4), 8); @@ -2481,6 +2483,7 @@ acl.AclRevision = ACL_REVISION; /* See 2.4.4.1 of MS-DTYP */ acl.AclSize = cpu_to_le16(acl_size); acl.AceCount = cpu_to_le16(ace_count); + /* acl.Sbz1 and Sbz2 MBZ so are not set here, but initialized above */ memcpy(aclptr, &acl, sizeof(struct smb3_acl)); buf->ccontext.DataLength = cpu_to_le32(ptr - (__u8 *)&buf->sd); @@ -2571,19 +2574,15 @@ path_len = UniStrnlen((wchar_t *)path, PATH_MAX); - /* - * make room for one path separator between the treename and - * path - */ - *out_len = treename_len + 1 + path_len; + /* make room for one path separator only if @path isn't empty */ + *out_len = treename_len + (path[0] ? 1 : 0) + path_len; /* - * final path needs to be null-terminated UTF16 with a - * size aligned to 8 + * final path needs to be 8-byte aligned as specified in + * MS-SMB2 2.2.13 SMB2 CREATE Request. */ - - *out_size = roundup((*out_len+1)*2, 8); - *out_path = kzalloc(*out_size, GFP_KERNEL); + *out_size = roundup(*out_len * sizeof(__le16), 8); + *out_path = kzalloc(*out_size + sizeof(__le16) /* null */, GFP_KERNEL); if (!*out_path) return -ENOMEM; @@ -3055,7 +3054,7 @@ SMB2_ioctl_init(struct cifs_tcon *tcon, struct TCP_Server_Info *server, struct smb_rqst *rqst, u64 persistent_fid, u64 volatile_fid, u32 opcode, - bool is_fsctl, char *in_data, u32 indatalen, + char *in_data, u32 indatalen, __u32 max_response_size) { struct smb2_ioctl_req *req; @@ -3130,10 +3129,8 @@ req->hdr.CreditCharge = cpu_to_le16(DIV_ROUND_UP(max(indatalen, max_response_size), SMB2_MAX_BUFFER_SIZE)); - if (is_fsctl) - req->Flags = cpu_to_le32(SMB2_0_IOCTL_IS_FSCTL); - else - req->Flags = 0; + /* always an FSCTL (for now) */ + req->Flags = cpu_to_le32(SMB2_0_IOCTL_IS_FSCTL); /* validate negotiate request must be signed - see MS-SMB2 3.2.5.5 */ if (opcode == FSCTL_VALIDATE_NEGOTIATE_INFO) @@ -3160,9 +3157,9 @@ */ int SMB2_ioctl(const unsigned int xid, struct cifs_tcon *tcon, u64 persistent_fid, - u64 volatile_fid, u32 opcode, bool is_fsctl, - char *in_data, u32 indatalen, u32 max_out_data_len, - char **out_data, u32 *plen /* returned data len */) + u64 volatile_fid, u32 opcode, char *in_data, u32 indatalen, + u32 max_out_data_len, char **out_data, + u32 *plen /* returned data len */) { struct smb_rqst rqst; struct smb2_ioctl_rsp *rsp = NULL; @@ -3204,7 +3201,7 @@ rc = SMB2_ioctl_init(tcon, server, &rqst, persistent_fid, volatile_fid, opcode, - is_fsctl, in_data, indatalen, max_out_data_len); + in_data, indatalen, max_out_data_len); if (rc) goto ioctl_exit; @@ -3296,7 +3293,7 @@ cpu_to_le16(COMPRESSION_FORMAT_DEFAULT); rc = SMB2_ioctl(xid, tcon, persistent_fid, volatile_fid, - FSCTL_SET_COMPRESSION, true /* is_fsctl */, + FSCTL_SET_COMPRESSION, (char *)&fsctl_input /* data input */, 2 /* in data len */, CIFSMaxBufSize /* max out data */, &ret_data /* out data */, NULL); @@ -3863,7 +3860,7 @@ goto done; /* allocate a dummy tcon struct used for reconnect */ - tcon = kzalloc(sizeof(struct cifs_tcon), GFP_KERNEL); + tcon = tconInfoAlloc(); if (!tcon) { resched = true; list_for_each_entry_safe(ses, ses2, &tmp_ses_list, rlist) { @@ -3886,7 +3883,7 @@ list_del_init(&ses->rlist); cifs_put_smb_ses(ses); } - kfree(tcon); + tconInfoFree(tcon); done: cifs_dbg(FYI, "Reconnecting tcons and channels finished\n"); @@ -4128,12 +4125,15 @@ (struct smb2_hdr *)rdata->iov[0].iov_base; struct cifs_credits credits = { .value = 0, .instance = 0 }; struct smb_rqst rqst = { .rq_iov = &rdata->iov[1], - .rq_nvec = 1, - .rq_pages = rdata->pages, - .rq_offset = rdata->page_offset, - .rq_npages = rdata->nr_pages, - .rq_pagesz = rdata->pagesz, - .rq_tailsz = rdata->tailsz }; + .rq_nvec = 1, }; + + if (rdata->got_bytes) { + rqst.rq_pages = rdata->pages; + rqst.rq_offset = rdata->page_offset; + rqst.rq_npages = rdata->nr_pages; + rqst.rq_pagesz = rdata->pagesz; + rqst.rq_tailsz = rdata->tailsz; + } WARN_ONCE(rdata->server != mid->server, "rdata server %p != mid server %p", --- linux-gcp-5.19.0.orig/fs/cifs/smb2proto.h +++ linux-gcp-5.19.0/fs/cifs/smb2proto.h @@ -147,13 +147,13 @@ extern void SMB2_open_free(struct smb_rqst *rqst); extern int SMB2_ioctl(const unsigned int xid, struct cifs_tcon *tcon, u64 persistent_fid, u64 volatile_fid, u32 opcode, - bool is_fsctl, char *in_data, u32 indatalen, u32 maxoutlen, + char *in_data, u32 indatalen, u32 maxoutlen, char **out_data, u32 *plen /* returned data len */); extern int SMB2_ioctl_init(struct cifs_tcon *tcon, struct TCP_Server_Info *server, struct smb_rqst *rqst, u64 persistent_fid, u64 volatile_fid, u32 opcode, - bool is_fsctl, char *in_data, u32 indatalen, + char *in_data, u32 indatalen, __u32 max_response_size); extern void SMB2_ioctl_free(struct smb_rqst *rqst); extern int SMB2_change_notify(const unsigned int xid, struct cifs_tcon *tcon, --- linux-gcp-5.19.0.orig/fs/cifs/smb2transport.c +++ linux-gcp-5.19.0/fs/cifs/smb2transport.c @@ -225,9 +225,9 @@ struct smb_rqst drqst; ses = smb2_find_smb_ses(server, le64_to_cpu(shdr->SessionId)); - if (!ses) { + if (unlikely(!ses)) { cifs_server_dbg(VFS, "%s: Could not find session\n", __func__); - return 0; + return -ENOENT; } memset(smb2_signature, 0x0, SMB2_HMACSHA256_SIZE); @@ -557,8 +557,10 @@ u8 key[SMB3_SIGN_KEY_SIZE]; rc = smb2_get_sign_key(le64_to_cpu(shdr->SessionId), server, key); - if (rc) - return 0; + if (unlikely(rc)) { + cifs_server_dbg(VFS, "%s: Could not get signing key\n", __func__); + return rc; + } if (allocate_crypto) { rc = cifs_alloc_hash("cmac(aes)", &hash, &sdesc); --- linux-gcp-5.19.0.orig/fs/cifs/smbdirect.c +++ linux-gcp-5.19.0/fs/cifs/smbdirect.c @@ -1405,6 +1405,7 @@ destroy_workqueue(info->workqueue); log_rdma_event(INFO, "rdma session destroyed\n"); kfree(info); + server->smbd_conn = NULL; } /* @@ -1701,6 +1702,7 @@ allocate_mr_failed: /* At this point, need to a full transport shutdown */ + server->smbd_conn = info; smbd_destroy(server); return NULL; @@ -2249,6 +2251,7 @@ atomic_set(&info->mr_ready_count, 0); atomic_set(&info->mr_used_count, 0); init_waitqueue_head(&info->wait_for_mr_cleanup); + INIT_WORK(&info->mr_recovery_work, smbd_mr_recovery_work); /* Allocate more MRs (2x) than hardware responder_resources */ for (i = 0; i < info->responder_resources * 2; i++) { smbdirect_mr = kzalloc(sizeof(*smbdirect_mr), GFP_KERNEL); @@ -2276,13 +2279,13 @@ list_add_tail(&smbdirect_mr->list, &info->mr_list); atomic_inc(&info->mr_ready_count); } - INIT_WORK(&info->mr_recovery_work, smbd_mr_recovery_work); return 0; out: kfree(smbdirect_mr); list_for_each_entry_safe(smbdirect_mr, tmp, &info->mr_list, list) { + list_del(&smbdirect_mr->list); ib_dereg_mr(smbdirect_mr->mr); kfree(smbdirect_mr->sgl); kfree(smbdirect_mr); --- linux-gcp-5.19.0.orig/fs/cifs/transport.c +++ linux-gcp-5.19.0/fs/cifs/transport.c @@ -196,10 +196,6 @@ *sent = 0; - smb_msg->msg_name = (struct sockaddr *) &server->dstaddr; - smb_msg->msg_namelen = sizeof(struct sockaddr); - smb_msg->msg_control = NULL; - smb_msg->msg_controllen = 0; if (server->noblocksnd) smb_msg->msg_flags = MSG_DONTWAIT + MSG_NOSIGNAL; else @@ -311,7 +307,7 @@ sigset_t mask, oldmask; size_t total_len = 0, sent, size; struct socket *ssocket = server->ssocket; - struct msghdr smb_msg; + struct msghdr smb_msg = {}; __be32 rfc1002_marker; if (cifs_rdma_enabled(server)) { --- linux-gcp-5.19.0.orig/fs/coda/upcall.c +++ linux-gcp-5.19.0/fs/coda/upcall.c @@ -791,7 +791,7 @@ sig_req = kmalloc(sizeof(struct upc_req), GFP_KERNEL); if (!sig_req) goto exit; - sig_inputArgs = kvzalloc(sizeof(struct coda_in_hdr), GFP_KERNEL); + sig_inputArgs = kvzalloc(sizeof(*sig_inputArgs), GFP_KERNEL); if (!sig_inputArgs) { kfree(sig_req); goto exit; --- linux-gcp-5.19.0.orig/fs/configfs/dir.c +++ linux-gcp-5.19.0/fs/configfs/dir.c @@ -316,6 +316,7 @@ return 0; out_remove: + configfs_put(dentry->d_fsdata); configfs_remove_dirent(dentry); return PTR_ERR(inode); } @@ -382,6 +383,7 @@ return 0; out_remove: + configfs_put(dentry->d_fsdata); configfs_remove_dirent(dentry); return PTR_ERR(inode); } --- linux-gcp-5.19.0.orig/fs/coredump.c +++ linux-gcp-5.19.0/fs/coredump.c @@ -856,6 +856,39 @@ EXPORT_SYMBOL(dump_skip); #ifdef CONFIG_ELF_CORE +static int dump_emit_page(struct coredump_params *cprm, struct page *page) +{ + struct bio_vec bvec = { + .bv_page = page, + .bv_offset = 0, + .bv_len = PAGE_SIZE, + }; + struct iov_iter iter; + struct file *file = cprm->file; + loff_t pos; + ssize_t n; + + if (cprm->to_skip) { + if (!__dump_skip(cprm, cprm->to_skip)) + return 0; + cprm->to_skip = 0; + } + if (cprm->written + PAGE_SIZE > cprm->limit) + return 0; + if (dump_interrupted()) + return 0; + pos = file->f_pos; + iov_iter_bvec(&iter, WRITE, &bvec, 1, PAGE_SIZE); + n = __kernel_write_iter(cprm->file, &iter, &pos); + if (n != PAGE_SIZE) + return 0; + file->f_pos = pos; + cprm->written += PAGE_SIZE; + cprm->pos += PAGE_SIZE; + + return 1; +} + int dump_user_range(struct coredump_params *cprm, unsigned long start, unsigned long len) { @@ -863,7 +896,6 @@ for (addr = start; addr < start + len; addr += PAGE_SIZE) { struct page *page; - int stop; /* * To avoid having to allocate page tables for virtual address @@ -874,10 +906,7 @@ */ page = get_dump_page(addr); if (page) { - void *kaddr = kmap_local_page(page); - - stop = !dump_emit(cprm, kaddr, PAGE_SIZE); - kunmap_local(kaddr); + int stop = !dump_emit_page(cprm, page); put_page(page); if (stop) return 0; --- linux-gcp-5.19.0.orig/fs/crypto/fscrypt_private.h +++ linux-gcp-5.19.0/fs/crypto/fscrypt_private.h @@ -225,7 +225,7 @@ * will be NULL if the master key was found in a process-subscribed * keyring rather than in the filesystem-level keyring. */ - struct key *ci_master_key; + struct fscrypt_master_key *ci_master_key; /* * Link in list of inodes that were unlocked with the master key. @@ -440,6 +440,40 @@ struct fscrypt_master_key { /* + * Back-pointer to the super_block of the filesystem to which this + * master key has been added. Only valid if ->mk_active_refs > 0. + */ + struct super_block *mk_sb; + + /* + * Link in ->mk_sb->s_master_keys->key_hashtable. + * Only valid if ->mk_active_refs > 0. + */ + struct hlist_node mk_node; + + /* Semaphore that protects ->mk_secret and ->mk_users */ + struct rw_semaphore mk_sem; + + /* + * Active and structural reference counts. An active ref guarantees + * that the struct continues to exist, continues to be in the keyring + * ->mk_sb->s_master_keys, and that any embedded subkeys (e.g. + * ->mk_direct_keys) that have been prepared continue to exist. + * A structural ref only guarantees that the struct continues to exist. + * + * There is one active ref associated with ->mk_secret being present, + * and one active ref for each inode in ->mk_decrypted_inodes. + * + * There is one structural ref associated with the active refcount being + * nonzero. Finding a key in the keyring also takes a structural ref, + * which is then held temporarily while the key is operated on. + */ + refcount_t mk_active_refs; + refcount_t mk_struct_refs; + + struct rcu_head mk_rcu_head; + + /* * The secret key material. After FS_IOC_REMOVE_ENCRYPTION_KEY is * executed, this is wiped and no new inodes can be unlocked with this * key; however, there may still be inodes in ->mk_decrypted_inodes @@ -447,7 +481,10 @@ * FS_IOC_REMOVE_ENCRYPTION_KEY can be retried, or * FS_IOC_ADD_ENCRYPTION_KEY can add the secret again. * - * Locking: protected by this master key's key->sem. + * While ->mk_secret is present, one ref in ->mk_active_refs is held. + * + * Locking: protected by ->mk_sem. The manipulation of ->mk_active_refs + * associated with this field is protected by ->mk_sem as well. */ struct fscrypt_master_key_secret mk_secret; @@ -468,23 +505,13 @@ * * This is NULL for v1 policy keys; those can only be added by root. * - * Locking: in addition to this keyring's own semaphore, this is - * protected by this master key's key->sem, so we can do atomic - * search+insert. It can also be searched without taking any locks, but - * in that case the returned key may have already been removed. + * Locking: protected by ->mk_sem. (We don't just rely on the keyrings + * subsystem semaphore ->mk_users->sem, as we need support for atomic + * search+insert along with proper synchronization with ->mk_secret.) */ struct key *mk_users; /* - * Length of ->mk_decrypted_inodes, plus one if mk_secret is present. - * Once this goes to 0, the master key is removed from ->s_master_keys. - * The 'struct fscrypt_master_key' will continue to live as long as the - * 'struct key' whose payload it is, but we won't let this reference - * count rise again. - */ - refcount_t mk_refcount; - - /* * List of inodes that were unlocked using this key. This allows the * inodes to be evicted efficiently if the key is removed. */ @@ -509,10 +536,10 @@ is_master_key_secret_present(const struct fscrypt_master_key_secret *secret) { /* - * The READ_ONCE() is only necessary for fscrypt_drop_inode() and - * fscrypt_key_describe(). These run in atomic context, so they can't - * take the key semaphore and thus 'secret' can change concurrently - * which would be a data race. But they only need to know whether the + * The READ_ONCE() is only necessary for fscrypt_drop_inode(). + * fscrypt_drop_inode() runs in atomic context, so it can't take the key + * semaphore and thus 'secret' can change concurrently which would be a + * data race. But fscrypt_drop_inode() only need to know whether the * secret *was* present at the time of check, so READ_ONCE() suffices. */ return READ_ONCE(secret->size) != 0; @@ -541,7 +568,11 @@ return 0; } -struct key * +void fscrypt_put_master_key(struct fscrypt_master_key *mk); + +void fscrypt_put_master_key_activeref(struct fscrypt_master_key *mk); + +struct fscrypt_master_key * fscrypt_find_master_key(struct super_block *sb, const struct fscrypt_key_specifier *mk_spec); --- linux-gcp-5.19.0.orig/fs/crypto/hooks.c +++ linux-gcp-5.19.0/fs/crypto/hooks.c @@ -5,8 +5,6 @@ * Encryption hooks for higher-level filesystem operations. */ -#include - #include "fscrypt_private.h" /** @@ -142,7 +140,6 @@ unsigned int oldflags, unsigned int flags) { struct fscrypt_info *ci; - struct key *key; struct fscrypt_master_key *mk; int err; @@ -158,14 +155,13 @@ ci = inode->i_crypt_info; if (ci->ci_policy.version != FSCRYPT_POLICY_V2) return -EINVAL; - key = ci->ci_master_key; - mk = key->payload.data[0]; - down_read(&key->sem); + mk = ci->ci_master_key; + down_read(&mk->mk_sem); if (is_master_key_secret_present(&mk->mk_secret)) err = fscrypt_derive_dirhash_key(ci, mk); else err = -ENOKEY; - up_read(&key->sem); + up_read(&mk->mk_sem); return err; } return 0; --- linux-gcp-5.19.0.orig/fs/crypto/keyring.c +++ linux-gcp-5.19.0/fs/crypto/keyring.c @@ -18,6 +18,7 @@ * information about these ioctls. */ +#include #include #include #include @@ -25,6 +26,18 @@ #include "fscrypt_private.h" +/* The master encryption keys for a filesystem (->s_master_keys) */ +struct fscrypt_keyring { + /* + * Lock that protects ->key_hashtable. It does *not* protect the + * fscrypt_master_key structs themselves. + */ + spinlock_t lock; + + /* Hash table that maps fscrypt_key_specifier to fscrypt_master_key */ + struct hlist_head key_hashtable[128]; +}; + static void wipe_master_key_secret(struct fscrypt_master_key_secret *secret) { fscrypt_destroy_hkdf(&secret->hkdf); @@ -38,20 +51,70 @@ memzero_explicit(src, sizeof(*src)); } -static void free_master_key(struct fscrypt_master_key *mk) +static void fscrypt_free_master_key(struct rcu_head *head) +{ + struct fscrypt_master_key *mk = + container_of(head, struct fscrypt_master_key, mk_rcu_head); + /* + * The master key secret and any embedded subkeys should have already + * been wiped when the last active reference to the fscrypt_master_key + * struct was dropped; doing it here would be unnecessarily late. + * Nevertheless, use kfree_sensitive() in case anything was missed. + */ + kfree_sensitive(mk); +} + +void fscrypt_put_master_key(struct fscrypt_master_key *mk) +{ + if (!refcount_dec_and_test(&mk->mk_struct_refs)) + return; + /* + * No structural references left, so free ->mk_users, and also free the + * fscrypt_master_key struct itself after an RCU grace period ensures + * that concurrent keyring lookups can no longer find it. + */ + WARN_ON(refcount_read(&mk->mk_active_refs) != 0); + key_put(mk->mk_users); + mk->mk_users = NULL; + call_rcu(&mk->mk_rcu_head, fscrypt_free_master_key); +} + +void fscrypt_put_master_key_activeref(struct fscrypt_master_key *mk) { + struct super_block *sb = mk->mk_sb; + struct fscrypt_keyring *keyring = sb->s_master_keys; size_t i; - wipe_master_key_secret(&mk->mk_secret); + if (!refcount_dec_and_test(&mk->mk_active_refs)) + return; + /* + * No active references left, so complete the full removal of this + * fscrypt_master_key struct by removing it from the keyring and + * destroying any subkeys embedded in it. + */ + + spin_lock(&keyring->lock); + hlist_del_rcu(&mk->mk_node); + spin_unlock(&keyring->lock); + + /* + * ->mk_active_refs == 0 implies that ->mk_secret is not present and + * that ->mk_decrypted_inodes is empty. + */ + WARN_ON(is_master_key_secret_present(&mk->mk_secret)); + WARN_ON(!list_empty(&mk->mk_decrypted_inodes)); for (i = 0; i <= FSCRYPT_MODE_MAX; i++) { fscrypt_destroy_prepared_key(&mk->mk_direct_keys[i]); fscrypt_destroy_prepared_key(&mk->mk_iv_ino_lblk_64_keys[i]); fscrypt_destroy_prepared_key(&mk->mk_iv_ino_lblk_32_keys[i]); } + memzero_explicit(&mk->mk_ino_hash_key, + sizeof(mk->mk_ino_hash_key)); + mk->mk_ino_hash_key_initialized = false; - key_put(mk->mk_users); - kfree_sensitive(mk); + /* Drop the structural ref associated with the active refs. */ + fscrypt_put_master_key(mk); } static inline bool valid_key_spec(const struct fscrypt_key_specifier *spec) @@ -61,44 +124,6 @@ return master_key_spec_len(spec) != 0; } -static int fscrypt_key_instantiate(struct key *key, - struct key_preparsed_payload *prep) -{ - key->payload.data[0] = (struct fscrypt_master_key *)prep->data; - return 0; -} - -static void fscrypt_key_destroy(struct key *key) -{ - free_master_key(key->payload.data[0]); -} - -static void fscrypt_key_describe(const struct key *key, struct seq_file *m) -{ - seq_puts(m, key->description); - - if (key_is_positive(key)) { - const struct fscrypt_master_key *mk = key->payload.data[0]; - - if (!is_master_key_secret_present(&mk->mk_secret)) - seq_puts(m, ": secret removed"); - } -} - -/* - * Type of key in ->s_master_keys. Each key of this type represents a master - * key which has been added to the filesystem. Its payload is a - * 'struct fscrypt_master_key'. The "." prefix in the key type name prevents - * users from adding keys of this type via the keyrings syscalls rather than via - * the intended method of FS_IOC_ADD_ENCRYPTION_KEY. - */ -static struct key_type key_type_fscrypt = { - .name = "._fscrypt", - .instantiate = fscrypt_key_instantiate, - .destroy = fscrypt_key_destroy, - .describe = fscrypt_key_describe, -}; - static int fscrypt_user_key_instantiate(struct key *key, struct key_preparsed_payload *prep) { @@ -131,32 +156,6 @@ .describe = fscrypt_user_key_describe, }; -/* Search ->s_master_keys or ->mk_users */ -static struct key *search_fscrypt_keyring(struct key *keyring, - struct key_type *type, - const char *description) -{ - /* - * We need to mark the keyring reference as "possessed" so that we - * acquire permission to search it, via the KEY_POS_SEARCH permission. - */ - key_ref_t keyref = make_key_ref(keyring, true /* possessed */); - - keyref = keyring_search(keyref, type, description, false); - if (IS_ERR(keyref)) { - if (PTR_ERR(keyref) == -EAGAIN || /* not found */ - PTR_ERR(keyref) == -EKEYREVOKED) /* recently invalidated */ - keyref = ERR_PTR(-ENOKEY); - return ERR_CAST(keyref); - } - return key_ref_to_ptr(keyref); -} - -#define FSCRYPT_FS_KEYRING_DESCRIPTION_SIZE \ - (CONST_STRLEN("fscrypt-") + sizeof_field(struct super_block, s_id)) - -#define FSCRYPT_MK_DESCRIPTION_SIZE (2 * FSCRYPT_KEY_IDENTIFIER_SIZE + 1) - #define FSCRYPT_MK_USERS_DESCRIPTION_SIZE \ (CONST_STRLEN("fscrypt-") + 2 * FSCRYPT_KEY_IDENTIFIER_SIZE + \ CONST_STRLEN("-users") + 1) @@ -164,21 +163,6 @@ #define FSCRYPT_MK_USER_DESCRIPTION_SIZE \ (2 * FSCRYPT_KEY_IDENTIFIER_SIZE + CONST_STRLEN(".uid.") + 10 + 1) -static void format_fs_keyring_description( - char description[FSCRYPT_FS_KEYRING_DESCRIPTION_SIZE], - const struct super_block *sb) -{ - sprintf(description, "fscrypt-%s", sb->s_id); -} - -static void format_mk_description( - char description[FSCRYPT_MK_DESCRIPTION_SIZE], - const struct fscrypt_key_specifier *mk_spec) -{ - sprintf(description, "%*phN", - master_key_spec_len(mk_spec), (u8 *)&mk_spec->u); -} - static void format_mk_users_keyring_description( char description[FSCRYPT_MK_USERS_DESCRIPTION_SIZE], const u8 mk_identifier[FSCRYPT_KEY_IDENTIFIER_SIZE]) @@ -199,20 +183,15 @@ /* Create ->s_master_keys if needed. Synchronized by fscrypt_add_key_mutex. */ static int allocate_filesystem_keyring(struct super_block *sb) { - char description[FSCRYPT_FS_KEYRING_DESCRIPTION_SIZE]; - struct key *keyring; + struct fscrypt_keyring *keyring; if (sb->s_master_keys) return 0; - format_fs_keyring_description(description, sb); - keyring = keyring_alloc(description, GLOBAL_ROOT_UID, GLOBAL_ROOT_GID, - current_cred(), KEY_POS_SEARCH | - KEY_USR_SEARCH | KEY_USR_READ | KEY_USR_VIEW, - KEY_ALLOC_NOT_IN_QUOTA, NULL, NULL); - if (IS_ERR(keyring)) - return PTR_ERR(keyring); - + keyring = kzalloc(sizeof(*keyring), GFP_KERNEL); + if (!keyring) + return -ENOMEM; + spin_lock_init(&keyring->lock); /* * Pairs with the smp_load_acquire() in fscrypt_find_master_key(). * I.e., here we publish ->s_master_keys with a RELEASE barrier so that @@ -222,21 +201,80 @@ return 0; } -void fscrypt_sb_free(struct super_block *sb) +/* + * Release all encryption keys that have been added to the filesystem, along + * with the keyring that contains them. + * + * This is called at unmount time. The filesystem's underlying block device(s) + * are still available at this time; this is important because after user file + * accesses have been allowed, this function may need to evict keys from the + * keyslots of an inline crypto engine, which requires the block device(s). + * + * This is also called when the super_block is being freed. This is needed to + * avoid a memory leak if mounting fails after the "test_dummy_encryption" + * option was processed, as in that case the unmount-time call isn't made. + */ +void fscrypt_destroy_keyring(struct super_block *sb) { - key_put(sb->s_master_keys); + struct fscrypt_keyring *keyring = sb->s_master_keys; + size_t i; + + if (!keyring) + return; + + for (i = 0; i < ARRAY_SIZE(keyring->key_hashtable); i++) { + struct hlist_head *bucket = &keyring->key_hashtable[i]; + struct fscrypt_master_key *mk; + struct hlist_node *tmp; + + hlist_for_each_entry_safe(mk, tmp, bucket, mk_node) { + /* + * Since all inodes were already evicted, every key + * remaining in the keyring should have an empty inode + * list, and should only still be in the keyring due to + * the single active ref associated with ->mk_secret. + * There should be no structural refs beyond the one + * associated with the active ref. + */ + WARN_ON(refcount_read(&mk->mk_active_refs) != 1); + WARN_ON(refcount_read(&mk->mk_struct_refs) != 1); + WARN_ON(!is_master_key_secret_present(&mk->mk_secret)); + wipe_master_key_secret(&mk->mk_secret); + fscrypt_put_master_key_activeref(mk); + } + } + kfree_sensitive(keyring); sb->s_master_keys = NULL; } +static struct hlist_head * +fscrypt_mk_hash_bucket(struct fscrypt_keyring *keyring, + const struct fscrypt_key_specifier *mk_spec) +{ + /* + * Since key specifiers should be "random" values, it is sufficient to + * use a trivial hash function that just takes the first several bits of + * the key specifier. + */ + unsigned long i = get_unaligned((unsigned long *)&mk_spec->u); + + return &keyring->key_hashtable[i % ARRAY_SIZE(keyring->key_hashtable)]; +} + /* - * Find the specified master key in ->s_master_keys. - * Returns ERR_PTR(-ENOKEY) if not found. + * Find the specified master key struct in ->s_master_keys and take a structural + * ref to it. The structural ref guarantees that the key struct continues to + * exist, but it does *not* guarantee that ->s_master_keys continues to contain + * the key struct. The structural ref needs to be dropped by + * fscrypt_put_master_key(). Returns NULL if the key struct is not found. */ -struct key *fscrypt_find_master_key(struct super_block *sb, - const struct fscrypt_key_specifier *mk_spec) +struct fscrypt_master_key * +fscrypt_find_master_key(struct super_block *sb, + const struct fscrypt_key_specifier *mk_spec) { - struct key *keyring; - char description[FSCRYPT_MK_DESCRIPTION_SIZE]; + struct fscrypt_keyring *keyring; + struct hlist_head *bucket; + struct fscrypt_master_key *mk; /* * Pairs with the smp_store_release() in allocate_filesystem_keyring(). @@ -246,10 +284,38 @@ */ keyring = smp_load_acquire(&sb->s_master_keys); if (keyring == NULL) - return ERR_PTR(-ENOKEY); /* No keyring yet, so no keys yet. */ + return NULL; /* No keyring yet, so no keys yet. */ - format_mk_description(description, mk_spec); - return search_fscrypt_keyring(keyring, &key_type_fscrypt, description); + bucket = fscrypt_mk_hash_bucket(keyring, mk_spec); + rcu_read_lock(); + switch (mk_spec->type) { + case FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR: + hlist_for_each_entry_rcu(mk, bucket, mk_node) { + if (mk->mk_spec.type == + FSCRYPT_KEY_SPEC_TYPE_DESCRIPTOR && + memcmp(mk->mk_spec.u.descriptor, + mk_spec->u.descriptor, + FSCRYPT_KEY_DESCRIPTOR_SIZE) == 0 && + refcount_inc_not_zero(&mk->mk_struct_refs)) + goto out; + } + break; + case FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER: + hlist_for_each_entry_rcu(mk, bucket, mk_node) { + if (mk->mk_spec.type == + FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER && + memcmp(mk->mk_spec.u.identifier, + mk_spec->u.identifier, + FSCRYPT_KEY_IDENTIFIER_SIZE) == 0 && + refcount_inc_not_zero(&mk->mk_struct_refs)) + goto out; + } + break; + } + mk = NULL; +out: + rcu_read_unlock(); + return mk; } static int allocate_master_key_users_keyring(struct fscrypt_master_key *mk) @@ -277,17 +343,30 @@ static struct key *find_master_key_user(struct fscrypt_master_key *mk) { char description[FSCRYPT_MK_USER_DESCRIPTION_SIZE]; + key_ref_t keyref; format_mk_user_description(description, mk->mk_spec.u.identifier); - return search_fscrypt_keyring(mk->mk_users, &key_type_fscrypt_user, - description); + + /* + * We need to mark the keyring reference as "possessed" so that we + * acquire permission to search it, via the KEY_POS_SEARCH permission. + */ + keyref = keyring_search(make_key_ref(mk->mk_users, true /*possessed*/), + &key_type_fscrypt_user, description, false); + if (IS_ERR(keyref)) { + if (PTR_ERR(keyref) == -EAGAIN || /* not found */ + PTR_ERR(keyref) == -EKEYREVOKED) /* recently invalidated */ + keyref = ERR_PTR(-ENOKEY); + return ERR_CAST(keyref); + } + return key_ref_to_ptr(keyref); } /* * Give the current user a "key" in ->mk_users. This charges the user's quota * and marks the master key as added by the current user, so that it cannot be - * removed by another user with the key. Either the master key's key->sem must - * be held for write, or the master key must be still undergoing initialization. + * removed by another user with the key. Either ->mk_sem must be held for + * write, or the master key must be still undergoing initialization. */ static int add_master_key_user(struct fscrypt_master_key *mk) { @@ -309,7 +388,7 @@ /* * Remove the current user's "key" from ->mk_users. - * The master key's key->sem must be held for write. + * ->mk_sem must be held for write. * * Returns 0 if removed, -ENOKEY if not found, or another -errno code. */ @@ -327,63 +406,49 @@ } /* - * Allocate a new fscrypt_master_key which contains the given secret, set it as - * the payload of a new 'struct key' of type fscrypt, and link the 'struct key' - * into the given keyring. Synchronized by fscrypt_add_key_mutex. + * Allocate a new fscrypt_master_key, transfer the given secret over to it, and + * insert it into sb->s_master_keys. */ -static int add_new_master_key(struct fscrypt_master_key_secret *secret, - const struct fscrypt_key_specifier *mk_spec, - struct key *keyring) +static int add_new_master_key(struct super_block *sb, + struct fscrypt_master_key_secret *secret, + const struct fscrypt_key_specifier *mk_spec) { + struct fscrypt_keyring *keyring = sb->s_master_keys; struct fscrypt_master_key *mk; - char description[FSCRYPT_MK_DESCRIPTION_SIZE]; - struct key *key; int err; mk = kzalloc(sizeof(*mk), GFP_KERNEL); if (!mk) return -ENOMEM; + mk->mk_sb = sb; + init_rwsem(&mk->mk_sem); + refcount_set(&mk->mk_struct_refs, 1); mk->mk_spec = *mk_spec; - move_master_key_secret(&mk->mk_secret, secret); - - refcount_set(&mk->mk_refcount, 1); /* secret is present */ INIT_LIST_HEAD(&mk->mk_decrypted_inodes); spin_lock_init(&mk->mk_decrypted_inodes_lock); if (mk_spec->type == FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER) { err = allocate_master_key_users_keyring(mk); if (err) - goto out_free_mk; + goto out_put; err = add_master_key_user(mk); if (err) - goto out_free_mk; + goto out_put; } - /* - * Note that we don't charge this key to anyone's quota, since when - * ->mk_users is in use those keys are charged instead, and otherwise - * (when ->mk_users isn't in use) only root can add these keys. - */ - format_mk_description(description, mk_spec); - key = key_alloc(&key_type_fscrypt, description, - GLOBAL_ROOT_UID, GLOBAL_ROOT_GID, current_cred(), - KEY_POS_SEARCH | KEY_USR_SEARCH | KEY_USR_VIEW, - KEY_ALLOC_NOT_IN_QUOTA, NULL); - if (IS_ERR(key)) { - err = PTR_ERR(key); - goto out_free_mk; - } - err = key_instantiate_and_link(key, mk, sizeof(*mk), keyring, NULL); - key_put(key); - if (err) - goto out_free_mk; + move_master_key_secret(&mk->mk_secret, secret); + refcount_set(&mk->mk_active_refs, 1); /* ->mk_secret is present */ + spin_lock(&keyring->lock); + hlist_add_head_rcu(&mk->mk_node, + fscrypt_mk_hash_bucket(keyring, mk_spec)); + spin_unlock(&keyring->lock); return 0; -out_free_mk: - free_master_key(mk); +out_put: + fscrypt_put_master_key(mk); return err; } @@ -392,42 +457,34 @@ static int add_existing_master_key(struct fscrypt_master_key *mk, struct fscrypt_master_key_secret *secret) { - struct key *mk_user; - bool rekey; int err; /* * If the current user is already in ->mk_users, then there's nothing to - * do. (Not applicable for v1 policy keys, which have NULL ->mk_users.) + * do. Otherwise, we need to add the user to ->mk_users. (Neither is + * applicable for v1 policy keys, which have NULL ->mk_users.) */ if (mk->mk_users) { - mk_user = find_master_key_user(mk); + struct key *mk_user = find_master_key_user(mk); + if (mk_user != ERR_PTR(-ENOKEY)) { if (IS_ERR(mk_user)) return PTR_ERR(mk_user); key_put(mk_user); return 0; } - } - - /* If we'll be re-adding ->mk_secret, try to take the reference. */ - rekey = !is_master_key_secret_present(&mk->mk_secret); - if (rekey && !refcount_inc_not_zero(&mk->mk_refcount)) - return KEY_DEAD; - - /* Add the current user to ->mk_users, if applicable. */ - if (mk->mk_users) { err = add_master_key_user(mk); - if (err) { - if (rekey && refcount_dec_and_test(&mk->mk_refcount)) - return KEY_DEAD; + if (err) return err; - } } /* Re-add the secret if needed. */ - if (rekey) + if (!is_master_key_secret_present(&mk->mk_secret)) { + if (!refcount_inc_not_zero(&mk->mk_active_refs)) + return KEY_DEAD; move_master_key_secret(&mk->mk_secret, secret); + } + return 0; } @@ -436,38 +493,36 @@ const struct fscrypt_key_specifier *mk_spec) { static DEFINE_MUTEX(fscrypt_add_key_mutex); - struct key *key; + struct fscrypt_master_key *mk; int err; mutex_lock(&fscrypt_add_key_mutex); /* serialize find + link */ -retry: - key = fscrypt_find_master_key(sb, mk_spec); - if (IS_ERR(key)) { - err = PTR_ERR(key); - if (err != -ENOKEY) - goto out_unlock; + + mk = fscrypt_find_master_key(sb, mk_spec); + if (!mk) { /* Didn't find the key in ->s_master_keys. Add it. */ err = allocate_filesystem_keyring(sb); - if (err) - goto out_unlock; - err = add_new_master_key(secret, mk_spec, sb->s_master_keys); + if (!err) + err = add_new_master_key(sb, secret, mk_spec); } else { /* * Found the key in ->s_master_keys. Re-add the secret if * needed, and add the user to ->mk_users if needed. */ - down_write(&key->sem); - err = add_existing_master_key(key->payload.data[0], secret); - up_write(&key->sem); + down_write(&mk->mk_sem); + err = add_existing_master_key(mk, secret); + up_write(&mk->mk_sem); if (err == KEY_DEAD) { - /* Key being removed or needs to be removed */ - key_invalidate(key); - key_put(key); - goto retry; + /* + * We found a key struct, but it's already been fully + * removed. Ignore the old struct and add a new one. + * fscrypt_add_key_mutex means we don't need to worry + * about concurrent adds. + */ + err = add_new_master_key(sb, secret, mk_spec); } - key_put(key); + fscrypt_put_master_key(mk); } -out_unlock: mutex_unlock(&fscrypt_add_key_mutex); return err; } @@ -771,19 +826,19 @@ const u8 identifier[FSCRYPT_KEY_IDENTIFIER_SIZE]) { struct fscrypt_key_specifier mk_spec; - struct key *key, *mk_user; struct fscrypt_master_key *mk; + struct key *mk_user; int err; mk_spec.type = FSCRYPT_KEY_SPEC_TYPE_IDENTIFIER; memcpy(mk_spec.u.identifier, identifier, FSCRYPT_KEY_IDENTIFIER_SIZE); - key = fscrypt_find_master_key(sb, &mk_spec); - if (IS_ERR(key)) { - err = PTR_ERR(key); + mk = fscrypt_find_master_key(sb, &mk_spec); + if (!mk) { + err = -ENOKEY; goto out; } - mk = key->payload.data[0]; + down_read(&mk->mk_sem); mk_user = find_master_key_user(mk); if (IS_ERR(mk_user)) { err = PTR_ERR(mk_user); @@ -791,7 +846,8 @@ key_put(mk_user); err = 0; } - key_put(key); + up_read(&mk->mk_sem); + fscrypt_put_master_key(mk); out: if (err == -ENOKEY && capable(CAP_FOWNER)) err = 0; @@ -953,11 +1009,10 @@ struct super_block *sb = file_inode(filp)->i_sb; struct fscrypt_remove_key_arg __user *uarg = _uarg; struct fscrypt_remove_key_arg arg; - struct key *key; struct fscrypt_master_key *mk; u32 status_flags = 0; int err; - bool dead; + bool inodes_remain; if (copy_from_user(&arg, uarg, sizeof(arg))) return -EFAULT; @@ -977,12 +1032,10 @@ return -EACCES; /* Find the key being removed. */ - key = fscrypt_find_master_key(sb, &arg.key_spec); - if (IS_ERR(key)) - return PTR_ERR(key); - mk = key->payload.data[0]; - - down_write(&key->sem); + mk = fscrypt_find_master_key(sb, &arg.key_spec); + if (!mk) + return -ENOKEY; + down_write(&mk->mk_sem); /* If relevant, remove current user's (or all users) claim to the key */ if (mk->mk_users && mk->mk_users->keys.nr_leaves_on_tree != 0) { @@ -991,7 +1044,7 @@ else err = remove_master_key_user(mk); if (err) { - up_write(&key->sem); + up_write(&mk->mk_sem); goto out_put_key; } if (mk->mk_users->keys.nr_leaves_on_tree != 0) { @@ -1003,26 +1056,22 @@ status_flags |= FSCRYPT_KEY_REMOVAL_STATUS_FLAG_OTHER_USERS; err = 0; - up_write(&key->sem); + up_write(&mk->mk_sem); goto out_put_key; } } /* No user claims remaining. Go ahead and wipe the secret. */ - dead = false; + err = -ENOKEY; if (is_master_key_secret_present(&mk->mk_secret)) { wipe_master_key_secret(&mk->mk_secret); - dead = refcount_dec_and_test(&mk->mk_refcount); - } - up_write(&key->sem); - if (dead) { - /* - * No inodes reference the key, and we wiped the secret, so the - * key object is free to be removed from the keyring. - */ - key_invalidate(key); + fscrypt_put_master_key_activeref(mk); err = 0; - } else { + } + inodes_remain = refcount_read(&mk->mk_active_refs) > 0; + up_write(&mk->mk_sem); + + if (inodes_remain) { /* Some inodes still reference this key; try to evict them. */ err = try_to_lock_encrypted_files(sb, mk); if (err == -EBUSY) { @@ -1038,7 +1087,7 @@ * has been fully removed including all files locked. */ out_put_key: - key_put(key); + fscrypt_put_master_key(mk); if (err == 0) err = put_user(status_flags, &uarg->removal_status_flags); return err; @@ -1085,7 +1134,6 @@ { struct super_block *sb = file_inode(filp)->i_sb; struct fscrypt_get_key_status_arg arg; - struct key *key; struct fscrypt_master_key *mk; int err; @@ -1102,19 +1150,18 @@ arg.user_count = 0; memset(arg.__out_reserved, 0, sizeof(arg.__out_reserved)); - key = fscrypt_find_master_key(sb, &arg.key_spec); - if (IS_ERR(key)) { - if (key != ERR_PTR(-ENOKEY)) - return PTR_ERR(key); + mk = fscrypt_find_master_key(sb, &arg.key_spec); + if (!mk) { arg.status = FSCRYPT_KEY_STATUS_ABSENT; err = 0; goto out; } - mk = key->payload.data[0]; - down_read(&key->sem); + down_read(&mk->mk_sem); if (!is_master_key_secret_present(&mk->mk_secret)) { - arg.status = FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED; + arg.status = refcount_read(&mk->mk_active_refs) > 0 ? + FSCRYPT_KEY_STATUS_INCOMPLETELY_REMOVED : + FSCRYPT_KEY_STATUS_ABSENT /* raced with full removal */; err = 0; goto out_release_key; } @@ -1136,8 +1183,8 @@ } err = 0; out_release_key: - up_read(&key->sem); - key_put(key); + up_read(&mk->mk_sem); + fscrypt_put_master_key(mk); out: if (!err && copy_to_user(uarg, &arg, sizeof(arg))) err = -EFAULT; @@ -1149,13 +1196,9 @@ { int err; - err = register_key_type(&key_type_fscrypt); - if (err) - return err; - err = register_key_type(&key_type_fscrypt_user); if (err) - goto err_unregister_fscrypt; + return err; err = register_key_type(&key_type_fscrypt_provisioning); if (err) @@ -1165,7 +1208,5 @@ err_unregister_fscrypt_user: unregister_key_type(&key_type_fscrypt_user); -err_unregister_fscrypt: - unregister_key_type(&key_type_fscrypt); return err; } --- linux-gcp-5.19.0.orig/fs/crypto/keysetup.c +++ linux-gcp-5.19.0/fs/crypto/keysetup.c @@ -9,7 +9,6 @@ */ #include -#include #include #include "fscrypt_private.h" @@ -152,6 +151,7 @@ { crypto_free_skcipher(prep_key->tfm); fscrypt_destroy_inline_crypt_key(prep_key); + memzero_explicit(prep_key, sizeof(*prep_key)); } /* Given a per-file encryption key, set up the file's crypto transform object */ @@ -405,20 +405,18 @@ /* * Find the master key, then set up the inode's actual encryption key. * - * If the master key is found in the filesystem-level keyring, then the - * corresponding 'struct key' is returned in *master_key_ret with its semaphore - * read-locked. This is needed to ensure that only one task links the - * fscrypt_info into ->mk_decrypted_inodes (as multiple tasks may race to create - * an fscrypt_info for the same inode), and to synchronize the master key being - * removed with a new inode starting to use it. + * If the master key is found in the filesystem-level keyring, then it is + * returned in *mk_ret with its semaphore read-locked. This is needed to ensure + * that only one task links the fscrypt_info into ->mk_decrypted_inodes (as + * multiple tasks may race to create an fscrypt_info for the same inode), and to + * synchronize the master key being removed with a new inode starting to use it. */ static int setup_file_encryption_key(struct fscrypt_info *ci, bool need_dirhash_key, - struct key **master_key_ret) + struct fscrypt_master_key **mk_ret) { - struct key *key; - struct fscrypt_master_key *mk = NULL; struct fscrypt_key_specifier mk_spec; + struct fscrypt_master_key *mk; int err; err = fscrypt_select_encryption_impl(ci); @@ -429,11 +427,10 @@ if (err) return err; - key = fscrypt_find_master_key(ci->ci_inode->i_sb, &mk_spec); - if (IS_ERR(key)) { - if (key != ERR_PTR(-ENOKEY) || - ci->ci_policy.version != FSCRYPT_POLICY_V1) - return PTR_ERR(key); + mk = fscrypt_find_master_key(ci->ci_inode->i_sb, &mk_spec); + if (!mk) { + if (ci->ci_policy.version != FSCRYPT_POLICY_V1) + return -ENOKEY; /* * As a legacy fallback for v1 policies, search for the key in @@ -443,9 +440,7 @@ */ return fscrypt_setup_v1_file_key_via_subscribed_keyrings(ci); } - - mk = key->payload.data[0]; - down_read(&key->sem); + down_read(&mk->mk_sem); /* Has the secret been removed (via FS_IOC_REMOVE_ENCRYPTION_KEY)? */ if (!is_master_key_secret_present(&mk->mk_secret)) { @@ -473,18 +468,18 @@ if (err) goto out_release_key; - *master_key_ret = key; + *mk_ret = mk; return 0; out_release_key: - up_read(&key->sem); - key_put(key); + up_read(&mk->mk_sem); + fscrypt_put_master_key(mk); return err; } static void put_crypt_info(struct fscrypt_info *ci) { - struct key *key; + struct fscrypt_master_key *mk; if (!ci) return; @@ -494,24 +489,18 @@ else if (ci->ci_owns_key) fscrypt_destroy_prepared_key(&ci->ci_enc_key); - key = ci->ci_master_key; - if (key) { - struct fscrypt_master_key *mk = key->payload.data[0]; - + mk = ci->ci_master_key; + if (mk) { /* * Remove this inode from the list of inodes that were unlocked - * with the master key. - * - * In addition, if we're removing the last inode from a key that - * already had its secret removed, invalidate the key so that it - * gets removed from ->s_master_keys. + * with the master key. In addition, if we're removing the last + * inode from a master key struct that already had its secret + * removed, then complete the full removal of the struct. */ spin_lock(&mk->mk_decrypted_inodes_lock); list_del(&ci->ci_master_key_link); spin_unlock(&mk->mk_decrypted_inodes_lock); - if (refcount_dec_and_test(&mk->mk_refcount)) - key_invalidate(key); - key_put(key); + fscrypt_put_master_key_activeref(mk); } memzero_explicit(ci, sizeof(*ci)); kmem_cache_free(fscrypt_info_cachep, ci); @@ -525,7 +514,7 @@ { struct fscrypt_info *crypt_info; struct fscrypt_mode *mode; - struct key *master_key = NULL; + struct fscrypt_master_key *mk = NULL; int res; res = fscrypt_initialize(inode->i_sb->s_cop->flags); @@ -548,8 +537,7 @@ WARN_ON(mode->ivsize > FSCRYPT_MAX_IV_SIZE); crypt_info->ci_mode = mode; - res = setup_file_encryption_key(crypt_info, need_dirhash_key, - &master_key); + res = setup_file_encryption_key(crypt_info, need_dirhash_key, &mk); if (res) goto out; @@ -564,12 +552,9 @@ * We won the race and set ->i_crypt_info to our crypt_info. * Now link it into the master key's inode list. */ - if (master_key) { - struct fscrypt_master_key *mk = - master_key->payload.data[0]; - - refcount_inc(&mk->mk_refcount); - crypt_info->ci_master_key = key_get(master_key); + if (mk) { + crypt_info->ci_master_key = mk; + refcount_inc(&mk->mk_active_refs); spin_lock(&mk->mk_decrypted_inodes_lock); list_add(&crypt_info->ci_master_key_link, &mk->mk_decrypted_inodes); @@ -579,9 +564,9 @@ } res = 0; out: - if (master_key) { - up_read(&master_key->sem); - key_put(master_key); + if (mk) { + up_read(&mk->mk_sem); + fscrypt_put_master_key(mk); } put_crypt_info(crypt_info); return res; @@ -746,7 +731,6 @@ int fscrypt_drop_inode(struct inode *inode) { const struct fscrypt_info *ci = fscrypt_get_info(inode); - const struct fscrypt_master_key *mk; /* * If ci is NULL, then the inode doesn't have an encryption key set up @@ -756,7 +740,6 @@ */ if (!ci || !ci->ci_master_key) return 0; - mk = ci->ci_master_key->payload.data[0]; /* * With proper, non-racy use of FS_IOC_REMOVE_ENCRYPTION_KEY, all inodes @@ -775,6 +758,6 @@ * then the thread removing the key will either evict the inode itself * or will correctly detect that it wasn't evicted due to the race. */ - return !is_master_key_secret_present(&mk->mk_secret); + return !is_master_key_secret_present(&ci->ci_master_key->mk_secret); } EXPORT_SYMBOL_GPL(fscrypt_drop_inode); --- linux-gcp-5.19.0.orig/fs/crypto/policy.c +++ linux-gcp-5.19.0/fs/crypto/policy.c @@ -713,12 +713,8 @@ * delayed key setup that requires the inode number. */ if (ci->ci_policy.version == FSCRYPT_POLICY_V2 && - (ci->ci_policy.v2.flags & FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32)) { - const struct fscrypt_master_key *mk = - ci->ci_master_key->payload.data[0]; - - fscrypt_hash_inode_number(ci, mk); - } + (ci->ci_policy.v2.flags & FSCRYPT_POLICY_FLAG_IV_INO_LBLK_32)) + fscrypt_hash_inode_number(ci, ci->ci_master_key); return inode->i_sb->s_cop->set_context(inode, &ctx, ctxsize, fs_data); } --- linux-gcp-5.19.0.orig/fs/dax.c +++ linux-gcp-5.19.0/fs/dax.c @@ -1241,6 +1241,9 @@ loff_t done = 0; int ret; + if (!iomi.len) + return 0; + if (iov_iter_rw(iter) == WRITE) { lockdep_assert_held_write(&iomi.inode->i_rwsem); iomi.flags |= IOMAP_WRITE; --- linux-gcp-5.19.0.orig/fs/debugfs/file.c +++ linux-gcp-5.19.0/fs/debugfs/file.c @@ -378,8 +378,8 @@ } EXPORT_SYMBOL_GPL(debugfs_attr_read); -ssize_t debugfs_attr_write(struct file *file, const char __user *buf, - size_t len, loff_t *ppos) +static ssize_t debugfs_attr_write_xsigned(struct file *file, const char __user *buf, + size_t len, loff_t *ppos, bool is_signed) { struct dentry *dentry = F_DENTRY(file); ssize_t ret; @@ -387,12 +387,28 @@ ret = debugfs_file_get(dentry); if (unlikely(ret)) return ret; - ret = simple_attr_write(file, buf, len, ppos); + if (is_signed) + ret = simple_attr_write_signed(file, buf, len, ppos); + else + ret = simple_attr_write(file, buf, len, ppos); debugfs_file_put(dentry); return ret; } + +ssize_t debugfs_attr_write(struct file *file, const char __user *buf, + size_t len, loff_t *ppos) +{ + return debugfs_attr_write_xsigned(file, buf, len, ppos, false); +} EXPORT_SYMBOL_GPL(debugfs_attr_write); +ssize_t debugfs_attr_write_signed(struct file *file, const char __user *buf, + size_t len, loff_t *ppos) +{ + return debugfs_attr_write_xsigned(file, buf, len, ppos, true); +} +EXPORT_SYMBOL_GPL(debugfs_attr_write_signed); + static struct dentry *debugfs_create_mode_unsafe(const char *name, umode_t mode, struct dentry *parent, void *value, const struct file_operations *fops, @@ -738,11 +754,11 @@ *val = atomic_read((atomic_t *)data); return 0; } -DEFINE_DEBUGFS_ATTRIBUTE(fops_atomic_t, debugfs_atomic_t_get, +DEFINE_DEBUGFS_ATTRIBUTE_SIGNED(fops_atomic_t, debugfs_atomic_t_get, debugfs_atomic_t_set, "%lld\n"); -DEFINE_DEBUGFS_ATTRIBUTE(fops_atomic_t_ro, debugfs_atomic_t_get, NULL, +DEFINE_DEBUGFS_ATTRIBUTE_SIGNED(fops_atomic_t_ro, debugfs_atomic_t_get, NULL, "%lld\n"); -DEFINE_DEBUGFS_ATTRIBUTE(fops_atomic_t_wo, NULL, debugfs_atomic_t_set, +DEFINE_DEBUGFS_ATTRIBUTE_SIGNED(fops_atomic_t_wo, NULL, debugfs_atomic_t_set, "%lld\n"); /** --- linux-gcp-5.19.0.orig/fs/debugfs/inode.c +++ linux-gcp-5.19.0/fs/debugfs/inode.c @@ -745,6 +745,28 @@ EXPORT_SYMBOL_GPL(debugfs_remove); /** + * debugfs_lookup_and_remove - lookup a directory or file and recursively remove it + * @name: a pointer to a string containing the name of the item to look up. + * @parent: a pointer to the parent dentry of the item. + * + * This is the equlivant of doing something like + * debugfs_remove(debugfs_lookup(..)) but with the proper reference counting + * handled for the directory being looked up. + */ +void debugfs_lookup_and_remove(const char *name, struct dentry *parent) +{ + struct dentry *dentry; + + dentry = debugfs_lookup(name, parent); + if (!dentry) + return; + + debugfs_remove(dentry); + dput(dentry); +} +EXPORT_SYMBOL_GPL(debugfs_lookup_and_remove); + +/** * debugfs_rename - rename a file/directory in the debugfs filesystem * @old_dir: a pointer to the parent dentry for the renamed object. This * should be a directory dentry. --- linux-gcp-5.19.0.orig/fs/dlm/ast.c +++ linux-gcp-5.19.0/fs/dlm/ast.c @@ -200,13 +200,13 @@ if (!prev_seq) { kref_get(&lkb->lkb_ref); + mutex_lock(&ls->ls_cb_mutex); if (test_bit(LSFL_CB_DELAY, &ls->ls_flags)) { - mutex_lock(&ls->ls_cb_mutex); list_add(&lkb->lkb_cb_list, &ls->ls_cb_delay); - mutex_unlock(&ls->ls_cb_mutex); } else { queue_work(ls->ls_callback_wq, &lkb->lkb_cb_work); } + mutex_unlock(&ls->ls_cb_mutex); } out: mutex_unlock(&lkb->lkb_cb_mutex); @@ -288,7 +288,9 @@ void dlm_callback_suspend(struct dlm_ls *ls) { + mutex_lock(&ls->ls_cb_mutex); set_bit(LSFL_CB_DELAY, &ls->ls_flags); + mutex_unlock(&ls->ls_cb_mutex); if (ls->ls_callback_wq) flush_workqueue(ls->ls_callback_wq); --- linux-gcp-5.19.0.orig/fs/dlm/lock.c +++ linux-gcp-5.19.0/fs/dlm/lock.c @@ -2920,17 +2920,9 @@ static int validate_lock_args(struct dlm_ls *ls, struct dlm_lkb *lkb, struct dlm_args *args) { - int rv = -EINVAL; + int rv = -EBUSY; if (args->flags & DLM_LKF_CONVERT) { - if (lkb->lkb_flags & DLM_IFL_MSTCPY) - goto out; - - if (args->flags & DLM_LKF_QUECVT && - !__quecvt_compat_matrix[lkb->lkb_grmode+1][args->mode+1]) - goto out; - - rv = -EBUSY; if (lkb->lkb_status != DLM_LKSTS_GRANTED) goto out; @@ -2940,6 +2932,14 @@ if (is_overlap(lkb)) goto out; + + rv = -EINVAL; + if (lkb->lkb_flags & DLM_IFL_MSTCPY) + goto out; + + if (args->flags & DLM_LKF_QUECVT && + !__quecvt_compat_matrix[lkb->lkb_grmode+1][args->mode+1]) + goto out; } lkb->lkb_exflags = args->flags; @@ -3672,7 +3672,7 @@ case cpu_to_le32(DLM_MSG_REQUEST_REPLY): case cpu_to_le32(DLM_MSG_CONVERT_REPLY): case cpu_to_le32(DLM_MSG_GRANT): - if (!lkb->lkb_lvbptr) + if (!lkb->lkb_lvbptr || !(lkb->lkb_exflags & DLM_LKF_VALBLK)) break; memcpy(ms->m_extra, lkb->lkb_lvbptr, r->res_ls->ls_lvblen); break; --- linux-gcp-5.19.0.orig/fs/dlm/lowcomms.c +++ linux-gcp-5.19.0/fs/dlm/lowcomms.c @@ -1336,6 +1336,8 @@ return NULL; } + /* for dlm_lowcomms_commit_msg() */ + kref_get(&msg->ref); /* we assume if successful commit must called */ msg->idx = idx; return msg; @@ -1375,6 +1377,8 @@ { _dlm_lowcomms_commit_msg(msg); srcu_read_unlock(&connections_srcu, msg->idx); + /* because dlm_lowcomms_new_msg() */ + kref_put(&msg->ref, dlm_msg_release); } #endif @@ -1539,7 +1543,11 @@ static void process_listen_recv_socket(struct work_struct *work) { - accept_from_sock(&listen_con); + int ret; + + do { + ret = accept_from_sock(&listen_con); + } while (!ret); } static void dlm_connect(struct connection *con) @@ -1816,7 +1824,7 @@ result = sock->ops->listen(sock, 5); if (result < 0) { dlm_close_sock(&listen_con.sock); - goto out; + return result; } return 0; @@ -2019,7 +2027,6 @@ dlm_proto_ops = NULL; fail_proto_ops: dlm_allow_conn = 0; - dlm_close_sock(&listen_con.sock); work_stop(); fail_local: deinit_local(); --- linux-gcp-5.19.0.orig/fs/dlm/midcomms.c +++ linux-gcp-5.19.0/fs/dlm/midcomms.c @@ -374,7 +374,7 @@ struct dlm_msg *msg; char *ppc; - msg = dlm_lowcomms_new_msg(nodeid, mb_len, GFP_NOFS, &ppc, + msg = dlm_lowcomms_new_msg(nodeid, mb_len, GFP_ATOMIC, &ppc, NULL, NULL); if (!msg) return -ENOMEM; @@ -401,7 +401,7 @@ struct dlm_mhandle *mh; char *ppc; - mh = dlm_midcomms_get_mhandle(node->nodeid, mb_len, GFP_NOFS, &ppc); + mh = dlm_midcomms_get_mhandle(node->nodeid, mb_len, GFP_ATOMIC, &ppc); if (!mh) return -ENOMEM; @@ -483,15 +483,14 @@ switch (p->header.h_cmd) { case DLM_FIN: - /* send ack before fin */ - dlm_send_ack(node->nodeid, node->seq_next); - spin_lock(&node->state_lock); pr_debug("receive fin msg from node %d with state %s\n", node->nodeid, dlm_state_str(node->state)); switch (node->state) { case DLM_ESTABLISHED: + dlm_send_ack(node->nodeid, node->seq_next); + node->state = DLM_CLOSE_WAIT; pr_debug("switch node %d to state %s\n", node->nodeid, dlm_state_str(node->state)); @@ -503,16 +502,19 @@ node->state = DLM_LAST_ACK; pr_debug("switch node %d to state %s case 1\n", node->nodeid, dlm_state_str(node->state)); - spin_unlock(&node->state_lock); - goto send_fin; + set_bit(DLM_NODE_FLAG_STOP_RX, &node->flags); + dlm_send_fin(node, dlm_pas_fin_ack_rcv); } break; case DLM_FIN_WAIT1: + dlm_send_ack(node->nodeid, node->seq_next); node->state = DLM_CLOSING; + set_bit(DLM_NODE_FLAG_STOP_RX, &node->flags); pr_debug("switch node %d to state %s\n", node->nodeid, dlm_state_str(node->state)); break; case DLM_FIN_WAIT2: + dlm_send_ack(node->nodeid, node->seq_next); midcomms_node_reset(node); pr_debug("switch node %d to state %s\n", node->nodeid, dlm_state_str(node->state)); @@ -529,8 +531,6 @@ return; } spin_unlock(&node->state_lock); - - set_bit(DLM_NODE_FLAG_STOP_RX, &node->flags); break; default: WARN_ON(test_bit(DLM_NODE_FLAG_STOP_RX, &node->flags)); @@ -548,12 +548,6 @@ log_print_ratelimited("ignore dlm msg because seq mismatch, seq: %u, expected: %u, nodeid: %d", seq, node->seq_next, node->nodeid); } - - return; - -send_fin: - set_bit(DLM_NODE_FLAG_STOP_RX, &node->flags); - dlm_send_fin(node, dlm_pas_fin_ack_rcv); } static struct midcomms_node * @@ -1287,11 +1281,11 @@ case DLM_CLOSE_WAIT: /* passive shutdown DLM_LAST_ACK case 2 */ node->state = DLM_LAST_ACK; - spin_unlock(&node->state_lock); - pr_debug("switch node %d to state %s case 2\n", node->nodeid, dlm_state_str(node->state)); - goto send_fin; + set_bit(DLM_NODE_FLAG_STOP_RX, &node->flags); + dlm_send_fin(node, dlm_pas_fin_ack_rcv); + break; case DLM_LAST_ACK: /* probably receive fin caught it, do nothing */ break; @@ -1307,12 +1301,6 @@ spin_unlock(&node->state_lock); srcu_read_unlock(&nodes_srcu, idx); - return; - -send_fin: - set_bit(DLM_NODE_FLAG_STOP_RX, &node->flags); - dlm_send_fin(node, dlm_pas_fin_ack_rcv); - srcu_read_unlock(&nodes_srcu, idx); } static void midcomms_node_release(struct rcu_head *rcu) @@ -1343,6 +1331,7 @@ node->state = DLM_FIN_WAIT1; pr_debug("switch node %d to state %s case 2\n", node->nodeid, dlm_state_str(node->state)); + dlm_send_fin(node, dlm_act_fin_ack_rcv); break; case DLM_CLOSED: /* we have what we want */ @@ -1356,12 +1345,8 @@ } spin_unlock(&node->state_lock); - if (node->state == DLM_FIN_WAIT1) { - dlm_send_fin(node, dlm_act_fin_ack_rcv); - - if (DLM_DEBUG_FENCE_TERMINATION) - msleep(5000); - } + if (DLM_DEBUG_FENCE_TERMINATION) + msleep(5000); /* wait for other side dlm + fin */ ret = wait_event_timeout(node->shutdown_wait, --- linux-gcp-5.19.0.orig/fs/erofs/decompressor.c +++ linux-gcp-5.19.0/fs/erofs/decompressor.c @@ -91,14 +91,18 @@ if (page) { __clear_bit(j, bounced); - if (kaddr) { - if (kaddr + PAGE_SIZE == page_address(page)) + if (!PageHighMem(page)) { + if (!i) { + kaddr = page_address(page); + continue; + } + if (kaddr && + kaddr + PAGE_SIZE == page_address(page)) { kaddr += PAGE_SIZE; - else - kaddr = NULL; - } else if (!i) { - kaddr = page_address(page); + continue; + } } + kaddr = NULL; continue; } kaddr = NULL; --- linux-gcp-5.19.0.orig/fs/erofs/decompressor_lzma.c +++ linux-gcp-5.19.0/fs/erofs/decompressor_lzma.c @@ -143,6 +143,7 @@ DBG_BUGON(z_erofs_lzma_head); z_erofs_lzma_head = head; spin_unlock(&z_erofs_lzma_lock); + wake_up_all(&z_erofs_lzma_wq); z_erofs_lzma_max_dictsize = dict_size; mutex_unlock(&lzma_resize_mutex); --- linux-gcp-5.19.0.orig/fs/erofs/dir.c +++ linux-gcp-5.19.0/fs/erofs/dir.c @@ -22,10 +22,9 @@ } static int erofs_fill_dentries(struct inode *dir, struct dir_context *ctx, - void *dentry_blk, unsigned int *ofs, + void *dentry_blk, struct erofs_dirent *de, unsigned int nameoff, unsigned int maxsize) { - struct erofs_dirent *de = dentry_blk + *ofs; const struct erofs_dirent *end = dentry_blk + nameoff; while (de < end) { @@ -59,9 +58,8 @@ /* stopped by some reason */ return 1; ++de; - *ofs += sizeof(struct erofs_dirent); + ctx->pos += sizeof(struct erofs_dirent); } - *ofs = maxsize; return 0; } @@ -95,7 +93,7 @@ "invalid de[0].nameoff %u @ nid %llu", nameoff, EROFS_I(dir)->nid); err = -EFSCORRUPTED; - goto skip_this; + break; } maxsize = min_t(unsigned int, @@ -106,17 +104,17 @@ initial = false; ofs = roundup(ofs, sizeof(struct erofs_dirent)); + ctx->pos = blknr_to_addr(i) + ofs; if (ofs >= nameoff) goto skip_this; } - err = erofs_fill_dentries(dir, ctx, de, &ofs, + err = erofs_fill_dentries(dir, ctx, de, (void *)de + ofs, nameoff, maxsize); -skip_this: - ctx->pos = blknr_to_addr(i) + ofs; - if (err) break; +skip_this: + ctx->pos = blknr_to_addr(i) + maxsize; ++i; ofs = 0; } --- linux-gcp-5.19.0.orig/fs/erofs/fscache.c +++ linux-gcp-5.19.0/fs/erofs/fscache.c @@ -69,11 +69,15 @@ rcu_read_lock(); xas_for_each(&xas, folio, last_page) { - unsigned int pgpos = - (folio_index(folio) - start_page) * PAGE_SIZE; - unsigned int pgend = pgpos + folio_size(folio); + unsigned int pgpos, pgend; bool pg_failed = false; + if (xas_retry(&xas, folio)) + continue; + + pgpos = (folio_index(folio) - start_page) * PAGE_SIZE; + pgend = pgpos + folio_size(folio); + for (;;) { if (!subreq) { pg_failed = true; @@ -222,8 +226,10 @@ rreq = erofs_fscache_alloc_request(folio_mapping(folio), folio_pos(folio), folio_size(folio)); - if (IS_ERR(rreq)) + if (IS_ERR(rreq)) { + ret = PTR_ERR(rreq); goto out; + } return erofs_fscache_read_folios_async(mdev.m_fscache->cookie, rreq, mdev.m_pa); @@ -232,111 +238,111 @@ return ret; } -static int erofs_fscache_read_folio_inline(struct folio *folio, - struct erofs_map_blocks *map) -{ - struct super_block *sb = folio_mapping(folio)->host->i_sb; - struct erofs_buf buf = __EROFS_BUF_INITIALIZER; - erofs_blk_t blknr; - size_t offset, len; - void *src, *dst; - - /* For tail packing layout, the offset may be non-zero. */ - offset = erofs_blkoff(map->m_pa); - blknr = erofs_blknr(map->m_pa); - len = map->m_llen; - - src = erofs_read_metabuf(&buf, sb, blknr, EROFS_KMAP); - if (IS_ERR(src)) - return PTR_ERR(src); - - dst = kmap_local_folio(folio, 0); - memcpy(dst, src + offset, len); - memset(dst + len, 0, PAGE_SIZE - len); - kunmap_local(dst); - - erofs_put_metabuf(&buf); - return 0; -} - -static int erofs_fscache_read_folio(struct file *file, struct folio *folio) +/* + * Read into page cache in the range described by (@pos, @len). + * + * On return, the caller is responsible for page unlocking if the output @unlock + * is true, or the callee will take this responsibility through netfs_io_request + * interface. + * + * The return value is the number of bytes successfully handled, or negative + * error code on failure. The only exception is that, the length of the range + * instead of the error code is returned on failure after netfs_io_request is + * allocated, so that .readahead() could advance rac accordingly. + */ +static int erofs_fscache_data_read(struct address_space *mapping, + loff_t pos, size_t len, bool *unlock) { - struct inode *inode = folio_mapping(folio)->host; + struct inode *inode = mapping->host; struct super_block *sb = inode->i_sb; + struct netfs_io_request *rreq; struct erofs_map_blocks map; struct erofs_map_dev mdev; - struct netfs_io_request *rreq; - erofs_off_t pos; - loff_t pstart; + struct iov_iter iter; + size_t count; int ret; - DBG_BUGON(folio_size(folio) != EROFS_BLKSIZ); + *unlock = true; - pos = folio_pos(folio); map.m_la = pos; - ret = erofs_map_blocks(inode, &map, EROFS_GET_BLOCKS_RAW); if (ret) - goto out_unlock; + return ret; - if (!(map.m_flags & EROFS_MAP_MAPPED)) { - folio_zero_range(folio, 0, folio_size(folio)); - goto out_uptodate; + if (map.m_flags & EROFS_MAP_META) { + struct erofs_buf buf = __EROFS_BUF_INITIALIZER; + erofs_blk_t blknr; + size_t offset, size; + void *src; + + /* For tail packing layout, the offset may be non-zero. */ + offset = erofs_blkoff(map.m_pa); + blknr = erofs_blknr(map.m_pa); + size = map.m_llen; + + src = erofs_read_metabuf(&buf, sb, blknr, EROFS_KMAP); + if (IS_ERR(src)) + return PTR_ERR(src); + + iov_iter_xarray(&iter, READ, &mapping->i_pages, pos, PAGE_SIZE); + if (copy_to_iter(src + offset, size, &iter) != size) + return -EFAULT; + iov_iter_zero(PAGE_SIZE - size, &iter); + erofs_put_metabuf(&buf); + return PAGE_SIZE; } - if (map.m_flags & EROFS_MAP_META) { - ret = erofs_fscache_read_folio_inline(folio, &map); - goto out_uptodate; + count = min_t(size_t, map.m_llen - (pos - map.m_la), len); + DBG_BUGON(!count || count % PAGE_SIZE); + + if (!(map.m_flags & EROFS_MAP_MAPPED)) { + iov_iter_xarray(&iter, READ, &mapping->i_pages, pos, count); + iov_iter_zero(count, &iter); + return count; } mdev = (struct erofs_map_dev) { .m_deviceid = map.m_deviceid, .m_pa = map.m_pa, }; - ret = erofs_map_dev(sb, &mdev); if (ret) - goto out_unlock; + return ret; - - rreq = erofs_fscache_alloc_request(folio_mapping(folio), - folio_pos(folio), folio_size(folio)); + rreq = erofs_fscache_alloc_request(mapping, pos, count); if (IS_ERR(rreq)) - goto out_unlock; + return PTR_ERR(rreq); - pstart = mdev.m_pa + (pos - map.m_la); - return erofs_fscache_read_folios_async(mdev.m_fscache->cookie, - rreq, pstart); - -out_uptodate: - if (!ret) - folio_mark_uptodate(folio); -out_unlock: - folio_unlock(folio); - return ret; + *unlock = false; + erofs_fscache_read_folios_async(mdev.m_fscache->cookie, + rreq, mdev.m_pa + (pos - map.m_la)); + return count; } -static void erofs_fscache_advance_folios(struct readahead_control *rac, - size_t len, bool unlock) +static int erofs_fscache_read_folio(struct file *file, struct folio *folio) { - while (len) { - struct folio *folio = readahead_folio(rac); - len -= folio_size(folio); - if (unlock) { + bool unlock; + int ret; + + DBG_BUGON(folio_size(folio) != EROFS_BLKSIZ); + + ret = erofs_fscache_data_read(folio_mapping(folio), folio_pos(folio), + folio_size(folio), &unlock); + if (unlock) { + if (ret > 0) folio_mark_uptodate(folio); - folio_unlock(folio); - } + folio_unlock(folio); } + return ret < 0 ? ret : 0; } static void erofs_fscache_readahead(struct readahead_control *rac) { - struct inode *inode = rac->mapping->host; - struct super_block *sb = inode->i_sb; - size_t len, count, done = 0; - erofs_off_t pos; - loff_t start, offset; - int ret; + struct folio *folio; + size_t len, done = 0; + loff_t start, pos; + bool unlock; + int ret, size; if (!readahead_count(rac)) return; @@ -345,67 +351,22 @@ len = readahead_length(rac); do { - struct erofs_map_blocks map; - struct erofs_map_dev mdev; - struct netfs_io_request *rreq; - pos = start + done; - map.m_la = pos; - - ret = erofs_map_blocks(inode, &map, EROFS_GET_BLOCKS_RAW); - if (ret) + ret = erofs_fscache_data_read(rac->mapping, pos, + len - done, &unlock); + if (ret <= 0) return; - offset = start + done; - count = min_t(size_t, map.m_llen - (pos - map.m_la), - len - done); - - if (!(map.m_flags & EROFS_MAP_MAPPED)) { - struct iov_iter iter; - - iov_iter_xarray(&iter, READ, &rac->mapping->i_pages, - offset, count); - iov_iter_zero(count, &iter); - - erofs_fscache_advance_folios(rac, count, true); - ret = count; - continue; - } - - if (map.m_flags & EROFS_MAP_META) { - struct folio *folio = readahead_folio(rac); - - ret = erofs_fscache_read_folio_inline(folio, &map); - if (!ret) { + size = ret; + while (size) { + folio = readahead_folio(rac); + size -= folio_size(folio); + if (unlock) { folio_mark_uptodate(folio); - ret = folio_size(folio); + folio_unlock(folio); } - - folio_unlock(folio); - continue; } - - mdev = (struct erofs_map_dev) { - .m_deviceid = map.m_deviceid, - .m_pa = map.m_pa, - }; - ret = erofs_map_dev(sb, &mdev); - if (ret) - return; - - rreq = erofs_fscache_alloc_request(rac->mapping, offset, count); - if (IS_ERR(rreq)) - return; - /* - * Drop the ref of folios here. Unlock them in - * rreq_unlock_folios() when rreq complete. - */ - erofs_fscache_advance_folios(rac, count, false); - ret = erofs_fscache_read_folios_async(mdev.m_fscache->cookie, - rreq, mdev.m_pa + (pos - map.m_la)); - if (!ret) - ret = count; - } while (ret > 0 && ((done += ret) < len)); + } while ((done += ret) < len); } static const struct address_space_operations erofs_fscache_meta_aops = { --- linux-gcp-5.19.0.orig/fs/erofs/inode.c +++ linux-gcp-5.19.0/fs/erofs/inode.c @@ -214,7 +214,7 @@ /* if it cannot be handled with fast symlink scheme */ if (vi->datalayout != EROFS_INODE_FLAT_INLINE || - inode->i_size >= EROFS_BLKSIZ) { + inode->i_size >= EROFS_BLKSIZ || inode->i_size < 0) { inode->i_op = &erofs_symlink_iops; return 0; } --- linux-gcp-5.19.0.orig/fs/erofs/internal.h +++ linux-gcp-5.19.0/fs/erofs/internal.h @@ -195,7 +195,6 @@ atomic_t refcount; }; -#if defined(CONFIG_SMP) static inline bool erofs_workgroup_try_to_freeze(struct erofs_workgroup *grp, int val) { @@ -224,34 +223,6 @@ return atomic_cond_read_relaxed(&grp->refcount, VAL != EROFS_LOCKED_MAGIC); } -#else -static inline bool erofs_workgroup_try_to_freeze(struct erofs_workgroup *grp, - int val) -{ - preempt_disable(); - /* no need to spin on UP platforms, let's just disable preemption. */ - if (val != atomic_read(&grp->refcount)) { - preempt_enable(); - return false; - } - return true; -} - -static inline void erofs_workgroup_unfreeze(struct erofs_workgroup *grp, - int orig_val) -{ - preempt_enable(); -} - -static inline int erofs_wait_on_workgroup_freezed(struct erofs_workgroup *grp) -{ - int v = atomic_read(&grp->refcount); - - /* workgroup is never freezed on uniprocessor systems */ - DBG_BUGON(v == EROFS_LOCKED_MAGIC); - return v; -} -#endif /* !CONFIG_SMP */ #endif /* !CONFIG_EROFS_FS_ZIP */ /* we strictly follow PAGE_SIZE and no buffer head yet */ --- linux-gcp-5.19.0.orig/fs/erofs/super.c +++ linux-gcp-5.19.0/fs/erofs/super.c @@ -877,7 +877,7 @@ WARN_ON(sb->s_magic != EROFS_SUPER_MAGIC); if (erofs_is_fscache_mode(sb)) - generic_shutdown_super(sb); + kill_anon_super(sb); else kill_block_super(sb); --- linux-gcp-5.19.0.orig/fs/erofs/zdata.c +++ linux-gcp-5.19.0/fs/erofs/zdata.c @@ -458,7 +458,8 @@ struct erofs_workgroup *grp; int err; - if (!(map->m_flags & EROFS_MAP_ENCODED)) { + if (!(map->m_flags & EROFS_MAP_ENCODED) || + (!ztailpacking && !(map->m_pa >> PAGE_SHIFT))) { DBG_BUGON(1); return -EFSCORRUPTED; } --- linux-gcp-5.19.0.orig/fs/erofs/zmap.c +++ linux-gcp-5.19.0/fs/erofs/zmap.c @@ -676,7 +676,7 @@ map->m_pa = blknr_to_addr(m.pblk); err = z_erofs_get_extent_compressedlen(&m, initial_lcn); if (err) - goto out; + goto unmap_out; } if (m.headtype == Z_EROFS_VLE_CLUSTER_TYPE_PLAIN) @@ -694,14 +694,12 @@ if (!err) map->m_flags |= EROFS_MAP_FULL_MAPPED; } + unmap_out: erofs_unmap_metabuf(&m.map->buf); - -out: erofs_dbg("%s, m_la %llu m_pa %llu m_llen %llu m_plen %llu m_flags 0%o", __func__, map->m_la, map->m_pa, map->m_llen, map->m_plen, map->m_flags); - return err; } @@ -756,12 +754,16 @@ iomap->type = IOMAP_HOLE; iomap->addr = IOMAP_NULL_ADDR; /* - * No strict rule how to describe extents for post EOF, yet - * we need do like below. Otherwise, iomap itself will get + * No strict rule on how to describe extents for post EOF, yet + * we need to do like below. Otherwise, iomap itself will get * into an endless loop on post EOF. + * + * Calculate the effective offset by subtracting extent start + * (map.m_la) from the requested offset, and add it to length. + * (NB: offset >= map.m_la always) */ if (iomap->offset >= inode->i_size) - iomap->length = length + map.m_la - offset; + iomap->length = length + offset - map.m_la; } iomap->flags = 0; return 0; --- linux-gcp-5.19.0.orig/fs/eventfd.c +++ linux-gcp-5.19.0/fs/eventfd.c @@ -43,21 +43,7 @@ int id; }; -/** - * eventfd_signal - Adds @n to the eventfd counter. - * @ctx: [in] Pointer to the eventfd context. - * @n: [in] Value of the counter to be added to the eventfd internal counter. - * The value cannot be negative. - * - * This function is supposed to be called by the kernel in paths that do not - * allow sleeping. In this function we allow the counter to reach the ULLONG_MAX - * value, and we signal this as overflow condition by returning a EPOLLERR - * to poll(2). - * - * Returns the amount by which the counter was incremented. This will be less - * than @n if the counter has overflowed. - */ -__u64 eventfd_signal(struct eventfd_ctx *ctx, __u64 n) +__u64 eventfd_signal_mask(struct eventfd_ctx *ctx, __u64 n, unsigned mask) { unsigned long flags; @@ -69,21 +55,40 @@ * it returns false, the eventfd_signal() call should be deferred to a * safe context. */ - if (WARN_ON_ONCE(current->in_eventfd_signal)) + if (WARN_ON_ONCE(current->in_eventfd)) return 0; spin_lock_irqsave(&ctx->wqh.lock, flags); - current->in_eventfd_signal = 1; + current->in_eventfd = 1; if (ULLONG_MAX - ctx->count < n) n = ULLONG_MAX - ctx->count; ctx->count += n; if (waitqueue_active(&ctx->wqh)) - wake_up_locked_poll(&ctx->wqh, EPOLLIN); - current->in_eventfd_signal = 0; + wake_up_locked_poll(&ctx->wqh, EPOLLIN | mask); + current->in_eventfd = 0; spin_unlock_irqrestore(&ctx->wqh.lock, flags); return n; } + +/** + * eventfd_signal - Adds @n to the eventfd counter. + * @ctx: [in] Pointer to the eventfd context. + * @n: [in] Value of the counter to be added to the eventfd internal counter. + * The value cannot be negative. + * + * This function is supposed to be called by the kernel in paths that do not + * allow sleeping. In this function we allow the counter to reach the ULLONG_MAX + * value, and we signal this as overflow condition by returning a EPOLLERR + * to poll(2). + * + * Returns the amount by which the counter was incremented. This will be less + * than @n if the counter has overflowed. + */ +__u64 eventfd_signal(struct eventfd_ctx *ctx, __u64 n) +{ + return eventfd_signal_mask(ctx, n, 0); +} EXPORT_SYMBOL_GPL(eventfd_signal); static void eventfd_free_ctx(struct eventfd_ctx *ctx) @@ -253,8 +258,10 @@ __set_current_state(TASK_RUNNING); } eventfd_ctx_do_read(ctx, &ucnt); + current->in_eventfd = 1; if (waitqueue_active(&ctx->wqh)) wake_up_locked_poll(&ctx->wqh, EPOLLOUT); + current->in_eventfd = 0; spin_unlock_irq(&ctx->wqh.lock); if (unlikely(copy_to_iter(&ucnt, sizeof(ucnt), to) != sizeof(ucnt))) return -EFAULT; @@ -301,8 +308,10 @@ } if (likely(res > 0)) { ctx->count += ucnt; + current->in_eventfd = 1; if (waitqueue_active(&ctx->wqh)) wake_up_locked_poll(&ctx->wqh, EPOLLIN); + current->in_eventfd = 0; } spin_unlock_irq(&ctx->wqh.lock); --- linux-gcp-5.19.0.orig/fs/eventpoll.c +++ linux-gcp-5.19.0/fs/eventpoll.c @@ -491,7 +491,8 @@ */ #ifdef CONFIG_DEBUG_LOCK_ALLOC -static void ep_poll_safewake(struct eventpoll *ep, struct epitem *epi) +static void ep_poll_safewake(struct eventpoll *ep, struct epitem *epi, + unsigned pollflags) { struct eventpoll *ep_src; unsigned long flags; @@ -522,16 +523,17 @@ } spin_lock_irqsave_nested(&ep->poll_wait.lock, flags, nests); ep->nests = nests + 1; - wake_up_locked_poll(&ep->poll_wait, EPOLLIN); + wake_up_locked_poll(&ep->poll_wait, EPOLLIN | pollflags); ep->nests = 0; spin_unlock_irqrestore(&ep->poll_wait.lock, flags); } #else -static void ep_poll_safewake(struct eventpoll *ep, struct epitem *epi) +static void ep_poll_safewake(struct eventpoll *ep, struct epitem *epi, + unsigned pollflags) { - wake_up_poll(&ep->poll_wait, EPOLLIN); + wake_up_poll(&ep->poll_wait, EPOLLIN | pollflags); } #endif @@ -742,7 +744,7 @@ /* We need to release all tasks waiting for these file */ if (waitqueue_active(&ep->poll_wait)) - ep_poll_safewake(ep, NULL); + ep_poll_safewake(ep, NULL, 0); /* * We need to lock this because we could be hit by @@ -1208,7 +1210,7 @@ /* We have to call this outside the lock */ if (pwake) - ep_poll_safewake(ep, epi); + ep_poll_safewake(ep, epi, pollflags & EPOLL_URING_WAKE); if (!(epi->event.events & EPOLLEXCLUSIVE)) ewake = 1; @@ -1553,7 +1555,7 @@ /* We have to call this outside the lock */ if (pwake) - ep_poll_safewake(ep, NULL); + ep_poll_safewake(ep, NULL, 0); return 0; } @@ -1629,7 +1631,7 @@ /* We have to call this outside the lock */ if (pwake) - ep_poll_safewake(ep, NULL); + ep_poll_safewake(ep, NULL, 0); return 0; } @@ -1747,6 +1749,21 @@ return to; } +/* + * autoremove_wake_function, but remove even on failure to wake up, because we + * know that default_wake_function/ttwu will only fail if the thread is already + * woken, and in that case the ep_poll loop will remove the entry anyways, not + * try to reuse it. + */ +static int ep_autoremove_wake_function(struct wait_queue_entry *wq_entry, + unsigned int mode, int sync, void *key) +{ + int ret = default_wake_function(wq_entry, mode, sync, key); + + list_del_init(&wq_entry->entry); + return ret; +} + /** * ep_poll - Retrieves ready events, and delivers them to the caller-supplied * event buffer. @@ -1828,8 +1845,15 @@ * normal wakeup path no need to call __remove_wait_queue() * explicitly, thus ep->lock is not taken, which halts the * event delivery. + * + * In fact, we now use an even more aggressive function that + * unconditionally removes, because we don't reuse the wait + * entry between loop iterations. This lets us also avoid the + * performance issue if a process is killed, causing all of its + * threads to wake up without being removed normally. */ init_wait(&wait); + wait.func = ep_autoremove_wake_function; write_lock_irq(&ep->lock); /* --- linux-gcp-5.19.0.orig/fs/exec.c +++ linux-gcp-5.19.0/fs/exec.c @@ -1200,11 +1200,11 @@ return -ENOMEM; refcount_set(&newsighand->count, 1); - memcpy(newsighand->action, oldsighand->action, - sizeof(newsighand->action)); write_lock_irq(&tasklist_lock); spin_lock(&oldsighand->siglock); + memcpy(newsighand->action, oldsighand->action, + sizeof(newsighand->action)); rcu_assign_pointer(me->sighand, newsighand); spin_unlock(&oldsighand->siglock); write_unlock_irq(&tasklist_lock); @@ -1301,6 +1301,9 @@ bprm->mm = NULL; #ifdef CONFIG_POSIX_TIMERS + spin_lock_irq(&me->sighand->siglock); + posix_cpu_timers_exit(me); + spin_unlock_irq(&me->sighand->siglock); exit_itimers(me); flush_itimer_signals(); #endif --- linux-gcp-5.19.0.orig/fs/exfat/dir.c +++ linux-gcp-5.19.0/fs/exfat/dir.c @@ -102,7 +102,7 @@ clu.dir = ei->hint_bmap.clu; } - while (clu_offset > 0) { + while (clu_offset > 0 && clu.dir != EXFAT_EOF_CLUSTER) { if (exfat_get_next_cluster(sb, &(clu.dir))) return -EIO; @@ -236,10 +236,7 @@ fake_offset = 1; } - if (cpos & (DENTRY_SIZE - 1)) { - err = -ENOENT; - goto unlock; - } + cpos = round_up(cpos, DENTRY_SIZE); /* name buffer should be allocated before use */ err = exfat_alloc_namebuf(nb); --- linux-gcp-5.19.0.orig/fs/exfat/exfat_fs.h +++ linux-gcp-5.19.0/fs/exfat/exfat_fs.h @@ -41,7 +41,7 @@ #define ES_2_ENTRIES 2 #define ES_ALL_ENTRIES 0 -#define DIR_DELETED 0xFFFF0321 +#define DIR_DELETED 0xFFFFFFF7 /* type values */ #define TYPE_UNUSED 0x0000 --- linux-gcp-5.19.0.orig/fs/exfat/fatent.c +++ linux-gcp-5.19.0/fs/exfat/fatent.c @@ -270,8 +270,7 @@ struct super_block *sb = dir->i_sb; struct exfat_sb_info *sbi = EXFAT_SB(sb); struct buffer_head *bh; - sector_t blknr, last_blknr; - int i; + sector_t blknr, last_blknr, i; blknr = exfat_cluster_to_sector(sbi, clu); last_blknr = blknr + sbi->sect_per_clus; --- linux-gcp-5.19.0.orig/fs/exfat/file.c +++ linux-gcp-5.19.0/fs/exfat/file.c @@ -249,8 +249,7 @@ else mark_inode_dirty(inode); - inode->i_blocks = round_up(i_size_read(inode), sbi->cluster_size) >> - inode->i_blkbits; + inode->i_blocks = round_up(i_size_read(inode), sbi->cluster_size) >> 9; write_size: aligned_size = i_size_read(inode); if (aligned_size & (blocksize - 1)) { --- linux-gcp-5.19.0.orig/fs/exfat/inode.c +++ linux-gcp-5.19.0/fs/exfat/inode.c @@ -243,8 +243,7 @@ return err; } /* end of if != DIR_DELETED */ - inode->i_blocks += - num_to_be_allocated << sbi->sect_per_clus_bits; + inode->i_blocks += EXFAT_CLU_TO_B(num_to_be_allocated, sbi) >> 9; /* * Move *clu pointer along FAT chains (hole care) because the @@ -603,8 +602,7 @@ exfat_save_attr(inode, info->attr); - inode->i_blocks = round_up(i_size_read(inode), sbi->cluster_size) >> - inode->i_blkbits; + inode->i_blocks = round_up(i_size_read(inode), sbi->cluster_size) >> 9; inode->i_mtime = info->mtime; inode->i_ctime = info->mtime; ei->i_crtime = info->crtime; --- linux-gcp-5.19.0.orig/fs/exfat/namei.c +++ linux-gcp-5.19.0/fs/exfat/namei.c @@ -407,7 +407,7 @@ ei->i_size_ondisk += sbi->cluster_size; ei->i_size_aligned += sbi->cluster_size; ei->flags = p_dir->flags; - inode->i_blocks += 1 << sbi->sect_per_clus_bits; + inode->i_blocks += sbi->cluster_size >> 9; } return dentry; --- linux-gcp-5.19.0.orig/fs/exfat/super.c +++ linux-gcp-5.19.0/fs/exfat/super.c @@ -373,8 +373,7 @@ inode->i_op = &exfat_dir_inode_operations; inode->i_fop = &exfat_dir_operations; - inode->i_blocks = round_up(i_size_read(inode), sbi->cluster_size) >> - inode->i_blkbits; + inode->i_blocks = round_up(i_size_read(inode), sbi->cluster_size) >> 9; ei->i_pos = ((loff_t)sbi->root_dir << 32) | 0xffffffff; ei->i_size_aligned = i_size_read(inode); ei->i_size_ondisk = i_size_read(inode); --- linux-gcp-5.19.0.orig/fs/ext2/dir.c +++ linux-gcp-5.19.0/fs/ext2/dir.c @@ -679,7 +679,7 @@ page = ext2_get_page(inode, i, 0, &page_addr); if (IS_ERR(page)) - goto not_empty; + return 0; kaddr = page_addr; de = (ext2_dirent *)kaddr; --- linux-gcp-5.19.0.orig/fs/ext2/super.c +++ linux-gcp-5.19.0/fs/ext2/super.c @@ -163,7 +163,7 @@ db_count = sbi->s_gdb_count; for (i = 0; i < db_count; i++) brelse(sbi->s_group_desc[i]); - kfree(sbi->s_group_desc); + kvfree(sbi->s_group_desc); kfree(sbi->s_debts); percpu_counter_destroy(&sbi->s_freeblocks_counter); percpu_counter_destroy(&sbi->s_freeinodes_counter); @@ -1053,27 +1053,47 @@ sbi->s_blocks_per_group); goto failed_mount; } + /* At least inode table, bitmaps, and sb have to fit in one group */ + if (sbi->s_blocks_per_group <= sbi->s_itb_per_group + 3) { + ext2_msg(sb, KERN_ERR, + "error: #blocks per group smaller than metadata size: %lu <= %lu", + sbi->s_blocks_per_group, sbi->s_inodes_per_group + 3); + goto failed_mount; + } if (sbi->s_frags_per_group > sb->s_blocksize * 8) { ext2_msg(sb, KERN_ERR, "error: #fragments per group too big: %lu", sbi->s_frags_per_group); goto failed_mount; } - if (sbi->s_inodes_per_group > sb->s_blocksize * 8) { + if (sbi->s_inodes_per_group < sbi->s_inodes_per_block || + sbi->s_inodes_per_group > sb->s_blocksize * 8) { ext2_msg(sb, KERN_ERR, - "error: #inodes per group too big: %lu", + "error: invalid #inodes per group: %lu", sbi->s_inodes_per_group); goto failed_mount; } + if (sb_bdev_nr_blocks(sb) < le32_to_cpu(es->s_blocks_count)) { + ext2_msg(sb, KERN_ERR, + "bad geometry: block count %u exceeds size of device (%u blocks)", + le32_to_cpu(es->s_blocks_count), + (unsigned)sb_bdev_nr_blocks(sb)); + goto failed_mount; + } - if (EXT2_BLOCKS_PER_GROUP(sb) == 0) - goto cantfind_ext2; sbi->s_groups_count = ((le32_to_cpu(es->s_blocks_count) - le32_to_cpu(es->s_first_data_block) - 1) / EXT2_BLOCKS_PER_GROUP(sb)) + 1; + if ((u64)sbi->s_groups_count * sbi->s_inodes_per_group != + le32_to_cpu(es->s_inodes_count)) { + ext2_msg(sb, KERN_ERR, "error: invalid #inodes: %u vs computed %llu", + le32_to_cpu(es->s_inodes_count), + (u64)sbi->s_groups_count * sbi->s_inodes_per_group); + goto failed_mount; + } db_count = (sbi->s_groups_count + EXT2_DESC_PER_BLOCK(sb) - 1) / EXT2_DESC_PER_BLOCK(sb); - sbi->s_group_desc = kmalloc_array(db_count, + sbi->s_group_desc = kvmalloc_array(db_count, sizeof(struct buffer_head *), GFP_KERNEL); if (sbi->s_group_desc == NULL) { @@ -1199,7 +1219,7 @@ for (i = 0; i < db_count; i++) brelse(sbi->s_group_desc[i]); failed_mount_group_desc: - kfree(sbi->s_group_desc); + kvfree(sbi->s_group_desc); kfree(sbi->s_debts); failed_mount: brelse(bh); --- linux-gcp-5.19.0.orig/fs/ext4/balloc.c +++ linux-gcp-5.19.0/fs/ext4/balloc.c @@ -666,7 +666,7 @@ * it's possible we've just missed a transaction commit here, * so ignore the returned status */ - jbd_debug(1, "%s: retrying operation after ENOSPC\n", sb->s_id); + ext4_debug("%s: retrying operation after ENOSPC\n", sb->s_id); (void) jbd2_journal_force_commit_nested(sbi->s_journal); return 1; } --- linux-gcp-5.19.0.orig/fs/ext4/ext4.h +++ linux-gcp-5.19.0/fs/ext4/ext4.h @@ -167,8 +167,6 @@ #define EXT4_MB_CR0_OPTIMIZED 0x8000 /* Avg fragment size rb tree lookup succeeded at least once for cr = 1 */ #define EXT4_MB_CR1_OPTIMIZED 0x00010000 -/* Perform linear traversal for one group */ -#define EXT4_MB_SEARCH_NEXT_LINEAR 0x00020000 struct ext4_allocation_request { /* target inode for block we're allocating */ struct inode *inode; @@ -560,7 +558,7 @@ * * It's not paranoia if the Murphy's Law really *is* out to get you. :-) */ -#define TEST_FLAG_VALUE(FLAG) (EXT4_##FLAG##_FL == (1 << EXT4_INODE_##FLAG)) +#define TEST_FLAG_VALUE(FLAG) (EXT4_##FLAG##_FL == (1U << EXT4_INODE_##FLAG)) #define CHECK_FLAG_VALUE(FLAG) BUILD_BUG_ON(!TEST_FLAG_VALUE(FLAG)) static inline void ext4_check_flag_values(void) @@ -1589,8 +1587,8 @@ struct list_head s_discard_list; struct work_struct s_discard_work; atomic_t s_retry_alloc_pending; - struct rb_root s_mb_avg_fragment_size_root; - rwlock_t s_mb_rb_lock; + struct list_head *s_mb_avg_fragment_size; + rwlock_t *s_mb_avg_fragment_size_locks; struct list_head *s_mb_largest_free_orders; rwlock_t *s_mb_largest_free_orders_locks; @@ -2955,7 +2953,8 @@ typedef enum { EXT4_IGET_NORMAL = 0, EXT4_IGET_SPECIAL = 0x0001, /* OK to iget a system inode */ - EXT4_IGET_HANDLE = 0x0002 /* Inode # is from a handle */ + EXT4_IGET_HANDLE = 0x0002, /* Inode # is from a handle */ + EXT4_IGET_BAD = 0x0004 /* Allow to iget a bad inode */ } ext4_iget_flags; extern struct inode *__ext4_iget(struct super_block *sb, unsigned long ino, @@ -3402,6 +3401,8 @@ ext4_grpblk_t bb_first_free; /* first free block */ ext4_grpblk_t bb_free; /* total free blocks */ ext4_grpblk_t bb_fragments; /* nr of freespace fragments */ + int bb_avg_fragment_size_order; /* order of average + fragment in BG */ ext4_grpblk_t bb_largest_free_order;/* order of largest frag in BG */ ext4_group_t bb_group; /* Group number */ struct list_head bb_prealloc_list; @@ -3409,7 +3410,7 @@ void *bb_bitmap; #endif struct rw_semaphore alloc_sem; - struct rb_node bb_avg_fragment_size_rb; + struct list_head bb_avg_fragment_size_node; struct list_head bb_largest_free_order_node; ext4_grpblk_t bb_counters[]; /* Nr of free power-of-two-block * regions, index is order. @@ -3583,6 +3584,7 @@ extern int ext4_inline_data_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo, int *has_inline, __u64 start, __u64 len); +extern void *ext4_read_inline_link(struct inode *inode); struct iomap; extern int ext4_inline_data_iomap(struct inode *inode, struct iomap *iomap); @@ -3609,8 +3611,8 @@ unsigned int blocksize); extern int ext4_handle_dirty_dirblock(handle_t *handle, struct inode *inode, struct buffer_head *bh); -extern int __ext4_unlink(handle_t *handle, struct inode *dir, const struct qstr *d_name, - struct inode *inode); +extern int __ext4_unlink(struct inode *dir, const struct qstr *d_name, + struct inode *inode, struct dentry *dentry); extern int __ext4_link(struct inode *dir, struct inode *inode, struct dentry *dentry); --- linux-gcp-5.19.0.orig/fs/ext4/ext4_jbd2.c +++ linux-gcp-5.19.0/fs/ext4/ext4_jbd2.c @@ -267,8 +267,7 @@ trace_ext4_forget(inode, is_metadata, blocknr); BUFFER_TRACE(bh, "enter"); - jbd_debug(4, "forgetting bh %p: is_metadata = %d, mode %o, " - "data mode %x\n", + ext4_debug("forgetting bh %p: is_metadata=%d, mode %o, data mode %x\n", bh, is_metadata, inode->i_mode, test_opt(inode->i_sb, DATA_FLAGS)); --- linux-gcp-5.19.0.orig/fs/ext4/extents.c +++ linux-gcp-5.19.0/fs/ext4/extents.c @@ -460,6 +460,10 @@ error_msg = "invalid eh_entries"; goto corrupted; } + if (unlikely((eh->eh_entries == 0) && (depth > 0))) { + error_msg = "eh_entries is 0 but eh_depth is > 0"; + goto corrupted; + } if (!ext4_valid_extent_entries(inode, eh, lblk, &pblk, depth)) { error_msg = "invalid extent entries"; goto corrupted; @@ -5179,6 +5183,7 @@ * and it is decreased till we reach start. */ again: + ret = 0; if (SHIFT == SHIFT_LEFT) iterator = &start; else @@ -5222,14 +5227,21 @@ ext4_ext_get_actual_len(extent); } else { extent = EXT_FIRST_EXTENT(path[depth].p_hdr); - if (le32_to_cpu(extent->ee_block) > 0) + if (le32_to_cpu(extent->ee_block) > start) *iterator = le32_to_cpu(extent->ee_block) - 1; - else - /* Beginning is reached, end of the loop */ + else if (le32_to_cpu(extent->ee_block) == start) iterator = NULL; - /* Update path extent in case we need to stop */ - while (le32_to_cpu(extent->ee_block) < start) + else { + extent = EXT_LAST_EXTENT(path[depth].p_hdr); + while (le32_to_cpu(extent->ee_block) >= start) + extent--; + + if (extent == EXT_LAST_EXTENT(path[depth].p_hdr)) + break; + extent++; + iterator = NULL; + } path[depth].p_ext = extent; } ret = ext4_ext_shift_path_extents(path, shift, inode, @@ -5791,6 +5803,14 @@ struct ext4_extent *extent; ext4_lblk_t first_lblk, first_lclu, last_lclu; + /* + * if data can be stored inline, the logical cluster isn't + * mapped - no physical clusters have been allocated, and the + * file has no extents + */ + if (ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA)) + return 0; + /* search for the extent closest to the first block in the cluster */ path = ext4_find_extent(inode, EXT4_C2B(sbi, lclu), NULL, 0); if (IS_ERR(path)) { --- linux-gcp-5.19.0.orig/fs/ext4/extents_status.c +++ linux-gcp-5.19.0/fs/ext4/extents_status.c @@ -1372,7 +1372,7 @@ if (count_reserved) count_rsvd(inode, lblk, orig_es.es_len - len1 - len2, &orig_es, &rc); - goto out; + goto out_get_reserved; } if (len1 > 0) { @@ -1414,6 +1414,7 @@ } } +out_get_reserved: if (count_reserved) *reserved = get_rsvd(inode, end, es, &rc); out: --- linux-gcp-5.19.0.orig/fs/ext4/fast_commit.c +++ linux-gcp-5.19.0/fs/ext4/fast_commit.c @@ -418,25 +418,34 @@ struct __track_dentry_update_args *dentry_update = (struct __track_dentry_update_args *)arg; struct dentry *dentry = dentry_update->dentry; - struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); + struct inode *dir = dentry->d_parent->d_inode; + struct super_block *sb = inode->i_sb; + struct ext4_sb_info *sbi = EXT4_SB(sb); mutex_unlock(&ei->i_fc_lock); + + if (IS_ENCRYPTED(dir)) { + ext4_fc_mark_ineligible(sb, EXT4_FC_REASON_ENCRYPTED_FILENAME, + NULL); + mutex_lock(&ei->i_fc_lock); + return -EOPNOTSUPP; + } + node = kmem_cache_alloc(ext4_fc_dentry_cachep, GFP_NOFS); if (!node) { - ext4_fc_mark_ineligible(inode->i_sb, EXT4_FC_REASON_NOMEM, NULL); + ext4_fc_mark_ineligible(sb, EXT4_FC_REASON_NOMEM, NULL); mutex_lock(&ei->i_fc_lock); return -ENOMEM; } node->fcd_op = dentry_update->op; - node->fcd_parent = dentry->d_parent->d_inode->i_ino; + node->fcd_parent = dir->i_ino; node->fcd_ino = inode->i_ino; if (dentry->d_name.len > DNAME_INLINE_LEN) { node->fcd_name.name = kmalloc(dentry->d_name.len, GFP_NOFS); if (!node->fcd_name.name) { kmem_cache_free(ext4_fc_dentry_cachep, node); - ext4_fc_mark_ineligible(inode->i_sb, - EXT4_FC_REASON_NOMEM, NULL); + ext4_fc_mark_ineligible(sb, EXT4_FC_REASON_NOMEM, NULL); mutex_lock(&ei->i_fc_lock); return -ENOMEM; } @@ -674,6 +683,15 @@ /* Ext4 commit path routines */ +/* memcpy to fc reserved space and update CRC */ +static void *ext4_fc_memcpy(struct super_block *sb, void *dst, const void *src, + int len, u32 *crc) +{ + if (crc) + *crc = ext4_chksum(EXT4_SB(sb), *crc, src, len); + return memcpy(dst, src, len); +} + /* memzero and update CRC */ static void *ext4_fc_memzero(struct super_block *sb, void *dst, int len, u32 *crc) @@ -699,62 +717,59 @@ */ static u8 *ext4_fc_reserve_space(struct super_block *sb, int len, u32 *crc) { - struct ext4_fc_tl *tl; + struct ext4_fc_tl tl; struct ext4_sb_info *sbi = EXT4_SB(sb); struct buffer_head *bh; int bsize = sbi->s_journal->j_blocksize; int ret, off = sbi->s_fc_bytes % bsize; - int pad_len; + int remaining; + u8 *dst; /* - * After allocating len, we should have space at least for a 0 byte - * padding. + * If 'len' is too long to fit in any block alongside a PAD tlv, then we + * cannot fulfill the request. */ - if (len + sizeof(struct ext4_fc_tl) > bsize) + if (len > bsize - EXT4_FC_TAG_BASE_LEN) return NULL; - if (bsize - off - 1 > len + sizeof(struct ext4_fc_tl)) { - /* - * Only allocate from current buffer if we have enough space for - * this request AND we have space to add a zero byte padding. - */ - if (!sbi->s_fc_bh) { - ret = jbd2_fc_get_buf(EXT4_SB(sb)->s_journal, &bh); - if (ret) - return NULL; - sbi->s_fc_bh = bh; - } + if (!sbi->s_fc_bh) { + ret = jbd2_fc_get_buf(EXT4_SB(sb)->s_journal, &bh); + if (ret) + return NULL; + sbi->s_fc_bh = bh; + } + dst = sbi->s_fc_bh->b_data + off; + + /* + * Allocate the bytes in the current block if we can do so while still + * leaving enough space for a PAD tlv. + */ + remaining = bsize - EXT4_FC_TAG_BASE_LEN - off; + if (len <= remaining) { sbi->s_fc_bytes += len; - return sbi->s_fc_bh->b_data + off; + return dst; } - /* Need to add PAD tag */ - tl = (struct ext4_fc_tl *)(sbi->s_fc_bh->b_data + off); - tl->fc_tag = cpu_to_le16(EXT4_FC_TAG_PAD); - pad_len = bsize - off - 1 - sizeof(struct ext4_fc_tl); - tl->fc_len = cpu_to_le16(pad_len); - if (crc) - *crc = ext4_chksum(sbi, *crc, tl, sizeof(*tl)); - if (pad_len > 0) - ext4_fc_memzero(sb, tl + 1, pad_len, crc); + + /* + * Else, terminate the current block with a PAD tlv, then allocate a new + * block and allocate the bytes at the start of that new block. + */ + + tl.fc_tag = cpu_to_le16(EXT4_FC_TAG_PAD); + tl.fc_len = cpu_to_le16(remaining); + ext4_fc_memcpy(sb, dst, &tl, EXT4_FC_TAG_BASE_LEN, crc); + ext4_fc_memzero(sb, dst + EXT4_FC_TAG_BASE_LEN, remaining, crc); + ext4_fc_submit_bh(sb, false); ret = jbd2_fc_get_buf(EXT4_SB(sb)->s_journal, &bh); if (ret) return NULL; sbi->s_fc_bh = bh; - sbi->s_fc_bytes = (sbi->s_fc_bytes / bsize + 1) * bsize + len; + sbi->s_fc_bytes += bsize - off + len; return sbi->s_fc_bh->b_data; } -/* memcpy to fc reserved space and update CRC */ -static void *ext4_fc_memcpy(struct super_block *sb, void *dst, const void *src, - int len, u32 *crc) -{ - if (crc) - *crc = ext4_chksum(EXT4_SB(sb), *crc, src, len); - return memcpy(dst, src, len); -} - /* * Complete a fast commit by writing tail tag. * @@ -775,23 +790,25 @@ * ext4_fc_reserve_space takes care of allocating an extra block if * there's no enough space on this block for accommodating this tail. */ - dst = ext4_fc_reserve_space(sb, sizeof(tl) + sizeof(tail), &crc); + dst = ext4_fc_reserve_space(sb, EXT4_FC_TAG_BASE_LEN + sizeof(tail), &crc); if (!dst) return -ENOSPC; off = sbi->s_fc_bytes % bsize; tl.fc_tag = cpu_to_le16(EXT4_FC_TAG_TAIL); - tl.fc_len = cpu_to_le16(bsize - off - 1 + sizeof(struct ext4_fc_tail)); + tl.fc_len = cpu_to_le16(bsize - off + sizeof(struct ext4_fc_tail)); sbi->s_fc_bytes = round_up(sbi->s_fc_bytes, bsize); - ext4_fc_memcpy(sb, dst, &tl, sizeof(tl), &crc); - dst += sizeof(tl); + ext4_fc_memcpy(sb, dst, &tl, EXT4_FC_TAG_BASE_LEN, &crc); + dst += EXT4_FC_TAG_BASE_LEN; tail.fc_tid = cpu_to_le32(sbi->s_journal->j_running_transaction->t_tid); ext4_fc_memcpy(sb, dst, &tail.fc_tid, sizeof(tail.fc_tid), &crc); dst += sizeof(tail.fc_tid); tail.fc_crc = cpu_to_le32(crc); ext4_fc_memcpy(sb, dst, &tail.fc_crc, sizeof(tail.fc_crc), NULL); + dst += sizeof(tail.fc_crc); + memset(dst, 0, bsize - off); /* Don't leak uninitialized memory. */ ext4_fc_submit_bh(sb, true); @@ -808,15 +825,15 @@ struct ext4_fc_tl tl; u8 *dst; - dst = ext4_fc_reserve_space(sb, sizeof(tl) + len, crc); + dst = ext4_fc_reserve_space(sb, EXT4_FC_TAG_BASE_LEN + len, crc); if (!dst) return false; tl.fc_tag = cpu_to_le16(tag); tl.fc_len = cpu_to_le16(len); - ext4_fc_memcpy(sb, dst, &tl, sizeof(tl), crc); - ext4_fc_memcpy(sb, dst + sizeof(tl), val, len, crc); + ext4_fc_memcpy(sb, dst, &tl, EXT4_FC_TAG_BASE_LEN, crc); + ext4_fc_memcpy(sb, dst + EXT4_FC_TAG_BASE_LEN, val, len, crc); return true; } @@ -828,8 +845,8 @@ struct ext4_fc_dentry_info fcd; struct ext4_fc_tl tl; int dlen = fc_dentry->fcd_name.len; - u8 *dst = ext4_fc_reserve_space(sb, sizeof(tl) + sizeof(fcd) + dlen, - crc); + u8 *dst = ext4_fc_reserve_space(sb, + EXT4_FC_TAG_BASE_LEN + sizeof(fcd) + dlen, crc); if (!dst) return false; @@ -838,8 +855,8 @@ fcd.fc_ino = cpu_to_le32(fc_dentry->fcd_ino); tl.fc_tag = cpu_to_le16(fc_dentry->fcd_op); tl.fc_len = cpu_to_le16(sizeof(fcd) + dlen); - ext4_fc_memcpy(sb, dst, &tl, sizeof(tl), crc); - dst += sizeof(tl); + ext4_fc_memcpy(sb, dst, &tl, EXT4_FC_TAG_BASE_LEN, crc); + dst += EXT4_FC_TAG_BASE_LEN; ext4_fc_memcpy(sb, dst, &fcd, sizeof(fcd), crc); dst += sizeof(fcd); ext4_fc_memcpy(sb, dst, fc_dentry->fcd_name.name, dlen, crc); @@ -874,22 +891,25 @@ tl.fc_tag = cpu_to_le16(EXT4_FC_TAG_INODE); tl.fc_len = cpu_to_le16(inode_len + sizeof(fc_inode.fc_ino)); + ret = -ECANCELED; dst = ext4_fc_reserve_space(inode->i_sb, - sizeof(tl) + inode_len + sizeof(fc_inode.fc_ino), crc); + EXT4_FC_TAG_BASE_LEN + inode_len + sizeof(fc_inode.fc_ino), crc); if (!dst) - return -ECANCELED; + goto err; - if (!ext4_fc_memcpy(inode->i_sb, dst, &tl, sizeof(tl), crc)) - return -ECANCELED; - dst += sizeof(tl); + if (!ext4_fc_memcpy(inode->i_sb, dst, &tl, EXT4_FC_TAG_BASE_LEN, crc)) + goto err; + dst += EXT4_FC_TAG_BASE_LEN; if (!ext4_fc_memcpy(inode->i_sb, dst, &fc_inode, sizeof(fc_inode), crc)) - return -ECANCELED; + goto err; dst += sizeof(fc_inode); if (!ext4_fc_memcpy(inode->i_sb, dst, (u8 *)ext4_raw_inode(&iloc), inode_len, crc)) - return -ECANCELED; - - return 0; + goto err; + ret = 0; +err: + brelse(iloc.bh); + return ret; } /* @@ -917,8 +937,8 @@ mutex_unlock(&ei->i_fc_lock); cur_lblk_off = old_blk_size; - jbd_debug(1, "%s: will try writing %d to %d for inode %ld\n", - __func__, cur_lblk_off, new_blk_size, inode->i_ino); + ext4_debug("will try writing %d to %d for inode %ld\n", + cur_lblk_off, new_blk_size, inode->i_ino); while (cur_lblk_off <= new_blk_size) { map.m_lblk = cur_lblk_off; @@ -1168,7 +1188,7 @@ { struct ext4_fc_stats *stats = &EXT4_SB(sb)->s_fc_stats; - jbd_debug(1, "Fast commit ended with status = %d for tid %u", + ext4_debug("Fast commit ended with status = %d for tid %u", status, commit_tid); if (status == EXT4_FC_STATUS_OK) { stats->fc_num_commits++; @@ -1343,7 +1363,7 @@ }; static inline void tl_to_darg(struct dentry_info_args *darg, - struct ext4_fc_tl *tl, u8 *val) + struct ext4_fc_tl *tl, u8 *val) { struct ext4_fc_dentry_info fcd; @@ -1352,8 +1372,14 @@ darg->parent_ino = le32_to_cpu(fcd.fc_parent_ino); darg->ino = le32_to_cpu(fcd.fc_ino); darg->dname = val + offsetof(struct ext4_fc_dentry_info, fc_dname); - darg->dname_len = le16_to_cpu(tl->fc_len) - - sizeof(struct ext4_fc_dentry_info); + darg->dname_len = tl->fc_len - sizeof(struct ext4_fc_dentry_info); +} + +static inline void ext4_fc_get_tl(struct ext4_fc_tl *tl, u8 *val) +{ + memcpy(tl, val, EXT4_FC_TAG_BASE_LEN); + tl->fc_len = le16_to_cpu(tl->fc_len); + tl->fc_tag = le16_to_cpu(tl->fc_tag); } /* Unlink replay function */ @@ -1375,19 +1401,19 @@ inode = ext4_iget(sb, darg.ino, EXT4_IGET_NORMAL); if (IS_ERR(inode)) { - jbd_debug(1, "Inode %d not found", darg.ino); + ext4_debug("Inode %d not found", darg.ino); return 0; } old_parent = ext4_iget(sb, darg.parent_ino, EXT4_IGET_NORMAL); if (IS_ERR(old_parent)) { - jbd_debug(1, "Dir with inode %d not found", darg.parent_ino); + ext4_debug("Dir with inode %d not found", darg.parent_ino); iput(inode); return 0; } - ret = __ext4_unlink(NULL, old_parent, &entry, inode); + ret = __ext4_unlink(old_parent, &entry, inode, NULL); /* -ENOENT ok coz it might not exist anymore. */ if (ret == -ENOENT) ret = 0; @@ -1407,21 +1433,21 @@ dir = ext4_iget(sb, darg->parent_ino, EXT4_IGET_NORMAL); if (IS_ERR(dir)) { - jbd_debug(1, "Dir with inode %d not found.", darg->parent_ino); + ext4_debug("Dir with inode %d not found.", darg->parent_ino); dir = NULL; goto out; } dentry_dir = d_obtain_alias(dir); if (IS_ERR(dentry_dir)) { - jbd_debug(1, "Failed to obtain dentry"); + ext4_debug("Failed to obtain dentry"); dentry_dir = NULL; goto out; } dentry_inode = d_alloc(dentry_dir, &qstr_dname); if (!dentry_inode) { - jbd_debug(1, "Inode dentry not created."); + ext4_debug("Inode dentry not created."); ret = -ENOMEM; goto out; } @@ -1434,7 +1460,7 @@ * could complete. */ if (ret && ret != -EEXIST) { - jbd_debug(1, "Failed to link\n"); + ext4_debug("Failed to link\n"); goto out; } @@ -1468,7 +1494,7 @@ inode = ext4_iget(sb, darg.ino, EXT4_IGET_NORMAL); if (IS_ERR(inode)) { - jbd_debug(1, "Inode not found."); + ext4_debug("Inode not found."); return 0; } @@ -1491,13 +1517,15 @@ if (state->fc_modified_inodes[i] == ino) return 0; if (state->fc_modified_inodes_used == state->fc_modified_inodes_size) { - state->fc_modified_inodes = krealloc( - state->fc_modified_inodes, + int *fc_modified_inodes; + + fc_modified_inodes = krealloc(state->fc_modified_inodes, sizeof(int) * (state->fc_modified_inodes_size + EXT4_FC_REPLAY_REALLOC_INCREMENT), GFP_KERNEL); - if (!state->fc_modified_inodes) + if (!fc_modified_inodes) return -ENOMEM; + state->fc_modified_inodes = fc_modified_inodes; state->fc_modified_inodes_size += EXT4_FC_REPLAY_REALLOC_INCREMENT; } @@ -1516,7 +1544,7 @@ struct ext4_inode *raw_fc_inode; struct inode *inode = NULL; struct ext4_iloc iloc; - int inode_len, ino, ret, tag = le16_to_cpu(tl->fc_tag); + int inode_len, ino, ret, tag = tl->fc_tag; struct ext4_extent_header *eh; memcpy(&fc_inode, val, sizeof(fc_inode)); @@ -1541,7 +1569,7 @@ if (ret) goto out; - inode_len = le16_to_cpu(tl->fc_len) - sizeof(struct ext4_fc_inode); + inode_len = tl->fc_len - sizeof(struct ext4_fc_inode); raw_inode = ext4_raw_inode(&iloc); memcpy(raw_inode, raw_fc_inode, offsetof(struct ext4_inode, i_block)); @@ -1576,7 +1604,7 @@ /* Given that we just wrote the inode on disk, this SHOULD succeed. */ inode = ext4_iget(sb, ino, EXT4_IGET_NORMAL); if (IS_ERR(inode)) { - jbd_debug(1, "Inode not found."); + ext4_debug("Inode not found."); return -EFSCORRUPTED; } @@ -1630,7 +1658,7 @@ inode = ext4_iget(sb, darg.ino, EXT4_IGET_NORMAL); if (IS_ERR(inode)) { - jbd_debug(1, "inode %d not found.", darg.ino); + ext4_debug("inode %d not found.", darg.ino); inode = NULL; ret = -EINVAL; goto out; @@ -1643,7 +1671,7 @@ */ dir = ext4_iget(sb, darg.parent_ino, EXT4_IGET_NORMAL); if (IS_ERR(dir)) { - jbd_debug(1, "Dir %d not found.", darg.ino); + ext4_debug("Dir %d not found.", darg.ino); goto out; } ret = ext4_init_new_dir(NULL, dir, inode); @@ -1682,15 +1710,18 @@ if (replay && state->fc_regions_used != state->fc_regions_valid) state->fc_regions_used = state->fc_regions_valid; if (state->fc_regions_used == state->fc_regions_size) { + struct ext4_fc_alloc_region *fc_regions; + + fc_regions = krealloc(state->fc_regions, + sizeof(struct ext4_fc_alloc_region) * + (state->fc_regions_size + + EXT4_FC_REPLAY_REALLOC_INCREMENT), + GFP_KERNEL); + if (!fc_regions) + return -ENOMEM; state->fc_regions_size += EXT4_FC_REPLAY_REALLOC_INCREMENT; - state->fc_regions = krealloc( - state->fc_regions, - state->fc_regions_size * - sizeof(struct ext4_fc_alloc_region), - GFP_KERNEL); - if (!state->fc_regions) - return -ENOMEM; + state->fc_regions = fc_regions; } region = &state->fc_regions[state->fc_regions_used++]; region->ino = ino; @@ -1727,7 +1758,7 @@ inode = ext4_iget(sb, le32_to_cpu(fc_add_ex.fc_ino), EXT4_IGET_NORMAL); if (IS_ERR(inode)) { - jbd_debug(1, "Inode not found."); + ext4_debug("Inode not found."); return 0; } @@ -1741,7 +1772,7 @@ cur = start; remaining = len; - jbd_debug(1, "ADD_RANGE, lblk %d, pblk %lld, len %d, unwritten %d, inode %ld\n", + ext4_debug("ADD_RANGE, lblk %d, pblk %lld, len %d, unwritten %d, inode %ld\n", start, start_pblk, len, ext4_ext_is_unwritten(ex), inode->i_ino); @@ -1802,7 +1833,7 @@ } /* Range is mapped and needs a state change */ - jbd_debug(1, "Converting from %ld to %d %lld", + ext4_debug("Converting from %ld to %d %lld", map.m_flags & EXT4_MAP_UNWRITTEN, ext4_ext_is_unwritten(ex), map.m_pblk); ret = ext4_ext_replay_update_ex(inode, cur, map.m_len, @@ -1845,7 +1876,7 @@ inode = ext4_iget(sb, le32_to_cpu(lrange.fc_ino), EXT4_IGET_NORMAL); if (IS_ERR(inode)) { - jbd_debug(1, "Inode %d not found", le32_to_cpu(lrange.fc_ino)); + ext4_debug("Inode %d not found", le32_to_cpu(lrange.fc_ino)); return 0; } @@ -1853,7 +1884,7 @@ if (ret) goto out; - jbd_debug(1, "DEL_RANGE, inode %ld, lblk %d, len %d\n", + ext4_debug("DEL_RANGE, inode %ld, lblk %d, len %d\n", inode->i_ino, le32_to_cpu(lrange.fc_lblk), le32_to_cpu(lrange.fc_len)); while (remaining > 0) { @@ -1902,7 +1933,7 @@ inode = ext4_iget(sb, state->fc_modified_inodes[i], EXT4_IGET_NORMAL); if (IS_ERR(inode)) { - jbd_debug(1, "Inode %d not found.", + ext4_debug("Inode %d not found.", state->fc_modified_inodes[i]); continue; } @@ -1972,6 +2003,33 @@ kfree(sbi->s_fc_replay_state.fc_modified_inodes); } +static bool ext4_fc_value_len_isvalid(struct ext4_sb_info *sbi, + int tag, int len) +{ + switch (tag) { + case EXT4_FC_TAG_ADD_RANGE: + return len == sizeof(struct ext4_fc_add_range); + case EXT4_FC_TAG_DEL_RANGE: + return len == sizeof(struct ext4_fc_del_range); + case EXT4_FC_TAG_CREAT: + case EXT4_FC_TAG_LINK: + case EXT4_FC_TAG_UNLINK: + len -= sizeof(struct ext4_fc_dentry_info); + return len >= 1 && len <= EXT4_NAME_LEN; + case EXT4_FC_TAG_INODE: + len -= sizeof(struct ext4_fc_inode); + return len >= EXT4_GOOD_OLD_INODE_SIZE && + len <= sbi->s_inode_size; + case EXT4_FC_TAG_PAD: + return true; /* padding can have any length */ + case EXT4_FC_TAG_TAIL: + return len >= sizeof(struct ext4_fc_tail); + case EXT4_FC_TAG_HEAD: + return len == sizeof(struct ext4_fc_head); + } + return false; +} + /* * Recovery Scan phase handler * @@ -2007,7 +2065,7 @@ state = &sbi->s_fc_replay_state; start = (u8 *)bh->b_data; - end = (__u8 *)bh->b_data + journal->j_blocksize - 1; + end = start + journal->j_blocksize; if (state->fc_replay_expected_off == 0) { state->fc_cur_tag = 0; @@ -2028,12 +2086,19 @@ } state->fc_replay_expected_off++; - for (cur = start; cur < end; cur = cur + sizeof(tl) + le16_to_cpu(tl.fc_len)) { - memcpy(&tl, cur, sizeof(tl)); - val = cur + sizeof(tl); - jbd_debug(3, "Scan phase, tag:%s, blk %lld\n", - tag2str(le16_to_cpu(tl.fc_tag)), bh->b_blocknr); - switch (le16_to_cpu(tl.fc_tag)) { + for (cur = start; cur <= end - EXT4_FC_TAG_BASE_LEN; + cur = cur + EXT4_FC_TAG_BASE_LEN + tl.fc_len) { + ext4_fc_get_tl(&tl, cur); + val = cur + EXT4_FC_TAG_BASE_LEN; + if (tl.fc_len > end - val || + !ext4_fc_value_len_isvalid(sbi, tl.fc_tag, tl.fc_len)) { + ret = state->fc_replay_num_tags ? + JBD2_FC_REPLAY_STOP : -ECANCELED; + goto out_err; + } + ext4_debug("Scan phase, tag:%s, blk %lld\n", + tag2str(tl.fc_tag), bh->b_blocknr); + switch (tl.fc_tag) { case EXT4_FC_TAG_ADD_RANGE: memcpy(&ext, val, sizeof(ext)); ex = (struct ext4_extent *)&ext.fc_ex; @@ -2053,13 +2118,13 @@ case EXT4_FC_TAG_PAD: state->fc_cur_tag++; state->fc_crc = ext4_chksum(sbi, state->fc_crc, cur, - sizeof(tl) + le16_to_cpu(tl.fc_len)); + EXT4_FC_TAG_BASE_LEN + tl.fc_len); break; case EXT4_FC_TAG_TAIL: state->fc_cur_tag++; memcpy(&tail, val, sizeof(tail)); state->fc_crc = ext4_chksum(sbi, state->fc_crc, cur, - sizeof(tl) + + EXT4_FC_TAG_BASE_LEN + offsetof(struct ext4_fc_tail, fc_crc)); if (le32_to_cpu(tail.fc_tid) == expected_tid && @@ -2086,7 +2151,7 @@ } state->fc_cur_tag++; state->fc_crc = ext4_chksum(sbi, state->fc_crc, cur, - sizeof(tl) + le16_to_cpu(tl.fc_len)); + EXT4_FC_TAG_BASE_LEN + tl.fc_len); break; default: ret = state->fc_replay_num_tags ? @@ -2126,7 +2191,7 @@ sbi->s_mount_state |= EXT4_FC_REPLAY; } if (!sbi->s_fc_replay_state.fc_replay_num_tags) { - jbd_debug(1, "Replay stops\n"); + ext4_debug("Replay stops\n"); ext4_fc_set_bitmaps_and_counters(sb); return 0; } @@ -2139,21 +2204,22 @@ #endif start = (u8 *)bh->b_data; - end = (__u8 *)bh->b_data + journal->j_blocksize - 1; + end = start + journal->j_blocksize; - for (cur = start; cur < end; cur = cur + sizeof(tl) + le16_to_cpu(tl.fc_len)) { - memcpy(&tl, cur, sizeof(tl)); - val = cur + sizeof(tl); + for (cur = start; cur <= end - EXT4_FC_TAG_BASE_LEN; + cur = cur + EXT4_FC_TAG_BASE_LEN + tl.fc_len) { + ext4_fc_get_tl(&tl, cur); + val = cur + EXT4_FC_TAG_BASE_LEN; if (state->fc_replay_num_tags == 0) { ret = JBD2_FC_REPLAY_STOP; ext4_fc_set_bitmaps_and_counters(sb); break; } - jbd_debug(3, "Replay phase, tag:%s\n", - tag2str(le16_to_cpu(tl.fc_tag))); + + ext4_debug("Replay phase, tag:%s\n", tag2str(tl.fc_tag)); state->fc_replay_num_tags--; - switch (le16_to_cpu(tl.fc_tag)) { + switch (tl.fc_tag) { case EXT4_FC_TAG_LINK: ret = ext4_fc_replay_link(sb, &tl, val); break; @@ -2174,19 +2240,18 @@ break; case EXT4_FC_TAG_PAD: trace_ext4_fc_replay(sb, EXT4_FC_TAG_PAD, 0, - le16_to_cpu(tl.fc_len), 0); + tl.fc_len, 0); break; case EXT4_FC_TAG_TAIL: - trace_ext4_fc_replay(sb, EXT4_FC_TAG_TAIL, 0, - le16_to_cpu(tl.fc_len), 0); + trace_ext4_fc_replay(sb, EXT4_FC_TAG_TAIL, + 0, tl.fc_len, 0); memcpy(&tail, val, sizeof(tail)); WARN_ON(le32_to_cpu(tail.fc_tid) != expected_tid); break; case EXT4_FC_TAG_HEAD: break; default: - trace_ext4_fc_replay(sb, le16_to_cpu(tl.fc_tag), 0, - le16_to_cpu(tl.fc_len), 0); + trace_ext4_fc_replay(sb, tl.fc_tag, 0, tl.fc_len, 0); ret = -ECANCELED; break; } @@ -2210,17 +2275,17 @@ journal->j_fc_cleanup_callback = ext4_fc_cleanup; } -static const char *fc_ineligible_reasons[] = { - "Extended attributes changed", - "Cross rename", - "Journal flag changed", - "Insufficient memory", - "Swap boot", - "Resize", - "Dir renamed", - "Falloc range op", - "Data journalling", - "FC Commit Failed" +static const char * const fc_ineligible_reasons[] = { + [EXT4_FC_REASON_XATTR] = "Extended attributes changed", + [EXT4_FC_REASON_CROSS_RENAME] = "Cross rename", + [EXT4_FC_REASON_JOURNAL_FLAG_CHANGE] = "Journal flag changed", + [EXT4_FC_REASON_NOMEM] = "Insufficient memory", + [EXT4_FC_REASON_SWAP_BOOT] = "Swap boot", + [EXT4_FC_REASON_RESIZE] = "Resize", + [EXT4_FC_REASON_RENAME_DIR] = "Dir renamed", + [EXT4_FC_REASON_FALLOC_RANGE] = "Falloc range op", + [EXT4_FC_REASON_INODE_JOURNAL_DATA] = "Data journalling", + [EXT4_FC_REASON_ENCRYPTED_FILENAME] = "Encrypted filename", }; int ext4_fc_info_show(struct seq_file *seq, void *v) --- linux-gcp-5.19.0.orig/fs/ext4/fast_commit.h +++ linux-gcp-5.19.0/fs/ext4/fast_commit.h @@ -58,7 +58,7 @@ __u8 fc_dname[]; }; -/* Value structure for EXT4_FC_TAG_INODE and EXT4_FC_TAG_INODE_PARTIAL. */ +/* Value structure for EXT4_FC_TAG_INODE. */ struct ext4_fc_inode { __le32 fc_ino; __u8 fc_raw_inode[]; @@ -70,6 +70,9 @@ __le32 fc_crc; }; +/* Tag base length */ +#define EXT4_FC_TAG_BASE_LEN (sizeof(struct ext4_fc_tl)) + /* * Fast commit status codes */ @@ -93,6 +96,7 @@ EXT4_FC_REASON_RENAME_DIR, EXT4_FC_REASON_FALLOC_RANGE, EXT4_FC_REASON_INODE_JOURNAL_DATA, + EXT4_FC_REASON_ENCRYPTED_FILENAME, EXT4_FC_REASON_MAX }; --- linux-gcp-5.19.0.orig/fs/ext4/file.c +++ linux-gcp-5.19.0/fs/ext4/file.c @@ -528,6 +528,12 @@ ret = -EAGAIN; goto out; } + /* + * Make sure inline data cannot be created anymore since we are going + * to allocate blocks for DIO. We know the inode does not have any + * inline data now because ext4_dio_supported() checked for that. + */ + ext4_clear_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA); offset = iocb->ki_pos; count = ret; --- linux-gcp-5.19.0.orig/fs/ext4/ialloc.c +++ linux-gcp-5.19.0/fs/ext4/ialloc.c @@ -510,7 +510,7 @@ goto fallback; } - max_dirs = ndirs / ngroups + inodes_per_group / 16; + max_dirs = ndirs / ngroups + inodes_per_group*flex_size / 16; min_inodes = avefreei - inodes_per_group*flex_size / 4; if (min_inodes < 1) min_inodes = 1; --- linux-gcp-5.19.0.orig/fs/ext4/indirect.c +++ linux-gcp-5.19.0/fs/ext4/indirect.c @@ -148,6 +148,7 @@ struct super_block *sb = inode->i_sb; Indirect *p = chain; struct buffer_head *bh; + unsigned int key; int ret = -EIO; *err = 0; @@ -156,7 +157,13 @@ if (!p->key) goto no_block; while (--depth) { - bh = sb_getblk(sb, le32_to_cpu(p->key)); + key = le32_to_cpu(p->key); + if (key > ext4_blocks_count(EXT4_SB(sb)->s_es)) { + /* the block was out of range */ + ret = -EFSCORRUPTED; + goto failure; + } + bh = sb_getblk(sb, key); if (unlikely(!bh)) { ret = -ENOMEM; goto failure; @@ -460,7 +467,7 @@ * the new i_size. But that is not done here - it is done in * generic_commit_write->__mark_inode_dirty->ext4_dirty_inode. */ - jbd_debug(5, "splicing indirect only\n"); + ext4_debug("splicing indirect only\n"); BUFFER_TRACE(where->bh, "call ext4_handle_dirty_metadata"); err = ext4_handle_dirty_metadata(handle, ar->inode, where->bh); if (err) @@ -472,7 +479,7 @@ err = ext4_mark_inode_dirty(handle, ar->inode); if (unlikely(err)) goto err_out; - jbd_debug(5, "splicing direct\n"); + ext4_debug("splicing direct\n"); } return err; --- linux-gcp-5.19.0.orig/fs/ext4/inline.c +++ linux-gcp-5.19.0/fs/ext4/inline.c @@ -6,6 +6,7 @@ #include #include +#include #include #include @@ -35,6 +36,9 @@ struct ext4_inode *raw_inode; int free, min_offs; + if (!EXT4_INODE_HAS_XATTR_SPACE(inode)) + return 0; + min_offs = EXT4_SB(inode->i_sb)->s_inode_size - EXT4_GOOD_OLD_INODE_SIZE - EXT4_I(inode)->i_extra_isize - @@ -1588,6 +1592,35 @@ return ret; } +void *ext4_read_inline_link(struct inode *inode) +{ + struct ext4_iloc iloc; + int ret, inline_size; + void *link; + + ret = ext4_get_inode_loc(inode, &iloc); + if (ret) + return ERR_PTR(ret); + + ret = -ENOMEM; + inline_size = ext4_get_inline_size(inode); + link = kmalloc(inline_size + 1, GFP_NOFS); + if (!link) + goto out; + + ret = ext4_read_inline_data(inode, link, inline_size, &iloc); + if (ret < 0) { + kfree(link); + goto out; + } + nd_terminate_link(link, inode->i_size, ret); +out: + if (ret < 0) + link = ERR_PTR(ret); + brelse(iloc.bh); + return link; +} + struct buffer_head *ext4_get_first_inline_block(struct inode *inode, struct ext4_dir_entry_2 **parent_de, int *retval) --- linux-gcp-5.19.0.orig/fs/ext4/inode.c +++ linux-gcp-5.19.0/fs/ext4/inode.c @@ -177,6 +177,8 @@ trace_ext4_evict_inode(inode); + if (EXT4_I(inode)->i_flags & EXT4_EA_INODE_FL) + ext4_evict_ea_inode(inode); if (inode->i_nlink) { /* * When journalling data dirty buffers are tracked only in the @@ -220,13 +222,13 @@ /* * For inodes with journalled data, transaction commit could have - * dirtied the inode. Flush worker is ignoring it because of I_FREEING - * flag but we still need to remove the inode from the writeback lists. + * dirtied the inode. And for inodes with dioread_nolock, unwritten + * extents converting worker could merge extents and also have dirtied + * the inode. Flush worker is ignoring it because of I_FREEING flag but + * we still need to remove the inode from the writeback lists. */ - if (!list_empty_careful(&inode->i_io_list)) { - WARN_ON_ONCE(!ext4_should_journal_data(inode)); + if (!list_empty_careful(&inode->i_io_list)) inode_io_list_del(inode); - } /* * Protect us against freezing - iput() caller didn't have to have any @@ -333,6 +335,12 @@ ext4_xattr_inode_array_free(ea_inode_array); return; no_delete: + /* + * Check out some where else accidentally dirty the evicting inode, + * which may probably cause inode use-after-free issues later. + */ + WARN_ON_ONCE(!list_empty_careful(&inode->i_io_list)); + if (!list_empty(&EXT4_I(inode)->i_fc_list)) ext4_fc_mark_ineligible(inode->i_sb, EXT4_FC_REASON_NOMEM, NULL); ext4_clear_inode(inode); /* We must guarantee clearing of inode... */ @@ -1186,6 +1194,13 @@ page = grab_cache_page_write_begin(mapping, index); if (!page) return -ENOMEM; + /* + * The same as page allocation, we prealloc buffer heads before + * starting the handle. + */ + if (!page_has_buffers(page)) + create_empty_buffers(page, inode->i_sb->s_blocksize, 0); + unlock_page(page); retry_journal: @@ -1300,7 +1315,8 @@ trace_ext4_write_end(inode, pos, len, copied); - if (ext4_has_inline_data(inode)) + if (ext4_has_inline_data(inode) && + ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA)) return ext4_write_inline_data_end(inode, pos, len, copied, page); copied = block_write_end(file, mapping, pos, len, copied, page, fsdata); @@ -1571,7 +1587,14 @@ ext4_lblk_t start, last; start = index << (PAGE_SHIFT - inode->i_blkbits); last = end << (PAGE_SHIFT - inode->i_blkbits); + + /* + * avoid racing with extent status tree scans made by + * ext4_insert_delayed_block() + */ + down_write(&EXT4_I(inode)->i_data_sem); ext4_es_remove_extent(inode, start, last - start + 1); + up_write(&EXT4_I(inode)->i_data_sem); } pagevec_init(&pvec); @@ -3140,13 +3163,15 @@ { struct inode *inode = mapping->host; journal_t *journal; + sector_t ret = 0; int err; + inode_lock_shared(inode); /* * We can get here for an inline file via the FIBMAP ioctl */ if (ext4_has_inline_data(inode)) - return 0; + goto out; if (mapping_tagged(mapping, PAGECACHE_TAG_DIRTY) && test_opt(inode->i_sb, DELALLOC)) { @@ -3185,10 +3210,14 @@ jbd2_journal_unlock_updates(journal); if (err) - return 0; + goto out; } - return iomap_bmap(mapping, block, &ext4_iomap_ops); + ret = iomap_bmap(mapping, block, &ext4_iomap_ops); + +out: + inode_unlock_shared(inode); + return ret; } static int ext4_read_folio(struct file *file, struct folio *folio) @@ -4201,7 +4230,8 @@ /* If we zero-out tail of the page, we have to create jinode for jbd2 */ if (inode->i_size & (inode->i_sb->s_blocksize - 1)) { - if (ext4_inode_attach_jinode(inode) < 0) + err = ext4_inode_attach_jinode(inode); + if (err) goto out_trace; } @@ -4449,9 +4479,17 @@ inodes_per_block = EXT4_SB(sb)->s_inodes_per_block; inode_offset = ((ino - 1) % EXT4_INODES_PER_GROUP(sb)); - block = ext4_inode_table(sb, gdp) + (inode_offset / inodes_per_block); iloc->offset = (inode_offset % inodes_per_block) * EXT4_INODE_SIZE(sb); + block = ext4_inode_table(sb, gdp); + if ((block <= le32_to_cpu(EXT4_SB(sb)->s_es->s_first_data_block)) || + (block >= ext4_blocks_count(EXT4_SB(sb)->s_es))) { + ext4_error(sb, "Invalid inode table block %llu in " + "block_group %u", block, iloc->block_group); + return -EFSCORRUPTED; + } + block += (inode_offset / inodes_per_block); + bh = sb_getblk(sb, block); if (unlikely(!bh)) return -ENOMEM; @@ -4685,8 +4723,7 @@ __le32 *magic = (void *)raw_inode + EXT4_GOOD_OLD_INODE_SIZE + ei->i_extra_isize; - if (EXT4_GOOD_OLD_INODE_SIZE + ei->i_extra_isize + sizeof(__le32) <= - EXT4_INODE_SIZE(inode->i_sb) && + if (EXT4_INODE_HAS_XATTR_SPACE(inode) && *magic == cpu_to_le32(EXT4_XATTR_MAGIC)) { ext4_set_inode_state(inode, EXT4_STATE_XATTR); return ext4_find_inline_data_nolock(inode); @@ -5021,8 +5058,14 @@ if (IS_CASEFOLDED(inode) && !ext4_has_feature_casefold(inode->i_sb)) ext4_error_inode(inode, function, line, 0, "casefold flag without casefold feature"); - brelse(iloc.bh); + if (is_bad_inode(inode) && !(flags & EXT4_IGET_BAD)) { + ext4_error_inode(inode, function, line, 0, + "bad inode without EXT4_IGET_BAD flag"); + ret = -EUCLEAN; + goto bad_inode; + } + brelse(iloc.bh); unlock_new_inode(inode); return inode; @@ -5213,7 +5256,7 @@ if (EXT4_SB(inode->i_sb)->s_journal) { if (ext4_journal_current_handle()) { - jbd_debug(1, "called recursively, non-PF_MEMALLOC!\n"); + ext4_debug("called recursively, non-PF_MEMALLOC!\n"); dump_stack(); return -EIO; } @@ -5326,6 +5369,7 @@ int error, rc = 0; int orphan = 0; const unsigned int ia_valid = attr->ia_valid; + bool inc_ivers = true; if (unlikely(ext4_forced_shutdown(EXT4_SB(inode->i_sb)))) return -EIO; @@ -5411,8 +5455,8 @@ return -EINVAL; } - if (IS_I_VERSION(inode) && attr->ia_size != inode->i_size) - inode_inc_iversion(inode); + if (attr->ia_size == inode->i_size) + inc_ivers = false; if (shrink) { if (ext4_should_order_data(inode)) { @@ -5514,6 +5558,8 @@ } if (!error) { + if (inc_ivers) + inode_inc_iversion(inode); setattr_copy(mnt_userns, inode, attr); mark_inode_dirty(inode); } @@ -5717,9 +5763,6 @@ } ext4_fc_track_inode(handle, inode); - if (IS_I_VERSION(inode)) - inode_inc_iversion(inode); - /* the do_update_inode consumes one bh->b_count */ get_bh(iloc->bh); @@ -5795,6 +5838,14 @@ return 0; } + /* + * We may need to allocate external xattr block so we need quotas + * initialized. Here we can be called with various locks held so we + * cannot affort to initialize quotas ourselves. So just bail. + */ + if (dquot_initialize_needed(inode)) + return -EAGAIN; + /* try to expand with EAs present */ error = ext4_expand_extra_isize_ea(inode, new_extra_isize, raw_inode, handle); --- linux-gcp-5.19.0.orig/fs/ext4/ioctl.c +++ linux-gcp-5.19.0/fs/ext4/ioctl.c @@ -135,9 +135,8 @@ if (ext4_has_metadata_csum(sb) && es->s_checksum != ext4_superblock_csum(sb, es)) { ext4_msg(sb, KERN_ERR, "Invalid checksum for backup " - "superblock %llu\n", sb_block); + "superblock %llu", sb_block); unlock_buffer(bh); - err = -EFSBADCRC; goto out_bh; } func(es, arg); @@ -365,7 +364,8 @@ blkcnt_t blocks; unsigned short bytes; - inode_bl = ext4_iget(sb, EXT4_BOOT_LOADER_INO, EXT4_IGET_SPECIAL); + inode_bl = ext4_iget(sb, EXT4_BOOT_LOADER_INO, + EXT4_IGET_SPECIAL | EXT4_IGET_BAD); if (IS_ERR(inode_bl)) return PTR_ERR(inode_bl); ei_bl = EXT4_I(inode_bl); @@ -415,7 +415,7 @@ /* Protect extent tree against block allocations via delalloc */ ext4_double_down_write_data_sem(inode, inode_bl); - if (inode_bl->i_nlink == 0) { + if (is_bad_inode(inode_bl) || !S_ISREG(inode_bl->i_mode)) { /* this inode has never been used as a BOOT_LOADER */ set_nlink(inode_bl, 1); i_uid_write(inode_bl, 0); @@ -442,6 +442,7 @@ swap_inode_data(inode, inode_bl); inode->i_ctime = inode_bl->i_ctime = current_time(inode); + inode_inc_iversion(inode); inode->i_generation = prandom_u32(); inode_bl->i_generation = prandom_u32(); @@ -655,6 +656,7 @@ ext4_set_inode_flags(inode, false); inode->i_ctime = current_time(inode); + inode_inc_iversion(inode); err = ext4_mark_iloc_dirty(handle, inode, &iloc); flags_err: @@ -720,6 +722,10 @@ if (ext4_is_quota_file(inode)) return err; + err = dquot_initialize(inode); + if (err) + return err; + err = ext4_get_inode_loc(inode, &iloc); if (err) return err; @@ -735,10 +741,6 @@ brelse(iloc.bh); } - err = dquot_initialize(inode); - if (err) - return err; - handle = ext4_journal_start(inode, EXT4_HT_QUOTA, EXT4_QUOTA_INIT_BLOCKS(sb) + EXT4_QUOTA_DEL_BLOCKS(sb) + 3); @@ -765,6 +767,7 @@ EXT4_I(inode)->i_projid = kprojid; inode->i_ctime = current_time(inode); + inode_inc_iversion(inode); out_dirty: rc = ext4_mark_iloc_dirty(handle, inode, &iloc); if (!err) @@ -1178,6 +1181,7 @@ err = ext4_reserve_inode_write(handle, inode, &iloc); if (err == 0) { inode->i_ctime = current_time(inode); + inode_inc_iversion(inode); inode->i_generation = generation; err = ext4_mark_iloc_dirty(handle, inode, &iloc); } --- linux-gcp-5.19.0.orig/fs/ext4/mballoc.c +++ linux-gcp-5.19.0/fs/ext4/mballoc.c @@ -140,13 +140,15 @@ * number of buddy bitmap orders possible) number of lists. Group-infos are * placed in appropriate lists. * - * 2) Average fragment size rb tree (sbi->s_mb_avg_fragment_size_root) + * 2) Average fragment size lists (sbi->s_mb_avg_fragment_size) * - * Locking: sbi->s_mb_rb_lock (rwlock) + * Locking: sbi->s_mb_avg_fragment_size_locks(array of rw locks) * - * This is a red black tree consisting of group infos and the tree is sorted - * by average fragment sizes (which is calculated as ext4_group_info->bb_free - * / ext4_group_info->bb_fragments). + * This is an array of lists where in the i-th list there are groups with + * average fragment size >= 2^i and < 2^(i+1). The average fragment size + * is computed as ext4_group_info->bb_free / ext4_group_info->bb_fragments. + * Note that we don't bother with a special list for completely empty groups + * so we only have MB_NUM_ORDERS(sb) lists. * * When "mb_optimize_scan" mount option is set, mballoc consults the above data * structures to decide the order in which groups are to be traversed for @@ -160,7 +162,8 @@ * * At CR = 1, we only consider groups where average fragment size > request * size. So, we lookup a group which has average fragment size just above or - * equal to request size using our rb tree (data structure 2) in O(log N) time. + * equal to request size using our average fragment size group lists (data + * structure 2) in O(1) time. * * If "mb_optimize_scan" mount option is not set, mballoc traverses groups in * linear order which requires O(N) search time for each CR 0 and CR 1 phase. @@ -802,65 +805,51 @@ } } -static void ext4_mb_rb_insert(struct rb_root *root, struct rb_node *new, - int (*cmp)(struct rb_node *, struct rb_node *)) +static int mb_avg_fragment_size_order(struct super_block *sb, ext4_grpblk_t len) { - struct rb_node **iter = &root->rb_node, *parent = NULL; + int order; - while (*iter) { - parent = *iter; - if (cmp(new, *iter) > 0) - iter = &((*iter)->rb_left); - else - iter = &((*iter)->rb_right); - } - - rb_link_node(new, parent, iter); - rb_insert_color(new, root); -} - -static int -ext4_mb_avg_fragment_size_cmp(struct rb_node *rb1, struct rb_node *rb2) -{ - struct ext4_group_info *grp1 = rb_entry(rb1, - struct ext4_group_info, - bb_avg_fragment_size_rb); - struct ext4_group_info *grp2 = rb_entry(rb2, - struct ext4_group_info, - bb_avg_fragment_size_rb); - int num_frags_1, num_frags_2; - - num_frags_1 = grp1->bb_fragments ? - grp1->bb_free / grp1->bb_fragments : 0; - num_frags_2 = grp2->bb_fragments ? - grp2->bb_free / grp2->bb_fragments : 0; - - return (num_frags_2 - num_frags_1); + /* + * We don't bother with a special lists groups with only 1 block free + * extents and for completely empty groups. + */ + order = fls(len) - 2; + if (order < 0) + return 0; + if (order == MB_NUM_ORDERS(sb)) + order--; + return order; } -/* - * Reinsert grpinfo into the avg_fragment_size tree with new average - * fragment size. - */ +/* Move group to appropriate avg_fragment_size list */ static void mb_update_avg_fragment_size(struct super_block *sb, struct ext4_group_info *grp) { struct ext4_sb_info *sbi = EXT4_SB(sb); + int new_order; if (!test_opt2(sb, MB_OPTIMIZE_SCAN) || grp->bb_free == 0) return; - write_lock(&sbi->s_mb_rb_lock); - if (!RB_EMPTY_NODE(&grp->bb_avg_fragment_size_rb)) { - rb_erase(&grp->bb_avg_fragment_size_rb, - &sbi->s_mb_avg_fragment_size_root); - RB_CLEAR_NODE(&grp->bb_avg_fragment_size_rb); - } - - ext4_mb_rb_insert(&sbi->s_mb_avg_fragment_size_root, - &grp->bb_avg_fragment_size_rb, - ext4_mb_avg_fragment_size_cmp); - write_unlock(&sbi->s_mb_rb_lock); + new_order = mb_avg_fragment_size_order(sb, + grp->bb_free / grp->bb_fragments); + if (new_order == grp->bb_avg_fragment_size_order) + return; + + if (grp->bb_avg_fragment_size_order != -1) { + write_lock(&sbi->s_mb_avg_fragment_size_locks[ + grp->bb_avg_fragment_size_order]); + list_del(&grp->bb_avg_fragment_size_node); + write_unlock(&sbi->s_mb_avg_fragment_size_locks[ + grp->bb_avg_fragment_size_order]); + } + grp->bb_avg_fragment_size_order = new_order; + write_lock(&sbi->s_mb_avg_fragment_size_locks[ + grp->bb_avg_fragment_size_order]); + list_add_tail(&grp->bb_avg_fragment_size_node, + &sbi->s_mb_avg_fragment_size[grp->bb_avg_fragment_size_order]); + write_unlock(&sbi->s_mb_avg_fragment_size_locks[ + grp->bb_avg_fragment_size_order]); } /* @@ -909,86 +898,55 @@ *new_cr = 1; } else { *group = grp->bb_group; - ac->ac_last_optimal_group = *group; ac->ac_flags |= EXT4_MB_CR0_OPTIMIZED; } } /* - * Choose next group by traversing average fragment size tree. Updates *new_cr - * if cr lvel needs an update. Sets EXT4_MB_SEARCH_NEXT_LINEAR to indicate that - * the linear search should continue for one iteration since there's lock - * contention on the rb tree lock. + * Choose next group by traversing average fragment size list of suitable + * order. Updates *new_cr if cr level needs an update. */ static void ext4_mb_choose_next_group_cr1(struct ext4_allocation_context *ac, int *new_cr, ext4_group_t *group, ext4_group_t ngroups) { struct ext4_sb_info *sbi = EXT4_SB(ac->ac_sb); - int avg_fragment_size, best_so_far; - struct rb_node *node, *found; - struct ext4_group_info *grp; - - /* - * If there is contention on the lock, instead of waiting for the lock - * to become available, just continue searching lineraly. We'll resume - * our rb tree search later starting at ac->ac_last_optimal_group. - */ - if (!read_trylock(&sbi->s_mb_rb_lock)) { - ac->ac_flags |= EXT4_MB_SEARCH_NEXT_LINEAR; - return; - } + struct ext4_group_info *grp = NULL, *iter; + int i; if (unlikely(ac->ac_flags & EXT4_MB_CR1_OPTIMIZED)) { if (sbi->s_mb_stats) atomic_inc(&sbi->s_bal_cr1_bad_suggestions); - /* We have found something at CR 1 in the past */ - grp = ext4_get_group_info(ac->ac_sb, ac->ac_last_optimal_group); - for (found = rb_next(&grp->bb_avg_fragment_size_rb); found != NULL; - found = rb_next(found)) { - grp = rb_entry(found, struct ext4_group_info, - bb_avg_fragment_size_rb); + } + + for (i = mb_avg_fragment_size_order(ac->ac_sb, ac->ac_g_ex.fe_len); + i < MB_NUM_ORDERS(ac->ac_sb); i++) { + if (list_empty(&sbi->s_mb_avg_fragment_size[i])) + continue; + read_lock(&sbi->s_mb_avg_fragment_size_locks[i]); + if (list_empty(&sbi->s_mb_avg_fragment_size[i])) { + read_unlock(&sbi->s_mb_avg_fragment_size_locks[i]); + continue; + } + list_for_each_entry(iter, &sbi->s_mb_avg_fragment_size[i], + bb_avg_fragment_size_node) { if (sbi->s_mb_stats) atomic64_inc(&sbi->s_bal_cX_groups_considered[1]); - if (likely(ext4_mb_good_group(ac, grp->bb_group, 1))) + if (likely(ext4_mb_good_group(ac, iter->bb_group, 1))) { + grp = iter; break; - } - goto done; - } - - node = sbi->s_mb_avg_fragment_size_root.rb_node; - best_so_far = 0; - found = NULL; - - while (node) { - grp = rb_entry(node, struct ext4_group_info, - bb_avg_fragment_size_rb); - avg_fragment_size = 0; - if (ext4_mb_good_group(ac, grp->bb_group, 1)) { - avg_fragment_size = grp->bb_fragments ? - grp->bb_free / grp->bb_fragments : 0; - if (!best_so_far || avg_fragment_size < best_so_far) { - best_so_far = avg_fragment_size; - found = node; } } - if (avg_fragment_size > ac->ac_g_ex.fe_len) - node = node->rb_right; - else - node = node->rb_left; + read_unlock(&sbi->s_mb_avg_fragment_size_locks[i]); + if (grp) + break; } -done: - if (found) { - grp = rb_entry(found, struct ext4_group_info, - bb_avg_fragment_size_rb); + if (grp) { *group = grp->bb_group; ac->ac_flags |= EXT4_MB_CR1_OPTIMIZED; } else { *new_cr = 2; } - - read_unlock(&sbi->s_mb_rb_lock); - ac->ac_last_optimal_group = *group; } static inline int should_optimize_scan(struct ext4_allocation_context *ac) @@ -1017,11 +975,6 @@ goto inc_and_return; } - if (ac->ac_flags & EXT4_MB_SEARCH_NEXT_LINEAR) { - ac->ac_flags &= ~EXT4_MB_SEARCH_NEXT_LINEAR; - goto inc_and_return; - } - return group; inc_and_return: /* @@ -1049,8 +1002,10 @@ { *new_cr = ac->ac_criteria; - if (!should_optimize_scan(ac) || ac->ac_groups_linear_remaining) + if (!should_optimize_scan(ac) || ac->ac_groups_linear_remaining) { + *group = next_linear_group(ac, *group, ngroups); return; + } if (*new_cr == 0) { ext4_mb_choose_next_group_cr0(ac, new_cr, group, ngroups); @@ -1075,23 +1030,25 @@ struct ext4_sb_info *sbi = EXT4_SB(sb); int i; - if (test_opt2(sb, MB_OPTIMIZE_SCAN) && grp->bb_largest_free_order >= 0) { + for (i = MB_NUM_ORDERS(sb) - 1; i >= 0; i--) + if (grp->bb_counters[i] > 0) + break; + /* No need to move between order lists? */ + if (!test_opt2(sb, MB_OPTIMIZE_SCAN) || + i == grp->bb_largest_free_order) { + grp->bb_largest_free_order = i; + return; + } + + if (grp->bb_largest_free_order >= 0) { write_lock(&sbi->s_mb_largest_free_orders_locks[ grp->bb_largest_free_order]); list_del_init(&grp->bb_largest_free_order_node); write_unlock(&sbi->s_mb_largest_free_orders_locks[ grp->bb_largest_free_order]); } - grp->bb_largest_free_order = -1; /* uninit */ - - for (i = MB_NUM_ORDERS(sb) - 1; i >= 0; i--) { - if (grp->bb_counters[i] > 0) { - grp->bb_largest_free_order = i; - break; - } - } - if (test_opt2(sb, MB_OPTIMIZE_SCAN) && - grp->bb_largest_free_order >= 0 && grp->bb_free) { + grp->bb_largest_free_order = i; + if (grp->bb_largest_free_order >= 0 && grp->bb_free) { write_lock(&sbi->s_mb_largest_free_orders_locks[ grp->bb_largest_free_order]); list_add_tail(&grp->bb_largest_free_order_node, @@ -1148,13 +1105,13 @@ EXT4_GROUP_INFO_BBITMAP_CORRUPT); } mb_set_largest_free_order(sb, grp); + mb_update_avg_fragment_size(sb, grp); clear_bit(EXT4_GROUP_INFO_NEED_INIT_BIT, &(grp->bb_state)); period = get_cycles() - period; atomic_inc(&sbi->s_mb_buddies_generated); atomic64_add(period, &sbi->s_mb_generation_time); - mb_update_avg_fragment_size(sb, grp); } /* The buddy information is attached the buddy cache inode @@ -2630,7 +2587,7 @@ ext4_mb_regular_allocator(struct ext4_allocation_context *ac) { ext4_group_t prefetch_grp = 0, ngroups, group, i; - int cr = -1; + int cr = -1, new_cr; int err = 0, first_err = 0; unsigned int nr = 0, prefetch_ios = 0; struct ext4_sb_info *sbi; @@ -2701,17 +2658,14 @@ * from the goal value specified */ group = ac->ac_g_ex.fe_group; - ac->ac_last_optimal_group = group; ac->ac_groups_linear_remaining = sbi->s_mb_max_linear_groups; prefetch_grp = group; - for (i = 0; i < ngroups; group = next_linear_group(ac, group, ngroups), - i++) { - int ret = 0, new_cr; + for (i = 0, new_cr = cr; i < ngroups; i++, + ext4_mb_choose_next_group(ac, &new_cr, &group, ngroups)) { + int ret = 0; cond_resched(); - - ext4_mb_choose_next_group(ac, &new_cr, &group, ngroups); if (new_cr != cr) { cr = new_cr; goto repeat; @@ -2985,9 +2939,7 @@ struct super_block *sb = pde_data(file_inode(seq->file)); unsigned long position; - read_lock(&EXT4_SB(sb)->s_mb_rb_lock); - - if (*pos < 0 || *pos >= MB_NUM_ORDERS(sb) + 1) + if (*pos < 0 || *pos >= 2*MB_NUM_ORDERS(sb)) return NULL; position = *pos + 1; return (void *) ((unsigned long) position); @@ -2999,7 +2951,7 @@ unsigned long position; ++*pos; - if (*pos < 0 || *pos >= MB_NUM_ORDERS(sb) + 1) + if (*pos < 0 || *pos >= 2*MB_NUM_ORDERS(sb)) return NULL; position = *pos + 1; return (void *) ((unsigned long) position); @@ -3011,29 +2963,22 @@ struct ext4_sb_info *sbi = EXT4_SB(sb); unsigned long position = ((unsigned long) v); struct ext4_group_info *grp; - struct rb_node *n; - unsigned int count, min, max; + unsigned int count; position--; if (position >= MB_NUM_ORDERS(sb)) { - seq_puts(seq, "fragment_size_tree:\n"); - n = rb_first(&sbi->s_mb_avg_fragment_size_root); - if (!n) { - seq_puts(seq, "\ttree_min: 0\n\ttree_max: 0\n\ttree_nodes: 0\n"); - return 0; - } - grp = rb_entry(n, struct ext4_group_info, bb_avg_fragment_size_rb); - min = grp->bb_fragments ? grp->bb_free / grp->bb_fragments : 0; - count = 1; - while (rb_next(n)) { - count++; - n = rb_next(n); - } - grp = rb_entry(n, struct ext4_group_info, bb_avg_fragment_size_rb); - max = grp->bb_fragments ? grp->bb_free / grp->bb_fragments : 0; + position -= MB_NUM_ORDERS(sb); + if (position == 0) + seq_puts(seq, "avg_fragment_size_lists:\n"); - seq_printf(seq, "\ttree_min: %u\n\ttree_max: %u\n\ttree_nodes: %u\n", - min, max, count); + count = 0; + read_lock(&sbi->s_mb_avg_fragment_size_locks[position]); + list_for_each_entry(grp, &sbi->s_mb_avg_fragment_size[position], + bb_avg_fragment_size_node) + count++; + read_unlock(&sbi->s_mb_avg_fragment_size_locks[position]); + seq_printf(seq, "\tlist_order_%u_groups: %u\n", + (unsigned int)position, count); return 0; } @@ -3043,9 +2988,11 @@ seq_puts(seq, "max_free_order_lists:\n"); } count = 0; + read_lock(&sbi->s_mb_largest_free_orders_locks[position]); list_for_each_entry(grp, &sbi->s_mb_largest_free_orders[position], bb_largest_free_order_node) count++; + read_unlock(&sbi->s_mb_largest_free_orders_locks[position]); seq_printf(seq, "\tlist_order_%u_groups: %u\n", (unsigned int)position, count); @@ -3053,11 +3000,7 @@ } static void ext4_mb_seq_structs_summary_stop(struct seq_file *seq, void *v) -__releases(&EXT4_SB(sb)->s_mb_rb_lock) { - struct super_block *sb = pde_data(file_inode(seq->file)); - - read_unlock(&EXT4_SB(sb)->s_mb_rb_lock); } const struct seq_operations ext4_mb_seq_structs_summary_ops = { @@ -3170,8 +3113,9 @@ init_rwsem(&meta_group_info[i]->alloc_sem); meta_group_info[i]->bb_free_root = RB_ROOT; INIT_LIST_HEAD(&meta_group_info[i]->bb_largest_free_order_node); - RB_CLEAR_NODE(&meta_group_info[i]->bb_avg_fragment_size_rb); + INIT_LIST_HEAD(&meta_group_info[i]->bb_avg_fragment_size_node); meta_group_info[i]->bb_largest_free_order = -1; /* uninit */ + meta_group_info[i]->bb_avg_fragment_size_order = -1; /* uninit */ meta_group_info[i]->bb_group = group; mb_group_bb_bitmap_alloc(sb, meta_group_info[i], group); @@ -3420,7 +3364,24 @@ i++; } while (i < MB_NUM_ORDERS(sb)); - sbi->s_mb_avg_fragment_size_root = RB_ROOT; + sbi->s_mb_avg_fragment_size = + kmalloc_array(MB_NUM_ORDERS(sb), sizeof(struct list_head), + GFP_KERNEL); + if (!sbi->s_mb_avg_fragment_size) { + ret = -ENOMEM; + goto out; + } + sbi->s_mb_avg_fragment_size_locks = + kmalloc_array(MB_NUM_ORDERS(sb), sizeof(rwlock_t), + GFP_KERNEL); + if (!sbi->s_mb_avg_fragment_size_locks) { + ret = -ENOMEM; + goto out; + } + for (i = 0; i < MB_NUM_ORDERS(sb); i++) { + INIT_LIST_HEAD(&sbi->s_mb_avg_fragment_size[i]); + rwlock_init(&sbi->s_mb_avg_fragment_size_locks[i]); + } sbi->s_mb_largest_free_orders = kmalloc_array(MB_NUM_ORDERS(sb), sizeof(struct list_head), GFP_KERNEL); @@ -3439,7 +3400,6 @@ INIT_LIST_HEAD(&sbi->s_mb_largest_free_orders[i]); rwlock_init(&sbi->s_mb_largest_free_orders_locks[i]); } - rwlock_init(&sbi->s_mb_rb_lock); spin_lock_init(&sbi->s_md_lock); sbi->s_mb_free_pending = 0; @@ -3510,6 +3470,8 @@ free_percpu(sbi->s_locality_groups); sbi->s_locality_groups = NULL; out: + kfree(sbi->s_mb_avg_fragment_size); + kfree(sbi->s_mb_avg_fragment_size_locks); kfree(sbi->s_mb_largest_free_orders); kfree(sbi->s_mb_largest_free_orders_locks); kfree(sbi->s_mb_offsets); @@ -3576,6 +3538,8 @@ kvfree(group_info); rcu_read_unlock(); } + kfree(sbi->s_mb_avg_fragment_size); + kfree(sbi->s_mb_avg_fragment_size_locks); kfree(sbi->s_mb_largest_free_orders); kfree(sbi->s_mb_largest_free_orders_locks); kfree(sbi->s_mb_offsets); @@ -5187,6 +5151,7 @@ struct ext4_sb_info *sbi = EXT4_SB(ac->ac_sb); int bsbits = ac->ac_sb->s_blocksize_bits; loff_t size, isize; + bool inode_pa_eligible, group_pa_eligible; if (!(ac->ac_flags & EXT4_MB_HINT_DATA)) return; @@ -5194,25 +5159,27 @@ if (unlikely(ac->ac_flags & EXT4_MB_HINT_GOAL_ONLY)) return; + group_pa_eligible = sbi->s_mb_group_prealloc > 0; + inode_pa_eligible = true; size = ac->ac_o_ex.fe_logical + EXT4_C2B(sbi, ac->ac_o_ex.fe_len); isize = (i_size_read(ac->ac_inode) + ac->ac_sb->s_blocksize - 1) >> bsbits; + /* No point in using inode preallocation for closed files */ if ((size == isize) && !ext4_fs_is_busy(sbi) && - !inode_is_open_for_write(ac->ac_inode)) { - ac->ac_flags |= EXT4_MB_HINT_NOPREALLOC; - return; - } - - if (sbi->s_mb_group_prealloc <= 0) { - ac->ac_flags |= EXT4_MB_STREAM_ALLOC; - return; - } + !inode_is_open_for_write(ac->ac_inode)) + inode_pa_eligible = false; - /* don't use group allocation for large files */ size = max(size, isize); - if (size > sbi->s_mb_stream_request) { - ac->ac_flags |= EXT4_MB_STREAM_ALLOC; + /* Don't use group allocation for large files */ + if (size > sbi->s_mb_stream_request) + group_pa_eligible = false; + + if (!group_pa_eligible) { + if (inode_pa_eligible) + ac->ac_flags |= EXT4_MB_STREAM_ALLOC; + else + ac->ac_flags |= EXT4_MB_HINT_NOPREALLOC; return; } @@ -5559,6 +5526,7 @@ ext4_fsblk_t block = 0; unsigned int inquota = 0; unsigned int reserv_clstrs = 0; + int retries = 0; u64 seq; might_sleep(); @@ -5661,7 +5629,8 @@ ar->len = ac->ac_b_ex.fe_len; } } else { - if (ext4_mb_discard_preallocations_should_retry(sb, ac, &seq)) + if (++retries < 3 && + ext4_mb_discard_preallocations_should_retry(sb, ac, &seq)) goto repeat; /* * If block allocation fails then the pa allocated above @@ -5928,6 +5897,15 @@ sbi = EXT4_SB(sb); + if (!(flags & EXT4_FREE_BLOCKS_VALIDATED) && + !ext4_inode_block_valid(inode, block, count)) { + ext4_error(sb, "Freeing blocks in system zone - " + "Block = %llu, count = %lu", block, count); + /* err = 0. ext4_std_error should be a no op */ + goto error_return; + } + flags |= EXT4_FREE_BLOCKS_VALIDATED; + do_more: overflow = 0; ext4_get_group_no_and_offset(sb, block, &block_group, &bit); @@ -5944,6 +5922,8 @@ overflow = EXT4_C2B(sbi, bit) + count - EXT4_BLOCKS_PER_GROUP(sb); count -= overflow; + /* The range changed so it's no longer validated */ + flags &= ~EXT4_FREE_BLOCKS_VALIDATED; } count_clusters = EXT4_NUM_B2C(sbi, count); bitmap_bh = ext4_read_block_bitmap(sb, block_group); @@ -5958,7 +5938,8 @@ goto error_return; } - if (!ext4_inode_block_valid(inode, block, count)) { + if (!(flags & EXT4_FREE_BLOCKS_VALIDATED) && + !ext4_inode_block_valid(inode, block, count)) { ext4_error(sb, "Freeing blocks in system zone - " "Block = %llu, count = %lu", block, count); /* err = 0. ext4_std_error should be a no op */ @@ -6081,6 +6062,8 @@ block += count; count = overflow; put_bh(bitmap_bh); + /* The range changed so it's no longer validated */ + flags &= ~EXT4_FREE_BLOCKS_VALIDATED; goto do_more; } error_return: @@ -6127,6 +6110,7 @@ "block = %llu, count = %lu", block, count); return; } + flags |= EXT4_FREE_BLOCKS_VALIDATED; ext4_debug("freeing block %llu\n", block); trace_ext4_free_blocks(inode, block, count, flags); @@ -6158,6 +6142,8 @@ block -= overflow; count += overflow; } + /* The range changed so it's no longer validated */ + flags &= ~EXT4_FREE_BLOCKS_VALIDATED; } overflow = EXT4_LBLK_COFF(sbi, count); if (overflow) { @@ -6168,6 +6154,8 @@ return; } else count += sbi->s_cluster_ratio - overflow; + /* The range changed so it's no longer validated */ + flags &= ~EXT4_FREE_BLOCKS_VALIDATED; } if (!bh && (flags & EXT4_FREE_BLOCKS_FORGET)) { --- linux-gcp-5.19.0.orig/fs/ext4/mballoc.h +++ linux-gcp-5.19.0/fs/ext4/mballoc.h @@ -178,7 +178,6 @@ /* copy of the best found extent taken before preallocation efforts */ struct ext4_free_extent ac_f_ex; - ext4_group_t ac_last_optimal_group; __u32 ac_groups_considered; __u32 ac_flags; /* allocation hints */ __u16 ac_groups_scanned; --- linux-gcp-5.19.0.orig/fs/ext4/migrate.c +++ linux-gcp-5.19.0/fs/ext4/migrate.c @@ -417,7 +417,7 @@ struct inode *tmp_inode = NULL; struct migrate_struct lb; unsigned long max_entries; - __u32 goal; + __u32 goal, tmp_csum_seed; uid_t owner[2]; /* @@ -425,7 +425,8 @@ * already is extent-based, error out. */ if (!ext4_has_feature_extents(inode->i_sb) || - (ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS))) + ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS) || + ext4_has_inline_data(inode)) return -EINVAL; if (S_ISLNK(inode->i_mode) && inode->i_blocks == 0) @@ -465,6 +466,7 @@ * the migration. */ ei = EXT4_I(inode); + tmp_csum_seed = EXT4_I(tmp_inode)->i_csum_seed; EXT4_I(tmp_inode)->i_csum_seed = ei->i_csum_seed; i_size_write(tmp_inode, i_size_read(inode)); /* @@ -575,6 +577,7 @@ * the inode is not visible to user space. */ tmp_inode->i_blocks = 0; + EXT4_I(tmp_inode)->i_csum_seed = tmp_csum_seed; /* Reset the extent details */ ext4_ext_tree_init(handle, tmp_inode); --- linux-gcp-5.19.0.orig/fs/ext4/namei.c +++ linux-gcp-5.19.0/fs/ext4/namei.c @@ -54,6 +54,7 @@ struct inode *inode, ext4_lblk_t *block) { + struct ext4_map_blocks map; struct buffer_head *bh; int err; @@ -63,21 +64,41 @@ return ERR_PTR(-ENOSPC); *block = inode->i_size >> inode->i_sb->s_blocksize_bits; + map.m_lblk = *block; + map.m_len = 1; + + /* + * We're appending new directory block. Make sure the block is not + * allocated yet, otherwise we will end up corrupting the + * directory. + */ + err = ext4_map_blocks(NULL, inode, &map, 0); + if (err < 0) + return ERR_PTR(err); + if (err) { + EXT4_ERROR_INODE(inode, "Logical block already allocated"); + return ERR_PTR(-EFSCORRUPTED); + } bh = ext4_bread(handle, inode, *block, EXT4_GET_BLOCKS_CREATE); if (IS_ERR(bh)) return bh; inode->i_size += inode->i_sb->s_blocksize; EXT4_I(inode)->i_disksize = inode->i_size; + err = ext4_mark_inode_dirty(handle, inode); + if (err) + goto out; BUFFER_TRACE(bh, "get_write_access"); err = ext4_journal_get_write_access(handle, inode->i_sb, bh, EXT4_JTR_NONE); - if (err) { - brelse(bh); - ext4_std_error(inode->i_sb, err); - return ERR_PTR(err); - } + if (err) + goto out; return bh; + +out: + brelse(bh); + ext4_std_error(inode->i_sb, err); + return ERR_PTR(err); } static int ext4_dx_csum_verify(struct inode *inode, @@ -110,6 +131,13 @@ struct ext4_dir_entry *dirent; int is_dx_block = 0; + if (block >= inode->i_size >> inode->i_blkbits) { + ext4_error_inode(inode, func, line, block, + "Attempting to read directory block (%u) that is past i_size (%llu)", + block, inode->i_size); + return ERR_PTR(-EFSCORRUPTED); + } + if (ext4_simulate_fail(inode->i_sb, EXT4_SIM_DIRBLOCK_EIO)) bh = ERR_PTR(-EIO); else @@ -2231,8 +2259,16 @@ memset(de, 0, len); /* wipe old data */ de = (struct ext4_dir_entry_2 *) data2; top = data2 + len; - while ((char *)(de2 = ext4_next_entry(de, blocksize)) < top) + while ((char *)(de2 = ext4_next_entry(de, blocksize)) < top) { + if (ext4_check_dir_entry(dir, NULL, de, bh2, data2, len, + (data2 + (blocksize - csum_size) - + (char *) de))) { + brelse(bh2); + brelse(bh); + return -EFSCORRUPTED; + } de = de2; + } de->rec_len = ext4_rec_len_to_disk(data2 + (blocksize - csum_size) - (char *) de, blocksize); @@ -3067,11 +3103,8 @@ de = (struct ext4_dir_entry_2 *) (bh->b_data + (offset & (sb->s_blocksize - 1))); if (ext4_check_dir_entry(inode, NULL, de, bh, - bh->b_data, bh->b_size, offset)) { - offset = (offset | (sb->s_blocksize - 1)) + 1; - continue; - } - if (le32_to_cpu(de->inode)) { + bh->b_data, bh->b_size, offset) || + le32_to_cpu(de->inode)) { brelse(bh); return false; } @@ -3171,14 +3204,20 @@ return retval; } -int __ext4_unlink(handle_t *handle, struct inode *dir, const struct qstr *d_name, - struct inode *inode) +int __ext4_unlink(struct inode *dir, const struct qstr *d_name, + struct inode *inode, + struct dentry *dentry /* NULL during fast_commit recovery */) { int retval = -ENOENT; struct buffer_head *bh; struct ext4_dir_entry_2 *de; + handle_t *handle; int skip_remove_dentry = 0; + /* + * Keep this outside the transaction; it may have to set up the + * directory's encryption key, which isn't GFP_NOFS-safe. + */ bh = ext4_find_entry(dir, d_name, &de, NULL); if (IS_ERR(bh)) return PTR_ERR(bh); @@ -3195,7 +3234,14 @@ if (EXT4_SB(inode->i_sb)->s_mount_state & EXT4_FC_REPLAY) skip_remove_dentry = 1; else - goto out; + goto out_bh; + } + + handle = ext4_journal_start(dir, EXT4_HT_DIR, + EXT4_DATA_TRANS_BLOCKS(dir->i_sb)); + if (IS_ERR(handle)) { + retval = PTR_ERR(handle); + goto out_bh; } if (IS_DIRSYNC(dir)) @@ -3204,12 +3250,12 @@ if (!skip_remove_dentry) { retval = ext4_delete_entry(handle, dir, de, bh); if (retval) - goto out; + goto out_handle; dir->i_ctime = dir->i_mtime = current_time(dir); ext4_update_dx_flag(dir); retval = ext4_mark_inode_dirty(handle, dir); if (retval) - goto out; + goto out_handle; } else { retval = 0; } @@ -3222,15 +3268,17 @@ ext4_orphan_add(handle, inode); inode->i_ctime = current_time(inode); retval = ext4_mark_inode_dirty(handle, inode); - -out: + if (dentry && !retval) + ext4_fc_track_unlink(handle, dentry); +out_handle: + ext4_journal_stop(handle); +out_bh: brelse(bh); return retval; } static int ext4_unlink(struct inode *dir, struct dentry *dentry) { - handle_t *handle; int retval; if (unlikely(ext4_forced_shutdown(EXT4_SB(dir->i_sb)))) @@ -3248,16 +3296,7 @@ if (retval) goto out_trace; - handle = ext4_journal_start(dir, EXT4_HT_DIR, - EXT4_DATA_TRANS_BLOCKS(dir->i_sb)); - if (IS_ERR(handle)) { - retval = PTR_ERR(handle); - goto out_trace; - } - - retval = __ext4_unlink(handle, dir, &dentry->d_name, d_inode(dentry)); - if (!retval) - ext4_fc_track_unlink(handle, dentry); + retval = __ext4_unlink(dir, &dentry->d_name, d_inode(dentry), dentry); #if IS_ENABLED(CONFIG_UNICODE) /* VFS negative dentries are incompatible with Encoding and * Case-insensitiveness. Eventually we'll want avoid @@ -3268,8 +3307,6 @@ if (IS_CASEFOLDED(dir)) d_invalidate(dentry); #endif - if (handle) - ext4_journal_stop(handle); out_trace: trace_ext4_unlink_exit(dentry, retval); @@ -3761,6 +3798,9 @@ retval = dquot_initialize(old.dir); if (retval) return retval; + retval = dquot_initialize(old.inode); + if (retval) + return retval; retval = dquot_initialize(new.dir); if (retval) return retval; --- linux-gcp-5.19.0.orig/fs/ext4/orphan.c +++ linux-gcp-5.19.0/fs/ext4/orphan.c @@ -181,8 +181,8 @@ } else brelse(iloc.bh); - jbd_debug(4, "superblock will point to %lu\n", inode->i_ino); - jbd_debug(4, "orphan inode %lu will point to %d\n", + ext4_debug("superblock will point to %lu\n", inode->i_ino); + ext4_debug("orphan inode %lu will point to %d\n", inode->i_ino, NEXT_ORPHAN(inode)); out: ext4_std_error(sb, err); @@ -251,7 +251,7 @@ } mutex_lock(&sbi->s_orphan_lock); - jbd_debug(4, "remove inode %lu from orphan list\n", inode->i_ino); + ext4_debug("remove inode %lu from orphan list\n", inode->i_ino); prev = ei->i_orphan.prev; list_del_init(&ei->i_orphan); @@ -267,7 +267,7 @@ ino_next = NEXT_ORPHAN(inode); if (prev == &sbi->s_orphan) { - jbd_debug(4, "superblock will point to %u\n", ino_next); + ext4_debug("superblock will point to %u\n", ino_next); BUFFER_TRACE(sbi->s_sbh, "get_write_access"); err = ext4_journal_get_write_access(handle, inode->i_sb, sbi->s_sbh, EXT4_JTR_NONE); @@ -286,7 +286,7 @@ struct inode *i_prev = &list_entry(prev, struct ext4_inode_info, i_orphan)->vfs_inode; - jbd_debug(4, "orphan inode %lu will point to %u\n", + ext4_debug("orphan inode %lu will point to %u\n", i_prev->i_ino, ino_next); err = ext4_reserve_inode_write(handle, i_prev, &iloc2); if (err) { @@ -332,8 +332,8 @@ ext4_msg(sb, KERN_DEBUG, "%s: truncating inode %lu to %lld bytes", __func__, inode->i_ino, inode->i_size); - jbd_debug(2, "truncating inode %lu to %lld bytes\n", - inode->i_ino, inode->i_size); + ext4_debug("truncating inode %lu to %lld bytes\n", + inode->i_ino, inode->i_size); inode_lock(inode); truncate_inode_pages(inode->i_mapping, inode->i_size); ret = ext4_truncate(inode); @@ -353,8 +353,8 @@ ext4_msg(sb, KERN_DEBUG, "%s: deleting unreferenced inode %lu", __func__, inode->i_ino); - jbd_debug(2, "deleting unreferenced inode %lu\n", - inode->i_ino); + ext4_debug("deleting unreferenced inode %lu\n", + inode->i_ino); (*nr_orphans)++; } iput(inode); /* The delete magic happens here! */ @@ -391,7 +391,7 @@ int inodes_per_ob = ext4_inodes_per_orphan_block(sb); if (!es->s_last_orphan && !oi->of_blocks) { - jbd_debug(4, "no orphan inodes to clean up\n"); + ext4_debug("no orphan inodes to clean up\n"); return; } @@ -412,10 +412,10 @@ /* don't clear list on RO mount w/ errors */ if (es->s_last_orphan && !(s_flags & SB_RDONLY)) { ext4_msg(sb, KERN_INFO, "Errors on filesystem, " - "clearing orphan list.\n"); + "clearing orphan list."); es->s_last_orphan = 0; } - jbd_debug(1, "Skipping orphan recovery on fs with errors.\n"); + ext4_debug("Skipping orphan recovery on fs with errors.\n"); return; } @@ -459,7 +459,7 @@ * so, skip the rest. */ if (EXT4_SB(sb)->s_mount_state & EXT4_ERROR_FS) { - jbd_debug(1, "Skipping orphan recovery on fs with errors.\n"); + ext4_debug("Skipping orphan recovery on fs with errors.\n"); es->s_last_orphan = 0; break; } --- linux-gcp-5.19.0.orig/fs/ext4/resize.c +++ linux-gcp-5.19.0/fs/ext4/resize.c @@ -1107,6 +1107,16 @@ return err; } +static inline void ext4_set_block_group_nr(struct super_block *sb, char *data, + ext4_group_t group) +{ + struct ext4_super_block *es = (struct ext4_super_block *) data; + + es->s_block_group_nr = cpu_to_le16(group); + if (ext4_has_metadata_csum(sb)) + es->s_checksum = ext4_superblock_csum(sb, es); +} + /* * Update the backup copies of the ext4 metadata. These don't need to be part * of the main resize transaction, because e2fsck will re-write them if there @@ -1155,6 +1165,8 @@ while (group < sbi->s_groups_count) { struct buffer_head *bh; ext4_fsblk_t backup_block; + int has_super = ext4_bg_has_super(sb, group); + ext4_fsblk_t first_block = ext4_group_first_block_no(sb, group); /* Out of journal space, and can't get more - abort - so sad */ err = ext4_resize_ensure_credits_batch(handle, 1); @@ -1164,8 +1176,7 @@ if (meta_bg == 0) backup_block = ((ext4_fsblk_t)group) * bpg + blk_off; else - backup_block = (ext4_group_first_block_no(sb, group) + - ext4_bg_has_super(sb, group)); + backup_block = first_block + has_super; bh = sb_getblk(sb, backup_block); if (unlikely(!bh)) { @@ -1183,6 +1194,8 @@ memcpy(bh->b_data, data, size); if (rest) memset(bh->b_data + size, 0, rest); + if (has_super && (backup_block == first_block)) + ext4_set_block_group_nr(sb, bh->b_data, group); set_buffer_uptodate(bh); unlock_buffer(bh); err = ext4_handle_dirty_metadata(handle, NULL, bh); @@ -1457,8 +1470,6 @@ * active. */ ext4_r_blocks_count_set(es, ext4_r_blocks_count(es) + reserved_blocks); - ext4_superblock_csum_set(sb); - unlock_buffer(sbi->s_sbh); /* Update the free space counts */ percpu_counter_add(&sbi->s_freeclusters_counter, @@ -1484,7 +1495,10 @@ * Update the fs overhead information */ ext4_calculate_overhead(sb); + es->s_overhead_clusters = cpu_to_le32(sbi->s_overhead); + ext4_superblock_csum_set(sb); + unlock_buffer(sbi->s_sbh); if (test_opt(sb, DEBUG)) printk(KERN_DEBUG "EXT4-fs: added group %u:" "%llu blocks(%llu free %llu reserved)\n", flex_gd->count, @@ -1568,8 +1582,8 @@ int meta_bg = ext4_has_feature_meta_bg(sb); sector_t old_gdb = 0; - update_backups(sb, sbi->s_sbh->b_blocknr, (char *)es, - sizeof(struct ext4_super_block), 0); + update_backups(sb, ext4_group_first_block_no(sb, 0), + (char *)es, sizeof(struct ext4_super_block), 0); for (; gdb_num <= gdb_num_end; gdb_num++) { struct buffer_head *gdb_bh; @@ -1780,7 +1794,7 @@ if (test_opt(sb, DEBUG)) printk(KERN_DEBUG "EXT4-fs: extended group to %llu " "blocks\n", ext4_blocks_count(es)); - update_backups(sb, EXT4_SB(sb)->s_sbh->b_blocknr, + update_backups(sb, ext4_group_first_block_no(sb, 0), (char *)es, sizeof(struct ext4_super_block), 0); } return err; @@ -1988,6 +2002,16 @@ } brelse(bh); + /* + * For bigalloc, trim the requested size to the nearest cluster + * boundary to avoid creating an unusable filesystem. We do this + * silently, instead of returning an error, to avoid breaking + * callers that blindly resize the filesystem to the full size of + * the underlying block device. + */ + if (ext4_has_feature_bigalloc(sb)) + n_blocks_count &= ~((1 << EXT4_CLUSTER_BITS(sb)) - 1); + retry: o_blocks_count = ext4_blocks_count(es); @@ -2089,7 +2113,7 @@ goto out; } - if (ext4_blocks_count(es) == n_blocks_count) + if (ext4_blocks_count(es) == n_blocks_count && n_blocks_count_retry == 0) goto out; err = ext4_alloc_flex_bg_array(sb, n_group + 1); --- linux-gcp-5.19.0.orig/fs/ext4/super.c +++ linux-gcp-5.19.0/fs/ext4/super.c @@ -205,19 +205,12 @@ int ext4_read_bh_lock(struct buffer_head *bh, int op_flags, bool wait) { - if (trylock_buffer(bh)) { - if (wait) - return ext4_read_bh(bh, op_flags, NULL); + lock_buffer(bh); + if (!wait) { ext4_read_bh_nowait(bh, op_flags, NULL); return 0; } - if (wait) { - wait_on_buffer(bh); - if (buffer_uptodate(bh)) - return 0; - return -EIO; - } - return 0; + return ext4_read_bh(bh, op_flags, NULL); } /* @@ -264,7 +257,8 @@ struct buffer_head *bh = sb_getblk_gfp(sb, block, 0); if (likely(bh)) { - ext4_read_bh_lock(bh, REQ_RAHEAD, false); + if (trylock_buffer(bh)) + ext4_read_bh_nowait(bh, REQ_RAHEAD, NULL); brelse(bh); } } @@ -1329,6 +1323,7 @@ return NULL; inode_set_iversion(&ei->vfs_inode, 1); + ei->i_flags = 0; spin_lock_init(&ei->i_raw_lock); INIT_LIST_HEAD(&ei->i_prealloc_list); atomic_set(&ei->i_prealloc_active, 0); @@ -1585,7 +1580,7 @@ Opt_inlinecrypt, Opt_usrjquota, Opt_grpjquota, Opt_quota, Opt_noquota, Opt_barrier, Opt_nobarrier, Opt_err, - Opt_usrquota, Opt_grpquota, Opt_prjquota, Opt_i_version, + Opt_usrquota, Opt_grpquota, Opt_prjquota, Opt_dax, Opt_dax_always, Opt_dax_inode, Opt_dax_never, Opt_stripe, Opt_delalloc, Opt_nodelalloc, Opt_warn_on_error, Opt_nowarn_on_error, Opt_mblk_io_submit, Opt_debug_want_extra_isize, @@ -1694,7 +1689,7 @@ fsparam_flag ("barrier", Opt_barrier), fsparam_u32 ("barrier", Opt_barrier), fsparam_flag ("nobarrier", Opt_nobarrier), - fsparam_flag ("i_version", Opt_i_version), + fsparam_flag ("i_version", Opt_removed), fsparam_flag ("dax", Opt_dax), fsparam_enum ("dax", Opt_dax_type, ext4_param_dax), fsparam_u32 ("stripe", Opt_stripe), @@ -2140,11 +2135,6 @@ case Opt_abort: ctx_set_mount_flag(ctx, EXT4_MF_FS_ABORTED); return 0; - case Opt_i_version: - ext4_msg(NULL, KERN_WARNING, deprecated_msg, param->key, "5.20"); - ext4_msg(NULL, KERN_WARNING, "Use iversion instead\n"); - ctx_set_flags(ctx, SB_I_VERSION); - return 0; case Opt_inlinecrypt: #ifdef CONFIG_FS_ENCRYPTION_INLINE_CRYPT ctx_set_flags(ctx, SB_INLINECRYPT); @@ -2271,7 +2261,7 @@ return -EINVAL; } - error = fs_lookup_param(fc, param, 1, &path); + error = fs_lookup_param(fc, param, 1, LOOKUP_FOLLOW, &path); if (error) { ext4_msg(NULL, KERN_ERR, "error: could not find " "journal device path"); @@ -2814,14 +2804,6 @@ sb->s_flags &= ~ctx->mask_s_flags; sb->s_flags |= ctx->vals_s_flags; - /* - * i_version differs from common mount option iversion so we have - * to let vfs know that it was set, otherwise it would get cleared - * on remount - */ - if (ctx->mask_s_flags & SB_I_VERSION) - fc->sb_flags |= SB_I_VERSION; - #define APPLY(X) ({ if (ctx->spec & EXT4_SPEC_##X) sbi->X = ctx->X; }) APPLY(s_commit_interval); APPLY(s_stripe); @@ -2970,8 +2952,6 @@ SEQ_OPTS_PRINT("min_batch_time=%u", sbi->s_min_batch_time); if (nodefs || sbi->s_max_batch_time != EXT4_DEF_MAX_BATCH_TIME) SEQ_OPTS_PRINT("max_batch_time=%u", sbi->s_max_batch_time); - if (sb->s_flags & SB_I_VERSION) - SEQ_OPTS_PUTS("i_version"); if (nodefs || sbi->s_stripe) SEQ_OPTS_PRINT("stripe=%lu", sbi->s_stripe); if (nodefs || EXT4_MOUNT_DATA_FLAGS & @@ -3758,6 +3738,7 @@ unsigned long next_wakeup, cur; BUG_ON(NULL == eli); + set_freezable(); cont_thread: while (true) { @@ -3973,9 +3954,9 @@ goto out; } - if (test_opt(sb, NO_PREFETCH_BLOCK_BITMAPS) && - (first_not_zeroed == ngroups || sb_rdonly(sb) || - !test_opt(sb, INIT_INODE_TABLE))) + if (sb_rdonly(sb) || + (test_opt(sb, NO_PREFETCH_BLOCK_BITMAPS) && + (first_not_zeroed == ngroups || !test_opt(sb, INIT_INODE_TABLE)))) goto out; elr = ext4_li_request_new(sb, first_not_zeroed); @@ -4630,6 +4611,9 @@ sb->s_flags = (sb->s_flags & ~SB_POSIXACL) | (test_opt(sb, POSIX_ACL) ? SB_POSIXACL : 0); + /* i_version is always enabled now */ + sb->s_flags |= SB_I_VERSION; + if (le32_to_cpu(es->s_rev_level) == EXT4_GOOD_OLD_REV && (ext4_has_compat_features(sb) || ext4_has_ro_compat_features(sb) || @@ -5069,30 +5053,31 @@ ext4_has_feature_journal_needs_recovery(sb)) { ext4_msg(sb, KERN_ERR, "required journal recovery " "suppressed and not mounted read-only"); - goto failed_mount_wq; + goto failed_mount3a; } else { /* Nojournal mode, all journal mount options are illegal */ - if (test_opt2(sb, EXPLICIT_JOURNAL_CHECKSUM)) { - ext4_msg(sb, KERN_ERR, "can't mount with " - "journal_checksum, fs mounted w/o journal"); - goto failed_mount_wq; - } if (test_opt(sb, JOURNAL_ASYNC_COMMIT)) { ext4_msg(sb, KERN_ERR, "can't mount with " "journal_async_commit, fs mounted w/o journal"); - goto failed_mount_wq; + goto failed_mount3a; + } + + if (test_opt2(sb, EXPLICIT_JOURNAL_CHECKSUM)) { + ext4_msg(sb, KERN_ERR, "can't mount with " + "journal_checksum, fs mounted w/o journal"); + goto failed_mount3a; } if (sbi->s_commit_interval != JBD2_DEFAULT_MAX_COMMIT_AGE*HZ) { ext4_msg(sb, KERN_ERR, "can't mount with " "commit=%lu, fs mounted w/o journal", sbi->s_commit_interval / HZ); - goto failed_mount_wq; + goto failed_mount3a; } if (EXT4_MOUNT_DATA_FLAGS & (sbi->s_mount_opt ^ sbi->s_def_mount_opt)) { ext4_msg(sb, KERN_ERR, "can't mount with " "data=, fs mounted w/o journal"); - goto failed_mount_wq; + goto failed_mount3a; } sbi->s_def_mount_opt &= ~EXT4_MOUNT_JOURNAL_CHECKSUM; clear_opt(sb, JOURNAL_CHECKSUM); @@ -5585,9 +5570,9 @@ return NULL; } - jbd_debug(2, "Journal inode found at %p: %lld bytes\n", + ext4_debug("Journal inode found at %p: %lld bytes\n", journal_inode, journal_inode->i_size); - if (!S_ISREG(journal_inode->i_mode)) { + if (!S_ISREG(journal_inode->i_mode) || IS_ENCRYPTED(journal_inode)) { ext4_msg(sb, KERN_ERR, "invalid journal inode"); iput(journal_inode); return NULL; @@ -6643,7 +6628,7 @@ handle_t *handle; /* Data block + inode block */ - handle = ext4_journal_start(d_inode(sb->s_root), EXT4_HT_QUOTA, 2); + handle = ext4_journal_start_sb(sb, EXT4_HT_QUOTA, 2); if (IS_ERR(handle)) return PTR_ERR(handle); ret = dquot_commit_info(sb, type); @@ -6750,6 +6735,20 @@ return err; } +static inline bool ext4_check_quota_inum(int type, unsigned long qf_inum) +{ + switch (type) { + case USRQUOTA: + return qf_inum == EXT4_USR_QUOTA_INO; + case GRPQUOTA: + return qf_inum == EXT4_GRP_QUOTA_INO; + case PRJQUOTA: + return qf_inum >= EXT4_GOOD_OLD_FIRST_INO; + default: + BUG(); + } +} + static int ext4_quota_enable(struct super_block *sb, int type, int format_id, unsigned int flags) { @@ -6766,9 +6765,16 @@ if (!qf_inums[type]) return -EPERM; + if (!ext4_check_quota_inum(type, qf_inums[type])) { + ext4_error(sb, "Bad quota inum: %lu, type: %d", + qf_inums[type], type); + return -EUCLEAN; + } + qf_inode = ext4_iget(sb, qf_inums[type], EXT4_IGET_SPECIAL); if (IS_ERR(qf_inode)) { - ext4_error(sb, "Bad quota inode # %lu", qf_inums[type]); + ext4_error(sb, "Bad quota inode: %lu, type: %d", + qf_inums[type], type); return PTR_ERR(qf_inode); } @@ -6807,8 +6813,9 @@ if (err) { ext4_warning(sb, "Failed to enable quota tracking " - "(type=%d, err=%d). Please run " - "e2fsck to fix.", type, err); + "(type=%d, err=%d, ino=%lu). " + "Please run e2fsck to fix.", type, + err, qf_inums[type]); for (type--; type >= 0; type--) { struct inode *inode; --- linux-gcp-5.19.0.orig/fs/ext4/symlink.c +++ linux-gcp-5.19.0/fs/ext4/symlink.c @@ -74,6 +74,21 @@ struct delayed_call *callback) { struct buffer_head *bh; + char *inline_link; + + /* + * Create a new inlined symlink is not supported, just provide a + * method to read the leftovers. + */ + if (ext4_has_inline_data(inode)) { + if (!dentry) + return ERR_PTR(-ECHILD); + + inline_link = ext4_read_inline_link(inode); + if (!IS_ERR(inline_link)) + set_delayed_call(callback, kfree_link, inline_link); + return inline_link; + } if (!dentry) { bh = ext4_getblk(NULL, inode, 0, EXT4_GET_BLOCKS_CACHED_NOWAIT); --- linux-gcp-5.19.0.orig/fs/ext4/sysfs.c +++ linux-gcp-5.19.0/fs/ext4/sysfs.c @@ -491,6 +491,11 @@ complete(&sbi->s_kobj_unregister); } +static void ext4_feat_release(struct kobject *kobj) +{ + kfree(kobj); +} + static const struct sysfs_ops ext4_attr_ops = { .show = ext4_attr_show, .store = ext4_attr_store, @@ -505,7 +510,7 @@ static struct kobj_type ext4_feat_ktype = { .default_groups = ext4_feat_groups, .sysfs_ops = &ext4_attr_ops, - .release = (void (*)(struct kobject *))kfree, + .release = ext4_feat_release, }; void ext4_notify_error_sysfs(struct ext4_sb_info *sbi) --- linux-gcp-5.19.0.orig/fs/ext4/verity.c +++ linux-gcp-5.19.0/fs/ext4/verity.c @@ -79,7 +79,7 @@ size_t n = min_t(size_t, count, PAGE_SIZE - offset_in_page(pos)); struct page *page; - void *fsdata; + void *fsdata = NULL; int res; res = aops->write_begin(NULL, mapping, pos, n, &page, &fsdata); @@ -365,13 +365,14 @@ pgoff_t index, unsigned long num_ra_pages) { - DEFINE_READAHEAD(ractl, NULL, NULL, inode->i_mapping, index); struct page *page; index += ext4_verity_metadata_pos(inode) >> PAGE_SHIFT; page = find_get_page_flags(inode->i_mapping, index, FGP_ACCESSED); if (!page || !PageUptodate(page)) { + DEFINE_READAHEAD(ractl, NULL, NULL, inode->i_mapping, index); + if (page) put_page(page); else if (num_ra_pages > 1) --- linux-gcp-5.19.0.orig/fs/ext4/xattr.c +++ linux-gcp-5.19.0/fs/ext4/xattr.c @@ -436,6 +436,21 @@ return err; } +/* Remove entry from mbcache when EA inode is getting evicted */ +void ext4_evict_ea_inode(struct inode *inode) +{ + struct mb_cache_entry *oe; + + if (!EA_INODE_CACHE(inode)) + return; + /* Wait for entry to get unused so that we can remove it */ + while ((oe = mb_cache_entry_delete_or_get(EA_INODE_CACHE(inode), + ext4_xattr_inode_get_hash(inode), inode->i_ino))) { + mb_cache_entry_wait_unused(oe); + mb_cache_entry_put(EA_INODE_CACHE(inode), oe); + } +} + static int ext4_xattr_inode_verify_hashes(struct inode *ea_inode, struct ext4_xattr_entry *entry, void *buffer, @@ -976,10 +991,8 @@ static int ext4_xattr_inode_update_ref(handle_t *handle, struct inode *ea_inode, int ref_change) { - struct mb_cache *ea_inode_cache = EA_INODE_CACHE(ea_inode); struct ext4_iloc iloc; s64 ref_count; - u32 hash; int ret; inode_lock(ea_inode); @@ -1002,14 +1015,6 @@ set_nlink(ea_inode, 1); ext4_orphan_del(handle, ea_inode); - - if (ea_inode_cache) { - hash = ext4_xattr_inode_get_hash(ea_inode); - mb_cache_entry_create(ea_inode_cache, - GFP_NOFS, hash, - ea_inode->i_ino, - true /* reusable */); - } } } else { WARN_ONCE(ref_count < 0, "EA inode %lu ref_count=%lld", @@ -1022,12 +1027,6 @@ clear_nlink(ea_inode); ext4_orphan_add(handle, ea_inode); - - if (ea_inode_cache) { - hash = ext4_xattr_inode_get_hash(ea_inode); - mb_cache_entry_delete(ea_inode_cache, hash, - ea_inode->i_ino); - } } } @@ -1237,6 +1236,7 @@ if (error) goto out; +retry_ref: lock_buffer(bh); hash = le32_to_cpu(BHDR(bh)->h_hash); ref = le32_to_cpu(BHDR(bh)->h_refcount); @@ -1246,9 +1246,18 @@ * This must happen under buffer lock for * ext4_xattr_block_set() to reliably detect freed block */ - if (ea_block_cache) - mb_cache_entry_delete(ea_block_cache, hash, - bh->b_blocknr); + if (ea_block_cache) { + struct mb_cache_entry *oe; + + oe = mb_cache_entry_delete_or_get(ea_block_cache, hash, + bh->b_blocknr); + if (oe) { + unlock_buffer(bh); + mb_cache_entry_wait_unused(oe); + mb_cache_entry_put(ea_block_cache, oe); + goto retry_ref; + } + } get_bh(bh); unlock_buffer(bh); @@ -1272,7 +1281,7 @@ ce = mb_cache_entry_get(ea_block_cache, hash, bh->b_blocknr); if (ce) { - ce->e_reusable = 1; + set_bit(MBE_REUSABLE_B, &ce->e_flags); mb_cache_entry_put(ea_block_cache, ce); } } @@ -1413,6 +1422,13 @@ uid_t owner[2] = { i_uid_read(inode), i_gid_read(inode) }; int err; + if (inode->i_sb->s_root == NULL) { + ext4_warning(inode->i_sb, + "refuse to create EA inode when umounting"); + WARN_ON(1); + return ERR_PTR(-EINVAL); + } + /* * Let the next inode be the goal, so we try and allocate the EA inode * in the same group, or nearby one. @@ -1432,6 +1448,9 @@ if (!err) err = ext4_inode_attach_jinode(ea_inode); if (err) { + if (ext4_xattr_inode_dec_ref(handle, ea_inode)) + ext4_warning_inode(ea_inode, + "cleanup dec ref error %d", err); iput(ea_inode); return ERR_PTR(err); } @@ -1858,6 +1877,8 @@ #define header(x) ((struct ext4_xattr_header *)(x)) if (s->base) { + int offset = (char *)s->here - bs->bh->b_data; + BUFFER_TRACE(bs->bh, "get_write_access"); error = ext4_journal_get_write_access(handle, sb, bs->bh, EXT4_JTR_NONE); @@ -1873,9 +1894,20 @@ * ext4_xattr_block_set() to reliably detect modified * block */ - if (ea_block_cache) - mb_cache_entry_delete(ea_block_cache, hash, - bs->bh->b_blocknr); + if (ea_block_cache) { + struct mb_cache_entry *oe; + + oe = mb_cache_entry_delete_or_get(ea_block_cache, + hash, bs->bh->b_blocknr); + if (oe) { + /* + * Xattr block is getting reused. Leave + * it alone. + */ + mb_cache_entry_put(ea_block_cache, oe); + goto clone_block; + } + } ea_bdebug(bs->bh, "modifying in-place"); error = ext4_xattr_set_entry(i, s, handle, inode, true /* is_block */); @@ -1890,49 +1922,47 @@ if (error) goto cleanup; goto inserted; - } else { - int offset = (char *)s->here - bs->bh->b_data; + } +clone_block: + unlock_buffer(bs->bh); + ea_bdebug(bs->bh, "cloning"); + s->base = kmemdup(BHDR(bs->bh), bs->bh->b_size, GFP_NOFS); + error = -ENOMEM; + if (s->base == NULL) + goto cleanup; + s->first = ENTRY(header(s->base)+1); + header(s->base)->h_refcount = cpu_to_le32(1); + s->here = ENTRY(s->base + offset); + s->end = s->base + bs->bh->b_size; - unlock_buffer(bs->bh); - ea_bdebug(bs->bh, "cloning"); - s->base = kmemdup(BHDR(bs->bh), bs->bh->b_size, GFP_NOFS); - error = -ENOMEM; - if (s->base == NULL) + /* + * If existing entry points to an xattr inode, we need + * to prevent ext4_xattr_set_entry() from decrementing + * ref count on it because the reference belongs to the + * original block. In this case, make the entry look + * like it has an empty value. + */ + if (!s->not_found && s->here->e_value_inum) { + ea_ino = le32_to_cpu(s->here->e_value_inum); + error = ext4_xattr_inode_iget(inode, ea_ino, + le32_to_cpu(s->here->e_hash), + &tmp_inode); + if (error) goto cleanup; - s->first = ENTRY(header(s->base)+1); - header(s->base)->h_refcount = cpu_to_le32(1); - s->here = ENTRY(s->base + offset); - s->end = s->base + bs->bh->b_size; - - /* - * If existing entry points to an xattr inode, we need - * to prevent ext4_xattr_set_entry() from decrementing - * ref count on it because the reference belongs to the - * original block. In this case, make the entry look - * like it has an empty value. - */ - if (!s->not_found && s->here->e_value_inum) { - ea_ino = le32_to_cpu(s->here->e_value_inum); - error = ext4_xattr_inode_iget(inode, ea_ino, - le32_to_cpu(s->here->e_hash), - &tmp_inode); - if (error) - goto cleanup; - - if (!ext4_test_inode_state(tmp_inode, - EXT4_STATE_LUSTRE_EA_INODE)) { - /* - * Defer quota free call for previous - * inode until success is guaranteed. - */ - old_ea_inode_quota = le32_to_cpu( - s->here->e_value_size); - } - iput(tmp_inode); - s->here->e_value_inum = 0; - s->here->e_value_size = 0; + if (!ext4_test_inode_state(tmp_inode, + EXT4_STATE_LUSTRE_EA_INODE)) { + /* + * Defer quota free call for previous + * inode until success is guaranteed. + */ + old_ea_inode_quota = le32_to_cpu( + s->here->e_value_size); } + iput(tmp_inode); + + s->here->e_value_inum = 0; + s->here->e_value_size = 0; } } else { /* Allocate a buffer where we construct the new block. */ @@ -1999,18 +2029,13 @@ lock_buffer(new_bh); /* * We have to be careful about races with - * freeing, rehashing or adding references to - * xattr block. Once we hold buffer lock xattr - * block's state is stable so we can check - * whether the block got freed / rehashed or - * not. Since we unhash mbcache entry under - * buffer lock when freeing / rehashing xattr - * block, checking whether entry is still - * hashed is reliable. Same rules hold for - * e_reusable handling. + * adding references to xattr block. Once we + * hold buffer lock xattr block's state is + * stable so we can check the additional + * reference fits. */ - if (hlist_bl_unhashed(&ce->e_hash_list) || - !ce->e_reusable) { + ref = le32_to_cpu(BHDR(new_bh)->h_refcount) + 1; + if (ref > EXT4_XATTR_REFCOUNT_MAX) { /* * Undo everything and check mbcache * again. @@ -2025,10 +2050,9 @@ new_bh = NULL; goto inserted; } - ref = le32_to_cpu(BHDR(new_bh)->h_refcount) + 1; BHDR(new_bh)->h_refcount = cpu_to_le32(ref); - if (ref >= EXT4_XATTR_REFCOUNT_MAX) - ce->e_reusable = 0; + if (ref == EXT4_XATTR_REFCOUNT_MAX) + clear_bit(MBE_REUSABLE_B, &ce->e_flags); ea_bdebug(new_bh, "reusing; refcount now=%d", ref); ext4_xattr_block_csum_set(inode, new_bh); @@ -2056,19 +2080,11 @@ goal = ext4_group_first_block_no(sb, EXT4_I(inode)->i_block_group); - - /* non-extent files can't have physical blocks past 2^32 */ - if (!(ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS))) - goal = goal & EXT4_MAX_BLOCK_FILE_PHYS; - block = ext4_new_meta_blocks(handle, inode, goal, 0, NULL, &error); if (error) goto cleanup; - if (!(ext4_test_inode_flag(inode, EXT4_INODE_EXTENTS))) - BUG_ON(block > EXT4_MAX_BLOCK_FILE_PHYS); - ea_idebug(inode, "creating block %llu", (unsigned long long)block); @@ -2175,8 +2191,9 @@ struct ext4_inode *raw_inode; int error; - if (EXT4_I(inode)->i_extra_isize == 0) + if (!EXT4_INODE_HAS_XATTR_SPACE(inode)) return 0; + raw_inode = ext4_raw_inode(&is->iloc); header = IHDR(inode, raw_inode); is->s.base = is->s.first = IFIRST(header); @@ -2204,8 +2221,9 @@ struct ext4_xattr_search *s = &is->s; int error; - if (EXT4_I(inode)->i_extra_isize == 0) + if (!EXT4_INODE_HAS_XATTR_SPACE(inode)) return -ENOSPC; + error = ext4_xattr_set_entry(i, s, handle, inode, false /* is_block */); if (error) return error; @@ -2396,6 +2414,7 @@ if (!error) { ext4_xattr_update_super_block(handle, inode->i_sb); inode->i_ctime = current_time(inode); + inode_inc_iversion(inode); if (!value) no_expand = 0; error = ext4_mark_iloc_dirty(handle, inode, &is.iloc); @@ -2538,9 +2557,8 @@ is = kzalloc(sizeof(struct ext4_xattr_ibody_find), GFP_NOFS); bs = kzalloc(sizeof(struct ext4_xattr_block_find), GFP_NOFS); - buffer = kmalloc(value_size, GFP_NOFS); b_entry_name = kmalloc(entry->e_name_len + 1, GFP_NOFS); - if (!is || !bs || !buffer || !b_entry_name) { + if (!is || !bs || !b_entry_name) { error = -ENOMEM; goto out; } @@ -2552,12 +2570,18 @@ /* Save the entry name and the entry value */ if (entry->e_value_inum) { + buffer = kvmalloc(value_size, GFP_NOFS); + if (!buffer) { + error = -ENOMEM; + goto out; + } + error = ext4_xattr_inode_get(inode, entry, buffer, value_size); if (error) goto out; } else { size_t value_offs = le16_to_cpu(entry->e_value_offs); - memcpy(buffer, (void *)IFIRST(header) + value_offs, value_size); + buffer = (void *)IFIRST(header) + value_offs; } memcpy(b_entry_name, entry->e_name, entry->e_name_len); @@ -2572,25 +2596,26 @@ if (error) goto out; - /* Remove the chosen entry from the inode */ - error = ext4_xattr_ibody_set(handle, inode, &i, is); - if (error) - goto out; - i.value = buffer; i.value_len = value_size; error = ext4_xattr_block_find(inode, &i, bs); if (error) goto out; - /* Add entry which was removed from the inode into the block */ + /* Move ea entry from the inode into the block */ error = ext4_xattr_block_set(handle, inode, &i, bs); if (error) goto out; - error = 0; + + /* Remove the chosen entry from the inode */ + i.value = NULL; + i.value_len = 0; + error = ext4_xattr_ibody_set(handle, inode, &i, is); + out: kfree(b_entry_name); - kfree(buffer); + if (entry->e_value_inum && buffer) + kvfree(buffer); if (is) brelse(is->iloc.bh); if (bs) --- linux-gcp-5.19.0.orig/fs/ext4/xattr.h +++ linux-gcp-5.19.0/fs/ext4/xattr.h @@ -95,6 +95,19 @@ #define EXT4_ZERO_XATTR_VALUE ((void *)-1) +/* + * If we want to add an xattr to the inode, we should make sure that + * i_extra_isize is not 0 and that the inode size is not less than + * EXT4_GOOD_OLD_INODE_SIZE + extra_isize + pad. + * EXT4_GOOD_OLD_INODE_SIZE extra_isize header entry pad data + * |--------------------------|------------|------|---------|---|-------| + */ +#define EXT4_INODE_HAS_XATTR_SPACE(inode) \ + ((EXT4_I(inode)->i_extra_isize != 0) && \ + (EXT4_GOOD_OLD_INODE_SIZE + EXT4_I(inode)->i_extra_isize + \ + sizeof(struct ext4_xattr_ibody_header) + EXT4_XATTR_PAD <= \ + EXT4_INODE_SIZE((inode)->i_sb))) + struct ext4_xattr_info { const char *name; const void *value; @@ -178,6 +191,7 @@ extern int ext4_expand_extra_isize_ea(struct inode *inode, int new_extra_isize, struct ext4_inode *raw_inode, handle_t *handle); +extern void ext4_evict_ea_inode(struct inode *inode); extern const struct xattr_handler *ext4_xattr_handlers[]; --- linux-gcp-5.19.0.orig/fs/f2fs/checkpoint.c +++ linux-gcp-5.19.0/fs/f2fs/checkpoint.c @@ -140,7 +140,7 @@ unsigned int segno, offset; bool exist; - if (type != DATA_GENERIC_ENHANCE && type != DATA_GENERIC_ENHANCE_READ) + if (type == DATA_GENERIC) return true; segno = GET_SEGNO(sbi, blkaddr); @@ -148,6 +148,13 @@ se = get_seg_entry(sbi, segno); exist = f2fs_test_bit(offset, se->cur_valid_map); + if (exist && type == DATA_GENERIC_ENHANCE_UPDATE) { + f2fs_err(sbi, "Inconsistent error blkaddr:%u, sit bitmap:%d", + blkaddr, exist); + set_sbi_flag(sbi, SBI_NEED_FSCK); + return exist; + } + if (!exist && type == DATA_GENERIC_ENHANCE) { f2fs_err(sbi, "Inconsistent error blkaddr:%u, sit bitmap:%d", blkaddr, exist); @@ -185,6 +192,7 @@ case DATA_GENERIC: case DATA_GENERIC_ENHANCE: case DATA_GENERIC_ENHANCE_READ: + case DATA_GENERIC_ENHANCE_UPDATE: if (unlikely(blkaddr >= MAX_BLKADDR(sbi) || blkaddr < MAIN_BLKADDR(sbi))) { f2fs_warn(sbi, "access invalid blkaddr:%u", @@ -1055,7 +1063,8 @@ spin_unlock(&sbi->inode_lock[type]); } -int f2fs_sync_dirty_inodes(struct f2fs_sb_info *sbi, enum inode_type type) +int f2fs_sync_dirty_inodes(struct f2fs_sb_info *sbi, enum inode_type type, + bool from_cp) { struct list_head *head; struct inode *inode; @@ -1090,11 +1099,15 @@ if (inode) { unsigned long cur_ino = inode->i_ino; - F2FS_I(inode)->cp_task = current; + if (from_cp) + F2FS_I(inode)->cp_task = current; + F2FS_I(inode)->wb_task = current; filemap_fdatawrite(inode->i_mapping); - F2FS_I(inode)->cp_task = NULL; + F2FS_I(inode)->wb_task = NULL; + if (from_cp) + F2FS_I(inode)->cp_task = NULL; iput(inode); /* We need to give cpu to another writers. */ @@ -1223,7 +1236,7 @@ /* write all the dirty dentry pages */ if (get_pages(sbi, F2FS_DIRTY_DENTS)) { f2fs_unlock_all(sbi); - err = f2fs_sync_dirty_inodes(sbi, DIR_INODE); + err = f2fs_sync_dirty_inodes(sbi, DIR_INODE, true); if (err) return err; cond_resched(); @@ -1894,15 +1907,27 @@ void f2fs_stop_ckpt_thread(struct f2fs_sb_info *sbi) { struct ckpt_req_control *cprc = &sbi->cprc_info; + struct task_struct *ckpt_task; - if (cprc->f2fs_issue_ckpt) { - struct task_struct *ckpt_task = cprc->f2fs_issue_ckpt; + if (!cprc->f2fs_issue_ckpt) + return; - cprc->f2fs_issue_ckpt = NULL; - kthread_stop(ckpt_task); + ckpt_task = cprc->f2fs_issue_ckpt; + cprc->f2fs_issue_ckpt = NULL; + kthread_stop(ckpt_task); - flush_remained_ckpt_reqs(sbi, NULL); - } + f2fs_flush_ckpt_thread(sbi); +} + +void f2fs_flush_ckpt_thread(struct f2fs_sb_info *sbi) +{ + struct ckpt_req_control *cprc = &sbi->cprc_info; + + flush_remained_ckpt_reqs(sbi, NULL); + + /* Let's wait for the previous dispatched checkpoint. */ + while (atomic_read(&cprc->queued_ckpt)) + io_schedule_timeout(DEFAULT_IO_TIMEOUT); } void f2fs_init_ckpt_req_control(struct f2fs_sb_info *sbi) --- linux-gcp-5.19.0.orig/fs/f2fs/compress.c +++ linux-gcp-5.19.0/fs/f2fs/compress.c @@ -346,7 +346,7 @@ if (!level) level = F2FS_ZSTD_DEFAULT_CLEVEL; - params = zstd_get_params(F2FS_ZSTD_DEFAULT_CLEVEL, cc->rlen); + params = zstd_get_params(level, cc->rlen); workspace_size = zstd_cstream_workspace_bound(¶ms.cParams); workspace = f2fs_kvmalloc(F2FS_I_SB(cc->inode), --- linux-gcp-5.19.0.orig/fs/f2fs/data.c +++ linux-gcp-5.19.0/fs/f2fs/data.c @@ -620,6 +620,9 @@ f2fs_down_write(&io->io_rwsem); + if (!io->bio) + goto unlock_out; + /* change META to META_FLUSH in the checkpoint procedure */ if (type >= META_FLUSH) { io->fio.type = META_FLUSH; @@ -628,6 +631,7 @@ io->bio->bi_opf |= REQ_PREFLUSH | REQ_FUA; } __submit_merged_bio(io); +unlock_out: f2fs_up_write(&io->io_rwsem); } @@ -704,7 +708,7 @@ } if (fio->io_wbc && !is_read_io(fio->op)) - wbc_account_cgroup_owner(fio->io_wbc, page, PAGE_SIZE); + wbc_account_cgroup_owner(fio->io_wbc, fio->page, PAGE_SIZE); inc_page_count(fio->sbi, is_read_io(fio->op) ? __read_io_type(page): WB_DATA_TYPE(fio->page)); @@ -909,7 +913,7 @@ } if (fio->io_wbc) - wbc_account_cgroup_owner(fio->io_wbc, page, PAGE_SIZE); + wbc_account_cgroup_owner(fio->io_wbc, fio->page, PAGE_SIZE); inc_page_count(fio->sbi, WB_DATA_TYPE(page)); @@ -983,7 +987,7 @@ } if (fio->io_wbc) - wbc_account_cgroup_owner(fio->io_wbc, bio_page, PAGE_SIZE); + wbc_account_cgroup_owner(fio->io_wbc, fio->page, PAGE_SIZE); io->last_block_in_bio = fio->new_blkaddr; @@ -1463,9 +1467,12 @@ *map->m_next_extent = pgofs + map->m_len; /* for hardware encryption, but to avoid potential issue in future */ - if (flag == F2FS_GET_BLOCK_DIO) + if (flag == F2FS_GET_BLOCK_DIO) { f2fs_wait_on_block_writeback_range(inode, map->m_pblk, map->m_len); + invalidate_mapping_pages(META_MAPPING(sbi), + map->m_pblk, map->m_pblk + map->m_len - 1); + } if (map->m_multidev_dio) { block_t blk_addr = map->m_pblk; @@ -1682,7 +1689,7 @@ f2fs_wait_on_block_writeback_range(inode, map->m_pblk, map->m_len); invalidate_mapping_pages(META_MAPPING(sbi), - map->m_pblk, map->m_pblk); + map->m_pblk, map->m_pblk + map->m_len - 1); if (map->m_multidev_dio) { block_t blk_addr = map->m_pblk; @@ -2840,7 +2847,7 @@ } unlock_page(page); if (!S_ISDIR(inode->i_mode) && !IS_NOQUOTA(inode) && - !F2FS_I(inode)->cp_task && allow_balance) + !F2FS_I(inode)->wb_task && allow_balance) f2fs_balance_fs(sbi, need_balance_fs); if (unlikely(f2fs_cp_error(sbi))) { @@ -3138,7 +3145,7 @@ struct writeback_control *wbc) { /* to avoid deadlock in path of data flush */ - if (F2FS_I(inode)->cp_task) + if (F2FS_I(inode)->wb_task) return false; if (!S_ISREG(inode->i_mode)) --- linux-gcp-5.19.0.orig/fs/f2fs/extent_cache.c +++ linux-gcp-5.19.0/fs/f2fs/extent_cache.c @@ -415,7 +415,8 @@ struct extent_node *en; bool ret = false; - f2fs_bug_on(sbi, !et); + if (!et) + return false; trace_f2fs_lookup_extent_tree_start(inode, pgofs); @@ -804,9 +805,8 @@ if (!f2fs_may_extent_tree(inode)) return; - set_inode_flag(inode, FI_NO_EXTENT); - write_lock(&et->lock); + set_inode_flag(inode, FI_NO_EXTENT); __free_extent_tree(sbi, et); if (et->largest.len) { et->largest.len = 0; --- linux-gcp-5.19.0.orig/fs/f2fs/f2fs.h +++ linux-gcp-5.19.0/fs/f2fs/f2fs.h @@ -266,6 +266,10 @@ * condition of read on truncated area * by extent_cache */ + DATA_GENERIC_ENHANCE_UPDATE, /* + * strong check on range and segment + * bitmap for update case + */ META_GENERIC, }; @@ -757,6 +761,7 @@ FI_ENABLE_COMPRESS, /* enable compression in "user" compression mode */ FI_COMPRESS_RELEASED, /* compressed blocks were released */ FI_ALIGNED_WRITE, /* enable aligned write */ + FI_COW_FILE, /* indicate COW file */ FI_MAX, /* max flag, never be used */ }; @@ -779,6 +784,7 @@ unsigned int clevel; /* maximum level of given file name */ struct task_struct *task; /* lookup and create consistency */ struct task_struct *cp_task; /* separate cp/wb IO stats*/ + struct task_struct *wb_task; /* indicate inode is in context of writeback */ nid_t i_xattr_nid; /* node id that contains xattrs */ loff_t last_disk_size; /* lastly written file size */ spinlock_t i_size_lock; /* protect last_disk_size */ @@ -2929,7 +2935,7 @@ /* Flags that should be inherited by new inodes from their parent. */ #define F2FS_FL_INHERITED (F2FS_SYNC_FL | F2FS_NODUMP_FL | F2FS_NOATIME_FL | \ F2FS_DIRSYNC_FL | F2FS_PROJINHERIT_FL | \ - F2FS_CASEFOLD_FL | F2FS_COMPR_FL | F2FS_NOCOMP_FL) + F2FS_CASEFOLD_FL) /* Flags that are appropriate for regular files (all but dir-specific ones). */ #define F2FS_REG_FLMASK (~(F2FS_DIRSYNC_FL | F2FS_PROJINHERIT_FL | \ @@ -3208,6 +3214,11 @@ return is_inode_flag_set(inode, FI_ATOMIC_FILE); } +static inline bool f2fs_is_cow_file(struct inode *inode) +{ + return is_inode_flag_set(inode, FI_COW_FILE); +} + static inline bool f2fs_is_first_block_written(struct inode *inode) { return is_inode_flag_set(inode, FI_FIRST_BLOCK_WRITTEN); @@ -3670,6 +3681,7 @@ * checkpoint.c */ void f2fs_stop_checkpoint(struct f2fs_sb_info *sbi, bool end_io); +void f2fs_flush_ckpt_thread(struct f2fs_sb_info *sbi); struct page *f2fs_grab_meta_page(struct f2fs_sb_info *sbi, pgoff_t index); struct page *f2fs_get_meta_page(struct f2fs_sb_info *sbi, pgoff_t index); struct page *f2fs_get_meta_page_retry(struct f2fs_sb_info *sbi, pgoff_t index); @@ -3699,7 +3711,8 @@ int f2fs_get_valid_checkpoint(struct f2fs_sb_info *sbi); void f2fs_update_dirty_folio(struct inode *inode, struct folio *folio); void f2fs_remove_dirty_inode(struct inode *inode); -int f2fs_sync_dirty_inodes(struct f2fs_sb_info *sbi, enum inode_type type); +int f2fs_sync_dirty_inodes(struct f2fs_sb_info *sbi, enum inode_type type, + bool from_cp); void f2fs_wait_on_all_pages(struct f2fs_sb_info *sbi, int type); u64 f2fs_get_sectors_written(struct f2fs_sb_info *sbi); int f2fs_write_checkpoint(struct f2fs_sb_info *sbi, struct cp_control *cpc); @@ -4401,7 +4414,7 @@ static inline bool f2fs_may_compress(struct inode *inode) { if (IS_SWAPFILE(inode) || f2fs_is_pinned_file(inode) || - f2fs_is_atomic_file(inode)) + f2fs_is_atomic_file(inode) || f2fs_has_inline_data(inode)) return false; return S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode); } --- linux-gcp-5.19.0.orig/fs/f2fs/file.c +++ linux-gcp-5.19.0/fs/f2fs/file.c @@ -1873,10 +1873,11 @@ if (masked_flags & F2FS_COMPR_FL) { if (!f2fs_disable_compressed_file(inode)) return -EINVAL; - } - if (iflags & F2FS_NOCOMP_FL) - return -EINVAL; - if (iflags & F2FS_COMPR_FL) { + } else { + /* try to convert inline_data to support compression */ + int err = f2fs_convert_inline_inode(inode); + if (err) + return err; if (!f2fs_may_compress(inode)) return -EINVAL; if (S_ISREG(inode->i_mode) && inode->i_size) @@ -1885,10 +1886,6 @@ set_compress_context(inode); } } - if ((iflags ^ masked_flags) & F2FS_NOCOMP_FL) { - if (masked_flags & F2FS_COMPR_FL) - return -EINVAL; - } fi->i_flags = iflags | (fi->i_flags & ~mask); f2fs_bug_on(F2FS_I_SB(inode), (fi->i_flags & F2FS_COMPR_FL) && @@ -2068,7 +2065,7 @@ spin_unlock(&sbi->inode_lock[ATOMIC_FILE]); set_inode_flag(inode, FI_ATOMIC_FILE); - set_inode_flag(fi->cow_inode, FI_ATOMIC_FILE); + set_inode_flag(fi->cow_inode, FI_COW_FILE); clear_inode_flag(fi->cow_inode, FI_INLINE_DATA); f2fs_up_write(&fi->i_gc_rwsem[WRITE]); @@ -2115,6 +2112,31 @@ return ret; } +static int f2fs_ioc_abort_atomic_write(struct file *filp) +{ + struct inode *inode = file_inode(filp); + struct user_namespace *mnt_userns = file_mnt_user_ns(filp); + int ret; + + if (!inode_owner_or_capable(mnt_userns, inode)) + return -EACCES; + + ret = mnt_want_write_file(filp); + if (ret) + return ret; + + inode_lock(inode); + + if (f2fs_is_atomic_file(inode)) + f2fs_abort_atomic_write(inode, true); + + inode_unlock(inode); + + mnt_drop_write_file(filp); + f2fs_update_time(F2FS_I_SB(inode), REQ_TIME); + return ret; +} + static int f2fs_ioc_shutdown(struct file *filp, unsigned long arg) { struct inode *inode = file_inode(filp); @@ -3945,6 +3967,11 @@ goto out; } + if (is_inode_flag_set(inode, FI_COMPRESS_RELEASED)) { + ret = -EINVAL; + goto out; + } + ret = filemap_write_and_wait_range(inode->i_mapping, 0, LLONG_MAX); if (ret) goto out; @@ -4012,6 +4039,11 @@ goto out; } + if (is_inode_flag_set(inode, FI_COMPRESS_RELEASED)) { + ret = -EINVAL; + goto out; + } + ret = filemap_write_and_wait_range(inode->i_mapping, 0, LLONG_MAX); if (ret) goto out; @@ -4060,9 +4092,10 @@ return f2fs_ioc_start_atomic_write(filp); case F2FS_IOC_COMMIT_ATOMIC_WRITE: return f2fs_ioc_commit_atomic_write(filp); + case F2FS_IOC_ABORT_ATOMIC_WRITE: + return f2fs_ioc_abort_atomic_write(filp); case F2FS_IOC_START_VOLATILE_WRITE: case F2FS_IOC_RELEASE_VOLATILE_WRITE: - case F2FS_IOC_ABORT_VOLATILE_WRITE: return -EOPNOTSUPP; case F2FS_IOC_SHUTDOWN: return f2fs_ioc_shutdown(filp, arg); @@ -4731,7 +4764,7 @@ case F2FS_IOC_COMMIT_ATOMIC_WRITE: case F2FS_IOC_START_VOLATILE_WRITE: case F2FS_IOC_RELEASE_VOLATILE_WRITE: - case F2FS_IOC_ABORT_VOLATILE_WRITE: + case F2FS_IOC_ABORT_ATOMIC_WRITE: case F2FS_IOC_SHUTDOWN: case FITRIM: case FS_IOC_SET_ENCRYPTION_POLICY: --- linux-gcp-5.19.0.orig/fs/f2fs/gc.c +++ linux-gcp-5.19.0/fs/f2fs/gc.c @@ -97,14 +97,10 @@ */ if (sbi->gc_mode == GC_URGENT_HIGH) { spin_lock(&sbi->gc_urgent_high_lock); - if (sbi->gc_urgent_high_limited) { - if (!sbi->gc_urgent_high_remaining) { - sbi->gc_urgent_high_limited = false; - spin_unlock(&sbi->gc_urgent_high_lock); - sbi->gc_mode = GC_NORMAL; - continue; - } - sbi->gc_urgent_high_remaining--; + if (sbi->gc_urgent_high_limited && + !sbi->gc_urgent_high_remaining--) { + sbi->gc_urgent_high_limited = false; + sbi->gc_mode = GC_NORMAL; } spin_unlock(&sbi->gc_urgent_high_lock); } @@ -1079,7 +1075,7 @@ { struct page *node_page; nid_t nid; - unsigned int ofs_in_node; + unsigned int ofs_in_node, max_addrs, base; block_t source_blkaddr; nid = le32_to_cpu(sum->nid); @@ -1105,6 +1101,21 @@ return false; } + if (IS_INODE(node_page)) { + base = offset_in_addr(F2FS_INODE(node_page)); + max_addrs = DEF_ADDRS_PER_INODE; + } else { + base = 0; + max_addrs = DEF_ADDRS_PER_BLOCK; + } + + if (base + ofs_in_node >= max_addrs) { + f2fs_err(sbi, "Inconsistent blkaddr offset: base:%u, ofs_in_node:%u, max:%u, ino:%u, nid:%u", + base, ofs_in_node, max_addrs, dni->ino, dni->nid); + f2fs_put_page(node_page, 1); + return false; + } + *nofs = ofs_of_node(node_page); source_blkaddr = data_blkaddr(NULL, node_page, ofs_in_node); f2fs_put_page(node_page, 1); @@ -1731,8 +1742,9 @@ get_valid_blocks(sbi, segno, false) == 0) seg_freed++; - if (__is_large_section(sbi) && segno + 1 < end_segno) - sbi->next_victim_seg[gc_type] = segno + 1; + if (__is_large_section(sbi)) + sbi->next_victim_seg[gc_type] = + (segno + 1 < end_segno) ? segno + 1 : NULL_SEGNO; skip: f2fs_put_page(sum_page, 0); } @@ -2120,8 +2132,6 @@ if (err) return err; - set_sbi_flag(sbi, SBI_IS_RESIZEFS); - freeze_super(sbi->sb); f2fs_down_write(&sbi->gc_lock); f2fs_down_write(&sbi->cp_global_sem); @@ -2137,6 +2147,7 @@ if (err) goto out_err; + set_sbi_flag(sbi, SBI_IS_RESIZEFS); err = free_segment_range(sbi, secs, false); if (err) goto recover_out; @@ -2160,6 +2171,7 @@ f2fs_commit_super(sbi, false); } recover_out: + clear_sbi_flag(sbi, SBI_IS_RESIZEFS); if (err) { set_sbi_flag(sbi, SBI_NEED_FSCK); f2fs_err(sbi, "resize_fs failed, should run fsck to repair!"); @@ -2172,6 +2184,5 @@ f2fs_up_write(&sbi->cp_global_sem); f2fs_up_write(&sbi->gc_lock); thaw_super(sbi->sb); - clear_sbi_flag(sbi, SBI_IS_RESIZEFS); return err; } --- linux-gcp-5.19.0.orig/fs/f2fs/inline.c +++ linux-gcp-5.19.0/fs/f2fs/inline.c @@ -427,18 +427,17 @@ dentry_blk = page_address(page); + /* + * Start by zeroing the full block, to ensure that all unused space is + * zeroed and no uninitialized memory is leaked to disk. + */ + memset(dentry_blk, 0, F2FS_BLKSIZE); + make_dentry_ptr_inline(dir, &src, inline_dentry); make_dentry_ptr_block(dir, &dst, dentry_blk); /* copy data from inline dentry block to new dentry block */ memcpy(dst.bitmap, src.bitmap, src.nr_bitmap); - memset(dst.bitmap + src.nr_bitmap, 0, dst.nr_bitmap - src.nr_bitmap); - /* - * we do not need to zero out remainder part of dentry and filename - * field, since we have used bitmap for marking the usage status of - * them, besides, we can also ignore copying/zeroing reserved space - * of dentry block, because them haven't been used so far. - */ memcpy(dst.dentry, src.dentry, SIZE_OF_DIR_ENTRY * src.max); memcpy(dst.filename, src.filename, src.max * F2FS_SLOT_LEN); --- linux-gcp-5.19.0.orig/fs/f2fs/namei.c +++ linux-gcp-5.19.0/fs/f2fs/namei.c @@ -22,8 +22,163 @@ #include "acl.h" #include +static inline int is_extension_exist(const unsigned char *s, const char *sub, + bool tmp_ext) +{ + size_t slen = strlen(s); + size_t sublen = strlen(sub); + int i; + + if (sublen == 1 && *sub == '*') + return 1; + + /* + * filename format of multimedia file should be defined as: + * "filename + '.' + extension + (optional: '.' + temp extension)". + */ + if (slen < sublen + 2) + return 0; + + if (!tmp_ext) { + /* file has no temp extension */ + if (s[slen - sublen - 1] != '.') + return 0; + return !strncasecmp(s + slen - sublen, sub, sublen); + } + + for (i = 1; i < slen - sublen; i++) { + if (s[i] != '.') + continue; + if (!strncasecmp(s + i + 1, sub, sublen)) + return 1; + } + + return 0; +} + +int f2fs_update_extension_list(struct f2fs_sb_info *sbi, const char *name, + bool hot, bool set) +{ + __u8 (*extlist)[F2FS_EXTENSION_LEN] = sbi->raw_super->extension_list; + int cold_count = le32_to_cpu(sbi->raw_super->extension_count); + int hot_count = sbi->raw_super->hot_ext_count; + int total_count = cold_count + hot_count; + int start, count; + int i; + + if (set) { + if (total_count == F2FS_MAX_EXTENSION) + return -EINVAL; + } else { + if (!hot && !cold_count) + return -EINVAL; + if (hot && !hot_count) + return -EINVAL; + } + + if (hot) { + start = cold_count; + count = total_count; + } else { + start = 0; + count = cold_count; + } + + for (i = start; i < count; i++) { + if (strcmp(name, extlist[i])) + continue; + + if (set) + return -EINVAL; + + memcpy(extlist[i], extlist[i + 1], + F2FS_EXTENSION_LEN * (total_count - i - 1)); + memset(extlist[total_count - 1], 0, F2FS_EXTENSION_LEN); + if (hot) + sbi->raw_super->hot_ext_count = hot_count - 1; + else + sbi->raw_super->extension_count = + cpu_to_le32(cold_count - 1); + return 0; + } + + if (!set) + return -EINVAL; + + if (hot) { + memcpy(extlist[count], name, strlen(name)); + sbi->raw_super->hot_ext_count = hot_count + 1; + } else { + char buf[F2FS_MAX_EXTENSION][F2FS_EXTENSION_LEN]; + + memcpy(buf, &extlist[cold_count], + F2FS_EXTENSION_LEN * hot_count); + memset(extlist[cold_count], 0, F2FS_EXTENSION_LEN); + memcpy(extlist[cold_count], name, strlen(name)); + memcpy(&extlist[cold_count + 1], buf, + F2FS_EXTENSION_LEN * hot_count); + sbi->raw_super->extension_count = cpu_to_le32(cold_count + 1); + } + return 0; +} + +static void set_compress_new_inode(struct f2fs_sb_info *sbi, struct inode *dir, + struct inode *inode, const unsigned char *name) +{ + __u8 (*extlist)[F2FS_EXTENSION_LEN] = sbi->raw_super->extension_list; + unsigned char (*noext)[F2FS_EXTENSION_LEN] = + F2FS_OPTION(sbi).noextensions; + unsigned char (*ext)[F2FS_EXTENSION_LEN] = F2FS_OPTION(sbi).extensions; + unsigned char ext_cnt = F2FS_OPTION(sbi).compress_ext_cnt; + unsigned char noext_cnt = F2FS_OPTION(sbi).nocompress_ext_cnt; + int i, cold_count, hot_count; + + if (!f2fs_sb_has_compression(sbi)) + return; + + if (S_ISDIR(inode->i_mode)) + goto inherit_comp; + + /* This name comes only from normal files. */ + if (!name) + return; + + /* Don't compress hot files. */ + f2fs_down_read(&sbi->sb_lock); + cold_count = le32_to_cpu(sbi->raw_super->extension_count); + hot_count = sbi->raw_super->hot_ext_count; + for (i = cold_count; i < cold_count + hot_count; i++) + if (is_extension_exist(name, extlist[i], false)) + break; + f2fs_up_read(&sbi->sb_lock); + if (i < (cold_count + hot_count)) + return; + + /* Don't compress unallowed extension. */ + for (i = 0; i < noext_cnt; i++) + if (is_extension_exist(name, noext[i], false)) + return; + + /* Compress wanting extension. */ + for (i = 0; i < ext_cnt; i++) { + if (is_extension_exist(name, ext[i], false)) { + set_compress_context(inode); + return; + } + } +inherit_comp: + /* Inherit the {no-}compression flag in directory */ + if (F2FS_I(dir)->i_flags & F2FS_NOCOMP_FL) { + F2FS_I(inode)->i_flags |= F2FS_NOCOMP_FL; + f2fs_mark_inode_dirty_sync(inode, true); + } else if (F2FS_I(dir)->i_flags & F2FS_COMPR_FL) { + set_compress_context(inode); + } +} + static struct inode *f2fs_new_inode(struct user_namespace *mnt_userns, - struct inode *dir, umode_t mode) + struct inode *dir, umode_t mode, + const char *name) { struct f2fs_sb_info *sbi = F2FS_I_SB(dir); nid_t ino; @@ -114,12 +269,8 @@ if (F2FS_I(inode)->i_flags & F2FS_PROJINHERIT_FL) set_inode_flag(inode, FI_PROJ_INHERIT); - if (f2fs_sb_has_compression(sbi)) { - /* Inherit the compression flag in directory */ - if ((F2FS_I(dir)->i_flags & F2FS_COMPR_FL) && - f2fs_may_compress(inode)) - set_compress_context(inode); - } + /* Check compression first. */ + set_compress_new_inode(sbi, dir, inode, name); /* Should enable inline_data after compression set */ if (test_opt(sbi, INLINE_DATA) && f2fs_may_inline_data(inode)) @@ -153,40 +304,6 @@ return ERR_PTR(err); } -static inline int is_extension_exist(const unsigned char *s, const char *sub, - bool tmp_ext) -{ - size_t slen = strlen(s); - size_t sublen = strlen(sub); - int i; - - if (sublen == 1 && *sub == '*') - return 1; - - /* - * filename format of multimedia file should be defined as: - * "filename + '.' + extension + (optional: '.' + temp extension)". - */ - if (slen < sublen + 2) - return 0; - - if (!tmp_ext) { - /* file has no temp extension */ - if (s[slen - sublen - 1] != '.') - return 0; - return !strncasecmp(s + slen - sublen, sub, sublen); - } - - for (i = 1; i < slen - sublen; i++) { - if (s[i] != '.') - continue; - if (!strncasecmp(s + i + 1, sub, sublen)) - return 1; - } - - return 0; -} - /* * Set file's temperature for hot/cold data separation */ @@ -217,124 +334,6 @@ file_set_hot(inode); } -int f2fs_update_extension_list(struct f2fs_sb_info *sbi, const char *name, - bool hot, bool set) -{ - __u8 (*extlist)[F2FS_EXTENSION_LEN] = sbi->raw_super->extension_list; - int cold_count = le32_to_cpu(sbi->raw_super->extension_count); - int hot_count = sbi->raw_super->hot_ext_count; - int total_count = cold_count + hot_count; - int start, count; - int i; - - if (set) { - if (total_count == F2FS_MAX_EXTENSION) - return -EINVAL; - } else { - if (!hot && !cold_count) - return -EINVAL; - if (hot && !hot_count) - return -EINVAL; - } - - if (hot) { - start = cold_count; - count = total_count; - } else { - start = 0; - count = cold_count; - } - - for (i = start; i < count; i++) { - if (strcmp(name, extlist[i])) - continue; - - if (set) - return -EINVAL; - - memcpy(extlist[i], extlist[i + 1], - F2FS_EXTENSION_LEN * (total_count - i - 1)); - memset(extlist[total_count - 1], 0, F2FS_EXTENSION_LEN); - if (hot) - sbi->raw_super->hot_ext_count = hot_count - 1; - else - sbi->raw_super->extension_count = - cpu_to_le32(cold_count - 1); - return 0; - } - - if (!set) - return -EINVAL; - - if (hot) { - memcpy(extlist[count], name, strlen(name)); - sbi->raw_super->hot_ext_count = hot_count + 1; - } else { - char buf[F2FS_MAX_EXTENSION][F2FS_EXTENSION_LEN]; - - memcpy(buf, &extlist[cold_count], - F2FS_EXTENSION_LEN * hot_count); - memset(extlist[cold_count], 0, F2FS_EXTENSION_LEN); - memcpy(extlist[cold_count], name, strlen(name)); - memcpy(&extlist[cold_count + 1], buf, - F2FS_EXTENSION_LEN * hot_count); - sbi->raw_super->extension_count = cpu_to_le32(cold_count + 1); - } - return 0; -} - -static void set_compress_inode(struct f2fs_sb_info *sbi, struct inode *inode, - const unsigned char *name) -{ - __u8 (*extlist)[F2FS_EXTENSION_LEN] = sbi->raw_super->extension_list; - unsigned char (*noext)[F2FS_EXTENSION_LEN] = F2FS_OPTION(sbi).noextensions; - unsigned char (*ext)[F2FS_EXTENSION_LEN] = F2FS_OPTION(sbi).extensions; - unsigned char ext_cnt = F2FS_OPTION(sbi).compress_ext_cnt; - unsigned char noext_cnt = F2FS_OPTION(sbi).nocompress_ext_cnt; - int i, cold_count, hot_count; - - if (!f2fs_sb_has_compression(sbi) || - F2FS_I(inode)->i_flags & F2FS_NOCOMP_FL || - !f2fs_may_compress(inode) || - (!ext_cnt && !noext_cnt)) - return; - - f2fs_down_read(&sbi->sb_lock); - - cold_count = le32_to_cpu(sbi->raw_super->extension_count); - hot_count = sbi->raw_super->hot_ext_count; - - for (i = cold_count; i < cold_count + hot_count; i++) { - if (is_extension_exist(name, extlist[i], false)) { - f2fs_up_read(&sbi->sb_lock); - return; - } - } - - f2fs_up_read(&sbi->sb_lock); - - for (i = 0; i < noext_cnt; i++) { - if (is_extension_exist(name, noext[i], false)) { - f2fs_disable_compressed_file(inode); - return; - } - } - - if (is_inode_flag_set(inode, FI_COMPRESSED_FILE)) - return; - - for (i = 0; i < ext_cnt; i++) { - if (!is_extension_exist(name, ext[i], false)) - continue; - - /* Do not use inline_data with compression */ - stat_dec_inline_inode(inode); - clear_inode_flag(inode, FI_INLINE_DATA); - set_compress_context(inode); - return; - } -} - static int f2fs_create(struct user_namespace *mnt_userns, struct inode *dir, struct dentry *dentry, umode_t mode, bool excl) { @@ -352,15 +351,13 @@ if (err) return err; - inode = f2fs_new_inode(mnt_userns, dir, mode); + inode = f2fs_new_inode(mnt_userns, dir, mode, dentry->d_name.name); if (IS_ERR(inode)) return PTR_ERR(inode); if (!test_opt(sbi, DISABLE_EXT_IDENTIFY)) set_file_temperature(sbi, inode, dentry->d_name.name); - set_compress_inode(sbi, inode, dentry->d_name.name); - inode->i_op = &f2fs_file_inode_operations; inode->i_fop = &f2fs_file_operations; inode->i_mapping->a_ops = &f2fs_dblock_aops; @@ -689,7 +686,7 @@ if (err) return err; - inode = f2fs_new_inode(mnt_userns, dir, S_IFLNK | S_IRWXUGO); + inode = f2fs_new_inode(mnt_userns, dir, S_IFLNK | S_IRWXUGO, NULL); if (IS_ERR(inode)) return PTR_ERR(inode); @@ -760,7 +757,7 @@ if (err) return err; - inode = f2fs_new_inode(mnt_userns, dir, S_IFDIR | mode); + inode = f2fs_new_inode(mnt_userns, dir, S_IFDIR | mode, NULL); if (IS_ERR(inode)) return PTR_ERR(inode); @@ -817,7 +814,7 @@ if (err) return err; - inode = f2fs_new_inode(mnt_userns, dir, mode); + inode = f2fs_new_inode(mnt_userns, dir, mode, NULL); if (IS_ERR(inode)) return PTR_ERR(inode); @@ -856,7 +853,7 @@ if (err) return err; - inode = f2fs_new_inode(mnt_userns, dir, mode); + inode = f2fs_new_inode(mnt_userns, dir, mode, NULL); if (IS_ERR(inode)) return PTR_ERR(inode); --- linux-gcp-5.19.0.orig/fs/f2fs/node.c +++ linux-gcp-5.19.0/fs/f2fs/node.c @@ -1292,7 +1292,11 @@ dec_valid_node_count(sbi, dn->inode, !ofs); goto fail; } - f2fs_bug_on(sbi, new_ni.blk_addr != NULL_ADDR); + if (unlikely(new_ni.blk_addr != NULL_ADDR)) { + err = -EFSCORRUPTED; + set_sbi_flag(sbi, SBI_NEED_FSCK); + goto fail; + } #endif new_ni.nid = dn->nid; new_ni.ino = dn->inode->i_ino; @@ -1354,8 +1358,7 @@ return err; /* NEW_ADDR can be seen, after cp_error drops some dirty node pages */ - if (unlikely(ni.blk_addr == NULL_ADDR || ni.blk_addr == NEW_ADDR) || - is_sbi_flag_set(sbi, SBI_IS_SHUTDOWN)) { + if (unlikely(ni.blk_addr == NULL_ADDR || ni.blk_addr == NEW_ADDR)) { ClearPageUptodate(page); return -ENOENT; } --- linux-gcp-5.19.0.orig/fs/f2fs/recovery.c +++ linux-gcp-5.19.0/fs/f2fs/recovery.c @@ -474,7 +474,7 @@ struct dnode_of_data tdn = *dn; nid_t ino, nid; struct inode *inode; - unsigned int offset; + unsigned int offset, ofs_in_node, max_addrs; block_t bidx; int i; @@ -501,15 +501,24 @@ got_it: /* Use the locked dnode page and inode */ nid = le32_to_cpu(sum.nid); + ofs_in_node = le16_to_cpu(sum.ofs_in_node); + + max_addrs = ADDRS_PER_PAGE(dn->node_page, dn->inode); + if (ofs_in_node >= max_addrs) { + f2fs_err(sbi, "Inconsistent ofs_in_node:%u in summary, ino:%lu, nid:%u, max:%u", + ofs_in_node, dn->inode->i_ino, nid, max_addrs); + return -EFSCORRUPTED; + } + if (dn->inode->i_ino == nid) { tdn.nid = nid; if (!dn->inode_page_locked) lock_page(dn->inode_page); tdn.node_page = dn->inode_page; - tdn.ofs_in_node = le16_to_cpu(sum.ofs_in_node); + tdn.ofs_in_node = ofs_in_node; goto truncate_out; } else if (dn->nid == nid) { - tdn.ofs_in_node = le16_to_cpu(sum.ofs_in_node); + tdn.ofs_in_node = ofs_in_node; goto truncate_out; } @@ -698,6 +707,14 @@ goto err; } + if (f2fs_is_valid_blkaddr(sbi, dest, + DATA_GENERIC_ENHANCE_UPDATE)) { + f2fs_err(sbi, "Inconsistent dest blkaddr:%u, ino:%lu, ofs:%u", + dest, inode->i_ino, dn.ofs_in_node); + err = -EFSCORRUPTED; + goto err; + } + /* write dummy data page */ f2fs_replace_block(sbi, &dn, src, dest, ni.version, false, false); --- linux-gcp-5.19.0.orig/fs/f2fs/segment.c +++ linux-gcp-5.19.0/fs/f2fs/segment.c @@ -193,7 +193,7 @@ if (f2fs_is_atomic_file(inode)) { if (clean) truncate_inode_pages_final(inode->i_mapping); - clear_inode_flag(fi->cow_inode, FI_ATOMIC_FILE); + clear_inode_flag(fi->cow_inode, FI_COW_FILE); iput(fi->cow_inode); fi->cow_inode = NULL; clear_inode_flag(inode, FI_ATOMIC_FILE); @@ -469,7 +469,7 @@ mutex_lock(&sbi->flush_lock); blk_start_plug(&plug); - f2fs_sync_dirty_inodes(sbi, FILE_INODE); + f2fs_sync_dirty_inodes(sbi, FILE_INODE, false); blk_finish_plug(&plug); mutex_unlock(&sbi->flush_lock); @@ -1164,7 +1164,7 @@ atomic_inc(&dcc->issued_discard); - f2fs_update_iostat(sbi, FS_DISCARD, 1); + f2fs_update_iostat(sbi, FS_DISCARD, len * F2FS_BLKSIZE); lstart += len; start += len; @@ -1442,7 +1442,7 @@ if (i + 1 < dpolicy->granularity) break; - if (i < DEFAULT_DISCARD_GRANULARITY && dpolicy->ordered) + if (i + 1 < DEFAULT_DISCARD_GRANULARITY && dpolicy->ordered) return __issue_discard_cmd_orderly(sbi, dpolicy); pend_list = &dcc->pend_list[i]; @@ -2019,8 +2019,10 @@ dcc->f2fs_issue_discard = kthread_run(issue_discard_thread, sbi, "f2fs_discard-%u:%u", MAJOR(dev), MINOR(dev)); - if (IS_ERR(dcc->f2fs_issue_discard)) + if (IS_ERR(dcc->f2fs_issue_discard)) { err = PTR_ERR(dcc->f2fs_issue_discard); + dcc->f2fs_issue_discard = NULL; + } return err; } @@ -3166,7 +3168,7 @@ return CURSEG_COLD_DATA; if (file_is_hot(inode) || is_inode_flag_set(inode, FI_HOT_DATA) || - f2fs_is_atomic_file(inode)) + f2fs_is_cow_file(inode)) return CURSEG_HOT_DATA; return f2fs_rw_hint_to_seg_type(inode->i_write_hint); } else { @@ -4362,6 +4364,12 @@ return err; seg_info_from_raw_sit(se, &sit); + if (se->type >= NR_PERSISTENT_LOG) { + f2fs_err(sbi, "Invalid segment type: %u, segno: %u", + se->type, start); + return -EFSCORRUPTED; + } + sit_valid_blocks[SE_PAGETYPE(se)] += se->valid_blocks; if (f2fs_block_unit_discard(sbi)) { @@ -4410,6 +4418,13 @@ break; seg_info_from_raw_sit(se, &sit); + if (se->type >= NR_PERSISTENT_LOG) { + f2fs_err(sbi, "Invalid segment type: %u, segno: %u", + se->type, start); + err = -EFSCORRUPTED; + break; + } + sit_valid_blocks[SE_PAGETYPE(se)] += se->valid_blocks; if (f2fs_block_unit_discard(sbi)) { --- linux-gcp-5.19.0.orig/fs/f2fs/super.c +++ linux-gcp-5.19.0/fs/f2fs/super.c @@ -298,10 +298,10 @@ static inline void limit_reserve_root(struct f2fs_sb_info *sbi) { - block_t limit = min((sbi->user_block_count << 1) / 1000, + block_t limit = min((sbi->user_block_count >> 3), sbi->user_block_count - sbi->reserved_blocks); - /* limit is 0.2% */ + /* limit is 12.5% */ if (test_opt(sbi, RESERVE_ROOT) && F2FS_OPTION(sbi).root_reserved_blocks > limit) { F2FS_OPTION(sbi).root_reserved_blocks = limit; @@ -1637,9 +1637,8 @@ if (is_sbi_flag_set(F2FS_SB(sb), SBI_IS_DIRTY)) return -EINVAL; - /* ensure no checkpoint required */ - if (!llist_empty(&F2FS_SB(sb)->cprc_info.issue_list)) - return -EINVAL; + /* Let's flush checkpoints and stop the thread. */ + f2fs_flush_ckpt_thread(F2FS_SB(sb)); /* to avoid deadlock on f2fs_evict_inode->SB_FREEZE_FS */ set_sbi_flag(F2FS_SB(sb), SBI_IS_FREEZING); @@ -2146,6 +2145,9 @@ f2fs_up_write(&sbi->gc_lock); f2fs_sync_fs(sbi->sb, 1); + + /* Let's ensure there's no pending checkpoint anymore */ + f2fs_flush_ckpt_thread(sbi); } static int f2fs_remount(struct super_block *sb, int *flags, char *data) @@ -2311,6 +2313,9 @@ f2fs_stop_ckpt_thread(sbi); need_restart_ckpt = true; } else { + /* Flush if the prevous checkpoint, if exists. */ + f2fs_flush_ckpt_thread(sbi); + err = f2fs_start_ckpt_thread(sbi); if (err) { f2fs_err(sbi, @@ -4427,9 +4432,9 @@ f2fs_destroy_node_manager(sbi); free_sm: f2fs_destroy_segment_manager(sbi); - f2fs_destroy_post_read_wq(sbi); stop_ckpt_thread: f2fs_stop_ckpt_thread(sbi); + f2fs_destroy_post_read_wq(sbi); free_devices: destroy_device_list(sbi); kvfree(sbi->ckpt); --- linux-gcp-5.19.0.orig/fs/f2fs/verity.c +++ linux-gcp-5.19.0/fs/f2fs/verity.c @@ -262,13 +262,14 @@ pgoff_t index, unsigned long num_ra_pages) { - DEFINE_READAHEAD(ractl, NULL, NULL, inode->i_mapping, index); struct page *page; index += f2fs_verity_metadata_pos(inode) >> PAGE_SHIFT; page = find_get_page_flags(inode->i_mapping, index, FGP_ACCESSED); if (!page || !PageUptodate(page)) { + DEFINE_READAHEAD(ractl, NULL, NULL, inode->i_mapping, index); + if (page) put_page(page); else if (num_ra_pages > 1) --- linux-gcp-5.19.0.orig/fs/file.c +++ linux-gcp-5.19.0/fs/file.c @@ -797,6 +797,7 @@ { return pick_file(current->files, fd); } +EXPORT_SYMBOL(close_fd_get_file); /* * variant of close_fd that gets a ref on the file for later fput. @@ -1002,7 +1003,16 @@ struct files_struct *files = current->files; struct file *file; - if (atomic_read(&files->count) == 1) { + /* + * If another thread is concurrently calling close_fd() followed + * by put_files_struct(), we must not observe the old table + * entry combined with the new refcount - otherwise we could + * return a file that is concurrently being freed. + * + * atomic_read_acquire() pairs with atomic_dec_and_test() in + * put_files_struct(). + */ + if (atomic_read_acquire(&files->count) == 1) { file = files_lookup_fd_raw(files, fd); if (!file || unlikely(file->f_mode & mask)) return 0; --- linux-gcp-5.19.0.orig/fs/file_table.c +++ linux-gcp-5.19.0/fs/file_table.c @@ -321,12 +321,7 @@ } fops_put(file->f_op); put_pid(file->f_owner.pid); - if ((mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) - i_readcount_dec(inode); - if (mode & FMODE_WRITER) { - put_write_access(inode); - __mnt_drop_write(mnt); - } + put_file_access(file); dput(dentry); if (unlikely(mode & FMODE_NEED_UNMOUNT)) dissolve_on_fput(mnt); --- linux-gcp-5.19.0.orig/fs/fs-writeback.c +++ linux-gcp-5.19.0/fs/fs-writeback.c @@ -134,10 +134,10 @@ static void wb_wakeup(struct bdi_writeback *wb) { - spin_lock_bh(&wb->work_lock); + spin_lock_irq(&wb->work_lock); if (test_bit(WB_registered, &wb->state)) mod_delayed_work(bdi_wq, &wb->dwork, 0); - spin_unlock_bh(&wb->work_lock); + spin_unlock_irq(&wb->work_lock); } static void finish_writeback_work(struct bdi_writeback *wb, @@ -164,7 +164,7 @@ if (work->done) atomic_inc(&work->done->cnt); - spin_lock_bh(&wb->work_lock); + spin_lock_irq(&wb->work_lock); if (test_bit(WB_registered, &wb->state)) { list_add_tail(&work->list, &wb->work_list); @@ -172,7 +172,7 @@ } else finish_writeback_work(wb, work); - spin_unlock_bh(&wb->work_lock); + spin_unlock_irq(&wb->work_lock); } /** @@ -1712,15 +1712,28 @@ wb = inode_to_wb_and_lock_list(inode); spin_lock(&inode->i_lock); /* - * If the inode is now fully clean, then it can be safely removed from - * its writeback list (if any). Otherwise the flusher threads are - * responsible for the writeback lists. + * If the inode is freeing, its i_io_list shoudn't be updated + * as it can be finally deleted at this moment. */ - if (!(inode->i_state & I_DIRTY_ALL)) - inode_cgwb_move_to_attached(inode, wb); - else if (!(inode->i_state & I_SYNC_QUEUED) && - (inode->i_state & I_DIRTY)) - redirty_tail_locked(inode, wb); + if (!(inode->i_state & I_FREEING)) { + /* + * If the inode is now fully clean, then it can be safely + * removed from its writeback list (if any). Otherwise the + * flusher threads are responsible for the writeback lists. + */ + if (!(inode->i_state & I_DIRTY_ALL)) + inode_cgwb_move_to_attached(inode, wb); + else if (!(inode->i_state & I_SYNC_QUEUED)) { + if ((inode->i_state & I_DIRTY)) + redirty_tail_locked(inode, wb); + else if (inode->i_state & I_DIRTY_TIME) { + inode->dirtied_when = jiffies; + inode_io_list_move_locked(inode, + wb, + &wb->b_dirty_time); + } + } + } spin_unlock(&wb->list_lock); inode_sync_complete(inode); @@ -2082,13 +2095,13 @@ { struct wb_writeback_work *work = NULL; - spin_lock_bh(&wb->work_lock); + spin_lock_irq(&wb->work_lock); if (!list_empty(&wb->work_list)) { work = list_entry(wb->work_list.next, struct wb_writeback_work, list); list_del_init(&work->list); } - spin_unlock_bh(&wb->work_lock); + spin_unlock_irq(&wb->work_lock); return work; } @@ -2370,6 +2383,20 @@ if (flags & I_DIRTY_INODE) { /* + * Inode timestamp update will piggback on this dirtying. + * We tell ->dirty_inode callback that timestamps need to + * be updated by setting I_DIRTY_TIME in flags. + */ + if (inode->i_state & I_DIRTY_TIME) { + spin_lock(&inode->i_lock); + if (inode->i_state & I_DIRTY_TIME) { + inode->i_state &= ~I_DIRTY_TIME; + flags |= I_DIRTY_TIME; + } + spin_unlock(&inode->i_lock); + } + + /* * Notify the filesystem about the inode being dirtied, so that * (if needed) it can update on-disk fields and journal the * inode. This is only needed when the inode itself is being @@ -2378,7 +2405,8 @@ */ trace_writeback_dirty_inode_start(inode, flags); if (sb->s_op->dirty_inode) - sb->s_op->dirty_inode(inode, flags & I_DIRTY_INODE); + sb->s_op->dirty_inode(inode, + flags & (I_DIRTY_INODE | I_DIRTY_TIME)); trace_writeback_dirty_inode(inode, flags); /* I_DIRTY_INODE supersedes I_DIRTY_TIME. */ @@ -2399,21 +2427,15 @@ */ smp_mb(); - if (((inode->i_state & flags) == flags) || - (dirtytime && (inode->i_state & I_DIRTY_INODE))) + if ((inode->i_state & flags) == flags) return; spin_lock(&inode->i_lock); - if (dirtytime && (inode->i_state & I_DIRTY_INODE)) - goto out_unlock_inode; if ((inode->i_state & flags) != flags) { const int was_dirty = inode->i_state & I_DIRTY; inode_attach_wb(inode, NULL); - /* I_DIRTY_INODE supersedes I_DIRTY_TIME. */ - if (flags & I_DIRTY_INODE) - inode->i_state &= ~I_DIRTY_TIME; inode->i_state |= flags; /* @@ -2486,7 +2508,6 @@ out_unlock: if (wb) spin_unlock(&wb->list_lock); -out_unlock_inode: spin_unlock(&inode->i_lock); } EXPORT_SYMBOL(__mark_inode_dirty); --- linux-gcp-5.19.0.orig/fs/fs_context.c +++ linux-gcp-5.19.0/fs/fs_context.c @@ -548,7 +548,7 @@ param->key); } - if (size + len + 2 > PAGE_SIZE) + if (len > PAGE_SIZE || size + len + 2 > PAGE_SIZE) return invalf(fc, "VFS: Legacy: Cumulative options too large"); if (strchr(param->key, ',') || (param->type == fs_value_is_string && --- linux-gcp-5.19.0.orig/fs/fs_parser.c +++ linux-gcp-5.19.0/fs/fs_parser.c @@ -138,15 +138,16 @@ * @fc: The filesystem context to log errors through. * @param: The parameter. * @want_bdev: T if want a blockdev + * @flags: Pathwalk flags passed to filename_lookup() * @_path: The result of the lookup */ int fs_lookup_param(struct fs_context *fc, struct fs_parameter *param, bool want_bdev, + unsigned int flags, struct path *_path) { struct filename *f; - unsigned int flags = 0; bool put_f; int ret; --- linux-gcp-5.19.0.orig/fs/fscache/cookie.c +++ linux-gcp-5.19.0/fs/fscache/cookie.c @@ -603,6 +603,14 @@ set_bit(FSCACHE_COOKIE_DO_PREP_TO_WRITE, &cookie->flags); queue = true; } + /* + * We could race with cookie_lru which may set LRU_DISCARD bit + * but has yet to run the cookie state machine. If this happens + * and another thread tries to use the cookie, clear LRU_DISCARD + * so we don't end up withdrawing the cookie while in use. + */ + if (test_and_clear_bit(FSCACHE_COOKIE_DO_LRU_DISCARD, &cookie->flags)) + fscache_see_cookie(cookie, fscache_cookie_see_lru_discard_clear); break; case FSCACHE_COOKIE_STATE_FAILED: @@ -739,6 +747,9 @@ fallthrough; case FSCACHE_COOKIE_STATE_FAILED: + if (test_and_clear_bit(FSCACHE_COOKIE_DO_INVALIDATE, &cookie->flags)) + fscache_end_cookie_access(cookie, fscache_access_invalidate_cookie_end); + if (atomic_read(&cookie->n_accesses) != 0) break; if (test_bit(FSCACHE_COOKIE_DO_RELINQUISH, &cookie->flags)) { @@ -1063,8 +1074,8 @@ return; case FSCACHE_COOKIE_STATE_LOOKING_UP: - __fscache_begin_cookie_access(cookie, fscache_access_invalidate_cookie); - set_bit(FSCACHE_COOKIE_DO_INVALIDATE, &cookie->flags); + if (!test_and_set_bit(FSCACHE_COOKIE_DO_INVALIDATE, &cookie->flags)) + __fscache_begin_cookie_access(cookie, fscache_access_invalidate_cookie); fallthrough; case FSCACHE_COOKIE_STATE_CREATING: spin_unlock(&cookie->lock); --- linux-gcp-5.19.0.orig/fs/fscache/volume.c +++ linux-gcp-5.19.0/fs/fscache/volume.c @@ -141,13 +141,14 @@ static void fscache_wait_on_volume_collision(struct fscache_volume *candidate, unsigned int collidee_debug_id) { - wait_var_event_timeout(&candidate->flags, - !fscache_is_acquire_pending(candidate), 20 * HZ); + wait_on_bit_timeout(&candidate->flags, FSCACHE_VOLUME_ACQUIRE_PENDING, + TASK_UNINTERRUPTIBLE, 20 * HZ); if (fscache_is_acquire_pending(candidate)) { pr_notice("Potential volume collision new=%08x old=%08x", candidate->debug_id, collidee_debug_id); fscache_stat(&fscache_n_volumes_collision); - wait_var_event(&candidate->flags, !fscache_is_acquire_pending(candidate)); + wait_on_bit(&candidate->flags, FSCACHE_VOLUME_ACQUIRE_PENDING, + TASK_UNINTERRUPTIBLE); } } @@ -203,7 +204,11 @@ struct fscache_volume *volume; struct fscache_cache *cache; size_t klen, hlen; - char *key; + u8 *key; + + klen = strlen(volume_key); + if (klen > NAME_MAX) + return NULL; if (!coherency_data) coherency_len = 0; @@ -229,7 +234,6 @@ /* Stick the length on the front of the key and pad it out to make * hashing easier. */ - klen = strlen(volume_key); hlen = round_up(1 + klen + 1, sizeof(__le32)); key = kzalloc(hlen, GFP_KERNEL); if (!key) @@ -344,8 +348,8 @@ hlist_bl_for_each_entry(cursor, p, h, hash_link) { if (fscache_volume_same(cursor, volume)) { fscache_see_volume(cursor, fscache_volume_see_hash_wake); - clear_bit(FSCACHE_VOLUME_ACQUIRE_PENDING, &cursor->flags); - wake_up_bit(&cursor->flags, FSCACHE_VOLUME_ACQUIRE_PENDING); + clear_and_wake_up_bit(FSCACHE_VOLUME_ACQUIRE_PENDING, + &cursor->flags); return; } } --- linux-gcp-5.19.0.orig/fs/fuse/control.c +++ linux-gcp-5.19.0/fs/fuse/control.c @@ -258,7 +258,7 @@ struct dentry *parent; char name[32]; - if (!fuse_control_sb) + if (!fuse_control_sb || fc->no_control) return 0; parent = fuse_control_sb->s_root; @@ -296,7 +296,7 @@ { int i; - if (!fuse_control_sb) + if (!fuse_control_sb || fc->no_control) return; for (i = fc->ctl_ndents - 1; i >= 0; i--) { --- linux-gcp-5.19.0.orig/fs/fuse/dir.c +++ linux-gcp-5.19.0/fs/fuse/dir.c @@ -464,29 +464,29 @@ { struct fuse_secctx *fctx; struct fuse_secctx_header *header; - void *ctx = NULL, *ptr; - u32 ctxlen, total_len = sizeof(*header); + struct lsmcontext lsmctx = { }; + void *ptr; + u32 total_len = sizeof(*header); int err, nr_ctx = 0; - const char *name; + const char *name = NULL; size_t namelen; err = security_dentry_init_security(entry, mode, &entry->d_name, - &name, &ctx, &ctxlen); - if (err) { - if (err != -EOPNOTSUPP) - goto out_err; - /* No LSM is supporting this security hook. Ignore error */ - ctxlen = 0; - ctx = NULL; - } + &name, &lsmctx); + + /* If no LSM is supporting this security hook ignore error */ + if (err && err != -EOPNOTSUPP) + goto out_err; - if (ctxlen) { + if (lsmctx.len) { nr_ctx = 1; namelen = strlen(name) + 1; err = -EIO; - if (WARN_ON(namelen > XATTR_NAME_MAX + 1 || ctxlen > S32_MAX)) + if (WARN_ON(namelen > XATTR_NAME_MAX + 1 || + lsmctx.len > S32_MAX)) goto out_err; - total_len += FUSE_REC_ALIGN(sizeof(*fctx) + namelen + ctxlen); + total_len += FUSE_REC_ALIGN(sizeof(*fctx) + namelen + + lsmctx.len); } err = -ENOMEM; @@ -499,19 +499,20 @@ ptr += sizeof(*header); if (nr_ctx) { fctx = ptr; - fctx->size = ctxlen; + fctx->size = lsmctx.len; ptr += sizeof(*fctx); strcpy(ptr, name); ptr += namelen; - memcpy(ptr, ctx, ctxlen); + memcpy(ptr, lsmctx.context, lsmctx.len); } *security_ctxlen = total_len; *security_ctx = header; err = 0; out_err: - kfree(ctx); + if (nr_ctx) + security_release_secctx(&lsmctx); return err; } @@ -537,6 +538,7 @@ struct fuse_file *ff; void *security_ctx = NULL; u32 security_ctxlen; + bool trunc = flags & O_TRUNC; /* Userspace expects S_IFREG in create mode */ BUG_ON((mode & S_IFMT) != S_IFREG); @@ -561,7 +563,7 @@ inarg.mode = mode; inarg.umask = current_umask(); - if (fm->fc->handle_killpriv_v2 && (flags & O_TRUNC) && + if (fm->fc->handle_killpriv_v2 && trunc && !(flags & O_EXCL) && !capable(CAP_FSETID)) { inarg.open_flags |= FUSE_OPEN_KILL_SUIDGID; } @@ -623,6 +625,10 @@ } else { file->private_data = ff; fuse_finish_open(inode, file); + if (fm->fc->atomic_o_trunc && trunc) + truncate_pagecache(inode, 0); + else if (!(ff->open_flags & FOPEN_KEEP_CACHE)) + invalidate_inode_pages2(inode->i_mapping); } return err; --- linux-gcp-5.19.0.orig/fs/fuse/file.c +++ linux-gcp-5.19.0/fs/fuse/file.c @@ -210,13 +210,9 @@ fi->attr_version = atomic64_inc_return(&fc->attr_version); i_size_write(inode, 0); spin_unlock(&fi->lock); - truncate_pagecache(inode, 0); file_update_time(file); fuse_invalidate_attr_mask(inode, FUSE_STATX_MODSIZE); - } else if (!(ff->open_flags & FOPEN_KEEP_CACHE)) { - invalidate_inode_pages2(inode->i_mapping); } - if ((file->f_mode & FMODE_WRITE) && fc->writeback_cache) fuse_link_write_file(file); } @@ -239,30 +235,38 @@ if (err) return err; - if (is_wb_truncate || dax_truncate) { + if (is_wb_truncate || dax_truncate) inode_lock(inode); - fuse_set_nowrite(inode); - } if (dax_truncate) { filemap_invalidate_lock(inode->i_mapping); err = fuse_dax_break_layouts(inode, 0, 0); if (err) - goto out; + goto out_inode_unlock; } + if (is_wb_truncate || dax_truncate) + fuse_set_nowrite(inode); + err = fuse_do_open(fm, get_node_id(inode), file, isdir); if (!err) fuse_finish_open(inode, file); -out: + if (is_wb_truncate || dax_truncate) + fuse_release_nowrite(inode); + if (!err) { + struct fuse_file *ff = file->private_data; + + if (fc->atomic_o_trunc && (file->f_flags & O_TRUNC)) + truncate_pagecache(inode, 0); + else if (!(ff->open_flags & FOPEN_KEEP_CACHE)) + invalidate_inode_pages2(inode->i_mapping); + } if (dax_truncate) filemap_invalidate_unlock(inode->i_mapping); - - if (is_wb_truncate | dax_truncate) { - fuse_release_nowrite(inode); +out_inode_unlock: + if (is_wb_truncate || dax_truncate) inode_unlock(inode); - } return err; } @@ -338,6 +342,15 @@ static int fuse_release(struct inode *inode, struct file *file) { + struct fuse_conn *fc = get_fuse_conn(inode); + + /* + * Dirty pages might remain despite write_inode_now() call from + * fuse_flush() due to writes racing with the close. + */ + if (fc->writeback_cache) + write_inode_now(inode, 1); + fuse_release_common(file, false); /* return value is ignored by VFS */ @@ -2951,11 +2964,9 @@ .mode = mode }; int err; - bool lock_inode = !(mode & FALLOC_FL_KEEP_SIZE) || - (mode & (FALLOC_FL_PUNCH_HOLE | - FALLOC_FL_ZERO_RANGE)); - - bool block_faults = FUSE_IS_DAX(inode) && lock_inode; + bool block_faults = FUSE_IS_DAX(inode) && + (!(mode & FALLOC_FL_KEEP_SIZE) || + (mode & (FALLOC_FL_PUNCH_HOLE | FALLOC_FL_ZERO_RANGE))); if (mode & ~(FALLOC_FL_KEEP_SIZE | FALLOC_FL_PUNCH_HOLE | FALLOC_FL_ZERO_RANGE)) @@ -2964,22 +2975,20 @@ if (fm->fc->no_fallocate) return -EOPNOTSUPP; - if (lock_inode) { - inode_lock(inode); - if (block_faults) { - filemap_invalidate_lock(inode->i_mapping); - err = fuse_dax_break_layouts(inode, 0, 0); - if (err) - goto out; - } + inode_lock(inode); + if (block_faults) { + filemap_invalidate_lock(inode->i_mapping); + err = fuse_dax_break_layouts(inode, 0, 0); + if (err) + goto out; + } - if (mode & (FALLOC_FL_PUNCH_HOLE | FALLOC_FL_ZERO_RANGE)) { - loff_t endbyte = offset + length - 1; - - err = fuse_writeback_range(inode, offset, endbyte); - if (err) - goto out; - } + if (mode & (FALLOC_FL_PUNCH_HOLE | FALLOC_FL_ZERO_RANGE)) { + loff_t endbyte = offset + length - 1; + + err = fuse_writeback_range(inode, offset, endbyte); + if (err) + goto out; } if (!(mode & FALLOC_FL_KEEP_SIZE) && @@ -2989,6 +2998,10 @@ goto out; } + err = file_modified(file); + if (err) + goto out; + if (!(mode & FALLOC_FL_KEEP_SIZE)) set_bit(FUSE_I_SIZE_UNSTABLE, &fi->state); @@ -3023,8 +3036,7 @@ if (block_faults) filemap_invalidate_unlock(inode->i_mapping); - if (lock_inode) - inode_unlock(inode); + inode_unlock(inode); fuse_flush_time_update(inode); --- linux-gcp-5.19.0.orig/fs/fuse/inode.c +++ linux-gcp-5.19.0/fs/fuse/inode.c @@ -180,6 +180,12 @@ inode->i_uid = make_kuid(fc->user_ns, attr->uid); inode->i_gid = make_kgid(fc->user_ns, attr->gid); inode->i_blocks = attr->blocks; + + /* Sanitize nsecs */ + attr->atimensec = min_t(u32, attr->atimensec, NSEC_PER_SEC - 1); + attr->mtimensec = min_t(u32, attr->mtimensec, NSEC_PER_SEC - 1); + attr->ctimensec = min_t(u32, attr->ctimensec, NSEC_PER_SEC - 1); + inode->i_atime.tv_sec = attr->atime; inode->i_atime.tv_nsec = attr->atimensec; /* mtime from server may be stale due to local buffered write */ --- linux-gcp-5.19.0.orig/fs/fuse/ioctl.c +++ linux-gcp-5.19.0/fs/fuse/ioctl.c @@ -9,6 +9,17 @@ #include #include +static ssize_t fuse_send_ioctl(struct fuse_mount *fm, struct fuse_args *args) +{ + ssize_t ret = fuse_simple_request(fm, args); + + /* Translate ENOSYS, which shouldn't be returned from fs */ + if (ret == -ENOSYS) + ret = -ENOTTY; + + return ret; +} + /* * CUSE servers compiled on 32bit broke on 64bit kernels because the * ABI was defined to be 'struct iovec' which is different on 32bit @@ -259,7 +270,7 @@ ap.args.out_pages = true; ap.args.out_argvar = true; - transferred = fuse_simple_request(fm, &ap.args); + transferred = fuse_send_ioctl(fm, &ap.args); err = transferred; if (transferred < 0) goto out; @@ -393,7 +404,7 @@ args.out_args[1].size = inarg.out_size; args.out_args[1].value = ptr; - err = fuse_simple_request(fm, &args); + err = fuse_send_ioctl(fm, &args); if (!err) { if (outarg.result < 0) err = outarg.result; @@ -408,6 +419,12 @@ struct fuse_mount *fm = get_fuse_mount(inode); bool isdir = S_ISDIR(inode->i_mode); + if (!fuse_allow_current_process(fm->fc)) + return ERR_PTR(-EACCES); + + if (fuse_is_bad(inode)) + return ERR_PTR(-EIO); + if (!S_ISREG(inode->i_mode) && !isdir) return ERR_PTR(-ENOTTY); --- linux-gcp-5.19.0.orig/fs/fuse/readdir.c +++ linux-gcp-5.19.0/fs/fuse/readdir.c @@ -77,8 +77,10 @@ goto unlock; addr = kmap_local_page(page); - if (!offset) + if (!offset) { clear_page(addr); + SetPageUptodate(page); + } memcpy(addr + offset, dirent, reclen); kunmap_local(addr); fi->rdc.size = (index << PAGE_SHIFT) + offset + reclen; @@ -516,6 +518,12 @@ page = find_get_page_flags(file->f_mapping, index, FGP_ACCESSED | FGP_LOCK); + /* Page gone missing, then re-added to cache, but not initialized? */ + if (page && !PageUptodate(page)) { + unlock_page(page); + put_page(page); + page = NULL; + } spin_lock(&fi->rdc.lock); if (!page) { /* --- linux-gcp-5.19.0.orig/fs/gfs2/aops.c +++ linux-gcp-5.19.0/fs/gfs2/aops.c @@ -152,7 +152,6 @@ { struct inode *inode = page->mapping->host; struct gfs2_inode *ip = GFS2_I(inode); - struct gfs2_sbd *sdp = GFS2_SB(inode); if (PageChecked(page)) { ClearPageChecked(page); @@ -160,7 +159,7 @@ create_empty_buffers(page, inode->i_sb->s_blocksize, BIT(BH_Dirty)|BIT(BH_Uptodate)); } - gfs2_page_add_databufs(ip, page, 0, sdp->sd_vfs->s_blocksize); + gfs2_page_add_databufs(ip, page, 0, PAGE_SIZE); } return gfs2_write_jdata_page(page, wbc); } @@ -452,8 +451,6 @@ return error; kaddr = kmap_atomic(page); - if (dsize > gfs2_max_stuffed_size(ip)) - dsize = gfs2_max_stuffed_size(ip); memcpy(kaddr, dibh->b_data + sizeof(struct gfs2_dinode), dsize); memset(kaddr + dsize, 0, PAGE_SIZE - dsize); kunmap_atomic(kaddr); --- linux-gcp-5.19.0.orig/fs/gfs2/bmap.c +++ linux-gcp-5.19.0/fs/gfs2/bmap.c @@ -61,9 +61,6 @@ void *kaddr = kmap(page); u64 dsize = i_size_read(inode); - if (dsize > gfs2_max_stuffed_size(ip)) - dsize = gfs2_max_stuffed_size(ip); - memcpy(kaddr, dibh->b_data + sizeof(struct gfs2_dinode), dsize); memset(kaddr + dsize, 0, PAGE_SIZE - dsize); kunmap(page); --- linux-gcp-5.19.0.orig/fs/gfs2/glops.c +++ linux-gcp-5.19.0/fs/gfs2/glops.c @@ -397,38 +397,39 @@ struct timespec64 atime; u16 height, depth; umode_t mode = be32_to_cpu(str->di_mode); - bool is_new = ip->i_inode.i_state & I_NEW; + struct inode *inode = &ip->i_inode; + bool is_new = inode->i_state & I_NEW; if (unlikely(ip->i_no_addr != be64_to_cpu(str->di_num.no_addr))) goto corrupt; - if (unlikely(!is_new && inode_wrong_type(&ip->i_inode, mode))) + if (unlikely(!is_new && inode_wrong_type(inode, mode))) goto corrupt; ip->i_no_formal_ino = be64_to_cpu(str->di_num.no_formal_ino); - ip->i_inode.i_mode = mode; + inode->i_mode = mode; if (is_new) { - ip->i_inode.i_rdev = 0; + inode->i_rdev = 0; switch (mode & S_IFMT) { case S_IFBLK: case S_IFCHR: - ip->i_inode.i_rdev = MKDEV(be32_to_cpu(str->di_major), - be32_to_cpu(str->di_minor)); + inode->i_rdev = MKDEV(be32_to_cpu(str->di_major), + be32_to_cpu(str->di_minor)); break; } } - i_uid_write(&ip->i_inode, be32_to_cpu(str->di_uid)); - i_gid_write(&ip->i_inode, be32_to_cpu(str->di_gid)); - set_nlink(&ip->i_inode, be32_to_cpu(str->di_nlink)); - i_size_write(&ip->i_inode, be64_to_cpu(str->di_size)); - gfs2_set_inode_blocks(&ip->i_inode, be64_to_cpu(str->di_blocks)); + i_uid_write(inode, be32_to_cpu(str->di_uid)); + i_gid_write(inode, be32_to_cpu(str->di_gid)); + set_nlink(inode, be32_to_cpu(str->di_nlink)); + i_size_write(inode, be64_to_cpu(str->di_size)); + gfs2_set_inode_blocks(inode, be64_to_cpu(str->di_blocks)); atime.tv_sec = be64_to_cpu(str->di_atime); atime.tv_nsec = be32_to_cpu(str->di_atime_nsec); - if (timespec64_compare(&ip->i_inode.i_atime, &atime) < 0) - ip->i_inode.i_atime = atime; - ip->i_inode.i_mtime.tv_sec = be64_to_cpu(str->di_mtime); - ip->i_inode.i_mtime.tv_nsec = be32_to_cpu(str->di_mtime_nsec); - ip->i_inode.i_ctime.tv_sec = be64_to_cpu(str->di_ctime); - ip->i_inode.i_ctime.tv_nsec = be32_to_cpu(str->di_ctime_nsec); + if (timespec64_compare(&inode->i_atime, &atime) < 0) + inode->i_atime = atime; + inode->i_mtime.tv_sec = be64_to_cpu(str->di_mtime); + inode->i_mtime.tv_nsec = be32_to_cpu(str->di_mtime_nsec); + inode->i_ctime.tv_sec = be64_to_cpu(str->di_ctime); + inode->i_ctime.tv_nsec = be32_to_cpu(str->di_ctime_nsec); ip->i_goal = be64_to_cpu(str->di_goal_meta); ip->i_generation = be64_to_cpu(str->di_generation); @@ -436,7 +437,7 @@ ip->i_diskflags = be32_to_cpu(str->di_flags); ip->i_eattr = be64_to_cpu(str->di_eattr); /* i_diskflags and i_eattr must be set before gfs2_set_inode_flags() */ - gfs2_set_inode_flags(&ip->i_inode); + gfs2_set_inode_flags(inode); height = be16_to_cpu(str->di_height); if (unlikely(height > GFS2_MAX_META_HEIGHT)) goto corrupt; @@ -448,8 +449,11 @@ ip->i_depth = (u8)depth; ip->i_entries = be32_to_cpu(str->di_entries); - if (S_ISREG(ip->i_inode.i_mode)) - gfs2_set_aops(&ip->i_inode); + if (gfs2_is_stuffed(ip) && inode->i_size > gfs2_max_stuffed_size(ip)) + goto corrupt; + + if (S_ISREG(inode->i_mode)) + gfs2_set_aops(inode); return 0; corrupt: --- linux-gcp-5.19.0.orig/fs/gfs2/ops_fstype.c +++ linux-gcp-5.19.0/fs/gfs2/ops_fstype.c @@ -180,7 +180,10 @@ pr_warn("Invalid block size\n"); return -EINVAL; } - + if (sb->sb_bsize_shift != ffs(sb->sb_bsize) - 1) { + pr_warn("Invalid block size shift\n"); + return -EINVAL; + } return 0; } @@ -383,8 +386,10 @@ if (!table[0]) table = sdp->sd_vfs->s_id; - strlcpy(sdp->sd_proto_name, proto, GFS2_FSNAME_LEN); - strlcpy(sdp->sd_table_name, table, GFS2_FSNAME_LEN); + BUILD_BUG_ON(GFS2_LOCKNAME_LEN > GFS2_FSNAME_LEN); + + strscpy(sdp->sd_proto_name, proto, GFS2_LOCKNAME_LEN); + strscpy(sdp->sd_table_name, table, GFS2_LOCKNAME_LEN); table = sdp->sd_table_name; while ((table = strchr(table, '/'))) @@ -1441,13 +1446,13 @@ switch (o) { case Opt_lockproto: - strlcpy(args->ar_lockproto, param->string, GFS2_LOCKNAME_LEN); + strscpy(args->ar_lockproto, param->string, GFS2_LOCKNAME_LEN); break; case Opt_locktable: - strlcpy(args->ar_locktable, param->string, GFS2_LOCKNAME_LEN); + strscpy(args->ar_locktable, param->string, GFS2_LOCKNAME_LEN); break; case Opt_hostdata: - strlcpy(args->ar_hostdata, param->string, GFS2_LOCKNAME_LEN); + strscpy(args->ar_hostdata, param->string, GFS2_LOCKNAME_LEN); break; case Opt_spectator: args->ar_spectator = 1; --- linux-gcp-5.19.0.orig/fs/gfs2/super.c +++ linux-gcp-5.19.0/fs/gfs2/super.c @@ -138,8 +138,10 @@ return -EIO; error = gfs2_find_jhead(sdp->sd_jdesc, &head, false); - if (error || gfs2_withdrawn(sdp)) + if (error) { + gfs2_consist(sdp); return error; + } if (!(head.lh_flags & GFS2_LOG_HEAD_UNMOUNT)) { gfs2_consist(sdp); @@ -151,7 +153,9 @@ gfs2_log_pointers_init(sdp, head.lh_blkno); error = gfs2_quota_init(sdp); - if (!error && !gfs2_withdrawn(sdp)) + if (!error && gfs2_withdrawn(sdp)) + error = -EIO; + if (!error) set_bit(SDF_JOURNAL_LIVE, &sdp->sd_flags); return error; } @@ -378,6 +382,7 @@ void gfs2_dinode_out(const struct gfs2_inode *ip, void *buf) { + const struct inode *inode = &ip->i_inode; struct gfs2_dinode *str = buf; str->di_header.mh_magic = cpu_to_be32(GFS2_MAGIC); @@ -385,15 +390,15 @@ str->di_header.mh_format = cpu_to_be32(GFS2_FORMAT_DI); str->di_num.no_addr = cpu_to_be64(ip->i_no_addr); str->di_num.no_formal_ino = cpu_to_be64(ip->i_no_formal_ino); - str->di_mode = cpu_to_be32(ip->i_inode.i_mode); - str->di_uid = cpu_to_be32(i_uid_read(&ip->i_inode)); - str->di_gid = cpu_to_be32(i_gid_read(&ip->i_inode)); - str->di_nlink = cpu_to_be32(ip->i_inode.i_nlink); - str->di_size = cpu_to_be64(i_size_read(&ip->i_inode)); - str->di_blocks = cpu_to_be64(gfs2_get_inode_blocks(&ip->i_inode)); - str->di_atime = cpu_to_be64(ip->i_inode.i_atime.tv_sec); - str->di_mtime = cpu_to_be64(ip->i_inode.i_mtime.tv_sec); - str->di_ctime = cpu_to_be64(ip->i_inode.i_ctime.tv_sec); + str->di_mode = cpu_to_be32(inode->i_mode); + str->di_uid = cpu_to_be32(i_uid_read(inode)); + str->di_gid = cpu_to_be32(i_gid_read(inode)); + str->di_nlink = cpu_to_be32(inode->i_nlink); + str->di_size = cpu_to_be64(i_size_read(inode)); + str->di_blocks = cpu_to_be64(gfs2_get_inode_blocks(inode)); + str->di_atime = cpu_to_be64(inode->i_atime.tv_sec); + str->di_mtime = cpu_to_be64(inode->i_mtime.tv_sec); + str->di_ctime = cpu_to_be64(inode->i_ctime.tv_sec); str->di_goal_meta = cpu_to_be64(ip->i_goal); str->di_goal_data = cpu_to_be64(ip->i_goal); @@ -401,16 +406,16 @@ str->di_flags = cpu_to_be32(ip->i_diskflags); str->di_height = cpu_to_be16(ip->i_height); - str->di_payload_format = cpu_to_be32(S_ISDIR(ip->i_inode.i_mode) && + str->di_payload_format = cpu_to_be32(S_ISDIR(inode->i_mode) && !(ip->i_diskflags & GFS2_DIF_EXHASH) ? GFS2_FORMAT_DE : 0); str->di_depth = cpu_to_be16(ip->i_depth); str->di_entries = cpu_to_be32(ip->i_entries); str->di_eattr = cpu_to_be64(ip->i_eattr); - str->di_atime_nsec = cpu_to_be32(ip->i_inode.i_atime.tv_nsec); - str->di_mtime_nsec = cpu_to_be32(ip->i_inode.i_mtime.tv_nsec); - str->di_ctime_nsec = cpu_to_be32(ip->i_inode.i_ctime.tv_nsec); + str->di_atime_nsec = cpu_to_be32(inode->i_atime.tv_nsec); + str->di_mtime_nsec = cpu_to_be32(inode->i_mtime.tv_nsec); + str->di_ctime_nsec = cpu_to_be32(inode->i_ctime.tv_nsec); } /** --- linux-gcp-5.19.0.orig/fs/hfs/bnode.c +++ linux-gcp-5.19.0/fs/hfs/bnode.c @@ -281,6 +281,7 @@ tree->node_hash[hash] = node; tree->node_hash_cnt++; } else { + hfs_bnode_get(node2); spin_unlock(&tree->hash_lock); kfree(node); wait_event(node2->lock_wq, !test_bit(HFS_BNODE_NEW, &node2->flags)); --- linux-gcp-5.19.0.orig/fs/hfs/inode.c +++ linux-gcp-5.19.0/fs/hfs/inode.c @@ -458,13 +458,16 @@ /* panic? */ return -EIO; + res = -EIO; + if (HFS_I(main_inode)->cat_key.CName.len > HFS_NAMELEN) + goto out; fd.search_key->cat = HFS_I(main_inode)->cat_key; if (hfs_brec_find(&fd)) - /* panic? */ goto out; if (S_ISDIR(main_inode->i_mode)) { - WARN_ON(fd.entrylength < sizeof(struct hfs_cat_dir)); + if (fd.entrylength < sizeof(struct hfs_cat_dir)) + goto out; hfs_bnode_read(fd.bnode, &rec, fd.entryoffset, sizeof(struct hfs_cat_dir)); if (rec.type != HFS_CDR_DIR || @@ -477,6 +480,8 @@ hfs_bnode_write(fd.bnode, &rec, fd.entryoffset, sizeof(struct hfs_cat_dir)); } else if (HFS_IS_RSRC(inode)) { + if (fd.entrylength < sizeof(struct hfs_cat_file)) + goto out; hfs_bnode_read(fd.bnode, &rec, fd.entryoffset, sizeof(struct hfs_cat_file)); hfs_inode_write_fork(inode, rec.file.RExtRec, @@ -484,7 +489,8 @@ hfs_bnode_write(fd.bnode, &rec, fd.entryoffset, sizeof(struct hfs_cat_file)); } else { - WARN_ON(fd.entrylength < sizeof(struct hfs_cat_file)); + if (fd.entrylength < sizeof(struct hfs_cat_file)) + goto out; hfs_bnode_read(fd.bnode, &rec, fd.entryoffset, sizeof(struct hfs_cat_file)); if (rec.type != HFS_CDR_FIL || @@ -501,9 +507,10 @@ hfs_bnode_write(fd.bnode, &rec, fd.entryoffset, sizeof(struct hfs_cat_file)); } + res = 0; out: hfs_find_exit(&fd); - return 0; + return res; } static struct dentry *hfs_file_lookup(struct inode *dir, struct dentry *dentry, --- linux-gcp-5.19.0.orig/fs/hfs/trans.c +++ linux-gcp-5.19.0/fs/hfs/trans.c @@ -109,7 +109,7 @@ if (nls_io) { wchar_t ch; - while (srclen > 0) { + while (srclen > 0 && dstlen > 0) { size = nls_io->char2uni(src, srclen, &ch); if (size < 0) { ch = '?'; --- linux-gcp-5.19.0.orig/fs/hfsplus/hfsplus_fs.h +++ linux-gcp-5.19.0/fs/hfsplus/hfsplus_fs.h @@ -198,6 +198,8 @@ #define HFSPLUS_SB_HFSX 3 #define HFSPLUS_SB_CASEFOLD 4 #define HFSPLUS_SB_NOBARRIER 5 +#define HFSPLUS_SB_UID 6 +#define HFSPLUS_SB_GID 7 static inline struct hfsplus_sb_info *HFSPLUS_SB(struct super_block *sb) { --- linux-gcp-5.19.0.orig/fs/hfsplus/inode.c +++ linux-gcp-5.19.0/fs/hfsplus/inode.c @@ -192,11 +192,11 @@ mode = be16_to_cpu(perms->mode); i_uid_write(inode, be32_to_cpu(perms->owner)); - if (!i_uid_read(inode) && !mode) + if ((test_bit(HFSPLUS_SB_UID, &sbi->flags)) || (!i_uid_read(inode) && !mode)) inode->i_uid = sbi->uid; i_gid_write(inode, be32_to_cpu(perms->group)); - if (!i_gid_read(inode) && !mode) + if ((test_bit(HFSPLUS_SB_GID, &sbi->flags)) || (!i_gid_read(inode) && !mode)) inode->i_gid = sbi->gid; if (dir) { --- linux-gcp-5.19.0.orig/fs/hfsplus/options.c +++ linux-gcp-5.19.0/fs/hfsplus/options.c @@ -140,6 +140,8 @@ if (!uid_valid(sbi->uid)) { pr_err("invalid uid specified\n"); return 0; + } else { + set_bit(HFSPLUS_SB_UID, &sbi->flags); } break; case opt_gid: @@ -151,6 +153,8 @@ if (!gid_valid(sbi->gid)) { pr_err("invalid gid specified\n"); return 0; + } else { + set_bit(HFSPLUS_SB_GID, &sbi->flags); } break; case opt_part: --- linux-gcp-5.19.0.orig/fs/hfsplus/super.c +++ linux-gcp-5.19.0/fs/hfsplus/super.c @@ -295,11 +295,11 @@ hfsplus_sync_fs(sb, 1); } + iput(sbi->alloc_file); + iput(sbi->hidden_dir); hfs_btree_close(sbi->attr_tree); hfs_btree_close(sbi->cat_tree); hfs_btree_close(sbi->ext_tree); - iput(sbi->alloc_file); - iput(sbi->hidden_dir); kfree(sbi->s_vhdr_buf); kfree(sbi->s_backup_vhdr_buf); unload_nls(sbi->nls); --- linux-gcp-5.19.0.orig/fs/hugetlbfs/inode.c +++ linux-gcp-5.19.0/fs/hugetlbfs/inode.c @@ -370,6 +370,12 @@ } else { unlock_page(page); + if (PageHWPoison(page)) { + put_page(page); + retval = -EIO; + break; + } + /* * We have the page, copy it to user space buffer. */ @@ -1034,13 +1040,6 @@ static int hugetlbfs_error_remove_page(struct address_space *mapping, struct page *page) { - struct inode *inode = mapping->host; - pgoff_t index = page->index; - - remove_huge_page(page); - if (unlikely(hugetlb_unreserve_pages(inode, index, index + 1, 1))) - hugetlb_fix_reserve_counts(inode); - return 0; } @@ -1301,7 +1300,7 @@ case Opt_size: /* memparse() will accept a K/M/G without a digit */ - if (!isdigit(param->string[0])) + if (!param->string || !isdigit(param->string[0])) goto bad_val; ctx->max_size_opt = memparse(param->string, &rest); ctx->max_val_type = SIZE_STD; @@ -1311,7 +1310,7 @@ case Opt_nr_inodes: /* memparse() will accept a K/M/G without a digit */ - if (!isdigit(param->string[0])) + if (!param->string || !isdigit(param->string[0])) goto bad_val; ctx->nr_inodes = memparse(param->string, &rest); return 0; @@ -1327,7 +1326,7 @@ case Opt_min_size: /* memparse() will accept a K/M/G without a digit */ - if (!isdigit(param->string[0])) + if (!param->string || !isdigit(param->string[0])) goto bad_val; ctx->min_size_opt = memparse(param->string, &rest); ctx->min_val_type = SIZE_STD; --- linux-gcp-5.19.0.orig/fs/inode.c +++ linux-gcp-5.19.0/fs/inode.c @@ -192,8 +192,6 @@ inode->i_wb_frn_history = 0; #endif - if (security_inode_alloc(inode)) - goto out; spin_lock_init(&inode->i_lock); lockdep_set_class(&inode->i_lock, &sb->s_type->i_lock_key); @@ -228,6 +226,9 @@ inode->i_fsnotify_mask = 0; #endif inode->i_flctx = NULL; + + if (security_inode_alloc(inode)) + goto out; this_cpu_inc(nr_inodes); return 0; --- linux-gcp-5.19.0.orig/fs/internal.h +++ linux-gcp-5.19.0/fs/internal.h @@ -16,6 +16,7 @@ struct fs_context; struct user_namespace; struct pipe_inode_info; +struct iov_iter; /* * block/bdev.c @@ -101,6 +102,16 @@ extern struct file *alloc_empty_file(int, const struct cred *); extern struct file *alloc_empty_file_noaccount(int, const struct cred *); +static inline void put_file_access(struct file *file) +{ + if ((file->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) { + i_readcount_dec(file->f_inode); + } else if (file->f_mode & FMODE_WRITER) { + put_write_access(file->f_inode); + __mnt_drop_write(file->f_path.mnt); + } +} + /* * super.c */ @@ -221,3 +232,5 @@ int setxattr_copy(const char __user *name, struct xattr_ctx *ctx); int do_setxattr(struct user_namespace *mnt_userns, struct dentry *dentry, struct xattr_ctx *ctx); + +ssize_t __kernel_write_iter(struct file *file, struct iov_iter *from, loff_t *pos); --- linux-gcp-5.19.0.orig/fs/iomap/buffered-io.c +++ linux-gcp-5.19.0/fs/iomap/buffered-io.c @@ -1412,7 +1412,7 @@ if (!count) folio_end_writeback(folio); done: - mapping_set_error(folio->mapping, error); + mapping_set_error(inode->i_mapping, error); return error; } --- linux-gcp-5.19.0.orig/fs/jbd2/commit.c +++ linux-gcp-5.19.0/fs/jbd2/commit.c @@ -553,13 +553,13 @@ */ jbd2_journal_switch_revoke_table(journal); + write_lock(&journal->j_state_lock); /* * Reserved credits cannot be claimed anymore, free them */ atomic_sub(atomic_read(&journal->j_reserved_credits), &commit_transaction->t_outstanding_credits); - write_lock(&journal->j_state_lock); trace_jbd2_commit_flushing(journal, commit_transaction); stats.run.rs_flushing = jiffies; stats.run.rs_locked = jbd2_time_diff(stats.run.rs_locked, @@ -570,7 +570,7 @@ journal->j_running_transaction = NULL; start_time = ktime_get(); commit_transaction->t_log_start = journal->j_head; - wake_up(&journal->j_wait_transaction_locked); + wake_up_all(&journal->j_wait_transaction_locked); write_unlock(&journal->j_state_lock); jbd_debug(3, "JBD2: commit phase 2a\n"); --- linux-gcp-5.19.0.orig/fs/jbd2/journal.c +++ linux-gcp-5.19.0/fs/jbd2/journal.c @@ -926,10 +926,16 @@ for (i = j_fc_off - 1; i >= j_fc_off - num_blks; i--) { bh = journal->j_fc_wbuf[i]; wait_on_buffer(bh); + /* + * Update j_fc_off so jbd2_fc_release_bufs can release remain + * buffer head. + */ + if (unlikely(!buffer_uptodate(bh))) { + journal->j_fc_off = i + 1; + return -EIO; + } put_bh(bh); journal->j_fc_wbuf[i] = NULL; - if (unlikely(!buffer_uptodate(bh))) - return -EIO; } return 0; --- linux-gcp-5.19.0.orig/fs/jbd2/recovery.c +++ linux-gcp-5.19.0/fs/jbd2/recovery.c @@ -256,6 +256,7 @@ err = journal->j_fc_replay_callback(journal, bh, pass, next_fc_block - journal->j_fc_first, expected_commit_id); + brelse(bh); next_fc_block++; if (err < 0 || err == JBD2_FC_REPLAY_STOP) break; --- linux-gcp-5.19.0.orig/fs/jbd2/transaction.c +++ linux-gcp-5.19.0/fs/jbd2/transaction.c @@ -168,7 +168,7 @@ int need_to_start; tid_t tid = journal->j_running_transaction->t_tid; - prepare_to_wait(&journal->j_wait_transaction_locked, &wait, + prepare_to_wait_exclusive(&journal->j_wait_transaction_locked, &wait, TASK_UNINTERRUPTIBLE); need_to_start = !tid_geq(journal->j_commit_request, tid); read_unlock(&journal->j_state_lock); @@ -194,7 +194,7 @@ read_unlock(&journal->j_state_lock); return; } - prepare_to_wait(&journal->j_wait_transaction_locked, &wait, + prepare_to_wait_exclusive(&journal->j_wait_transaction_locked, &wait, TASK_UNINTERRUPTIBLE); read_unlock(&journal->j_state_lock); /* @@ -920,7 +920,7 @@ write_lock(&journal->j_state_lock); --journal->j_barrier_count; write_unlock(&journal->j_state_lock); - wake_up(&journal->j_wait_transaction_locked); + wake_up_all(&journal->j_wait_transaction_locked); } static void warn_dirty_buffer(struct buffer_head *bh) @@ -1010,36 +1010,28 @@ * ie. locked but not dirty) or tune2fs (which may actually have * the buffer dirtied, ugh.) */ - if (buffer_dirty(bh)) { + if (buffer_dirty(bh) && jh->b_transaction) { + warn_dirty_buffer(bh); /* - * First question: is this buffer already part of the current - * transaction or the existing committing transaction? - */ - if (jh->b_transaction) { - J_ASSERT_JH(jh, - jh->b_transaction == transaction || - jh->b_transaction == - journal->j_committing_transaction); - if (jh->b_next_transaction) - J_ASSERT_JH(jh, jh->b_next_transaction == - transaction); - warn_dirty_buffer(bh); - } - /* - * In any case we need to clean the dirty flag and we must - * do it under the buffer lock to be sure we don't race - * with running write-out. + * We need to clean the dirty flag and we must do it under the + * buffer lock to be sure we don't race with running write-out. */ JBUFFER_TRACE(jh, "Journalling dirty buffer"); clear_buffer_dirty(bh); + /* + * The buffer is going to be added to BJ_Reserved list now and + * nothing guarantees jbd2_journal_dirty_metadata() will be + * ever called for it. So we need to set jbddirty bit here to + * make sure the buffer is dirtied and written out when the + * journaling machinery is done with it. + */ set_buffer_jbddirty(bh); } - unlock_buffer(bh); - error = -EROFS; if (is_handle_aborted(handle)) { spin_unlock(&jh->b_state_lock); + unlock_buffer(bh); goto out; } error = 0; @@ -1049,8 +1041,10 @@ * b_next_transaction points to it */ if (jh->b_transaction == transaction || - jh->b_next_transaction == transaction) + jh->b_next_transaction == transaction) { + unlock_buffer(bh); goto done; + } /* * this is the first time this transaction is touching this buffer, @@ -1074,10 +1068,24 @@ */ smp_wmb(); spin_lock(&journal->j_list_lock); + if (test_clear_buffer_dirty(bh)) { + /* + * Execute buffer dirty clearing and jh->b_transaction + * assignment under journal->j_list_lock locked to + * prevent bh being removed from checkpoint list if + * the buffer is in an intermediate state (not dirty + * and jh->b_transaction is NULL). + */ + JBUFFER_TRACE(jh, "Journalling dirty buffer"); + set_buffer_jbddirty(bh); + } __jbd2_journal_file_buffer(jh, transaction, BJ_Reserved); spin_unlock(&journal->j_list_lock); + unlock_buffer(bh); goto done; } + unlock_buffer(bh); + /* * If there is already a copy-out version of this buffer, then we don't * need to make another one @@ -1486,8 +1494,6 @@ struct journal_head *jh; int ret = 0; - if (is_handle_aborted(handle)) - return -EROFS; if (!buffer_jbd(bh)) return -EUCLEAN; @@ -1534,6 +1540,18 @@ journal = transaction->t_journal; spin_lock(&jh->b_state_lock); + if (is_handle_aborted(handle)) { + /* + * Check journal aborting with @jh->b_state_lock locked, + * since 'jh->b_transaction' could be replaced with + * 'jh->b_next_transaction' during old transaction + * committing if journal aborted, which may fail + * assertion on 'jh->b_frozen_data == NULL'. + */ + ret = -EROFS; + goto out_unlock_bh; + } + if (jh->b_modified == 0) { /* * This buffer's got modified and becoming part --- linux-gcp-5.19.0.orig/fs/jfs/jfs_dmap.c +++ linux-gcp-5.19.0/fs/jfs/jfs_dmap.c @@ -155,7 +155,7 @@ struct bmap *bmp; struct dbmap_disk *dbmp_le; struct metapage *mp; - int i; + int i, err; /* * allocate/initialize the in-memory bmap descriptor @@ -170,8 +170,8 @@ BMAPBLKNO << JFS_SBI(ipbmap->i_sb)->l2nbperpage, PSIZE, 0); if (mp == NULL) { - kfree(bmp); - return -EIO; + err = -EIO; + goto err_kfree_bmp; } /* copy the on-disk bmap descriptor to its in-memory version. */ @@ -181,9 +181,8 @@ bmp->db_l2nbperpage = le32_to_cpu(dbmp_le->dn_l2nbperpage); bmp->db_numag = le32_to_cpu(dbmp_le->dn_numag); if (!bmp->db_numag) { - release_metapage(mp); - kfree(bmp); - return -EINVAL; + err = -EINVAL; + goto err_release_metapage; } bmp->db_maxlevel = le32_to_cpu(dbmp_le->dn_maxlevel); @@ -194,6 +193,16 @@ bmp->db_agwidth = le32_to_cpu(dbmp_le->dn_agwidth); bmp->db_agstart = le32_to_cpu(dbmp_le->dn_agstart); bmp->db_agl2size = le32_to_cpu(dbmp_le->dn_agl2size); + if (bmp->db_agl2size > L2MAXL2SIZE - L2MAXAG) { + err = -EINVAL; + goto err_release_metapage; + } + + if (((bmp->db_mapsize - 1) >> bmp->db_agl2size) > MAXAG) { + err = -EINVAL; + goto err_release_metapage; + } + for (i = 0; i < MAXAG; i++) bmp->db_agfree[i] = le64_to_cpu(dbmp_le->dn_agfree[i]); bmp->db_agsize = le64_to_cpu(dbmp_le->dn_agsize); @@ -214,6 +223,12 @@ BMAP_LOCK_INIT(bmp); return (0); + +err_release_metapage: + release_metapage(mp); +err_kfree_bmp: + kfree(bmp); + return err; } --- linux-gcp-5.19.0.orig/fs/jfs/namei.c +++ linux-gcp-5.19.0/fs/jfs/namei.c @@ -946,7 +946,7 @@ if (ssize <= IDATASIZE) { ip->i_op = &jfs_fast_symlink_inode_operations; - ip->i_link = JFS_IP(ip)->i_inline; + ip->i_link = JFS_IP(ip)->i_inline_all; memcpy(ip->i_link, name, ssize); ip->i_size = ssize - 1; --- linux-gcp-5.19.0.orig/fs/kernfs/dir.c +++ linux-gcp-5.19.0/fs/kernfs/dir.c @@ -1343,14 +1343,17 @@ { struct kernfs_node *pos; + /* Short-circuit if non-root @kn has already finished removal. */ + if (!kn) + return; + lockdep_assert_held_write(&kernfs_root(kn)->kernfs_rwsem); /* - * Short-circuit if non-root @kn has already finished removal. * This is for kernfs_remove_self() which plays with active ref * after removal. */ - if (!kn || (kn->parent && RB_EMPTY_NODE(&kn->rb))) + if (kn->parent && RB_EMPTY_NODE(&kn->rb)) return; pr_debug("kernfs %s: removing\n", kn->name); @@ -1582,8 +1585,11 @@ down_write(&root->kernfs_rwsem); kn = kernfs_find_ns(parent, name, ns); - if (kn) + if (kn) { + kernfs_get(kn); __kernfs_remove(kn); + kernfs_put(kn); + } up_write(&root->kernfs_rwsem); --- linux-gcp-5.19.0.orig/fs/ksmbd/auth.c +++ linux-gcp-5.19.0/fs/ksmbd/auth.c @@ -321,7 +321,8 @@ dn_off = le32_to_cpu(authblob->DomainName.BufferOffset); dn_len = le16_to_cpu(authblob->DomainName.Length); - if (blob_len < (u64)dn_off + dn_len || blob_len < (u64)nt_off + nt_len) + if (blob_len < (u64)dn_off + dn_len || blob_len < (u64)nt_off + nt_len || + nt_len < CIFS_ENCPWD_SIZE) return -EINVAL; /* TODO : use domain name that imported from configuration file */ --- linux-gcp-5.19.0.orig/fs/ksmbd/connection.c +++ linux-gcp-5.19.0/fs/ksmbd/connection.c @@ -273,7 +273,7 @@ { struct ksmbd_conn *conn = (struct ksmbd_conn *)p; struct ksmbd_transport *t = conn->transport; - unsigned int pdu_size; + unsigned int pdu_size, max_allowed_pdu_size; char hdr_buf[4] = {0,}; int size; @@ -298,20 +298,36 @@ pdu_size = get_rfc1002_len(hdr_buf); ksmbd_debug(CONN, "RFC1002 header %u bytes\n", pdu_size); + if (conn->status == KSMBD_SESS_GOOD) + max_allowed_pdu_size = + SMB3_MAX_MSGSIZE + conn->vals->max_write_size; + else + max_allowed_pdu_size = SMB3_MAX_MSGSIZE; + + if (pdu_size > max_allowed_pdu_size) { + pr_err_ratelimited("PDU length(%u) excceed maximum allowed pdu size(%u) on connection(%d)\n", + pdu_size, max_allowed_pdu_size, + conn->status); + break; + } + /* * Check if pdu size is valid (min : smb header size, * max : 0x00FFFFFF). */ if (pdu_size < __SMB2_HEADER_STRUCTURE_SIZE || pdu_size > MAX_STREAM_PROT_LEN) { - continue; + break; } /* 4 for rfc1002 length field */ size = pdu_size + 4; - conn->request_buf = kvmalloc(size, GFP_KERNEL); + conn->request_buf = kvmalloc(size, + GFP_KERNEL | + __GFP_NOWARN | + __GFP_NORETRY); if (!conn->request_buf) - continue; + break; memcpy(conn->request_buf, hdr_buf, sizeof(hdr_buf)); if (!ksmbd_smb_request(conn)) --- linux-gcp-5.19.0.orig/fs/ksmbd/ksmbd_netlink.h +++ linux-gcp-5.19.0/fs/ksmbd/ksmbd_netlink.h @@ -105,7 +105,8 @@ __u32 sub_auth[3]; /* Subauth value for Security ID */ __u32 smb2_max_credits; /* MAX credits */ __u32 smbd_max_io_size; /* smbd read write size */ - __u32 reserved[127]; /* Reserved room */ + __u32 max_connections; /* Number of maximum simultaneous connections */ + __u32 reserved[126]; /* Reserved room */ __u32 ifc_list_sz; /* interfaces list size */ __s8 ____payload[]; }; --- linux-gcp-5.19.0.orig/fs/ksmbd/mgmt/tree_connect.c +++ linux-gcp-5.19.0/fs/ksmbd/mgmt/tree_connect.c @@ -18,7 +18,7 @@ struct ksmbd_tree_conn_status ksmbd_tree_conn_connect(struct ksmbd_session *sess, char *share_name) { - struct ksmbd_tree_conn_status status = {-EINVAL, NULL}; + struct ksmbd_tree_conn_status status = {-ENOENT, NULL}; struct ksmbd_tree_connect_response *resp = NULL; struct ksmbd_share_config *sc; struct ksmbd_tree_connect *tree_conn = NULL; --- linux-gcp-5.19.0.orig/fs/ksmbd/mgmt/user_session.c +++ linux-gcp-5.19.0/fs/ksmbd/mgmt/user_session.c @@ -106,15 +106,17 @@ entry->method = method; entry->id = ksmbd_ipc_id_alloc(); if (entry->id < 0) - goto error; + goto free_entry; resp = ksmbd_rpc_open(sess, entry->id); if (!resp) - goto error; + goto free_id; kvfree(resp); return entry->id; -error: +free_id: + ksmbd_rpc_id_free(entry->id); +free_entry: list_del(&entry->list); kfree(entry); return -EINVAL; --- linux-gcp-5.19.0.orig/fs/ksmbd/ndr.c +++ linux-gcp-5.19.0/fs/ksmbd/ndr.c @@ -242,7 +242,7 @@ return ret; if (da->version != 3 && da->version != 4) { - pr_err("v%d version is not supported\n", da->version); + ksmbd_debug(VFS, "v%d version is not supported\n", da->version); return -EINVAL; } @@ -251,7 +251,7 @@ return ret; if (da->version != version2) { - pr_err("ndr version mismatched(version: %d, version2: %d)\n", + ksmbd_debug(VFS, "ndr version mismatched(version: %d, version2: %d)\n", da->version, version2); return -EINVAL; } @@ -453,7 +453,7 @@ if (ret) return ret; if (acl->version != 4) { - pr_err("v%d version is not supported\n", acl->version); + ksmbd_debug(VFS, "v%d version is not supported\n", acl->version); return -EINVAL; } @@ -461,7 +461,7 @@ if (ret) return ret; if (acl->version != version2) { - pr_err("ndr version mismatched(version: %d, version2: %d)\n", + ksmbd_debug(VFS, "ndr version mismatched(version: %d, version2: %d)\n", acl->version, version2); return -EINVAL; } --- linux-gcp-5.19.0.orig/fs/ksmbd/server.c +++ linux-gcp-5.19.0/fs/ksmbd/server.c @@ -235,10 +235,8 @@ if (work->sess && work->sess->enc && work->encrypted && conn->ops->encrypt_resp) { rc = conn->ops->encrypt_resp(work); - if (rc < 0) { + if (rc < 0) conn->ops->set_rsp_status(work, STATUS_DATA_ERROR); - goto send; - } } ksmbd_conn_write(work); --- linux-gcp-5.19.0.orig/fs/ksmbd/server.h +++ linux-gcp-5.19.0/fs/ksmbd/server.h @@ -41,6 +41,7 @@ unsigned int share_fake_fscaps; struct smb_sid domain_sid; unsigned int auth_mechs; + unsigned int max_connections; char *conf[SERVER_CONF_WORK_GROUP + 1]; }; --- linux-gcp-5.19.0.orig/fs/ksmbd/smb2misc.c +++ linux-gcp-5.19.0/fs/ksmbd/smb2misc.c @@ -90,11 +90,6 @@ *off = 0; *len = 0; - /* error reqeusts do not have data area */ - if (hdr->Status && hdr->Status != STATUS_MORE_PROCESSING_REQUIRED && - (((struct smb2_err_rsp *)hdr)->StructureSize) == SMB2_ERROR_STRUCTURE_SIZE2_LE) - return ret; - /* * Following commands have data areas so we have to get the location * of the data buffer offset and data buffer length for the particular @@ -136,8 +131,11 @@ *len = le16_to_cpu(((struct smb2_read_req *)hdr)->ReadChannelInfoLength); break; case SMB2_WRITE: - if (((struct smb2_write_req *)hdr)->DataOffset) { - *off = le16_to_cpu(((struct smb2_write_req *)hdr)->DataOffset); + if (((struct smb2_write_req *)hdr)->DataOffset || + ((struct smb2_write_req *)hdr)->Length) { + *off = max_t(unsigned int, + le16_to_cpu(((struct smb2_write_req *)hdr)->DataOffset), + offsetof(struct smb2_write_req, Buffer)); *len = le32_to_cpu(((struct smb2_write_req *)hdr)->Length); break; } @@ -151,15 +149,11 @@ break; case SMB2_LOCK: { - int lock_count; + unsigned short lock_count; - /* - * smb2_lock request size is 48 included single - * smb2_lock_element structure size. - */ - lock_count = le16_to_cpu(((struct smb2_lock_req *)hdr)->LockCount) - 1; + lock_count = le16_to_cpu(((struct smb2_lock_req *)hdr)->LockCount); if (lock_count > 0) { - *off = __SMB2_HEADER_STRUCTURE_SIZE + 48; + *off = offsetof(struct smb2_lock_req, locks); *len = sizeof(struct smb2_lock_element) * lock_count; } break; @@ -414,20 +408,19 @@ goto validate_credit; /* - * windows client also pad up to 8 bytes when compounding. - * If pad is longer than eight bytes, log the server behavior - * (once), since may indicate a problem but allow it and - * continue since the frame is parseable. + * SMB2 NEGOTIATE request will be validated when message + * handling proceeds. */ - if (clc_len < len) { - ksmbd_debug(SMB, - "cli req padded more than expected. Length %d not %d for cmd:%d mid:%llu\n", - len, clc_len, command, - le64_to_cpu(hdr->MessageId)); + if (command == SMB2_NEGOTIATE_HE) + goto validate_credit; + + /* + * Allow a message that padded to 8byte boundary. + */ + if (clc_len < len && (len - clc_len) < 8) goto validate_credit; - } - ksmbd_debug(SMB, + pr_err_ratelimited( "cli req too short, len %d not %d. cmd:%d mid:%llu\n", len, clc_len, command, le64_to_cpu(hdr->MessageId)); --- linux-gcp-5.19.0.orig/fs/ksmbd/smb2pdu.c +++ linux-gcp-5.19.0/fs/ksmbd/smb2pdu.c @@ -535,9 +535,10 @@ struct smb2_query_info_req *req; req = smb2_get_msg(work->request_buf); - if (req->InfoType == SMB2_O_INFO_FILE && - (req->FileInfoClass == FILE_FULL_EA_INFORMATION || - req->FileInfoClass == FILE_ALL_INFORMATION)) + if ((req->InfoType == SMB2_O_INFO_FILE && + (req->FileInfoClass == FILE_FULL_EA_INFORMATION || + req->FileInfoClass == FILE_ALL_INFORMATION)) || + req->InfoType == SMB2_O_INFO_SECURITY) sz = large_sz; } @@ -1139,12 +1140,16 @@ status); rsp->hdr.Status = status; rc = -EINVAL; + kfree(conn->preauth_info); + conn->preauth_info = NULL; goto err_out; } rc = init_smb3_11_server(conn); if (rc < 0) { rsp->hdr.Status = STATUS_INVALID_PARAMETER; + kfree(conn->preauth_info); + conn->preauth_info = NULL; goto err_out; } @@ -1925,8 +1930,9 @@ rsp->hdr.Status = STATUS_SUCCESS; rc = 0; break; + case -ENOENT: case KSMBD_TREE_CONN_STATUS_NO_SHARE: - rsp->hdr.Status = STATUS_BAD_NETWORK_PATH; + rsp->hdr.Status = STATUS_BAD_NETWORK_NAME; break; case -ENOMEM: case KSMBD_TREE_CONN_STATUS_NOMEM: @@ -2039,6 +2045,7 @@ ksmbd_close_tree_conn_fds(work); ksmbd_tree_conn_disconnect(sess, tcon); + work->tcon = NULL; return 0; } @@ -2308,15 +2315,15 @@ name += strlen(name) + 1) { ksmbd_debug(SMB, "%s, len %zd\n", name, strlen(name)); - if (strncmp(name, XATTR_USER_PREFIX, XATTR_USER_PREFIX_LEN) && - strncmp(&name[XATTR_USER_PREFIX_LEN], DOS_ATTRIBUTE_PREFIX, - DOS_ATTRIBUTE_PREFIX_LEN) && - strncmp(&name[XATTR_USER_PREFIX_LEN], STREAM_PREFIX, STREAM_PREFIX_LEN)) - continue; - - err = ksmbd_vfs_remove_xattr(user_ns, path->dentry, name); - if (err) - ksmbd_debug(SMB, "remove xattr failed : %s\n", name); + if (!strncmp(name, XATTR_USER_PREFIX, XATTR_USER_PREFIX_LEN) && + !strncmp(&name[XATTR_USER_PREFIX_LEN], STREAM_PREFIX, + STREAM_PREFIX_LEN)) { + err = ksmbd_vfs_remove_xattr(user_ns, path->dentry, + name); + if (err) + ksmbd_debug(SMB, "remove xattr failed : %s\n", + name); + } } out: kvfree(xattr_list); @@ -2969,7 +2976,7 @@ goto err_out; rc = build_sec_desc(user_ns, - pntsd, NULL, + pntsd, NULL, 0, OWNER_SECINFO | GROUP_SECINFO | DACL_SECINFO, @@ -3791,11 +3798,6 @@ return 0; } -static void restart_ctx(struct dir_context *ctx) -{ - ctx->pos = 0; -} - static int verify_info_level(int info_level) { switch (info_level) { @@ -3814,6 +3816,15 @@ return 0; } +static int smb2_resp_buf_len(struct ksmbd_work *work, unsigned short hdr2_len) +{ + int free_len; + + free_len = (int)(work->response_sz - + (get_rfc1002_len(work->response_buf) + 4)) - hdr2_len; + return free_len; +} + static int smb2_calc_max_out_buf_len(struct ksmbd_work *work, unsigned short hdr2_len, unsigned int out_buf_len) @@ -3823,9 +3834,7 @@ if (out_buf_len > work->conn->vals->max_trans_size) return -EINVAL; - free_len = (int)(work->response_sz - - (get_rfc1002_len(work->response_buf) + 4)) - - hdr2_len; + free_len = smb2_resp_buf_len(work, hdr2_len); if (free_len < 0) return -EINVAL; @@ -3897,7 +3906,6 @@ if (srch_flag & SMB2_REOPEN || srch_flag & SMB2_RESTART_SCANS) { ksmbd_debug(SMB, "Restart directory scan\n"); generic_file_llseek(dir_fp->filp, 0, SEEK_SET); - restart_ctx(&dir_fp->readdir_data.ctx); } memset(&d_info, 0, sizeof(struct ksmbd_dir_info)); @@ -3944,11 +3952,9 @@ */ if (!d_info.out_buf_len && !d_info.num_entry) goto no_buf_len; - if (rc == 0) - restart_ctx(&dir_fp->readdir_data.ctx); - if (rc == -ENOSPC) + if (rc > 0 || rc == -ENOSPC) rc = 0; - if (rc) + else if (rc) goto err_out; d_info.wptr = d_info.rptr; @@ -4005,6 +4011,8 @@ rsp->hdr.Status = STATUS_NO_MEMORY; else if (rc == -EFAULT) rsp->hdr.Status = STATUS_INVALID_INFO_CLASS; + else if (rc == -EIO) + rsp->hdr.Status = STATUS_FILE_CORRUPT_ERROR; if (!rsp->hdr.Status) rsp->hdr.Status = STATUS_UNEXPECTED_IO_ERROR; @@ -5088,10 +5096,10 @@ struct smb_ntsd *pntsd = (struct smb_ntsd *)rsp->Buffer, *ppntsd = NULL; struct smb_fattr fattr = {{0}}; struct inode *inode; - __u32 secdesclen; + __u32 secdesclen = 0; unsigned int id = KSMBD_NO_FID, pid = KSMBD_NO_FID; int addition_info = le32_to_cpu(req->AdditionalInformation); - int rc; + int rc = 0, ppntsd_size = 0; if (addition_info & ~(OWNER_SECINFO | GROUP_SECINFO | DACL_SECINFO | PROTECTED_DACL_SECINFO | @@ -5137,11 +5145,14 @@ if (test_share_config_flag(work->tcon->share_conf, KSMBD_SHARE_FLAG_ACL_XATTR)) - ksmbd_vfs_get_sd_xattr(work->conn, user_ns, - fp->filp->f_path.dentry, &ppntsd); - - rc = build_sec_desc(user_ns, pntsd, ppntsd, addition_info, - &secdesclen, &fattr); + ppntsd_size = ksmbd_vfs_get_sd_xattr(work->conn, user_ns, + fp->filp->f_path.dentry, + &ppntsd); + + /* Check if sd buffer size exceeds response buffer size */ + if (smb2_resp_buf_len(work, 8) > ppntsd_size) + rc = build_sec_desc(user_ns, pntsd, ppntsd, ppntsd_size, + addition_info, &secdesclen, &fattr); posix_acl_release(fattr.cf_acls); posix_acl_release(fattr.cf_dacls); kfree(ppntsd); @@ -6495,14 +6506,12 @@ writethrough = true; if (is_rdma_channel == false) { - if ((u64)le16_to_cpu(req->DataOffset) + length > - get_rfc1002_len(work->request_buf)) { - pr_err("invalid write data offset %u, smb_len %u\n", - le16_to_cpu(req->DataOffset), - get_rfc1002_len(work->request_buf)); + if (le16_to_cpu(req->DataOffset) < + offsetof(struct smb2_write_req, Buffer)) { err = -EINVAL; goto out; } + data_buf = (char *)(((char *)&req->hdr.ProtocolId) + le16_to_cpu(req->DataOffset)); @@ -6600,7 +6609,7 @@ struct ksmbd_conn *conn = work->conn; struct smb2_hdr *hdr = smb2_get_msg(work->request_buf); struct smb2_hdr *chdr; - struct ksmbd_work *cancel_work = NULL, *iter; + struct ksmbd_work *iter; struct list_head *command_list; ksmbd_debug(SMB, "smb2 cancel called on mid %llu, async flags 0x%x\n", @@ -6622,7 +6631,9 @@ "smb2 with AsyncId %llu cancelled command = 0x%x\n", le64_to_cpu(hdr->Id.AsyncId), le16_to_cpu(chdr->Command)); - cancel_work = iter; + iter->state = KSMBD_WORK_CANCELLED; + if (iter->cancel_fn) + iter->cancel_fn(iter->cancel_argv); break; } spin_unlock(&conn->request_lock); @@ -6641,18 +6652,12 @@ "smb2 with mid %llu cancelled command = 0x%x\n", le64_to_cpu(hdr->MessageId), le16_to_cpu(chdr->Command)); - cancel_work = iter; + iter->state = KSMBD_WORK_CANCELLED; break; } spin_unlock(&conn->request_lock); } - if (cancel_work) { - cancel_work->state = KSMBD_WORK_CANCELLED; - if (cancel_work->cancel_fn) - cancel_work->cancel_fn(cancel_work->cancel_argv); - } - /* For SMB2_CANCEL command itself send no response*/ work->send_no_response = 1; return 0; @@ -7013,6 +7018,14 @@ ksmbd_vfs_posix_lock_wait(flock); + spin_lock(&work->conn->request_lock); + spin_lock(&fp->f_lock); + list_del(&work->fp_entry); + work->cancel_fn = NULL; + kfree(argv); + spin_unlock(&fp->f_lock); + spin_unlock(&work->conn->request_lock); + if (work->state != KSMBD_WORK_ACTIVE) { list_del(&smb_lock->llist); spin_lock(&work->conn->llist_lock); @@ -7021,9 +7034,6 @@ locks_free_lock(flock); if (work->state == KSMBD_WORK_CANCELLED) { - spin_lock(&fp->f_lock); - list_del(&work->fp_entry); - spin_unlock(&fp->f_lock); rsp->hdr.Status = STATUS_CANCELLED; kfree(smb_lock); @@ -7045,9 +7055,6 @@ list_del(&smb_lock->clist); spin_unlock(&work->conn->llist_lock); - spin_lock(&fp->f_lock); - list_del(&work->fp_entry); - spin_unlock(&fp->f_lock); goto retry; } else if (!rc) { spin_lock(&work->conn->llist_lock); @@ -7618,11 +7625,16 @@ goto out; } - if (in_buf_len < sizeof(struct validate_negotiate_info_req)) - return -EINVAL; + if (in_buf_len < offsetof(struct validate_negotiate_info_req, + Dialects)) { + ret = -EINVAL; + goto out; + } - if (out_buf_len < sizeof(struct validate_negotiate_info_rsp)) - return -EINVAL; + if (out_buf_len < sizeof(struct validate_negotiate_info_rsp)) { + ret = -EINVAL; + goto out; + } ret = fsctl_validate_negotiate_info(conn, (struct validate_negotiate_info_req *)&req->Buffer[0], @@ -8603,6 +8615,7 @@ bool smb3_11_final_sess_setup_resp(struct ksmbd_work *work) { struct ksmbd_conn *conn = work->conn; + struct ksmbd_session *sess = work->sess; struct smb2_hdr *rsp = smb2_get_msg(work->response_buf); if (conn->dialect < SMB30_PROT_ID) @@ -8612,6 +8625,7 @@ rsp = ksmbd_resp_buf_next(work); if (le16_to_cpu(rsp->Command) == SMB2_SESSION_SETUP_HE && + sess->user && !user_guest(sess->user) && rsp->Status == STATUS_SUCCESS) return true; return false; --- linux-gcp-5.19.0.orig/fs/ksmbd/smb2pdu.h +++ linux-gcp-5.19.0/fs/ksmbd/smb2pdu.h @@ -24,8 +24,9 @@ #define SMB21_DEFAULT_IOSIZE (1024 * 1024) #define SMB3_DEFAULT_TRANS_SIZE (1024 * 1024) -#define SMB3_MIN_IOSIZE (64 * 1024) -#define SMB3_MAX_IOSIZE (8 * 1024 * 1024) +#define SMB3_MIN_IOSIZE (64 * 1024) +#define SMB3_MAX_IOSIZE (8 * 1024 * 1024) +#define SMB3_MAX_MSGSIZE (4 * 4096) /* * Definitions for SMB2 Protocol Data Units (network frames) --- linux-gcp-5.19.0.orig/fs/ksmbd/smb_common.c +++ linux-gcp-5.19.0/fs/ksmbd/smb_common.c @@ -4,6 +4,8 @@ * Copyright (C) 2018 Namjae Jeon */ +#include + #include "smb_common.h" #include "server.h" #include "misc.h" @@ -625,8 +627,8 @@ if (!cred) return -ENOMEM; - cred->fsuid = make_kuid(current_user_ns(), uid); - cred->fsgid = make_kgid(current_user_ns(), gid); + cred->fsuid = make_kuid(&init_user_ns, uid); + cred->fsgid = make_kgid(&init_user_ns, gid); gi = groups_alloc(0); if (!gi) { --- linux-gcp-5.19.0.orig/fs/ksmbd/smbacl.c +++ linux-gcp-5.19.0/fs/ksmbd/smbacl.c @@ -690,6 +690,7 @@ static void set_ntacl_dacl(struct user_namespace *user_ns, struct smb_acl *pndacl, struct smb_acl *nt_dacl, + unsigned int aces_size, const struct smb_sid *pownersid, const struct smb_sid *pgrpsid, struct smb_fattr *fattr) @@ -703,9 +704,19 @@ if (nt_num_aces) { ntace = (struct smb_ace *)((char *)nt_dacl + sizeof(struct smb_acl)); for (i = 0; i < nt_num_aces; i++) { - memcpy((char *)pndace + size, ntace, le16_to_cpu(ntace->size)); - size += le16_to_cpu(ntace->size); - ntace = (struct smb_ace *)((char *)ntace + le16_to_cpu(ntace->size)); + unsigned short nt_ace_size; + + if (offsetof(struct smb_ace, access_req) > aces_size) + break; + + nt_ace_size = le16_to_cpu(ntace->size); + if (nt_ace_size > aces_size) + break; + + memcpy((char *)pndace + size, ntace, nt_ace_size); + size += nt_ace_size; + aces_size -= nt_ace_size; + ntace = (struct smb_ace *)((char *)ntace + nt_ace_size); num_aces++; } } @@ -878,7 +889,7 @@ /* Convert permission bits from mode to equivalent CIFS ACL */ int build_sec_desc(struct user_namespace *user_ns, struct smb_ntsd *pntsd, struct smb_ntsd *ppntsd, - int addition_info, __u32 *secdesclen, + int ppntsd_size, int addition_info, __u32 *secdesclen, struct smb_fattr *fattr) { int rc = 0; @@ -938,15 +949,25 @@ if (!ppntsd) { set_mode_dacl(user_ns, dacl_ptr, fattr); - } else if (!ppntsd->dacloffset) { - goto out; } else { struct smb_acl *ppdacl_ptr; + unsigned int dacl_offset = le32_to_cpu(ppntsd->dacloffset); + int ppdacl_size, ntacl_size = ppntsd_size - dacl_offset; + + if (!dacl_offset || + (dacl_offset + sizeof(struct smb_acl) > ppntsd_size)) + goto out; + + ppdacl_ptr = (struct smb_acl *)((char *)ppntsd + dacl_offset); + ppdacl_size = le16_to_cpu(ppdacl_ptr->size); + if (ppdacl_size > ntacl_size || + ppdacl_size < sizeof(struct smb_acl)) + goto out; - ppdacl_ptr = (struct smb_acl *)((char *)ppntsd + - le32_to_cpu(ppntsd->dacloffset)); set_ntacl_dacl(user_ns, dacl_ptr, ppdacl_ptr, - nowner_sid_ptr, ngroup_sid_ptr, fattr); + ntacl_size - sizeof(struct smb_acl), + nowner_sid_ptr, ngroup_sid_ptr, + fattr); } pntsd->dacloffset = cpu_to_le32(offset); offset += le16_to_cpu(dacl_ptr->size); @@ -980,24 +1001,31 @@ struct smb_sid owner_sid, group_sid; struct dentry *parent = path->dentry->d_parent; struct user_namespace *user_ns = mnt_user_ns(path->mnt); - int inherited_flags = 0, flags = 0, i, ace_cnt = 0, nt_size = 0; - int rc = 0, num_aces, dacloffset, pntsd_type, acl_len; + int inherited_flags = 0, flags = 0, i, ace_cnt = 0, nt_size = 0, pdacl_size; + int rc = 0, num_aces, dacloffset, pntsd_type, pntsd_size, acl_len, aces_size; char *aces_base; bool is_dir = S_ISDIR(d_inode(path->dentry)->i_mode); - acl_len = ksmbd_vfs_get_sd_xattr(conn, user_ns, - parent, &parent_pntsd); - if (acl_len <= 0) + pntsd_size = ksmbd_vfs_get_sd_xattr(conn, user_ns, + parent, &parent_pntsd); + if (pntsd_size <= 0) return -ENOENT; dacloffset = le32_to_cpu(parent_pntsd->dacloffset); - if (!dacloffset) { + if (!dacloffset || (dacloffset + sizeof(struct smb_acl) > pntsd_size)) { rc = -EINVAL; goto free_parent_pntsd; } parent_pdacl = (struct smb_acl *)((char *)parent_pntsd + dacloffset); + acl_len = pntsd_size - dacloffset; num_aces = le32_to_cpu(parent_pdacl->num_aces); pntsd_type = le16_to_cpu(parent_pntsd->type); + pdacl_size = le16_to_cpu(parent_pdacl->size); + + if (pdacl_size > acl_len || pdacl_size < sizeof(struct smb_acl)) { + rc = -EINVAL; + goto free_parent_pntsd; + } aces_base = kmalloc(sizeof(struct smb_ace) * num_aces * 2, GFP_KERNEL); if (!aces_base) { @@ -1008,11 +1036,23 @@ aces = (struct smb_ace *)aces_base; parent_aces = (struct smb_ace *)((char *)parent_pdacl + sizeof(struct smb_acl)); + aces_size = acl_len - sizeof(struct smb_acl); if (pntsd_type & DACL_AUTO_INHERITED) inherited_flags = INHERITED_ACE; for (i = 0; i < num_aces; i++) { + int pace_size; + + if (offsetof(struct smb_ace, access_req) > aces_size) + break; + + pace_size = le16_to_cpu(parent_aces->size); + if (pace_size > aces_size) + break; + + aces_size -= pace_size; + flags = parent_aces->flags; if (!smb_inherit_flags(flags, is_dir)) goto pass; @@ -1057,8 +1097,7 @@ aces = (struct smb_ace *)((char *)aces + le16_to_cpu(aces->size)); ace_cnt++; pass: - parent_aces = - (struct smb_ace *)((char *)parent_aces + le16_to_cpu(parent_aces->size)); + parent_aces = (struct smb_ace *)((char *)parent_aces + pace_size); } if (nt_size > 0) { @@ -1153,7 +1192,7 @@ struct smb_ntsd *pntsd = NULL; struct smb_acl *pdacl; struct posix_acl *posix_acls; - int rc = 0, acl_size; + int rc = 0, pntsd_size, acl_size, aces_size, pdacl_size, dacl_offset; struct smb_sid sid; int granted = le32_to_cpu(*pdaccess & ~FILE_MAXIMAL_ACCESS_LE); struct smb_ace *ace; @@ -1162,37 +1201,33 @@ struct smb_ace *others_ace = NULL; struct posix_acl_entry *pa_entry; unsigned int sid_type = SIDOWNER; - char *end_of_acl; + unsigned short ace_size; ksmbd_debug(SMB, "check permission using windows acl\n"); - acl_size = ksmbd_vfs_get_sd_xattr(conn, user_ns, - path->dentry, &pntsd); - if (acl_size <= 0 || !pntsd || !pntsd->dacloffset) { - kfree(pntsd); - return 0; - } + pntsd_size = ksmbd_vfs_get_sd_xattr(conn, user_ns, + path->dentry, &pntsd); + if (pntsd_size <= 0 || !pntsd) + goto err_out; + + dacl_offset = le32_to_cpu(pntsd->dacloffset); + if (!dacl_offset || + (dacl_offset + sizeof(struct smb_acl) > pntsd_size)) + goto err_out; pdacl = (struct smb_acl *)((char *)pntsd + le32_to_cpu(pntsd->dacloffset)); - end_of_acl = ((char *)pntsd) + acl_size; - if (end_of_acl <= (char *)pdacl) { - kfree(pntsd); - return 0; - } + acl_size = pntsd_size - dacl_offset; + pdacl_size = le16_to_cpu(pdacl->size); - if (end_of_acl < (char *)pdacl + le16_to_cpu(pdacl->size) || - le16_to_cpu(pdacl->size) < sizeof(struct smb_acl)) { - kfree(pntsd); - return 0; - } + if (pdacl_size > acl_size || pdacl_size < sizeof(struct smb_acl)) + goto err_out; if (!pdacl->num_aces) { - if (!(le16_to_cpu(pdacl->size) - sizeof(struct smb_acl)) && + if (!(pdacl_size - sizeof(struct smb_acl)) && *pdaccess & ~(FILE_READ_CONTROL_LE | FILE_WRITE_DAC_LE)) { rc = -EACCES; goto err_out; } - kfree(pntsd); - return 0; + goto err_out; } if (*pdaccess & FILE_MAXIMAL_ACCESS_LE) { @@ -1200,11 +1235,16 @@ DELETE; ace = (struct smb_ace *)((char *)pdacl + sizeof(struct smb_acl)); + aces_size = acl_size - sizeof(struct smb_acl); for (i = 0; i < le32_to_cpu(pdacl->num_aces); i++) { + if (offsetof(struct smb_ace, access_req) > aces_size) + break; + ace_size = le16_to_cpu(ace->size); + if (ace_size > aces_size) + break; + aces_size -= ace_size; granted |= le32_to_cpu(ace->access_req); ace = (struct smb_ace *)((char *)ace + le16_to_cpu(ace->size)); - if (end_of_acl < (char *)ace) - goto err_out; } if (!pdacl->num_aces) @@ -1216,7 +1256,15 @@ id_to_sid(uid, sid_type, &sid); ace = (struct smb_ace *)((char *)pdacl + sizeof(struct smb_acl)); + aces_size = acl_size - sizeof(struct smb_acl); for (i = 0; i < le32_to_cpu(pdacl->num_aces); i++) { + if (offsetof(struct smb_ace, access_req) > aces_size) + break; + ace_size = le16_to_cpu(ace->size); + if (ace_size > aces_size) + break; + aces_size -= ace_size; + if (!compare_sids(&sid, &ace->sid) || !compare_sids(&sid_unix_NFS_mode, &ace->sid)) { found = 1; @@ -1226,8 +1274,6 @@ others_ace = ace; ace = (struct smb_ace *)((char *)ace + le16_to_cpu(ace->size)); - if (end_of_acl < (char *)ace) - goto err_out; } if (*pdaccess & FILE_MAXIMAL_ACCESS_LE && found) { --- linux-gcp-5.19.0.orig/fs/ksmbd/smbacl.h +++ linux-gcp-5.19.0/fs/ksmbd/smbacl.h @@ -193,7 +193,7 @@ int parse_sec_desc(struct user_namespace *user_ns, struct smb_ntsd *pntsd, int acl_len, struct smb_fattr *fattr); int build_sec_desc(struct user_namespace *user_ns, struct smb_ntsd *pntsd, - struct smb_ntsd *ppntsd, int addition_info, + struct smb_ntsd *ppntsd, int ppntsd_size, int addition_info, __u32 *secdesclen, struct smb_fattr *fattr); int init_acl_state(struct posix_acl_state *state, int cnt); void free_acl_state(struct posix_acl_state *state); --- linux-gcp-5.19.0.orig/fs/ksmbd/transport_ipc.c +++ linux-gcp-5.19.0/fs/ksmbd/transport_ipc.c @@ -307,6 +307,9 @@ if (req->smbd_max_io_size) init_smbd_max_io_size(req->smbd_max_io_size); + if (req->max_connections) + server_conf.max_connections = req->max_connections; + ret = ksmbd_set_netbios_name(req->netbios_name); ret |= ksmbd_set_server_string(req->server_string); ret |= ksmbd_set_work_group(req->work_group); --- linux-gcp-5.19.0.orig/fs/ksmbd/transport_tcp.c +++ linux-gcp-5.19.0/fs/ksmbd/transport_tcp.c @@ -15,6 +15,8 @@ #define IFACE_STATE_DOWN BIT(0) #define IFACE_STATE_CONFIGURED BIT(1) +static atomic_t active_num_conn; + struct interface { struct task_struct *ksmbd_kthread; struct socket *ksmbd_socket; @@ -185,8 +187,10 @@ struct tcp_transport *t; t = alloc_transport(client_sk); - if (!t) + if (!t) { + sock_release(client_sk); return -ENOMEM; + } csin = KSMBD_TCP_PEER_SOCKADDR(KSMBD_TRANS(t)->conn); if (kernel_getpeername(client_sk, csin) < 0) { @@ -239,6 +243,15 @@ continue; } + if (server_conf.max_connections && + atomic_inc_return(&active_num_conn) >= server_conf.max_connections) { + pr_info_ratelimited("Limit the maximum number of connections(%u)\n", + atomic_read(&active_num_conn)); + atomic_dec(&active_num_conn); + sock_release(client_sk); + continue; + } + ksmbd_debug(CONN, "connect success: accepted new connection\n"); client_sk->sk->sk_rcvtimeo = KSMBD_TCP_RECV_TIMEOUT; client_sk->sk->sk_sndtimeo = KSMBD_TCP_SEND_TIMEOUT; @@ -295,6 +308,7 @@ struct msghdr ksmbd_msg; struct kvec *iov; struct ksmbd_conn *conn = KSMBD_TRANS(t)->conn; + int max_retry = 2; iov = get_conn_iovec(t, nr_segs); if (!iov) @@ -321,9 +335,11 @@ } else if (conn->status == KSMBD_SESS_NEED_RECONNECT) { total_read = -EAGAIN; break; - } else if (length == -ERESTARTSYS || length == -EAGAIN) { + } else if ((length == -ERESTARTSYS || length == -EAGAIN) && + max_retry) { usleep_range(1000, 2000); length = 0; + max_retry--; continue; } else if (length <= 0) { total_read = -EAGAIN; @@ -365,6 +381,8 @@ static void ksmbd_tcp_disconnect(struct ksmbd_transport *t) { free_transport(TCP_TRANS(t)); + if (server_conf.max_connections) + atomic_dec(&active_num_conn); } static void tcp_destroy_socket(struct socket *ksmbd_socket) --- linux-gcp-5.19.0.orig/fs/ksmbd/vfs.c +++ linux-gcp-5.19.0/fs/ksmbd/vfs.c @@ -1540,6 +1540,11 @@ } *pntsd = acl.sd_buf; + if (acl.sd_size < sizeof(struct smb_ntsd)) { + pr_err("sd size is invalid\n"); + goto out_free; + } + (*pntsd)->osidoffset = cpu_to_le32(le32_to_cpu((*pntsd)->osidoffset) - NDR_NTSD_OFFSETOF); (*pntsd)->gsidoffset = cpu_to_le32(le32_to_cpu((*pntsd)->gsidoffset) - @@ -1780,9 +1785,9 @@ ret = vfs_copy_file_range(src_fp->filp, src_off, dst_fp->filp, dst_off, len, 0); if (ret == -EOPNOTSUPP || ret == -EXDEV) - ret = generic_copy_file_range(src_fp->filp, src_off, - dst_fp->filp, dst_off, - len, 0); + ret = vfs_copy_file_range(src_fp->filp, src_off, + dst_fp->filp, dst_off, len, + COPY_FILE_SPLICE); if (ret < 0) return ret; --- linux-gcp-5.19.0.orig/fs/ksmbd/vfs_cache.c +++ linux-gcp-5.19.0/fs/ksmbd/vfs_cache.c @@ -364,12 +364,11 @@ static void set_close_state_blocked_works(struct ksmbd_file *fp) { - struct ksmbd_work *cancel_work, *ctmp; + struct ksmbd_work *cancel_work; spin_lock(&fp->f_lock); - list_for_each_entry_safe(cancel_work, ctmp, &fp->blocked_works, + list_for_each_entry(cancel_work, &fp->blocked_works, fp_entry) { - list_del(&cancel_work->fp_entry); cancel_work->state = KSMBD_WORK_CLOSED; cancel_work->cancel_fn(cancel_work->cancel_argv); } --- linux-gcp-5.19.0.orig/fs/libfs.c +++ linux-gcp-5.19.0/fs/libfs.c @@ -994,8 +994,8 @@ EXPORT_SYMBOL_GPL(simple_attr_read); /* interpret the buffer as a number to call the set function with */ -ssize_t simple_attr_write(struct file *file, const char __user *buf, - size_t len, loff_t *ppos) +static ssize_t simple_attr_write_xsigned(struct file *file, const char __user *buf, + size_t len, loff_t *ppos, bool is_signed) { struct simple_attr *attr; unsigned long long val; @@ -1016,7 +1016,10 @@ goto out; attr->set_buf[size] = '\0'; - ret = kstrtoull(attr->set_buf, 0, &val); + if (is_signed) + ret = kstrtoll(attr->set_buf, 0, &val); + else + ret = kstrtoull(attr->set_buf, 0, &val); if (ret) goto out; ret = attr->set(attr->data, val); @@ -1026,8 +1029,21 @@ mutex_unlock(&attr->mutex); return ret; } + +ssize_t simple_attr_write(struct file *file, const char __user *buf, + size_t len, loff_t *ppos) +{ + return simple_attr_write_xsigned(file, buf, len, ppos, false); +} EXPORT_SYMBOL_GPL(simple_attr_write); +ssize_t simple_attr_write_signed(struct file *file, const char __user *buf, + size_t len, loff_t *ppos) +{ + return simple_attr_write_xsigned(file, buf, len, ppos, true); +} +EXPORT_SYMBOL_GPL(simple_attr_write_signed); + /** * generic_fh_to_dentry - generic helper for the fh_to_dentry export operation * @sb: filesystem to do the file handle conversion on --- linux-gcp-5.19.0.orig/fs/lockd/svc4proc.c +++ linux-gcp-5.19.0/fs/lockd/svc4proc.c @@ -32,6 +32,10 @@ if (!nlmsvc_ops) return nlm_lck_denied_nolocks; + if (lock->lock_start > OFFSET_MAX || + (lock->lock_len && ((lock->lock_len - 1) > (OFFSET_MAX - lock->lock_start)))) + return nlm4_fbig; + /* Obtain host handle */ if (!(host = nlmsvc_lookup_host(rqstp, lock->caller, lock->len)) || (argp->monitor && nsm_monitor(host) < 0)) @@ -50,6 +54,10 @@ /* Set up the missing parts of the file_lock structure */ lock->fl.fl_file = file->f_file[mode]; lock->fl.fl_pid = current->tgid; + lock->fl.fl_start = (loff_t)lock->lock_start; + lock->fl.fl_end = lock->lock_len ? + (loff_t)(lock->lock_start + lock->lock_len - 1) : + OFFSET_MAX; lock->fl.fl_lmops = &nlmsvc_lock_operations; nlmsvc_locks_init_private(&lock->fl, host, (pid_t)lock->svid); if (!lock->fl.fl_owner) { --- linux-gcp-5.19.0.orig/fs/lockd/svcsubs.c +++ linux-gcp-5.19.0/fs/lockd/svcsubs.c @@ -176,7 +176,7 @@ } } -static int nlm_unlock_files(struct nlm_file *file, fl_owner_t owner) +static int nlm_unlock_files(struct nlm_file *file, const struct file_lock *fl) { struct file_lock lock; @@ -184,12 +184,15 @@ lock.fl_type = F_UNLCK; lock.fl_start = 0; lock.fl_end = OFFSET_MAX; - lock.fl_owner = owner; - if (file->f_file[O_RDONLY] && - vfs_lock_file(file->f_file[O_RDONLY], F_SETLK, &lock, NULL)) + lock.fl_owner = fl->fl_owner; + lock.fl_pid = fl->fl_pid; + lock.fl_flags = FL_POSIX; + + lock.fl_file = file->f_file[O_RDONLY]; + if (lock.fl_file && vfs_lock_file(lock.fl_file, F_SETLK, &lock, NULL)) goto out_err; - if (file->f_file[O_WRONLY] && - vfs_lock_file(file->f_file[O_WRONLY], F_SETLK, &lock, NULL)) + lock.fl_file = file->f_file[O_WRONLY]; + if (lock.fl_file && vfs_lock_file(lock.fl_file, F_SETLK, &lock, NULL)) goto out_err; return 0; out_err: @@ -226,7 +229,7 @@ if (match(lockhost, host)) { spin_unlock(&flctx->flc_lock); - if (nlm_unlock_files(file, fl->fl_owner)) + if (nlm_unlock_files(file, fl)) return 1; goto again; } --- linux-gcp-5.19.0.orig/fs/lockd/xdr4.c +++ linux-gcp-5.19.0/fs/lockd/xdr4.c @@ -20,13 +20,6 @@ #include "svcxdr.h" -static inline loff_t -s64_to_loff_t(__s64 offset) -{ - return (loff_t)offset; -} - - static inline s64 loff_t_to_s64(loff_t offset) { @@ -70,8 +63,6 @@ svcxdr_decode_lock(struct xdr_stream *xdr, struct nlm_lock *lock) { struct file_lock *fl = &lock->fl; - u64 len, start; - s64 end; if (!svcxdr_decode_string(xdr, &lock->caller, &lock->len)) return false; @@ -81,20 +72,14 @@ return false; if (xdr_stream_decode_u32(xdr, &lock->svid) < 0) return false; - if (xdr_stream_decode_u64(xdr, &start) < 0) + if (xdr_stream_decode_u64(xdr, &lock->lock_start) < 0) return false; - if (xdr_stream_decode_u64(xdr, &len) < 0) + if (xdr_stream_decode_u64(xdr, &lock->lock_len) < 0) return false; locks_init_lock(fl); fl->fl_flags = FL_POSIX; fl->fl_type = F_RDLCK; - end = start + len - 1; - fl->fl_start = s64_to_loff_t(start); - if (len == 0 || end < 0) - fl->fl_end = OFFSET_MAX; - else - fl->fl_end = s64_to_loff_t(end); return true; } --- linux-gcp-5.19.0.orig/fs/locks.c +++ linux-gcp-5.19.0/fs/locks.c @@ -2689,6 +2689,29 @@ } EXPORT_SYMBOL_GPL(vfs_cancel_lock); +/** + * vfs_inode_has_locks - are any file locks held on @inode? + * @inode: inode to check for locks + * + * Return true if there are any FL_POSIX or FL_FLOCK locks currently + * set on @inode. + */ +bool vfs_inode_has_locks(struct inode *inode) +{ + struct file_lock_context *ctx; + bool ret; + + ctx = smp_load_acquire(&inode->i_flctx); + if (!ctx) + return false; + + spin_lock(&ctx->flc_lock); + ret = !list_empty(&ctx->flc_posix) || !list_empty(&ctx->flc_flock); + spin_unlock(&ctx->flc_lock); + return ret; +} +EXPORT_SYMBOL_GPL(vfs_inode_has_locks); + #ifdef CONFIG_PROC_FS #include #include --- linux-gcp-5.19.0.orig/fs/mbcache.c +++ linux-gcp-5.19.0/fs/mbcache.c @@ -11,7 +11,7 @@ /* * Mbcache is a simple key-value store. Keys need not be unique, however * key-value pairs are expected to be unique (we use this fact in - * mb_cache_entry_delete()). + * mb_cache_entry_delete_or_get()). * * Ext2 and ext4 use this cache for deduplication of extended attribute blocks. * Ext4 also uses it for deduplication of xattr values stored in inodes. @@ -90,12 +90,19 @@ return -ENOMEM; INIT_LIST_HEAD(&entry->e_list); - /* One ref for hash, one ref returned */ - atomic_set(&entry->e_refcnt, 1); + /* + * We create entry with two references. One reference is kept by the + * hash table, the other reference is used to protect us from + * mb_cache_entry_delete_or_get() until the entry is fully setup. This + * avoids nesting of cache->c_list_lock into hash table bit locks which + * is problematic for RT. + */ + atomic_set(&entry->e_refcnt, 2); entry->e_key = key; entry->e_value = value; - entry->e_reusable = reusable; - entry->e_referenced = 0; + entry->e_flags = 0; + if (reusable) + set_bit(MBE_REUSABLE_B, &entry->e_flags); head = mb_cache_entry_head(cache, key); hlist_bl_lock(head); hlist_bl_for_each_entry(dup, dup_node, head, e_hash_list) { @@ -107,24 +114,41 @@ } hlist_bl_add_head(&entry->e_hash_list, head); hlist_bl_unlock(head); - spin_lock(&cache->c_list_lock); list_add_tail(&entry->e_list, &cache->c_list); - /* Grab ref for LRU list */ - atomic_inc(&entry->e_refcnt); cache->c_entry_count++; spin_unlock(&cache->c_list_lock); + mb_cache_entry_put(cache, entry); return 0; } EXPORT_SYMBOL(mb_cache_entry_create); -void __mb_cache_entry_free(struct mb_cache_entry *entry) +void __mb_cache_entry_free(struct mb_cache *cache, struct mb_cache_entry *entry) { + struct hlist_bl_head *head; + + head = mb_cache_entry_head(cache, entry->e_key); + hlist_bl_lock(head); + hlist_bl_del(&entry->e_hash_list); + hlist_bl_unlock(head); kmem_cache_free(mb_entry_cache, entry); } EXPORT_SYMBOL(__mb_cache_entry_free); +/* + * mb_cache_entry_wait_unused - wait to be the last user of the entry + * + * @entry - entry to work on + * + * Wait to be the last user of the entry. + */ +void mb_cache_entry_wait_unused(struct mb_cache_entry *entry) +{ + wait_var_event(&entry->e_refcnt, atomic_read(&entry->e_refcnt) <= 2); +} +EXPORT_SYMBOL(mb_cache_entry_wait_unused); + static struct mb_cache_entry *__entry_find(struct mb_cache *cache, struct mb_cache_entry *entry, u32 key) @@ -142,10 +166,10 @@ while (node) { entry = hlist_bl_entry(node, struct mb_cache_entry, e_hash_list); - if (entry->e_key == key && entry->e_reusable) { - atomic_inc(&entry->e_refcnt); + if (entry->e_key == key && + test_bit(MBE_REUSABLE_B, &entry->e_flags) && + atomic_inc_not_zero(&entry->e_refcnt)) goto out; - } node = node->next; } entry = NULL; @@ -205,10 +229,9 @@ head = mb_cache_entry_head(cache, key); hlist_bl_lock(head); hlist_bl_for_each_entry(entry, node, head, e_hash_list) { - if (entry->e_key == key && entry->e_value == value) { - atomic_inc(&entry->e_refcnt); + if (entry->e_key == key && entry->e_value == value && + atomic_inc_not_zero(&entry->e_refcnt)) goto out; - } } entry = NULL; out: @@ -217,7 +240,7 @@ } EXPORT_SYMBOL(mb_cache_entry_get); -/* mb_cache_entry_delete - remove a cache entry +/* mb_cache_entry_delete - try to remove a cache entry * @cache - cache we work with * @key - key * @value - value @@ -254,6 +277,43 @@ } EXPORT_SYMBOL(mb_cache_entry_delete); +/* mb_cache_entry_delete_or_get - remove a cache entry if it has no users + * @cache - cache we work with + * @key - key + * @value - value + * + * Remove entry from cache @cache with key @key and value @value. The removal + * happens only if the entry is unused. The function returns NULL in case the + * entry was successfully removed or there's no entry in cache. Otherwise the + * function grabs reference of the entry that we failed to delete because it + * still has users and return it. + */ +struct mb_cache_entry *mb_cache_entry_delete_or_get(struct mb_cache *cache, + u32 key, u64 value) +{ + struct mb_cache_entry *entry; + + entry = mb_cache_entry_get(cache, key, value); + if (!entry) + return NULL; + + /* + * Drop the ref we got from mb_cache_entry_get() and the initial hash + * ref if we are the last user + */ + if (atomic_cmpxchg(&entry->e_refcnt, 2, 0) != 2) + return entry; + + spin_lock(&cache->c_list_lock); + if (!list_empty(&entry->e_list)) + list_del_init(&entry->e_list); + cache->c_entry_count--; + spin_unlock(&cache->c_list_lock); + __mb_cache_entry_free(cache, entry); + return NULL; +} +EXPORT_SYMBOL(mb_cache_entry_delete_or_get); + /* mb_cache_entry_touch - cache entry got used * @cache - cache the entry belongs to * @entry - entry that got used @@ -263,7 +323,7 @@ void mb_cache_entry_touch(struct mb_cache *cache, struct mb_cache_entry *entry) { - entry->e_referenced = 1; + set_bit(MBE_REFERENCED_B, &entry->e_flags); } EXPORT_SYMBOL(mb_cache_entry_touch); @@ -281,34 +341,24 @@ unsigned long nr_to_scan) { struct mb_cache_entry *entry; - struct hlist_bl_head *head; unsigned long shrunk = 0; spin_lock(&cache->c_list_lock); while (nr_to_scan-- && !list_empty(&cache->c_list)) { entry = list_first_entry(&cache->c_list, struct mb_cache_entry, e_list); - if (entry->e_referenced) { - entry->e_referenced = 0; + /* Drop initial hash reference if there is no user */ + if (test_bit(MBE_REFERENCED_B, &entry->e_flags) || + atomic_cmpxchg(&entry->e_refcnt, 1, 0) != 1) { + clear_bit(MBE_REFERENCED_B, &entry->e_flags); list_move_tail(&entry->e_list, &cache->c_list); continue; } list_del_init(&entry->e_list); cache->c_entry_count--; - /* - * We keep LRU list reference so that entry doesn't go away - * from under us. - */ spin_unlock(&cache->c_list_lock); - head = mb_cache_entry_head(cache, entry->e_key); - hlist_bl_lock(head); - if (!hlist_bl_unhashed(&entry->e_hash_list)) { - hlist_bl_del_init(&entry->e_hash_list); - atomic_dec(&entry->e_refcnt); - } - hlist_bl_unlock(head); - if (mb_cache_entry_put(cache, entry)) - shrunk++; + __mb_cache_entry_free(cache, entry); + shrunk++; cond_resched(); spin_lock(&cache->c_list_lock); } @@ -400,11 +450,6 @@ * point. */ list_for_each_entry_safe(entry, next, &cache->c_list, e_list) { - if (!hlist_bl_unhashed(&entry->e_hash_list)) { - hlist_bl_del_init(&entry->e_hash_list); - atomic_dec(&entry->e_refcnt); - } else - WARN_ON(1); list_del(&entry->e_list); WARN_ON(atomic_read(&entry->e_refcnt) != 1); mb_cache_entry_put(cache, entry); --- linux-gcp-5.19.0.orig/fs/namei.c +++ linux-gcp-5.19.0/fs/namei.c @@ -1014,8 +1014,8 @@ path_put(&last->link); } -static int sysctl_protected_symlinks __read_mostly; -static int sysctl_protected_hardlinks __read_mostly; +static int sysctl_protected_symlinks __read_mostly = 1; +static int sysctl_protected_hardlinks __read_mostly = 1; static int sysctl_protected_fifos __read_mostly; static int sysctl_protected_regular __read_mostly; @@ -1505,6 +1505,8 @@ * becoming unpinned. */ flags = dentry->d_flags; + if (read_seqretry(&mount_lock, nd->m_seq)) + return false; continue; } if (read_seqretry(&mount_lock, nd->m_seq)) @@ -3565,6 +3567,8 @@ child = d_alloc(dentry, &slash_name); if (unlikely(!child)) goto out_err; + if (!IS_POSIXACL(dir)) + mode &= ~current_umask(); error = dir->i_op->tmpfile(mnt_userns, dir, child, mode); if (error) goto out_err; @@ -5051,7 +5055,7 @@ const struct address_space_operations *aops = mapping->a_ops; bool nofs = !mapping_gfp_constraint(mapping, __GFP_FS); struct page *page; - void *fsdata; + void *fsdata = NULL; int err; unsigned int flags; --- linux-gcp-5.19.0.orig/fs/namespace.c +++ linux-gcp-5.19.0/fs/namespace.c @@ -4238,6 +4238,13 @@ err = -EPERM; goto out_fput; } + + /* We're not controlling the target namespace. */ + if (!ns_capable(mnt_userns, CAP_SYS_ADMIN)) { + err = -EPERM; + goto out_fput; + } + kattr->mnt_userns = get_user_ns(mnt_userns); out_fput: --- linux-gcp-5.19.0.orig/fs/netfs/buffered_read.c +++ linux-gcp-5.19.0/fs/netfs/buffered_read.c @@ -17,9 +17,9 @@ { struct netfs_io_subrequest *subreq; struct folio *folio; - unsigned int iopos, account = 0; pgoff_t start_page = rreq->start / PAGE_SIZE; pgoff_t last_page = ((rreq->start + rreq->len) / PAGE_SIZE) - 1; + size_t account = 0; bool subreq_failed = false; XA_STATE(xas, &rreq->mapping->i_pages, start_page); @@ -39,18 +39,23 @@ */ subreq = list_first_entry(&rreq->subrequests, struct netfs_io_subrequest, rreq_link); - iopos = 0; subreq_failed = (subreq->error < 0); trace_netfs_rreq(rreq, netfs_rreq_trace_unlock); rcu_read_lock(); xas_for_each(&xas, folio, last_page) { - unsigned int pgpos = (folio_index(folio) - start_page) * PAGE_SIZE; - unsigned int pgend = pgpos + folio_size(folio); + loff_t pg_end; bool pg_failed = false; + if (xas_retry(&xas, folio)) + continue; + + pg_end = folio_pos(folio) + folio_size(folio) - 1; + for (;;) { + loff_t sreq_end; + if (!subreq) { pg_failed = true; break; @@ -58,11 +63,11 @@ if (test_bit(NETFS_SREQ_COPY_TO_CACHE, &subreq->flags)) folio_start_fscache(folio); pg_failed |= subreq_failed; - if (pgend < iopos + subreq->len) + sreq_end = subreq->start + subreq->len - 1; + if (pg_end < sreq_end) break; account += subreq->transferred; - iopos += subreq->len; if (!list_is_last(&subreq->rreq_link, &rreq->subrequests)) { subreq = list_next_entry(subreq, rreq_link); subreq_failed = (subreq->error < 0); @@ -70,7 +75,8 @@ subreq = NULL; subreq_failed = false; } - if (pgend == iopos) + + if (pg_end == sreq_end) break; } --- linux-gcp-5.19.0.orig/fs/netfs/io.c +++ linux-gcp-5.19.0/fs/netfs/io.c @@ -121,6 +121,9 @@ XA_STATE(xas, &rreq->mapping->i_pages, subreq->start / PAGE_SIZE); xas_for_each(&xas, folio, (subreq->start + subreq->len - 1) / PAGE_SIZE) { + if (xas_retry(&xas, folio)) + continue; + /* We might have multiple writes from the same huge * folio, but we mustn't unlock a folio more than once. */ --- linux-gcp-5.19.0.orig/fs/nfs/delegation.c +++ linux-gcp-5.19.0/fs/nfs/delegation.c @@ -228,8 +228,7 @@ * */ void nfs_inode_reclaim_delegation(struct inode *inode, const struct cred *cred, - fmode_t type, - const nfs4_stateid *stateid, + fmode_t type, const nfs4_stateid *stateid, unsigned long pagemod_limit) { struct nfs_delegation *delegation; @@ -239,25 +238,24 @@ delegation = rcu_dereference(NFS_I(inode)->delegation); if (delegation != NULL) { spin_lock(&delegation->lock); - if (nfs4_is_valid_delegation(delegation, 0)) { - nfs4_stateid_copy(&delegation->stateid, stateid); - delegation->type = type; - delegation->pagemod_limit = pagemod_limit; - oldcred = delegation->cred; - delegation->cred = get_cred(cred); - clear_bit(NFS_DELEGATION_NEED_RECLAIM, - &delegation->flags); - spin_unlock(&delegation->lock); - rcu_read_unlock(); - put_cred(oldcred); - trace_nfs4_reclaim_delegation(inode, type); - return; - } - /* We appear to have raced with a delegation return. */ + nfs4_stateid_copy(&delegation->stateid, stateid); + delegation->type = type; + delegation->pagemod_limit = pagemod_limit; + oldcred = delegation->cred; + delegation->cred = get_cred(cred); + clear_bit(NFS_DELEGATION_NEED_RECLAIM, &delegation->flags); + if (test_and_clear_bit(NFS_DELEGATION_REVOKED, + &delegation->flags)) + atomic_long_inc(&nfs_active_delegations); spin_unlock(&delegation->lock); + rcu_read_unlock(); + put_cred(oldcred); + trace_nfs4_reclaim_delegation(inode, type); + } else { + rcu_read_unlock(); + nfs_inode_set_delegation(inode, cred, type, stateid, + pagemod_limit); } - rcu_read_unlock(); - nfs_inode_set_delegation(inode, cred, type, stateid, pagemod_limit); } static int nfs_do_return_delegation(struct inode *inode, struct nfs_delegation *delegation, int issync) --- linux-gcp-5.19.0.orig/fs/nfs/dir.c +++ linux-gcp-5.19.0/fs/nfs/dir.c @@ -810,7 +810,7 @@ int ret; if (entry->fattr->label) - entry->fattr->label->len = NFS4_MAXLABELLEN; + entry->fattr->label->lsmctx.len = NFS4_MAXLABELLEN; ret = xdr_decode(desc, entry, stream); if (ret || !desc->plus) return ret; @@ -2906,9 +2906,30 @@ return NULL; } +static u64 nfs_access_login_time(const struct task_struct *task, + const struct cred *cred) +{ + const struct task_struct *parent; + const struct cred *pcred; + u64 ret; + + rcu_read_lock(); + for (;;) { + parent = rcu_dereference(task->real_parent); + pcred = rcu_dereference(parent->cred); + if (parent == task || cred_fscmp(pcred, cred) != 0) + break; + task = parent; + } + ret = task->start_time; + rcu_read_unlock(); + return ret; +} + static int nfs_access_get_cached_locked(struct inode *inode, const struct cred *cred, u32 *mask, bool may_block) { struct nfs_inode *nfsi = NFS_I(inode); + u64 login_time = nfs_access_login_time(current, cred); struct nfs_access_entry *cache; bool retry = true; int err; @@ -2936,6 +2957,9 @@ spin_lock(&inode->i_lock); retry = false; } + err = -ENOENT; + if ((s64)(login_time - cache->timestamp) > 0) + goto out; *mask = cache->mask; list_move_tail(&cache->lru, &nfsi->access_cache_entry_lru); err = 0; @@ -2954,6 +2978,7 @@ * but do it without locking. */ struct nfs_inode *nfsi = NFS_I(inode); + u64 login_time = nfs_access_login_time(current, cred); struct nfs_access_entry *cache; int err = -ECHILD; struct list_head *lh; @@ -2968,6 +2993,8 @@ cache = NULL; if (cache == NULL) goto out; + if ((s64)(login_time - cache->timestamp) > 0) + goto out; if (nfs_check_cache_invalid(inode, NFS_INO_INVALID_ACCESS)) goto out; *mask = cache->mask; @@ -3039,6 +3066,7 @@ cache->fsgid = cred->fsgid; cache->group_info = get_group_info(cred->group_info); cache->mask = set->mask; + cache->timestamp = ktime_get_ns(); /* The above field assignments must be visible * before this item appears on the lru. We cannot easily --- linux-gcp-5.19.0.orig/fs/nfs/file.c +++ linux-gcp-5.19.0/fs/nfs/file.c @@ -221,8 +221,10 @@ int nfs_file_fsync(struct file *file, loff_t start, loff_t end, int datasync) { - struct nfs_open_context *ctx = nfs_file_open_context(file); struct inode *inode = file_inode(file); + struct nfs_inode *nfsi = NFS_I(inode); + long save_nredirtied = atomic_long_read(&nfsi->redirtied_pages); + long nredirtied; int ret; trace_nfs_fsync_enter(inode); @@ -237,15 +239,10 @@ ret = pnfs_sync_inode(inode, !!datasync); if (ret != 0) break; - if (!test_and_clear_bit(NFS_CONTEXT_RESEND_WRITES, &ctx->flags)) + nredirtied = atomic_long_read(&nfsi->redirtied_pages); + if (nredirtied == save_nredirtied) break; - /* - * If nfs_file_fsync_commit detected a server reboot, then - * resend all dirty pages that might have been covered by - * the NFS_CONTEXT_RESEND_WRITES flag - */ - start = 0; - end = LLONG_MAX; + save_nredirtied = nredirtied; } trace_nfs_fsync_exit(inode, ret); --- linux-gcp-5.19.0.orig/fs/nfs/filelayout/filelayout.c +++ linux-gcp-5.19.0/fs/nfs/filelayout/filelayout.c @@ -781,6 +781,12 @@ return &fl->generic_hdr; } +static bool +filelayout_lseg_is_striped(const struct nfs4_filelayout_segment *flseg) +{ + return flseg->num_fh > 1; +} + /* * filelayout_pg_test(). Called by nfs_can_coalesce_requests() * @@ -801,6 +807,8 @@ size = pnfs_generic_pg_test(pgio, prev, req); if (!size) return 0; + else if (!filelayout_lseg_is_striped(FILELAYOUT_LSEG(pgio->pg_lseg))) + return size; /* see if req and prev are in the same stripe */ if (prev) { --- linux-gcp-5.19.0.orig/fs/nfs/flexfilelayout/flexfilelayout.c +++ linux-gcp-5.19.0/fs/nfs/flexfilelayout/flexfilelayout.c @@ -1131,6 +1131,8 @@ case -EIO: case -ETIMEDOUT: case -EPIPE: + case -EPROTO: + case -ENODEV: dprintk("%s DS connection error %d\n", __func__, task->tk_status); nfs4_delete_deviceid(devid->ld, devid->nfs_client, @@ -1236,6 +1238,8 @@ case -ENOBUFS: case -EPIPE: case -EPERM: + case -EPROTO: + case -ENODEV: *op_status = status = NFS4ERR_NXIO; break; case -EACCES: --- linux-gcp-5.19.0.orig/fs/nfs/inode.c +++ linux-gcp-5.19.0/fs/nfs/inode.c @@ -361,14 +361,15 @@ return; if ((fattr->valid & NFS_ATTR_FATTR_V4_SECURITY_LABEL) && inode->i_security) { - error = security_inode_notifysecctx(inode, fattr->label->label, - fattr->label->len); + error = security_inode_notifysecctx(inode, + fattr->label->lsmctx.context, + fattr->label->lsmctx.len); if (error) printk(KERN_ERR "%s() %s %d " "security_inode_notifysecctx() %d\n", __func__, - (char *)fattr->label->label, - fattr->label->len, error); + (char *)fattr->label->lsmctx.context, + fattr->label->lsmctx.len, error); nfs_clear_label_invalid(inode); } } @@ -384,12 +385,14 @@ if (label == NULL) return ERR_PTR(-ENOMEM); - label->label = kzalloc(NFS4_MAXLABELLEN, flags); - if (label->label == NULL) { + label->lsmctx.context = kzalloc(NFS4_MAXLABELLEN, flags); + if (label->lsmctx.context == NULL) { kfree(label); return ERR_PTR(-ENOMEM); } - label->len = NFS4_MAXLABELLEN; + label->lsmctx.len = NFS4_MAXLABELLEN; + /* Use an invalid LSM slot as this should never be "released". */ + label->lsmctx.slot = -1; return label; } @@ -426,6 +429,7 @@ static void nfs_inode_init_regular(struct nfs_inode *nfsi) { atomic_long_set(&nfsi->nrequests, 0); + atomic_long_set(&nfsi->redirtied_pages, 0); INIT_LIST_HEAD(&nfsi->commit_info.list); atomic_long_set(&nfsi->commit_info.ncommit, 0); atomic_set(&nfsi->commit_info.rpcs_out, 0); --- linux-gcp-5.19.0.orig/fs/nfs/internal.h +++ linux-gcp-5.19.0/fs/nfs/internal.h @@ -342,13 +342,15 @@ if (!dst || !src) return NULL; - if (src->len > NFS4_MAXLABELLEN) + if (src->lsmctx.len > NFS4_MAXLABELLEN) return NULL; dst->lfs = src->lfs; dst->pi = src->pi; - dst->len = src->len; - memcpy(dst->label, src->label, src->len); + /* Use an invalid LSM slot as lsmctx should never be "released" */ + dst->lsmctx.slot = -1; + dst->lsmctx.len = src->lsmctx.len; + memcpy(dst->lsmctx.context, src->lsmctx.context, src->lsmctx.len); return dst; } @@ -604,6 +606,31 @@ return GFP_KERNEL; } +/* + * Special version of should_remove_suid() that ignores capabilities. + */ +static inline int nfs_should_remove_suid(const struct inode *inode) +{ + umode_t mode = inode->i_mode; + int kill = 0; + + /* suid always must be killed */ + if (unlikely(mode & S_ISUID)) + kill = ATTR_KILL_SUID; + + /* + * sgid without any exec bits is just a mandatory locking mark; leave + * it alone. If some exec bits are set, it's a real sgid; kill it. + */ + if (unlikely((mode & S_ISGID) && (mode & S_IXGRP))) + kill |= ATTR_KILL_SGID; + + if (unlikely(kill && S_ISREG(mode))) + return kill; + + return 0; +} + /* unlink.c */ extern struct rpc_task * nfs_async_rename(struct inode *old_dir, struct inode *new_dir, --- linux-gcp-5.19.0.orig/fs/nfs/namespace.c +++ linux-gcp-5.19.0/fs/nfs/namespace.c @@ -147,7 +147,7 @@ struct nfs_fs_context *ctx; struct fs_context *fc; struct vfsmount *mnt = ERR_PTR(-ENOMEM); - struct nfs_server *server = NFS_SERVER(d_inode(path->dentry)); + struct nfs_server *server = NFS_SB(path->dentry->d_sb); struct nfs_client *client = server->nfs_client; int timeout = READ_ONCE(nfs_mountpoint_expiry_timeout); int ret; --- linux-gcp-5.19.0.orig/fs/nfs/nfs3client.c +++ linux-gcp-5.19.0/fs/nfs/nfs3client.c @@ -108,7 +108,6 @@ if (mds_srv->flags & NFS_MOUNT_NORESVPORT) __set_bit(NFS_CS_NORESVPORT, &cl_init.init_flags); - __set_bit(NFS_CS_NOPING, &cl_init.init_flags); __set_bit(NFS_CS_DS, &cl_init.init_flags); /* Use the MDS nfs_client cl_ipaddr. */ --- linux-gcp-5.19.0.orig/fs/nfs/nfs42proc.c +++ linux-gcp-5.19.0/fs/nfs/nfs42proc.c @@ -78,10 +78,15 @@ status = nfs4_call_sync(server->client, server, msg, &args.seq_args, &res.seq_res, 0); - if (status == 0) + if (status == 0) { + if (nfs_should_remove_suid(inode)) { + spin_lock(&inode->i_lock); + nfs_set_cache_invalid(inode, NFS_INO_INVALID_MODE); + spin_unlock(&inode->i_lock); + } status = nfs_post_op_update_inode_force_wcc(inode, res.falloc_fattr); - + } if (msg->rpc_proc == &nfs4_procedures[NFSPROC4_CLNT_ALLOCATE]) trace_nfs4_fallocate(inode, &args, status); else @@ -1088,6 +1093,9 @@ &args.seq_args, &res.seq_res, 0); trace_nfs4_clone(src_inode, dst_inode, &args, status); if (status == 0) { + /* a zero-length count means clone to EOF in src */ + if (count == 0 && res.dst_fattr->valid & NFS_ATTR_FATTR_SIZE) + count = nfs_size_to_loff_t(res.dst_fattr->size) - dst_offset; nfs42_copy_dest_done(dst_inode, dst_offset, count); status = nfs_post_op_update_inode(dst_inode, res.dst_fattr); } --- linux-gcp-5.19.0.orig/fs/nfs/nfs4client.c +++ linux-gcp-5.19.0/fs/nfs/nfs4client.c @@ -346,6 +346,7 @@ ret = nfs4_setup_slot_table(tbl, NFS4_MAX_SLOT_TABLE, "NFSv4.0 transport Slot table"); if (ret) { + nfs4_shutdown_slot_table(tbl); kfree(tbl); return ret; } --- linux-gcp-5.19.0.orig/fs/nfs/nfs4file.c +++ linux-gcp-5.19.0/fs/nfs/nfs4file.c @@ -340,6 +340,11 @@ goto out; } + if (!S_ISREG(fattr->mode)) { + res = ERR_PTR(-EBADF); + goto out; + } + res = ERR_PTR(-ENOMEM); len = strlen(SSC_READ_NAME_BODY) + 16; read_name = kzalloc(len, GFP_KERNEL); @@ -357,6 +362,7 @@ r_ino->i_fop); if (IS_ERR(filep)) { res = ERR_CAST(filep); + iput(r_ino); goto out_free_name; } --- linux-gcp-5.19.0.orig/fs/nfs/nfs4idmap.c +++ linux-gcp-5.19.0/fs/nfs/nfs4idmap.c @@ -561,22 +561,20 @@ return true; } -static void -nfs_idmap_complete_pipe_upcall_locked(struct idmap *idmap, int ret) +static void nfs_idmap_complete_pipe_upcall(struct idmap_legacy_upcalldata *data, + int ret) { - struct key *authkey = idmap->idmap_upcall_data->authkey; - - kfree(idmap->idmap_upcall_data); - idmap->idmap_upcall_data = NULL; - complete_request_key(authkey, ret); - key_put(authkey); + complete_request_key(data->authkey, ret); + key_put(data->authkey); + kfree(data); } -static void -nfs_idmap_abort_pipe_upcall(struct idmap *idmap, int ret) +static void nfs_idmap_abort_pipe_upcall(struct idmap *idmap, + struct idmap_legacy_upcalldata *data, + int ret) { - if (idmap->idmap_upcall_data != NULL) - nfs_idmap_complete_pipe_upcall_locked(idmap, ret); + if (cmpxchg(&idmap->idmap_upcall_data, data, NULL) == data) + nfs_idmap_complete_pipe_upcall(data, ret); } static int nfs_idmap_legacy_upcall(struct key *authkey, void *aux) @@ -613,7 +611,7 @@ ret = rpc_queue_upcall(idmap->idmap_pipe, msg); if (ret < 0) - nfs_idmap_abort_pipe_upcall(idmap, ret); + nfs_idmap_abort_pipe_upcall(idmap, data, ret); return ret; out2: @@ -669,6 +667,7 @@ struct request_key_auth *rka; struct rpc_inode *rpci = RPC_I(file_inode(filp)); struct idmap *idmap = (struct idmap *)rpci->private; + struct idmap_legacy_upcalldata *data; struct key *authkey; struct idmap_msg im; size_t namelen_in; @@ -678,10 +677,11 @@ * will have been woken up and someone else may now have used * idmap_key_cons - so after this point we may no longer touch it. */ - if (idmap->idmap_upcall_data == NULL) + data = xchg(&idmap->idmap_upcall_data, NULL); + if (data == NULL) goto out_noupcall; - authkey = idmap->idmap_upcall_data->authkey; + authkey = data->authkey; rka = get_request_key_auth(authkey); if (mlen != sizeof(im)) { @@ -703,18 +703,17 @@ if (namelen_in == 0 || namelen_in == IDMAP_NAMESZ) { ret = -EINVAL; goto out; -} + } - ret = nfs_idmap_read_and_verify_message(&im, - &idmap->idmap_upcall_data->idmap_msg, - rka->target_key, authkey); + ret = nfs_idmap_read_and_verify_message(&im, &data->idmap_msg, + rka->target_key, authkey); if (ret >= 0) { key_set_timeout(rka->target_key, nfs_idmap_cache_timeout); ret = mlen; } out: - nfs_idmap_complete_pipe_upcall_locked(idmap, ret); + nfs_idmap_complete_pipe_upcall(data, ret); out_noupcall: return ret; } @@ -728,7 +727,7 @@ struct idmap *idmap = data->idmap; if (msg->errno) - nfs_idmap_abort_pipe_upcall(idmap, msg->errno); + nfs_idmap_abort_pipe_upcall(idmap, data, msg->errno); } static void @@ -736,8 +735,11 @@ { struct rpc_inode *rpci = RPC_I(inode); struct idmap *idmap = (struct idmap *)rpci->private; + struct idmap_legacy_upcalldata *data; - nfs_idmap_abort_pipe_upcall(idmap, -EPIPE); + data = xchg(&idmap->idmap_upcall_data, NULL); + if (data) + nfs_idmap_complete_pipe_upcall(data, -EPIPE); } int nfs_map_name_to_uid(const struct nfs_server *server, const char *name, size_t namelen, kuid_t *uid) --- linux-gcp-5.19.0.orig/fs/nfs/nfs4proc.c +++ linux-gcp-5.19.0/fs/nfs/nfs4proc.c @@ -122,9 +122,11 @@ if (nfs_server_capable(dir, NFS_CAP_SECURITY_LABEL) == 0) return NULL; + label->lfs = 0; + label->pi = 0; + err = security_dentry_init_security(dentry, sattr->ia_mode, - &dentry->d_name, NULL, - (void **)&label->label, &label->len); + &dentry->d_name, NULL, &label->lsmctx); if (err == 0) return label; @@ -134,7 +136,7 @@ nfs4_label_release_security(struct nfs4_label *label) { if (label) - security_release_secctx(label->label, label->len); + security_release_secctx(&label->lsmctx); } static inline u32 *nfs4_bitmask(struct nfs_server *server, struct nfs4_label *label) { @@ -784,10 +786,9 @@ if ((s32)(seqnr - slot->seq_nr_highest_sent) > 0) slot->seq_nr_highest_sent = seqnr; } -static void nfs4_slot_sequence_acked(struct nfs4_slot *slot, - u32 seqnr) +static void nfs4_slot_sequence_acked(struct nfs4_slot *slot, u32 seqnr) { - slot->seq_nr_highest_sent = seqnr; + nfs4_slot_sequence_record_sent(slot, seqnr); slot->seq_nr_last_acked = seqnr; } @@ -854,7 +855,6 @@ __func__, slot->slot_nr, slot->seq_nr); - nfs4_slot_sequence_acked(slot, slot->seq_nr); goto out_retry; case -NFS4ERR_RETRY_UNCACHED_REP: case -NFS4ERR_SEQ_FALSE_RETRY: @@ -2127,18 +2127,18 @@ } static int nfs4_open_recover_helper(struct nfs4_opendata *opendata, - fmode_t fmode) + fmode_t fmode) { struct nfs4_state *newstate; + struct nfs_server *server = NFS_SB(opendata->dentry->d_sb); + int openflags = opendata->o_arg.open_flags; int ret; if (!nfs4_mode_match_open_stateid(opendata->state, fmode)) return 0; - opendata->o_arg.open_flags = 0; opendata->o_arg.fmode = fmode; - opendata->o_arg.share_access = nfs4_map_atomic_open_share( - NFS_SB(opendata->dentry->d_sb), - fmode, 0); + opendata->o_arg.share_access = + nfs4_map_atomic_open_share(server, fmode, openflags); memset(&opendata->o_res, 0, sizeof(opendata->o_res)); memset(&opendata->c_res, 0, sizeof(opendata->c_res)); nfs4_init_opendata_res(opendata); @@ -2720,10 +2720,15 @@ struct nfs4_opendata *opendata; int ret; - opendata = nfs4_open_recoverdata_alloc(ctx, state, - NFS4_OPEN_CLAIM_FH); + opendata = nfs4_open_recoverdata_alloc(ctx, state, NFS4_OPEN_CLAIM_FH); if (IS_ERR(opendata)) return PTR_ERR(opendata); + /* + * We're not recovering a delegation, so ask for no delegation. + * Otherwise the recovery thread could deadlock with an outstanding + * delegation return. + */ + opendata->o_arg.open_flags = O_DIRECT; ret = nfs4_open_recover(opendata, state); if (ret == -ESTALE) d_drop(ctx->dentry); @@ -3098,12 +3103,13 @@ } out: - if (opendata->lgp) { - nfs4_lgopen_release(opendata->lgp); - opendata->lgp = NULL; - } - if (!opendata->cancelled) + if (!opendata->cancelled) { + if (opendata->lgp) { + nfs4_lgopen_release(opendata->lgp); + opendata->lgp = NULL; + } nfs4_sequence_free_slot(&opendata->o_res.seq_res); + } return ret; } @@ -3796,7 +3802,7 @@ int open_flags, struct iattr *attr, int *opened) { struct nfs4_state *state; - struct nfs4_label l = {0, 0, 0, NULL}, *label = NULL; + struct nfs4_label l, *label; label = nfs4_label_init_security(dir, ctx->dentry, attr, &l); @@ -4013,7 +4019,7 @@ page = alloc_page(GFP_KERNEL); if (!page) - return -ENOMEM; + goto out_put_cred; locations = kmalloc(sizeof(struct nfs4_fs_locations), GFP_KERNEL); if (!locations) goto out_free; @@ -4035,6 +4041,8 @@ kfree(locations); out_free: __free_page(page); +out_put_cred: + put_cred(cred); return status; } @@ -4682,7 +4690,7 @@ int flags) { struct nfs_server *server = NFS_SERVER(dir); - struct nfs4_label l, *ilabel = NULL; + struct nfs4_label l, *ilabel; struct nfs_open_context *ctx; struct nfs4_state *state; int status = 0; @@ -5033,7 +5041,7 @@ struct nfs4_exception exception = { .interruptible = true, }; - struct nfs4_label l, *label = NULL; + struct nfs4_label l, *label; int err; label = nfs4_label_init_security(dir, dentry, sattr, &l); @@ -5074,7 +5082,7 @@ struct nfs4_exception exception = { .interruptible = true, }; - struct nfs4_label l, *label = NULL; + struct nfs4_label l, *label; int err; label = nfs4_label_init_security(dir, dentry, sattr, &l); @@ -5193,7 +5201,7 @@ struct nfs4_exception exception = { .interruptible = true, }; - struct nfs4_label l, *label = NULL; + struct nfs4_label l, *label; int err; label = nfs4_label_init_security(dir, dentry, sattr, &l); @@ -6111,7 +6119,7 @@ size_t buflen) { struct nfs_server *server = NFS_SERVER(inode); - struct nfs4_label label = {0, 0, buflen, buf}; + struct nfs4_label label = {0, 0, {buf, buflen, -1} }; u32 bitmask[3] = { 0, 0, FATTR4_WORD2_SECURITY_LABEL }; struct nfs_fattr fattr = { @@ -6139,7 +6147,7 @@ return ret; if (!(fattr.valid & NFS_ATTR_FATTR_V4_SECURITY_LABEL)) return -ENOENT; - return label.len; + return label.lsmctx.len; } static int nfs4_get_security_label(struct inode *inode, void *buf, @@ -6216,7 +6224,8 @@ static int nfs4_set_security_label(struct inode *inode, const void *buf, size_t buflen) { - struct nfs4_label ilabel = {0, 0, buflen, (char *)buf }; + struct nfs4_label ilabel = {0, 0, + {(char *)buf, buflen, -1}}; struct nfs_fattr *fattr; int status; @@ -7138,6 +7147,7 @@ { struct nfs4_lockdata *data = calldata; struct nfs4_lock_state *lsp = data->lsp; + struct nfs_server *server = NFS_SERVER(d_inode(data->ctx->dentry)); if (!nfs4_sequence_done(task, &data->res.seq_res)) return; @@ -7145,8 +7155,7 @@ data->rpc_status = task->tk_status; switch (task->tk_status) { case 0: - renew_lease(NFS_SERVER(d_inode(data->ctx->dentry)), - data->timestamp); + renew_lease(server, data->timestamp); if (data->arg.new_lock && !data->cancelled) { data->fl.fl_flags &= ~(FL_SLEEP | FL_ACCESS); if (locks_lock_inode_wait(lsp->ls_state->inode, &data->fl) < 0) @@ -7167,6 +7176,8 @@ if (!nfs4_stateid_match(&data->arg.open_stateid, &lsp->ls_state->open_stateid)) goto out_restart; + else if (nfs4_async_handle_error(task, server, lsp->ls_state, NULL) == -EAGAIN) + goto out_restart; } else if (!nfs4_stateid_match(&data->arg.lock_stateid, &lsp->ls_stateid)) goto out_restart; @@ -9477,6 +9488,9 @@ rpc_delay(task, NFS4_POLL_RETRY_MAX); fallthrough; case -NFS4ERR_RETRY_UNCACHED_REP: + case -EACCES: + dprintk("%s: failed to reclaim complete error %d for server %s, retrying\n", + __func__, task->tk_status, clp->cl_hostname); return -EAGAIN; case -NFS4ERR_BADSESSION: case -NFS4ERR_DEADSESSION: @@ -10581,7 +10595,9 @@ /* The state manager thread will now exit once it is * woken. */ - wake_up_var(&NFS_SERVER(inode)->nfs_client->cl_state); + struct nfs_client *clp = NFS_SERVER(inode)->nfs_client; + + nfs4_schedule_state_manager(clp); } static const struct inode_operations nfs4_dir_inode_operations = { --- linux-gcp-5.19.0.orig/fs/nfs/nfs4state.c +++ linux-gcp-5.19.0/fs/nfs/nfs4state.c @@ -1232,6 +1232,8 @@ if (IS_ERR(task)) { printk(KERN_ERR "%s: kthread_run: %ld\n", __func__, PTR_ERR(task)); + if (!nfs_client_init_is_complete(clp)) + nfs_mark_client_ready(clp, PTR_ERR(task)); nfs4_clear_state_manager_bit(clp); clear_bit(NFS4CLNT_MANAGER_AVAILABLE, &clp->cl_state); nfs_put_client(clp); @@ -1787,6 +1789,7 @@ static void nfs4_state_start_reclaim_reboot(struct nfs_client *clp) { + set_bit(NFS4CLNT_RECLAIM_REBOOT, &clp->cl_state); /* Mark all delegations for reclaim */ nfs_delegation_mark_reclaim(clp); nfs4_state_mark_reclaim_helper(clp, nfs4_state_mark_reclaim_reboot); @@ -2671,6 +2674,7 @@ if (status < 0) goto out_error; nfs4_state_end_reclaim_reboot(clp); + continue; } /* Detect expired delegations... */ --- linux-gcp-5.19.0.orig/fs/nfs/nfs4trace.h +++ linux-gcp-5.19.0/fs/nfs/nfs4trace.h @@ -292,32 +292,34 @@ TRACE_DEFINE_ENUM(NFS4CLNT_LEASE_MOVED); TRACE_DEFINE_ENUM(NFS4CLNT_DELEGATION_EXPIRED); TRACE_DEFINE_ENUM(NFS4CLNT_RUN_MANAGER); +TRACE_DEFINE_ENUM(NFS4CLNT_MANAGER_AVAILABLE); TRACE_DEFINE_ENUM(NFS4CLNT_RECALL_RUNNING); TRACE_DEFINE_ENUM(NFS4CLNT_RECALL_ANY_LAYOUT_READ); TRACE_DEFINE_ENUM(NFS4CLNT_RECALL_ANY_LAYOUT_RW); +TRACE_DEFINE_ENUM(NFS4CLNT_DELEGRETURN_DELAYED); #define show_nfs4_clp_state(state) \ __print_flags(state, "|", \ - { NFS4CLNT_MANAGER_RUNNING, "MANAGER_RUNNING" }, \ - { NFS4CLNT_CHECK_LEASE, "CHECK_LEASE" }, \ - { NFS4CLNT_LEASE_EXPIRED, "LEASE_EXPIRED" }, \ - { NFS4CLNT_RECLAIM_REBOOT, "RECLAIM_REBOOT" }, \ - { NFS4CLNT_RECLAIM_NOGRACE, "RECLAIM_NOGRACE" }, \ - { NFS4CLNT_DELEGRETURN, "DELEGRETURN" }, \ - { NFS4CLNT_SESSION_RESET, "SESSION_RESET" }, \ - { NFS4CLNT_LEASE_CONFIRM, "LEASE_CONFIRM" }, \ - { NFS4CLNT_SERVER_SCOPE_MISMATCH, \ - "SERVER_SCOPE_MISMATCH" }, \ - { NFS4CLNT_PURGE_STATE, "PURGE_STATE" }, \ - { NFS4CLNT_BIND_CONN_TO_SESSION, \ - "BIND_CONN_TO_SESSION" }, \ - { NFS4CLNT_MOVED, "MOVED" }, \ - { NFS4CLNT_LEASE_MOVED, "LEASE_MOVED" }, \ - { NFS4CLNT_DELEGATION_EXPIRED, "DELEGATION_EXPIRED" }, \ - { NFS4CLNT_RUN_MANAGER, "RUN_MANAGER" }, \ - { NFS4CLNT_RECALL_RUNNING, "RECALL_RUNNING" }, \ - { NFS4CLNT_RECALL_ANY_LAYOUT_READ, "RECALL_ANY_LAYOUT_READ" }, \ - { NFS4CLNT_RECALL_ANY_LAYOUT_RW, "RECALL_ANY_LAYOUT_RW" }) + { BIT(NFS4CLNT_MANAGER_RUNNING), "MANAGER_RUNNING" }, \ + { BIT(NFS4CLNT_CHECK_LEASE), "CHECK_LEASE" }, \ + { BIT(NFS4CLNT_LEASE_EXPIRED), "LEASE_EXPIRED" }, \ + { BIT(NFS4CLNT_RECLAIM_REBOOT), "RECLAIM_REBOOT" }, \ + { BIT(NFS4CLNT_RECLAIM_NOGRACE), "RECLAIM_NOGRACE" }, \ + { BIT(NFS4CLNT_DELEGRETURN), "DELEGRETURN" }, \ + { BIT(NFS4CLNT_SESSION_RESET), "SESSION_RESET" }, \ + { BIT(NFS4CLNT_LEASE_CONFIRM), "LEASE_CONFIRM" }, \ + { BIT(NFS4CLNT_SERVER_SCOPE_MISMATCH), "SERVER_SCOPE_MISMATCH" }, \ + { BIT(NFS4CLNT_PURGE_STATE), "PURGE_STATE" }, \ + { BIT(NFS4CLNT_BIND_CONN_TO_SESSION), "BIND_CONN_TO_SESSION" }, \ + { BIT(NFS4CLNT_MOVED), "MOVED" }, \ + { BIT(NFS4CLNT_LEASE_MOVED), "LEASE_MOVED" }, \ + { BIT(NFS4CLNT_DELEGATION_EXPIRED), "DELEGATION_EXPIRED" }, \ + { BIT(NFS4CLNT_RUN_MANAGER), "RUN_MANAGER" }, \ + { BIT(NFS4CLNT_MANAGER_AVAILABLE), "MANAGER_AVAILABLE" }, \ + { BIT(NFS4CLNT_RECALL_RUNNING), "RECALL_RUNNING" }, \ + { BIT(NFS4CLNT_RECALL_ANY_LAYOUT_READ), "RECALL_ANY_LAYOUT_READ" }, \ + { BIT(NFS4CLNT_RECALL_ANY_LAYOUT_RW), "RECALL_ANY_LAYOUT_RW" }, \ + { BIT(NFS4CLNT_DELEGRETURN_DELAYED), "DELERETURN_DELAYED" }) TRACE_EVENT(nfs4_state_mgr, TP_PROTO( --- linux-gcp-5.19.0.orig/fs/nfs/nfs4xdr.c +++ linux-gcp-5.19.0/fs/nfs/nfs4xdr.c @@ -1154,7 +1154,7 @@ } if (label && (attrmask[2] & FATTR4_WORD2_SECURITY_LABEL)) { - len += 4 + 4 + 4 + (XDR_QUADLEN(label->len) << 2); + len += 4 + 4 + 4 + (XDR_QUADLEN(label->lsmctx.len) << 2); bmval[2] |= FATTR4_WORD2_SECURITY_LABEL; } @@ -1186,8 +1186,9 @@ if (label && (bmval[2] & FATTR4_WORD2_SECURITY_LABEL)) { *p++ = cpu_to_be32(label->lfs); *p++ = cpu_to_be32(label->pi); - *p++ = cpu_to_be32(label->len); - p = xdr_encode_opaque_fixed(p, label->label, label->len); + *p++ = cpu_to_be32(label->lsmctx.len); + p = xdr_encode_opaque_fixed(p, label->lsmctx.context, + label->lsmctx.len); } if (bmval[2] & FATTR4_WORD2_MODE_UMASK) { *p++ = cpu_to_be32(iap->ia_mode & S_IALLUGO); @@ -4234,26 +4235,25 @@ p = xdr_inline_decode(xdr, len); if (unlikely(!p)) return -EIO; + bitmap[2] &= ~FATTR4_WORD2_SECURITY_LABEL; if (len < NFS4_MAXLABELLEN) { - if (label) { - if (label->len) { - if (label->len < len) - return -ERANGE; - memcpy(label->label, p, len); - } - label->len = len; + if (label && label->lsmctx.len) { + if (label->lsmctx.len < len) + return -ERANGE; + memcpy(label->lsmctx.context, p, len); + label->lsmctx.len = len; label->pi = pi; label->lfs = lfs; status = NFS_ATTR_FATTR_V4_SECURITY_LABEL; } - bitmap[2] &= ~FATTR4_WORD2_SECURITY_LABEL; } else printk(KERN_WARNING "%s: label too long (%u)!\n", __func__, len); - if (label && label->label) + if (label && label->lsmctx.context) dprintk("%s: label=%.*s, len=%d, PI=%d, LFS=%d\n", - __func__, label->len, (char *)label->label, - label->len, label->pi, label->lfs); + __func__, label->lsmctx.len, + (char *)label->lsmctx.context, + label->lsmctx.len, label->pi, label->lfs); } return status; } @@ -4755,12 +4755,10 @@ if (status < 0) goto xdr_error; - if (fattr->label) { - status = decode_attr_security_label(xdr, bitmap, fattr->label); - if (status < 0) - goto xdr_error; - fattr->valid |= status; - } + status = decode_attr_security_label(xdr, bitmap, fattr->label); + if (status < 0) + goto xdr_error; + fattr->valid |= status; xdr_error: dprintk("%s: xdr returned %d\n", __func__, -status); --- linux-gcp-5.19.0.orig/fs/nfs/super.c +++ linux-gcp-5.19.0/fs/nfs/super.c @@ -1051,22 +1051,31 @@ if (ctx->bsize) sb->s_blocksize = nfs_block_size(ctx->bsize, &sb->s_blocksize_bits); - if (server->nfs_client->rpc_ops->version != 2) { - /* The VFS shouldn't apply the umask to mode bits. We will do - * so ourselves when necessary. + switch (server->nfs_client->rpc_ops->version) { + case 2: + sb->s_time_gran = 1000; + sb->s_time_min = 0; + sb->s_time_max = U32_MAX; + break; + case 3: + /* + * The VFS shouldn't apply the umask to mode bits. + * We will do so ourselves when necessary. */ sb->s_flags |= SB_POSIXACL; sb->s_time_gran = 1; - sb->s_export_op = &nfs_export_ops; - } else - sb->s_time_gran = 1000; - - if (server->nfs_client->rpc_ops->version != 4) { sb->s_time_min = 0; sb->s_time_max = U32_MAX; - } else { + sb->s_export_op = &nfs_export_ops; + break; + case 4: + sb->s_flags |= SB_POSIXACL; + sb->s_time_gran = 1; sb->s_time_min = S64_MIN; sb->s_time_max = S64_MAX; + if (server->caps & NFS_CAP_ATOMIC_OPEN_V1) + sb->s_export_op = &nfs_export_ops; + break; } sb->s_magic = NFS_SUPER_MAGIC; --- linux-gcp-5.19.0.orig/fs/nfs/write.c +++ linux-gcp-5.19.0/fs/nfs/write.c @@ -1419,10 +1419,12 @@ */ static void nfs_redirty_request(struct nfs_page *req) { + struct nfs_inode *nfsi = NFS_I(page_file_mapping(req->wb_page)->host); + /* Bump the transmission count */ req->wb_nio++; nfs_mark_request_dirty(req); - set_bit(NFS_CONTEXT_RESEND_WRITES, &nfs_req_openctx(req)->flags); + atomic_long_inc(&nfsi->redirtied_pages); nfs_end_page_writeback(req); nfs_release_request(req); } @@ -1495,31 +1497,6 @@ NFS_PROTO(data->inode)->commit_rpc_prepare(task, data); } -/* - * Special version of should_remove_suid() that ignores capabilities. - */ -static int nfs_should_remove_suid(const struct inode *inode) -{ - umode_t mode = inode->i_mode; - int kill = 0; - - /* suid always must be killed */ - if (unlikely(mode & S_ISUID)) - kill = ATTR_KILL_SUID; - - /* - * sgid without any exec bits is just a mandatory locking mark; leave - * it alone. If some exec bits are set, it's a real sgid; kill it. - */ - if (unlikely((mode & S_ISGID) && (mode & S_IXGRP))) - kill |= ATTR_KILL_SGID; - - if (unlikely(kill && S_ISREG(mode))) - return kill; - - return 0; -} - static void nfs_writeback_check_extend(struct nfs_pgio_header *hdr, struct nfs_fattr *fattr) { @@ -1892,7 +1869,7 @@ /* We have a mismatch. Write the page again */ dprintk_cont(" mismatch\n"); nfs_mark_request_dirty(req); - set_bit(NFS_CONTEXT_RESEND_WRITES, &nfs_req_openctx(req)->flags); + atomic_long_inc(&NFS_I(data->inode)->redirtied_pages); next: nfs_unlock_and_release_request(req); /* Latency breaker */ --- linux-gcp-5.19.0.orig/fs/nfsd/filecache.c +++ linux-gcp-5.19.0/fs/nfsd/filecache.c @@ -184,12 +184,6 @@ nf->nf_hashval = hashval; refcount_set(&nf->nf_ref, 1); nf->nf_may = may & NFSD_FILE_MAY_MASK; - if (may & NFSD_MAY_NOT_BREAK_LEASE) { - if (may & NFSD_MAY_WRITE) - __set_bit(NFSD_FILE_BREAK_WRITE, &nf->nf_flags); - if (may & NFSD_MAY_READ) - __set_bit(NFSD_FILE_BREAK_READ, &nf->nf_flags); - } nf->nf_mark = NULL; trace_nfsd_file_alloc(nf); } @@ -958,21 +952,7 @@ this_cpu_inc(nfsd_file_cache_hits); - if (!(may_flags & NFSD_MAY_NOT_BREAK_LEASE)) { - bool write = (may_flags & NFSD_MAY_WRITE); - - if (test_bit(NFSD_FILE_BREAK_READ, &nf->nf_flags) || - (test_bit(NFSD_FILE_BREAK_WRITE, &nf->nf_flags) && write)) { - status = nfserrno(nfsd_open_break_lease( - file_inode(nf->nf_file), may_flags)); - if (status == nfs_ok) { - clear_bit(NFSD_FILE_BREAK_READ, &nf->nf_flags); - if (write) - clear_bit(NFSD_FILE_BREAK_WRITE, - &nf->nf_flags); - } - } - } + status = nfserrno(nfsd_open_break_lease(file_inode(nf->nf_file), may_flags)); out: if (status == nfs_ok) { *pnf = nf; --- linux-gcp-5.19.0.orig/fs/nfsd/filecache.h +++ linux-gcp-5.19.0/fs/nfsd/filecache.h @@ -37,9 +37,7 @@ struct net *nf_net; #define NFSD_FILE_HASHED (0) #define NFSD_FILE_PENDING (1) -#define NFSD_FILE_BREAK_READ (2) -#define NFSD_FILE_BREAK_WRITE (3) -#define NFSD_FILE_REFERENCED (4) +#define NFSD_FILE_REFERENCED (2) unsigned long nf_flags; struct inode *nf_inode; unsigned int nf_hashval; --- linux-gcp-5.19.0.orig/fs/nfsd/nfs2acl.c +++ linux-gcp-5.19.0/fs/nfsd/nfs2acl.c @@ -246,7 +246,6 @@ struct nfsd3_getaclres *resp = rqstp->rq_resp; struct dentry *dentry = resp->fh.fh_dentry; struct inode *inode; - int w; if (!svcxdr_encode_stat(xdr, resp->status)) return false; @@ -260,15 +259,6 @@ if (xdr_stream_encode_u32(xdr, resp->mask) < 0) return false; - rqstp->rq_res.page_len = w = nfsacl_size( - (resp->mask & NFS_ACL) ? resp->acl_access : NULL, - (resp->mask & NFS_DFACL) ? resp->acl_default : NULL); - while (w > 0) { - if (!*(rqstp->rq_next_page++)) - return true; - w -= PAGE_SIZE; - } - if (!nfs_stream_encode_acl(xdr, inode, resp->acl_access, resp->mask & NFS_ACL, 0)) return false; --- linux-gcp-5.19.0.orig/fs/nfsd/nfs3acl.c +++ linux-gcp-5.19.0/fs/nfsd/nfs3acl.c @@ -171,11 +171,7 @@ { struct nfsd3_getaclres *resp = rqstp->rq_resp; struct dentry *dentry = resp->fh.fh_dentry; - struct kvec *head = rqstp->rq_res.head; struct inode *inode; - unsigned int base; - int n; - int w; if (!svcxdr_encode_nfsstat3(xdr, resp->status)) return false; @@ -187,26 +183,12 @@ if (xdr_stream_encode_u32(xdr, resp->mask) < 0) return false; - base = (char *)xdr->p - (char *)head->iov_base; - - rqstp->rq_res.page_len = w = nfsacl_size( - (resp->mask & NFS_ACL) ? resp->acl_access : NULL, - (resp->mask & NFS_DFACL) ? resp->acl_default : NULL); - while (w > 0) { - if (!*(rqstp->rq_next_page++)) - return false; - w -= PAGE_SIZE; - } - - n = nfsacl_encode(&rqstp->rq_res, base, inode, - resp->acl_access, - resp->mask & NFS_ACL, 0); - if (n > 0) - n = nfsacl_encode(&rqstp->rq_res, base + n, inode, - resp->acl_default, - resp->mask & NFS_DFACL, - NFS_ACL_DEFAULT); - if (n <= 0) + if (!nfs_stream_encode_acl(xdr, inode, resp->acl_access, + resp->mask & NFS_ACL, 0)) + return false; + if (!nfs_stream_encode_acl(xdr, inode, resp->acl_default, + resp->mask & NFS_DFACL, + NFS_ACL_DEFAULT)) return false; break; default: --- linux-gcp-5.19.0.orig/fs/nfsd/nfs3proc.c +++ linux-gcp-5.19.0/fs/nfsd/nfs3proc.c @@ -147,7 +147,6 @@ { struct nfsd3_readargs *argp = rqstp->rq_argp; struct nfsd3_readres *resp = rqstp->rq_resp; - u32 max_blocksize = svc_max_payload(rqstp); unsigned int len; int v; @@ -156,7 +155,8 @@ (unsigned long) argp->count, (unsigned long long) argp->offset); - argp->count = min_t(u32, argp->count, max_blocksize); + argp->count = min_t(u32, argp->count, svc_max_payload(rqstp)); + argp->count = min_t(u32, argp->count, rqstp->rq_res.buflen); if (argp->offset > (u64)OFFSET_MAX) argp->offset = (u64)OFFSET_MAX; if (argp->offset + argp->count > (u64)OFFSET_MAX) @@ -550,13 +550,14 @@ { struct xdr_buf *buf = &resp->dirlist; struct xdr_stream *xdr = &resp->xdr; - - count = clamp(count, (u32)(XDR_UNIT * 2), svc_max_payload(rqstp)); + unsigned int sendbuf = min_t(unsigned int, rqstp->rq_res.buflen, + svc_max_payload(rqstp)); memset(buf, 0, sizeof(*buf)); /* Reserve room for the NULL ptr & eof flag (-2 words) */ - buf->buflen = count - XDR_UNIT * 2; + buf->buflen = clamp(count, (u32)(XDR_UNIT * 2), sendbuf); + buf->buflen -= XDR_UNIT * 2; buf->pages = rqstp->rq_next_page; rqstp->rq_next_page += (buf->buflen + PAGE_SIZE - 1) >> PAGE_SHIFT; --- linux-gcp-5.19.0.orig/fs/nfsd/nfs4callback.c +++ linux-gcp-5.19.0/fs/nfsd/nfs4callback.c @@ -917,7 +917,6 @@ } else { if (!conn->cb_xprt) return -EINVAL; - clp->cl_cb_conn.cb_xprt = conn->cb_xprt; clp->cl_cb_session = ses; args.bc_xprt = conn->cb_xprt; args.prognumber = clp->cl_cb_session->se_cb_prog; @@ -937,6 +936,9 @@ rpc_shutdown_client(client); return -ENOMEM; } + + if (clp->cl_minorversion != 0) + clp->cl_cb_conn.cb_xprt = conn->cb_xprt; clp->cl_cb_client = client; clp->cl_cb_cred = cred; rcu_read_lock(); --- linux-gcp-5.19.0.orig/fs/nfsd/nfs4layouts.c +++ linux-gcp-5.19.0/fs/nfsd/nfs4layouts.c @@ -323,11 +323,11 @@ if (ls->ls_recalled) goto out_unlock; - ls->ls_recalled = true; - atomic_inc(&ls->ls_stid.sc_file->fi_lo_recalls); if (list_empty(&ls->ls_layouts)) goto out_unlock; + ls->ls_recalled = true; + atomic_inc(&ls->ls_stid.sc_file->fi_lo_recalls); trace_nfsd_layout_recall(&ls->ls_stid.sc_stateid); refcount_inc(&ls->ls_stid.sc_count); --- linux-gcp-5.19.0.orig/fs/nfsd/nfs4proc.c +++ linux-gcp-5.19.0/fs/nfsd/nfs4proc.c @@ -970,7 +970,7 @@ * the client wants us to do more in this compound: */ if (!nfsd4_last_compound_op(rqstp)) - __clear_bit(RQ_SPLICE_OK, &rqstp->rq_flags); + clear_bit(RQ_SPLICE_OK, &rqstp->rq_flags); /* check stateid */ status = nfs4_preprocess_stateid_op(rqstp, cstate, &cstate->current_fh, @@ -1257,8 +1257,10 @@ return status; out_put_dst: nfsd_file_put(*dst); + *dst = NULL; out_put_src: nfsd_file_put(*src); + *src = NULL; goto out; } @@ -1374,6 +1376,7 @@ /* allow 20secs for mount/unmount for now - revisit */ if (signal_pending(current) || (schedule_timeout(20*HZ) == 0)) { + finish_wait(&nn->nfsd_ssc_waitq, &wait); kfree(work); return nfserr_eagain; } @@ -1517,13 +1520,6 @@ return status; } -static void -nfsd4_interssc_disconnect(struct vfsmount *ss_mnt) -{ - nfs_do_sb_deactive(ss_mnt->mnt_sb); - mntput(ss_mnt); -} - /* * Verify COPY destination stateid. * @@ -1626,11 +1622,6 @@ { } -static void -nfsd4_interssc_disconnect(struct vfsmount *ss_mnt) -{ -} - static struct file *nfs42_ssc_open(struct vfsmount *ss_mnt, struct nfs_fh *src_fh, nfs4_stateid *stateid) @@ -1692,6 +1683,7 @@ u64 src_pos = copy->cp_src_pos; u64 dst_pos = copy->cp_dst_pos; int status; + loff_t end; /* See RFC 7862 p.67: */ if (bytes_total == 0) @@ -1711,8 +1703,8 @@ /* for a non-zero asynchronous copy do a commit of data */ if (!copy->cp_synchronous && copy->cp_res.wr_bytes_written > 0) { since = READ_ONCE(dst->f_wb_err); - status = vfs_fsync_range(dst, copy->cp_dst_pos, - copy->cp_res.wr_bytes_written, 0); + end = copy->cp_dst_pos + copy->cp_res.wr_bytes_written - 1; + status = vfs_fsync_range(dst, copy->cp_dst_pos, end, 0); if (!status) status = filemap_check_wb_err(dst->f_mapping, since); if (!status) @@ -1788,14 +1780,14 @@ copy->nf_src = kzalloc(sizeof(struct nfsd_file), GFP_KERNEL); if (!copy->nf_src) { copy->nfserr = nfserr_serverfault; - nfsd4_interssc_disconnect(copy->ss_mnt); + /* ss_mnt will be unmounted by the laundromat */ goto do_callback; } copy->nf_src->nf_file = nfs42_ssc_open(copy->ss_mnt, ©->c_fh, ©->stateid); if (IS_ERR(copy->nf_src->nf_file)) { copy->nfserr = nfserr_offload_denied; - nfsd4_interssc_disconnect(copy->ss_mnt); + /* ss_mnt will be unmounted by the laundromat */ goto do_callback; } } @@ -1880,8 +1872,10 @@ if (async_copy) cleanup_async_copy(async_copy); status = nfserrno(-ENOMEM); - if (!copy->cp_intra) - nfsd4_interssc_disconnect(copy->ss_mnt); + /* + * source's vfsmount of inter-copy will be unmounted + * by the laundromat + */ goto out; } @@ -2650,12 +2644,11 @@ cstate->minorversion = args->minorversion; fh_init(current_fh, NFS4_FHSIZE); fh_init(save_fh, NFS4_FHSIZE); - /* * Don't use the deferral mechanism for NFSv4; compounds make it * too hard to avoid non-idempotency problems. */ - __clear_bit(RQ_USEDEFERRAL, &rqstp->rq_flags); + clear_bit(RQ_USEDEFERRAL, &rqstp->rq_flags); /* * According to RFC3010, this takes precedence over all other errors. @@ -2663,9 +2656,6 @@ status = nfserr_minor_vers_mismatch; if (nfsd_minorversion(nn, args->minorversion, NFSD_TEST) <= 0) goto out; - status = nfserr_resource; - if (args->opcnt > NFSD_MAX_OPS_PER_COMPOUND) - goto out; status = nfs41_check_op_ordering(args); if (status) { @@ -2678,10 +2668,20 @@ rqstp->rq_lease_breaker = (void **)&cstate->clp; - trace_nfsd_compound(rqstp, args->opcnt); + trace_nfsd_compound(rqstp, args->client_opcnt); while (!status && resp->opcnt < args->opcnt) { op = &args->ops[resp->opcnt++]; + if (unlikely(resp->opcnt == NFSD_MAX_OPS_PER_COMPOUND)) { + /* If there are still more operations to process, + * stop here and report NFS4ERR_RESOURCE. */ + if (cstate->minorversion == 0 && + args->client_opcnt > resp->opcnt) { + op->status = nfserr_resource; + goto encode_op; + } + } + /* * The XDR decode routines may have pre-set op->status; * for example, if there is a miscellaneous XDR error @@ -2757,8 +2757,8 @@ status = op->status; } - trace_nfsd_compound_status(args->opcnt, resp->opcnt, status, - nfsd4_op_name(op->opnum)); + trace_nfsd_compound_status(args->client_opcnt, resp->opcnt, + status, nfsd4_op_name(op->opnum)); nfsd4_cstate_clear_replay(cstate); nfsd4_increment_op_stats(op->opnum); @@ -2770,7 +2770,7 @@ out: cstate->status = status; /* Reset deferral mechanism for RPC deferrals */ - __set_bit(RQ_USEDEFERRAL, &rqstp->rq_flags); + set_bit(RQ_USEDEFERRAL, &rqstp->rq_flags); return rpc_success; } @@ -2792,28 +2792,49 @@ #define op_encode_channel_attrs_maxsz (6 + 1 + 1) -static inline u32 nfsd4_only_status_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +/* + * The _rsize() helpers are invoked by the NFSv4 COMPOUND decoder, which + * is called before sunrpc sets rq_res.buflen. Thus we have to compute + * the maximum payload size here, based on transport limits and the size + * of the remaining space in the rq_pages array. + */ +static u32 nfsd4_max_payload(const struct svc_rqst *rqstp) +{ + u32 buflen; + + buflen = (rqstp->rq_page_end - rqstp->rq_next_page) * PAGE_SIZE; + buflen -= rqstp->rq_auth_slack; + buflen -= rqstp->rq_res.head[0].iov_len; + return min_t(u32, buflen, svc_max_payload(rqstp)); +} + +static u32 nfsd4_only_status_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size) * sizeof(__be32); } -static inline u32 nfsd4_status_stateid_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_status_stateid_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + op_encode_stateid_maxsz)* sizeof(__be32); } -static inline u32 nfsd4_access_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_access_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { /* ac_supported, ac_resp_access */ return (op_encode_hdr_size + 2)* sizeof(__be32); } -static inline u32 nfsd4_commit_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_commit_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + op_encode_verifier_maxsz) * sizeof(__be32); } -static inline u32 nfsd4_create_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_create_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + op_encode_change_info_maxsz + nfs4_fattr_bitmap_maxsz) * sizeof(__be32); @@ -2824,17 +2845,17 @@ * the op prematurely if the estimate is too large. We may turn off splice * reads unnecessarily. */ -static inline u32 nfsd4_getattr_rsize(struct svc_rqst *rqstp, - struct nfsd4_op *op) +static u32 nfsd4_getattr_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { - u32 *bmap = op->u.getattr.ga_bmval; + const u32 *bmap = op->u.getattr.ga_bmval; u32 bmap0 = bmap[0], bmap1 = bmap[1], bmap2 = bmap[2]; u32 ret = 0; if (bmap0 & FATTR4_WORD0_ACL) - return svc_max_payload(rqstp); + return nfsd4_max_payload(rqstp); if (bmap0 & FATTR4_WORD0_FS_LOCATIONS) - return svc_max_payload(rqstp); + return nfsd4_max_payload(rqstp); if (bmap1 & FATTR4_WORD1_OWNER) { ret += IDMAP_NAMESZ + 4; @@ -2862,24 +2883,28 @@ return ret; } -static inline u32 nfsd4_getfh_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_getfh_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + 1) * sizeof(__be32) + NFS4_FHSIZE; } -static inline u32 nfsd4_link_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_link_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + op_encode_change_info_maxsz) * sizeof(__be32); } -static inline u32 nfsd4_lock_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_lock_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + op_encode_lock_denied_maxsz) * sizeof(__be32); } -static inline u32 nfsd4_open_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_open_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + op_encode_stateid_maxsz + op_encode_change_info_maxsz + 1 @@ -2887,20 +2912,18 @@ + op_encode_delegation_maxsz) * sizeof(__be32); } -static inline u32 nfsd4_read_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_read_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { - u32 maxcount = 0, rlen = 0; - - maxcount = svc_max_payload(rqstp); - rlen = min(op->u.read.rd_length, maxcount); + u32 rlen = min(op->u.read.rd_length, nfsd4_max_payload(rqstp)); return (op_encode_hdr_size + 2 + XDR_QUADLEN(rlen)) * sizeof(__be32); } -static inline u32 nfsd4_read_plus_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_read_plus_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { - u32 maxcount = svc_max_payload(rqstp); - u32 rlen = min(op->u.read.rd_length, maxcount); + u32 rlen = min(op->u.read.rd_length, nfsd4_max_payload(rqstp)); /* * If we detect that the file changed during hole encoding, then we * recover by encoding the remaining reply as data. This means we need @@ -2911,70 +2934,77 @@ return (op_encode_hdr_size + 2 + seg_len + XDR_QUADLEN(rlen)) * sizeof(__be32); } -static inline u32 nfsd4_readdir_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_readdir_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { - u32 maxcount = 0, rlen = 0; - - maxcount = svc_max_payload(rqstp); - rlen = min(op->u.readdir.rd_maxcount, maxcount); + u32 rlen = min(op->u.readdir.rd_maxcount, nfsd4_max_payload(rqstp)); return (op_encode_hdr_size + op_encode_verifier_maxsz + XDR_QUADLEN(rlen)) * sizeof(__be32); } -static inline u32 nfsd4_readlink_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_readlink_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + 1) * sizeof(__be32) + PAGE_SIZE; } -static inline u32 nfsd4_remove_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_remove_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + op_encode_change_info_maxsz) * sizeof(__be32); } -static inline u32 nfsd4_rename_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_rename_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + op_encode_change_info_maxsz + op_encode_change_info_maxsz) * sizeof(__be32); } -static inline u32 nfsd4_sequence_rsize(struct svc_rqst *rqstp, - struct nfsd4_op *op) +static u32 nfsd4_sequence_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + XDR_QUADLEN(NFS4_MAX_SESSIONID_LEN) + 5) * sizeof(__be32); } -static inline u32 nfsd4_test_stateid_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_test_stateid_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + 1 + op->u.test_stateid.ts_num_ids) * sizeof(__be32); } -static inline u32 nfsd4_setattr_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_setattr_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + nfs4_fattr_bitmap_maxsz) * sizeof(__be32); } -static inline u32 nfsd4_secinfo_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_secinfo_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + RPC_AUTH_MAXFLAVOR * (4 + XDR_QUADLEN(GSS_OID_MAX_LEN))) * sizeof(__be32); } -static inline u32 nfsd4_setclientid_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_setclientid_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + 2 + XDR_QUADLEN(NFS4_VERIFIER_SIZE)) * sizeof(__be32); } -static inline u32 nfsd4_write_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_write_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + 2 + op_encode_verifier_maxsz) * sizeof(__be32); } -static inline u32 nfsd4_exchange_id_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_exchange_id_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + 2 + 1 + /* eir_clientid, eir_sequenceid */\ 1 + 1 + /* eir_flags, spr_how */\ @@ -2988,14 +3018,16 @@ 0 /* ignored eir_server_impl_id contents */) * sizeof(__be32); } -static inline u32 nfsd4_bind_conn_to_session_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_bind_conn_to_session_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + \ XDR_QUADLEN(NFS4_MAX_SESSIONID_LEN) + /* bctsr_sessid */\ 2 /* bctsr_dir, use_conn_in_rdma_mode */) * sizeof(__be32); } -static inline u32 nfsd4_create_session_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_create_session_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + \ XDR_QUADLEN(NFS4_MAX_SESSIONID_LEN) + /* sessionid */\ @@ -3004,7 +3036,8 @@ op_encode_channel_attrs_maxsz) * sizeof(__be32); } -static inline u32 nfsd4_copy_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_copy_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + 1 /* wr_callback */ + @@ -3016,16 +3049,16 @@ 1 /* cr_synchronous */) * sizeof(__be32); } -static inline u32 nfsd4_offload_status_rsize(struct svc_rqst *rqstp, - struct nfsd4_op *op) +static u32 nfsd4_offload_status_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + 2 /* osr_count */ + 1 /* osr_complete<1> optional 0 for now */) * sizeof(__be32); } -static inline u32 nfsd4_copy_notify_rsize(struct svc_rqst *rqstp, - struct nfsd4_op *op) +static u32 nfsd4_copy_notify_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + 3 /* cnr_lease_time */ + @@ -3040,12 +3073,10 @@ } #ifdef CONFIG_NFSD_PNFS -static inline u32 nfsd4_getdeviceinfo_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_getdeviceinfo_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { - u32 maxcount = 0, rlen = 0; - - maxcount = svc_max_payload(rqstp); - rlen = min(op->u.getdeviceinfo.gd_maxcount, maxcount); + u32 rlen = min(op->u.getdeviceinfo.gd_maxcount, nfsd4_max_payload(rqstp)); return (op_encode_hdr_size + 1 /* gd_layout_type*/ + @@ -3058,7 +3089,8 @@ * so we need to define an arbitrary upper bound here. */ #define MAX_LAYOUT_SIZE 128 -static inline u32 nfsd4_layoutget_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_layoutget_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + 1 /* logr_return_on_close */ + @@ -3067,14 +3099,16 @@ MAX_LAYOUT_SIZE) * sizeof(__be32); } -static inline u32 nfsd4_layoutcommit_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_layoutcommit_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + 1 /* locr_newsize */ + 2 /* ns_size */) * sizeof(__be32); } -static inline u32 nfsd4_layoutreturn_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_layoutreturn_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + 1 /* lrs_stateid */ + @@ -3083,41 +3117,36 @@ #endif /* CONFIG_NFSD_PNFS */ -static inline u32 nfsd4_seek_rsize(struct svc_rqst *rqstp, struct nfsd4_op *op) +static u32 nfsd4_seek_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + 3) * sizeof(__be32); } -static inline u32 nfsd4_getxattr_rsize(struct svc_rqst *rqstp, - struct nfsd4_op *op) +static u32 nfsd4_getxattr_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { - u32 maxcount, rlen; - - maxcount = svc_max_payload(rqstp); - rlen = min_t(u32, XATTR_SIZE_MAX, maxcount); + u32 rlen = min_t(u32, XATTR_SIZE_MAX, nfsd4_max_payload(rqstp)); return (op_encode_hdr_size + 1 + XDR_QUADLEN(rlen)) * sizeof(__be32); } -static inline u32 nfsd4_setxattr_rsize(struct svc_rqst *rqstp, - struct nfsd4_op *op) +static u32 nfsd4_setxattr_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + op_encode_change_info_maxsz) * sizeof(__be32); } -static inline u32 nfsd4_listxattrs_rsize(struct svc_rqst *rqstp, - struct nfsd4_op *op) +static u32 nfsd4_listxattrs_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { - u32 maxcount, rlen; - - maxcount = svc_max_payload(rqstp); - rlen = min(op->u.listxattrs.lsxa_maxcount, maxcount); + u32 rlen = min(op->u.listxattrs.lsxa_maxcount, nfsd4_max_payload(rqstp)); return (op_encode_hdr_size + 4 + XDR_QUADLEN(rlen)) * sizeof(__be32); } -static inline u32 nfsd4_removexattr_rsize(struct svc_rqst *rqstp, - struct nfsd4_op *op) +static u32 nfsd4_removexattr_rsize(const struct svc_rqst *rqstp, + const struct nfsd4_op *op) { return (op_encode_hdr_size + op_encode_change_info_maxsz) * sizeof(__be32); --- linux-gcp-5.19.0.orig/fs/nfsd/nfs4recover.c +++ linux-gcp-5.19.0/fs/nfsd/nfs4recover.c @@ -815,8 +815,10 @@ princhash.data = memdup_user( &ci->cc_princhash.cp_data, princhashlen); - if (IS_ERR_OR_NULL(princhash.data)) + if (IS_ERR_OR_NULL(princhash.data)) { + kfree(name.data); return -EFAULT; + } princhash.len = princhashlen; } else princhash.len = 0; --- linux-gcp-5.19.0.orig/fs/nfsd/nfs4state.c +++ linux-gcp-5.19.0/fs/nfsd/nfs4state.c @@ -664,15 +664,26 @@ return ret; } -static struct nfsd_file *find_deleg_file(struct nfs4_file *f) +static struct nfsd_file *find_any_file_locked(struct nfs4_file *f) { - struct nfsd_file *ret = NULL; + lockdep_assert_held(&f->fi_lock); + + if (f->fi_fds[O_RDWR]) + return f->fi_fds[O_RDWR]; + if (f->fi_fds[O_WRONLY]) + return f->fi_fds[O_WRONLY]; + if (f->fi_fds[O_RDONLY]) + return f->fi_fds[O_RDONLY]; + return NULL; +} + +static struct nfsd_file *find_deleg_file_locked(struct nfs4_file *f) +{ + lockdep_assert_held(&f->fi_lock); - spin_lock(&f->fi_lock); if (f->fi_deleg_file) - ret = nfsd_file_get(f->fi_deleg_file); - spin_unlock(&f->fi_lock); - return ret; + return f->fi_deleg_file; + return NULL; } static atomic_long_t num_delegations; @@ -1049,6 +1060,7 @@ static void nfs4_free_deleg(struct nfs4_stid *stid) { + WARN_ON(!list_empty(&stid->sc_cp_list)); kmem_cache_free(deleg_slab, stid); atomic_long_dec(&num_delegations); } @@ -1463,6 +1475,7 @@ release_all_access(stp); if (stp->st_stateowner) nfs4_put_stateowner(stp->st_stateowner); + WARN_ON(!list_empty(&stid->sc_cp_list)); kmem_cache_free(stateid_slab, stid); } @@ -2597,9 +2610,11 @@ ols = openlockstateid(st); oo = ols->st_stateowner; nf = st->sc_file; - file = find_any_file(nf); + + spin_lock(&nf->fi_lock); + file = find_any_file_locked(nf); if (!file) - return 0; + goto out; seq_printf(s, "- "); nfs4_show_stateid(s, &st->sc_stateid); @@ -2621,8 +2636,8 @@ seq_printf(s, ", "); nfs4_show_owner(s, oo); seq_printf(s, " }\n"); - nfsd_file_put(file); - +out: + spin_unlock(&nf->fi_lock); return 0; } @@ -2636,9 +2651,10 @@ ols = openlockstateid(st); oo = ols->st_stateowner; nf = st->sc_file; - file = find_any_file(nf); + spin_lock(&nf->fi_lock); + file = find_any_file_locked(nf); if (!file) - return 0; + goto out; seq_printf(s, "- "); nfs4_show_stateid(s, &st->sc_stateid); @@ -2658,8 +2674,8 @@ seq_printf(s, ", "); nfs4_show_owner(s, oo); seq_printf(s, " }\n"); - nfsd_file_put(file); - +out: + spin_unlock(&nf->fi_lock); return 0; } @@ -2671,9 +2687,10 @@ ds = delegstateid(st); nf = st->sc_file; - file = find_deleg_file(nf); + spin_lock(&nf->fi_lock); + file = find_deleg_file_locked(nf); if (!file) - return 0; + goto out; seq_printf(s, "- "); nfs4_show_stateid(s, &st->sc_stateid); @@ -2689,8 +2706,8 @@ seq_printf(s, ", "); nfs4_show_fname(s, file); seq_printf(s, " }\n"); - nfsd_file_put(file); - +out: + spin_unlock(&nf->fi_lock); return 0; } @@ -5147,16 +5164,17 @@ /* test and set deny mode */ spin_lock(&fp->fi_lock); status = nfs4_file_check_deny(fp, open->op_share_deny); - if (status == nfs_ok) { - if (status != nfserr_share_denied) { - set_deny(open->op_share_deny, stp); - fp->fi_share_deny |= - (open->op_share_deny & NFS4_SHARE_DENY_BOTH); - } else { - if (nfs4_resolve_deny_conflicts_locked(fp, false, - stp, open->op_share_deny, false)) - status = nfserr_jukebox; - } + switch (status) { + case nfs_ok: + set_deny(open->op_share_deny, stp); + fp->fi_share_deny |= + (open->op_share_deny & NFS4_SHARE_DENY_BOTH); + break; + case nfserr_share_denied: + if (nfs4_resolve_deny_conflicts_locked(fp, false, + stp, open->op_share_deny, false)) + status = nfserr_jukebox; + break; } spin_unlock(&fp->fi_lock); @@ -6608,6 +6626,7 @@ struct nfs4_client *clp = s->st_stid.sc_client; bool unhashed; LIST_HEAD(reaplist); + struct nfs4_ol_stateid *stp; spin_lock(&clp->cl_lock); unhashed = unhash_open_stateid(s, &reaplist); @@ -6616,6 +6635,8 @@ if (unhashed) put_ol_stateid_locked(s, &reaplist); spin_unlock(&clp->cl_lock); + list_for_each_entry(stp, &reaplist, st_locks) + nfs4_free_cpntf_statelist(clp->net, &stp->st_stid); free_ol_stateid_reaplist(&reaplist); } else { spin_unlock(&clp->cl_lock); --- linux-gcp-5.19.0.orig/fs/nfsd/nfs4xdr.c +++ linux-gcp-5.19.0/fs/nfsd/nfs4xdr.c @@ -2347,16 +2347,10 @@ if (xdr_stream_decode_u32(argp->xdr, &argp->minorversion) < 0) return false; - if (xdr_stream_decode_u32(argp->xdr, &argp->opcnt) < 0) + if (xdr_stream_decode_u32(argp->xdr, &argp->client_opcnt) < 0) return false; - - /* - * NFS4ERR_RESOURCE is a more helpful error than GARBAGE_ARGS - * here, so we return success at the xdr level so that - * nfsd4_proc can handle this is an NFS-level error. - */ - if (argp->opcnt > NFSD_MAX_OPS_PER_COMPOUND) - return true; + argp->opcnt = min_t(u32, argp->client_opcnt, + NFSD_MAX_OPS_PER_COMPOUND); if (argp->opcnt > ARRAY_SIZE(argp->iops)) { argp->ops = kzalloc(argp->opcnt * sizeof(*argp->ops), GFP_KERNEL); @@ -2420,7 +2414,7 @@ argp->rqstp->rq_cachetype = cachethis ? RC_REPLBUFF : RC_NOCACHE; if (readcount > 1 || max_reply > PAGE_SIZE - auth_slack) - __clear_bit(RQ_SPLICE_OK, &argp->rqstp->rq_flags); + clear_bit(RQ_SPLICE_OK, &argp->rqstp->rq_flags); return true; } @@ -2722,11 +2716,11 @@ #ifdef CONFIG_NFSD_V4_SECURITY_LABEL static inline __be32 nfsd4_encode_security_label(struct xdr_stream *xdr, struct svc_rqst *rqstp, - void *context, int len) + struct lsmcontext *context) { __be32 *p; - p = xdr_reserve_space(xdr, len + 4 + 4 + 4); + p = xdr_reserve_space(xdr, context->len + 4 + 4 + 4); if (!p) return nfserr_resource; @@ -2736,13 +2730,13 @@ */ *p++ = cpu_to_be32(0); /* lfs */ *p++ = cpu_to_be32(0); /* pi */ - p = xdr_encode_opaque(p, context, len); + p = xdr_encode_opaque(p, context->context, context->len); return 0; } #else static inline __be32 nfsd4_encode_security_label(struct xdr_stream *xdr, struct svc_rqst *rqstp, - void *context, int len) + struct lsmcontext *context) { return 0; } #endif @@ -2839,8 +2833,7 @@ int err; struct nfs4_acl *acl = NULL; #ifdef CONFIG_NFSD_V4_SECURITY_LABEL - void *context = NULL; - int contextlen; + struct lsmcontext context = { }; #endif bool contextsupport = false; struct nfsd4_compoundres *resp = rqstp->rq_resp; @@ -2901,7 +2894,7 @@ bmval0 & FATTR4_WORD0_SUPPORTED_ATTRS) { if (exp->ex_flags & NFSEXP_SECURITY_LABEL) err = security_inode_getsecctx(d_inode(dentry), - &context, &contextlen); + &context); else err = -EOPNOTSUPP; contextsupport = (err == 0); @@ -3328,8 +3321,7 @@ #ifdef CONFIG_NFSD_V4_SECURITY_LABEL if (bmval2 & FATTR4_WORD2_SECURITY_LABEL) { - status = nfsd4_encode_security_label(xdr, rqstp, context, - contextlen); + status = nfsd4_encode_security_label(xdr, rqstp, &context); if (status) goto out; } @@ -3350,8 +3342,8 @@ out: #ifdef CONFIG_NFSD_V4_SECURITY_LABEL - if (context) - security_release_secctx(context, contextlen); + if (context.context) + security_release_secctx(&context); #endif /* CONFIG_NFSD_V4_SECURITY_LABEL */ kfree(acl); if (tempfh) { @@ -3527,6 +3519,17 @@ case nfserr_noent: xdr_truncate_encode(xdr, start_offset); goto skip_entry; + case nfserr_jukebox: + /* + * The pseudoroot should only display dentries that lead to + * exports. If we get EJUKEBOX here, then we can't tell whether + * this entry should be included. Just fail the whole READDIR + * with NFS4ERR_DELAY in that case, and hope that the situation + * will resolve itself by the client's next attempt. + */ + if (cd->rd_fhp->fh_export->ex_flags & NFSEXP_V4ROOT) + goto fail; + fallthrough; default: /* * If the client requested the RDATTR_ERROR attribute, @@ -4001,7 +4004,7 @@ if (resp->xdr->buf->page_len && test_bit(RQ_SPLICE_OK, &resp->rqstp->rq_flags)) { WARN_ON_ONCE(1); - return nfserr_resource; + return nfserr_serverfault; } xdr_commit_encode(xdr); --- linux-gcp-5.19.0.orig/fs/nfsd/nfsproc.c +++ linux-gcp-5.19.0/fs/nfsd/nfsproc.c @@ -182,6 +182,7 @@ argp->count, argp->offset); argp->count = min_t(u32, argp->count, NFSSVC_MAXBLKSIZE_V2); + argp->count = min_t(u32, argp->count, rqstp->rq_res.buflen); v = 0; len = argp->count; @@ -556,12 +557,11 @@ struct xdr_buf *buf = &resp->dirlist; struct xdr_stream *xdr = &resp->xdr; - count = clamp(count, (u32)(XDR_UNIT * 2), svc_max_payload(rqstp)); - memset(buf, 0, sizeof(*buf)); /* Reserve room for the NULL ptr & eof flag (-2 words) */ - buf->buflen = count - XDR_UNIT * 2; + buf->buflen = clamp(count, (u32)(XDR_UNIT * 2), (u32)PAGE_SIZE); + buf->buflen -= XDR_UNIT * 2; buf->pages = rqstp->rq_next_page; rqstp->rq_next_page++; --- linux-gcp-5.19.0.orig/fs/nfsd/nfssvc.c +++ linux-gcp-5.19.0/fs/nfsd/nfssvc.c @@ -357,7 +357,7 @@ do { read_seqbegin_or_lock(&nn->writeverf_lock, &seq); - memcpy(verf, nn->writeverf, sizeof(*verf)); + memcpy(verf, nn->writeverf, sizeof(nn->writeverf)); } while (need_seqretry(&nn->writeverf_lock, seq)); done_seqretry(&nn->writeverf_lock, seq); } @@ -447,8 +447,8 @@ { struct nfsd_net *nn = net_generic(net, nfsd_net_id); - nfsd_file_cache_shutdown_net(net); nfs4_state_shutdown_net(net); + nfsd_file_cache_shutdown_net(net); if (nn->lockd_up) { lockd_down(net); nn->lockd_up = false; --- linux-gcp-5.19.0.orig/fs/nfsd/trace.h +++ linux-gcp-5.19.0/fs/nfsd/trace.h @@ -696,8 +696,6 @@ __print_flags(val, "|", \ { 1 << NFSD_FILE_HASHED, "HASHED" }, \ { 1 << NFSD_FILE_PENDING, "PENDING" }, \ - { 1 << NFSD_FILE_BREAK_READ, "BREAK_READ" }, \ - { 1 << NFSD_FILE_BREAK_WRITE, "BREAK_WRITE" }, \ { 1 << NFSD_FILE_REFERENCED, "REFERENCED"}) DECLARE_EVENT_CLASS(nfsd_file_class, --- linux-gcp-5.19.0.orig/fs/nfsd/vfs.c +++ linux-gcp-5.19.0/fs/nfsd/vfs.c @@ -591,8 +591,8 @@ ret = vfs_copy_file_range(src, src_pos, dst, dst_pos, count, 0); if (ret == -EOPNOTSUPP || ret == -EXDEV) - ret = generic_copy_file_range(src, src_pos, dst, dst_pos, - count, 0); + ret = vfs_copy_file_range(src, src_pos, dst, dst_pos, count, + COPY_FILE_SPLICE); return ret; } --- linux-gcp-5.19.0.orig/fs/nfsd/xdr4.h +++ linux-gcp-5.19.0/fs/nfsd/xdr4.h @@ -689,9 +689,10 @@ struct svcxdr_tmpbuf *to_free; struct svc_rqst *rqstp; - u32 taglen; char * tag; + u32 taglen; u32 minorversion; + u32 client_opcnt; u32 opcnt; struct nfsd4_op *ops; struct nfsd4_op iops[8]; @@ -860,7 +861,8 @@ u32 op_flags; char *op_name; /* Try to get response size before operation */ - u32 (*op_rsize_bop)(struct svc_rqst *, struct nfsd4_op *); + u32 (*op_rsize_bop)(const struct svc_rqst *rqstp, + const struct nfsd4_op *op); void (*op_get_currentstateid)(struct nfsd4_compound_state *, union nfsd4_op_u *); void (*op_set_currentstateid)(struct nfsd4_compound_state *, --- linux-gcp-5.19.0.orig/fs/nilfs2/btree.c +++ linux-gcp-5.19.0/fs/nilfs2/btree.c @@ -480,9 +480,18 @@ ret = nilfs_btnode_submit_block(btnc, ptr, 0, REQ_OP_READ, 0, &bh, &submit_ptr); if (ret) { - if (ret != -EEXIST) - return ret; - goto out_check; + if (likely(ret == -EEXIST)) + goto out_check; + if (ret == -ENOENT) { + /* + * Block address translation failed due to invalid + * value of 'ptr'. In this case, return internal code + * -EINVAL (broken bmap) to notify bmap layer of fatal + * metadata corruption. + */ + ret = -EINVAL; + } + return ret; } if (ra) { --- linux-gcp-5.19.0.orig/fs/nilfs2/dat.c +++ linux-gcp-5.19.0/fs/nilfs2/dat.c @@ -111,6 +111,13 @@ kunmap_atomic(kaddr); nilfs_dat_commit_entry(dat, req); + + if (unlikely(req->pr_desc_bh == NULL || req->pr_bitmap_bh == NULL)) { + nilfs_error(dat->i_sb, + "state inconsistency probably due to duplicate use of vblocknr = %llu", + (unsigned long long)req->pr_entry_nr); + return; + } nilfs_palloc_commit_free_entry(dat, req); } --- linux-gcp-5.19.0.orig/fs/nilfs2/inode.c +++ linux-gcp-5.19.0/fs/nilfs2/inode.c @@ -328,6 +328,7 @@ struct inode *inode; struct nilfs_inode_info *ii; struct nilfs_root *root; + struct buffer_head *bh; int err = -ENOMEM; ino_t ino; @@ -343,11 +344,25 @@ ii->i_state = BIT(NILFS_I_NEW); ii->i_root = root; - err = nilfs_ifile_create_inode(root->ifile, &ino, &ii->i_bh); + err = nilfs_ifile_create_inode(root->ifile, &ino, &bh); if (unlikely(err)) goto failed_ifile_create_inode; /* reference count of i_bh inherits from nilfs_mdt_read_block() */ + if (unlikely(ino < NILFS_USER_INO)) { + nilfs_warn(sb, + "inode bitmap is inconsistent for reserved inodes"); + do { + brelse(bh); + err = nilfs_ifile_create_inode(root->ifile, &ino, &bh); + if (unlikely(err)) + goto failed_ifile_create_inode; + } while (ino < NILFS_USER_INO); + + nilfs_info(sb, "repaired inode bitmap for reserved inodes"); + } + ii->i_bh = bh; + atomic64_inc(&root->inodes_count); inode_init_owner(&init_user_ns, inode, dir, mode); inode->i_ino = ino; @@ -440,6 +455,8 @@ inode->i_atime.tv_nsec = le32_to_cpu(raw_inode->i_mtime_nsec); inode->i_ctime.tv_nsec = le32_to_cpu(raw_inode->i_ctime_nsec); inode->i_mtime.tv_nsec = le32_to_cpu(raw_inode->i_mtime_nsec); + if (nilfs_is_metadata_file_inode(inode) && !S_ISREG(inode->i_mode)) + return -EIO; /* this inode is for metadata and corrupted */ if (inode->i_nlink == 0) return -ESTALE; /* this inode is deleted */ --- linux-gcp-5.19.0.orig/fs/nilfs2/ioctl.c +++ linux-gcp-5.19.0/fs/nilfs2/ioctl.c @@ -1114,7 +1114,14 @@ minseg = range[0] + segbytes - 1; do_div(minseg, segbytes); + + if (range[1] < 4096) + goto out; + maxseg = NILFS_SB2_OFFSET_BYTES(range[1]); + if (maxseg < segbytes) + goto out; + do_div(maxseg, segbytes); maxseg--; --- linux-gcp-5.19.0.orig/fs/nilfs2/segment.c +++ linux-gcp-5.19.0/fs/nilfs2/segment.c @@ -317,7 +317,7 @@ struct the_nilfs *nilfs = sb->s_fs_info; struct nilfs_sc_info *sci = nilfs->ns_writer; - if (!sci || !sci->sc_flush_request) + if (sb_rdonly(sb) || unlikely(!sci) || !sci->sc_flush_request) return; set_bit(NILFS_SC_PRIOR_FLUSH, &sci->sc_flags); @@ -875,9 +875,11 @@ nilfs_mdt_mark_dirty(nilfs->ns_cpfile); nilfs_cpfile_put_checkpoint( nilfs->ns_cpfile, nilfs->ns_cno, bh_cp); - } else - WARN_ON(err == -EINVAL || err == -ENOENT); - + } else if (err == -EINVAL || err == -ENOENT) { + nilfs_error(sci->sc_super, + "checkpoint creation failed due to metadata corruption."); + err = -EIO; + } return err; } @@ -891,7 +893,11 @@ err = nilfs_cpfile_get_checkpoint(nilfs->ns_cpfile, nilfs->ns_cno, 0, &raw_cp, &bh_cp); if (unlikely(err)) { - WARN_ON(err == -EINVAL || err == -ENOENT); + if (err == -EINVAL || err == -ENOENT) { + nilfs_error(sci->sc_super, + "checkpoint finalization failed due to metadata corruption."); + err = -EIO; + } goto failed_ibh; } raw_cp->cp_snapshot_list.ssl_next = 0; @@ -2237,7 +2243,7 @@ struct nilfs_transaction_info *ti; int err; - if (!sci) + if (sb_rdonly(sb) || unlikely(!sci)) return -EROFS; /* A call inside transactions causes a deadlock. */ @@ -2276,7 +2282,7 @@ struct nilfs_transaction_info ti; int err = 0; - if (!sci) + if (sb_rdonly(sb) || unlikely(!sci)) return -EROFS; nilfs_transaction_lock(sb, &ti, 0); @@ -2772,11 +2778,12 @@ if (nilfs->ns_writer) { /* - * This happens if the filesystem was remounted - * read/write after nilfs_error degenerated it into a - * read-only mount. + * This happens if the filesystem is made read-only by + * __nilfs_error or nilfs_remount and then remounted + * read/write. In these cases, reuse the existing + * writer. */ - nilfs_detach_log_writer(sb); + return 0; } nilfs->ns_writer = nilfs_segctor_new(sb, root); @@ -2786,10 +2793,9 @@ inode_attach_wb(nilfs->ns_bdev->bd_inode, NULL); err = nilfs_segctor_start_thread(nilfs->ns_writer); - if (err) { - kfree(nilfs->ns_writer); - nilfs->ns_writer = NULL; - } + if (unlikely(err)) + nilfs_detach_log_writer(sb); + return err; } --- linux-gcp-5.19.0.orig/fs/nilfs2/sufile.c +++ linux-gcp-5.19.0/fs/nilfs2/sufile.c @@ -495,14 +495,22 @@ int nilfs_sufile_mark_dirty(struct inode *sufile, __u64 segnum) { struct buffer_head *bh; + void *kaddr; + struct nilfs_segment_usage *su; int ret; + down_write(&NILFS_MDT(sufile)->mi_sem); ret = nilfs_sufile_get_segment_usage_block(sufile, segnum, 0, &bh); if (!ret) { mark_buffer_dirty(bh); nilfs_mdt_mark_dirty(sufile); + kaddr = kmap_atomic(bh->b_page); + su = nilfs_sufile_block_get_segment_usage(sufile, segnum, bh, kaddr); + nilfs_segment_usage_set_dirty(su); + kunmap_atomic(kaddr); brelse(bh); } + up_write(&NILFS_MDT(sufile)->mi_sem); return ret; } --- linux-gcp-5.19.0.orig/fs/nilfs2/super.c +++ linux-gcp-5.19.0/fs/nilfs2/super.c @@ -409,6 +409,15 @@ goto out; /* + * Prevent underflow in second superblock position calculation. + * The exact minimum size check is done in nilfs_sufile_resize(). + */ + if (newsize < 4096) { + ret = -ENOSPC; + goto out; + } + + /* * Write lock is required to protect some functions depending * on the number of segments, the number of reserved segments, * and so forth. @@ -1133,8 +1142,6 @@ if ((bool)(*flags & SB_RDONLY) == sb_rdonly(sb)) goto out; if (*flags & SB_RDONLY) { - /* Shutting down log writer */ - nilfs_detach_log_writer(sb); sb->s_flags |= SB_RDONLY; /* --- linux-gcp-5.19.0.orig/fs/nilfs2/the_nilfs.c +++ linux-gcp-5.19.0/fs/nilfs2/the_nilfs.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include "nilfs.h" #include "segment.h" @@ -193,6 +194,34 @@ } /** + * nilfs_get_blocksize - get block size from raw superblock data + * @sb: super block instance + * @sbp: superblock raw data buffer + * @blocksize: place to store block size + * + * nilfs_get_blocksize() calculates the block size from the block size + * exponent information written in @sbp and stores it in @blocksize, + * or aborts with an error message if it's too large. + * + * Return Value: On success, 0 is returned. If the block size is too + * large, -EINVAL is returned. + */ +static int nilfs_get_blocksize(struct super_block *sb, + struct nilfs_super_block *sbp, int *blocksize) +{ + unsigned int shift_bits = le32_to_cpu(sbp->s_log_block_size); + + if (unlikely(shift_bits > + ilog2(NILFS_MAX_BLOCK_SIZE) - BLOCK_SIZE_BITS)) { + nilfs_err(sb, "too large filesystem blocksize: 2 ^ %u KiB", + shift_bits); + return -EINVAL; + } + *blocksize = BLOCK_SIZE << shift_bits; + return 0; +} + +/** * load_nilfs - load and recover the nilfs * @nilfs: the_nilfs structure to be released * @sb: super block instance used to recover past segment @@ -245,11 +274,15 @@ nilfs->ns_sbwtime = le64_to_cpu(sbp[0]->s_wtime); /* verify consistency between two super blocks */ - blocksize = BLOCK_SIZE << le32_to_cpu(sbp[0]->s_log_block_size); + err = nilfs_get_blocksize(sb, sbp[0], &blocksize); + if (err) + goto scan_error; + if (blocksize != nilfs->ns_blocksize) { nilfs_warn(sb, "blocksize differs between two super blocks (%d != %d)", blocksize, nilfs->ns_blocksize); + err = -EINVAL; goto scan_error; } @@ -443,11 +476,33 @@ return crc == le32_to_cpu(sbp->s_sum); } -static int nilfs_sb2_bad_offset(struct nilfs_super_block *sbp, u64 offset) +/** + * nilfs_sb2_bad_offset - check the location of the second superblock + * @sbp: superblock raw data buffer + * @offset: byte offset of second superblock calculated from device size + * + * nilfs_sb2_bad_offset() checks if the position on the second + * superblock is valid or not based on the filesystem parameters + * stored in @sbp. If @offset points to a location within the segment + * area, or if the parameters themselves are not normal, it is + * determined to be invalid. + * + * Return Value: true if invalid, false if valid. + */ +static bool nilfs_sb2_bad_offset(struct nilfs_super_block *sbp, u64 offset) { - return offset < ((le64_to_cpu(sbp->s_nsegments) * - le32_to_cpu(sbp->s_blocks_per_segment)) << - (le32_to_cpu(sbp->s_log_block_size) + 10)); + unsigned int shift_bits = le32_to_cpu(sbp->s_log_block_size); + u32 blocks_per_segment = le32_to_cpu(sbp->s_blocks_per_segment); + u64 nsegments = le64_to_cpu(sbp->s_nsegments); + u64 index; + + if (blocks_per_segment < NILFS_SEG_MIN_BLOCKS || + shift_bits > ilog2(NILFS_MAX_BLOCK_SIZE) - BLOCK_SIZE_BITS) + return true; + + index = offset >> (shift_bits + BLOCK_SIZE_BITS); + do_div(index, blocks_per_segment); + return index < nsegments; } static void nilfs_release_super_block(struct the_nilfs *nilfs) @@ -489,9 +544,15 @@ { struct nilfs_super_block **sbp = nilfs->ns_sbp; struct buffer_head **sbh = nilfs->ns_sbh; - u64 sb2off = NILFS_SB2_OFFSET_BYTES(bdev_nr_bytes(nilfs->ns_bdev)); + u64 sb2off, devsize = bdev_nr_bytes(nilfs->ns_bdev); int valid[2], swp = 0; + if (devsize < NILFS_SEG_MIN_BLOCKS * NILFS_MIN_BLOCK_SIZE + 4096) { + nilfs_err(sb, "device size too small"); + return -EINVAL; + } + sb2off = NILFS_SB2_OFFSET_BYTES(devsize); + sbp[0] = nilfs_read_super_block(sb, NILFS_SB_OFFSET_BYTES, blocksize, &sbh[0]); sbp[1] = nilfs_read_super_block(sb, sb2off, blocksize, &sbh[1]); @@ -586,9 +647,11 @@ if (err) goto failed_sbh; - blocksize = BLOCK_SIZE << le32_to_cpu(sbp->s_log_block_size); - if (blocksize < NILFS_MIN_BLOCK_SIZE || - blocksize > NILFS_MAX_BLOCK_SIZE) { + err = nilfs_get_blocksize(sb, sbp, &blocksize); + if (err) + goto failed_sbh; + + if (blocksize < NILFS_MIN_BLOCK_SIZE) { nilfs_err(sb, "couldn't mount because of unsupported filesystem blocksize %d", blocksize); @@ -690,9 +753,7 @@ { unsigned long ncleansegs; - down_read(&NILFS_MDT(nilfs->ns_dat)->mi_sem); ncleansegs = nilfs_sufile_get_ncleansegs(nilfs->ns_sufile); - up_read(&NILFS_MDT(nilfs->ns_dat)->mi_sem); *nblocks = (sector_t)ncleansegs * nilfs->ns_blocks_per_segment; return 0; } --- linux-gcp-5.19.0.orig/fs/ntfs/attrib.c +++ linux-gcp-5.19.0/fs/ntfs/attrib.c @@ -594,17 +594,37 @@ for (;; a = (ATTR_RECORD*)((u8*)a + le32_to_cpu(a->length))) { u8 *mrec_end = (u8 *)ctx->mrec + le32_to_cpu(ctx->mrec->bytes_allocated); - u8 *name_end = (u8 *)a + le16_to_cpu(a->name_offset) + - a->name_length * sizeof(ntfschar); - if ((u8*)a < (u8*)ctx->mrec || (u8*)a > mrec_end || - name_end > mrec_end) + u8 *name_end; + + /* check whether ATTR_RECORD wrap */ + if ((u8 *)a < (u8 *)ctx->mrec) break; + + /* check whether Attribute Record Header is within bounds */ + if ((u8 *)a > mrec_end || + (u8 *)a + sizeof(ATTR_RECORD) > mrec_end) + break; + + /* check whether ATTR_RECORD's name is within bounds */ + name_end = (u8 *)a + le16_to_cpu(a->name_offset) + + a->name_length * sizeof(ntfschar); + if (name_end > mrec_end) + break; + ctx->attr = a; if (unlikely(le32_to_cpu(a->type) > le32_to_cpu(type) || a->type == AT_END)) return -ENOENT; if (unlikely(!a->length)) break; + + /* check whether ATTR_RECORD's length wrap */ + if ((u8 *)a + le32_to_cpu(a->length) < (u8 *)a) + break; + /* check whether ATTR_RECORD's length is within bounds */ + if ((u8 *)a + le32_to_cpu(a->length) > mrec_end) + break; + if (a->type != type) continue; /* --- linux-gcp-5.19.0.orig/fs/ntfs/inode.c +++ linux-gcp-5.19.0/fs/ntfs/inode.c @@ -1829,6 +1829,13 @@ goto err_out; } + /* Sanity check offset to the first attribute */ + if (le16_to_cpu(m->attrs_offset) >= le32_to_cpu(m->bytes_allocated)) { + ntfs_error(sb, "Incorrect mft offset to the first attribute %u in superblock.", + le16_to_cpu(m->attrs_offset)); + goto err_out; + } + /* Need this to sanity check attribute list references to $MFT. */ vi->i_generation = ni->seq_no = le16_to_cpu(m->sequence_number); --- linux-gcp-5.19.0.orig/fs/ntfs/super.c +++ linux-gcp-5.19.0/fs/ntfs/super.c @@ -2092,7 +2092,8 @@ // TODO: Initialize security. /* Get the extended system files' directory inode. */ vol->extend_ino = ntfs_iget(sb, FILE_Extend); - if (IS_ERR(vol->extend_ino) || is_bad_inode(vol->extend_ino)) { + if (IS_ERR(vol->extend_ino) || is_bad_inode(vol->extend_ino) || + !S_ISDIR(vol->extend_ino->i_mode)) { if (!IS_ERR(vol->extend_ino)) iput(vol->extend_ino); ntfs_error(sb, "Failed to load $Extend."); --- linux-gcp-5.19.0.orig/fs/ntfs3/attrib.c +++ linux-gcp-5.19.0/fs/ntfs3/attrib.c @@ -101,6 +101,10 @@ asize = le32_to_cpu(attr->size); run_off = le16_to_cpu(attr->nres.run_off); + + if (run_off > asize) + return -EINVAL; + err = run_unpack_ex(run, ni->mi.sbi, ni->mi.rno, svcn, evcn, vcn ? *vcn : svcn, Add2Ptr(attr, run_off), asize - run_off); @@ -1142,6 +1146,11 @@ CLST svcn, evcn; u16 ro; + if (!ni) { + /* Is record corrupted? */ + return -ENOENT; + } + attr = ni_find_attr(ni, NULL, NULL, type, name, name_len, &vcn, NULL); if (!attr) { /* Is record corrupted? */ @@ -1157,6 +1166,10 @@ } ro = le16_to_cpu(attr->nres.run_off); + + if (ro > le32_to_cpu(attr->size)) + return -EINVAL; + err = run_unpack_ex(run, ni->mi.sbi, ni->mi.rno, svcn, evcn, svcn, Add2Ptr(attr, ro), le32_to_cpu(attr->size) - ro); if (err < 0) @@ -1832,6 +1845,11 @@ u16 le_sz; u16 roff = le16_to_cpu(attr->nres.run_off); + if (roff > le32_to_cpu(attr->size)) { + err = -EINVAL; + goto out; + } + run_unpack_ex(RUN_DEALLOCATE, sbi, ni->mi.rno, svcn, evcn1 - 1, svcn, Add2Ptr(attr, roff), le32_to_cpu(attr->size) - roff); @@ -1949,7 +1967,7 @@ return -ENOENT; if (!attr_b->non_res) { - u32 data_size = le32_to_cpu(attr->res.data_size); + u32 data_size = le32_to_cpu(attr_b->res.data_size); u32 from, to; if (vbo > data_size) --- linux-gcp-5.19.0.orig/fs/ntfs3/attrlist.c +++ linux-gcp-5.19.0/fs/ntfs3/attrlist.c @@ -68,6 +68,11 @@ run_init(&ni->attr_list.run); + if (run_off > le32_to_cpu(attr->size)) { + err = -EINVAL; + goto out; + } + err = run_unpack_ex(&ni->attr_list.run, ni->mi.sbi, ni->mi.rno, 0, le64_to_cpu(attr->nres.evcn), 0, Add2Ptr(attr, run_off), --- linux-gcp-5.19.0.orig/fs/ntfs3/bitmap.c +++ linux-gcp-5.19.0/fs/ntfs3/bitmap.c @@ -666,7 +666,7 @@ if (!wnd->bits_last) wnd->bits_last = wbits; - wnd->free_bits = kcalloc(wnd->nwnd, sizeof(u16), GFP_NOFS); + wnd->free_bits = kcalloc(wnd->nwnd, sizeof(u16), GFP_NOFS | __GFP_NOWARN); if (!wnd->free_bits) return -ENOMEM; @@ -1432,7 +1432,7 @@ down_read_nested(&wnd->rw_lock, BITMAP_MUTEX_CLUSTERS); - for (; iw < wnd->nbits; iw++, wbit = 0) { + for (; iw < wnd->nwnd; iw++, wbit = 0) { CLST lcn_wnd = iw * wbits; struct buffer_head *bh; --- linux-gcp-5.19.0.orig/fs/ntfs3/file.c +++ linux-gcp-5.19.0/fs/ntfs3/file.c @@ -486,10 +486,10 @@ new_valid = ntfs_up_block(sb, min_t(u64, ni->i_valid, new_size)); - ni_lock(ni); - truncate_setsize(inode, new_size); + ni_lock(ni); + down_write(&ni->file.run_lock); err = attr_set_size(ni, ATTR_DATA, NULL, 0, &ni->file.run, new_size, &new_valid, ni->mi.sbi->options->prealloc, NULL); --- linux-gcp-5.19.0.orig/fs/ntfs3/frecord.c +++ linux-gcp-5.19.0/fs/ntfs3/frecord.c @@ -567,6 +567,12 @@ } roff = le16_to_cpu(attr->nres.run_off); + + if (roff > le32_to_cpu(attr->size)) { + err = -EINVAL; + break; + } + err = run_unpack(&run, sbi, ni->mi.rno, svcn, evcn, svcn, Add2Ptr(attr, roff), le32_to_cpu(attr->size) - roff); @@ -1541,6 +1547,9 @@ asize = le32_to_cpu(attr->size); roff = le16_to_cpu(attr->nres.run_off); + if (roff > asize) + return -EINVAL; + /* run==1 means unpack and deallocate. */ run_unpack_ex(RUN_DEALLOCATE, sbi, ni->mi.rno, svcn, evcn, svcn, Add2Ptr(attr, roff), asize - roff); @@ -2242,6 +2251,11 @@ asize = le32_to_cpu(attr->size); roff = le16_to_cpu(attr->nres.run_off); + if (roff > asize) { + err = -EINVAL; + goto out; + } + /*run==1 Means unpack and deallocate. */ run_unpack_ex(RUN_DEALLOCATE, sbi, ni->mi.rno, svcn, evcn, svcn, Add2Ptr(attr, roff), asize - roff); --- linux-gcp-5.19.0.orig/fs/ntfs3/fslog.c +++ linux-gcp-5.19.0/fs/ntfs3/fslog.c @@ -1132,7 +1132,7 @@ return -EINVAL; if (!*buffer) { - to_free = kmalloc(bytes, GFP_NOFS); + to_free = kmalloc(log->page_size, GFP_NOFS); if (!to_free) return -ENOMEM; *buffer = to_free; @@ -1180,10 +1180,7 @@ struct restart_info *info) { u32 skip, vbo; - struct RESTART_HDR *r_page = kmalloc(DefaultLogPageSize, GFP_NOFS); - - if (!r_page) - return -ENOMEM; + struct RESTART_HDR *r_page = NULL; /* Determine which restart area we are looking for. */ if (first) { @@ -1197,7 +1194,6 @@ /* Loop continuously until we succeed. */ for (; vbo < l_size; vbo = 2 * vbo + skip, skip = 0) { bool usa_error; - u32 sys_page_size; bool brst, bchk; struct RESTART_AREA *ra; @@ -1251,24 +1247,6 @@ goto check_result; } - /* Read the entire restart area. */ - sys_page_size = le32_to_cpu(r_page->sys_page_size); - if (DefaultLogPageSize != sys_page_size) { - kfree(r_page); - r_page = kzalloc(sys_page_size, GFP_NOFS); - if (!r_page) - return -ENOMEM; - - if (read_log_page(log, vbo, - (struct RECORD_PAGE_HDR **)&r_page, - &usa_error)) { - /* Ignore any errors. */ - kfree(r_page); - r_page = NULL; - continue; - } - } - if (is_client_area_valid(r_page, usa_error)) { info->valid_page = true; ra = Add2Ptr(r_page, le16_to_cpu(r_page->ra_off)); @@ -2727,6 +2705,9 @@ return false; } + if (run_off > asize) + return false; + if (run_unpack(NULL, sbi, 0, svcn, evcn, svcn, Add2Ptr(attr, run_off), asize - run_off) < 0) { return false; @@ -4769,6 +4750,12 @@ u16 roff = le16_to_cpu(attr->nres.run_off); CLST svcn = le64_to_cpu(attr->nres.svcn); + if (roff > t32) { + kfree(oa->attr); + oa->attr = NULL; + goto fake_attr; + } + err = run_unpack(&oa->run0, sbi, inode->i_ino, svcn, le64_to_cpu(attr->nres.evcn), svcn, Add2Ptr(attr, roff), t32 - roff); @@ -5057,7 +5044,7 @@ goto add_allocated_vcns; vcn = le64_to_cpu(lrh->target_vcn); - vcn &= ~(log->clst_per_page - 1); + vcn &= ~(u64)(log->clst_per_page - 1); add_allocated_vcns: for (i = 0, vcn = le64_to_cpu(lrh->target_vcn), --- linux-gcp-5.19.0.orig/fs/ntfs3/fsntfs.c +++ linux-gcp-5.19.0/fs/ntfs3/fsntfs.c @@ -831,10 +831,15 @@ { int err; struct super_block *sb = sbi->sb; - u32 blocksize = sb->s_blocksize; + u32 blocksize; sector_t block1, block2; u32 bytes; + if (!sb) + return -EINVAL; + + blocksize = sb->s_blocksize; + if (!(sbi->flags & NTFS_FLAGS_MFTMIRR)) return 0; @@ -1849,9 +1854,10 @@ goto out; } - root_sdh = resident_data(attr); + root_sdh = resident_data_ex(attr, sizeof(struct INDEX_ROOT)); if (root_sdh->type != ATTR_ZERO || - root_sdh->rule != NTFS_COLLATION_TYPE_SECURITY_HASH) { + root_sdh->rule != NTFS_COLLATION_TYPE_SECURITY_HASH || + offsetof(struct INDEX_ROOT, ihdr) + root_sdh->ihdr.used > attr->res.data_size) { err = -EINVAL; goto out; } @@ -1867,9 +1873,10 @@ goto out; } - root_sii = resident_data(attr); + root_sii = resident_data_ex(attr, sizeof(struct INDEX_ROOT)); if (root_sii->type != ATTR_ZERO || - root_sii->rule != NTFS_COLLATION_TYPE_UINT) { + root_sii->rule != NTFS_COLLATION_TYPE_UINT || + offsetof(struct INDEX_ROOT, ihdr) + root_sii->ihdr.used > attr->res.data_size) { err = -EINVAL; goto out; } --- linux-gcp-5.19.0.orig/fs/ntfs3/index.c +++ linux-gcp-5.19.0/fs/ntfs3/index.c @@ -1017,6 +1017,12 @@ err = 0; } + /* check for index header length */ + if (offsetof(struct INDEX_BUFFER, ihdr) + ib->ihdr.used > bytes) { + err = -EINVAL; + goto out; + } + in->index = ib; *node = in; @@ -1994,7 +2000,7 @@ const struct NTFS_DE *e, bool trim) { int err; - struct indx_node *n; + struct indx_node *n = NULL; struct INDEX_HDR *hdr; CLST vbn = de_get_vbn(e); size_t i; --- linux-gcp-5.19.0.orig/fs/ntfs3/inode.c +++ linux-gcp-5.19.0/fs/ntfs3/inode.c @@ -129,6 +129,16 @@ rsize = attr->non_res ? 0 : le32_to_cpu(attr->res.data_size); asize = le32_to_cpu(attr->size); + if (le16_to_cpu(attr->name_off) + attr->name_len > asize) + goto out; + + if (attr->non_res) { + t64 = le64_to_cpu(attr->nres.alloc_size); + if (le64_to_cpu(attr->nres.data_size) > t64 || + le64_to_cpu(attr->nres.valid_size) > t64) + goto out; + } + switch (attr->type) { case ATTR_STD: if (attr->non_res || @@ -364,7 +374,13 @@ attr_unpack_run: roff = le16_to_cpu(attr->nres.run_off); + if (roff > asize) { + err = -EINVAL; + goto out; + } + t64 = le64_to_cpu(attr->nres.svcn); + err = run_unpack_ex(run, sbi, ino, t64, le64_to_cpu(attr->nres.evcn), t64, Add2Ptr(attr, roff), asize - roff); if (err < 0) @@ -430,6 +446,7 @@ } else if (fname && fname->home.low == cpu_to_le32(MFT_REC_EXTEND) && fname->home.seq == cpu_to_le16(MFT_REC_EXTEND)) { /* Records in $Extend are not a files or general directories. */ + inode->i_op = &ntfs_file_inode_operations; } else { err = -EINVAL; goto out; @@ -1940,8 +1957,6 @@ .setattr = ntfs3_setattr, .listxattr = ntfs_listxattr, .permission = ntfs_permission, - .get_acl = ntfs_get_acl, - .set_acl = ntfs_set_acl, }; const struct address_space_operations ntfs_aops = { --- linux-gcp-5.19.0.orig/fs/ntfs3/record.c +++ linux-gcp-5.19.0/fs/ntfs3/record.c @@ -220,6 +220,11 @@ return NULL; } + if (off + asize < off) { + /* overflow check */ + return NULL; + } + attr = Add2Ptr(attr, asize); off += asize; } @@ -260,6 +265,11 @@ if (t16 + t32 > asize) return NULL; + if (attr->name_len && + le16_to_cpu(attr->name_off) + sizeof(short) * attr->name_len > t16) { + return NULL; + } + return attr; } --- linux-gcp-5.19.0.orig/fs/ntfs3/super.c +++ linux-gcp-5.19.0/fs/ntfs3/super.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include #include @@ -390,7 +391,7 @@ return -EINVAL; } - memcpy(sbi->options, new_opts, sizeof(*new_opts)); + swap(sbi->options, fc->fs_private); return 0; } @@ -671,7 +672,7 @@ if (boot->sectors_per_clusters <= 0x80) return boot->sectors_per_clusters; if (boot->sectors_per_clusters >= 0xf4) /* limit shift to 2MB max */ - return 1U << (0 - boot->sectors_per_clusters); + return 1U << -(s8)boot->sectors_per_clusters; return -EINVAL; } @@ -788,7 +789,7 @@ : (u32)boot->record_size << sbi->cluster_bits; - if (record_size > MAXIMUM_BYTES_PER_MFT) + if (record_size > MAXIMUM_BYTES_PER_MFT || record_size < SECTOR_SIZE) goto out; sbi->record_bits = blksize_bits(record_size); @@ -900,6 +901,8 @@ ref.high = 0; sbi->sb = sb; + sbi->options = fc->fs_private; + fc->fs_private = NULL; sb->s_flags |= SB_NODIRATIME; sb->s_magic = 0x7366746e; // "ntfs" sb->s_op = &ntfs_sops; @@ -1131,7 +1134,7 @@ goto put_inode_out; } bytes = inode->i_size; - sbi->def_table = t = kmalloc(bytes, GFP_NOFS); + sbi->def_table = t = kmalloc(bytes, GFP_NOFS | __GFP_NOWARN); if (!t) { err = -ENOMEM; goto put_inode_out; @@ -1250,9 +1253,9 @@ ref.low = cpu_to_le32(MFT_REC_ROOT); ref.seq = cpu_to_le16(MFT_REC_ROOT); inode = ntfs_iget5(sb, &ref, &NAME_ROOT); - if (IS_ERR(inode)) { + if (IS_ERR(inode) || !inode->i_op) { ntfs_err(sb, "Failed to load root."); - err = PTR_ERR(inode); + err = IS_ERR(inode) ? PTR_ERR(inode) : -EINVAL; goto out; } @@ -1262,8 +1265,6 @@ goto put_inode_out; } - fc->fs_private = NULL; - return 0; put_inode_out: @@ -1273,6 +1274,7 @@ * Free resources here. * ntfs_fs_free will be called with fc->s_fs_info = NULL */ + put_mount_options(sbi->options); put_ntfs(sbi); sb->s_fs_info = NULL; @@ -1416,7 +1418,6 @@ mutex_init(&sbi->compress.mtx_lzx); #endif - sbi->options = opts; fc->s_fs_info = sbi; ok: fc->fs_private = opts; --- linux-gcp-5.19.0.orig/fs/ntfs3/xattr.c +++ linux-gcp-5.19.0/fs/ntfs3/xattr.c @@ -107,7 +107,7 @@ return -EFBIG; /* Allocate memory for packed Ea. */ - ea_p = kmalloc(size + add_bytes, GFP_NOFS); + ea_p = kmalloc(size_add(size, add_bytes), GFP_NOFS); if (!ea_p) return -ENOMEM; @@ -118,7 +118,7 @@ run_init(&run); - err = attr_load_runs(attr_ea, ni, &run, NULL); + err = attr_load_runs_range(ni, ATTR_EA, NULL, 0, &run, 0, size); if (!err) err = ntfs_read_run_nb(sbi, &run, 0, ea_p, size, NULL); run_close(&run); @@ -444,6 +444,11 @@ /* Delete xattr, ATTR_EA */ ni_remove_attr_le(ni, attr, mi, le); } else if (attr->non_res) { + err = attr_load_runs_range(ni, ATTR_EA, NULL, 0, &ea_run, 0, + size); + if (err) + goto out; + err = ntfs_sb_write_run(sbi, &ea_run, 0, ea_all, size, 0); if (err) goto out; @@ -478,8 +483,7 @@ } #ifdef CONFIG_NTFS3_FS_POSIX_ACL -static struct posix_acl *ntfs_get_acl_ex(struct user_namespace *mnt_userns, - struct inode *inode, int type, +static struct posix_acl *ntfs_get_acl_ex(struct inode *inode, int type, int locked) { struct ntfs_inode *ni = ntfs_i(inode); @@ -514,7 +518,7 @@ /* Translate extended attribute to acl. */ if (err >= 0) { - acl = posix_acl_from_xattr(mnt_userns, buf, err); + acl = posix_acl_from_xattr(&init_user_ns, buf, err); } else if (err == -ENODATA) { acl = NULL; } else { @@ -537,8 +541,7 @@ if (rcu) return ERR_PTR(-ECHILD); - /* TODO: init_user_ns? */ - return ntfs_get_acl_ex(&init_user_ns, inode, type, 0); + return ntfs_get_acl_ex(inode, type, 0); } static noinline int ntfs_set_acl_ex(struct user_namespace *mnt_userns, @@ -547,28 +550,23 @@ { const char *name; size_t size, name_len; - void *value = NULL; - int err = 0; + void *value; + int err; int flags; + umode_t mode; if (S_ISLNK(inode->i_mode)) return -EOPNOTSUPP; + mode = inode->i_mode; switch (type) { case ACL_TYPE_ACCESS: /* Do not change i_mode if we are in init_acl */ if (acl && !init_acl) { - umode_t mode; - err = posix_acl_update_mode(mnt_userns, inode, &mode, &acl); if (err) - goto out; - - if (inode->i_mode != mode) { - inode->i_mode = mode; - mark_inode_dirty(inode); - } + return err; } name = XATTR_NAME_POSIX_ACL_ACCESS; name_len = sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1; @@ -595,7 +593,7 @@ value = kmalloc(size, GFP_NOFS); if (!value) return -ENOMEM; - err = posix_acl_to_xattr(mnt_userns, acl, value, size); + err = posix_acl_to_xattr(&init_user_ns, acl, value, size); if (err < 0) goto out; flags = 0; @@ -604,8 +602,13 @@ err = ntfs_set_ea(inode, name, name_len, value, size, flags, 0); if (err == -ENODATA && !size) err = 0; /* Removing non existed xattr. */ - if (!err) + if (!err) { set_cached_acl(inode, type, acl); + if (inode->i_mode != mode) { + inode->i_mode = mode; + mark_inode_dirty(inode); + } + } out: kfree(value); @@ -622,67 +625,6 @@ return ntfs_set_acl_ex(mnt_userns, inode, acl, type, false); } -static int ntfs_xattr_get_acl(struct user_namespace *mnt_userns, - struct inode *inode, int type, void *buffer, - size_t size) -{ - struct posix_acl *acl; - int err; - - if (!(inode->i_sb->s_flags & SB_POSIXACL)) { - ntfs_inode_warn(inode, "add mount option \"acl\" to use acl"); - return -EOPNOTSUPP; - } - - acl = ntfs_get_acl(inode, type, false); - if (IS_ERR(acl)) - return PTR_ERR(acl); - - if (!acl) - return -ENODATA; - - err = posix_acl_to_xattr(mnt_userns, acl, buffer, size); - posix_acl_release(acl); - - return err; -} - -static int ntfs_xattr_set_acl(struct user_namespace *mnt_userns, - struct inode *inode, int type, const void *value, - size_t size) -{ - struct posix_acl *acl; - int err; - - if (!(inode->i_sb->s_flags & SB_POSIXACL)) { - ntfs_inode_warn(inode, "add mount option \"acl\" to use acl"); - return -EOPNOTSUPP; - } - - if (!inode_owner_or_capable(mnt_userns, inode)) - return -EPERM; - - if (!value) { - acl = NULL; - } else { - acl = posix_acl_from_xattr(mnt_userns, value, size); - if (IS_ERR(acl)) - return PTR_ERR(acl); - - if (acl) { - err = posix_acl_valid(mnt_userns, acl); - if (err) - goto release_and_out; - } - } - - err = ntfs_set_acl(mnt_userns, inode, acl, type); - -release_and_out: - posix_acl_release(acl); - return err; -} - /* * ntfs_init_acl - Initialize the ACLs of a new inode. * @@ -849,23 +791,6 @@ goto out; } -#ifdef CONFIG_NTFS3_FS_POSIX_ACL - if ((name_len == sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1 && - !memcmp(name, XATTR_NAME_POSIX_ACL_ACCESS, - sizeof(XATTR_NAME_POSIX_ACL_ACCESS))) || - (name_len == sizeof(XATTR_NAME_POSIX_ACL_DEFAULT) - 1 && - !memcmp(name, XATTR_NAME_POSIX_ACL_DEFAULT, - sizeof(XATTR_NAME_POSIX_ACL_DEFAULT)))) { - /* TODO: init_user_ns? */ - err = ntfs_xattr_get_acl( - &init_user_ns, inode, - name_len == sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1 - ? ACL_TYPE_ACCESS - : ACL_TYPE_DEFAULT, - buffer, size); - goto out; - } -#endif /* Deal with NTFS extended attribute. */ err = ntfs_get_ea(inode, name, name_len, buffer, size, NULL); @@ -978,22 +903,6 @@ goto out; } -#ifdef CONFIG_NTFS3_FS_POSIX_ACL - if ((name_len == sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1 && - !memcmp(name, XATTR_NAME_POSIX_ACL_ACCESS, - sizeof(XATTR_NAME_POSIX_ACL_ACCESS))) || - (name_len == sizeof(XATTR_NAME_POSIX_ACL_DEFAULT) - 1 && - !memcmp(name, XATTR_NAME_POSIX_ACL_DEFAULT, - sizeof(XATTR_NAME_POSIX_ACL_DEFAULT)))) { - err = ntfs_xattr_set_acl( - mnt_userns, inode, - name_len == sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1 - ? ACL_TYPE_ACCESS - : ACL_TYPE_DEFAULT, - value, size); - goto out; - } -#endif /* Deal with NTFS extended attribute. */ err = ntfs_set_ea(inode, name, name_len, value, size, flags, 0); @@ -1083,7 +992,7 @@ } // clang-format off -static const struct xattr_handler ntfs_xattr_handler = { +static const struct xattr_handler ntfs_other_xattr_handler = { .prefix = "", .get = ntfs_getxattr, .set = ntfs_setxattr, @@ -1091,7 +1000,11 @@ }; const struct xattr_handler *ntfs_xattr_handlers[] = { - &ntfs_xattr_handler, +#ifdef CONFIG_NTFS3_FS_POSIX_ACL + &posix_acl_access_xattr_handler, + &posix_acl_default_xattr_handler, +#endif + &ntfs_other_xattr_handler, NULL, }; // clang-format on --- linux-gcp-5.19.0.orig/fs/ocfs2/dlmglue.c +++ linux-gcp-5.19.0/fs/ocfs2/dlmglue.c @@ -3403,10 +3403,12 @@ ocfs2_lock_res_free(&osb->osb_nfs_sync_lockres); ocfs2_lock_res_free(&osb->osb_orphan_scan.os_lockres); - ocfs2_cluster_disconnect(osb->cconn, hangup_pending); - osb->cconn = NULL; + if (osb->cconn) { + ocfs2_cluster_disconnect(osb->cconn, hangup_pending); + osb->cconn = NULL; - ocfs2_dlm_shutdown_debug(osb); + ocfs2_dlm_shutdown_debug(osb); + } } static int ocfs2_drop_lock(struct ocfs2_super *osb, --- linux-gcp-5.19.0.orig/fs/ocfs2/journal.c +++ linux-gcp-5.19.0/fs/ocfs2/journal.c @@ -157,7 +157,7 @@ replay_map->rm_state = REPLAY_DONE; } -static void ocfs2_free_replay_slots(struct ocfs2_super *osb) +void ocfs2_free_replay_slots(struct ocfs2_super *osb) { struct ocfs2_replay_map *replay_map = osb->replay_map; --- linux-gcp-5.19.0.orig/fs/ocfs2/journal.h +++ linux-gcp-5.19.0/fs/ocfs2/journal.h @@ -150,6 +150,7 @@ void ocfs2_recovery_exit(struct ocfs2_super *osb); int ocfs2_compute_replay_slots(struct ocfs2_super *osb); +void ocfs2_free_replay_slots(struct ocfs2_super *osb); /* * Journal Control: * Initialize, Load, Shutdown, Wipe a journal. --- linux-gcp-5.19.0.orig/fs/ocfs2/move_extents.c +++ linux-gcp-5.19.0/fs/ocfs2/move_extents.c @@ -105,14 +105,6 @@ */ replace_rec.e_flags = ext_flags & ~OCFS2_EXT_REFCOUNTED; - ret = ocfs2_journal_access_di(handle, INODE_CACHE(inode), - context->et.et_root_bh, - OCFS2_JOURNAL_ACCESS_WRITE); - if (ret) { - mlog_errno(ret); - goto out; - } - ret = ocfs2_split_extent(handle, &context->et, path, index, &replace_rec, context->meta_ac, &context->dealloc); @@ -121,8 +113,6 @@ goto out; } - ocfs2_journal_dirty(handle, context->et.et_root_bh); - context->new_phys_cpos = new_p_cpos; /* @@ -444,7 +434,7 @@ bg = (struct ocfs2_group_desc *)gd_bh->b_data; if (vict_blkno < (le64_to_cpu(bg->bg_blkno) + - le16_to_cpu(bg->bg_bits))) { + (le16_to_cpu(bg->bg_bits) << bits_per_unit))) { *ret_bh = gd_bh; *vict_bit = (vict_blkno - blkno) >> @@ -559,6 +549,7 @@ last_free_bits++; if (last_free_bits == move_len) { + i -= move_len; *goal_bit = i; *phys_cpos = base_cpos + i; break; @@ -1030,18 +1021,19 @@ context->range = ⦥ + /* + * ok, the default theshold for the defragmentation + * is 1M, since our maximum clustersize was 1M also. + * any thought? + */ + if (!range.me_threshold) + range.me_threshold = 1024 * 1024; + + if (range.me_threshold > i_size_read(inode)) + range.me_threshold = i_size_read(inode); + if (range.me_flags & OCFS2_MOVE_EXT_FL_AUTO_DEFRAG) { context->auto_defrag = 1; - /* - * ok, the default theshold for the defragmentation - * is 1M, since our maximum clustersize was 1M also. - * any thought? - */ - if (!range.me_threshold) - range.me_threshold = 1024 * 1024; - - if (range.me_threshold > i_size_read(inode)) - range.me_threshold = i_size_read(inode); if (range.me_flags & OCFS2_MOVE_EXT_FL_PART_DEFRAG) context->partial = 1; --- linux-gcp-5.19.0.orig/fs/ocfs2/namei.c +++ linux-gcp-5.19.0/fs/ocfs2/namei.c @@ -231,6 +231,7 @@ handle_t *handle = NULL; struct ocfs2_super *osb; struct ocfs2_dinode *dirfe; + struct ocfs2_dinode *fe = NULL; struct buffer_head *new_fe_bh = NULL; struct inode *inode = NULL; struct ocfs2_alloc_context *inode_ac = NULL; @@ -381,6 +382,7 @@ goto leave; } + fe = (struct ocfs2_dinode *) new_fe_bh->b_data; if (S_ISDIR(mode)) { status = ocfs2_fill_new_dir(osb, handle, dir, inode, new_fe_bh, data_ac, meta_ac); @@ -453,8 +455,11 @@ leave: if (status < 0 && did_quota_inode) dquot_free_inode(inode); - if (handle) + if (handle) { + if (status < 0 && fe) + ocfs2_set_links_count(fe, 0); ocfs2_commit_trans(osb, handle); + } ocfs2_inode_unlock(dir, 1); if (did_block_signals) @@ -631,18 +636,9 @@ return status; } - status = __ocfs2_mknod_locked(dir, inode, dev, new_fe_bh, + return __ocfs2_mknod_locked(dir, inode, dev, new_fe_bh, parent_fe_bh, handle, inode_ac, fe_blkno, suballoc_loc, suballoc_bit); - if (status < 0) { - u64 bg_blkno = ocfs2_which_suballoc_group(fe_blkno, suballoc_bit); - int tmp = ocfs2_free_suballoc_bits(handle, inode_ac->ac_inode, - inode_ac->ac_bh, suballoc_bit, bg_blkno, 1); - if (tmp) - mlog_errno(tmp); - } - - return status; } static int ocfs2_mkdir(struct user_namespace *mnt_userns, @@ -2027,8 +2023,11 @@ ocfs2_clusters_to_bytes(osb->sb, 1)); if (status < 0 && did_quota_inode) dquot_free_inode(inode); - if (handle) + if (handle) { + if (status < 0 && fe) + ocfs2_set_links_count(fe, 0); ocfs2_commit_trans(osb, handle); + } ocfs2_inode_unlock(dir, 1); if (did_block_signals) --- linux-gcp-5.19.0.orig/fs/ocfs2/stackglue.c +++ linux-gcp-5.19.0/fs/ocfs2/stackglue.c @@ -669,6 +669,8 @@ static int __init ocfs2_stack_glue_init(void) { + int ret; + strcpy(cluster_stack_name, OCFS2_STACK_PLUGIN_O2CB); ocfs2_table_header = register_sysctl("fs/ocfs2/nm", ocfs2_nm_table); @@ -678,7 +680,11 @@ return -ENOMEM; /* or something. */ } - return ocfs2_sysfs_init(); + ret = ocfs2_sysfs_init(); + if (ret) + unregister_sysctl_table(ocfs2_table_header); + + return ret; } static void __exit ocfs2_stack_glue_exit(void) --- linux-gcp-5.19.0.orig/fs/ocfs2/super.c +++ linux-gcp-5.19.0/fs/ocfs2/super.c @@ -1159,6 +1159,7 @@ out_dismount: atomic_set(&osb->vol_state, VOLUME_DISABLED); wake_up(&osb->osb_mount_event); + ocfs2_free_replay_slots(osb); ocfs2_dismount_volume(sb, 1); goto out; @@ -1824,12 +1825,14 @@ status = ocfs2_truncate_log_init(osb); if (status < 0) { mlog_errno(status); - goto out_system_inodes; + goto out_check_volume; } ocfs2_super_unlock(osb, 1); return 0; +out_check_volume: + ocfs2_free_replay_slots(osb); out_system_inodes: if (osb->local_alloc_state == OCFS2_LA_ENABLED) ocfs2_shutdown_local_alloc(osb); @@ -1914,8 +1917,7 @@ !ocfs2_is_hard_readonly(osb)) hangup_needed = 1; - if (osb->cconn) - ocfs2_dlm_shutdown(osb, hangup_needed); + ocfs2_dlm_shutdown(osb, hangup_needed); ocfs2_blockcheck_stats_debugfs_remove(&osb->osb_ecc_stats); debugfs_remove_recursive(osb->osb_debug_root); --- linux-gcp-5.19.0.orig/fs/open.c +++ linux-gcp-5.19.0/fs/open.c @@ -810,7 +810,9 @@ return 0; } - if (f->f_mode & FMODE_WRITE && !special_file(inode->i_mode)) { + if ((f->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) { + i_readcount_inc(inode); + } else if (f->f_mode & FMODE_WRITE && !special_file(inode->i_mode)) { error = get_write_access(inode); if (unlikely(error)) goto cleanup_file; @@ -850,8 +852,6 @@ goto cleanup_all; } f->f_mode |= FMODE_OPENED; - if ((f->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) - i_readcount_inc(inode); if ((f->f_mode & FMODE_READ) && likely(f->f_op->read || f->f_op->read_iter)) f->f_mode |= FMODE_CAN_READ; @@ -902,10 +902,7 @@ if (WARN_ON_ONCE(error > 0)) error = -EINVAL; fops_put(f->f_op); - if (f->f_mode & FMODE_WRITER) { - put_write_access(inode); - __mnt_drop_write(f->f_path.mnt); - } + put_file_access(f); cleanup_file: path_put(&f->f_path); f->f_path.mnt = NULL; --- linux-gcp-5.19.0.orig/fs/orangefs/orangefs-debugfs.c +++ linux-gcp-5.19.0/fs/orangefs/orangefs-debugfs.c @@ -194,15 +194,10 @@ */ static void orangefs_kernel_debug_init(void) { - int rc = -ENOMEM; - char *k_buffer = NULL; + static char k_buffer[ORANGEFS_MAX_DEBUG_STRING_LEN] = { }; gossip_debug(GOSSIP_DEBUGFS_DEBUG, "%s: start\n", __func__); - k_buffer = kzalloc(ORANGEFS_MAX_DEBUG_STRING_LEN, GFP_KERNEL); - if (!k_buffer) - goto out; - if (strlen(kernel_debug_string) + 1 < ORANGEFS_MAX_DEBUG_STRING_LEN) { strcpy(k_buffer, kernel_debug_string); strcat(k_buffer, "\n"); @@ -213,15 +208,14 @@ debugfs_create_file(ORANGEFS_KMOD_DEBUG_FILE, 0444, debug_dir, k_buffer, &kernel_debug_fops); - -out: - gossip_debug(GOSSIP_DEBUGFS_DEBUG, "%s: rc:%d:\n", __func__, rc); } void orangefs_debugfs_cleanup(void) { debugfs_remove_recursive(debug_dir); + kfree(debug_help_string); + debug_help_string = NULL; } /* open ORANGEFS_KMOD_DEBUG_HELP_FILE */ @@ -297,18 +291,13 @@ /* * initialize the client-debug file. */ -static int orangefs_client_debug_init(void) +static void orangefs_client_debug_init(void) { - int rc = -ENOMEM; - char *c_buffer = NULL; + static char c_buffer[ORANGEFS_MAX_DEBUG_STRING_LEN] = { }; gossip_debug(GOSSIP_DEBUGFS_DEBUG, "%s: start\n", __func__); - c_buffer = kzalloc(ORANGEFS_MAX_DEBUG_STRING_LEN, GFP_KERNEL); - if (!c_buffer) - goto out; - if (strlen(client_debug_string) + 1 < ORANGEFS_MAX_DEBUG_STRING_LEN) { strcpy(c_buffer, client_debug_string); strcat(c_buffer, "\n"); @@ -322,13 +311,6 @@ debug_dir, c_buffer, &kernel_debug_fops); - - rc = 0; - -out: - - gossip_debug(GOSSIP_DEBUGFS_DEBUG, "%s: rc:%d:\n", __func__, rc); - return rc; } /* open ORANGEFS_KMOD_DEBUG_FILE or ORANGEFS_CLIENT_DEBUG_FILE.*/ @@ -671,6 +653,7 @@ memset(debug_help_string, 0, DEBUG_HELP_STRING_SIZE); strlcat(debug_help_string, new, string_size); mutex_unlock(&orangefs_help_file_lock); + kfree(new); } rc = 0; --- linux-gcp-5.19.0.orig/fs/orangefs/orangefs-mod.c +++ linux-gcp-5.19.0/fs/orangefs/orangefs-mod.c @@ -141,7 +141,7 @@ gossip_err("%s: could not initialize device subsystem %d!\n", __func__, ret); - goto cleanup_device; + goto cleanup_sysfs; } ret = register_filesystem(&orangefs_fs_type); @@ -152,11 +152,11 @@ goto out; } - orangefs_sysfs_exit(); - -cleanup_device: orangefs_dev_cleanup(); +cleanup_sysfs: + orangefs_sysfs_exit(); + sysfs_init_failed: orangefs_debugfs_cleanup(); --- linux-gcp-5.19.0.orig/fs/overlayfs/copy_up.c +++ linux-gcp-5.19.0/fs/overlayfs/copy_up.c @@ -968,6 +968,10 @@ if (err) return err; + if (!kuid_has_mapping(current_user_ns(), ctx.stat.uid) || + !kgid_has_mapping(current_user_ns(), ctx.stat.gid)) + return -EOVERFLOW; + ctx.metacopy = ovl_need_meta_copy_up(dentry, ctx.stat.mode, flags); if (parent) { --- linux-gcp-5.19.0.orig/fs/overlayfs/dir.c +++ linux-gcp-5.19.0/fs/overlayfs/dir.c @@ -592,28 +592,42 @@ goto out_revert_creds; } - err = -ENOMEM; - override_cred = prepare_creds(); - if (override_cred) { + if (!attr->hardlink) { + err = -ENOMEM; + override_cred = prepare_creds(); + if (!override_cred) + goto out_revert_creds; + /* + * In the creation cases(create, mkdir, mknod, symlink), + * ovl should transfer current's fs{u,g}id to underlying + * fs. Because underlying fs want to initialize its new + * inode owner using current's fs{u,g}id. And in this + * case, the @inode is a new inode that is initialized + * in inode_init_owner() to current's fs{u,g}id. So use + * the inode's i_{u,g}id to override the cred's fs{u,g}id. + * + * But in the other hardlink case, ovl_link() does not + * create a new inode, so just use the ovl mounter's + * fs{u,g}id. + */ override_cred->fsuid = inode->i_uid; override_cred->fsgid = inode->i_gid; - if (!attr->hardlink) { - err = security_dentry_create_files_as(dentry, - attr->mode, &dentry->d_name, old_cred, - override_cred); - if (err) { - put_cred(override_cred); - goto out_revert_creds; - } + err = security_dentry_create_files_as(dentry, + attr->mode, &dentry->d_name, old_cred, + override_cred); + if (err) { + put_cred(override_cred); + goto out_revert_creds; } put_cred(override_creds(override_cred)); put_cred(override_cred); - - if (!ovl_dentry_is_whiteout(dentry)) - err = ovl_create_upper(dentry, inode, attr); - else - err = ovl_create_over_whiteout(dentry, inode, attr); } + + if (!ovl_dentry_is_whiteout(dentry)) + err = ovl_create_upper(dentry, inode, attr); + else + err = ovl_create_over_whiteout(dentry, inode, attr); + out_revert_creds: revert_creds(old_cred); return err; --- linux-gcp-5.19.0.orig/fs/overlayfs/export.c +++ linux-gcp-5.19.0/fs/overlayfs/export.c @@ -259,7 +259,7 @@ return FILEID_INVALID; dentry = d_find_any_alias(inode); - if (WARN_ON(!dentry)) + if (!dentry) return FILEID_INVALID; bytes = ovl_dentry_to_fid(ofs, dentry, fid, buflen); @@ -796,7 +796,7 @@ return ERR_PTR(-ENOMEM); /* Copy unaligned inner fh into aligned buffer */ - memcpy(&fh->fb, fid, buflen - OVL_FH_WIRE_OFFSET); + memcpy(fh->buf, fid, buflen - OVL_FH_WIRE_OFFSET); return fh; } --- linux-gcp-5.19.0.orig/fs/overlayfs/file.c +++ linux-gcp-5.19.0/fs/overlayfs/file.c @@ -488,6 +488,32 @@ return ret; } +/* + * In map_files_get_link() (fs/proc/base.c) + * we need to determine correct path from overlayfs. + * But real_mount(realfile->f_path.mnt) may be not + * equal to real_mount(file->f_path.mnt). In such case + * fdinfo of the same file which was opened from + * /proc//map_files/... and "usual" path + * will show different mnt_id. + * + * We solve issue like in aufs by using additional + * field on struct vm_area_struct called "vm_prfile" + * which is used only for fdinfo/"printing" needs. + * + * See also mm/prfile.c + */ +static void ovl_vm_prfile_set(struct vm_area_struct *vma, + struct file *file) +{ + get_file(file); + vma->vm_prfile = file; +#ifndef CONFIG_MMU + get_file(file); + vma->vm_region->vm_prfile = file; +#endif +} + static int ovl_mmap(struct file *file, struct vm_area_struct *vma) { struct file *realfile = file->private_data; @@ -505,6 +531,10 @@ old_cred = ovl_override_creds(file_inode(file)->i_sb); ret = call_mmap(vma->vm_file, vma); revert_creds(old_cred); + + if (!ret) + ovl_vm_prfile_set(vma, file); + ovl_file_accessed(file); return ret; @@ -517,9 +547,16 @@ const struct cred *old_cred; int ret; + inode_lock(inode); + /* Update mode */ + ovl_copyattr(inode); + ret = file_remove_privs(file); + if (ret) + goto out_unlock; + ret = ovl_real_fdget(file, &real); if (ret) - return ret; + goto out_unlock; old_cred = ovl_override_creds(file_inode(file)->i_sb); ret = vfs_fallocate(real.file, mode, offset, len); @@ -530,6 +567,9 @@ fdput(real); +out_unlock: + inode_unlock(inode); + return ret; } @@ -567,14 +607,23 @@ const struct cred *old_cred; loff_t ret; + inode_lock(inode_out); + if (op != OVL_DEDUPE) { + /* Update mode */ + ovl_copyattr(inode_out); + ret = file_remove_privs(file_out); + if (ret) + goto out_unlock; + } + ret = ovl_real_fdget(file_out, &real_out); if (ret) - return ret; + goto out_unlock; ret = ovl_real_fdget(file_in, &real_in); if (ret) { fdput(real_out); - return ret; + goto out_unlock; } old_cred = ovl_override_creds(file_inode(file_out)->i_sb); @@ -603,6 +652,9 @@ fdput(real_in); fdput(real_out); +out_unlock: + inode_unlock(inode_out); + return ret; } --- linux-gcp-5.19.0.orig/fs/overlayfs/overlayfs.h +++ linux-gcp-5.19.0/fs/overlayfs/overlayfs.h @@ -108,7 +108,7 @@ u8 padding[3]; /* make sure fb.fid is 32bit aligned */ union { struct ovl_fb fb; - u8 buf[0]; + DECLARE_FLEX_ARRAY(u8, buf); }; } __packed; @@ -259,7 +259,12 @@ const char *name, const void *value, size_t size, int flags) { - int err = vfs_setxattr(ovl_upper_mnt_userns(ofs), dentry, name, value, size, flags); + struct inode *inode = dentry->d_inode; + int err; + + inode_lock(inode); + err = __vfs_setxattr_noperm(ovl_upper_mnt_userns(ofs), dentry, name, value, size, flags); + inode_unlock(inode); pr_debug("setxattr(%pd2, \"%s\", \"%*pE\", %zu, %d) = %i\n", dentry, name, min((int)size, 48), value, size, flags, err); @@ -276,7 +281,13 @@ static inline int ovl_do_removexattr(struct ovl_fs *ofs, struct dentry *dentry, const char *name) { - int err = vfs_removexattr(ovl_upper_mnt_userns(ofs), dentry, name); + struct inode *inode = dentry->d_inode; + int err; + + inode_lock(inode); + err = __vfs_removexattr_noperm(ovl_upper_mnt_userns(ofs), dentry, name); + inode_unlock(inode); + pr_debug("removexattr(%pd2, \"%s\") = %i\n", dentry, name, err); return err; } --- linux-gcp-5.19.0.orig/fs/overlayfs/super.c +++ linux-gcp-5.19.0/fs/overlayfs/super.c @@ -138,11 +138,16 @@ unsigned int flags, bool weak) { struct ovl_entry *oe = dentry->d_fsdata; + struct inode *inode = d_inode_rcu(dentry); struct dentry *upper; unsigned int i; int ret = 1; - upper = ovl_dentry_upper(dentry); + /* Careful in RCU mode */ + if (!inode) + return -ECHILD; + + upper = ovl_i_dentry_upper(inode); if (upper) ret = ovl_revalidate_real(upper, flags, weak); @@ -1418,11 +1423,12 @@ */ err = ovl_setxattr(ofs, ofs->workdir, OVL_XATTR_OPAQUE, "0", 1); if (err) { + pr_warn("failed to set xattr on upper\n"); ofs->noxattr = true; if (ofs->config.index || ofs->config.metacopy) { ofs->config.index = false; ofs->config.metacopy = false; - pr_warn("upper fs does not support xattr, falling back to index=off,metacopy=off.\n"); + pr_warn("...falling back to index=off,metacopy=off.\n"); } /* * xattr support is required for persistent st_ino. @@ -1430,8 +1436,10 @@ */ if (ofs->config.xino == OVL_XINO_AUTO) { ofs->config.xino = OVL_XINO_OFF; - pr_warn("upper fs does not support xattr, falling back to xino=off.\n"); + pr_warn("...falling back to xino=off.\n"); } + if (err == -EPERM && !ofs->config.userxattr) + pr_info("try mounting with 'userxattr' option\n"); err = 0; } else { ovl_removexattr(ofs, ofs->workdir, OVL_XATTR_OPAQUE); --- linux-gcp-5.19.0.orig/fs/pnode.c +++ linux-gcp-5.19.0/fs/pnode.c @@ -244,7 +244,7 @@ } do { struct mount *parent = last_source->mnt_parent; - if (last_source == first_source) + if (peers(last_source, first_source)) break; done = parent->mnt_master == p; if (done && peers(n, parent)) --- linux-gcp-5.19.0.orig/fs/proc/Makefile +++ linux-gcp-5.19.0/fs/proc/Makefile @@ -33,4 +33,4 @@ proc-$(CONFIG_PROC_VMCORE) += vmcore.o proc-$(CONFIG_PRINTK) += kmsg.o proc-$(CONFIG_PROC_PAGE_MONITOR) += page.o -proc-$(CONFIG_BOOT_CONFIG) += bootconfig.o +proc-$(CONFIG_BOOT_CONFIG) += bootconfig.o version_signature.o --- linux-gcp-5.19.0.orig/fs/proc/base.c +++ linux-gcp-5.19.0/fs/proc/base.c @@ -1885,7 +1885,7 @@ put_pid(pid); } -struct inode *proc_pid_make_inode(struct super_block * sb, +struct inode *proc_pid_make_inode(struct super_block *sb, struct task_struct *task, umode_t mode) { struct inode * inode; @@ -1914,11 +1914,6 @@ /* Let the pid remember us for quick removal */ ei->pid = pid; - if (S_ISDIR(mode)) { - spin_lock(&pid->lock); - hlist_add_head_rcu(&ei->sibling_inodes, &pid->inodes); - spin_unlock(&pid->lock); - } task_dump_owner(task, 0, &inode->i_uid, &inode->i_gid); security_task_to_inode(task, inode); @@ -1931,6 +1926,39 @@ return NULL; } +/* + * Generating an inode and adding it into @pid->inodes, so that task will + * invalidate inode's dentry before being released. + * + * This helper is used for creating dir-type entries under '/proc' and + * '/proc//task'. Other entries(eg. fd, stat) under '/proc/' + * can be released by invalidating '/proc/' dentry. + * In theory, dentries under '/proc//task' can also be released by + * invalidating '/proc/' dentry, we reserve it to handle single + * thread exiting situation: Any one of threads should invalidate its + * '/proc//task/' dentry before released. + */ +static struct inode *proc_pid_make_base_inode(struct super_block *sb, + struct task_struct *task, umode_t mode) +{ + struct inode *inode; + struct proc_inode *ei; + struct pid *pid; + + inode = proc_pid_make_inode(sb, task, mode); + if (!inode) + return NULL; + + /* Let proc_flush_pid find this directory inode */ + ei = PROC_I(inode); + pid = ei->pid; + spin_lock(&pid->lock); + hlist_add_head_rcu(&ei->sibling_inodes, &pid->inodes); + spin_unlock(&pid->lock); + + return inode; +} + int pid_getattr(struct user_namespace *mnt_userns, const struct path *path, struct kstat *stat, u32 request_mask, unsigned int query_flags) { @@ -2190,7 +2218,7 @@ rc = -ENOENT; vma = find_exact_vma(mm, vm_start, vm_end); if (vma && vma->vm_file) { - *path = vma->vm_file->f_path; + *path = vma_pr_or_file(vma)->f_path; path_get(path); rc = 0; } @@ -2827,6 +2855,8 @@ ATTR(NULL, "fscreate", 0666), ATTR(NULL, "keycreate", 0666), ATTR(NULL, "sockcreate", 0666), + ATTR(NULL, "interface_lsm", 0666), + ATTR(NULL, "context", 0444), #ifdef CONFIG_SECURITY_SMACK DIR("smack", 0555, proc_smack_attr_dir_inode_ops, proc_smack_attr_dir_ops), @@ -3369,7 +3399,8 @@ { struct inode *inode; - inode = proc_pid_make_inode(dentry->d_sb, task, S_IFDIR | S_IRUGO | S_IXUGO); + inode = proc_pid_make_base_inode(dentry->d_sb, task, + S_IFDIR | S_IRUGO | S_IXUGO); if (!inode) return ERR_PTR(-ENOENT); @@ -3671,7 +3702,8 @@ struct task_struct *task, const void *ptr) { struct inode *inode; - inode = proc_pid_make_inode(dentry->d_sb, task, S_IFDIR | S_IRUGO | S_IXUGO); + inode = proc_pid_make_base_inode(dentry->d_sb, task, + S_IFDIR | S_IRUGO | S_IXUGO); if (!inode) return ERR_PTR(-ENOENT); --- linux-gcp-5.19.0.orig/fs/proc/nommu.c +++ linux-gcp-5.19.0/fs/proc/nommu.c @@ -40,7 +40,10 @@ file = region->vm_file; if (file) { - struct inode *inode = file_inode(region->vm_file); + struct inode *inode; + + file = vmr_pr_or_file(region); + inode = file_inode(file); dev = inode->i_sb->s_dev; ino = inode->i_ino; } --- linux-gcp-5.19.0.orig/fs/proc/task_mmu.c +++ linux-gcp-5.19.0/fs/proc/task_mmu.c @@ -281,7 +281,10 @@ const char *name = NULL; if (file) { - struct inode *inode = file_inode(vma->vm_file); + struct inode *inode; + + file = vma_pr_or_file(vma); + inode = file_inode(file); dev = inode->i_sb->s_dev; ino = inode->i_ino; pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT; @@ -525,10 +528,12 @@ struct vm_area_struct *vma = walk->vma; bool locked = !!(vma->vm_flags & VM_LOCKED); struct page *page = NULL; - bool migration = false; + bool migration = false, young = false, dirty = false; if (pte_present(*pte)) { page = vm_normal_page(vma, addr, *pte); + young = pte_young(*pte); + dirty = pte_dirty(*pte); } else if (is_swap_pte(*pte)) { swp_entry_t swpent = pte_to_swp_entry(*pte); @@ -558,8 +563,7 @@ if (!page) return; - smaps_account(mss, page, false, pte_young(*pte), pte_dirty(*pte), - locked, migration); + smaps_account(mss, page, false, young, dirty, locked, migration); } #ifdef CONFIG_TRANSPARENT_HUGEPAGE @@ -731,9 +735,7 @@ page = pfn_swap_entry_to_page(swpent); } if (page) { - int mapcount = page_mapcount(page); - - if (mapcount >= 2) + if (page_mapcount(page) >= 2 || hugetlb_pmd_shared(pte)) mss->shared_hugetlb += huge_page_size(hstate_vma(vma)); else mss->private_hugetlb += huge_page_size(hstate_vma(vma)); @@ -965,7 +967,7 @@ vma = vma->vm_next; } - show_vma_header_prefix(m, priv->mm->mmap->vm_start, + show_vma_header_prefix(m, priv->mm->mmap ? priv->mm->mmap->vm_start : 0, last_vma_end, 0, 0, 0, 0); seq_pad(m, ' '); seq_puts(m, "[rollup]\n"); @@ -1908,7 +1910,7 @@ struct proc_maps_private *proc_priv = &numa_priv->proc_maps; struct vm_area_struct *vma = v; struct numa_maps *md = &numa_priv->md; - struct file *file = vma->vm_file; + struct file *file = vma_pr_or_file(vma); struct mm_struct *mm = vma->vm_mm; struct mempolicy *pol; char buffer[64]; --- linux-gcp-5.19.0.orig/fs/proc/task_nommu.c +++ linux-gcp-5.19.0/fs/proc/task_nommu.c @@ -155,7 +155,10 @@ file = vma->vm_file; if (file) { - struct inode *inode = file_inode(vma->vm_file); + struct inode *inode; + + file = vma_pr_or_file(vma); + inode = file_inode(file); dev = inode->i_sb->s_dev; ino = inode->i_ino; pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT; --- linux-gcp-5.19.0.orig/fs/proc/version_signature.c +++ linux-gcp-5.19.0/fs/proc/version_signature.c @@ -0,0 +1,32 @@ +#include +#include +#include +#include +#include +#include +#include + +static int version_signature_proc_show(struct seq_file *m, void *v) +{ + seq_printf(m, "%s\n", CONFIG_VERSION_SIGNATURE); + return 0; +} + +static int version_signature_proc_open(struct inode *inode, struct file *file) +{ + return single_open(file, version_signature_proc_show, NULL); +} + +static const struct proc_ops version_signature_proc_fops = { + .proc_open = version_signature_proc_open, + .proc_read = seq_read, + .proc_lseek = seq_lseek, + .proc_release = single_release, +}; + +static int __init proc_version_signature_init(void) +{ + proc_create("version_signature", 0, NULL, &version_signature_proc_fops); + return 0; +} +module_init(proc_version_signature_init); --- linux-gcp-5.19.0.orig/fs/pstore/Kconfig +++ linux-gcp-5.19.0/fs/pstore/Kconfig @@ -126,6 +126,7 @@ config PSTORE_PMSG bool "Log user space messages" depends on PSTORE + select RT_MUTEXES help When the option is enabled, pstore will export a character interface /dev/pmsg0 to log user space messages. On reboot --- linux-gcp-5.19.0.orig/fs/pstore/pmsg.c +++ linux-gcp-5.19.0/fs/pstore/pmsg.c @@ -7,9 +7,10 @@ #include #include #include +#include #include "internal.h" -static DEFINE_MUTEX(pmsg_lock); +static DEFINE_RT_MUTEX(pmsg_lock); static ssize_t write_pmsg(struct file *file, const char __user *buf, size_t count, loff_t *ppos) @@ -28,9 +29,9 @@ if (!access_ok(buf, count)) return -EFAULT; - mutex_lock(&pmsg_lock); + rt_mutex_lock(&pmsg_lock); ret = psinfo->write_user(&record, buf); - mutex_unlock(&pmsg_lock); + rt_mutex_unlock(&pmsg_lock); return ret ? ret : count; } --- linux-gcp-5.19.0.orig/fs/pstore/ram.c +++ linux-gcp-5.19.0/fs/pstore/ram.c @@ -670,7 +670,7 @@ field = value; \ } - parse_u32("mem-type", pdata->record_size, pdata->mem_type); + parse_u32("mem-type", pdata->mem_type, pdata->mem_type); parse_u32("record-size", pdata->record_size, 0); parse_u32("console-size", pdata->console_size, 0); parse_u32("ftrace-size", pdata->ftrace_size, 0); @@ -735,6 +735,7 @@ /* Make sure we didn't get bogus platform data pointer. */ if (!pdata) { pr_err("NULL platform data\n"); + err = -EINVAL; goto fail_out; } @@ -742,6 +743,7 @@ !pdata->ftrace_size && !pdata->pmsg_size)) { pr_err("The memory size and the record/console size must be " "non-zero\n"); + err = -EINVAL; goto fail_out; } --- linux-gcp-5.19.0.orig/fs/pstore/ram_core.c +++ linux-gcp-5.19.0/fs/pstore/ram_core.c @@ -439,7 +439,11 @@ phys_addr_t addr = page_start + i * PAGE_SIZE; pages[i] = pfn_to_page(addr >> PAGE_SHIFT); } - vaddr = vmap(pages, page_count, VM_MAP, prot); + /* + * VM_IOREMAP used here to bypass this region during vread() + * and kmap_atomic() (i.e. kcore) to avoid __va() failures. + */ + vaddr = vmap(pages, page_count, VM_MAP | VM_IOREMAP, prot); kfree(pages); /* --- linux-gcp-5.19.0.orig/fs/pstore/zone.c +++ linux-gcp-5.19.0/fs/pstore/zone.c @@ -761,7 +761,7 @@ /* avoid destroying old data, allocate a new one */ len = zone->buffer_size + sizeof(*zone->buffer); zone->oldbuf = zone->buffer; - zone->buffer = kzalloc(len, GFP_KERNEL); + zone->buffer = kzalloc(len, GFP_ATOMIC); if (!zone->buffer) { zone->buffer = zone->oldbuf; return -ENOMEM; --- linux-gcp-5.19.0.orig/fs/quota/dquot.c +++ linux-gcp-5.19.0/fs/quota/dquot.c @@ -2317,6 +2317,8 @@ struct super_block *sb = inode->i_sb; struct quota_info *dqopt = sb_dqopt(sb); + if (is_bad_inode(inode)) + return -EUCLEAN; if (!S_ISREG(inode->i_mode)) return -EACCES; if (IS_RDONLY(inode)) --- linux-gcp-5.19.0.orig/fs/quota/quota_tree.c +++ linux-gcp-5.19.0/fs/quota/quota_tree.c @@ -71,6 +71,35 @@ return ret; } +static inline int do_check_range(struct super_block *sb, const char *val_name, + uint val, uint min_val, uint max_val) +{ + if (val < min_val || val > max_val) { + quota_error(sb, "Getting %s %u out of range %u-%u", + val_name, val, min_val, max_val); + return -EUCLEAN; + } + + return 0; +} + +static int check_dquot_block_header(struct qtree_mem_dqinfo *info, + struct qt_disk_dqdbheader *dh) +{ + int err = 0; + + err = do_check_range(info->dqi_sb, "dqdh_next_free", + le32_to_cpu(dh->dqdh_next_free), 0, + info->dqi_blocks - 1); + if (err) + return err; + err = do_check_range(info->dqi_sb, "dqdh_prev_free", + le32_to_cpu(dh->dqdh_prev_free), 0, + info->dqi_blocks - 1); + + return err; +} + /* Remove empty block from list and return it */ static int get_free_dqblk(struct qtree_mem_dqinfo *info) { @@ -85,6 +114,9 @@ ret = read_blk(info, blk, buf); if (ret < 0) goto out_buf; + ret = check_dquot_block_header(info, dh); + if (ret) + goto out_buf; info->dqi_free_blk = le32_to_cpu(dh->dqdh_next_free); } else { @@ -232,6 +264,9 @@ *err = read_blk(info, blk, buf); if (*err < 0) goto out_buf; + *err = check_dquot_block_header(info, dh); + if (*err) + goto out_buf; } else { blk = get_free_dqblk(info); if ((int)blk < 0) { @@ -424,6 +459,9 @@ goto out_buf; } dh = (struct qt_disk_dqdbheader *)buf; + ret = check_dquot_block_header(info, dh); + if (ret) + goto out_buf; le16_add_cpu(&dh->dqdh_entries, -1); if (!le16_to_cpu(dh->dqdh_entries)) { /* Block got free? */ ret = remove_free_dqentry(info, buf, blk); --- linux-gcp-5.19.0.orig/fs/read_write.c +++ linux-gcp-5.19.0/fs/read_write.c @@ -509,14 +509,9 @@ } /* caller is responsible for file_start_write/file_end_write */ -ssize_t __kernel_write(struct file *file, const void *buf, size_t count, loff_t *pos) +ssize_t __kernel_write_iter(struct file *file, struct iov_iter *from, loff_t *pos) { - struct kvec iov = { - .iov_base = (void *)buf, - .iov_len = min_t(size_t, count, MAX_RW_COUNT), - }; struct kiocb kiocb; - struct iov_iter iter; ssize_t ret; if (WARN_ON_ONCE(!(file->f_mode & FMODE_WRITE))) @@ -532,8 +527,7 @@ init_sync_kiocb(&kiocb, file); kiocb.ki_pos = pos ? *pos : 0; - iov_iter_kvec(&iter, WRITE, &iov, 1, iov.iov_len); - ret = file->f_op->write_iter(&kiocb, &iter); + ret = file->f_op->write_iter(&kiocb, from); if (ret > 0) { if (pos) *pos = kiocb.ki_pos; @@ -543,6 +537,18 @@ inc_syscw(current); return ret; } + +/* caller is responsible for file_start_write/file_end_write */ +ssize_t __kernel_write(struct file *file, const void *buf, size_t count, loff_t *pos) +{ + struct kvec iov = { + .iov_base = (void *)buf, + .iov_len = min_t(size_t, count, MAX_RW_COUNT), + }; + struct iov_iter iter; + iov_iter_kvec(&iter, WRITE, &iov, 1, iov.iov_len); + return __kernel_write_iter(file, &iter, pos); +} /* * This "EXPORT_SYMBOL_GPL()" is more of a "EXPORT_SYMBOL_DONTUSE()", * but autofs is one of the few internal kernel users that actually @@ -1395,6 +1401,8 @@ struct file *file_out, loff_t pos_out, size_t len, unsigned int flags) { + lockdep_assert(sb_write_started(file_inode(file_out)->i_sb)); + return do_splice_direct(file_in, &pos_in, file_out, &pos_out, len > MAX_RW_COUNT ? MAX_RW_COUNT : len, 0); } @@ -1431,7 +1439,9 @@ * and several different sets of file_operations, but they all end up * using the same ->copy_file_range() function pointer. */ - if (file_out->f_op->copy_file_range) { + if (flags & COPY_FILE_SPLICE) { + /* cross sb splice is allowed */ + } else if (file_out->f_op->copy_file_range) { if (file_in->f_op->copy_file_range != file_out->f_op->copy_file_range) return -EXDEV; @@ -1481,8 +1491,9 @@ size_t len, unsigned int flags) { ssize_t ret; + bool splice = flags & COPY_FILE_SPLICE; - if (flags != 0) + if (flags & ~COPY_FILE_SPLICE) return -EINVAL; ret = generic_copy_file_checks(file_in, pos_in, file_out, pos_out, &len, @@ -1508,14 +1519,14 @@ * same sb using clone, but for filesystems where both clone and copy * are supported (e.g. nfs,cifs), we only call the copy method. */ - if (file_out->f_op->copy_file_range) { + if (!splice && file_out->f_op->copy_file_range) { ret = file_out->f_op->copy_file_range(file_in, pos_in, file_out, pos_out, len, flags); goto done; } - if (file_in->f_op->remap_file_range && + if (!splice && file_in->f_op->remap_file_range && file_inode(file_in)->i_sb == file_inode(file_out)->i_sb) { ret = file_in->f_op->remap_file_range(file_in, pos_in, file_out, pos_out, @@ -1535,6 +1546,8 @@ * consistent story about which filesystems support copy_file_range() * and which filesystems do not, that will allow userspace tools to * make consistent desicions w.r.t using copy_file_range(). + * + * We also get here if caller (e.g. nfsd) requested COPY_FILE_SPLICE. */ ret = generic_copy_file_range(file_in, pos_in, file_out, pos_out, len, flags); @@ -1589,6 +1602,10 @@ pos_out = f_out.file->f_pos; } + ret = -EINVAL; + if (flags != 0) + goto out; + ret = vfs_copy_file_range(f_in.file, pos_in, f_out.file, pos_out, len, flags); if (ret > 0) { --- linux-gcp-5.19.0.orig/fs/reiserfs/namei.c +++ linux-gcp-5.19.0/fs/reiserfs/namei.c @@ -696,6 +696,7 @@ out_failed: reiserfs_write_unlock(dir->i_sb); + reiserfs_security_free(&security); return retval; } @@ -779,6 +780,7 @@ out_failed: reiserfs_write_unlock(dir->i_sb); + reiserfs_security_free(&security); return retval; } @@ -878,6 +880,7 @@ retval = journal_end(&th); out_failed: reiserfs_write_unlock(dir->i_sb); + reiserfs_security_free(&security); return retval; } @@ -1194,6 +1197,7 @@ retval = journal_end(&th); out_failed: reiserfs_write_unlock(parent_dir->i_sb); + reiserfs_security_free(&security); return retval; } --- linux-gcp-5.19.0.orig/fs/reiserfs/xattr_security.c +++ linux-gcp-5.19.0/fs/reiserfs/xattr_security.c @@ -50,6 +50,7 @@ int error; sec->name = NULL; + sec->value = NULL; /* Don't add selinux attributes on xattrs - they'll never get used */ if (IS_PRIVATE(dir)) @@ -95,7 +96,6 @@ void reiserfs_security_free(struct reiserfs_security_handle *sec) { - kfree(sec->name); kfree(sec->value); sec->name = NULL; sec->value = NULL; --- linux-gcp-5.19.0.orig/fs/shiftfs.c +++ linux-gcp-5.19.0/fs/shiftfs.c @@ -0,0 +1,2204 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +struct shiftfs_super_info { + struct vfsmount *mnt; + struct user_namespace *userns; + /* creds of process who created the super block */ + const struct cred *creator_cred; + bool mark; + unsigned int passthrough; + unsigned int passthrough_mark; +}; + +static void shiftfs_fill_inode(struct inode *inode, unsigned long ino, + umode_t mode, dev_t dev, struct dentry *dentry); + +#define SHIFTFS_PASSTHROUGH_NONE 0 +#define SHIFTFS_PASSTHROUGH_STAT 1 +#define SHIFTFS_PASSTHROUGH_IOCTL 2 +#define SHIFTFS_PASSTHROUGH_ALL \ + (SHIFTFS_PASSTHROUGH_STAT | SHIFTFS_PASSTHROUGH_IOCTL) + +static inline bool shiftfs_passthrough_ioctls(struct shiftfs_super_info *info) +{ + if (!(info->passthrough & SHIFTFS_PASSTHROUGH_IOCTL)) + return false; + + return true; +} + +static inline bool shiftfs_passthrough_statfs(struct shiftfs_super_info *info) +{ + if (!(info->passthrough & SHIFTFS_PASSTHROUGH_STAT)) + return false; + + return true; +} + +enum { + OPT_MARK, + OPT_PASSTHROUGH, + OPT_LAST, +}; + +/* global filesystem options */ +static const match_table_t tokens = { + { OPT_MARK, "mark" }, + { OPT_PASSTHROUGH, "passthrough=%u" }, + { OPT_LAST, NULL } +}; + +static const struct cred *shiftfs_override_creds(const struct super_block *sb) +{ + struct shiftfs_super_info *sbinfo = sb->s_fs_info; + + return override_creds(sbinfo->creator_cred); +} + +static inline void shiftfs_revert_object_creds(const struct cred *oldcred, + struct cred *newcred) +{ + revert_creds(oldcred); + put_cred(newcred); +} + +static kuid_t shift_kuid(struct user_namespace *from, struct user_namespace *to, + kuid_t kuid) +{ + uid_t uid = from_kuid(from, kuid); + return make_kuid(to, uid); +} + +static kgid_t shift_kgid(struct user_namespace *from, struct user_namespace *to, + kgid_t kgid) +{ + gid_t gid = from_kgid(from, kgid); + return make_kgid(to, gid); +} + +static int shiftfs_override_object_creds(const struct super_block *sb, + const struct cred **oldcred, + struct cred **newcred, + struct dentry *dentry, umode_t mode, + bool hardlink) +{ + struct shiftfs_super_info *sbinfo = sb->s_fs_info; + kuid_t fsuid = current_fsuid(); + kgid_t fsgid = current_fsgid(); + + *oldcred = shiftfs_override_creds(sb); + + *newcred = prepare_creds(); + if (!*newcred) { + revert_creds(*oldcred); + return -ENOMEM; + } + + (*newcred)->fsuid = shift_kuid(sb->s_user_ns, sbinfo->userns, fsuid); + (*newcred)->fsgid = shift_kgid(sb->s_user_ns, sbinfo->userns, fsgid); + + if (!hardlink) { + int err = security_dentry_create_files_as(dentry, mode, + &dentry->d_name, + *oldcred, *newcred); + if (err) { + shiftfs_revert_object_creds(*oldcred, *newcred); + return err; + } + } + + put_cred(override_creds(*newcred)); + return 0; +} + +static void shiftfs_copyattr(struct inode *from, struct inode *to) +{ + struct user_namespace *from_ns = from->i_sb->s_user_ns; + struct user_namespace *to_ns = to->i_sb->s_user_ns; + + to->i_uid = shift_kuid(from_ns, to_ns, from->i_uid); + to->i_gid = shift_kgid(from_ns, to_ns, from->i_gid); + to->i_mode = from->i_mode; + to->i_atime = from->i_atime; + to->i_mtime = from->i_mtime; + to->i_ctime = from->i_ctime; + i_size_write(to, i_size_read(from)); +} + +static void shiftfs_copyflags(struct inode *from, struct inode *to) +{ + unsigned int mask = S_SYNC | S_IMMUTABLE | S_APPEND | S_NOATIME; + + inode_set_flags(to, from->i_flags & mask, mask); +} + +static void shiftfs_file_accessed(struct file *file) +{ + struct inode *upperi, *loweri; + + if (file->f_flags & O_NOATIME) + return; + + upperi = file_inode(file); + loweri = upperi->i_private; + + if (!loweri) + return; + + upperi->i_mtime = loweri->i_mtime; + upperi->i_ctime = loweri->i_ctime; + + touch_atime(&file->f_path); +} + +static int shiftfs_parse_mount_options(struct shiftfs_super_info *sbinfo, + char *options) +{ + char *p; + substring_t args[MAX_OPT_ARGS]; + + sbinfo->mark = false; + sbinfo->passthrough = 0; + + while ((p = strsep(&options, ",")) != NULL) { + int err, intarg, token; + + if (!*p) + continue; + + token = match_token(p, tokens, args); + switch (token) { + case OPT_MARK: + sbinfo->mark = true; + break; + case OPT_PASSTHROUGH: + err = match_int(&args[0], &intarg); + if (err) + return err; + + if (intarg & ~SHIFTFS_PASSTHROUGH_ALL) + return -EINVAL; + + sbinfo->passthrough = intarg; + break; + default: + return -EINVAL; + } + } + + return 0; +} + +static void shiftfs_d_release(struct dentry *dentry) +{ + struct dentry *lowerd = dentry->d_fsdata; + + if (lowerd) + dput(lowerd); +} + +static struct dentry *shiftfs_d_real(struct dentry *dentry, + const struct inode *inode) +{ + struct dentry *lowerd = dentry->d_fsdata; + + if (inode && d_inode(dentry) == inode) + return dentry; + + lowerd = d_real(lowerd, inode); + if (lowerd && (!inode || inode == d_inode(lowerd))) + return lowerd; + + WARN(1, "shiftfs_d_real(%pd4, %s:%lu): real dentry not found\n", dentry, + inode ? inode->i_sb->s_id : "NULL", inode ? inode->i_ino : 0); + return dentry; +} + +static int shiftfs_d_weak_revalidate(struct dentry *dentry, unsigned int flags) +{ + int err = 1; + struct dentry *lowerd = dentry->d_fsdata; + + if (d_is_negative(lowerd) != d_is_negative(dentry)) + return 0; + + if ((lowerd->d_flags & DCACHE_OP_WEAK_REVALIDATE)) + err = lowerd->d_op->d_weak_revalidate(lowerd, flags); + + if (d_really_is_positive(dentry)) { + struct inode *inode = d_inode(dentry); + struct inode *loweri = d_inode(lowerd); + + shiftfs_copyattr(loweri, inode); + } + + return err; +} + +static int shiftfs_d_revalidate(struct dentry *dentry, unsigned int flags) +{ + int err = 1; + struct dentry *lowerd = dentry->d_fsdata; + + if (d_unhashed(lowerd) || + ((d_is_negative(lowerd) != d_is_negative(dentry)))) + return 0; + + if (flags & LOOKUP_RCU) + return -ECHILD; + + if ((lowerd->d_flags & DCACHE_OP_REVALIDATE)) + err = lowerd->d_op->d_revalidate(lowerd, flags); + + if (d_really_is_positive(dentry)) { + struct inode *inode = d_inode(dentry); + struct inode *loweri = d_inode(lowerd); + + shiftfs_copyattr(loweri, inode); + } + + return err; +} + +static const struct dentry_operations shiftfs_dentry_ops = { + .d_release = shiftfs_d_release, + .d_real = shiftfs_d_real, + .d_revalidate = shiftfs_d_revalidate, + .d_weak_revalidate = shiftfs_d_weak_revalidate, +}; + +static const char *shiftfs_get_link(struct dentry *dentry, struct inode *inode, + struct delayed_call *done) +{ + const char *p; + const struct cred *oldcred; + struct dentry *lowerd; + + /* RCU lookup not supported */ + if (!dentry) + return ERR_PTR(-ECHILD); + + lowerd = dentry->d_fsdata; + oldcred = shiftfs_override_creds(dentry->d_sb); + p = vfs_get_link(lowerd, done); + revert_creds(oldcred); + + return p; +} + +static int shiftfs_setxattr(struct dentry *dentry, struct inode *inode, + const char *name, const void *value, + size_t size, int flags) +{ + struct dentry *lowerd = dentry->d_fsdata; + int err; + const struct cred *oldcred; + + oldcred = shiftfs_override_creds(dentry->d_sb); + err = vfs_setxattr(&init_user_ns, lowerd, name, value, size, flags); + revert_creds(oldcred); + + shiftfs_copyattr(lowerd->d_inode, inode); + + return err; +} + +static int shiftfs_xattr_get(const struct xattr_handler *handler, + struct dentry *dentry, struct inode *inode, + const char *name, void *value, size_t size) +{ + struct dentry *lowerd = dentry->d_fsdata; + int err; + const struct cred *oldcred; + + oldcred = shiftfs_override_creds(dentry->d_sb); + err = vfs_getxattr(&init_user_ns, lowerd, name, value, size); + revert_creds(oldcred); + + return err; +} + +static ssize_t shiftfs_listxattr(struct dentry *dentry, char *list, + size_t size) +{ + struct dentry *lowerd = dentry->d_fsdata; + int err; + const struct cred *oldcred; + + oldcred = shiftfs_override_creds(dentry->d_sb); + err = vfs_listxattr(lowerd, list, size); + revert_creds(oldcred); + + return err; +} + +static int shiftfs_removexattr(struct user_namespace *ns, + struct dentry *dentry, const char *name) +{ + struct dentry *lowerd = dentry->d_fsdata; + int err; + const struct cred *oldcred; + + oldcred = shiftfs_override_creds(dentry->d_sb); + err = vfs_removexattr(&init_user_ns, lowerd, name); + revert_creds(oldcred); + + /* update c/mtime */ + shiftfs_copyattr(lowerd->d_inode, d_inode(dentry)); + + return err; +} + +static int shiftfs_xattr_set(const struct xattr_handler *handler, + struct user_namespace *ns, + struct dentry *dentry, struct inode *inode, + const char *name, const void *value, size_t size, + int flags) +{ + if (!value) + return shiftfs_removexattr(&init_user_ns, dentry, name); + return shiftfs_setxattr(dentry, inode, name, value, size, flags); +} + +static int shiftfs_inode_test(struct inode *inode, void *data) +{ + return inode->i_private == data; +} + +static int shiftfs_inode_set(struct inode *inode, void *data) +{ + inode->i_private = data; + return 0; +} + +static int shiftfs_create_object(struct inode *diri, struct dentry *dentry, + umode_t mode, const char *symlink, + struct dentry *hardlink, bool excl) +{ + int err; + const struct cred *oldcred; + struct cred *newcred; + void *loweri_iop_ptr = NULL; + umode_t modei = mode; + struct super_block *dir_sb = diri->i_sb; + struct dentry *lowerd_new = dentry->d_fsdata; + struct inode *inode = NULL, *loweri_dir = diri->i_private; + const struct inode_operations *loweri_dir_iop = loweri_dir->i_op; + struct dentry *lowerd_link = NULL; + + inode_lock_nested(loweri_dir, I_MUTEX_PARENT); + + if (hardlink) { + loweri_iop_ptr = loweri_dir_iop->link; + } else { + switch (mode & S_IFMT) { + case S_IFDIR: + loweri_iop_ptr = loweri_dir_iop->mkdir; + break; + case S_IFREG: + loweri_iop_ptr = loweri_dir_iop->create; + break; + case S_IFLNK: + loweri_iop_ptr = loweri_dir_iop->symlink; + break; + case S_IFSOCK: + /* fall through */ + case S_IFIFO: + loweri_iop_ptr = loweri_dir_iop->mknod; + break; + } + } + if (!loweri_iop_ptr) { + err = -EINVAL; + goto out_iput; + } + + if (!hardlink) { + inode = new_inode(dir_sb); + if (!inode) { + err = -ENOMEM; + goto out_iput; + } + + /* + * new_inode() will have added the new inode to the super + * block's list of inodes. Further below we will call + * inode_insert5() Which would perform the same operation again + * thereby corrupting the list. To avoid this raise I_CREATING + * in i_state which will cause inode_insert5() to skip this + * step. I_CREATING will be cleared by d_instantiate_new() + * below. + */ + spin_lock(&inode->i_lock); + inode->i_state |= I_CREATING; + spin_unlock(&inode->i_lock); + + inode_init_owner(&init_user_ns, inode, diri, mode); + modei = inode->i_mode; + } + + err = shiftfs_override_object_creds(dentry->d_sb, &oldcred, &newcred, + dentry, modei, hardlink != NULL); + if (err) + goto out_iput; + + if (hardlink) { + lowerd_link = hardlink->d_fsdata; + err = vfs_link(lowerd_link, &init_user_ns, loweri_dir, lowerd_new, NULL); + } else { + switch (modei & S_IFMT) { + case S_IFDIR: + err = vfs_mkdir(&init_user_ns, loweri_dir, lowerd_new, modei); + break; + case S_IFREG: + err = vfs_create(&init_user_ns, loweri_dir, lowerd_new, modei, excl); + break; + case S_IFLNK: + err = vfs_symlink(&init_user_ns, loweri_dir, lowerd_new, symlink); + break; + case S_IFSOCK: + /* fall through */ + case S_IFIFO: + err = vfs_mknod(&init_user_ns, loweri_dir, lowerd_new, modei, 0); + break; + default: + err = -EINVAL; + break; + } + } + + shiftfs_revert_object_creds(oldcred, newcred); + + if (!err && WARN_ON(!lowerd_new->d_inode)) + err = -EIO; + if (err) + goto out_iput; + + if (hardlink) { + inode = d_inode(hardlink); + ihold(inode); + + /* copy up times from lower inode */ + shiftfs_copyattr(d_inode(lowerd_link), inode); + set_nlink(d_inode(hardlink), d_inode(lowerd_link)->i_nlink); + d_instantiate(dentry, inode); + } else { + struct inode *inode_tmp; + struct inode *loweri_new = d_inode(lowerd_new); + + inode_tmp = inode_insert5(inode, (unsigned long)loweri_new, + shiftfs_inode_test, shiftfs_inode_set, + loweri_new); + if (unlikely(inode_tmp != inode)) { + pr_err_ratelimited("shiftfs: newly created inode found in cache\n"); + iput(inode_tmp); + err = -EINVAL; + goto out_iput; + } + + ihold(loweri_new); + shiftfs_fill_inode(inode, loweri_new->i_ino, loweri_new->i_mode, + 0, lowerd_new); + d_instantiate_new(dentry, inode); + } + + shiftfs_copyattr(loweri_dir, diri); + if (loweri_iop_ptr == loweri_dir_iop->mkdir) + set_nlink(diri, loweri_dir->i_nlink); + + inode = NULL; + +out_iput: + iput(inode); + inode_unlock(loweri_dir); + + return err; +} + +static int shiftfs_create(struct user_namespace *ns, + struct inode *dir, struct dentry *dentry, + umode_t mode, bool excl) +{ + mode |= S_IFREG; + + return shiftfs_create_object(dir, dentry, mode, NULL, NULL, excl); +} + +static int shiftfs_mkdir(struct user_namespace *ns, struct inode *dir, struct dentry *dentry, + umode_t mode) +{ + mode |= S_IFDIR; + + return shiftfs_create_object(dir, dentry, mode, NULL, NULL, false); +} + +static int shiftfs_link(struct dentry *hardlink, struct inode *dir, + struct dentry *dentry) +{ + return shiftfs_create_object(dir, dentry, 0, NULL, hardlink, false); +} + +static int shiftfs_mknod(struct user_namespace *ns, + struct inode *dir, struct dentry *dentry, umode_t mode, + dev_t rdev) +{ + if (!S_ISFIFO(mode) && !S_ISSOCK(mode)) + return -EPERM; + + return shiftfs_create_object(dir, dentry, mode, NULL, NULL, false); +} + +static int shiftfs_symlink(struct user_namespace *ns, struct inode *dir, struct dentry *dentry, + const char *symlink) +{ + return shiftfs_create_object(dir, dentry, S_IFLNK, symlink, NULL, false); +} + +static int shiftfs_rm(struct inode *dir, struct dentry *dentry, bool rmdir) +{ + struct dentry *lowerd = dentry->d_fsdata; + struct inode *loweri = dir->i_private; + struct inode *inode = d_inode(dentry); + int err; + const struct cred *oldcred; + + dget(lowerd); + oldcred = shiftfs_override_creds(dentry->d_sb); + inode_lock_nested(loweri, I_MUTEX_PARENT); + if (rmdir) + err = vfs_rmdir(&init_user_ns, loweri, lowerd); + else + err = vfs_unlink(&init_user_ns, loweri, lowerd, NULL); + revert_creds(oldcred); + + if (!err) { + d_drop(dentry); + + if (rmdir) + clear_nlink(inode); + else + drop_nlink(inode); + } + inode_unlock(loweri); + + shiftfs_copyattr(loweri, dir); + dput(lowerd); + + return err; +} + +static int shiftfs_unlink(struct inode *dir, struct dentry *dentry) +{ + return shiftfs_rm(dir, dentry, false); +} + +static int shiftfs_rmdir(struct inode *dir, struct dentry *dentry) +{ + return shiftfs_rm(dir, dentry, true); +} + +static int shiftfs_rename(struct user_namespace *ns, + struct inode *olddir, struct dentry *old, + struct inode *newdir, struct dentry *new, + unsigned int flags) +{ + struct dentry *lowerd_dir_old = old->d_parent->d_fsdata, + *lowerd_dir_new = new->d_parent->d_fsdata, + *lowerd_old = old->d_fsdata, *lowerd_new = new->d_fsdata, + *trapd; + struct inode *loweri_dir_old = lowerd_dir_old->d_inode, + *loweri_dir_new = lowerd_dir_new->d_inode; + struct renamedata rd = { + .old_mnt_userns = &init_user_ns, + .old_dir = loweri_dir_old, + .old_dentry = lowerd_old, + .new_mnt_userns = &init_user_ns, + .new_dir = loweri_dir_new, + .new_dentry = lowerd_new, + }; + int err = -EINVAL; + const struct cred *oldcred; + + trapd = lock_rename(lowerd_dir_new, lowerd_dir_old); + + if (trapd == lowerd_old || trapd == lowerd_new) + goto out_unlock; + + oldcred = shiftfs_override_creds(old->d_sb); + err = vfs_rename(&rd); + revert_creds(oldcred); + + shiftfs_copyattr(loweri_dir_old, olddir); + shiftfs_copyattr(loweri_dir_new, newdir); + +out_unlock: + unlock_rename(lowerd_dir_new, lowerd_dir_old); + + return err; +} + +static struct dentry *shiftfs_lookup(struct inode *dir, struct dentry *dentry, + unsigned int flags) +{ + struct dentry *new; + struct inode *newi; + const struct cred *oldcred; + struct dentry *lowerd = dentry->d_parent->d_fsdata; + struct inode *inode = NULL, *loweri = lowerd->d_inode; + + inode_lock(loweri); + oldcred = shiftfs_override_creds(dentry->d_sb); + new = lookup_one_len(dentry->d_name.name, lowerd, dentry->d_name.len); + revert_creds(oldcred); + inode_unlock(loweri); + + if (IS_ERR(new)) + return new; + + dentry->d_fsdata = new; + + newi = new->d_inode; + if (!newi) + goto out; + + inode = iget5_locked(dentry->d_sb, (unsigned long)newi, + shiftfs_inode_test, shiftfs_inode_set, newi); + if (!inode) { + dput(new); + return ERR_PTR(-ENOMEM); + } + if (inode->i_state & I_NEW) { + /* + * inode->i_private set by shiftfs_inode_set(), but we still + * need to take a reference + */ + ihold(newi); + shiftfs_fill_inode(inode, newi->i_ino, newi->i_mode, 0, new); + unlock_new_inode(inode); + } + +out: + return d_splice_alias(inode, dentry); +} + +static int shiftfs_permission(struct user_namespace *ns, struct inode *inode, int mask) +{ + int err; + const struct cred *oldcred; + struct inode *loweri = inode->i_private; + + if (!loweri) { + WARN_ON(!(mask & MAY_NOT_BLOCK)); + return -ECHILD; + } + + err = generic_permission(&init_user_ns, inode, mask); + if (err) + return err; + + oldcred = shiftfs_override_creds(inode->i_sb); + err = inode_permission(&init_user_ns, loweri, mask); + revert_creds(oldcred); + + return err; +} + +static int shiftfs_fiemap(struct inode *inode, + struct fiemap_extent_info *fieinfo, u64 start, + u64 len) +{ + int err; + const struct cred *oldcred; + struct inode *loweri = inode->i_private; + + if (!loweri->i_op->fiemap) + return -EOPNOTSUPP; + + oldcred = shiftfs_override_creds(inode->i_sb); + if (fieinfo->fi_flags & FIEMAP_FLAG_SYNC) + filemap_write_and_wait(loweri->i_mapping); + err = loweri->i_op->fiemap(loweri, fieinfo, start, len); + revert_creds(oldcred); + + return err; +} + +static int shiftfs_tmpfile(struct user_namespace *ns, + struct inode *dir, struct dentry *dentry, + umode_t mode) +{ + int err; + const struct cred *oldcred; + struct dentry *lowerd = dentry->d_fsdata; + struct inode *loweri = dir->i_private; + + if (!loweri->i_op->tmpfile) + return -EOPNOTSUPP; + + oldcred = shiftfs_override_creds(dir->i_sb); + err = loweri->i_op->tmpfile(&init_user_ns, loweri, lowerd, mode); + revert_creds(oldcred); + + return err; +} + +static int shiftfs_setattr(struct user_namespace *ns, struct dentry *dentry, struct iattr *attr) +{ + struct dentry *lowerd = dentry->d_fsdata; + struct inode *loweri = lowerd->d_inode; + struct iattr newattr; + const struct cred *oldcred; + struct super_block *sb = dentry->d_sb; + struct shiftfs_super_info *sbinfo = sb->s_fs_info; + int err; + + err = setattr_prepare(&init_user_ns, dentry, attr); + if (err) + return err; + + newattr = *attr; + newattr.ia_uid = shift_kuid(sb->s_user_ns, sbinfo->userns, attr->ia_uid); + newattr.ia_gid = shift_kgid(sb->s_user_ns, sbinfo->userns, attr->ia_gid); + + /* + * mode change is for clearing setuid/setgid bits. Allow lower fs + * to interpret this in its own way. + */ + if (newattr.ia_valid & (ATTR_KILL_SUID|ATTR_KILL_SGID)) + newattr.ia_valid &= ~ATTR_MODE; + + inode_lock(loweri); + oldcred = shiftfs_override_creds(dentry->d_sb); + err = notify_change(&init_user_ns, lowerd, &newattr, NULL); + revert_creds(oldcred); + inode_unlock(loweri); + + shiftfs_copyattr(loweri, d_inode(dentry)); + + return err; +} + +static int shiftfs_getattr(struct user_namespace *ns, + const struct path *path, struct kstat *stat, + u32 request_mask, unsigned int query_flags) +{ + struct inode *inode = path->dentry->d_inode; + struct dentry *lowerd = path->dentry->d_fsdata; + struct inode *loweri = lowerd->d_inode; + struct shiftfs_super_info *info = path->dentry->d_sb->s_fs_info; + struct path newpath = { .mnt = info->mnt, .dentry = lowerd }; + struct user_namespace *from_ns = loweri->i_sb->s_user_ns; + struct user_namespace *to_ns = inode->i_sb->s_user_ns; + const struct cred *oldcred; + int err; + + oldcred = shiftfs_override_creds(inode->i_sb); + err = vfs_getattr(&newpath, stat, request_mask, query_flags); + revert_creds(oldcred); + + if (err) + return err; + + /* transform the underlying id */ + stat->uid = shift_kuid(from_ns, to_ns, stat->uid); + stat->gid = shift_kgid(from_ns, to_ns, stat->gid); + return 0; +} + +#ifdef CONFIG_SHIFT_FS_POSIX_ACL + +static int +shift_acl_ids(struct user_namespace *from, struct user_namespace *to, + struct posix_acl *acl) +{ + int i; + + for (i = 0; i < acl->a_count; i++) { + struct posix_acl_entry *e = &acl->a_entries[i]; + switch(e->e_tag) { + case ACL_USER: + e->e_uid = shift_kuid(from, to, e->e_uid); + if (!uid_valid(e->e_uid)) + return -EOVERFLOW; + break; + case ACL_GROUP: + e->e_gid = shift_kgid(from, to, e->e_gid); + if (!gid_valid(e->e_gid)) + return -EOVERFLOW; + break; + } + } + return 0; +} + +static void +shift_acl_xattr_ids(struct user_namespace *from, struct user_namespace *to, + void *value, size_t size) +{ + struct posix_acl_xattr_header *header = value; + struct posix_acl_xattr_entry *entry = (void *)(header + 1), *end; + int count; + kuid_t kuid; + kgid_t kgid; + + if (!value) + return; + if (size < sizeof(struct posix_acl_xattr_header)) + return; + if (header->a_version != cpu_to_le32(POSIX_ACL_XATTR_VERSION)) + return; + + count = posix_acl_xattr_count(size); + if (count < 0) + return; + if (count == 0) + return; + + for (end = entry + count; entry != end; entry++) { + switch(le16_to_cpu(entry->e_tag)) { + case ACL_USER: + kuid = make_kuid(&init_user_ns, le32_to_cpu(entry->e_id)); + kuid = shift_kuid(from, to, kuid); + entry->e_id = cpu_to_le32(from_kuid(&init_user_ns, kuid)); + break; + case ACL_GROUP: + kgid = make_kgid(from, le32_to_cpu(entry->e_id)); + kgid = shift_kgid(from, to, kgid); + entry->e_id = cpu_to_le32(from_kgid(from, kgid)); + break; + default: + break; + } + } +} + +static struct posix_acl * +shiftfs_get_acl(struct inode *inode, int type, bool rcu) +{ + struct inode *loweri = inode->i_private; + const struct cred *oldcred; + struct posix_acl *lower_acl, *acl = NULL; + struct user_namespace *from_ns = loweri->i_sb->s_user_ns; + struct user_namespace *to_ns = inode->i_sb->s_user_ns; + int size; + int err; + + if (rcu) + return ERR_PTR(-ECHILD); + + if (!IS_POSIXACL(loweri)) + return NULL; + + oldcred = shiftfs_override_creds(inode->i_sb); + lower_acl = get_acl(loweri, type); + revert_creds(oldcred); + + if (lower_acl && !IS_ERR(lower_acl)) { + /* XXX: export posix_acl_clone? */ + size = sizeof(struct posix_acl) + + lower_acl->a_count * sizeof(struct posix_acl_entry); + acl = kmemdup(lower_acl, size, GFP_KERNEL); + posix_acl_release(lower_acl); + + if (!acl) + return ERR_PTR(-ENOMEM); + + refcount_set(&acl->a_refcount, 1); + + err = shift_acl_ids(from_ns, to_ns, acl); + if (err) { + kfree(acl); + return ERR_PTR(err); + } + } + + return acl; +} + +static int +shiftfs_posix_acl_xattr_get(const struct xattr_handler *handler, + struct dentry *dentry, struct inode *inode, + const char *name, void *buffer, size_t size) +{ + struct inode *loweri = inode->i_private; + int ret; + + ret = shiftfs_xattr_get(NULL, dentry, inode, handler->name, + buffer, size); + if (ret < 0) + return ret; + + inode_lock(loweri); + shift_acl_xattr_ids(loweri->i_sb->s_user_ns, inode->i_sb->s_user_ns, + buffer, size); + inode_unlock(loweri); + return ret; +} + +static int +shiftfs_posix_acl_xattr_set(const struct xattr_handler *handler, + struct user_namespace *ns, + struct dentry *dentry, struct inode *inode, + const char *name, const void *value, + size_t size, int flags) +{ + struct inode *loweri = inode->i_private; + int err; + + if (!IS_POSIXACL(loweri) || !loweri->i_op->set_acl) + return -EOPNOTSUPP; + if (handler->flags == ACL_TYPE_DEFAULT && !S_ISDIR(inode->i_mode)) + return value ? -EACCES : 0; + if (!inode_owner_or_capable(&init_user_ns, inode)) + return -EPERM; + + if (value) { + shift_acl_xattr_ids(inode->i_sb->s_user_ns, + loweri->i_sb->s_user_ns, + (void *)value, size); + err = shiftfs_setxattr(dentry, inode, handler->name, value, + size, flags); + } else { + err = shiftfs_removexattr(&init_user_ns, dentry, handler->name); + } + + if (!err) + shiftfs_copyattr(loweri, inode); + + return err; +} + +static const struct xattr_handler +shiftfs_posix_acl_access_xattr_handler = { + .name = XATTR_NAME_POSIX_ACL_ACCESS, + .flags = ACL_TYPE_ACCESS, + .get = shiftfs_posix_acl_xattr_get, + .set = shiftfs_posix_acl_xattr_set, +}; + +static const struct xattr_handler +shiftfs_posix_acl_default_xattr_handler = { + .name = XATTR_NAME_POSIX_ACL_DEFAULT, + .flags = ACL_TYPE_DEFAULT, + .get = shiftfs_posix_acl_xattr_get, + .set = shiftfs_posix_acl_xattr_set, +}; + +#else /* !CONFIG_SHIFT_FS_POSIX_ACL */ + +#define shiftfs_get_acl NULL + +#endif /* CONFIG_SHIFT_FS_POSIX_ACL */ + +static const struct inode_operations shiftfs_dir_inode_operations = { + .lookup = shiftfs_lookup, + .mkdir = shiftfs_mkdir, + .symlink = shiftfs_symlink, + .unlink = shiftfs_unlink, + .rmdir = shiftfs_rmdir, + .rename = shiftfs_rename, + .link = shiftfs_link, + .setattr = shiftfs_setattr, + .create = shiftfs_create, + .mknod = shiftfs_mknod, + .permission = shiftfs_permission, + .getattr = shiftfs_getattr, + .listxattr = shiftfs_listxattr, + .get_acl = shiftfs_get_acl, +}; + +static const struct inode_operations shiftfs_file_inode_operations = { + .fiemap = shiftfs_fiemap, + .getattr = shiftfs_getattr, + .get_acl = shiftfs_get_acl, + .listxattr = shiftfs_listxattr, + .permission = shiftfs_permission, + .setattr = shiftfs_setattr, + .tmpfile = shiftfs_tmpfile, +}; + +static const struct inode_operations shiftfs_special_inode_operations = { + .getattr = shiftfs_getattr, + .get_acl = shiftfs_get_acl, + .listxattr = shiftfs_listxattr, + .permission = shiftfs_permission, + .setattr = shiftfs_setattr, +}; + +static const struct inode_operations shiftfs_symlink_inode_operations = { + .getattr = shiftfs_getattr, + .get_link = shiftfs_get_link, + .listxattr = shiftfs_listxattr, + .setattr = shiftfs_setattr, +}; + +static struct file *shiftfs_open_realfile(const struct file *file, + struct inode *realinode) +{ + struct file *realfile; + const struct cred *old_cred; + struct inode *inode = file_inode(file); + struct dentry *lowerd = file->f_path.dentry->d_fsdata; + struct shiftfs_super_info *info = inode->i_sb->s_fs_info; + struct path realpath = { .mnt = info->mnt, .dentry = lowerd }; + + old_cred = shiftfs_override_creds(inode->i_sb); + realfile = open_with_fake_path(&realpath, file->f_flags, realinode, + info->creator_cred); + revert_creds(old_cred); + + return realfile; +} + +#define SHIFTFS_SETFL_MASK (O_APPEND | O_NONBLOCK | O_NDELAY | O_DIRECT) + +static int shiftfs_change_flags(struct file *file, unsigned int flags) +{ + struct inode *inode = file_inode(file); + int err; + + /* if some flag changed that cannot be changed then something's amiss */ + if (WARN_ON((file->f_flags ^ flags) & ~SHIFTFS_SETFL_MASK)) + return -EIO; + + flags &= SHIFTFS_SETFL_MASK; + + if (((flags ^ file->f_flags) & O_APPEND) && IS_APPEND(inode)) + return -EPERM; + + if (flags & O_DIRECT) { + if (!file->f_mapping->a_ops || + !file->f_mapping->a_ops->direct_IO) + return -EINVAL; + } + + if (file->f_op->check_flags) { + err = file->f_op->check_flags(flags); + if (err) + return err; + } + + spin_lock(&file->f_lock); + file->f_flags = (file->f_flags & ~SHIFTFS_SETFL_MASK) | flags; + spin_unlock(&file->f_lock); + + return 0; +} + +static int shiftfs_open(struct inode *inode, struct file *file) +{ + struct file *realfile; + + realfile = shiftfs_open_realfile(file, inode->i_private); + if (IS_ERR(realfile)) + return PTR_ERR(realfile); + + file->private_data = realfile; + /* For O_DIRECT dentry_open() checks f_mapping->a_ops->direct_IO. */ + file->f_mapping = realfile->f_mapping; + + return 0; +} + +static int shiftfs_dir_open(struct inode *inode, struct file *file) +{ + struct file *realfile; + const struct cred *oldcred; + struct dentry *lowerd = file->f_path.dentry->d_fsdata; + struct shiftfs_super_info *info = inode->i_sb->s_fs_info; + struct path realpath = { .mnt = info->mnt, .dentry = lowerd }; + + oldcred = shiftfs_override_creds(file->f_path.dentry->d_sb); + realfile = dentry_open(&realpath, file->f_flags | O_NOATIME, + info->creator_cred); + revert_creds(oldcred); + if (IS_ERR(realfile)) + return PTR_ERR(realfile); + + file->private_data = realfile; + + return 0; +} + +static int shiftfs_release(struct inode *inode, struct file *file) +{ + struct file *realfile = file->private_data; + + if (realfile) + fput(realfile); + + return 0; +} + +static int shiftfs_dir_release(struct inode *inode, struct file *file) +{ + return shiftfs_release(inode, file); +} + +static loff_t shiftfs_dir_llseek(struct file *file, loff_t offset, int whence) +{ + struct file *realfile = file->private_data; + + return vfs_llseek(realfile, offset, whence); +} + +static loff_t shiftfs_file_llseek(struct file *file, loff_t offset, int whence) +{ + struct inode *realinode = file_inode(file)->i_private; + + return generic_file_llseek_size(file, offset, whence, + realinode->i_sb->s_maxbytes, + i_size_read(realinode)); +} + +/* XXX: Need to figure out what to to about atime updates, maybe other + * timestamps too ... ref. ovl_file_accessed() */ + +static rwf_t shiftfs_iocb_to_rwf(struct kiocb *iocb) +{ + int ifl = iocb->ki_flags; + rwf_t flags = 0; + + if (ifl & IOCB_NOWAIT) + flags |= RWF_NOWAIT; + if (ifl & IOCB_HIPRI) + flags |= RWF_HIPRI; + if (ifl & IOCB_DSYNC) + flags |= RWF_DSYNC; + if (ifl & IOCB_SYNC) + flags |= RWF_SYNC; + + return flags; +} + +static int shiftfs_real_fdget(const struct file *file, struct fd *lowerfd) +{ + struct file *realfile; + + if (file->f_op->open != shiftfs_open && + file->f_op->open != shiftfs_dir_open) + return -EINVAL; + + realfile = file->private_data; + lowerfd->flags = 0; + lowerfd->file = realfile; + + /* Did the flags change since open? */ + if (unlikely(file->f_flags & ~lowerfd->file->f_flags)) + return shiftfs_change_flags(lowerfd->file, file->f_flags); + + return 0; +} + +static ssize_t shiftfs_read_iter(struct kiocb *iocb, struct iov_iter *iter) +{ + struct file *file = iocb->ki_filp; + struct fd lowerfd; + const struct cred *oldcred; + ssize_t ret; + + if (!iov_iter_count(iter)) + return 0; + + ret = shiftfs_real_fdget(file, &lowerfd); + if (ret) + return ret; + + oldcred = shiftfs_override_creds(file->f_path.dentry->d_sb); + ret = vfs_iter_read(lowerfd.file, iter, &iocb->ki_pos, + shiftfs_iocb_to_rwf(iocb)); + revert_creds(oldcred); + + shiftfs_file_accessed(file); + + fdput(lowerfd); + return ret; +} + +static ssize_t shiftfs_write_iter(struct kiocb *iocb, struct iov_iter *iter) +{ + struct file *file = iocb->ki_filp; + struct inode *inode = file_inode(file); + struct fd lowerfd; + const struct cred *oldcred; + ssize_t ret; + + if (!iov_iter_count(iter)) + return 0; + + inode_lock(inode); + /* Update mode */ + shiftfs_copyattr(inode->i_private, inode); + ret = file_remove_privs(file); + if (ret) + goto out_unlock; + + ret = shiftfs_real_fdget(file, &lowerfd); + if (ret) + goto out_unlock; + + oldcred = shiftfs_override_creds(file->f_path.dentry->d_sb); + file_start_write(lowerfd.file); + ret = vfs_iter_write(lowerfd.file, iter, &iocb->ki_pos, + shiftfs_iocb_to_rwf(iocb)); + file_end_write(lowerfd.file); + revert_creds(oldcred); + + /* Update size */ + shiftfs_copyattr(inode->i_private, inode); + + fdput(lowerfd); + +out_unlock: + inode_unlock(inode); + return ret; +} + +static int shiftfs_fsync(struct file *file, loff_t start, loff_t end, + int datasync) +{ + struct fd lowerfd; + const struct cred *oldcred; + int ret; + + ret = shiftfs_real_fdget(file, &lowerfd); + if (ret) + return ret; + + oldcred = shiftfs_override_creds(file->f_path.dentry->d_sb); + ret = vfs_fsync_range(lowerfd.file, start, end, datasync); + revert_creds(oldcred); + + fdput(lowerfd); + return ret; +} + +static int shiftfs_mmap(struct file *file, struct vm_area_struct *vma) +{ + struct file *realfile = file->private_data; + const struct cred *oldcred; + int ret; + + if (!realfile->f_op->mmap) + return -ENODEV; + + if (WARN_ON(file != vma->vm_file)) + return -EIO; + + oldcred = shiftfs_override_creds(file->f_path.dentry->d_sb); + vma->vm_file = get_file(realfile); + ret = call_mmap(vma->vm_file, vma); + revert_creds(oldcred); + + shiftfs_file_accessed(file); + + if (ret) { + /* + * Drop refcount from new vm_file value and restore original + * vm_file value + */ + vma->vm_file = file; + fput(realfile); + } else { + /* Drop refcount from previous vm_file value */ + fput(file); + } + + return ret; +} + +static long shiftfs_fallocate(struct file *file, int mode, loff_t offset, + loff_t len) +{ + struct inode *inode = file_inode(file); + struct inode *loweri = inode->i_private; + struct fd lowerfd; + const struct cred *oldcred; + int ret; + + ret = shiftfs_real_fdget(file, &lowerfd); + if (ret) + return ret; + + oldcred = shiftfs_override_creds(file->f_path.dentry->d_sb); + ret = vfs_fallocate(lowerfd.file, mode, offset, len); + revert_creds(oldcred); + + /* Update size */ + shiftfs_copyattr(loweri, inode); + + fdput(lowerfd); + return ret; +} + +static int shiftfs_fadvise(struct file *file, loff_t offset, loff_t len, + int advice) +{ + struct fd lowerfd; + const struct cred *oldcred; + int ret; + + ret = shiftfs_real_fdget(file, &lowerfd); + if (ret) + return ret; + + oldcred = shiftfs_override_creds(file->f_path.dentry->d_sb); + ret = vfs_fadvise(lowerfd.file, offset, len, advice); + revert_creds(oldcred); + + fdput(lowerfd); + return ret; +} + +static int shiftfs_override_ioctl_creds(int cmd, const struct super_block *sb, + const struct cred **oldcred, + struct cred **newcred) +{ + struct shiftfs_super_info *sbinfo = sb->s_fs_info; + kuid_t fsuid = current_fsuid(); + kgid_t fsgid = current_fsgid(); + + *oldcred = shiftfs_override_creds(sb); + + *newcred = prepare_creds(); + if (!*newcred) { + revert_creds(*oldcred); + return -ENOMEM; + } + + (*newcred)->fsuid = shift_kuid(sb->s_user_ns, sbinfo->userns, fsuid); + (*newcred)->fsgid = shift_kgid(sb->s_user_ns, sbinfo->userns, fsgid); + + /* clear all caps to prevent bypassing capable() checks */ + cap_clear((*newcred)->cap_bset); + cap_clear((*newcred)->cap_effective); + cap_clear((*newcred)->cap_inheritable); + cap_clear((*newcred)->cap_permitted); + + if (cmd == BTRFS_IOC_SNAP_DESTROY) { + kuid_t kuid_root = make_kuid(sb->s_user_ns, 0); + /* + * Allow the root user in the container to remove subvolumes + * from other users. + */ + if (uid_valid(kuid_root) && uid_eq(fsuid, kuid_root)) + cap_raise((*newcred)->cap_effective, CAP_DAC_OVERRIDE); + } + + put_cred(override_creds(*newcred)); + return 0; +} + +static inline void shiftfs_revert_ioctl_creds(const struct cred *oldcred, + struct cred *newcred) +{ + return shiftfs_revert_object_creds(oldcred, newcred); +} + +static inline bool is_btrfs_snap_ioctl(int cmd) +{ + if ((cmd == BTRFS_IOC_SNAP_CREATE) || (cmd == BTRFS_IOC_SNAP_CREATE_V2)) + return true; + + return false; +} + +static int shiftfs_btrfs_ioctl_fd_restore(int cmd, int fd, void __user *arg, + struct btrfs_ioctl_vol_args *v1, + struct btrfs_ioctl_vol_args_v2 *v2) +{ + int ret; + + if (!is_btrfs_snap_ioctl(cmd)) + return 0; + + if (cmd == BTRFS_IOC_SNAP_CREATE) + ret = copy_to_user(arg, v1, sizeof(*v1)); + else + ret = copy_to_user(arg, v2, sizeof(*v2)); + + close_fd(fd); + kfree(v1); + kfree(v2); + + return ret ? -EFAULT: 0; +} + +static int shiftfs_btrfs_ioctl_fd_replace(int cmd, void __user *arg, + struct btrfs_ioctl_vol_args **b1, + struct btrfs_ioctl_vol_args_v2 **b2, + int *newfd) +{ + int oldfd, ret; + struct fd src; + struct fd lfd = {}; + struct btrfs_ioctl_vol_args *v1 = NULL; + struct btrfs_ioctl_vol_args_v2 *v2 = NULL; + + *b1 = NULL; + *b2 = NULL; + + if (!is_btrfs_snap_ioctl(cmd)) + return 0; + + if (cmd == BTRFS_IOC_SNAP_CREATE) { + v1 = memdup_user(arg, sizeof(*v1)); + if (IS_ERR(v1)) + return PTR_ERR(v1); + oldfd = v1->fd; + } else { + v2 = memdup_user(arg, sizeof(*v2)); + if (IS_ERR(v2)) + return PTR_ERR(v2); + oldfd = v2->fd; + } + + src = fdget(oldfd); + if (!src.file) { + ret = -EINVAL; + goto err_free; + } + + ret = shiftfs_real_fdget(src.file, &lfd); + if (ret) { + fdput(src); + goto err_free; + } + + /* + * shiftfs_real_fdget() does not take a reference to lfd.file, so + * take a reference here to offset the one which will be put by + * close_fd(), and make sure that reference is put on fdput(lfd). + */ + get_file(lfd.file); + lfd.flags |= FDPUT_FPUT; + fdput(src); + + *newfd = get_unused_fd_flags(lfd.file->f_flags); + if (*newfd < 0) { + fdput(lfd); + ret = *newfd; + goto err_free; + } + + fd_install(*newfd, lfd.file); + + if (cmd == BTRFS_IOC_SNAP_CREATE) { + v1->fd = *newfd; + ret = copy_to_user(arg, v1, sizeof(*v1)); + v1->fd = oldfd; + } else { + v2->fd = *newfd; + ret = copy_to_user(arg, v2, sizeof(*v2)); + v2->fd = oldfd; + } + + if (!ret) { + *b1 = v1; + *b2 = v2; + } else { + shiftfs_btrfs_ioctl_fd_restore(cmd, *newfd, arg, v1, v2); + ret = -EFAULT; + } + + return ret; + +err_free: + kfree(v1); + kfree(v2); + + return ret; +} + +static long shiftfs_real_ioctl(struct file *file, unsigned int cmd, + unsigned long arg) +{ + struct fd lowerfd; + struct cred *newcred; + const struct cred *oldcred; + int newfd = -EBADF; + long err = 0, ret = 0; + void __user *argp = (void __user *)arg; + struct super_block *sb = file->f_path.dentry->d_sb; + struct btrfs_ioctl_vol_args *btrfs_v1 = NULL; + struct btrfs_ioctl_vol_args_v2 *btrfs_v2 = NULL; + + ret = shiftfs_btrfs_ioctl_fd_replace(cmd, argp, &btrfs_v1, &btrfs_v2, + &newfd); + if (ret < 0) + return ret; + + ret = shiftfs_real_fdget(file, &lowerfd); + if (ret) + goto out_restore; + + ret = shiftfs_override_ioctl_creds(cmd, sb, &oldcred, &newcred); + if (ret) + goto out_fdput; + + ret = vfs_ioctl(lowerfd.file, cmd, arg); + + shiftfs_revert_ioctl_creds(oldcred, newcred); + + shiftfs_copyattr(file_inode(lowerfd.file), file_inode(file)); + shiftfs_copyflags(file_inode(lowerfd.file), file_inode(file)); + +out_fdput: + fdput(lowerfd); + +out_restore: + err = shiftfs_btrfs_ioctl_fd_restore(cmd, newfd, argp, + btrfs_v1, btrfs_v2); + if (!ret) + ret = err; + + return ret; +} + +static bool in_ioctl_whitelist(int flag, unsigned long arg) +{ + void __user *argp = (void __user *)arg; + u64 flags = 0; + + switch (flag) { + case BTRFS_IOC_FS_INFO: + return true; + case BTRFS_IOC_SNAP_CREATE: + return true; + case BTRFS_IOC_SNAP_CREATE_V2: + return true; + case BTRFS_IOC_SUBVOL_CREATE: + return true; + case BTRFS_IOC_SUBVOL_CREATE_V2: + return true; + case BTRFS_IOC_SUBVOL_GETFLAGS: + return true; + case BTRFS_IOC_SUBVOL_SETFLAGS: + if (copy_from_user(&flags, argp, sizeof(flags))) + return false; + + if (flags & ~BTRFS_SUBVOL_RDONLY) + return false; + + return true; + case BTRFS_IOC_SNAP_DESTROY: + return true; + } + + return false; +} + +static long shiftfs_ioctl(struct file *file, unsigned int cmd, + unsigned long arg) +{ + switch (cmd) { + case FS_IOC_GETVERSION: + /* fall through */ + case FS_IOC_GETFLAGS: + /* fall through */ + case FS_IOC_SETFLAGS: + break; + default: + if (!in_ioctl_whitelist(cmd, arg) || + !shiftfs_passthrough_ioctls(file->f_path.dentry->d_sb->s_fs_info)) + return -ENOTTY; + } + + return shiftfs_real_ioctl(file, cmd, arg); +} + +static long shiftfs_compat_ioctl(struct file *file, unsigned int cmd, + unsigned long arg) +{ + switch (cmd) { + case FS_IOC32_GETVERSION: + /* fall through */ + case FS_IOC32_GETFLAGS: + /* fall through */ + case FS_IOC32_SETFLAGS: + break; + default: + if (!in_ioctl_whitelist(cmd, arg) || + !shiftfs_passthrough_ioctls(file->f_path.dentry->d_sb->s_fs_info)) + return -ENOIOCTLCMD; + } + + return shiftfs_real_ioctl(file, cmd, arg); +} + +enum shiftfs_copyop { + SHIFTFS_COPY, + SHIFTFS_CLONE, + SHIFTFS_DEDUPE, +}; + +static ssize_t shiftfs_copyfile(struct file *file_in, loff_t pos_in, + struct file *file_out, loff_t pos_out, u64 len, + unsigned int flags, enum shiftfs_copyop op) +{ + ssize_t ret; + struct fd real_in, real_out; + const struct cred *oldcred; + struct inode *inode_out = file_inode(file_out); + struct inode *loweri = inode_out->i_private; + + ret = shiftfs_real_fdget(file_out, &real_out); + if (ret) + return ret; + + ret = shiftfs_real_fdget(file_in, &real_in); + if (ret) { + fdput(real_out); + return ret; + } + + oldcred = shiftfs_override_creds(inode_out->i_sb); + switch (op) { + case SHIFTFS_COPY: + ret = vfs_copy_file_range(real_in.file, pos_in, real_out.file, + pos_out, len, flags); + break; + + case SHIFTFS_CLONE: + ret = vfs_clone_file_range(real_in.file, pos_in, real_out.file, + pos_out, len, flags); + break; + + case SHIFTFS_DEDUPE: + ret = vfs_dedupe_file_range_one(real_in.file, pos_in, + real_out.file, pos_out, len, + flags); + break; + } + revert_creds(oldcred); + + /* Update size */ + shiftfs_copyattr(loweri, inode_out); + + fdput(real_in); + fdput(real_out); + + return ret; +} + +static ssize_t shiftfs_copy_file_range(struct file *file_in, loff_t pos_in, + struct file *file_out, loff_t pos_out, + size_t len, unsigned int flags) +{ + return shiftfs_copyfile(file_in, pos_in, file_out, pos_out, len, flags, + SHIFTFS_COPY); +} + +static loff_t shiftfs_remap_file_range(struct file *file_in, loff_t pos_in, + struct file *file_out, loff_t pos_out, + loff_t len, unsigned int remap_flags) +{ + enum shiftfs_copyop op; + + if (remap_flags & ~(REMAP_FILE_DEDUP | REMAP_FILE_ADVISORY)) + return -EINVAL; + + if (remap_flags & REMAP_FILE_DEDUP) + op = SHIFTFS_DEDUPE; + else + op = SHIFTFS_CLONE; + + return shiftfs_copyfile(file_in, pos_in, file_out, pos_out, len, + remap_flags, op); +} + +static int shiftfs_iterate_shared(struct file *file, struct dir_context *ctx) +{ + const struct cred *oldcred; + int err = -ENOTDIR; + struct file *realfile = file->private_data; + + oldcred = shiftfs_override_creds(file->f_path.dentry->d_sb); + err = iterate_dir(realfile, ctx); + revert_creds(oldcred); + + return err; +} + +const struct file_operations shiftfs_file_operations = { + .open = shiftfs_open, + .release = shiftfs_release, + .llseek = shiftfs_file_llseek, + .read_iter = shiftfs_read_iter, + .write_iter = shiftfs_write_iter, + .fsync = shiftfs_fsync, + .mmap = shiftfs_mmap, + .fallocate = shiftfs_fallocate, + .fadvise = shiftfs_fadvise, + .unlocked_ioctl = shiftfs_ioctl, + .compat_ioctl = shiftfs_compat_ioctl, + .copy_file_range = shiftfs_copy_file_range, + .remap_file_range = shiftfs_remap_file_range, + .splice_read = generic_file_splice_read, + .splice_write = iter_file_splice_write, +}; + +const struct file_operations shiftfs_dir_operations = { + .open = shiftfs_dir_open, + .release = shiftfs_dir_release, + .compat_ioctl = shiftfs_compat_ioctl, + .fsync = shiftfs_fsync, + .iterate_shared = shiftfs_iterate_shared, + .llseek = shiftfs_dir_llseek, + .read = generic_read_dir, + .unlocked_ioctl = shiftfs_ioctl, +}; + +static const struct address_space_operations shiftfs_aops = { + /* For O_DIRECT dentry_open() checks f_mapping->a_ops->direct_IO */ + .direct_IO = noop_direct_IO, +}; + +static void shiftfs_fill_inode(struct inode *inode, unsigned long ino, + umode_t mode, dev_t dev, struct dentry *dentry) +{ + struct inode *loweri; + + inode->i_ino = ino; + inode->i_flags |= S_NOCMTIME; + + mode &= S_IFMT; + inode->i_mode = mode; + switch (mode & S_IFMT) { + case S_IFDIR: + inode->i_op = &shiftfs_dir_inode_operations; + inode->i_fop = &shiftfs_dir_operations; + break; + case S_IFLNK: + inode->i_op = &shiftfs_symlink_inode_operations; + break; + case S_IFREG: + inode->i_op = &shiftfs_file_inode_operations; + inode->i_fop = &shiftfs_file_operations; + inode->i_mapping->a_ops = &shiftfs_aops; + break; + default: + inode->i_op = &shiftfs_special_inode_operations; + init_special_inode(inode, mode, dev); + break; + } + + if (!dentry) + return; + + loweri = dentry->d_inode; + if (!loweri->i_op->get_link) + inode->i_opflags |= IOP_NOFOLLOW; + + shiftfs_copyattr(loweri, inode); + shiftfs_copyflags(loweri, inode); + set_nlink(inode, loweri->i_nlink); +} + +static int shiftfs_show_options(struct seq_file *m, struct dentry *dentry) +{ + struct super_block *sb = dentry->d_sb; + struct shiftfs_super_info *sbinfo = sb->s_fs_info; + + if (sbinfo->mark) + seq_show_option(m, "mark", NULL); + + if (sbinfo->passthrough) + seq_printf(m, ",passthrough=%u", sbinfo->passthrough); + + return 0; +} + +static int shiftfs_statfs(struct dentry *dentry, struct kstatfs *buf) +{ + struct super_block *sb = dentry->d_sb; + struct shiftfs_super_info *sbinfo = sb->s_fs_info; + struct dentry *root = sb->s_root; + struct dentry *realroot = root->d_fsdata; + struct path realpath = { .mnt = sbinfo->mnt, .dentry = realroot }; + int err; + + err = vfs_statfs(&realpath, buf); + if (err) + return err; + + if (!shiftfs_passthrough_statfs(sbinfo)) + buf->f_type = sb->s_magic; + + return 0; +} + +static void shiftfs_evict_inode(struct inode *inode) +{ + struct inode *loweri = inode->i_private; + + clear_inode(inode); + + if (loweri) + iput(loweri); +} + +static void shiftfs_put_super(struct super_block *sb) +{ + struct shiftfs_super_info *sbinfo = sb->s_fs_info; + + if (sbinfo) { + mntput(sbinfo->mnt); + put_cred(sbinfo->creator_cred); + kfree(sbinfo); + } +} + +static const struct xattr_handler shiftfs_xattr_handler = { + .prefix = "", + .get = shiftfs_xattr_get, + .set = shiftfs_xattr_set, +}; + +const struct xattr_handler *shiftfs_xattr_handlers[] = { +#ifdef CONFIG_SHIFT_FS_POSIX_ACL + &shiftfs_posix_acl_access_xattr_handler, + &shiftfs_posix_acl_default_xattr_handler, +#endif + &shiftfs_xattr_handler, + NULL +}; + +static inline bool passthrough_is_subset(int old_flags, int new_flags) +{ + if ((new_flags & old_flags) != new_flags) + return false; + + return true; +} + +static int shiftfs_super_check_flags(unsigned long old_flags, + unsigned long new_flags) +{ + if ((old_flags & SB_RDONLY) && !(new_flags & SB_RDONLY)) + return -EPERM; + + if ((old_flags & SB_NOSUID) && !(new_flags & SB_NOSUID)) + return -EPERM; + + if ((old_flags & SB_NODEV) && !(new_flags & SB_NODEV)) + return -EPERM; + + if ((old_flags & SB_NOEXEC) && !(new_flags & SB_NOEXEC)) + return -EPERM; + + if ((old_flags & SB_NOATIME) && !(new_flags & SB_NOATIME)) + return -EPERM; + + if ((old_flags & SB_NODIRATIME) && !(new_flags & SB_NODIRATIME)) + return -EPERM; + + if (!(old_flags & SB_POSIXACL) && (new_flags & SB_POSIXACL)) + return -EPERM; + + return 0; +} + +static int shiftfs_remount(struct super_block *sb, int *flags, char *data) +{ + int err; + struct shiftfs_super_info new = {}; + struct shiftfs_super_info *info = sb->s_fs_info; + + err = shiftfs_parse_mount_options(&new, data); + if (err) + return err; + + err = shiftfs_super_check_flags(sb->s_flags, *flags); + if (err) + return err; + + /* Mark mount option cannot be changed. */ + if (info->mark || (info->mark != new.mark)) + return -EPERM; + + if (info->passthrough != new.passthrough) { + /* Don't allow exceeding passthrough options of mark mount. */ + if (!passthrough_is_subset(info->passthrough_mark, + info->passthrough)) + return -EPERM; + + info->passthrough = new.passthrough; + } + + return 0; +} + +static const struct super_operations shiftfs_super_ops = { + .put_super = shiftfs_put_super, + .show_options = shiftfs_show_options, + .statfs = shiftfs_statfs, + .remount_fs = shiftfs_remount, + .evict_inode = shiftfs_evict_inode, +}; + +struct shiftfs_data { + void *data; + const char *path; +}; + +static void shiftfs_super_force_flags(struct super_block *sb, + unsigned long lower_flags) +{ + sb->s_flags |= lower_flags & (SB_RDONLY | SB_NOSUID | SB_NODEV | + SB_NOEXEC | SB_NOATIME | SB_NODIRATIME); + + if (!(lower_flags & SB_POSIXACL)) + sb->s_flags &= ~SB_POSIXACL; +} + +static int shiftfs_fill_super(struct super_block *sb, void *raw_data, + int silent) +{ + int err; + struct path path = {}; + struct shiftfs_super_info *sbinfo_mp; + char *name = NULL; + struct inode *inode = NULL; + struct dentry *dentry = NULL; + struct shiftfs_data *data = raw_data; + struct shiftfs_super_info *sbinfo = NULL; + + if (!data->path) + return -EINVAL; + + sb->s_fs_info = kzalloc(sizeof(*sbinfo), GFP_KERNEL); + if (!sb->s_fs_info) + return -ENOMEM; + sbinfo = sb->s_fs_info; + + err = shiftfs_parse_mount_options(sbinfo, data->data); + if (err) + return err; + + /* to mount a mark, must be userns admin */ + if (!sbinfo->mark && !ns_capable(current_user_ns(), CAP_SYS_ADMIN)) + return -EPERM; + + name = kstrdup(data->path, GFP_KERNEL); + if (!name) + return -ENOMEM; + + err = kern_path(name, LOOKUP_FOLLOW, &path); + if (err) + goto out_free_name; + + if (!S_ISDIR(path.dentry->d_inode->i_mode)) { + err = -ENOTDIR; + goto out_put_path; + } + + /* + * It makes no sense to handle idmapped layers from shiftfs. + * And we didn't support it properly anyway. + */ + if (is_idmapped_mnt(path.mnt)) { + err = -EINVAL; + pr_err("idmapped layers are currently not supported\n"); + goto out_put_path; + } + + sb->s_flags |= SB_POSIXACL; + + if (sbinfo->mark) { + struct cred *cred_tmp; + struct super_block *lower_sb = path.mnt->mnt_sb; + + /* to mark a mount point, must root wrt lower s_user_ns */ + if (!ns_capable(lower_sb->s_user_ns, CAP_SYS_ADMIN)) { + err = -EPERM; + goto out_put_path; + } + + /* + * this part is visible unshifted, so make sure no + * executables that could be used to give suid + * privileges + */ + sb->s_iflags = SB_I_NOEXEC; + + shiftfs_super_force_flags(sb, lower_sb->s_flags); + + /* + * Handle nesting of shiftfs mounts by referring this mark + * mount back to the original mark mount. This is more + * efficient and alleviates concerns about stack depth. + */ + if (lower_sb->s_magic == SHIFTFS_MAGIC) { + sbinfo_mp = lower_sb->s_fs_info; + + /* Doesn't make sense to mark a mark mount */ + if (sbinfo_mp->mark) { + err = -EINVAL; + goto out_put_path; + } + + if (!passthrough_is_subset(sbinfo_mp->passthrough, + sbinfo->passthrough)) { + err = -EPERM; + goto out_put_path; + } + + sbinfo->mnt = mntget(sbinfo_mp->mnt); + dentry = dget(path.dentry->d_fsdata); + /* + * Copy up the passthrough mount options from the + * parent mark mountpoint. + */ + sbinfo->passthrough_mark = sbinfo_mp->passthrough_mark; + sbinfo->creator_cred = get_cred(sbinfo_mp->creator_cred); + } else { + sbinfo->mnt = mntget(path.mnt); + dentry = dget(path.dentry); + /* + * For a new mark passthrough_mark and passthrough + * are identical. + */ + sbinfo->passthrough_mark = sbinfo->passthrough; + + cred_tmp = prepare_creds(); + if (!cred_tmp) { + err = -ENOMEM; + goto out_put_path; + } + /* Don't override disk quota limits or use reserved space. */ + cap_lower(cred_tmp->cap_effective, CAP_SYS_RESOURCE); + sbinfo->creator_cred = cred_tmp; + } + } else { + /* + * This leg executes if we're admin capable in the namespace, + * so be very careful. + */ + err = -EPERM; + if (path.dentry->d_sb->s_magic != SHIFTFS_MAGIC) + goto out_put_path; + + sbinfo_mp = path.dentry->d_sb->s_fs_info; + if (!sbinfo_mp->mark) + goto out_put_path; + + if (!passthrough_is_subset(sbinfo_mp->passthrough, + sbinfo->passthrough)) + goto out_put_path; + + sbinfo->mnt = mntget(sbinfo_mp->mnt); + sbinfo->creator_cred = get_cred(sbinfo_mp->creator_cred); + dentry = dget(path.dentry->d_fsdata); + /* + * Copy up passthrough settings from mark mountpoint so we can + * verify when the overlay wants to remount with different + * passthrough settings. + */ + sbinfo->passthrough_mark = sbinfo_mp->passthrough; + shiftfs_super_force_flags(sb, path.mnt->mnt_sb->s_flags); + } + + sb->s_stack_depth = dentry->d_sb->s_stack_depth + 1; + if (sb->s_stack_depth > FILESYSTEM_MAX_STACK_DEPTH) { + printk(KERN_ERR "shiftfs: maximum stacking depth exceeded\n"); + err = -EINVAL; + goto out_put_path; + } + + inode = new_inode(sb); + if (!inode) { + err = -ENOMEM; + goto out_put_path; + } + shiftfs_fill_inode(inode, dentry->d_inode->i_ino, S_IFDIR, 0, dentry); + + ihold(dentry->d_inode); + inode->i_private = dentry->d_inode; + + sb->s_magic = SHIFTFS_MAGIC; + sb->s_maxbytes = MAX_LFS_FILESIZE; + sb->s_op = &shiftfs_super_ops; + sb->s_xattr = shiftfs_xattr_handlers; + sb->s_d_op = &shiftfs_dentry_ops; + sb->s_root = d_make_root(inode); + if (!sb->s_root) { + err = -ENOMEM; + goto out_put_path; + } + + sb->s_root->d_fsdata = dentry; + sbinfo->userns = get_user_ns(dentry->d_sb->s_user_ns); + shiftfs_copyattr(dentry->d_inode, sb->s_root->d_inode); + + dentry = NULL; + err = 0; + +out_put_path: + path_put(&path); + +out_free_name: + kfree(name); + + dput(dentry); + + return err; +} + +static struct dentry *shiftfs_mount(struct file_system_type *fs_type, + int flags, const char *dev_name, void *data) +{ + struct shiftfs_data d = { data, dev_name }; + + return mount_nodev(fs_type, flags, &d, shiftfs_fill_super); +} + +static struct file_system_type shiftfs_type = { + .owner = THIS_MODULE, + .name = "shiftfs", + .mount = shiftfs_mount, + .kill_sb = kill_anon_super, + .fs_flags = FS_USERNS_MOUNT, +}; + +static int __init shiftfs_init(void) +{ + return register_filesystem(&shiftfs_type); +} + +static void __exit shiftfs_exit(void) +{ + unregister_filesystem(&shiftfs_type); +} + +MODULE_ALIAS_FS("shiftfs"); +MODULE_AUTHOR("James Bottomley"); +MODULE_AUTHOR("Seth Forshee "); +MODULE_AUTHOR("Christian Brauner "); +MODULE_DESCRIPTION("id shifting filesystem"); +MODULE_LICENSE("GPL v2"); +module_init(shiftfs_init) +module_exit(shiftfs_exit) --- linux-gcp-5.19.0.orig/fs/squashfs/squashfs_fs.h +++ linux-gcp-5.19.0/fs/squashfs/squashfs_fs.h @@ -183,7 +183,7 @@ #define SQUASHFS_ID_BLOCK_BYTES(A) (SQUASHFS_ID_BLOCKS(A) *\ sizeof(u64)) /* xattr id lookup table defines */ -#define SQUASHFS_XATTR_BYTES(A) ((A) * sizeof(struct squashfs_xattr_id)) +#define SQUASHFS_XATTR_BYTES(A) (((u64) (A)) * sizeof(struct squashfs_xattr_id)) #define SQUASHFS_XATTR_BLOCK(A) (SQUASHFS_XATTR_BYTES(A) / \ SQUASHFS_METADATA_SIZE) --- linux-gcp-5.19.0.orig/fs/squashfs/squashfs_fs_sb.h +++ linux-gcp-5.19.0/fs/squashfs/squashfs_fs_sb.h @@ -63,7 +63,7 @@ long long bytes_used; unsigned int inodes; unsigned int fragments; - int xattr_ids; + unsigned int xattr_ids; unsigned int ids; bool panic_on_errors; }; --- linux-gcp-5.19.0.orig/fs/squashfs/xattr.h +++ linux-gcp-5.19.0/fs/squashfs/xattr.h @@ -10,12 +10,12 @@ #ifdef CONFIG_SQUASHFS_XATTR extern __le64 *squashfs_read_xattr_id_table(struct super_block *, u64, - u64 *, int *); + u64 *, unsigned int *); extern int squashfs_xattr_lookup(struct super_block *, unsigned int, int *, unsigned int *, unsigned long long *); #else static inline __le64 *squashfs_read_xattr_id_table(struct super_block *sb, - u64 start, u64 *xattr_table_start, int *xattr_ids) + u64 start, u64 *xattr_table_start, unsigned int *xattr_ids) { struct squashfs_xattr_id_table *id_table; --- linux-gcp-5.19.0.orig/fs/squashfs/xattr_id.c +++ linux-gcp-5.19.0/fs/squashfs/xattr_id.c @@ -56,7 +56,7 @@ * Read uncompressed xattr id lookup table indexes from disk into memory */ __le64 *squashfs_read_xattr_id_table(struct super_block *sb, u64 table_start, - u64 *xattr_table_start, int *xattr_ids) + u64 *xattr_table_start, unsigned int *xattr_ids) { struct squashfs_sb_info *msblk = sb->s_fs_info; unsigned int len, indexes; --- linux-gcp-5.19.0.orig/fs/super.c +++ linux-gcp-5.19.0/fs/super.c @@ -291,7 +291,7 @@ WARN_ON(s->s_inode_lru.node); WARN_ON(!list_empty(&s->s_mounts)); security_sb_free(s); - fscrypt_sb_free(s); + fscrypt_destroy_keyring(s); put_user_ns(s->s_user_ns); kfree(s->s_subtype); call_rcu(&s->rcu, destroy_super_rcu); @@ -451,6 +451,7 @@ evict_inodes(sb); /* only nonzero refcount inodes can have marks */ fsnotify_sb_delete(sb); + fscrypt_destroy_keyring(sb); security_sb_delete(sb); if (sb->s_dio_done_wq) { --- linux-gcp-5.19.0.orig/fs/sysv/itree.c +++ linux-gcp-5.19.0/fs/sysv/itree.c @@ -438,7 +438,7 @@ res += blocks; direct = 1; } - return blocks; + return res; } int sysv_getattr(struct user_namespace *mnt_userns, const struct path *path, --- linux-gcp-5.19.0.orig/fs/tracefs/inode.c +++ linux-gcp-5.19.0/fs/tracefs/inode.c @@ -141,6 +141,8 @@ kuid_t uid; kgid_t gid; umode_t mode; + /* Opt_* bitfield. */ + unsigned int opts; }; enum { @@ -241,6 +243,7 @@ kgid_t gid; char *p; + opts->opts = 0; opts->mode = TRACEFS_DEFAULT_MODE; while ((p = strsep(&data, ",")) != NULL) { @@ -275,24 +278,36 @@ * but traditionally tracefs has ignored all mount options */ } + + opts->opts |= BIT(token); } return 0; } -static int tracefs_apply_options(struct super_block *sb) +static int tracefs_apply_options(struct super_block *sb, bool remount) { struct tracefs_fs_info *fsi = sb->s_fs_info; struct inode *inode = d_inode(sb->s_root); struct tracefs_mount_opts *opts = &fsi->mount_opts; - inode->i_mode &= ~S_IALLUGO; - inode->i_mode |= opts->mode; + /* + * On remount, only reset mode/uid/gid if they were provided as mount + * options. + */ + + if (!remount || opts->opts & BIT(Opt_mode)) { + inode->i_mode &= ~S_IALLUGO; + inode->i_mode |= opts->mode; + } - inode->i_uid = opts->uid; + if (!remount || opts->opts & BIT(Opt_uid)) + inode->i_uid = opts->uid; - /* Set all the group ids to the mount option */ - set_gid(sb->s_root, opts->gid); + if (!remount || opts->opts & BIT(Opt_gid)) { + /* Set all the group ids to the mount option */ + set_gid(sb->s_root, opts->gid); + } return 0; } @@ -307,7 +322,7 @@ if (err) goto fail; - tracefs_apply_options(sb); + tracefs_apply_options(sb, true); fail: return err; @@ -359,7 +374,7 @@ sb->s_op = &tracefs_super_operations; - tracefs_apply_options(sb); + tracefs_apply_options(sb, false); return 0; --- linux-gcp-5.19.0.orig/fs/udf/file.c +++ linux-gcp-5.19.0/fs/udf/file.c @@ -149,26 +149,24 @@ goto out; down_write(&iinfo->i_data_sem); - if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) { - loff_t end = iocb->ki_pos + iov_iter_count(from); - - if (inode->i_sb->s_blocksize < - (udf_file_entry_alloc_offset(inode) + end)) { - err = udf_expand_file_adinicb(inode); - if (err) { - inode_unlock(inode); - udf_debug("udf_expand_adinicb: err=%d\n", err); - return err; - } - } else { - iinfo->i_lenAlloc = max(end, inode->i_size); - up_write(&iinfo->i_data_sem); + if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB && + inode->i_sb->s_blocksize < (udf_file_entry_alloc_offset(inode) + + iocb->ki_pos + iov_iter_count(from))) { + err = udf_expand_file_adinicb(inode); + if (err) { + inode_unlock(inode); + udf_debug("udf_expand_adinicb: err=%d\n", err); + return err; } } else up_write(&iinfo->i_data_sem); retval = __generic_file_write_iter(iocb, from); out: + down_write(&iinfo->i_data_sem); + if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB && retval > 0) + iinfo->i_lenAlloc = inode->i_size; + up_write(&iinfo->i_data_sem); inode_unlock(inode); if (retval > 0) { --- linux-gcp-5.19.0.orig/fs/udf/inode.c +++ linux-gcp-5.19.0/fs/udf/inode.c @@ -439,6 +439,12 @@ iinfo->i_next_alloc_goal++; } + /* + * Block beyond EOF and prealloc extents? Just discard preallocation + * as it is not useful and complicates things. + */ + if (((loff_t)block) << inode->i_blkbits > iinfo->i_lenExtents) + udf_discard_prealloc(inode); udf_clear_extent_cache(inode); phys = inode_getblk(inode, block, &err, &new); if (!phys) @@ -488,8 +494,6 @@ uint32_t add; int count = 0, fake = !(last_ext->extLength & UDF_EXTENT_LENGTH_MASK); struct super_block *sb = inode->i_sb; - struct kernel_lb_addr prealloc_loc = {}; - uint32_t prealloc_len = 0; struct udf_inode_info *iinfo; int err; @@ -510,19 +514,6 @@ ~(sb->s_blocksize - 1); } - /* Last extent are just preallocated blocks? */ - if ((last_ext->extLength & UDF_EXTENT_FLAG_MASK) == - EXT_NOT_RECORDED_ALLOCATED) { - /* Save the extent so that we can reattach it to the end */ - prealloc_loc = last_ext->extLocation; - prealloc_len = last_ext->extLength; - /* Mark the extent as a hole */ - last_ext->extLength = EXT_NOT_RECORDED_NOT_ALLOCATED | - (last_ext->extLength & UDF_EXTENT_LENGTH_MASK); - last_ext->extLocation.logicalBlockNum = 0; - last_ext->extLocation.partitionReferenceNum = 0; - } - /* Can we merge with the previous extent? */ if ((last_ext->extLength & UDF_EXTENT_FLAG_MASK) == EXT_NOT_RECORDED_NOT_ALLOCATED) { @@ -535,8 +526,10 @@ } if (fake) { - udf_add_aext(inode, last_pos, &last_ext->extLocation, - last_ext->extLength, 1); + err = udf_add_aext(inode, last_pos, &last_ext->extLocation, + last_ext->extLength, 1); + if (err < 0) + goto out_err; count++; } else { struct kernel_lb_addr tmploc; @@ -550,7 +543,7 @@ * more extents, we may need to enter possible following * empty indirect extent. */ - if (new_block_bytes || prealloc_len) + if (new_block_bytes) udf_next_aext(inode, last_pos, &tmploc, &tmplen, 0); } @@ -570,7 +563,7 @@ err = udf_add_aext(inode, last_pos, &last_ext->extLocation, last_ext->extLength, 1); if (err) - return err; + goto out_err; count++; } if (new_block_bytes) { @@ -579,22 +572,11 @@ err = udf_add_aext(inode, last_pos, &last_ext->extLocation, last_ext->extLength, 1); if (err) - return err; + goto out_err; count++; } out: - /* Do we have some preallocated blocks saved? */ - if (prealloc_len) { - err = udf_add_aext(inode, last_pos, &prealloc_loc, - prealloc_len, 1); - if (err) - return err; - last_ext->extLocation = prealloc_loc; - last_ext->extLength = prealloc_len; - count++; - } - /* last_pos should point to the last written extent... */ if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_SHORT) last_pos->offset -= sizeof(struct short_ad); @@ -604,19 +586,28 @@ return -EIO; return count; +out_err: + /* Remove extents we've created so far */ + udf_clear_extent_cache(inode); + udf_truncate_extents(inode); + return err; } /* Extend the final block of the file to final_block_len bytes */ static void udf_do_extend_final_block(struct inode *inode, struct extent_position *last_pos, struct kernel_long_ad *last_ext, - uint32_t final_block_len) + uint32_t new_elen) { - struct super_block *sb = inode->i_sb; uint32_t added_bytes; - added_bytes = final_block_len - - (last_ext->extLength & (sb->s_blocksize - 1)); + /* + * Extent already large enough? It may be already rounded up to block + * size... + */ + if (new_elen <= (last_ext->extLength & UDF_EXTENT_LENGTH_MASK)) + return; + added_bytes = new_elen - (last_ext->extLength & UDF_EXTENT_LENGTH_MASK); last_ext->extLength += added_bytes; UDF_I(inode)->i_lenExtents += added_bytes; @@ -633,12 +624,12 @@ int8_t etype; struct super_block *sb = inode->i_sb; sector_t first_block = newsize >> sb->s_blocksize_bits, offset; - unsigned long partial_final_block; + loff_t new_elen; int adsize; struct udf_inode_info *iinfo = UDF_I(inode); struct kernel_long_ad extent; int err = 0; - int within_final_block; + bool within_last_ext; if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_SHORT) adsize = sizeof(struct short_ad); @@ -647,8 +638,17 @@ else BUG(); + /* + * When creating hole in file, just don't bother with preserving + * preallocation. It likely won't be very useful anyway. + */ + udf_discard_prealloc(inode); + etype = inode_bmap(inode, first_block, &epos, &eloc, &elen, &offset); - within_final_block = (etype != -1); + within_last_ext = (etype != -1); + /* We don't expect extents past EOF... */ + WARN_ON_ONCE(within_last_ext && + elen > ((loff_t)offset + 1) << inode->i_blkbits); if ((!epos.bh && epos.offset == udf_file_entry_alloc_offset(inode)) || (epos.bh && epos.offset == sizeof(struct allocExtDesc))) { @@ -664,19 +664,17 @@ extent.extLength |= etype << 30; } - partial_final_block = newsize & (sb->s_blocksize - 1); + new_elen = ((loff_t)offset << inode->i_blkbits) | + (newsize & (sb->s_blocksize - 1)); /* File has extent covering the new size (could happen when extending * inside a block)? */ - if (within_final_block) { + if (within_last_ext) { /* Extending file within the last file block */ - udf_do_extend_final_block(inode, &epos, &extent, - partial_final_block); + udf_do_extend_final_block(inode, &epos, &extent, new_elen); } else { - loff_t add = ((loff_t)offset << sb->s_blocksize_bits) | - partial_final_block; - err = udf_do_extend_file(inode, &epos, &extent, add); + err = udf_do_extend_file(inode, &epos, &extent, new_elen); } if (err < 0) @@ -777,10 +775,11 @@ goto out_free; } - /* Are we beyond EOF? */ + /* Are we beyond EOF and preallocated extent? */ if (etype == -1) { int ret; loff_t hole_len; + isBeyondEOF = true; if (count) { if (c) @@ -806,19 +805,17 @@ c = 0; offset = 0; count += ret; - /* We are not covered by a preallocated extent? */ - if ((laarr[0].extLength & UDF_EXTENT_FLAG_MASK) != - EXT_NOT_RECORDED_ALLOCATED) { - /* Is there any real extent? - otherwise we overwrite - * the fake one... */ - if (count) - c = !c; - laarr[c].extLength = EXT_NOT_RECORDED_NOT_ALLOCATED | - inode->i_sb->s_blocksize; - memset(&laarr[c].extLocation, 0x00, - sizeof(struct kernel_lb_addr)); - count++; - } + /* + * Is there any real extent? - otherwise we overwrite the fake + * one... + */ + if (count) + c = !c; + laarr[c].extLength = EXT_NOT_RECORDED_NOT_ALLOCATED | + inode->i_sb->s_blocksize; + memset(&laarr[c].extLocation, 0x00, + sizeof(struct kernel_lb_addr)); + count++; endnum = c + 1; lastblock = 1; } else { @@ -1095,23 +1092,8 @@ blocksize - 1) >> blocksize_bits)))) { if (((li->extLength & UDF_EXTENT_LENGTH_MASK) + - (lip1->extLength & UDF_EXTENT_LENGTH_MASK) + - blocksize - 1) & ~UDF_EXTENT_LENGTH_MASK) { - lip1->extLength = (lip1->extLength - - (li->extLength & - UDF_EXTENT_LENGTH_MASK) + - UDF_EXTENT_LENGTH_MASK) & - ~(blocksize - 1); - li->extLength = (li->extLength & - UDF_EXTENT_FLAG_MASK) + - (UDF_EXTENT_LENGTH_MASK + 1) - - blocksize; - lip1->extLocation.logicalBlockNum = - li->extLocation.logicalBlockNum + - ((li->extLength & - UDF_EXTENT_LENGTH_MASK) >> - blocksize_bits); - } else { + (lip1->extLength & UDF_EXTENT_LENGTH_MASK) + + blocksize - 1) <= UDF_EXTENT_LENGTH_MASK) { li->extLength = lip1->extLength + (((li->extLength & UDF_EXTENT_LENGTH_MASK) + @@ -1402,6 +1384,7 @@ ret = -EIO; goto out; } + iinfo->i_hidden = hidden_inode; iinfo->i_unique = 0; iinfo->i_lenEAttr = 0; iinfo->i_lenExtents = 0; @@ -1737,8 +1720,12 @@ if (S_ISDIR(inode->i_mode) && inode->i_nlink > 0) fe->fileLinkCount = cpu_to_le16(inode->i_nlink - 1); - else - fe->fileLinkCount = cpu_to_le16(inode->i_nlink); + else { + if (iinfo->i_hidden) + fe->fileLinkCount = cpu_to_le16(0); + else + fe->fileLinkCount = cpu_to_le16(inode->i_nlink); + } fe->informationLength = cpu_to_le64(inode->i_size); @@ -1909,8 +1896,13 @@ if (!inode) return ERR_PTR(-ENOMEM); - if (!(inode->i_state & I_NEW)) + if (!(inode->i_state & I_NEW)) { + if (UDF_I(inode)->i_hidden != hidden_inode) { + iput(inode); + return ERR_PTR(-EFSCORRUPTED); + } return inode; + } memcpy(&UDF_I(inode)->i_location, ino, sizeof(struct kernel_lb_addr)); err = udf_read_inode(inode, hidden_inode); --- linux-gcp-5.19.0.orig/fs/udf/namei.c +++ linux-gcp-5.19.0/fs/udf/namei.c @@ -240,7 +240,7 @@ poffset - lfi); else { if (!copy_name) { - copy_name = kmalloc(UDF_NAME_LEN, + copy_name = kmalloc(UDF_NAME_LEN_CS0, GFP_NOFS); if (!copy_name) { fi = ERR_PTR(-ENOMEM); @@ -1091,8 +1091,9 @@ return -EINVAL; ofi = udf_find_entry(old_dir, &old_dentry->d_name, &ofibh, &ocfi); - if (IS_ERR(ofi)) { - retval = PTR_ERR(ofi); + if (!ofi || IS_ERR(ofi)) { + if (IS_ERR(ofi)) + retval = PTR_ERR(ofi); goto end_rename; } @@ -1101,8 +1102,7 @@ brelse(ofibh.sbh); tloc = lelb_to_cpu(ocfi.icb.extLocation); - if (!ofi || udf_get_lb_pblock(old_dir->i_sb, &tloc, 0) - != old_inode->i_ino) + if (udf_get_lb_pblock(old_dir->i_sb, &tloc, 0) != old_inode->i_ino) goto end_rename; nfi = udf_find_entry(new_dir, &new_dentry->d_name, &nfibh, &ncfi); --- linux-gcp-5.19.0.orig/fs/udf/super.c +++ linux-gcp-5.19.0/fs/udf/super.c @@ -147,6 +147,7 @@ ei->i_next_alloc_goal = 0; ei->i_strat4096 = 0; ei->i_streamdir = 0; + ei->i_hidden = 0; init_rwsem(&ei->i_data_sem); ei->cached_extent.lstart = -1; spin_lock_init(&ei->i_extent_cache_lock); --- linux-gcp-5.19.0.orig/fs/udf/truncate.c +++ linux-gcp-5.19.0/fs/udf/truncate.c @@ -120,60 +120,42 @@ void udf_discard_prealloc(struct inode *inode) { - struct extent_position epos = { NULL, 0, {0, 0} }; + struct extent_position epos = {}; + struct extent_position prev_epos = {}; struct kernel_lb_addr eloc; uint32_t elen; uint64_t lbcount = 0; int8_t etype = -1, netype; - int adsize; struct udf_inode_info *iinfo = UDF_I(inode); + int bsize = 1 << inode->i_blkbits; if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB || - inode->i_size == iinfo->i_lenExtents) + ALIGN(inode->i_size, bsize) == ALIGN(iinfo->i_lenExtents, bsize)) return; - if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_SHORT) - adsize = sizeof(struct short_ad); - else if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_LONG) - adsize = sizeof(struct long_ad); - else - adsize = 0; - epos.block = iinfo->i_location; /* Find the last extent in the file */ - while ((netype = udf_next_aext(inode, &epos, &eloc, &elen, 1)) != -1) { - etype = netype; + while ((netype = udf_next_aext(inode, &epos, &eloc, &elen, 0)) != -1) { + brelse(prev_epos.bh); + prev_epos = epos; + if (prev_epos.bh) + get_bh(prev_epos.bh); + + etype = udf_next_aext(inode, &epos, &eloc, &elen, 1); lbcount += elen; } if (etype == (EXT_NOT_RECORDED_ALLOCATED >> 30)) { - epos.offset -= adsize; lbcount -= elen; - extent_trunc(inode, &epos, &eloc, etype, elen, 0); - if (!epos.bh) { - iinfo->i_lenAlloc = - epos.offset - - udf_file_entry_alloc_offset(inode); - mark_inode_dirty(inode); - } else { - struct allocExtDesc *aed = - (struct allocExtDesc *)(epos.bh->b_data); - aed->lengthAllocDescs = - cpu_to_le32(epos.offset - - sizeof(struct allocExtDesc)); - if (!UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_STRICT) || - UDF_SB(inode->i_sb)->s_udfrev >= 0x0201) - udf_update_tag(epos.bh->b_data, epos.offset); - else - udf_update_tag(epos.bh->b_data, - sizeof(struct allocExtDesc)); - mark_buffer_dirty_inode(epos.bh, inode); - } + udf_delete_aext(inode, prev_epos); + udf_free_blocks(inode->i_sb, inode, &eloc, 0, + DIV_ROUND_UP(elen, 1 << inode->i_blkbits)); } /* This inode entry is in-memory only and thus we don't have to mark * the inode dirty */ iinfo->i_lenExtents = lbcount; brelse(epos.bh); + brelse(prev_epos.bh); } static void udf_update_alloc_ext_desc(struct inode *inode, --- linux-gcp-5.19.0.orig/fs/udf/udf_i.h +++ linux-gcp-5.19.0/fs/udf/udf_i.h @@ -44,7 +44,8 @@ unsigned i_use : 1; /* unallocSpaceEntry */ unsigned i_strat4096 : 1; unsigned i_streamdir : 1; - unsigned reserved : 25; + unsigned i_hidden : 1; /* hidden system inode */ + unsigned reserved : 24; __u8 *i_data; struct kernel_lb_addr i_locStreamdir; __u64 i_lenStreams; --- linux-gcp-5.19.0.orig/fs/udf/udf_sb.h +++ linux-gcp-5.19.0/fs/udf/udf_sb.h @@ -51,6 +51,8 @@ #define MF_DUPLICATE_MD 0x01 #define MF_MIRROR_FE_LOADED 0x02 +#define EFSCORRUPTED EUCLEAN + struct udf_meta_data { __u32 s_meta_file_loc; __u32 s_mirror_file_loc; --- linux-gcp-5.19.0.orig/fs/userfaultfd.c +++ linux-gcp-5.19.0/fs/userfaultfd.c @@ -991,7 +991,7 @@ int fd; fd = anon_inode_getfd_secure("[userfaultfd]", &userfaultfd_fops, new, - O_RDWR | (new->flags & UFFD_SHARED_FCNTL_FLAGS), inode); + O_RDONLY | (new->flags & UFFD_SHARED_FCNTL_FLAGS), inode); if (fd < 0) return fd; @@ -1601,6 +1601,10 @@ wake_userfault(vma->vm_userfaultfd_ctx.ctx, &range); } + /* Reset ptes for the whole vma range if wr-protected */ + if (userfaultfd_wp(vma)) + uffd_wp_range(mm, vma, start, vma_end - start, false); + new_flags = vma->vm_flags & ~__VM_UFFD_FLAGS; prev = vma_merge(mm, prev, start, vma_end, new_flags, vma->anon_vma, vma->vm_file, vma->vm_pgoff, @@ -2092,7 +2096,7 @@ mmgrab(ctx->mm); fd = anon_inode_getfd_secure("[userfaultfd]", &userfaultfd_fops, ctx, - O_RDWR | (flags & UFFD_SHARED_FCNTL_FLAGS), NULL); + O_RDONLY | (flags & UFFD_SHARED_FCNTL_FLAGS), NULL); if (fd < 0) { mmdrop(ctx->mm); kmem_cache_free(userfaultfd_ctx_cachep, ctx); --- linux-gcp-5.19.0.orig/fs/xattr.c +++ linux-gcp-5.19.0/fs/xattr.c @@ -239,6 +239,7 @@ return error; } +EXPORT_SYMBOL_GPL(__vfs_setxattr_noperm); /** * __vfs_setxattr_locked - set an extended attribute while holding the inode @@ -473,6 +474,34 @@ EXPORT_SYMBOL(__vfs_removexattr); /** + * __vfs_removexattr_noperm - perform removexattr operation without + * performing permission checks. + * + * @dentry - object to perform setxattr on + * @name - xattr name to set + * + * returns the result of the internal setxattr or setsecurity operations. + * + * This function requires the caller to lock the inode's i_mutex before it + * is executed. It also assumes that the caller will make the appropriate + * permission checks. + */ +int +__vfs_removexattr_noperm(struct user_namespace *mnt_userns, + struct dentry *dentry, const char *name) +{ + int error; + + error =__vfs_removexattr(mnt_userns, dentry, name); + if (!error) { + fsnotify_xattr(dentry); + evm_inode_post_removexattr(dentry, name); + } + return error; +} +EXPORT_SYMBOL_GPL(__vfs_removexattr_noperm); + +/** * __vfs_removexattr_locked - set an extended attribute while holding the inode * lock * @@ -502,12 +531,7 @@ if (error) goto out; - error = __vfs_removexattr(mnt_userns, dentry, name); - - if (!error) { - fsnotify_xattr(dentry); - evm_inode_post_removexattr(dentry, name); - } + error = __vfs_removexattr_noperm(mnt_userns, dentry, name); out: return error; @@ -1136,7 +1160,7 @@ ssize_t simple_xattr_list(struct inode *inode, struct simple_xattrs *xattrs, char *buffer, size_t size) { - bool trusted = capable(CAP_SYS_ADMIN); + bool trusted = ns_capable_noaudit(&init_user_ns, CAP_SYS_ADMIN); struct simple_xattr *xattr; ssize_t remaining_size = size; int err = 0; --- linux-gcp-5.19.0.orig/fs/xfs/xfs_super.c +++ linux-gcp-5.19.0/fs/xfs/xfs_super.c @@ -650,7 +650,7 @@ static void xfs_fs_dirty_inode( struct inode *inode, - int flag) + int flags) { struct xfs_inode *ip = XFS_I(inode); struct xfs_mount *mp = ip->i_mount; @@ -658,7 +658,13 @@ if (!(inode->i_sb->s_flags & SB_LAZYTIME)) return; - if (flag != I_DIRTY_SYNC || !(inode->i_state & I_DIRTY_TIME)) + + /* + * Only do the timestamp update if the inode is dirty (I_DIRTY_SYNC) + * and has dirty timestamp (I_DIRTY_TIME). I_DIRTY_TIME can be passed + * in flags possibly together with I_DIRTY_SYNC. + */ + if ((flags & ~I_DIRTY_TIME) != I_DIRTY_SYNC || !(flags & I_DIRTY_TIME)) return; if (xfs_trans_alloc(mp, &M_RES(mp)->tr_fsyncts, 0, 0, 0, &tp)) --- linux-gcp-5.19.0.orig/fs/zonefs/super.c +++ linux-gcp-5.19.0/fs/zonefs/super.c @@ -41,6 +41,13 @@ return; /* + * For zones that transitioned to the offline or readonly condition, + * we only need to clear the active state. + */ + if (zi->i_flags & (ZONEFS_ZONE_OFFLINE | ZONEFS_ZONE_READONLY)) + goto out; + + /* * If the zone is active, that is, if it is explicitly open or * partially written, check if it was already accounted as active. */ @@ -53,6 +60,7 @@ return; } +out: /* The zone is not active. If it was, update the active count */ if (zi->i_flags & ZONEFS_ZONE_ACTIVE) { zi->i_flags &= ~ZONEFS_ZONE_ACTIVE; @@ -333,6 +341,7 @@ inode->i_flags |= S_IMMUTABLE; inode->i_mode &= ~0777; zone->wp = zone->start; + zi->i_flags |= ZONEFS_ZONE_OFFLINE; return 0; case BLK_ZONE_COND_READONLY: /* @@ -351,8 +360,10 @@ zone->cond = BLK_ZONE_COND_OFFLINE; inode->i_mode &= ~0777; zone->wp = zone->start; + zi->i_flags |= ZONEFS_ZONE_OFFLINE; return 0; } + zi->i_flags |= ZONEFS_ZONE_READONLY; inode->i_mode &= ~0222; return i_size_read(inode); case BLK_ZONE_COND_FULL: @@ -440,6 +451,10 @@ data_size = zonefs_check_zone_condition(inode, zone, false, false); } + } else if (sbi->s_mount_opts & ZONEFS_MNTOPT_ERRORS_RO && + data_size > isize) { + /* Do not expose garbage data */ + data_size = isize; } /* @@ -487,8 +502,7 @@ struct super_block *sb = inode->i_sb; struct zonefs_sb_info *sbi = ZONEFS_SB(sb); unsigned int noio_flag; - unsigned int nr_zones = - zi->i_zone_size >> (sbi->s_zone_sectors_shift + SECTOR_SHIFT); + unsigned int nr_zones = 1; struct zonefs_ioerr_data err = { .inode = inode, .write = write, @@ -496,6 +510,15 @@ int ret; /* + * The only files that have more than one zone are conventional zone + * files with aggregated conventional zones, for which the inode zone + * size is always larger than the device zone size. + */ + if (zi->i_zone_size > bdev_zone_sectors(sb->s_bdev)) + nr_zones = zi->i_zone_size >> + (sbi->s_zone_sectors_shift + SECTOR_SHIFT); + + /* * Memory allocations in blkdev_report_zones() can trigger a memory * reclaim which may in turn cause a recursion into zonefs as well as * struct request allocations for the same device. The former case may @@ -795,6 +818,24 @@ ret = submit_bio_wait(bio); + /* + * If the file zone was written underneath the file system, the zone + * write pointer may not be where we expect it to be, but the zone + * append write can still succeed. So check manually that we wrote where + * we intended to, that is, at zi->i_wpoffset. + */ + if (!ret) { + sector_t wpsector = + zi->i_zsector + (zi->i_wpoffset >> SECTOR_SHIFT); + + if (bio->bi_iter.bi_sector != wpsector) { + zonefs_warn(inode->i_sb, + "Corrupted write pointer %llu for zone at %llu\n", + wpsector, zi->i_zsector); + ret = -EIO; + } + } + zonefs_file_write_dio_end_io(iocb, size, ret, 0); trace_zonefs_file_dio_append(inode, size, ret); @@ -1416,6 +1457,14 @@ zi->i_ztype = type; zi->i_zsector = zone->start; zi->i_zone_size = zone->len << SECTOR_SHIFT; + if (zi->i_zone_size > bdev_zone_sectors(sb->s_bdev) << SECTOR_SHIFT && + !(sbi->s_features & ZONEFS_F_AGGRCNV)) { + zonefs_err(sb, + "zone size %llu doesn't match device's zone sectors %llu\n", + zi->i_zone_size, + bdev_zone_sectors(sb->s_bdev) << SECTOR_SHIFT); + return -EINVAL; + } zi->i_max_size = min_t(loff_t, MAX_LFS_FILESIZE, zone->capacity << SECTOR_SHIFT); @@ -1465,11 +1514,11 @@ struct inode *dir = d_inode(parent); struct dentry *dentry; struct inode *inode; - int ret; + int ret = -ENOMEM; dentry = d_alloc_name(parent, name); if (!dentry) - return NULL; + return ERR_PTR(ret); inode = new_inode(parent->d_sb); if (!inode) @@ -1494,7 +1543,7 @@ dput: dput(dentry); - return NULL; + return ERR_PTR(ret); } struct zonefs_zone_data { @@ -1514,7 +1563,7 @@ struct blk_zone *zone, *next, *end; const char *zgroup_name; char *file_name; - struct dentry *dir; + struct dentry *dir, *dent; unsigned int n = 0; int ret; @@ -1532,8 +1581,8 @@ zgroup_name = "seq"; dir = zonefs_create_inode(sb->s_root, zgroup_name, NULL, type); - if (!dir) { - ret = -ENOMEM; + if (IS_ERR(dir)) { + ret = PTR_ERR(dir); goto free; } @@ -1579,8 +1628,9 @@ * Use the file number within its group as file name. */ snprintf(file_name, ZONEFS_NAME_MAX - 1, "%u", n); - if (!zonefs_create_inode(dir, file_name, zone, type)) { - ret = -ENOMEM; + dent = zonefs_create_inode(dir, file_name, zone, type); + if (IS_ERR(dent)) { + ret = PTR_ERR(dent); goto free; } @@ -1917,18 +1967,18 @@ if (ret) return ret; - ret = register_filesystem(&zonefs_type); + ret = zonefs_sysfs_init(); if (ret) goto destroy_inodecache; - ret = zonefs_sysfs_init(); + ret = register_filesystem(&zonefs_type); if (ret) - goto unregister_fs; + goto sysfs_exit; return 0; -unregister_fs: - unregister_filesystem(&zonefs_type); +sysfs_exit: + zonefs_sysfs_exit(); destroy_inodecache: zonefs_destroy_inodecache(); @@ -1937,9 +1987,9 @@ static void __exit zonefs_exit(void) { + unregister_filesystem(&zonefs_type); zonefs_sysfs_exit(); zonefs_destroy_inodecache(); - unregister_filesystem(&zonefs_type); } MODULE_AUTHOR("Damien Le Moal"); --- linux-gcp-5.19.0.orig/fs/zonefs/zonefs.h +++ linux-gcp-5.19.0/fs/zonefs/zonefs.h @@ -39,8 +39,10 @@ return ZONEFS_ZTYPE_SEQ; } -#define ZONEFS_ZONE_OPEN (1 << 0) -#define ZONEFS_ZONE_ACTIVE (1 << 1) +#define ZONEFS_ZONE_OPEN (1U << 0) +#define ZONEFS_ZONE_ACTIVE (1U << 1) +#define ZONEFS_ZONE_OFFLINE (1U << 2) +#define ZONEFS_ZONE_READONLY (1U << 3) /* * In-memory inode data. --- linux-gcp-5.19.0.orig/include/acpi/cppc_acpi.h +++ linux-gcp-5.19.0/include/acpi/cppc_acpi.h @@ -17,7 +17,7 @@ #include #include -/* Support CPPCv2 and CPPCv3 */ +/* CPPCv2 and CPPCv3 support */ #define CPPC_V2_REV 2 #define CPPC_V3_REV 3 #define CPPC_V2_NUM_ENT 21 --- linux-gcp-5.19.0.orig/include/acpi/ghes.h +++ linux-gcp-5.19.0/include/acpi/ghes.h @@ -71,7 +71,7 @@ void ghes_unregister_vendor_record_notifier(struct notifier_block *nb); #endif -int ghes_estatus_pool_init(int num_ghes); +int ghes_estatus_pool_init(unsigned int num_ghes); /* From drivers/edac/ghes_edac.c */ --- linux-gcp-5.19.0.orig/include/asm-generic/bitops/atomic.h +++ linux-gcp-5.19.0/include/asm-generic/bitops/atomic.h @@ -39,9 +39,6 @@ unsigned long mask = BIT_MASK(nr); p += BIT_WORD(nr); - if (READ_ONCE(*p) & mask) - return 1; - old = arch_atomic_long_fetch_or(mask, (atomic_long_t *)p); return !!(old & mask); } @@ -53,9 +50,6 @@ unsigned long mask = BIT_MASK(nr); p += BIT_WORD(nr); - if (!(READ_ONCE(*p) & mask)) - return 0; - old = arch_atomic_long_fetch_andnot(mask, (atomic_long_t *)p); return !!(old & mask); } --- linux-gcp-5.19.0.orig/include/asm-generic/sections.h +++ linux-gcp-5.19.0/include/asm-generic/sections.h @@ -97,7 +97,7 @@ /** * memory_intersects - checks if the region occupied by an object intersects * with another memory region - * @begin: virtual address of the beginning of the memory regien + * @begin: virtual address of the beginning of the memory region * @end: virtual address of the end of the memory region * @virt: virtual address of the memory object * @size: size of the memory object @@ -110,7 +110,10 @@ { void *vend = virt + size; - return (virt >= begin && virt < end) || (vend >= begin && vend < end); + if (virt < end && vend > begin) + return true; + + return false; } /** --- linux-gcp-5.19.0.orig/include/asm-generic/tlb.h +++ linux-gcp-5.19.0/include/asm-generic/tlb.h @@ -222,12 +222,16 @@ #define tlb_needs_table_invalidate() (true) #endif +void tlb_remove_table_sync_one(void); + #else #ifdef tlb_needs_table_invalidate #error tlb_needs_table_invalidate() requires MMU_GATHER_RCU_TABLE_FREE #endif +static inline void tlb_remove_table_sync_one(void) { } + #endif /* CONFIG_MMU_GATHER_RCU_TABLE_FREE */ --- linux-gcp-5.19.0.orig/include/asm-generic/vmlinux.lds.h +++ linux-gcp-5.19.0/include/asm-generic/vmlinux.lds.h @@ -333,6 +333,7 @@ #define DATA_DATA \ *(.xiptext) \ *(DATA_MAIN) \ + *(.data..decrypted) \ *(.ref.data) \ *(.data..shared_aligned) /* percpu related */ \ MEM_KEEP(init.data*) \ @@ -543,10 +544,9 @@ */ #ifdef CONFIG_CFI_CLANG #define TEXT_CFI_JT \ - . = ALIGN(PMD_SIZE); \ + ALIGN_FUNCTION(); \ __cfi_jt_start = .; \ *(.text..L.cfi.jumptable .text..L.cfi.jumptable.*) \ - . = ALIGN(PMD_SIZE); \ __cfi_jt_end = .; #else #define TEXT_CFI_JT @@ -976,7 +976,6 @@ #ifdef CONFIG_AMD_MEM_ENCRYPT #define PERCPU_DECRYPTED_SECTION \ . = ALIGN(PAGE_SIZE); \ - *(.data..decrypted) \ *(.data..percpu..decrypted) \ . = ALIGN(PAGE_SIZE); #else --- linux-gcp-5.19.0.orig/include/crypto/internal/blake2s.h +++ linux-gcp-5.19.0/include/crypto/internal/blake2s.h @@ -8,7 +8,6 @@ #define _CRYPTO_INTERNAL_BLAKE2S_H #include -#include #include void blake2s_compress_generic(struct blake2s_state *state, const u8 *block, @@ -19,111 +18,4 @@ bool blake2s_selftest(void); -static inline void blake2s_set_lastblock(struct blake2s_state *state) -{ - state->f[0] = -1; -} - -/* Helper functions for BLAKE2s shared by the library and shash APIs */ - -static __always_inline void -__blake2s_update(struct blake2s_state *state, const u8 *in, size_t inlen, - bool force_generic) -{ - const size_t fill = BLAKE2S_BLOCK_SIZE - state->buflen; - - if (unlikely(!inlen)) - return; - if (inlen > fill) { - memcpy(state->buf + state->buflen, in, fill); - if (force_generic) - blake2s_compress_generic(state, state->buf, 1, - BLAKE2S_BLOCK_SIZE); - else - blake2s_compress(state, state->buf, 1, - BLAKE2S_BLOCK_SIZE); - state->buflen = 0; - in += fill; - inlen -= fill; - } - if (inlen > BLAKE2S_BLOCK_SIZE) { - const size_t nblocks = DIV_ROUND_UP(inlen, BLAKE2S_BLOCK_SIZE); - /* Hash one less (full) block than strictly possible */ - if (force_generic) - blake2s_compress_generic(state, in, nblocks - 1, - BLAKE2S_BLOCK_SIZE); - else - blake2s_compress(state, in, nblocks - 1, - BLAKE2S_BLOCK_SIZE); - in += BLAKE2S_BLOCK_SIZE * (nblocks - 1); - inlen -= BLAKE2S_BLOCK_SIZE * (nblocks - 1); - } - memcpy(state->buf + state->buflen, in, inlen); - state->buflen += inlen; -} - -static __always_inline void -__blake2s_final(struct blake2s_state *state, u8 *out, bool force_generic) -{ - blake2s_set_lastblock(state); - memset(state->buf + state->buflen, 0, - BLAKE2S_BLOCK_SIZE - state->buflen); /* Padding */ - if (force_generic) - blake2s_compress_generic(state, state->buf, 1, state->buflen); - else - blake2s_compress(state, state->buf, 1, state->buflen); - cpu_to_le32_array(state->h, ARRAY_SIZE(state->h)); - memcpy(out, state->h, state->outlen); -} - -/* Helper functions for shash implementations of BLAKE2s */ - -struct blake2s_tfm_ctx { - u8 key[BLAKE2S_KEY_SIZE]; - unsigned int keylen; -}; - -static inline int crypto_blake2s_setkey(struct crypto_shash *tfm, - const u8 *key, unsigned int keylen) -{ - struct blake2s_tfm_ctx *tctx = crypto_shash_ctx(tfm); - - if (keylen == 0 || keylen > BLAKE2S_KEY_SIZE) - return -EINVAL; - - memcpy(tctx->key, key, keylen); - tctx->keylen = keylen; - - return 0; -} - -static inline int crypto_blake2s_init(struct shash_desc *desc) -{ - const struct blake2s_tfm_ctx *tctx = crypto_shash_ctx(desc->tfm); - struct blake2s_state *state = shash_desc_ctx(desc); - unsigned int outlen = crypto_shash_digestsize(desc->tfm); - - __blake2s_init(state, outlen, tctx->key, tctx->keylen); - return 0; -} - -static inline int crypto_blake2s_update(struct shash_desc *desc, - const u8 *in, unsigned int inlen, - bool force_generic) -{ - struct blake2s_state *state = shash_desc_ctx(desc); - - __blake2s_update(state, in, inlen, force_generic); - return 0; -} - -static inline int crypto_blake2s_final(struct shash_desc *desc, u8 *out, - bool force_generic) -{ - struct blake2s_state *state = shash_desc_ctx(desc); - - __blake2s_final(state, out, force_generic); - return 0; -} - #endif /* _CRYPTO_INTERNAL_BLAKE2S_H */ --- linux-gcp-5.19.0.orig/include/drm/drm_connector.h +++ linux-gcp-5.19.0/include/drm/drm_connector.h @@ -323,6 +323,22 @@ }; /** + * struct drm_luminance_range_info - Panel's luminance range for + * &drm_display_info. Calculated using data in EDID + * + * This struct is used to store a luminance range supported by panel + * as calculated using data from EDID's static hdr metadata. + * + * @min_luminance: This is the min supported luminance value + * + * @max_luminance: This is the max supported luminance value + */ +struct drm_luminance_range_info { + u32 min_luminance; + u32 max_luminance; +}; + +/** * enum drm_privacy_screen_status - privacy screen status * * This enum is used to track and control the state of the integrated privacy @@ -624,6 +640,11 @@ struct drm_monitor_range_info monitor_range; /** + * @luminance_range: Luminance range supported by panel + */ + struct drm_luminance_range_info luminance_range; + + /** * @mso_stream_count: eDP Multi-SST Operation (MSO) stream count from * the DisplayID VESA vendor block. 0 for conventional Single-Stream * Transport (SST), or 2 or 4 MSO streams. --- linux-gcp-5.19.0.orig/include/drm/drm_mipi_dsi.h +++ linux-gcp-5.19.0/include/drm/drm_mipi_dsi.h @@ -294,6 +294,10 @@ u16 brightness); int mipi_dsi_dcs_get_display_brightness(struct mipi_dsi_device *dsi, u16 *brightness); +int mipi_dsi_dcs_set_display_brightness_large(struct mipi_dsi_device *dsi, + u16 brightness); +int mipi_dsi_dcs_get_display_brightness_large(struct mipi_dsi_device *dsi, + u16 *brightness); /** * struct mipi_dsi_driver - DSI driver --- linux-gcp-5.19.0.orig/include/drm/i915_pciids.h +++ linux-gcp-5.19.0/include/drm/i915_pciids.h @@ -641,6 +641,7 @@ INTEL_VGA_DEVICE(0x4682, info), \ INTEL_VGA_DEVICE(0x4688, info), \ INTEL_VGA_DEVICE(0x468A, info), \ + INTEL_VGA_DEVICE(0x468B, info), \ INTEL_VGA_DEVICE(0x4690, info), \ INTEL_VGA_DEVICE(0x4692, info), \ INTEL_VGA_DEVICE(0x4693, info) --- linux-gcp-5.19.0.orig/include/drm/ttm/ttm_tt.h +++ linux-gcp-5.19.0/include/drm/ttm/ttm_tt.h @@ -88,7 +88,7 @@ #define TTM_TT_FLAG_EXTERNAL (1 << 2) #define TTM_TT_FLAG_EXTERNAL_MAPPABLE (1 << 3) -#define TTM_TT_FLAG_PRIV_POPULATED (1 << 31) +#define TTM_TT_FLAG_PRIV_POPULATED (1U << 31) uint32_t page_flags; /** @num_pages: Number of pages in the page array. */ uint32_t num_pages; --- linux-gcp-5.19.0.orig/include/dt-bindings/clock/imx8mn-clock.h +++ linux-gcp-5.19.0/include/dt-bindings/clock/imx8mn-clock.h @@ -19,7 +19,8 @@ #define IMX8MN_VIDEO_PLL1_REF_SEL 10 #define IMX8MN_DRAM_PLL_REF_SEL 11 #define IMX8MN_GPU_PLL_REF_SEL 12 -#define IMX8MN_VPU_PLL_REF_SEL 13 +#define IMX8MN_M7_ALT_PLL_REF_SEL 13 +#define IMX8MN_VPU_PLL_REF_SEL IMX8MN_M7_ALT_PLL_REF_SEL #define IMX8MN_ARM_PLL_REF_SEL 14 #define IMX8MN_SYS_PLL1_REF_SEL 15 #define IMX8MN_SYS_PLL2_REF_SEL 16 @@ -29,7 +30,8 @@ #define IMX8MN_VIDEO_PLL1 20 #define IMX8MN_DRAM_PLL 21 #define IMX8MN_GPU_PLL 22 -#define IMX8MN_VPU_PLL 23 +#define IMX8MN_M7_ALT_PLL 23 +#define IMX8MN_VPU_PLL IMX8MN_M7_ALT_PLL #define IMX8MN_ARM_PLL 24 #define IMX8MN_SYS_PLL1 25 #define IMX8MN_SYS_PLL2 26 @@ -39,7 +41,8 @@ #define IMX8MN_VIDEO_PLL1_BYPASS 30 #define IMX8MN_DRAM_PLL_BYPASS 31 #define IMX8MN_GPU_PLL_BYPASS 32 -#define IMX8MN_VPU_PLL_BYPASS 33 +#define IMX8MN_M7_ALT_PLL_BYPASS 33 +#define IMX8MN_VPU_PLL_BYPASS IMX8MN_M7_ALT_PLL_BYPASS #define IMX8MN_ARM_PLL_BYPASS 34 #define IMX8MN_SYS_PLL1_BYPASS 35 #define IMX8MN_SYS_PLL2_BYPASS 36 @@ -49,7 +52,8 @@ #define IMX8MN_VIDEO_PLL1_OUT 40 #define IMX8MN_DRAM_PLL_OUT 41 #define IMX8MN_GPU_PLL_OUT 42 -#define IMX8MN_VPU_PLL_OUT 43 +#define IMX8MN_M7_ALT_PLL_OUT 43 +#define IMX8MN_VPU_PLL_OUT IMX8MN_M7_ALT_PLL_OUT #define IMX8MN_ARM_PLL_OUT 44 #define IMX8MN_SYS_PLL1_OUT 45 #define IMX8MN_SYS_PLL2_OUT 46 --- linux-gcp-5.19.0.orig/include/dt-bindings/clock/imx8mp-clock.h +++ linux-gcp-5.19.0/include/dt-bindings/clock/imx8mp-clock.h @@ -324,8 +324,9 @@ #define IMX8MP_CLK_CLKOUT2_SEL 317 #define IMX8MP_CLK_CLKOUT2_DIV 318 #define IMX8MP_CLK_CLKOUT2 319 +#define IMX8MP_CLK_USB_SUSP 320 -#define IMX8MP_CLK_END 320 +#define IMX8MP_CLK_END 321 #define IMX8MP_CLK_AUDIOMIX_SAI1_IPG 0 #define IMX8MP_CLK_AUDIOMIX_SAI1_MCLK1 1 --- linux-gcp-5.19.0.orig/include/dt-bindings/clock/qcom,gcc-msm8939.h +++ linux-gcp-5.19.0/include/dt-bindings/clock/qcom,gcc-msm8939.h @@ -192,6 +192,7 @@ #define GCC_VENUS0_CORE0_VCODEC0_CLK 183 #define GCC_VENUS0_CORE1_VCODEC0_CLK 184 #define GCC_OXILI_TIMER_CLK 185 +#define SYSTEM_MM_NOC_BFDCD_CLK_SRC 186 /* Indexes for GDSCs */ #define BIMC_GDSC 0 --- linux-gcp-5.19.0.orig/include/dt-bindings/clock/qcom,lpassaudiocc-sc7280.h +++ linux-gcp-5.19.0/include/dt-bindings/clock/qcom,lpassaudiocc-sc7280.h @@ -24,6 +24,11 @@ #define LPASS_AUDIO_CC_RX_MCLK_CLK 14 #define LPASS_AUDIO_CC_RX_MCLK_CLK_SRC 15 +/* LPASS AUDIO CC CSR */ +#define LPASS_AUDIO_SWR_RX_CGCR 0 +#define LPASS_AUDIO_SWR_TX_CGCR 1 +#define LPASS_AUDIO_SWR_WSA_CGCR 2 + /* LPASS_AON_CC clocks */ #define LPASS_AON_CC_PLL 0 #define LPASS_AON_CC_PLL_OUT_EVEN 1 --- linux-gcp-5.19.0.orig/include/dt-bindings/clock/qcom,lpasscorecc-sc7280.h +++ linux-gcp-5.19.0/include/dt-bindings/clock/qcom,lpasscorecc-sc7280.h @@ -19,6 +19,8 @@ #define LPASS_CORE_CC_LPM_CORE_CLK 9 #define LPASS_CORE_CC_LPM_MEM0_CORE_CLK 10 #define LPASS_CORE_CC_SYSNOC_MPORT_CORE_CLK 11 +#define LPASS_CORE_CC_EXT_MCLK0_CLK 12 +#define LPASS_CORE_CC_EXT_MCLK0_CLK_SRC 13 /* LPASS_CORE_CC power domains */ #define LPASS_CORE_CC_LPASS_CORE_HM_GDSC 0 --- linux-gcp-5.19.0.orig/include/dt-bindings/clock/samsung,exynosautov9.h +++ linux-gcp-5.19.0/include/dt-bindings/clock/samsung,exynosautov9.h @@ -226,21 +226,21 @@ #define CLK_GOUT_PERIC0_IPCLK_8 28 #define CLK_GOUT_PERIC0_IPCLK_9 29 #define CLK_GOUT_PERIC0_IPCLK_10 30 -#define CLK_GOUT_PERIC0_IPCLK_11 30 -#define CLK_GOUT_PERIC0_PCLK_0 31 -#define CLK_GOUT_PERIC0_PCLK_1 32 -#define CLK_GOUT_PERIC0_PCLK_2 33 -#define CLK_GOUT_PERIC0_PCLK_3 34 -#define CLK_GOUT_PERIC0_PCLK_4 35 -#define CLK_GOUT_PERIC0_PCLK_5 36 -#define CLK_GOUT_PERIC0_PCLK_6 37 -#define CLK_GOUT_PERIC0_PCLK_7 38 -#define CLK_GOUT_PERIC0_PCLK_8 39 -#define CLK_GOUT_PERIC0_PCLK_9 40 -#define CLK_GOUT_PERIC0_PCLK_10 41 -#define CLK_GOUT_PERIC0_PCLK_11 42 +#define CLK_GOUT_PERIC0_IPCLK_11 31 +#define CLK_GOUT_PERIC0_PCLK_0 32 +#define CLK_GOUT_PERIC0_PCLK_1 33 +#define CLK_GOUT_PERIC0_PCLK_2 34 +#define CLK_GOUT_PERIC0_PCLK_3 35 +#define CLK_GOUT_PERIC0_PCLK_4 36 +#define CLK_GOUT_PERIC0_PCLK_5 37 +#define CLK_GOUT_PERIC0_PCLK_6 38 +#define CLK_GOUT_PERIC0_PCLK_7 39 +#define CLK_GOUT_PERIC0_PCLK_8 40 +#define CLK_GOUT_PERIC0_PCLK_9 41 +#define CLK_GOUT_PERIC0_PCLK_10 42 +#define CLK_GOUT_PERIC0_PCLK_11 43 -#define PERIC0_NR_CLK 43 +#define PERIC0_NR_CLK 44 /* CMU_PERIC1 */ #define CLK_MOUT_PERIC1_BUS_USER 1 @@ -272,21 +272,21 @@ #define CLK_GOUT_PERIC1_IPCLK_8 28 #define CLK_GOUT_PERIC1_IPCLK_9 29 #define CLK_GOUT_PERIC1_IPCLK_10 30 -#define CLK_GOUT_PERIC1_IPCLK_11 30 -#define CLK_GOUT_PERIC1_PCLK_0 31 -#define CLK_GOUT_PERIC1_PCLK_1 32 -#define CLK_GOUT_PERIC1_PCLK_2 33 -#define CLK_GOUT_PERIC1_PCLK_3 34 -#define CLK_GOUT_PERIC1_PCLK_4 35 -#define CLK_GOUT_PERIC1_PCLK_5 36 -#define CLK_GOUT_PERIC1_PCLK_6 37 -#define CLK_GOUT_PERIC1_PCLK_7 38 -#define CLK_GOUT_PERIC1_PCLK_8 39 -#define CLK_GOUT_PERIC1_PCLK_9 40 -#define CLK_GOUT_PERIC1_PCLK_10 41 -#define CLK_GOUT_PERIC1_PCLK_11 42 +#define CLK_GOUT_PERIC1_IPCLK_11 31 +#define CLK_GOUT_PERIC1_PCLK_0 32 +#define CLK_GOUT_PERIC1_PCLK_1 33 +#define CLK_GOUT_PERIC1_PCLK_2 34 +#define CLK_GOUT_PERIC1_PCLK_3 35 +#define CLK_GOUT_PERIC1_PCLK_4 36 +#define CLK_GOUT_PERIC1_PCLK_5 37 +#define CLK_GOUT_PERIC1_PCLK_6 38 +#define CLK_GOUT_PERIC1_PCLK_7 39 +#define CLK_GOUT_PERIC1_PCLK_8 40 +#define CLK_GOUT_PERIC1_PCLK_9 41 +#define CLK_GOUT_PERIC1_PCLK_10 42 +#define CLK_GOUT_PERIC1_PCLK_11 43 -#define PERIC1_NR_CLK 43 +#define PERIC1_NR_CLK 44 /* CMU_PERIS */ #define CLK_MOUT_PERIS_BUS_USER 1 --- linux-gcp-5.19.0.orig/include/kunit/test.h +++ linux-gcp-5.19.0/include/kunit/test.h @@ -863,7 +863,7 @@ #define KUNIT_EXPECT_LE_MSG(test, left, right, fmt, ...) \ KUNIT_BINARY_INT_ASSERTION(test, \ - KUNIT_ASSERTION, \ + KUNIT_EXPECTATION, \ left, <=, right, \ fmt, \ ##__VA_ARGS__) @@ -1153,7 +1153,7 @@ #define KUNIT_ASSERT_LT_MSG(test, left, right, fmt, ...) \ KUNIT_BINARY_INT_ASSERTION(test, \ - KUNIT_EXPECTATION, \ + KUNIT_ASSERTION, \ left, <, right, \ fmt, \ ##__VA_ARGS__) @@ -1194,7 +1194,7 @@ #define KUNIT_ASSERT_GT_MSG(test, left, right, fmt, ...) \ KUNIT_BINARY_INT_ASSERTION(test, \ - KUNIT_EXPECTATION, \ + KUNIT_ASSERTION, \ left, >, right, \ fmt, \ ##__VA_ARGS__) --- linux-gcp-5.19.0.orig/include/linux/acpi.h +++ linux-gcp-5.19.0/include/linux/acpi.h @@ -504,6 +504,7 @@ void *preproc_data); int acpi_dev_get_dma_resources(struct acpi_device *adev, struct list_head *list); +int acpi_dev_get_memory_resources(struct acpi_device *adev, struct list_head *list); int acpi_dev_filter_resource_type(struct acpi_resource *ares, unsigned long types); --- linux-gcp-5.19.0.orig/include/linux/acpi_viot.h +++ linux-gcp-5.19.0/include/linux/acpi_viot.h @@ -6,9 +6,11 @@ #include #ifdef CONFIG_ACPI_VIOT +void __init acpi_viot_early_init(void); void __init acpi_viot_init(void); int viot_iommu_configure(struct device *dev); #else +static inline void acpi_viot_early_init(void) {} static inline void acpi_viot_init(void) {} static inline int viot_iommu_configure(struct device *dev) { --- linux-gcp-5.19.0.orig/include/linux/ata.h +++ linux-gcp-5.19.0/include/linux/ata.h @@ -566,6 +566,18 @@ ((((id)[ATA_ID_SATA_CAPABILITY] != 0x0000) && \ ((id)[ATA_ID_SATA_CAPABILITY] != 0xffff)) && \ ((id)[ATA_ID_FEATURE_SUPP] & (1 << 2))) +#define ata_id_has_devslp(id) \ + ((((id)[ATA_ID_SATA_CAPABILITY] != 0x0000) && \ + ((id)[ATA_ID_SATA_CAPABILITY] != 0xffff)) && \ + ((id)[ATA_ID_FEATURE_SUPP] & (1 << 8))) +#define ata_id_has_ncq_autosense(id) \ + ((((id)[ATA_ID_SATA_CAPABILITY] != 0x0000) && \ + ((id)[ATA_ID_SATA_CAPABILITY] != 0xffff)) && \ + ((id)[ATA_ID_FEATURE_SUPP] & (1 << 7))) +#define ata_id_has_dipm(id) \ + ((((id)[ATA_ID_SATA_CAPABILITY] != 0x0000) && \ + ((id)[ATA_ID_SATA_CAPABILITY] != 0xffff)) && \ + ((id)[ATA_ID_FEATURE_SUPP] & (1 << 3))) #define ata_id_iordy_disable(id) ((id)[ATA_ID_CAPABILITY] & (1 << 10)) #define ata_id_has_iordy(id) ((id)[ATA_ID_CAPABILITY] & (1 << 11)) #define ata_id_u32(id,n) \ @@ -578,9 +590,6 @@ #define ata_id_cdb_intr(id) (((id)[ATA_ID_CONFIG] & 0x60) == 0x20) #define ata_id_has_da(id) ((id)[ATA_ID_SATA_CAPABILITY_2] & (1 << 4)) -#define ata_id_has_devslp(id) ((id)[ATA_ID_FEATURE_SUPP] & (1 << 8)) -#define ata_id_has_ncq_autosense(id) \ - ((id)[ATA_ID_FEATURE_SUPP] & (1 << 7)) static inline bool ata_id_has_hipm(const u16 *id) { @@ -592,17 +601,6 @@ return val & (1 << 9); } -static inline bool ata_id_has_dipm(const u16 *id) -{ - u16 val = id[ATA_ID_FEATURE_SUPP]; - - if (val == 0 || val == 0xffff) - return false; - - return val & (1 << 3); -} - - static inline bool ata_id_has_fua(const u16 *id) { if ((id[ATA_ID_CFSSE] & 0xC000) != 0x4000) @@ -771,16 +769,21 @@ static inline bool ata_id_has_sense_reporting(const u16 *id) { - if (!(id[ATA_ID_CFS_ENABLE_2] & (1 << 15))) + if (!(id[ATA_ID_CFS_ENABLE_2] & BIT(15))) + return false; + if ((id[ATA_ID_COMMAND_SET_3] & (BIT(15) | BIT(14))) != BIT(14)) return false; - return id[ATA_ID_COMMAND_SET_3] & (1 << 6); + return id[ATA_ID_COMMAND_SET_3] & BIT(6); } static inline bool ata_id_sense_reporting_enabled(const u16 *id) { - if (!(id[ATA_ID_CFS_ENABLE_2] & (1 << 15))) + if (!ata_id_has_sense_reporting(id)) + return false; + /* ata_id_has_sense_reporting() == true, word 86 must have bit 15 set */ + if ((id[ATA_ID_COMMAND_SET_4] & (BIT(15) | BIT(14))) != BIT(14)) return false; - return id[ATA_ID_COMMAND_SET_4] & (1 << 6); + return id[ATA_ID_COMMAND_SET_4] & BIT(6); } /** --- linux-gcp-5.19.0.orig/include/linux/audit.h +++ linux-gcp-5.19.0/include/linux/audit.h @@ -11,6 +11,7 @@ #include #include +#include #include #include #include @@ -59,6 +60,10 @@ /* Flag to indicate legacy AUDIT_LOGINUID unset usage */ #define AUDIT_LOGINUID_LEGACY 0x1 +struct audit_lsm_rules { + void *rule[LSMBLOB_ENTRIES]; +}; + struct audit_field { u32 type; union { @@ -66,8 +71,8 @@ kuid_t uid; kgid_t gid; struct { - char *lsm_str; - void *lsm_rule; + char *lsm_str; + struct audit_lsm_rules lsm_rules; }; }; u32 op; @@ -185,6 +190,10 @@ const char *operation); extern void audit_log_lost(const char *message); +extern void audit_log_object_context(struct audit_buffer *ab, + struct lsmblob *blob); +extern int audit_log_subject_context(struct audit_buffer *ab, + struct lsmblob *blob); extern int audit_log_task_context(struct audit_buffer *ab); extern void audit_log_task_info(struct audit_buffer *ab); @@ -245,6 +254,14 @@ { } static inline void audit_log_path_denied(int type, const char *operation) { } +static inline void audit_log_object_context(struct audit_buffer *ab, + struct lsmblob *blob) +{ } +static inline int audit_log_subject_context(struct audit_buffer *ab, + struct lsmblob *blob) +{ + return 0; +} static inline int audit_log_task_context(struct audit_buffer *ab) { return 0; --- linux-gcp-5.19.0.orig/include/linux/bio.h +++ linux-gcp-5.19.0/include/linux/bio.h @@ -509,7 +509,7 @@ { bio_clear_flag(bio, BIO_REMAPPED); if (bio->bi_bdev != bdev) - bio_clear_flag(bio, BIO_THROTTLED); + bio_clear_flag(bio, BIO_BPS_THROTTLED); bio->bi_bdev = bdev; bio_associate_blkg(bio); } --- linux-gcp-5.19.0.orig/include/linux/blk-mq.h +++ linux-gcp-5.19.0/include/linux/blk-mq.h @@ -265,9 +265,16 @@ rq_list_add(dst, rq); } +/** + * enum blk_eh_timer_return - How the timeout handler should proceed + * @BLK_EH_DONE: The block driver completed the command or will complete it at + * a later time. + * @BLK_EH_RESET_TIMER: Reset the request timer and continue waiting for the + * request to complete. + */ enum blk_eh_timer_return { - BLK_EH_DONE, /* drivers has completed the command */ - BLK_EH_RESET_TIMER, /* reset timer and try again */ + BLK_EH_DONE, + BLK_EH_RESET_TIMER, }; #define BLK_TAG_ALLOC_FIFO 0 /* allocate starting from 0 */ @@ -686,10 +693,13 @@ \ __blk_mq_alloc_disk(set, queuedata, &__key); \ }) +struct gendisk *blk_mq_alloc_disk_for_queue(struct request_queue *q, + struct lock_class_key *lkclass); struct request_queue *blk_mq_init_queue(struct blk_mq_tag_set *); int blk_mq_init_allocated_queue(struct blk_mq_tag_set *set, struct request_queue *q); void blk_mq_unregister_dev(struct device *, struct request_queue *); +void blk_mq_destroy_queue(struct request_queue *); int blk_mq_alloc_tag_set(struct blk_mq_tag_set *set); int blk_mq_alloc_sq_tag_set(struct blk_mq_tag_set *set, --- linux-gcp-5.19.0.orig/include/linux/blk_types.h +++ linux-gcp-5.19.0/include/linux/blk_types.h @@ -323,7 +323,7 @@ BIO_QUIET, /* Make BIO Quiet */ BIO_CHAIN, /* chained bio, ->bi_remaining in effect */ BIO_REFFED, /* bio has elevated ->bi_cnt */ - BIO_THROTTLED, /* This bio has already been subjected to + BIO_BPS_THROTTLED, /* This bio has already been subjected to * throttling rules. Don't do it again. */ BIO_TRACE_COMPLETION, /* bio_endio() should trace the final completion * of this bio. */ --- linux-gcp-5.19.0.orig/include/linux/blkdev.h +++ linux-gcp-5.19.0/include/linux/blkdev.h @@ -148,6 +148,7 @@ #define GD_NATIVE_CAPACITY 3 #define GD_ADDED 4 #define GD_SUPPRESS_PART_SCAN 5 +#define GD_OWNS_QUEUE 6 struct mutex open_mutex; /* open/close mutex */ unsigned open_partitions; /* number of open partitions */ @@ -559,7 +560,6 @@ #define QUEUE_FLAG_NOXMERGES 9 /* No extended merges */ #define QUEUE_FLAG_ADD_RANDOM 10 /* Contributes to random pool */ #define QUEUE_FLAG_SAME_FORCE 12 /* force complete on same CPU */ -#define QUEUE_FLAG_DEAD 13 /* queue tear-down finished */ #define QUEUE_FLAG_INIT_DONE 14 /* queue is initialized */ #define QUEUE_FLAG_STABLE_WRITES 15 /* don't modify blks until WB is done */ #define QUEUE_FLAG_POLL 16 /* IO polling enabled if set */ @@ -587,7 +587,6 @@ #define blk_queue_stopped(q) test_bit(QUEUE_FLAG_STOPPED, &(q)->queue_flags) #define blk_queue_dying(q) test_bit(QUEUE_FLAG_DYING, &(q)->queue_flags) #define blk_queue_has_srcu(q) test_bit(QUEUE_FLAG_HAS_SRCU, &(q)->queue_flags) -#define blk_queue_dead(q) test_bit(QUEUE_FLAG_DEAD, &(q)->queue_flags) #define blk_queue_init_done(q) test_bit(QUEUE_FLAG_INIT_DONE, &(q)->queue_flags) #define blk_queue_nomerges(q) test_bit(QUEUE_FLAG_NOMERGES, &(q)->queue_flags) #define blk_queue_noxmerges(q) \ @@ -812,8 +811,6 @@ int bdev_disk_changed(struct gendisk *disk, bool invalidate); -struct gendisk *__alloc_disk_node(struct request_queue *q, int node_id, - struct lock_class_key *lkclass); void put_disk(struct gendisk *disk); struct gendisk *__blk_alloc_disk(int node, struct lock_class_key *lkclass); @@ -955,7 +952,6 @@ /* * Access functions for manipulating queue properties */ -extern void blk_cleanup_queue(struct request_queue *); void blk_queue_bounce_limit(struct request_queue *q, enum blk_bounce limit); extern void blk_queue_max_hw_sectors(struct request_queue *, unsigned int); extern void blk_queue_chunk_sectors(struct request_queue *, unsigned int); @@ -983,7 +979,6 @@ extern void blk_limits_io_opt(struct queue_limits *limits, unsigned int opt); extern void blk_queue_io_opt(struct request_queue *q, unsigned int opt); extern void blk_set_queue_depth(struct request_queue *q, unsigned int depth); -extern void blk_set_default_limits(struct queue_limits *lim); extern void blk_set_stacking_limits(struct queue_limits *lim); extern int blk_stack_limits(struct queue_limits *t, struct queue_limits *b, sector_t offset); @@ -1206,6 +1201,11 @@ return queue_max_zone_append_sectors(bdev_get_queue(bdev)); } +static inline unsigned int bdev_max_segments(struct block_device *bdev) +{ + return queue_max_segments(bdev_get_queue(bdev)); +} + static inline unsigned queue_logical_block_size(const struct request_queue *q) { int retval = 512; --- linux-gcp-5.19.0.orig/include/linux/bpf-cgroup-defs.h +++ linux-gcp-5.19.0/include/linux/bpf-cgroup-defs.h @@ -47,8 +47,8 @@ * have either zero or one element * when BPF_F_ALLOW_MULTI the list can have up to BPF_CGROUP_MAX_PROGS */ - struct list_head progs[MAX_CGROUP_BPF_ATTACH_TYPE]; - u32 flags[MAX_CGROUP_BPF_ATTACH_TYPE]; + struct hlist_head progs[MAX_CGROUP_BPF_ATTACH_TYPE]; + u8 flags[MAX_CGROUP_BPF_ATTACH_TYPE]; /* list of cgroup shared storages */ struct list_head storages; --- linux-gcp-5.19.0.orig/include/linux/bpf-cgroup.h +++ linux-gcp-5.19.0/include/linux/bpf-cgroup.h @@ -95,7 +95,7 @@ }; struct bpf_prog_list { - struct list_head node; + struct hlist_node node; struct bpf_prog *prog; struct bpf_cgroup_link *link; struct bpf_cgroup_storage *storage[MAX_BPF_CGROUP_STORAGE_TYPE]; --- linux-gcp-5.19.0.orig/include/linux/bpf.h +++ linux-gcp-5.19.0/include/linux/bpf.h @@ -398,6 +398,9 @@ /* DYNPTR points to a ringbuf record. */ DYNPTR_TYPE_RINGBUF = BIT(9 + BPF_BASE_TYPE_BITS), + /* Size is known at compile time. */ + MEM_FIXED_SIZE = BIT(10 + BPF_BASE_TYPE_BITS), + __BPF_TYPE_FLAG_MAX, __BPF_TYPE_LAST_FLAG = __BPF_TYPE_FLAG_MAX - 1, }; @@ -461,6 +464,8 @@ * all bytes or clear them in error case. */ ARG_PTR_TO_UNINIT_MEM = MEM_UNINIT | ARG_PTR_TO_MEM, + /* Pointer to valid memory of size known at compile time. */ + ARG_PTR_TO_FIXED_SIZE_MEM = MEM_FIXED_SIZE | ARG_PTR_TO_MEM, /* This must be the last entry. Its purpose is to ensure the enum is * wide enough to hold the higher bits reserved for bpf_type_flag. @@ -526,6 +531,14 @@ u32 *arg5_btf_id; }; u32 *arg_btf_id[5]; + struct { + size_t arg1_size; + size_t arg2_size; + size_t arg3_size; + size_t arg4_size; + size_t arg5_size; + }; + size_t arg_size[5]; }; int *ret_btf_id; /* return value btf_id */ bool (*allowed)(const struct bpf_prog *prog); @@ -856,6 +869,7 @@ struct bpf_dispatcher_prog progs[BPF_DISPATCHER_MAX]; int num_progs; void *image; + void *rw_image; u32 image_off; struct bpf_ksym ksym; }; @@ -875,7 +889,7 @@ struct bpf_trampoline *bpf_trampoline_get(u64 key, struct bpf_attach_target_info *tgt_info); void bpf_trampoline_put(struct bpf_trampoline *tr); -int arch_prepare_bpf_dispatcher(void *image, s64 *funcs, int num_funcs); +int arch_prepare_bpf_dispatcher(void *image, void *buf, s64 *funcs, int num_funcs); #define BPF_DISPATCHER_INIT(_name) { \ .mutex = __MUTEX_INITIALIZER(_name.mutex), \ .func = &_name##_func, \ @@ -1025,7 +1039,6 @@ bool sleepable; bool tail_call_reachable; bool xdp_has_frags; - bool use_bpf_prog_pack; /* BTF_KIND_FUNC_PROTO for valid attach_btf_id */ const struct btf_type *attach_func_proto; /* function name for valid attach_btf_id */ @@ -1825,6 +1838,7 @@ return !sysctl_unprivileged_bpf_disabled; } +void notrace bpf_prog_inc_misses_counter(struct bpf_prog *prog); #else /* !CONFIG_BPF_SYSCALL */ static inline struct bpf_prog *bpf_prog_get(u32 ufd) { @@ -2034,6 +2048,9 @@ return false; } +static inline void bpf_prog_inc_misses_counter(struct bpf_prog *prog) +{ +} #endif /* CONFIG_BPF_SYSCALL */ void __bpf_free_used_btfs(struct bpf_prog_aux *aux, @@ -2104,6 +2121,7 @@ union bpf_attr __user *uattr); void sock_map_unhash(struct sock *sk); +void sock_map_destroy(struct sock *sk); void sock_map_close(struct sock *sk, long timeout); #else static inline int bpf_prog_offload_init(struct bpf_prog *prog, @@ -2261,12 +2279,9 @@ extern const struct bpf_func_proto bpf_btf_find_by_name_kind_proto; extern const struct bpf_func_proto bpf_sk_setsockopt_proto; extern const struct bpf_func_proto bpf_sk_getsockopt_proto; -extern const struct bpf_func_proto bpf_kallsyms_lookup_name_proto; extern const struct bpf_func_proto bpf_find_vma_proto; extern const struct bpf_func_proto bpf_loop_proto; -extern const struct bpf_func_proto bpf_strncmp_proto; extern const struct bpf_func_proto bpf_copy_from_user_task_proto; -extern const struct bpf_func_proto bpf_kptr_xchg_proto; const struct bpf_func_proto *tracing_prog_func_proto( enum bpf_func_id func_id, const struct bpf_prog *prog); --- linux-gcp-5.19.0.orig/include/linux/bpf_verifier.h +++ linux-gcp-5.19.0/include/linux/bpf_verifier.h @@ -212,6 +212,17 @@ * is used purely to inform the user of a reference leak. */ int insn_idx; + /* There can be a case like: + * main (frame 0) + * cb (frame 1) + * func (frame 3) + * cb (frame 4) + * Hence for frame 4, if callback_ref just stored boolean, it would be + * impossible to distinguish nested callback refs. Hence store the + * frameno and compare that to callback_ref in check_reference_leak when + * exiting a callback function. + */ + int callback_ref; }; /* state of the program: @@ -337,6 +348,27 @@ iter < frame->allocated_stack / BPF_REG_SIZE; \ iter++, reg = bpf_get_spilled_reg(iter, frame)) +/* Invoke __expr over regsiters in __vst, setting __state and __reg */ +#define bpf_for_each_reg_in_vstate(__vst, __state, __reg, __expr) \ + ({ \ + struct bpf_verifier_state *___vstate = __vst; \ + int ___i, ___j; \ + for (___i = 0; ___i <= ___vstate->curframe; ___i++) { \ + struct bpf_reg_state *___regs; \ + __state = ___vstate->frame[___i]; \ + ___regs = __state->regs; \ + for (___j = 0; ___j < MAX_BPF_REG; ___j++) { \ + __reg = &___regs[___j]; \ + (void)(__expr); \ + } \ + bpf_for_each_spilled_reg(___j, __state, __reg) { \ + if (!__reg) \ + continue; \ + (void)(__expr); \ + } \ + } \ + }) + /* linked list of verifier states used to prune search */ struct bpf_verifier_state_list { struct bpf_verifier_state state; @@ -590,7 +622,7 @@ } /* only use after check_attach_btf_id() */ -static inline enum bpf_prog_type resolve_prog_type(struct bpf_prog *prog) +static inline enum bpf_prog_type resolve_prog_type(const struct bpf_prog *prog) { return prog->type == BPF_PROG_TYPE_EXT ? prog->aux->dst_prog->type : prog->type; --- linux-gcp-5.19.0.orig/include/linux/bpfptr.h +++ linux-gcp-5.19.0/include/linux/bpfptr.h @@ -49,7 +49,9 @@ static inline int copy_from_bpfptr_offset(void *dst, bpfptr_t src, size_t offset, size_t size) { - return copy_from_sockptr_offset(dst, (sockptr_t) src, offset, size); + if (!bpfptr_is_kernel(src)) + return copy_from_user(dst, src.user + offset, size); + return copy_from_kernel_nofault(dst, src.kernel + offset, size); } static inline int copy_from_bpfptr(void *dst, bpfptr_t src, size_t size) @@ -78,7 +80,9 @@ static inline long strncpy_from_bpfptr(char *dst, bpfptr_t src, size_t count) { - return strncpy_from_sockptr(dst, (sockptr_t) src, count); + if (bpfptr_is_kernel(src)) + return strncpy_from_kernel_nofault(dst, src.kernel, count); + return strncpy_from_user(dst, src.user, count); } #endif /* _LINUX_BPFPTR_H */ --- linux-gcp-5.19.0.orig/include/linux/buffer_head.h +++ linux-gcp-5.19.0/include/linux/buffer_head.h @@ -117,7 +117,6 @@ * of the form "mark_buffer_foo()". These are higher-level functions which * do something in addition to setting a b_state bit. */ -BUFFER_FNS(Uptodate, uptodate) BUFFER_FNS(Dirty, dirty) TAS_BUFFER_FNS(Dirty, dirty) BUFFER_FNS(Lock, locked) @@ -135,6 +134,41 @@ BUFFER_FNS(Prio, prio) BUFFER_FNS(Defer_Completion, defer_completion) +static __always_inline void set_buffer_uptodate(struct buffer_head *bh) +{ + /* + * If somebody else already set this uptodate, they will + * have done the memory barrier, and a reader will thus + * see *some* valid buffer state. + * + * Any other serialization (with IO errors or whatever that + * might clear the bit) has to come from other state (eg BH_Lock). + */ + if (test_bit(BH_Uptodate, &bh->b_state)) + return; + + /* + * make it consistent with folio_mark_uptodate + * pairs with smp_load_acquire in buffer_uptodate + */ + smp_mb__before_atomic(); + set_bit(BH_Uptodate, &bh->b_state); +} + +static __always_inline void clear_buffer_uptodate(struct buffer_head *bh) +{ + clear_bit(BH_Uptodate, &bh->b_state); +} + +static __always_inline int buffer_uptodate(const struct buffer_head *bh) +{ + /* + * make it consistent with folio_test_uptodate + * pairs with smp_mb__before_atomic in set_buffer_uptodate + */ + return (smp_load_acquire(&bh->b_state) & (1UL << BH_Uptodate)) != 0; +} + #define bh_offset(bh) ((unsigned long)(bh)->b_data & ~PAGE_MASK) /* If we *know* page->private refers to buffer_heads */ --- linux-gcp-5.19.0.orig/include/linux/can/platform/sja1000.h +++ linux-gcp-5.19.0/include/linux/can/platform/sja1000.h @@ -14,7 +14,7 @@ #define OCR_MODE_TEST 0x01 #define OCR_MODE_NORMAL 0x02 #define OCR_MODE_CLOCK 0x03 -#define OCR_MODE_MASK 0x07 +#define OCR_MODE_MASK 0x03 #define OCR_TX0_INVERT 0x04 #define OCR_TX0_PULLDOWN 0x08 #define OCR_TX0_PULLUP 0x10 --- linux-gcp-5.19.0.orig/include/linux/cgroup.h +++ linux-gcp-5.19.0/include/linux/cgroup.h @@ -68,6 +68,7 @@ struct list_head iters_node; /* css_set->task_iters */ }; +extern struct file_system_type cgroup_fs_type; extern struct cgroup_root cgrp_dfl_root; extern struct css_set init_css_set; --- linux-gcp-5.19.0.orig/include/linux/clk.h +++ linux-gcp-5.19.0/include/linux/clk.h @@ -459,6 +459,47 @@ struct clk *devm_clk_get(struct device *dev, const char *id); /** + * devm_clk_get_prepared - devm_clk_get() + clk_prepare() + * @dev: device for clock "consumer" + * @id: clock consumer ID + * + * Context: May sleep. + * + * Return: a struct clk corresponding to the clock producer, or + * valid IS_ERR() condition containing errno. The implementation + * uses @dev and @id to determine the clock consumer, and thereby + * the clock producer. (IOW, @id may be identical strings, but + * clk_get may return different clock producers depending on @dev.) + * + * The returned clk (if valid) is prepared. Drivers must however assume + * that the clock is not enabled. + * + * The clock will automatically be unprepared and freed when the device + * is unbound from the bus. + */ +struct clk *devm_clk_get_prepared(struct device *dev, const char *id); + +/** + * devm_clk_get_enabled - devm_clk_get() + clk_prepare_enable() + * @dev: device for clock "consumer" + * @id: clock consumer ID + * + * Context: May sleep. + * + * Return: a struct clk corresponding to the clock producer, or + * valid IS_ERR() condition containing errno. The implementation + * uses @dev and @id to determine the clock consumer, and thereby + * the clock producer. (IOW, @id may be identical strings, but + * clk_get may return different clock producers depending on @dev.) + * + * The returned clk (if valid) is prepared and enabled. + * + * The clock will automatically be disabled, unprepared and freed + * when the device is unbound from the bus. + */ +struct clk *devm_clk_get_enabled(struct device *dev, const char *id); + +/** * devm_clk_get_optional - lookup and obtain a managed reference to an optional * clock producer. * @dev: device for clock "consumer" @@ -470,6 +511,50 @@ struct clk *devm_clk_get_optional(struct device *dev, const char *id); /** + * devm_clk_get_optional_prepared - devm_clk_get_optional() + clk_prepare() + * @dev: device for clock "consumer" + * @id: clock consumer ID + * + * Context: May sleep. + * + * Return: a struct clk corresponding to the clock producer, or + * valid IS_ERR() condition containing errno. The implementation + * uses @dev and @id to determine the clock consumer, and thereby + * the clock producer. If no such clk is found, it returns NULL + * which serves as a dummy clk. That's the only difference compared + * to devm_clk_get_prepared(). + * + * The returned clk (if valid) is prepared. Drivers must however + * assume that the clock is not enabled. + * + * The clock will automatically be unprepared and freed when the + * device is unbound from the bus. + */ +struct clk *devm_clk_get_optional_prepared(struct device *dev, const char *id); + +/** + * devm_clk_get_optional_enabled - devm_clk_get_optional() + + * clk_prepare_enable() + * @dev: device for clock "consumer" + * @id: clock consumer ID + * + * Context: May sleep. + * + * Return: a struct clk corresponding to the clock producer, or + * valid IS_ERR() condition containing errno. The implementation + * uses @dev and @id to determine the clock consumer, and thereby + * the clock producer. If no such clk is found, it returns NULL + * which serves as a dummy clk. That's the only difference compared + * to devm_clk_get_enabled(). + * + * The returned clk (if valid) is prepared and enabled. + * + * The clock will automatically be disabled, unprepared and freed + * when the device is unbound from the bus. + */ +struct clk *devm_clk_get_optional_enabled(struct device *dev, const char *id); + +/** * devm_get_clk_from_child - lookup and obtain a managed reference to a * clock producer from child node. * @dev: device for clock "consumer" @@ -813,11 +898,35 @@ return NULL; } +static inline struct clk *devm_clk_get_prepared(struct device *dev, + const char *id) +{ + return NULL; +} + +static inline struct clk *devm_clk_get_enabled(struct device *dev, + const char *id) +{ + return NULL; +} + static inline struct clk *devm_clk_get_optional(struct device *dev, const char *id) { return NULL; } + +static inline struct clk *devm_clk_get_optional_prepared(struct device *dev, + const char *id) +{ + return NULL; +} + +static inline struct clk *devm_clk_get_optional_enabled(struct device *dev, + const char *id) +{ + return NULL; +} static inline int __must_check devm_clk_bulk_get(struct device *dev, int num_clks, struct clk_bulk_data *clks) --- linux-gcp-5.19.0.orig/include/linux/cpumask.h +++ linux-gcp-5.19.0/include/linux/cpumask.h @@ -1071,4 +1071,23 @@ [0] = 1UL \ } } +/* + * Provide a valid theoretical max size for cpumap and cpulist sysfs files + * to avoid breaking userspace which may allocate a buffer based on the size + * reported by e.g. fstat. + * + * for cpumap NR_CPUS * 9/32 - 1 should be an exact length. + * + * For cpulist 7 is (ceil(log10(NR_CPUS)) + 1) allowing for NR_CPUS to be up + * to 2 orders of magnitude larger than 8192. And then we divide by 2 to + * cover a worst-case of every other cpu being on one of two nodes for a + * very large NR_CPUS. + * + * Use PAGE_SIZE as a minimum for smaller configurations while avoiding + * unsigned comparison to -1. + */ +#define CPUMAP_FILE_MAX_BYTES (((NR_CPUS * 9)/32 > PAGE_SIZE) \ + ? (NR_CPUS * 9)/32 - 1 : PAGE_SIZE) +#define CPULIST_FILE_MAX_BYTES (((NR_CPUS * 7)/2 > PAGE_SIZE) ? (NR_CPUS * 7)/2 : PAGE_SIZE) + #endif /* __LINUX_CPUMASK_H */ --- linux-gcp-5.19.0.orig/include/linux/cred.h +++ linux-gcp-5.19.0/include/linux/cred.h @@ -18,6 +18,7 @@ struct cred; struct inode; +struct lsmblob; /* * COW Supplementary groups list @@ -165,7 +166,7 @@ extern void revert_creds(const struct cred *); extern struct cred *prepare_kernel_cred(struct task_struct *); extern int change_create_files_as(struct cred *, struct inode *); -extern int set_security_override(struct cred *, u32); +extern int set_security_override(struct cred *, struct lsmblob *); extern int set_security_override_from_ctx(struct cred *, const char *); extern int set_create_files_as(struct cred *, struct inode *); extern int cred_fscmp(const struct cred *, const struct cred *); --- linux-gcp-5.19.0.orig/include/linux/debugfs.h +++ linux-gcp-5.19.0/include/linux/debugfs.h @@ -45,7 +45,7 @@ extern struct dentry *arch_debugfs_dir; -#define DEFINE_DEBUGFS_ATTRIBUTE(__fops, __get, __set, __fmt) \ +#define DEFINE_DEBUGFS_ATTRIBUTE_XSIGNED(__fops, __get, __set, __fmt, __is_signed) \ static int __fops ## _open(struct inode *inode, struct file *file) \ { \ __simple_attr_check_format(__fmt, 0ull); \ @@ -56,10 +56,16 @@ .open = __fops ## _open, \ .release = simple_attr_release, \ .read = debugfs_attr_read, \ - .write = debugfs_attr_write, \ + .write = (__is_signed) ? debugfs_attr_write_signed : debugfs_attr_write, \ .llseek = no_llseek, \ } +#define DEFINE_DEBUGFS_ATTRIBUTE(__fops, __get, __set, __fmt) \ + DEFINE_DEBUGFS_ATTRIBUTE_XSIGNED(__fops, __get, __set, __fmt, false) + +#define DEFINE_DEBUGFS_ATTRIBUTE_SIGNED(__fops, __get, __set, __fmt) \ + DEFINE_DEBUGFS_ATTRIBUTE_XSIGNED(__fops, __get, __set, __fmt, true) + typedef struct vfsmount *(*debugfs_automount_t)(struct dentry *, void *); #if defined(CONFIG_DEBUG_FS) @@ -91,6 +97,8 @@ void debugfs_remove(struct dentry *dentry); #define debugfs_remove_recursive debugfs_remove +void debugfs_lookup_and_remove(const char *name, struct dentry *parent); + const struct file_operations *debugfs_real_fops(const struct file *filp); int debugfs_file_get(struct dentry *dentry); @@ -100,6 +108,8 @@ size_t len, loff_t *ppos); ssize_t debugfs_attr_write(struct file *file, const char __user *buf, size_t len, loff_t *ppos); +ssize_t debugfs_attr_write_signed(struct file *file, const char __user *buf, + size_t len, loff_t *ppos); struct dentry *debugfs_rename(struct dentry *old_dir, struct dentry *old_dentry, struct dentry *new_dir, const char *new_name); @@ -225,6 +235,10 @@ static inline void debugfs_remove_recursive(struct dentry *dentry) { } +static inline void debugfs_lookup_and_remove(const char *name, + struct dentry *parent) +{ } + const struct file_operations *debugfs_real_fops(const struct file *filp); static inline int debugfs_file_get(struct dentry *dentry) @@ -245,6 +259,13 @@ const char __user *buf, size_t len, loff_t *ppos) { + return -ENODEV; +} + +static inline ssize_t debugfs_attr_write_signed(struct file *file, + const char __user *buf, + size_t len, loff_t *ppos) +{ return -ENODEV; } --- linux-gcp-5.19.0.orig/include/linux/devfreq.h +++ linux-gcp-5.19.0/include/linux/devfreq.h @@ -152,8 +152,8 @@ * @max_state: count of entry present in the frequency table. * @previous_freq: previously configured frequency value. * @last_status: devfreq user device info, performance statistics - * @data: Private data of the governor. The devfreq framework does not - * touch this. + * @data: devfreq driver pass to governors, governor should not change it. + * @governor_data: private data for governors, devfreq core doesn't touch it. * @user_min_freq_req: PM QoS minimum frequency request from user (via sysfs) * @user_max_freq_req: PM QoS maximum frequency request from user (via sysfs) * @scaling_min_freq: Limit minimum frequency requested by OPP interface @@ -193,7 +193,8 @@ unsigned long previous_freq; struct devfreq_dev_status last_status; - void *data; /* private data for governors */ + void *data; + void *governor_data; struct dev_pm_qos_request user_min_freq_req; struct dev_pm_qos_request user_max_freq_req; --- linux-gcp-5.19.0.orig/include/linux/device-mapper.h +++ linux-gcp-5.19.0/include/linux/device-mapper.h @@ -373,6 +373,12 @@ * after returning DM_MAPIO_SUBMITTED from its map function. */ bool accounts_remapped_io:1; + + /* + * Set if the target will submit the DM bio without first calling + * bio_set_dev(). NOTE: ideally a target should _not_ need this. + */ + bool needs_bio_set_dev:1; }; void *dm_per_bio_data(struct bio *bio, size_t data_size); --- linux-gcp-5.19.0.orig/include/linux/device.h +++ linux-gcp-5.19.0/include/linux/device.h @@ -327,6 +327,7 @@ #define DL_FLAG_MANAGED BIT(6) #define DL_FLAG_SYNC_STATE_ONLY BIT(7) #define DL_FLAG_INFERRED BIT(8) +#define DL_FLAG_CYCLE BIT(9) /** * enum dl_dev_state - Device driver presence tracking information. --- linux-gcp-5.19.0.orig/include/linux/dsa/tag_qca.h +++ linux-gcp-5.19.0/include/linux/dsa/tag_qca.h @@ -40,8 +40,8 @@ QCA_HDR_MGMT_COMMAND_LEN + \ QCA_HDR_MGMT_DATA1_LEN) -#define QCA_HDR_MGMT_DATA2_LEN 12 /* Other 12 byte for the mdio data */ -#define QCA_HDR_MGMT_PADDING_LEN 34 /* Padding to reach the min Ethernet packet */ +#define QCA_HDR_MGMT_DATA2_LEN 28 /* Other 28 byte for the mdio data */ +#define QCA_HDR_MGMT_PADDING_LEN 18 /* Padding to reach the min Ethernet packet */ #define QCA_HDR_MGMT_PKT_LEN (QCA_HDR_MGMT_HEADER_LEN + \ QCA_HDR_LEN + \ --- linux-gcp-5.19.0.orig/include/linux/dynamic_debug.h +++ linux-gcp-5.19.0/include/linux/dynamic_debug.h @@ -55,9 +55,6 @@ #if defined(CONFIG_DYNAMIC_DEBUG_CORE) -/* exported for module authors to exercise >control */ -int dynamic_debug_exec_queries(const char *query, const char *modname); - int ddebug_add_module(struct _ddebug *tab, unsigned int n, const char *modname); extern int ddebug_remove_module(const char *mod_name); @@ -201,7 +198,7 @@ static inline int ddebug_dyndbg_module_param_cb(char *param, char *val, const char *modname) { - if (strstr(param, "dyndbg")) { + if (!strcmp(param, "dyndbg")) { /* avoid pr_warn(), which wants pr_fmt() fully defined */ printk(KERN_WARNING "dyndbg param is supported only in " "CONFIG_DYNAMIC_DEBUG builds\n"); @@ -221,12 +218,6 @@ rowsize, groupsize, buf, len, ascii); \ } while (0) -static inline int dynamic_debug_exec_queries(const char *query, const char *modname) -{ - pr_warn("kernel not built with CONFIG_DYNAMIC_DEBUG_CORE\n"); - return 0; -} - #endif /* !CONFIG_DYNAMIC_DEBUG_CORE */ #endif --- linux-gcp-5.19.0.orig/include/linux/efi.h +++ linux-gcp-5.19.0/include/linux/efi.h @@ -43,6 +43,8 @@ #define EFI_ABORTED (21 | (1UL << (BITS_PER_LONG-1))) #define EFI_SECURITY_VIOLATION (26 | (1UL << (BITS_PER_LONG-1))) +#define EFI_IS_ERROR(x) ((x) & (1UL << (BITS_PER_LONG-1))) + typedef unsigned long efi_status_t; typedef u8 efi_bool_t; typedef u16 efi_char16_t; /* UNICODE character */ @@ -849,6 +851,23 @@ #define EFI_MEM_ATTR 10 /* Did firmware publish an EFI_MEMORY_ATTRIBUTES table? */ #define EFI_MEM_NO_SOFT_RESERVE 11 /* Is the kernel configured to ignore soft reservations? */ #define EFI_PRESERVE_BS_REGIONS 12 /* Are EFI boot-services memory segments available? */ +#define EFI_SECURE_BOOT 13 /* Are we in Secure Boot mode? */ + +enum efi_secureboot_mode { + efi_secureboot_mode_unset, + efi_secureboot_mode_unknown, + efi_secureboot_mode_disabled, + efi_secureboot_mode_enabled, +}; + +#ifdef CONFIG_EFI_PARAMS_FROM_FDT +u32 __init efi_get__secure_boot(void); +#else +static inline u32 efi_get__secure_boot(void) +{ + return efi_secureboot_mode_unset; +}; +#endif #ifdef CONFIG_EFI /* @@ -860,6 +879,8 @@ } extern void efi_reboot(enum reboot_mode reboot_mode, const char *__unused); +extern void __init efi_set_secure_boot(enum efi_secureboot_mode mode); + bool __pure __efi_soft_reserve_enabled(void); static inline bool __pure efi_soft_reserve_enabled(void) @@ -880,6 +901,8 @@ static inline void efi_reboot(enum reboot_mode reboot_mode, const char *__unused) {} +static inline void efi_set_secure_boot(enum efi_secureboot_mode mode) {} + static inline bool efi_soft_reserve_enabled(void) { return false; @@ -892,6 +915,7 @@ #endif extern int efi_status_to_err(efi_status_t status); +extern const char *efi_status_to_str(efi_status_t status); /* * Variable Attributes @@ -1144,13 +1168,6 @@ extern void efi_call_virt_check_flags(unsigned long flags, const char *call); extern unsigned long efi_call_virt_save_flags(void); -enum efi_secureboot_mode { - efi_secureboot_mode_unset, - efi_secureboot_mode_unknown, - efi_secureboot_mode_disabled, - efi_secureboot_mode_enabled, -}; - static inline enum efi_secureboot_mode efi_get_secureboot_mode(efi_get_variable_t *get_var) { @@ -1179,8 +1196,6 @@ static inline void efi_check_for_embedded_firmwares(void) { } #endif -efi_status_t efi_random_get_seed(void); - /* * Arch code can implement the following three template macros, avoiding * reptition for the void/non-void return cases of {__,}efi_call_virt(): @@ -1230,7 +1245,7 @@ arch_efi_call_virt_teardown(); \ }) -#define EFI_RANDOM_SEED_SIZE 64U +#define EFI_RANDOM_SEED_SIZE 32U // BLAKE2S_HASH_SIZE struct linux_efi_random_seed { u32 size; --- linux-gcp-5.19.0.orig/include/linux/elfcore.h +++ linux-gcp-5.19.0/include/linux/elfcore.h @@ -114,14 +114,14 @@ * Dumping its extra ELF program headers includes all the other information * a debugger needs to easily find how the gate DSO was being used. */ -extern Elf_Half elf_core_extra_phdrs(void); +extern Elf_Half elf_core_extra_phdrs(struct coredump_params *cprm); extern int elf_core_write_extra_phdrs(struct coredump_params *cprm, loff_t offset); extern int elf_core_write_extra_data(struct coredump_params *cprm); -extern size_t elf_core_extra_data_size(void); +extern size_t elf_core_extra_data_size(struct coredump_params *cprm); #else -static inline Elf_Half elf_core_extra_phdrs(void) +static inline Elf_Half elf_core_extra_phdrs(struct coredump_params *cprm) { return 0; } @@ -136,7 +136,7 @@ return 1; } -static inline size_t elf_core_extra_data_size(void) +static inline size_t elf_core_extra_data_size(struct coredump_params *cprm) { return 0; } --- linux-gcp-5.19.0.orig/include/linux/energy_model.h +++ linux-gcp-5.19.0/include/linux/energy_model.h @@ -62,7 +62,7 @@ /* * em_perf_domain flags: * - * EM_PERF_DOMAIN_MILLIWATTS: The power values are in milli-Watts or some + * EM_PERF_DOMAIN_MICROWATTS: The power values are in micro-Watts or some * other scale. * * EM_PERF_DOMAIN_SKIP_INEFFICIENCIES: Skip inefficient states when estimating @@ -71,7 +71,7 @@ * EM_PERF_DOMAIN_ARTIFICIAL: The power values are artificial and might be * created by platform missing real power information */ -#define EM_PERF_DOMAIN_MILLIWATTS BIT(0) +#define EM_PERF_DOMAIN_MICROWATTS BIT(0) #define EM_PERF_DOMAIN_SKIP_INEFFICIENCIES BIT(1) #define EM_PERF_DOMAIN_ARTIFICIAL BIT(2) @@ -79,22 +79,44 @@ #define em_is_artificial(em) ((em)->flags & EM_PERF_DOMAIN_ARTIFICIAL) #ifdef CONFIG_ENERGY_MODEL -#define EM_MAX_POWER 0xFFFF +/* + * The max power value in micro-Watts. The limit of 64 Watts is set as + * a safety net to not overflow multiplications on 32bit platforms. The + * 32bit value limit for total Perf Domain power implies a limit of + * maximum CPUs in such domain to 64. + */ +#define EM_MAX_POWER (64000000) /* 64 Watts */ /* - * Increase resolution of energy estimation calculations for 64-bit - * architectures. The extra resolution improves decision made by EAS for the - * task placement when two Performance Domains might provide similar energy - * estimation values (w/o better resolution the values could be equal). - * - * We increase resolution only if we have enough bits to allow this increased - * resolution (i.e. 64-bit). The costs for increasing resolution when 32-bit - * are pretty high and the returns do not justify the increased costs. + * To avoid possible energy estimation overflow on 32bit machines add + * limits to number of CPUs in the Perf. Domain. + * We are safe on 64bit machine, thus some big number. + */ +#ifdef CONFIG_64BIT +#define EM_MAX_NUM_CPUS 4096 +#else +#define EM_MAX_NUM_CPUS 16 +#endif + +/* + * To avoid an overflow on 32bit machines while calculating the energy + * use a different order in the operation. First divide by the 'cpu_scale' + * which would reduce big value stored in the 'cost' field, then multiply by + * the 'sum_util'. This would allow to handle existing platforms, which have + * e.g. power ~1.3 Watt at max freq, so the 'cost' value > 1mln micro-Watts. + * In such scenario, where there are 4 CPUs in the Perf. Domain the 'sum_util' + * could be 4096, then multiplication: 'cost' * 'sum_util' would overflow. + * This reordering of operations has some limitations, we lose small + * precision in the estimation (comparing to 64bit platform w/o reordering). + * + * We are safe on 64bit machine. */ #ifdef CONFIG_64BIT -#define em_scale_power(p) ((p) * 1000) +#define em_estimate_energy(cost, sum_util, scale_cpu) \ + (((cost) * (sum_util)) / (scale_cpu)) #else -#define em_scale_power(p) (p) +#define em_estimate_energy(cost, sum_util, scale_cpu) \ + (((cost) / (scale_cpu)) * (sum_util)) #endif struct em_data_callback { @@ -112,7 +134,7 @@ * and frequency. * * In case of CPUs, the power is the one of a single CPU in the domain, - * expressed in milli-Watts or an abstract scale. It is expected to + * expressed in micro-Watts or an abstract scale. It is expected to * fit in the [0, EM_MAX_POWER] range. * * Return 0 on success. @@ -148,7 +170,7 @@ struct em_perf_domain *em_pd_get(struct device *dev); int em_dev_register_perf_domain(struct device *dev, unsigned int nr_states, struct em_data_callback *cb, cpumask_t *span, - bool milliwatts); + bool microwatts); void em_dev_unregister_perf_domain(struct device *dev); /** @@ -273,7 +295,7 @@ * pd_nrg = ------------------------ (4) * scale_cpu */ - return ps->cost * sum_util / scale_cpu; + return em_estimate_energy(ps->cost, sum_util, scale_cpu); } /** @@ -297,7 +319,7 @@ static inline int em_dev_register_perf_domain(struct device *dev, unsigned int nr_states, struct em_data_callback *cb, cpumask_t *span, - bool milliwatts) + bool microwatts) { return -EINVAL; } --- linux-gcp-5.19.0.orig/include/linux/eventfd.h +++ linux-gcp-5.19.0/include/linux/eventfd.h @@ -40,13 +40,14 @@ struct eventfd_ctx *eventfd_ctx_fdget(int fd); struct eventfd_ctx *eventfd_ctx_fileget(struct file *file); __u64 eventfd_signal(struct eventfd_ctx *ctx, __u64 n); +__u64 eventfd_signal_mask(struct eventfd_ctx *ctx, __u64 n, unsigned mask); int eventfd_ctx_remove_wait_queue(struct eventfd_ctx *ctx, wait_queue_entry_t *wait, __u64 *cnt); void eventfd_ctx_do_read(struct eventfd_ctx *ctx, __u64 *cnt); static inline bool eventfd_signal_allowed(void) { - return !current->in_eventfd_signal; + return !current->in_eventfd; } #else /* CONFIG_EVENTFD */ @@ -61,7 +62,13 @@ return ERR_PTR(-ENOSYS); } -static inline int eventfd_signal(struct eventfd_ctx *ctx, int n) +static inline int eventfd_signal(struct eventfd_ctx *ctx, __u64 n) +{ + return -ENOSYS; +} + +static inline int eventfd_signal_mask(struct eventfd_ctx *ctx, __u64 n, + unsigned mask) { return -ENOSYS; } --- linux-gcp-5.19.0.orig/include/linux/export-internal.h +++ linux-gcp-5.19.0/include/linux/export-internal.h @@ -10,8 +10,10 @@ #include #include -/* __used is needed to keep __crc_* for LTO */ #define SYMBOL_CRC(sym, crc, sec) \ - u32 __section("___kcrctab" sec "+" #sym) __used __crc_##sym = crc + asm(".section \"___kcrctab" sec "+" #sym "\",\"a\"" "\n" \ + "__crc_" #sym ":" "\n" \ + ".long " #crc "\n" \ + ".previous" "\n") #endif /* __LINUX_EXPORT_INTERNAL_H__ */ --- linux-gcp-5.19.0.orig/include/linux/fault-inject.h +++ linux-gcp-5.19.0/include/linux/fault-inject.h @@ -20,7 +20,6 @@ atomic_t space; unsigned long verbose; bool task_filter; - bool no_warn; unsigned long stacktrace_depth; unsigned long require_start; unsigned long require_end; @@ -32,6 +31,10 @@ struct dentry *dname; }; +enum fault_flags { + FAULT_NOWARN = 1 << 0, +}; + #define FAULT_ATTR_INITIALIZER { \ .interval = 1, \ .times = ATOMIC_INIT(1), \ @@ -40,11 +43,11 @@ .ratelimit_state = RATELIMIT_STATE_INIT_DISABLED, \ .verbose = 2, \ .dname = NULL, \ - .no_warn = false, \ } #define DECLARE_FAULT_ATTR(name) struct fault_attr name = FAULT_ATTR_INITIALIZER int setup_fault_attr(struct fault_attr *attr, char *str); +bool should_fail_ex(struct fault_attr *attr, ssize_t size, int flags); bool should_fail(struct fault_attr *attr, ssize_t size); #ifdef CONFIG_FAULT_INJECTION_DEBUG_FS --- linux-gcp-5.19.0.orig/include/linux/fb.h +++ linux-gcp-5.19.0/include/linux/fb.h @@ -673,6 +673,7 @@ extern void fb_deferred_io_open(struct fb_info *info, struct inode *inode, struct file *file); +extern void fb_deferred_io_release(struct fb_info *info); extern void fb_deferred_io_cleanup(struct fb_info *info); extern int fb_deferred_io_fsync(struct file *file, loff_t start, loff_t end, int datasync); --- linux-gcp-5.19.0.orig/include/linux/filter.h +++ linux-gcp-5.19.0/include/linux/filter.h @@ -948,6 +948,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog); void bpf_jit_compile(struct bpf_prog *prog); bool bpf_jit_needs_zext(void); +bool bpf_jit_supports_subprog_tailcalls(void); bool bpf_jit_supports_kfunc_call(void); bool bpf_helper_changes_pkt_data(void *func); @@ -1051,6 +1052,8 @@ typedef void (*bpf_jit_fill_hole_t)(void *area, unsigned int size); +void bpf_jit_fill_hole_with_zero(void *area, unsigned int size); + struct bpf_binary_header * bpf_jit_binary_alloc(unsigned int proglen, u8 **image_ptr, unsigned int alignment, @@ -1060,6 +1063,17 @@ void *bpf_jit_alloc_exec(unsigned long size); void bpf_jit_free_exec(void *addr); void bpf_jit_free(struct bpf_prog *fp); +struct bpf_binary_header * +bpf_jit_binary_pack_hdr(const struct bpf_prog *fp); + +void *bpf_prog_pack_alloc(u32 size, bpf_jit_fill_hole_t bpf_fill_ill_insns); +void bpf_prog_pack_free(struct bpf_binary_header *hdr); + +static inline bool bpf_prog_kallsyms_verify_off(const struct bpf_prog *fp) +{ + return list_empty(&fp->aux->ksym.lnode) || + fp->aux->ksym.lnode.prev == LIST_POISON2; +} struct bpf_binary_header * bpf_jit_binary_pack_alloc(unsigned int proglen, u8 **ro_image, --- linux-gcp-5.19.0.orig/include/linux/fortify-string.h +++ linux-gcp-5.19.0/include/linux/fortify-string.h @@ -16,10 +16,11 @@ #define __compiletime_strlen(p) \ ({ \ - unsigned char *__p = (unsigned char *)(p); \ + char *__p = (char *)(p); \ size_t __ret = (size_t)-1; \ size_t __p_size = __builtin_object_size(p, 1); \ - if (__p_size != (size_t)-1) { \ + if (__p_size != (size_t)-1 && \ + __builtin_constant_p(*__p)) { \ size_t __p_len = __p_size - 1; \ if (__builtin_constant_p(__p[__p_len]) && \ __p[__p_len] == '\0') \ --- linux-gcp-5.19.0.orig/include/linux/fs.h +++ linux-gcp-5.19.0/include/linux/fs.h @@ -1154,6 +1154,7 @@ extern int vfs_test_lock(struct file *, struct file_lock *); extern int vfs_lock_file(struct file *, unsigned int, struct file_lock *, struct file_lock *); extern int vfs_cancel_lock(struct file *filp, struct file_lock *fl); +bool vfs_inode_has_locks(struct inode *inode); extern int locks_lock_inode_wait(struct inode *inode, struct file_lock *fl); extern int __break_lease(struct inode *inode, unsigned int flags, unsigned int type); extern void lease_get_mtime(struct inode *, struct timespec64 *time); @@ -1268,6 +1269,11 @@ return 0; } +static inline bool vfs_inode_has_locks(struct inode *inode) +{ + return false; +} + static inline int locks_lock_inode_wait(struct inode *inode, struct file_lock *fl) { return -ENOLCK; @@ -1455,7 +1461,7 @@ const struct xattr_handler **s_xattr; #ifdef CONFIG_FS_ENCRYPTION const struct fscrypt_operations *s_cop; - struct key *s_master_keys; /* master crypto keys in use */ + struct fscrypt_keyring *s_master_keys; /* master crypto keys in use */ #endif #ifdef CONFIG_FS_VERITY const struct fsverity_operations *s_vop; @@ -1958,6 +1964,14 @@ */ #define REMAP_FILE_ADVISORY (REMAP_FILE_CAN_SHORTEN) +/* + * These flags control the behavior of vfs_copy_file_range(). + * They are not available to the user via syscall. + * + * COPY_FILE_SPLICE: call splice direct instead of fs clone/copy ops + */ +#define COPY_FILE_SPLICE (1 << 0) + struct iov_iter; struct io_uring_cmd; @@ -2241,13 +2255,14 @@ * don't have to write inode on fdatasync() when only * e.g. the timestamps have changed. * I_DIRTY_PAGES Inode has dirty pages. Inode itself may be clean. - * I_DIRTY_TIME The inode itself only has dirty timestamps, and the + * I_DIRTY_TIME The inode itself has dirty timestamps, and the * lazytime mount option is enabled. We keep track of this * separately from I_DIRTY_SYNC in order to implement * lazytime. This gets cleared if I_DIRTY_INODE - * (I_DIRTY_SYNC and/or I_DIRTY_DATASYNC) gets set. I.e. - * either I_DIRTY_TIME *or* I_DIRTY_INODE can be set in - * i_state, but not both. I_DIRTY_PAGES may still be set. + * (I_DIRTY_SYNC and/or I_DIRTY_DATASYNC) gets set. But + * I_DIRTY_TIME can still be set if I_DIRTY_SYNC is already + * in place because writeback might already be in progress + * and we don't want to lose the time update * I_NEW Serves as both a mutex and completion notification. * New inodes set I_NEW. If two processes both create * the same inode, one of them will release its inode and @@ -3345,7 +3360,7 @@ * All attributes contain a text representation of a numeric value * that are accessed with the get() and set() functions. */ -#define DEFINE_SIMPLE_ATTRIBUTE(__fops, __get, __set, __fmt) \ +#define DEFINE_SIMPLE_ATTRIBUTE_XSIGNED(__fops, __get, __set, __fmt, __is_signed) \ static int __fops ## _open(struct inode *inode, struct file *file) \ { \ __simple_attr_check_format(__fmt, 0ull); \ @@ -3356,10 +3371,16 @@ .open = __fops ## _open, \ .release = simple_attr_release, \ .read = simple_attr_read, \ - .write = simple_attr_write, \ + .write = (__is_signed) ? simple_attr_write_signed : simple_attr_write, \ .llseek = generic_file_llseek, \ } +#define DEFINE_SIMPLE_ATTRIBUTE(__fops, __get, __set, __fmt) \ + DEFINE_SIMPLE_ATTRIBUTE_XSIGNED(__fops, __get, __set, __fmt, false) + +#define DEFINE_SIMPLE_ATTRIBUTE_SIGNED(__fops, __get, __set, __fmt) \ + DEFINE_SIMPLE_ATTRIBUTE_XSIGNED(__fops, __get, __set, __fmt, true) + static inline __printf(1, 2) void __simple_attr_check_format(const char *fmt, ...) { @@ -3374,6 +3395,8 @@ size_t len, loff_t *ppos); ssize_t simple_attr_write(struct file *file, const char __user *buf, size_t len, loff_t *ppos); +ssize_t simple_attr_write_signed(struct file *file, const char __user *buf, + size_t len, loff_t *ppos); struct ctl_table; int __init list_bdev_fs_names(char *buf, size_t size); --- linux-gcp-5.19.0.orig/include/linux/fs_parser.h +++ linux-gcp-5.19.0/include/linux/fs_parser.h @@ -76,6 +76,7 @@ extern int fs_lookup_param(struct fs_context *fc, struct fs_parameter *param, bool want_bdev, + unsigned int flags, struct path *_path); extern int lookup_constant(const struct constant_table tbl[], const char *name, int not_found); --- linux-gcp-5.19.0.orig/include/linux/fscache.h +++ linux-gcp-5.19.0/include/linux/fscache.h @@ -75,7 +75,7 @@ atomic_t n_accesses; /* Number of cache accesses in progress */ unsigned int debug_id; unsigned int key_hash; /* Hash of key string */ - char *key; /* Volume ID, eg. "afs@example.com@1234" */ + u8 *key; /* Volume ID, eg. "afs@example.com@1234" */ struct list_head proc_link; /* Link in /proc/fs/fscache/volumes */ struct hlist_bl_node hash_link; /* Link in hash table */ struct work_struct work; --- linux-gcp-5.19.0.orig/include/linux/fscrypt.h +++ linux-gcp-5.19.0/include/linux/fscrypt.h @@ -311,7 +311,7 @@ } /* keyring.c */ -void fscrypt_sb_free(struct super_block *sb); +void fscrypt_destroy_keyring(struct super_block *sb); int fscrypt_ioctl_add_key(struct file *filp, void __user *arg); int fscrypt_add_test_dummy_key(struct super_block *sb, const struct fscrypt_dummy_policy *dummy_policy); @@ -521,7 +521,7 @@ } /* keyring.c */ -static inline void fscrypt_sb_free(struct super_block *sb) +static inline void fscrypt_destroy_keyring(struct super_block *sb) { } --- linux-gcp-5.19.0.orig/include/linux/hid.h +++ linux-gcp-5.19.0/include/linux/hid.h @@ -628,6 +628,7 @@ unsigned long status; /* see STAT flags above */ unsigned claimed; /* Claimed by hidinput, hiddev? */ unsigned quirks; /* Various quirks the device can pull on us */ + unsigned initial_quirks; /* Initial set of quirks supplied when creating device */ bool io_started; /* If IO has started */ struct list_head inputs; /* The list of inputs */ --- linux-gcp-5.19.0.orig/include/linux/highmem-internal.h +++ linux-gcp-5.19.0/include/linux/highmem-internal.h @@ -200,7 +200,7 @@ static inline void __kunmap_local(void *addr) { #ifdef ARCH_HAS_FLUSH_ON_KUNMAP - kunmap_flush_on_unmap(addr); + kunmap_flush_on_unmap(PTR_ALIGN_DOWN(addr, PAGE_SIZE)); #endif } @@ -227,7 +227,7 @@ static inline void __kunmap_atomic(void *addr) { #ifdef ARCH_HAS_FLUSH_ON_KUNMAP - kunmap_flush_on_unmap(addr); + kunmap_flush_on_unmap(PTR_ALIGN_DOWN(addr, PAGE_SIZE)); #endif pagefault_enable(); if (IS_ENABLED(CONFIG_PREEMPT_RT)) --- linux-gcp-5.19.0.orig/include/linux/highmem.h +++ linux-gcp-5.19.0/include/linux/highmem.h @@ -243,6 +243,16 @@ kunmap_local(kaddr); } +static inline void clear_highpage_kasan_tagged(struct page *page) +{ + u8 tag; + + tag = page_kasan_tag(page); + page_kasan_tag_reset(page); + clear_highpage(page); + page_kasan_tag_set(page, tag); +} + #ifndef __HAVE_ARCH_TAG_CLEAR_HIGHPAGE static inline void tag_clear_highpage(struct page *page) --- linux-gcp-5.19.0.orig/include/linux/hisi_acc_qm.h +++ linux-gcp-5.19.0/include/linux/hisi_acc_qm.h @@ -370,14 +370,14 @@ static inline int q_num_set(const char *val, const struct kernel_param *kp, unsigned int device) { - struct pci_dev *pdev = pci_get_device(PCI_VENDOR_ID_HUAWEI, - device, NULL); + struct pci_dev *pdev; u32 n, q_num; int ret; if (!val) return -EINVAL; + pdev = pci_get_device(PCI_VENDOR_ID_HUAWEI, device, NULL); if (!pdev) { q_num = min_t(u32, QM_QNUM_V1, QM_QNUM_V2); pr_info("No device found currently, suppose queue number is %u\n", @@ -387,6 +387,8 @@ q_num = QM_QNUM_V1; else q_num = QM_QNUM_V2; + + pci_dev_put(pdev); } ret = kstrtou32(val, 10, &n); --- linux-gcp-5.19.0.orig/include/linux/hugetlb.h +++ linux-gcp-5.19.0/include/linux/hugetlb.h @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -170,7 +171,7 @@ vm_flags_t vm_flags); long hugetlb_unreserve_pages(struct inode *inode, long start, long end, long freed); -bool isolate_huge_page(struct page *page, struct list_head *list); +int isolate_hugetlb(struct page *page, struct list_head *list); int get_hwpoison_huge_page(struct page *page, bool *hugetlb); int get_huge_page_for_hwpoison(unsigned long pfn, int flags); void putback_active_hugepage(struct page *page); @@ -203,8 +204,8 @@ struct page *follow_huge_pd(struct vm_area_struct *vma, unsigned long address, hugepd_t hpd, int flags, int pdshift); -struct page *follow_huge_pmd(struct mm_struct *mm, unsigned long address, - pmd_t *pmd, int flags); +struct page *follow_huge_pmd_pte(struct vm_area_struct *vma, unsigned long address, + int flags); struct page *follow_huge_pud(struct mm_struct *mm, unsigned long address, pud_t *pud, int flags); struct page *follow_huge_pgd(struct mm_struct *mm, unsigned long address, @@ -308,8 +309,8 @@ return NULL; } -static inline struct page *follow_huge_pmd(struct mm_struct *mm, - unsigned long address, pmd_t *pmd, int flags) +static inline struct page *follow_huge_pmd_pte(struct vm_area_struct *vma, + unsigned long address, int flags) { return NULL; } @@ -376,9 +377,9 @@ return NULL; } -static inline bool isolate_huge_page(struct page *page, struct list_head *list) +static inline int isolate_hugetlb(struct page *page, struct list_head *list) { - return false; + return -EBUSY; } static inline int get_hwpoison_huge_page(struct page *page, bool *hugetlb) @@ -707,7 +708,10 @@ if (!page_size_log) return &default_hstate; - return size_to_hstate(1UL << page_size_log); + if (page_size_log < BITS_PER_LONG) + return size_to_hstate(1UL << page_size_log); + + return NULL; } static inline struct hstate *hstate_vma(struct vm_area_struct *vma) @@ -1133,6 +1137,18 @@ } #endif +#ifdef CONFIG_ARCH_WANT_HUGE_PMD_SHARE +static inline bool hugetlb_pmd_shared(pte_t *pte) +{ + return page_count(virt_to_page(pte)) > 1; +} +#else +static inline bool hugetlb_pmd_shared(pte_t *pte) +{ + return false; +} +#endif + bool want_pmd_share(struct vm_area_struct *vma, unsigned long addr); #ifndef __HAVE_ARCH_FLUSH_HUGETLB_TLB_RANGE --- linux-gcp-5.19.0.orig/include/linux/hw_random.h +++ linux-gcp-5.19.0/include/linux/hw_random.h @@ -50,6 +50,7 @@ struct list_head list; struct kref ref; struct completion cleanup_done; + struct completion dying; }; struct device; @@ -61,4 +62,6 @@ extern void hwrng_unregister(struct hwrng *rng); extern void devm_hwrng_unregister(struct device *dve, struct hwrng *rng); +extern long hwrng_msleep(struct hwrng *rng, unsigned int msecs); + #endif /* LINUX_HWRANDOM_H_ */ --- linux-gcp-5.19.0.orig/include/linux/hyperv.h +++ linux-gcp-5.19.0/include/linux/hyperv.h @@ -1341,6 +1341,8 @@ int hv_ringbuffer_get_debuginfo(struct hv_ring_buffer_info *ring_info, struct hv_ring_buffer_debug_info *debug_info); +bool hv_ringbuffer_spinlock_busy(struct vmbus_channel *channel); + /* Vmbus interface */ #define vmbus_driver_register(driver) \ __vmbus_driver_register(driver, THIS_MODULE, KBUILD_MODNAME) --- linux-gcp-5.19.0.orig/include/linux/hypervisor.h +++ linux-gcp-5.19.0/include/linux/hypervisor.h @@ -32,4 +32,12 @@ #endif /* !CONFIG_X86 */ +static inline bool hypervisor_isolated_pci_functions(void) +{ + if (IS_ENABLED(CONFIG_S390)) + return true; + + return jailhouse_paravirt(); +} + #endif /* __LINUX_HYPEVISOR_H */ --- linux-gcp-5.19.0.orig/include/linux/idr.h +++ linux-gcp-5.19.0/include/linux/idr.h @@ -171,7 +171,7 @@ */ static inline void idr_preload_end(void) { - local_unlock(&radix_tree_preloads.lock); + preempt_enable(); } /** --- linux-gcp-5.19.0.orig/include/linux/ieee80211.h +++ linux-gcp-5.19.0/include/linux/ieee80211.h @@ -4345,4 +4345,7 @@ IEEE80211_RANGE_PARAMS_MAX_TOTAL_LTF_UNSPECIFIED, }; +/* multi-link device */ +#define IEEE80211_MLD_MAX_NUM_LINKS 15 + #endif /* LINUX_IEEE80211_H */ --- linux-gcp-5.19.0.orig/include/linux/iio/common/cros_ec_sensors_core.h +++ linux-gcp-5.19.0/include/linux/iio/common/cros_ec_sensors_core.h @@ -95,8 +95,11 @@ struct platform_device; int cros_ec_sensors_core_init(struct platform_device *pdev, struct iio_dev *indio_dev, bool physical_device, - cros_ec_sensors_capture_t trigger_capture, - cros_ec_sensorhub_push_data_cb_t push_data); + cros_ec_sensors_capture_t trigger_capture); + +int cros_ec_sensors_core_register(struct device *dev, + struct iio_dev *indio_dev, + cros_ec_sensorhub_push_data_cb_t push_data); irqreturn_t cros_ec_sensors_capture(int irq, void *p); int cros_ec_sensors_push_data(struct iio_dev *indio_dev, --- linux-gcp-5.19.0.orig/include/linux/iio/iio-opaque.h +++ linux-gcp-5.19.0/include/linux/iio/iio-opaque.h @@ -11,6 +11,7 @@ * checked by device drivers but should be considered * read-only as this is a core internal bit * @driver_module: used to make it harder to undercut users + * @mlock_key: lockdep class for iio_dev lock * @info_exist_lock: lock to prevent use during removal * @trig_readonly: mark the current trigger immutable * @event_interface: event chrdevs associated with interrupt lines @@ -42,6 +43,7 @@ int currentmode; int id; struct module *driver_module; + struct lock_class_key mlock_key; struct mutex info_exist_lock; bool trig_readonly; struct iio_event_interface *event_interface; --- linux-gcp-5.19.0.orig/include/linux/iio/iio.h +++ linux-gcp-5.19.0/include/linux/iio/iio.h @@ -9,6 +9,7 @@ #include #include +#include #include #include /* IIO TODO LIST */ @@ -709,8 +710,13 @@ return dev_get_drvdata(&indio_dev->dev); } -/* Can we make this smaller? */ -#define IIO_ALIGN L1_CACHE_BYTES +/* + * Used to ensure the iio_priv() structure is aligned to allow that structure + * to in turn include IIO_DMA_MINALIGN'd elements such as buffers which + * must not share cachelines with the rest of the structure, thus making + * them safe for use with non-coherent DMA. + */ +#define IIO_DMA_MINALIGN ARCH_KMALLOC_MINALIGN struct iio_dev *iio_device_alloc(struct device *parent, int sizeof_priv); /* The information at the returned address is guaranteed to be cacheline aligned */ --- linux-gcp-5.19.0.orig/include/linux/iio/imu/adis.h +++ linux-gcp-5.19.0/include/linux/iio/imu/adis.h @@ -402,9 +402,20 @@ __adis_update_bits_base(adis, reg, mask, val, sizeof(val)); \ }) -int adis_enable_irq(struct adis *adis, bool enable); int __adis_check_status(struct adis *adis); int __adis_initial_startup(struct adis *adis); +int __adis_enable_irq(struct adis *adis, bool enable); + +static inline int adis_enable_irq(struct adis *adis, bool enable) +{ + int ret; + + mutex_lock(&adis->state_lock); + ret = __adis_enable_irq(adis, enable); + mutex_unlock(&adis->state_lock); + + return ret; +} static inline int adis_check_status(struct adis *adis) { --- linux-gcp-5.19.0.orig/include/linux/ima.h +++ linux-gcp-5.19.0/include/linux/ima.h @@ -21,7 +21,8 @@ extern void ima_post_create_tmpfile(struct user_namespace *mnt_userns, struct inode *inode); extern void ima_file_free(struct file *file); -extern int ima_file_mmap(struct file *file, unsigned long prot); +extern int ima_file_mmap(struct file *file, unsigned long reqprot, + unsigned long prot, unsigned long flags); extern int ima_file_mprotect(struct vm_area_struct *vma, unsigned long prot); extern int ima_load_data(enum kernel_load_data_id id, bool contents); extern int ima_post_load_data(char *buf, loff_t size, @@ -76,7 +77,8 @@ return; } -static inline int ima_file_mmap(struct file *file, unsigned long prot) +static inline int ima_file_mmap(struct file *file, unsigned long reqprot, + unsigned long prot, unsigned long flags) { return 0; } --- linux-gcp-5.19.0.orig/include/linux/intel-iommu.h +++ linux-gcp-5.19.0/include/linux/intel-iommu.h @@ -196,7 +196,6 @@ #define ecap_dis(e) (((e) >> 27) & 0x1) #define ecap_nest(e) (((e) >> 26) & 0x1) #define ecap_mts(e) (((e) >> 25) & 0x1) -#define ecap_ecs(e) (((e) >> 24) & 0x1) #define ecap_iotlb_offset(e) ((((e) >> 8) & 0x3ff) * 16) #define ecap_max_iotlb_offset(e) (ecap_iotlb_offset(e) + 16) #define ecap_coherent(e) ((e) & 0x1) @@ -264,7 +263,6 @@ #define DMA_GSTS_CFIS (((u32)1) << 23) /* DMA_RTADDR_REG */ -#define DMA_RTADDR_RTT (((u64)1) << 11) #define DMA_RTADDR_SMT (((u64)1) << 10) /* CCMD_REG */ @@ -579,6 +577,7 @@ #ifdef CONFIG_INTEL_IOMMU unsigned long *domain_ids; /* bitmap of domains */ + unsigned long *copied_tables; /* bitmap of copied tables */ spinlock_t lock; /* protect context, domain ids */ struct root_entry *root_entry; /* virtual address */ @@ -692,6 +691,11 @@ (struct dma_pte *)ALIGN((unsigned long)pte, VTD_PAGE_SIZE) - pte; } +static inline bool context_present(struct context_entry *context) +{ + return (context->lo & 1); +} + extern struct dmar_drhd_unit * dmar_find_matched_drhd_unit(struct pci_dev *dev); extern int dmar_enable_qi(struct intel_iommu *iommu); @@ -776,7 +780,6 @@ #endif /* CONFIG_INTEL_IOMMU_DEBUGFS */ extern const struct attribute_group *intel_iommu_groups[]; -bool context_present(struct context_entry *context); struct context_entry *iommu_context_addr(struct intel_iommu *iommu, u8 bus, u8 devfn, int alloc); --- linux-gcp-5.19.0.orig/include/linux/io-pgtable.h +++ linux-gcp-5.19.0/include/linux/io-pgtable.h @@ -74,17 +74,22 @@ * to support up to 35 bits PA where the bit32, bit33 and bit34 are * encoded in the bit9, bit4 and bit5 of the PTE respectively. * + * IO_PGTABLE_QUIRK_ARM_MTK_TTBR_EXT: (ARM v7s format) MediaTek IOMMUs + * extend the translation table base support up to 35 bits PA, the + * encoding format is same with IO_PGTABLE_QUIRK_ARM_MTK_EXT. + * * IO_PGTABLE_QUIRK_ARM_TTBR1: (ARM LPAE format) Configure the table * for use in the upper half of a split address space. * * IO_PGTABLE_QUIRK_ARM_OUTER_WBWA: Override the outer-cacheability * attributes set in the TCR for a non-coherent page-table walker. */ - #define IO_PGTABLE_QUIRK_ARM_NS BIT(0) - #define IO_PGTABLE_QUIRK_NO_PERMS BIT(1) - #define IO_PGTABLE_QUIRK_ARM_MTK_EXT BIT(3) - #define IO_PGTABLE_QUIRK_ARM_TTBR1 BIT(5) - #define IO_PGTABLE_QUIRK_ARM_OUTER_WBWA BIT(6) + #define IO_PGTABLE_QUIRK_ARM_NS BIT(0) + #define IO_PGTABLE_QUIRK_NO_PERMS BIT(1) + #define IO_PGTABLE_QUIRK_ARM_MTK_EXT BIT(3) + #define IO_PGTABLE_QUIRK_ARM_MTK_TTBR_EXT BIT(4) + #define IO_PGTABLE_QUIRK_ARM_TTBR1 BIT(5) + #define IO_PGTABLE_QUIRK_ARM_OUTER_WBWA BIT(6) unsigned long quirks; unsigned long pgsize_bitmap; unsigned int ias; --- linux-gcp-5.19.0.orig/include/linux/ioprio.h +++ linux-gcp-5.19.0/include/linux/ioprio.h @@ -11,7 +11,7 @@ /* * Default IO priority. */ -#define IOPRIO_DEFAULT IOPRIO_PRIO_VALUE(IOPRIO_CLASS_BE, IOPRIO_BE_NORM) +#define IOPRIO_DEFAULT IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 0) /* * Check that a priority value has a valid class. --- linux-gcp-5.19.0.orig/include/linux/iova.h +++ linux-gcp-5.19.0/include/linux/iova.h @@ -75,7 +75,7 @@ return iova >> iova_shift(iovad); } -#if IS_ENABLED(CONFIG_IOMMU_IOVA) +#if IS_REACHABLE(CONFIG_IOMMU_IOVA) int iova_cache_get(void); void iova_cache_put(void); --- linux-gcp-5.19.0.orig/include/linux/ipc_namespace.h +++ linux-gcp-5.19.0/include/linux/ipc_namespace.h @@ -127,6 +127,9 @@ static inline int mq_init_ns(struct ipc_namespace *ns) { return 0; } #endif +extern struct ipc_namespace *get_ipc_ns_exported(struct ipc_namespace *ns); +extern struct ipc_namespace *show_init_ipc_ns(void); + #if defined(CONFIG_IPC_NS) extern struct ipc_namespace *copy_ipcs(unsigned long flags, struct user_namespace *user_ns, struct ipc_namespace *ns); --- linux-gcp-5.19.0.orig/include/linux/kernel_stat.h +++ linux-gcp-5.19.0/include/linux/kernel_stat.h @@ -72,7 +72,7 @@ /* * Number of interrupts per cpu, since bootup */ -static inline unsigned int kstat_cpu_irqs_sum(unsigned int cpu) +static inline unsigned long kstat_cpu_irqs_sum(unsigned int cpu) { return kstat_cpu(cpu).irqs_sum; } --- linux-gcp-5.19.0.orig/include/linux/kexec.h +++ linux-gcp-5.19.0/include/linux/kexec.h @@ -19,6 +19,7 @@ #include #include +#include /* Location of a reserved region to hold the crash kernel. */ @@ -188,21 +189,54 @@ void *buf, unsigned int size, bool get_value); void *kexec_purgatory_get_symbol_addr(struct kimage *image, const char *name); +void *kexec_image_load_default(struct kimage *image); + +#ifndef arch_kexec_kernel_image_probe +static inline int +arch_kexec_kernel_image_probe(struct kimage *image, void *buf, unsigned long buf_len) +{ + return kexec_image_probe_default(image, buf, buf_len); +} +#endif + +#ifndef arch_kimage_file_post_load_cleanup +static inline int arch_kimage_file_post_load_cleanup(struct kimage *image) +{ + return kexec_image_post_load_cleanup_default(image); +} +#endif + +#ifndef arch_kexec_kernel_image_load +static inline void *arch_kexec_kernel_image_load(struct kimage *image) +{ + return kexec_image_load_default(image); +} +#endif -/* Architectures may override the below functions */ -int arch_kexec_kernel_image_probe(struct kimage *image, void *buf, - unsigned long buf_len); -void *arch_kexec_kernel_image_load(struct kimage *image); -int arch_kimage_file_post_load_cleanup(struct kimage *image); #ifdef CONFIG_KEXEC_SIG -int arch_kexec_kernel_verify_sig(struct kimage *image, void *buf, - unsigned long buf_len); +#ifdef CONFIG_SIGNED_PE_FILE_VERIFICATION +int kexec_kernel_verify_pe_sig(const char *kernel, unsigned long kernel_len); +#endif #endif -int arch_kexec_locate_mem_hole(struct kexec_buf *kbuf); extern int kexec_add_buffer(struct kexec_buf *kbuf); int kexec_locate_mem_hole(struct kexec_buf *kbuf); +#ifndef arch_kexec_locate_mem_hole +/** + * arch_kexec_locate_mem_hole - Find free memory to place the segments. + * @kbuf: Parameters for the memory search. + * + * On success, kbuf->mem will have the start address of the memory region found. + * + * Return: 0 on success, negative errno on error. + */ +static inline int arch_kexec_locate_mem_hole(struct kexec_buf *kbuf) +{ + return kexec_locate_mem_hole(kbuf); +} +#endif + /* Alignment required for elf header segment */ #define ELF_CORE_HEADER_ALIGN 4096 --- linux-gcp-5.19.0.orig/include/linux/kfifo.h +++ linux-gcp-5.19.0/include/linux/kfifo.h @@ -688,7 +688,7 @@ * writer, you don't need extra locking to use these macro. */ #define kfifo_to_user(fifo, to, len, copied) \ -__kfifo_uint_must_check_helper( \ +__kfifo_int_must_check_helper( \ ({ \ typeof((fifo) + 1) __tmp = (fifo); \ void __user *__to = (to); \ --- linux-gcp-5.19.0.orig/include/linux/kobject.h +++ linux-gcp-5.19.0/include/linux/kobject.h @@ -115,7 +115,7 @@ extern const void *kobject_namespace(struct kobject *kobj); extern void kobject_get_ownership(struct kobject *kobj, kuid_t *uid, kgid_t *gid); -extern char *kobject_get_path(struct kobject *kobj, gfp_t flag); +extern char *kobject_get_path(const struct kobject *kobj, gfp_t flag); struct kobj_type { void (*release)(struct kobject *kobj); --- linux-gcp-5.19.0.orig/include/linux/kprobes.h +++ linux-gcp-5.19.0/include/linux/kprobes.h @@ -377,6 +377,8 @@ DEFINE_INSN_CACHE_OPS(optinsn); extern void wait_for_kprobe_optimizer(void); +bool optprobe_queued_unopt(struct optimized_kprobe *op); +bool kprobe_disarmed(struct kprobe *p); #else /* !CONFIG_OPTPROBES */ static inline void wait_for_kprobe_optimizer(void) { } #endif /* CONFIG_OPTPROBES */ --- linux-gcp-5.19.0.orig/include/linux/kvm_host.h +++ linux-gcp-5.19.0/include/linux/kvm_host.h @@ -1248,8 +1248,18 @@ void kvm_vcpu_mark_page_dirty(struct kvm_vcpu *vcpu, gfn_t gfn); /** - * kvm_gfn_to_pfn_cache_init - prepare a cached kernel mapping and HPA for a - * given guest physical address. + * kvm_gpc_init - initialize gfn_to_pfn_cache. + * + * @gpc: struct gfn_to_pfn_cache object. + * + * This sets up a gfn_to_pfn_cache by initializing locks. Note, the cache must + * be zero-allocated (or zeroed by the caller before init). + */ +void kvm_gpc_init(struct gfn_to_pfn_cache *gpc); + +/** + * kvm_gpc_activate - prepare a cached kernel mapping and HPA for a given guest + * physical address. * * @kvm: pointer to kvm instance. * @gpc: struct gfn_to_pfn_cache object. @@ -1273,9 +1283,9 @@ * kvm_gfn_to_pfn_cache_check() to ensure that the cache is valid before * accessing the target page. */ -int kvm_gfn_to_pfn_cache_init(struct kvm *kvm, struct gfn_to_pfn_cache *gpc, - struct kvm_vcpu *vcpu, enum pfn_cache_usage usage, - gpa_t gpa, unsigned long len); +int kvm_gpc_activate(struct kvm *kvm, struct gfn_to_pfn_cache *gpc, + struct kvm_vcpu *vcpu, enum pfn_cache_usage usage, + gpa_t gpa, unsigned long len); /** * kvm_gfn_to_pfn_cache_check - check validity of a gfn_to_pfn_cache. @@ -1332,7 +1342,7 @@ void kvm_gfn_to_pfn_cache_unmap(struct kvm *kvm, struct gfn_to_pfn_cache *gpc); /** - * kvm_gfn_to_pfn_cache_destroy - destroy and unlink a gfn_to_pfn_cache. + * kvm_gpc_deactivate - deactivate and unlink a gfn_to_pfn_cache. * * @kvm: pointer to kvm instance. * @gpc: struct gfn_to_pfn_cache object. @@ -1340,7 +1350,7 @@ * This removes a cache from the @kvm's list to be processed on MMU notifier * invocation. */ -void kvm_gfn_to_pfn_cache_destroy(struct kvm *kvm, struct gfn_to_pfn_cache *gpc); +void kvm_gpc_deactivate(struct kvm *kvm, struct gfn_to_pfn_cache *gpc); void kvm_sigset_activate(struct kvm_vcpu *vcpu); void kvm_sigset_deactivate(struct kvm_vcpu *vcpu); @@ -1397,6 +1407,8 @@ struct kvm_enable_cap *cap); long kvm_arch_vm_ioctl(struct file *filp, unsigned int ioctl, unsigned long arg); +long kvm_arch_vm_compat_ioctl(struct file *filp, unsigned int ioctl, + unsigned long arg); int kvm_arch_vcpu_ioctl_get_fpu(struct kvm_vcpu *vcpu, struct kvm_fpu *fpu); int kvm_arch_vcpu_ioctl_set_fpu(struct kvm_vcpu *vcpu, struct kvm_fpu *fpu); --- linux-gcp-5.19.0.orig/include/linux/kvm_types.h +++ linux-gcp-5.19.0/include/linux/kvm_types.h @@ -19,6 +19,7 @@ enum kvm_mr_change; #include +#include #include #include @@ -69,6 +70,7 @@ struct kvm_vcpu *vcpu; struct list_head list; rwlock_t lock; + struct mutex refresh_lock; void *khva; kvm_pfn_t pfn; enum pfn_cache_usage usage; --- linux-gcp-5.19.0.orig/include/linux/libnvdimm.h +++ linux-gcp-5.19.0/include/linux/libnvdimm.h @@ -36,6 +36,9 @@ /* dimm supports namespace labels */ NDD_LABELING = 6, + /* dimm provider wants synchronous registration by __nvdimm_create() */ + NDD_REGISTER_SYNC = 8, + /* need to set a limit somewhere, but yes, this is likely overkill */ ND_IOCTL_MAX_BUFLEN = SZ_4M, ND_CMD_MAX_ELEM = 5, --- linux-gcp-5.19.0.orig/include/linux/lockd/xdr.h +++ linux-gcp-5.19.0/include/linux/lockd/xdr.h @@ -41,6 +41,8 @@ struct nfs_fh fh; struct xdr_netobj oh; u32 svid; + u64 lock_start; + u64 lock_len; struct file_lock fl; }; --- linux-gcp-5.19.0.orig/include/linux/lockdep.h +++ linux-gcp-5.19.0/include/linux/lockdep.h @@ -188,7 +188,7 @@ lockdep_init_map_waits(struct lockdep_map *lock, const char *name, struct lock_class_key *key, int subclass, u8 inner, u8 outer) { - lockdep_init_map_type(lock, name, key, subclass, inner, LD_WAIT_INV, LD_LOCK_NORMAL); + lockdep_init_map_type(lock, name, key, subclass, inner, outer, LD_LOCK_NORMAL); } static inline void @@ -211,24 +211,28 @@ * or they are too narrow (they suffer from a false class-split): */ #define lockdep_set_class(lock, key) \ - lockdep_init_map_waits(&(lock)->dep_map, #key, key, 0, \ - (lock)->dep_map.wait_type_inner, \ - (lock)->dep_map.wait_type_outer) + lockdep_init_map_type(&(lock)->dep_map, #key, key, 0, \ + (lock)->dep_map.wait_type_inner, \ + (lock)->dep_map.wait_type_outer, \ + (lock)->dep_map.lock_type) #define lockdep_set_class_and_name(lock, key, name) \ - lockdep_init_map_waits(&(lock)->dep_map, name, key, 0, \ - (lock)->dep_map.wait_type_inner, \ - (lock)->dep_map.wait_type_outer) + lockdep_init_map_type(&(lock)->dep_map, name, key, 0, \ + (lock)->dep_map.wait_type_inner, \ + (lock)->dep_map.wait_type_outer, \ + (lock)->dep_map.lock_type) #define lockdep_set_class_and_subclass(lock, key, sub) \ - lockdep_init_map_waits(&(lock)->dep_map, #key, key, sub,\ - (lock)->dep_map.wait_type_inner, \ - (lock)->dep_map.wait_type_outer) + lockdep_init_map_type(&(lock)->dep_map, #key, key, sub, \ + (lock)->dep_map.wait_type_inner, \ + (lock)->dep_map.wait_type_outer, \ + (lock)->dep_map.lock_type) #define lockdep_set_subclass(lock, sub) \ - lockdep_init_map_waits(&(lock)->dep_map, #lock, (lock)->dep_map.key, sub,\ - (lock)->dep_map.wait_type_inner, \ - (lock)->dep_map.wait_type_outer) + lockdep_init_map_type(&(lock)->dep_map, #lock, (lock)->dep_map.key, sub,\ + (lock)->dep_map.wait_type_inner, \ + (lock)->dep_map.wait_type_outer, \ + (lock)->dep_map.lock_type) #define lockdep_set_novalidate_class(lock) \ lockdep_set_class_and_name(lock, &__lockdep_no_validate__, #lock) --- linux-gcp-5.19.0.orig/include/linux/lsm_hook_defs.h +++ linux-gcp-5.19.0/include/linux/lsm_hook_defs.h @@ -223,6 +223,7 @@ unsigned long arg3, unsigned long arg4, unsigned long arg5) LSM_HOOK(void, LSM_RET_VOID, task_to_inode, struct task_struct *p, struct inode *inode) +LSM_HOOK(int, 0, userns_create, const struct cred *cred) LSM_HOOK(int, 0, ipc_permission, struct kern_ipc_perm *ipcp, short flag) LSM_HOOK(void, LSM_RET_VOID, ipc_getsecid, struct kern_ipc_perm *ipcp, u32 *secid) @@ -394,6 +395,8 @@ #endif /* CONFIG_BPF_SYSCALL */ LSM_HOOK(int, 0, locked_down, enum lockdown_reason what) +LSM_HOOK(int, 0, lock_kernel_down, const char *where, enum lockdown_reason level) + #ifdef CONFIG_PERF_EVENTS LSM_HOOK(int, 0, perf_event_open, struct perf_event_attr *attr, int type) @@ -406,4 +409,5 @@ #ifdef CONFIG_IO_URING LSM_HOOK(int, 0, uring_override_creds, const struct cred *new) LSM_HOOK(int, 0, uring_sqpoll, void) +LSM_HOOK(int, 0, uring_cmd, struct io_uring_cmd *ioucmd) #endif /* CONFIG_IO_URING */ --- linux-gcp-5.19.0.orig/include/linux/lsm_hooks.h +++ linux-gcp-5.19.0/include/linux/lsm_hooks.h @@ -799,6 +799,10 @@ * security attributes, e.g. for /proc/pid inodes. * @p contains the task_struct for the task. * @inode contains the inode structure for the inode. + * @userns_create: + * Check permission prior to creating a new user namespace. + * @cred points to prepared creds. + * Return 0 if successful, otherwise < 0 error code. * * Security hooks for Netlink messaging. * @@ -1402,6 +1406,12 @@ * @pages contains the number of pages. * Return 0 if permission is granted. * + * @getprocattr: + * Provide the named process attribute for display in special files in + * the /proc/.../attr directory. Attribute naming and the data displayed + * is at the discretion of the security modules. The exception is the + * "context" attribute, which will contain the security context of the + * task as a nul terminated text string without trailing whitespace. * @ismaclabel: * Check if the extended attribute specified by @name * represents a MAC label. Returns 1 if name is a MAC @@ -1550,6 +1560,12 @@ * * @what: kernel feature being accessed * + * @lock_kernel_down + * Put the kernel into lock-down mode. + * + * @where: Where the lock-down is originating from (e.g. command line option) + * @level: The lock-down level (can only increase) + * * Security hooks for perf events * * @perf_event_open: @@ -1575,6 +1591,9 @@ * Check whether the current task is allowed to spawn a io_uring polling * thread (IORING_SETUP_SQPOLL). * + * @uring_cmd: + * Check whether the file_operations uring_cmd is allowed to run. + * */ union security_list_options { #define LSM_HOOK(RET, DEFAULT, NAME, ...) RET (*NAME)(__VA_ARGS__); @@ -1589,6 +1608,14 @@ } __randomize_layout; /* + * Information that identifies a security module. + */ +struct lsm_id { + const char *lsm; /* Name of the LSM */ + int slot; /* Slot in lsmblob if one is allocated */ +}; + +/* * Security module hook list structure. * For use with generic list macros for common operations. */ @@ -1596,7 +1623,7 @@ struct hlist_node list; struct hlist_head *head; union security_list_options hook; - const char *lsm; + struct lsm_id *lsmid; } __randomize_layout; /* @@ -1606,6 +1633,7 @@ int lbs_cred; int lbs_file; int lbs_inode; + int lbs_sock; int lbs_superblock; int lbs_ipc; int lbs_msg_msg; @@ -1631,7 +1659,7 @@ extern char *lsm_names; extern void security_add_hooks(struct security_hook_list *hooks, int count, - const char *lsm); + struct lsm_id *lsmid); #define LSM_FLAG_LEGACY_MAJOR BIT(0) #define LSM_FLAG_EXCLUSIVE BIT(1) --- linux-gcp-5.19.0.orig/include/linux/mbcache.h +++ linux-gcp-5.19.0/include/linux/mbcache.h @@ -10,16 +10,29 @@ struct mb_cache; +/* Cache entry flags */ +enum { + MBE_REFERENCED_B = 0, + MBE_REUSABLE_B +}; + struct mb_cache_entry { /* List of entries in cache - protected by cache->c_list_lock */ struct list_head e_list; - /* Hash table list - protected by hash chain bitlock */ + /* + * Hash table list - protected by hash chain bitlock. The entry is + * guaranteed to be hashed while e_refcnt > 0. + */ struct hlist_bl_node e_hash_list; + /* + * Entry refcount. Once it reaches zero, entry is unhashed and freed. + * While refcount > 0, the entry is guaranteed to stay in the hash and + * e.g. mb_cache_entry_try_delete() will fail. + */ atomic_t e_refcnt; /* Key in hash - stable during lifetime of the entry */ u32 e_key; - u32 e_referenced:1; - u32 e_reusable:1; + unsigned long e_flags; /* User provided value - stable during lifetime of the entry */ u64 e_value; }; @@ -29,16 +42,24 @@ int mb_cache_entry_create(struct mb_cache *cache, gfp_t mask, u32 key, u64 value, bool reusable); -void __mb_cache_entry_free(struct mb_cache_entry *entry); -static inline int mb_cache_entry_put(struct mb_cache *cache, - struct mb_cache_entry *entry) +void __mb_cache_entry_free(struct mb_cache *cache, + struct mb_cache_entry *entry); +void mb_cache_entry_wait_unused(struct mb_cache_entry *entry); +static inline void mb_cache_entry_put(struct mb_cache *cache, + struct mb_cache_entry *entry) { - if (!atomic_dec_and_test(&entry->e_refcnt)) - return 0; - __mb_cache_entry_free(entry); - return 1; + unsigned int cnt = atomic_dec_return(&entry->e_refcnt); + + if (cnt > 0) { + if (cnt <= 2) + wake_up_var(&entry->e_refcnt); + return; + } + __mb_cache_entry_free(cache, entry); } +struct mb_cache_entry *mb_cache_entry_delete_or_get(struct mb_cache *cache, + u32 key, u64 value); void mb_cache_entry_delete(struct mb_cache *cache, u32 key, u64 value); struct mb_cache_entry *mb_cache_entry_get(struct mb_cache *cache, u32 key, u64 value); --- linux-gcp-5.19.0.orig/include/linux/mdev.h +++ linux-gcp-5.19.0/include/linux/mdev.h @@ -17,6 +17,7 @@ guid_t uuid; struct list_head next; struct mdev_type *type; + struct device *iommu_device; bool active; }; @@ -25,6 +26,25 @@ return container_of(dev, struct mdev_device, dev); } +/* + * Called by the parent device driver to set the device which represents + * this mdev in iommu protection scope. By default, the iommu device is + * NULL, that indicates using vendor defined isolation. + * + * @dev: the mediated device that iommu will isolate. + * @iommu_device: a pci device which represents the iommu for @dev. + */ +static inline void mdev_set_iommu_device(struct mdev_device *mdev, + struct device *iommu_device) +{ + mdev->iommu_device = iommu_device; +} + +static inline struct device *mdev_get_iommu_device(struct mdev_device *mdev) +{ + return mdev->iommu_device; +} + unsigned int mdev_get_type_group_id(struct mdev_device *mdev); unsigned int mtype_get_type_group_id(struct mdev_type *mtype); struct device *mtype_get_parent_dev(struct mdev_type *mtype); @@ -65,11 +85,6 @@ struct device_driver driver; }; -static inline const guid_t *mdev_uuid(struct mdev_device *mdev) -{ - return &mdev->uuid; -} - extern struct bus_type mdev_bus_type; int mdev_register_device(struct device *dev, struct mdev_driver *mdev_driver); --- linux-gcp-5.19.0.orig/include/linux/memcontrol.h +++ linux-gcp-5.19.0/include/linux/memcontrol.h @@ -978,19 +978,30 @@ static inline unsigned long memcg_page_state(struct mem_cgroup *memcg, int idx) { - return READ_ONCE(memcg->vmstats.state[idx]); + long x = READ_ONCE(memcg->vmstats.state[idx]); +#ifdef CONFIG_SMP + if (x < 0) + x = 0; +#endif + return x; } static inline unsigned long lruvec_page_state(struct lruvec *lruvec, enum node_stat_item idx) { struct mem_cgroup_per_node *pn; + long x; if (mem_cgroup_disabled()) return node_page_state(lruvec_pgdat(lruvec), idx); pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec); - return READ_ONCE(pn->lruvec_stats.state[idx]); + x = READ_ONCE(pn->lruvec_stats.state[idx]); +#ifdef CONFIG_SMP + if (x < 0) + x = 0; +#endif + return x; } static inline unsigned long lruvec_page_state_local(struct lruvec *lruvec, @@ -1624,10 +1635,13 @@ static inline void mem_cgroup_track_foreign_dirty(struct folio *folio, struct bdi_writeback *wb) { + struct mem_cgroup *memcg; + if (mem_cgroup_disabled()) return; - if (unlikely(&folio_memcg(folio)->css != wb->memcg_css)) + memcg = folio_memcg(folio); + if (unlikely(memcg && &memcg->css != wb->memcg_css)) mem_cgroup_track_foreign_dirty_slowpath(folio, wb); } --- linux-gcp-5.19.0.orig/include/linux/mfd/t7l66xb.h +++ linux-gcp-5.19.0/include/linux/mfd/t7l66xb.h @@ -12,7 +12,6 @@ struct t7l66xb_platform_data { int (*enable)(struct platform_device *dev); - int (*disable)(struct platform_device *dev); int (*suspend)(struct platform_device *dev); int (*resume)(struct platform_device *dev); --- linux-gcp-5.19.0.orig/include/linux/mlx4/qp.h +++ linux-gcp-5.19.0/include/linux/mlx4/qp.h @@ -446,6 +446,7 @@ struct mlx4_wqe_inline_seg { __be32 byte_count; + __u8 data[]; }; enum mlx4_update_qp_attr { --- linux-gcp-5.19.0.orig/include/linux/mlx5/device.h +++ linux-gcp-5.19.0/include/linux/mlx5/device.h @@ -1093,6 +1093,11 @@ }; enum { + MLX5_VPORT_CVLAN_INSERT_WHEN_NO_CVLAN = 0x1, + MLX5_VPORT_CVLAN_INSERT_ALWAYS = 0x3, +}; + +enum { MLX5_L3_PROT_TYPE_IPV4 = 0, MLX5_L3_PROT_TYPE_IPV6 = 1, }; --- linux-gcp-5.19.0.orig/include/linux/mlx5/driver.h +++ linux-gcp-5.19.0/include/linux/mlx5/driver.h @@ -315,7 +315,7 @@ struct mlx5_cmd_debug dbg; struct cmd_msg_cache cache[MLX5_NUM_COMMAND_CACHES]; int checksum_disabled; - struct mlx5_cmd_stats *stats; + struct mlx5_cmd_stats stats[MLX5_CMD_OP_MAX]; }; struct mlx5_cmd_mailbox { @@ -606,6 +606,7 @@ spinlock_t ctx_lock; struct mlx5_adev **adev; int adev_idx; + int sw_vhca_id; struct mlx5_events *events; struct mlx5_flow_steering *steering; @@ -773,6 +774,7 @@ enum mlx5_device_state state; /* sync interface state */ struct mutex intf_state_mutex; + struct lock_class_key lock_key; unsigned long intf_state; struct mlx5_priv priv; struct mlx5_profile profile; @@ -966,7 +968,7 @@ struct mlx5_async_ctx { struct mlx5_core_dev *dev; atomic_t num_inflight; - struct wait_queue_head wait; + struct completion inflight_done; }; struct mlx5_async_work; @@ -977,6 +979,7 @@ struct mlx5_async_ctx *ctx; mlx5_async_cbk_t user_callback; u16 opcode; /* cmd opcode */ + u16 op_mod; /* cmd op_mod */ void *out; /* pointer to the cmd output buffer */ }; @@ -1273,16 +1276,17 @@ MLX5_TRIGGERED_CMD_COMP = (u64)1 << 32, }; -static inline bool mlx5_is_roce_init_enabled(struct mlx5_core_dev *dev) +bool mlx5_is_roce_on(struct mlx5_core_dev *dev); + +static inline bool mlx5_get_roce_state(struct mlx5_core_dev *dev) { - struct devlink *devlink = priv_to_devlink(dev); - union devlink_param_value val; - int err; - - err = devlink_param_driverinit_value_get(devlink, - DEVLINK_PARAM_GENERIC_ID_ENABLE_ROCE, - &val); - return err ? MLX5_CAP_GEN(dev, roce) : val.vbool; + if (MLX5_CAP_GEN(dev, roce_rw_supported)) + return MLX5_CAP_GEN(dev, roce); + + /* If RoCE cap is read-only in FW, get RoCE state from devlink + * in order to support RoCE enable/disable feature + */ + return mlx5_is_roce_on(dev); } #endif /* MLX5_DRIVER_H */ --- linux-gcp-5.19.0.orig/include/linux/mlx5/mlx5_ifc.h +++ linux-gcp-5.19.0/include/linux/mlx5/mlx5_ifc.h @@ -875,7 +875,8 @@ u8 vport_svlan_insert[0x1]; u8 vport_cvlan_insert_if_not_exist[0x1]; u8 vport_cvlan_insert_overwrite[0x1]; - u8 reserved_at_5[0x2]; + u8 reserved_at_5[0x1]; + u8 vport_cvlan_insert_always[0x1]; u8 esw_shared_ingress_acl[0x1]; u8 esw_uplink_ingress_acl[0x1]; u8 root_ft_on_other_esw[0x1]; @@ -1685,7 +1686,9 @@ u8 steering_format_version[0x4]; u8 create_qp_start_hint[0x18]; - u8 reserved_at_460[0x3]; + u8 reserved_at_460[0x1]; + u8 ats[0x1]; + u8 reserved_at_462[0x1]; u8 log_max_uctx[0x5]; u8 reserved_at_468[0x2]; u8 ipsec_offload[0x1]; @@ -1804,7 +1807,14 @@ u8 max_reformat_remove_size[0x8]; u8 max_reformat_remove_offset[0x8]; - u8 reserved_at_c0[0x740]; + u8 reserved_at_c0[0x160]; + + u8 reserved_at_220[0x1]; + u8 sw_vhca_id_valid[0x1]; + u8 sw_vhca_id[0xe]; + u8 reserved_at_230[0x10]; + + u8 reserved_at_240[0x5c0]; }; enum mlx5_ifc_flow_destination_type { @@ -3715,6 +3725,11 @@ struct mlx5_ifc_wq_bits wq; }; +enum { + VHCA_ID_TYPE_HW = 0, + VHCA_ID_TYPE_SW = 1, +}; + struct mlx5_ifc_nic_vport_context_bits { u8 reserved_at_0[0x5]; u8 min_wqe_inline_mode[0x3]; @@ -3731,8 +3746,8 @@ u8 event_on_mc_address_change[0x1]; u8 event_on_uc_address_change[0x1]; - u8 reserved_at_40[0xc]; - + u8 vhca_id_type[0x1]; + u8 reserved_at_41[0xb]; u8 affiliation_criteria[0x4]; u8 affiliated_vhca_id[0x10]; @@ -3788,7 +3803,9 @@ u8 lw[0x1]; u8 lr[0x1]; u8 access_mode_1_0[0x2]; - u8 reserved_at_18[0x8]; + u8 reserved_at_18[0x2]; + u8 ma_translation_mode[0x2]; + u8 reserved_at_1c[0x4]; u8 qpn[0x18]; u8 mkey_7_0[0x8]; @@ -7189,7 +7206,12 @@ u8 reserved_at_20[0x10]; u8 op_mod[0x10]; - u8 reserved_at_40[0x40]; + u8 reserved_at_40[0x20]; + + u8 reserved_at_60[0x2]; + u8 sw_vhca_id[0xe]; + u8 reserved_at_70[0x10]; + u8 sw_owner_id[4][0x20]; }; @@ -11041,7 +11063,8 @@ struct mlx5_ifc_umem_bits { u8 reserved_at_0[0x80]; - u8 reserved_at_80[0x1b]; + u8 ats[0x1]; + u8 reserved_at_81[0x1a]; u8 log_page_size[0x5]; u8 page_offset[0x20]; --- linux-gcp-5.19.0.orig/include/linux/mm.h +++ linux-gcp-5.19.0/include/linux/mm.h @@ -1829,6 +1829,25 @@ extern void show_free_areas(unsigned int flags, nodemask_t *nodemask); +/* + * Parameter block passed down to zap_pte_range in exceptional cases. + */ +struct zap_details { + struct folio *single_folio; /* Locked folio to be unmapped */ + bool even_cows; /* Zap COWed private pages too? */ + zap_flags_t zap_flags; /* Extra flags for zapping */ +}; + +/* + * Whether to drop the pte markers, for example, the uffd-wp information for + * file-backed memory. This should only be specified when we will completely + * drop the page in the mm, either by truncation or unmapping of the vma. By + * default, the flag is not set. + */ +#define ZAP_FLAG_DROP_MARKER ((__force zap_flags_t) BIT(0)) +/* Set in unmap_vmas() to indicate a final unmap call. Only used by hugetlb */ +#define ZAP_FLAG_UNMAP ((__force zap_flags_t) BIT(1)) + #ifdef CONFIG_MMU extern bool can_do_mlock(void); #else @@ -1848,6 +1867,8 @@ unsigned long size); void unmap_vmas(struct mmu_gather *tlb, struct vm_area_struct *start_vma, unsigned long start, unsigned long end); +void zap_page_range_single(struct vm_area_struct *vma, unsigned long address, + unsigned long size, struct zap_details *details); struct mmu_notifier_range; @@ -1909,6 +1930,28 @@ unmap_mapping_range(mapping, holebegin, holelen, 0); } +extern void vma_do_file_update_time(struct vm_area_struct *, const char[], int); +extern struct file *vma_do_pr_or_file(struct vm_area_struct *, const char[], + int); +extern void vma_do_get_file(struct vm_area_struct *, const char[], int); +extern void vma_do_fput(struct vm_area_struct *, const char[], int); + +#define vma_file_update_time(vma) vma_do_file_update_time(vma, __func__, \ + __LINE__) +#define vma_pr_or_file(vma) vma_do_pr_or_file(vma, __func__, \ + __LINE__) +#define vma_get_file(vma) vma_do_get_file(vma, __func__, __LINE__) +#define vma_fput(vma) vma_do_fput(vma, __func__, __LINE__) + +#ifndef CONFIG_MMU +extern struct file *vmr_do_pr_or_file(struct vm_region *, const char[], int); +extern void vmr_do_fput(struct vm_region *, const char[], int); + +#define vmr_pr_or_file(region) vmr_do_pr_or_file(region, __func__, \ + __LINE__) +#define vmr_fput(region) vmr_do_fput(region, __func__, __LINE__) +#endif /* !CONFIG_MMU */ + extern int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, int len, unsigned int gup_flags); extern int access_remote_vm(struct mm_struct *mm, unsigned long addr, @@ -2939,7 +2982,6 @@ #define FOLL_MIGRATION 0x400 /* wait for page to replace migration entry */ #define FOLL_TRIED 0x800 /* a retry, previous pass started an IO */ #define FOLL_REMOTE 0x2000 /* we are working on non-current tsk/mm */ -#define FOLL_COW 0x4000 /* internal GUP flag */ #define FOLL_ANON 0x8000 /* don't do file mappings */ #define FOLL_LONGTERM 0x10000 /* mapping lifetime is indefinite: see below */ #define FOLL_SPLIT_PMD 0x20000 /* split huge pmd before returning */ @@ -3439,12 +3481,4 @@ } #endif -/* - * Whether to drop the pte markers, for example, the uffd-wp information for - * file-backed memory. This should only be specified when we will completely - * drop the page in the mm, either by truncation or unmapping of the vma. By - * default, the flag is not set. - */ -#define ZAP_FLAG_DROP_MARKER ((__force zap_flags_t) BIT(0)) - #endif /* _LINUX_MM_H */ --- linux-gcp-5.19.0.orig/include/linux/mm_types.h +++ linux-gcp-5.19.0/include/linux/mm_types.h @@ -367,6 +367,7 @@ unsigned long vm_top; /* region allocated to here */ unsigned long vm_pgoff; /* the offset in vm_file corresponding to vm_start */ struct file *vm_file; /* the backing file or NULL */ + struct file *vm_prfile; /* the virtual backing file or NULL */ int vm_usage; /* region usage count (access under nommu_region_sem) */ bool vm_icache_flushed : 1; /* true if the icache has been flushed for @@ -463,6 +464,7 @@ unsigned long vm_pgoff; /* Offset (within vm_file) in PAGE_SIZE units */ struct file * vm_file; /* File we map to (can be NULL). */ + struct file *vm_prfile; /* shadow of vm_file */ void * vm_private_data; /* was vm_pte (shared mem) */ #ifdef CONFIG_SWAP --- linux-gcp-5.19.0.orig/include/linux/mmc/card.h +++ linux-gcp-5.19.0/include/linux/mmc/card.h @@ -292,6 +292,7 @@ #define MMC_QUIRK_BROKEN_IRQ_POLLING (1<<11) /* Polling SDIO_CCCR_INTx could create a fake interrupt */ #define MMC_QUIRK_TRIM_BROKEN (1<<12) /* Skip trim */ #define MMC_QUIRK_BROKEN_HPI (1<<13) /* Disable broken HPI support */ +#define MMC_QUIRK_BROKEN_SD_DISCARD (1<<14) /* Disable broken SD discard support */ bool reenable_cmdq; /* Re-enable Command Queue */ --- linux-gcp-5.19.0.orig/include/linux/mmc/mmc.h +++ linux-gcp-5.19.0/include/linux/mmc/mmc.h @@ -445,7 +445,7 @@ #define MMC_SECURE_TRIM1_ARG 0x80000001 #define MMC_SECURE_TRIM2_ARG 0x80008000 #define MMC_SECURE_ARGS 0x80000000 -#define MMC_TRIM_ARGS 0x00008001 +#define MMC_TRIM_OR_DISCARD_ARGS 0x00008003 #define mmc_driver_type_mask(n) (1 << (n)) --- linux-gcp-5.19.0.orig/include/linux/module.h +++ linux-gcp-5.19.0/include/linux/module.h @@ -874,8 +874,17 @@ } #endif /* CONFIG_MODULE_SIG */ +#if defined(CONFIG_MODULES) && defined(CONFIG_KALLSYMS) int module_kallsyms_on_each_symbol(int (*fn)(void *, const char *, struct module *, unsigned long), void *data); +#else +static inline int module_kallsyms_on_each_symbol(int (*fn)(void *, const char *, + struct module *, unsigned long), + void *data) +{ + return -EOPNOTSUPP; +} +#endif /* CONFIG_MODULES && CONFIG_KALLSYMS */ #endif /* _LINUX_MODULE_H */ --- linux-gcp-5.19.0.orig/include/linux/mtd/spi-nor.h +++ linux-gcp-5.19.0/include/linux/mtd/spi-nor.h @@ -7,7 +7,6 @@ #define __LINUX_MTD_SPI_NOR_H #include -#include #include #include --- linux-gcp-5.19.0.orig/include/linux/net.h +++ linux-gcp-5.19.0/include/linux/net.h @@ -41,6 +41,7 @@ #define SOCK_NOSPACE 2 #define SOCK_PASSCRED 3 #define SOCK_PASSSEC 4 +#define SOCK_SUPPORT_ZC 5 #ifndef ARCH_HAS_SOCKET_TYPES /** --- linux-gcp-5.19.0.orig/include/linux/netdevice.h +++ linux-gcp-5.19.0/include/linux/netdevice.h @@ -171,31 +171,38 @@ * (unsigned long) so they can be read and written atomically. */ +#define NET_DEV_STAT(FIELD) \ + union { \ + unsigned long FIELD; \ + atomic_long_t __##FIELD; \ + } + struct net_device_stats { - unsigned long rx_packets; - unsigned long tx_packets; - unsigned long rx_bytes; - unsigned long tx_bytes; - unsigned long rx_errors; - unsigned long tx_errors; - unsigned long rx_dropped; - unsigned long tx_dropped; - unsigned long multicast; - unsigned long collisions; - unsigned long rx_length_errors; - unsigned long rx_over_errors; - unsigned long rx_crc_errors; - unsigned long rx_frame_errors; - unsigned long rx_fifo_errors; - unsigned long rx_missed_errors; - unsigned long tx_aborted_errors; - unsigned long tx_carrier_errors; - unsigned long tx_fifo_errors; - unsigned long tx_heartbeat_errors; - unsigned long tx_window_errors; - unsigned long rx_compressed; - unsigned long tx_compressed; + NET_DEV_STAT(rx_packets); + NET_DEV_STAT(tx_packets); + NET_DEV_STAT(rx_bytes); + NET_DEV_STAT(tx_bytes); + NET_DEV_STAT(rx_errors); + NET_DEV_STAT(tx_errors); + NET_DEV_STAT(rx_dropped); + NET_DEV_STAT(tx_dropped); + NET_DEV_STAT(multicast); + NET_DEV_STAT(collisions); + NET_DEV_STAT(rx_length_errors); + NET_DEV_STAT(rx_over_errors); + NET_DEV_STAT(rx_crc_errors); + NET_DEV_STAT(rx_frame_errors); + NET_DEV_STAT(rx_fifo_errors); + NET_DEV_STAT(rx_missed_errors); + NET_DEV_STAT(tx_aborted_errors); + NET_DEV_STAT(tx_carrier_errors); + NET_DEV_STAT(tx_fifo_errors); + NET_DEV_STAT(tx_heartbeat_errors); + NET_DEV_STAT(tx_window_errors); + NET_DEV_STAT(rx_compressed); + NET_DEV_STAT(tx_compressed); }; +#undef NET_DEV_STAT /* per-cpu stats, allocated on demand. * Try to fit them in a single cache line, for dev_get_stats() sake. @@ -640,9 +647,23 @@ */ static inline bool net_has_fallback_tunnels(const struct net *net) { - return !IS_ENABLED(CONFIG_SYSCTL) || - !sysctl_fb_tunnels_only_for_init_net || - (net == &init_net && sysctl_fb_tunnels_only_for_init_net == 1); +#if IS_ENABLED(CONFIG_SYSCTL) + int fb_tunnels_only_for_init_net = READ_ONCE(sysctl_fb_tunnels_only_for_init_net); + + return !fb_tunnels_only_for_init_net || + (net_eq(net, &init_net) && fb_tunnels_only_for_init_net == 1); +#else + return true; +#endif +} + +static inline int net_inherit_devconf(void) +{ +#if IS_ENABLED(CONFIG_SYSCTL) + return READ_ONCE(sysctl_devconf_inherit_init_net); +#else + return 0; +#endif } static inline int netdev_queue_numa_node_read(const struct netdev_queue *q) @@ -5129,4 +5150,9 @@ extern struct net_device *blackhole_netdev; +/* Note: Avoid these macros in fast path, prefer per-cpu or per-queue counters. */ +#define DEV_STATS_INC(DEV, FIELD) atomic_long_inc(&(DEV)->stats.__##FIELD) +#define DEV_STATS_ADD(DEV, FIELD, VAL) \ + atomic_long_add((VAL), &(DEV)->stats.__##FIELD) + #endif /* _LINUX_NETDEVICE_H */ --- linux-gcp-5.19.0.orig/include/linux/netfilter/ipset/ip_set.h +++ linux-gcp-5.19.0/include/linux/netfilter/ipset/ip_set.h @@ -197,7 +197,7 @@ }; /* Max range where every element is added/deleted in one step */ -#define IPSET_MAX_RANGE (1<<20) +#define IPSET_MAX_RANGE (1<<14) /* The max revision number supported by any set type + 1 */ #define IPSET_REVISION_MAX 9 --- linux-gcp-5.19.0.orig/include/linux/netfilter_bridge/ebtables.h +++ linux-gcp-5.19.0/include/linux/netfilter_bridge/ebtables.h @@ -94,10 +94,6 @@ struct ebt_replace_kernel *table; unsigned int valid_hooks; rwlock_t lock; - /* e.g. could be the table explicitly only allows certain - * matches, targets, ... 0 == let it in */ - int (*check)(const struct ebt_table_info *info, - unsigned int valid_hooks); /* the data used by the kernel */ struct ebt_table_info *private; struct nf_hook_ops *ops; --- linux-gcp-5.19.0.orig/include/linux/nfs4.h +++ linux-gcp-5.19.0/include/linux/nfs4.h @@ -15,6 +15,7 @@ #include #include +#include #include #include @@ -44,10 +45,9 @@ #define NFS4_MAXLABELLEN 2048 struct nfs4_label { - uint32_t lfs; - uint32_t pi; - u32 len; - char *label; + uint32_t lfs; + uint32_t pi; + struct lsmcontext lsmctx; }; typedef struct { char data[NFS4_VERIFIER_SIZE]; } nfs4_verifier; --- linux-gcp-5.19.0.orig/include/linux/nfs_fs.h +++ linux-gcp-5.19.0/include/linux/nfs_fs.h @@ -59,6 +59,7 @@ kuid_t fsuid; kgid_t fsgid; struct group_info *group_info; + u64 timestamp; __u32 mask; struct rcu_head rcu_head; }; @@ -182,6 +183,7 @@ /* Regular file */ struct { atomic_long_t nrequests; + atomic_long_t redirtied_pages; struct nfs_mds_commit_info commit_info; struct mutex commit_mutex; }; @@ -428,7 +430,7 @@ { #ifdef CONFIG_NFS_V4_SECURITY_LABEL if (label) { - kfree(label->label); + kfree(label->lsmctx.context); kfree(label); } #endif --- linux-gcp-5.19.0.orig/include/linux/nmi.h +++ linux-gcp-5.19.0/include/linux/nmi.h @@ -122,6 +122,8 @@ int watchdog_nmi_enable(unsigned int cpu); void watchdog_nmi_disable(unsigned int cpu); +void lockup_detector_reconfigure(void); + /** * touch_nmi_watchdog - restart NMI watchdog timeout. * --- linux-gcp-5.19.0.orig/include/linux/nospec.h +++ linux-gcp-5.19.0/include/linux/nospec.h @@ -11,6 +11,10 @@ struct task_struct; +#ifndef barrier_nospec +# define barrier_nospec() do { } while (0) +#endif + /** * array_index_mask_nospec() - generate a ~0 mask when index < size, 0 otherwise * @index: array element index --- linux-gcp-5.19.0.orig/include/linux/nvme.h +++ linux-gcp-5.19.0/include/linux/nvme.h @@ -7,6 +7,7 @@ #ifndef _LINUX_NVME_H #define _LINUX_NVME_H +#include #include #include @@ -638,7 +639,7 @@ NVME_CMD_EFFECTS_NCC = 1 << 2, NVME_CMD_EFFECTS_NIC = 1 << 3, NVME_CMD_EFFECTS_CCC = 1 << 4, - NVME_CMD_EFFECTS_CSE_MASK = 3 << 16, + NVME_CMD_EFFECTS_CSE_MASK = GENMASK(18, 16), NVME_CMD_EFFECTS_UUID_SEL = 1 << 19, }; --- linux-gcp-5.19.0.orig/include/linux/nvmem-provider.h +++ linux-gcp-5.19.0/include/linux/nvmem-provider.h @@ -70,7 +70,6 @@ * @word_size: Minimum read/write access granularity. * @stride: Minimum read/write access stride. * @priv: User context passed to read/write callbacks. - * @wp-gpio: Write protect pin * @ignore_wp: Write Protect pin is managed by the provider. * * Note: A default "nvmem" name will be assigned to the device if @@ -85,7 +84,6 @@ const char *name; int id; struct module *owner; - struct gpio_desc *wp_gpio; const struct nvmem_cell_info *cells; int ncells; const struct nvmem_keepout *keepout; --- linux-gcp-5.19.0.orig/include/linux/of_device.h +++ linux-gcp-5.19.0/include/linux/of_device.h @@ -101,8 +101,9 @@ } static inline int of_dma_configure_id(struct device *dev, - struct device_node *np, - bool force_dma) + struct device_node *np, + bool force_dma, + const u32 *id) { return 0; } --- linux-gcp-5.19.0.orig/include/linux/once.h +++ linux-gcp-5.19.0/include/linux/once.h @@ -5,10 +5,18 @@ #include #include +/* Helpers used from arbitrary contexts. + * Hard irqs are blocked, be cautious. + */ bool __do_once_start(bool *done, unsigned long *flags); void __do_once_done(bool *done, struct static_key_true *once_key, unsigned long *flags, struct module *mod); +/* Variant for process contexts only. */ +bool __do_once_slow_start(bool *done); +void __do_once_slow_done(bool *done, struct static_key_true *once_key, + struct module *mod); + /* Call a function exactly once. The idea of DO_ONCE() is to perform * a function call such as initialization of random seeds, etc, only * once, where DO_ONCE() can live in the fast-path. After @func has @@ -52,9 +60,29 @@ ___ret; \ }) +/* Variant of DO_ONCE() for process/sleepable contexts. */ +#define DO_ONCE_SLOW(func, ...) \ + ({ \ + bool ___ret = false; \ + static bool __section(".data.once") ___done = false; \ + static DEFINE_STATIC_KEY_TRUE(___once_key); \ + if (static_branch_unlikely(&___once_key)) { \ + ___ret = __do_once_slow_start(&___done); \ + if (unlikely(___ret)) { \ + func(__VA_ARGS__); \ + __do_once_slow_done(&___done, &___once_key, \ + THIS_MODULE); \ + } \ + } \ + ___ret; \ + }) + #define get_random_once(buf, nbytes) \ DO_ONCE(get_random_bytes, (buf), (nbytes)) #define get_random_once_wait(buf, nbytes) \ DO_ONCE(get_random_bytes_wait, (buf), (nbytes)) \ +#define get_random_slow_once(buf, nbytes) \ + DO_ONCE_SLOW(get_random_bytes, (buf), (nbytes)) + #endif /* _LINUX_ONCE_H */ --- linux-gcp-5.19.0.orig/include/linux/once_lite.h +++ linux-gcp-5.19.0/include/linux/once_lite.h @@ -9,15 +9,27 @@ */ #define DO_ONCE_LITE(func, ...) \ DO_ONCE_LITE_IF(true, func, ##__VA_ARGS__) -#define DO_ONCE_LITE_IF(condition, func, ...) \ + +#define __ONCE_LITE_IF(condition) \ ({ \ static bool __section(".data.once") __already_done; \ - bool __ret_do_once = !!(condition); \ + bool __ret_cond = !!(condition); \ + bool __ret_once = false; \ \ - if (unlikely(__ret_do_once && !__already_done)) { \ + if (unlikely(__ret_cond && !__already_done)) { \ __already_done = true; \ - func(__VA_ARGS__); \ + __ret_once = true; \ } \ + unlikely(__ret_once); \ + }) + +#define DO_ONCE_LITE_IF(condition, func, ...) \ + ({ \ + bool __ret_do_once = !!(condition); \ + \ + if (__ONCE_LITE_IF(__ret_do_once)) \ + func(__VA_ARGS__); \ + \ unlikely(__ret_do_once); \ }) --- linux-gcp-5.19.0.orig/include/linux/panic.h +++ linux-gcp-5.19.0/include/linux/panic.h @@ -11,6 +11,7 @@ __printf(1, 2) void panic(const char *fmt, ...) __noreturn __cold; void nmi_panic(struct pt_regs *regs, const char *msg); +void check_panic_on_warn(const char *origin); extern void oops_enter(void); extern void oops_exit(void); extern bool oops_may_print(void); --- linux-gcp-5.19.0.orig/include/linux/pci.h +++ linux-gcp-5.19.0/include/linux/pci.h @@ -244,6 +244,8 @@ PCI_DEV_FLAGS_NO_RELAXED_ORDERING = (__force pci_dev_flags_t) (1 << 11), /* Device does honor MSI masking despite saying otherwise */ PCI_DEV_FLAGS_HAS_MSI_MASKING = (__force pci_dev_flags_t) (1 << 12), + /* Enable ASPM regardless of how LnkCtl is programmed */ + PCI_DEV_FLAGS_ENABLE_ASPM = (__force pci_dev_flags_t) (1 << 13), }; enum pci_irq_reroute_variant { @@ -475,6 +477,7 @@ unsigned int broken_cmd_compl:1; /* No compl for some cmds */ #endif #ifdef CONFIG_PCIE_PTM + u16 ptm_cap; /* PTM Capability */ unsigned int ptm_root:1; unsigned int ptm_enabled:1; u8 ptm_granularity; @@ -1657,6 +1660,7 @@ void pcie_no_aspm(void); bool pcie_aspm_support_enabled(void); bool pcie_aspm_enabled(struct pci_dev *pdev); +bool pcie_aspm_capable(struct pci_dev *pdev); #else static inline int pci_disable_link_state(struct pci_dev *pdev, int state) { return 0; } @@ -1665,6 +1669,7 @@ static inline void pcie_no_aspm(void) { } static inline bool pcie_aspm_support_enabled(void) { return false; } static inline bool pcie_aspm_enabled(struct pci_dev *pdev) { return false; } +static inline bool pcie_aspm_capable(struct pci_dev *pdev) { return false; } #endif #ifdef CONFIG_PCIEAER @@ -1677,10 +1682,12 @@ #ifdef CONFIG_PCIE_PTM int pci_enable_ptm(struct pci_dev *dev, u8 *granularity); +void pci_disable_ptm(struct pci_dev *dev); bool pcie_ptm_enabled(struct pci_dev *dev); #else static inline int pci_enable_ptm(struct pci_dev *dev, u8 *granularity) { return -EINVAL; } +static inline void pci_disable_ptm(struct pci_dev *dev) { } static inline bool pcie_ptm_enabled(struct pci_dev *dev) { return false; } #endif --- linux-gcp-5.19.0.orig/include/linux/perf_event.h +++ linux-gcp-5.19.0/include/linux/perf_event.h @@ -736,11 +736,14 @@ struct fasync_struct *fasync; /* delayed work for NMIs and such */ - int pending_wakeup; - int pending_kill; - int pending_disable; + unsigned int pending_wakeup; + unsigned int pending_kill; + unsigned int pending_disable; + unsigned int pending_sigtrap; unsigned long pending_addr; /* SIGTRAP */ - struct irq_work pending; + struct irq_work pending_irq; + struct callback_head pending_task; + unsigned int pending_work; atomic_t event_limit; @@ -855,6 +858,14 @@ #endif void *task_ctx_data; /* pmu specific data */ struct rcu_head rcu_head; + + /* + * Sum (event->pending_sigtrap + event->pending_work) + * + * The SIGTRAP is targeted at ctx->task, as such it won't do changing + * that until the signal is delivered. + */ + local_t nr_pending; }; /* @@ -1358,6 +1369,12 @@ #define PERF_SECURITY_CPU 1 #define PERF_SECURITY_KERNEL 2 #define PERF_SECURITY_TRACEPOINT 3 +#define PERF_SECURITY_MAX 4 + +static inline bool perf_paranoid_any(void) +{ + return sysctl_perf_event_paranoid >= PERF_SECURITY_MAX; +} static inline int perf_is_paranoid(void) { --- linux-gcp-5.19.0.orig/include/linux/phylink.h +++ linux-gcp-5.19.0/include/linux/phylink.h @@ -88,6 +88,7 @@ * (See commit 7cceb599d15d ("net: phylink: avoid mac_config calls") * @poll_fixed_state: if true, starts link_poll, * if MAC link is at %MLO_AN_FIXED mode. + * @mac_managed_pm: if true, indicate the MAC driver is responsible for PHY PM. * @ovr_an_inband: if true, override PCS to MLO_AN_INBAND * @get_fixed_state: callback to execute to determine the fixed link state, * if MAC link is at %MLO_AN_FIXED mode. @@ -100,6 +101,7 @@ enum phylink_op_type type; bool legacy_pre_march2020; bool poll_fixed_state; + bool mac_managed_pm; bool ovr_an_inband; void (*get_fixed_state)(struct phylink_config *config, struct phylink_link_state *state); --- linux-gcp-5.19.0.orig/include/linux/pipe_fs_i.h +++ linux-gcp-5.19.0/include/linux/pipe_fs_i.h @@ -229,6 +229,15 @@ return buf->ops->try_steal(pipe, buf); } +static inline void pipe_discard_from(struct pipe_inode_info *pipe, + unsigned int old_head) +{ + unsigned int mask = pipe->ring_size - 1; + + while (pipe->head > old_head) + pipe_buf_release(pipe, &pipe->bufs[--pipe->head & mask]); +} + /* Differs from PIPE_BUF in that PIPE_SIZE is the length of the actual memory allocation, whereas PIPE_BUF makes atomicity guarantees. */ #define PIPE_SIZE PAGE_SIZE --- linux-gcp-5.19.0.orig/include/linux/platform-feature.h +++ linux-gcp-5.19.0/include/linux/platform-feature.h @@ -6,11 +6,7 @@ #include /* The platform features are starting with the architecture specific ones. */ - -/* Used to enable platform specific DMA handling for virtio devices. */ -#define PLATFORM_VIRTIO_RESTRICTED_MEM_ACCESS (0 + PLATFORM_ARCH_FEAT_N) - -#define PLATFORM_FEAT_N (1 + PLATFORM_ARCH_FEAT_N) +#define PLATFORM_FEAT_N (0 + PLATFORM_ARCH_FEAT_N) void platform_set(unsigned int feature); void platform_clear(unsigned int feature); --- linux-gcp-5.19.0.orig/include/linux/platform_data/x86/asus-wmi.h +++ linux-gcp-5.19.0/include/linux/platform_data/x86/asus-wmi.h @@ -64,6 +64,7 @@ #define ASUS_WMI_DEVID_PANEL_OD 0x00050019 #define ASUS_WMI_DEVID_CAMERA 0x00060013 #define ASUS_WMI_DEVID_LID_FLIP 0x00060062 +#define ASUS_WMI_DEVID_LID_FLIP_ROG 0x00060077 /* Storage */ #define ASUS_WMI_DEVID_CARDREADER 0x00080013 --- linux-gcp-5.19.0.orig/include/linux/platform_data/x86/pmc_atom.h +++ linux-gcp-5.19.0/include/linux/platform_data/x86/pmc_atom.h @@ -7,6 +7,8 @@ #ifndef PMC_ATOM_H #define PMC_ATOM_H +#include + /* ValleyView Power Control Unit PCI Device ID */ #define PCI_DEVICE_ID_VLV_PMC 0x0F1C /* CherryTrail Power Control Unit PCI Device ID */ @@ -139,9 +141,9 @@ #define ACPI_MMIO_REG_LEN 0x100 #define PM1_CNT 0x4 -#define SLEEP_TYPE_MASK 0xFFFFECFF +#define SLEEP_TYPE_MASK GENMASK(12, 10) #define SLEEP_TYPE_S5 0x1C00 -#define SLEEP_ENABLE 0x2000 +#define SLEEP_ENABLE BIT(13) extern int pmc_atom_read(int offset, u32 *value); --- linux-gcp-5.19.0.orig/include/linux/proc_fs.h +++ linux-gcp-5.19.0/include/linux/proc_fs.h @@ -208,8 +208,10 @@ static inline int remove_proc_subtree(const char *name, struct proc_dir_entry *parent) { return 0; } #define proc_create_net_data(name, mode, parent, ops, state_size, data) ({NULL;}) +#define proc_create_net_data_write(name, mode, parent, ops, write, state_size, data) ({NULL;}) #define proc_create_net(name, mode, parent, state_size, ops) ({NULL;}) #define proc_create_net_single(name, mode, parent, show, data) ({NULL;}) +#define proc_create_net_single_write(name, mode, parent, show, write, data) ({NULL;}) static inline struct pid *tgid_pidfd_to_pid(const struct file *file) { --- linux-gcp-5.19.0.orig/include/linux/psi_types.h +++ linux-gcp-5.19.0/include/linux/psi_types.h @@ -170,6 +170,7 @@ struct timer_list poll_timer; wait_queue_head_t poll_wait; atomic_t poll_wakeup; + atomic_t poll_scheduled; /* Protects data used by the monitor */ struct mutex trigger_lock; --- linux-gcp-5.19.0.orig/include/linux/radix-tree.h +++ linux-gcp-5.19.0/include/linux/radix-tree.h @@ -19,20 +19,11 @@ #include #include #include -#include /* Keep unconverted code working */ #define radix_tree_root xarray #define radix_tree_node xa_node -struct radix_tree_preload { - local_lock_t lock; - unsigned nr; - /* nodes->parent points to next preallocated node */ - struct radix_tree_node *nodes; -}; -DECLARE_PER_CPU(struct radix_tree_preload, radix_tree_preloads); - /* * The bottom two bits of the slot determine how the remaining bits in the * slot are interpreted: @@ -257,7 +248,7 @@ static inline void radix_tree_preload_end(void) { - local_unlock(&radix_tree_preloads.lock); + preempt_enable(); } void __rcu **idr_get_free(struct radix_tree_root *root, --- linux-gcp-5.19.0.orig/include/linux/random.h +++ linux-gcp-5.19.0/include/linux/random.h @@ -19,14 +19,14 @@ void add_interrupt_randomness(int irq) __latent_entropy; void add_hwgenerator_randomness(const void *buf, size_t len, size_t entropy); -#if defined(LATENT_ENTROPY_PLUGIN) && !defined(__CHECKER__) static inline void add_latent_entropy(void) { +#if defined(LATENT_ENTROPY_PLUGIN) && !defined(__CHECKER__) add_device_randomness((const void *)&latent_entropy, sizeof(latent_entropy)); -} #else -static inline void add_latent_entropy(void) { } + add_device_randomness(NULL, 0); #endif +} #if IS_ENABLED(CONFIG_VMGENID) void add_vmfork_randomness(const void *unique_vm_id, size_t len); --- linux-gcp-5.19.0.orig/include/linux/rcupdate.h +++ linux-gcp-5.19.0/include/linux/rcupdate.h @@ -194,6 +194,7 @@ #define rcu_note_voluntary_context_switch(t) rcu_tasks_qs(t, false) void exit_tasks_rcu_start(void); +void exit_tasks_rcu_stop(void); void exit_tasks_rcu_finish(void); #else /* #ifdef CONFIG_TASKS_RCU_GENERIC */ #define rcu_tasks_classic_qs(t, preempt) do { } while (0) @@ -202,6 +203,7 @@ #define call_rcu_tasks call_rcu #define synchronize_rcu_tasks synchronize_rcu static inline void exit_tasks_rcu_start(void) { } +static inline void exit_tasks_rcu_stop(void) { } static inline void exit_tasks_rcu_finish(void) { } #endif /* #else #ifdef CONFIG_TASKS_RCU_GENERIC */ @@ -313,11 +315,18 @@ * RCU_LOCKDEP_WARN - emit lockdep splat if specified condition is met * @c: condition to check * @s: informative message + * + * This checks debug_lockdep_rcu_enabled() before checking (c) to + * prevent early boot splats due to lockdep not yet being initialized, + * and rechecks it after checking (c) to prevent false-positive splats + * due to races with lockdep being disabled. See commit 3066820034b5dd + * ("rcu: Reject RCU_LOCKDEP_WARN() false positives") for more detail. */ #define RCU_LOCKDEP_WARN(c, s) \ do { \ static bool __section(".data.unlikely") __warned; \ - if ((c) && debug_lockdep_rcu_enabled() && !__warned) { \ + if (debug_lockdep_rcu_enabled() && (c) && \ + debug_lockdep_rcu_enabled() && !__warned) { \ __warned = true; \ lockdep_rcu_suspicious(__FILE__, __LINE__, s); \ } \ --- linux-gcp-5.19.0.orig/include/linux/ring_buffer.h +++ linux-gcp-5.19.0/include/linux/ring_buffer.h @@ -100,8 +100,8 @@ int ring_buffer_wait(struct trace_buffer *buffer, int cpu, int full); __poll_t ring_buffer_poll_wait(struct trace_buffer *buffer, int cpu, - struct file *filp, poll_table *poll_table); - + struct file *filp, poll_table *poll_table, int full); +void ring_buffer_wake_waiters(struct trace_buffer *buffer, int cpu); #define RING_BUFFER_ALL_CPUS -1 --- linux-gcp-5.19.0.orig/include/linux/rmap.h +++ linux-gcp-5.19.0/include/linux/rmap.h @@ -41,12 +41,15 @@ atomic_t refcount; /* - * Count of child anon_vmas and VMAs which points to this anon_vma. + * Count of child anon_vmas. Equals to the count of all anon_vmas that + * have ->parent pointing to this one, including itself. * * This counter is used for making decision about reusing anon_vma * instead of forking new one. See comments in function anon_vma_clone. */ - unsigned degree; + unsigned long num_children; + /* Count of VMAs whose ->anon_vma pointer points to this object. */ + unsigned long num_active_vmas; struct anon_vma *parent; /* Parent of this anon_vma */ @@ -325,8 +328,8 @@ #define DEFINE_PAGE_VMA_WALK(name, _page, _vma, _address, _flags) \ struct page_vma_mapped_walk name = { \ .pfn = page_to_pfn(_page), \ - .nr_pages = compound_nr(page), \ - .pgoff = page_to_pgoff(page), \ + .nr_pages = compound_nr(_page), \ + .pgoff = page_to_pgoff(_page), \ .vma = _vma, \ .address = _address, \ .flags = _flags, \ --- linux-gcp-5.19.0.orig/include/linux/sched.h +++ linux-gcp-5.19.0/include/linux/sched.h @@ -934,7 +934,7 @@ #endif #ifdef CONFIG_EVENTFD /* Recursion prevention for eventfd_signal() */ - unsigned in_eventfd_signal:1; + unsigned in_eventfd:1; #endif #ifdef CONFIG_IOMMU_SVA unsigned pasid_activated:1; @@ -1813,7 +1813,7 @@ } extern int cpuset_cpumask_can_shrink(const struct cpumask *cur, const struct cpumask *trial); -extern int task_can_attach(struct task_struct *p, const struct cpumask *cs_cpus_allowed); +extern int task_can_attach(struct task_struct *p, const struct cpumask *cs_effective_cpus); #ifdef CONFIG_SMP extern void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask); extern int set_cpus_allowed_ptr(struct task_struct *p, const struct cpumask *new_mask); --- linux-gcp-5.19.0.orig/include/linux/sched/rt.h +++ linux-gcp-5.19.0/include/linux/sched/rt.h @@ -39,20 +39,12 @@ } extern void rt_mutex_setprio(struct task_struct *p, struct task_struct *pi_task); extern void rt_mutex_adjust_pi(struct task_struct *p); -static inline bool tsk_is_pi_blocked(struct task_struct *tsk) -{ - return tsk->pi_blocked_on != NULL; -} #else static inline struct task_struct *rt_mutex_get_top_task(struct task_struct *task) { return NULL; } # define rt_mutex_adjust_pi(p) do { } while (0) -static inline bool tsk_is_pi_blocked(struct task_struct *tsk) -{ - return false; -} #endif extern void normalize_rt_tasks(void); --- linux-gcp-5.19.0.orig/include/linux/sched/topology.h +++ linux-gcp-5.19.0/include/linux/sched/topology.h @@ -81,6 +81,7 @@ atomic_t ref; atomic_t nr_busy_cpus; int has_idle_cores; + int nr_idle_scan; }; struct sched_domain { --- linux-gcp-5.19.0.orig/include/linux/sched/user.h +++ linux-gcp-5.19.0/include/linux/sched/user.h @@ -24,7 +24,8 @@ kuid_t uid; #if defined(CONFIG_PERF_EVENTS) || defined(CONFIG_BPF_SYSCALL) || \ - defined(CONFIG_NET) || defined(CONFIG_IO_URING) + defined(CONFIG_NET) || defined(CONFIG_IO_URING) || \ + defined(CONFIG_VFIO_PCI_ZDEV_KVM) atomic_long_t locked_vm; #endif #ifdef CONFIG_WATCH_QUEUE --- linux-gcp-5.19.0.orig/include/linux/scmi_protocol.h +++ linux-gcp-5.19.0/include/linux/scmi_protocol.h @@ -78,7 +78,7 @@ struct scmi_clk_proto_ops { int (*count_get)(const struct scmi_protocol_handle *ph); - const struct scmi_clock_info *(*info_get) + const struct scmi_clock_info __must_check *(*info_get) (const struct scmi_protocol_handle *ph, u32 clk_id); int (*rate_get)(const struct scmi_protocol_handle *ph, u32 clk_id, u64 *rate); @@ -460,7 +460,7 @@ */ struct scmi_sensor_proto_ops { int (*count_get)(const struct scmi_protocol_handle *ph); - const struct scmi_sensor_info *(*info_get) + const struct scmi_sensor_info __must_check *(*info_get) (const struct scmi_protocol_handle *ph, u32 sensor_id); int (*trip_point_config)(const struct scmi_protocol_handle *ph, u32 sensor_id, u8 trip_id, u64 trip_value); --- linux-gcp-5.19.0.orig/include/linux/security.h +++ linux-gcp-5.19.0/include/linux/security.h @@ -39,6 +39,7 @@ struct sembuf; struct kern_ipc_perm; struct audit_context; +struct audit_lsm_rules; struct super_block; struct inode; struct dentry; @@ -136,6 +137,160 @@ extern const char *const lockdown_reasons[LOCKDOWN_CONFIDENTIALITY_MAX+1]; +/* + * A "security context" is the text representation of + * the information used by LSMs. + * This structure contains the string, its length, and which LSM + * it is useful for. + */ +struct lsmcontext { + char *context; /* Provided by the module */ + u32 len; + int slot; /* Identifies the module */ +}; + +/* + * Data exported by the security modules + * + * Any LSM that provides secid or secctx based hooks must be included. + */ +#define LSMBLOB_ENTRIES ( \ + (IS_ENABLED(CONFIG_SECURITY_SELINUX) ? 1 : 0) + \ + (IS_ENABLED(CONFIG_SECURITY_SMACK) ? 1 : 0) + \ + (IS_ENABLED(CONFIG_SECURITY_APPARMOR) ? 1 : 0) + \ + (IS_ENABLED(CONFIG_BPF_LSM) ? 1 : 0)) + +struct lsmblob { + u32 secid[LSMBLOB_ENTRIES]; +}; + +#define LSMBLOB_INVALID -1 /* Not a valid LSM slot number */ +#define LSMBLOB_NEEDED -2 /* Slot requested on initialization */ +#define LSMBLOB_NOT_NEEDED -3 /* Slot not requested */ +#define LSMBLOB_DISPLAY -4 /* Use the "interface_lsm" slot */ +#define LSMBLOB_FIRST -5 /* Use the first slot */ + +/** + * lsmblob_init - initialize a lsmblob structure + * @blob: Pointer to the data to initialize + * @secid: The initial secid value + * + * Set all secid for all modules to the specified value. + */ +static inline void lsmblob_init(struct lsmblob *blob, u32 secid) +{ + int i; + + for (i = 0; i < LSMBLOB_ENTRIES; i++) + blob->secid[i] = secid; +} + +/** + * lsmblob_is_set - report if there is a value in the lsmblob + * @blob: Pointer to the exported LSM data + * + * Returns true if there is a secid set, false otherwise + */ +static inline bool lsmblob_is_set(struct lsmblob *blob) +{ + const struct lsmblob empty = {}; + + return !!memcmp(blob, &empty, sizeof(*blob)); +} + +/** + * lsmblob_equal - report if the two lsmblob's are equal + * @bloba: Pointer to one LSM data + * @blobb: Pointer to the other LSM data + * + * Returns true if all entries in the two are equal, false otherwise + */ +static inline bool lsmblob_equal(const struct lsmblob *bloba, + const struct lsmblob *blobb) +{ + return !memcmp(bloba, blobb, sizeof(*bloba)); +} + +/* Map lsm names to blob slot numbers */ +#if LSMBLOB_ENTRIES > 0 +extern int lsm_name_to_slot(char *name); +extern const char *lsm_slot_to_name(int slot); +#else +static inline int lsm_name_to_slot(char *name) +{ + return LSMBLOB_INVALID; +} +static inline const char *lsm_slot_to_name(int slot) +{ + return NULL; +} +#endif + +static inline bool lsm_multiple_contexts(void) +{ +#ifdef CONFIG_SECURITY + return lsm_slot_to_name(1) != NULL; +#else + return false; +#endif +} + +/** + * lsmblob_value - find the first non-zero value in an lsmblob structure. + * @blob: Pointer to the data + * + * This needs to be used with extreme caution, as the cases where + * it is appropriate are rare. + * + * Return the first secid value set in the lsmblob. + * There should only be one. + */ +static inline u32 lsmblob_value(const struct lsmblob *blob) +{ + int i; + + for (i = 0; i < LSMBLOB_ENTRIES; i++) + if (blob->secid[i]) + return blob->secid[i]; + + return 0; +} + +/** + * lsmblob_first - secid value for the first LSM slot + * @blob: Pointer to the data + * + * Return the secid value from the first LSM slot. + * There may not be any LSM slots. + * + * Return the value in secid[0] if there are any slots, 0 otherwise. + */ +static inline u32 lsmblob_first(const struct lsmblob *blob) +{ +#if LSMBLOB_ENTRIES > 0 + return blob->secid[0]; +#else + return 0; +#endif +} + +/** + * lsm_task_ilsm - the "interface_lsm" for this task + * @task: The task to report on + * + * Returns the task's interface LSM slot. + */ +static inline int lsm_task_ilsm(struct task_struct *task) +{ +#ifdef CONFIG_SECURITY + int *ilsm = task->security; + + if (ilsm) + return *ilsm; +#endif + return LSMBLOB_INVALID; +} + /* These functions are in security/commoncap.c */ extern int cap_capable(const struct cred *cred, struct user_namespace *ns, int cap, unsigned int opts); @@ -318,8 +473,8 @@ int security_move_mount(const struct path *from_path, const struct path *to_path); int security_dentry_init_security(struct dentry *dentry, int mode, const struct qstr *name, - const char **xattr_name, void **ctx, - u32 *ctxlen); + const char **xattr_name, + struct lsmcontext *lsmcxt); int security_dentry_create_files_as(struct dentry *dentry, int mode, struct qstr *name, const struct cred *old, @@ -372,7 +527,7 @@ void **buffer, bool alloc); int security_inode_setsecurity(struct inode *inode, const char *name, const void *value, size_t size, int flags); int security_inode_listsecurity(struct inode *inode, char *buffer, size_t buffer_size); -void security_inode_getsecid(struct inode *inode, u32 *secid); +void security_inode_getsecid(struct inode *inode, struct lsmblob *blob); int security_inode_copy_up(struct dentry *src, struct cred **new); int security_inode_copy_up_xattr(const char *name); int security_kernfs_init_security(struct kernfs_node *kn_dir, @@ -399,8 +554,8 @@ void security_cred_free(struct cred *cred); int security_prepare_creds(struct cred *new, const struct cred *old, gfp_t gfp); void security_transfer_creds(struct cred *new, const struct cred *old); -void security_cred_getsecid(const struct cred *c, u32 *secid); -int security_kernel_act_as(struct cred *new, u32 secid); +void security_cred_getsecid(const struct cred *c, struct lsmblob *blob); +int security_kernel_act_as(struct cred *new, struct lsmblob *blob); int security_kernel_create_files_as(struct cred *new, struct inode *inode); int security_kernel_module_request(char *kmod_name); int security_kernel_load_data(enum kernel_load_data_id id, bool contents); @@ -418,8 +573,8 @@ int security_task_setpgid(struct task_struct *p, pid_t pgid); int security_task_getpgid(struct task_struct *p); int security_task_getsid(struct task_struct *p); -void security_current_getsecid_subj(u32 *secid); -void security_task_getsecid_obj(struct task_struct *p, u32 *secid); +void security_current_getsecid_subj(struct lsmblob *blob); +void security_task_getsecid_obj(struct task_struct *p, struct lsmblob *blob); int security_task_setnice(struct task_struct *p, int nice); int security_task_setioprio(struct task_struct *p, int ioprio); int security_task_getioprio(struct task_struct *p); @@ -435,8 +590,9 @@ int security_task_prctl(int option, unsigned long arg2, unsigned long arg3, unsigned long arg4, unsigned long arg5); void security_task_to_inode(struct task_struct *p, struct inode *inode); +int security_create_user_ns(const struct cred *cred); int security_ipc_permission(struct kern_ipc_perm *ipcp, short flag); -void security_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid); +void security_ipc_getsecid(struct kern_ipc_perm *ipcp, struct lsmblob *blob); int security_msg_msg_alloc(struct msg_msg *msg); void security_msg_msg_free(struct msg_msg *msg); int security_msg_queue_alloc(struct kern_ipc_perm *msq); @@ -465,14 +621,17 @@ size_t size); int security_netlink_send(struct sock *sk, struct sk_buff *skb); int security_ismaclabel(const char *name); -int security_secid_to_secctx(u32 secid, char **secdata, u32 *seclen); -int security_secctx_to_secid(const char *secdata, u32 seclen, u32 *secid); -void security_release_secctx(char *secdata, u32 seclen); +int security_secid_to_secctx(struct lsmblob *blob, struct lsmcontext *cp, + int ilsm); +int security_secctx_to_secid(const char *secdata, u32 seclen, + struct lsmblob *blob); +void security_release_secctx(struct lsmcontext *cp); void security_inode_invalidate_secctx(struct inode *inode); int security_inode_notifysecctx(struct inode *inode, void *ctx, u32 ctxlen); int security_inode_setsecctx(struct dentry *dentry, void *ctx, u32 ctxlen); -int security_inode_getsecctx(struct inode *inode, void **ctx, u32 *ctxlen); +int security_inode_getsecctx(struct inode *inode, struct lsmcontext *cp); int security_locked_down(enum lockdown_reason what); +int security_lock_kernel_down(const char *where, enum lockdown_reason level); #else /* CONFIG_SECURITY */ static inline int call_blocking_lsm_notifier(enum lsm_event event, void *data) @@ -735,8 +894,7 @@ int mode, const struct qstr *name, const char **xattr_name, - void **ctx, - u32 *ctxlen) + struct lsmcontext *lsmcxt) { return -EOPNOTSUPP; } @@ -917,9 +1075,10 @@ return 0; } -static inline void security_inode_getsecid(struct inode *inode, u32 *secid) +static inline void security_inode_getsecid(struct inode *inode, + struct lsmblob *blob) { - *secid = 0; + lsmblob_init(blob, 0); } static inline int security_inode_copy_up(struct dentry *src, struct cred **new) @@ -1037,12 +1196,14 @@ { } -static inline void security_cred_getsecid(const struct cred *c, u32 *secid) +static inline void security_cred_getsecid(const struct cred *c, + struct lsmblob *blob) { - *secid = 0; + lsmblob_init(blob, 0); } -static inline int security_kernel_act_as(struct cred *cred, u32 secid) +static inline int security_kernel_act_as(struct cred *cred, + struct lsmblob *blob) { return 0; } @@ -1113,14 +1274,15 @@ return 0; } -static inline void security_current_getsecid_subj(u32 *secid) +static inline void security_current_getsecid_subj(struct lsmblob *blob) { - *secid = 0; + lsmblob_init(blob, 0); } -static inline void security_task_getsecid_obj(struct task_struct *p, u32 *secid) +static inline void security_task_getsecid_obj(struct task_struct *p, + struct lsmblob *blob) { - *secid = 0; + lsmblob_init(blob, 0); } static inline int security_task_setnice(struct task_struct *p, int nice) @@ -1185,15 +1347,21 @@ static inline void security_task_to_inode(struct task_struct *p, struct inode *inode) { } +static inline int security_create_user_ns(const struct cred *cred) +{ + return 0; +} + static inline int security_ipc_permission(struct kern_ipc_perm *ipcp, short flag) { return 0; } -static inline void security_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid) +static inline void security_ipc_getsecid(struct kern_ipc_perm *ipcp, + struct lsmblob *blob) { - *secid = 0; + lsmblob_init(blob, 0); } static inline int security_msg_msg_alloc(struct msg_msg *msg) @@ -1313,19 +1481,20 @@ return 0; } -static inline int security_secid_to_secctx(u32 secid, char **secdata, u32 *seclen) +static inline int security_secid_to_secctx(struct lsmblob *blob, + struct lsmcontext *cp, int ilsm) { return -EOPNOTSUPP; } static inline int security_secctx_to_secid(const char *secdata, u32 seclen, - u32 *secid) + struct lsmblob *blob) { return -EOPNOTSUPP; } -static inline void security_release_secctx(char *secdata, u32 seclen) +static inline void security_release_secctx(struct lsmcontext *cp) { } @@ -1341,7 +1510,8 @@ { return -EOPNOTSUPP; } -static inline int security_inode_getsecctx(struct inode *inode, void **ctx, u32 *ctxlen) +static inline int security_inode_getsecctx(struct inode *inode, + struct lsmcontext *cp) { return -EOPNOTSUPP; } @@ -1349,6 +1519,10 @@ { return 0; } +static inline int security_lock_kernel_down(const char *where, enum lockdown_reason level) +{ + return 0; +} #endif /* CONFIG_SECURITY */ #if defined(CONFIG_SECURITY) && defined(CONFIG_WATCH_QUEUE) @@ -1889,15 +2063,17 @@ #ifdef CONFIG_AUDIT #ifdef CONFIG_SECURITY -int security_audit_rule_init(u32 field, u32 op, char *rulestr, void **lsmrule); +int security_audit_rule_init(u32 field, u32 op, char *rulestr, + struct audit_lsm_rules *lsmrules); int security_audit_rule_known(struct audit_krule *krule); -int security_audit_rule_match(u32 secid, u32 field, u32 op, void *lsmrule); -void security_audit_rule_free(void *lsmrule); +int security_audit_rule_match(struct lsmblob *blob, u32 field, u32 op, + struct audit_lsm_rules *lsmrules); +void security_audit_rule_free(struct audit_lsm_rules *lsmrules); #else static inline int security_audit_rule_init(u32 field, u32 op, char *rulestr, - void **lsmrule) + struct audit_lsm_rules *lsmrules) { return 0; } @@ -1907,18 +2083,45 @@ return 0; } -static inline int security_audit_rule_match(u32 secid, u32 field, u32 op, - void *lsmrule) +static inline int security_audit_rule_match(struct lsmblob *blob, + u32 field, u32 op, + struct audit_lsm_rules *lsmrules) { return 0; } -static inline void security_audit_rule_free(void *lsmrule) +static inline void security_audit_rule_free(struct audit_lsm_rules *lsmrules) { } #endif /* CONFIG_SECURITY */ #endif /* CONFIG_AUDIT */ +#if defined(CONFIG_IMA_LSM_RULES) && defined(CONFIG_SECURITY) +int ima_filter_rule_init(u32 field, u32 op, char *rulestr, void **lsmrule, + int lsmslot); +int ima_filter_rule_match(struct lsmblob *blob, u32 field, u32 op, + void *lsmrule, int lsmslot); +void ima_filter_rule_free(void *lsmrule, int lsmslot); + +#else + +static inline int ima_filter_rule_init(u32 field, u32 op, char *rulestr, + void **lsmrule, int lsmslot) +{ + return 0; +} + +static inline int ima_filter_rule_match(struct lsmblob *blob, u32 field, u32 op, + void *lsmrule, int lsmslot) +{ + return 0; +} + +static inline void ima_filter_rule_free(void *lsmrule, int lsmslot) +{ } + +#endif /* defined(CONFIG_IMA_LSM_RULES) && defined(CONFIG_SECURITY) */ + #ifdef CONFIG_SECURITYFS extern struct dentry *securityfs_create_file(const char *name, umode_t mode, @@ -2051,6 +2254,7 @@ #ifdef CONFIG_SECURITY extern int security_uring_override_creds(const struct cred *new); extern int security_uring_sqpoll(void); +extern int security_uring_cmd(struct io_uring_cmd *ioucmd); #else static inline int security_uring_override_creds(const struct cred *new) { @@ -2060,6 +2264,10 @@ { return 0; } +static inline int security_uring_cmd(struct io_uring_cmd *ioucmd) +{ + return 0; +} #endif /* CONFIG_SECURITY */ #endif /* CONFIG_IO_URING */ --- linux-gcp-5.19.0.orig/include/linux/serial_8250.h +++ linux-gcp-5.19.0/include/linux/serial_8250.h @@ -74,6 +74,7 @@ struct uart_8250_ops { int (*setup_irq)(struct uart_8250_port *); void (*release_irq)(struct uart_8250_port *); + void (*setup_timer)(struct uart_8250_port *); }; struct uart_8250_em485 { --- linux-gcp-5.19.0.orig/include/linux/serial_core.h +++ linux-gcp-5.19.0/include/linux/serial_core.h @@ -101,7 +101,7 @@ __u32 buf_overrun; }; -typedef unsigned int __bitwise upf_t; +typedef u64 __bitwise upf_t; typedef unsigned int __bitwise upstat_t; struct uart_port { @@ -208,6 +208,7 @@ #define UPF_FIXED_PORT ((__force upf_t) (1 << 29)) #define UPF_DEAD ((__force upf_t) (1 << 30)) #define UPF_IOREMAP ((__force upf_t) (1 << 31)) +#define UPF_FULL_PROBE ((__force upf_t) (1ULL << 32)) #define __UPF_CHANGE_MASK 0x17fff #define UPF_CHANGE_MASK ((__force upf_t) __UPF_CHANGE_MASK) @@ -255,6 +256,7 @@ struct attribute_group *attr_group; /* port specific attributes */ const struct attribute_group **tty_groups; /* all attributes (serial core use only) */ struct serial_rs485 rs485; + const struct serial_rs485 *rs485_supported; /* Supported mask for serial_rs485 */ struct gpio_desc *rs485_term_gpio; /* enable RS485 bus termination */ struct serial_iso7816 iso7816; void *private_data; /* generic platform data pointer */ @@ -302,6 +304,23 @@ /* number of characters left in xmit buffer before we ask for more */ #define WAKEUP_CHARS 256 +/** + * uart_xmit_advance - Advance xmit buffer and account Tx'ed chars + * @up: uart_port structure describing the port + * @chars: number of characters sent + * + * This function advances the tail of circular xmit buffer by the number of + * @chars transmitted and handles accounting of transmitted bytes (into + * @up's icount.tx). + */ +static inline void uart_xmit_advance(struct uart_port *up, unsigned int chars) +{ + struct circ_buf *xmit = &up->state->xmit; + + xmit->tail = (xmit->tail + chars) & (UART_XMIT_SIZE - 1); + up->icount.tx += chars; +} + struct module; struct tty_driver; --- linux-gcp-5.19.0.orig/include/linux/skbuff.h +++ linux-gcp-5.19.0/include/linux/skbuff.h @@ -965,6 +965,7 @@ * @csum_level: indicates the number of consecutive checksums found in * the packet minus one that have been verified as * CHECKSUM_UNNECESSARY (max 3) + * @scm_io_uring: SKB holds io_uring registered files * @dst_pending_confirm: need to confirm neighbour * @decrypted: Decrypted SKB * @slow_gro: state present at GRO time, slower prepare step required @@ -1144,6 +1145,7 @@ #endif __u8 slow_gro:1; __u8 csum_not_inet:1; + __u8 scm_io_uring:1; #ifdef CONFIG_NET_SCHED __u16 tc_index; /* traffic control index */ @@ -2528,6 +2530,22 @@ return skb_headlen(skb) + __skb_pagelen(skb); } +static inline void __skb_fill_page_desc_noacc(struct skb_shared_info *shinfo, + int i, struct page *page, + int off, int size) +{ + skb_frag_t *frag = &shinfo->frags[i]; + + /* + * Propagate page pfmemalloc to the skb if we can. The problem is + * that not all callers have unique ownership of the page but rely + * on page_is_pfmemalloc doing the right thing(tm). + */ + frag->bv_page = page; + frag->bv_offset = off; + skb_frag_size_set(frag, size); +} + /** * __skb_fill_page_desc - initialise a paged fragment in an skb * @skb: buffer containing fragment to be initialised @@ -2544,17 +2562,7 @@ static inline void __skb_fill_page_desc(struct sk_buff *skb, int i, struct page *page, int off, int size) { - skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; - - /* - * Propagate page pfmemalloc to the skb if we can. The problem is - * that not all callers have unique ownership of the page but rely - * on page_is_pfmemalloc doing the right thing(tm). - */ - frag->bv_page = page; - frag->bv_offset = off; - skb_frag_size_set(frag, size); - + __skb_fill_page_desc_noacc(skb_shinfo(skb), i, page, off, size); page = compound_head(page); if (page_is_pfmemalloc(page)) skb->pfmemalloc = true; @@ -2581,6 +2589,27 @@ skb_shinfo(skb)->nr_frags = i + 1; } +/** + * skb_fill_page_desc_noacc - initialise a paged fragment in an skb + * @skb: buffer containing fragment to be initialised + * @i: paged fragment index to initialise + * @page: the page to use for this fragment + * @off: the offset to the data with @page + * @size: the length of the data + * + * Variant of skb_fill_page_desc() which does not deal with + * pfmemalloc, if page is not owned by us. + */ +static inline void skb_fill_page_desc_noacc(struct sk_buff *skb, int i, + struct page *page, int off, + int size) +{ + struct skb_shared_info *shinfo = skb_shinfo(skb); + + __skb_fill_page_desc_noacc(shinfo, i, page, off, size); + shinfo->nr_frags = i + 1; +} + void skb_add_rx_frag(struct sk_buff *skb, int i, struct page *page, int off, int size, unsigned int truesize); @@ -2624,6 +2653,14 @@ #endif /* NET_SKBUFF_DATA_USES_OFFSET */ +static inline void skb_assert_len(struct sk_buff *skb) +{ +#ifdef CONFIG_DEBUG_NET + if (WARN_ONCE(!skb->len, "%s\n", __func__)) + DO_ONCE_LITE(skb_dump, KERN_ERR, skb, false); +#endif /* CONFIG_DEBUG_NET */ +} + /* * Add data to an sk_buff */ --- linux-gcp-5.19.0.orig/include/linux/skmsg.h +++ linux-gcp-5.19.0/include/linux/skmsg.h @@ -82,6 +82,7 @@ u32 apply_bytes; u32 cork_bytes; u32 eval; + bool redir_ingress; /* undefined if sk_redir is null */ struct sk_msg *cork; struct sk_psock_progs progs; #if IS_ENABLED(CONFIG_BPF_STREAM_PARSER) @@ -95,6 +96,7 @@ spinlock_t link_lock; refcount_t refcnt; void (*saved_unhash)(struct sock *sk); + void (*saved_destroy)(struct sock *sk); void (*saved_close)(struct sock *sk, long timeout); void (*saved_write_space)(struct sock *sk); void (*saved_data_ready)(struct sock *sk); @@ -277,7 +279,8 @@ static inline struct sk_psock *sk_psock(const struct sock *sk) { - return rcu_dereference_sk_user_data(sk); + return __rcu_dereference_sk_user_data_with_flags(sk, + SK_USER_DATA_PSOCK); } static inline void sk_psock_set_state(struct sk_psock *psock, @@ -374,7 +377,7 @@ } struct sk_psock *sk_psock_init(struct sock *sk, int node); -void sk_psock_stop(struct sk_psock *psock, bool wait); +void sk_psock_stop(struct sk_psock *psock); #if IS_ENABLED(CONFIG_BPF_STREAM_PARSER) int sk_psock_init_strp(struct sock *sk, struct sk_psock *psock); --- linux-gcp-5.19.0.orig/include/linux/soc/ti/omap1-io.h +++ linux-gcp-5.19.0/include/linux/soc/ti/omap1-io.h @@ -5,7 +5,7 @@ #ifndef __ASSEMBLER__ #include -#ifdef CONFIG_ARCH_OMAP1_ANY +#ifdef CONFIG_ARCH_OMAP1 /* * NOTE: Please use ioremap + __raw_read/write where possible instead of these */ @@ -15,7 +15,7 @@ extern void omap_writeb(u8 v, u32 pa); extern void omap_writew(u16 v, u32 pa); extern void omap_writel(u32 v, u32 pa); -#else +#elif defined(CONFIG_COMPILE_TEST) static inline u8 omap_readb(u32 pa) { return 0; } static inline u16 omap_readw(u32 pa) { return 0; } static inline u32 omap_readl(u32 pa) { return 0; } --- linux-gcp-5.19.0.orig/include/linux/soundwire/sdw.h +++ linux-gcp-5.19.0/include/linux/soundwire/sdw.h @@ -646,9 +646,6 @@ * @dev_num: Current Device Number, values can be 0 or dev_num_sticky * @dev_num_sticky: one-time static Device Number assigned by Bus * @probed: boolean tracking driver state - * @probe_complete: completion utility to control potential races - * on startup between driver probe/initialization and SoundWire - * Slave state changes/implementation-defined interrupts * @enumeration_complete: completion utility to control potential races * on startup between device enumeration and read/write access to the * Slave device @@ -663,6 +660,7 @@ * for a Slave happens for the first time after enumeration * @is_mockup_device: status flag used to squelch errors in the command/control * protocol for SoundWire mockup devices + * @sdw_dev_lock: mutex used to protect callbacks/remove races */ struct sdw_slave { struct sdw_slave_id id; @@ -680,12 +678,12 @@ u16 dev_num; u16 dev_num_sticky; bool probed; - struct completion probe_complete; struct completion enumeration_complete; struct completion initialization_complete; u32 unattach_request; bool first_interrupt_done; bool is_mockup_device; + struct mutex sdw_dev_lock; /* protect callbacks/remove races */ }; #define dev_to_sdw_dev(_dev) container_of(_dev, struct sdw_slave, dev) --- linux-gcp-5.19.0.orig/include/linux/soundwire/sdw_intel.h +++ linux-gcp-5.19.0/include/linux/soundwire/sdw_intel.h @@ -9,6 +9,8 @@ #define SDW_SHIM_BASE 0x2C000 #define SDW_ALH_BASE 0x2C800 +#define SDW_SHIM_BASE_ACE 0x38000 +#define SDW_ALH_BASE_ACE 0x24000 #define SDW_LINK_BASE 0x30000 #define SDW_LINK_SIZE 0x10000 --- linux-gcp-5.19.0.orig/include/linux/stmmac.h +++ linux-gcp-5.19.0/include/linux/stmmac.h @@ -252,6 +252,7 @@ int rss_en; int mac_port_sel_speed; bool en_tx_lpi_clockgating; + bool rx_clk_runs_in_lpi; int has_xgmac; bool vlan_fail_q_en; u8 vlan_fail_q; --- linux-gcp-5.19.0.orig/include/linux/sunrpc/rpc_pipe_fs.h +++ linux-gcp-5.19.0/include/linux/sunrpc/rpc_pipe_fs.h @@ -92,6 +92,11 @@ char __user *, size_t); extern int rpc_queue_upcall(struct rpc_pipe *, struct rpc_pipe_msg *); +/* returns true if the msg is in-flight, i.e., already eaten by the peer */ +static inline bool rpc_msg_is_inflight(const struct rpc_pipe_msg *msg) { + return (msg->copied != 0 && list_empty(&msg->list)); +} + struct rpc_clnt; extern struct dentry *rpc_create_client_dir(struct dentry *, const char *, struct rpc_clnt *); extern int rpc_remove_client_dir(struct rpc_clnt *); --- linux-gcp-5.19.0.orig/include/linux/sunrpc/svc.h +++ linux-gcp-5.19.0/include/linux/sunrpc/svc.h @@ -544,16 +544,27 @@ } /** - * svcxdr_init_decode - Prepare an xdr_stream for svc Call decoding + * svcxdr_init_decode - Prepare an xdr_stream for Call decoding * @rqstp: controlling server RPC transaction context * + * This function currently assumes the RPC header in rq_arg has + * already been decoded. Upon return, xdr->p points to the + * location of the upper layer header. */ static inline void svcxdr_init_decode(struct svc_rqst *rqstp) { struct xdr_stream *xdr = &rqstp->rq_arg_stream; - struct kvec *argv = rqstp->rq_arg.head; + struct xdr_buf *buf = &rqstp->rq_arg; + struct kvec *argv = buf->head; - xdr_init_decode(xdr, &rqstp->rq_arg, argv->iov_base, NULL); + /* + * svc_getnl() and friends do not keep the xdr_buf's ::len + * field up to date. Refresh that field before initializing + * the argument decoding stream. + */ + buf->len = buf->head->iov_len + buf->page_len + buf->tail->iov_len; + + xdr_init_decode(xdr, buf, argv->iov_base, NULL); xdr_set_scratch_page(xdr, rqstp->rq_scratch_page); } @@ -576,7 +587,7 @@ xdr->end = resv->iov_base + PAGE_SIZE - rqstp->rq_auth_slack; buf->len = resv->iov_len; xdr->page_ptr = buf->pages - 1; - buf->buflen = PAGE_SIZE * (1 + rqstp->rq_page_end - buf->pages); + buf->buflen = PAGE_SIZE * (rqstp->rq_page_end - buf->pages); buf->buflen -= rqstp->rq_auth_slack; xdr->rqst = NULL; } --- linux-gcp-5.19.0.orig/include/linux/sunrpc/xdr.h +++ linux-gcp-5.19.0/include/linux/sunrpc/xdr.h @@ -419,8 +419,8 @@ */ static inline __be32 *xdr_encode_bool(__be32 *p, u32 n) { - *p = n ? xdr_one : xdr_zero; - return p++; + *p++ = n ? xdr_one : xdr_zero; + return p; } /** --- linux-gcp-5.19.0.orig/include/linux/sunrpc/xprt.h +++ linux-gcp-5.19.0/include/linux/sunrpc/xprt.h @@ -144,7 +144,8 @@ unsigned short (*get_srcport)(struct rpc_xprt *xprt); int (*buf_alloc)(struct rpc_task *task); void (*buf_free)(struct rpc_task *task); - int (*prepare_request)(struct rpc_rqst *req); + int (*prepare_request)(struct rpc_rqst *req, + struct xdr_buf *buf); int (*send_request)(struct rpc_rqst *req); void (*wait_for_reply_request)(struct rpc_task *task); void (*timer)(struct rpc_xprt *xprt, struct rpc_task *task); --- linux-gcp-5.19.0.orig/include/linux/swapops.h +++ linux-gcp-5.19.0/include/linux/swapops.h @@ -244,8 +244,10 @@ spinlock_t *ptl); extern void migration_entry_wait(struct mm_struct *mm, pmd_t *pmd, unsigned long address); -extern void migration_entry_wait_huge(struct vm_area_struct *vma, - struct mm_struct *mm, pte_t *pte); +#ifdef CONFIG_HUGETLB_PAGE +extern void __migration_entry_wait_huge(pte_t *ptep, spinlock_t *ptl); +extern void migration_entry_wait_huge(struct vm_area_struct *vma, pte_t *pte); +#endif #else static inline swp_entry_t make_readable_migration_entry(pgoff_t offset) { @@ -271,8 +273,10 @@ spinlock_t *ptl) { } static inline void migration_entry_wait(struct mm_struct *mm, pmd_t *pmd, unsigned long address) { } -static inline void migration_entry_wait_huge(struct vm_area_struct *vma, - struct mm_struct *mm, pte_t *pte) { } +#ifdef CONFIG_HUGETLB_PAGE +static inline void __migration_entry_wait_huge(pte_t *ptep, spinlock_t *ptl) { } +static inline void migration_entry_wait_huge(struct vm_area_struct *vma, pte_t *pte) { } +#endif static inline int is_writable_migration_entry(swp_entry_t entry) { return 0; --- linux-gcp-5.19.0.orig/include/linux/tcp.h +++ linux-gcp-5.19.0/include/linux/tcp.h @@ -265,7 +265,7 @@ u32 packets_out; /* Packets which are "in flight" */ u32 retrans_out; /* Retransmitted packets out */ u32 max_packets_out; /* max packets_out in last window */ - u32 max_packets_seq; /* right edge of max_packets_out flight */ + u32 cwnd_usage_seq; /* right edge of cwnd usage tracking flight */ u16 urg_data; /* Saved octet of OOB data and control flags */ u8 ecn_flags; /* ECN status bits. */ --- linux-gcp-5.19.0.orig/include/linux/thermal.h +++ linux-gcp-5.19.0/include/linux/thermal.h @@ -92,6 +92,7 @@ struct thermal_cooling_device { int id; char *type; + unsigned long max_state; struct device device; struct device_node *np; void *devdata; @@ -113,7 +114,7 @@ * @trip_hyst_attrs: attributes for trip points for sysfs: trip hysteresis * @mode: current mode of this thermal zone * @devdata: private pointer for device private data - * @trips: number of trip points the thermal zone supports + * @num_trips: number of trip points the thermal zone supports * @trips_disabled; bitmap for disabled trips * @passive_delay_jiffies: number of jiffies to wait between polls when * performing passive cooling. @@ -153,7 +154,7 @@ struct thermal_attr *trip_hyst_attrs; enum thermal_device_mode mode; void *devdata; - int trips; + int num_trips; unsigned long trips_disabled; /* bitmap for disabled trips */ unsigned long passive_delay_jiffies; unsigned long polling_delay_jiffies; --- linux-gcp-5.19.0.orig/include/linux/time64.h +++ linux-gcp-5.19.0/include/linux/time64.h @@ -20,6 +20,9 @@ struct timespec64 it_value; }; +/* Parameters used to convert the timespec values: */ +#define PSEC_PER_NSEC 1000L + /* Located here for timespec[64]_valid_strict */ #define TIME64_MAX ((s64)~((u64)1 << 63)) #define TIME64_MIN (-TIME64_MAX - 1) --- linux-gcp-5.19.0.orig/include/linux/timerqueue.h +++ linux-gcp-5.19.0/include/linux/timerqueue.h @@ -35,7 +35,7 @@ { struct rb_node *leftmost = rb_first_cached(&head->rb_root); - return rb_entry(leftmost, struct timerqueue_node, node); + return rb_entry_safe(leftmost, struct timerqueue_node, node); } static inline void timerqueue_init(struct timerqueue_node *node) --- linux-gcp-5.19.0.orig/include/linux/tpm_eventlog.h +++ linux-gcp-5.19.0/include/linux/tpm_eventlog.h @@ -157,7 +157,7 @@ * Return: size of the event on success, 0 on failure */ -static inline int __calc_tpm2_event_size(struct tcg_pcr_event2_head *event, +static __always_inline int __calc_tpm2_event_size(struct tcg_pcr_event2_head *event, struct tcg_pcr_event *event_header, bool do_mapping) { @@ -198,8 +198,8 @@ * The loop below will unmap these fields if the log is larger than * one page, so save them here for reference: */ - count = READ_ONCE(event->count); - event_type = READ_ONCE(event->event_type); + count = event->count; + event_type = event->event_type; /* Verify that it's the log header */ if (event_header->pcr_idx != 0 || --- linux-gcp-5.19.0.orig/include/linux/trace.h +++ linux-gcp-5.19.0/include/linux/trace.h @@ -2,8 +2,6 @@ #ifndef _LINUX_TRACE_H #define _LINUX_TRACE_H -#ifdef CONFIG_TRACING - #define TRACE_EXPORT_FUNCTION BIT(0) #define TRACE_EXPORT_EVENT BIT(1) #define TRACE_EXPORT_MARKER BIT(2) @@ -28,11 +26,13 @@ int flags; }; +struct trace_array; + +#ifdef CONFIG_TRACING + int register_ftrace_export(struct trace_export *export); int unregister_ftrace_export(struct trace_export *export); -struct trace_array; - void trace_printk_init_buffers(void); __printf(3, 4) int trace_array_printk(struct trace_array *tr, unsigned long ip, @@ -48,6 +48,38 @@ void osnoise_trace_irq_entry(int id); void osnoise_trace_irq_exit(int id, const char *desc); +#else /* CONFIG_TRACING */ +static inline int register_ftrace_export(struct trace_export *export) +{ + return -EINVAL; +} +static inline int unregister_ftrace_export(struct trace_export *export) +{ + return 0; +} +static inline void trace_printk_init_buffers(void) +{ +} +static inline int trace_array_printk(struct trace_array *tr, unsigned long ip, + const char *fmt, ...) +{ + return 0; +} +static inline int trace_array_init_printk(struct trace_array *tr) +{ + return -EINVAL; +} +static inline void trace_array_put(struct trace_array *tr) +{ +} +static inline struct trace_array *trace_array_get_by_name(const char *name) +{ + return NULL; +} +static inline int trace_array_destroy(struct trace_array *tr) +{ + return 0; +} #endif /* CONFIG_TRACING */ #endif /* _LINUX_TRACE_H */ --- linux-gcp-5.19.0.orig/include/linux/trace_events.h +++ linux-gcp-5.19.0/include/linux/trace_events.h @@ -92,6 +92,7 @@ unsigned int temp_size; char *fmt; /* modified format holder */ unsigned int fmt_size; + long wait_index; /* trace_seq for __print_flags() and __print_symbolic() etc. */ struct trace_seq tmp_seq; @@ -269,6 +270,7 @@ const int align; const int is_signed; const int filter_type; + const int len; }; int (*define_fields)(struct trace_event_call *); }; @@ -916,6 +918,24 @@ #endif +#define TRACE_EVENT_STR_MAX 512 + +/* + * gcc warns that you can not use a va_list in an inlined + * function. But lets me make it into a macro :-/ + */ +#define __trace_event_vstr_len(fmt, va) \ +({ \ + va_list __ap; \ + int __ret; \ + \ + va_copy(__ap, *(va)); \ + __ret = vsnprintf(NULL, 0, fmt, __ap) + 1; \ + va_end(__ap); \ + \ + min(__ret, TRACE_EVENT_STR_MAX); \ +}) + #endif /* _LINUX_TRACE_EVENT_H */ /* --- linux-gcp-5.19.0.orig/include/linux/transport_class.h +++ linux-gcp-5.19.0/include/linux/transport_class.h @@ -70,8 +70,14 @@ static inline int transport_register_device(struct device *dev) { + int ret; + transport_setup_device(dev); - return transport_add_device(dev); + ret = transport_add_device(dev); + if (ret) + transport_destroy_device(dev); + + return ret; } static inline void --- linux-gcp-5.19.0.orig/include/linux/uacce.h +++ linux-gcp-5.19.0/include/linux/uacce.h @@ -70,6 +70,7 @@ * @wait: wait queue head * @list: index into uacce queues list * @qfrs: pointer of qfr regions + * @mutex: protects queue state * @state: queue state machine * @pasid: pasid associated to the mm * @handle: iommu_sva handle returned by iommu_sva_bind_device() @@ -80,6 +81,7 @@ wait_queue_head_t wait; struct list_head list; struct uacce_qfile_region *qfrs[UACCE_MAX_REGION]; + struct mutex mutex; enum uacce_q_state state; u32 pasid; struct iommu_sva *handle; @@ -97,9 +99,9 @@ * @dev_id: id of the uacce device * @cdev: cdev of the uacce * @dev: dev of the uacce + * @mutex: protects uacce operation * @priv: private pointer of the uacce * @queues: list of queues - * @queues_lock: lock for queues list * @inode: core vfs */ struct uacce_device { @@ -113,9 +115,9 @@ u32 dev_id; struct cdev *cdev; struct device dev; + struct mutex mutex; void *priv; struct list_head queues; - struct mutex queues_lock; struct inode *inode; }; --- linux-gcp-5.19.0.orig/include/linux/uaccess.h +++ linux-gcp-5.19.0/include/linux/uaccess.h @@ -320,6 +320,10 @@ size_t size = min(ksize, usize); size_t rest = max(ksize, usize) - size; + /* Double check if ksize is larger than a known object size. */ + if (WARN_ON_ONCE(ksize > __builtin_object_size(dst, 1))) + return -E2BIG; + /* Deal with trailing bytes. */ if (usize < ksize) { memset(dst + size, 0, rest); --- linux-gcp-5.19.0.orig/include/linux/udp.h +++ linux-gcp-5.19.0/include/linux/udp.h @@ -70,6 +70,7 @@ * For encapsulation sockets. */ int (*encap_rcv)(struct sock *sk, struct sk_buff *skb); + void (*encap_err_rcv)(struct sock *sk, struct sk_buff *skb, unsigned int udp_offset); int (*encap_err_lookup)(struct sock *sk, struct sk_buff *skb); void (*encap_destroy)(struct sock *sk); --- linux-gcp-5.19.0.orig/include/linux/usb.h +++ linux-gcp-5.19.0/include/linux/usb.h @@ -575,6 +575,7 @@ * @devaddr: device address, XHCI: assigned by HW, others: same as devnum * @can_submit: URBs may be submitted * @persist_enabled: USB_PERSIST enabled for this device + * @reset_in_progress: the device is being reset * @have_langid: whether string_langid is valid * @authorized: policy has said we can use it; * (user space) policy determines if we authorize this device to be @@ -661,6 +662,7 @@ unsigned can_submit:1; unsigned persist_enabled:1; + unsigned reset_in_progress:1; unsigned have_langid:1; unsigned authorized:1; unsigned authenticated:1; @@ -747,11 +749,14 @@ extern int usb_acpi_set_power_state(struct usb_device *hdev, int index, bool enable); extern bool usb_acpi_power_manageable(struct usb_device *hdev, int index); +extern int usb_acpi_port_lpm_incapable(struct usb_device *hdev, int index); #else static inline int usb_acpi_set_power_state(struct usb_device *hdev, int index, bool enable) { return 0; } static inline bool usb_acpi_power_manageable(struct usb_device *hdev, int index) { return true; } +static inline int usb_acpi_port_lpm_incapable(struct usb_device *hdev, int index) + { return 0; } #endif /* USB autosuspend and autoresume */ --- linux-gcp-5.19.0.orig/include/linux/usb/hcd.h +++ linux-gcp-5.19.0/include/linux/usb/hcd.h @@ -66,6 +66,7 @@ struct giveback_urb_bh { bool running; + bool high_prio; spinlock_t lock; struct list_head head; struct tasklet_struct bh; --- linux-gcp-5.19.0.orig/include/linux/usb/typec_dp.h +++ linux-gcp-5.19.0/include/linux/usb/typec_dp.h @@ -73,6 +73,11 @@ #define DP_CAP_USB BIT(7) #define DP_CAP_DFP_D_PIN_ASSIGN(_cap_) (((_cap_) & GENMASK(15, 8)) >> 8) #define DP_CAP_UFP_D_PIN_ASSIGN(_cap_) (((_cap_) & GENMASK(23, 16)) >> 16) +/* Get pin assignment taking plug & receptacle into consideration */ +#define DP_CAP_PIN_ASSIGN_UFP_D(_cap_) ((_cap_ & DP_CAP_RECEPTACLE) ? \ + DP_CAP_UFP_D_PIN_ASSIGN(_cap_) : DP_CAP_DFP_D_PIN_ASSIGN(_cap_)) +#define DP_CAP_PIN_ASSIGN_DFP_D(_cap_) ((_cap_ & DP_CAP_RECEPTACLE) ? \ + DP_CAP_DFP_D_PIN_ASSIGN(_cap_) : DP_CAP_UFP_D_PIN_ASSIGN(_cap_)) /* DisplayPort Status Update VDO bits */ #define DP_STATUS_CONNECTION(_status_) ((_status_) & 3) --- linux-gcp-5.19.0.orig/include/linux/usb/typec_mux.h +++ linux-gcp-5.19.0/include/linux/usb/typec_mux.h @@ -58,17 +58,13 @@ void *drvdata; }; +#if IS_ENABLED(CONFIG_TYPEC) + struct typec_mux *fwnode_typec_mux_get(struct fwnode_handle *fwnode, const struct typec_altmode_desc *desc); void typec_mux_put(struct typec_mux *mux); int typec_mux_set(struct typec_mux *mux, struct typec_mux_state *state); -static inline struct typec_mux * -typec_mux_get(struct device *dev, const struct typec_altmode_desc *desc) -{ - return fwnode_typec_mux_get(dev_fwnode(dev), desc); -} - struct typec_mux_dev * typec_mux_register(struct device *parent, const struct typec_mux_desc *desc); void typec_mux_unregister(struct typec_mux_dev *mux); @@ -76,4 +72,40 @@ void typec_mux_set_drvdata(struct typec_mux_dev *mux, void *data); void *typec_mux_get_drvdata(struct typec_mux_dev *mux); +#else + +static inline struct typec_mux *fwnode_typec_mux_get(struct fwnode_handle *fwnode, + const struct typec_altmode_desc *desc) +{ + return NULL; +} + +static inline void typec_mux_put(struct typec_mux *mux) {} + +static inline int typec_mux_set(struct typec_mux *mux, struct typec_mux_state *state) +{ + return 0; +} + +static inline struct typec_mux_dev * +typec_mux_register(struct device *parent, const struct typec_mux_desc *desc) +{ + return ERR_PTR(-EOPNOTSUPP); +} +static inline void typec_mux_unregister(struct typec_mux_dev *mux) {} + +static inline void typec_mux_set_drvdata(struct typec_mux_dev *mux, void *data) {} +static inline void *typec_mux_get_drvdata(struct typec_mux_dev *mux) +{ + return ERR_PTR(-EOPNOTSUPP); +} + +#endif /* CONFIG_TYPEC */ + +static inline struct typec_mux * +typec_mux_get(struct device *dev, const struct typec_altmode_desc *desc) +{ + return fwnode_typec_mux_get(dev_fwnode(dev), desc); +} + #endif /* __USB_TYPEC_MUX */ --- linux-gcp-5.19.0.orig/include/linux/user_namespace.h +++ linux-gcp-5.19.0/include/linux/user_namespace.h @@ -170,6 +170,8 @@ const struct user_namespace *child); extern bool current_in_userns(const struct user_namespace *target_ns); struct ns_common *ns_get_owner(struct ns_common *ns); + +extern int unprivileged_userns_clone; #else static inline struct user_namespace *get_user_ns(struct user_namespace *ns) --- linux-gcp-5.19.0.orig/include/linux/userfaultfd_k.h +++ linux-gcp-5.19.0/include/linux/userfaultfd_k.h @@ -73,6 +73,8 @@ extern int mwriteprotect_range(struct mm_struct *dst_mm, unsigned long start, unsigned long len, bool enable_wp, atomic_t *mmap_changing); +extern void uffd_wp_range(struct mm_struct *dst_mm, struct vm_area_struct *vma, + unsigned long start, unsigned long len, bool enable_wp); /* mm helpers */ static inline bool is_mergeable_vm_userfaultfd_ctx(struct vm_area_struct *vma, @@ -144,9 +146,9 @@ static inline bool vma_can_userfault(struct vm_area_struct *vma, unsigned long vm_flags) { - if (vm_flags & VM_UFFD_MINOR) - return is_vm_hugetlb_page(vma) || vma_is_shmem(vma); - + if ((vm_flags & VM_UFFD_MINOR) && + (!is_vm_hugetlb_page(vma) && !vma_is_shmem(vma))) + return false; #ifndef CONFIG_PTE_MARKER_UFFD_WP /* * If user requested uffd-wp but not enabled pte markers for --- linux-gcp-5.19.0.orig/include/linux/util_macros.h +++ linux-gcp-5.19.0/include/linux/util_macros.h @@ -38,4 +38,16 @@ */ #define find_closest_descending(x, a, as) __find_closest(x, a, as, >=) +/** + * is_insidevar - check if the @ptr points inside the @var memory range. + * @ptr: the pointer to a memory address. + * @var: the variable which address and size identify the memory range. + * + * Evaluates to true if the address in @ptr lies within the memory + * range allocated to @var. + */ +#define is_insidevar(ptr, var) \ + ((uintptr_t)(ptr) >= (uintptr_t)(var) && \ + (uintptr_t)(ptr) < (uintptr_t)(var) + sizeof(var)) + #endif --- linux-gcp-5.19.0.orig/include/linux/vfio.h +++ linux-gcp-5.19.0/include/linux/vfio.h @@ -32,6 +32,11 @@ struct vfio_device { struct device *dev; const struct vfio_device_ops *ops; + /* + * mig_ops is a static property of the vfio_device which must be set + * prior to registering the vfio_device. + */ + const struct vfio_migration_ops *mig_ops; struct vfio_group *group; struct vfio_device_set *dev_set; struct list_head dev_set_list; @@ -61,16 +66,6 @@ * match, -errno for abort (ex. match with insufficient or incorrect * additional args) * @device_feature: Optional, fill in the VFIO_DEVICE_FEATURE ioctl - * @migration_set_state: Optional callback to change the migration state for - * devices that support migration. It's mandatory for - * VFIO_DEVICE_FEATURE_MIGRATION migration support. - * The returned FD is used for data transfer according to the FSM - * definition. The driver is responsible to ensure that FD reaches end - * of stream or error whenever the migration FSM leaves a data transfer - * state or before close_device() returns. - * @migration_get_state: Optional callback to get the migration state for - * devices that support migration. It's mandatory for - * VFIO_DEVICE_FEATURE_MIGRATION migration support. */ struct vfio_device_ops { char *name; @@ -87,6 +82,21 @@ int (*match)(struct vfio_device *vdev, char *buf); int (*device_feature)(struct vfio_device *device, u32 flags, void __user *arg, size_t argsz); +}; + +/** + * @migration_set_state: Optional callback to change the migration state for + * devices that support migration. It's mandatory for + * VFIO_DEVICE_FEATURE_MIGRATION migration support. + * The returned FD is used for data transfer according to the FSM + * definition. The driver is responsible to ensure that FD reaches end + * of stream or error whenever the migration FSM leaves a data transfer + * state or before close_device() returns. + * @migration_get_state: Optional callback to get the migration state for + * devices that support migration. It's mandatory for + * VFIO_DEVICE_FEATURE_MIGRATION migration support. + */ +struct vfio_migration_ops { struct file *(*migration_set_state)( struct vfio_device *device, enum vfio_device_mig_state new_state); --- linux-gcp-5.19.0.orig/include/linux/vfio_pci_core.h +++ linux-gcp-5.19.0/include/linux/vfio_pci_core.h @@ -206,15 +206,25 @@ } #endif -#ifdef CONFIG_S390 +#ifdef CONFIG_VFIO_PCI_ZDEV_KVM extern int vfio_pci_info_zdev_add_caps(struct vfio_pci_core_device *vdev, struct vfio_info_cap *caps); +int vfio_pci_zdev_open_device(struct vfio_pci_core_device *vdev); +void vfio_pci_zdev_close_device(struct vfio_pci_core_device *vdev); #else static inline int vfio_pci_info_zdev_add_caps(struct vfio_pci_core_device *vdev, struct vfio_info_cap *caps) { return -ENODEV; } + +static inline int vfio_pci_zdev_open_device(struct vfio_pci_core_device *vdev) +{ + return 0; +} + +static inline void vfio_pci_zdev_close_device(struct vfio_pci_core_device *vdev) +{} #endif /* Will be exported for vfio pci drivers usage */ --- linux-gcp-5.19.0.orig/include/linux/virtio_anchor.h +++ linux-gcp-5.19.0/include/linux/virtio_anchor.h @@ -0,0 +1,19 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_VIRTIO_ANCHOR_H +#define _LINUX_VIRTIO_ANCHOR_H + +#ifdef CONFIG_VIRTIO_ANCHOR +struct virtio_device; + +bool virtio_require_restricted_mem_acc(struct virtio_device *dev); +extern bool (*virtio_check_mem_acc_cb)(struct virtio_device *dev); + +static inline void virtio_set_mem_acc_cb(bool (*func)(struct virtio_device *)) +{ + virtio_check_mem_acc_cb = func; +} +#else +#define virtio_set_mem_acc_cb(func) do { } while (0) +#endif + +#endif /* _LINUX_VIRTIO_ANCHOR_H */ --- linux-gcp-5.19.0.orig/include/linux/wait.h +++ linux-gcp-5.19.0/include/linux/wait.h @@ -544,10 +544,11 @@ \ hrtimer_init_sleeper_on_stack(&__t, CLOCK_MONOTONIC, \ HRTIMER_MODE_REL); \ - if ((timeout) != KTIME_MAX) \ - hrtimer_start_range_ns(&__t.timer, timeout, \ - current->timer_slack_ns, \ - HRTIMER_MODE_REL); \ + if ((timeout) != KTIME_MAX) { \ + hrtimer_set_expires_range_ns(&__t.timer, timeout, \ + current->timer_slack_ns); \ + hrtimer_sleeper_start_expires(&__t, HRTIMER_MODE_REL); \ + } \ \ __ret = ___wait_event(wq_head, condition, state, 0, 0, \ if (!__t.task) { \ --- linux-gcp-5.19.0.orig/include/linux/wireless.h +++ linux-gcp-5.19.0/include/linux/wireless.h @@ -26,7 +26,15 @@ struct __compat_iw_event { __u16 len; /* Real length of this stuff */ __u16 cmd; /* Wireless IOCTL */ - compat_caddr_t pointer; + + union { + compat_caddr_t pointer; + + /* we need ptr_bytes to make memcpy() run-time destination + * buffer bounds checking happy, nothing special + */ + DECLARE_FLEX_ARRAY(__u8, ptr_bytes); + }; }; #define IW_EV_COMPAT_LCP_LEN offsetof(struct __compat_iw_event, pointer) #define IW_EV_COMPAT_POINT_OFF offsetof(struct compat_iw_point, length) --- linux-gcp-5.19.0.orig/include/linux/xattr.h +++ linux-gcp-5.19.0/include/linux/xattr.h @@ -63,6 +63,7 @@ int vfs_setxattr(struct user_namespace *, struct dentry *, const char *, const void *, size_t, int); int __vfs_removexattr(struct user_namespace *, struct dentry *, const char *); +int __vfs_removexattr_noperm(struct user_namespace *, struct dentry *, const char *); int __vfs_removexattr_locked(struct user_namespace *, struct dentry *, const char *, struct inode **); int vfs_removexattr(struct user_namespace *, struct dentry *, const char *); --- linux-gcp-5.19.0.orig/include/media/dvbdev.h +++ linux-gcp-5.19.0/include/media/dvbdev.h @@ -126,6 +126,7 @@ * struct dvb_device - represents a DVB device node * * @list_head: List head with all DVB devices + * @ref: reference counter * @fops: pointer to struct file_operations * @adapter: pointer to the adapter that holds this device node * @type: type of the device, as defined by &enum dvb_device_type. @@ -156,6 +157,7 @@ */ struct dvb_device { struct list_head list_head; + struct kref ref; const struct file_operations *fops; struct dvb_adapter *adapter; enum dvb_device_type type; @@ -188,6 +190,20 @@ }; /** + * dvb_device_get - Increase dvb_device reference + * + * @dvbdev: pointer to struct dvb_device + */ +struct dvb_device *dvb_device_get(struct dvb_device *dvbdev); + +/** + * dvb_device_put - Decrease dvb_device reference + * + * @dvbdev: pointer to struct dvb_device + */ +void dvb_device_put(struct dvb_device *dvbdev); + +/** * dvb_register_adapter - Registers a new DVB adapter * * @adap: pointer to struct dvb_adapter @@ -231,29 +247,17 @@ /** * dvb_remove_device - Remove a registered DVB device * - * This does not free memory. To do that, call dvb_free_device(). + * This does not free memory. dvb_free_device() will do that when + * reference counter is empty * * @dvbdev: pointer to struct dvb_device */ void dvb_remove_device(struct dvb_device *dvbdev); -/** - * dvb_free_device - Free memory occupied by a DVB device. - * - * Call dvb_unregister_device() before calling this function. - * - * @dvbdev: pointer to struct dvb_device - */ -void dvb_free_device(struct dvb_device *dvbdev); /** * dvb_unregister_device - Unregisters a DVB device * - * This is a combination of dvb_remove_device() and dvb_free_device(). - * Using this function is usually a mistake, and is often an indicator - * for a use-after-free bug (when a userspace process keeps a file - * handle to a detached device). - * * @dvbdev: pointer to struct dvb_device */ void dvb_unregister_device(struct dvb_device *dvbdev); --- linux-gcp-5.19.0.orig/include/media/hevc-ctrls.h +++ linux-gcp-5.19.0/include/media/hevc-ctrls.h @@ -135,7 +135,7 @@ __u64 timestamp; __u8 flags; __u8 field_pic; - __u16 pic_order_cnt[2]; + __s32 pic_order_cnt_val; __u8 padding[2]; }; @@ -178,7 +178,7 @@ /* ISO/IEC 23008-2, ITU-T Rec. H.265: General slice segment header */ __u8 slice_type; __u8 colour_plane_id; - __u16 slice_pic_order_cnt; + __s32 slice_pic_order_cnt; __u8 num_ref_idx_l0_active_minus1; __u8 num_ref_idx_l1_active_minus1; __u8 collocated_ref_idx; --- linux-gcp-5.19.0.orig/include/media/v4l2-common.h +++ linux-gcp-5.19.0/include/media/v4l2-common.h @@ -175,7 +175,8 @@ * * @sd: pointer to &struct v4l2_subdev * @client: pointer to struct i2c_client - * @devname: the name of the device; if NULL, the I²C device's name will be used + * @devname: the name of the device; if NULL, the I²C device drivers's name + * will be used * @postfix: sub-device specific string to put right after the I²C device name; * may be NULL */ --- linux-gcp-5.19.0.orig/include/media/v4l2-subdev.h +++ linux-gcp-5.19.0/include/media/v4l2-subdev.h @@ -1046,6 +1046,8 @@ struct v4l2_subdev_state *state, unsigned int pad) { + if (WARN_ON(!state)) + return NULL; if (WARN_ON(pad >= sd->entity.num_pads)) pad = 0; return &state->pads[pad].try_fmt; @@ -1064,6 +1066,8 @@ struct v4l2_subdev_state *state, unsigned int pad) { + if (WARN_ON(!state)) + return NULL; if (WARN_ON(pad >= sd->entity.num_pads)) pad = 0; return &state->pads[pad].try_crop; @@ -1082,6 +1086,8 @@ struct v4l2_subdev_state *state, unsigned int pad) { + if (WARN_ON(!state)) + return NULL; if (WARN_ON(pad >= sd->entity.num_pads)) pad = 0; return &state->pads[pad].try_compose; --- linux-gcp-5.19.0.orig/include/net/9p/client.h +++ linux-gcp-5.19.0/include/net/9p/client.h @@ -76,7 +76,7 @@ struct p9_req_t { int status; int t_err; - struct kref refcount; + refcount_t refcount; wait_queue_head_t wq; struct p9_fcall tc; struct p9_fcall rc; @@ -227,15 +227,15 @@ static inline void p9_req_get(struct p9_req_t *r) { - kref_get(&r->refcount); + refcount_inc(&r->refcount); } static inline int p9_req_try_get(struct p9_req_t *r) { - return kref_get_unless_zero(&r->refcount); + return refcount_inc_not_zero(&r->refcount); } -int p9_req_put(struct p9_req_t *r); +int p9_req_put(struct p9_client *c, struct p9_req_t *r); void p9_client_cb(struct p9_client *c, struct p9_req_t *req, int status); --- linux-gcp-5.19.0.orig/include/net/ax25.h +++ linux-gcp-5.19.0/include/net/ax25.h @@ -236,6 +236,7 @@ ax25_address source_addr, dest_addr; ax25_digi *digipeat; ax25_dev *ax25_dev; + netdevice_tracker dev_tracker; unsigned char iamdigi; unsigned char state, modulus, pidincl; unsigned short vs, vr, va; --- linux-gcp-5.19.0.orig/include/net/bluetooth/hci.h +++ linux-gcp-5.19.0/include/net/bluetooth/hci.h @@ -361,6 +361,7 @@ HCI_QUALITY_REPORT, HCI_OFFLOAD_CODECS_ENABLED, HCI_LE_SIMULTANEOUS_ROLES, + HCI_CMD_DRAIN_WORKQUEUE, __HCI_NUM_FLAGS, }; @@ -1425,7 +1426,6 @@ } __packed; struct hci_vnd_codec_v2 { - __u8 id; __le16 cid; __le16 vid; __u8 transport; --- linux-gcp-5.19.0.orig/include/net/bond_3ad.h +++ linux-gcp-5.19.0/include/net/bond_3ad.h @@ -15,8 +15,6 @@ #define PKT_TYPE_LACPDU cpu_to_be16(ETH_P_SLOW) #define AD_TIMER_INTERVAL 100 /*msec*/ -#define MULTICAST_LACPDU_ADDR {0x01, 0x80, 0xC2, 0x00, 0x00, 0x02} - #define AD_LACP_SLOW 0 #define AD_LACP_FAST 1 --- linux-gcp-5.19.0.orig/include/net/bonding.h +++ linux-gcp-5.19.0/include/net/bonding.h @@ -161,8 +161,9 @@ struct net_device *dev; /* first - useful for panic debug */ struct bonding *bond; /* our master */ int delay; - /* all three in jiffies */ + /* all 4 in jiffies */ unsigned long last_link_up; + unsigned long last_tx; unsigned long last_rx; unsigned long target_last_arp_rx[BOND_MAX_ARP_TARGETS]; s8 link; /* one of BOND_LINK_XXXX */ @@ -539,6 +540,16 @@ return slave->last_rx; } +static inline void slave_update_last_tx(struct slave *slave) +{ + WRITE_ONCE(slave->last_tx, jiffies); +} + +static inline unsigned long slave_last_tx(struct slave *slave) +{ + return READ_ONCE(slave->last_tx); +} + #ifdef CONFIG_NET_POLL_CONTROLLER static inline netdev_tx_t bond_netpoll_send_skb(const struct slave *slave, struct sk_buff *skb) @@ -774,6 +785,9 @@ /* exported from bond_sysfs_slave.c */ extern const struct sysfs_ops slave_sysfs_ops; +/* exported from bond_3ad.c */ +extern const u8 lacpdu_mcast_addr[]; + static inline netdev_tx_t bond_tx_drop(struct net_device *dev, struct sk_buff *skb) { dev_core_stats_tx_dropped_inc(dev); --- linux-gcp-5.19.0.orig/include/net/busy_poll.h +++ linux-gcp-5.19.0/include/net/busy_poll.h @@ -33,7 +33,7 @@ static inline bool net_busy_loop_on(void) { - return sysctl_net_busy_poll; + return READ_ONCE(sysctl_net_busy_poll); } static inline bool sk_can_busy_loop(const struct sock *sk) --- linux-gcp-5.19.0.orig/include/net/cfg80211.h +++ linux-gcp-5.19.0/include/net/cfg80211.h @@ -1158,6 +1158,7 @@ /** * struct cfg80211_beacon_data - beacon data + * @link_id: the link ID for the AP MLD link sending this beacon * @head: head portion of beacon (before TIM IE) * or %NULL if not changed * @tail: tail portion of beacon (after TIM IE) @@ -1188,6 +1189,8 @@ * attribute is present in beacon data or not. */ struct cfg80211_beacon_data { + unsigned int link_id; + const u8 *head, *tail; const u8 *beacon_ies; const u8 *proberesp_ies; @@ -4201,7 +4204,8 @@ struct cfg80211_ap_settings *settings); int (*change_beacon)(struct wiphy *wiphy, struct net_device *dev, struct cfg80211_beacon_data *info); - int (*stop_ap)(struct wiphy *wiphy, struct net_device *dev); + int (*stop_ap)(struct wiphy *wiphy, struct net_device *dev, + unsigned int link_id); int (*add_station)(struct wiphy *wiphy, struct net_device *dev, @@ -4309,6 +4313,7 @@ int (*set_bitrate_mask)(struct wiphy *wiphy, struct net_device *dev, + unsigned int link_id, const u8 *peer, const struct cfg80211_bitrate_mask *mask); @@ -4384,6 +4389,7 @@ int (*get_channel)(struct wiphy *wiphy, struct wireless_dev *wdev, + unsigned int link_id, struct cfg80211_chan_def *chandef); int (*start_p2p_device)(struct wiphy *wiphy, @@ -4420,6 +4426,7 @@ struct cfg80211_qos_map *qos_map); int (*set_ap_chanwidth)(struct wiphy *wiphy, struct net_device *dev, + unsigned int link_id, struct cfg80211_chan_def *chandef); int (*add_tx_ts)(struct wiphy *wiphy, struct net_device *dev, @@ -4545,10 +4552,14 @@ * @WIPHY_FLAG_HAS_STATIC_WEP: The device supports static WEP key installation * before connection. * @WIPHY_FLAG_SUPPORTS_EXT_KEK_KCK: The device supports bigger kek and kck keys + * @WIPHY_FLAG_SUPPORTS_MLO: This is a temporary flag gating the MLO APIs, + * in order to not have them reachable in normal drivers, until we have + * complete feature/interface combinations/etc. advertisement. No driver + * should set this flag for now. */ enum wiphy_flags { WIPHY_FLAG_SUPPORTS_EXT_KEK_KCK = BIT(0), - /* use hole at 1 */ + WIPHY_FLAG_SUPPORTS_MLO = BIT(1), WIPHY_FLAG_SPLIT_SCAN_6GHZ = BIT(2), WIPHY_FLAG_NETNS_OK = BIT(3), WIPHY_FLAG_PS_ON_BY_DEFAULT = BIT(4), @@ -5505,6 +5516,8 @@ * @netdev: (private) Used to reference back to the netdev, may be %NULL * @identifier: (private) Identifier used in nl80211 to identify this * wireless device if it has no netdev + * @connected_addr: (private) BSSID or AP MLD address if connected + * @connected: indicates if connected or not (STA mode) * @current_bss: (private) Used by the internal configuration code * @chandef: (private) Used by the internal configuration code to track * the user-set channel definition. @@ -5585,8 +5598,6 @@ u8 address[ETH_ALEN] __aligned(sizeof(u16)); /* currently used for IBSS and SME - might be rearranged later */ - u8 ssid[IEEE80211_MAX_SSID_LEN]; - u8 ssid_len, mesh_id_len, mesh_id_up_len; struct cfg80211_conn *conn; struct cfg80211_cached_keys *connect_keys; enum ieee80211_bss_type conn_bss_type; @@ -5598,20 +5609,17 @@ struct list_head event_list; spinlock_t event_lock; - struct cfg80211_internal_bss *current_bss; /* associated / joined */ - struct cfg80211_chan_def preset_chandef; - struct cfg80211_chan_def chandef; + u8 connected:1; bool ps; int ps_timeout; - int beacon_interval; - u32 ap_unexpected_nlportid; u32 owner_nlportid; bool nl_owner_dead; + /* FIXME: need to rework radar detection for MLO */ bool cac_started; unsigned long cac_start_time; unsigned int cac_time_ms; @@ -5639,6 +5647,50 @@ struct work_struct pmsr_free_wk; unsigned long unprot_beacon_reported; + + union { + struct { + u8 connected_addr[ETH_ALEN] __aligned(2); + u8 ssid[IEEE80211_MAX_SSID_LEN]; + u8 ssid_len; + } client; + struct { + int beacon_interval; + struct cfg80211_chan_def preset_chandef; + struct cfg80211_chan_def chandef; + u8 id[IEEE80211_MAX_SSID_LEN]; + u8 id_len, id_up_len; + } mesh; + struct { + struct cfg80211_chan_def preset_chandef; + u8 ssid[IEEE80211_MAX_SSID_LEN]; + u8 ssid_len; + } ap; + struct { + struct cfg80211_internal_bss *current_bss; + struct cfg80211_chan_def chandef; + int beacon_interval; + u8 ssid[IEEE80211_MAX_SSID_LEN]; + u8 ssid_len; + } ibss; + struct { + struct cfg80211_chan_def chandef; + } ocb; + } u; + + struct { + u8 addr[ETH_ALEN] __aligned(2); + union { + struct { + unsigned int beacon_interval; + struct cfg80211_chan_def chandef; + } ap; + struct { + struct cfg80211_internal_bss *current_bss; + } client; + }; + } links[IEEE80211_MLD_MAX_NUM_LINKS]; + u16 valid_links; }; static inline const u8 *wdev_address(struct wireless_dev *wdev) @@ -5668,6 +5720,31 @@ } /** + * wdev_chandef - return chandef pointer from wireless_dev + * @wdev: the wdev + * @link_id: the link ID for MLO + * + * Return: The chandef depending on the mode, or %NULL. + */ +struct cfg80211_chan_def *wdev_chandef(struct wireless_dev *wdev, + unsigned int link_id); + +static inline void WARN_INVALID_LINK_ID(struct wireless_dev *wdev, + unsigned int link_id) +{ + WARN_ON(link_id && !wdev->valid_links); + WARN_ON(wdev->valid_links && + !(wdev->valid_links & BIT(link_id))); +} + +#define for_each_valid_link(wdev, link_id) \ + for (link_id = 0; \ + link_id < ((wdev)->valid_links ? ARRAY_SIZE((wdev)->links) : 1); \ + link_id++) \ + if (!(wdev)->valid_links || \ + ((wdev)->valid_links & BIT(link_id))) + +/** * DOC: Utility functions * * cfg80211 offers a number of utility functions that can be useful. @@ -7882,12 +7959,14 @@ * cfg80211_ch_switch_notify - update wdev channel and notify userspace * @dev: the device which switched channels * @chandef: the new channel definition + * @link_id: the link ID for MLO, must be 0 for non-MLO * * Caller must acquire wdev_lock, therefore must only be called from sleepable * driver context! */ void cfg80211_ch_switch_notify(struct net_device *dev, - struct cfg80211_chan_def *chandef); + struct cfg80211_chan_def *chandef, + unsigned int link_id); /* * cfg80211_ch_switch_started_notify - notify channel switch start --- linux-gcp-5.19.0.orig/include/net/dst.h +++ linux-gcp-5.19.0/include/net/dst.h @@ -362,9 +362,8 @@ static inline void skb_tunnel_rx(struct sk_buff *skb, struct net_device *dev, struct net *net) { - /* TODO : stats should be SMP safe */ - dev->stats.rx_packets++; - dev->stats.rx_bytes += skb->len; + DEV_STATS_INC(dev, rx_packets); + DEV_STATS_ADD(dev, rx_bytes, skb->len); __skb_tunnel_rx(skb, dev, net); } --- linux-gcp-5.19.0.orig/include/net/gro.h +++ linux-gcp-5.19.0/include/net/gro.h @@ -439,7 +439,7 @@ { list_add_tail(&skb->list, &napi->rx_list); napi->rx_count += segs; - if (napi->rx_count >= gro_normal_batch) + if (napi->rx_count >= READ_ONCE(gro_normal_batch)) gro_normal_list(napi); } --- linux-gcp-5.19.0.orig/include/net/ieee802154_netdev.h +++ linux-gcp-5.19.0/include/net/ieee802154_netdev.h @@ -15,6 +15,22 @@ #ifndef IEEE802154_NETDEVICE_H #define IEEE802154_NETDEVICE_H +#define IEEE802154_REQUIRED_SIZE(struct_type, member) \ + (offsetof(typeof(struct_type), member) + \ + sizeof(((typeof(struct_type) *)(NULL))->member)) + +#define IEEE802154_ADDR_OFFSET \ + offsetof(typeof(struct sockaddr_ieee802154), addr) + +#define IEEE802154_MIN_NAMELEN (IEEE802154_ADDR_OFFSET + \ + IEEE802154_REQUIRED_SIZE(struct ieee802154_addr_sa, addr_type)) + +#define IEEE802154_NAMELEN_SHORT (IEEE802154_ADDR_OFFSET + \ + IEEE802154_REQUIRED_SIZE(struct ieee802154_addr_sa, short_addr)) + +#define IEEE802154_NAMELEN_LONG (IEEE802154_ADDR_OFFSET + \ + IEEE802154_REQUIRED_SIZE(struct ieee802154_addr_sa, hwaddr)) + #include #include #include @@ -165,6 +181,33 @@ memcpy(raw, &temp, IEEE802154_ADDR_LEN); } +static inline int +ieee802154_sockaddr_check_size(struct sockaddr_ieee802154 *daddr, int len) +{ + struct ieee802154_addr_sa *sa; + int ret = 0; + + sa = &daddr->addr; + if (len < IEEE802154_MIN_NAMELEN) + return -EINVAL; + switch (sa->addr_type) { + case IEEE802154_ADDR_NONE: + break; + case IEEE802154_ADDR_SHORT: + if (len < IEEE802154_NAMELEN_SHORT) + ret = -EINVAL; + break; + case IEEE802154_ADDR_LONG: + if (len < IEEE802154_NAMELEN_LONG) + ret = -EINVAL; + break; + default: + ret = -EINVAL; + break; + } + return ret; +} + static inline void ieee802154_addr_from_sa(struct ieee802154_addr *a, const struct ieee802154_addr_sa *sa) { --- linux-gcp-5.19.0.orig/include/net/inet6_hashtables.h +++ linux-gcp-5.19.0/include/net/inet6_hashtables.h @@ -110,8 +110,6 @@ const __portpair ports, const int dif, const int sdif) { - int bound_dev_if; - if (!net_eq(sock_net(sk), net) || sk->sk_family != AF_INET6 || sk->sk_portpair != ports || @@ -119,8 +117,9 @@ !ipv6_addr_equal(&sk->sk_v6_rcv_saddr, daddr)) return false; - bound_dev_if = READ_ONCE(sk->sk_bound_dev_if); - return bound_dev_if == dif || bound_dev_if == sdif; + /* READ_ONCE() paired with WRITE_ONCE() in sock_bindtoindex_locked() */ + return inet_sk_bound_dev_eq(net, READ_ONCE(sk->sk_bound_dev_if), dif, + sdif); } #endif /* IS_ENABLED(CONFIG_IPV6) */ --- linux-gcp-5.19.0.orig/include/net/inet_hashtables.h +++ linux-gcp-5.19.0/include/net/inet_hashtables.h @@ -175,17 +175,6 @@ hashinfo->ehash_locks = NULL; } -static inline bool inet_sk_bound_dev_eq(struct net *net, int bound_dev_if, - int dif, int sdif) -{ -#if IS_ENABLED(CONFIG_NET_L3_MASTER_DEV) - return inet_bound_dev_eq(!!READ_ONCE(net->ipv4.sysctl_tcp_l3mdev_accept), - bound_dev_if, dif, sdif); -#else - return inet_bound_dev_eq(true, bound_dev_if, dif, sdif); -#endif -} - struct inet_bind_bucket * inet_bind_bucket_create(struct kmem_cache *cachep, struct net *net, struct inet_bind_hashbucket *head, @@ -271,16 +260,14 @@ const __addrpair cookie, const __portpair ports, int dif, int sdif) { - int bound_dev_if; - if (!net_eq(sock_net(sk), net) || sk->sk_portpair != ports || sk->sk_addrpair != cookie) return false; - /* Paired with WRITE_ONCE() from sock_bindtoindex_locked() */ - bound_dev_if = READ_ONCE(sk->sk_bound_dev_if); - return bound_dev_if == dif || bound_dev_if == sdif; + /* READ_ONCE() paired with WRITE_ONCE() in sock_bindtoindex_locked() */ + return inet_sk_bound_dev_eq(net, READ_ONCE(sk->sk_bound_dev_if), dif, + sdif); } /* Sockets in TCP_CLOSE state are _always_ taken out of the hash, so we need --- linux-gcp-5.19.0.orig/include/net/inet_sock.h +++ linux-gcp-5.19.0/include/net/inet_sock.h @@ -149,6 +149,17 @@ return bound_dev_if == dif || bound_dev_if == sdif; } +static inline bool inet_sk_bound_dev_eq(struct net *net, int bound_dev_if, + int dif, int sdif) +{ +#if IS_ENABLED(CONFIG_NET_L3_MASTER_DEV) + return inet_bound_dev_eq(!!READ_ONCE(net->ipv4.sysctl_tcp_l3mdev_accept), + bound_dev_if, dif, sdif); +#else + return inet_bound_dev_eq(true, bound_dev_if, dif, sdif); +#endif +} + struct inet_cork { unsigned int flags; __be32 addr; --- linux-gcp-5.19.0.orig/include/net/ip.h +++ linux-gcp-5.19.0/include/net/ip.h @@ -563,7 +563,7 @@ BUILD_BUG_ON(offsetof(typeof(flow->addrs), v4addrs.dst) != offsetof(typeof(flow->addrs), v4addrs.src) + sizeof(flow->addrs.v4addrs.src)); - memcpy(&flow->addrs.v4addrs, &iph->saddr, sizeof(flow->addrs.v4addrs)); + memcpy(&flow->addrs.v4addrs, &iph->addrs, sizeof(flow->addrs.v4addrs)); flow->control.addr_type = FLOW_DISSECTOR_KEY_IPV4_ADDRS; } --- linux-gcp-5.19.0.orig/include/net/ip_tunnels.h +++ linux-gcp-5.19.0/include/net/ip_tunnels.h @@ -54,6 +54,7 @@ __be32 label; /* Flow Label for IPv6 */ __be16 tp_src; __be16 tp_dst; + __u8 flow_flags; }; /* Flags for ip_tunnel_info mode. */ @@ -100,6 +101,28 @@ }; struct metadata_dst; +/* A fan overlay /8 (250.0.0.0/8, for example) maps to exactly one /16 + * underlay (10.88.0.0/16, for example). Multiple local addresses within + * the /16 may be used, but a particular overlay may not span + * multiple underlay subnets. + * + * We store one underlay, indexed by the overlay's high order octet. + */ +#define FAN_OVERLAY_CNT 256 + +struct ip_fan_map { + __be32 underlay; + __be32 overlay; + u16 underlay_prefix; + u16 overlay_prefix; + u32 overlay_mask; + struct list_head list; + struct rcu_head rcu; +}; + +struct ip_tunnel_fan { + struct list_head fan_maps; +}; struct ip_tunnel { struct ip_tunnel __rcu *next; @@ -140,6 +163,7 @@ #endif struct ip_tunnel_prl_entry __rcu *prl; /* potential router list */ unsigned int prl_count; /* # of entries in PRL */ + struct ip_tunnel_fan fan; unsigned int ip_tnl_net_id; struct gro_cells gro_cells; __u32 fwmark; @@ -147,6 +171,11 @@ bool ignore_df; }; +static inline int fan_has_map(const struct ip_tunnel_fan *fan) +{ + return !list_empty(&fan->fan_maps); +} + struct tnl_ptk_info { __be16 flags; __be16 proto; @@ -245,7 +274,8 @@ __be32 daddr, __be32 saddr, __be32 key, __u8 tos, struct net *net, int oif, - __u32 mark, __u32 tun_inner_hash) + __u32 mark, __u32 tun_inner_hash, + __u8 flow_flags) { memset(fl4, 0, sizeof(*fl4)); @@ -262,6 +292,7 @@ fl4->fl4_gre_key = key; fl4->flowi4_mark = mark; fl4->flowi4_multipath_hash = tun_inner_hash; + fl4->flowi4_flags = flow_flags; } int ip_tunnel_init(struct net_device *dev); --- linux-gcp-5.19.0.orig/include/net/ip_vs.h +++ linux-gcp-5.19.0/include/net/ip_vs.h @@ -351,11 +351,11 @@ /* counters per cpu */ struct ip_vs_counters { - __u64 conns; /* connections scheduled */ - __u64 inpkts; /* incoming packets */ - __u64 outpkts; /* outgoing packets */ - __u64 inbytes; /* incoming bytes */ - __u64 outbytes; /* outgoing bytes */ + u64_stats_t conns; /* connections scheduled */ + u64_stats_t inpkts; /* incoming packets */ + u64_stats_t outpkts; /* outgoing packets */ + u64_stats_t inbytes; /* incoming bytes */ + u64_stats_t outbytes; /* outgoing bytes */ }; /* Stats per cpu */ struct ip_vs_cpu_stats { --- linux-gcp-5.19.0.orig/include/net/ipv6.h +++ linux-gcp-5.19.0/include/net/ipv6.h @@ -897,7 +897,7 @@ BUILD_BUG_ON(offsetof(typeof(flow->addrs), v6addrs.dst) != offsetof(typeof(flow->addrs), v6addrs.src) + sizeof(flow->addrs.v6addrs.src)); - memcpy(&flow->addrs.v6addrs, &iph->saddr, sizeof(flow->addrs.v6addrs)); + memcpy(&flow->addrs.v6addrs, &iph->addrs, sizeof(flow->addrs.v6addrs)); flow->control.addr_type = FLOW_DISSECTOR_KEY_IPV6_ADDRS; } --- linux-gcp-5.19.0.orig/include/net/mac80211.h +++ linux-gcp-5.19.0/include/net/mac80211.h @@ -636,6 +636,19 @@ * @tx_pwr_env_num: number of @tx_pwr_env. * @pwr_reduction: power constraint of BSS. * @eht_support: does this BSS support EHT + * @csa_active: marks whether a channel switch is going on. Internally it is + * write-protected by sdata_lock and local->mtx so holding either is fine + * for read access. + * @mu_mimo_owner: indicates interface owns MU-MIMO capability + * @chanctx_conf: The channel context this interface is assigned to, or %NULL + * when it is not assigned. This pointer is RCU-protected due to the TX + * path needing to access it; even though the netdev carrier will always + * be off when it is %NULL there can still be races and packets could be + * processed after it switches back to %NULL. + * @color_change_active: marks whether a color change is ongoing. Internally it is + * write-protected by sdata_lock and local->mtx so holding either is fine + * for read access. + * @color_change_color: the bss color that will be used after the change. */ struct ieee80211_bss_conf { const u8 *bssid; @@ -711,6 +724,13 @@ u8 tx_pwr_env_num; u8 pwr_reduction; bool eht_support; + + bool csa_active; + bool mu_mimo_owner; + struct ieee80211_chanctx_conf __rcu *chanctx_conf; + + bool color_change_active; + u8 color_change_color; }; /** @@ -1713,10 +1733,6 @@ * @addr: address of this interface * @p2p: indicates whether this AP or STA interface is a p2p * interface, i.e. a GO or p2p-sta respectively - * @csa_active: marks whether a channel switch is going on. Internally it is - * write-protected by sdata_lock and local->mtx so holding either is fine - * for read access. - * @mu_mimo_owner: indicates interface owns MU-MIMO capability * @driver_flags: flags/capabilities the driver has for this interface, * these need to be set (or cleared) when the interface is added * or, if supported by the driver, the interface type is changed @@ -1728,11 +1744,6 @@ * restrictions. * @hw_queue: hardware queue for each AC * @cab_queue: content-after-beacon (DTIM beacon really) queue, AP mode only - * @chanctx_conf: The channel context this interface is assigned to, or %NULL - * when it is not assigned. This pointer is RCU-protected due to the TX - * path needing to access it; even though the netdev carrier will always - * be off when it is %NULL there can still be races and packets could be - * processed after it switches back to %NULL. * @debugfs_dir: debugfs dentry, can be used by drivers to create own per * interface debug files. Note that it will be NULL for the virtual * monitor interface (if that is requested.) @@ -1747,10 +1758,6 @@ * protected by fq->lock. * @offload_flags: 802.3 -> 802.11 enapsulation offload flags, see * &enum ieee80211_offload_flags. - * @color_change_active: marks whether a color change is ongoing. Internally it is - * write-protected by sdata_lock and local->mtx so holding either is fine - * for read access. - * @color_change_color: the bss color that will be used after the change. * @mbssid_tx_vif: Pointer to the transmitting interface if MBSSID is enabled. */ struct ieee80211_vif { @@ -1758,16 +1765,12 @@ struct ieee80211_bss_conf bss_conf; u8 addr[ETH_ALEN] __aligned(2); bool p2p; - bool csa_active; - bool mu_mimo_owner; u8 cab_queue; u8 hw_queue[IEEE80211_NUM_ACS]; struct ieee80211_txq *txq; - struct ieee80211_chanctx_conf __rcu *chanctx_conf; - u32 driver_flags; u32 offload_flags; @@ -1780,9 +1783,6 @@ bool txqs_stopped[IEEE80211_NUM_ACS]; - bool color_change_active; - u8 color_change_color; - struct ieee80211_vif *mbssid_tx_vif; /* must be last */ --- linux-gcp-5.19.0.orig/include/net/mptcp.h +++ linux-gcp-5.19.0/include/net/mptcp.h @@ -96,8 +96,6 @@ }; #ifdef CONFIG_MPTCP -extern struct request_sock_ops mptcp_subflow_request_sock_ops; - void mptcp_init(void); static inline bool sk_is_mptcp(const struct sock *sk) @@ -187,6 +185,9 @@ int mptcp_subflow_init_cookie_req(struct request_sock *req, const struct sock *sk_listener, struct sk_buff *skb); +struct request_sock *mptcp_subflow_reqsk_alloc(const struct request_sock_ops *ops, + struct sock *sk_listener, + bool attach_listener); __be32 mptcp_get_reset_option(const struct sk_buff *skb); @@ -273,6 +274,13 @@ return 0; /* TCP fallback */ } +static inline struct request_sock *mptcp_subflow_reqsk_alloc(const struct request_sock_ops *ops, + struct sock *sk_listener, + bool attach_listener) +{ + return NULL; +} + static inline __be32 mptcp_reset_option(const struct sk_buff *skb) { return htonl(0u); } #endif /* CONFIG_MPTCP */ @@ -290,4 +298,8 @@ static inline struct mptcp_sock *bpf_mptcp_sock_from_subflow(struct sock *sk) { return NULL; } #endif +#if !IS_ENABLED(CONFIG_MPTCP) +struct mptcp_sock { }; +#endif + #endif /* __NET_MPTCP_H */ --- linux-gcp-5.19.0.orig/include/net/mrp.h +++ linux-gcp-5.19.0/include/net/mrp.h @@ -120,6 +120,7 @@ struct sk_buff *pdu; struct rb_root mad; struct rcu_head rcu; + bool active; }; struct mrp_port { --- linux-gcp-5.19.0.orig/include/net/netfilter/nf_flow_table.h +++ linux-gcp-5.19.0/include/net/netfilter/nf_flow_table.h @@ -270,6 +270,7 @@ struct flow_offload_tuple_rhash *flow_offload_lookup(struct nf_flowtable *flow_table, struct flow_offload_tuple *tuple); +void nf_flow_table_gc_run(struct nf_flowtable *flow_table); void nf_flow_table_gc_cleanup(struct nf_flowtable *flowtable, struct net_device *dev); void nf_flow_table_cleanup(struct net_device *dev); @@ -306,6 +307,8 @@ struct flow_offload *flow); void nf_flow_table_offload_flush(struct nf_flowtable *flowtable); +void nf_flow_table_offload_flush_cleanup(struct nf_flowtable *flowtable); + int nf_flow_table_offload_setup(struct nf_flowtable *flowtable, struct net_device *dev, enum flow_block_command cmd); --- linux-gcp-5.19.0.orig/include/net/netfilter/nf_tables.h +++ linux-gcp-5.19.0/include/net/netfilter/nf_tables.h @@ -206,13 +206,18 @@ bool report; }; +enum nft_data_desc_flags { + NFT_DATA_DESC_SETELEM = (1 << 0), +}; + struct nft_data_desc { enum nft_data_types type; + unsigned int size; unsigned int len; + unsigned int flags; }; -int nft_data_init(const struct nft_ctx *ctx, - struct nft_data *data, unsigned int size, +int nft_data_init(const struct nft_ctx *ctx, struct nft_data *data, struct nft_data_desc *desc, const struct nlattr *nla); void nft_data_hold(const struct nft_data *data, enum nft_data_types type); void nft_data_release(const struct nft_data *data, enum nft_data_types type); @@ -291,17 +296,29 @@ /** * struct nft_set_desc - description of set elements * + * @ktype: key type * @klen: key length + * @dtype: data type * @dlen: data length + * @objtype: object type + * @flags: flags * @size: number of set elements + * @policy: set policy + * @gc_int: garbage collector interval * @field_len: length of each field in concatenation, bytes * @field_count: number of concatenated fields in element * @expr: set must support for expressions */ struct nft_set_desc { + u32 ktype; unsigned int klen; + u32 dtype; unsigned int dlen; + u32 objtype; unsigned int size; + u32 policy; + u32 gc_int; + u64 timeout; u8 field_len[NFT_REG32_COUNT]; u8 field_count; bool expr; @@ -560,7 +577,9 @@ static inline unsigned long nft_set_gc_interval(const struct nft_set *set) { - return set->gc_int ? msecs_to_jiffies(set->gc_int) : HZ; + u32 gc_int = READ_ONCE(set->gc_int); + + return gc_int ? msecs_to_jiffies(gc_int) : HZ; } /** @@ -580,6 +599,7 @@ }; enum nft_trans_phase; +void nf_tables_activate_set(const struct nft_ctx *ctx, struct nft_set *set); void nf_tables_deactivate_set(const struct nft_ctx *ctx, struct nft_set *set, struct nft_set_binding *binding, enum nft_trans_phase phase); @@ -1529,6 +1549,9 @@ struct nft_trans_set { struct nft_set *set; u32 set_id; + u32 gc_int; + u64 timeout; + bool update; bool bound; }; @@ -1538,6 +1561,12 @@ (((struct nft_trans_set *)trans->data)->set_id) #define nft_trans_set_bound(trans) \ (((struct nft_trans_set *)trans->data)->bound) +#define nft_trans_set_update(trans) \ + (((struct nft_trans_set *)trans->data)->update) +#define nft_trans_set_timeout(trans) \ + (((struct nft_trans_set *)trans->data)->timeout) +#define nft_trans_set_gc_int(trans) \ + (((struct nft_trans_set *)trans->data)->gc_int) struct nft_trans_chain { bool update; @@ -1630,6 +1659,7 @@ struct list_head module_list; struct list_head notify_list; struct mutex commit_mutex; + u64 table_handle; unsigned int base_seq; u8 validate_state; }; --- linux-gcp-5.19.0.orig/include/net/netlabel.h +++ linux-gcp-5.19.0/include/net/netlabel.h @@ -97,7 +97,7 @@ /* NetLabel audit information */ struct netlbl_audit { - u32 secid; + struct lsmblob lsmblob; kuid_t loginuid; unsigned int sessionid; }; @@ -166,7 +166,7 @@ * @attr.mls: MLS sensitivity label * @attr.mls.cat: MLS category bitmap * @attr.mls.lvl: MLS sensitivity level - * @attr.secid: LSM specific secid token + * @attr.lsmblob: LSM specific data * * Description: * This structure is used to pass security attributes between NetLabel and the @@ -201,7 +201,7 @@ struct netlbl_lsm_catmap *cat; u32 lvl; } mls; - u32 secid; + struct lsmblob lsmblob; } attr; }; @@ -415,7 +415,7 @@ const void *addr, const void *mask, u16 family, - u32 secid, + struct lsmblob *lsmblob, struct netlbl_audit *audit_info); int netlbl_cfg_unlbl_static_del(struct net *net, const char *dev_name, @@ -523,7 +523,7 @@ const void *addr, const void *mask, u16 family, - u32 secid, + struct lsmblob *lsmblob, struct netlbl_audit *audit_info) { return -ENOSYS; --- linux-gcp-5.19.0.orig/include/net/netns/conntrack.h +++ linux-gcp-5.19.0/include/net/netns/conntrack.h @@ -95,7 +95,7 @@ struct netns_ct { #ifdef CONFIG_NF_CONNTRACK_EVENTS - bool ctnetlink_has_listener; + u8 ctnetlink_has_listener; bool ecache_dwork_pending; #endif u8 sysctl_log_invalid; /* Log invalid packets */ --- linux-gcp-5.19.0.orig/include/net/ping.h +++ linux-gcp-5.19.0/include/net/ping.h @@ -16,9 +16,6 @@ #define PING_HTABLE_SIZE 64 #define PING_HTABLE_MASK (PING_HTABLE_SIZE-1) -#define ping_portaddr_for_each_entry(__sk, node, list) \ - hlist_nulls_for_each_entry(__sk, node, list, sk_nulls_node) - /* * gid_t is either uint or ushort. We want to pass it to * proc_dointvec_minmax(), so it must not be larger than MAX_INT --- linux-gcp-5.19.0.orig/include/net/pkt_sched.h +++ linux-gcp-5.19.0/include/net/pkt_sched.h @@ -173,11 +173,28 @@ struct tc_taprio_sched_entry entries[]; }; +#if IS_ENABLED(CONFIG_NET_SCH_TAPRIO) + /* Reference counting */ struct tc_taprio_qopt_offload *taprio_offload_get(struct tc_taprio_qopt_offload *offload); void taprio_offload_free(struct tc_taprio_qopt_offload *offload); +#else + +/* Reference counting */ +static inline struct tc_taprio_qopt_offload * +taprio_offload_get(struct tc_taprio_qopt_offload *offload) +{ + return NULL; +} + +static inline void taprio_offload_free(struct tc_taprio_qopt_offload *offload) +{ +} + +#endif + /* Ensure skb_mstamp_ns, which might have been populated with the txtime, is * not mistaken for a software timestamp, because this will otherwise prevent * the dispatch of hardware timestamps to the socket. --- linux-gcp-5.19.0.orig/include/net/raw.h +++ linux-gcp-5.19.0/include/net/raw.h @@ -20,9 +20,8 @@ extern struct proto raw_prot; extern struct raw_hashinfo raw_v4_hashinfo; -struct sock *__raw_v4_lookup(struct net *net, struct sock *sk, - unsigned short num, __be32 raddr, - __be32 laddr, int dif, int sdif); +bool raw_v4_match(struct net *net, struct sock *sk, unsigned short num, + __be32 raddr, __be32 laddr, int dif, int sdif); int raw_abort(struct sock *sk, int err); void raw_icmp_error(struct sk_buff *, int, u32); @@ -34,9 +33,18 @@ struct raw_hashinfo { rwlock_t lock; - struct hlist_head ht[RAW_HTABLE_SIZE]; + struct hlist_nulls_head ht[RAW_HTABLE_SIZE]; }; +static inline void raw_hashinfo_init(struct raw_hashinfo *hashinfo) +{ + int i; + + rwlock_init(&hashinfo->lock); + for (i = 0; i < RAW_HTABLE_SIZE; i++) + INIT_HLIST_NULLS_HEAD(&hashinfo->ht[i], i); +} + #ifdef CONFIG_PROC_FS int raw_proc_init(void); void raw_proc_exit(void); --- linux-gcp-5.19.0.orig/include/net/rawv6.h +++ linux-gcp-5.19.0/include/net/rawv6.h @@ -3,11 +3,12 @@ #define _NET_RAWV6_H #include +#include extern struct raw_hashinfo raw_v6_hashinfo; -struct sock *__raw_v6_lookup(struct net *net, struct sock *sk, - unsigned short num, const struct in6_addr *loc_addr, - const struct in6_addr *rmt_addr, int dif, int sdif); +bool raw_v6_match(struct net *net, struct sock *sk, unsigned short num, + const struct in6_addr *loc_addr, + const struct in6_addr *rmt_addr, int dif, int sdif); int raw_abort(struct sock *sk, int err); --- linux-gcp-5.19.0.orig/include/net/sch_generic.h +++ linux-gcp-5.19.0/include/net/sch_generic.h @@ -1156,7 +1156,6 @@ static inline void qdisc_reset_queue(struct Qdisc *sch) { __qdisc_reset_queue(&sch->q); - sch->qstats.backlog = 0; } static inline struct Qdisc *qdisc_replace(struct Qdisc *sch, struct Qdisc *new, @@ -1317,4 +1316,11 @@ int sch_frag_xmit_hook(struct sk_buff *skb, int (*xmit)(struct sk_buff *skb)); +/* Make sure qdisc is no longer in SCHED state. */ +static inline void qdisc_synchronize(const struct Qdisc *q) +{ + while (test_bit(__QDISC_STATE_SCHED, &q->state)) + msleep(1); +} + #endif --- linux-gcp-5.19.0.orig/include/net/scm.h +++ linux-gcp-5.19.0/include/net/scm.h @@ -92,16 +92,21 @@ #ifdef CONFIG_SECURITY_NETWORK static inline void scm_passec(struct socket *sock, struct msghdr *msg, struct scm_cookie *scm) { - char *secdata; - u32 seclen; + struct lsmcontext context; + struct lsmblob lb; int err; if (test_bit(SOCK_PASSSEC, &sock->flags)) { - err = security_secid_to_secctx(scm->secid, &secdata, &seclen); + /* There can only be one security module using the secid, + * and the infrastructure will know which it is. + */ + lsmblob_init(&lb, scm->secid); + err = security_secid_to_secctx(&lb, &context, LSMBLOB_DISPLAY); if (!err) { - put_cmsg(msg, SOL_SOCKET, SCM_SECURITY, seclen, secdata); - security_release_secctx(secdata, seclen); + put_cmsg(msg, SOL_SOCKET, SCM_SECURITY, context.len, + context.context); + security_release_secctx(&context); } } } --- linux-gcp-5.19.0.orig/include/net/sctp/stream_sched.h +++ linux-gcp-5.19.0/include/net/sctp/stream_sched.h @@ -26,6 +26,8 @@ int (*init)(struct sctp_stream *stream); /* Init a stream */ int (*init_sid)(struct sctp_stream *stream, __u16 sid, gfp_t gfp); + /* free a stream */ + void (*free_sid)(struct sctp_stream *stream, __u16 sid); /* Frees the entire thing */ void (*free)(struct sctp_stream *stream); --- linux-gcp-5.19.0.orig/include/net/sock.h +++ linux-gcp-5.19.0/include/net/sock.h @@ -323,7 +323,7 @@ * @sk_tskey: counter to disambiguate concurrent tstamp requests * @sk_zckey: counter to order MSG_ZEROCOPY notifications * @sk_socket: Identd and reporting IO signals - * @sk_user_data: RPC layer private data + * @sk_user_data: RPC layer private data. Write-protected by @sk_callback_lock. * @sk_frag: cached page frag * @sk_peek_off: current peek_offset value * @sk_send_head: front of stuff to transmit @@ -545,14 +545,26 @@ SK_PACING_FQ = 2, }; -/* Pointer stored in sk_user_data might not be suitable for copying - * when cloning the socket. For instance, it can point to a reference - * counted object. sk_user_data bottom bit is set if pointer must not - * be copied. +/* flag bits in sk_user_data + * + * - SK_USER_DATA_NOCOPY: Pointer stored in sk_user_data might + * not be suitable for copying when cloning the socket. For instance, + * it can point to a reference counted object. sk_user_data bottom + * bit is set if pointer must not be copied. + * + * - SK_USER_DATA_BPF: Mark whether sk_user_data field is + * managed/owned by a BPF reuseport array. This bit should be set + * when sk_user_data's sk is added to the bpf's reuseport_array. + * + * - SK_USER_DATA_PSOCK: Mark whether pointer stored in + * sk_user_data points to psock type. This bit should be set + * when sk_user_data is assigned to a psock object. */ #define SK_USER_DATA_NOCOPY 1UL -#define SK_USER_DATA_BPF 2UL /* Managed by BPF */ -#define SK_USER_DATA_PTRMASK ~(SK_USER_DATA_NOCOPY | SK_USER_DATA_BPF) +#define SK_USER_DATA_BPF 2UL +#define SK_USER_DATA_PSOCK 4UL +#define SK_USER_DATA_PTRMASK ~(SK_USER_DATA_NOCOPY | SK_USER_DATA_BPF |\ + SK_USER_DATA_PSOCK) /** * sk_user_data_is_nocopy - Test if sk_user_data pointer must not be copied @@ -565,24 +577,40 @@ #define __sk_user_data(sk) ((*((void __rcu **)&(sk)->sk_user_data))) +/** + * __rcu_dereference_sk_user_data_with_flags - return the pointer + * only if argument flags all has been set in sk_user_data. Otherwise + * return NULL + * + * @sk: socket + * @flags: flag bits + */ +static inline void * +__rcu_dereference_sk_user_data_with_flags(const struct sock *sk, + uintptr_t flags) +{ + uintptr_t sk_user_data = (uintptr_t)rcu_dereference(__sk_user_data(sk)); + + WARN_ON_ONCE(flags & SK_USER_DATA_PTRMASK); + + if ((sk_user_data & flags) == flags) + return (void *)(sk_user_data & SK_USER_DATA_PTRMASK); + return NULL; +} + #define rcu_dereference_sk_user_data(sk) \ + __rcu_dereference_sk_user_data_with_flags(sk, 0) +#define __rcu_assign_sk_user_data_with_flags(sk, ptr, flags) \ ({ \ - void *__tmp = rcu_dereference(__sk_user_data((sk))); \ - (void *)((uintptr_t)__tmp & SK_USER_DATA_PTRMASK); \ -}) -#define rcu_assign_sk_user_data(sk, ptr) \ -({ \ - uintptr_t __tmp = (uintptr_t)(ptr); \ - WARN_ON_ONCE(__tmp & ~SK_USER_DATA_PTRMASK); \ - rcu_assign_pointer(__sk_user_data((sk)), __tmp); \ -}) -#define rcu_assign_sk_user_data_nocopy(sk, ptr) \ -({ \ - uintptr_t __tmp = (uintptr_t)(ptr); \ - WARN_ON_ONCE(__tmp & ~SK_USER_DATA_PTRMASK); \ + uintptr_t __tmp1 = (uintptr_t)(ptr), \ + __tmp2 = (uintptr_t)(flags); \ + WARN_ON_ONCE(__tmp1 & ~SK_USER_DATA_PTRMASK); \ + WARN_ON_ONCE(__tmp2 & SK_USER_DATA_PTRMASK); \ rcu_assign_pointer(__sk_user_data((sk)), \ - __tmp | SK_USER_DATA_NOCOPY); \ + __tmp1 | __tmp2); \ }) +#define rcu_assign_sk_user_data(sk, ptr) \ + __rcu_assign_sk_user_data_with_flags(sk, ptr, 0) static inline struct net *sock_net(const struct sock *sk) @@ -1552,19 +1580,23 @@ static inline bool sk_wmem_schedule(struct sock *sk, int size) { + int delta; + if (!sk_has_account(sk)) return true; - return size <= sk->sk_forward_alloc || - __sk_mem_schedule(sk, size, SK_MEM_SEND); + delta = size - sk->sk_forward_alloc; + return delta <= 0 || __sk_mem_schedule(sk, delta, SK_MEM_SEND); } static inline bool sk_rmem_schedule(struct sock *sk, struct sk_buff *skb, int size) { + int delta; + if (!sk_has_account(sk)) return true; - return size <= sk->sk_forward_alloc || - __sk_mem_schedule(sk, size, SK_MEM_RECV) || + delta = size - sk->sk_forward_alloc; + return delta <= 0 || __sk_mem_schedule(sk, delta, SK_MEM_RECV) || skb_pfmemalloc(skb); } @@ -1836,6 +1868,13 @@ void sock_kzfree_s(struct sock *sk, void *mem, int size); void sk_send_sigurg(struct sock *sk); +static inline void sock_replace_proto(struct sock *sk, struct proto *proto) +{ + if (sk->sk_socket) + clear_bit(SOCK_SUPPORT_ZC, &sk->sk_socket->flags); + WRITE_ONCE(sk->sk_prot, proto); +} + struct sockcm_cookie { u64 transmit_time; u32 mark; @@ -1892,7 +1931,12 @@ * Default socket callbacks and setup code */ -/* Initialise core socket variables */ +/* Initialise core socket variables using an explicit uid. */ +void sock_init_data_uid(struct socket *sock, struct sock *sk, kuid_t uid); + +/* Initialise core socket variables. + * Assumes struct socket *sock is embedded in a struct socket_alloc. + */ void sock_init_data(struct socket *sock, struct sock *sk); /* @@ -2372,6 +2416,19 @@ return false; } +static inline struct sk_buff *skb_clone_and_charge_r(struct sk_buff *skb, struct sock *sk) +{ + skb = skb_clone(skb, sk_gfp_mask(sk, GFP_ATOMIC)); + if (skb) { + if (sk_rmem_schedule(sk, skb, skb->truesize)) { + skb_set_owner_r(skb, sk); + return skb; + } + __kfree_skb(skb); + } + return NULL; +} + static inline void skb_prepare_for_gro(struct sk_buff *skb) { if (skb->destructor != sock_wfree) { @@ -2534,7 +2591,7 @@ static inline gfp_t gfp_memcg_charge(void) { - return in_softirq() ? GFP_NOWAIT : GFP_KERNEL; + return in_softirq() ? GFP_ATOMIC : GFP_KERNEL; } static inline long sock_rcvtimeo(const struct sock *sk, bool noblock) --- linux-gcp-5.19.0.orig/include/net/sock_reuseport.h +++ linux-gcp-5.19.0/include/net/sock_reuseport.h @@ -16,6 +16,7 @@ u16 max_socks; /* length of socks */ u16 num_socks; /* elements in socks */ u16 num_closed_socks; /* closed elements in socks */ + u16 incoming_cpu; /* The last synq overflow event timestamp of this * reuse->socks[] group. */ @@ -43,21 +44,21 @@ extern int reuseport_attach_prog(struct sock *sk, struct bpf_prog *prog); extern int reuseport_detach_prog(struct sock *sk); -static inline bool reuseport_has_conns(struct sock *sk, bool set) +static inline bool reuseport_has_conns(struct sock *sk) { struct sock_reuseport *reuse; bool ret = false; rcu_read_lock(); reuse = rcu_dereference(sk->sk_reuseport_cb); - if (reuse) { - if (set) - reuse->has_conns = 1; - ret = reuse->has_conns; - } + if (reuse && reuse->has_conns) + ret = true; rcu_read_unlock(); return ret; } +void reuseport_has_conns_set(struct sock *sk); +void reuseport_update_incoming_cpu(struct sock *sk, int val); + #endif /* _SOCK_REUSEPORT_H */ --- linux-gcp-5.19.0.orig/include/net/tcp.h +++ linux-gcp-5.19.0/include/net/tcp.h @@ -1289,11 +1289,14 @@ { const struct tcp_sock *tp = tcp_sk(sk); + if (tp->is_cwnd_limited) + return true; + /* If in slow start, ensure cwnd grows to twice what was ACKed. */ if (tcp_in_slow_start(tp)) return tcp_snd_cwnd(tp) < 2 * tp->max_packets_out; - return tp->is_cwnd_limited; + return false; } /* BBR congestion control needs pacing. @@ -2275,8 +2278,8 @@ void tcp_bpf_clone(const struct sock *sk, struct sock *newsk); #endif /* CONFIG_BPF_SYSCALL */ -int tcp_bpf_sendmsg_redir(struct sock *sk, struct sk_msg *msg, u32 bytes, - int flags); +int tcp_bpf_sendmsg_redir(struct sock *sk, bool ingress, + struct sk_msg *msg, u32 bytes, int flags); #endif /* CONFIG_NET_SOCK_MSG */ #if !defined(CONFIG_BPF_SYSCALL) || !defined(CONFIG_NET_SOCK_MSG) --- linux-gcp-5.19.0.orig/include/net/tls.h +++ linux-gcp-5.19.0/include/net/tls.h @@ -424,7 +424,7 @@ { struct tls_rec *rec; - rec = list_first_entry(&ctx->tx_list, struct tls_rec, list); + rec = list_first_entry_or_null(&ctx->tx_list, struct tls_rec, list); if (!rec) return false; --- linux-gcp-5.19.0.orig/include/net/udp_tunnel.h +++ linux-gcp-5.19.0/include/net/udp_tunnel.h @@ -67,6 +67,9 @@ typedef int (*udp_tunnel_encap_rcv_t)(struct sock *sk, struct sk_buff *skb); typedef int (*udp_tunnel_encap_err_lookup_t)(struct sock *sk, struct sk_buff *skb); +typedef void (*udp_tunnel_encap_err_rcv_t)(struct sock *sk, + struct sk_buff *skb, + unsigned int udp_offset); typedef void (*udp_tunnel_encap_destroy_t)(struct sock *sk); typedef struct sk_buff *(*udp_tunnel_gro_receive_t)(struct sock *sk, struct list_head *head, @@ -80,6 +83,7 @@ __u8 encap_type; udp_tunnel_encap_rcv_t encap_rcv; udp_tunnel_encap_err_lookup_t encap_err_lookup; + udp_tunnel_encap_err_rcv_t encap_err_rcv; udp_tunnel_encap_destroy_t encap_destroy; udp_tunnel_gro_receive_t gro_receive; udp_tunnel_gro_complete_t gro_complete; --- linux-gcp-5.19.0.orig/include/net/vxlan.h +++ linux-gcp-5.19.0/include/net/vxlan.h @@ -292,6 +292,8 @@ struct net *net; /* netns for packet i/o */ struct vxlan_rdst default_dst; /* default destination */ + struct ip_tunnel_fan fan; + struct timer_list age_timer; spinlock_t hash_lock[FDB_HASH_SIZE]; unsigned int addrcnt; --- linux-gcp-5.19.0.orig/include/net/xdp_sock_drv.h +++ linux-gcp-5.19.0/include/net/xdp_sock_drv.h @@ -95,6 +95,13 @@ xp_free(xskb); } +static inline void xsk_buff_discard(struct xdp_buff *xdp) +{ + struct xdp_buff_xsk *xskb = container_of(xdp, struct xdp_buff_xsk, xdp); + + xp_release(xskb); +} + static inline void xsk_buff_set_size(struct xdp_buff *xdp, u32 size) { xdp->data = xdp->data_hard_start + XDP_PACKET_HEADROOM; @@ -238,6 +245,10 @@ { } +static inline void xsk_buff_discard(struct xdp_buff *xdp) +{ +} + static inline void xsk_buff_set_size(struct xdp_buff *xdp, u32 size) { } --- linux-gcp-5.19.0.orig/include/net/xfrm.h +++ linux-gcp-5.19.0/include/net/xfrm.h @@ -1195,6 +1195,8 @@ static inline int xfrm_sk_clone_policy(struct sock *sk, const struct sock *osk) { + if (!sk_fullsock(osk)) + return 0; sk->sk_policy[0] = NULL; sk->sk_policy[1] = NULL; if (unlikely(osk->sk_policy[0] || osk->sk_policy[1])) --- linux-gcp-5.19.0.orig/include/net/xsk_buff_pool.h +++ linux-gcp-5.19.0/include/net/xsk_buff_pool.h @@ -95,7 +95,7 @@ struct xdp_umem *umem); int xp_assign_dev(struct xsk_buff_pool *pool, struct net_device *dev, u16 queue_id, u16 flags); -int xp_assign_dev_shared(struct xsk_buff_pool *pool, struct xdp_umem *umem, +int xp_assign_dev_shared(struct xsk_buff_pool *pool, struct xdp_sock *umem_xs, struct net_device *dev, u16 queue_id); int xp_alloc_tx_descs(struct xsk_buff_pool *pool, struct xdp_sock *xs); void xp_destroy(struct xsk_buff_pool *pool); --- linux-gcp-5.19.0.orig/include/rdma/ib_umem.h +++ linux-gcp-5.19.0/include/rdma/ib_umem.h @@ -25,6 +25,8 @@ u32 writable : 1; u32 is_odp : 1; u32 is_dmabuf : 1; + /* Placing at the end of the bitfield list is ABI preserving on LE */ + u32 is_peer : 1; struct work_struct work; struct sg_append_table sgt_append; }; @@ -46,6 +48,12 @@ return container_of(umem, struct ib_umem_dmabuf, umem); } +typedef void (*umem_invalidate_func_t)(struct ib_umem *umem, void *priv); +enum ib_peer_mem_flags { + IB_PEER_MEM_ALLOW = 1 << 0, + IB_PEER_MEM_INVAL_SUPP = 1 << 1, +}; + /* Returns the offset of the umem start relative to the first page. */ static inline int ib_umem_offset(struct ib_umem *umem) { @@ -147,6 +155,13 @@ int ib_umem_dmabuf_map_pages(struct ib_umem_dmabuf *umem_dmabuf); void ib_umem_dmabuf_unmap_pages(struct ib_umem_dmabuf *umem_dmabuf); void ib_umem_dmabuf_release(struct ib_umem_dmabuf *umem_dmabuf); +struct ib_umem *ib_umem_get_peer(struct ib_device *device, unsigned long addr, + size_t size, int access, + unsigned long peer_mem_flags); +void ib_umem_activate_invalidation_notifier(struct ib_umem *umem, + umem_invalidate_func_t func, + void *cookie); +void ib_umem_stop_invalidation_notifier(struct ib_umem *umem); #else /* CONFIG_INFINIBAND_USER_MEM */ @@ -196,6 +211,20 @@ } static inline void ib_umem_dmabuf_unmap_pages(struct ib_umem_dmabuf *umem_dmabuf) { } static inline void ib_umem_dmabuf_release(struct ib_umem_dmabuf *umem_dmabuf) { } +static inline struct ib_umem *ib_umem_get_peer(struct ib_device *device, + unsigned long addr, size_t size, + int access, + unsigned long peer_mem_flags) +{ + return ERR_PTR(-EINVAL); +} +static inline void ib_umem_activate_invalidation_notifier( + struct ib_umem *umem, umem_invalidate_func_t func, void *cookie) +{ +} +static inline void ib_umem_stop_invalidation_notifier(struct ib_umem *umem) +{ +} #endif /* CONFIG_INFINIBAND_USER_MEM */ #endif /* IB_UMEM_H */ --- linux-gcp-5.19.0.orig/include/rdma/peer_mem.h +++ linux-gcp-5.19.0/include/rdma/peer_mem.h @@ -0,0 +1,175 @@ +/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ +/* + * Copyright (c) 2014-2020, Mellanox Technologies. All rights reserved. + */ +#ifndef RDMA_PEER_MEM_H +#define RDMA_PEER_MEM_H + +#include + +#define IB_PEER_MEMORY_NAME_MAX 64 +#define IB_PEER_MEMORY_VER_MAX 16 + +/* + * Prior versions used a void * for core_context, at some point this was + * switched to use u64. Be careful if compiling this as 32 bit. To help the + * value of core_context is limited to u32 so it should work OK despite the + * type change. + */ +#define PEER_MEM_U64_CORE_CONTEXT + +struct device; + +/** + * struct peer_memory_client - registration information for user virtual + * memory handlers + * + * The peer_memory_client scheme allows a driver to register with the ib_umem + * system that it has the ability to understand user virtual address ranges + * that are not compatible with get_user_pages(). For instance VMAs created + * with io_remap_pfn_range(), or other driver special VMA. + * + * For ranges the interface understands it can provide a DMA mapped sg_table + * for use by the ib_umem, allowing user virtual ranges that cannot be + * supported by get_user_pages() to be used as umems. + */ +struct peer_memory_client { + char name[IB_PEER_MEMORY_NAME_MAX]; + char version[IB_PEER_MEMORY_VER_MAX]; + + /** + * acquire - Begin working with a user space virtual address range + * + * @addr - Virtual address to be checked whether belongs to peer. + * @size - Length of the virtual memory area starting at addr. + * @peer_mem_private_data - Obsolete, always NULL + * @peer_mem_name - Obsolete, always NULL + * @client_context - Returns an opaque value for this acquire use in + * other APIs + * + * Returns 1 if the peer_memory_client supports the entire virtual + * address range, 0 or -ERRNO otherwise. If 1 is returned then + * release() will be called to release the acquire(). + */ + int (*acquire)(unsigned long addr, size_t size, + void *peer_mem_private_data, char *peer_mem_name, + void **client_context); + /** + * get_pages - Fill in the first part of a sg_table for a virtual + * address range + * + * @addr - Virtual address to be checked whether belongs to peer. + * @size - Length of the virtual memory area starting at addr. + * @write - Always 1 + * @force - 1 if write is required + * @sg_head - Obsolete, always NULL + * @client_context - Value returned by acquire() + * @core_context - Value to be passed to invalidate_peer_memory for + * this get + * + * addr/size are passed as the raw virtual address range requested by + * the user, it is not aligned to any page size. get_pages() is always + * followed by dma_map(). + * + * Upon return the caller can call the invalidate_callback(). + * + * Returns 0 on success, -ERRNO on failure. After success put_pages() + * will be called to return the pages. + */ + int (*get_pages)(unsigned long addr, size_t size, int write, int force, + struct sg_table *sg_head, void *client_context, + u64 core_context); + /** + * dma_map - Create a DMA mapped sg_table + * + * @sg_head - The sg_table to allocate + * @client_context - Value returned by acquire() + * @dma_device - The device that will be doing DMA from these addresses + * @dmasync - Obsolete, always 0 + * @nmap - Returns the number of dma mapped entries in the sg_head + * + * Must be called after get_pages(). This must fill in the sg_head with + * DMA mapped SGLs for dma_device. Each SGL start and end must meet a + * minimum alignment of at least PAGE_SIZE, though individual sgls can + * be multiples of PAGE_SIZE, in any mixture. Since the user virtual + * address/size are not page aligned, the implementation must increase + * it to the logical alignment when building the SGLs. + * + * Returns 0 on success, -ERRNO on failure. After success dma_unmap() + * will be called to unmap the pages. On failure sg_head must be left + * untouched or point to a valid sg_table. + */ + int (*dma_map)(struct sg_table *sg_head, void *client_context, + struct device *dma_device, int dmasync, int *nmap); + /** + * dma_unmap - Unmap a DMA mapped sg_table + * + * @sg_head - The sg_table to unmap + * @client_context - Value returned by acquire() + * @dma_device - The device that will be doing DMA from these addresses + * + * sg_head will not be touched after this function returns. + * + * Must return 0. + */ + int (*dma_unmap)(struct sg_table *sg_head, void *client_context, + struct device *dma_device); + /** + * put_pages - Unpin a SGL + * + * @sg_head - The sg_table to unpin + * @client_context - Value returned by acquire() + * + * sg_head must be freed on return. + */ + void (*put_pages)(struct sg_table *sg_head, void *client_context); + /* Client should always return PAGE_SIZE */ + unsigned long (*get_page_size)(void *client_context); + /** + * release - Undo acquire + * + * @client_context - Value returned by acquire() + * + * If acquire() returns 1 then release() must be called. All + * get_pages() and dma_map()'s must be undone before calling this + * function. + */ + void (*release)(void *client_context); +}; + +enum { + PEER_MEM_INVALIDATE_UNMAPS = 1 << 0, +}; + +struct peer_memory_client_ex { + struct peer_memory_client client; + size_t ex_size; + u32 flags; +}; + +/* + * If invalidate_callback() is non-NULL then the client will only support + * umems which can be invalidated. The caller may call the + * invalidate_callback() after acquire() on return the range will no longer + * have DMA active, and release() will have been called. + * + * Note: The implementation locking must ensure that get_pages(), and + * dma_map() do not have locking dependencies with invalidate_callback(). The + * ib_core will wait until any concurrent get_pages() or dma_map() completes + * before returning. + * + * Similarly, this can call dma_unmap(), put_pages() and release() from within + * the callback, or will wait for another thread doing those operations to + * complete. + * + * For these reasons the user of invalidate_callback() must be careful with + * locking. + */ +typedef int (*invalidate_peer_memory)(void *reg_handle, u64 core_context); + +void * +ib_register_peer_memory_client(const struct peer_memory_client *peer_client, + invalidate_peer_memory *invalidate_callback); +void ib_unregister_peer_memory_client(void *reg_handle); + +#endif --- linux-gcp-5.19.0.orig/include/scsi/libiscsi.h +++ linux-gcp-5.19.0/include/scsi/libiscsi.h @@ -213,6 +213,8 @@ struct list_head cmdqueue; /* data-path cmd queue */ struct list_head requeue; /* tasks needing another run */ struct work_struct xmitwork; /* per-conn. xmit workqueue */ + /* recv */ + struct work_struct recvwork; unsigned long flags; /* ISCSI_CONN_FLAGs */ /* negotiated params */ @@ -411,7 +413,7 @@ extern struct Scsi_Host *iscsi_host_alloc(struct scsi_host_template *sht, int dd_data_size, bool xmit_can_sleep); -extern void iscsi_host_remove(struct Scsi_Host *shost); +extern void iscsi_host_remove(struct Scsi_Host *shost, bool is_shutdown); extern void iscsi_host_free(struct Scsi_Host *shost); extern int iscsi_target_alloc(struct scsi_target *starget); extern int iscsi_host_get_max_scsi_cmds(struct Scsi_Host *shost, @@ -423,6 +425,8 @@ extern struct iscsi_cls_session * iscsi_session_setup(struct iscsi_transport *, struct Scsi_Host *shost, uint16_t, int, int, uint32_t, unsigned int); +void iscsi_session_remove(struct iscsi_cls_session *cls_session); +void iscsi_session_free(struct iscsi_cls_session *cls_session); extern void iscsi_session_teardown(struct iscsi_cls_session *); extern void iscsi_session_recovery_timedout(struct iscsi_cls_session *); extern int iscsi_set_param(struct iscsi_cls_conn *cls_conn, @@ -452,8 +456,10 @@ extern int iscsi_conn_get_addr_param(struct sockaddr_storage *addr, enum iscsi_param param, char *buf); extern void iscsi_suspend_tx(struct iscsi_conn *conn); +extern void iscsi_suspend_rx(struct iscsi_conn *conn); extern void iscsi_suspend_queue(struct iscsi_conn *conn); -extern void iscsi_conn_queue_work(struct iscsi_conn *conn); +extern void iscsi_conn_queue_xmit(struct iscsi_conn *conn); +extern void iscsi_conn_queue_recv(struct iscsi_conn *conn); #define iscsi_conn_printk(prefix, _c, fmt, a...) \ iscsi_cls_conn_printk(prefix, ((struct iscsi_conn *)_c)->cls_conn, \ --- linux-gcp-5.19.0.orig/include/scsi/scsi_cmnd.h +++ linux-gcp-5.19.0/include/scsi/scsi_cmnd.h @@ -201,7 +201,7 @@ for_each_sg(scsi_sglist(cmd), sg, nseg, __i) static inline int scsi_sg_copy_from_buffer(struct scsi_cmnd *cmd, - void *buf, int buflen) + const void *buf, int buflen) { return sg_copy_from_buffer(scsi_sglist(cmd), scsi_sg_count(cmd), buf, buflen); --- linux-gcp-5.19.0.orig/include/scsi/scsi_host.h +++ linux-gcp-5.19.0/include/scsi/scsi_host.h @@ -557,6 +557,8 @@ struct scsi_host_template *hostt; struct scsi_transport_template *transportt; + struct kref tagset_refcnt; + struct completion tagset_freed; /* Area to keep a shared tag map */ struct blk_mq_tag_set tag_set; --- linux-gcp-5.19.0.orig/include/scsi/scsi_transport_iscsi.h +++ linux-gcp-5.19.0/include/scsi/scsi_transport_iscsi.h @@ -236,6 +236,14 @@ ISCSI_SESSION_FREE, }; +enum { + ISCSI_SESSION_TARGET_UNBOUND, + ISCSI_SESSION_TARGET_ALLOCATED, + ISCSI_SESSION_TARGET_SCANNED, + ISCSI_SESSION_TARGET_UNBINDING, + ISCSI_SESSION_TARGET_MAX, +}; + #define ISCSI_MAX_TARGET -1 struct iscsi_cls_session { @@ -264,6 +272,7 @@ */ pid_t creator; int state; + int target_state; /* session target bind state */ int sid; /* session id */ void *dd_data; /* LLD private data */ struct device dev; /* sysfs transport/container device */ @@ -442,6 +451,7 @@ struct iscsi_transport *t, int dd_size, unsigned int target_id); +extern void iscsi_force_destroy_session(struct iscsi_cls_session *session); extern void iscsi_remove_session(struct iscsi_cls_session *session); extern void iscsi_free_session(struct iscsi_cls_session *session); extern struct iscsi_cls_conn *iscsi_alloc_conn(struct iscsi_cls_session *sess, --- linux-gcp-5.19.0.orig/include/soc/at91/sama7-ddr.h +++ linux-gcp-5.19.0/include/soc/at91/sama7-ddr.h @@ -26,7 +26,10 @@ #define DDR3PHY_PGSR (0x0C) /* DDR3PHY PHY General Status Register */ #define DDR3PHY_PGSR_IDONE (1 << 0) /* Initialization Done */ -#define DDR3PHY_ACIOCR (0x24) /* DDR3PHY AC I/O Configuration Register */ +#define DDR3PHY_ACDLLCR (0x14) /* DDR3PHY AC DLL Control Register */ +#define DDR3PHY_ACDLLCR_DLLSRST (1 << 30) /* DLL Soft Reset */ + +#define DDR3PHY_ACIOCR (0x24) /* DDR3PHY AC I/O Configuration Register */ #define DDR3PHY_ACIOCR_CSPDD_CS0 (1 << 18) /* CS#[0] Power Down Driver */ #define DDR3PHY_ACIOCR_CKPDD_CK0 (1 << 8) /* CK[0] Power Down Driver */ #define DDR3PHY_ACIORC_ACPDD (1 << 3) /* AC Power Down Driver */ @@ -38,6 +41,14 @@ #define DDR3PHY_DSGCR_ODTPDD_ODT0 (1 << 20) /* ODT[0] Power Down Driver */ #define DDR3PHY_ZQ0SR0 (0x188) /* ZQ status register 0 */ +#define DDR3PHY_ZQ0SR0_PDO_OFF (0) /* Pull-down output impedance select offset */ +#define DDR3PHY_ZQ0SR0_PUO_OFF (5) /* Pull-up output impedance select offset */ +#define DDR3PHY_ZQ0SR0_PDODT_OFF (10) /* Pull-down on-die termination impedance select offset */ +#define DDR3PHY_ZQ0SRO_PUODT_OFF (15) /* Pull-up on-die termination impedance select offset */ + +#define DDR3PHY_DX0DLLCR (0x1CC) /* DDR3PHY DATX8 DLL Control Register */ +#define DDR3PHY_DX1DLLCR (0x20C) /* DDR3PHY DATX8 DLL Control Register */ +#define DDR3PHY_DXDLLCR_DLLDIS (1 << 31) /* DLL Disable */ /* UDDRC */ #define UDDRC_STAT (0x04) /* UDDRC Operating Mode Status Register */ --- linux-gcp-5.19.0.orig/include/soc/mscc/ocelot.h +++ linux-gcp-5.19.0/include/soc/mscc/ocelot.h @@ -105,11 +105,6 @@ #define REG_RESERVED_ADDR 0xffffffff #define REG_RESERVED(reg) REG(reg, REG_RESERVED_ADDR) -#define for_each_stat(ocelot, stat) \ - for ((stat) = (ocelot)->stats_layout; \ - ((stat)->name[0] != '\0'); \ - (stat)++) - enum ocelot_target { ANA = 1, QS, @@ -335,7 +330,8 @@ SYS_COUNT_RX_64, SYS_COUNT_RX_65_127, SYS_COUNT_RX_128_255, - SYS_COUNT_RX_256_1023, + SYS_COUNT_RX_256_511, + SYS_COUNT_RX_512_1023, SYS_COUNT_RX_1024_1526, SYS_COUNT_RX_1527_MAX, SYS_COUNT_RX_PAUSE, @@ -351,7 +347,8 @@ SYS_COUNT_TX_PAUSE, SYS_COUNT_TX_64, SYS_COUNT_TX_65_127, - SYS_COUNT_TX_128_511, + SYS_COUNT_TX_128_255, + SYS_COUNT_TX_256_511, SYS_COUNT_TX_512_1023, SYS_COUNT_TX_1024_1526, SYS_COUNT_TX_1527_MAX, @@ -538,13 +535,108 @@ TOD_ACC_PIN }; +enum ocelot_stat { + OCELOT_STAT_RX_OCTETS, + OCELOT_STAT_RX_UNICAST, + OCELOT_STAT_RX_MULTICAST, + OCELOT_STAT_RX_BROADCAST, + OCELOT_STAT_RX_SHORTS, + OCELOT_STAT_RX_FRAGMENTS, + OCELOT_STAT_RX_JABBERS, + OCELOT_STAT_RX_CRC_ALIGN_ERRS, + OCELOT_STAT_RX_SYM_ERRS, + OCELOT_STAT_RX_64, + OCELOT_STAT_RX_65_127, + OCELOT_STAT_RX_128_255, + OCELOT_STAT_RX_256_511, + OCELOT_STAT_RX_512_1023, + OCELOT_STAT_RX_1024_1526, + OCELOT_STAT_RX_1527_MAX, + OCELOT_STAT_RX_PAUSE, + OCELOT_STAT_RX_CONTROL, + OCELOT_STAT_RX_LONGS, + OCELOT_STAT_RX_CLASSIFIED_DROPS, + OCELOT_STAT_RX_RED_PRIO_0, + OCELOT_STAT_RX_RED_PRIO_1, + OCELOT_STAT_RX_RED_PRIO_2, + OCELOT_STAT_RX_RED_PRIO_3, + OCELOT_STAT_RX_RED_PRIO_4, + OCELOT_STAT_RX_RED_PRIO_5, + OCELOT_STAT_RX_RED_PRIO_6, + OCELOT_STAT_RX_RED_PRIO_7, + OCELOT_STAT_RX_YELLOW_PRIO_0, + OCELOT_STAT_RX_YELLOW_PRIO_1, + OCELOT_STAT_RX_YELLOW_PRIO_2, + OCELOT_STAT_RX_YELLOW_PRIO_3, + OCELOT_STAT_RX_YELLOW_PRIO_4, + OCELOT_STAT_RX_YELLOW_PRIO_5, + OCELOT_STAT_RX_YELLOW_PRIO_6, + OCELOT_STAT_RX_YELLOW_PRIO_7, + OCELOT_STAT_RX_GREEN_PRIO_0, + OCELOT_STAT_RX_GREEN_PRIO_1, + OCELOT_STAT_RX_GREEN_PRIO_2, + OCELOT_STAT_RX_GREEN_PRIO_3, + OCELOT_STAT_RX_GREEN_PRIO_4, + OCELOT_STAT_RX_GREEN_PRIO_5, + OCELOT_STAT_RX_GREEN_PRIO_6, + OCELOT_STAT_RX_GREEN_PRIO_7, + OCELOT_STAT_TX_OCTETS, + OCELOT_STAT_TX_UNICAST, + OCELOT_STAT_TX_MULTICAST, + OCELOT_STAT_TX_BROADCAST, + OCELOT_STAT_TX_COLLISION, + OCELOT_STAT_TX_DROPS, + OCELOT_STAT_TX_PAUSE, + OCELOT_STAT_TX_64, + OCELOT_STAT_TX_65_127, + OCELOT_STAT_TX_128_255, + OCELOT_STAT_TX_256_511, + OCELOT_STAT_TX_512_1023, + OCELOT_STAT_TX_1024_1526, + OCELOT_STAT_TX_1527_MAX, + OCELOT_STAT_TX_YELLOW_PRIO_0, + OCELOT_STAT_TX_YELLOW_PRIO_1, + OCELOT_STAT_TX_YELLOW_PRIO_2, + OCELOT_STAT_TX_YELLOW_PRIO_3, + OCELOT_STAT_TX_YELLOW_PRIO_4, + OCELOT_STAT_TX_YELLOW_PRIO_5, + OCELOT_STAT_TX_YELLOW_PRIO_6, + OCELOT_STAT_TX_YELLOW_PRIO_7, + OCELOT_STAT_TX_GREEN_PRIO_0, + OCELOT_STAT_TX_GREEN_PRIO_1, + OCELOT_STAT_TX_GREEN_PRIO_2, + OCELOT_STAT_TX_GREEN_PRIO_3, + OCELOT_STAT_TX_GREEN_PRIO_4, + OCELOT_STAT_TX_GREEN_PRIO_5, + OCELOT_STAT_TX_GREEN_PRIO_6, + OCELOT_STAT_TX_GREEN_PRIO_7, + OCELOT_STAT_TX_AGED, + OCELOT_STAT_DROP_LOCAL, + OCELOT_STAT_DROP_TAIL, + OCELOT_STAT_DROP_YELLOW_PRIO_0, + OCELOT_STAT_DROP_YELLOW_PRIO_1, + OCELOT_STAT_DROP_YELLOW_PRIO_2, + OCELOT_STAT_DROP_YELLOW_PRIO_3, + OCELOT_STAT_DROP_YELLOW_PRIO_4, + OCELOT_STAT_DROP_YELLOW_PRIO_5, + OCELOT_STAT_DROP_YELLOW_PRIO_6, + OCELOT_STAT_DROP_YELLOW_PRIO_7, + OCELOT_STAT_DROP_GREEN_PRIO_0, + OCELOT_STAT_DROP_GREEN_PRIO_1, + OCELOT_STAT_DROP_GREEN_PRIO_2, + OCELOT_STAT_DROP_GREEN_PRIO_3, + OCELOT_STAT_DROP_GREEN_PRIO_4, + OCELOT_STAT_DROP_GREEN_PRIO_5, + OCELOT_STAT_DROP_GREEN_PRIO_6, + OCELOT_STAT_DROP_GREEN_PRIO_7, + OCELOT_NUM_STATS, +}; + struct ocelot_stat_layout { u32 offset; char name[ETH_GSTRING_LEN]; }; -#define OCELOT_STAT_END { .name = "" } - struct ocelot_stats_region { struct list_head node; u32 offset; @@ -575,6 +667,7 @@ int (*psfp_stats_get)(struct ocelot *ocelot, struct flow_cls_offload *f, struct flow_stats *stats); void (*cut_through_fwd)(struct ocelot *ocelot); + void (*tas_clock_adjust)(struct ocelot *ocelot); }; struct ocelot_vcap_policer { @@ -669,6 +762,8 @@ /* VLAN that untagged frames are classified to, on ingress */ const struct ocelot_bridge_vlan *pvid_vlan; + struct tc_taprio_qopt_offload *taprio; + phy_interface_t phy_mode; unsigned int ptp_skbs_in_flight; @@ -704,7 +799,6 @@ const u32 *const *map; const struct ocelot_stat_layout *stats_layout; struct list_head stats_regions; - unsigned int num_stats; u32 pool_size[OCELOT_SB_NUM][OCELOT_SB_POOL_NUM]; int packet_buffer_size; @@ -747,7 +841,7 @@ struct ocelot_psfp_list psfp; /* Workqueue to check statistics for overflow with its lock */ - struct mutex stats_lock; + spinlock_t stats_lock; u64 *stats; struct delayed_work stats_work; struct workqueue_struct *stats_queue; @@ -757,6 +851,9 @@ /* Lock for serializing forwarding domain changes */ struct mutex fwd_domain_lock; + /* Lock for serializing Time-Aware Shaper changes */ + struct mutex tas_lock; + struct workqueue_struct *owq; u8 ptp:1; --- linux-gcp-5.19.0.orig/include/sound/acp62_chip_offset_byte.h +++ linux-gcp-5.19.0/include/sound/acp62_chip_offset_byte.h @@ -0,0 +1,444 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * AMD ACP 6.2 Register Documentation + * + * Copyright 2022 Advanced Micro Devices, Inc. + */ + +#ifndef _acp_ip_OFFSET_HEADER +#define _acp_ip_OFFSET_HEADER + +/* Registers from ACP_DMA block */ +#define ACP_DMA_CNTL_0 0x0000000 +#define ACP_DMA_CNTL_1 0x0000004 +#define ACP_DMA_CNTL_2 0x0000008 +#define ACP_DMA_CNTL_3 0x000000C +#define ACP_DMA_CNTL_4 0x0000010 +#define ACP_DMA_CNTL_5 0x0000014 +#define ACP_DMA_CNTL_6 0x0000018 +#define ACP_DMA_CNTL_7 0x000001C +#define ACP_DMA_DSCR_STRT_IDX_0 0x0000020 +#define ACP_DMA_DSCR_STRT_IDX_1 0x0000024 +#define ACP_DMA_DSCR_STRT_IDX_2 0x0000028 +#define ACP_DMA_DSCR_STRT_IDX_3 0x000002C +#define ACP_DMA_DSCR_STRT_IDX_4 0x0000030 +#define ACP_DMA_DSCR_STRT_IDX_5 0x0000034 +#define ACP_DMA_DSCR_STRT_IDX_6 0x0000038 +#define ACP_DMA_DSCR_STRT_IDX_7 0x000003C +#define ACP_DMA_DSCR_CNT_0 0x0000040 +#define ACP_DMA_DSCR_CNT_1 0x0000044 +#define ACP_DMA_DSCR_CNT_2 0x0000048 +#define ACP_DMA_DSCR_CNT_3 0x000004C +#define ACP_DMA_DSCR_CNT_4 0x0000050 +#define ACP_DMA_DSCR_CNT_5 0x0000054 +#define ACP_DMA_DSCR_CNT_6 0x0000058 +#define ACP_DMA_DSCR_CNT_7 0x000005C +#define ACP_DMA_PRIO_0 0x0000060 +#define ACP_DMA_PRIO_1 0x0000064 +#define ACP_DMA_PRIO_2 0x0000068 +#define ACP_DMA_PRIO_3 0x000006C +#define ACP_DMA_PRIO_4 0x0000070 +#define ACP_DMA_PRIO_5 0x0000074 +#define ACP_DMA_PRIO_6 0x0000078 +#define ACP_DMA_PRIO_7 0x000007C +#define ACP_DMA_CUR_DSCR_0 0x0000080 +#define ACP_DMA_CUR_DSCR_1 0x0000084 +#define ACP_DMA_CUR_DSCR_2 0x0000088 +#define ACP_DMA_CUR_DSCR_3 0x000008C +#define ACP_DMA_CUR_DSCR_4 0x0000090 +#define ACP_DMA_CUR_DSCR_5 0x0000094 +#define ACP_DMA_CUR_DSCR_6 0x0000098 +#define ACP_DMA_CUR_DSCR_7 0x000009C +#define ACP_DMA_CUR_TRANS_CNT_0 0x00000A0 +#define ACP_DMA_CUR_TRANS_CNT_1 0x00000A4 +#define ACP_DMA_CUR_TRANS_CNT_2 0x00000A8 +#define ACP_DMA_CUR_TRANS_CNT_3 0x00000AC +#define ACP_DMA_CUR_TRANS_CNT_4 0x00000B0 +#define ACP_DMA_CUR_TRANS_CNT_5 0x00000B4 +#define ACP_DMA_CUR_TRANS_CNT_6 0x00000B8 +#define ACP_DMA_CUR_TRANS_CNT_7 0x00000BC +#define ACP_DMA_ERR_STS_0 0x00000C0 +#define ACP_DMA_ERR_STS_1 0x00000C4 +#define ACP_DMA_ERR_STS_2 0x00000C8 +#define ACP_DMA_ERR_STS_3 0x00000CC +#define ACP_DMA_ERR_STS_4 0x00000D0 +#define ACP_DMA_ERR_STS_5 0x00000D4 +#define ACP_DMA_ERR_STS_6 0x00000D8 +#define ACP_DMA_ERR_STS_7 0x00000DC +#define ACP_DMA_DESC_BASE_ADDR 0x00000E0 +#define ACP_DMA_DESC_MAX_NUM_DSCR 0x00000E4 +#define ACP_DMA_CH_STS 0x00000E8 +#define ACP_DMA_CH_GROUP 0x00000EC +#define ACP_DMA_CH_RST_STS 0x00000F0 + +/* Registers from ACP_AXI2AXIATU block */ +#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_1 0x0000C00 +#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_1 0x0000C04 +#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_2 0x0000C08 +#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_2 0x0000C0C +#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_3 0x0000C10 +#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_3 0x0000C14 +#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_4 0x0000C18 +#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_4 0x0000C1C +#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_5 0x0000C20 +#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_5 0x0000C24 +#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_6 0x0000C28 +#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_6 0x0000C2C +#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_7 0x0000C30 +#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_7 0x0000C34 +#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_8 0x0000C38 +#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_8 0x0000C3C +#define ACPAXI2AXI_ATU_CTRL 0x0000C40 +#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_9 0x0000C44 +#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_9 0x0000C48 +#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_10 0x0000C4C +#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_10 0x0000C50 +#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_11 0x0000C54 +#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_11 0x0000C58 +#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_12 0x0000C5C +#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_12 0x0000C60 +#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_13 0x0000C64 +#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_13 0x0000C68 +#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_14 0x0000C6C +#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_14 0x0000C70 +#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_15 0x0000C74 +#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_15 0x0000C78 +#define ACPAXI2AXI_ATU_PAGE_SIZE_GRP_16 0x0000C7C +#define ACPAXI2AXI_ATU_BASE_ADDR_GRP_16 0x0000C80 + +/* Registers from ACP_CLKRST block */ +#define ACP_SOFT_RESET 0x0001000 +#define ACP_CONTROL 0x0001004 +#define ACP_STATUS 0x0001008 +#define ACP_DYNAMIC_CG_MASTER_CONTROL 0x0001010 +#define ACP_ZSC_DSP_CTRL 0x0001014 +#define ACP_ZSC_STS 0x0001018 +#define ACP_PGFSM_CONTROL 0x0001024 +#define ACP_PGFSM_STATUS 0x0001028 +#define ACP_CLKMUX_SEL 0x000102C + +/* Registers from ACP_AON block */ +#define ACP_PME_EN 0x0001400 +#define ACP_DEVICE_STATE 0x0001404 +#define AZ_DEVICE_STATE 0x0001408 +#define ACP_PIN_CONFIG 0x0001440 +#define ACP_PAD_PULLUP_CTRL 0x0001444 +#define ACP_PAD_PULLDOWN_CTRL 0x0001448 +#define ACP_PAD_DRIVE_STRENGTH_CTRL 0x000144C +#define ACP_PAD_SCHMEN_CTRL 0x0001450 +#define ACP_SW_PAD_KEEPER_EN 0x0001454 +#define ACP_SW_WAKE_EN 0x0001458 +#define ACP_I2S_WAKE_EN 0x000145C +#define ACP_SW1_WAKE_EN 0x0001460 + +/* Registers from ACP_P1_MISC block */ +#define ACP_EXTERNAL_INTR_ENB 0x0001A00 +#define ACP_EXTERNAL_INTR_CNTL 0x0001A04 +#define ACP_EXTERNAL_INTR_CNTL1 0x0001A08 +#define ACP_EXTERNAL_INTR_STAT 0x0001A0C +#define ACP_EXTERNAL_INTR_STAT1 0x0001A10 +#define ACP_ERROR_STATUS 0x0001A4C +#define ACP_P1_SW_I2S_ERROR_REASON 0x0001A50 +#define ACP_P1_SW_POS_TRACK_I2S_TX_CTRL 0x0001A6C +#define ACP_P1_SW_I2S_TX_DMA_POS 0x0001A70 +#define ACP_P1_SW_POS_TRACK_I2S_RX_CTRL 0x0001A74 +#define ACP_P1_SW_I2S_RX_DMA_POS 0x0001A78 +#define ACP_P1_DMIC_I2S_GPIO_INTR_CTRL 0x0001A7C +#define ACP_P1_DMIC_I2S_GPIO_INTR_STATUS 0x0001A80 +#define ACP_SCRATCH_REG_BASE_ADDR 0x0001A84 +#define ACP_P1_SW_POS_TRACK_BT_TX_CTRL 0x0001A88 +#define ACP_P1_SW_BT_TX_DMA_POS 0x0001A8C +#define ACP_P1_SW_POS_TRACK_HS_TX_CTRL 0x0001A90 +#define ACP_P1_SW_HS_TX_DMA_POS 0x0001A94 +#define ACP_P1_SW_POS_TRACK_BT_RX_CTRL 0x0001A98 +#define ACP_P1_SW_BT_RX_DMA_POS 0x0001A9C +#define ACP_P1_SW_POS_TRACK_HS_RX_CTRL 0x0001AA0 +#define ACP_P1_SW_HS_RX_DMA_POS 0x0001AA4 + +/* Registers from ACP_AUDIO_BUFFERS block */ +#define ACP_I2S_RX_RINGBUFADDR 0x0002000 +#define ACP_I2S_RX_RINGBUFSIZE 0x0002004 +#define ACP_I2S_RX_LINKPOSITIONCNTR 0x0002008 +#define ACP_I2S_RX_FIFOADDR 0x000200C +#define ACP_I2S_RX_FIFOSIZE 0x0002010 +#define ACP_I2S_RX_DMA_SIZE 0x0002014 +#define ACP_I2S_RX_LINEARPOSITIONCNTR_HIGH 0x0002018 +#define ACP_I2S_RX_LINEARPOSITIONCNTR_LOW 0x000201C +#define ACP_I2S_RX_INTR_WATERMARK_SIZE 0x0002020 +#define ACP_I2S_TX_RINGBUFADDR 0x0002024 +#define ACP_I2S_TX_RINGBUFSIZE 0x0002028 +#define ACP_I2S_TX_LINKPOSITIONCNTR 0x000202C +#define ACP_I2S_TX_FIFOADDR 0x0002030 +#define ACP_I2S_TX_FIFOSIZE 0x0002034 +#define ACP_I2S_TX_DMA_SIZE 0x0002038 +#define ACP_I2S_TX_LINEARPOSITIONCNTR_HIGH 0x000203C +#define ACP_I2S_TX_LINEARPOSITIONCNTR_LOW 0x0002040 +#define ACP_I2S_TX_INTR_WATERMARK_SIZE 0x0002044 +#define ACP_BT_RX_RINGBUFADDR 0x0002048 +#define ACP_BT_RX_RINGBUFSIZE 0x000204C +#define ACP_BT_RX_LINKPOSITIONCNTR 0x0002050 +#define ACP_BT_RX_FIFOADDR 0x0002054 +#define ACP_BT_RX_FIFOSIZE 0x0002058 +#define ACP_BT_RX_DMA_SIZE 0x000205C +#define ACP_BT_RX_LINEARPOSITIONCNTR_HIGH 0x0002060 +#define ACP_BT_RX_LINEARPOSITIONCNTR_LOW 0x0002064 +#define ACP_BT_RX_INTR_WATERMARK_SIZE 0x0002068 +#define ACP_BT_TX_RINGBUFADDR 0x000206C +#define ACP_BT_TX_RINGBUFSIZE 0x0002070 +#define ACP_BT_TX_LINKPOSITIONCNTR 0x0002074 +#define ACP_BT_TX_FIFOADDR 0x0002078 +#define ACP_BT_TX_FIFOSIZE 0x000207C +#define ACP_BT_TX_DMA_SIZE 0x0002080 +#define ACP_BT_TX_LINEARPOSITIONCNTR_HIGH 0x0002084 +#define ACP_BT_TX_LINEARPOSITIONCNTR_LOW 0x0002088 +#define ACP_BT_TX_INTR_WATERMARK_SIZE 0x000208C +#define ACP_HS_RX_RINGBUFADDR 0x0002090 +#define ACP_HS_RX_RINGBUFSIZE 0x0002094 +#define ACP_HS_RX_LINKPOSITIONCNTR 0x0002098 +#define ACP_HS_RX_FIFOADDR 0x000209C +#define ACP_HS_RX_FIFOSIZE 0x00020A0 +#define ACP_HS_RX_DMA_SIZE 0x00020A4 +#define ACP_HS_RX_LINEARPOSITIONCNTR_HIGH 0x00020A8 +#define ACP_HS_RX_LINEARPOSITIONCNTR_LOW 0x00020AC +#define ACP_HS_RX_INTR_WATERMARK_SIZE 0x00020B0 +#define ACP_HS_TX_RINGBUFADDR 0x00020B4 +#define ACP_HS_TX_RINGBUFSIZE 0x00020B8 +#define ACP_HS_TX_LINKPOSITIONCNTR 0x00020BC +#define ACP_HS_TX_FIFOADDR 0x00020C0 +#define ACP_HS_TX_FIFOSIZE 0x00020C4 +#define ACP_HS_TX_DMA_SIZE 0x00020C8 +#define ACP_HS_TX_LINEARPOSITIONCNTR_HIGH 0x00020CC +#define ACP_HS_TX_LINEARPOSITIONCNTR_LOW 0x00020D0 +#define ACP_HS_TX_INTR_WATERMARK_SIZE 0x00020D4 + +/* Registers from ACP_I2S_TDM block */ +#define ACP_I2STDM_IER 0x0002400 +#define ACP_I2STDM_IRER 0x0002404 +#define ACP_I2STDM_RXFRMT 0x0002408 +#define ACP_I2STDM_ITER 0x000240C +#define ACP_I2STDM_TXFRMT 0x0002410 +#define ACP_I2STDM0_MSTRCLKGEN 0x0002414 +#define ACP_I2STDM1_MSTRCLKGEN 0x0002418 +#define ACP_I2STDM2_MSTRCLKGEN 0x000241C +#define ACP_I2STDM_REFCLKGEN 0x0002420 + +/* Registers from ACP_BT_TDM block */ +#define ACP_BTTDM_IER 0x0002800 +#define ACP_BTTDM_IRER 0x0002804 +#define ACP_BTTDM_RXFRMT 0x0002808 +#define ACP_BTTDM_ITER 0x000280C +#define ACP_BTTDM_TXFRMT 0x0002810 +#define ACP_HSTDM_IER 0x0002814 +#define ACP_HSTDM_IRER 0x0002818 +#define ACP_HSTDM_RXFRMT 0x000281C +#define ACP_HSTDM_ITER 0x0002820 +#define ACP_HSTDM_TXFRMT 0x0002824 + +/* Registers from ACP_WOV block */ +#define ACP_WOV_PDM_ENABLE 0x0002C04 +#define ACP_WOV_PDM_DMA_ENABLE 0x0002C08 +#define ACP_WOV_RX_RINGBUFADDR 0x0002C0C +#define ACP_WOV_RX_RINGBUFSIZE 0x0002C10 +#define ACP_WOV_RX_LINKPOSITIONCNTR 0x0002C14 +#define ACP_WOV_RX_LINEARPOSITIONCNTR_HIGH 0x0002C18 +#define ACP_WOV_RX_LINEARPOSITIONCNTR_LOW 0x0002C1C +#define ACP_WOV_RX_INTR_WATERMARK_SIZE 0x0002C20 +#define ACP_WOV_PDM_FIFO_FLUSH 0x0002C24 +#define ACP_WOV_PDM_NO_OF_CHANNELS 0x0002C28 +#define ACP_WOV_PDM_DECIMATION_FACTOR 0x0002C2C +#define ACP_WOV_PDM_VAD_CTRL 0x0002C30 +#define ACP_WOV_WAKE 0x0002C54 +#define ACP_WOV_BUFFER_STATUS 0x0002C58 +#define ACP_WOV_MISC_CTRL 0x0002C5C +#define ACP_WOV_CLK_CTRL 0x0002C60 +#define ACP_PDM_VAD_DYNAMIC_CLK_GATING_EN 0x0002C64 +#define ACP_WOV_ERROR_STATUS_REGISTER 0x0002C68 +#define ACP_PDM_CLKDIV 0x0002C6C + +/* Registers from ACP_P1_AUDIO_BUFFERS block */ +#define ACP_P1_I2S_RX_RINGBUFADDR 0x0003A00 +#define ACP_P1_I2S_RX_RINGBUFSIZE 0x0003A04 +#define ACP_P1_I2S_RX_LINKPOSITIONCNTR 0x0003A08 +#define ACP_P1_I2S_RX_FIFOADDR 0x0003A0C +#define ACP_P1_I2S_RX_FIFOSIZE 0x0003A10 +#define ACP_P1_I2S_RX_DMA_SIZE 0x0003A14 +#define ACP_P1_I2S_RX_LINEARPOSITIONCNTR_HIGH 0x0003A18 +#define ACP_P1_I2S_RX_LINEARPOSITIONCNTR_LOW 0x0003A1C +#define ACP_P1_I2S_RX_INTR_WATERMARK_SIZE 0x0003A20 +#define ACP_P1_I2S_TX_RINGBUFADDR 0x0003A24 +#define ACP_P1_I2S_TX_RINGBUFSIZE 0x0003A28 +#define ACP_P1_I2S_TX_LINKPOSITIONCNTR 0x0003A2C +#define ACP_P1_I2S_TX_FIFOADDR 0x0003A30 +#define ACP_P1_I2S_TX_FIFOSIZE 0x0003A34 +#define ACP_P1_I2S_TX_DMA_SIZE 0x0003A38 +#define ACP_P1_I2S_TX_LINEARPOSITIONCNTR_HIGH 0x0003A3C +#define ACP_P1_I2S_TX_LINEARPOSITIONCNTR_LOW 0x0003A40 +#define ACP_P1_I2S_TX_INTR_WATERMARK_SIZE 0x0003A44 +#define ACP_P1_BT_RX_RINGBUFADDR 0x0003A48 +#define ACP_P1_BT_RX_RINGBUFSIZE 0x0003A4C +#define ACP_P1_BT_RX_LINKPOSITIONCNTR 0x0003A50 +#define ACP_P1_BT_RX_FIFOADDR 0x0003A54 +#define ACP_P1_BT_RX_FIFOSIZE 0x0003A58 +#define ACP_P1_BT_RX_DMA_SIZE 0x0003A5C +#define ACP_P1_BT_RX_LINEARPOSITIONCNTR_HIGH 0x0003A60 +#define ACP_P1_BT_RX_LINEARPOSITIONCNTR_LOW 0x0003A64 +#define ACP_P1_BT_RX_INTR_WATERMARK_SIZE 0x0003A68 +#define ACP_P1_BT_TX_RINGBUFADDR 0x0003A6C +#define ACP_P1_BT_TX_RINGBUFSIZE 0x0003A70 +#define ACP_P1_BT_TX_LINKPOSITIONCNTR 0x0003A74 +#define ACP_P1_BT_TX_FIFOADDR 0x0003A78 +#define ACP_P1_BT_TX_FIFOSIZE 0x0003A7C +#define ACP_P1_BT_TX_DMA_SIZE 0x0003A80 +#define ACP_P1_BT_TX_LINEARPOSITIONCNTR_HIGH 0x0003A84 +#define ACP_P1_BT_TX_LINEARPOSITIONCNTR_LOW 0x0003A88 +#define ACP_P1_BT_TX_INTR_WATERMARK_SIZE 0x0003A8C +#define ACP_P1_HS_RX_RINGBUFADDR 0x0003A90 +#define ACP_P1_HS_RX_RINGBUFSIZE 0x0003A94 +#define ACP_P1_HS_RX_LINKPOSITIONCNTR 0x0003A98 +#define ACP_P1_HS_RX_FIFOADDR 0x0003A9C +#define ACP_P1_HS_RX_FIFOSIZE 0x0003AA0 +#define ACP_P1_HS_RX_DMA_SIZE 0x0003AA4 +#define ACP_P1_HS_RX_LINEARPOSITIONCNTR_HIGH 0x0003AA8 +#define ACP_P1_HS_RX_LINEARPOSITIONCNTR_LOW 0x0003AAC +#define ACP_P1_HS_RX_INTR_WATERMARK_SIZE 0x0003AB0 +#define ACP_P1_HS_TX_RINGBUFADDR 0x0003AB4 +#define ACP_P1_HS_TX_RINGBUFSIZE 0x0003AB8 +#define ACP_P1_HS_TX_LINKPOSITIONCNTR 0x0003ABC +#define ACP_P1_HS_TX_FIFOADDR 0x0003AC0 +#define ACP_P1_HS_TX_FIFOSIZE 0x0003AC4 +#define ACP_P1_HS_TX_DMA_SIZE 0x0003AC8 +#define ACP_P1_HS_TX_LINEARPOSITIONCNTR_HIGH 0x0003ACC +#define ACP_P1_HS_TX_LINEARPOSITIONCNTR_LOW 0x0003AD0 +#define ACP_P1_HS_TX_INTR_WATERMARK_SIZE 0x0003AD4 + +/* Registers from ACP_SCRATCH block */ +#define ACP_SCRATCH_REG_0 0x0010000 +#define ACP_SCRATCH_REG_1 0x0010004 +#define ACP_SCRATCH_REG_2 0x0010008 +#define ACP_SCRATCH_REG_3 0x001000C +#define ACP_SCRATCH_REG_4 0x0010010 +#define ACP_SCRATCH_REG_5 0x0010014 +#define ACP_SCRATCH_REG_6 0x0010018 +#define ACP_SCRATCH_REG_7 0x001001C +#define ACP_SCRATCH_REG_8 0x0010020 +#define ACP_SCRATCH_REG_9 0x0010024 +#define ACP_SCRATCH_REG_10 0x0010028 +#define ACP_SCRATCH_REG_11 0x001002C +#define ACP_SCRATCH_REG_12 0x0010030 +#define ACP_SCRATCH_REG_13 0x0010034 +#define ACP_SCRATCH_REG_14 0x0010038 +#define ACP_SCRATCH_REG_15 0x001003C +#define ACP_SCRATCH_REG_16 0x0010040 +#define ACP_SCRATCH_REG_17 0x0010044 +#define ACP_SCRATCH_REG_18 0x0010048 +#define ACP_SCRATCH_REG_19 0x001004C +#define ACP_SCRATCH_REG_20 0x0010050 +#define ACP_SCRATCH_REG_21 0x0010054 +#define ACP_SCRATCH_REG_22 0x0010058 +#define ACP_SCRATCH_REG_23 0x001005C +#define ACP_SCRATCH_REG_24 0x0010060 +#define ACP_SCRATCH_REG_25 0x0010064 +#define ACP_SCRATCH_REG_26 0x0010068 +#define ACP_SCRATCH_REG_27 0x001006C +#define ACP_SCRATCH_REG_28 0x0010070 +#define ACP_SCRATCH_REG_29 0x0010074 +#define ACP_SCRATCH_REG_30 0x0010078 +#define ACP_SCRATCH_REG_31 0x001007C +#define ACP_SCRATCH_REG_32 0x0010080 +#define ACP_SCRATCH_REG_33 0x0010084 +#define ACP_SCRATCH_REG_34 0x0010088 +#define ACP_SCRATCH_REG_35 0x001008C +#define ACP_SCRATCH_REG_36 0x0010090 +#define ACP_SCRATCH_REG_37 0x0010094 +#define ACP_SCRATCH_REG_38 0x0010098 +#define ACP_SCRATCH_REG_39 0x001009C +#define ACP_SCRATCH_REG_40 0x00100A0 +#define ACP_SCRATCH_REG_41 0x00100A4 +#define ACP_SCRATCH_REG_42 0x00100A8 +#define ACP_SCRATCH_REG_43 0x00100AC +#define ACP_SCRATCH_REG_44 0x00100B0 +#define ACP_SCRATCH_REG_45 0x00100B4 +#define ACP_SCRATCH_REG_46 0x00100B8 +#define ACP_SCRATCH_REG_47 0x00100BC +#define ACP_SCRATCH_REG_48 0x00100C0 +#define ACP_SCRATCH_REG_49 0x00100C4 +#define ACP_SCRATCH_REG_50 0x00100C8 +#define ACP_SCRATCH_REG_51 0x00100CC +#define ACP_SCRATCH_REG_52 0x00100D0 +#define ACP_SCRATCH_REG_53 0x00100D4 +#define ACP_SCRATCH_REG_54 0x00100D8 +#define ACP_SCRATCH_REG_55 0x00100DC +#define ACP_SCRATCH_REG_56 0x00100E0 +#define ACP_SCRATCH_REG_57 0x00100E4 +#define ACP_SCRATCH_REG_58 0x00100E8 +#define ACP_SCRATCH_REG_59 0x00100EC +#define ACP_SCRATCH_REG_60 0x00100F0 +#define ACP_SCRATCH_REG_61 0x00100F4 +#define ACP_SCRATCH_REG_62 0x00100F8 +#define ACP_SCRATCH_REG_63 0x00100FC +#define ACP_SCRATCH_REG_64 0x0010100 +#define ACP_SCRATCH_REG_65 0x0010104 +#define ACP_SCRATCH_REG_66 0x0010108 +#define ACP_SCRATCH_REG_67 0x001010C +#define ACP_SCRATCH_REG_68 0x0010110 +#define ACP_SCRATCH_REG_69 0x0010114 +#define ACP_SCRATCH_REG_70 0x0010118 +#define ACP_SCRATCH_REG_71 0x001011C +#define ACP_SCRATCH_REG_72 0x0010120 +#define ACP_SCRATCH_REG_73 0x0010124 +#define ACP_SCRATCH_REG_74 0x0010128 +#define ACP_SCRATCH_REG_75 0x001012C +#define ACP_SCRATCH_REG_76 0x0010130 +#define ACP_SCRATCH_REG_77 0x0010134 +#define ACP_SCRATCH_REG_78 0x0010138 +#define ACP_SCRATCH_REG_79 0x001013C +#define ACP_SCRATCH_REG_80 0x0010140 +#define ACP_SCRATCH_REG_81 0x0010144 +#define ACP_SCRATCH_REG_82 0x0010148 +#define ACP_SCRATCH_REG_83 0x001014C +#define ACP_SCRATCH_REG_84 0x0010150 +#define ACP_SCRATCH_REG_85 0x0010154 +#define ACP_SCRATCH_REG_86 0x0010158 +#define ACP_SCRATCH_REG_87 0x001015C +#define ACP_SCRATCH_REG_88 0x0010160 +#define ACP_SCRATCH_REG_89 0x0010164 +#define ACP_SCRATCH_REG_90 0x0010168 +#define ACP_SCRATCH_REG_91 0x001016C +#define ACP_SCRATCH_REG_92 0x0010170 +#define ACP_SCRATCH_REG_93 0x0010174 +#define ACP_SCRATCH_REG_94 0x0010178 +#define ACP_SCRATCH_REG_95 0x001017C +#define ACP_SCRATCH_REG_96 0x0010180 +#define ACP_SCRATCH_REG_97 0x0010184 +#define ACP_SCRATCH_REG_98 0x0010188 +#define ACP_SCRATCH_REG_99 0x001018C +#define ACP_SCRATCH_REG_100 0x0010190 +#define ACP_SCRATCH_REG_101 0x0010194 +#define ACP_SCRATCH_REG_102 0x0010198 +#define ACP_SCRATCH_REG_103 0x001019C +#define ACP_SCRATCH_REG_104 0x00101A0 +#define ACP_SCRATCH_REG_105 0x00101A4 +#define ACP_SCRATCH_REG_106 0x00101A8 +#define ACP_SCRATCH_REG_107 0x00101AC +#define ACP_SCRATCH_REG_108 0x00101B0 +#define ACP_SCRATCH_REG_109 0x00101B4 +#define ACP_SCRATCH_REG_110 0x00101B8 +#define ACP_SCRATCH_REG_111 0x00101BC +#define ACP_SCRATCH_REG_112 0x00101C0 +#define ACP_SCRATCH_REG_113 0x00101C4 +#define ACP_SCRATCH_REG_114 0x00101C8 +#define ACP_SCRATCH_REG_115 0x00101CC +#define ACP_SCRATCH_REG_116 0x00101D0 +#define ACP_SCRATCH_REG_117 0x00101D4 +#define ACP_SCRATCH_REG_118 0x00101D8 +#define ACP_SCRATCH_REG_119 0x00101DC +#define ACP_SCRATCH_REG_120 0x00101E0 +#define ACP_SCRATCH_REG_121 0x00101E4 +#define ACP_SCRATCH_REG_122 0x00101E8 +#define ACP_SCRATCH_REG_123 0x00101EC +#define ACP_SCRATCH_REG_124 0x00101F0 +#define ACP_SCRATCH_REG_125 0x00101F4 +#define ACP_SCRATCH_REG_126 0x00101F8 +#define ACP_SCRATCH_REG_127 0x00101FC +#define ACP_SCRATCH_REG_128 0x0010200 +#endif --- linux-gcp-5.19.0.orig/include/sound/control.h +++ linux-gcp-5.19.0/include/sound/control.h @@ -109,7 +109,7 @@ int preferred_subdevice[SND_CTL_SUBDEV_ITEMS]; wait_queue_head_t change_sleep; spinlock_t read_lock; - struct fasync_struct *fasync; + struct snd_fasync *fasync; int subscribed; /* read interface is activated */ struct list_head events; /* waiting events for read */ }; --- linux-gcp-5.19.0.orig/include/sound/core.h +++ linux-gcp-5.19.0/include/sound/core.h @@ -501,4 +501,12 @@ } #endif +/* async signal helpers */ +struct snd_fasync; + +int snd_fasync_helper(int fd, struct file *file, int on, + struct snd_fasync **fasyncp); +void snd_kill_fasync(struct snd_fasync *fasync, int signal, int poll); +void snd_fasync_free(struct snd_fasync *fasync); + #endif /* __SOUND_CORE_H */ --- linux-gcp-5.19.0.orig/include/sound/cs35l41.h +++ linux-gcp-5.19.0/include/sound/cs35l41.h @@ -665,6 +665,10 @@ #define CS35L41_BST_EN_DEFAULT 0x2 #define CS35L41_AMP_EN_SHIFT 0 #define CS35L41_AMP_EN_MASK 1 +#define CS35L41_VMON_EN_MASK 0x1000 +#define CS35L41_VMON_EN_SHIFT 12 +#define CS35L41_IMON_EN_MASK 0x2000 +#define CS35L41_IMON_EN_SHIFT 13 #define CS35L41_PDN_DONE_MASK 0x00800000 #define CS35L41_PDN_DONE_SHIFT 23 @@ -881,6 +885,9 @@ int cs35l41_set_cspl_mbox_cmd(struct device *dev, struct regmap *regmap, enum cs35l41_cspl_mbox_cmd cmd); int cs35l41_write_fs_errata(struct device *dev, struct regmap *regmap); +int cs35l41_enter_hibernate(struct device *dev, struct regmap *regmap, + enum cs35l41_boost_type b_type); +int cs35l41_exit_hibernate(struct device *dev, struct regmap *regmap); int cs35l41_init_boost(struct device *dev, struct regmap *regmap, struct cs35l41_hw_cfg *hw_cfg); bool cs35l41_safe_reset(struct regmap *regmap, enum cs35l41_boost_type b_type); --- linux-gcp-5.19.0.orig/include/sound/hda_codec.h +++ linux-gcp-5.19.0/include/sound/hda_codec.h @@ -260,6 +260,8 @@ unsigned int relaxed_resume:1; /* don't resume forcibly for jack */ unsigned int forced_resume:1; /* forced resume for jack */ unsigned int mst_no_extra_pcms:1; /* no backup PCMs for DP-MST */ + unsigned int no_stream_clean_at_suspend:1; /* do not clean streams at suspend */ + unsigned int ctl_dev_id:1; /* old control element id build behaviour */ #ifdef CONFIG_PM unsigned long power_on_acct; --- linux-gcp-5.19.0.orig/include/sound/hdaudio.h +++ linux-gcp-5.19.0/include/sound/hdaudio.h @@ -561,6 +561,7 @@ void snd_hdac_stream_start(struct hdac_stream *azx_dev, bool fresh_start); void snd_hdac_stream_clear(struct hdac_stream *azx_dev); void snd_hdac_stream_stop(struct hdac_stream *azx_dev); +void snd_hdac_stop_streams(struct hdac_bus *bus); void snd_hdac_stop_streams_and_chip(struct hdac_bus *bus); void snd_hdac_stream_reset(struct hdac_stream *azx_dev); void snd_hdac_stream_sync_trigger(struct hdac_stream *azx_dev, bool set, --- linux-gcp-5.19.0.orig/include/sound/memalloc.h +++ linux-gcp-5.19.0/include/sound/memalloc.h @@ -26,9 +26,6 @@ struct device *dev; /* generic device */ }; -#define snd_dma_continuous_data(x) ((struct device *)(__force unsigned long)(x)) - - /* * buffer types */ --- linux-gcp-5.19.0.orig/include/sound/pcm.h +++ linux-gcp-5.19.0/include/sound/pcm.h @@ -106,24 +106,24 @@ #define SNDRV_PCM_POS_XRUN ((snd_pcm_uframes_t)-1) /* If you change this don't forget to change rates[] table in pcm_native.c */ -#define SNDRV_PCM_RATE_5512 (1<<0) /* 5512Hz */ -#define SNDRV_PCM_RATE_8000 (1<<1) /* 8000Hz */ -#define SNDRV_PCM_RATE_11025 (1<<2) /* 11025Hz */ -#define SNDRV_PCM_RATE_16000 (1<<3) /* 16000Hz */ -#define SNDRV_PCM_RATE_22050 (1<<4) /* 22050Hz */ -#define SNDRV_PCM_RATE_32000 (1<<5) /* 32000Hz */ -#define SNDRV_PCM_RATE_44100 (1<<6) /* 44100Hz */ -#define SNDRV_PCM_RATE_48000 (1<<7) /* 48000Hz */ -#define SNDRV_PCM_RATE_64000 (1<<8) /* 64000Hz */ -#define SNDRV_PCM_RATE_88200 (1<<9) /* 88200Hz */ -#define SNDRV_PCM_RATE_96000 (1<<10) /* 96000Hz */ -#define SNDRV_PCM_RATE_176400 (1<<11) /* 176400Hz */ -#define SNDRV_PCM_RATE_192000 (1<<12) /* 192000Hz */ -#define SNDRV_PCM_RATE_352800 (1<<13) /* 352800Hz */ -#define SNDRV_PCM_RATE_384000 (1<<14) /* 384000Hz */ +#define SNDRV_PCM_RATE_5512 (1U<<0) /* 5512Hz */ +#define SNDRV_PCM_RATE_8000 (1U<<1) /* 8000Hz */ +#define SNDRV_PCM_RATE_11025 (1U<<2) /* 11025Hz */ +#define SNDRV_PCM_RATE_16000 (1U<<3) /* 16000Hz */ +#define SNDRV_PCM_RATE_22050 (1U<<4) /* 22050Hz */ +#define SNDRV_PCM_RATE_32000 (1U<<5) /* 32000Hz */ +#define SNDRV_PCM_RATE_44100 (1U<<6) /* 44100Hz */ +#define SNDRV_PCM_RATE_48000 (1U<<7) /* 48000Hz */ +#define SNDRV_PCM_RATE_64000 (1U<<8) /* 64000Hz */ +#define SNDRV_PCM_RATE_88200 (1U<<9) /* 88200Hz */ +#define SNDRV_PCM_RATE_96000 (1U<<10) /* 96000Hz */ +#define SNDRV_PCM_RATE_176400 (1U<<11) /* 176400Hz */ +#define SNDRV_PCM_RATE_192000 (1U<<12) /* 192000Hz */ +#define SNDRV_PCM_RATE_352800 (1U<<13) /* 352800Hz */ +#define SNDRV_PCM_RATE_384000 (1U<<14) /* 384000Hz */ -#define SNDRV_PCM_RATE_CONTINUOUS (1<<30) /* continuous range */ -#define SNDRV_PCM_RATE_KNOT (1<<31) /* supports more non-continuos rates */ +#define SNDRV_PCM_RATE_CONTINUOUS (1U<<30) /* continuous range */ +#define SNDRV_PCM_RATE_KNOT (1U<<31) /* supports more non-continuos rates */ #define SNDRV_PCM_RATE_8000_44100 (SNDRV_PCM_RATE_8000|SNDRV_PCM_RATE_11025|\ SNDRV_PCM_RATE_16000|SNDRV_PCM_RATE_22050|\ @@ -399,7 +399,7 @@ snd_pcm_uframes_t twake; /* do transfer (!poll) wakeup if non-zero */ wait_queue_head_t sleep; /* poll sleep */ wait_queue_head_t tsleep; /* transfer sleep */ - struct fasync_struct *fasync; + struct snd_fasync *fasync; bool stop_operating; /* sync_stop will be called */ struct mutex buffer_mutex; /* protect for buffer changes */ atomic_t buffer_accessing; /* >0: in r/w operation, <0: blocked */ --- linux-gcp-5.19.0.orig/include/sound/soc-acpi-intel-match.h +++ linux-gcp-5.19.0/include/sound/soc-acpi-intel-match.h @@ -30,6 +30,8 @@ extern struct snd_soc_acpi_mach snd_soc_acpi_intel_ehl_machines[]; extern struct snd_soc_acpi_mach snd_soc_acpi_intel_jsl_machines[]; extern struct snd_soc_acpi_mach snd_soc_acpi_intel_adl_machines[]; +extern struct snd_soc_acpi_mach snd_soc_acpi_intel_rpl_machines[]; +extern struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_machines[]; extern struct snd_soc_acpi_mach snd_soc_acpi_intel_cnl_sdw_machines[]; extern struct snd_soc_acpi_mach snd_soc_acpi_intel_cfl_sdw_machines[]; @@ -37,6 +39,8 @@ extern struct snd_soc_acpi_mach snd_soc_acpi_intel_icl_sdw_machines[]; extern struct snd_soc_acpi_mach snd_soc_acpi_intel_tgl_sdw_machines[]; extern struct snd_soc_acpi_mach snd_soc_acpi_intel_adl_sdw_machines[]; +extern struct snd_soc_acpi_mach snd_soc_acpi_intel_rpl_sdw_machines[]; +extern struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_sdw_machines[]; /* * generic table used for HDA codec-based platforms, possibly with --- linux-gcp-5.19.0.orig/include/sound/soc-dapm.h +++ linux-gcp-5.19.0/include/sound/soc-dapm.h @@ -16,6 +16,7 @@ #include struct device; +struct snd_pcm_substream; struct snd_soc_pcm_runtime; struct soc_enum; --- linux-gcp-5.19.0.orig/include/sound/sof/info.h +++ linux-gcp-5.19.0/include/sound/sof/info.h @@ -36,6 +36,10 @@ SOF_IPC_EXT_USER_ABI_INFO = 4, }; +/* Build u32 number in format MMmmmppp */ +#define SOF_FW_VER(MAJOR, MINOR, PATCH) ((uint32_t)( \ + ((MAJOR) << 24) | ((MINOR) << 12) | (PATCH))) + /* FW version - SOF_IPC_GLB_VERSION */ struct sof_ipc_fw_version { struct sof_ipc_hdr hdr; --- linux-gcp-5.19.0.orig/include/trace/events/btrfs.h +++ linux-gcp-5.19.0/include/trace/events/btrfs.h @@ -97,7 +97,7 @@ EM( FLUSH_DELALLOC_WAIT, "FLUSH_DELALLOC_WAIT") \ EM( FLUSH_DELALLOC_FULL, "FLUSH_DELALLOC_FULL") \ EM( FLUSH_DELAYED_REFS_NR, "FLUSH_DELAYED_REFS_NR") \ - EM( FLUSH_DELAYED_REFS, "FLUSH_ELAYED_REFS") \ + EM( FLUSH_DELAYED_REFS, "FLUSH_DELAYED_REFS") \ EM( ALLOC_CHUNK, "ALLOC_CHUNK") \ EM( ALLOC_CHUNK_FORCE, "ALLOC_CHUNK_FORCE") \ EM( RUN_DELAYED_IPUTS, "RUN_DELAYED_IPUTS") \ --- linux-gcp-5.19.0.orig/include/trace/events/ext4.h +++ linux-gcp-5.19.0/include/trace/events/ext4.h @@ -104,6 +104,7 @@ TRACE_DEFINE_ENUM(EXT4_FC_REASON_RENAME_DIR); TRACE_DEFINE_ENUM(EXT4_FC_REASON_FALLOC_RANGE); TRACE_DEFINE_ENUM(EXT4_FC_REASON_INODE_JOURNAL_DATA); +TRACE_DEFINE_ENUM(EXT4_FC_REASON_ENCRYPTED_FILENAME); TRACE_DEFINE_ENUM(EXT4_FC_REASON_MAX); #define show_fc_reason(reason) \ @@ -116,7 +117,8 @@ { EXT4_FC_REASON_RESIZE, "RESIZE"}, \ { EXT4_FC_REASON_RENAME_DIR, "RENAME_DIR"}, \ { EXT4_FC_REASON_FALLOC_RANGE, "FALLOC_RANGE"}, \ - { EXT4_FC_REASON_INODE_JOURNAL_DATA, "INODE_JOURNAL_DATA"}) + { EXT4_FC_REASON_INODE_JOURNAL_DATA, "INODE_JOURNAL_DATA"}, \ + { EXT4_FC_REASON_ENCRYPTED_FILENAME, "ENCRYPTED_FILENAME"}) TRACE_EVENT(ext4_other_inode_update_time, TP_PROTO(struct inode *inode, ino_t orig_ino), @@ -2764,7 +2766,7 @@ ), TP_printk("dev %d,%d fc ineligible reasons:\n" - "%s:%u, %s:%u, %s:%u, %s:%u, %s:%u, %s:%u, %s:%u, %s:%u, %s:%u " + "%s:%u, %s:%u, %s:%u, %s:%u, %s:%u, %s:%u, %s:%u, %s:%u, %s:%u, %s:%u" "num_commits:%lu, ineligible: %lu, numblks: %lu", MAJOR(__entry->dev), MINOR(__entry->dev), FC_REASON_NAME_STAT(EXT4_FC_REASON_XATTR), @@ -2776,6 +2778,7 @@ FC_REASON_NAME_STAT(EXT4_FC_REASON_RENAME_DIR), FC_REASON_NAME_STAT(EXT4_FC_REASON_FALLOC_RANGE), FC_REASON_NAME_STAT(EXT4_FC_REASON_INODE_JOURNAL_DATA), + FC_REASON_NAME_STAT(EXT4_FC_REASON_ENCRYPTED_FILENAME), __entry->fc_commits, __entry->fc_ineligible_commits, __entry->fc_numblks) ); --- linux-gcp-5.19.0.orig/include/trace/events/f2fs.h +++ linux-gcp-5.19.0/include/trace/events/f2fs.h @@ -322,7 +322,7 @@ __field(ino_t, ino) __field(loff_t, size) __field(blkcnt_t, blocks) - __field(const char *, name) + __string(name, dentry->d_name.name) ), TP_fast_assign( @@ -330,7 +330,7 @@ __entry->ino = dir->i_ino; __entry->size = dir->i_size; __entry->blocks = dir->i_blocks; - __entry->name = dentry->d_name.name; + __assign_str(name, dentry->d_name.name); ), TP_printk("dev = (%d,%d), dir ino = %lu, i_size = %lld, " @@ -338,7 +338,7 @@ show_dev_ino(__entry), __entry->size, (unsigned long long)__entry->blocks, - __entry->name) + __get_str(name)) ); DEFINE_EVENT(f2fs__inode_exit, f2fs_unlink_exit, @@ -940,25 +940,29 @@ TP_STRUCT__entry( __field(dev_t, dev) __field(ino_t, ino) - __field(struct kiocb *, iocb) + __field(loff_t, ki_pos) + __field(int, ki_flags) + __field(u16, ki_ioprio) __field(unsigned long, len) __field(int, rw) ), TP_fast_assign( - __entry->dev = inode->i_sb->s_dev; - __entry->ino = inode->i_ino; - __entry->iocb = iocb; - __entry->len = len; - __entry->rw = rw; + __entry->dev = inode->i_sb->s_dev; + __entry->ino = inode->i_ino; + __entry->ki_pos = iocb->ki_pos; + __entry->ki_flags = iocb->ki_flags; + __entry->ki_ioprio = iocb->ki_ioprio; + __entry->len = len; + __entry->rw = rw; ), TP_printk("dev = (%d,%d), ino = %lu pos = %lld len = %lu ki_flags = %x ki_ioprio = %x rw = %d", show_dev_ino(__entry), - __entry->iocb->ki_pos, + __entry->ki_pos, __entry->len, - __entry->iocb->ki_flags, - __entry->iocb->ki_ioprio, + __entry->ki_flags, + __entry->ki_ioprio, __entry->rw) ); @@ -1407,19 +1411,19 @@ TP_STRUCT__entry( __field(dev_t, dev) __field(int, reason) - __field(char *, msg) + __string(dest_msg, msg) ), TP_fast_assign( __entry->dev = sb->s_dev; __entry->reason = reason; - __entry->msg = msg; + __assign_str(dest_msg, msg); ), TP_printk("dev = (%d,%d), checkpoint for %s, state = %s", show_dev(__entry->dev), show_cpreason(__entry->reason), - __entry->msg) + __get_str(dest_msg)) ); DECLARE_EVENT_CLASS(f2fs_discard, --- linux-gcp-5.19.0.orig/include/trace/events/fscache.h +++ linux-gcp-5.19.0/include/trace/events/fscache.h @@ -65,6 +65,7 @@ fscache_cookie_put_work, fscache_cookie_see_active, fscache_cookie_see_lru_discard, + fscache_cookie_see_lru_discard_clear, fscache_cookie_see_lru_do_one, fscache_cookie_see_relinquish, fscache_cookie_see_withdraw, @@ -147,6 +148,7 @@ EM(fscache_cookie_put_work, "PQ work ") \ EM(fscache_cookie_see_active, "- activ") \ EM(fscache_cookie_see_lru_discard, "- x-lru") \ + EM(fscache_cookie_see_lru_discard_clear,"- lrudc") \ EM(fscache_cookie_see_lru_do_one, "- lrudo") \ EM(fscache_cookie_see_relinquish, "- x-rlq") \ EM(fscache_cookie_see_withdraw, "- x-wth") \ --- linux-gcp-5.19.0.orig/include/trace/events/ib_mad.h +++ linux-gcp-5.19.0/include/trace/events/ib_mad.h @@ -49,7 +49,6 @@ __field(int, retries_left) __field(int, max_retries) __field(int, retry) - __field(u16, pkey) ), TP_fast_assign( @@ -89,7 +88,7 @@ "hdr : base_ver 0x%x class 0x%x class_ver 0x%x " \ "method 0x%x status 0x%x class_specific 0x%x tid 0x%llx " \ "attr_id 0x%x attr_mod 0x%x => dlid 0x%08x sl %d "\ - "pkey 0x%x rpqn 0x%x rqpkey 0x%x", + "rpqn 0x%x rqpkey 0x%x", __entry->dev_index, __entry->port_num, __entry->qp_num, __entry->agent_priv, be64_to_cpu(__entry->wrtid), __entry->retries_left, __entry->max_retries, @@ -100,7 +99,7 @@ be16_to_cpu(__entry->class_specific), be64_to_cpu(__entry->tid), be16_to_cpu(__entry->attr_id), be32_to_cpu(__entry->attr_mod), - be32_to_cpu(__entry->dlid), __entry->sl, __entry->pkey, + be32_to_cpu(__entry->dlid), __entry->sl, __entry->rqpn, __entry->rqkey ) ); @@ -204,7 +203,6 @@ __field(u16, wc_status) __field(u32, slid) __field(u32, dev_index) - __field(u16, pkey) ), TP_fast_assign( @@ -224,9 +222,6 @@ __entry->slid = wc->slid; __entry->src_qp = wc->src_qp; __entry->sl = wc->sl; - ib_query_pkey(qp_info->port_priv->device, - qp_info->port_priv->port_num, - wc->pkey_index, &__entry->pkey); __entry->wc_status = wc->status; ), @@ -234,7 +229,7 @@ "base_ver 0x%02x class 0x%02x class_ver 0x%02x " \ "method 0x%02x status 0x%04x class_specific 0x%04x " \ "tid 0x%016llx attr_id 0x%04x attr_mod 0x%08x " \ - "slid 0x%08x src QP%d, sl %d pkey 0x%04x", + "slid 0x%08x src QP%d, sl %d", __entry->dev_index, __entry->port_num, __entry->qp_num, __entry->wc_status, __entry->length, @@ -244,7 +239,7 @@ be16_to_cpu(__entry->class_specific), be64_to_cpu(__entry->tid), be16_to_cpu(__entry->attr_id), be32_to_cpu(__entry->attr_mod), - __entry->slid, __entry->src_qp, __entry->sl, __entry->pkey + __entry->slid, __entry->src_qp, __entry->sl ) ); --- linux-gcp-5.19.0.orig/include/trace/events/io_uring.h +++ linux-gcp-5.19.0/include/trace/events/io_uring.h @@ -622,7 +622,7 @@ __entry->ocqe = ocqe; ), - TP_printk("ring %p, user_data 0x%llx, res %d, flags %x, " + TP_printk("ring %p, user_data 0x%llx, res %d, cflags 0x%x, " "overflow_cqe %p", __entry->ctx, __entry->user_data, __entry->res, __entry->cflags, __entry->ocqe) --- linux-gcp-5.19.0.orig/include/trace/events/jbd2.h +++ linux-gcp-5.19.0/include/trace/events/jbd2.h @@ -40,7 +40,7 @@ TP_STRUCT__entry( __field( dev_t, dev ) __field( char, sync_commit ) - __field( int, transaction ) + __field( tid_t, transaction ) ), TP_fast_assign( @@ -49,7 +49,7 @@ __entry->transaction = commit_transaction->t_tid; ), - TP_printk("dev %d,%d transaction %d sync %d", + TP_printk("dev %d,%d transaction %u sync %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->transaction, __entry->sync_commit) ); @@ -97,8 +97,8 @@ TP_STRUCT__entry( __field( dev_t, dev ) __field( char, sync_commit ) - __field( int, transaction ) - __field( int, head ) + __field( tid_t, transaction ) + __field( tid_t, head ) ), TP_fast_assign( @@ -108,7 +108,7 @@ __entry->head = journal->j_tail_sequence; ), - TP_printk("dev %d,%d transaction %d sync %d head %d", + TP_printk("dev %d,%d transaction %u sync %d head %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->transaction, __entry->sync_commit, __entry->head) ); @@ -134,14 +134,14 @@ ); DECLARE_EVENT_CLASS(jbd2_handle_start_class, - TP_PROTO(dev_t dev, unsigned long tid, unsigned int type, + TP_PROTO(dev_t dev, tid_t tid, unsigned int type, unsigned int line_no, int requested_blocks), TP_ARGS(dev, tid, type, line_no, requested_blocks), TP_STRUCT__entry( __field( dev_t, dev ) - __field( unsigned long, tid ) + __field( tid_t, tid ) __field( unsigned int, type ) __field( unsigned int, line_no ) __field( int, requested_blocks) @@ -155,28 +155,28 @@ __entry->requested_blocks = requested_blocks; ), - TP_printk("dev %d,%d tid %lu type %u line_no %u " + TP_printk("dev %d,%d tid %u type %u line_no %u " "requested_blocks %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->tid, __entry->type, __entry->line_no, __entry->requested_blocks) ); DEFINE_EVENT(jbd2_handle_start_class, jbd2_handle_start, - TP_PROTO(dev_t dev, unsigned long tid, unsigned int type, + TP_PROTO(dev_t dev, tid_t tid, unsigned int type, unsigned int line_no, int requested_blocks), TP_ARGS(dev, tid, type, line_no, requested_blocks) ); DEFINE_EVENT(jbd2_handle_start_class, jbd2_handle_restart, - TP_PROTO(dev_t dev, unsigned long tid, unsigned int type, + TP_PROTO(dev_t dev, tid_t tid, unsigned int type, unsigned int line_no, int requested_blocks), TP_ARGS(dev, tid, type, line_no, requested_blocks) ); TRACE_EVENT(jbd2_handle_extend, - TP_PROTO(dev_t dev, unsigned long tid, unsigned int type, + TP_PROTO(dev_t dev, tid_t tid, unsigned int type, unsigned int line_no, int buffer_credits, int requested_blocks), @@ -184,7 +184,7 @@ TP_STRUCT__entry( __field( dev_t, dev ) - __field( unsigned long, tid ) + __field( tid_t, tid ) __field( unsigned int, type ) __field( unsigned int, line_no ) __field( int, buffer_credits ) @@ -200,7 +200,7 @@ __entry->requested_blocks = requested_blocks; ), - TP_printk("dev %d,%d tid %lu type %u line_no %u " + TP_printk("dev %d,%d tid %u type %u line_no %u " "buffer_credits %d requested_blocks %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->tid, __entry->type, __entry->line_no, __entry->buffer_credits, @@ -208,7 +208,7 @@ ); TRACE_EVENT(jbd2_handle_stats, - TP_PROTO(dev_t dev, unsigned long tid, unsigned int type, + TP_PROTO(dev_t dev, tid_t tid, unsigned int type, unsigned int line_no, int interval, int sync, int requested_blocks, int dirtied_blocks), @@ -217,7 +217,7 @@ TP_STRUCT__entry( __field( dev_t, dev ) - __field( unsigned long, tid ) + __field( tid_t, tid ) __field( unsigned int, type ) __field( unsigned int, line_no ) __field( int, interval ) @@ -237,7 +237,7 @@ __entry->dirtied_blocks = dirtied_blocks; ), - TP_printk("dev %d,%d tid %lu type %u line_no %u interval %d " + TP_printk("dev %d,%d tid %u type %u line_no %u interval %d " "sync %d requested_blocks %d dirtied_blocks %d", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->tid, __entry->type, __entry->line_no, __entry->interval, @@ -246,14 +246,14 @@ ); TRACE_EVENT(jbd2_run_stats, - TP_PROTO(dev_t dev, unsigned long tid, + TP_PROTO(dev_t dev, tid_t tid, struct transaction_run_stats_s *stats), TP_ARGS(dev, tid, stats), TP_STRUCT__entry( __field( dev_t, dev ) - __field( unsigned long, tid ) + __field( tid_t, tid ) __field( unsigned long, wait ) __field( unsigned long, request_delay ) __field( unsigned long, running ) @@ -279,7 +279,7 @@ __entry->blocks_logged = stats->rs_blocks_logged; ), - TP_printk("dev %d,%d tid %lu wait %u request_delay %u running %u " + TP_printk("dev %d,%d tid %u wait %u request_delay %u running %u " "locked %u flushing %u logging %u handle_count %u " "blocks %u blocks_logged %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->tid, @@ -294,14 +294,14 @@ ); TRACE_EVENT(jbd2_checkpoint_stats, - TP_PROTO(dev_t dev, unsigned long tid, + TP_PROTO(dev_t dev, tid_t tid, struct transaction_chp_stats_s *stats), TP_ARGS(dev, tid, stats), TP_STRUCT__entry( __field( dev_t, dev ) - __field( unsigned long, tid ) + __field( tid_t, tid ) __field( unsigned long, chp_time ) __field( __u32, forced_to_close ) __field( __u32, written ) @@ -317,7 +317,7 @@ __entry->dropped = stats->cs_dropped; ), - TP_printk("dev %d,%d tid %lu chp_time %u forced_to_close %u " + TP_printk("dev %d,%d tid %u chp_time %u forced_to_close %u " "written %u dropped %u", MAJOR(__entry->dev), MINOR(__entry->dev), __entry->tid, jiffies_to_msecs(__entry->chp_time), --- linux-gcp-5.19.0.orig/include/trace/events/spmi.h +++ linux-gcp-5.19.0/include/trace/events/spmi.h @@ -21,15 +21,15 @@ __field ( u8, sid ) __field ( u16, addr ) __field ( u8, len ) - __dynamic_array ( u8, buf, len + 1 ) + __dynamic_array ( u8, buf, len ) ), TP_fast_assign( __entry->opcode = opcode; __entry->sid = sid; __entry->addr = addr; - __entry->len = len + 1; - memcpy(__get_dynamic_array(buf), buf, len + 1); + __entry->len = len; + memcpy(__get_dynamic_array(buf), buf, len); ), TP_printk("opc=%d sid=%02d addr=0x%04x len=%d buf=0x[%*phD]", @@ -92,7 +92,7 @@ __field ( u16, addr ) __field ( int, ret ) __field ( u8, len ) - __dynamic_array ( u8, buf, len + 1 ) + __dynamic_array ( u8, buf, len ) ), TP_fast_assign( @@ -100,8 +100,8 @@ __entry->sid = sid; __entry->addr = addr; __entry->ret = ret; - __entry->len = len + 1; - memcpy(__get_dynamic_array(buf), buf, len + 1); + __entry->len = len; + memcpy(__get_dynamic_array(buf), buf, len); ), TP_printk("opc=%d sid=%02d addr=0x%04x ret=%d len=%02d buf=0x[%*phD]", --- linux-gcp-5.19.0.orig/include/trace/stages/stage1_struct_define.h +++ linux-gcp-5.19.0/include/trace/stages/stage1_struct_define.h @@ -26,6 +26,9 @@ #undef __string_len #define __string_len(item, src, len) __dynamic_array(char, item, -1) +#undef __vstring +#define __vstring(item, fmt, ap) __dynamic_array(char, item, -1) + #undef __bitmask #define __bitmask(item, nr_bits) __dynamic_array(char, item, -1) --- linux-gcp-5.19.0.orig/include/trace/stages/stage2_data_offsets.h +++ linux-gcp-5.19.0/include/trace/stages/stage2_data_offsets.h @@ -32,6 +32,9 @@ #undef __string_len #define __string_len(item, src, len) __dynamic_array(char, item, -1) +#undef __vstring +#define __vstring(item, fmt, ap) __dynamic_array(char, item, -1) + #undef __bitmask #define __bitmask(item, nr_bits) __dynamic_array(unsigned long, item, -1) --- linux-gcp-5.19.0.orig/include/trace/stages/stage4_event_fields.h +++ linux-gcp-5.19.0/include/trace/stages/stage4_event_fields.h @@ -2,16 +2,18 @@ /* Stage 4 definitions for creating trace events */ +#define ALIGN_STRUCTFIELD(type) ((int)(offsetof(struct {char a; type b;}, b))) + #undef __field_ext #define __field_ext(_type, _item, _filter_type) { \ .type = #_type, .name = #_item, \ - .size = sizeof(_type), .align = __alignof__(_type), \ + .size = sizeof(_type), .align = ALIGN_STRUCTFIELD(_type), \ .is_signed = is_signed_type(_type), .filter_type = _filter_type }, #undef __field_struct_ext #define __field_struct_ext(_type, _item, _filter_type) { \ .type = #_type, .name = #_item, \ - .size = sizeof(_type), .align = __alignof__(_type), \ + .size = sizeof(_type), .align = ALIGN_STRUCTFIELD(_type), \ 0, .filter_type = _filter_type }, #undef __field @@ -23,8 +25,9 @@ #undef __array #define __array(_type, _item, _len) { \ .type = #_type"["__stringify(_len)"]", .name = #_item, \ - .size = sizeof(_type[_len]), .align = __alignof__(_type), \ - .is_signed = is_signed_type(_type), .filter_type = FILTER_OTHER }, + .size = sizeof(_type[_len]), .align = ALIGN_STRUCTFIELD(_type), \ + .is_signed = is_signed_type(_type), .filter_type = FILTER_OTHER,\ + .len = _len }, #undef __dynamic_array #define __dynamic_array(_type, _item, _len) { \ @@ -38,6 +41,9 @@ #undef __string_len #define __string_len(item, src, len) __dynamic_array(char, item, -1) +#undef __vstring +#define __vstring(item, fmt, ap) __dynamic_array(char, item, -1) + #undef __bitmask #define __bitmask(item, nr_bits) __dynamic_array(unsigned long, item, -1) --- linux-gcp-5.19.0.orig/include/trace/stages/stage5_get_offsets.h +++ linux-gcp-5.19.0/include/trace/stages/stage5_get_offsets.h @@ -39,6 +39,10 @@ #undef __string_len #define __string_len(item, src, len) __dynamic_array(char, item, (len) + 1) +#undef __vstring +#define __vstring(item, fmt, ap) __dynamic_array(char, item, \ + __trace_event_vstr_len(fmt, ap)) + #undef __rel_dynamic_array #define __rel_dynamic_array(type, item, len) \ __item_length = (len) * sizeof(type); \ --- linux-gcp-5.19.0.orig/include/trace/stages/stage6_event_callback.h +++ linux-gcp-5.19.0/include/trace/stages/stage6_event_callback.h @@ -24,6 +24,9 @@ #undef __string_len #define __string_len(item, src, len) __dynamic_array(char, item, -1) +#undef __vstring +#define __vstring(item, fmt, ap) __dynamic_array(char, item, -1) + #undef __assign_str #define __assign_str(dst, src) \ strcpy(__get_str(dst), (src) ? (const char *)(src) : "(null)"); @@ -35,6 +38,15 @@ __get_str(dst)[len] = '\0'; \ } while(0) +#undef __assign_vstr +#define __assign_vstr(dst, fmt, va) \ + do { \ + va_list __cp_va; \ + va_copy(__cp_va, *(va)); \ + vsnprintf(__get_str(dst), TRACE_EVENT_STR_MAX, fmt, __cp_va); \ + va_end(__cp_va); \ + } while (0) + #undef __bitmask #define __bitmask(item, nr_bits) __dynamic_array(unsigned long, item, -1) --- linux-gcp-5.19.0.orig/include/uapi/asm-generic/fcntl.h +++ linux-gcp-5.19.0/include/uapi/asm-generic/fcntl.h @@ -116,13 +116,11 @@ #define F_GETSIG 11 /* for sockets. */ #endif -#if __BITS_PER_LONG == 32 || defined(__KERNEL__) #ifndef F_GETLK64 #define F_GETLK64 12 /* using 'struct flock64' */ #define F_SETLK64 13 #define F_SETLKW64 14 #endif -#endif /* __BITS_PER_LONG == 32 || defined(__KERNEL__) */ #ifndef F_SETOWN_EX #define F_SETOWN_EX 15 --- linux-gcp-5.19.0.orig/include/uapi/drm/virtgpu_drm.h +++ linux-gcp-5.19.0/include/uapi/drm/virtgpu_drm.h @@ -64,6 +64,7 @@ __u32 pad; }; +/* fence_fd is modified on success if VIRTGPU_EXECBUF_FENCE_FD_OUT flag is set. */ struct drm_virtgpu_execbuffer { __u32 flags; __u32 size; --- linux-gcp-5.19.0.orig/include/uapi/linux/atm_zatm.h +++ linux-gcp-5.19.0/include/uapi/linux/atm_zatm.h @@ -0,0 +1,47 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* atm_zatm.h - Driver-specific declarations of the ZATM driver (for use by + driver-specific utilities) */ + +/* Written 1995-1999 by Werner Almesberger, EPFL LRC/ICA */ + + +#ifndef LINUX_ATM_ZATM_H +#define LINUX_ATM_ZATM_H + +/* + * Note: non-kernel programs including this file must also include + * sys/types.h for struct timeval + */ + +#include +#include + +#define ZATM_GETPOOL _IOW('a',ATMIOC_SARPRV+1,struct atmif_sioc) + /* get pool statistics */ +#define ZATM_GETPOOLZ _IOW('a',ATMIOC_SARPRV+2,struct atmif_sioc) + /* get statistics and zero */ +#define ZATM_SETPOOL _IOW('a',ATMIOC_SARPRV+3,struct atmif_sioc) + /* set pool parameters */ + +struct zatm_pool_info { + int ref_count; /* free buffer pool usage counters */ + int low_water,high_water; /* refill parameters */ + int rqa_count,rqu_count; /* queue condition counters */ + int offset,next_off; /* alignment optimizations: offset */ + int next_cnt,next_thres; /* repetition counter and threshold */ +}; + +struct zatm_pool_req { + int pool_num; /* pool number */ + struct zatm_pool_info info; /* actual information */ +}; + +#define ZATM_OAM_POOL 0 /* free buffer pool for OAM cells */ +#define ZATM_AAL0_POOL 1 /* free buffer pool for AAL0 cells */ +#define ZATM_AAL5_POOL_BASE 2 /* first AAL5 free buffer pool */ +#define ZATM_LAST_POOL ZATM_AAL5_POOL_BASE+10 /* max. 64 kB */ + +#define ZATM_TIMER_HISTORY_SIZE 16 /* number of timer adjustments to + record; must be 2^n */ + +#endif --- linux-gcp-5.19.0.orig/include/uapi/linux/audit.h +++ linux-gcp-5.19.0/include/uapi/linux/audit.h @@ -143,6 +143,8 @@ #define AUDIT_MAC_UNLBL_STCDEL 1417 /* NetLabel: del a static label */ #define AUDIT_MAC_CALIPSO_ADD 1418 /* NetLabel: add CALIPSO DOI entry */ #define AUDIT_MAC_CALIPSO_DEL 1419 /* NetLabel: del CALIPSO DOI entry */ +#define AUDIT_MAC_TASK_CONTEXTS 1420 /* Multiple LSM task contexts */ +#define AUDIT_MAC_OBJ_CONTEXTS 1421 /* Multiple LSM objext contexts */ #define AUDIT_FIRST_KERN_ANOM_MSG 1700 #define AUDIT_LAST_KERN_ANOM_MSG 1799 @@ -187,7 +189,7 @@ #define AUDIT_MAX_KEY_LEN 256 #define AUDIT_BITMASK_SIZE 64 #define AUDIT_WORD(nr) ((__u32)((nr)/32)) -#define AUDIT_BIT(nr) (1 << ((nr) - AUDIT_WORD(nr)*32)) +#define AUDIT_BIT(nr) (1U << ((nr) - AUDIT_WORD(nr)*32)) #define AUDIT_SYSCALL_CLASSES 16 #define AUDIT_CLASS_DIR_WRITE 0 --- linux-gcp-5.19.0.orig/include/uapi/linux/can/error.h +++ linux-gcp-5.19.0/include/uapi/linux/can/error.h @@ -120,6 +120,9 @@ #define CAN_ERR_TRX_CANL_SHORT_TO_GND 0x70 /* 0111 0000 */ #define CAN_ERR_TRX_CANL_SHORT_TO_CANH 0x80 /* 1000 0000 */ -/* controller specific additional information / data[5..7] */ +/* data[5] is reserved (do not use) */ + +/* TX error counter / data[6] */ +/* RX error counter / data[7] */ #endif /* _UAPI_CAN_ERROR_H */ --- linux-gcp-5.19.0.orig/include/uapi/linux/capability.h +++ linux-gcp-5.19.0/include/uapi/linux/capability.h @@ -426,7 +426,7 @@ */ #define CAP_TO_INDEX(x) ((x) >> 5) /* 1 << 5 == bits in __u32 */ -#define CAP_TO_MASK(x) (1 << ((x) & 31)) /* mask for indexed __u32 */ +#define CAP_TO_MASK(x) (1U << ((x) & 31)) /* mask for indexed __u32 */ #endif /* _UAPI_LINUX_CAPABILITY_H */ --- linux-gcp-5.19.0.orig/include/uapi/linux/dm-ioctl.h +++ linux-gcp-5.19.0/include/uapi/linux/dm-ioctl.h @@ -286,9 +286,9 @@ #define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl) #define DM_VERSION_MAJOR 4 -#define DM_VERSION_MINOR 46 +#define DM_VERSION_MINOR 47 #define DM_VERSION_PATCHLEVEL 0 -#define DM_VERSION_EXTRA "-ioctl (2022-02-22)" +#define DM_VERSION_EXTRA "-ioctl (2022-07-28)" /* Status bits */ #define DM_READONLY_FLAG (1 << 0) /* In/Out */ --- linux-gcp-5.19.0.orig/include/uapi/linux/eventpoll.h +++ linux-gcp-5.19.0/include/uapi/linux/eventpoll.h @@ -41,6 +41,12 @@ #define EPOLLMSG (__force __poll_t)0x00000400 #define EPOLLRDHUP (__force __poll_t)0x00002000 +/* + * Internal flag - wakeup generated by io_uring, used to detect recursion back + * into the io_uring poll handler. + */ +#define EPOLL_URING_WAKE ((__force __poll_t)(1U << 27)) + /* Set exclusive wakeup mode for the target file descriptor */ #define EPOLLEXCLUSIVE ((__force __poll_t)(1U << 28)) --- linux-gcp-5.19.0.orig/include/uapi/linux/f2fs.h +++ linux-gcp-5.19.0/include/uapi/linux/f2fs.h @@ -13,7 +13,7 @@ #define F2FS_IOC_COMMIT_ATOMIC_WRITE _IO(F2FS_IOCTL_MAGIC, 2) #define F2FS_IOC_START_VOLATILE_WRITE _IO(F2FS_IOCTL_MAGIC, 3) #define F2FS_IOC_RELEASE_VOLATILE_WRITE _IO(F2FS_IOCTL_MAGIC, 4) -#define F2FS_IOC_ABORT_VOLATILE_WRITE _IO(F2FS_IOCTL_MAGIC, 5) +#define F2FS_IOC_ABORT_ATOMIC_WRITE _IO(F2FS_IOCTL_MAGIC, 5) #define F2FS_IOC_GARBAGE_COLLECT _IOW(F2FS_IOCTL_MAGIC, 6, __u32) #define F2FS_IOC_WRITE_CHECKPOINT _IO(F2FS_IOCTL_MAGIC, 7) #define F2FS_IOC_DEFRAGMENT _IOWR(F2FS_IOCTL_MAGIC, 8, \ --- linux-gcp-5.19.0.orig/include/uapi/linux/idxd.h +++ linux-gcp-5.19.0/include/uapi/linux/idxd.h @@ -29,6 +29,7 @@ IDXD_SCMD_WQ_NO_SIZE = 0x800e0000, IDXD_SCMD_WQ_NO_PRIV = 0x800f0000, IDXD_SCMD_WQ_IRQ_ERR = 0x80100000, + IDXD_SCMD_WQ_USER_NO_IOMMU = 0x80110000, }; #define IDXD_SCMD_SOFTERR_MASK 0x80000000 @@ -294,7 +295,7 @@ }; uint32_t delta_rec_size; - uint32_t crc_val; + uint64_t crc_val; /* DIF check & strip */ struct { --- linux-gcp-5.19.0.orig/include/uapi/linux/if_link.h +++ linux-gcp-5.19.0/include/uapi/linux/if_link.h @@ -816,6 +816,7 @@ IFLA_VXLAN_TTL_INHERIT, IFLA_VXLAN_DF, IFLA_VXLAN_VNIFILTER, /* only applicable with COLLECT_METADATA mode */ + IFLA_VXLAN_FAN_MAP = 33, __IFLA_VXLAN_MAX }; #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) --- linux-gcp-5.19.0.orig/include/uapi/linux/if_tunnel.h +++ linux-gcp-5.19.0/include/uapi/linux/if_tunnel.h @@ -77,6 +77,10 @@ IFLA_IPTUN_ENCAP_DPORT, IFLA_IPTUN_COLLECT_METADATA, IFLA_IPTUN_FWMARK, + + __IFLA_IPTUN_VENDOR_BREAK, /* Ensure new entries do not hit the below. */ + IFLA_IPTUN_FAN_MAP = 33, + __IFLA_IPTUN_MAX, }; #define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1) @@ -182,4 +186,19 @@ (TUNNEL_GENEVE_OPT | TUNNEL_VXLAN_OPT | TUNNEL_ERSPAN_OPT | \ TUNNEL_GTP_OPT) +enum { + IFLA_FAN_UNSPEC, + IFLA_FAN_MAPPING, + __IFLA_FAN_MAX, +}; + +#define IFLA_FAN_MAX (__IFLA_FAN_MAX - 1) + +struct ifla_fan_map { + __be32 underlay; + __be32 overlay; + __u16 underlay_prefix; + __u16 overlay_prefix; +}; + #endif /* _UAPI_IF_TUNNEL_H_ */ --- linux-gcp-5.19.0.orig/include/uapi/linux/io_uring.h +++ linux-gcp-5.19.0/include/uapi/linux/io_uring.h @@ -516,7 +516,7 @@ __u16 resv3; __u16 tail; }; - struct io_uring_buf bufs[0]; + __DECLARE_FLEX_ARRAY(struct io_uring_buf, bufs); }; }; --- linux-gcp-5.19.0.orig/include/uapi/linux/ip.h +++ linux-gcp-5.19.0/include/uapi/linux/ip.h @@ -18,6 +18,7 @@ #ifndef _UAPI_LINUX_IP_H #define _UAPI_LINUX_IP_H #include +#include #include #define IPTOS_TOS_MASK 0x1E @@ -100,8 +101,10 @@ __u8 ttl; __u8 protocol; __sum16 check; - __be32 saddr; - __be32 daddr; + __struct_group(/* no tag */, addrs, /* no attrs */, + __be32 saddr; + __be32 daddr; + ); /*The options start here. */ }; --- linux-gcp-5.19.0.orig/include/uapi/linux/ipv6.h +++ linux-gcp-5.19.0/include/uapi/linux/ipv6.h @@ -4,6 +4,7 @@ #include #include +#include #include #include @@ -130,8 +131,10 @@ __u8 nexthdr; __u8 hop_limit; - struct in6_addr saddr; - struct in6_addr daddr; + __struct_group(/* no tag */, addrs, /* no attrs */, + struct in6_addr saddr; + struct in6_addr daddr; + ); }; --- linux-gcp-5.19.0.orig/include/uapi/linux/kvm.h +++ linux-gcp-5.19.0/include/uapi/linux/kvm.h @@ -1157,6 +1157,8 @@ #define KVM_CAP_VM_TSC_CONTROL 214 #define KVM_CAP_SYSTEM_EVENT_DATA 215 #define KVM_CAP_ARM_SYSTEM_SUSPEND 216 +#define KVM_CAP_S390_PROTECTED_DUMP 217 +#define KVM_CAP_S390_ZPCI_OP 221 #ifdef KVM_CAP_IRQ_ROUTING @@ -1660,6 +1662,55 @@ __u64 tweak; }; +enum pv_cmd_dmp_id { + KVM_PV_DUMP_INIT, + KVM_PV_DUMP_CONFIG_STOR_STATE, + KVM_PV_DUMP_COMPLETE, + KVM_PV_DUMP_CPU, +}; + +struct kvm_s390_pv_dmp { + __u64 subcmd; + __u64 buff_addr; + __u64 buff_len; + __u64 gaddr; /* For dump storage state */ + __u64 reserved[4]; +}; + +enum pv_cmd_info_id { + KVM_PV_INFO_VM, + KVM_PV_INFO_DUMP, +}; + +struct kvm_s390_pv_info_dump { + __u64 dump_cpu_buffer_len; + __u64 dump_config_mem_buffer_per_1m; + __u64 dump_config_finalize_len; +}; + +struct kvm_s390_pv_info_vm { + __u64 inst_calls_list[4]; + __u64 max_cpus; + __u64 max_guests; + __u64 max_guest_addr; + __u64 feature_indication; +}; + +struct kvm_s390_pv_info_header { + __u32 id; + __u32 len_max; + __u32 len_written; + __u32 reserved; +}; + +struct kvm_s390_pv_info { + struct kvm_s390_pv_info_header header; + union { + struct kvm_s390_pv_info_dump dump; + struct kvm_s390_pv_info_vm vm; + }; +}; + enum pv_cmd_id { KVM_PV_ENABLE, KVM_PV_DISABLE, @@ -1668,6 +1719,8 @@ KVM_PV_VERIFY, KVM_PV_PREP_RESET, KVM_PV_UNSHARE_ALL, + KVM_PV_INFO, + KVM_PV_DUMP, }; struct kvm_pv_cmd { @@ -2119,4 +2172,37 @@ /* Available with KVM_CAP_XSAVE2 */ #define KVM_GET_XSAVE2 _IOR(KVMIO, 0xcf, struct kvm_xsave) +/* Available with KVM_CAP_S390_ZPCI_OP */ +#define KVM_S390_ZPCI_OP _IOW(KVMIO, 0xd1, struct kvm_s390_zpci_op) + +struct kvm_s390_zpci_op { + /* in */ + __u32 fh; /* target device */ + __u8 op; /* operation to perform */ + __u8 pad[3]; + union { + /* for KVM_S390_ZPCIOP_REG_AEN */ + struct { + __u64 ibv; /* Guest addr of interrupt bit vector */ + __u64 sb; /* Guest addr of summary bit */ + __u32 flags; + __u32 noi; /* Number of interrupts */ + __u8 isc; /* Guest interrupt subclass */ + __u8 sbo; /* Offset of guest summary bit vector */ + __u16 pad; + } reg_aen; + __u64 reserved[8]; + } u; +}; + +/* types for kvm_s390_zpci_op->op */ +#define KVM_S390_ZPCIOP_REG_AEN 0 +#define KVM_S390_ZPCIOP_DEREG_AEN 1 + +/* flags for kvm_s390_zpci_op->u.reg_aen.flags */ +#define KVM_S390_ZPCIOP_REGAEN_HOST (1 << 0) + +/* Available with KVM_CAP_S390_PROTECTED_DUMP */ +#define KVM_S390_PV_CPU_COMMAND _IOWR(KVMIO, 0xd0, struct kvm_pv_cmd) + #endif /* __LINUX_KVM_H */ --- linux-gcp-5.19.0.orig/include/uapi/linux/magic.h +++ linux-gcp-5.19.0/include/uapi/linux/magic.h @@ -106,4 +106,6 @@ #define PPC_CMM_MAGIC 0xc7571590 #define SECRETMEM_MAGIC 0x5345434d /* "SECM" */ +#define SHIFTFS_MAGIC 0x6a656a62 + #endif /* __LINUX_MAGIC_H__ */ --- linux-gcp-5.19.0.orig/include/uapi/linux/netfilter/nf_conntrack_sctp.h +++ linux-gcp-5.19.0/include/uapi/linux/netfilter/nf_conntrack_sctp.h @@ -15,7 +15,7 @@ SCTP_CONNTRACK_SHUTDOWN_RECD, SCTP_CONNTRACK_SHUTDOWN_ACK_SENT, SCTP_CONNTRACK_HEARTBEAT_SENT, - SCTP_CONNTRACK_HEARTBEAT_ACKED, + SCTP_CONNTRACK_HEARTBEAT_ACKED, /* no longer used */ SCTP_CONNTRACK_MAX }; --- linux-gcp-5.19.0.orig/include/uapi/linux/netfilter/nfnetlink_cttimeout.h +++ linux-gcp-5.19.0/include/uapi/linux/netfilter/nfnetlink_cttimeout.h @@ -94,7 +94,7 @@ CTA_TIMEOUT_SCTP_SHUTDOWN_RECD, CTA_TIMEOUT_SCTP_SHUTDOWN_ACK_SENT, CTA_TIMEOUT_SCTP_HEARTBEAT_SENT, - CTA_TIMEOUT_SCTP_HEARTBEAT_ACKED, + CTA_TIMEOUT_SCTP_HEARTBEAT_ACKED, /* no longer used */ __CTA_TIMEOUT_SCTP_MAX }; #define CTA_TIMEOUT_SCTP_MAX (__CTA_TIMEOUT_SCTP_MAX - 1) --- linux-gcp-5.19.0.orig/include/uapi/linux/netfilter/xt_IDLETIMER.h +++ linux-gcp-5.19.0/include/uapi/linux/netfilter/xt_IDLETIMER.h @@ -1,6 +1,5 @@ +/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ /* - * linux/include/linux/netfilter/xt_IDLETIMER.h - * * Header file for Xtables timer target module. * * Copyright (C) 2004, 2010 Nokia Corporation @@ -10,20 +9,6 @@ * by Luciano Coelho * * Contact: Luciano Coelho - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * version 2 as published by the Free Software Foundation. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA - * 02110-1301 USA */ #ifndef _XT_IDLETIMER_H --- linux-gcp-5.19.0.orig/include/uapi/linux/nl80211.h +++ linux-gcp-5.19.0/include/uapi/linux/nl80211.h @@ -324,6 +324,17 @@ */ /** + * DOC: Multi-Link Operation + * + * In Multi-Link Operation, a connection between to MLDs utilizes multiple + * links. To use this in nl80211, various commands and responses now need + * to or will include the new %NL80211_ATTR_MLO_LINKS attribute. + * Additionally, various commands that need to operate on a specific link + * now need to be given the %NL80211_ATTR_MLO_LINK_ID attribute, e.g. to + * use %NL80211_CMD_START_AP or similar functions. + */ + +/** * enum nl80211_commands - supported nl80211 commands * * @NL80211_CMD_UNSPEC: unspecified command to catch errors @@ -1237,6 +1248,12 @@ * to describe the BSSID address of the AP and %NL80211_ATTR_TIMEOUT to * specify the timeout value. * + * @NL80211_CMD_ADD_LINK: Add a new link to an interface. The + * %NL80211_ATTR_MLO_LINK_ID attribute is used for the new link. + * @NL80211_CMD_REMOVE_LINK: Remove a link from an interface. This may come + * without %NL80211_ATTR_MLO_LINK_ID as an easy way to remove all links + * in preparation for e.g. roaming to a regular (non-MLO) AP. + * * @NL80211_CMD_MAX: highest used command number * @__NL80211_CMD_AFTER_LAST: internal use */ @@ -1481,6 +1498,9 @@ NL80211_CMD_ASSOC_COMEBACK, + NL80211_CMD_ADD_LINK, + NL80211_CMD_REMOVE_LINK, + /* add new commands above here */ /* used to define NL80211_CMD_MAX below */ @@ -2663,6 +2683,11 @@ * association request when used with NL80211_CMD_NEW_STATION). Can be set * only if %NL80211_STA_FLAG_WME is set. * + * @NL80211_ATTR_MLO_LINK_ID: A (u8) link ID for use with MLO, to be used with + * various commands that need a link ID to operate. + * @NL80211_ATTR_MLO_LINKS: A nested array of links, each containing some + * per-link information and a link ID. + * * @NUM_NL80211_ATTR: total number of nl80211_attrs available * @NL80211_ATTR_MAX: highest attribute number currently defined * @__NL80211_ATTR_AFTER_LAST: internal use @@ -3177,6 +3202,9 @@ NL80211_ATTR_DISABLE_EHT, + NL80211_ATTR_MLO_LINKS, + NL80211_ATTR_MLO_LINK_ID, + /* add attributes here, update the policy in nl80211.c */ __NL80211_ATTR_AFTER_LAST, --- linux-gcp-5.19.0.orig/include/uapi/linux/rfkill.h +++ linux-gcp-5.19.0/include/uapi/linux/rfkill.h @@ -159,16 +159,8 @@ * old behaviour for all userspace, unless it explicitly opts in to the * rules outlined here by using the new &struct rfkill_event_ext. * - * Additionally, some other userspace (bluez, g-s-d) was reading with a - * large size but as streaming reads rather than message-based, or with - * too strict checks for the returned size. So eventually, we completely - * reverted this, and extended messages need to be opted in to by using - * an ioctl: - * - * ioctl(fd, RFKILL_IOCTL_MAX_SIZE, sizeof(struct rfkill_event_ext)); - * - * Userspace using &struct rfkill_event_ext and the ioctl must adhere to - * the following rules: + * Userspace using &struct rfkill_event_ext must adhere to the following + * rules * * 1. accept short writes, optionally using them to detect that it's * running on an older kernel; @@ -183,8 +175,6 @@ #define RFKILL_IOC_MAGIC 'R' #define RFKILL_IOC_NOINPUT 1 #define RFKILL_IOCTL_NOINPUT _IO(RFKILL_IOC_MAGIC, RFKILL_IOC_NOINPUT) -#define RFKILL_IOC_MAX_SIZE 2 -#define RFKILL_IOCTL_MAX_SIZE _IOW(RFKILL_IOC_MAGIC, RFKILL_IOC_MAX_SIZE, __u32) /* and that's all userspace gets */ --- linux-gcp-5.19.0.orig/include/uapi/linux/swab.h +++ linux-gcp-5.19.0/include/uapi/linux/swab.h @@ -3,7 +3,7 @@ #define _UAPI_LINUX_SWAB_H #include -#include +#include #include #include --- linux-gcp-5.19.0.orig/include/uapi/linux/sysctl.h +++ linux-gcp-5.19.0/include/uapi/linux/sysctl.h @@ -153,7 +153,7 @@ KERN_NMI_WATCHDOG=75, /* int: enable/disable nmi watchdog */ KERN_PANIC_ON_NMI=76, /* int: whether we will panic on an unrecovered */ KERN_PANIC_ON_WARN=77, /* int: call panic() in WARN() functions */ - KERN_PANIC_PRINT=78, /* ulong: bitmask to print system info on panic */ + KERN_PANIC_PRINT=78, /* unsigned long: bitmask to print system info on panic */ }; --- linux-gcp-5.19.0.orig/include/uapi/linux/tdx-guest.h +++ linux-gcp-5.19.0/include/uapi/linux/tdx-guest.h @@ -0,0 +1,42 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* + * Userspace interface for TDX guest driver + * + * Copyright (C) 2022 Intel Corporation + */ + +#ifndef _UAPI_LINUX_TDX_GUEST_H_ +#define _UAPI_LINUX_TDX_GUEST_H_ + +#include +#include + +/* Length of the REPORTDATA used in TDG.MR.REPORT TDCALL */ +#define TDX_REPORTDATA_LEN 64 + +/* Length of TDREPORT used in TDG.MR.REPORT TDCALL */ +#define TDX_REPORT_LEN 1024 + +/** + * struct tdx_report_req - Request struct for TDX_CMD_GET_REPORT0 IOCTL. + * + * @reportdata: User buffer with REPORTDATA to be included into TDREPORT. + * Typically it can be some nonce provided by attestation + * service, so the generated TDREPORT can be uniquely verified. + * @tdreport: User buffer to store TDREPORT output from TDCALL[TDG.MR.REPORT]. + */ +struct tdx_report_req { + __u8 reportdata[TDX_REPORTDATA_LEN]; + __u8 tdreport[TDX_REPORT_LEN]; +}; + +/* + * TDX_CMD_GET_REPORT0 - Get TDREPORT0 (a.k.a. TDREPORT subtype 0) using + * TDCALL[TDG.MR.REPORT] + * + * Return 0 on success, -EIO on TDCALL execution failure, and + * standard errno on other general error cases. + */ +#define TDX_CMD_GET_REPORT0 _IOWR('T', 1, struct tdx_report_req) + +#endif /* _UAPI_LINUX_TDX_GUEST_H_ */ --- linux-gcp-5.19.0.orig/include/uapi/linux/tty_flags.h +++ linux-gcp-5.19.0/include/uapi/linux/tty_flags.h @@ -32,6 +32,7 @@ #define ASYNCB_AUTOPROBE 15 /* [x] Port was autoprobed by PCI/PNP code */ #define ASYNCB_MAGIC_MULTIPLIER 16 /* Use special CLK or divisor */ #define ASYNCB_LAST_USER 16 +#define ASYNCB_INITIALIZED 31 /* Serial port was initialized */ /* * Internal flags used only by kernel (read-only) @@ -40,7 +41,6 @@ * TTY_PORT_ flags in the iflags field (and not userspace-visible) */ #ifndef __KERNEL__ -#define ASYNCB_INITIALIZED 31 /* Serial port was initialized */ #define ASYNCB_SUSPENDED 30 /* Serial port is suspended */ #define ASYNCB_NORMAL_ACTIVE 29 /* Normal device is active */ #define ASYNCB_BOOT_AUTOCONF 28 /* Autoconfigure port on bootup */ --- linux-gcp-5.19.0.orig/include/uapi/linux/vfio.h +++ linux-gcp-5.19.0/include/uapi/linux/vfio.h @@ -49,7 +49,11 @@ /* Supports VFIO_DMA_UNMAP_FLAG_ALL */ #define VFIO_UNMAP_ALL 9 -/* Supports the vaddr flag for DMA map and unmap */ +/* + * Supports the vaddr flag for DMA map and unmap. Not supported for mediated + * devices, so this capability is subject to change as groups are added or + * removed. + */ #define VFIO_UPDATE_VADDR 10 /* @@ -1073,8 +1077,7 @@ * Map process virtual addresses to IO virtual addresses using the * provided struct vfio_dma_map. Caller sets argsz. READ &/ WRITE required. * - * If flags & VFIO_DMA_MAP_FLAG_VADDR, update the base vaddr for iova, and - * unblock translation of host virtual addresses in the iova range. The vaddr + * If flags & VFIO_DMA_MAP_FLAG_VADDR, update the base vaddr for iova. The vaddr * must have previously been invalidated with VFIO_DMA_UNMAP_FLAG_VADDR. To * maintain memory consistency within the user application, the updated vaddr * must address the same memory object as originally mapped. Failure to do so @@ -1125,9 +1128,9 @@ * must be 0. This cannot be combined with the get-dirty-bitmap flag. * * If flags & VFIO_DMA_UNMAP_FLAG_VADDR, do not unmap, but invalidate host - * virtual addresses in the iova range. Tasks that attempt to translate an - * iova's vaddr will block. DMA to already-mapped pages continues. This - * cannot be combined with the get-dirty-bitmap flag. + * virtual addresses in the iova range. DMA to already-mapped pages continues. + * Groups may not be added to the container while any addresses are invalid. + * This cannot be combined with the get-dirty-bitmap flag. */ struct vfio_iommu_type1_dma_unmap { __u32 argsz; --- linux-gcp-5.19.0.orig/include/uapi/linux/vfio_zdev.h +++ linux-gcp-5.19.0/include/uapi/linux/vfio_zdev.h @@ -29,6 +29,9 @@ __u16 fmb_length; /* Measurement Block Length (in bytes) */ __u8 pft; /* PCI Function Type */ __u8 gid; /* PCI function group ID */ + /* End of version 1 */ + __u32 fh; /* PCI function handle */ + /* End of version 2 */ }; /** @@ -47,6 +50,10 @@ __u16 noi; /* Maximum number of MSIs */ __u16 maxstbl; /* Maximum Store Block Length */ __u8 version; /* Supported PCI Version */ + /* End of version 1 */ + __u8 reserved; + __u16 imaxstbl; /* Maximum Interpreted Store Block Length */ + /* End of version 2 */ }; /** --- linux-gcp-5.19.0.orig/include/uapi/linux/videodev2.h +++ linux-gcp-5.19.0/include/uapi/linux/videodev2.h @@ -1575,7 +1575,8 @@ ((bt)->width + V4L2_DV_BT_BLANKING_WIDTH(bt)) #define V4L2_DV_BT_BLANKING_HEIGHT(bt) \ ((bt)->vfrontporch + (bt)->vsync + (bt)->vbackporch + \ - (bt)->il_vfrontporch + (bt)->il_vsync + (bt)->il_vbackporch) + ((bt)->interlaced ? \ + ((bt)->il_vfrontporch + (bt)->il_vsync + (bt)->il_vbackporch) : 0)) #define V4L2_DV_BT_FRAME_HEIGHT(bt) \ ((bt)->height + V4L2_DV_BT_BLANKING_HEIGHT(bt)) --- linux-gcp-5.19.0.orig/include/uapi/linux/xfrm.h +++ linux-gcp-5.19.0/include/uapi/linux/xfrm.h @@ -296,7 +296,7 @@ XFRMA_ETIMER_THRESH, XFRMA_SRCADDR, /* xfrm_address_t */ XFRMA_COADDR, /* xfrm_address_t */ - XFRMA_LASTUSED, /* unsigned long */ + XFRMA_LASTUSED, /* __u64 */ XFRMA_POLICY_TYPE, /* struct xfrm_userpolicy_type */ XFRMA_MIGRATE, XFRMA_ALG_AEAD, /* struct xfrm_algo_aead */ --- linux-gcp-5.19.0.orig/include/uapi/rdma/hns-abi.h +++ linux-gcp-5.19.0/include/uapi/rdma/hns-abi.h @@ -85,11 +85,26 @@ __aligned_u64 dwqe_mmap_key; }; +enum { + HNS_ROCE_EXSGE_FLAGS = 1 << 0, +}; + +enum { + HNS_ROCE_RSP_EXSGE_FLAGS = 1 << 0, +}; + struct hns_roce_ib_alloc_ucontext_resp { __u32 qp_tab_size; __u32 cqe_size; __u32 srq_tab_size; __u32 reserved; + __u32 config; + __u32 max_inline_data; +}; + +struct hns_roce_ib_alloc_ucontext { + __u32 config; + __u32 reserved; }; struct hns_roce_ib_alloc_pd_resp { --- linux-gcp-5.19.0.orig/include/uapi/rdma/mlx5-abi.h +++ linux-gcp-5.19.0/include/uapi/rdma/mlx5-abi.h @@ -104,6 +104,7 @@ MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_ECE = 1UL << 2, MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_SQD2RTS = 1UL << 3, MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_REAL_TIME_TS = 1UL << 4, + MLX5_IB_ALLOC_UCONTEXT_RESP_MASK_MKEY_UPDATE_TAG = 1UL << 5, }; enum mlx5_user_cmds_supp_uhw { --- linux-gcp-5.19.0.orig/include/uapi/sound/asequencer.h +++ linux-gcp-5.19.0/include/uapi/sound/asequencer.h @@ -344,10 +344,10 @@ #define KERNEL_CLIENT ((__force snd_seq_client_type_t) 2) /* event filter flags */ -#define SNDRV_SEQ_FILTER_BROADCAST (1<<0) /* accept broadcast messages */ -#define SNDRV_SEQ_FILTER_MULTICAST (1<<1) /* accept multicast messages */ -#define SNDRV_SEQ_FILTER_BOUNCE (1<<2) /* accept bounce event in error */ -#define SNDRV_SEQ_FILTER_USE_EVENT (1<<31) /* use event filter */ +#define SNDRV_SEQ_FILTER_BROADCAST (1U<<0) /* accept broadcast messages */ +#define SNDRV_SEQ_FILTER_MULTICAST (1U<<1) /* accept multicast messages */ +#define SNDRV_SEQ_FILTER_BOUNCE (1U<<2) /* accept bounce event in error */ +#define SNDRV_SEQ_FILTER_USE_EVENT (1U<<31) /* use event filter */ struct snd_seq_client_info { int client; /* client number to inquire */ --- linux-gcp-5.19.0.orig/include/ufs/ufshcd.h +++ linux-gcp-5.19.0/include/ufs/ufshcd.h @@ -562,9 +562,9 @@ UFSHCD_QUIRK_SKIP_DEF_UNIPRO_TIMEOUT_SETTING = 1 << 13, /* - * This quirk allows only sg entries aligned with page size. + * Align DMA SG entries on a 4 KiB boundary. */ - UFSHCD_QUIRK_ALIGN_SG_WITH_PAGE_SIZE = 1 << 14, + UFSHCD_QUIRK_4KB_DMA_ALIGNMENT = 1 << 14, /* * This quirk needs to be enabled if the host controller does not @@ -577,6 +577,18 @@ * support physical host configuration. */ UFSHCD_QUIRK_SKIP_PH_CONFIGURATION = 1 << 16, + + /* + * This quirk needs to be enabled if the host controller has + * 64-bit addressing supported capability but it doesn't work. + */ + UFSHCD_QUIRK_BROKEN_64BIT_ADDRESS = 1 << 17, + + /* + * This quirk needs to be enabled if the host controller has + * auto-hibernate capability but it's FASTAUTO only. + */ + UFSHCD_QUIRK_HIBERN_FASTAUTO = 1 << 18, }; enum ufshcd_caps { @@ -786,6 +798,7 @@ * device is known or not. * @clk_scaling_lock: used to serialize device commands and clock scaling * @desc_size: descriptor sizes reported by device + * @wb_mutex: used to serialize devfreq and sysfs write booster toggling * @scsi_block_reqs_cnt: reference counting for scsi block requests * @bsg_dev: struct device associated with the BSG queue * @bsg_queue: BSG queue associated with the UFS controller @@ -926,6 +939,7 @@ enum bkops_status urgent_bkops_lvl; bool is_urgent_bkops_lvl_checked; + struct mutex wb_mutex; struct rw_semaphore clk_scaling_lock; unsigned char desc_size[QUERY_DESC_IDN_MAX]; atomic_t scsi_block_reqs_cnt; --- linux-gcp-5.19.0.orig/include/ufs/ufshci.h +++ linux-gcp-5.19.0/include/ufs/ufshci.h @@ -135,11 +135,7 @@ #define UFSHCD_UIC_MASK (UIC_COMMAND_COMPL | UFSHCD_UIC_PWR_MASK) -#define UFSHCD_ERROR_MASK (UIC_ERROR |\ - DEVICE_FATAL_ERROR |\ - CONTROLLER_FATAL_ERROR |\ - SYSTEM_BUS_FATAL_ERROR |\ - CRYPTO_ENGINE_FATAL_ERROR) +#define UFSHCD_ERROR_MASK (UIC_ERROR | INT_FATAL_ERRORS) #define INT_FATAL_ERRORS (DEVICE_FATAL_ERROR |\ CONTROLLER_FATAL_ERROR |\ --- linux-gcp-5.19.0.orig/include/xen/xen-ops.h +++ linux-gcp-5.19.0/include/xen/xen-ops.h @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include @@ -217,6 +218,7 @@ #ifdef CONFIG_XEN_GRANT_DMA_OPS void xen_grant_setup_dma_ops(struct device *dev); bool xen_is_grant_dma_device(struct device *dev); +bool xen_virtio_mem_acc(struct virtio_device *dev); #else static inline void xen_grant_setup_dma_ops(struct device *dev) { @@ -225,6 +227,13 @@ { return false; } + +struct virtio_device; + +static inline bool xen_virtio_mem_acc(struct virtio_device *dev) +{ + return false; +} #endif /* CONFIG_XEN_GRANT_DMA_OPS */ #endif /* INCLUDE_XEN_OPS_H */ --- linux-gcp-5.19.0.orig/include/xen/xen.h +++ linux-gcp-5.19.0/include/xen/xen.h @@ -52,14 +52,6 @@ extern u64 xen_saved_max_mem_size; #endif -#include - -static inline void xen_set_restricted_virtio_memory_access(void) -{ - if (IS_ENABLED(CONFIG_XEN_VIRTIO) && xen_domain()) - platform_set(PLATFORM_VIRTIO_RESTRICTED_MEM_ACCESS); -} - #ifdef CONFIG_XEN_UNPOPULATED_ALLOC int xen_alloc_unpopulated_pages(unsigned int nr_pages, struct page **pages); void xen_free_unpopulated_pages(unsigned int nr_pages, struct page **pages); --- linux-gcp-5.19.0.orig/init/Kconfig +++ linux-gcp-5.19.0/init/Kconfig @@ -80,7 +80,7 @@ config CC_HAS_ASM_GOTO_TIED_OUTPUT depends on CC_HAS_ASM_GOTO_OUTPUT # Detect buggy gcc and clang, fixed in gcc-11 clang-14. - def_bool $(success,echo 'int foo(int *x) { asm goto (".long (%l[bar]) - .\n": "+m"(*x) ::: bar); return *x; bar: return 0; }' | $CC -x c - -c -o /dev/null) + def_bool $(success,echo 'int foo(int *x) { asm goto (".long (%l[bar]) - .": "+m"(*x) ::: bar); return *x; bar: return 0; }' | $CC -x c - -c -o /dev/null) config TOOLS_SUPPORT_RELR def_bool $(success,env "CC=$(CC)" "LD=$(LD)" "NM=$(NM)" "OBJCOPY=$(OBJCOPY)" $(srctree)/scripts/tools-support-relr.sh) @@ -357,6 +357,15 @@ but you may wish to use a different default here to make a minimal system more usable with less configuration. +config VERSION_SIGNATURE + string "Arbitrary version signature" + help + This string will be created in a file, /proc/version_signature. It + is useful in determining arbitrary data about your kernel. For instance, + if you have several kernels of the same version, but need to keep track + of a revision of the same kernel, but not affect it's ability to load + compatible modules, this is the easiest way to do that. + config SYSVIPC bool "System V IPC" help --- linux-gcp-5.19.0.orig/init/do_mounts.c +++ linux-gcp-5.19.0/init/do_mounts.c @@ -599,6 +599,8 @@ */ void __init prepare_namespace(void) { + int err; + if (root_delay) { printk(KERN_INFO "Waiting %d sec before mounting root device...\n", root_delay); @@ -646,6 +648,13 @@ devtmpfs_mount(); init_mount(".", "/", NULL, MS_MOVE, NULL); init_chroot("."); +#ifdef CONFIG_BLOCK + /* recreate the /dev/root */ + err = create_dev("/dev/root", ROOT_DEV); + + if (err < 0) + pr_emerg("Failed to create /dev/root: %d\n", err); +#endif } static bool is_tmpfs; --- linux-gcp-5.19.0.orig/init/main.c +++ linux-gcp-5.19.0/init/main.c @@ -99,6 +99,7 @@ #include #include #include +#include #include #include @@ -1445,13 +1446,25 @@ #if defined(CONFIG_STRICT_KERNEL_RWX) || defined(CONFIG_STRICT_MODULE_RWX) bool rodata_enabled __ro_after_init = true; + +#ifndef arch_parse_debug_rodata +static inline bool arch_parse_debug_rodata(char *str) { return false; } +#endif + static int __init set_debug_rodata(char *str) { - if (strtobool(str, &rodata_enabled)) + if (arch_parse_debug_rodata(str)) + return 0; + + if (str && !strcmp(str, "on")) + rodata_enabled = true; + else if (str && !strcmp(str, "off")) + rodata_enabled = false; + else pr_warn("Invalid option string for rodata: '%s'\n", str); - return 1; + return 0; } -__setup("rodata=", set_debug_rodata); +early_param("rodata", set_debug_rodata); #endif #ifdef CONFIG_STRICT_KERNEL_RWX --- linux-gcp-5.19.0.orig/init/version.c +++ linux-gcp-5.19.0/init/version.c @@ -38,7 +38,11 @@ /* FIXED STRINGS! Don't touch! */ const char linux_banner[] = "Linux version " UTS_RELEASE " (" LINUX_COMPILE_BY "@" - LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION "\n"; + LINUX_COMPILE_HOST ") (" LINUX_COMPILER ") " UTS_VERSION +#ifdef CONFIG_VERSION_SIGNATURE + " (" CONFIG_VERSION_SIGNATURE ")" +#endif + "\n"; const char linux_proc_banner[] = "%s version %s" --- linux-gcp-5.19.0.orig/io_uring/Makefile +++ linux-gcp-5.19.0/io_uring/Makefile @@ -0,0 +1,6 @@ +# SPDX-License-Identifier: GPL-2.0 +# +# Makefile for io_uring + +obj-$(CONFIG_IO_URING) += io_uring.o +obj-$(CONFIG_IO_WQ) += io-wq.o --- linux-gcp-5.19.0.orig/io_uring/io-wq.c +++ linux-gcp-5.19.0/io_uring/io-wq.c @@ -0,0 +1,1430 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Basic worker thread pool for io_uring + * + * Copyright (C) 2019 Jens Axboe + * + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "io-wq.h" + +#define WORKER_IDLE_TIMEOUT (5 * HZ) + +enum { + IO_WORKER_F_UP = 1, /* up and active */ + IO_WORKER_F_RUNNING = 2, /* account as running */ + IO_WORKER_F_FREE = 4, /* worker on free list */ + IO_WORKER_F_BOUND = 8, /* is doing bounded work */ +}; + +enum { + IO_WQ_BIT_EXIT = 0, /* wq exiting */ +}; + +enum { + IO_ACCT_STALLED_BIT = 0, /* stalled on hash */ +}; + +/* + * One for each thread in a wqe pool + */ +struct io_worker { + refcount_t ref; + unsigned flags; + struct hlist_nulls_node nulls_node; + struct list_head all_list; + struct task_struct *task; + struct io_wqe *wqe; + + struct io_wq_work *cur_work; + struct io_wq_work *next_work; + raw_spinlock_t lock; + + struct completion ref_done; + + unsigned long create_state; + struct callback_head create_work; + int create_index; + + union { + struct rcu_head rcu; + struct work_struct work; + }; +}; + +#if BITS_PER_LONG == 64 +#define IO_WQ_HASH_ORDER 6 +#else +#define IO_WQ_HASH_ORDER 5 +#endif + +#define IO_WQ_NR_HASH_BUCKETS (1u << IO_WQ_HASH_ORDER) + +struct io_wqe_acct { + unsigned nr_workers; + unsigned max_workers; + int index; + atomic_t nr_running; + raw_spinlock_t lock; + struct io_wq_work_list work_list; + unsigned long flags; +}; + +enum { + IO_WQ_ACCT_BOUND, + IO_WQ_ACCT_UNBOUND, + IO_WQ_ACCT_NR, +}; + +/* + * Per-node worker thread pool + */ +struct io_wqe { + raw_spinlock_t lock; + struct io_wqe_acct acct[IO_WQ_ACCT_NR]; + + int node; + + struct hlist_nulls_head free_list; + struct list_head all_list; + + struct wait_queue_entry wait; + + struct io_wq *wq; + struct io_wq_work *hash_tail[IO_WQ_NR_HASH_BUCKETS]; + + cpumask_var_t cpu_mask; +}; + +/* + * Per io_wq state + */ +struct io_wq { + unsigned long state; + + free_work_fn *free_work; + io_wq_work_fn *do_work; + + struct io_wq_hash *hash; + + atomic_t worker_refs; + struct completion worker_done; + + struct hlist_node cpuhp_node; + + struct task_struct *task; + + struct io_wqe *wqes[]; +}; + +static enum cpuhp_state io_wq_online; + +struct io_cb_cancel_data { + work_cancel_fn *fn; + void *data; + int nr_running; + int nr_pending; + bool cancel_all; +}; + +static bool create_io_worker(struct io_wq *wq, struct io_wqe *wqe, int index); +static void io_wqe_dec_running(struct io_worker *worker); +static bool io_acct_cancel_pending_work(struct io_wqe *wqe, + struct io_wqe_acct *acct, + struct io_cb_cancel_data *match); +static void create_worker_cb(struct callback_head *cb); +static void io_wq_cancel_tw_create(struct io_wq *wq); + +static bool io_worker_get(struct io_worker *worker) +{ + return refcount_inc_not_zero(&worker->ref); +} + +static void io_worker_release(struct io_worker *worker) +{ + if (refcount_dec_and_test(&worker->ref)) + complete(&worker->ref_done); +} + +static inline struct io_wqe_acct *io_get_acct(struct io_wqe *wqe, bool bound) +{ + return &wqe->acct[bound ? IO_WQ_ACCT_BOUND : IO_WQ_ACCT_UNBOUND]; +} + +static inline struct io_wqe_acct *io_work_get_acct(struct io_wqe *wqe, + struct io_wq_work *work) +{ + return io_get_acct(wqe, !(work->flags & IO_WQ_WORK_UNBOUND)); +} + +static inline struct io_wqe_acct *io_wqe_get_acct(struct io_worker *worker) +{ + return io_get_acct(worker->wqe, worker->flags & IO_WORKER_F_BOUND); +} + +static void io_worker_ref_put(struct io_wq *wq) +{ + if (atomic_dec_and_test(&wq->worker_refs)) + complete(&wq->worker_done); +} + +static void io_worker_cancel_cb(struct io_worker *worker) +{ + struct io_wqe_acct *acct = io_wqe_get_acct(worker); + struct io_wqe *wqe = worker->wqe; + struct io_wq *wq = wqe->wq; + + atomic_dec(&acct->nr_running); + raw_spin_lock(&worker->wqe->lock); + acct->nr_workers--; + raw_spin_unlock(&worker->wqe->lock); + io_worker_ref_put(wq); + clear_bit_unlock(0, &worker->create_state); + io_worker_release(worker); +} + +static bool io_task_worker_match(struct callback_head *cb, void *data) +{ + struct io_worker *worker; + + if (cb->func != create_worker_cb) + return false; + worker = container_of(cb, struct io_worker, create_work); + return worker == data; +} + +static void io_worker_exit(struct io_worker *worker) +{ + struct io_wqe *wqe = worker->wqe; + struct io_wq *wq = wqe->wq; + + while (1) { + struct callback_head *cb = task_work_cancel_match(wq->task, + io_task_worker_match, worker); + + if (!cb) + break; + io_worker_cancel_cb(worker); + } + + io_worker_release(worker); + wait_for_completion(&worker->ref_done); + + raw_spin_lock(&wqe->lock); + if (worker->flags & IO_WORKER_F_FREE) + hlist_nulls_del_rcu(&worker->nulls_node); + list_del_rcu(&worker->all_list); + raw_spin_unlock(&wqe->lock); + io_wqe_dec_running(worker); + worker->flags = 0; + preempt_disable(); + current->flags &= ~PF_IO_WORKER; + preempt_enable(); + + kfree_rcu(worker, rcu); + io_worker_ref_put(wqe->wq); + do_exit(0); +} + +static inline bool io_acct_run_queue(struct io_wqe_acct *acct) +{ + bool ret = false; + + raw_spin_lock(&acct->lock); + if (!wq_list_empty(&acct->work_list) && + !test_bit(IO_ACCT_STALLED_BIT, &acct->flags)) + ret = true; + raw_spin_unlock(&acct->lock); + + return ret; +} + +/* + * Check head of free list for an available worker. If one isn't available, + * caller must create one. + */ +static bool io_wqe_activate_free_worker(struct io_wqe *wqe, + struct io_wqe_acct *acct) + __must_hold(RCU) +{ + struct hlist_nulls_node *n; + struct io_worker *worker; + + /* + * Iterate free_list and see if we can find an idle worker to + * activate. If a given worker is on the free_list but in the process + * of exiting, keep trying. + */ + hlist_nulls_for_each_entry_rcu(worker, n, &wqe->free_list, nulls_node) { + if (!io_worker_get(worker)) + continue; + if (io_wqe_get_acct(worker) != acct) { + io_worker_release(worker); + continue; + } + if (wake_up_process(worker->task)) { + io_worker_release(worker); + return true; + } + io_worker_release(worker); + } + + return false; +} + +/* + * We need a worker. If we find a free one, we're good. If not, and we're + * below the max number of workers, create one. + */ +static bool io_wqe_create_worker(struct io_wqe *wqe, struct io_wqe_acct *acct) +{ + /* + * Most likely an attempt to queue unbounded work on an io_wq that + * wasn't setup with any unbounded workers. + */ + if (unlikely(!acct->max_workers)) + pr_warn_once("io-wq is not configured for unbound workers"); + + raw_spin_lock(&wqe->lock); + if (acct->nr_workers >= acct->max_workers) { + raw_spin_unlock(&wqe->lock); + return true; + } + acct->nr_workers++; + raw_spin_unlock(&wqe->lock); + atomic_inc(&acct->nr_running); + atomic_inc(&wqe->wq->worker_refs); + return create_io_worker(wqe->wq, wqe, acct->index); +} + +static void io_wqe_inc_running(struct io_worker *worker) +{ + struct io_wqe_acct *acct = io_wqe_get_acct(worker); + + atomic_inc(&acct->nr_running); +} + +static void create_worker_cb(struct callback_head *cb) +{ + struct io_worker *worker; + struct io_wq *wq; + struct io_wqe *wqe; + struct io_wqe_acct *acct; + bool do_create = false; + + worker = container_of(cb, struct io_worker, create_work); + wqe = worker->wqe; + wq = wqe->wq; + acct = &wqe->acct[worker->create_index]; + raw_spin_lock(&wqe->lock); + if (acct->nr_workers < acct->max_workers) { + acct->nr_workers++; + do_create = true; + } + raw_spin_unlock(&wqe->lock); + if (do_create) { + create_io_worker(wq, wqe, worker->create_index); + } else { + atomic_dec(&acct->nr_running); + io_worker_ref_put(wq); + } + clear_bit_unlock(0, &worker->create_state); + io_worker_release(worker); +} + +static bool io_queue_worker_create(struct io_worker *worker, + struct io_wqe_acct *acct, + task_work_func_t func) +{ + struct io_wqe *wqe = worker->wqe; + struct io_wq *wq = wqe->wq; + + /* raced with exit, just ignore create call */ + if (test_bit(IO_WQ_BIT_EXIT, &wq->state)) + goto fail; + if (!io_worker_get(worker)) + goto fail; + /* + * create_state manages ownership of create_work/index. We should + * only need one entry per worker, as the worker going to sleep + * will trigger the condition, and waking will clear it once it + * runs the task_work. + */ + if (test_bit(0, &worker->create_state) || + test_and_set_bit_lock(0, &worker->create_state)) + goto fail_release; + + atomic_inc(&wq->worker_refs); + init_task_work(&worker->create_work, func); + worker->create_index = acct->index; + if (!task_work_add(wq->task, &worker->create_work, TWA_SIGNAL)) { + /* + * EXIT may have been set after checking it above, check after + * adding the task_work and remove any creation item if it is + * now set. wq exit does that too, but we can have added this + * work item after we canceled in io_wq_exit_workers(). + */ + if (test_bit(IO_WQ_BIT_EXIT, &wq->state)) + io_wq_cancel_tw_create(wq); + io_worker_ref_put(wq); + return true; + } + io_worker_ref_put(wq); + clear_bit_unlock(0, &worker->create_state); +fail_release: + io_worker_release(worker); +fail: + atomic_dec(&acct->nr_running); + io_worker_ref_put(wq); + return false; +} + +static void io_wqe_dec_running(struct io_worker *worker) +{ + struct io_wqe_acct *acct = io_wqe_get_acct(worker); + struct io_wqe *wqe = worker->wqe; + + if (!(worker->flags & IO_WORKER_F_UP)) + return; + + if (!atomic_dec_and_test(&acct->nr_running)) + return; + if (!io_acct_run_queue(acct)) + return; + + atomic_inc(&acct->nr_running); + atomic_inc(&wqe->wq->worker_refs); + io_queue_worker_create(worker, acct, create_worker_cb); +} + +/* + * Worker will start processing some work. Move it to the busy list, if + * it's currently on the freelist + */ +static void __io_worker_busy(struct io_wqe *wqe, struct io_worker *worker) +{ + if (worker->flags & IO_WORKER_F_FREE) { + worker->flags &= ~IO_WORKER_F_FREE; + raw_spin_lock(&wqe->lock); + hlist_nulls_del_init_rcu(&worker->nulls_node); + raw_spin_unlock(&wqe->lock); + } +} + +/* + * No work, worker going to sleep. Move to freelist, and unuse mm if we + * have one attached. Dropping the mm may potentially sleep, so we drop + * the lock in that case and return success. Since the caller has to + * retry the loop in that case (we changed task state), we don't regrab + * the lock if we return success. + */ +static void __io_worker_idle(struct io_wqe *wqe, struct io_worker *worker) + __must_hold(wqe->lock) +{ + if (!(worker->flags & IO_WORKER_F_FREE)) { + worker->flags |= IO_WORKER_F_FREE; + hlist_nulls_add_head_rcu(&worker->nulls_node, &wqe->free_list); + } +} + +static inline unsigned int io_get_work_hash(struct io_wq_work *work) +{ + return work->flags >> IO_WQ_HASH_SHIFT; +} + +static bool io_wait_on_hash(struct io_wqe *wqe, unsigned int hash) +{ + struct io_wq *wq = wqe->wq; + bool ret = false; + + spin_lock_irq(&wq->hash->wait.lock); + if (list_empty(&wqe->wait.entry)) { + __add_wait_queue(&wq->hash->wait, &wqe->wait); + if (!test_bit(hash, &wq->hash->map)) { + __set_current_state(TASK_RUNNING); + list_del_init(&wqe->wait.entry); + ret = true; + } + } + spin_unlock_irq(&wq->hash->wait.lock); + return ret; +} + +static struct io_wq_work *io_get_next_work(struct io_wqe_acct *acct, + struct io_worker *worker) + __must_hold(acct->lock) +{ + struct io_wq_work_node *node, *prev; + struct io_wq_work *work, *tail; + unsigned int stall_hash = -1U; + struct io_wqe *wqe = worker->wqe; + + wq_list_for_each(node, prev, &acct->work_list) { + unsigned int hash; + + work = container_of(node, struct io_wq_work, list); + + /* not hashed, can run anytime */ + if (!io_wq_is_hashed(work)) { + wq_list_del(&acct->work_list, node, prev); + return work; + } + + hash = io_get_work_hash(work); + /* all items with this hash lie in [work, tail] */ + tail = wqe->hash_tail[hash]; + + /* hashed, can run if not already running */ + if (!test_and_set_bit(hash, &wqe->wq->hash->map)) { + wqe->hash_tail[hash] = NULL; + wq_list_cut(&acct->work_list, &tail->list, prev); + return work; + } + if (stall_hash == -1U) + stall_hash = hash; + /* fast forward to a next hash, for-each will fix up @prev */ + node = &tail->list; + } + + if (stall_hash != -1U) { + bool unstalled; + + /* + * Set this before dropping the lock to avoid racing with new + * work being added and clearing the stalled bit. + */ + set_bit(IO_ACCT_STALLED_BIT, &acct->flags); + raw_spin_unlock(&acct->lock); + unstalled = io_wait_on_hash(wqe, stall_hash); + raw_spin_lock(&acct->lock); + if (unstalled) { + clear_bit(IO_ACCT_STALLED_BIT, &acct->flags); + if (wq_has_sleeper(&wqe->wq->hash->wait)) + wake_up(&wqe->wq->hash->wait); + } + } + + return NULL; +} + +static bool io_flush_signals(void) +{ + if (test_thread_flag(TIF_NOTIFY_SIGNAL) || current->task_works) { + __set_current_state(TASK_RUNNING); + clear_notify_signal(); + if (task_work_pending(current)) + task_work_run(); + return true; + } + return false; +} + +static void io_assign_current_work(struct io_worker *worker, + struct io_wq_work *work) +{ + if (work) { + io_flush_signals(); + cond_resched(); + } + + raw_spin_lock(&worker->lock); + worker->cur_work = work; + worker->next_work = NULL; + raw_spin_unlock(&worker->lock); +} + +static void io_wqe_enqueue(struct io_wqe *wqe, struct io_wq_work *work); + +static void io_worker_handle_work(struct io_worker *worker) +{ + struct io_wqe_acct *acct = io_wqe_get_acct(worker); + struct io_wqe *wqe = worker->wqe; + struct io_wq *wq = wqe->wq; + bool do_kill = test_bit(IO_WQ_BIT_EXIT, &wq->state); + + do { + struct io_wq_work *work; + + /* + * If we got some work, mark us as busy. If we didn't, but + * the list isn't empty, it means we stalled on hashed work. + * Mark us stalled so we don't keep looking for work when we + * can't make progress, any work completion or insertion will + * clear the stalled flag. + */ + raw_spin_lock(&acct->lock); + work = io_get_next_work(acct, worker); + raw_spin_unlock(&acct->lock); + if (work) { + __io_worker_busy(wqe, worker); + + /* + * Make sure cancelation can find this, even before + * it becomes the active work. That avoids a window + * where the work has been removed from our general + * work list, but isn't yet discoverable as the + * current work item for this worker. + */ + raw_spin_lock(&worker->lock); + worker->next_work = work; + raw_spin_unlock(&worker->lock); + } else { + break; + } + io_assign_current_work(worker, work); + __set_current_state(TASK_RUNNING); + + /* handle a whole dependent link */ + do { + struct io_wq_work *next_hashed, *linked; + unsigned int hash = io_get_work_hash(work); + + next_hashed = wq_next_work(work); + + if (unlikely(do_kill) && (work->flags & IO_WQ_WORK_UNBOUND)) + work->flags |= IO_WQ_WORK_CANCEL; + wq->do_work(work); + io_assign_current_work(worker, NULL); + + linked = wq->free_work(work); + work = next_hashed; + if (!work && linked && !io_wq_is_hashed(linked)) { + work = linked; + linked = NULL; + } + io_assign_current_work(worker, work); + if (linked) + io_wqe_enqueue(wqe, linked); + + if (hash != -1U && !next_hashed) { + /* serialize hash clear with wake_up() */ + spin_lock_irq(&wq->hash->wait.lock); + clear_bit(hash, &wq->hash->map); + clear_bit(IO_ACCT_STALLED_BIT, &acct->flags); + spin_unlock_irq(&wq->hash->wait.lock); + if (wq_has_sleeper(&wq->hash->wait)) + wake_up(&wq->hash->wait); + } + } while (work); + } while (1); +} + +static int io_wqe_worker(void *data) +{ + struct io_worker *worker = data; + struct io_wqe_acct *acct = io_wqe_get_acct(worker); + struct io_wqe *wqe = worker->wqe; + struct io_wq *wq = wqe->wq; + bool last_timeout = false; + char buf[TASK_COMM_LEN]; + + worker->flags |= (IO_WORKER_F_UP | IO_WORKER_F_RUNNING); + + snprintf(buf, sizeof(buf), "iou-wrk-%d", wq->task->pid); + set_task_comm(current, buf); + + audit_alloc_kernel(current); + + while (!test_bit(IO_WQ_BIT_EXIT, &wq->state)) { + long ret; + + set_current_state(TASK_INTERRUPTIBLE); + while (io_acct_run_queue(acct)) + io_worker_handle_work(worker); + + raw_spin_lock(&wqe->lock); + /* timed out, exit unless we're the last worker */ + if (last_timeout && acct->nr_workers > 1) { + acct->nr_workers--; + raw_spin_unlock(&wqe->lock); + __set_current_state(TASK_RUNNING); + break; + } + last_timeout = false; + __io_worker_idle(wqe, worker); + raw_spin_unlock(&wqe->lock); + if (io_flush_signals()) + continue; + ret = schedule_timeout(WORKER_IDLE_TIMEOUT); + if (signal_pending(current)) { + struct ksignal ksig; + + if (!get_signal(&ksig)) + continue; + break; + } + last_timeout = !ret; + } + + if (test_bit(IO_WQ_BIT_EXIT, &wq->state)) + io_worker_handle_work(worker); + + audit_free(current); + io_worker_exit(worker); + return 0; +} + +/* + * Called when a worker is scheduled in. Mark us as currently running. + */ +void io_wq_worker_running(struct task_struct *tsk) +{ + struct io_worker *worker = tsk->worker_private; + + if (!worker) + return; + if (!(worker->flags & IO_WORKER_F_UP)) + return; + if (worker->flags & IO_WORKER_F_RUNNING) + return; + worker->flags |= IO_WORKER_F_RUNNING; + io_wqe_inc_running(worker); +} + +/* + * Called when worker is going to sleep. If there are no workers currently + * running and we have work pending, wake up a free one or create a new one. + */ +void io_wq_worker_sleeping(struct task_struct *tsk) +{ + struct io_worker *worker = tsk->worker_private; + + if (!worker) + return; + if (!(worker->flags & IO_WORKER_F_UP)) + return; + if (!(worker->flags & IO_WORKER_F_RUNNING)) + return; + + worker->flags &= ~IO_WORKER_F_RUNNING; + io_wqe_dec_running(worker); +} + +static void io_init_new_worker(struct io_wqe *wqe, struct io_worker *worker, + struct task_struct *tsk) +{ + tsk->worker_private = worker; + worker->task = tsk; + set_cpus_allowed_ptr(tsk, wqe->cpu_mask); + tsk->flags |= PF_NO_SETAFFINITY; + + raw_spin_lock(&wqe->lock); + hlist_nulls_add_head_rcu(&worker->nulls_node, &wqe->free_list); + list_add_tail_rcu(&worker->all_list, &wqe->all_list); + worker->flags |= IO_WORKER_F_FREE; + raw_spin_unlock(&wqe->lock); + wake_up_new_task(tsk); +} + +static bool io_wq_work_match_all(struct io_wq_work *work, void *data) +{ + return true; +} + +static inline bool io_should_retry_thread(long err) +{ + /* + * Prevent perpetual task_work retry, if the task (or its group) is + * exiting. + */ + if (fatal_signal_pending(current)) + return false; + + switch (err) { + case -EAGAIN: + case -ERESTARTSYS: + case -ERESTARTNOINTR: + case -ERESTARTNOHAND: + return true; + default: + return false; + } +} + +static void create_worker_cont(struct callback_head *cb) +{ + struct io_worker *worker; + struct task_struct *tsk; + struct io_wqe *wqe; + + worker = container_of(cb, struct io_worker, create_work); + clear_bit_unlock(0, &worker->create_state); + wqe = worker->wqe; + tsk = create_io_thread(io_wqe_worker, worker, wqe->node); + if (!IS_ERR(tsk)) { + io_init_new_worker(wqe, worker, tsk); + io_worker_release(worker); + return; + } else if (!io_should_retry_thread(PTR_ERR(tsk))) { + struct io_wqe_acct *acct = io_wqe_get_acct(worker); + + atomic_dec(&acct->nr_running); + raw_spin_lock(&wqe->lock); + acct->nr_workers--; + if (!acct->nr_workers) { + struct io_cb_cancel_data match = { + .fn = io_wq_work_match_all, + .cancel_all = true, + }; + + raw_spin_unlock(&wqe->lock); + while (io_acct_cancel_pending_work(wqe, acct, &match)) + ; + } else { + raw_spin_unlock(&wqe->lock); + } + io_worker_ref_put(wqe->wq); + kfree(worker); + return; + } + + /* re-create attempts grab a new worker ref, drop the existing one */ + io_worker_release(worker); + schedule_work(&worker->work); +} + +static void io_workqueue_create(struct work_struct *work) +{ + struct io_worker *worker = container_of(work, struct io_worker, work); + struct io_wqe_acct *acct = io_wqe_get_acct(worker); + + if (!io_queue_worker_create(worker, acct, create_worker_cont)) + kfree(worker); +} + +static bool create_io_worker(struct io_wq *wq, struct io_wqe *wqe, int index) +{ + struct io_wqe_acct *acct = &wqe->acct[index]; + struct io_worker *worker; + struct task_struct *tsk; + + __set_current_state(TASK_RUNNING); + + worker = kzalloc_node(sizeof(*worker), GFP_KERNEL, wqe->node); + if (!worker) { +fail: + atomic_dec(&acct->nr_running); + raw_spin_lock(&wqe->lock); + acct->nr_workers--; + raw_spin_unlock(&wqe->lock); + io_worker_ref_put(wq); + return false; + } + + refcount_set(&worker->ref, 1); + worker->wqe = wqe; + raw_spin_lock_init(&worker->lock); + init_completion(&worker->ref_done); + + if (index == IO_WQ_ACCT_BOUND) + worker->flags |= IO_WORKER_F_BOUND; + + tsk = create_io_thread(io_wqe_worker, worker, wqe->node); + if (!IS_ERR(tsk)) { + io_init_new_worker(wqe, worker, tsk); + } else if (!io_should_retry_thread(PTR_ERR(tsk))) { + kfree(worker); + goto fail; + } else { + INIT_WORK(&worker->work, io_workqueue_create); + schedule_work(&worker->work); + } + + return true; +} + +/* + * Iterate the passed in list and call the specific function for each + * worker that isn't exiting + */ +static bool io_wq_for_each_worker(struct io_wqe *wqe, + bool (*func)(struct io_worker *, void *), + void *data) +{ + struct io_worker *worker; + bool ret = false; + + list_for_each_entry_rcu(worker, &wqe->all_list, all_list) { + if (io_worker_get(worker)) { + /* no task if node is/was offline */ + if (worker->task) + ret = func(worker, data); + io_worker_release(worker); + if (ret) + break; + } + } + + return ret; +} + +static bool io_wq_worker_wake(struct io_worker *worker, void *data) +{ + __set_notify_signal(worker->task); + wake_up_process(worker->task); + return false; +} + +static void io_run_cancel(struct io_wq_work *work, struct io_wqe *wqe) +{ + struct io_wq *wq = wqe->wq; + + do { + work->flags |= IO_WQ_WORK_CANCEL; + wq->do_work(work); + work = wq->free_work(work); + } while (work); +} + +static void io_wqe_insert_work(struct io_wqe *wqe, struct io_wq_work *work) +{ + struct io_wqe_acct *acct = io_work_get_acct(wqe, work); + unsigned int hash; + struct io_wq_work *tail; + + if (!io_wq_is_hashed(work)) { +append: + wq_list_add_tail(&work->list, &acct->work_list); + return; + } + + hash = io_get_work_hash(work); + tail = wqe->hash_tail[hash]; + wqe->hash_tail[hash] = work; + if (!tail) + goto append; + + wq_list_add_after(&work->list, &tail->list, &acct->work_list); +} + +static bool io_wq_work_match_item(struct io_wq_work *work, void *data) +{ + return work == data; +} + +static void io_wqe_enqueue(struct io_wqe *wqe, struct io_wq_work *work) +{ + struct io_wqe_acct *acct = io_work_get_acct(wqe, work); + struct io_cb_cancel_data match; + unsigned work_flags = work->flags; + bool do_create; + + /* + * If io-wq is exiting for this task, or if the request has explicitly + * been marked as one that should not get executed, cancel it here. + */ + if (test_bit(IO_WQ_BIT_EXIT, &wqe->wq->state) || + (work->flags & IO_WQ_WORK_CANCEL)) { + io_run_cancel(work, wqe); + return; + } + + raw_spin_lock(&acct->lock); + io_wqe_insert_work(wqe, work); + clear_bit(IO_ACCT_STALLED_BIT, &acct->flags); + raw_spin_unlock(&acct->lock); + + raw_spin_lock(&wqe->lock); + rcu_read_lock(); + do_create = !io_wqe_activate_free_worker(wqe, acct); + rcu_read_unlock(); + + raw_spin_unlock(&wqe->lock); + + if (do_create && ((work_flags & IO_WQ_WORK_CONCURRENT) || + !atomic_read(&acct->nr_running))) { + bool did_create; + + did_create = io_wqe_create_worker(wqe, acct); + if (likely(did_create)) + return; + + raw_spin_lock(&wqe->lock); + if (acct->nr_workers) { + raw_spin_unlock(&wqe->lock); + return; + } + raw_spin_unlock(&wqe->lock); + + /* fatal condition, failed to create the first worker */ + match.fn = io_wq_work_match_item, + match.data = work, + match.cancel_all = false, + + io_acct_cancel_pending_work(wqe, acct, &match); + } +} + +void io_wq_enqueue(struct io_wq *wq, struct io_wq_work *work) +{ + struct io_wqe *wqe = wq->wqes[numa_node_id()]; + + io_wqe_enqueue(wqe, work); +} + +/* + * Work items that hash to the same value will not be done in parallel. + * Used to limit concurrent writes, generally hashed by inode. + */ +void io_wq_hash_work(struct io_wq_work *work, void *val) +{ + unsigned int bit; + + bit = hash_ptr(val, IO_WQ_HASH_ORDER); + work->flags |= (IO_WQ_WORK_HASHED | (bit << IO_WQ_HASH_SHIFT)); +} + +static bool __io_wq_worker_cancel(struct io_worker *worker, + struct io_cb_cancel_data *match, + struct io_wq_work *work) +{ + if (work && match->fn(work, match->data)) { + work->flags |= IO_WQ_WORK_CANCEL; + __set_notify_signal(worker->task); + return true; + } + + return false; +} + +static bool io_wq_worker_cancel(struct io_worker *worker, void *data) +{ + struct io_cb_cancel_data *match = data; + + /* + * Hold the lock to avoid ->cur_work going out of scope, caller + * may dereference the passed in work. + */ + raw_spin_lock(&worker->lock); + if (__io_wq_worker_cancel(worker, match, worker->cur_work) || + __io_wq_worker_cancel(worker, match, worker->next_work)) + match->nr_running++; + raw_spin_unlock(&worker->lock); + + return match->nr_running && !match->cancel_all; +} + +static inline void io_wqe_remove_pending(struct io_wqe *wqe, + struct io_wq_work *work, + struct io_wq_work_node *prev) +{ + struct io_wqe_acct *acct = io_work_get_acct(wqe, work); + unsigned int hash = io_get_work_hash(work); + struct io_wq_work *prev_work = NULL; + + if (io_wq_is_hashed(work) && work == wqe->hash_tail[hash]) { + if (prev) + prev_work = container_of(prev, struct io_wq_work, list); + if (prev_work && io_get_work_hash(prev_work) == hash) + wqe->hash_tail[hash] = prev_work; + else + wqe->hash_tail[hash] = NULL; + } + wq_list_del(&acct->work_list, &work->list, prev); +} + +static bool io_acct_cancel_pending_work(struct io_wqe *wqe, + struct io_wqe_acct *acct, + struct io_cb_cancel_data *match) +{ + struct io_wq_work_node *node, *prev; + struct io_wq_work *work; + + raw_spin_lock(&acct->lock); + wq_list_for_each(node, prev, &acct->work_list) { + work = container_of(node, struct io_wq_work, list); + if (!match->fn(work, match->data)) + continue; + io_wqe_remove_pending(wqe, work, prev); + raw_spin_unlock(&acct->lock); + io_run_cancel(work, wqe); + match->nr_pending++; + /* not safe to continue after unlock */ + return true; + } + raw_spin_unlock(&acct->lock); + + return false; +} + +static void io_wqe_cancel_pending_work(struct io_wqe *wqe, + struct io_cb_cancel_data *match) +{ + int i; +retry: + for (i = 0; i < IO_WQ_ACCT_NR; i++) { + struct io_wqe_acct *acct = io_get_acct(wqe, i == 0); + + if (io_acct_cancel_pending_work(wqe, acct, match)) { + if (match->cancel_all) + goto retry; + break; + } + } +} + +static void io_wqe_cancel_running_work(struct io_wqe *wqe, + struct io_cb_cancel_data *match) +{ + rcu_read_lock(); + io_wq_for_each_worker(wqe, io_wq_worker_cancel, match); + rcu_read_unlock(); +} + +enum io_wq_cancel io_wq_cancel_cb(struct io_wq *wq, work_cancel_fn *cancel, + void *data, bool cancel_all) +{ + struct io_cb_cancel_data match = { + .fn = cancel, + .data = data, + .cancel_all = cancel_all, + }; + int node; + + /* + * First check pending list, if we're lucky we can just remove it + * from there. CANCEL_OK means that the work is returned as-new, + * no completion will be posted for it. + * + * Then check if a free (going busy) or busy worker has the work + * currently running. If we find it there, we'll return CANCEL_RUNNING + * as an indication that we attempt to signal cancellation. The + * completion will run normally in this case. + * + * Do both of these while holding the wqe->lock, to ensure that + * we'll find a work item regardless of state. + */ + for_each_node(node) { + struct io_wqe *wqe = wq->wqes[node]; + + io_wqe_cancel_pending_work(wqe, &match); + if (match.nr_pending && !match.cancel_all) + return IO_WQ_CANCEL_OK; + + raw_spin_lock(&wqe->lock); + io_wqe_cancel_running_work(wqe, &match); + raw_spin_unlock(&wqe->lock); + if (match.nr_running && !match.cancel_all) + return IO_WQ_CANCEL_RUNNING; + } + + if (match.nr_running) + return IO_WQ_CANCEL_RUNNING; + if (match.nr_pending) + return IO_WQ_CANCEL_OK; + return IO_WQ_CANCEL_NOTFOUND; +} + +static int io_wqe_hash_wake(struct wait_queue_entry *wait, unsigned mode, + int sync, void *key) +{ + struct io_wqe *wqe = container_of(wait, struct io_wqe, wait); + int i; + + list_del_init(&wait->entry); + + rcu_read_lock(); + for (i = 0; i < IO_WQ_ACCT_NR; i++) { + struct io_wqe_acct *acct = &wqe->acct[i]; + + if (test_and_clear_bit(IO_ACCT_STALLED_BIT, &acct->flags)) + io_wqe_activate_free_worker(wqe, acct); + } + rcu_read_unlock(); + return 1; +} + +struct io_wq *io_wq_create(unsigned bounded, struct io_wq_data *data) +{ + int ret, node, i; + struct io_wq *wq; + + if (WARN_ON_ONCE(!data->free_work || !data->do_work)) + return ERR_PTR(-EINVAL); + if (WARN_ON_ONCE(!bounded)) + return ERR_PTR(-EINVAL); + + wq = kzalloc(struct_size(wq, wqes, nr_node_ids), GFP_KERNEL); + if (!wq) + return ERR_PTR(-ENOMEM); + ret = cpuhp_state_add_instance_nocalls(io_wq_online, &wq->cpuhp_node); + if (ret) + goto err_wq; + + refcount_inc(&data->hash->refs); + wq->hash = data->hash; + wq->free_work = data->free_work; + wq->do_work = data->do_work; + + ret = -ENOMEM; + for_each_node(node) { + struct io_wqe *wqe; + int alloc_node = node; + + if (!node_online(alloc_node)) + alloc_node = NUMA_NO_NODE; + wqe = kzalloc_node(sizeof(struct io_wqe), GFP_KERNEL, alloc_node); + if (!wqe) + goto err; + wq->wqes[node] = wqe; + if (!alloc_cpumask_var(&wqe->cpu_mask, GFP_KERNEL)) + goto err; + cpumask_copy(wqe->cpu_mask, cpumask_of_node(node)); + wqe->node = alloc_node; + wqe->acct[IO_WQ_ACCT_BOUND].max_workers = bounded; + wqe->acct[IO_WQ_ACCT_UNBOUND].max_workers = + task_rlimit(current, RLIMIT_NPROC); + INIT_LIST_HEAD(&wqe->wait.entry); + wqe->wait.func = io_wqe_hash_wake; + for (i = 0; i < IO_WQ_ACCT_NR; i++) { + struct io_wqe_acct *acct = &wqe->acct[i]; + + acct->index = i; + atomic_set(&acct->nr_running, 0); + INIT_WQ_LIST(&acct->work_list); + raw_spin_lock_init(&acct->lock); + } + wqe->wq = wq; + raw_spin_lock_init(&wqe->lock); + INIT_HLIST_NULLS_HEAD(&wqe->free_list, 0); + INIT_LIST_HEAD(&wqe->all_list); + } + + wq->task = get_task_struct(data->task); + atomic_set(&wq->worker_refs, 1); + init_completion(&wq->worker_done); + return wq; +err: + io_wq_put_hash(data->hash); + cpuhp_state_remove_instance_nocalls(io_wq_online, &wq->cpuhp_node); + for_each_node(node) { + if (!wq->wqes[node]) + continue; + free_cpumask_var(wq->wqes[node]->cpu_mask); + kfree(wq->wqes[node]); + } +err_wq: + kfree(wq); + return ERR_PTR(ret); +} + +static bool io_task_work_match(struct callback_head *cb, void *data) +{ + struct io_worker *worker; + + if (cb->func != create_worker_cb && cb->func != create_worker_cont) + return false; + worker = container_of(cb, struct io_worker, create_work); + return worker->wqe->wq == data; +} + +void io_wq_exit_start(struct io_wq *wq) +{ + set_bit(IO_WQ_BIT_EXIT, &wq->state); +} + +static void io_wq_cancel_tw_create(struct io_wq *wq) +{ + struct callback_head *cb; + + while ((cb = task_work_cancel_match(wq->task, io_task_work_match, wq)) != NULL) { + struct io_worker *worker; + + worker = container_of(cb, struct io_worker, create_work); + io_worker_cancel_cb(worker); + /* + * Only the worker continuation helper has worker allocated and + * hence needs freeing. + */ + if (cb->func == create_worker_cont) + kfree(worker); + } +} + +static void io_wq_exit_workers(struct io_wq *wq) +{ + int node; + + if (!wq->task) + return; + + io_wq_cancel_tw_create(wq); + + rcu_read_lock(); + for_each_node(node) { + struct io_wqe *wqe = wq->wqes[node]; + + io_wq_for_each_worker(wqe, io_wq_worker_wake, NULL); + } + rcu_read_unlock(); + io_worker_ref_put(wq); + wait_for_completion(&wq->worker_done); + + for_each_node(node) { + spin_lock_irq(&wq->hash->wait.lock); + list_del_init(&wq->wqes[node]->wait.entry); + spin_unlock_irq(&wq->hash->wait.lock); + } + put_task_struct(wq->task); + wq->task = NULL; +} + +static void io_wq_destroy(struct io_wq *wq) +{ + int node; + + cpuhp_state_remove_instance_nocalls(io_wq_online, &wq->cpuhp_node); + + for_each_node(node) { + struct io_wqe *wqe = wq->wqes[node]; + struct io_cb_cancel_data match = { + .fn = io_wq_work_match_all, + .cancel_all = true, + }; + io_wqe_cancel_pending_work(wqe, &match); + free_cpumask_var(wqe->cpu_mask); + kfree(wqe); + } + io_wq_put_hash(wq->hash); + kfree(wq); +} + +void io_wq_put_and_exit(struct io_wq *wq) +{ + WARN_ON_ONCE(!test_bit(IO_WQ_BIT_EXIT, &wq->state)); + + io_wq_exit_workers(wq); + io_wq_destroy(wq); +} + +struct online_data { + unsigned int cpu; + bool online; +}; + +static bool io_wq_worker_affinity(struct io_worker *worker, void *data) +{ + struct online_data *od = data; + + if (od->online) + cpumask_set_cpu(od->cpu, worker->wqe->cpu_mask); + else + cpumask_clear_cpu(od->cpu, worker->wqe->cpu_mask); + return false; +} + +static int __io_wq_cpu_online(struct io_wq *wq, unsigned int cpu, bool online) +{ + struct online_data od = { + .cpu = cpu, + .online = online + }; + int i; + + rcu_read_lock(); + for_each_node(i) + io_wq_for_each_worker(wq->wqes[i], io_wq_worker_affinity, &od); + rcu_read_unlock(); + return 0; +} + +static int io_wq_cpu_online(unsigned int cpu, struct hlist_node *node) +{ + struct io_wq *wq = hlist_entry_safe(node, struct io_wq, cpuhp_node); + + return __io_wq_cpu_online(wq, cpu, true); +} + +static int io_wq_cpu_offline(unsigned int cpu, struct hlist_node *node) +{ + struct io_wq *wq = hlist_entry_safe(node, struct io_wq, cpuhp_node); + + return __io_wq_cpu_online(wq, cpu, false); +} + +int io_wq_cpu_affinity(struct io_wq *wq, cpumask_var_t mask) +{ + int i; + + rcu_read_lock(); + for_each_node(i) { + struct io_wqe *wqe = wq->wqes[i]; + + if (mask) + cpumask_copy(wqe->cpu_mask, mask); + else + cpumask_copy(wqe->cpu_mask, cpumask_of_node(i)); + } + rcu_read_unlock(); + return 0; +} + +/* + * Set max number of unbounded workers, returns old value. If new_count is 0, + * then just return the old value. + */ +int io_wq_max_workers(struct io_wq *wq, int *new_count) +{ + int prev[IO_WQ_ACCT_NR]; + bool first_node = true; + int i, node; + + BUILD_BUG_ON((int) IO_WQ_ACCT_BOUND != (int) IO_WQ_BOUND); + BUILD_BUG_ON((int) IO_WQ_ACCT_UNBOUND != (int) IO_WQ_UNBOUND); + BUILD_BUG_ON((int) IO_WQ_ACCT_NR != 2); + + for (i = 0; i < IO_WQ_ACCT_NR; i++) { + if (new_count[i] > task_rlimit(current, RLIMIT_NPROC)) + new_count[i] = task_rlimit(current, RLIMIT_NPROC); + } + + for (i = 0; i < IO_WQ_ACCT_NR; i++) + prev[i] = 0; + + rcu_read_lock(); + for_each_node(node) { + struct io_wqe *wqe = wq->wqes[node]; + struct io_wqe_acct *acct; + + raw_spin_lock(&wqe->lock); + for (i = 0; i < IO_WQ_ACCT_NR; i++) { + acct = &wqe->acct[i]; + if (first_node) + prev[i] = max_t(int, acct->max_workers, prev[i]); + if (new_count[i]) + acct->max_workers = new_count[i]; + } + raw_spin_unlock(&wqe->lock); + first_node = false; + } + rcu_read_unlock(); + + for (i = 0; i < IO_WQ_ACCT_NR; i++) + new_count[i] = prev[i]; + + return 0; +} + +static __init int io_wq_init(void) +{ + int ret; + + ret = cpuhp_setup_state_multi(CPUHP_AP_ONLINE_DYN, "io-wq/online", + io_wq_cpu_online, io_wq_cpu_offline); + if (ret < 0) + return ret; + io_wq_online = ret; + return 0; +} +subsys_initcall(io_wq_init); --- linux-gcp-5.19.0.orig/io_uring/io-wq.h +++ linux-gcp-5.19.0/io_uring/io-wq.h @@ -0,0 +1,228 @@ +#ifndef INTERNAL_IO_WQ_H +#define INTERNAL_IO_WQ_H + +#include + +struct io_wq; + +enum { + IO_WQ_WORK_CANCEL = 1, + IO_WQ_WORK_HASHED = 2, + IO_WQ_WORK_UNBOUND = 4, + IO_WQ_WORK_CONCURRENT = 16, + + IO_WQ_HASH_SHIFT = 24, /* upper 8 bits are used for hash key */ +}; + +enum io_wq_cancel { + IO_WQ_CANCEL_OK, /* cancelled before started */ + IO_WQ_CANCEL_RUNNING, /* found, running, and attempted cancelled */ + IO_WQ_CANCEL_NOTFOUND, /* work not found */ +}; + +struct io_wq_work_node { + struct io_wq_work_node *next; +}; + +struct io_wq_work_list { + struct io_wq_work_node *first; + struct io_wq_work_node *last; +}; + +#define wq_list_for_each(pos, prv, head) \ + for (pos = (head)->first, prv = NULL; pos; prv = pos, pos = (pos)->next) + +#define wq_list_for_each_resume(pos, prv) \ + for (; pos; prv = pos, pos = (pos)->next) + +#define wq_list_empty(list) (READ_ONCE((list)->first) == NULL) +#define INIT_WQ_LIST(list) do { \ + (list)->first = NULL; \ +} while (0) + +static inline void wq_list_add_after(struct io_wq_work_node *node, + struct io_wq_work_node *pos, + struct io_wq_work_list *list) +{ + struct io_wq_work_node *next = pos->next; + + pos->next = node; + node->next = next; + if (!next) + list->last = node; +} + +/** + * wq_list_merge - merge the second list to the first one. + * @list0: the first list + * @list1: the second list + * Return the first node after mergence. + */ +static inline struct io_wq_work_node *wq_list_merge(struct io_wq_work_list *list0, + struct io_wq_work_list *list1) +{ + struct io_wq_work_node *ret; + + if (!list0->first) { + ret = list1->first; + } else { + ret = list0->first; + list0->last->next = list1->first; + } + INIT_WQ_LIST(list0); + INIT_WQ_LIST(list1); + return ret; +} + +static inline void wq_list_add_tail(struct io_wq_work_node *node, + struct io_wq_work_list *list) +{ + node->next = NULL; + if (!list->first) { + list->last = node; + WRITE_ONCE(list->first, node); + } else { + list->last->next = node; + list->last = node; + } +} + +static inline void wq_list_add_head(struct io_wq_work_node *node, + struct io_wq_work_list *list) +{ + node->next = list->first; + if (!node->next) + list->last = node; + WRITE_ONCE(list->first, node); +} + +static inline void wq_list_cut(struct io_wq_work_list *list, + struct io_wq_work_node *last, + struct io_wq_work_node *prev) +{ + /* first in the list, if prev==NULL */ + if (!prev) + WRITE_ONCE(list->first, last->next); + else + prev->next = last->next; + + if (last == list->last) + list->last = prev; + last->next = NULL; +} + +static inline void __wq_list_splice(struct io_wq_work_list *list, + struct io_wq_work_node *to) +{ + list->last->next = to->next; + to->next = list->first; + INIT_WQ_LIST(list); +} + +static inline bool wq_list_splice(struct io_wq_work_list *list, + struct io_wq_work_node *to) +{ + if (!wq_list_empty(list)) { + __wq_list_splice(list, to); + return true; + } + return false; +} + +static inline void wq_stack_add_head(struct io_wq_work_node *node, + struct io_wq_work_node *stack) +{ + node->next = stack->next; + stack->next = node; +} + +static inline void wq_list_del(struct io_wq_work_list *list, + struct io_wq_work_node *node, + struct io_wq_work_node *prev) +{ + wq_list_cut(list, node, prev); +} + +static inline +struct io_wq_work_node *wq_stack_extract(struct io_wq_work_node *stack) +{ + struct io_wq_work_node *node = stack->next; + + stack->next = node->next; + return node; +} + +struct io_wq_work { + struct io_wq_work_node list; + unsigned flags; + int cancel_seq; +}; + +static inline struct io_wq_work *wq_next_work(struct io_wq_work *work) +{ + if (!work->list.next) + return NULL; + + return container_of(work->list.next, struct io_wq_work, list); +} + +typedef struct io_wq_work *(free_work_fn)(struct io_wq_work *); +typedef void (io_wq_work_fn)(struct io_wq_work *); + +struct io_wq_hash { + refcount_t refs; + unsigned long map; + struct wait_queue_head wait; +}; + +static inline void io_wq_put_hash(struct io_wq_hash *hash) +{ + if (refcount_dec_and_test(&hash->refs)) + kfree(hash); +} + +struct io_wq_data { + struct io_wq_hash *hash; + struct task_struct *task; + io_wq_work_fn *do_work; + free_work_fn *free_work; +}; + +struct io_wq *io_wq_create(unsigned bounded, struct io_wq_data *data); +void io_wq_exit_start(struct io_wq *wq); +void io_wq_put_and_exit(struct io_wq *wq); + +void io_wq_enqueue(struct io_wq *wq, struct io_wq_work *work); +void io_wq_hash_work(struct io_wq_work *work, void *val); + +int io_wq_cpu_affinity(struct io_wq *wq, cpumask_var_t mask); +int io_wq_max_workers(struct io_wq *wq, int *new_count); + +static inline bool io_wq_is_hashed(struct io_wq_work *work) +{ + return work->flags & IO_WQ_WORK_HASHED; +} + +typedef bool (work_cancel_fn)(struct io_wq_work *, void *); + +enum io_wq_cancel io_wq_cancel_cb(struct io_wq *wq, work_cancel_fn *cancel, + void *data, bool cancel_all); + +#if defined(CONFIG_IO_WQ) +extern void io_wq_worker_sleeping(struct task_struct *); +extern void io_wq_worker_running(struct task_struct *); +#else +static inline void io_wq_worker_sleeping(struct task_struct *tsk) +{ +} +static inline void io_wq_worker_running(struct task_struct *tsk) +{ +} +#endif + +static inline bool io_wq_current_is_worker(void) +{ + return in_task() && (current->flags & PF_IO_WORKER) && + current->worker_private; +} +#endif --- linux-gcp-5.19.0.orig/io_uring/io_uring.c +++ linux-gcp-5.19.0/io_uring/io_uring.c @@ -0,0 +1,13285 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Shared application/kernel submission and completion ring pairs, for + * supporting fast/efficient IO. + * + * A note on the read/write ordering memory barriers that are matched between + * the application and kernel side. + * + * After the application reads the CQ ring tail, it must use an + * appropriate smp_rmb() to pair with the smp_wmb() the kernel uses + * before writing the tail (using smp_load_acquire to read the tail will + * do). It also needs a smp_mb() before updating CQ head (ordering the + * entry load(s) with the head store), pairing with an implicit barrier + * through a control-dependency in io_get_cqe (smp_store_release to + * store head will do). Failure to do so could lead to reading invalid + * CQ entries. + * + * Likewise, the application must use an appropriate smp_wmb() before + * writing the SQ tail (ordering SQ entry stores with the tail store), + * which pairs with smp_load_acquire in io_get_sqring (smp_store_release + * to store the tail will do). And it needs a barrier ordering the SQ + * head load before writing new SQ entries (smp_load_acquire to read + * head will do). + * + * When using the SQ poll thread (IORING_SETUP_SQPOLL), the application + * needs to check the SQ flags for IORING_SQ_NEED_WAKEUP *after* + * updating the SQ tail; a full memory barrier smp_mb() is needed + * between. + * + * Also see the examples in the liburing library: + * + * git://git.kernel.dk/liburing + * + * io_uring also uses READ/WRITE_ONCE() for _any_ store or load that happens + * from data shared between the kernel and application. This is done both + * for ordering purposes, but also to ensure that once a value is loaded from + * data that the application could potentially modify, it remains stable. + * + * Copyright (C) 2018-2019 Jens Axboe + * Copyright (c) 2018-2019 Christoph Hellwig + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define CREATE_TRACE_POINTS +#include + +#include + +#include "../fs/internal.h" +#include "io-wq.h" + +#define IORING_MAX_ENTRIES 32768 +#define IORING_MAX_CQ_ENTRIES (2 * IORING_MAX_ENTRIES) +#define IORING_SQPOLL_CAP_ENTRIES_VALUE 8 + +/* only define max */ +#define IORING_MAX_FIXED_FILES (1U << 20) +#define IORING_MAX_RESTRICTIONS (IORING_RESTRICTION_LAST + \ + IORING_REGISTER_LAST + IORING_OP_LAST) + +#define IO_RSRC_TAG_TABLE_SHIFT (PAGE_SHIFT - 3) +#define IO_RSRC_TAG_TABLE_MAX (1U << IO_RSRC_TAG_TABLE_SHIFT) +#define IO_RSRC_TAG_TABLE_MASK (IO_RSRC_TAG_TABLE_MAX - 1) + +#define IORING_MAX_REG_BUFFERS (1U << 14) + +#define SQE_COMMON_FLAGS (IOSQE_FIXED_FILE | IOSQE_IO_LINK | \ + IOSQE_IO_HARDLINK | IOSQE_ASYNC) + +#define SQE_VALID_FLAGS (SQE_COMMON_FLAGS | IOSQE_BUFFER_SELECT | \ + IOSQE_IO_DRAIN | IOSQE_CQE_SKIP_SUCCESS) + +#define IO_REQ_CLEAN_FLAGS (REQ_F_BUFFER_SELECTED | REQ_F_NEED_CLEANUP | \ + REQ_F_POLLED | REQ_F_INFLIGHT | REQ_F_CREDS | \ + REQ_F_ASYNC_DATA) + +#define IO_REQ_CLEAN_SLOW_FLAGS (REQ_F_REFCOUNT | REQ_F_LINK | REQ_F_HARDLINK |\ + IO_REQ_CLEAN_FLAGS) + +#define IO_APOLL_MULTI_POLLED (REQ_F_APOLL_MULTISHOT | REQ_F_POLLED) + +#define IO_TCTX_REFS_CACHE_NR (1U << 10) + +struct io_uring { + u32 head ____cacheline_aligned_in_smp; + u32 tail ____cacheline_aligned_in_smp; +}; + +/* + * This data is shared with the application through the mmap at offsets + * IORING_OFF_SQ_RING and IORING_OFF_CQ_RING. + * + * The offsets to the member fields are published through struct + * io_sqring_offsets when calling io_uring_setup. + */ +struct io_rings { + /* + * Head and tail offsets into the ring; the offsets need to be + * masked to get valid indices. + * + * The kernel controls head of the sq ring and the tail of the cq ring, + * and the application controls tail of the sq ring and the head of the + * cq ring. + */ + struct io_uring sq, cq; + /* + * Bitmasks to apply to head and tail offsets (constant, equals + * ring_entries - 1) + */ + u32 sq_ring_mask, cq_ring_mask; + /* Ring sizes (constant, power of 2) */ + u32 sq_ring_entries, cq_ring_entries; + /* + * Number of invalid entries dropped by the kernel due to + * invalid index stored in array + * + * Written by the kernel, shouldn't be modified by the + * application (i.e. get number of "new events" by comparing to + * cached value). + * + * After a new SQ head value was read by the application this + * counter includes all submissions that were dropped reaching + * the new SQ head (and possibly more). + */ + u32 sq_dropped; + /* + * Runtime SQ flags + * + * Written by the kernel, shouldn't be modified by the + * application. + * + * The application needs a full memory barrier before checking + * for IORING_SQ_NEED_WAKEUP after updating the sq tail. + */ + atomic_t sq_flags; + /* + * Runtime CQ flags + * + * Written by the application, shouldn't be modified by the + * kernel. + */ + u32 cq_flags; + /* + * Number of completion events lost because the queue was full; + * this should be avoided by the application by making sure + * there are not more requests pending than there is space in + * the completion queue. + * + * Written by the kernel, shouldn't be modified by the + * application (i.e. get number of "new events" by comparing to + * cached value). + * + * As completion events come in out of order this counter is not + * ordered with any other data. + */ + u32 cq_overflow; + /* + * Ring buffer of completion events. + * + * The kernel writes completion events fresh every time they are + * produced, so the application is allowed to modify pending + * entries. + */ + struct io_uring_cqe cqes[] ____cacheline_aligned_in_smp; +}; + +struct io_mapped_ubuf { + u64 ubuf; + u64 ubuf_end; + unsigned int nr_bvecs; + unsigned long acct_pages; + struct bio_vec bvec[]; +}; + +struct io_ring_ctx; + +struct io_overflow_cqe { + struct list_head list; + struct io_uring_cqe cqe; +}; + +/* + * FFS_SCM is only available on 64-bit archs, for 32-bit we just define it as 0 + * and define IO_URING_SCM_ALL. For this case, we use SCM for all files as we + * can't safely always dereference the file when the task has exited and ring + * cleanup is done. If a file is tracked and part of SCM, then unix gc on + * process exit may reap it before __io_sqe_files_unregister() is run. + */ +#define FFS_NOWAIT 0x1UL +#define FFS_ISREG 0x2UL +#if defined(CONFIG_64BIT) +#define FFS_SCM 0x4UL +#else +#define IO_URING_SCM_ALL +#define FFS_SCM 0x0UL +#endif +#define FFS_MASK ~(FFS_NOWAIT|FFS_ISREG|FFS_SCM) + +struct io_fixed_file { + /* file * with additional FFS_* flags */ + unsigned long file_ptr; +}; + +struct io_rsrc_put { + struct list_head list; + u64 tag; + union { + void *rsrc; + struct file *file; + struct io_mapped_ubuf *buf; + }; +}; + +struct io_file_table { + struct io_fixed_file *files; + unsigned long *bitmap; + unsigned int alloc_hint; +}; + +struct io_rsrc_node { + struct percpu_ref refs; + struct list_head node; + struct list_head rsrc_list; + struct io_rsrc_data *rsrc_data; + struct llist_node llist; + bool done; +}; + +typedef void (rsrc_put_fn)(struct io_ring_ctx *ctx, struct io_rsrc_put *prsrc); + +struct io_rsrc_data { + struct io_ring_ctx *ctx; + + u64 **tags; + unsigned int nr; + rsrc_put_fn *do_put; + atomic_t refs; + struct completion done; + bool quiesce; +}; + +#define IO_BUFFER_LIST_BUF_PER_PAGE (PAGE_SIZE / sizeof(struct io_uring_buf)) +struct io_buffer_list { + /* + * If ->buf_nr_pages is set, then buf_pages/buf_ring are used. If not, + * then these are classic provided buffers and ->buf_list is used. + */ + union { + struct list_head buf_list; + struct { + struct page **buf_pages; + struct io_uring_buf_ring *buf_ring; + }; + }; + __u16 bgid; + + /* below is for ring provided buffers */ + __u16 buf_nr_pages; + __u16 nr_entries; + __u16 head; + __u16 mask; +}; + +struct io_buffer { + struct list_head list; + __u64 addr; + __u32 len; + __u16 bid; + __u16 bgid; +}; + +struct io_restriction { + DECLARE_BITMAP(register_op, IORING_REGISTER_LAST); + DECLARE_BITMAP(sqe_op, IORING_OP_LAST); + u8 sqe_flags_allowed; + u8 sqe_flags_required; + bool registered; +}; + +enum { + IO_SQ_THREAD_SHOULD_STOP = 0, + IO_SQ_THREAD_SHOULD_PARK, +}; + +struct io_sq_data { + refcount_t refs; + atomic_t park_pending; + struct mutex lock; + + /* ctx's that are using this sqd */ + struct list_head ctx_list; + + struct task_struct *thread; + struct wait_queue_head wait; + + unsigned sq_thread_idle; + int sq_cpu; + pid_t task_pid; + pid_t task_tgid; + + unsigned long state; + struct completion exited; +}; + +#define IO_COMPL_BATCH 32 +#define IO_REQ_CACHE_SIZE 32 +#define IO_REQ_ALLOC_BATCH 8 + +struct io_submit_link { + struct io_kiocb *head; + struct io_kiocb *last; +}; + +struct io_submit_state { + /* inline/task_work completion list, under ->uring_lock */ + struct io_wq_work_node free_list; + /* batch completion logic */ + struct io_wq_work_list compl_reqs; + struct io_submit_link link; + + bool plug_started; + bool need_plug; + bool flush_cqes; + unsigned short submit_nr; + struct blk_plug plug; +}; + +struct io_ev_fd { + struct eventfd_ctx *cq_ev_fd; + unsigned int eventfd_async: 1; + struct rcu_head rcu; +}; + +#define BGID_ARRAY 64 + +struct io_ring_ctx { + /* const or read-mostly hot data */ + struct { + struct percpu_ref refs; + + struct io_rings *rings; + unsigned int flags; + enum task_work_notify_mode notify_method; + unsigned int compat: 1; + unsigned int drain_next: 1; + unsigned int restricted: 1; + unsigned int off_timeout_used: 1; + unsigned int drain_active: 1; + unsigned int drain_disabled: 1; + unsigned int has_evfd: 1; + unsigned int syscall_iopoll: 1; + } ____cacheline_aligned_in_smp; + + /* submission data */ + struct { + struct mutex uring_lock; + + /* + * Ring buffer of indices into array of io_uring_sqe, which is + * mmapped by the application using the IORING_OFF_SQES offset. + * + * This indirection could e.g. be used to assign fixed + * io_uring_sqe entries to operations and only submit them to + * the queue when needed. + * + * The kernel modifies neither the indices array nor the entries + * array. + */ + u32 *sq_array; + struct io_uring_sqe *sq_sqes; + unsigned cached_sq_head; + unsigned sq_entries; + struct list_head defer_list; + + /* + * Fixed resources fast path, should be accessed only under + * uring_lock, and updated through io_uring_register(2) + */ + struct io_rsrc_node *rsrc_node; + int rsrc_cached_refs; + atomic_t cancel_seq; + struct io_file_table file_table; + unsigned nr_user_files; + unsigned nr_user_bufs; + struct io_mapped_ubuf **user_bufs; + + struct io_submit_state submit_state; + + struct io_buffer_list *io_bl; + struct xarray io_bl_xa; + struct list_head io_buffers_cache; + + struct list_head timeout_list; + struct list_head ltimeout_list; + struct list_head cq_overflow_list; + struct list_head apoll_cache; + struct xarray personalities; + u32 pers_next; + unsigned sq_thread_idle; + } ____cacheline_aligned_in_smp; + + /* IRQ completion list, under ->completion_lock */ + struct io_wq_work_list locked_free_list; + unsigned int locked_free_nr; + + const struct cred *sq_creds; /* cred used for __io_sq_thread() */ + struct io_sq_data *sq_data; /* if using sq thread polling */ + + struct wait_queue_head sqo_sq_wait; + struct list_head sqd_list; + + unsigned long check_cq; + + struct { + /* + * We cache a range of free CQEs we can use, once exhausted it + * should go through a slower range setup, see __io_get_cqe() + */ + struct io_uring_cqe *cqe_cached; + struct io_uring_cqe *cqe_sentinel; + + unsigned cached_cq_tail; + unsigned cq_entries; + struct io_ev_fd __rcu *io_ev_fd; + struct wait_queue_head cq_wait; + unsigned cq_extra; + atomic_t cq_timeouts; + unsigned cq_last_tm_flush; + } ____cacheline_aligned_in_smp; + + struct { + spinlock_t completion_lock; + + spinlock_t timeout_lock; + + /* + * ->iopoll_list is protected by the ctx->uring_lock for + * io_uring instances that don't use IORING_SETUP_SQPOLL. + * For SQPOLL, only the single threaded io_sq_thread() will + * manipulate the list, hence no extra locking is needed there. + */ + struct io_wq_work_list iopoll_list; + struct hlist_head *cancel_hash; + unsigned cancel_hash_bits; + bool poll_multi_queue; + + struct list_head io_buffers_comp; + } ____cacheline_aligned_in_smp; + + struct io_restriction restrictions; + + /* slow path rsrc auxilary data, used by update/register */ + struct { + struct io_rsrc_node *rsrc_backup_node; + struct io_mapped_ubuf *dummy_ubuf; + struct io_rsrc_data *file_data; + struct io_rsrc_data *buf_data; + + struct delayed_work rsrc_put_work; + struct llist_head rsrc_put_llist; + struct list_head rsrc_ref_list; + spinlock_t rsrc_ref_lock; + + struct list_head io_buffers_pages; + }; + + /* Keep this last, we don't need it for the fast path */ + struct { + #if defined(CONFIG_UNIX) + struct socket *ring_sock; + #endif + /* hashed buffered write serialization */ + struct io_wq_hash *hash_map; + + /* Only used for accounting purposes */ + struct user_struct *user; + struct mm_struct *mm_account; + + /* ctx exit and cancelation */ + struct llist_head fallback_llist; + struct delayed_work fallback_work; + struct work_struct exit_work; + struct list_head tctx_list; + struct completion ref_comp; + u32 iowq_limits[2]; + bool iowq_limits_set; + }; +}; + +/* + * Arbitrary limit, can be raised if need be + */ +#define IO_RINGFD_REG_MAX 16 + +struct io_uring_task { + /* submission side */ + int cached_refs; + struct xarray xa; + struct wait_queue_head wait; + const struct io_ring_ctx *last; + struct io_wq *io_wq; + struct percpu_counter inflight; + atomic_t inflight_tracked; + atomic_t in_idle; + + spinlock_t task_lock; + struct io_wq_work_list task_list; + struct io_wq_work_list prio_task_list; + struct callback_head task_work; + struct file **registered_rings; + bool task_running; +}; + +/* + * First field must be the file pointer in all the + * iocb unions! See also 'struct kiocb' in + */ +struct io_poll_iocb { + struct file *file; + struct wait_queue_head *head; + __poll_t events; + int retries; + struct wait_queue_entry wait; +}; + +struct io_poll_update { + struct file *file; + u64 old_user_data; + u64 new_user_data; + __poll_t events; + bool update_events; + bool update_user_data; +}; + +struct io_close { + struct file *file; + int fd; + u32 file_slot; +}; + +struct io_timeout_data { + struct io_kiocb *req; + struct hrtimer timer; + struct timespec64 ts; + enum hrtimer_mode mode; + u32 flags; +}; + +struct io_accept { + struct file *file; + struct sockaddr __user *addr; + int __user *addr_len; + int flags; + u32 file_slot; + unsigned long nofile; +}; + +struct io_socket { + struct file *file; + int domain; + int type; + int protocol; + int flags; + u32 file_slot; + unsigned long nofile; +}; + +struct io_sync { + struct file *file; + loff_t len; + loff_t off; + int flags; + int mode; +}; + +struct io_cancel { + struct file *file; + u64 addr; + u32 flags; + s32 fd; +}; + +struct io_timeout { + struct file *file; + u32 off; + u32 target_seq; + struct list_head list; + /* head of the link, used by linked timeouts only */ + struct io_kiocb *head; + /* for linked completions */ + struct io_kiocb *prev; +}; + +struct io_timeout_rem { + struct file *file; + u64 addr; + + /* timeout update */ + struct timespec64 ts; + u32 flags; + bool ltimeout; +}; + +struct io_rw { + /* NOTE: kiocb has the file as the first member, so don't do it here */ + struct kiocb kiocb; + u64 addr; + u32 len; + rwf_t flags; +}; + +struct io_connect { + struct file *file; + struct sockaddr __user *addr; + int addr_len; +}; + +struct io_sr_msg { + struct file *file; + union { + struct compat_msghdr __user *umsg_compat; + struct user_msghdr __user *umsg; + void __user *buf; + }; + int msg_flags; + size_t len; + size_t done_io; + unsigned int flags; +}; + +struct io_open { + struct file *file; + int dfd; + u32 file_slot; + struct filename *filename; + struct open_how how; + unsigned long nofile; +}; + +struct io_rsrc_update { + struct file *file; + u64 arg; + u32 nr_args; + u32 offset; +}; + +struct io_fadvise { + struct file *file; + u64 offset; + u32 len; + u32 advice; +}; + +struct io_madvise { + struct file *file; + u64 addr; + u32 len; + u32 advice; +}; + +struct io_epoll { + struct file *file; + int epfd; + int op; + int fd; + struct epoll_event event; +}; + +struct io_splice { + struct file *file_out; + loff_t off_out; + loff_t off_in; + u64 len; + int splice_fd_in; + unsigned int flags; +}; + +struct io_provide_buf { + struct file *file; + __u64 addr; + __u32 len; + __u32 bgid; + __u16 nbufs; + __u16 bid; +}; + +struct io_statx { + struct file *file; + int dfd; + unsigned int mask; + unsigned int flags; + struct filename *filename; + struct statx __user *buffer; +}; + +struct io_shutdown { + struct file *file; + int how; +}; + +struct io_rename { + struct file *file; + int old_dfd; + int new_dfd; + struct filename *oldpath; + struct filename *newpath; + int flags; +}; + +struct io_unlink { + struct file *file; + int dfd; + int flags; + struct filename *filename; +}; + +struct io_mkdir { + struct file *file; + int dfd; + umode_t mode; + struct filename *filename; +}; + +struct io_symlink { + struct file *file; + int new_dfd; + struct filename *oldpath; + struct filename *newpath; +}; + +struct io_hardlink { + struct file *file; + int old_dfd; + int new_dfd; + struct filename *oldpath; + struct filename *newpath; + int flags; +}; + +struct io_msg { + struct file *file; + u64 user_data; + u32 len; +}; + +struct io_async_connect { + struct sockaddr_storage address; +}; + +struct io_async_msghdr { + struct iovec fast_iov[UIO_FASTIOV]; + /* points to an allocated iov, if NULL we use fast_iov instead */ + struct iovec *free_iov; + struct sockaddr __user *uaddr; + struct msghdr msg; + struct sockaddr_storage addr; +}; + +struct io_rw_state { + struct iov_iter iter; + struct iov_iter_state iter_state; + struct iovec fast_iov[UIO_FASTIOV]; +}; + +struct io_async_rw { + struct io_rw_state s; + const struct iovec *free_iovec; + size_t bytes_done; + struct wait_page_queue wpq; +}; + +struct io_xattr { + struct file *file; + struct xattr_ctx ctx; + struct filename *filename; +}; + +enum { + REQ_F_FIXED_FILE_BIT = IOSQE_FIXED_FILE_BIT, + REQ_F_IO_DRAIN_BIT = IOSQE_IO_DRAIN_BIT, + REQ_F_LINK_BIT = IOSQE_IO_LINK_BIT, + REQ_F_HARDLINK_BIT = IOSQE_IO_HARDLINK_BIT, + REQ_F_FORCE_ASYNC_BIT = IOSQE_ASYNC_BIT, + REQ_F_BUFFER_SELECT_BIT = IOSQE_BUFFER_SELECT_BIT, + REQ_F_CQE_SKIP_BIT = IOSQE_CQE_SKIP_SUCCESS_BIT, + + /* first byte is taken by user flags, shift it to not overlap */ + REQ_F_FAIL_BIT = 8, + REQ_F_INFLIGHT_BIT, + REQ_F_CUR_POS_BIT, + REQ_F_NOWAIT_BIT, + REQ_F_LINK_TIMEOUT_BIT, + REQ_F_NEED_CLEANUP_BIT, + REQ_F_POLLED_BIT, + REQ_F_BUFFER_SELECTED_BIT, + REQ_F_BUFFER_RING_BIT, + REQ_F_COMPLETE_INLINE_BIT, + REQ_F_REISSUE_BIT, + REQ_F_CREDS_BIT, + REQ_F_REFCOUNT_BIT, + REQ_F_ARM_LTIMEOUT_BIT, + REQ_F_ASYNC_DATA_BIT, + REQ_F_SKIP_LINK_CQES_BIT, + REQ_F_SINGLE_POLL_BIT, + REQ_F_DOUBLE_POLL_BIT, + REQ_F_PARTIAL_IO_BIT, + REQ_F_CQE32_INIT_BIT, + REQ_F_APOLL_MULTISHOT_BIT, + /* keep async read/write and isreg together and in order */ + REQ_F_SUPPORT_NOWAIT_BIT, + REQ_F_ISREG_BIT, + + /* not a real bit, just to check we're not overflowing the space */ + __REQ_F_LAST_BIT, +}; + +enum { + /* ctx owns file */ + REQ_F_FIXED_FILE = BIT(REQ_F_FIXED_FILE_BIT), + /* drain existing IO first */ + REQ_F_IO_DRAIN = BIT(REQ_F_IO_DRAIN_BIT), + /* linked sqes */ + REQ_F_LINK = BIT(REQ_F_LINK_BIT), + /* doesn't sever on completion < 0 */ + REQ_F_HARDLINK = BIT(REQ_F_HARDLINK_BIT), + /* IOSQE_ASYNC */ + REQ_F_FORCE_ASYNC = BIT(REQ_F_FORCE_ASYNC_BIT), + /* IOSQE_BUFFER_SELECT */ + REQ_F_BUFFER_SELECT = BIT(REQ_F_BUFFER_SELECT_BIT), + /* IOSQE_CQE_SKIP_SUCCESS */ + REQ_F_CQE_SKIP = BIT(REQ_F_CQE_SKIP_BIT), + + /* fail rest of links */ + REQ_F_FAIL = BIT(REQ_F_FAIL_BIT), + /* on inflight list, should be cancelled and waited on exit reliably */ + REQ_F_INFLIGHT = BIT(REQ_F_INFLIGHT_BIT), + /* read/write uses file position */ + REQ_F_CUR_POS = BIT(REQ_F_CUR_POS_BIT), + /* must not punt to workers */ + REQ_F_NOWAIT = BIT(REQ_F_NOWAIT_BIT), + /* has or had linked timeout */ + REQ_F_LINK_TIMEOUT = BIT(REQ_F_LINK_TIMEOUT_BIT), + /* needs cleanup */ + REQ_F_NEED_CLEANUP = BIT(REQ_F_NEED_CLEANUP_BIT), + /* already went through poll handler */ + REQ_F_POLLED = BIT(REQ_F_POLLED_BIT), + /* buffer already selected */ + REQ_F_BUFFER_SELECTED = BIT(REQ_F_BUFFER_SELECTED_BIT), + /* buffer selected from ring, needs commit */ + REQ_F_BUFFER_RING = BIT(REQ_F_BUFFER_RING_BIT), + /* completion is deferred through io_comp_state */ + REQ_F_COMPLETE_INLINE = BIT(REQ_F_COMPLETE_INLINE_BIT), + /* caller should reissue async */ + REQ_F_REISSUE = BIT(REQ_F_REISSUE_BIT), + /* supports async reads/writes */ + REQ_F_SUPPORT_NOWAIT = BIT(REQ_F_SUPPORT_NOWAIT_BIT), + /* regular file */ + REQ_F_ISREG = BIT(REQ_F_ISREG_BIT), + /* has creds assigned */ + REQ_F_CREDS = BIT(REQ_F_CREDS_BIT), + /* skip refcounting if not set */ + REQ_F_REFCOUNT = BIT(REQ_F_REFCOUNT_BIT), + /* there is a linked timeout that has to be armed */ + REQ_F_ARM_LTIMEOUT = BIT(REQ_F_ARM_LTIMEOUT_BIT), + /* ->async_data allocated */ + REQ_F_ASYNC_DATA = BIT(REQ_F_ASYNC_DATA_BIT), + /* don't post CQEs while failing linked requests */ + REQ_F_SKIP_LINK_CQES = BIT(REQ_F_SKIP_LINK_CQES_BIT), + /* single poll may be active */ + REQ_F_SINGLE_POLL = BIT(REQ_F_SINGLE_POLL_BIT), + /* double poll may active */ + REQ_F_DOUBLE_POLL = BIT(REQ_F_DOUBLE_POLL_BIT), + /* request has already done partial IO */ + REQ_F_PARTIAL_IO = BIT(REQ_F_PARTIAL_IO_BIT), + /* fast poll multishot mode */ + REQ_F_APOLL_MULTISHOT = BIT(REQ_F_APOLL_MULTISHOT_BIT), + /* ->extra1 and ->extra2 are initialised */ + REQ_F_CQE32_INIT = BIT(REQ_F_CQE32_INIT_BIT), +}; + +struct async_poll { + struct io_poll_iocb poll; + struct io_poll_iocb *double_poll; +}; + +typedef void (*io_req_tw_func_t)(struct io_kiocb *req, bool *locked); + +struct io_task_work { + union { + struct io_wq_work_node node; + struct llist_node fallback_node; + }; + io_req_tw_func_t func; +}; + +enum { + IORING_RSRC_FILE = 0, + IORING_RSRC_BUFFER = 1, +}; + +struct io_cqe { + __u64 user_data; + __s32 res; + /* fd initially, then cflags for completion */ + union { + __u32 flags; + int fd; + }; +}; + +enum { + IO_CHECK_CQ_OVERFLOW_BIT, + IO_CHECK_CQ_DROPPED_BIT, +}; + +/* + * NOTE! Each of the iocb union members has the file pointer + * as the first entry in their struct definition. So you can + * access the file pointer through any of the sub-structs, + * or directly as just 'file' in this struct. + */ +struct io_kiocb { + union { + struct file *file; + struct io_rw rw; + struct io_poll_iocb poll; + struct io_poll_update poll_update; + struct io_accept accept; + struct io_sync sync; + struct io_cancel cancel; + struct io_timeout timeout; + struct io_timeout_rem timeout_rem; + struct io_connect connect; + struct io_sr_msg sr_msg; + struct io_open open; + struct io_close close; + struct io_rsrc_update rsrc_update; + struct io_fadvise fadvise; + struct io_madvise madvise; + struct io_epoll epoll; + struct io_splice splice; + struct io_provide_buf pbuf; + struct io_statx statx; + struct io_shutdown shutdown; + struct io_rename rename; + struct io_unlink unlink; + struct io_mkdir mkdir; + struct io_symlink symlink; + struct io_hardlink hardlink; + struct io_msg msg; + struct io_xattr xattr; + struct io_socket sock; + struct io_uring_cmd uring_cmd; + }; + + u8 opcode; + /* polled IO has completed */ + u8 iopoll_completed; + /* + * Can be either a fixed buffer index, or used with provided buffers. + * For the latter, before issue it points to the buffer group ID, + * and after selection it points to the buffer ID itself. + */ + u16 buf_index; + unsigned int flags; + + struct io_cqe cqe; + + struct io_ring_ctx *ctx; + struct task_struct *task; + + struct io_rsrc_node *rsrc_node; + + union { + /* store used ubuf, so we can prevent reloading */ + struct io_mapped_ubuf *imu; + + /* stores selected buf, valid IFF REQ_F_BUFFER_SELECTED is set */ + struct io_buffer *kbuf; + + /* + * stores buffer ID for ring provided buffers, valid IFF + * REQ_F_BUFFER_RING is set. + */ + struct io_buffer_list *buf_list; + }; + + union { + /* used by request caches, completion batching and iopoll */ + struct io_wq_work_node comp_list; + /* cache ->apoll->events */ + __poll_t apoll_events; + }; + atomic_t refs; + atomic_t poll_refs; + struct io_task_work io_task_work; + /* for polled requests, i.e. IORING_OP_POLL_ADD and async armed poll */ + union { + struct hlist_node hash_node; + struct { + u64 extra1; + u64 extra2; + }; + }; + /* internal polling, see IORING_FEAT_FAST_POLL */ + struct async_poll *apoll; + /* opcode allocated if it needs to store data for async defer */ + void *async_data; + /* linked requests, IFF REQ_F_HARDLINK or REQ_F_LINK are set */ + struct io_kiocb *link; + /* custom credentials, valid IFF REQ_F_CREDS is set */ + const struct cred *creds; + struct io_wq_work work; +}; + +struct io_tctx_node { + struct list_head ctx_node; + struct task_struct *task; + struct io_ring_ctx *ctx; +}; + +struct io_defer_entry { + struct list_head list; + struct io_kiocb *req; + u32 seq; +}; + +struct io_cancel_data { + struct io_ring_ctx *ctx; + union { + u64 data; + struct file *file; + }; + u32 flags; + int seq; +}; + +/* + * The URING_CMD payload starts at 'cmd' in the first sqe, and continues into + * the following sqe if SQE128 is used. + */ +#define uring_cmd_pdu_size(is_sqe128) \ + ((1 + !!(is_sqe128)) * sizeof(struct io_uring_sqe) - \ + offsetof(struct io_uring_sqe, cmd)) + +struct io_op_def { + /* needs req->file assigned */ + unsigned needs_file : 1; + /* should block plug */ + unsigned plug : 1; + /* hash wq insertion if file is a regular file */ + unsigned hash_reg_file : 1; + /* unbound wq insertion if file is a non-regular file */ + unsigned unbound_nonreg_file : 1; + /* set if opcode supports polled "wait" */ + unsigned pollin : 1; + unsigned pollout : 1; + unsigned poll_exclusive : 1; + /* op supports buffer selection */ + unsigned buffer_select : 1; + /* do prep async if is going to be punted */ + unsigned needs_async_setup : 1; + /* opcode is not supported by this kernel */ + unsigned not_supported : 1; + /* skip auditing */ + unsigned audit_skip : 1; + /* supports ioprio */ + unsigned ioprio : 1; + /* supports iopoll */ + unsigned iopoll : 1; + /* size of async data needed, if any */ + unsigned short async_size; + + int (*prep)(struct io_kiocb *, const struct io_uring_sqe *); + int (*issue)(struct io_kiocb *, unsigned int); +}; + +static const struct io_op_def io_op_defs[]; + +/* requests with any of those set should undergo io_disarm_next() */ +#define IO_DISARM_MASK (REQ_F_ARM_LTIMEOUT | REQ_F_LINK_TIMEOUT | REQ_F_FAIL) +#define IO_REQ_LINK_FLAGS (REQ_F_LINK | REQ_F_HARDLINK) + +static bool io_disarm_next(struct io_kiocb *req); +static void io_uring_del_tctx_node(unsigned long index); +static void io_uring_try_cancel_requests(struct io_ring_ctx *ctx, + struct task_struct *task, + bool cancel_all); +static void io_uring_cancel_generic(bool cancel_all, struct io_sq_data *sqd); + +static void __io_req_complete_post(struct io_kiocb *req, s32 res, u32 cflags); +static void io_dismantle_req(struct io_kiocb *req); +static void io_queue_linked_timeout(struct io_kiocb *req); +static int __io_register_rsrc_update(struct io_ring_ctx *ctx, unsigned type, + struct io_uring_rsrc_update2 *up, + unsigned nr_args); +static void io_clean_op(struct io_kiocb *req); +static inline struct file *io_file_get_fixed(struct io_kiocb *req, int fd, + unsigned issue_flags); +static struct file *io_file_get_normal(struct io_kiocb *req, int fd); +static void io_queue_sqe(struct io_kiocb *req); +static void io_rsrc_put_work(struct work_struct *work); + +static void io_req_task_queue(struct io_kiocb *req); +static void __io_submit_flush_completions(struct io_ring_ctx *ctx); +static int io_req_prep_async(struct io_kiocb *req); + +static int io_install_fixed_file(struct io_kiocb *req, struct file *file, + unsigned int issue_flags, u32 slot_index); +static int __io_close_fixed(struct io_kiocb *req, unsigned int issue_flags, + unsigned int offset); +static inline int io_close_fixed(struct io_kiocb *req, unsigned int issue_flags); + +static enum hrtimer_restart io_link_timeout_fn(struct hrtimer *timer); +static void io_eventfd_signal(struct io_ring_ctx *ctx); +static void io_req_tw_post_queue(struct io_kiocb *req, s32 res, u32 cflags); + +static struct kmem_cache *req_cachep; + +static const struct file_operations io_uring_fops; + +const char *io_uring_get_opcode(u8 opcode) +{ + switch ((enum io_uring_op)opcode) { + case IORING_OP_NOP: + return "NOP"; + case IORING_OP_READV: + return "READV"; + case IORING_OP_WRITEV: + return "WRITEV"; + case IORING_OP_FSYNC: + return "FSYNC"; + case IORING_OP_READ_FIXED: + return "READ_FIXED"; + case IORING_OP_WRITE_FIXED: + return "WRITE_FIXED"; + case IORING_OP_POLL_ADD: + return "POLL_ADD"; + case IORING_OP_POLL_REMOVE: + return "POLL_REMOVE"; + case IORING_OP_SYNC_FILE_RANGE: + return "SYNC_FILE_RANGE"; + case IORING_OP_SENDMSG: + return "SENDMSG"; + case IORING_OP_RECVMSG: + return "RECVMSG"; + case IORING_OP_TIMEOUT: + return "TIMEOUT"; + case IORING_OP_TIMEOUT_REMOVE: + return "TIMEOUT_REMOVE"; + case IORING_OP_ACCEPT: + return "ACCEPT"; + case IORING_OP_ASYNC_CANCEL: + return "ASYNC_CANCEL"; + case IORING_OP_LINK_TIMEOUT: + return "LINK_TIMEOUT"; + case IORING_OP_CONNECT: + return "CONNECT"; + case IORING_OP_FALLOCATE: + return "FALLOCATE"; + case IORING_OP_OPENAT: + return "OPENAT"; + case IORING_OP_CLOSE: + return "CLOSE"; + case IORING_OP_FILES_UPDATE: + return "FILES_UPDATE"; + case IORING_OP_STATX: + return "STATX"; + case IORING_OP_READ: + return "READ"; + case IORING_OP_WRITE: + return "WRITE"; + case IORING_OP_FADVISE: + return "FADVISE"; + case IORING_OP_MADVISE: + return "MADVISE"; + case IORING_OP_SEND: + return "SEND"; + case IORING_OP_RECV: + return "RECV"; + case IORING_OP_OPENAT2: + return "OPENAT2"; + case IORING_OP_EPOLL_CTL: + return "EPOLL_CTL"; + case IORING_OP_SPLICE: + return "SPLICE"; + case IORING_OP_PROVIDE_BUFFERS: + return "PROVIDE_BUFFERS"; + case IORING_OP_REMOVE_BUFFERS: + return "REMOVE_BUFFERS"; + case IORING_OP_TEE: + return "TEE"; + case IORING_OP_SHUTDOWN: + return "SHUTDOWN"; + case IORING_OP_RENAMEAT: + return "RENAMEAT"; + case IORING_OP_UNLINKAT: + return "UNLINKAT"; + case IORING_OP_MKDIRAT: + return "MKDIRAT"; + case IORING_OP_SYMLINKAT: + return "SYMLINKAT"; + case IORING_OP_LINKAT: + return "LINKAT"; + case IORING_OP_MSG_RING: + return "MSG_RING"; + case IORING_OP_FSETXATTR: + return "FSETXATTR"; + case IORING_OP_SETXATTR: + return "SETXATTR"; + case IORING_OP_FGETXATTR: + return "FGETXATTR"; + case IORING_OP_GETXATTR: + return "GETXATTR"; + case IORING_OP_SOCKET: + return "SOCKET"; + case IORING_OP_URING_CMD: + return "URING_CMD"; + case IORING_OP_LAST: + return "INVALID"; + } + return "INVALID"; +} + +struct sock *io_uring_get_socket(struct file *file) +{ +#if defined(CONFIG_UNIX) + if (file->f_op == &io_uring_fops) { + struct io_ring_ctx *ctx = file->private_data; + + return ctx->ring_sock->sk; + } +#endif + return NULL; +} +EXPORT_SYMBOL(io_uring_get_socket); + +#if defined(CONFIG_UNIX) +static inline bool io_file_need_scm(struct file *filp) +{ +#if defined(IO_URING_SCM_ALL) + return true; +#else + return !!unix_get_socket(filp); +#endif +} +#else +static inline bool io_file_need_scm(struct file *filp) +{ + return false; +} +#endif + +static void io_ring_submit_unlock(struct io_ring_ctx *ctx, unsigned issue_flags) +{ + lockdep_assert_held(&ctx->uring_lock); + if (issue_flags & IO_URING_F_UNLOCKED) + mutex_unlock(&ctx->uring_lock); +} + +static void io_ring_submit_lock(struct io_ring_ctx *ctx, unsigned issue_flags) +{ + /* + * "Normal" inline submissions always hold the uring_lock, since we + * grab it from the system call. Same is true for the SQPOLL offload. + * The only exception is when we've detached the request and issue it + * from an async worker thread, grab the lock for that case. + */ + if (issue_flags & IO_URING_F_UNLOCKED) + mutex_lock(&ctx->uring_lock); + lockdep_assert_held(&ctx->uring_lock); +} + +static inline void io_tw_lock(struct io_ring_ctx *ctx, bool *locked) +{ + if (!*locked) { + mutex_lock(&ctx->uring_lock); + *locked = true; + } +} + +#define io_for_each_link(pos, head) \ + for (pos = (head); pos; pos = pos->link) + +/* + * Shamelessly stolen from the mm implementation of page reference checking, + * see commit f958d7b528b1 for details. + */ +#define req_ref_zero_or_close_to_overflow(req) \ + ((unsigned int) atomic_read(&(req->refs)) + 127u <= 127u) + +static inline bool req_ref_inc_not_zero(struct io_kiocb *req) +{ + WARN_ON_ONCE(!(req->flags & REQ_F_REFCOUNT)); + return atomic_inc_not_zero(&req->refs); +} + +static inline bool req_ref_put_and_test(struct io_kiocb *req) +{ + if (likely(!(req->flags & REQ_F_REFCOUNT))) + return true; + + WARN_ON_ONCE(req_ref_zero_or_close_to_overflow(req)); + return atomic_dec_and_test(&req->refs); +} + +static inline void req_ref_get(struct io_kiocb *req) +{ + WARN_ON_ONCE(!(req->flags & REQ_F_REFCOUNT)); + WARN_ON_ONCE(req_ref_zero_or_close_to_overflow(req)); + atomic_inc(&req->refs); +} + +static inline void io_submit_flush_completions(struct io_ring_ctx *ctx) +{ + if (!wq_list_empty(&ctx->submit_state.compl_reqs)) + __io_submit_flush_completions(ctx); +} + +static inline void __io_req_set_refcount(struct io_kiocb *req, int nr) +{ + if (!(req->flags & REQ_F_REFCOUNT)) { + req->flags |= REQ_F_REFCOUNT; + atomic_set(&req->refs, nr); + } +} + +static inline void io_req_set_refcount(struct io_kiocb *req) +{ + __io_req_set_refcount(req, 1); +} + +#define IO_RSRC_REF_BATCH 100 + +static void io_rsrc_put_node(struct io_rsrc_node *node, int nr) +{ + percpu_ref_put_many(&node->refs, nr); +} + +static inline void io_req_put_rsrc_locked(struct io_kiocb *req, + struct io_ring_ctx *ctx) + __must_hold(&ctx->uring_lock) +{ + struct io_rsrc_node *node = req->rsrc_node; + + if (node) { + if (node == ctx->rsrc_node) + ctx->rsrc_cached_refs++; + else + io_rsrc_put_node(node, 1); + } +} + +static inline void io_req_put_rsrc(struct io_kiocb *req) +{ + if (req->rsrc_node) + io_rsrc_put_node(req->rsrc_node, 1); +} + +static __cold void io_rsrc_refs_drop(struct io_ring_ctx *ctx) + __must_hold(&ctx->uring_lock) +{ + if (ctx->rsrc_cached_refs) { + io_rsrc_put_node(ctx->rsrc_node, ctx->rsrc_cached_refs); + ctx->rsrc_cached_refs = 0; + } +} + +static void io_rsrc_refs_refill(struct io_ring_ctx *ctx) + __must_hold(&ctx->uring_lock) +{ + ctx->rsrc_cached_refs += IO_RSRC_REF_BATCH; + percpu_ref_get_many(&ctx->rsrc_node->refs, IO_RSRC_REF_BATCH); +} + +static inline void io_req_set_rsrc_node(struct io_kiocb *req, + struct io_ring_ctx *ctx, + unsigned int issue_flags) +{ + if (!req->rsrc_node) { + req->rsrc_node = ctx->rsrc_node; + + if (!(issue_flags & IO_URING_F_UNLOCKED)) { + lockdep_assert_held(&ctx->uring_lock); + ctx->rsrc_cached_refs--; + if (unlikely(ctx->rsrc_cached_refs < 0)) + io_rsrc_refs_refill(ctx); + } else { + percpu_ref_get(&req->rsrc_node->refs); + } + } +} + +static unsigned int __io_put_kbuf(struct io_kiocb *req, struct list_head *list) +{ + if (req->flags & REQ_F_BUFFER_RING) { + if (req->buf_list) + req->buf_list->head++; + req->flags &= ~REQ_F_BUFFER_RING; + } else { + list_add(&req->kbuf->list, list); + req->flags &= ~REQ_F_BUFFER_SELECTED; + } + + return IORING_CQE_F_BUFFER | (req->buf_index << IORING_CQE_BUFFER_SHIFT); +} + +static inline unsigned int io_put_kbuf_comp(struct io_kiocb *req) +{ + lockdep_assert_held(&req->ctx->completion_lock); + + if (!(req->flags & (REQ_F_BUFFER_SELECTED|REQ_F_BUFFER_RING))) + return 0; + return __io_put_kbuf(req, &req->ctx->io_buffers_comp); +} + +static inline unsigned int io_put_kbuf(struct io_kiocb *req, + unsigned issue_flags) +{ + unsigned int cflags; + + if (!(req->flags & (REQ_F_BUFFER_SELECTED|REQ_F_BUFFER_RING))) + return 0; + + /* + * We can add this buffer back to two lists: + * + * 1) The io_buffers_cache list. This one is protected by the + * ctx->uring_lock. If we already hold this lock, add back to this + * list as we can grab it from issue as well. + * 2) The io_buffers_comp list. This one is protected by the + * ctx->completion_lock. + * + * We migrate buffers from the comp_list to the issue cache list + * when we need one. + */ + if (req->flags & REQ_F_BUFFER_RING) { + /* no buffers to recycle for this case */ + cflags = __io_put_kbuf(req, NULL); + } else if (issue_flags & IO_URING_F_UNLOCKED) { + struct io_ring_ctx *ctx = req->ctx; + + spin_lock(&ctx->completion_lock); + cflags = __io_put_kbuf(req, &ctx->io_buffers_comp); + spin_unlock(&ctx->completion_lock); + } else { + lockdep_assert_held(&req->ctx->uring_lock); + + cflags = __io_put_kbuf(req, &req->ctx->io_buffers_cache); + } + + return cflags; +} + +static struct io_buffer_list *io_buffer_get_list(struct io_ring_ctx *ctx, + unsigned int bgid) +{ + if (ctx->io_bl && bgid < BGID_ARRAY) + return &ctx->io_bl[bgid]; + + return xa_load(&ctx->io_bl_xa, bgid); +} + +static void io_kbuf_recycle(struct io_kiocb *req, unsigned issue_flags) +{ + struct io_ring_ctx *ctx = req->ctx; + struct io_buffer_list *bl; + struct io_buffer *buf; + + if (!(req->flags & (REQ_F_BUFFER_SELECTED|REQ_F_BUFFER_RING))) + return; + /* + * For legacy provided buffer mode, don't recycle if we already did + * IO to this buffer. For ring-mapped provided buffer mode, we should + * increment ring->head to explicitly monopolize the buffer to avoid + * multiple use. + */ + if ((req->flags & REQ_F_BUFFER_SELECTED) && + (req->flags & REQ_F_PARTIAL_IO)) + return; + + /* + * READV uses fields in `struct io_rw` (len/addr) to stash the selected + * buffer data. However if that buffer is recycled the original request + * data stored in addr is lost. Therefore forbid recycling for now. + */ + if (req->opcode == IORING_OP_READV) + return; + + /* + * We don't need to recycle for REQ_F_BUFFER_RING, we can just clear + * the flag and hence ensure that bl->head doesn't get incremented. + * If the tail has already been incremented, hang on to it. + */ + if (req->flags & REQ_F_BUFFER_RING) { + if (req->buf_list) { + if (req->flags & REQ_F_PARTIAL_IO) { + req->buf_list->head++; + req->buf_list = NULL; + } else { + req->buf_index = req->buf_list->bgid; + req->flags &= ~REQ_F_BUFFER_RING; + } + } + return; + } + + io_ring_submit_lock(ctx, issue_flags); + + buf = req->kbuf; + bl = io_buffer_get_list(ctx, buf->bgid); + list_add(&buf->list, &bl->buf_list); + req->flags &= ~REQ_F_BUFFER_SELECTED; + req->buf_index = buf->bgid; + + io_ring_submit_unlock(ctx, issue_flags); +} + +static bool io_match_task(struct io_kiocb *head, struct task_struct *task, + bool cancel_all) + __must_hold(&req->ctx->timeout_lock) +{ + struct io_kiocb *req; + + if (task && head->task != task) + return false; + if (cancel_all) + return true; + + io_for_each_link(req, head) { + if (req->flags & REQ_F_INFLIGHT) + return true; + } + return false; +} + +static inline unsigned int __io_cqring_events_user(struct io_ring_ctx *ctx) +{ + return READ_ONCE(ctx->rings->cq.tail) - READ_ONCE(ctx->rings->cq.head); +} + +static bool io_match_linked(struct io_kiocb *head) +{ + struct io_kiocb *req; + + io_for_each_link(req, head) { + if (req->flags & REQ_F_INFLIGHT) + return true; + } + return false; +} + +/* + * As io_match_task() but protected against racing with linked timeouts. + * User must not hold timeout_lock. + */ +static bool io_match_task_safe(struct io_kiocb *head, struct task_struct *task, + bool cancel_all) +{ + bool matched; + + if (task && head->task != task) + return false; + if (cancel_all) + return true; + + if (head->flags & REQ_F_LINK_TIMEOUT) { + struct io_ring_ctx *ctx = head->ctx; + + /* protect against races with linked timeouts */ + spin_lock_irq(&ctx->timeout_lock); + matched = io_match_linked(head); + spin_unlock_irq(&ctx->timeout_lock); + } else { + matched = io_match_linked(head); + } + return matched; +} + +static inline bool req_has_async_data(struct io_kiocb *req) +{ + return req->flags & REQ_F_ASYNC_DATA; +} + +static inline void req_set_fail(struct io_kiocb *req) +{ + req->flags |= REQ_F_FAIL; + if (req->flags & REQ_F_CQE_SKIP) { + req->flags &= ~REQ_F_CQE_SKIP; + req->flags |= REQ_F_SKIP_LINK_CQES; + } +} + +static inline void req_fail_link_node(struct io_kiocb *req, int res) +{ + req_set_fail(req); + req->cqe.res = res; +} + +static inline void io_req_add_to_cache(struct io_kiocb *req, struct io_ring_ctx *ctx) +{ + wq_stack_add_head(&req->comp_list, &ctx->submit_state.free_list); +} + +static __cold void io_ring_ctx_ref_free(struct percpu_ref *ref) +{ + struct io_ring_ctx *ctx = container_of(ref, struct io_ring_ctx, refs); + + complete(&ctx->ref_comp); +} + +static inline bool io_is_timeout_noseq(struct io_kiocb *req) +{ + return !req->timeout.off; +} + +static __cold void io_fallback_req_func(struct work_struct *work) +{ + struct io_ring_ctx *ctx = container_of(work, struct io_ring_ctx, + fallback_work.work); + struct llist_node *node = llist_del_all(&ctx->fallback_llist); + struct io_kiocb *req, *tmp; + bool locked = false; + + percpu_ref_get(&ctx->refs); + llist_for_each_entry_safe(req, tmp, node, io_task_work.fallback_node) + req->io_task_work.func(req, &locked); + + if (locked) { + io_submit_flush_completions(ctx); + mutex_unlock(&ctx->uring_lock); + } + percpu_ref_put(&ctx->refs); +} + +static __cold struct io_ring_ctx *io_ring_ctx_alloc(struct io_uring_params *p) +{ + struct io_ring_ctx *ctx; + int hash_bits; + + ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + if (!ctx) + return NULL; + + xa_init(&ctx->io_bl_xa); + + /* + * Use 5 bits less than the max cq entries, that should give us around + * 32 entries per hash list if totally full and uniformly spread. + */ + hash_bits = ilog2(p->cq_entries); + hash_bits -= 5; + if (hash_bits <= 0) + hash_bits = 1; + ctx->cancel_hash_bits = hash_bits; + ctx->cancel_hash = kmalloc((1U << hash_bits) * sizeof(struct hlist_head), + GFP_KERNEL); + if (!ctx->cancel_hash) + goto err; + __hash_init(ctx->cancel_hash, 1U << hash_bits); + + ctx->dummy_ubuf = kzalloc(sizeof(*ctx->dummy_ubuf), GFP_KERNEL); + if (!ctx->dummy_ubuf) + goto err; + /* set invalid range, so io_import_fixed() fails meeting it */ + ctx->dummy_ubuf->ubuf = -1UL; + + if (percpu_ref_init(&ctx->refs, io_ring_ctx_ref_free, + 0, GFP_KERNEL)) + goto err; + + ctx->flags = p->flags; + init_waitqueue_head(&ctx->sqo_sq_wait); + INIT_LIST_HEAD(&ctx->sqd_list); + INIT_LIST_HEAD(&ctx->cq_overflow_list); + INIT_LIST_HEAD(&ctx->io_buffers_cache); + INIT_LIST_HEAD(&ctx->apoll_cache); + init_completion(&ctx->ref_comp); + xa_init_flags(&ctx->personalities, XA_FLAGS_ALLOC1); + mutex_init(&ctx->uring_lock); + init_waitqueue_head(&ctx->cq_wait); + spin_lock_init(&ctx->completion_lock); + spin_lock_init(&ctx->timeout_lock); + INIT_WQ_LIST(&ctx->iopoll_list); + INIT_LIST_HEAD(&ctx->io_buffers_pages); + INIT_LIST_HEAD(&ctx->io_buffers_comp); + INIT_LIST_HEAD(&ctx->defer_list); + INIT_LIST_HEAD(&ctx->timeout_list); + INIT_LIST_HEAD(&ctx->ltimeout_list); + spin_lock_init(&ctx->rsrc_ref_lock); + INIT_LIST_HEAD(&ctx->rsrc_ref_list); + INIT_DELAYED_WORK(&ctx->rsrc_put_work, io_rsrc_put_work); + init_llist_head(&ctx->rsrc_put_llist); + INIT_LIST_HEAD(&ctx->tctx_list); + ctx->submit_state.free_list.next = NULL; + INIT_WQ_LIST(&ctx->locked_free_list); + INIT_DELAYED_WORK(&ctx->fallback_work, io_fallback_req_func); + INIT_WQ_LIST(&ctx->submit_state.compl_reqs); + return ctx; +err: + kfree(ctx->dummy_ubuf); + kfree(ctx->cancel_hash); + kfree(ctx->io_bl); + xa_destroy(&ctx->io_bl_xa); + kfree(ctx); + return NULL; +} + +static void io_account_cq_overflow(struct io_ring_ctx *ctx) +{ + struct io_rings *r = ctx->rings; + + WRITE_ONCE(r->cq_overflow, READ_ONCE(r->cq_overflow) + 1); + ctx->cq_extra--; +} + +static bool req_need_defer(struct io_kiocb *req, u32 seq) +{ + if (unlikely(req->flags & REQ_F_IO_DRAIN)) { + struct io_ring_ctx *ctx = req->ctx; + + return seq + READ_ONCE(ctx->cq_extra) != ctx->cached_cq_tail; + } + + return false; +} + +static inline bool io_req_ffs_set(struct io_kiocb *req) +{ + return req->flags & REQ_F_FIXED_FILE; +} + +static inline void io_req_track_inflight(struct io_kiocb *req) +{ + if (!(req->flags & REQ_F_INFLIGHT)) { + req->flags |= REQ_F_INFLIGHT; + atomic_inc(&req->task->io_uring->inflight_tracked); + } +} + +static struct io_kiocb *__io_prep_linked_timeout(struct io_kiocb *req) +{ + if (WARN_ON_ONCE(!req->link)) + return NULL; + + req->flags &= ~REQ_F_ARM_LTIMEOUT; + req->flags |= REQ_F_LINK_TIMEOUT; + + /* linked timeouts should have two refs once prep'ed */ + io_req_set_refcount(req); + __io_req_set_refcount(req->link, 2); + return req->link; +} + +static inline struct io_kiocb *io_prep_linked_timeout(struct io_kiocb *req) +{ + if (likely(!(req->flags & REQ_F_ARM_LTIMEOUT))) + return NULL; + return __io_prep_linked_timeout(req); +} + +static noinline void __io_arm_ltimeout(struct io_kiocb *req) +{ + io_queue_linked_timeout(__io_prep_linked_timeout(req)); +} + +static inline void io_arm_ltimeout(struct io_kiocb *req) +{ + if (unlikely(req->flags & REQ_F_ARM_LTIMEOUT)) + __io_arm_ltimeout(req); +} + +static void io_prep_async_work(struct io_kiocb *req) +{ + const struct io_op_def *def = &io_op_defs[req->opcode]; + struct io_ring_ctx *ctx = req->ctx; + + if (!(req->flags & REQ_F_CREDS)) { + req->flags |= REQ_F_CREDS; + req->creds = get_current_cred(); + } + + req->work.list.next = NULL; + req->work.flags = 0; + req->work.cancel_seq = atomic_read(&ctx->cancel_seq); + if (req->flags & REQ_F_FORCE_ASYNC) + req->work.flags |= IO_WQ_WORK_CONCURRENT; + + if (req->flags & REQ_F_ISREG) { + if (def->hash_reg_file || (ctx->flags & IORING_SETUP_IOPOLL)) + io_wq_hash_work(&req->work, file_inode(req->file)); + } else if (!req->file || !S_ISBLK(file_inode(req->file)->i_mode)) { + if (def->unbound_nonreg_file) + req->work.flags |= IO_WQ_WORK_UNBOUND; + } +} + +static void io_prep_async_link(struct io_kiocb *req) +{ + struct io_kiocb *cur; + + if (req->flags & REQ_F_LINK_TIMEOUT) { + struct io_ring_ctx *ctx = req->ctx; + + spin_lock_irq(&ctx->timeout_lock); + io_for_each_link(cur, req) + io_prep_async_work(cur); + spin_unlock_irq(&ctx->timeout_lock); + } else { + io_for_each_link(cur, req) + io_prep_async_work(cur); + } +} + +static inline void io_req_add_compl_list(struct io_kiocb *req) +{ + struct io_submit_state *state = &req->ctx->submit_state; + + if (!(req->flags & REQ_F_CQE_SKIP)) + state->flush_cqes = true; + wq_list_add_tail(&req->comp_list, &state->compl_reqs); +} + +static void io_queue_iowq(struct io_kiocb *req, bool *dont_use) +{ + struct io_kiocb *link = io_prep_linked_timeout(req); + struct io_uring_task *tctx = req->task->io_uring; + + BUG_ON(!tctx); + BUG_ON(!tctx->io_wq); + + /* init ->work of the whole link before punting */ + io_prep_async_link(req); + + /* + * Not expected to happen, but if we do have a bug where this _can_ + * happen, catch it here and ensure the request is marked as + * canceled. That will make io-wq go through the usual work cancel + * procedure rather than attempt to run this request (or create a new + * worker for it). + */ + if (WARN_ON_ONCE(!same_thread_group(req->task, current))) + req->work.flags |= IO_WQ_WORK_CANCEL; + + trace_io_uring_queue_async_work(req->ctx, req, req->cqe.user_data, + req->opcode, req->flags, &req->work, + io_wq_is_hashed(&req->work)); + io_wq_enqueue(tctx->io_wq, &req->work); + if (link) + io_queue_linked_timeout(link); +} + +static void io_kill_timeout(struct io_kiocb *req, int status) + __must_hold(&req->ctx->completion_lock) + __must_hold(&req->ctx->timeout_lock) +{ + struct io_timeout_data *io = req->async_data; + + if (hrtimer_try_to_cancel(&io->timer) != -1) { + if (status) + req_set_fail(req); + atomic_set(&req->ctx->cq_timeouts, + atomic_read(&req->ctx->cq_timeouts) + 1); + list_del_init(&req->timeout.list); + io_req_tw_post_queue(req, status, 0); + } +} + +static __cold void io_queue_deferred(struct io_ring_ctx *ctx) +{ + while (!list_empty(&ctx->defer_list)) { + struct io_defer_entry *de = list_first_entry(&ctx->defer_list, + struct io_defer_entry, list); + + if (req_need_defer(de->req, de->seq)) + break; + list_del_init(&de->list); + io_req_task_queue(de->req); + kfree(de); + } +} + +static __cold void io_flush_timeouts(struct io_ring_ctx *ctx) + __must_hold(&ctx->completion_lock) +{ + u32 seq = ctx->cached_cq_tail - atomic_read(&ctx->cq_timeouts); + struct io_kiocb *req, *tmp; + + spin_lock_irq(&ctx->timeout_lock); + list_for_each_entry_safe(req, tmp, &ctx->timeout_list, timeout.list) { + u32 events_needed, events_got; + + if (io_is_timeout_noseq(req)) + break; + + /* + * Since seq can easily wrap around over time, subtract + * the last seq at which timeouts were flushed before comparing. + * Assuming not more than 2^31-1 events have happened since, + * these subtractions won't have wrapped, so we can check if + * target is in [last_seq, current_seq] by comparing the two. + */ + events_needed = req->timeout.target_seq - ctx->cq_last_tm_flush; + events_got = seq - ctx->cq_last_tm_flush; + if (events_got < events_needed) + break; + + io_kill_timeout(req, 0); + } + ctx->cq_last_tm_flush = seq; + spin_unlock_irq(&ctx->timeout_lock); +} + +static inline void io_commit_cqring(struct io_ring_ctx *ctx) +{ + /* order cqe stores with ring update */ + smp_store_release(&ctx->rings->cq.tail, ctx->cached_cq_tail); +} + +static void __io_commit_cqring_flush(struct io_ring_ctx *ctx) +{ + if (ctx->off_timeout_used || ctx->drain_active) { + spin_lock(&ctx->completion_lock); + if (ctx->off_timeout_used) + io_flush_timeouts(ctx); + if (ctx->drain_active) + io_queue_deferred(ctx); + io_commit_cqring(ctx); + spin_unlock(&ctx->completion_lock); + } + if (ctx->has_evfd) + io_eventfd_signal(ctx); +} + +static inline bool io_sqring_full(struct io_ring_ctx *ctx) +{ + struct io_rings *r = ctx->rings; + + return READ_ONCE(r->sq.tail) - ctx->cached_sq_head == ctx->sq_entries; +} + +static inline unsigned int __io_cqring_events(struct io_ring_ctx *ctx) +{ + return ctx->cached_cq_tail - READ_ONCE(ctx->rings->cq.head); +} + +/* + * writes to the cq entry need to come after reading head; the + * control dependency is enough as we're using WRITE_ONCE to + * fill the cq entry + */ +static noinline struct io_uring_cqe *__io_get_cqe(struct io_ring_ctx *ctx) +{ + struct io_rings *rings = ctx->rings; + unsigned int off = ctx->cached_cq_tail & (ctx->cq_entries - 1); + unsigned int shift = 0; + unsigned int free, queued, len; + + if (ctx->flags & IORING_SETUP_CQE32) + shift = 1; + + /* userspace may cheat modifying the tail, be safe and do min */ + queued = min(__io_cqring_events(ctx), ctx->cq_entries); + free = ctx->cq_entries - queued; + /* we need a contiguous range, limit based on the current array offset */ + len = min(free, ctx->cq_entries - off); + if (!len) + return NULL; + + ctx->cached_cq_tail++; + ctx->cqe_cached = &rings->cqes[off]; + ctx->cqe_sentinel = ctx->cqe_cached + len; + ctx->cqe_cached++; + return &rings->cqes[off << shift]; +} + +static inline struct io_uring_cqe *io_get_cqe(struct io_ring_ctx *ctx) +{ + if (likely(ctx->cqe_cached < ctx->cqe_sentinel)) { + struct io_uring_cqe *cqe = ctx->cqe_cached; + + if (ctx->flags & IORING_SETUP_CQE32) { + unsigned int off = ctx->cqe_cached - ctx->rings->cqes; + + cqe += off; + } + + ctx->cached_cq_tail++; + ctx->cqe_cached++; + return cqe; + } + + return __io_get_cqe(ctx); +} + +static void io_eventfd_signal(struct io_ring_ctx *ctx) +{ + struct io_ev_fd *ev_fd; + + rcu_read_lock(); + /* + * rcu_dereference ctx->io_ev_fd once and use it for both for checking + * and eventfd_signal + */ + ev_fd = rcu_dereference(ctx->io_ev_fd); + + /* + * Check again if ev_fd exists incase an io_eventfd_unregister call + * completed between the NULL check of ctx->io_ev_fd at the start of + * the function and rcu_read_lock. + */ + if (unlikely(!ev_fd)) + goto out; + if (READ_ONCE(ctx->rings->cq_flags) & IORING_CQ_EVENTFD_DISABLED) + goto out; + + if (!ev_fd->eventfd_async || io_wq_current_is_worker()) + eventfd_signal(ev_fd->cq_ev_fd, 1); +out: + rcu_read_unlock(); +} + +static inline void io_cqring_wake(struct io_ring_ctx *ctx) +{ + /* + * wake_up_all() may seem excessive, but io_wake_function() and + * io_should_wake() handle the termination of the loop and only + * wake as many waiters as we need to. + */ + if (wq_has_sleeper(&ctx->cq_wait)) + wake_up_all(&ctx->cq_wait); +} + +/* + * This should only get called when at least one event has been posted. + * Some applications rely on the eventfd notification count only changing + * IFF a new CQE has been added to the CQ ring. There's no depedency on + * 1:1 relationship between how many times this function is called (and + * hence the eventfd count) and number of CQEs posted to the CQ ring. + */ +static inline void io_cqring_ev_posted(struct io_ring_ctx *ctx) +{ + if (unlikely(ctx->off_timeout_used || ctx->drain_active || + ctx->has_evfd)) + __io_commit_cqring_flush(ctx); + + io_cqring_wake(ctx); +} + +static void io_cqring_ev_posted_iopoll(struct io_ring_ctx *ctx) +{ + if (unlikely(ctx->off_timeout_used || ctx->drain_active || + ctx->has_evfd)) + __io_commit_cqring_flush(ctx); + + if (ctx->flags & IORING_SETUP_SQPOLL) + io_cqring_wake(ctx); +} + +/* Returns true if there are no backlogged entries after the flush */ +static bool __io_cqring_overflow_flush(struct io_ring_ctx *ctx, bool force) +{ + bool all_flushed, posted; + size_t cqe_size = sizeof(struct io_uring_cqe); + + if (!force && __io_cqring_events(ctx) == ctx->cq_entries) + return false; + + if (ctx->flags & IORING_SETUP_CQE32) + cqe_size <<= 1; + + posted = false; + spin_lock(&ctx->completion_lock); + while (!list_empty(&ctx->cq_overflow_list)) { + struct io_uring_cqe *cqe = io_get_cqe(ctx); + struct io_overflow_cqe *ocqe; + + if (!cqe && !force) + break; + ocqe = list_first_entry(&ctx->cq_overflow_list, + struct io_overflow_cqe, list); + if (cqe) + memcpy(cqe, &ocqe->cqe, cqe_size); + else + io_account_cq_overflow(ctx); + + posted = true; + list_del(&ocqe->list); + kfree(ocqe); + } + + all_flushed = list_empty(&ctx->cq_overflow_list); + if (all_flushed) { + clear_bit(IO_CHECK_CQ_OVERFLOW_BIT, &ctx->check_cq); + atomic_andnot(IORING_SQ_CQ_OVERFLOW, &ctx->rings->sq_flags); + } + + io_commit_cqring(ctx); + spin_unlock(&ctx->completion_lock); + if (posted) + io_cqring_ev_posted(ctx); + return all_flushed; +} + +static bool io_cqring_overflow_flush(struct io_ring_ctx *ctx) +{ + bool ret = true; + + if (test_bit(IO_CHECK_CQ_OVERFLOW_BIT, &ctx->check_cq)) { + /* iopoll syncs against uring_lock, not completion_lock */ + if (ctx->flags & IORING_SETUP_IOPOLL) + mutex_lock(&ctx->uring_lock); + ret = __io_cqring_overflow_flush(ctx, false); + if (ctx->flags & IORING_SETUP_IOPOLL) + mutex_unlock(&ctx->uring_lock); + } + + return ret; +} + +static void __io_put_task(struct task_struct *task, int nr) +{ + struct io_uring_task *tctx = task->io_uring; + + percpu_counter_sub(&tctx->inflight, nr); + if (unlikely(atomic_read(&tctx->in_idle))) + wake_up(&tctx->wait); + put_task_struct_many(task, nr); +} + +/* must to be called somewhat shortly after putting a request */ +static inline void io_put_task(struct task_struct *task, int nr) +{ + if (likely(task == current)) + task->io_uring->cached_refs += nr; + else + __io_put_task(task, nr); +} + +static void io_task_refs_refill(struct io_uring_task *tctx) +{ + unsigned int refill = -tctx->cached_refs + IO_TCTX_REFS_CACHE_NR; + + percpu_counter_add(&tctx->inflight, refill); + refcount_add(refill, ¤t->usage); + tctx->cached_refs += refill; +} + +static inline void io_get_task_refs(int nr) +{ + struct io_uring_task *tctx = current->io_uring; + + tctx->cached_refs -= nr; + if (unlikely(tctx->cached_refs < 0)) + io_task_refs_refill(tctx); +} + +static __cold void io_uring_drop_tctx_refs(struct task_struct *task) +{ + struct io_uring_task *tctx = task->io_uring; + unsigned int refs = tctx->cached_refs; + + if (refs) { + tctx->cached_refs = 0; + percpu_counter_sub(&tctx->inflight, refs); + put_task_struct_many(task, refs); + } +} + +static bool io_cqring_event_overflow(struct io_ring_ctx *ctx, u64 user_data, + s32 res, u32 cflags, u64 extra1, + u64 extra2) +{ + struct io_overflow_cqe *ocqe; + size_t ocq_size = sizeof(struct io_overflow_cqe); + bool is_cqe32 = (ctx->flags & IORING_SETUP_CQE32); + + if (is_cqe32) + ocq_size += sizeof(struct io_uring_cqe); + + ocqe = kmalloc(ocq_size, GFP_ATOMIC | __GFP_ACCOUNT); + trace_io_uring_cqe_overflow(ctx, user_data, res, cflags, ocqe); + if (!ocqe) { + /* + * If we're in ring overflow flush mode, or in task cancel mode, + * or cannot allocate an overflow entry, then we need to drop it + * on the floor. + */ + io_account_cq_overflow(ctx); + set_bit(IO_CHECK_CQ_DROPPED_BIT, &ctx->check_cq); + return false; + } + if (list_empty(&ctx->cq_overflow_list)) { + set_bit(IO_CHECK_CQ_OVERFLOW_BIT, &ctx->check_cq); + atomic_or(IORING_SQ_CQ_OVERFLOW, &ctx->rings->sq_flags); + + } + ocqe->cqe.user_data = user_data; + ocqe->cqe.res = res; + ocqe->cqe.flags = cflags; + if (is_cqe32) { + ocqe->cqe.big_cqe[0] = extra1; + ocqe->cqe.big_cqe[1] = extra2; + } + list_add_tail(&ocqe->list, &ctx->cq_overflow_list); + return true; +} + +static inline bool __io_fill_cqe_req(struct io_ring_ctx *ctx, + struct io_kiocb *req) +{ + struct io_uring_cqe *cqe; + + if (!(ctx->flags & IORING_SETUP_CQE32)) { + trace_io_uring_complete(req->ctx, req, req->cqe.user_data, + req->cqe.res, req->cqe.flags, 0, 0); + + /* + * If we can't get a cq entry, userspace overflowed the + * submission (by quite a lot). Increment the overflow count in + * the ring. + */ + cqe = io_get_cqe(ctx); + if (likely(cqe)) { + memcpy(cqe, &req->cqe, sizeof(*cqe)); + return true; + } + + return io_cqring_event_overflow(ctx, req->cqe.user_data, + req->cqe.res, req->cqe.flags, + 0, 0); + } else { + u64 extra1 = 0, extra2 = 0; + + if (req->flags & REQ_F_CQE32_INIT) { + extra1 = req->extra1; + extra2 = req->extra2; + } + + trace_io_uring_complete(req->ctx, req, req->cqe.user_data, + req->cqe.res, req->cqe.flags, extra1, extra2); + + /* + * If we can't get a cq entry, userspace overflowed the + * submission (by quite a lot). Increment the overflow count in + * the ring. + */ + cqe = io_get_cqe(ctx); + if (likely(cqe)) { + memcpy(cqe, &req->cqe, sizeof(struct io_uring_cqe)); + WRITE_ONCE(cqe->big_cqe[0], extra1); + WRITE_ONCE(cqe->big_cqe[1], extra2); + return true; + } + + return io_cqring_event_overflow(ctx, req->cqe.user_data, + req->cqe.res, req->cqe.flags, + extra1, extra2); + } +} + +static noinline bool io_fill_cqe_aux(struct io_ring_ctx *ctx, u64 user_data, + s32 res, u32 cflags) +{ + struct io_uring_cqe *cqe; + + ctx->cq_extra++; + trace_io_uring_complete(ctx, NULL, user_data, res, cflags, 0, 0); + + /* + * If we can't get a cq entry, userspace overflowed the + * submission (by quite a lot). Increment the overflow count in + * the ring. + */ + cqe = io_get_cqe(ctx); + if (likely(cqe)) { + WRITE_ONCE(cqe->user_data, user_data); + WRITE_ONCE(cqe->res, res); + WRITE_ONCE(cqe->flags, cflags); + + if (ctx->flags & IORING_SETUP_CQE32) { + WRITE_ONCE(cqe->big_cqe[0], 0); + WRITE_ONCE(cqe->big_cqe[1], 0); + } + return true; + } + return io_cqring_event_overflow(ctx, user_data, res, cflags, 0, 0); +} + +static void __io_req_complete_put(struct io_kiocb *req) +{ + /* + * If we're the last reference to this request, add to our locked + * free_list cache. + */ + if (req_ref_put_and_test(req)) { + struct io_ring_ctx *ctx = req->ctx; + + if (req->flags & IO_REQ_LINK_FLAGS) { + if (req->flags & IO_DISARM_MASK) + io_disarm_next(req); + if (req->link) { + io_req_task_queue(req->link); + req->link = NULL; + } + } + io_req_put_rsrc(req); + /* + * Selected buffer deallocation in io_clean_op() assumes that + * we don't hold ->completion_lock. Clean them here to avoid + * deadlocks. + */ + io_put_kbuf_comp(req); + io_dismantle_req(req); + io_put_task(req->task, 1); + wq_list_add_head(&req->comp_list, &ctx->locked_free_list); + ctx->locked_free_nr++; + } +} + +static void __io_req_complete_post(struct io_kiocb *req, s32 res, + u32 cflags) +{ + if (!(req->flags & REQ_F_CQE_SKIP)) { + req->cqe.res = res; + req->cqe.flags = cflags; + __io_fill_cqe_req(req->ctx, req); + } + __io_req_complete_put(req); +} + +static void io_req_complete_post(struct io_kiocb *req, s32 res, u32 cflags) +{ + struct io_ring_ctx *ctx = req->ctx; + + spin_lock(&ctx->completion_lock); + __io_req_complete_post(req, res, cflags); + io_commit_cqring(ctx); + spin_unlock(&ctx->completion_lock); + io_cqring_ev_posted(ctx); +} + +static inline void io_req_complete_state(struct io_kiocb *req, s32 res, + u32 cflags) +{ + req->cqe.res = res; + req->cqe.flags = cflags; + req->flags |= REQ_F_COMPLETE_INLINE; +} + +static inline void __io_req_complete(struct io_kiocb *req, unsigned issue_flags, + s32 res, u32 cflags) +{ + if (issue_flags & IO_URING_F_COMPLETE_DEFER) + io_req_complete_state(req, res, cflags); + else + io_req_complete_post(req, res, cflags); +} + +static inline void io_req_complete(struct io_kiocb *req, s32 res) +{ + if (res < 0) + req_set_fail(req); + __io_req_complete(req, 0, res, 0); +} + +static void io_req_complete_failed(struct io_kiocb *req, s32 res) +{ + req_set_fail(req); + io_req_complete_post(req, res, io_put_kbuf(req, IO_URING_F_UNLOCKED)); +} + +/* + * Don't initialise the fields below on every allocation, but do that in + * advance and keep them valid across allocations. + */ +static void io_preinit_req(struct io_kiocb *req, struct io_ring_ctx *ctx) +{ + req->ctx = ctx; + req->link = NULL; + req->async_data = NULL; + /* not necessary, but safer to zero */ + req->cqe.res = 0; +} + +static void io_flush_cached_locked_reqs(struct io_ring_ctx *ctx, + struct io_submit_state *state) +{ + spin_lock(&ctx->completion_lock); + wq_list_splice(&ctx->locked_free_list, &state->free_list); + ctx->locked_free_nr = 0; + spin_unlock(&ctx->completion_lock); +} + +static inline bool io_req_cache_empty(struct io_ring_ctx *ctx) +{ + return !ctx->submit_state.free_list.next; +} + +/* + * A request might get retired back into the request caches even before opcode + * handlers and io_issue_sqe() are done with it, e.g. inline completion path. + * Because of that, io_alloc_req() should be called only under ->uring_lock + * and with extra caution to not get a request that is still worked on. + */ +static __cold bool __io_alloc_req_refill(struct io_ring_ctx *ctx) + __must_hold(&ctx->uring_lock) +{ + gfp_t gfp = GFP_KERNEL | __GFP_NOWARN; + void *reqs[IO_REQ_ALLOC_BATCH]; + int ret, i; + + /* + * If we have more than a batch's worth of requests in our IRQ side + * locked cache, grab the lock and move them over to our submission + * side cache. + */ + if (data_race(ctx->locked_free_nr) > IO_COMPL_BATCH) { + io_flush_cached_locked_reqs(ctx, &ctx->submit_state); + if (!io_req_cache_empty(ctx)) + return true; + } + + ret = kmem_cache_alloc_bulk(req_cachep, gfp, ARRAY_SIZE(reqs), reqs); + + /* + * Bulk alloc is all-or-nothing. If we fail to get a batch, + * retry single alloc to be on the safe side. + */ + if (unlikely(ret <= 0)) { + reqs[0] = kmem_cache_alloc(req_cachep, gfp); + if (!reqs[0]) + return false; + ret = 1; + } + + percpu_ref_get_many(&ctx->refs, ret); + for (i = 0; i < ret; i++) { + struct io_kiocb *req = reqs[i]; + + io_preinit_req(req, ctx); + io_req_add_to_cache(req, ctx); + } + return true; +} + +static inline bool io_alloc_req_refill(struct io_ring_ctx *ctx) +{ + if (unlikely(io_req_cache_empty(ctx))) + return __io_alloc_req_refill(ctx); + return true; +} + +static inline struct io_kiocb *io_alloc_req(struct io_ring_ctx *ctx) +{ + struct io_wq_work_node *node; + + node = wq_stack_extract(&ctx->submit_state.free_list); + return container_of(node, struct io_kiocb, comp_list); +} + +static inline void io_put_file(struct file *file) +{ + if (file) + fput(file); +} + +static inline void io_dismantle_req(struct io_kiocb *req) +{ + unsigned int flags = req->flags; + + if (unlikely(flags & IO_REQ_CLEAN_FLAGS)) + io_clean_op(req); + if (!(flags & REQ_F_FIXED_FILE)) + io_put_file(req->file); +} + +static __cold void io_free_req(struct io_kiocb *req) +{ + struct io_ring_ctx *ctx = req->ctx; + + io_req_put_rsrc(req); + io_dismantle_req(req); + io_put_task(req->task, 1); + + spin_lock(&ctx->completion_lock); + wq_list_add_head(&req->comp_list, &ctx->locked_free_list); + ctx->locked_free_nr++; + spin_unlock(&ctx->completion_lock); +} + +static inline void io_remove_next_linked(struct io_kiocb *req) +{ + struct io_kiocb *nxt = req->link; + + req->link = nxt->link; + nxt->link = NULL; +} + +static struct io_kiocb *io_disarm_linked_timeout(struct io_kiocb *req) + __must_hold(&req->ctx->completion_lock) + __must_hold(&req->ctx->timeout_lock) +{ + struct io_kiocb *link = req->link; + + if (link && link->opcode == IORING_OP_LINK_TIMEOUT) { + struct io_timeout_data *io = link->async_data; + + io_remove_next_linked(req); + link->timeout.head = NULL; + if (hrtimer_try_to_cancel(&io->timer) != -1) { + list_del(&link->timeout.list); + return link; + } + } + return NULL; +} + +static void io_fail_links(struct io_kiocb *req) + __must_hold(&req->ctx->completion_lock) +{ + struct io_kiocb *nxt, *link = req->link; + bool ignore_cqes = req->flags & REQ_F_SKIP_LINK_CQES; + + req->link = NULL; + while (link) { + long res = -ECANCELED; + + if (link->flags & REQ_F_FAIL) + res = link->cqe.res; + + nxt = link->link; + link->link = NULL; + + trace_io_uring_fail_link(req->ctx, req, req->cqe.user_data, + req->opcode, link); + + if (ignore_cqes) + link->flags |= REQ_F_CQE_SKIP; + else + link->flags &= ~REQ_F_CQE_SKIP; + __io_req_complete_post(link, res, 0); + link = nxt; + } +} + +static bool io_disarm_next(struct io_kiocb *req) + __must_hold(&req->ctx->completion_lock) +{ + struct io_kiocb *link = NULL; + bool posted = false; + + if (req->flags & REQ_F_ARM_LTIMEOUT) { + link = req->link; + req->flags &= ~REQ_F_ARM_LTIMEOUT; + if (link && link->opcode == IORING_OP_LINK_TIMEOUT) { + io_remove_next_linked(req); + io_req_tw_post_queue(link, -ECANCELED, 0); + posted = true; + } + } else if (req->flags & REQ_F_LINK_TIMEOUT) { + struct io_ring_ctx *ctx = req->ctx; + + spin_lock_irq(&ctx->timeout_lock); + link = io_disarm_linked_timeout(req); + spin_unlock_irq(&ctx->timeout_lock); + if (link) { + posted = true; + io_req_tw_post_queue(link, -ECANCELED, 0); + } + } + if (unlikely((req->flags & REQ_F_FAIL) && + !(req->flags & REQ_F_HARDLINK))) { + posted |= (req->link != NULL); + io_fail_links(req); + } + return posted; +} + +static void __io_req_find_next_prep(struct io_kiocb *req) +{ + struct io_ring_ctx *ctx = req->ctx; + bool posted; + + spin_lock(&ctx->completion_lock); + posted = io_disarm_next(req); + io_commit_cqring(ctx); + spin_unlock(&ctx->completion_lock); + if (posted) + io_cqring_ev_posted(ctx); +} + +static inline struct io_kiocb *io_req_find_next(struct io_kiocb *req) +{ + struct io_kiocb *nxt; + + /* + * If LINK is set, we have dependent requests in this chain. If we + * didn't fail this request, queue the first one up, moving any other + * dependencies to the next request. In case of failure, fail the rest + * of the chain. + */ + if (unlikely(req->flags & IO_DISARM_MASK)) + __io_req_find_next_prep(req); + nxt = req->link; + req->link = NULL; + return nxt; +} + +static void ctx_flush_and_put(struct io_ring_ctx *ctx, bool *locked) +{ + if (!ctx) + return; + if (ctx->flags & IORING_SETUP_TASKRUN_FLAG) + atomic_andnot(IORING_SQ_TASKRUN, &ctx->rings->sq_flags); + if (*locked) { + io_submit_flush_completions(ctx); + mutex_unlock(&ctx->uring_lock); + *locked = false; + } + percpu_ref_put(&ctx->refs); +} + +static inline void ctx_commit_and_unlock(struct io_ring_ctx *ctx) +{ + io_commit_cqring(ctx); + spin_unlock(&ctx->completion_lock); + io_cqring_ev_posted(ctx); +} + +static void handle_prev_tw_list(struct io_wq_work_node *node, + struct io_ring_ctx **ctx, bool *uring_locked) +{ + if (*ctx && !*uring_locked) + spin_lock(&(*ctx)->completion_lock); + + do { + struct io_wq_work_node *next = node->next; + struct io_kiocb *req = container_of(node, struct io_kiocb, + io_task_work.node); + + prefetch(container_of(next, struct io_kiocb, io_task_work.node)); + + if (req->ctx != *ctx) { + if (unlikely(!*uring_locked && *ctx)) + ctx_commit_and_unlock(*ctx); + + ctx_flush_and_put(*ctx, uring_locked); + *ctx = req->ctx; + /* if not contended, grab and improve batching */ + *uring_locked = mutex_trylock(&(*ctx)->uring_lock); + percpu_ref_get(&(*ctx)->refs); + if (unlikely(!*uring_locked)) + spin_lock(&(*ctx)->completion_lock); + } + if (likely(*uring_locked)) + req->io_task_work.func(req, uring_locked); + else + __io_req_complete_post(req, req->cqe.res, + io_put_kbuf_comp(req)); + node = next; + } while (node); + + if (unlikely(!*uring_locked)) + ctx_commit_and_unlock(*ctx); +} + +static void handle_tw_list(struct io_wq_work_node *node, + struct io_ring_ctx **ctx, bool *locked) +{ + do { + struct io_wq_work_node *next = node->next; + struct io_kiocb *req = container_of(node, struct io_kiocb, + io_task_work.node); + + prefetch(container_of(next, struct io_kiocb, io_task_work.node)); + + if (req->ctx != *ctx) { + ctx_flush_and_put(*ctx, locked); + *ctx = req->ctx; + /* if not contended, grab and improve batching */ + *locked = mutex_trylock(&(*ctx)->uring_lock); + percpu_ref_get(&(*ctx)->refs); + } + req->io_task_work.func(req, locked); + node = next; + } while (node); +} + +static void tctx_task_work(struct callback_head *cb) +{ + bool uring_locked = false; + struct io_ring_ctx *ctx = NULL; + struct io_uring_task *tctx = container_of(cb, struct io_uring_task, + task_work); + + while (1) { + struct io_wq_work_node *node1, *node2; + + spin_lock_irq(&tctx->task_lock); + node1 = tctx->prio_task_list.first; + node2 = tctx->task_list.first; + INIT_WQ_LIST(&tctx->task_list); + INIT_WQ_LIST(&tctx->prio_task_list); + if (!node2 && !node1) + tctx->task_running = false; + spin_unlock_irq(&tctx->task_lock); + if (!node2 && !node1) + break; + + if (node1) + handle_prev_tw_list(node1, &ctx, &uring_locked); + if (node2) + handle_tw_list(node2, &ctx, &uring_locked); + cond_resched(); + + if (data_race(!tctx->task_list.first) && + data_race(!tctx->prio_task_list.first) && uring_locked) + io_submit_flush_completions(ctx); + } + + ctx_flush_and_put(ctx, &uring_locked); + + /* relaxed read is enough as only the task itself sets ->in_idle */ + if (unlikely(atomic_read(&tctx->in_idle))) + io_uring_drop_tctx_refs(current); +} + +static void __io_req_task_work_add(struct io_kiocb *req, + struct io_uring_task *tctx, + struct io_wq_work_list *list) +{ + struct io_ring_ctx *ctx = req->ctx; + struct io_wq_work_node *node; + unsigned long flags; + bool running; + + spin_lock_irqsave(&tctx->task_lock, flags); + wq_list_add_tail(&req->io_task_work.node, list); + running = tctx->task_running; + if (!running) + tctx->task_running = true; + spin_unlock_irqrestore(&tctx->task_lock, flags); + + /* task_work already pending, we're done */ + if (running) + return; + + if (ctx->flags & IORING_SETUP_TASKRUN_FLAG) + atomic_or(IORING_SQ_TASKRUN, &ctx->rings->sq_flags); + + if (likely(!task_work_add(req->task, &tctx->task_work, ctx->notify_method))) + return; + + spin_lock_irqsave(&tctx->task_lock, flags); + tctx->task_running = false; + node = wq_list_merge(&tctx->prio_task_list, &tctx->task_list); + spin_unlock_irqrestore(&tctx->task_lock, flags); + + while (node) { + req = container_of(node, struct io_kiocb, io_task_work.node); + node = node->next; + if (llist_add(&req->io_task_work.fallback_node, + &req->ctx->fallback_llist)) + schedule_delayed_work(&req->ctx->fallback_work, 1); + } +} + +static void io_req_task_work_add(struct io_kiocb *req) +{ + struct io_uring_task *tctx = req->task->io_uring; + + __io_req_task_work_add(req, tctx, &tctx->task_list); +} + +static void io_req_task_prio_work_add(struct io_kiocb *req) +{ + struct io_uring_task *tctx = req->task->io_uring; + + if (req->ctx->flags & IORING_SETUP_SQPOLL) + __io_req_task_work_add(req, tctx, &tctx->prio_task_list); + else + __io_req_task_work_add(req, tctx, &tctx->task_list); +} + +static void io_req_tw_post(struct io_kiocb *req, bool *locked) +{ + io_req_complete_post(req, req->cqe.res, req->cqe.flags); +} + +static void io_req_tw_post_queue(struct io_kiocb *req, s32 res, u32 cflags) +{ + req->cqe.res = res; + req->cqe.flags = cflags; + req->io_task_work.func = io_req_tw_post; + io_req_task_work_add(req); +} + +static void io_req_task_cancel(struct io_kiocb *req, bool *locked) +{ + /* not needed for normal modes, but SQPOLL depends on it */ + io_tw_lock(req->ctx, locked); + io_req_complete_failed(req, req->cqe.res); +} + +static void io_req_task_submit(struct io_kiocb *req, bool *locked) +{ + io_tw_lock(req->ctx, locked); + /* req->task == current here, checking PF_EXITING is safe */ + if (likely(!(req->task->flags & PF_EXITING))) + io_queue_sqe(req); + else + io_req_complete_failed(req, -EFAULT); +} + +static void io_req_task_queue_fail(struct io_kiocb *req, int ret) +{ + req->cqe.res = ret; + req->io_task_work.func = io_req_task_cancel; + io_req_task_work_add(req); +} + +static void io_req_task_queue(struct io_kiocb *req) +{ + req->io_task_work.func = io_req_task_submit; + io_req_task_work_add(req); +} + +static void io_req_task_queue_reissue(struct io_kiocb *req) +{ + req->io_task_work.func = io_queue_iowq; + io_req_task_work_add(req); +} + +static void io_queue_next(struct io_kiocb *req) +{ + struct io_kiocb *nxt = io_req_find_next(req); + + if (nxt) + io_req_task_queue(nxt); +} + +static void io_free_batch_list(struct io_ring_ctx *ctx, + struct io_wq_work_node *node) + __must_hold(&ctx->uring_lock) +{ + struct task_struct *task = NULL; + int task_refs = 0; + + do { + struct io_kiocb *req = container_of(node, struct io_kiocb, + comp_list); + + if (unlikely(req->flags & IO_REQ_CLEAN_SLOW_FLAGS)) { + if (req->flags & REQ_F_REFCOUNT) { + node = req->comp_list.next; + if (!req_ref_put_and_test(req)) + continue; + } + if ((req->flags & REQ_F_POLLED) && req->apoll) { + struct async_poll *apoll = req->apoll; + + if (apoll->double_poll) + kfree(apoll->double_poll); + list_add(&apoll->poll.wait.entry, + &ctx->apoll_cache); + req->flags &= ~REQ_F_POLLED; + } + if (req->flags & IO_REQ_LINK_FLAGS) + io_queue_next(req); + if (unlikely(req->flags & IO_REQ_CLEAN_FLAGS)) + io_clean_op(req); + } + if (!(req->flags & REQ_F_FIXED_FILE)) + io_put_file(req->file); + + io_req_put_rsrc_locked(req, ctx); + + if (req->task != task) { + if (task) + io_put_task(task, task_refs); + task = req->task; + task_refs = 0; + } + task_refs++; + node = req->comp_list.next; + io_req_add_to_cache(req, ctx); + } while (node); + + if (task) + io_put_task(task, task_refs); +} + +static void __io_submit_flush_completions(struct io_ring_ctx *ctx) + __must_hold(&ctx->uring_lock) +{ + struct io_wq_work_node *node, *prev; + struct io_submit_state *state = &ctx->submit_state; + + if (state->flush_cqes) { + spin_lock(&ctx->completion_lock); + wq_list_for_each(node, prev, &state->compl_reqs) { + struct io_kiocb *req = container_of(node, struct io_kiocb, + comp_list); + + if (!(req->flags & REQ_F_CQE_SKIP)) + __io_fill_cqe_req(ctx, req); + } + + io_commit_cqring(ctx); + spin_unlock(&ctx->completion_lock); + io_cqring_ev_posted(ctx); + state->flush_cqes = false; + } + + io_free_batch_list(ctx, state->compl_reqs.first); + INIT_WQ_LIST(&state->compl_reqs); +} + +/* + * Drop reference to request, return next in chain (if there is one) if this + * was the last reference to this request. + */ +static inline struct io_kiocb *io_put_req_find_next(struct io_kiocb *req) +{ + struct io_kiocb *nxt = NULL; + + if (req_ref_put_and_test(req)) { + if (unlikely(req->flags & IO_REQ_LINK_FLAGS)) + nxt = io_req_find_next(req); + io_free_req(req); + } + return nxt; +} + +static inline void io_put_req(struct io_kiocb *req) +{ + if (req_ref_put_and_test(req)) { + io_queue_next(req); + io_free_req(req); + } +} + +static unsigned io_cqring_events(struct io_ring_ctx *ctx) +{ + /* See comment at the top of this file */ + smp_rmb(); + return __io_cqring_events(ctx); +} + +static inline unsigned int io_sqring_entries(struct io_ring_ctx *ctx) +{ + struct io_rings *rings = ctx->rings; + + /* make sure SQ entry isn't read before tail */ + return smp_load_acquire(&rings->sq.tail) - ctx->cached_sq_head; +} + +static inline bool io_run_task_work(void) +{ + /* + * PF_IO_WORKER never returns to userspace, so check here if we have + * notify work that needs processing. + */ + if (current->flags & PF_IO_WORKER && + test_thread_flag(TIF_NOTIFY_RESUME)) { + __set_current_state(TASK_RUNNING); + resume_user_mode_work(NULL); + } + if (test_thread_flag(TIF_NOTIFY_SIGNAL) || task_work_pending(current)) { + __set_current_state(TASK_RUNNING); + clear_notify_signal(); + if (task_work_pending(current)) + task_work_run(); + return true; + } + + return false; +} + +static int io_do_iopoll(struct io_ring_ctx *ctx, bool force_nonspin) +{ + struct io_wq_work_node *pos, *start, *prev; + unsigned int poll_flags = BLK_POLL_NOSLEEP; + DEFINE_IO_COMP_BATCH(iob); + int nr_events = 0; + + /* + * Only spin for completions if we don't have multiple devices hanging + * off our complete list. + */ + if (ctx->poll_multi_queue || force_nonspin) + poll_flags |= BLK_POLL_ONESHOT; + + wq_list_for_each(pos, start, &ctx->iopoll_list) { + struct io_kiocb *req = container_of(pos, struct io_kiocb, comp_list); + struct kiocb *kiocb = &req->rw.kiocb; + int ret; + + /* + * Move completed and retryable entries to our local lists. + * If we find a request that requires polling, break out + * and complete those lists first, if we have entries there. + */ + if (READ_ONCE(req->iopoll_completed)) + break; + + ret = kiocb->ki_filp->f_op->iopoll(kiocb, &iob, poll_flags); + if (unlikely(ret < 0)) + return ret; + else if (ret) + poll_flags |= BLK_POLL_ONESHOT; + + /* iopoll may have completed current req */ + if (!rq_list_empty(iob.req_list) || + READ_ONCE(req->iopoll_completed)) + break; + } + + if (!rq_list_empty(iob.req_list)) + iob.complete(&iob); + else if (!pos) + return 0; + + prev = start; + wq_list_for_each_resume(pos, prev) { + struct io_kiocb *req = container_of(pos, struct io_kiocb, comp_list); + + /* order with io_complete_rw_iopoll(), e.g. ->result updates */ + if (!smp_load_acquire(&req->iopoll_completed)) + break; + nr_events++; + if (unlikely(req->flags & REQ_F_CQE_SKIP)) + continue; + + req->cqe.flags = io_put_kbuf(req, 0); + __io_fill_cqe_req(req->ctx, req); + } + + if (unlikely(!nr_events)) + return 0; + + io_commit_cqring(ctx); + io_cqring_ev_posted_iopoll(ctx); + pos = start ? start->next : ctx->iopoll_list.first; + wq_list_cut(&ctx->iopoll_list, prev, start); + io_free_batch_list(ctx, pos); + return nr_events; +} + +/* + * We can't just wait for polled events to come to us, we have to actively + * find and complete them. + */ +static __cold void io_iopoll_try_reap_events(struct io_ring_ctx *ctx) +{ + if (!(ctx->flags & IORING_SETUP_IOPOLL)) + return; + + mutex_lock(&ctx->uring_lock); + while (!wq_list_empty(&ctx->iopoll_list)) { + /* let it sleep and repeat later if can't complete a request */ + if (io_do_iopoll(ctx, true) == 0) + break; + /* + * Ensure we allow local-to-the-cpu processing to take place, + * in this case we need to ensure that we reap all events. + * Also let task_work, etc. to progress by releasing the mutex + */ + if (need_resched()) { + mutex_unlock(&ctx->uring_lock); + cond_resched(); + mutex_lock(&ctx->uring_lock); + } + } + mutex_unlock(&ctx->uring_lock); +} + +static int io_iopoll_check(struct io_ring_ctx *ctx, long min) +{ + unsigned int nr_events = 0; + int ret = 0; + unsigned long check_cq; + + /* + * Don't enter poll loop if we already have events pending. + * If we do, we can potentially be spinning for commands that + * already triggered a CQE (eg in error). + */ + check_cq = READ_ONCE(ctx->check_cq); + if (check_cq & BIT(IO_CHECK_CQ_OVERFLOW_BIT)) + __io_cqring_overflow_flush(ctx, false); + if (io_cqring_events(ctx)) + return 0; + + /* + * Similarly do not spin if we have not informed the user of any + * dropped CQE. + */ + if (unlikely(check_cq & BIT(IO_CHECK_CQ_DROPPED_BIT))) + return -EBADR; + + do { + /* + * If a submit got punted to a workqueue, we can have the + * application entering polling for a command before it gets + * issued. That app will hold the uring_lock for the duration + * of the poll right here, so we need to take a breather every + * now and then to ensure that the issue has a chance to add + * the poll to the issued list. Otherwise we can spin here + * forever, while the workqueue is stuck trying to acquire the + * very same mutex. + */ + if (wq_list_empty(&ctx->iopoll_list)) { + u32 tail = ctx->cached_cq_tail; + + mutex_unlock(&ctx->uring_lock); + io_run_task_work(); + mutex_lock(&ctx->uring_lock); + + /* some requests don't go through iopoll_list */ + if (tail != ctx->cached_cq_tail || + wq_list_empty(&ctx->iopoll_list)) + break; + } + ret = io_do_iopoll(ctx, !min); + if (ret < 0) + break; + nr_events += ret; + ret = 0; + } while (nr_events < min && !need_resched()); + + return ret; +} + +static void kiocb_end_write(struct io_kiocb *req) +{ + /* + * Tell lockdep we inherited freeze protection from submission + * thread. + */ + if (req->flags & REQ_F_ISREG) { + struct super_block *sb = file_inode(req->file)->i_sb; + + __sb_writers_acquired(sb, SB_FREEZE_WRITE); + sb_end_write(sb); + } +} + +#ifdef CONFIG_BLOCK +static bool io_resubmit_prep(struct io_kiocb *req) +{ + struct io_async_rw *rw = req->async_data; + + if (!req_has_async_data(req)) + return !io_req_prep_async(req); + iov_iter_restore(&rw->s.iter, &rw->s.iter_state); + return true; +} + +static bool io_rw_should_reissue(struct io_kiocb *req) +{ + umode_t mode = file_inode(req->file)->i_mode; + struct io_ring_ctx *ctx = req->ctx; + + if (!S_ISBLK(mode) && !S_ISREG(mode)) + return false; + if ((req->flags & REQ_F_NOWAIT) || (io_wq_current_is_worker() && + !(ctx->flags & IORING_SETUP_IOPOLL))) + return false; + /* + * If ref is dying, we might be running poll reap from the exit work. + * Don't attempt to reissue from that path, just let it fail with + * -EAGAIN. + */ + if (percpu_ref_is_dying(&ctx->refs)) + return false; + /* + * Play it safe and assume not safe to re-import and reissue if we're + * not in the original thread group (or in task context). + */ + if (!same_thread_group(req->task, current) || !in_task()) + return false; + return true; +} +#else +static bool io_resubmit_prep(struct io_kiocb *req) +{ + return false; +} +static bool io_rw_should_reissue(struct io_kiocb *req) +{ + return false; +} +#endif + +static bool __io_complete_rw_common(struct io_kiocb *req, long res) +{ + if (req->rw.kiocb.ki_flags & IOCB_WRITE) { + kiocb_end_write(req); + fsnotify_modify(req->file); + } else { + fsnotify_access(req->file); + } + if (unlikely(res != req->cqe.res)) { + if ((res == -EAGAIN || res == -EOPNOTSUPP) && + io_rw_should_reissue(req)) { + req->flags |= REQ_F_REISSUE | REQ_F_PARTIAL_IO; + return true; + } + req_set_fail(req); + req->cqe.res = res; + } + return false; +} + +static inline void io_req_task_complete(struct io_kiocb *req, bool *locked) +{ + int res = req->cqe.res; + + if (*locked) { + io_req_complete_state(req, res, io_put_kbuf(req, 0)); + io_req_add_compl_list(req); + } else { + io_req_complete_post(req, res, + io_put_kbuf(req, IO_URING_F_UNLOCKED)); + } +} + +static void __io_complete_rw(struct io_kiocb *req, long res, + unsigned int issue_flags) +{ + if (__io_complete_rw_common(req, res)) + return; + __io_req_complete(req, issue_flags, req->cqe.res, + io_put_kbuf(req, issue_flags)); +} + +static void io_complete_rw(struct kiocb *kiocb, long res) +{ + struct io_kiocb *req = container_of(kiocb, struct io_kiocb, rw.kiocb); + + if (__io_complete_rw_common(req, res)) + return; + req->cqe.res = res; + req->io_task_work.func = io_req_task_complete; + io_req_task_prio_work_add(req); +} + +static void io_complete_rw_iopoll(struct kiocb *kiocb, long res) +{ + struct io_kiocb *req = container_of(kiocb, struct io_kiocb, rw.kiocb); + + if (kiocb->ki_flags & IOCB_WRITE) + kiocb_end_write(req); + if (unlikely(res != req->cqe.res)) { + if (res == -EAGAIN && io_rw_should_reissue(req)) { + req->flags |= REQ_F_REISSUE | REQ_F_PARTIAL_IO; + return; + } + req->cqe.res = res; + } + + /* order with io_iopoll_complete() checking ->iopoll_completed */ + smp_store_release(&req->iopoll_completed, 1); +} + +/* + * After the iocb has been issued, it's safe to be found on the poll list. + * Adding the kiocb to the list AFTER submission ensures that we don't + * find it from a io_do_iopoll() thread before the issuer is done + * accessing the kiocb cookie. + */ +static void io_iopoll_req_issued(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_ring_ctx *ctx = req->ctx; + const bool needs_lock = issue_flags & IO_URING_F_UNLOCKED; + + /* workqueue context doesn't hold uring_lock, grab it now */ + if (unlikely(needs_lock)) + mutex_lock(&ctx->uring_lock); + + /* + * Track whether we have multiple files in our lists. This will impact + * how we do polling eventually, not spinning if we're on potentially + * different devices. + */ + if (wq_list_empty(&ctx->iopoll_list)) { + ctx->poll_multi_queue = false; + } else if (!ctx->poll_multi_queue) { + struct io_kiocb *list_req; + + list_req = container_of(ctx->iopoll_list.first, struct io_kiocb, + comp_list); + if (list_req->file != req->file) + ctx->poll_multi_queue = true; + } + + /* + * For fast devices, IO may have already completed. If it has, add + * it to the front so we find it first. + */ + if (READ_ONCE(req->iopoll_completed)) + wq_list_add_head(&req->comp_list, &ctx->iopoll_list); + else + wq_list_add_tail(&req->comp_list, &ctx->iopoll_list); + + if (unlikely(needs_lock)) { + /* + * If IORING_SETUP_SQPOLL is enabled, sqes are either handle + * in sq thread task context or in io worker task context. If + * current task context is sq thread, we don't need to check + * whether should wake up sq thread. + */ + if ((ctx->flags & IORING_SETUP_SQPOLL) && + wq_has_sleeper(&ctx->sq_data->wait)) + wake_up(&ctx->sq_data->wait); + + mutex_unlock(&ctx->uring_lock); + } +} + +static bool io_bdev_nowait(struct block_device *bdev) +{ + return !bdev || blk_queue_nowait(bdev_get_queue(bdev)); +} + +/* + * If we tracked the file through the SCM inflight mechanism, we could support + * any file. For now, just ensure that anything potentially problematic is done + * inline. + */ +static bool __io_file_supports_nowait(struct file *file, umode_t mode) +{ + if (S_ISBLK(mode)) { + if (IS_ENABLED(CONFIG_BLOCK) && + io_bdev_nowait(I_BDEV(file->f_mapping->host))) + return true; + return false; + } + if (S_ISSOCK(mode)) + return true; + if (S_ISREG(mode)) { + if (IS_ENABLED(CONFIG_BLOCK) && + io_bdev_nowait(file->f_inode->i_sb->s_bdev) && + file->f_op != &io_uring_fops) + return true; + return false; + } + + /* any ->read/write should understand O_NONBLOCK */ + if (file->f_flags & O_NONBLOCK) + return true; + return file->f_mode & FMODE_NOWAIT; +} + +/* + * If we tracked the file through the SCM inflight mechanism, we could support + * any file. For now, just ensure that anything potentially problematic is done + * inline. + */ +static unsigned int io_file_get_flags(struct file *file) +{ + umode_t mode = file_inode(file)->i_mode; + unsigned int res = 0; + + if (S_ISREG(mode)) + res |= FFS_ISREG; + if (__io_file_supports_nowait(file, mode)) + res |= FFS_NOWAIT; + if (io_file_need_scm(file)) + res |= FFS_SCM; + return res; +} + +static inline bool io_file_supports_nowait(struct io_kiocb *req) +{ + return req->flags & REQ_F_SUPPORT_NOWAIT; +} + +static int io_prep_rw(struct io_kiocb *req, const struct io_uring_sqe *sqe) +{ + struct kiocb *kiocb = &req->rw.kiocb; + unsigned ioprio; + int ret; + + kiocb->ki_pos = READ_ONCE(sqe->off); + /* used for fixed read/write too - just read unconditionally */ + req->buf_index = READ_ONCE(sqe->buf_index); + + if (req->opcode == IORING_OP_READ_FIXED || + req->opcode == IORING_OP_WRITE_FIXED) { + struct io_ring_ctx *ctx = req->ctx; + u16 index; + + if (unlikely(req->buf_index >= ctx->nr_user_bufs)) + return -EFAULT; + index = array_index_nospec(req->buf_index, ctx->nr_user_bufs); + req->imu = ctx->user_bufs[index]; + io_req_set_rsrc_node(req, ctx, 0); + } + + ioprio = READ_ONCE(sqe->ioprio); + if (ioprio) { + ret = ioprio_check_cap(ioprio); + if (ret) + return ret; + + kiocb->ki_ioprio = ioprio; + } else { + kiocb->ki_ioprio = get_current_ioprio(); + } + + req->rw.addr = READ_ONCE(sqe->addr); + req->rw.len = READ_ONCE(sqe->len); + req->rw.flags = READ_ONCE(sqe->rw_flags); + return 0; +} + +static inline void io_rw_done(struct kiocb *kiocb, ssize_t ret) +{ + switch (ret) { + case -EIOCBQUEUED: + break; + case -ERESTARTSYS: + case -ERESTARTNOINTR: + case -ERESTARTNOHAND: + case -ERESTART_RESTARTBLOCK: + /* + * We can't just restart the syscall, since previously + * submitted sqes may already be in progress. Just fail this + * IO with EINTR. + */ + ret = -EINTR; + fallthrough; + default: + kiocb->ki_complete(kiocb, ret); + } +} + +static inline loff_t *io_kiocb_update_pos(struct io_kiocb *req) +{ + struct kiocb *kiocb = &req->rw.kiocb; + + if (kiocb->ki_pos != -1) + return &kiocb->ki_pos; + + if (!(req->file->f_mode & FMODE_STREAM)) { + req->flags |= REQ_F_CUR_POS; + kiocb->ki_pos = req->file->f_pos; + return &kiocb->ki_pos; + } + + kiocb->ki_pos = 0; + return NULL; +} + +static void kiocb_done(struct io_kiocb *req, ssize_t ret, + unsigned int issue_flags) +{ + struct io_async_rw *io = req->async_data; + + /* add previously done IO, if any */ + if (req_has_async_data(req) && io->bytes_done > 0) { + if (ret < 0) + ret = io->bytes_done; + else + ret += io->bytes_done; + } + + if (req->flags & REQ_F_CUR_POS) + req->file->f_pos = req->rw.kiocb.ki_pos; + if (ret >= 0 && (req->rw.kiocb.ki_complete == io_complete_rw)) + __io_complete_rw(req, ret, issue_flags); + else + io_rw_done(&req->rw.kiocb, ret); + + if (req->flags & REQ_F_REISSUE) { + req->flags &= ~REQ_F_REISSUE; + if (io_resubmit_prep(req)) + io_req_task_queue_reissue(req); + else + io_req_task_queue_fail(req, ret); + } +} + +static int __io_import_fixed(struct io_kiocb *req, int rw, struct iov_iter *iter, + struct io_mapped_ubuf *imu) +{ + size_t len = req->rw.len; + u64 buf_end, buf_addr = req->rw.addr; + size_t offset; + + if (unlikely(check_add_overflow(buf_addr, (u64)len, &buf_end))) + return -EFAULT; + /* not inside the mapped region */ + if (unlikely(buf_addr < imu->ubuf || buf_end > imu->ubuf_end)) + return -EFAULT; + + /* + * May not be a start of buffer, set size appropriately + * and advance us to the beginning. + */ + offset = buf_addr - imu->ubuf; + iov_iter_bvec(iter, rw, imu->bvec, imu->nr_bvecs, offset + len); + + if (offset) { + /* + * Don't use iov_iter_advance() here, as it's really slow for + * using the latter parts of a big fixed buffer - it iterates + * over each segment manually. We can cheat a bit here, because + * we know that: + * + * 1) it's a BVEC iter, we set it up + * 2) all bvecs are PAGE_SIZE in size, except potentially the + * first and last bvec + * + * So just find our index, and adjust the iterator afterwards. + * If the offset is within the first bvec (or the whole first + * bvec, just use iov_iter_advance(). This makes it easier + * since we can just skip the first segment, which may not + * be PAGE_SIZE aligned. + */ + const struct bio_vec *bvec = imu->bvec; + + if (offset <= bvec->bv_len) { + iov_iter_advance(iter, offset); + } else { + unsigned long seg_skip; + + /* skip first vec */ + offset -= bvec->bv_len; + seg_skip = 1 + (offset >> PAGE_SHIFT); + + iter->bvec = bvec + seg_skip; + iter->nr_segs -= seg_skip; + iter->count -= bvec->bv_len + offset; + iter->iov_offset = offset & ~PAGE_MASK; + } + } + + return 0; +} + +static int io_import_fixed(struct io_kiocb *req, int rw, struct iov_iter *iter, + unsigned int issue_flags) +{ + if (WARN_ON_ONCE(!req->imu)) + return -EFAULT; + return __io_import_fixed(req, rw, iter, req->imu); +} + +static int io_buffer_add_list(struct io_ring_ctx *ctx, + struct io_buffer_list *bl, unsigned int bgid) +{ + bl->bgid = bgid; + if (bgid < BGID_ARRAY) + return 0; + + return xa_err(xa_store(&ctx->io_bl_xa, bgid, bl, GFP_KERNEL)); +} + +static void __user *io_provided_buffer_select(struct io_kiocb *req, size_t *len, + struct io_buffer_list *bl) +{ + if (!list_empty(&bl->buf_list)) { + struct io_buffer *kbuf; + + kbuf = list_first_entry(&bl->buf_list, struct io_buffer, list); + list_del(&kbuf->list); + if (*len > kbuf->len) + *len = kbuf->len; + req->flags |= REQ_F_BUFFER_SELECTED; + req->kbuf = kbuf; + req->buf_index = kbuf->bid; + return u64_to_user_ptr(kbuf->addr); + } + return NULL; +} + +static void __user *io_ring_buffer_select(struct io_kiocb *req, size_t *len, + struct io_buffer_list *bl, + unsigned int issue_flags) +{ + struct io_uring_buf_ring *br = bl->buf_ring; + struct io_uring_buf *buf; + __u16 head = bl->head; + + if (unlikely(smp_load_acquire(&br->tail) == head)) + return NULL; + + head &= bl->mask; + if (head < IO_BUFFER_LIST_BUF_PER_PAGE) { + buf = &br->bufs[head]; + } else { + int off = head & (IO_BUFFER_LIST_BUF_PER_PAGE - 1); + int index = head / IO_BUFFER_LIST_BUF_PER_PAGE; + buf = page_address(bl->buf_pages[index]); + buf += off; + } + if (*len > buf->len) + *len = buf->len; + req->flags |= REQ_F_BUFFER_RING; + req->buf_list = bl; + req->buf_index = buf->bid; + + if (issue_flags & IO_URING_F_UNLOCKED || !file_can_poll(req->file)) { + /* + * If we came in unlocked, we have no choice but to consume the + * buffer here. This does mean it'll be pinned until the IO + * completes. But coming in unlocked means we're in io-wq + * context, hence there should be no further retry. For the + * locked case, the caller must ensure to call the commit when + * the transfer completes (or if we get -EAGAIN and must poll + * or retry). + */ + req->buf_list = NULL; + bl->head++; + } + return u64_to_user_ptr(buf->addr); +} + +static void __user *io_buffer_select(struct io_kiocb *req, size_t *len, + unsigned int issue_flags) +{ + struct io_ring_ctx *ctx = req->ctx; + struct io_buffer_list *bl; + void __user *ret = NULL; + + io_ring_submit_lock(req->ctx, issue_flags); + + bl = io_buffer_get_list(ctx, req->buf_index); + if (likely(bl)) { + if (bl->buf_nr_pages) + ret = io_ring_buffer_select(req, len, bl, issue_flags); + else + ret = io_provided_buffer_select(req, len, bl); + } + io_ring_submit_unlock(req->ctx, issue_flags); + return ret; +} + +#ifdef CONFIG_COMPAT +static ssize_t io_compat_import(struct io_kiocb *req, struct iovec *iov, + unsigned int issue_flags) +{ + struct compat_iovec __user *uiov; + compat_ssize_t clen; + void __user *buf; + size_t len; + + uiov = u64_to_user_ptr(req->rw.addr); + if (!access_ok(uiov, sizeof(*uiov))) + return -EFAULT; + if (__get_user(clen, &uiov->iov_len)) + return -EFAULT; + if (clen < 0) + return -EINVAL; + + len = clen; + buf = io_buffer_select(req, &len, issue_flags); + if (!buf) + return -ENOBUFS; + req->rw.addr = (unsigned long) buf; + iov[0].iov_base = buf; + req->rw.len = iov[0].iov_len = (compat_size_t) len; + return 0; +} +#endif + +static ssize_t __io_iov_buffer_select(struct io_kiocb *req, struct iovec *iov, + unsigned int issue_flags) +{ + struct iovec __user *uiov = u64_to_user_ptr(req->rw.addr); + void __user *buf; + ssize_t len; + + if (copy_from_user(iov, uiov, sizeof(*uiov))) + return -EFAULT; + + len = iov[0].iov_len; + if (len < 0) + return -EINVAL; + buf = io_buffer_select(req, &len, issue_flags); + if (!buf) + return -ENOBUFS; + req->rw.addr = (unsigned long) buf; + iov[0].iov_base = buf; + req->rw.len = iov[0].iov_len = len; + return 0; +} + +static ssize_t io_iov_buffer_select(struct io_kiocb *req, struct iovec *iov, + unsigned int issue_flags) +{ + if (req->flags & (REQ_F_BUFFER_SELECTED|REQ_F_BUFFER_RING)) { + iov[0].iov_base = u64_to_user_ptr(req->rw.addr); + iov[0].iov_len = req->rw.len; + return 0; + } + if (req->rw.len != 1) + return -EINVAL; + +#ifdef CONFIG_COMPAT + if (req->ctx->compat) + return io_compat_import(req, iov, issue_flags); +#endif + + return __io_iov_buffer_select(req, iov, issue_flags); +} + +static inline bool io_do_buffer_select(struct io_kiocb *req) +{ + if (!(req->flags & REQ_F_BUFFER_SELECT)) + return false; + return !(req->flags & (REQ_F_BUFFER_SELECTED|REQ_F_BUFFER_RING)); +} + +static struct iovec *__io_import_iovec(int rw, struct io_kiocb *req, + struct io_rw_state *s, + unsigned int issue_flags) +{ + struct iov_iter *iter = &s->iter; + u8 opcode = req->opcode; + struct iovec *iovec; + void __user *buf; + size_t sqe_len; + ssize_t ret; + + if (opcode == IORING_OP_READ_FIXED || opcode == IORING_OP_WRITE_FIXED) { + ret = io_import_fixed(req, rw, iter, issue_flags); + if (ret) + return ERR_PTR(ret); + return NULL; + } + + buf = u64_to_user_ptr(req->rw.addr); + sqe_len = req->rw.len; + + if (opcode == IORING_OP_READ || opcode == IORING_OP_WRITE) { + if (io_do_buffer_select(req)) { + buf = io_buffer_select(req, &sqe_len, issue_flags); + if (!buf) + return ERR_PTR(-ENOBUFS); + req->rw.addr = (unsigned long) buf; + req->rw.len = sqe_len; + } + + ret = import_single_range(rw, buf, sqe_len, s->fast_iov, iter); + if (ret) + return ERR_PTR(ret); + return NULL; + } + + iovec = s->fast_iov; + if (req->flags & REQ_F_BUFFER_SELECT) { + ret = io_iov_buffer_select(req, iovec, issue_flags); + if (ret) + return ERR_PTR(ret); + iov_iter_init(iter, rw, iovec, 1, iovec->iov_len); + return NULL; + } + + ret = __import_iovec(rw, buf, sqe_len, UIO_FASTIOV, &iovec, iter, + req->ctx->compat); + if (unlikely(ret < 0)) + return ERR_PTR(ret); + return iovec; +} + +static inline int io_import_iovec(int rw, struct io_kiocb *req, + struct iovec **iovec, struct io_rw_state *s, + unsigned int issue_flags) +{ + *iovec = __io_import_iovec(rw, req, s, issue_flags); + if (unlikely(IS_ERR(*iovec))) + return PTR_ERR(*iovec); + + iov_iter_save_state(&s->iter, &s->iter_state); + return 0; +} + +static inline loff_t *io_kiocb_ppos(struct kiocb *kiocb) +{ + return (kiocb->ki_filp->f_mode & FMODE_STREAM) ? NULL : &kiocb->ki_pos; +} + +/* + * For files that don't have ->read_iter() and ->write_iter(), handle them + * by looping over ->read() or ->write() manually. + */ +static ssize_t loop_rw_iter(int rw, struct io_kiocb *req, struct iov_iter *iter) +{ + struct kiocb *kiocb = &req->rw.kiocb; + struct file *file = req->file; + ssize_t ret = 0; + loff_t *ppos; + + /* + * Don't support polled IO through this interface, and we can't + * support non-blocking either. For the latter, this just causes + * the kiocb to be handled from an async context. + */ + if (kiocb->ki_flags & IOCB_HIPRI) + return -EOPNOTSUPP; + if ((kiocb->ki_flags & IOCB_NOWAIT) && + !(kiocb->ki_filp->f_flags & O_NONBLOCK)) + return -EAGAIN; + + ppos = io_kiocb_ppos(kiocb); + + while (iov_iter_count(iter)) { + struct iovec iovec; + ssize_t nr; + + if (!iov_iter_is_bvec(iter)) { + iovec = iov_iter_iovec(iter); + } else { + iovec.iov_base = u64_to_user_ptr(req->rw.addr); + iovec.iov_len = req->rw.len; + } + + if (rw == READ) { + nr = file->f_op->read(file, iovec.iov_base, + iovec.iov_len, ppos); + } else { + nr = file->f_op->write(file, iovec.iov_base, + iovec.iov_len, ppos); + } + + if (nr < 0) { + if (!ret) + ret = nr; + break; + } + ret += nr; + if (!iov_iter_is_bvec(iter)) { + iov_iter_advance(iter, nr); + } else { + req->rw.addr += nr; + req->rw.len -= nr; + if (!req->rw.len) + break; + } + if (nr != iovec.iov_len) + break; + } + + return ret; +} + +static void io_req_map_rw(struct io_kiocb *req, const struct iovec *iovec, + const struct iovec *fast_iov, struct iov_iter *iter) +{ + struct io_async_rw *rw = req->async_data; + + memcpy(&rw->s.iter, iter, sizeof(*iter)); + rw->free_iovec = iovec; + rw->bytes_done = 0; + /* can only be fixed buffers, no need to do anything */ + if (iov_iter_is_bvec(iter)) + return; + if (!iovec) { + unsigned iov_off = 0; + + rw->s.iter.iov = rw->s.fast_iov; + if (iter->iov != fast_iov) { + iov_off = iter->iov - fast_iov; + rw->s.iter.iov += iov_off; + } + if (rw->s.fast_iov != fast_iov) + memcpy(rw->s.fast_iov + iov_off, fast_iov + iov_off, + sizeof(struct iovec) * iter->nr_segs); + } else { + req->flags |= REQ_F_NEED_CLEANUP; + } +} + +static inline bool io_alloc_async_data(struct io_kiocb *req) +{ + WARN_ON_ONCE(!io_op_defs[req->opcode].async_size); + req->async_data = kmalloc(io_op_defs[req->opcode].async_size, GFP_KERNEL); + if (req->async_data) { + req->flags |= REQ_F_ASYNC_DATA; + return false; + } + return true; +} + +static int io_setup_async_rw(struct io_kiocb *req, const struct iovec *iovec, + struct io_rw_state *s, bool force) +{ + if (!force && !io_op_defs[req->opcode].needs_async_setup) + return 0; + if (!req_has_async_data(req)) { + struct io_async_rw *iorw; + + if (io_alloc_async_data(req)) { + kfree(iovec); + return -ENOMEM; + } + + io_req_map_rw(req, iovec, s->fast_iov, &s->iter); + iorw = req->async_data; + /* we've copied and mapped the iter, ensure state is saved */ + iov_iter_save_state(&iorw->s.iter, &iorw->s.iter_state); + } + return 0; +} + +static inline int io_rw_prep_async(struct io_kiocb *req, int rw) +{ + struct io_async_rw *iorw = req->async_data; + struct iovec *iov; + int ret; + + /* submission path, ->uring_lock should already be taken */ + ret = io_import_iovec(rw, req, &iov, &iorw->s, 0); + if (unlikely(ret < 0)) + return ret; + + iorw->bytes_done = 0; + iorw->free_iovec = iov; + if (iov) + req->flags |= REQ_F_NEED_CLEANUP; + return 0; +} + +static int io_readv_prep_async(struct io_kiocb *req) +{ + return io_rw_prep_async(req, READ); +} + +static int io_writev_prep_async(struct io_kiocb *req) +{ + return io_rw_prep_async(req, WRITE); +} + +/* + * This is our waitqueue callback handler, registered through __folio_lock_async() + * when we initially tried to do the IO with the iocb armed our waitqueue. + * This gets called when the page is unlocked, and we generally expect that to + * happen when the page IO is completed and the page is now uptodate. This will + * queue a task_work based retry of the operation, attempting to copy the data + * again. If the latter fails because the page was NOT uptodate, then we will + * do a thread based blocking retry of the operation. That's the unexpected + * slow path. + */ +static int io_async_buf_func(struct wait_queue_entry *wait, unsigned mode, + int sync, void *arg) +{ + struct wait_page_queue *wpq; + struct io_kiocb *req = wait->private; + struct wait_page_key *key = arg; + + wpq = container_of(wait, struct wait_page_queue, wait); + + if (!wake_page_match(wpq, key)) + return 0; + + req->rw.kiocb.ki_flags &= ~IOCB_WAITQ; + list_del_init(&wait->entry); + io_req_task_queue(req); + return 1; +} + +/* + * This controls whether a given IO request should be armed for async page + * based retry. If we return false here, the request is handed to the async + * worker threads for retry. If we're doing buffered reads on a regular file, + * we prepare a private wait_page_queue entry and retry the operation. This + * will either succeed because the page is now uptodate and unlocked, or it + * will register a callback when the page is unlocked at IO completion. Through + * that callback, io_uring uses task_work to setup a retry of the operation. + * That retry will attempt the buffered read again. The retry will generally + * succeed, or in rare cases where it fails, we then fall back to using the + * async worker threads for a blocking retry. + */ +static bool io_rw_should_retry(struct io_kiocb *req) +{ + struct io_async_rw *rw = req->async_data; + struct wait_page_queue *wait = &rw->wpq; + struct kiocb *kiocb = &req->rw.kiocb; + + /* never retry for NOWAIT, we just complete with -EAGAIN */ + if (req->flags & REQ_F_NOWAIT) + return false; + + /* Only for buffered IO */ + if (kiocb->ki_flags & (IOCB_DIRECT | IOCB_HIPRI)) + return false; + + /* + * just use poll if we can, and don't attempt if the fs doesn't + * support callback based unlocks + */ + if (file_can_poll(req->file) || !(req->file->f_mode & FMODE_BUF_RASYNC)) + return false; + + wait->wait.func = io_async_buf_func; + wait->wait.private = req; + wait->wait.flags = 0; + INIT_LIST_HEAD(&wait->wait.entry); + kiocb->ki_flags |= IOCB_WAITQ; + kiocb->ki_flags &= ~IOCB_NOWAIT; + kiocb->ki_waitq = wait; + return true; +} + +static inline int io_iter_do_read(struct io_kiocb *req, struct iov_iter *iter) +{ + if (likely(req->file->f_op->read_iter)) + return call_read_iter(req->file, &req->rw.kiocb, iter); + else if (req->file->f_op->read) + return loop_rw_iter(READ, req, iter); + else + return -EINVAL; +} + +static bool need_read_all(struct io_kiocb *req) +{ + return req->flags & REQ_F_ISREG || + S_ISBLK(file_inode(req->file)->i_mode); +} + +static int io_rw_init_file(struct io_kiocb *req, fmode_t mode) +{ + struct kiocb *kiocb = &req->rw.kiocb; + struct io_ring_ctx *ctx = req->ctx; + struct file *file = req->file; + int ret; + + if (unlikely(!file || !(file->f_mode & mode))) + return -EBADF; + + if (!io_req_ffs_set(req)) + req->flags |= io_file_get_flags(file) << REQ_F_SUPPORT_NOWAIT_BIT; + + kiocb->ki_flags = iocb_flags(file); + ret = kiocb_set_rw_flags(kiocb, req->rw.flags); + if (unlikely(ret)) + return ret; + + /* + * If the file is marked O_NONBLOCK, still allow retry for it if it + * supports async. Otherwise it's impossible to use O_NONBLOCK files + * reliably. If not, or it IOCB_NOWAIT is set, don't retry. + */ + if ((kiocb->ki_flags & IOCB_NOWAIT) || + ((file->f_flags & O_NONBLOCK) && !io_file_supports_nowait(req))) + req->flags |= REQ_F_NOWAIT; + + if (ctx->flags & IORING_SETUP_IOPOLL) { + if (!(kiocb->ki_flags & IOCB_DIRECT) || !file->f_op->iopoll) + return -EOPNOTSUPP; + + kiocb->private = NULL; + kiocb->ki_flags |= IOCB_HIPRI | IOCB_ALLOC_CACHE; + kiocb->ki_complete = io_complete_rw_iopoll; + req->iopoll_completed = 0; + } else { + if (kiocb->ki_flags & IOCB_HIPRI) + return -EINVAL; + kiocb->ki_complete = io_complete_rw; + } + + return 0; +} + +static int io_read(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_rw_state __s, *s = &__s; + struct iovec *iovec; + struct kiocb *kiocb = &req->rw.kiocb; + bool force_nonblock = issue_flags & IO_URING_F_NONBLOCK; + struct io_async_rw *rw; + ssize_t ret, ret2; + loff_t *ppos; + + if (!req_has_async_data(req)) { + ret = io_import_iovec(READ, req, &iovec, s, issue_flags); + if (unlikely(ret < 0)) + return ret; + } else { + rw = req->async_data; + s = &rw->s; + + /* + * Safe and required to re-import if we're using provided + * buffers, as we dropped the selected one before retry. + */ + if (io_do_buffer_select(req)) { + ret = io_import_iovec(READ, req, &iovec, s, issue_flags); + if (unlikely(ret < 0)) + return ret; + } + + /* + * We come here from an earlier attempt, restore our state to + * match in case it doesn't. It's cheap enough that we don't + * need to make this conditional. + */ + iov_iter_restore(&s->iter, &s->iter_state); + iovec = NULL; + } + ret = io_rw_init_file(req, FMODE_READ); + if (unlikely(ret)) { + kfree(iovec); + return ret; + } + req->cqe.res = iov_iter_count(&s->iter); + + if (force_nonblock) { + /* If the file doesn't support async, just async punt */ + if (unlikely(!io_file_supports_nowait(req))) { + ret = io_setup_async_rw(req, iovec, s, true); + return ret ?: -EAGAIN; + } + kiocb->ki_flags |= IOCB_NOWAIT; + } else { + /* Ensure we clear previously set non-block flag */ + kiocb->ki_flags &= ~IOCB_NOWAIT; + } + + ppos = io_kiocb_update_pos(req); + + ret = rw_verify_area(READ, req->file, ppos, req->cqe.res); + if (unlikely(ret)) { + kfree(iovec); + return ret; + } + + ret = io_iter_do_read(req, &s->iter); + + if (ret == -EAGAIN || (req->flags & REQ_F_REISSUE)) { + req->flags &= ~REQ_F_REISSUE; + /* if we can poll, just do that */ + if (req->opcode == IORING_OP_READ && file_can_poll(req->file)) + return -EAGAIN; + /* IOPOLL retry should happen for io-wq threads */ + if (!force_nonblock && !(req->ctx->flags & IORING_SETUP_IOPOLL)) + goto done; + /* no retry on NONBLOCK nor RWF_NOWAIT */ + if (req->flags & REQ_F_NOWAIT) + goto done; + ret = 0; + } else if (ret == -EIOCBQUEUED) { + goto out_free; + } else if (ret == req->cqe.res || ret <= 0 || !force_nonblock || + (req->flags & REQ_F_NOWAIT) || !need_read_all(req)) { + /* read all, failed, already did sync or don't want to retry */ + goto done; + } + + /* + * Don't depend on the iter state matching what was consumed, or being + * untouched in case of error. Restore it and we'll advance it + * manually if we need to. + */ + iov_iter_restore(&s->iter, &s->iter_state); + + ret2 = io_setup_async_rw(req, iovec, s, true); + if (ret2) + return ret2; + + iovec = NULL; + rw = req->async_data; + s = &rw->s; + /* + * Now use our persistent iterator and state, if we aren't already. + * We've restored and mapped the iter to match. + */ + + do { + /* + * We end up here because of a partial read, either from + * above or inside this loop. Advance the iter by the bytes + * that were consumed. + */ + iov_iter_advance(&s->iter, ret); + if (!iov_iter_count(&s->iter)) + break; + rw->bytes_done += ret; + iov_iter_save_state(&s->iter, &s->iter_state); + + /* if we can retry, do so with the callbacks armed */ + if (!io_rw_should_retry(req)) { + kiocb->ki_flags &= ~IOCB_WAITQ; + return -EAGAIN; + } + + req->cqe.res = iov_iter_count(&s->iter); + /* + * Now retry read with the IOCB_WAITQ parts set in the iocb. If + * we get -EIOCBQUEUED, then we'll get a notification when the + * desired page gets unlocked. We can also get a partial read + * here, and if we do, then just retry at the new offset. + */ + ret = io_iter_do_read(req, &s->iter); + if (ret == -EIOCBQUEUED) + return 0; + /* we got some bytes, but not all. retry. */ + kiocb->ki_flags &= ~IOCB_WAITQ; + iov_iter_restore(&s->iter, &s->iter_state); + } while (ret > 0); +done: + kiocb_done(req, ret, issue_flags); +out_free: + /* it's faster to check here then delegate to kfree */ + if (iovec) + kfree(iovec); + return 0; +} + +static int io_write(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_rw_state __s, *s = &__s; + struct iovec *iovec; + struct kiocb *kiocb = &req->rw.kiocb; + bool force_nonblock = issue_flags & IO_URING_F_NONBLOCK; + ssize_t ret, ret2; + loff_t *ppos; + + if (!req_has_async_data(req)) { + ret = io_import_iovec(WRITE, req, &iovec, s, issue_flags); + if (unlikely(ret < 0)) + return ret; + } else { + struct io_async_rw *rw = req->async_data; + + s = &rw->s; + iov_iter_restore(&s->iter, &s->iter_state); + iovec = NULL; + } + ret = io_rw_init_file(req, FMODE_WRITE); + if (unlikely(ret)) { + kfree(iovec); + return ret; + } + req->cqe.res = iov_iter_count(&s->iter); + + if (force_nonblock) { + /* If the file doesn't support async, just async punt */ + if (unlikely(!io_file_supports_nowait(req))) + goto copy_iov; + + /* file path doesn't support NOWAIT for non-direct_IO */ + if (force_nonblock && !(kiocb->ki_flags & IOCB_DIRECT) && + (req->flags & REQ_F_ISREG)) + goto copy_iov; + + kiocb->ki_flags |= IOCB_NOWAIT; + } else { + /* Ensure we clear previously set non-block flag */ + kiocb->ki_flags &= ~IOCB_NOWAIT; + } + + ppos = io_kiocb_update_pos(req); + + ret = rw_verify_area(WRITE, req->file, ppos, req->cqe.res); + if (unlikely(ret)) + goto out_free; + + /* + * Open-code file_start_write here to grab freeze protection, + * which will be released by another thread in + * io_complete_rw(). Fool lockdep by telling it the lock got + * released so that it doesn't complain about the held lock when + * we return to userspace. + */ + if (req->flags & REQ_F_ISREG) { + sb_start_write(file_inode(req->file)->i_sb); + __sb_writers_release(file_inode(req->file)->i_sb, + SB_FREEZE_WRITE); + } + kiocb->ki_flags |= IOCB_WRITE; + + if (likely(req->file->f_op->write_iter)) + ret2 = call_write_iter(req->file, kiocb, &s->iter); + else if (req->file->f_op->write) + ret2 = loop_rw_iter(WRITE, req, &s->iter); + else + ret2 = -EINVAL; + + if (req->flags & REQ_F_REISSUE) { + req->flags &= ~REQ_F_REISSUE; + ret2 = -EAGAIN; + } + + /* + * Raw bdev writes will return -EOPNOTSUPP for IOCB_NOWAIT. Just + * retry them without IOCB_NOWAIT. + */ + if (ret2 == -EOPNOTSUPP && (kiocb->ki_flags & IOCB_NOWAIT)) + ret2 = -EAGAIN; + /* no retry on NONBLOCK nor RWF_NOWAIT */ + if (ret2 == -EAGAIN && (req->flags & REQ_F_NOWAIT)) + goto done; + if (!force_nonblock || ret2 != -EAGAIN) { + /* IOPOLL retry should happen for io-wq threads */ + if (ret2 == -EAGAIN && (req->ctx->flags & IORING_SETUP_IOPOLL)) + goto copy_iov; +done: + kiocb_done(req, ret2, issue_flags); + } else { +copy_iov: + iov_iter_restore(&s->iter, &s->iter_state); + ret = io_setup_async_rw(req, iovec, s, false); + if (!ret) { + if (kiocb->ki_flags & IOCB_WRITE) + kiocb_end_write(req); + return -EAGAIN; + } + return ret; + } +out_free: + /* it's reportedly faster than delegating the null check to kfree() */ + if (iovec) + kfree(iovec); + return ret; +} + +static int io_renameat_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + struct io_rename *ren = &req->rename; + const char __user *oldf, *newf; + + if (sqe->buf_index || sqe->splice_fd_in) + return -EINVAL; + if (unlikely(req->flags & REQ_F_FIXED_FILE)) + return -EBADF; + + ren->old_dfd = READ_ONCE(sqe->fd); + oldf = u64_to_user_ptr(READ_ONCE(sqe->addr)); + newf = u64_to_user_ptr(READ_ONCE(sqe->addr2)); + ren->new_dfd = READ_ONCE(sqe->len); + ren->flags = READ_ONCE(sqe->rename_flags); + + ren->oldpath = getname(oldf); + if (IS_ERR(ren->oldpath)) + return PTR_ERR(ren->oldpath); + + ren->newpath = getname(newf); + if (IS_ERR(ren->newpath)) { + putname(ren->oldpath); + return PTR_ERR(ren->newpath); + } + + req->flags |= REQ_F_NEED_CLEANUP; + return 0; +} + +static int io_renameat(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_rename *ren = &req->rename; + int ret; + + if (issue_flags & IO_URING_F_NONBLOCK) + return -EAGAIN; + + ret = do_renameat2(ren->old_dfd, ren->oldpath, ren->new_dfd, + ren->newpath, ren->flags); + + req->flags &= ~REQ_F_NEED_CLEANUP; + io_req_complete(req, ret); + return 0; +} + +static inline void __io_xattr_finish(struct io_kiocb *req) +{ + struct io_xattr *ix = &req->xattr; + + if (ix->filename) + putname(ix->filename); + + kfree(ix->ctx.kname); + kvfree(ix->ctx.kvalue); +} + +static void io_xattr_finish(struct io_kiocb *req, int ret) +{ + req->flags &= ~REQ_F_NEED_CLEANUP; + + __io_xattr_finish(req); + io_req_complete(req, ret); +} + +static int __io_getxattr_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + struct io_xattr *ix = &req->xattr; + const char __user *name; + int ret; + + if (unlikely(req->flags & REQ_F_FIXED_FILE)) + return -EBADF; + + ix->filename = NULL; + ix->ctx.kvalue = NULL; + name = u64_to_user_ptr(READ_ONCE(sqe->addr)); + ix->ctx.cvalue = u64_to_user_ptr(READ_ONCE(sqe->addr2)); + ix->ctx.size = READ_ONCE(sqe->len); + ix->ctx.flags = READ_ONCE(sqe->xattr_flags); + + if (ix->ctx.flags) + return -EINVAL; + + ix->ctx.kname = kmalloc(sizeof(*ix->ctx.kname), GFP_KERNEL); + if (!ix->ctx.kname) + return -ENOMEM; + + ret = strncpy_from_user(ix->ctx.kname->name, name, + sizeof(ix->ctx.kname->name)); + if (!ret || ret == sizeof(ix->ctx.kname->name)) + ret = -ERANGE; + if (ret < 0) { + kfree(ix->ctx.kname); + return ret; + } + + req->flags |= REQ_F_NEED_CLEANUP; + return 0; +} + +static int io_fgetxattr_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + return __io_getxattr_prep(req, sqe); +} + +static int io_getxattr_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + struct io_xattr *ix = &req->xattr; + const char __user *path; + int ret; + + ret = __io_getxattr_prep(req, sqe); + if (ret) + return ret; + + path = u64_to_user_ptr(READ_ONCE(sqe->addr3)); + + ix->filename = getname_flags(path, LOOKUP_FOLLOW, NULL); + if (IS_ERR(ix->filename)) { + ret = PTR_ERR(ix->filename); + ix->filename = NULL; + } + + return ret; +} + +static int io_fgetxattr(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_xattr *ix = &req->xattr; + int ret; + + if (issue_flags & IO_URING_F_NONBLOCK) + return -EAGAIN; + + ret = do_getxattr(mnt_user_ns(req->file->f_path.mnt), + req->file->f_path.dentry, + &ix->ctx); + + io_xattr_finish(req, ret); + return 0; +} + +static int io_getxattr(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_xattr *ix = &req->xattr; + unsigned int lookup_flags = LOOKUP_FOLLOW; + struct path path; + int ret; + + if (issue_flags & IO_URING_F_NONBLOCK) + return -EAGAIN; + +retry: + ret = filename_lookup(AT_FDCWD, ix->filename, lookup_flags, &path, NULL); + if (!ret) { + ret = do_getxattr(mnt_user_ns(path.mnt), + path.dentry, + &ix->ctx); + + path_put(&path); + if (retry_estale(ret, lookup_flags)) { + lookup_flags |= LOOKUP_REVAL; + goto retry; + } + } + + io_xattr_finish(req, ret); + return 0; +} + +static int __io_setxattr_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + struct io_xattr *ix = &req->xattr; + const char __user *name; + int ret; + + if (unlikely(req->flags & REQ_F_FIXED_FILE)) + return -EBADF; + + ix->filename = NULL; + name = u64_to_user_ptr(READ_ONCE(sqe->addr)); + ix->ctx.cvalue = u64_to_user_ptr(READ_ONCE(sqe->addr2)); + ix->ctx.kvalue = NULL; + ix->ctx.size = READ_ONCE(sqe->len); + ix->ctx.flags = READ_ONCE(sqe->xattr_flags); + + ix->ctx.kname = kmalloc(sizeof(*ix->ctx.kname), GFP_KERNEL); + if (!ix->ctx.kname) + return -ENOMEM; + + ret = setxattr_copy(name, &ix->ctx); + if (ret) { + kfree(ix->ctx.kname); + return ret; + } + + req->flags |= REQ_F_NEED_CLEANUP; + return 0; +} + +static int io_setxattr_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + struct io_xattr *ix = &req->xattr; + const char __user *path; + int ret; + + ret = __io_setxattr_prep(req, sqe); + if (ret) + return ret; + + path = u64_to_user_ptr(READ_ONCE(sqe->addr3)); + + ix->filename = getname_flags(path, LOOKUP_FOLLOW, NULL); + if (IS_ERR(ix->filename)) { + ret = PTR_ERR(ix->filename); + ix->filename = NULL; + } + + return ret; +} + +static int io_fsetxattr_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + return __io_setxattr_prep(req, sqe); +} + +static int __io_setxattr(struct io_kiocb *req, unsigned int issue_flags, + struct path *path) +{ + struct io_xattr *ix = &req->xattr; + int ret; + + ret = mnt_want_write(path->mnt); + if (!ret) { + ret = do_setxattr(mnt_user_ns(path->mnt), path->dentry, &ix->ctx); + mnt_drop_write(path->mnt); + } + + return ret; +} + +static int io_fsetxattr(struct io_kiocb *req, unsigned int issue_flags) +{ + int ret; + + if (issue_flags & IO_URING_F_NONBLOCK) + return -EAGAIN; + + ret = __io_setxattr(req, issue_flags, &req->file->f_path); + io_xattr_finish(req, ret); + + return 0; +} + +static int io_setxattr(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_xattr *ix = &req->xattr; + unsigned int lookup_flags = LOOKUP_FOLLOW; + struct path path; + int ret; + + if (issue_flags & IO_URING_F_NONBLOCK) + return -EAGAIN; + +retry: + ret = filename_lookup(AT_FDCWD, ix->filename, lookup_flags, &path, NULL); + if (!ret) { + ret = __io_setxattr(req, issue_flags, &path); + path_put(&path); + if (retry_estale(ret, lookup_flags)) { + lookup_flags |= LOOKUP_REVAL; + goto retry; + } + } + + io_xattr_finish(req, ret); + return 0; +} + +static int io_unlinkat_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + struct io_unlink *un = &req->unlink; + const char __user *fname; + + if (sqe->off || sqe->len || sqe->buf_index || sqe->splice_fd_in) + return -EINVAL; + if (unlikely(req->flags & REQ_F_FIXED_FILE)) + return -EBADF; + + un->dfd = READ_ONCE(sqe->fd); + + un->flags = READ_ONCE(sqe->unlink_flags); + if (un->flags & ~AT_REMOVEDIR) + return -EINVAL; + + fname = u64_to_user_ptr(READ_ONCE(sqe->addr)); + un->filename = getname(fname); + if (IS_ERR(un->filename)) + return PTR_ERR(un->filename); + + req->flags |= REQ_F_NEED_CLEANUP; + return 0; +} + +static int io_unlinkat(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_unlink *un = &req->unlink; + int ret; + + if (issue_flags & IO_URING_F_NONBLOCK) + return -EAGAIN; + + if (un->flags & AT_REMOVEDIR) + ret = do_rmdir(un->dfd, un->filename); + else + ret = do_unlinkat(un->dfd, un->filename); + + req->flags &= ~REQ_F_NEED_CLEANUP; + io_req_complete(req, ret); + return 0; +} + +static int io_mkdirat_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + struct io_mkdir *mkd = &req->mkdir; + const char __user *fname; + + if (sqe->off || sqe->rw_flags || sqe->buf_index || sqe->splice_fd_in) + return -EINVAL; + if (unlikely(req->flags & REQ_F_FIXED_FILE)) + return -EBADF; + + mkd->dfd = READ_ONCE(sqe->fd); + mkd->mode = READ_ONCE(sqe->len); + + fname = u64_to_user_ptr(READ_ONCE(sqe->addr)); + mkd->filename = getname(fname); + if (IS_ERR(mkd->filename)) + return PTR_ERR(mkd->filename); + + req->flags |= REQ_F_NEED_CLEANUP; + return 0; +} + +static int io_mkdirat(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_mkdir *mkd = &req->mkdir; + int ret; + + if (issue_flags & IO_URING_F_NONBLOCK) + return -EAGAIN; + + ret = do_mkdirat(mkd->dfd, mkd->filename, mkd->mode); + + req->flags &= ~REQ_F_NEED_CLEANUP; + io_req_complete(req, ret); + return 0; +} + +static int io_symlinkat_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + struct io_symlink *sl = &req->symlink; + const char __user *oldpath, *newpath; + + if (sqe->len || sqe->rw_flags || sqe->buf_index || sqe->splice_fd_in) + return -EINVAL; + if (unlikely(req->flags & REQ_F_FIXED_FILE)) + return -EBADF; + + sl->new_dfd = READ_ONCE(sqe->fd); + oldpath = u64_to_user_ptr(READ_ONCE(sqe->addr)); + newpath = u64_to_user_ptr(READ_ONCE(sqe->addr2)); + + sl->oldpath = getname(oldpath); + if (IS_ERR(sl->oldpath)) + return PTR_ERR(sl->oldpath); + + sl->newpath = getname(newpath); + if (IS_ERR(sl->newpath)) { + putname(sl->oldpath); + return PTR_ERR(sl->newpath); + } + + req->flags |= REQ_F_NEED_CLEANUP; + return 0; +} + +static int io_symlinkat(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_symlink *sl = &req->symlink; + int ret; + + if (issue_flags & IO_URING_F_NONBLOCK) + return -EAGAIN; + + ret = do_symlinkat(sl->oldpath, sl->new_dfd, sl->newpath); + + req->flags &= ~REQ_F_NEED_CLEANUP; + io_req_complete(req, ret); + return 0; +} + +static int io_linkat_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + struct io_hardlink *lnk = &req->hardlink; + const char __user *oldf, *newf; + + if (sqe->rw_flags || sqe->buf_index || sqe->splice_fd_in) + return -EINVAL; + if (unlikely(req->flags & REQ_F_FIXED_FILE)) + return -EBADF; + + lnk->old_dfd = READ_ONCE(sqe->fd); + lnk->new_dfd = READ_ONCE(sqe->len); + oldf = u64_to_user_ptr(READ_ONCE(sqe->addr)); + newf = u64_to_user_ptr(READ_ONCE(sqe->addr2)); + lnk->flags = READ_ONCE(sqe->hardlink_flags); + + lnk->oldpath = getname(oldf); + if (IS_ERR(lnk->oldpath)) + return PTR_ERR(lnk->oldpath); + + lnk->newpath = getname(newf); + if (IS_ERR(lnk->newpath)) { + putname(lnk->oldpath); + return PTR_ERR(lnk->newpath); + } + + req->flags |= REQ_F_NEED_CLEANUP; + return 0; +} + +static int io_linkat(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_hardlink *lnk = &req->hardlink; + int ret; + + if (issue_flags & IO_URING_F_NONBLOCK) + return -EAGAIN; + + ret = do_linkat(lnk->old_dfd, lnk->oldpath, lnk->new_dfd, + lnk->newpath, lnk->flags); + + req->flags &= ~REQ_F_NEED_CLEANUP; + io_req_complete(req, ret); + return 0; +} + +static void io_uring_cmd_work(struct io_kiocb *req, bool *locked) +{ + req->uring_cmd.task_work_cb(&req->uring_cmd); +} + +void io_uring_cmd_complete_in_task(struct io_uring_cmd *ioucmd, + void (*task_work_cb)(struct io_uring_cmd *)) +{ + struct io_kiocb *req = container_of(ioucmd, struct io_kiocb, uring_cmd); + + req->uring_cmd.task_work_cb = task_work_cb; + req->io_task_work.func = io_uring_cmd_work; + io_req_task_work_add(req); +} +EXPORT_SYMBOL_GPL(io_uring_cmd_complete_in_task); + +static inline void io_req_set_cqe32_extra(struct io_kiocb *req, + u64 extra1, u64 extra2) +{ + req->extra1 = extra1; + req->extra2 = extra2; + req->flags |= REQ_F_CQE32_INIT; +} + +/* + * Called by consumers of io_uring_cmd, if they originally returned + * -EIOCBQUEUED upon receiving the command. + */ +void io_uring_cmd_done(struct io_uring_cmd *ioucmd, ssize_t ret, ssize_t res2) +{ + struct io_kiocb *req = container_of(ioucmd, struct io_kiocb, uring_cmd); + + if (ret < 0) + req_set_fail(req); + + if (req->ctx->flags & IORING_SETUP_CQE32) + io_req_set_cqe32_extra(req, res2, 0); + io_req_complete(req, ret); +} +EXPORT_SYMBOL_GPL(io_uring_cmd_done); + +static int io_uring_cmd_prep_async(struct io_kiocb *req) +{ + size_t cmd_size; + + cmd_size = uring_cmd_pdu_size(req->ctx->flags & IORING_SETUP_SQE128); + + memcpy(req->async_data, req->uring_cmd.cmd, cmd_size); + return 0; +} + +static int io_uring_cmd_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + struct io_uring_cmd *ioucmd = &req->uring_cmd; + + if (sqe->rw_flags || sqe->__pad1) + return -EINVAL; + ioucmd->cmd = sqe->cmd; + ioucmd->cmd_op = READ_ONCE(sqe->cmd_op); + return 0; +} + +static int io_uring_cmd(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_uring_cmd *ioucmd = &req->uring_cmd; + struct io_ring_ctx *ctx = req->ctx; + struct file *file = req->file; + int ret; + + if (!req->file->f_op->uring_cmd) + return -EOPNOTSUPP; + + ret = security_uring_cmd(ioucmd); + if (ret) + return ret; + + if (ctx->flags & IORING_SETUP_SQE128) + issue_flags |= IO_URING_F_SQE128; + if (ctx->flags & IORING_SETUP_CQE32) + issue_flags |= IO_URING_F_CQE32; + if (ctx->flags & IORING_SETUP_IOPOLL) + issue_flags |= IO_URING_F_IOPOLL; + + if (req_has_async_data(req)) + ioucmd->cmd = req->async_data; + + ret = file->f_op->uring_cmd(ioucmd, issue_flags); + if (ret == -EAGAIN) { + if (!req_has_async_data(req)) { + if (io_alloc_async_data(req)) + return -ENOMEM; + io_uring_cmd_prep_async(req); + } + return -EAGAIN; + } + + if (ret != -EIOCBQUEUED) + io_uring_cmd_done(ioucmd, ret, 0); + return 0; +} + +static int __io_splice_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + struct io_splice *sp = &req->splice; + unsigned int valid_flags = SPLICE_F_FD_IN_FIXED | SPLICE_F_ALL; + + sp->len = READ_ONCE(sqe->len); + sp->flags = READ_ONCE(sqe->splice_flags); + if (unlikely(sp->flags & ~valid_flags)) + return -EINVAL; + sp->splice_fd_in = READ_ONCE(sqe->splice_fd_in); + return 0; +} + +static int io_tee_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + if (READ_ONCE(sqe->splice_off_in) || READ_ONCE(sqe->off)) + return -EINVAL; + return __io_splice_prep(req, sqe); +} + +static int io_tee(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_splice *sp = &req->splice; + struct file *out = sp->file_out; + unsigned int flags = sp->flags & ~SPLICE_F_FD_IN_FIXED; + struct file *in; + long ret = 0; + + if (issue_flags & IO_URING_F_NONBLOCK) + return -EAGAIN; + + if (sp->flags & SPLICE_F_FD_IN_FIXED) + in = io_file_get_fixed(req, sp->splice_fd_in, issue_flags); + else + in = io_file_get_normal(req, sp->splice_fd_in); + if (!in) { + ret = -EBADF; + goto done; + } + + if (sp->len) + ret = do_tee(in, out, sp->len, flags); + + if (!(sp->flags & SPLICE_F_FD_IN_FIXED)) + io_put_file(in); +done: + if (ret != sp->len) + req_set_fail(req); + __io_req_complete(req, 0, ret, 0); + return 0; +} + +static int io_splice_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) +{ + struct io_splice *sp = &req->splice; + + sp->off_in = READ_ONCE(sqe->splice_off_in); + sp->off_out = READ_ONCE(sqe->off); + return __io_splice_prep(req, sqe); +} + +static int io_splice(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_splice *sp = &req->splice; + struct file *out = sp->file_out; + unsigned int flags = sp->flags & ~SPLICE_F_FD_IN_FIXED; + loff_t *poff_in, *poff_out; + struct file *in; + long ret = 0; + + if (issue_flags & IO_URING_F_NONBLOCK) + return -EAGAIN; + + if (sp->flags & SPLICE_F_FD_IN_FIXED) + in = io_file_get_fixed(req, sp->splice_fd_in, issue_flags); + else + in = io_file_get_normal(req, sp->splice_fd_in); + if (!in) { + ret = -EBADF; + goto done; + } + + poff_in = (sp->off_in == -1) ? NULL : &sp->off_in; + poff_out = (sp->off_out == -1) ? NULL : &sp->off_out; + + if (sp->len) + ret = do_splice(in, poff_in, out, poff_out, sp->len, flags); + + if (!(sp->flags & SPLICE_F_FD_IN_FIXED)) + io_put_file(in); +done: + if (ret != sp->len) + req_set_fail(req); + __io_req_complete(req, 0, ret, 0); + return 0; +} + +static int io_nop_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) +{ + return 0; +} + +/* + * IORING_OP_NOP just posts a completion event, nothing else. + */ +static int io_nop(struct io_kiocb *req, unsigned int issue_flags) +{ + __io_req_complete(req, issue_flags, 0, 0); + return 0; +} + +static int io_msg_ring_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + if (unlikely(sqe->addr || sqe->rw_flags || sqe->splice_fd_in || + sqe->buf_index || sqe->personality)) + return -EINVAL; + + req->msg.user_data = READ_ONCE(sqe->off); + req->msg.len = READ_ONCE(sqe->len); + return 0; +} + +static void io_double_unlock_ctx(struct io_ring_ctx *octx) +{ + mutex_unlock(&octx->uring_lock); +} + +static int io_double_lock_ctx(struct io_ring_ctx *octx, + unsigned int issue_flags) +{ + /* + * To ensure proper ordering between the two ctxs, we can only + * attempt a trylock on the target. If that fails and we already have + * the source ctx lock, punt to io-wq. + */ + if (!(issue_flags & IO_URING_F_UNLOCKED)) { + if (!mutex_trylock(&octx->uring_lock)) + return -EAGAIN; + return 0; + } + mutex_lock(&octx->uring_lock); + return 0; +} + +static int io_msg_ring(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_ring_ctx *target_ctx; + struct io_msg *msg = &req->msg; + bool filled; + int ret; + + ret = -EBADFD; + if (req->file->f_op != &io_uring_fops) + goto done; + + ret = -EOVERFLOW; + target_ctx = req->file->private_data; + + if (target_ctx->flags & IORING_SETUP_IOPOLL) + if (unlikely(io_double_lock_ctx(target_ctx, issue_flags))) + return -EAGAIN; + + spin_lock(&target_ctx->completion_lock); + filled = io_fill_cqe_aux(target_ctx, msg->user_data, msg->len, 0); + io_commit_cqring(target_ctx); + spin_unlock(&target_ctx->completion_lock); + + if (filled) { + io_cqring_ev_posted(target_ctx); + ret = 0; + } + + if (target_ctx->flags & IORING_SETUP_IOPOLL) + io_double_unlock_ctx(target_ctx); + +done: + if (ret < 0) + req_set_fail(req); + __io_req_complete(req, issue_flags, ret, 0); + /* put file to avoid an attempt to IOPOLL the req */ + if (!(req->flags & REQ_F_FIXED_FILE)) + io_put_file(req->file); + req->file = NULL; + return 0; +} + +static int io_fsync_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) +{ + if (unlikely(sqe->addr || sqe->buf_index || sqe->splice_fd_in)) + return -EINVAL; + + req->sync.flags = READ_ONCE(sqe->fsync_flags); + if (unlikely(req->sync.flags & ~IORING_FSYNC_DATASYNC)) + return -EINVAL; + + req->sync.off = READ_ONCE(sqe->off); + req->sync.len = READ_ONCE(sqe->len); + return 0; +} + +static int io_fsync(struct io_kiocb *req, unsigned int issue_flags) +{ + loff_t end = req->sync.off + req->sync.len; + int ret; + + /* fsync always requires a blocking context */ + if (issue_flags & IO_URING_F_NONBLOCK) + return -EAGAIN; + + ret = vfs_fsync_range(req->file, req->sync.off, + end > 0 ? end : LLONG_MAX, + req->sync.flags & IORING_FSYNC_DATASYNC); + io_req_complete(req, ret); + return 0; +} + +static int io_fallocate_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + if (sqe->buf_index || sqe->rw_flags || sqe->splice_fd_in) + return -EINVAL; + + req->sync.off = READ_ONCE(sqe->off); + req->sync.len = READ_ONCE(sqe->addr); + req->sync.mode = READ_ONCE(sqe->len); + return 0; +} + +static int io_fallocate(struct io_kiocb *req, unsigned int issue_flags) +{ + int ret; + + /* fallocate always requiring blocking context */ + if (issue_flags & IO_URING_F_NONBLOCK) + return -EAGAIN; + ret = vfs_fallocate(req->file, req->sync.mode, req->sync.off, + req->sync.len); + if (ret >= 0) + fsnotify_modify(req->file); + io_req_complete(req, ret); + return 0; +} + +static int __io_openat_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) +{ + const char __user *fname; + int ret; + + if (unlikely(sqe->buf_index)) + return -EINVAL; + if (unlikely(req->flags & REQ_F_FIXED_FILE)) + return -EBADF; + + /* open.how should be already initialised */ + if (!(req->open.how.flags & O_PATH) && force_o_largefile()) + req->open.how.flags |= O_LARGEFILE; + + req->open.dfd = READ_ONCE(sqe->fd); + fname = u64_to_user_ptr(READ_ONCE(sqe->addr)); + req->open.filename = getname(fname); + if (IS_ERR(req->open.filename)) { + ret = PTR_ERR(req->open.filename); + req->open.filename = NULL; + return ret; + } + + req->open.file_slot = READ_ONCE(sqe->file_index); + if (req->open.file_slot && (req->open.how.flags & O_CLOEXEC)) + return -EINVAL; + + req->open.nofile = rlimit(RLIMIT_NOFILE); + req->flags |= REQ_F_NEED_CLEANUP; + return 0; +} + +static int io_openat_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) +{ + u64 mode = READ_ONCE(sqe->len); + u64 flags = READ_ONCE(sqe->open_flags); + + req->open.how = build_open_how(flags, mode); + return __io_openat_prep(req, sqe); +} + +static int io_openat2_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) +{ + struct open_how __user *how; + size_t len; + int ret; + + how = u64_to_user_ptr(READ_ONCE(sqe->addr2)); + len = READ_ONCE(sqe->len); + if (len < OPEN_HOW_SIZE_VER0) + return -EINVAL; + + ret = copy_struct_from_user(&req->open.how, sizeof(req->open.how), how, + len); + if (ret) + return ret; + + return __io_openat_prep(req, sqe); +} + +static int io_file_bitmap_get(struct io_ring_ctx *ctx) +{ + struct io_file_table *table = &ctx->file_table; + unsigned long nr = ctx->nr_user_files; + int ret; + + do { + ret = find_next_zero_bit(table->bitmap, nr, table->alloc_hint); + if (ret != nr) + return ret; + + if (!table->alloc_hint) + break; + + nr = table->alloc_hint; + table->alloc_hint = 0; + } while (1); + + return -ENFILE; +} + +/* + * Note when io_fixed_fd_install() returns error value, it will ensure + * fput() is called correspondingly. + */ +static int io_fixed_fd_install(struct io_kiocb *req, unsigned int issue_flags, + struct file *file, unsigned int file_slot) +{ + bool alloc_slot = file_slot == IORING_FILE_INDEX_ALLOC; + struct io_ring_ctx *ctx = req->ctx; + int ret; + + io_ring_submit_lock(ctx, issue_flags); + + if (alloc_slot) { + ret = io_file_bitmap_get(ctx); + if (unlikely(ret < 0)) + goto err; + file_slot = ret; + } else { + file_slot--; + } + + ret = io_install_fixed_file(req, file, issue_flags, file_slot); + if (!ret && alloc_slot) + ret = file_slot; +err: + io_ring_submit_unlock(ctx, issue_flags); + if (unlikely(ret < 0)) + fput(file); + return ret; +} + +static int io_openat2(struct io_kiocb *req, unsigned int issue_flags) +{ + struct open_flags op; + struct file *file; + bool resolve_nonblock, nonblock_set; + bool fixed = !!req->open.file_slot; + int ret; + + ret = build_open_flags(&req->open.how, &op); + if (ret) + goto err; + nonblock_set = op.open_flag & O_NONBLOCK; + resolve_nonblock = req->open.how.resolve & RESOLVE_CACHED; + if (issue_flags & IO_URING_F_NONBLOCK) { + /* + * Don't bother trying for O_TRUNC, O_CREAT, or O_TMPFILE open, + * it'll always -EAGAIN + */ + if (req->open.how.flags & (O_TRUNC | O_CREAT | O_TMPFILE)) + return -EAGAIN; + op.lookup_flags |= LOOKUP_CACHED; + op.open_flag |= O_NONBLOCK; + } + + if (!fixed) { + ret = __get_unused_fd_flags(req->open.how.flags, req->open.nofile); + if (ret < 0) + goto err; + } + + file = do_filp_open(req->open.dfd, req->open.filename, &op); + if (IS_ERR(file)) { + /* + * We could hang on to this 'fd' on retrying, but seems like + * marginal gain for something that is now known to be a slower + * path. So just put it, and we'll get a new one when we retry. + */ + if (!fixed) + put_unused_fd(ret); + + ret = PTR_ERR(file); + /* only retry if RESOLVE_CACHED wasn't already set by application */ + if (ret == -EAGAIN && + (!resolve_nonblock && (issue_flags & IO_URING_F_NONBLOCK))) + return -EAGAIN; + goto err; + } + + if ((issue_flags & IO_URING_F_NONBLOCK) && !nonblock_set) + file->f_flags &= ~O_NONBLOCK; + fsnotify_open(file); + + if (!fixed) + fd_install(ret, file); + else + ret = io_fixed_fd_install(req, issue_flags, file, + req->open.file_slot); +err: + putname(req->open.filename); + req->flags &= ~REQ_F_NEED_CLEANUP; + if (ret < 0) + req_set_fail(req); + __io_req_complete(req, issue_flags, ret, 0); + return 0; +} + +static int io_openat(struct io_kiocb *req, unsigned int issue_flags) +{ + return io_openat2(req, issue_flags); +} + +static int io_remove_buffers_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + struct io_provide_buf *p = &req->pbuf; + u64 tmp; + + if (sqe->rw_flags || sqe->addr || sqe->len || sqe->off || + sqe->splice_fd_in) + return -EINVAL; + + tmp = READ_ONCE(sqe->fd); + if (!tmp || tmp > USHRT_MAX) + return -EINVAL; + + memset(p, 0, sizeof(*p)); + p->nbufs = tmp; + p->bgid = READ_ONCE(sqe->buf_group); + return 0; +} + +static int __io_remove_buffers(struct io_ring_ctx *ctx, + struct io_buffer_list *bl, unsigned nbufs) +{ + unsigned i = 0; + + /* shouldn't happen */ + if (!nbufs) + return 0; + + if (bl->buf_nr_pages) { + int j; + + i = bl->buf_ring->tail - bl->head; + for (j = 0; j < bl->buf_nr_pages; j++) + unpin_user_page(bl->buf_pages[j]); + kvfree(bl->buf_pages); + bl->buf_pages = NULL; + bl->buf_nr_pages = 0; + /* make sure it's seen as empty */ + INIT_LIST_HEAD(&bl->buf_list); + return i; + } + + /* the head kbuf is the list itself */ + while (!list_empty(&bl->buf_list)) { + struct io_buffer *nxt; + + nxt = list_first_entry(&bl->buf_list, struct io_buffer, list); + list_del(&nxt->list); + if (++i == nbufs) + return i; + cond_resched(); + } + i++; + + return i; +} + +static int io_remove_buffers(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_provide_buf *p = &req->pbuf; + struct io_ring_ctx *ctx = req->ctx; + struct io_buffer_list *bl; + int ret = 0; + + io_ring_submit_lock(ctx, issue_flags); + + ret = -ENOENT; + bl = io_buffer_get_list(ctx, p->bgid); + if (bl) { + ret = -EINVAL; + /* can't use provide/remove buffers command on mapped buffers */ + if (!bl->buf_nr_pages) + ret = __io_remove_buffers(ctx, bl, p->nbufs); + } + if (ret < 0) + req_set_fail(req); + + /* complete before unlock, IOPOLL may need the lock */ + __io_req_complete(req, issue_flags, ret, 0); + io_ring_submit_unlock(ctx, issue_flags); + return 0; +} + +static int io_provide_buffers_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + unsigned long size, tmp_check; + struct io_provide_buf *p = &req->pbuf; + u64 tmp; + + if (sqe->rw_flags || sqe->splice_fd_in) + return -EINVAL; + + tmp = READ_ONCE(sqe->fd); + if (!tmp || tmp > USHRT_MAX) + return -E2BIG; + p->nbufs = tmp; + p->addr = READ_ONCE(sqe->addr); + p->len = READ_ONCE(sqe->len); + + if (check_mul_overflow((unsigned long)p->len, (unsigned long)p->nbufs, + &size)) + return -EOVERFLOW; + if (check_add_overflow((unsigned long)p->addr, size, &tmp_check)) + return -EOVERFLOW; + + size = (unsigned long)p->len * p->nbufs; + if (!access_ok(u64_to_user_ptr(p->addr), size)) + return -EFAULT; + + p->bgid = READ_ONCE(sqe->buf_group); + tmp = READ_ONCE(sqe->off); + if (tmp > USHRT_MAX) + return -E2BIG; + p->bid = tmp; + return 0; +} + +static int io_refill_buffer_cache(struct io_ring_ctx *ctx) +{ + struct io_buffer *buf; + struct page *page; + int bufs_in_page; + + /* + * Completions that don't happen inline (eg not under uring_lock) will + * add to ->io_buffers_comp. If we don't have any free buffers, check + * the completion list and splice those entries first. + */ + if (!list_empty_careful(&ctx->io_buffers_comp)) { + spin_lock(&ctx->completion_lock); + if (!list_empty(&ctx->io_buffers_comp)) { + list_splice_init(&ctx->io_buffers_comp, + &ctx->io_buffers_cache); + spin_unlock(&ctx->completion_lock); + return 0; + } + spin_unlock(&ctx->completion_lock); + } + + /* + * No free buffers and no completion entries either. Allocate a new + * page worth of buffer entries and add those to our freelist. + */ + page = alloc_page(GFP_KERNEL_ACCOUNT); + if (!page) + return -ENOMEM; + + list_add(&page->lru, &ctx->io_buffers_pages); + + buf = page_address(page); + bufs_in_page = PAGE_SIZE / sizeof(*buf); + while (bufs_in_page) { + list_add_tail(&buf->list, &ctx->io_buffers_cache); + buf++; + bufs_in_page--; + } + + return 0; +} + +static int io_add_buffers(struct io_ring_ctx *ctx, struct io_provide_buf *pbuf, + struct io_buffer_list *bl) +{ + struct io_buffer *buf; + u64 addr = pbuf->addr; + int i, bid = pbuf->bid; + + for (i = 0; i < pbuf->nbufs; i++) { + if (list_empty(&ctx->io_buffers_cache) && + io_refill_buffer_cache(ctx)) + break; + buf = list_first_entry(&ctx->io_buffers_cache, struct io_buffer, + list); + list_move_tail(&buf->list, &bl->buf_list); + buf->addr = addr; + buf->len = min_t(__u32, pbuf->len, MAX_RW_COUNT); + buf->bid = bid; + buf->bgid = pbuf->bgid; + addr += pbuf->len; + bid++; + cond_resched(); + } + + return i ? 0 : -ENOMEM; +} + +static __cold int io_init_bl_list(struct io_ring_ctx *ctx) +{ + int i; + + ctx->io_bl = kcalloc(BGID_ARRAY, sizeof(struct io_buffer_list), + GFP_KERNEL); + if (!ctx->io_bl) + return -ENOMEM; + + for (i = 0; i < BGID_ARRAY; i++) { + INIT_LIST_HEAD(&ctx->io_bl[i].buf_list); + ctx->io_bl[i].bgid = i; + } + + return 0; +} + +static int io_provide_buffers(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_provide_buf *p = &req->pbuf; + struct io_ring_ctx *ctx = req->ctx; + struct io_buffer_list *bl; + int ret = 0; + + io_ring_submit_lock(ctx, issue_flags); + + if (unlikely(p->bgid < BGID_ARRAY && !ctx->io_bl)) { + ret = io_init_bl_list(ctx); + if (ret) + goto err; + } + + bl = io_buffer_get_list(ctx, p->bgid); + if (unlikely(!bl)) { + bl = kzalloc(sizeof(*bl), GFP_KERNEL_ACCOUNT); + if (!bl) { + ret = -ENOMEM; + goto err; + } + INIT_LIST_HEAD(&bl->buf_list); + ret = io_buffer_add_list(ctx, bl, p->bgid); + if (ret) { + kfree(bl); + goto err; + } + } + /* can't add buffers via this command for a mapped buffer ring */ + if (bl->buf_nr_pages) { + ret = -EINVAL; + goto err; + } + + ret = io_add_buffers(ctx, p, bl); +err: + if (ret < 0) + req_set_fail(req); + /* complete before unlock, IOPOLL may need the lock */ + __io_req_complete(req, issue_flags, ret, 0); + io_ring_submit_unlock(ctx, issue_flags); + return 0; +} + +static int io_epoll_ctl_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ +#if defined(CONFIG_EPOLL) + if (sqe->buf_index || sqe->splice_fd_in) + return -EINVAL; + + req->epoll.epfd = READ_ONCE(sqe->fd); + req->epoll.op = READ_ONCE(sqe->len); + req->epoll.fd = READ_ONCE(sqe->off); + + if (ep_op_has_event(req->epoll.op)) { + struct epoll_event __user *ev; + + ev = u64_to_user_ptr(READ_ONCE(sqe->addr)); + if (copy_from_user(&req->epoll.event, ev, sizeof(*ev))) + return -EFAULT; + } + + return 0; +#else + return -EOPNOTSUPP; +#endif +} + +static int io_epoll_ctl(struct io_kiocb *req, unsigned int issue_flags) +{ +#if defined(CONFIG_EPOLL) + struct io_epoll *ie = &req->epoll; + int ret; + bool force_nonblock = issue_flags & IO_URING_F_NONBLOCK; + + ret = do_epoll_ctl(ie->epfd, ie->op, ie->fd, &ie->event, force_nonblock); + if (force_nonblock && ret == -EAGAIN) + return -EAGAIN; + + if (ret < 0) + req_set_fail(req); + __io_req_complete(req, issue_flags, ret, 0); + return 0; +#else + return -EOPNOTSUPP; +#endif +} + +static int io_madvise_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) +{ +#if defined(CONFIG_ADVISE_SYSCALLS) && defined(CONFIG_MMU) + if (sqe->buf_index || sqe->off || sqe->splice_fd_in) + return -EINVAL; + + req->madvise.addr = READ_ONCE(sqe->addr); + req->madvise.len = READ_ONCE(sqe->len); + req->madvise.advice = READ_ONCE(sqe->fadvise_advice); + return 0; +#else + return -EOPNOTSUPP; +#endif +} + +static int io_madvise(struct io_kiocb *req, unsigned int issue_flags) +{ +#if defined(CONFIG_ADVISE_SYSCALLS) && defined(CONFIG_MMU) + struct io_madvise *ma = &req->madvise; + int ret; + + if (issue_flags & IO_URING_F_NONBLOCK) + return -EAGAIN; + + ret = do_madvise(current->mm, ma->addr, ma->len, ma->advice); + io_req_complete(req, ret); + return 0; +#else + return -EOPNOTSUPP; +#endif +} + +static int io_fadvise_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) +{ + if (sqe->buf_index || sqe->addr || sqe->splice_fd_in) + return -EINVAL; + + req->fadvise.offset = READ_ONCE(sqe->off); + req->fadvise.len = READ_ONCE(sqe->len); + req->fadvise.advice = READ_ONCE(sqe->fadvise_advice); + return 0; +} + +static int io_fadvise(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_fadvise *fa = &req->fadvise; + int ret; + + if (issue_flags & IO_URING_F_NONBLOCK) { + switch (fa->advice) { + case POSIX_FADV_NORMAL: + case POSIX_FADV_RANDOM: + case POSIX_FADV_SEQUENTIAL: + break; + default: + return -EAGAIN; + } + } + + ret = vfs_fadvise(req->file, fa->offset, fa->len, fa->advice); + if (ret < 0) + req_set_fail(req); + __io_req_complete(req, issue_flags, ret, 0); + return 0; +} + +static int io_statx_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) +{ + const char __user *path; + + if (sqe->buf_index || sqe->splice_fd_in) + return -EINVAL; + if (req->flags & REQ_F_FIXED_FILE) + return -EBADF; + + req->statx.dfd = READ_ONCE(sqe->fd); + req->statx.mask = READ_ONCE(sqe->len); + path = u64_to_user_ptr(READ_ONCE(sqe->addr)); + req->statx.buffer = u64_to_user_ptr(READ_ONCE(sqe->addr2)); + req->statx.flags = READ_ONCE(sqe->statx_flags); + + req->statx.filename = getname_flags(path, + getname_statx_lookup_flags(req->statx.flags), + NULL); + + if (IS_ERR(req->statx.filename)) { + int ret = PTR_ERR(req->statx.filename); + + req->statx.filename = NULL; + return ret; + } + + req->flags |= REQ_F_NEED_CLEANUP; + return 0; +} + +static int io_statx(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_statx *ctx = &req->statx; + int ret; + + if (issue_flags & IO_URING_F_NONBLOCK) + return -EAGAIN; + + ret = do_statx(ctx->dfd, ctx->filename, ctx->flags, ctx->mask, + ctx->buffer); + io_req_complete(req, ret); + return 0; +} + +static int io_close_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) +{ + if (sqe->off || sqe->addr || sqe->len || sqe->rw_flags || sqe->buf_index) + return -EINVAL; + if (req->flags & REQ_F_FIXED_FILE) + return -EBADF; + + req->close.fd = READ_ONCE(sqe->fd); + req->close.file_slot = READ_ONCE(sqe->file_index); + if (req->close.file_slot && req->close.fd) + return -EINVAL; + + return 0; +} + +static int io_close(struct io_kiocb *req, unsigned int issue_flags) +{ + struct files_struct *files = current->files; + struct io_close *close = &req->close; + struct fdtable *fdt; + struct file *file; + int ret = -EBADF; + + if (req->close.file_slot) { + ret = io_close_fixed(req, issue_flags); + goto err; + } + + spin_lock(&files->file_lock); + fdt = files_fdtable(files); + if (close->fd >= fdt->max_fds) { + spin_unlock(&files->file_lock); + goto err; + } + file = rcu_dereference_protected(fdt->fd[close->fd], + lockdep_is_held(&files->file_lock)); + if (!file || file->f_op == &io_uring_fops) { + spin_unlock(&files->file_lock); + goto err; + } + + /* if the file has a flush method, be safe and punt to async */ + if (file->f_op->flush && (issue_flags & IO_URING_F_NONBLOCK)) { + spin_unlock(&files->file_lock); + return -EAGAIN; + } + + file = __close_fd_get_file(close->fd); + spin_unlock(&files->file_lock); + if (!file) + goto err; + + /* No ->flush() or already async, safely close from here */ + ret = filp_close(file, current->files); +err: + if (ret < 0) + req_set_fail(req); + __io_req_complete(req, issue_flags, ret, 0); + return 0; +} + +static int io_sfr_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) +{ + if (unlikely(sqe->addr || sqe->buf_index || sqe->splice_fd_in)) + return -EINVAL; + + req->sync.off = READ_ONCE(sqe->off); + req->sync.len = READ_ONCE(sqe->len); + req->sync.flags = READ_ONCE(sqe->sync_range_flags); + return 0; +} + +static int io_sync_file_range(struct io_kiocb *req, unsigned int issue_flags) +{ + int ret; + + /* sync_file_range always requires a blocking context */ + if (issue_flags & IO_URING_F_NONBLOCK) + return -EAGAIN; + + ret = sync_file_range(req->file, req->sync.off, req->sync.len, + req->sync.flags); + io_req_complete(req, ret); + return 0; +} + +#if defined(CONFIG_NET) +static int io_shutdown_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + if (unlikely(sqe->off || sqe->addr || sqe->rw_flags || + sqe->buf_index || sqe->splice_fd_in)) + return -EINVAL; + + req->shutdown.how = READ_ONCE(sqe->len); + return 0; +} + +static int io_shutdown(struct io_kiocb *req, unsigned int issue_flags) +{ + struct socket *sock; + int ret; + + if (issue_flags & IO_URING_F_NONBLOCK) + return -EAGAIN; + + sock = sock_from_file(req->file); + if (unlikely(!sock)) + return -ENOTSOCK; + + ret = __sys_shutdown_sock(sock, req->shutdown.how); + io_req_complete(req, ret); + return 0; +} + +static bool io_net_retry(struct socket *sock, int flags) +{ + if (!(flags & MSG_WAITALL)) + return false; + return sock->type == SOCK_STREAM || sock->type == SOCK_SEQPACKET; +} + +static int io_setup_async_msg(struct io_kiocb *req, + struct io_async_msghdr *kmsg) +{ + struct io_async_msghdr *async_msg = req->async_data; + + if (async_msg) + return -EAGAIN; + if (io_alloc_async_data(req)) { + kfree(kmsg->free_iov); + return -ENOMEM; + } + async_msg = req->async_data; + req->flags |= REQ_F_NEED_CLEANUP; + memcpy(async_msg, kmsg, sizeof(*kmsg)); + if (async_msg->msg.msg_name) + async_msg->msg.msg_name = &async_msg->addr; + /* if were using fast_iov, set it to the new one */ + if (!kmsg->free_iov) { + size_t fast_idx = kmsg->msg.msg_iter.iov - kmsg->fast_iov; + async_msg->msg.msg_iter.iov = &async_msg->fast_iov[fast_idx]; + } + + return -EAGAIN; +} + +static int io_sendmsg_copy_hdr(struct io_kiocb *req, + struct io_async_msghdr *iomsg) +{ + iomsg->msg.msg_name = &iomsg->addr; + iomsg->free_iov = iomsg->fast_iov; + return sendmsg_copy_msghdr(&iomsg->msg, req->sr_msg.umsg, + req->sr_msg.msg_flags, &iomsg->free_iov); +} + +static int io_sendmsg_prep_async(struct io_kiocb *req) +{ + int ret; + + ret = io_sendmsg_copy_hdr(req, req->async_data); + if (!ret) + req->flags |= REQ_F_NEED_CLEANUP; + return ret; +} + +static int io_sendmsg_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) +{ + struct io_sr_msg *sr = &req->sr_msg; + + if (unlikely(sqe->file_index || sqe->addr2)) + return -EINVAL; + + sr->umsg = u64_to_user_ptr(READ_ONCE(sqe->addr)); + sr->len = READ_ONCE(sqe->len); + sr->flags = READ_ONCE(sqe->ioprio); + if (sr->flags & ~IORING_RECVSEND_POLL_FIRST) + return -EINVAL; + sr->msg_flags = READ_ONCE(sqe->msg_flags) | MSG_NOSIGNAL; + if (sr->msg_flags & MSG_DONTWAIT) + req->flags |= REQ_F_NOWAIT; + +#ifdef CONFIG_COMPAT + if (req->ctx->compat) + sr->msg_flags |= MSG_CMSG_COMPAT; +#endif + sr->done_io = 0; + return 0; +} + +static int io_sendmsg(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_async_msghdr iomsg, *kmsg; + struct io_sr_msg *sr = &req->sr_msg; + struct socket *sock; + unsigned flags; + int min_ret = 0; + int ret; + + sock = sock_from_file(req->file); + if (unlikely(!sock)) + return -ENOTSOCK; + + if (req_has_async_data(req)) { + kmsg = req->async_data; + } else { + ret = io_sendmsg_copy_hdr(req, &iomsg); + if (ret) + return ret; + kmsg = &iomsg; + } + + if (!(req->flags & REQ_F_POLLED) && + (sr->flags & IORING_RECVSEND_POLL_FIRST)) + return io_setup_async_msg(req, kmsg); + + flags = sr->msg_flags; + if (issue_flags & IO_URING_F_NONBLOCK) + flags |= MSG_DONTWAIT; + if (flags & MSG_WAITALL) + min_ret = iov_iter_count(&kmsg->msg.msg_iter); + + ret = __sys_sendmsg_sock(sock, &kmsg->msg, flags); + + if (ret < min_ret) { + if (ret == -EAGAIN && (issue_flags & IO_URING_F_NONBLOCK)) + return io_setup_async_msg(req, kmsg); + if (ret == -ERESTARTSYS) + ret = -EINTR; + if (ret > 0 && io_net_retry(sock, flags)) { + sr->done_io += ret; + req->flags |= REQ_F_PARTIAL_IO; + return io_setup_async_msg(req, kmsg); + } + req_set_fail(req); + } + /* fast path, check for non-NULL to avoid function call */ + if (kmsg->free_iov) + kfree(kmsg->free_iov); + req->flags &= ~REQ_F_NEED_CLEANUP; + if (ret >= 0) + ret += sr->done_io; + else if (sr->done_io) + ret = sr->done_io; + __io_req_complete(req, issue_flags, ret, 0); + return 0; +} + +static int io_send(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_sr_msg *sr = &req->sr_msg; + struct msghdr msg; + struct iovec iov; + struct socket *sock; + unsigned flags; + int min_ret = 0; + int ret; + + if (!(req->flags & REQ_F_POLLED) && + (sr->flags & IORING_RECVSEND_POLL_FIRST)) + return -EAGAIN; + + sock = sock_from_file(req->file); + if (unlikely(!sock)) + return -ENOTSOCK; + + ret = import_single_range(WRITE, sr->buf, sr->len, &iov, &msg.msg_iter); + if (unlikely(ret)) + return ret; + + msg.msg_name = NULL; + msg.msg_control = NULL; + msg.msg_controllen = 0; + msg.msg_namelen = 0; + + flags = sr->msg_flags; + if (issue_flags & IO_URING_F_NONBLOCK) + flags |= MSG_DONTWAIT; + if (flags & MSG_WAITALL) + min_ret = iov_iter_count(&msg.msg_iter); + + msg.msg_flags = flags; + ret = sock_sendmsg(sock, &msg); + if (ret < min_ret) { + if (ret == -EAGAIN && (issue_flags & IO_URING_F_NONBLOCK)) + return -EAGAIN; + if (ret == -ERESTARTSYS) + ret = -EINTR; + if (ret > 0 && io_net_retry(sock, flags)) { + sr->len -= ret; + sr->buf += ret; + sr->done_io += ret; + req->flags |= REQ_F_PARTIAL_IO; + return -EAGAIN; + } + req_set_fail(req); + } + if (ret >= 0) + ret += sr->done_io; + else if (sr->done_io) + ret = sr->done_io; + __io_req_complete(req, issue_flags, ret, 0); + return 0; +} + +static int __io_recvmsg_copy_hdr(struct io_kiocb *req, + struct io_async_msghdr *iomsg) +{ + struct io_sr_msg *sr = &req->sr_msg; + struct iovec __user *uiov; + size_t iov_len; + int ret; + + ret = __copy_msghdr_from_user(&iomsg->msg, sr->umsg, + &iomsg->uaddr, &uiov, &iov_len); + if (ret) + return ret; + + if (req->flags & REQ_F_BUFFER_SELECT) { + if (iov_len > 1) + return -EINVAL; + if (copy_from_user(iomsg->fast_iov, uiov, sizeof(*uiov))) + return -EFAULT; + sr->len = iomsg->fast_iov[0].iov_len; + iomsg->free_iov = NULL; + } else { + iomsg->free_iov = iomsg->fast_iov; + ret = __import_iovec(READ, uiov, iov_len, UIO_FASTIOV, + &iomsg->free_iov, &iomsg->msg.msg_iter, + false); + if (ret > 0) + ret = 0; + } + + return ret; +} + +#ifdef CONFIG_COMPAT +static int __io_compat_recvmsg_copy_hdr(struct io_kiocb *req, + struct io_async_msghdr *iomsg) +{ + struct io_sr_msg *sr = &req->sr_msg; + struct compat_iovec __user *uiov; + compat_uptr_t ptr; + compat_size_t len; + int ret; + + ret = __get_compat_msghdr(&iomsg->msg, sr->umsg_compat, &iomsg->uaddr, + &ptr, &len); + if (ret) + return ret; + + uiov = compat_ptr(ptr); + if (req->flags & REQ_F_BUFFER_SELECT) { + compat_ssize_t clen; + + if (len > 1) + return -EINVAL; + if (!access_ok(uiov, sizeof(*uiov))) + return -EFAULT; + if (__get_user(clen, &uiov->iov_len)) + return -EFAULT; + if (clen < 0) + return -EINVAL; + sr->len = clen; + iomsg->free_iov = NULL; + } else { + iomsg->free_iov = iomsg->fast_iov; + ret = __import_iovec(READ, (struct iovec __user *)uiov, len, + UIO_FASTIOV, &iomsg->free_iov, + &iomsg->msg.msg_iter, true); + if (ret < 0) + return ret; + } + + return 0; +} +#endif + +static int io_recvmsg_copy_hdr(struct io_kiocb *req, + struct io_async_msghdr *iomsg) +{ + iomsg->msg.msg_name = &iomsg->addr; + +#ifdef CONFIG_COMPAT + if (req->ctx->compat) + return __io_compat_recvmsg_copy_hdr(req, iomsg); +#endif + + return __io_recvmsg_copy_hdr(req, iomsg); +} + +static int io_recvmsg_prep_async(struct io_kiocb *req) +{ + int ret; + + ret = io_recvmsg_copy_hdr(req, req->async_data); + if (!ret) + req->flags |= REQ_F_NEED_CLEANUP; + return ret; +} + +static int io_recvmsg_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) +{ + struct io_sr_msg *sr = &req->sr_msg; + + if (unlikely(sqe->file_index || sqe->addr2)) + return -EINVAL; + + sr->umsg = u64_to_user_ptr(READ_ONCE(sqe->addr)); + sr->len = READ_ONCE(sqe->len); + sr->flags = READ_ONCE(sqe->ioprio); + if (sr->flags & ~IORING_RECVSEND_POLL_FIRST) + return -EINVAL; + sr->msg_flags = READ_ONCE(sqe->msg_flags); + if (sr->msg_flags & MSG_DONTWAIT) + req->flags |= REQ_F_NOWAIT; + +#ifdef CONFIG_COMPAT + if (req->ctx->compat) + sr->msg_flags |= MSG_CMSG_COMPAT; +#endif + sr->done_io = 0; + return 0; +} + +static int io_recvmsg(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_async_msghdr iomsg, *kmsg; + struct io_sr_msg *sr = &req->sr_msg; + struct socket *sock; + unsigned int cflags; + unsigned flags; + int ret, min_ret = 0; + bool force_nonblock = issue_flags & IO_URING_F_NONBLOCK; + + sock = sock_from_file(req->file); + if (unlikely(!sock)) + return -ENOTSOCK; + + if (req_has_async_data(req)) { + kmsg = req->async_data; + } else { + ret = io_recvmsg_copy_hdr(req, &iomsg); + if (ret) + return ret; + kmsg = &iomsg; + } + + if (!(req->flags & REQ_F_POLLED) && + (sr->flags & IORING_RECVSEND_POLL_FIRST)) + return io_setup_async_msg(req, kmsg); + + if (io_do_buffer_select(req)) { + void __user *buf; + + buf = io_buffer_select(req, &sr->len, issue_flags); + if (!buf) + return -ENOBUFS; + kmsg->fast_iov[0].iov_base = buf; + kmsg->fast_iov[0].iov_len = sr->len; + iov_iter_init(&kmsg->msg.msg_iter, READ, kmsg->fast_iov, 1, + sr->len); + } + + flags = sr->msg_flags; + if (force_nonblock) + flags |= MSG_DONTWAIT; + if (flags & MSG_WAITALL) + min_ret = iov_iter_count(&kmsg->msg.msg_iter); + + kmsg->msg.msg_get_inq = 1; + ret = __sys_recvmsg_sock(sock, &kmsg->msg, sr->umsg, kmsg->uaddr, flags); + if (ret < min_ret) { + if (ret == -EAGAIN && force_nonblock) + return io_setup_async_msg(req, kmsg); + if (ret == -ERESTARTSYS) + ret = -EINTR; + if (ret > 0 && io_net_retry(sock, flags)) { + sr->done_io += ret; + req->flags |= REQ_F_PARTIAL_IO; + return io_setup_async_msg(req, kmsg); + } + req_set_fail(req); + } else if ((flags & MSG_WAITALL) && (kmsg->msg.msg_flags & (MSG_TRUNC | MSG_CTRUNC))) { + req_set_fail(req); + } + + /* fast path, check for non-NULL to avoid function call */ + if (kmsg->free_iov) + kfree(kmsg->free_iov); + req->flags &= ~REQ_F_NEED_CLEANUP; + if (ret >= 0) + ret += sr->done_io; + else if (sr->done_io) + ret = sr->done_io; + cflags = io_put_kbuf(req, issue_flags); + if (kmsg->msg.msg_inq) + cflags |= IORING_CQE_F_SOCK_NONEMPTY; + __io_req_complete(req, issue_flags, ret, cflags); + return 0; +} + +static int io_recv(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_sr_msg *sr = &req->sr_msg; + struct msghdr msg; + struct socket *sock; + struct iovec iov; + unsigned int cflags; + unsigned flags; + int ret, min_ret = 0; + bool force_nonblock = issue_flags & IO_URING_F_NONBLOCK; + + if (!(req->flags & REQ_F_POLLED) && + (sr->flags & IORING_RECVSEND_POLL_FIRST)) + return -EAGAIN; + + sock = sock_from_file(req->file); + if (unlikely(!sock)) + return -ENOTSOCK; + + if (io_do_buffer_select(req)) { + void __user *buf; + + buf = io_buffer_select(req, &sr->len, issue_flags); + if (!buf) + return -ENOBUFS; + sr->buf = buf; + } + + ret = import_single_range(READ, sr->buf, sr->len, &iov, &msg.msg_iter); + if (unlikely(ret)) + goto out_free; + + msg.msg_name = NULL; + msg.msg_namelen = 0; + msg.msg_control = NULL; + msg.msg_get_inq = 1; + msg.msg_flags = 0; + msg.msg_controllen = 0; + msg.msg_iocb = NULL; + + flags = sr->msg_flags; + if (force_nonblock) + flags |= MSG_DONTWAIT; + if (flags & MSG_WAITALL) + min_ret = iov_iter_count(&msg.msg_iter); + + ret = sock_recvmsg(sock, &msg, flags); + if (ret < min_ret) { + if (ret == -EAGAIN && force_nonblock) + return -EAGAIN; + if (ret == -ERESTARTSYS) + ret = -EINTR; + if (ret > 0 && io_net_retry(sock, flags)) { + sr->len -= ret; + sr->buf += ret; + sr->done_io += ret; + req->flags |= REQ_F_PARTIAL_IO; + return -EAGAIN; + } + req_set_fail(req); + } else if ((flags & MSG_WAITALL) && (msg.msg_flags & (MSG_TRUNC | MSG_CTRUNC))) { +out_free: + req_set_fail(req); + } + + if (ret >= 0) + ret += sr->done_io; + else if (sr->done_io) + ret = sr->done_io; + cflags = io_put_kbuf(req, issue_flags); + if (msg.msg_inq) + cflags |= IORING_CQE_F_SOCK_NONEMPTY; + __io_req_complete(req, issue_flags, ret, cflags); + return 0; +} + +static int io_accept_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) +{ + struct io_accept *accept = &req->accept; + unsigned flags; + + if (sqe->len || sqe->buf_index) + return -EINVAL; + + accept->addr = u64_to_user_ptr(READ_ONCE(sqe->addr)); + accept->addr_len = u64_to_user_ptr(READ_ONCE(sqe->addr2)); + accept->flags = READ_ONCE(sqe->accept_flags); + accept->nofile = rlimit(RLIMIT_NOFILE); + flags = READ_ONCE(sqe->ioprio); + if (flags & ~IORING_ACCEPT_MULTISHOT) + return -EINVAL; + + accept->file_slot = READ_ONCE(sqe->file_index); + if (accept->file_slot) { + if (accept->flags & SOCK_CLOEXEC) + return -EINVAL; + if (flags & IORING_ACCEPT_MULTISHOT && + accept->file_slot != IORING_FILE_INDEX_ALLOC) + return -EINVAL; + } + if (accept->flags & ~(SOCK_CLOEXEC | SOCK_NONBLOCK)) + return -EINVAL; + if (SOCK_NONBLOCK != O_NONBLOCK && (accept->flags & SOCK_NONBLOCK)) + accept->flags = (accept->flags & ~SOCK_NONBLOCK) | O_NONBLOCK; + if (flags & IORING_ACCEPT_MULTISHOT) + req->flags |= REQ_F_APOLL_MULTISHOT; + return 0; +} + +static int io_accept(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_ring_ctx *ctx = req->ctx; + struct io_accept *accept = &req->accept; + bool force_nonblock = issue_flags & IO_URING_F_NONBLOCK; + unsigned int file_flags = force_nonblock ? O_NONBLOCK : 0; + bool fixed = !!accept->file_slot; + struct file *file; + int ret, fd; + +retry: + if (!fixed) { + fd = __get_unused_fd_flags(accept->flags, accept->nofile); + if (unlikely(fd < 0)) + return fd; + } + file = do_accept(req->file, file_flags, accept->addr, accept->addr_len, + accept->flags); + if (IS_ERR(file)) { + if (!fixed) + put_unused_fd(fd); + ret = PTR_ERR(file); + if (ret == -EAGAIN && force_nonblock) { + /* + * if it's multishot and polled, we don't need to + * return EAGAIN to arm the poll infra since it + * has already been done + */ + if ((req->flags & IO_APOLL_MULTI_POLLED) == + IO_APOLL_MULTI_POLLED) + ret = 0; + return ret; + } + if (ret == -ERESTARTSYS) + ret = -EINTR; + req_set_fail(req); + } else if (!fixed) { + fd_install(fd, file); + ret = fd; + } else { + ret = io_fixed_fd_install(req, issue_flags, file, + accept->file_slot); + } + + if (!(req->flags & REQ_F_APOLL_MULTISHOT)) { + __io_req_complete(req, issue_flags, ret, 0); + return 0; + } + if (ret >= 0) { + bool filled; + + spin_lock(&ctx->completion_lock); + filled = io_fill_cqe_aux(ctx, req->cqe.user_data, ret, + IORING_CQE_F_MORE); + io_commit_cqring(ctx); + spin_unlock(&ctx->completion_lock); + if (filled) { + io_cqring_ev_posted(ctx); + goto retry; + } + ret = -ECANCELED; + } + + return ret; +} + +static int io_socket_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) +{ + struct io_socket *sock = &req->sock; + + if (sqe->addr || sqe->rw_flags || sqe->buf_index) + return -EINVAL; + + sock->domain = READ_ONCE(sqe->fd); + sock->type = READ_ONCE(sqe->off); + sock->protocol = READ_ONCE(sqe->len); + sock->file_slot = READ_ONCE(sqe->file_index); + sock->nofile = rlimit(RLIMIT_NOFILE); + + sock->flags = sock->type & ~SOCK_TYPE_MASK; + if (sock->file_slot && (sock->flags & SOCK_CLOEXEC)) + return -EINVAL; + if (sock->flags & ~(SOCK_CLOEXEC | SOCK_NONBLOCK)) + return -EINVAL; + return 0; +} + +static int io_socket(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_socket *sock = &req->sock; + bool fixed = !!sock->file_slot; + struct file *file; + int ret, fd; + + if (!fixed) { + fd = __get_unused_fd_flags(sock->flags, sock->nofile); + if (unlikely(fd < 0)) + return fd; + } + file = __sys_socket_file(sock->domain, sock->type, sock->protocol); + if (IS_ERR(file)) { + if (!fixed) + put_unused_fd(fd); + ret = PTR_ERR(file); + if (ret == -EAGAIN && (issue_flags & IO_URING_F_NONBLOCK)) + return -EAGAIN; + if (ret == -ERESTARTSYS) + ret = -EINTR; + req_set_fail(req); + } else if (!fixed) { + fd_install(fd, file); + ret = fd; + } else { + ret = io_fixed_fd_install(req, issue_flags, file, + sock->file_slot); + } + __io_req_complete(req, issue_flags, ret, 0); + return 0; +} + +static int io_connect_prep_async(struct io_kiocb *req) +{ + struct io_async_connect *io = req->async_data; + struct io_connect *conn = &req->connect; + + return move_addr_to_kernel(conn->addr, conn->addr_len, &io->address); +} + +static int io_connect_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) +{ + struct io_connect *conn = &req->connect; + + if (sqe->len || sqe->buf_index || sqe->rw_flags || sqe->splice_fd_in) + return -EINVAL; + + conn->addr = u64_to_user_ptr(READ_ONCE(sqe->addr)); + conn->addr_len = READ_ONCE(sqe->addr2); + return 0; +} + +static int io_connect(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_async_connect __io, *io; + unsigned file_flags; + int ret; + bool force_nonblock = issue_flags & IO_URING_F_NONBLOCK; + + if (req_has_async_data(req)) { + io = req->async_data; + } else { + ret = move_addr_to_kernel(req->connect.addr, + req->connect.addr_len, + &__io.address); + if (ret) + goto out; + io = &__io; + } + + file_flags = force_nonblock ? O_NONBLOCK : 0; + + ret = __sys_connect_file(req->file, &io->address, + req->connect.addr_len, file_flags); + if ((ret == -EAGAIN || ret == -EINPROGRESS) && force_nonblock) { + if (req_has_async_data(req)) + return -EAGAIN; + if (io_alloc_async_data(req)) { + ret = -ENOMEM; + goto out; + } + memcpy(req->async_data, &__io, sizeof(__io)); + return -EAGAIN; + } + if (ret == -ERESTARTSYS) + ret = -EINTR; +out: + if (ret < 0) + req_set_fail(req); + __io_req_complete(req, issue_flags, ret, 0); + return 0; +} +#else /* !CONFIG_NET */ +#define IO_NETOP_FN(op) \ +static int io_##op(struct io_kiocb *req, unsigned int issue_flags) \ +{ \ + return -EOPNOTSUPP; \ +} + +#define IO_NETOP_PREP(op) \ +IO_NETOP_FN(op) \ +static int io_##op##_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) \ +{ \ + return -EOPNOTSUPP; \ +} \ + +#define IO_NETOP_PREP_ASYNC(op) \ +IO_NETOP_PREP(op) \ +static int io_##op##_prep_async(struct io_kiocb *req) \ +{ \ + return -EOPNOTSUPP; \ +} + +IO_NETOP_PREP_ASYNC(sendmsg); +IO_NETOP_PREP_ASYNC(recvmsg); +IO_NETOP_PREP_ASYNC(connect); +IO_NETOP_PREP(accept); +IO_NETOP_PREP(socket); +IO_NETOP_PREP(shutdown); +IO_NETOP_FN(send); +IO_NETOP_FN(recv); +#endif /* CONFIG_NET */ + +struct io_poll_table { + struct poll_table_struct pt; + struct io_kiocb *req; + int nr_entries; + int error; +}; + +#define IO_POLL_CANCEL_FLAG BIT(31) +#define IO_POLL_RETRY_FLAG BIT(30) +#define IO_POLL_REF_MASK GENMASK(29, 0) + +/* + * We usually have 1-2 refs taken, 128 is more than enough and we want to + * maximise the margin between this amount and the moment when it overflows. + */ +#define IO_POLL_REF_BIAS 128 + +static bool io_poll_get_ownership_slowpath(struct io_kiocb *req) +{ + int v; + + /* + * poll_refs are already elevated and we don't have much hope for + * grabbing the ownership. Instead of incrementing set a retry flag + * to notify the loop that there might have been some change. + */ + v = atomic_fetch_or(IO_POLL_RETRY_FLAG, &req->poll_refs); + if (v & IO_POLL_REF_MASK) + return false; + return !(atomic_fetch_inc(&req->poll_refs) & IO_POLL_REF_MASK); +} + +/* + * If refs part of ->poll_refs (see IO_POLL_REF_MASK) is 0, it's free. We can + * bump it and acquire ownership. It's disallowed to modify requests while not + * owning it, that prevents from races for enqueueing task_work's and b/w + * arming poll and wakeups. + */ +static inline bool io_poll_get_ownership(struct io_kiocb *req) +{ + if (unlikely(atomic_read(&req->poll_refs) >= IO_POLL_REF_BIAS)) + return io_poll_get_ownership_slowpath(req); + return !(atomic_fetch_inc(&req->poll_refs) & IO_POLL_REF_MASK); +} + +static void io_poll_mark_cancelled(struct io_kiocb *req) +{ + atomic_or(IO_POLL_CANCEL_FLAG, &req->poll_refs); +} + +static struct io_poll_iocb *io_poll_get_double(struct io_kiocb *req) +{ + /* pure poll stashes this in ->async_data, poll driven retry elsewhere */ + if (req->opcode == IORING_OP_POLL_ADD) + return req->async_data; + return req->apoll->double_poll; +} + +static struct io_poll_iocb *io_poll_get_single(struct io_kiocb *req) +{ + if (req->opcode == IORING_OP_POLL_ADD) + return &req->poll; + return &req->apoll->poll; +} + +static void io_poll_req_insert(struct io_kiocb *req) +{ + struct io_ring_ctx *ctx = req->ctx; + struct hlist_head *list; + + list = &ctx->cancel_hash[hash_long(req->cqe.user_data, ctx->cancel_hash_bits)]; + hlist_add_head(&req->hash_node, list); +} + +static void io_init_poll_iocb(struct io_poll_iocb *poll, __poll_t events, + wait_queue_func_t wake_func) +{ + poll->head = NULL; +#define IO_POLL_UNMASK (EPOLLERR|EPOLLHUP|EPOLLNVAL|EPOLLRDHUP) + /* mask in events that we always want/need */ + poll->events = events | IO_POLL_UNMASK; + INIT_LIST_HEAD(&poll->wait.entry); + init_waitqueue_func_entry(&poll->wait, wake_func); +} + +static inline void io_poll_remove_entry(struct io_poll_iocb *poll) +{ + struct wait_queue_head *head = smp_load_acquire(&poll->head); + + if (head) { + spin_lock_irq(&head->lock); + list_del_init(&poll->wait.entry); + poll->head = NULL; + spin_unlock_irq(&head->lock); + } +} + +static void io_poll_remove_entries(struct io_kiocb *req) +{ + /* + * Nothing to do if neither of those flags are set. Avoid dipping + * into the poll/apoll/double cachelines if we can. + */ + if (!(req->flags & (REQ_F_SINGLE_POLL | REQ_F_DOUBLE_POLL))) + return; + + /* + * While we hold the waitqueue lock and the waitqueue is nonempty, + * wake_up_pollfree() will wait for us. However, taking the waitqueue + * lock in the first place can race with the waitqueue being freed. + * + * We solve this as eventpoll does: by taking advantage of the fact that + * all users of wake_up_pollfree() will RCU-delay the actual free. If + * we enter rcu_read_lock() and see that the pointer to the queue is + * non-NULL, we can then lock it without the memory being freed out from + * under us. + * + * Keep holding rcu_read_lock() as long as we hold the queue lock, in + * case the caller deletes the entry from the queue, leaving it empty. + * In that case, only RCU prevents the queue memory from being freed. + */ + rcu_read_lock(); + if (req->flags & REQ_F_SINGLE_POLL) + io_poll_remove_entry(io_poll_get_single(req)); + if (req->flags & REQ_F_DOUBLE_POLL) + io_poll_remove_entry(io_poll_get_double(req)); + rcu_read_unlock(); +} + +static int io_issue_sqe(struct io_kiocb *req, unsigned int issue_flags); +/* + * All poll tw should go through this. Checks for poll events, manages + * references, does rewait, etc. + * + * Returns a negative error on failure. >0 when no action require, which is + * either spurious wakeup or multishot CQE is served. 0 when it's done with + * the request, then the mask is stored in req->cqe.res. + */ +static int io_poll_check_events(struct io_kiocb *req, bool *locked) +{ + struct io_ring_ctx *ctx = req->ctx; + int v, ret; + + /* req->task == current here, checking PF_EXITING is safe */ + if (unlikely(req->task->flags & PF_EXITING)) + return -ECANCELED; + + do { + v = atomic_read(&req->poll_refs); + + /* tw handler should be the owner, and so have some references */ + if (WARN_ON_ONCE(!(v & IO_POLL_REF_MASK))) + return 0; + if (v & IO_POLL_CANCEL_FLAG) + return -ECANCELED; + + /* + * cqe.res contains only events of the first wake up + * and all others are be lost. Redo vfs_poll() to get + * up to date state. + */ + if ((v & IO_POLL_REF_MASK) != 1) + req->cqe.res = 0; + if (v & IO_POLL_RETRY_FLAG) { + req->cqe.res = 0; + /* + * We won't find new events that came in between + * vfs_poll and the ref put unless we clear the flag + * in advance. + */ + atomic_andnot(IO_POLL_RETRY_FLAG, &req->poll_refs); + v &= ~IO_POLL_RETRY_FLAG; + } + + if (!req->cqe.res) { + struct poll_table_struct pt = { ._key = req->apoll_events }; + req->cqe.res = vfs_poll(req->file, &pt) & req->apoll_events; + } + + if ((unlikely(!req->cqe.res))) + continue; + if (req->apoll_events & EPOLLONESHOT) + return 0; + + /* multishot, just fill a CQE and proceed */ + if (!(req->flags & REQ_F_APOLL_MULTISHOT)) { + __poll_t mask = mangle_poll(req->cqe.res & + req->apoll_events); + bool filled; + + spin_lock(&ctx->completion_lock); + filled = io_fill_cqe_aux(ctx, req->cqe.user_data, + mask, IORING_CQE_F_MORE); + io_commit_cqring(ctx); + spin_unlock(&ctx->completion_lock); + if (filled) { + io_cqring_ev_posted(ctx); + continue; + } + return -ECANCELED; + } + + io_tw_lock(req->ctx, locked); + if (unlikely(req->task->flags & PF_EXITING)) + return -EFAULT; + ret = io_issue_sqe(req, + IO_URING_F_NONBLOCK|IO_URING_F_COMPLETE_DEFER); + if (ret) + return ret; + + /* + * Release all references, retry if someone tried to restart + * task_work while we were executing it. + */ + } while (atomic_sub_return(v & IO_POLL_REF_MASK, &req->poll_refs) & + IO_POLL_REF_MASK); + + return 1; +} + +static void io_poll_task_func(struct io_kiocb *req, bool *locked) +{ + struct io_ring_ctx *ctx = req->ctx; + int ret; + + ret = io_poll_check_events(req, locked); + if (ret > 0) + return; + + if (!ret) { + req->cqe.res = mangle_poll(req->cqe.res & req->poll.events); + } else { + req->cqe.res = ret; + req_set_fail(req); + } + + io_poll_remove_entries(req); + spin_lock(&ctx->completion_lock); + hash_del(&req->hash_node); + __io_req_complete_post(req, req->cqe.res, 0); + io_commit_cqring(ctx); + spin_unlock(&ctx->completion_lock); + io_cqring_ev_posted(ctx); +} + +static void io_apoll_task_func(struct io_kiocb *req, bool *locked) +{ + struct io_ring_ctx *ctx = req->ctx; + int ret; + + ret = io_poll_check_events(req, locked); + if (ret > 0) + return; + + io_poll_remove_entries(req); + spin_lock(&ctx->completion_lock); + hash_del(&req->hash_node); + spin_unlock(&ctx->completion_lock); + + if (!ret) + io_req_task_submit(req, locked); + else + io_req_complete_failed(req, ret); +} + +static void __io_poll_execute(struct io_kiocb *req, int mask, + __poll_t __maybe_unused events) +{ + req->cqe.res = mask; + /* + * This is useful for poll that is armed on behalf of another + * request, and where the wakeup path could be on a different + * CPU. We want to avoid pulling in req->apoll->events for that + * case. + */ + if (req->opcode == IORING_OP_POLL_ADD) + req->io_task_work.func = io_poll_task_func; + else + req->io_task_work.func = io_apoll_task_func; + + trace_io_uring_task_add(req->ctx, req, req->cqe.user_data, req->opcode, mask); + io_req_task_work_add(req); +} + +static inline void io_poll_execute(struct io_kiocb *req, int res, + __poll_t events) +{ + if (io_poll_get_ownership(req)) + __io_poll_execute(req, res, events); +} + +static void io_poll_cancel_req(struct io_kiocb *req) +{ + io_poll_mark_cancelled(req); + /* kick tw, which should complete the request */ + io_poll_execute(req, 0, 0); +} + +#define wqe_to_req(wait) ((void *)((unsigned long) (wait)->private & ~1)) +#define wqe_is_double(wait) ((unsigned long) (wait)->private & 1) +#define IO_ASYNC_POLL_COMMON (EPOLLONESHOT | EPOLLPRI) + +static int io_poll_wake(struct wait_queue_entry *wait, unsigned mode, int sync, + void *key) +{ + struct io_kiocb *req = wqe_to_req(wait); + struct io_poll_iocb *poll = container_of(wait, struct io_poll_iocb, + wait); + __poll_t mask = key_to_poll(key); + + if (unlikely(mask & POLLFREE)) { + io_poll_mark_cancelled(req); + /* we have to kick tw in case it's not already */ + io_poll_execute(req, 0, poll->events); + + /* + * If the waitqueue is being freed early but someone is already + * holds ownership over it, we have to tear down the request as + * best we can. That means immediately removing the request from + * its waitqueue and preventing all further accesses to the + * waitqueue via the request. + */ + list_del_init(&poll->wait.entry); + + /* + * Careful: this *must* be the last step, since as soon + * as req->head is NULL'ed out, the request can be + * completed and freed, since aio_poll_complete_work() + * will no longer need to take the waitqueue lock. + */ + smp_store_release(&poll->head, NULL); + return 1; + } + + /* for instances that support it check for an event match first */ + if (mask && !(mask & (poll->events & ~IO_ASYNC_POLL_COMMON))) + return 0; + + if (io_poll_get_ownership(req)) { + /* optional, saves extra locking for removal in tw handler */ + if (mask && poll->events & EPOLLONESHOT) { + list_del_init(&poll->wait.entry); + poll->head = NULL; + if (wqe_is_double(wait)) + req->flags &= ~REQ_F_DOUBLE_POLL; + else + req->flags &= ~REQ_F_SINGLE_POLL; + } + __io_poll_execute(req, mask, poll->events); + } + return 1; +} + +static void __io_queue_proc(struct io_poll_iocb *poll, struct io_poll_table *pt, + struct wait_queue_head *head, + struct io_poll_iocb **poll_ptr) +{ + struct io_kiocb *req = pt->req; + unsigned long wqe_private = (unsigned long) req; + + /* + * The file being polled uses multiple waitqueues for poll handling + * (e.g. one for read, one for write). Setup a separate io_poll_iocb + * if this happens. + */ + if (unlikely(pt->nr_entries)) { + struct io_poll_iocb *first = poll; + + /* double add on the same waitqueue head, ignore */ + if (first->head == head) + return; + /* already have a 2nd entry, fail a third attempt */ + if (*poll_ptr) { + if ((*poll_ptr)->head == head) + return; + pt->error = -EINVAL; + return; + } + + poll = kmalloc(sizeof(*poll), GFP_ATOMIC); + if (!poll) { + pt->error = -ENOMEM; + return; + } + /* mark as double wq entry */ + wqe_private |= 1; + req->flags |= REQ_F_DOUBLE_POLL; + io_init_poll_iocb(poll, first->events, first->wait.func); + *poll_ptr = poll; + if (req->opcode == IORING_OP_POLL_ADD) + req->flags |= REQ_F_ASYNC_DATA; + } + + req->flags |= REQ_F_SINGLE_POLL; + pt->nr_entries++; + poll->head = head; + poll->wait.private = (void *) wqe_private; + + if (poll->events & EPOLLEXCLUSIVE) + add_wait_queue_exclusive(head, &poll->wait); + else + add_wait_queue(head, &poll->wait); +} + +static void io_poll_queue_proc(struct file *file, struct wait_queue_head *head, + struct poll_table_struct *p) +{ + struct io_poll_table *pt = container_of(p, struct io_poll_table, pt); + + __io_queue_proc(&pt->req->poll, pt, head, + (struct io_poll_iocb **) &pt->req->async_data); +} + +static int __io_arm_poll_handler(struct io_kiocb *req, + struct io_poll_iocb *poll, + struct io_poll_table *ipt, __poll_t mask) +{ + struct io_ring_ctx *ctx = req->ctx; + + INIT_HLIST_NODE(&req->hash_node); + req->work.cancel_seq = atomic_read(&ctx->cancel_seq); + io_init_poll_iocb(poll, mask, io_poll_wake); + poll->file = req->file; + + req->apoll_events = poll->events; + + ipt->pt._key = mask; + ipt->req = req; + ipt->error = 0; + ipt->nr_entries = 0; + + /* + * Take the ownership to delay any tw execution up until we're done + * with poll arming. see io_poll_get_ownership(). + */ + atomic_set(&req->poll_refs, 1); + mask = vfs_poll(req->file, &ipt->pt) & poll->events; + + if (mask && (poll->events & EPOLLONESHOT)) { + io_poll_remove_entries(req); + /* no one else has access to the req, forget about the ref */ + return mask; + } + if (!mask && unlikely(ipt->error || !ipt->nr_entries)) { + io_poll_remove_entries(req); + if (!ipt->error) + ipt->error = -EINVAL; + return 0; + } + + spin_lock(&ctx->completion_lock); + io_poll_req_insert(req); + spin_unlock(&ctx->completion_lock); + + if (mask) { + /* can't multishot if failed, just queue the event we've got */ + if (unlikely(ipt->error || !ipt->nr_entries)) { + poll->events |= EPOLLONESHOT; + req->apoll_events |= EPOLLONESHOT; + ipt->error = 0; + } + __io_poll_execute(req, mask, poll->events); + return 0; + } + + /* + * Try to release ownership. If we see a change of state, e.g. + * poll was waken up, queue up a tw, it'll deal with it. + */ + if (atomic_cmpxchg(&req->poll_refs, 1, 0) != 1) + __io_poll_execute(req, 0, poll->events); + return 0; +} + +static void io_async_queue_proc(struct file *file, struct wait_queue_head *head, + struct poll_table_struct *p) +{ + struct io_poll_table *pt = container_of(p, struct io_poll_table, pt); + struct async_poll *apoll = pt->req->apoll; + + __io_queue_proc(&apoll->poll, pt, head, &apoll->double_poll); +} + +enum { + IO_APOLL_OK, + IO_APOLL_ABORTED, + IO_APOLL_READY +}; + +/* + * We can't reliably detect loops in repeated poll triggers and issue + * subsequently failing. But rather than fail these immediately, allow a + * certain amount of retries before we give up. Given that this condition + * should _rarely_ trigger even once, we should be fine with a larger value. + */ +#define APOLL_MAX_RETRY 128 + +static int io_arm_poll_handler(struct io_kiocb *req, unsigned issue_flags) +{ + const struct io_op_def *def = &io_op_defs[req->opcode]; + struct io_ring_ctx *ctx = req->ctx; + struct async_poll *apoll; + struct io_poll_table ipt; + __poll_t mask = POLLPRI | POLLERR; + int ret; + + if (!def->pollin && !def->pollout) + return IO_APOLL_ABORTED; + if (!file_can_poll(req->file)) + return IO_APOLL_ABORTED; + if (!(req->flags & REQ_F_APOLL_MULTISHOT)) + mask |= EPOLLONESHOT; + + if (def->pollin) { + mask |= EPOLLIN | EPOLLRDNORM; + + /* If reading from MSG_ERRQUEUE using recvmsg, ignore POLLIN */ + if ((req->opcode == IORING_OP_RECVMSG) && + (req->sr_msg.msg_flags & MSG_ERRQUEUE)) + mask &= ~EPOLLIN; + } else { + mask |= EPOLLOUT | EPOLLWRNORM; + } + if (def->poll_exclusive) + mask |= EPOLLEXCLUSIVE; + if (req->flags & REQ_F_POLLED) { + apoll = req->apoll; + kfree(apoll->double_poll); + if (unlikely(!--apoll->poll.retries)) { + apoll->double_poll = NULL; + return IO_APOLL_ABORTED; + } + } else if (!(issue_flags & IO_URING_F_UNLOCKED) && + !list_empty(&ctx->apoll_cache)) { + apoll = list_first_entry(&ctx->apoll_cache, struct async_poll, + poll.wait.entry); + list_del_init(&apoll->poll.wait.entry); + } else { + apoll = kmalloc(sizeof(*apoll), GFP_ATOMIC); + if (unlikely(!apoll)) + return IO_APOLL_ABORTED; + apoll->poll.retries = APOLL_MAX_RETRY; + } + apoll->double_poll = NULL; + req->apoll = apoll; + req->flags |= REQ_F_POLLED; + ipt.pt._qproc = io_async_queue_proc; + + io_kbuf_recycle(req, issue_flags); + + ret = __io_arm_poll_handler(req, &apoll->poll, &ipt, mask); + if (ret || ipt.error) + return ret ? IO_APOLL_READY : IO_APOLL_ABORTED; + + trace_io_uring_poll_arm(ctx, req, req->cqe.user_data, req->opcode, + mask, apoll->poll.events); + return IO_APOLL_OK; +} + +/* + * Returns true if we found and killed one or more poll requests + */ +static __cold bool io_poll_remove_all(struct io_ring_ctx *ctx, + struct task_struct *tsk, bool cancel_all) +{ + struct hlist_node *tmp; + struct io_kiocb *req; + bool found = false; + int i; + + spin_lock(&ctx->completion_lock); + for (i = 0; i < (1U << ctx->cancel_hash_bits); i++) { + struct hlist_head *list; + + list = &ctx->cancel_hash[i]; + hlist_for_each_entry_safe(req, tmp, list, hash_node) { + if (io_match_task_safe(req, tsk, cancel_all)) { + hlist_del_init(&req->hash_node); + io_poll_cancel_req(req); + found = true; + } + } + } + spin_unlock(&ctx->completion_lock); + return found; +} + +static struct io_kiocb *io_poll_find(struct io_ring_ctx *ctx, bool poll_only, + struct io_cancel_data *cd) + __must_hold(&ctx->completion_lock) +{ + struct hlist_head *list; + struct io_kiocb *req; + + list = &ctx->cancel_hash[hash_long(cd->data, ctx->cancel_hash_bits)]; + hlist_for_each_entry(req, list, hash_node) { + if (cd->data != req->cqe.user_data) + continue; + if (poll_only && req->opcode != IORING_OP_POLL_ADD) + continue; + if (cd->flags & IORING_ASYNC_CANCEL_ALL) { + if (cd->seq == req->work.cancel_seq) + continue; + req->work.cancel_seq = cd->seq; + } + return req; + } + return NULL; +} + +static struct io_kiocb *io_poll_file_find(struct io_ring_ctx *ctx, + struct io_cancel_data *cd) + __must_hold(&ctx->completion_lock) +{ + struct io_kiocb *req; + int i; + + for (i = 0; i < (1U << ctx->cancel_hash_bits); i++) { + struct hlist_head *list; + + list = &ctx->cancel_hash[i]; + hlist_for_each_entry(req, list, hash_node) { + if (!(cd->flags & IORING_ASYNC_CANCEL_ANY) && + req->file != cd->file) + continue; + if (cd->seq == req->work.cancel_seq) + continue; + req->work.cancel_seq = cd->seq; + return req; + } + } + return NULL; +} + +static bool io_poll_disarm(struct io_kiocb *req) + __must_hold(&ctx->completion_lock) +{ + if (!io_poll_get_ownership(req)) + return false; + io_poll_remove_entries(req); + hash_del(&req->hash_node); + return true; +} + +static int io_poll_cancel(struct io_ring_ctx *ctx, struct io_cancel_data *cd) + __must_hold(&ctx->completion_lock) +{ + struct io_kiocb *req; + + if (cd->flags & (IORING_ASYNC_CANCEL_FD|IORING_ASYNC_CANCEL_ANY)) + req = io_poll_file_find(ctx, cd); + else + req = io_poll_find(ctx, false, cd); + if (!req) + return -ENOENT; + io_poll_cancel_req(req); + return 0; +} + +static __poll_t io_poll_parse_events(const struct io_uring_sqe *sqe, + unsigned int flags) +{ + u32 events; + + events = READ_ONCE(sqe->poll32_events); +#ifdef __BIG_ENDIAN + events = swahw32(events); +#endif + if (!(flags & IORING_POLL_ADD_MULTI)) + events |= EPOLLONESHOT; + return demangle_poll(events) | (events & (EPOLLEXCLUSIVE|EPOLLONESHOT)); +} + +static int io_poll_remove_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + struct io_poll_update *upd = &req->poll_update; + u32 flags; + + if (sqe->buf_index || sqe->splice_fd_in) + return -EINVAL; + flags = READ_ONCE(sqe->len); + if (flags & ~(IORING_POLL_UPDATE_EVENTS | IORING_POLL_UPDATE_USER_DATA | + IORING_POLL_ADD_MULTI)) + return -EINVAL; + /* meaningless without update */ + if (flags == IORING_POLL_ADD_MULTI) + return -EINVAL; + + upd->old_user_data = READ_ONCE(sqe->addr); + upd->update_events = flags & IORING_POLL_UPDATE_EVENTS; + upd->update_user_data = flags & IORING_POLL_UPDATE_USER_DATA; + + upd->new_user_data = READ_ONCE(sqe->off); + if (!upd->update_user_data && upd->new_user_data) + return -EINVAL; + if (upd->update_events) + upd->events = io_poll_parse_events(sqe, flags); + else if (sqe->poll32_events) + return -EINVAL; + + return 0; +} + +static int io_poll_add_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe) +{ + struct io_poll_iocb *poll = &req->poll; + u32 flags; + + if (sqe->buf_index || sqe->off || sqe->addr) + return -EINVAL; + flags = READ_ONCE(sqe->len); + if (flags & ~IORING_POLL_ADD_MULTI) + return -EINVAL; + if ((flags & IORING_POLL_ADD_MULTI) && (req->flags & REQ_F_CQE_SKIP)) + return -EINVAL; + + io_req_set_refcount(req); + poll->events = io_poll_parse_events(sqe, flags); + return 0; +} + +static int io_poll_add(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_poll_iocb *poll = &req->poll; + struct io_poll_table ipt; + int ret; + + ipt.pt._qproc = io_poll_queue_proc; + + ret = __io_arm_poll_handler(req, &req->poll, &ipt, poll->events); + if (!ret && ipt.error) + req_set_fail(req); + ret = ret ?: ipt.error; + if (ret) + __io_req_complete(req, issue_flags, ret, 0); + return 0; +} + +static int io_poll_remove(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_cancel_data cd = { .data = req->poll_update.old_user_data, }; + struct io_ring_ctx *ctx = req->ctx; + struct io_kiocb *preq; + int ret2, ret = 0; + bool locked; + + spin_lock(&ctx->completion_lock); + preq = io_poll_find(ctx, true, &cd); + if (!preq || !io_poll_disarm(preq)) { + spin_unlock(&ctx->completion_lock); + ret = preq ? -EALREADY : -ENOENT; + goto out; + } + spin_unlock(&ctx->completion_lock); + + if (req->poll_update.update_events || req->poll_update.update_user_data) { + /* only mask one event flags, keep behavior flags */ + if (req->poll_update.update_events) { + preq->poll.events &= ~0xffff; + preq->poll.events |= req->poll_update.events & 0xffff; + preq->poll.events |= IO_POLL_UNMASK; + } + if (req->poll_update.update_user_data) + preq->cqe.user_data = req->poll_update.new_user_data; + + ret2 = io_poll_add(preq, issue_flags); + /* successfully updated, don't complete poll request */ + if (!ret2) + goto out; + } + + req_set_fail(preq); + preq->cqe.res = -ECANCELED; + locked = !(issue_flags & IO_URING_F_UNLOCKED); + io_req_task_complete(preq, &locked); +out: + if (ret < 0) + req_set_fail(req); + /* complete update request, we're done with it */ + __io_req_complete(req, issue_flags, ret, 0); + return 0; +} + +static enum hrtimer_restart io_timeout_fn(struct hrtimer *timer) +{ + struct io_timeout_data *data = container_of(timer, + struct io_timeout_data, timer); + struct io_kiocb *req = data->req; + struct io_ring_ctx *ctx = req->ctx; + unsigned long flags; + + spin_lock_irqsave(&ctx->timeout_lock, flags); + list_del_init(&req->timeout.list); + atomic_set(&req->ctx->cq_timeouts, + atomic_read(&req->ctx->cq_timeouts) + 1); + spin_unlock_irqrestore(&ctx->timeout_lock, flags); + + if (!(data->flags & IORING_TIMEOUT_ETIME_SUCCESS)) + req_set_fail(req); + + req->cqe.res = -ETIME; + req->io_task_work.func = io_req_task_complete; + io_req_task_work_add(req); + return HRTIMER_NORESTART; +} + +static struct io_kiocb *io_timeout_extract(struct io_ring_ctx *ctx, + struct io_cancel_data *cd) + __must_hold(&ctx->timeout_lock) +{ + struct io_timeout_data *io; + struct io_kiocb *req; + bool found = false; + + list_for_each_entry(req, &ctx->timeout_list, timeout.list) { + if (!(cd->flags & IORING_ASYNC_CANCEL_ANY) && + cd->data != req->cqe.user_data) + continue; + if (cd->flags & (IORING_ASYNC_CANCEL_ALL|IORING_ASYNC_CANCEL_ANY)) { + if (cd->seq == req->work.cancel_seq) + continue; + req->work.cancel_seq = cd->seq; + } + found = true; + break; + } + if (!found) + return ERR_PTR(-ENOENT); + + io = req->async_data; + if (hrtimer_try_to_cancel(&io->timer) == -1) + return ERR_PTR(-EALREADY); + list_del_init(&req->timeout.list); + return req; +} + +static int io_timeout_cancel(struct io_ring_ctx *ctx, struct io_cancel_data *cd) + __must_hold(&ctx->completion_lock) +{ + struct io_kiocb *req; + + spin_lock_irq(&ctx->timeout_lock); + req = io_timeout_extract(ctx, cd); + spin_unlock_irq(&ctx->timeout_lock); + + if (IS_ERR(req)) + return PTR_ERR(req); + io_req_task_queue_fail(req, -ECANCELED); + return 0; +} + +static clockid_t io_timeout_get_clock(struct io_timeout_data *data) +{ + switch (data->flags & IORING_TIMEOUT_CLOCK_MASK) { + case IORING_TIMEOUT_BOOTTIME: + return CLOCK_BOOTTIME; + case IORING_TIMEOUT_REALTIME: + return CLOCK_REALTIME; + default: + /* can't happen, vetted at prep time */ + WARN_ON_ONCE(1); + fallthrough; + case 0: + return CLOCK_MONOTONIC; + } +} + +static int io_linked_timeout_update(struct io_ring_ctx *ctx, __u64 user_data, + struct timespec64 *ts, enum hrtimer_mode mode) + __must_hold(&ctx->timeout_lock) +{ + struct io_timeout_data *io; + struct io_kiocb *req; + bool found = false; + + list_for_each_entry(req, &ctx->ltimeout_list, timeout.list) { + found = user_data == req->cqe.user_data; + if (found) + break; + } + if (!found) + return -ENOENT; + + io = req->async_data; + if (hrtimer_try_to_cancel(&io->timer) == -1) + return -EALREADY; + hrtimer_init(&io->timer, io_timeout_get_clock(io), mode); + io->timer.function = io_link_timeout_fn; + hrtimer_start(&io->timer, timespec64_to_ktime(*ts), mode); + return 0; +} + +static int io_timeout_update(struct io_ring_ctx *ctx, __u64 user_data, + struct timespec64 *ts, enum hrtimer_mode mode) + __must_hold(&ctx->timeout_lock) +{ + struct io_cancel_data cd = { .data = user_data, }; + struct io_kiocb *req = io_timeout_extract(ctx, &cd); + struct io_timeout_data *data; + + if (IS_ERR(req)) + return PTR_ERR(req); + + req->timeout.off = 0; /* noseq */ + data = req->async_data; + list_add_tail(&req->timeout.list, &ctx->timeout_list); + hrtimer_init(&data->timer, io_timeout_get_clock(data), mode); + data->timer.function = io_timeout_fn; + hrtimer_start(&data->timer, timespec64_to_ktime(*ts), mode); + return 0; +} + +static int io_timeout_remove_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + struct io_timeout_rem *tr = &req->timeout_rem; + + if (unlikely(req->flags & (REQ_F_FIXED_FILE | REQ_F_BUFFER_SELECT))) + return -EINVAL; + if (sqe->buf_index || sqe->len || sqe->splice_fd_in) + return -EINVAL; + + tr->ltimeout = false; + tr->addr = READ_ONCE(sqe->addr); + tr->flags = READ_ONCE(sqe->timeout_flags); + if (tr->flags & IORING_TIMEOUT_UPDATE_MASK) { + if (hweight32(tr->flags & IORING_TIMEOUT_CLOCK_MASK) > 1) + return -EINVAL; + if (tr->flags & IORING_LINK_TIMEOUT_UPDATE) + tr->ltimeout = true; + if (tr->flags & ~(IORING_TIMEOUT_UPDATE_MASK|IORING_TIMEOUT_ABS)) + return -EINVAL; + if (get_timespec64(&tr->ts, u64_to_user_ptr(sqe->addr2))) + return -EFAULT; + if (tr->ts.tv_sec < 0 || tr->ts.tv_nsec < 0) + return -EINVAL; + } else if (tr->flags) { + /* timeout removal doesn't support flags */ + return -EINVAL; + } + + return 0; +} + +static inline enum hrtimer_mode io_translate_timeout_mode(unsigned int flags) +{ + return (flags & IORING_TIMEOUT_ABS) ? HRTIMER_MODE_ABS + : HRTIMER_MODE_REL; +} + +/* + * Remove or update an existing timeout command + */ +static int io_timeout_remove(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_timeout_rem *tr = &req->timeout_rem; + struct io_ring_ctx *ctx = req->ctx; + int ret; + + if (!(req->timeout_rem.flags & IORING_TIMEOUT_UPDATE)) { + struct io_cancel_data cd = { .data = tr->addr, }; + + spin_lock(&ctx->completion_lock); + ret = io_timeout_cancel(ctx, &cd); + spin_unlock(&ctx->completion_lock); + } else { + enum hrtimer_mode mode = io_translate_timeout_mode(tr->flags); + + spin_lock_irq(&ctx->timeout_lock); + if (tr->ltimeout) + ret = io_linked_timeout_update(ctx, tr->addr, &tr->ts, mode); + else + ret = io_timeout_update(ctx, tr->addr, &tr->ts, mode); + spin_unlock_irq(&ctx->timeout_lock); + } + + if (ret < 0) + req_set_fail(req); + io_req_complete_post(req, ret, 0); + return 0; +} + +static int __io_timeout_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe, + bool is_timeout_link) +{ + struct io_timeout_data *data; + unsigned flags; + u32 off = READ_ONCE(sqe->off); + + if (sqe->buf_index || sqe->len != 1 || sqe->splice_fd_in) + return -EINVAL; + if (off && is_timeout_link) + return -EINVAL; + flags = READ_ONCE(sqe->timeout_flags); + if (flags & ~(IORING_TIMEOUT_ABS | IORING_TIMEOUT_CLOCK_MASK | + IORING_TIMEOUT_ETIME_SUCCESS)) + return -EINVAL; + /* more than one clock specified is invalid, obviously */ + if (hweight32(flags & IORING_TIMEOUT_CLOCK_MASK) > 1) + return -EINVAL; + + INIT_LIST_HEAD(&req->timeout.list); + req->timeout.off = off; + if (unlikely(off && !req->ctx->off_timeout_used)) + req->ctx->off_timeout_used = true; + + if (WARN_ON_ONCE(req_has_async_data(req))) + return -EFAULT; + if (io_alloc_async_data(req)) + return -ENOMEM; + + data = req->async_data; + data->req = req; + data->flags = flags; + + if (get_timespec64(&data->ts, u64_to_user_ptr(sqe->addr))) + return -EFAULT; + + if (data->ts.tv_sec < 0 || data->ts.tv_nsec < 0) + return -EINVAL; + + INIT_LIST_HEAD(&req->timeout.list); + data->mode = io_translate_timeout_mode(flags); + hrtimer_init(&data->timer, io_timeout_get_clock(data), data->mode); + + if (is_timeout_link) { + struct io_submit_link *link = &req->ctx->submit_state.link; + + if (!link->head) + return -EINVAL; + if (link->last->opcode == IORING_OP_LINK_TIMEOUT) + return -EINVAL; + req->timeout.head = link->last; + link->last->flags |= REQ_F_ARM_LTIMEOUT; + } + return 0; +} + +static int io_timeout_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + return __io_timeout_prep(req, sqe, false); +} + +static int io_link_timeout_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + return __io_timeout_prep(req, sqe, true); +} + +static int io_timeout(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_ring_ctx *ctx = req->ctx; + struct io_timeout_data *data = req->async_data; + struct list_head *entry; + u32 tail, off = req->timeout.off; + + spin_lock_irq(&ctx->timeout_lock); + + /* + * sqe->off holds how many events that need to occur for this + * timeout event to be satisfied. If it isn't set, then this is + * a pure timeout request, sequence isn't used. + */ + if (io_is_timeout_noseq(req)) { + entry = ctx->timeout_list.prev; + goto add; + } + + tail = ctx->cached_cq_tail - atomic_read(&ctx->cq_timeouts); + req->timeout.target_seq = tail + off; + + /* Update the last seq here in case io_flush_timeouts() hasn't. + * This is safe because ->completion_lock is held, and submissions + * and completions are never mixed in the same ->completion_lock section. + */ + ctx->cq_last_tm_flush = tail; + + /* + * Insertion sort, ensuring the first entry in the list is always + * the one we need first. + */ + list_for_each_prev(entry, &ctx->timeout_list) { + struct io_kiocb *nxt = list_entry(entry, struct io_kiocb, + timeout.list); + + if (io_is_timeout_noseq(nxt)) + continue; + /* nxt.seq is behind @tail, otherwise would've been completed */ + if (off >= nxt->timeout.target_seq - tail) + break; + } +add: + list_add(&req->timeout.list, entry); + data->timer.function = io_timeout_fn; + hrtimer_start(&data->timer, timespec64_to_ktime(data->ts), data->mode); + spin_unlock_irq(&ctx->timeout_lock); + return 0; +} + +static bool io_cancel_cb(struct io_wq_work *work, void *data) +{ + struct io_kiocb *req = container_of(work, struct io_kiocb, work); + struct io_cancel_data *cd = data; + + if (req->ctx != cd->ctx) + return false; + if (cd->flags & IORING_ASYNC_CANCEL_ANY) { + ; + } else if (cd->flags & IORING_ASYNC_CANCEL_FD) { + if (req->file != cd->file) + return false; + } else { + if (req->cqe.user_data != cd->data) + return false; + } + if (cd->flags & (IORING_ASYNC_CANCEL_ALL|IORING_ASYNC_CANCEL_ANY)) { + if (cd->seq == req->work.cancel_seq) + return false; + req->work.cancel_seq = cd->seq; + } + return true; +} + +static int io_async_cancel_one(struct io_uring_task *tctx, + struct io_cancel_data *cd) +{ + enum io_wq_cancel cancel_ret; + int ret = 0; + bool all; + + if (!tctx || !tctx->io_wq) + return -ENOENT; + + all = cd->flags & (IORING_ASYNC_CANCEL_ALL|IORING_ASYNC_CANCEL_ANY); + cancel_ret = io_wq_cancel_cb(tctx->io_wq, io_cancel_cb, cd, all); + switch (cancel_ret) { + case IO_WQ_CANCEL_OK: + ret = 0; + break; + case IO_WQ_CANCEL_RUNNING: + ret = -EALREADY; + break; + case IO_WQ_CANCEL_NOTFOUND: + ret = -ENOENT; + break; + } + + return ret; +} + +static int io_try_cancel(struct io_kiocb *req, struct io_cancel_data *cd) +{ + struct io_ring_ctx *ctx = req->ctx; + int ret; + + WARN_ON_ONCE(!io_wq_current_is_worker() && req->task != current); + + ret = io_async_cancel_one(req->task->io_uring, cd); + /* + * Fall-through even for -EALREADY, as we may have poll armed + * that need unarming. + */ + if (!ret) + return 0; + + spin_lock(&ctx->completion_lock); + ret = io_poll_cancel(ctx, cd); + if (ret != -ENOENT) + goto out; + if (!(cd->flags & IORING_ASYNC_CANCEL_FD)) + ret = io_timeout_cancel(ctx, cd); +out: + spin_unlock(&ctx->completion_lock); + return ret; +} + +#define CANCEL_FLAGS (IORING_ASYNC_CANCEL_ALL | IORING_ASYNC_CANCEL_FD | \ + IORING_ASYNC_CANCEL_ANY) + +static int io_async_cancel_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + if (unlikely(req->flags & REQ_F_BUFFER_SELECT)) + return -EINVAL; + if (sqe->off || sqe->len || sqe->splice_fd_in) + return -EINVAL; + + req->cancel.addr = READ_ONCE(sqe->addr); + req->cancel.flags = READ_ONCE(sqe->cancel_flags); + if (req->cancel.flags & ~CANCEL_FLAGS) + return -EINVAL; + if (req->cancel.flags & IORING_ASYNC_CANCEL_FD) { + if (req->cancel.flags & IORING_ASYNC_CANCEL_ANY) + return -EINVAL; + req->cancel.fd = READ_ONCE(sqe->fd); + } + + return 0; +} + +static int __io_async_cancel(struct io_cancel_data *cd, struct io_kiocb *req, + unsigned int issue_flags) +{ + bool all = cd->flags & (IORING_ASYNC_CANCEL_ALL|IORING_ASYNC_CANCEL_ANY); + struct io_ring_ctx *ctx = cd->ctx; + struct io_tctx_node *node; + int ret, nr = 0; + + do { + ret = io_try_cancel(req, cd); + if (ret == -ENOENT) + break; + if (!all) + return ret; + nr++; + } while (1); + + /* slow path, try all io-wq's */ + io_ring_submit_lock(ctx, issue_flags); + ret = -ENOENT; + list_for_each_entry(node, &ctx->tctx_list, ctx_node) { + struct io_uring_task *tctx = node->task->io_uring; + + ret = io_async_cancel_one(tctx, cd); + if (ret != -ENOENT) { + if (!all) + break; + nr++; + } + } + io_ring_submit_unlock(ctx, issue_flags); + return all ? nr : ret; +} + +static int io_async_cancel(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_cancel_data cd = { + .ctx = req->ctx, + .data = req->cancel.addr, + .flags = req->cancel.flags, + .seq = atomic_inc_return(&req->ctx->cancel_seq), + }; + int ret; + + if (cd.flags & IORING_ASYNC_CANCEL_FD) { + if (req->flags & REQ_F_FIXED_FILE) + req->file = io_file_get_fixed(req, req->cancel.fd, + issue_flags); + else + req->file = io_file_get_normal(req, req->cancel.fd); + if (!req->file) { + ret = -EBADF; + goto done; + } + cd.file = req->file; + } + + ret = __io_async_cancel(&cd, req, issue_flags); +done: + if (ret < 0) + req_set_fail(req); + io_req_complete_post(req, ret, 0); + return 0; +} + +static int io_files_update_prep(struct io_kiocb *req, + const struct io_uring_sqe *sqe) +{ + if (unlikely(req->flags & (REQ_F_FIXED_FILE | REQ_F_BUFFER_SELECT))) + return -EINVAL; + if (sqe->rw_flags || sqe->splice_fd_in) + return -EINVAL; + + req->rsrc_update.offset = READ_ONCE(sqe->off); + req->rsrc_update.nr_args = READ_ONCE(sqe->len); + if (!req->rsrc_update.nr_args) + return -EINVAL; + req->rsrc_update.arg = READ_ONCE(sqe->addr); + return 0; +} + +static int io_files_update_with_index_alloc(struct io_kiocb *req, + unsigned int issue_flags) +{ + __s32 __user *fds = u64_to_user_ptr(req->rsrc_update.arg); + unsigned int done; + struct file *file; + int ret, fd; + + if (!req->ctx->file_data) + return -ENXIO; + + for (done = 0; done < req->rsrc_update.nr_args; done++) { + if (copy_from_user(&fd, &fds[done], sizeof(fd))) { + ret = -EFAULT; + break; + } + + file = fget(fd); + if (!file) { + ret = -EBADF; + break; + } + ret = io_fixed_fd_install(req, issue_flags, file, + IORING_FILE_INDEX_ALLOC); + if (ret < 0) + break; + if (copy_to_user(&fds[done], &ret, sizeof(ret))) { + __io_close_fixed(req, issue_flags, ret); + ret = -EFAULT; + break; + } + } + + if (done) + return done; + return ret; +} + +static int io_files_update(struct io_kiocb *req, unsigned int issue_flags) +{ + struct io_ring_ctx *ctx = req->ctx; + struct io_uring_rsrc_update2 up; + int ret; + + up.offset = req->rsrc_update.offset; + up.data = req->rsrc_update.arg; + up.nr = 0; + up.tags = 0; + up.resv = 0; + up.resv2 = 0; + + if (req->rsrc_update.offset == IORING_FILE_INDEX_ALLOC) { + ret = io_files_update_with_index_alloc(req, issue_flags); + } else { + io_ring_submit_lock(ctx, issue_flags); + ret = __io_register_rsrc_update(ctx, IORING_RSRC_FILE, + &up, req->rsrc_update.nr_args); + io_ring_submit_unlock(ctx, issue_flags); + } + + if (ret < 0) + req_set_fail(req); + __io_req_complete(req, issue_flags, ret, 0); + return 0; +} + +static int io_req_prep_async(struct io_kiocb *req) +{ + const struct io_op_def *def = &io_op_defs[req->opcode]; + + /* assign early for deferred execution for non-fixed file */ + if (def->needs_file && !(req->flags & REQ_F_FIXED_FILE) && !req->file) + req->file = io_file_get_normal(req, req->cqe.fd); + if (!def->needs_async_setup) + return 0; + if (WARN_ON_ONCE(req_has_async_data(req))) + return -EFAULT; + if (io_alloc_async_data(req)) + return -EAGAIN; + + switch (req->opcode) { + case IORING_OP_READV: + return io_readv_prep_async(req); + case IORING_OP_WRITEV: + return io_writev_prep_async(req); + case IORING_OP_SENDMSG: + return io_sendmsg_prep_async(req); + case IORING_OP_RECVMSG: + return io_recvmsg_prep_async(req); + case IORING_OP_CONNECT: + return io_connect_prep_async(req); + case IORING_OP_URING_CMD: + return io_uring_cmd_prep_async(req); + } + + printk_once(KERN_WARNING "io_uring: unhandled opcode %d\n", + req->opcode); + return -EINVAL; +} + +static u32 io_get_sequence(struct io_kiocb *req) +{ + u32 seq = req->ctx->cached_sq_head; + struct io_kiocb *cur; + + /* need original cached_sq_head, but it was increased for each req */ + io_for_each_link(cur, req) + seq--; + return seq; +} + +static __cold void io_drain_req(struct io_kiocb *req) +{ + struct io_ring_ctx *ctx = req->ctx; + struct io_defer_entry *de; + int ret; + u32 seq = io_get_sequence(req); + + /* Still need defer if there is pending req in defer list. */ + spin_lock(&ctx->completion_lock); + if (!req_need_defer(req, seq) && list_empty_careful(&ctx->defer_list)) { + spin_unlock(&ctx->completion_lock); +queue: + ctx->drain_active = false; + io_req_task_queue(req); + return; + } + spin_unlock(&ctx->completion_lock); + + ret = io_req_prep_async(req); + if (ret) { +fail: + io_req_complete_failed(req, ret); + return; + } + io_prep_async_link(req); + de = kmalloc(sizeof(*de), GFP_KERNEL); + if (!de) { + ret = -ENOMEM; + goto fail; + } + + spin_lock(&ctx->completion_lock); + if (!req_need_defer(req, seq) && list_empty(&ctx->defer_list)) { + spin_unlock(&ctx->completion_lock); + kfree(de); + goto queue; + } + + trace_io_uring_defer(ctx, req, req->cqe.user_data, req->opcode); + de->req = req; + de->seq = seq; + list_add_tail(&de->list, &ctx->defer_list); + spin_unlock(&ctx->completion_lock); +} + +static void io_clean_op(struct io_kiocb *req) +{ + if (req->flags & REQ_F_BUFFER_SELECTED) { + spin_lock(&req->ctx->completion_lock); + io_put_kbuf_comp(req); + spin_unlock(&req->ctx->completion_lock); + } + + if (req->flags & REQ_F_NEED_CLEANUP) { + switch (req->opcode) { + case IORING_OP_READV: + case IORING_OP_READ_FIXED: + case IORING_OP_READ: + case IORING_OP_WRITEV: + case IORING_OP_WRITE_FIXED: + case IORING_OP_WRITE: { + struct io_async_rw *io = req->async_data; + + kfree(io->free_iovec); + break; + } + case IORING_OP_RECVMSG: + case IORING_OP_SENDMSG: { + struct io_async_msghdr *io = req->async_data; + + kfree(io->free_iov); + break; + } + case IORING_OP_OPENAT: + case IORING_OP_OPENAT2: + if (req->open.filename) + putname(req->open.filename); + break; + case IORING_OP_RENAMEAT: + putname(req->rename.oldpath); + putname(req->rename.newpath); + break; + case IORING_OP_UNLINKAT: + putname(req->unlink.filename); + break; + case IORING_OP_MKDIRAT: + putname(req->mkdir.filename); + break; + case IORING_OP_SYMLINKAT: + putname(req->symlink.oldpath); + putname(req->symlink.newpath); + break; + case IORING_OP_LINKAT: + putname(req->hardlink.oldpath); + putname(req->hardlink.newpath); + break; + case IORING_OP_STATX: + if (req->statx.filename) + putname(req->statx.filename); + break; + case IORING_OP_SETXATTR: + case IORING_OP_FSETXATTR: + case IORING_OP_GETXATTR: + case IORING_OP_FGETXATTR: + __io_xattr_finish(req); + break; + } + } + if ((req->flags & REQ_F_POLLED) && req->apoll) { + kfree(req->apoll->double_poll); + kfree(req->apoll); + req->apoll = NULL; + } + if (req->flags & REQ_F_INFLIGHT) { + struct io_uring_task *tctx = req->task->io_uring; + + atomic_dec(&tctx->inflight_tracked); + } + if (req->flags & REQ_F_CREDS) + put_cred(req->creds); + if (req->flags & REQ_F_ASYNC_DATA) { + kfree(req->async_data); + req->async_data = NULL; + } + req->flags &= ~IO_REQ_CLEAN_FLAGS; +} + +static bool io_assign_file(struct io_kiocb *req, unsigned int issue_flags) +{ + if (req->file || !io_op_defs[req->opcode].needs_file) + return true; + + if (req->flags & REQ_F_FIXED_FILE) + req->file = io_file_get_fixed(req, req->cqe.fd, issue_flags); + else + req->file = io_file_get_normal(req, req->cqe.fd); + + return !!req->file; +} + +static int io_issue_sqe(struct io_kiocb *req, unsigned int issue_flags) +{ + const struct io_op_def *def = &io_op_defs[req->opcode]; + const struct cred *creds = NULL; + int ret; + + if (unlikely(!io_assign_file(req, issue_flags))) + return -EBADF; + + if (unlikely((req->flags & REQ_F_CREDS) && req->creds != current_cred())) + creds = override_creds(req->creds); + + if (!def->audit_skip) + audit_uring_entry(req->opcode); + + ret = def->issue(req, issue_flags); + + if (!def->audit_skip) + audit_uring_exit(!ret, ret); + + if (creds) + revert_creds(creds); + if (ret) + return ret; + /* If the op doesn't have a file, we're not polling for it */ + if ((req->ctx->flags & IORING_SETUP_IOPOLL) && req->file) + io_iopoll_req_issued(req, issue_flags); + + return 0; +} + +static struct io_wq_work *io_wq_free_work(struct io_wq_work *work) +{ + struct io_kiocb *req = container_of(work, struct io_kiocb, work); + + req = io_put_req_find_next(req); + return req ? &req->work : NULL; +} + +static void io_wq_submit_work(struct io_wq_work *work) +{ + struct io_kiocb *req = container_of(work, struct io_kiocb, work); + const struct io_op_def *def = &io_op_defs[req->opcode]; + unsigned int issue_flags = IO_URING_F_UNLOCKED; + bool needs_poll = false; + int ret = 0, err = -ECANCELED; + + /* one will be dropped by ->io_free_work() after returning to io-wq */ + if (!(req->flags & REQ_F_REFCOUNT)) + __io_req_set_refcount(req, 2); + else + req_ref_get(req); + + io_arm_ltimeout(req); + + /* either cancelled or io-wq is dying, so don't touch tctx->iowq */ + if (work->flags & IO_WQ_WORK_CANCEL) { +fail: + io_req_task_queue_fail(req, err); + return; + } + if (!io_assign_file(req, issue_flags)) { + err = -EBADF; + work->flags |= IO_WQ_WORK_CANCEL; + goto fail; + } + + if (req->flags & REQ_F_FORCE_ASYNC) { + bool opcode_poll = def->pollin || def->pollout; + + if (opcode_poll && file_can_poll(req->file)) { + needs_poll = true; + issue_flags |= IO_URING_F_NONBLOCK; + } + } + + do { + ret = io_issue_sqe(req, issue_flags); + if (ret != -EAGAIN) + break; + /* + * We can get EAGAIN for iopolled IO even though we're + * forcing a sync submission from here, since we can't + * wait for request slots on the block side. + */ + if (!needs_poll) { + if (!(req->ctx->flags & IORING_SETUP_IOPOLL)) + break; + cond_resched(); + continue; + } + + if (io_arm_poll_handler(req, issue_flags) == IO_APOLL_OK) + return; + /* aborted or ready, in either case retry blocking */ + needs_poll = false; + issue_flags &= ~IO_URING_F_NONBLOCK; + } while (1); + + /* avoid locking problems by failing it from a clean context */ + if (ret) + io_req_task_queue_fail(req, ret); +} + +static inline struct io_fixed_file *io_fixed_file_slot(struct io_file_table *table, + unsigned i) +{ + return &table->files[i]; +} + +static inline struct file *io_file_from_index(struct io_ring_ctx *ctx, + int index) +{ + struct io_fixed_file *slot = io_fixed_file_slot(&ctx->file_table, index); + + return (struct file *) (slot->file_ptr & FFS_MASK); +} + +static void io_fixed_file_set(struct io_fixed_file *file_slot, struct file *file) +{ + unsigned long file_ptr = (unsigned long) file; + + file_ptr |= io_file_get_flags(file); + file_slot->file_ptr = file_ptr; +} + +static inline struct file *io_file_get_fixed(struct io_kiocb *req, int fd, + unsigned int issue_flags) +{ + struct io_ring_ctx *ctx = req->ctx; + struct file *file = NULL; + unsigned long file_ptr; + + io_ring_submit_lock(ctx, issue_flags); + + if (unlikely((unsigned int)fd >= ctx->nr_user_files)) + goto out; + fd = array_index_nospec(fd, ctx->nr_user_files); + file_ptr = io_fixed_file_slot(&ctx->file_table, fd)->file_ptr; + file = (struct file *) (file_ptr & FFS_MASK); + file_ptr &= ~FFS_MASK; + /* mask in overlapping REQ_F and FFS bits */ + req->flags |= (file_ptr << REQ_F_SUPPORT_NOWAIT_BIT); + io_req_set_rsrc_node(req, ctx, 0); + WARN_ON_ONCE(file && !test_bit(fd, ctx->file_table.bitmap)); +out: + io_ring_submit_unlock(ctx, issue_flags); + return file; +} + +static struct file *io_file_get_normal(struct io_kiocb *req, int fd) +{ + struct file *file = fget(fd); + + trace_io_uring_file_get(req->ctx, req, req->cqe.user_data, fd); + + /* we don't allow fixed io_uring files */ + if (file && file->f_op == &io_uring_fops) + io_req_track_inflight(req); + return file; +} + +static void io_req_task_link_timeout(struct io_kiocb *req, bool *locked) +{ + struct io_kiocb *prev = req->timeout.prev; + int ret = -ENOENT; + + if (prev) { + if (!(req->task->flags & PF_EXITING)) { + struct io_cancel_data cd = { + .ctx = req->ctx, + .data = prev->cqe.user_data, + }; + + ret = io_try_cancel(req, &cd); + } + io_req_complete_post(req, ret ?: -ETIME, 0); + io_put_req(prev); + } else { + io_req_complete_post(req, -ETIME, 0); + } +} + +static enum hrtimer_restart io_link_timeout_fn(struct hrtimer *timer) +{ + struct io_timeout_data *data = container_of(timer, + struct io_timeout_data, timer); + struct io_kiocb *prev, *req = data->req; + struct io_ring_ctx *ctx = req->ctx; + unsigned long flags; + + spin_lock_irqsave(&ctx->timeout_lock, flags); + prev = req->timeout.head; + req->timeout.head = NULL; + + /* + * We don't expect the list to be empty, that will only happen if we + * race with the completion of the linked work. + */ + if (prev) { + io_remove_next_linked(prev); + if (!req_ref_inc_not_zero(prev)) + prev = NULL; + } + list_del(&req->timeout.list); + req->timeout.prev = prev; + spin_unlock_irqrestore(&ctx->timeout_lock, flags); + + req->io_task_work.func = io_req_task_link_timeout; + io_req_task_work_add(req); + return HRTIMER_NORESTART; +} + +static void io_queue_linked_timeout(struct io_kiocb *req) +{ + struct io_ring_ctx *ctx = req->ctx; + + spin_lock_irq(&ctx->timeout_lock); + /* + * If the back reference is NULL, then our linked request finished + * before we got a chance to setup the timer + */ + if (req->timeout.head) { + struct io_timeout_data *data = req->async_data; + + data->timer.function = io_link_timeout_fn; + hrtimer_start(&data->timer, timespec64_to_ktime(data->ts), + data->mode); + list_add_tail(&req->timeout.list, &ctx->ltimeout_list); + } + spin_unlock_irq(&ctx->timeout_lock); + /* drop submission reference */ + io_put_req(req); +} + +static void io_queue_async(struct io_kiocb *req, int ret) + __must_hold(&req->ctx->uring_lock) +{ + struct io_kiocb *linked_timeout; + + if (ret != -EAGAIN || (req->flags & REQ_F_NOWAIT)) { + io_req_complete_failed(req, ret); + return; + } + + linked_timeout = io_prep_linked_timeout(req); + + switch (io_arm_poll_handler(req, 0)) { + case IO_APOLL_READY: + io_kbuf_recycle(req, 0); + io_req_task_queue(req); + break; + case IO_APOLL_ABORTED: + /* + * Queued up for async execution, worker will release + * submit reference when the iocb is actually submitted. + */ + io_kbuf_recycle(req, 0); + io_queue_iowq(req, NULL); + break; + case IO_APOLL_OK: + break; + } + + if (linked_timeout) + io_queue_linked_timeout(linked_timeout); +} + +static inline void io_queue_sqe(struct io_kiocb *req) + __must_hold(&req->ctx->uring_lock) +{ + int ret; + + ret = io_issue_sqe(req, IO_URING_F_NONBLOCK|IO_URING_F_COMPLETE_DEFER); + + if (req->flags & REQ_F_COMPLETE_INLINE) { + io_req_add_compl_list(req); + return; + } + /* + * We async punt it if the file wasn't marked NOWAIT, or if the file + * doesn't support non-blocking read/write attempts + */ + if (likely(!ret)) + io_arm_ltimeout(req); + else + io_queue_async(req, ret); +} + +static void io_queue_sqe_fallback(struct io_kiocb *req) + __must_hold(&req->ctx->uring_lock) +{ + if (unlikely(req->flags & REQ_F_FAIL)) { + /* + * We don't submit, fail them all, for that replace hardlinks + * with normal links. Extra REQ_F_LINK is tolerated. + */ + req->flags &= ~REQ_F_HARDLINK; + req->flags |= REQ_F_LINK; + io_req_complete_failed(req, req->cqe.res); + } else if (unlikely(req->ctx->drain_active)) { + io_drain_req(req); + } else { + int ret = io_req_prep_async(req); + + if (unlikely(ret)) + io_req_complete_failed(req, ret); + else + io_queue_iowq(req, NULL); + } +} + +/* + * Check SQE restrictions (opcode and flags). + * + * Returns 'true' if SQE is allowed, 'false' otherwise. + */ +static inline bool io_check_restriction(struct io_ring_ctx *ctx, + struct io_kiocb *req, + unsigned int sqe_flags) +{ + if (!test_bit(req->opcode, ctx->restrictions.sqe_op)) + return false; + + if ((sqe_flags & ctx->restrictions.sqe_flags_required) != + ctx->restrictions.sqe_flags_required) + return false; + + if (sqe_flags & ~(ctx->restrictions.sqe_flags_allowed | + ctx->restrictions.sqe_flags_required)) + return false; + + return true; +} + +static void io_init_req_drain(struct io_kiocb *req) +{ + struct io_ring_ctx *ctx = req->ctx; + struct io_kiocb *head = ctx->submit_state.link.head; + + ctx->drain_active = true; + if (head) { + /* + * If we need to drain a request in the middle of a link, drain + * the head request and the next request/link after the current + * link. Considering sequential execution of links, + * REQ_F_IO_DRAIN will be maintained for every request of our + * link. + */ + head->flags |= REQ_F_IO_DRAIN | REQ_F_FORCE_ASYNC; + ctx->drain_next = true; + } +} + +static int io_init_req(struct io_ring_ctx *ctx, struct io_kiocb *req, + const struct io_uring_sqe *sqe) + __must_hold(&ctx->uring_lock) +{ + const struct io_op_def *def; + unsigned int sqe_flags; + int personality; + u8 opcode; + + /* req is partially pre-initialised, see io_preinit_req() */ + req->opcode = opcode = READ_ONCE(sqe->opcode); + /* same numerical values with corresponding REQ_F_*, safe to copy */ + req->flags = sqe_flags = READ_ONCE(sqe->flags); + req->cqe.user_data = READ_ONCE(sqe->user_data); + req->file = NULL; + req->rsrc_node = NULL; + req->task = current; + + if (unlikely(opcode >= IORING_OP_LAST)) { + req->opcode = 0; + return -EINVAL; + } + def = &io_op_defs[opcode]; + if (unlikely(sqe_flags & ~SQE_COMMON_FLAGS)) { + /* enforce forwards compatibility on users */ + if (sqe_flags & ~SQE_VALID_FLAGS) + return -EINVAL; + if (sqe_flags & IOSQE_BUFFER_SELECT) { + if (!def->buffer_select) + return -EOPNOTSUPP; + req->buf_index = READ_ONCE(sqe->buf_group); + } + if (sqe_flags & IOSQE_CQE_SKIP_SUCCESS) + ctx->drain_disabled = true; + if (sqe_flags & IOSQE_IO_DRAIN) { + if (ctx->drain_disabled) + return -EOPNOTSUPP; + io_init_req_drain(req); + } + } + if (unlikely(ctx->restricted || ctx->drain_active || ctx->drain_next)) { + if (ctx->restricted && !io_check_restriction(ctx, req, sqe_flags)) + return -EACCES; + /* knock it to the slow queue path, will be drained there */ + if (ctx->drain_active) + req->flags |= REQ_F_FORCE_ASYNC; + /* if there is no link, we're at "next" request and need to drain */ + if (unlikely(ctx->drain_next) && !ctx->submit_state.link.head) { + ctx->drain_next = false; + ctx->drain_active = true; + req->flags |= REQ_F_IO_DRAIN | REQ_F_FORCE_ASYNC; + } + } + + if (!def->ioprio && sqe->ioprio) + return -EINVAL; + if (!def->iopoll && (ctx->flags & IORING_SETUP_IOPOLL)) + return -EINVAL; + + if (def->needs_file) { + struct io_submit_state *state = &ctx->submit_state; + + req->cqe.fd = READ_ONCE(sqe->fd); + + /* + * Plug now if we have more than 2 IO left after this, and the + * target is potentially a read/write to block based storage. + */ + if (state->need_plug && def->plug) { + state->plug_started = true; + state->need_plug = false; + blk_start_plug_nr_ios(&state->plug, state->submit_nr); + } + } + + personality = READ_ONCE(sqe->personality); + if (personality) { + int ret; + + req->creds = xa_load(&ctx->personalities, personality); + if (!req->creds) + return -EINVAL; + get_cred(req->creds); + ret = security_uring_override_creds(req->creds); + if (ret) { + put_cred(req->creds); + return ret; + } + req->flags |= REQ_F_CREDS; + } + + return def->prep(req, sqe); +} + +static __cold int io_submit_fail_init(const struct io_uring_sqe *sqe, + struct io_kiocb *req, int ret) +{ + struct io_ring_ctx *ctx = req->ctx; + struct io_submit_link *link = &ctx->submit_state.link; + struct io_kiocb *head = link->head; + + trace_io_uring_req_failed(sqe, ctx, req, ret); + + /* + * Avoid breaking links in the middle as it renders links with SQPOLL + * unusable. Instead of failing eagerly, continue assembling the link if + * applicable and mark the head with REQ_F_FAIL. The link flushing code + * should find the flag and handle the rest. + */ + req_fail_link_node(req, ret); + if (head && !(head->flags & REQ_F_FAIL)) + req_fail_link_node(head, -ECANCELED); + + if (!(req->flags & IO_REQ_LINK_FLAGS)) { + if (head) { + link->last->link = req; + link->head = NULL; + req = head; + } + io_queue_sqe_fallback(req); + return ret; + } + + if (head) + link->last->link = req; + else + link->head = req; + link->last = req; + return 0; +} + +static inline int io_submit_sqe(struct io_ring_ctx *ctx, struct io_kiocb *req, + const struct io_uring_sqe *sqe) + __must_hold(&ctx->uring_lock) +{ + struct io_submit_link *link = &ctx->submit_state.link; + int ret; + + ret = io_init_req(ctx, req, sqe); + if (unlikely(ret)) + return io_submit_fail_init(sqe, req, ret); + + /* don't need @sqe from now on */ + trace_io_uring_submit_sqe(ctx, req, req->cqe.user_data, req->opcode, + req->flags, true, + ctx->flags & IORING_SETUP_SQPOLL); + + /* + * If we already have a head request, queue this one for async + * submittal once the head completes. If we don't have a head but + * IOSQE_IO_LINK is set in the sqe, start a new head. This one will be + * submitted sync once the chain is complete. If none of those + * conditions are true (normal request), then just queue it. + */ + if (unlikely(link->head)) { + ret = io_req_prep_async(req); + if (unlikely(ret)) + return io_submit_fail_init(sqe, req, ret); + + trace_io_uring_link(ctx, req, link->head); + link->last->link = req; + link->last = req; + + if (req->flags & IO_REQ_LINK_FLAGS) + return 0; + /* last request of the link, flush it */ + req = link->head; + link->head = NULL; + if (req->flags & (REQ_F_FORCE_ASYNC | REQ_F_FAIL)) + goto fallback; + + } else if (unlikely(req->flags & (IO_REQ_LINK_FLAGS | + REQ_F_FORCE_ASYNC | REQ_F_FAIL))) { + if (req->flags & IO_REQ_LINK_FLAGS) { + link->head = req; + link->last = req; + } else { +fallback: + io_queue_sqe_fallback(req); + } + return 0; + } + + io_queue_sqe(req); + return 0; +} + +/* + * Batched submission is done, ensure local IO is flushed out. + */ +static void io_submit_state_end(struct io_ring_ctx *ctx) +{ + struct io_submit_state *state = &ctx->submit_state; + + if (unlikely(state->link.head)) + io_queue_sqe_fallback(state->link.head); + /* flush only after queuing links as they can generate completions */ + io_submit_flush_completions(ctx); + if (state->plug_started) + blk_finish_plug(&state->plug); +} + +/* + * Start submission side cache. + */ +static void io_submit_state_start(struct io_submit_state *state, + unsigned int max_ios) +{ + state->plug_started = false; + state->need_plug = max_ios > 2; + state->submit_nr = max_ios; + /* set only head, no need to init link_last in advance */ + state->link.head = NULL; +} + +static void io_commit_sqring(struct io_ring_ctx *ctx) +{ + struct io_rings *rings = ctx->rings; + + /* + * Ensure any loads from the SQEs are done at this point, + * since once we write the new head, the application could + * write new data to them. + */ + smp_store_release(&rings->sq.head, ctx->cached_sq_head); +} + +/* + * Fetch an sqe, if one is available. Note this returns a pointer to memory + * that is mapped by userspace. This means that care needs to be taken to + * ensure that reads are stable, as we cannot rely on userspace always + * being a good citizen. If members of the sqe are validated and then later + * used, it's important that those reads are done through READ_ONCE() to + * prevent a re-load down the line. + */ +static const struct io_uring_sqe *io_get_sqe(struct io_ring_ctx *ctx) +{ + unsigned head, mask = ctx->sq_entries - 1; + unsigned sq_idx = ctx->cached_sq_head++ & mask; + + /* + * The cached sq head (or cq tail) serves two purposes: + * + * 1) allows us to batch the cost of updating the user visible + * head updates. + * 2) allows the kernel side to track the head on its own, even + * though the application is the one updating it. + */ + head = READ_ONCE(ctx->sq_array[sq_idx]); + if (likely(head < ctx->sq_entries)) { + /* double index for 128-byte SQEs, twice as long */ + if (ctx->flags & IORING_SETUP_SQE128) + head <<= 1; + return &ctx->sq_sqes[head]; + } + + /* drop invalid entries */ + ctx->cq_extra--; + WRITE_ONCE(ctx->rings->sq_dropped, + READ_ONCE(ctx->rings->sq_dropped) + 1); + return NULL; +} + +static int io_submit_sqes(struct io_ring_ctx *ctx, unsigned int nr) + __must_hold(&ctx->uring_lock) +{ + unsigned int entries = io_sqring_entries(ctx); + unsigned int left; + int ret; + + if (unlikely(!entries)) + return 0; + /* make sure SQ entry isn't read before tail */ + ret = left = min3(nr, ctx->sq_entries, entries); + io_get_task_refs(left); + io_submit_state_start(&ctx->submit_state, left); + + do { + const struct io_uring_sqe *sqe; + struct io_kiocb *req; + + if (unlikely(!io_alloc_req_refill(ctx))) + break; + req = io_alloc_req(ctx); + sqe = io_get_sqe(ctx); + if (unlikely(!sqe)) { + io_req_add_to_cache(req, ctx); + break; + } + + /* + * Continue submitting even for sqe failure if the + * ring was setup with IORING_SETUP_SUBMIT_ALL + */ + if (unlikely(io_submit_sqe(ctx, req, sqe)) && + !(ctx->flags & IORING_SETUP_SUBMIT_ALL)) { + left--; + break; + } + } while (--left); + + if (unlikely(left)) { + ret -= left; + /* try again if it submitted nothing and can't allocate a req */ + if (!ret && io_req_cache_empty(ctx)) + ret = -EAGAIN; + current->io_uring->cached_refs += left; + } + + io_submit_state_end(ctx); + /* Commit SQ ring head once we've consumed and submitted all SQEs */ + io_commit_sqring(ctx); + return ret; +} + +static inline bool io_sqd_events_pending(struct io_sq_data *sqd) +{ + return READ_ONCE(sqd->state); +} + +static int __io_sq_thread(struct io_ring_ctx *ctx, bool cap_entries) +{ + unsigned int to_submit; + int ret = 0; + + to_submit = io_sqring_entries(ctx); + /* if we're handling multiple rings, cap submit size for fairness */ + if (cap_entries && to_submit > IORING_SQPOLL_CAP_ENTRIES_VALUE) + to_submit = IORING_SQPOLL_CAP_ENTRIES_VALUE; + + if (!wq_list_empty(&ctx->iopoll_list) || to_submit) { + const struct cred *creds = NULL; + + if (ctx->sq_creds != current_cred()) + creds = override_creds(ctx->sq_creds); + + mutex_lock(&ctx->uring_lock); + if (!wq_list_empty(&ctx->iopoll_list)) + io_do_iopoll(ctx, true); + + /* + * Don't submit if refs are dying, good for io_uring_register(), + * but also it is relied upon by io_ring_exit_work() + */ + if (to_submit && likely(!percpu_ref_is_dying(&ctx->refs)) && + !(ctx->flags & IORING_SETUP_R_DISABLED)) + ret = io_submit_sqes(ctx, to_submit); + mutex_unlock(&ctx->uring_lock); + + if (to_submit && wq_has_sleeper(&ctx->sqo_sq_wait)) + wake_up(&ctx->sqo_sq_wait); + if (creds) + revert_creds(creds); + } + + return ret; +} + +static __cold void io_sqd_update_thread_idle(struct io_sq_data *sqd) +{ + struct io_ring_ctx *ctx; + unsigned sq_thread_idle = 0; + + list_for_each_entry(ctx, &sqd->ctx_list, sqd_list) + sq_thread_idle = max(sq_thread_idle, ctx->sq_thread_idle); + sqd->sq_thread_idle = sq_thread_idle; +} + +static bool io_sqd_handle_event(struct io_sq_data *sqd) +{ + bool did_sig = false; + struct ksignal ksig; + + if (test_bit(IO_SQ_THREAD_SHOULD_PARK, &sqd->state) || + signal_pending(current)) { + mutex_unlock(&sqd->lock); + if (signal_pending(current)) + did_sig = get_signal(&ksig); + cond_resched(); + mutex_lock(&sqd->lock); + } + return did_sig || test_bit(IO_SQ_THREAD_SHOULD_STOP, &sqd->state); +} + +static int io_sq_thread(void *data) +{ + struct io_sq_data *sqd = data; + struct io_ring_ctx *ctx; + unsigned long timeout = 0; + char buf[TASK_COMM_LEN]; + DEFINE_WAIT(wait); + + snprintf(buf, sizeof(buf), "iou-sqp-%d", sqd->task_pid); + set_task_comm(current, buf); + + if (sqd->sq_cpu != -1) + set_cpus_allowed_ptr(current, cpumask_of(sqd->sq_cpu)); + else + set_cpus_allowed_ptr(current, cpu_online_mask); + current->flags |= PF_NO_SETAFFINITY; + + audit_alloc_kernel(current); + + mutex_lock(&sqd->lock); + while (1) { + bool cap_entries, sqt_spin = false; + + if (io_sqd_events_pending(sqd) || signal_pending(current)) { + if (io_sqd_handle_event(sqd)) + break; + timeout = jiffies + sqd->sq_thread_idle; + } + + cap_entries = !list_is_singular(&sqd->ctx_list); + list_for_each_entry(ctx, &sqd->ctx_list, sqd_list) { + int ret = __io_sq_thread(ctx, cap_entries); + + if (!sqt_spin && (ret > 0 || !wq_list_empty(&ctx->iopoll_list))) + sqt_spin = true; + } + if (io_run_task_work()) + sqt_spin = true; + + if (sqt_spin || !time_after(jiffies, timeout)) { + cond_resched(); + if (sqt_spin) + timeout = jiffies + sqd->sq_thread_idle; + continue; + } + + prepare_to_wait(&sqd->wait, &wait, TASK_INTERRUPTIBLE); + if (!io_sqd_events_pending(sqd) && !task_work_pending(current)) { + bool needs_sched = true; + + list_for_each_entry(ctx, &sqd->ctx_list, sqd_list) { + atomic_or(IORING_SQ_NEED_WAKEUP, + &ctx->rings->sq_flags); + if ((ctx->flags & IORING_SETUP_IOPOLL) && + !wq_list_empty(&ctx->iopoll_list)) { + needs_sched = false; + break; + } + + /* + * Ensure the store of the wakeup flag is not + * reordered with the load of the SQ tail + */ + smp_mb__after_atomic(); + + if (io_sqring_entries(ctx)) { + needs_sched = false; + break; + } + } + + if (needs_sched) { + mutex_unlock(&sqd->lock); + schedule(); + mutex_lock(&sqd->lock); + } + list_for_each_entry(ctx, &sqd->ctx_list, sqd_list) + atomic_andnot(IORING_SQ_NEED_WAKEUP, + &ctx->rings->sq_flags); + } + + finish_wait(&sqd->wait, &wait); + timeout = jiffies + sqd->sq_thread_idle; + } + + io_uring_cancel_generic(true, sqd); + sqd->thread = NULL; + list_for_each_entry(ctx, &sqd->ctx_list, sqd_list) + atomic_or(IORING_SQ_NEED_WAKEUP, &ctx->rings->sq_flags); + io_run_task_work(); + mutex_unlock(&sqd->lock); + + audit_free(current); + + complete(&sqd->exited); + do_exit(0); +} + +struct io_wait_queue { + struct wait_queue_entry wq; + struct io_ring_ctx *ctx; + unsigned cq_tail; + unsigned nr_timeouts; +}; + +static inline bool io_should_wake(struct io_wait_queue *iowq) +{ + struct io_ring_ctx *ctx = iowq->ctx; + int dist = READ_ONCE(ctx->rings->cq.tail) - (int) iowq->cq_tail; + + /* + * Wake up if we have enough events, or if a timeout occurred since we + * started waiting. For timeouts, we always want to return to userspace, + * regardless of event count. + */ + return dist >= 0 || atomic_read(&ctx->cq_timeouts) != iowq->nr_timeouts; +} + +static int io_wake_function(struct wait_queue_entry *curr, unsigned int mode, + int wake_flags, void *key) +{ + struct io_wait_queue *iowq = container_of(curr, struct io_wait_queue, + wq); + + /* + * Cannot safely flush overflowed CQEs from here, ensure we wake up + * the task, and the next invocation will do it. + */ + if (io_should_wake(iowq) || + test_bit(IO_CHECK_CQ_OVERFLOW_BIT, &iowq->ctx->check_cq)) + return autoremove_wake_function(curr, mode, wake_flags, key); + return -1; +} + +static int io_run_task_work_sig(void) +{ + if (io_run_task_work()) + return 1; + if (test_thread_flag(TIF_NOTIFY_SIGNAL)) + return -ERESTARTSYS; + if (task_sigpending(current)) + return -EINTR; + return 0; +} + +/* when returns >0, the caller should retry */ +static inline int io_cqring_wait_schedule(struct io_ring_ctx *ctx, + struct io_wait_queue *iowq, + ktime_t *timeout) +{ + int ret; + unsigned long check_cq; + + /* make sure we run task_work before checking for signals */ + ret = io_run_task_work_sig(); + if (ret || io_should_wake(iowq)) + return ret; + check_cq = READ_ONCE(ctx->check_cq); + /* let the caller flush overflows, retry */ + if (check_cq & BIT(IO_CHECK_CQ_OVERFLOW_BIT)) + return 1; + if (unlikely(check_cq & BIT(IO_CHECK_CQ_DROPPED_BIT))) + return -EBADR; + if (!schedule_hrtimeout(timeout, HRTIMER_MODE_ABS)) + return -ETIME; + return 1; +} + +/* + * Wait until events become available, if we don't already have some. The + * application must reap them itself, as they reside on the shared cq ring. + */ +static int io_cqring_wait(struct io_ring_ctx *ctx, int min_events, + const sigset_t __user *sig, size_t sigsz, + struct __kernel_timespec __user *uts) +{ + struct io_wait_queue iowq; + struct io_rings *rings = ctx->rings; + ktime_t timeout = KTIME_MAX; + int ret; + + do { + io_cqring_overflow_flush(ctx); + /* if user messes with these they will just get an early return */ + if (__io_cqring_events_user(ctx) >= min_events) + return 0; + if (!io_run_task_work()) + break; + } while (1); + + if (sig) { +#ifdef CONFIG_COMPAT + if (in_compat_syscall()) + ret = set_compat_user_sigmask((const compat_sigset_t __user *)sig, + sigsz); + else +#endif + ret = set_user_sigmask(sig, sigsz); + + if (ret) + return ret; + } + + if (uts) { + struct timespec64 ts; + + if (get_timespec64(&ts, uts)) + return -EFAULT; + timeout = ktime_add_ns(timespec64_to_ktime(ts), ktime_get_ns()); + } + + init_waitqueue_func_entry(&iowq.wq, io_wake_function); + iowq.wq.private = current; + INIT_LIST_HEAD(&iowq.wq.entry); + iowq.ctx = ctx; + iowq.nr_timeouts = atomic_read(&ctx->cq_timeouts); + iowq.cq_tail = READ_ONCE(ctx->rings->cq.head) + min_events; + + trace_io_uring_cqring_wait(ctx, min_events); + do { + /* if we can't even flush overflow, don't wait for more */ + if (!io_cqring_overflow_flush(ctx)) { + ret = -EBUSY; + break; + } + prepare_to_wait_exclusive(&ctx->cq_wait, &iowq.wq, + TASK_INTERRUPTIBLE); + ret = io_cqring_wait_schedule(ctx, &iowq, &timeout); + cond_resched(); + } while (ret > 0); + + finish_wait(&ctx->cq_wait, &iowq.wq); + restore_saved_sigmask_unless(ret == -EINTR); + + return READ_ONCE(rings->cq.head) == READ_ONCE(rings->cq.tail) ? ret : 0; +} + +static void io_free_page_table(void **table, size_t size) +{ + unsigned i, nr_tables = DIV_ROUND_UP(size, PAGE_SIZE); + + for (i = 0; i < nr_tables; i++) + kfree(table[i]); + kfree(table); +} + +static __cold void **io_alloc_page_table(size_t size) +{ + unsigned i, nr_tables = DIV_ROUND_UP(size, PAGE_SIZE); + size_t init_size = size; + void **table; + + table = kcalloc(nr_tables, sizeof(*table), GFP_KERNEL_ACCOUNT); + if (!table) + return NULL; + + for (i = 0; i < nr_tables; i++) { + unsigned int this_size = min_t(size_t, size, PAGE_SIZE); + + table[i] = kzalloc(this_size, GFP_KERNEL_ACCOUNT); + if (!table[i]) { + io_free_page_table(table, init_size); + return NULL; + } + size -= this_size; + } + return table; +} + +static void io_rsrc_node_destroy(struct io_rsrc_node *ref_node) +{ + percpu_ref_exit(&ref_node->refs); + kfree(ref_node); +} + +static __cold void io_rsrc_node_ref_zero(struct percpu_ref *ref) +{ + struct io_rsrc_node *node = container_of(ref, struct io_rsrc_node, refs); + struct io_ring_ctx *ctx = node->rsrc_data->ctx; + unsigned long flags; + bool first_add = false; + unsigned long delay = HZ; + + spin_lock_irqsave(&ctx->rsrc_ref_lock, flags); + node->done = true; + + /* if we are mid-quiesce then do not delay */ + if (node->rsrc_data->quiesce) + delay = 0; + + while (!list_empty(&ctx->rsrc_ref_list)) { + node = list_first_entry(&ctx->rsrc_ref_list, + struct io_rsrc_node, node); + /* recycle ref nodes in order */ + if (!node->done) + break; + list_del(&node->node); + first_add |= llist_add(&node->llist, &ctx->rsrc_put_llist); + } + spin_unlock_irqrestore(&ctx->rsrc_ref_lock, flags); + + if (first_add) + mod_delayed_work(system_wq, &ctx->rsrc_put_work, delay); +} + +static struct io_rsrc_node *io_rsrc_node_alloc(void) +{ + struct io_rsrc_node *ref_node; + + ref_node = kzalloc(sizeof(*ref_node), GFP_KERNEL); + if (!ref_node) + return NULL; + + if (percpu_ref_init(&ref_node->refs, io_rsrc_node_ref_zero, + 0, GFP_KERNEL)) { + kfree(ref_node); + return NULL; + } + INIT_LIST_HEAD(&ref_node->node); + INIT_LIST_HEAD(&ref_node->rsrc_list); + ref_node->done = false; + return ref_node; +} + +static void io_rsrc_node_switch(struct io_ring_ctx *ctx, + struct io_rsrc_data *data_to_kill) + __must_hold(&ctx->uring_lock) +{ + WARN_ON_ONCE(!ctx->rsrc_backup_node); + WARN_ON_ONCE(data_to_kill && !ctx->rsrc_node); + + io_rsrc_refs_drop(ctx); + + if (data_to_kill) { + struct io_rsrc_node *rsrc_node = ctx->rsrc_node; + + rsrc_node->rsrc_data = data_to_kill; + spin_lock_irq(&ctx->rsrc_ref_lock); + list_add_tail(&rsrc_node->node, &ctx->rsrc_ref_list); + spin_unlock_irq(&ctx->rsrc_ref_lock); + + atomic_inc(&data_to_kill->refs); + percpu_ref_kill(&rsrc_node->refs); + ctx->rsrc_node = NULL; + } + + if (!ctx->rsrc_node) { + ctx->rsrc_node = ctx->rsrc_backup_node; + ctx->rsrc_backup_node = NULL; + } +} + +static int io_rsrc_node_switch_start(struct io_ring_ctx *ctx) +{ + if (ctx->rsrc_backup_node) + return 0; + ctx->rsrc_backup_node = io_rsrc_node_alloc(); + return ctx->rsrc_backup_node ? 0 : -ENOMEM; +} + +static __cold int io_rsrc_ref_quiesce(struct io_rsrc_data *data, + struct io_ring_ctx *ctx) +{ + int ret; + + /* As we may drop ->uring_lock, other task may have started quiesce */ + if (data->quiesce) + return -ENXIO; + + data->quiesce = true; + do { + ret = io_rsrc_node_switch_start(ctx); + if (ret) + break; + io_rsrc_node_switch(ctx, data); + + /* kill initial ref, already quiesced if zero */ + if (atomic_dec_and_test(&data->refs)) + break; + mutex_unlock(&ctx->uring_lock); + flush_delayed_work(&ctx->rsrc_put_work); + ret = wait_for_completion_interruptible(&data->done); + if (!ret) { + mutex_lock(&ctx->uring_lock); + if (atomic_read(&data->refs) > 0) { + /* + * it has been revived by another thread while + * we were unlocked + */ + mutex_unlock(&ctx->uring_lock); + } else { + break; + } + } + + atomic_inc(&data->refs); + /* wait for all works potentially completing data->done */ + flush_delayed_work(&ctx->rsrc_put_work); + reinit_completion(&data->done); + + ret = io_run_task_work_sig(); + mutex_lock(&ctx->uring_lock); + } while (ret >= 0); + data->quiesce = false; + + return ret; +} + +static u64 *io_get_tag_slot(struct io_rsrc_data *data, unsigned int idx) +{ + unsigned int off = idx & IO_RSRC_TAG_TABLE_MASK; + unsigned int table_idx = idx >> IO_RSRC_TAG_TABLE_SHIFT; + + return &data->tags[table_idx][off]; +} + +static void io_rsrc_data_free(struct io_rsrc_data *data) +{ + size_t size = data->nr * sizeof(data->tags[0][0]); + + if (data->tags) + io_free_page_table((void **)data->tags, size); + kfree(data); +} + +static __cold int io_rsrc_data_alloc(struct io_ring_ctx *ctx, rsrc_put_fn *do_put, + u64 __user *utags, unsigned nr, + struct io_rsrc_data **pdata) +{ + struct io_rsrc_data *data; + int ret = -ENOMEM; + unsigned i; + + data = kzalloc(sizeof(*data), GFP_KERNEL); + if (!data) + return -ENOMEM; + data->tags = (u64 **)io_alloc_page_table(nr * sizeof(data->tags[0][0])); + if (!data->tags) { + kfree(data); + return -ENOMEM; + } + + data->nr = nr; + data->ctx = ctx; + data->do_put = do_put; + if (utags) { + ret = -EFAULT; + for (i = 0; i < nr; i++) { + u64 *tag_slot = io_get_tag_slot(data, i); + + if (copy_from_user(tag_slot, &utags[i], + sizeof(*tag_slot))) + goto fail; + } + } + + atomic_set(&data->refs, 1); + init_completion(&data->done); + *pdata = data; + return 0; +fail: + io_rsrc_data_free(data); + return ret; +} + +static bool io_alloc_file_tables(struct io_file_table *table, unsigned nr_files) +{ + table->files = kvcalloc(nr_files, sizeof(table->files[0]), + GFP_KERNEL_ACCOUNT); + if (unlikely(!table->files)) + return false; + + table->bitmap = bitmap_zalloc(nr_files, GFP_KERNEL_ACCOUNT); + if (unlikely(!table->bitmap)) { + kvfree(table->files); + return false; + } + + return true; +} + +static void io_free_file_tables(struct io_file_table *table) +{ + kvfree(table->files); + bitmap_free(table->bitmap); + table->files = NULL; + table->bitmap = NULL; +} + +static inline void io_file_bitmap_set(struct io_file_table *table, int bit) +{ + WARN_ON_ONCE(test_bit(bit, table->bitmap)); + __set_bit(bit, table->bitmap); + table->alloc_hint = bit + 1; +} + +static inline void io_file_bitmap_clear(struct io_file_table *table, int bit) +{ + __clear_bit(bit, table->bitmap); + table->alloc_hint = bit; +} + +static void __io_sqe_files_unregister(struct io_ring_ctx *ctx) +{ +#if !defined(IO_URING_SCM_ALL) + int i; + + for (i = 0; i < ctx->nr_user_files; i++) { + struct file *file = io_file_from_index(ctx, i); + + if (!file) + continue; + if (io_fixed_file_slot(&ctx->file_table, i)->file_ptr & FFS_SCM) + continue; + io_file_bitmap_clear(&ctx->file_table, i); + fput(file); + } +#endif + +#if defined(CONFIG_UNIX) + if (ctx->ring_sock) { + struct sock *sock = ctx->ring_sock->sk; + struct sk_buff *skb; + + while ((skb = skb_dequeue(&sock->sk_receive_queue)) != NULL) + kfree_skb(skb); + } +#endif + io_free_file_tables(&ctx->file_table); + io_rsrc_data_free(ctx->file_data); + ctx->file_data = NULL; + ctx->nr_user_files = 0; +} + +static int io_sqe_files_unregister(struct io_ring_ctx *ctx) +{ + unsigned nr = ctx->nr_user_files; + int ret; + + if (!ctx->file_data) + return -ENXIO; + + /* + * Quiesce may unlock ->uring_lock, and while it's not held + * prevent new requests using the table. + */ + ctx->nr_user_files = 0; + ret = io_rsrc_ref_quiesce(ctx->file_data, ctx); + ctx->nr_user_files = nr; + if (!ret) + __io_sqe_files_unregister(ctx); + return ret; +} + +static void io_sq_thread_unpark(struct io_sq_data *sqd) + __releases(&sqd->lock) +{ + WARN_ON_ONCE(sqd->thread == current); + + /* + * Do the dance but not conditional clear_bit() because it'd race with + * other threads incrementing park_pending and setting the bit. + */ + clear_bit(IO_SQ_THREAD_SHOULD_PARK, &sqd->state); + if (atomic_dec_return(&sqd->park_pending)) + set_bit(IO_SQ_THREAD_SHOULD_PARK, &sqd->state); + mutex_unlock(&sqd->lock); +} + +static void io_sq_thread_park(struct io_sq_data *sqd) + __acquires(&sqd->lock) +{ + WARN_ON_ONCE(sqd->thread == current); + + atomic_inc(&sqd->park_pending); + set_bit(IO_SQ_THREAD_SHOULD_PARK, &sqd->state); + mutex_lock(&sqd->lock); + if (sqd->thread) + wake_up_process(sqd->thread); +} + +static void io_sq_thread_stop(struct io_sq_data *sqd) +{ + WARN_ON_ONCE(sqd->thread == current); + WARN_ON_ONCE(test_bit(IO_SQ_THREAD_SHOULD_STOP, &sqd->state)); + + set_bit(IO_SQ_THREAD_SHOULD_STOP, &sqd->state); + mutex_lock(&sqd->lock); + if (sqd->thread) + wake_up_process(sqd->thread); + mutex_unlock(&sqd->lock); + wait_for_completion(&sqd->exited); +} + +static void io_put_sq_data(struct io_sq_data *sqd) +{ + if (refcount_dec_and_test(&sqd->refs)) { + WARN_ON_ONCE(atomic_read(&sqd->park_pending)); + + io_sq_thread_stop(sqd); + kfree(sqd); + } +} + +static void io_sq_thread_finish(struct io_ring_ctx *ctx) +{ + struct io_sq_data *sqd = ctx->sq_data; + + if (sqd) { + io_sq_thread_park(sqd); + list_del_init(&ctx->sqd_list); + io_sqd_update_thread_idle(sqd); + io_sq_thread_unpark(sqd); + + io_put_sq_data(sqd); + ctx->sq_data = NULL; + } +} + +static struct io_sq_data *io_attach_sq_data(struct io_uring_params *p) +{ + struct io_ring_ctx *ctx_attach; + struct io_sq_data *sqd; + struct fd f; + + f = fdget(p->wq_fd); + if (!f.file) + return ERR_PTR(-ENXIO); + if (f.file->f_op != &io_uring_fops) { + fdput(f); + return ERR_PTR(-EINVAL); + } + + ctx_attach = f.file->private_data; + sqd = ctx_attach->sq_data; + if (!sqd) { + fdput(f); + return ERR_PTR(-EINVAL); + } + if (sqd->task_tgid != current->tgid) { + fdput(f); + return ERR_PTR(-EPERM); + } + + refcount_inc(&sqd->refs); + fdput(f); + return sqd; +} + +static struct io_sq_data *io_get_sq_data(struct io_uring_params *p, + bool *attached) +{ + struct io_sq_data *sqd; + + *attached = false; + if (p->flags & IORING_SETUP_ATTACH_WQ) { + sqd = io_attach_sq_data(p); + if (!IS_ERR(sqd)) { + *attached = true; + return sqd; + } + /* fall through for EPERM case, setup new sqd/task */ + if (PTR_ERR(sqd) != -EPERM) + return sqd; + } + + sqd = kzalloc(sizeof(*sqd), GFP_KERNEL); + if (!sqd) + return ERR_PTR(-ENOMEM); + + atomic_set(&sqd->park_pending, 0); + refcount_set(&sqd->refs, 1); + INIT_LIST_HEAD(&sqd->ctx_list); + mutex_init(&sqd->lock); + init_waitqueue_head(&sqd->wait); + init_completion(&sqd->exited); + return sqd; +} + +/* + * Ensure the UNIX gc is aware of our file set, so we are certain that + * the io_uring can be safely unregistered on process exit, even if we have + * loops in the file referencing. We account only files that can hold other + * files because otherwise they can't form a loop and so are not interesting + * for GC. + */ +static int io_scm_file_account(struct io_ring_ctx *ctx, struct file *file) +{ +#if defined(CONFIG_UNIX) + struct sock *sk = ctx->ring_sock->sk; + struct sk_buff_head *head = &sk->sk_receive_queue; + struct scm_fp_list *fpl; + struct sk_buff *skb; + + if (likely(!io_file_need_scm(file))) + return 0; + + /* + * See if we can merge this file into an existing skb SCM_RIGHTS + * file set. If there's no room, fall back to allocating a new skb + * and filling it in. + */ + spin_lock_irq(&head->lock); + skb = skb_peek(head); + if (skb && UNIXCB(skb).fp->count < SCM_MAX_FD) + __skb_unlink(skb, head); + else + skb = NULL; + spin_unlock_irq(&head->lock); + + if (!skb) { + fpl = kzalloc(sizeof(*fpl), GFP_KERNEL); + if (!fpl) + return -ENOMEM; + + skb = alloc_skb(0, GFP_KERNEL); + if (!skb) { + kfree(fpl); + return -ENOMEM; + } + + fpl->user = get_uid(current_user()); + fpl->max = SCM_MAX_FD; + fpl->count = 0; + + UNIXCB(skb).fp = fpl; + skb->sk = sk; + skb->scm_io_uring = 1; + skb->destructor = unix_destruct_scm; + refcount_add(skb->truesize, &sk->sk_wmem_alloc); + } + + fpl = UNIXCB(skb).fp; + fpl->fp[fpl->count++] = get_file(file); + unix_inflight(fpl->user, file); + skb_queue_head(head, skb); + fput(file); +#endif + return 0; +} + +static void io_rsrc_file_put(struct io_ring_ctx *ctx, struct io_rsrc_put *prsrc) +{ + struct file *file = prsrc->file; +#if defined(CONFIG_UNIX) + struct sock *sock = ctx->ring_sock->sk; + struct sk_buff_head list, *head = &sock->sk_receive_queue; + struct sk_buff *skb; + int i; + + if (!io_file_need_scm(file)) { + fput(file); + return; + } + + __skb_queue_head_init(&list); + + /* + * Find the skb that holds this file in its SCM_RIGHTS. When found, + * remove this entry and rearrange the file array. + */ + skb = skb_dequeue(head); + while (skb) { + struct scm_fp_list *fp; + + fp = UNIXCB(skb).fp; + for (i = 0; i < fp->count; i++) { + int left; + + if (fp->fp[i] != file) + continue; + + unix_notinflight(fp->user, fp->fp[i]); + left = fp->count - 1 - i; + if (left) { + memmove(&fp->fp[i], &fp->fp[i + 1], + left * sizeof(struct file *)); + } + fp->count--; + if (!fp->count) { + kfree_skb(skb); + skb = NULL; + } else { + __skb_queue_tail(&list, skb); + } + fput(file); + file = NULL; + break; + } + + if (!file) + break; + + __skb_queue_tail(&list, skb); + + skb = skb_dequeue(head); + } + + if (skb_peek(&list)) { + spin_lock_irq(&head->lock); + while ((skb = __skb_dequeue(&list)) != NULL) + __skb_queue_tail(head, skb); + spin_unlock_irq(&head->lock); + } +#else + fput(file); +#endif +} + +static void __io_rsrc_put_work(struct io_rsrc_node *ref_node) +{ + struct io_rsrc_data *rsrc_data = ref_node->rsrc_data; + struct io_ring_ctx *ctx = rsrc_data->ctx; + struct io_rsrc_put *prsrc, *tmp; + + list_for_each_entry_safe(prsrc, tmp, &ref_node->rsrc_list, list) { + list_del(&prsrc->list); + + if (prsrc->tag) { + if (ctx->flags & IORING_SETUP_IOPOLL) + mutex_lock(&ctx->uring_lock); + + spin_lock(&ctx->completion_lock); + io_fill_cqe_aux(ctx, prsrc->tag, 0, 0); + io_commit_cqring(ctx); + spin_unlock(&ctx->completion_lock); + io_cqring_ev_posted(ctx); + + if (ctx->flags & IORING_SETUP_IOPOLL) + mutex_unlock(&ctx->uring_lock); + } + + rsrc_data->do_put(ctx, prsrc); + kfree(prsrc); + } + + io_rsrc_node_destroy(ref_node); + if (atomic_dec_and_test(&rsrc_data->refs)) + complete(&rsrc_data->done); +} + +static void io_rsrc_put_work(struct work_struct *work) +{ + struct io_ring_ctx *ctx; + struct llist_node *node; + + ctx = container_of(work, struct io_ring_ctx, rsrc_put_work.work); + node = llist_del_all(&ctx->rsrc_put_llist); + + while (node) { + struct io_rsrc_node *ref_node; + struct llist_node *next = node->next; + + ref_node = llist_entry(node, struct io_rsrc_node, llist); + __io_rsrc_put_work(ref_node); + node = next; + } +} + +static int io_sqe_files_register(struct io_ring_ctx *ctx, void __user *arg, + unsigned nr_args, u64 __user *tags) +{ + __s32 __user *fds = (__s32 __user *) arg; + struct file *file; + int fd, ret; + unsigned i; + + if (ctx->file_data) + return -EBUSY; + if (!nr_args) + return -EINVAL; + if (nr_args > IORING_MAX_FIXED_FILES) + return -EMFILE; + if (nr_args > rlimit(RLIMIT_NOFILE)) + return -EMFILE; + ret = io_rsrc_node_switch_start(ctx); + if (ret) + return ret; + ret = io_rsrc_data_alloc(ctx, io_rsrc_file_put, tags, nr_args, + &ctx->file_data); + if (ret) + return ret; + + if (!io_alloc_file_tables(&ctx->file_table, nr_args)) { + io_rsrc_data_free(ctx->file_data); + ctx->file_data = NULL; + return -ENOMEM; + } + + for (i = 0; i < nr_args; i++, ctx->nr_user_files++) { + struct io_fixed_file *file_slot; + + if (fds && copy_from_user(&fd, &fds[i], sizeof(fd))) { + ret = -EFAULT; + goto fail; + } + /* allow sparse sets */ + if (!fds || fd == -1) { + ret = -EINVAL; + if (unlikely(*io_get_tag_slot(ctx->file_data, i))) + goto fail; + continue; + } + + file = fget(fd); + ret = -EBADF; + if (unlikely(!file)) + goto fail; + + /* + * Don't allow io_uring instances to be registered. If UNIX + * isn't enabled, then this causes a reference cycle and this + * instance can never get freed. If UNIX is enabled we'll + * handle it just fine, but there's still no point in allowing + * a ring fd as it doesn't support regular read/write anyway. + */ + if (file->f_op == &io_uring_fops) { + fput(file); + goto fail; + } + ret = io_scm_file_account(ctx, file); + if (ret) { + fput(file); + goto fail; + } + file_slot = io_fixed_file_slot(&ctx->file_table, i); + io_fixed_file_set(file_slot, file); + io_file_bitmap_set(&ctx->file_table, i); + } + + io_rsrc_node_switch(ctx, NULL); + return 0; +fail: + __io_sqe_files_unregister(ctx); + return ret; +} + +static int io_queue_rsrc_removal(struct io_rsrc_data *data, unsigned idx, + struct io_rsrc_node *node, void *rsrc) +{ + u64 *tag_slot = io_get_tag_slot(data, idx); + struct io_rsrc_put *prsrc; + + prsrc = kzalloc(sizeof(*prsrc), GFP_KERNEL); + if (!prsrc) + return -ENOMEM; + + prsrc->tag = *tag_slot; + *tag_slot = 0; + prsrc->rsrc = rsrc; + list_add(&prsrc->list, &node->rsrc_list); + return 0; +} + +static int io_install_fixed_file(struct io_kiocb *req, struct file *file, + unsigned int issue_flags, u32 slot_index) + __must_hold(&req->ctx->uring_lock) +{ + struct io_ring_ctx *ctx = req->ctx; + bool needs_switch = false; + struct io_fixed_file *file_slot; + int ret; + + if (file->f_op == &io_uring_fops) + return -EBADF; + if (!ctx->file_data) + return -ENXIO; + if (slot_index >= ctx->nr_user_files) + return -EINVAL; + + slot_index = array_index_nospec(slot_index, ctx->nr_user_files); + file_slot = io_fixed_file_slot(&ctx->file_table, slot_index); + + if (file_slot->file_ptr) { + struct file *old_file; + + ret = io_rsrc_node_switch_start(ctx); + if (ret) + goto err; + + old_file = (struct file *)(file_slot->file_ptr & FFS_MASK); + ret = io_queue_rsrc_removal(ctx->file_data, slot_index, + ctx->rsrc_node, old_file); + if (ret) + goto err; + file_slot->file_ptr = 0; + io_file_bitmap_clear(&ctx->file_table, slot_index); + needs_switch = true; + } + + ret = io_scm_file_account(ctx, file); + if (!ret) { + *io_get_tag_slot(ctx->file_data, slot_index) = 0; + io_fixed_file_set(file_slot, file); + io_file_bitmap_set(&ctx->file_table, slot_index); + } +err: + if (needs_switch) + io_rsrc_node_switch(ctx, ctx->file_data); + return ret; +} + +static int __io_close_fixed(struct io_kiocb *req, unsigned int issue_flags, + unsigned int offset) +{ + struct io_ring_ctx *ctx = req->ctx; + struct io_fixed_file *file_slot; + struct file *file; + int ret; + + io_ring_submit_lock(ctx, issue_flags); + ret = -ENXIO; + if (unlikely(!ctx->file_data)) + goto out; + ret = -EINVAL; + if (offset >= ctx->nr_user_files) + goto out; + ret = io_rsrc_node_switch_start(ctx); + if (ret) + goto out; + + offset = array_index_nospec(offset, ctx->nr_user_files); + file_slot = io_fixed_file_slot(&ctx->file_table, offset); + ret = -EBADF; + if (!file_slot->file_ptr) + goto out; + + file = (struct file *)(file_slot->file_ptr & FFS_MASK); + ret = io_queue_rsrc_removal(ctx->file_data, offset, ctx->rsrc_node, file); + if (ret) + goto out; + + file_slot->file_ptr = 0; + io_file_bitmap_clear(&ctx->file_table, offset); + io_rsrc_node_switch(ctx, ctx->file_data); + ret = 0; +out: + io_ring_submit_unlock(ctx, issue_flags); + return ret; +} + +static inline int io_close_fixed(struct io_kiocb *req, unsigned int issue_flags) +{ + return __io_close_fixed(req, issue_flags, req->close.file_slot - 1); +} + +static int __io_sqe_files_update(struct io_ring_ctx *ctx, + struct io_uring_rsrc_update2 *up, + unsigned nr_args) +{ + u64 __user *tags = u64_to_user_ptr(up->tags); + __s32 __user *fds = u64_to_user_ptr(up->data); + struct io_rsrc_data *data = ctx->file_data; + struct io_fixed_file *file_slot; + struct file *file; + int fd, i, err = 0; + unsigned int done; + bool needs_switch = false; + + if (!ctx->file_data) + return -ENXIO; + if (up->offset + nr_args > ctx->nr_user_files) + return -EINVAL; + + for (done = 0; done < nr_args; done++) { + u64 tag = 0; + + if ((tags && copy_from_user(&tag, &tags[done], sizeof(tag))) || + copy_from_user(&fd, &fds[done], sizeof(fd))) { + err = -EFAULT; + break; + } + if ((fd == IORING_REGISTER_FILES_SKIP || fd == -1) && tag) { + err = -EINVAL; + break; + } + if (fd == IORING_REGISTER_FILES_SKIP) + continue; + + i = array_index_nospec(up->offset + done, ctx->nr_user_files); + file_slot = io_fixed_file_slot(&ctx->file_table, i); + + if (file_slot->file_ptr) { + file = (struct file *)(file_slot->file_ptr & FFS_MASK); + err = io_queue_rsrc_removal(data, i, ctx->rsrc_node, file); + if (err) + break; + file_slot->file_ptr = 0; + io_file_bitmap_clear(&ctx->file_table, i); + needs_switch = true; + } + if (fd != -1) { + file = fget(fd); + if (!file) { + err = -EBADF; + break; + } + /* + * Don't allow io_uring instances to be registered. If + * UNIX isn't enabled, then this causes a reference + * cycle and this instance can never get freed. If UNIX + * is enabled we'll handle it just fine, but there's + * still no point in allowing a ring fd as it doesn't + * support regular read/write anyway. + */ + if (file->f_op == &io_uring_fops) { + fput(file); + err = -EBADF; + break; + } + err = io_scm_file_account(ctx, file); + if (err) { + fput(file); + break; + } + *io_get_tag_slot(data, i) = tag; + io_fixed_file_set(file_slot, file); + io_file_bitmap_set(&ctx->file_table, i); + } + } + + if (needs_switch) + io_rsrc_node_switch(ctx, data); + return done ? done : err; +} + +static struct io_wq *io_init_wq_offload(struct io_ring_ctx *ctx, + struct task_struct *task) +{ + struct io_wq_hash *hash; + struct io_wq_data data; + unsigned int concurrency; + + mutex_lock(&ctx->uring_lock); + hash = ctx->hash_map; + if (!hash) { + hash = kzalloc(sizeof(*hash), GFP_KERNEL); + if (!hash) { + mutex_unlock(&ctx->uring_lock); + return ERR_PTR(-ENOMEM); + } + refcount_set(&hash->refs, 1); + init_waitqueue_head(&hash->wait); + ctx->hash_map = hash; + } + mutex_unlock(&ctx->uring_lock); + + data.hash = hash; + data.task = task; + data.free_work = io_wq_free_work; + data.do_work = io_wq_submit_work; + + /* Do QD, or 4 * CPUS, whatever is smallest */ + concurrency = min(ctx->sq_entries, 4 * num_online_cpus()); + + return io_wq_create(concurrency, &data); +} + +static __cold int io_uring_alloc_task_context(struct task_struct *task, + struct io_ring_ctx *ctx) +{ + struct io_uring_task *tctx; + int ret; + + tctx = kzalloc(sizeof(*tctx), GFP_KERNEL); + if (unlikely(!tctx)) + return -ENOMEM; + + tctx->registered_rings = kcalloc(IO_RINGFD_REG_MAX, + sizeof(struct file *), GFP_KERNEL); + if (unlikely(!tctx->registered_rings)) { + kfree(tctx); + return -ENOMEM; + } + + ret = percpu_counter_init(&tctx->inflight, 0, GFP_KERNEL); + if (unlikely(ret)) { + kfree(tctx->registered_rings); + kfree(tctx); + return ret; + } + + tctx->io_wq = io_init_wq_offload(ctx, task); + if (IS_ERR(tctx->io_wq)) { + ret = PTR_ERR(tctx->io_wq); + percpu_counter_destroy(&tctx->inflight); + kfree(tctx->registered_rings); + kfree(tctx); + return ret; + } + + xa_init(&tctx->xa); + init_waitqueue_head(&tctx->wait); + atomic_set(&tctx->in_idle, 0); + atomic_set(&tctx->inflight_tracked, 0); + task->io_uring = tctx; + spin_lock_init(&tctx->task_lock); + INIT_WQ_LIST(&tctx->task_list); + INIT_WQ_LIST(&tctx->prio_task_list); + init_task_work(&tctx->task_work, tctx_task_work); + return 0; +} + +void __io_uring_free(struct task_struct *tsk) +{ + struct io_uring_task *tctx = tsk->io_uring; + + WARN_ON_ONCE(!xa_empty(&tctx->xa)); + WARN_ON_ONCE(tctx->io_wq); + WARN_ON_ONCE(tctx->cached_refs); + + kfree(tctx->registered_rings); + percpu_counter_destroy(&tctx->inflight); + kfree(tctx); + tsk->io_uring = NULL; +} + +static __cold int io_sq_offload_create(struct io_ring_ctx *ctx, + struct io_uring_params *p) +{ + int ret; + + /* Retain compatibility with failing for an invalid attach attempt */ + if ((ctx->flags & (IORING_SETUP_ATTACH_WQ | IORING_SETUP_SQPOLL)) == + IORING_SETUP_ATTACH_WQ) { + struct fd f; + + f = fdget(p->wq_fd); + if (!f.file) + return -ENXIO; + if (f.file->f_op != &io_uring_fops) { + fdput(f); + return -EINVAL; + } + fdput(f); + } + if (ctx->flags & IORING_SETUP_SQPOLL) { + struct task_struct *tsk; + struct io_sq_data *sqd; + bool attached; + + ret = security_uring_sqpoll(); + if (ret) + return ret; + + sqd = io_get_sq_data(p, &attached); + if (IS_ERR(sqd)) { + ret = PTR_ERR(sqd); + goto err; + } + + ctx->sq_creds = get_current_cred(); + ctx->sq_data = sqd; + ctx->sq_thread_idle = msecs_to_jiffies(p->sq_thread_idle); + if (!ctx->sq_thread_idle) + ctx->sq_thread_idle = HZ; + + io_sq_thread_park(sqd); + list_add(&ctx->sqd_list, &sqd->ctx_list); + io_sqd_update_thread_idle(sqd); + /* don't attach to a dying SQPOLL thread, would be racy */ + ret = (attached && !sqd->thread) ? -ENXIO : 0; + io_sq_thread_unpark(sqd); + + if (ret < 0) + goto err; + if (attached) + return 0; + + if (p->flags & IORING_SETUP_SQ_AFF) { + int cpu = p->sq_thread_cpu; + + ret = -EINVAL; + if (cpu >= nr_cpu_ids || !cpu_online(cpu)) + goto err_sqpoll; + sqd->sq_cpu = cpu; + } else { + sqd->sq_cpu = -1; + } + + sqd->task_pid = current->pid; + sqd->task_tgid = current->tgid; + tsk = create_io_thread(io_sq_thread, sqd, NUMA_NO_NODE); + if (IS_ERR(tsk)) { + ret = PTR_ERR(tsk); + goto err_sqpoll; + } + + sqd->thread = tsk; + ret = io_uring_alloc_task_context(tsk, ctx); + wake_up_new_task(tsk); + if (ret) + goto err; + } else if (p->flags & IORING_SETUP_SQ_AFF) { + /* Can't have SQ_AFF without SQPOLL */ + ret = -EINVAL; + goto err; + } + + return 0; +err_sqpoll: + complete(&ctx->sq_data->exited); +err: + io_sq_thread_finish(ctx); + return ret; +} + +static inline void __io_unaccount_mem(struct user_struct *user, + unsigned long nr_pages) +{ + atomic_long_sub(nr_pages, &user->locked_vm); +} + +static inline int __io_account_mem(struct user_struct *user, + unsigned long nr_pages) +{ + unsigned long page_limit, cur_pages, new_pages; + + /* Don't allow more pages than we can safely lock */ + page_limit = rlimit(RLIMIT_MEMLOCK) >> PAGE_SHIFT; + + do { + cur_pages = atomic_long_read(&user->locked_vm); + new_pages = cur_pages + nr_pages; + if (new_pages > page_limit) + return -ENOMEM; + } while (atomic_long_cmpxchg(&user->locked_vm, cur_pages, + new_pages) != cur_pages); + + return 0; +} + +static void io_unaccount_mem(struct io_ring_ctx *ctx, unsigned long nr_pages) +{ + if (ctx->user) + __io_unaccount_mem(ctx->user, nr_pages); + + if (ctx->mm_account) + atomic64_sub(nr_pages, &ctx->mm_account->pinned_vm); +} + +static int io_account_mem(struct io_ring_ctx *ctx, unsigned long nr_pages) +{ + int ret; + + if (ctx->user) { + ret = __io_account_mem(ctx->user, nr_pages); + if (ret) + return ret; + } + + if (ctx->mm_account) + atomic64_add(nr_pages, &ctx->mm_account->pinned_vm); + + return 0; +} + +static void io_mem_free(void *ptr) +{ + struct page *page; + + if (!ptr) + return; + + page = virt_to_head_page(ptr); + if (put_page_testzero(page)) + free_compound_page(page); +} + +static void *io_mem_alloc(size_t size) +{ + gfp_t gfp = GFP_KERNEL_ACCOUNT | __GFP_ZERO | __GFP_NOWARN | __GFP_COMP; + + return (void *) __get_free_pages(gfp, get_order(size)); +} + +static unsigned long rings_size(struct io_ring_ctx *ctx, unsigned int sq_entries, + unsigned int cq_entries, size_t *sq_offset) +{ + struct io_rings *rings; + size_t off, sq_array_size; + + off = struct_size(rings, cqes, cq_entries); + if (off == SIZE_MAX) + return SIZE_MAX; + if (ctx->flags & IORING_SETUP_CQE32) { + if (check_shl_overflow(off, 1, &off)) + return SIZE_MAX; + } + +#ifdef CONFIG_SMP + off = ALIGN(off, SMP_CACHE_BYTES); + if (off == 0) + return SIZE_MAX; +#endif + + if (sq_offset) + *sq_offset = off; + + sq_array_size = array_size(sizeof(u32), sq_entries); + if (sq_array_size == SIZE_MAX) + return SIZE_MAX; + + if (check_add_overflow(off, sq_array_size, &off)) + return SIZE_MAX; + + return off; +} + +static void io_buffer_unmap(struct io_ring_ctx *ctx, struct io_mapped_ubuf **slot) +{ + struct io_mapped_ubuf *imu = *slot; + unsigned int i; + + if (imu != ctx->dummy_ubuf) { + for (i = 0; i < imu->nr_bvecs; i++) + unpin_user_page(imu->bvec[i].bv_page); + if (imu->acct_pages) + io_unaccount_mem(ctx, imu->acct_pages); + kvfree(imu); + } + *slot = NULL; +} + +static void io_rsrc_buf_put(struct io_ring_ctx *ctx, struct io_rsrc_put *prsrc) +{ + io_buffer_unmap(ctx, &prsrc->buf); + prsrc->buf = NULL; +} + +static void __io_sqe_buffers_unregister(struct io_ring_ctx *ctx) +{ + unsigned int i; + + for (i = 0; i < ctx->nr_user_bufs; i++) + io_buffer_unmap(ctx, &ctx->user_bufs[i]); + kfree(ctx->user_bufs); + io_rsrc_data_free(ctx->buf_data); + ctx->user_bufs = NULL; + ctx->buf_data = NULL; + ctx->nr_user_bufs = 0; +} + +static int io_sqe_buffers_unregister(struct io_ring_ctx *ctx) +{ + unsigned nr = ctx->nr_user_bufs; + int ret; + + if (!ctx->buf_data) + return -ENXIO; + + /* + * Quiesce may unlock ->uring_lock, and while it's not held + * prevent new requests using the table. + */ + ctx->nr_user_bufs = 0; + ret = io_rsrc_ref_quiesce(ctx->buf_data, ctx); + ctx->nr_user_bufs = nr; + if (!ret) + __io_sqe_buffers_unregister(ctx); + return ret; +} + +static int io_copy_iov(struct io_ring_ctx *ctx, struct iovec *dst, + void __user *arg, unsigned index) +{ + struct iovec __user *src; + +#ifdef CONFIG_COMPAT + if (ctx->compat) { + struct compat_iovec __user *ciovs; + struct compat_iovec ciov; + + ciovs = (struct compat_iovec __user *) arg; + if (copy_from_user(&ciov, &ciovs[index], sizeof(ciov))) + return -EFAULT; + + dst->iov_base = u64_to_user_ptr((u64)ciov.iov_base); + dst->iov_len = ciov.iov_len; + return 0; + } +#endif + src = (struct iovec __user *) arg; + if (copy_from_user(dst, &src[index], sizeof(*dst))) + return -EFAULT; + return 0; +} + +/* + * Not super efficient, but this is just a registration time. And we do cache + * the last compound head, so generally we'll only do a full search if we don't + * match that one. + * + * We check if the given compound head page has already been accounted, to + * avoid double accounting it. This allows us to account the full size of the + * page, not just the constituent pages of a huge page. + */ +static bool headpage_already_acct(struct io_ring_ctx *ctx, struct page **pages, + int nr_pages, struct page *hpage) +{ + int i, j; + + /* check current page array */ + for (i = 0; i < nr_pages; i++) { + if (!PageCompound(pages[i])) + continue; + if (compound_head(pages[i]) == hpage) + return true; + } + + /* check previously registered pages */ + for (i = 0; i < ctx->nr_user_bufs; i++) { + struct io_mapped_ubuf *imu = ctx->user_bufs[i]; + + for (j = 0; j < imu->nr_bvecs; j++) { + if (!PageCompound(imu->bvec[j].bv_page)) + continue; + if (compound_head(imu->bvec[j].bv_page) == hpage) + return true; + } + } + + return false; +} + +static int io_buffer_account_pin(struct io_ring_ctx *ctx, struct page **pages, + int nr_pages, struct io_mapped_ubuf *imu, + struct page **last_hpage) +{ + int i, ret; + + imu->acct_pages = 0; + for (i = 0; i < nr_pages; i++) { + if (!PageCompound(pages[i])) { + imu->acct_pages++; + } else { + struct page *hpage; + + hpage = compound_head(pages[i]); + if (hpage == *last_hpage) + continue; + *last_hpage = hpage; + if (headpage_already_acct(ctx, pages, i, hpage)) + continue; + imu->acct_pages += page_size(hpage) >> PAGE_SHIFT; + } + } + + if (!imu->acct_pages) + return 0; + + ret = io_account_mem(ctx, imu->acct_pages); + if (ret) + imu->acct_pages = 0; + return ret; +} + +static struct page **io_pin_pages(unsigned long ubuf, unsigned long len, + int *npages) +{ + unsigned long start, end, nr_pages; + struct vm_area_struct **vmas = NULL; + struct page **pages = NULL; + int i, pret, ret = -ENOMEM; + + end = (ubuf + len + PAGE_SIZE - 1) >> PAGE_SHIFT; + start = ubuf >> PAGE_SHIFT; + nr_pages = end - start; + + pages = kvmalloc_array(nr_pages, sizeof(struct page *), GFP_KERNEL); + if (!pages) + goto done; + + vmas = kvmalloc_array(nr_pages, sizeof(struct vm_area_struct *), + GFP_KERNEL); + if (!vmas) + goto done; + + ret = 0; + mmap_read_lock(current->mm); + pret = pin_user_pages(ubuf, nr_pages, FOLL_WRITE | FOLL_LONGTERM, + pages, vmas); + if (pret == nr_pages) { + struct file *file = vmas[0]->vm_file; + + /* don't support file backed memory */ + for (i = 0; i < nr_pages; i++) { + if (vmas[i]->vm_file != file) { + ret = -EINVAL; + break; + } + if (!file) + continue; + if (!vma_is_shmem(vmas[i]) && !is_file_hugepages(file)) { + ret = -EOPNOTSUPP; + break; + } + } + *npages = nr_pages; + } else { + ret = pret < 0 ? pret : -EFAULT; + } + mmap_read_unlock(current->mm); + if (ret) { + /* + * if we did partial map, or found file backed vmas, + * release any pages we did get + */ + if (pret > 0) + unpin_user_pages(pages, pret); + goto done; + } + ret = 0; +done: + kvfree(vmas); + if (ret < 0) { + kvfree(pages); + pages = ERR_PTR(ret); + } + return pages; +} + +static int io_sqe_buffer_register(struct io_ring_ctx *ctx, struct iovec *iov, + struct io_mapped_ubuf **pimu, + struct page **last_hpage) +{ + struct io_mapped_ubuf *imu = NULL; + struct page **pages = NULL; + unsigned long off; + size_t size; + int ret, nr_pages, i; + + if (!iov->iov_base) { + *pimu = ctx->dummy_ubuf; + return 0; + } + + *pimu = NULL; + ret = -ENOMEM; + + pages = io_pin_pages((unsigned long) iov->iov_base, iov->iov_len, + &nr_pages); + if (IS_ERR(pages)) { + ret = PTR_ERR(pages); + pages = NULL; + goto done; + } + + imu = kvmalloc(struct_size(imu, bvec, nr_pages), GFP_KERNEL); + if (!imu) + goto done; + + ret = io_buffer_account_pin(ctx, pages, nr_pages, imu, last_hpage); + if (ret) { + unpin_user_pages(pages, nr_pages); + goto done; + } + + off = (unsigned long) iov->iov_base & ~PAGE_MASK; + size = iov->iov_len; + for (i = 0; i < nr_pages; i++) { + size_t vec_len; + + vec_len = min_t(size_t, size, PAGE_SIZE - off); + imu->bvec[i].bv_page = pages[i]; + imu->bvec[i].bv_len = vec_len; + imu->bvec[i].bv_offset = off; + off = 0; + size -= vec_len; + } + /* store original address for later verification */ + imu->ubuf = (unsigned long) iov->iov_base; + imu->ubuf_end = imu->ubuf + iov->iov_len; + imu->nr_bvecs = nr_pages; + *pimu = imu; + ret = 0; +done: + if (ret) + kvfree(imu); + kvfree(pages); + return ret; +} + +static int io_buffers_map_alloc(struct io_ring_ctx *ctx, unsigned int nr_args) +{ + ctx->user_bufs = kcalloc(nr_args, sizeof(*ctx->user_bufs), GFP_KERNEL); + return ctx->user_bufs ? 0 : -ENOMEM; +} + +static int io_buffer_validate(struct iovec *iov) +{ + unsigned long tmp, acct_len = iov->iov_len + (PAGE_SIZE - 1); + + /* + * Don't impose further limits on the size and buffer + * constraints here, we'll -EINVAL later when IO is + * submitted if they are wrong. + */ + if (!iov->iov_base) + return iov->iov_len ? -EFAULT : 0; + if (!iov->iov_len) + return -EFAULT; + + /* arbitrary limit, but we need something */ + if (iov->iov_len > SZ_1G) + return -EFAULT; + + if (check_add_overflow((unsigned long)iov->iov_base, acct_len, &tmp)) + return -EOVERFLOW; + + return 0; +} + +static int io_sqe_buffers_register(struct io_ring_ctx *ctx, void __user *arg, + unsigned int nr_args, u64 __user *tags) +{ + struct page *last_hpage = NULL; + struct io_rsrc_data *data; + int i, ret; + struct iovec iov; + + if (ctx->user_bufs) + return -EBUSY; + if (!nr_args || nr_args > IORING_MAX_REG_BUFFERS) + return -EINVAL; + ret = io_rsrc_node_switch_start(ctx); + if (ret) + return ret; + ret = io_rsrc_data_alloc(ctx, io_rsrc_buf_put, tags, nr_args, &data); + if (ret) + return ret; + ret = io_buffers_map_alloc(ctx, nr_args); + if (ret) { + io_rsrc_data_free(data); + return ret; + } + + for (i = 0; i < nr_args; i++, ctx->nr_user_bufs++) { + if (arg) { + ret = io_copy_iov(ctx, &iov, arg, i); + if (ret) + break; + ret = io_buffer_validate(&iov); + if (ret) + break; + } else { + memset(&iov, 0, sizeof(iov)); + } + + if (!iov.iov_base && *io_get_tag_slot(data, i)) { + ret = -EINVAL; + break; + } + + ret = io_sqe_buffer_register(ctx, &iov, &ctx->user_bufs[i], + &last_hpage); + if (ret) + break; + } + + WARN_ON_ONCE(ctx->buf_data); + + ctx->buf_data = data; + if (ret) + __io_sqe_buffers_unregister(ctx); + else + io_rsrc_node_switch(ctx, NULL); + return ret; +} + +static int __io_sqe_buffers_update(struct io_ring_ctx *ctx, + struct io_uring_rsrc_update2 *up, + unsigned int nr_args) +{ + u64 __user *tags = u64_to_user_ptr(up->tags); + struct iovec iov, __user *iovs = u64_to_user_ptr(up->data); + struct page *last_hpage = NULL; + bool needs_switch = false; + __u32 done; + int i, err; + + if (!ctx->buf_data) + return -ENXIO; + if (up->offset + nr_args > ctx->nr_user_bufs) + return -EINVAL; + + for (done = 0; done < nr_args; done++) { + struct io_mapped_ubuf *imu; + int offset = up->offset + done; + u64 tag = 0; + + err = io_copy_iov(ctx, &iov, iovs, done); + if (err) + break; + if (tags && copy_from_user(&tag, &tags[done], sizeof(tag))) { + err = -EFAULT; + break; + } + err = io_buffer_validate(&iov); + if (err) + break; + if (!iov.iov_base && tag) { + err = -EINVAL; + break; + } + err = io_sqe_buffer_register(ctx, &iov, &imu, &last_hpage); + if (err) + break; + + i = array_index_nospec(offset, ctx->nr_user_bufs); + if (ctx->user_bufs[i] != ctx->dummy_ubuf) { + err = io_queue_rsrc_removal(ctx->buf_data, i, + ctx->rsrc_node, ctx->user_bufs[i]); + if (unlikely(err)) { + io_buffer_unmap(ctx, &imu); + break; + } + ctx->user_bufs[i] = NULL; + needs_switch = true; + } + + ctx->user_bufs[i] = imu; + *io_get_tag_slot(ctx->buf_data, offset) = tag; + } + + if (needs_switch) + io_rsrc_node_switch(ctx, ctx->buf_data); + return done ? done : err; +} + +static int io_eventfd_register(struct io_ring_ctx *ctx, void __user *arg, + unsigned int eventfd_async) +{ + struct io_ev_fd *ev_fd; + __s32 __user *fds = arg; + int fd; + + ev_fd = rcu_dereference_protected(ctx->io_ev_fd, + lockdep_is_held(&ctx->uring_lock)); + if (ev_fd) + return -EBUSY; + + if (copy_from_user(&fd, fds, sizeof(*fds))) + return -EFAULT; + + ev_fd = kmalloc(sizeof(*ev_fd), GFP_KERNEL); + if (!ev_fd) + return -ENOMEM; + + ev_fd->cq_ev_fd = eventfd_ctx_fdget(fd); + if (IS_ERR(ev_fd->cq_ev_fd)) { + int ret = PTR_ERR(ev_fd->cq_ev_fd); + kfree(ev_fd); + return ret; + } + ev_fd->eventfd_async = eventfd_async; + ctx->has_evfd = true; + rcu_assign_pointer(ctx->io_ev_fd, ev_fd); + return 0; +} + +static void io_eventfd_put(struct rcu_head *rcu) +{ + struct io_ev_fd *ev_fd = container_of(rcu, struct io_ev_fd, rcu); + + eventfd_ctx_put(ev_fd->cq_ev_fd); + kfree(ev_fd); +} + +static int io_eventfd_unregister(struct io_ring_ctx *ctx) +{ + struct io_ev_fd *ev_fd; + + ev_fd = rcu_dereference_protected(ctx->io_ev_fd, + lockdep_is_held(&ctx->uring_lock)); + if (ev_fd) { + ctx->has_evfd = false; + rcu_assign_pointer(ctx->io_ev_fd, NULL); + call_rcu(&ev_fd->rcu, io_eventfd_put); + return 0; + } + + return -ENXIO; +} + +static void io_destroy_buffers(struct io_ring_ctx *ctx) +{ + struct io_buffer_list *bl; + unsigned long index; + int i; + + for (i = 0; i < BGID_ARRAY; i++) { + if (!ctx->io_bl) + break; + __io_remove_buffers(ctx, &ctx->io_bl[i], -1U); + } + + xa_for_each(&ctx->io_bl_xa, index, bl) { + xa_erase(&ctx->io_bl_xa, bl->bgid); + __io_remove_buffers(ctx, bl, -1U); + kfree(bl); + } + + while (!list_empty(&ctx->io_buffers_pages)) { + struct page *page; + + page = list_first_entry(&ctx->io_buffers_pages, struct page, lru); + list_del_init(&page->lru); + __free_page(page); + } +} + +static void io_req_caches_free(struct io_ring_ctx *ctx) +{ + struct io_submit_state *state = &ctx->submit_state; + int nr = 0; + + mutex_lock(&ctx->uring_lock); + io_flush_cached_locked_reqs(ctx, state); + + while (!io_req_cache_empty(ctx)) { + struct io_wq_work_node *node; + struct io_kiocb *req; + + node = wq_stack_extract(&state->free_list); + req = container_of(node, struct io_kiocb, comp_list); + kmem_cache_free(req_cachep, req); + nr++; + } + if (nr) + percpu_ref_put_many(&ctx->refs, nr); + mutex_unlock(&ctx->uring_lock); +} + +static void io_wait_rsrc_data(struct io_rsrc_data *data) +{ + if (data && !atomic_dec_and_test(&data->refs)) + wait_for_completion(&data->done); +} + +static void io_flush_apoll_cache(struct io_ring_ctx *ctx) +{ + struct async_poll *apoll; + + while (!list_empty(&ctx->apoll_cache)) { + apoll = list_first_entry(&ctx->apoll_cache, struct async_poll, + poll.wait.entry); + list_del(&apoll->poll.wait.entry); + kfree(apoll); + } +} + +static __cold void io_ring_ctx_free(struct io_ring_ctx *ctx) +{ + io_sq_thread_finish(ctx); + io_rsrc_refs_drop(ctx); + /* __io_rsrc_put_work() may need uring_lock to progress, wait w/o it */ + io_wait_rsrc_data(ctx->buf_data); + io_wait_rsrc_data(ctx->file_data); + + mutex_lock(&ctx->uring_lock); + if (ctx->buf_data) + __io_sqe_buffers_unregister(ctx); + if (ctx->file_data) + __io_sqe_files_unregister(ctx); + if (ctx->rings) + __io_cqring_overflow_flush(ctx, true); + io_eventfd_unregister(ctx); + io_flush_apoll_cache(ctx); + mutex_unlock(&ctx->uring_lock); + io_destroy_buffers(ctx); + if (ctx->sq_creds) + put_cred(ctx->sq_creds); + + /* there are no registered resources left, nobody uses it */ + if (ctx->rsrc_node) + io_rsrc_node_destroy(ctx->rsrc_node); + if (ctx->rsrc_backup_node) + io_rsrc_node_destroy(ctx->rsrc_backup_node); + flush_delayed_work(&ctx->rsrc_put_work); + flush_delayed_work(&ctx->fallback_work); + + WARN_ON_ONCE(!list_empty(&ctx->rsrc_ref_list)); + WARN_ON_ONCE(!llist_empty(&ctx->rsrc_put_llist)); + +#if defined(CONFIG_UNIX) + if (ctx->ring_sock) { + ctx->ring_sock->file = NULL; /* so that iput() is called */ + sock_release(ctx->ring_sock); + } +#endif + WARN_ON_ONCE(!list_empty(&ctx->ltimeout_list)); + + if (ctx->mm_account) { + mmdrop(ctx->mm_account); + ctx->mm_account = NULL; + } + io_mem_free(ctx->rings); + io_mem_free(ctx->sq_sqes); + + percpu_ref_exit(&ctx->refs); + free_uid(ctx->user); + io_req_caches_free(ctx); + if (ctx->hash_map) + io_wq_put_hash(ctx->hash_map); + kfree(ctx->cancel_hash); + kfree(ctx->dummy_ubuf); + kfree(ctx->io_bl); + xa_destroy(&ctx->io_bl_xa); + kfree(ctx); +} + +static __poll_t io_uring_poll(struct file *file, poll_table *wait) +{ + struct io_ring_ctx *ctx = file->private_data; + __poll_t mask = 0; + + poll_wait(file, &ctx->cq_wait, wait); + /* + * synchronizes with barrier from wq_has_sleeper call in + * io_commit_cqring + */ + smp_rmb(); + if (!io_sqring_full(ctx)) + mask |= EPOLLOUT | EPOLLWRNORM; + + /* + * Don't flush cqring overflow list here, just do a simple check. + * Otherwise there could possible be ABBA deadlock: + * CPU0 CPU1 + * ---- ---- + * lock(&ctx->uring_lock); + * lock(&ep->mtx); + * lock(&ctx->uring_lock); + * lock(&ep->mtx); + * + * Users may get EPOLLIN meanwhile seeing nothing in cqring, this + * pushs them to do the flush. + */ + if (io_cqring_events(ctx) || + test_bit(IO_CHECK_CQ_OVERFLOW_BIT, &ctx->check_cq)) + mask |= EPOLLIN | EPOLLRDNORM; + + return mask; +} + +static int io_unregister_personality(struct io_ring_ctx *ctx, unsigned id) +{ + const struct cred *creds; + + creds = xa_erase(&ctx->personalities, id); + if (creds) { + put_cred(creds); + return 0; + } + + return -EINVAL; +} + +struct io_tctx_exit { + struct callback_head task_work; + struct completion completion; + struct io_ring_ctx *ctx; +}; + +static __cold void io_tctx_exit_cb(struct callback_head *cb) +{ + struct io_uring_task *tctx = current->io_uring; + struct io_tctx_exit *work; + + work = container_of(cb, struct io_tctx_exit, task_work); + /* + * When @in_idle, we're in cancellation and it's racy to remove the + * node. It'll be removed by the end of cancellation, just ignore it. + * tctx can be NULL if the queueing of this task_work raced with + * work cancelation off the exec path. + */ + if (tctx && !atomic_read(&tctx->in_idle)) + io_uring_del_tctx_node((unsigned long)work->ctx); + complete(&work->completion); +} + +static __cold bool io_cancel_ctx_cb(struct io_wq_work *work, void *data) +{ + struct io_kiocb *req = container_of(work, struct io_kiocb, work); + + return req->ctx == data; +} + +static __cold void io_ring_exit_work(struct work_struct *work) +{ + struct io_ring_ctx *ctx = container_of(work, struct io_ring_ctx, exit_work); + unsigned long timeout = jiffies + HZ * 60 * 5; + unsigned long interval = HZ / 20; + struct io_tctx_exit exit; + struct io_tctx_node *node; + int ret; + + /* + * If we're doing polled IO and end up having requests being + * submitted async (out-of-line), then completions can come in while + * we're waiting for refs to drop. We need to reap these manually, + * as nobody else will be looking for them. + */ + do { + io_uring_try_cancel_requests(ctx, NULL, true); + if (ctx->sq_data) { + struct io_sq_data *sqd = ctx->sq_data; + struct task_struct *tsk; + + io_sq_thread_park(sqd); + tsk = sqd->thread; + if (tsk && tsk->io_uring && tsk->io_uring->io_wq) + io_wq_cancel_cb(tsk->io_uring->io_wq, + io_cancel_ctx_cb, ctx, true); + io_sq_thread_unpark(sqd); + } + + io_req_caches_free(ctx); + + if (WARN_ON_ONCE(time_after(jiffies, timeout))) { + /* there is little hope left, don't run it too often */ + interval = HZ * 60; + } + } while (!wait_for_completion_timeout(&ctx->ref_comp, interval)); + + init_completion(&exit.completion); + init_task_work(&exit.task_work, io_tctx_exit_cb); + exit.ctx = ctx; + /* + * Some may use context even when all refs and requests have been put, + * and they are free to do so while still holding uring_lock or + * completion_lock, see io_req_task_submit(). Apart from other work, + * this lock/unlock section also waits them to finish. + */ + mutex_lock(&ctx->uring_lock); + while (!list_empty(&ctx->tctx_list)) { + WARN_ON_ONCE(time_after(jiffies, timeout)); + + node = list_first_entry(&ctx->tctx_list, struct io_tctx_node, + ctx_node); + /* don't spin on a single task if cancellation failed */ + list_rotate_left(&ctx->tctx_list); + ret = task_work_add(node->task, &exit.task_work, TWA_SIGNAL); + if (WARN_ON_ONCE(ret)) + continue; + + mutex_unlock(&ctx->uring_lock); + wait_for_completion(&exit.completion); + mutex_lock(&ctx->uring_lock); + } + mutex_unlock(&ctx->uring_lock); + spin_lock(&ctx->completion_lock); + spin_unlock(&ctx->completion_lock); + + io_ring_ctx_free(ctx); +} + +/* Returns true if we found and killed one or more timeouts */ +static __cold bool io_kill_timeouts(struct io_ring_ctx *ctx, + struct task_struct *tsk, bool cancel_all) +{ + struct io_kiocb *req, *tmp; + int canceled = 0; + + spin_lock(&ctx->completion_lock); + spin_lock_irq(&ctx->timeout_lock); + list_for_each_entry_safe(req, tmp, &ctx->timeout_list, timeout.list) { + if (io_match_task(req, tsk, cancel_all)) { + io_kill_timeout(req, -ECANCELED); + canceled++; + } + } + spin_unlock_irq(&ctx->timeout_lock); + io_commit_cqring(ctx); + spin_unlock(&ctx->completion_lock); + if (canceled != 0) + io_cqring_ev_posted(ctx); + return canceled != 0; +} + +static __cold void io_ring_ctx_wait_and_kill(struct io_ring_ctx *ctx) +{ + unsigned long index; + struct creds *creds; + + mutex_lock(&ctx->uring_lock); + percpu_ref_kill(&ctx->refs); + if (ctx->rings) + __io_cqring_overflow_flush(ctx, true); + xa_for_each(&ctx->personalities, index, creds) + io_unregister_personality(ctx, index); + mutex_unlock(&ctx->uring_lock); + + /* failed during ring init, it couldn't have issued any requests */ + if (ctx->rings) { + io_kill_timeouts(ctx, NULL, true); + io_poll_remove_all(ctx, NULL, true); + /* if we failed setting up the ctx, we might not have any rings */ + io_iopoll_try_reap_events(ctx); + /* drop cached put refs after potentially doing completions */ + if (current->io_uring) + io_uring_drop_tctx_refs(current); + } + + INIT_WORK(&ctx->exit_work, io_ring_exit_work); + /* + * Use system_unbound_wq to avoid spawning tons of event kworkers + * if we're exiting a ton of rings at the same time. It just adds + * noise and overhead, there's no discernable change in runtime + * over using system_wq. + */ + queue_work(system_unbound_wq, &ctx->exit_work); +} + +static int io_uring_release(struct inode *inode, struct file *file) +{ + struct io_ring_ctx *ctx = file->private_data; + + file->private_data = NULL; + io_ring_ctx_wait_and_kill(ctx); + return 0; +} + +struct io_task_cancel { + struct task_struct *task; + bool all; +}; + +static bool io_cancel_task_cb(struct io_wq_work *work, void *data) +{ + struct io_kiocb *req = container_of(work, struct io_kiocb, work); + struct io_task_cancel *cancel = data; + + return io_match_task_safe(req, cancel->task, cancel->all); +} + +static __cold bool io_cancel_defer_files(struct io_ring_ctx *ctx, + struct task_struct *task, + bool cancel_all) +{ + struct io_defer_entry *de; + LIST_HEAD(list); + + spin_lock(&ctx->completion_lock); + list_for_each_entry_reverse(de, &ctx->defer_list, list) { + if (io_match_task_safe(de->req, task, cancel_all)) { + list_cut_position(&list, &ctx->defer_list, &de->list); + break; + } + } + spin_unlock(&ctx->completion_lock); + if (list_empty(&list)) + return false; + + while (!list_empty(&list)) { + de = list_first_entry(&list, struct io_defer_entry, list); + list_del_init(&de->list); + io_req_complete_failed(de->req, -ECANCELED); + kfree(de); + } + return true; +} + +static __cold bool io_uring_try_cancel_iowq(struct io_ring_ctx *ctx) +{ + struct io_tctx_node *node; + enum io_wq_cancel cret; + bool ret = false; + + mutex_lock(&ctx->uring_lock); + list_for_each_entry(node, &ctx->tctx_list, ctx_node) { + struct io_uring_task *tctx = node->task->io_uring; + + /* + * io_wq will stay alive while we hold uring_lock, because it's + * killed after ctx nodes, which requires to take the lock. + */ + if (!tctx || !tctx->io_wq) + continue; + cret = io_wq_cancel_cb(tctx->io_wq, io_cancel_ctx_cb, ctx, true); + ret |= (cret != IO_WQ_CANCEL_NOTFOUND); + } + mutex_unlock(&ctx->uring_lock); + + return ret; +} + +static __cold void io_uring_try_cancel_requests(struct io_ring_ctx *ctx, + struct task_struct *task, + bool cancel_all) +{ + struct io_task_cancel cancel = { .task = task, .all = cancel_all, }; + struct io_uring_task *tctx = task ? task->io_uring : NULL; + + /* failed during ring init, it couldn't have issued any requests */ + if (!ctx->rings) + return; + + while (1) { + enum io_wq_cancel cret; + bool ret = false; + + if (!task) { + ret |= io_uring_try_cancel_iowq(ctx); + } else if (tctx && tctx->io_wq) { + /* + * Cancels requests of all rings, not only @ctx, but + * it's fine as the task is in exit/exec. + */ + cret = io_wq_cancel_cb(tctx->io_wq, io_cancel_task_cb, + &cancel, true); + ret |= (cret != IO_WQ_CANCEL_NOTFOUND); + } + + /* SQPOLL thread does its own polling */ + if ((!(ctx->flags & IORING_SETUP_SQPOLL) && cancel_all) || + (ctx->sq_data && ctx->sq_data->thread == current)) { + while (!wq_list_empty(&ctx->iopoll_list)) { + io_iopoll_try_reap_events(ctx); + ret = true; + cond_resched(); + } + } + + ret |= io_cancel_defer_files(ctx, task, cancel_all); + ret |= io_poll_remove_all(ctx, task, cancel_all); + ret |= io_kill_timeouts(ctx, task, cancel_all); + if (task) + ret |= io_run_task_work(); + if (!ret) + break; + cond_resched(); + } +} + +static int __io_uring_add_tctx_node(struct io_ring_ctx *ctx) +{ + struct io_uring_task *tctx = current->io_uring; + struct io_tctx_node *node; + int ret; + + if (unlikely(!tctx)) { + ret = io_uring_alloc_task_context(current, ctx); + if (unlikely(ret)) + return ret; + + tctx = current->io_uring; + if (ctx->iowq_limits_set) { + unsigned int limits[2] = { ctx->iowq_limits[0], + ctx->iowq_limits[1], }; + + ret = io_wq_max_workers(tctx->io_wq, limits); + if (ret) + return ret; + } + } + if (!xa_load(&tctx->xa, (unsigned long)ctx)) { + node = kmalloc(sizeof(*node), GFP_KERNEL); + if (!node) + return -ENOMEM; + node->ctx = ctx; + node->task = current; + + ret = xa_err(xa_store(&tctx->xa, (unsigned long)ctx, + node, GFP_KERNEL)); + if (ret) { + kfree(node); + return ret; + } + + mutex_lock(&ctx->uring_lock); + list_add(&node->ctx_node, &ctx->tctx_list); + mutex_unlock(&ctx->uring_lock); + } + tctx->last = ctx; + return 0; +} + +/* + * Note that this task has used io_uring. We use it for cancelation purposes. + */ +static inline int io_uring_add_tctx_node(struct io_ring_ctx *ctx) +{ + struct io_uring_task *tctx = current->io_uring; + + if (likely(tctx && tctx->last == ctx)) + return 0; + return __io_uring_add_tctx_node(ctx); +} + +/* + * Remove this io_uring_file -> task mapping. + */ +static __cold void io_uring_del_tctx_node(unsigned long index) +{ + struct io_uring_task *tctx = current->io_uring; + struct io_tctx_node *node; + + if (!tctx) + return; + node = xa_erase(&tctx->xa, index); + if (!node) + return; + + WARN_ON_ONCE(current != node->task); + WARN_ON_ONCE(list_empty(&node->ctx_node)); + + mutex_lock(&node->ctx->uring_lock); + list_del(&node->ctx_node); + mutex_unlock(&node->ctx->uring_lock); + + if (tctx->last == node->ctx) + tctx->last = NULL; + kfree(node); +} + +static __cold void io_uring_clean_tctx(struct io_uring_task *tctx) +{ + struct io_wq *wq = tctx->io_wq; + struct io_tctx_node *node; + unsigned long index; + + xa_for_each(&tctx->xa, index, node) { + io_uring_del_tctx_node(index); + cond_resched(); + } + if (wq) { + /* + * Must be after io_uring_del_tctx_node() (removes nodes under + * uring_lock) to avoid race with io_uring_try_cancel_iowq(). + */ + io_wq_put_and_exit(wq); + tctx->io_wq = NULL; + } +} + +static s64 tctx_inflight(struct io_uring_task *tctx, bool tracked) +{ + if (tracked) + return atomic_read(&tctx->inflight_tracked); + return percpu_counter_sum(&tctx->inflight); +} + +/* + * Find any io_uring ctx that this task has registered or done IO on, and cancel + * requests. @sqd should be not-null IFF it's an SQPOLL thread cancellation. + */ +static __cold void io_uring_cancel_generic(bool cancel_all, + struct io_sq_data *sqd) +{ + struct io_uring_task *tctx = current->io_uring; + struct io_ring_ctx *ctx; + s64 inflight; + DEFINE_WAIT(wait); + + WARN_ON_ONCE(sqd && sqd->thread != current); + + if (!current->io_uring) + return; + if (tctx->io_wq) + io_wq_exit_start(tctx->io_wq); + + atomic_inc(&tctx->in_idle); + do { + io_uring_drop_tctx_refs(current); + /* read completions before cancelations */ + inflight = tctx_inflight(tctx, !cancel_all); + if (!inflight) + break; + + if (!sqd) { + struct io_tctx_node *node; + unsigned long index; + + xa_for_each(&tctx->xa, index, node) { + /* sqpoll task will cancel all its requests */ + if (node->ctx->sq_data) + continue; + io_uring_try_cancel_requests(node->ctx, current, + cancel_all); + } + } else { + list_for_each_entry(ctx, &sqd->ctx_list, sqd_list) + io_uring_try_cancel_requests(ctx, current, + cancel_all); + } + + prepare_to_wait(&tctx->wait, &wait, TASK_INTERRUPTIBLE); + io_run_task_work(); + io_uring_drop_tctx_refs(current); + + /* + * If we've seen completions, retry without waiting. This + * avoids a race where a completion comes in before we did + * prepare_to_wait(). + */ + if (inflight == tctx_inflight(tctx, !cancel_all)) + schedule(); + finish_wait(&tctx->wait, &wait); + } while (1); + + io_uring_clean_tctx(tctx); + if (cancel_all) { + /* + * We shouldn't run task_works after cancel, so just leave + * ->in_idle set for normal exit. + */ + atomic_dec(&tctx->in_idle); + /* for exec all current's requests should be gone, kill tctx */ + __io_uring_free(current); + } +} + +void __io_uring_cancel(bool cancel_all) +{ + io_uring_cancel_generic(cancel_all, NULL); +} + +void io_uring_unreg_ringfd(void) +{ + struct io_uring_task *tctx = current->io_uring; + int i; + + for (i = 0; i < IO_RINGFD_REG_MAX; i++) { + if (tctx->registered_rings[i]) { + fput(tctx->registered_rings[i]); + tctx->registered_rings[i] = NULL; + } + } +} + +static int io_ring_add_registered_fd(struct io_uring_task *tctx, int fd, + int start, int end) +{ + struct file *file; + int offset; + + for (offset = start; offset < end; offset++) { + offset = array_index_nospec(offset, IO_RINGFD_REG_MAX); + if (tctx->registered_rings[offset]) + continue; + + file = fget(fd); + if (!file) { + return -EBADF; + } else if (file->f_op != &io_uring_fops) { + fput(file); + return -EOPNOTSUPP; + } + tctx->registered_rings[offset] = file; + return offset; + } + + return -EBUSY; +} + +/* + * Register a ring fd to avoid fdget/fdput for each io_uring_enter() + * invocation. User passes in an array of struct io_uring_rsrc_update + * with ->data set to the ring_fd, and ->offset given for the desired + * index. If no index is desired, application may set ->offset == -1U + * and we'll find an available index. Returns number of entries + * successfully processed, or < 0 on error if none were processed. + */ +static int io_ringfd_register(struct io_ring_ctx *ctx, void __user *__arg, + unsigned nr_args) +{ + struct io_uring_rsrc_update __user *arg = __arg; + struct io_uring_rsrc_update reg; + struct io_uring_task *tctx; + int ret, i; + + if (!nr_args || nr_args > IO_RINGFD_REG_MAX) + return -EINVAL; + + mutex_unlock(&ctx->uring_lock); + ret = io_uring_add_tctx_node(ctx); + mutex_lock(&ctx->uring_lock); + if (ret) + return ret; + + tctx = current->io_uring; + for (i = 0; i < nr_args; i++) { + int start, end; + + if (copy_from_user(®, &arg[i], sizeof(reg))) { + ret = -EFAULT; + break; + } + + if (reg.resv) { + ret = -EINVAL; + break; + } + + if (reg.offset == -1U) { + start = 0; + end = IO_RINGFD_REG_MAX; + } else { + if (reg.offset >= IO_RINGFD_REG_MAX) { + ret = -EINVAL; + break; + } + start = reg.offset; + end = start + 1; + } + + ret = io_ring_add_registered_fd(tctx, reg.data, start, end); + if (ret < 0) + break; + + reg.offset = ret; + if (copy_to_user(&arg[i], ®, sizeof(reg))) { + fput(tctx->registered_rings[reg.offset]); + tctx->registered_rings[reg.offset] = NULL; + ret = -EFAULT; + break; + } + } + + return i ? i : ret; +} + +static int io_ringfd_unregister(struct io_ring_ctx *ctx, void __user *__arg, + unsigned nr_args) +{ + struct io_uring_rsrc_update __user *arg = __arg; + struct io_uring_task *tctx = current->io_uring; + struct io_uring_rsrc_update reg; + int ret = 0, i; + + if (!nr_args || nr_args > IO_RINGFD_REG_MAX) + return -EINVAL; + if (!tctx) + return 0; + + for (i = 0; i < nr_args; i++) { + if (copy_from_user(®, &arg[i], sizeof(reg))) { + ret = -EFAULT; + break; + } + if (reg.resv || reg.data || reg.offset >= IO_RINGFD_REG_MAX) { + ret = -EINVAL; + break; + } + + reg.offset = array_index_nospec(reg.offset, IO_RINGFD_REG_MAX); + if (tctx->registered_rings[reg.offset]) { + fput(tctx->registered_rings[reg.offset]); + tctx->registered_rings[reg.offset] = NULL; + } + } + + return i ? i : ret; +} + +static void *io_uring_validate_mmap_request(struct file *file, + loff_t pgoff, size_t sz) +{ + struct io_ring_ctx *ctx = file->private_data; + loff_t offset = pgoff << PAGE_SHIFT; + struct page *page; + void *ptr; + + switch (offset) { + case IORING_OFF_SQ_RING: + case IORING_OFF_CQ_RING: + ptr = ctx->rings; + break; + case IORING_OFF_SQES: + ptr = ctx->sq_sqes; + break; + default: + return ERR_PTR(-EINVAL); + } + + page = virt_to_head_page(ptr); + if (sz > page_size(page)) + return ERR_PTR(-EINVAL); + + return ptr; +} + +#ifdef CONFIG_MMU + +static __cold int io_uring_mmap(struct file *file, struct vm_area_struct *vma) +{ + size_t sz = vma->vm_end - vma->vm_start; + unsigned long pfn; + void *ptr; + + ptr = io_uring_validate_mmap_request(file, vma->vm_pgoff, sz); + if (IS_ERR(ptr)) + return PTR_ERR(ptr); + + pfn = virt_to_phys(ptr) >> PAGE_SHIFT; + return remap_pfn_range(vma, vma->vm_start, pfn, sz, vma->vm_page_prot); +} + +#else /* !CONFIG_MMU */ + +static int io_uring_mmap(struct file *file, struct vm_area_struct *vma) +{ + return vma->vm_flags & (VM_SHARED | VM_MAYSHARE) ? 0 : -EINVAL; +} + +static unsigned int io_uring_nommu_mmap_capabilities(struct file *file) +{ + return NOMMU_MAP_DIRECT | NOMMU_MAP_READ | NOMMU_MAP_WRITE; +} + +static unsigned long io_uring_nommu_get_unmapped_area(struct file *file, + unsigned long addr, unsigned long len, + unsigned long pgoff, unsigned long flags) +{ + void *ptr; + + ptr = io_uring_validate_mmap_request(file, pgoff, len); + if (IS_ERR(ptr)) + return PTR_ERR(ptr); + + return (unsigned long) ptr; +} + +#endif /* !CONFIG_MMU */ + +static int io_sqpoll_wait_sq(struct io_ring_ctx *ctx) +{ + DEFINE_WAIT(wait); + + do { + if (!io_sqring_full(ctx)) + break; + prepare_to_wait(&ctx->sqo_sq_wait, &wait, TASK_INTERRUPTIBLE); + + if (!io_sqring_full(ctx)) + break; + schedule(); + } while (!signal_pending(current)); + + finish_wait(&ctx->sqo_sq_wait, &wait); + return 0; +} + +static int io_validate_ext_arg(unsigned flags, const void __user *argp, size_t argsz) +{ + if (flags & IORING_ENTER_EXT_ARG) { + struct io_uring_getevents_arg arg; + + if (argsz != sizeof(arg)) + return -EINVAL; + if (copy_from_user(&arg, argp, sizeof(arg))) + return -EFAULT; + } + return 0; +} + +static int io_get_ext_arg(unsigned flags, const void __user *argp, size_t *argsz, + struct __kernel_timespec __user **ts, + const sigset_t __user **sig) +{ + struct io_uring_getevents_arg arg; + + /* + * If EXT_ARG isn't set, then we have no timespec and the argp pointer + * is just a pointer to the sigset_t. + */ + if (!(flags & IORING_ENTER_EXT_ARG)) { + *sig = (const sigset_t __user *) argp; + *ts = NULL; + return 0; + } + + /* + * EXT_ARG is set - ensure we agree on the size of it and copy in our + * timespec and sigset_t pointers if good. + */ + if (*argsz != sizeof(arg)) + return -EINVAL; + if (copy_from_user(&arg, argp, sizeof(arg))) + return -EFAULT; + if (arg.pad) + return -EINVAL; + *sig = u64_to_user_ptr(arg.sigmask); + *argsz = arg.sigmask_sz; + *ts = u64_to_user_ptr(arg.ts); + return 0; +} + +SYSCALL_DEFINE6(io_uring_enter, unsigned int, fd, u32, to_submit, + u32, min_complete, u32, flags, const void __user *, argp, + size_t, argsz) +{ + struct io_ring_ctx *ctx; + struct fd f; + long ret; + + io_run_task_work(); + + if (unlikely(flags & ~(IORING_ENTER_GETEVENTS | IORING_ENTER_SQ_WAKEUP | + IORING_ENTER_SQ_WAIT | IORING_ENTER_EXT_ARG | + IORING_ENTER_REGISTERED_RING))) + return -EINVAL; + + /* + * Ring fd has been registered via IORING_REGISTER_RING_FDS, we + * need only dereference our task private array to find it. + */ + if (flags & IORING_ENTER_REGISTERED_RING) { + struct io_uring_task *tctx = current->io_uring; + + if (!tctx || fd >= IO_RINGFD_REG_MAX) + return -EINVAL; + fd = array_index_nospec(fd, IO_RINGFD_REG_MAX); + f.file = tctx->registered_rings[fd]; + f.flags = 0; + } else { + f = fdget(fd); + } + + if (unlikely(!f.file)) + return -EBADF; + + ret = -EOPNOTSUPP; + if (unlikely(f.file->f_op != &io_uring_fops)) + goto out_fput; + + ret = -ENXIO; + ctx = f.file->private_data; + if (unlikely(!percpu_ref_tryget(&ctx->refs))) + goto out_fput; + + ret = -EBADFD; + if (unlikely(ctx->flags & IORING_SETUP_R_DISABLED)) + goto out; + + /* + * For SQ polling, the thread will do all submissions and completions. + * Just return the requested submit count, and wake the thread if + * we were asked to. + */ + ret = 0; + if (ctx->flags & IORING_SETUP_SQPOLL) { + io_cqring_overflow_flush(ctx); + + if (unlikely(ctx->sq_data->thread == NULL)) { + ret = -EOWNERDEAD; + goto out; + } + if (flags & IORING_ENTER_SQ_WAKEUP) + wake_up(&ctx->sq_data->wait); + if (flags & IORING_ENTER_SQ_WAIT) { + ret = io_sqpoll_wait_sq(ctx); + if (ret) + goto out; + } + ret = to_submit; + } else if (to_submit) { + ret = io_uring_add_tctx_node(ctx); + if (unlikely(ret)) + goto out; + + mutex_lock(&ctx->uring_lock); + ret = io_submit_sqes(ctx, to_submit); + if (ret != to_submit) { + mutex_unlock(&ctx->uring_lock); + goto out; + } + if ((flags & IORING_ENTER_GETEVENTS) && ctx->syscall_iopoll) + goto iopoll_locked; + mutex_unlock(&ctx->uring_lock); + } + if (flags & IORING_ENTER_GETEVENTS) { + int ret2; + if (ctx->syscall_iopoll) { + /* + * We disallow the app entering submit/complete with + * polling, but we still need to lock the ring to + * prevent racing with polled issue that got punted to + * a workqueue. + */ + mutex_lock(&ctx->uring_lock); +iopoll_locked: + ret2 = io_validate_ext_arg(flags, argp, argsz); + if (likely(!ret2)) { + min_complete = min(min_complete, + ctx->cq_entries); + ret2 = io_iopoll_check(ctx, min_complete); + } + mutex_unlock(&ctx->uring_lock); + } else { + const sigset_t __user *sig; + struct __kernel_timespec __user *ts; + + ret2 = io_get_ext_arg(flags, argp, &argsz, &ts, &sig); + if (likely(!ret2)) { + min_complete = min(min_complete, + ctx->cq_entries); + ret2 = io_cqring_wait(ctx, min_complete, sig, + argsz, ts); + } + } + + if (!ret) { + ret = ret2; + + /* + * EBADR indicates that one or more CQE were dropped. + * Once the user has been informed we can clear the bit + * as they are obviously ok with those drops. + */ + if (unlikely(ret2 == -EBADR)) + clear_bit(IO_CHECK_CQ_DROPPED_BIT, + &ctx->check_cq); + } + } + +out: + percpu_ref_put(&ctx->refs); +out_fput: + fdput(f); + return ret; +} + +#ifdef CONFIG_PROC_FS +static __cold int io_uring_show_cred(struct seq_file *m, unsigned int id, + const struct cred *cred) +{ + struct user_namespace *uns = seq_user_ns(m); + struct group_info *gi; + kernel_cap_t cap; + unsigned __capi; + int g; + + seq_printf(m, "%5d\n", id); + seq_put_decimal_ull(m, "\tUid:\t", from_kuid_munged(uns, cred->uid)); + seq_put_decimal_ull(m, "\t\t", from_kuid_munged(uns, cred->euid)); + seq_put_decimal_ull(m, "\t\t", from_kuid_munged(uns, cred->suid)); + seq_put_decimal_ull(m, "\t\t", from_kuid_munged(uns, cred->fsuid)); + seq_put_decimal_ull(m, "\n\tGid:\t", from_kgid_munged(uns, cred->gid)); + seq_put_decimal_ull(m, "\t\t", from_kgid_munged(uns, cred->egid)); + seq_put_decimal_ull(m, "\t\t", from_kgid_munged(uns, cred->sgid)); + seq_put_decimal_ull(m, "\t\t", from_kgid_munged(uns, cred->fsgid)); + seq_puts(m, "\n\tGroups:\t"); + gi = cred->group_info; + for (g = 0; g < gi->ngroups; g++) { + seq_put_decimal_ull(m, g ? " " : "", + from_kgid_munged(uns, gi->gid[g])); + } + seq_puts(m, "\n\tCapEff:\t"); + cap = cred->cap_effective; + CAP_FOR_EACH_U32(__capi) + seq_put_hex_ll(m, NULL, cap.cap[CAP_LAST_U32 - __capi], 8); + seq_putc(m, '\n'); + return 0; +} + +static __cold void __io_uring_show_fdinfo(struct io_ring_ctx *ctx, + struct seq_file *m) +{ + struct io_sq_data *sq = NULL; + struct io_overflow_cqe *ocqe; + struct io_rings *r = ctx->rings; + unsigned int sq_mask = ctx->sq_entries - 1, cq_mask = ctx->cq_entries - 1; + unsigned int sq_head = READ_ONCE(r->sq.head); + unsigned int sq_tail = READ_ONCE(r->sq.tail); + unsigned int cq_head = READ_ONCE(r->cq.head); + unsigned int cq_tail = READ_ONCE(r->cq.tail); + unsigned int cq_shift = 0; + unsigned int sq_entries, cq_entries; + bool has_lock; + bool is_cqe32 = (ctx->flags & IORING_SETUP_CQE32); + unsigned int i; + + if (is_cqe32) + cq_shift = 1; + + /* + * we may get imprecise sqe and cqe info if uring is actively running + * since we get cached_sq_head and cached_cq_tail without uring_lock + * and sq_tail and cq_head are changed by userspace. But it's ok since + * we usually use these info when it is stuck. + */ + seq_printf(m, "SqMask:\t0x%x\n", sq_mask); + seq_printf(m, "SqHead:\t%u\n", sq_head); + seq_printf(m, "SqTail:\t%u\n", sq_tail); + seq_printf(m, "CachedSqHead:\t%u\n", ctx->cached_sq_head); + seq_printf(m, "CqMask:\t0x%x\n", cq_mask); + seq_printf(m, "CqHead:\t%u\n", cq_head); + seq_printf(m, "CqTail:\t%u\n", cq_tail); + seq_printf(m, "CachedCqTail:\t%u\n", ctx->cached_cq_tail); + seq_printf(m, "SQEs:\t%u\n", sq_tail - ctx->cached_sq_head); + sq_entries = min(sq_tail - sq_head, ctx->sq_entries); + for (i = 0; i < sq_entries; i++) { + unsigned int entry = i + sq_head; + unsigned int sq_idx = READ_ONCE(ctx->sq_array[entry & sq_mask]); + struct io_uring_sqe *sqe; + + if (sq_idx > sq_mask) + continue; + sqe = &ctx->sq_sqes[sq_idx]; + seq_printf(m, "%5u: opcode:%d, fd:%d, flags:%x, user_data:%llu\n", + sq_idx, sqe->opcode, sqe->fd, sqe->flags, + sqe->user_data); + } + seq_printf(m, "CQEs:\t%u\n", cq_tail - cq_head); + cq_entries = min(cq_tail - cq_head, ctx->cq_entries); + for (i = 0; i < cq_entries; i++) { + unsigned int entry = i + cq_head; + struct io_uring_cqe *cqe = &r->cqes[(entry & cq_mask) << cq_shift]; + + if (!is_cqe32) { + seq_printf(m, "%5u: user_data:%llu, res:%d, flag:%x\n", + entry & cq_mask, cqe->user_data, cqe->res, + cqe->flags); + } else { + seq_printf(m, "%5u: user_data:%llu, res:%d, flag:%x, " + "extra1:%llu, extra2:%llu\n", + entry & cq_mask, cqe->user_data, cqe->res, + cqe->flags, cqe->big_cqe[0], cqe->big_cqe[1]); + } + } + + /* + * Avoid ABBA deadlock between the seq lock and the io_uring mutex, + * since fdinfo case grabs it in the opposite direction of normal use + * cases. If we fail to get the lock, we just don't iterate any + * structures that could be going away outside the io_uring mutex. + */ + has_lock = mutex_trylock(&ctx->uring_lock); + + if (has_lock && (ctx->flags & IORING_SETUP_SQPOLL)) { + sq = ctx->sq_data; + if (!sq->thread) + sq = NULL; + } + + seq_printf(m, "SqThread:\t%d\n", sq ? task_pid_nr(sq->thread) : -1); + seq_printf(m, "SqThreadCpu:\t%d\n", sq ? task_cpu(sq->thread) : -1); + seq_printf(m, "UserFiles:\t%u\n", ctx->nr_user_files); + for (i = 0; has_lock && i < ctx->nr_user_files; i++) { + struct file *f = io_file_from_index(ctx, i); + + if (f) + seq_printf(m, "%5u: %s\n", i, file_dentry(f)->d_iname); + else + seq_printf(m, "%5u: \n", i); + } + seq_printf(m, "UserBufs:\t%u\n", ctx->nr_user_bufs); + for (i = 0; has_lock && i < ctx->nr_user_bufs; i++) { + struct io_mapped_ubuf *buf = ctx->user_bufs[i]; + unsigned int len = buf->ubuf_end - buf->ubuf; + + seq_printf(m, "%5u: 0x%llx/%u\n", i, buf->ubuf, len); + } + if (has_lock && !xa_empty(&ctx->personalities)) { + unsigned long index; + const struct cred *cred; + + seq_printf(m, "Personalities:\n"); + xa_for_each(&ctx->personalities, index, cred) + io_uring_show_cred(m, index, cred); + } + if (has_lock) + mutex_unlock(&ctx->uring_lock); + + seq_puts(m, "PollList:\n"); + spin_lock(&ctx->completion_lock); + for (i = 0; i < (1U << ctx->cancel_hash_bits); i++) { + struct hlist_head *list = &ctx->cancel_hash[i]; + struct io_kiocb *req; + + hlist_for_each_entry(req, list, hash_node) + seq_printf(m, " op=%d, task_works=%d\n", req->opcode, + task_work_pending(req->task)); + } + + seq_puts(m, "CqOverflowList:\n"); + list_for_each_entry(ocqe, &ctx->cq_overflow_list, list) { + struct io_uring_cqe *cqe = &ocqe->cqe; + + seq_printf(m, " user_data=%llu, res=%d, flags=%x\n", + cqe->user_data, cqe->res, cqe->flags); + + } + + spin_unlock(&ctx->completion_lock); +} + +static __cold void io_uring_show_fdinfo(struct seq_file *m, struct file *f) +{ + struct io_ring_ctx *ctx = f->private_data; + + if (percpu_ref_tryget(&ctx->refs)) { + __io_uring_show_fdinfo(ctx, m); + percpu_ref_put(&ctx->refs); + } +} +#endif + +static const struct file_operations io_uring_fops = { + .release = io_uring_release, + .mmap = io_uring_mmap, +#ifndef CONFIG_MMU + .get_unmapped_area = io_uring_nommu_get_unmapped_area, + .mmap_capabilities = io_uring_nommu_mmap_capabilities, +#endif + .poll = io_uring_poll, +#ifdef CONFIG_PROC_FS + .show_fdinfo = io_uring_show_fdinfo, +#endif +}; + +static __cold int io_allocate_scq_urings(struct io_ring_ctx *ctx, + struct io_uring_params *p) +{ + struct io_rings *rings; + size_t size, sq_array_offset; + + /* make sure these are sane, as we already accounted them */ + ctx->sq_entries = p->sq_entries; + ctx->cq_entries = p->cq_entries; + + size = rings_size(ctx, p->sq_entries, p->cq_entries, &sq_array_offset); + if (size == SIZE_MAX) + return -EOVERFLOW; + + rings = io_mem_alloc(size); + if (!rings) + return -ENOMEM; + + ctx->rings = rings; + ctx->sq_array = (u32 *)((char *)rings + sq_array_offset); + rings->sq_ring_mask = p->sq_entries - 1; + rings->cq_ring_mask = p->cq_entries - 1; + rings->sq_ring_entries = p->sq_entries; + rings->cq_ring_entries = p->cq_entries; + + if (p->flags & IORING_SETUP_SQE128) + size = array_size(2 * sizeof(struct io_uring_sqe), p->sq_entries); + else + size = array_size(sizeof(struct io_uring_sqe), p->sq_entries); + if (size == SIZE_MAX) { + io_mem_free(ctx->rings); + ctx->rings = NULL; + return -EOVERFLOW; + } + + ctx->sq_sqes = io_mem_alloc(size); + if (!ctx->sq_sqes) { + io_mem_free(ctx->rings); + ctx->rings = NULL; + return -ENOMEM; + } + + return 0; +} + +static int io_uring_install_fd(struct io_ring_ctx *ctx, struct file *file) +{ + int ret, fd; + + fd = get_unused_fd_flags(O_RDWR | O_CLOEXEC); + if (fd < 0) + return fd; + + ret = io_uring_add_tctx_node(ctx); + if (ret) { + put_unused_fd(fd); + return ret; + } + fd_install(fd, file); + return fd; +} + +/* + * Allocate an anonymous fd, this is what constitutes the application + * visible backing of an io_uring instance. The application mmaps this + * fd to gain access to the SQ/CQ ring details. If UNIX sockets are enabled, + * we have to tie this fd to a socket for file garbage collection purposes. + */ +static struct file *io_uring_get_file(struct io_ring_ctx *ctx) +{ + struct file *file; +#if defined(CONFIG_UNIX) + int ret; + + ret = sock_create_kern(&init_net, PF_UNIX, SOCK_RAW, IPPROTO_IP, + &ctx->ring_sock); + if (ret) + return ERR_PTR(ret); +#endif + + file = anon_inode_getfile_secure("[io_uring]", &io_uring_fops, ctx, + O_RDWR | O_CLOEXEC, NULL); +#if defined(CONFIG_UNIX) + if (IS_ERR(file)) { + sock_release(ctx->ring_sock); + ctx->ring_sock = NULL; + } else { + ctx->ring_sock->file = file; + } +#endif + return file; +} + +static __cold int io_uring_create(unsigned entries, struct io_uring_params *p, + struct io_uring_params __user *params) +{ + struct io_ring_ctx *ctx; + struct file *file; + int ret; + + if (!entries) + return -EINVAL; + if (entries > IORING_MAX_ENTRIES) { + if (!(p->flags & IORING_SETUP_CLAMP)) + return -EINVAL; + entries = IORING_MAX_ENTRIES; + } + + /* + * Use twice as many entries for the CQ ring. It's possible for the + * application to drive a higher depth than the size of the SQ ring, + * since the sqes are only used at submission time. This allows for + * some flexibility in overcommitting a bit. If the application has + * set IORING_SETUP_CQSIZE, it will have passed in the desired number + * of CQ ring entries manually. + */ + p->sq_entries = roundup_pow_of_two(entries); + if (p->flags & IORING_SETUP_CQSIZE) { + /* + * If IORING_SETUP_CQSIZE is set, we do the same roundup + * to a power-of-two, if it isn't already. We do NOT impose + * any cq vs sq ring sizing. + */ + if (!p->cq_entries) + return -EINVAL; + if (p->cq_entries > IORING_MAX_CQ_ENTRIES) { + if (!(p->flags & IORING_SETUP_CLAMP)) + return -EINVAL; + p->cq_entries = IORING_MAX_CQ_ENTRIES; + } + p->cq_entries = roundup_pow_of_two(p->cq_entries); + if (p->cq_entries < p->sq_entries) + return -EINVAL; + } else { + p->cq_entries = 2 * p->sq_entries; + } + + ctx = io_ring_ctx_alloc(p); + if (!ctx) + return -ENOMEM; + + /* + * When SETUP_IOPOLL and SETUP_SQPOLL are both enabled, user + * space applications don't need to do io completion events + * polling again, they can rely on io_sq_thread to do polling + * work, which can reduce cpu usage and uring_lock contention. + */ + if (ctx->flags & IORING_SETUP_IOPOLL && + !(ctx->flags & IORING_SETUP_SQPOLL)) + ctx->syscall_iopoll = 1; + + ctx->compat = in_compat_syscall(); + if (!capable(CAP_IPC_LOCK)) + ctx->user = get_uid(current_user()); + + /* + * For SQPOLL, we just need a wakeup, always. For !SQPOLL, if + * COOP_TASKRUN is set, then IPIs are never needed by the app. + */ + ret = -EINVAL; + if (ctx->flags & IORING_SETUP_SQPOLL) { + /* IPI related flags don't make sense with SQPOLL */ + if (ctx->flags & (IORING_SETUP_COOP_TASKRUN | + IORING_SETUP_TASKRUN_FLAG)) + goto err; + ctx->notify_method = TWA_SIGNAL_NO_IPI; + } else if (ctx->flags & IORING_SETUP_COOP_TASKRUN) { + ctx->notify_method = TWA_SIGNAL_NO_IPI; + } else { + if (ctx->flags & IORING_SETUP_TASKRUN_FLAG) + goto err; + ctx->notify_method = TWA_SIGNAL; + } + + /* + * This is just grabbed for accounting purposes. When a process exits, + * the mm is exited and dropped before the files, hence we need to hang + * on to this mm purely for the purposes of being able to unaccount + * memory (locked/pinned vm). It's not used for anything else. + */ + mmgrab(current->mm); + ctx->mm_account = current->mm; + + ret = io_allocate_scq_urings(ctx, p); + if (ret) + goto err; + + ret = io_sq_offload_create(ctx, p); + if (ret) + goto err; + /* always set a rsrc node */ + ret = io_rsrc_node_switch_start(ctx); + if (ret) + goto err; + io_rsrc_node_switch(ctx, NULL); + + memset(&p->sq_off, 0, sizeof(p->sq_off)); + p->sq_off.head = offsetof(struct io_rings, sq.head); + p->sq_off.tail = offsetof(struct io_rings, sq.tail); + p->sq_off.ring_mask = offsetof(struct io_rings, sq_ring_mask); + p->sq_off.ring_entries = offsetof(struct io_rings, sq_ring_entries); + p->sq_off.flags = offsetof(struct io_rings, sq_flags); + p->sq_off.dropped = offsetof(struct io_rings, sq_dropped); + p->sq_off.array = (char *)ctx->sq_array - (char *)ctx->rings; + + memset(&p->cq_off, 0, sizeof(p->cq_off)); + p->cq_off.head = offsetof(struct io_rings, cq.head); + p->cq_off.tail = offsetof(struct io_rings, cq.tail); + p->cq_off.ring_mask = offsetof(struct io_rings, cq_ring_mask); + p->cq_off.ring_entries = offsetof(struct io_rings, cq_ring_entries); + p->cq_off.overflow = offsetof(struct io_rings, cq_overflow); + p->cq_off.cqes = offsetof(struct io_rings, cqes); + p->cq_off.flags = offsetof(struct io_rings, cq_flags); + + p->features = IORING_FEAT_SINGLE_MMAP | IORING_FEAT_NODROP | + IORING_FEAT_SUBMIT_STABLE | IORING_FEAT_RW_CUR_POS | + IORING_FEAT_CUR_PERSONALITY | IORING_FEAT_FAST_POLL | + IORING_FEAT_POLL_32BITS | IORING_FEAT_SQPOLL_NONFIXED | + IORING_FEAT_EXT_ARG | IORING_FEAT_NATIVE_WORKERS | + IORING_FEAT_RSRC_TAGS | IORING_FEAT_CQE_SKIP | + IORING_FEAT_LINKED_FILE; + + if (copy_to_user(params, p, sizeof(*p))) { + ret = -EFAULT; + goto err; + } + + file = io_uring_get_file(ctx); + if (IS_ERR(file)) { + ret = PTR_ERR(file); + goto err; + } + + /* + * Install ring fd as the very last thing, so we don't risk someone + * having closed it before we finish setup + */ + ret = io_uring_install_fd(ctx, file); + if (ret < 0) { + /* fput will clean it up */ + fput(file); + return ret; + } + + trace_io_uring_create(ret, ctx, p->sq_entries, p->cq_entries, p->flags); + return ret; +err: + io_ring_ctx_wait_and_kill(ctx); + return ret; +} + +/* + * Sets up an aio uring context, and returns the fd. Applications asks for a + * ring size, we return the actual sq/cq ring sizes (among other things) in the + * params structure passed in. + */ +static long io_uring_setup(u32 entries, struct io_uring_params __user *params) +{ + struct io_uring_params p; + int i; + + if (copy_from_user(&p, params, sizeof(p))) + return -EFAULT; + for (i = 0; i < ARRAY_SIZE(p.resv); i++) { + if (p.resv[i]) + return -EINVAL; + } + + if (p.flags & ~(IORING_SETUP_IOPOLL | IORING_SETUP_SQPOLL | + IORING_SETUP_SQ_AFF | IORING_SETUP_CQSIZE | + IORING_SETUP_CLAMP | IORING_SETUP_ATTACH_WQ | + IORING_SETUP_R_DISABLED | IORING_SETUP_SUBMIT_ALL | + IORING_SETUP_COOP_TASKRUN | IORING_SETUP_TASKRUN_FLAG | + IORING_SETUP_SQE128 | IORING_SETUP_CQE32)) + return -EINVAL; + + return io_uring_create(entries, &p, params); +} + +SYSCALL_DEFINE2(io_uring_setup, u32, entries, + struct io_uring_params __user *, params) +{ + return io_uring_setup(entries, params); +} + +static __cold int io_probe(struct io_ring_ctx *ctx, void __user *arg, + unsigned nr_args) +{ + struct io_uring_probe *p; + size_t size; + int i, ret; + + size = struct_size(p, ops, nr_args); + if (size == SIZE_MAX) + return -EOVERFLOW; + p = kzalloc(size, GFP_KERNEL); + if (!p) + return -ENOMEM; + + ret = -EFAULT; + if (copy_from_user(p, arg, size)) + goto out; + ret = -EINVAL; + if (memchr_inv(p, 0, size)) + goto out; + + p->last_op = IORING_OP_LAST - 1; + if (nr_args > IORING_OP_LAST) + nr_args = IORING_OP_LAST; + + for (i = 0; i < nr_args; i++) { + p->ops[i].op = i; + if (!io_op_defs[i].not_supported) + p->ops[i].flags = IO_URING_OP_SUPPORTED; + } + p->ops_len = i; + + ret = 0; + if (copy_to_user(arg, p, size)) + ret = -EFAULT; +out: + kfree(p); + return ret; +} + +static int io_register_personality(struct io_ring_ctx *ctx) +{ + const struct cred *creds; + u32 id; + int ret; + + creds = get_current_cred(); + + ret = xa_alloc_cyclic(&ctx->personalities, &id, (void *)creds, + XA_LIMIT(0, USHRT_MAX), &ctx->pers_next, GFP_KERNEL); + if (ret < 0) { + put_cred(creds); + return ret; + } + return id; +} + +static __cold int io_register_restrictions(struct io_ring_ctx *ctx, + void __user *arg, unsigned int nr_args) +{ + struct io_uring_restriction *res; + size_t size; + int i, ret; + + /* Restrictions allowed only if rings started disabled */ + if (!(ctx->flags & IORING_SETUP_R_DISABLED)) + return -EBADFD; + + /* We allow only a single restrictions registration */ + if (ctx->restrictions.registered) + return -EBUSY; + + if (!arg || nr_args > IORING_MAX_RESTRICTIONS) + return -EINVAL; + + size = array_size(nr_args, sizeof(*res)); + if (size == SIZE_MAX) + return -EOVERFLOW; + + res = memdup_user(arg, size); + if (IS_ERR(res)) + return PTR_ERR(res); + + ret = 0; + + for (i = 0; i < nr_args; i++) { + switch (res[i].opcode) { + case IORING_RESTRICTION_REGISTER_OP: + if (res[i].register_op >= IORING_REGISTER_LAST) { + ret = -EINVAL; + goto out; + } + + __set_bit(res[i].register_op, + ctx->restrictions.register_op); + break; + case IORING_RESTRICTION_SQE_OP: + if (res[i].sqe_op >= IORING_OP_LAST) { + ret = -EINVAL; + goto out; + } + + __set_bit(res[i].sqe_op, ctx->restrictions.sqe_op); + break; + case IORING_RESTRICTION_SQE_FLAGS_ALLOWED: + ctx->restrictions.sqe_flags_allowed = res[i].sqe_flags; + break; + case IORING_RESTRICTION_SQE_FLAGS_REQUIRED: + ctx->restrictions.sqe_flags_required = res[i].sqe_flags; + break; + default: + ret = -EINVAL; + goto out; + } + } + +out: + /* Reset all restrictions if an error happened */ + if (ret != 0) + memset(&ctx->restrictions, 0, sizeof(ctx->restrictions)); + else + ctx->restrictions.registered = true; + + kfree(res); + return ret; +} + +static int io_register_enable_rings(struct io_ring_ctx *ctx) +{ + if (!(ctx->flags & IORING_SETUP_R_DISABLED)) + return -EBADFD; + + if (ctx->restrictions.registered) + ctx->restricted = 1; + + ctx->flags &= ~IORING_SETUP_R_DISABLED; + if (ctx->sq_data && wq_has_sleeper(&ctx->sq_data->wait)) + wake_up(&ctx->sq_data->wait); + return 0; +} + +static int __io_register_rsrc_update(struct io_ring_ctx *ctx, unsigned type, + struct io_uring_rsrc_update2 *up, + unsigned nr_args) +{ + __u32 tmp; + int err; + + if (check_add_overflow(up->offset, nr_args, &tmp)) + return -EOVERFLOW; + err = io_rsrc_node_switch_start(ctx); + if (err) + return err; + + switch (type) { + case IORING_RSRC_FILE: + return __io_sqe_files_update(ctx, up, nr_args); + case IORING_RSRC_BUFFER: + return __io_sqe_buffers_update(ctx, up, nr_args); + } + return -EINVAL; +} + +static int io_register_files_update(struct io_ring_ctx *ctx, void __user *arg, + unsigned nr_args) +{ + struct io_uring_rsrc_update2 up; + + if (!nr_args) + return -EINVAL; + memset(&up, 0, sizeof(up)); + if (copy_from_user(&up, arg, sizeof(struct io_uring_rsrc_update))) + return -EFAULT; + if (up.resv || up.resv2) + return -EINVAL; + return __io_register_rsrc_update(ctx, IORING_RSRC_FILE, &up, nr_args); +} + +static int io_register_rsrc_update(struct io_ring_ctx *ctx, void __user *arg, + unsigned size, unsigned type) +{ + struct io_uring_rsrc_update2 up; + + if (size != sizeof(up)) + return -EINVAL; + if (copy_from_user(&up, arg, sizeof(up))) + return -EFAULT; + if (!up.nr || up.resv || up.resv2) + return -EINVAL; + return __io_register_rsrc_update(ctx, type, &up, up.nr); +} + +static __cold int io_register_rsrc(struct io_ring_ctx *ctx, void __user *arg, + unsigned int size, unsigned int type) +{ + struct io_uring_rsrc_register rr; + + /* keep it extendible */ + if (size != sizeof(rr)) + return -EINVAL; + + memset(&rr, 0, sizeof(rr)); + if (copy_from_user(&rr, arg, size)) + return -EFAULT; + if (!rr.nr || rr.resv2) + return -EINVAL; + if (rr.flags & ~IORING_RSRC_REGISTER_SPARSE) + return -EINVAL; + + switch (type) { + case IORING_RSRC_FILE: + if (rr.flags & IORING_RSRC_REGISTER_SPARSE && rr.data) + break; + return io_sqe_files_register(ctx, u64_to_user_ptr(rr.data), + rr.nr, u64_to_user_ptr(rr.tags)); + case IORING_RSRC_BUFFER: + if (rr.flags & IORING_RSRC_REGISTER_SPARSE && rr.data) + break; + return io_sqe_buffers_register(ctx, u64_to_user_ptr(rr.data), + rr.nr, u64_to_user_ptr(rr.tags)); + } + return -EINVAL; +} + +static __cold int io_register_iowq_aff(struct io_ring_ctx *ctx, + void __user *arg, unsigned len) +{ + struct io_uring_task *tctx = current->io_uring; + cpumask_var_t new_mask; + int ret; + + if (!tctx || !tctx->io_wq) + return -EINVAL; + + if (!alloc_cpumask_var(&new_mask, GFP_KERNEL)) + return -ENOMEM; + + cpumask_clear(new_mask); + if (len > cpumask_size()) + len = cpumask_size(); + + if (in_compat_syscall()) { + ret = compat_get_bitmap(cpumask_bits(new_mask), + (const compat_ulong_t __user *)arg, + len * 8 /* CHAR_BIT */); + } else { + ret = copy_from_user(new_mask, arg, len); + } + + if (ret) { + free_cpumask_var(new_mask); + return -EFAULT; + } + + ret = io_wq_cpu_affinity(tctx->io_wq, new_mask); + free_cpumask_var(new_mask); + return ret; +} + +static __cold int io_unregister_iowq_aff(struct io_ring_ctx *ctx) +{ + struct io_uring_task *tctx = current->io_uring; + + if (!tctx || !tctx->io_wq) + return -EINVAL; + + return io_wq_cpu_affinity(tctx->io_wq, NULL); +} + +static __cold int io_register_iowq_max_workers(struct io_ring_ctx *ctx, + void __user *arg) + __must_hold(&ctx->uring_lock) +{ + struct io_tctx_node *node; + struct io_uring_task *tctx = NULL; + struct io_sq_data *sqd = NULL; + __u32 new_count[2]; + int i, ret; + + if (copy_from_user(new_count, arg, sizeof(new_count))) + return -EFAULT; + for (i = 0; i < ARRAY_SIZE(new_count); i++) + if (new_count[i] > INT_MAX) + return -EINVAL; + + if (ctx->flags & IORING_SETUP_SQPOLL) { + sqd = ctx->sq_data; + if (sqd) { + /* + * Observe the correct sqd->lock -> ctx->uring_lock + * ordering. Fine to drop uring_lock here, we hold + * a ref to the ctx. + */ + refcount_inc(&sqd->refs); + mutex_unlock(&ctx->uring_lock); + mutex_lock(&sqd->lock); + mutex_lock(&ctx->uring_lock); + if (sqd->thread) + tctx = sqd->thread->io_uring; + } + } else { + tctx = current->io_uring; + } + + BUILD_BUG_ON(sizeof(new_count) != sizeof(ctx->iowq_limits)); + + for (i = 0; i < ARRAY_SIZE(new_count); i++) + if (new_count[i]) + ctx->iowq_limits[i] = new_count[i]; + ctx->iowq_limits_set = true; + + if (tctx && tctx->io_wq) { + ret = io_wq_max_workers(tctx->io_wq, new_count); + if (ret) + goto err; + } else { + memset(new_count, 0, sizeof(new_count)); + } + + if (sqd) { + mutex_unlock(&sqd->lock); + io_put_sq_data(sqd); + } + + if (copy_to_user(arg, new_count, sizeof(new_count))) + return -EFAULT; + + /* that's it for SQPOLL, only the SQPOLL task creates requests */ + if (sqd) + return 0; + + /* now propagate the restriction to all registered users */ + list_for_each_entry(node, &ctx->tctx_list, ctx_node) { + struct io_uring_task *tctx = node->task->io_uring; + + if (WARN_ON_ONCE(!tctx->io_wq)) + continue; + + for (i = 0; i < ARRAY_SIZE(new_count); i++) + new_count[i] = ctx->iowq_limits[i]; + /* ignore errors, it always returns zero anyway */ + (void)io_wq_max_workers(tctx->io_wq, new_count); + } + return 0; +err: + if (sqd) { + mutex_unlock(&sqd->lock); + io_put_sq_data(sqd); + } + return ret; +} + +static int io_register_pbuf_ring(struct io_ring_ctx *ctx, void __user *arg) +{ + struct io_uring_buf_ring *br; + struct io_uring_buf_reg reg; + struct io_buffer_list *bl, *free_bl = NULL; + struct page **pages; + int nr_pages; + + if (copy_from_user(®, arg, sizeof(reg))) + return -EFAULT; + + if (reg.pad || reg.resv[0] || reg.resv[1] || reg.resv[2]) + return -EINVAL; + if (!reg.ring_addr) + return -EFAULT; + if (reg.ring_addr & ~PAGE_MASK) + return -EINVAL; + if (!is_power_of_2(reg.ring_entries)) + return -EINVAL; + + /* cannot disambiguate full vs empty due to head/tail size */ + if (reg.ring_entries >= 65536) + return -EINVAL; + + if (unlikely(reg.bgid < BGID_ARRAY && !ctx->io_bl)) { + int ret = io_init_bl_list(ctx); + if (ret) + return ret; + } + + bl = io_buffer_get_list(ctx, reg.bgid); + if (bl) { + /* if mapped buffer ring OR classic exists, don't allow */ + if (bl->buf_nr_pages || !list_empty(&bl->buf_list)) + return -EEXIST; + } else { + free_bl = bl = kzalloc(sizeof(*bl), GFP_KERNEL); + if (!bl) + return -ENOMEM; + } + + pages = io_pin_pages(reg.ring_addr, + struct_size(br, bufs, reg.ring_entries), + &nr_pages); + if (IS_ERR(pages)) { + kfree(free_bl); + return PTR_ERR(pages); + } + + br = page_address(pages[0]); + bl->buf_pages = pages; + bl->buf_nr_pages = nr_pages; + bl->nr_entries = reg.ring_entries; + bl->buf_ring = br; + bl->mask = reg.ring_entries - 1; + io_buffer_add_list(ctx, bl, reg.bgid); + return 0; +} + +static int io_unregister_pbuf_ring(struct io_ring_ctx *ctx, void __user *arg) +{ + struct io_uring_buf_reg reg; + struct io_buffer_list *bl; + + if (copy_from_user(®, arg, sizeof(reg))) + return -EFAULT; + if (reg.pad || reg.resv[0] || reg.resv[1] || reg.resv[2]) + return -EINVAL; + + bl = io_buffer_get_list(ctx, reg.bgid); + if (!bl) + return -ENOENT; + if (!bl->buf_nr_pages) + return -EINVAL; + + __io_remove_buffers(ctx, bl, -1U); + if (bl->bgid >= BGID_ARRAY) { + xa_erase(&ctx->io_bl_xa, bl->bgid); + kfree(bl); + } + return 0; +} + +static int __io_uring_register(struct io_ring_ctx *ctx, unsigned opcode, + void __user *arg, unsigned nr_args) + __releases(ctx->uring_lock) + __acquires(ctx->uring_lock) +{ + int ret; + + /* + * We're inside the ring mutex, if the ref is already dying, then + * someone else killed the ctx or is already going through + * io_uring_register(). + */ + if (percpu_ref_is_dying(&ctx->refs)) + return -ENXIO; + + if (ctx->restricted) { + opcode = array_index_nospec(opcode, IORING_REGISTER_LAST); + if (!test_bit(opcode, ctx->restrictions.register_op)) + return -EACCES; + } + + switch (opcode) { + case IORING_REGISTER_BUFFERS: + ret = -EFAULT; + if (!arg) + break; + ret = io_sqe_buffers_register(ctx, arg, nr_args, NULL); + break; + case IORING_UNREGISTER_BUFFERS: + ret = -EINVAL; + if (arg || nr_args) + break; + ret = io_sqe_buffers_unregister(ctx); + break; + case IORING_REGISTER_FILES: + ret = -EFAULT; + if (!arg) + break; + ret = io_sqe_files_register(ctx, arg, nr_args, NULL); + break; + case IORING_UNREGISTER_FILES: + ret = -EINVAL; + if (arg || nr_args) + break; + ret = io_sqe_files_unregister(ctx); + break; + case IORING_REGISTER_FILES_UPDATE: + ret = io_register_files_update(ctx, arg, nr_args); + break; + case IORING_REGISTER_EVENTFD: + ret = -EINVAL; + if (nr_args != 1) + break; + ret = io_eventfd_register(ctx, arg, 0); + break; + case IORING_REGISTER_EVENTFD_ASYNC: + ret = -EINVAL; + if (nr_args != 1) + break; + ret = io_eventfd_register(ctx, arg, 1); + break; + case IORING_UNREGISTER_EVENTFD: + ret = -EINVAL; + if (arg || nr_args) + break; + ret = io_eventfd_unregister(ctx); + break; + case IORING_REGISTER_PROBE: + ret = -EINVAL; + if (!arg || nr_args > 256) + break; + ret = io_probe(ctx, arg, nr_args); + break; + case IORING_REGISTER_PERSONALITY: + ret = -EINVAL; + if (arg || nr_args) + break; + ret = io_register_personality(ctx); + break; + case IORING_UNREGISTER_PERSONALITY: + ret = -EINVAL; + if (arg) + break; + ret = io_unregister_personality(ctx, nr_args); + break; + case IORING_REGISTER_ENABLE_RINGS: + ret = -EINVAL; + if (arg || nr_args) + break; + ret = io_register_enable_rings(ctx); + break; + case IORING_REGISTER_RESTRICTIONS: + ret = io_register_restrictions(ctx, arg, nr_args); + break; + case IORING_REGISTER_FILES2: + ret = io_register_rsrc(ctx, arg, nr_args, IORING_RSRC_FILE); + break; + case IORING_REGISTER_FILES_UPDATE2: + ret = io_register_rsrc_update(ctx, arg, nr_args, + IORING_RSRC_FILE); + break; + case IORING_REGISTER_BUFFERS2: + ret = io_register_rsrc(ctx, arg, nr_args, IORING_RSRC_BUFFER); + break; + case IORING_REGISTER_BUFFERS_UPDATE: + ret = io_register_rsrc_update(ctx, arg, nr_args, + IORING_RSRC_BUFFER); + break; + case IORING_REGISTER_IOWQ_AFF: + ret = -EINVAL; + if (!arg || !nr_args) + break; + ret = io_register_iowq_aff(ctx, arg, nr_args); + break; + case IORING_UNREGISTER_IOWQ_AFF: + ret = -EINVAL; + if (arg || nr_args) + break; + ret = io_unregister_iowq_aff(ctx); + break; + case IORING_REGISTER_IOWQ_MAX_WORKERS: + ret = -EINVAL; + if (!arg || nr_args != 2) + break; + ret = io_register_iowq_max_workers(ctx, arg); + break; + case IORING_REGISTER_RING_FDS: + ret = io_ringfd_register(ctx, arg, nr_args); + break; + case IORING_UNREGISTER_RING_FDS: + ret = io_ringfd_unregister(ctx, arg, nr_args); + break; + case IORING_REGISTER_PBUF_RING: + ret = -EINVAL; + if (!arg || nr_args != 1) + break; + ret = io_register_pbuf_ring(ctx, arg); + break; + case IORING_UNREGISTER_PBUF_RING: + ret = -EINVAL; + if (!arg || nr_args != 1) + break; + ret = io_unregister_pbuf_ring(ctx, arg); + break; + default: + ret = -EINVAL; + break; + } + + return ret; +} + +SYSCALL_DEFINE4(io_uring_register, unsigned int, fd, unsigned int, opcode, + void __user *, arg, unsigned int, nr_args) +{ + struct io_ring_ctx *ctx; + long ret = -EBADF; + struct fd f; + + if (opcode >= IORING_REGISTER_LAST) + return -EINVAL; + + f = fdget(fd); + if (!f.file) + return -EBADF; + + ret = -EOPNOTSUPP; + if (f.file->f_op != &io_uring_fops) + goto out_fput; + + ctx = f.file->private_data; + + io_run_task_work(); + + mutex_lock(&ctx->uring_lock); + ret = __io_uring_register(ctx, opcode, arg, nr_args); + mutex_unlock(&ctx->uring_lock); + trace_io_uring_register(ctx, opcode, ctx->nr_user_files, ctx->nr_user_bufs, ret); +out_fput: + fdput(f); + return ret; +} + +static int io_no_issue(struct io_kiocb *req, unsigned int issue_flags) +{ + WARN_ON_ONCE(1); + return -ECANCELED; +} + +static const struct io_op_def io_op_defs[] = { + [IORING_OP_NOP] = { + .audit_skip = 1, + .iopoll = 1, + .prep = io_nop_prep, + .issue = io_nop, + }, + [IORING_OP_READV] = { + .needs_file = 1, + .unbound_nonreg_file = 1, + .pollin = 1, + .buffer_select = 1, + .needs_async_setup = 1, + .plug = 1, + .audit_skip = 1, + .ioprio = 1, + .iopoll = 1, + .async_size = sizeof(struct io_async_rw), + .prep = io_prep_rw, + .issue = io_read, + }, + [IORING_OP_WRITEV] = { + .needs_file = 1, + .hash_reg_file = 1, + .unbound_nonreg_file = 1, + .pollout = 1, + .needs_async_setup = 1, + .plug = 1, + .audit_skip = 1, + .ioprio = 1, + .iopoll = 1, + .async_size = sizeof(struct io_async_rw), + .prep = io_prep_rw, + .issue = io_write, + }, + [IORING_OP_FSYNC] = { + .needs_file = 1, + .audit_skip = 1, + .prep = io_fsync_prep, + .issue = io_fsync, + }, + [IORING_OP_READ_FIXED] = { + .needs_file = 1, + .unbound_nonreg_file = 1, + .pollin = 1, + .plug = 1, + .audit_skip = 1, + .ioprio = 1, + .iopoll = 1, + .async_size = sizeof(struct io_async_rw), + .prep = io_prep_rw, + .issue = io_read, + }, + [IORING_OP_WRITE_FIXED] = { + .needs_file = 1, + .hash_reg_file = 1, + .unbound_nonreg_file = 1, + .pollout = 1, + .plug = 1, + .audit_skip = 1, + .ioprio = 1, + .iopoll = 1, + .async_size = sizeof(struct io_async_rw), + .prep = io_prep_rw, + .issue = io_write, + }, + [IORING_OP_POLL_ADD] = { + .needs_file = 1, + .unbound_nonreg_file = 1, + .audit_skip = 1, + .prep = io_poll_add_prep, + .issue = io_poll_add, + }, + [IORING_OP_POLL_REMOVE] = { + .audit_skip = 1, + .prep = io_poll_remove_prep, + .issue = io_poll_remove, + }, + [IORING_OP_SYNC_FILE_RANGE] = { + .needs_file = 1, + .audit_skip = 1, + .prep = io_sfr_prep, + .issue = io_sync_file_range, + }, + [IORING_OP_SENDMSG] = { + .needs_file = 1, + .unbound_nonreg_file = 1, + .pollout = 1, + .needs_async_setup = 1, + .ioprio = 1, + .async_size = sizeof(struct io_async_msghdr), + .prep = io_sendmsg_prep, + .issue = io_sendmsg, + }, + [IORING_OP_RECVMSG] = { + .needs_file = 1, + .unbound_nonreg_file = 1, + .pollin = 1, + .buffer_select = 1, + .needs_async_setup = 1, + .ioprio = 1, + .async_size = sizeof(struct io_async_msghdr), + .prep = io_recvmsg_prep, + .issue = io_recvmsg, + }, + [IORING_OP_TIMEOUT] = { + .audit_skip = 1, + .async_size = sizeof(struct io_timeout_data), + .prep = io_timeout_prep, + .issue = io_timeout, + }, + [IORING_OP_TIMEOUT_REMOVE] = { + /* used by timeout updates' prep() */ + .audit_skip = 1, + .prep = io_timeout_remove_prep, + .issue = io_timeout_remove, + }, + [IORING_OP_ACCEPT] = { + .needs_file = 1, + .unbound_nonreg_file = 1, + .pollin = 1, + .poll_exclusive = 1, + .ioprio = 1, /* used for flags */ + .prep = io_accept_prep, + .issue = io_accept, + }, + [IORING_OP_ASYNC_CANCEL] = { + .audit_skip = 1, + .prep = io_async_cancel_prep, + .issue = io_async_cancel, + }, + [IORING_OP_LINK_TIMEOUT] = { + .audit_skip = 1, + .async_size = sizeof(struct io_timeout_data), + .prep = io_link_timeout_prep, + .issue = io_no_issue, + }, + [IORING_OP_CONNECT] = { + .needs_file = 1, + .unbound_nonreg_file = 1, + .pollout = 1, + .needs_async_setup = 1, + .async_size = sizeof(struct io_async_connect), + .prep = io_connect_prep, + .issue = io_connect, + }, + [IORING_OP_FALLOCATE] = { + .needs_file = 1, + .prep = io_fallocate_prep, + .issue = io_fallocate, + }, + [IORING_OP_OPENAT] = { + .prep = io_openat_prep, + .issue = io_openat, + }, + [IORING_OP_CLOSE] = { + .prep = io_close_prep, + .issue = io_close, + }, + [IORING_OP_FILES_UPDATE] = { + .audit_skip = 1, + .iopoll = 1, + .prep = io_files_update_prep, + .issue = io_files_update, + }, + [IORING_OP_STATX] = { + .audit_skip = 1, + .prep = io_statx_prep, + .issue = io_statx, + }, + [IORING_OP_READ] = { + .needs_file = 1, + .unbound_nonreg_file = 1, + .pollin = 1, + .buffer_select = 1, + .plug = 1, + .audit_skip = 1, + .ioprio = 1, + .iopoll = 1, + .async_size = sizeof(struct io_async_rw), + .prep = io_prep_rw, + .issue = io_read, + }, + [IORING_OP_WRITE] = { + .needs_file = 1, + .hash_reg_file = 1, + .unbound_nonreg_file = 1, + .pollout = 1, + .plug = 1, + .audit_skip = 1, + .ioprio = 1, + .iopoll = 1, + .async_size = sizeof(struct io_async_rw), + .prep = io_prep_rw, + .issue = io_write, + }, + [IORING_OP_FADVISE] = { + .needs_file = 1, + .audit_skip = 1, + .prep = io_fadvise_prep, + .issue = io_fadvise, + }, + [IORING_OP_MADVISE] = { + .prep = io_madvise_prep, + .issue = io_madvise, + }, + [IORING_OP_SEND] = { + .needs_file = 1, + .unbound_nonreg_file = 1, + .pollout = 1, + .audit_skip = 1, + .ioprio = 1, + .prep = io_sendmsg_prep, + .issue = io_send, + }, + [IORING_OP_RECV] = { + .needs_file = 1, + .unbound_nonreg_file = 1, + .pollin = 1, + .buffer_select = 1, + .audit_skip = 1, + .ioprio = 1, + .prep = io_recvmsg_prep, + .issue = io_recv, + }, + [IORING_OP_OPENAT2] = { + .prep = io_openat2_prep, + .issue = io_openat2, + }, + [IORING_OP_EPOLL_CTL] = { + .unbound_nonreg_file = 1, + .audit_skip = 1, + .prep = io_epoll_ctl_prep, + .issue = io_epoll_ctl, + }, + [IORING_OP_SPLICE] = { + .needs_file = 1, + .hash_reg_file = 1, + .unbound_nonreg_file = 1, + .audit_skip = 1, + .prep = io_splice_prep, + .issue = io_splice, + }, + [IORING_OP_PROVIDE_BUFFERS] = { + .audit_skip = 1, + .iopoll = 1, + .prep = io_provide_buffers_prep, + .issue = io_provide_buffers, + }, + [IORING_OP_REMOVE_BUFFERS] = { + .audit_skip = 1, + .iopoll = 1, + .prep = io_remove_buffers_prep, + .issue = io_remove_buffers, + }, + [IORING_OP_TEE] = { + .needs_file = 1, + .hash_reg_file = 1, + .unbound_nonreg_file = 1, + .audit_skip = 1, + .prep = io_tee_prep, + .issue = io_tee, + }, + [IORING_OP_SHUTDOWN] = { + .needs_file = 1, + .prep = io_shutdown_prep, + .issue = io_shutdown, + }, + [IORING_OP_RENAMEAT] = { + .prep = io_renameat_prep, + .issue = io_renameat, + }, + [IORING_OP_UNLINKAT] = { + .prep = io_unlinkat_prep, + .issue = io_unlinkat, + }, + [IORING_OP_MKDIRAT] = { + .prep = io_mkdirat_prep, + .issue = io_mkdirat, + }, + [IORING_OP_SYMLINKAT] = { + .prep = io_symlinkat_prep, + .issue = io_symlinkat, + }, + [IORING_OP_LINKAT] = { + .prep = io_linkat_prep, + .issue = io_linkat, + }, + [IORING_OP_MSG_RING] = { + .needs_file = 1, + .iopoll = 1, + .prep = io_msg_ring_prep, + .issue = io_msg_ring, + }, + [IORING_OP_FSETXATTR] = { + .needs_file = 1, + .prep = io_fsetxattr_prep, + .issue = io_fsetxattr, + }, + [IORING_OP_SETXATTR] = { + .prep = io_setxattr_prep, + .issue = io_setxattr, + }, + [IORING_OP_FGETXATTR] = { + .needs_file = 1, + .prep = io_fgetxattr_prep, + .issue = io_fgetxattr, + }, + [IORING_OP_GETXATTR] = { + .prep = io_getxattr_prep, + .issue = io_getxattr, + }, + [IORING_OP_SOCKET] = { + .audit_skip = 1, + .prep = io_socket_prep, + .issue = io_socket, + }, + [IORING_OP_URING_CMD] = { + .needs_file = 1, + .plug = 1, + .needs_async_setup = 1, + .async_size = uring_cmd_pdu_size(1), + .prep = io_uring_cmd_prep, + .issue = io_uring_cmd, + }, +}; + +static int __init io_uring_init(void) +{ + int i; + +#define __BUILD_BUG_VERIFY_ELEMENT(stype, eoffset, etype, ename) do { \ + BUILD_BUG_ON(offsetof(stype, ename) != eoffset); \ + BUILD_BUG_ON(sizeof(etype) != sizeof_field(stype, ename)); \ +} while (0) + +#define BUILD_BUG_SQE_ELEM(eoffset, etype, ename) \ + __BUILD_BUG_VERIFY_ELEMENT(struct io_uring_sqe, eoffset, etype, ename) + BUILD_BUG_ON(sizeof(struct io_uring_sqe) != 64); + BUILD_BUG_SQE_ELEM(0, __u8, opcode); + BUILD_BUG_SQE_ELEM(1, __u8, flags); + BUILD_BUG_SQE_ELEM(2, __u16, ioprio); + BUILD_BUG_SQE_ELEM(4, __s32, fd); + BUILD_BUG_SQE_ELEM(8, __u64, off); + BUILD_BUG_SQE_ELEM(8, __u64, addr2); + BUILD_BUG_SQE_ELEM(16, __u64, addr); + BUILD_BUG_SQE_ELEM(16, __u64, splice_off_in); + BUILD_BUG_SQE_ELEM(24, __u32, len); + BUILD_BUG_SQE_ELEM(28, __kernel_rwf_t, rw_flags); + BUILD_BUG_SQE_ELEM(28, /* compat */ int, rw_flags); + BUILD_BUG_SQE_ELEM(28, /* compat */ __u32, rw_flags); + BUILD_BUG_SQE_ELEM(28, __u32, fsync_flags); + BUILD_BUG_SQE_ELEM(28, /* compat */ __u16, poll_events); + BUILD_BUG_SQE_ELEM(28, __u32, poll32_events); + BUILD_BUG_SQE_ELEM(28, __u32, sync_range_flags); + BUILD_BUG_SQE_ELEM(28, __u32, msg_flags); + BUILD_BUG_SQE_ELEM(28, __u32, timeout_flags); + BUILD_BUG_SQE_ELEM(28, __u32, accept_flags); + BUILD_BUG_SQE_ELEM(28, __u32, cancel_flags); + BUILD_BUG_SQE_ELEM(28, __u32, open_flags); + BUILD_BUG_SQE_ELEM(28, __u32, statx_flags); + BUILD_BUG_SQE_ELEM(28, __u32, fadvise_advice); + BUILD_BUG_SQE_ELEM(28, __u32, splice_flags); + BUILD_BUG_SQE_ELEM(32, __u64, user_data); + BUILD_BUG_SQE_ELEM(40, __u16, buf_index); + BUILD_BUG_SQE_ELEM(40, __u16, buf_group); + BUILD_BUG_SQE_ELEM(42, __u16, personality); + BUILD_BUG_SQE_ELEM(44, __s32, splice_fd_in); + BUILD_BUG_SQE_ELEM(44, __u32, file_index); + BUILD_BUG_SQE_ELEM(48, __u64, addr3); + + BUILD_BUG_ON(sizeof(struct io_uring_files_update) != + sizeof(struct io_uring_rsrc_update)); + BUILD_BUG_ON(sizeof(struct io_uring_rsrc_update) > + sizeof(struct io_uring_rsrc_update2)); + + /* ->buf_index is u16 */ + BUILD_BUG_ON(IORING_MAX_REG_BUFFERS >= (1u << 16)); + BUILD_BUG_ON(BGID_ARRAY * sizeof(struct io_buffer_list) > PAGE_SIZE); + BUILD_BUG_ON(offsetof(struct io_uring_buf_ring, bufs) != 0); + BUILD_BUG_ON(offsetof(struct io_uring_buf, resv) != + offsetof(struct io_uring_buf_ring, tail)); + + /* should fit into one byte */ + BUILD_BUG_ON(SQE_VALID_FLAGS >= (1 << 8)); + BUILD_BUG_ON(SQE_COMMON_FLAGS >= (1 << 8)); + BUILD_BUG_ON((SQE_VALID_FLAGS | SQE_COMMON_FLAGS) != SQE_VALID_FLAGS); + + BUILD_BUG_ON(ARRAY_SIZE(io_op_defs) != IORING_OP_LAST); + BUILD_BUG_ON(__REQ_F_LAST_BIT > 8 * sizeof(int)); + + BUILD_BUG_ON(sizeof(atomic_t) != sizeof(u32)); + + BUILD_BUG_ON(sizeof(struct io_uring_cmd) > 64); + + for (i = 0; i < ARRAY_SIZE(io_op_defs); i++) { + BUG_ON(!io_op_defs[i].prep); + BUG_ON(!io_op_defs[i].issue); + } + + req_cachep = KMEM_CACHE(io_kiocb, SLAB_HWCACHE_ALIGN | SLAB_PANIC | + SLAB_ACCOUNT); + return 0; +}; +__initcall(io_uring_init); --- linux-gcp-5.19.0.orig/ipc/mqueue.c +++ linux-gcp-5.19.0/ipc/mqueue.c @@ -1727,7 +1727,8 @@ if (!setup_mq_sysctls(&init_ipc_ns)) { pr_warn("sysctl registration failed\n"); - return -ENOMEM; + error = -ENOMEM; + goto out_kmem; } error = register_filesystem(&mqueue_fs_type); @@ -1745,6 +1746,8 @@ out_filesystem: unregister_filesystem(&mqueue_fs_type); out_sysctl: + retire_mq_sysctls(&init_ipc_ns); +out_kmem: kmem_cache_destroy(mqueue_inode_cachep); return error; } --- linux-gcp-5.19.0.orig/ipc/namespace.c +++ linux-gcp-5.19.0/ipc/namespace.c @@ -185,6 +185,23 @@ schedule_work(&free_ipc_work); } } +EXPORT_SYMBOL(put_ipc_ns); + +struct ipc_namespace *get_ipc_ns_exported(struct ipc_namespace *ns) +{ + return get_ipc_ns(ns); +} +EXPORT_SYMBOL(get_ipc_ns_exported); + +struct ipc_namespace *show_init_ipc_ns(void) +{ +#if defined(CONFIG_IPC_NS) + return &init_ipc_ns; +#else + return NULL; +#endif +} +EXPORT_SYMBOL(show_init_ipc_ns); static inline struct ipc_namespace *to_ipc_ns(struct ns_common *ns) { --- linux-gcp-5.19.0.orig/ipc/sem.c +++ linux-gcp-5.19.0/ipc/sem.c @@ -2179,14 +2179,15 @@ * scenarios where we were awakened externally, during the * window between wake_q_add() and wake_up_q(). */ + rcu_read_lock(); error = READ_ONCE(queue.status); if (error != -EINTR) { /* see SEM_BARRIER_2 for purpose/pairing */ smp_acquire__after_ctrl_dep(); + rcu_read_unlock(); goto out; } - rcu_read_lock(); locknum = sem_lock(sma, sops, nsops); if (!ipc_valid_object(&sma->sem_perm)) --- linux-gcp-5.19.0.orig/kernel/acct.c +++ linux-gcp-5.19.0/kernel/acct.c @@ -350,6 +350,8 @@ exp++; } + if (exp > (((comp_t) ~0U) >> MANTSIZE)) + return (comp_t) ~0U; /* * Clean it up and polish it off. */ --- linux-gcp-5.19.0.orig/kernel/audit.c +++ linux-gcp-5.19.0/kernel/audit.c @@ -125,7 +125,7 @@ /* The identity of the user shutting down the audit system. */ static kuid_t audit_sig_uid = INVALID_UID; static pid_t audit_sig_pid = -1; -static u32 audit_sig_sid; +static struct lsmblob audit_sig_lsm; /* Records can be lost in several ways: 0) [suppressed in audit_alloc] @@ -197,8 +197,10 @@ * to place it on a transmit queue. Multiple audit_buffers can be in * use simultaneously. */ struct audit_buffer { - struct sk_buff *skb; /* formatted skb ready to send */ + struct sk_buff *skb; /* the skb for audit_log functions */ + struct sk_buff_head skb_list; /* formatted skbs, ready to send */ struct audit_context *ctx; /* NULL or associated context */ + struct audit_stamp stamp; /* audit stamp for these records */ gfp_t gfp_mask; }; @@ -1105,7 +1107,6 @@ return af.features & AUDIT_FEATURE_TO_MASK(i); } - static int audit_get_feature(struct sk_buff *skb) { u32 seq; @@ -1212,8 +1213,6 @@ struct audit_buffer *ab; u16 msg_type = nlh->nlmsg_type; struct audit_sig_info *sig_data; - char *ctx = NULL; - u32 len; err = audit_netlink_ok(skb, msg_type); if (err) @@ -1461,29 +1460,33 @@ kfree(new); break; } - case AUDIT_SIGNAL_INFO: - len = 0; - if (audit_sig_sid) { - err = security_secid_to_secctx(audit_sig_sid, &ctx, &len); + case AUDIT_SIGNAL_INFO: { + struct lsmcontext context = { }; + + if (lsmblob_is_set(&audit_sig_lsm)) { + err = security_secid_to_secctx(&audit_sig_lsm, + &context, LSMBLOB_FIRST); if (err) return err; } - sig_data = kmalloc(struct_size(sig_data, ctx, len), GFP_KERNEL); + sig_data = kmalloc(struct_size(sig_data, ctx, context.len), + GFP_KERNEL); if (!sig_data) { - if (audit_sig_sid) - security_release_secctx(ctx, len); + if (lsmblob_is_set(&audit_sig_lsm)) + security_release_secctx(&context); return -ENOMEM; } sig_data->uid = from_kuid(&init_user_ns, audit_sig_uid); sig_data->pid = audit_sig_pid; - if (audit_sig_sid) { - memcpy(sig_data->ctx, ctx, len); - security_release_secctx(ctx, len); + if (lsmblob_is_set(&audit_sig_lsm)) { + memcpy(sig_data->ctx, context.context, context.len); + security_release_secctx(&context); } - audit_send_reply(skb, seq, AUDIT_SIGNAL_INFO, 0, 0, - sig_data, struct_size(sig_data, ctx, len)); + audit_send_reply(skb, seq, AUDIT_SIGNAL_INFO, 0, 0, sig_data, + struct_size(sig_data, ctx, context.len)); kfree(sig_data); break; + } case AUDIT_TTY_GET: { struct audit_tty_status s; unsigned int t; @@ -1763,10 +1766,13 @@ static void audit_buffer_free(struct audit_buffer *ab) { + struct sk_buff *skb; + if (!ab) return; - kfree_skb(ab->skb); + while ((skb = skb_dequeue(&ab->skb_list))) + kfree_skb(skb); kmem_cache_free(audit_buffer_cache, ab); } @@ -1782,6 +1788,10 @@ ab->skb = nlmsg_new(AUDIT_BUFSIZ, gfp_mask); if (!ab->skb) goto err; + + skb_queue_head_init(&ab->skb_list); + skb_queue_tail(&ab->skb_list, ab->skb); + if (!nlmsg_put(ab->skb, 0, 0, type, 0, 0)) goto err; @@ -1820,11 +1830,11 @@ } static inline void audit_get_stamp(struct audit_context *ctx, - struct timespec64 *t, unsigned int *serial) + struct audit_stamp *stamp) { - if (!ctx || !auditsc_get_stamp(ctx, t, serial)) { - ktime_get_coarse_real_ts64(t); - *serial = audit_serial(); + if (!ctx || !auditsc_get_stamp(ctx, stamp)) { + ktime_get_coarse_real_ts64(&stamp->ctime); + stamp->serial = audit_serial(); } } @@ -1847,8 +1857,6 @@ int type) { struct audit_buffer *ab; - struct timespec64 t; - unsigned int serial; if (audit_initialized != AUDIT_INITIALIZED) return NULL; @@ -1903,12 +1911,14 @@ return NULL; } - audit_get_stamp(ab->ctx, &t, &serial); + audit_get_stamp(ab->ctx, &ab->stamp); /* cancel dummy context to enable supporting records */ if (ctx) ctx->dummy = 0; audit_log_format(ab, "audit(%llu.%03lu:%u): ", - (unsigned long long)t.tv_sec, t.tv_nsec/1000000, serial); + (unsigned long long)ab->stamp.ctime.tv_sec, + ab->stamp.ctime.tv_nsec/1000000, + ab->stamp.serial); return ab; } @@ -2164,34 +2174,167 @@ audit_log_format(ab, "(null)"); } -int audit_log_task_context(struct audit_buffer *ab) +/** + * audit_buffer_aux_new - Add an aux record buffer to the skb list + * @ab: audit_buffer + * @type: message type + * + * Aux records are allocated and added to the skb list of + * the "main" record. The ab->skb is reset to point to the + * aux record on its creation. When the aux record in complete + * ab->skb has to be reset to point to the "main" record. + * This allows the audit_log_ functions to be ignorant of + * which kind of record it is logging to. It also avoids adding + * special data for aux records. + * + * On success ab->skb will point to the new aux record. + * Returns 0 on success, -ENOMEM should allocation fail. + */ +static int audit_buffer_aux_new(struct audit_buffer *ab, int type) +{ + WARN_ON(ab->skb != skb_peek(&ab->skb_list)); + + ab->skb = nlmsg_new(AUDIT_BUFSIZ, ab->gfp_mask); + if (!ab->skb) + goto err; + if (!nlmsg_put(ab->skb, 0, 0, type, 0, 0)) + goto err; + skb_queue_tail(&ab->skb_list, ab->skb); + + audit_log_format(ab, "audit(%llu.%03lu:%u): ", + (unsigned long long)ab->stamp.ctime.tv_sec, + ab->stamp.ctime.tv_nsec/1000000, + ab->stamp.serial); + + return 0; + +err: + kfree_skb(ab->skb); + ab->skb = skb_peek(&ab->skb_list); + return -ENOMEM; +} + +/** + * audit_buffer_aux_end - Switch back to the "main" record from an aux record + * @ab: audit_buffer + * + * Restores the "main" audit record to ab->skb. + */ +static void audit_buffer_aux_end(struct audit_buffer *ab) +{ + ab->skb = skb_peek(&ab->skb_list); +} + +int audit_log_subject_context(struct audit_buffer *ab, struct lsmblob *blob) { - char *ctx = NULL; - unsigned len; + int i; int error; - u32 sid; + struct lsmcontext context; - security_current_getsecid_subj(&sid); - if (!sid) + if (!lsmblob_is_set(blob)) return 0; - error = security_secid_to_secctx(sid, &ctx, &len); - if (error) { - if (error != -EINVAL) + if (!lsm_multiple_contexts()) { + error = security_secid_to_secctx(blob, &context, LSMBLOB_FIRST); + if (error) { + if (error != -EINVAL) + goto error_path; + return 0; + } + audit_log_format(ab, " subj=%s", context.context); + security_release_secctx(&context); + } else { + /* Multiple LSMs provide contexts. Include an aux record. */ + audit_log_format(ab, " subj=?"); + error = audit_buffer_aux_new(ab, AUDIT_MAC_TASK_CONTEXTS); + if (error) goto error_path; - return 0; + for (i = 0; i < LSMBLOB_ENTRIES; i++) { + if (blob->secid[i] == 0) + continue; + error = security_secid_to_secctx(blob, &context, i); + if (error) { + audit_log_format(ab, "%ssubj_%s=?", + i ? " " : "", + lsm_slot_to_name(i)); + if (error != -EINVAL) + audit_panic("error in audit_log_subject_context"); + } else { + audit_log_format(ab, "%ssubj_%s=%s", + i ? " " : "", + lsm_slot_to_name(i), + context.context); + security_release_secctx(&context); + } + } + audit_buffer_aux_end(ab); } - audit_log_format(ab, " subj=%s", ctx); - security_release_secctx(ctx, len); return 0; error_path: - audit_panic("error in audit_log_task_context"); + audit_panic("error in audit_log_subject_context"); return error; } +EXPORT_SYMBOL(audit_log_subject_context); + +int audit_log_task_context(struct audit_buffer *ab) +{ + struct lsmblob blob; + + security_current_getsecid_subj(&blob); + return audit_log_subject_context(ab, &blob); +} EXPORT_SYMBOL(audit_log_task_context); +void audit_log_object_context(struct audit_buffer *ab, struct lsmblob *blob) +{ + int i; + int error; + struct lsmcontext context; + + if (!lsm_multiple_contexts()) { + error = security_secid_to_secctx(blob, &context, LSMBLOB_FIRST); + if (error) { + if (error != -EINVAL) + goto error_path; + return; + } + audit_log_format(ab, " obj=%s", context.context); + security_release_secctx(&context); + } else { + audit_log_format(ab, " obj=?"); + error = audit_buffer_aux_new(ab, AUDIT_MAC_OBJ_CONTEXTS); + if (error) + goto error_path; + + for (i = 0; i < LSMBLOB_ENTRIES; i++) { + if (blob->secid[i] == 0) + continue; + error = security_secid_to_secctx(blob, &context, i); + if (error) { + audit_log_format(ab, "%sobj_%s=?", + i ? " " : "", + lsm_slot_to_name(i)); + if (error != -EINVAL) + audit_panic("error in audit_log_object_context"); + } else { + audit_log_format(ab, "%sobj_%s=%s", + i ? " " : "", + lsm_slot_to_name(i), + context.context); + security_release_secctx(&context); + } + } + + audit_buffer_aux_end(ab); + } + return; + +error_path: + audit_panic("error in audit_log_object_context"); +} + void audit_log_d_path_exe(struct audit_buffer *ab, struct mm_struct *mm) { @@ -2392,33 +2535,21 @@ audit_sig_uid = auid; else audit_sig_uid = uid; - security_current_getsecid_subj(&audit_sig_sid); + security_current_getsecid_subj(&audit_sig_lsm); } return audit_signal_info_syscall(t); } /** - * audit_log_end - end one audit record - * @ab: the audit_buffer - * - * We can not do a netlink send inside an irq context because it blocks (last - * arg, flags, is not set to MSG_DONTWAIT), so the audit buffer is placed on a - * queue and a kthread is scheduled to remove them from the queue outside the - * irq context. May be called in any context. + * __audit_log_end - enqueue one audit record + * @skb: the buffer to send */ -void audit_log_end(struct audit_buffer *ab) +static void __audit_log_end(struct sk_buff *skb) { - struct sk_buff *skb; struct nlmsghdr *nlh; - if (!ab) - return; - if (audit_rate_check()) { - skb = ab->skb; - ab->skb = NULL; - /* setup the netlink header, see the comments in * kauditd_send_multicast_skb() for length quirks */ nlh = nlmsg_hdr(skb); @@ -2429,6 +2560,26 @@ wake_up_interruptible(&kauditd_wait); } else audit_log_lost("rate limit exceeded"); +} + +/** + * audit_log_end - end one audit record + * @ab: the audit_buffer + * + * We can not do a netlink send inside an irq context because it blocks (last + * arg, flags, is not set to MSG_DONTWAIT), so the audit buffer is placed on a + * queue and a kthread is scheduled to remove them from the queue outside the + * irq context. May be called in any context. + */ +void audit_log_end(struct audit_buffer *ab) +{ + struct sk_buff *skb; + + if (!ab) + return; + + while ((skb = skb_dequeue(&ab->skb_list))) + __audit_log_end(skb); audit_buffer_free(ab); } --- linux-gcp-5.19.0.orig/kernel/audit.h +++ linux-gcp-5.19.0/kernel/audit.h @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include // struct open_how @@ -81,7 +82,7 @@ kuid_t uid; kgid_t gid; dev_t rdev; - u32 osid; + struct lsmblob lsmblob; struct audit_cap_data fcap; unsigned int fcap_ver; unsigned char type; /* record type */ @@ -98,6 +99,12 @@ char *value; /* the cmdline field */ }; +/* A timestamp/serial pair to identify an event */ +struct audit_stamp { + struct timespec64 ctime; /* time of syscall entry */ + unsigned int serial; /* serial number for record */ +}; + /* The per-task audit context. */ struct audit_context { int dummy; /* must be the first element */ @@ -107,10 +114,9 @@ AUDIT_CTX_URING, /* in use by io_uring */ } context; enum audit_state state, current_state; - unsigned int serial; /* serial number for record */ + struct audit_stamp stamp; /* event identifier */ int major; /* syscall number */ int uring_op; /* uring operation */ - struct timespec64 ctime; /* time of syscall entry */ unsigned long argv[4]; /* syscall arguments */ long return_code;/* syscall return code */ u64 prio; @@ -143,7 +149,7 @@ kuid_t target_auid; kuid_t target_uid; unsigned int target_sessionid; - u32 target_sid; + struct lsmblob target_lsm; char target_comm[TASK_COMM_LEN]; struct audit_tree_refs *trees, *first_trees; @@ -264,7 +270,7 @@ #ifdef CONFIG_AUDITSYSCALL extern unsigned int audit_serial(void); extern int auditsc_get_stamp(struct audit_context *ctx, - struct timespec64 *t, unsigned int *serial); + struct audit_stamp *stamp); extern void audit_put_watch(struct audit_watch *watch); extern void audit_get_watch(struct audit_watch *watch); @@ -305,7 +311,7 @@ struct audit_context *ctx); extern struct list_head *audit_killed_trees(void); #else /* CONFIG_AUDITSYSCALL */ -#define auditsc_get_stamp(c, t, s) 0 +#define auditsc_get_stamp(c, s) 0 #define audit_put_watch(w) do { } while (0) #define audit_get_watch(w) do { } while (0) #define audit_to_watch(k, p, l, o) (-EINVAL) --- linux-gcp-5.19.0.orig/kernel/audit_fsnotify.c +++ linux-gcp-5.19.0/kernel/audit_fsnotify.c @@ -102,6 +102,7 @@ ret = fsnotify_add_inode_mark(&audit_mark->mark, inode, 0); if (ret < 0) { + audit_mark->path = NULL; fsnotify_put_mark(&audit_mark->mark); audit_mark = ERR_PTR(ret); } --- linux-gcp-5.19.0.orig/kernel/auditfilter.c +++ linux-gcp-5.19.0/kernel/auditfilter.c @@ -76,7 +76,7 @@ case AUDIT_OBJ_LEV_LOW: case AUDIT_OBJ_LEV_HIGH: kfree(f->lsm_str); - security_audit_rule_free(f->lsm_rule); + security_audit_rule_free(&f->lsm_rules); } } @@ -529,7 +529,7 @@ entry->rule.buflen += f_val; f->lsm_str = str; err = security_audit_rule_init(f->type, f->op, str, - (void **)&f->lsm_rule); + &f->lsm_rules); /* Keep currently invalid fields around in case they * become valid after a policy reload. */ if (err == -EINVAL) { @@ -782,7 +782,7 @@ return 0; } -/* Duplicate LSM field information. The lsm_rule is opaque, so must be +/* Duplicate LSM field information. The lsm_rules is opaque, so must be * re-initialized. */ static inline int audit_dupe_lsm_field(struct audit_field *df, struct audit_field *sf) @@ -796,9 +796,9 @@ return -ENOMEM; df->lsm_str = lsm_str; - /* our own (refreshed) copy of lsm_rule */ + /* our own (refreshed) copy of lsm_rules */ ret = security_audit_rule_init(df->type, df->op, df->lsm_str, - (void **)&df->lsm_rule); + &df->lsm_rules); /* Keep currently invalid fields around in case they * become valid after a policy reload. */ if (ret == -EINVAL) { @@ -850,7 +850,7 @@ new->tree = old->tree; memcpy(new->fields, old->fields, sizeof(struct audit_field) * fcount); - /* deep copy this information, updating the lsm_rule fields, because + /* deep copy this information, updating the lsm_rules fields, because * the originals will all be freed when the old rule is freed. */ for (i = 0; i < fcount; i++) { switch (new->fields[i].type) { @@ -1337,8 +1337,8 @@ for (i = 0; i < e->rule.field_count; i++) { struct audit_field *f = &e->rule.fields[i]; + struct lsmblob blob; pid_t pid; - u32 sid; switch (f->type) { case AUDIT_PID: @@ -1367,10 +1367,11 @@ case AUDIT_SUBJ_TYPE: case AUDIT_SUBJ_SEN: case AUDIT_SUBJ_CLR: - if (f->lsm_rule) { - security_current_getsecid_subj(&sid); - result = security_audit_rule_match(sid, - f->type, f->op, f->lsm_rule); + if (f->lsm_str) { + security_current_getsecid_subj(&blob); + result = security_audit_rule_match( + &blob, f->type, f->op, + &f->lsm_rules); } break; case AUDIT_EXE: @@ -1397,7 +1398,7 @@ return ret; } -static int update_lsm_rule(struct audit_krule *r) +static int update_lsm_rules(struct audit_krule *r) { struct audit_entry *entry = container_of(r, struct audit_entry, rule); struct audit_entry *nentry; @@ -1429,7 +1430,7 @@ return err; } -/* This function will re-initialize the lsm_rule field of all applicable rules. +/* This function will re-initialize the lsm_rules field of all applicable rules. * It will traverse the filter lists serarching for rules that contain LSM * specific filter fields. When such a rule is found, it is copied, the * LSM field is re-initialized, and the old rule is replaced with the @@ -1444,7 +1445,7 @@ for (i = 0; i < AUDIT_NR_FILTERS; i++) { list_for_each_entry_safe(r, n, &audit_rules_list[i], list) { - int res = update_lsm_rule(r); + int res = update_lsm_rules(r); if (!err) err = res; } --- linux-gcp-5.19.0.orig/kernel/auditsc.c +++ linux-gcp-5.19.0/kernel/auditsc.c @@ -99,7 +99,7 @@ kuid_t target_auid[AUDIT_AUX_PIDS]; kuid_t target_uid[AUDIT_AUX_PIDS]; unsigned int target_sessionid[AUDIT_AUX_PIDS]; - u32 target_sid[AUDIT_AUX_PIDS]; + struct lsmblob target_lsm[AUDIT_AUX_PIDS]; char target_comm[AUDIT_AUX_PIDS][TASK_COMM_LEN]; int pid_count; }; @@ -467,7 +467,7 @@ { const struct cred *cred; int i, need_sid = 1; - u32 sid; + struct lsmblob blob; unsigned int sessionid; if (ctx && rule->prio <= ctx->prio) @@ -664,7 +664,7 @@ match for now to avoid losing information that may be wanted. An error message will also be logged upon error */ - if (f->lsm_rule) { + if (f->lsm_str) { if (need_sid) { /* @tsk should always be equal to * @current with the exception of @@ -675,12 +675,12 @@ * here even though it always refs * @current's creds */ - security_current_getsecid_subj(&sid); + security_current_getsecid_subj(&blob); need_sid = 0; } - result = security_audit_rule_match(sid, f->type, - f->op, - f->lsm_rule); + result = security_audit_rule_match(&blob, + f->type, f->op, + &f->lsm_rules); } break; case AUDIT_OBJ_USER: @@ -690,21 +690,27 @@ case AUDIT_OBJ_LEV_HIGH: /* The above note for AUDIT_SUBJ_USER...AUDIT_SUBJ_CLR also applies here */ - if (f->lsm_rule) { + if (f->lsm_str) { /* Find files that match */ if (name) { + /* + * lsmblob_init sets all values in the + * lsmblob to sid. This is temporary + * until name->osid is converted to a + * lsmblob, which happens later in + * this patch set. + */ result = security_audit_rule_match( - name->osid, + &name->lsmblob, f->type, f->op, - f->lsm_rule); + &f->lsm_rules); } else if (ctx) { list_for_each_entry(n, &ctx->names_list, list) { if (security_audit_rule_match( - n->osid, - f->type, - f->op, - f->lsm_rule)) { + &n->lsmblob, + f->type, f->op, + &f->lsm_rules)) { ++result; break; } @@ -713,9 +719,10 @@ /* Find ipc objects that match */ if (!ctx || ctx->type != AUDIT_IPC) break; - if (security_audit_rule_match(ctx->ipc.osid, + lsmblob_init(&blob, ctx->ipc.osid); + if (security_audit_rule_match(&blob, f->type, f->op, - f->lsm_rule)) + &f->lsm_rules)) ++result; } break; @@ -985,10 +992,10 @@ */ ctx->current_state = ctx->state; - ctx->serial = 0; + ctx->stamp.serial = 0; ctx->major = 0; ctx->uring_op = 0; - ctx->ctime = (struct timespec64){ .tv_sec = 0, .tv_nsec = 0 }; + ctx->stamp.ctime = (struct timespec64){ .tv_sec = 0, .tv_nsec = 0 }; memset(ctx->argv, 0, sizeof(ctx->argv)); ctx->return_code = 0; ctx->prio = (ctx->state == AUDIT_STATE_RECORD ? ~0ULL : 0); @@ -1010,13 +1017,12 @@ ctx->target_pid = 0; ctx->target_auid = ctx->target_uid = KUIDT_INIT(0); ctx->target_sessionid = 0; - ctx->target_sid = 0; + lsmblob_init(&ctx->target_lsm, 0); ctx->target_comm[0] = '\0'; unroll_tree_refs(ctx, NULL, 0); WARN_ON(!list_empty(&ctx->killed_trees)); audit_free_module(ctx); ctx->fds[0] = -1; - audit_proctitle_free(ctx); ctx->type = 0; /* reset last for audit_free_*() */ } @@ -1102,41 +1108,31 @@ { /* resetting is extra work, but it is likely just noise */ audit_reset_context(context); + audit_proctitle_free(context); free_tree_refs(context); kfree(context->filterkey); kfree(context); } -static int audit_log_pid_context(struct audit_context *context, pid_t pid, - kuid_t auid, kuid_t uid, unsigned int sessionid, - u32 sid, char *comm) +static void audit_log_pid_context(struct audit_context *context, pid_t pid, + kuid_t auid, kuid_t uid, + unsigned int sessionid, + struct lsmblob *blob, char *comm) { struct audit_buffer *ab; - char *ctx = NULL; - u32 len; - int rc = 0; ab = audit_log_start(context, GFP_KERNEL, AUDIT_OBJ_PID); if (!ab) - return rc; + return; audit_log_format(ab, "opid=%d oauid=%d ouid=%d oses=%d", pid, from_kuid(&init_user_ns, auid), from_kuid(&init_user_ns, uid), sessionid); - if (sid) { - if (security_secid_to_secctx(sid, &ctx, &len)) { - audit_log_format(ab, " obj=(none)"); - rc = 1; - } else { - audit_log_format(ab, " obj=%s", ctx); - security_release_secctx(ctx, len); - } - } + if (lsmblob_is_set(blob)) + audit_log_object_context(ab, blob); audit_log_format(ab, " ocomm="); audit_log_untrustedstring(ab, comm); audit_log_end(ab); - - return rc; } static void audit_log_execve_info(struct audit_context *context, @@ -1413,16 +1409,10 @@ from_kgid(&init_user_ns, context->ipc.gid), context->ipc.mode); if (osid) { - char *ctx = NULL; - u32 len; + struct lsmblob blob; - if (security_secid_to_secctx(osid, &ctx, &len)) { - audit_log_format(ab, " osid=%u", osid); - *call_panic = 1; - } else { - audit_log_format(ab, " obj=%s", ctx); - security_release_secctx(ctx, len); - } + lsmblob_init(&blob, osid); + audit_log_object_context(ab, &blob); } if (context->ipc.has_perm) { audit_log_end(ab); @@ -1579,20 +1569,8 @@ from_kgid(&init_user_ns, n->gid), MAJOR(n->rdev), MINOR(n->rdev)); - if (n->osid != 0) { - char *ctx = NULL; - u32 len; - - if (security_secid_to_secctx( - n->osid, &ctx, &len)) { - audit_log_format(ab, " osid=%u", n->osid); - if (call_panic) - *call_panic = 2; - } else { - audit_log_format(ab, " obj=%s", ctx); - security_release_secctx(ctx, len); - } - } + if (lsmblob_is_set(&n->lsmblob)) + audit_log_object_context(ab, &n->lsmblob); /* log the audit_names record type */ switch (n->type) { @@ -1797,21 +1775,20 @@ struct audit_aux_data_pids *axs = (void *)aux; for (i = 0; i < axs->pid_count; i++) - if (audit_log_pid_context(context, axs->target_pid[i], - axs->target_auid[i], - axs->target_uid[i], - axs->target_sessionid[i], - axs->target_sid[i], - axs->target_comm[i])) - call_panic = 1; + audit_log_pid_context(context, axs->target_pid[i], + axs->target_auid[i], + axs->target_uid[i], + axs->target_sessionid[i], + &axs->target_lsm[i], + axs->target_comm[i]); } - if (context->target_pid && - audit_log_pid_context(context, context->target_pid, - context->target_auid, context->target_uid, - context->target_sessionid, - context->target_sid, context->target_comm)) - call_panic = 1; + if (context->target_pid) + audit_log_pid_context(context, context->target_pid, + context->target_auid, context->target_uid, + context->target_sessionid, + &context->target_lsm, + context->target_comm); if (context->pwd.dentry && context->pwd.mnt) { ab = audit_log_start(context, GFP_KERNEL, AUDIT_CWD); @@ -1942,7 +1919,7 @@ ctx->context = AUDIT_CTX_URING; ctx->current_state = ctx->state; - ktime_get_coarse_real_ts64(&ctx->ctime); + ktime_get_coarse_real_ts64(&ctx->stamp.ctime); } /** @@ -1965,6 +1942,7 @@ goto out; } + audit_return_fixup(ctx, success, code); if (ctx->context == AUDIT_CTX_SYSCALL) { /* * NOTE: See the note in __audit_uring_entry() about the case @@ -2006,7 +1984,6 @@ audit_filter_inodes(current, ctx); if (ctx->current_state != AUDIT_STATE_RECORD) goto out; - audit_return_fixup(ctx, success, code); audit_log_exit(); out: @@ -2064,7 +2041,7 @@ context->argv[3] = a4; context->context = AUDIT_CTX_SYSCALL; context->current_state = state; - ktime_get_coarse_real_ts64(&context->ctime); + ktime_get_coarse_real_ts64(&context->stamp.ctime); } /** @@ -2090,13 +2067,13 @@ if (!list_empty(&context->killed_trees)) audit_kill_trees(context); + audit_return_fixup(context, success, return_code); /* run through both filters to ensure we set the filterkey properly */ audit_filter_syscall(current, context); audit_filter_inodes(current, context); - if (context->current_state < AUDIT_STATE_RECORD) + if (context->current_state != AUDIT_STATE_RECORD) goto out; - audit_return_fixup(context, success, return_code); audit_log_exit(); out: @@ -2299,7 +2276,7 @@ name->uid = inode->i_uid; name->gid = inode->i_gid; name->rdev = inode->i_rdev; - security_inode_getsecid(inode, &name->osid); + security_inode_getsecid(inode, &name->lsmblob); if (flags & AUDIT_INODE_NOEVAL) { name->fcap_ver = -1; return; @@ -2533,21 +2510,17 @@ /** * auditsc_get_stamp - get local copies of audit_context values * @ctx: audit_context for the task - * @t: timespec64 to store time recorded in the audit_context - * @serial: serial value that is recorded in the audit_context + * @stamp: timestamp to record * * Also sets the context as auditable. */ -int auditsc_get_stamp(struct audit_context *ctx, - struct timespec64 *t, unsigned int *serial) +int auditsc_get_stamp(struct audit_context *ctx, struct audit_stamp *stamp) { if (ctx->context == AUDIT_CTX_UNUSED) return 0; - if (!ctx->serial) - ctx->serial = audit_serial(); - t->tv_sec = ctx->ctime.tv_sec; - t->tv_nsec = ctx->ctime.tv_nsec; - *serial = ctx->serial; + if (!ctx->stamp.serial) + ctx->stamp.serial = audit_serial(); + *stamp = ctx->stamp; if (!ctx->prio) { ctx->prio = 1; ctx->current_state = AUDIT_STATE_RECORD; @@ -2646,12 +2619,17 @@ void __audit_ipc_obj(struct kern_ipc_perm *ipcp) { struct audit_context *context = audit_context(); + struct lsmblob blob; context->ipc.uid = ipcp->uid; context->ipc.gid = ipcp->gid; context->ipc.mode = ipcp->mode; context->ipc.has_perm = 0; - security_ipc_getsecid(ipcp, &context->ipc.osid); + security_ipc_getsecid(ipcp, &blob); + /* context->ipc.osid will be changed to a lsmblob later in + * the patch series. This will allow auditing of all the object + * labels associated with the ipc object. */ + context->ipc.osid = lsmblob_value(&blob); context->type = AUDIT_IPC; } @@ -2748,7 +2726,7 @@ context->target_auid = audit_get_loginuid(t); context->target_uid = task_uid(t); context->target_sessionid = audit_get_sessionid(t); - security_task_getsecid_obj(t, &context->target_sid); + security_task_getsecid_obj(t, &context->target_lsm); memcpy(context->target_comm, t->comm, TASK_COMM_LEN); } @@ -2775,7 +2753,7 @@ ctx->target_auid = audit_get_loginuid(t); ctx->target_uid = t_uid; ctx->target_sessionid = audit_get_sessionid(t); - security_task_getsecid_obj(t, &ctx->target_sid); + security_task_getsecid_obj(t, &ctx->target_lsm); memcpy(ctx->target_comm, t->comm, TASK_COMM_LEN); return 0; } @@ -2796,7 +2774,7 @@ axp->target_auid[axp->pid_count] = audit_get_loginuid(t); axp->target_uid[axp->pid_count] = t_uid; axp->target_sessionid[axp->pid_count] = audit_get_sessionid(t); - security_task_getsecid_obj(t, &axp->target_sid[axp->pid_count]); + security_task_getsecid_obj(t, &axp->target_lsm[axp->pid_count]); memcpy(axp->target_comm[axp->pid_count], t->comm, TASK_COMM_LEN); axp->pid_count++; --- linux-gcp-5.19.0.orig/kernel/bpf/arraymap.c +++ linux-gcp-5.19.0/kernel/bpf/arraymap.c @@ -156,6 +156,11 @@ return &array->map; } +static void *array_map_elem_ptr(struct bpf_array* array, u32 index) +{ + return array->value + (u64)array->elem_size * index; +} + /* Called from syscall or from eBPF program */ static void *array_map_lookup_elem(struct bpf_map *map, void *key) { @@ -165,7 +170,7 @@ if (unlikely(index >= array->map.max_entries)) return NULL; - return array->value + array->elem_size * (index & array->index_mask); + return array->value + (u64)array->elem_size * (index & array->index_mask); } static int array_map_direct_value_addr(const struct bpf_map *map, u64 *imm, @@ -339,7 +344,7 @@ value, map->value_size); } else { val = array->value + - array->elem_size * (index & array->index_mask); + (u64)array->elem_size * (index & array->index_mask); if (map_flags & BPF_F_LOCK) copy_map_value_locked(map, val, value, false); else @@ -408,8 +413,7 @@ return; for (i = 0; i < array->map.max_entries; i++) - bpf_timer_cancel_and_free(array->value + array->elem_size * i + - map->timer_off); + bpf_timer_cancel_and_free(array_map_elem_ptr(array, i) + map->timer_off); } /* Called when map->refcnt goes to zero, either from workqueue or from syscall */ @@ -420,7 +424,7 @@ if (map_value_has_kptrs(map)) { for (i = 0; i < array->map.max_entries; i++) - bpf_map_free_kptrs(map, array->value + array->elem_size * i); + bpf_map_free_kptrs(map, array_map_elem_ptr(array, i)); bpf_map_free_kptr_off_tab(map); } @@ -556,7 +560,7 @@ index = info->index & array->index_mask; if (info->percpu_value_buf) return array->pptrs[index]; - return array->value + array->elem_size * index; + return array_map_elem_ptr(array, index); } static void *bpf_array_map_seq_next(struct seq_file *seq, void *v, loff_t *pos) @@ -575,7 +579,7 @@ index = info->index & array->index_mask; if (info->percpu_value_buf) return array->pptrs[index]; - return array->value + array->elem_size * index; + return array_map_elem_ptr(array, index); } static int __bpf_array_map_seq_show(struct seq_file *seq, void *v) @@ -645,6 +649,11 @@ seq_info->percpu_value_buf = value_buf; } + /* bpf_iter_attach_map() acquires a map uref, and the uref may be + * released before or in the middle of iterating map elements, so + * acquire an extra map uref for iterator. + */ + bpf_map_inc_with_uref(map); seq_info->map = map; return 0; } @@ -653,6 +662,7 @@ { struct bpf_iter_seq_array_map_info *seq_info = priv_data; + bpf_map_put_with_uref(seq_info->map); kfree(seq_info->percpu_value_buf); } @@ -690,7 +700,7 @@ if (is_percpu) val = this_cpu_ptr(array->pptrs[i]); else - val = array->value + array->elem_size * i; + val = array_map_elem_ptr(array, i); num_elems++; key = i; ret = callback_fn((u64)(long)map, (u64)(long)&key, --- linux-gcp-5.19.0.orig/kernel/bpf/bpf_local_storage.c +++ linux-gcp-5.19.0/kernel/bpf/bpf_local_storage.c @@ -74,7 +74,7 @@ gfp_flags | __GFP_NOWARN); if (selem) { if (value) - memcpy(SDATA(selem)->data, value, smap->map.value_size); + copy_map_value(&smap->map, SDATA(selem)->data, value); return selem; } @@ -555,11 +555,11 @@ struct bpf_local_storage_elem, map_node))) { if (busy_counter) { migrate_disable(); - __this_cpu_inc(*busy_counter); + this_cpu_inc(*busy_counter); } bpf_selem_unlink(selem, false); if (busy_counter) { - __this_cpu_dec(*busy_counter); + this_cpu_dec(*busy_counter); migrate_enable(); } cond_resched_rcu(); --- linux-gcp-5.19.0.orig/kernel/bpf/bpf_lsm.c +++ linux-gcp-5.19.0/kernel/bpf/bpf_lsm.c @@ -250,6 +250,7 @@ BTF_ID(func, bpf_lsm_task_prctl) BTF_ID(func, bpf_lsm_task_setscheduler) BTF_ID(func, bpf_lsm_task_to_inode) +BTF_ID(func, bpf_lsm_userns_create) BTF_SET_END(sleepable_lsm_hooks) bool bpf_lsm_is_sleepable_hook(u32 btf_id) --- linux-gcp-5.19.0.orig/kernel/bpf/bpf_task_storage.c +++ linux-gcp-5.19.0/kernel/bpf/bpf_task_storage.c @@ -26,20 +26,20 @@ static void bpf_task_storage_lock(void) { migrate_disable(); - __this_cpu_inc(bpf_task_storage_busy); + this_cpu_inc(bpf_task_storage_busy); } static void bpf_task_storage_unlock(void) { - __this_cpu_dec(bpf_task_storage_busy); + this_cpu_dec(bpf_task_storage_busy); migrate_enable(); } static bool bpf_task_storage_trylock(void) { migrate_disable(); - if (unlikely(__this_cpu_inc_return(bpf_task_storage_busy) != 1)) { - __this_cpu_dec(bpf_task_storage_busy); + if (unlikely(this_cpu_inc_return(bpf_task_storage_busy) != 1)) { + this_cpu_dec(bpf_task_storage_busy); migrate_enable(); return false; } --- linux-gcp-5.19.0.orig/kernel/bpf/btf.c +++ linux-gcp-5.19.0/kernel/bpf/btf.c @@ -3120,7 +3120,7 @@ if (v->next_member) { const struct btf_type *last_member_type; const struct btf_member *last_member; - u16 last_member_type_id; + u32 last_member_type_id; last_member = btf_type_member(v->t) + v->next_member - 1; last_member_type_id = last_member->type; @@ -4325,6 +4325,11 @@ return -EINVAL; } + if (btf_type_is_resolve_source_only(ret_type)) { + btf_verifier_log_type(env, t, "Invalid return type"); + return -EINVAL; + } + if (btf_type_needs_resolve(ret_type) && !env_type_is_resolved(env, ret_type_id)) { err = btf_resolve(env, ret_type, ret_type_id); @@ -4365,6 +4370,11 @@ break; } + if (btf_type_is_resolve_source_only(arg_type)) { + btf_verifier_log_type(env, t, "Invalid arg#%u", i + 1); + return -EINVAL; + } + if (args[i].name_off && (!btf_name_offset_valid(btf, args[i].name_off) || !btf_name_valid_identifier(btf, args[i].name_off))) { @@ -5014,6 +5024,7 @@ if (!ctx_struct) /* should not happen */ return NULL; +again: ctx_tname = btf_name_by_offset(btf_vmlinux, ctx_struct->name_off); if (!ctx_tname) { /* should not happen */ @@ -5027,8 +5038,16 @@ * int socket_filter_bpf_prog(struct __sk_buff *skb) * { // no fields of skb are ever used } */ - if (strcmp(ctx_tname, tname)) - return NULL; + if (strcmp(ctx_tname, tname)) { + /* bpf_user_pt_regs_t is a typedef, so resolve it to + * underlying struct and check name again + */ + if (!btf_type_is_modifier(ctx_struct)) + return NULL; + while (btf_type_is_modifier(ctx_struct)) + ctx_struct = btf_type_by_id(btf_vmlinux, ctx_struct->type); + goto again; + } return ctx_type; } @@ -7298,9 +7317,9 @@ sort(tab->dtors, tab->cnt, sizeof(tab->dtors[0]), btf_id_cmp_func, NULL); - return 0; end: - btf_free_dtor_kfunc_tab(btf); + if (ret) + btf_free_dtor_kfunc_tab(btf); btf_put(btf); return ret; } --- linux-gcp-5.19.0.orig/kernel/bpf/cgroup.c +++ linux-gcp-5.19.0/kernel/bpf/cgroup.c @@ -157,11 +157,12 @@ mutex_lock(&cgroup_mutex); for (atype = 0; atype < ARRAY_SIZE(cgrp->bpf.progs); atype++) { - struct list_head *progs = &cgrp->bpf.progs[atype]; - struct bpf_prog_list *pl, *pltmp; + struct hlist_head *progs = &cgrp->bpf.progs[atype]; + struct bpf_prog_list *pl; + struct hlist_node *pltmp; - list_for_each_entry_safe(pl, pltmp, progs, node) { - list_del(&pl->node); + hlist_for_each_entry_safe(pl, pltmp, progs, node) { + hlist_del(&pl->node); if (pl->prog) bpf_prog_put(pl->prog); if (pl->link) @@ -217,12 +218,12 @@ /* count number of elements in the list. * it's slow but the list cannot be long */ -static u32 prog_list_length(struct list_head *head) +static u32 prog_list_length(struct hlist_head *head) { struct bpf_prog_list *pl; u32 cnt = 0; - list_for_each_entry(pl, head, node) { + hlist_for_each_entry(pl, head, node) { if (!prog_list_prog(pl)) continue; cnt++; @@ -291,7 +292,7 @@ if (cnt > 0 && !(p->bpf.flags[atype] & BPF_F_ALLOW_MULTI)) continue; - list_for_each_entry(pl, &p->bpf.progs[atype], node) { + hlist_for_each_entry(pl, &p->bpf.progs[atype], node) { if (!prog_list_prog(pl)) continue; @@ -342,7 +343,7 @@ cgroup_bpf_get(p); for (i = 0; i < NR; i++) - INIT_LIST_HEAD(&cgrp->bpf.progs[i]); + INIT_HLIST_HEAD(&cgrp->bpf.progs[i]); INIT_LIST_HEAD(&cgrp->bpf.storages); @@ -418,7 +419,7 @@ #define BPF_CGROUP_MAX_PROGS 64 -static struct bpf_prog_list *find_attach_entry(struct list_head *progs, +static struct bpf_prog_list *find_attach_entry(struct hlist_head *progs, struct bpf_prog *prog, struct bpf_cgroup_link *link, struct bpf_prog *replace_prog, @@ -428,12 +429,12 @@ /* single-attach case */ if (!allow_multi) { - if (list_empty(progs)) + if (hlist_empty(progs)) return NULL; - return list_first_entry(progs, typeof(*pl), node); + return hlist_entry(progs->first, typeof(*pl), node); } - list_for_each_entry(pl, progs, node) { + hlist_for_each_entry(pl, progs, node) { if (prog && pl->prog == prog && prog != replace_prog) /* disallow attaching the same prog twice */ return ERR_PTR(-EINVAL); @@ -444,7 +445,7 @@ /* direct prog multi-attach w/ replacement case */ if (replace_prog) { - list_for_each_entry(pl, progs, node) { + hlist_for_each_entry(pl, progs, node) { if (pl->prog == replace_prog) /* a match found */ return pl; @@ -480,7 +481,7 @@ struct bpf_cgroup_storage *new_storage[MAX_BPF_CGROUP_STORAGE_TYPE] = {}; enum cgroup_bpf_attach_type atype; struct bpf_prog_list *pl; - struct list_head *progs; + struct hlist_head *progs; int err; if (((flags & BPF_F_ALLOW_OVERRIDE) && (flags & BPF_F_ALLOW_MULTI)) || @@ -503,7 +504,7 @@ if (!hierarchy_allows_attach(cgrp, atype)) return -EPERM; - if (!list_empty(progs) && cgrp->bpf.flags[atype] != saved_flags) + if (!hlist_empty(progs) && cgrp->bpf.flags[atype] != saved_flags) /* Disallow attaching non-overridable on top * of existing overridable in this cgroup. * Disallow attaching multi-prog if overridable or none @@ -525,12 +526,22 @@ if (pl) { old_prog = pl->prog; } else { + struct hlist_node *last = NULL; + pl = kmalloc(sizeof(*pl), GFP_KERNEL); if (!pl) { bpf_cgroup_storages_free(new_storage); return -ENOMEM; } - list_add_tail(&pl->node, progs); + if (hlist_empty(progs)) + hlist_add_head(&pl->node, progs); + else + hlist_for_each(last, progs) { + if (last->next) + continue; + hlist_add_behind(&pl->node, last); + break; + } } pl->prog = prog; @@ -556,7 +567,7 @@ } bpf_cgroup_storages_free(new_storage); if (!old_prog) { - list_del(&pl->node); + hlist_del(&pl->node); kfree(pl); } return err; @@ -587,7 +598,7 @@ struct cgroup_subsys_state *css; struct bpf_prog_array *progs; struct bpf_prog_list *pl; - struct list_head *head; + struct hlist_head *head; struct cgroup *cg; int pos; @@ -603,7 +614,7 @@ continue; head = &cg->bpf.progs[atype]; - list_for_each_entry(pl, head, node) { + hlist_for_each_entry(pl, head, node) { if (!prog_list_prog(pl)) continue; if (pl->link == link) @@ -637,7 +648,7 @@ enum cgroup_bpf_attach_type atype; struct bpf_prog *old_prog; struct bpf_prog_list *pl; - struct list_head *progs; + struct hlist_head *progs; bool found = false; atype = to_cgroup_bpf_attach_type(link->type); @@ -649,7 +660,7 @@ if (link->link.prog->type != new_prog->type) return -EINVAL; - list_for_each_entry(pl, progs, node) { + hlist_for_each_entry(pl, progs, node) { if (pl->link == link) { found = true; break; @@ -688,7 +699,7 @@ return ret; } -static struct bpf_prog_list *find_detach_entry(struct list_head *progs, +static struct bpf_prog_list *find_detach_entry(struct hlist_head *progs, struct bpf_prog *prog, struct bpf_cgroup_link *link, bool allow_multi) @@ -696,14 +707,14 @@ struct bpf_prog_list *pl; if (!allow_multi) { - if (list_empty(progs)) + if (hlist_empty(progs)) /* report error when trying to detach and nothing is attached */ return ERR_PTR(-ENOENT); /* to maintain backward compatibility NONE and OVERRIDE cgroups * allow detaching with invalid FD (prog==NULL) in legacy mode */ - return list_first_entry(progs, typeof(*pl), node); + return hlist_entry(progs->first, typeof(*pl), node); } if (!prog && !link) @@ -713,7 +724,7 @@ return ERR_PTR(-EINVAL); /* find the prog or link and detach it */ - list_for_each_entry(pl, progs, node) { + hlist_for_each_entry(pl, progs, node) { if (pl->prog == prog && pl->link == link) return pl; } @@ -721,6 +732,62 @@ } /** + * purge_effective_progs() - After compute_effective_progs fails to alloc new + * cgrp->bpf.inactive table we can recover by + * recomputing the array in place. + * + * @cgrp: The cgroup which descendants to travers + * @prog: A program to detach or NULL + * @link: A link to detach or NULL + * @atype: Type of detach operation + */ +static void purge_effective_progs(struct cgroup *cgrp, struct bpf_prog *prog, + struct bpf_cgroup_link *link, + enum cgroup_bpf_attach_type atype) +{ + struct cgroup_subsys_state *css; + struct bpf_prog_array *progs; + struct bpf_prog_list *pl; + struct hlist_head *head; + struct cgroup *cg; + int pos; + + /* recompute effective prog array in place */ + css_for_each_descendant_pre(css, &cgrp->self) { + struct cgroup *desc = container_of(css, struct cgroup, self); + + if (percpu_ref_is_zero(&desc->bpf.refcnt)) + continue; + + /* find position of link or prog in effective progs array */ + for (pos = 0, cg = desc; cg; cg = cgroup_parent(cg)) { + if (pos && !(cg->bpf.flags[atype] & BPF_F_ALLOW_MULTI)) + continue; + + head = &cg->bpf.progs[atype]; + hlist_for_each_entry(pl, head, node) { + if (!prog_list_prog(pl)) + continue; + if (pl->prog == prog && pl->link == link) + goto found; + pos++; + } + } + + /* no link or prog match, skip the cgroup of this layer */ + continue; +found: + progs = rcu_dereference_protected( + desc->bpf.effective[atype], + lockdep_is_held(&cgroup_mutex)); + + /* Remove the program from the array */ + WARN_ONCE(bpf_prog_array_delete_safe_at(progs, pos), + "Failed to purge a prog from array at index %d", pos); + } +} + +/** * __cgroup_bpf_detach() - Detach the program or link from a cgroup, and * propagate the change to descendants * @cgrp: The cgroup which descendants to traverse @@ -737,9 +804,8 @@ enum cgroup_bpf_attach_type atype; struct bpf_prog *old_prog; struct bpf_prog_list *pl; - struct list_head *progs; + struct hlist_head *progs; u32 flags; - int err; atype = to_cgroup_bpf_attach_type(type); if (atype < 0) @@ -761,26 +827,24 @@ pl->prog = NULL; pl->link = NULL; - err = update_effective_progs(cgrp, atype); - if (err) - goto cleanup; + if (update_effective_progs(cgrp, atype)) { + /* if update effective array failed replace the prog with a dummy prog*/ + pl->prog = old_prog; + pl->link = link; + purge_effective_progs(cgrp, old_prog, link, atype); + } /* now can actually delete it from this cgroup list */ - list_del(&pl->node); + hlist_del(&pl->node); + kfree(pl); - if (list_empty(progs)) + if (hlist_empty(progs)) /* last program was detached, reset flags to zero */ cgrp->bpf.flags[atype] = 0; if (old_prog) bpf_prog_put(old_prog); static_branch_dec(&cgroup_bpf_enabled_key[atype]); return 0; - -cleanup: - /* restore back prog or link */ - pl->prog = old_prog; - pl->link = link; - return err; } static int cgroup_bpf_detach(struct cgroup *cgrp, struct bpf_prog *prog, @@ -802,7 +866,7 @@ enum bpf_attach_type type = attr->query.attach_type; enum cgroup_bpf_attach_type atype; struct bpf_prog_array *effective; - struct list_head *progs; + struct hlist_head *progs; struct bpf_prog *prog; int cnt, ret = 0, i; u32 flags; @@ -841,7 +905,7 @@ u32 id; i = 0; - list_for_each_entry(pl, progs, node) { + hlist_for_each_entry(pl, progs, node) { prog = prog_list_prog(pl); id = prog->aux->id; if (copy_to_user(prog_ids + i, &id, sizeof(id))) --- linux-gcp-5.19.0.orig/kernel/bpf/core.c +++ linux-gcp-5.19.0/kernel/bpf/core.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -649,12 +650,6 @@ return fp->jited && !bpf_prog_was_classic(fp); } -static bool bpf_prog_kallsyms_verify_off(const struct bpf_prog *fp) -{ - return list_empty(&fp->aux->ksym.lnode) || - fp->aux->ksym.lnode.prev == LIST_POISON2; -} - void bpf_prog_kallsyms_add(struct bpf_prog *fp) { if (!bpf_prog_kallsyms_candidate(fp) || @@ -828,6 +823,11 @@ unsigned long bitmap[]; }; +void bpf_jit_fill_hole_with_zero(void *area, unsigned int size) +{ + memset(area, 0, size); +} + #define BPF_PROG_SIZE_TO_NBITS(size) (round_up(size, BPF_PROG_CHUNK_SIZE) / BPF_PROG_CHUNK_SIZE) static size_t bpf_prog_pack_size = -1; @@ -898,7 +898,7 @@ return pack; } -static void *bpf_prog_pack_alloc(u32 size, bpf_jit_fill_hole_t bpf_fill_ill_insns) +void *bpf_prog_pack_alloc(u32 size, bpf_jit_fill_hole_t bpf_fill_ill_insns) { unsigned int nbits = BPF_PROG_SIZE_TO_NBITS(size); struct bpf_prog_pack *pack; @@ -942,7 +942,7 @@ return ptr; } -static void bpf_prog_pack_free(struct bpf_binary_header *hdr) +void bpf_prog_pack_free(struct bpf_binary_header *hdr) { struct bpf_prog_pack *pack = NULL, *tmp; unsigned int nbits; @@ -1011,7 +1011,7 @@ int bpf_jit_charge_modmem(u32 size) { - if (atomic_long_add_return(size, &bpf_jit_current) > bpf_jit_limit) { + if (atomic_long_add_return(size, &bpf_jit_current) > READ_ONCE(bpf_jit_limit)) { if (!bpf_capable()) { atomic_long_sub(size, &bpf_jit_current); return -EPERM; @@ -1152,7 +1152,6 @@ bpf_prog_pack_free(ro_header); return PTR_ERR(ptr); } - prog->aux->use_bpf_prog_pack = true; return 0; } @@ -1176,17 +1175,23 @@ bpf_jit_uncharge_modmem(size); } +struct bpf_binary_header * +bpf_jit_binary_pack_hdr(const struct bpf_prog *fp) +{ + unsigned long real_start = (unsigned long)fp->bpf_func; + unsigned long addr; + + addr = real_start & BPF_PROG_CHUNK_MASK; + return (void *)addr; +} + static inline struct bpf_binary_header * bpf_jit_binary_hdr(const struct bpf_prog *fp) { unsigned long real_start = (unsigned long)fp->bpf_func; unsigned long addr; - if (fp->aux->use_bpf_prog_pack) - addr = real_start & BPF_PROG_CHUNK_MASK; - else - addr = real_start & PAGE_MASK; - + addr = real_start & PAGE_MASK; return (void *)addr; } @@ -1199,11 +1204,7 @@ if (fp->jited) { struct bpf_binary_header *hdr = bpf_jit_binary_hdr(fp); - if (fp->aux->use_bpf_prog_pack) - bpf_jit_binary_pack_free(hdr, NULL /* rw_buffer */); - else - bpf_jit_binary_free(hdr); - + bpf_jit_binary_free(hdr); WARN_ON_ONCE(!bpf_prog_kallsyms_verify_off(fp)); } @@ -1942,9 +1943,7 @@ * reuse preexisting logic from Spectre v1 mitigation that * happens to produce the required code on x86 for v4 as well. */ -#ifdef CONFIG_X86 barrier_nospec(); -#endif CONT; #define LDST(SIZEOP, SIZE) \ STX_MEM_##SIZEOP: \ @@ -2122,6 +2121,7 @@ bool bpf_prog_map_compatible(struct bpf_map *map, const struct bpf_prog *fp) { + enum bpf_prog_type prog_type = resolve_prog_type(fp); bool ret; if (fp->kprobe_override) @@ -2132,12 +2132,12 @@ /* There's no owner yet where we could check for * compatibility. */ - map->owner.type = fp->type; + map->owner.type = prog_type; map->owner.jited = fp->jited; map->owner.xdp_has_frags = fp->aux->xdp_has_frags; ret = true; } else { - ret = map->owner.type == fp->type && + ret = map->owner.type == prog_type && map->owner.jited == fp->jited && map->owner.xdp_has_frags == fp->aux->xdp_has_frags; } @@ -2715,6 +2715,12 @@ { return false; } + +/* Return TRUE if the JIT backend supports mixing bpf2bpf and tailcalls. */ +bool __weak bpf_jit_supports_subprog_tailcalls(void) +{ + return false; +} bool __weak bpf_jit_supports_kfunc_call(void) { --- linux-gcp-5.19.0.orig/kernel/bpf/dispatcher.c +++ linux-gcp-5.19.0/kernel/bpf/dispatcher.c @@ -85,12 +85,12 @@ return false; } -int __weak arch_prepare_bpf_dispatcher(void *image, s64 *funcs, int num_funcs) +int __weak arch_prepare_bpf_dispatcher(void *image, void *buf, s64 *funcs, int num_funcs) { return -ENOTSUPP; } -static int bpf_dispatcher_prepare(struct bpf_dispatcher *d, void *image) +static int bpf_dispatcher_prepare(struct bpf_dispatcher *d, void *image, void *buf) { s64 ips[BPF_DISPATCHER_MAX] = {}, *ipsp = &ips[0]; int i; @@ -99,12 +99,12 @@ if (d->progs[i].prog) *ipsp++ = (s64)(uintptr_t)d->progs[i].prog->bpf_func; } - return arch_prepare_bpf_dispatcher(image, &ips[0], d->num_progs); + return arch_prepare_bpf_dispatcher(image, buf, &ips[0], d->num_progs); } static void bpf_dispatcher_update(struct bpf_dispatcher *d, int prev_num_progs) { - void *old, *new; + void *old, *new, *tmp; u32 noff; int err; @@ -117,8 +117,14 @@ } new = d->num_progs ? d->image + noff : NULL; + tmp = d->num_progs ? d->rw_image + noff : NULL; if (new) { - if (bpf_dispatcher_prepare(d, new)) + /* Prepare the dispatcher in d->rw_image. Then use + * bpf_arch_text_copy to update d->image, which is RO+X. + */ + if (bpf_dispatcher_prepare(d, new, tmp)) + return; + if (IS_ERR(bpf_arch_text_copy(new, tmp, PAGE_SIZE / 2))) return; } @@ -140,9 +146,18 @@ mutex_lock(&d->mutex); if (!d->image) { - d->image = bpf_jit_alloc_exec_page(); + d->image = bpf_prog_pack_alloc(PAGE_SIZE, bpf_jit_fill_hole_with_zero); if (!d->image) goto out; + d->rw_image = bpf_jit_alloc_exec(PAGE_SIZE); + if (!d->rw_image) { + u32 size = PAGE_SIZE; + + bpf_arch_text_copy(d->image, &size, sizeof(size)); + bpf_prog_pack_free((struct bpf_binary_header *)d->image); + d->image = NULL; + goto out; + } bpf_image_ksym_add(d->image, &d->ksym); } --- linux-gcp-5.19.0.orig/kernel/bpf/hashtab.c +++ linux-gcp-5.19.0/kernel/bpf/hashtab.c @@ -162,17 +162,25 @@ unsigned long *pflags) { unsigned long flags; + bool use_raw_lock; - hash = hash & HASHTAB_MAP_LOCK_MASK; + hash = hash & min_t(u32, HASHTAB_MAP_LOCK_MASK, htab->n_buckets - 1); - migrate_disable(); + use_raw_lock = htab_use_raw_lock(htab); + if (use_raw_lock) + preempt_disable(); + else + migrate_disable(); if (unlikely(__this_cpu_inc_return(*(htab->map_locked[hash])) != 1)) { __this_cpu_dec(*(htab->map_locked[hash])); - migrate_enable(); + if (use_raw_lock) + preempt_enable(); + else + migrate_enable(); return -EBUSY; } - if (htab_use_raw_lock(htab)) + if (use_raw_lock) raw_spin_lock_irqsave(&b->raw_lock, flags); else spin_lock_irqsave(&b->lock, flags); @@ -185,13 +193,18 @@ struct bucket *b, u32 hash, unsigned long flags) { - hash = hash & HASHTAB_MAP_LOCK_MASK; - if (htab_use_raw_lock(htab)) + bool use_raw_lock = htab_use_raw_lock(htab); + + hash = hash & min_t(u32, HASHTAB_MAP_LOCK_MASK, htab->n_buckets - 1); + if (use_raw_lock) raw_spin_unlock_irqrestore(&b->raw_lock, flags); else spin_unlock_irqrestore(&b->lock, flags); __this_cpu_dec(*(htab->map_locked[hash])); - migrate_enable(); + if (use_raw_lock) + preempt_enable(); + else + migrate_enable(); } static bool htab_lru_map_delete_node(void *arg, struct bpf_lru_node *node); @@ -311,12 +324,8 @@ struct htab_elem *l; if (node) { - u32 key_size = htab->map.key_size; - l = container_of(node, struct htab_elem, lru_node); - memcpy(l->key, key, key_size); - check_and_init_map_value(&htab->map, - l->key + round_up(key_size, 8)); + memcpy(l->key, key, htab->map.key_size); return l; } @@ -1695,8 +1704,11 @@ /* do not grab the lock unless need it (bucket_cnt > 0). */ if (locked) { ret = htab_lock_bucket(htab, b, batch, &flags); - if (ret) - goto next_batch; + if (ret) { + rcu_read_unlock(); + bpf_enable_instrumentation(); + goto after_loop; + } } bucket_cnt = 0; @@ -2064,6 +2076,7 @@ seq_info->percpu_value_buf = value_buf; } + bpf_map_inc_with_uref(map); seq_info->map = map; seq_info->htab = container_of(map, struct bpf_htab, map); return 0; @@ -2073,6 +2086,7 @@ { struct bpf_iter_seq_hash_map_info *seq_info = priv_data; + bpf_map_put_with_uref(seq_info->map); kfree(seq_info->percpu_value_buf); } --- linux-gcp-5.19.0.orig/kernel/bpf/helpers.c +++ linux-gcp-5.19.0/kernel/bpf/helpers.c @@ -584,7 +584,7 @@ return strncmp(s1, s2, s1_sz); } -const struct bpf_func_proto bpf_strncmp_proto = { +static const struct bpf_func_proto bpf_strncmp_proto = { .func = bpf_strncmp, .gpl_only = false, .ret_type = RET_INTEGER, @@ -1402,7 +1402,7 @@ */ #define BPF_PTR_POISON ((void *)((0xeB9FUL << 2) + POISON_POINTER_DELTA)) -const struct bpf_func_proto bpf_kptr_xchg_proto = { +static const struct bpf_func_proto bpf_kptr_xchg_proto = { .func = bpf_kptr_xchg, .gpl_only = false, .ret_type = RET_PTR_TO_BTF_ID_OR_NULL, @@ -1468,6 +1468,8 @@ { int err; + BTF_TYPE_EMIT(struct bpf_dynptr); + err = bpf_dynptr_check_size(size); if (err) goto error; @@ -1487,7 +1489,7 @@ return err; } -const struct bpf_func_proto bpf_dynptr_from_mem_proto = { +static const struct bpf_func_proto bpf_dynptr_from_mem_proto = { .func = bpf_dynptr_from_mem, .gpl_only = false, .ret_type = RET_INTEGER, @@ -1514,7 +1516,7 @@ return 0; } -const struct bpf_func_proto bpf_dynptr_read_proto = { +static const struct bpf_func_proto bpf_dynptr_read_proto = { .func = bpf_dynptr_read, .gpl_only = false, .ret_type = RET_INTEGER, @@ -1542,7 +1544,7 @@ return 0; } -const struct bpf_func_proto bpf_dynptr_write_proto = { +static const struct bpf_func_proto bpf_dynptr_write_proto = { .func = bpf_dynptr_write, .gpl_only = false, .ret_type = RET_INTEGER, @@ -1570,7 +1572,7 @@ return (unsigned long)(ptr->data + ptr->offset + offset); } -const struct bpf_func_proto bpf_dynptr_data_proto = { +static const struct bpf_func_proto bpf_dynptr_data_proto = { .func = bpf_dynptr_data, .gpl_only = false, .ret_type = RET_PTR_TO_DYNPTR_MEM_OR_NULL, @@ -1627,26 +1629,12 @@ return &bpf_ringbuf_discard_proto; case BPF_FUNC_ringbuf_query: return &bpf_ringbuf_query_proto; - case BPF_FUNC_ringbuf_reserve_dynptr: - return &bpf_ringbuf_reserve_dynptr_proto; - case BPF_FUNC_ringbuf_submit_dynptr: - return &bpf_ringbuf_submit_dynptr_proto; - case BPF_FUNC_ringbuf_discard_dynptr: - return &bpf_ringbuf_discard_dynptr_proto; case BPF_FUNC_for_each_map_elem: return &bpf_for_each_map_elem_proto; case BPF_FUNC_loop: return &bpf_loop_proto; case BPF_FUNC_strncmp: return &bpf_strncmp_proto; - case BPF_FUNC_dynptr_from_mem: - return &bpf_dynptr_from_mem_proto; - case BPF_FUNC_dynptr_read: - return &bpf_dynptr_read_proto; - case BPF_FUNC_dynptr_write: - return &bpf_dynptr_write_proto; - case BPF_FUNC_dynptr_data: - return &bpf_dynptr_data_proto; default: break; } @@ -1675,6 +1663,20 @@ return &bpf_timer_cancel_proto; case BPF_FUNC_kptr_xchg: return &bpf_kptr_xchg_proto; + case BPF_FUNC_ringbuf_reserve_dynptr: + return &bpf_ringbuf_reserve_dynptr_proto; + case BPF_FUNC_ringbuf_submit_dynptr: + return &bpf_ringbuf_submit_dynptr_proto; + case BPF_FUNC_ringbuf_discard_dynptr: + return &bpf_ringbuf_discard_dynptr_proto; + case BPF_FUNC_dynptr_from_mem: + return &bpf_dynptr_from_mem_proto; + case BPF_FUNC_dynptr_read: + return &bpf_dynptr_read_proto; + case BPF_FUNC_dynptr_write: + return &bpf_dynptr_write_proto; + case BPF_FUNC_dynptr_data: + return &bpf_dynptr_data_proto; default: break; } --- linux-gcp-5.19.0.orig/kernel/bpf/offload.c +++ linux-gcp-5.19.0/kernel/bpf/offload.c @@ -216,9 +216,6 @@ if (offload->dev_state) offload->offdev->ops->destroy(prog); - /* Make sure BPF_PROG_GET_NEXT_ID can't find this dead program */ - bpf_prog_free_id(prog, true); - list_del_init(&offload->offloads); kfree(offload); prog->aux->offload = NULL; --- linux-gcp-5.19.0.orig/kernel/bpf/percpu_freelist.c +++ linux-gcp-5.19.0/kernel/bpf/percpu_freelist.c @@ -102,22 +102,21 @@ u32 nr_elems) { struct pcpu_freelist_head *head; - int i, cpu, pcpu_entries; + unsigned int cpu, cpu_idx, i, j, n, m; - pcpu_entries = nr_elems / num_possible_cpus() + 1; - i = 0; + n = nr_elems / num_possible_cpus(); + m = nr_elems % num_possible_cpus(); + cpu_idx = 0; for_each_possible_cpu(cpu) { -again: head = per_cpu_ptr(s->freelist, cpu); - /* No locking required as this is not visible yet. */ - pcpu_freelist_push_node(head, buf); - i++; - buf += elem_size; - if (i == nr_elems) - break; - if (i % pcpu_entries) - goto again; + j = n + (cpu_idx < m ? 1 : 0); + for (i = 0; i < j; i++) { + /* No locking required as this is not visible yet. */ + pcpu_freelist_push_node(head, buf); + buf += elem_size; + } + cpu_idx++; } } --- linux-gcp-5.19.0.orig/kernel/bpf/syscall.c +++ linux-gcp-5.19.0/kernel/bpf/syscall.c @@ -578,7 +578,7 @@ if (off_desc->type == BPF_KPTR_UNREF) { u64 *p = (u64 *)btf_id_ptr; - WRITE_ONCE(p, 0); + WRITE_ONCE(*p, 0); continue; } old_ptr = xchg(btf_id_ptr, 0); @@ -1939,7 +1939,7 @@ return; if (audit_enabled == AUDIT_OFF) return; - if (op == BPF_AUDIT_LOAD) + if (!in_irq() && !irqs_disabled()) ctx = audit_context(); ab = audit_log_start(ctx, GFP_ATOMIC, AUDIT_BPF); if (unlikely(!ab)) @@ -2034,6 +2034,7 @@ prog = aux->prog; perf_event_bpf_event(prog, PERF_BPF_EVENT_PROG_UNLOAD, 0); bpf_audit_prog(prog, BPF_AUDIT_UNLOAD); + bpf_prog_free_id(prog, true); __bpf_prog_put_noref(prog, true); } @@ -2042,9 +2043,6 @@ struct bpf_prog_aux *aux = prog->aux; if (atomic64_dec_and_test(&aux->refcnt)) { - /* bpf_prog_free_id() must be called first */ - bpf_prog_free_id(prog, do_idr_lock); - if (in_irq() || irqs_disabled()) { INIT_WORK(&aux->work, bpf_prog_put_deferred); schedule_work(&aux->work); @@ -2074,6 +2072,17 @@ u64 misses; }; +void notrace bpf_prog_inc_misses_counter(struct bpf_prog *prog) +{ + struct bpf_prog_stats *stats; + unsigned int flags; + + stats = this_cpu_ptr(prog->stats); + flags = u64_stats_update_begin_irqsave(&stats->syncp); + u64_stats_inc(&stats->misses); + u64_stats_update_end_irqrestore(&stats->syncp, flags); +} + static void bpf_prog_get_stats(const struct bpf_prog *prog, struct bpf_prog_kstats *stats) { @@ -4361,7 +4370,9 @@ if (attr->task_fd_query.flags != 0) return -EINVAL; + rcu_read_lock(); task = get_pid_task(find_vpid(pid), PIDTYPE_PID); + rcu_read_unlock(); if (!task) return -ENOENT; @@ -5035,9 +5046,6 @@ BPF_CALL_3(bpf_sys_bpf, int, cmd, union bpf_attr *, attr, u32, attr_size) { - struct bpf_prog * __maybe_unused prog; - struct bpf_tramp_run_ctx __maybe_unused run_ctx; - switch (cmd) { case BPF_MAP_CREATE: case BPF_MAP_UPDATE_ELEM: @@ -5047,6 +5055,18 @@ case BPF_LINK_CREATE: case BPF_RAW_TRACEPOINT_OPEN: break; + default: + return -EINVAL; + } + return __sys_bpf(cmd, KERNEL_BPFPTR(attr), attr_size); +} + +int kern_sys_bpf(int cmd, union bpf_attr *attr, unsigned int size) +{ + struct bpf_prog * __maybe_unused prog; + struct bpf_tramp_run_ctx __maybe_unused run_ctx; + + switch (cmd) { #ifdef CONFIG_BPF_JIT /* __bpf_prog_enter_sleepable used by trampoline and JIT */ case BPF_PROG_TEST_RUN: if (attr->test.data_in || attr->test.data_out || @@ -5077,11 +5097,10 @@ return 0; #endif default: - return -EINVAL; + return ____bpf_sys_bpf(cmd, attr, size); } - return __sys_bpf(cmd, KERNEL_BPFPTR(attr), attr_size); } -EXPORT_SYMBOL(bpf_sys_bpf); +EXPORT_SYMBOL(kern_sys_bpf); static const struct bpf_func_proto bpf_sys_bpf_proto = { .func = bpf_sys_bpf, @@ -5130,7 +5149,7 @@ return *res ? 0 : -ENOENT; } -const struct bpf_func_proto bpf_kallsyms_lookup_name_proto = { +static const struct bpf_func_proto bpf_kallsyms_lookup_name_proto = { .func = bpf_kallsyms_lookup_name, .gpl_only = false, .ret_type = RET_INTEGER, @@ -5145,7 +5164,7 @@ { switch (func_id) { case BPF_FUNC_sys_bpf: - return &bpf_sys_bpf_proto; + return !perfmon_capable() ? NULL : &bpf_sys_bpf_proto; case BPF_FUNC_btf_find_by_name_kind: return &bpf_btf_find_by_name_kind_proto; case BPF_FUNC_sys_close: --- linux-gcp-5.19.0.orig/kernel/bpf/trampoline.c +++ linux-gcp-5.19.0/kernel/bpf/trampoline.c @@ -553,17 +553,6 @@ return start; } -static void notrace inc_misses_counter(struct bpf_prog *prog) -{ - struct bpf_prog_stats *stats; - unsigned int flags; - - stats = this_cpu_ptr(prog->stats); - flags = u64_stats_update_begin_irqsave(&stats->syncp); - u64_stats_inc(&stats->misses); - u64_stats_update_end_irqrestore(&stats->syncp, flags); -} - /* The logic is similar to bpf_prog_run(), but with an explicit * rcu_read_lock() and migrate_disable() which are required * for the trampoline. The macro is split into @@ -585,8 +574,8 @@ run_ctx->saved_run_ctx = bpf_set_run_ctx(&run_ctx->run_ctx); - if (unlikely(__this_cpu_inc_return(*(prog->active)) != 1)) { - inc_misses_counter(prog); + if (unlikely(this_cpu_inc_return(*(prog->active)) != 1)) { + bpf_prog_inc_misses_counter(prog); return 0; } return bpf_prog_start_time(); @@ -620,7 +609,7 @@ bpf_reset_run_ctx(run_ctx->saved_run_ctx); update_prog_stats(prog, start); - __this_cpu_dec(*(prog->active)); + this_cpu_dec(*(prog->active)); migrate_enable(); rcu_read_unlock(); } @@ -631,8 +620,8 @@ migrate_disable(); might_fault(); - if (unlikely(__this_cpu_inc_return(*(prog->active)) != 1)) { - inc_misses_counter(prog); + if (unlikely(this_cpu_inc_return(*(prog->active)) != 1)) { + bpf_prog_inc_misses_counter(prog); return 0; } @@ -647,7 +636,7 @@ bpf_reset_run_ctx(run_ctx->saved_run_ctx); update_prog_stats(prog, start); - __this_cpu_dec(*(prog->active)); + this_cpu_dec(*(prog->active)); migrate_enable(); rcu_read_unlock_trace(); } --- linux-gcp-5.19.0.orig/kernel/bpf/verifier.c +++ linux-gcp-5.19.0/kernel/bpf/verifier.c @@ -467,25 +467,11 @@ return type & MEM_RDONLY; } -static bool arg_type_may_be_refcounted(enum bpf_arg_type type) -{ - return type == ARG_PTR_TO_SOCK_COMMON; -} - static bool type_may_be_null(u32 type) { return type & PTR_MAYBE_NULL; } -static bool may_be_acquire_function(enum bpf_func_id func_id) -{ - return func_id == BPF_FUNC_sk_lookup_tcp || - func_id == BPF_FUNC_sk_lookup_udp || - func_id == BPF_FUNC_skc_lookup_tcp || - func_id == BPF_FUNC_map_lookup_elem || - func_id == BPF_FUNC_ringbuf_reserve; -} - static bool is_acquire_function(enum bpf_func_id func_id, const struct bpf_map *map) { @@ -518,6 +504,26 @@ func_id == BPF_FUNC_skc_to_tcp_request_sock; } +static bool is_dynptr_acquire_function(enum bpf_func_id func_id) +{ + return func_id == BPF_FUNC_dynptr_data; +} + +static bool helper_multiple_ref_obj_use(enum bpf_func_id func_id, + const struct bpf_map *map) +{ + int ref_obj_uses = 0; + + if (is_ptr_cast_function(func_id)) + ref_obj_uses++; + if (is_acquire_function(func_id, map)) + ref_obj_uses++; + if (is_dynptr_acquire_function(func_id)) + ref_obj_uses++; + + return ref_obj_uses > 1; +} + static bool is_cmpxchg_insn(const struct bpf_insn *insn) { return BPF_CLASS(insn->code) == BPF_STX && @@ -1005,12 +1011,17 @@ */ static void *realloc_array(void *arr, size_t old_n, size_t new_n, size_t size) { + void *new_arr; + if (!new_n || old_n == new_n) goto out; - arr = krealloc_array(arr, new_n, size, GFP_KERNEL); - if (!arr) + new_arr = krealloc_array(arr, new_n, size, GFP_KERNEL); + if (!new_arr) { + kfree(arr); return NULL; + } + arr = new_arr; if (new_n > old_n) memset(arr + old_n * size, 0, (new_n - old_n) * size); @@ -1086,6 +1097,7 @@ id = ++env->id_gen; state->refs[new_ofs].id = id; state->refs[new_ofs].insn_idx = insn_idx; + state->refs[new_ofs].callback_ref = state->in_callback_fn ? state->frameno : 0; return id; } @@ -1098,6 +1110,9 @@ last_idx = state->acquired_refs - 1; for (i = 0; i < state->acquired_refs; i++) { if (state->refs[i].id == ptr_id) { + /* Cannot release caller references in callbacks */ + if (state->in_callback_fn && state->refs[i].callback_ref != state->frameno) + return -EINVAL; if (last_idx && i != last_idx) memcpy(&state->refs[i], &state->refs[last_idx], sizeof(*state->refs)); @@ -2626,6 +2641,12 @@ if (opcode == BPF_CALL) { if (insn->src_reg == BPF_PSEUDO_CALL) return -ENOTSUPP; + /* kfunc with imm==0 is invalid and fixup_kfunc_call will + * catch this error later. Make backtracking conservative + * with ENOTSUPP. + */ + if (insn->src_reg == BPF_PSEUDO_KFUNC_CALL && insn->imm == 0) + return -ENOTSUPP; /* regular helper call sets R0 */ *reg_mask &= ~1; if (*reg_mask & 0x3f) { @@ -2736,7 +2757,7 @@ } } -static int __mark_chain_precision(struct bpf_verifier_env *env, int regno, +static int __mark_chain_precision(struct bpf_verifier_env *env, int frame, int regno, int spi) { struct bpf_verifier_state *st = env->cur_state; @@ -2753,7 +2774,7 @@ if (!env->bpf_capable) return 0; - func = st->frame[st->curframe]; + func = st->frame[frame]; if (regno >= 0) { reg = &func->regs[regno]; if (reg->type != SCALAR_VALUE) { @@ -2834,7 +2855,7 @@ break; new_marks = false; - func = st->frame[st->curframe]; + func = st->frame[frame]; bitmap_from_u64(mask, reg_mask); for_each_set_bit(i, mask, 32) { reg = &func->regs[i]; @@ -2900,12 +2921,17 @@ static int mark_chain_precision(struct bpf_verifier_env *env, int regno) { - return __mark_chain_precision(env, regno, -1); + return __mark_chain_precision(env, env->cur_state->curframe, regno, -1); +} + +static int mark_chain_precision_frame(struct bpf_verifier_env *env, int frame, int regno) +{ + return __mark_chain_precision(env, frame, regno, -1); } -static int mark_chain_precision_stack(struct bpf_verifier_env *env, int spi) +static int mark_chain_precision_stack_frame(struct bpf_verifier_env *env, int frame, int spi) { - return __mark_chain_precision(env, -1, spi); + return __mark_chain_precision(env, frame, -1, spi); } static bool is_spillable_regtype(enum bpf_reg_type type) @@ -2968,13 +2994,24 @@ return reg->type != SCALAR_VALUE; } +/* Copy src state preserving dst->parent and dst->live fields */ +static void copy_register_state(struct bpf_reg_state *dst, const struct bpf_reg_state *src) +{ + struct bpf_reg_state *parent = dst->parent; + enum bpf_reg_liveness live = dst->live; + + *dst = *src; + dst->parent = parent; + dst->live = live; +} + static void save_register_state(struct bpf_func_state *state, int spi, struct bpf_reg_state *reg, int size) { int i; - state->stack[spi].spilled_ptr = *reg; + copy_register_state(&state->stack[spi].spilled_ptr, reg); if (size == BPF_REG_SIZE) state->stack[spi].spilled_ptr.live |= REG_LIVE_WRITTEN; @@ -3020,7 +3057,9 @@ bool sanitize = reg && is_spillable_regtype(reg->type); for (i = 0; i < size; i++) { - if (state->stack[spi].slot_type[i] == STACK_INVALID) { + u8 type = state->stack[spi].slot_type[i]; + + if (type != STACK_MISC && type != STACK_ZERO) { sanitize = true; break; } @@ -3154,14 +3193,17 @@ stype = &state->stack[spi].slot_type[slot % BPF_REG_SIZE]; mark_stack_slot_scratched(env, spi); - if (!env->allow_ptr_leaks - && *stype != NOT_INIT - && *stype != SCALAR_VALUE) { - /* Reject the write if there's are spilled pointers in - * range. If we didn't reject here, the ptr status - * would be erased below (even though not all slots are - * actually overwritten), possibly opening the door to - * leaks. + if (!env->allow_ptr_leaks && *stype != STACK_MISC && *stype != STACK_ZERO) { + /* Reject the write if range we may write to has not + * been initialized beforehand. If we didn't reject + * here, the ptr status would be erased below (even + * though not all slots are actually overwritten), + * possibly opening the door to leaks. + * + * We do however catch STACK_INVALID case below, and + * only allow reading possibly uninitialized memory + * later for CAP_PERFMON, as the write may not happen to + * that slot. */ verbose(env, "spilled ptr in range of var-offset stack write; insn %d, ptr off: %d", insn_idx, i); @@ -3297,7 +3339,7 @@ */ s32 subreg_def = state->regs[dst_regno].subreg_def; - state->regs[dst_regno] = *reg; + copy_register_state(&state->regs[dst_regno], reg); state->regs[dst_regno].subreg_def = subreg_def; } else { for (i = 0; i < size; i++) { @@ -3318,7 +3360,7 @@ if (dst_regno >= 0) { /* restore register state from stack */ - state->regs[dst_regno] = *reg; + copy_register_state(&state->regs[dst_regno], reg); /* mark reg as written since spilled pointer state likely * has its liveness marks cleared by is_state_visited() * which resets stack/reg liveness for state transitions @@ -5128,10 +5170,6 @@ } if (is_spilled_reg(&state->stack[spi]) && - base_type(state->stack[spi].spilled_ptr.type) == PTR_TO_BTF_ID) - goto mark; - - if (is_spilled_reg(&state->stack[spi]) && (state->stack[spi].spilled_ptr.type == SCALAR_VALUE || env->allow_ptr_leaks)) { if (clobber) { @@ -5161,6 +5199,11 @@ mark_reg_read(env, &state->stack[spi].spilled_ptr, state->stack[spi].spilled_ptr.parent, REG_LIVE_READ64); + /* We do not set REG_LIVE_WRITTEN for stack slot, as we can not + * be sure that whether stack slot is written to or not. Hence, + * we must still conservatively propagate reads upwards even if + * helper may write to the entire memory range. + */ } return update_stack_depth(env, state, min_off); } @@ -5533,17 +5576,6 @@ type == ARG_CONST_SIZE_OR_ZERO; } -static bool arg_type_is_alloc_size(enum bpf_arg_type type) -{ - return type == ARG_CONST_ALLOC_SIZE_OR_ZERO; -} - -static bool arg_type_is_int_ptr(enum bpf_arg_type type) -{ - return type == ARG_PTR_TO_INT || - type == ARG_PTR_TO_LONG; -} - static bool arg_type_is_release(enum bpf_arg_type type) { return type & OBJ_RELEASE; @@ -5847,6 +5879,7 @@ struct bpf_reg_state *regs = cur_regs(env), *reg = ®s[regno]; enum bpf_arg_type arg_type = fn->arg_type[arg]; enum bpf_reg_type type = reg->type; + u32 *arg_btf_id = NULL; int err = 0; if (arg_type == ARG_DONTCARE) @@ -5883,7 +5916,19 @@ */ goto skip_type_check; - err = check_reg_type(env, regno, arg_type, fn->arg_btf_id[arg], meta); + /* We already checked for NULL above */ + if (arg_type == ARG_PTR_TO_ALLOC_MEM) { + if (reg->off != 0 || !tnum_is_const(reg->var_off)) { + verbose(env, "helper wants pointer to allocated memory\n"); + return -EACCES; + } + } + + /* arg_btf_id and arg_size are in a union. */ + if (base_type(arg_type) == ARG_PTR_TO_BTF_ID) + arg_btf_id = fn->arg_btf_id[arg]; + + err = check_reg_type(env, regno, arg_type, arg_btf_id, meta); if (err) return err; @@ -5924,7 +5969,8 @@ meta->ref_obj_id = reg->ref_obj_id; } - if (arg_type == ARG_CONST_MAP_PTR) { + switch (base_type(arg_type)) { + case ARG_CONST_MAP_PTR: /* bpf_map_xxx(map_ptr) call: remember that map_ptr */ if (meta->map_ptr) { /* Use map_uid (which is unique id of inner map) to reject: @@ -5949,7 +5995,8 @@ } meta->map_ptr = reg->map_ptr; meta->map_uid = reg->map_uid; - } else if (arg_type == ARG_PTR_TO_MAP_KEY) { + break; + case ARG_PTR_TO_MAP_KEY: /* bpf_map_xxx(..., map_ptr, ..., key) call: * check that [key, key + map->key_size) are within * stack limits and initialized @@ -5966,7 +6013,8 @@ err = check_helper_mem_access(env, regno, meta->map_ptr->key_size, false, NULL); - } else if (base_type(arg_type) == ARG_PTR_TO_MAP_VALUE) { + break; + case ARG_PTR_TO_MAP_VALUE: if (type_may_be_null(arg_type) && register_is_null(reg)) return 0; @@ -5982,14 +6030,16 @@ err = check_helper_mem_access(env, regno, meta->map_ptr->value_size, false, meta); - } else if (arg_type == ARG_PTR_TO_PERCPU_BTF_ID) { + break; + case ARG_PTR_TO_PERCPU_BTF_ID: if (!reg->btf_id) { verbose(env, "Helper has invalid btf_id in R%d\n", regno); return -EACCES; } meta->ret_btf = reg->btf; meta->ret_btf_id = reg->btf_id; - } else if (arg_type == ARG_PTR_TO_SPIN_LOCK) { + break; + case ARG_PTR_TO_SPIN_LOCK: if (meta->func_id == BPF_FUNC_spin_lock) { if (process_spin_lock(env, regno, true)) return -EACCES; @@ -6000,21 +6050,32 @@ verbose(env, "verifier internal error\n"); return -EFAULT; } - } else if (arg_type == ARG_PTR_TO_TIMER) { + break; + case ARG_PTR_TO_TIMER: if (process_timer_func(env, regno, meta)) return -EACCES; - } else if (arg_type == ARG_PTR_TO_FUNC) { + break; + case ARG_PTR_TO_FUNC: meta->subprogno = reg->subprogno; - } else if (base_type(arg_type) == ARG_PTR_TO_MEM) { + break; + case ARG_PTR_TO_MEM: /* The access to this pointer is only checked when we hit the * next is_mem_size argument below. */ meta->raw_mode = arg_type & MEM_UNINIT; - } else if (arg_type_is_mem_size(arg_type)) { - bool zero_size_allowed = (arg_type == ARG_CONST_SIZE_OR_ZERO); - - err = check_mem_size_reg(env, reg, regno, zero_size_allowed, meta); - } else if (arg_type_is_dynptr(arg_type)) { + if (arg_type & MEM_FIXED_SIZE) { + err = check_helper_mem_access(env, regno, + fn->arg_size[arg], false, + meta); + } + break; + case ARG_CONST_SIZE: + err = check_mem_size_reg(env, reg, regno, false, meta); + break; + case ARG_CONST_SIZE_OR_ZERO: + err = check_mem_size_reg(env, reg, regno, true, meta); + break; + case ARG_PTR_TO_DYNPTR: if (arg_type & MEM_UNINIT) { if (!is_dynptr_reg_valid_uninit(env, reg)) { verbose(env, "Dynptr has to be an uninitialized dynptr\n"); @@ -6048,21 +6109,31 @@ err_extra, arg + 1); return -EINVAL; } - } else if (arg_type_is_alloc_size(arg_type)) { + break; + case ARG_CONST_ALLOC_SIZE_OR_ZERO: if (!tnum_is_const(reg->var_off)) { verbose(env, "R%d is not a known constant'\n", regno); return -EACCES; } meta->mem_size = reg->var_off.value; - } else if (arg_type_is_int_ptr(arg_type)) { + err = mark_chain_precision(env, regno); + if (err) + return err; + break; + case ARG_PTR_TO_INT: + case ARG_PTR_TO_LONG: + { int size = int_ptr_type_to_size(arg_type); err = check_helper_mem_access(env, regno, size, false, meta); if (err) return err; err = check_ptr_alignment(env, reg, 0, size, true); - } else if (arg_type == ARG_PTR_TO_CONST_STR) { + break; + } + case ARG_PTR_TO_CONST_STR: + { struct bpf_map *map = reg->map_ptr; int map_off; u64 map_addr; @@ -6101,9 +6172,12 @@ verbose(env, "string is not zero-terminated\n"); return -EINVAL; } - } else if (arg_type == ARG_PTR_TO_KPTR) { + break; + } + case ARG_PTR_TO_KPTR: if (process_kptr_func(env, regno, meta)) return -EACCES; + break; } return err; @@ -6143,7 +6217,8 @@ static bool allow_tail_call_in_subprogs(struct bpf_verifier_env *env) { - return env->prog->jit_requested && IS_ENABLED(CONFIG_X86_64); + return env->prog->jit_requested && + bpf_jit_supports_subprog_tailcalls(); } static int check_map_func_compatibility(struct bpf_verifier_env *env, @@ -6399,11 +6474,19 @@ return count <= 1; } -static bool check_args_pair_invalid(enum bpf_arg_type arg_curr, - enum bpf_arg_type arg_next) +static bool check_args_pair_invalid(const struct bpf_func_proto *fn, int arg) { - return (base_type(arg_curr) == ARG_PTR_TO_MEM) != - arg_type_is_mem_size(arg_next); + bool is_fixed = fn->arg_type[arg] & MEM_FIXED_SIZE; + bool has_size = fn->arg_size[arg] != 0; + bool is_next_size = false; + + if (arg + 1 < ARRAY_SIZE(fn->arg_type)) + is_next_size = arg_type_is_mem_size(fn->arg_type[arg + 1]); + + if (base_type(fn->arg_type[arg]) != ARG_PTR_TO_MEM) + return is_next_size; + + return has_size == is_next_size || is_next_size == is_fixed; } static bool check_arg_pair_ok(const struct bpf_func_proto *fn) @@ -6414,43 +6497,16 @@ * helper function specification. */ if (arg_type_is_mem_size(fn->arg1_type) || - base_type(fn->arg5_type) == ARG_PTR_TO_MEM || - check_args_pair_invalid(fn->arg1_type, fn->arg2_type) || - check_args_pair_invalid(fn->arg2_type, fn->arg3_type) || - check_args_pair_invalid(fn->arg3_type, fn->arg4_type) || - check_args_pair_invalid(fn->arg4_type, fn->arg5_type)) + check_args_pair_invalid(fn, 0) || + check_args_pair_invalid(fn, 1) || + check_args_pair_invalid(fn, 2) || + check_args_pair_invalid(fn, 3) || + check_args_pair_invalid(fn, 4)) return false; return true; } -static bool check_refcount_ok(const struct bpf_func_proto *fn, int func_id) -{ - int count = 0; - - if (arg_type_may_be_refcounted(fn->arg1_type)) - count++; - if (arg_type_may_be_refcounted(fn->arg2_type)) - count++; - if (arg_type_may_be_refcounted(fn->arg3_type)) - count++; - if (arg_type_may_be_refcounted(fn->arg4_type)) - count++; - if (arg_type_may_be_refcounted(fn->arg5_type)) - count++; - - /* A reference acquiring function cannot acquire - * another refcounted ptr. - */ - if (may_be_acquire_function(func_id) && count) - return false; - - /* We only support one arg being unreferenced at the moment, - * which is sufficient for the helper functions we have right now. - */ - return count <= 1; -} - static bool check_btf_id_ok(const struct bpf_func_proto *fn) { int i; @@ -6459,7 +6515,10 @@ if (base_type(fn->arg_type[i]) == ARG_PTR_TO_BTF_ID && !fn->arg_btf_id[i]) return false; - if (base_type(fn->arg_type[i]) != ARG_PTR_TO_BTF_ID && fn->arg_btf_id[i]) + if (base_type(fn->arg_type[i]) != ARG_PTR_TO_BTF_ID && fn->arg_btf_id[i] && + /* arg_btf_id and arg_size are in a union. */ + (base_type(fn->arg_type[i]) != ARG_PTR_TO_MEM || + !(fn->arg_type[i] & MEM_FIXED_SIZE))) return false; } @@ -6471,38 +6530,21 @@ { return check_raw_mode_ok(fn) && check_arg_pair_ok(fn) && - check_btf_id_ok(fn) && - check_refcount_ok(fn, func_id) ? 0 : -EINVAL; + check_btf_id_ok(fn) ? 0 : -EINVAL; } /* Packet data might have moved, any old PTR_TO_PACKET[_META,_END] * are now invalid, so turn them into unknown SCALAR_VALUE. */ -static void __clear_all_pkt_pointers(struct bpf_verifier_env *env, - struct bpf_func_state *state) +static void clear_all_pkt_pointers(struct bpf_verifier_env *env) { - struct bpf_reg_state *regs = state->regs, *reg; - int i; - - for (i = 0; i < MAX_BPF_REG; i++) - if (reg_is_pkt_pointer_any(®s[i])) - mark_reg_unknown(env, regs, i); + struct bpf_func_state *state; + struct bpf_reg_state *reg; - bpf_for_each_spilled_reg(i, state, reg) { - if (!reg) - continue; + bpf_for_each_reg_in_vstate(env->cur_state, state, reg, ({ if (reg_is_pkt_pointer_any(reg)) __mark_reg_unknown(env, reg); - } -} - -static void clear_all_pkt_pointers(struct bpf_verifier_env *env) -{ - struct bpf_verifier_state *vstate = env->cur_state; - int i; - - for (i = 0; i <= vstate->curframe; i++) - __clear_all_pkt_pointers(env, vstate->frame[i]); + })); } enum { @@ -6531,41 +6573,28 @@ reg->range = AT_PKT_END; } -static void release_reg_references(struct bpf_verifier_env *env, - struct bpf_func_state *state, - int ref_obj_id) -{ - struct bpf_reg_state *regs = state->regs, *reg; - int i; - - for (i = 0; i < MAX_BPF_REG; i++) - if (regs[i].ref_obj_id == ref_obj_id) - mark_reg_unknown(env, regs, i); - - bpf_for_each_spilled_reg(i, state, reg) { - if (!reg) - continue; - if (reg->ref_obj_id == ref_obj_id) - __mark_reg_unknown(env, reg); - } -} - /* The pointer with the specified id has released its reference to kernel * resources. Identify all copies of the same pointer and clear the reference. */ static int release_reference(struct bpf_verifier_env *env, int ref_obj_id) { - struct bpf_verifier_state *vstate = env->cur_state; + struct bpf_func_state *state; + struct bpf_reg_state *reg; int err; - int i; err = release_reference_state(cur_func(env), ref_obj_id); if (err) return err; - for (i = 0; i <= vstate->curframe; i++) - release_reg_references(env, vstate->frame[i], ref_obj_id); + bpf_for_each_reg_in_vstate(env->cur_state, state, reg, ({ + if (reg->ref_obj_id == ref_obj_id) { + if (!env->allow_ptr_leaks) + __mark_reg_not_init(env, reg); + else + __mark_reg_unknown(env, reg); + } + })); return 0; } @@ -6681,11 +6710,11 @@ /* Transfer references to the callee */ err = copy_reference_state(callee, caller); if (err) - return err; + goto err_out; err = set_callee_state_cb(env, caller, callee, *insn_idx); if (err) - return err; + goto err_out; clear_caller_saved_regs(env, caller->regs); @@ -6702,6 +6731,11 @@ print_verifier_state(env, callee, true); } return 0; + +err_out: + free_func_state(callee); + state->frame[state->curframe + 1] = NULL; + return err; } int map_set_for_each_callback_args(struct bpf_verifier_env *env, @@ -6887,8 +6921,7 @@ return -EINVAL; } - state->curframe--; - caller = state->frame[state->curframe]; + caller = state->frame[state->curframe - 1]; if (callee->in_callback_fn) { /* enforce R0 return value range [0, 1]. */ struct tnum range = tnum_range(0, 1); @@ -6906,10 +6939,17 @@ caller->regs[BPF_REG_0] = *r0; } - /* Transfer references to the caller */ - err = copy_reference_state(caller, callee); - if (err) - return err; + /* callback_fn frame should have released its own additions to parent's + * reference state at this point, or check_reference_leak would + * complain, hence it must be the same as the caller. There is no need + * to copy it back. + */ + if (!callee->in_callback_fn) { + /* Transfer references to the caller */ + err = copy_reference_state(caller, callee); + if (err) + return err; + } *insn_idx = callee->callsite + 1; if (env->log.level & BPF_LOG_LEVEL) { @@ -6920,7 +6960,7 @@ } /* clear everything in the callee */ free_func_state(callee); - state->frame[state->curframe + 1] = NULL; + state->frame[state->curframe--] = NULL; return 0; } @@ -6998,8 +7038,7 @@ struct bpf_insn_aux_data *aux = &env->insn_aux_data[insn_idx]; struct bpf_reg_state *regs = cur_regs(env), *reg; struct bpf_map *map = meta->map_ptr; - struct tnum range; - u64 val; + u64 val, max; int err; if (func_id != BPF_FUNC_tail_call) @@ -7009,10 +7048,11 @@ return -EINVAL; } - range = tnum_range(0, map->max_entries - 1); reg = ®s[BPF_REG_3]; + val = reg->var_off.value; + max = map->max_entries; - if (!register_is_const(reg) || !tnum_in(range, reg->var_off)) { + if (!(register_is_const(reg) && val < max)) { bpf_map_key_store(aux, BPF_MAP_KEY_POISON); return 0; } @@ -7020,8 +7060,6 @@ err = mark_chain_precision(env, BPF_REG_3); if (err) return err; - - val = reg->var_off.value; if (bpf_map_key_unseen(aux)) bpf_map_key_store(aux, val); else if (!bpf_map_key_poisoned(aux) && @@ -7033,13 +7071,20 @@ static int check_reference_leak(struct bpf_verifier_env *env) { struct bpf_func_state *state = cur_func(env); + bool refs_lingering = false; int i; + if (state->frameno && !state->in_callback_fn) + return 0; + for (i = 0; i < state->acquired_refs; i++) { + if (state->in_callback_fn && state->refs[i].callback_ref != state->frameno) + continue; verbose(env, "Unreleased reference id=%d alloc_insn=%d\n", state->refs[i].id, state->refs[i].insn_idx); + refs_lingering = true; } - return state->acquired_refs ? -EINVAL : 0; + return refs_lingering ? -EINVAL : 0; } static int check_bpf_snprintf_call(struct bpf_verifier_env *env, @@ -7377,6 +7422,12 @@ if (type_may_be_null(regs[BPF_REG_0].type)) regs[BPF_REG_0].id = ++env->id_gen; + if (helper_multiple_ref_obj_use(func_id, meta.map_ptr)) { + verbose(env, "verifier internal error: func %s#%d sets ref_obj_id more than once\n", + func_id_name(func_id), func_id); + return -EFAULT; + } + if (is_ptr_cast_function(func_id)) { /* For release_reference() */ regs[BPF_REG_0].ref_obj_id = meta.ref_obj_id; @@ -7389,10 +7440,10 @@ regs[BPF_REG_0].id = id; /* For release_reference() */ regs[BPF_REG_0].ref_obj_id = id; - } else if (func_id == BPF_FUNC_dynptr_data) { + } else if (is_dynptr_acquire_function(func_id)) { int dynptr_id = 0, i; - /* Find the id of the dynptr we're acquiring a reference to */ + /* Find the id of the dynptr we're tracking the reference of */ for (i = 0; i < MAX_BPF_FUNC_REG_ARGS; i++) { if (arg_type_is_dynptr(fn->arg_type[i])) { if (dynptr_id) { @@ -7854,7 +7905,7 @@ */ if (!ptr_is_dst_reg) { tmp = *dst_reg; - *dst_reg = *ptr_reg; + copy_register_state(dst_reg, ptr_reg); } ret = sanitize_speculative_path(env, NULL, env->insn_idx + 1, env->insn_idx); @@ -8997,6 +9048,11 @@ return err; return adjust_ptr_min_max_vals(env, insn, dst_reg, src_reg); + } else if (dst_reg->precise) { + /* if dst_reg is precise, src_reg should be precise as well */ + err = mark_chain_precision(env, insn->src_reg); + if (err) + return err; } } else { /* Pretend the src is a reg with a known value, since we only @@ -9102,7 +9158,7 @@ * to propagate min/max range. */ src_reg->id = ++env->id_gen; - *dst_reg = *src_reg; + copy_register_state(dst_reg, src_reg); dst_reg->live |= REG_LIVE_WRITTEN; dst_reg->subreg_def = DEF_NOT_SUBREG; } else { @@ -9113,7 +9169,7 @@ insn->src_reg); return -EACCES; } else if (src_reg->type == SCALAR_VALUE) { - *dst_reg = *src_reg; + copy_register_state(dst_reg, src_reg); /* Make sure ID is cleared otherwise * dst_reg min/max could be incorrectly * propagated into src_reg by find_equal_scalars() @@ -9198,34 +9254,14 @@ return 0; } -static void __find_good_pkt_pointers(struct bpf_func_state *state, - struct bpf_reg_state *dst_reg, - enum bpf_reg_type type, int new_range) -{ - struct bpf_reg_state *reg; - int i; - - for (i = 0; i < MAX_BPF_REG; i++) { - reg = &state->regs[i]; - if (reg->type == type && reg->id == dst_reg->id) - /* keep the maximum range already checked */ - reg->range = max(reg->range, new_range); - } - - bpf_for_each_spilled_reg(i, state, reg) { - if (!reg) - continue; - if (reg->type == type && reg->id == dst_reg->id) - reg->range = max(reg->range, new_range); - } -} - static void find_good_pkt_pointers(struct bpf_verifier_state *vstate, struct bpf_reg_state *dst_reg, enum bpf_reg_type type, bool range_right_open) { - int new_range, i; + struct bpf_func_state *state; + struct bpf_reg_state *reg; + int new_range; if (dst_reg->off < 0 || (dst_reg->off == 0 && range_right_open)) @@ -9290,9 +9326,11 @@ * the range won't allow anything. * dst_reg->off is known < MAX_PACKET_OFF, therefore it fits in a u16. */ - for (i = 0; i <= vstate->curframe; i++) - __find_good_pkt_pointers(vstate->frame[i], dst_reg, type, - new_range); + bpf_for_each_reg_in_vstate(vstate, state, reg, ({ + if (reg->type == type && reg->id == dst_reg->id) + /* keep the maximum range already checked */ + reg->range = max(reg->range, new_range); + })); } static int is_branch32_taken(struct bpf_reg_state *reg, u32 val, u8 opcode) @@ -9781,7 +9819,7 @@ if (!reg_may_point_to_spin_lock(reg)) { /* For not-NULL ptr, reg->ref_obj_id will be reset - * in release_reg_references(). + * in release_reference(). * * reg->id is still used by spin_lock ptr. Other * than spin_lock ptr type, reg->id can be reset. @@ -9791,22 +9829,6 @@ } } -static void __mark_ptr_or_null_regs(struct bpf_func_state *state, u32 id, - bool is_null) -{ - struct bpf_reg_state *reg; - int i; - - for (i = 0; i < MAX_BPF_REG; i++) - mark_ptr_or_null_reg(state, &state->regs[i], id, is_null); - - bpf_for_each_spilled_reg(i, state, reg) { - if (!reg) - continue; - mark_ptr_or_null_reg(state, reg, id, is_null); - } -} - /* The logic is similar to find_good_pkt_pointers(), both could eventually * be folded together at some point. */ @@ -9814,10 +9836,9 @@ bool is_null) { struct bpf_func_state *state = vstate->frame[vstate->curframe]; - struct bpf_reg_state *regs = state->regs; + struct bpf_reg_state *regs = state->regs, *reg; u32 ref_obj_id = regs[regno].ref_obj_id; u32 id = regs[regno].id; - int i; if (ref_obj_id && ref_obj_id == id && is_null) /* regs[regno] is in the " == NULL" branch. @@ -9826,8 +9847,9 @@ */ WARN_ON_ONCE(release_reference_state(state, id)); - for (i = 0; i <= vstate->curframe; i++) - __mark_ptr_or_null_regs(vstate->frame[i], id, is_null); + bpf_for_each_reg_in_vstate(vstate, state, reg, ({ + mark_ptr_or_null_reg(state, reg, id, is_null); + })); } static bool try_match_pkt_pointers(const struct bpf_insn *insn, @@ -9940,23 +9962,11 @@ { struct bpf_func_state *state; struct bpf_reg_state *reg; - int i, j; - - for (i = 0; i <= vstate->curframe; i++) { - state = vstate->frame[i]; - for (j = 0; j < MAX_BPF_REG; j++) { - reg = &state->regs[j]; - if (reg->type == SCALAR_VALUE && reg->id == known_reg->id) - *reg = *known_reg; - } - bpf_for_each_spilled_reg(j, state, reg) { - if (!reg) - continue; - if (reg->type == SCALAR_VALUE && reg->id == known_reg->id) - *reg = *known_reg; - } - } + bpf_for_each_reg_in_vstate(vstate, state, reg, ({ + if (reg->type == SCALAR_VALUE && reg->id == known_reg->id) + copy_register_state(reg, known_reg); + })); } static int check_cond_jmp_op(struct bpf_verifier_env *env, @@ -11649,34 +11659,36 @@ { struct bpf_reg_state *state_reg; struct bpf_func_state *state; - int i, err = 0; + int i, err = 0, fr; - state = old->frame[old->curframe]; - state_reg = state->regs; - for (i = 0; i < BPF_REG_FP; i++, state_reg++) { - if (state_reg->type != SCALAR_VALUE || - !state_reg->precise) - continue; - if (env->log.level & BPF_LOG_LEVEL2) - verbose(env, "propagating r%d\n", i); - err = mark_chain_precision(env, i); - if (err < 0) - return err; - } + for (fr = old->curframe; fr >= 0; fr--) { + state = old->frame[fr]; + state_reg = state->regs; + for (i = 0; i < BPF_REG_FP; i++, state_reg++) { + if (state_reg->type != SCALAR_VALUE || + !state_reg->precise) + continue; + if (env->log.level & BPF_LOG_LEVEL2) + verbose(env, "frame %d: propagating r%d\n", i, fr); + err = mark_chain_precision_frame(env, fr, i); + if (err < 0) + return err; + } - for (i = 0; i < state->allocated_stack / BPF_REG_SIZE; i++) { - if (!is_spilled_reg(&state->stack[i])) - continue; - state_reg = &state->stack[i].spilled_ptr; - if (state_reg->type != SCALAR_VALUE || - !state_reg->precise) - continue; - if (env->log.level & BPF_LOG_LEVEL2) - verbose(env, "propagating fp%d\n", - (-i - 1) * BPF_REG_SIZE); - err = mark_chain_precision_stack(env, i); - if (err < 0) - return err; + for (i = 0; i < state->allocated_stack / BPF_REG_SIZE; i++) { + if (!is_spilled_reg(&state->stack[i])) + continue; + state_reg = &state->stack[i].spilled_ptr; + if (state_reg->type != SCALAR_VALUE || + !state_reg->precise) + continue; + if (env->log.level & BPF_LOG_LEVEL2) + verbose(env, "frame %d: propagating fp%d\n", + (-i - 1) * BPF_REG_SIZE, fr); + err = mark_chain_precision_stack_frame(env, fr, i); + if (err < 0) + return err; + } } return 0; } @@ -12227,6 +12239,16 @@ return -EINVAL; } + /* We must do check_reference_leak here before + * prepare_func_exit to handle the case when + * state->curframe > 0, it may be a callback + * function, for which reference_state must + * match caller reference state when it exits. + */ + err = check_reference_leak(env); + if (err) + return err; + if (state->curframe) { /* exit from nested function */ err = prepare_func_exit(env, &env->insn_idx); @@ -12236,10 +12258,6 @@ continue; } - err = check_reference_leak(env); - if (err) - return err; - err = check_return_code(env); if (err) return err; @@ -13232,6 +13250,10 @@ if (!bpf_jit_needs_zext() && !is_cmpxchg_insn(&insn)) continue; + /* Zero-extension is done by the caller. */ + if (bpf_pseudo_kfunc_call(&insn)) + continue; + if (WARN_ON(load_reg == -1)) { verbose(env, "verifier bug. zext_dst is set, but no reg is defined\n"); return -EFAULT; @@ -13525,6 +13547,7 @@ /* Below members will be freed only at prog->aux */ func[i]->aux->btf = prog->aux->btf; func[i]->aux->func_info = prog->aux->func_info; + func[i]->aux->func_info_cnt = prog->aux->func_info_cnt; func[i]->aux->poke_tab = prog->aux->poke_tab; func[i]->aux->size_poke_tab = prog->aux->size_poke_tab; @@ -13537,9 +13560,6 @@ poke->aux = func[i]->aux; } - /* Use bpf_prog_F_tag to indicate functions in stack traces. - * Long term would need debug info to populate names - */ func[i]->aux->name[0] = 'F'; func[i]->aux->stack_depth = env->subprog_info[i].stack_depth; func[i]->jit_requested = 1; --- linux-gcp-5.19.0.orig/kernel/cgroup/cgroup-internal.h +++ linux-gcp-5.19.0/kernel/cgroup/cgroup-internal.h @@ -168,7 +168,6 @@ extern spinlock_t css_set_lock; extern struct cgroup_subsys *cgroup_subsys[]; extern struct list_head cgroup_roots; -extern struct file_system_type cgroup_fs_type; /* iterate across the hierarchies */ #define for_each_root(root) \ --- linux-gcp-5.19.0.orig/kernel/cgroup/cgroup-v1.c +++ linux-gcp-5.19.0/kernel/cgroup/cgroup-v1.c @@ -59,6 +59,7 @@ int retval = 0; mutex_lock(&cgroup_mutex); + cpus_read_lock(); percpu_down_write(&cgroup_threadgroup_rwsem); for_each_root(root) { struct cgroup *from_cgrp; @@ -72,6 +73,7 @@ break; } percpu_up_write(&cgroup_threadgroup_rwsem); + cpus_read_unlock(); mutex_unlock(&cgroup_mutex); return retval; --- linux-gcp-5.19.0.orig/kernel/cgroup/cgroup.c +++ linux-gcp-5.19.0/kernel/cgroup/cgroup.c @@ -1811,6 +1811,7 @@ if (ss->css_rstat_flush) { list_del_rcu(&css->rstat_css_node); + synchronize_rcu(); list_add_rcu(&css->rstat_css_node, &dcgrp->rstat_css_list); } @@ -2346,6 +2347,47 @@ EXPORT_SYMBOL_GPL(task_cgroup_path); /** + * cgroup_attach_lock - Lock for ->attach() + * @lock_threadgroup: whether to down_write cgroup_threadgroup_rwsem + * + * cgroup migration sometimes needs to stabilize threadgroups against forks and + * exits by write-locking cgroup_threadgroup_rwsem. However, some ->attach() + * implementations (e.g. cpuset), also need to disable CPU hotplug. + * Unfortunately, letting ->attach() operations acquire cpus_read_lock() can + * lead to deadlocks. + * + * Bringing up a CPU may involve creating and destroying tasks which requires + * read-locking threadgroup_rwsem, so threadgroup_rwsem nests inside + * cpus_read_lock(). If we call an ->attach() which acquires the cpus lock while + * write-locking threadgroup_rwsem, the locking order is reversed and we end up + * waiting for an on-going CPU hotplug operation which in turn is waiting for + * the threadgroup_rwsem to be released to create new tasks. For more details: + * + * http://lkml.kernel.org/r/20220711174629.uehfmqegcwn2lqzu@wubuntu + * + * Resolve the situation by always acquiring cpus_read_lock() before optionally + * write-locking cgroup_threadgroup_rwsem. This allows ->attach() to assume that + * CPU hotplug is disabled on entry. + */ +static void cgroup_attach_lock(bool lock_threadgroup) +{ + cpus_read_lock(); + if (lock_threadgroup) + percpu_down_write(&cgroup_threadgroup_rwsem); +} + +/** + * cgroup_attach_unlock - Undo cgroup_attach_lock() + * @lock_threadgroup: whether to up_write cgroup_threadgroup_rwsem + */ +static void cgroup_attach_unlock(bool lock_threadgroup) +{ + if (lock_threadgroup) + percpu_up_write(&cgroup_threadgroup_rwsem); + cpus_read_unlock(); +} + +/** * cgroup_migrate_add_task - add a migration target task to a migration context * @task: target task * @mgctx: target migration context @@ -2821,8 +2863,7 @@ } struct task_struct *cgroup_procs_write_start(char *buf, bool threadgroup, - bool *locked) - __acquires(&cgroup_threadgroup_rwsem) + bool *threadgroup_locked) { struct task_struct *tsk; pid_t pid; @@ -2839,12 +2880,8 @@ * Therefore, we can skip the global lock. */ lockdep_assert_held(&cgroup_mutex); - if (pid || threadgroup) { - percpu_down_write(&cgroup_threadgroup_rwsem); - *locked = true; - } else { - *locked = false; - } + *threadgroup_locked = pid || threadgroup; + cgroup_attach_lock(*threadgroup_locked); rcu_read_lock(); if (pid) { @@ -2875,17 +2912,14 @@ goto out_unlock_rcu; out_unlock_threadgroup: - if (*locked) { - percpu_up_write(&cgroup_threadgroup_rwsem); - *locked = false; - } + cgroup_attach_unlock(*threadgroup_locked); + *threadgroup_locked = false; out_unlock_rcu: rcu_read_unlock(); return tsk; } -void cgroup_procs_write_finish(struct task_struct *task, bool locked) - __releases(&cgroup_threadgroup_rwsem) +void cgroup_procs_write_finish(struct task_struct *task, bool threadgroup_locked) { struct cgroup_subsys *ss; int ssid; @@ -2893,8 +2927,8 @@ /* release reference from cgroup_procs_write_start() */ put_task_struct(task); - if (locked) - percpu_up_write(&cgroup_threadgroup_rwsem); + cgroup_attach_unlock(threadgroup_locked); + for_each_subsys(ss, ssid) if (ss->post_attach) ss->post_attach(); @@ -2949,12 +2983,11 @@ struct cgroup_subsys_state *d_css; struct cgroup *dsct; struct css_set *src_cset; + bool has_tasks; int ret; lockdep_assert_held(&cgroup_mutex); - percpu_down_write(&cgroup_threadgroup_rwsem); - /* look up all csses currently attached to @cgrp's subtree */ spin_lock_irq(&css_set_lock); cgroup_for_each_live_descendant_pre(dsct, d_css, cgrp) { @@ -2965,6 +2998,15 @@ } spin_unlock_irq(&css_set_lock); + /* + * We need to write-lock threadgroup_rwsem while migrating tasks. + * However, if there are no source csets for @cgrp, changing its + * controllers isn't gonna produce any task migrations and the + * write-locking can be skipped safely. + */ + has_tasks = !list_empty(&mgctx.preloaded_src_csets); + cgroup_attach_lock(has_tasks); + /* NULL dst indicates self on default hierarchy */ ret = cgroup_migrate_prepare_dst(&mgctx); if (ret) @@ -2984,7 +3026,7 @@ ret = cgroup_migrate_execute(&mgctx); out_finish: cgroup_migrate_finish(&mgctx); - percpu_up_write(&cgroup_threadgroup_rwsem); + cgroup_attach_unlock(has_tasks); return ret; } @@ -4932,13 +4974,13 @@ struct task_struct *task; const struct cred *saved_cred; ssize_t ret; - bool locked; + bool threadgroup_locked; dst_cgrp = cgroup_kn_lock_live(of->kn, false); if (!dst_cgrp) return -ENODEV; - task = cgroup_procs_write_start(buf, threadgroup, &locked); + task = cgroup_procs_write_start(buf, threadgroup, &threadgroup_locked); ret = PTR_ERR_OR_ZERO(task); if (ret) goto out_unlock; @@ -4964,7 +5006,7 @@ ret = cgroup_attach_task(dst_cgrp, task, threadgroup); out_finish: - cgroup_procs_write_finish(task, locked); + cgroup_procs_write_finish(task, threadgroup_locked); out_unlock: cgroup_kn_unlock(of->kn); @@ -5984,6 +6026,9 @@ if (!kn) goto out; + if (kernfs_type(kn) != KERNFS_DIR) + goto put; + rcu_read_lock(); cgrp = rcu_dereference(*(void __rcu __force **)&kn->priv); @@ -5991,7 +6036,7 @@ cgrp = NULL; rcu_read_unlock(); - +put: kernfs_put(kn); out: return cgrp; @@ -6570,8 +6615,12 @@ { struct kernfs_node *kn; struct cgroup *cgrp = ERR_PTR(-ENOENT); + struct cgroup *root_cgrp; - kn = kernfs_walk_and_get(cgrp_dfl_root.cgrp.kn, path); + spin_lock_irq(&css_set_lock); + root_cgrp = current_cgns_cgroup_from_root(&cgrp_dfl_root); + kn = kernfs_walk_and_get(root_cgrp->kn, path); + spin_unlock_irq(&css_set_lock); if (!kn) goto out; --- linux-gcp-5.19.0.orig/kernel/cgroup/cpuset.c +++ linux-gcp-5.19.0/kernel/cgroup/cpuset.c @@ -33,6 +33,7 @@ #include #include #include +#include #include #include #include @@ -1127,10 +1128,18 @@ { struct css_task_iter it; struct task_struct *task; + bool top_cs = cs == &top_cpuset; css_task_iter_start(&cs->css, 0, &it); - while ((task = css_task_iter_next(&it))) + while ((task = css_task_iter_next(&it))) { + /* + * Percpu kthreads in top_cpuset are ignored + */ + if (top_cs && (task->flags & PF_KTHREAD) && + kthread_is_per_cpu(task)) + continue; set_cpus_allowed_ptr(task, cs->effective_cpus); + } css_task_iter_end(&it); } @@ -2092,12 +2101,7 @@ update_flag(CS_CPU_EXCLUSIVE, cs, 0); } - /* - * Update cpumask of parent's tasks except when it is the top - * cpuset as some system daemons cannot be mapped to other CPUs. - */ - if (parent != &top_cpuset) - update_tasks_cpumask(parent); + update_tasks_cpumask(parent); if (parent->child_ecpus_count) update_sibling_cpumasks(parent, cs, &tmpmask); @@ -2239,7 +2243,7 @@ goto out_unlock; cgroup_taskset_for_each(task, css, tset) { - ret = task_can_attach(task, cs->cpus_allowed); + ret = task_can_attach(task, cs->effective_cpus); if (ret) goto out_unlock; ret = security_task_setscheduler(task); @@ -2289,7 +2293,7 @@ cgroup_taskset_first(tset, &css); cs = css_cs(css); - cpus_read_lock(); + lockdep_assert_cpus_held(); /* see cgroup_attach_lock() */ percpu_down_write(&cpuset_rwsem); guarantee_online_mems(cs, &cpuset_attach_nodemask_to); @@ -2343,7 +2347,6 @@ wake_up(&cpuset_attach_wq); percpu_up_write(&cpuset_rwsem); - cpus_read_unlock(); } /* The various types of files and directories in a cpuset file system */ --- linux-gcp-5.19.0.orig/kernel/cpu.c +++ linux-gcp-5.19.0/kernel/cpu.c @@ -663,21 +663,51 @@ return true; } -static int cpuhp_invoke_callback_range(bool bringup, - unsigned int cpu, - struct cpuhp_cpu_state *st, - enum cpuhp_state target) +static int __cpuhp_invoke_callback_range(bool bringup, + unsigned int cpu, + struct cpuhp_cpu_state *st, + enum cpuhp_state target, + bool nofail) { enum cpuhp_state state; - int err = 0; + int ret = 0; while (cpuhp_next_state(bringup, &state, st, target)) { + int err; + err = cpuhp_invoke_callback(cpu, state, bringup, NULL, NULL); - if (err) + if (!err) + continue; + + if (nofail) { + pr_warn("CPU %u %s state %s (%d) failed (%d)\n", + cpu, bringup ? "UP" : "DOWN", + cpuhp_get_step(st->state)->name, + st->state, err); + ret = -1; + } else { + ret = err; break; + } } - return err; + return ret; +} + +static inline int cpuhp_invoke_callback_range(bool bringup, + unsigned int cpu, + struct cpuhp_cpu_state *st, + enum cpuhp_state target) +{ + return __cpuhp_invoke_callback_range(bringup, cpu, st, target, false); +} + +static inline void cpuhp_invoke_callback_range_nofail(bool bringup, + unsigned int cpu, + struct cpuhp_cpu_state *st, + enum cpuhp_state target) +{ + __cpuhp_invoke_callback_range(bringup, cpu, st, target, true); } static inline bool can_rollback_cpu(struct cpuhp_cpu_state *st) @@ -999,7 +1029,6 @@ struct cpuhp_cpu_state *st = this_cpu_ptr(&cpuhp_state); enum cpuhp_state target = max((int)st->target, CPUHP_AP_OFFLINE); int err, cpu = smp_processor_id(); - int ret; /* Ensure this CPU doesn't handle any more interrupts. */ err = __cpu_disable(); @@ -1012,13 +1041,10 @@ */ WARN_ON(st->state != (CPUHP_TEARDOWN_CPU - 1)); - /* Invoke the former CPU_DYING callbacks */ - ret = cpuhp_invoke_callback_range(false, cpu, st, target); - /* - * DYING must not fail! + * Invoke the former CPU_DYING callbacks. DYING must not fail! */ - WARN_ON_ONCE(ret); + cpuhp_invoke_callback_range_nofail(false, cpu, st, target); /* Give up timekeeping duties */ tick_handover_do_timer(); @@ -1296,16 +1322,14 @@ { struct cpuhp_cpu_state *st = per_cpu_ptr(&cpuhp_state, cpu); enum cpuhp_state target = min((int)st->target, CPUHP_AP_ONLINE); - int ret; rcu_cpu_starting(cpu); /* Enables RCU usage on this CPU. */ cpumask_set_cpu(cpu, &cpus_booted_once_mask); - ret = cpuhp_invoke_callback_range(true, cpu, st, target); /* * STARTING must not fail! */ - WARN_ON_ONCE(ret); + cpuhp_invoke_callback_range_nofail(true, cpu, st, target); } /* @@ -2326,8 +2350,10 @@ if (st->state < target) ret = cpu_up(dev->id, target); - else + else if (st->state > target) ret = cpu_down(dev->id, target); + else if (WARN_ON(st->target != target)) + st->target = target; out: unlock_device_hotplug(); return ret ? ret : count; --- linux-gcp-5.19.0.orig/kernel/cred.c +++ linux-gcp-5.19.0/kernel/cred.c @@ -767,14 +767,14 @@ /** * set_security_override - Set the security ID in a set of credentials * @new: The credentials to alter - * @secid: The LSM security ID to set + * @blob: The LSM security information to set * * Set the LSM security ID in a set of credentials so that the subjective * security is overridden when an alternative set of credentials is used. */ -int set_security_override(struct cred *new, u32 secid) +int set_security_override(struct cred *new, struct lsmblob *blob) { - return security_kernel_act_as(new, secid); + return security_kernel_act_as(new, blob); } EXPORT_SYMBOL(set_security_override); @@ -790,14 +790,14 @@ */ int set_security_override_from_ctx(struct cred *new, const char *secctx) { - u32 secid; + struct lsmblob blob; int ret; - ret = security_secctx_to_secid(secctx, strlen(secctx), &secid); + ret = security_secctx_to_secid(secctx, strlen(secctx), &blob); if (ret < 0) return ret; - return set_security_override(new, secid); + return set_security_override(new, &blob); } EXPORT_SYMBOL(set_security_override_from_ctx); --- linux-gcp-5.19.0.orig/kernel/dma/swiotlb.c +++ linux-gcp-5.19.0/kernel/dma/swiotlb.c @@ -464,7 +464,10 @@ } } -#define slot_addr(start, idx) ((start) + ((idx) << IO_TLB_SHIFT)) +static inline phys_addr_t slot_addr(phys_addr_t start, phys_addr_t idx) +{ + return start + (idx << IO_TLB_SHIFT); +} /* * Carefully handle integer overflow which can occur when boundary_mask == ~0UL. @@ -580,7 +583,7 @@ int index; phys_addr_t tlb_addr; - if (!mem) + if (!mem || !mem->nslabs) panic("Can not allocate SWIOTLB buffer earlier and can't now provide you with the DMA bounce buffer"); if (cc_platform_has(CC_ATTR_MEM_ENCRYPT)) --- linux-gcp-5.19.0.orig/kernel/events/core.c +++ linux-gcp-5.19.0/kernel/events/core.c @@ -54,6 +54,7 @@ #include #include #include +#include #include "internal.h" @@ -414,8 +415,13 @@ * 0 - disallow raw tracepoint access for unpriv * 1 - disallow cpu events for unpriv * 2 - disallow kernel profiling for unpriv + * 4 - disallow all unpriv perf event use */ +#ifdef CONFIG_SECURITY_PERF_EVENTS_RESTRICT +int sysctl_perf_event_paranoid __read_mostly = PERF_SECURITY_MAX; +#else int sysctl_perf_event_paranoid __read_mostly = 2; +#endif /* Minimum for 512 kiB + 1 user control page */ int sysctl_perf_event_mlock __read_mostly = 512 + (PAGE_SIZE / 1024); /* 'free' kiB per user */ @@ -2265,11 +2271,27 @@ event->pmu->del(event, 0); event->oncpu = -1; - if (READ_ONCE(event->pending_disable) >= 0) { - WRITE_ONCE(event->pending_disable, -1); + if (event->pending_disable) { + event->pending_disable = 0; perf_cgroup_event_disable(event, ctx); state = PERF_EVENT_STATE_OFF; } + + if (event->pending_sigtrap) { + bool dec = true; + + event->pending_sigtrap = 0; + if (state != PERF_EVENT_STATE_OFF && + !event->pending_work) { + event->pending_work = 1; + dec = false; + WARN_ON_ONCE(!atomic_long_inc_not_zero(&event->refcount)); + task_work_add(current, &event->pending_task, TWA_RESUME); + } + if (dec) + local_dec(&event->ctx->nr_pending); + } + perf_event_set_state(event, state); if (!is_software_event(event)) @@ -2309,6 +2331,7 @@ #define DETACH_GROUP 0x01UL #define DETACH_CHILD 0x02UL +#define DETACH_DEAD 0x04UL /* * Cross CPU call to remove a performance event @@ -2329,12 +2352,20 @@ update_cgrp_time_from_cpuctx(cpuctx, false); } + /* + * Ensure event_sched_out() switches to OFF, at the very least + * this avoids raising perf_pending_task() at this time. + */ + if (flags & DETACH_DEAD) + event->pending_disable = 1; event_sched_out(event, cpuctx, ctx); if (flags & DETACH_GROUP) perf_group_detach(event); if (flags & DETACH_CHILD) perf_child_detach(event); list_del_event(event, ctx); + if (flags & DETACH_DEAD) + event->state = PERF_EVENT_STATE_DEAD; if (!ctx->nr_events && ctx->is_active) { if (ctx == &cpuctx->ctx) @@ -2421,7 +2452,7 @@ * hold the top-level event's child_mutex, so any descendant that * goes to exit will block in perf_event_exit_event(). * - * When called from perf_pending_event it's OK because event->ctx + * When called from perf_pending_irq it's OK because event->ctx * is the current context on this CPU and preemption is disabled, * hence we can't get into perf_event_task_sched_out for this context. */ @@ -2460,9 +2491,8 @@ void perf_event_disable_inatomic(struct perf_event *event) { - WRITE_ONCE(event->pending_disable, smp_processor_id()); - /* can fail, see perf_pending_event_disable() */ - irq_work_queue(&event->pending); + event->pending_disable = 1; + irq_work_queue(&event->pending_irq); } #define MAX_INTERRUPTS (~0ULL) @@ -3417,11 +3447,23 @@ raw_spin_lock_nested(&next_ctx->lock, SINGLE_DEPTH_NESTING); if (context_equiv(ctx, next_ctx)) { + perf_pmu_disable(pmu); + + /* PMIs are disabled; ctx->nr_pending is stable. */ + if (local_read(&ctx->nr_pending) || + local_read(&next_ctx->nr_pending)) { + /* + * Must not swap out ctx when there's pending + * events that rely on the ctx->task relation. + */ + raw_spin_unlock(&next_ctx->lock); + rcu_read_unlock(); + goto inside_switch; + } + WRITE_ONCE(ctx->task, next); WRITE_ONCE(next_ctx->task, task); - perf_pmu_disable(pmu); - if (cpuctx->sched_cb_usage && pmu->sched_task) pmu->sched_task(ctx, false); @@ -3462,6 +3504,7 @@ raw_spin_lock(&ctx->lock); perf_pmu_disable(pmu); +inside_switch: if (cpuctx->sched_cb_usage && pmu->sched_task) pmu->sched_task(ctx, false); task_ctx_sched_out(cpuctx, ctx, EVENT_ALL); @@ -4928,7 +4971,7 @@ static void _free_event(struct perf_event *event) { - irq_work_sync(&event->pending); + irq_work_sync(&event->pending_irq); unaccount_event(event); @@ -5082,9 +5125,7 @@ ctx = perf_event_ctx_lock(event); WARN_ON_ONCE(ctx->parent_ctx); - perf_remove_from_context(event, DETACH_GROUP); - raw_spin_lock_irq(&ctx->lock); /* * Mark this event as STATE_DEAD, there is no external reference to it * anymore. @@ -5096,8 +5137,7 @@ * Thus this guarantees that we will in fact observe and kill _ALL_ * child events. */ - event->state = PERF_EVENT_STATE_DEAD; - raw_spin_unlock_irq(&ctx->lock); + perf_remove_from_context(event, DETACH_GROUP|DETACH_DEAD); perf_event_ctx_unlock(event, ctx); @@ -6422,7 +6462,8 @@ return; /* - * perf_pending_event() can race with the task exiting. + * Both perf_pending_task() and perf_pending_irq() can race with the + * task exiting. */ if (current->flags & PF_EXITING) return; @@ -6431,23 +6472,33 @@ event->attr.type, event->attr.sig_data); } -static void perf_pending_event_disable(struct perf_event *event) +/* + * Deliver the pending work in-event-context or follow the context. + */ +static void __perf_pending_irq(struct perf_event *event) { - int cpu = READ_ONCE(event->pending_disable); + int cpu = READ_ONCE(event->oncpu); + /* + * If the event isn't running; we done. event_sched_out() will have + * taken care of things. + */ if (cpu < 0) return; + /* + * Yay, we hit home and are in the context of the event. + */ if (cpu == smp_processor_id()) { - WRITE_ONCE(event->pending_disable, -1); - - if (event->attr.sigtrap) { + if (event->pending_sigtrap) { + event->pending_sigtrap = 0; perf_sigtrap(event); - atomic_set_release(&event->event_limit, 1); /* rearm event */ - return; + local_dec(&event->ctx->nr_pending); + } + if (event->pending_disable) { + event->pending_disable = 0; + perf_event_disable_local(event); } - - perf_event_disable_local(event); return; } @@ -6467,35 +6518,64 @@ * irq_work_queue(); // FAILS * * irq_work_run() - * perf_pending_event() + * perf_pending_irq() * * But the event runs on CPU-B and wants disabling there. */ - irq_work_queue_on(&event->pending, cpu); + irq_work_queue_on(&event->pending_irq, cpu); } -static void perf_pending_event(struct irq_work *entry) +static void perf_pending_irq(struct irq_work *entry) { - struct perf_event *event = container_of(entry, struct perf_event, pending); + struct perf_event *event = container_of(entry, struct perf_event, pending_irq); int rctx; - rctx = perf_swevent_get_recursion_context(); /* * If we 'fail' here, that's OK, it means recursion is already disabled * and we won't recurse 'further'. */ + rctx = perf_swevent_get_recursion_context(); - perf_pending_event_disable(event); - + /* + * The wakeup isn't bound to the context of the event -- it can happen + * irrespective of where the event is. + */ if (event->pending_wakeup) { event->pending_wakeup = 0; perf_event_wakeup(event); } + __perf_pending_irq(event); + if (rctx >= 0) perf_swevent_put_recursion_context(rctx); } +static void perf_pending_task(struct callback_head *head) +{ + struct perf_event *event = container_of(head, struct perf_event, pending_task); + int rctx; + + /* + * If we 'fail' here, that's OK, it means recursion is already disabled + * and we won't recurse 'further'. + */ + preempt_disable_notrace(); + rctx = perf_swevent_get_recursion_context(); + + if (event->pending_work) { + event->pending_work = 0; + perf_sigtrap(event); + local_dec(&event->ctx->nr_pending); + } + + if (rctx >= 0) + perf_swevent_put_recursion_context(rctx); + preempt_enable_notrace(); + + put_event(event); +} + #ifdef CONFIG_GUEST_PERF_EVENTS struct perf_guest_info_callbacks __rcu *perf_guest_cbs; @@ -8916,7 +8996,7 @@ PERF_RECORD_KSYMBOL_TYPE_BPF, (u64)(unsigned long)subprog->bpf_func, subprog->jited_len, unregister, - prog->aux->ksym.name); + subprog->aux->ksym.name); } } } @@ -9164,8 +9244,8 @@ */ static int __perf_event_overflow(struct perf_event *event, - int throttle, struct perf_sample_data *data, - struct pt_regs *regs) + int throttle, struct perf_sample_data *data, + struct pt_regs *regs) { int events = atomic_read(&event->event_limit); int ret = 0; @@ -9188,24 +9268,49 @@ if (events && atomic_dec_and_test(&event->event_limit)) { ret = 1; event->pending_kill = POLL_HUP; - event->pending_addr = data->addr; - perf_event_disable_inatomic(event); } + if (event->attr.sigtrap) { + unsigned int pending_id = 1; + + if (regs) + pending_id = hash32_ptr((void *)instruction_pointer(regs)) ?: 1; + if (!event->pending_sigtrap) { + event->pending_sigtrap = pending_id; + local_inc(&event->ctx->nr_pending); + } else if (event->attr.exclude_kernel) { + /* + * Should not be able to return to user space without + * consuming pending_sigtrap; with exceptions: + * + * 1. Where !exclude_kernel, events can overflow again + * in the kernel without returning to user space. + * + * 2. Events that can overflow again before the IRQ- + * work without user space progress (e.g. hrtimer). + * To approximate progress (with false negatives), + * check 32-bit hash of the current IP. + */ + WARN_ON_ONCE(event->pending_sigtrap != pending_id); + } + event->pending_addr = data->addr; + irq_work_queue(&event->pending_irq); + } + READ_ONCE(event->overflow_handler)(event, data, regs); if (*perf_event_fasync(event) && event->pending_kill) { event->pending_wakeup = 1; - irq_work_queue(&event->pending); + irq_work_queue(&event->pending_irq); } return ret; } int perf_event_overflow(struct perf_event *event, - struct perf_sample_data *data, - struct pt_regs *regs) + struct perf_sample_data *data, + struct pt_regs *regs) { return __perf_event_overflow(event, 1, data, regs); } @@ -11008,13 +11113,15 @@ pmu->dev->groups = pmu->attr_groups; device_initialize(pmu->dev); - ret = dev_set_name(pmu->dev, "%s", pmu->name); - if (ret) - goto free_dev; dev_set_drvdata(pmu->dev, pmu); pmu->dev->bus = &pmu_bus; pmu->dev->release = pmu_dev_release; + + ret = dev_set_name(pmu->dev, "%s", pmu->name); + if (ret) + goto free_dev; + ret = device_add(pmu->dev); if (ret) goto free_dev; @@ -11509,8 +11616,8 @@ init_waitqueue_head(&event->waitq); - event->pending_disable = -1; - init_irq_work(&event->pending, perf_pending_event); + init_irq_work(&event->pending_irq, perf_pending_irq); + init_task_work(&event->pending_task, perf_pending_task); mutex_init(&event->mmap_mutex); raw_spin_lock_init(&event->addr_filters.lock); @@ -11532,9 +11639,6 @@ if (parent_event) event->event_caps = parent_event->event_caps; - if (event->attr.sigtrap) - atomic_set(&event->event_limit, 1); - if (task) { event->attach_state = PERF_ATTACH_TASK; /* @@ -12049,12 +12153,15 @@ if (flags & ~PERF_FLAG_ALL) return -EINVAL; - /* Do we allow access to perf_event_open(2) ? */ - err = security_perf_event_open(&attr, PERF_SECURITY_OPEN); + err = perf_copy_attr(attr_uptr, &attr); if (err) return err; - err = perf_copy_attr(attr_uptr, &attr); + if (perf_paranoid_any() && !capable(CAP_SYS_ADMIN)) + return -EACCES; + + /* Do we allow access to perf_event_open(2) ? */ + err = security_perf_event_open(&attr, PERF_SECURITY_OPEN); if (err) return err; --- linux-gcp-5.19.0.orig/kernel/events/ring_buffer.c +++ linux-gcp-5.19.0/kernel/events/ring_buffer.c @@ -22,7 +22,7 @@ atomic_set(&handle->rb->poll, EPOLLIN); handle->event->pending_wakeup = 1; - irq_work_queue(&handle->event->pending); + irq_work_queue(&handle->event->pending_irq); } /* --- linux-gcp-5.19.0.orig/kernel/exit.c +++ linux-gcp-5.19.0/kernel/exit.c @@ -66,11 +66,58 @@ #include #include #include +#include #include #include #include +/* + * The default value should be high enough to not crash a system that randomly + * crashes its kernel from time to time, but low enough to at least not permit + * overflowing 32-bit refcounts or the ldsem writer count. + */ +static unsigned int oops_limit = 10000; + +#ifdef CONFIG_SYSCTL +static struct ctl_table kern_exit_table[] = { + { + .procname = "oops_limit", + .data = &oops_limit, + .maxlen = sizeof(oops_limit), + .mode = 0644, + .proc_handler = proc_douintvec, + }, + { } +}; + +static __init int kernel_exit_sysctls_init(void) +{ + register_sysctl_init("kernel", kern_exit_table); + return 0; +} +late_initcall(kernel_exit_sysctls_init); +#endif + +static atomic_t oops_count = ATOMIC_INIT(0); + +#ifdef CONFIG_SYSFS +static ssize_t oops_count_show(struct kobject *kobj, struct kobj_attribute *attr, + char *page) +{ + return sysfs_emit(page, "%d\n", atomic_read(&oops_count)); +} + +static struct kobj_attribute oops_count_attr = __ATTR_RO(oops_count); + +static __init int kernel_exit_sysfs_init(void) +{ + sysfs_add_file_to_group(kernel_kobj, &oops_count_attr.attr, NULL); + return 0; +} +late_initcall(kernel_exit_sysfs_init); +#endif + static void __unhash_process(struct task_struct *p, bool group_dead) { nr_threads--; @@ -859,6 +906,7 @@ * Then do everything else. */ struct task_struct *tsk = current; + unsigned int limit; if (unlikely(in_interrupt())) panic("Aiee, killing interrupt handler!"); @@ -873,6 +921,20 @@ } /* + * Every time the system oopses, if the oops happens while a reference + * to an object was held, the reference leaks. + * If the oops doesn't also leak memory, repeated oopsing can cause + * reference counters to wrap around (if they're not using refcount_t). + * This means that repeated oopsing can make unexploitable-looking bugs + * exploitable through repeated oopsing. + * To make sure this can't happen, place an upper bound on how often the + * kernel may oops without panic(). + */ + limit = READ_ONCE(oops_limit); + if (atomic_inc_return(&oops_count) >= limit && limit) + panic("Oopsed too often (kernel.oops_limit is %d)", limit); + + /* * We're taking recursive faults here in make_task_dead. Safest is to just * leave this task alone and wait for reboot. */ --- linux-gcp-5.19.0.orig/kernel/fork.c +++ linux-gcp-5.19.0/kernel/fork.c @@ -109,6 +109,11 @@ #define CREATE_TRACE_POINTS #include +#ifdef CONFIG_USER_NS +extern int unprivileged_userns_clone; +#else +#define unprivileged_userns_clone 0 +#endif /* * Minimum number of threads to boot the kernel @@ -537,6 +542,9 @@ void free_task(struct task_struct *tsk) { +#ifdef CONFIG_SECCOMP + WARN_ON_ONCE(tsk->seccomp.filter); +#endif release_user_cpus_ptr(tsk); scs_release(tsk); @@ -662,7 +670,7 @@ if (file) { struct address_space *mapping = file->f_mapping; - get_file(file); + vma_get_file(tmp); i_mmap_lock_write(mapping); if (tmp->vm_flags & VM_SHARED) mapping_allow_writable(mapping); @@ -1225,6 +1233,7 @@ schedule_work(&mm->async_put_work); } } +EXPORT_SYMBOL(mmput_async); #endif /** @@ -1995,6 +2004,10 @@ if ((clone_flags & (CLONE_NEWUSER|CLONE_FS)) == (CLONE_NEWUSER|CLONE_FS)) return ERR_PTR(-EINVAL); + if ((clone_flags & CLONE_NEWUSER) && !unprivileged_userns_clone) + if (!capable(CAP_SYS_ADMIN)) + return ERR_PTR(-EPERM); + /* * Thread groups must share signals as well, and detached threads * can only be started up within the thread group. @@ -2393,12 +2406,6 @@ spin_lock(¤t->sighand->siglock); - /* - * Copy seccomp details explicitly here, in case they were changed - * before holding sighand lock. - */ - copy_seccomp(p); - rseq_fork(p, clone_flags); /* Don't start children in a dying pid namespace */ @@ -2413,6 +2420,14 @@ goto bad_fork_cancel_cgroup; } + /* No more failure paths after this point. */ + + /* + * Copy seccomp details explicitly here, in case they were changed + * before holding sighand lock. + */ + copy_seccomp(p); + init_task_pid_links(p); if (likely(p->pid)) { ptrace_init_task(p, (clone_flags & CLONE_PTRACE) || trace); @@ -3143,6 +3158,12 @@ if (unshare_flags & CLONE_NEWNS) unshare_flags |= CLONE_FS; + if ((unshare_flags & CLONE_NEWUSER) && !unprivileged_userns_clone) { + err = -EPERM; + if (!capable(CAP_SYS_ADMIN)) + goto bad_unshare_out; + } + err = check_unshare_flags(unshare_flags); if (err) goto bad_unshare_out; --- linux-gcp-5.19.0.orig/kernel/futex/core.c +++ linux-gcp-5.19.0/kernel/futex/core.c @@ -638,6 +638,7 @@ bool pi, bool pending_op) { u32 uval, nval, mval; + pid_t owner; int err; /* Futex address must be 32bit aligned */ @@ -659,6 +660,10 @@ * 2. A woken up waiter is killed before it can acquire the * futex in user space. * + * In the second case, the wake up notification could be generated + * by the unlock path in user space after setting the futex value + * to zero or by the kernel after setting the OWNER_DIED bit below. + * * In both cases the TID validation below prevents a wakeup of * potential waiters which can cause these waiters to block * forever. @@ -667,24 +672,27 @@ * * 1) task->robust_list->list_op_pending != NULL * @pending_op == true - * 2) User space futex value == 0 + * 2) The owner part of user space futex value == 0 * 3) Regular futex: @pi == false * * If these conditions are met, it is safe to attempt waking up a * potential waiter without touching the user space futex value and - * trying to set the OWNER_DIED bit. The user space futex value is - * uncontended and the rest of the user space mutex state is - * consistent, so a woken waiter will just take over the - * uncontended futex. Setting the OWNER_DIED bit would create - * inconsistent state and malfunction of the user space owner died - * handling. + * trying to set the OWNER_DIED bit. If the futex value is zero, + * the rest of the user space mutex state is consistent, so a woken + * waiter will just take over the uncontended futex. Setting the + * OWNER_DIED bit would create inconsistent state and malfunction + * of the user space owner died handling. Otherwise, the OWNER_DIED + * bit is already set, and the woken waiter is expected to deal with + * this. */ - if (pending_op && !pi && !uval) { + owner = uval & FUTEX_TID_MASK; + + if (pending_op && !pi && !owner) { futex_wake(uaddr, 1, 1, FUTEX_BITSET_MATCH_ANY); return 0; } - if ((uval & FUTEX_TID_MASK) != task_pid_vnr(curr)) + if (owner != task_pid_vnr(curr)) return 0; /* --- linux-gcp-5.19.0.orig/kernel/futex/syscalls.c +++ linux-gcp-5.19.0/kernel/futex/syscalls.c @@ -286,19 +286,22 @@ } futexv = kcalloc(nr_futexes, sizeof(*futexv), GFP_KERNEL); - if (!futexv) - return -ENOMEM; + if (!futexv) { + ret = -ENOMEM; + goto destroy_timer; + } ret = futex_parse_waitv(futexv, waiters, nr_futexes); if (!ret) ret = futex_wait_multiple(futexv, nr_futexes, timeout ? &to : NULL); + kfree(futexv); + +destroy_timer: if (timeout) { hrtimer_cancel(&to.timer); destroy_hrtimer_on_stack(&to.timer); } - - kfree(futexv); return ret; } --- linux-gcp-5.19.0.orig/kernel/gcov/clang.c +++ linux-gcp-5.19.0/kernel/gcov/clang.c @@ -280,6 +280,8 @@ for (i = 0; i < sfn_ptr->num_counters; i++) dfn_ptr->counters[i] += sfn_ptr->counters[i]; + + sfn_ptr = list_next_entry(sfn_ptr, head); } } --- linux-gcp-5.19.0.orig/kernel/gcov/gcc_4_7.c +++ linux-gcp-5.19.0/kernel/gcov/gcc_4_7.c @@ -30,6 +30,13 @@ #define GCOV_TAG_FUNCTION_LENGTH 3 +/* Since GCC 12.1 sizes are in BYTES and not in WORDS (4B). */ +#if (__GNUC__ >= 12) +#define GCOV_UNIT_SIZE 4 +#else +#define GCOV_UNIT_SIZE 1 +#endif + static struct gcov_info *gcov_info_head; /** @@ -75,6 +82,7 @@ * @version: gcov version magic indicating the gcc version used for compilation * @next: list head for a singly-linked list * @stamp: uniquifying time stamp + * @checksum: unique object checksum * @filename: name of the associated gcov data file * @merge: merge functions (null for unused counter type) * @n_functions: number of instrumented functions @@ -87,6 +95,10 @@ unsigned int version; struct gcov_info *next; unsigned int stamp; + /* Since GCC 12.1 a checksum field is added. */ +#if (__GNUC__ >= 12) + unsigned int checksum; +#endif const char *filename; void (*merge[GCOV_COUNTERS])(gcov_type *, unsigned int); unsigned int n_functions; @@ -383,12 +395,18 @@ pos += store_gcov_u32(buffer, pos, info->version); pos += store_gcov_u32(buffer, pos, info->stamp); +#if (__GNUC__ >= 12) + /* Use zero as checksum of the compilation unit. */ + pos += store_gcov_u32(buffer, pos, 0); +#endif + for (fi_idx = 0; fi_idx < info->n_functions; fi_idx++) { fi_ptr = info->functions[fi_idx]; /* Function record. */ pos += store_gcov_u32(buffer, pos, GCOV_TAG_FUNCTION); - pos += store_gcov_u32(buffer, pos, GCOV_TAG_FUNCTION_LENGTH); + pos += store_gcov_u32(buffer, pos, + GCOV_TAG_FUNCTION_LENGTH * GCOV_UNIT_SIZE); pos += store_gcov_u32(buffer, pos, fi_ptr->ident); pos += store_gcov_u32(buffer, pos, fi_ptr->lineno_checksum); pos += store_gcov_u32(buffer, pos, fi_ptr->cfg_checksum); @@ -402,7 +420,8 @@ /* Counter record. */ pos += store_gcov_u32(buffer, pos, GCOV_TAG_FOR_COUNTER(ct_idx)); - pos += store_gcov_u32(buffer, pos, ci_ptr->num * 2); + pos += store_gcov_u32(buffer, pos, + ci_ptr->num * 2 * GCOV_UNIT_SIZE); for (cv_idx = 0; cv_idx < ci_ptr->num; cv_idx++) { pos += store_gcov_u64(buffer, pos, --- linux-gcp-5.19.0.orig/kernel/irq/Kconfig +++ linux-gcp-5.19.0/kernel/irq/Kconfig @@ -82,6 +82,7 @@ # Generic IRQ IPI support config GENERIC_IRQ_IPI bool + depends on SMP select IRQ_DOMAIN_HIERARCHY # Generic MSI interrupt support --- linux-gcp-5.19.0.orig/kernel/irq/chip.c +++ linux-gcp-5.19.0/kernel/irq/chip.c @@ -1516,7 +1516,8 @@ if (data->chip->irq_request_resources) return data->chip->irq_request_resources(data); - return -ENOSYS; + /* no error on missing optional irq_chip::irq_request_resources */ + return 0; } EXPORT_SYMBOL_GPL(irq_chip_request_resources_parent); --- linux-gcp-5.19.0.orig/kernel/irq/internals.h +++ linux-gcp-5.19.0/kernel/irq/internals.h @@ -52,6 +52,7 @@ * IRQS_PENDING - irq is pending and replayed later * IRQS_SUSPENDED - irq is suspended * IRQS_NMI - irq line is used to deliver NMIs + * IRQS_SYSFS - descriptor has been added to sysfs */ enum { IRQS_AUTODETECT = 0x00000001, @@ -64,6 +65,7 @@ IRQS_SUSPENDED = 0x00000800, IRQS_TIMINGS = 0x00001000, IRQS_NMI = 0x00002000, + IRQS_SYSFS = 0x00004000, }; #include "debug.h" --- linux-gcp-5.19.0.orig/kernel/irq/irqdesc.c +++ linux-gcp-5.19.0/kernel/irq/irqdesc.c @@ -288,22 +288,25 @@ if (irq_kobj_base) { /* * Continue even in case of failure as this is nothing - * crucial. + * crucial and failures in the late irq_sysfs_init() + * cannot be rolled back. */ if (kobject_add(&desc->kobj, irq_kobj_base, "%d", irq)) pr_warn("Failed to add kobject for irq %d\n", irq); + else + desc->istate |= IRQS_SYSFS; } } static void irq_sysfs_del(struct irq_desc *desc) { /* - * If irq_sysfs_init() has not yet been invoked (early boot), then - * irq_kobj_base is NULL and the descriptor was never added. - * kobject_del() complains about a object with no parent, so make - * it conditional. + * Only invoke kobject_del() when kobject_add() was successfully + * invoked for the descriptor. This covers both early boot, where + * sysfs is not initialized yet, and the case of a failed + * kobject_add() invocation. */ - if (irq_kobj_base) + if (desc->istate & IRQS_SYSFS) kobject_del(&desc->kobj); } --- linux-gcp-5.19.0.orig/kernel/irq/irqdomain.c +++ linux-gcp-5.19.0/kernel/irq/irqdomain.c @@ -25,6 +25,9 @@ static struct irq_domain *irq_default_domain; +static int irq_domain_alloc_irqs_locked(struct irq_domain *domain, int irq_base, + unsigned int nr_irqs, int node, void *arg, + bool realloc, const struct irq_affinity_desc *affinity); static void irq_domain_check_hierarchy(struct irq_domain *domain); struct irqchip_fwid { @@ -123,23 +126,12 @@ } EXPORT_SYMBOL_GPL(irq_domain_free_fwnode); -/** - * __irq_domain_add() - Allocate a new irq_domain data structure - * @fwnode: firmware node for the interrupt controller - * @size: Size of linear map; 0 for radix mapping only - * @hwirq_max: Maximum number of interrupts supported by controller - * @direct_max: Maximum value of direct maps; Use ~0 for no limit; 0 for no - * direct mapping - * @ops: domain callbacks - * @host_data: Controller private data pointer - * - * Allocates and initializes an irq_domain structure. - * Returns pointer to IRQ domain, or NULL on failure. - */ -struct irq_domain *__irq_domain_add(struct fwnode_handle *fwnode, unsigned int size, - irq_hw_number_t hwirq_max, int direct_max, - const struct irq_domain_ops *ops, - void *host_data) +static struct irq_domain *__irq_domain_create(struct fwnode_handle *fwnode, + unsigned int size, + irq_hw_number_t hwirq_max, + int direct_max, + const struct irq_domain_ops *ops, + void *host_data) { struct irqchip_fwid *fwid; struct irq_domain *domain; @@ -227,12 +219,44 @@ irq_domain_check_hierarchy(domain); + return domain; +} + +static void __irq_domain_publish(struct irq_domain *domain) +{ mutex_lock(&irq_domain_mutex); debugfs_add_domain_dir(domain); list_add(&domain->link, &irq_domain_list); mutex_unlock(&irq_domain_mutex); pr_debug("Added domain %s\n", domain->name); +} + +/** + * __irq_domain_add() - Allocate a new irq_domain data structure + * @fwnode: firmware node for the interrupt controller + * @size: Size of linear map; 0 for radix mapping only + * @hwirq_max: Maximum number of interrupts supported by controller + * @direct_max: Maximum value of direct maps; Use ~0 for no limit; 0 for no + * direct mapping + * @ops: domain callbacks + * @host_data: Controller private data pointer + * + * Allocates and initializes an irq_domain structure. + * Returns pointer to IRQ domain, or NULL on failure. + */ +struct irq_domain *__irq_domain_add(struct fwnode_handle *fwnode, unsigned int size, + irq_hw_number_t hwirq_max, int direct_max, + const struct irq_domain_ops *ops, + void *host_data) +{ + struct irq_domain *domain; + + domain = __irq_domain_create(fwnode, size, hwirq_max, direct_max, + ops, host_data); + if (domain) + __irq_domain_publish(domain); + return domain; } EXPORT_SYMBOL_GPL(__irq_domain_add); @@ -538,6 +562,9 @@ return; hwirq = irq_data->hwirq; + + mutex_lock(&irq_domain_mutex); + irq_set_status_flags(irq, IRQ_NOREQUEST); /* remove chip and handler */ @@ -557,10 +584,12 @@ /* Clear reverse map for this hwirq */ irq_domain_clear_mapping(domain, hwirq); + + mutex_unlock(&irq_domain_mutex); } -int irq_domain_associate(struct irq_domain *domain, unsigned int virq, - irq_hw_number_t hwirq) +static int irq_domain_associate_locked(struct irq_domain *domain, unsigned int virq, + irq_hw_number_t hwirq) { struct irq_data *irq_data = irq_get_irq_data(virq); int ret; @@ -573,7 +602,6 @@ if (WARN(irq_data->domain, "error: virq%i is already associated", virq)) return -EINVAL; - mutex_lock(&irq_domain_mutex); irq_data->hwirq = hwirq; irq_data->domain = domain; if (domain->ops->map) { @@ -590,7 +618,6 @@ } irq_data->domain = NULL; irq_data->hwirq = 0; - mutex_unlock(&irq_domain_mutex); return ret; } @@ -601,12 +628,23 @@ domain->mapcount++; irq_domain_set_mapping(domain, hwirq, irq_data); - mutex_unlock(&irq_domain_mutex); irq_clear_status_flags(virq, IRQ_NOREQUEST); return 0; } + +int irq_domain_associate(struct irq_domain *domain, unsigned int virq, + irq_hw_number_t hwirq) +{ + int ret; + + mutex_lock(&irq_domain_mutex); + ret = irq_domain_associate_locked(domain, virq, hwirq); + mutex_unlock(&irq_domain_mutex); + + return ret; +} EXPORT_SYMBOL_GPL(irq_domain_associate); void irq_domain_associate_many(struct irq_domain *domain, unsigned int irq_base, @@ -668,6 +706,34 @@ EXPORT_SYMBOL_GPL(irq_create_direct_mapping); #endif +static unsigned int irq_create_mapping_affinity_locked(struct irq_domain *domain, + irq_hw_number_t hwirq, + const struct irq_affinity_desc *affinity) +{ + struct device_node *of_node = irq_domain_get_of_node(domain); + int virq; + + pr_debug("irq_create_mapping(0x%p, 0x%lx)\n", domain, hwirq); + + /* Allocate a virtual interrupt number */ + virq = irq_domain_alloc_descs(-1, 1, hwirq, of_node_to_nid(of_node), + affinity); + if (virq <= 0) { + pr_debug("-> virq allocation failed\n"); + return 0; + } + + if (irq_domain_associate_locked(domain, virq, hwirq)) { + irq_free_desc(virq); + return 0; + } + + pr_debug("irq %lu on domain %s mapped to virtual irq %u\n", + hwirq, of_node_full_name(of_node), virq); + + return virq; +} + /** * irq_create_mapping_affinity() - Map a hardware interrupt into linux irq space * @domain: domain owning this hardware interrupt or NULL for default domain @@ -680,14 +746,11 @@ * on the number returned from that call. */ unsigned int irq_create_mapping_affinity(struct irq_domain *domain, - irq_hw_number_t hwirq, - const struct irq_affinity_desc *affinity) + irq_hw_number_t hwirq, + const struct irq_affinity_desc *affinity) { - struct device_node *of_node; int virq; - pr_debug("irq_create_mapping(0x%p, 0x%lx)\n", domain, hwirq); - /* Look for default domain if necessary */ if (domain == NULL) domain = irq_default_domain; @@ -695,32 +758,19 @@ WARN(1, "%s(, %lx) called with NULL domain\n", __func__, hwirq); return 0; } - pr_debug("-> using domain @%p\n", domain); - of_node = irq_domain_get_of_node(domain); + mutex_lock(&irq_domain_mutex); /* Check if mapping already exists */ virq = irq_find_mapping(domain, hwirq); if (virq) { - pr_debug("-> existing mapping on virq %d\n", virq); - return virq; - } - - /* Allocate a virtual interrupt number */ - virq = irq_domain_alloc_descs(-1, 1, hwirq, of_node_to_nid(of_node), - affinity); - if (virq <= 0) { - pr_debug("-> virq allocation failed\n"); - return 0; + pr_debug("existing mapping on virq %d\n", virq); + goto out; } - if (irq_domain_associate(domain, virq, hwirq)) { - irq_free_desc(virq); - return 0; - } - - pr_debug("irq %lu on domain %s mapped to virtual irq %u\n", - hwirq, of_node_full_name(of_node), virq); + virq = irq_create_mapping_affinity_locked(domain, hwirq, affinity); +out: + mutex_unlock(&irq_domain_mutex); return virq; } @@ -789,6 +839,8 @@ if (WARN_ON(type & ~IRQ_TYPE_SENSE_MASK)) type &= IRQ_TYPE_SENSE_MASK; + mutex_lock(&irq_domain_mutex); + /* * If we've already configured this interrupt, * don't do it again, or hell will break loose. @@ -801,7 +853,7 @@ * interrupt number. */ if (type == IRQ_TYPE_NONE || type == irq_get_trigger_type(virq)) - return virq; + goto out; /* * If the trigger type has not been set yet, then set @@ -809,40 +861,45 @@ */ if (irq_get_trigger_type(virq) == IRQ_TYPE_NONE) { irq_data = irq_get_irq_data(virq); - if (!irq_data) - return 0; + if (!irq_data) { + virq = 0; + goto out; + } irqd_set_trigger_type(irq_data, type); - return virq; + goto out; } pr_warn("type mismatch, failed to map hwirq-%lu for %s!\n", hwirq, of_node_full_name(to_of_node(fwspec->fwnode))); - return 0; + virq = 0; + goto out; } if (irq_domain_is_hierarchy(domain)) { - virq = irq_domain_alloc_irqs(domain, 1, NUMA_NO_NODE, fwspec); - if (virq <= 0) - return 0; + virq = irq_domain_alloc_irqs_locked(domain, -1, 1, NUMA_NO_NODE, + fwspec, false, NULL); + if (virq <= 0) { + virq = 0; + goto out; + } } else { /* Create mapping */ - virq = irq_create_mapping(domain, hwirq); + virq = irq_create_mapping_affinity_locked(domain, hwirq, NULL); if (!virq) - return virq; + goto out; } irq_data = irq_get_irq_data(virq); - if (!irq_data) { - if (irq_domain_is_hierarchy(domain)) - irq_domain_free_irqs(virq, 1); - else - irq_dispose_mapping(virq); - return 0; + if (WARN_ON(!irq_data)) { + virq = 0; + goto out; } /* Store trigger type */ irqd_set_trigger_type(irq_data, type); +out: + mutex_unlock(&irq_domain_mutex); return virq; } @@ -910,6 +967,8 @@ data = irq_domain_get_irq_data(domain, hwirq); if (data && data->hwirq == hwirq) desc = irq_data_to_desc(data); + if (irq && desc) + *irq = hwirq; } return desc; @@ -1100,12 +1159,15 @@ struct irq_domain *domain; if (size) - domain = irq_domain_create_linear(fwnode, size, ops, host_data); + domain = __irq_domain_create(fwnode, size, size, 0, ops, host_data); else - domain = irq_domain_create_tree(fwnode, ops, host_data); + domain = __irq_domain_create(fwnode, 0, ~0, 0, ops, host_data); + if (domain) { domain->parent = parent; domain->flags |= flags; + + __irq_domain_publish(domain); } return domain; @@ -1424,40 +1486,12 @@ return domain->ops->alloc(domain, irq_base, nr_irqs, arg); } -/** - * __irq_domain_alloc_irqs - Allocate IRQs from domain - * @domain: domain to allocate from - * @irq_base: allocate specified IRQ number if irq_base >= 0 - * @nr_irqs: number of IRQs to allocate - * @node: NUMA node id for memory allocation - * @arg: domain specific argument - * @realloc: IRQ descriptors have already been allocated if true - * @affinity: Optional irq affinity mask for multiqueue devices - * - * Allocate IRQ numbers and initialized all data structures to support - * hierarchy IRQ domains. - * Parameter @realloc is mainly to support legacy IRQs. - * Returns error code or allocated IRQ number - * - * The whole process to setup an IRQ has been split into two steps. - * The first step, __irq_domain_alloc_irqs(), is to allocate IRQ - * descriptor and required hardware resources. The second step, - * irq_domain_activate_irq(), is to program the hardware with preallocated - * resources. In this way, it's easier to rollback when failing to - * allocate resources. - */ -int __irq_domain_alloc_irqs(struct irq_domain *domain, int irq_base, - unsigned int nr_irqs, int node, void *arg, - bool realloc, const struct irq_affinity_desc *affinity) +static int irq_domain_alloc_irqs_locked(struct irq_domain *domain, int irq_base, + unsigned int nr_irqs, int node, void *arg, + bool realloc, const struct irq_affinity_desc *affinity) { int i, ret, virq; - if (domain == NULL) { - domain = irq_default_domain; - if (WARN(!domain, "domain is NULL; cannot allocate IRQ\n")) - return -EINVAL; - } - if (realloc && irq_base >= 0) { virq = irq_base; } else { @@ -1476,24 +1510,18 @@ goto out_free_desc; } - mutex_lock(&irq_domain_mutex); ret = irq_domain_alloc_irqs_hierarchy(domain, virq, nr_irqs, arg); - if (ret < 0) { - mutex_unlock(&irq_domain_mutex); + if (ret < 0) goto out_free_irq_data; - } for (i = 0; i < nr_irqs; i++) { ret = irq_domain_trim_hierarchy(virq + i); - if (ret) { - mutex_unlock(&irq_domain_mutex); + if (ret) goto out_free_irq_data; - } } - + for (i = 0; i < nr_irqs; i++) irq_domain_insert_irq(virq + i); - mutex_unlock(&irq_domain_mutex); return virq; @@ -1503,6 +1531,48 @@ irq_free_descs(virq, nr_irqs); return ret; } + +/** + * __irq_domain_alloc_irqs - Allocate IRQs from domain + * @domain: domain to allocate from + * @irq_base: allocate specified IRQ number if irq_base >= 0 + * @nr_irqs: number of IRQs to allocate + * @node: NUMA node id for memory allocation + * @arg: domain specific argument + * @realloc: IRQ descriptors have already been allocated if true + * @affinity: Optional irq affinity mask for multiqueue devices + * + * Allocate IRQ numbers and initialized all data structures to support + * hierarchy IRQ domains. + * Parameter @realloc is mainly to support legacy IRQs. + * Returns error code or allocated IRQ number + * + * The whole process to setup an IRQ has been split into two steps. + * The first step, __irq_domain_alloc_irqs(), is to allocate IRQ + * descriptor and required hardware resources. The second step, + * irq_domain_activate_irq(), is to program the hardware with preallocated + * resources. In this way, it's easier to rollback when failing to + * allocate resources. + */ +int __irq_domain_alloc_irqs(struct irq_domain *domain, int irq_base, + unsigned int nr_irqs, int node, void *arg, + bool realloc, const struct irq_affinity_desc *affinity) +{ + int ret; + + if (domain == NULL) { + domain = irq_default_domain; + if (WARN(!domain, "domain is NULL; cannot allocate IRQ\n")) + return -EINVAL; + } + + mutex_lock(&irq_domain_mutex); + ret = irq_domain_alloc_irqs_locked(domain, irq_base, nr_irqs, node, arg, + realloc, affinity); + mutex_unlock(&irq_domain_mutex); + + return ret; +} EXPORT_SYMBOL_GPL(__irq_domain_alloc_irqs); /* The irq_data was moved, fix the revmap to refer to the new location */ @@ -1863,6 +1933,13 @@ irq_set_handler_data(virq, handler_data); } +static int irq_domain_alloc_irqs_locked(struct irq_domain *domain, int irq_base, + unsigned int nr_irqs, int node, void *arg, + bool realloc, const struct irq_affinity_desc *affinity) +{ + return -EINVAL; +} + static void irq_domain_check_hierarchy(struct irq_domain *domain) { } @@ -1913,7 +1990,7 @@ static void debugfs_remove_domain_dir(struct irq_domain *d) { - debugfs_remove(debugfs_lookup(d->name, domain_dir)); + debugfs_lookup_and_remove(d->name, domain_dir); } void __init irq_domain_debugfs_init(struct dentry *root) --- linux-gcp-5.19.0.orig/kernel/kcsan/core.c +++ linux-gcp-5.19.0/kernel/kcsan/core.c @@ -14,10 +14,12 @@ #include #include #include +#include #include #include #include #include +#include #include #include "encoding.h" @@ -1308,3 +1310,51 @@ } } EXPORT_SYMBOL(__tsan_atomic_signal_fence); + +#ifdef __HAVE_ARCH_MEMSET +void *__tsan_memset(void *s, int c, size_t count); +noinline void *__tsan_memset(void *s, int c, size_t count) +{ + /* + * Instead of not setting up watchpoints where accessed size is greater + * than MAX_ENCODABLE_SIZE, truncate checked size to MAX_ENCODABLE_SIZE. + */ + size_t check_len = min_t(size_t, count, MAX_ENCODABLE_SIZE); + + check_access(s, check_len, KCSAN_ACCESS_WRITE); + return memset(s, c, count); +} +#else +void *__tsan_memset(void *s, int c, size_t count) __alias(memset); +#endif +EXPORT_SYMBOL(__tsan_memset); + +#ifdef __HAVE_ARCH_MEMMOVE +void *__tsan_memmove(void *dst, const void *src, size_t len); +noinline void *__tsan_memmove(void *dst, const void *src, size_t len) +{ + size_t check_len = min_t(size_t, len, MAX_ENCODABLE_SIZE); + + check_access(dst, check_len, KCSAN_ACCESS_WRITE); + check_access(src, check_len, 0); + return memmove(dst, src, len); +} +#else +void *__tsan_memmove(void *dst, const void *src, size_t len) __alias(memmove); +#endif +EXPORT_SYMBOL(__tsan_memmove); + +#ifdef __HAVE_ARCH_MEMCPY +void *__tsan_memcpy(void *dst, const void *src, size_t len); +noinline void *__tsan_memcpy(void *dst, const void *src, size_t len) +{ + size_t check_len = min_t(size_t, len, MAX_ENCODABLE_SIZE); + + check_access(dst, check_len, KCSAN_ACCESS_WRITE); + check_access(src, check_len, 0); + return memcpy(dst, src, len); +} +#else +void *__tsan_memcpy(void *dst, const void *src, size_t len) __alias(memcpy); +#endif +EXPORT_SYMBOL(__tsan_memcpy); --- linux-gcp-5.19.0.orig/kernel/kcsan/kcsan_test.c +++ linux-gcp-5.19.0/kernel/kcsan/kcsan_test.c @@ -159,7 +159,7 @@ const bool is_assert = (r->access[0].type | r->access[1].type) & KCSAN_ACCESS_ASSERT; bool ret = false; unsigned long flags; - typeof(observed.lines) expect; + typeof(*observed.lines) *expect; const char *end; char *cur; int i; @@ -168,6 +168,10 @@ if (!report_available()) return false; + expect = kmalloc(sizeof(observed.lines), GFP_KERNEL); + if (WARN_ON(!expect)) + return false; + /* Generate expected report contents. */ /* Title */ @@ -253,6 +257,7 @@ strstr(observed.lines[2], expect[1]))); out: spin_unlock_irqrestore(&observed.lock, flags); + kfree(expect); return ret; } --- linux-gcp-5.19.0.orig/kernel/kcsan/report.c +++ linux-gcp-5.19.0/kernel/kcsan/report.c @@ -492,8 +492,7 @@ dump_stack_print_info(KERN_DEFAULT); pr_err("==================================================================\n"); - if (panic_on_warn) - panic("panic_on_warn set ...\n"); + check_panic_on_warn("KCSAN"); } static void release_report(unsigned long *flags, struct other_info *other_info) --- linux-gcp-5.19.0.orig/kernel/kexec_file.c +++ linux-gcp-5.19.0/kernel/kexec_file.c @@ -62,14 +62,7 @@ return ret; } -/* Architectures can provide this probe function */ -int __weak arch_kexec_kernel_image_probe(struct kimage *image, void *buf, - unsigned long buf_len) -{ - return kexec_image_probe_default(image, buf, buf_len); -} - -static void *kexec_image_load_default(struct kimage *image) +void *kexec_image_load_default(struct kimage *image) { if (!image->fops || !image->fops->load) return ERR_PTR(-ENOEXEC); @@ -80,11 +73,6 @@ image->cmdline_buf_len); } -void * __weak arch_kexec_kernel_image_load(struct kimage *image) -{ - return kexec_image_load_default(image); -} - int kexec_image_post_load_cleanup_default(struct kimage *image) { if (!image->fops || !image->fops->cleanup) @@ -93,30 +81,6 @@ return image->fops->cleanup(image->image_loader_data); } -int __weak arch_kimage_file_post_load_cleanup(struct kimage *image) -{ - return kexec_image_post_load_cleanup_default(image); -} - -#ifdef CONFIG_KEXEC_SIG -static int kexec_image_verify_sig_default(struct kimage *image, void *buf, - unsigned long buf_len) -{ - if (!image->fops || !image->fops->verify_sig) { - pr_debug("kernel loader does not support signature verification.\n"); - return -EKEYREJECTED; - } - - return image->fops->verify_sig(buf, buf_len); -} - -int __weak arch_kexec_kernel_verify_sig(struct kimage *image, void *buf, - unsigned long buf_len) -{ - return kexec_image_verify_sig_default(image, buf, buf_len); -} -#endif - /* * Free up memory used by kernel, initrd, and command line. This is temporary * memory allocation which is not needed any more after these buffers have @@ -159,13 +123,41 @@ } #ifdef CONFIG_KEXEC_SIG +#ifdef CONFIG_SIGNED_PE_FILE_VERIFICATION +int kexec_kernel_verify_pe_sig(const char *kernel, unsigned long kernel_len) +{ + int ret; + + ret = verify_pefile_signature(kernel, kernel_len, + VERIFY_USE_SECONDARY_KEYRING, + VERIFYING_KEXEC_PE_SIGNATURE); + if (ret == -ENOKEY && IS_ENABLED(CONFIG_INTEGRITY_PLATFORM_KEYRING)) { + ret = verify_pefile_signature(kernel, kernel_len, + VERIFY_USE_PLATFORM_KEYRING, + VERIFYING_KEXEC_PE_SIGNATURE); + } + return ret; +} +#endif + +static int kexec_image_verify_sig(struct kimage *image, void *buf, + unsigned long buf_len) +{ + if (!image->fops || !image->fops->verify_sig) { + pr_debug("kernel loader does not support signature verification.\n"); + return -EKEYREJECTED; + } + + return image->fops->verify_sig(buf, buf_len); +} + static int kimage_validate_signature(struct kimage *image) { int ret; - ret = arch_kexec_kernel_verify_sig(image, image->kernel_buf, - image->kernel_buf_len); + ret = kexec_image_verify_sig(image, image->kernel_buf, + image->kernel_buf_len); if (ret) { if (sig_enforce) { @@ -622,19 +614,6 @@ } /** - * arch_kexec_locate_mem_hole - Find free memory to place the segments. - * @kbuf: Parameters for the memory search. - * - * On success, kbuf->mem will have the start address of the memory region found. - * - * Return: 0 on success, negative errno on error. - */ -int __weak arch_kexec_locate_mem_hole(struct kexec_buf *kbuf) -{ - return kexec_locate_mem_hole(kbuf); -} - -/** * kexec_add_buffer - place a buffer in a kexec segment * @kbuf: Buffer contents and memory parameters. * --- linux-gcp-5.19.0.orig/kernel/kprobes.c +++ linux-gcp-5.19.0/kernel/kprobes.c @@ -458,7 +458,7 @@ } /* Return true if the kprobe is disarmed. Note: p must be on hash list */ -static inline bool kprobe_disarmed(struct kprobe *p) +bool kprobe_disarmed(struct kprobe *p) { struct optimized_kprobe *op; @@ -555,17 +555,15 @@ /* See comment in do_optimize_kprobes() */ lockdep_assert_cpus_held(); - /* Unoptimization must be done anytime */ - if (list_empty(&unoptimizing_list)) - return; + if (!list_empty(&unoptimizing_list)) + arch_unoptimize_kprobes(&unoptimizing_list, &freeing_list); - arch_unoptimize_kprobes(&unoptimizing_list, &freeing_list); - /* Loop on 'freeing_list' for disarming */ + /* Loop on 'freeing_list' for disarming and removing from kprobe hash list */ list_for_each_entry_safe(op, tmp, &freeing_list, list) { /* Switching from detour code to origin */ op->kp.flags &= ~KPROBE_FLAG_OPTIMIZED; - /* Disarm probes if marked disabled */ - if (kprobe_disabled(&op->kp)) + /* Disarm probes if marked disabled and not gone */ + if (kprobe_disabled(&op->kp) && !kprobe_gone(&op->kp)) arch_disarm_kprobe(&op->kp); if (kprobe_unused(&op->kp)) { /* @@ -662,7 +660,7 @@ mutex_unlock(&kprobe_mutex); } -static bool optprobe_queued_unopt(struct optimized_kprobe *op) +bool optprobe_queued_unopt(struct optimized_kprobe *op) { struct optimized_kprobe *_op; @@ -797,14 +795,13 @@ op->kp.flags &= ~KPROBE_FLAG_OPTIMIZED; if (kprobe_unused(p)) { - /* Enqueue if it is unused */ - list_add(&op->list, &freeing_list); /* - * Remove unused probes from the hash list. After waiting - * for synchronization, this probe is reclaimed. - * (reclaiming is done by do_free_cleaned_kprobes().) + * Unused kprobe is on unoptimizing or freeing list. We move it + * to freeing_list and let the kprobe_optimizer() remove it from + * the kprobe hash list and free it. */ - hlist_del_rcu(&op->kp.hlist); + if (optprobe_queued_unopt(op)) + list_move(&op->list, &freeing_list); } /* Don't touch the code, because it is already freed. */ @@ -1560,7 +1557,9 @@ preempt_disable(); /* Ensure it is not in reserved area nor out of text */ - if (!kernel_text_address((unsigned long) p->addr) || + if (!(core_kernel_text((unsigned long) p->addr) || + is_module_text_address((unsigned long) p->addr)) || + in_gate_area_no_mm((unsigned long) p->addr) || within_kprobe_blacklist((unsigned long) p->addr) || jump_label_text_reserved(p->addr, p->addr) || static_call_text_reserved(p->addr, p->addr) || @@ -1706,11 +1705,12 @@ /* Try to disarm and disable this/parent probe */ if (p == orig_p || aggr_kprobe_disabled(orig_p)) { /* - * If 'kprobes_all_disarmed' is set, 'orig_p' - * should have already been disarmed, so - * skip unneed disarming process. + * Don't be lazy here. Even if 'kprobes_all_disarmed' + * is false, 'orig_p' might not have been armed yet. + * Note arm_all_kprobes() __tries__ to arm all kprobes + * on the best effort basis. */ - if (!kprobes_all_disarmed) { + if (!kprobes_all_disarmed && !kprobe_disabled(orig_p)) { ret = disarm_kprobe(orig_p, true); if (ret) { p->flags &= ~KPROBE_FLAG_DISABLED; @@ -1759,7 +1759,13 @@ if ((list_p != p) && (list_p->post_handler)) goto noclean; } - ap->post_handler = NULL; + /* + * For the kprobe-on-ftrace case, we keep the + * post_handler setting to identify this aggrprobe + * armed with kprobe_ipmodify_ops. + */ + if (!kprobe_ftrace(ap)) + ap->post_handler = NULL; } noclean: /* @@ -2351,6 +2357,14 @@ lockdep_assert_held(&kprobe_mutex); + /* + * The module is going away. We should disarm the kprobe which + * is using ftrace, because ftrace framework is still available at + * 'MODULE_STATE_GOING' notification. + */ + if (kprobe_ftrace(p) && !kprobe_disabled(p) && !kprobes_all_disarmed) + disarm_kprobe_ftrace(p); + p->flags |= KPROBE_FLAG_GONE; if (kprobe_aggrprobe(p)) { /* @@ -2367,14 +2381,6 @@ * the original probed function (which will be freed soon) any more. */ arch_remove_kprobe(p); - - /* - * The module is going away. We should disarm the kprobe which - * is using ftrace, because ftrace framework is still available at - * 'MODULE_STATE_GOING' notification. - */ - if (kprobe_ftrace(p) && !kprobe_disabled(p) && !kprobes_all_disarmed) - disarm_kprobe_ftrace(p); } /* Disable one kprobe */ @@ -2422,8 +2428,11 @@ if (!kprobes_all_disarmed && kprobe_disabled(p)) { p->flags &= ~KPROBE_FLAG_DISABLED; ret = arm_kprobe(p); - if (ret) + if (ret) { p->flags |= KPROBE_FLAG_DISABLED; + if (p != kp) + kp->flags |= KPROBE_FLAG_DISABLED; + } } out: mutex_unlock(&kprobe_mutex); --- linux-gcp-5.19.0.orig/kernel/kthread.c +++ linux-gcp-5.19.0/kernel/kthread.c @@ -439,6 +439,17 @@ * new kernel thread. */ if (unlikely(wait_for_completion_killable(&done))) { + int i = 0; + + /* + * I got SIGKILL, but wait for 10 more seconds for completion + * unless chosen by the OOM killer. This delay is there as a + * workaround for boot failure caused by SIGKILL upon device + * driver initialization timeout. + */ + while (i++ < 10 && !test_tsk_thread_flag(current, TIF_MEMDIE)) + if (wait_for_completion_timeout(&done, HZ)) + goto ready; /* * If I was killed by a fatal signal before kthreadd (or new * kernel thread) calls complete(), leave the cleanup of this @@ -452,6 +463,7 @@ */ wait_for_completion(&done); } +ready: task = create->result; if (!IS_ERR(task)) { char name[TASK_COMM_LEN]; --- linux-gcp-5.19.0.orig/kernel/livepatch/transition.c +++ linux-gcp-5.19.0/kernel/livepatch/transition.c @@ -610,9 +610,23 @@ /* Called from copy_process() during fork */ void klp_copy_process(struct task_struct *child) { - child->patch_state = current->patch_state; - /* TIF_PATCH_PENDING gets copied in setup_thread_stack() */ + /* + * The parent process may have gone through a KLP transition since + * the thread flag was copied in setup_thread_stack earlier. Bring + * the task flag up to date with the parent here. + * + * The operation is serialized against all klp_*_transition() + * operations by the tasklist_lock. The only exception is + * klp_update_patch_state(current), but we cannot race with + * that because we are current. + */ + if (test_tsk_thread_flag(current, TIF_PATCH_PENDING)) + set_tsk_thread_flag(child, TIF_PATCH_PENDING); + else + clear_tsk_thread_flag(child, TIF_PATCH_PENDING); + + child->patch_state = current->patch_state; } /* --- linux-gcp-5.19.0.orig/kernel/locking/lockdep.c +++ linux-gcp-5.19.0/kernel/locking/lockdep.c @@ -5238,9 +5238,10 @@ return 0; } - lockdep_init_map_waits(lock, name, key, 0, - lock->wait_type_inner, - lock->wait_type_outer); + lockdep_init_map_type(lock, name, key, 0, + lock->wait_type_inner, + lock->wait_type_outer, + lock->lock_type); class = register_lock_class(lock, subclass, 0); hlock->class_idx = class - lock_classes; --- linux-gcp-5.19.0.orig/kernel/locking/rtmutex.c +++ linux-gcp-5.19.0/kernel/locking/rtmutex.c @@ -89,15 +89,31 @@ * set this bit before looking at the lock. */ -static __always_inline void -rt_mutex_set_owner(struct rt_mutex_base *lock, struct task_struct *owner) +static __always_inline struct task_struct * +rt_mutex_owner_encode(struct rt_mutex_base *lock, struct task_struct *owner) { unsigned long val = (unsigned long)owner; if (rt_mutex_has_waiters(lock)) val |= RT_MUTEX_HAS_WAITERS; - WRITE_ONCE(lock->owner, (struct task_struct *)val); + return (struct task_struct *)val; +} + +static __always_inline void +rt_mutex_set_owner(struct rt_mutex_base *lock, struct task_struct *owner) +{ + /* + * lock->wait_lock is held but explicit acquire semantics are needed + * for a new lock owner so WRITE_ONCE is insufficient. + */ + xchg_acquire(&lock->owner, rt_mutex_owner_encode(lock, owner)); +} + +static __always_inline void rt_mutex_clear_owner(struct rt_mutex_base *lock) +{ + /* lock->wait_lock is held so the unlock provides release semantics. */ + WRITE_ONCE(lock->owner, rt_mutex_owner_encode(lock, NULL)); } static __always_inline void clear_rt_mutex_waiters(struct rt_mutex_base *lock) @@ -106,7 +122,8 @@ ((unsigned long)lock->owner & ~RT_MUTEX_HAS_WAITERS); } -static __always_inline void fixup_rt_mutex_waiters(struct rt_mutex_base *lock) +static __always_inline void +fixup_rt_mutex_waiters(struct rt_mutex_base *lock, bool acquire_lock) { unsigned long owner, *p = (unsigned long *) &lock->owner; @@ -172,8 +189,21 @@ * still set. */ owner = READ_ONCE(*p); - if (owner & RT_MUTEX_HAS_WAITERS) - WRITE_ONCE(*p, owner & ~RT_MUTEX_HAS_WAITERS); + if (owner & RT_MUTEX_HAS_WAITERS) { + /* + * See rt_mutex_set_owner() and rt_mutex_clear_owner() on + * why xchg_acquire() is used for updating owner for + * locking and WRITE_ONCE() for unlocking. + * + * WRITE_ONCE() would work for the acquire case too, but + * in case that the lock acquisition failed it might + * force other lockers into the slow path unnecessarily. + */ + if (acquire_lock) + xchg_acquire(p, owner & ~RT_MUTEX_HAS_WAITERS); + else + WRITE_ONCE(*p, owner & ~RT_MUTEX_HAS_WAITERS); + } } /* @@ -208,6 +238,13 @@ owner = *p; } while (cmpxchg_relaxed(p, owner, owner | RT_MUTEX_HAS_WAITERS) != owner); + + /* + * The cmpxchg loop above is relaxed to avoid back-to-back ACQUIRE + * operations in the event of contention. Ensure the successful + * cmpxchg is visible. + */ + smp_mb__after_atomic(); } /* @@ -864,8 +901,9 @@ * then we need to wake the new top waiter up to try * to get the lock. */ - if (prerequeue_top_waiter != rt_mutex_top_waiter(lock)) - wake_up_state(waiter->task, waiter->wake_state); + top_waiter = rt_mutex_top_waiter(lock); + if (prerequeue_top_waiter != top_waiter) + wake_up_state(top_waiter->task, top_waiter->wake_state); raw_spin_unlock_irq(&lock->wait_lock); return 0; } @@ -1243,7 +1281,7 @@ * try_to_take_rt_mutex() sets the lock waiters bit * unconditionally. Clean this up. */ - fixup_rt_mutex_waiters(lock); + fixup_rt_mutex_waiters(lock, true); return ret; } @@ -1604,7 +1642,7 @@ * try_to_take_rt_mutex() sets the waiter bit * unconditionally. We might have to fix that up. */ - fixup_rt_mutex_waiters(lock); + fixup_rt_mutex_waiters(lock, true); trace_contention_end(lock, ret); @@ -1719,7 +1757,7 @@ * try_to_take_rt_mutex() sets the waiter bit unconditionally. * We might have to fix that up: */ - fixup_rt_mutex_waiters(lock); + fixup_rt_mutex_waiters(lock, true); debug_rt_mutex_free_waiter(&waiter); trace_contention_end(lock, 0); --- linux-gcp-5.19.0.orig/kernel/locking/rtmutex_api.c +++ linux-gcp-5.19.0/kernel/locking/rtmutex_api.c @@ -267,7 +267,7 @@ void __sched rt_mutex_proxy_unlock(struct rt_mutex_base *lock) { debug_rt_mutex_proxy_unlock(lock); - rt_mutex_set_owner(lock, NULL); + rt_mutex_clear_owner(lock); } /** @@ -382,7 +382,7 @@ * try_to_take_rt_mutex() sets the waiter bit unconditionally. We might * have to fix that up. */ - fixup_rt_mutex_waiters(lock); + fixup_rt_mutex_waiters(lock, true); raw_spin_unlock_irq(&lock->wait_lock); return ret; @@ -438,7 +438,7 @@ * try_to_take_rt_mutex() sets the waiter bit unconditionally. We might * have to fix that up. */ - fixup_rt_mutex_waiters(lock); + fixup_rt_mutex_waiters(lock, false); raw_spin_unlock_irq(&lock->wait_lock); --- linux-gcp-5.19.0.orig/kernel/locking/rwsem.c +++ linux-gcp-5.19.0/kernel/locking/rwsem.c @@ -616,18 +616,16 @@ */ if (first->handoff_set && (waiter != first)) return false; - - /* - * First waiter can inherit a previously set handoff - * bit and spin on rwsem if lock acquisition fails. - */ - if (waiter == first) - waiter->handoff_set = true; } new = count; if (count & RWSEM_LOCK_MASK) { + /* + * A waiter (first or not) can set the handoff bit + * if it is an RT task or wait in the wait queue + * for too long. + */ if (has_handoff || (!rt_task(waiter->task) && !time_after(jiffies, waiter->timeout))) return false; @@ -643,11 +641,12 @@ } while (!atomic_long_try_cmpxchg_acquire(&sem->count, &count, new)); /* - * We have either acquired the lock with handoff bit cleared or - * set the handoff bit. + * We have either acquired the lock with handoff bit cleared or set + * the handoff bit. Only the first waiter can have its handoff_set + * set here to enable optimistic spinning in slowpath loop. */ if (new & RWSEM_FLAG_HANDOFF) { - waiter->handoff_set = true; + first->handoff_set = true; lockevent_inc(rwsem_wlock_handoff); return false; } @@ -1084,7 +1083,7 @@ /* Ordered by sem->wait_lock against rwsem_mark_wake(). */ break; } - schedule(); + schedule_preempt_disabled(); lockevent_inc(rwsem_sleep_reader); } @@ -1246,14 +1245,20 @@ */ static inline int __down_read_common(struct rw_semaphore *sem, int state) { + int ret = 0; long count; + preempt_disable(); if (!rwsem_read_trylock(sem, &count)) { - if (IS_ERR(rwsem_down_read_slowpath(sem, count, state))) - return -EINTR; + if (IS_ERR(rwsem_down_read_slowpath(sem, count, state))) { + ret = -EINTR; + goto out; + } DEBUG_RWSEMS_WARN_ON(!is_rwsem_reader_owned(sem), sem); } - return 0; +out: + preempt_enable(); + return ret; } static inline void __down_read(struct rw_semaphore *sem) @@ -1273,19 +1278,23 @@ static inline int __down_read_trylock(struct rw_semaphore *sem) { + int ret = 0; long tmp; DEBUG_RWSEMS_WARN_ON(sem->magic != sem, sem); + preempt_disable(); tmp = atomic_long_read(&sem->count); while (!(tmp & RWSEM_READ_FAILED_MASK)) { if (atomic_long_try_cmpxchg_acquire(&sem->count, &tmp, tmp + RWSEM_READER_BIAS)) { rwsem_set_reader_owned(sem); - return 1; + ret = 1; + break; } } - return 0; + preempt_enable(); + return ret; } /* @@ -1327,6 +1336,7 @@ DEBUG_RWSEMS_WARN_ON(sem->magic != sem, sem); DEBUG_RWSEMS_WARN_ON(!is_rwsem_reader_owned(sem), sem); + preempt_disable(); rwsem_clear_reader_owned(sem); tmp = atomic_long_add_return_release(-RWSEM_READER_BIAS, &sem->count); DEBUG_RWSEMS_WARN_ON(tmp < 0, sem); @@ -1335,6 +1345,7 @@ clear_nonspinnable(sem); rwsem_wake(sem); } + preempt_enable(); } /* @@ -1652,6 +1663,12 @@ { might_sleep(); __down_read(sem); + /* + * The owner value for a reader-owned lock is mostly for debugging + * purpose only and is not critical to the correct functioning of + * rwsem. So it is perfectly fine to set it in a preempt-enabled + * context here. + */ __rwsem_set_reader_owned(sem, NULL); } EXPORT_SYMBOL(down_read_non_owner); --- linux-gcp-5.19.0.orig/kernel/module/decompress.c +++ linux-gcp-5.19.0/kernel/module/decompress.c @@ -114,8 +114,8 @@ do { struct page *page = module_get_next_page(info); - if (!page) { - retval = -ENOMEM; + if (IS_ERR(page)) { + retval = PTR_ERR(page); goto out_inflate_end; } @@ -173,8 +173,8 @@ do { struct page *page = module_get_next_page(info); - if (!page) { - retval = -ENOMEM; + if (IS_ERR(page)) { + retval = PTR_ERR(page); goto out; } --- linux-gcp-5.19.0.orig/kernel/module/kallsyms.c +++ linux-gcp-5.19.0/kernel/module/kallsyms.c @@ -481,7 +481,6 @@ return ret; } -#ifdef CONFIG_LIVEPATCH int module_kallsyms_on_each_symbol(int (*fn)(void *, const char *, struct module *, unsigned long), void *data) @@ -518,4 +517,3 @@ mutex_unlock(&module_mutex); return ret; } -#endif /* CONFIG_LIVEPATCH */ --- linux-gcp-5.19.0.orig/kernel/module/main.c +++ linux-gcp-5.19.0/kernel/module/main.c @@ -2371,7 +2371,8 @@ sched_annotate_sleep(); mutex_lock(&module_mutex); mod = find_module_all(name, strlen(name), true); - ret = !mod || mod->state == MODULE_STATE_LIVE; + ret = !mod || mod->state == MODULE_STATE_LIVE + || mod->state == MODULE_STATE_GOING; mutex_unlock(&module_mutex); return ret; @@ -2541,20 +2542,35 @@ mod->state = MODULE_STATE_UNFORMED; -again: mutex_lock(&module_mutex); old = find_module_all(mod->name, strlen(mod->name), true); if (old != NULL) { - if (old->state != MODULE_STATE_LIVE) { + if (old->state == MODULE_STATE_COMING + || old->state == MODULE_STATE_UNFORMED) { /* Wait in case it fails to load. */ mutex_unlock(&module_mutex); err = wait_event_interruptible(module_wq, finished_loading(mod->name)); if (err) goto out_unlocked; - goto again; + + /* The module might have gone in the meantime. */ + mutex_lock(&module_mutex); + old = find_module_all(mod->name, strlen(mod->name), + true); } - err = -EEXIST; + + /* + * We are here only when the same module was being loaded. Do + * not try to load it again right now. It prevents long delays + * caused by serialized module load failures. It might happen + * when more devices of the same type trigger load of + * a particular module. + */ + if (old && old->state == MODULE_STATE_LIVE) + err = -EEXIST; + else + err = -EBUSY; goto out; } mod_update_bounds(mod); --- linux-gcp-5.19.0.orig/kernel/module/signing.c +++ linux-gcp-5.19.0/kernel/module/signing.c @@ -61,10 +61,17 @@ modlen -= sig_len + sizeof(ms); info->len = modlen; - return verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len, + ret = verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len, VERIFY_USE_SECONDARY_KEYRING, VERIFYING_MODULE_SIGNATURE, NULL, NULL); + if (ret == -ENOKEY && IS_ENABLED(CONFIG_INTEGRITY_PLATFORM_KEYRING)) { + ret = verify_pkcs7_signature(mod, modlen, mod + modlen, sig_len, + VERIFY_USE_PLATFORM_KEYRING, + VERIFYING_MODULE_SIGNATURE, + NULL, NULL); + } + return ret; } int module_sig_check(struct load_info *info, int flags) --- linux-gcp-5.19.0.orig/kernel/module/tracking.c +++ linux-gcp-5.19.0/kernel/module/tracking.c @@ -21,6 +21,9 @@ module_assert_mutex_or_preempt(); + if (!mod->taints) + goto out; + list_for_each_entry_rcu(mod_taint, &unloaded_tainted_modules, list, lockdep_is_held(&module_mutex)) { if (!strcmp(mod_taint->name, mod->name) && --- linux-gcp-5.19.0.orig/kernel/padata.c +++ linux-gcp-5.19.0/kernel/padata.c @@ -207,14 +207,16 @@ pw = padata_work_alloc(); spin_unlock(&padata_works_lock); + if (!pw) { + /* Maximum works limit exceeded, run in the current task. */ + padata->parallel(padata); + } + rcu_read_unlock_bh(); if (pw) { padata_work_init(pw, padata_parallel_worker, padata, 0); queue_work(pinst->parallel_wq, &pw->pw_work); - } else { - /* Maximum works limit exceeded, run in the current task. */ - padata->parallel(padata); } return 0; @@ -388,13 +390,16 @@ int hashed_cpu = padata_cpu_hash(pd, padata->seq_nr); struct padata_list *reorder = per_cpu_ptr(pd->reorder_list, hashed_cpu); struct padata_priv *cur; + struct list_head *pos; spin_lock(&reorder->lock); /* Sort in ascending order of sequence number. */ - list_for_each_entry_reverse(cur, &reorder->list, list) + list_for_each_prev(pos, &reorder->list) { + cur = list_entry(pos, struct padata_priv, list); if (cur->seq_nr < padata->seq_nr) break; - list_add(&padata->list, &cur->list); + } + list_add(&padata->list, pos); spin_unlock(&reorder->lock); /* --- linux-gcp-5.19.0.orig/kernel/panic.c +++ linux-gcp-5.19.0/kernel/panic.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include @@ -58,6 +59,7 @@ int panic_on_warn __read_mostly; unsigned long panic_on_taint; bool panic_on_taint_nousertaint = false; +static unsigned int warn_limit __read_mostly; int panic_timeout = CONFIG_PANIC_TIMEOUT; EXPORT_SYMBOL_GPL(panic_timeout); @@ -75,8 +77,9 @@ EXPORT_SYMBOL(panic_notifier_list); -#if defined(CONFIG_SMP) && defined(CONFIG_SYSCTL) +#ifdef CONFIG_SYSCTL static struct ctl_table kern_panic_table[] = { +#ifdef CONFIG_SMP { .procname = "oops_all_cpu_backtrace", .data = &sysctl_oops_all_cpu_backtrace, @@ -86,6 +89,14 @@ .extra1 = SYSCTL_ZERO, .extra2 = SYSCTL_ONE, }, +#endif + { + .procname = "warn_limit", + .data = &warn_limit, + .maxlen = sizeof(warn_limit), + .mode = 0644, + .proc_handler = proc_douintvec, + }, { } }; @@ -97,6 +108,25 @@ late_initcall(kernel_panic_sysctls_init); #endif +static atomic_t warn_count = ATOMIC_INIT(0); + +#ifdef CONFIG_SYSFS +static ssize_t warn_count_show(struct kobject *kobj, struct kobj_attribute *attr, + char *page) +{ + return sysfs_emit(page, "%d\n", atomic_read(&warn_count)); +} + +static struct kobj_attribute warn_count_attr = __ATTR_RO(warn_count); + +static __init int kernel_panic_sysfs_init(void) +{ + sysfs_add_file_to_group(kernel_kobj, &warn_count_attr.attr, NULL); + return 0; +} +late_initcall(kernel_panic_sysfs_init); +#endif + static long no_blink(int state) { return 0; @@ -180,9 +210,6 @@ return; } - if (panic_print & PANIC_PRINT_ALL_CPU_BT) - trigger_all_cpu_backtrace(); - if (panic_print & PANIC_PRINT_TASK_INFO) show_state(); @@ -199,6 +226,43 @@ ftrace_dump(DUMP_ALL); } +void check_panic_on_warn(const char *origin) +{ + unsigned int limit; + + if (panic_on_warn) + panic("%s: panic_on_warn set ...\n", origin); + + limit = READ_ONCE(warn_limit); + if (atomic_inc_return(&warn_count) >= limit && limit) + panic("%s: system warned too often (kernel.warn_limit is %d)", + origin, limit); +} + +/* + * Helper that triggers the NMI backtrace (if set in panic_print) + * and then performs the secondary CPUs shutdown - we cannot have + * the NMI backtrace after the CPUs are off! + */ +static void panic_other_cpus_shutdown(bool crash_kexec) +{ + if (panic_print & PANIC_PRINT_ALL_CPU_BT) + trigger_all_cpu_backtrace(); + + /* + * Note that smp_send_stop() is the usual SMP shutdown function, + * which unfortunately may not be hardened to work in a panic + * situation. If we want to do crash dump after notifier calls + * and kmsg_dump, we will need architecture dependent extra + * bits in addition to stopping other CPUs, hence we rely on + * crash_smp_send_stop() for that. + */ + if (!crash_kexec) + smp_send_stop(); + else + crash_smp_send_stop(); +} + /** * panic - halt the system * @fmt: The text string to print @@ -289,23 +353,10 @@ * * Bypass the panic_cpu check and call __crash_kexec directly. */ - if (!_crash_kexec_post_notifiers) { + if (!_crash_kexec_post_notifiers) __crash_kexec(NULL); - /* - * Note smp_send_stop is the usual smp shutdown function, which - * unfortunately means it may not be hardened to work in a - * panic situation. - */ - smp_send_stop(); - } else { - /* - * If we want to do crash dump after notifier calls and - * kmsg_dump, we will need architecture dependent extra - * works in addition to stopping other CPUs. - */ - crash_smp_send_stop(); - } + panic_other_cpus_shutdown(_crash_kexec_post_notifiers); /* * Run any panic handlers, including those that might need to @@ -619,8 +670,7 @@ if (regs) show_regs(regs); - if (panic_on_warn) - panic("panic_on_warn set ...\n"); + check_panic_on_warn("kernel"); if (!regs) dump_stack(); --- linux-gcp-5.19.0.orig/kernel/pid_namespace.c +++ linux-gcp-5.19.0/kernel/pid_namespace.c @@ -244,7 +244,24 @@ set_current_state(TASK_INTERRUPTIBLE); if (pid_ns->pid_allocated == init_pids) break; + /* + * Release tasks_rcu_exit_srcu to avoid following deadlock: + * + * 1) TASK A unshare(CLONE_NEWPID) + * 2) TASK A fork() twice -> TASK B (child reaper for new ns) + * and TASK C + * 3) TASK B exits, kills TASK C, waits for TASK A to reap it + * 4) TASK A calls synchronize_rcu_tasks() + * -> synchronize_srcu(tasks_rcu_exit_srcu) + * 5) *DEADLOCK* + * + * It is considered safe to release tasks_rcu_exit_srcu here + * because we assume the current task can not be concurrently + * reaped at this point. + */ + exit_tasks_rcu_stop(); schedule(); + exit_tasks_rcu_start(); } __set_current_state(TASK_RUNNING); --- linux-gcp-5.19.0.orig/kernel/power/energy_model.c +++ linux-gcp-5.19.0/kernel/power/energy_model.c @@ -87,10 +87,7 @@ static void em_debug_remove_pd(struct device *dev) { - struct dentry *debug_dir; - - debug_dir = debugfs_lookup(dev_name(dev), rootdir); - debugfs_remove_recursive(debug_dir); + debugfs_lookup_and_remove(dev_name(dev), rootdir); } static int __init em_debug_init(void) @@ -145,7 +142,7 @@ /* * The power returned by active_state() is expected to be - * positive and to fit into 16 bits. + * positive and be in range. */ if (!power || power > EM_MAX_POWER) { dev_err(dev, "EM: invalid power: %lu\n", @@ -170,7 +167,7 @@ goto free_ps_table; } } else { - power_res = em_scale_power(table[i].power); + power_res = table[i].power; cost = div64_u64(fmax * power_res, table[i].frequency); } @@ -201,9 +198,17 @@ { struct em_perf_domain *pd; struct device *cpu_dev; - int cpu, ret; + int cpu, ret, num_cpus; if (_is_cpu_device(dev)) { + num_cpus = cpumask_weight(cpus); + + /* Prevent max possible energy calculation to not overflow */ + if (num_cpus > EM_MAX_NUM_CPUS) { + dev_err(dev, "EM: too many CPUs, overflow possible\n"); + return -EINVAL; + } + pd = kzalloc(sizeof(*pd) + cpumask_size(), GFP_KERNEL); if (!pd) return -ENOMEM; @@ -314,13 +319,13 @@ * @cpus : Pointer to cpumask_t, which in case of a CPU device is * obligatory. It can be taken from i.e. 'policy->cpus'. For other * type of devices this should be set to NULL. - * @milliwatts : Flag indicating that the power values are in milliWatts or + * @microwatts : Flag indicating that the power values are in micro-Watts or * in some other scale. It must be set properly. * * Create Energy Model tables for a performance domain using the callbacks * defined in cb. * - * The @milliwatts is important to set with correct value. Some kernel + * The @microwatts is important to set with correct value. Some kernel * sub-systems might rely on this flag and check if all devices in the EM are * using the same scale. * @@ -331,7 +336,7 @@ */ int em_dev_register_perf_domain(struct device *dev, unsigned int nr_states, struct em_data_callback *cb, cpumask_t *cpus, - bool milliwatts) + bool microwatts) { unsigned long cap, prev_cap = 0; unsigned long flags = 0; @@ -381,8 +386,8 @@ } } - if (milliwatts) - flags |= EM_PERF_DOMAIN_MILLIWATTS; + if (microwatts) + flags |= EM_PERF_DOMAIN_MICROWATTS; else if (cb->get_cost) flags |= EM_PERF_DOMAIN_ARTIFICIAL; --- linux-gcp-5.19.0.orig/kernel/power/hibernate.c +++ linux-gcp-5.19.0/kernel/power/hibernate.c @@ -641,7 +641,7 @@ int error; if (hibernation_mode == HIBERNATION_SUSPEND) { - error = suspend_devices_and_enter(PM_SUSPEND_MEM); + error = suspend_devices_and_enter(mem_sleep_current); if (error) { hibernation_mode = hibernation_ops ? HIBERNATION_PLATFORM : --- linux-gcp-5.19.0.orig/kernel/power/snapshot.c +++ linux-gcp-5.19.0/kernel/power/snapshot.c @@ -1723,8 +1723,8 @@ * /sys/power/reserved_size, respectively). To make this happen, we compute the * total number of available page frames and allocate at least * - * ([page frames total] + PAGES_FOR_IO + [metadata pages]) / 2 - * + 2 * DIV_ROUND_UP(reserved_size, PAGE_SIZE) + * ([page frames total] - PAGES_FOR_IO - [metadata pages]) / 2 + * - 2 * DIV_ROUND_UP(reserved_size, PAGE_SIZE) * * of them, which corresponds to the maximum size of a hibernation image. * --- linux-gcp-5.19.0.orig/kernel/power/user.c +++ linux-gcp-5.19.0/kernel/power/user.c @@ -26,6 +26,7 @@ #include "power.h" +static bool need_wait; static struct snapshot_data { struct snapshot_handle handle; @@ -78,7 +79,7 @@ * Resuming. We may need to wait for the image device to * appear. */ - wait_for_device_probe(); + need_wait = true; data->swap = -1; data->mode = O_WRONLY; @@ -168,6 +169,11 @@ ssize_t res; loff_t pg_offp = *offp & ~PAGE_MASK; + if (need_wait) { + wait_for_device_probe(); + need_wait = false; + } + lock_system_sleep(); data = filp->private_data; @@ -244,6 +250,11 @@ loff_t size; sector_t offset; + if (need_wait) { + wait_for_device_probe(); + need_wait = false; + } + if (_IOC_TYPE(cmd) != SNAPSHOT_IOC_MAGIC) return -ENOTTY; if (_IOC_NR(cmd) > SNAPSHOT_IOC_MAXNR) --- linux-gcp-5.19.0.orig/kernel/profile.c +++ linux-gcp-5.19.0/kernel/profile.c @@ -109,6 +109,13 @@ /* only text is profiled */ prof_len = (_etext - _stext) >> prof_shift; + + if (!prof_len) { + pr_warn("profiling shift: %u too large\n", prof_shift); + prof_on = 0; + return -EINVAL; + } + buffer_bytes = prof_len*sizeof(atomic_t); if (!alloc_cpumask_var(&prof_cpu_mask, GFP_KERNEL)) --- linux-gcp-5.19.0.orig/kernel/rcu/rcutorture.c +++ linux-gcp-5.19.0/kernel/rcu/rcutorture.c @@ -2075,6 +2075,19 @@ if (boost_tasks[cpu] != NULL) return 0; /* Already created, nothing more to do. */ + // Testing RCU priority boosting requires rcutorture do + // some serious abuse. Counter this by running ksoftirqd + // at higher priority. + if (IS_BUILTIN(CONFIG_RCU_TORTURE_TEST)) { + struct sched_param sp; + struct task_struct *t; + + t = per_cpu(ksoftirqd, cpu); + WARN_ON_ONCE(!t); + sp.sched_priority = 2; + sched_setscheduler_nocheck(t, SCHED_FIFO, &sp); + } + /* Don't allow time recalculation while creating a new task. */ mutex_lock(&boost_mutex); rcu_torture_disable_rt_throttle(); @@ -3329,21 +3342,6 @@ rcutor_hp = firsterr; if (torture_init_error(firsterr)) goto unwind; - - // Testing RCU priority boosting requires rcutorture do - // some serious abuse. Counter this by running ksoftirqd - // at higher priority. - if (IS_BUILTIN(CONFIG_RCU_TORTURE_TEST)) { - for_each_online_cpu(cpu) { - struct sched_param sp; - struct task_struct *t; - - t = per_cpu(ksoftirqd, cpu); - WARN_ON_ONCE(!t); - sp.sched_priority = 2; - sched_setscheduler_nocheck(t, SCHED_FIFO, &sp); - } - } } shutdown_jiffies = jiffies + shutdown_secs * HZ; firsterr = torture_shutdown_init(shutdown_secs, rcu_torture_cleanup); --- linux-gcp-5.19.0.orig/kernel/rcu/tasks.h +++ linux-gcp-5.19.0/kernel/rcu/tasks.h @@ -327,8 +327,9 @@ static void synchronize_rcu_tasks_generic(struct rcu_tasks *rtp) { /* Complain if the scheduler has not started. */ - RCU_LOCKDEP_WARN(rcu_scheduler_active == RCU_SCHEDULER_INACTIVE, - "synchronize_rcu_tasks called too soon"); + if (WARN_ONCE(rcu_scheduler_active == RCU_SCHEDULER_INACTIVE, + "synchronize_%s() called too soon", rtp->name)) + return; /* Wait for the grace period. */ wait_rcu_gp(rtp->call_func); @@ -793,11 +794,21 @@ static void rcu_tasks_postscan(struct list_head *hop) { /* - * Wait for tasks that are in the process of exiting. This - * does only part of the job, ensuring that all tasks that were - * previously exiting reach the point where they have disabled - * preemption, allowing the later synchronize_rcu() to finish - * the job. + * Exiting tasks may escape the tasklist scan. Those are vulnerable + * until their final schedule() with TASK_DEAD state. To cope with + * this, divide the fragile exit path part in two intersecting + * read side critical sections: + * + * 1) An _SRCU_ read side starting before calling exit_notify(), + * which may remove the task from the tasklist, and ending after + * the final preempt_disable() call in do_exit(). + * + * 2) An _RCU_ read side starting with the final preempt_disable() + * call in do_exit() and ending with the final call to schedule() + * with TASK_DEAD state. + * + * This handles the part 1). And postgp will handle part 2) with a + * call to synchronize_rcu(). */ synchronize_srcu(&tasks_rcu_exit_srcu); } @@ -864,7 +875,10 @@ * * In addition, this synchronize_rcu() waits for exiting tasks * to complete their final preempt_disable() region of execution, - * cleaning up after the synchronize_srcu() above. + * cleaning up after synchronize_srcu(&tasks_rcu_exit_srcu), + * enforcing the whole region before tasklist removal until + * the final schedule() with TASK_DEAD state to be an RCU TASKS + * read side critical section. */ synchronize_rcu(); } @@ -954,27 +968,42 @@ EXPORT_SYMBOL_GPL(show_rcu_tasks_classic_gp_kthread); #endif // !defined(CONFIG_TINY_RCU) -/* Do the srcu_read_lock() for the above synchronize_srcu(). */ +/* + * Contribute to protect against tasklist scan blind spot while the + * task is exiting and may be removed from the tasklist. See + * corresponding synchronize_srcu() for further details. + */ void exit_tasks_rcu_start(void) __acquires(&tasks_rcu_exit_srcu) { - preempt_disable(); current->rcu_tasks_idx = __srcu_read_lock(&tasks_rcu_exit_srcu); - preempt_enable(); } -/* Do the srcu_read_unlock() for the above synchronize_srcu(). */ -void exit_tasks_rcu_finish(void) __releases(&tasks_rcu_exit_srcu) +/* + * Contribute to protect against tasklist scan blind spot while the + * task is exiting and may be removed from the tasklist. See + * corresponding synchronize_srcu() for further details. + */ +void exit_tasks_rcu_stop(void) __releases(&tasks_rcu_exit_srcu) { struct task_struct *t = current; - preempt_disable(); __srcu_read_unlock(&tasks_rcu_exit_srcu, t->rcu_tasks_idx); - preempt_enable(); - exit_tasks_rcu_finish_trace(t); +} + +/* + * Contribute to protect against tasklist scan blind spot while the + * task is exiting and may be removed from the tasklist. See + * corresponding synchronize_srcu() for further details. + */ +void exit_tasks_rcu_finish(void) +{ + exit_tasks_rcu_stop(); + exit_tasks_rcu_finish_trace(current); } #else /* #ifdef CONFIG_TASKS_RCU */ void exit_tasks_rcu_start(void) { } +void exit_tasks_rcu_stop(void) { } void exit_tasks_rcu_finish(void) { exit_tasks_rcu_finish_trace(current); } #endif /* #else #ifdef CONFIG_TASKS_RCU */ @@ -1002,9 +1031,6 @@ // Wait for one rude RCU-tasks grace period. static void rcu_tasks_rude_wait_gp(struct rcu_tasks *rtp) { - if (num_online_cpus() <= 1) - return; // Fastpath for only one CPU. - rtp->n_ipis += cpumask_weight(cpu_online_mask); schedule_on_each_cpu(rcu_tasks_be_rude); } --- linux-gcp-5.19.0.orig/kernel/rcu/tree.c +++ linux-gcp-5.19.0/kernel/rcu/tree.c @@ -2746,7 +2746,7 @@ struct rcu_node *rnp_old = NULL; /* Funnel through hierarchy to reduce memory contention. */ - rnp = __this_cpu_read(rcu_data.mynode); + rnp = raw_cpu_read(rcu_data.mynode); for (; rnp != NULL; rnp = rnp->parent) { ret = (READ_ONCE(rcu_state.gp_flags) & RCU_GP_FLAG_FQS) || !raw_spin_trylock(&rnp->fqslock); @@ -3508,15 +3508,16 @@ bnode = (struct kvfree_rcu_bulk_data *) __get_free_page(GFP_KERNEL | __GFP_NORETRY | __GFP_NOMEMALLOC | __GFP_NOWARN); - if (bnode) { - raw_spin_lock_irqsave(&krcp->lock, flags); - pushed = put_cached_bnode(krcp, bnode); - raw_spin_unlock_irqrestore(&krcp->lock, flags); + if (!bnode) + break; - if (!pushed) { - free_page((unsigned long) bnode); - break; - } + raw_spin_lock_irqsave(&krcp->lock, flags); + pushed = put_cached_bnode(krcp, bnode); + raw_spin_unlock_irqrestore(&krcp->lock, flags); + + if (!pushed) { + free_page((unsigned long) bnode); + break; } } --- linux-gcp-5.19.0.orig/kernel/rcu/tree_exp.h +++ linux-gcp-5.19.0/kernel/rcu/tree_exp.h @@ -665,7 +665,9 @@ mask = leaf_node_cpu_bit(rnp, cpu); if (!(READ_ONCE(rnp->expmask) & mask)) continue; + preempt_disable(); // For smp_processor_id() in dump_cpu_task(). dump_cpu_task(cpu); + preempt_enable(); } } jiffies_stall = 3 * rcu_exp_jiffies_till_stall_check() + 3; --- linux-gcp-5.19.0.orig/kernel/rcu/tree_plugin.h +++ linux-gcp-5.19.0/kernel/rcu/tree_plugin.h @@ -641,7 +641,8 @@ expboost = (t->rcu_blocked_node && READ_ONCE(t->rcu_blocked_node->exp_tasks)) || (rdp->grpmask & READ_ONCE(rnp->expmask)) || - IS_ENABLED(CONFIG_RCU_STRICT_GRACE_PERIOD) || + (IS_ENABLED(CONFIG_RCU_STRICT_GRACE_PERIOD) && + ((rdp->grpmask & READ_ONCE(rnp->qsmask)) || t->rcu_blocked_node)) || (IS_ENABLED(CONFIG_RCU_BOOST) && irqs_were_disabled && t->rcu_blocked_node); // Need to defer quiescent state until everything is enabled. --- linux-gcp-5.19.0.orig/kernel/relay.c +++ linux-gcp-5.19.0/kernel/relay.c @@ -151,13 +151,13 @@ { struct rchan_buf *buf; - if (chan->n_subbufs > KMALLOC_MAX_SIZE / sizeof(size_t *)) + if (chan->n_subbufs > KMALLOC_MAX_SIZE / sizeof(size_t)) return NULL; buf = kzalloc(sizeof(struct rchan_buf), GFP_KERNEL); if (!buf) return NULL; - buf->padding = kmalloc_array(chan->n_subbufs, sizeof(size_t *), + buf->padding = kmalloc_array(chan->n_subbufs, sizeof(size_t), GFP_KERNEL); if (!buf->padding) goto free_buf; --- linux-gcp-5.19.0.orig/kernel/resource.c +++ linux-gcp-5.19.0/kernel/resource.c @@ -1337,20 +1337,6 @@ continue; } - /* - * All memory regions added from memory-hotplug path have the - * flag IORESOURCE_SYSTEM_RAM. If the resource does not have - * this flag, we know that we are dealing with a resource coming - * from HMM/devm. HMM/devm use another mechanism to add/release - * a resource. This goes via devm_request_mem_region and - * devm_release_mem_region. - * HMM/devm take care to release their resources when they want, - * so if we are dealing with them, let us just back off here. - */ - if (!(res->flags & IORESOURCE_SYSRAM)) { - break; - } - if (!(res->flags & IORESOURCE_MEM)) break; --- linux-gcp-5.19.0.orig/kernel/sched/core.c +++ linux-gcp-5.19.0/kernel/sched/core.c @@ -91,7 +91,7 @@ #include "stats.h" #include "../workqueue_internal.h" -#include "../../fs/io-wq.h" +#include "../../io_uring/io-wq.h" #include "../smpboot.h" /* @@ -1404,7 +1404,7 @@ if (!(rq->uclamp_flags & UCLAMP_FLAG_IDLE)) return; - WRITE_ONCE(rq->uclamp[clamp_id].value, clamp_value); + uclamp_rq_set(rq, clamp_id, clamp_value); } static inline @@ -1555,8 +1555,8 @@ if (bucket->tasks == 1 || uc_se->value > bucket->value) bucket->value = uc_se->value; - if (uc_se->value > READ_ONCE(uc_rq->value)) - WRITE_ONCE(uc_rq->value, uc_se->value); + if (uc_se->value > uclamp_rq_get(rq, clamp_id)) + uclamp_rq_set(rq, clamp_id, uc_se->value); } /* @@ -1622,7 +1622,7 @@ if (likely(bucket->tasks)) return; - rq_clamp = READ_ONCE(uc_rq->value); + rq_clamp = uclamp_rq_get(rq, clamp_id); /* * Defensive programming: this should never happen. If it happens, * e.g. due to future modification, warn and fixup the expected value. @@ -1630,7 +1630,7 @@ SCHED_WARN_ON(bucket->value > rq_clamp); if (bucket->value >= rq_clamp) { bkt_clamp = uclamp_rq_max_value(rq, clamp_id, uc_se->value); - WRITE_ONCE(uc_rq->value, bkt_clamp); + uclamp_rq_set(rq, clamp_id, bkt_clamp); } } @@ -2599,14 +2599,43 @@ int dup_user_cpus_ptr(struct task_struct *dst, struct task_struct *src, int node) { - if (!src->user_cpus_ptr) + cpumask_t *user_mask; + unsigned long flags; + + /* + * Always clear dst->user_cpus_ptr first as their user_cpus_ptr's + * may differ by now due to racing. + */ + dst->user_cpus_ptr = NULL; + + /* + * This check is racy and losing the race is a valid situation. + * It is not worth the extra overhead of taking the pi_lock on + * every fork/clone. + */ + if (data_race(!src->user_cpus_ptr)) return 0; - dst->user_cpus_ptr = kmalloc_node(cpumask_size(), GFP_KERNEL, node); - if (!dst->user_cpus_ptr) + user_mask = kmalloc_node(cpumask_size(), GFP_KERNEL, node); + if (!user_mask) return -ENOMEM; - cpumask_copy(dst->user_cpus_ptr, src->user_cpus_ptr); + /* + * Use pi_lock to protect content of user_cpus_ptr + * + * Though unlikely, user_cpus_ptr can be reset to NULL by a concurrent + * do_set_cpus_allowed(). + */ + raw_spin_lock_irqsave(&src->pi_lock, flags); + if (src->user_cpus_ptr) { + swap(dst->user_cpus_ptr, user_mask); + cpumask_copy(dst->user_cpus_ptr, src->user_cpus_ptr); + } + raw_spin_unlock_irqrestore(&src->pi_lock, flags); + + if (unlikely(user_mask)) + kfree(user_mask); + return 0; } @@ -3808,7 +3837,7 @@ return per_cpu(sd_llc_id, this_cpu) == per_cpu(sd_llc_id, that_cpu); } -static inline bool ttwu_queue_cond(int cpu, int wake_flags) +static inline bool ttwu_queue_cond(struct task_struct *p, int cpu) { /* * Do not complicate things with the async wake_list while the CPU is @@ -3817,6 +3846,10 @@ if (!cpu_active(cpu)) return false; + /* Ensure the task will still be allowed to run on the CPU. */ + if (!cpumask_test_cpu(cpu, p->cpus_ptr)) + return false; + /* * If the CPU does not share cache, then queue the task on the * remote rqs wakelist to avoid accessing remote data. @@ -3824,13 +3857,21 @@ if (!cpus_share_cache(smp_processor_id(), cpu)) return true; + if (cpu == smp_processor_id()) + return false; + /* - * If the task is descheduling and the only running task on the - * CPU then use the wakelist to offload the task activation to - * the soon-to-be-idle CPU as the current CPU is likely busy. - * nr_running is checked to avoid unnecessary task stacking. + * If the wakee cpu is idle, or the task is descheduling and the + * only running task on the CPU, then use the wakelist to offload + * the task activation to the idle (or soon-to-be-idle) CPU as + * the current CPU is likely busy. nr_running is checked to + * avoid unnecessary task stacking. + * + * Note that we can only get here with (wakee) p->on_rq=0, + * p->on_cpu can be whatever, we've done the dequeue, so + * the wakee has been accounted out of ->nr_running. */ - if ((wake_flags & WF_ON_CPU) && cpu_rq(cpu)->nr_running <= 1) + if (!cpu_rq(cpu)->nr_running) return true; return false; @@ -3838,10 +3879,7 @@ static bool ttwu_queue_wakelist(struct task_struct *p, int cpu, int wake_flags) { - if (sched_feat(TTWU_QUEUE) && ttwu_queue_cond(cpu, wake_flags)) { - if (WARN_ON_ONCE(cpu == smp_processor_id())) - return false; - + if (sched_feat(TTWU_QUEUE) && ttwu_queue_cond(p, cpu)) { sched_clock_cpu(cpu); /* Sync clocks across CPUs */ __ttwu_queue_wakelist(p, cpu, wake_flags); return true; @@ -4163,7 +4201,7 @@ * scheduling. */ if (smp_load_acquire(&p->on_cpu) && - ttwu_queue_wakelist(p, task_cpu(p), wake_flags | WF_ON_CPU)) + ttwu_queue_wakelist(p, task_cpu(p), wake_flags)) goto unlock; /* @@ -4753,7 +4791,8 @@ * Claim the task as running, we do this before switching to it * such that any running task will have this set. * - * See the ttwu() WF_ON_CPU case and its ordering comment. + * See the smp_load_acquire(&p->on_cpu) case in ttwu() and + * its ordering comment. */ WRITE_ONCE(next->on_cpu, 1); #endif @@ -5406,7 +5445,9 @@ unsigned long thermal_pressure; u64 resched_latency; - arch_scale_freq_tick(); + if (housekeeping_cpu(cpu, HK_TYPE_TICK)) + arch_scale_freq_tick(); + sched_clock_tick(); rq_lock(rq, &rf); @@ -5684,8 +5725,7 @@ pr_err("Preemption disabled at:"); print_ip_sym(KERN_ERR, preempt_disable_ip); } - if (panic_on_warn) - panic("scheduling while atomic\n"); + check_panic_on_warn("scheduling while atomic"); dump_stack(); add_taint(TAINT_WARN, LOCKDEP_STILL_OK); @@ -6500,8 +6540,12 @@ io_wq_worker_sleeping(tsk); } - if (tsk_is_pi_blocked(tsk)) - return; + /* + * spinlock and rwlock must not flush block requests. This will + * deadlock if the callback attempts to acquire a lock which is + * already acquired. + */ + SCHED_WARN_ON(current->__state & TASK_RTLOCK_WAIT); /* * If we are going to sleep and we have plugged IO queued, @@ -6998,19 +7042,32 @@ EXPORT_SYMBOL(set_user_nice); /* - * can_nice - check if a task can reduce its nice value + * is_nice_reduction - check if nice value is an actual reduction + * + * Similar to can_nice() but does not perform a capability check. + * * @p: task * @nice: nice value */ -int can_nice(const struct task_struct *p, const int nice) +static bool is_nice_reduction(const struct task_struct *p, const int nice) { /* Convert nice value [19,-20] to rlimit style value [1,40]: */ int nice_rlim = nice_to_rlimit(nice); - return (nice_rlim <= task_rlimit(p, RLIMIT_NICE) || - capable(CAP_SYS_NICE)); + return (nice_rlim <= task_rlimit(p, RLIMIT_NICE)); } +/* + * can_nice - check if a task can reduce its nice value + * @p: task + * @nice: nice value + */ +int can_nice(const struct task_struct *p, const int nice) +{ + return is_nice_reduction(p, nice) || capable(CAP_SYS_NICE); +} +EXPORT_SYMBOL(can_nice); + #ifdef __ARCH_WANT_SYS_NICE /* @@ -7287,6 +7344,69 @@ return match; } +/* + * Allow unprivileged RT tasks to decrease priority. + * Only issue a capable test if needed and only once to avoid an audit + * event on permitted non-privileged operations: + */ +static int user_check_sched_setscheduler(struct task_struct *p, + const struct sched_attr *attr, + int policy, int reset_on_fork) +{ + if (fair_policy(policy)) { + if (attr->sched_nice < task_nice(p) && + !is_nice_reduction(p, attr->sched_nice)) + goto req_priv; + } + + if (rt_policy(policy)) { + unsigned long rlim_rtprio = task_rlimit(p, RLIMIT_RTPRIO); + + /* Can't set/change the rt policy: */ + if (policy != p->policy && !rlim_rtprio) + goto req_priv; + + /* Can't increase priority: */ + if (attr->sched_priority > p->rt_priority && + attr->sched_priority > rlim_rtprio) + goto req_priv; + } + + /* + * Can't set/change SCHED_DEADLINE policy at all for now + * (safest behavior); in the future we would like to allow + * unprivileged DL tasks to increase their relative deadline + * or reduce their runtime (both ways reducing utilization) + */ + if (dl_policy(policy)) + goto req_priv; + + /* + * Treat SCHED_IDLE as nice 20. Only allow a switch to + * SCHED_NORMAL if the RLIMIT_NICE would normally permit it. + */ + if (task_has_idle_policy(p) && !idle_policy(policy)) { + if (!is_nice_reduction(p, task_nice(p))) + goto req_priv; + } + + /* Can't change other user's priorities: */ + if (!check_same_owner(p)) + goto req_priv; + + /* Normal users shall not reset the sched_reset_on_fork flag: */ + if (p->sched_reset_on_fork && !reset_on_fork) + goto req_priv; + + return 0; + +req_priv: + if (!capable(CAP_SYS_NICE)) + return -EPERM; + + return 0; +} + static int __sched_setscheduler(struct task_struct *p, const struct sched_attr *attr, bool user, bool pi) @@ -7328,58 +7448,11 @@ (rt_policy(policy) != (attr->sched_priority != 0))) return -EINVAL; - /* - * Allow unprivileged RT tasks to decrease priority: - */ - if (user && !capable(CAP_SYS_NICE)) { - if (fair_policy(policy)) { - if (attr->sched_nice < task_nice(p) && - !can_nice(p, attr->sched_nice)) - return -EPERM; - } - - if (rt_policy(policy)) { - unsigned long rlim_rtprio = - task_rlimit(p, RLIMIT_RTPRIO); - - /* Can't set/change the rt policy: */ - if (policy != p->policy && !rlim_rtprio) - return -EPERM; - - /* Can't increase priority: */ - if (attr->sched_priority > p->rt_priority && - attr->sched_priority > rlim_rtprio) - return -EPERM; - } - - /* - * Can't set/change SCHED_DEADLINE policy at all for now - * (safest behavior); in the future we would like to allow - * unprivileged DL tasks to increase their relative deadline - * or reduce their runtime (both ways reducing utilization) - */ - if (dl_policy(policy)) - return -EPERM; - - /* - * Treat SCHED_IDLE as nice 20. Only allow a switch to - * SCHED_NORMAL if the RLIMIT_NICE would normally permit it. - */ - if (task_has_idle_policy(p) && !idle_policy(policy)) { - if (!can_nice(p, task_nice(p))) - return -EPERM; - } - - /* Can't change other user's priorities: */ - if (!check_same_owner(p)) - return -EPERM; - - /* Normal users shall not reset the sched_reset_on_fork flag: */ - if (p->sched_reset_on_fork && !reset_on_fork) - return -EPERM; - } - if (user) { + retval = user_check_sched_setscheduler(p, attr, policy, reset_on_fork); + if (retval) + return retval; + if (attr->sched_flags & SCHED_FLAG_SUGOV) return -EINVAL; @@ -8947,7 +9020,7 @@ } int task_can_attach(struct task_struct *p, - const struct cpumask *cs_cpus_allowed) + const struct cpumask *cs_effective_cpus) { int ret = 0; @@ -8966,9 +9039,11 @@ } if (dl_task(p) && !cpumask_intersects(task_rq(p)->rd->span, - cs_cpus_allowed)) { - int cpu = cpumask_any_and(cpu_active_mask, cs_cpus_allowed); + cs_effective_cpus)) { + int cpu = cpumask_any_and(cpu_active_mask, cs_effective_cpus); + if (unlikely(cpu >= nr_cpu_ids)) + return -EINVAL; ret = dl_cpu_busy(cpu, p); } --- linux-gcp-5.19.0.orig/kernel/sched/cpudeadline.c +++ linux-gcp-5.19.0/kernel/sched/cpudeadline.c @@ -123,7 +123,7 @@ unsigned long cap, max_cap = 0; int cpu, max_cpu = -1; - if (!static_branch_unlikely(&sched_asym_cpucapacity)) + if (!sched_asym_cpucap_active()) return 1; /* Ensure the capacity of the CPUs fits the task. */ --- linux-gcp-5.19.0.orig/kernel/sched/deadline.c +++ linux-gcp-5.19.0/kernel/sched/deadline.c @@ -142,7 +142,7 @@ */ static inline unsigned long dl_bw_capacity(int i) { - if (!static_branch_unlikely(&sched_asym_cpucapacity) && + if (!sched_asym_cpucap_active() && capacity_orig_of(i) == SCHED_CAPACITY_SCALE) { return dl_bw_cpus(i) << SCHED_CAPACITY_SHIFT; } else { @@ -1847,7 +1847,7 @@ * Take the capacity of the CPU into account to * ensure it fits the requirement of the task. */ - if (static_branch_unlikely(&sched_asym_cpucapacity)) + if (sched_asym_cpucap_active()) select_rq |= !dl_task_fits_capacity(p, cpu); if (select_rq) { --- linux-gcp-5.19.0.orig/kernel/sched/debug.c +++ linux-gcp-5.19.0/kernel/sched/debug.c @@ -416,7 +416,7 @@ char buf[32]; snprintf(buf, sizeof(buf), "cpu%d", cpu); - debugfs_remove(debugfs_lookup(buf, sd_dentry)); + debugfs_lookup_and_remove(buf, sd_dentry); d_cpu = debugfs_create_dir(buf, sd_dentry); i = 0; --- linux-gcp-5.19.0.orig/kernel/sched/fair.c +++ linux-gcp-5.19.0/kernel/sched/fair.c @@ -2885,6 +2885,7 @@ p->node_stamp = 0; p->numa_scan_seq = mm ? mm->numa_scan_seq : 0; p->numa_scan_period = sysctl_numa_balancing_scan_delay; + p->numa_migrate_retry = 0; /* Protect against double add, see task_tick_numa and task_numa_work */ p->numa_work.next = &p->numa_work; p->numa_faults = NULL; @@ -4022,14 +4023,16 @@ } #ifdef CONFIG_UCLAMP_TASK -static inline unsigned long uclamp_task_util(struct task_struct *p) +static inline unsigned long uclamp_task_util(struct task_struct *p, + unsigned long uclamp_min, + unsigned long uclamp_max) { - return clamp(task_util_est(p), - uclamp_eff_value(p, UCLAMP_MIN), - uclamp_eff_value(p, UCLAMP_MAX)); + return clamp(task_util_est(p), uclamp_min, uclamp_max); } #else -static inline unsigned long uclamp_task_util(struct task_struct *p) +static inline unsigned long uclamp_task_util(struct task_struct *p, + unsigned long uclamp_min, + unsigned long uclamp_max) { return task_util_est(p); } @@ -4168,15 +4171,140 @@ trace_sched_util_est_se_tp(&p->se); } -static inline int task_fits_capacity(struct task_struct *p, - unsigned long capacity) +static inline int util_fits_cpu(unsigned long util, + unsigned long uclamp_min, + unsigned long uclamp_max, + int cpu) { - return fits_capacity(uclamp_task_util(p), capacity); + unsigned long capacity_orig, capacity_orig_thermal; + unsigned long capacity = capacity_of(cpu); + bool fits, uclamp_max_fits; + + /* + * Check if the real util fits without any uclamp boost/cap applied. + */ + fits = fits_capacity(util, capacity); + + if (!uclamp_is_used()) + return fits; + + /* + * We must use capacity_orig_of() for comparing against uclamp_min and + * uclamp_max. We only care about capacity pressure (by using + * capacity_of()) for comparing against the real util. + * + * If a task is boosted to 1024 for example, we don't want a tiny + * pressure to skew the check whether it fits a CPU or not. + * + * Similarly if a task is capped to capacity_orig_of(little_cpu), it + * should fit a little cpu even if there's some pressure. + * + * Only exception is for thermal pressure since it has a direct impact + * on available OPP of the system. + * + * We honour it for uclamp_min only as a drop in performance level + * could result in not getting the requested minimum performance level. + * + * For uclamp_max, we can tolerate a drop in performance level as the + * goal is to cap the task. So it's okay if it's getting less. + * + * In case of capacity inversion, which is not handled yet, we should + * honour the inverted capacity for both uclamp_min and uclamp_max all + * the time. + */ + capacity_orig = capacity_orig_of(cpu); + capacity_orig_thermal = capacity_orig - arch_scale_thermal_pressure(cpu); + + /* + * We want to force a task to fit a cpu as implied by uclamp_max. + * But we do have some corner cases to cater for.. + * + * + * C=z + * | ___ + * | C=y | | + * |_ _ _ _ _ _ _ _ _ ___ _ _ _ | _ | _ _ _ _ _ uclamp_max + * | C=x | | | | + * | ___ | | | | + * | | | | | | | (util somewhere in this region) + * | | | | | | | + * | | | | | | | + * +---------------------------------------- + * cpu0 cpu1 cpu2 + * + * In the above example if a task is capped to a specific performance + * point, y, then when: + * + * * util = 80% of x then it does not fit on cpu0 and should migrate + * to cpu1 + * * util = 80% of y then it is forced to fit on cpu1 to honour + * uclamp_max request. + * + * which is what we're enforcing here. A task always fits if + * uclamp_max <= capacity_orig. But when uclamp_max > capacity_orig, + * the normal upmigration rules should withhold still. + * + * Only exception is when we are on max capacity, then we need to be + * careful not to block overutilized state. This is so because: + * + * 1. There's no concept of capping at max_capacity! We can't go + * beyond this performance level anyway. + * 2. The system is being saturated when we're operating near + * max capacity, it doesn't make sense to block overutilized. + */ + uclamp_max_fits = (capacity_orig == SCHED_CAPACITY_SCALE) && (uclamp_max == SCHED_CAPACITY_SCALE); + uclamp_max_fits = !uclamp_max_fits && (uclamp_max <= capacity_orig); + fits = fits || uclamp_max_fits; + + /* + * + * C=z + * | ___ (region a, capped, util >= uclamp_max) + * | C=y | | + * |_ _ _ _ _ _ _ _ _ ___ _ _ _ | _ | _ _ _ _ _ uclamp_max + * | C=x | | | | + * | ___ | | | | (region b, uclamp_min <= util <= uclamp_max) + * |_ _ _|_ _|_ _ _ _| _ | _ _ _| _ | _ _ _ _ _ uclamp_min + * | | | | | | | + * | | | | | | | (region c, boosted, util < uclamp_min) + * +---------------------------------------- + * cpu0 cpu1 cpu2 + * + * a) If util > uclamp_max, then we're capped, we don't care about + * actual fitness value here. We only care if uclamp_max fits + * capacity without taking margin/pressure into account. + * See comment above. + * + * b) If uclamp_min <= util <= uclamp_max, then the normal + * fits_capacity() rules apply. Except we need to ensure that we + * enforce we remain within uclamp_max, see comment above. + * + * c) If util < uclamp_min, then we are boosted. Same as (b) but we + * need to take into account the boosted value fits the CPU without + * taking margin/pressure into account. + * + * Cases (a) and (b) are handled in the 'fits' variable already. We + * just need to consider an extra check for case (c) after ensuring we + * handle the case uclamp_min > uclamp_max. + */ + uclamp_min = min(uclamp_min, uclamp_max); + if (util < uclamp_min && capacity_orig != SCHED_CAPACITY_SCALE) + fits = fits && (uclamp_min <= capacity_orig_thermal); + + return fits; +} + +static inline int task_fits_cpu(struct task_struct *p, int cpu) +{ + unsigned long uclamp_min = uclamp_eff_value(p, UCLAMP_MIN); + unsigned long uclamp_max = uclamp_eff_value(p, UCLAMP_MAX); + unsigned long util = task_util_est(p); + return util_fits_cpu(util, uclamp_min, uclamp_max, cpu); } static inline void update_misfit_status(struct task_struct *p, struct rq *rq) { - if (!static_branch_unlikely(&sched_asym_cpucapacity)) + if (!sched_asym_cpucap_active()) return; if (!p || p->nr_cpus_allowed == 1) { @@ -4184,7 +4312,7 @@ return; } - if (task_fits_capacity(p, capacity_of(cpu_of(rq)))) { + if (task_fits_cpu(p, cpu_of(rq))) { rq->misfit_task_load = 0; return; } @@ -5610,7 +5738,10 @@ #ifdef CONFIG_SMP static inline bool cpu_overutilized(int cpu) { - return !fits_capacity(cpu_util_cfs(cpu), capacity_of(cpu)); + unsigned long rq_util_min = uclamp_rq_get(cpu_rq(cpu), UCLAMP_MIN); + unsigned long rq_util_max = uclamp_rq_get(cpu_rq(cpu), UCLAMP_MAX); + + return !util_fits_cpu(cpu_util_cfs(cpu), rq_util_min, rq_util_max, cpu); } static inline void update_overutilized_status(struct rq *rq) @@ -6336,6 +6467,7 @@ { struct cpumask *cpus = this_cpu_cpumask_var_ptr(select_idle_mask); int i, cpu, idle_cpu = -1, nr = INT_MAX; + struct sched_domain_shared *sd_share; struct rq *this_rq = this_rq(); int this = smp_processor_id(); struct sched_domain *this_sd; @@ -6375,6 +6507,17 @@ time = cpu_clock(this); } + if (sched_feat(SIS_UTIL)) { + sd_share = rcu_dereference(per_cpu(sd_llc_shared, target)); + if (sd_share) { + /* because !--nr is the condition to stop scan */ + nr = READ_ONCE(sd_share->nr_idle_scan) + 1; + /* overloaded LLC is unlikely to have idle cpu/core */ + if (nr == 1) + return -1; + } + } + for_each_cpu_wrap(cpu, cpus, target + 1) { if (has_idle_core) { i = select_idle_core(p, cpu, cpus, &idle_cpu); @@ -6416,21 +6559,23 @@ static int select_idle_capacity(struct task_struct *p, struct sched_domain *sd, int target) { - unsigned long task_util, best_cap = 0; + unsigned long task_util, util_min, util_max, best_cap = 0; int cpu, best_cpu = -1; struct cpumask *cpus; cpus = this_cpu_cpumask_var_ptr(select_idle_mask); cpumask_and(cpus, sched_domain_span(sd), p->cpus_ptr); - task_util = uclamp_task_util(p); + task_util = task_util_est(p); + util_min = uclamp_eff_value(p, UCLAMP_MIN); + util_max = uclamp_eff_value(p, UCLAMP_MAX); for_each_cpu_wrap(cpu, cpus, target) { unsigned long cpu_cap = capacity_of(cpu); if (!available_idle_cpu(cpu) && !sched_idle_cpu(cpu)) continue; - if (fits_capacity(task_util, cpu_cap)) + if (util_fits_cpu(task_util, util_min, util_max, cpu)) return cpu; if (cpu_cap > best_cap) { @@ -6442,10 +6587,13 @@ return best_cpu; } -static inline bool asym_fits_capacity(unsigned long task_util, int cpu) +static inline bool asym_fits_cpu(unsigned long util, + unsigned long util_min, + unsigned long util_max, + int cpu) { - if (static_branch_unlikely(&sched_asym_cpucapacity)) - return fits_capacity(task_util, capacity_of(cpu)); + if (sched_asym_cpucap_active()) + return util_fits_cpu(util, util_min, util_max, cpu); return true; } @@ -6457,16 +6605,18 @@ { bool has_idle_core = false; struct sched_domain *sd; - unsigned long task_util; + unsigned long task_util, util_min, util_max; int i, recent_used_cpu; /* * On asymmetric system, update task utilization because we will check * that the task fits with cpu's capacity. */ - if (static_branch_unlikely(&sched_asym_cpucapacity)) { + if (sched_asym_cpucap_active()) { sync_entity_load_avg(&p->se); - task_util = uclamp_task_util(p); + task_util = task_util_est(p); + util_min = uclamp_eff_value(p, UCLAMP_MIN); + util_max = uclamp_eff_value(p, UCLAMP_MAX); } /* @@ -6475,7 +6625,7 @@ lockdep_assert_irqs_disabled(); if ((available_idle_cpu(target) || sched_idle_cpu(target)) && - asym_fits_capacity(task_util, target)) + asym_fits_cpu(task_util, util_min, util_max, target)) return target; /* @@ -6483,7 +6633,7 @@ */ if (prev != target && cpus_share_cache(prev, target) && (available_idle_cpu(prev) || sched_idle_cpu(prev)) && - asym_fits_capacity(task_util, prev)) + asym_fits_cpu(task_util, util_min, util_max, prev)) return prev; /* @@ -6498,7 +6648,7 @@ in_task() && prev == smp_processor_id() && this_rq()->nr_running <= 1 && - asym_fits_capacity(task_util, prev)) { + asym_fits_cpu(task_util, util_min, util_max, prev)) { return prev; } @@ -6510,7 +6660,7 @@ cpus_share_cache(recent_used_cpu, target) && (available_idle_cpu(recent_used_cpu) || sched_idle_cpu(recent_used_cpu)) && cpumask_test_cpu(p->recent_used_cpu, p->cpus_ptr) && - asym_fits_capacity(task_util, recent_used_cpu)) { + asym_fits_cpu(task_util, util_min, util_max, recent_used_cpu)) { return recent_used_cpu; } @@ -6518,7 +6668,7 @@ * For asymmetric CPU capacity systems, our domain of interest is * sd_asym_cpucapacity rather than sd_llc. */ - if (static_branch_unlikely(&sched_asym_cpucapacity)) { + if (sched_asym_cpucap_active()) { sd = rcu_dereference(per_cpu(sd_asym_cpucapacity, target)); /* * On an asymmetric CPU capacity system where an exclusive @@ -6754,6 +6904,8 @@ static int find_energy_efficient_cpu(struct task_struct *p, int prev_cpu) { unsigned long prev_delta = ULONG_MAX, best_delta = ULONG_MAX; + unsigned long p_util_min = uclamp_is_used() ? uclamp_eff_value(p, UCLAMP_MIN) : 0; + unsigned long p_util_max = uclamp_is_used() ? uclamp_eff_value(p, UCLAMP_MAX) : 1024; struct root_domain *rd = cpu_rq(smp_processor_id())->rd; int cpu, best_energy_cpu = prev_cpu, target = -1; unsigned long cpu_cap, util, base_energy = 0; @@ -6778,11 +6930,13 @@ target = prev_cpu; sync_entity_load_avg(&p->se); - if (!task_util_est(p)) + if (!uclamp_task_util(p, p_util_min, p_util_max)) goto unlock; for (; pd; pd = pd->next) { unsigned long cur_delta, spare_cap, max_spare_cap = 0; + unsigned long rq_util_min, rq_util_max; + unsigned long util_min, util_max; bool compute_prev_delta = false; unsigned long base_energy_pd; int max_spare_cap_cpu = -1; @@ -6803,8 +6957,26 @@ * much capacity we can get out of the CPU; this is * aligned with sched_cpu_util(). */ - util = uclamp_rq_util_with(cpu_rq(cpu), util, p); - if (!fits_capacity(util, cpu_cap)) + if (uclamp_is_used()) { + if (uclamp_rq_is_idle(cpu_rq(cpu))) { + util_min = p_util_min; + util_max = p_util_max; + } else { + /* + * Open code uclamp_rq_util_with() except for + * the clamp() part. Ie: apply max aggregation + * only. util_fits_cpu() logic requires to + * operate on non clamped util but must use the + * max-aggregated uclamp_{min, max}. + */ + rq_util_min = uclamp_rq_get(cpu_rq(cpu), UCLAMP_MIN); + rq_util_max = uclamp_rq_get(cpu_rq(cpu), UCLAMP_MAX); + + util_min = max(rq_util_min, p_util_min); + util_max = max(rq_util_max, p_util_max); + } + } + if (!util_fits_cpu(util, util_min, util_max, cpu)) continue; if (cpu == prev_cpu) { @@ -7585,8 +7757,8 @@ */ group_fully_busy, /* - * SD_ASYM_CPUCAPACITY only: One task doesn't fit with CPU's capacity - * and must be migrated to a more powerful CPU. + * One task doesn't fit with CPU's capacity and must be migrated to a + * more powerful CPU. */ group_misfit_task, /* @@ -7982,7 +8154,7 @@ case migrate_misfit: /* This is not a misfit task */ - if (task_fits_capacity(p, capacity_of(env->src_cpu))) + if (task_fits_cpu(p, env->src_cpu)) goto next; env->imbalance = 0; @@ -8669,6 +8841,19 @@ return sched_asym_prefer(env->dst_cpu, group->asym_prefer_cpu); } +static inline bool +sched_reduced_capacity(struct rq *rq, struct sched_domain *sd) +{ + /* + * When there is more than 1 task, the group_overloaded case already + * takes care of cpu with reduced capacity + */ + if (rq->cfs.h_nr_running != 1) + return false; + + return check_cpu_capacity(rq, sd); +} + /** * update_sg_lb_stats - Update sched_group's statistics for load balancing. * @env: The load balancing environment. @@ -8691,8 +8876,9 @@ for_each_cpu_and(i, sched_group_span(group), env->cpus) { struct rq *rq = cpu_rq(i); + unsigned long load = cpu_load(rq); - sgs->group_load += cpu_load(rq); + sgs->group_load += load; sgs->group_util += cpu_util_cfs(i); sgs->group_runnable += cpu_runnable(rq); sgs->sum_h_nr_running += rq->cfs.h_nr_running; @@ -8722,11 +8908,17 @@ if (local_group) continue; - /* Check for a misfit task on the cpu */ - if (env->sd->flags & SD_ASYM_CPUCAPACITY && - sgs->group_misfit_task_load < rq->misfit_task_load) { - sgs->group_misfit_task_load = rq->misfit_task_load; - *sg_status |= SG_OVERLOAD; + if (env->sd->flags & SD_ASYM_CPUCAPACITY) { + /* Check for a misfit task on the cpu */ + if (sgs->group_misfit_task_load < rq->misfit_task_load) { + sgs->group_misfit_task_load = rq->misfit_task_load; + *sg_status |= SG_OVERLOAD; + } + } else if ((env->idle != CPU_NOT_IDLE) && + sched_reduced_capacity(rq, env->sd)) { + /* Check for a task running on a CPU with reduced capacity */ + if (sgs->group_misfit_task_load < load) + sgs->group_misfit_task_load = load; } } @@ -8779,7 +8971,8 @@ * CPUs in the group should either be possible to resolve * internally or be covered by avg_load imbalance (eventually). */ - if (sgs->group_type == group_misfit_task && + if ((env->sd->flags & SD_ASYM_CPUCAPACITY) && + (sgs->group_type == group_misfit_task) && (!capacity_greater(capacity_of(env->dst_cpu), sg->sgc->max_capacity) || sds->local_stat.group_type != group_has_spare)) return false; @@ -8963,6 +9156,10 @@ memset(sgs, 0, sizeof(*sgs)); + /* Assume that task can't fit any CPU of the group */ + if (sd->flags & SD_ASYM_CPUCAPACITY) + sgs->group_misfit_task_load = 1; + for_each_cpu(i, sched_group_span(group)) { struct rq *rq = cpu_rq(i); unsigned int local; @@ -8982,12 +9179,12 @@ if (!nr_running && idle_cpu_without(i, p)) sgs->idle_cpus++; - } + /* Check if task fits in the CPU */ + if (sd->flags & SD_ASYM_CPUCAPACITY && + sgs->group_misfit_task_load && + task_fits_cpu(p, i)) + sgs->group_misfit_task_load = 0; - /* Check if task fits in the group */ - if (sd->flags & SD_ASYM_CPUCAPACITY && - !task_fits_capacity(p, group->sgc->max_capacity)) { - sgs->group_misfit_task_load = 1; } sgs->group_capacity = group->sgc->capacity; @@ -9222,6 +9419,77 @@ return idlest; } +static void update_idle_cpu_scan(struct lb_env *env, + unsigned long sum_util) +{ + struct sched_domain_shared *sd_share; + int llc_weight, pct; + u64 x, y, tmp; + /* + * Update the number of CPUs to scan in LLC domain, which could + * be used as a hint in select_idle_cpu(). The update of sd_share + * could be expensive because it is within a shared cache line. + * So the write of this hint only occurs during periodic load + * balancing, rather than CPU_NEWLY_IDLE, because the latter + * can fire way more frequently than the former. + */ + if (!sched_feat(SIS_UTIL) || env->idle == CPU_NEWLY_IDLE) + return; + + llc_weight = per_cpu(sd_llc_size, env->dst_cpu); + if (env->sd->span_weight != llc_weight) + return; + + sd_share = rcu_dereference(per_cpu(sd_llc_shared, env->dst_cpu)); + if (!sd_share) + return; + + /* + * The number of CPUs to search drops as sum_util increases, when + * sum_util hits 85% or above, the scan stops. + * The reason to choose 85% as the threshold is because this is the + * imbalance_pct(117) when a LLC sched group is overloaded. + * + * let y = SCHED_CAPACITY_SCALE - p * x^2 [1] + * and y'= y / SCHED_CAPACITY_SCALE + * + * x is the ratio of sum_util compared to the CPU capacity: + * x = sum_util / (llc_weight * SCHED_CAPACITY_SCALE) + * y' is the ratio of CPUs to be scanned in the LLC domain, + * and the number of CPUs to scan is calculated by: + * + * nr_scan = llc_weight * y' [2] + * + * When x hits the threshold of overloaded, AKA, when + * x = 100 / pct, y drops to 0. According to [1], + * p should be SCHED_CAPACITY_SCALE * pct^2 / 10000 + * + * Scale x by SCHED_CAPACITY_SCALE: + * x' = sum_util / llc_weight; [3] + * + * and finally [1] becomes: + * y = SCHED_CAPACITY_SCALE - + * x'^2 * pct^2 / (10000 * SCHED_CAPACITY_SCALE) [4] + * + */ + /* equation [3] */ + x = sum_util; + do_div(x, llc_weight); + + /* equation [4] */ + pct = env->sd->imbalance_pct; + tmp = x * x * pct * pct; + do_div(tmp, 10000 * SCHED_CAPACITY_SCALE); + tmp = min_t(long, tmp, SCHED_CAPACITY_SCALE); + y = SCHED_CAPACITY_SCALE - tmp; + + /* equation [2] */ + y *= llc_weight; + do_div(y, SCHED_CAPACITY_SCALE); + if ((int)y != sd_share->nr_idle_scan) + WRITE_ONCE(sd_share->nr_idle_scan, (int)y); +} + /** * update_sd_lb_stats - Update sched_domain's statistics for load balancing. * @env: The load balancing environment. @@ -9234,6 +9502,7 @@ struct sched_group *sg = env->sd->groups; struct sg_lb_stats *local = &sds->local_stat; struct sg_lb_stats tmp_sgs; + unsigned long sum_util = 0; int sg_status = 0; do { @@ -9266,6 +9535,7 @@ sds->total_load += sgs->group_load; sds->total_capacity += sgs->group_capacity; + sum_util += sgs->group_util; sg = sg->next; } while (sg != env->sd->groups); @@ -9291,6 +9561,8 @@ WRITE_ONCE(rd->overutilized, SG_OVERUTILIZED); trace_sched_overutilized_tp(rd, SG_OVERUTILIZED); } + + update_idle_cpu_scan(env, sum_util); } #define NUMA_IMBALANCE_MIN 2 @@ -9325,9 +9597,18 @@ busiest = &sds->busiest_stat; if (busiest->group_type == group_misfit_task) { - /* Set imbalance to allow misfit tasks to be balanced. */ - env->migration_type = migrate_misfit; - env->imbalance = 1; + if (env->sd->flags & SD_ASYM_CPUCAPACITY) { + /* Set imbalance to allow misfit tasks to be balanced. */ + env->migration_type = migrate_misfit; + env->imbalance = 1; + } else { + /* + * Set load imbalance to allow moving task from cpu + * with reduced capacity. + */ + env->migration_type = migrate_load; + env->imbalance = busiest->group_misfit_task_load; + } return; } --- linux-gcp-5.19.0.orig/kernel/sched/features.h +++ linux-gcp-5.19.0/kernel/sched/features.h @@ -60,7 +60,8 @@ /* * When doing wakeups, attempt to limit superfluous scans of the LLC domain. */ -SCHED_FEAT(SIS_PROP, true) +SCHED_FEAT(SIS_PROP, false) +SCHED_FEAT(SIS_UTIL, true) /* * Issue a WARN when we do multiple update_rq_clock() calls --- linux-gcp-5.19.0.orig/kernel/sched/psi.c +++ linux-gcp-5.19.0/kernel/sched/psi.c @@ -188,6 +188,7 @@ INIT_DELAYED_WORK(&group->avgs_work, psi_avgs_work); mutex_init(&group->avgs_lock); /* Init trigger-related members */ + atomic_set(&group->poll_scheduled, 0); mutex_init(&group->trigger_lock); INIT_LIST_HEAD(&group->triggers); memset(group->nr_triggers, 0, sizeof(group->nr_triggers)); @@ -541,10 +542,12 @@ /* Calculate growth since last update */ growth = window_update(&t->win, now, total[t->state]); - if (growth < t->threshold) - continue; + if (!t->pending_event) { + if (growth < t->threshold) + continue; - t->pending_event = true; + t->pending_event = true; + } } /* Limit event signaling to once per window */ if (now < t->last_event_time + t->win.size) @@ -565,18 +568,17 @@ return now + group->poll_min_period; } -/* Schedule polling if it's not already scheduled. */ -static void psi_schedule_poll_work(struct psi_group *group, unsigned long delay) +/* Schedule polling if it's not already scheduled or forced. */ +static void psi_schedule_poll_work(struct psi_group *group, unsigned long delay, + bool force) { struct task_struct *task; /* - * Do not reschedule if already scheduled. - * Possible race with a timer scheduled after this check but before - * mod_timer below can be tolerated because group->polling_next_update - * will keep updates on schedule. + * atomic_xchg should be called even when !force to provide a + * full memory barrier (see the comment inside psi_poll_work). */ - if (timer_pending(&group->poll_timer)) + if (atomic_xchg(&group->poll_scheduled, 1) && !force) return; rcu_read_lock(); @@ -588,12 +590,15 @@ */ if (likely(task)) mod_timer(&group->poll_timer, jiffies + delay); + else + atomic_set(&group->poll_scheduled, 0); rcu_read_unlock(); } static void psi_poll_work(struct psi_group *group) { + bool force_reschedule = false; u32 changed_states; u64 now; @@ -601,6 +606,43 @@ now = sched_clock(); + if (now > group->polling_until) { + /* + * We are either about to start or might stop polling if no + * state change was recorded. Resetting poll_scheduled leaves + * a small window for psi_group_change to sneak in and schedule + * an immediate poll_work before we get to rescheduling. One + * potential extra wakeup at the end of the polling window + * should be negligible and polling_next_update still keeps + * updates correctly on schedule. + */ + atomic_set(&group->poll_scheduled, 0); + /* + * A task change can race with the poll worker that is supposed to + * report on it. To avoid missing events, ensure ordering between + * poll_scheduled and the task state accesses, such that if the poll + * worker misses the state update, the task change is guaranteed to + * reschedule the poll worker: + * + * poll worker: + * atomic_set(poll_scheduled, 0) + * smp_mb() + * LOAD states + * + * task change: + * STORE states + * if atomic_xchg(poll_scheduled, 1) == 0: + * schedule poll worker + * + * The atomic_xchg() implies a full barrier. + */ + smp_mb(); + } else { + /* Polling window is not over, keep rescheduling */ + force_reschedule = true; + } + + collect_percpu_times(group, PSI_POLL, &changed_states); if (changed_states & group->poll_states) { @@ -626,7 +668,8 @@ group->polling_next_update = update_triggers(group, now); psi_schedule_poll_work(group, - nsecs_to_jiffies(group->polling_next_update - now) + 1); + nsecs_to_jiffies(group->polling_next_update - now) + 1, + force_reschedule); out: mutex_unlock(&group->trigger_lock); @@ -751,7 +794,7 @@ write_seqcount_end(&groupc->seq); if (state_mask & group->poll_states) - psi_schedule_poll_work(group, 1); + psi_schedule_poll_work(group, 1, false); if (wake_clock && !delayed_work_pending(&group->avgs_work)) schedule_delayed_work(&group->avgs_work, PSI_FREQ); @@ -1169,10 +1212,11 @@ group = t->group; /* - * Wakeup waiters to stop polling. Can happen if cgroup is deleted - * from under a polling process. + * Wakeup waiters to stop polling and clear the queue to prevent it from + * being accessed later. Can happen if cgroup is deleted from under a + * polling process. */ - wake_up_interruptible(&t->event_wait); + wake_up_pollfree(&t->event_wait); mutex_lock(&group->trigger_lock); @@ -1218,6 +1262,7 @@ * can no longer be found through group->poll_task. */ kthread_stop(task_to_destroy); + atomic_set(&group->poll_scheduled, 0); } kfree(t); } --- linux-gcp-5.19.0.orig/kernel/sched/rt.c +++ linux-gcp-5.19.0/kernel/sched/rt.c @@ -480,7 +480,7 @@ #endif /* CONFIG_SMP */ static void enqueue_top_rt_rq(struct rt_rq *rt_rq); -static void dequeue_top_rt_rq(struct rt_rq *rt_rq); +static void dequeue_top_rt_rq(struct rt_rq *rt_rq, unsigned int count); static inline int on_rt_rq(struct sched_rt_entity *rt_se) { @@ -509,7 +509,7 @@ unsigned int cpu_cap; /* Only heterogeneous systems can benefit from this check */ - if (!static_branch_unlikely(&sched_asym_cpucapacity)) + if (!sched_asym_cpucap_active()) return true; min_cap = uclamp_eff_value(p, UCLAMP_MIN); @@ -601,7 +601,7 @@ rt_se = rt_rq->tg->rt_se[cpu]; if (!rt_se) { - dequeue_top_rt_rq(rt_rq); + dequeue_top_rt_rq(rt_rq, rt_rq->rt_nr_running); /* Kick cpufreq (see the comment in kernel/sched/sched.h). */ cpufreq_update_util(rq_of_rt_rq(rt_rq), 0); } @@ -687,7 +687,7 @@ static inline void sched_rt_rq_dequeue(struct rt_rq *rt_rq) { - dequeue_top_rt_rq(rt_rq); + dequeue_top_rt_rq(rt_rq, rt_rq->rt_nr_running); } static inline int rt_rq_throttled(struct rt_rq *rt_rq) @@ -1089,7 +1089,7 @@ } static void -dequeue_top_rt_rq(struct rt_rq *rt_rq) +dequeue_top_rt_rq(struct rt_rq *rt_rq, unsigned int count) { struct rq *rq = rq_of_rt_rq(rt_rq); @@ -1100,7 +1100,7 @@ BUG_ON(!rq->nr_running); - sub_nr_running(rq, rt_rq->rt_nr_running); + sub_nr_running(rq, count); rt_rq->rt_queued = 0; } @@ -1486,18 +1486,21 @@ static void dequeue_rt_stack(struct sched_rt_entity *rt_se, unsigned int flags) { struct sched_rt_entity *back = NULL; + unsigned int rt_nr_running; for_each_sched_rt_entity(rt_se) { rt_se->back = back; back = rt_se; } - dequeue_top_rt_rq(rt_rq_of_se(back)); + rt_nr_running = rt_rq_of_se(back)->rt_nr_running; for (rt_se = back; rt_se; rt_se = rt_se->back) { if (on_rt_rq(rt_se)) __dequeue_rt_entity(rt_se, flags); } + + dequeue_top_rt_rq(rt_rq_of_se(back), rt_nr_running); } static void enqueue_rt_entity(struct sched_rt_entity *rt_se, unsigned int flags) @@ -1778,6 +1781,8 @@ BUG_ON(idx >= MAX_RT_PRIO); queue = array->queue + idx; + if (SCHED_WARN_ON(list_empty(queue))) + return NULL; next = list_entry(queue->next, struct sched_rt_entity, run_list); return next; @@ -1790,7 +1795,8 @@ do { rt_se = pick_next_rt_entity(rt_rq); - BUG_ON(!rt_se); + if (unlikely(!rt_se)) + return NULL; rt_rq = group_rt_rq(rt_se); } while (rt_rq); @@ -1894,7 +1900,7 @@ * If we're on asym system ensure we consider the different capacities * of the CPUs when searching for the lowest_mask. */ - if (static_branch_unlikely(&sched_asym_cpucapacity)) { + if (sched_asym_cpucap_active()) { ret = cpupri_find_fitness(&task_rq(task)->rd->cpupri, task, lowest_mask, --- linux-gcp-5.19.0.orig/kernel/sched/sched.h +++ linux-gcp-5.19.0/kernel/sched/sched.h @@ -1146,6 +1146,14 @@ #endif } +DECLARE_PER_CPU_SHARED_ALIGNED(struct rq, runqueues); + +#define cpu_rq(cpu) (&per_cpu(runqueues, (cpu))) +#define this_rq() this_cpu_ptr(&runqueues) +#define task_rq(p) cpu_rq(task_cpu(p)) +#define cpu_curr(cpu) (cpu_rq(cpu)->curr) +#define raw_rq() raw_cpu_ptr(&runqueues) + struct sched_group; #ifdef CONFIG_SCHED_CORE static inline struct cpumask *sched_group_span(struct sched_group *sg); @@ -1233,7 +1241,7 @@ return true; for_each_cpu_and(cpu, sched_group_span(group), p->cpus_ptr) { - if (sched_core_cookie_match(rq, p)) + if (sched_core_cookie_match(cpu_rq(cpu), p)) return true; } return false; @@ -1348,14 +1356,6 @@ static inline void update_idle_core(struct rq *rq) { } #endif -DECLARE_PER_CPU_SHARED_ALIGNED(struct rq, runqueues); - -#define cpu_rq(cpu) (&per_cpu(runqueues, (cpu))) -#define this_rq() this_cpu_ptr(&runqueues) -#define task_rq(p) cpu_rq(task_cpu(p)) -#define cpu_curr(cpu) (cpu_rq(cpu)->curr) -#define raw_rq() raw_cpu_ptr(&runqueues) - #ifdef CONFIG_FAIR_GROUP_SCHED static inline struct task_struct *task_of(struct sched_entity *se) { @@ -1764,6 +1764,11 @@ DECLARE_PER_CPU(struct sched_domain __rcu *, sd_asym_cpucapacity); extern struct static_key_false sched_asym_cpucapacity; +static __always_inline bool sched_asym_cpucap_active(void) +{ + return static_branch_unlikely(&sched_asym_cpucapacity); +} + struct sched_group_capacity { atomic_t ref; /* @@ -2044,7 +2049,6 @@ #define WF_SYNC 0x10 /* Waker goes to sleep after wakeup */ #define WF_MIGRATED 0x20 /* Internal use, task got migrated */ -#define WF_ON_CPU 0x40 /* Wakee is on_cpu */ #ifdef CONFIG_SMP static_assert(WF_EXEC == SD_BALANCE_EXEC); @@ -2922,6 +2926,23 @@ #ifdef CONFIG_UCLAMP_TASK unsigned long uclamp_eff_value(struct task_struct *p, enum uclamp_id clamp_id); +static inline unsigned long uclamp_rq_get(struct rq *rq, + enum uclamp_id clamp_id) +{ + return READ_ONCE(rq->uclamp[clamp_id].value); +} + +static inline void uclamp_rq_set(struct rq *rq, enum uclamp_id clamp_id, + unsigned int value) +{ + WRITE_ONCE(rq->uclamp[clamp_id].value, value); +} + +static inline bool uclamp_rq_is_idle(struct rq *rq) +{ + return rq->uclamp_flags & UCLAMP_FLAG_IDLE; +} + /** * uclamp_rq_util_with - clamp @util with @rq and @p effective uclamp values. * @rq: The rq to clamp against. Must not be NULL. @@ -2957,12 +2978,12 @@ * Ignore last runnable task's max clamp, as this task will * reset it. Similarly, no need to read the rq's min clamp. */ - if (rq->uclamp_flags & UCLAMP_FLAG_IDLE) + if (uclamp_rq_is_idle(rq)) goto out; } - min_util = max_t(unsigned long, min_util, READ_ONCE(rq->uclamp[UCLAMP_MIN].value)); - max_util = max_t(unsigned long, max_util, READ_ONCE(rq->uclamp[UCLAMP_MAX].value)); + min_util = max_t(unsigned long, min_util, uclamp_rq_get(rq, UCLAMP_MIN)); + max_util = max_t(unsigned long, max_util, uclamp_rq_get(rq, UCLAMP_MAX)); out: /* * Since CPU's {min,max}_util clamps are MAX aggregated considering @@ -3003,6 +3024,15 @@ return static_branch_likely(&sched_uclamp_used); } #else /* CONFIG_UCLAMP_TASK */ +static inline unsigned long uclamp_eff_value(struct task_struct *p, + enum uclamp_id clamp_id) +{ + if (clamp_id == UCLAMP_MIN) + return 0; + + return SCHED_CAPACITY_SCALE; +} + static inline unsigned long uclamp_rq_util_with(struct rq *rq, unsigned long util, struct task_struct *p) @@ -3016,6 +3046,25 @@ { return false; } + +static inline unsigned long uclamp_rq_get(struct rq *rq, + enum uclamp_id clamp_id) +{ + if (clamp_id == UCLAMP_MIN) + return 0; + + return SCHED_CAPACITY_SCALE; +} + +static inline void uclamp_rq_set(struct rq *rq, enum uclamp_id clamp_id, + unsigned int value) +{ +} + +static inline bool uclamp_rq_is_idle(struct rq *rq) +{ + return false; +} #endif /* CONFIG_UCLAMP_TASK */ #ifdef CONFIG_HAVE_SCHED_AVG_IRQ --- linux-gcp-5.19.0.orig/kernel/sched/wait.c +++ linux-gcp-5.19.0/kernel/sched/wait.c @@ -243,6 +243,7 @@ /* POLLFREE must have cleared the queue. */ WARN_ON_ONCE(waitqueue_active(wq_head)); } +EXPORT_SYMBOL_GPL(__wake_up_pollfree); /* * Note: we use "set_current_state()" _after_ the wait-queue add, --- linux-gcp-5.19.0.orig/kernel/smp.c +++ linux-gcp-5.19.0/kernel/smp.c @@ -174,9 +174,9 @@ if (val) static_branch_enable(&csdlock_debug_enabled); - return 0; + return 1; } -early_param("csdlock_debug", csdlock_debug); +__setup("csdlock_debug=", csdlock_debug); static DEFINE_PER_CPU(call_single_data_t *, cur_csd); static DEFINE_PER_CPU(smp_call_func_t, cur_csd_func); --- linux-gcp-5.19.0.orig/kernel/sys.c +++ linux-gcp-5.19.0/kernel/sys.c @@ -1244,6 +1244,21 @@ DECLARE_RWSEM(uts_sem); #ifdef COMPAT_UTS_MACHINE +static char compat_uts_machine[__OLD_UTS_LEN+1] = COMPAT_UTS_MACHINE; + +static int __init parse_compat_uts_machine(char *arg) +{ + strncpy(compat_uts_machine, arg, __OLD_UTS_LEN); + compat_uts_machine[__OLD_UTS_LEN] = 0; + return 0; +} +early_param("compat_uts_machine", parse_compat_uts_machine); + +#undef COMPAT_UTS_MACHINE +#define COMPAT_UTS_MACHINE compat_uts_machine +#endif + +#ifdef COMPAT_UTS_MACHINE #define override_architecture(name) \ (personality(current->personality) == PER_LINUX32 && \ copy_to_user(name->machine, COMPAT_UTS_MACHINE, \ @@ -1439,6 +1454,8 @@ if (resource >= RLIM_NLIMITS) return -EINVAL; + resource = array_index_nospec(resource, RLIM_NLIMITS); + if (new_rlim) { if (new_rlim->rlim_cur > new_rlim->rlim_max) return -EINVAL; --- linux-gcp-5.19.0.orig/kernel/sys_ni.c +++ linux-gcp-5.19.0/kernel/sys_ni.c @@ -277,6 +277,7 @@ /* mm/fadvise.c */ COND_SYSCALL(fadvise64_64); +COND_SYSCALL_COMPAT(fadvise64_64); /* mm/, CONFIG_MMU only */ COND_SYSCALL(swapon); --- linux-gcp-5.19.0.orig/kernel/sysctl.c +++ linux-gcp-5.19.0/kernel/sysctl.c @@ -64,6 +64,7 @@ #include #include #include +#include #include "../lib/kstrtox.h" @@ -265,13 +266,14 @@ ppos); } -static size_t proc_skip_spaces(char **buf) +static void proc_skip_spaces(char **buf, size_t *size) { - size_t ret; - char *tmp = skip_spaces(*buf); - ret = tmp - *buf; - *buf = tmp; - return ret; + while (*size) { + if (!isspace(**buf)) + break; + (*size)--; + (*buf)++; + } } static void proc_skip_char(char **buf, size_t *size, const char v) @@ -340,13 +342,12 @@ unsigned long *val, bool *neg, const char *perm_tr, unsigned perm_tr_len, char *tr) { - int len; char *p, tmp[TMPBUFLEN]; + ssize_t len = *size; - if (!*size) + if (len <= 0) return -EINVAL; - len = *size; if (len > TMPBUFLEN - 1) len = TMPBUFLEN - 1; @@ -519,7 +520,7 @@ bool neg; if (write) { - left -= proc_skip_spaces(&p); + proc_skip_spaces(&p, &left); if (!left) break; @@ -546,7 +547,7 @@ if (!write && !first && left && !err) proc_put_char(&buffer, &left, '\n'); if (write && !err && left) - left -= proc_skip_spaces(&p); + proc_skip_spaces(&p, &left); if (write && first) return err ? : -EINVAL; *lenp -= left; @@ -588,7 +589,7 @@ if (left > PAGE_SIZE - 1) left = PAGE_SIZE - 1; - left -= proc_skip_spaces(&p); + proc_skip_spaces(&p, &left); if (!left) { err = -EINVAL; goto out_free; @@ -608,7 +609,7 @@ } if (!err && left) - left -= proc_skip_spaces(&p); + proc_skip_spaces(&p, &left); out_free: if (err) @@ -1073,7 +1074,7 @@ if (write) { bool neg; - left -= proc_skip_spaces(&p); + proc_skip_spaces(&p, &left); if (!left) break; @@ -1102,7 +1103,7 @@ if (!write && !first && left && !err) proc_put_char(&buffer, &left, '\n'); if (write && !err) - left -= proc_skip_spaces(&p); + proc_skip_spaces(&p, &left); if (write && first) return err ? : -EINVAL; *lenp -= left; @@ -1751,6 +1752,15 @@ .proc_handler = sysrq_sysctl_handler, }, #endif +#ifdef CONFIG_USER_NS + { + .procname = "unprivileged_userns_clone", + .data = &unprivileged_userns_clone, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = proc_dointvec, + }, +#endif #ifdef CONFIG_PROC_SYSCTL { .procname = "cad_pid", --- linux-gcp-5.19.0.orig/kernel/task_work.c +++ linux-gcp-5.19.0/kernel/task_work.c @@ -73,6 +73,7 @@ return 0; } +EXPORT_SYMBOL(task_work_add); /** * task_work_cancel_match - cancel a pending work added by task_work_add() --- linux-gcp-5.19.0.orig/kernel/time/alarmtimer.c +++ linux-gcp-5.19.0/kernel/time/alarmtimer.c @@ -470,11 +470,35 @@ } EXPORT_SYMBOL_GPL(alarm_forward); -u64 alarm_forward_now(struct alarm *alarm, ktime_t interval) +static u64 __alarm_forward_now(struct alarm *alarm, ktime_t interval, bool throttle) { struct alarm_base *base = &alarm_bases[alarm->type]; + ktime_t now = base->get_ktime(); + + if (IS_ENABLED(CONFIG_HIGH_RES_TIMERS) && throttle) { + /* + * Same issue as with posix_timer_fn(). Timers which are + * periodic but the signal is ignored can starve the system + * with a very small interval. The real fix which was + * promised in the context of posix_timer_fn() never + * materialized, but someone should really work on it. + * + * To prevent DOS fake @now to be 1 jiffie out which keeps + * the overrun accounting correct but creates an + * inconsistency vs. timer_gettime(2). + */ + ktime_t kj = NSEC_PER_SEC / HZ; + + if (interval < kj) + now = ktime_add(now, kj); + } + + return alarm_forward(alarm, now, interval); +} - return alarm_forward(alarm, base->get_ktime(), interval); +u64 alarm_forward_now(struct alarm *alarm, ktime_t interval) +{ + return __alarm_forward_now(alarm, interval, false); } EXPORT_SYMBOL_GPL(alarm_forward_now); @@ -551,9 +575,10 @@ if (posix_timer_event(ptr, si_private) && ptr->it_interval) { /* * Handle ignored signals and rearm the timer. This will go - * away once we handle ignored signals proper. + * away once we handle ignored signals proper. Ensure that + * small intervals cannot starve the system. */ - ptr->it_overrun += alarm_forward_now(alarm, ptr->it_interval); + ptr->it_overrun += __alarm_forward_now(alarm, ptr->it_interval, true); ++ptr->it_requeue_pending; ptr->it_active = 1; result = ALARMTIMER_RESTART; --- linux-gcp-5.19.0.orig/kernel/time/clocksource.c +++ linux-gcp-5.19.0/kernel/time/clocksource.c @@ -384,6 +384,15 @@ } EXPORT_SYMBOL_GPL(clocksource_verify_percpu); +static inline void clocksource_reset_watchdog(void) +{ + struct clocksource *cs; + + list_for_each_entry(cs, &watchdog_list, wd_list) + cs->flags &= ~CLOCK_SOURCE_WATCHDOG; +} + + static void clocksource_watchdog(struct timer_list *unused) { u64 csnow, wdnow, cslast, wdlast, delta; @@ -391,6 +400,7 @@ int64_t wd_nsec, cs_nsec; struct clocksource *cs; enum wd_read_status read_ret; + unsigned long extra_wait = 0; u32 md; spin_lock(&watchdog_lock); @@ -410,13 +420,30 @@ read_ret = cs_watchdog_read(cs, &csnow, &wdnow); - if (read_ret != WD_READ_SUCCESS) { - if (read_ret == WD_READ_UNSTABLE) - /* Clock readout unreliable, so give it up. */ - __clocksource_unstable(cs); + if (read_ret == WD_READ_UNSTABLE) { + /* Clock readout unreliable, so give it up. */ + __clocksource_unstable(cs); continue; } + /* + * When WD_READ_SKIP is returned, it means the system is likely + * under very heavy load, where the latency of reading + * watchdog/clocksource is very big, and affect the accuracy of + * watchdog check. So give system some space and suspend the + * watchdog check for 5 minutes. + */ + if (read_ret == WD_READ_SKIP) { + /* + * As the watchdog timer will be suspended, and + * cs->last could keep unchanged for 5 minutes, reset + * the counters. + */ + clocksource_reset_watchdog(); + extra_wait = HZ * 300; + break; + } + /* Clocksource initialized ? */ if (!(cs->flags & CLOCK_SOURCE_WATCHDOG) || atomic_read(&watchdog_reset_pending)) { @@ -512,7 +539,7 @@ * pair clocksource_stop_watchdog() clocksource_start_watchdog(). */ if (!timer_pending(&watchdog_timer)) { - watchdog_timer.expires += WATCHDOG_INTERVAL; + watchdog_timer.expires += WATCHDOG_INTERVAL + extra_wait; add_timer_on(&watchdog_timer, next_cpu); } out: @@ -537,14 +564,6 @@ watchdog_running = 0; } -static inline void clocksource_reset_watchdog(void) -{ - struct clocksource *cs; - - list_for_each_entry(cs, &watchdog_list, wd_list) - cs->flags &= ~CLOCK_SOURCE_WATCHDOG; -} - static void clocksource_resume_watchdog(void) { atomic_inc(&watchdog_reset_pending); --- linux-gcp-5.19.0.orig/kernel/time/hrtimer.c +++ linux-gcp-5.19.0/kernel/time/hrtimer.c @@ -2126,6 +2126,7 @@ if (!timespec64_valid(&tu)) return -EINVAL; + current->restart_block.fn = do_no_restart_syscall; current->restart_block.nanosleep.type = rmtp ? TT_NATIVE : TT_NONE; current->restart_block.nanosleep.rmtp = rmtp; return hrtimer_nanosleep(timespec64_to_ktime(tu), HRTIMER_MODE_REL, @@ -2147,6 +2148,7 @@ if (!timespec64_valid(&tu)) return -EINVAL; + current->restart_block.fn = do_no_restart_syscall; current->restart_block.nanosleep.type = rmtp ? TT_COMPAT : TT_NONE; current->restart_block.nanosleep.compat_rmtp = rmtp; return hrtimer_nanosleep(timespec64_to_ktime(tu), HRTIMER_MODE_REL, @@ -2311,6 +2313,7 @@ return !t.task ? 0 : -EINTR; } +EXPORT_SYMBOL_GPL(schedule_hrtimeout_range_clock); /** * schedule_hrtimeout_range - sleep until timeout --- linux-gcp-5.19.0.orig/kernel/time/posix-stubs.c +++ linux-gcp-5.19.0/kernel/time/posix-stubs.c @@ -146,6 +146,7 @@ return -EINVAL; if (flags & TIMER_ABSTIME) rmtp = NULL; + current->restart_block.fn = do_no_restart_syscall; current->restart_block.nanosleep.type = rmtp ? TT_NATIVE : TT_NONE; current->restart_block.nanosleep.rmtp = rmtp; texp = timespec64_to_ktime(t); @@ -239,6 +240,7 @@ return -EINVAL; if (flags & TIMER_ABSTIME) rmtp = NULL; + current->restart_block.fn = do_no_restart_syscall; current->restart_block.nanosleep.type = rmtp ? TT_COMPAT : TT_NONE; current->restart_block.nanosleep.compat_rmtp = rmtp; texp = timespec64_to_ktime(t); --- linux-gcp-5.19.0.orig/kernel/time/posix-timers.c +++ linux-gcp-5.19.0/kernel/time/posix-timers.c @@ -1270,6 +1270,7 @@ return -EINVAL; if (flags & TIMER_ABSTIME) rmtp = NULL; + current->restart_block.fn = do_no_restart_syscall; current->restart_block.nanosleep.type = rmtp ? TT_NATIVE : TT_NONE; current->restart_block.nanosleep.rmtp = rmtp; @@ -1297,6 +1298,7 @@ return -EINVAL; if (flags & TIMER_ABSTIME) rmtp = NULL; + current->restart_block.fn = do_no_restart_syscall; current->restart_block.nanosleep.type = rmtp ? TT_COMPAT : TT_NONE; current->restart_block.nanosleep.compat_rmtp = rmtp; --- linux-gcp-5.19.0.orig/kernel/time/test_udelay.c +++ linux-gcp-5.19.0/kernel/time/test_udelay.c @@ -149,7 +149,7 @@ static void __exit udelay_test_exit(void) { mutex_lock(&udelay_test_lock); - debugfs_remove(debugfs_lookup(DEBUGFS_FILENAME, NULL)); + debugfs_lookup_and_remove(DEBUGFS_FILENAME, NULL); mutex_unlock(&udelay_test_lock); } --- linux-gcp-5.19.0.orig/kernel/time/timekeeping.c +++ linux-gcp-5.19.0/kernel/time/timekeeping.c @@ -23,6 +23,7 @@ #include #include #include +#include #include "tick-internal.h" #include "ntp_internal.h" @@ -1343,8 +1344,10 @@ /* Signal hrtimers about time change */ clock_was_set(CLOCK_SET_WALL); - if (!ret) + if (!ret) { audit_tk_injoffset(ts_delta); + add_device_randomness(ts, sizeof(*ts)); + } return ret; } @@ -2430,6 +2433,7 @@ ret = timekeeping_validate_timex(txc); if (ret) return ret; + add_device_randomness(txc, sizeof(*txc)); if (txc->modes & ADJ_SETOFFSET) { struct timespec64 delta; @@ -2447,6 +2451,7 @@ audit_ntp_init(&ad); ktime_get_real_ts64(&ts); + add_device_randomness(&ts, sizeof(ts)); raw_spin_lock_irqsave(&timekeeper_lock, flags); write_seqcount_begin(&tk_core.seq); --- linux-gcp-5.19.0.orig/kernel/trace/Kconfig +++ linux-gcp-5.19.0/kernel/trace/Kconfig @@ -369,6 +369,7 @@ config HWLAT_TRACER bool "Tracer to detect hardware latencies (like SMIs)" select GENERIC_TRACER + select TRACER_MAX_TRACE help This tracer, when enabled will create one or more kernel threads, depending on what the cpumask file is set to, which each thread @@ -404,6 +405,7 @@ config OSNOISE_TRACER bool "OS Noise tracer" select GENERIC_TRACER + select TRACER_MAX_TRACE help In the context of high-performance computing (HPC), the Operating System Noise (osnoise) refers to the interference experienced by an --- linux-gcp-5.19.0.orig/kernel/trace/blktrace.c +++ linux-gcp-5.19.0/kernel/trace/blktrace.c @@ -319,8 +319,8 @@ * under 'q->debugfs_dir', thus lookup and remove them. */ if (!bt->dir) { - debugfs_remove(debugfs_lookup("dropped", q->debugfs_dir)); - debugfs_remove(debugfs_lookup("msg", q->debugfs_dir)); + debugfs_lookup_and_remove("dropped", q->debugfs_dir); + debugfs_lookup_and_remove("msg", q->debugfs_dir); } else { debugfs_remove(bt->dir); } @@ -1058,7 +1058,7 @@ r.sector_from = cpu_to_be64(from); __blk_add_trace(bt, blk_rq_pos(rq), blk_rq_bytes(rq), - rq_data_dir(rq), 0, BLK_TA_REMAP, 0, + req_op(rq), rq->cmd_flags, BLK_TA_REMAP, 0, sizeof(r), &r, blk_trace_request_get_cgid(rq)); rcu_read_unlock(); } @@ -1547,7 +1547,8 @@ static enum print_line_t blk_tracer_print_line(struct trace_iterator *iter) { - if (!(blk_tracer_flags.val & TRACE_BLK_OPT_CLASSIC)) + if ((iter->ent->type != TRACE_BLK) || + !(blk_tracer_flags.val & TRACE_BLK_OPT_CLASSIC)) return TRACE_TYPE_UNHANDLED; return print_one_line(iter, true); --- linux-gcp-5.19.0.orig/kernel/trace/bpf_trace.c +++ linux-gcp-5.19.0/kernel/trace/bpf_trace.c @@ -828,6 +828,7 @@ work = container_of(entry, struct send_signal_irq_work, irq_work); group_send_sig_info(work->sig, SEND_SIG_PRIV, work->task, work->type); + put_task_struct(work->task); } static int bpf_send_signal_common(u32 sig, enum pid_type type) @@ -843,6 +844,9 @@ return -EPERM; if (unlikely(!nmi_uaccess_okay())) return -EPERM; + /* Task should not be pid=1 to avoid kernel panic. */ + if (unlikely(is_global_init(current))) + return -EPERM; if (irqs_disabled()) { /* Do an early check on signal validity. Otherwise, @@ -859,7 +863,7 @@ * to the irq_work. The current task may change when queued * irq works get executed. */ - work->task = current; + work->task = get_task_struct(current); work->sig = sig; work->type = type; irq_work_queue(&work->irq_work); @@ -1026,6 +1030,22 @@ .arg1_type = ARG_PTR_TO_CTX, }; +#ifdef CONFIG_X86_KERNEL_IBT +static unsigned long get_entry_ip(unsigned long fentry_ip) +{ + u32 instr; + + /* Being extra safe in here in case entry ip is on the page-edge. */ + if (get_kernel_nofault(instr, (u32 *) fentry_ip - 1)) + return fentry_ip; + if (is_endbr(instr)) + fentry_ip -= ENDBR_INSN_SIZE; + return fentry_ip; +} +#else +#define get_entry_ip(fentry_ip) fentry_ip +#endif + BPF_CALL_1(bpf_get_func_ip_kprobe, struct pt_regs *, regs) { struct kprobe *kp = kprobe_running(); @@ -2042,9 +2062,15 @@ void __bpf_trace_run(struct bpf_prog *prog, u64 *args) { cant_sleep(); + if (unlikely(this_cpu_inc_return(*(prog->active)) != 1)) { + bpf_prog_inc_misses_counter(prog); + goto out; + } rcu_read_lock(); (void) bpf_prog_run(prog, args); rcu_read_unlock(); +out: + this_cpu_dec(*(prog->active)); } #define UNPACK(...) __VA_ARGS__ @@ -2242,6 +2268,8 @@ unsigned long *addrs; u64 *cookies; u32 cnt; + u32 mods_cnt; + struct module **mods; }; struct bpf_kprobe_multi_run_ctx { @@ -2297,6 +2325,14 @@ return err; } +static void kprobe_multi_put_modules(struct module **mods, u32 cnt) +{ + u32 i; + + for (i = 0; i < cnt; i++) + module_put(mods[i]); +} + static void free_user_syms(struct user_syms *us) { kvfree(us->syms); @@ -2309,6 +2345,7 @@ kmulti_link = container_of(link, struct bpf_kprobe_multi_link, link); unregister_fprobe(&kmulti_link->fp); + kprobe_multi_put_modules(kmulti_link->mods, kmulti_link->mods_cnt); } static void bpf_kprobe_multi_link_dealloc(struct bpf_link *link) @@ -2318,6 +2355,7 @@ kmulti_link = container_of(link, struct bpf_kprobe_multi_link, link); kvfree(kmulti_link->addrs); kvfree(kmulti_link->cookies); + kfree(kmulti_link->mods); kfree(kmulti_link); } @@ -2340,7 +2378,7 @@ swap(*cookie_a, *cookie_b); } -static int __bpf_kprobe_multi_cookie_cmp(const void *a, const void *b) +static int bpf_kprobe_multi_addrs_cmp(const void *a, const void *b) { const unsigned long *addr_a = a, *addr_b = b; @@ -2351,7 +2389,7 @@ static int bpf_kprobe_multi_cookie_cmp(const void *a, const void *b, const void *priv) { - return __bpf_kprobe_multi_cookie_cmp(a, b); + return bpf_kprobe_multi_addrs_cmp(a, b); } static u64 bpf_kprobe_multi_cookie(struct bpf_run_ctx *ctx) @@ -2369,7 +2407,7 @@ return 0; entry_ip = run_ctx->entry_ip; addr = bsearch(&entry_ip, link->addrs, link->cnt, sizeof(entry_ip), - __bpf_kprobe_multi_cookie_cmp); + bpf_kprobe_multi_addrs_cmp); if (!addr) return 0; cookie = link->cookies + (addr - link->addrs); @@ -2414,13 +2452,13 @@ } static void -kprobe_multi_link_handler(struct fprobe *fp, unsigned long entry_ip, +kprobe_multi_link_handler(struct fprobe *fp, unsigned long fentry_ip, struct pt_regs *regs) { struct bpf_kprobe_multi_link *link; link = container_of(fp, struct bpf_kprobe_multi_link, fp); - kprobe_multi_link_prog_run(link, entry_ip, regs); + kprobe_multi_link_prog_run(link, get_entry_ip(fentry_ip), regs); } static int symbols_cmp_r(const void *a, const void *b, const void *priv) @@ -2453,6 +2491,71 @@ } } +struct module_addr_args { + unsigned long *addrs; + u32 addrs_cnt; + struct module **mods; + int mods_cnt; + int mods_cap; +}; + +static int module_callback(void *data, const char *name, + struct module *mod, unsigned long addr) +{ + struct module_addr_args *args = data; + struct module **mods; + + /* We iterate all modules symbols and for each we: + * - search for it in provided addresses array + * - if found we check if we already have the module pointer stored + * (we iterate modules sequentially, so we can check just the last + * module pointer) + * - take module reference and store it + */ + if (!bsearch(&addr, args->addrs, args->addrs_cnt, sizeof(addr), + bpf_kprobe_multi_addrs_cmp)) + return 0; + + if (args->mods && args->mods[args->mods_cnt - 1] == mod) + return 0; + + if (args->mods_cnt == args->mods_cap) { + args->mods_cap = max(16, args->mods_cap * 3 / 2); + mods = krealloc_array(args->mods, args->mods_cap, sizeof(*mods), GFP_KERNEL); + if (!mods) + return -ENOMEM; + args->mods = mods; + } + + if (!try_module_get(mod)) + return -EINVAL; + + args->mods[args->mods_cnt] = mod; + args->mods_cnt++; + return 0; +} + +static int get_modules_for_addrs(struct module ***mods, unsigned long *addrs, u32 addrs_cnt) +{ + struct module_addr_args args = { + .addrs = addrs, + .addrs_cnt = addrs_cnt, + }; + int err; + + /* We return either err < 0 in case of error, ... */ + err = module_kallsyms_on_each_symbol(module_callback, &args); + if (err) { + kprobe_multi_put_modules(args.mods, args.mods_cnt); + kfree(args.mods); + return err; + } + + /* or number of modules found if everything is ok. */ + *mods = args.mods; + return args.mods_cnt; +} + int bpf_kprobe_multi_link_attach(const union bpf_attr *attr, struct bpf_prog *prog) { struct bpf_kprobe_multi_link *link = NULL; @@ -2563,10 +2666,25 @@ bpf_kprobe_multi_cookie_cmp, bpf_kprobe_multi_cookie_swap, link); + } else { + /* + * We need to sort addrs array even if there are no cookies + * provided, to allow bsearch in get_modules_for_addrs. + */ + sort(addrs, cnt, sizeof(*addrs), + bpf_kprobe_multi_addrs_cmp, NULL); + } + + err = get_modules_for_addrs(&link->mods, addrs, cnt); + if (err < 0) { + bpf_link_cleanup(&link_primer); + return err; } + link->mods_cnt = err; err = register_fprobe_ips(&link->fp, addrs, cnt); if (err) { + kprobe_multi_put_modules(link->mods, link->mods_cnt); bpf_link_cleanup(&link_primer); return err; } --- linux-gcp-5.19.0.orig/kernel/trace/fprobe.c +++ linux-gcp-5.19.0/kernel/trace/fprobe.c @@ -141,6 +141,8 @@ return -E2BIG; fp->rethook = rethook_alloc((void *)fp, fprobe_exit_handler); + if (!fp->rethook) + return -ENOMEM; for (i = 0; i < size; i++) { struct fprobe_rethook_node *node; @@ -301,7 +303,8 @@ { int ret; - if (!fp || fp->ops.func != fprobe_handler) + if (!fp || (fp->ops.saved_func != fprobe_handler && + fp->ops.saved_func != fprobe_kprobe_handler)) return -EINVAL; /* --- linux-gcp-5.19.0.orig/kernel/trace/ftrace.c +++ linux-gcp-5.19.0/kernel/trace/ftrace.c @@ -1248,12 +1248,17 @@ call_rcu(&hash->rcu, __free_ftrace_hash_rcu); } +/** + * ftrace_free_filter - remove all filters for an ftrace_ops + * @ops - the ops to remove the filters from + */ void ftrace_free_filter(struct ftrace_ops *ops) { ftrace_ops_init(ops); free_ftrace_hash(ops->func_hash->filter_hash); free_ftrace_hash(ops->func_hash->notrace_hash); } +EXPORT_SYMBOL_GPL(ftrace_free_filter); static struct ftrace_hash *alloc_ftrace_hash(int size_bits) { @@ -1289,6 +1294,7 @@ if (!ftrace_mod) return -ENOMEM; + INIT_LIST_HEAD(&ftrace_mod->list); ftrace_mod->func = kstrdup(func, GFP_KERNEL); ftrace_mod->module = kstrdup(module, GFP_KERNEL); ftrace_mod->enable = enable; @@ -1644,6 +1650,18 @@ static struct ftrace_ops * ftrace_find_tramp_ops_next(struct dyn_ftrace *rec, struct ftrace_ops *ops); +static bool skip_record(struct dyn_ftrace *rec) +{ + /* + * At boot up, weak functions are set to disable. Function tracing + * can be enabled before they are, and they still need to be disabled now. + * If the record is disabled, still continue if it is marked as already + * enabled (this is needed to keep the accounting working). + */ + return rec->flags & FTRACE_FL_DISABLED && + !(rec->flags & FTRACE_FL_ENABLED); +} + static bool __ftrace_hash_rec_update(struct ftrace_ops *ops, int filter_hash, bool inc) @@ -1693,7 +1711,7 @@ int in_hash = 0; int match = 0; - if (rec->flags & FTRACE_FL_DISABLED) + if (skip_record(rec)) continue; if (all) { @@ -2090,7 +2108,7 @@ ftrace_bug_type = FTRACE_BUG_UNKNOWN; - if (rec->flags & FTRACE_FL_DISABLED) + if (skip_record(rec)) return FTRACE_UPDATE_IGNORE; /* @@ -2205,7 +2223,7 @@ if (update) { /* If there's no more users, clear all flags */ if (!ftrace_rec_count(rec)) - rec->flags = 0; + rec->flags &= FTRACE_FL_DISABLED; else /* * Just disable the record, but keep the ops TRAMP @@ -2599,7 +2617,7 @@ do_for_each_ftrace_rec(pg, rec) { - if (rec->flags & FTRACE_FL_DISABLED) + if (skip_record(rec)) continue; failed = __ftrace_replace_code(rec, enable); @@ -2937,6 +2955,16 @@ ftrace_startup_enable(command); + /* + * If ftrace is in an undefined state, we just remove ops from list + * to prevent the NULL pointer, instead of totally rolling it back and + * free trampoline, because those actions could cause further damage. + */ + if (unlikely(ftrace_disabled)) { + __unregister_ftrace_function(ops); + return -ENODEV; + } + ops->flags &= ~FTRACE_OPS_FL_ADDING; return 0; @@ -2974,18 +3002,8 @@ command |= FTRACE_UPDATE_TRACE_FUNC; } - if (!command || !ftrace_enabled) { - /* - * If these are dynamic or per_cpu ops, they still - * need their data freed. Since, function tracing is - * not currently active, we can just free them - * without synchronizing all CPUs. - */ - if (ops->flags & FTRACE_OPS_FL_DYNAMIC) - goto free_ops; - - return 0; - } + if (!command || !ftrace_enabled) + goto out; /* * If the ops uses a trampoline, then it needs to be @@ -3022,6 +3040,7 @@ removed_ops = NULL; ops->flags &= ~FTRACE_OPS_FL_REMOVING; +out: /* * Dynamic ops may be freed, we must make sure that all * callers are done before leaving this function. @@ -3049,7 +3068,6 @@ if (IS_ENABLED(CONFIG_PREEMPTION)) synchronize_rcu_tasks(); - free_ops: ftrace_trampoline_free(ops); } @@ -3176,7 +3194,7 @@ /* if we can't allocate this size, try something smaller */ if (!order) return -ENOMEM; - order >>= 1; + order--; goto again; } @@ -5770,6 +5788,10 @@ * * Filters denote which functions should be enabled when tracing is enabled * If @ip is NULL, it fails to update filter. + * + * This can allocate memory which must be freed before @ops can be freed, + * either by removing each filtered addr or by using + * ftrace_free_filter(@ops). */ int ftrace_set_filter_ip(struct ftrace_ops *ops, unsigned long ip, int remove, int reset) @@ -5789,7 +5811,11 @@ * * Filters denote which functions should be enabled when tracing is enabled * If @ips array or any ip specified within is NULL , it fails to update filter. - */ + * + * This can allocate memory which must be freed before @ops can be freed, + * either by removing each filtered addr or by using + * ftrace_free_filter(@ops). +*/ int ftrace_set_filter_ips(struct ftrace_ops *ops, unsigned long *ips, unsigned int cnt, int remove, int reset) { @@ -5831,6 +5857,10 @@ * * Filters denote which functions should be enabled when tracing is enabled. * If @buf is NULL and reset is set, all functions will be enabled for tracing. + * + * This can allocate memory which must be freed before @ops can be freed, + * either by removing each filtered addr or by using + * ftrace_free_filter(@ops). */ int ftrace_set_filter(struct ftrace_ops *ops, unsigned char *buf, int len, int reset) @@ -5850,6 +5880,10 @@ * Notrace Filters denote which functions should not be enabled when tracing * is enabled. If @buf is NULL and reset is set, all functions will be enabled * for tracing. + * + * This can allocate memory which must be freed before @ops can be freed, + * either by removing each filtered addr or by using + * ftrace_free_filter(@ops). */ int ftrace_set_notrace(struct ftrace_ops *ops, unsigned char *buf, int len, int reset) @@ -6027,8 +6061,12 @@ if (filter_hash) { orig_hash = &iter->ops->func_hash->filter_hash; - if (iter->tr && !list_empty(&iter->tr->mod_trace)) - iter->hash->flags |= FTRACE_HASH_FL_MOD; + if (iter->tr) { + if (list_empty(&iter->tr->mod_trace)) + iter->hash->flags &= ~FTRACE_HASH_FL_MOD; + else + iter->hash->flags |= FTRACE_HASH_FL_MOD; + } } else orig_hash = &iter->ops->func_hash->notrace_hash; @@ -7298,7 +7336,7 @@ } pr_info("ftrace: allocating %ld entries in %ld pages\n", - count, count / ENTRIES_PER_PAGE + 1); + count, DIV_ROUND_UP(count, ENTRIES_PER_PAGE)); ret = ftrace_process_locs(NULL, __start_mcount_loc, @@ -8025,6 +8063,10 @@ size_t found; }; +/* This function gets called for all kernel and module symbols + * and returns 1 in case we resolved all the requested symbols, + * 0 otherwise. + */ static int kallsyms_callback(void *data, const char *name, struct module *mod, unsigned long addr) { @@ -8068,17 +8110,19 @@ int ftrace_lookup_symbols(const char **sorted_syms, size_t cnt, unsigned long *addrs) { struct kallsyms_data args; - int err; + int found_all; memset(addrs, 0, sizeof(*addrs) * cnt); args.addrs = addrs; args.syms = sorted_syms; args.cnt = cnt; args.found = 0; - err = kallsyms_on_each_symbol(kallsyms_callback, &args); - if (err < 0) - return err; - return args.found == args.cnt ? 0 : -ESRCH; + + found_all = kallsyms_on_each_symbol(kallsyms_callback, &args); + if (found_all) + return 0; + found_all = module_kallsyms_on_each_symbol(kallsyms_callback, &args); + return found_all ? 0 : -ESRCH; } #ifdef CONFIG_SYSCTL --- linux-gcp-5.19.0.orig/kernel/trace/kprobe_event_gen_test.c +++ linux-gcp-5.19.0/kernel/trace/kprobe_event_gen_test.c @@ -35,6 +35,49 @@ static struct trace_event_file *gen_kprobe_test; static struct trace_event_file *gen_kretprobe_test; +#define KPROBE_GEN_TEST_FUNC "do_sys_open" + +/* X86 */ +#if defined(CONFIG_X86_64) || defined(CONFIG_X86_32) +#define KPROBE_GEN_TEST_ARG0 "dfd=%ax" +#define KPROBE_GEN_TEST_ARG1 "filename=%dx" +#define KPROBE_GEN_TEST_ARG2 "flags=%cx" +#define KPROBE_GEN_TEST_ARG3 "mode=+4($stack)" + +/* ARM64 */ +#elif defined(CONFIG_ARM64) +#define KPROBE_GEN_TEST_ARG0 "dfd=%x0" +#define KPROBE_GEN_TEST_ARG1 "filename=%x1" +#define KPROBE_GEN_TEST_ARG2 "flags=%x2" +#define KPROBE_GEN_TEST_ARG3 "mode=%x3" + +/* ARM */ +#elif defined(CONFIG_ARM) +#define KPROBE_GEN_TEST_ARG0 "dfd=%r0" +#define KPROBE_GEN_TEST_ARG1 "filename=%r1" +#define KPROBE_GEN_TEST_ARG2 "flags=%r2" +#define KPROBE_GEN_TEST_ARG3 "mode=%r3" + +/* RISCV */ +#elif defined(CONFIG_RISCV) +#define KPROBE_GEN_TEST_ARG0 "dfd=%a0" +#define KPROBE_GEN_TEST_ARG1 "filename=%a1" +#define KPROBE_GEN_TEST_ARG2 "flags=%a2" +#define KPROBE_GEN_TEST_ARG3 "mode=%a3" + +/* others */ +#else +#define KPROBE_GEN_TEST_ARG0 NULL +#define KPROBE_GEN_TEST_ARG1 NULL +#define KPROBE_GEN_TEST_ARG2 NULL +#define KPROBE_GEN_TEST_ARG3 NULL +#endif + +static bool trace_event_file_is_valid(struct trace_event_file *input) +{ + return input && !IS_ERR(input); +} + /* * Test to make sure we can create a kprobe event, then add more * fields. @@ -58,23 +101,23 @@ * fields. */ ret = kprobe_event_gen_cmd_start(&cmd, "gen_kprobe_test", - "do_sys_open", - "dfd=%ax", "filename=%dx"); + KPROBE_GEN_TEST_FUNC, + KPROBE_GEN_TEST_ARG0, KPROBE_GEN_TEST_ARG1); if (ret) - goto free; + goto out; /* Use kprobe_event_add_fields to add the rest of the fields */ - ret = kprobe_event_add_fields(&cmd, "flags=%cx", "mode=+4($stack)"); + ret = kprobe_event_add_fields(&cmd, KPROBE_GEN_TEST_ARG2, KPROBE_GEN_TEST_ARG3); if (ret) - goto free; + goto out; /* * This actually creates the event. */ ret = kprobe_event_gen_cmd_end(&cmd); if (ret) - goto free; + goto out; /* * Now get the gen_kprobe_test event file. We need to prevent @@ -97,13 +140,13 @@ goto delete; } out: + kfree(buf); return ret; delete: + if (trace_event_file_is_valid(gen_kprobe_test)) + gen_kprobe_test = NULL; /* We got an error after creating the event, delete it */ ret = kprobe_event_delete("gen_kprobe_test"); - free: - kfree(buf); - goto out; } @@ -128,17 +171,17 @@ * Define the kretprobe event. */ ret = kretprobe_event_gen_cmd_start(&cmd, "gen_kretprobe_test", - "do_sys_open", + KPROBE_GEN_TEST_FUNC, "$retval"); if (ret) - goto free; + goto out; /* * This actually creates the event. */ ret = kretprobe_event_gen_cmd_end(&cmd); if (ret) - goto free; + goto out; /* * Now get the gen_kretprobe_test event file. We need to @@ -162,13 +205,13 @@ goto delete; } out: + kfree(buf); return ret; delete: + if (trace_event_file_is_valid(gen_kretprobe_test)) + gen_kretprobe_test = NULL; /* We got an error after creating the event, delete it */ ret = kprobe_event_delete("gen_kretprobe_test"); - free: - kfree(buf); - goto out; } @@ -182,10 +225,12 @@ ret = test_gen_kretprobe_cmd(); if (ret) { - WARN_ON(trace_array_set_clr_event(gen_kretprobe_test->tr, - "kprobes", - "gen_kretprobe_test", false)); - trace_put_event_file(gen_kretprobe_test); + if (trace_event_file_is_valid(gen_kretprobe_test)) { + WARN_ON(trace_array_set_clr_event(gen_kretprobe_test->tr, + "kprobes", + "gen_kretprobe_test", false)); + trace_put_event_file(gen_kretprobe_test); + } WARN_ON(kprobe_event_delete("gen_kretprobe_test")); } @@ -194,24 +239,30 @@ static void __exit kprobe_event_gen_test_exit(void) { - /* Disable the event or you can't remove it */ - WARN_ON(trace_array_set_clr_event(gen_kprobe_test->tr, - "kprobes", - "gen_kprobe_test", false)); + if (trace_event_file_is_valid(gen_kprobe_test)) { + /* Disable the event or you can't remove it */ + WARN_ON(trace_array_set_clr_event(gen_kprobe_test->tr, + "kprobes", + "gen_kprobe_test", false)); + + /* Now give the file and instance back */ + trace_put_event_file(gen_kprobe_test); + } - /* Now give the file and instance back */ - trace_put_event_file(gen_kprobe_test); /* Now unregister and free the event */ WARN_ON(kprobe_event_delete("gen_kprobe_test")); - /* Disable the event or you can't remove it */ - WARN_ON(trace_array_set_clr_event(gen_kprobe_test->tr, - "kprobes", - "gen_kretprobe_test", false)); + if (trace_event_file_is_valid(gen_kretprobe_test)) { + /* Disable the event or you can't remove it */ + WARN_ON(trace_array_set_clr_event(gen_kretprobe_test->tr, + "kprobes", + "gen_kretprobe_test", false)); + + /* Now give the file and instance back */ + trace_put_event_file(gen_kretprobe_test); + } - /* Now give the file and instance back */ - trace_put_event_file(gen_kretprobe_test); /* Now unregister and free the event */ WARN_ON(kprobe_event_delete("gen_kretprobe_test")); --- linux-gcp-5.19.0.orig/kernel/trace/rethook.c +++ linux-gcp-5.19.0/kernel/trace/rethook.c @@ -83,8 +83,10 @@ { struct rethook *rh = kzalloc(sizeof(struct rethook), GFP_KERNEL); - if (!rh || !handler) + if (!rh || !handler) { + kfree(rh); return NULL; + } rh->data = data; rh->handler = handler; --- linux-gcp-5.19.0.orig/kernel/trace/ring_buffer.c +++ linux-gcp-5.19.0/kernel/trace/ring_buffer.c @@ -413,6 +413,7 @@ struct irq_work work; wait_queue_head_t waiters; wait_queue_head_t full_waiters; + long wait_index; bool waiters_pending; bool full_waiters_pending; bool wakeup_full; @@ -518,6 +519,7 @@ local_t committing; local_t commits; local_t pages_touched; + local_t pages_lost; local_t pages_read; long last_pages_touch; size_t shortest_full; @@ -893,10 +895,18 @@ size_t ring_buffer_nr_dirty_pages(struct trace_buffer *buffer, int cpu) { size_t read; + size_t lost; size_t cnt; read = local_read(&buffer->buffers[cpu]->pages_read); + lost = local_read(&buffer->buffers[cpu]->pages_lost); cnt = local_read(&buffer->buffers[cpu]->pages_touched); + + if (WARN_ON_ONCE(cnt < lost)) + return 0; + + cnt -= lost; + /* The reader can read an empty page, but not more than that */ if (cnt < read) { WARN_ON_ONCE(read > cnt + 1); @@ -906,6 +916,21 @@ return cnt - read; } +static __always_inline bool full_hit(struct trace_buffer *buffer, int cpu, int full) +{ + struct ring_buffer_per_cpu *cpu_buffer = buffer->buffers[cpu]; + size_t nr_pages; + size_t dirty; + + nr_pages = cpu_buffer->nr_pages; + if (!nr_pages || !full) + return true; + + dirty = ring_buffer_nr_dirty_pages(buffer, cpu); + + return (dirty * 100) > (full * nr_pages); +} + /* * rb_wake_up_waiters - wake up tasks waiting for ring buffer input * @@ -917,13 +942,56 @@ struct rb_irq_work *rbwork = container_of(work, struct rb_irq_work, work); wake_up_all(&rbwork->waiters); - if (rbwork->wakeup_full) { + if (rbwork->full_waiters_pending || rbwork->wakeup_full) { rbwork->wakeup_full = false; + rbwork->full_waiters_pending = false; wake_up_all(&rbwork->full_waiters); } } /** + * ring_buffer_wake_waiters - wake up any waiters on this ring buffer + * @buffer: The ring buffer to wake waiters on + * + * In the case of a file that represents a ring buffer is closing, + * it is prudent to wake up any waiters that are on this. + */ +void ring_buffer_wake_waiters(struct trace_buffer *buffer, int cpu) +{ + struct ring_buffer_per_cpu *cpu_buffer; + struct rb_irq_work *rbwork; + + if (!buffer) + return; + + if (cpu == RING_BUFFER_ALL_CPUS) { + + /* Wake up individual ones too. One level recursion */ + for_each_buffer_cpu(buffer, cpu) + ring_buffer_wake_waiters(buffer, cpu); + + rbwork = &buffer->irq_work; + } else { + if (WARN_ON_ONCE(!buffer->buffers)) + return; + if (WARN_ON_ONCE(cpu >= nr_cpu_ids)) + return; + + cpu_buffer = buffer->buffers[cpu]; + /* The CPU buffer may not have been initialized yet */ + if (!cpu_buffer) + return; + rbwork = &cpu_buffer->irq_work; + } + + rbwork->wait_index++; + /* make sure the waiters see the new index */ + smp_wmb(); + + rb_wake_up_waiters(&rbwork->work); +} + +/** * ring_buffer_wait - wait for input to the ring buffer * @buffer: buffer to wait on * @cpu: the cpu buffer to wait on @@ -938,6 +1006,7 @@ struct ring_buffer_per_cpu *cpu_buffer; DEFINE_WAIT(wait); struct rb_irq_work *work; + long wait_index; int ret = 0; /* @@ -956,6 +1025,7 @@ work = &cpu_buffer->irq_work; } + wait_index = READ_ONCE(work->wait_index); while (true) { if (full) @@ -1000,26 +1070,29 @@ !ring_buffer_empty_cpu(buffer, cpu)) { unsigned long flags; bool pagebusy; - size_t nr_pages; - size_t dirty; + bool done; if (!full) break; raw_spin_lock_irqsave(&cpu_buffer->reader_lock, flags); pagebusy = cpu_buffer->reader_page == cpu_buffer->commit_page; - nr_pages = cpu_buffer->nr_pages; - dirty = ring_buffer_nr_dirty_pages(buffer, cpu); + done = !pagebusy && full_hit(buffer, cpu, full); + if (!cpu_buffer->shortest_full || - cpu_buffer->shortest_full < full) + cpu_buffer->shortest_full > full) cpu_buffer->shortest_full = full; raw_spin_unlock_irqrestore(&cpu_buffer->reader_lock, flags); - if (!pagebusy && - (!nr_pages || (dirty * 100) > full * nr_pages)) + if (done) break; } schedule(); + + /* Make sure to see the new wait index */ + smp_rmb(); + if (wait_index != work->wait_index) + break; } if (full) @@ -1036,6 +1109,7 @@ * @cpu: the cpu buffer to wait on * @filp: the file descriptor * @poll_table: The poll descriptor + * @full: wait until the percentage of pages are available, if @cpu != RING_BUFFER_ALL_CPUS * * If @cpu == RING_BUFFER_ALL_CPUS then the task will wake up as soon * as data is added to any of the @buffer's cpu buffers. Otherwise @@ -1045,14 +1119,15 @@ * zero otherwise. */ __poll_t ring_buffer_poll_wait(struct trace_buffer *buffer, int cpu, - struct file *filp, poll_table *poll_table) + struct file *filp, poll_table *poll_table, int full) { struct ring_buffer_per_cpu *cpu_buffer; struct rb_irq_work *work; - if (cpu == RING_BUFFER_ALL_CPUS) + if (cpu == RING_BUFFER_ALL_CPUS) { work = &buffer->irq_work; - else { + full = 0; + } else { if (!cpumask_test_cpu(cpu, buffer->cpumask)) return -EINVAL; @@ -1060,8 +1135,14 @@ work = &cpu_buffer->irq_work; } - poll_wait(filp, &work->waiters, poll_table); - work->waiters_pending = true; + if (full) { + poll_wait(filp, &work->full_waiters, poll_table); + work->full_waiters_pending = true; + } else { + poll_wait(filp, &work->waiters, poll_table); + work->waiters_pending = true; + } + /* * There's a tight race between setting the waiters_pending and * checking if the ring buffer is empty. Once the waiters_pending bit @@ -1077,6 +1158,9 @@ */ smp_mb(); + if (full) + return full_hit(buffer, cpu, full) ? EPOLLIN | EPOLLRDNORM : 0; + if ((cpu == RING_BUFFER_ALL_CPUS && !ring_buffer_empty(buffer)) || (cpu != RING_BUFFER_ALL_CPUS && !ring_buffer_empty_cpu(buffer, cpu))) return EPOLLIN | EPOLLRDNORM; @@ -1497,19 +1581,6 @@ } /** - * rb_check_list - make sure a pointer to a list has the last bits zero - */ -static int rb_check_list(struct ring_buffer_per_cpu *cpu_buffer, - struct list_head *list) -{ - if (RB_WARN_ON(cpu_buffer, rb_list_head(list->prev) != list->prev)) - return 1; - if (RB_WARN_ON(cpu_buffer, rb_list_head(list->next) != list->next)) - return 1; - return 0; -} - -/** * rb_check_pages - integrity check of buffer pages * @cpu_buffer: CPU buffer with pages to test * @@ -1518,36 +1589,27 @@ */ static int rb_check_pages(struct ring_buffer_per_cpu *cpu_buffer) { - struct list_head *head = cpu_buffer->pages; - struct buffer_page *bpage, *tmp; + struct list_head *head = rb_list_head(cpu_buffer->pages); + struct list_head *tmp; - /* Reset the head page if it exists */ - if (cpu_buffer->head_page) - rb_set_head_page(cpu_buffer); - - rb_head_page_deactivate(cpu_buffer); - - if (RB_WARN_ON(cpu_buffer, head->next->prev != head)) - return -1; - if (RB_WARN_ON(cpu_buffer, head->prev->next != head)) + if (RB_WARN_ON(cpu_buffer, + rb_list_head(rb_list_head(head->next)->prev) != head)) return -1; - if (rb_check_list(cpu_buffer, head)) + if (RB_WARN_ON(cpu_buffer, + rb_list_head(rb_list_head(head->prev)->next) != head)) return -1; - list_for_each_entry_safe(bpage, tmp, head, list) { + for (tmp = rb_list_head(head->next); tmp != head; tmp = rb_list_head(tmp->next)) { if (RB_WARN_ON(cpu_buffer, - bpage->list.next->prev != &bpage->list)) + rb_list_head(rb_list_head(tmp->next)->prev) != tmp)) return -1; + if (RB_WARN_ON(cpu_buffer, - bpage->list.prev->next != &bpage->list)) - return -1; - if (rb_check_list(cpu_buffer, &bpage->list)) + rb_list_head(rb_list_head(tmp->prev)->next) != tmp)) return -1; } - rb_head_page_activate(cpu_buffer); - return 0; } @@ -1718,9 +1780,9 @@ free_buffer_page(cpu_buffer->reader_page); - rb_head_page_deactivate(cpu_buffer); - if (head) { + rb_head_page_deactivate(cpu_buffer); + list_for_each_entry_safe(bpage, tmp, head, list) { list_del_init(&bpage->list); free_buffer_page(bpage); @@ -1956,6 +2018,7 @@ */ local_add(page_entries, &cpu_buffer->overrun); local_sub(BUF_PAGE_SIZE, &cpu_buffer->entries_bytes); + local_inc(&cpu_buffer->pages_lost); } /* @@ -2440,6 +2503,7 @@ */ local_add(entries, &cpu_buffer->overrun); local_sub(BUF_PAGE_SIZE, &cpu_buffer->entries_bytes); + local_inc(&cpu_buffer->pages_lost); /* * The entries will be zeroed out when we move the @@ -2608,6 +2672,9 @@ /* Mark the rest of the page with padding */ rb_event_set_padding(event); + /* Make sure the padding is visible before the write update */ + smp_wmb(); + /* Set the write back to the previous setting */ local_sub(length, &tail_page->write); return; @@ -2619,6 +2686,9 @@ /* time delta must be non zero */ event->time_delta = 1; + /* Make sure the padding is visible before the tail_page->write update */ + smp_wmb(); + /* Set write to end of buffer */ length = (tail + length) - BUF_PAGE_SIZE; local_sub(length, &tail_page->write); @@ -3098,10 +3168,6 @@ static __always_inline void rb_wakeups(struct trace_buffer *buffer, struct ring_buffer_per_cpu *cpu_buffer) { - size_t nr_pages; - size_t dirty; - size_t full; - if (buffer->irq_work.waiters_pending) { buffer->irq_work.waiters_pending = false; /* irq_work_queue() supplies it's own memory barriers */ @@ -3125,10 +3191,7 @@ cpu_buffer->last_pages_touch = local_read(&cpu_buffer->pages_touched); - full = cpu_buffer->shortest_full; - nr_pages = cpu_buffer->nr_pages; - dirty = ring_buffer_nr_dirty_pages(buffer, cpu_buffer->cpu); - if (full && nr_pages && (dirty * 100) <= full * nr_pages) + if (!full_hit(buffer, cpu_buffer->cpu, cpu_buffer->shortest_full)) return; cpu_buffer->irq_work.wakeup_full = true; @@ -4587,6 +4650,33 @@ arch_spin_unlock(&cpu_buffer->lock); local_irq_restore(flags); + /* + * The writer has preempt disable, wait for it. But not forever + * Although, 1 second is pretty much "forever" + */ +#define USECS_WAIT 1000000 + for (nr_loops = 0; nr_loops < USECS_WAIT; nr_loops++) { + /* If the write is past the end of page, a writer is still updating it */ + if (likely(!reader || rb_page_write(reader) <= BUF_PAGE_SIZE)) + break; + + udelay(1); + + /* Get the latest version of the reader write value */ + smp_rmb(); + } + + /* The writer is not moving forward? Something is wrong */ + if (RB_WARN_ON(cpu_buffer, nr_loops == USECS_WAIT)) + reader = NULL; + + /* + * Make sure we see any padding after the write update + * (see rb_reset_tail()) + */ + smp_rmb(); + + return reader; } @@ -5164,6 +5254,7 @@ local_set(&cpu_buffer->committing, 0); local_set(&cpu_buffer->commits, 0); local_set(&cpu_buffer->pages_touched, 0); + local_set(&cpu_buffer->pages_lost, 0); local_set(&cpu_buffer->pages_read, 0); cpu_buffer->last_pages_touch = 0; cpu_buffer->shortest_full = 0; @@ -5616,7 +5707,15 @@ unsigned int pos = 0; unsigned int size; - if (full) + /* + * If a full page is expected, this can still be returned + * if there's been a previous partial read and the + * rest of the page can be read and the commit page is off + * the reader page. + */ + if (full && + (!read || (len < (commit - read)) || + cpu_buffer->reader_page == cpu_buffer->commit_page)) goto out_unlock; if (len > (commit - read)) --- linux-gcp-5.19.0.orig/kernel/trace/synth_event_gen_test.c +++ linux-gcp-5.19.0/kernel/trace/synth_event_gen_test.c @@ -120,15 +120,13 @@ /* Now generate a gen_synth_test event */ ret = synth_event_trace_array(gen_synth_test, vals, ARRAY_SIZE(vals)); - out: + free: + kfree(buf); return ret; delete: /* We got an error after creating the event, delete it */ synth_event_delete("gen_synth_test"); - free: - kfree(buf); - - goto out; + goto free; } /* @@ -227,15 +225,13 @@ /* Now trace an empty_synth_test event */ ret = synth_event_trace_array(empty_synth_test, vals, ARRAY_SIZE(vals)); - out: + free: + kfree(buf); return ret; delete: /* We got an error after creating the event, delete it */ synth_event_delete("empty_synth_test"); - free: - kfree(buf); - - goto out; + goto free; } static struct synth_field_desc create_synth_test_fields[] = { --- linux-gcp-5.19.0.orig/kernel/trace/trace.c +++ linux-gcp-5.19.0/kernel/trace/trace.c @@ -1193,12 +1193,14 @@ { void *cond_data = NULL; + local_irq_disable(); arch_spin_lock(&tr->max_lock); if (tr->cond_snapshot) cond_data = tr->cond_snapshot->cond_data; arch_spin_unlock(&tr->max_lock); + local_irq_enable(); return cond_data; } @@ -1334,9 +1336,11 @@ goto fail_unlock; } + local_irq_disable(); arch_spin_lock(&tr->max_lock); tr->cond_snapshot = cond_snapshot; arch_spin_unlock(&tr->max_lock); + local_irq_enable(); mutex_unlock(&trace_types_lock); @@ -1363,6 +1367,7 @@ { int ret = 0; + local_irq_disable(); arch_spin_lock(&tr->max_lock); if (!tr->cond_snapshot) @@ -1373,6 +1378,7 @@ } arch_spin_unlock(&tr->max_lock); + local_irq_enable(); return ret; } @@ -1415,6 +1421,7 @@ return false; } EXPORT_SYMBOL_GPL(tracing_snapshot_cond_disable); +#define free_snapshot(tr) do { } while (0) #endif /* CONFIG_TRACER_SNAPSHOT */ void tracer_tracing_off(struct trace_array *tr) @@ -1686,6 +1693,8 @@ } unsigned long __read_mostly tracing_thresh; + +#ifdef CONFIG_TRACER_MAX_TRACE static const struct file_operations tracing_max_lat_fops; #ifdef LATENCY_FS_NOTIFY @@ -1742,18 +1751,14 @@ irq_work_queue(&tr->fsnotify_irqwork); } -#elif defined(CONFIG_TRACER_MAX_TRACE) || defined(CONFIG_HWLAT_TRACER) \ - || defined(CONFIG_OSNOISE_TRACER) +#else /* !LATENCY_FS_NOTIFY */ #define trace_create_maxlat_file(tr, d_tracer) \ trace_create_file("tracing_max_latency", TRACE_MODE_WRITE, \ d_tracer, &tr->max_latency, &tracing_max_lat_fops) -#else -#define trace_create_maxlat_file(tr, d_tracer) do { } while (0) #endif -#ifdef CONFIG_TRACER_MAX_TRACE /* * Copy the new maximum trace into the separate maximum-trace * structure. (this way the maximum trace is permanently saved, @@ -1828,14 +1833,15 @@ ring_buffer_record_off(tr->max_buffer.buffer); #ifdef CONFIG_TRACER_SNAPSHOT - if (tr->cond_snapshot && !tr->cond_snapshot->update(tr, cond_data)) - goto out_unlock; + if (tr->cond_snapshot && !tr->cond_snapshot->update(tr, cond_data)) { + arch_spin_unlock(&tr->max_lock); + return; + } #endif swap(tr->array_buffer.buffer, tr->max_buffer.buffer); __update_max_tr(tr, tsk, cpu); - out_unlock: arch_spin_unlock(&tr->max_lock); } @@ -1882,6 +1888,7 @@ __update_max_tr(tr, tsk, cpu); arch_spin_unlock(&tr->max_lock); } + #endif /* CONFIG_TRACER_MAX_TRACE */ static int wait_on_pipe(struct trace_iterator *iter, int full) @@ -2200,6 +2207,11 @@ #define SAVED_CMDLINES_DEFAULT 128 #define NO_CMDLINE_MAP UINT_MAX +/* + * Preemption must be disabled before acquiring trace_cmdline_lock. + * The various trace_arrays' max_lock must be acquired in a context + * where interrupt is disabled. + */ static arch_spinlock_t trace_cmdline_lock = __ARCH_SPIN_LOCK_UNLOCKED; struct saved_cmdlines_buffer { unsigned map_pid_to_cmdline[PID_MAX_DEFAULT+1]; @@ -2412,7 +2424,11 @@ * the lock, but we also don't want to spin * nor do we want to disable interrupts, * so if we miss here, then better luck next time. + * + * This is called within the scheduler and wake up, so interrupts + * had better been disabled and run queue lock been held. */ + lockdep_assert_preemption_disabled(); if (!arch_spin_trylock(&trace_cmdline_lock)) return 0; @@ -5890,9 +5906,11 @@ char buf[64]; int r; + preempt_disable(); arch_spin_lock(&trace_cmdline_lock); r = scnprintf(buf, sizeof(buf), "%u\n", savedcmd->cmdline_num); arch_spin_unlock(&trace_cmdline_lock); + preempt_enable(); return simple_read_from_buffer(ubuf, cnt, ppos, buf, r); } @@ -5917,10 +5935,12 @@ return -ENOMEM; } + preempt_disable(); arch_spin_lock(&trace_cmdline_lock); savedcmd_temp = savedcmd; savedcmd = s; arch_spin_unlock(&trace_cmdline_lock); + preempt_enable(); free_saved_cmdlines_buffer(savedcmd_temp); return 0; @@ -6373,10 +6393,12 @@ #ifdef CONFIG_TRACER_SNAPSHOT if (t->use_max_tr) { + local_irq_disable(); arch_spin_lock(&tr->max_lock); if (tr->cond_snapshot) ret = -EBUSY; arch_spin_unlock(&tr->max_lock); + local_irq_enable(); if (ret) goto out; } @@ -6407,12 +6429,12 @@ if (tr->current_trace->reset) tr->current_trace->reset(tr); +#ifdef CONFIG_TRACER_MAX_TRACE + had_max_tr = tr->current_trace->use_max_tr; + /* Current trace needs to be nop_trace before synchronize_rcu */ tr->current_trace = &nop_trace; -#ifdef CONFIG_TRACER_MAX_TRACE - had_max_tr = tr->allocated_snapshot; - if (had_max_tr && !t->use_max_tr) { /* * We need to make sure that the update_max_tr sees that @@ -6425,11 +6447,13 @@ free_snapshot(tr); } - if (t->use_max_tr && !had_max_tr) { + if (t->use_max_tr && !tr->allocated_snapshot) { ret = tracing_alloc_snapshot_instance(tr); if (ret < 0) goto out; } +#else + tr->current_trace = &nop_trace; #endif if (t->init) { @@ -6540,7 +6564,7 @@ return ret; } -#if defined(CONFIG_TRACER_MAX_TRACE) || defined(CONFIG_HWLAT_TRACER) +#ifdef CONFIG_TRACER_MAX_TRACE static ssize_t tracing_max_lat_read(struct file *filp, char __user *ubuf, @@ -6634,6 +6658,7 @@ mutex_unlock(&trace_types_lock); free_cpumask_var(iter->started); + kfree(iter->fmt); mutex_destroy(&iter->mutex); kfree(iter); @@ -6658,7 +6683,7 @@ return EPOLLIN | EPOLLRDNORM; else return ring_buffer_poll_wait(iter->array_buffer->buffer, iter->cpu_file, - filp, poll_table); + filp, poll_table, iter->tr->buffer_percent); } static __poll_t @@ -6763,7 +6788,20 @@ ret = print_trace_line(iter); if (ret == TRACE_TYPE_PARTIAL_LINE) { - /* don't print partial lines */ + /* + * If one print_trace_line() fills entire trace_seq in one shot, + * trace_seq_to_user() will returns -EBUSY because save_len == 0, + * In this case, we need to consume it, otherwise, loop will peek + * this event next time, resulting in an infinite loop. + */ + if (save_len == 0) { + iter->seq.full = 0; + trace_seq_puts(&iter->seq, "[LINE TOO BIG]\n"); + trace_consume(iter); + break; + } + + /* In other cases, don't print partial lines */ iter->seq.seq.len = save_len; break; } @@ -7436,10 +7474,12 @@ goto out; } + local_irq_disable(); arch_spin_lock(&tr->max_lock); if (tr->cond_snapshot) ret = -EBUSY; arch_spin_unlock(&tr->max_lock); + local_irq_enable(); if (ret) goto out; @@ -7552,7 +7592,7 @@ .llseek = generic_file_llseek, }; -#if defined(CONFIG_TRACER_MAX_TRACE) || defined(CONFIG_HWLAT_TRACER) +#ifdef CONFIG_TRACER_MAX_TRACE static const struct file_operations tracing_max_lat_fops = { .open = tracing_open_generic, .read = tracing_max_lat_read, @@ -7777,6 +7817,7 @@ int len) { struct tracing_log_err *err; + char *cmd; if (tr->n_err_log_entries < TRACING_LOG_ERRS_MAX) { err = alloc_tracing_log_err(len); @@ -7785,12 +7826,12 @@ return err; } - + cmd = kzalloc(len, GFP_KERNEL); + if (!cmd) + return ERR_PTR(-ENOMEM); err = list_first_entry(&tr->err_log, struct tracing_log_err, list); kfree(err->cmd); - err->cmd = kzalloc(len, GFP_KERNEL); - if (!err->cmd) - return ERR_PTR(-ENOMEM); + err->cmd = cmd; list_del(&err->list); return err; @@ -8137,6 +8178,12 @@ __trace_array_put(iter->tr); + iter->wait_index++; + /* Make sure the waiters see the new wait_index */ + smp_wmb(); + + ring_buffer_wake_waiters(iter->array_buffer->buffer, iter->cpu_file); + if (info->spare) ring_buffer_free_read_page(iter->array_buffer->buffer, info->spare_cpu, info->spare); @@ -8290,6 +8337,8 @@ /* did we read anything? */ if (!spd.nr_pages) { + long wait_index; + if (ret) goto out; @@ -8297,10 +8346,21 @@ if ((file->f_flags & O_NONBLOCK) || (flags & SPLICE_F_NONBLOCK)) goto out; + wait_index = READ_ONCE(iter->wait_index); + ret = wait_on_pipe(iter, iter->tr->buffer_percent); if (ret) goto out; + /* No need to wait after waking up when tracing is off */ + if (!tracer_tracing_is_on(iter->tr)) + goto out; + + /* Make sure we see the new wait_index */ + smp_rmb(); + if (wait_index != iter->wait_index) + goto out; + goto again; } @@ -8311,12 +8371,34 @@ return ret; } +/* An ioctl call with cmd 0 to the ring buffer file will wake up all waiters */ +static long tracing_buffers_ioctl(struct file *file, unsigned int cmd, unsigned long arg) +{ + struct ftrace_buffer_info *info = file->private_data; + struct trace_iterator *iter = &info->iter; + + if (cmd) + return -ENOIOCTLCMD; + + mutex_lock(&trace_types_lock); + + iter->wait_index++; + /* Make sure the waiters see the new wait_index */ + smp_wmb(); + + ring_buffer_wake_waiters(iter->array_buffer->buffer, iter->cpu_file); + + mutex_unlock(&trace_types_lock); + return 0; +} + static const struct file_operations tracing_buffers_fops = { .open = tracing_buffers_open, .read = tracing_buffers_read, .poll = tracing_buffers_poll, .release = tracing_buffers_release, .splice_read = tracing_buffers_splice_read, + .unlocked_ioctl = tracing_buffers_ioctl, .llseek = no_llseek, }; @@ -9005,6 +9087,8 @@ tracer_tracing_off(tr); if (tr->current_trace->stop) tr->current_trace->stop(tr); + /* Wake up any waiters */ + ring_buffer_wake_waiters(buffer, RING_BUFFER_ALL_CPUS); } mutex_unlock(&trace_types_lock); } @@ -9051,9 +9135,6 @@ if (val > 100) return -EINVAL; - if (!val) - val = 1; - tr->buffer_percent = val; (*ppos)++; @@ -9525,7 +9606,9 @@ create_trace_options_dir(tr); +#ifdef CONFIG_TRACER_MAX_TRACE trace_create_maxlat_file(tr, d_tracer); +#endif if (ftrace_create_function_files(tr, d_tracer)) MEM_FAIL(1, "Could not allocate function filter files"); @@ -10197,6 +10280,8 @@ static_key_enable(&tracepoint_printk_key.key); } tracer_alloc_buffers(); + + init_events(); } void __init trace_init(void) --- linux-gcp-5.19.0.orig/kernel/trace/trace.h +++ linux-gcp-5.19.0/kernel/trace/trace.h @@ -308,8 +308,7 @@ struct array_buffer max_buffer; bool allocated_snapshot; #endif -#if defined(CONFIG_TRACER_MAX_TRACE) || defined(CONFIG_HWLAT_TRACER) \ - || defined(CONFIG_OSNOISE_TRACER) +#ifdef CONFIG_TRACER_MAX_TRACE unsigned long max_latency; #ifdef CONFIG_FSNOTIFY struct dentry *d_max_latency; @@ -687,12 +686,11 @@ void *cond_data); void update_max_tr_single(struct trace_array *tr, struct task_struct *tsk, int cpu); -#endif /* CONFIG_TRACER_MAX_TRACE */ -#if (defined(CONFIG_TRACER_MAX_TRACE) || defined(CONFIG_HWLAT_TRACER) \ - || defined(CONFIG_OSNOISE_TRACER)) && defined(CONFIG_FSNOTIFY) +#ifdef CONFIG_FSNOTIFY #define LATENCY_FS_NOTIFY #endif +#endif /* CONFIG_TRACER_MAX_TRACE */ #ifdef LATENCY_FS_NOTIFY void latency_fsnotify(struct trace_array *tr); @@ -1283,6 +1281,7 @@ int offset; int size; int is_signed; + int len; }; struct prog_entry; @@ -1504,6 +1503,7 @@ extern void trace_event_enable_tgid_record(bool enable); extern int event_trace_init(void); +extern int init_events(void); extern int event_trace_add_tracer(struct dentry *parent, struct trace_array *tr); extern int event_trace_del_tracer(struct trace_array *tr); extern void __trace_early_add_events(struct trace_array *tr); @@ -1968,17 +1968,30 @@ } /* Check the name is good for event/group/fields */ -static inline bool is_good_name(const char *name) +static inline bool __is_good_name(const char *name, bool hash_ok) { - if (!isalpha(*name) && *name != '_') + if (!isalpha(*name) && *name != '_' && (!hash_ok || *name != '-')) return false; while (*++name != '\0') { - if (!isalpha(*name) && !isdigit(*name) && *name != '_') + if (!isalpha(*name) && !isdigit(*name) && *name != '_' && + (!hash_ok || *name != '-')) return false; } return true; } +/* Check the name is good for event/group/fields */ +static inline bool is_good_name(const char *name) +{ + return __is_good_name(name, false); +} + +/* Check the name is good for system */ +static inline bool is_good_system_name(const char *name) +{ + return __is_good_name(name, true); +} + /* Convert certain expected symbols into '_' when generating event names */ static inline void sanitize_event_name(char *name) { --- linux-gcp-5.19.0.orig/kernel/trace/trace_dynevent.c +++ linux-gcp-5.19.0/kernel/trace/trace_dynevent.c @@ -118,6 +118,7 @@ if (ret) break; } + tracing_reset_all_online_cpus(); mutex_unlock(&event_mutex); out: argv_free(argv); @@ -214,6 +215,7 @@ break; } out: + tracing_reset_all_online_cpus(); mutex_unlock(&event_mutex); return ret; --- linux-gcp-5.19.0.orig/kernel/trace/trace_eprobe.c +++ linux-gcp-5.19.0/kernel/trace/trace_eprobe.c @@ -16,6 +16,7 @@ #include "trace_dynevent.h" #include "trace_probe.h" #include "trace_probe_tmpl.h" +#include "trace_probe_kernel.h" #define EPROBE_EVENT_SYSTEM "eprobes" @@ -226,6 +227,7 @@ struct probe_arg *parg = &ep->tp.args[i]; struct ftrace_event_field *field; struct list_head *head; + int ret = -ENOENT; head = trace_get_fields(ep->event); list_for_each_entry(field, head, link) { @@ -235,9 +237,20 @@ return 0; } } + + /* + * Argument not found on event. But allow for comm and COMM + * to be used to get the current->comm. + */ + if (strcmp(parg->code->data, "COMM") == 0 || + strcmp(parg->code->data, "comm") == 0) { + parg->code->op = FETCH_OP_COMM; + ret = 0; + } + kfree(parg->code->data); parg->code->data = NULL; - return -ENOENT; + return ret; } static int eprobe_event_define_fields(struct trace_event_call *event_call) @@ -310,6 +323,27 @@ addr = rec + field->offset; + if (is_string_field(field)) { + switch (field->filter_type) { + case FILTER_DYN_STRING: + val = (unsigned long)(rec + (*(unsigned int *)addr & 0xffff)); + break; + case FILTER_RDYN_STRING: + val = (unsigned long)(addr + (*(unsigned int *)addr & 0xffff)); + break; + case FILTER_STATIC_STRING: + val = (unsigned long)addr; + break; + case FILTER_PTR_STRING: + val = (unsigned long)(*(char *)addr); + break; + default: + WARN_ON_ONCE(1); + return 0; + } + return val; + } + switch (field->size) { case 1: if (field->is_signed) @@ -341,16 +375,38 @@ static int get_eprobe_size(struct trace_probe *tp, void *rec) { + struct fetch_insn *code; struct probe_arg *arg; int i, len, ret = 0; for (i = 0; i < tp->nr_args; i++) { arg = tp->args + i; - if (unlikely(arg->dynamic)) { + if (arg->dynamic) { unsigned long val; - val = get_event_field(arg->code, rec); - len = process_fetch_insn_bottom(arg->code + 1, val, NULL, NULL); + code = arg->code; + retry: + switch (code->op) { + case FETCH_OP_TP_ARG: + val = get_event_field(code, rec); + break; + case FETCH_OP_IMM: + val = code->immediate; + break; + case FETCH_OP_COMM: + val = (unsigned long)current->comm; + break; + case FETCH_OP_DATA: + val = (unsigned long)code->data; + break; + case FETCH_NOP_SYMBOL: /* Ignore a place holder */ + code++; + goto retry; + default: + continue; + } + code++; + len = process_fetch_insn_bottom(code, val, NULL, NULL); if (len > 0) ret += len; } @@ -368,8 +424,28 @@ { unsigned long val; - val = get_event_field(code, rec); - return process_fetch_insn_bottom(code + 1, val, dest, base); + retry: + switch (code->op) { + case FETCH_OP_TP_ARG: + val = get_event_field(code, rec); + break; + case FETCH_OP_IMM: + val = code->immediate; + break; + case FETCH_OP_COMM: + val = (unsigned long)current->comm; + break; + case FETCH_OP_DATA: + val = (unsigned long)code->data; + break; + case FETCH_NOP_SYMBOL: /* Ignore a place holder */ + code++; + goto retry; + default: + return -EILSEQ; + } + code++; + return process_fetch_insn_bottom(code, val, dest, base); } NOKPROBE_SYMBOL(process_fetch_insn) @@ -377,29 +453,14 @@ static nokprobe_inline int fetch_store_strlen_user(unsigned long addr) { - const void __user *uaddr = (__force const void __user *)addr; - - return strnlen_user_nofault(uaddr, MAX_STRING_SIZE); + return kern_fetch_store_strlen_user(addr); } /* Return the length of string -- including null terminal byte */ static nokprobe_inline int fetch_store_strlen(unsigned long addr) { - int ret, len = 0; - u8 c; - -#ifdef CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE - if (addr < TASK_SIZE) - return fetch_store_strlen_user(addr); -#endif - - do { - ret = copy_from_kernel_nofault(&c, (u8 *)addr + len, 1); - len++; - } while (c && ret == 0 && len < MAX_STRING_SIZE); - - return (ret < 0) ? ret : len; + return kern_fetch_store_strlen(addr); } /* @@ -409,21 +470,7 @@ static nokprobe_inline int fetch_store_string_user(unsigned long addr, void *dest, void *base) { - const void __user *uaddr = (__force const void __user *)addr; - int maxlen = get_loc_len(*(u32 *)dest); - void *__dest; - long ret; - - if (unlikely(!maxlen)) - return -ENOMEM; - - __dest = get_loc_data(dest, base); - - ret = strncpy_from_user_nofault(__dest, uaddr, maxlen); - if (ret >= 0) - *(u32 *)dest = make_data_loc(ret, __dest - base); - - return ret; + return kern_fetch_store_string_user(addr, dest, base); } /* @@ -433,29 +480,7 @@ static nokprobe_inline int fetch_store_string(unsigned long addr, void *dest, void *base) { - int maxlen = get_loc_len(*(u32 *)dest); - void *__dest; - long ret; - -#ifdef CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE - if ((unsigned long)addr < TASK_SIZE) - return fetch_store_string_user(addr, dest, base); -#endif - - if (unlikely(!maxlen)) - return -ENOMEM; - - __dest = get_loc_data(dest, base); - - /* - * Try to get string again, since the string can be changed while - * probing. - */ - ret = strncpy_from_kernel_nofault(__dest, (void *)addr, maxlen); - if (ret >= 0) - *(u32 *)dest = make_data_loc(ret, __dest - base); - - return ret; + return kern_fetch_store_string(addr, dest, base); } static nokprobe_inline int @@ -534,6 +559,12 @@ { struct eprobe_data *edata = data->private_data; + if (unlikely(!rec)) + return; + + if (unlikely(!rec)) + return; + __eprobe_trace_func(edata, rec); } @@ -841,6 +872,10 @@ if (ep->tp.args[i].code->op == FETCH_OP_TP_ARG) ret = trace_eprobe_tp_arg_update(ep, i); + /* Handle symbols "@" */ + if (!ret) + ret = traceprobe_update_arg(&ep->tp.args[i]); + return ret; } --- linux-gcp-5.19.0.orig/kernel/trace/trace_event_perf.c +++ linux-gcp-5.19.0/kernel/trace/trace_event_perf.c @@ -157,7 +157,7 @@ int i; if (--tp_event->perf_refcount > 0) - goto out; + return; tp_event->class->reg(tp_event, TRACE_REG_PERF_UNREGISTER, NULL); @@ -176,8 +176,6 @@ perf_trace_buf[i] = NULL; } } -out: - trace_event_put_ref(tp_event); } static int perf_trace_event_open(struct perf_event *p_event) @@ -241,6 +239,7 @@ mutex_lock(&event_mutex); perf_trace_event_close(p_event); perf_trace_event_unreg(p_event); + trace_event_put_ref(p_event->tp_event); mutex_unlock(&event_mutex); } @@ -292,6 +291,7 @@ mutex_lock(&event_mutex); perf_trace_event_close(p_event); perf_trace_event_unreg(p_event); + trace_event_put_ref(p_event->tp_event); mutex_unlock(&event_mutex); destroy_local_trace_kprobe(p_event->tp_event); @@ -347,6 +347,7 @@ mutex_lock(&event_mutex); perf_trace_event_close(p_event); perf_trace_event_unreg(p_event); + trace_event_put_ref(p_event->tp_event); mutex_unlock(&event_mutex); destroy_local_trace_uprobe(p_event->tp_event); } --- linux-gcp-5.19.0.orig/kernel/trace/trace_events.c +++ linux-gcp-5.19.0/kernel/trace/trace_events.c @@ -114,7 +114,7 @@ static int __trace_define_field(struct list_head *head, const char *type, const char *name, int offset, int size, - int is_signed, int filter_type) + int is_signed, int filter_type, int len) { struct ftrace_event_field *field; @@ -133,6 +133,7 @@ field->offset = offset; field->size = size; field->is_signed = is_signed; + field->len = len; list_add(&field->link, head); @@ -150,14 +151,28 @@ head = trace_get_fields(call); return __trace_define_field(head, type, name, offset, size, - is_signed, filter_type); + is_signed, filter_type, 0); } EXPORT_SYMBOL_GPL(trace_define_field); +static int trace_define_field_ext(struct trace_event_call *call, const char *type, + const char *name, int offset, int size, int is_signed, + int filter_type, int len) +{ + struct list_head *head; + + if (WARN_ON(!call->class)) + return 0; + + head = trace_get_fields(call); + return __trace_define_field(head, type, name, offset, size, + is_signed, filter_type, len); +} + #define __generic_field(type, item, filter_type) \ ret = __trace_define_field(&ftrace_generic_fields, #type, \ #item, 0, 0, is_signed_type(type), \ - filter_type); \ + filter_type, 0); \ if (ret) \ return ret; @@ -166,7 +181,7 @@ "common_" #item, \ offsetof(typeof(ent), item), \ sizeof(ent.item), \ - is_signed_type(type), FILTER_OTHER); \ + is_signed_type(type), FILTER_OTHER, 0); \ if (ret) \ return ret; @@ -176,6 +191,7 @@ __generic_field(int, CPU, FILTER_CPU); __generic_field(int, cpu, FILTER_CPU); + __generic_field(int, common_cpu, FILTER_CPU); __generic_field(char *, COMM, FILTER_COMM); __generic_field(char *, comm, FILTER_COMM); @@ -1587,12 +1603,17 @@ seq_printf(m, "\tfield:%s %s;\toffset:%u;\tsize:%u;\tsigned:%d;\n", field->type, field->name, field->offset, field->size, !!field->is_signed); - else - seq_printf(m, "\tfield:%.*s %s%s;\toffset:%u;\tsize:%u;\tsigned:%d;\n", + else if (field->len) + seq_printf(m, "\tfield:%.*s %s[%d];\toffset:%u;\tsize:%u;\tsigned:%d;\n", (int)(array_descriptor - field->type), field->type, field->name, - array_descriptor, field->offset, + field->len, field->offset, field->size, !!field->is_signed); + else + seq_printf(m, "\tfield:%.*s %s[];\toffset:%u;\tsize:%u;\tsigned:%d;\n", + (int)(array_descriptor - field->type), + field->type, field->name, + field->offset, field->size, !!field->is_signed); return 0; } @@ -2378,9 +2399,10 @@ } offset = ALIGN(offset, field->align); - ret = trace_define_field(call, field->type, field->name, + ret = trace_define_field_ext(call, field->type, field->name, offset, field->size, - field->is_signed, field->filter_type); + field->is_signed, field->filter_type, + field->len); if (WARN_ON_ONCE(ret)) { pr_err("error code is %d\n", ret); break; @@ -2879,7 +2901,10 @@ * TRACE_REG_UNREGISTER. */ if (file->flags & EVENT_FILE_FL_ENABLED) - return -EBUSY; + goto busy; + + if (file->flags & EVENT_FILE_FL_WAS_ENABLED) + tr->clear_trace = true; /* * The do_for_each_event_file_safe() is * a double loop. After finding the call for this @@ -2892,6 +2917,12 @@ __trace_remove_event_call(call); return 0; + busy: + /* No need to clear the trace now */ + list_for_each_entry(tr, &ftrace_trace_arrays, list) { + tr->clear_trace = false; + } + return -EBUSY; } /* Remove an event_call */ --- linux-gcp-5.19.0.orig/kernel/trace/trace_events_hist.c +++ linux-gcp-5.19.0/kernel/trace/trace_events_hist.c @@ -588,7 +588,7 @@ * event param, and is passed to the synthetic event * invocation. */ - unsigned int var_ref_idx[TRACING_MAP_VARS_MAX]; + unsigned int var_ref_idx[SYNTH_FIELDS_MAX]; struct synth_event *synth_event; bool use_trace_keyword; char *synth_event_name; @@ -1952,6 +1952,8 @@ hist_field->fn = flags & HIST_FIELD_FL_LOG2 ? hist_field_log2 : hist_field_bucket; hist_field->operands[0] = create_hist_field(hist_data, field, fl, NULL); + if (!hist_field->operands[0]) + goto free; hist_field->size = hist_field->operands[0]->size; hist_field->type = kstrdup_const(hist_field->operands[0]->type, GFP_KERNEL); if (!hist_field->type) @@ -2150,7 +2152,9 @@ return ref_field; } } - + /* Sanity check to avoid out-of-bound write on 'hist_data->var_refs' */ + if (hist_data->n_var_refs >= TRACING_MAP_VARS_MAX) + return NULL; ref_field = create_hist_field(var_field->hist_data, NULL, flags, NULL); if (ref_field) { if (init_var_ref(ref_field, var_field, system, event_name)) { @@ -3562,6 +3566,7 @@ while (params) { if (data->n_params >= SYNTH_FIELDS_MAX) { hist_err(tr, HIST_ERR_TOO_MANY_PARAMS, 0); + ret = -EINVAL; goto out; } @@ -3898,6 +3903,10 @@ lockdep_assert_held(&event_mutex); + /* Sanity check to avoid out-of-bound write on 'data->var_ref_idx' */ + if (data->n_params > SYNTH_FIELDS_MAX) + return -EINVAL; + if (data->use_trace_keyword) synth_event_name = data->synth_event_name; else @@ -5052,6 +5061,9 @@ void *key = NULL; unsigned int i; + if (unlikely(!rbe)) + return; + memset(compound_key, 0, hist_data->key_size); for_each_hist_key_field(i, hist_data) { @@ -6344,7 +6356,7 @@ if (se) se->ref++; out: - if (ret == 0) + if (ret == 0 && glob[0]) hist_err_clear(); return ret; --- linux-gcp-5.19.0.orig/kernel/trace/trace_events_synth.c +++ linux-gcp-5.19.0/kernel/trace/trace_events_synth.c @@ -17,6 +17,8 @@ /* for gfp flag names */ #include #include +#include "trace_probe.h" +#include "trace_probe_kernel.h" #include "trace_synth.h" @@ -409,6 +411,7 @@ { unsigned int len = 0; char *str_field; + int ret; if (is_dynamic) { u32 data_offset; @@ -417,19 +420,27 @@ data_offset += event->n_u64 * sizeof(u64); data_offset += data_size; - str_field = (char *)entry + data_offset; - - len = strlen(str_val) + 1; - strscpy(str_field, str_val, len); + len = kern_fetch_store_strlen((unsigned long)str_val); data_offset |= len << 16; *(u32 *)&entry->fields[*n_u64] = data_offset; + ret = kern_fetch_store_string((unsigned long)str_val, &entry->fields[*n_u64], entry); + (*n_u64)++; } else { str_field = (char *)&entry->fields[*n_u64]; - strscpy(str_field, str_val, STR_VAR_LEN_MAX); +#ifdef CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE + if ((unsigned long)str_val < TASK_SIZE) + ret = strncpy_from_user_nofault(str_field, str_val, STR_VAR_LEN_MAX); + else +#endif + ret = strncpy_from_kernel_nofault(str_field, str_val, STR_VAR_LEN_MAX); + + if (ret < 0) + strcpy(str_field, FAULT_STRING); + (*n_u64) += STR_VAR_LEN_MAX / sizeof(u64); } @@ -462,7 +473,7 @@ val_idx = var_ref_idx[field_pos]; str_val = (char *)(long)var_ref_vals[val_idx]; - len = strlen(str_val) + 1; + len = kern_fetch_store_strlen((unsigned long)str_val); fields_size += len; } @@ -817,10 +828,9 @@ } ret = set_synth_event_print_fmt(call); - if (ret < 0) { + /* unregister_trace_event() will be called inside */ + if (ret < 0) trace_remove_event_call(call); - goto err; - } out: return ret; err: @@ -1272,12 +1282,12 @@ goto err_free_arg; } - fields[n_fields++] = field; if (n_fields == SYNTH_FIELDS_MAX) { synth_err(SYNTH_ERR_TOO_MANY_FIELDS, 0); ret = -EINVAL; goto err_free_arg; } + fields[n_fields++] = field; n_fields_this_loop++; } --- linux-gcp-5.19.0.orig/kernel/trace/trace_events_trigger.c +++ linux-gcp-5.19.0/kernel/trace/trace_events_trigger.c @@ -142,7 +142,8 @@ { struct event_trigger_data *data; - list_for_each_entry_rcu(data, &file->triggers, list) { + list_for_each_entry_rcu(data, &file->triggers, list, + lockdep_is_held(&event_mutex)) { if (data->flags & EVENT_TRIGGER_FL_PROBE) continue; return true; --- linux-gcp-5.19.0.orig/kernel/trace/trace_events_user.c +++ linux-gcp-5.19.0/kernel/trace/trace_events_user.c @@ -1127,6 +1127,7 @@ put_user: user_event_destroy_fields(user); user_event_destroy_validators(user); + kfree(user->call.print_fmt); kfree(user); return ret; } --- linux-gcp-5.19.0.orig/kernel/trace/trace_export.c +++ linux-gcp-5.19.0/kernel/trace/trace_export.c @@ -111,7 +111,8 @@ #define __array(_type, _item, _len) { \ .type = #_type"["__stringify(_len)"]", .name = #_item, \ .size = sizeof(_type[_len]), .align = __alignof__(_type), \ - is_signed_type(_type), .filter_type = FILTER_OTHER }, + is_signed_type(_type), .filter_type = FILTER_OTHER, \ + .len = _len }, #undef __array_desc #define __array_desc(_type, _container, _item, _len) __array(_type, _item, _len) --- linux-gcp-5.19.0.orig/kernel/trace/trace_kprobe.c +++ linux-gcp-5.19.0/kernel/trace/trace_kprobe.c @@ -20,6 +20,7 @@ #include "trace_kprobe_selftest.h" #include "trace_probe.h" #include "trace_probe_tmpl.h" +#include "trace_probe_kernel.h" #define KPROBE_EVENT_SYSTEM "kprobes" #define KRETPROBE_MAXACTIVE_MAX 4096 @@ -1219,29 +1220,14 @@ static nokprobe_inline int fetch_store_strlen_user(unsigned long addr) { - const void __user *uaddr = (__force const void __user *)addr; - - return strnlen_user_nofault(uaddr, MAX_STRING_SIZE); + return kern_fetch_store_strlen_user(addr); } /* Return the length of string -- including null terminal byte */ static nokprobe_inline int fetch_store_strlen(unsigned long addr) { - int ret, len = 0; - u8 c; - -#ifdef CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE - if (addr < TASK_SIZE) - return fetch_store_strlen_user(addr); -#endif - - do { - ret = copy_from_kernel_nofault(&c, (u8 *)addr + len, 1); - len++; - } while (c && ret == 0 && len < MAX_STRING_SIZE); - - return (ret < 0) ? ret : len; + return kern_fetch_store_strlen(addr); } /* @@ -1251,21 +1237,7 @@ static nokprobe_inline int fetch_store_string_user(unsigned long addr, void *dest, void *base) { - const void __user *uaddr = (__force const void __user *)addr; - int maxlen = get_loc_len(*(u32 *)dest); - void *__dest; - long ret; - - if (unlikely(!maxlen)) - return -ENOMEM; - - __dest = get_loc_data(dest, base); - - ret = strncpy_from_user_nofault(__dest, uaddr, maxlen); - if (ret >= 0) - *(u32 *)dest = make_data_loc(ret, __dest - base); - - return ret; + return kern_fetch_store_string_user(addr, dest, base); } /* @@ -1275,29 +1247,7 @@ static nokprobe_inline int fetch_store_string(unsigned long addr, void *dest, void *base) { - int maxlen = get_loc_len(*(u32 *)dest); - void *__dest; - long ret; - -#ifdef CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE - if ((unsigned long)addr < TASK_SIZE) - return fetch_store_string_user(addr, dest, base); -#endif - - if (unlikely(!maxlen)) - return -ENOMEM; - - __dest = get_loc_data(dest, base); - - /* - * Try to get string again, since the string can be changed while - * probing. - */ - ret = strncpy_from_kernel_nofault(__dest, (void *)addr, maxlen); - if (ret >= 0) - *(u32 *)dest = make_data_loc(ret, __dest - base); - - return ret; + return kern_fetch_store_string(addr, dest, base); } static nokprobe_inline int --- linux-gcp-5.19.0.orig/kernel/trace/trace_osnoise.c +++ linux-gcp-5.19.0/kernel/trace/trace_osnoise.c @@ -125,9 +125,8 @@ * register/unregister serialization is provided by trace's * trace_types_lock. */ - lockdep_assert_held(&trace_types_lock); - - list_for_each_entry_rcu(inst, &osnoise_instances, list) { + list_for_each_entry_rcu(inst, &osnoise_instances, list, + lockdep_is_held(&trace_types_lock)) { if (inst->tr == tr) { list_del_rcu(&inst->list); found = 1; @@ -917,7 +916,7 @@ void osnoise_trace_irq_exit(int id, const char *desc) { struct osnoise_variables *osn_var = this_cpu_osn_var(); - int duration; + s64 duration; if (!osn_var->sampling) return; @@ -1048,7 +1047,7 @@ static void trace_softirq_exit_callback(void *data, unsigned int vec_nr) { struct osnoise_variables *osn_var = this_cpu_osn_var(); - int duration; + s64 duration; if (!osn_var->sampling) return; @@ -1144,7 +1143,7 @@ static void thread_exit(struct osnoise_variables *osn_var, struct task_struct *t) { - int duration; + s64 duration; if (!osn_var->sampling) return; @@ -1786,8 +1785,9 @@ for_each_cpu(cpu, current_mask) { retval = start_kthread(cpu); if (retval) { + cpus_read_unlock(); stop_per_cpu_kthreads(); - break; + return retval; } } --- linux-gcp-5.19.0.orig/kernel/trace/trace_output.c +++ linux-gcp-5.19.0/kernel/trace/trace_output.c @@ -1568,7 +1568,7 @@ NULL }; -__init static int init_events(void) +__init int init_events(void) { struct trace_event *event; int i, ret; @@ -1581,4 +1581,3 @@ return 0; } -early_initcall(init_events); --- linux-gcp-5.19.0.orig/kernel/trace/trace_preemptirq.c +++ linux-gcp-5.19.0/kernel/trace/trace_preemptirq.c @@ -95,14 +95,14 @@ } lockdep_hardirqs_on_prepare(); - lockdep_hardirqs_on(CALLER_ADDR0); + lockdep_hardirqs_on(caller_addr); } EXPORT_SYMBOL(trace_hardirqs_on_caller); NOKPROBE_SYMBOL(trace_hardirqs_on_caller); __visible void trace_hardirqs_off_caller(unsigned long caller_addr) { - lockdep_hardirqs_off(CALLER_ADDR0); + lockdep_hardirqs_off(caller_addr); if (!this_cpu_read(tracing_irq_cpu)) { this_cpu_write(tracing_irq_cpu, 1); --- linux-gcp-5.19.0.orig/kernel/trace/trace_probe.c +++ linux-gcp-5.19.0/kernel/trace/trace_probe.c @@ -246,7 +246,7 @@ return -EINVAL; } strlcpy(buf, event, slash - event + 1); - if (!is_good_name(buf)) { + if (!is_good_system_name(buf)) { trace_probe_log_err(offset, BAD_GROUP_NAME); return -EINVAL; } @@ -279,7 +279,14 @@ int ret = 0; int len; - if (strcmp(arg, "retval") == 0) { + if (flags & TPARG_FL_TPOINT) { + if (code->data) + return -EFAULT; + code->data = kstrdup(arg, GFP_KERNEL); + if (!code->data) + return -ENOMEM; + code->op = FETCH_OP_TP_ARG; + } else if (strcmp(arg, "retval") == 0) { if (flags & TPARG_FL_RETURN) { code->op = FETCH_OP_RETVAL; } else { @@ -303,7 +310,7 @@ } } else goto inval_var; - } else if (strcmp(arg, "comm") == 0) { + } else if (strcmp(arg, "comm") == 0 || strcmp(arg, "COMM") == 0) { code->op = FETCH_OP_COMM; #ifdef CONFIG_HAVE_FUNCTION_ARG_ACCESS_API } else if (((flags & TPARG_FL_MASK) == @@ -319,13 +326,6 @@ code->op = FETCH_OP_ARG; code->param = (unsigned int)param - 1; #endif - } else if (flags & TPARG_FL_TPOINT) { - if (code->data) - return -EFAULT; - code->data = kstrdup(arg, GFP_KERNEL); - if (!code->data) - return -ENOMEM; - code->op = FETCH_OP_TP_ARG; } else goto inval_var; @@ -380,6 +380,11 @@ break; case '%': /* named register */ + if (flags & TPARG_FL_TPOINT) { + /* eprobes do not handle registers */ + trace_probe_log_err(offs, BAD_VAR); + break; + } ret = regs_query_register_offset(arg + 1); if (ret >= 0) { code->op = FETCH_OP_REG; @@ -613,9 +618,11 @@ /* * Since $comm and immediate string can not be dereferenced, - * we can find those by strcmp. + * we can find those by strcmp. But ignore for eprobes. */ - if (strcmp(arg, "$comm") == 0 || strncmp(arg, "\\\"", 2) == 0) { + if (!(flags & TPARG_FL_TPOINT) && + (strcmp(arg, "$comm") == 0 || strcmp(arg, "$COMM") == 0 || + strncmp(arg, "\\\"", 2) == 0)) { /* The type of $comm must be "string", and not an array. */ if (parg->count || (t && strcmp(t, "string"))) goto out; --- linux-gcp-5.19.0.orig/kernel/trace/trace_probe_kernel.h +++ linux-gcp-5.19.0/kernel/trace/trace_probe_kernel.h @@ -0,0 +1,115 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __TRACE_PROBE_KERNEL_H_ +#define __TRACE_PROBE_KERNEL_H_ + +#define FAULT_STRING "(fault)" + +/* + * This depends on trace_probe.h, but can not include it due to + * the way trace_probe_tmpl.h is used by trace_kprobe.c and trace_eprobe.c. + * Which means that any other user must include trace_probe.h before including + * this file. + */ +/* Return the length of string -- including null terminal byte */ +static nokprobe_inline int +kern_fetch_store_strlen_user(unsigned long addr) +{ + const void __user *uaddr = (__force const void __user *)addr; + int ret; + + ret = strnlen_user_nofault(uaddr, MAX_STRING_SIZE); + /* + * strnlen_user_nofault returns zero on fault, insert the + * FAULT_STRING when that occurs. + */ + if (ret <= 0) + return strlen(FAULT_STRING) + 1; + return ret; +} + +/* Return the length of string -- including null terminal byte */ +static nokprobe_inline int +kern_fetch_store_strlen(unsigned long addr) +{ + int ret, len = 0; + u8 c; + +#ifdef CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE + if (addr < TASK_SIZE) + return kern_fetch_store_strlen_user(addr); +#endif + + do { + ret = copy_from_kernel_nofault(&c, (u8 *)addr + len, 1); + len++; + } while (c && ret == 0 && len < MAX_STRING_SIZE); + + /* For faults, return enough to hold the FAULT_STRING */ + return (ret < 0) ? strlen(FAULT_STRING) + 1 : len; +} + +static nokprobe_inline void set_data_loc(int ret, void *dest, void *__dest, void *base, int len) +{ + if (ret >= 0) { + *(u32 *)dest = make_data_loc(ret, __dest - base); + } else { + strscpy(__dest, FAULT_STRING, len); + ret = strlen(__dest) + 1; + } +} + +/* + * Fetch a null-terminated string from user. Caller MUST set *(u32 *)buf + * with max length and relative data location. + */ +static nokprobe_inline int +kern_fetch_store_string_user(unsigned long addr, void *dest, void *base) +{ + const void __user *uaddr = (__force const void __user *)addr; + int maxlen = get_loc_len(*(u32 *)dest); + void *__dest; + long ret; + + if (unlikely(!maxlen)) + return -ENOMEM; + + __dest = get_loc_data(dest, base); + + ret = strncpy_from_user_nofault(__dest, uaddr, maxlen); + set_data_loc(ret, dest, __dest, base, maxlen); + + return ret; +} + +/* + * Fetch a null-terminated string. Caller MUST set *(u32 *)buf with max + * length and relative data location. + */ +static nokprobe_inline int +kern_fetch_store_string(unsigned long addr, void *dest, void *base) +{ + int maxlen = get_loc_len(*(u32 *)dest); + void *__dest; + long ret; + +#ifdef CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE + if ((unsigned long)addr < TASK_SIZE) + return kern_fetch_store_string_user(addr, dest, base); +#endif + + if (unlikely(!maxlen)) + return -ENOMEM; + + __dest = get_loc_data(dest, base); + + /* + * Try to get string again, since the string can be changed while + * probing. + */ + ret = strncpy_from_kernel_nofault(__dest, (void *)addr, maxlen); + set_data_loc(ret, dest, __dest, base, maxlen); + + return ret; +} + +#endif /* __TRACE_PROBE_KERNEL_H_ */ --- linux-gcp-5.19.0.orig/kernel/user_namespace.c +++ linux-gcp-5.19.0/kernel/user_namespace.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -21,6 +22,12 @@ #include #include +/* + * sysctl determining whether unprivileged users may unshare a new + * userns. Allowed by default + */ +int unprivileged_userns_clone = 1; + static struct kmem_cache *user_ns_cachep __read_mostly; static DEFINE_MUTEX(userns_state_mutex); @@ -113,6 +120,10 @@ !kgid_has_mapping(parent_ns, group)) goto fail_dec; + ret = security_create_user_ns(new); + if (ret < 0) + goto fail_dec; + ret = -ENOMEM; ns = kmem_cache_zalloc(user_ns_cachep, GFP_KERNEL); if (!ns) --- linux-gcp-5.19.0.orig/kernel/watchdog.c +++ linux-gcp-5.19.0/kernel/watchdog.c @@ -537,7 +537,7 @@ return 0; } -static void lockup_detector_reconfigure(void) +static void __lockup_detector_reconfigure(void) { cpus_read_lock(); watchdog_nmi_stop(); @@ -557,6 +557,13 @@ __lockup_detector_cleanup(); } +void lockup_detector_reconfigure(void) +{ + mutex_lock(&watchdog_mutex); + __lockup_detector_reconfigure(); + mutex_unlock(&watchdog_mutex); +} + /* * Create the watchdog infrastructure and configure the detector(s). */ @@ -573,13 +580,13 @@ return; mutex_lock(&watchdog_mutex); - lockup_detector_reconfigure(); + __lockup_detector_reconfigure(); softlockup_initialized = true; mutex_unlock(&watchdog_mutex); } #else /* CONFIG_SOFTLOCKUP_DETECTOR */ -static void lockup_detector_reconfigure(void) +static void __lockup_detector_reconfigure(void) { cpus_read_lock(); watchdog_nmi_stop(); @@ -587,9 +594,13 @@ watchdog_nmi_start(); cpus_read_unlock(); } +void lockup_detector_reconfigure(void) +{ + __lockup_detector_reconfigure(); +} static inline void lockup_detector_setup(void) { - lockup_detector_reconfigure(); + __lockup_detector_reconfigure(); } #endif /* !CONFIG_SOFTLOCKUP_DETECTOR */ @@ -629,7 +640,7 @@ { /* Remove impossible cpus to keep sysctl output clean. */ cpumask_and(&watchdog_cpumask, &watchdog_cpumask, cpu_possible_mask); - lockup_detector_reconfigure(); + __lockup_detector_reconfigure(); } /* --- linux-gcp-5.19.0.orig/kernel/workqueue.c +++ linux-gcp-5.19.0/kernel/workqueue.c @@ -326,7 +326,7 @@ static LIST_HEAD(workqueues); /* PR: list of all workqueues */ static bool workqueue_freezing; /* PL: have wqs started freezing? */ -/* PL: allowable cpus for unbound wqs and work items */ +/* PL&A: allowable cpus for unbound wqs and work items */ static cpumask_var_t wq_unbound_cpumask; /* CPU where unbound work was last round robin scheduled from this CPU */ @@ -3066,10 +3066,8 @@ if (WARN_ON(!work->func)) return false; - if (!from_cancel) { - lock_map_acquire(&work->lockdep_map); - lock_map_release(&work->lockdep_map); - } + lock_map_acquire(&work->lockdep_map); + lock_map_release(&work->lockdep_map); if (start_flush_work(work, &barr, from_cancel)) { wait_for_completion(&barr.done); @@ -3945,7 +3943,8 @@ /* allocate the attrs and pwqs for later installation */ static struct apply_wqattrs_ctx * apply_wqattrs_prepare(struct workqueue_struct *wq, - const struct workqueue_attrs *attrs) + const struct workqueue_attrs *attrs, + const cpumask_var_t unbound_cpumask) { struct apply_wqattrs_ctx *ctx; struct workqueue_attrs *new_attrs, *tmp_attrs; @@ -3961,14 +3960,15 @@ goto out_free; /* - * Calculate the attrs of the default pwq. + * Calculate the attrs of the default pwq with unbound_cpumask + * which is wq_unbound_cpumask or to set to wq_unbound_cpumask. * If the user configured cpumask doesn't overlap with the * wq_unbound_cpumask, we fallback to the wq_unbound_cpumask. */ copy_workqueue_attrs(new_attrs, attrs); - cpumask_and(new_attrs->cpumask, new_attrs->cpumask, wq_unbound_cpumask); + cpumask_and(new_attrs->cpumask, new_attrs->cpumask, unbound_cpumask); if (unlikely(cpumask_empty(new_attrs->cpumask))) - cpumask_copy(new_attrs->cpumask, wq_unbound_cpumask); + cpumask_copy(new_attrs->cpumask, unbound_cpumask); /* * We may create multiple pwqs with differing cpumasks. Make a @@ -4065,7 +4065,7 @@ wq->flags &= ~__WQ_ORDERED; } - ctx = apply_wqattrs_prepare(wq, attrs); + ctx = apply_wqattrs_prepare(wq, attrs, wq_unbound_cpumask); if (!ctx) return -ENOMEM; @@ -5327,7 +5327,7 @@ } #endif /* CONFIG_FREEZER */ -static int workqueue_apply_unbound_cpumask(void) +static int workqueue_apply_unbound_cpumask(const cpumask_var_t unbound_cpumask) { LIST_HEAD(ctxs); int ret = 0; @@ -5343,7 +5343,7 @@ if (wq->flags & __WQ_ORDERED) continue; - ctx = apply_wqattrs_prepare(wq, wq->unbound_attrs); + ctx = apply_wqattrs_prepare(wq, wq->unbound_attrs, unbound_cpumask); if (!ctx) { ret = -ENOMEM; break; @@ -5358,6 +5358,11 @@ apply_wqattrs_cleanup(ctx); } + if (!ret) { + mutex_lock(&wq_pool_attach_mutex); + cpumask_copy(wq_unbound_cpumask, unbound_cpumask); + mutex_unlock(&wq_pool_attach_mutex); + } return ret; } @@ -5376,7 +5381,6 @@ int workqueue_set_unbound_cpumask(cpumask_var_t cpumask) { int ret = -EINVAL; - cpumask_var_t saved_cpumask; /* * Not excluding isolated cpus on purpose. @@ -5390,23 +5394,8 @@ goto out_unlock; } - if (!zalloc_cpumask_var(&saved_cpumask, GFP_KERNEL)) { - ret = -ENOMEM; - goto out_unlock; - } - - /* save the old wq_unbound_cpumask. */ - cpumask_copy(saved_cpumask, wq_unbound_cpumask); - - /* update wq_unbound_cpumask at first and apply it to wqs. */ - cpumask_copy(wq_unbound_cpumask, cpumask); - ret = workqueue_apply_unbound_cpumask(); - - /* restore the wq_unbound_cpumask when failed. */ - if (ret < 0) - cpumask_copy(wq_unbound_cpumask, saved_cpumask); + ret = workqueue_apply_unbound_cpumask(cpumask); - free_cpumask_var(saved_cpumask); out_unlock: apply_wqattrs_unlock(); } --- linux-gcp-5.19.0.orig/lib/Kconfig.debug +++ linux-gcp-5.19.0/lib/Kconfig.debug @@ -231,6 +231,11 @@ in the "Debug information" choice below, indicating that debug information will be generated for build targets. +# Clang is known to generate .{s,u}leb128 with symbol deltas with DWARF5, which +# some targets may not support: https://sourceware.org/bugzilla/show_bug.cgi?id=27215 +config AS_HAS_NON_CONST_LEB128 + def_bool $(as-instr,.uleb128 .Lexpr_end4 - .Lexpr_start3\n.Lexpr_start3:\n.Lexpr_end4:) + choice prompt "Debug information" depends on DEBUG_KERNEL @@ -253,6 +258,7 @@ config DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT bool "Rely on the toolchain's implicit default DWARF version" select DEBUG_INFO + depends on !CC_IS_CLANG || AS_IS_LLVM || CLANG_VERSION < 140000 || (AS_IS_GNU && AS_VERSION >= 23502 && AS_HAS_NON_CONST_LEB128) help The implicit default version of DWARF debug info produced by a toolchain changes over time. @@ -264,8 +270,10 @@ config DEBUG_INFO_DWARF4 bool "Generate DWARF Version 4 debuginfo" select DEBUG_INFO + depends on !CC_IS_CLANG || AS_IS_LLVM || (AS_IS_GNU && AS_VERSION >= 23502) help - Generate DWARF v4 debug info. This requires gcc 4.5+ and gdb 7.0+. + Generate DWARF v4 debug info. This requires gcc 4.5+, binutils 2.35.2 + if using clang without clang's integrated assembler, and gdb 7.0+. If you have consumers of DWARF debug info that are not ready for newer revisions of DWARF, you may wish to choose this or have your @@ -274,7 +282,7 @@ config DEBUG_INFO_DWARF5 bool "Generate DWARF Version 5 debuginfo" select DEBUG_INFO - depends on !CC_IS_CLANG || (CC_IS_CLANG && (AS_IS_LLVM || (AS_IS_GNU && AS_VERSION >= 23502))) + depends on !CC_IS_CLANG || AS_IS_LLVM || (AS_IS_GNU && AS_VERSION >= 23502 && AS_HAS_NON_CONST_LEB128) help Generate DWARF v5 debug info. Requires binutils 2.35.2, gcc 5.0+ (gcc 5.0+ accepts the -gdwarf-5 flag but only had partial support for some @@ -390,6 +398,7 @@ default 2048 if GCC_PLUGIN_LATENT_ENTROPY default 2048 if PARISC default 1536 if (!64BIT && XTENSA) + default 1280 if KASAN && !64BIT default 1024 if !64BIT default 2048 if 64BIT help @@ -1846,8 +1855,14 @@ If unsure, say N. config FUNCTION_ERROR_INJECTION - def_bool y + bool "Fault-injections of functions" depends on HAVE_FUNCTION_ERROR_INJECTION && KPROBES + help + Add fault injections into various functions that are annotated with + ALLOW_ERROR_INJECTION() in the kernel. BPF may also modify the return + value of theses functions. This is useful to test error paths of code. + + If unsure, say N config FAULT_INJECTION bool "Fault-injection framework" @@ -2045,6 +2060,7 @@ config TEST_SORT tristate "Array-based sort test" if !KUNIT_ALL_TESTS depends on KUNIT + select STACKTRACE if ARCH_CORRECT_STACKTRACE_ON_KRETPROBE default KUNIT_ALL_TESTS help This option enables the self-test function of 'sort()' at boot, @@ -2067,6 +2083,7 @@ depends on DEBUG_KERNEL depends on KPROBES depends on KUNIT + select STACKTRACE if ARCH_CORRECT_STACKTRACE_ON_KRETPROBE default KUNIT_ALL_TESTS help This option provides for testing basic kprobes functionality on --- linux-gcp-5.19.0.orig/lib/bitmap.c +++ linux-gcp-5.19.0/lib/bitmap.c @@ -1564,7 +1564,7 @@ /* Clear tail bits in the last element of array beyond nbits. */ if (nbits % 64) - buf[-1] &= GENMASK_ULL(nbits % 64, 0); + buf[-1] &= GENMASK_ULL((nbits - 1) % 64, 0); } EXPORT_SYMBOL(bitmap_to_arr64); #endif --- linux-gcp-5.19.0.orig/lib/crypto/Kconfig +++ linux-gcp-5.19.0/lib/crypto/Kconfig @@ -33,7 +33,6 @@ config CRYPTO_LIB_CHACHA_GENERIC tristate - select XOR_BLOCKS help This symbol can be depended upon by arch implementations of the ChaCha library interface that require the generic code as a --- linux-gcp-5.19.0.orig/lib/crypto/blake2s-selftest.c +++ linux-gcp-5.19.0/lib/crypto/blake2s-selftest.c @@ -4,6 +4,8 @@ */ #include +#include +#include #include /* @@ -587,5 +589,44 @@ } } + for (i = 0; i < 32; ++i) { + enum { TEST_ALIGNMENT = 16 }; + u8 unaligned_block[BLAKE2S_BLOCK_SIZE + TEST_ALIGNMENT - 1] + __aligned(TEST_ALIGNMENT); + u8 blocks[BLAKE2S_BLOCK_SIZE * 2]; + struct blake2s_state state1, state2; + + get_random_bytes(blocks, sizeof(blocks)); + get_random_bytes(&state, sizeof(state)); + +#if defined(CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC) && \ + defined(CONFIG_CRYPTO_ARCH_HAVE_LIB_BLAKE2S) + memcpy(&state1, &state, sizeof(state1)); + memcpy(&state2, &state, sizeof(state2)); + blake2s_compress(&state1, blocks, 2, BLAKE2S_BLOCK_SIZE); + blake2s_compress_generic(&state2, blocks, 2, BLAKE2S_BLOCK_SIZE); + if (memcmp(&state1, &state2, sizeof(state1))) { + pr_err("blake2s random compress self-test %d: FAIL\n", + i + 1); + success = false; + } +#endif + + memcpy(&state1, &state, sizeof(state1)); + blake2s_compress(&state1, blocks, 1, BLAKE2S_BLOCK_SIZE); + for (l = 1; l < TEST_ALIGNMENT; ++l) { + memcpy(unaligned_block + l, blocks, + BLAKE2S_BLOCK_SIZE); + memcpy(&state2, &state, sizeof(state2)); + blake2s_compress(&state2, unaligned_block + l, 1, + BLAKE2S_BLOCK_SIZE); + if (memcmp(&state1, &state2, sizeof(state1))) { + pr_err("blake2s random compress align %d self-test %d: FAIL\n", + l, i + 1); + success = false; + } + } + } + return success; } --- linux-gcp-5.19.0.orig/lib/crypto/blake2s.c +++ linux-gcp-5.19.0/lib/crypto/blake2s.c @@ -16,16 +16,44 @@ #include #include +static inline void blake2s_set_lastblock(struct blake2s_state *state) +{ + state->f[0] = -1; +} + void blake2s_update(struct blake2s_state *state, const u8 *in, size_t inlen) { - __blake2s_update(state, in, inlen, false); + const size_t fill = BLAKE2S_BLOCK_SIZE - state->buflen; + + if (unlikely(!inlen)) + return; + if (inlen > fill) { + memcpy(state->buf + state->buflen, in, fill); + blake2s_compress(state, state->buf, 1, BLAKE2S_BLOCK_SIZE); + state->buflen = 0; + in += fill; + inlen -= fill; + } + if (inlen > BLAKE2S_BLOCK_SIZE) { + const size_t nblocks = DIV_ROUND_UP(inlen, BLAKE2S_BLOCK_SIZE); + blake2s_compress(state, in, nblocks - 1, BLAKE2S_BLOCK_SIZE); + in += BLAKE2S_BLOCK_SIZE * (nblocks - 1); + inlen -= BLAKE2S_BLOCK_SIZE * (nblocks - 1); + } + memcpy(state->buf + state->buflen, in, inlen); + state->buflen += inlen; } EXPORT_SYMBOL(blake2s_update); void blake2s_final(struct blake2s_state *state, u8 *out) { WARN_ON(IS_ENABLED(DEBUG) && !out); - __blake2s_final(state, out, false); + blake2s_set_lastblock(state); + memset(state->buf + state->buflen, 0, + BLAKE2S_BLOCK_SIZE - state->buflen); /* Padding */ + blake2s_compress(state, state->buf, 1, state->buflen); + cpu_to_le32_array(state->h, ARRAY_SIZE(state->h)); + memcpy(out, state->h, state->outlen); memzero_explicit(state, sizeof(*state)); } EXPORT_SYMBOL(blake2s_final); @@ -38,12 +66,7 @@ return 0; } -static void __exit blake2s_mod_exit(void) -{ -} - module_init(blake2s_mod_init); -module_exit(blake2s_mod_exit); MODULE_LICENSE("GPL v2"); MODULE_DESCRIPTION("BLAKE2s hash function"); MODULE_AUTHOR("Jason A. Donenfeld "); --- linux-gcp-5.19.0.orig/lib/debugobjects.c +++ linux-gcp-5.19.0/lib/debugobjects.c @@ -437,6 +437,7 @@ struct debug_percpu_free *percpu_pool; struct hlist_node *tmp; struct debug_obj *obj; + unsigned long flags; /* Remote access is safe as the CPU is dead already */ percpu_pool = per_cpu_ptr(&percpu_obj_pool, cpu); @@ -444,6 +445,12 @@ hlist_del(&obj->node); kmem_cache_free(obj_cache, obj); } + + raw_spin_lock_irqsave(&pool_lock, flags); + obj_pool_used -= percpu_pool->obj_free; + debug_objects_freed += percpu_pool->obj_free; + raw_spin_unlock_irqrestore(&pool_lock, flags); + percpu_pool->obj_free = 0; return 0; @@ -1318,6 +1325,8 @@ hlist_add_head(&obj->node, &objects); } + debug_objects_allocated += i; + /* * debug_objects_mem_init() is now called early that only one CPU is up * and interrupts have been disabled, so it is safe to replace the @@ -1386,6 +1395,7 @@ debug_objects_enabled = 0; kmem_cache_destroy(obj_cache); pr_warn("out of memory.\n"); + return; } else debug_objects_selftest(); --- linux-gcp-5.19.0.orig/lib/dynamic_debug.c +++ linux-gcp-5.19.0/lib/dynamic_debug.c @@ -211,10 +211,11 @@ continue; #ifdef CONFIG_JUMP_LABEL if (dp->flags & _DPRINTK_FLAGS_PRINT) { - if (!(modifiers->flags & _DPRINTK_FLAGS_PRINT)) + if (!(newflags & _DPRINTK_FLAGS_PRINT)) static_branch_disable(&dp->key.dd_key_true); - } else if (modifiers->flags & _DPRINTK_FLAGS_PRINT) + } else if (newflags & _DPRINTK_FLAGS_PRINT) { static_branch_enable(&dp->key.dd_key_true); + } #endif dp->flags = newflags; v4pr_info("changed %s:%d [%s]%s =%s\n", @@ -383,10 +384,6 @@ return -EINVAL; } - if (modname) - /* support $modname.dyndbg= */ - query->module = modname; - for (i = 0; i < nwords; i += 2) { char *keyword = words[i]; char *arg = words[i+1]; @@ -427,6 +424,13 @@ if (rc) return rc; } + if (!query->module && modname) + /* + * support $modname.dyndbg=, when + * not given in the query itself + */ + query->module = modname; + vpr_info_dq(query, "parsed"); return 0; } @@ -553,35 +557,6 @@ return nfound; } -/** - * dynamic_debug_exec_queries - select and change dynamic-debug prints - * @query: query-string described in admin-guide/dynamic-debug-howto - * @modname: string containing module name, usually &module.mod_name - * - * This uses the >/proc/dynamic_debug/control reader, allowing module - * authors to modify their dynamic-debug callsites. The modname is - * canonically struct module.mod_name, but can also be null or a - * module-wildcard, for example: "drm*". - */ -int dynamic_debug_exec_queries(const char *query, const char *modname) -{ - int rc; - char *qry; /* writable copy of query */ - - if (!query) { - pr_err("non-null query/command string expected\n"); - return -EINVAL; - } - qry = kstrndup(query, PAGE_SIZE, GFP_KERNEL); - if (!qry) - return -ENOMEM; - - rc = ddebug_exec_queries(qry, modname); - kfree(qry); - return rc; -} -EXPORT_SYMBOL_GPL(dynamic_debug_exec_queries); - #define PREFIX_SIZE 64 static int remaining(int wrote) --- linux-gcp-5.19.0.orig/lib/errname.c +++ linux-gcp-5.19.0/lib/errname.c @@ -21,6 +21,7 @@ E(EADDRNOTAVAIL), E(EADV), E(EAFNOSUPPORT), + E(EAGAIN), /* EWOULDBLOCK */ E(EALREADY), E(EBADE), E(EBADF), @@ -31,15 +32,17 @@ E(EBADSLT), E(EBFONT), E(EBUSY), -#ifdef ECANCELLED - E(ECANCELLED), -#endif + E(ECANCELED), /* ECANCELLED */ E(ECHILD), E(ECHRNG), E(ECOMM), E(ECONNABORTED), + E(ECONNREFUSED), /* EREFUSED */ E(ECONNRESET), + E(EDEADLK), /* EDEADLOCK */ +#if EDEADLK != EDEADLOCK /* mips, sparc, powerpc */ E(EDEADLOCK), +#endif E(EDESTADDRREQ), E(EDOM), E(EDOTDOT), @@ -166,14 +169,17 @@ E(EUSERS), E(EXDEV), E(EXFULL), - - E(ECANCELED), /* ECANCELLED */ - E(EAGAIN), /* EWOULDBLOCK */ - E(ECONNREFUSED), /* EREFUSED */ - E(EDEADLK), /* EDEADLOCK */ }; #undef E +#ifdef EREFUSED /* parisc */ +static_assert(EREFUSED == ECONNREFUSED); +#endif +#ifdef ECANCELLED /* parisc */ +static_assert(ECANCELLED == ECANCELED); +#endif +static_assert(EAGAIN == EWOULDBLOCK); /* everywhere */ + #define E(err) [err - 512 + BUILD_BUG_ON_ZERO(err < 512 || err > 550)] = "-" #err static const char *names_512[] = { E(ERESTARTSYS), --- linux-gcp-5.19.0.orig/lib/fault-inject.c +++ linux-gcp-5.19.0/lib/fault-inject.c @@ -41,9 +41,6 @@ static void fail_dump(struct fault_attr *attr) { - if (attr->no_warn) - return; - if (attr->verbose > 0 && __ratelimit(&attr->ratelimit_state)) { printk(KERN_NOTICE "FAULT_INJECTION: forcing a failure.\n" "name %pd, interval %lu, probability %lu, " @@ -103,7 +100,7 @@ * http://www.nongnu.org/failmalloc/ */ -bool should_fail(struct fault_attr *attr, ssize_t size) +bool should_fail_ex(struct fault_attr *attr, ssize_t size, int flags) { if (in_task()) { unsigned int fail_nth = READ_ONCE(current->fail_nth); @@ -146,13 +143,19 @@ return false; fail: - fail_dump(attr); + if (!(flags & FAULT_NOWARN)) + fail_dump(attr); if (atomic_read(&attr->times) != -1) atomic_dec_not_zero(&attr->times); return true; } + +bool should_fail(struct fault_attr *attr, ssize_t size) +{ + return should_fail_ex(attr, size, 0); +} EXPORT_SYMBOL_GPL(should_fail); #ifdef CONFIG_FAULT_INJECTION_DEBUG_FS --- linux-gcp-5.19.0.orig/lib/fonts/fonts.c +++ linux-gcp-5.19.0/lib/fonts/fonts.c @@ -135,8 +135,8 @@ if (res > 20) c += 20 - res; - if ((font_w & (1 << (f->width - 1))) && - (font_h & (1 << (f->height - 1)))) + if ((font_w & (1U << (f->width - 1))) && + (font_h & (1U << (f->height - 1)))) c += 1000; if (c > cc) { --- linux-gcp-5.19.0.orig/lib/iov_iter.c +++ linux-gcp-5.19.0/lib/iov_iter.c @@ -689,6 +689,7 @@ struct pipe_inode_info *pipe = i->pipe; unsigned int p_mask = pipe->ring_size - 1; unsigned int i_head; + unsigned int valid = pipe->head; size_t n, off, xfer = 0; if (!sanity(i)) @@ -702,11 +703,17 @@ rem = copy_mc_to_kernel(p + off, addr + xfer, chunk); chunk -= rem; kunmap_local(p); - i->head = i_head; - i->iov_offset = off + chunk; - xfer += chunk; - if (rem) + if (chunk) { + i->head = i_head; + i->iov_offset = off + chunk; + xfer += chunk; + valid = i_head + 1; + } + if (rem) { + pipe->bufs[i_head & p_mask].len -= rem; + pipe_discard_from(pipe, valid); break; + } n -= chunk; off = 0; i_head++; --- linux-gcp-5.19.0.orig/lib/kobject.c +++ linux-gcp-5.19.0/lib/kobject.c @@ -94,10 +94,10 @@ return 0; } -static int get_kobj_path_length(struct kobject *kobj) +static int get_kobj_path_length(const struct kobject *kobj) { int length = 1; - struct kobject *parent = kobj; + const struct kobject *parent = kobj; /* walk up the ancestors until we hit the one pointing to the * root. @@ -112,21 +112,25 @@ return length; } -static void fill_kobj_path(struct kobject *kobj, char *path, int length) +static int fill_kobj_path(const struct kobject *kobj, char *path, int length) { - struct kobject *parent; + const struct kobject *parent; --length; for (parent = kobj; parent; parent = parent->parent) { int cur = strlen(kobject_name(parent)); /* back up enough to print this name with '/' */ length -= cur; + if (length <= 0) + return -EINVAL; memcpy(path + length, kobject_name(parent), cur); *(path + --length) = '/'; } pr_debug("kobject: '%s' (%p): %s: path = '%s'\n", kobject_name(kobj), kobj, __func__, path); + + return 0; } /** @@ -136,18 +140,22 @@ * * Return: The newly allocated memory, caller must free with kfree(). */ -char *kobject_get_path(struct kobject *kobj, gfp_t gfp_mask) +char *kobject_get_path(const struct kobject *kobj, gfp_t gfp_mask) { char *path; int len; +retry: len = get_kobj_path_length(kobj); if (len == 0) return NULL; path = kzalloc(len, gfp_mask); if (!path) return NULL; - fill_kobj_path(kobj, path, len); + if (fill_kobj_path(kobj, path, len)) { + kfree(path); + goto retry; + } return path; } --- linux-gcp-5.19.0.orig/lib/kunit/executor.c +++ linux-gcp-5.19.0/lib/kunit/executor.c @@ -76,8 +76,10 @@ memcpy(copy, suite, sizeof(*copy)); filtered = kcalloc(n + 1, sizeof(*filtered), GFP_KERNEL); - if (!filtered) + if (!filtered) { + kfree(copy); return ERR_PTR(-ENOMEM); + } n = 0; kunit_suite_for_each_test_case(suite, test_case) { --- linux-gcp-5.19.0.orig/lib/list_debug.c +++ linux-gcp-5.19.0/lib/list_debug.c @@ -20,7 +20,11 @@ bool __list_add_valid(struct list_head *new, struct list_head *prev, struct list_head *next) { - if (CHECK_DATA_CORRUPTION(next->prev != prev, + if (CHECK_DATA_CORRUPTION(prev == NULL, + "list_add corruption. prev is NULL.\n") || + CHECK_DATA_CORRUPTION(next == NULL, + "list_add corruption. next is NULL.\n") || + CHECK_DATA_CORRUPTION(next->prev != prev, "list_add corruption. next->prev should be prev (%px), but was %px. (next=%px).\n", prev, next->prev, next) || CHECK_DATA_CORRUPTION(prev->next != next, @@ -42,7 +46,11 @@ prev = entry->prev; next = entry->next; - if (CHECK_DATA_CORRUPTION(next == LIST_POISON1, + if (CHECK_DATA_CORRUPTION(next == NULL, + "list_del corruption, %px->next is NULL\n", entry) || + CHECK_DATA_CORRUPTION(prev == NULL, + "list_del corruption, %px->prev is NULL\n", entry) || + CHECK_DATA_CORRUPTION(next == LIST_POISON1, "list_del corruption, %px->next is LIST_POISON1 (%px)\n", entry, LIST_POISON1) || CHECK_DATA_CORRUPTION(prev == LIST_POISON2, --- linux-gcp-5.19.0.orig/lib/livepatch/test_klp_callbacks_busy.c +++ linux-gcp-5.19.0/lib/livepatch/test_klp_callbacks_busy.c @@ -16,10 +16,12 @@ static void busymod_work_func(struct work_struct *work); static DECLARE_WORK(work, busymod_work_func); +static DECLARE_COMPLETION(busymod_work_started); static void busymod_work_func(struct work_struct *work) { pr_info("%s enter\n", __func__); + complete(&busymod_work_started); while (READ_ONCE(block_transition)) { /* @@ -37,6 +39,12 @@ pr_info("%s\n", __func__); schedule_work(&work); + /* + * To synchronize kernel messages, hold the init function from + * exiting until the work function's entry message has printed. + */ + wait_for_completion(&busymod_work_started); + if (!block_transition) { /* * Serialize output: print all messages from the work --- linux-gcp-5.19.0.orig/lib/lockref.c +++ linux-gcp-5.19.0/lib/lockref.c @@ -23,7 +23,6 @@ } \ if (!--retry) \ break; \ - cpu_relax(); \ } \ } while (0) --- linux-gcp-5.19.0.orig/lib/mpi/mpicoder.c +++ linux-gcp-5.19.0/lib/mpi/mpicoder.c @@ -504,7 +504,8 @@ while (sg_miter_next(&miter)) { buff = miter.addr; - len = miter.length; + len = min_t(unsigned, miter.length, nbytes); + nbytes -= len; for (x = 0; x < len; x++) { a <<= 8; --- linux-gcp-5.19.0.orig/lib/nlattr.c +++ linux-gcp-5.19.0/lib/nlattr.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -369,6 +370,7 @@ if (type <= 0 || type > maxtype) return 0; + type = array_index_nospec(type, maxtype + 1); pt = &policy[type]; BUG_ON(pt->type > NLA_TYPE_MAX); @@ -584,6 +586,7 @@ } continue; } + type = array_index_nospec(type, maxtype + 1); if (policy) { int err = validate_nla(nla, maxtype, policy, validate, extack, depth); --- linux-gcp-5.19.0.orig/lib/notifier-error-inject.c +++ linux-gcp-5.19.0/lib/notifier-error-inject.c @@ -15,7 +15,7 @@ return 0; } -DEFINE_SIMPLE_ATTRIBUTE(fops_errno, debugfs_errno_get, debugfs_errno_set, +DEFINE_SIMPLE_ATTRIBUTE_SIGNED(fops_errno, debugfs_errno_get, debugfs_errno_set, "%lld\n"); static struct dentry *debugfs_create_errno(const char *name, umode_t mode, --- linux-gcp-5.19.0.orig/lib/once.c +++ linux-gcp-5.19.0/lib/once.c @@ -66,3 +66,33 @@ once_disable_jump(once_key, mod); } EXPORT_SYMBOL(__do_once_done); + +static DEFINE_MUTEX(once_mutex); + +bool __do_once_slow_start(bool *done) + __acquires(once_mutex) +{ + mutex_lock(&once_mutex); + if (*done) { + mutex_unlock(&once_mutex); + /* Keep sparse happy by restoring an even lock count on + * this mutex. In case we return here, we don't call into + * __do_once_done but return early in the DO_ONCE_SLOW() macro. + */ + __acquire(once_mutex); + return false; + } + + return true; +} +EXPORT_SYMBOL(__do_once_slow_start); + +void __do_once_slow_done(bool *done, struct static_key_true *once_key, + struct module *mod) + __releases(once_mutex) +{ + *done = true; + mutex_unlock(&once_mutex); + once_disable_jump(once_key, mod); +} +EXPORT_SYMBOL(__do_once_slow_done); --- linux-gcp-5.19.0.orig/lib/overflow_kunit.c +++ linux-gcp-5.19.0/lib/overflow_kunit.c @@ -91,6 +91,7 @@ {-4U, 5U, 1U, -9U, -20U, true, false, true}, }; +#if BITS_PER_LONG == 64 DEFINE_TEST_ARRAY(u64) = { {0, 0, 0, 0, 0, false, false, false}, {1, 1, 2, 0, 1, false, false, false}, @@ -114,6 +115,7 @@ false, true, false}, {-15ULL, 10ULL, -5ULL, -25ULL, -150ULL, false, false, true}, }; +#endif DEFINE_TEST_ARRAY(s8) = { {0, 0, 0, 0, 0, false, false, false}, @@ -188,6 +190,8 @@ {S32_MIN, S32_MIN, 0, 0, 0, true, false, true}, {S32_MAX, S32_MAX, -2, 0, 1, true, false, true}, }; + +#if BITS_PER_LONG == 64 DEFINE_TEST_ARRAY(s64) = { {0, 0, 0, 0, 0, false, false, false}, @@ -216,6 +220,7 @@ {-128, -1, -129, -127, 128, false, false, false}, {0, -S64_MAX, -S64_MAX, S64_MAX, 0, false, false, false}, }; +#endif #define check_one_op(t, fmt, op, sym, a, b, r, of) do { \ t _r; \ @@ -650,6 +655,7 @@ KUNIT_CASE(s16_overflow_test), KUNIT_CASE(u32_overflow_test), KUNIT_CASE(s32_overflow_test), +/* Clang 13 and earlier generate unwanted libcalls on 32-bit. */ #if BITS_PER_LONG == 64 KUNIT_CASE(u64_overflow_test), KUNIT_CASE(s64_overflow_test), --- linux-gcp-5.19.0.orig/lib/radix-tree.c +++ linux-gcp-5.19.0/lib/radix-tree.c @@ -27,6 +27,7 @@ #include #include + /* * Radix tree node cache. */ @@ -57,10 +58,12 @@ /* * Per-cpu pool of preloaded nodes */ -DEFINE_PER_CPU(struct radix_tree_preload, radix_tree_preloads) = { - .lock = INIT_LOCAL_LOCK(lock), +struct radix_tree_preload { + unsigned nr; + /* nodes->parent points to next preallocated node */ + struct radix_tree_node *nodes; }; -EXPORT_PER_CPU_SYMBOL_GPL(radix_tree_preloads); +static DEFINE_PER_CPU(struct radix_tree_preload, radix_tree_preloads) = { 0, }; static inline struct radix_tree_node *entry_to_node(void *ptr) { @@ -329,14 +332,14 @@ */ gfp_mask &= ~__GFP_ACCOUNT; - local_lock(&radix_tree_preloads.lock); + preempt_disable(); rtp = this_cpu_ptr(&radix_tree_preloads); while (rtp->nr < nr) { - local_unlock(&radix_tree_preloads.lock); + preempt_enable(); node = kmem_cache_alloc(radix_tree_node_cachep, gfp_mask); if (node == NULL) goto out; - local_lock(&radix_tree_preloads.lock); + preempt_disable(); rtp = this_cpu_ptr(&radix_tree_preloads); if (rtp->nr < nr) { node->parent = rtp->nodes; @@ -378,7 +381,7 @@ if (gfpflags_allow_blocking(gfp_mask)) return __radix_tree_preload(gfp_mask, RADIX_TREE_PRELOAD_SIZE); /* Preloading doesn't help anything with this gfp mask, skip it */ - local_lock(&radix_tree_preloads.lock); + preempt_disable(); return 0; } EXPORT_SYMBOL(radix_tree_maybe_preload); @@ -1468,7 +1471,7 @@ void idr_preload(gfp_t gfp_mask) { if (__radix_tree_preload(gfp_mask, IDR_PRELOAD_SIZE)) - local_lock(&radix_tree_preloads.lock); + preempt_disable(); } EXPORT_SYMBOL(idr_preload); --- linux-gcp-5.19.0.orig/lib/ratelimit.c +++ linux-gcp-5.19.0/lib/ratelimit.c @@ -26,10 +26,16 @@ */ int ___ratelimit(struct ratelimit_state *rs, const char *func) { + /* Paired with WRITE_ONCE() in .proc_handler(). + * Changing two values seperately could be inconsistent + * and some message could be lost. (See: net_ratelimit_state). + */ + int interval = READ_ONCE(rs->interval); + int burst = READ_ONCE(rs->burst); unsigned long flags; int ret; - if (!rs->interval) + if (!interval) return 1; /* @@ -44,7 +50,7 @@ if (!rs->begin) rs->begin = jiffies; - if (time_is_before_jiffies(rs->begin + rs->interval)) { + if (time_is_before_jiffies(rs->begin + interval)) { if (rs->missed) { if (!(rs->flags & RATELIMIT_MSG_ON_RELEASE)) { printk_deferred(KERN_WARNING @@ -56,7 +62,7 @@ rs->begin = jiffies; rs->printed = 0; } - if (rs->burst && rs->burst > rs->printed) { + if (burst && burst > rs->printed) { rs->printed++; ret = 1; } else { --- linux-gcp-5.19.0.orig/lib/smp_processor_id.c +++ linux-gcp-5.19.0/lib/smp_processor_id.c @@ -47,9 +47,9 @@ printk("caller is %pS\n", __builtin_return_address(0)); dump_stack(); - instrumentation_end(); out_enable: + instrumentation_end(); preempt_enable_no_resched_notrace(); out: return this_cpu; --- linux-gcp-5.19.0.orig/lib/test_bpf.c +++ linux-gcp-5.19.0/lib/test_bpf.c @@ -14733,9 +14733,9 @@ .build_skb = build_test_skb_linear_no_head_frag, .features = NETIF_F_SG | NETIF_F_FRAGLIST | NETIF_F_HW_VLAN_CTAG_TX | NETIF_F_GSO | - NETIF_F_LLTX_BIT | NETIF_F_GRO | + NETIF_F_LLTX | NETIF_F_GRO | NETIF_F_IPV6_CSUM | NETIF_F_RXCSUM | - NETIF_F_HW_VLAN_STAG_TX_BIT + NETIF_F_HW_VLAN_STAG_TX } }; --- linux-gcp-5.19.0.orig/lib/test_firmware.c +++ linux-gcp-5.19.0/lib/test_firmware.c @@ -1491,6 +1491,7 @@ rc = misc_register(&test_fw_misc_device); if (rc) { + __test_firmware_config_free(); kfree(test_fw_config); pr_err("could not register misc device: %d\n", rc); return rc; --- linux-gcp-5.19.0.orig/lib/test_hmm.c +++ linux-gcp-5.19.0/lib/test_hmm.c @@ -732,7 +732,7 @@ mmap_read_lock(mm); for (addr = start; addr < end; addr = next) { - unsigned long mapped; + unsigned long mapped = 0; int i; if (end < addr + (ARRAY_SIZE(pages) << PAGE_SHIFT)) @@ -741,7 +741,13 @@ next = addr + (ARRAY_SIZE(pages) << PAGE_SHIFT); ret = make_device_exclusive_range(mm, addr, next, pages, NULL); - mapped = dmirror_atomic_map(addr, next, pages, dmirror); + /* + * Do dmirror_atomic_map() iff all pages are marked for + * exclusive access to avoid accessing uninitialized + * fields of pages. + */ + if (ret == (next - addr) >> PAGE_SHIFT) + mapped = dmirror_atomic_map(addr, next, pages, dmirror); for (i = 0; i < ret; i++) { if (pages[i]) { unlock_page(pages[i]); --- linux-gcp-5.19.0.orig/lib/test_kasan.c +++ linux-gcp-5.19.0/lib/test_kasan.c @@ -131,6 +131,7 @@ ptr = kmalloc(size, GFP_KERNEL); KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ptr); + OPTIMIZER_HIDE_VAR(ptr); /* * An unaligned access past the requested kmalloc size. * Only generic KASAN can precisely detect these. @@ -159,6 +160,7 @@ ptr = kmalloc(size, GFP_KERNEL); KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ptr); + OPTIMIZER_HIDE_VAR(ptr); KUNIT_EXPECT_KASAN_FAIL(test, *ptr = *(ptr - 1)); kfree(ptr); } @@ -171,6 +173,7 @@ ptr = kmalloc_node(size, GFP_KERNEL, 0); KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ptr); + OPTIMIZER_HIDE_VAR(ptr); KUNIT_EXPECT_KASAN_FAIL(test, ptr[0] = ptr[size]); kfree(ptr); } @@ -191,6 +194,7 @@ ptr = kmalloc(size, GFP_KERNEL); KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ptr); + OPTIMIZER_HIDE_VAR(ptr); KUNIT_EXPECT_KASAN_FAIL(test, ptr[size + OOB_TAG_OFF] = 0); kfree(ptr); @@ -271,6 +275,7 @@ ptr = kmalloc(size, GFP_KERNEL); KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ptr); + OPTIMIZER_HIDE_VAR(ptr); KUNIT_EXPECT_KASAN_FAIL(test, ptr[size] = 0); kfree(ptr); } @@ -410,6 +415,8 @@ ptr2 = kmalloc(sizeof(*ptr2), GFP_KERNEL); KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ptr2); + OPTIMIZER_HIDE_VAR(ptr1); + OPTIMIZER_HIDE_VAR(ptr2); KUNIT_EXPECT_KASAN_FAIL(test, *ptr1 = *ptr2); kfree(ptr1); kfree(ptr2); @@ -756,6 +763,8 @@ KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ptr); real_size = ksize(ptr); + OPTIMIZER_HIDE_VAR(ptr); + /* This access shouldn't trigger a KASAN report. */ ptr[size] = 'x'; @@ -778,6 +787,7 @@ KUNIT_ASSERT_NOT_ERR_OR_NULL(test, ptr); kfree(ptr); + OPTIMIZER_HIDE_VAR(ptr); KUNIT_EXPECT_KASAN_FAIL(test, ksize(ptr)); KUNIT_EXPECT_KASAN_FAIL(test, ((volatile char *)ptr)[0]); KUNIT_EXPECT_KASAN_FAIL(test, ((volatile char *)ptr)[size]); --- linux-gcp-5.19.0.orig/lib/ubsan.c +++ linux-gcp-5.19.0/lib/ubsan.c @@ -154,8 +154,7 @@ current->in_ubsan--; - if (panic_on_warn) - panic("panic_on_warn set ...\n"); + check_panic_on_warn("UBSAN"); } void __ubsan_handle_divrem_overflow(void *_data, void *lhs, void *rhs) --- linux-gcp-5.19.0.orig/lib/usercopy.c +++ linux-gcp-5.19.0/lib/usercopy.c @@ -3,6 +3,7 @@ #include #include #include +#include /* out-of-line parts */ @@ -12,6 +13,12 @@ unsigned long res = n; might_fault(); if (!should_fail_usercopy() && likely(access_ok(from, n))) { + /* + * Ensure that bad access_ok() speculation will not + * lead to nasty side effects *after* the copy is + * finished: + */ + barrier_nospec(); instrument_copy_from_user(to, from, n); res = raw_copy_from_user(to, from, n); } --- linux-gcp-5.19.0.orig/lib/vdso/Makefile +++ linux-gcp-5.19.0/lib/vdso/Makefile @@ -17,6 +17,6 @@ endif quiet_cmd_vdso_check = VDSOCHK $@ - cmd_vdso_check = if $(OBJDUMP) -R $@ | egrep -h "$(ARCH_REL_TYPE_ABS)"; \ + cmd_vdso_check = if $(OBJDUMP) -R $@ | grep -E -h "$(ARCH_REL_TYPE_ABS)"; \ then (echo >&2 "$@: dynamic relocations are not supported"; \ rm -f $@; /bin/false); fi --- linux-gcp-5.19.0.orig/mm/Makefile +++ linux-gcp-5.19.0/mm/Makefile @@ -54,7 +54,7 @@ mm_init.o percpu.o slab_common.o \ compaction.o vmacache.o \ interval_tree.o list_lru.o workingset.o \ - debug.o gup.o mmap_lock.o $(mmu-y) + prfile.o debug.o gup.o mmap_lock.o $(mmu-y) # Give 'page_alloc' its own module-parameter namespace page-alloc-y := page_alloc.o --- linux-gcp-5.19.0.orig/mm/backing-dev.c +++ linux-gcp-5.19.0/mm/backing-dev.c @@ -260,10 +260,10 @@ unsigned long timeout; timeout = msecs_to_jiffies(dirty_writeback_interval * 10); - spin_lock_bh(&wb->work_lock); + spin_lock_irq(&wb->work_lock); if (test_bit(WB_registered, &wb->state)) queue_delayed_work(bdi_wq, &wb->dwork, timeout); - spin_unlock_bh(&wb->work_lock); + spin_unlock_irq(&wb->work_lock); } static void wb_update_bandwidth_workfn(struct work_struct *work) @@ -334,12 +334,12 @@ static void wb_shutdown(struct bdi_writeback *wb) { /* Make sure nobody queues further work */ - spin_lock_bh(&wb->work_lock); + spin_lock_irq(&wb->work_lock); if (!test_and_clear_bit(WB_registered, &wb->state)) { - spin_unlock_bh(&wb->work_lock); + spin_unlock_irq(&wb->work_lock); return; } - spin_unlock_bh(&wb->work_lock); + spin_unlock_irq(&wb->work_lock); cgwb_remove_from_bdi_list(wb); /* --- linux-gcp-5.19.0.orig/mm/bootmem_info.c +++ linux-gcp-5.19.0/mm/bootmem_info.c @@ -12,6 +12,7 @@ #include #include #include +#include void get_page_bootmem(unsigned long info, struct page *page, unsigned long type) { @@ -33,6 +34,7 @@ ClearPagePrivate(page); set_page_private(page, 0); INIT_LIST_HEAD(&page->lru); + kmemleak_free_part(page_to_virt(page), PAGE_SIZE); free_reserved_page(page); } } --- linux-gcp-5.19.0.orig/mm/compaction.c +++ linux-gcp-5.19.0/mm/compaction.c @@ -989,28 +989,28 @@ } /* + * Be careful not to clear PageLRU until after we're + * sure the page is not being freed elsewhere -- the + * page release code relies on it. + */ + if (unlikely(!get_page_unless_zero(page))) + goto isolate_fail; + + /* * Migration will fail if an anonymous page is pinned in memory, * so avoid taking lru_lock and isolating it unnecessarily in an * admittedly racy check. */ mapping = page_mapping(page); - if (!mapping && page_count(page) > page_mapcount(page)) - goto isolate_fail; + if (!mapping && (page_count(page) - 1) > total_mapcount(page)) + goto isolate_fail_put; /* * Only allow to migrate anonymous pages in GFP_NOFS context * because those do not depend on fs locks. */ if (!(cc->gfp_mask & __GFP_FS) && mapping) - goto isolate_fail; - - /* - * Be careful not to clear PageLRU until after we're - * sure the page is not being freed elsewhere -- the - * page release code relies on it. - */ - if (unlikely(!get_page_unless_zero(page))) - goto isolate_fail; + goto isolate_fail_put; /* Only take pages on LRU: a check now makes later tests safe */ if (!PageLRU(page)) @@ -1346,7 +1346,7 @@ } static void -fast_isolate_around(struct compact_control *cc, unsigned long pfn, unsigned long nr_isolated) +fast_isolate_around(struct compact_control *cc, unsigned long pfn) { unsigned long start_pfn, end_pfn; struct page *page; @@ -1367,21 +1367,13 @@ if (!page) return; - /* Scan before */ - if (start_pfn != pfn) { - isolate_freepages_block(cc, &start_pfn, pfn, &cc->freepages, 1, false); - if (cc->nr_freepages >= cc->nr_migratepages) - return; - } - - /* Scan after */ - start_pfn = pfn + nr_isolated; - if (start_pfn < end_pfn) - isolate_freepages_block(cc, &start_pfn, end_pfn, &cc->freepages, 1, false); + isolate_freepages_block(cc, &start_pfn, end_pfn, &cc->freepages, 1, false); /* Skip this pageblock in the future as it's full or nearly full */ if (cc->nr_freepages < cc->nr_migratepages) set_pageblock_skip(page); + + return; } /* Search orders in round-robin fashion */ @@ -1557,7 +1549,7 @@ return cc->free_pfn; low_pfn = page_to_pfn(page); - fast_isolate_around(cc, low_pfn, nr_isolated); + fast_isolate_around(cc, low_pfn); return low_pfn; } --- linux-gcp-5.19.0.orig/mm/damon/dbgfs.c +++ linux-gcp-5.19.0/mm/damon/dbgfs.c @@ -787,6 +787,9 @@ return -ENOENT; new_dir = debugfs_create_dir(name, root); + /* Below check is required for a potential duplicated name case */ + if (IS_ERR(new_dir)) + return PTR_ERR(new_dir); dbgfs_dirs[dbgfs_nr_ctxs] = new_dir; new_ctx = dbgfs_new_ctx(); @@ -848,8 +851,10 @@ static int dbgfs_rm_context(char *name) { struct dentry *root, *dir, **new_dirs; + struct inode *inode; struct damon_ctx **new_ctxs; int i, j; + int ret = 0; if (damon_nr_running_ctxs()) return -EBUSY; @@ -862,16 +867,24 @@ if (!dir) return -ENOENT; + inode = d_inode(dir); + if (!S_ISDIR(inode->i_mode)) { + ret = -EINVAL; + goto out_dput; + } + new_dirs = kmalloc_array(dbgfs_nr_ctxs - 1, sizeof(*dbgfs_dirs), GFP_KERNEL); - if (!new_dirs) - return -ENOMEM; + if (!new_dirs) { + ret = -ENOMEM; + goto out_dput; + } new_ctxs = kmalloc_array(dbgfs_nr_ctxs - 1, sizeof(*dbgfs_ctxs), GFP_KERNEL); if (!new_ctxs) { - kfree(new_dirs); - return -ENOMEM; + ret = -ENOMEM; + goto out_new_dirs; } for (i = 0, j = 0; i < dbgfs_nr_ctxs; i++) { @@ -891,7 +904,13 @@ dbgfs_ctxs = new_ctxs; dbgfs_nr_ctxs--; - return 0; + goto out_dput; + +out_new_dirs: + kfree(new_dirs); +out_dput: + dput(dir); + return ret; } static ssize_t dbgfs_rm_context_write(struct file *file, --- linux-gcp-5.19.0.orig/mm/damon/paddr.c +++ linux-gcp-5.19.0/mm/damon/paddr.c @@ -226,12 +226,11 @@ put_page(page); continue; } - if (PageUnevictable(page)) { + if (PageUnevictable(page)) putback_lru_page(page); - } else { + else list_add(&page->lru, &page_list); - put_page(page); - } + put_page(page); } applied = reclaim_pages(&page_list); cond_resched(); --- linux-gcp-5.19.0.orig/mm/damon/reclaim.c +++ linux-gcp-5.19.0/mm/damon/reclaim.c @@ -441,8 +441,10 @@ if (!ctx) return -ENOMEM; - if (damon_select_ops(ctx, DAMON_OPS_PADDR)) + if (damon_select_ops(ctx, DAMON_OPS_PADDR)) { + damon_destroy_ctx(ctx); return -EINVAL; + } ctx->callback.after_wmarks_check = damon_reclaim_after_wmarks_check; ctx->callback.after_aggregation = damon_reclaim_after_aggregation; --- linux-gcp-5.19.0.orig/mm/damon/sysfs.c +++ linux-gcp-5.19.0/mm/damon/sysfs.c @@ -2181,13 +2181,13 @@ if (!t) return -ENOMEM; + damon_add_target(ctx, t); if (ctx->ops.id == DAMON_OPS_VADDR || ctx->ops.id == DAMON_OPS_FVADDR) { t->pid = find_get_pid(sys_target->pid); if (!t->pid) goto destroy_targets_out; } - damon_add_target(ctx, t); err = damon_sysfs_set_regions(t, sys_target->regions); if (err) goto destroy_targets_out; @@ -2286,12 +2286,54 @@ sysfs_scheme->action, "a, &wmarks); } +static void damon_sysfs_update_scheme(struct damos *scheme, + struct damon_sysfs_scheme *sysfs_scheme) +{ + struct damon_sysfs_access_pattern *access_pattern = + sysfs_scheme->access_pattern; + struct damon_sysfs_quotas *sysfs_quotas = sysfs_scheme->quotas; + struct damon_sysfs_weights *sysfs_weights = sysfs_quotas->weights; + struct damon_sysfs_watermarks *sysfs_wmarks = sysfs_scheme->watermarks; + + scheme->pattern.min_sz_region = access_pattern->sz->min; + scheme->pattern.max_sz_region = access_pattern->sz->max; + scheme->pattern.min_nr_accesses = access_pattern->nr_accesses->min; + scheme->pattern.max_nr_accesses = access_pattern->nr_accesses->max; + scheme->pattern.min_age_region = access_pattern->age->min; + scheme->pattern.max_age_region = access_pattern->age->max; + + scheme->action = sysfs_scheme->action; + + scheme->quota.ms = sysfs_quotas->ms; + scheme->quota.sz = sysfs_quotas->sz; + scheme->quota.reset_interval = sysfs_quotas->reset_interval_ms; + scheme->quota.weight_sz = sysfs_weights->sz; + scheme->quota.weight_nr_accesses = sysfs_weights->nr_accesses; + scheme->quota.weight_age = sysfs_weights->age; + + scheme->wmarks.metric = sysfs_wmarks->metric; + scheme->wmarks.interval = sysfs_wmarks->interval_us; + scheme->wmarks.high = sysfs_wmarks->high; + scheme->wmarks.mid = sysfs_wmarks->mid; + scheme->wmarks.low = sysfs_wmarks->low; +} + static int damon_sysfs_set_schemes(struct damon_ctx *ctx, struct damon_sysfs_schemes *sysfs_schemes) { - int i; + struct damos *scheme, *next; + int i = 0; - for (i = 0; i < sysfs_schemes->nr; i++) { + damon_for_each_scheme_safe(scheme, next, ctx) { + if (i < sysfs_schemes->nr) + damon_sysfs_update_scheme(scheme, + sysfs_schemes->schemes_arr[i]); + else + damon_destroy_scheme(scheme); + i++; + } + + for (; i < sysfs_schemes->nr; i++) { struct damos *scheme, *next; scheme = damon_sysfs_mk_scheme(sysfs_schemes->schemes_arr[i]); @@ -2342,6 +2384,10 @@ damon_for_each_scheme(scheme, ctx) { struct damon_sysfs_stats *sysfs_stats; + /* user could have removed the scheme sysfs dir */ + if (schemes_idx >= sysfs_schemes->nr) + break; + sysfs_stats = sysfs_schemes->schemes_arr[schemes_idx++]->stats; sysfs_stats->nr_tried = scheme->stat.nr_tried; sysfs_stats->sz_tried = scheme->stat.sz_tried; --- linux-gcp-5.19.0.orig/mm/damon/vaddr.c +++ linux-gcp-5.19.0/mm/damon/vaddr.c @@ -304,6 +304,11 @@ if (pmd_huge(*pmd)) { ptl = pmd_lock(walk->mm, pmd); + if (!pmd_present(*pmd)) { + spin_unlock(ptl); + return 0; + } + if (pmd_huge(*pmd)) { damon_pmdp_mkold(pmd, walk->mm, addr); spin_unlock(ptl); @@ -431,6 +436,11 @@ #ifdef CONFIG_TRANSPARENT_HUGEPAGE if (pmd_huge(*pmd)) { ptl = pmd_lock(walk->mm, pmd); + if (!pmd_present(*pmd)) { + spin_unlock(ptl); + return 0; + } + if (!pmd_huge(*pmd)) { spin_unlock(ptl); goto regular_page; --- linux-gcp-5.19.0.orig/mm/failslab.c +++ linux-gcp-5.19.0/mm/failslab.c @@ -16,6 +16,8 @@ bool __should_failslab(struct kmem_cache *s, gfp_t gfpflags) { + int flags = 0; + /* No fault-injection for bootstrap cache */ if (unlikely(s == kmem_cache)) return false; @@ -30,10 +32,16 @@ if (failslab.cache_filter && !(s->flags & SLAB_FAILSLAB)) return false; + /* + * In some cases, it expects to specify __GFP_NOWARN + * to avoid printing any information(not just a warning), + * thus avoiding deadlocks. See commit 6b9dbedbe349 for + * details. + */ if (gfpflags & __GFP_NOWARN) - failslab.attr.no_warn = true; + flags |= FAULT_NOWARN; - return should_fail(&failslab.attr, s->object_size); + return should_fail_ex(&failslab.attr, s->object_size, flags); } static int __init setup_failslab(char *str) --- linux-gcp-5.19.0.orig/mm/filemap.c +++ linux-gcp-5.19.0/mm/filemap.c @@ -2582,18 +2582,19 @@ struct folio *folio; int err = 0; + /* "last_index" is the index of the page beyond the end of the read */ last_index = DIV_ROUND_UP(iocb->ki_pos + iter->count, PAGE_SIZE); retry: if (fatal_signal_pending(current)) return -EINTR; - filemap_get_read_batch(mapping, index, last_index, fbatch); + filemap_get_read_batch(mapping, index, last_index - 1, fbatch); if (!folio_batch_count(fbatch)) { if (iocb->ki_flags & IOCB_NOIO) return -EAGAIN; page_cache_sync_readahead(mapping, ra, filp, index, last_index - index); - filemap_get_read_batch(mapping, index, last_index, fbatch); + filemap_get_read_batch(mapping, index, last_index - 1, fbatch); } if (!folio_batch_count(fbatch)) { if (iocb->ki_flags & (IOCB_NOWAIT | IOCB_WAITQ)) @@ -3431,7 +3432,7 @@ vm_fault_t ret = VM_FAULT_LOCKED; sb_start_pagefault(mapping->host->i_sb); - file_update_time(vmf->vma->vm_file); + vma_file_update_time(vmf->vma); folio_lock(folio); if (folio->mapping != mapping) { folio_unlock(folio); @@ -3753,7 +3754,7 @@ unsigned long offset; /* Offset into pagecache page */ unsigned long bytes; /* Bytes to write to page */ size_t copied; /* Bytes copied from user */ - void *fsdata; + void *fsdata = NULL; offset = (pos & (PAGE_SIZE - 1)); bytes = min_t(unsigned long, PAGE_SIZE - offset, --- linux-gcp-5.19.0.orig/mm/frontswap.c +++ linux-gcp-5.19.0/mm/frontswap.c @@ -125,6 +125,9 @@ * p->frontswap set to something valid to work properly. */ frontswap_map_set(sis, map); + + if (!frontswap_enabled()) + return; frontswap_ops->init(type); } --- linux-gcp-5.19.0.orig/mm/gup.c +++ linux-gcp-5.19.0/mm/gup.c @@ -478,14 +478,43 @@ return -EEXIST; } -/* - * FOLL_FORCE can write to even unwritable pte's, but only - * after we've gone through a COW cycle and they are dirty. - */ -static inline bool can_follow_write_pte(pte_t pte, unsigned int flags) -{ - return pte_write(pte) || - ((flags & FOLL_FORCE) && (flags & FOLL_COW) && pte_dirty(pte)); +/* FOLL_FORCE can write to even unwritable PTEs in COW mappings. */ +static inline bool can_follow_write_pte(pte_t pte, struct page *page, + struct vm_area_struct *vma, + unsigned int flags) +{ + /* If the pte is writable, we can write to the page. */ + if (pte_write(pte)) + return true; + + /* Maybe FOLL_FORCE is set to override it? */ + if (!(flags & FOLL_FORCE)) + return false; + + /* But FOLL_FORCE has no effect on shared mappings */ + if (vma->vm_flags & (VM_MAYSHARE | VM_SHARED)) + return false; + + /* ... or read-only private ones */ + if (!(vma->vm_flags & VM_MAYWRITE)) + return false; + + /* ... or already writable ones that just need to take a write fault */ + if (vma->vm_flags & VM_WRITE) + return false; + + /* + * See can_change_pte_writable(): we broke COW and could map the page + * writable if we have an exclusive anonymous page ... + */ + if (!page || !PageAnon(page) || !PageAnonExclusive(page)) + return false; + + /* ... and a write-fault isn't required for other reasons. */ + if (IS_ENABLED(CONFIG_MEM_SOFT_DIRTY) && + !(vma->vm_flags & VM_SOFTDIRTY) && !pte_soft_dirty(pte)) + return false; + return !userfaultfd_pte_wp(vma, pte); } static struct page *follow_page_pte(struct vm_area_struct *vma, @@ -502,6 +531,18 @@ if (WARN_ON_ONCE((flags & (FOLL_PIN | FOLL_GET)) == (FOLL_PIN | FOLL_GET))) return ERR_PTR(-EINVAL); + + /* + * Considering PTE level hugetlb, like continuous-PTE hugetlb on + * ARM64 architecture. + */ + if (is_vm_hugetlb_page(vma)) { + page = follow_huge_pmd_pte(vma, address, flags); + if (page) + return page; + return no_page_table(vma, flags); + } + retry: if (unlikely(pmd_bad(*pmd))) return no_page_table(vma, flags); @@ -528,12 +569,19 @@ } if ((flags & FOLL_NUMA) && pte_protnone(pte)) goto no_page; - if ((flags & FOLL_WRITE) && !can_follow_write_pte(pte, flags)) { - pte_unmap_unlock(ptep, ptl); - return NULL; - } page = vm_normal_page(vma, address, pte); + + /* + * We only care about anon pages in can_follow_write_pte() and don't + * have to worry about pte_devmap() because they are never anon. + */ + if ((flags & FOLL_WRITE) && + !can_follow_write_pte(pte, page, vma, flags)) { + page = NULL; + goto out; + } + if (!page && pte_devmap(pte) && (flags & (FOLL_GET | FOLL_PIN))) { /* * Only return device mapping pages in the FOLL_GET or FOLL_PIN @@ -627,7 +675,7 @@ if (pmd_none(pmdval)) return no_page_table(vma, flags); if (pmd_huge(pmdval) && is_vm_hugetlb_page(vma)) { - page = follow_huge_pmd(mm, address, pmd, flags); + page = follow_huge_pmd_pte(vma, address, flags); if (page) return page; return no_page_table(vma, flags); @@ -967,17 +1015,6 @@ return -EBUSY; } - /* - * The VM_FAULT_WRITE bit tells us that do_wp_page has broken COW when - * necessary, even if maybe_mkwrite decided not to set pte_write. We - * can thus safely do subsequent page lookups as if they were reads. - * But only do so when looping for pte_write is futile: in some cases - * userspace may also be wanting to write to the gotten user page, - * which a read fault here might prevent (a readonly page might get - * reCOWed by userspace write). - */ - if ((ret & VM_FAULT_WRITE) && !(vma->vm_flags & VM_WRITE)) - *flags |= FOLL_COW; return 0; } @@ -1003,6 +1040,9 @@ if (!(vm_flags & VM_WRITE)) { if (!(gup_flags & FOLL_FORCE)) return -EFAULT; + /* hugetlb does not support FOLL_FORCE|FOLL_WRITE. */ + if (is_vm_hugetlb_page(vma)) + return -EFAULT; /* * We used to let the write,force case do COW in a * VM_MAYWRITE VM_SHARED !VM_WRITE vma, so ptrace could @@ -1900,7 +1940,7 @@ * Try to move out any movable page before pinning the range. */ if (folio_test_hugetlb(folio)) { - if (!isolate_huge_page(&folio->page, + if (isolate_hugetlb(&folio->page, &movable_page_list)) isolation_error_count++; continue; @@ -2253,8 +2293,28 @@ } #ifdef CONFIG_ARCH_HAS_PTE_SPECIAL -static int gup_pte_range(pmd_t pmd, unsigned long addr, unsigned long end, - unsigned int flags, struct page **pages, int *nr) +/* + * Fast-gup relies on pte change detection to avoid concurrent pgtable + * operations. + * + * To pin the page, fast-gup needs to do below in order: + * (1) pin the page (by prefetching pte), then (2) check pte not changed. + * + * For the rest of pgtable operations where pgtable updates can be racy + * with fast-gup, we need to do (1) clear pte, then (2) check whether page + * is pinned. + * + * Above will work for all pte-level operations, including THP split. + * + * For THP collapse, it's a bit more complicated because fast-gup may be + * walking a pgtable page that is being freed (pte is still valid but pmd + * can be cleared already). To avoid race in such condition, we need to + * also check pmd here to make sure pmd doesn't change (corresponds to + * pmdp_collapse_flush() in the THP collapse code path). + */ +static int gup_pte_range(pmd_t pmd, pmd_t *pmdp, unsigned long addr, + unsigned long end, unsigned int flags, + struct page **pages, int *nr) { struct dev_pagemap *pgmap = NULL; int nr_start = *nr, ret = 0; @@ -2300,7 +2360,8 @@ goto pte_unmap; } - if (unlikely(pte_val(pte) != pte_val(*ptep))) { + if (unlikely(pmd_val(pmd) != pmd_val(*pmdp)) || + unlikely(pte_val(pte) != pte_val(*ptep))) { gup_put_folio(folio, 1, flags); goto pte_unmap; } @@ -2347,8 +2408,9 @@ * get_user_pages_fast_only implementation that can pin pages. Thus it's still * useful to have gup_huge_pmd even if we can't operate on ptes. */ -static int gup_pte_range(pmd_t pmd, unsigned long addr, unsigned long end, - unsigned int flags, struct page **pages, int *nr) +static int gup_pte_range(pmd_t pmd, pmd_t *pmdp, unsigned long addr, + unsigned long end, unsigned int flags, + struct page **pages, int *nr) { return 0; } @@ -2672,7 +2734,7 @@ if (!gup_huge_pd(__hugepd(pmd_val(pmd)), addr, PMD_SHIFT, next, flags, pages, nr)) return 0; - } else if (!gup_pte_range(pmd, addr, next, flags, pages, nr)) + } else if (!gup_pte_range(pmd, pmdp, addr, next, flags, pages, nr)) return 0; } while (pmdp++, addr = next, addr != end); @@ -2692,7 +2754,7 @@ next = pud_addr_end(addr, end); if (unlikely(!pud_present(pud))) return 0; - if (unlikely(pud_huge(pud))) { + if (unlikely(pud_huge(pud) || pud_devmap(pud))) { if (!gup_huge_pud(pud, pudp, addr, next, flags, pages, nr)) return 0; --- linux-gcp-5.19.0.orig/mm/huge_memory.c +++ linux-gcp-5.19.0/mm/huge_memory.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -977,12 +978,6 @@ assert_spin_locked(pmd_lockptr(mm, pmd)); - /* - * When we COW a devmap PMD entry, we split it into PTEs, so we should - * not be in this function with `flags & FOLL_COW` set. - */ - WARN_ONCE(flags & FOLL_COW, "mm: In follow_devmap_pmd with FOLL_COW set"); - /* FOLL_GET and FOLL_PIN are mutually exclusive. */ if (WARN_ON_ONCE((flags & (FOLL_PIN | FOLL_GET)) == (FOLL_PIN | FOLL_GET))) @@ -1348,14 +1343,43 @@ return VM_FAULT_FALLBACK; } -/* - * FOLL_FORCE can write to even unwritable pmd's, but only - * after we've gone through a COW cycle and they are dirty. - */ -static inline bool can_follow_write_pmd(pmd_t pmd, unsigned int flags) +/* FOLL_FORCE can write to even unwritable PMDs in COW mappings. */ +static inline bool can_follow_write_pmd(pmd_t pmd, struct page *page, + struct vm_area_struct *vma, + unsigned int flags) { - return pmd_write(pmd) || - ((flags & FOLL_FORCE) && (flags & FOLL_COW) && pmd_dirty(pmd)); + /* If the pmd is writable, we can write to the page. */ + if (pmd_write(pmd)) + return true; + + /* Maybe FOLL_FORCE is set to override it? */ + if (!(flags & FOLL_FORCE)) + return false; + + /* But FOLL_FORCE has no effect on shared mappings */ + if (vma->vm_flags & (VM_MAYSHARE | VM_SHARED)) + return false; + + /* ... or read-only private ones */ + if (!(vma->vm_flags & VM_MAYWRITE)) + return false; + + /* ... or already writable ones that just need to take a write fault */ + if (vma->vm_flags & VM_WRITE) + return false; + + /* + * See can_change_pte_writable(): we broke COW and could map the page + * writable if we have an exclusive anonymous page ... + */ + if (!page || !PageAnon(page) || !PageAnonExclusive(page)) + return false; + + /* ... and a write-fault isn't required for other reasons. */ + if (IS_ENABLED(CONFIG_MEM_SOFT_DIRTY) && + !(vma->vm_flags & VM_SOFTDIRTY) && !pmd_soft_dirty(pmd)) + return false; + return !userfaultfd_huge_pmd_wp(vma, pmd); } struct page *follow_trans_huge_pmd(struct vm_area_struct *vma, @@ -1364,12 +1388,16 @@ unsigned int flags) { struct mm_struct *mm = vma->vm_mm; - struct page *page = NULL; + struct page *page; assert_spin_locked(pmd_lockptr(mm, pmd)); - if (flags & FOLL_WRITE && !can_follow_write_pmd(*pmd, flags)) - goto out; + page = pmd_page(*pmd); + VM_BUG_ON_PAGE(!PageHead(page) && !is_zone_device_page(page), page); + + if ((flags & FOLL_WRITE) && + !can_follow_write_pmd(*pmd, page, vma, flags)) + return NULL; /* Avoid dumping huge zero page */ if ((flags & FOLL_DUMP) && is_huge_zero_pmd(*pmd)) @@ -1377,10 +1405,7 @@ /* Full NUMA hinting faults to serialise migration in fault paths */ if ((flags & FOLL_NUMA) && pmd_protnone(*pmd)) - goto out; - - page = pmd_page(*pmd); - VM_BUG_ON_PAGE(!PageHead(page) && !is_zone_device_page(page), page); + return NULL; if (!pmd_write(*pmd) && gup_must_unshare(flags, page)) return ERR_PTR(-EMLINK); @@ -1397,7 +1422,6 @@ page += (addr & ~HPAGE_PMD_MASK) >> PAGE_SHIFT; VM_BUG_ON_PAGE(!PageCompound(page) && !is_zone_device_page(page), page); -out: return page; } @@ -2377,7 +2401,16 @@ page_tail); page_tail->mapping = head->mapping; page_tail->index = head->index + tail; - page_tail->private = 0; + + /* + * page->private should not be set in tail pages with the exception + * of swap cache pages that store the swp_entry_t in tail pages. + * Fix up and warn once if private is unexpectedly set. + */ + if (!folio_test_swapcache(page_folio(head))) { + VM_WARN_ON_ONCE_PAGE(page_tail->private != 0, head); + page_tail->private = 0; + } /* Page flags must be visible before we make the page non-compound. */ smp_wmb(); @@ -2440,11 +2473,15 @@ __split_huge_page_tail(head, i, lruvec, list); /* Some pages can be beyond EOF: drop them from page cache */ if (head[i].index >= end) { - ClearPageDirty(head + i); - __delete_from_page_cache(head + i, NULL); + struct folio *tail = page_folio(head + i); + if (shmem_mapping(head->mapping)) shmem_uncharge(head->mapping->host, 1); - put_page(head + i); + else if (folio_test_clear_dirty(tail)) + folio_account_cleaned(tail, + inode_to_wb(folio->mapping->host)); + __filemap_remove_folio(tail, NULL); + folio_put(tail); } else if (!PageAnon(page)) { __xa_store(&head->mapping->i_pages, head[i].index, head + i, 0); @@ -2715,6 +2752,9 @@ if (PageSwapCache(page)) return; + if (!list_empty(page_deferred_list(page))) + return; + spin_lock_irqsave(&ds_queue->split_queue_lock, flags); if (list_empty(page_deferred_list(page))) { count_vm_event(THP_DEFERRED_SPLIT_PAGE); --- linux-gcp-5.19.0.orig/mm/hugetlb.c +++ linux-gcp-5.19.0/mm/hugetlb.c @@ -96,6 +96,8 @@ /* Forward declaration */ static int hugetlb_acct_memory(struct hstate *h, long delta); +static void hugetlb_unshare_pmds(struct vm_area_struct *vma, + unsigned long start, unsigned long end); static inline bool subpool_is_free(struct hugepage_subpool *spool) { @@ -2766,8 +2768,7 @@ * Fail with -EBUSY if not possible. */ spin_unlock_irq(&hugetlb_lock); - if (!isolate_huge_page(old_page, list)) - ret = -EBUSY; + ret = isolate_hugetlb(old_page, list); spin_lock_irq(&hugetlb_lock); goto free_new; } else if (!HPageFreed(old_page)) { @@ -2843,7 +2844,7 @@ if (hstate_is_gigantic(h)) return -ENOMEM; - if (page_count(head) && isolate_huge_page(head, list)) + if (page_count(head) && !isolate_hugetlb(head, list)) ret = 0; else if (!page_count(head)) ret = alloc_and_dissolve_huge_page(h, head, list); @@ -2925,11 +2926,11 @@ page = alloc_buddy_huge_page_with_mpol(h, vma, addr); if (!page) goto out_uncharge_cgroup; + spin_lock_irq(&hugetlb_lock); if (!avoid_reserve && vma_has_reserves(vma, gbl_chg)) { SetHPageRestoreReserve(page); h->resv_huge_pages--; } - spin_lock_irq(&hugetlb_lock); list_add(&page->lru, &h->hugepage_activelist); /* Fall through */ } @@ -3419,6 +3420,7 @@ { int i, nid = page_to_nid(page); struct hstate *target_hstate; + struct page *subpage; int rc = 0; target_hstate = size_to_hstate(PAGE_SIZE << h->demote_order); @@ -3452,15 +3454,16 @@ mutex_lock(&target_hstate->resize_lock); for (i = 0; i < pages_per_huge_page(h); i += pages_per_huge_page(target_hstate)) { + subpage = nth_page(page, i); if (hstate_is_gigantic(target_hstate)) - prep_compound_gigantic_page_for_demote(page + i, + prep_compound_gigantic_page_for_demote(subpage, target_hstate->order); else - prep_compound_page(page + i, target_hstate->order); - set_page_private(page + i, 0); - set_page_refcounted(page + i); - prep_new_huge_page(target_hstate, page + i, nid); - put_page(page + i); + prep_compound_page(subpage, target_hstate->order); + set_page_private(subpage, 0); + set_page_refcounted(subpage); + prep_new_huge_page(target_hstate, subpage, nid); + put_page(subpage); } mutex_unlock(&target_hstate->resize_lock); @@ -4617,6 +4620,25 @@ { if (addr & ~(huge_page_mask(hstate_vma(vma)))) return -EINVAL; + + /* + * PMD sharing is only possible for PUD_SIZE-aligned address ranges + * in HugeTLB VMAs. If we will lose PUD_SIZE alignment due to this + * split, unshare PMDs in the PUD_SIZE interval surrounding addr now. + */ + if (addr & ~PUD_MASK) { + /* + * hugetlb_vm_op_split is called right before we attempt to + * split the VMA. We will need to unshare PMDs in the old and + * new VMAs, so let's unshare before we split. + */ + unsigned long floor = addr & PUD_MASK; + unsigned long ceil = floor + PUD_SIZE; + + if (floor >= vma->vm_start && ceil <= vma->vm_end) + hugetlb_unshare_pmds(vma, floor, ceil); + } + return 0; } @@ -5049,6 +5071,7 @@ * unmapped and its refcount is dropped, so just clear pte here. */ if (unlikely(!pte_present(pte))) { +#ifdef CONFIG_PTE_MARKER_UFFD_WP /* * If the pte was wr-protected by uffd-wp in any of the * swap forms, meanwhile the caller does not want to @@ -5060,6 +5083,7 @@ set_huge_pte_at(mm, address, ptep, make_pte_marker(PTE_MARKER_UFFD_WP)); else +#endif huge_pte_clear(mm, address, ptep, sz); spin_unlock(ptl); continue; @@ -5088,11 +5112,13 @@ tlb_remove_huge_tlb_entry(h, tlb, ptep, address); if (huge_pte_dirty(pte)) set_page_dirty(page); +#ifdef CONFIG_PTE_MARKER_UFFD_WP /* Leave a uffd-wp pte marker if needed */ if (huge_pte_uffd_wp(pte) && !(zap_flags & ZAP_FLAG_DROP_MARKER)) set_huge_pte_at(mm, address, ptep, make_pte_marker(PTE_MARKER_UFFD_WP)); +#endif hugetlb_count_sub(pages_per_huge_page(h), mm); page_remove_rmap(page, vma, true); @@ -5131,17 +5157,20 @@ { __unmap_hugepage_range(tlb, vma, start, end, ref_page, zap_flags); - /* - * Clear this flag so that x86's huge_pmd_share page_table_shareable - * test will fail on a vma being torn down, and not grab a page table - * on its way out. We're lucky that the flag has such an appropriate - * name, and can in fact be safely cleared here. We could clear it - * before the __unmap_hugepage_range above, but all that's necessary - * is to clear it before releasing the i_mmap_rwsem. This works - * because in the context this is called, the VMA is about to be - * destroyed and the i_mmap_rwsem is held. - */ - vma->vm_flags &= ~VM_MAYSHARE; + if (zap_flags & ZAP_FLAG_UNMAP) { /* final unmap */ + /* + * Clear this flag so that x86's huge_pmd_share + * page_table_shareable test will fail on a vma being torn + * down, and not grab a page table on its way out. We're lucky + * that the flag has such an appropriate name, and can in fact + * be safely cleared here. We could clear it before the + * __unmap_hugepage_range above, but all that's necessary + * is to clear it before releasing the i_mmap_rwsem. This works + * because in the context this is called, the VMA is about to + * be destroyed and the i_mmap_rwsem is held. + */ + vma->vm_flags &= ~VM_MAYSHARE; + } } void unmap_hugepage_range(struct vm_area_struct *vma, unsigned long start, @@ -5233,6 +5262,21 @@ VM_BUG_ON(unshare && (flags & FOLL_WRITE)); VM_BUG_ON(!unshare && !(flags & FOLL_WRITE)); + /* + * hugetlb does not support FOLL_FORCE-style write faults that keep the + * PTE mapped R/O such as maybe_mkwrite() would do. + */ + if (WARN_ON_ONCE(!unshare && !(vma->vm_flags & VM_WRITE))) + return VM_FAULT_SIGSEGV; + + /* Let's take out MAP_SHARED mappings first. */ + if (vma->vm_flags & VM_MAYSHARE) { + if (unlikely(unshare)) + return 0; + set_huge_ptep_writable(vma, haddr, ptep); + return 0; + } + pte = huge_ptep_get(ptep); old_page = pte_page(pte); @@ -5447,7 +5491,6 @@ unsigned long addr, unsigned long reason) { - vm_fault_t ret; u32 hash; struct vm_fault vmf = { .vma = vma, @@ -5465,18 +5508,14 @@ }; /* - * hugetlb_fault_mutex and i_mmap_rwsem must be - * dropped before handling userfault. Reacquire - * after handling fault to make calling code simpler. + * vma_lock and hugetlb_fault_mutex must be dropped before handling + * userfault. Also mmap_lock will be dropped during handling + * userfault, any vma operation should be careful from here. */ hash = hugetlb_fault_mutex_hash(mapping, idx); mutex_unlock(&hugetlb_fault_mutex_table[hash]); i_mmap_unlock_read(mapping); - ret = handle_userfault(&vmf, reason); - i_mmap_lock_read(mapping); - mutex_lock(&hugetlb_fault_mutex_table[hash]); - - return ret; + return handle_userfault(&vmf, reason); } static vm_fault_t hugetlb_no_page(struct mm_struct *mm, @@ -5494,6 +5533,7 @@ spinlock_t *ptl; unsigned long haddr = address & huge_page_mask(h); bool new_page, new_pagecache_page = false; + u32 hash = hugetlb_fault_mutex_hash(mapping, idx); /* * Currently, we are forced to kill the process in the event the @@ -5504,7 +5544,7 @@ if (is_vma_resv_set(vma, HPAGE_RESV_UNMAPPED)) { pr_warn_ratelimited("PID %d killed due to inadequate hugepage pool\n", current->pid); - return ret; + goto out; } /* @@ -5521,12 +5561,10 @@ page = find_lock_page(mapping, idx); if (!page) { /* Check for page in userfault range */ - if (userfaultfd_missing(vma)) { - ret = hugetlb_handle_userfault(vma, mapping, idx, + if (userfaultfd_missing(vma)) + return hugetlb_handle_userfault(vma, mapping, idx, flags, haddr, address, VM_UFFD_MISSING); - goto out; - } page = alloc_huge_page(vma, haddr, 0); if (IS_ERR(page)) { @@ -5586,10 +5624,9 @@ if (userfaultfd_minor(vma)) { unlock_page(page); put_page(page); - ret = hugetlb_handle_userfault(vma, mapping, idx, + return hugetlb_handle_userfault(vma, mapping, idx, flags, haddr, address, VM_UFFD_MINOR); - goto out; } } @@ -5647,6 +5684,8 @@ unlock_page(page); out: + mutex_unlock(&hugetlb_fault_mutex_table[hash]); + i_mmap_unlock_read(mapping); return ret; backout: @@ -5708,7 +5747,7 @@ */ entry = huge_ptep_get(ptep); if (unlikely(is_hugetlb_entry_migration(entry))) { - migration_entry_wait_huge(vma, mm, ptep); + migration_entry_wait_huge(vma, ptep); return 0; } else if (unlikely(is_hugetlb_entry_hwpoisoned(entry))) return VM_FAULT_HWPOISON_LARGE | @@ -5745,11 +5784,13 @@ entry = huge_ptep_get(ptep); /* PTE markers should be handled the same way as none pte */ - if (huge_pte_none_mostly(entry)) { - ret = hugetlb_no_page(mm, vma, mapping, idx, address, ptep, + if (huge_pte_none_mostly(entry)) + /* + * hugetlb_no_page will drop vma lock and hugetlb fault + * mutex internally, which make us return immediately. + */ + return hugetlb_no_page(mm, vma, mapping, idx, address, ptep, entry, flags); - goto out_mutex; - } ret = 0; @@ -5767,12 +5808,11 @@ * If we are going to COW/unshare the mapping later, we examine the * pending reservations for this page now. This will ensure that any * allocations necessary to record that reservation occur outside the - * spinlock. For private mappings, we also lookup the pagecache - * page now as it is used to determine if a reservation has been - * consumed. + * spinlock. Also lookup the pagecache page now as it is used to + * determine if a reservation has been consumed. */ if ((flags & (FAULT_FLAG_WRITE|FAULT_FLAG_UNSHARE)) && - !huge_pte_write(entry)) { + !(vma->vm_flags & VM_MAYSHARE) && !huge_pte_write(entry)) { if (vma_needs_reservation(h, vma, haddr) < 0) { ret = VM_FAULT_OOM; goto out_mutex; @@ -5780,9 +5820,7 @@ /* Just decrements count, does not deallocate */ vma_end_reservation(h, vma, haddr); - if (!(vma->vm_flags & VM_MAYSHARE)) - pagecache_page = hugetlbfs_pagecache_page(h, - vma, haddr); + pagecache_page = hugetlbfs_pagecache_page(h, vma, haddr); } ptl = huge_pte_lock(h, mm, ptep); @@ -5992,6 +6030,10 @@ ptl = huge_pte_lockptr(h, dst_mm, dst_pte); spin_lock(ptl); + ret = -EIO; + if (PageHWPoison(page)) + goto out_release_unlock; + /* * Recheck the i_size after holding PT lock to make sure not * to leave any page mapped (as page_mapped()) beyond the end @@ -6015,7 +6057,7 @@ if (!huge_pte_none_mostly(huge_ptep_get(dst_pte))) goto out_release_unlock; - if (vm_shared) { + if (page_in_pagecache) { page_dup_file_rmap(page, true); } else { ClearHPageRestoreReserve(page); @@ -6893,12 +6935,13 @@ } struct page * __weak -follow_huge_pmd(struct mm_struct *mm, unsigned long address, - pmd_t *pmd, int flags) +follow_huge_pmd_pte(struct vm_area_struct *vma, unsigned long address, int flags) { + struct hstate *h = hstate_vma(vma); + struct mm_struct *mm = vma->vm_mm; struct page *page = NULL; spinlock_t *ptl; - pte_t pte; + pte_t *ptep, pte; /* * FOLL_PIN is not supported for follow_page(). Ordinary GUP goes via @@ -6908,17 +6951,15 @@ return NULL; retry: - ptl = pmd_lockptr(mm, pmd); - spin_lock(ptl); - /* - * make sure that the address range covered by this pmd is not - * unmapped from other threads. - */ - if (!pmd_huge(*pmd)) - goto out; - pte = huge_ptep_get((pte_t *)pmd); + ptep = huge_pte_offset(mm, address, huge_page_size(h)); + if (!ptep) + return NULL; + + ptl = huge_pte_lock(h, mm, ptep); + pte = huge_ptep_get(ptep); if (pte_present(pte)) { - page = pmd_page(*pmd) + ((address & ~PMD_MASK) >> PAGE_SHIFT); + page = pte_page(pte) + + ((address & ~huge_page_mask(h)) >> PAGE_SHIFT); /* * try_grab_page() should always succeed here, because: a) we * hold the pmd (ptl) lock, and b) we've just checked that the @@ -6934,7 +6975,7 @@ } else { if (is_hugetlb_entry_migration(pte)) { spin_unlock(ptl); - __migration_entry_wait(mm, (pte_t *)pmd, ptl); + __migration_entry_wait_huge(ptep, ptl); goto retry; } /* @@ -6966,15 +7007,15 @@ return pte_page(*(pte_t *)pgd) + ((address & ~PGDIR_MASK) >> PAGE_SHIFT); } -bool isolate_huge_page(struct page *page, struct list_head *list) +int isolate_hugetlb(struct page *page, struct list_head *list) { - bool ret = true; + int ret = 0; spin_lock_irq(&hugetlb_lock); if (!PageHeadHuge(page) || !HPageMigratable(page) || !get_page_unless_zero(page)) { - ret = false; + ret = -EBUSY; goto unlock; } ClearHPageMigratable(page); @@ -7061,26 +7102,21 @@ } } -/* - * This function will unconditionally remove all the shared pmd pgtable entries - * within the specific vma for a hugetlbfs memory range. - */ -void hugetlb_unshare_all_pmds(struct vm_area_struct *vma) +static void hugetlb_unshare_pmds(struct vm_area_struct *vma, + unsigned long start, + unsigned long end) { struct hstate *h = hstate_vma(vma); unsigned long sz = huge_page_size(h); struct mm_struct *mm = vma->vm_mm; struct mmu_notifier_range range; - unsigned long address, start, end; + unsigned long address; spinlock_t *ptl; pte_t *ptep; if (!(vma->vm_flags & VM_MAYSHARE)) return; - start = ALIGN(vma->vm_start, PUD_SIZE); - end = ALIGN_DOWN(vma->vm_end, PUD_SIZE); - if (start >= end) return; @@ -7113,6 +7149,16 @@ mmu_notifier_invalidate_range_end(&range); } +/* + * This function will unconditionally remove all the shared pmd pgtable entries + * within the specific vma for a hugetlbfs memory range. + */ +void hugetlb_unshare_all_pmds(struct vm_area_struct *vma) +{ + hugetlb_unshare_pmds(vma, ALIGN(vma->vm_start, PUD_SIZE), + ALIGN_DOWN(vma->vm_end, PUD_SIZE)); +} + #ifdef CONFIG_CMA static bool cma_reserve_called __initdata; --- linux-gcp-5.19.0.orig/mm/hugetlb_cgroup.c +++ linux-gcp-5.19.0/mm/hugetlb_cgroup.c @@ -772,6 +772,7 @@ /* Add the numa stat file */ cft = &h->cgroup_files_dfl[6]; snprintf(cft->name, MAX_CFTYPE_NAME, "%s.numa_stat", buf); + cft->private = MEMFILE_PRIVATE(idx, 0); cft->seq_show = hugetlb_cgroup_read_numa_stat; cft->flags = CFTYPE_NOT_ON_ROOT; --- linux-gcp-5.19.0.orig/mm/kasan/common.c +++ linux-gcp-5.19.0/mm/kasan/common.c @@ -376,6 +376,9 @@ static inline bool ____kasan_kfree_large(void *ptr, unsigned long ip) { + if (!kasan_arch_is_ready()) + return false; + if (ptr != page_address(virt_to_head_page(ptr))) { kasan_report_invalid_free(ptr, ip); return true; --- linux-gcp-5.19.0.orig/mm/kasan/generic.c +++ linux-gcp-5.19.0/mm/kasan/generic.c @@ -191,7 +191,12 @@ bool kasan_byte_accessible(const void *addr) { - s8 shadow_byte = READ_ONCE(*(s8 *)kasan_mem_to_shadow(addr)); + s8 shadow_byte; + + if (!kasan_arch_is_ready()) + return true; + + shadow_byte = READ_ONCE(*(s8 *)kasan_mem_to_shadow(addr)); return shadow_byte >= 0 && shadow_byte < KASAN_GRANULE_SIZE; } --- linux-gcp-5.19.0.orig/mm/kasan/hw_tags.c +++ linux-gcp-5.19.0/mm/kasan/hw_tags.c @@ -257,27 +257,37 @@ } } +static void init_vmalloc_pages(const void *start, unsigned long size) +{ + const void *addr; + + for (addr = start; addr < start + size; addr += PAGE_SIZE) { + struct page *page = virt_to_page(addr); + + clear_highpage_kasan_tagged(page); + } +} + void *__kasan_unpoison_vmalloc(const void *start, unsigned long size, kasan_vmalloc_flags_t flags) { u8 tag; unsigned long redzone_start, redzone_size; - if (!kasan_vmalloc_enabled()) - return (void *)start; - - if (!is_vmalloc_or_module_addr(start)) + if (!kasan_vmalloc_enabled() || !is_vmalloc_or_module_addr(start)) { + if (flags & KASAN_VMALLOC_INIT) + init_vmalloc_pages(start, size); return (void *)start; + } /* - * Skip unpoisoning and assigning a pointer tag for non-VM_ALLOC - * mappings as: + * Don't tag non-VM_ALLOC mappings, as: * * 1. Unlike the software KASAN modes, hardware tag-based KASAN only * supports tagging physical memory. Therefore, it can only tag a * single mapping of normal physical pages. * 2. Hardware tag-based KASAN can only tag memory mapped with special - * mapping protection bits, see arch_vmalloc_pgprot_modify(). + * mapping protection bits, see arch_vmap_pgprot_tagged(). * As non-VM_ALLOC mappings can be mapped outside of vmalloc code, * providing these bits would require tracking all non-VM_ALLOC * mappers. @@ -289,15 +299,19 @@ * * For non-VM_ALLOC allocations, page_alloc memory is tagged as usual. */ - if (!(flags & KASAN_VMALLOC_VM_ALLOC)) + if (!(flags & KASAN_VMALLOC_VM_ALLOC)) { + WARN_ON(flags & KASAN_VMALLOC_INIT); return (void *)start; + } /* * Don't tag executable memory. * The kernel doesn't tolerate having the PC register tagged. */ - if (!(flags & KASAN_VMALLOC_PROT_NORMAL)) + if (!(flags & KASAN_VMALLOC_PROT_NORMAL)) { + WARN_ON(flags & KASAN_VMALLOC_INIT); return (void *)start; + } tag = kasan_random_tag(); start = set_tag(start, tag); --- linux-gcp-5.19.0.orig/mm/kasan/report.c +++ linux-gcp-5.19.0/mm/kasan/report.c @@ -164,8 +164,8 @@ (unsigned long)addr); pr_err("==================================================================\n"); spin_unlock_irqrestore(&report_lock, *flags); - if (panic_on_warn && !test_bit(KASAN_BIT_MULTI_SHOT, &kasan_flags)) - panic("panic_on_warn set ...\n"); + if (!test_bit(KASAN_BIT_MULTI_SHOT, &kasan_flags)) + check_panic_on_warn("KASAN"); if (kasan_arg_fault == KASAN_ARG_FAULT_PANIC) panic("kasan.fault=panic set ...\n"); add_taint(TAINT_BAD_PAGE, LOCKDEP_NOW_UNRELIABLE); --- linux-gcp-5.19.0.orig/mm/kasan/shadow.c +++ linux-gcp-5.19.0/mm/kasan/shadow.c @@ -291,6 +291,9 @@ unsigned long shadow_start, shadow_end; int ret; + if (!kasan_arch_is_ready()) + return 0; + if (!is_vmalloc_or_module_addr((void *)addr)) return 0; @@ -446,6 +449,9 @@ unsigned long region_start, region_end; unsigned long size; + if (!kasan_arch_is_ready()) + return; + region_start = ALIGN(start, KASAN_MEMORY_PER_SHADOW_PAGE); region_end = ALIGN_DOWN(end, KASAN_MEMORY_PER_SHADOW_PAGE); @@ -485,6 +491,9 @@ * with setting memory tags, so the KASAN_VMALLOC_INIT flag is ignored. */ + if (!kasan_arch_is_ready()) + return (void *)start; + if (!is_vmalloc_or_module_addr(start)) return (void *)start; @@ -507,6 +516,9 @@ */ void __kasan_poison_vmalloc(const void *start, unsigned long size) { + if (!kasan_arch_is_ready()) + return; + if (!is_vmalloc_or_module_addr(start)) return; --- linux-gcp-5.19.0.orig/mm/kfence/core.c +++ linux-gcp-5.19.0/mm/kfence/core.c @@ -603,6 +603,14 @@ addr += 2 * PAGE_SIZE; } + /* + * The pool is live and will never be deallocated from this point on. + * Remove the pool object from the kmemleak object tree, as it would + * otherwise overlap with allocations returned by kfence_alloc(), which + * are registered with kmemleak through the slab post-alloc hook. + */ + kmemleak_free(__kfence_pool); + return 0; } @@ -615,16 +623,8 @@ addr = kfence_init_pool(); - if (!addr) { - /* - * The pool is live and will never be deallocated from this point on. - * Ignore the pool object from the kmemleak phys object tree, as it would - * otherwise overlap with allocations returned by kfence_alloc(), which - * are registered with kmemleak through the slab post-alloc hook. - */ - kmemleak_ignore_phys(__pa(__kfence_pool)); + if (!addr) return true; - } /* * Only release unprotected pages, and do not try to go back and change --- linux-gcp-5.19.0.orig/mm/kfence/report.c +++ linux-gcp-5.19.0/mm/kfence/report.c @@ -267,8 +267,7 @@ lockdep_on(); - if (panic_on_warn) - panic("panic_on_warn set ...\n"); + check_panic_on_warn("KFENCE"); /* We encountered a memory safety error, taint the kernel! */ add_taint(TAINT_BAD_PAGE, LOCKDEP_STILL_OK); --- linux-gcp-5.19.0.orig/mm/khugepaged.c +++ linux-gcp-5.19.0/mm/khugepaged.c @@ -1121,14 +1121,17 @@ pmd_ptl = pmd_lock(mm, pmd); /* probably unnecessary */ /* - * After this gup_fast can't run anymore. This also removes - * any huge TLB entry from the CPU so we won't allow - * huge and small TLB entries for the same virtual address - * to avoid the risk of CPU bugs in that area. + * This removes any huge TLB entry from the CPU so we won't allow + * huge and small TLB entries for the same virtual address to + * avoid the risk of CPU bugs in that area. + * + * Parallel fast GUP is fine since fast GUP will back off when + * it detects PMD is changed. */ _pmd = pmdp_collapse_flush(vma, address, pmd); spin_unlock(pmd_ptl); mmu_notifier_invalidate_range_end(&range); + tlb_remove_table_sync_one(); spin_lock(pte_ptl); isolated = __collapse_huge_page_isolate(vma, address, pte, @@ -1397,16 +1400,43 @@ return 0; } +/* + * A note about locking: + * Trying to take the page table spinlocks would be useless here because those + * are only used to synchronize: + * + * - modifying terminal entries (ones that point to a data page, not to another + * page table) + * - installing *new* non-terminal entries + * + * Instead, we need roughly the same kind of protection as free_pgtables() or + * mm_take_all_locks() (but only for a single VMA): + * The mmap lock together with this VMA's rmap locks covers all paths towards + * the page table entries we're messing with here, except for hardware page + * table walks and lockless_pages_from_mm(). + */ static void collapse_and_free_pmd(struct mm_struct *mm, struct vm_area_struct *vma, unsigned long addr, pmd_t *pmdp) { - spinlock_t *ptl; pmd_t pmd; + struct mmu_notifier_range range; mmap_assert_write_locked(mm); - ptl = pmd_lock(vma->vm_mm, pmdp); + if (vma->vm_file) + lockdep_assert_held_write(&vma->vm_file->f_mapping->i_mmap_rwsem); + /* + * All anon_vmas attached to the VMA have the same root and are + * therefore locked by the same lock. + */ + if (vma->anon_vma) + lockdep_assert_held_write(&vma->anon_vma->root->rwsem); + + mmu_notifier_range_init(&range, MMU_NOTIFY_CLEAR, 0, NULL, mm, addr, + addr + HPAGE_PMD_SIZE); + mmu_notifier_invalidate_range_start(&range); pmd = pmdp_collapse_flush(vma, addr, pmdp); - spin_unlock(ptl); + tlb_remove_table_sync_one(); + mmu_notifier_invalidate_range_end(&range); mm_dec_nr_ptes(mm); page_table_check_pte_clear_range(mm, addr, pmd); pte_free(mm, pmd_pgtable(pmd)); @@ -1463,6 +1493,20 @@ if (!pmd) goto drop_hpage; + /* + * We need to lock the mapping so that from here on, only GUP-fast and + * hardware page walks can access the parts of the page tables that + * we're operating on. + * See collapse_and_free_pmd(). + */ + i_mmap_lock_write(vma->vm_file->f_mapping); + + /* + * This spinlock should be unnecessary: Nobody else should be accessing + * the page tables under spinlock protection here, only + * lockless_pages_from_mm() and the hardware page walker can access page + * tables while all the high-level locks are held in write mode. + */ start_pte = pte_offset_map_lock(mm, pmd, haddr, &ptl); /* step 1: check all mapped PTEs are to the right huge page */ @@ -1509,7 +1553,16 @@ } /* step 4: collapse pmd */ + /* we make no change to anon, but protect concurrent anon page lookup */ + if (vma->anon_vma) + anon_vma_lock_write(vma->anon_vma); + collapse_and_free_pmd(mm, vma, haddr, pmd); + + if (vma->anon_vma) + anon_vma_unlock_write(vma->anon_vma); + i_mmap_unlock_write(vma->vm_file->f_mapping); + drop_hpage: unlock_page(hpage); put_page(hpage); @@ -1517,6 +1570,7 @@ abort: pte_unmap_unlock(start_pte, ptl); + i_mmap_unlock_write(vma->vm_file->f_mapping); goto drop_hpage; } @@ -1565,7 +1619,8 @@ * An alternative would be drop the check, but check that page * table is clear before calling pmdp_collapse_flush() under * ptl. It has higher chance to recover THP for the VMA, but - * has higher cost too. + * has higher cost too. It would also probably require locking + * the anon_vma. */ if (vma->anon_vma) continue; --- linux-gcp-5.19.0.orig/mm/kmemleak.c +++ linux-gcp-5.19.0/mm/kmemleak.c @@ -1132,7 +1132,7 @@ void __ref kmemleak_alloc_phys(phys_addr_t phys, size_t size, int min_count, gfp_t gfp) { - if (PHYS_PFN(phys) >= min_low_pfn && PHYS_PFN(phys) < max_low_pfn) + if (!IS_ENABLED(CONFIG_HIGHMEM) || PHYS_PFN(phys) < max_low_pfn) kmemleak_alloc(__va(phys), size, min_count, gfp); } EXPORT_SYMBOL(kmemleak_alloc_phys); @@ -1146,7 +1146,7 @@ */ void __ref kmemleak_free_part_phys(phys_addr_t phys, size_t size) { - if (PHYS_PFN(phys) >= min_low_pfn && PHYS_PFN(phys) < max_low_pfn) + if (!IS_ENABLED(CONFIG_HIGHMEM) || PHYS_PFN(phys) < max_low_pfn) kmemleak_free_part(__va(phys), size); } EXPORT_SYMBOL(kmemleak_free_part_phys); @@ -1158,7 +1158,7 @@ */ void __ref kmemleak_not_leak_phys(phys_addr_t phys) { - if (PHYS_PFN(phys) >= min_low_pfn && PHYS_PFN(phys) < max_low_pfn) + if (!IS_ENABLED(CONFIG_HIGHMEM) || PHYS_PFN(phys) < max_low_pfn) kmemleak_not_leak(__va(phys)); } EXPORT_SYMBOL(kmemleak_not_leak_phys); @@ -1170,7 +1170,7 @@ */ void __ref kmemleak_ignore_phys(phys_addr_t phys) { - if (PHYS_PFN(phys) >= min_low_pfn && PHYS_PFN(phys) < max_low_pfn) + if (!IS_ENABLED(CONFIG_HIGHMEM) || PHYS_PFN(phys) < max_low_pfn) kmemleak_ignore(__va(phys)); } EXPORT_SYMBOL(kmemleak_ignore_phys); --- linux-gcp-5.19.0.orig/mm/ksm.c +++ linux-gcp-5.19.0/mm/ksm.c @@ -2427,9 +2427,14 @@ if (ksmd_should_run()) { sleep_ms = READ_ONCE(ksm_thread_sleep_millisecs); - wait_event_interruptible_timeout(ksm_iter_wait, - sleep_ms != READ_ONCE(ksm_thread_sleep_millisecs), - msecs_to_jiffies(sleep_ms)); + if (sleep_ms >= 1000) + wait_event_interruptible_timeout(ksm_iter_wait, + sleep_ms != READ_ONCE(ksm_thread_sleep_millisecs), + msecs_to_jiffies(round_jiffies_relative(sleep_ms))); + else + wait_event_interruptible_timeout(ksm_iter_wait, + sleep_ms != READ_ONCE(ksm_thread_sleep_millisecs), + msecs_to_jiffies(sleep_ms)); } else { wait_event_freezable(ksm_thread_wait, ksmd_should_run() || kthread_should_stop()); --- linux-gcp-5.19.0.orig/mm/maccess.c +++ linux-gcp-5.19.0/mm/maccess.c @@ -97,7 +97,7 @@ return src - unsafe_addr; Efault: pagefault_enable(); - dst[-1] = '\0'; + dst[0] = '\0'; return -EFAULT; } --- linux-gcp-5.19.0.orig/mm/madvise.c +++ linux-gcp-5.19.0/mm/madvise.c @@ -451,8 +451,11 @@ continue; } - /* Do not interfere with other mappings of this page */ - if (page_mapcount(page) != 1) + /* + * Do not interfere with other mappings of this page and + * non-LRU page. + */ + if (!PageLRU(page) || page_mapcount(page) != 1) continue; VM_BUG_ON_PAGE(PageTransCompound(page), page); @@ -767,8 +770,8 @@ * Application no longer needs these pages. If the pages are dirty, * it's OK to just throw them away. The app will be more careful about * data it wants to keep. Be sure to free swap resources too. The - * zap_page_range call sets things up for shrink_active_list to actually free - * these pages later if no one else has touched them in the meantime, + * zap_page_range_single call sets things up for shrink_active_list to actually + * free these pages later if no one else has touched them in the meantime, * although we could add these pages to a global reuse list for * shrink_active_list to pick up before reclaiming other pages. * @@ -785,7 +788,7 @@ static long madvise_dontneed_single_vma(struct vm_area_struct *vma, unsigned long start, unsigned long end) { - zap_page_range(vma, start, end - start); + zap_page_range_single(vma, start, end - start, NULL); return 0; } @@ -808,7 +811,14 @@ if (start & ~huge_page_mask(hstate_vma(vma))) return false; - *end = ALIGN(*end, huge_page_size(hstate_vma(vma))); + /* + * Madvise callers expect the length to be rounded up to PAGE_SIZE + * boundaries, and may be unaware that this VMA uses huge pages. + * Avoid unexpected data loss by rounding down the number of + * huge pages freed. + */ + *end = ALIGN_DOWN(*end, huge_page_size(hstate_vma(vma))); + return true; } @@ -823,6 +833,9 @@ if (!madvise_dontneed_free_valid_vma(vma, start, &end, behavior)) return -EINVAL; + if (start == end) + return 0; + if (!userfaultfd_remove(vma, start, end)) { *prev = NULL; /* mmap_lock has been dropped, prev is stale */ --- linux-gcp-5.19.0.orig/mm/memcontrol.c +++ linux-gcp-5.19.0/mm/memcontrol.c @@ -2930,7 +2930,7 @@ { struct obj_cgroup *objcg; - if (!memcg_kmem_enabled() || memcg_kmem_bypass()) + if (!memcg_kmem_enabled()) return NULL; if (PageMemcgKmem(page)) { @@ -3813,6 +3813,10 @@ { struct mem_cgroup *memcg = mem_cgroup_from_css(css); + pr_warn_once("Cgroup memory moving (move_charge_at_immigrate) is deprecated. " + "Please report your usecase to linux-mm@kvack.org if you " + "depend on this functionality.\n"); + if (val & ~MOVE_MASK) return -EINVAL; @@ -4730,6 +4734,7 @@ unsigned int efd, cfd; struct fd efile; struct fd cfile; + struct dentry *cdentry; const char *name; char *endp; int ret; @@ -4784,6 +4789,16 @@ goto out_put_cfile; /* + * The control file must be a regular cgroup1 file. As a regular cgroup + * file can't be renamed, it's safe to access its name afterwards. + */ + cdentry = cfile.file->f_path.dentry; + if (cdentry->d_sb->s_type != &cgroup_fs_type || !d_is_reg(cdentry)) { + ret = -EINVAL; + goto out_put_cfile; + } + + /* * Determine the event callbacks and set them in @event. This used * to be done via struct cftype but cgroup core no longer knows * about these events. The following is crude but the whole thing @@ -4791,7 +4806,7 @@ * * DO NOT ADD NEW FILES. */ - name = cfile.file->f_path.dentry->d_name.name; + name = cdentry->d_name.name; if (!strcmp(name, "memory.usage_in_bytes")) { event->register_event = mem_cgroup_usage_register_event; @@ -4815,7 +4830,7 @@ * automatically removed on cgroup destruction but the removal is * asynchronous, so take an extra ref on @css. */ - cfile_css = css_tryget_online_from_dir(cfile.file->f_path.dentry->d_parent, + cfile_css = css_tryget_online_from_dir(cdentry->d_parent, &memory_cgrp_subsys); ret = -EINVAL; if (IS_ERR(cfile_css)) --- linux-gcp-5.19.0.orig/mm/memory-failure.c +++ linux-gcp-5.19.0/mm/memory-failure.c @@ -697,6 +697,9 @@ }; priv.tk.tsk = p; + if (!p->mm) + return -EFAULT; + mmap_read_lock(p->mm); ret = walk_page_range(p->mm, 0, TASK_SIZE, &hwp_walk_ops, (void *)&priv); @@ -1031,6 +1034,7 @@ int res; struct page *hpage = compound_head(p); struct address_space *mapping; + bool extra_pins = false; if (!PageHuge(hpage)) return MF_DELAYED; @@ -1038,6 +1042,8 @@ mapping = page_mapping(hpage); if (mapping) { res = truncate_error_page(hpage, page_to_pfn(p), mapping); + /* The page is kept in page cache. */ + extra_pins = true; unlock_page(hpage); } else { res = MF_FAILED; @@ -1054,7 +1060,7 @@ } } - if (has_extra_refcount(ps, p, false)) + if (has_extra_refcount(ps, p, extra_pins)) res = MF_FAILED; return res; @@ -2178,7 +2184,7 @@ bool lru = PageLRU(page); if (PageHuge(page)) { - isolated = isolate_huge_page(page, pagelist); + isolated = !isolate_hugetlb(page, pagelist); } else { if (lru) isolated = !isolate_lru_page(page); --- linux-gcp-5.19.0.orig/mm/memory.c +++ linux-gcp-5.19.0/mm/memory.c @@ -867,12 +867,8 @@ return -EBUSY; return -ENOENT; } else if (is_pte_marker_entry(entry)) { - /* - * We're copying the pgtable should only because dst_vma has - * uffd-wp enabled, do sanity check. - */ - WARN_ON_ONCE(!userfaultfd_wp(dst_vma)); - set_pte_at(dst_mm, addr, dst_pte, pte); + if (userfaultfd_wp(dst_vma)) + set_pte_at(dst_mm, addr, dst_pte, pte); return 0; } if (!userfaultfd_wp(dst_vma)) @@ -1333,15 +1329,6 @@ return ret; } -/* - * Parameter block passed down to zap_pte_range in exceptional cases. - */ -struct zap_details { - struct folio *single_folio; /* Locked folio to be unmapped */ - bool even_cows; /* Zap COWed private pages too? */ - zap_flags_t zap_flags; /* Extra flags for zapping */ -}; - /* Whether we should zap all COWed (private) pages too */ static inline bool should_zap_cows(struct zap_details *details) { @@ -1385,10 +1372,12 @@ unsigned long addr, pte_t *pte, struct zap_details *details, pte_t pteval) { +#ifdef CONFIG_PTE_MARKER_UFFD_WP if (zap_drop_file_uffd_wp(details)) return; pte_install_uffd_wp_if_needed(vma, addr, pte, pteval); +#endif } static unsigned long zap_pte_range(struct mmu_gather *tlb, @@ -1711,7 +1700,7 @@ { struct mmu_notifier_range range; struct zap_details details = { - .zap_flags = ZAP_FLAG_DROP_MARKER, + .zap_flags = ZAP_FLAG_DROP_MARKER | ZAP_FLAG_UNMAP, /* Careful - we need to zap private pages too! */ .even_cows = true, }; @@ -1749,6 +1738,7 @@ mmu_notifier_invalidate_range_end(&range); tlb_finish_mmu(&tlb); } +EXPORT_SYMBOL(zap_page_range); /** * zap_page_range_single - remove user pages in a given range @@ -1759,19 +1749,27 @@ * * The range must fit into one VMA. */ -static void zap_page_range_single(struct vm_area_struct *vma, unsigned long address, +void zap_page_range_single(struct vm_area_struct *vma, unsigned long address, unsigned long size, struct zap_details *details) { + const unsigned long end = address + size; struct mmu_notifier_range range; struct mmu_gather tlb; lru_add_drain(); mmu_notifier_range_init(&range, MMU_NOTIFY_CLEAR, 0, vma, vma->vm_mm, - address, address + size); + address, end); + if (is_vm_hugetlb_page(vma)) + adjust_range_if_pmd_sharing_possible(vma, &range.start, + &range.end); tlb_gather_mmu(&tlb, vma->vm_mm); update_hiwater_rss(vma->vm_mm); mmu_notifier_invalidate_range_start(&range); - unmap_single_vma(&tlb, vma, address, range.end, details); + /* + * unmap 'address-end' not 'range.start-range.end' as range + * could have been expanded for hugetlb pmd sharing. + */ + unmap_single_vma(&tlb, vma, address, end, details); mmu_notifier_invalidate_range_end(&range); tlb_finish_mmu(&tlb); } @@ -4378,14 +4376,20 @@ vmf->pte = pte_offset_map_lock(vma->vm_mm, vmf->pmd, vmf->address, &vmf->ptl); - ret = 0; + /* Re-check under ptl */ - if (likely(!vmf_pte_changed(vmf))) + if (likely(!vmf_pte_changed(vmf))) { do_set_pte(vmf, page, vmf->address); - else + + /* no need to invalidate: a not-present page won't be cached */ + update_mmu_cache(vma, vmf->address, vmf->pte); + + ret = 0; + } else { + update_mmu_tlb(vma, vmf->address, vmf->pte); ret = VM_FAULT_NOPAGE; + } - update_mmu_tlb(vma, vmf->address, vmf->pte); pte_unmap_unlock(vmf->pte, vmf->ptl); return ret; } --- linux-gcp-5.19.0.orig/mm/memory_hotplug.c +++ linux-gcp-5.19.0/mm/memory_hotplug.c @@ -1643,7 +1643,7 @@ if (PageHuge(page)) { pfn = page_to_pfn(head) + compound_nr(head) - 1; - isolate_huge_page(head, &source); + isolate_hugetlb(head, &source); continue; } else if (PageTransHuge(page)) pfn = page_to_pfn(head) + thp_nr_pages(page) - 1; --- linux-gcp-5.19.0.orig/mm/mempolicy.c +++ linux-gcp-5.19.0/mm/mempolicy.c @@ -601,8 +601,9 @@ /* With MPOL_MF_MOVE, we migrate only unshared hugepage. */ if (flags & (MPOL_MF_MOVE_ALL) || - (flags & MPOL_MF_MOVE && page_mapcount(page) == 1)) { - if (!isolate_huge_page(page, qp->pagelist) && + (flags & MPOL_MF_MOVE && page_mapcount(page) == 1 && + !hugetlb_pmd_shared(pte))) { + if (isolate_hugetlb(page, qp->pagelist) && (flags & MPOL_MF_STRICT)) /* * Failed to isolate page but allow migrating pages @@ -1388,7 +1389,7 @@ unsigned long bits = min_t(unsigned long, maxnode, BITS_PER_LONG); unsigned long t; - if (get_bitmap(&t, &nmask[maxnode / BITS_PER_LONG], bits)) + if (get_bitmap(&t, &nmask[(maxnode - 1) / BITS_PER_LONG], bits)) return -EFAULT; if (maxnode - bits >= MAX_NUMNODES) { @@ -1527,6 +1528,7 @@ * the home node for vmas we already updated before. */ if (new->mode != MPOL_BIND && new->mode != MPOL_PREFERRED_MANY) { + mpol_put(new); err = -EOPNOTSUPP; break; } --- linux-gcp-5.19.0.orig/mm/memremap.c +++ linux-gcp-5.19.0/mm/memremap.c @@ -141,10 +141,10 @@ for (i = 0; i < pgmap->nr_range; i++) percpu_ref_put_many(&pgmap->ref, pfn_len(pgmap, i)); wait_for_completion(&pgmap->done); - percpu_ref_exit(&pgmap->ref); for (i = 0; i < pgmap->nr_range; i++) pageunmap_range(pgmap, i); + percpu_ref_exit(&pgmap->ref); WARN_ONCE(pgmap->altmap.alloc, "failed to free all reserved pages\n"); devmap_managed_enable_put(pgmap); @@ -320,6 +320,7 @@ WARN(1, "File system DAX not supported\n"); return ERR_PTR(-EINVAL); } + params.pgprot = pgprot_decrypted(params.pgprot); break; case MEMORY_DEVICE_GENERIC: break; --- linux-gcp-5.19.0.orig/mm/migrate.c +++ linux-gcp-5.19.0/mm/migrate.c @@ -133,7 +133,7 @@ * * This function shall be used whenever the isolated pageset has been * built from lru, balloon, hugetlbfs page. See isolate_migratepages_range() - * and isolate_huge_page(). + * and isolate_hugetlb(). */ void putback_movable_pages(struct list_head *l) { @@ -315,12 +315,27 @@ __migration_entry_wait(mm, ptep, ptl); } -void migration_entry_wait_huge(struct vm_area_struct *vma, - struct mm_struct *mm, pte_t *pte) +#ifdef CONFIG_HUGETLB_PAGE +void __migration_entry_wait_huge(pte_t *ptep, spinlock_t *ptl) +{ + pte_t pte; + + spin_lock(ptl); + pte = huge_ptep_get(ptep); + + if (unlikely(!is_hugetlb_entry_migration(pte))) + spin_unlock(ptl); + else + migration_entry_wait_on_locked(pte_to_swp_entry(pte), NULL, ptl); +} + +void migration_entry_wait_huge(struct vm_area_struct *vma, pte_t *pte) { - spinlock_t *ptl = huge_pte_lockptr(hstate_vma(vma), mm, pte); - __migration_entry_wait(mm, pte, ptl); + spinlock_t *ptl = huge_pte_lockptr(hstate_vma(vma), vma->vm_mm, pte); + + __migration_entry_wait_huge(pte, ptl); } +#endif #ifdef CONFIG_ARCH_ENABLE_THP_MIGRATION void pmd_migration_entry_wait(struct mm_struct *mm, pmd_t *pmd) @@ -1506,6 +1521,13 @@ */ list_splice(&ret_pages, from); + /* + * Return 0 in case all subpages of fail-to-migrate THPs are + * migrated successfully. + */ + if (list_empty(from)) + rc = 0; + count_vm_events(PGMIGRATE_SUCCESS, nr_succeeded); count_vm_events(PGMIGRATE_FAIL, nr_failed_pages); count_vm_events(THP_MIGRATION_SUCCESS, nr_thp_succeeded); @@ -1633,8 +1655,9 @@ if (PageHuge(page)) { if (PageHead(page)) { - isolate_huge_page(page, pagelist); - err = 1; + err = isolate_hugetlb(page, pagelist); + if (!err) + err = 1; } } else { struct page *head; --- linux-gcp-5.19.0.orig/mm/migrate_device.c +++ linux-gcp-5.19.0/mm/migrate_device.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include #include @@ -187,10 +188,10 @@ bool anon_exclusive; pte_t swp_pte; + flush_cache_page(vma, addr, pte_pfn(*ptep)); anon_exclusive = PageAnon(page) && PageAnonExclusive(page); if (anon_exclusive) { - flush_cache_page(vma, addr, pte_pfn(*ptep)); - ptep_clear_flush(vma, addr, ptep); + pte = ptep_clear_flush(vma, addr, ptep); if (page_try_share_anon_rmap(page)) { set_pte_at(mm, addr, ptep, pte); @@ -200,11 +201,15 @@ goto next; } } else { - ptep_get_and_clear(mm, addr, ptep); + pte = ptep_get_and_clear(mm, addr, ptep); } migrate->cpages++; + /* Set the dirty flag on the folio now the pte is gone. */ + if (pte_dirty(pte)) + folio_mark_dirty(page_folio(page)); + /* Setup special migration page table entry */ if (mpfn & MIGRATE_PFN_WRITE) entry = make_writable_migration_entry( @@ -248,13 +253,14 @@ migrate->dst[migrate->npages] = 0; migrate->src[migrate->npages++] = mpfn; } - arch_leave_lazy_mmu_mode(); - pte_unmap_unlock(ptep - 1, ptl); /* Only flush the TLB if we actually modified any entries */ if (unmapped) flush_tlb_range(walk->vma, start, end); + arch_leave_lazy_mmu_mode(); + pte_unmap_unlock(ptep - 1, ptl); + return 0; } --- linux-gcp-5.19.0.orig/mm/mmap.c +++ linux-gcp-5.19.0/mm/mmap.c @@ -189,7 +189,7 @@ if (vma->vm_ops && vma->vm_ops->close) vma->vm_ops->close(vma); if (vma->vm_file) - fput(vma->vm_file); + vma_fput(vma); mpol_put(vma_policy(vma)); vm_area_free(vma); return next; @@ -958,7 +958,7 @@ if (remove_next) { if (file) { uprobe_munmap(next, next->vm_start, next->vm_end); - fput(file); + vma_fput(vma); } if (next->anon_vma) anon_vma_merge(vma, next); @@ -1693,8 +1693,12 @@ pgprot_val(vm_pgprot_modify(vm_page_prot, vm_flags))) return 0; - /* Do we need to track softdirty? */ - if (IS_ENABLED(CONFIG_MEM_SOFT_DIRTY) && !(vm_flags & VM_SOFTDIRTY)) + /* + * Do we need to track softdirty? hugetlb does not support softdirty + * tracking yet. + */ + if (IS_ENABLED(CONFIG_MEM_SOFT_DIRTY) && !(vm_flags & VM_SOFTDIRTY) && + !is_vm_hugetlb_page(vma)) return 1; /* Specialty mapping? */ @@ -1841,7 +1845,7 @@ if (!arch_validate_flags(vma->vm_flags)) { error = -EINVAL; if (file) - goto unmap_and_free_vma; + goto close_and_free_vma; else goto free_vma; } @@ -1888,13 +1892,15 @@ return addr; +close_and_free_vma: + if (vma->vm_ops && vma->vm_ops->close) + vma->vm_ops->close(vma); unmap_and_free_vma: - fput(vma->vm_file); + vma_fput(vma); vma->vm_file = NULL; /* Undo any partial mapping done by a device driver. */ unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end); - charged = 0; if (vm_flags & VM_SHARED) mapping_unmap_writable(file->f_mapping); free_vma: @@ -2751,7 +2757,7 @@ goto out_free_mpol; if (new->vm_file) - get_file(new->vm_file); + vma_get_file(new); if (new->vm_ops && new->vm_ops->open) new->vm_ops->open(new); @@ -2770,7 +2776,7 @@ if (new->vm_ops && new->vm_ops->close) new->vm_ops->close(new); if (new->vm_file) - fput(new->vm_file); + vma_fput(new); unlink_anon_vmas(new); out_free_mpol: mpol_put(vma_policy(new)); @@ -2942,7 +2948,7 @@ struct vm_area_struct *vma; unsigned long populate = 0; unsigned long ret = -EINVAL; - struct file *file; + struct file *file, *prfile; pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/vm/remap_file_pages.rst.\n", current->comm, current->pid); @@ -2998,10 +3004,27 @@ if (vma->vm_flags & VM_LOCKED) flags |= MAP_LOCKED; - file = get_file(vma->vm_file); + vma_get_file(vma); + file = vma->vm_file; + prfile = vma->vm_prfile; ret = do_mmap(vma->vm_file, start, size, prot, flags, pgoff, &populate, NULL); + if (!IS_ERR_VALUE(ret) && file && prfile) { + struct vm_area_struct *new_vma; + + new_vma = find_vma(mm, ret); + if (!new_vma->vm_prfile) + new_vma->vm_prfile = prfile; + if (new_vma != vma) + get_file(prfile); + } + /* + * two fput()s instead of vma_fput(vma), + * coz vma may not be available anymore. + */ fput(file); + if (prfile) + fput(prfile); out: mmap_write_unlock(mm); if (populate) @@ -3275,7 +3298,7 @@ if (anon_vma_clone(new_vma, vma)) goto out_free_mempol; if (new_vma->vm_file) - get_file(new_vma->vm_file); + vma_get_file(new_vma); if (new_vma->vm_ops && new_vma->vm_ops->open) new_vma->vm_ops->open(new_vma); vma_link(mm, new_vma, prev, rb_link, rb_parent); --- linux-gcp-5.19.0.orig/mm/mmu_gather.c +++ linux-gcp-5.19.0/mm/mmu_gather.c @@ -152,7 +152,7 @@ /* Simply deliver the interrupt */ } -static void tlb_remove_table_sync_one(void) +void tlb_remove_table_sync_one(void) { /* * This isn't an RCU grace period and hence the page-tables cannot be @@ -176,8 +176,6 @@ #else /* !CONFIG_MMU_GATHER_RCU_TABLE_FREE */ -static void tlb_remove_table_sync_one(void) { } - static void tlb_remove_table_free(struct mmu_table_batch *batch) { __tlb_remove_table_free(batch); --- linux-gcp-5.19.0.orig/mm/mprotect.c +++ linux-gcp-5.19.0/mm/mprotect.c @@ -158,10 +158,11 @@ pages++; } else if (is_swap_pte(oldpte)) { swp_entry_t entry = pte_to_swp_entry(oldpte); - struct page *page = pfn_swap_entry_to_page(entry); pte_t newpte; if (is_writable_migration_entry(entry)) { + struct page *page = pfn_swap_entry_to_page(entry); + /* * A protection check is difficult so * just be safe and disable write @@ -221,6 +222,7 @@ } else { /* It must be an none page, or what else?.. */ WARN_ON_ONCE(!pte_none(oldpte)); +#ifdef CONFIG_PTE_MARKER_UFFD_WP if (unlikely(uffd_wp && !vma_is_anonymous(vma))) { /* * For file-backed mem, we need to be able to @@ -232,6 +234,7 @@ make_pte_marker(PTE_MARKER_UFFD_WP)); pages++; } +#endif } } while (pte++, addr += PAGE_SIZE, addr != end); arch_leave_lazy_mmu_mode(); --- linux-gcp-5.19.0.orig/mm/nommu.c +++ linux-gcp-5.19.0/mm/nommu.c @@ -524,7 +524,7 @@ up_write(&nommu_region_sem); if (region->vm_file) - fput(region->vm_file); + vmr_fput(region); /* IO memory and memory shared directly out of the pagecache * from ramfs/tmpfs mustn't be released here */ @@ -656,7 +656,7 @@ if (vma->vm_ops && vma->vm_ops->close) vma->vm_ops->close(vma); if (vma->vm_file) - fput(vma->vm_file); + vma_fput(vma); put_nommu_region(vma->vm_region); vm_area_free(vma); } @@ -1176,7 +1176,7 @@ goto error_just_free; } } - fput(region->vm_file); + vmr_fput(region); kmem_cache_free(vm_region_jar, region); region = pregion; result = start; @@ -1253,10 +1253,10 @@ up_write(&nommu_region_sem); error: if (region->vm_file) - fput(region->vm_file); + vmr_fput(region); kmem_cache_free(vm_region_jar, region); if (vma->vm_file) - fput(vma->vm_file); + vma_fput(vma); vm_area_free(vma); return ret; --- linux-gcp-5.19.0.orig/mm/page-writeback.c +++ linux-gcp-5.19.0/mm/page-writeback.c @@ -2867,6 +2867,7 @@ static void wb_inode_writeback_end(struct bdi_writeback *wb) { + unsigned long flags; atomic_dec(&wb->writeback_inodes); /* * Make sure estimate of writeback throughput gets updated after @@ -2875,7 +2876,10 @@ * that if multiple inodes end writeback at a similar time, they get * batched into one bandwidth update. */ - queue_delayed_work(bdi_wq, &wb->bw_dwork, BANDWIDTH_INTERVAL); + spin_lock_irqsave(&wb->work_lock, flags); + if (test_bit(WB_registered, &wb->state)) + queue_delayed_work(bdi_wq, &wb->bw_dwork, BANDWIDTH_INTERVAL); + spin_unlock_irqrestore(&wb->work_lock, flags); } bool __folio_end_writeback(struct folio *folio) --- linux-gcp-5.19.0.orig/mm/page_alloc.c +++ linux-gcp-5.19.0/mm/page_alloc.c @@ -1302,12 +1302,8 @@ /* s390's use of memset() could override KASAN redzones. */ kasan_disable_current(); - for (i = 0; i < numpages; i++) { - u8 tag = page_kasan_tag(page + i); - page_kasan_tag_reset(page + i); - clear_highpage(page + i); - page_kasan_tag_set(page + i, tag); - } + for (i = 0; i < numpages; i++) + clear_highpage_kasan_tagged(page + i); kasan_enable_current(); } @@ -3801,6 +3797,8 @@ static bool __should_fail_alloc_page(gfp_t gfp_mask, unsigned int order) { + int flags = 0; + if (order < fail_page_alloc.min_order) return false; if (gfp_mask & __GFP_NOFAIL) @@ -3811,10 +3809,11 @@ (gfp_mask & __GFP_DIRECT_RECLAIM)) return false; + /* See comment in __should_failslab() */ if (gfp_mask & __GFP_NOWARN) - fail_page_alloc.attr.no_warn = true; + flags |= FAULT_NOWARN; - return should_fail(&fail_page_alloc.attr, 1 << order); + return should_fail_ex(&fail_page_alloc.attr, 1 << order, flags); } #ifdef CONFIG_FAULT_INJECTION_DEBUG_FS @@ -4627,6 +4626,30 @@ EXPORT_SYMBOL_GPL(fs_reclaim_release); #endif +/* + * Zonelists may change due to hotplug during allocation. Detect when zonelists + * have been rebuilt so allocation retries. Reader side does not lock and + * retries the allocation if zonelist changes. Writer side is protected by the + * embedded spin_lock. + */ +static DEFINE_SEQLOCK(zonelist_update_seq); + +static unsigned int zonelist_iter_begin(void) +{ + if (IS_ENABLED(CONFIG_MEMORY_HOTREMOVE)) + return read_seqbegin(&zonelist_update_seq); + + return 0; +} + +static unsigned int check_retry_zonelist(unsigned int seq) +{ + if (IS_ENABLED(CONFIG_MEMORY_HOTREMOVE)) + return read_seqretry(&zonelist_update_seq, seq); + + return seq; +} + /* Perform direct synchronous page reclaim */ static unsigned long __perform_reclaim(gfp_t gfp_mask, unsigned int order, @@ -4920,6 +4943,7 @@ int compaction_retries; int no_progress_loops; unsigned int cpuset_mems_cookie; + unsigned int zonelist_iter_cookie; int reserve_flags; /* @@ -4930,11 +4954,12 @@ (__GFP_ATOMIC|__GFP_DIRECT_RECLAIM))) gfp_mask &= ~__GFP_ATOMIC; -retry_cpuset: +restart: compaction_retries = 0; no_progress_loops = 0; compact_priority = DEF_COMPACT_PRIORITY; cpuset_mems_cookie = read_mems_allowed_begin(); + zonelist_iter_cookie = zonelist_iter_begin(); /* * The fast path uses conservative alloc_flags to succeed only until @@ -5106,9 +5131,13 @@ goto retry; - /* Deal with possible cpuset update races before we start OOM killing */ - if (check_retry_cpuset(cpuset_mems_cookie, ac)) - goto retry_cpuset; + /* + * Deal with possible cpuset update races or zonelist updates to avoid + * a unnecessary OOM kill. + */ + if (check_retry_cpuset(cpuset_mems_cookie, ac) || + check_retry_zonelist(zonelist_iter_cookie)) + goto restart; /* Reclaim has failed us, start killing things */ page = __alloc_pages_may_oom(gfp_mask, order, ac, &did_some_progress); @@ -5128,9 +5157,13 @@ } nopage: - /* Deal with possible cpuset update races before we fail */ - if (check_retry_cpuset(cpuset_mems_cookie, ac)) - goto retry_cpuset; + /* + * Deal with possible cpuset update races or zonelist updates to avoid + * a unnecessary OOM kill. + */ + if (check_retry_cpuset(cpuset_mems_cookie, ac) || + check_retry_zonelist(zonelist_iter_cookie)) + goto restart; /* * Make sure that __GFP_NOFAIL request doesn't leak out and make sure @@ -5511,9 +5544,12 @@ */ void __free_pages(struct page *page, unsigned int order) { + /* get PageHead before we drop reference */ + int head = PageHead(page); + if (put_page_testzero(page)) free_the_page(page, order); - else if (!PageHead(page)) + else if (!head) while (order-- > 0) free_the_page(page + (1 << order), order); } @@ -5621,6 +5657,18 @@ /* reset page count bias and offset to start of new frag */ nc->pagecnt_bias = PAGE_FRAG_CACHE_MAX_SIZE + 1; offset = size - fragsz; + if (unlikely(offset < 0)) { + /* + * The caller is trying to allocate a fragment + * with fragsz > PAGE_SIZE but the cache isn't big + * enough to satisfy the request, this may + * happen in low memory conditions. + * We don't release the cache page because + * it could make memory pressure worse + * so we simply return NULL here. + */ + return NULL; + } } nc->pagecnt_bias--; @@ -6425,9 +6473,8 @@ int nid; int __maybe_unused cpu; pg_data_t *self = data; - static DEFINE_SPINLOCK(lock); - spin_lock(&lock); + write_seqlock(&zonelist_update_seq); #ifdef CONFIG_NUMA memset(node_load, 0, sizeof(node_load)); @@ -6464,7 +6511,7 @@ #endif } - spin_unlock(&lock); + write_sequnlock(&zonelist_update_seq); } static noinline void __init --- linux-gcp-5.19.0.orig/mm/page_isolation.c +++ linux-gcp-5.19.0/mm/page_isolation.c @@ -288,6 +288,7 @@ * @isolate_before: isolate the pageblock before the boundary_pfn * @skip_isolation: the flag to skip the pageblock isolation in second * isolate_single_pageblock() + * @migratetype: migrate type to set in error recovery. * * Free and in-use pages can be as big as MAX_ORDER-1 and contain more than one * pageblock. When not all pageblocks within a page are isolated at the same @@ -302,9 +303,9 @@ * the in-use page then splitting the free page. */ static int isolate_single_pageblock(unsigned long boundary_pfn, int flags, - gfp_t gfp_flags, bool isolate_before, bool skip_isolation) + gfp_t gfp_flags, bool isolate_before, bool skip_isolation, + int migratetype) { - unsigned char saved_mt; unsigned long start_pfn; unsigned long isolate_pageblock; unsigned long pfn; @@ -328,13 +329,13 @@ start_pfn = max(ALIGN_DOWN(isolate_pageblock, MAX_ORDER_NR_PAGES), zone->zone_start_pfn); - saved_mt = get_pageblock_migratetype(pfn_to_page(isolate_pageblock)); + if (skip_isolation) { + int mt = get_pageblock_migratetype(pfn_to_page(isolate_pageblock)); - if (skip_isolation) - VM_BUG_ON(!is_migrate_isolate(saved_mt)); - else { - ret = set_migratetype_isolate(pfn_to_page(isolate_pageblock), saved_mt, flags, - isolate_pageblock, isolate_pageblock + pageblock_nr_pages); + VM_BUG_ON(!is_migrate_isolate(mt)); + } else { + ret = set_migratetype_isolate(pfn_to_page(isolate_pageblock), migratetype, + flags, isolate_pageblock, isolate_pageblock + pageblock_nr_pages); if (ret) return ret; @@ -475,7 +476,7 @@ failed: /* restore the original migratetype */ if (!skip_isolation) - unset_migratetype_isolate(pfn_to_page(isolate_pageblock), saved_mt); + unset_migratetype_isolate(pfn_to_page(isolate_pageblock), migratetype); return -EBUSY; } @@ -537,7 +538,8 @@ bool skip_isolation = false; /* isolate [isolate_start, isolate_start + pageblock_nr_pages) pageblock */ - ret = isolate_single_pageblock(isolate_start, flags, gfp_flags, false, skip_isolation); + ret = isolate_single_pageblock(isolate_start, flags, gfp_flags, false, + skip_isolation, migratetype); if (ret) return ret; @@ -545,7 +547,8 @@ skip_isolation = true; /* isolate [isolate_end - pageblock_nr_pages, isolate_end) pageblock */ - ret = isolate_single_pageblock(isolate_end, flags, gfp_flags, true, skip_isolation); + ret = isolate_single_pageblock(isolate_end, flags, gfp_flags, true, + skip_isolation, migratetype); if (ret) { unset_migratetype_isolate(pfn_to_page(isolate_start), migratetype); return ret; --- linux-gcp-5.19.0.orig/mm/pagewalk.c +++ linux-gcp-5.19.0/mm/pagewalk.c @@ -110,7 +110,7 @@ do { again: next = pmd_addr_end(addr, end); - if (pmd_none(*pmd) || (!walk->vma && !walk->no_vma)) { + if (pmd_none(*pmd)) { if (ops->pte_hole) err = ops->pte_hole(addr, next, depth, walk); if (err) @@ -171,7 +171,7 @@ do { again: next = pud_addr_end(addr, end); - if (pud_none(*pud) || (!walk->vma && !walk->no_vma)) { + if (pud_none(*pud)) { if (ops->pte_hole) err = ops->pte_hole(addr, next, depth, walk); if (err) @@ -366,19 +366,19 @@ struct vm_area_struct *vma = walk->vma; const struct mm_walk_ops *ops = walk->ops; - if (vma && ops->pre_vma) { + if (ops->pre_vma) { err = ops->pre_vma(start, end, walk); if (err) return err; } - if (vma && is_vm_hugetlb_page(vma)) { + if (is_vm_hugetlb_page(vma)) { if (ops->hugetlb_entry) err = walk_hugetlb_range(start, end, walk); } else err = walk_pgd_range(start, end, walk); - if (vma && ops->post_vma) + if (ops->post_vma) ops->post_vma(walk); return err; @@ -450,9 +450,13 @@ if (!vma) { /* after the last vma */ walk.vma = NULL; next = end; + if (ops->pte_hole) + err = ops->pte_hole(start, next, -1, &walk); } else if (start < vma->vm_start) { /* outside vma */ walk.vma = NULL; next = min(end, vma->vm_start); + if (ops->pte_hole) + err = ops->pte_hole(start, next, -1, &walk); } else { /* inside vma */ walk.vma = vma; next = min(end, vma->vm_end); @@ -470,9 +474,8 @@ } if (err < 0) break; - } - if (walk.vma || walk.ops->pte_hole) err = __walk_page_range(start, next, &walk); + } if (err) break; } while (start = next, start < end); @@ -501,9 +504,9 @@ if (start >= end || !walk.mm) return -EINVAL; - mmap_assert_locked(walk.mm); + mmap_assert_write_locked(walk.mm); - return __walk_page_range(start, end, &walk); + return walk_pgd_range(start, end, &walk); } int walk_page_vma(struct vm_area_struct *vma, const struct mm_walk_ops *ops, --- linux-gcp-5.19.0.orig/mm/percpu.c +++ linux-gcp-5.19.0/mm/percpu.c @@ -3104,7 +3104,7 @@ goto out_free_areas; } /* kmemleak tracks the percpu allocations separately */ - kmemleak_free(ptr); + kmemleak_ignore_phys(__pa(ptr)); areas[group] = ptr; base = min(ptr, base); @@ -3304,7 +3304,7 @@ goto enomem; } /* kmemleak tracks the percpu allocations separately */ - kmemleak_free(ptr); + kmemleak_ignore_phys(__pa(ptr)); pages[j++] = virt_to_page(ptr); } } @@ -3417,7 +3417,7 @@ if (!ai || !fc) panic("Failed to allocate memory for percpu areas."); /* kmemleak tracks the percpu allocations separately */ - kmemleak_free(fc); + kmemleak_ignore_phys(__pa(fc)); ai->dyn_size = unit_size; ai->unit_size = unit_size; --- linux-gcp-5.19.0.orig/mm/prfile.c +++ linux-gcp-5.19.0/mm/prfile.c @@ -0,0 +1,86 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Mainly for aufs which mmap(2) different file and wants to print different + * path in /proc/PID/maps. + * Call these functions via macros defined in linux/mm.h. + * + * See Documentation/filesystems/aufs/design/06mmap.txt + * + * Copyright (c) 2014-2021 Junjro R. Okajima + * Copyright (c) 2014 Ian Campbell + */ + +#include +#include +#include + +/* #define PRFILE_TRACE */ +static inline void prfile_trace(struct file *f, struct file *pr, + const char func[], int line, const char func2[]) +{ +#ifdef PRFILE_TRACE + if (pr) + pr_info("%s:%d: %s, %pD2\n", func, line, func2, f); +#endif +} + +void vma_do_file_update_time(struct vm_area_struct *vma, const char func[], + int line) +{ + struct file *f = vma->vm_file, *pr = vma->vm_prfile; + + prfile_trace(f, pr, func, line, __func__); + file_update_time(f); + if (f && pr) + file_update_time(pr); +} + +struct file *vma_do_pr_or_file(struct vm_area_struct *vma, const char func[], + int line) +{ + struct file *f = vma->vm_file, *pr = vma->vm_prfile; + + prfile_trace(f, pr, func, line, __func__); + return (f && pr) ? pr : f; +} + +void vma_do_get_file(struct vm_area_struct *vma, const char func[], int line) +{ + struct file *f = vma->vm_file, *pr = vma->vm_prfile; + + prfile_trace(f, pr, func, line, __func__); + get_file(f); + if (f && pr) + get_file(pr); +} + +void vma_do_fput(struct vm_area_struct *vma, const char func[], int line) +{ + struct file *f = vma->vm_file, *pr = vma->vm_prfile; + + prfile_trace(f, pr, func, line, __func__); + fput(f); + if (f && pr) + fput(pr); +} + +#ifndef CONFIG_MMU +struct file *vmr_do_pr_or_file(struct vm_region *region, const char func[], + int line) +{ + struct file *f = region->vm_file, *pr = region->vm_prfile; + + prfile_trace(f, pr, func, line, __func__); + return (f && pr) ? pr : f; +} + +void vmr_do_fput(struct vm_region *region, const char func[], int line) +{ + struct file *f = region->vm_file, *pr = region->vm_prfile; + + prfile_trace(f, pr, func, line, __func__); + fput(f); + if (f && pr) + fput(pr); +} +#endif /* !CONFIG_MMU */ --- linux-gcp-5.19.0.orig/mm/ptdump.c +++ linux-gcp-5.19.0/mm/ptdump.c @@ -152,13 +152,13 @@ { const struct ptdump_range *range = st->range; - mmap_read_lock(mm); + mmap_write_lock(mm); while (range->start != range->end) { walk_page_range_novma(mm, range->start, range->end, &ptdump_ops, pgd, st); range++; } - mmap_read_unlock(mm); + mmap_write_unlock(mm); /* Flush out the last page */ st->note_page(st, 0, -1, 0); --- linux-gcp-5.19.0.orig/mm/rmap.c +++ linux-gcp-5.19.0/mm/rmap.c @@ -93,7 +93,8 @@ anon_vma = kmem_cache_alloc(anon_vma_cachep, GFP_KERNEL); if (anon_vma) { atomic_set(&anon_vma->refcount, 1); - anon_vma->degree = 1; /* Reference for first vma */ + anon_vma->num_children = 0; + anon_vma->num_active_vmas = 0; anon_vma->parent = anon_vma; /* * Initialise the anon_vma root to point to itself. If called @@ -201,6 +202,7 @@ anon_vma = anon_vma_alloc(); if (unlikely(!anon_vma)) goto out_enomem_free_avc; + anon_vma->num_children++; /* self-parent link for new root */ allocated = anon_vma; } @@ -210,8 +212,7 @@ if (likely(!vma->anon_vma)) { vma->anon_vma = anon_vma; anon_vma_chain_link(vma, avc, anon_vma); - /* vma reference or self-parent link for new root */ - anon_vma->degree++; + anon_vma->num_active_vmas++; allocated = NULL; avc = NULL; } @@ -296,19 +297,19 @@ anon_vma_chain_link(dst, avc, anon_vma); /* - * Reuse existing anon_vma if its degree lower than two, - * that means it has no vma and only one anon_vma child. + * Reuse existing anon_vma if it has no vma and only one + * anon_vma child. * - * Do not choose parent anon_vma, otherwise first child - * will always reuse it. Root anon_vma is never reused: + * Root anon_vma is never reused: * it has self-parent reference and at least one child. */ if (!dst->anon_vma && src->anon_vma && - anon_vma != src->anon_vma && anon_vma->degree < 2) + anon_vma->num_children < 2 && + anon_vma->num_active_vmas == 0) dst->anon_vma = anon_vma; } if (dst->anon_vma) - dst->anon_vma->degree++; + dst->anon_vma->num_active_vmas++; unlock_anon_vma_root(root); return 0; @@ -358,6 +359,7 @@ anon_vma = anon_vma_alloc(); if (!anon_vma) goto out_error; + anon_vma->num_active_vmas++; avc = anon_vma_chain_alloc(GFP_KERNEL); if (!avc) goto out_error_free_anon_vma; @@ -378,7 +380,7 @@ vma->anon_vma = anon_vma; anon_vma_lock_write(anon_vma); anon_vma_chain_link(vma, avc, anon_vma); - anon_vma->parent->degree++; + anon_vma->parent->num_children++; anon_vma_unlock_write(anon_vma); return 0; @@ -410,7 +412,7 @@ * to free them outside the lock. */ if (RB_EMPTY_ROOT(&anon_vma->rb_root.rb_root)) { - anon_vma->parent->degree--; + anon_vma->parent->num_children--; continue; } @@ -418,7 +420,7 @@ anon_vma_chain_free(avc); } if (vma->anon_vma) { - vma->anon_vma->degree--; + vma->anon_vma->num_active_vmas--; /* * vma would still be needed after unlink, and anon_vma will be prepared @@ -436,7 +438,8 @@ list_for_each_entry_safe(avc, next, &vma->anon_vma_chain, same_vma) { struct anon_vma *anon_vma = avc->anon_vma; - VM_WARN_ON(anon_vma->degree); + VM_WARN_ON(anon_vma->num_children); + VM_WARN_ON(anon_vma->num_active_vmas); put_anon_vma(anon_vma); list_del(&avc->same_vma); --- linux-gcp-5.19.0.orig/mm/secretmem.c +++ linux-gcp-5.19.0/mm/secretmem.c @@ -283,7 +283,7 @@ secretmem_mnt = kern_mount(&secretmem_fs); if (IS_ERR(secretmem_mnt)) - ret = PTR_ERR(secretmem_mnt); + return PTR_ERR(secretmem_mnt); /* prevent secretmem mappings from ever getting PROT_EXEC */ secretmem_mnt->mnt_flags |= MNT_NOEXEC; --- linux-gcp-5.19.0.orig/mm/shmem.c +++ linux-gcp-5.19.0/mm/shmem.c @@ -958,6 +958,15 @@ index++; } + /* + * When undoing a failed fallocate, we want none of the partial folio + * zeroing and splitting below, but shall want to truncate the whole + * folio when !uptodate indicates that it was added by this fallocate, + * even when [lstart, lend] covers only a part of the folio. + */ + if (unfalloc) + goto whole_folios; + same_folio = (lstart >> PAGE_SHIFT) == (lend >> PAGE_SHIFT); folio = shmem_get_partial_folio(inode, lstart >> PAGE_SHIFT); if (folio) { @@ -983,6 +992,8 @@ folio_put(folio); } +whole_folios: + index = start; while (index < end) { cond_resched(); @@ -1771,6 +1782,7 @@ if (shmem_should_replace_folio(folio, gfp)) { error = shmem_replace_page(&page, gfp, info, index); + folio = page_folio(page); if (error) goto failed; } --- linux-gcp-5.19.0.orig/mm/slab_common.c +++ linux-gcp-5.19.0/mm/slab_common.c @@ -420,6 +420,28 @@ } EXPORT_SYMBOL(kmem_cache_create); +#ifdef SLAB_SUPPORTS_SYSFS +/* + * For a given kmem_cache, kmem_cache_destroy() should only be called + * once or there will be a use-after-free problem. The actual deletion + * and release of the kobject does not need slab_mutex or cpu_hotplug_lock + * protection. So they are now done without holding those locks. + * + * Note that there will be a slight delay in the deletion of sysfs files + * if kmem_cache_release() is called indrectly from a work function. + */ +static void kmem_cache_release(struct kmem_cache *s) +{ + sysfs_slab_unlink(s); + sysfs_slab_release(s); +} +#else +static void kmem_cache_release(struct kmem_cache *s) +{ + slab_kmem_cache_release(s); +} +#endif + static void slab_caches_to_rcu_destroy_workfn(struct work_struct *work) { LIST_HEAD(to_destroy); @@ -446,11 +468,7 @@ list_for_each_entry_safe(s, s2, &to_destroy, list) { debugfs_slab_release(s); kfence_shutdown_cache(s); -#ifdef SLAB_SUPPORTS_SYSFS - sysfs_slab_release(s); -#else - slab_kmem_cache_release(s); -#endif + kmem_cache_release(s); } } @@ -465,20 +483,11 @@ list_del(&s->list); if (s->flags & SLAB_TYPESAFE_BY_RCU) { -#ifdef SLAB_SUPPORTS_SYSFS - sysfs_slab_unlink(s); -#endif list_add_tail(&s->list, &slab_caches_to_rcu_destroy); schedule_work(&slab_caches_to_rcu_destroy_work); } else { kfence_shutdown_cache(s); debugfs_slab_release(s); -#ifdef SLAB_SUPPORTS_SYSFS - sysfs_slab_unlink(s); - sysfs_slab_release(s); -#else - slab_kmem_cache_release(s); -#endif } return 0; @@ -493,14 +502,19 @@ void kmem_cache_destroy(struct kmem_cache *s) { + int refcnt; + bool rcu_set; + if (unlikely(!s) || !kasan_check_byte(s)) return; cpus_read_lock(); mutex_lock(&slab_mutex); - s->refcount--; - if (s->refcount) + rcu_set = s->flags & SLAB_TYPESAFE_BY_RCU; + + refcnt = --s->refcount; + if (refcnt) goto out_unlock; WARN(shutdown_cache(s), @@ -509,6 +523,8 @@ out_unlock: mutex_unlock(&slab_mutex); cpus_read_unlock(); + if (!refcnt && !rcu_set) + kmem_cache_release(s); } EXPORT_SYMBOL(kmem_cache_destroy); --- linux-gcp-5.19.0.orig/mm/slub.c +++ linux-gcp-5.19.0/mm/slub.c @@ -310,6 +310,11 @@ */ static nodemask_t slab_nodes; +/* + * Workqueue used for flush_cpu_slab(). + */ +static struct workqueue_struct *flushwq; + /******************************************************************** * Core slab cache functions *******************************************************************/ @@ -2730,7 +2735,7 @@ INIT_WORK(&sfw->work, flush_cpu_slab); sfw->skip = false; sfw->s = s; - schedule_work_on(cpu, &sfw->work); + queue_work_on(cpu, flushwq, &sfw->work); } for_each_online_cpu(cpu) { @@ -4880,6 +4885,8 @@ void __init kmem_cache_init_late(void) { + flushwq = alloc_workqueue("slub_flushwq", WQ_MEM_RECLAIM, 0); + WARN_ON(!flushwq); } struct kmem_cache * @@ -4950,6 +4957,8 @@ /* Honor the call site pointer we received. */ trace_kmalloc(caller, ret, size, s->size, gfpflags); + ret = kasan_kmalloc(s, ret, size, gfpflags); + return ret; } EXPORT_SYMBOL(__kmalloc_track_caller); @@ -4981,6 +4990,8 @@ /* Honor the call site pointer we received. */ trace_kmalloc_node(caller, ret, size, s->size, gfpflags, node); + ret = kasan_kmalloc(s, ret, size, gfpflags); + return ret; } EXPORT_SYMBOL(__kmalloc_node_track_caller); @@ -5914,7 +5925,8 @@ char *name = kmalloc(ID_STR_LENGTH, GFP_KERNEL); char *p = name; - BUG_ON(!name); + if (!name) + return ERR_PTR(-ENOMEM); *p++ = ':'; /* @@ -5972,6 +5984,8 @@ * for the symlinks. */ name = create_unique_id(s); + if (IS_ERR(name)) + return PTR_ERR(name); } s->kobj.kset = kset; --- linux-gcp-5.19.0.orig/mm/swap_state.c +++ linux-gcp-5.19.0/mm/swap_state.c @@ -39,7 +39,7 @@ struct address_space *swapper_spaces[MAX_SWAPFILES] __read_mostly; static unsigned int nr_swapper_spaces[MAX_SWAPFILES] __read_mostly; -static bool enable_vma_readahead __read_mostly = true; +static bool enable_vma_readahead __read_mostly = false; #define SWAP_RA_WIN_SHIFT (PAGE_SHIFT / 2) #define SWAP_RA_HITS_MASK ((1UL << SWAP_RA_WIN_SHIFT) - 1) --- linux-gcp-5.19.0.orig/mm/swapfile.c +++ linux-gcp-5.19.0/mm/swapfile.c @@ -1097,6 +1097,7 @@ goto check_out; pr_debug("scan_swap_map of si %d failed to find offset\n", si->type); + cond_resched(); spin_lock(&swap_avail_lock); nextsi: --- linux-gcp-5.19.0.orig/mm/userfaultfd.c +++ linux-gcp-5.19.0/mm/userfaultfd.c @@ -64,7 +64,7 @@ pte_t _dst_pte, *dst_pte; bool writable = dst_vma->vm_flags & VM_WRITE; bool vm_shared = dst_vma->vm_flags & VM_SHARED; - bool page_in_cache = page->mapping; + bool page_in_cache = page_mapping(page); spinlock_t *ptl; struct inode *inode; pgoff_t offset, max_off; @@ -703,14 +703,29 @@ mmap_changing, 0); } +void uffd_wp_range(struct mm_struct *dst_mm, struct vm_area_struct *dst_vma, + unsigned long start, unsigned long len, bool enable_wp) +{ + struct mmu_gather tlb; + pgprot_t newprot; + + if (enable_wp) + newprot = vm_get_page_prot(dst_vma->vm_flags & ~(VM_WRITE)); + else + newprot = vm_get_page_prot(dst_vma->vm_flags); + + tlb_gather_mmu(&tlb, dst_mm); + change_protection(&tlb, dst_vma, start, start + len, newprot, + enable_wp ? MM_CP_UFFD_WP : MM_CP_UFFD_WP_RESOLVE); + tlb_finish_mmu(&tlb); +} + int mwriteprotect_range(struct mm_struct *dst_mm, unsigned long start, unsigned long len, bool enable_wp, atomic_t *mmap_changing) { struct vm_area_struct *dst_vma; unsigned long page_mask; - struct mmu_gather tlb; - pgprot_t newprot; int err; /* @@ -750,15 +765,7 @@ goto out_unlock; } - if (enable_wp) - newprot = vm_get_page_prot(dst_vma->vm_flags & ~(VM_WRITE)); - else - newprot = vm_get_page_prot(dst_vma->vm_flags); - - tlb_gather_mmu(&tlb, dst_mm); - change_protection(&tlb, dst_vma, start, start + len, newprot, - enable_wp ? MM_CP_UFFD_WP : MM_CP_UFFD_WP_RESOLVE); - tlb_finish_mmu(&tlb); + uffd_wp_range(dst_mm, dst_vma, start, len, enable_wp); err = 0; out_unlock: --- linux-gcp-5.19.0.orig/mm/util.c +++ linux-gcp-5.19.0/mm/util.c @@ -619,6 +619,10 @@ if (ret || size <= PAGE_SIZE) return ret; + /* non-sleeping allocations are not supported by vmalloc */ + if (!gfpflags_allow_blocking(flags)) + return NULL; + /* Don't even allow crazy sizes */ if (unlikely(size > INT_MAX)) { WARN_ON_ONCE(!(flags & __GFP_NOWARN)); --- linux-gcp-5.19.0.orig/mm/vmalloc.c +++ linux-gcp-5.19.0/mm/vmalloc.c @@ -2499,6 +2499,7 @@ NUMA_NO_NODE, GFP_KERNEL, __builtin_return_address(0)); } +EXPORT_SYMBOL(get_vm_area); struct vm_struct *get_vm_area_caller(unsigned long size, unsigned long flags, const void *caller) @@ -3168,15 +3169,15 @@ /* * Mark the pages as accessible, now that they are mapped. - * The init condition should match the one in post_alloc_hook() - * (except for the should_skip_init() check) to make sure that memory - * is initialized under the same conditions regardless of the enabled - * KASAN mode. + * The condition for setting KASAN_VMALLOC_INIT should complement the + * one in post_alloc_hook() with regards to the __GFP_SKIP_ZERO check + * to make sure that memory is initialized under the same conditions. * Tag-based KASAN modes only assign tags to normal non-executable * allocations, see __kasan_unpoison_vmalloc(). */ kasan_flags |= KASAN_VMALLOC_VM_ALLOC; - if (!want_init_on_free() && want_init_on_alloc(gfp_mask)) + if (!want_init_on_free() && want_init_on_alloc(gfp_mask) && + (gfp_mask & __GFP_SKIP_ZERO)) kasan_flags |= KASAN_VMALLOC_INIT; /* KASAN_VMALLOC_PROT_NORMAL already set if required. */ area->addr = kasan_unpoison_vmalloc(area->addr, real_size, kasan_flags); --- linux-gcp-5.19.0.orig/mm/vmscan.c +++ linux-gcp-5.19.0/mm/vmscan.c @@ -2411,8 +2411,20 @@ * the flushers simply cannot keep up with the allocation * rate. Nudge the flusher threads in case they are asleep. */ - if (stat.nr_unqueued_dirty == nr_taken) + if (stat.nr_unqueued_dirty == nr_taken) { wakeup_flusher_threads(WB_REASON_VMSCAN); + /* + * For cgroupv1 dirty throttling is achieved by waking up + * the kernel flusher here and later waiting on folios + * which are in writeback to finish (see shrink_folio_list()). + * + * Flusher may not be able to issue writeback quickly + * enough for cgroupv1 writeback throttling to work + * on a large system. + */ + if (!writeback_throttling_sane(sc)) + reclaim_throttle(pgdat, VMSCAN_THROTTLE_WRITEBACK); + } sc->nr.dirty += stat.nr_dirty; sc->nr.congested += stat.nr_congested; @@ -2897,8 +2909,8 @@ enum lru_list lru; unsigned long nr_reclaimed = 0; unsigned long nr_to_reclaim = sc->nr_to_reclaim; + bool proportional_reclaim; struct blk_plug plug; - bool scan_adjusted; get_scan_count(lruvec, sc, nr); @@ -2916,8 +2928,8 @@ * abort proportional reclaim if either the file or anon lru has already * dropped to zero at the first pass. */ - scan_adjusted = (!cgroup_reclaim(sc) && !current_is_kswapd() && - sc->priority == DEF_PRIORITY); + proportional_reclaim = (!cgroup_reclaim(sc) && !current_is_kswapd() && + sc->priority == DEF_PRIORITY); blk_start_plug(&plug); while (nr[LRU_INACTIVE_ANON] || nr[LRU_ACTIVE_FILE] || @@ -2937,7 +2949,7 @@ cond_resched(); - if (nr_reclaimed < nr_to_reclaim || scan_adjusted) + if (nr_reclaimed < nr_to_reclaim || proportional_reclaim) continue; /* @@ -2988,8 +3000,6 @@ nr_scanned = targets[lru] - nr[lru]; nr[lru] = targets[lru] * (100 - percentage) / 100; nr[lru] -= min(nr[lru], nr_scanned); - - scan_adjusted = true; } blk_finish_plug(&plug); sc->nr_reclaimed += nr_reclaimed; --- linux-gcp-5.19.0.orig/net/802/mrp.c +++ linux-gcp-5.19.0/net/802/mrp.c @@ -606,7 +606,10 @@ spin_unlock(&app->lock); mrp_queue_xmit(app); - mrp_join_timer_arm(app); + spin_lock(&app->lock); + if (likely(app->active)) + mrp_join_timer_arm(app); + spin_unlock(&app->lock); } static void mrp_periodic_timer_arm(struct mrp_applicant *app) @@ -620,11 +623,12 @@ struct mrp_applicant *app = from_timer(app, t, periodic_timer); spin_lock(&app->lock); - mrp_mad_event(app, MRP_EVENT_PERIODIC); - mrp_pdu_queue(app); + if (likely(app->active)) { + mrp_mad_event(app, MRP_EVENT_PERIODIC); + mrp_pdu_queue(app); + mrp_periodic_timer_arm(app); + } spin_unlock(&app->lock); - - mrp_periodic_timer_arm(app); } static int mrp_pdu_parse_end_mark(struct sk_buff *skb, int *offset) @@ -872,6 +876,7 @@ app->dev = dev; app->app = appl; app->mad = RB_ROOT; + app->active = true; spin_lock_init(&app->lock); skb_queue_head_init(&app->queue); rcu_assign_pointer(dev->mrp_port->applicants[appl->type], app); @@ -900,6 +905,9 @@ RCU_INIT_POINTER(port->applicants[appl->type], NULL); + spin_lock_bh(&app->lock); + app->active = false; + spin_unlock_bh(&app->lock); /* Delete timer and generate a final TX event to flush out * all pending messages before the applicant is gone. */ --- linux-gcp-5.19.0.orig/net/9p/client.c +++ linux-gcp-5.19.0/net/9p/client.c @@ -279,6 +279,11 @@ p9pdu_reset(&req->rc); req->t_err = 0; req->status = REQ_STATUS_ALLOC; + /* refcount needs to be set to 0 before inserting into the idr + * so p9_tag_lookup does not accept a request that is not fully + * initialized. refcount_set to 2 below will mark request ready. + */ + refcount_set(&req->refcount, 0); init_waitqueue_head(&req->wq); INIT_LIST_HEAD(&req->req_list); @@ -305,7 +310,7 @@ * callback), so p9_client_cb eats the second ref there * as the pointer is duplicated directly by virtqueue_add_sgs() */ - refcount_set(&req->refcount.refcount, 2); + refcount_set(&req->refcount, 2); return req; @@ -341,7 +346,7 @@ if (!p9_req_try_get(req)) goto again; if (req->tc.tag != tag) { - p9_req_put(req); + p9_req_put(c, req); goto again; } } @@ -367,21 +372,18 @@ spin_lock_irqsave(&c->lock, flags); idr_remove(&c->reqs, tag); spin_unlock_irqrestore(&c->lock, flags); - return p9_req_put(r); + return p9_req_put(c, r); } -static void p9_req_free(struct kref *ref) +int p9_req_put(struct p9_client *c, struct p9_req_t *r) { - struct p9_req_t *r = container_of(ref, struct p9_req_t, refcount); - - p9_fcall_fini(&r->tc); - p9_fcall_fini(&r->rc); - kmem_cache_free(p9_req_cache, r); -} - -int p9_req_put(struct p9_req_t *r) -{ - return kref_put(&r->refcount, p9_req_free); + if (refcount_dec_and_test(&r->refcount)) { + p9_fcall_fini(&r->tc); + p9_fcall_fini(&r->rc); + kmem_cache_free(p9_req_cache, r); + return 1; + } + return 0; } EXPORT_SYMBOL(p9_req_put); @@ -426,7 +428,7 @@ wake_up(&req->wq); p9_debug(P9_DEBUG_MUX, "wakeup: %d\n", req->tc.tag); - p9_req_put(req); + p9_req_put(c, req); } EXPORT_SYMBOL(p9_client_cb); @@ -709,7 +711,7 @@ reterr: p9_tag_remove(c, req); /* We have to put also the 2nd reference as it won't be used */ - p9_req_put(req); + p9_req_put(c, req); return ERR_PTR(err); } @@ -746,7 +748,7 @@ err = c->trans_mod->request(c, req); if (err < 0) { /* write won't happen */ - p9_req_put(req); + p9_req_put(c, req); if (err != -ERESTARTSYS && err != -EFAULT) c->status = Disconnected; goto recalc_sigpending; @@ -889,16 +891,13 @@ struct p9_fid *fid; p9_debug(P9_DEBUG_FID, "clnt %p\n", clnt); - fid = kmalloc(sizeof(*fid), GFP_KERNEL); + fid = kzalloc(sizeof(*fid), GFP_KERNEL); if (!fid) return NULL; - memset(&fid->qid, 0, sizeof(fid->qid)); fid->mode = -1; fid->uid = current_fsuid(); fid->clnt = clnt; - fid->rdir = NULL; - fid->fid = 0; refcount_set(&fid->count, 1); idr_preload(GFP_KERNEL); --- linux-gcp-5.19.0.orig/net/9p/trans_fd.c +++ linux-gcp-5.19.0/net/9p/trans_fd.c @@ -91,6 +91,7 @@ * @mux_list: list link for mux to manage multiple connections (?) * @client: reference to client instance for this connection * @err: error state + * @req_lock: lock protecting req_list and requests statuses * @req_list: accounting for requests which have been sent * @unsent_req_list: accounting for requests that haven't been sent * @rreq: read request @@ -114,11 +115,12 @@ struct list_head mux_list; struct p9_client *client; int err; + spinlock_t req_lock; struct list_head req_list; struct list_head unsent_req_list; struct p9_req_t *rreq; struct p9_req_t *wreq; - char tmp_buf[7]; + char tmp_buf[P9_HDRSZ]; struct p9_fcall rc; int wpos; int wsize; @@ -189,10 +191,10 @@ p9_debug(P9_DEBUG_ERROR, "mux %p err %d\n", m, err); - spin_lock(&m->client->lock); + spin_lock(&m->req_lock); if (m->err) { - spin_unlock(&m->client->lock); + spin_unlock(&m->req_lock); return; } @@ -200,11 +202,15 @@ list_for_each_entry_safe(req, rtmp, &m->req_list, req_list) { list_move(&req->req_list, &cancel_list); + req->status = REQ_STATUS_ERROR; } list_for_each_entry_safe(req, rtmp, &m->unsent_req_list, req_list) { list_move(&req->req_list, &cancel_list); + req->status = REQ_STATUS_ERROR; } + spin_unlock(&m->req_lock); + list_for_each_entry_safe(req, rtmp, &cancel_list, req_list) { p9_debug(P9_DEBUG_ERROR, "call back req %p\n", req); list_del(&req->req_list); @@ -212,7 +218,6 @@ req->t_err = err; p9_client_cb(m->client, req, REQ_STATUS_ERROR); } - spin_unlock(&m->client->lock); } static __poll_t @@ -288,7 +293,7 @@ if (!m->rc.sdata) { m->rc.sdata = m->tmp_buf; m->rc.offset = 0; - m->rc.capacity = 7; /* start by reading header */ + m->rc.capacity = P9_HDRSZ; /* start by reading header */ } clear_bit(Rpending, &m->wsched); @@ -311,7 +316,7 @@ p9_debug(P9_DEBUG_TRANS, "got new header\n"); /* Header size */ - m->rc.size = 7; + m->rc.size = P9_HDRSZ; err = p9_parse_header(&m->rc, &m->rc.size, NULL, NULL, 0); if (err) { p9_debug(P9_DEBUG_ERROR, @@ -343,6 +348,7 @@ p9_debug(P9_DEBUG_ERROR, "No recv fcall for tag %d (req %p), disconnecting!\n", m->rc.tag, m->rreq); + p9_req_put(m->client, m->rreq); m->rreq = NULL; err = -EIO; goto error; @@ -358,7 +364,7 @@ if ((m->rreq) && (m->rc.offset == m->rc.capacity)) { p9_debug(P9_DEBUG_TRANS, "got new packet\n"); m->rreq->rc.size = m->rc.offset; - spin_lock(&m->client->lock); + spin_lock(&m->req_lock); if (m->rreq->status == REQ_STATUS_SENT) { list_del(&m->rreq->req_list); p9_client_cb(m->client, m->rreq, REQ_STATUS_RCVD); @@ -367,18 +373,18 @@ p9_debug(P9_DEBUG_TRANS, "Ignore replies associated with a cancelled request\n"); } else { - spin_unlock(&m->client->lock); + spin_unlock(&m->req_lock); p9_debug(P9_DEBUG_ERROR, "Request tag %d errored out while we were reading the reply\n", m->rc.tag); err = -EIO; goto error; } - spin_unlock(&m->client->lock); + spin_unlock(&m->req_lock); m->rc.sdata = NULL; m->rc.offset = 0; m->rc.capacity = 0; - p9_req_put(m->rreq); + p9_req_put(m->client, m->rreq); m->rreq = NULL; } @@ -452,10 +458,10 @@ } if (!m->wsize) { - spin_lock(&m->client->lock); + spin_lock(&m->req_lock); if (list_empty(&m->unsent_req_list)) { clear_bit(Wworksched, &m->wsched); - spin_unlock(&m->client->lock); + spin_unlock(&m->req_lock); return; } @@ -470,7 +476,7 @@ m->wpos = 0; p9_req_get(req); m->wreq = req; - spin_unlock(&m->client->lock); + spin_unlock(&m->req_lock); } p9_debug(P9_DEBUG_TRANS, "mux %p pos %d size %d\n", @@ -492,7 +498,7 @@ m->wpos += err; if (m->wpos == m->wsize) { m->wpos = m->wsize = 0; - p9_req_put(m->wreq); + p9_req_put(m->client, m->wreq); m->wreq = NULL; } @@ -587,6 +593,7 @@ INIT_LIST_HEAD(&m->mux_list); m->client = client; + spin_lock_init(&m->req_lock); INIT_LIST_HEAD(&m->req_list); INIT_LIST_HEAD(&m->unsent_req_list); INIT_WORK(&m->rq, p9_read_work); @@ -668,10 +675,10 @@ if (m->err < 0) return m->err; - spin_lock(&client->lock); + spin_lock(&m->req_lock); req->status = REQ_STATUS_UNSENT; list_add_tail(&req->req_list, &m->unsent_req_list); - spin_unlock(&client->lock); + spin_unlock(&m->req_lock); if (test_and_clear_bit(Wpending, &m->wsched)) n = EPOLLOUT; @@ -686,33 +693,38 @@ static int p9_fd_cancel(struct p9_client *client, struct p9_req_t *req) { + struct p9_trans_fd *ts = client->trans; + struct p9_conn *m = &ts->conn; int ret = 1; p9_debug(P9_DEBUG_TRANS, "client %p req %p\n", client, req); - spin_lock(&client->lock); + spin_lock(&m->req_lock); if (req->status == REQ_STATUS_UNSENT) { list_del(&req->req_list); req->status = REQ_STATUS_FLSHD; - p9_req_put(req); + p9_req_put(client, req); ret = 0; } - spin_unlock(&client->lock); + spin_unlock(&m->req_lock); return ret; } static int p9_fd_cancelled(struct p9_client *client, struct p9_req_t *req) { + struct p9_trans_fd *ts = client->trans; + struct p9_conn *m = &ts->conn; + p9_debug(P9_DEBUG_TRANS, "client %p req %p\n", client, req); - spin_lock(&client->lock); + spin_lock(&m->req_lock); /* Ignore cancelled request if message has been received * before lock. */ if (req->status == REQ_STATUS_RCVD) { - spin_unlock(&client->lock); + spin_unlock(&m->req_lock); return 0; } @@ -721,8 +733,9 @@ */ list_del(&req->req_list); req->status = REQ_STATUS_FLSHD; - spin_unlock(&client->lock); - p9_req_put(req); + spin_unlock(&m->req_lock); + + p9_req_put(client, req); return 0; } @@ -820,11 +833,14 @@ goto out_free_ts; if (!(ts->rd->f_mode & FMODE_READ)) goto out_put_rd; + /* prevent workers from hanging on IO when fd is a pipe */ + ts->rd->f_flags |= O_NONBLOCK; ts->wr = fget(wfd); if (!ts->wr) goto out_put_rd; if (!(ts->wr->f_mode & FMODE_WRITE)) goto out_put_wr; + ts->wr->f_flags |= O_NONBLOCK; client->trans = ts; client->status = Connected; @@ -846,8 +862,10 @@ struct file *file; p = kzalloc(sizeof(struct p9_trans_fd), GFP_KERNEL); - if (!p) + if (!p) { + sock_release(csocket); return -ENOMEM; + } csocket->sk->sk_allocation = GFP_NOIO; file = sock_alloc_file(csocket, 0, NULL); @@ -883,12 +901,12 @@ p9_mux_poll_stop(m); cancel_work_sync(&m->rq); if (m->rreq) { - p9_req_put(m->rreq); + p9_req_put(m->client, m->rreq); m->rreq = NULL; } cancel_work_sync(&m->wq); if (m->wreq) { - p9_req_put(m->wreq); + p9_req_put(m->client, m->wreq); m->wreq = NULL; } --- linux-gcp-5.19.0.orig/net/9p/trans_rdma.c +++ linux-gcp-5.19.0/net/9p/trans_rdma.c @@ -350,7 +350,7 @@ c->busa, c->req->tc.size, DMA_TO_DEVICE); up(&rdma->sq_sem); - p9_req_put(c->req); + p9_req_put(client, c->req); kfree(c); } --- linux-gcp-5.19.0.orig/net/9p/trans_virtio.c +++ linux-gcp-5.19.0/net/9p/trans_virtio.c @@ -199,7 +199,7 @@ /* Reply won't come, so drop req ref */ static int p9_virtio_cancelled(struct p9_client *client, struct p9_req_t *req) { - p9_req_put(req); + p9_req_put(client, req); return 0; } @@ -523,7 +523,7 @@ kvfree(out_pages); if (!kicked) { /* reply won't come */ - p9_req_put(req); + p9_req_put(client, req); } return err; } --- linux-gcp-5.19.0.orig/net/9p/trans_xen.c +++ linux-gcp-5.19.0/net/9p/trans_xen.c @@ -163,7 +163,7 @@ ring->intf->out_prod = prod; spin_unlock_irqrestore(&ring->lock, flags); notify_remote_via_irq(ring->irq); - p9_req_put(p9_req); + p9_req_put(client, p9_req); return 0; } @@ -208,6 +208,14 @@ continue; } + if (h.size > req->rc.capacity) { + dev_warn(&priv->dev->dev, + "requested packet size too big: %d for tag %d with capacity %zd\n", + h.size, h.tag, req->rc.capacity); + req->status = REQ_STATUS_ERROR; + goto recv_error; + } + memcpy(&req->rc, &h, sizeof(h)); req->rc.offset = 0; @@ -217,6 +225,7 @@ masked_prod, &masked_cons, XEN_9PFS_RING_SIZE(ring)); +recv_error: virt_mb(); cons += h.size; ring->intf->in_cons = cons; @@ -268,6 +277,10 @@ write_unlock(&xen_9pfs_lock); for (i = 0; i < priv->num_rings; i++) { + struct xen_9pfs_dataring *ring = &priv->rings[i]; + + cancel_work_sync(&ring->work); + if (!priv->rings[i].intf) break; if (priv->rings[i].irq > 0) --- linux-gcp-5.19.0.orig/net/atm/mpoa_proc.c +++ linux-gcp-5.19.0/net/atm/mpoa_proc.c @@ -219,11 +219,12 @@ if (!page) return -ENOMEM; - for (p = page, len = 0; len < nbytes; p++, len++) { + for (p = page, len = 0; len < nbytes; p++) { if (get_user(*p, buff++)) { free_page((unsigned long)page); return -EFAULT; } + len += 1; if (*p == '\0' || *p == '\n') break; } --- linux-gcp-5.19.0.orig/net/ax25/af_ax25.c +++ linux-gcp-5.19.0/net/ax25/af_ax25.c @@ -1065,7 +1065,7 @@ del_timer_sync(&ax25->t3timer); del_timer_sync(&ax25->idletimer); } - dev_put_track(ax25_dev->dev, &ax25_dev->dev_tracker); + dev_put_track(ax25_dev->dev, &ax25->dev_tracker); ax25_dev_put(ax25_dev); } @@ -1146,7 +1146,7 @@ if (ax25_dev) { ax25_fillin_cb(ax25, ax25_dev); - dev_hold_track(ax25_dev->dev, &ax25_dev->dev_tracker, GFP_ATOMIC); + dev_hold_track(ax25_dev->dev, &ax25->dev_tracker, GFP_ATOMIC); } done: --- linux-gcp-5.19.0.orig/net/batman-adv/hard-interface.c +++ linux-gcp-5.19.0/net/batman-adv/hard-interface.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -700,6 +701,9 @@ int max_header_len = batadv_max_header_len(); int ret; + if (hard_iface->net_dev->mtu < ETH_MIN_MTU + max_header_len) + return -EINVAL; + if (hard_iface->if_status != BATADV_IF_NOT_IN_USE) goto out; --- linux-gcp-5.19.0.orig/net/batman-adv/trace.h +++ linux-gcp-5.19.0/net/batman-adv/trace.h @@ -28,8 +28,6 @@ #endif /* CONFIG_BATMAN_ADV_TRACING */ -#define BATADV_MAX_MSG_LEN 256 - TRACE_EVENT(batadv_dbg, TP_PROTO(struct batadv_priv *bat_priv, @@ -40,16 +38,13 @@ TP_STRUCT__entry( __string(device, bat_priv->soft_iface->name) __string(driver, KBUILD_MODNAME) - __dynamic_array(char, msg, BATADV_MAX_MSG_LEN) + __vstring(msg, vaf->fmt, vaf->va) ), TP_fast_assign( __assign_str(device, bat_priv->soft_iface->name); __assign_str(driver, KBUILD_MODNAME); - WARN_ON_ONCE(vsnprintf(__get_dynamic_array(msg), - BATADV_MAX_MSG_LEN, - vaf->fmt, - *vaf->va) >= BATADV_MAX_MSG_LEN); + __assign_vstr(msg, vaf->fmt, vaf->va); ), TP_printk( --- linux-gcp-5.19.0.orig/net/bluetooth/6lowpan.c +++ linux-gcp-5.19.0/net/bluetooth/6lowpan.c @@ -972,6 +972,7 @@ hci_dev_lock(hdev); hcon = hci_conn_hash_lookup_le(hdev, addr, *addr_type); hci_dev_unlock(hdev); + hci_dev_put(hdev); if (!hcon) return -ENOENT; --- linux-gcp-5.19.0.orig/net/bluetooth/af_bluetooth.c +++ linux-gcp-5.19.0/net/bluetooth/af_bluetooth.c @@ -735,7 +735,7 @@ err = bt_sysfs_init(); if (err < 0) - return err; + goto cleanup_led; err = sock_register(&bt_sock_family_ops); if (err) @@ -771,6 +771,8 @@ sock_unregister(PF_BLUETOOTH); cleanup_sysfs: bt_sysfs_cleanup(); +cleanup_led: + bt_leds_cleanup(); return err; } --- linux-gcp-5.19.0.orig/net/bluetooth/hci_codec.c +++ linux-gcp-5.19.0/net/bluetooth/hci_codec.c @@ -72,9 +72,8 @@ continue; } - skb = __hci_cmd_sync(hdev, HCI_OP_READ_LOCAL_CODEC_CAPS, - sizeof(*cmd), cmd, - HCI_CMD_TIMEOUT); + skb = __hci_cmd_sync_sk(hdev, HCI_OP_READ_LOCAL_CODEC_CAPS, + sizeof(*cmd), cmd, 0, HCI_CMD_TIMEOUT, NULL); if (IS_ERR(skb)) { bt_dev_err(hdev, "Failed to read codec capabilities (%ld)", PTR_ERR(skb)); @@ -127,8 +126,8 @@ struct hci_op_read_local_codec_caps caps; __u8 i; - skb = __hci_cmd_sync(hdev, HCI_OP_READ_LOCAL_CODECS, 0, NULL, - HCI_CMD_TIMEOUT); + skb = __hci_cmd_sync_sk(hdev, HCI_OP_READ_LOCAL_CODECS, 0, NULL, + 0, HCI_CMD_TIMEOUT, NULL); if (IS_ERR(skb)) { bt_dev_err(hdev, "Failed to read local supported codecs (%ld)", @@ -158,7 +157,8 @@ for (i = 0; i < std_codecs->num; i++) { caps.id = std_codecs->codec[i]; caps.direction = 0x00; - hci_read_codec_capabilities(hdev, LOCAL_CODEC_ACL_MASK, &caps); + hci_read_codec_capabilities(hdev, + LOCAL_CODEC_ACL_MASK | LOCAL_CODEC_SCO_MASK, &caps); } skb_pull(skb, flex_array_size(std_codecs, codec, std_codecs->num) @@ -178,7 +178,8 @@ caps.cid = vnd_codecs->codec[i].cid; caps.vid = vnd_codecs->codec[i].vid; caps.direction = 0x00; - hci_read_codec_capabilities(hdev, LOCAL_CODEC_ACL_MASK, &caps); + hci_read_codec_capabilities(hdev, + LOCAL_CODEC_ACL_MASK | LOCAL_CODEC_SCO_MASK, &caps); } error: @@ -194,8 +195,8 @@ struct hci_op_read_local_codec_caps caps; __u8 i; - skb = __hci_cmd_sync(hdev, HCI_OP_READ_LOCAL_CODECS_V2, 0, NULL, - HCI_CMD_TIMEOUT); + skb = __hci_cmd_sync_sk(hdev, HCI_OP_READ_LOCAL_CODECS_V2, 0, NULL, + 0, HCI_CMD_TIMEOUT, NULL); if (IS_ERR(skb)) { bt_dev_err(hdev, "Failed to read local supported codecs (%ld)", --- linux-gcp-5.19.0.orig/net/bluetooth/hci_core.c +++ linux-gcp-5.19.0/net/bluetooth/hci_core.c @@ -594,6 +594,20 @@ skb_queue_purge(&hdev->rx_q); skb_queue_purge(&hdev->cmd_q); + /* Cancel these to avoid queueing non-chained pending work */ + hci_dev_set_flag(hdev, HCI_CMD_DRAIN_WORKQUEUE); + /* Wait for + * + * if (!hci_dev_test_flag(hdev, HCI_CMD_DRAIN_WORKQUEUE)) + * queue_delayed_work(&hdev->{cmd,ncmd}_timer) + * + * inside RCU section to see the flag or complete scheduling. + */ + synchronize_rcu(); + /* Explicitly cancel works in case scheduled after setting the flag. */ + cancel_delayed_work(&hdev->cmd_timer); + cancel_delayed_work(&hdev->ncmd_timer); + /* Avoid potential lockdep warnings from the *_flush() calls by * ensuring the workqueue is empty up front. */ @@ -607,6 +621,8 @@ if (hdev->flush) hdev->flush(hdev); + hci_dev_clear_flag(hdev, HCI_CMD_DRAIN_WORKQUEUE); + atomic_set(&hdev->cmd_cnt, 1); hdev->acl_cnt = 0; hdev->sco_cnt = 0; hdev->le_cnt = 0; @@ -2640,7 +2656,8 @@ hci_sock_dev_event(hdev, HCI_DEV_REG); hci_dev_hold(hdev); - if (!test_bit(HCI_QUIRK_NO_SUSPEND_NOTIFIER, &hdev->quirks)) { + if (!hdev->suspend_notifier.notifier_call && + !test_bit(HCI_QUIRK_NO_SUSPEND_NOTIFIER, &hdev->quirks)) { hdev->suspend_notifier.notifier_call = hci_suspend_notifier; error = register_pm_notifier(&hdev->suspend_notifier); if (error) @@ -3354,15 +3371,27 @@ return DIV_ROUND_UP(skb->len - HCI_ACL_HDR_SIZE, hdev->block_len); } -static void __check_timeout(struct hci_dev *hdev, unsigned int cnt) +static void __check_timeout(struct hci_dev *hdev, unsigned int cnt, u8 type) { - if (!hci_dev_test_flag(hdev, HCI_UNCONFIGURED)) { - /* ACL tx timeout must be longer than maximum - * link supervision timeout (40.9 seconds) */ - if (!cnt && time_after(jiffies, hdev->acl_last_tx + - HCI_ACL_TX_TIMEOUT)) - hci_link_tx_to(hdev, ACL_LINK); + unsigned long last_tx; + + if (hci_dev_test_flag(hdev, HCI_UNCONFIGURED)) + return; + + switch (type) { + case LE_LINK: + last_tx = hdev->le_last_tx; + break; + default: + last_tx = hdev->acl_last_tx; + break; } + + /* tx timeout must be longer than maximum link supervision timeout + * (40.9 seconds) + */ + if (!cnt && time_after(jiffies, last_tx + HCI_ACL_TX_TIMEOUT)) + hci_link_tx_to(hdev, type); } /* Schedule SCO */ @@ -3420,7 +3449,7 @@ struct sk_buff *skb; int quote; - __check_timeout(hdev, cnt); + __check_timeout(hdev, cnt, ACL_LINK); while (hdev->acl_cnt && (chan = hci_chan_sent(hdev, ACL_LINK, "e))) { @@ -3463,8 +3492,6 @@ int quote; u8 type; - __check_timeout(hdev, cnt); - BT_DBG("%s", hdev->name); if (hdev->dev_type == HCI_AMP) @@ -3472,6 +3499,8 @@ else type = ACL_LINK; + __check_timeout(hdev, cnt, type); + while (hdev->block_cnt > 0 && (chan = hci_chan_sent(hdev, type, "e))) { u32 priority = (skb_peek(&chan->data_q))->priority; @@ -3545,7 +3574,7 @@ cnt = hdev->le_pkts ? hdev->le_cnt : hdev->acl_cnt; - __check_timeout(hdev, cnt); + __check_timeout(hdev, cnt, LE_LINK); tmp = cnt; while (cnt && (chan = hci_chan_sent(hdev, LE_LINK, "e))) { @@ -3769,7 +3798,7 @@ *req_complete_skb = bt_cb(skb)->hci.req_complete_skb; else *req_complete = bt_cb(skb)->hci.req_complete; - kfree_skb(skb); + dev_kfree_skb_irq(skb); } spin_unlock_irqrestore(&hdev->cmd_q.lock, flags); } @@ -3864,11 +3893,14 @@ if (res < 0) __hci_cmd_sync_cancel(hdev, -res); - if (test_bit(HCI_RESET, &hdev->flags)) + rcu_read_lock(); + if (test_bit(HCI_RESET, &hdev->flags) || + hci_dev_test_flag(hdev, HCI_CMD_DRAIN_WORKQUEUE)) cancel_delayed_work(&hdev->cmd_timer); else - schedule_delayed_work(&hdev->cmd_timer, - HCI_CMD_TIMEOUT); + queue_delayed_work(hdev->workqueue, &hdev->cmd_timer, + HCI_CMD_TIMEOUT); + rcu_read_unlock(); } else { skb_queue_head(&hdev->cmd_q, skb); queue_work(hdev->workqueue, &hdev->cmd_work); --- linux-gcp-5.19.0.orig/net/bluetooth/hci_event.c +++ linux-gcp-5.19.0/net/bluetooth/hci_event.c @@ -3763,15 +3763,18 @@ { cancel_delayed_work(&hdev->cmd_timer); + rcu_read_lock(); if (!test_bit(HCI_RESET, &hdev->flags)) { if (ncmd) { cancel_delayed_work(&hdev->ncmd_timer); atomic_set(&hdev->cmd_cnt, 1); } else { - schedule_delayed_work(&hdev->ncmd_timer, - HCI_NCMD_TIMEOUT); + if (!hci_dev_test_flag(hdev, HCI_CMD_DRAIN_WORKQUEUE)) + queue_delayed_work(hdev->workqueue, &hdev->ncmd_timer, + HCI_NCMD_TIMEOUT); } } + rcu_read_unlock(); } #define HCI_CC_VL(_op, _func, _min, _max) \ @@ -3997,6 +4000,17 @@ } } + if (i == ARRAY_SIZE(hci_cc_table)) { + /* Unknown opcode, assume byte 0 contains the status, so + * that e.g. __hci_cmd_sync() properly returns errors + * for vendor specific commands send by HCI drivers. + * If a vendor doesn't actually follow this convention we may + * need to introduce a vendor CC table in order to properly set + * the status. + */ + *status = skb->data[0]; + } + handle_cmd_cnt_and_timer(hdev, ev->ncmd); hci_req_cmd_complete(hdev, *opcode, *status, req_complete, @@ -5556,7 +5570,7 @@ */ hci_dev_clear_flag(hdev, HCI_LE_ADV); - conn = hci_lookup_le_connect(hdev); + conn = hci_conn_hash_lookup_ba(hdev, LE_LINK, bdaddr); if (!conn) { /* In case of error status and there is no connection pending * just unlock as there is nothing to cleanup. --- linux-gcp-5.19.0.orig/net/bluetooth/hci_request.c +++ linux-gcp-5.19.0/net/bluetooth/hci_request.c @@ -1485,7 +1485,7 @@ /* Set duration per instance since controller is responsible for * scheduling it. */ - if (adv_instance && adv_instance->duration) { + if (adv_instance && adv_instance->timeout) { u16 duration = adv_instance->timeout * MSEC_PER_SEC; /* Time = N * 10 ms */ --- linux-gcp-5.19.0.orig/net/bluetooth/hci_sync.c +++ linux-gcp-5.19.0/net/bluetooth/hci_sync.c @@ -12,6 +12,7 @@ #include #include "hci_request.h" +#include "hci_codec.h" #include "hci_debugfs.h" #include "smp.h" #include "eir.h" @@ -1612,6 +1613,9 @@ bacpy(&cp.bdaddr, ¶ms->addr); memcpy(cp.peer_irk, irk->val, 16); + /* Default privacy mode is always Network */ + params->privacy_mode = HCI_NETWORK_PRIVACY; + done: if (hci_dev_test_flag(hdev, HCI_PRIVACY)) memcpy(cp.local_irk, hdev->irk, 16); @@ -3616,11 +3620,12 @@ /* Read local codec list if the HCI command is supported */ static int hci_read_local_codecs_sync(struct hci_dev *hdev) { - if (!(hdev->commands[29] & 0x20)) - return 0; + if (hdev->commands[45] & 0x04) + hci_read_supported_codecs_v2(hdev); + else if (hdev->commands[29] & 0x20) + hci_read_supported_codecs(hdev); - return __hci_cmd_sync_status(hdev, HCI_OP_READ_LOCAL_CODECS, 0, NULL, - HCI_CMD_TIMEOUT); + return 0; } /* Read local pairing options if the HCI command is supported */ @@ -4030,6 +4035,7 @@ hci_dev_test_flag(hdev, HCI_MGMT) && hdev->dev_type == HCI_PRIMARY) { ret = hci_powered_update_sync(hdev); + mgmt_power_on(hdev, ret); } } else { /* Init failed, cleanup */ @@ -4049,6 +4055,7 @@ hdev->flush(hdev); if (hdev->sent_cmd) { + cancel_delayed_work_sync(&hdev->cmd_timer); kfree_skb(hdev->sent_cmd); hdev->sent_cmd = NULL; } @@ -4449,9 +4456,11 @@ /* Cleanup hci_conn object if it cannot be cancelled as it * likelly means the controller and host stack are out of sync. */ - if (err) + if (err) { + hci_dev_lock(hdev); hci_conn_failed(conn, err); - + hci_dev_unlock(hdev); + } return err; case BT_CONNECT2: return hci_reject_conn_sync(hdev, conn, reason); @@ -4964,17 +4973,21 @@ /* Prevent disconnects from causing scanning to be re-enabled */ hci_pause_scan_sync(hdev); - /* Soft disconnect everything (power off) */ - err = hci_disconnect_all_sync(hdev, HCI_ERROR_REMOTE_POWER_OFF); - if (err) { - /* Set state to BT_RUNNING so resume doesn't notify */ - hdev->suspend_state = BT_RUNNING; - hci_resume_sync(hdev); - return err; - } + if (hci_conn_count(hdev)) { + /* Soft disconnect everything (power off) */ + err = hci_disconnect_all_sync(hdev, HCI_ERROR_REMOTE_POWER_OFF); + if (err) { + /* Set state to BT_RUNNING so resume doesn't notify */ + hdev->suspend_state = BT_RUNNING; + hci_resume_sync(hdev); + return err; + } - /* Update event mask so only the allowed event can wakeup the host */ - hci_set_event_mask_sync(hdev); + /* Update event mask so only the allowed event can wakeup the + * host. + */ + hci_set_event_mask_sync(hdev); + } /* Only configure accept list if disconnect succeeded and wake * isn't being prevented. @@ -5039,13 +5052,13 @@ if (!hdev->scanning_paused) return 0; + hdev->scanning_paused = false; + hci_update_scan_sync(hdev); /* Reset passive scanning to normal */ hci_update_passive_scan_sync(hdev); - hdev->scanning_paused = false; - return 0; } @@ -5064,7 +5077,6 @@ return 0; hdev->suspended = false; - hdev->scanning_paused = false; /* Restore event mask */ hci_set_event_mask_sync(hdev); --- linux-gcp-5.19.0.orig/net/bluetooth/hci_sysfs.c +++ linux-gcp-5.19.0/net/bluetooth/hci_sysfs.c @@ -48,6 +48,9 @@ BT_DBG("conn %p", conn); + if (device_is_registered(&conn->dev)) + return; + dev_set_name(&conn->dev, "%s:%d", hdev->name, conn->handle); if (device_add(&conn->dev) < 0) { --- linux-gcp-5.19.0.orig/net/bluetooth/l2cap_core.c +++ linux-gcp-5.19.0/net/bluetooth/l2cap_core.c @@ -61,6 +61,9 @@ static void l2cap_tx(struct l2cap_chan *chan, struct l2cap_ctrl *control, struct sk_buff_head *skbs, u8 event); +static void l2cap_retrans_timeout(struct work_struct *work); +static void l2cap_monitor_timeout(struct work_struct *work); +static void l2cap_ack_timeout(struct work_struct *work); static inline u8 bdaddr_type(u8 link_type, u8 bdaddr_type) { @@ -476,6 +479,9 @@ write_unlock(&chan_list_lock); INIT_DELAYED_WORK(&chan->chan_timer, l2cap_chan_timeout); + INIT_DELAYED_WORK(&chan->retrans_timer, l2cap_retrans_timeout); + INIT_DELAYED_WORK(&chan->monitor_timer, l2cap_monitor_timeout); + INIT_DELAYED_WORK(&chan->ack_timer, l2cap_ack_timeout); chan->state = BT_OPEN; @@ -1969,11 +1975,11 @@ bdaddr_t *dst, u8 link_type) { - struct l2cap_chan *c, *c1 = NULL; + struct l2cap_chan *c, *tmp, *c1 = NULL; read_lock(&chan_list_lock); - list_for_each_entry(c, &chan_list, global_l) { + list_for_each_entry_safe(c, tmp, &chan_list, global_l) { if (state && c->state != state) continue; @@ -1983,7 +1989,7 @@ if (link_type == LE_LINK && c->src_type == BDADDR_BREDR) continue; - if (c->psm == psm) { + if (c->chan_type != L2CAP_CHAN_FIXED && c->psm == psm) { int src_match, dst_match; int src_any, dst_any; @@ -1991,8 +1997,7 @@ src_match = !bacmp(&c->src, src); dst_match = !bacmp(&c->dst, dst); if (src_match && dst_match) { - c = l2cap_chan_hold_unless_zero(c); - if (!c) + if (!l2cap_chan_hold_unless_zero(c)) continue; read_unlock(&chan_list_lock); @@ -2677,14 +2682,6 @@ if (IS_ERR(skb)) return PTR_ERR(skb); - /* Channel lock is released before requesting new skb and then - * reacquired thus we need to recheck channel state. - */ - if (chan->state != BT_CONNECTED) { - kfree_skb(skb); - return -ENOTCONN; - } - l2cap_do_send(chan, skb); return len; } @@ -2729,14 +2726,6 @@ if (IS_ERR(skb)) return PTR_ERR(skb); - /* Channel lock is released before requesting new skb and then - * reacquired thus we need to recheck channel state. - */ - if (chan->state != BT_CONNECTED) { - kfree_skb(skb); - return -ENOTCONN; - } - l2cap_do_send(chan, skb); err = len; break; @@ -2757,14 +2746,6 @@ */ err = l2cap_segment_sdu(chan, &seg_queue, msg, len); - /* The channel could have been closed while segmenting, - * check that it is still connected. - */ - if (chan->state != BT_CONNECTED) { - __skb_queue_purge(&seg_queue); - err = -ENOTCONN; - } - if (err) break; @@ -3320,10 +3301,6 @@ chan->rx_state = L2CAP_RX_STATE_RECV; chan->tx_state = L2CAP_TX_STATE_XMIT; - INIT_DELAYED_WORK(&chan->retrans_timer, l2cap_retrans_timeout); - INIT_DELAYED_WORK(&chan->monitor_timer, l2cap_monitor_timeout); - INIT_DELAYED_WORK(&chan->ack_timer, l2cap_ack_timeout); - skb_queue_head_init(&chan->srej_q); err = l2cap_seq_list_init(&chan->srej_list, chan->tx_win); @@ -3762,7 +3739,8 @@ l2cap_add_conf_opt(&ptr, L2CAP_CONF_RFC, sizeof(rfc), (unsigned long) &rfc, endptr - ptr); - if (test_bit(FLAG_EFS_ENABLE, &chan->flags)) { + if (remote_efs && + test_bit(FLAG_EFS_ENABLE, &chan->flags)) { chan->remote_id = efs.id; chan->remote_stype = efs.stype; chan->remote_msdu = le16_to_cpu(efs.msdu); @@ -4307,6 +4285,12 @@ } } + chan = l2cap_chan_hold_unless_zero(chan); + if (!chan) { + err = -EBADSLT; + goto unlock; + } + err = 0; l2cap_chan_lock(chan); @@ -4336,6 +4320,7 @@ } l2cap_chan_unlock(chan); + l2cap_chan_put(chan); unlock: mutex_unlock(&conn->chan_lock); @@ -4443,7 +4428,8 @@ chan->ident = cmd->ident; l2cap_send_cmd(conn, cmd->ident, L2CAP_CONF_RSP, len, rsp); - chan->num_conf_rsp++; + if (chan->num_conf_rsp < L2CAP_CONF_MAX_CONF_RSP) + chan->num_conf_rsp++; /* Reset config buffer. */ chan->conf_len = 0; @@ -5804,6 +5790,19 @@ BT_DBG("psm 0x%2.2x scid 0x%4.4x mtu %u mps %u", __le16_to_cpu(psm), scid, mtu, mps); + /* BLUETOOTH CORE SPECIFICATION Version 5.3 | Vol 3, Part A + * page 1059: + * + * Valid range: 0x0001-0x00ff + * + * Table 4.15: L2CAP_LE_CREDIT_BASED_CONNECTION_REQ SPSM ranges + */ + if (!psm || __le16_to_cpu(psm) > L2CAP_PSM_LE_DYN_END) { + result = L2CAP_CR_LE_BAD_PSM; + chan = NULL; + goto response; + } + /* Check if we have socket listening on psm */ pchan = l2cap_global_chan_by_psm(BT_LISTEN, psm, &conn->hcon->src, &conn->hcon->dst, LE_LINK); @@ -5992,6 +5991,18 @@ psm = req->psm; + /* BLUETOOTH CORE SPECIFICATION Version 5.3 | Vol 3, Part A + * page 1059: + * + * Valid range: 0x0001-0x00ff + * + * Table 4.15: L2CAP_LE_CREDIT_BASED_CONNECTION_REQ SPSM ranges + */ + if (!psm || __le16_to_cpu(psm) > L2CAP_PSM_LE_DYN_END) { + result = L2CAP_CR_LE_BAD_PSM; + goto response; + } + BT_DBG("psm 0x%2.2x mtu %u mps %u", __le16_to_cpu(psm), mtu, mps); memset(&pdu, 0, sizeof(pdu)); @@ -6876,6 +6887,7 @@ struct l2cap_ctrl *control, struct sk_buff *skb, u8 event) { + struct l2cap_ctrl local_control; int err = 0; bool skb_in_use = false; @@ -6900,15 +6912,32 @@ chan->buffer_seq = chan->expected_tx_seq; skb_in_use = true; + /* l2cap_reassemble_sdu may free skb, hence invalidate + * control, so make a copy in advance to use it after + * l2cap_reassemble_sdu returns and to avoid the race + * condition, for example: + * + * The current thread calls: + * l2cap_reassemble_sdu + * chan->ops->recv == l2cap_sock_recv_cb + * __sock_queue_rcv_skb + * Another thread calls: + * bt_sock_recvmsg + * skb_recv_datagram + * skb_free_datagram + * Then the current thread tries to access control, but + * it was freed by skb_free_datagram. + */ + local_control = *control; err = l2cap_reassemble_sdu(chan, skb, control); if (err) break; - if (control->final) { + if (local_control.final) { if (!test_and_clear_bit(CONN_REJ_ACT, &chan->conn_state)) { - control->final = 0; - l2cap_retransmit_all(chan, control); + local_control.final = 0; + l2cap_retransmit_all(chan, &local_control); l2cap_ertm_send(chan); } } @@ -7288,11 +7317,27 @@ static int l2cap_stream_rx(struct l2cap_chan *chan, struct l2cap_ctrl *control, struct sk_buff *skb) { + /* l2cap_reassemble_sdu may free skb, hence invalidate control, so store + * the txseq field in advance to use it after l2cap_reassemble_sdu + * returns and to avoid the race condition, for example: + * + * The current thread calls: + * l2cap_reassemble_sdu + * chan->ops->recv == l2cap_sock_recv_cb + * __sock_queue_rcv_skb + * Another thread calls: + * bt_sock_recvmsg + * skb_recv_datagram + * skb_free_datagram + * Then the current thread tries to access control, but it was freed by + * skb_free_datagram. + */ + u16 txseq = control->txseq; + BT_DBG("chan %p, control %p, skb %p, state %d", chan, control, skb, chan->rx_state); - if (l2cap_classify_txseq(chan, control->txseq) == - L2CAP_TXSEQ_EXPECTED) { + if (l2cap_classify_txseq(chan, txseq) == L2CAP_TXSEQ_EXPECTED) { l2cap_pass_to_tx(chan, control); BT_DBG("buffer_seq %u->%u", chan->buffer_seq, @@ -7315,8 +7360,8 @@ } } - chan->last_acked_seq = control->txseq; - chan->expected_tx_seq = __next_seq(chan, control->txseq); + chan->last_acked_seq = txseq; + chan->expected_tx_seq = __next_seq(chan, txseq); return 0; } @@ -7572,6 +7617,7 @@ return; } + l2cap_chan_hold(chan); l2cap_chan_lock(chan); } else { BT_DBG("unknown cid 0x%4.4x", cid); @@ -8417,9 +8463,8 @@ * expected length. */ if (skb->len < L2CAP_LEN_SIZE) { - if (l2cap_recv_frag(conn, skb, conn->mtu) < 0) - goto drop; - return; + l2cap_recv_frag(conn, skb, conn->mtu); + break; } len = get_unaligned_le16(skb->data) + L2CAP_HDR_SIZE; @@ -8463,7 +8508,7 @@ /* Header still could not be read just continue */ if (conn->rx_skb->len < L2CAP_LEN_SIZE) - return; + break; } if (skb->len > conn->rx_len) { --- linux-gcp-5.19.0.orig/net/bluetooth/l2cap_sock.c +++ linux-gcp-5.19.0/net/bluetooth/l2cap_sock.c @@ -1624,6 +1624,14 @@ if (!skb) return ERR_PTR(err); + /* Channel lock is released before requesting new skb and then + * reacquired thus we need to recheck channel state. + */ + if (chan->state != BT_CONNECTED) { + kfree_skb(skb); + return ERR_PTR(-ENOTCONN); + } + skb->priority = sk->sk_priority; bt_cb(skb)->l2cap.chan = chan; --- linux-gcp-5.19.0.orig/net/bluetooth/mgmt.c +++ linux-gcp-5.19.0/net/bluetooth/mgmt.c @@ -4420,6 +4420,22 @@ MGMT_STATUS_NOT_SUPPORTED); } +static u32 get_params_flags(struct hci_dev *hdev, + struct hci_conn_params *params) +{ + u32 flags = hdev->conn_flags; + + /* Devices using RPAs can only be programmed in the acceptlist if + * LL Privacy has been enable otherwise they cannot mark + * HCI_CONN_FLAG_REMOTE_WAKEUP. + */ + if ((flags & HCI_CONN_FLAG_REMOTE_WAKEUP) && !use_ll_privacy(hdev) && + hci_find_irk_by_addr(hdev, ¶ms->addr, params->addr_type)) + flags &= ~HCI_CONN_FLAG_REMOTE_WAKEUP; + + return flags; +} + static int get_device_flags(struct sock *sk, struct hci_dev *hdev, void *data, u16 data_len) { @@ -4451,10 +4467,10 @@ } else { params = hci_conn_params_lookup(hdev, &cp->addr.bdaddr, le_addr_type(cp->addr.type)); - if (!params) goto done; + supported_flags = get_params_flags(hdev, params); current_flags = params->flags; } @@ -4523,38 +4539,35 @@ bt_dev_warn(hdev, "No such BR/EDR device %pMR (0x%x)", &cp->addr.bdaddr, cp->addr.type); } - } else { - params = hci_conn_params_lookup(hdev, &cp->addr.bdaddr, - le_addr_type(cp->addr.type)); - if (params) { - /* Devices using RPAs can only be programmed in the - * acceptlist LL Privacy has been enable otherwise they - * cannot mark HCI_CONN_FLAG_REMOTE_WAKEUP. - */ - if ((current_flags & HCI_CONN_FLAG_REMOTE_WAKEUP) && - !use_ll_privacy(hdev) && - hci_find_irk_by_addr(hdev, ¶ms->addr, - params->addr_type)) { - bt_dev_warn(hdev, - "Cannot set wakeable for RPA"); - goto unlock; - } - params->flags = current_flags; - status = MGMT_STATUS_SUCCESS; + goto unlock; + } - /* Update passive scan if HCI_CONN_FLAG_DEVICE_PRIVACY - * has been set. - */ - if (params->flags & HCI_CONN_FLAG_DEVICE_PRIVACY) - hci_update_passive_scan(hdev); - } else { - bt_dev_warn(hdev, "No such LE device %pMR (0x%x)", - &cp->addr.bdaddr, - le_addr_type(cp->addr.type)); - } + params = hci_conn_params_lookup(hdev, &cp->addr.bdaddr, + le_addr_type(cp->addr.type)); + if (!params) { + bt_dev_warn(hdev, "No such LE device %pMR (0x%x)", + &cp->addr.bdaddr, le_addr_type(cp->addr.type)); + goto unlock; } + supported_flags = get_params_flags(hdev, params); + + if ((supported_flags | current_flags) != supported_flags) { + bt_dev_warn(hdev, "Bad flag given (0x%x) vs supported (0x%0x)", + current_flags, supported_flags); + goto unlock; + } + + params->flags = current_flags; + status = MGMT_STATUS_SUCCESS; + + /* Update passive scan if HCI_CONN_FLAG_DEVICE_PRIVACY + * has been set. + */ + if (params->flags & HCI_CONN_FLAG_DEVICE_PRIVACY) + hci_update_passive_scan(hdev); + unlock: hci_dev_unlock(hdev); @@ -6820,11 +6833,14 @@ cmd = mgmt_pending_new(sk, MGMT_OP_GET_CONN_INFO, hdev, data, len); - if (!cmd) + if (!cmd) { err = -ENOMEM; - else + } else { + hci_conn_hold(conn); + cmd->user_data = hci_conn_get(conn); err = hci_cmd_sync_queue(hdev, get_conn_info_sync, cmd, get_conn_info_complete); + } if (err < 0) { mgmt_cmd_complete(sk, hdev->id, MGMT_OP_GET_CONN_INFO, @@ -6836,9 +6852,6 @@ goto unlock; } - hci_conn_hold(conn); - cmd->user_data = hci_conn_get(conn); - conn->conn_info_timestamp = jiffies; } else { /* Cache is valid, just reply with values cached in hci_conn */ @@ -8303,7 +8316,7 @@ * extra parameters we don't know about will be ignored in this request. */ if (data_len < MGMT_ADD_EXT_ADV_PARAMS_MIN_SIZE) - return mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_ADVERTISING, + return mgmt_cmd_status(sk, hdev->id, MGMT_OP_ADD_EXT_ADV_PARAMS, MGMT_STATUS_INVALID_PARAMS); flags = __le32_to_cpu(cp->flags); --- linux-gcp-5.19.0.orig/net/bluetooth/rfcomm/core.c +++ linux-gcp-5.19.0/net/bluetooth/rfcomm/core.c @@ -590,7 +590,7 @@ ret = rfcomm_dlc_send_frag(d, frag); if (ret < 0) { - kfree_skb(frag); + dev_kfree_skb_irq(frag); goto unlock; } --- linux-gcp-5.19.0.orig/net/bluetooth/rfcomm/sock.c +++ linux-gcp-5.19.0/net/bluetooth/rfcomm/sock.c @@ -391,6 +391,7 @@ addr->sa_family != AF_BLUETOOTH) return -EINVAL; + sock_hold(sk); lock_sock(sk); if (sk->sk_state != BT_OPEN && sk->sk_state != BT_BOUND) { @@ -410,14 +411,18 @@ d->sec_level = rfcomm_pi(sk)->sec_level; d->role_switch = rfcomm_pi(sk)->role_switch; + /* Drop sock lock to avoid potential deadlock with the RFCOMM lock */ + release_sock(sk); err = rfcomm_dlc_open(d, &rfcomm_pi(sk)->src, &sa->rc_bdaddr, sa->rc_channel); - if (!err) + lock_sock(sk); + if (!err && !sock_flag(sk, SOCK_ZAPPED)) err = bt_sock_wait_state(sk, BT_CONNECTED, sock_sndtimeo(sk, flags & O_NONBLOCK)); done: release_sock(sk); + sock_put(sk); return err; } @@ -902,7 +907,10 @@ lock_sock(sk); if (!sk->sk_shutdown) { sk->sk_shutdown = SHUTDOWN_MASK; + + release_sock(sk); __rfcomm_sock_close(sk); + lock_sock(sk); if (sock_flag(sk, SOCK_LINGER) && sk->sk_lingertime && !(current->flags & PF_EXITING)) --- linux-gcp-5.19.0.orig/net/bpf/test_run.c +++ linux-gcp-5.19.0/net/bpf/test_run.c @@ -750,6 +750,7 @@ if (user_size > size) return ERR_PTR(-EMSGSIZE); + size = SKB_DATA_ALIGN(size); data = kzalloc(size + headroom + tailroom, GFP_USER); if (!data) return ERR_PTR(-ENOMEM); --- linux-gcp-5.19.0.orig/net/bridge/br_netfilter_hooks.c +++ linux-gcp-5.19.0/net/bridge/br_netfilter_hooks.c @@ -384,6 +384,7 @@ /* - Bridged-and-DNAT'ed traffic doesn't * require ip_forwarding. */ if (rt->dst.dev == dev) { + skb_dst_drop(skb); skb_dst_set(skb, &rt->dst); goto bridged_dnat; } @@ -413,6 +414,7 @@ kfree_skb(skb); return 0; } + skb_dst_drop(skb); skb_dst_set_noref(skb, &rt->dst); } @@ -869,6 +871,7 @@ if (nf_bridge && !nf_bridge->in_prerouting && !netif_is_l3_master(skb->dev) && !netif_is_l3_slave(skb->dev)) { + nf_bridge_info_free(skb); state->okfn(state->net, state->sk, skb); return NF_STOLEN; } --- linux-gcp-5.19.0.orig/net/bridge/br_netfilter_ipv6.c +++ linux-gcp-5.19.0/net/bridge/br_netfilter_ipv6.c @@ -197,6 +197,7 @@ kfree_skb(skb); return 0; } + skb_dst_drop(skb); skb_dst_set_noref(skb, &rt->dst); } --- linux-gcp-5.19.0.orig/net/bridge/br_netlink.c +++ linux-gcp-5.19.0/net/bridge/br_netlink.c @@ -1332,7 +1332,7 @@ if (data[IFLA_BR_FDB_FLUSH]) { struct net_bridge_fdb_flush_desc desc = { - .flags_mask = BR_FDB_STATIC + .flags_mask = BIT(BR_FDB_STATIC) }; br_fdb_flush(br, &desc); --- linux-gcp-5.19.0.orig/net/bridge/br_sysfs_br.c +++ linux-gcp-5.19.0/net/bridge/br_sysfs_br.c @@ -345,7 +345,7 @@ struct netlink_ext_ack *extack) { struct net_bridge_fdb_flush_desc desc = { - .flags_mask = BR_FDB_STATIC + .flags_mask = BIT(BR_FDB_STATIC) }; br_fdb_flush(br, &desc); --- linux-gcp-5.19.0.orig/net/bridge/br_vlan.c +++ linux-gcp-5.19.0/net/bridge/br_vlan.c @@ -959,6 +959,8 @@ list_for_each_entry(p, &br->port_list, list) { vg = nbp_vlan_group(p); list_for_each_entry(vlan, &vg->vlan_list, vlist) { + if (vlan->priv_flags & BR_VLFLAG_ADDED_BY_SWITCHDEV) + continue; err = vlan_vid_add(p->dev, proto, vlan->vid); if (err) goto err_filt; @@ -973,8 +975,11 @@ /* Delete VLANs for the old proto from the device filter. */ list_for_each_entry(p, &br->port_list, list) { vg = nbp_vlan_group(p); - list_for_each_entry(vlan, &vg->vlan_list, vlist) + list_for_each_entry(vlan, &vg->vlan_list, vlist) { + if (vlan->priv_flags & BR_VLFLAG_ADDED_BY_SWITCHDEV) + continue; vlan_vid_del(p->dev, oldproto, vlan->vid); + } } return 0; @@ -983,13 +988,19 @@ attr.u.vlan_protocol = ntohs(oldproto); switchdev_port_attr_set(br->dev, &attr, NULL); - list_for_each_entry_continue_reverse(vlan, &vg->vlan_list, vlist) + list_for_each_entry_continue_reverse(vlan, &vg->vlan_list, vlist) { + if (vlan->priv_flags & BR_VLFLAG_ADDED_BY_SWITCHDEV) + continue; vlan_vid_del(p->dev, proto, vlan->vid); + } list_for_each_entry_continue_reverse(p, &br->port_list, list) { vg = nbp_vlan_group(p); - list_for_each_entry(vlan, &vg->vlan_list, vlist) + list_for_each_entry(vlan, &vg->vlan_list, vlist) { + if (vlan->priv_flags & BR_VLFLAG_ADDED_BY_SWITCHDEV) + continue; vlan_vid_del(p->dev, proto, vlan->vid); + } } return err; --- linux-gcp-5.19.0.orig/net/bridge/netfilter/ebtable_broute.c +++ linux-gcp-5.19.0/net/bridge/netfilter/ebtable_broute.c @@ -36,18 +36,10 @@ .entries = (char *)&initial_chain, }; -static int check(const struct ebt_table_info *info, unsigned int valid_hooks) -{ - if (valid_hooks & ~(1 << NF_BR_BROUTING)) - return -EINVAL; - return 0; -} - static const struct ebt_table broute_table = { .name = "broute", .table = &initial_table, .valid_hooks = 1 << NF_BR_BROUTING, - .check = check, .me = THIS_MODULE, }; --- linux-gcp-5.19.0.orig/net/bridge/netfilter/ebtable_filter.c +++ linux-gcp-5.19.0/net/bridge/netfilter/ebtable_filter.c @@ -43,18 +43,10 @@ .entries = (char *)initial_chains, }; -static int check(const struct ebt_table_info *info, unsigned int valid_hooks) -{ - if (valid_hooks & ~FILTER_VALID_HOOKS) - return -EINVAL; - return 0; -} - static const struct ebt_table frame_filter = { .name = "filter", .table = &initial_table, .valid_hooks = FILTER_VALID_HOOKS, - .check = check, .me = THIS_MODULE, }; --- linux-gcp-5.19.0.orig/net/bridge/netfilter/ebtable_nat.c +++ linux-gcp-5.19.0/net/bridge/netfilter/ebtable_nat.c @@ -43,18 +43,10 @@ .entries = (char *)initial_chains, }; -static int check(const struct ebt_table_info *info, unsigned int valid_hooks) -{ - if (valid_hooks & ~NAT_VALID_HOOKS) - return -EINVAL; - return 0; -} - static const struct ebt_table frame_nat = { .name = "nat", .table = &initial_table, .valid_hooks = NAT_VALID_HOOKS, - .check = check, .me = THIS_MODULE, }; --- linux-gcp-5.19.0.orig/net/bridge/netfilter/ebtables.c +++ linux-gcp-5.19.0/net/bridge/netfilter/ebtables.c @@ -1040,9 +1040,10 @@ goto free_iterate; } - /* the table doesn't like it */ - if (t->check && (ret = t->check(newinfo, repl->valid_hooks))) + if (repl->valid_hooks != t->valid_hooks) { + ret = -EINVAL; goto free_unlock; + } if (repl->num_counters && repl->num_counters != t->private->nentries) { ret = -EINVAL; @@ -1231,11 +1232,6 @@ if (ret != 0) goto free_chainstack; - if (table->check && table->check(newinfo, table->valid_hooks)) { - ret = -EINVAL; - goto free_chainstack; - } - table->private = newinfo; rwlock_init(&table->lock); mutex_lock(&ebt_mutex); --- linux-gcp-5.19.0.orig/net/caif/caif_socket.c +++ linux-gcp-5.19.0/net/caif/caif_socket.c @@ -1015,6 +1015,7 @@ return; } sk_stream_kill_queues(&cf_sk->sk); + WARN_ON(sk->sk_forward_alloc); caif_free_client(&cf_sk->layer); } --- linux-gcp-5.19.0.orig/net/caif/cfctrl.c +++ linux-gcp-5.19.0/net/caif/cfctrl.c @@ -269,11 +269,15 @@ default: pr_warn("Request setup of bad link type = %d\n", param->linktype); + cfpkt_destroy(pkt); return -EINVAL; } req = kzalloc(sizeof(*req), GFP_KERNEL); - if (!req) + if (!req) { + cfpkt_destroy(pkt); return -ENOMEM; + } + req->client_layer = user_layer; req->cmd = CFCTRL_CMD_LINK_SETUP; req->param = *param; --- linux-gcp-5.19.0.orig/net/caif/chnl_net.c +++ linux-gcp-5.19.0/net/caif/chnl_net.c @@ -310,9 +310,6 @@ if (result == 0) { pr_debug("connect timeout\n"); - caif_disconnect_client(dev_net(dev), &priv->chnl); - priv->state = CAIF_DISCONNECTED; - pr_debug("state disconnected\n"); result = -ETIMEDOUT; goto error; } --- linux-gcp-5.19.0.orig/net/can/af_can.c +++ linux-gcp-5.19.0/net/can/af_can.c @@ -451,7 +451,7 @@ /* insert new receiver (dev,canid,mask) -> (func,data) */ - if (dev && dev->type != ARPHRD_CAN) + if (dev && (dev->type != ARPHRD_CAN || !can_get_ml_priv(dev))) return -ENODEV; if (dev && !net_eq(net, dev_net(dev))) @@ -680,7 +680,7 @@ { struct canfd_frame *cfd = (struct canfd_frame *)skb->data; - if (unlikely(dev->type != ARPHRD_CAN || skb->len != CAN_MTU)) { + if (unlikely(dev->type != ARPHRD_CAN || !can_get_ml_priv(dev) || skb->len != CAN_MTU)) { pr_warn_once("PF_CAN: dropped non conform CAN skbuff: dev type %d, len %d\n", dev->type, skb->len); goto free_skb; @@ -706,7 +706,7 @@ { struct canfd_frame *cfd = (struct canfd_frame *)skb->data; - if (unlikely(dev->type != ARPHRD_CAN || skb->len != CANFD_MTU)) { + if (unlikely(dev->type != ARPHRD_CAN || !can_get_ml_priv(dev) || skb->len != CANFD_MTU)) { pr_warn_once("PF_CAN: dropped non conform CAN FD skbuff: dev type %d, len %d\n", dev->type, skb->len); goto free_skb; --- linux-gcp-5.19.0.orig/net/can/bcm.c +++ linux-gcp-5.19.0/net/can/bcm.c @@ -274,6 +274,7 @@ struct sk_buff *skb; struct net_device *dev; struct canfd_frame *cf = op->frames + op->cfsiz * op->currframe; + int err; /* no target device? => exit */ if (!op->ifindex) @@ -298,11 +299,11 @@ /* send with loopback */ skb->dev = dev; can_skb_set_owner(skb, op->sk); - can_send(skb, 1); + err = can_send(skb, 1); + if (!err) + op->frames_abs++; - /* update statistics */ op->currframe++; - op->frames_abs++; /* reached last frame? */ if (op->currframe >= op->nframes) --- linux-gcp-5.19.0.orig/net/can/isotp.c +++ linux-gcp-5.19.0/net/can/isotp.c @@ -111,6 +111,9 @@ #define ISOTP_FC_WT 1 /* wait */ #define ISOTP_FC_OVFLW 2 /* overflow */ +#define ISOTP_FC_TIMEOUT 1 /* 1 sec */ +#define ISOTP_ECHO_TIMEOUT 2 /* 2 secs */ + enum { ISOTP_IDLE = 0, ISOTP_WAIT_FIRST_FC, @@ -137,7 +140,7 @@ canid_t rxid; ktime_t tx_gap; ktime_t lastrxcf_tstamp; - struct hrtimer rxtimer, txtimer; + struct hrtimer rxtimer, txtimer, txfrtimer; struct can_isotp_options opt; struct can_isotp_fc_options rxfc, txfc; struct can_isotp_ll_options ll; @@ -258,7 +261,8 @@ so->lastrxcf_tstamp = ktime_set(0, 0); /* start rx timeout watchdog */ - hrtimer_start(&so->rxtimer, ktime_set(1, 0), HRTIMER_MODE_REL_SOFT); + hrtimer_start(&so->rxtimer, ktime_set(ISOTP_FC_TIMEOUT, 0), + HRTIMER_MODE_REL_SOFT); return 0; } @@ -344,6 +348,8 @@ return 0; } +static void isotp_send_cframe(struct isotp_sock *so); + static int isotp_rcv_fc(struct isotp_sock *so, struct canfd_frame *cf, int ae) { struct sock *sk = &so->sk; @@ -398,14 +404,15 @@ case ISOTP_FC_CTS: so->tx.bs = 0; so->tx.state = ISOTP_SENDING; - /* start cyclic timer for sending CF frame */ - hrtimer_start(&so->txtimer, so->tx_gap, + /* send CF frame and enable echo timeout handling */ + hrtimer_start(&so->txtimer, ktime_set(ISOTP_ECHO_TIMEOUT, 0), HRTIMER_MODE_REL_SOFT); + isotp_send_cframe(so); break; case ISOTP_FC_WT: /* start timer to wait for next FC frame */ - hrtimer_start(&so->txtimer, ktime_set(1, 0), + hrtimer_start(&so->txtimer, ktime_set(ISOTP_FC_TIMEOUT, 0), HRTIMER_MODE_REL_SOFT); break; @@ -600,7 +607,7 @@ /* perform blocksize handling, if enabled */ if (!so->rxfc.bs || ++so->rx.bs < so->rxfc.bs) { /* start rx timeout watchdog */ - hrtimer_start(&so->rxtimer, ktime_set(1, 0), + hrtimer_start(&so->rxtimer, ktime_set(ISOTP_FC_TIMEOUT, 0), HRTIMER_MODE_REL_SOFT); return 0; } @@ -829,7 +836,7 @@ struct isotp_sock *so = isotp_sk(sk); struct canfd_frame *cf = (struct canfd_frame *)skb->data; - /* only handle my own local echo skb's */ + /* only handle my own local echo CF/SF skb's (no FF!) */ if (skb->sk != sk || so->cfecho != *(u32 *)cf->data) return; @@ -849,19 +856,22 @@ if (so->txfc.bs && so->tx.bs >= so->txfc.bs) { /* stop and wait for FC with timeout */ so->tx.state = ISOTP_WAIT_FC; - hrtimer_start(&so->txtimer, ktime_set(1, 0), + hrtimer_start(&so->txtimer, ktime_set(ISOTP_FC_TIMEOUT, 0), HRTIMER_MODE_REL_SOFT); return; } /* no gap between data frames needed => use burst mode */ if (!so->tx_gap) { + /* enable echo timeout handling */ + hrtimer_start(&so->txtimer, ktime_set(ISOTP_ECHO_TIMEOUT, 0), + HRTIMER_MODE_REL_SOFT); isotp_send_cframe(so); return; } /* start timer to send next consecutive frame with correct delay */ - hrtimer_start(&so->txtimer, so->tx_gap, HRTIMER_MODE_REL_SOFT); + hrtimer_start(&so->txfrtimer, so->tx_gap, HRTIMER_MODE_REL_SOFT); } static enum hrtimer_restart isotp_tx_timer_handler(struct hrtimer *hrtimer) @@ -869,48 +879,39 @@ struct isotp_sock *so = container_of(hrtimer, struct isotp_sock, txtimer); struct sock *sk = &so->sk; - enum hrtimer_restart restart = HRTIMER_NORESTART; - - switch (so->tx.state) { - case ISOTP_SENDING: - /* cfecho should be consumed by isotp_rcv_echo() here */ - if (!so->cfecho) { - /* start timeout for unlikely lost echo skb */ - hrtimer_set_expires(&so->txtimer, - ktime_add(ktime_get(), - ktime_set(2, 0))); - restart = HRTIMER_RESTART; + /* don't handle timeouts in IDLE state */ + if (so->tx.state == ISOTP_IDLE) + return HRTIMER_NORESTART; - /* push out the next consecutive frame */ - isotp_send_cframe(so); - break; - } + /* we did not get any flow control or echo frame in time */ - /* cfecho has not been cleared in isotp_rcv_echo() */ - pr_notice_once("can-isotp: cfecho %08X timeout\n", so->cfecho); - fallthrough; + /* report 'communication error on send' */ + sk->sk_err = ECOMM; + if (!sock_flag(sk, SOCK_DEAD)) + sk_error_report(sk); - case ISOTP_WAIT_FC: - case ISOTP_WAIT_FIRST_FC: + /* reset tx state */ + so->tx.state = ISOTP_IDLE; + wake_up_interruptible(&so->wait); - /* we did not get any flow control frame in time */ + return HRTIMER_NORESTART; +} - /* report 'communication error on send' */ - sk->sk_err = ECOMM; - if (!sock_flag(sk, SOCK_DEAD)) - sk_error_report(sk); +static enum hrtimer_restart isotp_txfr_timer_handler(struct hrtimer *hrtimer) +{ + struct isotp_sock *so = container_of(hrtimer, struct isotp_sock, + txfrtimer); - /* reset tx state */ - so->tx.state = ISOTP_IDLE; - wake_up_interruptible(&so->wait); - break; + /* start echo timeout handling and cover below protocol error */ + hrtimer_start(&so->txtimer, ktime_set(ISOTP_ECHO_TIMEOUT, 0), + HRTIMER_MODE_REL_SOFT); - default: - WARN_ON_ONCE(1); - } + /* cfecho should be consumed by isotp_rcv_echo() here */ + if (so->tx.state == ISOTP_SENDING && !so->cfecho) + isotp_send_cframe(so); - return restart; + return HRTIMER_NORESTART; } static int isotp_sendmsg(struct socket *sock, struct msghdr *msg, size_t size) @@ -923,7 +924,7 @@ struct canfd_frame *cf; int ae = (so->opt.flags & CAN_ISOTP_EXTEND_ADDR) ? 1 : 0; int wait_tx_done = (so->opt.flags & CAN_ISOTP_WAIT_TX_DONE) ? 1 : 0; - s64 hrtimer_sec = 0; + s64 hrtimer_sec = ISOTP_ECHO_TIMEOUT; int off; int err; @@ -942,6 +943,8 @@ err = wait_event_interruptible(so->wait, so->tx.state == ISOTP_IDLE); if (err) goto err_out; + + so->tx.state = ISOTP_SENDING; } if (!size || size > MAX_MSG_LENGTH) { @@ -986,6 +989,10 @@ cf = (struct canfd_frame *)skb->data; skb_put_zero(skb, so->ll.mtu); + /* cfecho should have been zero'ed by init / former isotp_rcv_echo() */ + if (so->cfecho) + pr_notice_once("can-isotp: uninit cfecho %08X\n", so->cfecho); + /* check for single frame transmission depending on TX_DL */ if (size <= so->tx.ll_dl - SF_PCI_SZ4 - ae - off) { /* The message size generally fits into a SingleFrame - good. @@ -1011,11 +1018,8 @@ else cf->data[ae] |= size; - so->tx.state = ISOTP_IDLE; - wake_up_interruptible(&so->wait); - - /* don't enable wait queue for a single frame transmission */ - wait_tx_done = 0; + /* set CF echo tag for isotp_rcv_echo() (SF-mode) */ + so->cfecho = *(u32 *)cf->data; } else { /* send first frame */ @@ -1031,31 +1035,23 @@ /* disable wait for FCs due to activated block size */ so->txfc.bs = 0; - /* cfecho should have been zero'ed by init */ - if (so->cfecho) - pr_notice_once("can-isotp: no fc cfecho %08X\n", - so->cfecho); - - /* set consecutive frame echo tag */ + /* set CF echo tag for isotp_rcv_echo() (CF-mode) */ so->cfecho = *(u32 *)cf->data; - - /* switch directly to ISOTP_SENDING state */ - so->tx.state = ISOTP_SENDING; - - /* start timeout for unlikely lost echo skb */ - hrtimer_sec = 2; } else { /* standard flow control check */ so->tx.state = ISOTP_WAIT_FIRST_FC; /* start timeout for FC */ - hrtimer_sec = 1; - } + hrtimer_sec = ISOTP_FC_TIMEOUT; - hrtimer_start(&so->txtimer, ktime_set(hrtimer_sec, 0), - HRTIMER_MODE_REL_SOFT); + /* no CF echo tag for isotp_rcv_echo() (FF-mode) */ + so->cfecho = 0; + } } + hrtimer_start(&so->txtimer, ktime_set(hrtimer_sec, 0), + HRTIMER_MODE_REL_SOFT); + /* send the first or only CAN frame */ cf->flags = so->ll.tx_flags; @@ -1068,8 +1064,7 @@ __func__, ERR_PTR(err)); /* no transmission -> no timeout monitoring */ - if (hrtimer_sec) - hrtimer_cancel(&so->txtimer); + hrtimer_cancel(&so->txtimer); /* reset consecutive frame echo tag */ so->cfecho = 0; @@ -1157,6 +1152,10 @@ /* wait for complete transmission of current pdu */ wait_event_interruptible(so->wait, so->tx.state == ISOTP_IDLE); + /* force state machines to be idle also when a signal occurred */ + so->tx.state = ISOTP_IDLE; + so->rx.state = ISOTP_IDLE; + spin_lock(&isotp_notifier_lock); while (isotp_busy_notifier == so) { spin_unlock(&isotp_notifier_lock); @@ -1189,6 +1188,7 @@ } } + hrtimer_cancel(&so->txfrtimer); hrtimer_cancel(&so->txtimer); hrtimer_cancel(&so->rxtimer); @@ -1592,6 +1592,8 @@ so->rxtimer.function = isotp_rx_timer_handler; hrtimer_init(&so->txtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); so->txtimer.function = isotp_tx_timer_handler; + hrtimer_init(&so->txfrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_SOFT); + so->txfrtimer.function = isotp_txfr_timer_handler; init_waitqueue_head(&so->wait); spin_lock_init(&so->rx_lock); --- linux-gcp-5.19.0.orig/net/can/j1939/address-claim.c +++ linux-gcp-5.19.0/net/can/j1939/address-claim.c @@ -165,6 +165,46 @@ * leaving this function. */ ecu = j1939_ecu_get_by_name_locked(priv, name); + + if (ecu && ecu->addr == skcb->addr.sa) { + /* The ISO 11783-5 standard, in "4.5.2 - Address claim + * requirements", states: + * d) No CF shall begin, or resume, transmission on the + * network until 250 ms after it has successfully claimed + * an address except when responding to a request for + * address-claimed. + * + * But "Figure 6" and "Figure 7" in "4.5.4.2 - Address-claim + * prioritization" show that the CF begins the transmission + * after 250 ms from the first AC (address-claimed) message + * even if it sends another AC message during that time window + * to resolve the address contention with another CF. + * + * As stated in "4.4.2.3 - Address-claimed message": + * In order to successfully claim an address, the CF sending + * an address claimed message shall not receive a contending + * claim from another CF for at least 250 ms. + * + * As stated in "4.4.3.2 - NAME management (NM) message": + * 1) A commanding CF can + * d) request that a CF with a specified NAME transmit + * the address-claimed message with its current NAME. + * 2) A target CF shall + * d) send an address-claimed message in response to a + * request for a matching NAME + * + * Taking the above arguments into account, the 250 ms wait is + * requested only during network initialization. + * + * Do not restart the timer on AC message if both the NAME and + * the address match and so if the address has already been + * claimed (timer has expired) or the AC message has been sent + * to resolve the contention with another CF (timer is still + * running). + */ + goto out_ecu_put; + } + if (!ecu && j1939_address_is_unicast(skcb->addr.sa)) ecu = j1939_ecu_create_locked(priv, name); --- linux-gcp-5.19.0.orig/net/can/j1939/main.c +++ linux-gcp-5.19.0/net/can/j1939/main.c @@ -332,6 +332,9 @@ /* re-claim the CAN_HDR from the SKB */ cf = skb_push(skb, J1939_CAN_HDR); + /* initialize header structure */ + memset(cf, 0, J1939_CAN_HDR); + /* make it a full can frame again */ skb_put(skb, J1939_CAN_FTR + (8 - dlc)); --- linux-gcp-5.19.0.orig/net/can/j1939/socket.c +++ linux-gcp-5.19.0/net/can/j1939/socket.c @@ -178,7 +178,10 @@ if (!first) return; - if (WARN_ON_ONCE(j1939_session_activate(first))) { + if (j1939_session_activate(first)) { + netdev_warn_once(first->priv->ndev, + "%s: 0x%p: Identical session is already activated.\n", + __func__, first); first->err = -EBUSY; goto activate_next; } else { --- linux-gcp-5.19.0.orig/net/can/j1939/transport.c +++ linux-gcp-5.19.0/net/can/j1939/transport.c @@ -260,6 +260,8 @@ static void j1939_session_destroy(struct j1939_session *session) { + struct sk_buff *skb; + if (session->transmission) { if (session->err) j1939_sk_errqueue(session, J1939_ERRQUEUE_TX_ABORT); @@ -274,7 +276,11 @@ WARN_ON_ONCE(!list_empty(&session->sk_session_queue_entry)); WARN_ON_ONCE(!list_empty(&session->active_session_list_entry)); - skb_queue_purge(&session->skb_queue); + while ((skb = skb_dequeue(&session->skb_queue)) != NULL) { + /* drop ref taken in j1939_session_skb_queue() */ + skb_unref(skb); + kfree_skb(skb); + } __j1939_session_drop(session); j1939_priv_put(session->priv); kfree(session); @@ -336,10 +342,12 @@ __skb_unlink(do_skb, &session->skb_queue); /* drop ref taken in j1939_session_skb_queue() */ skb_unref(do_skb); + spin_unlock_irqrestore(&session->skb_queue.lock, flags); kfree_skb(do_skb); + } else { + spin_unlock_irqrestore(&session->skb_queue.lock, flags); } - spin_unlock_irqrestore(&session->skb_queue.lock, flags); } void j1939_session_skb_queue(struct j1939_session *session, @@ -1084,10 +1092,6 @@ bool active; j1939_session_list_lock(priv); - /* This function should be called with a session ref-count of at - * least 2. - */ - WARN_ON_ONCE(kref_read(&session->kref) < 2); active = j1939_session_deactivate_locked(session); j1939_session_list_unlock(priv); --- linux-gcp-5.19.0.orig/net/core/bpf_sk_storage.c +++ linux-gcp-5.19.0/net/core/bpf_sk_storage.c @@ -310,11 +310,12 @@ static int bpf_sk_storage_charge(struct bpf_local_storage_map *smap, void *owner, u32 size) { + int optmem_max = READ_ONCE(sysctl_optmem_max); struct sock *sk = (struct sock *)owner; /* same check as in sock_kmalloc() */ - if (size <= sysctl_optmem_max && - atomic_read(&sk->sk_omem_alloc) + size < sysctl_optmem_max) { + if (size <= optmem_max && + atomic_read(&sk->sk_omem_alloc) + size < optmem_max) { atomic_add(size, &sk->sk_omem_alloc); return 0; } @@ -875,10 +876,18 @@ { struct bpf_iter_seq_sk_storage_map_info *seq_info = priv_data; + bpf_map_inc_with_uref(aux->map); seq_info->map = aux->map; return 0; } +static void bpf_iter_fini_sk_storage_map(void *priv_data) +{ + struct bpf_iter_seq_sk_storage_map_info *seq_info = priv_data; + + bpf_map_put_with_uref(seq_info->map); +} + static int bpf_iter_attach_map(struct bpf_prog *prog, union bpf_iter_link_info *linfo, struct bpf_iter_aux_info *aux) @@ -896,7 +905,7 @@ if (map->map_type != BPF_MAP_TYPE_SK_STORAGE) goto put_map; - if (prog->aux->max_rdonly_access > map->value_size) { + if (prog->aux->max_rdwr_access > map->value_size) { err = -EACCES; goto put_map; } @@ -924,7 +933,7 @@ static const struct bpf_iter_seq_info iter_seq_info = { .seq_ops = &bpf_sk_storage_map_seq_ops, .init_seq_private = bpf_iter_init_sk_storage_map, - .fini_seq_private = NULL, + .fini_seq_private = bpf_iter_fini_sk_storage_map, .seq_priv_size = sizeof(struct bpf_iter_seq_sk_storage_map_info), }; --- linux-gcp-5.19.0.orig/net/core/datagram.c +++ linux-gcp-5.19.0/net/core/datagram.c @@ -675,7 +675,7 @@ page_ref_sub(last_head, refs); refs = 0; } - skb_fill_page_desc(skb, frag++, head, start, size); + skb_fill_page_desc_noacc(skb, frag++, head, start, size); } if (refs) page_ref_sub(last_head, refs); --- linux-gcp-5.19.0.orig/net/core/dev.c +++ linux-gcp-5.19.0/net/core/dev.c @@ -4168,6 +4168,7 @@ bool again = false; skb_reset_mac_header(skb); + skb_assert_len(skb); if (unlikely(skb_shinfo(skb)->tx_flags & SKBTX_SCHED_TSTAMP)) __skb_tstamp_tx(skb, NULL, NULL, skb->sk, SCM_TSTAMP_SCHED); @@ -4623,7 +4624,7 @@ struct softnet_data *sd; unsigned int old_flow, new_flow; - if (qlen < (netdev_max_backlog >> 1)) + if (qlen < (READ_ONCE(netdev_max_backlog) >> 1)) return false; sd = this_cpu_ptr(&softnet_data); @@ -4671,7 +4672,7 @@ if (!netif_running(skb->dev)) goto drop; qlen = skb_queue_len(&sd->input_pkt_queue); - if (qlen <= netdev_max_backlog && !skb_flow_limit(skb, qlen)) { + if (qlen <= READ_ONCE(netdev_max_backlog) && !skb_flow_limit(skb, qlen)) { if (qlen) { enqueue: __skb_queue_tail(&sd->input_pkt_queue, skb); @@ -4927,7 +4928,7 @@ { int ret; - net_timestamp_check(netdev_tstamp_prequeue, skb); + net_timestamp_check(READ_ONCE(netdev_tstamp_prequeue), skb); trace_netif_rx(skb); @@ -5135,11 +5136,13 @@ case TC_ACT_SHOT: mini_qdisc_qstats_cpu_drop(miniq); kfree_skb_reason(skb, SKB_DROP_REASON_TC_INGRESS); + *ret = NET_RX_DROP; return NULL; case TC_ACT_STOLEN: case TC_ACT_QUEUED: case TC_ACT_TRAP: consume_skb(skb); + *ret = NET_RX_SUCCESS; return NULL; case TC_ACT_REDIRECT: /* skb_mac_header check was done by cls/act_bpf, so @@ -5152,8 +5155,10 @@ *another = true; break; } + *ret = NET_RX_SUCCESS; return NULL; case TC_ACT_CONSUMED: + *ret = NET_RX_SUCCESS; return NULL; default: break; @@ -5280,7 +5285,7 @@ int ret = NET_RX_DROP; __be16 type; - net_timestamp_check(!netdev_tstamp_prequeue, skb); + net_timestamp_check(!READ_ONCE(netdev_tstamp_prequeue), skb); trace_netif_receive_skb(skb); @@ -5663,7 +5668,7 @@ { int ret; - net_timestamp_check(netdev_tstamp_prequeue, skb); + net_timestamp_check(READ_ONCE(netdev_tstamp_prequeue), skb); if (skb_defer_rx_timestamp(skb)) return NET_RX_SUCCESS; @@ -5693,7 +5698,7 @@ INIT_LIST_HEAD(&sublist); list_for_each_entry_safe(skb, next, head, list) { - net_timestamp_check(netdev_tstamp_prequeue, skb); + net_timestamp_check(READ_ONCE(netdev_tstamp_prequeue), skb); skb_list_del_init(skb); if (!skb_defer_rx_timestamp(skb)) list_add_tail(&skb->list, &sublist); @@ -5917,7 +5922,7 @@ net_rps_action_and_irq_enable(sd); } - napi->weight = dev_rx_weight; + napi->weight = READ_ONCE(dev_rx_weight); while (again) { struct sk_buff *skb; @@ -6646,8 +6651,8 @@ { struct softnet_data *sd = this_cpu_ptr(&softnet_data); unsigned long time_limit = jiffies + - usecs_to_jiffies(netdev_budget_usecs); - int budget = netdev_budget; + usecs_to_jiffies(READ_ONCE(netdev_budget_usecs)); + int budget = READ_ONCE(netdev_budget); LIST_HEAD(list); LIST_HEAD(repoll); @@ -10265,7 +10270,7 @@ return dev; if (time_after(jiffies, warning_time + - netdev_unregister_timeout_secs * HZ)) { + READ_ONCE(netdev_unregister_timeout_secs) * HZ)) { list_for_each_entry(dev, list, todo_list) { pr_emerg("unregister_netdevice: waiting for %s to become free. Usage count = %d\n", dev->name, netdev_refcnt_read(dev)); @@ -10375,24 +10380,16 @@ void netdev_stats_to_stats64(struct rtnl_link_stats64 *stats64, const struct net_device_stats *netdev_stats) { -#if BITS_PER_LONG == 64 - BUILD_BUG_ON(sizeof(*stats64) < sizeof(*netdev_stats)); - memcpy(stats64, netdev_stats, sizeof(*netdev_stats)); - /* zero out counters that only exist in rtnl_link_stats64 */ - memset((char *)stats64 + sizeof(*netdev_stats), 0, - sizeof(*stats64) - sizeof(*netdev_stats)); -#else - size_t i, n = sizeof(*netdev_stats) / sizeof(unsigned long); - const unsigned long *src = (const unsigned long *)netdev_stats; + size_t i, n = sizeof(*netdev_stats) / sizeof(atomic_long_t); + const atomic_long_t *src = (atomic_long_t *)netdev_stats; u64 *dst = (u64 *)stats64; BUILD_BUG_ON(n > sizeof(*stats64) / sizeof(u64)); for (i = 0; i < n; i++) - dst[i] = src[i]; + dst[i] = (unsigned long)atomic_long_read(&src[i]); /* zero out counters that only exist in rtnl_link_stats64 */ memset((char *)stats64 + n * sizeof(u64), 0, sizeof(*stats64) - n * sizeof(u64)); -#endif } EXPORT_SYMBOL(netdev_stats_to_stats64); --- linux-gcp-5.19.0.orig/net/core/devlink.c +++ linux-gcp-5.19.0/net/core/devlink.c @@ -4943,7 +4943,7 @@ const struct devlink_param *param, struct devlink_param_gset_ctx *ctx) { - if (!param->get) + if (!param->get || devlink->reload_failed) return -EOPNOTSUPP; return param->get(devlink, param->id, ctx); } @@ -4952,7 +4952,7 @@ const struct devlink_param *param, struct devlink_param_gset_ctx *ctx) { - if (!param->set) + if (!param->set || devlink->reload_failed) return -EOPNOTSUPP; return param->set(devlink, param->id, ctx); } --- linux-gcp-5.19.0.orig/net/core/filter.c +++ linux-gcp-5.19.0/net/core/filter.c @@ -1214,10 +1214,11 @@ static bool __sk_filter_charge(struct sock *sk, struct sk_filter *fp) { u32 filter_size = bpf_prog_size(fp->prog->len); + int optmem_max = READ_ONCE(sysctl_optmem_max); /* same check as in sock_kmalloc() */ - if (filter_size <= sysctl_optmem_max && - atomic_read(&sk->sk_omem_alloc) + filter_size < sysctl_optmem_max) { + if (filter_size <= optmem_max && + atomic_read(&sk->sk_omem_alloc) + filter_size < optmem_max) { atomic_add(filter_size, &sk->sk_omem_alloc); return true; } @@ -1548,7 +1549,7 @@ if (IS_ERR(prog)) return PTR_ERR(prog); - if (bpf_prog_size(prog->len) > sysctl_optmem_max) + if (bpf_prog_size(prog->len) > READ_ONCE(sysctl_optmem_max)) err = -ENOMEM; else err = reuseport_attach_prog(sk, prog); @@ -1615,7 +1616,7 @@ } } else { /* BPF_PROG_TYPE_SOCKET_FILTER */ - if (bpf_prog_size(prog->len) > sysctl_optmem_max) { + if (bpf_prog_size(prog->len) > READ_ONCE(sysctl_optmem_max)) { err = -ENOMEM; goto err_prog_put; } @@ -2122,8 +2123,17 @@ { unsigned int mlen = skb_network_offset(skb); + if (unlikely(skb->len <= mlen)) { + kfree_skb(skb); + return -ERANGE; + } + if (mlen) { __skb_pull(skb, mlen); + if (unlikely(!skb->len)) { + kfree_skb(skb); + return -ERANGE; + } /* At ingress, the mac header has already been pulled once. * At egress, skb_pospull_rcsum has to be done in case that @@ -2143,7 +2153,7 @@ u32 flags) { /* Verify that a link layer header is carried */ - if (unlikely(skb->mac_header >= skb->network_header)) { + if (unlikely(skb->mac_header >= skb->network_header || skb->len == 0)) { kfree_skb(skb); return -ERANGE; } @@ -3172,15 +3182,18 @@ static int bpf_skb_generic_pop(struct sk_buff *skb, u32 off, u32 len) { + void *old_data; + /* skb_ensure_writable() is not needed here, as we're * already working on an uncloned skb. */ if (unlikely(!pskb_may_pull(skb, off + len))) return -ENOMEM; - skb_postpull_rcsum(skb, skb->data + off, len); - memmove(skb->data + len, skb->data, off); + old_data = skb->data; __skb_pull(skb, len); + skb_postpull_rcsum(skb, old_data + off, len); + memmove(skb->data, old_data, off); return 0; } @@ -3918,7 +3931,7 @@ offset -= frag_size; } out: - return offset + len < size ? addr + offset : NULL; + return offset + len <= size ? addr + offset : NULL; } BPF_CALL_4(bpf_xdp_load_bytes, struct xdp_buff *, xdp, u32, offset, @@ -4653,6 +4666,7 @@ } else { info->key.u.ipv4.dst = cpu_to_be32(from->remote_ipv4); info->key.u.ipv4.src = cpu_to_be32(from->local_ipv4); + info->key.flow_flags = FLOWI_FLAG_ANYSRC; } return 0; @@ -5035,14 +5049,14 @@ /* Only some socketops are supported */ switch (optname) { case SO_RCVBUF: - val = min_t(u32, val, sysctl_rmem_max); + val = min_t(u32, val, READ_ONCE(sysctl_rmem_max)); val = min_t(int, val, INT_MAX / 2); sk->sk_userlocks |= SOCK_RCVBUF_LOCK; WRITE_ONCE(sk->sk_rcvbuf, max_t(int, val * 2, SOCK_MIN_RCVBUF)); break; case SO_SNDBUF: - val = min_t(u32, val, sysctl_wmem_max); + val = min_t(u32, val, READ_ONCE(sysctl_wmem_max)); val = min_t(int, val, INT_MAX / 2); sk->sk_userlocks |= SOCK_SNDBUF_LOCK; WRITE_ONCE(sk->sk_sndbuf, @@ -5800,7 +5814,7 @@ neigh = __ipv6_neigh_lookup_noref_stub(dev, dst); } - if (!neigh) + if (!neigh || !(neigh->nud_state & NUD_VALID)) return BPF_FIB_LKUP_RET_NO_NEIGH; return bpf_fib_set_fwd_params(params, neigh, dev, mtu); @@ -5915,7 +5929,7 @@ * not needed here. */ neigh = __ipv6_neigh_lookup_noref_stub(dev, dst); - if (!neigh) + if (!neigh || !(neigh->nud_state & NUD_VALID)) return BPF_FIB_LKUP_RET_NO_NEIGH; return bpf_fib_set_fwd_params(params, neigh, dev, mtu); --- linux-gcp-5.19.0.orig/net/core/flow_dissector.c +++ linux-gcp-5.19.0/net/core/flow_dissector.c @@ -272,7 +272,7 @@ key->ct_zone = ct->zone.id; #endif #if IS_ENABLED(CONFIG_NF_CONNTRACK_MARK) - key->ct_mark = ct->mark; + key->ct_mark = READ_ONCE(ct->mark); #endif cl = nf_ct_labels_find(ct); @@ -1168,8 +1168,8 @@ nhoff += sizeof(*vlan); } - if (dissector_uses_key(flow_dissector, - FLOW_DISSECTOR_KEY_NUM_OF_VLANS)) { + if (dissector_uses_key(flow_dissector, FLOW_DISSECTOR_KEY_NUM_OF_VLANS) && + !(key_control->flags & FLOW_DIS_ENCAPSULATION)) { struct flow_dissector_key_num_of_vlans *key_nvs; key_nvs = skb_flow_dissector_target(flow_dissector, @@ -1572,9 +1572,8 @@ switch (keys->control.addr_type) { case FLOW_DISSECTOR_KEY_IPV4_ADDRS: - addr_diff = (__force u32)keys->addrs.v4addrs.dst - - (__force u32)keys->addrs.v4addrs.src; - if (addr_diff < 0) + if ((__force u32)keys->addrs.v4addrs.dst < + (__force u32)keys->addrs.v4addrs.src) swap(keys->addrs.v4addrs.src, keys->addrs.v4addrs.dst); if ((__force u16)keys->ports.dst < --- linux-gcp-5.19.0.orig/net/core/gen_stats.c +++ linux-gcp-5.19.0/net/core/gen_stats.c @@ -345,7 +345,7 @@ for_each_possible_cpu(i) { const struct gnet_stats_queue *qcpu = per_cpu_ptr(q, i); - qstats->qlen += qcpu->backlog; + qstats->qlen += qcpu->qlen; qstats->backlog += qcpu->backlog; qstats->drops += qcpu->drops; qstats->requeues += qcpu->requeues; --- linux-gcp-5.19.0.orig/net/core/gro.c +++ linux-gcp-5.19.0/net/core/gro.c @@ -161,6 +161,15 @@ unsigned int new_truesize; struct sk_buff *lp; + /* Do not splice page pool based packets w/ non-page pool + * packets. This can result in reference count issues as page + * pool pages will not decrement the reference count and will + * instead be immediately returned to the pool or have frag + * count decremented. + */ + if (p->pp_recycle != skb->pp_recycle) + return -ETOOMANYREFS; + /* pairs with WRITE_ONCE() in netif_set_gro_max_size() */ gro_max_size = READ_ONCE(p->dev->gro_max_size); --- linux-gcp-5.19.0.orig/net/core/gro_cells.c +++ linux-gcp-5.19.0/net/core/gro_cells.c @@ -26,7 +26,7 @@ cell = this_cpu_ptr(gcells->cells); - if (skb_queue_len(&cell->napi_skbs) > netdev_max_backlog) { + if (skb_queue_len(&cell->napi_skbs) > READ_ONCE(netdev_max_backlog)) { drop: dev_core_stats_rx_dropped_inc(dev); kfree_skb(skb); --- linux-gcp-5.19.0.orig/net/core/neighbour.c +++ linux-gcp-5.19.0/net/core/neighbour.c @@ -269,7 +269,7 @@ (n->nud_state == NUD_NOARP) || (tbl->is_multicast && tbl->is_multicast(n->primary_key)) || - time_after(tref, n->updated)) + !time_in_range(n->updated, tref, jiffies)) remove = true; write_unlock(&n->lock); @@ -289,7 +289,17 @@ static void neigh_add_timer(struct neighbour *n, unsigned long when) { + /* Use safe distance from the jiffies - LONG_MAX point while timer + * is running in DELAY/PROBE state but still show to user space + * large times in the past. + */ + unsigned long mint = jiffies - (LONG_MAX - 86400 * HZ); + neigh_hold(n); + if (!time_in_range(n->confirmed, mint, jiffies)) + n->confirmed = mint; + if (time_before(n->used, n->confirmed)) + n->used = n->confirmed; if (unlikely(mod_timer(&n->timer, when))) { printk("NEIGH: BUG, double timer add, state is %x\n", n->nud_state); @@ -307,11 +317,26 @@ return 0; } -static void pneigh_queue_purge(struct sk_buff_head *list) +static void pneigh_queue_purge(struct sk_buff_head *list, struct net *net) { + struct sk_buff_head tmp; + unsigned long flags; struct sk_buff *skb; - while ((skb = skb_dequeue(list)) != NULL) { + skb_queue_head_init(&tmp); + spin_lock_irqsave(&list->lock, flags); + skb = skb_peek(list); + while (skb != NULL) { + struct sk_buff *skb_next = skb_peek_next(skb, list); + if (net == NULL || net_eq(dev_net(skb->dev), net)) { + __skb_unlink(skb, list); + __skb_queue_tail(&tmp, skb); + } + skb = skb_next; + } + spin_unlock_irqrestore(&list->lock, flags); + + while ((skb = __skb_dequeue(&tmp))) { dev_put(skb->dev); kfree_skb(skb); } @@ -385,9 +410,9 @@ write_lock_bh(&tbl->lock); neigh_flush_dev(tbl, dev, skip_perm); pneigh_ifdown_and_unlock(tbl, dev); - - del_timer_sync(&tbl->proxy_timer); - pneigh_queue_purge(&tbl->proxy_queue); + pneigh_queue_purge(&tbl->proxy_queue, dev ? dev_net(dev) : NULL); + if (skb_queue_empty_lockless(&tbl->proxy_queue)) + del_timer_sync(&tbl->proxy_timer); return 0; } @@ -958,12 +983,14 @@ goto next_elt; } - if (time_before(n->used, n->confirmed)) + if (time_before(n->used, n->confirmed) && + time_is_before_eq_jiffies(n->confirmed)) n->used = n->confirmed; if (refcount_read(&n->refcnt) == 1 && (state == NUD_FAILED || - time_after(jiffies, n->used + NEIGH_VAR(n->parms, GC_STALETIME)))) { + !time_in_range_open(jiffies, n->used, + n->used + NEIGH_VAR(n->parms, GC_STALETIME)))) { *np = n->next; neigh_mark_dead(n); write_unlock(&n->lock); @@ -1787,7 +1814,7 @@ cancel_delayed_work_sync(&tbl->managed_work); cancel_delayed_work_sync(&tbl->gc_work); del_timer_sync(&tbl->proxy_timer); - pneigh_queue_purge(&tbl->proxy_queue); + pneigh_queue_purge(&tbl->proxy_queue, NULL); neigh_ifdown(tbl, NULL); if (atomic_read(&tbl->entries)) pr_crit("neighbour leakage\n"); --- linux-gcp-5.19.0.orig/net/core/net_namespace.c +++ linux-gcp-5.19.0/net/core/net_namespace.c @@ -117,6 +117,7 @@ static int ops_init(const struct pernet_operations *ops, struct net *net) { + struct net_generic *ng; int err = -ENOMEM; void *data = NULL; @@ -135,6 +136,12 @@ if (!err) return 0; + if (ops->id && ops->size) { + ng = rcu_dereference_protected(net->gen, + lockdep_is_held(&pernet_ops_rwsem)); + ng->ptr[*ops->id] = NULL; + } + cleanup: kfree(data); --- linux-gcp-5.19.0.orig/net/core/rtnetlink.c +++ linux-gcp-5.19.0/net/core/rtnetlink.c @@ -6070,6 +6070,7 @@ if (kind == RTNL_KIND_DEL && (nlh->nlmsg_flags & NLM_F_BULK) && !(flags & RTNL_FLAG_BULK_DEL_SUPPORTED)) { NL_SET_ERR_MSG(extack, "Bulk delete is not supported"); + module_put(owner); goto err_unlock; } --- linux-gcp-5.19.0.orig/net/core/scm.c +++ linux-gcp-5.19.0/net/core/scm.c @@ -229,6 +229,8 @@ if (msg->msg_control_is_user) { struct cmsghdr __user *cm = msg->msg_control_user; + check_object_size(data, cmlen - sizeof(*cm), true); + if (!user_write_access_begin(cm, cmlen)) goto efault; --- linux-gcp-5.19.0.orig/net/core/skbuff.c +++ linux-gcp-5.19.0/net/core/skbuff.c @@ -2279,6 +2279,9 @@ insp = list; } else { /* Eaten partially. */ + if (skb_is_gso(skb) && !list->head_frag && + skb_headlen(list)) + skb_shinfo(skb)->gso_type |= SKB_GSO_DODGY; if (skb_shared(list)) { /* Sucks! We need to fork list. :-( */ @@ -3838,7 +3841,7 @@ skb_frag_size_add(&skb_shinfo(skb)->frags[i - 1], size); } else if (i < MAX_SKB_FRAGS) { get_page(page); - skb_fill_page_desc(skb, i, page, offset, size); + skb_fill_page_desc_noacc(skb, i, page, offset, size); } else { return -EMSGSIZE; } @@ -3898,7 +3901,7 @@ skb_shinfo(skb)->frag_list = NULL; - do { + while (list_skb) { nskb = list_skb; list_skb = list_skb->next; @@ -3944,8 +3947,7 @@ if (skb_needs_linearize(nskb, features) && __skb_linearize(nskb)) goto err_linearize; - - } while (list_skb); + } skb->truesize = skb->truesize - delta_truesize; skb->data_len = skb->data_len - delta_len; @@ -4001,23 +4003,25 @@ int i = 0; int pos; - if (list_skb && !list_skb->head_frag && skb_headlen(list_skb) && - (skb_shinfo(head_skb)->gso_type & SKB_GSO_DODGY)) { - /* gso_size is untrusted, and we have a frag_list with a linear - * non head_frag head. - * - * (we assume checking the first list_skb member suffices; - * i.e if either of the list_skb members have non head_frag - * head, then the first one has too). - * - * If head_skb's headlen does not fit requested gso_size, it - * means that the frag_list members do NOT terminate on exact - * gso_size boundaries. Hence we cannot perform skb_frag_t page - * sharing. Therefore we must fallback to copying the frag_list - * skbs; we do so by disabling SG. - */ - if (mss != GSO_BY_FRAGS && mss != skb_headlen(head_skb)) - features &= ~NETIF_F_SG; + if ((skb_shinfo(head_skb)->gso_type & SKB_GSO_DODGY) && + mss != GSO_BY_FRAGS && mss != skb_headlen(head_skb)) { + struct sk_buff *check_skb; + + for (check_skb = list_skb; check_skb; check_skb = check_skb->next) { + if (skb_headlen(check_skb) && !check_skb->head_frag) { + /* gso_size is untrusted, and we have a frag_list with + * a linear non head_frag item. + * + * If head_skb's headlen does not fit requested gso_size, + * it means that the frag_list members do NOT terminate + * on exact gso_size boundaries. Hence we cannot perform + * skb_frag_t page sharing. Therefore we must fallback to + * copying the frag_list skbs; we do so by disabling SG. + */ + features &= ~NETIF_F_SG; + break; + } + } } __skb_push(head_skb, doffset); @@ -4179,9 +4183,8 @@ SKB_GSO_CB(nskb)->csum_start = skb_headroom(nskb) + doffset; } else { - skb_copy_bits(head_skb, offset, - skb_put(nskb, len), - len); + if (skb_copy_bits(head_skb, offset, skb_put(nskb, len), len)) + goto err; } continue; } @@ -4772,7 +4775,7 @@ { bool ret; - if (likely(sysctl_tstamp_allow_data || tsonly)) + if (likely(READ_ONCE(sysctl_tstamp_allow_data) || tsonly)) return true; read_lock_bh(&sk->sk_callback_lock); --- linux-gcp-5.19.0.orig/net/core/skmsg.c +++ linux-gcp-5.19.0/net/core/skmsg.c @@ -435,8 +435,10 @@ if (copied + copy > len) copy = len - copied; copy = copy_page_to_iter(page, sge->offset, copy, iter); - if (!copy) - return copied ? copied : -EFAULT; + if (!copy) { + copied = copied ? copied : -EFAULT; + goto out; + } copied += copy; if (likely(!peek)) { @@ -456,13 +458,13 @@ * didn't copy the entire length lets just break. */ if (copy != sge->length) - return copied; + goto out; sk_msg_iter_var_next(i); } if (copied == len) break; - } while (i != msg_rx->sg.end); + } while ((i != msg_rx->sg.end) && !sg_is_last(sge)); if (unlikely(peek)) { msg_rx = sk_psock_next_msg(psock, msg_rx); @@ -472,13 +474,15 @@ } msg_rx->sg.start = i; - if (!sge->length && msg_rx->sg.start == msg_rx->sg.end) { + if (!sge->length && (i == msg_rx->sg.end || sg_is_last(sge))) { msg_rx = sk_psock_dequeue_msg(psock); kfree_sk_msg(msg_rx); } msg_rx = sk_psock_peek_msg(psock); } - +out: + if (psock->work_state.skb && copied > 0) + schedule_work(&psock->work); return copied; } EXPORT_SYMBOL_GPL(sk_msg_recvmsg); @@ -720,6 +724,7 @@ psock->eval = __SK_NONE; psock->sk_proto = prot; psock->saved_unhash = prot->unhash; + psock->saved_destroy = prot->destroy; psock->saved_close = prot->close; psock->saved_write_space = sk->sk_write_space; @@ -735,7 +740,9 @@ sk_psock_set_state(psock, SK_PSOCK_TX_ENABLED); refcount_set(&psock->refcnt, 1); - rcu_assign_sk_user_data_nocopy(sk, psock); + __rcu_assign_sk_user_data_with_flags(sk, psock, + SK_USER_DATA_NOCOPY | + SK_USER_DATA_PSOCK); sock_hold(sk); out: @@ -794,16 +801,13 @@ } } -void sk_psock_stop(struct sk_psock *psock, bool wait) +void sk_psock_stop(struct sk_psock *psock) { spin_lock_bh(&psock->ingress_lock); sk_psock_clear_state(psock, SK_PSOCK_TX_ENABLED); sk_psock_cork_free(psock); __sk_psock_zap_ingress(psock); spin_unlock_bh(&psock->ingress_lock); - - if (wait) - cancel_work_sync(&psock->work); } static void sk_psock_done_strp(struct sk_psock *psock); @@ -841,7 +845,7 @@ sk_psock_stop_verdict(sk, psock); write_unlock_bh(&sk->sk_callback_lock); - sk_psock_stop(psock, false); + sk_psock_stop(psock); INIT_RCU_WORK(&psock->rwork, sk_psock_destroy); queue_rcu_work(system_wq, &psock->rwork); @@ -880,13 +884,16 @@ ret = sk_psock_map_verd(ret, msg->sk_redir); psock->apply_bytes = msg->apply_bytes; if (ret == __SK_REDIRECT) { - if (psock->sk_redir) + if (psock->sk_redir) { sock_put(psock->sk_redir); - psock->sk_redir = msg->sk_redir; - if (!psock->sk_redir) { + psock->sk_redir = NULL; + } + if (!msg->sk_redir) { ret = __SK_DROP; goto out; } + psock->redir_ingress = sk_msg_to_ingress(msg); + psock->sk_redir = msg->sk_redir; sock_hold(psock->sk_redir); } out: --- linux-gcp-5.19.0.orig/net/core/sock.c +++ linux-gcp-5.19.0/net/core/sock.c @@ -1100,7 +1100,7 @@ * play 'guess the biggest size' games. RCVBUF/SNDBUF * are treated in BSD as hints */ - val = min_t(u32, val, sysctl_wmem_max); + val = min_t(u32, val, READ_ONCE(sysctl_wmem_max)); set_sndbuf: /* Ensure val * 2 fits into an int, to prevent max_t() * from treating it as a negative value. @@ -1132,7 +1132,7 @@ * play 'guess the biggest size' games. RCVBUF/SNDBUF * are treated in BSD as hints */ - __sock_set_rcvbuf(sk, min_t(u32, val, sysctl_rmem_max)); + __sock_set_rcvbuf(sk, min_t(u32, val, READ_ONCE(sysctl_rmem_max))); break; case SO_RCVBUFFORCE: @@ -1399,7 +1399,7 @@ break; } case SO_INCOMING_CPU: - WRITE_ONCE(sk->sk_incoming_cpu, val); + reuseport_update_incoming_cpu(sk, val); break; case SO_CNX_ADVICE: @@ -1487,6 +1487,8 @@ ret = -EINVAL; break; } + if ((u8)val == SOCK_TXREHASH_DEFAULT) + val = READ_ONCE(sock_net(sk)->core.sysctl_txrehash); /* Paired with READ_ONCE() in tcp_rtx_synack() */ WRITE_ONCE(sk->sk_txrehash, (u8)val); break; @@ -2535,7 +2537,7 @@ /* small safe race: SKB_TRUESIZE may differ from final skb->truesize */ if (atomic_read(&sk->sk_omem_alloc) + SKB_TRUESIZE(size) > - sysctl_optmem_max) + READ_ONCE(sysctl_optmem_max)) return NULL; skb = alloc_skb(size, priority); @@ -2553,8 +2555,10 @@ */ void *sock_kmalloc(struct sock *sk, int size, gfp_t priority) { - if ((unsigned int)size <= sysctl_optmem_max && - atomic_read(&sk->sk_omem_alloc) + size < sysctl_optmem_max) { + int optmem_max = READ_ONCE(sysctl_optmem_max); + + if ((unsigned int)size <= optmem_max && + atomic_read(&sk->sk_omem_alloc) + size < optmem_max) { void *mem; /* First do the add, to avoid the race if kmalloc * might sleep. @@ -3299,7 +3303,7 @@ } EXPORT_SYMBOL(sk_stop_timer_sync); -void sock_init_data(struct socket *sock, struct sock *sk) +void sock_init_data_uid(struct socket *sock, struct sock *sk, kuid_t uid) { sk_init_common(sk); sk->sk_send_head = NULL; @@ -3307,8 +3311,8 @@ timer_setup(&sk->sk_timer, NULL, 0); sk->sk_allocation = GFP_KERNEL; - sk->sk_rcvbuf = sysctl_rmem_default; - sk->sk_sndbuf = sysctl_wmem_default; + sk->sk_rcvbuf = READ_ONCE(sysctl_rmem_default); + sk->sk_sndbuf = READ_ONCE(sysctl_wmem_default); sk->sk_state = TCP_CLOSE; sk_set_socket(sk, sock); @@ -3318,11 +3322,10 @@ sk->sk_type = sock->type; RCU_INIT_POINTER(sk->sk_wq, &sock->wq); sock->sk = sk; - sk->sk_uid = SOCK_INODE(sock)->i_uid; } else { RCU_INIT_POINTER(sk->sk_wq, NULL); - sk->sk_uid = make_kuid(sock_net(sk)->user_ns, 0); } + sk->sk_uid = uid; rwlock_init(&sk->sk_callback_lock); if (sk->sk_kern_sock) @@ -3363,14 +3366,13 @@ #ifdef CONFIG_NET_RX_BUSY_POLL sk->sk_napi_id = 0; - sk->sk_ll_usec = sysctl_net_busy_read; + sk->sk_ll_usec = READ_ONCE(sysctl_net_busy_read); #endif sk->sk_max_pacing_rate = ~0UL; sk->sk_pacing_rate = ~0UL; WRITE_ONCE(sk->sk_pacing_shift, 10); sk->sk_incoming_cpu = -1; - sk->sk_txrehash = SOCK_TXREHASH_DEFAULT; sk_rx_queue_clear(sk); /* @@ -3381,6 +3383,16 @@ refcount_set(&sk->sk_refcnt, 1); atomic_set(&sk->sk_drops, 0); } +EXPORT_SYMBOL(sock_init_data_uid); + +void sock_init_data(struct socket *sock, struct sock *sk) +{ + kuid_t uid = sock ? + SOCK_INODE(sock)->i_uid : + make_kuid(sock_net(sk)->user_ns, 0); + + sock_init_data_uid(sock, sk, uid); +} EXPORT_SYMBOL(sock_init_data); void lock_sock_nested(struct sock *sk, int subclass) @@ -3552,7 +3564,8 @@ { struct sock *sk = sock->sk; - return sk->sk_prot->getsockopt(sk, level, optname, optval, optlen); + /* IPV6_ADDRFORM can change sk->sk_prot under us. */ + return READ_ONCE(sk->sk_prot)->getsockopt(sk, level, optname, optval, optlen); } EXPORT_SYMBOL(sock_common_getsockopt); @@ -3578,7 +3591,8 @@ { struct sock *sk = sock->sk; - return sk->sk_prot->setsockopt(sk, level, optname, optval, optlen); + /* IPV6_ADDRFORM can change sk->sk_prot under us. */ + return READ_ONCE(sk->sk_prot)->setsockopt(sk, level, optname, optval, optlen); } EXPORT_SYMBOL(sock_common_setsockopt); --- linux-gcp-5.19.0.orig/net/core/sock_map.c +++ linux-gcp-5.19.0/net/core/sock_map.c @@ -349,11 +349,13 @@ sk = xchg(psk, NULL); if (sk) { + sock_hold(sk); lock_sock(sk); rcu_read_lock(); sock_map_unref(sk, psk); rcu_read_unlock(); release_sock(sk); + sock_put(sk); } } @@ -783,13 +785,22 @@ { struct sock_map_seq_info *info = priv_data; + bpf_map_inc_with_uref(aux->map); info->map = aux->map; return 0; } +static void sock_map_fini_seq_private(void *priv_data) +{ + struct sock_map_seq_info *info = priv_data; + + bpf_map_put_with_uref(info->map); +} + static const struct bpf_iter_seq_info sock_map_iter_seq_info = { .seq_ops = &sock_map_seq_ops, .init_seq_private = sock_map_init_seq_private, + .fini_seq_private = sock_map_fini_seq_private, .seq_priv_size = sizeof(struct sock_map_seq_info), }; @@ -1369,18 +1380,27 @@ }; static int sock_hash_init_seq_private(void *priv_data, - struct bpf_iter_aux_info *aux) + struct bpf_iter_aux_info *aux) { struct sock_hash_seq_info *info = priv_data; + bpf_map_inc_with_uref(aux->map); info->map = aux->map; info->htab = container_of(aux->map, struct bpf_shtab, map); return 0; } +static void sock_hash_fini_seq_private(void *priv_data) +{ + struct sock_hash_seq_info *info = priv_data; + + bpf_map_put_with_uref(info->map); +} + static const struct bpf_iter_seq_info sock_hash_iter_seq_info = { .seq_ops = &sock_hash_seq_ops, .init_seq_private = sock_hash_init_seq_private, + .fini_seq_private = sock_hash_fini_seq_private, .seq_priv_size = sizeof(struct sock_hash_seq_info), }; @@ -1549,18 +1569,43 @@ psock = sk_psock(sk); if (unlikely(!psock)) { rcu_read_unlock(); - if (sk->sk_prot->unhash) - sk->sk_prot->unhash(sk); - return; + saved_unhash = READ_ONCE(sk->sk_prot)->unhash; + } else { + saved_unhash = psock->saved_unhash; + sock_map_remove_links(sk, psock); + rcu_read_unlock(); } - - saved_unhash = psock->saved_unhash; - sock_map_remove_links(sk, psock); - rcu_read_unlock(); - saved_unhash(sk); + if (WARN_ON_ONCE(saved_unhash == sock_map_unhash)) + return; + if (saved_unhash) + saved_unhash(sk); } EXPORT_SYMBOL_GPL(sock_map_unhash); +void sock_map_destroy(struct sock *sk) +{ + void (*saved_destroy)(struct sock *sk); + struct sk_psock *psock; + + rcu_read_lock(); + psock = sk_psock_get(sk); + if (unlikely(!psock)) { + rcu_read_unlock(); + saved_destroy = READ_ONCE(sk->sk_prot)->destroy; + } else { + saved_destroy = psock->saved_destroy; + sock_map_remove_links(sk, psock); + rcu_read_unlock(); + sk_psock_stop(psock); + sk_psock_put(sk, psock); + } + if (WARN_ON_ONCE(saved_destroy == sock_map_destroy)) + return; + if (saved_destroy) + saved_destroy(sk); +} +EXPORT_SYMBOL_GPL(sock_map_destroy); + void sock_map_close(struct sock *sk, long timeout) { void (*saved_close)(struct sock *sk, long timeout); @@ -1572,15 +1617,21 @@ if (unlikely(!psock)) { rcu_read_unlock(); release_sock(sk); - return sk->sk_prot->close(sk, timeout); + saved_close = READ_ONCE(sk->sk_prot)->close; + } else { + saved_close = psock->saved_close; + sock_map_remove_links(sk, psock); + rcu_read_unlock(); + sk_psock_stop(psock); + release_sock(sk); + cancel_work_sync(&psock->work); + sk_psock_put(sk, psock); } - - saved_close = psock->saved_close; - sock_map_remove_links(sk, psock); - rcu_read_unlock(); - sk_psock_stop(psock, true); - sk_psock_put(sk, psock); - release_sock(sk); + /* Make sure we do not recurse. This is a bug. + * Leak the socket instead of crashing on a stack overflow. + */ + if (WARN_ON_ONCE(saved_close == sock_map_close)) + return; saved_close(sk, timeout); } EXPORT_SYMBOL_GPL(sock_map_close); --- linux-gcp-5.19.0.orig/net/core/sock_reuseport.c +++ linux-gcp-5.19.0/net/core/sock_reuseport.c @@ -21,6 +21,86 @@ static int reuseport_resurrect(struct sock *sk, struct sock_reuseport *old_reuse, struct sock_reuseport *reuse, bool bind_inany); +void reuseport_has_conns_set(struct sock *sk) +{ + struct sock_reuseport *reuse; + + if (!rcu_access_pointer(sk->sk_reuseport_cb)) + return; + + spin_lock_bh(&reuseport_lock); + reuse = rcu_dereference_protected(sk->sk_reuseport_cb, + lockdep_is_held(&reuseport_lock)); + if (likely(reuse)) + reuse->has_conns = 1; + spin_unlock_bh(&reuseport_lock); +} +EXPORT_SYMBOL(reuseport_has_conns_set); + +static void __reuseport_get_incoming_cpu(struct sock_reuseport *reuse) +{ + /* Paired with READ_ONCE() in reuseport_select_sock_by_hash(). */ + WRITE_ONCE(reuse->incoming_cpu, reuse->incoming_cpu + 1); +} + +static void __reuseport_put_incoming_cpu(struct sock_reuseport *reuse) +{ + /* Paired with READ_ONCE() in reuseport_select_sock_by_hash(). */ + WRITE_ONCE(reuse->incoming_cpu, reuse->incoming_cpu - 1); +} + +static void reuseport_get_incoming_cpu(struct sock *sk, struct sock_reuseport *reuse) +{ + if (sk->sk_incoming_cpu >= 0) + __reuseport_get_incoming_cpu(reuse); +} + +static void reuseport_put_incoming_cpu(struct sock *sk, struct sock_reuseport *reuse) +{ + if (sk->sk_incoming_cpu >= 0) + __reuseport_put_incoming_cpu(reuse); +} + +void reuseport_update_incoming_cpu(struct sock *sk, int val) +{ + struct sock_reuseport *reuse; + int old_sk_incoming_cpu; + + if (unlikely(!rcu_access_pointer(sk->sk_reuseport_cb))) { + /* Paired with REAE_ONCE() in sk_incoming_cpu_update() + * and compute_score(). + */ + WRITE_ONCE(sk->sk_incoming_cpu, val); + return; + } + + spin_lock_bh(&reuseport_lock); + + /* This must be done under reuseport_lock to avoid a race with + * reuseport_grow(), which accesses sk->sk_incoming_cpu without + * lock_sock() when detaching a shutdown()ed sk. + * + * Paired with READ_ONCE() in reuseport_select_sock_by_hash(). + */ + old_sk_incoming_cpu = sk->sk_incoming_cpu; + WRITE_ONCE(sk->sk_incoming_cpu, val); + + reuse = rcu_dereference_protected(sk->sk_reuseport_cb, + lockdep_is_held(&reuseport_lock)); + + /* reuseport_grow() has detached a closed sk. */ + if (!reuse) + goto out; + + if (old_sk_incoming_cpu < 0 && val >= 0) + __reuseport_get_incoming_cpu(reuse); + else if (old_sk_incoming_cpu >= 0 && val < 0) + __reuseport_put_incoming_cpu(reuse); + +out: + spin_unlock_bh(&reuseport_lock); +} + static int reuseport_sock_index(struct sock *sk, const struct sock_reuseport *reuse, bool closed) @@ -48,6 +128,7 @@ /* paired with smp_rmb() in reuseport_(select|migrate)_sock() */ smp_wmb(); reuse->num_socks++; + reuseport_get_incoming_cpu(sk, reuse); } static bool __reuseport_detach_sock(struct sock *sk, @@ -60,6 +141,7 @@ reuse->socks[i] = reuse->socks[reuse->num_socks - 1]; reuse->num_socks--; + reuseport_put_incoming_cpu(sk, reuse); return true; } @@ -70,6 +152,7 @@ reuse->socks[reuse->max_socks - reuse->num_closed_socks - 1] = sk; /* paired with READ_ONCE() in inet_csk_bind_conflict() */ WRITE_ONCE(reuse->num_closed_socks, reuse->num_closed_socks + 1); + reuseport_get_incoming_cpu(sk, reuse); } static bool __reuseport_detach_closed_sock(struct sock *sk, @@ -83,6 +166,7 @@ reuse->socks[i] = reuse->socks[reuse->max_socks - reuse->num_closed_socks]; /* paired with READ_ONCE() in inet_csk_bind_conflict() */ WRITE_ONCE(reuse->num_closed_socks, reuse->num_closed_socks - 1); + reuseport_put_incoming_cpu(sk, reuse); return true; } @@ -150,6 +234,7 @@ reuse->bind_inany = bind_inany; reuse->socks[0] = sk; reuse->num_socks = 1; + reuseport_get_incoming_cpu(sk, reuse); rcu_assign_pointer(sk->sk_reuseport_cb, reuse); out: @@ -193,6 +278,7 @@ more_reuse->reuseport_id = reuse->reuseport_id; more_reuse->bind_inany = reuse->bind_inany; more_reuse->has_conns = reuse->has_conns; + more_reuse->incoming_cpu = reuse->incoming_cpu; memcpy(more_reuse->socks, reuse->socks, reuse->num_socks * sizeof(struct sock *)); @@ -442,18 +528,32 @@ static struct sock *reuseport_select_sock_by_hash(struct sock_reuseport *reuse, u32 hash, u16 num_socks) { + struct sock *first_valid_sk = NULL; int i, j; i = j = reciprocal_scale(hash, num_socks); - while (reuse->socks[i]->sk_state == TCP_ESTABLISHED) { + do { + struct sock *sk = reuse->socks[i]; + + if (sk->sk_state != TCP_ESTABLISHED) { + /* Paired with WRITE_ONCE() in __reuseport_(get|put)_incoming_cpu(). */ + if (!READ_ONCE(reuse->incoming_cpu)) + return sk; + + /* Paired with WRITE_ONCE() in reuseport_update_incoming_cpu(). */ + if (READ_ONCE(sk->sk_incoming_cpu) == raw_smp_processor_id()) + return sk; + + if (!first_valid_sk) + first_valid_sk = sk; + } + i++; if (i >= num_socks) i = 0; - if (i == j) - return NULL; - } + } while (i != j); - return reuse->socks[i]; + return first_valid_sk; } /** --- linux-gcp-5.19.0.orig/net/core/stream.c +++ linux-gcp-5.19.0/net/core/stream.c @@ -159,7 +159,8 @@ *timeo_p = current_timeo; } out: - remove_wait_queue(sk_sleep(sk), &wait); + if (!sock_flag(sk, SOCK_DEAD)) + remove_wait_queue(sk_sleep(sk), &wait); return err; do_error: @@ -195,6 +196,12 @@ /* First the read buffer. */ __skb_queue_purge(&sk->sk_receive_queue); + /* Next, the error queue. + * We need to use queue lock, because other threads might + * add packets to the queue without socket lock being held. + */ + skb_queue_purge(&sk->sk_error_queue); + /* Next, the write queue. */ WARN_ON(!skb_queue_empty(&sk->sk_write_queue)); @@ -202,7 +209,6 @@ sk_mem_reclaim_final(sk); WARN_ON(sk->sk_wmem_queued); - WARN_ON(sk->sk_forward_alloc); /* It is _impossible_ for the backlog to contain anything * when we get here. All user references to this socket --- linux-gcp-5.19.0.orig/net/core/sysctl_net_core.c +++ linux-gcp-5.19.0/net/core/sysctl_net_core.c @@ -234,14 +234,17 @@ static int proc_do_dev_weight(struct ctl_table *table, int write, void *buffer, size_t *lenp, loff_t *ppos) { - int ret; + static DEFINE_MUTEX(dev_weight_mutex); + int ret, weight; + mutex_lock(&dev_weight_mutex); ret = proc_dointvec(table, write, buffer, lenp, ppos); - if (ret != 0) - return ret; - - dev_rx_weight = weight_p * dev_weight_rx_bias; - dev_tx_weight = weight_p * dev_weight_tx_bias; + if (!ret && write) { + weight = READ_ONCE(weight_p); + WRITE_ONCE(dev_rx_weight, weight * dev_weight_rx_bias); + WRITE_ONCE(dev_tx_weight, weight * dev_weight_tx_bias); + } + mutex_unlock(&dev_weight_mutex); return ret; } --- linux-gcp-5.19.0.orig/net/dccp/ipv4.c +++ linux-gcp-5.19.0/net/dccp/ipv4.c @@ -136,6 +136,8 @@ * This unhashes the socket and releases the local port, if necessary. */ dccp_set_state(sk, DCCP_CLOSED); + if (!(sk->sk_userlocks & SOCK_BINDADDR_LOCK)) + inet_reset_saddr(sk); ip_rt_put(rt); sk->sk_route_caps = 0; inet->inet_dport = 0; --- linux-gcp-5.19.0.orig/net/dccp/ipv6.c +++ linux-gcp-5.19.0/net/dccp/ipv6.c @@ -551,11 +551,9 @@ *own_req = inet_ehash_nolisten(newsk, req_to_sk(req_unhash), NULL); /* Clone pktoptions received with SYN, if we own the req */ if (*own_req && ireq->pktopts) { - newnp->pktoptions = skb_clone(ireq->pktopts, GFP_ATOMIC); + newnp->pktoptions = skb_clone_and_charge_r(ireq->pktopts, newsk); consume_skb(ireq->pktopts); ireq->pktopts = NULL; - if (newnp->pktoptions) - skb_set_owner_r(newnp->pktoptions, newsk); } return newsk; @@ -615,7 +613,7 @@ --ANK (980728) */ if (np->rxopt.all) - opt_skb = skb_clone(skb, GFP_ATOMIC); + opt_skb = skb_clone_and_charge_r(skb, sk); if (sk->sk_state == DCCP_OPEN) { /* Fast path */ if (dccp_rcv_established(sk, skb, dccp_hdr(skb), skb->len)) @@ -679,7 +677,6 @@ np->flow_label = ip6_flowlabel(ipv6_hdr(opt_skb)); if (ipv6_opt_accepted(sk, opt_skb, &DCCP_SKB_CB(opt_skb)->header.h6)) { - skb_set_owner_r(opt_skb, sk); memmove(IP6CB(opt_skb), &DCCP_SKB_CB(opt_skb)->header.h6, sizeof(struct inet6_skb_parm)); @@ -967,6 +964,8 @@ late_failure: dccp_set_state(sk, DCCP_CLOSED); + if (!(sk->sk_userlocks & SOCK_BINDADDR_LOCK)) + inet_reset_saddr(sk); __sk_dst_reset(sk); failure: inet->inet_dport = 0; --- linux-gcp-5.19.0.orig/net/dccp/minisocks.c +++ linux-gcp-5.19.0/net/dccp/minisocks.c @@ -94,6 +94,8 @@ newdp->dccps_role = DCCP_ROLE_SERVER; newdp->dccps_hc_rx_ackvec = NULL; + newdp->dccps_hc_rx_ccid = NULL; + newdp->dccps_hc_tx_ccid = NULL; newdp->dccps_service_list = NULL; newdp->dccps_hc_rx_ccid = NULL; newdp->dccps_hc_tx_ccid = NULL; --- linux-gcp-5.19.0.orig/net/dccp/proto.c +++ linux-gcp-5.19.0/net/dccp/proto.c @@ -736,11 +736,6 @@ lock_sock(sk); - if (dccp_qpolicy_full(sk)) { - rc = -EAGAIN; - goto out_release; - } - timeo = sock_sndtimeo(sk, noblock); /* @@ -759,6 +754,11 @@ if (skb == NULL) goto out_release; + if (dccp_qpolicy_full(sk)) { + rc = -EAGAIN; + goto out_discard; + } + if (sk->sk_state == DCCP_CLOSED) { rc = -ENOTCONN; goto out_discard; --- linux-gcp-5.19.0.orig/net/dsa/dsa2.c +++ linux-gcp-5.19.0/net/dsa/dsa2.c @@ -850,6 +850,14 @@ return err; } +static void dsa_switch_teardown_tag_protocol(struct dsa_switch *ds) +{ + const struct dsa_device_ops *tag_ops = ds->dst->tag_ops; + + if (tag_ops->disconnect) + tag_ops->disconnect(ds); +} + static int dsa_switch_setup(struct dsa_switch *ds) { struct dsa_devlink_priv *dl_priv; @@ -953,6 +961,8 @@ ds->slave_mii_bus = NULL; } + dsa_switch_teardown_tag_protocol(ds); + if (ds->ops->teardown) ds->ops->teardown(ds); @@ -1407,9 +1417,9 @@ static int dsa_port_parse_cpu(struct dsa_port *dp, struct net_device *master, const char *user_protocol) { + const struct dsa_device_ops *tag_ops = NULL; struct dsa_switch *ds = dp->ds; struct dsa_switch_tree *dst = ds->dst; - const struct dsa_device_ops *tag_ops; enum dsa_tag_protocol default_proto; /* Find out which protocol the switch would prefer. */ @@ -1432,10 +1442,17 @@ } tag_ops = dsa_find_tagger_by_name(user_protocol); - } else { - tag_ops = dsa_tag_driver_get(default_proto); + if (IS_ERR(tag_ops)) { + dev_warn(ds->dev, + "Failed to find a tagging driver for protocol %s, using default\n", + user_protocol); + tag_ops = NULL; + } } + if (!tag_ops) + tag_ops = dsa_tag_driver_get(default_proto); + if (IS_ERR(tag_ops)) { if (PTR_ERR(tag_ops) == -ENOPROTOOPT) return -EPROBE_DEFER; --- linux-gcp-5.19.0.orig/net/dsa/dsa_priv.h +++ linux-gcp-5.19.0/net/dsa/dsa_priv.h @@ -201,6 +201,7 @@ } /* port.c */ +bool dsa_port_supports_hwtstamp(struct dsa_port *dp, struct ifreq *ifr); void dsa_port_set_tag_protocol(struct dsa_port *cpu_dp, const struct dsa_device_ops *tag_ops); int dsa_port_set_state(struct dsa_port *dp, u8 state, bool do_fast_age); --- linux-gcp-5.19.0.orig/net/dsa/master.c +++ linux-gcp-5.19.0/net/dsa/master.c @@ -204,8 +204,7 @@ * switch in the tree that is PTP capable. */ list_for_each_entry(dp, &dst->ports, list) - if (dp->ds->ops->port_hwtstamp_get || - dp->ds->ops->port_hwtstamp_set) + if (dsa_port_supports_hwtstamp(dp, ifr)) return -EBUSY; break; } --- linux-gcp-5.19.0.orig/net/dsa/port.c +++ linux-gcp-5.19.0/net/dsa/port.c @@ -109,6 +109,22 @@ return !err; } +bool dsa_port_supports_hwtstamp(struct dsa_port *dp, struct ifreq *ifr) +{ + struct dsa_switch *ds = dp->ds; + int err; + + if (!ds->ops->port_hwtstamp_get || !ds->ops->port_hwtstamp_set) + return false; + + /* "See through" shim implementations of the "get" method. + * This will clobber the ifreq structure, but we will either return an + * error, or the master will overwrite it with proper values. + */ + err = ds->ops->port_hwtstamp_get(ds, dp->index, ifr); + return err != -EOPNOTSUPP; +} + int dsa_port_set_state(struct dsa_port *dp, u8 state, bool do_fast_age) { struct dsa_switch *ds = dp->ds; @@ -145,11 +161,14 @@ static void dsa_port_set_state_now(struct dsa_port *dp, u8 state, bool do_fast_age) { + struct dsa_switch *ds = dp->ds; int err; err = dsa_port_set_state(dp, state, do_fast_age); - if (err) - pr_err("DSA: failed to set STP state %u (%d)\n", state, err); + if (err && err != -EOPNOTSUPP) { + dev_err(ds->dev, "port %d failed to set STP state %u: %pe\n", + dp->index, state, ERR_PTR(err)); + } } int dsa_port_set_mst_state(struct dsa_port *dp, --- linux-gcp-5.19.0.orig/net/dsa/tag_8021q.c +++ linux-gcp-5.19.0/net/dsa/tag_8021q.c @@ -400,6 +400,7 @@ int dsa_tag_8021q_register(struct dsa_switch *ds, __be16 proto) { struct dsa_8021q_context *ctx; + int err; ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); if (!ctx) @@ -412,7 +413,15 @@ ds->tag_8021q_ctx = ctx; - return dsa_tag_8021q_setup(ds); + err = dsa_tag_8021q_setup(ds); + if (err) + goto err_free; + + return 0; + +err_free: + kfree(ctx); + return err; } EXPORT_SYMBOL_GPL(dsa_tag_8021q_register); --- linux-gcp-5.19.0.orig/net/dsa/tag_hellcreek.c +++ linux-gcp-5.19.0/net/dsa/tag_hellcreek.c @@ -45,11 +45,12 @@ skb->dev = dsa_master_find_slave(dev, 0, port); if (!skb->dev) { - netdev_warn(dev, "Failed to get source port: %d\n", port); + netdev_warn_once(dev, "Failed to get source port: %d\n", port); return NULL; } - pskb_trim_rcsum(skb, skb->len - HELLCREEK_TAG_LEN); + if (pskb_trim_rcsum(skb, skb->len - HELLCREEK_TAG_LEN)) + return NULL; dsa_default_offload_fwd_mark(skb); --- linux-gcp-5.19.0.orig/net/dsa/tag_ksz.c +++ linux-gcp-5.19.0/net/dsa/tag_ksz.c @@ -21,7 +21,8 @@ if (!skb->dev) return NULL; - pskb_trim_rcsum(skb, skb->len - len); + if (pskb_trim_rcsum(skb, skb->len - len)) + return NULL; dsa_default_offload_fwd_mark(skb); --- linux-gcp-5.19.0.orig/net/dsa/tag_sja1105.c +++ linux-gcp-5.19.0/net/dsa/tag_sja1105.c @@ -665,7 +665,8 @@ * padding and trailer we need to account for the fact that * skb->data points to skb_mac_header(skb) + ETH_HLEN. */ - pskb_trim_rcsum(skb, start_of_padding - ETH_HLEN); + if (pskb_trim_rcsum(skb, start_of_padding - ETH_HLEN)) + return NULL; /* Trap-to-host frame, no timestamp trailer */ } else { *source_port = SJA1110_RX_HEADER_SRC_PORT(rx_header); --- linux-gcp-5.19.0.orig/net/ethtool/eeprom.c +++ linux-gcp-5.19.0/net/ethtool/eeprom.c @@ -124,7 +124,7 @@ if (ret) goto err_free; - ret = get_module_eeprom_by_page(dev, &page_data, info->extack); + ret = get_module_eeprom_by_page(dev, &page_data, info ? info->extack : NULL); if (ret < 0) goto err_ops; --- linux-gcp-5.19.0.orig/net/ethtool/ioctl.c +++ linux-gcp-5.19.0/net/ethtool/ioctl.c @@ -2020,7 +2020,8 @@ } else { /* Driver expects to be called at twice the frequency in rc */ int n = rc * 2, interval = HZ / n; - u64 count = n * id.data, i = 0; + u64 count = mul_u32_u32(n, id.data); + u64 i = 0; do { rtnl_lock(); @@ -2105,7 +2106,8 @@ return n_stats; if (n_stats > S32_MAX / sizeof(u64)) return -ENOMEM; - WARN_ON_ONCE(!n_stats); + if (WARN_ON_ONCE(!n_stats)) + return -EOPNOTSUPP; if (copy_from_user(&stats, useraddr, sizeof(stats))) return -EFAULT; --- linux-gcp-5.19.0.orig/net/hsr/hsr_device.c +++ linux-gcp-5.19.0/net/hsr/hsr_device.c @@ -219,7 +219,9 @@ skb->dev = master->dev; skb_reset_mac_header(skb); skb_reset_mac_len(skb); + spin_lock_bh(&hsr->seqnr_lock); hsr_forward_skb(skb, master); + spin_unlock_bh(&hsr->seqnr_lock); } else { dev_core_stats_tx_dropped_inc(dev); dev_kfree_skb_any(skb); @@ -278,7 +280,6 @@ __u8 type = HSR_TLV_LIFE_CHECK; struct hsr_sup_payload *hsr_sp; struct hsr_sup_tag *hsr_stag; - unsigned long irqflags; struct sk_buff *skb; *interval = msecs_to_jiffies(HSR_LIFE_CHECK_INTERVAL); @@ -299,7 +300,7 @@ set_hsr_stag_HSR_ver(hsr_stag, hsr->prot_version); /* From HSRv1 on we have separate supervision sequence numbers. */ - spin_lock_irqsave(&master->hsr->seqnr_lock, irqflags); + spin_lock_bh(&hsr->seqnr_lock); if (hsr->prot_version > 0) { hsr_stag->sequence_nr = htons(hsr->sup_sequence_nr); hsr->sup_sequence_nr++; @@ -307,7 +308,6 @@ hsr_stag->sequence_nr = htons(hsr->sequence_nr); hsr->sequence_nr++; } - spin_unlock_irqrestore(&master->hsr->seqnr_lock, irqflags); hsr_stag->tlv.HSR_TLV_type = type; /* TODO: Why 12 in HSRv0? */ @@ -318,11 +318,13 @@ hsr_sp = skb_put(skb, sizeof(struct hsr_sup_payload)); ether_addr_copy(hsr_sp->macaddress_A, master->dev->dev_addr); - if (skb_put_padto(skb, ETH_ZLEN)) + if (skb_put_padto(skb, ETH_ZLEN)) { + spin_unlock_bh(&hsr->seqnr_lock); return; + } hsr_forward_skb(skb, master); - + spin_unlock_bh(&hsr->seqnr_lock); return; } @@ -332,7 +334,6 @@ struct hsr_priv *hsr = master->hsr; struct hsr_sup_payload *hsr_sp; struct hsr_sup_tag *hsr_stag; - unsigned long irqflags; struct sk_buff *skb; skb = hsr_init_skb(master); @@ -347,7 +348,7 @@ set_hsr_stag_HSR_ver(hsr_stag, (hsr->prot_version ? 1 : 0)); /* From HSRv1 on we have separate supervision sequence numbers. */ - spin_lock_irqsave(&master->hsr->seqnr_lock, irqflags); + spin_lock_bh(&hsr->seqnr_lock); hsr_stag->sequence_nr = htons(hsr->sup_sequence_nr); hsr->sup_sequence_nr++; hsr_stag->tlv.HSR_TLV_type = PRP_TLV_LIFE_CHECK_DD; @@ -358,13 +359,12 @@ ether_addr_copy(hsr_sp->macaddress_A, master->dev->dev_addr); if (skb_put_padto(skb, ETH_ZLEN)) { - spin_unlock_irqrestore(&master->hsr->seqnr_lock, irqflags); + spin_unlock_bh(&hsr->seqnr_lock); return; } - spin_unlock_irqrestore(&master->hsr->seqnr_lock, irqflags); - hsr_forward_skb(skb, master); + spin_unlock_bh(&hsr->seqnr_lock); } /* Announce (supervision frame) timer function @@ -444,7 +444,7 @@ dev->header_ops = &hsr_header_ops; dev->netdev_ops = &hsr_device_ops; SET_NETDEV_DEVTYPE(dev, &hsr_type); - dev->priv_flags |= IFF_NO_QUEUE; + dev->priv_flags |= IFF_NO_QUEUE | IFF_DISABLE_NETPOLL; dev->needs_free_netdev = true; --- linux-gcp-5.19.0.orig/net/hsr/hsr_forward.c +++ linux-gcp-5.19.0/net/hsr/hsr_forward.c @@ -150,15 +150,15 @@ struct hsr_port *port) { if (!frame->skb_std) { - if (frame->skb_hsr) { + if (frame->skb_hsr) frame->skb_std = create_stripped_skb_hsr(frame->skb_hsr, frame); - } else { - /* Unexpected */ - WARN_ONCE(1, "%s:%d: Unexpected frame received (port_src %s)\n", - __FILE__, __LINE__, port->dev->name); + else + netdev_warn_once(port->dev, + "Unexpected frame received in hsr_get_untagged_frame()\n"); + + if (!frame->skb_std) return NULL; - } } return skb_clone(frame->skb_std, GFP_ATOMIC); @@ -351,17 +351,18 @@ struct hsr_node *node_src) { bool was_multicast_frame; - int res; + int res, recv_len; was_multicast_frame = (skb->pkt_type == PACKET_MULTICAST); hsr_addr_subst_source(node_src, skb); skb_pull(skb, ETH_HLEN); + recv_len = skb->len; res = netif_rx(skb); if (res == NET_RX_DROP) { dev->stats.rx_dropped++; } else { dev->stats.rx_packets++; - dev->stats.rx_bytes += skb->len; + dev->stats.rx_bytes += recv_len; if (was_multicast_frame) dev->stats.multicast++; } @@ -499,7 +500,6 @@ { struct hsr_port *port = frame->port_rcv; struct hsr_priv *hsr = port->hsr; - unsigned long irqflags; frame->skb_hsr = NULL; frame->skb_prp = NULL; @@ -509,10 +509,9 @@ frame->is_from_san = true; } else { /* Sequence nr for the master node */ - spin_lock_irqsave(&hsr->seqnr_lock, irqflags); + lockdep_assert_held(&hsr->seqnr_lock); frame->sequence_nr = hsr->sequence_nr; hsr->sequence_nr++; - spin_unlock_irqrestore(&hsr->seqnr_lock, irqflags); } } @@ -616,11 +615,13 @@ { struct hsr_frame_info frame; + rcu_read_lock(); if (fill_frame_info(&frame, skb, port) < 0) goto out_drop; hsr_register_frame_in(frame.node_src, port, frame.sequence_nr); hsr_forward_do(&frame); + rcu_read_unlock(); /* Gets called for ingress frames as well as egress from master port. * So check and increment stats for master port only here. */ @@ -635,6 +636,7 @@ return; out_drop: + rcu_read_unlock(); port->dev->stats.tx_dropped++; kfree_skb(skb); } --- linux-gcp-5.19.0.orig/net/hsr/hsr_framereg.c +++ linux-gcp-5.19.0/net/hsr/hsr_framereg.c @@ -182,6 +182,7 @@ return NULL; ether_addr_copy(new_node->macaddress_A, addr); + spin_lock_init(&new_node->seq_out_lock); /* We are only interested in time diffs here, so use current jiffies * as initialization. (0 could trigger an spurious ring error warning). @@ -382,6 +383,7 @@ } ether_addr_copy(node_real->macaddress_B, ethhdr->h_source); + spin_lock_bh(&node_real->seq_out_lock); for (i = 0; i < HSR_PT_PORTS; i++) { if (!node_curr->time_in_stale[i] && time_after(node_curr->time_in[i], node_real->time_in[i])) { @@ -392,12 +394,16 @@ if (seq_nr_after(node_curr->seq_out[i], node_real->seq_out[i])) node_real->seq_out[i] = node_curr->seq_out[i]; } + spin_unlock_bh(&node_real->seq_out_lock); node_real->addr_B_port = port_rcv->type; spin_lock_bh(&hsr->list_lock); - hlist_del_rcu(&node_curr->mac_list); + if (!node_curr->removed) { + hlist_del_rcu(&node_curr->mac_list); + node_curr->removed = true; + kfree_rcu(node_curr, rcu_head); + } spin_unlock_bh(&hsr->list_lock); - kfree_rcu(node_curr, rcu_head); done: /* Push back here */ @@ -484,13 +490,17 @@ int hsr_register_frame_out(struct hsr_port *port, struct hsr_node *node, u16 sequence_nr) { + spin_lock_bh(&node->seq_out_lock); if (seq_nr_before_or_eq(sequence_nr, node->seq_out[port->type]) && time_is_after_jiffies(node->time_out[port->type] + - msecs_to_jiffies(HSR_ENTRY_FORGET_TIME))) + msecs_to_jiffies(HSR_ENTRY_FORGET_TIME))) { + spin_unlock_bh(&node->seq_out_lock); return 1; + } node->time_out[port->type] = jiffies; node->seq_out[port->type] = sequence_nr; + spin_unlock_bh(&node->seq_out_lock); return 0; } @@ -581,11 +591,12 @@ if (time_is_before_jiffies(timestamp + msecs_to_jiffies(HSR_NODE_FORGET_TIME))) { hsr_nl_nodedown(hsr, node->macaddress_A); - hlist_del_rcu(&node->mac_list); - /* Note that we need to free this - * entry later: - */ - kfree_rcu(node, rcu_head); + if (!node->removed) { + hlist_del_rcu(&node->mac_list); + node->removed = true; + /* Note that we need to free this entry later: */ + kfree_rcu(node, rcu_head); + } } } } --- linux-gcp-5.19.0.orig/net/hsr/hsr_framereg.h +++ linux-gcp-5.19.0/net/hsr/hsr_framereg.h @@ -77,6 +77,8 @@ struct hsr_node { struct hlist_node mac_list; + /* Protect R/W access to seq_out */ + spinlock_t seq_out_lock; unsigned char macaddress_A[ETH_ALEN]; unsigned char macaddress_B[ETH_ALEN]; /* Local slave through which AddrB frames are received from this node */ @@ -88,6 +90,7 @@ bool san_a; bool san_b; u16 seq_out[HSR_PT_PORTS]; + bool removed; struct rcu_head rcu_head; }; --- linux-gcp-5.19.0.orig/net/ieee802154/socket.c +++ linux-gcp-5.19.0/net/ieee802154/socket.c @@ -200,8 +200,9 @@ int err = 0; struct net_device *dev = NULL; - if (len < sizeof(*uaddr)) - return -EINVAL; + err = ieee802154_sockaddr_check_size(uaddr, len); + if (err < 0) + return err; uaddr = (struct sockaddr_ieee802154 *)_uaddr; if (uaddr->family != AF_IEEE802154) @@ -271,6 +272,10 @@ err = -EMSGSIZE; goto out_dev; } + if (!size) { + err = 0; + goto out_dev; + } hlen = LL_RESERVED_SPACE(dev); tlen = dev->needed_tailroom; @@ -493,11 +498,14 @@ ro->bound = 0; - if (len < sizeof(*addr)) + err = ieee802154_sockaddr_check_size(addr, len); + if (err < 0) goto out; - if (addr->family != AF_IEEE802154) + if (addr->family != AF_IEEE802154) { + err = -EINVAL; goto out; + } ieee802154_addr_from_sa(&haddr, &addr->addr); dev = ieee802154_get_dev(sock_net(sk), &haddr); @@ -564,8 +572,9 @@ struct dgram_sock *ro = dgram_sk(sk); int err = 0; - if (len < sizeof(*addr)) - return -EINVAL; + err = ieee802154_sockaddr_check_size(addr, len); + if (err < 0) + return err; if (addr->family != AF_IEEE802154) return -EINVAL; @@ -604,6 +613,7 @@ struct ieee802154_mac_cb *cb; struct dgram_sock *ro = dgram_sk(sk); struct ieee802154_addr dst_addr; + DECLARE_SOCKADDR(struct sockaddr_ieee802154*, daddr, msg->msg_name); int hlen, tlen; int err; @@ -612,10 +622,20 @@ return -EOPNOTSUPP; } - if (!ro->connected && !msg->msg_name) - return -EDESTADDRREQ; - else if (ro->connected && msg->msg_name) - return -EISCONN; + if (msg->msg_name) { + if (ro->connected) + return -EISCONN; + if (msg->msg_namelen < IEEE802154_MIN_NAMELEN) + return -EINVAL; + err = ieee802154_sockaddr_check_size(daddr, msg->msg_namelen); + if (err < 0) + return err; + ieee802154_addr_from_sa(&dst_addr, &daddr->addr); + } else { + if (!ro->connected) + return -EDESTADDRREQ; + dst_addr = ro->dst_addr; + } if (!ro->bound) dev = dev_getfirstbyhwtype(sock_net(sk), ARPHRD_IEEE802154); @@ -651,16 +671,6 @@ cb = mac_cb_init(skb); cb->type = IEEE802154_FC_TYPE_DATA; cb->ackreq = ro->want_ack; - - if (msg->msg_name) { - DECLARE_SOCKADDR(struct sockaddr_ieee802154*, - daddr, msg->msg_name); - - ieee802154_addr_from_sa(&dst_addr, &daddr->addr); - } else { - dst_addr = ro->dst_addr; - } - cb->secen = ro->secen; cb->secen_override = ro->secen_override; cb->seclevel = ro->seclevel; --- linux-gcp-5.19.0.orig/net/ipv4/Kconfig +++ linux-gcp-5.19.0/net/ipv4/Kconfig @@ -402,6 +402,16 @@ If unsure, say Y. +config INET_TABLE_PERTURB_ORDER + int "INET: Source port perturbation table size (as power of 2)" if EXPERT + default 16 + help + Source port perturbation table size (as power of 2) for + RFC 6056 3.3.4. Algorithm 4: Double-Hash Port Selection Algorithm. + + The default is almost always what you want. + Only change this if you know what you are doing. + config INET_XFRM_TUNNEL tristate select INET_TUNNEL --- linux-gcp-5.19.0.orig/net/ipv4/af_inet.c +++ linux-gcp-5.19.0/net/ipv4/af_inet.c @@ -347,6 +347,7 @@ sk->sk_destruct = inet_sock_destruct; sk->sk_protocol = protocol; sk->sk_backlog_rcv = sk->sk_prot->backlog_rcv; + sk->sk_txrehash = READ_ONCE(net->core.sysctl_txrehash); inet->uc_ttl = -1; inet->mc_loop = 1; @@ -558,22 +559,27 @@ int addr_len, int flags) { struct sock *sk = sock->sk; + const struct proto *prot; int err; if (addr_len < sizeof(uaddr->sa_family)) return -EINVAL; + + /* IPV6_ADDRFORM can change sk->sk_prot under us. */ + prot = READ_ONCE(sk->sk_prot); + if (uaddr->sa_family == AF_UNSPEC) - return sk->sk_prot->disconnect(sk, flags); + return prot->disconnect(sk, flags); if (BPF_CGROUP_PRE_CONNECT_ENABLED(sk)) { - err = sk->sk_prot->pre_connect(sk, uaddr, addr_len); + err = prot->pre_connect(sk, uaddr, addr_len); if (err) return err; } if (data_race(!inet_sk(sk)->inet_num) && inet_autobind(sk)) return -EAGAIN; - return sk->sk_prot->connect(sk, uaddr, addr_len); + return prot->connect(sk, uaddr, addr_len); } EXPORT_SYMBOL(inet_dgram_connect); @@ -734,10 +740,11 @@ int inet_accept(struct socket *sock, struct socket *newsock, int flags, bool kern) { - struct sock *sk1 = sock->sk; + struct sock *sk1 = sock->sk, *sk2; int err = -EINVAL; - struct sock *sk2 = sk1->sk_prot->accept(sk1, flags, &err, kern); + /* IPV6_ADDRFORM can change sk->sk_prot under us. */ + sk2 = READ_ONCE(sk1->sk_prot)->accept(sk1, flags, &err, kern); if (!sk2) goto do_err; @@ -748,6 +755,8 @@ (TCPF_ESTABLISHED | TCPF_SYN_RECV | TCPF_CLOSE_WAIT | TCPF_CLOSE))); + if (test_bit(SOCK_SUPPORT_ZC, &sock->flags)) + set_bit(SOCK_SUPPORT_ZC, &newsock->flags); sock_graft(sk2, newsock); newsock->state = SS_CONNECTED; @@ -825,12 +834,15 @@ size_t size, int flags) { struct sock *sk = sock->sk; + const struct proto *prot; if (unlikely(inet_send_prepare(sk))) return -EAGAIN; - if (sk->sk_prot->sendpage) - return sk->sk_prot->sendpage(sk, page, offset, size, flags); + /* IPV6_ADDRFORM can change sk->sk_prot under us. */ + prot = READ_ONCE(sk->sk_prot); + if (prot->sendpage) + return prot->sendpage(sk, page, offset, size, flags); return sock_no_sendpage(sock, page, offset, size, flags); } EXPORT_SYMBOL(inet_sendpage); @@ -1919,6 +1931,8 @@ sock_skb_cb_check_size(sizeof(struct inet_skb_parm)); + raw_hashinfo_init(&raw_v4_hashinfo); + rc = proto_register(&tcp_prot, 1); if (rc) goto out; --- linux-gcp-5.19.0.orig/net/ipv4/cipso_ipv4.c +++ linux-gcp-5.19.0/net/ipv4/cipso_ipv4.c @@ -106,15 +106,17 @@ /* Base length of the local tag (non-standard tag). * Tag definition (may change between kernel versions) * - * 0 8 16 24 32 - * +----------+----------+----------+----------+ - * | 10000000 | 00000110 | 32-bit secid value | - * +----------+----------+----------+----------+ - * | in (host byte order)| - * +----------+----------+ - * + * 0 8 16 16 + sizeof(struct lsmblob) + * +----------+----------+---------------------+ + * | 10000000 | 00000110 | LSM blob data | + * +----------+----------+---------------------+ + * + * All secid and flag fields are in host byte order. + * The lsmblob structure size varies depending on which + * Linux security modules are built in the kernel. + * The data is opaque. */ -#define CIPSO_V4_TAG_LOC_BLEN 6 +#define CIPSO_V4_TAG_LOC_BLEN (2 + sizeof(struct lsmblob)) /* * Helper Functions @@ -1462,7 +1464,11 @@ buffer[0] = CIPSO_V4_TAG_LOCAL; buffer[1] = CIPSO_V4_TAG_LOC_BLEN; - *(u32 *)&buffer[2] = secattr->attr.secid; + /* Ensure that there is sufficient space in the CIPSO header + * for the LSM data. */ + BUILD_BUG_ON(CIPSO_V4_TAG_LOC_BLEN > CIPSO_V4_OPT_LEN_MAX); + memcpy(&buffer[2], &secattr->attr.lsmblob, + sizeof(secattr->attr.lsmblob)); return CIPSO_V4_TAG_LOC_BLEN; } @@ -1482,7 +1488,7 @@ const unsigned char *tag, struct netlbl_lsm_secattr *secattr) { - secattr->attr.secid = *(u32 *)&tag[2]; + memcpy(&secattr->attr.lsmblob, &tag[2], sizeof(secattr->attr.lsmblob)); secattr->flags |= NETLBL_SECATTR_SECID; return 0; --- linux-gcp-5.19.0.orig/net/ipv4/datagram.c +++ linux-gcp-5.19.0/net/ipv4/datagram.c @@ -42,6 +42,8 @@ oif = inet->mc_index; if (!saddr) saddr = inet->mc_addr; + } else if (!oif) { + oif = inet->uc_index; } fl4 = &inet->cork.fl.u.ip4; rt = ip_route_connect(fl4, usin->sin_addr.s_addr, saddr, oif, @@ -68,7 +70,7 @@ } inet->inet_daddr = fl4->daddr; inet->inet_dport = usin->sin_port; - reuseport_has_conns(sk, true); + reuseport_has_conns_set(sk); sk->sk_state = TCP_ESTABLISHED; sk_set_txhash(sk); inet->inet_id = prandom_u32(); --- linux-gcp-5.19.0.orig/net/ipv4/devinet.c +++ linux-gcp-5.19.0/net/ipv4/devinet.c @@ -2682,23 +2682,27 @@ #endif if (!net_eq(net, &init_net)) { - if (IS_ENABLED(CONFIG_SYSCTL) && - sysctl_devconf_inherit_init_net == 3) { + switch (net_inherit_devconf()) { + case 3: /* copy from the current netns */ memcpy(all, current->nsproxy->net_ns->ipv4.devconf_all, sizeof(ipv4_devconf)); memcpy(dflt, current->nsproxy->net_ns->ipv4.devconf_dflt, sizeof(ipv4_devconf_dflt)); - } else if (!IS_ENABLED(CONFIG_SYSCTL) || - sysctl_devconf_inherit_init_net != 2) { - /* inherit == 0 or 1: copy from init_net */ + break; + case 0: + case 1: + /* copy from init_net */ memcpy(all, init_net.ipv4.devconf_all, sizeof(ipv4_devconf)); memcpy(dflt, init_net.ipv4.devconf_dflt, sizeof(ipv4_devconf_dflt)); + break; + case 2: + /* use compiled values */ + break; } - /* else inherit == 2: use compiled values */ } #ifdef CONFIG_SYSCTL --- linux-gcp-5.19.0.orig/net/ipv4/esp4_offload.c +++ linux-gcp-5.19.0/net/ipv4/esp4_offload.c @@ -110,7 +110,10 @@ struct sk_buff *skb, netdev_features_t features) { - return skb_eth_gso_segment(skb, features, htons(ETH_P_IP)); + __be16 type = x->inner_mode.family == AF_INET6 ? htons(ETH_P_IPV6) + : htons(ETH_P_IP); + + return skb_eth_gso_segment(skb, features, type); } static struct sk_buff *xfrm4_transport_gso_segment(struct xfrm_state *x, @@ -311,6 +314,9 @@ xo->seq.low += skb_shinfo(skb)->gso_segs; } + if (xo->seq.low < seq) + xo->seq.hi++; + esp.seqno = cpu_to_be64(seq + ((u64)xo->seq.hi << 32)); ip_hdr(skb)->tot_len = htons(skb->len); --- linux-gcp-5.19.0.orig/net/ipv4/fib_frontend.c +++ linux-gcp-5.19.0/net/ipv4/fib_frontend.c @@ -389,7 +389,7 @@ dev_match = dev_match || (res.type == RTN_LOCAL && dev == net->loopback_dev); if (dev_match) { - ret = FIB_RES_NHC(res)->nhc_scope >= RT_SCOPE_HOST; + ret = FIB_RES_NHC(res)->nhc_scope >= RT_SCOPE_LINK; return ret; } if (no_addr) @@ -401,7 +401,7 @@ ret = 0; if (fib_lookup(net, &fl4, &res, FIB_LOOKUP_IGNORE_LINKSTATE) == 0) { if (res.type == RTN_UNICAST) - ret = FIB_RES_NHC(res)->nhc_scope >= RT_SCOPE_HOST; + ret = FIB_RES_NHC(res)->nhc_scope >= RT_SCOPE_LINK; } return ret; @@ -841,6 +841,9 @@ return -EINVAL; } + if (!cfg->fc_table) + cfg->fc_table = RT_TABLE_MAIN; + return 0; errout: return err; --- linux-gcp-5.19.0.orig/net/ipv4/fib_semantics.c +++ linux-gcp-5.19.0/net/ipv4/fib_semantics.c @@ -30,6 +30,7 @@ #include #include #include +#include #include #include @@ -423,6 +424,7 @@ nfi->fib_prefsrc == fi->fib_prefsrc && nfi->fib_priority == fi->fib_priority && nfi->fib_type == fi->fib_type && + nfi->fib_tb_id == fi->fib_tb_id && memcmp(nfi->fib_metrics, fi->fib_metrics, sizeof(u32) * RTAX_MAX) == 0 && !((nfi->fib_flags ^ fi->fib_flags) & ~RTNH_COMPARE_MASK) && @@ -888,13 +890,15 @@ return 1; } + if (fi->nh) { + if (cfg->fc_oif || cfg->fc_gw_family || cfg->fc_mp) + return 1; + return 0; + } + if (cfg->fc_oif || cfg->fc_gw_family) { struct fib_nh *nh; - /* cannot match on nexthop object attributes */ - if (fi->nh) - return 1; - nh = fib_info_nh(fi, 0); if (cfg->fc_encap) { if (fib_encap_match(net, cfg->fc_encap_type, @@ -1019,6 +1023,7 @@ if (type > RTAX_MAX) return false; + type = array_index_nospec(type, RTAX_MAX + 1); if (type == RTAX_CC_ALGO) { char tmp[TCP_CA_NAME_MAX]; bool ecn_ca = false; --- linux-gcp-5.19.0.orig/net/ipv4/fib_trie.c +++ linux-gcp-5.19.0/net/ipv4/fib_trie.c @@ -1381,8 +1381,10 @@ /* The alias was already inserted, so the node must exist. */ l = l ? l : fib_find_node(t, &tp, key); - if (WARN_ON_ONCE(!l)) + if (WARN_ON_ONCE(!l)) { + err = -ENOENT; goto out_free_new_fa; + } if (fib_find_alias(&l->leaf, new_fa->fa_slen, 0, 0, tb->tb_id, true) == new_fa) { --- linux-gcp-5.19.0.orig/net/ipv4/inet_connection_sock.c +++ linux-gcp-5.19.0/net/ipv4/inet_connection_sock.c @@ -1037,26 +1037,40 @@ } EXPORT_SYMBOL(inet_csk_prepare_forced_close); +static int inet_ulp_can_listen(const struct sock *sk) +{ + const struct inet_connection_sock *icsk = inet_csk(sk); + + if (icsk->icsk_ulp_ops && !icsk->icsk_ulp_ops->clone) + return -EINVAL; + + return 0; +} + int inet_csk_listen_start(struct sock *sk) { struct inet_connection_sock *icsk = inet_csk(sk); struct inet_sock *inet = inet_sk(sk); - int err = -EADDRINUSE; + int err; + + err = inet_ulp_can_listen(sk); + if (unlikely(err)) + return err; reqsk_queue_alloc(&icsk->icsk_accept_queue); sk->sk_ack_backlog = 0; inet_csk_delack_init(sk); - if (sk->sk_txrehash == SOCK_TXREHASH_DEFAULT) - sk->sk_txrehash = READ_ONCE(sock_net(sk)->core.sysctl_txrehash); - /* There is race window here: we announce ourselves listening, * but this transition is still not validated by get_port(). * It is OK, because this socket enters to hash table only * after validation is complete. */ + err = -EADDRINUSE; inet_sk_state_store(sk, TCP_LISTEN); + /* get_port does not return an error code, yet */ + err = -EADDRINUSE; if (!sk->sk_prot->get_port(sk, inet->inet_num)) { inet->inet_sport = htons(inet->inet_num); --- linux-gcp-5.19.0.orig/net/ipv4/inet_hashtables.c +++ linux-gcp-5.19.0/net/ipv4/inet_hashtables.c @@ -534,8 +534,20 @@ spin_lock(lock); if (osk) { WARN_ON_ONCE(sk->sk_hash != osk->sk_hash); - ret = sk_nulls_del_node_init_rcu(osk); - } else if (found_dup_sk) { + ret = sk_hashed(osk); + if (ret) { + /* Before deleting the node, we insert a new one to make + * sure that the look-up-sk process would not miss either + * of them and that at least one node would exist in ehash + * table all the time. Otherwise there's a tiny chance + * that lookup process could find nothing in ehash table. + */ + __sk_nulls_add_node_tail_rcu(sk, list); + sk_nulls_del_node_init_rcu(osk); + } + goto unlock; + } + if (found_dup_sk) { *found_dup_sk = inet_ehash_lookup_by_sk(sk, list); if (*found_dup_sk) ret = false; @@ -544,6 +556,7 @@ if (ret) __sk_nulls_add_node_rcu(sk, list); +unlock: spin_unlock(lock); return ret; @@ -679,13 +692,13 @@ * Note that we use 32bit integers (vs RFC 'short integers') * because 2^16 is not a multiple of num_ephemeral and this * property might be used by clever attacker. + * * RFC claims using TABLE_LENGTH=10 buckets gives an improvement, though - * attacks were since demonstrated, thus we use 65536 instead to really - * give more isolation and privacy, at the expense of 256kB of kernel - * memory. + * attacks were since demonstrated, thus we use 65536 by default instead + * to really give more isolation and privacy, at the expense of 256kB + * of kernel memory. */ -#define INET_TABLE_PERTURB_SHIFT 16 -#define INET_TABLE_PERTURB_SIZE (1 << INET_TABLE_PERTURB_SHIFT) +#define INET_TABLE_PERTURB_SIZE (1 << CONFIG_INET_TABLE_PERTURB_ORDER) static u32 *table_perturb; int __inet_hash_connect(struct inet_timewait_death_row *death_row, @@ -705,17 +718,7 @@ u32 index; if (port) { - head = &hinfo->bhash[inet_bhashfn(net, port, - hinfo->bhash_size)]; - tb = inet_csk(sk)->icsk_bind_hash; - spin_lock_bh(&head->lock); - if (sk_head(&tb->owners) == sk && !sk->sk_bind_node.next) { - inet_ehash_nolisten(sk, NULL, NULL); - spin_unlock_bh(&head->lock); - return 0; - } - spin_unlock(&head->lock); - /* No definite answer... Walk to established hash table */ + local_bh_disable(); ret = check_established(death_row, sk, port, NULL); local_bh_enable(); return ret; @@ -729,8 +732,8 @@ if (likely(remaining > 1)) remaining &= ~1U; - net_get_random_once(table_perturb, - INET_TABLE_PERTURB_SIZE * sizeof(*table_perturb)); + get_random_slow_once(table_perturb, + INET_TABLE_PERTURB_SIZE * sizeof(*table_perturb)); index = port_offset & (INET_TABLE_PERTURB_SIZE - 1); offset = READ_ONCE(table_perturb[index]) + (port_offset >> 32); --- linux-gcp-5.19.0.orig/net/ipv4/inet_timewait_sock.c +++ linux-gcp-5.19.0/net/ipv4/inet_timewait_sock.c @@ -83,10 +83,10 @@ } EXPORT_SYMBOL_GPL(inet_twsk_put); -static void inet_twsk_add_node_rcu(struct inet_timewait_sock *tw, - struct hlist_nulls_head *list) +static void inet_twsk_add_node_tail_rcu(struct inet_timewait_sock *tw, + struct hlist_nulls_head *list) { - hlist_nulls_add_head_rcu(&tw->tw_node, list); + hlist_nulls_add_tail_rcu(&tw->tw_node, list); } static void inet_twsk_add_bind_node(struct inet_timewait_sock *tw, @@ -122,7 +122,7 @@ spin_lock(lock); - inet_twsk_add_node_rcu(tw, &ehead->chain); + inet_twsk_add_node_tail_rcu(tw, &ehead->chain); /* Step 3: Remove SK from hash chain */ if (__sk_nulls_del_node_init_rcu(sk)) --- linux-gcp-5.19.0.orig/net/ipv4/ip_gre.c +++ linux-gcp-5.19.0/net/ipv4/ip_gre.c @@ -609,7 +609,7 @@ ip_tunnel_init_flow(&fl4, IPPROTO_GRE, key->u.ipv4.dst, key->u.ipv4.src, tunnel_id_to_key32(key->tun_id), key->tos & ~INET_ECN_MASK, dev_net(dev), 0, - skb->mark, skb_get_hash(skb)); + skb->mark, skb_get_hash(skb), key->flow_flags); rt = ip_route_output_key(dev_net(dev), &fl4); if (IS_ERR(rt)) return PTR_ERR(rt); @@ -1492,24 +1492,6 @@ struct ip_tunnel_parm *p = &t->parms; __be16 o_flags = p->o_flags; - if (t->erspan_ver <= 2) { - if (t->erspan_ver != 0 && !t->collect_md) - o_flags |= TUNNEL_KEY; - - if (nla_put_u8(skb, IFLA_GRE_ERSPAN_VER, t->erspan_ver)) - goto nla_put_failure; - - if (t->erspan_ver == 1) { - if (nla_put_u32(skb, IFLA_GRE_ERSPAN_INDEX, t->index)) - goto nla_put_failure; - } else if (t->erspan_ver == 2) { - if (nla_put_u8(skb, IFLA_GRE_ERSPAN_DIR, t->dir)) - goto nla_put_failure; - if (nla_put_u16(skb, IFLA_GRE_ERSPAN_HWID, t->hwid)) - goto nla_put_failure; - } - } - if (nla_put_u32(skb, IFLA_GRE_LINK, p->link) || nla_put_be16(skb, IFLA_GRE_IFLAGS, gre_tnl_flags_to_gre_flags(p->i_flags)) || @@ -1550,6 +1532,34 @@ return -EMSGSIZE; } +static int erspan_fill_info(struct sk_buff *skb, const struct net_device *dev) +{ + struct ip_tunnel *t = netdev_priv(dev); + + if (t->erspan_ver <= 2) { + if (t->erspan_ver != 0 && !t->collect_md) + t->parms.o_flags |= TUNNEL_KEY; + + if (nla_put_u8(skb, IFLA_GRE_ERSPAN_VER, t->erspan_ver)) + goto nla_put_failure; + + if (t->erspan_ver == 1) { + if (nla_put_u32(skb, IFLA_GRE_ERSPAN_INDEX, t->index)) + goto nla_put_failure; + } else if (t->erspan_ver == 2) { + if (nla_put_u8(skb, IFLA_GRE_ERSPAN_DIR, t->dir)) + goto nla_put_failure; + if (nla_put_u16(skb, IFLA_GRE_ERSPAN_HWID, t->hwid)) + goto nla_put_failure; + } + } + + return ipgre_fill_info(skb, dev); + +nla_put_failure: + return -EMSGSIZE; +} + static void erspan_setup(struct net_device *dev) { struct ip_tunnel *t = netdev_priv(dev); @@ -1628,7 +1638,7 @@ .changelink = erspan_changelink, .dellink = ip_tunnel_dellink, .get_size = ipgre_get_size, - .fill_info = ipgre_fill_info, + .fill_info = erspan_fill_info, .get_link_net = ip_tunnel_get_link_net, }; --- linux-gcp-5.19.0.orig/net/ipv4/ip_input.c +++ linux-gcp-5.19.0/net/ipv4/ip_input.c @@ -366,6 +366,11 @@ iph->tos, dev); if (unlikely(err)) goto drop_error; + } else { + struct in_device *in_dev = __in_dev_get_rcu(dev); + + if (in_dev && IN_DEV_ORCONF(in_dev, NOPOLICY)) + IPCB(skb)->flags |= IPSKB_NOPOLICY; } #ifdef CONFIG_IP_ROUTE_CLASSID --- linux-gcp-5.19.0.orig/net/ipv4/ip_output.c +++ linux-gcp-5.19.0/net/ipv4/ip_output.c @@ -1704,7 +1704,7 @@ tcp_hdr(skb)->source, tcp_hdr(skb)->dest, arg->uid); security_skb_classify_flow(skb, flowi4_to_flowi_common(&fl4)); - rt = ip_route_output_key(net, &fl4); + rt = ip_route_output_flow(net, &fl4, sk); if (IS_ERR(rt)) return; @@ -1712,7 +1712,7 @@ sk->sk_protocol = ip_hdr(skb)->protocol; sk->sk_bound_dev_if = arg->bound_dev_if; - sk->sk_sndbuf = sysctl_wmem_default; + sk->sk_sndbuf = READ_ONCE(sysctl_wmem_default); ipc.sockc.mark = fl4.flowi4_mark; err = ip_append_data(sk, &fl4, ip_reply_glue_bits, arg->iov->iov_base, len, 0, &ipc, &rt, MSG_DONTWAIT); --- linux-gcp-5.19.0.orig/net/ipv4/ip_sockglue.c +++ linux-gcp-5.19.0/net/ipv4/ip_sockglue.c @@ -130,20 +130,22 @@ static void ip_cmsg_recv_security(struct msghdr *msg, struct sk_buff *skb) { - char *secdata; - u32 seclen, secid; + struct lsmcontext context; + struct lsmblob lb; + u32 secid; int err; err = security_socket_getpeersec_dgram(NULL, skb, &secid); if (err) return; - err = security_secid_to_secctx(secid, &secdata, &seclen); + lsmblob_init(&lb, secid); + err = security_secid_to_secctx(&lb, &context, LSMBLOB_DISPLAY); if (err) return; - put_cmsg(msg, SOL_IP, SCM_SECURITY, seclen, secdata); - security_release_secctx(secdata, seclen); + put_cmsg(msg, SOL_IP, SCM_SECURITY, context.len, context.context); + security_release_secctx(&context); } static void ip_cmsg_recv_dstaddr(struct msghdr *msg, struct sk_buff *skb) @@ -772,7 +774,7 @@ if (optlen < GROUP_FILTER_SIZE(0)) return -EINVAL; - if (optlen > sysctl_optmem_max) + if (optlen > READ_ONCE(sysctl_optmem_max)) return -ENOBUFS; gsf = memdup_sockptr(optval, optlen); @@ -808,7 +810,7 @@ if (optlen < size0) return -EINVAL; - if (optlen > sysctl_optmem_max - 4) + if (optlen > READ_ONCE(sysctl_optmem_max) - 4) return -ENOBUFS; p = kmalloc(optlen + 4, GFP_KERNEL); @@ -1233,7 +1235,7 @@ if (optlen < IP_MSFILTER_SIZE(0)) goto e_inval; - if (optlen > sysctl_optmem_max) { + if (optlen > READ_ONCE(sysctl_optmem_max)) { err = -ENOBUFS; break; } --- linux-gcp-5.19.0.orig/net/ipv4/ip_tunnel.c +++ linux-gcp-5.19.0/net/ipv4/ip_tunnel.c @@ -295,7 +295,7 @@ ip_tunnel_init_flow(&fl4, iph->protocol, iph->daddr, iph->saddr, tunnel->parms.o_key, RT_TOS(iph->tos), dev_net(dev), - tunnel->parms.link, tunnel->fwmark, 0); + tunnel->parms.link, tunnel->fwmark, 0, 0); rt = ip_route_output_key(tunnel->net, &fl4); if (!IS_ERR(rt)) { @@ -570,7 +570,8 @@ } ip_tunnel_init_flow(&fl4, proto, key->u.ipv4.dst, key->u.ipv4.src, tunnel_id_to_key32(key->tun_id), RT_TOS(tos), - dev_net(dev), 0, skb->mark, skb_get_hash(skb)); + dev_net(dev), 0, skb->mark, skb_get_hash(skb), + key->flow_flags); if (tunnel->encap.type != TUNNEL_ENCAP_NONE) goto tx_error; @@ -728,7 +729,7 @@ ip_tunnel_init_flow(&fl4, protocol, dst, tnl_params->saddr, tunnel->parms.o_key, RT_TOS(tos), dev_net(dev), tunnel->parms.link, - tunnel->fwmark, skb_get_hash(skb)); + tunnel->fwmark, skb_get_hash(skb), 0); if (ip_tunnel_encap(skb, tunnel, &protocol, &fl4) < 0) goto tx_error; @@ -1189,7 +1190,7 @@ struct ip_tunnel_net *itn = net_generic(net, tunnel->ip_tnl_net_id); if (dev == itn->fb_tunnel_dev) - return -EINVAL; + return fan_has_map(&tunnel->fan) ? 0 : -EINVAL; t = ip_tunnel_find(itn, p, dev->type); --- linux-gcp-5.19.0.orig/net/ipv4/ipip.c +++ linux-gcp-5.19.0/net/ipv4/ipip.c @@ -101,6 +101,8 @@ #include #include #include +#include +#include #include #include @@ -266,6 +268,147 @@ } #endif +static struct ip_fan_map *ipip_fan_find_map(struct ip_tunnel *t, __be32 daddr) +{ + struct ip_fan_map *fan_map; + + rcu_read_lock(); + list_for_each_entry_rcu(fan_map, &t->fan.fan_maps, list) { + if (fan_map->overlay == + (daddr & inet_make_mask(fan_map->overlay_prefix))) { + rcu_read_unlock(); + return fan_map; + } + } + rcu_read_unlock(); + + return NULL; +} + +/* Determine fan tunnel endpoint to send packet to, based on the inner IP + * address. + * + * Given a /8 overlay and /16 underlay, for an overlay (inner) address + * Y.A.B.C, the transformation is F.G.A.B, where "F" and "G" are the first + * two octets of the underlay network (the network portion of a /16), "A" + * and "B" are the low order two octets of the underlay network host (the + * host portion of a /16), and "Y" is a configured first octet of the + * overlay network. + * + * E.g., underlay host 10.88.3.4/16 with an overlay of 99.0.0.0/8 would + * host overlay subnet 99.3.4.0/24. An overlay network datagram from + * 99.3.4.5 to 99.6.7.8, would be directed to underlay host 10.88.6.7, + * which hosts overlay network subnet 99.6.7.0/24. This transformation is + * described in detail further below. + * + * Using netmasks for the overlay and underlay other than /8 and /16, as + * shown above, can yield larger (or smaller) overlay subnets, with the + * trade-off of allowing fewer (or more) underlay hosts to participate. + * + * The size of each overlay network subnet is defined by the total of the + * network mask of the overlay plus the size of host portion of the + * underlay network. In the above example, /8 + /16 = /24. + * + * E.g., consider underlay host 10.99.238.5/20 and overlay 99.0.0.0/8. In + * this case, the network portion of the underlay is 10.99.224.0/20, and + * the host portion is 0.0.14.5 (12 bits). To determine the overlay + * network subnet, the 12 bits of host portion are left shifted 12 bits + * (/20 - /8) and ORed with the overlay subnet prefix. This yields an + * overlay subnet of 99.224.80/20, composed of 8 bits overlay, followed by + * 12 bits underlay. This yields 12 bits in the overlay network portion, + * allowing for 4094 addresses in each overlay network subnet. The + * trade-off is that fewer hosts may participate in the underlay network, + * as its host address size has shrunk from 16 bits (65534 addresses) in + * the first example to 12 bits (4094 addresses) here. + * + * For fewer hosts per overlay subnet (permitting a larger number of + * underlay hosts to participate), the underlay netmask may be made + * smaller. + * + * E.g., underlay host 10.111.1.2/12 (network 10.96.0.0/12, host portion + * is 0.15.1.2, 20 bits) with an overlay of 33.0.0.0/8 would left shift + * the 20 bits of host by 4 (so that it's highest order bit is adjacent to + * the lowest order bit of the /8 overlay). This yields an overlay subnet + * of 33.240.16.32/28 (8 bits overlay, 20 bits from the host portion of + * the underlay). This provides more addresses for the underlay network + * (approximately 2^20), but each host's segment of the overlay provides + * only 4 bits of addresses (14 usable). + * + * It is also possible to adjust the overlay subnet. + * + * For an overlay of 240.0.0.0/5 and underlay of 10.88.0.0/20, consider + * underlay host 10.88.129.2; the 12 bits of host, 0.0.1.2, are left + * shifted 15 bits (/20 - /5), yielding an overlay network of + * 240.129.0.0/17. An underlay host of 10.88.244.215 would yield an + * overlay network of 242.107.128.0/17. + * + * For an overlay of 100.64.0.0/10 and underlay of 10.224.220.0/24, for + * underlay host 10.224.220.10, the underlay host portion (.10) is left + * shifted 14 bits, yielding an overlay network subnet of 100.66.128.0/18. + * This would permit 254 addresses on the underlay, with each overlay + * segment providing approximately 2^14 - 2 addresses (16382). + * + * For packets being encapsulated, the overlay network destination IP + * address is deconstructed into its overlay and underlay-derived + * portions. The underlay portion (determined by the overlay mask and + * overlay subnet mask) is right shifted according to the size of the + * underlay network mask. This value is then ORed with the network + * portion of the underlay network to produce the underlay network + * destination for the encapsulated datagram. + * + * For example, using the initial example of underlay 10.88.3.4/16 and + * overlay 99.0.0.0/8, with underlay host 10.88.3.4/16 providing overlay + * subnet 99.3.4.0/24 with specfic host 99.3.4.5. A datagram from + * 99.3.4.5 to 99.6.7.8 would first have the underlay host derived portion + * of the address extracted. This is a number of bits equal to underlay + * network host portion. In the destination address, the highest order of + * these bits is one bit lower than the lowest order bit from the overlay + * network mask. + * + * Using the sample value, 99.6.7.8, the overlay mask is /8, and the + * underlay mask is /16 (leaving 16 bits for the host portion). The bits + * to be shifted are the middle two octets, 0.6.7.0, as this is 99.6.7.8 + * ANDed with the mask 0x00ffff00 (which is 16 bits, the highest order of + * which is 1 bit lower than the lowest order overlay address bit). + * + * These octets, 0.6.7.0, are then right shifted 8 bits, yielding 0.0.6.7. + * This value is then ORed with the underlay network portion, + * 10.88.0.0/16, providing 10.88.6.7 as the final underlay destination for + * the encapuslated datagram. + * + * Another transform using the final example: overlay 100.64.0.0/10 and + * underlay 10.224.220.0/24. Consider overlay address 100.66.128.1 + * sending a datagram to 100.66.200.5. In this case, 8 bits (the host + * portion size of 10.224.220.0/24) beginning after the 100.64/10 overlay + * prefix are masked off, yielding 0.2.192.0. This is right shifted 14 + * (32 - 10 - (32 - 24), i.e., the number of bits between the overlay + * network portion and the underlay host portion) bits, yielding 0.0.0.11. + * This is ORed with the underlay network portion, 10.224.220.0/24, giving + * the underlay destination of 10.224.220.11 for overlay destination + * 100.66.200.5. + */ +static int ipip_build_fan_iphdr(struct ip_tunnel *tunnel, struct sk_buff *skb, struct iphdr *iph) +{ + struct ip_fan_map *f_map; + u32 daddr, underlay; + + f_map = ipip_fan_find_map(tunnel, ip_hdr(skb)->daddr); + if (!f_map) + return -ENOENT; + + daddr = ntohl(ip_hdr(skb)->daddr); + underlay = ntohl(f_map->underlay); + if (!underlay) + return -EINVAL; + + *iph = tunnel->parms.iph; + iph->daddr = htonl(underlay | + ((daddr & ~f_map->overlay_mask) >> + (32 - f_map->overlay_prefix - + (32 - f_map->underlay_prefix)))); + return 0; +} + /* * This function assumes it is being called from dev_queue_xmit() * and that skb is filled properly by that function. @@ -276,6 +419,7 @@ struct ip_tunnel *tunnel = netdev_priv(dev); const struct iphdr *tiph = &tunnel->parms.iph; u8 ipproto; + struct iphdr fiph; if (!pskb_inet_may_pull(skb)) goto tx_error; @@ -299,6 +443,14 @@ if (iptunnel_handle_offloads(skb, SKB_GSO_IPXIP4)) goto tx_error; + if (fan_has_map(&tunnel->fan)) { + if (ipip_build_fan_iphdr(tunnel, skb, &fiph)) + goto tx_error; + tiph = &fiph; + } else { + tiph = &tunnel->parms.iph; + } + skb_set_inner_ipproto(skb, ipproto); if (tunnel->collect_md) @@ -362,6 +514,8 @@ static void ipip_tunnel_setup(struct net_device *dev) { + struct ip_tunnel *t = netdev_priv(dev); + dev->netdev_ops = &ipip_netdev_ops; dev->header_ops = &ip_tunnel_header_ops; @@ -374,6 +528,7 @@ dev->features |= IPIP_FEATURES; dev->hw_features |= IPIP_FEATURES; ip_tunnel_setup(dev, ipip_net_id); + INIT_LIST_HEAD(&t->fan.fan_maps); } static int ipip_tunnel_init(struct net_device *dev) @@ -482,6 +637,93 @@ return ret; } +static void ipip_fan_flush_map(struct ip_tunnel *t) +{ + struct ip_fan_map *fan_map; + + list_for_each_entry_rcu(fan_map, &t->fan.fan_maps, list) { + list_del_rcu(&fan_map->list); + kfree_rcu(fan_map, rcu); + } +} + +static int ipip_fan_del_map(struct ip_tunnel *t, __be32 overlay) +{ + struct ip_fan_map *fan_map; + + fan_map = ipip_fan_find_map(t, overlay); + if (!fan_map) + return -ENOENT; + + list_del_rcu(&fan_map->list); + kfree_rcu(fan_map, rcu); + + return 0; +} + +static int ipip_fan_add_map(struct ip_tunnel *t, struct ifla_fan_map *map) +{ + __be32 overlay_mask, underlay_mask; + struct ip_fan_map *fan_map; + + overlay_mask = inet_make_mask(map->overlay_prefix); + underlay_mask = inet_make_mask(map->underlay_prefix); + + if ((map->overlay & ~overlay_mask) || (map->underlay & ~underlay_mask)) + return -EINVAL; + + if (!(map->overlay & overlay_mask) && (map->underlay & underlay_mask)) + return -EINVAL; + + /* Special case: overlay 0 and underlay 0: flush all mappings */ + if (!map->overlay && !map->underlay) { + ipip_fan_flush_map(t); + return 0; + } + + /* Special case: overlay set and underlay 0: clear map for overlay */ + if (!map->underlay) + return ipip_fan_del_map(t, map->overlay); + + if (ipip_fan_find_map(t, map->overlay)) + return -EEXIST; + + fan_map = kmalloc(sizeof(*fan_map), GFP_KERNEL); + fan_map->underlay = map->underlay; + fan_map->overlay = map->overlay; + fan_map->underlay_prefix = map->underlay_prefix; + fan_map->overlay_mask = ntohl(overlay_mask); + fan_map->overlay_prefix = map->overlay_prefix; + + list_add_tail_rcu(&fan_map->list, &t->fan.fan_maps); + + return 0; +} + + +static int ipip_netlink_fan(struct nlattr *data[], struct ip_tunnel *t, + struct ip_tunnel_parm *parms) +{ + struct ifla_fan_map *map; + struct nlattr *attr; + int rem, rv; + + if (data == NULL || !data[IFLA_IPTUN_FAN_MAP]) + return 0; + + if (parms->iph.daddr) + return -EINVAL; + + nla_for_each_nested(attr, data[IFLA_IPTUN_FAN_MAP], rem) { + map = nla_data(attr); + rv = ipip_fan_add_map(t, map); + if (rv) + return rv; + } + + return 0; +} + static int ipip_newlink(struct net *src_net, struct net_device *dev, struct nlattr *tb[], struct nlattr *data[], struct netlink_ext_ack *extack) @@ -490,15 +732,19 @@ struct ip_tunnel_parm p; struct ip_tunnel_encap ipencap; __u32 fwmark = 0; + int err; if (ipip_netlink_encap_parms(data, &ipencap)) { - int err = ip_tunnel_encap_setup(t, &ipencap); + err = ip_tunnel_encap_setup(t, &ipencap); if (err < 0) return err; } ipip_netlink_parms(data, &p, &t->collect_md, &fwmark); + err = ipip_netlink_fan(data, t, &p); + if (err < 0) + return err; return ip_tunnel_newlink(dev, tb, &p, fwmark); } @@ -511,9 +757,10 @@ struct ip_tunnel_encap ipencap; bool collect_md; __u32 fwmark = t->fwmark; + int err; if (ipip_netlink_encap_parms(data, &ipencap)) { - int err = ip_tunnel_encap_setup(t, &ipencap); + err = ip_tunnel_encap_setup(t, &ipencap); if (err < 0) return err; @@ -522,6 +769,9 @@ ipip_netlink_parms(data, &p, &collect_md, &fwmark); if (collect_md) return -EINVAL; + err = ipip_netlink_fan(data, t, &p); + if (err < 0) + return err; if (((dev->flags & IFF_POINTOPOINT) && !p.iph.daddr) || (!(dev->flags & IFF_POINTOPOINT) && p.iph.daddr)) @@ -559,6 +809,8 @@ nla_total_size(0) + /* IFLA_IPTUN_FWMARK */ nla_total_size(4) + + /* IFLA_IPTUN_FAN_MAP */ + nla_total_size(sizeof(struct ifla_fan_map)) * 256 + 0; } @@ -591,6 +843,26 @@ if (tunnel->collect_md) if (nla_put_flag(skb, IFLA_IPTUN_COLLECT_METADATA)) goto nla_put_failure; + if (fan_has_map(&tunnel->fan)) { + struct nlattr *fan_nest; + struct ip_fan_map *fan_map; + + fan_nest = nla_nest_start(skb, IFLA_IPTUN_FAN_MAP); + if (!fan_nest) + goto nla_put_failure; + list_for_each_entry_rcu(fan_map, &tunnel->fan.fan_maps, list) { + struct ifla_fan_map map; + + map.underlay = fan_map->underlay; + map.underlay_prefix = fan_map->underlay_prefix; + map.overlay = fan_map->overlay; + map.overlay_prefix = fan_map->overlay_prefix; + if (nla_put(skb, IFLA_FAN_MAPPING, sizeof(map), &map)) + goto nla_put_failure; + } + nla_nest_end(skb, fan_nest); + } + return 0; nla_put_failure: @@ -611,6 +883,9 @@ [IFLA_IPTUN_ENCAP_DPORT] = { .type = NLA_U16 }, [IFLA_IPTUN_COLLECT_METADATA] = { .type = NLA_FLAG }, [IFLA_IPTUN_FWMARK] = { .type = NLA_U32 }, + + [__IFLA_IPTUN_VENDOR_BREAK ... IFLA_IPTUN_MAX] = { .type = NLA_BINARY }, + [IFLA_IPTUN_FAN_MAP] = { .type = NLA_NESTED }, }; static struct rtnl_link_ops ipip_link_ops __read_mostly = { @@ -659,6 +934,23 @@ .size = sizeof(struct ip_tunnel_net), }; +#ifdef CONFIG_SYSCTL +static struct ctl_table_header *ipip_fan_header; +static unsigned int ipip_fan_version = 3; + +static struct ctl_table ipip_fan_sysctls[] = { + { + .procname = "version", + .data = &ipip_fan_version, + .maxlen = sizeof(ipip_fan_version), + .mode = 0444, + .proc_handler = proc_dointvec, + }, + {}, +}; + +#endif /* CONFIG_SYSCTL */ + static int __init ipip_init(void) { int err; @@ -684,9 +976,22 @@ if (err < 0) goto rtnl_link_failed; +#ifdef CONFIG_SYSCTL + ipip_fan_header = register_net_sysctl(&init_net, "net/fan", + ipip_fan_sysctls); + if (!ipip_fan_header) { + err = -ENOMEM; + goto sysctl_failed; + } +#endif /* CONFIG_SYSCTL */ + out: return err; +#ifdef CONFIG_SYSCTL +sysctl_failed: + rtnl_link_unregister(&ipip_link_ops); +#endif /* CONFIG_SYSCTL */ rtnl_link_failed: #if IS_ENABLED(CONFIG_MPLS) xfrm4_tunnel_deregister(&mplsip_handler, AF_MPLS); @@ -701,6 +1006,9 @@ static void __exit ipip_fini(void) { +#ifdef CONFIG_SYSCTL + unregister_net_sysctl_table(ipip_fan_header); +#endif /* CONFIG_SYSCTL */ rtnl_link_unregister(&ipip_link_ops); if (xfrm4_tunnel_deregister(&ipip_handler, AF_INET)) pr_info("%s: can't deregister tunnel\n", __func__); --- linux-gcp-5.19.0.orig/net/ipv4/metrics.c +++ linux-gcp-5.19.0/net/ipv4/metrics.c @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only #include +#include #include #include #include @@ -28,6 +29,7 @@ return -EINVAL; } + type = array_index_nospec(type, RTAX_MAX + 1); if (type == RTAX_CC_ALGO) { char tmp[TCP_CA_NAME_MAX]; --- linux-gcp-5.19.0.orig/net/ipv4/netfilter/arp_tables.c +++ linux-gcp-5.19.0/net/ipv4/netfilter/arp_tables.c @@ -296,6 +296,17 @@ memcmp(&e->arp, &uncond, sizeof(uncond)) == 0; } +static bool next_offset_ok(const struct xt_table_info *t, unsigned int newpos) +{ + if (newpos > t->size - sizeof(struct arpt_entry)) + return false; + + if (newpos % __alignof__(struct arpt_entry) != 0) + return false; + + return true; +} + /* Figures out from what hook each rule can be called: returns 0 if * there are loops. Puts hook bitmask in comefrom. */ @@ -354,6 +365,8 @@ /* Move along one */ size = e->next_offset; + if (!next_offset_ok(newinfo, pos + size)) + return 0; e = entry0 + pos + size; if (pos + size >= newinfo->size) return 0; @@ -375,6 +388,10 @@ if (newpos >= newinfo->size) return 0; } + + if (!next_offset_ok(newinfo, newpos)) + return 0; + e = entry0 + newpos; e->counters.pcnt = pos; pos = newpos; --- linux-gcp-5.19.0.orig/net/ipv4/netfilter/ip_tables.c +++ linux-gcp-5.19.0/net/ipv4/netfilter/ip_tables.c @@ -363,6 +363,17 @@ else return verdict; } +static bool next_offset_ok(const struct xt_table_info *t, unsigned int newpos) +{ + if (newpos > t->size - sizeof(struct ipt_entry)) + return false; + + if (newpos % __alignof__(struct ipt_entry) != 0) + return false; + + return true; +} + /* Figures out from what hook each rule can be called: returns 0 if there are loops. Puts hook bitmask in comefrom. */ static int @@ -418,6 +429,8 @@ /* Move along one */ size = e->next_offset; + if (!next_offset_ok(newinfo, pos + size)) + return 0; e = entry0 + pos + size; if (pos + size >= newinfo->size) return 0; @@ -439,6 +452,10 @@ if (newpos >= newinfo->size) return 0; } + + if (!next_offset_ok(newinfo, newpos)) + return 0; + e = entry0 + newpos; e->counters.pcnt = pos; pos = newpos; --- linux-gcp-5.19.0.orig/net/ipv4/netfilter/ipt_CLUSTERIP.c +++ linux-gcp-5.19.0/net/ipv4/netfilter/ipt_CLUSTERIP.c @@ -435,7 +435,7 @@ switch (ctinfo) { case IP_CT_NEW: - ct->mark = hash; + WRITE_ONCE(ct->mark, hash); break; case IP_CT_RELATED: case IP_CT_RELATED_REPLY: @@ -452,7 +452,7 @@ #ifdef DEBUG nf_ct_dump_tuple_ip(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple); #endif - pr_debug("hash=%u ct_hash=%u ", hash, ct->mark); + pr_debug("hash=%u ct_hash=%u ", hash, READ_ONCE(ct->mark)); if (!clusterip_responsible(cipinfo->config, hash)) { pr_debug("not responsible\n"); return NF_DROP; --- linux-gcp-5.19.0.orig/net/ipv4/netfilter/ipt_rpfilter.c +++ linux-gcp-5.19.0/net/ipv4/netfilter/ipt_rpfilter.c @@ -78,7 +78,8 @@ flow.flowi4_mark = info->flags & XT_RPFILTER_VALID_MARK ? skb->mark : 0; flow.flowi4_tos = iph->tos & IPTOS_RT_MASK; flow.flowi4_scope = RT_SCOPE_UNIVERSE; - flow.flowi4_oif = l3mdev_master_ifindex_rcu(xt_in(par)); + flow.flowi4_l3mdev = l3mdev_master_ifindex_rcu(xt_in(par)); + flow.flowi4_uid = sock_net_uid(xt_net(par), NULL); return rpfilter_lookup_reverse(xt_net(par), &flow, xt_in(par), info->flags) ^ invert; } --- linux-gcp-5.19.0.orig/net/ipv4/netfilter/nft_fib_ipv4.c +++ linux-gcp-5.19.0/net/ipv4/netfilter/nft_fib_ipv4.c @@ -65,6 +65,7 @@ struct flowi4 fl4 = { .flowi4_scope = RT_SCOPE_UNIVERSE, .flowi4_iif = LOOPBACK_IFINDEX, + .flowi4_uid = sock_net_uid(nft_net(pkt), NULL), }; const struct net_device *oif; const struct net_device *found; @@ -83,6 +84,9 @@ else oif = NULL; + if (priv->flags & NFTA_FIB_F_IIF) + fl4.flowi4_l3mdev = l3mdev_master_ifindex_rcu(oif); + if (nft_hook(pkt) == NF_INET_PRE_ROUTING && nft_fib_is_loopback(pkt->skb, nft_in(pkt))) { nft_fib_store_result(dest, priv, nft_in(pkt)); --- linux-gcp-5.19.0.orig/net/ipv4/nexthop.c +++ linux-gcp-5.19.0/net/ipv4/nexthop.c @@ -2534,7 +2534,7 @@ if (!err) { nh->nh_flags = fib_nh->fib_nh_flags; fib_info_update_nhc_saddr(net, &fib_nh->nh_common, - fib_nh->fib_nh_scope); + !fib_nh->fib_nh_scope ? 0 : fib_nh->fib_nh_scope - 1); } else { fib_nh_release(net, fib_nh); } --- linux-gcp-5.19.0.orig/net/ipv4/ping.c +++ linux-gcp-5.19.0/net/ipv4/ping.c @@ -48,9 +48,14 @@ #include #endif +#define ping_portaddr_for_each_entry(__sk, node, list) \ + hlist_nulls_for_each_entry(__sk, node, list, sk_nulls_node) +#define ping_portaddr_for_each_entry_rcu(__sk, node, list) \ + hlist_nulls_for_each_entry_rcu(__sk, node, list, sk_nulls_node) + struct ping_table { struct hlist_nulls_head hash[PING_HTABLE_SIZE]; - rwlock_t lock; + spinlock_t lock; }; static struct ping_table ping_table; @@ -82,7 +87,7 @@ struct sock *sk2 = NULL; isk = inet_sk(sk); - write_lock_bh(&ping_table.lock); + spin_lock(&ping_table.lock); if (ident == 0) { u32 i; u16 result = ping_port_rover + 1; @@ -128,14 +133,15 @@ if (sk_unhashed(sk)) { pr_debug("was not hashed\n"); sock_hold(sk); - hlist_nulls_add_head(&sk->sk_nulls_node, hlist); + sock_set_flag(sk, SOCK_RCU_FREE); + hlist_nulls_add_head_rcu(&sk->sk_nulls_node, hlist); sock_prot_inuse_add(sock_net(sk), sk->sk_prot, 1); } - write_unlock_bh(&ping_table.lock); + spin_unlock(&ping_table.lock); return 0; fail: - write_unlock_bh(&ping_table.lock); + spin_unlock(&ping_table.lock); return 1; } EXPORT_SYMBOL_GPL(ping_get_port); @@ -153,19 +159,19 @@ struct inet_sock *isk = inet_sk(sk); pr_debug("ping_unhash(isk=%p,isk->num=%u)\n", isk, isk->inet_num); - write_lock_bh(&ping_table.lock); + spin_lock(&ping_table.lock); if (sk_hashed(sk)) { - hlist_nulls_del(&sk->sk_nulls_node); - sk_nulls_node_init(&sk->sk_nulls_node); + hlist_nulls_del_init_rcu(&sk->sk_nulls_node); sock_put(sk); isk->inet_num = 0; isk->inet_sport = 0; sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1); } - write_unlock_bh(&ping_table.lock); + spin_unlock(&ping_table.lock); } EXPORT_SYMBOL_GPL(ping_unhash); +/* Called under rcu_read_lock() */ static struct sock *ping_lookup(struct net *net, struct sk_buff *skb, u16 ident) { struct hlist_nulls_head *hslot = ping_hashslot(&ping_table, net, ident); @@ -190,9 +196,7 @@ return NULL; } - read_lock_bh(&ping_table.lock); - - ping_portaddr_for_each_entry(sk, hnode, hslot) { + ping_portaddr_for_each_entry_rcu(sk, hnode, hslot) { isk = inet_sk(sk); pr_debug("iterate\n"); @@ -230,13 +234,11 @@ sk->sk_bound_dev_if != sdif) continue; - sock_hold(sk); goto exit; } sk = NULL; exit: - read_unlock_bh(&ping_table.lock); return sk; } @@ -592,7 +594,7 @@ sk->sk_err = err; sk_error_report(sk); out: - sock_put(sk); + return; } EXPORT_SYMBOL_GPL(ping_err); @@ -998,7 +1000,6 @@ reason = __ping_queue_rcv_skb(sk, skb2); else reason = SKB_DROP_REASON_NOMEM; - sock_put(sk); } if (reason) @@ -1084,13 +1085,13 @@ } void *ping_seq_start(struct seq_file *seq, loff_t *pos, sa_family_t family) - __acquires(ping_table.lock) + __acquires(RCU) { struct ping_iter_state *state = seq->private; state->bucket = 0; state->family = family; - read_lock_bh(&ping_table.lock); + rcu_read_lock(); return *pos ? ping_get_idx(seq, *pos-1) : SEQ_START_TOKEN; } @@ -1116,9 +1117,9 @@ EXPORT_SYMBOL_GPL(ping_seq_next); void ping_seq_stop(struct seq_file *seq, void *v) - __releases(ping_table.lock) + __releases(RCU) { - read_unlock_bh(&ping_table.lock); + rcu_read_unlock(); } EXPORT_SYMBOL_GPL(ping_seq_stop); @@ -1202,5 +1203,5 @@ for (i = 0; i < PING_HTABLE_SIZE; i++) INIT_HLIST_NULLS_HEAD(&ping_table.hash[i], i); - rwlock_init(&ping_table.lock); + spin_lock_init(&ping_table.lock); } --- linux-gcp-5.19.0.orig/net/ipv4/raw.c +++ linux-gcp-5.19.0/net/ipv4/raw.c @@ -85,20 +85,19 @@ int hlen; }; -struct raw_hashinfo raw_v4_hashinfo = { - .lock = __RW_LOCK_UNLOCKED(raw_v4_hashinfo.lock), -}; +struct raw_hashinfo raw_v4_hashinfo; EXPORT_SYMBOL_GPL(raw_v4_hashinfo); int raw_hash_sk(struct sock *sk) { struct raw_hashinfo *h = sk->sk_prot->h.raw_hash; - struct hlist_head *head; + struct hlist_nulls_head *hlist; - head = &h->ht[inet_sk(sk)->inet_num & (RAW_HTABLE_SIZE - 1)]; + hlist = &h->ht[inet_sk(sk)->inet_num & (RAW_HTABLE_SIZE - 1)]; write_lock_bh(&h->lock); - sk_add_node(sk, head); + hlist_nulls_add_head_rcu(&sk->sk_nulls_node, hlist); + sock_set_flag(sk, SOCK_RCU_FREE); write_unlock_bh(&h->lock); sock_prot_inuse_add(sock_net(sk), sk->sk_prot, 1); @@ -111,30 +110,25 @@ struct raw_hashinfo *h = sk->sk_prot->h.raw_hash; write_lock_bh(&h->lock); - if (sk_del_node_init(sk)) + if (__sk_nulls_del_node_init_rcu(sk)) sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1); write_unlock_bh(&h->lock); } EXPORT_SYMBOL_GPL(raw_unhash_sk); -struct sock *__raw_v4_lookup(struct net *net, struct sock *sk, - unsigned short num, __be32 raddr, __be32 laddr, - int dif, int sdif) -{ - sk_for_each_from(sk) { - struct inet_sock *inet = inet_sk(sk); - - if (net_eq(sock_net(sk), net) && inet->inet_num == num && - !(inet->inet_daddr && inet->inet_daddr != raddr) && - !(inet->inet_rcv_saddr && inet->inet_rcv_saddr != laddr) && - raw_sk_bound_dev_eq(net, sk->sk_bound_dev_if, dif, sdif)) - goto found; /* gotcha */ - } - sk = NULL; -found: - return sk; +bool raw_v4_match(struct net *net, struct sock *sk, unsigned short num, + __be32 raddr, __be32 laddr, int dif, int sdif) +{ + struct inet_sock *inet = inet_sk(sk); + + if (net_eq(sock_net(sk), net) && inet->inet_num == num && + !(inet->inet_daddr && inet->inet_daddr != raddr) && + !(inet->inet_rcv_saddr && inet->inet_rcv_saddr != laddr) && + raw_sk_bound_dev_eq(net, sk->sk_bound_dev_if, dif, sdif)) + return true; + return false; } -EXPORT_SYMBOL_GPL(__raw_v4_lookup); +EXPORT_SYMBOL_GPL(raw_v4_match); /* * 0 - deliver @@ -168,23 +162,20 @@ */ static int raw_v4_input(struct sk_buff *skb, const struct iphdr *iph, int hash) { + struct net *net = dev_net(skb->dev); + struct hlist_nulls_head *hlist; + struct hlist_nulls_node *hnode; int sdif = inet_sdif(skb); int dif = inet_iif(skb); - struct sock *sk; - struct hlist_head *head; int delivered = 0; - struct net *net; - - read_lock(&raw_v4_hashinfo.lock); - head = &raw_v4_hashinfo.ht[hash]; - if (hlist_empty(head)) - goto out; - - net = dev_net(skb->dev); - sk = __raw_v4_lookup(net, __sk_head(head), iph->protocol, - iph->saddr, iph->daddr, dif, sdif); + struct sock *sk; - while (sk) { + hlist = &raw_v4_hashinfo.ht[hash]; + rcu_read_lock(); + hlist_nulls_for_each_entry(sk, hnode, hlist, sk_nulls_node) { + if (!raw_v4_match(net, sk, iph->protocol, + iph->saddr, iph->daddr, dif, sdif)) + continue; delivered = 1; if ((iph->protocol != IPPROTO_ICMP || !icmp_filter(sk, skb)) && ip_mc_sf_allow(sk, iph->daddr, iph->saddr, @@ -195,31 +186,16 @@ if (clone) raw_rcv(sk, clone); } - sk = __raw_v4_lookup(net, sk_next(sk), iph->protocol, - iph->saddr, iph->daddr, - dif, sdif); } -out: - read_unlock(&raw_v4_hashinfo.lock); + rcu_read_unlock(); return delivered; } int raw_local_deliver(struct sk_buff *skb, int protocol) { - int hash; - struct sock *raw_sk; - - hash = protocol & (RAW_HTABLE_SIZE - 1); - raw_sk = sk_head(&raw_v4_hashinfo.ht[hash]); - - /* If there maybe a raw socket we must check - if not we - * don't care less - */ - if (raw_sk && !raw_v4_input(skb, ip_hdr(skb), hash)) - raw_sk = NULL; - - return raw_sk != NULL; + int hash = protocol & (RAW_HTABLE_SIZE - 1); + return raw_v4_input(skb, ip_hdr(skb), hash); } static void raw_err(struct sock *sk, struct sk_buff *skb, u32 info) @@ -286,31 +262,27 @@ void raw_icmp_error(struct sk_buff *skb, int protocol, u32 info) { - int hash; - struct sock *raw_sk; + struct net *net = dev_net(skb->dev); + struct hlist_nulls_head *hlist; + struct hlist_nulls_node *hnode; + int dif = skb->dev->ifindex; + int sdif = inet_sdif(skb); const struct iphdr *iph; - struct net *net; + struct sock *sk; + int hash; hash = protocol & (RAW_HTABLE_SIZE - 1); + hlist = &raw_v4_hashinfo.ht[hash]; - read_lock(&raw_v4_hashinfo.lock); - raw_sk = sk_head(&raw_v4_hashinfo.ht[hash]); - if (raw_sk) { - int dif = skb->dev->ifindex; - int sdif = inet_sdif(skb); - + rcu_read_lock(); + hlist_nulls_for_each_entry(sk, hnode, hlist, sk_nulls_node) { iph = (const struct iphdr *)skb->data; - net = dev_net(skb->dev); - - while ((raw_sk = __raw_v4_lookup(net, raw_sk, protocol, - iph->daddr, iph->saddr, - dif, sdif)) != NULL) { - raw_err(raw_sk, skb, info); - raw_sk = sk_next(raw_sk); - iph = (const struct iphdr *)skb->data; - } + if (!raw_v4_match(net, sk, iph->protocol, + iph->daddr, iph->saddr, dif, sdif)) + continue; + raw_err(sk, skb, info); } - read_unlock(&raw_v4_hashinfo.lock); + rcu_read_unlock(); } static int raw_rcv_skb(struct sock *sk, struct sk_buff *skb) @@ -971,44 +943,41 @@ }; #ifdef CONFIG_PROC_FS -static struct sock *raw_get_first(struct seq_file *seq) +static struct sock *raw_get_first(struct seq_file *seq, int bucket) { - struct sock *sk; struct raw_hashinfo *h = pde_data(file_inode(seq->file)); struct raw_iter_state *state = raw_seq_private(seq); + struct hlist_nulls_head *hlist; + struct hlist_nulls_node *hnode; + struct sock *sk; - for (state->bucket = 0; state->bucket < RAW_HTABLE_SIZE; + for (state->bucket = bucket; state->bucket < RAW_HTABLE_SIZE; ++state->bucket) { - sk_for_each(sk, &h->ht[state->bucket]) + hlist = &h->ht[state->bucket]; + hlist_nulls_for_each_entry(sk, hnode, hlist, sk_nulls_node) { if (sock_net(sk) == seq_file_net(seq)) - goto found; + return sk; + } } - sk = NULL; -found: - return sk; + return NULL; } static struct sock *raw_get_next(struct seq_file *seq, struct sock *sk) { - struct raw_hashinfo *h = pde_data(file_inode(seq->file)); struct raw_iter_state *state = raw_seq_private(seq); do { - sk = sk_next(sk); -try_again: - ; + sk = sk_nulls_next(sk); } while (sk && sock_net(sk) != seq_file_net(seq)); - if (!sk && ++state->bucket < RAW_HTABLE_SIZE) { - sk = sk_head(&h->ht[state->bucket]); - goto try_again; - } + if (!sk) + return raw_get_first(seq, state->bucket + 1); return sk; } static struct sock *raw_get_idx(struct seq_file *seq, loff_t pos) { - struct sock *sk = raw_get_first(seq); + struct sock *sk = raw_get_first(seq, 0); if (sk) while (pos && (sk = raw_get_next(seq, sk)) != NULL) @@ -1017,11 +986,9 @@ } void *raw_seq_start(struct seq_file *seq, loff_t *pos) - __acquires(&h->lock) + __acquires(RCU) { - struct raw_hashinfo *h = pde_data(file_inode(seq->file)); - - read_lock(&h->lock); + rcu_read_lock(); return *pos ? raw_get_idx(seq, *pos - 1) : SEQ_START_TOKEN; } EXPORT_SYMBOL_GPL(raw_seq_start); @@ -1031,7 +998,7 @@ struct sock *sk; if (v == SEQ_START_TOKEN) - sk = raw_get_first(seq); + sk = raw_get_first(seq, 0); else sk = raw_get_next(seq, v); ++*pos; @@ -1040,11 +1007,9 @@ EXPORT_SYMBOL_GPL(raw_seq_next); void raw_seq_stop(struct seq_file *seq, void *v) - __releases(&h->lock) + __releases(RCU) { - struct raw_hashinfo *h = pde_data(file_inode(seq->file)); - - read_unlock(&h->lock); + rcu_read_unlock(); } EXPORT_SYMBOL_GPL(raw_seq_stop); @@ -1106,6 +1071,7 @@ int __init raw_proc_init(void) { + return register_pernet_subsys(&raw_net_ops); } --- linux-gcp-5.19.0.orig/net/ipv4/raw_diag.c +++ linux-gcp-5.19.0/net/ipv4/raw_diag.c @@ -34,57 +34,57 @@ * use helper to figure it out. */ -static struct sock *raw_lookup(struct net *net, struct sock *from, - const struct inet_diag_req_v2 *req) +static bool raw_lookup(struct net *net, struct sock *sk, + const struct inet_diag_req_v2 *req) { struct inet_diag_req_raw *r = (void *)req; - struct sock *sk = NULL; if (r->sdiag_family == AF_INET) - sk = __raw_v4_lookup(net, from, r->sdiag_raw_protocol, - r->id.idiag_dst[0], - r->id.idiag_src[0], - r->id.idiag_if, 0); + return raw_v4_match(net, sk, r->sdiag_raw_protocol, + r->id.idiag_dst[0], + r->id.idiag_src[0], + r->id.idiag_if, 0); #if IS_ENABLED(CONFIG_IPV6) else - sk = __raw_v6_lookup(net, from, r->sdiag_raw_protocol, - (const struct in6_addr *)r->id.idiag_src, - (const struct in6_addr *)r->id.idiag_dst, - r->id.idiag_if, 0); + return raw_v6_match(net, sk, r->sdiag_raw_protocol, + (const struct in6_addr *)r->id.idiag_src, + (const struct in6_addr *)r->id.idiag_dst, + r->id.idiag_if, 0); #endif - return sk; + return false; } static struct sock *raw_sock_get(struct net *net, const struct inet_diag_req_v2 *r) { struct raw_hashinfo *hashinfo = raw_get_hashinfo(r); - struct sock *sk = NULL, *s; + struct hlist_nulls_head *hlist; + struct hlist_nulls_node *hnode; + struct sock *sk; int slot; if (IS_ERR(hashinfo)) return ERR_CAST(hashinfo); - read_lock(&hashinfo->lock); + rcu_read_lock(); for (slot = 0; slot < RAW_HTABLE_SIZE; slot++) { - sk_for_each(s, &hashinfo->ht[slot]) { - sk = raw_lookup(net, s, r); - if (sk) { + hlist = &hashinfo->ht[slot]; + hlist_nulls_for_each_entry(sk, hnode, hlist, sk_nulls_node) { + if (raw_lookup(net, sk, r)) { /* * Grab it and keep until we fill - * diag meaage to be reported, so + * diag message to be reported, so * caller should call sock_put then. - * We can do that because we're keeping - * hashinfo->lock here. */ - sock_hold(sk); - goto out_unlock; + if (refcount_inc_not_zero(&sk->sk_refcnt)) + goto out_unlock; } } } + sk = ERR_PTR(-ENOENT); out_unlock: - read_unlock(&hashinfo->lock); + rcu_read_unlock(); - return sk ? sk : ERR_PTR(-ENOENT); + return sk; } static int raw_diag_dump_one(struct netlink_callback *cb, @@ -142,6 +142,8 @@ struct raw_hashinfo *hashinfo = raw_get_hashinfo(r); struct net *net = sock_net(skb->sk); struct inet_diag_dump_data *cb_data; + struct hlist_nulls_head *hlist; + struct hlist_nulls_node *hnode; int num, s_num, slot, s_slot; struct sock *sk = NULL; struct nlattr *bc; @@ -158,7 +160,8 @@ for (slot = s_slot; slot < RAW_HTABLE_SIZE; s_num = 0, slot++) { num = 0; - sk_for_each(sk, &hashinfo->ht[slot]) { + hlist = &hashinfo->ht[slot]; + hlist_nulls_for_each_entry(sk, hnode, hlist, sk_nulls_node) { struct inet_sock *inet = inet_sk(sk); if (!net_eq(sock_net(sk), net)) --- linux-gcp-5.19.0.orig/net/ipv4/syncookies.c +++ linux-gcp-5.19.0/net/ipv4/syncookies.c @@ -288,12 +288,11 @@ struct tcp_request_sock *treq; struct request_sock *req; -#ifdef CONFIG_MPTCP if (sk_is_mptcp(sk)) - ops = &mptcp_subflow_request_sock_ops; -#endif + req = mptcp_subflow_reqsk_alloc(ops, sk, false); + else + req = inet_reqsk_alloc(ops, sk, false); - req = inet_reqsk_alloc(ops, sk, false); if (!req) return NULL; --- linux-gcp-5.19.0.orig/net/ipv4/tcp.c +++ linux-gcp-5.19.0/net/ipv4/tcp.c @@ -433,6 +433,7 @@ /* There's a bubble in the pipe until at least the first ACK. */ tp->app_limited = ~0U; + tp->rate_app_limited = 1; /* See draft-stevens-tcpca-spec-01 for discussion of the * initialization of these values. @@ -455,6 +456,7 @@ WRITE_ONCE(sk->sk_sndbuf, READ_ONCE(sock_net(sk)->ipv4.sysctl_tcp_wmem[1])); WRITE_ONCE(sk->sk_rcvbuf, READ_ONCE(sock_net(sk)->ipv4.sysctl_tcp_rmem[1])); + set_bit(SOCK_SUPPORT_ZC, &sk->sk_socket->flags); sk_sockets_allocated_inc(sk); } EXPORT_SYMBOL(tcp_init_sock); @@ -952,6 +954,23 @@ return 0; } +static int tcp_wmem_schedule(struct sock *sk, int copy) +{ + int left; + + if (likely(sk_wmem_schedule(sk, copy))) + return copy; + + /* We could be in trouble if we have nothing queued. + * Use whatever is left in sk->sk_forward_alloc and tcp_wmem[0] + * to guarantee some progress. + */ + left = sock_net(sk)->ipv4.sysctl_tcp_wmem[0] - sk->sk_wmem_queued; + if (left > 0) + sk_forced_mem_schedule(sk, min(left, copy)); + return min(copy, sk->sk_forward_alloc); +} + static struct sk_buff *tcp_build_frag(struct sock *sk, int size_goal, int flags, struct page *page, int offset, size_t *size) { @@ -983,18 +1002,22 @@ i = skb_shinfo(skb)->nr_frags; can_coalesce = skb_can_coalesce(skb, i, page, offset); - if (!can_coalesce && i >= sysctl_max_skb_frags) { + if (!can_coalesce && i >= READ_ONCE(sysctl_max_skb_frags)) { tcp_mark_push(tp, skb); goto new_segment; } - if (tcp_downgrade_zcopy_pure(sk, skb) || !sk_wmem_schedule(sk, copy)) + if (tcp_downgrade_zcopy_pure(sk, skb)) + return NULL; + + copy = tcp_wmem_schedule(sk, copy); + if (!copy) return NULL; if (can_coalesce) { skb_frag_size_add(&skb_shinfo(skb)->frags[i - 1], copy); } else { get_page(page); - skb_fill_page_desc(skb, i, page, offset, copy); + skb_fill_page_desc_noacc(skb, i, page, offset, copy); } if (!(flags & MSG_NO_SHARED_FRAGS)) @@ -1327,7 +1350,7 @@ if (!skb_can_coalesce(skb, i, pfrag->page, pfrag->offset)) { - if (i >= sysctl_max_skb_frags) { + if (i >= READ_ONCE(sysctl_max_skb_frags)) { tcp_mark_push(tp, skb); goto new_segment; } @@ -1336,8 +1359,11 @@ copy = min_t(int, copy, pfrag->size - pfrag->offset); - if (tcp_downgrade_zcopy_pure(sk, skb) || - !sk_wmem_schedule(sk, copy)) + if (tcp_downgrade_zcopy_pure(sk, skb)) + goto wait_for_space; + + copy = tcp_wmem_schedule(sk, copy); + if (!copy) goto wait_for_space; err = skb_copy_to_page_nocache(sk, &msg->msg_iter, skb, @@ -1364,7 +1390,8 @@ skb_shinfo(skb)->flags |= SKBFL_PURE_ZEROCOPY; if (!skb_zcopy_pure(skb)) { - if (!sk_wmem_schedule(sk, copy)) + copy = tcp_wmem_schedule(sk, copy); + if (!copy) goto wait_for_space; } @@ -3017,6 +3044,8 @@ tp->snd_ssthresh = TCP_INFINITE_SSTHRESH; tcp_snd_cwnd_set(tp, TCP_INIT_CWND); tp->snd_cwnd_cnt = 0; + tp->is_cwnd_limited = 0; + tp->max_packets_out = 0; tp->window_clamp = 0; tp->delivered = 0; tp->delivered_ce = 0; @@ -3056,6 +3085,7 @@ tp->last_oow_ack_time = 0; /* There's a bubble in the pipe until at least the first ACK. */ tp->app_limited = ~0U; + tp->rate_app_limited = 1; tp->rack.mstamp = 0; tp->rack.advanced = 0; tp->rack.reo_wnd_steps = 1; @@ -3525,7 +3555,7 @@ case TCP_REPAIR_OPTIONS: if (!tp->repair) err = -EINVAL; - else if (sk->sk_state == TCP_ESTABLISHED) + else if (sk->sk_state == TCP_ESTABLISHED && !tp->bytes_sent) err = tcp_repair_options_est(sk, optval, optlen); else err = -EPERM; @@ -3675,8 +3705,9 @@ const struct inet_connection_sock *icsk = inet_csk(sk); if (level != SOL_TCP) - return icsk->icsk_af_ops->setsockopt(sk, level, optname, - optval, optlen); + /* Paired with WRITE_ONCE() in do_ipv6_setsockopt() and tcp_v6_connect() */ + return READ_ONCE(icsk->icsk_af_ops)->setsockopt(sk, level, optname, + optval, optlen); return do_tcp_setsockopt(sk, level, optname, optval, optlen); } EXPORT_SYMBOL(tcp_setsockopt); @@ -4274,8 +4305,9 @@ struct inet_connection_sock *icsk = inet_csk(sk); if (level != SOL_TCP) - return icsk->icsk_af_ops->getsockopt(sk, level, optname, - optval, optlen); + /* Paired with WRITE_ONCE() in do_ipv6_setsockopt() and tcp_v6_connect() */ + return READ_ONCE(icsk->icsk_af_ops)->getsockopt(sk, level, optname, + optval, optlen); return do_tcp_getsockopt(sk, level, optname, optval, optlen); } EXPORT_SYMBOL(tcp_getsockopt); @@ -4322,12 +4354,16 @@ * to memory. See smp_rmb() in tcp_get_md5sig_pool() */ smp_wmb(); - tcp_md5sig_pool_populated = true; + /* Paired with READ_ONCE() from tcp_alloc_md5sig_pool() + * and tcp_get_md5sig_pool(). + */ + WRITE_ONCE(tcp_md5sig_pool_populated, true); } bool tcp_alloc_md5sig_pool(void) { - if (unlikely(!tcp_md5sig_pool_populated)) { + /* Paired with WRITE_ONCE() from __tcp_alloc_md5sig_pool() */ + if (unlikely(!READ_ONCE(tcp_md5sig_pool_populated))) { mutex_lock(&tcp_md5sig_mutex); if (!tcp_md5sig_pool_populated) { @@ -4338,7 +4374,8 @@ mutex_unlock(&tcp_md5sig_mutex); } - return tcp_md5sig_pool_populated; + /* Paired with WRITE_ONCE() from __tcp_alloc_md5sig_pool() */ + return READ_ONCE(tcp_md5sig_pool_populated); } EXPORT_SYMBOL(tcp_alloc_md5sig_pool); @@ -4354,7 +4391,8 @@ { local_bh_disable(); - if (tcp_md5sig_pool_populated) { + /* Paired with WRITE_ONCE() from __tcp_alloc_md5sig_pool() */ + if (READ_ONCE(tcp_md5sig_pool_populated)) { /* coupled with smp_wmb() in __tcp_alloc_md5sig_pool() */ smp_rmb(); return this_cpu_ptr(&tcp_md5sig_pool); --- linux-gcp-5.19.0.orig/net/ipv4/tcp_bpf.c +++ linux-gcp-5.19.0/net/ipv4/tcp_bpf.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include @@ -45,8 +46,11 @@ tmp->sg.end = i; if (apply) { apply_bytes -= size; - if (!apply_bytes) + if (!apply_bytes) { + if (sge->length) + sk_msg_iter_var_prev(i); break; + } } } while (i != msg->sg.end); @@ -131,10 +135,9 @@ return ret; } -int tcp_bpf_sendmsg_redir(struct sock *sk, struct sk_msg *msg, - u32 bytes, int flags) +int tcp_bpf_sendmsg_redir(struct sock *sk, bool ingress, + struct sk_msg *msg, u32 bytes, int flags) { - bool ingress = sk_msg_to_ingress(msg); struct sk_psock *psock = sk_psock_get(sk); int ret; @@ -276,10 +279,10 @@ static int tcp_bpf_send_verdict(struct sock *sk, struct sk_psock *psock, struct sk_msg *msg, int *copied, int flags) { - bool cork = false, enospc = sk_msg_full(msg); + bool cork = false, enospc = sk_msg_full(msg), redir_ingress; struct sock *sk_redir; - u32 tosend, delta = 0; - u32 eval = __SK_NONE; + u32 tosend, origsize, sent, delta = 0; + u32 eval; int ret; more_data: @@ -310,6 +313,7 @@ tosend = msg->sg.size; if (psock->apply_bytes && psock->apply_bytes < tosend) tosend = psock->apply_bytes; + eval = __SK_NONE; switch (psock->eval) { case __SK_PASS: @@ -321,6 +325,7 @@ sk_msg_apply_bytes(psock, tosend); break; case __SK_REDIRECT: + redir_ingress = psock->redir_ingress; sk_redir = psock->sk_redir; sk_msg_apply_bytes(psock, tosend); if (!psock->apply_bytes) { @@ -333,10 +338,13 @@ cork = true; psock->cork = NULL; } - sk_msg_return(sk, msg, msg->sg.size); + sk_msg_return(sk, msg, tosend); release_sock(sk); - ret = tcp_bpf_sendmsg_redir(sk_redir, msg, tosend, flags); + origsize = msg->sg.size; + ret = tcp_bpf_sendmsg_redir(sk_redir, redir_ingress, + msg, tosend, flags); + sent = origsize - msg->sg.size; if (eval == __SK_REDIRECT) sock_put(sk_redir); @@ -375,7 +383,7 @@ msg->sg.data[msg->sg.start].page_link && msg->sg.data[msg->sg.start].length) { if (eval == __SK_REDIRECT) - sk_mem_charge(sk, msg->sg.size); + sk_mem_charge(sk, tosend - sent); goto more_data; } } @@ -540,6 +548,7 @@ struct proto *base) { prot[TCP_BPF_BASE] = *base; + prot[TCP_BPF_BASE].destroy = sock_map_destroy; prot[TCP_BPF_BASE].close = sock_map_close; prot[TCP_BPF_BASE].recvmsg = tcp_bpf_recvmsg; prot[TCP_BPF_BASE].sock_is_readable = sk_msg_is_readable; @@ -606,7 +615,7 @@ } else { sk->sk_write_space = psock->saved_write_space; /* Pairs with lockless read in sk_clone_lock() */ - WRITE_ONCE(sk->sk_prot, psock->sk_proto); + sock_replace_proto(sk, psock->sk_proto); } return 0; } @@ -619,7 +628,7 @@ } /* Pairs with lockless read in sk_clone_lock() */ - WRITE_ONCE(sk->sk_prot, &tcp_bpf_prots[family][config]); + sock_replace_proto(sk, &tcp_bpf_prots[family][config]); return 0; } EXPORT_SYMBOL_GPL(tcp_bpf_update_proto); @@ -631,10 +640,9 @@ */ void tcp_bpf_clone(const struct sock *sk, struct sock *newsk) { - int family = sk->sk_family == AF_INET6 ? TCP_BPF_IPV6 : TCP_BPF_IPV4; struct proto *prot = newsk->sk_prot; - if (prot == &tcp_bpf_prots[family][TCP_BPF_BASE]) + if (is_insidevar(prot, tcp_bpf_prots)) newsk->sk_prot = sk->sk_prot_creator; } #endif /* CONFIG_BPF_SYSCALL */ --- linux-gcp-5.19.0.orig/net/ipv4/tcp_cdg.c +++ linux-gcp-5.19.0/net/ipv4/tcp_cdg.c @@ -375,6 +375,7 @@ struct cdg *ca = inet_csk_ca(sk); struct tcp_sock *tp = tcp_sk(sk); + ca->gradients = NULL; /* We silently fall back to window = 1 if allocation fails. */ if (window > 1) ca->gradients = kcalloc(window, sizeof(ca->gradients[0]), @@ -388,6 +389,7 @@ struct cdg *ca = inet_csk_ca(sk); kfree(ca->gradients); + ca->gradients = NULL; } static struct tcp_congestion_ops tcp_cdg __read_mostly = { --- linux-gcp-5.19.0.orig/net/ipv4/tcp_input.c +++ linux-gcp-5.19.0/net/ipv4/tcp_input.c @@ -2193,7 +2193,8 @@ */ static bool tcp_check_sack_reneging(struct sock *sk, int flag) { - if (flag & FLAG_SACK_RENEGING) { + if (flag & FLAG_SACK_RENEGING && + flag & FLAG_SND_UNA_ADVANCED) { struct tcp_sock *tp = tcp_sk(sk); unsigned long delay = max(usecs_to_jiffies(tp->srtt_us >> 4), msecs_to_jiffies(10)); @@ -2514,6 +2515,21 @@ return tp->undo_marker && (!tp->undo_retrans || tcp_packet_delayed(tp)); } +static bool tcp_is_non_sack_preventing_reopen(struct sock *sk) +{ + struct tcp_sock *tp = tcp_sk(sk); + + if (tp->snd_una == tp->high_seq && tcp_is_reno(tp)) { + /* Hold old state until something *above* high_seq + * is ACKed. For Reno it is MUST to prevent false + * fast retransmits (RFC2582). SACK TCP is safe. */ + if (!tcp_any_retrans_done(sk)) + tp->retrans_stamp = 0; + return true; + } + return false; +} + /* People celebrate: "We love our President!" */ static bool tcp_try_undo_recovery(struct sock *sk) { @@ -2536,14 +2552,8 @@ } else if (tp->rack.reo_wnd_persist) { tp->rack.reo_wnd_persist--; } - if (tp->snd_una == tp->high_seq && tcp_is_reno(tp)) { - /* Hold old state until something *above* high_seq - * is ACKed. For Reno it is MUST to prevent false - * fast retransmits (RFC2582). SACK TCP is safe. */ - if (!tcp_any_retrans_done(sk)) - tp->retrans_stamp = 0; + if (tcp_is_non_sack_preventing_reopen(sk)) return true; - } tcp_set_ca_state(sk, TCP_CA_Open); tp->is_sack_reneg = 0; return false; @@ -2579,6 +2589,8 @@ NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPSPURIOUSRTOS); inet_csk(sk)->icsk_retransmits = 0; + if (tcp_is_non_sack_preventing_reopen(sk)) + return true; if (frto_undo || tcp_is_sack(tp)) { tcp_set_ca_state(sk, TCP_CA_Open); tp->is_sack_reneg = 0; @@ -3630,11 +3642,11 @@ /* Then check host-wide RFC 5961 rate limit. */ now = jiffies / HZ; - if (now != challenge_timestamp) { + if (now != READ_ONCE(challenge_timestamp)) { u32 ack_limit = READ_ONCE(net->ipv4.sysctl_tcp_challenge_ack_limit); u32 half = (ack_limit + 1) >> 1; - challenge_timestamp = now; + WRITE_ONCE(challenge_timestamp, now); WRITE_ONCE(challenge_count, half + prandom_u32_max(ack_limit)); } count = READ_ONCE(challenge_count); --- linux-gcp-5.19.0.orig/net/ipv4/tcp_ipv4.c +++ linux-gcp-5.19.0/net/ipv4/tcp_ipv4.c @@ -323,6 +323,8 @@ * if necessary. */ tcp_set_state(sk, TCP_CLOSE); + if (!(sk->sk_userlocks & SOCK_BINDADDR_LOCK)) + inet_reset_saddr(sk); ip_rt_put(rt); sk->sk_route_caps = 0; inet->inet_dport = 0; @@ -819,6 +821,7 @@ ctl_sk->sk_priority = (sk->sk_state == TCP_TIME_WAIT) ? inet_twsk(sk)->tw_priority : sk->sk_priority; transmit_time = tcp_transmit_time(sk); + xfrm_sk_clone_policy(ctl_sk, sk); } ip_send_unicast_reply(ctl_sk, skb, &TCP_SKB_CB(skb)->header.h4.opt, @@ -827,6 +830,7 @@ transmit_time); ctl_sk->sk_mark = 0; + xfrm_sk_free_policy(ctl_sk); sock_net_set(ctl_sk, &init_net); __TCP_INC_STATS(net, TCP_MIB_OUTSEGS); __TCP_INC_STATS(net, TCP_MIB_OUTRSTS); @@ -1851,11 +1855,13 @@ __skb_push(skb, hdrlen); no_coalesce: + limit = (u32)READ_ONCE(sk->sk_rcvbuf) + (u32)(READ_ONCE(sk->sk_sndbuf) >> 1); + /* Only socket owner can try to collapse/prune rx queues * to reduce memory overhead, so add a little headroom here. * Few sockets backlog are possibly concurrently non empty. */ - limit = READ_ONCE(sk->sk_rcvbuf) + READ_ONCE(sk->sk_sndbuf) + 64*1024; + limit += 64 * 1024; if (unlikely(sk_add_backlog(sk, skb, limit))) { bh_unlock_sock(sk); --- linux-gcp-5.19.0.orig/net/ipv4/tcp_output.c +++ linux-gcp-5.19.0/net/ipv4/tcp_output.c @@ -239,7 +239,7 @@ if (wscale_ok) { /* Set window scaling on max possible window */ space = max_t(u32, space, READ_ONCE(sock_net(sk)->ipv4.sysctl_tcp_rmem[2])); - space = max_t(u32, space, sysctl_rmem_max); + space = max_t(u32, space, READ_ONCE(sysctl_rmem_max)); space = min_t(u32, space, *window_clamp); *rcv_wscale = clamp_t(int, ilog2(space) - 15, 0, TCP_MAX_WSCALE); @@ -1875,15 +1875,20 @@ const struct tcp_congestion_ops *ca_ops = inet_csk(sk)->icsk_ca_ops; struct tcp_sock *tp = tcp_sk(sk); - /* Track the maximum number of outstanding packets in each - * window, and remember whether we were cwnd-limited then. - */ - if (!before(tp->snd_una, tp->max_packets_seq) || - tp->packets_out > tp->max_packets_out || - is_cwnd_limited) { - tp->max_packets_out = tp->packets_out; - tp->max_packets_seq = tp->snd_nxt; + /* Track the strongest available signal of the degree to which the cwnd + * is fully utilized. If cwnd-limited then remember that fact for the + * current window. If not cwnd-limited then track the maximum number of + * outstanding packets in the current window. (If cwnd-limited then we + * chose to not update tp->max_packets_out to avoid an extra else + * clause with no functional impact.) + */ + if (!before(tp->snd_una, tp->cwnd_usage_seq) || + is_cwnd_limited || + (!tp->is_cwnd_limited && + tp->packets_out > tp->max_packets_out)) { tp->is_cwnd_limited = is_cwnd_limited; + tp->max_packets_out = tp->packets_out; + tp->cwnd_usage_seq = tp->snd_nxt; } if (tcp_is_cwnd_limited(sk)) { @@ -3142,7 +3147,7 @@ struct tcp_sock *tp = tcp_sk(sk); unsigned int cur_mss; int diff, len, err; - + int avail_wnd; /* Inconclusive MTU probe */ if (icsk->icsk_mtup.probe_size) @@ -3164,17 +3169,25 @@ return -EHOSTUNREACH; /* Routing failure or similar. */ cur_mss = tcp_current_mss(sk); + avail_wnd = tcp_wnd_end(tp) - TCP_SKB_CB(skb)->seq; /* If receiver has shrunk his window, and skb is out of * new window, do not retransmit it. The exception is the * case, when window is shrunk to zero. In this case - * our retransmit serves as a zero window probe. + * our retransmit of one segment serves as a zero window probe. */ - if (!before(TCP_SKB_CB(skb)->seq, tcp_wnd_end(tp)) && - TCP_SKB_CB(skb)->seq != tp->snd_una) - return -EAGAIN; + if (avail_wnd <= 0) { + if (TCP_SKB_CB(skb)->seq != tp->snd_una) + return -EAGAIN; + avail_wnd = cur_mss; + } len = cur_mss * segs; + if (len > avail_wnd) { + len = rounddown(avail_wnd, cur_mss); + if (!len) + len = avail_wnd; + } if (skb->len > len) { if (tcp_fragment(sk, TCP_FRAG_IN_RTX_QUEUE, skb, len, cur_mss, GFP_ATOMIC)) @@ -3188,8 +3201,9 @@ diff -= tcp_skb_pcount(skb); if (diff) tcp_adjust_pcount(sk, skb, diff); - if (skb->len < cur_mss) - tcp_retrans_try_collapse(sk, skb, cur_mss); + avail_wnd = min_t(int, avail_wnd, cur_mss); + if (skb->len < avail_wnd) + tcp_retrans_try_collapse(sk, skb, avail_wnd); } /* RFC3168, section 6.1.1.1. ECN fallback */ @@ -3360,11 +3374,12 @@ */ void sk_forced_mem_schedule(struct sock *sk, int size) { - int amt; + int delta, amt; - if (size <= sk->sk_forward_alloc) + delta = size - sk->sk_forward_alloc; + if (delta <= 0) return; - amt = sk_mem_pages(size); + amt = sk_mem_pages(delta); sk->sk_forward_alloc += amt * SK_MEM_QUANTUM; sk_memory_allocated_add(sk, amt); --- linux-gcp-5.19.0.orig/net/ipv4/tcp_ulp.c +++ linux-gcp-5.19.0/net/ipv4/tcp_ulp.c @@ -136,6 +136,13 @@ if (icsk->icsk_ulp_ops) goto out_err; + if (sk->sk_socket) + clear_bit(SOCK_SUPPORT_ZC, &sk->sk_socket->flags); + + err = -ENOTCONN; + if (!ulp_ops->clone && sk->sk_state == TCP_LISTEN) + goto out_err; + err = ulp_ops->init(sk); if (err) goto out_err; --- linux-gcp-5.19.0.orig/net/ipv4/udp.c +++ linux-gcp-5.19.0/net/ipv4/udp.c @@ -446,7 +446,7 @@ result = lookup_reuseport(net, sk, skb, saddr, sport, daddr, hnum); /* Fall back to scoring if group has connections */ - if (result && !reuseport_has_conns(sk, false)) + if (result && !reuseport_has_conns(sk)) return result; result = result ? : sk; @@ -781,6 +781,8 @@ */ if (tunnel) { /* ...not for tunnels though: we don't have a sending socket */ + if (udp_sk(sk)->encap_err_rcv) + udp_sk(sk)->encap_err_rcv(sk, skb, iph->ihl << 2); goto out; } if (!inet->recverr) { @@ -1616,6 +1618,7 @@ { skb_queue_head_init(&udp_sk(sk)->reader_queue); sk->sk_destruct = udp_destruct_sock; + set_bit(SOCK_SUPPORT_ZC, &sk->sk_socket->flags); return 0; } EXPORT_SYMBOL_GPL(udp_init_sock); --- linux-gcp-5.19.0.orig/net/ipv4/udp_bpf.c +++ linux-gcp-5.19.0/net/ipv4/udp_bpf.c @@ -141,14 +141,14 @@ if (restore) { sk->sk_write_space = psock->saved_write_space; - WRITE_ONCE(sk->sk_prot, psock->sk_proto); + sock_replace_proto(sk, psock->sk_proto); return 0; } if (sk->sk_family == AF_INET6) udp_bpf_check_v6_needs_rebuild(psock->sk_proto); - WRITE_ONCE(sk->sk_prot, &udp_bpf_prots[family]); + sock_replace_proto(sk, &udp_bpf_prots[family]); return 0; } EXPORT_SYMBOL_GPL(udp_bpf_update_proto); --- linux-gcp-5.19.0.orig/net/ipv4/udp_tunnel_core.c +++ linux-gcp-5.19.0/net/ipv4/udp_tunnel_core.c @@ -72,6 +72,7 @@ udp_sk(sk)->encap_type = cfg->encap_type; udp_sk(sk)->encap_rcv = cfg->encap_rcv; + udp_sk(sk)->encap_err_rcv = cfg->encap_err_rcv; udp_sk(sk)->encap_err_lookup = cfg->encap_err_lookup; udp_sk(sk)->encap_destroy = cfg->encap_destroy; udp_sk(sk)->gro_receive = cfg->gro_receive; @@ -175,6 +176,7 @@ void udp_tunnel_sock_release(struct socket *sock) { rcu_assign_sk_user_data(sock->sk, NULL); + synchronize_rcu(); kernel_sock_shutdown(sock, SHUT_RDWR); sock_release(sock); } --- linux-gcp-5.19.0.orig/net/ipv6/addrconf.c +++ linux-gcp-5.19.0/net/ipv6/addrconf.c @@ -3127,17 +3127,17 @@ offset = sizeof(struct in6_addr) - 4; memcpy(&addr.s6_addr32[3], idev->dev->dev_addr + offset, 4); - if (idev->dev->flags&IFF_POINTOPOINT) { + if (!(idev->dev->flags & IFF_POINTOPOINT) && idev->dev->type == ARPHRD_SIT) { + scope = IPV6_ADDR_COMPATv4; + plen = 96; + pflags |= RTF_NONEXTHOP; + } else { if (idev->cnf.addr_gen_mode == IN6_ADDR_GEN_MODE_NONE) return; addr.s6_addr32[0] = htonl(0xfe800000); scope = IFA_LINK; plen = 64; - } else { - scope = IPV6_ADDR_COMPATv4; - plen = 96; - pflags |= RTF_NONEXTHOP; } if (addr.s6_addr32[3]) { @@ -3447,6 +3447,30 @@ } #endif +static void addrconf_init_auto_addrs(struct net_device *dev) +{ + switch (dev->type) { +#if IS_ENABLED(CONFIG_IPV6_SIT) + case ARPHRD_SIT: + addrconf_sit_config(dev); + break; +#endif +#if IS_ENABLED(CONFIG_NET_IPGRE) || IS_ENABLED(CONFIG_IPV6_GRE) + case ARPHRD_IP6GRE: + case ARPHRD_IPGRE: + addrconf_gre_config(dev); + break; +#endif + case ARPHRD_LOOPBACK: + init_loopback(dev); + break; + + default: + addrconf_dev_config(dev); + break; + } +} + static int fixup_permanent_addr(struct net *net, struct inet6_dev *idev, struct inet6_ifaddr *ifp) @@ -3557,11 +3581,15 @@ fallthrough; case NETDEV_UP: case NETDEV_CHANGE: - if (dev->flags & IFF_SLAVE) + if (idev && idev->cnf.disable_ipv6) break; - if (idev && idev->cnf.disable_ipv6) + if (dev->flags & IFF_SLAVE) { + if (event == NETDEV_UP && !IS_ERR_OR_NULL(idev) && + dev->flags & IFF_UP && dev->flags & IFF_MULTICAST) + ipv6_mc_up(idev); break; + } if (event == NETDEV_UP) { /* restore routes for permanent addresses */ @@ -3611,26 +3639,7 @@ run_pending = 1; } - switch (dev->type) { -#if IS_ENABLED(CONFIG_IPV6_SIT) - case ARPHRD_SIT: - addrconf_sit_config(dev); - break; -#endif -#if IS_ENABLED(CONFIG_NET_IPGRE) || IS_ENABLED(CONFIG_IPV6_GRE) - case ARPHRD_IP6GRE: - case ARPHRD_IPGRE: - addrconf_gre_config(dev); - break; -#endif - case ARPHRD_LOOPBACK: - init_loopback(dev); - break; - - default: - addrconf_dev_config(dev); - break; - } + addrconf_init_auto_addrs(dev); if (!IS_ERR_OR_NULL(idev)) { if (run_pending) @@ -6389,7 +6398,7 @@ if (idev->cnf.addr_gen_mode != new_val) { idev->cnf.addr_gen_mode = new_val; - addrconf_dev_config(idev->dev); + addrconf_init_auto_addrs(idev->dev); } } else if (&net->ipv6.devconf_all->addr_gen_mode == ctl->data) { struct net_device *dev; @@ -6400,7 +6409,7 @@ if (idev && idev->cnf.addr_gen_mode != new_val) { idev->cnf.addr_gen_mode = new_val; - addrconf_dev_config(idev->dev); + addrconf_init_auto_addrs(idev->dev); } } } @@ -7158,9 +7167,8 @@ if (!dflt) goto err_alloc_dflt; - if (IS_ENABLED(CONFIG_SYSCTL) && - !net_eq(net, &init_net)) { - switch (sysctl_devconf_inherit_init_net) { + if (!net_eq(net, &init_net)) { + switch (net_inherit_devconf()) { case 1: /* copy from init_net */ memcpy(all, init_net.ipv6.devconf_all, sizeof(ipv6_devconf)); @@ -7207,9 +7215,11 @@ __addrconf_sysctl_unregister(net, all, NETCONFA_IFINDEX_ALL); err_reg_all: kfree(dflt); + net->ipv6.devconf_dflt = NULL; #endif err_alloc_dflt: kfree(all); + net->ipv6.devconf_all = NULL; err_alloc_all: kfree(net->ipv6.inet6_addr_lst); err_alloc_addr: --- linux-gcp-5.19.0.orig/net/ipv6/addrlabel.c +++ linux-gcp-5.19.0/net/ipv6/addrlabel.c @@ -437,6 +437,7 @@ { struct ifaddrlblmsg *ifal = nlmsg_data(nlh); ifal->ifal_family = AF_INET6; + ifal->__ifal_reserved = 0; ifal->ifal_prefixlen = prefixlen; ifal->ifal_flags = 0; ifal->ifal_index = ifindex; --- linux-gcp-5.19.0.orig/net/ipv6/af_inet6.c +++ linux-gcp-5.19.0/net/ipv6/af_inet6.c @@ -63,6 +63,7 @@ #include #include #include +#include #include #include @@ -214,6 +215,7 @@ np->pmtudisc = IPV6_PMTUDISC_WANT; np->repflow = net->ipv6.sysctl.flowlabel_reflect & FLOWLABEL_REFLECT_ESTABLISHED; sk->sk_ipv6only = net->ipv6.sysctl.bindv6only; + sk->sk_txrehash = READ_ONCE(net->core.sysctl_txrehash); /* Init the ipv4 part of the socket since we can have sockets * using v6 API for ipv4. @@ -1068,6 +1070,8 @@ for (r = &inetsw6[0]; r < &inetsw6[SOCK_MAX]; ++r) INIT_LIST_HEAD(r); + raw_hashinfo_init(&raw_v6_hashinfo); + if (disable_ipv6_mod) { pr_info("Loaded, but administratively disabled, reboot required to enable\n"); goto out; --- linux-gcp-5.19.0.orig/net/ipv6/datagram.c +++ linux-gcp-5.19.0/net/ipv6/datagram.c @@ -42,24 +42,29 @@ { struct inet_sock *inet = inet_sk(sk); struct ipv6_pinfo *np = inet6_sk(sk); + int oif = sk->sk_bound_dev_if; memset(fl6, 0, sizeof(*fl6)); fl6->flowi6_proto = sk->sk_protocol; fl6->daddr = sk->sk_v6_daddr; fl6->saddr = np->saddr; - fl6->flowi6_oif = sk->sk_bound_dev_if; fl6->flowi6_mark = sk->sk_mark; fl6->fl6_dport = inet->inet_dport; fl6->fl6_sport = inet->inet_sport; - fl6->flowlabel = np->flow_label; + fl6->flowlabel = ip6_make_flowinfo(np->tclass, np->flow_label); fl6->flowi6_uid = sk->sk_uid; - if (!fl6->flowi6_oif) - fl6->flowi6_oif = np->sticky_pktinfo.ipi6_ifindex; + if (!oif) + oif = np->sticky_pktinfo.ipi6_ifindex; - if (!fl6->flowi6_oif && ipv6_addr_is_multicast(&fl6->daddr)) - fl6->flowi6_oif = np->mcast_oif; + if (!oif) { + if (ipv6_addr_is_multicast(&fl6->daddr)) + oif = np->mcast_oif; + else + oif = np->ucast_oif; + } + fl6->flowi6_oif = oif; security_sk_classify_flow(sk, flowi6_to_flowi_common(fl6)); } @@ -256,7 +261,7 @@ goto out; } - reuseport_has_conns(sk, true); + reuseport_has_conns_set(sk); sk->sk_state = TCP_ESTABLISHED; sk_set_txhash(sk); out: --- linux-gcp-5.19.0.orig/net/ipv6/esp6_offload.c +++ linux-gcp-5.19.0/net/ipv6/esp6_offload.c @@ -145,7 +145,10 @@ struct sk_buff *skb, netdev_features_t features) { - return skb_eth_gso_segment(skb, features, htons(ETH_P_IPV6)); + __be16 type = x->inner_mode.family == AF_INET ? htons(ETH_P_IP) + : htons(ETH_P_IPV6); + + return skb_eth_gso_segment(skb, features, type); } static struct sk_buff *xfrm6_transport_gso_segment(struct xfrm_state *x, @@ -343,6 +346,9 @@ xo->seq.low += skb_shinfo(skb)->gso_segs; } + if (xo->seq.low < seq) + xo->seq.hi++; + esp.seqno = cpu_to_be64(xo->seq.low + ((u64)xo->seq.hi << 32)); len = skb->len - sizeof(struct ipv6hdr); --- linux-gcp-5.19.0.orig/net/ipv6/ip6_gre.c +++ linux-gcp-5.19.0/net/ipv6/ip6_gre.c @@ -1148,14 +1148,16 @@ dev->needed_headroom = dst_len; if (set_mtu) { - dev->mtu = rt->dst.dev->mtu - t_hlen; + int mtu = rt->dst.dev->mtu - t_hlen; + if (!(t->parms.flags & IP6_TNL_F_IGN_ENCAP_LIMIT)) - dev->mtu -= 8; + mtu -= 8; if (dev->type == ARPHRD_ETHER) - dev->mtu -= ETH_HLEN; + mtu -= ETH_HLEN; - if (dev->mtu < IPV6_MIN_MTU) - dev->mtu = IPV6_MIN_MTU; + if (mtu < IPV6_MIN_MTU) + mtu = IPV6_MIN_MTU; + WRITE_ONCE(dev->mtu, mtu); } } ip6_rt_put(rt); --- linux-gcp-5.19.0.orig/net/ipv6/ip6_output.c +++ linux-gcp-5.19.0/net/ipv6/ip6_output.c @@ -492,6 +492,9 @@ u32 mtu; idev = __in6_dev_get_safely(dev_get_by_index_rcu(net, IP6CB(skb)->iif)); + if (unlikely(!idev)) + idev = __in6_dev_get_safely(skb->dev); + if (net->ipv6.devconf_all->forwarding == 0) goto error; @@ -547,7 +550,20 @@ pneigh_lookup(&nd_tbl, net, &hdr->daddr, skb->dev, 0)) { int proxied = ip6_forward_proxy_check(skb); if (proxied > 0) { - hdr->hop_limit--; + /* It's tempting to decrease the hop limit + * here by 1, as we do at the end of the + * function too. + * + * But that would be incorrect, as proxying is + * not forwarding. The ip6_input function + * will handle this packet locally, and it + * depends on the hop limit being unchanged. + * + * One example is the NDP hop limit, that + * always has to stay 255, but other would be + * similar checks around RA packets, where the + * user can even change the desired limit. + */ return ip6_input(skb); } else if (proxied < 0) { __IP6_INC_STATS(net, idev, IPSTATS_MIB_INDISCARDS); @@ -920,6 +936,9 @@ if (err < 0) goto fail; + /* We prevent @rt from being freed. */ + rcu_read_lock(); + for (;;) { /* Prepare header of the next frame, * before previous one went down. */ @@ -943,6 +962,7 @@ if (err == 0) { IP6_INC_STATS(net, ip6_dst_idev(&rt->dst), IPSTATS_MIB_FRAGOKS); + rcu_read_unlock(); return 0; } @@ -950,6 +970,7 @@ IP6_INC_STATS(net, ip6_dst_idev(&rt->dst), IPSTATS_MIB_FRAGFAILS); + rcu_read_unlock(); return err; slow_path_clean: @@ -1311,8 +1332,7 @@ fl6.daddr = info->key.u.ipv6.dst; fl6.saddr = info->key.u.ipv6.src; prio = info->key.tos; - fl6.flowlabel = ip6_make_flowinfo(RT_TOS(prio), - info->key.label); + fl6.flowlabel = ip6_make_flowinfo(prio, info->key.label); dst = ipv6_stub->ipv6_dst_lookup_flow(net, sock->sk, &fl6, NULL); --- linux-gcp-5.19.0.orig/net/ipv6/ip6_tunnel.c +++ linux-gcp-5.19.0/net/ipv6/ip6_tunnel.c @@ -1452,8 +1452,8 @@ struct net_device *tdev = NULL; struct __ip6_tnl_parm *p = &t->parms; struct flowi6 *fl6 = &t->fl.u.ip6; - unsigned int mtu; int t_hlen; + int mtu; __dev_addr_set(dev, &p->laddr, sizeof(struct in6_addr)); memcpy(dev->broadcast, &p->raddr, sizeof(struct in6_addr)); @@ -1500,12 +1500,13 @@ dev->hard_header_len = tdev->hard_header_len + t_hlen; mtu = min_t(unsigned int, tdev->mtu, IP6_MAX_MTU); - dev->mtu = mtu - t_hlen; + mtu = mtu - t_hlen; if (!(t->parms.flags & IP6_TNL_F_IGN_ENCAP_LIMIT)) - dev->mtu -= 8; + mtu -= 8; - if (dev->mtu < IPV6_MIN_MTU) - dev->mtu = IPV6_MIN_MTU; + if (mtu < IPV6_MIN_MTU) + mtu = IPV6_MIN_MTU; + WRITE_ONCE(dev->mtu, mtu); } } } --- linux-gcp-5.19.0.orig/net/ipv6/ipv6_sockglue.c +++ linux-gcp-5.19.0/net/ipv6/ipv6_sockglue.c @@ -210,7 +210,7 @@ if (optlen < GROUP_FILTER_SIZE(0)) return -EINVAL; - if (optlen > sysctl_optmem_max) + if (optlen > READ_ONCE(sysctl_optmem_max)) return -ENOBUFS; gsf = memdup_sockptr(optval, optlen); @@ -244,7 +244,7 @@ if (optlen < size0) return -EINVAL; - if (optlen > sysctl_optmem_max - 4) + if (optlen > READ_ONCE(sysctl_optmem_max) - 4) return -ENOBUFS; p = kmalloc(optlen + 4, GFP_KERNEL); @@ -419,6 +419,12 @@ rtnl_lock(); lock_sock(sk); + /* Another thread has converted the socket into IPv4 with + * IPV6_ADDRFORM concurrently. + */ + if (unlikely(sk->sk_family != AF_INET6)) + goto unlock; + switch (optname) { case IPV6_ADDRFORM: @@ -475,9 +481,10 @@ sock_prot_inuse_add(net, sk->sk_prot, -1); sock_prot_inuse_add(net, &tcp_prot, 1); - /* Paired with READ_ONCE(sk->sk_prot) in net/ipv6/af_inet6.c */ + /* Paired with READ_ONCE(sk->sk_prot) in inet6_stream_ops */ WRITE_ONCE(sk->sk_prot, &tcp_prot); - icsk->icsk_af_ops = &ipv4_specific; + /* Paired with READ_ONCE() in tcp_(get|set)sockopt() */ + WRITE_ONCE(icsk->icsk_af_ops, &ipv4_specific); sk->sk_socket->ops = &inet_stream_ops; sk->sk_family = PF_INET; tcp_sync_mss(sk, icsk->icsk_pmtu_cookie); @@ -490,7 +497,7 @@ sock_prot_inuse_add(net, sk->sk_prot, -1); sock_prot_inuse_add(net, prot, 1); - /* Paired with READ_ONCE(sk->sk_prot) in net/ipv6/af_inet6.c */ + /* Paired with READ_ONCE(sk->sk_prot) in inet6_dgram_ops */ WRITE_ONCE(sk->sk_prot, prot); sk->sk_socket->ops = &inet_dgram_ops; sk->sk_family = PF_INET; @@ -994,6 +1001,7 @@ break; } +unlock: release_sock(sk); if (needs_rtnl) rtnl_unlock(); --- linux-gcp-5.19.0.orig/net/ipv6/ndisc.c +++ linux-gcp-5.19.0/net/ipv6/ndisc.c @@ -1358,6 +1358,9 @@ if (!rt && lifetime) { ND_PRINTK(3, info, "RA: adding default router\n"); + if (neigh) + neigh_release(neigh); + rt = rt6_add_dflt_router(net, &ipv6_hdr(skb)->saddr, skb->dev, pref, defrtr_usr_metric); if (!rt) { --- linux-gcp-5.19.0.orig/net/ipv6/netfilter/ip6_tables.c +++ linux-gcp-5.19.0/net/ipv6/netfilter/ip6_tables.c @@ -381,6 +381,17 @@ else return verdict; } +static bool next_offset_ok(const struct xt_table_info *t, unsigned int newpos) +{ + if (newpos > t->size - sizeof(struct ip6t_entry)) + return false; + + if (newpos % __alignof__(struct ip6t_entry) != 0) + return false; + + return true; +} + /* Figures out from what hook each rule can be called: returns 0 if there are loops. Puts hook bitmask in comefrom. */ static int @@ -436,6 +447,8 @@ /* Move along one */ size = e->next_offset; + if (!next_offset_ok(newinfo, pos + size)) + return 0; e = entry0 + pos + size; if (pos + size >= newinfo->size) return 0; @@ -457,6 +470,10 @@ if (newpos >= newinfo->size) return 0; } + + if (!next_offset_ok(newinfo, newpos)) + return 0; + e = entry0 + newpos; e->counters.pcnt = pos; pos = newpos; --- linux-gcp-5.19.0.orig/net/ipv6/netfilter/ip6t_rpfilter.c +++ linux-gcp-5.19.0/net/ipv6/netfilter/ip6t_rpfilter.c @@ -37,8 +37,10 @@ bool ret = false; struct flowi6 fl6 = { .flowi6_iif = LOOPBACK_IFINDEX, + .flowi6_l3mdev = l3mdev_master_ifindex_rcu(dev), .flowlabel = (* (__be32 *) iph) & IPV6_FLOWINFO_MASK, .flowi6_proto = iph->nexthdr, + .flowi6_uid = sock_net_uid(net, NULL), .daddr = iph->saddr, }; int lookup_flags; @@ -55,9 +57,7 @@ if (rpfilter_addr_linklocal(&iph->saddr)) { lookup_flags |= RT6_LOOKUP_F_IFACE; fl6.flowi6_oif = dev->ifindex; - /* Set flowi6_oif for vrf devices to lookup route in l3mdev domain. */ - } else if (netif_is_l3_master(dev) || netif_is_l3_slave(dev) || - (flags & XT_RPFILTER_LOOSE) == 0) + } else if ((flags & XT_RPFILTER_LOOSE) == 0) fl6.flowi6_oif = dev->ifindex; rt = (void *)ip6_route_lookup(net, &fl6, skb, lookup_flags); @@ -72,9 +72,7 @@ goto out; } - if (rt->rt6i_idev->dev == dev || - l3mdev_master_ifindex_rcu(rt->rt6i_idev->dev) == dev->ifindex || - (flags & XT_RPFILTER_LOOSE)) + if (rt->rt6i_idev->dev == dev || (flags & XT_RPFILTER_LOOSE)) ret = true; out: ip6_rt_put(rt); --- linux-gcp-5.19.0.orig/net/ipv6/netfilter/nft_fib_ipv6.c +++ linux-gcp-5.19.0/net/ipv6/netfilter/nft_fib_ipv6.c @@ -41,6 +41,8 @@ if (ipv6_addr_type(&fl6->daddr) & IPV6_ADDR_LINKLOCAL) { lookup_flags |= RT6_LOOKUP_F_IFACE; fl6->flowi6_oif = get_ifindex(dev ? dev : pkt->skb->dev); + } else if (priv->flags & NFTA_FIB_F_IIF) { + fl6->flowi6_l3mdev = l3mdev_master_ifindex_rcu(dev); } if (ipv6_addr_type(&fl6->saddr) & IPV6_ADDR_UNICAST) @@ -64,6 +66,7 @@ struct flowi6 fl6 = { .flowi6_iif = LOOPBACK_IFINDEX, .flowi6_proto = pkt->tprot, + .flowi6_uid = sock_net_uid(nft_net(pkt), NULL), }; u32 ret = 0; @@ -161,6 +164,7 @@ struct flowi6 fl6 = { .flowi6_iif = LOOPBACK_IFINDEX, .flowi6_proto = pkt->tprot, + .flowi6_uid = sock_net_uid(nft_net(pkt), NULL), }; struct rt6_info *rt; int lookup_flags; @@ -197,7 +201,8 @@ if (rt->rt6i_flags & (RTF_REJECT | RTF_ANYCAST | RTF_LOCAL)) goto put_rt_err; - if (oif && oif != rt->rt6i_idev->dev) + if (oif && oif != rt->rt6i_idev->dev && + l3mdev_master_ifindex_rcu(rt->rt6i_idev->dev) != oif->ifindex) goto put_rt_err; nft_fib_store_result(dest, priv, rt->rt6i_idev->dev); --- linux-gcp-5.19.0.orig/net/ipv6/raw.c +++ linux-gcp-5.19.0/net/ipv6/raw.c @@ -61,46 +61,30 @@ #define ICMPV6_HDRLEN 4 /* ICMPv6 header, RFC 4443 Section 2.1 */ -struct raw_hashinfo raw_v6_hashinfo = { - .lock = __RW_LOCK_UNLOCKED(raw_v6_hashinfo.lock), -}; +struct raw_hashinfo raw_v6_hashinfo; EXPORT_SYMBOL_GPL(raw_v6_hashinfo); -struct sock *__raw_v6_lookup(struct net *net, struct sock *sk, - unsigned short num, const struct in6_addr *loc_addr, - const struct in6_addr *rmt_addr, int dif, int sdif) -{ - bool is_multicast = ipv6_addr_is_multicast(loc_addr); - - sk_for_each_from(sk) - if (inet_sk(sk)->inet_num == num) { - - if (!net_eq(sock_net(sk), net)) - continue; - - if (!ipv6_addr_any(&sk->sk_v6_daddr) && - !ipv6_addr_equal(&sk->sk_v6_daddr, rmt_addr)) - continue; - - if (!raw_sk_bound_dev_eq(net, sk->sk_bound_dev_if, - dif, sdif)) - continue; - - if (!ipv6_addr_any(&sk->sk_v6_rcv_saddr)) { - if (ipv6_addr_equal(&sk->sk_v6_rcv_saddr, loc_addr)) - goto found; - if (is_multicast && - inet6_mc_check(sk, loc_addr, rmt_addr)) - goto found; - continue; - } - goto found; - } - sk = NULL; -found: - return sk; +bool raw_v6_match(struct net *net, struct sock *sk, unsigned short num, + const struct in6_addr *loc_addr, + const struct in6_addr *rmt_addr, int dif, int sdif) +{ + if (inet_sk(sk)->inet_num != num || + !net_eq(sock_net(sk), net) || + (!ipv6_addr_any(&sk->sk_v6_daddr) && + !ipv6_addr_equal(&sk->sk_v6_daddr, rmt_addr)) || + !raw_sk_bound_dev_eq(net, sk->sk_bound_dev_if, + dif, sdif)) + return false; + + if (ipv6_addr_any(&sk->sk_v6_rcv_saddr) || + ipv6_addr_equal(&sk->sk_v6_rcv_saddr, loc_addr) || + (ipv6_addr_is_multicast(loc_addr) && + inet6_mc_check(sk, loc_addr, rmt_addr))) + return true; + + return false; } -EXPORT_SYMBOL_GPL(__raw_v6_lookup); +EXPORT_SYMBOL_GPL(raw_v6_match); /* * 0 - deliver @@ -156,31 +140,27 @@ */ static bool ipv6_raw_deliver(struct sk_buff *skb, int nexthdr) { + struct net *net = dev_net(skb->dev); + struct hlist_nulls_head *hlist; + struct hlist_nulls_node *hnode; const struct in6_addr *saddr; const struct in6_addr *daddr; struct sock *sk; bool delivered = false; __u8 hash; - struct net *net; saddr = &ipv6_hdr(skb)->saddr; daddr = saddr + 1; hash = nexthdr & (RAW_HTABLE_SIZE - 1); - - read_lock(&raw_v6_hashinfo.lock); - sk = sk_head(&raw_v6_hashinfo.ht[hash]); - - if (!sk) - goto out; - - net = dev_net(skb->dev); - sk = __raw_v6_lookup(net, sk, nexthdr, daddr, saddr, - inet6_iif(skb), inet6_sdif(skb)); - - while (sk) { + hlist = &raw_v6_hashinfo.ht[hash]; + rcu_read_lock(); + hlist_nulls_for_each_entry(sk, hnode, hlist, sk_nulls_node) { int filtered; + if (!raw_v6_match(net, sk, nexthdr, daddr, saddr, + inet6_iif(skb), inet6_sdif(skb))) + continue; delivered = true; switch (nexthdr) { case IPPROTO_ICMPV6: @@ -219,23 +199,14 @@ rawv6_rcv(sk, clone); } } - sk = __raw_v6_lookup(net, sk_next(sk), nexthdr, daddr, saddr, - inet6_iif(skb), inet6_sdif(skb)); } -out: - read_unlock(&raw_v6_hashinfo.lock); + rcu_read_unlock(); return delivered; } bool raw6_local_deliver(struct sk_buff *skb, int nexthdr) { - struct sock *raw_sk; - - raw_sk = sk_head(&raw_v6_hashinfo.ht[nexthdr & (RAW_HTABLE_SIZE - 1)]); - if (raw_sk && !ipv6_raw_deliver(skb, nexthdr)) - raw_sk = NULL; - - return raw_sk != NULL; + return ipv6_raw_deliver(skb, nexthdr); } /* This cleans up af_inet6 a bit. -DaveM */ @@ -361,30 +332,25 @@ void raw6_icmp_error(struct sk_buff *skb, int nexthdr, u8 type, u8 code, int inner_offset, __be32 info) { + struct net *net = dev_net(skb->dev); + struct hlist_nulls_head *hlist; + struct hlist_nulls_node *hnode; struct sock *sk; int hash; - const struct in6_addr *saddr, *daddr; - struct net *net; hash = nexthdr & (RAW_HTABLE_SIZE - 1); - - read_lock(&raw_v6_hashinfo.lock); - sk = sk_head(&raw_v6_hashinfo.ht[hash]); - if (sk) { + hlist = &raw_v6_hashinfo.ht[hash]; + rcu_read_lock(); + hlist_nulls_for_each_entry(sk, hnode, hlist, sk_nulls_node) { /* Note: ipv6_hdr(skb) != skb->data */ const struct ipv6hdr *ip6h = (const struct ipv6hdr *)skb->data; - saddr = &ip6h->saddr; - daddr = &ip6h->daddr; - net = dev_net(skb->dev); - - while ((sk = __raw_v6_lookup(net, sk, nexthdr, saddr, daddr, - inet6_iif(skb), inet6_iif(skb)))) { - rawv6_err(sk, skb, NULL, type, code, - inner_offset, info); - sk = sk_next(sk); - } + + if (!raw_v6_match(net, sk, nexthdr, &ip6h->saddr, &ip6h->daddr, + inet6_iif(skb), inet6_iif(skb))) + continue; + rawv6_err(sk, skb, NULL, type, code, inner_offset, info); } - read_unlock(&raw_v6_hashinfo.lock); + rcu_read_unlock(); } static inline int rawv6_rcv_skb(struct sock *sk, struct sk_buff *skb) @@ -539,6 +505,7 @@ static int rawv6_push_pending_frames(struct sock *sk, struct flowi6 *fl6, struct raw6_sock *rp) { + struct ipv6_txoptions *opt; struct sk_buff *skb; int err = 0; int offset; @@ -556,6 +523,9 @@ offset = rp->offset; total_len = inet_sk(sk)->cork.base.length; + opt = inet6_sk(sk)->cork.opt; + total_len -= opt ? opt->opt_flen : 0; + if (offset >= total_len - 1) { err = -EINVAL; ip6_flush_pending_frames(sk); --- linux-gcp-5.19.0.orig/net/ipv6/route.c +++ linux-gcp-5.19.0/net/ipv6/route.c @@ -6555,10 +6555,16 @@ static int __net_init ip6_route_net_init_late(struct net *net) { #ifdef CONFIG_PROC_FS - proc_create_net("ipv6_route", 0, net->proc_net, &ipv6_route_seq_ops, - sizeof(struct ipv6_route_iter)); - proc_create_net_single("rt6_stats", 0444, net->proc_net, - rt6_stats_seq_show, NULL); + if (!proc_create_net("ipv6_route", 0, net->proc_net, + &ipv6_route_seq_ops, + sizeof(struct ipv6_route_iter))) + return -ENOMEM; + + if (!proc_create_net_single("rt6_stats", 0444, net->proc_net, + rt6_stats_seq_show, NULL)) { + remove_proc_entry("ipv6_route", net->proc_net); + return -ENOMEM; + } #endif return 0; } --- linux-gcp-5.19.0.orig/net/ipv6/seg6.c +++ linux-gcp-5.19.0/net/ipv6/seg6.c @@ -191,6 +191,11 @@ goto out_unlock; } + if (slen > nla_len(info->attrs[SEG6_ATTR_SECRET])) { + err = -EINVAL; + goto out_unlock; + } + if (hinfo) { err = seg6_hmac_info_del(net, hmackeyid); if (err) --- linux-gcp-5.19.0.orig/net/ipv6/sit.c +++ linux-gcp-5.19.0/net/ipv6/sit.c @@ -696,7 +696,7 @@ skb->dev = tunnel->dev; if (packet_is_spoofed(skb, iph, tunnel)) { - tunnel->dev->stats.rx_errors++; + DEV_STATS_INC(tunnel->dev, rx_errors); goto out; } @@ -716,8 +716,8 @@ net_info_ratelimited("non-ECT from %pI4 with TOS=%#x\n", &iph->saddr, iph->tos); if (err > 1) { - ++tunnel->dev->stats.rx_frame_errors; - ++tunnel->dev->stats.rx_errors; + DEV_STATS_INC(tunnel->dev, rx_frame_errors); + DEV_STATS_INC(tunnel->dev, rx_errors); goto out; } } @@ -948,7 +948,7 @@ if (!rt) { rt = ip_route_output_flow(tunnel->net, &fl4, NULL); if (IS_ERR(rt)) { - dev->stats.tx_carrier_errors++; + DEV_STATS_INC(dev, tx_carrier_errors); goto tx_error_icmp; } dst_cache_set_ip4(&tunnel->dst_cache, &rt->dst, fl4.saddr); @@ -956,14 +956,14 @@ if (rt->rt_type != RTN_UNICAST && rt->rt_type != RTN_LOCAL) { ip_rt_put(rt); - dev->stats.tx_carrier_errors++; + DEV_STATS_INC(dev, tx_carrier_errors); goto tx_error_icmp; } tdev = rt->dst.dev; if (tdev == dev) { ip_rt_put(rt); - dev->stats.collisions++; + DEV_STATS_INC(dev, collisions); goto tx_error; } @@ -976,7 +976,7 @@ mtu = dst_mtu(&rt->dst) - t_hlen; if (mtu < IPV4_MIN_MTU) { - dev->stats.collisions++; + DEV_STATS_INC(dev, collisions); ip_rt_put(rt); goto tx_error; } @@ -1015,7 +1015,7 @@ struct sk_buff *new_skb = skb_realloc_headroom(skb, max_headroom); if (!new_skb) { ip_rt_put(rt); - dev->stats.tx_dropped++; + DEV_STATS_INC(dev, tx_dropped); kfree_skb(skb); return NETDEV_TX_OK; } @@ -1045,7 +1045,7 @@ dst_link_failure(skb); tx_error: kfree_skb(skb); - dev->stats.tx_errors++; + DEV_STATS_INC(dev, tx_errors); return NETDEV_TX_OK; } @@ -1064,7 +1064,7 @@ return NETDEV_TX_OK; tx_error: kfree_skb(skb); - dev->stats.tx_errors++; + DEV_STATS_INC(dev, tx_errors); return NETDEV_TX_OK; } @@ -1093,7 +1093,7 @@ return NETDEV_TX_OK; tx_err: - dev->stats.tx_errors++; + DEV_STATS_INC(dev, tx_errors); kfree_skb(skb); return NETDEV_TX_OK; @@ -1130,10 +1130,12 @@ if (tdev && !netif_is_l3_master(tdev)) { int t_hlen = tunnel->hlen + sizeof(struct iphdr); + int mtu; - dev->mtu = tdev->mtu - t_hlen; - if (dev->mtu < IPV6_MIN_MTU) - dev->mtu = IPV6_MIN_MTU; + mtu = tdev->mtu - t_hlen; + if (mtu < IPV6_MIN_MTU) + mtu = IPV6_MIN_MTU; + WRITE_ONCE(dev->mtu, mtu); } } --- linux-gcp-5.19.0.orig/net/ipv6/tcp_ipv6.c +++ linux-gcp-5.19.0/net/ipv6/tcp_ipv6.c @@ -237,7 +237,8 @@ sin.sin_port = usin->sin6_port; sin.sin_addr.s_addr = usin->sin6_addr.s6_addr32[3]; - icsk->icsk_af_ops = &ipv6_mapped; + /* Paired with READ_ONCE() in tcp_(get|set)sockopt() */ + WRITE_ONCE(icsk->icsk_af_ops, &ipv6_mapped); if (sk_is_mptcp(sk)) mptcpv6_handle_mapped(sk, true); sk->sk_backlog_rcv = tcp_v4_do_rcv; @@ -249,7 +250,8 @@ if (err) { icsk->icsk_ext_hdr_len = exthdrlen; - icsk->icsk_af_ops = &ipv6_specific; + /* Paired with READ_ONCE() in tcp_(get|set)sockopt() */ + WRITE_ONCE(icsk->icsk_af_ops, &ipv6_specific); if (sk_is_mptcp(sk)) mptcpv6_handle_mapped(sk, false); sk->sk_backlog_rcv = tcp_v6_do_rcv; @@ -269,6 +271,7 @@ fl6.flowi6_proto = IPPROTO_TCP; fl6.daddr = sk->sk_v6_daddr; fl6.saddr = saddr ? *saddr : np->saddr; + fl6.flowlabel = ip6_make_flowinfo(np->tclass, np->flow_label); fl6.flowi6_oif = sk->sk_bound_dev_if; fl6.flowi6_mark = sk->sk_mark; fl6.fl6_dport = usin->sin6_port; @@ -340,6 +343,8 @@ late_failure: tcp_set_state(sk, TCP_CLOSE); + if (!(sk->sk_userlocks & SOCK_BINDADDR_LOCK)) + inet_reset_saddr(sk); failure: inet->inet_dport = 0; sk->sk_route_caps = 0; @@ -952,7 +957,10 @@ * Underlying function will use this to retrieve the network * namespace */ - dst = ip6_dst_lookup_flow(sock_net(ctl_sk), ctl_sk, &fl6, NULL); + if (sk && sk->sk_state != TCP_TIME_WAIT) + dst = ip6_dst_lookup_flow(net, sk, &fl6, NULL); /*sk's xfrm_policy can be referred*/ + else + dst = ip6_dst_lookup_flow(net, ctl_sk, &fl6, NULL); if (!IS_ERR(dst)) { skb_dst_set(buff, dst); ip6_xmit(ctl_sk, buff, &fl6, fl6.flowi6_mark, NULL, @@ -1374,14 +1382,11 @@ /* Clone pktoptions received with SYN, if we own the req */ if (ireq->pktopts) { - newnp->pktoptions = skb_clone(ireq->pktopts, - sk_gfp_mask(sk, GFP_ATOMIC)); + newnp->pktoptions = skb_clone_and_charge_r(ireq->pktopts, newsk); consume_skb(ireq->pktopts); ireq->pktopts = NULL; - if (newnp->pktoptions) { + if (newnp->pktoptions) tcp_v6_restore_cb(newnp->pktoptions); - skb_set_owner_r(newnp->pktoptions, newsk); - } } } else { if (!req_unhash && found_dup_sk) { @@ -1453,7 +1458,7 @@ --ANK (980728) */ if (np->rxopt.all) - opt_skb = skb_clone(skb, sk_gfp_mask(sk, GFP_ATOMIC)); + opt_skb = skb_clone_and_charge_r(skb, sk); reason = SKB_DROP_REASON_NOT_SPECIFIED; if (sk->sk_state == TCP_ESTABLISHED) { /* Fast path */ @@ -1539,7 +1544,6 @@ if (np->repflow) np->flow_label = ip6_flowlabel(ipv6_hdr(opt_skb)); if (ipv6_opt_accepted(sk, opt_skb, &TCP_SKB_CB(opt_skb)->header.h6)) { - skb_set_owner_r(opt_skb, sk); tcp_v6_restore_cb(opt_skb); opt_skb = xchg(&np->pktoptions, opt_skb); } else { --- linux-gcp-5.19.0.orig/net/ipv6/udp.c +++ linux-gcp-5.19.0/net/ipv6/udp.c @@ -182,7 +182,7 @@ result = lookup_reuseport(net, sk, skb, saddr, sport, daddr, hnum); /* Fall back to scoring if group has connections */ - if (result && !reuseport_has_conns(sk, false)) + if (result && !reuseport_has_conns(sk)) return result; result = result ? : sk; @@ -616,8 +616,11 @@ } /* Tunnels don't have an application socket: don't pass errors back */ - if (tunnel) + if (tunnel) { + if (udp_sk(sk)->encap_err_rcv) + udp_sk(sk)->encap_err_rcv(sk, skb, offset); goto out; + } if (!np->recverr) { if (!harderr || sk->sk_state != TCP_ESTABLISHED) --- linux-gcp-5.19.0.orig/net/ipv6/xfrm6_policy.c +++ linux-gcp-5.19.0/net/ipv6/xfrm6_policy.c @@ -287,9 +287,13 @@ if (ret) goto out_state; - register_pernet_subsys(&xfrm6_net_ops); + ret = register_pernet_subsys(&xfrm6_net_ops); + if (ret) + goto out_protocol; out: return ret; +out_protocol: + xfrm6_protocol_fini(); out_state: xfrm6_state_fini(); out_policy: --- linux-gcp-5.19.0.orig/net/kcm/kcmsock.c +++ linux-gcp-5.19.0/net/kcm/kcmsock.c @@ -162,7 +162,8 @@ /* Buffer limit is okay now, add to ready list */ list_add_tail(&kcm->wait_rx_list, &kcm->mux->kcm_rx_waiters); - kcm->rx_wait = true; + /* paired with lockless reads in kcm_rfree() */ + WRITE_ONCE(kcm->rx_wait, true); } static void kcm_rfree(struct sk_buff *skb) @@ -178,7 +179,7 @@ /* For reading rx_wait and rx_psock without holding lock */ smp_mb__after_atomic(); - if (!kcm->rx_wait && !kcm->rx_psock && + if (!READ_ONCE(kcm->rx_wait) && !READ_ONCE(kcm->rx_psock) && sk_rmem_alloc_get(sk) < sk->sk_rcvlowat) { spin_lock_bh(&mux->rx_lock); kcm_rcv_ready(kcm); @@ -221,7 +222,7 @@ struct sk_buff *skb; struct kcm_sock *kcm; - while ((skb = __skb_dequeue(head))) { + while ((skb = skb_dequeue(head))) { /* Reset destructor to avoid calling kcm_rcv_ready */ skb->destructor = sock_rfree; skb_orphan(skb); @@ -237,7 +238,8 @@ if (kcm_queue_rcv_skb(&kcm->sk, skb)) { /* Should mean socket buffer full */ list_del(&kcm->wait_rx_list); - kcm->rx_wait = false; + /* paired with lockless reads in kcm_rfree() */ + WRITE_ONCE(kcm->rx_wait, false); /* Commit rx_wait to read in kcm_free */ smp_wmb(); @@ -280,10 +282,12 @@ kcm = list_first_entry(&mux->kcm_rx_waiters, struct kcm_sock, wait_rx_list); list_del(&kcm->wait_rx_list); - kcm->rx_wait = false; + /* paired with lockless reads in kcm_rfree() */ + WRITE_ONCE(kcm->rx_wait, false); psock->rx_kcm = kcm; - kcm->rx_psock = psock; + /* paired with lockless reads in kcm_rfree() */ + WRITE_ONCE(kcm->rx_psock, psock); spin_unlock_bh(&mux->rx_lock); @@ -310,7 +314,8 @@ spin_lock_bh(&mux->rx_lock); psock->rx_kcm = NULL; - kcm->rx_psock = NULL; + /* paired with lockless reads in kcm_rfree() */ + WRITE_ONCE(kcm->rx_psock, NULL); /* Commit kcm->rx_psock before sk_rmem_alloc_get to sync with * kcm_rfree @@ -834,7 +839,7 @@ } get_page(page); - skb_fill_page_desc(skb, i, page, offset, size); + skb_fill_page_desc_noacc(skb, i, page, offset, size); skb_shinfo(skb)->flags |= SKBFL_SHARED_FRAG; coalesced: @@ -1080,53 +1085,17 @@ return err; } -static struct sk_buff *kcm_wait_data(struct sock *sk, int flags, - long timeo, int *err) -{ - struct sk_buff *skb; - - while (!(skb = skb_peek(&sk->sk_receive_queue))) { - if (sk->sk_err) { - *err = sock_error(sk); - return NULL; - } - - if (sock_flag(sk, SOCK_DONE)) - return NULL; - - if ((flags & MSG_DONTWAIT) || !timeo) { - *err = -EAGAIN; - return NULL; - } - - sk_wait_data(sk, &timeo, NULL); - - /* Handle signals */ - if (signal_pending(current)) { - *err = sock_intr_errno(timeo); - return NULL; - } - } - - return skb; -} - static int kcm_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, int flags) { struct sock *sk = sock->sk; struct kcm_sock *kcm = kcm_sk(sk); int err = 0; - long timeo; struct strp_msg *stm; int copied = 0; struct sk_buff *skb; - timeo = sock_rcvtimeo(sk, flags & MSG_DONTWAIT); - - lock_sock(sk); - - skb = kcm_wait_data(sk, flags, timeo, &err); + skb = skb_recv_datagram(sk, flags, &err); if (!skb) goto out; @@ -1157,14 +1126,11 @@ /* Finished with message */ msg->msg_flags |= MSG_EOR; KCM_STATS_INCR(kcm->stats.rx_msgs); - skb_unlink(skb, &sk->sk_receive_queue); - kfree_skb(skb); } } out: - release_sock(sk); - + skb_free_datagram(sk, skb); return copied ? : err; } @@ -1174,7 +1140,6 @@ { struct sock *sk = sock->sk; struct kcm_sock *kcm = kcm_sk(sk); - long timeo; struct strp_msg *stm; int err = 0; ssize_t copied; @@ -1182,11 +1147,7 @@ /* Only support splice for SOCKSEQPACKET */ - timeo = sock_rcvtimeo(sk, flags & MSG_DONTWAIT); - - lock_sock(sk); - - skb = kcm_wait_data(sk, flags, timeo, &err); + skb = skb_recv_datagram(sk, flags, &err); if (!skb) goto err_out; @@ -1214,13 +1175,11 @@ * finish reading the message. */ - release_sock(sk); - + skb_free_datagram(sk, skb); return copied; err_out: - release_sock(sk); - + skb_free_datagram(sk, skb); return err; } @@ -1240,7 +1199,8 @@ if (!kcm->rx_psock) { if (kcm->rx_wait) { list_del(&kcm->wait_rx_list); - kcm->rx_wait = false; + /* paired with lockless reads in kcm_rfree() */ + WRITE_ONCE(kcm->rx_wait, false); } requeue_rx_msgs(mux, &kcm->sk.sk_receive_queue); @@ -1412,12 +1372,6 @@ psock->sk = csk; psock->bpf_prog = prog; - err = strp_init(&psock->strp, csk, &cb); - if (err) { - kmem_cache_free(kcm_psockp, psock); - goto out; - } - write_lock_bh(&csk->sk_callback_lock); /* Check if sk_user_data is already by KCM or someone else. @@ -1425,13 +1379,18 @@ */ if (csk->sk_user_data) { write_unlock_bh(&csk->sk_callback_lock); - strp_stop(&psock->strp); - strp_done(&psock->strp); kmem_cache_free(kcm_psockp, psock); err = -EALREADY; goto out; } + err = strp_init(&psock->strp, csk, &cb); + if (err) { + write_unlock_bh(&csk->sk_callback_lock); + kmem_cache_free(kcm_psockp, psock); + goto out; + } + psock->save_data_ready = csk->sk_data_ready; psock->save_write_space = csk->sk_write_space; psock->save_state_change = csk->sk_state_change; @@ -1794,7 +1753,8 @@ if (kcm->rx_wait) { list_del(&kcm->wait_rx_list); - kcm->rx_wait = false; + /* paired with lockless reads in kcm_rfree() */ + WRITE_ONCE(kcm->rx_wait, false); } /* Move any pending receive messages to other kcm sockets */ requeue_rx_msgs(mux, &sk->sk_receive_queue); @@ -1839,10 +1799,10 @@ kcm = kcm_sk(sk); mux = kcm->mux; + lock_sock(sk); sock_orphan(sk); kfree_skb(kcm->seq_skb); - lock_sock(sk); /* Purge queue under lock to avoid race condition with tx_work trying * to act when queue is nonempty. If tx_work runs after this point * it will just return. --- linux-gcp-5.19.0.orig/net/key/af_key.c +++ linux-gcp-5.19.0/net/key/af_key.c @@ -1697,9 +1697,12 @@ pfk->registered |= (1<sadb_msg_satype); } + mutex_lock(&pfkey_mutex); xfrm_probe_algs(); supp_skb = compose_sadb_supported(hdr, GFP_KERNEL | __GFP_ZERO); + mutex_unlock(&pfkey_mutex); + if (!supp_skb) { if (hdr->sadb_msg_satype != SADB_SATYPE_UNSPEC) pfk->registered &= ~(1<sadb_msg_satype); @@ -2902,7 +2905,7 @@ break; if (!aalg->pfkey_supported) continue; - if (aalg_tmpl_set(t, aalg) && aalg->available) + if (aalg_tmpl_set(t, aalg)) sz += sizeof(struct sadb_comb); } return sz + sizeof(struct sadb_prop); @@ -2920,7 +2923,7 @@ if (!ealg->pfkey_supported) continue; - if (!(ealg_tmpl_set(t, ealg) && ealg->available)) + if (!(ealg_tmpl_set(t, ealg))) continue; for (k = 1; ; k++) { @@ -2931,16 +2934,17 @@ if (!aalg->pfkey_supported) continue; - if (aalg_tmpl_set(t, aalg) && aalg->available) + if (aalg_tmpl_set(t, aalg)) sz += sizeof(struct sadb_comb); } } return sz + sizeof(struct sadb_prop); } -static void dump_ah_combs(struct sk_buff *skb, const struct xfrm_tmpl *t) +static int dump_ah_combs(struct sk_buff *skb, const struct xfrm_tmpl *t) { struct sadb_prop *p; + int sz = 0; int i; p = skb_put(skb, sizeof(struct sadb_prop)); @@ -2968,13 +2972,17 @@ c->sadb_comb_soft_addtime = 20*60*60; c->sadb_comb_hard_usetime = 8*60*60; c->sadb_comb_soft_usetime = 7*60*60; + sz += sizeof(*c); } } + + return sz + sizeof(*p); } -static void dump_esp_combs(struct sk_buff *skb, const struct xfrm_tmpl *t) +static int dump_esp_combs(struct sk_buff *skb, const struct xfrm_tmpl *t) { struct sadb_prop *p; + int sz = 0; int i, k; p = skb_put(skb, sizeof(struct sadb_prop)); @@ -3016,8 +3024,11 @@ c->sadb_comb_soft_addtime = 20*60*60; c->sadb_comb_hard_usetime = 8*60*60; c->sadb_comb_soft_usetime = 7*60*60; + sz += sizeof(*c); } } + + return sz + sizeof(*p); } static int key_notify_policy_expire(struct xfrm_policy *xp, const struct km_event *c) @@ -3147,6 +3158,7 @@ struct sadb_x_sec_ctx *sec_ctx; struct xfrm_sec_ctx *xfrm_ctx; int ctx_size = 0; + int alg_size = 0; sockaddr_size = pfkey_sockaddr_size(x->props.family); if (!sockaddr_size) @@ -3158,16 +3170,16 @@ sizeof(struct sadb_x_policy); if (x->id.proto == IPPROTO_AH) - size += count_ah_combs(t); + alg_size = count_ah_combs(t); else if (x->id.proto == IPPROTO_ESP) - size += count_esp_combs(t); + alg_size = count_esp_combs(t); if ((xfrm_ctx = x->security)) { ctx_size = PFKEY_ALIGN8(xfrm_ctx->ctx_len); size += sizeof(struct sadb_x_sec_ctx) + ctx_size; } - skb = alloc_skb(size + 16, GFP_ATOMIC); + skb = alloc_skb(size + alg_size + 16, GFP_ATOMIC); if (skb == NULL) return -ENOMEM; @@ -3221,10 +3233,13 @@ pol->sadb_x_policy_priority = xp->priority; /* Set sadb_comb's. */ + alg_size = 0; if (x->id.proto == IPPROTO_AH) - dump_ah_combs(skb, t); + alg_size = dump_ah_combs(skb, t); else if (x->id.proto == IPPROTO_ESP) - dump_esp_combs(skb, t); + alg_size = dump_esp_combs(skb, t); + + hdr->sadb_msg_len += alg_size / 8; /* security context */ if (xfrm_ctx) { @@ -3379,7 +3394,7 @@ hdr->sadb_msg_len = size / sizeof(uint64_t); hdr->sadb_msg_errno = 0; hdr->sadb_msg_reserved = 0; - hdr->sadb_msg_seq = x->km.seq = get_acqseq(); + hdr->sadb_msg_seq = x->km.seq; hdr->sadb_msg_pid = 0; /* SA */ --- linux-gcp-5.19.0.orig/net/l2tp/l2tp_core.c +++ linux-gcp-5.19.0/net/l2tp/l2tp_core.c @@ -104,9 +104,9 @@ /* per-net private data for this module */ static unsigned int l2tp_net_id; struct l2tp_net { - struct list_head l2tp_tunnel_list; - /* Lock for write access to l2tp_tunnel_list */ - spinlock_t l2tp_tunnel_list_lock; + /* Lock for write access to l2tp_tunnel_idr */ + spinlock_t l2tp_tunnel_idr_lock; + struct idr l2tp_tunnel_idr; struct hlist_head l2tp_session_hlist[L2TP_HASH_SIZE_2]; /* Lock for write access to l2tp_session_hlist */ spinlock_t l2tp_session_hlist_lock; @@ -208,13 +208,10 @@ struct l2tp_tunnel *tunnel; rcu_read_lock_bh(); - list_for_each_entry_rcu(tunnel, &pn->l2tp_tunnel_list, list) { - if (tunnel->tunnel_id == tunnel_id && - refcount_inc_not_zero(&tunnel->ref_count)) { - rcu_read_unlock_bh(); - - return tunnel; - } + tunnel = idr_find(&pn->l2tp_tunnel_idr, tunnel_id); + if (tunnel && refcount_inc_not_zero(&tunnel->ref_count)) { + rcu_read_unlock_bh(); + return tunnel; } rcu_read_unlock_bh(); @@ -224,13 +221,14 @@ struct l2tp_tunnel *l2tp_tunnel_get_nth(const struct net *net, int nth) { - const struct l2tp_net *pn = l2tp_pernet(net); + struct l2tp_net *pn = l2tp_pernet(net); + unsigned long tunnel_id, tmp; struct l2tp_tunnel *tunnel; int count = 0; rcu_read_lock_bh(); - list_for_each_entry_rcu(tunnel, &pn->l2tp_tunnel_list, list) { - if (++count > nth && + idr_for_each_entry_ul(&pn->l2tp_tunnel_idr, tunnel, tmp, tunnel_id) { + if (tunnel && ++count > nth && refcount_inc_not_zero(&tunnel->ref_count)) { rcu_read_unlock_bh(); return tunnel; @@ -1043,7 +1041,7 @@ IPCB(skb)->flags &= ~(IPSKB_XFRM_TUNNEL_SIZE | IPSKB_XFRM_TRANSFORMED | IPSKB_REROUTED); nf_reset_ct(skb); - bh_lock_sock(sk); + bh_lock_sock_nested(sk); if (sock_owned_by_user(sk)) { kfree_skb(skb); ret = NET_XMIT_DROP; @@ -1150,8 +1148,10 @@ } /* Remove hooks into tunnel socket */ + write_lock_bh(&sk->sk_callback_lock); sk->sk_destruct = tunnel->old_sk_destruct; sk->sk_user_data = NULL; + write_unlock_bh(&sk->sk_callback_lock); /* Call the original destructor */ if (sk->sk_destruct) @@ -1225,6 +1225,15 @@ l2tp_tunnel_delete(tunnel); } +static void l2tp_tunnel_remove(struct net *net, struct l2tp_tunnel *tunnel) +{ + struct l2tp_net *pn = l2tp_pernet(net); + + spin_lock_bh(&pn->l2tp_tunnel_idr_lock); + idr_remove(&pn->l2tp_tunnel_idr, tunnel->tunnel_id); + spin_unlock_bh(&pn->l2tp_tunnel_idr_lock); +} + /* Workqueue tunnel deletion function */ static void l2tp_tunnel_del_work(struct work_struct *work) { @@ -1232,7 +1241,6 @@ del_work); struct sock *sk = tunnel->sock; struct socket *sock = sk->sk_socket; - struct l2tp_net *pn; l2tp_tunnel_closeall(tunnel); @@ -1246,12 +1254,7 @@ } } - /* Remove the tunnel struct from the tunnel list */ - pn = l2tp_pernet(tunnel->l2tp_net); - spin_lock_bh(&pn->l2tp_tunnel_list_lock); - list_del_rcu(&tunnel->list); - spin_unlock_bh(&pn->l2tp_tunnel_list_lock); - + l2tp_tunnel_remove(tunnel->l2tp_net, tunnel); /* drop initial ref */ l2tp_tunnel_dec_refcount(tunnel); @@ -1382,8 +1385,6 @@ return err; } -static struct lock_class_key l2tp_socket_class; - int l2tp_tunnel_create(int fd, int version, u32 tunnel_id, u32 peer_tunnel_id, struct l2tp_tunnel_cfg *cfg, struct l2tp_tunnel **tunnelp) { @@ -1453,12 +1454,19 @@ int l2tp_tunnel_register(struct l2tp_tunnel *tunnel, struct net *net, struct l2tp_tunnel_cfg *cfg) { - struct l2tp_tunnel *tunnel_walk; - struct l2tp_net *pn; + struct l2tp_net *pn = l2tp_pernet(net); + u32 tunnel_id = tunnel->tunnel_id; struct socket *sock; struct sock *sk; int ret; + spin_lock_bh(&pn->l2tp_tunnel_idr_lock); + ret = idr_alloc_u32(&pn->l2tp_tunnel_idr, NULL, &tunnel_id, tunnel_id, + GFP_ATOMIC); + spin_unlock_bh(&pn->l2tp_tunnel_idr_lock); + if (ret) + return ret == -ENOSPC ? -EEXIST : ret; + if (tunnel->fd < 0) { ret = l2tp_tunnel_sock_create(net, tunnel->tunnel_id, tunnel->peer_tunnel_id, cfg, @@ -1469,30 +1477,16 @@ sock = sockfd_lookup(tunnel->fd, &ret); if (!sock) goto err; - - ret = l2tp_validate_socket(sock->sk, net, tunnel->encap); - if (ret < 0) - goto err_sock; } - tunnel->l2tp_net = net; - pn = l2tp_pernet(net); - sk = sock->sk; - sock_hold(sk); - tunnel->sock = sk; - - spin_lock_bh(&pn->l2tp_tunnel_list_lock); - list_for_each_entry(tunnel_walk, &pn->l2tp_tunnel_list, list) { - if (tunnel_walk->tunnel_id == tunnel->tunnel_id) { - spin_unlock_bh(&pn->l2tp_tunnel_list_lock); - sock_put(sk); - ret = -EEXIST; - goto err_sock; - } - } - list_add_rcu(&tunnel->list, &pn->l2tp_tunnel_list); - spin_unlock_bh(&pn->l2tp_tunnel_list_lock); + lock_sock(sk); + write_lock_bh(&sk->sk_callback_lock); + ret = l2tp_validate_socket(sk, net, tunnel->encap); + if (ret < 0) + goto err_inval_sock; + rcu_assign_sk_user_data(sk, tunnel); + write_unlock_bh(&sk->sk_callback_lock); if (tunnel->encap == L2TP_ENCAPTYPE_UDP) { struct udp_tunnel_sock_cfg udp_cfg = { @@ -1503,15 +1497,20 @@ }; setup_udp_tunnel_sock(net, sock, &udp_cfg); - } else { - sk->sk_user_data = tunnel; } tunnel->old_sk_destruct = sk->sk_destruct; sk->sk_destruct = &l2tp_tunnel_destruct; - lockdep_set_class_and_name(&sk->sk_lock.slock, &l2tp_socket_class, - "l2tp_sock"); sk->sk_allocation = GFP_ATOMIC; + release_sock(sk); + + sock_hold(sk); + tunnel->sock = sk; + tunnel->l2tp_net = net; + + spin_lock_bh(&pn->l2tp_tunnel_idr_lock); + idr_replace(&pn->l2tp_tunnel_idr, tunnel, tunnel->tunnel_id); + spin_unlock_bh(&pn->l2tp_tunnel_idr_lock); trace_register_tunnel(tunnel); @@ -1520,12 +1519,16 @@ return 0; -err_sock: +err_inval_sock: + write_unlock_bh(&sk->sk_callback_lock); + release_sock(sk); + if (tunnel->fd < 0) sock_release(sock); else sockfd_put(sock); err: + l2tp_tunnel_remove(net, tunnel); return ret; } EXPORT_SYMBOL_GPL(l2tp_tunnel_register); @@ -1639,8 +1642,8 @@ struct l2tp_net *pn = net_generic(net, l2tp_net_id); int hash; - INIT_LIST_HEAD(&pn->l2tp_tunnel_list); - spin_lock_init(&pn->l2tp_tunnel_list_lock); + idr_init(&pn->l2tp_tunnel_idr); + spin_lock_init(&pn->l2tp_tunnel_idr_lock); for (hash = 0; hash < L2TP_HASH_SIZE_2; hash++) INIT_HLIST_HEAD(&pn->l2tp_session_hlist[hash]); @@ -1654,11 +1657,13 @@ { struct l2tp_net *pn = l2tp_pernet(net); struct l2tp_tunnel *tunnel = NULL; + unsigned long tunnel_id, tmp; int hash; rcu_read_lock_bh(); - list_for_each_entry_rcu(tunnel, &pn->l2tp_tunnel_list, list) { - l2tp_tunnel_delete(tunnel); + idr_for_each_entry_ul(&pn->l2tp_tunnel_idr, tunnel, tmp, tunnel_id) { + if (tunnel) + l2tp_tunnel_delete(tunnel); } rcu_read_unlock_bh(); @@ -1668,6 +1673,7 @@ for (hash = 0; hash < L2TP_HASH_SIZE_2; hash++) WARN_ON_ONCE(!hlist_empty(&pn->l2tp_session_hlist[hash])); + idr_destroy(&pn->l2tp_tunnel_idr); } static struct pernet_operations l2tp_net_ops = { --- linux-gcp-5.19.0.orig/net/l2tp/l2tp_ppp.c +++ linux-gcp-5.19.0/net/l2tp/l2tp_ppp.c @@ -650,54 +650,22 @@ return mtu - PPPOL2TP_HEADER_OVERHEAD; } -/* connect() handler. Attach a PPPoX socket to a tunnel UDP socket - */ -static int pppol2tp_connect(struct socket *sock, struct sockaddr *uservaddr, - int sockaddr_len, int flags) +static struct l2tp_tunnel *pppol2tp_tunnel_get(struct net *net, + const struct l2tp_connect_info *info, + bool *new_tunnel) { - struct sock *sk = sock->sk; - struct pppox_sock *po = pppox_sk(sk); - struct l2tp_session *session = NULL; - struct l2tp_connect_info info; struct l2tp_tunnel *tunnel; - struct pppol2tp_session *ps; - struct l2tp_session_cfg cfg = { 0, }; - bool drop_refcnt = false; - bool drop_tunnel = false; - bool new_session = false; - bool new_tunnel = false; int error; - error = pppol2tp_sockaddr_get_info(uservaddr, sockaddr_len, &info); - if (error < 0) - return error; - - lock_sock(sk); - - /* Check for already bound sockets */ - error = -EBUSY; - if (sk->sk_state & PPPOX_CONNECTED) - goto end; + *new_tunnel = false; - /* We don't supporting rebinding anyway */ - error = -EALREADY; - if (sk->sk_user_data) - goto end; /* socket is already attached */ - - /* Don't bind if tunnel_id is 0 */ - error = -EINVAL; - if (!info.tunnel_id) - goto end; - - tunnel = l2tp_tunnel_get(sock_net(sk), info.tunnel_id); - if (tunnel) - drop_tunnel = true; + tunnel = l2tp_tunnel_get(net, info->tunnel_id); /* Special case: create tunnel context if session_id and * peer_session_id is 0. Otherwise look up tunnel using supplied * tunnel id. */ - if (!info.session_id && !info.peer_session_id) { + if (!info->session_id && !info->peer_session_id) { if (!tunnel) { struct l2tp_tunnel_cfg tcfg = { .encap = L2TP_ENCAPTYPE_UDP, @@ -706,40 +674,82 @@ /* Prevent l2tp_tunnel_register() from trying to set up * a kernel socket. */ - if (info.fd < 0) { - error = -EBADF; - goto end; - } + if (info->fd < 0) + return ERR_PTR(-EBADF); - error = l2tp_tunnel_create(info.fd, - info.version, - info.tunnel_id, - info.peer_tunnel_id, &tcfg, + error = l2tp_tunnel_create(info->fd, + info->version, + info->tunnel_id, + info->peer_tunnel_id, &tcfg, &tunnel); if (error < 0) - goto end; + return ERR_PTR(error); l2tp_tunnel_inc_refcount(tunnel); - error = l2tp_tunnel_register(tunnel, sock_net(sk), - &tcfg); + error = l2tp_tunnel_register(tunnel, net, &tcfg); if (error < 0) { kfree(tunnel); - goto end; + return ERR_PTR(error); } - drop_tunnel = true; - new_tunnel = true; + + *new_tunnel = true; } } else { /* Error if we can't find the tunnel */ - error = -ENOENT; if (!tunnel) - goto end; + return ERR_PTR(-ENOENT); /* Error if socket is not prepped */ - if (!tunnel->sock) - goto end; + if (!tunnel->sock) { + l2tp_tunnel_dec_refcount(tunnel); + return ERR_PTR(-ENOENT); + } } + return tunnel; +} + +/* connect() handler. Attach a PPPoX socket to a tunnel UDP socket + */ +static int pppol2tp_connect(struct socket *sock, struct sockaddr *uservaddr, + int sockaddr_len, int flags) +{ + struct sock *sk = sock->sk; + struct pppox_sock *po = pppox_sk(sk); + struct l2tp_session *session = NULL; + struct l2tp_connect_info info; + struct l2tp_tunnel *tunnel; + struct pppol2tp_session *ps; + struct l2tp_session_cfg cfg = { 0, }; + bool drop_refcnt = false; + bool new_session = false; + bool new_tunnel = false; + int error; + + error = pppol2tp_sockaddr_get_info(uservaddr, sockaddr_len, &info); + if (error < 0) + return error; + + /* Don't bind if tunnel_id is 0 */ + if (!info.tunnel_id) + return -EINVAL; + + tunnel = pppol2tp_tunnel_get(sock_net(sk), &info, &new_tunnel); + if (IS_ERR(tunnel)) + return PTR_ERR(tunnel); + + lock_sock(sk); + + /* Check for already bound sockets */ + error = -EBUSY; + if (sk->sk_state & PPPOX_CONNECTED) + goto end; + + /* We don't supporting rebinding anyway */ + error = -EALREADY; + if (sk->sk_user_data) + goto end; /* socket is already attached */ + if (tunnel->peer_tunnel_id == 0) tunnel->peer_tunnel_id = info.peer_tunnel_id; @@ -840,8 +850,7 @@ } if (drop_refcnt) l2tp_session_dec_refcount(session); - if (drop_tunnel) - l2tp_tunnel_dec_refcount(tunnel); + l2tp_tunnel_dec_refcount(tunnel); release_sock(sk); return error; --- linux-gcp-5.19.0.orig/net/mac80211/agg-tx.c +++ linux-gcp-5.19.0/net/mac80211/agg-tx.c @@ -491,7 +491,7 @@ { struct tid_ampdu_tx *tid_tx; struct ieee80211_local *local = sta->local; - struct ieee80211_sub_if_data *sdata = sta->sdata; + struct ieee80211_sub_if_data *sdata; struct ieee80211_ampdu_params params = { .sta = &sta->sta, .action = IEEE80211_AMPDU_TX_START, @@ -521,6 +521,7 @@ */ synchronize_net(); + sdata = sta->sdata; params.ssn = sta->tid_seq[tid] >> 4; ret = drv_ampdu_action(local, sdata, ¶ms); tid_tx->ssn = params.ssn; @@ -534,6 +535,9 @@ */ set_bit(HT_AGG_STATE_DRV_READY, &tid_tx->state); } else if (ret) { + if (!sdata) + return; + ht_dbg(sdata, "BA request denied - HW unavailable for %pM tid %d\n", sta->sta.addr, tid); --- linux-gcp-5.19.0.orig/net/mac80211/airtime.c +++ linux-gcp-5.19.0/net/mac80211/airtime.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: ISC /* * Copyright (C) 2019 Felix Fietkau - * Copyright (C) 2021 Intel Corporation + * Copyright (C) 2021-2022 Intel Corporation */ #include @@ -452,6 +452,9 @@ (status->encoding == RX_ENC_HE && streams > 8))) return 0; + if (idx >= MCS_GROUP_RATES) + return 0; + duration = airtime_mcs_groups[group].duration[idx]; duration <<= airtime_mcs_groups[group].shift; *overhead = 36 + (streams << 2); @@ -637,7 +640,7 @@ len += 38; /* Ethernet header length */ - conf = rcu_dereference(vif->chanctx_conf); + conf = rcu_dereference(vif->bss_conf.chanctx_conf); if (conf) { band = conf->def.chan->band; shift = ieee80211_chandef_get_shift(&conf->def); --- linux-gcp-5.19.0.orig/net/mac80211/cfg.c +++ linux-gcp-5.19.0/net/mac80211/cfg.c @@ -53,7 +53,7 @@ params->vht_mumimo_follow_addr); } - sdata->vif.mu_mimo_owner = mu_mimo_groups || mu_mimo_follow; + sdata->vif.bss_conf.mu_mimo_owner = mu_mimo_groups || mu_mimo_follow; } static int ieee80211_set_mon_options(struct ieee80211_sub_if_data *sdata, @@ -1326,7 +1326,7 @@ /* don't allow changing the beacon while a countdown is in place - offset * of channel switch counter may change */ - if (sdata->vif.csa_active || sdata->vif.color_change_active) + if (sdata->vif.bss_conf.csa_active || sdata->vif.bss_conf.color_change_active) return -EBUSY; old = sdata_dereference(sdata->u.ap.beacon, sdata); @@ -1358,7 +1358,8 @@ sdata->u.ap.next_beacon = NULL; } -static int ieee80211_stop_ap(struct wiphy *wiphy, struct net_device *dev) +static int ieee80211_stop_ap(struct wiphy *wiphy, struct net_device *dev, + unsigned int link_id) { struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); struct ieee80211_sub_if_data *vlan; @@ -1383,7 +1384,7 @@ /* abort any running channel switch */ mutex_lock(&local->mtx); - sdata->vif.csa_active = false; + sdata->vif.bss_conf.csa_active = false; if (sdata->csa_block_tx) { ieee80211_wake_vif_queues(local, sdata, IEEE80211_QUEUE_STOP_REASON_CSA); @@ -3065,6 +3066,7 @@ static int ieee80211_set_bitrate_mask(struct wiphy *wiphy, struct net_device *dev, + unsigned int link_id, const u8 *addr, const struct cfg80211_bitrate_mask *mask) { @@ -3081,7 +3083,7 @@ * to send something, and if we're an AP we have to be able to do * so at a basic rate so that all clients can receive it. */ - if (rcu_access_pointer(sdata->vif.chanctx_conf) && + if (rcu_access_pointer(sdata->vif.bss_conf.chanctx_conf) && sdata->vif.bss_conf.chandef.chan) { u32 basic_rates = sdata->vif.bss_conf.basic_rates; enum nl80211_band band = sdata->vif.bss_conf.chandef.chan->band; @@ -3388,7 +3390,7 @@ &sdata->csa_chandef)) return -EINVAL; - sdata->vif.csa_active = false; + sdata->vif.bss_conf.csa_active = false; err = ieee80211_set_after_csa_beacon(sdata, &changed); if (err) @@ -3406,7 +3408,7 @@ if (err) return err; - cfg80211_ch_switch_notify(sdata->dev, &sdata->csa_chandef); + cfg80211_ch_switch_notify(sdata->dev, &sdata->csa_chandef, 0); return 0; } @@ -3432,7 +3434,7 @@ mutex_lock(&local->chanctx_mtx); /* AP might have been stopped while waiting for the lock. */ - if (!sdata->vif.csa_active) + if (!sdata->vif.bss_conf.csa_active) goto unlock; if (!ieee80211_sdata_running(sdata)) @@ -3543,9 +3545,6 @@ case NL80211_IFTYPE_MESH_POINT: { struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; - if (params->chandef.width != sdata->vif.bss_conf.chandef.width) - return -EINVAL; - /* changes into another band are not supported */ if (sdata->vif.bss_conf.chandef.chan->band != params->chandef.chan->band) @@ -3584,7 +3583,7 @@ static void ieee80211_color_change_abort(struct ieee80211_sub_if_data *sdata) { - sdata->vif.color_change_active = false; + sdata->vif.bss_conf.color_change_active = false; ieee80211_free_next_beacon(sdata); @@ -3617,11 +3616,11 @@ return -EINVAL; /* don't allow another channel switch if one is already active. */ - if (sdata->vif.csa_active) + if (sdata->vif.bss_conf.csa_active) return -EBUSY; mutex_lock(&local->chanctx_mtx); - conf = rcu_dereference_protected(sdata->vif.chanctx_conf, + conf = rcu_dereference_protected(sdata->vif.bss_conf.chanctx_conf, lockdep_is_held(&local->chanctx_mtx)); if (!conf) { err = -EBUSY; @@ -3660,7 +3659,7 @@ } /* if there is a color change in progress, abort it */ - if (sdata->vif.color_change_active) + if (sdata->vif.bss_conf.color_change_active) ieee80211_color_change_abort(sdata); err = ieee80211_set_csa_beacon(sdata, params, &changed); @@ -3671,7 +3670,7 @@ sdata->csa_chandef = params->chandef; sdata->csa_block_tx = params->block_tx; - sdata->vif.csa_active = true; + sdata->vif.bss_conf.csa_active = true; if (sdata->csa_block_tx) ieee80211_stop_vif_queues(local, sdata, @@ -3840,7 +3839,7 @@ mutex_lock(&local->mtx); rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (WARN_ON(!chanctx_conf)) { ret = -EINVAL; goto unlock; @@ -3914,6 +3913,7 @@ static int ieee80211_cfg_get_channel(struct wiphy *wiphy, struct wireless_dev *wdev, + unsigned int link_id, struct cfg80211_chan_def *chandef) { struct ieee80211_sub_if_data *sdata = IEEE80211_WDEV_TO_SUB_IF(wdev); @@ -3922,7 +3922,7 @@ int ret = -ENODATA; rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (chanctx_conf) { *chandef = sdata->vif.bss_conf.chandef; ret = 0; @@ -3974,6 +3974,7 @@ static int ieee80211_set_ap_chanwidth(struct wiphy *wiphy, struct net_device *dev, + unsigned int link_id, struct cfg80211_chan_def *chandef) { struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); @@ -4417,7 +4418,7 @@ sdata_assert_lock(sdata); lockdep_assert_held(&local->mtx); - sdata->vif.color_change_active = false; + sdata->vif.bss_conf.color_change_active = false; err = ieee80211_set_after_color_change_beacon(sdata, &changed); if (err) { @@ -4426,7 +4427,7 @@ } ieee80211_color_change_bss_config_notify(sdata, - sdata->vif.color_change_color, + sdata->vif.bss_conf.color_change_color, 1, changed); cfg80211_color_change_notify(sdata->dev); @@ -4444,7 +4445,7 @@ mutex_lock(&local->mtx); /* AP might have been stopped while waiting for the lock. */ - if (!sdata->vif.color_change_active) + if (!sdata->vif.bss_conf.color_change_active) goto unlock; if (!ieee80211_sdata_running(sdata)) @@ -4472,7 +4473,7 @@ { struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif); - if (sdata->vif.color_change_active || sdata->vif.csa_active) + if (sdata->vif.bss_conf.color_change_active || sdata->vif.bss_conf.csa_active) return; cfg80211_obss_color_collision_notify(sdata->dev, color_bitmap, gfp); @@ -4498,7 +4499,7 @@ /* don't allow another color change if one is already active or if csa * is active */ - if (sdata->vif.color_change_active || sdata->vif.csa_active) { + if (sdata->vif.bss_conf.color_change_active || sdata->vif.bss_conf.csa_active) { err = -EBUSY; goto out; } @@ -4507,8 +4508,8 @@ if (err) goto out; - sdata->vif.color_change_active = true; - sdata->vif.color_change_color = params->color; + sdata->vif.bss_conf.color_change_active = true; + sdata->vif.bss_conf.color_change_color = params->color; cfg80211_color_change_started_notify(sdata->dev, params->count); --- linux-gcp-5.19.0.orig/net/mac80211/chan.c +++ linux-gcp-5.19.0/net/mac80211/chan.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-only /* * mac80211 - channel management - * Copyright 2020 - 2021 Intel Corporation + * Copyright 2020 - 2022 Intel Corporation */ #include @@ -72,7 +72,7 @@ struct ieee80211_local *local __maybe_unused = sdata->local; struct ieee80211_chanctx_conf *conf; - conf = rcu_dereference_protected(sdata->vif.chanctx_conf, + conf = rcu_dereference_protected(sdata->vif.bss_conf.chanctx_conf, lockdep_is_held(&local->chanctx_mtx)); if (!conf) return NULL; @@ -260,7 +260,7 @@ if (!ieee80211_sdata_running(sdata)) continue; - if (rcu_access_pointer(sdata->vif.chanctx_conf) != conf) + if (rcu_access_pointer(sdata->vif.bss_conf.chanctx_conf) != conf) continue; switch (vif->type) { @@ -298,7 +298,7 @@ /* use the configured bandwidth in case of monitor interface */ sdata = rcu_dereference(local->monitor_sdata); - if (sdata && rcu_access_pointer(sdata->vif.chanctx_conf) == conf) + if (sdata && rcu_access_pointer(sdata->vif.bss_conf.chanctx_conf) == conf) max_bw = max(max_bw, conf->def.width); rcu_read_unlock(); @@ -368,7 +368,7 @@ if (!ieee80211_sdata_running(sta->sdata)) continue; - if (rcu_access_pointer(sta->sdata->vif.chanctx_conf) != + if (rcu_access_pointer(sta->sdata->vif.bss_conf.chanctx_conf) != &ctx->conf) continue; @@ -533,7 +533,7 @@ list_for_each_entry_rcu(sdata, &local->interfaces, list) { if (!ieee80211_sdata_running(sdata)) continue; - if (rcu_access_pointer(sdata->vif.chanctx_conf) != conf) + if (rcu_access_pointer(sdata->vif.bss_conf.chanctx_conf) != conf) continue; if (!sdata->radar_required) continue; @@ -689,7 +689,7 @@ if (!ieee80211_sdata_running(sdata)) continue; - if (rcu_access_pointer(sdata->vif.chanctx_conf) != conf) + if (rcu_access_pointer(sdata->vif.bss_conf.chanctx_conf) != conf) continue; if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) continue; @@ -759,7 +759,7 @@ if (WARN_ON(sdata->vif.type == NL80211_IFTYPE_NAN)) return -ENOTSUPP; - conf = rcu_dereference_protected(sdata->vif.chanctx_conf, + conf = rcu_dereference_protected(sdata->vif.bss_conf.chanctx_conf, lockdep_is_held(&local->chanctx_mtx)); if (conf) { @@ -781,7 +781,7 @@ } out: - rcu_assign_pointer(sdata->vif.chanctx_conf, conf); + rcu_assign_pointer(sdata->vif.bss_conf.chanctx_conf, conf); sdata->vif.bss_conf.idle = !conf; @@ -825,7 +825,7 @@ if (!ieee80211_sdata_running(sdata)) continue; - if (rcu_access_pointer(sdata->vif.chanctx_conf) != + if (rcu_access_pointer(sdata->vif.bss_conf.chanctx_conf) != &chanctx->conf) continue; @@ -874,7 +874,7 @@ /* Disable SMPS for the monitor interface */ sdata = rcu_dereference(local->monitor_sdata); if (sdata && - rcu_access_pointer(sdata->vif.chanctx_conf) == &chanctx->conf) + rcu_access_pointer(sdata->vif.bss_conf.chanctx_conf) == &chanctx->conf) rx_chains_dynamic = rx_chains_static = local->rx_chains; rcu_read_unlock(); @@ -917,7 +917,7 @@ * channel context pointer for a while, possibly pointing * to a channel context that has already been freed. */ - conf = rcu_dereference_protected(sdata->vif.chanctx_conf, + conf = rcu_dereference_protected(sdata->vif.bss_conf.chanctx_conf, lockdep_is_held(&local->chanctx_mtx)); WARN_ON(!conf); @@ -925,7 +925,7 @@ conf = NULL; list_for_each_entry(vlan, &sdata->u.ap.vlans, u.vlan.list) - rcu_assign_pointer(vlan->vif.chanctx_conf, conf); + rcu_assign_pointer(vlan->vif.bss_conf.chanctx_conf, conf); } void ieee80211_vif_copy_chanctx_to_vlans(struct ieee80211_sub_if_data *sdata, @@ -1173,7 +1173,7 @@ } list_move(&sdata->assigned_chanctx_list, &new_ctx->assigned_vifs); - rcu_assign_pointer(sdata->vif.chanctx_conf, &new_ctx->conf); + rcu_assign_pointer(sdata->vif.bss_conf.chanctx_conf, &new_ctx->conf); if (sdata->vif.type == NL80211_IFTYPE_AP) __ieee80211_vif_copy_chanctx_to_vlans(sdata, false); @@ -1515,7 +1515,8 @@ if (!ieee80211_vif_has_in_place_reservation(sdata)) continue; - rcu_assign_pointer(sdata->vif.chanctx_conf, &ctx->conf); + rcu_assign_pointer(sdata->vif.bss_conf.chanctx_conf, + &ctx->conf); if (sdata->vif.type == NL80211_IFTYPE_AP) __ieee80211_vif_copy_chanctx_to_vlans(sdata, @@ -1634,7 +1635,7 @@ lockdep_assert_held(&local->chanctx_mtx); - conf = rcu_dereference_protected(sdata->vif.chanctx_conf, + conf = rcu_dereference_protected(sdata->vif.bss_conf.chanctx_conf, lockdep_is_held(&local->chanctx_mtx)); if (!conf) return; @@ -1809,7 +1810,7 @@ goto out; } - conf = rcu_dereference_protected(sdata->vif.chanctx_conf, + conf = rcu_dereference_protected(sdata->vif.bss_conf.chanctx_conf, lockdep_is_held(&local->chanctx_mtx)); if (!conf) { ret = -EINVAL; @@ -1879,9 +1880,9 @@ mutex_lock(&local->chanctx_mtx); - conf = rcu_dereference_protected(ap->vif.chanctx_conf, + conf = rcu_dereference_protected(ap->vif.bss_conf.chanctx_conf, lockdep_is_held(&local->chanctx_mtx)); - rcu_assign_pointer(sdata->vif.chanctx_conf, conf); + rcu_assign_pointer(sdata->vif.bss_conf.chanctx_conf, conf); mutex_unlock(&local->chanctx_mtx); } --- linux-gcp-5.19.0.orig/net/mac80211/driver-ops.c +++ linux-gcp-5.19.0/net/mac80211/driver-ops.c @@ -331,6 +331,9 @@ might_sleep(); + if (!sdata) + return -EIO; + sdata = get_bss_sdata(sdata); if (!check_sdata_in_driver(sdata)) return -EIO; --- linux-gcp-5.19.0.orig/net/mac80211/driver-ops.h +++ linux-gcp-5.19.0/net/mac80211/driver-ops.h @@ -165,7 +165,7 @@ if (WARN_ON_ONCE(sdata->vif.type == NL80211_IFTYPE_P2P_DEVICE || sdata->vif.type == NL80211_IFTYPE_NAN || (sdata->vif.type == NL80211_IFTYPE_MONITOR && - !sdata->vif.mu_mimo_owner && + !sdata->vif.bss_conf.mu_mimo_owner && !(changed & BSS_CHANGED_TXPOWER)))) return; --- linux-gcp-5.19.0.orig/net/mac80211/ethtool.c +++ linux-gcp-5.19.0/net/mac80211/ethtool.c @@ -5,7 +5,7 @@ * Copied from cfg.c - originally * Copyright 2006-2010 Johannes Berg * Copyright 2014 Intel Corporation (Author: Johannes Berg) - * Copyright (C) 2018 Intel Corporation + * Copyright (C) 2018, 2022 Intel Corporation */ #include #include @@ -150,7 +150,7 @@ survey.filled = 0; rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (chanctx_conf) channel = chanctx_conf->def.chan; else --- linux-gcp-5.19.0.orig/net/mac80211/ibss.c +++ linux-gcp-5.19.0/net/mac80211/ibss.c @@ -9,7 +9,7 @@ * Copyright 2009, Johannes Berg * Copyright 2013-2014 Intel Mobile Communications GmbH * Copyright(c) 2016 Intel Deutschland GmbH - * Copyright(c) 2018-2021 Intel Corporation + * Copyright(c) 2018-2022 Intel Corporation */ #include @@ -534,6 +534,10 @@ sdata_assert_lock(sdata); + /* When not connected/joined, sending CSA doesn't make sense. */ + if (ifibss->state != IEEE80211_IBSS_MLME_JOINED) + return -ENOLINK; + /* update cfg80211 bss information with the new channel */ if (!is_zero_ether_addr(ifibss->bssid)) { cbss = cfg80211_get_bss(sdata->local->hw.wiphy, @@ -622,7 +626,7 @@ } rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (WARN_ON_ONCE(!chanctx_conf)) return NULL; band = chanctx_conf->def.chan->band; @@ -923,7 +927,7 @@ if (len < required_len) return; - if (!sdata->vif.csa_active) + if (!sdata->vif.bss_conf.csa_active) ieee80211_ibss_process_chanswitch(sdata, elems, false); } @@ -1143,7 +1147,7 @@ goto put_bss; /* process channel switch */ - if (sdata->vif.csa_active || + if (sdata->vif.bss_conf.csa_active || ieee80211_ibss_process_chanswitch(sdata, elems, true)) goto put_bss; @@ -1220,7 +1224,7 @@ return; rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (WARN_ON_ONCE(!chanctx_conf)) { rcu_read_unlock(); return; --- linux-gcp-5.19.0.orig/net/mac80211/ieee80211_i.h +++ linux-gcp-5.19.0/net/mac80211/ieee80211_i.h @@ -1077,7 +1077,7 @@ int shift = 0; rcu_read_lock(); - chanctx_conf = rcu_dereference(vif->chanctx_conf); + chanctx_conf = rcu_dereference(vif->bss_conf.chanctx_conf); if (chanctx_conf) shift = ieee80211_chandef_get_shift(&chanctx_conf->def); rcu_read_unlock(); @@ -1528,7 +1528,7 @@ enum nl80211_band band; rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (!chanctx_conf) { rcu_read_unlock(); @@ -1640,6 +1640,14 @@ /* whether a parse error occurred while retrieving these elements */ bool parse_error; + + /* + * scratch buffer that can be used for various element parsing related + * tasks, e.g., element de-fragmentation etc. + */ + size_t scratch_len; + u8 *scratch_pos; + u8 scratch[]; }; static inline struct ieee80211_local *hw_to_local( @@ -2225,7 +2233,7 @@ struct ieee80211_chanctx_conf *chanctx_conf; rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (WARN_ON(!chanctx_conf)) { rcu_read_unlock(); kfree_skb(skb); --- linux-gcp-5.19.0.orig/net/mac80211/iface.c +++ linux-gcp-5.19.0/net/mac80211/iface.c @@ -51,7 +51,7 @@ int power; rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (!chanctx_conf) { rcu_read_unlock(); return false; @@ -275,7 +275,7 @@ * will not add another interface while any channel * switch is active. */ - if (nsdata->vif.csa_active) + if (nsdata->vif.bss_conf.csa_active) return -EBUSY; /* @@ -451,7 +451,7 @@ cancel_work_sync(&sdata->recalc_smps); sdata_lock(sdata); mutex_lock(&local->mtx); - sdata->vif.csa_active = false; + sdata->vif.bss_conf.csa_active = false; if (sdata->vif.type == NL80211_IFTYPE_STATION) sdata->u.mgd.csa_waiting_bcn = false; if (sdata->csa_block_tx) { @@ -503,7 +503,7 @@ mutex_lock(&local->mtx); list_del(&sdata->u.vlan.list); mutex_unlock(&local->mtx); - RCU_INIT_POINTER(sdata->vif.chanctx_conf, NULL); + RCU_INIT_POINTER(sdata->vif.bss_conf.chanctx_conf, NULL); /* see comment in the default case below */ ieee80211_free_keys(sdata, true); /* no need to tell driver */ --- linux-gcp-5.19.0.orig/net/mac80211/key.c +++ linux-gcp-5.19.0/net/mac80211/key.c @@ -433,13 +433,25 @@ int idx; int ret = 0; bool defunikey, defmultikey, defmgmtkey, defbeaconkey; + bool is_wep; /* caller must provide at least one old/new */ if (WARN_ON(!new && !old)) return 0; - if (new) + if (new) { + idx = new->conf.keyidx; list_add_tail_rcu(&new->list, &sdata->key_list); + is_wep = new->conf.cipher == WLAN_CIPHER_SUITE_WEP40 || + new->conf.cipher == WLAN_CIPHER_SUITE_WEP104; + } else { + idx = old->conf.keyidx; + is_wep = old->conf.cipher == WLAN_CIPHER_SUITE_WEP40 || + old->conf.cipher == WLAN_CIPHER_SUITE_WEP104; + } + + if ((is_wep || pairwise) && idx >= NUM_DEFAULT_KEYS) + return -EINVAL; WARN_ON(new && old && new->conf.keyidx != old->conf.keyidx); @@ -451,8 +463,6 @@ } if (old) { - idx = old->conf.keyidx; - if (old->flags & KEY_FLAG_UPLOADED_TO_HARDWARE) { ieee80211_key_disable_hw_accel(old); @@ -460,8 +470,6 @@ ret = ieee80211_key_enable_hw_accel(new); } } else { - /* new must be provided in case old is not */ - idx = new->conf.keyidx; if (!new->local->wowlan) ret = ieee80211_key_enable_hw_accel(new); } --- linux-gcp-5.19.0.orig/net/mac80211/main.c +++ linux-gcp-5.19.0/net/mac80211/main.c @@ -147,7 +147,7 @@ rcu_read_lock(); list_for_each_entry_rcu(sdata, &local->interfaces, list) { - if (!rcu_access_pointer(sdata->vif.chanctx_conf)) + if (!rcu_access_pointer(sdata->vif.bss_conf.chanctx_conf)) continue; if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) continue; @@ -284,7 +284,7 @@ * Then we can have a race... */ cancel_work_sync(&sdata->u.mgd.csa_connection_drop_work); - if (sdata->vif.csa_active) { + if (sdata->vif.bss_conf.csa_active) { sdata_lock(sdata); ieee80211_sta_connection_lost(sdata, WLAN_REASON_UNSPECIFIED, @@ -1369,8 +1369,10 @@ ieee80211_led_exit(local); destroy_workqueue(local->workqueue); fail_workqueue: - if (local->wiphy_ciphers_allocated) + if (local->wiphy_ciphers_allocated) { kfree(local->hw.wiphy->cipher_suites); + local->wiphy_ciphers_allocated = false; + } kfree(local->int_scan_req); return result; } @@ -1438,8 +1440,10 @@ mutex_destroy(&local->iflist_mtx); mutex_destroy(&local->mtx); - if (local->wiphy_ciphers_allocated) + if (local->wiphy_ciphers_allocated) { kfree(local->hw.wiphy->cipher_suites); + local->wiphy_ciphers_allocated = false; + } idr_for_each(&local->ack_status_frames, ieee80211_free_ack_frame, NULL); --- linux-gcp-5.19.0.orig/net/mac80211/mesh.c +++ linux-gcp-5.19.0/net/mac80211/mesh.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2008, 2009 open80211s Ltd. - * Copyright (C) 2018 - 2021 Intel Corporation + * Copyright (C) 2018 - 2022 Intel Corporation * Authors: Luis Carlos Cobo * Javier Cardona */ @@ -399,7 +399,7 @@ return -ENOMEM; rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (WARN_ON(!chanctx_conf)) { rcu_read_unlock(); return -EINVAL; @@ -455,7 +455,7 @@ u8 *pos; rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (WARN_ON(!chanctx_conf)) { rcu_read_unlock(); return -EINVAL; @@ -527,7 +527,7 @@ u8 *pos; rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (WARN_ON(!chanctx_conf)) { rcu_read_unlock(); return -EINVAL; @@ -820,7 +820,7 @@ sdata = container_of(ifmsh, struct ieee80211_sub_if_data, u.mesh); rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); band = chanctx_conf->def.chan->band; rcu_read_unlock(); @@ -1357,7 +1357,7 @@ rx_status); if (ifmsh->csa_role != IEEE80211_MESH_CSA_ROLE_INIT && - !sdata->vif.csa_active) + !sdata->vif.bss_conf.csa_active) ieee80211_mesh_process_chnswitch(sdata, elems, true); } @@ -1488,7 +1488,7 @@ ifmsh->pre_value = pre_value; - if (!sdata->vif.csa_active && + if (!sdata->vif.bss_conf.csa_active && !ieee80211_mesh_process_chnswitch(sdata, elems, false)) { mcsa_dbg(sdata, "Failed to process CSA action frame"); goto free; --- linux-gcp-5.19.0.orig/net/mac80211/mesh_pathtbl.c +++ linux-gcp-5.19.0/net/mac80211/mesh_pathtbl.c @@ -710,7 +710,7 @@ void mesh_path_discard_frame(struct ieee80211_sub_if_data *sdata, struct sk_buff *skb) { - kfree_skb(skb); + ieee80211_free_txskb(&sdata->local->hw, skb); sdata->u.mesh.mshstats.dropped_frames_no_route++; } --- linux-gcp-5.19.0.orig/net/mac80211/mlme.c +++ linux-gcp-5.19.0/net/mac80211/mlme.c @@ -624,7 +624,7 @@ struct ieee80211_sub_if_data *other; list_for_each_entry_rcu(other, &local->interfaces, list) { - if (other->vif.mu_mimo_owner) { + if (other->vif.bss_conf.mu_mimo_owner) { disable_mu_mimo = true; break; } @@ -632,7 +632,7 @@ if (disable_mu_mimo) cap &= ~IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE; else - sdata->vif.mu_mimo_owner = true; + sdata->vif.bss_conf.mu_mimo_owner = true; } mask = IEEE80211_VHT_CAP_BEAMFORMEE_STS_MASK; @@ -664,7 +664,7 @@ bool reg_cap = false; rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (!WARN_ON_ONCE(!chanctx_conf)) reg_cap = cfg80211_chandef_usable(sdata->wdev.wiphy, &chanctx_conf->def, @@ -705,7 +705,7 @@ bool reg_cap = false; rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (!WARN_ON_ONCE(!chanctx_conf)) reg_cap = cfg80211_chandef_usable(sdata->wdev.wiphy, &chanctx_conf->def, @@ -766,7 +766,7 @@ sdata_assert_lock(sdata); rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (WARN_ON(!chanctx_conf)) { rcu_read_unlock(); return -EINVAL; @@ -1229,7 +1229,7 @@ if (!ifmgd->associated) goto out; - if (!sdata->vif.csa_active) + if (!sdata->vif.bss_conf.csa_active) goto out; /* @@ -1289,7 +1289,7 @@ sdata_assert_lock(sdata); - WARN_ON(!sdata->vif.csa_active); + WARN_ON(!sdata->vif.bss_conf.csa_active); if (sdata->csa_block_tx) { ieee80211_wake_vif_queues(local, sdata, @@ -1297,7 +1297,7 @@ sdata->csa_block_tx = false; } - sdata->vif.csa_active = false; + sdata->vif.bss_conf.csa_active = false; ifmgd->csa_waiting_bcn = false; /* * If the CSA IE is still present on the beacon after the switch, @@ -1314,7 +1314,7 @@ return; } - cfg80211_ch_switch_notify(sdata->dev, &sdata->reserved_chandef); + cfg80211_ch_switch_notify(sdata->dev, &sdata->reserved_chandef, 0); } void ieee80211_chswitch_done(struct ieee80211_vif *vif, bool success) @@ -1361,7 +1361,7 @@ IEEE80211_QUEUE_STOP_REASON_CSA); sdata->csa_block_tx = false; - sdata->vif.csa_active = false; + sdata->vif.bss_conf.csa_active = false; mutex_unlock(&local->mtx); @@ -1412,13 +1412,13 @@ if (res < 0) goto lock_and_drop_connection; - if (beacon && sdata->vif.csa_active && !ifmgd->csa_waiting_bcn) { + if (beacon && sdata->vif.bss_conf.csa_active && !ifmgd->csa_waiting_bcn) { if (res) ieee80211_sta_abort_chanswitch(sdata); else drv_channel_switch_rx_beacon(sdata, &ch_switch); return; - } else if (sdata->vif.csa_active || res) { + } else if (sdata->vif.bss_conf.csa_active || res) { /* disregard subsequent announcements if already processing */ return; } @@ -1471,7 +1471,7 @@ mutex_lock(&local->mtx); mutex_lock(&local->chanctx_mtx); - conf = rcu_dereference_protected(sdata->vif.chanctx_conf, + conf = rcu_dereference_protected(sdata->vif.bss_conf.chanctx_conf, lockdep_is_held(&local->chanctx_mtx)); if (!conf) { sdata_info(sdata, @@ -1504,7 +1504,7 @@ } mutex_unlock(&local->chanctx_mtx); - sdata->vif.csa_active = true; + sdata->vif.bss_conf.csa_active = true; sdata->csa_chandef = csa_ie.chandef; sdata->csa_block_tx = csa_ie.mode; ifmgd->csa_ignored_same_chan = false; @@ -1543,7 +1543,7 @@ * send a deauthentication frame. Those two fields will be * reset when the disconnection worker runs. */ - sdata->vif.csa_active = true; + sdata->vif.bss_conf.csa_active = true; sdata->csa_block_tx = csa_ie.mode; ieee80211_queue_work(&local->hw, &ifmgd->csa_connection_drop_work); @@ -2447,7 +2447,7 @@ memset(sdata->vif.bss_conf.mu_group.position, 0, sizeof(sdata->vif.bss_conf.mu_group.position)); changed |= BSS_CHANGED_MU_GROUPS; - sdata->vif.mu_mimo_owner = false; + sdata->vif.bss_conf.mu_mimo_owner = false; sdata->ap_power_level = IEEE80211_UNSET_POWER_LEVEL; @@ -2482,7 +2482,7 @@ mutex_lock(&local->mtx); ieee80211_vif_release_channel(sdata); - sdata->vif.csa_active = false; + sdata->vif.bss_conf.csa_active = false; ifmgd->csa_waiting_bcn = false; ifmgd->csa_ignored_same_chan = false; if (sdata->csa_block_tx) { @@ -2810,7 +2810,7 @@ WLAN_REASON_DISASSOC_DUE_TO_INACTIVITY, tx, frame_buf); mutex_lock(&local->mtx); - sdata->vif.csa_active = false; + sdata->vif.bss_conf.csa_active = false; ifmgd->csa_waiting_bcn = false; if (sdata->csa_block_tx) { ieee80211_wake_vif_queues(local, sdata, @@ -2950,7 +2950,7 @@ eth_zero_addr(sdata->u.mgd.bssid); ieee80211_bss_info_change_notify(sdata, BSS_CHANGED_BSSID); sdata->u.mgd.flags = 0; - sdata->vif.mu_mimo_owner = false; + sdata->vif.bss_conf.mu_mimo_owner = false; mutex_lock(&sdata->local->mtx); ieee80211_vif_release_channel(sdata); @@ -4136,7 +4136,7 @@ return; rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (!chanctx_conf) { rcu_read_unlock(); return; @@ -4805,7 +4805,7 @@ from_timer(sdata, t, u.mgd.bcn_mon_timer); struct ieee80211_if_managed *ifmgd = &sdata->u.mgd; - if (sdata->vif.csa_active && !ifmgd->csa_waiting_bcn) + if (sdata->vif.bss_conf.csa_active && !ifmgd->csa_waiting_bcn) return; if (sdata->vif.driver_flags & IEEE80211_VIF_BEACON_FILTER) @@ -4825,7 +4825,7 @@ struct sta_info *sta; unsigned long timeout; - if (sdata->vif.csa_active && !ifmgd->csa_waiting_bcn) + if (sdata->vif.bss_conf.csa_active && !ifmgd->csa_waiting_bcn) return; sta = sta_info_get(sdata, ifmgd->bssid); --- linux-gcp-5.19.0.orig/net/mac80211/ocb.c +++ linux-gcp-5.19.0/net/mac80211/ocb.c @@ -4,6 +4,7 @@ * * Copyright: (c) 2014 Czech Technical University in Prague * (c) 2014 Volkswagen Group Research + * Copyright (C) 2022 Intel Corporation * Author: Rostislav Lisovy * Funded by: Volkswagen Group Research */ @@ -59,7 +60,7 @@ ocb_dbg(sdata, "Adding new OCB station %pM\n", addr); rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (WARN_ON_ONCE(!chanctx_conf)) { rcu_read_unlock(); return; --- linux-gcp-5.19.0.orig/net/mac80211/offchannel.c +++ linux-gcp-5.19.0/net/mac80211/offchannel.c @@ -8,7 +8,7 @@ * Copyright 2006-2007 Jiri Benc * Copyright 2007, Michael Wu * Copyright 2009 Johannes Berg - * Copyright (C) 2019 Intel Corporation + * Copyright (C) 2019, 2022 Intel Corporation */ #include #include @@ -845,7 +845,7 @@ struct ieee80211_chanctx_conf *chanctx_conf; rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (chanctx_conf) { need_offchan = params->chan && @@ -876,7 +876,7 @@ data = skb_put_data(skb, params->buf, params->len); /* Update CSA counters */ - if (sdata->vif.csa_active && + if (sdata->vif.bss_conf.csa_active && (sdata->vif.type == NL80211_IFTYPE_AP || sdata->vif.type == NL80211_IFTYPE_MESH_POINT || sdata->vif.type == NL80211_IFTYPE_ADHOC) && --- linux-gcp-5.19.0.orig/net/mac80211/rate.c +++ linux-gcp-5.19.0/net/mac80211/rate.c @@ -4,6 +4,7 @@ * Copyright 2005-2006, Devicescape Software, Inc. * Copyright (c) 2006 Jiri Benc * Copyright 2017 Intel Deutschland GmbH + * Copyright (C) 2022 Intel Corporation */ #include @@ -43,7 +44,7 @@ rcu_read_lock(); - chanctx_conf = rcu_dereference(sta->sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sta->sdata->vif.bss_conf.chanctx_conf); if (WARN_ON(!chanctx_conf)) { rcu_read_unlock(); return; @@ -100,7 +101,7 @@ if (ref && ref->ops->rate_update) { rcu_read_lock(); - chanctx_conf = rcu_dereference(sta->sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sta->sdata->vif.bss_conf.chanctx_conf); if (WARN_ON(!chanctx_conf)) { rcu_read_unlock(); return; --- linux-gcp-5.19.0.orig/net/mac80211/rc80211_minstrel_ht.c +++ linux-gcp-5.19.0/net/mac80211/rc80211_minstrel_ht.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #include "rate.h" #include "sta_info.h" @@ -1550,6 +1551,7 @@ { struct ieee80211_sta_rates *rates; int i = 0; + int max_rates = min_t(int, mp->hw->max_rates, IEEE80211_TX_RATE_TABLE_SIZE); rates = kzalloc(sizeof(*rates), GFP_ATOMIC); if (!rates) @@ -1559,10 +1561,10 @@ minstrel_ht_set_rate(mp, mi, rates, i++, mi->max_tp_rate[0]); /* Fill up remaining, keep one entry for max_probe_rate */ - for (; i < (mp->hw->max_rates - 1); i++) + for (; i < (max_rates - 1); i++) minstrel_ht_set_rate(mp, mi, rates, i, mi->max_tp_rate[i]); - if (i < mp->hw->max_rates) + if (i < max_rates) minstrel_ht_set_rate(mp, mi, rates, i++, mi->max_prob_rate); if (i < IEEE80211_TX_RATE_TABLE_SIZE) --- linux-gcp-5.19.0.orig/net/mac80211/rx.c +++ linux-gcp-5.19.0/net/mac80211/rx.c @@ -1988,10 +1988,11 @@ if (mmie_keyidx < NUM_DEFAULT_KEYS + NUM_DEFAULT_MGMT_KEYS || mmie_keyidx >= NUM_DEFAULT_KEYS + NUM_DEFAULT_MGMT_KEYS + - NUM_DEFAULT_BEACON_KEYS) { - cfg80211_rx_unprot_mlme_mgmt(rx->sdata->dev, - skb->data, - skb->len); + NUM_DEFAULT_BEACON_KEYS) { + if (rx->sdata->dev) + cfg80211_rx_unprot_mlme_mgmt(rx->sdata->dev, + skb->data, + skb->len); return RX_DROP_MONITOR; /* unexpected BIP keyidx */ } @@ -2139,7 +2140,8 @@ /* either the frame has been decrypted or will be dropped */ status->flag |= RX_FLAG_DECRYPTED; - if (unlikely(ieee80211_is_beacon(fc) && result == RX_DROP_UNUSABLE)) + if (unlikely(ieee80211_is_beacon(fc) && result == RX_DROP_UNUSABLE && + rx->sdata->dev)) cfg80211_rx_unprot_mlme_mgmt(rx->sdata->dev, skb->data, skb->len); @@ -3192,7 +3194,7 @@ if (ieee80211_hw_check(&rx->local->hw, DETECTS_COLOR_COLLISION)) return; - if (rx->sdata->vif.csa_active) + if (rx->sdata->vif.bss_conf.csa_active) return; baselen = mgmt->u.beacon.variable - rx->skb->data; --- linux-gcp-5.19.0.orig/net/mac80211/s1g.c +++ linux-gcp-5.19.0/net/mac80211/s1g.c @@ -112,6 +112,9 @@ goto out; } + /* TWT Information not supported yet */ + twt->control |= IEEE80211_TWT_CONTROL_RX_DISABLED; + drv_add_twt_setup(sdata->local, sdata, &sta->sta, twt); out: ieee80211_s1g_send_twt_setup(sdata, mgmt->sa, sdata->vif.addr, twt); --- linux-gcp-5.19.0.orig/net/mac80211/scan.c +++ linux-gcp-5.19.0/net/mac80211/scan.c @@ -465,16 +465,19 @@ scan_req = rcu_dereference_protected(local->scan_req, lockdep_is_held(&local->mtx)); - if (scan_req != local->int_scan_req) { - local->scan_info.aborted = aborted; - cfg80211_scan_done(scan_req, &local->scan_info); - } RCU_INIT_POINTER(local->scan_req, NULL); RCU_INIT_POINTER(local->scan_sdata, NULL); local->scanning = 0; local->scan_chandef.chan = NULL; + synchronize_rcu(); + + if (scan_req != local->int_scan_req) { + local->scan_info.aborted = aborted; + cfg80211_scan_done(scan_req, &local->scan_info); + } + /* Set power back to normal operating levels. */ ieee80211_hw_config(local, 0); --- linux-gcp-5.19.0.orig/net/mac80211/sta_info.c +++ linux-gcp-5.19.0/net/mac80211/sta_info.c @@ -373,6 +373,8 @@ memcpy(sta->addr, addr, ETH_ALEN); memcpy(sta->sta.addr, addr, ETH_ALEN); + memcpy(sta->deflink.addr, addr, ETH_ALEN); + memcpy(sta->sta.deflink.addr, addr, ETH_ALEN); sta->sta.max_rx_aggregation_subframes = local->hw.max_rx_aggregation_subframes; @@ -1467,7 +1469,7 @@ skb->dev = sdata->dev; rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (WARN_ON(!chanctx_conf)) { rcu_read_unlock(); kfree_skb(skb); @@ -2203,7 +2205,7 @@ static int sta_set_rate_info_rx(struct sta_info *sta, struct rate_info *rinfo) { - u16 rate = READ_ONCE(sta_get_last_rx_stats(sta)->last_rate); + u32 rate = READ_ONCE(sta_get_last_rx_stats(sta)->last_rate); if (rate == STA_STATS_RATE_INVALID) return -EINVAL; @@ -2219,9 +2221,9 @@ u64 value; do { - start = u64_stats_fetch_begin(&rxstats->syncp); + start = u64_stats_fetch_begin_irq(&rxstats->syncp); value = rxstats->msdu[tid]; - } while (u64_stats_fetch_retry(&rxstats->syncp, start)); + } while (u64_stats_fetch_retry_irq(&rxstats->syncp, start)); return value; } @@ -2287,9 +2289,9 @@ u64 value; do { - start = u64_stats_fetch_begin(&rxstats->syncp); + start = u64_stats_fetch_begin_irq(&rxstats->syncp); value = rxstats->bytes; - } while (u64_stats_fetch_retry(&rxstats->syncp, start)); + } while (u64_stats_fetch_retry_irq(&rxstats->syncp, start)); return value; } --- linux-gcp-5.19.0.orig/net/mac80211/tdls.c +++ linux-gcp-5.19.0/net/mac80211/tdls.c @@ -6,7 +6,7 @@ * Copyright 2014, Intel Corporation * Copyright 2014 Intel Mobile Communications GmbH * Copyright 2015 - 2016 Intel Deutschland GmbH - * Copyright (C) 2019, 2021 Intel Corporation + * Copyright (C) 2019, 2021-2022 Intel Corporation */ #include @@ -1254,7 +1254,7 @@ struct ieee80211_supported_band *sband; mutex_lock(&local->chanctx_mtx); - conf = rcu_dereference_protected(sdata->vif.chanctx_conf, + conf = rcu_dereference_protected(sdata->vif.bss_conf.chanctx_conf, lockdep_is_held(&local->chanctx_mtx)); if (conf) { width = conf->def.width; @@ -1372,7 +1372,7 @@ switch (oper) { case NL80211_TDLS_ENABLE_LINK: - if (sdata->vif.csa_active) { + if (sdata->vif.bss_conf.csa_active) { tdls_dbg(sdata, "TDLS: disallow link during CSA\n"); ret = -EBUSY; break; --- linux-gcp-5.19.0.orig/net/mac80211/tx.c +++ linux-gcp-5.19.0/net/mac80211/tx.c @@ -57,7 +57,7 @@ return 0; rcu_read_lock(); - chanctx_conf = rcu_dereference(tx->sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(tx->sdata->vif.bss_conf.chanctx_conf); if (chanctx_conf) { shift = ieee80211_chandef_get_shift(&chanctx_conf->def); rate_flags = ieee80211_chandef_rate_flags(&chanctx_conf->def); @@ -2347,12 +2347,12 @@ } } - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (!chanctx_conf) { tmp_sdata = rcu_dereference(local->monitor_sdata); if (tmp_sdata) chanctx_conf = - rcu_dereference(tmp_sdata->vif.chanctx_conf); + rcu_dereference(tmp_sdata->vif.bss_conf.chanctx_conf); } if (chanctx_conf) @@ -2601,7 +2601,7 @@ } ap_sdata = container_of(sdata->bss, struct ieee80211_sub_if_data, u.ap); - chanctx_conf = rcu_dereference(ap_sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(ap_sdata->vif.bss_conf.chanctx_conf); if (!chanctx_conf) { ret = -ENOTCONN; goto free; @@ -2612,7 +2612,7 @@ fallthrough; case NL80211_IFTYPE_AP: if (sdata->vif.type == NL80211_IFTYPE_AP) - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (!chanctx_conf) { ret = -ENOTCONN; goto free; @@ -2691,7 +2691,7 @@ skb->data + ETH_ALEN); } - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (!chanctx_conf) { ret = -ENOTCONN; goto free; @@ -2734,7 +2734,7 @@ memcpy(hdr.addr3, skb->data, ETH_ALEN); hdrlen = 24; } - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (!chanctx_conf) { ret = -ENOTCONN; goto free; @@ -2747,7 +2747,7 @@ memcpy(hdr.addr2, skb->data + ETH_ALEN, ETH_ALEN); eth_broadcast_addr(hdr.addr3); hdrlen = 24; - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (!chanctx_conf) { ret = -ENOTCONN; goto free; @@ -2760,7 +2760,7 @@ memcpy(hdr.addr2, skb->data + ETH_ALEN, ETH_ALEN); memcpy(hdr.addr3, sdata->u.ibss.bssid, ETH_ALEN); hdrlen = 24; - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (!chanctx_conf) { ret = -ENOTCONN; goto free; @@ -2974,7 +2974,7 @@ goto out; rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (!chanctx_conf) { rcu_read_unlock(); goto out; @@ -4605,7 +4605,7 @@ sdata = vif_to_sdata(info->control.vif); if (info->control.flags & IEEE80211_TX_INTCFL_NEED_TXPROCESSING) { - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (unlikely(!chanctx_conf)) { dev_kfree_skb(skb); return true; @@ -4809,7 +4809,7 @@ bcn_offsets = beacon->cntdwn_counter_offsets; count = beacon->cntdwn_current_counter; - if (sdata->vif.csa_active) + if (sdata->vif.bss_conf.csa_active) max_count = IEEE80211_MAX_CNTDWN_COUNTERS_NUM; for (i = 0; i < max_count; ++i) { @@ -5120,7 +5120,7 @@ rcu_read_lock(); sdata = vif_to_sdata(vif); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (!ieee80211_sdata_running(sdata) || !chanctx_conf) goto out; @@ -5537,7 +5537,7 @@ sdata = vif_to_sdata(vif); rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (!chanctx_conf) goto out; @@ -5761,6 +5761,9 @@ skb_reset_network_header(skb); skb_reset_mac_header(skb); + if (local->hw.queues < IEEE80211_NUM_ACS) + goto start_xmit; + /* update QoS header to prioritize control port frames if possible, * priorization also happens for control port frames send over * AF_PACKET @@ -5776,6 +5779,7 @@ rcu_read_unlock(); +start_xmit: /* mutex lock is only needed for incrementing the cookie counter */ mutex_lock(&local->mtx); --- linux-gcp-5.19.0.orig/net/mac80211/util.c +++ linux-gcp-5.19.0/net/mac80211/util.c @@ -301,14 +301,14 @@ local_bh_disable(); spin_lock(&fq->lock); + sdata->vif.txqs_stopped[ac] = false; + if (!test_bit(SDATA_STATE_RUNNING, &sdata->state)) goto out; if (sdata->vif.type == NL80211_IFTYPE_AP) ps = &sdata->bss->ps; - sdata->vif.txqs_stopped[ac] = false; - list_for_each_entry_rcu(sta, &local->sta_list, list) { if (sdata != sta->sdata) continue; @@ -1439,6 +1439,8 @@ for_each_element_id(elem, WLAN_EID_MULTIPLE_BSSID, start, len) { if (elem->datalen < 2) continue; + if (elem->data[0] < 1 || elem->data[0] > 8) + continue; for_each_element(sub, elem->data + 1, elem->datalen - 1) { u8 new_bssid[ETH_ALEN]; @@ -1501,25 +1503,28 @@ const struct element *non_inherit = NULL; u8 *nontransmitted_profile; int nontransmitted_profile_len = 0; + size_t scratch_len = len; - elems = kzalloc(sizeof(*elems), GFP_ATOMIC); + elems = kzalloc(sizeof(*elems) + scratch_len, GFP_ATOMIC); if (!elems) return NULL; elems->ie_start = start; elems->total_len = len; + elems->scratch_len = scratch_len; + elems->scratch_pos = elems->scratch; - nontransmitted_profile = kmalloc(len, GFP_ATOMIC); - if (nontransmitted_profile) { - nontransmitted_profile_len = - ieee802_11_find_bssid_profile(start, len, elems, - transmitter_bssid, - bss_bssid, - nontransmitted_profile); - non_inherit = - cfg80211_find_ext_elem(WLAN_EID_EXT_NON_INHERITANCE, - nontransmitted_profile, - nontransmitted_profile_len); - } + nontransmitted_profile = elems->scratch_pos; + nontransmitted_profile_len = + ieee802_11_find_bssid_profile(start, len, elems, + transmitter_bssid, + bss_bssid, + nontransmitted_profile); + elems->scratch_pos += nontransmitted_profile_len; + elems->scratch_len -= nontransmitted_profile_len; + non_inherit = + cfg80211_find_ext_elem(WLAN_EID_EXT_NON_INHERITANCE, + nontransmitted_profile, + nontransmitted_profile_len); crc = _ieee802_11_parse_elems_crc(start, len, action, elems, filter, crc, non_inherit); @@ -1548,8 +1553,6 @@ offsetofend(struct ieee80211_bssid_index, dtim_count)) elems->dtim_count = elems->bssid_index->dtim_count; - kfree(nontransmitted_profile); - elems->crc = crc; return elems; @@ -1569,7 +1572,7 @@ return; rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); if (chanctx_conf) center_freq = chanctx_conf->def.chan->center_freq; @@ -1616,7 +1619,7 @@ memset(&qparam, 0, sizeof(qparam)); rcu_read_lock(); - chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf); + chanctx_conf = rcu_dereference(sdata->vif.bss_conf.chanctx_conf); use_11b = (chanctx_conf && chanctx_conf->def.chan->band == NL80211_BAND_2GHZ) && !(sdata->flags & IEEE80211_SDATA_OPERATING_GMODE); @@ -2267,7 +2270,7 @@ return; mutex_lock(&local->chanctx_mtx); - conf = rcu_dereference_protected(sdata->vif.chanctx_conf, + conf = rcu_dereference_protected(sdata->vif.bss_conf.chanctx_conf, lockdep_is_held(&local->chanctx_mtx)); if (conf) { ctx = container_of(conf, struct ieee80211_chanctx, conf); @@ -2526,7 +2529,7 @@ BSS_CHANGED_TXPOWER | BSS_CHANGED_MCAST_RATE; - if (sdata->vif.mu_mimo_owner) + if (sdata->vif.bss_conf.mu_mimo_owner) changed |= BSS_CHANGED_MU_GROUPS; switch (sdata->vif.type) { @@ -2809,8 +2812,8 @@ mutex_lock(&local->chanctx_mtx); - chanctx_conf = rcu_dereference_protected(sdata->vif.chanctx_conf, - lockdep_is_held(&local->chanctx_mtx)); + chanctx_conf = rcu_dereference_protected(sdata->vif.bss_conf.chanctx_conf, + lockdep_is_held(&local->chanctx_mtx)); /* * This function can be called from a work, thus it may be possible @@ -2835,8 +2838,8 @@ mutex_lock(&local->chanctx_mtx); - chanctx_conf = rcu_dereference_protected(sdata->vif.chanctx_conf, - lockdep_is_held(&local->chanctx_mtx)); + chanctx_conf = rcu_dereference_protected(sdata->vif.bss_conf.chanctx_conf, + lockdep_is_held(&local->chanctx_mtx)); if (WARN_ON_ONCE(!chanctx_conf)) goto unlock; --- linux-gcp-5.19.0.orig/net/mac80211/vht.c +++ linux-gcp-5.19.0/net/mac80211/vht.c @@ -4,7 +4,7 @@ * * Portions of this file * Copyright(c) 2015 - 2016 Intel Deutschland GmbH - * Copyright (C) 2018 - 2021 Intel Corporation + * Copyright (C) 2018 - 2022 Intel Corporation */ #include @@ -649,7 +649,7 @@ { struct ieee80211_bss_conf *bss_conf = &sdata->vif.bss_conf; - if (!sdata->vif.mu_mimo_owner) + if (!sdata->vif.bss_conf.mu_mimo_owner) return; if (!memcmp(mgmt->u.action.u.vht_group_notif.position, @@ -673,7 +673,7 @@ { struct ieee80211_bss_conf *bss_conf = &vif->bss_conf; - if (WARN_ON_ONCE(!vif->mu_mimo_owner)) + if (WARN_ON_ONCE(!vif->bss_conf.mu_mimo_owner)) return; memcpy(bss_conf->mu_group.membership, membership, WLAN_MEMBERSHIP_LEN); --- linux-gcp-5.19.0.orig/net/mac802154/iface.c +++ linux-gcp-5.19.0/net/mac802154/iface.c @@ -662,6 +662,7 @@ sdata->dev = ndev; sdata->wpan_dev.wpan_phy = local->hw.phy; sdata->local = local; + INIT_LIST_HEAD(&sdata->wpan_dev.list); /* setup type-dependent data */ ret = ieee802154_setup_sdata(sdata, type); --- linux-gcp-5.19.0.orig/net/mac802154/rx.c +++ linux-gcp-5.19.0/net/mac802154/rx.c @@ -44,7 +44,7 @@ switch (mac_cb(skb)->dest.mode) { case IEEE802154_ADDR_NONE: - if (mac_cb(skb)->dest.mode != IEEE802154_ADDR_NONE) + if (hdr->source.mode != IEEE802154_ADDR_NONE) /* FIXME: check if we are PAN coordinator */ skb->pkt_type = PACKET_OTHERHOST; else @@ -132,7 +132,7 @@ ieee802154_parse_frame_start(struct sk_buff *skb, struct ieee802154_hdr *hdr) { int hlen; - struct ieee802154_mac_cb *cb = mac_cb_init(skb); + struct ieee802154_mac_cb *cb = mac_cb(skb); skb_reset_mac_header(skb); @@ -294,8 +294,9 @@ ieee802154_rx_irqsafe(struct ieee802154_hw *hw, struct sk_buff *skb, u8 lqi) { struct ieee802154_local *local = hw_to_local(hw); + struct ieee802154_mac_cb *cb = mac_cb_init(skb); - mac_cb(skb)->lqi = lqi; + cb->lqi = lqi; skb->pkt_type = IEEE802154_RX_MSG; skb_queue_tail(&local->skb_queue, skb); tasklet_schedule(&local->tasklet); --- linux-gcp-5.19.0.orig/net/mctp/af_mctp.c +++ linux-gcp-5.19.0/net/mctp/af_mctp.c @@ -295,11 +295,12 @@ mctp_dev_release_key(key->dev, key); spin_unlock_irqrestore(&key->lock, flags); - hlist_del(&key->hlist); - hlist_del(&key->sklist); - - /* unref for the lists */ - mctp_key_unref(key); + if (!hlist_unhashed(&key->hlist)) { + hlist_del_init(&key->hlist); + hlist_del_init(&key->sklist); + /* unref for the lists */ + mctp_key_unref(key); + } kfree_skb(skb); } @@ -373,9 +374,17 @@ ctl.tag = tag | MCTP_TAG_OWNER | MCTP_TAG_PREALLOC; if (copy_to_user((void __user *)arg, &ctl, sizeof(ctl))) { - spin_lock_irqsave(&key->lock, flags); - __mctp_key_remove(key, net, flags, MCTP_TRACE_KEY_DROPPED); + unsigned long fl2; + /* Unwind our key allocation: the keys list lock needs to be + * taken before the individual key locks, and we need a valid + * flags value (fl2) to pass to __mctp_key_remove, hence the + * second spin_lock_irqsave() rather than a plain spin_lock(). + */ + spin_lock_irqsave(&net->mctp.keys_lock, flags); + spin_lock_irqsave(&key->lock, fl2); + __mctp_key_remove(key, net, fl2, MCTP_TRACE_KEY_DROPPED); mctp_key_unref(key); + spin_unlock_irqrestore(&net->mctp.keys_lock, flags); return -EFAULT; } @@ -535,9 +544,6 @@ static void mctp_sk_close(struct sock *sk, long timeout) { - struct mctp_sock *msk = container_of(sk, struct mctp_sock, sk); - - del_timer_sync(&msk->key_expiry); sk_common_release(sk); } @@ -571,7 +577,19 @@ spin_lock_irqsave(&key->lock, fl2); __mctp_key_remove(key, net, fl2, MCTP_TRACE_KEY_CLOSED); } + sock_set_flag(sk, SOCK_DEAD); spin_unlock_irqrestore(&net->mctp.keys_lock, flags); + + /* Since there are no more tag allocations (we have removed all of the + * keys), stop any pending expiry events. the timer cannot be re-queued + * as the sk is no longer observable + */ + del_timer_sync(&msk->key_expiry); +} + +static void mctp_sk_destruct(struct sock *sk) +{ + skb_queue_purge(&sk->sk_receive_queue); } static struct proto mctp_proto = { @@ -610,6 +628,7 @@ return -ENOMEM; sock_init_data(sock, sk); + sk->sk_destruct = mctp_sk_destruct; rc = 0; if (sk->sk_prot->init) @@ -656,12 +675,14 @@ rc = mctp_neigh_init(); if (rc) - goto err_unreg_proto; + goto err_unreg_routes; mctp_device_init(); return 0; +err_unreg_routes: + mctp_routes_exit(); err_unreg_proto: proto_unregister(&mctp_proto); err_unreg_sock: --- linux-gcp-5.19.0.orig/net/mctp/device.c +++ linux-gcp-5.19.0/net/mctp/device.c @@ -429,12 +429,6 @@ struct mctp_dev *mdev; mdev = mctp_dev_get_rtnl(dev); - if (mdev && !mctp_known(dev)) { - // Sanity check, should match what was set in mctp_register - netdev_warn(dev, "%s: BUG mctp_ptr set for unknown type %d", - __func__, dev->type); - return; - } if (!mdev) return; @@ -451,14 +445,8 @@ struct mctp_dev *mdev; /* Already registered? */ - mdev = rtnl_dereference(dev->mctp_ptr); - - if (mdev) { - if (!mctp_known(dev)) - netdev_warn(dev, "%s: BUG mctp_ptr set for unknown type %d", - __func__, dev->type); + if (rtnl_dereference(dev->mctp_ptr)) return 0; - } /* only register specific types */ if (!mctp_known(dev)) --- linux-gcp-5.19.0.orig/net/mctp/route.c +++ linux-gcp-5.19.0/net/mctp/route.c @@ -147,6 +147,7 @@ key->valid = true; spin_lock_init(&key->lock); refcount_set(&key->refs, 1); + sock_hold(key->sk); return key; } @@ -165,6 +166,7 @@ mctp_dev_release_key(key->dev, key); spin_unlock_irqrestore(&key->lock, flags); + sock_put(key->sk); kfree(key); } @@ -177,6 +179,11 @@ spin_lock_irqsave(&net->mctp.keys_lock, flags); + if (sock_flag(&msk->sk, SOCK_DEAD)) { + rc = -EINVAL; + goto out_unlock; + } + hlist_for_each_entry(tmp, &net->mctp.keys, hlist) { if (mctp_key_match(tmp, key->local_addr, key->peer_addr, key->tag)) { @@ -198,6 +205,7 @@ hlist_add_head(&key->sklist, &msk->keys); } +out_unlock: spin_unlock_irqrestore(&net->mctp.keys_lock, flags); return rc; @@ -228,12 +236,12 @@ if (!key->manual_alloc) { spin_lock_irqsave(&net->mctp.keys_lock, flags); - hlist_del(&key->hlist); - hlist_del(&key->sklist); + if (!hlist_unhashed(&key->hlist)) { + hlist_del_init(&key->hlist); + hlist_del_init(&key->sklist); + mctp_key_unref(key); + } spin_unlock_irqrestore(&net->mctp.keys_lock, flags); - - /* unref for the lists */ - mctp_key_unref(key); } /* and one for the local reference */ @@ -315,8 +323,8 @@ static int mctp_route_input(struct mctp_route *route, struct sk_buff *skb) { + struct mctp_sk_key *key, *any_key = NULL; struct net *net = dev_net(skb->dev); - struct mctp_sk_key *key; struct mctp_sock *msk; struct mctp_hdr *mh; unsigned long f; @@ -361,13 +369,11 @@ * key for reassembly - we'll create a more specific * one for future packets if required (ie, !EOM). */ - key = mctp_lookup_key(net, skb, MCTP_ADDR_ANY, &f); - if (key) { - msk = container_of(key->sk, + any_key = mctp_lookup_key(net, skb, MCTP_ADDR_ANY, &f); + if (any_key) { + msk = container_of(any_key->sk, struct mctp_sock, sk); - spin_unlock_irqrestore(&key->lock, f); - mctp_key_unref(key); - key = NULL; + spin_unlock_irqrestore(&any_key->lock, f); } } @@ -419,14 +425,14 @@ * this function. */ rc = mctp_key_add(key, msk); - if (rc) { - kfree(key); - } else { + if (!rc) trace_mctp_key_acquire(key); - /* we don't need to release key->lock on exit */ - mctp_key_unref(key); - } + /* we don't need to release key->lock on exit, so + * clean up here and suppress the unlock via + * setting to NULL + */ + mctp_key_unref(key); key = NULL; } else { @@ -473,6 +479,8 @@ spin_unlock_irqrestore(&key->lock, f); mctp_key_unref(key); } + if (any_key) + mctp_key_unref(any_key); out: if (rc) kfree_skb(skb); @@ -1400,7 +1408,7 @@ return register_pernet_subsys(&mctp_net_ops); } -void __exit mctp_routes_exit(void) +void mctp_routes_exit(void) { unregister_pernet_subsys(&mctp_net_ops); rtnl_unregister(PF_MCTP, RTM_DELROUTE); --- linux-gcp-5.19.0.orig/net/mpls/af_mpls.c +++ linux-gcp-5.19.0/net/mpls/af_mpls.c @@ -1079,9 +1079,9 @@ p = per_cpu_ptr(mdev->stats, i); do { - start = u64_stats_fetch_begin(&p->syncp); + start = u64_stats_fetch_begin_irq(&p->syncp); local = p->stats; - } while (u64_stats_fetch_retry(&p->syncp, start)); + } while (u64_stats_fetch_retry_irq(&p->syncp, start)); stats->rx_packets += local.rx_packets; stats->rx_bytes += local.rx_bytes; @@ -1428,6 +1428,7 @@ free: kfree(table); out: + mdev->sysctl = NULL; return -ENOBUFS; } @@ -1437,6 +1438,9 @@ struct net *net = dev_net(dev); struct ctl_table *table; + if (!mdev->sysctl) + return; + table = mdev->sysctl->ctl_table_arg; unregister_net_sysctl_table(mdev->sysctl); kfree(table); --- linux-gcp-5.19.0.orig/net/mptcp/pm.c +++ linux-gcp-5.19.0/net/mptcp/pm.c @@ -420,6 +420,31 @@ } } +/* if sk is ipv4 or ipv6_only allows only same-family local and remote addresses, + * otherwise allow any matching local/remote pair + */ +bool mptcp_pm_addr_families_match(const struct sock *sk, + const struct mptcp_addr_info *loc, + const struct mptcp_addr_info *rem) +{ + bool mptcp_is_v4 = sk->sk_family == AF_INET; + +#if IS_ENABLED(CONFIG_MPTCP_IPV6) + bool loc_is_v4 = loc->family == AF_INET || ipv6_addr_v4mapped(&loc->addr6); + bool rem_is_v4 = rem->family == AF_INET || ipv6_addr_v4mapped(&rem->addr6); + + if (mptcp_is_v4) + return loc_is_v4 && rem_is_v4; + + if (ipv6_only_sock(sk)) + return !loc_is_v4 && !rem_is_v4; + + return loc_is_v4 == rem_is_v4; +#else + return mptcp_is_v4 && loc->family == AF_INET && rem->family == AF_INET; +#endif +} + void mptcp_pm_data_reset(struct mptcp_sock *msk) { u8 pm_type = mptcp_get_pm_type(sock_net((struct sock *)msk)); --- linux-gcp-5.19.0.orig/net/mptcp/pm_netlink.c +++ linux-gcp-5.19.0/net/mptcp/pm_netlink.c @@ -975,8 +975,8 @@ { int addrlen = sizeof(struct sockaddr_in); struct sockaddr_storage addr; - struct mptcp_sock *msk; struct socket *ssock; + struct sock *newsk; int backlog = 1024; int err; @@ -985,13 +985,15 @@ if (err) return err; - msk = mptcp_sk(entry->lsk->sk); - if (!msk) { + newsk = entry->lsk->sk; + if (!newsk) { err = -EINVAL; goto out; } - ssock = __mptcp_nmpc_socket(msk); + lock_sock(newsk); + ssock = __mptcp_nmpc_socket(mptcp_sk(newsk)); + release_sock(newsk); if (!ssock) { err = -EINVAL; goto out; --- linux-gcp-5.19.0.orig/net/mptcp/pm_userspace.c +++ linux-gcp-5.19.0/net/mptcp/pm_userspace.c @@ -156,6 +156,7 @@ if (addr_val.addr.id == 0 || !(addr_val.flags & MPTCP_PM_ADDR_FLAG_SIGNAL)) { GENL_SET_ERR_MSG(info, "invalid addr id or flags"); + err = -EINVAL; goto announce_err; } @@ -282,6 +283,7 @@ if (addr_l.id == 0) { NL_SET_ERR_MSG_ATTR(info->extack, laddr, "missing local addr id"); + err = -EINVAL; goto create_err; } @@ -292,6 +294,13 @@ } sk = &msk->sk.icsk_inet.sk; + + if (!mptcp_pm_addr_families_match(sk, &addr_l, &addr_r)) { + GENL_SET_ERR_MSG(info, "families mismatch"); + err = -EINVAL; + goto create_err; + } + lock_sock(sk); err = __mptcp_subflow_connect(sk, &addr_l, &addr_r); @@ -395,11 +404,13 @@ if (addr_l.family != addr_r.family) { GENL_SET_ERR_MSG(info, "address families do not match"); + err = -EINVAL; goto destroy_err; } if (!addr_l.port || !addr_r.port) { GENL_SET_ERR_MSG(info, "missing local or remote port"); + err = -EINVAL; goto destroy_err; } --- linux-gcp-5.19.0.orig/net/mptcp/protocol.c +++ linux-gcp-5.19.0/net/mptcp/protocol.c @@ -107,7 +107,7 @@ struct socket *ssock; int err; - err = mptcp_subflow_create_socket(sk, &ssock); + err = mptcp_subflow_create_socket(sk, sk->sk_family, &ssock); if (err) return err; @@ -323,9 +323,10 @@ struct mptcp_sock *msk = mptcp_sk(sk); int amt, amount; - if (size < msk->rmem_fwd_alloc) + if (size <= msk->rmem_fwd_alloc) return true; + size -= msk->rmem_fwd_alloc; amt = sk_mem_pages(size); amount = amt << SK_MEM_QUANTUM_SHIFT; msk->rmem_fwd_alloc += amount; @@ -1275,6 +1276,9 @@ info->limit > dfrag->data_len)) return 0; + if (unlikely(!__tcp_can_send(ssk))) + return -EAGAIN; + /* compute send limit */ info->mss_now = tcp_send_mss(ssk, &info->size_goal, info->flags); copy = info->size_goal; @@ -1295,7 +1299,7 @@ i = skb_shinfo(skb)->nr_frags; can_coalesce = skb_can_coalesce(skb, i, dfrag->page, offset); - if (!can_coalesce && i >= sysctl_max_skb_frags) { + if (!can_coalesce && i >= READ_ONCE(sysctl_max_skb_frags)) { tcp_mark_push(tcp_sk(ssk), skb); goto alloc_skb; } @@ -1448,7 +1452,8 @@ if (__mptcp_check_fallback(msk)) { if (!msk->first) return NULL; - return sk_stream_memory_free(msk->first) ? msk->first : NULL; + return __tcp_can_send(msk->first) && + sk_stream_memory_free(msk->first) ? msk->first : NULL; } /* re-use last subflow, if the burst allow that */ @@ -1599,6 +1604,8 @@ ret = mptcp_sendmsg_frag(sk, ssk, dfrag, &info); if (ret <= 0) { + if (ret == -EAGAIN) + continue; mptcp_push_release(ssk, &info); goto out; } @@ -2320,12 +2327,7 @@ goto out; } - /* if we are invoked by the msk cleanup code, the subflow is - * already orphaned - */ - if (ssk->sk_socket) - sock_orphan(ssk); - + sock_orphan(ssk); subflow->disposable = 1; /* if ssk hit tcp_done(), tcp_cleanup_ulp() cleared the related ops @@ -2338,7 +2340,7 @@ /* otherwise tcp will dispose of the ssk and subflow ctx */ if (ssk->sk_state == TCP_LISTEN) { tcp_set_state(ssk, TCP_CLOSE); - mptcp_subflow_queue_clean(ssk); + mptcp_subflow_queue_clean(sk, ssk); inet_csk_listen_stop(ssk); } __tcp_close(ssk, 0); @@ -2685,7 +2687,7 @@ dfrag_clear(sk, dfrag); } -static void mptcp_cancel_work(struct sock *sk) +void mptcp_cancel_work(struct sock *sk) { struct mptcp_sock *msk = mptcp_sk(sk); @@ -2804,30 +2806,16 @@ static void __mptcp_destroy_sock(struct sock *sk) { - struct mptcp_subflow_context *subflow, *tmp; struct mptcp_sock *msk = mptcp_sk(sk); - LIST_HEAD(conn_list); pr_debug("msk=%p", msk); might_sleep(); - /* join list will be eventually flushed (with rst) at sock lock release time*/ - list_splice_init(&msk->conn_list, &conn_list); - mptcp_stop_timer(sk); sk_stop_timer(sk, &sk->sk_timer); msk->pm.status = 0; - /* clears msk->subflow, allowing the following loop to close - * even the initial subflow - */ - mptcp_dispose_initial_subflow(msk); - list_for_each_entry_safe(subflow, tmp, &conn_list, node) { - struct sock *ssk = mptcp_subflow_tcp_sock(subflow); - __mptcp_close_ssk(sk, ssk, subflow, 0); - } - sk->sk_prot->destroy(sk); WARN_ON_ONCE(msk->rmem_fwd_alloc); @@ -2839,13 +2827,13 @@ sock_put(sk); } -static void mptcp_close(struct sock *sk, long timeout) +bool __mptcp_close(struct sock *sk, long timeout) { struct mptcp_subflow_context *subflow; struct mptcp_sock *msk = mptcp_sk(sk); bool do_cancel_work = false; + int subflows_alive = 0; - lock_sock(sk); sk->sk_shutdown = SHUTDOWN_MASK; if ((1 << sk->sk_state) & (TCPF_LISTEN | TCPF_CLOSE)) { @@ -2865,17 +2853,29 @@ struct sock *ssk = mptcp_subflow_tcp_sock(subflow); bool slow = lock_sock_fast_nested(ssk); + subflows_alive += ssk->sk_state != TCP_CLOSE; + /* since the close timeout takes precedence on the fail one, * cancel the latter */ if (ssk == msk->first) subflow->fail_tout = 0; - sock_orphan(ssk); + /* detach from the parent socket, but allow data_ready to + * push incoming data into the mptcp stack, to properly ack it + */ + ssk->sk_socket = NULL; + ssk->sk_wq = NULL; unlock_sock_fast(ssk, slow); } sock_orphan(sk); + /* all the subflows are closed, only timeout can change the msk + * state, let's not keep resources busy for no reasons + */ + if (subflows_alive == 0) + inet_sk_state_store(sk, TCP_CLOSE); + sock_hold(sk); pr_debug("msk=%p state=%d", sk, sk->sk_state); if (mptcp_sk(sk)->token) @@ -2887,6 +2887,17 @@ } else { mptcp_reset_timeout(msk, 0); } + + return do_cancel_work; +} + +static void mptcp_close(struct sock *sk, long timeout) +{ + bool do_cancel_work; + + lock_sock(sk); + + do_cancel_work = __mptcp_close(sk, timeout); release_sock(sk); if (do_cancel_work) mptcp_cancel_work(sk); @@ -2894,7 +2905,7 @@ sock_put(sk); } -static void mptcp_copy_inaddrs(struct sock *msk, const struct sock *ssk) +void mptcp_copy_inaddrs(struct sock *msk, const struct sock *ssk) { #if IS_ENABLED(CONFIG_MPTCP_IPV6) const struct ipv6_pinfo *ssk6 = inet6_sk(ssk); @@ -2919,24 +2930,20 @@ static int mptcp_disconnect(struct sock *sk, int flags) { - struct mptcp_subflow_context *subflow, *tmp; struct mptcp_sock *msk = mptcp_sk(sk); inet_sk_state_store(sk, TCP_CLOSE); - list_for_each_entry_safe(subflow, tmp, &msk->conn_list, node) { - struct sock *ssk = mptcp_subflow_tcp_sock(subflow); - - __mptcp_close_ssk(sk, ssk, subflow, MPTCP_CF_FASTCLOSE); - } - mptcp_stop_timer(sk); sk_stop_timer(sk, &sk->sk_timer); if (mptcp_sk(sk)->token) mptcp_event(MPTCP_EVENT_CLOSED, mptcp_sk(sk), NULL, GFP_KERNEL); - mptcp_destroy_common(msk); + /* msk->subflow is still intact, the following will not free the first + * subflow + */ + mptcp_destroy_common(msk, MPTCP_CF_FASTCLOSE); msk->last_snd = NULL; WRITE_ONCE(msk->flags, 0); msk->cb_flags = 0; @@ -3086,12 +3093,17 @@ return newsk; } -void mptcp_destroy_common(struct mptcp_sock *msk) +void mptcp_destroy_common(struct mptcp_sock *msk, unsigned int flags) { + struct mptcp_subflow_context *subflow, *tmp; struct sock *sk = (struct sock *)msk; __mptcp_clear_xmit(sk); + /* join list will be eventually flushed (with rst) at sock lock release time */ + list_for_each_entry_safe(subflow, tmp, &msk->conn_list, node) + __mptcp_close_ssk(sk, mptcp_subflow_tcp_sock(subflow), subflow, flags); + /* move to sk_receive_queue, sk_stream_kill_queues will purge it */ mptcp_data_lock(sk); skb_queue_splice_tail_init(&msk->receive_queue, &sk->sk_receive_queue); @@ -3113,7 +3125,11 @@ { struct mptcp_sock *msk = mptcp_sk(sk); - mptcp_destroy_common(msk); + /* clears msk->subflow, allowing the following to close + * even the initial subflow + */ + mptcp_dispose_initial_subflow(msk); + mptcp_destroy_common(msk, 0); sk_sockets_allocated_dec(sk); } @@ -3632,7 +3648,6 @@ if (mptcp_is_fully_established(newsk)) mptcp_pm_fully_established(msk, msk->first, GFP_KERNEL); - mptcp_copy_inaddrs(newsk, msk->first); mptcp_rcv_space_init(msk, msk->first); mptcp_propagate_sndbuf(newsk, msk->first); --- linux-gcp-5.19.0.orig/net/mptcp/protocol.h +++ linux-gcp-5.19.0/net/mptcp/protocol.h @@ -597,6 +597,7 @@ int mptcp_allow_join_id0(const struct net *net); unsigned int mptcp_stale_loss_cnt(const struct net *net); int mptcp_get_pm_type(const struct net *net); +void mptcp_copy_inaddrs(struct sock *msk, const struct sock *ssk); void mptcp_subflow_fully_established(struct mptcp_subflow_context *subflow, struct mptcp_options_received *mp_opt); bool __mptcp_retransmit_pending_data(struct sock *sk); @@ -610,9 +611,11 @@ void __mptcp_subflow_send_ack(struct sock *ssk); void mptcp_subflow_send_ack(struct sock *ssk); void mptcp_subflow_reset(struct sock *ssk); -void mptcp_subflow_queue_clean(struct sock *ssk); +void mptcp_subflow_queue_clean(struct sock *sk, struct sock *ssk); void mptcp_sock_graft(struct sock *sk, struct socket *parent); struct socket *__mptcp_nmpc_socket(const struct mptcp_sock *msk); +bool __mptcp_close(struct sock *sk, long timeout); +void mptcp_cancel_work(struct sock *sk); bool mptcp_addresses_equal(const struct mptcp_addr_info *a, const struct mptcp_addr_info *b, bool use_port); @@ -620,21 +623,25 @@ /* called with sk socket lock held */ int __mptcp_subflow_connect(struct sock *sk, const struct mptcp_addr_info *loc, const struct mptcp_addr_info *remote); -int mptcp_subflow_create_socket(struct sock *sk, struct socket **new_sock); +int mptcp_subflow_create_socket(struct sock *sk, unsigned short family, + struct socket **new_sock); void mptcp_info2sockaddr(const struct mptcp_addr_info *info, struct sockaddr_storage *addr, unsigned short family); -static inline bool __mptcp_subflow_active(struct mptcp_subflow_context *subflow) +static inline bool __tcp_can_send(const struct sock *ssk) { - struct sock *ssk = mptcp_subflow_tcp_sock(subflow); + /* only send if our side has not closed yet */ + return ((1 << inet_sk_state_load(ssk)) & (TCPF_ESTABLISHED | TCPF_CLOSE_WAIT)); +} +static inline bool __mptcp_subflow_active(struct mptcp_subflow_context *subflow) +{ /* can't send if JOIN hasn't completed yet (i.e. is usable for mptcp) */ if (subflow->request_join && !subflow->fully_established) return false; - /* only send if our side has not closed yet */ - return ((1 << ssk->sk_state) & (TCPF_ESTABLISHED | TCPF_CLOSE_WAIT)); + return __tcp_can_send(mptcp_subflow_tcp_sock(subflow)); } void mptcp_subflow_set_active(struct mptcp_subflow_context *subflow); @@ -718,7 +725,7 @@ } } -void mptcp_destroy_common(struct mptcp_sock *msk); +void mptcp_destroy_common(struct mptcp_sock *msk, unsigned int flags); #define MPTCP_TOKEN_MAX_RETRIES 4 @@ -752,6 +759,9 @@ int mptcp_pm_parse_entry(struct nlattr *attr, struct genl_info *info, bool require_family, struct mptcp_pm_addr_entry *entry); +bool mptcp_pm_addr_families_match(const struct sock *sk, + const struct mptcp_addr_info *loc, + const struct mptcp_addr_info *rem); void mptcp_pm_subflow_chk_stale(const struct mptcp_sock *msk, struct sock *ssk); void mptcp_pm_nl_subflow_chk_stale(const struct mptcp_sock *msk, struct sock *ssk); void mptcp_pm_new_connection(struct mptcp_sock *msk, const struct sock *ssk, int server_side); --- linux-gcp-5.19.0.orig/net/mptcp/subflow.c +++ linux-gcp-5.19.0/net/mptcp/subflow.c @@ -45,7 +45,6 @@ sock_put((struct sock *)subflow_req->msk); mptcp_token_destroy_request(req); - tcp_request_sock_ops.destructor(req); } static void subflow_generate_hmac(u64 key1, u64 key2, u32 nonce1, u32 nonce2, @@ -529,7 +528,7 @@ } #endif -struct request_sock_ops mptcp_subflow_request_sock_ops; +static struct request_sock_ops mptcp_subflow_v4_request_sock_ops __ro_after_init; static struct tcp_request_sock_ops subflow_request_sock_ipv4_ops __ro_after_init; static int subflow_v4_conn_request(struct sock *sk, struct sk_buff *skb) @@ -542,7 +541,7 @@ if (skb_rtable(skb)->rt_flags & (RTCF_BROADCAST | RTCF_MULTICAST)) goto drop; - return tcp_conn_request(&mptcp_subflow_request_sock_ops, + return tcp_conn_request(&mptcp_subflow_v4_request_sock_ops, &subflow_request_sock_ipv4_ops, sk, skb); drop: @@ -550,7 +549,14 @@ return 0; } +static void subflow_v4_req_destructor(struct request_sock *req) +{ + subflow_req_destructor(req); + tcp_request_sock_ops.destructor(req); +} + #if IS_ENABLED(CONFIG_MPTCP_IPV6) +static struct request_sock_ops mptcp_subflow_v6_request_sock_ops __ro_after_init; static struct tcp_request_sock_ops subflow_request_sock_ipv6_ops __ro_after_init; static struct inet_connection_sock_af_ops subflow_v6_specific __ro_after_init; static struct inet_connection_sock_af_ops subflow_v6m_specific __ro_after_init; @@ -573,15 +579,36 @@ return 0; } - return tcp_conn_request(&mptcp_subflow_request_sock_ops, + return tcp_conn_request(&mptcp_subflow_v6_request_sock_ops, &subflow_request_sock_ipv6_ops, sk, skb); drop: tcp_listendrop(sk); return 0; /* don't send reset */ } + +static void subflow_v6_req_destructor(struct request_sock *req) +{ + subflow_req_destructor(req); + tcp6_request_sock_ops.destructor(req); +} +#endif + +struct request_sock *mptcp_subflow_reqsk_alloc(const struct request_sock_ops *ops, + struct sock *sk_listener, + bool attach_listener) +{ + if (ops->family == AF_INET) + ops = &mptcp_subflow_v4_request_sock_ops; +#if IS_ENABLED(CONFIG_MPTCP_IPV6) + else if (ops->family == AF_INET6) + ops = &mptcp_subflow_v6_request_sock_ops; #endif + return inet_reqsk_alloc(ops, sk_listener, attach_listener); +} +EXPORT_SYMBOL(mptcp_subflow_reqsk_alloc); + /* validate hmac received in third ACK */ static bool subflow_hmac_valid(const struct request_sock *req, const struct mptcp_options_received *mp_opt) @@ -602,29 +629,6 @@ return !crypto_memneq(hmac, mp_opt->hmac, MPTCPOPT_HMAC_LEN); } -static void mptcp_sock_destruct(struct sock *sk) -{ - /* if new mptcp socket isn't accepted, it is free'd - * from the tcp listener sockets request queue, linked - * from req->sk. The tcp socket is released. - * This calls the ULP release function which will - * also remove the mptcp socket, via - * sock_put(ctx->conn). - * - * Problem is that the mptcp socket will be in - * ESTABLISHED state and will not have the SOCK_DEAD flag. - * Both result in warnings from inet_sock_destruct. - */ - if ((1 << sk->sk_state) & (TCPF_ESTABLISHED | TCPF_CLOSE_WAIT)) { - sk->sk_state = TCP_CLOSE; - WARN_ON_ONCE(sk->sk_socket); - sock_orphan(sk); - } - - mptcp_destroy_common(mptcp_sk(sk)); - inet_sock_destruct(sk); -} - static void mptcp_force_close(struct sock *sk) { /* the msk is not yet exposed to user-space */ @@ -746,6 +750,8 @@ goto dispose_child; } + if (new_msk) + mptcp_copy_inaddrs(new_msk, child); subflow_drop_ctx(child); goto out; } @@ -767,13 +773,17 @@ /* new mpc subflow takes ownership of the newly * created mptcp socket */ - new_msk->sk_destruct = mptcp_sock_destruct; mptcp_sk(new_msk)->setsockopt_seq = ctx->setsockopt_seq; mptcp_pm_new_connection(mptcp_sk(new_msk), child, 1); mptcp_token_accept(subflow_req, mptcp_sk(new_msk)); ctx->conn = new_msk; new_msk = NULL; + /* set msk addresses early to ensure mptcp_pm_get_local_id() + * uses the correct data + */ + mptcp_copy_inaddrs(ctx->conn, child); + /* with OoO packets we can reach here without ingress * mpc option */ @@ -1334,6 +1344,7 @@ mptcp_for_each_subflow(msk, subflow) { struct sock *ssk = mptcp_subflow_tcp_sock(subflow); int err = sock_error(ssk); + int ssk_state; if (!err) continue; @@ -1344,7 +1355,14 @@ if (sk->sk_state != TCP_SYN_SENT && !__mptcp_check_fallback(msk)) continue; - inet_sk_state_store(sk, inet_sk_state_load(ssk)); + /* We need to propagate only transition to CLOSE state. + * Orphaned socket will see such state change via + * subflow_sched_work_if_closed() and that path will properly + * destroy the msk as needed. + */ + ssk_state = inet_sk_state_load(ssk); + if (ssk_state == TCP_CLOSE && !sock_flag(sk, SOCK_DEAD)) + inet_sk_state_store(sk, ssk_state); sk->sk_err = -err; /* This barrier is coupled with smp_rmb() in mptcp_poll() */ @@ -1482,7 +1500,7 @@ if (!mptcp_is_fully_established(sk)) goto err_out; - err = mptcp_subflow_create_socket(sk, &sf); + err = mptcp_subflow_create_socket(sk, loc->family, &sf); if (err) goto err_out; @@ -1594,7 +1612,9 @@ #endif ssk->sk_prot = &tcp_prot; } -int mptcp_subflow_create_socket(struct sock *sk, struct socket **new_sock) + +int mptcp_subflow_create_socket(struct sock *sk, unsigned short family, + struct socket **new_sock) { struct mptcp_subflow_context *subflow; struct net *net = sock_net(sk); @@ -1607,12 +1627,11 @@ if (unlikely(!sk->sk_socket)) return -EINVAL; - err = sock_create_kern(net, sk->sk_family, SOCK_STREAM, IPPROTO_TCP, - &sf); + err = sock_create_kern(net, family, SOCK_STREAM, IPPROTO_TCP, &sf); if (err) return err; - lock_sock(sf->sk); + lock_sock_nested(sf->sk, SINGLE_DEPTH_NESTING); /* the newly created socket has to be in the same cgroup as its parent */ mptcp_attach_cgroup(sk, sf->sk); @@ -1723,7 +1742,7 @@ } } -void mptcp_subflow_queue_clean(struct sock *listener_ssk) +void mptcp_subflow_queue_clean(struct sock *listener_sk, struct sock *listener_ssk) { struct request_sock_queue *queue = &inet_csk(listener_ssk)->icsk_accept_queue; struct mptcp_sock *msk, *next, *head = NULL; @@ -1762,13 +1781,34 @@ for (msk = head; msk; msk = next) { struct sock *sk = (struct sock *)msk; - bool slow; + bool do_cancel_work; - slow = lock_sock_fast_nested(sk); + sock_hold(sk); + lock_sock_nested(sk, SINGLE_DEPTH_NESTING); next = msk->dl_next; msk->first = NULL; msk->dl_next = NULL; - unlock_sock_fast(sk, slow); + + do_cancel_work = __mptcp_close(sk, 0); + release_sock(sk); + if (do_cancel_work) { + /* lockdep will report a false positive ABBA deadlock + * between cancel_work_sync and the listener socket. + * The involved locks belong to different sockets WRT + * the existing AB chain. + * Using a per socket key is problematic as key + * deregistration requires process context and must be + * performed at socket disposal time, in atomic + * context. + * Just tell lockdep to consider the listener socket + * released here. + */ + mutex_release(&listener_sk->sk_lock.dep_map, _RET_IP_); + mptcp_cancel_work(sk); + mutex_acquire(&listener_sk->sk_lock.dep_map, + SINGLE_DEPTH_NESTING, 0, _RET_IP_); + } + sock_put(sk); } /* we are still under the listener msk socket lock */ @@ -1915,7 +1955,6 @@ static int subflow_ops_init(struct request_sock_ops *subflow_ops) { subflow_ops->obj_size = sizeof(struct mptcp_subflow_request_sock); - subflow_ops->slab_name = "request_sock_subflow"; subflow_ops->slab = kmem_cache_create(subflow_ops->slab_name, subflow_ops->obj_size, 0, @@ -1925,16 +1964,17 @@ if (!subflow_ops->slab) return -ENOMEM; - subflow_ops->destructor = subflow_req_destructor; - return 0; } void __init mptcp_subflow_init(void) { - mptcp_subflow_request_sock_ops = tcp_request_sock_ops; - if (subflow_ops_init(&mptcp_subflow_request_sock_ops) != 0) - panic("MPTCP: failed to init subflow request sock ops\n"); + mptcp_subflow_v4_request_sock_ops = tcp_request_sock_ops; + mptcp_subflow_v4_request_sock_ops.slab_name = "request_sock_subflow_v4"; + mptcp_subflow_v4_request_sock_ops.destructor = subflow_v4_req_destructor; + + if (subflow_ops_init(&mptcp_subflow_v4_request_sock_ops) != 0) + panic("MPTCP: failed to init subflow v4 request sock ops\n"); subflow_request_sock_ipv4_ops = tcp_request_sock_ipv4_ops; subflow_request_sock_ipv4_ops.route_req = subflow_v4_route_req; @@ -1949,6 +1989,20 @@ tcp_prot_override.release_cb = tcp_release_cb_override; #if IS_ENABLED(CONFIG_MPTCP_IPV6) + /* In struct mptcp_subflow_request_sock, we assume the TCP request sock + * structures for v4 and v6 have the same size. It should not changed in + * the future but better to make sure to be warned if it is no longer + * the case. + */ + BUILD_BUG_ON(sizeof(struct tcp_request_sock) != sizeof(struct tcp6_request_sock)); + + mptcp_subflow_v6_request_sock_ops = tcp6_request_sock_ops; + mptcp_subflow_v6_request_sock_ops.slab_name = "request_sock_subflow_v6"; + mptcp_subflow_v6_request_sock_ops.destructor = subflow_v6_req_destructor; + + if (subflow_ops_init(&mptcp_subflow_v6_request_sock_ops) != 0) + panic("MPTCP: failed to init subflow v6 request sock ops\n"); + subflow_request_sock_ipv6_ops = tcp_request_sock_ipv6_ops; subflow_request_sock_ipv6_ops.route_req = subflow_v6_route_req; --- linux-gcp-5.19.0.orig/net/netfilter/Kconfig +++ linux-gcp-5.19.0/net/netfilter/Kconfig @@ -144,7 +144,6 @@ config NF_CONNTRACK_PROCFS bool "Supply CT list in procfs (OBSOLETE)" - default y depends on PROC_FS help This option enables for the list of known conntrack entries --- linux-gcp-5.19.0.orig/net/netfilter/ipset/ip_set_bitmap_ip.c +++ linux-gcp-5.19.0/net/netfilter/ipset/ip_set_bitmap_ip.c @@ -308,8 +308,8 @@ return -IPSET_ERR_BITMAP_RANGE; pr_debug("mask_bits %u, netmask %u\n", mask_bits, netmask); - hosts = 2 << (32 - netmask - 1); - elements = 2 << (netmask - mask_bits - 1); + hosts = 2U << (32 - netmask - 1); + elements = 2UL << (netmask - mask_bits - 1); } if (elements > IPSET_BITMAP_MAX_RANGE + 1) return -IPSET_ERR_BITMAP_RANGE_SIZE; --- linux-gcp-5.19.0.orig/net/netfilter/ipset/ip_set_core.c +++ linux-gcp-5.19.0/net/netfilter/ipset/ip_set_core.c @@ -1698,9 +1698,10 @@ ret = set->variant->uadt(set, tb, adt, &lineno, flags, retried); ip_set_unlock(set); retried = true; - } while (ret == -EAGAIN && - set->variant->resize && - (ret = set->variant->resize(set, retried)) == 0); + } while (ret == -ERANGE || + (ret == -EAGAIN && + set->variant->resize && + (ret = set->variant->resize(set, retried)) == 0)); if (!ret || (ret == -IPSET_ERR_EXIST && eexist)) return 0; @@ -1719,11 +1720,13 @@ skb2 = nlmsg_new(payload, GFP_KERNEL); if (!skb2) return -ENOMEM; - rep = __nlmsg_put(skb2, NETLINK_CB(skb).portid, - nlh->nlmsg_seq, NLMSG_ERROR, payload, 0); + rep = nlmsg_put(skb2, NETLINK_CB(skb).portid, + nlh->nlmsg_seq, NLMSG_ERROR, payload, 0); errmsg = nlmsg_data(rep); errmsg->error = ret; - memcpy(&errmsg->msg, nlh, nlh->nlmsg_len); + unsafe_memcpy(&errmsg->msg, nlh, nlh->nlmsg_len, + /* Bounds checked by the skb layer. */); + cmdattr = (void *)&errmsg->msg + min_len; ret = nla_parse(cda, IPSET_ATTR_CMD_MAX, cmdattr, --- linux-gcp-5.19.0.orig/net/netfilter/ipset/ip_set_hash_gen.h +++ linux-gcp-5.19.0/net/netfilter/ipset/ip_set_hash_gen.h @@ -42,31 +42,8 @@ #define AHASH_MAX_SIZE (6 * AHASH_INIT_SIZE) /* Max muber of elements in the array block when tuned */ #define AHASH_MAX_TUNED 64 - #define AHASH_MAX(h) ((h)->bucketsize) -/* Max number of elements can be tuned */ -#ifdef IP_SET_HASH_WITH_MULTI -static u8 -tune_bucketsize(u8 curr, u32 multi) -{ - u32 n; - - if (multi < curr) - return curr; - - n = curr + AHASH_INIT_SIZE; - /* Currently, at listing one hash bucket must fit into a message. - * Therefore we have a hard limit here. - */ - return n > curr && n <= AHASH_MAX_TUNED ? n : curr; -} -#define TUNE_BUCKETSIZE(h, multi) \ - ((h)->bucketsize = tune_bucketsize((h)->bucketsize, multi)) -#else -#define TUNE_BUCKETSIZE(h, multi) -#endif - /* A hash bucket */ struct hbucket { struct rcu_head rcu; /* for call_rcu */ @@ -936,7 +913,12 @@ goto set_full; /* Create a new slot */ if (n->pos >= n->size) { - TUNE_BUCKETSIZE(h, multi); +#ifdef IP_SET_HASH_WITH_MULTI + if (h->bucketsize >= AHASH_MAX_TUNED) + goto set_full; + else if (h->bucketsize <= multi) + h->bucketsize += AHASH_INIT_SIZE; +#endif if (n->size >= AHASH_MAX(h)) { /* Trigger rehashing */ mtype_data_next(&h->next, d); --- linux-gcp-5.19.0.orig/net/netfilter/ipset/ip_set_hash_ip.c +++ linux-gcp-5.19.0/net/netfilter/ipset/ip_set_hash_ip.c @@ -98,11 +98,11 @@ hash_ip4_uadt(struct ip_set *set, struct nlattr *tb[], enum ipset_adt adt, u32 *lineno, u32 flags, bool retried) { - const struct hash_ip4 *h = set->data; + struct hash_ip4 *h = set->data; ipset_adtfn adtfn = set->variant->adt[adt]; struct hash_ip4_elem e = { 0 }; struct ip_set_ext ext = IP_SET_INIT_UEXT(set); - u32 ip = 0, ip_to = 0, hosts; + u32 ip = 0, ip_to = 0, hosts, i = 0; int ret = 0; if (tb[IPSET_ATTR_LINENO]) @@ -147,22 +147,20 @@ hosts = h->netmask == 32 ? 1 : 2 << (32 - h->netmask - 1); - /* 64bit division is not allowed on 32bit */ - if (((u64)ip_to - ip + 1) >> (32 - h->netmask) > IPSET_MAX_RANGE) - return -ERANGE; - - if (retried) { + if (retried) ip = ntohl(h->next.ip); + for (; ip <= ip_to; i++) { e.ip = htonl(ip); - } - for (; ip <= ip_to;) { + if (i > IPSET_MAX_RANGE) { + hash_ip4_data_next(&h->next, &e); + return -ERANGE; + } ret = adtfn(set, &e, &ext, &ext, flags); if (ret && !ip_set_eexist(ret, flags)) return ret; ip += hosts; - e.ip = htonl(ip); - if (e.ip == 0) + if (ip == 0) return 0; ret = 0; --- linux-gcp-5.19.0.orig/net/netfilter/ipset/ip_set_hash_ipmark.c +++ linux-gcp-5.19.0/net/netfilter/ipset/ip_set_hash_ipmark.c @@ -97,11 +97,11 @@ hash_ipmark4_uadt(struct ip_set *set, struct nlattr *tb[], enum ipset_adt adt, u32 *lineno, u32 flags, bool retried) { - const struct hash_ipmark4 *h = set->data; + struct hash_ipmark4 *h = set->data; ipset_adtfn adtfn = set->variant->adt[adt]; struct hash_ipmark4_elem e = { }; struct ip_set_ext ext = IP_SET_INIT_UEXT(set); - u32 ip, ip_to = 0; + u32 ip, ip_to = 0, i = 0; int ret; if (tb[IPSET_ATTR_LINENO]) @@ -148,13 +148,14 @@ ip_set_mask_from_to(ip, ip_to, cidr); } - if (((u64)ip_to - ip + 1) > IPSET_MAX_RANGE) - return -ERANGE; - if (retried) ip = ntohl(h->next.ip); - for (; ip <= ip_to; ip++) { + for (; ip <= ip_to; ip++, i++) { e.ip = htonl(ip); + if (i > IPSET_MAX_RANGE) { + hash_ipmark4_data_next(&h->next, &e); + return -ERANGE; + } ret = adtfn(set, &e, &ext, &ext, flags); if (ret && !ip_set_eexist(ret, flags)) --- linux-gcp-5.19.0.orig/net/netfilter/ipset/ip_set_hash_ipport.c +++ linux-gcp-5.19.0/net/netfilter/ipset/ip_set_hash_ipport.c @@ -105,11 +105,11 @@ hash_ipport4_uadt(struct ip_set *set, struct nlattr *tb[], enum ipset_adt adt, u32 *lineno, u32 flags, bool retried) { - const struct hash_ipport4 *h = set->data; + struct hash_ipport4 *h = set->data; ipset_adtfn adtfn = set->variant->adt[adt]; struct hash_ipport4_elem e = { .ip = 0 }; struct ip_set_ext ext = IP_SET_INIT_UEXT(set); - u32 ip, ip_to = 0, p = 0, port, port_to; + u32 ip, ip_to = 0, p = 0, port, port_to, i = 0; bool with_ports = false; int ret; @@ -173,17 +173,18 @@ swap(port, port_to); } - if (((u64)ip_to - ip + 1)*(port_to - port + 1) > IPSET_MAX_RANGE) - return -ERANGE; - if (retried) ip = ntohl(h->next.ip); for (; ip <= ip_to; ip++) { p = retried && ip == ntohl(h->next.ip) ? ntohs(h->next.port) : port; - for (; p <= port_to; p++) { + for (; p <= port_to; p++, i++) { e.ip = htonl(ip); e.port = htons(p); + if (i > IPSET_MAX_RANGE) { + hash_ipport4_data_next(&h->next, &e); + return -ERANGE; + } ret = adtfn(set, &e, &ext, &ext, flags); if (ret && !ip_set_eexist(ret, flags)) --- linux-gcp-5.19.0.orig/net/netfilter/ipset/ip_set_hash_ipportip.c +++ linux-gcp-5.19.0/net/netfilter/ipset/ip_set_hash_ipportip.c @@ -108,11 +108,11 @@ hash_ipportip4_uadt(struct ip_set *set, struct nlattr *tb[], enum ipset_adt adt, u32 *lineno, u32 flags, bool retried) { - const struct hash_ipportip4 *h = set->data; + struct hash_ipportip4 *h = set->data; ipset_adtfn adtfn = set->variant->adt[adt]; struct hash_ipportip4_elem e = { .ip = 0 }; struct ip_set_ext ext = IP_SET_INIT_UEXT(set); - u32 ip, ip_to = 0, p = 0, port, port_to; + u32 ip, ip_to = 0, p = 0, port, port_to, i = 0; bool with_ports = false; int ret; @@ -180,17 +180,18 @@ swap(port, port_to); } - if (((u64)ip_to - ip + 1)*(port_to - port + 1) > IPSET_MAX_RANGE) - return -ERANGE; - if (retried) ip = ntohl(h->next.ip); for (; ip <= ip_to; ip++) { p = retried && ip == ntohl(h->next.ip) ? ntohs(h->next.port) : port; - for (; p <= port_to; p++) { + for (; p <= port_to; p++, i++) { e.ip = htonl(ip); e.port = htons(p); + if (i > IPSET_MAX_RANGE) { + hash_ipportip4_data_next(&h->next, &e); + return -ERANGE; + } ret = adtfn(set, &e, &ext, &ext, flags); if (ret && !ip_set_eexist(ret, flags)) --- linux-gcp-5.19.0.orig/net/netfilter/ipset/ip_set_hash_ipportnet.c +++ linux-gcp-5.19.0/net/netfilter/ipset/ip_set_hash_ipportnet.c @@ -160,12 +160,12 @@ hash_ipportnet4_uadt(struct ip_set *set, struct nlattr *tb[], enum ipset_adt adt, u32 *lineno, u32 flags, bool retried) { - const struct hash_ipportnet4 *h = set->data; + struct hash_ipportnet4 *h = set->data; ipset_adtfn adtfn = set->variant->adt[adt]; struct hash_ipportnet4_elem e = { .cidr = HOST_MASK - 1 }; struct ip_set_ext ext = IP_SET_INIT_UEXT(set); u32 ip = 0, ip_to = 0, p = 0, port, port_to; - u32 ip2_from = 0, ip2_to = 0, ip2; + u32 ip2_from = 0, ip2_to = 0, ip2, i = 0; bool with_ports = false; u8 cidr; int ret; @@ -253,9 +253,6 @@ swap(port, port_to); } - if (((u64)ip_to - ip + 1)*(port_to - port + 1) > IPSET_MAX_RANGE) - return -ERANGE; - ip2_to = ip2_from; if (tb[IPSET_ATTR_IP2_TO]) { ret = ip_set_get_hostipaddr4(tb[IPSET_ATTR_IP2_TO], &ip2_to); @@ -282,9 +279,15 @@ for (; p <= port_to; p++) { e.port = htons(p); do { + i++; e.ip2 = htonl(ip2); ip2 = ip_set_range_to_cidr(ip2, ip2_to, &cidr); e.cidr = cidr - 1; + if (i > IPSET_MAX_RANGE) { + hash_ipportnet4_data_next(&h->next, + &e); + return -ERANGE; + } ret = adtfn(set, &e, &ext, &ext, flags); if (ret && !ip_set_eexist(ret, flags)) --- linux-gcp-5.19.0.orig/net/netfilter/ipset/ip_set_hash_net.c +++ linux-gcp-5.19.0/net/netfilter/ipset/ip_set_hash_net.c @@ -136,11 +136,11 @@ hash_net4_uadt(struct ip_set *set, struct nlattr *tb[], enum ipset_adt adt, u32 *lineno, u32 flags, bool retried) { - const struct hash_net4 *h = set->data; + struct hash_net4 *h = set->data; ipset_adtfn adtfn = set->variant->adt[adt]; struct hash_net4_elem e = { .cidr = HOST_MASK }; struct ip_set_ext ext = IP_SET_INIT_UEXT(set); - u32 ip = 0, ip_to = 0, ipn, n = 0; + u32 ip = 0, ip_to = 0, i = 0; int ret; if (tb[IPSET_ATTR_LINENO]) @@ -188,19 +188,16 @@ if (ip + UINT_MAX == ip_to) return -IPSET_ERR_HASH_RANGE; } - ipn = ip; - do { - ipn = ip_set_range_to_cidr(ipn, ip_to, &e.cidr); - n++; - } while (ipn++ < ip_to); - - if (n > IPSET_MAX_RANGE) - return -ERANGE; if (retried) ip = ntohl(h->next.ip); do { + i++; e.ip = htonl(ip); + if (i > IPSET_MAX_RANGE) { + hash_net4_data_next(&h->next, &e); + return -ERANGE; + } ip = ip_set_range_to_cidr(ip, ip_to, &e.cidr); ret = adtfn(set, &e, &ext, &ext, flags); if (ret && !ip_set_eexist(ret, flags)) --- linux-gcp-5.19.0.orig/net/netfilter/ipset/ip_set_hash_netiface.c +++ linux-gcp-5.19.0/net/netfilter/ipset/ip_set_hash_netiface.c @@ -202,7 +202,7 @@ ipset_adtfn adtfn = set->variant->adt[adt]; struct hash_netiface4_elem e = { .cidr = HOST_MASK, .elem = 1 }; struct ip_set_ext ext = IP_SET_INIT_UEXT(set); - u32 ip = 0, ip_to = 0, ipn, n = 0; + u32 ip = 0, ip_to = 0, i = 0; int ret; if (tb[IPSET_ATTR_LINENO]) @@ -256,19 +256,16 @@ } else { ip_set_mask_from_to(ip, ip_to, e.cidr); } - ipn = ip; - do { - ipn = ip_set_range_to_cidr(ipn, ip_to, &e.cidr); - n++; - } while (ipn++ < ip_to); - - if (n > IPSET_MAX_RANGE) - return -ERANGE; if (retried) ip = ntohl(h->next.ip); do { + i++; e.ip = htonl(ip); + if (i > IPSET_MAX_RANGE) { + hash_netiface4_data_next(&h->next, &e); + return -ERANGE; + } ip = ip_set_range_to_cidr(ip, ip_to, &e.cidr); ret = adtfn(set, &e, &ext, &ext, flags); --- linux-gcp-5.19.0.orig/net/netfilter/ipset/ip_set_hash_netnet.c +++ linux-gcp-5.19.0/net/netfilter/ipset/ip_set_hash_netnet.c @@ -163,13 +163,12 @@ hash_netnet4_uadt(struct ip_set *set, struct nlattr *tb[], enum ipset_adt adt, u32 *lineno, u32 flags, bool retried) { - const struct hash_netnet4 *h = set->data; + struct hash_netnet4 *h = set->data; ipset_adtfn adtfn = set->variant->adt[adt]; struct hash_netnet4_elem e = { }; struct ip_set_ext ext = IP_SET_INIT_UEXT(set); u32 ip = 0, ip_to = 0; - u32 ip2 = 0, ip2_from = 0, ip2_to = 0, ipn; - u64 n = 0, m = 0; + u32 ip2 = 0, ip2_from = 0, ip2_to = 0, i = 0; int ret; if (tb[IPSET_ATTR_LINENO]) @@ -245,19 +244,6 @@ } else { ip_set_mask_from_to(ip2_from, ip2_to, e.cidr[1]); } - ipn = ip; - do { - ipn = ip_set_range_to_cidr(ipn, ip_to, &e.cidr[0]); - n++; - } while (ipn++ < ip_to); - ipn = ip2_from; - do { - ipn = ip_set_range_to_cidr(ipn, ip2_to, &e.cidr[1]); - m++; - } while (ipn++ < ip2_to); - - if (n*m > IPSET_MAX_RANGE) - return -ERANGE; if (retried) { ip = ntohl(h->next.ip[0]); @@ -270,7 +256,12 @@ e.ip[0] = htonl(ip); ip = ip_set_range_to_cidr(ip, ip_to, &e.cidr[0]); do { + i++; e.ip[1] = htonl(ip2); + if (i > IPSET_MAX_RANGE) { + hash_netnet4_data_next(&h->next, &e); + return -ERANGE; + } ip2 = ip_set_range_to_cidr(ip2, ip2_to, &e.cidr[1]); ret = adtfn(set, &e, &ext, &ext, flags); if (ret && !ip_set_eexist(ret, flags)) --- linux-gcp-5.19.0.orig/net/netfilter/ipset/ip_set_hash_netport.c +++ linux-gcp-5.19.0/net/netfilter/ipset/ip_set_hash_netport.c @@ -154,12 +154,11 @@ hash_netport4_uadt(struct ip_set *set, struct nlattr *tb[], enum ipset_adt adt, u32 *lineno, u32 flags, bool retried) { - const struct hash_netport4 *h = set->data; + struct hash_netport4 *h = set->data; ipset_adtfn adtfn = set->variant->adt[adt]; struct hash_netport4_elem e = { .cidr = HOST_MASK - 1 }; struct ip_set_ext ext = IP_SET_INIT_UEXT(set); - u32 port, port_to, p = 0, ip = 0, ip_to = 0, ipn; - u64 n = 0; + u32 port, port_to, p = 0, ip = 0, ip_to = 0, i = 0; bool with_ports = false; u8 cidr; int ret; @@ -236,14 +235,6 @@ } else { ip_set_mask_from_to(ip, ip_to, e.cidr + 1); } - ipn = ip; - do { - ipn = ip_set_range_to_cidr(ipn, ip_to, &cidr); - n++; - } while (ipn++ < ip_to); - - if (n*(port_to - port + 1) > IPSET_MAX_RANGE) - return -ERANGE; if (retried) { ip = ntohl(h->next.ip); @@ -255,8 +246,12 @@ e.ip = htonl(ip); ip = ip_set_range_to_cidr(ip, ip_to, &cidr); e.cidr = cidr - 1; - for (; p <= port_to; p++) { + for (; p <= port_to; p++, i++) { e.port = htons(p); + if (i > IPSET_MAX_RANGE) { + hash_netport4_data_next(&h->next, &e); + return -ERANGE; + } ret = adtfn(set, &e, &ext, &ext, flags); if (ret && !ip_set_eexist(ret, flags)) return ret; --- linux-gcp-5.19.0.orig/net/netfilter/ipset/ip_set_hash_netportnet.c +++ linux-gcp-5.19.0/net/netfilter/ipset/ip_set_hash_netportnet.c @@ -173,17 +173,26 @@ return adtfn(set, &e, &ext, &opt->ext, opt->cmdflags); } +static u32 +hash_netportnet4_range_to_cidr(u32 from, u32 to, u8 *cidr) +{ + if (from == 0 && to == UINT_MAX) { + *cidr = 0; + return to; + } + return ip_set_range_to_cidr(from, to, cidr); +} + static int hash_netportnet4_uadt(struct ip_set *set, struct nlattr *tb[], enum ipset_adt adt, u32 *lineno, u32 flags, bool retried) { - const struct hash_netportnet4 *h = set->data; + struct hash_netportnet4 *h = set->data; ipset_adtfn adtfn = set->variant->adt[adt]; struct hash_netportnet4_elem e = { }; struct ip_set_ext ext = IP_SET_INIT_UEXT(set); u32 ip = 0, ip_to = 0, p = 0, port, port_to; - u32 ip2_from = 0, ip2_to = 0, ip2, ipn; - u64 n = 0, m = 0; + u32 ip2_from = 0, ip2_to = 0, ip2, i = 0; bool with_ports = false; int ret; @@ -285,19 +294,6 @@ } else { ip_set_mask_from_to(ip2_from, ip2_to, e.cidr[1]); } - ipn = ip; - do { - ipn = ip_set_range_to_cidr(ipn, ip_to, &e.cidr[0]); - n++; - } while (ipn++ < ip_to); - ipn = ip2_from; - do { - ipn = ip_set_range_to_cidr(ipn, ip2_to, &e.cidr[1]); - m++; - } while (ipn++ < ip2_to); - - if (n*m*(port_to - port + 1) > IPSET_MAX_RANGE) - return -ERANGE; if (retried) { ip = ntohl(h->next.ip[0]); @@ -310,13 +306,19 @@ do { e.ip[0] = htonl(ip); - ip = ip_set_range_to_cidr(ip, ip_to, &e.cidr[0]); + ip = hash_netportnet4_range_to_cidr(ip, ip_to, &e.cidr[0]); for (; p <= port_to; p++) { e.port = htons(p); do { + i++; e.ip[1] = htonl(ip2); - ip2 = ip_set_range_to_cidr(ip2, ip2_to, - &e.cidr[1]); + if (i > IPSET_MAX_RANGE) { + hash_netportnet4_data_next(&h->next, + &e); + return -ERANGE; + } + ip2 = hash_netportnet4_range_to_cidr(ip2, + ip2_to, &e.cidr[1]); ret = adtfn(set, &e, &ext, &ext, flags); if (ret && !ip_set_eexist(ret, flags)) return ret; --- linux-gcp-5.19.0.orig/net/netfilter/ipvs/ip_vs_app.c +++ linux-gcp-5.19.0/net/netfilter/ipvs/ip_vs_app.c @@ -599,13 +599,19 @@ int __net_init ip_vs_app_net_init(struct netns_ipvs *ipvs) { INIT_LIST_HEAD(&ipvs->app_list); - proc_create_net("ip_vs_app", 0, ipvs->net->proc_net, &ip_vs_app_seq_ops, - sizeof(struct seq_net_private)); +#ifdef CONFIG_PROC_FS + if (!proc_create_net("ip_vs_app", 0, ipvs->net->proc_net, + &ip_vs_app_seq_ops, + sizeof(struct seq_net_private))) + return -ENOMEM; +#endif return 0; } void __net_exit ip_vs_app_net_cleanup(struct netns_ipvs *ipvs) { unregister_ip_vs_app(ipvs, NULL /* all */); +#ifdef CONFIG_PROC_FS remove_proc_entry("ip_vs_app", ipvs->net->proc_net); +#endif } --- linux-gcp-5.19.0.orig/net/netfilter/ipvs/ip_vs_conn.c +++ linux-gcp-5.19.0/net/netfilter/ipvs/ip_vs_conn.c @@ -1265,8 +1265,8 @@ * The drop rate array needs tuning for real environments. * Called from timer bh only => no locking */ - static const char todrop_rate[9] = {0, 1, 2, 3, 4, 5, 6, 7, 8}; - static char todrop_counter[9] = {0}; + static const signed char todrop_rate[9] = {0, 1, 2, 3, 4, 5, 6, 7, 8}; + static signed char todrop_counter[9] = {0}; int i; /* if the conn entry hasn't lasted for 60 seconds, don't drop it. @@ -1447,20 +1447,36 @@ { atomic_set(&ipvs->conn_count, 0); - proc_create_net("ip_vs_conn", 0, ipvs->net->proc_net, - &ip_vs_conn_seq_ops, sizeof(struct ip_vs_iter_state)); - proc_create_net("ip_vs_conn_sync", 0, ipvs->net->proc_net, - &ip_vs_conn_sync_seq_ops, - sizeof(struct ip_vs_iter_state)); +#ifdef CONFIG_PROC_FS + if (!proc_create_net("ip_vs_conn", 0, ipvs->net->proc_net, + &ip_vs_conn_seq_ops, + sizeof(struct ip_vs_iter_state))) + goto err_conn; + + if (!proc_create_net("ip_vs_conn_sync", 0, ipvs->net->proc_net, + &ip_vs_conn_sync_seq_ops, + sizeof(struct ip_vs_iter_state))) + goto err_conn_sync; +#endif + return 0; + +#ifdef CONFIG_PROC_FS +err_conn_sync: + remove_proc_entry("ip_vs_conn", ipvs->net->proc_net); +err_conn: + return -ENOMEM; +#endif } void __net_exit ip_vs_conn_net_cleanup(struct netns_ipvs *ipvs) { /* flush all the connection entries first */ ip_vs_conn_flush(ipvs); +#ifdef CONFIG_PROC_FS remove_proc_entry("ip_vs_conn", ipvs->net->proc_net); remove_proc_entry("ip_vs_conn_sync", ipvs->net->proc_net); +#endif } int __init ip_vs_conn_init(void) --- linux-gcp-5.19.0.orig/net/netfilter/ipvs/ip_vs_core.c +++ linux-gcp-5.19.0/net/netfilter/ipvs/ip_vs_core.c @@ -132,21 +132,21 @@ s = this_cpu_ptr(dest->stats.cpustats); u64_stats_update_begin(&s->syncp); - s->cnt.inpkts++; - s->cnt.inbytes += skb->len; + u64_stats_inc(&s->cnt.inpkts); + u64_stats_add(&s->cnt.inbytes, skb->len); u64_stats_update_end(&s->syncp); svc = rcu_dereference(dest->svc); s = this_cpu_ptr(svc->stats.cpustats); u64_stats_update_begin(&s->syncp); - s->cnt.inpkts++; - s->cnt.inbytes += skb->len; + u64_stats_inc(&s->cnt.inpkts); + u64_stats_add(&s->cnt.inbytes, skb->len); u64_stats_update_end(&s->syncp); s = this_cpu_ptr(ipvs->tot_stats.cpustats); u64_stats_update_begin(&s->syncp); - s->cnt.inpkts++; - s->cnt.inbytes += skb->len; + u64_stats_inc(&s->cnt.inpkts); + u64_stats_add(&s->cnt.inbytes, skb->len); u64_stats_update_end(&s->syncp); local_bh_enable(); @@ -168,21 +168,21 @@ s = this_cpu_ptr(dest->stats.cpustats); u64_stats_update_begin(&s->syncp); - s->cnt.outpkts++; - s->cnt.outbytes += skb->len; + u64_stats_inc(&s->cnt.outpkts); + u64_stats_add(&s->cnt.outbytes, skb->len); u64_stats_update_end(&s->syncp); svc = rcu_dereference(dest->svc); s = this_cpu_ptr(svc->stats.cpustats); u64_stats_update_begin(&s->syncp); - s->cnt.outpkts++; - s->cnt.outbytes += skb->len; + u64_stats_inc(&s->cnt.outpkts); + u64_stats_add(&s->cnt.outbytes, skb->len); u64_stats_update_end(&s->syncp); s = this_cpu_ptr(ipvs->tot_stats.cpustats); u64_stats_update_begin(&s->syncp); - s->cnt.outpkts++; - s->cnt.outbytes += skb->len; + u64_stats_inc(&s->cnt.outpkts); + u64_stats_add(&s->cnt.outbytes, skb->len); u64_stats_update_end(&s->syncp); local_bh_enable(); @@ -200,17 +200,17 @@ s = this_cpu_ptr(cp->dest->stats.cpustats); u64_stats_update_begin(&s->syncp); - s->cnt.conns++; + u64_stats_inc(&s->cnt.conns); u64_stats_update_end(&s->syncp); s = this_cpu_ptr(svc->stats.cpustats); u64_stats_update_begin(&s->syncp); - s->cnt.conns++; + u64_stats_inc(&s->cnt.conns); u64_stats_update_end(&s->syncp); s = this_cpu_ptr(ipvs->tot_stats.cpustats); u64_stats_update_begin(&s->syncp); - s->cnt.conns++; + u64_stats_inc(&s->cnt.conns); u64_stats_update_end(&s->syncp); local_bh_enable(); --- linux-gcp-5.19.0.orig/net/netfilter/ipvs/ip_vs_ctl.c +++ linux-gcp-5.19.0/net/netfilter/ipvs/ip_vs_ctl.c @@ -2297,11 +2297,11 @@ do { start = u64_stats_fetch_begin_irq(&u->syncp); - conns = u->cnt.conns; - inpkts = u->cnt.inpkts; - outpkts = u->cnt.outpkts; - inbytes = u->cnt.inbytes; - outbytes = u->cnt.outbytes; + conns = u64_stats_read(&u->cnt.conns); + inpkts = u64_stats_read(&u->cnt.inpkts); + outpkts = u64_stats_read(&u->cnt.outpkts); + inbytes = u64_stats_read(&u->cnt.inbytes); + outbytes = u64_stats_read(&u->cnt.outbytes); } while (u64_stats_fetch_retry_irq(&u->syncp, start)); seq_printf(seq, "%3X %8LX %8LX %8LX %16LX %16LX\n", --- linux-gcp-5.19.0.orig/net/netfilter/ipvs/ip_vs_est.c +++ linux-gcp-5.19.0/net/netfilter/ipvs/ip_vs_est.c @@ -67,11 +67,11 @@ if (add) { do { start = u64_stats_fetch_begin(&s->syncp); - conns = s->cnt.conns; - inpkts = s->cnt.inpkts; - outpkts = s->cnt.outpkts; - inbytes = s->cnt.inbytes; - outbytes = s->cnt.outbytes; + conns = u64_stats_read(&s->cnt.conns); + inpkts = u64_stats_read(&s->cnt.inpkts); + outpkts = u64_stats_read(&s->cnt.outpkts); + inbytes = u64_stats_read(&s->cnt.inbytes); + outbytes = u64_stats_read(&s->cnt.outbytes); } while (u64_stats_fetch_retry(&s->syncp, start)); sum->conns += conns; sum->inpkts += inpkts; @@ -82,11 +82,11 @@ add = true; do { start = u64_stats_fetch_begin(&s->syncp); - sum->conns = s->cnt.conns; - sum->inpkts = s->cnt.inpkts; - sum->outpkts = s->cnt.outpkts; - sum->inbytes = s->cnt.inbytes; - sum->outbytes = s->cnt.outbytes; + sum->conns = u64_stats_read(&s->cnt.conns); + sum->inpkts = u64_stats_read(&s->cnt.inpkts); + sum->outpkts = u64_stats_read(&s->cnt.outpkts); + sum->inbytes = u64_stats_read(&s->cnt.inbytes); + sum->outbytes = u64_stats_read(&s->cnt.outbytes); } while (u64_stats_fetch_retry(&s->syncp, start)); } } --- linux-gcp-5.19.0.orig/net/netfilter/ipvs/ip_vs_sync.c +++ linux-gcp-5.19.0/net/netfilter/ipvs/ip_vs_sync.c @@ -1280,12 +1280,12 @@ lock_sock(sk); if (mode) { val = clamp_t(int, val, (SOCK_MIN_SNDBUF + 1) / 2, - sysctl_wmem_max); + READ_ONCE(sysctl_wmem_max)); sk->sk_sndbuf = val * 2; sk->sk_userlocks |= SOCK_SNDBUF_LOCK; } else { val = clamp_t(int, val, (SOCK_MIN_RCVBUF + 1) / 2, - sysctl_rmem_max); + READ_ONCE(sysctl_rmem_max)); sk->sk_rcvbuf = val * 2; sk->sk_userlocks |= SOCK_RCVBUF_LOCK; } --- linux-gcp-5.19.0.orig/net/netfilter/nf_conntrack_core.c +++ linux-gcp-5.19.0/net/netfilter/nf_conntrack_core.c @@ -67,6 +67,7 @@ struct delayed_work dwork; u32 next_bucket; u32 avg_timeout; + u32 count; u32 start_time; bool exiting; bool early_drop; @@ -85,16 +86,18 @@ /* clamp timeouts to this value (TCP unacked) */ #define GC_SCAN_INTERVAL_CLAMP (300ul * HZ) -/* large initial bias so that we don't scan often just because we have - * three entries with a 1s timeout. +/* Initial bias pretending we have 100 entries at the upper bound so we don't + * wakeup often just because we have three entries with a 1s timeout while still + * allowing non-idle machines to wakeup more often when needed. */ -#define GC_SCAN_INTERVAL_INIT INT_MAX +#define GC_SCAN_INITIAL_COUNT 100 +#define GC_SCAN_INTERVAL_INIT GC_SCAN_INTERVAL_MAX #define GC_SCAN_MAX_DURATION msecs_to_jiffies(10) #define GC_SCAN_EXPIRED_MAX (64000u / HZ) -#define MIN_CHAINLEN 8u -#define MAX_CHAINLEN (32u - MIN_CHAINLEN) +#define MIN_CHAINLEN 50u +#define MAX_CHAINLEN (80u - MIN_CHAINLEN) static struct conntrack_gc_work conntrack_gc_work; @@ -890,7 +893,7 @@ zone = nf_ct_zone(ct); if (!nf_ct_ext_valid_pre(ct->ext)) { - NF_CT_STAT_INC(net, insert_failed); + NF_CT_STAT_INC_ATOMIC(net, insert_failed); return -ETIMEDOUT; } @@ -937,7 +940,7 @@ if (!nf_ct_ext_valid_post(ct->ext)) { nf_ct_kill(ct); - NF_CT_STAT_INC(net, drop); + NF_CT_STAT_INC_ATOMIC(net, drop); return -ETIMEDOUT; } @@ -1274,7 +1277,7 @@ */ if (!nf_ct_ext_valid_post(ct->ext)) { nf_ct_kill(ct); - NF_CT_STAT_INC(net, drop); + NF_CT_STAT_INC_ATOMIC(net, drop); return NF_DROP; } @@ -1468,6 +1471,7 @@ unsigned int expired_count = 0; unsigned long next_run; s32 delta_time; + long count; gc_work = container_of(work, struct conntrack_gc_work, dwork.work); @@ -1477,10 +1481,12 @@ if (i == 0) { gc_work->avg_timeout = GC_SCAN_INTERVAL_INIT; + gc_work->count = GC_SCAN_INITIAL_COUNT; gc_work->start_time = start_time; } next_run = gc_work->avg_timeout; + count = gc_work->count; end_time = start_time + GC_SCAN_MAX_DURATION; @@ -1500,8 +1506,8 @@ hlist_nulls_for_each_entry_rcu(h, n, &ct_hash[i], hnnode) { struct nf_conntrack_net *cnet; - unsigned long expires; struct net *net; + long expires; tmp = nf_ct_tuplehash_to_ctrack(h); @@ -1515,6 +1521,7 @@ gc_work->next_bucket = i; gc_work->avg_timeout = next_run; + gc_work->count = count; delta_time = nfct_time_stamp - gc_work->start_time; @@ -1530,8 +1537,8 @@ } expires = clamp(nf_ct_expires(tmp), GC_SCAN_INTERVAL_MIN, GC_SCAN_INTERVAL_CLAMP); + expires = (expires - (long)next_run) / ++count; next_run += expires; - next_run /= 2u; if (nf_conntrack_max95 == 0 || gc_worker_skip_ct(tmp)) continue; @@ -1572,6 +1579,7 @@ delta_time = nfct_time_stamp - end_time; if (delta_time > 0 && i < hashsz) { gc_work->avg_timeout = next_run; + gc_work->count = count; gc_work->next_bucket = i; next_run = 0; goto early_exit; @@ -1775,7 +1783,7 @@ } #ifdef CONFIG_NF_CONNTRACK_MARK - ct->mark = exp->master->mark; + ct->mark = READ_ONCE(exp->master->mark); #endif #ifdef CONFIG_NF_CONNTRACK_SECMARK ct->secmark = exp->master->secmark; --- linux-gcp-5.19.0.orig/net/netfilter/nf_conntrack_ftp.c +++ linux-gcp-5.19.0/net/netfilter/nf_conntrack_ftp.c @@ -33,10 +33,6 @@ MODULE_DESCRIPTION("ftp connection tracking helper"); MODULE_ALIAS("ip_conntrack_ftp"); MODULE_ALIAS_NFCT_HELPER(HELPER_NAME); - -/* This is slow, but it's simple. --RR */ -static char *ftp_buffer; - static DEFINE_SPINLOCK(nf_ftp_lock); #define MAX_PORTS 8 @@ -398,6 +394,9 @@ return NF_ACCEPT; } + if (unlikely(skb_linearize(skb))) + return NF_DROP; + th = skb_header_pointer(skb, protoff, sizeof(_tcph), &_tcph); if (th == NULL) return NF_ACCEPT; @@ -411,12 +410,9 @@ } datalen = skb->len - dataoff; + /* seqadj (nat) uses ct->lock internally, nf_nat_ftp would cause deadlock */ spin_lock_bh(&nf_ftp_lock); - fb_ptr = skb_header_pointer(skb, dataoff, datalen, ftp_buffer); - if (!fb_ptr) { - spin_unlock_bh(&nf_ftp_lock); - return NF_ACCEPT; - } + fb_ptr = skb->data + dataoff; ends_in_nl = (fb_ptr[datalen - 1] == '\n'); seq = ntohl(th->seq) + datalen; @@ -571,7 +567,6 @@ static void __exit nf_conntrack_ftp_fini(void) { nf_conntrack_helpers_unregister(ftp, ports_c * 2); - kfree(ftp_buffer); } static int __init nf_conntrack_ftp_init(void) @@ -580,10 +575,6 @@ NF_CT_HELPER_BUILD_BUG_ON(sizeof(struct nf_ct_ftp_master)); - ftp_buffer = kmalloc(65536, GFP_KERNEL); - if (!ftp_buffer) - return -ENOMEM; - if (ports_c == 0) ports[ports_c++] = FTP_PORT; @@ -603,7 +594,6 @@ ret = nf_conntrack_helpers_register(ftp, ports_c * 2); if (ret < 0) { pr_err("failed to register helpers\n"); - kfree(ftp_buffer); return ret; } --- linux-gcp-5.19.0.orig/net/netfilter/nf_conntrack_h323_main.c +++ linux-gcp-5.19.0/net/netfilter/nf_conntrack_h323_main.c @@ -34,6 +34,8 @@ #include #include +#define H323_MAX_SIZE 65535 + /* Parameters */ static unsigned int default_rrq_ttl __read_mostly = 300; module_param(default_rrq_ttl, uint, 0600); @@ -142,6 +144,9 @@ if (tcpdatalen <= 0) /* No TCP data */ goto clear_out; + if (tcpdatalen > H323_MAX_SIZE) + tcpdatalen = H323_MAX_SIZE; + if (*data == NULL) { /* first TPKT */ /* Get first TPKT pointer */ tpkt = skb_header_pointer(skb, tcpdataoff, tcpdatalen, @@ -1220,6 +1225,9 @@ if (dataoff >= skb->len) return NULL; *datalen = skb->len - dataoff; + if (*datalen > H323_MAX_SIZE) + *datalen = H323_MAX_SIZE; + return skb_header_pointer(skb, dataoff, *datalen, h323_buffer); } @@ -1821,7 +1829,7 @@ NF_CT_HELPER_BUILD_BUG_ON(sizeof(struct nf_ct_h323_master)); - h323_buffer = kmalloc(65536, GFP_KERNEL); + h323_buffer = kmalloc(H323_MAX_SIZE + 1, GFP_KERNEL); if (!h323_buffer) return -ENOMEM; ret = h323_helper_init(); --- linux-gcp-5.19.0.orig/net/netfilter/nf_conntrack_irc.c +++ linux-gcp-5.19.0/net/netfilter/nf_conntrack_irc.c @@ -39,6 +39,7 @@ EXPORT_SYMBOL_GPL(nf_nat_irc_hook); #define HELPER_NAME "irc" +#define MAX_SEARCH_SIZE 4095 MODULE_AUTHOR("Harald Welte "); MODULE_DESCRIPTION("IRC (DCC) connection tracking helper"); @@ -121,6 +122,7 @@ int i, ret = NF_ACCEPT; char *addr_beg_p, *addr_end_p; typeof(nf_nat_irc_hook) nf_nat_irc; + unsigned int datalen; /* If packet is coming from IRC server */ if (dir == IP_CT_DIR_REPLY) @@ -140,8 +142,12 @@ if (dataoff >= skb->len) return NF_ACCEPT; + datalen = skb->len - dataoff; + if (datalen > MAX_SEARCH_SIZE) + datalen = MAX_SEARCH_SIZE; + spin_lock_bh(&irc_buffer_lock); - ib_ptr = skb_header_pointer(skb, dataoff, skb->len - dataoff, + ib_ptr = skb_header_pointer(skb, dataoff, datalen, irc_buffer); if (!ib_ptr) { spin_unlock_bh(&irc_buffer_lock); @@ -149,17 +155,39 @@ } data = ib_ptr; - data_limit = ib_ptr + skb->len - dataoff; + data_limit = ib_ptr + datalen; + + /* Skip any whitespace */ + while (data < data_limit - 10) { + if (*data == ' ' || *data == '\r' || *data == '\n') + data++; + else + break; + } - /* strlen("\1DCC SENT t AAAAAAAA P\1\n")=24 - * 5+MINMATCHLEN+strlen("t AAAAAAAA P\1\n")=14 */ - while (data < data_limit - (19 + MINMATCHLEN)) { - if (memcmp(data, "\1DCC ", 5)) { + /* strlen("PRIVMSG x ")=10 */ + if (data < data_limit - 10) { + if (strncasecmp("PRIVMSG ", data, 8)) + goto out; + data += 8; + } + + /* strlen(" :\1DCC SENT t AAAAAAAA P\1\n")=26 + * 7+MINMATCHLEN+strlen("t AAAAAAAA P\1\n")=26 + */ + while (data < data_limit - (21 + MINMATCHLEN)) { + /* Find first " :", the start of message */ + if (memcmp(data, " :", 2)) { data++; continue; } + data += 2; + + /* then check that place only for the DCC command */ + if (memcmp(data, "\1DCC ", 5)) + goto out; data += 5; - /* we have at least (19+MINMATCHLEN)-5 bytes valid data left */ + /* we have at least (21+MINMATCHLEN)-(2+5) bytes valid data left */ iph = ip_hdr(skb); pr_debug("DCC found in master %pI4:%u %pI4:%u\n", @@ -175,7 +203,7 @@ pr_debug("DCC %s detected\n", dccprotos[i]); /* we have at least - * (19+MINMATCHLEN)-5-dccprotos[i].matchlen bytes valid + * (21+MINMATCHLEN)-7-dccprotos[i].matchlen bytes valid * data left (== 14/13 bytes) */ if (parse_dcc(data, data_limit, &dcc_ip, &dcc_port, &addr_beg_p, &addr_end_p)) { @@ -188,8 +216,9 @@ /* dcc_ip can be the internal OR external (NAT'ed) IP */ tuple = &ct->tuplehash[dir].tuple; - if (tuple->src.u3.ip != dcc_ip && - tuple->dst.u3.ip != dcc_ip) { + if ((tuple->src.u3.ip != dcc_ip && + ct->tuplehash[!dir].tuple.dst.u3.ip != dcc_ip) || + dcc_port == 0) { net_warn_ratelimited("Forged DCC command from %pI4: %pI4:%u\n", &tuple->src.u3.ip, &dcc_ip, dcc_port); @@ -251,7 +280,7 @@ irc_exp_policy.max_expected = max_dcc_channels; irc_exp_policy.timeout = dcc_timeout; - irc_buffer = kmalloc(65536, GFP_KERNEL); + irc_buffer = kmalloc(MAX_SEARCH_SIZE + 1, GFP_KERNEL); if (!irc_buffer) return -ENOMEM; --- linux-gcp-5.19.0.orig/net/netfilter/nf_conntrack_netlink.c +++ linux-gcp-5.19.0/net/netfilter/nf_conntrack_netlink.c @@ -328,9 +328,15 @@ } #ifdef CONFIG_NF_CONNTRACK_MARK -static int ctnetlink_dump_mark(struct sk_buff *skb, const struct nf_conn *ct) +static int ctnetlink_dump_mark(struct sk_buff *skb, const struct nf_conn *ct, + bool dump) { - if (nla_put_be32(skb, CTA_MARK, htonl(ct->mark))) + u32 mark = READ_ONCE(ct->mark); + + if (!mark && !dump) + return 0; + + if (nla_put_be32(skb, CTA_MARK, htonl(mark))) goto nla_put_failure; return 0; @@ -338,17 +344,22 @@ return -1; } #else -#define ctnetlink_dump_mark(a, b) (0) +#define ctnetlink_dump_mark(a, b, c) (0) #endif #ifdef CONFIG_NF_CONNTRACK_SECMARK static int ctnetlink_dump_secctx(struct sk_buff *skb, const struct nf_conn *ct) { struct nlattr *nest_secctx; - int len, ret; - char *secctx; + int ret; + struct lsmblob blob; + struct lsmcontext context; - ret = security_secid_to_secctx(ct->secmark, &secctx, &len); + /* lsmblob_init() puts ct->secmark into all of the secids in blob. + * security_secid_to_secctx() will know which security module + * to use to create the secctx. */ + lsmblob_init(&blob, ct->secmark); + ret = security_secid_to_secctx(&blob, &context, LSMBLOB_DISPLAY); if (ret) return 0; @@ -357,13 +368,13 @@ if (!nest_secctx) goto nla_put_failure; - if (nla_put_string(skb, CTA_SECCTX_NAME, secctx)) + if (nla_put_string(skb, CTA_SECCTX_NAME, context.context)) goto nla_put_failure; nla_nest_end(skb, nest_secctx); ret = 0; nla_put_failure: - security_release_secctx(secctx, len); + security_release_secctx(&context); return ret; } #else @@ -543,7 +554,7 @@ static int ctnetlink_dump_info(struct sk_buff *skb, struct nf_conn *ct) { if (ctnetlink_dump_status(skb, ct) < 0 || - ctnetlink_dump_mark(skb, ct) < 0 || + ctnetlink_dump_mark(skb, ct, true) < 0 || ctnetlink_dump_secctx(skb, ct) < 0 || ctnetlink_dump_id(skb, ct) < 0 || ctnetlink_dump_use(skb, ct) < 0 || @@ -655,10 +666,11 @@ static inline int ctnetlink_secctx_size(const struct nf_conn *ct) { #ifdef CONFIG_NF_CONNTRACK_SECMARK - int len, ret; + int len; + struct lsmblob blob; - ret = security_secid_to_secctx(ct->secmark, NULL, &len); - if (ret) + len = security_secid_to_secctx(&blob, NULL, LSMBLOB_DISPLAY); + if (len <= 0) return 0; return nla_total_size(0) /* CTA_SECCTX */ @@ -826,8 +838,7 @@ } #ifdef CONFIG_NF_CONNTRACK_MARK - if ((events & (1 << IPCT_MARK) || ct->mark) - && ctnetlink_dump_mark(skb, ct) < 0) + if (ctnetlink_dump_mark(skb, ct, events & (1 << IPCT_MARK))) goto nla_put_failure; #endif nlmsg_end(skb, nlh); @@ -1154,7 +1165,7 @@ } #ifdef CONFIG_NF_CONNTRACK_MARK - if ((ct->mark & filter->mark.mask) != filter->mark.val) + if ((READ_ONCE(ct->mark) & filter->mark.mask) != filter->mark.val) goto ignore_entry; #endif status = (u32)READ_ONCE(ct->status); @@ -2046,9 +2057,9 @@ mask = ~ntohl(nla_get_be32(cda[CTA_MARK_MASK])); mark = ntohl(nla_get_be32(cda[CTA_MARK])); - newmark = (ct->mark & mask) ^ mark; - if (newmark != ct->mark) - ct->mark = newmark; + newmark = (READ_ONCE(ct->mark) & mask) ^ mark; + if (newmark != READ_ONCE(ct->mark)) + WRITE_ONCE(ct->mark, newmark); } #endif @@ -2781,7 +2792,7 @@ goto nla_put_failure; #ifdef CONFIG_NF_CONNTRACK_MARK - if (ct->mark && ctnetlink_dump_mark(skb, ct) < 0) + if (ctnetlink_dump_mark(skb, ct, true) < 0) goto nla_put_failure; #endif if (ctnetlink_dump_labels(skb, ct) < 0) --- linux-gcp-5.19.0.orig/net/netfilter/nf_conntrack_proto_icmpv6.c +++ linux-gcp-5.19.0/net/netfilter/nf_conntrack_proto_icmpv6.c @@ -129,6 +129,56 @@ nf_l4proto_log_invalid(skb, state, IPPROTO_ICMPV6, "%s", msg); } +static noinline_for_stack int +nf_conntrack_icmpv6_redirect(struct nf_conn *tmpl, struct sk_buff *skb, + unsigned int dataoff, + const struct nf_hook_state *state) +{ + u8 hl = ipv6_hdr(skb)->hop_limit; + union nf_inet_addr outer_daddr; + union { + struct nd_opt_hdr nd_opt; + struct rd_msg rd_msg; + } tmp; + const struct nd_opt_hdr *nd_opt; + const struct rd_msg *rd_msg; + + rd_msg = skb_header_pointer(skb, dataoff, sizeof(*rd_msg), &tmp.rd_msg); + if (!rd_msg) { + icmpv6_error_log(skb, state, "short redirect"); + return -NF_ACCEPT; + } + + if (rd_msg->icmph.icmp6_code != 0) + return NF_ACCEPT; + + if (hl != 255 || !(ipv6_addr_type(&ipv6_hdr(skb)->saddr) & IPV6_ADDR_LINKLOCAL)) { + icmpv6_error_log(skb, state, "invalid saddr or hoplimit for redirect"); + return -NF_ACCEPT; + } + + dataoff += sizeof(*rd_msg); + + /* warning: rd_msg no longer usable after this call */ + nd_opt = skb_header_pointer(skb, dataoff, sizeof(*nd_opt), &tmp.nd_opt); + if (!nd_opt || nd_opt->nd_opt_len == 0) { + icmpv6_error_log(skb, state, "redirect without options"); + return -NF_ACCEPT; + } + + /* We could call ndisc_parse_options(), but it would need + * skb_linearize() and a bit more work. + */ + if (nd_opt->nd_opt_type != ND_OPT_REDIRECT_HDR) + return NF_ACCEPT; + + memcpy(&outer_daddr.ip6, &ipv6_hdr(skb)->daddr, + sizeof(outer_daddr.ip6)); + dataoff += 8; + return nf_conntrack_inet_error(tmpl, skb, dataoff, state, + IPPROTO_ICMPV6, &outer_daddr); +} + int nf_conntrack_icmpv6_error(struct nf_conn *tmpl, struct sk_buff *skb, unsigned int dataoff, @@ -159,6 +209,9 @@ return NF_ACCEPT; } + if (icmp6h->icmp6_type == NDISC_REDIRECT) + return nf_conntrack_icmpv6_redirect(tmpl, skb, dataoff, state); + /* is not error message ? */ if (icmp6h->icmp6_type >= 128) return NF_ACCEPT; --- linux-gcp-5.19.0.orig/net/netfilter/nf_conntrack_proto_sctp.c +++ linux-gcp-5.19.0/net/netfilter/nf_conntrack_proto_sctp.c @@ -27,22 +27,16 @@ #include #include -/* FIXME: Examine ipfilter's timeouts and conntrack transitions more - closely. They're more complex. --RR - - And so for me for SCTP :D -Kiran */ - static const char *const sctp_conntrack_names[] = { - "NONE", - "CLOSED", - "COOKIE_WAIT", - "COOKIE_ECHOED", - "ESTABLISHED", - "SHUTDOWN_SENT", - "SHUTDOWN_RECD", - "SHUTDOWN_ACK_SENT", - "HEARTBEAT_SENT", - "HEARTBEAT_ACKED", + [SCTP_CONNTRACK_NONE] = "NONE", + [SCTP_CONNTRACK_CLOSED] = "CLOSED", + [SCTP_CONNTRACK_COOKIE_WAIT] = "COOKIE_WAIT", + [SCTP_CONNTRACK_COOKIE_ECHOED] = "COOKIE_ECHOED", + [SCTP_CONNTRACK_ESTABLISHED] = "ESTABLISHED", + [SCTP_CONNTRACK_SHUTDOWN_SENT] = "SHUTDOWN_SENT", + [SCTP_CONNTRACK_SHUTDOWN_RECD] = "SHUTDOWN_RECD", + [SCTP_CONNTRACK_SHUTDOWN_ACK_SENT] = "SHUTDOWN_ACK_SENT", + [SCTP_CONNTRACK_HEARTBEAT_SENT] = "HEARTBEAT_SENT", }; #define SECS * HZ @@ -54,12 +48,11 @@ [SCTP_CONNTRACK_CLOSED] = 10 SECS, [SCTP_CONNTRACK_COOKIE_WAIT] = 3 SECS, [SCTP_CONNTRACK_COOKIE_ECHOED] = 3 SECS, - [SCTP_CONNTRACK_ESTABLISHED] = 5 DAYS, + [SCTP_CONNTRACK_ESTABLISHED] = 210 SECS, [SCTP_CONNTRACK_SHUTDOWN_SENT] = 300 SECS / 1000, [SCTP_CONNTRACK_SHUTDOWN_RECD] = 300 SECS / 1000, [SCTP_CONNTRACK_SHUTDOWN_ACK_SENT] = 3 SECS, [SCTP_CONNTRACK_HEARTBEAT_SENT] = 30 SECS, - [SCTP_CONNTRACK_HEARTBEAT_ACKED] = 210 SECS, }; #define SCTP_FLAG_HEARTBEAT_VTAG_FAILED 1 @@ -73,7 +66,6 @@ #define sSR SCTP_CONNTRACK_SHUTDOWN_RECD #define sSA SCTP_CONNTRACK_SHUTDOWN_ACK_SENT #define sHS SCTP_CONNTRACK_HEARTBEAT_SENT -#define sHA SCTP_CONNTRACK_HEARTBEAT_ACKED #define sIV SCTP_CONNTRACK_MAX /* @@ -96,9 +88,6 @@ CLOSED - We have seen a SHUTDOWN_COMPLETE chunk in the direction of the SHUTDOWN chunk. Connection is closed. HEARTBEAT_SENT - We have seen a HEARTBEAT in a new flow. -HEARTBEAT_ACKED - We have seen a HEARTBEAT-ACK in the direction opposite to - that of the HEARTBEAT chunk. Secondary connection is - established. */ /* TODO @@ -115,33 +104,33 @@ static const u8 sctp_conntracks[2][11][SCTP_CONNTRACK_MAX] = { { /* ORIGINAL */ -/* sNO, sCL, sCW, sCE, sES, sSS, sSR, sSA, sHS, sHA */ -/* init */ {sCL, sCL, sCW, sCE, sES, sSS, sSR, sSA, sCW, sHA}, -/* init_ack */ {sCL, sCL, sCW, sCE, sES, sSS, sSR, sSA, sCL, sHA}, -/* abort */ {sCL, sCL, sCL, sCL, sCL, sCL, sCL, sCL, sCL, sCL}, -/* shutdown */ {sCL, sCL, sCW, sCE, sSS, sSS, sSR, sSA, sCL, sSS}, -/* shutdown_ack */ {sSA, sCL, sCW, sCE, sES, sSA, sSA, sSA, sSA, sHA}, -/* error */ {sCL, sCL, sCW, sCE, sES, sSS, sSR, sSA, sCL, sHA},/* Can't have Stale cookie*/ -/* cookie_echo */ {sCL, sCL, sCE, sCE, sES, sSS, sSR, sSA, sCL, sHA},/* 5.2.4 - Big TODO */ -/* cookie_ack */ {sCL, sCL, sCW, sCE, sES, sSS, sSR, sSA, sCL, sHA},/* Can't come in orig dir */ -/* shutdown_comp*/ {sCL, sCL, sCW, sCE, sES, sSS, sSR, sCL, sCL, sHA}, -/* heartbeat */ {sHS, sCL, sCW, sCE, sES, sSS, sSR, sSA, sHS, sHA}, -/* heartbeat_ack*/ {sCL, sCL, sCW, sCE, sES, sSS, sSR, sSA, sHS, sHA} +/* sNO, sCL, sCW, sCE, sES, sSS, sSR, sSA, sHS */ +/* init */ {sCL, sCL, sCW, sCE, sES, sSS, sSR, sSA, sCW}, +/* init_ack */ {sCL, sCL, sCW, sCE, sES, sSS, sSR, sSA, sCL}, +/* abort */ {sCL, sCL, sCL, sCL, sCL, sCL, sCL, sCL, sCL}, +/* shutdown */ {sCL, sCL, sCW, sCE, sSS, sSS, sSR, sSA, sCL}, +/* shutdown_ack */ {sSA, sCL, sCW, sCE, sES, sSA, sSA, sSA, sSA}, +/* error */ {sCL, sCL, sCW, sCE, sES, sSS, sSR, sSA, sCL},/* Can't have Stale cookie*/ +/* cookie_echo */ {sCL, sCL, sCE, sCE, sES, sSS, sSR, sSA, sCL},/* 5.2.4 - Big TODO */ +/* cookie_ack */ {sCL, sCL, sCW, sCE, sES, sSS, sSR, sSA, sCL},/* Can't come in orig dir */ +/* shutdown_comp*/ {sCL, sCL, sCW, sCE, sES, sSS, sSR, sCL, sCL}, +/* heartbeat */ {sHS, sCL, sCW, sCE, sES, sSS, sSR, sSA, sHS}, +/* heartbeat_ack*/ {sCL, sCL, sCW, sCE, sES, sSS, sSR, sSA, sHS}, }, { /* REPLY */ -/* sNO, sCL, sCW, sCE, sES, sSS, sSR, sSA, sHS, sHA */ -/* init */ {sIV, sCL, sCW, sCE, sES, sSS, sSR, sSA, sIV, sHA},/* INIT in sCL Big TODO */ -/* init_ack */ {sIV, sCW, sCW, sCE, sES, sSS, sSR, sSA, sIV, sHA}, -/* abort */ {sIV, sCL, sCL, sCL, sCL, sCL, sCL, sCL, sIV, sCL}, -/* shutdown */ {sIV, sCL, sCW, sCE, sSR, sSS, sSR, sSA, sIV, sSR}, -/* shutdown_ack */ {sIV, sCL, sCW, sCE, sES, sSA, sSA, sSA, sIV, sHA}, -/* error */ {sIV, sCL, sCW, sCL, sES, sSS, sSR, sSA, sIV, sHA}, -/* cookie_echo */ {sIV, sCL, sCW, sCE, sES, sSS, sSR, sSA, sIV, sHA},/* Can't come in reply dir */ -/* cookie_ack */ {sIV, sCL, sCW, sES, sES, sSS, sSR, sSA, sIV, sHA}, -/* shutdown_comp*/ {sIV, sCL, sCW, sCE, sES, sSS, sSR, sCL, sIV, sHA}, -/* heartbeat */ {sIV, sCL, sCW, sCE, sES, sSS, sSR, sSA, sHS, sHA}, -/* heartbeat_ack*/ {sIV, sCL, sCW, sCE, sES, sSS, sSR, sSA, sHA, sHA} +/* sNO, sCL, sCW, sCE, sES, sSS, sSR, sSA, sHS */ +/* init */ {sIV, sCL, sCW, sCE, sES, sSS, sSR, sSA, sIV},/* INIT in sCL Big TODO */ +/* init_ack */ {sIV, sCW, sCW, sCE, sES, sSS, sSR, sSA, sIV}, +/* abort */ {sIV, sCL, sCL, sCL, sCL, sCL, sCL, sCL, sIV}, +/* shutdown */ {sIV, sCL, sCW, sCE, sSR, sSS, sSR, sSA, sIV}, +/* shutdown_ack */ {sIV, sCL, sCW, sCE, sES, sSA, sSA, sSA, sIV}, +/* error */ {sIV, sCL, sCW, sCL, sES, sSS, sSR, sSA, sIV}, +/* cookie_echo */ {sIV, sCL, sCW, sCE, sES, sSS, sSR, sSA, sIV},/* Can't come in reply dir */ +/* cookie_ack */ {sIV, sCL, sCW, sES, sES, sSS, sSR, sSA, sIV}, +/* shutdown_comp*/ {sIV, sCL, sCW, sCE, sES, sSS, sSR, sCL, sIV}, +/* heartbeat */ {sIV, sCL, sCW, sCE, sES, sSS, sSR, sSA, sHS}, +/* heartbeat_ack*/ {sIV, sCL, sCW, sCE, sES, sSS, sSR, sSA, sES}, } }; @@ -412,22 +401,29 @@ for_each_sctp_chunk (skb, sch, _sch, offset, dataoff, count) { /* Special cases of Verification tag check (Sec 8.5.1) */ if (sch->type == SCTP_CID_INIT) { - /* Sec 8.5.1 (A) */ + /* (A) vtag MUST be zero */ if (sh->vtag != 0) goto out_unlock; } else if (sch->type == SCTP_CID_ABORT) { - /* Sec 8.5.1 (B) */ - if (sh->vtag != ct->proto.sctp.vtag[dir] && - sh->vtag != ct->proto.sctp.vtag[!dir]) + /* (B) vtag MUST match own vtag if T flag is unset OR + * MUST match peer's vtag if T flag is set + */ + if ((!(sch->flags & SCTP_CHUNK_FLAG_T) && + sh->vtag != ct->proto.sctp.vtag[dir]) || + ((sch->flags & SCTP_CHUNK_FLAG_T) && + sh->vtag != ct->proto.sctp.vtag[!dir])) goto out_unlock; } else if (sch->type == SCTP_CID_SHUTDOWN_COMPLETE) { - /* Sec 8.5.1 (C) */ - if (sh->vtag != ct->proto.sctp.vtag[dir] && - sh->vtag != ct->proto.sctp.vtag[!dir] && - sch->flags & SCTP_CHUNK_FLAG_T) + /* (C) vtag MUST match own vtag if T flag is unset OR + * MUST match peer's vtag if T flag is set + */ + if ((!(sch->flags & SCTP_CHUNK_FLAG_T) && + sh->vtag != ct->proto.sctp.vtag[dir]) || + ((sch->flags & SCTP_CHUNK_FLAG_T) && + sh->vtag != ct->proto.sctp.vtag[!dir])) goto out_unlock; } else if (sch->type == SCTP_CID_COOKIE_ECHO) { - /* Sec 8.5.1 (D) */ + /* (D) vtag must be same as init_vtag as found in INIT_ACK */ if (sh->vtag != ct->proto.sctp.vtag[dir]) goto out_unlock; } else if (sch->type == SCTP_CID_HEARTBEAT) { @@ -501,8 +497,12 @@ } ct->proto.sctp.state = new_state; - if (old_state != new_state) + if (old_state != new_state) { nf_conntrack_event_cache(IPCT_PROTOINFO, ct); + if (new_state == SCTP_CONNTRACK_ESTABLISHED && + !test_and_set_bit(IPS_ASSURED_BIT, &ct->status)) + nf_conntrack_event_cache(IPCT_ASSURED, ct); + } } spin_unlock_bh(&ct->lock); @@ -516,14 +516,6 @@ nf_ct_refresh_acct(ct, ctinfo, skb, timeouts[new_state]); - if (old_state == SCTP_CONNTRACK_COOKIE_ECHOED && - dir == IP_CT_DIR_REPLY && - new_state == SCTP_CONNTRACK_ESTABLISHED) { - pr_debug("Setting assured bit\n"); - set_bit(IPS_ASSURED_BIT, &ct->status); - nf_conntrack_event_cache(IPCT_ASSURED, ct); - } - return NF_ACCEPT; out_unlock: --- linux-gcp-5.19.0.orig/net/netfilter/nf_conntrack_proto_tcp.c +++ linux-gcp-5.19.0/net/netfilter/nf_conntrack_proto_tcp.c @@ -655,6 +655,37 @@ tn->tcp_be_liberal) res = true; if (!res) { + bool seq_ok = before(seq, sender->td_maxend + 1); + + if (!seq_ok) { + u32 overshot = end - sender->td_maxend + 1; + bool ack_ok; + + ack_ok = after(sack, receiver->td_end - MAXACKWINDOW(sender) - 1); + + if (in_recv_win && + ack_ok && + overshot <= receiver->td_maxwin && + before(sack, receiver->td_end + 1)) { + /* Work around TCPs that send more bytes than allowed by + * the receive window. + * + * If the (marked as invalid) packet is allowed to pass by + * the ruleset and the peer acks this data, then its possible + * all future packets will trigger 'ACK is over upper bound' check. + * + * Thus if only the sequence check fails then do update td_end so + * possible ACK for this data can update internal state. + */ + sender->td_end = end; + sender->flags |= IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED; + + nf_ct_l4proto_log_invalid(skb, ct, hook_state, + "%u bytes more than expected", overshot); + return res; + } + } + nf_ct_l4proto_log_invalid(skb, ct, hook_state, "%s", before(seq, sender->td_maxend + 1) ? @@ -964,6 +995,13 @@ ct->proto.tcp.last_flags |= IP_CT_EXP_CHALLENGE_ACK; } + + /* possible challenge ack reply to syn */ + if (old_state == TCP_CONNTRACK_SYN_SENT && + index == TCP_ACK_SET && + dir == IP_CT_DIR_REPLY) + ct->proto.tcp.last_ack = ntohl(th->ack_seq); + spin_unlock_bh(&ct->lock); nf_ct_l4proto_log_invalid(skb, ct, state, "packet (index %d) in dir %d ignored, state %s", @@ -1089,6 +1127,14 @@ * segments we ignored. */ goto in_window; } + + /* Reset in response to a challenge-ack we let through earlier */ + if (old_state == TCP_CONNTRACK_SYN_SENT && + ct->proto.tcp.last_index == TCP_ACK_SET && + ct->proto.tcp.last_dir == IP_CT_DIR_REPLY && + ntohl(th->seq) == ct->proto.tcp.last_ack) + goto in_window; + break; default: /* Keep compilers happy. */ --- linux-gcp-5.19.0.orig/net/netfilter/nf_conntrack_sane.c +++ linux-gcp-5.19.0/net/netfilter/nf_conntrack_sane.c @@ -34,10 +34,6 @@ MODULE_DESCRIPTION("SANE connection tracking helper"); MODULE_ALIAS_NFCT_HELPER(HELPER_NAME); -static char *sane_buffer; - -static DEFINE_SPINLOCK(nf_sane_lock); - #define MAX_PORTS 8 static u_int16_t ports[MAX_PORTS]; static unsigned int ports_c; @@ -67,14 +63,16 @@ unsigned int dataoff, datalen; const struct tcphdr *th; struct tcphdr _tcph; - void *sb_ptr; int ret = NF_ACCEPT; int dir = CTINFO2DIR(ctinfo); struct nf_ct_sane_master *ct_sane_info = nfct_help_data(ct); struct nf_conntrack_expect *exp; struct nf_conntrack_tuple *tuple; - struct sane_request *req; struct sane_reply_net_start *reply; + union { + struct sane_request req; + struct sane_reply_net_start repl; + } buf; /* Until there's been traffic both ways, don't look in packets. */ if (ctinfo != IP_CT_ESTABLISHED && @@ -92,59 +90,62 @@ return NF_ACCEPT; datalen = skb->len - dataoff; - - spin_lock_bh(&nf_sane_lock); - sb_ptr = skb_header_pointer(skb, dataoff, datalen, sane_buffer); - if (!sb_ptr) { - spin_unlock_bh(&nf_sane_lock); - return NF_ACCEPT; - } - if (dir == IP_CT_DIR_ORIGINAL) { + const struct sane_request *req; + if (datalen != sizeof(struct sane_request)) - goto out; + return NF_ACCEPT; + + req = skb_header_pointer(skb, dataoff, datalen, &buf.req); + if (!req) + return NF_ACCEPT; - req = sb_ptr; if (req->RPC_code != htonl(SANE_NET_START)) { /* Not an interesting command */ - ct_sane_info->state = SANE_STATE_NORMAL; - goto out; + WRITE_ONCE(ct_sane_info->state, SANE_STATE_NORMAL); + return NF_ACCEPT; } /* We're interested in the next reply */ - ct_sane_info->state = SANE_STATE_START_REQUESTED; - goto out; + WRITE_ONCE(ct_sane_info->state, SANE_STATE_START_REQUESTED); + return NF_ACCEPT; } + /* IP_CT_DIR_REPLY */ + /* Is it a reply to an uninteresting command? */ - if (ct_sane_info->state != SANE_STATE_START_REQUESTED) - goto out; + if (READ_ONCE(ct_sane_info->state) != SANE_STATE_START_REQUESTED) + return NF_ACCEPT; /* It's a reply to SANE_NET_START. */ - ct_sane_info->state = SANE_STATE_NORMAL; + WRITE_ONCE(ct_sane_info->state, SANE_STATE_NORMAL); if (datalen < sizeof(struct sane_reply_net_start)) { pr_debug("NET_START reply too short\n"); - goto out; + return NF_ACCEPT; } - reply = sb_ptr; + datalen = sizeof(struct sane_reply_net_start); + + reply = skb_header_pointer(skb, dataoff, datalen, &buf.repl); + if (!reply) + return NF_ACCEPT; + if (reply->status != htonl(SANE_STATUS_SUCCESS)) { /* saned refused the command */ pr_debug("unsuccessful SANE_STATUS = %u\n", ntohl(reply->status)); - goto out; + return NF_ACCEPT; } /* Invalid saned reply? Ignore it. */ if (reply->zero != 0) - goto out; + return NF_ACCEPT; exp = nf_ct_expect_alloc(ct); if (exp == NULL) { nf_ct_helper_log(skb, ct, "cannot alloc expectation"); - ret = NF_DROP; - goto out; + return NF_DROP; } tuple = &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple; @@ -162,9 +163,6 @@ } nf_ct_expect_put(exp); - -out: - spin_unlock_bh(&nf_sane_lock); return ret; } @@ -178,7 +176,6 @@ static void __exit nf_conntrack_sane_fini(void) { nf_conntrack_helpers_unregister(sane, ports_c * 2); - kfree(sane_buffer); } static int __init nf_conntrack_sane_init(void) @@ -187,10 +184,6 @@ NF_CT_HELPER_BUILD_BUG_ON(sizeof(struct nf_ct_sane_master)); - sane_buffer = kmalloc(65536, GFP_KERNEL); - if (!sane_buffer) - return -ENOMEM; - if (ports_c == 0) ports[ports_c++] = SANE_PORT; @@ -210,7 +203,6 @@ ret = nf_conntrack_helpers_register(sane, ports_c * 2); if (ret < 0) { pr_err("failed to register helpers\n"); - kfree(sane_buffer); return ret; } --- linux-gcp-5.19.0.orig/net/netfilter/nf_conntrack_sip.c +++ linux-gcp-5.19.0/net/netfilter/nf_conntrack_sip.c @@ -477,7 +477,7 @@ return ret; if (ret == 0) break; - dataoff += *matchoff; + dataoff = *matchoff; } *in_header = 0; } @@ -489,7 +489,7 @@ break; if (ret == 0) return ret; - dataoff += *matchoff; + dataoff = *matchoff; } if (in_header) --- linux-gcp-5.19.0.orig/net/netfilter/nf_conntrack_standalone.c +++ linux-gcp-5.19.0/net/netfilter/nf_conntrack_standalone.c @@ -176,16 +176,17 @@ static void ct_show_secctx(struct seq_file *s, const struct nf_conn *ct) { int ret; - u32 len; - char *secctx; + struct lsmblob blob; + struct lsmcontext context; - ret = security_secid_to_secctx(ct->secmark, &secctx, &len); + lsmblob_init(&blob, ct->secmark); + ret = security_secid_to_secctx(&blob, &context, LSMBLOB_DISPLAY); if (ret) return; - seq_printf(s, "secctx=%s ", secctx); + seq_printf(s, "secctx=%s ", context.context); - security_release_secctx(secctx, len); + security_release_secctx(&context); } #else static inline void ct_show_secctx(struct seq_file *s, const struct nf_conn *ct) @@ -366,7 +367,7 @@ goto release; #if defined(CONFIG_NF_CONNTRACK_MARK) - seq_printf(s, "mark=%u ", ct->mark); + seq_printf(s, "mark=%u ", READ_ONCE(ct->mark)); #endif ct_show_secctx(s, ct); @@ -602,7 +603,6 @@ NF_SYSCTL_CT_PROTO_TIMEOUT_SCTP_SHUTDOWN_RECD, NF_SYSCTL_CT_PROTO_TIMEOUT_SCTP_SHUTDOWN_ACK_SENT, NF_SYSCTL_CT_PROTO_TIMEOUT_SCTP_HEARTBEAT_SENT, - NF_SYSCTL_CT_PROTO_TIMEOUT_SCTP_HEARTBEAT_ACKED, #endif #ifdef CONFIG_NF_CT_PROTO_DCCP NF_SYSCTL_CT_PROTO_TIMEOUT_DCCP_REQUEST, @@ -895,12 +895,6 @@ .mode = 0644, .proc_handler = proc_dointvec_jiffies, }, - [NF_SYSCTL_CT_PROTO_TIMEOUT_SCTP_HEARTBEAT_ACKED] = { - .procname = "nf_conntrack_sctp_timeout_heartbeat_acked", - .maxlen = sizeof(unsigned int), - .mode = 0644, - .proc_handler = proc_dointvec_jiffies, - }, #endif #ifdef CONFIG_NF_CT_PROTO_DCCP [NF_SYSCTL_CT_PROTO_TIMEOUT_DCCP_REQUEST] = { @@ -1044,7 +1038,6 @@ XASSIGN(SHUTDOWN_RECD, sn); XASSIGN(SHUTDOWN_ACK_SENT, sn); XASSIGN(HEARTBEAT_SENT, sn); - XASSIGN(HEARTBEAT_ACKED, sn); #undef XASSIGN #endif } --- linux-gcp-5.19.0.orig/net/netfilter/nf_flow_table_core.c +++ linux-gcp-5.19.0/net/netfilter/nf_flow_table_core.c @@ -442,12 +442,17 @@ } } +void nf_flow_table_gc_run(struct nf_flowtable *flow_table) +{ + nf_flow_table_iterate(flow_table, nf_flow_offload_gc_step, NULL); +} + static void nf_flow_offload_work_gc(struct work_struct *work) { struct nf_flowtable *flow_table; flow_table = container_of(work, struct nf_flowtable, gc_work.work); - nf_flow_table_iterate(flow_table, nf_flow_offload_gc_step, NULL); + nf_flow_table_gc_run(flow_table); queue_delayed_work(system_power_efficient_wq, &flow_table->gc_work, HZ); } @@ -605,11 +610,11 @@ mutex_unlock(&flowtable_lock); cancel_delayed_work_sync(&flow_table->gc_work); - nf_flow_table_iterate(flow_table, nf_flow_table_do_cleanup, NULL); - nf_flow_table_iterate(flow_table, nf_flow_offload_gc_step, NULL); nf_flow_table_offload_flush(flow_table); - if (nf_flowtable_hw_offload(flow_table)) - nf_flow_table_iterate(flow_table, nf_flow_offload_gc_step, NULL); + /* ... no more pending work after this stage ... */ + nf_flow_table_iterate(flow_table, nf_flow_table_do_cleanup, NULL); + nf_flow_table_gc_run(flow_table); + nf_flow_table_offload_flush_cleanup(flow_table); rhashtable_destroy(&flow_table->rhashtable); } EXPORT_SYMBOL_GPL(nf_flow_table_free); --- linux-gcp-5.19.0.orig/net/netfilter/nf_flow_table_offload.c +++ linux-gcp-5.19.0/net/netfilter/nf_flow_table_offload.c @@ -383,12 +383,12 @@ const __be32 *addr, const __be32 *mask) { struct flow_action_entry *entry; - int i, j; + int i; - for (i = 0, j = 0; i < sizeof(struct in6_addr) / sizeof(u32); i += sizeof(u32), j++) { + for (i = 0; i < sizeof(struct in6_addr) / sizeof(u32); i++) { entry = flow_action_entry_next(flow_rule); flow_offload_mangle(entry, FLOW_ACT_MANGLE_HDR_TYPE_IP6, - offset + i, &addr[j], mask); + offset + i * sizeof(u32), &addr[i], mask); } } @@ -1063,6 +1063,14 @@ flow_offload_queue_work(offload); } +void nf_flow_table_offload_flush_cleanup(struct nf_flowtable *flowtable) +{ + if (nf_flowtable_hw_offload(flowtable)) { + flush_workqueue(nf_flow_offload_del_wq); + nf_flow_table_gc_run(flowtable); + } +} + void nf_flow_table_offload_flush(struct nf_flowtable *flowtable) { if (nf_flowtable_hw_offload(flowtable)) { @@ -1079,6 +1087,7 @@ struct flow_block_cb *block_cb, *next; int err = 0; + down_write(&flowtable->flow_block_lock); switch (cmd) { case FLOW_BLOCK_BIND: list_splice(&bo->cb_list, &flowtable->flow_block.cb_list); @@ -1093,6 +1102,7 @@ WARN_ON_ONCE(1); err = -EOPNOTSUPP; } + up_write(&flowtable->flow_block_lock); return err; } @@ -1149,7 +1159,9 @@ nf_flow_table_block_offload_init(bo, dev_net(dev), cmd, flowtable, extack); + down_write(&flowtable->flow_block_lock); err = dev->netdev_ops->ndo_setup_tc(dev, TC_SETUP_FT, bo); + up_write(&flowtable->flow_block_lock); if (err < 0) return err; --- linux-gcp-5.19.0.orig/net/netfilter/nf_tables_api.c +++ linux-gcp-5.19.0/net/netfilter/nf_tables_api.c @@ -32,7 +32,6 @@ static LIST_HEAD(nf_tables_flowtables); static LIST_HEAD(nf_tables_destroy_list); static DEFINE_SPINLOCK(nf_tables_destroy_list_lock); -static u64 table_handle; enum { NFT_VALIDATE_SKIP = 0, @@ -153,6 +152,7 @@ if (trans == NULL) return NULL; + INIT_LIST_HEAD(&trans->list); trans->msg_type = msg_type; trans->ctx = *ctx; @@ -465,8 +465,9 @@ return 0; } -static int nft_trans_set_add(const struct nft_ctx *ctx, int msg_type, - struct nft_set *set) +static int __nft_trans_set_add(const struct nft_ctx *ctx, int msg_type, + struct nft_set *set, + const struct nft_set_desc *desc) { struct nft_trans *trans; @@ -474,17 +475,28 @@ if (trans == NULL) return -ENOMEM; - if (msg_type == NFT_MSG_NEWSET && ctx->nla[NFTA_SET_ID] != NULL) { + if (msg_type == NFT_MSG_NEWSET && ctx->nla[NFTA_SET_ID] && !desc) { nft_trans_set_id(trans) = ntohl(nla_get_be32(ctx->nla[NFTA_SET_ID])); nft_activate_next(ctx->net, set); } nft_trans_set(trans) = set; + if (desc) { + nft_trans_set_update(trans) = true; + nft_trans_set_gc_int(trans) = desc->gc_int; + nft_trans_set_timeout(trans) = desc->timeout; + } nft_trans_commit_list_add_tail(ctx->net, trans); return 0; } +static int nft_trans_set_add(const struct nft_ctx *ctx, int msg_type, + struct nft_set *set) +{ + return __nft_trans_set_add(ctx, msg_type, set, NULL); +} + static int nft_delset(const struct nft_ctx *ctx, struct nft_set *set) { int err; @@ -888,7 +900,7 @@ rcu_read_lock(); nft_net = nft_pernet(net); - cb->seq = nft_net->base_seq; + cb->seq = READ_ONCE(nft_net->base_seq); list_for_each_entry_rcu(table, &nft_net->tables, list) { if (family != NFPROTO_UNSPEC && family != table->family) @@ -1234,7 +1246,7 @@ INIT_LIST_HEAD(&table->flowtables); table->family = family; table->flags = flags; - table->handle = ++table_handle; + table->handle = ++nft_net->table_handle; if (table->flags & NFT_TABLE_F_OWNER) table->nlpid = NETLINK_CB(skb).portid; @@ -1704,7 +1716,7 @@ rcu_read_lock(); nft_net = nft_pernet(net); - cb->seq = nft_net->base_seq; + cb->seq = READ_ONCE(nft_net->base_seq); list_for_each_entry_rcu(table, &nft_net->tables, list) { if (family != NFPROTO_UNSPEC && family != table->family) @@ -2166,8 +2178,10 @@ chain->flags |= NFT_CHAIN_BASE | flags; basechain->policy = NF_ACCEPT; if (chain->flags & NFT_CHAIN_HW_OFFLOAD && - !nft_chain_offload_support(basechain)) + !nft_chain_offload_support(basechain)) { + list_splice_init(&basechain->hook_list, &hook->list); return -EOPNOTSUPP; + } flow_block_init(&basechain->flow_block); @@ -2197,7 +2211,6 @@ const struct nlattr * const *nla = ctx->nla; struct nft_table *table = ctx->table; struct nft_base_chain *basechain; - struct nft_stats __percpu *stats; struct net *net = ctx->net; char name[NFT_NAME_MAXLEN]; struct nft_rule_blob *blob; @@ -2210,6 +2223,7 @@ return -EOVERFLOW; if (nla[NFTA_CHAIN_HOOK]) { + struct nft_stats __percpu *stats = NULL; struct nft_chain_hook hook; if (flags & NFT_CHAIN_BINDING) @@ -2235,15 +2249,17 @@ return PTR_ERR(stats); } rcu_assign_pointer(basechain->stats, stats); - static_branch_inc(&nft_counters_enabled); } err = nft_basechain_init(basechain, family, &hook, flags); if (err < 0) { nft_chain_release_hook(&hook); kfree(basechain); + free_percpu(stats); return err; } + if (stats) + static_branch_inc(&nft_counters_enabled); } else { if (flags & NFT_CHAIN_BASE) return -EINVAL; @@ -2472,6 +2488,7 @@ } static struct nft_chain *nft_chain_lookup_byid(const struct net *net, + const struct nft_table *table, const struct nlattr *nla) { struct nftables_pernet *nft_net = nft_pernet(net); @@ -2482,6 +2499,7 @@ struct nft_chain *chain = trans->ctx.chain; if (trans->msg_type == NFT_MSG_NEWCHAIN && + chain->table == table && id == nft_trans_chain_id(trans)) return chain; } @@ -2571,6 +2589,9 @@ nft_ctx_init(&ctx, net, skb, info->nlh, family, table, chain, nla); if (chain != NULL) { + if (chain->flags & NFT_CHAIN_BINDING) + return -EINVAL; + if (info->nlh->nlmsg_flags & NLM_F_EXCL) { NL_SET_BAD_ATTR(extack, attr); return -EEXIST; @@ -3146,7 +3167,7 @@ rcu_read_lock(); nft_net = nft_pernet(net); - cb->seq = nft_net->base_seq; + cb->seq = READ_ONCE(nft_net->base_seq); list_for_each_entry_rcu(table, &nft_net->tables, list) { if (family != NFPROTO_UNSPEC && family != table->family) @@ -3371,6 +3392,7 @@ } static struct nft_rule *nft_rule_lookup_byid(const struct net *net, + const struct nft_chain *chain, const struct nlattr *nla); #define NFT_RULE_MAXEXPRS 128 @@ -3417,7 +3439,7 @@ return -EOPNOTSUPP; } else if (nla[NFTA_RULE_CHAIN_ID]) { - chain = nft_chain_lookup_byid(net, nla[NFTA_RULE_CHAIN_ID]); + chain = nft_chain_lookup_byid(net, table, nla[NFTA_RULE_CHAIN_ID]); if (IS_ERR(chain)) { NL_SET_BAD_ATTR(extack, nla[NFTA_RULE_CHAIN_ID]); return PTR_ERR(chain); @@ -3459,7 +3481,7 @@ return PTR_ERR(old_rule); } } else if (nla[NFTA_RULE_POSITION_ID]) { - old_rule = nft_rule_lookup_byid(net, nla[NFTA_RULE_POSITION_ID]); + old_rule = nft_rule_lookup_byid(net, chain, nla[NFTA_RULE_POSITION_ID]); if (IS_ERR(old_rule)) { NL_SET_BAD_ATTR(extack, nla[NFTA_RULE_POSITION_ID]); return PTR_ERR(old_rule); @@ -3604,6 +3626,7 @@ } static struct nft_rule *nft_rule_lookup_byid(const struct net *net, + const struct nft_chain *chain, const struct nlattr *nla) { struct nftables_pernet *nft_net = nft_pernet(net); @@ -3614,6 +3637,7 @@ struct nft_rule *rule = nft_trans_rule(trans); if (trans->msg_type == NFT_MSG_NEWRULE && + trans->ctx.chain == chain && id == nft_trans_rule_id(trans)) return rule; } @@ -3663,7 +3687,7 @@ err = nft_delrule(&ctx, rule); } else if (nla[NFTA_RULE_ID]) { - rule = nft_rule_lookup_byid(net, nla[NFTA_RULE_ID]); + rule = nft_rule_lookup_byid(net, chain, nla[NFTA_RULE_ID]); if (IS_ERR(rule)) { NL_SET_BAD_ATTR(extack, nla[NFTA_RULE_ID]); return PTR_ERR(rule); @@ -3720,8 +3744,7 @@ static const struct nft_set_ops * nft_select_set_ops(const struct nft_ctx *ctx, const struct nlattr * const nla[], - const struct nft_set_desc *desc, - enum nft_set_policies policy) + const struct nft_set_desc *desc) { struct nftables_pernet *nft_net = nft_pernet(ctx->net); const struct nft_set_ops *ops, *bops; @@ -3750,7 +3773,7 @@ if (!ops->estimate(desc, flags, &est)) continue; - switch (policy) { + switch (desc->policy) { case NFT_SET_POL_PERFORMANCE: if (est.lookup < best.lookup) break; @@ -3842,6 +3865,7 @@ } static struct nft_set *nft_set_lookup_byid(const struct net *net, + const struct nft_table *table, const struct nlattr *nla, u8 genmask) { struct nftables_pernet *nft_net = nft_pernet(net); @@ -3853,6 +3877,7 @@ struct nft_set *set = nft_trans_set(trans); if (id == nft_trans_set_id(trans) && + set->table == table && nft_active_genmask(set, genmask)) return set; } @@ -3873,7 +3898,7 @@ if (!nla_set_id) return set; - set = nft_set_lookup_byid(net, nla_set_id, genmask); + set = nft_set_lookup_byid(net, table, nla_set_id, genmask); } return set; } @@ -3899,7 +3924,7 @@ list_for_each_entry(i, &ctx->table->sets, list) { int tmp; - if (!nft_is_active_next(ctx->net, set)) + if (!nft_is_active_next(ctx->net, i)) continue; if (!sscanf(i->name, name, &tmp)) continue; @@ -3983,8 +4008,10 @@ static int nf_tables_fill_set(struct sk_buff *skb, const struct nft_ctx *ctx, const struct nft_set *set, u16 event, u16 flags) { - struct nlmsghdr *nlh; + u64 timeout = READ_ONCE(set->timeout); + u32 gc_int = READ_ONCE(set->gc_int); u32 portid = ctx->portid; + struct nlmsghdr *nlh; struct nlattr *nest; u32 seq = ctx->seq; int i; @@ -4020,13 +4047,13 @@ nla_put_be32(skb, NFTA_SET_OBJ_TYPE, htonl(set->objtype))) goto nla_put_failure; - if (set->timeout && + if (timeout && nla_put_be64(skb, NFTA_SET_TIMEOUT, - nf_jiffies64_to_msecs(set->timeout), + nf_jiffies64_to_msecs(timeout), NFTA_SET_PAD)) goto nla_put_failure; - if (set->gc_int && - nla_put_be32(skb, NFTA_SET_GC_INTERVAL, htonl(set->gc_int))) + if (gc_int && + nla_put_be32(skb, NFTA_SET_GC_INTERVAL, htonl(gc_int))) goto nla_put_failure; if (set->policy != NFT_SET_POL_PERFORMANCE) { @@ -4125,7 +4152,7 @@ rcu_read_lock(); nft_net = nft_pernet(net); - cb->seq = nft_net->base_seq; + cb->seq = READ_ONCE(nft_net->base_seq); list_for_each_entry_rcu(table, &nft_net->tables, list) { if (ctx->family != NFPROTO_UNSPEC && @@ -4327,15 +4354,94 @@ return err; } +static int nft_set_expr_alloc(struct nft_ctx *ctx, struct nft_set *set, + const struct nlattr * const *nla, + struct nft_expr **exprs, int *num_exprs, + u32 flags) +{ + struct nft_expr *expr; + int err, i; + + if (nla[NFTA_SET_EXPR]) { + expr = nft_set_elem_expr_alloc(ctx, set, nla[NFTA_SET_EXPR]); + if (IS_ERR(expr)) { + err = PTR_ERR(expr); + goto err_set_expr_alloc; + } + exprs[0] = expr; + (*num_exprs)++; + } else if (nla[NFTA_SET_EXPRESSIONS]) { + struct nlattr *tmp; + int left; + + if (!(flags & NFT_SET_EXPR)) { + err = -EINVAL; + goto err_set_expr_alloc; + } + i = 0; + nla_for_each_nested(tmp, nla[NFTA_SET_EXPRESSIONS], left) { + if (i == NFT_SET_EXPR_MAX) { + err = -E2BIG; + goto err_set_expr_alloc; + } + if (nla_type(tmp) != NFTA_LIST_ELEM) { + err = -EINVAL; + goto err_set_expr_alloc; + } + expr = nft_set_elem_expr_alloc(ctx, set, tmp); + if (IS_ERR(expr)) { + err = PTR_ERR(expr); + goto err_set_expr_alloc; + } + exprs[i++] = expr; + (*num_exprs)++; + } + } + + return 0; + +err_set_expr_alloc: + for (i = 0; i < *num_exprs; i++) + nft_expr_destroy(ctx, exprs[i]); + + return err; +} + +static bool nft_set_is_same(const struct nft_set *set, + const struct nft_set_desc *desc, + struct nft_expr *exprs[], u32 num_exprs, u32 flags) +{ + int i; + + if (set->ktype != desc->ktype || + set->dtype != desc->dtype || + set->flags != flags || + set->klen != desc->klen || + set->dlen != desc->dlen || + set->field_count != desc->field_count || + set->num_exprs != num_exprs) + return false; + + for (i = 0; i < desc->field_count; i++) { + if (set->field_len[i] != desc->field_len[i]) + return false; + } + + for (i = 0; i < num_exprs; i++) { + if (set->exprs[i]->ops != exprs[i]->ops) + return false; + } + + return true; +} + static int nf_tables_newset(struct sk_buff *skb, const struct nfnl_info *info, const struct nlattr * const nla[]) { - u32 ktype, dtype, flags, policy, gc_int, objtype; struct netlink_ext_ack *extack = info->extack; u8 genmask = nft_genmask_next(info->net); u8 family = info->nfmsg->nfgen_family; const struct nft_set_ops *ops; - struct nft_expr *expr = NULL; struct net *net = info->net; struct nft_set_desc desc; struct nft_table *table; @@ -4343,10 +4449,11 @@ struct nft_set *set; struct nft_ctx ctx; size_t alloc_size; - u64 timeout; + int num_exprs = 0; char *name; int err, i; u16 udlen; + u32 flags; u64 size; if (nla[NFTA_SET_TABLE] == NULL || @@ -4357,10 +4464,10 @@ memset(&desc, 0, sizeof(desc)); - ktype = NFT_DATA_VALUE; + desc.ktype = NFT_DATA_VALUE; if (nla[NFTA_SET_KEY_TYPE] != NULL) { - ktype = ntohl(nla_get_be32(nla[NFTA_SET_KEY_TYPE])); - if ((ktype & NFT_DATA_RESERVED_MASK) == NFT_DATA_RESERVED_MASK) + desc.ktype = ntohl(nla_get_be32(nla[NFTA_SET_KEY_TYPE])); + if ((desc.ktype & NFT_DATA_RESERVED_MASK) == NFT_DATA_RESERVED_MASK) return -EINVAL; } @@ -4385,17 +4492,17 @@ return -EOPNOTSUPP; } - dtype = 0; + desc.dtype = 0; if (nla[NFTA_SET_DATA_TYPE] != NULL) { if (!(flags & NFT_SET_MAP)) return -EINVAL; - dtype = ntohl(nla_get_be32(nla[NFTA_SET_DATA_TYPE])); - if ((dtype & NFT_DATA_RESERVED_MASK) == NFT_DATA_RESERVED_MASK && - dtype != NFT_DATA_VERDICT) + desc.dtype = ntohl(nla_get_be32(nla[NFTA_SET_DATA_TYPE])); + if ((desc.dtype & NFT_DATA_RESERVED_MASK) == NFT_DATA_RESERVED_MASK && + desc.dtype != NFT_DATA_VERDICT) return -EINVAL; - if (dtype != NFT_DATA_VERDICT) { + if (desc.dtype != NFT_DATA_VERDICT) { if (nla[NFTA_SET_DATA_LEN] == NULL) return -EINVAL; desc.dlen = ntohl(nla_get_be32(nla[NFTA_SET_DATA_LEN])); @@ -4410,39 +4517,44 @@ if (!(flags & NFT_SET_OBJECT)) return -EINVAL; - objtype = ntohl(nla_get_be32(nla[NFTA_SET_OBJ_TYPE])); - if (objtype == NFT_OBJECT_UNSPEC || - objtype > NFT_OBJECT_MAX) + desc.objtype = ntohl(nla_get_be32(nla[NFTA_SET_OBJ_TYPE])); + if (desc.objtype == NFT_OBJECT_UNSPEC || + desc.objtype > NFT_OBJECT_MAX) return -EOPNOTSUPP; } else if (flags & NFT_SET_OBJECT) return -EINVAL; else - objtype = NFT_OBJECT_UNSPEC; + desc.objtype = NFT_OBJECT_UNSPEC; - timeout = 0; + desc.timeout = 0; if (nla[NFTA_SET_TIMEOUT] != NULL) { if (!(flags & NFT_SET_TIMEOUT)) return -EINVAL; - err = nf_msecs_to_jiffies64(nla[NFTA_SET_TIMEOUT], &timeout); + err = nf_msecs_to_jiffies64(nla[NFTA_SET_TIMEOUT], &desc.timeout); if (err) return err; } - gc_int = 0; + desc.gc_int = 0; if (nla[NFTA_SET_GC_INTERVAL] != NULL) { if (!(flags & NFT_SET_TIMEOUT)) return -EINVAL; - gc_int = ntohl(nla_get_be32(nla[NFTA_SET_GC_INTERVAL])); + desc.gc_int = ntohl(nla_get_be32(nla[NFTA_SET_GC_INTERVAL])); } - policy = NFT_SET_POL_PERFORMANCE; + desc.policy = NFT_SET_POL_PERFORMANCE; if (nla[NFTA_SET_POLICY] != NULL) - policy = ntohl(nla_get_be32(nla[NFTA_SET_POLICY])); + desc.policy = ntohl(nla_get_be32(nla[NFTA_SET_POLICY])); if (nla[NFTA_SET_DESC] != NULL) { err = nf_tables_set_desc_parse(&desc, nla[NFTA_SET_DESC]); if (err < 0) return err; + + if (desc.field_count > 1 && !(flags & NFT_SET_CONCAT)) + return -EINVAL; + } else if (flags & NFT_SET_CONCAT) { + return -EINVAL; } if (nla[NFTA_SET_EXPR] || nla[NFTA_SET_EXPRESSIONS]) @@ -4464,6 +4576,8 @@ return PTR_ERR(set); } } else { + struct nft_expr *exprs[NFT_SET_EXPR_MAX] = {}; + if (info->nlh->nlmsg_flags & NLM_F_EXCL) { NL_SET_BAD_ATTR(extack, nla[NFTA_SET_NAME]); return -EEXIST; @@ -4471,13 +4585,29 @@ if (info->nlh->nlmsg_flags & NLM_F_REPLACE) return -EOPNOTSUPP; - return 0; + err = nft_set_expr_alloc(&ctx, set, nla, exprs, &num_exprs, flags); + if (err < 0) + return err; + + err = 0; + if (!nft_set_is_same(set, &desc, exprs, num_exprs, flags)) { + NL_SET_BAD_ATTR(extack, nla[NFTA_SET_NAME]); + err = -EEXIST; + } + + for (i = 0; i < num_exprs; i++) + nft_expr_destroy(&ctx, exprs[i]); + + if (err < 0) + return err; + + return __nft_trans_set_add(&ctx, NFT_MSG_NEWSET, set, &desc); } if (!(info->nlh->nlmsg_flags & NLM_F_CREATE)) return -ENOENT; - ops = nft_select_set_ops(&ctx, nla, &desc, policy); + ops = nft_select_set_ops(&ctx, nla, &desc); if (IS_ERR(ops)) return PTR_ERR(ops); @@ -4517,18 +4647,18 @@ set->table = table; write_pnet(&set->net, net); set->ops = ops; - set->ktype = ktype; + set->ktype = desc.ktype; set->klen = desc.klen; - set->dtype = dtype; - set->objtype = objtype; + set->dtype = desc.dtype; + set->objtype = desc.objtype; set->dlen = desc.dlen; set->flags = flags; set->size = desc.size; - set->policy = policy; + set->policy = desc.policy; set->udlen = udlen; set->udata = udata; - set->timeout = timeout; - set->gc_int = gc_int; + set->timeout = desc.timeout; + set->gc_int = desc.gc_int; set->field_count = desc.field_count; for (i = 0; i < desc.field_count; i++) @@ -4538,43 +4668,11 @@ if (err < 0) goto err_set_init; - if (nla[NFTA_SET_EXPR]) { - expr = nft_set_elem_expr_alloc(&ctx, set, nla[NFTA_SET_EXPR]); - if (IS_ERR(expr)) { - err = PTR_ERR(expr); - goto err_set_expr_alloc; - } - set->exprs[0] = expr; - set->num_exprs++; - } else if (nla[NFTA_SET_EXPRESSIONS]) { - struct nft_expr *expr; - struct nlattr *tmp; - int left; - - if (!(flags & NFT_SET_EXPR)) { - err = -EINVAL; - goto err_set_expr_alloc; - } - i = 0; - nla_for_each_nested(tmp, nla[NFTA_SET_EXPRESSIONS], left) { - if (i == NFT_SET_EXPR_MAX) { - err = -E2BIG; - goto err_set_expr_alloc; - } - if (nla_type(tmp) != NFTA_LIST_ELEM) { - err = -EINVAL; - goto err_set_expr_alloc; - } - expr = nft_set_elem_expr_alloc(&ctx, set, tmp); - if (IS_ERR(expr)) { - err = PTR_ERR(expr); - goto err_set_expr_alloc; - } - set->exprs[i++] = expr; - set->num_exprs++; - } - } + err = nft_set_expr_alloc(&ctx, set, nla, set->exprs, &num_exprs, flags); + if (err < 0) + goto err_set_destroy; + set->num_exprs = num_exprs; set->handle = nf_tables_alloc_handle(table); err = nft_trans_set_add(&ctx, NFT_MSG_NEWSET, set); @@ -4588,7 +4686,7 @@ err_set_expr_alloc: for (i = 0; i < set->num_exprs; i++) nft_expr_destroy(&ctx, set->exprs[i]); - +err_set_destroy: ops->destroy(set); err_set_init: kfree(set->name); @@ -4786,12 +4884,24 @@ } } +void nf_tables_activate_set(const struct nft_ctx *ctx, struct nft_set *set) +{ + if (nft_set_is_anonymous(set)) + nft_clear(ctx->net, set); + + set->use++; +} +EXPORT_SYMBOL_GPL(nf_tables_activate_set); + void nf_tables_deactivate_set(const struct nft_ctx *ctx, struct nft_set *set, struct nft_set_binding *binding, enum nft_trans_phase phase) { switch (phase) { case NFT_TRANS_PREPARE: + if (nft_set_is_anonymous(set)) + nft_deactivate_next(ctx->net, set); + set->use--; return; case NFT_TRANS_ABORT: @@ -5053,6 +5163,8 @@ rcu_read_lock(); nft_net = nft_pernet(net); + cb->seq = READ_ONCE(nft_net->base_seq); + list_for_each_entry_rcu(table, &nft_net->tables, list) { if (dump_ctx->ctx.family != NFPROTO_UNSPEC && dump_ctx->ctx.family != table->family) @@ -5188,6 +5300,9 @@ if (!(set->flags & NFT_SET_INTERVAL) && *flags & NFT_SET_ELEM_INTERVAL_END) return -EINVAL; + if ((*flags & (NFT_SET_ELEM_INTERVAL_END | NFT_SET_ELEM_CATCHALL)) == + (NFT_SET_ELEM_INTERVAL_END | NFT_SET_ELEM_CATCHALL)) + return -EINVAL; return 0; } @@ -5195,19 +5310,13 @@ static int nft_setelem_parse_key(struct nft_ctx *ctx, struct nft_set *set, struct nft_data *key, struct nlattr *attr) { - struct nft_data_desc desc; - int err; - - err = nft_data_init(ctx, key, NFT_DATA_VALUE_MAXLEN, &desc, attr); - if (err < 0) - return err; - - if (desc.type != NFT_DATA_VALUE || desc.len != set->klen) { - nft_data_release(key, desc.type); - return -EINVAL; - } + struct nft_data_desc desc = { + .type = NFT_DATA_VALUE, + .size = NFT_DATA_VALUE_MAXLEN, + .len = set->klen, + }; - return 0; + return nft_data_init(ctx, key, &desc, attr); } static int nft_setelem_parse_data(struct nft_ctx *ctx, struct nft_set *set, @@ -5216,24 +5325,18 @@ struct nlattr *attr) { u32 dtype; - int err; - - err = nft_data_init(ctx, data, NFT_DATA_VALUE_MAXLEN, desc, attr); - if (err < 0) - return err; if (set->dtype == NFT_DATA_VERDICT) dtype = NFT_DATA_VERDICT; else dtype = NFT_DATA_VALUE; - if (dtype != desc->type || - set->dlen != desc->len) { - nft_data_release(data, desc->type); - return -EINVAL; - } + desc->type = dtype; + desc->size = NFT_DATA_VALUE_MAXLEN; + desc->len = set->dlen; + desc->flags = NFT_DATA_DESC_SETELEM; - return 0; + return nft_data_init(ctx, data, desc, attr); } static void *nft_setelem_catchall_get(const struct net *net, @@ -5568,7 +5671,7 @@ err = nft_expr_clone(expr, set->exprs[i]); if (err < 0) { - nft_expr_destroy(ctx, expr); + kfree(expr); goto err_expr; } expr_array[i] = expr; @@ -5800,6 +5903,25 @@ set->ops->remove(net, set, elem); } +static bool nft_setelem_valid_key_end(const struct nft_set *set, + struct nlattr **nla, u32 flags) +{ + if ((set->flags & (NFT_SET_CONCAT | NFT_SET_INTERVAL)) == + (NFT_SET_CONCAT | NFT_SET_INTERVAL)) { + if (flags & NFT_SET_ELEM_INTERVAL_END) + return false; + + if (nla[NFTA_SET_ELEM_KEY_END] && + flags & NFT_SET_ELEM_CATCHALL) + return false; + } else { + if (nla[NFTA_SET_ELEM_KEY_END]) + return false; + } + + return true; +} + static int nft_add_set_elem(struct nft_ctx *ctx, struct nft_set *set, const struct nlattr *attr, u32 nlmsg_flags) { @@ -5850,6 +5972,18 @@ return -EINVAL; } + if (set->flags & NFT_SET_OBJECT) { + if (!nla[NFTA_SET_ELEM_OBJREF] && + !(flags & NFT_SET_ELEM_INTERVAL_END)) + return -EINVAL; + } else { + if (nla[NFTA_SET_ELEM_OBJREF]) + return -EINVAL; + } + + if (!nft_setelem_valid_key_end(set, nla, flags)) + return -EINVAL; + if ((flags & NFT_SET_ELEM_INTERVAL_END) && (nla[NFTA_SET_ELEM_DATA] || nla[NFTA_SET_ELEM_OBJREF] || @@ -5857,6 +5991,7 @@ nla[NFTA_SET_ELEM_EXPIRATION] || nla[NFTA_SET_ELEM_USERDATA] || nla[NFTA_SET_ELEM_EXPR] || + nla[NFTA_SET_ELEM_KEY_END] || nla[NFTA_SET_ELEM_EXPRESSIONS])) return -EINVAL; @@ -5868,8 +6003,9 @@ &timeout); if (err) return err; - } else if (set->flags & NFT_SET_TIMEOUT) { - timeout = set->timeout; + } else if (set->flags & NFT_SET_TIMEOUT && + !(flags & NFT_SET_ELEM_INTERVAL_END)) { + timeout = READ_ONCE(set->timeout); } expiration = 0; @@ -5934,7 +6070,8 @@ err = -EOPNOTSUPP; goto err_set_elem_expr; } - } else if (set->num_exprs > 0) { + } else if (set->num_exprs > 0 && + !(flags & NFT_SET_ELEM_INTERVAL_END)) { err = nft_set_elem_expr_clone(ctx, set, expr_array); if (err < 0) goto err_set_elem_expr_clone; @@ -5969,7 +6106,7 @@ if (err < 0) goto err_parse_key_end; - if (timeout != set->timeout) { + if (timeout != READ_ONCE(set->timeout)) { err = nft_set_ext_add(&tmpl, NFT_SET_EXT_TIMEOUT); if (err < 0) goto err_parse_key_end; @@ -5987,10 +6124,6 @@ } if (nla[NFTA_SET_ELEM_OBJREF] != NULL) { - if (!(set->flags & NFT_SET_OBJECT)) { - err = -EINVAL; - goto err_parse_key_end; - } obj = nft_obj_lookup(ctx->net, ctx->table, nla[NFTA_SET_ELEM_OBJREF], set->objtype, genmask); @@ -6277,6 +6410,9 @@ if (!nla[NFTA_SET_ELEM_KEY] && !(flags & NFT_SET_ELEM_CATCHALL)) return -EINVAL; + if (!nft_setelem_valid_key_end(set, nla, flags)) + return -EINVAL; + nft_set_ext_prepare(&tmpl); if (flags != 0) { @@ -6773,6 +6909,9 @@ return -EOPNOTSUPP; type = __nft_obj_type_get(objtype); + if (WARN_ON_ONCE(!type)) + return -ENOENT; + nft_ctx_init(&ctx, net, skb, info->nlh, family, table, NULL, nla); return nf_tables_updobj(&ctx, type, nla[NFTA_OBJ_DATA], obj); @@ -6891,7 +7030,7 @@ rcu_read_lock(); nft_net = nft_pernet(net); - cb->seq = nft_net->base_seq; + cb->seq = READ_ONCE(nft_net->base_seq); list_for_each_entry_rcu(table, &nft_net->tables, list) { if (family != NFPROTO_UNSPEC && family != table->family) @@ -7823,7 +7962,7 @@ rcu_read_lock(); nft_net = nft_pernet(net); - cb->seq = nft_net->base_seq; + cb->seq = READ_ONCE(nft_net->base_seq); list_for_each_entry_rcu(table, &nft_net->tables, list) { if (family != NFPROTO_UNSPEC && family != table->family) @@ -8368,9 +8507,6 @@ nf_tables_chain_destroy(&trans->ctx); break; case NFT_MSG_DELRULE: - if (trans->ctx.chain->flags & NFT_CHAIN_HW_OFFLOAD) - nft_flow_rule_destroy(nft_trans_flow_rule(trans)); - nf_tables_rule_destroy(&trans->ctx, nft_trans_rule(trans)); break; case NFT_MSG_DELSET: @@ -8756,6 +8892,7 @@ struct nft_trans_elem *te; struct nft_chain *chain; struct nft_table *table; + unsigned int base_seq; LIST_HEAD(adl); int err; @@ -8805,9 +8942,12 @@ * Bump generation counter, invalidate any dump in progress. * Cannot fail after this point. */ - while (++nft_net->base_seq == 0) + base_seq = READ_ONCE(nft_net->base_seq); + while (++base_seq == 0) ; + WRITE_ONCE(nft_net->base_seq, base_seq); + /* step 3. Start new generation, rules_gen_X now in use. */ net->nft.gencursor = nft_gencursor_next(net); @@ -8872,16 +9012,25 @@ nft_rule_expr_deactivate(&trans->ctx, nft_trans_rule(trans), NFT_TRANS_COMMIT); + + if (trans->ctx.chain->flags & NFT_CHAIN_HW_OFFLOAD) + nft_flow_rule_destroy(nft_trans_flow_rule(trans)); break; case NFT_MSG_NEWSET: - nft_clear(net, nft_trans_set(trans)); - /* This avoids hitting -EBUSY when deleting the table - * from the transaction. - */ - if (nft_set_is_anonymous(nft_trans_set(trans)) && - !list_empty(&nft_trans_set(trans)->bindings)) - trans->ctx.table->use--; + if (nft_trans_set_update(trans)) { + struct nft_set *set = nft_trans_set(trans); + WRITE_ONCE(set->timeout, nft_trans_set_timeout(trans)); + WRITE_ONCE(set->gc_int, nft_trans_set_gc_int(trans)); + } else { + nft_clear(net, nft_trans_set(trans)); + /* This avoids hitting -EBUSY when deleting the table + * from the transaction. + */ + if (nft_set_is_anonymous(nft_trans_set(trans)) && + !list_empty(&nft_trans_set(trans)->bindings)) + trans->ctx.table->use--; + } nf_tables_set_notify(&trans->ctx, nft_trans_set(trans), NFT_MSG_NEWSET, GFP_KERNEL); nft_trans_destroy(trans); @@ -9103,6 +9252,10 @@ nft_trans_destroy(trans); break; case NFT_MSG_NEWSET: + if (nft_trans_set_update(trans)) { + nft_trans_destroy(trans); + break; + } trans->ctx.table->use--; if (nft_trans_set_bound(trans)) { nft_trans_destroy(trans); @@ -9369,13 +9522,9 @@ break; } } - - cond_resched(); } list_for_each_entry(set, &ctx->table->sets, list) { - cond_resched(); - if (!nft_is_active_next(ctx->net, set)) continue; if (!(set->flags & NFT_SET_MAP) || @@ -9605,7 +9754,7 @@ tb[NFTA_VERDICT_CHAIN], genmask); } else if (tb[NFTA_VERDICT_CHAIN_ID]) { - chain = nft_chain_lookup_byid(ctx->net, + chain = nft_chain_lookup_byid(ctx->net, ctx->table, tb[NFTA_VERDICT_CHAIN_ID]); if (IS_ERR(chain)) return PTR_ERR(chain); @@ -9617,6 +9766,11 @@ return PTR_ERR(chain); if (nft_is_base_chain(chain)) return -EOPNOTSUPP; + if (nft_chain_is_bound(chain)) + return -EINVAL; + if (desc->flags & NFT_DATA_DESC_SETELEM && + chain->flags & NFT_CHAIN_BINDING) + return -EINVAL; chain->use++; data->verdict.chain = chain; @@ -9624,7 +9778,7 @@ } desc->len = sizeof(data->verdict); - desc->type = NFT_DATA_VERDICT; + return 0; } @@ -9677,20 +9831,25 @@ } static int nft_value_init(const struct nft_ctx *ctx, - struct nft_data *data, unsigned int size, - struct nft_data_desc *desc, const struct nlattr *nla) + struct nft_data *data, struct nft_data_desc *desc, + const struct nlattr *nla) { unsigned int len; len = nla_len(nla); if (len == 0) return -EINVAL; - if (len > size) + if (len > desc->size) return -EOVERFLOW; + if (desc->len) { + if (len != desc->len) + return -EINVAL; + } else { + desc->len = len; + } nla_memcpy(data->data, nla, len); - desc->type = NFT_DATA_VALUE; - desc->len = len; + return 0; } @@ -9710,7 +9869,6 @@ * * @ctx: context of the expression using the data * @data: destination struct nft_data - * @size: maximum data length * @desc: data description * @nla: netlink attribute containing data * @@ -9720,24 +9878,35 @@ * The caller can indicate that it only wants to accept data of type * NFT_DATA_VALUE by passing NULL for the ctx argument. */ -int nft_data_init(const struct nft_ctx *ctx, - struct nft_data *data, unsigned int size, +int nft_data_init(const struct nft_ctx *ctx, struct nft_data *data, struct nft_data_desc *desc, const struct nlattr *nla) { struct nlattr *tb[NFTA_DATA_MAX + 1]; int err; + if (WARN_ON_ONCE(!desc->size)) + return -EINVAL; + err = nla_parse_nested_deprecated(tb, NFTA_DATA_MAX, nla, nft_data_policy, NULL); if (err < 0) return err; - if (tb[NFTA_DATA_VALUE]) - return nft_value_init(ctx, data, size, desc, - tb[NFTA_DATA_VALUE]); - if (tb[NFTA_DATA_VERDICT] && ctx != NULL) - return nft_verdict_init(ctx, data, desc, tb[NFTA_DATA_VERDICT]); - return -EINVAL; + if (tb[NFTA_DATA_VALUE]) { + if (desc->type != NFT_DATA_VALUE) + return -EINVAL; + + err = nft_value_init(ctx, data, desc, tb[NFTA_DATA_VALUE]); + } else if (tb[NFTA_DATA_VERDICT] && ctx != NULL) { + if (desc->type != NFT_DATA_VERDICT) + return -EINVAL; + + err = nft_verdict_init(ctx, data, desc, tb[NFTA_DATA_VERDICT]); + } else { + err = -EINVAL; + } + + return err; } EXPORT_SYMBOL_GPL(nft_data_init); @@ -9913,6 +10082,8 @@ nft_net = nft_pernet(net); deleted = 0; mutex_lock(&nft_net->commit_mutex); + if (!list_empty(&nf_tables_destroy_list)) + rcu_barrier(); again: list_for_each_entry(table, &nft_net->tables, list) { if (nft_table_has_owner(table) && @@ -9971,7 +10142,8 @@ struct nftables_pernet *nft_net = nft_pernet(net); mutex_lock(&nft_net->commit_mutex); - if (!list_empty(&nft_net->commit_list)) + if (!list_empty(&nft_net->commit_list) || + !list_empty(&nft_net->module_list)) __nf_tables_abort(net, NFNL_ABORT_NONE); __nft_release_tables(net); mutex_unlock(&nft_net->commit_mutex); --- linux-gcp-5.19.0.orig/net/netfilter/nf_tables_core.c +++ linux-gcp-5.19.0/net/netfilter/nf_tables_core.c @@ -34,25 +34,23 @@ nft_trace_notify(info); } -static inline void nft_trace_packet(struct nft_traceinfo *info, +static inline void nft_trace_packet(const struct nft_pktinfo *pkt, + struct nft_traceinfo *info, const struct nft_chain *chain, const struct nft_rule_dp *rule, enum nft_trace_types type) { if (static_branch_unlikely(&nft_trace_enabled)) { - const struct nft_pktinfo *pkt = info->pkt; - info->nf_trace = pkt->skb->nf_trace; info->rule = rule; __nft_trace_packet(info, chain, type); } } -static inline void nft_trace_copy_nftrace(struct nft_traceinfo *info) +static inline void nft_trace_copy_nftrace(const struct nft_pktinfo *pkt, + struct nft_traceinfo *info) { if (static_branch_unlikely(&nft_trace_enabled)) { - const struct nft_pktinfo *pkt = info->pkt; - if (info->trace) info->nf_trace = pkt->skb->nf_trace; } @@ -96,7 +94,6 @@ const struct nft_chain *chain, const struct nft_regs *regs) { - const struct nft_pktinfo *pkt = info->pkt; enum nft_trace_types type; switch (regs->verdict.code) { @@ -110,7 +107,9 @@ break; default: type = NFT_TRACETYPE_RULE; - info->nf_trace = pkt->skb->nf_trace; + + if (info->trace) + info->nf_trace = info->pkt->skb->nf_trace; break; } @@ -271,10 +270,10 @@ switch (regs.verdict.code) { case NFT_BREAK: regs.verdict.code = NFT_CONTINUE; - nft_trace_copy_nftrace(&info); + nft_trace_copy_nftrace(pkt, &info); continue; case NFT_CONTINUE: - nft_trace_packet(&info, chain, rule, + nft_trace_packet(pkt, &info, chain, rule, NFT_TRACETYPE_RULE); continue; } @@ -318,7 +317,7 @@ goto next_rule; } - nft_trace_packet(&info, basechain, NULL, NFT_TRACETYPE_POLICY); + nft_trace_packet(pkt, &info, basechain, NULL, NFT_TRACETYPE_POLICY); if (static_branch_unlikely(&nft_counters_enabled)) nft_update_chain_stats(basechain, pkt); --- linux-gcp-5.19.0.orig/net/netfilter/nfnetlink.c +++ linux-gcp-5.19.0/net/netfilter/nfnetlink.c @@ -44,6 +44,10 @@ static unsigned int nfnetlink_pernet_id __read_mostly; +#ifdef CONFIG_NF_CONNTRACK_EVENTS +static DEFINE_SPINLOCK(nfnl_grp_active_lock); +#endif + struct nfnl_net { struct sock *nfnl; }; @@ -290,6 +294,7 @@ nfnl_lock(subsys_id); if (nfnl_dereference_protected(subsys_id) != ss || nfnetlink_find_client(type, ss) != nc) { + nfnl_unlock(subsys_id); err = -EAGAIN; break; } @@ -654,6 +659,44 @@ netlink_rcv_skb(skb, nfnetlink_rcv_msg); } +static void nfnetlink_bind_event(struct net *net, unsigned int group) +{ +#ifdef CONFIG_NF_CONNTRACK_EVENTS + int type, group_bit; + u8 v; + + /* All NFNLGRP_CONNTRACK_* group bits fit into u8. + * The other groups are not relevant and can be ignored. + */ + if (group >= 8) + return; + + type = nfnl_group2type[group]; + + switch (type) { + case NFNL_SUBSYS_CTNETLINK: + break; + case NFNL_SUBSYS_CTNETLINK_EXP: + break; + default: + return; + } + + group_bit = (1 << group); + + spin_lock(&nfnl_grp_active_lock); + v = READ_ONCE(net->ct.ctnetlink_has_listener); + if ((v & group_bit) == 0) { + v |= group_bit; + + /* read concurrently without nfnl_grp_active_lock held. */ + WRITE_ONCE(net->ct.ctnetlink_has_listener, v); + } + + spin_unlock(&nfnl_grp_active_lock); +#endif +} + static int nfnetlink_bind(struct net *net, int group) { const struct nfnetlink_subsystem *ss; @@ -670,28 +713,45 @@ if (!ss) request_module_nowait("nfnetlink-subsys-%d", type); -#ifdef CONFIG_NF_CONNTRACK_EVENTS - if (type == NFNL_SUBSYS_CTNETLINK) { - nfnl_lock(NFNL_SUBSYS_CTNETLINK); - WRITE_ONCE(net->ct.ctnetlink_has_listener, true); - nfnl_unlock(NFNL_SUBSYS_CTNETLINK); - } -#endif + nfnetlink_bind_event(net, group); return 0; } static void nfnetlink_unbind(struct net *net, int group) { #ifdef CONFIG_NF_CONNTRACK_EVENTS + int type, group_bit; + if (group <= NFNLGRP_NONE || group > NFNLGRP_MAX) return; - if (nfnl_group2type[group] == NFNL_SUBSYS_CTNETLINK) { - nfnl_lock(NFNL_SUBSYS_CTNETLINK); - if (!nfnetlink_has_listeners(net, group)) - WRITE_ONCE(net->ct.ctnetlink_has_listener, false); - nfnl_unlock(NFNL_SUBSYS_CTNETLINK); + type = nfnl_group2type[group]; + + switch (type) { + case NFNL_SUBSYS_CTNETLINK: + break; + case NFNL_SUBSYS_CTNETLINK_EXP: + break; + default: + return; + } + + /* ctnetlink_has_listener is u8 */ + if (group >= 8) + return; + + group_bit = (1 << group); + + spin_lock(&nfnl_grp_active_lock); + if (!nfnetlink_has_listeners(net, group)) { + u8 v = READ_ONCE(net->ct.ctnetlink_has_listener); + + v &= ~group_bit; + + /* read concurrently without nfnl_grp_active_lock held. */ + WRITE_ONCE(net->ct.ctnetlink_has_listener, v); } + spin_unlock(&nfnl_grp_active_lock); #endif } --- linux-gcp-5.19.0.orig/net/netfilter/nfnetlink_osf.c +++ linux-gcp-5.19.0/net/netfilter/nfnetlink_osf.c @@ -269,6 +269,7 @@ struct nf_osf_hdr_ctx ctx; const struct tcphdr *tcp; struct tcphdr _tcph; + bool found = false; memset(&ctx, 0, sizeof(ctx)); @@ -283,10 +284,11 @@ data->genre = f->genre; data->version = f->version; + found = true; break; } - return true; + return found; } EXPORT_SYMBOL_GPL(nf_osf_find); --- linux-gcp-5.19.0.orig/net/netfilter/nfnetlink_queue.c +++ linux-gcp-5.19.0/net/netfilter/nfnetlink_queue.c @@ -301,21 +301,27 @@ return -1; } -static u32 nfqnl_get_sk_secctx(struct sk_buff *skb, char **secdata) +static void nfqnl_get_sk_secctx(struct sk_buff *skb, struct lsmcontext *context) { - u32 seclen = 0; #if IS_ENABLED(CONFIG_NETWORK_SECMARK) + struct lsmblob blob; + if (!skb || !sk_fullsock(skb->sk)) - return 0; + return; read_lock_bh(&skb->sk->sk_callback_lock); - if (skb->secmark) - security_secid_to_secctx(skb->secmark, secdata, &seclen); + if (skb->secmark) { + /* lsmblob_init() puts ct->secmark into all of the secids in + * blob. security_secid_to_secctx() will know which security + * module to use to create the secctx. */ + lsmblob_init(&blob, skb->secmark); + security_secid_to_secctx(&blob, context, LSMBLOB_DISPLAY); + } read_unlock_bh(&skb->sk->sk_callback_lock); #endif - return seclen; + return; } static u32 nfqnl_get_bridge_size(struct nf_queue_entry *entry) @@ -387,11 +393,10 @@ struct net_device *indev; struct net_device *outdev; struct nf_conn *ct = NULL; + struct lsmcontext context = { }; enum ip_conntrack_info ctinfo = 0; const struct nfnl_ct_hook *nfnl_ct; bool csum_verify; - char *secdata = NULL; - u32 seclen = 0; ktime_t tstamp; size = nlmsg_total_size(sizeof(struct nfgenmsg)) @@ -462,9 +467,9 @@ } if ((queue->flags & NFQA_CFG_F_SECCTX) && entskb->sk) { - seclen = nfqnl_get_sk_secctx(entskb, &secdata); - if (seclen) - size += nla_total_size(seclen); + nfqnl_get_sk_secctx(entskb, &context); + if (context.len) + size += nla_total_size(context.len); } skb = alloc_skb(size, GFP_ATOMIC); @@ -599,7 +604,8 @@ nfqnl_put_sk_uidgid(skb, entskb->sk) < 0) goto nla_put_failure; - if (seclen && nla_put(skb, NFQA_SECCTX, seclen, secdata)) + if (context.len && + nla_put(skb, NFQA_SECCTX, context.len, context.context)) goto nla_put_failure; if (ct && nfnl_ct->build(skb, ct, ctinfo, NFQA_CT, NFQA_CT_INFO) < 0) @@ -627,8 +633,8 @@ } nlh->nlmsg_len = skb->len; - if (seclen) - security_release_secctx(secdata, seclen); + if (context.len) + security_release_secctx(&context); return skb; nla_put_failure: @@ -636,8 +642,8 @@ kfree_skb(skb); net_err_ratelimited("nf_queue: error creating packet message\n"); nlmsg_failure: - if (seclen) - security_release_secctx(secdata, seclen); + if (context.len) + security_release_secctx(&context); return NULL; } --- linux-gcp-5.19.0.orig/net/netfilter/nft_bitwise.c +++ linux-gcp-5.19.0/net/netfilter/nft_bitwise.c @@ -93,7 +93,16 @@ static int nft_bitwise_init_bool(struct nft_bitwise *priv, const struct nlattr *const tb[]) { - struct nft_data_desc mask, xor; + struct nft_data_desc mask = { + .type = NFT_DATA_VALUE, + .size = sizeof(priv->mask), + .len = priv->len, + }; + struct nft_data_desc xor = { + .type = NFT_DATA_VALUE, + .size = sizeof(priv->xor), + .len = priv->len, + }; int err; if (tb[NFTA_BITWISE_DATA]) @@ -103,37 +112,30 @@ !tb[NFTA_BITWISE_XOR]) return -EINVAL; - err = nft_data_init(NULL, &priv->mask, sizeof(priv->mask), &mask, - tb[NFTA_BITWISE_MASK]); + err = nft_data_init(NULL, &priv->mask, &mask, tb[NFTA_BITWISE_MASK]); if (err < 0) return err; - if (mask.type != NFT_DATA_VALUE || mask.len != priv->len) { - err = -EINVAL; - goto err_mask_release; - } - err = nft_data_init(NULL, &priv->xor, sizeof(priv->xor), &xor, - tb[NFTA_BITWISE_XOR]); + err = nft_data_init(NULL, &priv->xor, &xor, tb[NFTA_BITWISE_XOR]); if (err < 0) - goto err_mask_release; - if (xor.type != NFT_DATA_VALUE || xor.len != priv->len) { - err = -EINVAL; - goto err_xor_release; - } + goto err_xor_err; return 0; -err_xor_release: - nft_data_release(&priv->xor, xor.type); -err_mask_release: +err_xor_err: nft_data_release(&priv->mask, mask.type); + return err; } static int nft_bitwise_init_shift(struct nft_bitwise *priv, const struct nlattr *const tb[]) { - struct nft_data_desc d; + struct nft_data_desc desc = { + .type = NFT_DATA_VALUE, + .size = sizeof(priv->data), + .len = sizeof(u32), + }; int err; if (tb[NFTA_BITWISE_MASK] || @@ -143,13 +145,12 @@ if (!tb[NFTA_BITWISE_DATA]) return -EINVAL; - err = nft_data_init(NULL, &priv->data, sizeof(priv->data), &d, - tb[NFTA_BITWISE_DATA]); + err = nft_data_init(NULL, &priv->data, &desc, tb[NFTA_BITWISE_DATA]); if (err < 0) return err; - if (d.type != NFT_DATA_VALUE || d.len != sizeof(u32) || - priv->data.data[0] >= BITS_PER_TYPE(u32)) { - nft_data_release(&priv->data, d.type); + + if (priv->data.data[0] >= BITS_PER_TYPE(u32)) { + nft_data_release(&priv->data, desc.type); return -EINVAL; } @@ -339,22 +340,21 @@ static int nft_bitwise_extract_u32_data(const struct nlattr * const tb, u32 *out) { - struct nft_data_desc desc; struct nft_data data; - int err = 0; + struct nft_data_desc desc = { + .type = NFT_DATA_VALUE, + .size = sizeof(data), + .len = sizeof(u32), + }; + int err; - err = nft_data_init(NULL, &data, sizeof(data), &desc, tb); + err = nft_data_init(NULL, &data, &desc, tb); if (err < 0) return err; - if (desc.type != NFT_DATA_VALUE || desc.len != sizeof(u32)) { - err = -EINVAL; - goto err; - } *out = data.data[0]; -err: - nft_data_release(&data, desc.type); - return err; + + return 0; } static int nft_bitwise_fast_init(const struct nft_ctx *ctx, --- linux-gcp-5.19.0.orig/net/netfilter/nft_cmp.c +++ linux-gcp-5.19.0/net/netfilter/nft_cmp.c @@ -73,20 +73,16 @@ const struct nlattr * const tb[]) { struct nft_cmp_expr *priv = nft_expr_priv(expr); - struct nft_data_desc desc; + struct nft_data_desc desc = { + .type = NFT_DATA_VALUE, + .size = sizeof(priv->data), + }; int err; - err = nft_data_init(NULL, &priv->data, sizeof(priv->data), &desc, - tb[NFTA_CMP_DATA]); + err = nft_data_init(NULL, &priv->data, &desc, tb[NFTA_CMP_DATA]); if (err < 0) return err; - if (desc.type != NFT_DATA_VALUE) { - err = -EINVAL; - nft_data_release(&priv->data, desc.type); - return err; - } - err = nft_parse_register_load(tb[NFTA_CMP_SREG], &priv->sreg, desc.len); if (err < 0) return err; @@ -202,12 +198,14 @@ const struct nlattr * const tb[]) { struct nft_cmp_fast_expr *priv = nft_expr_priv(expr); - struct nft_data_desc desc; struct nft_data data; + struct nft_data_desc desc = { + .type = NFT_DATA_VALUE, + .size = sizeof(data), + }; int err; - err = nft_data_init(NULL, &data, sizeof(data), &desc, - tb[NFTA_CMP_DATA]); + err = nft_data_init(NULL, &data, &desc, tb[NFTA_CMP_DATA]); if (err < 0) return err; @@ -301,11 +299,13 @@ const struct nlattr * const tb[]) { struct nft_cmp16_fast_expr *priv = nft_expr_priv(expr); - struct nft_data_desc desc; + struct nft_data_desc desc = { + .type = NFT_DATA_VALUE, + .size = sizeof(priv->data), + }; int err; - err = nft_data_init(NULL, &priv->data, sizeof(priv->data), &desc, - tb[NFTA_CMP_DATA]); + err = nft_data_init(NULL, &priv->data, &desc, tb[NFTA_CMP_DATA]); if (err < 0) return err; @@ -368,8 +368,11 @@ static const struct nft_expr_ops * nft_cmp_select_ops(const struct nft_ctx *ctx, const struct nlattr * const tb[]) { - struct nft_data_desc desc; struct nft_data data; + struct nft_data_desc desc = { + .type = NFT_DATA_VALUE, + .size = sizeof(data), + }; enum nft_cmp_ops op; u8 sreg; int err; @@ -392,14 +395,10 @@ return ERR_PTR(-EINVAL); } - err = nft_data_init(NULL, &data, sizeof(data), &desc, - tb[NFTA_CMP_DATA]); + err = nft_data_init(NULL, &data, &desc, tb[NFTA_CMP_DATA]); if (err < 0) return ERR_PTR(err); - if (desc.type != NFT_DATA_VALUE) - goto err1; - sreg = ntohl(nla_get_be32(tb[NFTA_CMP_SREG])); if (op == NFT_CMP_EQ || op == NFT_CMP_NEQ) { @@ -411,9 +410,6 @@ return &nft_cmp16_fast_ops; } return &nft_cmp_ops; -err1: - nft_data_release(&data, desc.type); - return ERR_PTR(-EINVAL); } struct nft_expr_type nft_cmp_type __read_mostly = { --- linux-gcp-5.19.0.orig/net/netfilter/nft_ct.c +++ linux-gcp-5.19.0/net/netfilter/nft_ct.c @@ -98,7 +98,7 @@ return; #ifdef CONFIG_NF_CONNTRACK_MARK case NFT_CT_MARK: - *dest = ct->mark; + *dest = READ_ONCE(ct->mark); return; #endif #ifdef CONFIG_NF_CONNTRACK_SECMARK @@ -297,8 +297,8 @@ switch (priv->key) { #ifdef CONFIG_NF_CONNTRACK_MARK case NFT_CT_MARK: - if (ct->mark != value) { - ct->mark = value; + if (READ_ONCE(ct->mark) != value) { + WRITE_ONCE(ct->mark, value); nf_conntrack_event_cache(IPCT_MARK, ct); } break; --- linux-gcp-5.19.0.orig/net/netfilter/nft_dynset.c +++ linux-gcp-5.19.0/net/netfilter/nft_dynset.c @@ -342,7 +342,7 @@ { struct nft_dynset *priv = nft_expr_priv(expr); - priv->set->use++; + nf_tables_activate_set(ctx, priv->set); } static void nft_dynset_destroy(const struct nft_ctx *ctx, --- linux-gcp-5.19.0.orig/net/netfilter/nft_immediate.c +++ linux-gcp-5.19.0/net/netfilter/nft_immediate.c @@ -29,20 +29,36 @@ [NFTA_IMMEDIATE_DATA] = { .type = NLA_NESTED }, }; +static enum nft_data_types nft_reg_to_type(const struct nlattr *nla) +{ + enum nft_data_types type; + u8 reg; + + reg = ntohl(nla_get_be32(nla)); + if (reg == NFT_REG_VERDICT) + type = NFT_DATA_VERDICT; + else + type = NFT_DATA_VALUE; + + return type; +} + static int nft_immediate_init(const struct nft_ctx *ctx, const struct nft_expr *expr, const struct nlattr * const tb[]) { struct nft_immediate_expr *priv = nft_expr_priv(expr); - struct nft_data_desc desc; + struct nft_data_desc desc = { + .size = sizeof(priv->data), + }; int err; if (tb[NFTA_IMMEDIATE_DREG] == NULL || tb[NFTA_IMMEDIATE_DATA] == NULL) return -EINVAL; - err = nft_data_init(ctx, &priv->data, sizeof(priv->data), &desc, - tb[NFTA_IMMEDIATE_DATA]); + desc.type = nft_reg_to_type(tb[NFTA_IMMEDIATE_DREG]); + err = nft_data_init(ctx, &priv->data, &desc, tb[NFTA_IMMEDIATE_DATA]); if (err < 0) return err; --- linux-gcp-5.19.0.orig/net/netfilter/nft_lookup.c +++ linux-gcp-5.19.0/net/netfilter/nft_lookup.c @@ -167,7 +167,7 @@ { struct nft_lookup *priv = nft_expr_priv(expr); - priv->set->use++; + nf_tables_activate_set(ctx, priv->set); } static void nft_lookup_destroy(const struct nft_ctx *ctx, --- linux-gcp-5.19.0.orig/net/netfilter/nft_meta.c +++ linux-gcp-5.19.0/net/netfilter/nft_meta.c @@ -851,21 +851,21 @@ static int nft_secmark_compute_secid(struct nft_secmark *priv) { - u32 tmp_secid = 0; + struct lsmblob blob; int err; - err = security_secctx_to_secid(priv->ctx, strlen(priv->ctx), &tmp_secid); + err = security_secctx_to_secid(priv->ctx, strlen(priv->ctx), &blob); if (err) return err; - if (!tmp_secid) + if (!lsmblob_is_set(&blob)) return -ENOENT; - err = security_secmark_relabel_packet(tmp_secid); + err = security_secmark_relabel_packet(lsmblob_value(&blob)); if (err) return err; - priv->secid = tmp_secid; + priv->secid = lsmblob_value(&blob); return 0; } --- linux-gcp-5.19.0.orig/net/netfilter/nft_objref.c +++ linux-gcp-5.19.0/net/netfilter/nft_objref.c @@ -184,7 +184,7 @@ { struct nft_objref_map *priv = nft_expr_priv(expr); - priv->set->use++; + nf_tables_activate_set(ctx, priv->set); } static void nft_objref_map_destroy(const struct nft_ctx *ctx, --- linux-gcp-5.19.0.orig/net/netfilter/nft_osf.c +++ linux-gcp-5.19.0/net/netfilter/nft_osf.c @@ -115,9 +115,21 @@ const struct nft_expr *expr, const struct nft_data **data) { - return nft_chain_validate_hooks(ctx->chain, (1 << NF_INET_LOCAL_IN) | - (1 << NF_INET_PRE_ROUTING) | - (1 << NF_INET_FORWARD)); + unsigned int hooks; + + switch (ctx->family) { + case NFPROTO_IPV4: + case NFPROTO_IPV6: + case NFPROTO_INET: + hooks = (1 << NF_INET_LOCAL_IN) | + (1 << NF_INET_PRE_ROUTING) | + (1 << NF_INET_FORWARD); + break; + default: + return -EOPNOTSUPP; + } + + return nft_chain_validate_hooks(ctx->chain, hooks); } static bool nft_osf_reduce(struct nft_regs_track *track, --- linux-gcp-5.19.0.orig/net/netfilter/nft_payload.c +++ linux-gcp-5.19.0/net/netfilter/nft_payload.c @@ -62,7 +62,7 @@ return false; if (offset + len > VLAN_ETH_HLEN + vlan_hlen) - ethlen -= offset + len - VLAN_ETH_HLEN + vlan_hlen; + ethlen -= offset + len - VLAN_ETH_HLEN - vlan_hlen; memcpy(dst_u8, vlanh + offset - vlan_hlen, ethlen); @@ -740,17 +740,23 @@ const struct nlattr * const tb[]) { struct nft_payload_set *priv = nft_expr_priv(expr); + u32 csum_offset, csum_type = NFT_PAYLOAD_CSUM_NONE; + int err; priv->base = ntohl(nla_get_be32(tb[NFTA_PAYLOAD_BASE])); priv->offset = ntohl(nla_get_be32(tb[NFTA_PAYLOAD_OFFSET])); priv->len = ntohl(nla_get_be32(tb[NFTA_PAYLOAD_LEN])); if (tb[NFTA_PAYLOAD_CSUM_TYPE]) - priv->csum_type = - ntohl(nla_get_be32(tb[NFTA_PAYLOAD_CSUM_TYPE])); - if (tb[NFTA_PAYLOAD_CSUM_OFFSET]) - priv->csum_offset = - ntohl(nla_get_be32(tb[NFTA_PAYLOAD_CSUM_OFFSET])); + csum_type = ntohl(nla_get_be32(tb[NFTA_PAYLOAD_CSUM_TYPE])); + if (tb[NFTA_PAYLOAD_CSUM_OFFSET]) { + err = nft_parse_u32_check(tb[NFTA_PAYLOAD_CSUM_OFFSET], U8_MAX, + &csum_offset); + if (err < 0) + return err; + + priv->csum_offset = csum_offset; + } if (tb[NFTA_PAYLOAD_CSUM_FLAGS]) { u32 flags; @@ -761,7 +767,7 @@ priv->csum_flags = flags; } - switch (priv->csum_type) { + switch (csum_type) { case NFT_PAYLOAD_CSUM_NONE: case NFT_PAYLOAD_CSUM_INET: break; @@ -775,6 +781,7 @@ default: return -EOPNOTSUPP; } + priv->csum_type = csum_type; return nft_parse_register_load(tb[NFTA_PAYLOAD_SREG], &priv->sreg, priv->len); @@ -833,6 +840,7 @@ { enum nft_payload_bases base; unsigned int offset, len; + int err; if (tb[NFTA_PAYLOAD_BASE] == NULL || tb[NFTA_PAYLOAD_OFFSET] == NULL || @@ -859,8 +867,13 @@ if (tb[NFTA_PAYLOAD_DREG] == NULL) return ERR_PTR(-EINVAL); - offset = ntohl(nla_get_be32(tb[NFTA_PAYLOAD_OFFSET])); - len = ntohl(nla_get_be32(tb[NFTA_PAYLOAD_LEN])); + err = nft_parse_u32_check(tb[NFTA_PAYLOAD_OFFSET], U8_MAX, &offset); + if (err < 0) + return ERR_PTR(err); + + err = nft_parse_u32_check(tb[NFTA_PAYLOAD_LEN], U8_MAX, &len); + if (err < 0) + return ERR_PTR(err); if (len <= 4 && is_power_of_2(len) && IS_ALIGNED(offset, len) && base != NFT_PAYLOAD_LL_HEADER && base != NFT_PAYLOAD_INNER_HEADER) --- linux-gcp-5.19.0.orig/net/netfilter/nft_range.c +++ linux-gcp-5.19.0/net/netfilter/nft_range.c @@ -51,7 +51,14 @@ const struct nlattr * const tb[]) { struct nft_range_expr *priv = nft_expr_priv(expr); - struct nft_data_desc desc_from, desc_to; + struct nft_data_desc desc_from = { + .type = NFT_DATA_VALUE, + .size = sizeof(priv->data_from), + }; + struct nft_data_desc desc_to = { + .type = NFT_DATA_VALUE, + .size = sizeof(priv->data_to), + }; int err; u32 op; @@ -61,26 +68,16 @@ !tb[NFTA_RANGE_TO_DATA]) return -EINVAL; - err = nft_data_init(NULL, &priv->data_from, sizeof(priv->data_from), - &desc_from, tb[NFTA_RANGE_FROM_DATA]); + err = nft_data_init(NULL, &priv->data_from, &desc_from, + tb[NFTA_RANGE_FROM_DATA]); if (err < 0) return err; - if (desc_from.type != NFT_DATA_VALUE) { - err = -EINVAL; - goto err1; - } - - err = nft_data_init(NULL, &priv->data_to, sizeof(priv->data_to), - &desc_to, tb[NFTA_RANGE_TO_DATA]); + err = nft_data_init(NULL, &priv->data_to, &desc_to, + tb[NFTA_RANGE_TO_DATA]); if (err < 0) goto err1; - if (desc_to.type != NFT_DATA_VALUE) { - err = -EINVAL; - goto err2; - } - if (desc_from.len != desc_to.len) { err = -EINVAL; goto err2; --- linux-gcp-5.19.0.orig/net/netfilter/nft_set_pipapo.c +++ linux-gcp-5.19.0/net/netfilter/nft_set_pipapo.c @@ -1162,6 +1162,7 @@ struct nft_pipapo_match *m = priv->clone; u8 genmask = nft_genmask_next(net); struct nft_pipapo_field *f; + const u8 *start_p, *end_p; int i, bsize_max, err = 0; if (nft_set_ext_exists(ext, NFT_SET_EXT_KEY_END)) @@ -1202,9 +1203,9 @@ } /* Validate */ + start_p = start; + end_p = end; nft_pipapo_for_each_field(f, i, m) { - const u8 *start_p = start, *end_p = end; - if (f->rules >= (unsigned long)NFT_PIPAPO_RULE0_MAX) return -ENOSPC; --- linux-gcp-5.19.0.orig/net/netfilter/nft_set_rbtree.c +++ linux-gcp-5.19.0/net/netfilter/nft_set_rbtree.c @@ -38,10 +38,12 @@ return !nft_rbtree_interval_end(rbe); } -static bool nft_rbtree_equal(const struct nft_set *set, const void *this, - const struct nft_rbtree_elem *interval) +static int nft_rbtree_cmp(const struct nft_set *set, + const struct nft_rbtree_elem *e1, + const struct nft_rbtree_elem *e2) { - return memcmp(this, nft_set_ext_key(&interval->ext), set->klen) == 0; + return memcmp(nft_set_ext_key(&e1->ext), nft_set_ext_key(&e2->ext), + set->klen); } static bool __nft_rbtree_lookup(const struct net *net, const struct nft_set *set, @@ -52,7 +54,6 @@ const struct nft_rbtree_elem *rbe, *interval = NULL; u8 genmask = nft_genmask_cur(net); const struct rb_node *parent; - const void *this; int d; parent = rcu_dereference_raw(priv->root.rb_node); @@ -62,12 +63,11 @@ rbe = rb_entry(parent, struct nft_rbtree_elem, node); - this = nft_set_ext_key(&rbe->ext); - d = memcmp(this, key, set->klen); + d = memcmp(nft_set_ext_key(&rbe->ext), key, set->klen); if (d < 0) { parent = rcu_dereference_raw(parent->rb_left); if (interval && - nft_rbtree_equal(set, this, interval) && + !nft_rbtree_cmp(set, rbe, interval) && nft_rbtree_interval_end(rbe) && nft_rbtree_interval_start(interval)) continue; @@ -215,154 +215,216 @@ return rbe; } +static int nft_rbtree_gc_elem(const struct nft_set *__set, + struct nft_rbtree *priv, + struct nft_rbtree_elem *rbe) +{ + struct nft_set *set = (struct nft_set *)__set; + struct rb_node *prev = rb_prev(&rbe->node); + struct nft_rbtree_elem *rbe_prev; + struct nft_set_gc_batch *gcb; + + gcb = nft_set_gc_batch_check(set, NULL, GFP_ATOMIC); + if (!gcb) + return -ENOMEM; + + /* search for expired end interval coming before this element. */ + do { + rbe_prev = rb_entry(prev, struct nft_rbtree_elem, node); + if (nft_rbtree_interval_end(rbe_prev)) + break; + + prev = rb_prev(prev); + } while (prev != NULL); + + rb_erase(&rbe_prev->node, &priv->root); + rb_erase(&rbe->node, &priv->root); + atomic_sub(2, &set->nelems); + + nft_set_gc_batch_add(gcb, rbe); + nft_set_gc_batch_complete(gcb); + + return 0; +} + +static bool nft_rbtree_update_first(const struct nft_set *set, + struct nft_rbtree_elem *rbe, + struct rb_node *first) +{ + struct nft_rbtree_elem *first_elem; + + first_elem = rb_entry(first, struct nft_rbtree_elem, node); + /* this element is closest to where the new element is to be inserted: + * update the first element for the node list path. + */ + if (nft_rbtree_cmp(set, rbe, first_elem) < 0) + return true; + + return false; +} + static int __nft_rbtree_insert(const struct net *net, const struct nft_set *set, struct nft_rbtree_elem *new, struct nft_set_ext **ext) { - bool overlap = false, dup_end_left = false, dup_end_right = false; + struct nft_rbtree_elem *rbe, *rbe_le = NULL, *rbe_ge = NULL; + struct rb_node *node, *parent, **p, *first = NULL; struct nft_rbtree *priv = nft_set_priv(set); u8 genmask = nft_genmask_next(net); - struct nft_rbtree_elem *rbe; - struct rb_node *parent, **p; - int d; + int d, err; - /* Detect overlaps as we descend the tree. Set the flag in these cases: - * - * a1. _ _ __>| ?_ _ __| (insert end before existing end) - * a2. _ _ ___| ?_ _ _>| (insert end after existing end) - * a3. _ _ ___? >|_ _ __| (insert start before existing end) - * - * and clear it later on, as we eventually reach the points indicated by - * '?' above, in the cases described below. We'll always meet these - * later, locally, due to tree ordering, and overlaps for the intervals - * that are the closest together are always evaluated last. - * - * b1. _ _ __>| !_ _ __| (insert end before existing start) - * b2. _ _ ___| !_ _ _>| (insert end after existing start) - * b3. _ _ ___! >|_ _ __| (insert start after existing end, as a leaf) - * '--' no nodes falling in this range - * b4. >|_ _ ! (insert start before existing start) - * - * Case a3. resolves to b3.: - * - if the inserted start element is the leftmost, because the '0' - * element in the tree serves as end element - * - otherwise, if an existing end is found immediately to the left. If - * there are existing nodes in between, we need to further descend the - * tree before we can conclude the new start isn't causing an overlap - * - * or to b4., which, preceded by a3., means we already traversed one or - * more existing intervals entirely, from the right. - * - * For a new, rightmost pair of elements, we'll hit cases b3. and b2., - * in that order. - * - * The flag is also cleared in two special cases: - * - * b5. |__ _ _!|<_ _ _ (insert start right before existing end) - * b6. |__ _ >|!__ _ _ (insert end right after existing start) - * - * which always happen as last step and imply that no further - * overlapping is possible. - * - * Another special case comes from the fact that start elements matching - * an already existing start element are allowed: insertion is not - * performed but we return -EEXIST in that case, and the error will be - * cleared by the caller if NLM_F_EXCL is not present in the request. - * This way, request for insertion of an exact overlap isn't reported as - * error to userspace if not desired. - * - * However, if the existing start matches a pre-existing start, but the - * end element doesn't match the corresponding pre-existing end element, - * we need to report a partial overlap. This is a local condition that - * can be noticed without need for a tracking flag, by checking for a - * local duplicated end for a corresponding start, from left and right, - * separately. + /* Descend the tree to search for an existing element greater than the + * key value to insert that is greater than the new element. This is the + * first element to walk the ordered elements to find possible overlap. */ - parent = NULL; p = &priv->root.rb_node; while (*p != NULL) { parent = *p; rbe = rb_entry(parent, struct nft_rbtree_elem, node); - d = memcmp(nft_set_ext_key(&rbe->ext), - nft_set_ext_key(&new->ext), - set->klen); + d = nft_rbtree_cmp(set, rbe, new); + if (d < 0) { p = &parent->rb_left; - - if (nft_rbtree_interval_start(new)) { - if (nft_rbtree_interval_end(rbe) && - nft_set_elem_active(&rbe->ext, genmask) && - !nft_set_elem_expired(&rbe->ext) && !*p) - overlap = false; - } else { - if (dup_end_left && !*p) - return -ENOTEMPTY; - - overlap = nft_rbtree_interval_end(rbe) && - nft_set_elem_active(&rbe->ext, - genmask) && - !nft_set_elem_expired(&rbe->ext); - - if (overlap) { - dup_end_right = true; - continue; - } - } } else if (d > 0) { - p = &parent->rb_right; + if (!first || + nft_rbtree_update_first(set, rbe, first)) + first = &rbe->node; - if (nft_rbtree_interval_end(new)) { - if (dup_end_right && !*p) - return -ENOTEMPTY; - - overlap = nft_rbtree_interval_end(rbe) && - nft_set_elem_active(&rbe->ext, - genmask) && - !nft_set_elem_expired(&rbe->ext); - - if (overlap) { - dup_end_left = true; - continue; - } - } else if (nft_set_elem_active(&rbe->ext, genmask) && - !nft_set_elem_expired(&rbe->ext)) { - overlap = nft_rbtree_interval_end(rbe); - } + p = &parent->rb_right; } else { - if (nft_rbtree_interval_end(rbe) && - nft_rbtree_interval_start(new)) { + if (nft_rbtree_interval_end(rbe)) p = &parent->rb_left; - - if (nft_set_elem_active(&rbe->ext, genmask) && - !nft_set_elem_expired(&rbe->ext)) - overlap = false; - } else if (nft_rbtree_interval_start(rbe) && - nft_rbtree_interval_end(new)) { + else p = &parent->rb_right; + } + } + + if (!first) + first = rb_first(&priv->root); + + /* Detect overlap by going through the list of valid tree nodes. + * Values stored in the tree are in reversed order, starting from + * highest to lowest value. + */ + for (node = first; node != NULL; node = rb_next(node)) { + rbe = rb_entry(node, struct nft_rbtree_elem, node); + + if (!nft_set_elem_active(&rbe->ext, genmask)) + continue; + + /* perform garbage collection to avoid bogus overlap reports. */ + if (nft_set_elem_expired(&rbe->ext)) { + err = nft_rbtree_gc_elem(set, priv, rbe); + if (err < 0) + return err; + + continue; + } - if (nft_set_elem_active(&rbe->ext, genmask) && - !nft_set_elem_expired(&rbe->ext)) - overlap = false; - } else if (nft_set_elem_active(&rbe->ext, genmask) && - !nft_set_elem_expired(&rbe->ext)) { - *ext = &rbe->ext; - return -EEXIST; - } else { - overlap = false; - if (nft_rbtree_interval_end(rbe)) - p = &parent->rb_left; - else - p = &parent->rb_right; + d = nft_rbtree_cmp(set, rbe, new); + if (d == 0) { + /* Matching end element: no need to look for an + * overlapping greater or equal element. + */ + if (nft_rbtree_interval_end(rbe)) { + rbe_le = rbe; + break; + } + + /* first element that is greater or equal to key value. */ + if (!rbe_ge) { + rbe_ge = rbe; + continue; } + + /* this is a closer more or equal element, update it. */ + if (nft_rbtree_cmp(set, rbe_ge, new) != 0) { + rbe_ge = rbe; + continue; + } + + /* element is equal to key value, make sure flags are + * the same, an existing more or equal start element + * must not be replaced by more or equal end element. + */ + if ((nft_rbtree_interval_start(new) && + nft_rbtree_interval_start(rbe_ge)) || + (nft_rbtree_interval_end(new) && + nft_rbtree_interval_end(rbe_ge))) { + rbe_ge = rbe; + continue; + } + } else if (d > 0) { + /* annotate element greater than the new element. */ + rbe_ge = rbe; + continue; + } else if (d < 0) { + /* annotate element less than the new element. */ + rbe_le = rbe; + break; } + } + + /* - new start element matching existing start element: full overlap + * reported as -EEXIST, cleared by caller if NLM_F_EXCL is not given. + */ + if (rbe_ge && !nft_rbtree_cmp(set, new, rbe_ge) && + nft_rbtree_interval_start(rbe_ge) == nft_rbtree_interval_start(new)) { + *ext = &rbe_ge->ext; + return -EEXIST; + } - dup_end_left = dup_end_right = false; + /* - new end element matching existing end element: full overlap + * reported as -EEXIST, cleared by caller if NLM_F_EXCL is not given. + */ + if (rbe_le && !nft_rbtree_cmp(set, new, rbe_le) && + nft_rbtree_interval_end(rbe_le) == nft_rbtree_interval_end(new)) { + *ext = &rbe_le->ext; + return -EEXIST; } - if (overlap) + /* - new start element with existing closest, less or equal key value + * being a start element: partial overlap, reported as -ENOTEMPTY. + * Anonymous sets allow for two consecutive start element since they + * are constant, skip them to avoid bogus overlap reports. + */ + if (!nft_set_is_anonymous(set) && rbe_le && + nft_rbtree_interval_start(rbe_le) && nft_rbtree_interval_start(new)) + return -ENOTEMPTY; + + /* - new end element with existing closest, less or equal key value + * being a end element: partial overlap, reported as -ENOTEMPTY. + */ + if (rbe_le && + nft_rbtree_interval_end(rbe_le) && nft_rbtree_interval_end(new)) + return -ENOTEMPTY; + + /* - new end element with existing closest, greater or equal key value + * being an end element: partial overlap, reported as -ENOTEMPTY + */ + if (rbe_ge && + nft_rbtree_interval_end(rbe_ge) && nft_rbtree_interval_end(new)) return -ENOTEMPTY; + /* Accepted element: pick insertion point depending on key value */ + parent = NULL; + p = &priv->root.rb_node; + while (*p != NULL) { + parent = *p; + rbe = rb_entry(parent, struct nft_rbtree_elem, node); + d = nft_rbtree_cmp(set, rbe, new); + + if (d < 0) + p = &parent->rb_left; + else if (d > 0) + p = &parent->rb_right; + else if (nft_rbtree_interval_end(rbe)) + p = &parent->rb_left; + else + p = &parent->rb_right; + } + rb_link_node_rcu(&new->node, parent, p); rb_insert_color(&new->node, &priv->root); return 0; @@ -501,23 +563,37 @@ struct nft_rbtree *priv; struct rb_node *node; struct nft_set *set; + struct net *net; + u8 genmask; priv = container_of(work, struct nft_rbtree, gc_work.work); set = nft_set_container_of(priv); + net = read_pnet(&set->net); + genmask = nft_genmask_cur(net); write_lock_bh(&priv->lock); write_seqcount_begin(&priv->count); for (node = rb_first(&priv->root); node != NULL; node = rb_next(node)) { rbe = rb_entry(node, struct nft_rbtree_elem, node); + if (!nft_set_elem_active(&rbe->ext, genmask)) + continue; + + /* elements are reversed in the rbtree for historical reasons, + * from highest to lowest value, that is why end element is + * always visited before the start element. + */ if (nft_rbtree_interval_end(rbe)) { rbe_end = rbe; continue; } if (!nft_set_elem_expired(&rbe->ext)) continue; - if (nft_set_elem_mark_busy(&rbe->ext)) + + if (nft_set_elem_mark_busy(&rbe->ext)) { + rbe_end = NULL; continue; + } if (rbe_prev) { rb_erase(&rbe_prev->node, &priv->root); --- linux-gcp-5.19.0.orig/net/netfilter/nft_tproxy.c +++ linux-gcp-5.19.0/net/netfilter/nft_tproxy.c @@ -312,6 +312,13 @@ return 0; } +static int nft_tproxy_validate(const struct nft_ctx *ctx, + const struct nft_expr *expr, + const struct nft_data **data) +{ + return nft_chain_validate_hooks(ctx->chain, 1 << NF_INET_PRE_ROUTING); +} + static struct nft_expr_type nft_tproxy_type; static const struct nft_expr_ops nft_tproxy_ops = { .type = &nft_tproxy_type, @@ -321,6 +328,7 @@ .destroy = nft_tproxy_destroy, .dump = nft_tproxy_dump, .reduce = NFT_REDUCE_READONLY, + .validate = nft_tproxy_validate, }; static struct nft_expr_type nft_tproxy_type __read_mostly = { --- linux-gcp-5.19.0.orig/net/netfilter/nft_tunnel.c +++ linux-gcp-5.19.0/net/netfilter/nft_tunnel.c @@ -161,6 +161,7 @@ static struct nft_expr_type nft_tunnel_type __read_mostly = { .name = "tunnel", + .family = NFPROTO_NETDEV, .ops = &nft_tunnel_get_ops, .policy = nft_tunnel_policy, .maxattr = NFTA_TUNNEL_MAX, --- linux-gcp-5.19.0.orig/net/netfilter/xt_SECMARK.c +++ linux-gcp-5.19.0/net/netfilter/xt_SECMARK.c @@ -42,13 +42,14 @@ static int checkentry_lsm(struct xt_secmark_target_info_v1 *info) { + struct lsmblob blob; int err; info->secctx[SECMARK_SECCTX_MAX - 1] = '\0'; info->secid = 0; err = security_secctx_to_secid(info->secctx, strlen(info->secctx), - &info->secid); + &blob); if (err) { if (err == -EINVAL) pr_info_ratelimited("invalid security context \'%s\'\n", @@ -56,6 +57,10 @@ return err; } + /* xt_secmark_target_info can't be changed to use lsmblobs because + * it is exposed as an API. Use lsmblob_value() to get the one + * value that got set by security_secctx_to_secid(). */ + info->secid = lsmblob_value(&blob); if (!info->secid) { pr_info_ratelimited("unable to map security context \'%s\'\n", info->secctx); --- linux-gcp-5.19.0.orig/net/netfilter/xt_connmark.c +++ linux-gcp-5.19.0/net/netfilter/xt_connmark.c @@ -30,6 +30,7 @@ u_int32_t new_targetmark; struct nf_conn *ct; u_int32_t newmark; + u_int32_t oldmark; ct = nf_ct_get(skb, &ctinfo); if (ct == NULL) @@ -37,14 +38,15 @@ switch (info->mode) { case XT_CONNMARK_SET: - newmark = (ct->mark & ~info->ctmask) ^ info->ctmark; + oldmark = READ_ONCE(ct->mark); + newmark = (oldmark & ~info->ctmask) ^ info->ctmark; if (info->shift_dir == D_SHIFT_RIGHT) newmark >>= info->shift_bits; else newmark <<= info->shift_bits; - if (ct->mark != newmark) { - ct->mark = newmark; + if (READ_ONCE(ct->mark) != newmark) { + WRITE_ONCE(ct->mark, newmark); nf_conntrack_event_cache(IPCT_MARK, ct); } break; @@ -55,15 +57,15 @@ else new_targetmark <<= info->shift_bits; - newmark = (ct->mark & ~info->ctmask) ^ + newmark = (READ_ONCE(ct->mark) & ~info->ctmask) ^ new_targetmark; - if (ct->mark != newmark) { - ct->mark = newmark; + if (READ_ONCE(ct->mark) != newmark) { + WRITE_ONCE(ct->mark, newmark); nf_conntrack_event_cache(IPCT_MARK, ct); } break; case XT_CONNMARK_RESTORE: - new_targetmark = (ct->mark & info->ctmask); + new_targetmark = (READ_ONCE(ct->mark) & info->ctmask); if (info->shift_dir == D_SHIFT_RIGHT) new_targetmark >>= info->shift_bits; else @@ -126,7 +128,7 @@ if (ct == NULL) return false; - return ((ct->mark & info->mask) == info->mark) ^ info->invert; + return ((READ_ONCE(ct->mark) & info->mask) == info->mark) ^ info->invert; } static int connmark_mt_check(const struct xt_mtchk_param *par) --- linux-gcp-5.19.0.orig/net/netlabel/netlabel_kapi.c +++ linux-gcp-5.19.0/net/netlabel/netlabel_kapi.c @@ -196,7 +196,7 @@ * @addr: IP address in network byte order (struct in[6]_addr) * @mask: address mask in network byte order (struct in[6]_addr) * @family: address family - * @secid: LSM secid value for the entry + * @lsmblob: LSM data value for the entry * @audit_info: NetLabel audit information * * Description: @@ -210,7 +210,7 @@ const void *addr, const void *mask, u16 family, - u32 secid, + struct lsmblob *lsmblob, struct netlbl_audit *audit_info) { u32 addr_len; @@ -230,7 +230,7 @@ return netlbl_unlhsh_add(net, dev_name, addr, mask, addr_len, - secid, audit_info); + lsmblob, audit_info); } /** --- linux-gcp-5.19.0.orig/net/netlabel/netlabel_unlabeled.c +++ linux-gcp-5.19.0/net/netlabel/netlabel_unlabeled.c @@ -66,7 +66,7 @@ #define netlbl_unlhsh_addr4_entry(iter) \ container_of(iter, struct netlbl_unlhsh_addr4, list) struct netlbl_unlhsh_addr4 { - u32 secid; + struct lsmblob lsmblob; struct netlbl_af4list list; struct rcu_head rcu; @@ -74,7 +74,7 @@ #define netlbl_unlhsh_addr6_entry(iter) \ container_of(iter, struct netlbl_unlhsh_addr6, list) struct netlbl_unlhsh_addr6 { - u32 secid; + struct lsmblob lsmblob; struct netlbl_af6list list; struct rcu_head rcu; @@ -220,7 +220,7 @@ * @iface: the associated interface entry * @addr: IPv4 address in network byte order * @mask: IPv4 address mask in network byte order - * @secid: LSM secid value for entry + * @lsmblob: LSM data value for entry * * Description: * Add a new address entry into the unlabeled connection hash table using the @@ -231,7 +231,7 @@ static int netlbl_unlhsh_add_addr4(struct netlbl_unlhsh_iface *iface, const struct in_addr *addr, const struct in_addr *mask, - u32 secid) + struct lsmblob *lsmblob) { int ret_val; struct netlbl_unlhsh_addr4 *entry; @@ -243,7 +243,7 @@ entry->list.addr = addr->s_addr & mask->s_addr; entry->list.mask = mask->s_addr; entry->list.valid = 1; - entry->secid = secid; + entry->lsmblob = *lsmblob; spin_lock(&netlbl_unlhsh_lock); ret_val = netlbl_af4list_add(&entry->list, &iface->addr4_list); @@ -260,7 +260,7 @@ * @iface: the associated interface entry * @addr: IPv6 address in network byte order * @mask: IPv6 address mask in network byte order - * @secid: LSM secid value for entry + * @lsmblob: LSM data value for entry * * Description: * Add a new address entry into the unlabeled connection hash table using the @@ -271,7 +271,7 @@ static int netlbl_unlhsh_add_addr6(struct netlbl_unlhsh_iface *iface, const struct in6_addr *addr, const struct in6_addr *mask, - u32 secid) + struct lsmblob *lsmblob) { int ret_val; struct netlbl_unlhsh_addr6 *entry; @@ -287,7 +287,7 @@ entry->list.addr.s6_addr32[3] &= mask->s6_addr32[3]; entry->list.mask = *mask; entry->list.valid = 1; - entry->secid = secid; + entry->lsmblob = *lsmblob; spin_lock(&netlbl_unlhsh_lock); ret_val = netlbl_af6list_add(&entry->list, &iface->addr6_list); @@ -366,7 +366,7 @@ const void *addr, const void *mask, u32 addr_len, - u32 secid, + struct lsmblob *lsmblob, struct netlbl_audit *audit_info) { int ret_val; @@ -374,8 +374,7 @@ struct net_device *dev; struct netlbl_unlhsh_iface *iface; struct audit_buffer *audit_buf = NULL; - char *secctx = NULL; - u32 secctx_len; + struct lsmcontext context; if (addr_len != sizeof(struct in_addr) && addr_len != sizeof(struct in6_addr)) @@ -408,7 +407,7 @@ const struct in_addr *addr4 = addr; const struct in_addr *mask4 = mask; - ret_val = netlbl_unlhsh_add_addr4(iface, addr4, mask4, secid); + ret_val = netlbl_unlhsh_add_addr4(iface, addr4, mask4, lsmblob); if (audit_buf != NULL) netlbl_af4list_audit_addr(audit_buf, 1, dev_name, @@ -421,7 +420,7 @@ const struct in6_addr *addr6 = addr; const struct in6_addr *mask6 = mask; - ret_val = netlbl_unlhsh_add_addr6(iface, addr6, mask6, secid); + ret_val = netlbl_unlhsh_add_addr6(iface, addr6, mask6, lsmblob); if (audit_buf != NULL) netlbl_af6list_audit_addr(audit_buf, 1, dev_name, @@ -438,11 +437,11 @@ unlhsh_add_return: rcu_read_unlock(); if (audit_buf != NULL) { - if (security_secid_to_secctx(secid, - &secctx, - &secctx_len) == 0) { - audit_log_format(audit_buf, " sec_obj=%s", secctx); - security_release_secctx(secctx, secctx_len); + if (security_secid_to_secctx(lsmblob, &context, + LSMBLOB_FIRST) == 0) { + audit_log_format(audit_buf, " sec_obj=%s", + context.context); + security_release_secctx(&context); } audit_log_format(audit_buf, " res=%u", ret_val == 0 ? 1 : 0); audit_log_end(audit_buf); @@ -473,8 +472,7 @@ struct netlbl_unlhsh_addr4 *entry; struct audit_buffer *audit_buf; struct net_device *dev; - char *secctx; - u32 secctx_len; + struct lsmcontext context; spin_lock(&netlbl_unlhsh_lock); list_entry = netlbl_af4list_remove(addr->s_addr, mask->s_addr, @@ -494,10 +492,11 @@ addr->s_addr, mask->s_addr); dev_put(dev); if (entry != NULL && - security_secid_to_secctx(entry->secid, - &secctx, &secctx_len) == 0) { - audit_log_format(audit_buf, " sec_obj=%s", secctx); - security_release_secctx(secctx, secctx_len); + security_secid_to_secctx(&entry->lsmblob, &context, + LSMBLOB_FIRST) == 0) { + audit_log_format(audit_buf, " sec_obj=%s", + context.context); + security_release_secctx(&context); } audit_log_format(audit_buf, " res=%u", entry != NULL ? 1 : 0); audit_log_end(audit_buf); @@ -534,8 +533,7 @@ struct netlbl_unlhsh_addr6 *entry; struct audit_buffer *audit_buf; struct net_device *dev; - char *secctx; - u32 secctx_len; + struct lsmcontext context; spin_lock(&netlbl_unlhsh_lock); list_entry = netlbl_af6list_remove(addr, mask, &iface->addr6_list); @@ -554,10 +552,11 @@ addr, mask); dev_put(dev); if (entry != NULL && - security_secid_to_secctx(entry->secid, - &secctx, &secctx_len) == 0) { - audit_log_format(audit_buf, " sec_obj=%s", secctx); - security_release_secctx(secctx, secctx_len); + security_secid_to_secctx(&entry->lsmblob, &context, + LSMBLOB_FIRST) == 0) { + audit_log_format(audit_buf, " sec_obj=%s", + context.context); + security_release_secctx(&context); } audit_log_format(audit_buf, " res=%u", entry != NULL ? 1 : 0); audit_log_end(audit_buf); @@ -880,7 +879,7 @@ void *addr; void *mask; u32 addr_len; - u32 secid; + struct lsmblob blob; struct netlbl_audit audit_info; /* Don't allow users to add both IPv4 and IPv6 addresses for a @@ -904,13 +903,12 @@ ret_val = security_secctx_to_secid( nla_data(info->attrs[NLBL_UNLABEL_A_SECCTX]), nla_len(info->attrs[NLBL_UNLABEL_A_SECCTX]), - &secid); + &blob); if (ret_val != 0) return ret_val; - return netlbl_unlhsh_add(&init_net, - dev_name, addr, mask, addr_len, secid, - &audit_info); + return netlbl_unlhsh_add(&init_net, dev_name, addr, mask, addr_len, + &blob, &audit_info); } /** @@ -931,7 +929,7 @@ void *addr; void *mask; u32 addr_len; - u32 secid; + struct lsmblob blob; struct netlbl_audit audit_info; /* Don't allow users to add both IPv4 and IPv6 addresses for a @@ -953,12 +951,11 @@ ret_val = security_secctx_to_secid( nla_data(info->attrs[NLBL_UNLABEL_A_SECCTX]), nla_len(info->attrs[NLBL_UNLABEL_A_SECCTX]), - &secid); + &blob); if (ret_val != 0) return ret_val; - return netlbl_unlhsh_add(&init_net, - NULL, addr, mask, addr_len, secid, + return netlbl_unlhsh_add(&init_net, NULL, addr, mask, addr_len, &blob, &audit_info); } @@ -1069,10 +1066,9 @@ int ret_val = -ENOMEM; struct netlbl_unlhsh_walk_arg *cb_arg = arg; struct net_device *dev; + struct lsmcontext context; void *data; - u32 secid; - char *secctx; - u32 secctx_len; + struct lsmblob *lsmb; data = genlmsg_put(cb_arg->skb, NETLINK_CB(cb_arg->nl_cb->skb).portid, cb_arg->seq, &netlbl_unlabel_gnl_family, @@ -1110,7 +1106,7 @@ if (ret_val != 0) goto list_cb_failure; - secid = addr4->secid; + lsmb = (struct lsmblob *)&addr4->lsmblob; } else { ret_val = nla_put_in6_addr(cb_arg->skb, NLBL_UNLABEL_A_IPV6ADDR, @@ -1124,17 +1120,17 @@ if (ret_val != 0) goto list_cb_failure; - secid = addr6->secid; + lsmb = (struct lsmblob *)&addr6->lsmblob; } - ret_val = security_secid_to_secctx(secid, &secctx, &secctx_len); + ret_val = security_secid_to_secctx(lsmb, &context, LSMBLOB_FIRST); if (ret_val != 0) goto list_cb_failure; ret_val = nla_put(cb_arg->skb, NLBL_UNLABEL_A_SECCTX, - secctx_len, - secctx); - security_release_secctx(secctx, secctx_len); + context.len, + context.context); + security_release_secctx(&context); if (ret_val != 0) goto list_cb_failure; @@ -1486,7 +1482,7 @@ &iface->addr4_list); if (addr4 == NULL) goto unlabel_getattr_nolabel; - secattr->attr.secid = netlbl_unlhsh_addr4_entry(addr4)->secid; + secattr->attr.lsmblob = netlbl_unlhsh_addr4_entry(addr4)->lsmblob; break; } #if IS_ENABLED(CONFIG_IPV6) @@ -1499,7 +1495,7 @@ &iface->addr6_list); if (addr6 == NULL) goto unlabel_getattr_nolabel; - secattr->attr.secid = netlbl_unlhsh_addr6_entry(addr6)->secid; + secattr->attr.lsmblob = netlbl_unlhsh_addr6_entry(addr6)->lsmblob; break; } #endif /* IPv6 */ @@ -1537,7 +1533,7 @@ /* Only the kernel is allowed to call this function and the only time * it is called is at bootup before the audit subsystem is reporting * messages so don't worry to much about these values. */ - security_current_getsecid_subj(&audit_info.secid); + security_current_getsecid_subj(&audit_info.lsmblob); audit_info.loginuid = GLOBAL_ROOT_UID; audit_info.sessionid = 0; --- linux-gcp-5.19.0.orig/net/netlabel/netlabel_unlabeled.h +++ linux-gcp-5.19.0/net/netlabel/netlabel_unlabeled.h @@ -211,7 +211,7 @@ const void *addr, const void *mask, u32 addr_len, - u32 secid, + struct lsmblob *lsmblob, struct netlbl_audit *audit_info); int netlbl_unlhsh_remove(struct net *net, const char *dev_name, --- linux-gcp-5.19.0.orig/net/netlabel/netlabel_user.c +++ linux-gcp-5.19.0/net/netlabel/netlabel_user.c @@ -84,8 +84,6 @@ struct netlbl_audit *audit_info) { struct audit_buffer *audit_buf; - char *secctx; - u32 secctx_len; if (audit_enabled == AUDIT_OFF) return NULL; @@ -98,13 +96,7 @@ from_kuid(&init_user_ns, audit_info->loginuid), audit_info->sessionid); - if (audit_info->secid != 0 && - security_secid_to_secctx(audit_info->secid, - &secctx, - &secctx_len) == 0) { - audit_log_format(audit_buf, " subj=%s", secctx); - security_release_secctx(secctx, secctx_len); - } + audit_log_subject_context(audit_buf, &audit_info->lsmblob); return audit_buf; } --- linux-gcp-5.19.0.orig/net/netlabel/netlabel_user.h +++ linux-gcp-5.19.0/net/netlabel/netlabel_user.h @@ -32,7 +32,7 @@ */ static inline void netlbl_netlink_auditinfo(struct netlbl_audit *audit_info) { - security_current_getsecid_subj(&audit_info->secid); + security_current_getsecid_subj(&audit_info->lsmblob); audit_info->loginuid = audit_get_loginuid(current); audit_info->sessionid = audit_get_sessionid(current); } --- linux-gcp-5.19.0.orig/net/netlink/af_netlink.c +++ linux-gcp-5.19.0/net/netlink/af_netlink.c @@ -580,7 +580,9 @@ if (nlk_sk(sk)->bound) goto err; - nlk_sk(sk)->portid = portid; + /* portid can be read locklessly from netlink_getname(). */ + WRITE_ONCE(nlk_sk(sk)->portid, portid); + sock_hold(sk); err = __netlink_insert(table, sk); @@ -1085,9 +1087,11 @@ return -EINVAL; if (addr->sa_family == AF_UNSPEC) { - sk->sk_state = NETLINK_UNCONNECTED; - nlk->dst_portid = 0; - nlk->dst_group = 0; + /* paired with READ_ONCE() in netlink_getsockbyportid() */ + WRITE_ONCE(sk->sk_state, NETLINK_UNCONNECTED); + /* dst_portid and dst_group can be read locklessly */ + WRITE_ONCE(nlk->dst_portid, 0); + WRITE_ONCE(nlk->dst_group, 0); return 0; } if (addr->sa_family != AF_NETLINK) @@ -1108,9 +1112,11 @@ err = netlink_autobind(sock); if (err == 0) { - sk->sk_state = NETLINK_CONNECTED; - nlk->dst_portid = nladdr->nl_pid; - nlk->dst_group = ffs(nladdr->nl_groups); + /* paired with READ_ONCE() in netlink_getsockbyportid() */ + WRITE_ONCE(sk->sk_state, NETLINK_CONNECTED); + /* dst_portid and dst_group can be read locklessly */ + WRITE_ONCE(nlk->dst_portid, nladdr->nl_pid); + WRITE_ONCE(nlk->dst_group, ffs(nladdr->nl_groups)); } return err; @@ -1127,10 +1133,12 @@ nladdr->nl_pad = 0; if (peer) { - nladdr->nl_pid = nlk->dst_portid; - nladdr->nl_groups = netlink_group_mask(nlk->dst_group); + /* Paired with WRITE_ONCE() in netlink_connect() */ + nladdr->nl_pid = READ_ONCE(nlk->dst_portid); + nladdr->nl_groups = netlink_group_mask(READ_ONCE(nlk->dst_group)); } else { - nladdr->nl_pid = nlk->portid; + /* Paired with WRITE_ONCE() in netlink_insert() */ + nladdr->nl_pid = READ_ONCE(nlk->portid); netlink_lock_table(); nladdr->nl_groups = nlk->groups ? nlk->groups[0] : 0; netlink_unlock_table(); @@ -1157,8 +1165,9 @@ /* Don't bother queuing skb if kernel socket has no input function */ nlk = nlk_sk(sock); - if (sock->sk_state == NETLINK_CONNECTED && - nlk->dst_portid != nlk_sk(ssk)->portid) { + /* dst_portid and sk_state can be changed in netlink_connect() */ + if (READ_ONCE(sock->sk_state) == NETLINK_CONNECTED && + READ_ONCE(nlk->dst_portid) != nlk_sk(ssk)->portid) { sock_put(sock); return ERR_PTR(-ECONNREFUSED); } @@ -1875,8 +1884,9 @@ goto out; netlink_skb_flags |= NETLINK_SKB_DST; } else { - dst_portid = nlk->dst_portid; - dst_group = nlk->dst_group; + /* Paired with WRITE_ONCE() in netlink_connect() */ + dst_portid = READ_ONCE(nlk->dst_portid); + dst_group = READ_ONCE(nlk->dst_group); } /* Paired with WRITE_ONCE() in netlink_insert() */ @@ -2440,11 +2450,13 @@ return; } - rep = __nlmsg_put(skb, NETLINK_CB(in_skb).portid, nlh->nlmsg_seq, - NLMSG_ERROR, payload, flags); + rep = nlmsg_put(skb, NETLINK_CB(in_skb).portid, nlh->nlmsg_seq, + NLMSG_ERROR, payload, flags); errmsg = nlmsg_data(rep); errmsg->error = err; - memcpy(&errmsg->msg, nlh, payload > sizeof(*errmsg) ? nlh->nlmsg_len : sizeof(*nlh)); + unsafe_memcpy(&errmsg->msg, nlh, payload > sizeof(*errmsg) + ? nlh->nlmsg_len : sizeof(*nlh), + /* Bounds checked by the skb layer. */); if (nlk_has_extack && extack) { if (extack->_msg) { --- linux-gcp-5.19.0.orig/net/netlink/genetlink.c +++ linux-gcp-5.19.0/net/netlink/genetlink.c @@ -1174,13 +1174,17 @@ op.policy, op.maxattr); if (err) - return err; + goto err_free_state; } } if (!ctx->state) return -ENODATA; return 0; + +err_free_state: + netlink_policy_dump_free(ctx->state); + return err; } static void *ctrl_dumppolicy_prep(struct sk_buff *skb, --- linux-gcp-5.19.0.orig/net/netlink/policy.c +++ linux-gcp-5.19.0/net/netlink/policy.c @@ -144,7 +144,7 @@ err = add_policy(&state, policy, maxtype); if (err) - return err; + goto err_try_undo; for (policy_idx = 0; policy_idx < state->n_alloc && state->policies[policy_idx].policy; @@ -164,7 +164,7 @@ policy[type].nested_policy, policy[type].len); if (err) - return err; + goto err_try_undo; break; default: break; @@ -174,6 +174,16 @@ *pstate = state; return 0; + +err_try_undo: + /* Try to preserve reasonable unwind semantics - if we're starting from + * scratch clean up fully, otherwise record what we got and caller will. + */ + if (!*pstate) + netlink_policy_dump_free(state); + else + *pstate = state; + return err; } static bool --- linux-gcp-5.19.0.orig/net/netrom/af_netrom.c +++ linux-gcp-5.19.0/net/netrom/af_netrom.c @@ -400,6 +400,11 @@ struct sock *sk = sock->sk; lock_sock(sk); + if (sock->state != SS_UNCONNECTED) { + release_sock(sk); + return -EINVAL; + } + if (sk->sk_state != TCP_LISTEN) { memset(&nr_sk(sk)->user_addr, 0, AX25_ADDR_LEN); sk->sk_max_ack_backlog = backlog; --- linux-gcp-5.19.0.orig/net/netrom/nr_timer.c +++ linux-gcp-5.19.0/net/netrom/nr_timer.c @@ -121,6 +121,7 @@ is accepted() it isn't 'dead' so doesn't get removed. */ if (sock_flag(sk, SOCK_DESTROY) || (sk->sk_state == TCP_LISTEN && sock_flag(sk, SOCK_DEAD))) { + sock_hold(sk); bh_unlock_sock(sk); nr_destroy_socket(sk); goto out; --- linux-gcp-5.19.0.orig/net/nfc/llcp_core.c +++ linux-gcp-5.19.0/net/nfc/llcp_core.c @@ -157,6 +157,7 @@ cancel_work_sync(&local->rx_work); cancel_work_sync(&local->timeout_work); kfree_skb(local->rx_pending); + local->rx_pending = NULL; del_timer_sync(&local->sdreq_timer); cancel_work_sync(&local->sdreq_timeout_work); nfc_llcp_free_sdp_tlv_list(&local->pending_sdreqs); --- linux-gcp-5.19.0.orig/net/nfc/nci/core.c +++ linux-gcp-5.19.0/net/nfc/nci/core.c @@ -542,7 +542,7 @@ skb_queue_purge(&ndev->tx_q); ndev->ops->close(ndev); - ndev->flags = 0; + ndev->flags &= BIT(NCI_UNREG); } done: --- linux-gcp-5.19.0.orig/net/nfc/nci/data.c +++ linux-gcp-5.19.0/net/nfc/nci/data.c @@ -279,8 +279,10 @@ nci_plen(skb->data)); conn_info = nci_get_conn_info_by_conn_id(ndev, nci_conn_id(skb->data)); - if (!conn_info) + if (!conn_info) { + kfree_skb(skb); return; + } /* strip the nci data header */ skb_pull(skb, NCI_DATA_HDR_SIZE); --- linux-gcp-5.19.0.orig/net/nfc/nci/ntf.c +++ linux-gcp-5.19.0/net/nfc/nci/ntf.c @@ -240,6 +240,8 @@ target->sens_res = nfca_poll->sens_res; target->sel_res = nfca_poll->sel_res; target->nfcid1_len = nfca_poll->nfcid1_len; + if (target->nfcid1_len > ARRAY_SIZE(target->nfcid1)) + return -EPROTO; if (target->nfcid1_len > 0) { memcpy(target->nfcid1, nfca_poll->nfcid1, target->nfcid1_len); @@ -248,6 +250,8 @@ nfcb_poll = (struct rf_tech_specific_params_nfcb_poll *)params; target->sensb_res_len = nfcb_poll->sensb_res_len; + if (target->sensb_res_len > ARRAY_SIZE(target->sensb_res)) + return -EPROTO; if (target->sensb_res_len > 0) { memcpy(target->sensb_res, nfcb_poll->sensb_res, target->sensb_res_len); @@ -256,6 +260,8 @@ nfcf_poll = (struct rf_tech_specific_params_nfcf_poll *)params; target->sensf_res_len = nfcf_poll->sensf_res_len; + if (target->sensf_res_len > ARRAY_SIZE(target->sensf_res)) + return -EPROTO; if (target->sensf_res_len > 0) { memcpy(target->sensf_res, nfcf_poll->sensf_res, target->sensf_res_len); --- linux-gcp-5.19.0.orig/net/nfc/netlink.c +++ linux-gcp-5.19.0/net/nfc/netlink.c @@ -1497,6 +1497,7 @@ u32 dev_idx, se_idx; u8 *apdu; size_t apdu_len; + int rc; if (!info->attrs[NFC_ATTR_DEVICE_INDEX] || !info->attrs[NFC_ATTR_SE_INDEX] || @@ -1510,25 +1511,37 @@ if (!dev) return -ENODEV; - if (!dev->ops || !dev->ops->se_io) - return -ENOTSUPP; + if (!dev->ops || !dev->ops->se_io) { + rc = -EOPNOTSUPP; + goto put_dev; + } apdu_len = nla_len(info->attrs[NFC_ATTR_SE_APDU]); - if (apdu_len == 0) - return -EINVAL; + if (apdu_len == 0) { + rc = -EINVAL; + goto put_dev; + } apdu = nla_data(info->attrs[NFC_ATTR_SE_APDU]); - if (!apdu) - return -EINVAL; + if (!apdu) { + rc = -EINVAL; + goto put_dev; + } ctx = kzalloc(sizeof(struct se_io_ctx), GFP_KERNEL); - if (!ctx) - return -ENOMEM; + if (!ctx) { + rc = -ENOMEM; + goto put_dev; + } ctx->dev_idx = dev_idx; ctx->se_idx = se_idx; - return nfc_se_io(dev, se_idx, apdu, apdu_len, se_io_cb, ctx); + rc = nfc_se_io(dev, se_idx, apdu, apdu_len, se_io_cb, ctx); + +put_dev: + nfc_put_device(dev); + return rc; } static int nfc_genl_vendor_cmd(struct sk_buff *skb, @@ -1551,14 +1564,21 @@ subcmd = nla_get_u32(info->attrs[NFC_ATTR_VENDOR_SUBCMD]); dev = nfc_get_device(dev_idx); - if (!dev || !dev->vendor_cmds || !dev->n_vendor_cmds) + if (!dev) return -ENODEV; + if (!dev->vendor_cmds || !dev->n_vendor_cmds) { + err = -ENODEV; + goto put_dev; + } + if (info->attrs[NFC_ATTR_VENDOR_DATA]) { data = nla_data(info->attrs[NFC_ATTR_VENDOR_DATA]); data_len = nla_len(info->attrs[NFC_ATTR_VENDOR_DATA]); - if (data_len == 0) - return -EINVAL; + if (data_len == 0) { + err = -EINVAL; + goto put_dev; + } } else { data = NULL; data_len = 0; @@ -1573,10 +1593,14 @@ dev->cur_cmd_info = info; err = cmd->doit(dev, data, data_len); dev->cur_cmd_info = NULL; - return err; + goto put_dev; } - return -EOPNOTSUPP; + err = -EOPNOTSUPP; + +put_dev: + nfc_put_device(dev); + return err; } /* message building helper */ --- linux-gcp-5.19.0.orig/net/openvswitch/conntrack.c +++ linux-gcp-5.19.0/net/openvswitch/conntrack.c @@ -152,7 +152,7 @@ static u32 ovs_ct_get_mark(const struct nf_conn *ct) { #if IS_ENABLED(CONFIG_NF_CONNTRACK_MARK) - return ct ? ct->mark : 0; + return ct ? READ_ONCE(ct->mark) : 0; #else return 0; #endif @@ -340,9 +340,9 @@ #if IS_ENABLED(CONFIG_NF_CONNTRACK_MARK) u32 new_mark; - new_mark = ct_mark | (ct->mark & ~(mask)); - if (ct->mark != new_mark) { - ct->mark = new_mark; + new_mark = ct_mark | (READ_ONCE(ct->mark) & ~(mask)); + if (READ_ONCE(ct->mark) != new_mark) { + WRITE_ONCE(ct->mark, new_mark); if (nf_ct_is_confirmed(ct)) nf_conntrack_event_cache(IPCT_MARK, ct); key->ct.mark = new_mark; --- linux-gcp-5.19.0.orig/net/openvswitch/datapath.c +++ linux-gcp-5.19.0/net/openvswitch/datapath.c @@ -252,10 +252,17 @@ upcall.mru = OVS_CB(skb)->mru; error = ovs_dp_upcall(dp, skb, key, &upcall, 0); - if (unlikely(error)) - kfree_skb(skb); - else + switch (error) { + case 0: + case -EAGAIN: + case -ERESTARTSYS: + case -EINTR: consume_skb(skb); + break; + default: + kfree_skb(skb); + break; + } stats_counter = &stats->n_missed; goto out; } @@ -551,8 +558,9 @@ out: if (err) skb_tx_error(skb); - kfree_skb(user_skb); - kfree_skb(nskb); + consume_skb(user_skb); + consume_skb(nskb); + return err; } @@ -939,6 +947,7 @@ struct sw_flow_mask mask; struct sk_buff *reply; struct datapath *dp; + struct sw_flow_key *key; struct sw_flow_actions *acts; struct sw_flow_match match; u32 ufid_flags = ovs_nla_get_ufid_flags(a[OVS_FLOW_ATTR_UFID_FLAGS]); @@ -966,30 +975,32 @@ } /* Extract key. */ - ovs_match_init(&match, &new_flow->key, false, &mask); + key = kzalloc(sizeof(*key), GFP_KERNEL); + if (!key) { + error = -ENOMEM; + goto err_kfree_flow; + } + + ovs_match_init(&match, key, false, &mask); error = ovs_nla_get_match(net, &match, a[OVS_FLOW_ATTR_KEY], a[OVS_FLOW_ATTR_MASK], log); if (error) - goto err_kfree_flow; + goto err_kfree_key; + + ovs_flow_mask_key(&new_flow->key, key, true, &mask); /* Extract flow identifier. */ error = ovs_nla_get_identifier(&new_flow->id, a[OVS_FLOW_ATTR_UFID], - &new_flow->key, log); + key, log); if (error) - goto err_kfree_flow; - - /* unmasked key is needed to match when ufid is not used. */ - if (ovs_identifier_is_key(&new_flow->id)) - match.key = new_flow->id.unmasked_key; - - ovs_flow_mask_key(&new_flow->key, &new_flow->key, true, &mask); + goto err_kfree_key; /* Validate actions. */ error = ovs_nla_copy_actions(net, a[OVS_FLOW_ATTR_ACTIONS], &new_flow->key, &acts, log); if (error) { OVS_NLERR(log, "Flow actions may not be safe on all matching packets."); - goto err_kfree_flow; + goto err_kfree_key; } reply = ovs_flow_cmd_alloc_info(acts, &new_flow->id, info, false, @@ -1010,7 +1021,7 @@ if (ovs_identifier_is_ufid(&new_flow->id)) flow = ovs_flow_tbl_lookup_ufid(&dp->table, &new_flow->id); if (!flow) - flow = ovs_flow_tbl_lookup(&dp->table, &new_flow->key); + flow = ovs_flow_tbl_lookup(&dp->table, key); if (likely(!flow)) { rcu_assign_pointer(new_flow->sf_acts, acts); @@ -1080,6 +1091,8 @@ if (reply) ovs_notify(&dp_flow_genl_family, reply, info); + + kfree(key); return 0; err_unlock_ovs: @@ -1087,6 +1100,8 @@ kfree_skb(reply); err_kfree_acts: ovs_nla_free_flow_actions(acts); +err_kfree_key: + kfree(key); err_kfree_flow: ovs_flow_free(new_flow, false); error: @@ -1598,7 +1613,8 @@ if (IS_ERR(dp)) return; - WARN(dp->user_features, "Dropping previously announced user features\n"); + pr_warn("%s: Dropping previously announced user features\n", + ovs_dp_name(dp)); dp->user_features = 0; } @@ -1802,7 +1818,7 @@ ovs_dp_reset_user_features(skb, info); } - goto err_unlock_and_destroy_meters; + goto err_destroy_portids; } err = ovs_dp_cmd_fill_info(dp, reply, info->snd_portid, @@ -1817,6 +1833,8 @@ ovs_notify(&dp_datapath_genl_family, reply, info); return 0; +err_destroy_portids: + kfree(rcu_dereference_raw(dp->upcall_portids)); err_unlock_and_destroy_meters: ovs_unlock(); ovs_meters_exit(dp); --- linux-gcp-5.19.0.orig/net/openvswitch/meter.c +++ linux-gcp-5.19.0/net/openvswitch/meter.c @@ -449,7 +449,7 @@ err = attach_meter(meter_tbl, meter); if (err) - goto exit_unlock; + goto exit_free_old_meter; ovs_unlock(); @@ -472,6 +472,8 @@ genlmsg_end(reply, ovs_reply_header); return genlmsg_reply(reply, info); +exit_free_old_meter: + ovs_meter_free(old_meter); exit_unlock: ovs_unlock(); nlmsg_free(reply); --- linux-gcp-5.19.0.orig/net/packet/af_packet.c +++ linux-gcp-5.19.0/net/packet/af_packet.c @@ -2293,8 +2293,7 @@ if (skb->ip_summed == CHECKSUM_PARTIAL) status |= TP_STATUS_CSUMNOTREADY; else if (skb->pkt_type != PACKET_OUTGOING && - (skb->ip_summed == CHECKSUM_COMPLETE || - skb_csum_unnecessary(skb))) + skb_csum_unnecessary(skb)) status |= TP_STATUS_CSUM_VALID; if (snaplen > res) @@ -3037,8 +3036,8 @@ if (err) goto out_free; - if (sock->type == SOCK_RAW && - !dev_validate_header(dev, skb->data, len)) { + if ((sock->type == SOCK_RAW && + !dev_validate_header(dev, skb->data, len)) || !skb->len) { err = -EINVAL; goto out_free; } @@ -3520,8 +3519,7 @@ if (skb->ip_summed == CHECKSUM_PARTIAL) aux.tp_status |= TP_STATUS_CSUMNOTREADY; else if (skb->pkt_type != PACKET_OUTGOING && - (skb->ip_summed == CHECKSUM_COMPLETE || - skb_csum_unnecessary(skb))) + skb_csum_unnecessary(skb)) aux.tp_status |= TP_STATUS_CSUM_VALID; aux.tp_len = origlen; --- linux-gcp-5.19.0.orig/net/qrtr/mhi.c +++ linux-gcp-5.19.0/net/qrtr/mhi.c @@ -78,11 +78,6 @@ struct qrtr_mhi_dev *qdev; int rc; - /* start channels */ - rc = mhi_prepare_for_transfer_autoqueue(mhi_dev); - if (rc) - return rc; - qdev = devm_kzalloc(&mhi_dev->dev, sizeof(*qdev), GFP_KERNEL); if (!qdev) return -ENOMEM; @@ -96,6 +91,13 @@ if (rc) return rc; + /* start channels */ + rc = mhi_prepare_for_transfer_autoqueue(mhi_dev); + if (rc) { + qrtr_endpoint_unregister(&qdev->ep); + return rc; + } + dev_dbg(qdev->dev, "Qualcomm MHI QRTR driver probed\n"); return 0; --- linux-gcp-5.19.0.orig/net/qrtr/ns.c +++ linux-gcp-5.19.0/net/qrtr/ns.c @@ -83,7 +83,10 @@ node->id = node_id; - radix_tree_insert(&nodes, node_id, node); + if (radix_tree_insert(&nodes, node_id, node)) { + kfree(node); + return NULL; + } return node; } --- linux-gcp-5.19.0.orig/net/rds/ib_recv.c +++ linux-gcp-5.19.0/net/rds/ib_recv.c @@ -363,6 +363,7 @@ static void release_refill(struct rds_connection *conn) { clear_bit(RDS_RECV_REFILL, &conn->c_flags); + smp_mb__after_atomic(); /* We don't use wait_on_bit()/wake_up_bit() because our waking is in a * hot path and finding waiters is very rare. We don't want to walk --- linux-gcp-5.19.0.orig/net/rds/ib_send.c +++ linux-gcp-5.19.0/net/rds/ib_send.c @@ -503,7 +503,7 @@ int flow_controlled = 0; int nr_sig = 0; - BUG_ON(off % RDS_FRAG_SIZE); + BUG_ON(!conn->c_loopback && off % RDS_FRAG_SIZE); BUG_ON(hdr_off != 0 && hdr_off != sizeof(struct rds_header)); /* Do not send cong updates to IB loopback */ --- linux-gcp-5.19.0.orig/net/rds/message.c +++ linux-gcp-5.19.0/net/rds/message.c @@ -104,9 +104,9 @@ spin_lock_irqsave(&q->lock, flags); head = &q->zcookie_head; if (!list_empty(head)) { - info = list_entry(head, struct rds_msg_zcopy_info, - rs_zcookie_next); - if (info && rds_zcookie_add(info, cookie)) { + info = list_first_entry(head, struct rds_msg_zcopy_info, + rs_zcookie_next); + if (rds_zcookie_add(info, cookie)) { spin_unlock_irqrestore(&q->lock, flags); kfree(rds_info_from_znotifier(znotif)); /* caller invokes rds_wake_sk_sleep() */ @@ -118,7 +118,7 @@ ck = &info->zcookies; memset(ck, 0, sizeof(*ck)); WARN_ON(!rds_zcookie_add(info, cookie)); - list_add_tail(&q->zcookie_head, &info->rs_zcookie_next); + list_add_tail(&info->rs_zcookie_next, &q->zcookie_head); spin_unlock_irqrestore(&q->lock, flags); /* caller invokes rds_wake_sk_sleep() */ --- linux-gcp-5.19.0.orig/net/rds/tcp.c +++ linux-gcp-5.19.0/net/rds/tcp.c @@ -166,10 +166,10 @@ */ atomic_set(&cp->cp_state, RDS_CONN_RESETTING); wait_event(cp->cp_waitq, !test_bit(RDS_IN_XMIT, &cp->cp_flags)); - lock_sock(osock->sk); /* reset receive side state for rds_tcp_data_recv() for osock */ cancel_delayed_work_sync(&cp->cp_send_w); cancel_delayed_work_sync(&cp->cp_recv_w); + lock_sock(osock->sk); if (tc->t_tinc) { rds_inc_put(&tc->t_tinc->ti_inc); tc->t_tinc = NULL; --- linux-gcp-5.19.0.orig/net/rfkill/core.c +++ linux-gcp-5.19.0/net/rfkill/core.c @@ -78,7 +78,6 @@ struct mutex mtx; wait_queue_head_t read_wait; bool input_handler; - u8 max_size; }; @@ -1154,8 +1153,6 @@ if (!data) return -ENOMEM; - data->max_size = RFKILL_EVENT_SIZE_V1; - INIT_LIST_HEAD(&data->events); mutex_init(&data->mtx); init_waitqueue_head(&data->read_wait); @@ -1238,7 +1235,6 @@ list); sz = min_t(unsigned long, sizeof(ev->ev), count); - sz = min_t(unsigned long, sz, data->max_size); ret = sz; if (copy_to_user(buf, &ev->ev, sz)) ret = -EFAULT; @@ -1253,7 +1249,6 @@ static ssize_t rfkill_fop_write(struct file *file, const char __user *buf, size_t count, loff_t *pos) { - struct rfkill_data *data = file->private_data; struct rfkill *rfkill; struct rfkill_event_ext ev; int ret; @@ -1268,7 +1263,6 @@ * our API version even in a write() call, if it cares. */ count = min(count, sizeof(ev)); - count = min_t(size_t, count, data->max_size); if (copy_from_user(&ev, buf, count)) return -EFAULT; @@ -1328,47 +1322,31 @@ return 0; } +#ifdef CONFIG_RFKILL_INPUT static long rfkill_fop_ioctl(struct file *file, unsigned int cmd, unsigned long arg) { struct rfkill_data *data = file->private_data; - int ret = -ENOSYS; - u32 size; if (_IOC_TYPE(cmd) != RFKILL_IOC_MAGIC) return -ENOSYS; + if (_IOC_NR(cmd) != RFKILL_IOC_NOINPUT) + return -ENOSYS; + mutex_lock(&data->mtx); - switch (_IOC_NR(cmd)) { -#ifdef CONFIG_RFKILL_INPUT - case RFKILL_IOC_NOINPUT: - if (!data->input_handler) { - if (atomic_inc_return(&rfkill_input_disabled) == 1) - printk(KERN_DEBUG "rfkill: input handler disabled\n"); - data->input_handler = true; - } - ret = 0; - break; -#endif - case RFKILL_IOC_MAX_SIZE: - if (get_user(size, (__u32 __user *)arg)) { - ret = -EFAULT; - break; - } - if (size < RFKILL_EVENT_SIZE_V1 || size > U8_MAX) { - ret = -EINVAL; - break; - } - data->max_size = size; - ret = 0; - break; - default: - break; + + if (!data->input_handler) { + if (atomic_inc_return(&rfkill_input_disabled) == 1) + printk(KERN_DEBUG "rfkill: input handler disabled\n"); + data->input_handler = true; } + mutex_unlock(&data->mtx); - return ret; + return 0; } +#endif static const struct file_operations rfkill_fops = { .owner = THIS_MODULE, @@ -1377,8 +1355,10 @@ .write = rfkill_fop_write, .poll = rfkill_fop_poll, .release = rfkill_fop_release, +#ifdef CONFIG_RFKILL_INPUT .unlocked_ioctl = rfkill_fop_ioctl, .compat_ioctl = compat_ptr_ioctl, +#endif .llseek = no_llseek, }; --- linux-gcp-5.19.0.orig/net/rose/af_rose.c +++ linux-gcp-5.19.0/net/rose/af_rose.c @@ -192,6 +192,7 @@ rose_disconnect(s, ENETUNREACH, ROSE_OUT_OF_ORDER, 0); if (rose->neighbour) rose->neighbour->use--; + dev_put(rose->device); rose->device = NULL; } } @@ -487,6 +488,12 @@ { struct sock *sk = sock->sk; + lock_sock(sk); + if (sock->state != SS_UNCONNECTED) { + release_sock(sk); + return -EINVAL; + } + if (sk->sk_state != TCP_LISTEN) { struct rose_sock *rose = rose_sk(sk); @@ -496,8 +503,10 @@ memset(rose->dest_digis, 0, AX25_ADDR_LEN * ROSE_MAX_DIGIS); sk->sk_max_ack_backlog = backlog; sk->sk_state = TCP_LISTEN; + release_sock(sk); return 0; } + release_sock(sk); return -EOPNOTSUPP; } @@ -592,6 +601,8 @@ rose->idle = orose->idle; rose->defer = orose->defer; rose->device = orose->device; + if (rose->device) + dev_hold(rose->device); rose->qbitincl = orose->qbitincl; return sk; @@ -645,6 +656,7 @@ break; } + dev_put(rose->device); sock->sk = NULL; release_sock(sk); sock_put(sk); @@ -721,7 +733,6 @@ struct rose_sock *rose = rose_sk(sk); struct sockaddr_rose *addr = (struct sockaddr_rose *)uaddr; unsigned char cause, diagnostic; - struct net_device *dev; ax25_uid_assoc *user; int n, err = 0; @@ -778,9 +789,12 @@ } if (sock_flag(sk, SOCK_ZAPPED)) { /* Must bind first - autobinding in this may or may not work */ + struct net_device *dev; + sock_reset_flag(sk, SOCK_ZAPPED); - if ((dev = rose_dev_first()) == NULL) { + dev = rose_dev_first(); + if (!dev) { err = -ENETUNREACH; goto out_release; } @@ -788,6 +802,7 @@ user = ax25_findbyuid(current_euid()); if (!user) { err = -EINVAL; + dev_put(dev); goto out_release; } --- linux-gcp-5.19.0.orig/net/rose/rose_link.c +++ linux-gcp-5.19.0/net/rose/rose_link.c @@ -236,6 +236,9 @@ unsigned char *dptr; int len; + if (!neigh->dev) + return; + len = AX25_BPQ_HEADER_LEN + AX25_MAX_HEADER_LEN + ROSE_MIN_LEN + 3; if ((skb = alloc_skb(len, GFP_ATOMIC)) == NULL) --- linux-gcp-5.19.0.orig/net/rose/rose_loopback.c +++ linux-gcp-5.19.0/net/rose/rose_loopback.c @@ -96,7 +96,8 @@ } if (frametype == ROSE_CALL_REQUEST) { - if (!rose_loopback_neigh->dev) { + if (!rose_loopback_neigh->dev && + !rose_loopback_neigh->loopback) { kfree_skb(skb); continue; } --- linux-gcp-5.19.0.orig/net/rose/rose_route.c +++ linux-gcp-5.19.0/net/rose/rose_route.c @@ -615,6 +615,8 @@ if (first == NULL || strncmp(dev->name, first->name, 3) < 0) first = dev; } + if (first) + dev_hold(first); rcu_read_unlock(); return first; --- linux-gcp-5.19.0.orig/net/rxrpc/ar-internal.h +++ linux-gcp-5.19.0/net/rxrpc/ar-internal.h @@ -399,6 +399,7 @@ struct rxrpc_bundle { struct rxrpc_conn_parameters params; refcount_t ref; + atomic_t active; /* Number of active users */ unsigned int debug_id; bool try_upgrade; /* True if the bundle is attempting upgrade */ bool alloc_conn; /* True if someone's getting a conn */ @@ -982,6 +983,7 @@ /* * peer_event.c */ +void rxrpc_encap_err_rcv(struct sock *sk, struct sk_buff *skb, unsigned int udp_offset); void rxrpc_error_report(struct sock *); void rxrpc_peer_keepalive_worker(struct work_struct *); --- linux-gcp-5.19.0.orig/net/rxrpc/call_object.c +++ linux-gcp-5.19.0/net/rxrpc/call_object.c @@ -285,8 +285,10 @@ _enter("%p,%lx", rx, p->user_call_ID); limiter = rxrpc_get_call_slot(p, gfp); - if (!limiter) + if (!limiter) { + release_sock(&rx->sk); return ERR_PTR(-ERESTARTSYS); + } call = rxrpc_alloc_client_call(rx, srx, gfp, debug_id); if (IS_ERR(call)) { --- linux-gcp-5.19.0.orig/net/rxrpc/conn_client.c +++ linux-gcp-5.19.0/net/rxrpc/conn_client.c @@ -40,6 +40,8 @@ DEFINE_IDR(rxrpc_client_conn_ids); static DEFINE_SPINLOCK(rxrpc_conn_id_lock); +static void rxrpc_deactivate_bundle(struct rxrpc_bundle *bundle); + /* * Get a connection ID and epoch for a client connection from the global pool. * The connection struct pointer is then recorded in the idr radix tree. The @@ -123,6 +125,7 @@ bundle->params = *cp; rxrpc_get_peer(bundle->params.peer); refcount_set(&bundle->ref, 1); + atomic_set(&bundle->active, 1); spin_lock_init(&bundle->channel_lock); INIT_LIST_HEAD(&bundle->waiting_calls); } @@ -149,7 +152,7 @@ dead = __refcount_dec_and_test(&bundle->ref, &r); - _debug("PUT B=%x %d", d, r); + _debug("PUT B=%x %d", d, r - 1); if (dead) rxrpc_free_bundle(bundle); } @@ -338,6 +341,7 @@ rxrpc_free_bundle(candidate); found_bundle: rxrpc_get_bundle(bundle); + atomic_inc(&bundle->active); spin_unlock(&local->client_bundles_lock); _leave(" = %u [found]", bundle->debug_id); return bundle; @@ -435,6 +439,7 @@ if (old) trace_rxrpc_client(old, -1, rxrpc_client_replace); candidate->bundle_shift = shift; + atomic_inc(&bundle->active); bundle->conns[i] = candidate; for (j = 0; j < RXRPC_MAXCALLS; j++) set_bit(shift + j, &bundle->avail_chans); @@ -725,6 +730,7 @@ smp_rmb(); out_put_bundle: + rxrpc_deactivate_bundle(bundle); rxrpc_put_bundle(bundle); out: _leave(" = %d", ret); @@ -900,9 +906,8 @@ static void rxrpc_unbundle_conn(struct rxrpc_connection *conn) { struct rxrpc_bundle *bundle = conn->bundle; - struct rxrpc_local *local = bundle->params.local; unsigned int bindex; - bool need_drop = false, need_put = false; + bool need_drop = false; int i; _enter("C=%x", conn->debug_id); @@ -921,15 +926,22 @@ } spin_unlock(&bundle->channel_lock); - /* If there are no more connections, remove the bundle */ - if (!bundle->avail_chans) { - _debug("maybe unbundle"); - spin_lock(&local->client_bundles_lock); - - for (i = 0; i < ARRAY_SIZE(bundle->conns); i++) - if (bundle->conns[i]) - break; - if (i == ARRAY_SIZE(bundle->conns) && !bundle->params.exclusive) { + if (need_drop) { + rxrpc_deactivate_bundle(bundle); + rxrpc_put_connection(conn); + } +} + +/* + * Drop the active count on a bundle. + */ +static void rxrpc_deactivate_bundle(struct rxrpc_bundle *bundle) +{ + struct rxrpc_local *local = bundle->params.local; + bool need_put = false; + + if (atomic_dec_and_lock(&bundle->active, &local->client_bundles_lock)) { + if (!bundle->params.exclusive) { _debug("erase bundle"); rb_erase(&bundle->local_node, &local->client_bundles); need_put = true; @@ -939,10 +951,6 @@ if (need_put) rxrpc_put_bundle(bundle); } - - if (need_drop) - rxrpc_put_connection(conn); - _leave(""); } /* --- linux-gcp-5.19.0.orig/net/rxrpc/local_object.c +++ linux-gcp-5.19.0/net/rxrpc/local_object.c @@ -137,6 +137,7 @@ tuncfg.encap_type = UDP_ENCAP_RXRPC; tuncfg.encap_rcv = rxrpc_input_packet; + tuncfg.encap_err_rcv = rxrpc_encap_err_rcv; tuncfg.sk_user_data = local; setup_udp_tunnel_sock(net, local->socket, &tuncfg); --- linux-gcp-5.19.0.orig/net/rxrpc/output.c +++ linux-gcp-5.19.0/net/rxrpc/output.c @@ -93,7 +93,7 @@ *_hard_ack = hard_ack; *_top = top; - pkt->ack.bufferSpace = htons(8); + pkt->ack.bufferSpace = htons(0); pkt->ack.maxSkew = htons(0); pkt->ack.firstPacket = htonl(hard_ack + 1); pkt->ack.previousPacket = htonl(call->ackr_highest_seq); --- linux-gcp-5.19.0.orig/net/rxrpc/peer_event.c +++ linux-gcp-5.19.0/net/rxrpc/peer_event.c @@ -16,22 +16,105 @@ #include #include #include +#include #include "ar-internal.h" +static void rxrpc_adjust_mtu(struct rxrpc_peer *, unsigned int); static void rxrpc_store_error(struct rxrpc_peer *, struct sock_exterr_skb *); static void rxrpc_distribute_error(struct rxrpc_peer *, int, enum rxrpc_call_completion); /* - * Find the peer associated with an ICMP packet. + * Find the peer associated with an ICMPv4 packet. */ static struct rxrpc_peer *rxrpc_lookup_peer_icmp_rcu(struct rxrpc_local *local, - const struct sk_buff *skb, + struct sk_buff *skb, + unsigned int udp_offset, + unsigned int *info, struct sockaddr_rxrpc *srx) { - struct sock_exterr_skb *serr = SKB_EXT_ERR(skb); + struct iphdr *ip, *ip0 = ip_hdr(skb); + struct icmphdr *icmp = icmp_hdr(skb); + struct udphdr *udp = (struct udphdr *)(skb->data + udp_offset); + + _enter("%u,%u,%u", ip0->protocol, icmp->type, icmp->code); + + switch (icmp->type) { + case ICMP_DEST_UNREACH: + *info = ntohs(icmp->un.frag.mtu); + fallthrough; + case ICMP_TIME_EXCEEDED: + case ICMP_PARAMETERPROB: + ip = (struct iphdr *)((void *)icmp + 8); + break; + default: + return NULL; + } - _enter(""); + memset(srx, 0, sizeof(*srx)); + srx->transport_type = local->srx.transport_type; + srx->transport_len = local->srx.transport_len; + srx->transport.family = local->srx.transport.family; + + /* Can we see an ICMP4 packet on an ICMP6 listening socket? and vice + * versa? + */ + switch (srx->transport.family) { + case AF_INET: + srx->transport_len = sizeof(srx->transport.sin); + srx->transport.family = AF_INET; + srx->transport.sin.sin_port = udp->dest; + memcpy(&srx->transport.sin.sin_addr, &ip->daddr, + sizeof(struct in_addr)); + break; + +#ifdef CONFIG_AF_RXRPC_IPV6 + case AF_INET6: + srx->transport_len = sizeof(srx->transport.sin); + srx->transport.family = AF_INET; + srx->transport.sin.sin_port = udp->dest; + memcpy(&srx->transport.sin.sin_addr, &ip->daddr, + sizeof(struct in_addr)); + break; +#endif + + default: + WARN_ON_ONCE(1); + return NULL; + } + + _net("ICMP {%pISp}", &srx->transport); + return rxrpc_lookup_peer_rcu(local, srx); +} + +#ifdef CONFIG_AF_RXRPC_IPV6 +/* + * Find the peer associated with an ICMPv6 packet. + */ +static struct rxrpc_peer *rxrpc_lookup_peer_icmp6_rcu(struct rxrpc_local *local, + struct sk_buff *skb, + unsigned int udp_offset, + unsigned int *info, + struct sockaddr_rxrpc *srx) +{ + struct icmp6hdr *icmp = icmp6_hdr(skb); + struct ipv6hdr *ip, *ip0 = ipv6_hdr(skb); + struct udphdr *udp = (struct udphdr *)(skb->data + udp_offset); + + _enter("%u,%u,%u", ip0->nexthdr, icmp->icmp6_type, icmp->icmp6_code); + + switch (icmp->icmp6_type) { + case ICMPV6_DEST_UNREACH: + *info = ntohl(icmp->icmp6_mtu); + fallthrough; + case ICMPV6_PKT_TOOBIG: + case ICMPV6_TIME_EXCEED: + case ICMPV6_PARAMPROB: + ip = (struct ipv6hdr *)((void *)icmp + 8); + break; + default: + return NULL; + } memset(srx, 0, sizeof(*srx)); srx->transport_type = local->srx.transport_type; @@ -43,6 +126,165 @@ */ switch (srx->transport.family) { case AF_INET: + _net("Rx ICMP6 on v4 sock"); + srx->transport_len = sizeof(srx->transport.sin); + srx->transport.family = AF_INET; + srx->transport.sin.sin_port = udp->dest; + memcpy(&srx->transport.sin.sin_addr, + &ip->daddr.s6_addr32[3], sizeof(struct in_addr)); + break; + case AF_INET6: + _net("Rx ICMP6"); + srx->transport.sin.sin_port = udp->dest; + memcpy(&srx->transport.sin6.sin6_addr, &ip->daddr, + sizeof(struct in6_addr)); + break; + default: + WARN_ON_ONCE(1); + return NULL; + } + + _net("ICMP {%pISp}", &srx->transport); + return rxrpc_lookup_peer_rcu(local, srx); +} +#endif /* CONFIG_AF_RXRPC_IPV6 */ + +/* + * Handle an error received on the local endpoint as a tunnel. + */ +void rxrpc_encap_err_rcv(struct sock *sk, struct sk_buff *skb, + unsigned int udp_offset) +{ + struct sock_extended_err ee; + struct sockaddr_rxrpc srx; + struct rxrpc_local *local; + struct rxrpc_peer *peer; + unsigned int info = 0; + int err; + u8 version = ip_hdr(skb)->version; + u8 type = icmp_hdr(skb)->type; + u8 code = icmp_hdr(skb)->code; + + rcu_read_lock(); + local = rcu_dereference_sk_user_data(sk); + if (unlikely(!local)) { + rcu_read_unlock(); + return; + } + + rxrpc_new_skb(skb, rxrpc_skb_received); + + switch (ip_hdr(skb)->version) { + case IPVERSION: + peer = rxrpc_lookup_peer_icmp_rcu(local, skb, udp_offset, + &info, &srx); + break; +#ifdef CONFIG_AF_RXRPC_IPV6 + case 6: + peer = rxrpc_lookup_peer_icmp6_rcu(local, skb, udp_offset, + &info, &srx); + break; +#endif + default: + rcu_read_unlock(); + return; + } + + if (peer && !rxrpc_get_peer_maybe(peer)) + peer = NULL; + if (!peer) { + rcu_read_unlock(); + return; + } + + memset(&ee, 0, sizeof(ee)); + + switch (version) { + case IPVERSION: + switch (type) { + case ICMP_DEST_UNREACH: + switch (code) { + case ICMP_FRAG_NEEDED: + rxrpc_adjust_mtu(peer, info); + rcu_read_unlock(); + rxrpc_put_peer(peer); + return; + default: + break; + } + + err = EHOSTUNREACH; + if (code <= NR_ICMP_UNREACH) { + /* Might want to do something different with + * non-fatal errors + */ + //harderr = icmp_err_convert[code].fatal; + err = icmp_err_convert[code].errno; + } + break; + + case ICMP_TIME_EXCEEDED: + err = EHOSTUNREACH; + break; + default: + err = EPROTO; + break; + } + + ee.ee_origin = SO_EE_ORIGIN_ICMP; + ee.ee_type = type; + ee.ee_code = code; + ee.ee_errno = err; + break; + +#ifdef CONFIG_AF_RXRPC_IPV6 + case 6: + switch (type) { + case ICMPV6_PKT_TOOBIG: + rxrpc_adjust_mtu(peer, info); + rcu_read_unlock(); + rxrpc_put_peer(peer); + return; + } + + icmpv6_err_convert(type, code, &err); + + if (err == EACCES) + err = EHOSTUNREACH; + + ee.ee_origin = SO_EE_ORIGIN_ICMP6; + ee.ee_type = type; + ee.ee_code = code; + ee.ee_errno = err; + break; +#endif + } + + trace_rxrpc_rx_icmp(peer, &ee, &srx); + + rxrpc_distribute_error(peer, err, RXRPC_CALL_NETWORK_ERROR); + rcu_read_unlock(); + rxrpc_put_peer(peer); +} + +/* + * Find the peer associated with a local error. + */ +static struct rxrpc_peer *rxrpc_lookup_peer_local_rcu(struct rxrpc_local *local, + const struct sk_buff *skb, + struct sockaddr_rxrpc *srx) +{ + struct sock_exterr_skb *serr = SKB_EXT_ERR(skb); + + _enter(""); + + memset(srx, 0, sizeof(*srx)); + srx->transport_type = local->srx.transport_type; + srx->transport_len = local->srx.transport_len; + srx->transport.family = local->srx.transport.family; + + switch (srx->transport.family) { + case AF_INET: srx->transport_len = sizeof(srx->transport.sin); srx->transport.family = AF_INET; srx->transport.sin.sin_port = serr->port; @@ -104,10 +346,8 @@ /* * Handle an MTU/fragmentation problem. */ -static void rxrpc_adjust_mtu(struct rxrpc_peer *peer, struct sock_exterr_skb *serr) +static void rxrpc_adjust_mtu(struct rxrpc_peer *peer, unsigned int mtu) { - u32 mtu = serr->ee.ee_info; - _net("Rx ICMP Fragmentation Needed (%d)", mtu); /* wind down the local interface MTU */ @@ -148,7 +388,7 @@ struct sock_exterr_skb *serr; struct sockaddr_rxrpc srx; struct rxrpc_local *local; - struct rxrpc_peer *peer; + struct rxrpc_peer *peer = NULL; struct sk_buff *skb; rcu_read_lock(); @@ -172,41 +412,20 @@ } rxrpc_new_skb(skb, rxrpc_skb_received); serr = SKB_EXT_ERR(skb); - if (!skb->len && serr->ee.ee_origin == SO_EE_ORIGIN_TIMESTAMPING) { - _leave("UDP empty message"); - rcu_read_unlock(); - rxrpc_free_skb(skb, rxrpc_skb_freed); - return; - } - peer = rxrpc_lookup_peer_icmp_rcu(local, skb, &srx); - if (peer && !rxrpc_get_peer_maybe(peer)) - peer = NULL; - if (!peer) { - rcu_read_unlock(); - rxrpc_free_skb(skb, rxrpc_skb_freed); - _leave(" [no peer]"); - return; - } - - trace_rxrpc_rx_icmp(peer, &serr->ee, &srx); - - if ((serr->ee.ee_origin == SO_EE_ORIGIN_ICMP && - serr->ee.ee_type == ICMP_DEST_UNREACH && - serr->ee.ee_code == ICMP_FRAG_NEEDED)) { - rxrpc_adjust_mtu(peer, serr); - rcu_read_unlock(); - rxrpc_free_skb(skb, rxrpc_skb_freed); - rxrpc_put_peer(peer); - _leave(" [MTU update]"); - return; + if (serr->ee.ee_origin == SO_EE_ORIGIN_LOCAL) { + peer = rxrpc_lookup_peer_local_rcu(local, skb, &srx); + if (peer && !rxrpc_get_peer_maybe(peer)) + peer = NULL; + if (peer) { + trace_rxrpc_rx_icmp(peer, &serr->ee, &srx); + rxrpc_store_error(peer, serr); + } } - rxrpc_store_error(peer, serr); rcu_read_unlock(); rxrpc_free_skb(skb, rxrpc_skb_freed); rxrpc_put_peer(peer); - _leave(""); } --- linux-gcp-5.19.0.orig/net/rxrpc/rxkad.c +++ linux-gcp-5.19.0/net/rxrpc/rxkad.c @@ -540,7 +540,7 @@ * directly into the target buffer. */ sg = _sg; - nsg = skb_shinfo(skb)->nr_frags; + nsg = skb_shinfo(skb)->nr_frags + 1; if (nsg <= 4) { nsg = 4; } else { --- linux-gcp-5.19.0.orig/net/rxrpc/sendmsg.c +++ linux-gcp-5.19.0/net/rxrpc/sendmsg.c @@ -51,10 +51,7 @@ return sock_intr_errno(*timeo); trace_rxrpc_transmit(call, rxrpc_transmit_wait); - mutex_unlock(&call->user_mutex); *timeo = schedule_timeout(*timeo); - if (mutex_lock_interruptible(&call->user_mutex) < 0) - return sock_intr_errno(*timeo); } } @@ -290,37 +287,48 @@ static int rxrpc_send_data(struct rxrpc_sock *rx, struct rxrpc_call *call, struct msghdr *msg, size_t len, - rxrpc_notify_end_tx_t notify_end_tx) + rxrpc_notify_end_tx_t notify_end_tx, + bool *_dropped_lock) { struct rxrpc_skb_priv *sp; struct sk_buff *skb; struct sock *sk = &rx->sk; + enum rxrpc_call_state state; long timeo; - bool more; - int ret, copied; + bool more = msg->msg_flags & MSG_MORE; + int ret, copied = 0; timeo = sock_sndtimeo(sk, msg->msg_flags & MSG_DONTWAIT); /* this should be in poll */ sk_clear_bit(SOCKWQ_ASYNC_NOSPACE, sk); +reload: + ret = -EPIPE; if (sk->sk_shutdown & SEND_SHUTDOWN) - return -EPIPE; - - more = msg->msg_flags & MSG_MORE; + goto maybe_error; + state = READ_ONCE(call->state); + ret = -ESHUTDOWN; + if (state >= RXRPC_CALL_COMPLETE) + goto maybe_error; + ret = -EPROTO; + if (state != RXRPC_CALL_CLIENT_SEND_REQUEST && + state != RXRPC_CALL_SERVER_ACK_REQUEST && + state != RXRPC_CALL_SERVER_SEND_REPLY) + goto maybe_error; + ret = -EMSGSIZE; if (call->tx_total_len != -1) { - if (len > call->tx_total_len) - return -EMSGSIZE; - if (!more && len != call->tx_total_len) - return -EMSGSIZE; + if (len - copied > call->tx_total_len) + goto maybe_error; + if (!more && len - copied != call->tx_total_len) + goto maybe_error; } skb = call->tx_pending; call->tx_pending = NULL; rxrpc_see_skb(skb, rxrpc_skb_seen); - copied = 0; do { /* Check to see if there's a ping ACK to reply to. */ if (call->ackr_reason == RXRPC_ACK_PING_RESPONSE) @@ -331,16 +339,8 @@ _debug("alloc"); - if (!rxrpc_check_tx_space(call, NULL)) { - ret = -EAGAIN; - if (msg->msg_flags & MSG_DONTWAIT) - goto maybe_error; - ret = rxrpc_wait_for_tx_window(rx, call, - &timeo, - msg->msg_flags & MSG_WAITALL); - if (ret < 0) - goto maybe_error; - } + if (!rxrpc_check_tx_space(call, NULL)) + goto wait_for_space; /* Work out the maximum size of a packet. Assume that * the security header is going to be in the padded @@ -468,6 +468,27 @@ efault: ret = -EFAULT; goto out; + +wait_for_space: + ret = -EAGAIN; + if (msg->msg_flags & MSG_DONTWAIT) + goto maybe_error; + mutex_unlock(&call->user_mutex); + *_dropped_lock = true; + ret = rxrpc_wait_for_tx_window(rx, call, &timeo, + msg->msg_flags & MSG_WAITALL); + if (ret < 0) + goto maybe_error; + if (call->interruptibility == RXRPC_INTERRUPTIBLE) { + if (mutex_lock_interruptible(&call->user_mutex) < 0) { + ret = sock_intr_errno(timeo); + goto maybe_error; + } + } else { + mutex_lock(&call->user_mutex); + } + *_dropped_lock = false; + goto reload; } /* @@ -629,6 +650,7 @@ enum rxrpc_call_state state; struct rxrpc_call *call; unsigned long now, j; + bool dropped_lock = false; int ret; struct rxrpc_send_params p = { @@ -694,7 +716,7 @@ if (call->tx_total_len != -1 || call->tx_pending || call->tx_top != 0) - goto error_put; + goto out_put_unlock; call->tx_total_len = p.call.tx_total_len; } } @@ -737,21 +759,13 @@ ret = rxrpc_send_abort_packet(call); } else if (p.command != RXRPC_CMD_SEND_DATA) { ret = -EINVAL; - } else if (rxrpc_is_client_call(call) && - state != RXRPC_CALL_CLIENT_SEND_REQUEST) { - /* request phase complete for this client call */ - ret = -EPROTO; - } else if (rxrpc_is_service_call(call) && - state != RXRPC_CALL_SERVER_ACK_REQUEST && - state != RXRPC_CALL_SERVER_SEND_REPLY) { - /* Reply phase not begun or not complete for service call. */ - ret = -EPROTO; } else { - ret = rxrpc_send_data(rx, call, msg, len, NULL); + ret = rxrpc_send_data(rx, call, msg, len, NULL, &dropped_lock); } out_put_unlock: - mutex_unlock(&call->user_mutex); + if (!dropped_lock) + mutex_unlock(&call->user_mutex); error_put: rxrpc_put_call(call, rxrpc_call_put); _leave(" = %d", ret); @@ -779,6 +793,7 @@ struct msghdr *msg, size_t len, rxrpc_notify_end_tx_t notify_end_tx) { + bool dropped_lock = false; int ret; _enter("{%d,%s},", call->debug_id, rxrpc_call_states[call->state]); @@ -796,7 +811,7 @@ case RXRPC_CALL_SERVER_ACK_REQUEST: case RXRPC_CALL_SERVER_SEND_REPLY: ret = rxrpc_send_data(rxrpc_sk(sock->sk), call, msg, len, - notify_end_tx); + notify_end_tx, &dropped_lock); break; case RXRPC_CALL_COMPLETE: read_lock_bh(&call->state_lock); @@ -810,7 +825,8 @@ break; } - mutex_unlock(&call->user_mutex); + if (!dropped_lock) + mutex_unlock(&call->user_mutex); _leave(" = %d", ret); return ret; } --- linux-gcp-5.19.0.orig/net/sched/Kconfig +++ linux-gcp-5.19.0/net/sched/Kconfig @@ -503,17 +503,6 @@ To compile this code as a module, choose M here: the module will be called cls_basic. -config NET_CLS_TCINDEX - tristate "Traffic-Control Index (TCINDEX)" - select NET_CLS - help - Say Y here if you want to be able to classify packets based on - traffic control indices. You will want this feature if you want - to implement Differentiated Services together with DSMARK. - - To compile this code as a module, choose M here: the - module will be called cls_tcindex. - config NET_CLS_ROUTE4 tristate "Routing decision (ROUTE)" depends on INET @@ -976,7 +965,7 @@ config NET_ACT_CT tristate "connection tracking tc action" - depends on NET_CLS_ACT && NF_CONNTRACK && NF_NAT && NF_FLOW_TABLE + depends on NET_CLS_ACT && NF_CONNTRACK && (!NF_NAT || NF_NAT) && NF_FLOW_TABLE help Say Y here to allow sending the packets to conntrack module. --- linux-gcp-5.19.0.orig/net/sched/Makefile +++ linux-gcp-5.19.0/net/sched/Makefile @@ -70,7 +70,6 @@ obj-$(CONFIG_NET_CLS_ROUTE4) += cls_route.o obj-$(CONFIG_NET_CLS_FW) += cls_fw.o obj-$(CONFIG_NET_CLS_RSVP) += cls_rsvp.o -obj-$(CONFIG_NET_CLS_TCINDEX) += cls_tcindex.o obj-$(CONFIG_NET_CLS_RSVP6) += cls_rsvp6.o obj-$(CONFIG_NET_CLS_BASIC) += cls_basic.o obj-$(CONFIG_NET_CLS_FLOW) += cls_flow.o --- linux-gcp-5.19.0.orig/net/sched/act_connmark.c +++ linux-gcp-5.19.0/net/sched/act_connmark.c @@ -62,7 +62,7 @@ c = nf_ct_get(skb, &ctinfo); if (c) { - skb->mark = c->mark; + skb->mark = READ_ONCE(c->mark); /* using overlimits stats to count how many packets marked */ ca->tcf_qstats.overlimits++; goto out; @@ -82,7 +82,7 @@ c = nf_ct_tuplehash_to_ctrack(thash); /* using overlimits stats to count how many packets marked */ ca->tcf_qstats.overlimits++; - skb->mark = c->mark; + skb->mark = READ_ONCE(c->mark); nf_ct_put(c); out: --- linux-gcp-5.19.0.orig/net/sched/act_ct.c +++ linux-gcp-5.19.0/net/sched/act_ct.c @@ -178,7 +178,7 @@ entry = tcf_ct_flow_table_flow_action_get_next(action); entry->id = FLOW_ACTION_CT_METADATA; #if IS_ENABLED(CONFIG_NF_CONNTRACK_MARK) - entry->ct_metadata.mark = ct->mark; + entry->ct_metadata.mark = READ_ONCE(ct->mark); #endif ctinfo = dir == IP_CT_DIR_ORIGINAL ? IP_CT_ESTABLISHED : IP_CT_ESTABLISHED_REPLY; @@ -939,9 +939,9 @@ if (!mask) return; - new_mark = mark | (ct->mark & ~(mask)); - if (ct->mark != new_mark) { - ct->mark = new_mark; + new_mark = mark | (READ_ONCE(ct->mark) & ~(mask)); + if (READ_ONCE(ct->mark) != new_mark) { + WRITE_ONCE(ct->mark, new_mark); if (nf_ct_is_confirmed(ct)) nf_conntrack_event_cache(IPCT_MARK, ct); } @@ -1393,7 +1393,7 @@ err = tcf_ct_flow_table_get(params); if (err) - goto cleanup; + goto cleanup_params; spin_lock_bh(&c->tcf_lock); goto_ch = tcf_action_set_ctrlact(*a, parm->action, goto_ch); @@ -1408,6 +1408,9 @@ return res; +cleanup_params: + if (params->tmpl) + nf_ct_put(params->tmpl); cleanup: if (goto_ch) tcf_chain_put_by_act(goto_ch); --- linux-gcp-5.19.0.orig/net/sched/act_ctinfo.c +++ linux-gcp-5.19.0/net/sched/act_ctinfo.c @@ -33,7 +33,7 @@ { u8 dscp, newdscp; - newdscp = (((ct->mark & cp->dscpmask) >> cp->dscpmaskshift) << 2) & + newdscp = (((READ_ONCE(ct->mark) & cp->dscpmask) >> cp->dscpmaskshift) << 2) & ~INET_ECN_MASK; switch (proto) { @@ -73,7 +73,7 @@ struct sk_buff *skb) { ca->stats_cpmark_set++; - skb->mark = ct->mark & cp->cpmarkmask; + skb->mark = READ_ONCE(ct->mark) & cp->cpmarkmask; } static int tcf_ctinfo_act(struct sk_buff *skb, const struct tc_action *a, @@ -92,7 +92,7 @@ cp = rcu_dereference_bh(ca->params); tcf_lastuse_update(&ca->tcf_tm); - bstats_update(&ca->tcf_bstats, skb); + tcf_action_update_bstats(&ca->common, skb); action = READ_ONCE(ca->tcf_action); wlen = skb_network_offset(skb); @@ -131,7 +131,7 @@ } if (cp->mode & CTINFO_MODE_DSCP) - if (!cp->dscpstatemask || (ct->mark & cp->dscpstatemask)) + if (!cp->dscpstatemask || (READ_ONCE(ct->mark) & cp->dscpstatemask)) tcf_ctinfo_dscp_set(ct, ca, cp, skb, wlen, proto); if (cp->mode & CTINFO_MODE_CPMARK) @@ -211,8 +211,8 @@ index = actparm->index; err = tcf_idr_check_alloc(tn, &index, a, bind); if (!err) { - ret = tcf_idr_create(tn, index, est, a, - &act_ctinfo_ops, bind, false, flags); + ret = tcf_idr_create_from_flags(tn, index, est, a, + &act_ctinfo_ops, bind, flags); if (ret) { tcf_idr_cleanup(tn, index); return ret; --- linux-gcp-5.19.0.orig/net/sched/act_mirred.c +++ linux-gcp-5.19.0/net/sched/act_mirred.c @@ -28,8 +28,8 @@ static LIST_HEAD(mirred_list); static DEFINE_SPINLOCK(mirred_list_lock); -#define MIRRED_RECURSION_LIMIT 4 -static DEFINE_PER_CPU(unsigned int, mirred_rec_level); +#define MIRRED_NEST_LIMIT 4 +static DEFINE_PER_CPU(unsigned int, mirred_nest_level); static bool tcf_mirred_is_act_redirect(int action) { @@ -206,12 +206,19 @@ return err; } +static bool is_mirred_nested(void) +{ + return unlikely(__this_cpu_read(mirred_nest_level) > 1); +} + static int tcf_mirred_forward(bool want_ingress, struct sk_buff *skb) { int err; if (!want_ingress) err = tcf_dev_queue_xmit(skb, dev_queue_xmit); + else if (is_mirred_nested()) + err = netif_rx(skb); else err = netif_receive_skb(skb); @@ -225,7 +232,7 @@ struct sk_buff *skb2 = skb; bool m_mac_header_xmit; struct net_device *dev; - unsigned int rec_level; + unsigned int nest_level; int retval, err = 0; bool use_reinsert; bool want_ingress; @@ -236,11 +243,11 @@ int mac_len; bool at_nh; - rec_level = __this_cpu_inc_return(mirred_rec_level); - if (unlikely(rec_level > MIRRED_RECURSION_LIMIT)) { + nest_level = __this_cpu_inc_return(mirred_nest_level); + if (unlikely(nest_level > MIRRED_NEST_LIMIT)) { net_warn_ratelimited("Packet exceeded mirred recursion limit on dev %s\n", netdev_name(skb->dev)); - __this_cpu_dec(mirred_rec_level); + __this_cpu_dec(mirred_nest_level); return TC_ACT_SHOT; } @@ -310,7 +317,7 @@ err = tcf_mirred_forward(res->ingress, skb); if (err) tcf_action_inc_overlimit_qstats(&m->common); - __this_cpu_dec(mirred_rec_level); + __this_cpu_dec(mirred_nest_level); return TC_ACT_CONSUMED; } } @@ -322,7 +329,7 @@ if (tcf_mirred_is_act_redirect(m_eaction)) retval = TC_ACT_SHOT; } - __this_cpu_dec(mirred_rec_level); + __this_cpu_dec(mirred_nest_level); return retval; } --- linux-gcp-5.19.0.orig/net/sched/act_mpls.c +++ linux-gcp-5.19.0/net/sched/act_mpls.c @@ -133,6 +133,11 @@ { const u32 *label = nla_data(attr); + if (nla_len(attr) != sizeof(*label)) { + NL_SET_ERR_MSG_MOD(extack, "Invalid MPLS label length"); + return -EINVAL; + } + if (*label & ~MPLS_LABEL_MASK || *label == MPLS_LABEL_IMPLNULL) { NL_SET_ERR_MSG_MOD(extack, "MPLS label out of range"); return -EINVAL; @@ -144,7 +149,8 @@ static const struct nla_policy mpls_policy[TCA_MPLS_MAX + 1] = { [TCA_MPLS_PARMS] = NLA_POLICY_EXACT_LEN(sizeof(struct tc_mpls)), [TCA_MPLS_PROTO] = { .type = NLA_U16 }, - [TCA_MPLS_LABEL] = NLA_POLICY_VALIDATE_FN(NLA_U32, valid_label), + [TCA_MPLS_LABEL] = NLA_POLICY_VALIDATE_FN(NLA_BINARY, + valid_label), [TCA_MPLS_TC] = NLA_POLICY_RANGE(NLA_U8, 0, 7), [TCA_MPLS_TTL] = NLA_POLICY_MIN(NLA_U8, 1), [TCA_MPLS_BOS] = NLA_POLICY_RANGE(NLA_U8, 0, 1), --- linux-gcp-5.19.0.orig/net/sched/cls_api.c +++ linux-gcp-5.19.0/net/sched/cls_api.c @@ -2136,6 +2136,7 @@ } if (chain->tmplt_ops && chain->tmplt_ops != tp->ops) { + tfilter_put(tp, fh); NL_SET_ERR_MSG(extack, "Chain template is set to a different filter kind"); err = -EINVAL; goto errout; --- linux-gcp-5.19.0.orig/net/sched/cls_flower.c +++ linux-gcp-5.19.0/net/sched/cls_flower.c @@ -1103,6 +1103,9 @@ if (option_len > sizeof(struct geneve_opt)) data_len = option_len - sizeof(struct geneve_opt); + if (key->enc_opts.len > FLOW_DIS_TUN_OPTS_MAX - 4) + return -ERANGE; + opt = (struct geneve_opt *)&key->enc_opts.data[key->enc_opts.len]; memset(opt, 0xff, option_len); opt->length = data_len / 4; --- linux-gcp-5.19.0.orig/net/sched/cls_route.c +++ linux-gcp-5.19.0/net/sched/cls_route.c @@ -424,6 +424,11 @@ return -EINVAL; } + if (!nhandle) { + NL_SET_ERR_MSG(extack, "Replacing with handle of 0 is invalid"); + return -EINVAL; + } + h1 = to_hash(nhandle); b = rtnl_dereference(head->table[h1]); if (!b) { @@ -477,6 +482,11 @@ int err; bool new = true; + if (!handle) { + NL_SET_ERR_MSG(extack, "Creating with handle of 0 is invalid"); + return -EINVAL; + } + if (opt == NULL) return handle ? -EINVAL : 0; @@ -526,7 +536,7 @@ rcu_assign_pointer(f->next, f1); rcu_assign_pointer(*fp, f); - if (fold && fold->handle && f->handle != fold->handle) { + if (fold) { th = to_hash(fold->handle); h = from_hash(fold->handle >> 16); b = rtnl_dereference(head->table[th]); --- linux-gcp-5.19.0.orig/net/sched/cls_u32.c +++ linux-gcp-5.19.0/net/sched/cls_u32.c @@ -1040,7 +1040,11 @@ } #endif - memcpy(&n->sel, s, sel_size); + unsafe_memcpy(&n->sel, s, sel_size, + /* A composite flex-array structure destination, + * which was correctly sized with struct_size(), + * bounds-checked against nla_len(), and allocated + * above. */); RCU_INIT_POINTER(n->ht_up, ht); n->handle = handle; n->fshift = s->hmask ? ffs(ntohl(s->hmask)) - 1 : 0; --- linux-gcp-5.19.0.orig/net/sched/ematch.c +++ linux-gcp-5.19.0/net/sched/ematch.c @@ -255,6 +255,8 @@ * the value carried. */ if (em_hdr->flags & TCF_EM_SIMPLE) { + if (em->ops->datalen > 0) + goto errout; if (data_len < sizeof(u32)) goto errout; em->data = *(u32 *) data; --- linux-gcp-5.19.0.orig/net/sched/sch_api.c +++ linux-gcp-5.19.0/net/sched/sch_api.c @@ -1081,12 +1081,13 @@ skip: if (!ingress) { - notify_and_destroy(net, skb, n, classid, - rtnl_dereference(dev->qdisc), new); + old = rtnl_dereference(dev->qdisc); if (new && !new->ops->attach) qdisc_refcount_inc(new); rcu_assign_pointer(dev->qdisc, new ? : &noop_qdisc); + notify_and_destroy(net, skb, n, classid, old, new); + if (new && new->ops->attach) new->ops->attach(new); } else { @@ -1113,6 +1114,11 @@ return -ENOENT; } + if (new && new->ops == &noqueue_qdisc_ops) { + NL_SET_ERR_MSG(extack, "Cannot assign noqueue to a class"); + return -EINVAL; + } + err = cops->graft(parent, cl, new, &old, extack); if (err) return err; --- linux-gcp-5.19.0.orig/net/sched/sch_atm.c +++ linux-gcp-5.19.0/net/sched/sch_atm.c @@ -397,10 +397,13 @@ result = tcf_classify(skb, NULL, fl, &res, true); if (result < 0) continue; + if (result == TC_ACT_SHOT) + goto done; + flow = (struct atm_flow_data *)res.class; if (!flow) flow = lookup_flow(sch, res.classid); - goto done; + goto drop; } } flow = NULL; @@ -577,7 +580,6 @@ pr_debug("atm_tc_reset(sch %p,[qdisc %p])\n", sch, p); list_for_each_entry(flow, &p->flows, list) qdisc_reset(flow->q); - sch->q.qlen = 0; } static void atm_tc_destroy(struct Qdisc *sch) --- linux-gcp-5.19.0.orig/net/sched/sch_cake.c +++ linux-gcp-5.19.0/net/sched/sch_cake.c @@ -2224,8 +2224,12 @@ static void cake_reset(struct Qdisc *sch) { + struct cake_sched_data *q = qdisc_priv(sch); u32 c; + if (!q->tins) + return; + for (c = 0; c < CAKE_MAX_TINS; c++) cake_clear_tin(sch, c); } --- linux-gcp-5.19.0.orig/net/sched/sch_cbq.c +++ linux-gcp-5.19.0/net/sched/sch_cbq.c @@ -231,6 +231,8 @@ result = tcf_classify(skb, NULL, fl, &res, true); if (!fl || result < 0) goto fallback; + if (result == TC_ACT_SHOT) + return NULL; cl = (void *)res.class; if (!cl) { @@ -251,8 +253,6 @@ case TC_ACT_TRAP: *qerr = NET_XMIT_SUCCESS | __NET_XMIT_STOLEN; fallthrough; - case TC_ACT_SHOT: - return NULL; case TC_ACT_RECLASSIFY: return cbq_reclassify(skb, cl); } @@ -1052,7 +1052,6 @@ cl->cpriority = cl->priority; } } - sch->q.qlen = 0; } --- linux-gcp-5.19.0.orig/net/sched/sch_choke.c +++ linux-gcp-5.19.0/net/sched/sch_choke.c @@ -315,8 +315,6 @@ rtnl_qdisc_drop(skb, sch); } - sch->q.qlen = 0; - sch->qstats.backlog = 0; if (q->tab) memset(q->tab, 0, (q->tab_mask + 1) * sizeof(struct sk_buff *)); q->head = q->tail = 0; --- linux-gcp-5.19.0.orig/net/sched/sch_drr.c +++ linux-gcp-5.19.0/net/sched/sch_drr.c @@ -441,8 +441,6 @@ qdisc_reset(cl->qdisc); } } - sch->qstats.backlog = 0; - sch->q.qlen = 0; } static void drr_destroy_qdisc(struct Qdisc *sch) --- linux-gcp-5.19.0.orig/net/sched/sch_dsmark.c +++ linux-gcp-5.19.0/net/sched/sch_dsmark.c @@ -409,8 +409,6 @@ pr_debug("%s(sch %p,[qdisc %p])\n", __func__, sch, p); if (p->q) qdisc_reset(p->q); - sch->qstats.backlog = 0; - sch->q.qlen = 0; } static void dsmark_destroy(struct Qdisc *sch) --- linux-gcp-5.19.0.orig/net/sched/sch_etf.c +++ linux-gcp-5.19.0/net/sched/sch_etf.c @@ -445,9 +445,6 @@ timesortedlist_clear(sch); __qdisc_reset_queue(&sch->q); - sch->qstats.backlog = 0; - sch->q.qlen = 0; - q->last = 0; } --- linux-gcp-5.19.0.orig/net/sched/sch_ets.c +++ linux-gcp-5.19.0/net/sched/sch_ets.c @@ -727,8 +727,6 @@ } for (band = 0; band < q->nbands; band++) qdisc_reset(q->classes[band].qdisc); - sch->qstats.backlog = 0; - sch->q.qlen = 0; } static void ets_qdisc_destroy(struct Qdisc *sch) --- linux-gcp-5.19.0.orig/net/sched/sch_fq_codel.c +++ linux-gcp-5.19.0/net/sched/sch_fq_codel.c @@ -347,8 +347,6 @@ codel_vars_init(&flow->cvars); } memset(q->backlogs, 0, q->flows_cnt * sizeof(u32)); - sch->q.qlen = 0; - sch->qstats.backlog = 0; q->memory_usage = 0; } --- linux-gcp-5.19.0.orig/net/sched/sch_fq_pie.c +++ linux-gcp-5.19.0/net/sched/sch_fq_pie.c @@ -521,9 +521,6 @@ INIT_LIST_HEAD(&flow->flowchain); pie_vars_init(&flow->vars); } - - sch->q.qlen = 0; - sch->qstats.backlog = 0; } static void fq_pie_destroy(struct Qdisc *sch) --- linux-gcp-5.19.0.orig/net/sched/sch_generic.c +++ linux-gcp-5.19.0/net/sched/sch_generic.c @@ -409,7 +409,7 @@ void __qdisc_run(struct Qdisc *q) { - int quota = dev_tx_weight; + int quota = READ_ONCE(dev_tx_weight); int packets; while (qdisc_restart(q, &packets)) { @@ -1125,6 +1125,21 @@ } EXPORT_SYMBOL(dev_graft_qdisc); +static void shutdown_scheduler_queue(struct net_device *dev, + struct netdev_queue *dev_queue, + void *_qdisc_default) +{ + struct Qdisc *qdisc = dev_queue->qdisc_sleeping; + struct Qdisc *qdisc_default = _qdisc_default; + + if (qdisc) { + rcu_assign_pointer(dev_queue->qdisc, qdisc_default); + dev_queue->qdisc_sleeping = qdisc_default; + + qdisc_put(qdisc); + } +} + static void attach_one_default_qdisc(struct net_device *dev, struct netdev_queue *dev_queue, void *_unused) @@ -1172,6 +1187,7 @@ if (qdisc == &noop_qdisc) { netdev_warn(dev, "default qdisc (%s) fail, fallback to %s\n", default_qdisc_ops->id, noqueue_qdisc_ops.id); + netdev_for_each_tx_queue(dev, shutdown_scheduler_queue, &noop_qdisc); dev->priv_flags |= IFF_NO_QUEUE; netdev_for_each_tx_queue(dev, attach_one_default_qdisc, NULL); qdisc = txq->qdisc_sleeping; @@ -1450,21 +1466,6 @@ timer_setup(&dev->watchdog_timer, dev_watchdog, 0); } -static void shutdown_scheduler_queue(struct net_device *dev, - struct netdev_queue *dev_queue, - void *_qdisc_default) -{ - struct Qdisc *qdisc = dev_queue->qdisc_sleeping; - struct Qdisc *qdisc_default = _qdisc_default; - - if (qdisc) { - rcu_assign_pointer(dev_queue->qdisc, qdisc_default); - dev_queue->qdisc_sleeping = qdisc_default; - - qdisc_put(qdisc); - } -} - void dev_shutdown(struct net_device *dev) { netdev_for_each_tx_queue(dev, shutdown_scheduler_queue, &noop_qdisc); --- linux-gcp-5.19.0.orig/net/sched/sch_gred.c +++ linux-gcp-5.19.0/net/sched/sch_gred.c @@ -377,6 +377,7 @@ /* Even if driver returns failure adjust the stats - in case offload * ended but driver still wants to adjust the values. */ + sch_tree_lock(sch); for (i = 0; i < MAX_DPs; i++) { if (!table->tab[i]) continue; @@ -393,6 +394,7 @@ sch->qstats.overlimits += hw_stats->stats.qstats[i].overlimits; } _bstats_update(&sch->bstats, bytes, packets); + sch_tree_unlock(sch); kfree(hw_stats); return ret; --- linux-gcp-5.19.0.orig/net/sched/sch_hfsc.c +++ linux-gcp-5.19.0/net/sched/sch_hfsc.c @@ -1484,8 +1484,6 @@ } q->eligible = RB_ROOT; qdisc_watchdog_cancel(&q->watchdog); - sch->qstats.backlog = 0; - sch->q.qlen = 0; } static void --- linux-gcp-5.19.0.orig/net/sched/sch_htb.c +++ linux-gcp-5.19.0/net/sched/sch_htb.c @@ -427,7 +427,10 @@ while (cl->cmode == HTB_MAY_BORROW && p && mask) { m = mask; while (m) { - int prio = ffz(~m); + unsigned int prio = ffz(~m); + + if (WARN_ON_ONCE(prio >= ARRAY_SIZE(p->inner.clprio))) + break; m &= ~(1 << prio); if (p->inner.clprio[prio].feed.rb_node) @@ -1008,8 +1011,6 @@ } qdisc_watchdog_cancel(&q->watchdog); __qdisc_reset_queue(&q->direct_queue); - sch->q.qlen = 0; - sch->qstats.backlog = 0; memset(q->hlevel, 0, sizeof(q->hlevel)); memset(q->row_mask, 0, sizeof(q->row_mask)); } @@ -1566,7 +1567,7 @@ struct tc_htb_qopt_offload offload_opt; struct netdev_queue *dev_queue; struct Qdisc *q = cl->leaf.q; - struct Qdisc *old = NULL; + struct Qdisc *old; int err; if (cl->level) @@ -1574,14 +1575,17 @@ WARN_ON(!q); dev_queue = htb_offload_get_queue(cl); - old = htb_graft_helper(dev_queue, NULL); - if (destroying) - /* Before HTB is destroyed, the kernel grafts noop_qdisc to - * all queues. + /* When destroying, caller qdisc_graft grafts the new qdisc and invokes + * qdisc_put for the qdisc being destroyed. htb_destroy_class_offload + * does not need to graft or qdisc_put the qdisc being destroyed. + */ + if (!destroying) { + old = htb_graft_helper(dev_queue, NULL); + /* Last qdisc grafted should be the same as cl->leaf.q when + * calling htb_delete. */ - WARN_ON(!(old->flags & TCQ_F_BUILTIN)); - else WARN_ON(old != q); + } if (cl->parent) { _bstats_update(&cl->parent->bstats_bias, @@ -1598,10 +1602,12 @@ }; err = htb_offload(qdisc_dev(sch), &offload_opt); - if (!err || destroying) - qdisc_put(old); - else - htb_graft_helper(dev_queue, old); + if (!destroying) { + if (!err) + qdisc_put(old); + else + htb_graft_helper(dev_queue, old); + } if (last_child) return err; --- linux-gcp-5.19.0.orig/net/sched/sch_multiq.c +++ linux-gcp-5.19.0/net/sched/sch_multiq.c @@ -152,7 +152,6 @@ for (band = 0; band < q->bands; band++) qdisc_reset(q->queues[band]); - sch->q.qlen = 0; q->curband = 0; } --- linux-gcp-5.19.0.orig/net/sched/sch_prio.c +++ linux-gcp-5.19.0/net/sched/sch_prio.c @@ -135,8 +135,6 @@ for (prio = 0; prio < q->bands; prio++) qdisc_reset(q->queues[prio]); - sch->qstats.backlog = 0; - sch->q.qlen = 0; } static int prio_offload(struct Qdisc *sch, struct tc_prio_qopt *qopt) --- linux-gcp-5.19.0.orig/net/sched/sch_qfq.c +++ linux-gcp-5.19.0/net/sched/sch_qfq.c @@ -421,15 +421,16 @@ } else weight = 1; - if (tb[TCA_QFQ_LMAX]) { + if (tb[TCA_QFQ_LMAX]) lmax = nla_get_u32(tb[TCA_QFQ_LMAX]); - if (lmax < QFQ_MIN_LMAX || lmax > (1UL << QFQ_MTU_SHIFT)) { - pr_notice("qfq: invalid max length %u\n", lmax); - return -EINVAL; - } - } else + else lmax = psched_mtu(qdisc_dev(sch)); + if (lmax < QFQ_MIN_LMAX || lmax > (1UL << QFQ_MTU_SHIFT)) { + pr_notice("qfq: invalid max length %u\n", lmax); + return -EINVAL; + } + inv_w = ONE_FP / weight; weight = ONE_FP / inv_w; @@ -1458,8 +1459,6 @@ qdisc_reset(cl->qdisc); } } - sch->qstats.backlog = 0; - sch->q.qlen = 0; } static void qfq_destroy_qdisc(struct Qdisc *sch) --- linux-gcp-5.19.0.orig/net/sched/sch_red.c +++ linux-gcp-5.19.0/net/sched/sch_red.c @@ -72,6 +72,7 @@ { struct red_sched_data *q = qdisc_priv(sch); struct Qdisc *child = q->qdisc; + unsigned int len; int ret; q->vars.qavg = red_calc_qavg(&q->parms, @@ -126,9 +127,10 @@ break; } + len = qdisc_pkt_len(skb); ret = qdisc_enqueue(skb, child, to_free); if (likely(ret == NET_XMIT_SUCCESS)) { - qdisc_qstats_backlog_inc(sch, skb); + sch->qstats.backlog += len; sch->q.qlen++; } else if (net_xmit_drop_count(ret)) { q->stats.pdrop++; @@ -176,8 +178,6 @@ struct red_sched_data *q = qdisc_priv(sch); qdisc_reset(q->qdisc); - sch->qstats.backlog = 0; - sch->q.qlen = 0; red_restart(&q->vars); } --- linux-gcp-5.19.0.orig/net/sched/sch_sfb.c +++ linux-gcp-5.19.0/net/sched/sch_sfb.c @@ -135,15 +135,15 @@ } } -static void increment_qlen(const struct sk_buff *skb, struct sfb_sched_data *q) +static void increment_qlen(const struct sfb_skb_cb *cb, struct sfb_sched_data *q) { u32 sfbhash; - sfbhash = sfb_hash(skb, 0); + sfbhash = cb->hashes[0]; if (sfbhash) increment_one_qlen(sfbhash, 0, q); - sfbhash = sfb_hash(skb, 1); + sfbhash = cb->hashes[1]; if (sfbhash) increment_one_qlen(sfbhash, 1, q); } @@ -281,8 +281,10 @@ { struct sfb_sched_data *q = qdisc_priv(sch); + unsigned int len = qdisc_pkt_len(skb); struct Qdisc *child = q->qdisc; struct tcf_proto *fl; + struct sfb_skb_cb cb; int i; u32 p_min = ~0; u32 minqlen = ~0; @@ -399,11 +401,12 @@ } enqueue: + memcpy(&cb, sfb_skb_cb(skb), sizeof(cb)); ret = qdisc_enqueue(skb, child, to_free); if (likely(ret == NET_XMIT_SUCCESS)) { - qdisc_qstats_backlog_inc(sch, skb); + sch->qstats.backlog += len; sch->q.qlen++; - increment_qlen(skb, q); + increment_qlen(&cb, q); } else if (net_xmit_drop_count(ret)) { q->stats.childdrop++; qdisc_qstats_drop(sch); @@ -452,9 +455,8 @@ { struct sfb_sched_data *q = qdisc_priv(sch); - qdisc_reset(q->qdisc); - sch->qstats.backlog = 0; - sch->q.qlen = 0; + if (likely(q->qdisc)) + qdisc_reset(q->qdisc); q->slot = 0; q->double_buffering = false; sfb_zero_all_buckets(q); --- linux-gcp-5.19.0.orig/net/sched/sch_skbprio.c +++ linux-gcp-5.19.0/net/sched/sch_skbprio.c @@ -213,9 +213,6 @@ struct skbprio_sched_data *q = qdisc_priv(sch); int prio; - sch->qstats.backlog = 0; - sch->q.qlen = 0; - for (prio = 0; prio < SKBPRIO_MAX_PRIORITY; prio++) __skb_queue_purge(&q->qdiscs[prio]); --- linux-gcp-5.19.0.orig/net/sched/sch_taprio.c +++ linux-gcp-5.19.0/net/sched/sch_taprio.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -66,6 +67,7 @@ u32 flags; enum tk_offsets tk_offset; int clockid; + bool offloaded; atomic64_t picos_per_byte; /* Using picoseconds because for 10Gbps+ * speeds it's sub-nanoseconds per byte */ @@ -176,7 +178,7 @@ static int length_to_duration(struct taprio_sched *q, int len) { - return div_u64(len * atomic64_read(&q->picos_per_byte), 1000); + return div_u64(len * atomic64_read(&q->picos_per_byte), PSEC_PER_NSEC); } /* Returns the entry corresponding to next available interval. If @@ -551,7 +553,7 @@ static void taprio_set_budget(struct taprio_sched *q, struct sched_entry *entry) { atomic_set(&entry->budget, - div64_u64((u64)entry->interval * 1000, + div64_u64((u64)entry->interval * PSEC_PER_NSEC, atomic64_read(&q->picos_per_byte))); } @@ -1278,6 +1280,8 @@ goto done; } + q->offloaded = true; + done: taprio_offload_free(offload); @@ -1292,12 +1296,9 @@ struct tc_taprio_qopt_offload *offload; int err; - if (!FULL_OFFLOAD_IS_ENABLED(q->flags)) + if (!q->offloaded) return 0; - if (!ops->ndo_setup_tc) - return -EOPNOTSUPP; - offload = taprio_offload_alloc(0); if (!offload) { NL_SET_ERR_MSG(extack, @@ -1313,6 +1314,8 @@ goto out; } + q->offloaded = false; + out: taprio_offload_free(offload); @@ -1630,13 +1633,12 @@ int i; hrtimer_cancel(&q->advance_timer); + if (q->qdiscs) { for (i = 0; i < dev->num_tx_queues; i++) if (q->qdiscs[i]) qdisc_reset(q->qdiscs[i]); } - sch->qstats.backlog = 0; - sch->q.qlen = 0; } static void taprio_destroy(struct Qdisc *sch) @@ -1653,6 +1655,7 @@ * happens in qdisc_create(), after taprio_init() has been called. */ hrtimer_cancel(&q->advance_timer); + qdisc_synchronize(sch); taprio_disable_offload(dev, q, NULL); --- linux-gcp-5.19.0.orig/net/sched/sch_tbf.c +++ linux-gcp-5.19.0/net/sched/sch_tbf.c @@ -330,8 +330,6 @@ struct tbf_sched_data *q = qdisc_priv(sch); qdisc_reset(q->qdisc); - sch->qstats.backlog = 0; - sch->q.qlen = 0; q->t_c = ktime_get_ns(); q->tokens = q->buffer; q->ptokens = q->mtu; @@ -356,6 +354,7 @@ struct nlattr *tb[TCA_TBF_MAX + 1]; struct tc_tbf_qopt *qopt; struct Qdisc *child = NULL; + struct Qdisc *old = NULL; struct psched_ratecfg rate; struct psched_ratecfg peak; u64 max_size; @@ -447,7 +446,7 @@ sch_tree_lock(sch); if (child) { qdisc_tree_flush_backlog(q->qdisc); - qdisc_put(q->qdisc); + old = q->qdisc; q->qdisc = child; } q->limit = qopt->limit; @@ -467,6 +466,7 @@ memcpy(&q->peak, &peak, sizeof(struct psched_ratecfg)); sch_tree_unlock(sch); + qdisc_put(old); err = 0; tbf_offload_change(sch); --- linux-gcp-5.19.0.orig/net/sched/sch_teql.c +++ linux-gcp-5.19.0/net/sched/sch_teql.c @@ -124,7 +124,6 @@ struct teql_sched_data *dat = qdisc_priv(sch); skb_queue_purge(&dat->q); - sch->q.qlen = 0; } static void --- linux-gcp-5.19.0.orig/net/sctp/auth.c +++ linux-gcp-5.19.0/net/sctp/auth.c @@ -863,12 +863,17 @@ } list_del_init(&shkey->key_list); - sctp_auth_shkey_release(shkey); list_add(&cur_key->key_list, sh_keys); - if (asoc && asoc->active_key_id == auth_key->sca_keynumber) - sctp_auth_asoc_init_active_key(asoc, GFP_KERNEL); + if (asoc && asoc->active_key_id == auth_key->sca_keynumber && + sctp_auth_asoc_init_active_key(asoc, GFP_KERNEL)) { + list_del_init(&cur_key->key_list); + sctp_auth_shkey_release(cur_key); + list_add(&shkey->key_list, sh_keys); + return -ENOMEM; + } + sctp_auth_shkey_release(shkey); return 0; } @@ -902,8 +907,13 @@ return -EINVAL; if (asoc) { + __u16 active_key_id = asoc->active_key_id; + asoc->active_key_id = key_id; - sctp_auth_asoc_init_active_key(asoc, GFP_KERNEL); + if (sctp_auth_asoc_init_active_key(asoc, GFP_KERNEL)) { + asoc->active_key_id = active_key_id; + return -ENOMEM; + } } else ep->active_key_id = key_id; --- linux-gcp-5.19.0.orig/net/sctp/bind_addr.c +++ linux-gcp-5.19.0/net/sctp/bind_addr.c @@ -73,6 +73,12 @@ } } + /* If somehow no addresses were found that can be used with this + * scope, it's an error. + */ + if (list_empty(&dest->address_list)) + error = -ENETUNREACH; + out: if (error) sctp_bind_addr_clean(dest); --- linux-gcp-5.19.0.orig/net/sctp/diag.c +++ linux-gcp-5.19.0/net/sctp/diag.c @@ -343,11 +343,9 @@ struct sctp_comm_param *commp = p; struct sock *sk = ep->base.sk; const struct inet_diag_req_v2 *r = commp->r; - struct sctp_association *assoc = - list_entry(ep->asocs.next, struct sctp_association, asocs); /* find the ep only once through the transports by this condition */ - if (tsp->asoc != assoc) + if (!list_is_first(&tsp->asoc->asocs, &ep->asocs)) return 0; if (r->sdiag_family != AF_UNSPEC && sk->sk_family != r->sdiag_family) --- linux-gcp-5.19.0.orig/net/sctp/outqueue.c +++ linux-gcp-5.19.0/net/sctp/outqueue.c @@ -384,6 +384,7 @@ { struct sctp_outq *q = &asoc->outqueue; struct sctp_chunk *chk, *temp; + struct sctp_stream_out *sout; q->sched->unsched_all(&asoc->stream); @@ -398,12 +399,14 @@ sctp_sched_dequeue_common(q, chk); asoc->sent_cnt_removable--; asoc->abandoned_unsent[SCTP_PR_INDEX(PRIO)]++; - if (chk->sinfo.sinfo_stream < asoc->stream.outcnt) { - struct sctp_stream_out *streamout = - SCTP_SO(&asoc->stream, chk->sinfo.sinfo_stream); - streamout->ext->abandoned_unsent[SCTP_PR_INDEX(PRIO)]++; - } + sout = SCTP_SO(&asoc->stream, chk->sinfo.sinfo_stream); + sout->ext->abandoned_unsent[SCTP_PR_INDEX(PRIO)]++; + + /* clear out_curr if all frag chunks are pruned */ + if (asoc->stream.out_curr == sout && + list_is_last(&chk->frag_list, &chk->msg->chunks)) + asoc->stream.out_curr = NULL; msg_len -= chk->skb->truesize + sizeof(struct sctp_chunk); sctp_chunk_free(chk); --- linux-gcp-5.19.0.orig/net/sctp/stream.c +++ linux-gcp-5.19.0/net/sctp/stream.c @@ -52,6 +52,19 @@ } } +static void sctp_stream_free_ext(struct sctp_stream *stream, __u16 sid) +{ + struct sctp_sched_ops *sched; + + if (!SCTP_SO(stream, sid)->ext) + return; + + sched = sctp_sched_ops_from_stream(stream); + sched->free_sid(stream, sid); + kfree(SCTP_SO(stream, sid)->ext); + SCTP_SO(stream, sid)->ext = NULL; +} + /* Migrates chunks from stream queues to new stream queues if needed, * but not across associations. Also, removes those chunks to streams * higher than the new max. @@ -70,16 +83,14 @@ * sctp_stream_update will swap ->out pointers. */ for (i = 0; i < outcnt; i++) { - kfree(SCTP_SO(new, i)->ext); + sctp_stream_free_ext(new, i); SCTP_SO(new, i)->ext = SCTP_SO(stream, i)->ext; SCTP_SO(stream, i)->ext = NULL; } } - for (i = outcnt; i < stream->outcnt; i++) { - kfree(SCTP_SO(stream, i)->ext); - SCTP_SO(stream, i)->ext = NULL; - } + for (i = outcnt; i < stream->outcnt; i++) + sctp_stream_free_ext(stream, i); } static int sctp_stream_alloc_out(struct sctp_stream *stream, __u16 outcnt, @@ -174,9 +185,9 @@ struct sctp_sched_ops *sched = sctp_sched_ops_from_stream(stream); int i; - sched->free(stream); + sched->unsched_all(stream); for (i = 0; i < stream->outcnt; i++) - kfree(SCTP_SO(stream, i)->ext); + sctp_stream_free_ext(stream, i); genradix_free(&stream->out); genradix_free(&stream->in); } --- linux-gcp-5.19.0.orig/net/sctp/stream_sched.c +++ linux-gcp-5.19.0/net/sctp/stream_sched.c @@ -46,6 +46,10 @@ return 0; } +static void sctp_sched_fcfs_free_sid(struct sctp_stream *stream, __u16 sid) +{ +} + static void sctp_sched_fcfs_free(struct sctp_stream *stream) { } @@ -96,6 +100,7 @@ .get = sctp_sched_fcfs_get, .init = sctp_sched_fcfs_init, .init_sid = sctp_sched_fcfs_init_sid, + .free_sid = sctp_sched_fcfs_free_sid, .free = sctp_sched_fcfs_free, .enqueue = sctp_sched_fcfs_enqueue, .dequeue = sctp_sched_fcfs_dequeue, --- linux-gcp-5.19.0.orig/net/sctp/stream_sched_prio.c +++ linux-gcp-5.19.0/net/sctp/stream_sched_prio.c @@ -204,6 +204,24 @@ return sctp_sched_prio_set(stream, sid, 0, gfp); } +static void sctp_sched_prio_free_sid(struct sctp_stream *stream, __u16 sid) +{ + struct sctp_stream_priorities *prio = SCTP_SO(stream, sid)->ext->prio_head; + int i; + + if (!prio) + return; + + SCTP_SO(stream, sid)->ext->prio_head = NULL; + for (i = 0; i < stream->outcnt; i++) { + if (SCTP_SO(stream, i)->ext && + SCTP_SO(stream, i)->ext->prio_head == prio) + return; + } + + kfree(prio); +} + static void sctp_sched_prio_free(struct sctp_stream *stream) { struct sctp_stream_priorities *prio, *n; @@ -323,6 +341,7 @@ .get = sctp_sched_prio_get, .init = sctp_sched_prio_init, .init_sid = sctp_sched_prio_init_sid, + .free_sid = sctp_sched_prio_free_sid, .free = sctp_sched_prio_free, .enqueue = sctp_sched_prio_enqueue, .dequeue = sctp_sched_prio_dequeue, --- linux-gcp-5.19.0.orig/net/sctp/stream_sched_rr.c +++ linux-gcp-5.19.0/net/sctp/stream_sched_rr.c @@ -90,6 +90,10 @@ return 0; } +static void sctp_sched_rr_free_sid(struct sctp_stream *stream, __u16 sid) +{ +} + static void sctp_sched_rr_free(struct sctp_stream *stream) { sctp_sched_rr_unsched_all(stream); @@ -177,6 +181,7 @@ .get = sctp_sched_rr_get, .init = sctp_sched_rr_init, .init_sid = sctp_sched_rr_init_sid, + .free_sid = sctp_sched_rr_free_sid, .free = sctp_sched_rr_free, .enqueue = sctp_sched_rr_enqueue, .dequeue = sctp_sched_rr_dequeue, --- linux-gcp-5.19.0.orig/net/sctp/sysctl.c +++ linux-gcp-5.19.0/net/sctp/sysctl.c @@ -84,17 +84,18 @@ { /* sentinel */ } }; +/* The following index defines are used in sctp_sysctl_net_register(). + * If you add new items to the sctp_net_table, please ensure that + * the index values of these defines hold the same meaning indicated by + * their macro names when they appear in sctp_net_table. + */ +#define SCTP_RTO_MIN_IDX 0 +#define SCTP_RTO_MAX_IDX 1 +#define SCTP_PF_RETRANS_IDX 2 +#define SCTP_PS_RETRANS_IDX 3 + static struct ctl_table sctp_net_table[] = { - { - .procname = "rto_initial", - .data = &init_net.sctp.rto_initial, - .maxlen = sizeof(unsigned int), - .mode = 0644, - .proc_handler = proc_dointvec_minmax, - .extra1 = SYSCTL_ONE, - .extra2 = &timer_max - }, - { + [SCTP_RTO_MIN_IDX] = { .procname = "rto_min", .data = &init_net.sctp.rto_min, .maxlen = sizeof(unsigned int), @@ -103,7 +104,7 @@ .extra1 = SYSCTL_ONE, .extra2 = &init_net.sctp.rto_max }, - { + [SCTP_RTO_MAX_IDX] = { .procname = "rto_max", .data = &init_net.sctp.rto_max, .maxlen = sizeof(unsigned int), @@ -112,6 +113,33 @@ .extra1 = &init_net.sctp.rto_min, .extra2 = &timer_max }, + [SCTP_PF_RETRANS_IDX] = { + .procname = "pf_retrans", + .data = &init_net.sctp.pf_retrans, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = proc_dointvec_minmax, + .extra1 = SYSCTL_ZERO, + .extra2 = &init_net.sctp.ps_retrans, + }, + [SCTP_PS_RETRANS_IDX] = { + .procname = "ps_retrans", + .data = &init_net.sctp.ps_retrans, + .maxlen = sizeof(int), + .mode = 0644, + .proc_handler = proc_dointvec_minmax, + .extra1 = &init_net.sctp.pf_retrans, + .extra2 = &ps_retrans_max, + }, + { + .procname = "rto_initial", + .data = &init_net.sctp.rto_initial, + .maxlen = sizeof(unsigned int), + .mode = 0644, + .proc_handler = proc_dointvec_minmax, + .extra1 = SYSCTL_ONE, + .extra2 = &timer_max + }, { .procname = "rto_alpha_exp_divisor", .data = &init_net.sctp.rto_alpha, @@ -208,24 +236,6 @@ .extra2 = SYSCTL_INT_MAX, }, { - .procname = "pf_retrans", - .data = &init_net.sctp.pf_retrans, - .maxlen = sizeof(int), - .mode = 0644, - .proc_handler = proc_dointvec_minmax, - .extra1 = SYSCTL_ZERO, - .extra2 = &init_net.sctp.ps_retrans, - }, - { - .procname = "ps_retrans", - .data = &init_net.sctp.ps_retrans, - .maxlen = sizeof(int), - .mode = 0644, - .proc_handler = proc_dointvec_minmax, - .extra1 = &init_net.sctp.pf_retrans, - .extra2 = &ps_retrans_max, - }, - { .procname = "sndbuf_policy", .data = &init_net.sctp.sndbuf_policy, .maxlen = sizeof(int), @@ -586,6 +596,11 @@ for (i = 0; table[i].data; i++) table[i].data += (char *)(&net->sctp) - (char *)&init_net.sctp; + table[SCTP_RTO_MIN_IDX].extra2 = &net->sctp.rto_max; + table[SCTP_RTO_MAX_IDX].extra1 = &net->sctp.rto_min; + table[SCTP_PF_RETRANS_IDX].extra2 = &net->sctp.ps_retrans; + table[SCTP_PS_RETRANS_IDX].extra1 = &net->sctp.pf_retrans; + net->sctp.sysctl_header = register_net_sysctl(net, "net/sctp", table); if (net->sctp.sysctl_header == NULL) { kfree(table); --- linux-gcp-5.19.0.orig/net/sctp/transport.c +++ linux-gcp-5.19.0/net/sctp/transport.c @@ -196,9 +196,7 @@ /* When a data chunk is sent, reset the heartbeat interval. */ expires = jiffies + sctp_transport_timeout(transport); - if ((time_before(transport->hb_timer.expires, expires) || - !timer_pending(&transport->hb_timer)) && - !mod_timer(&transport->hb_timer, + if (!mod_timer(&transport->hb_timer, expires + prandom_u32_max(transport->rto))) sctp_transport_hold(transport); } --- linux-gcp-5.19.0.orig/net/smc/af_smc.c +++ linux-gcp-5.19.0/net/smc/af_smc.c @@ -1780,8 +1780,10 @@ smc_llc_link_active(link); smcr_lgr_set_type(link->lgr, SMC_LGR_SINGLE); + mutex_lock(&link->lgr->llc_conf_mutex); /* initial contact - try to establish second link */ smc_llc_srv_add_link(link, NULL); + mutex_unlock(&link->lgr->llc_conf_mutex); return 0; } @@ -1812,7 +1814,6 @@ { struct sock *newsmcsk = &new_smc->sk; - sk_refcnt_debug_inc(newsmcsk); if (newsmcsk->sk_state == SMC_INIT) newsmcsk->sk_state = SMC_ACTIVE; @@ -3333,14 +3334,14 @@ rc = register_pernet_subsys(&smc_net_stat_ops); if (rc) - return rc; + goto out_pernet_subsys; smc_ism_init(); smc_clc_init(); rc = smc_nl_init(); if (rc) - goto out_pernet_subsys; + goto out_pernet_subsys_stat; rc = smc_pnet_init(); if (rc) @@ -3433,6 +3434,8 @@ smc_pnet_exit(); out_nl: smc_nl_exit(); +out_pernet_subsys_stat: + unregister_pernet_subsys(&smc_net_stat_ops); out_pernet_subsys: unregister_pernet_subsys(&smc_net_ops); --- linux-gcp-5.19.0.orig/net/smc/smc_core.c +++ linux-gcp-5.19.0/net/smc/smc_core.c @@ -755,6 +755,7 @@ lnk->lgr = lgr; smc_lgr_hold(lgr); /* lgr_put in smcr_link_clear() */ lnk->link_idx = link_idx; + lnk->wr_rx_id_compl = 0; smc_ibdev_cnt_inc(lnk); smcr_copy_dev_info_to_link(lnk); atomic_set(&lnk->conn_cnt, 0); @@ -893,7 +894,8 @@ } memcpy(lgr->pnet_id, ibdev->pnetid[ibport - 1], SMC_MAX_PNETID_LEN); - if (smc_wr_alloc_lgr_mem(lgr)) + rc = smc_wr_alloc_lgr_mem(lgr); + if (rc) goto free_wq; smc_llc_lgr_init(lgr, smc); @@ -2147,7 +2149,7 @@ static int smcr_buf_map_usable_links(struct smc_link_group *lgr, struct smc_buf_desc *buf_desc, bool is_rmb) { - int i, rc = 0; + int i, rc = 0, cnt = 0; /* protect against parallel link reconfiguration */ mutex_lock(&lgr->llc_conf_mutex); @@ -2160,9 +2162,12 @@ rc = -ENOMEM; goto out; } + cnt++; } out: mutex_unlock(&lgr->llc_conf_mutex); + if (!rc && !cnt) + rc = -EINVAL; return rc; } --- linux-gcp-5.19.0.orig/net/smc/smc_core.h +++ linux-gcp-5.19.0/net/smc/smc_core.h @@ -115,8 +115,10 @@ dma_addr_t wr_rx_dma_addr; /* DMA address of wr_rx_bufs */ dma_addr_t wr_rx_v2_dma_addr; /* DMA address of v2 rx buf*/ u64 wr_rx_id; /* seq # of last recv WR */ + u64 wr_rx_id_compl; /* seq # of last completed WR */ u32 wr_rx_cnt; /* number of WR recv buffers */ unsigned long wr_rx_tstamp; /* jiffies when last buf rx */ + wait_queue_head_t wr_rx_empty_wait; /* wait for RQ empty */ struct ib_reg_wr wr_reg; /* WR register memory region */ wait_queue_head_t wr_reg_wait; /* wait for wr_reg result */ --- linux-gcp-5.19.0.orig/net/smc/smc_wr.c +++ linux-gcp-5.19.0/net/smc/smc_wr.c @@ -454,6 +454,7 @@ for (i = 0; i < num; i++) { link = wc[i].qp->qp_context; + link->wr_rx_id_compl = wc[i].wr_id; if (wc[i].status == IB_WC_SUCCESS) { link->wr_rx_tstamp = jiffies; smc_wr_rx_demultiplex(&wc[i]); @@ -465,6 +466,8 @@ case IB_WC_RNR_RETRY_EXC_ERR: case IB_WC_WR_FLUSH_ERR: smcr_link_down_cond_sched(link); + if (link->wr_rx_id_compl == link->wr_rx_id) + wake_up(&link->wr_rx_empty_wait); break; default: smc_wr_rx_post(link); /* refill WR RX */ @@ -639,6 +642,7 @@ return; ibdev = lnk->smcibdev->ibdev; + smc_wr_drain_cq(lnk); smc_wr_wakeup_reg_wait(lnk); smc_wr_wakeup_tx_wait(lnk); @@ -889,6 +893,7 @@ atomic_set(&lnk->wr_tx_refcnt, 0); init_waitqueue_head(&lnk->wr_reg_wait); atomic_set(&lnk->wr_reg_refcnt, 0); + init_waitqueue_head(&lnk->wr_rx_empty_wait); return rc; dma_unmap: --- linux-gcp-5.19.0.orig/net/smc/smc_wr.h +++ linux-gcp-5.19.0/net/smc/smc_wr.h @@ -73,6 +73,11 @@ wake_up_all(&link->wr_tx_wait); } +static inline void smc_wr_drain_cq(struct smc_link *lnk) +{ + wait_event(lnk->wr_rx_empty_wait, lnk->wr_rx_id_compl == lnk->wr_rx_id); +} + static inline void smc_wr_wakeup_tx_wait(struct smc_link *lnk) { wake_up_all(&lnk->wr_tx_wait); --- linux-gcp-5.19.0.orig/net/socket.c +++ linux-gcp-5.19.0/net/socket.c @@ -449,7 +449,9 @@ * * Returns the &file bound with @sock, implicitly storing it * in sock->file. If dname is %NULL, sets to "". - * On failure the return is a ERR pointer (see linux/err.h). + * + * On failure @sock is released, and an ERR pointer is returned. + * * This function uses GFP_KERNEL internally. */ @@ -971,9 +973,12 @@ static void sock_recv_mark(struct msghdr *msg, struct sock *sk, struct sk_buff *skb) { - if (sock_flag(sk, SOCK_RCVMARK) && skb) - put_cmsg(msg, SOL_SOCKET, SO_MARK, sizeof(__u32), - &skb->mark); + if (sock_flag(sk, SOCK_RCVMARK) && skb) { + /* We must use a bounce buffer for CONFIG_HARDENED_USERCOPY=y */ + __u32 mark = skb->mark; + + put_cmsg(msg, SOL_SOCKET, SO_MARK, sizeof(__u32), &mark); + } } void __sock_recv_cmsgs(struct msghdr *msg, struct sock *sk, @@ -1610,7 +1615,6 @@ struct file *__sys_socket_file(int family, int type, int protocol) { struct socket *sock; - struct file *file; int flags; sock = __sys_socket_create(family, type, protocol); @@ -1621,11 +1625,7 @@ if (SOCK_NONBLOCK != O_NONBLOCK && (flags & SOCK_NONBLOCK)) flags = (flags & ~SOCK_NONBLOCK) | O_NONBLOCK; - file = sock_alloc_file(sock, flags, NULL); - if (IS_ERR(file)) - sock_release(sock); - - return file; + return sock_alloc_file(sock, flags, NULL); } int __sys_socket(int family, int type, int protocol) @@ -1801,7 +1801,7 @@ sock = sockfd_lookup_light(fd, &err, &fput_needed); if (sock) { - somaxconn = sock_net(sock->sk)->core.sysctl_somaxconn; + somaxconn = READ_ONCE(sock_net(sock->sk)->core.sysctl_somaxconn); if ((unsigned int)backlog > somaxconn) backlog = somaxconn; --- linux-gcp-5.19.0.orig/net/sunrpc/auth.c +++ linux-gcp-5.19.0/net/sunrpc/auth.c @@ -445,7 +445,7 @@ * Enforce a 60 second garbage collection moratorium * Note that the cred_unused list must be time-ordered. */ - if (!time_in_range(cred->cr_expire, expired, jiffies)) + if (time_in_range(cred->cr_expire, expired, jiffies)) continue; if (!rpcauth_unhash_cred(cred)) continue; --- linux-gcp-5.19.0.orig/net/sunrpc/auth_gss/auth_gss.c +++ linux-gcp-5.19.0/net/sunrpc/auth_gss/auth_gss.c @@ -302,7 +302,7 @@ list_for_each_entry(pos, &pipe->in_downcall, list) { if (!uid_eq(pos->uid, uid)) continue; - if (auth && pos->auth->service != auth->service) + if (pos->auth->service != auth->service) continue; refcount_inc(&pos->count); return pos; @@ -686,6 +686,21 @@ return err; } +static struct gss_upcall_msg * +gss_find_downcall(struct rpc_pipe *pipe, kuid_t uid) +{ + struct gss_upcall_msg *pos; + list_for_each_entry(pos, &pipe->in_downcall, list) { + if (!uid_eq(pos->uid, uid)) + continue; + if (!rpc_msg_is_inflight(&pos->msg)) + continue; + refcount_inc(&pos->count); + return pos; + } + return NULL; +} + #define MSG_BUF_MAXSIZE 1024 static ssize_t @@ -732,7 +747,7 @@ err = -ENOENT; /* Find a matching upcall */ spin_lock(&pipe->lock); - gss_msg = __gss_find_upcall(pipe, uid, NULL); + gss_msg = gss_find_downcall(pipe, uid); if (gss_msg == NULL) { spin_unlock(&pipe->lock); goto err_put_ctx; @@ -1992,7 +2007,7 @@ goto unwrap_failed; mic.len = len; mic.data = kmalloc(len, GFP_KERNEL); - if (!mic.data) + if (ZERO_OR_NULL_PTR(mic.data)) goto unwrap_failed; if (read_bytes_from_xdr_buf(rcv_buf, offset, mic.data, mic.len)) goto unwrap_failed; --- linux-gcp-5.19.0.orig/net/sunrpc/auth_gss/svcauth_gss.c +++ linux-gcp-5.19.0/net/sunrpc/auth_gss/svcauth_gss.c @@ -900,7 +900,7 @@ * rejecting the server-computed MIC in this somewhat rare case, * do not use splice with the GSS integrity service. */ - __clear_bit(RQ_SPLICE_OK, &rqstp->rq_flags); + clear_bit(RQ_SPLICE_OK, &rqstp->rq_flags); /* Did we already verify the signature on the original pass through? */ if (rqstp->rq_deferred) @@ -972,7 +972,7 @@ int pad, remaining_len, offset; u32 rseqno; - __clear_bit(RQ_SPLICE_OK, &rqstp->rq_flags); + clear_bit(RQ_SPLICE_OK, &rqstp->rq_flags); priv_len = svc_getnl(&buf->head[0]); if (rqstp->rq_deferred) { @@ -1162,18 +1162,23 @@ return res; inlen = svc_getnl(argv); - if (inlen > (argv->iov_len + rqstp->rq_arg.page_len)) + if (inlen > (argv->iov_len + rqstp->rq_arg.page_len)) { + kfree(in_handle->data); return SVC_DENIED; + } pages = DIV_ROUND_UP(inlen, PAGE_SIZE); in_token->pages = kcalloc(pages, sizeof(struct page *), GFP_KERNEL); - if (!in_token->pages) + if (!in_token->pages) { + kfree(in_handle->data); return SVC_DENIED; + } in_token->page_base = 0; in_token->page_len = inlen; for (i = 0; i < pages; i++) { in_token->pages[i] = alloc_page(GFP_KERNEL); if (!in_token->pages[i]) { + kfree(in_handle->data); gss_free_in_token_pages(in_token); return SVC_DENIED; } --- linux-gcp-5.19.0.orig/net/sunrpc/backchannel_rqst.c +++ linux-gcp-5.19.0/net/sunrpc/backchannel_rqst.c @@ -64,6 +64,17 @@ kfree(req); } +static void xprt_bc_reinit_xdr_buf(struct xdr_buf *buf) +{ + buf->head[0].iov_len = PAGE_SIZE; + buf->tail[0].iov_len = 0; + buf->pages = NULL; + buf->page_len = 0; + buf->flags = 0; + buf->len = 0; + buf->buflen = PAGE_SIZE; +} + static int xprt_alloc_xdr_buf(struct xdr_buf *buf, gfp_t gfp_flags) { struct page *page; @@ -292,6 +303,9 @@ */ spin_lock_bh(&xprt->bc_pa_lock); if (xprt_need_to_requeue(xprt)) { + xprt_bc_reinit_xdr_buf(&req->rq_snd_buf); + xprt_bc_reinit_xdr_buf(&req->rq_rcv_buf); + req->rq_rcv_buf.len = PAGE_SIZE; list_add_tail(&req->rq_bc_pa_list, &xprt->bc_pa_list); xprt->bc_alloc_count++; atomic_inc(&xprt->bc_slot_count); --- linux-gcp-5.19.0.orig/net/sunrpc/clnt.c +++ linux-gcp-5.19.0/net/sunrpc/clnt.c @@ -1377,7 +1377,7 @@ break; default: err = -EAFNOSUPPORT; - goto out; + goto out_release; } if (err < 0) { dprintk("RPC: can't bind UDP socket (%d)\n", err); @@ -1856,7 +1856,6 @@ req->rq_snd_buf.head[0].iov_len = 0; xdr_init_encode(&xdr, &req->rq_snd_buf, req->rq_snd_buf.head[0].iov_base, req); - xdr_free_bvec(&req->rq_snd_buf); if (rpc_encode_header(task, &xdr)) return; @@ -1889,7 +1888,7 @@ break; case -EKEYEXPIRED: if (!task->tk_cred_retry) { - rpc_exit(task, task->tk_status); + rpc_call_rpcerror(task, task->tk_status); } else { task->tk_action = call_refresh; task->tk_cred_retry--; @@ -2859,6 +2858,9 @@ task = rpc_call_null_helper(clnt, xprt, NULL, RPC_TASK_ASYNC, &rpc_cb_add_xprt_call_ops, data); + if (IS_ERR(task)) + return PTR_ERR(task); + data->xps->xps_nunique_destaddr_xprts++; rpc_put_task(task); success: @@ -3143,6 +3145,8 @@ void rpc_clnt_swap_deactivate(struct rpc_clnt *clnt) { + while (clnt != clnt->cl_parent) + clnt = clnt->cl_parent; if (atomic_dec_if_positive(&clnt->cl_swapper) == 0) rpc_clnt_iterate_for_each_xprt(clnt, rpc_clnt_swap_deactivate_callback, NULL); --- linux-gcp-5.19.0.orig/net/sunrpc/svc.c +++ linux-gcp-5.19.0/net/sunrpc/svc.c @@ -1244,10 +1244,10 @@ goto err_short_len; /* Will be turned off by GSS integrity and privacy services */ - __set_bit(RQ_SPLICE_OK, &rqstp->rq_flags); + set_bit(RQ_SPLICE_OK, &rqstp->rq_flags); /* Will be turned off only when NFSv4 Sessions are used */ - __set_bit(RQ_USEDEFERRAL, &rqstp->rq_flags); - __clear_bit(RQ_DROPME, &rqstp->rq_flags); + set_bit(RQ_USEDEFERRAL, &rqstp->rq_flags); + clear_bit(RQ_DROPME, &rqstp->rq_flags); svc_putu32(resv, rqstp->rq_xid); --- linux-gcp-5.19.0.orig/net/sunrpc/svc_xprt.c +++ linux-gcp-5.19.0/net/sunrpc/svc_xprt.c @@ -1238,7 +1238,7 @@ trace_svc_defer(rqstp); svc_xprt_get(rqstp->rq_xprt); dr->xprt = rqstp->rq_xprt; - __set_bit(RQ_DROPME, &rqstp->rq_flags); + set_bit(RQ_DROPME, &rqstp->rq_flags); dr->handle.revisit = svc_revisit; return &dr->handle; --- linux-gcp-5.19.0.orig/net/sunrpc/svcsock.c +++ linux-gcp-5.19.0/net/sunrpc/svcsock.c @@ -298,9 +298,9 @@ static void svc_sock_secure_port(struct svc_rqst *rqstp) { if (svc_port_is_privileged(svc_addr(rqstp))) - __set_bit(RQ_SECURE, &rqstp->rq_flags); + set_bit(RQ_SECURE, &rqstp->rq_flags); else - __clear_bit(RQ_SECURE, &rqstp->rq_flags); + clear_bit(RQ_SECURE, &rqstp->rq_flags); } /* @@ -1008,9 +1008,9 @@ rqstp->rq_xprt_ctxt = NULL; rqstp->rq_prot = IPPROTO_TCP; if (test_bit(XPT_LOCAL, &svsk->sk_xprt.xpt_flags)) - __set_bit(RQ_LOCAL, &rqstp->rq_flags); + set_bit(RQ_LOCAL, &rqstp->rq_flags); else - __clear_bit(RQ_LOCAL, &rqstp->rq_flags); + clear_bit(RQ_LOCAL, &rqstp->rq_flags); p = (__be32 *)rqstp->rq_arg.head[0].iov_base; calldir = p[1]; --- linux-gcp-5.19.0.orig/net/sunrpc/sysfs.c +++ linux-gcp-5.19.0/net/sunrpc/sysfs.c @@ -291,8 +291,10 @@ int offline = 0, online = 0, remove = 0; struct rpc_xprt_switch *xps = rpc_sysfs_xprt_kobj_get_xprt_switch(kobj); - if (!xprt) - return 0; + if (!xprt || !xps) { + count = 0; + goto out_put; + } if (!strncmp(buf, "offline", 7)) offline = 1; @@ -534,13 +536,16 @@ struct net *net) { struct rpc_sysfs_client *rpc_client; + struct rpc_sysfs_xprt_switch *xswitch = + (struct rpc_sysfs_xprt_switch *)xprt_switch->xps_sysfs; + + if (!xswitch) + return; rpc_client = rpc_sysfs_client_alloc(rpc_sunrpc_client_kobj, net, clnt->cl_clid); if (rpc_client) { char name[] = "switch"; - struct rpc_sysfs_xprt_switch *xswitch = - (struct rpc_sysfs_xprt_switch *)xprt_switch->xps_sysfs; int ret; clnt->cl_sysfs = rpc_client; @@ -574,6 +579,8 @@ rpc_xprt_switch->xprt_switch = xprt_switch; rpc_xprt_switch->xprt = xprt; kobject_uevent(&rpc_xprt_switch->kobject, KOBJ_ADD); + } else { + xprt_switch->xps_sysfs = NULL; } } @@ -585,6 +592,9 @@ struct rpc_sysfs_xprt_switch *switch_obj = (struct rpc_sysfs_xprt_switch *)xprt_switch->xps_sysfs; + if (!switch_obj) + return; + rpc_xprt = rpc_sysfs_xprt_alloc(&switch_obj->kobject, xprt, gfp_flags); if (rpc_xprt) { xprt->xprt_sysfs = rpc_xprt; --- linux-gcp-5.19.0.orig/net/sunrpc/xprt.c +++ linux-gcp-5.19.0/net/sunrpc/xprt.c @@ -73,7 +73,7 @@ static __be32 xprt_alloc_xid(struct rpc_xprt *xprt); static void xprt_destroy(struct rpc_xprt *xprt); static void xprt_request_init(struct rpc_task *task); -static int xprt_request_prepare(struct rpc_rqst *req); +static int xprt_request_prepare(struct rpc_rqst *req, struct xdr_buf *buf); static DEFINE_SPINLOCK(xprt_list_lock); static LIST_HEAD(xprt_list); @@ -1149,7 +1149,7 @@ if (!xprt_request_need_enqueue_receive(task, req)) return 0; - ret = xprt_request_prepare(task->tk_rqstp); + ret = xprt_request_prepare(task->tk_rqstp, &req->rq_rcv_buf); if (ret) return ret; spin_lock(&xprt->queue_lock); @@ -1218,6 +1218,8 @@ xprt->stat.recvs++; + xdr_free_bvec(&req->rq_rcv_buf); + req->rq_private_buf.bvec = NULL; req->rq_private_buf.len = copied; /* Ensure all writes are done before we update */ /* req->rq_reply_bytes_recvd */ @@ -1336,8 +1338,14 @@ { struct rpc_rqst *pos, *req = task->tk_rqstp; struct rpc_xprt *xprt = req->rq_xprt; + int ret; if (xprt_request_need_enqueue_transmit(task, req)) { + ret = xprt_request_prepare(task->tk_rqstp, &req->rq_snd_buf); + if (ret) { + task->tk_status = ret; + return; + } req->rq_bytes_sent = 0; spin_lock(&xprt->queue_lock); /* @@ -1397,6 +1405,7 @@ } else list_del(&req->rq_xmit2); atomic_long_dec(&req->rq_xprt->xmit_queuelen); + xdr_free_bvec(&req->rq_snd_buf); } /** @@ -1433,8 +1442,6 @@ test_bit(RPC_TASK_NEED_RECV, &task->tk_runstate) || xprt_is_pinned_rqst(req)) { spin_lock(&xprt->queue_lock); - xprt_request_dequeue_transmit_locked(task); - xprt_request_dequeue_receive_locked(task); while (xprt_is_pinned_rqst(req)) { set_bit(RPC_TASK_MSG_PIN_WAIT, &task->tk_runstate); spin_unlock(&xprt->queue_lock); @@ -1442,25 +1449,29 @@ spin_lock(&xprt->queue_lock); clear_bit(RPC_TASK_MSG_PIN_WAIT, &task->tk_runstate); } + xprt_request_dequeue_transmit_locked(task); + xprt_request_dequeue_receive_locked(task); spin_unlock(&xprt->queue_lock); + xdr_free_bvec(&req->rq_rcv_buf); } } /** * xprt_request_prepare - prepare an encoded request for transport * @req: pointer to rpc_rqst + * @buf: pointer to send/rcv xdr_buf * * Calls into the transport layer to do whatever is needed to prepare * the request for transmission or receive. * Returns error, or zero. */ static int -xprt_request_prepare(struct rpc_rqst *req) +xprt_request_prepare(struct rpc_rqst *req, struct xdr_buf *buf) { struct rpc_xprt *xprt = req->rq_xprt; if (xprt->ops->prepare_request) - return xprt->ops->prepare_request(req); + return xprt->ops->prepare_request(req, buf); return 0; } @@ -1961,8 +1972,6 @@ spin_unlock(&xprt->transport_lock); if (req->rq_buffer) xprt->ops->buf_free(task); - xdr_free_bvec(&req->rq_rcv_buf); - xdr_free_bvec(&req->rq_snd_buf); if (req->rq_cred != NULL) put_rpccred(req->rq_cred); if (req->rq_release_snd_buf) --- linux-gcp-5.19.0.orig/net/sunrpc/xprtrdma/svc_rdma_transport.c +++ linux-gcp-5.19.0/net/sunrpc/xprtrdma/svc_rdma_transport.c @@ -602,7 +602,7 @@ static void svc_rdma_secure_port(struct svc_rqst *rqstp) { - __set_bit(RQ_SECURE, &rqstp->rq_flags); + set_bit(RQ_SECURE, &rqstp->rq_flags); } static void svc_rdma_kill_temp_xprt(struct svc_xprt *xprt) --- linux-gcp-5.19.0.orig/net/sunrpc/xprtrdma/verbs.c +++ linux-gcp-5.19.0/net/sunrpc/xprtrdma/verbs.c @@ -834,7 +834,7 @@ return req; out3: - kfree(req->rl_sendbuf); + rpcrdma_regbuf_free(req->rl_sendbuf); out2: kfree(req); out1: --- linux-gcp-5.19.0.orig/net/sunrpc/xprtsock.c +++ linux-gcp-5.19.0/net/sunrpc/xprtsock.c @@ -822,17 +822,9 @@ return ret; } -static int -xs_stream_prepare_request(struct rpc_rqst *req) +static int xs_stream_prepare_request(struct rpc_rqst *req, struct xdr_buf *buf) { - gfp_t gfp = rpc_task_gfp_mask(); - int ret; - - ret = xdr_alloc_bvec(&req->rq_snd_buf, gfp); - if (ret < 0) - return ret; - xdr_free_bvec(&req->rq_rcv_buf); - return xdr_alloc_bvec(&req->rq_rcv_buf, gfp); + return xdr_alloc_bvec(buf, rpc_task_gfp_mask()); } /* --- linux-gcp-5.19.0.orig/net/tipc/crypto.c +++ linux-gcp-5.19.0/net/tipc/crypto.c @@ -1971,6 +1971,9 @@ /* Ok, everything's fine, try to synch own keys according to peers' */ tipc_crypto_key_synch(rx, *skb); + /* Re-fetch skb cb as skb might be changed in tipc_msg_validate */ + skb_cb = TIPC_SKB_CB(*skb); + /* Mark skb decrypted */ skb_cb->decrypted = 1; --- linux-gcp-5.19.0.orig/net/tipc/discover.c +++ linux-gcp-5.19.0/net/tipc/discover.c @@ -148,8 +148,8 @@ { struct net *net = d->net; struct tipc_net *tn = tipc_net(net); - bool trial = time_before(jiffies, tn->addr_trial_end); u32 self = tipc_own_addr(net); + bool trial = time_before(jiffies, tn->addr_trial_end) && !self; if (mtyp == DSC_TRIAL_FAIL_MSG) { if (!trial) @@ -211,7 +211,10 @@ u32 self; int err; - skb_linearize(skb); + if (skb_linearize(skb)) { + kfree_skb(skb); + return; + } hdr = buf_msg(skb); if (caps & TIPC_NODE_ID128) --- linux-gcp-5.19.0.orig/net/tipc/link.c +++ linux-gcp-5.19.0/net/tipc/link.c @@ -2224,7 +2224,9 @@ if (tipc_own_addr(l->net) > msg_prevnode(hdr)) l->net_plane = msg_net_plane(hdr); - skb_linearize(skb); + if (skb_linearize(skb)) + goto exit; + hdr = buf_msg(skb); data = msg_data(hdr); --- linux-gcp-5.19.0.orig/net/tipc/monitor.c +++ linux-gcp-5.19.0/net/tipc/monitor.c @@ -160,7 +160,7 @@ static int map_get(u64 up_map, int i) { - return (up_map & (1 << i)) >> i; + return (up_map & (1ULL << i)) >> i; } static struct tipc_peer *peer_prev(struct tipc_peer *peer) --- linux-gcp-5.19.0.orig/net/tipc/netlink_compat.c +++ linux-gcp-5.19.0/net/tipc/netlink_compat.c @@ -880,7 +880,7 @@ }; ntq = (struct tipc_name_table_query *)TLV_DATA(msg->req); - if (TLV_GET_DATA_LEN(msg->req) < sizeof(struct tipc_name_table_query)) + if (TLV_GET_DATA_LEN(msg->req) < (int)sizeof(struct tipc_name_table_query)) return -EINVAL; depth = ntohl(ntq->depth); --- linux-gcp-5.19.0.orig/net/tipc/node.c +++ linux-gcp-5.19.0/net/tipc/node.c @@ -1179,8 +1179,9 @@ bool addr_match = false; bool sign_match = false; bool link_up = false; + bool link_is_reset = false; bool accept_addr = false; - bool reset = true; + bool reset = false; char *if_name; unsigned long intv; u16 session; @@ -1200,14 +1201,14 @@ /* Prepare to validate requesting node's signature and media address */ l = le->link; link_up = l && tipc_link_is_up(l); + link_is_reset = l && tipc_link_is_reset(l); addr_match = l && !memcmp(&le->maddr, maddr, sizeof(*maddr)); sign_match = (signature == n->signature); /* These three flags give us eight permutations: */ if (sign_match && addr_match && link_up) { - /* All is fine. Do nothing. */ - reset = false; + /* All is fine. Ignore requests. */ /* Peer node is not a container/local namespace */ if (!n->peer_hash_mix) n->peer_hash_mix = hash_mixes; @@ -1232,6 +1233,7 @@ */ accept_addr = true; *respond = true; + reset = true; } else if (!sign_match && addr_match && link_up) { /* Peer node rebooted. Two possibilities: * - Delayed re-discovery; this link endpoint has already @@ -1263,6 +1265,7 @@ n->signature = signature; accept_addr = true; *respond = true; + reset = true; } if (!accept_addr) @@ -1291,6 +1294,7 @@ tipc_link_fsm_evt(l, LINK_RESET_EVT); if (n->state == NODE_FAILINGOVER) tipc_link_fsm_evt(l, LINK_FAILOVER_BEGIN_EVT); + link_is_reset = tipc_link_is_reset(l); le->link = l; n->link_cnt++; tipc_node_calculate_timer(n, l); @@ -1303,7 +1307,7 @@ memcpy(&le->maddr, maddr, sizeof(*maddr)); exit: tipc_node_write_unlock(n); - if (reset && l && !tipc_link_is_reset(l)) + if (reset && !link_is_reset) tipc_node_link_down(n, b->identity, false); tipc_node_put(n); } @@ -1689,6 +1693,7 @@ struct tipc_node *n; struct sk_buff_head xmitq; bool node_up = false; + struct net *peer_net; int bearer_id; int rc; @@ -1705,18 +1710,23 @@ return -EHOSTUNREACH; } + rcu_read_lock(); tipc_node_read_lock(n); node_up = node_is_up(n); - if (node_up && n->peer_net && check_net(n->peer_net)) { + peer_net = n->peer_net; + tipc_node_read_unlock(n); + if (node_up && peer_net && check_net(peer_net)) { /* xmit inner linux container */ - tipc_lxc_xmit(n->peer_net, list); + tipc_lxc_xmit(peer_net, list); if (likely(skb_queue_empty(list))) { - tipc_node_read_unlock(n); + rcu_read_unlock(); tipc_node_put(n); return 0; } } + rcu_read_unlock(); + tipc_node_read_lock(n); bearer_id = n->active_links[selector & 1]; if (unlikely(bearer_id == INVALID_BEARER_ID)) { tipc_node_read_unlock(n); --- linux-gcp-5.19.0.orig/net/tipc/topsrv.c +++ linux-gcp-5.19.0/net/tipc/topsrv.c @@ -176,7 +176,7 @@ conn_put(con); } -static struct tipc_conn *tipc_conn_alloc(struct tipc_topsrv *s) +static struct tipc_conn *tipc_conn_alloc(struct tipc_topsrv *s, struct socket *sock) { struct tipc_conn *con; int ret; @@ -202,10 +202,12 @@ } con->conid = ret; s->idr_in_use++; - spin_unlock_bh(&s->idr_lock); set_bit(CF_CONNECTED, &con->flags); con->server = s; + con->sock = sock; + conn_get(con); + spin_unlock_bh(&s->idr_lock); return con; } @@ -450,17 +452,24 @@ static void tipc_topsrv_accept(struct work_struct *work) { struct tipc_topsrv *srv = container_of(work, struct tipc_topsrv, awork); - struct socket *lsock = srv->listener; - struct socket *newsock; + struct socket *newsock, *lsock; struct tipc_conn *con; struct sock *newsk; int ret; + spin_lock_bh(&srv->idr_lock); + if (!srv->listener) { + spin_unlock_bh(&srv->idr_lock); + return; + } + lsock = srv->listener; + spin_unlock_bh(&srv->idr_lock); + while (1) { ret = kernel_accept(lsock, &newsock, O_NONBLOCK); if (ret < 0) return; - con = tipc_conn_alloc(srv); + con = tipc_conn_alloc(srv, newsock); if (IS_ERR(con)) { ret = PTR_ERR(con); sock_release(newsock); @@ -472,11 +481,11 @@ newsk->sk_data_ready = tipc_conn_data_ready; newsk->sk_write_space = tipc_conn_write_space; newsk->sk_user_data = con; - con->sock = newsock; write_unlock_bh(&newsk->sk_callback_lock); /* Wake up receive process in case of 'SYN+' message */ newsk->sk_data_ready(newsk); + conn_put(con); } } @@ -489,7 +498,7 @@ read_lock_bh(&sk->sk_callback_lock); srv = sk->sk_user_data; - if (srv->listener) + if (srv) queue_work(srv->rcv_wq, &srv->awork); read_unlock_bh(&sk->sk_callback_lock); } @@ -568,19 +577,19 @@ sub.seq.upper = upper; sub.timeout = TIPC_WAIT_FOREVER; sub.filter = filter; - *(u32 *)&sub.usr_handle = port; + *(u64 *)&sub.usr_handle = (u64)port; - con = tipc_conn_alloc(tipc_topsrv(net)); + con = tipc_conn_alloc(tipc_topsrv(net), NULL); if (IS_ERR(con)) return false; *conid = con->conid; - con->sock = NULL; rc = tipc_conn_rcv_sub(tipc_topsrv(net), con, &sub); - if (rc >= 0) - return true; + if (rc) + conn_put(con); + conn_put(con); - return false; + return !rc; } void tipc_topsrv_kern_unsubscr(struct net *net, int conid) @@ -699,8 +708,9 @@ __module_get(lsock->sk->sk_prot_creator->owner); srv->listener = NULL; spin_unlock_bh(&srv->idr_lock); - sock_release(lsock); + tipc_topsrv_work_stop(srv); + sock_release(lsock); idr_destroy(&srv->conn_idr); kfree(srv); } --- linux-gcp-5.19.0.orig/net/tls/tls_sw.c +++ linux-gcp-5.19.0/net/tls/tls_sw.c @@ -801,7 +801,7 @@ struct sk_psock *psock; struct sock *sk_redir; struct tls_rec *rec; - bool enospc, policy; + bool enospc, policy, redir_ingress; int err = 0, send; u32 delta = 0; @@ -846,6 +846,7 @@ } break; case __SK_REDIRECT: + redir_ingress = psock->redir_ingress; sk_redir = psock->sk_redir; memcpy(&msg_redir, msg, sizeof(*msg)); if (msg->apply_bytes < send) @@ -855,7 +856,8 @@ sk_msg_return_zero(sk, msg, send); msg->sg.size -= send; release_sock(sk); - err = tcp_bpf_sendmsg_redir(sk_redir, &msg_redir, send, flags); + err = tcp_bpf_sendmsg_redir(sk_redir, redir_ingress, + &msg_redir, send, flags); lock_sock(sk); if (err < 0) { *copied -= sk_msg_free_nocharge(sk, &msg_redir); --- linux-gcp-5.19.0.orig/net/unix/af_unix.c +++ linux-gcp-5.19.0/net/unix/af_unix.c @@ -548,12 +548,6 @@ skb_queue_purge(&sk->sk_receive_queue); -#if IS_ENABLED(CONFIG_AF_UNIX_OOB) - if (u->oob_skb) { - kfree_skb(u->oob_skb); - u->oob_skb = NULL; - } -#endif WARN_ON(refcount_read(&sk->sk_wmem_alloc)); WARN_ON(!sk_unhashed(sk)); WARN_ON(sk->sk_socket); @@ -598,6 +592,13 @@ unix_state_unlock(sk); +#if IS_ENABLED(CONFIG_AF_UNIX_OOB) + if (u->oob_skb) { + kfree_skb(u->oob_skb); + u->oob_skb = NULL; + } +#endif + wake_up_interruptible_all(&u->peer_wait); if (skpair != NULL) { @@ -1951,13 +1952,20 @@ unix_state_lock(sk); err = 0; - if (unix_peer(sk) == other) { + if (sk->sk_type == SOCK_SEQPACKET) { + /* We are here only when racing with unix_release_sock() + * is clearing @other. Never change state to TCP_CLOSE + * unlike SOCK_DGRAM wants. + */ + unix_state_unlock(sk); + err = -EPIPE; + } else if (unix_peer(sk) == other) { unix_peer(sk) = NULL; unix_dgram_peer_wake_disconnect_wakeup(sk, other); + sk->sk_state = TCP_CLOSE; unix_state_unlock(sk); - sk->sk_state = TCP_CLOSE; unix_dgram_disconnected(sk, other); sock_put(other); err = -ECONNREFUSED; @@ -3683,6 +3691,7 @@ rc = proto_register(&unix_stream_proto, 1); if (rc != 0) { pr_crit("%s: Cannot create unix_sock SLAB cache!\n", __func__); + proto_unregister(&unix_dgram_proto); goto out; } --- linux-gcp-5.19.0.orig/net/unix/diag.c +++ linux-gcp-5.19.0/net/unix/diag.c @@ -114,14 +114,16 @@ return nla_put(nlskb, UNIX_DIAG_RQLEN, sizeof(rql), &rql); } -static int sk_diag_dump_uid(struct sock *sk, struct sk_buff *nlskb) +static int sk_diag_dump_uid(struct sock *sk, struct sk_buff *nlskb, + struct user_namespace *user_ns) { - uid_t uid = from_kuid_munged(sk_user_ns(nlskb->sk), sock_i_uid(sk)); + uid_t uid = from_kuid_munged(user_ns, sock_i_uid(sk)); return nla_put(nlskb, UNIX_DIAG_UID, sizeof(uid_t), &uid); } static int sk_diag_fill(struct sock *sk, struct sk_buff *skb, struct unix_diag_req *req, - u32 portid, u32 seq, u32 flags, int sk_ino) + struct user_namespace *user_ns, + u32 portid, u32 seq, u32 flags, int sk_ino) { struct nlmsghdr *nlh; struct unix_diag_msg *rep; @@ -167,7 +169,7 @@ goto out_nlmsg_trim; if ((req->udiag_show & UDIAG_SHOW_UID) && - sk_diag_dump_uid(sk, skb)) + sk_diag_dump_uid(sk, skb, user_ns)) goto out_nlmsg_trim; nlmsg_end(skb, nlh); @@ -179,7 +181,8 @@ } static int sk_diag_dump(struct sock *sk, struct sk_buff *skb, struct unix_diag_req *req, - u32 portid, u32 seq, u32 flags) + struct user_namespace *user_ns, + u32 portid, u32 seq, u32 flags) { int sk_ino; @@ -190,7 +193,7 @@ if (!sk_ino) return 0; - return sk_diag_fill(sk, skb, req, portid, seq, flags, sk_ino); + return sk_diag_fill(sk, skb, req, user_ns, portid, seq, flags, sk_ino); } static int unix_diag_dump(struct sk_buff *skb, struct netlink_callback *cb) @@ -218,7 +221,7 @@ goto next; if (!(req->udiag_states & (1 << sk->sk_state))) goto next; - if (sk_diag_dump(sk, skb, req, + if (sk_diag_dump(sk, skb, req, sk_user_ns(skb->sk), NETLINK_CB(cb->skb).portid, cb->nlh->nlmsg_seq, NLM_F_MULTI) < 0) { @@ -286,7 +289,8 @@ if (!rep) goto out; - err = sk_diag_fill(sk, rep, req, NETLINK_CB(in_skb).portid, + err = sk_diag_fill(sk, rep, req, sk_user_ns(NETLINK_CB(in_skb).sk), + NETLINK_CB(in_skb).portid, nlh->nlmsg_seq, 0, req->udiag_ino); if (err < 0) { nlmsg_free(rep); --- linux-gcp-5.19.0.orig/net/unix/garbage.c +++ linux-gcp-5.19.0/net/unix/garbage.c @@ -204,6 +204,7 @@ /* The external entry point: unix_gc() */ void unix_gc(void) { + struct sk_buff *next_skb, *skb; struct unix_sock *u; struct unix_sock *next; struct sk_buff_head hitlist; @@ -297,11 +298,30 @@ spin_unlock(&unix_gc_lock); + /* We need io_uring to clean its registered files, ignore all io_uring + * originated skbs. It's fine as io_uring doesn't keep references to + * other io_uring instances and so killing all other files in the cycle + * will put all io_uring references forcing it to go through normal + * release.path eventually putting registered files. + */ + skb_queue_walk_safe(&hitlist, skb, next_skb) { + if (skb->scm_io_uring) { + __skb_unlink(skb, &hitlist); + skb_queue_tail(&skb->sk->sk_receive_queue, skb); + } + } + /* Here we are. Hitlist is filled. Die. */ __skb_queue_purge(&hitlist); spin_lock(&unix_gc_lock); + /* There could be io_uring registered files, just push them back to + * the inflight list + */ + list_for_each_entry_safe(u, next, &gc_candidates, link) + list_move_tail(&u->link, &gc_inflight_list); + /* All candidates should have been detached by now. */ BUG_ON(!list_empty(&gc_candidates)); --- linux-gcp-5.19.0.orig/net/unix/unix_bpf.c +++ linux-gcp-5.19.0/net/unix/unix_bpf.c @@ -145,12 +145,12 @@ if (restore) { sk->sk_write_space = psock->saved_write_space; - WRITE_ONCE(sk->sk_prot, psock->sk_proto); + sock_replace_proto(sk, psock->sk_proto); return 0; } unix_dgram_bpf_check_needs_rebuild(psock->sk_proto); - WRITE_ONCE(sk->sk_prot, &unix_dgram_bpf_prot); + sock_replace_proto(sk, &unix_dgram_bpf_prot); return 0; } @@ -158,12 +158,12 @@ { if (restore) { sk->sk_write_space = psock->saved_write_space; - WRITE_ONCE(sk->sk_prot, psock->sk_proto); + sock_replace_proto(sk, psock->sk_proto); return 0; } unix_stream_bpf_check_needs_rebuild(psock->sk_proto); - WRITE_ONCE(sk->sk_prot, &unix_stream_bpf_prot); + sock_replace_proto(sk, &unix_stream_bpf_prot); return 0; } --- linux-gcp-5.19.0.orig/net/vmw_vsock/af_vsock.c +++ linux-gcp-5.19.0/net/vmw_vsock/af_vsock.c @@ -1286,6 +1286,7 @@ if (sk->sk_state == TCP_SYN_SENT && (sk->sk_shutdown != SHUTDOWN_MASK)) { sk->sk_state = TCP_CLOSE; + sk->sk_socket->state = SS_UNCONNECTED; sk->sk_err = ETIMEDOUT; sk_error_report(sk); vsock_transport_cancel_pkt(vsk); @@ -1391,7 +1392,14 @@ * timeout fires. */ sock_hold(sk); - schedule_delayed_work(&vsk->connect_work, timeout); + + /* If the timeout function is already scheduled, + * reschedule it, then ungrab the socket refcount to + * keep it balanced. + */ + if (mod_delayed_work(system_wq, &vsk->connect_work, + timeout)) + sock_put(sk); /* Skip ahead to preserve error code set above. */ goto out_wait; @@ -1886,8 +1894,11 @@ err = 0; transport = vsk->transport; - while ((data = vsock_connectible_has_data(vsk)) == 0) { + while (1) { prepare_to_wait(sk_sleep(sk), wait, TASK_INTERRUPTIBLE); + data = vsock_connectible_has_data(vsk); + if (data != 0) + break; if (sk->sk_err != 0 || (sk->sk_shutdown & RCV_SHUTDOWN) || --- linux-gcp-5.19.0.orig/net/vmw_vsock/virtio_transport_common.c +++ linux-gcp-5.19.0/net/vmw_vsock/virtio_transport_common.c @@ -1342,7 +1342,7 @@ void virtio_transport_free_pkt(struct virtio_vsock_pkt *pkt) { - kfree(pkt->buf); + kvfree(pkt->buf); kfree(pkt); } EXPORT_SYMBOL_GPL(virtio_transport_free_pkt); --- linux-gcp-5.19.0.orig/net/vmw_vsock/vmci_transport.c +++ linux-gcp-5.19.0/net/vmw_vsock/vmci_transport.c @@ -1711,7 +1711,11 @@ if (!dg) return -ENOMEM; - memcpy_from_msg(VMCI_DG_PAYLOAD(dg), msg, len); + err = memcpy_from_msg(VMCI_DG_PAYLOAD(dg), msg, len); + if (err) { + kfree(dg); + return err; + } dg->dst = vmci_make_handle(remote_addr->svm_cid, remote_addr->svm_port); --- linux-gcp-5.19.0.orig/net/wireless/ap.c +++ linux-gcp-5.19.0/net/wireless/ap.c @@ -1,4 +1,8 @@ // SPDX-License-Identifier: GPL-2.0 +/* + * Parts of this file are + * Copyright (C) 2022 Intel Corporation + */ #include #include #include @@ -7,8 +11,9 @@ #include "rdev-ops.h" -int __cfg80211_stop_ap(struct cfg80211_registered_device *rdev, - struct net_device *dev, bool notify) +static int ___cfg80211_stop_ap(struct cfg80211_registered_device *rdev, + struct net_device *dev, unsigned int link_id, + bool notify) { struct wireless_dev *wdev = dev->ieee80211_ptr; int err; @@ -22,15 +27,16 @@ dev->ieee80211_ptr->iftype != NL80211_IFTYPE_P2P_GO) return -EOPNOTSUPP; - if (!wdev->beacon_interval) + if (!wdev->links[link_id].ap.beacon_interval) return -ENOENT; - err = rdev_stop_ap(rdev, dev); + err = rdev_stop_ap(rdev, dev, link_id); if (!err) { wdev->conn_owner_nlportid = 0; - wdev->beacon_interval = 0; - memset(&wdev->chandef, 0, sizeof(wdev->chandef)); - wdev->ssid_len = 0; + wdev->links[link_id].ap.beacon_interval = 0; + memset(&wdev->links[link_id].ap.chandef, 0, + sizeof(wdev->links[link_id].ap.chandef)); + wdev->u.ap.ssid_len = 0; rdev_set_qos_map(rdev, dev, NULL); if (notify) nl80211_send_ap_stopped(wdev); @@ -46,14 +52,36 @@ return err; } +int __cfg80211_stop_ap(struct cfg80211_registered_device *rdev, + struct net_device *dev, int link_id, + bool notify) +{ + unsigned int link; + int ret = 0; + + if (link_id >= 0) + return ___cfg80211_stop_ap(rdev, dev, link_id, notify); + + for_each_valid_link(dev->ieee80211_ptr, link) { + int ret1 = ___cfg80211_stop_ap(rdev, dev, link, notify); + + if (ret1) + ret = ret1; + /* try the next one also if one errored */ + } + + return ret; +} + int cfg80211_stop_ap(struct cfg80211_registered_device *rdev, - struct net_device *dev, bool notify) + struct net_device *dev, int link_id, + bool notify) { struct wireless_dev *wdev = dev->ieee80211_ptr; int err; wdev_lock(wdev); - err = __cfg80211_stop_ap(rdev, dev, notify); + err = __cfg80211_stop_ap(rdev, dev, link_id, notify); wdev_unlock(wdev); return err; --- linux-gcp-5.19.0.orig/net/wireless/chan.c +++ linux-gcp-5.19.0/net/wireless/chan.c @@ -672,14 +672,21 @@ * range of chandef. */ bool cfg80211_is_sub_chan(struct cfg80211_chan_def *chandef, - struct ieee80211_channel *chan) + struct ieee80211_channel *chan, + bool primary_only) { int width; u32 freq; + if (!chandef->chan) + return false; + if (chandef->chan->center_freq == chan->center_freq) return true; + if (primary_only) + return false; + width = cfg80211_chandef_get_width(chandef); if (width <= 20) return false; @@ -704,23 +711,25 @@ bool cfg80211_beaconing_iface_active(struct wireless_dev *wdev) { - bool active = false; + unsigned int link; ASSERT_WDEV_LOCK(wdev); - if (!wdev->chandef.chan) - return false; - switch (wdev->iftype) { case NL80211_IFTYPE_AP: case NL80211_IFTYPE_P2P_GO: - active = wdev->beacon_interval != 0; + for_each_valid_link(wdev, link) { + if (wdev->links[link].ap.beacon_interval) + return true; + } break; case NL80211_IFTYPE_ADHOC: - active = wdev->ssid_len != 0; + if (wdev->u.ibss.ssid_len) + return true; break; case NL80211_IFTYPE_MESH_POINT: - active = wdev->mesh_id_len != 0; + if (wdev->u.mesh.id_len) + return true; break; case NL80211_IFTYPE_STATION: case NL80211_IFTYPE_OCB: @@ -737,7 +746,35 @@ WARN_ON(1); } - return active; + return false; +} + +bool cfg80211_wdev_on_sub_chan(struct wireless_dev *wdev, + struct ieee80211_channel *chan, + bool primary_only) +{ + unsigned int link; + + switch (wdev->iftype) { + case NL80211_IFTYPE_AP: + case NL80211_IFTYPE_P2P_GO: + for_each_valid_link(wdev, link) { + if (cfg80211_is_sub_chan(&wdev->links[link].ap.chandef, + chan, primary_only)) + return true; + } + break; + case NL80211_IFTYPE_ADHOC: + return cfg80211_is_sub_chan(&wdev->u.ibss.chandef, chan, + primary_only); + case NL80211_IFTYPE_MESH_POINT: + return cfg80211_is_sub_chan(&wdev->u.mesh.chandef, chan, + primary_only); + default: + break; + } + + return false; } static bool cfg80211_is_wiphy_oper_chan(struct wiphy *wiphy, @@ -752,7 +789,7 @@ continue; } - if (cfg80211_is_sub_chan(&wdev->chandef, chan)) { + if (cfg80211_wdev_on_sub_chan(wdev, chan, false)) { wdev_unlock(wdev); return true; } @@ -772,7 +809,8 @@ if (!cfg80211_chandef_valid(&rdev->background_radar_chandef)) return false; - return cfg80211_is_sub_chan(&rdev->background_radar_chandef, channel); + return cfg80211_is_sub_chan(&rdev->background_radar_chandef, channel, + false); } bool cfg80211_any_wiphy_oper_chan(struct wiphy *wiphy, @@ -1176,6 +1214,68 @@ } EXPORT_SYMBOL(cfg80211_chandef_usable); +static bool cfg80211_ir_permissive_check_wdev(enum nl80211_iftype iftype, + struct wireless_dev *wdev, + struct ieee80211_channel *chan) +{ + struct ieee80211_channel *other_chan = NULL; + unsigned int link_id; + int r1, r2; + + for_each_valid_link(wdev, link_id) { + if (wdev->iftype == NL80211_IFTYPE_STATION && + wdev->links[link_id].client.current_bss) + other_chan = wdev->links[link_id].client.current_bss->pub.channel; + + /* + * If a GO already operates on the same GO_CONCURRENT channel, + * this one (maybe the same one) can beacon as well. We allow + * the operation even if the station we relied on with + * GO_CONCURRENT is disconnected now. But then we must make sure + * we're not outdoor on an indoor-only channel. + */ + if (iftype == NL80211_IFTYPE_P2P_GO && + wdev->iftype == NL80211_IFTYPE_P2P_GO && + wdev->links[link_id].ap.beacon_interval && + !(chan->flags & IEEE80211_CHAN_INDOOR_ONLY)) + other_chan = wdev->links[link_id].ap.chandef.chan; + + if (!other_chan) + continue; + + if (chan == other_chan) + return true; + + if (chan->band != NL80211_BAND_5GHZ && + chan->band != NL80211_BAND_6GHZ) + continue; + + r1 = cfg80211_get_unii(chan->center_freq); + r2 = cfg80211_get_unii(other_chan->center_freq); + + if (r1 != -EINVAL && r1 == r2) { + /* + * At some locations channels 149-165 are considered a + * bundle, but at other locations, e.g., Indonesia, + * channels 149-161 are considered a bundle while + * channel 165 is left out and considered to be in a + * different bundle. Thus, in case that there is a + * station interface connected to an AP on channel 165, + * it is assumed that channels 149-161 are allowed for + * GO operations. However, having a station interface + * connected to an AP on channels 149-161, does not + * allow GO operation on channel 165. + */ + if (chan->center_freq == 5825 && + other_chan->center_freq != 5825) + continue; + return true; + } + } + + return false; +} + /* * Check if the channel can be used under permissive conditions mandated by * some regulatory bodies, i.e., the channel is marked with @@ -1219,59 +1319,14 @@ * the current registered device. */ list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) { - struct ieee80211_channel *other_chan = NULL; - int r1, r2; + bool ret; wdev_lock(wdev); - if (wdev->iftype == NL80211_IFTYPE_STATION && - wdev->current_bss) - other_chan = wdev->current_bss->pub.channel; - - /* - * If a GO already operates on the same GO_CONCURRENT channel, - * this one (maybe the same one) can beacon as well. We allow - * the operation even if the station we relied on with - * GO_CONCURRENT is disconnected now. But then we must make sure - * we're not outdoor on an indoor-only channel. - */ - if (iftype == NL80211_IFTYPE_P2P_GO && - wdev->iftype == NL80211_IFTYPE_P2P_GO && - wdev->beacon_interval && - !(chan->flags & IEEE80211_CHAN_INDOOR_ONLY)) - other_chan = wdev->chandef.chan; + ret = cfg80211_ir_permissive_check_wdev(iftype, wdev, chan); wdev_unlock(wdev); - if (!other_chan) - continue; - - if (chan == other_chan) - return true; - - if (chan->band != NL80211_BAND_5GHZ && - chan->band != NL80211_BAND_6GHZ) - continue; - - r1 = cfg80211_get_unii(chan->center_freq); - r2 = cfg80211_get_unii(other_chan->center_freq); - - if (r1 != -EINVAL && r1 == r2) { - /* - * At some locations channels 149-165 are considered a - * bundle, but at other locations, e.g., Indonesia, - * channels 149-161 are considered a bundle while - * channel 165 is left out and considered to be in a - * different bundle. Thus, in case that there is a - * station interface connected to an AP on channel 165, - * it is assumed that channels 149-161 are allowed for - * GO operations. However, having a station interface - * connected to an AP on channels 149-161, does not - * allow GO operation on channel 165. - */ - if (chan->center_freq == 5825 && - other_chan->center_freq != 5825) - continue; - return true; - } + if (ret) + return ret; } return false; @@ -1374,3 +1429,34 @@ return false; } EXPORT_SYMBOL(cfg80211_any_usable_channels); + +struct cfg80211_chan_def *wdev_chandef(struct wireless_dev *wdev, + unsigned int link_id) +{ + /* + * We need to sort out the locking here - in some cases + * where we get here we really just don't care (yet) + * about the valid links, but in others we do. But we + * get here with various driver cases, so we cannot + * easily require the wdev mutex. + */ + if (link_id || wdev->valid_links & BIT(0)) { + ASSERT_WDEV_LOCK(wdev); + WARN_ON(!(wdev->valid_links & BIT(link_id))); + } + + switch (wdev->iftype) { + case NL80211_IFTYPE_MESH_POINT: + return &wdev->u.mesh.chandef; + case NL80211_IFTYPE_ADHOC: + return &wdev->u.ibss.chandef; + case NL80211_IFTYPE_OCB: + return &wdev->u.ocb.chandef; + case NL80211_IFTYPE_AP: + case NL80211_IFTYPE_P2P_GO: + return &wdev->links[link_id].ap.chandef; + default: + return NULL; + } +} +EXPORT_SYMBOL(wdev_chandef); --- linux-gcp-5.19.0.orig/net/wireless/core.c +++ linux-gcp-5.19.0/net/wireless/core.c @@ -1118,6 +1118,7 @@ bool unregister_netdev) { struct cfg80211_registered_device *rdev = wiphy_to_rdev(wdev->wiphy); + unsigned int link_id; ASSERT_RTNL(); lockdep_assert_held(&rdev->wiphy.mtx); @@ -1167,11 +1168,22 @@ */ cfg80211_process_wdev_events(wdev); - if (WARN_ON(wdev->current_bss)) { - cfg80211_unhold_bss(wdev->current_bss); - cfg80211_put_bss(wdev->wiphy, &wdev->current_bss->pub); - wdev->current_bss = NULL; + if (wdev->iftype == NL80211_IFTYPE_STATION || + wdev->iftype == NL80211_IFTYPE_P2P_CLIENT) { + for (link_id = 0; link_id < ARRAY_SIZE(wdev->links); link_id++) { + struct cfg80211_internal_bss *curbss; + + curbss = wdev->links[link_id].client.current_bss; + + if (WARN_ON(curbss)) { + cfg80211_unhold_bss(curbss); + cfg80211_put_bss(wdev->wiphy, &curbss->pub); + wdev->links[link_id].client.current_bss = NULL; + } + } } + + wdev->connected = false; } void cfg80211_unregister_wdev(struct wireless_dev *wdev) @@ -1233,7 +1245,7 @@ break; case NL80211_IFTYPE_AP: case NL80211_IFTYPE_P2P_GO: - __cfg80211_stop_ap(rdev, dev, true); + __cfg80211_stop_ap(rdev, dev, -1, true); break; case NL80211_IFTYPE_OCB: __cfg80211_leave_ocb(rdev, dev); @@ -1463,9 +1475,9 @@ memcpy(&setup, &default_mesh_setup, sizeof(setup)); /* back compat only needed for mesh_id */ - setup.mesh_id = wdev->ssid; - setup.mesh_id_len = wdev->mesh_id_up_len; - if (wdev->mesh_id_up_len) + setup.mesh_id = wdev->u.mesh.id; + setup.mesh_id_len = wdev->u.mesh.id_up_len; + if (wdev->u.mesh.id_up_len) __cfg80211_join_mesh(rdev, dev, &setup, &default_mesh_config); --- linux-gcp-5.19.0.orig/net/wireless/core.h +++ linux-gcp-5.19.0/net/wireless/core.h @@ -307,6 +307,7 @@ void cfg80211_bss_age(struct cfg80211_registered_device *rdev, unsigned long age_secs); void cfg80211_update_assoc_bss_entry(struct wireless_dev *wdev, + unsigned int link, struct ieee80211_channel *channel); /* IBSS */ @@ -353,9 +354,11 @@ /* AP */ int __cfg80211_stop_ap(struct cfg80211_registered_device *rdev, - struct net_device *dev, bool notify); + struct net_device *dev, int link, + bool notify); int cfg80211_stop_ap(struct cfg80211_registered_device *rdev, - struct net_device *dev, bool notify); + struct net_device *dev, int link, + bool notify); /* MLME */ int cfg80211_mlme_auth(struct cfg80211_registered_device *rdev, @@ -507,7 +510,11 @@ bool cfg80211_beaconing_iface_active(struct wireless_dev *wdev); bool cfg80211_is_sub_chan(struct cfg80211_chan_def *chandef, - struct ieee80211_channel *chan); + struct ieee80211_channel *chan, + bool primary_only); +bool cfg80211_wdev_on_sub_chan(struct wireless_dev *wdev, + struct ieee80211_channel *chan, + bool primary_only); static inline unsigned int elapsed_jiffies_msecs(unsigned long start) { --- linux-gcp-5.19.0.orig/net/wireless/debugfs.c +++ linux-gcp-5.19.0/net/wireless/debugfs.c @@ -65,9 +65,10 @@ { struct wiphy *wiphy = file->private_data; char *buf; - unsigned int offset = 0, buf_size = PAGE_SIZE, i, r; + unsigned int offset = 0, buf_size = PAGE_SIZE, i; enum nl80211_band band; struct ieee80211_supported_band *sband; + ssize_t r; buf = kzalloc(buf_size, GFP_KERNEL); if (!buf) --- linux-gcp-5.19.0.orig/net/wireless/ibss.c +++ linux-gcp-5.19.0/net/wireless/ibss.c @@ -28,7 +28,7 @@ if (WARN_ON(wdev->iftype != NL80211_IFTYPE_ADHOC)) return; - if (!wdev->ssid_len) + if (!wdev->u.ibss.ssid_len) return; bss = cfg80211_get_bss(wdev->wiphy, channel, bssid, NULL, 0, @@ -37,13 +37,13 @@ if (WARN_ON(!bss)) return; - if (wdev->current_bss) { - cfg80211_unhold_bss(wdev->current_bss); - cfg80211_put_bss(wdev->wiphy, &wdev->current_bss->pub); + if (wdev->u.ibss.current_bss) { + cfg80211_unhold_bss(wdev->u.ibss.current_bss); + cfg80211_put_bss(wdev->wiphy, &wdev->u.ibss.current_bss->pub); } cfg80211_hold_bss(bss_from_pub(bss)); - wdev->current_bss = bss_from_pub(bss); + wdev->u.ibss.current_bss = bss_from_pub(bss); if (!(wdev->wiphy->flags & WIPHY_FLAG_HAS_STATIC_WEP)) cfg80211_upload_connect_keys(wdev); @@ -96,7 +96,7 @@ lockdep_assert_held(&rdev->wiphy.mtx); ASSERT_WDEV_LOCK(wdev); - if (wdev->ssid_len) + if (wdev->u.ibss.ssid_len) return -EALREADY; if (!params->basic_rates) { @@ -131,7 +131,7 @@ kfree_sensitive(wdev->connect_keys); wdev->connect_keys = connkeys; - wdev->chandef = params->chandef; + wdev->u.ibss.chandef = params->chandef; if (connkeys) { params->wep_keys = connkeys->params; params->wep_tx_key = connkeys->def; @@ -146,8 +146,8 @@ return err; } - memcpy(wdev->ssid, params->ssid, params->ssid_len); - wdev->ssid_len = params->ssid_len; + memcpy(wdev->u.ibss.ssid, params->ssid, params->ssid_len); + wdev->u.ibss.ssid_len = params->ssid_len; return 0; } @@ -173,14 +173,14 @@ for (i = 0; i < 6; i++) rdev_del_key(rdev, dev, i, false, NULL); - if (wdev->current_bss) { - cfg80211_unhold_bss(wdev->current_bss); - cfg80211_put_bss(wdev->wiphy, &wdev->current_bss->pub); + if (wdev->u.ibss.current_bss) { + cfg80211_unhold_bss(wdev->u.ibss.current_bss); + cfg80211_put_bss(wdev->wiphy, &wdev->u.ibss.current_bss->pub); } - wdev->current_bss = NULL; - wdev->ssid_len = 0; - memset(&wdev->chandef, 0, sizeof(wdev->chandef)); + wdev->u.ibss.current_bss = NULL; + wdev->u.ibss.ssid_len = 0; + memset(&wdev->u.ibss.chandef, 0, sizeof(wdev->u.ibss.chandef)); #ifdef CONFIG_CFG80211_WEXT if (!nowext) wdev->wext.ibss.ssid_len = 0; @@ -205,7 +205,7 @@ ASSERT_WDEV_LOCK(wdev); - if (!wdev->ssid_len) + if (!wdev->u.ibss.ssid_len) return -ENOLINK; err = rdev_leave_ibss(rdev, dev); @@ -339,7 +339,7 @@ wdev_lock(wdev); err = 0; - if (wdev->ssid_len) + if (wdev->u.ibss.ssid_len) err = __cfg80211_leave_ibss(rdev, dev, true); wdev_unlock(wdev); @@ -374,8 +374,8 @@ return -EINVAL; wdev_lock(wdev); - if (wdev->current_bss) - chan = wdev->current_bss->pub.channel; + if (wdev->u.ibss.current_bss) + chan = wdev->u.ibss.current_bss->pub.channel; else if (wdev->wext.ibss.chandef.chan) chan = wdev->wext.ibss.chandef.chan; wdev_unlock(wdev); @@ -408,7 +408,7 @@ wdev_lock(wdev); err = 0; - if (wdev->ssid_len) + if (wdev->u.ibss.ssid_len) err = __cfg80211_leave_ibss(rdev, dev, true); wdev_unlock(wdev); @@ -419,8 +419,8 @@ if (len > 0 && ssid[len - 1] == '\0') len--; - memcpy(wdev->ssid, ssid, len); - wdev->wext.ibss.ssid = wdev->ssid; + memcpy(wdev->u.ibss.ssid, ssid, len); + wdev->wext.ibss.ssid = wdev->u.ibss.ssid; wdev->wext.ibss.ssid_len = len; wdev_lock(wdev); @@ -443,10 +443,10 @@ data->flags = 0; wdev_lock(wdev); - if (wdev->ssid_len) { + if (wdev->u.ibss.ssid_len) { data->flags = 1; - data->length = wdev->ssid_len; - memcpy(ssid, wdev->ssid, data->length); + data->length = wdev->u.ibss.ssid_len; + memcpy(ssid, wdev->u.ibss.ssid, data->length); } else if (wdev->wext.ibss.ssid && wdev->wext.ibss.ssid_len) { data->flags = 1; data->length = wdev->wext.ibss.ssid_len; @@ -494,7 +494,7 @@ wdev_lock(wdev); err = 0; - if (wdev->ssid_len) + if (wdev->u.ibss.ssid_len) err = __cfg80211_leave_ibss(rdev, dev, true); wdev_unlock(wdev); @@ -527,8 +527,9 @@ ap_addr->sa_family = ARPHRD_ETHER; wdev_lock(wdev); - if (wdev->current_bss) - memcpy(ap_addr->sa_data, wdev->current_bss->pub.bssid, ETH_ALEN); + if (wdev->u.ibss.current_bss) + memcpy(ap_addr->sa_data, wdev->u.ibss.current_bss->pub.bssid, + ETH_ALEN); else if (wdev->wext.ibss.bssid) memcpy(ap_addr->sa_data, wdev->wext.ibss.bssid, ETH_ALEN); else --- linux-gcp-5.19.0.orig/net/wireless/mesh.c +++ linux-gcp-5.19.0/net/wireless/mesh.c @@ -1,4 +1,8 @@ // SPDX-License-Identifier: GPL-2.0 +/* + * Portions + * Copyright (C) 2022 Intel Corporation + */ #include #include #include @@ -114,7 +118,7 @@ setup->is_secure) return -EOPNOTSUPP; - if (wdev->mesh_id_len) + if (wdev->u.mesh.id_len) return -EALREADY; if (!setup->mesh_id_len) @@ -125,7 +129,7 @@ if (!setup->chandef.chan) { /* if no channel explicitly given, use preset channel */ - setup->chandef = wdev->preset_chandef; + setup->chandef = wdev->u.mesh.preset_chandef; } if (!setup->chandef.chan) { @@ -209,10 +213,10 @@ err = rdev_join_mesh(rdev, dev, conf, setup); if (!err) { - memcpy(wdev->ssid, setup->mesh_id, setup->mesh_id_len); - wdev->mesh_id_len = setup->mesh_id_len; - wdev->chandef = setup->chandef; - wdev->beacon_interval = setup->beacon_interval; + memcpy(wdev->u.mesh.id, setup->mesh_id, setup->mesh_id_len); + wdev->u.mesh.id_len = setup->mesh_id_len; + wdev->u.mesh.chandef = setup->chandef; + wdev->u.mesh.beacon_interval = setup->beacon_interval; } return err; @@ -241,15 +245,15 @@ err = rdev_libertas_set_mesh_channel(rdev, wdev->netdev, chandef->chan); if (!err) - wdev->chandef = *chandef; + wdev->u.mesh.chandef = *chandef; return err; } - if (wdev->mesh_id_len) + if (wdev->u.mesh.id_len) return -EBUSY; - wdev->preset_chandef = *chandef; + wdev->u.mesh.preset_chandef = *chandef; return 0; } @@ -267,15 +271,16 @@ if (!rdev->ops->leave_mesh) return -EOPNOTSUPP; - if (!wdev->mesh_id_len) + if (!wdev->u.mesh.id_len) return -ENOTCONN; err = rdev_leave_mesh(rdev, dev); if (!err) { wdev->conn_owner_nlportid = 0; - wdev->mesh_id_len = 0; - wdev->beacon_interval = 0; - memset(&wdev->chandef, 0, sizeof(wdev->chandef)); + wdev->u.mesh.id_len = 0; + wdev->u.mesh.beacon_interval = 0; + memset(&wdev->u.mesh.chandef, 0, + sizeof(wdev->u.mesh.chandef)); rdev_set_qos_map(rdev, dev, NULL); cfg80211_sched_dfs_chan_update(rdev); } --- linux-gcp-5.19.0.orig/net/wireless/mlme.c +++ linux-gcp-5.19.0/net/wireless/mlme.c @@ -92,8 +92,7 @@ nl80211_send_deauth(rdev, wdev->netdev, buf, len, reconnect, GFP_KERNEL); - if (!wdev->current_bss || - !ether_addr_equal(wdev->current_bss->pub.bssid, bssid)) + if (!wdev->connected || !ether_addr_equal(wdev->u.client.connected_addr, bssid)) return; __cfg80211_disconnected(wdev->netdev, NULL, 0, reason_code, from_ap); @@ -113,8 +112,8 @@ nl80211_send_disassoc(rdev, wdev->netdev, buf, len, reconnect, GFP_KERNEL); - if (WARN_ON(!wdev->current_bss || - !ether_addr_equal(wdev->current_bss->pub.bssid, bssid))) + if (WARN_ON(!wdev->connected || + !ether_addr_equal(wdev->u.client.connected_addr, bssid))) return; __cfg80211_disconnected(wdev->netdev, NULL, 0, reason_code, from_ap); @@ -260,8 +259,8 @@ if (!key || !key_len || key_idx < 0 || key_idx > 3) return -EINVAL; - if (wdev->current_bss && - ether_addr_equal(bssid, wdev->current_bss->pub.bssid)) + if (wdev->connected && + ether_addr_equal(bssid, wdev->u.client.connected_addr)) return -EALREADY; req.bss = cfg80211_get_bss(&rdev->wiphy, chan, bssid, ssid, ssid_len, @@ -322,9 +321,9 @@ ASSERT_WDEV_LOCK(wdev); - if (wdev->current_bss && - (!req->prev_bssid || !ether_addr_equal(wdev->current_bss->pub.bssid, - req->prev_bssid))) + if (wdev->connected && + (!req->prev_bssid || + !ether_addr_equal(wdev->u.client.connected_addr, req->prev_bssid))) return -EALREADY; cfg80211_oper_and_ht_capa(&req->ht_capa_mask, @@ -364,13 +363,13 @@ ASSERT_WDEV_LOCK(wdev); if (local_state_change && - (!wdev->current_bss || - !ether_addr_equal(wdev->current_bss->pub.bssid, bssid))) + (!wdev->connected || + !ether_addr_equal(wdev->u.client.connected_addr, bssid))) return 0; if (ether_addr_equal(wdev->disconnect_bssid, bssid) || - (wdev->current_bss && - ether_addr_equal(wdev->current_bss->pub.bssid, bssid))) + (wdev->connected && + ether_addr_equal(wdev->u.client.connected_addr, bssid))) wdev->conn_owner_nlportid = 0; return rdev_deauth(rdev, dev, &req); @@ -392,11 +391,12 @@ ASSERT_WDEV_LOCK(wdev); - if (!wdev->current_bss) + if (!wdev->connected) return -ENOTCONN; - if (ether_addr_equal(wdev->current_bss->pub.bssid, bssid)) - req.bss = &wdev->current_bss->pub; + if (ether_addr_equal(wdev->links[0].client.current_bss->pub.bssid, + bssid)) + req.bss = &wdev->links[0].client.current_bss->pub; else return -ENOTCONN; @@ -405,7 +405,7 @@ return err; /* driver should have reported the disassoc */ - WARN_ON(wdev->current_bss); + WARN_ON(wdev->connected); return 0; } @@ -420,10 +420,10 @@ if (!rdev->ops->deauth) return; - if (!wdev->current_bss) + if (!wdev->connected) return; - memcpy(bssid, wdev->current_bss->pub.bssid, ETH_ALEN); + memcpy(bssid, wdev->u.client.connected_addr, ETH_ALEN); cfg80211_mlme_deauth(rdev, dev, bssid, NULL, 0, WLAN_REASON_DEAUTH_LEAVING, false); } @@ -676,28 +676,34 @@ switch (wdev->iftype) { case NL80211_IFTYPE_ADHOC: + /* + * check for IBSS DA must be done by driver as + * cfg80211 doesn't track the stations + */ + if (!wdev->u.ibss.current_bss || + !ether_addr_equal(wdev->u.ibss.current_bss->pub.bssid, + mgmt->bssid)) { + err = -ENOTCONN; + break; + } + break; case NL80211_IFTYPE_STATION: case NL80211_IFTYPE_P2P_CLIENT: - if (!wdev->current_bss) { + if (!wdev->connected) { err = -ENOTCONN; break; } - if (!ether_addr_equal(wdev->current_bss->pub.bssid, + /* FIXME: MLD may address this differently */ + + if (!ether_addr_equal(wdev->u.client.connected_addr, mgmt->bssid)) { err = -ENOTCONN; break; } - /* - * check for IBSS DA must be done by driver as - * cfg80211 doesn't track the stations - */ - if (wdev->iftype == NL80211_IFTYPE_ADHOC) - break; - /* for station, check that DA is the AP */ - if (!ether_addr_equal(wdev->current_bss->pub.bssid, + if (!ether_addr_equal(wdev->u.client.connected_addr, mgmt->da)) { err = -ENOTCONN; break; @@ -743,12 +749,12 @@ if (!ieee80211_is_action(mgmt->frame_control) || mgmt->u.action.category != WLAN_CATEGORY_PUBLIC) return -EINVAL; - if (!wdev->current_bss && + if (!wdev->connected && !wiphy_ext_feature_isset( &rdev->wiphy, NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA)) return -EINVAL; - if (wdev->current_bss && + if (wdev->connected && !wiphy_ext_feature_isset( &rdev->wiphy, NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED)) @@ -940,14 +946,15 @@ struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy); unsigned long timeout; + /* not yet supported */ + if (wdev->valid_links) + return; + trace_cfg80211_cac_event(netdev, event); if (WARN_ON(!wdev->cac_started && event != NL80211_RADAR_CAC_STARTED)) return; - if (WARN_ON(!wdev->chandef.chan)) - return; - switch (event) { case NL80211_RADAR_CAC_FINISHED: timeout = wdev->cac_start_time + --- linux-gcp-5.19.0.orig/net/wireless/nl80211.c +++ linux-gcp-5.19.0/net/wireless/nl80211.c @@ -792,6 +792,10 @@ NL80211_EHT_MIN_CAPABILITY_LEN, NL80211_EHT_MAX_CAPABILITY_LEN), [NL80211_ATTR_DISABLE_EHT] = { .type = NLA_FLAG }, + [NL80211_ATTR_MLO_LINKS] = + NLA_POLICY_NESTED_ARRAY(nl80211_policy), + [NL80211_ATTR_MLO_LINK_ID] = + NLA_POLICY_RANGE(NLA_U8, 0, IEEE80211_MLD_MAX_NUM_LINKS), }; /* policy for the key attributes */ @@ -1225,6 +1229,37 @@ /* netlink command implementations */ +/** + * nl80211_link_id - return link ID + * @attrs: attributes to look at + * + * Returns: the link ID or 0 if not given + * + * Note this function doesn't do any validation of the link + * ID validity wrt. links that were actually added, so it must + * be called only from ops with %NL80211_FLAG_MLO_VALID_LINK_ID + * or if additional validation is done. + */ +static unsigned int nl80211_link_id(struct nlattr **attrs) +{ + struct nlattr *linkid = attrs[NL80211_ATTR_MLO_LINK_ID]; + + if (!linkid) + return 0; + + return nla_get_u8(linkid); +} + +static int nl80211_link_id_or_invalid(struct nlattr **attrs) +{ + struct nlattr *linkid = attrs[NL80211_ATTR_MLO_LINK_ID]; + + if (!linkid) + return -1; + + return nla_get_u8(linkid); +} + struct key_parse { struct key_params p; int idx; @@ -1496,11 +1531,15 @@ case NL80211_IFTYPE_MESH_POINT: break; case NL80211_IFTYPE_ADHOC: + if (wdev->u.ibss.current_bss) + return 0; + return -ENOLINK; case NL80211_IFTYPE_STATION: case NL80211_IFTYPE_P2P_CLIENT: - if (!wdev->current_bss) - return -ENOLINK; - break; + /* for MLO, require driver validation of the link ID */ + if (wdev->connected) + return 0; + return -ENOLINK; case NL80211_IFTYPE_UNSPECIFIED: case NL80211_IFTYPE_OCB: case NL80211_IFTYPE_MONITOR: @@ -3232,12 +3271,14 @@ static int __nl80211_set_channel(struct cfg80211_registered_device *rdev, struct net_device *dev, - struct genl_info *info) + struct genl_info *info, + int _link_id) { struct cfg80211_chan_def chandef; int result; enum nl80211_iftype iftype = NL80211_IFTYPE_MONITOR; struct wireless_dev *wdev = NULL; + int link_id = _link_id; if (dev) wdev = dev->ieee80211_ptr; @@ -3246,6 +3287,12 @@ if (wdev) iftype = wdev->iftype; + if (link_id < 0) { + if (wdev && wdev->valid_links) + return -EINVAL; + link_id = 0; + } + result = nl80211_parse_chandef(rdev, info, &chandef); if (result) return result; @@ -3254,49 +3301,48 @@ case NL80211_IFTYPE_AP: case NL80211_IFTYPE_P2P_GO: if (!cfg80211_reg_can_beacon_relax(&rdev->wiphy, &chandef, - iftype)) { - result = -EINVAL; - break; - } - if (wdev->beacon_interval) { + iftype)) + return -EINVAL; + if (wdev->links[link_id].ap.beacon_interval) { + struct ieee80211_channel *cur_chan; + if (!dev || !rdev->ops->set_ap_chanwidth || !(rdev->wiphy.features & - NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE)) { - result = -EBUSY; - break; - } + NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE)) + return -EBUSY; /* Only allow dynamic channel width changes */ - if (chandef.chan != wdev->preset_chandef.chan) { - result = -EBUSY; - break; - } - result = rdev_set_ap_chanwidth(rdev, dev, &chandef); + cur_chan = wdev->links[link_id].ap.chandef.chan; + if (chandef.chan != cur_chan) + return -EBUSY; + + result = rdev_set_ap_chanwidth(rdev, dev, link_id, + &chandef); if (result) - break; + return result; + wdev->links[link_id].ap.chandef = chandef; + } else { + wdev->u.ap.preset_chandef = chandef; } - wdev->preset_chandef = chandef; - result = 0; - break; + return 0; case NL80211_IFTYPE_MESH_POINT: - result = cfg80211_set_mesh_channel(rdev, wdev, &chandef); - break; + return cfg80211_set_mesh_channel(rdev, wdev, &chandef); case NL80211_IFTYPE_MONITOR: - result = cfg80211_set_monitor_channel(rdev, &chandef); - break; + return cfg80211_set_monitor_channel(rdev, &chandef); default: - result = -EINVAL; + break; } - return result; + return -EINVAL; } static int nl80211_set_channel(struct sk_buff *skb, struct genl_info *info) { struct cfg80211_registered_device *rdev = info->user_ptr[0]; + int link_id = nl80211_link_id_or_invalid(info->attrs); struct net_device *netdev = info->user_ptr[1]; - return __nl80211_set_channel(rdev, netdev, info); + return __nl80211_set_channel(rdev, netdev, info, link_id); } static int nl80211_set_wiphy(struct sk_buff *skb, struct genl_info *info) @@ -3411,7 +3457,7 @@ result = __nl80211_set_channel( rdev, nl80211_can_set_dev_channel(wdev) ? netdev : NULL, - info); + info, -1); if (result) goto out; } @@ -3696,15 +3742,13 @@ nla_put_u8(msg, NL80211_ATTR_4ADDR, wdev->use_4addr)) goto nla_put_failure; - if (rdev->ops->get_channel) { - int ret; + if (rdev->ops->get_channel && !wdev->valid_links) { struct cfg80211_chan_def chandef = {}; + int ret; - ret = rdev_get_channel(rdev, wdev, &chandef); - if (ret == 0) { - if (nl80211_send_chandef(msg, &chandef)) - goto nla_put_failure; - } + ret = rdev_get_channel(rdev, wdev, 0, &chandef); + if (ret == 0 && nl80211_send_chandef(msg, &chandef)) + goto nla_put_failure; } if (rdev->ops->get_tx_power) { @@ -3721,27 +3765,24 @@ switch (wdev->iftype) { case NL80211_IFTYPE_AP: case NL80211_IFTYPE_P2P_GO: - if (wdev->ssid_len && - nla_put(msg, NL80211_ATTR_SSID, wdev->ssid_len, wdev->ssid)) + if (wdev->u.ap.ssid_len && + nla_put(msg, NL80211_ATTR_SSID, wdev->u.ap.ssid_len, + wdev->u.ap.ssid)) goto nla_put_failure_locked; break; case NL80211_IFTYPE_STATION: case NL80211_IFTYPE_P2P_CLIENT: - case NL80211_IFTYPE_ADHOC: { - const struct element *ssid_elem; - - if (!wdev->current_bss) - break; - rcu_read_lock(); - ssid_elem = ieee80211_bss_get_elem(&wdev->current_bss->pub, - WLAN_EID_SSID); - if (ssid_elem && - nla_put(msg, NL80211_ATTR_SSID, ssid_elem->datalen, - ssid_elem->data)) - goto nla_put_failure_rcu_locked; - rcu_read_unlock(); + if (wdev->u.client.ssid_len && + nla_put(msg, NL80211_ATTR_SSID, wdev->u.client.ssid_len, + wdev->u.client.ssid)) + goto nla_put_failure_locked; + break; + case NL80211_IFTYPE_ADHOC: + if (wdev->u.ibss.ssid_len && + nla_put(msg, NL80211_ATTR_SSID, wdev->u.ibss.ssid_len, + wdev->u.ibss.ssid)) + goto nla_put_failure_locked; break; - } default: /* nothing */ break; @@ -3761,8 +3802,6 @@ genlmsg_end(msg, hdr); return 0; - nla_put_failure_rcu_locked: - rcu_read_unlock(); nla_put_failure_locked: wdev_unlock(wdev); nla_put_failure: @@ -4014,10 +4053,11 @@ wdev_lock(wdev); BUILD_BUG_ON(IEEE80211_MAX_SSID_LEN != IEEE80211_MAX_MESH_ID_LEN); - wdev->mesh_id_up_len = + wdev->u.mesh.id_up_len = nla_len(info->attrs[NL80211_ATTR_MESH_ID]); - memcpy(wdev->ssid, nla_data(info->attrs[NL80211_ATTR_MESH_ID]), - wdev->mesh_id_up_len); + memcpy(wdev->u.mesh.id, + nla_data(info->attrs[NL80211_ATTR_MESH_ID]), + wdev->u.mesh.id_up_len); wdev_unlock(wdev); } @@ -4122,10 +4162,11 @@ wdev_lock(wdev); BUILD_BUG_ON(IEEE80211_MAX_SSID_LEN != IEEE80211_MAX_MESH_ID_LEN); - wdev->mesh_id_up_len = + wdev->u.mesh.id_up_len = nla_len(info->attrs[NL80211_ATTR_MESH_ID]); - memcpy(wdev->ssid, nla_data(info->attrs[NL80211_ATTR_MESH_ID]), - wdev->mesh_id_up_len); + memcpy(wdev->u.mesh.id, + nla_data(info->attrs[NL80211_ATTR_MESH_ID]), + wdev->u.mesh.id_up_len); wdev_unlock(wdev); break; case NL80211_IFTYPE_NAN: @@ -4662,7 +4703,7 @@ dev->ieee80211_ptr->iftype != NL80211_IFTYPE_P2P_GO) return -EOPNOTSUPP; - if (!dev->ieee80211_ptr->beacon_interval) + if (!dev->ieee80211_ptr->links[0].ap.beacon_interval) return -EINVAL; acl = parse_acl_data(&rdev->wiphy, info); @@ -4818,14 +4859,24 @@ } } -static u16 he_get_txmcsmap(struct genl_info *info, +static u16 he_get_txmcsmap(struct genl_info *info, unsigned int link_id, const struct ieee80211_sta_he_cap *he_cap) { struct net_device *dev = info->user_ptr[1]; struct wireless_dev *wdev = dev->ieee80211_ptr; - __le16 tx_mcs; + struct cfg80211_chan_def *chandef; + __le16 tx_mcs; - switch (wdev->chandef.width) { + chandef = wdev_chandef(wdev, link_id); + if (!chandef) { + /* + * This is probably broken, but we never maintained + * a chandef in these cases, so it always was. + */ + return le16_to_cpu(he_cap->he_mcs_nss_supp.tx_mcs_80); + } + + switch (chandef->width) { case NL80211_CHAN_WIDTH_80P80: tx_mcs = he_cap->he_mcs_nss_supp.tx_mcs_80p80; break; @@ -4836,6 +4887,7 @@ tx_mcs = he_cap->he_mcs_nss_supp.tx_mcs_80; break; } + return le16_to_cpu(tx_mcs); } @@ -4843,7 +4895,8 @@ struct wireless_dev *wdev, struct ieee80211_supported_band *sband, struct nl80211_txrate_he *txrate, - u16 mcs[NL80211_HE_NSS_MAX]) + u16 mcs[NL80211_HE_NSS_MAX], + unsigned int link_id) { const struct ieee80211_sta_he_cap *he_cap; u16 tx_mcs_mask[NL80211_HE_NSS_MAX] = {}; @@ -4856,7 +4909,7 @@ memset(mcs, 0, sizeof(u16) * NL80211_HE_NSS_MAX); - tx_mcs_map = he_get_txmcsmap(info, he_cap); + tx_mcs_map = he_get_txmcsmap(info, link_id, he_cap); /* Build he_mcs_mask from HE capabilities */ he_build_mcs_mask(tx_mcs_map, tx_mcs_mask); @@ -4876,7 +4929,8 @@ enum nl80211_attrs attr, struct cfg80211_bitrate_mask *mask, struct net_device *dev, - bool default_all_enabled) + bool default_all_enabled, + unsigned int link_id) { struct nlattr *tb[NL80211_TXRATE_MAX + 1]; struct cfg80211_registered_device *rdev = info->user_ptr[0]; @@ -4913,7 +4967,7 @@ if (!he_cap) continue; - he_tx_mcs_map = he_get_txmcsmap(info, he_cap); + he_tx_mcs_map = he_get_txmcsmap(info, link_id, he_cap); he_build_mcs_mask(he_tx_mcs_map, mask->control[i].he_mcs); mask->control[i].he_gi = 0xFF; @@ -4978,7 +5032,8 @@ if (tb[NL80211_TXRATE_HE] && !he_set_mcs_mask(info, wdev, sband, nla_data(tb[NL80211_TXRATE_HE]), - mask->control[band].he_mcs)) + mask->control[band].he_mcs, + link_id)) return -EINVAL; if (tb[NL80211_TXRATE_HE_GI]) @@ -5215,6 +5270,8 @@ memset(bcn, 0, sizeof(*bcn)); + bcn->link_id = nl80211_link_id(attrs); + if (attrs[NL80211_ATTR_BEACON_HEAD]) { bcn->head = nla_data(attrs[NL80211_ATTR_BEACON_HEAD]); bcn->head_len = nla_len(attrs[NL80211_ATTR_BEACON_HEAD]); @@ -5468,22 +5525,20 @@ struct cfg80211_ap_settings *params) { struct wireless_dev *wdev; - bool ret = false; list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) { if (wdev->iftype != NL80211_IFTYPE_AP && wdev->iftype != NL80211_IFTYPE_P2P_GO) continue; - if (!wdev->preset_chandef.chan) + if (!wdev->u.ap.preset_chandef.chan) continue; - params->chandef = wdev->preset_chandef; - ret = true; - break; + params->chandef = wdev->u.ap.preset_chandef; + return true; } - return ret; + return false; } static bool nl80211_valid_auth_type(struct cfg80211_registered_device *rdev, @@ -5541,6 +5596,7 @@ static int nl80211_start_ap(struct sk_buff *skb, struct genl_info *info) { struct cfg80211_registered_device *rdev = info->user_ptr[0]; + unsigned int link_id = nl80211_link_id(info->attrs); struct net_device *dev = info->user_ptr[1]; struct wireless_dev *wdev = dev->ieee80211_ptr; struct cfg80211_ap_settings *params; @@ -5553,7 +5609,7 @@ if (!rdev->ops->start_ap) return -EOPNOTSUPP; - if (wdev->beacon_interval) + if (wdev->links[link_id].ap.beacon_interval) return -EALREADY; /* these are required for START_AP */ @@ -5595,6 +5651,18 @@ err = -EINVAL; goto out; } + + if (wdev->u.ap.ssid_len && + (wdev->u.ap.ssid_len != params->ssid_len || + memcmp(wdev->u.ap.ssid, params->ssid, params->ssid_len))) { + /* require identical SSID for MLO */ + err = -EINVAL; + goto out; + } + } else if (wdev->valid_links) { + /* require SSID for MLO */ + err = -EINVAL; + goto out; } if (info->attrs[NL80211_ATTR_HIDDEN_SSID]) @@ -5662,8 +5730,12 @@ err = nl80211_parse_chandef(rdev, info, ¶ms->chandef); if (err) goto out; - } else if (wdev->preset_chandef.chan) { - params->chandef = wdev->preset_chandef; + } else if (wdev->valid_links) { + /* with MLD need to specify the channel configuration */ + err = -EINVAL; + goto out; + } else if (wdev->u.ap.preset_chandef.chan) { + params->chandef = wdev->u.ap.preset_chandef; } else if (!nl80211_get_ap_channel(rdev, params)) { err = -EINVAL; goto out; @@ -5675,18 +5747,20 @@ goto out; } + wdev_lock(wdev); + if (info->attrs[NL80211_ATTR_TX_RATES]) { err = nl80211_parse_tx_bitrate_mask(info, info->attrs, NL80211_ATTR_TX_RATES, ¶ms->beacon_rate, - dev, false); + dev, false, link_id); if (err) - goto out; + goto out_unlock; err = validate_beacon_tx_rate(rdev, params->chandef.chan->band, ¶ms->beacon_rate); if (err) - goto out; + goto out_unlock; } if (info->attrs[NL80211_ATTR_SMPS_MODE]) { @@ -5699,19 +5773,19 @@ if (!(rdev->wiphy.features & NL80211_FEATURE_STATIC_SMPS)) { err = -EINVAL; - goto out; + goto out_unlock; } break; case NL80211_SMPS_DYNAMIC: if (!(rdev->wiphy.features & NL80211_FEATURE_DYNAMIC_SMPS)) { err = -EINVAL; - goto out; + goto out_unlock; } break; default: err = -EINVAL; - goto out; + goto out_unlock; } } else { params->smps_mode = NL80211_SMPS_OFF; @@ -5720,7 +5794,7 @@ params->pbss = nla_get_flag(info->attrs[NL80211_ATTR_PBSS]); if (params->pbss && !rdev->wiphy.bands[NL80211_BAND_60GHZ]) { err = -EOPNOTSUPP; - goto out; + goto out_unlock; } if (info->attrs[NL80211_ATTR_ACL_POLICY]) { @@ -5728,7 +5802,7 @@ if (IS_ERR(params->acl)) { err = PTR_ERR(params->acl); params->acl = NULL; - goto out; + goto out_unlock; } } @@ -5740,7 +5814,7 @@ info->attrs[NL80211_ATTR_HE_OBSS_PD], ¶ms->he_obss_pd); if (err) - goto out; + goto out_unlock; } if (info->attrs[NL80211_ATTR_FILS_DISCOVERY]) { @@ -5748,7 +5822,7 @@ info->attrs[NL80211_ATTR_FILS_DISCOVERY], params); if (err) - goto out; + goto out_unlock; } if (info->attrs[NL80211_ATTR_UNSOL_BCAST_PROBE_RESP]) { @@ -5756,7 +5830,7 @@ rdev, info->attrs[NL80211_ATTR_UNSOL_BCAST_PROBE_RESP], params); if (err) - goto out; + goto out_unlock; } if (info->attrs[NL80211_ATTR_MBSSID_CONFIG]) { @@ -5767,7 +5841,7 @@ params->beacon.mbssid_ies->cnt : 0); if (err) - goto out; + goto out_unlock; } nl80211_calculate_ap_params(params); @@ -5778,20 +5852,28 @@ else if (info->attrs[NL80211_ATTR_EXTERNAL_AUTH_SUPPORT]) params->flags |= NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT; - wdev_lock(wdev); + if (wdev->conn_owner_nlportid && + info->attrs[NL80211_ATTR_SOCKET_OWNER] && + wdev->conn_owner_nlportid != info->snd_portid) { + err = -EINVAL; + goto out_unlock; + } + + /* FIXME: validate MLO/link-id against driver capabilities */ + err = rdev_start_ap(rdev, dev, params); if (!err) { - wdev->preset_chandef = params->chandef; - wdev->beacon_interval = params->beacon_interval; - wdev->chandef = params->chandef; - wdev->ssid_len = params->ssid_len; - memcpy(wdev->ssid, params->ssid, wdev->ssid_len); + wdev->links[link_id].ap.beacon_interval = params->beacon_interval; + wdev->links[link_id].ap.chandef = params->chandef; + wdev->u.ap.ssid_len = params->ssid_len; + memcpy(wdev->u.ap.ssid, params->ssid, + params->ssid_len); if (info->attrs[NL80211_ATTR_SOCKET_OWNER]) wdev->conn_owner_nlportid = info->snd_portid; } +out_unlock: wdev_unlock(wdev); - out: kfree(params->acl); kfree(params->beacon.mbssid_ies); @@ -5807,6 +5889,7 @@ static int nl80211_set_beacon(struct sk_buff *skb, struct genl_info *info) { struct cfg80211_registered_device *rdev = info->user_ptr[0]; + unsigned int link_id = nl80211_link_id(info->attrs); struct net_device *dev = info->user_ptr[1]; struct wireless_dev *wdev = dev->ieee80211_ptr; struct cfg80211_beacon_data params; @@ -5819,7 +5902,7 @@ if (!rdev->ops->change_beacon) return -EOPNOTSUPP; - if (!wdev->beacon_interval) + if (!wdev->links[link_id].ap.beacon_interval) return -EINVAL; err = nl80211_parse_beacon(rdev, info->attrs, ¶ms); @@ -5838,9 +5921,10 @@ static int nl80211_stop_ap(struct sk_buff *skb, struct genl_info *info) { struct cfg80211_registered_device *rdev = info->user_ptr[0]; + unsigned int link_id = nl80211_link_id(info->attrs); struct net_device *dev = info->user_ptr[1]; - return cfg80211_stop_ap(rdev, dev, false); + return cfg80211_stop_ap(rdev, dev, link_id, false); } static const struct nla_policy sta_flags_policy[NL80211_STA_FLAG_MAX + 1] = { @@ -7590,7 +7674,7 @@ wdev_lock(wdev); /* If not connected, get default parameters */ - if (!wdev->mesh_id_len) + if (!wdev->u.mesh.id_len) memcpy(&cur_params, &default_mesh_config, sizeof(cur_params)); else err = rdev_get_mesh_config(rdev, dev, &cur_params); @@ -7971,7 +8055,7 @@ return err; wdev_lock(wdev); - if (!wdev->mesh_id_len) + if (!wdev->u.mesh.id_len) err = -ENOLINK; if (!err) @@ -8463,14 +8547,44 @@ return 0; } -static bool cfg80211_off_channel_oper_allowed(struct wireless_dev *wdev) +static bool cfg80211_off_channel_oper_allowed(struct wireless_dev *wdev, + struct ieee80211_channel *chan) { + unsigned int link_id; + bool all_ok = true; + ASSERT_WDEV_LOCK(wdev); if (!cfg80211_beaconing_iface_active(wdev)) return true; - if (!(wdev->chandef.chan->flags & IEEE80211_CHAN_RADAR)) + /* + * FIXME: check if we have a free HW resource/link for chan + * + * This, as well as the FIXME below, requires knowing the link + * capabilities of the hardware. + */ + + /* we cannot leave radar channels */ + for_each_valid_link(wdev, link_id) { + struct cfg80211_chan_def *chandef; + + chandef = wdev_chandef(wdev, link_id); + if (!chandef) + continue; + + /* + * FIXME: don't require all_ok, but rather check only the + * correct HW resource/link onto which 'chan' falls, + * as only that link leaves the channel for doing + * the off-channel operation. + */ + + if (chandef->chan->flags & IEEE80211_CHAN_RADAR) + all_ok = false; + } + + if (all_ok) return true; return regulatory_pre_cac_allowed(wdev->wiphy); @@ -8553,7 +8667,7 @@ int err; if (!(wiphy->features & randomness_flag) || - (wdev && wdev->current_bss)) + (wdev && wdev->connected)) return -EOPNOTSUPP; err = nl80211_parse_random_mac(attrs, mac_addr, mac_addr_mask); @@ -8690,17 +8804,14 @@ request->n_channels = i; wdev_lock(wdev); - if (!cfg80211_off_channel_oper_allowed(wdev)) { - struct ieee80211_channel *chan; + for (i = 0; i < request->n_channels; i++) { + struct ieee80211_channel *chan = request->channels[i]; - if (request->n_channels != 1) { - wdev_unlock(wdev); - err = -EBUSY; - goto out_free; - } + /* if we can go off-channel to the target channel we're good */ + if (cfg80211_off_channel_oper_allowed(wdev, chan)) + continue; - chan = request->channels[0]; - if (chan->center_freq != wdev->chandef.chan->center_freq) { + if (!cfg80211_wdev_on_sub_chan(wdev, chan, true)) { wdev_unlock(wdev); err = -EBUSY; goto out_free; @@ -9445,7 +9556,7 @@ err = rdev_start_radar_detection(rdev, dev, &chandef, cac_time_ms); if (!err) { - wdev->chandef = chandef; + wdev->links[0].ap.chandef = chandef; wdev->cac_started = true; wdev->cac_start_time = jiffies; wdev->cac_time_ms = cac_time_ms; @@ -9513,6 +9624,7 @@ static int nl80211_channel_switch(struct sk_buff *skb, struct genl_info *info) { struct cfg80211_registered_device *rdev = info->user_ptr[0]; + unsigned int link_id = nl80211_link_id(info->attrs); struct net_device *dev = info->user_ptr[1]; struct wireless_dev *wdev = dev->ieee80211_ptr; struct cfg80211_csa_settings params; @@ -9539,15 +9651,15 @@ need_handle_dfs_flag = false; /* useless if AP is not running */ - if (!wdev->beacon_interval) + if (!wdev->links[link_id].ap.beacon_interval) return -ENOTCONN; break; case NL80211_IFTYPE_ADHOC: - if (!wdev->ssid_len) + if (!wdev->u.ibss.ssid_len) return -ENOTCONN; break; case NL80211_IFTYPE_MESH_POINT: - if (!wdev->mesh_id_len) + if (!wdev->u.mesh.id_len) return -ENOTCONN; break; default: @@ -9718,6 +9830,7 @@ { struct cfg80211_bss *res = &intbss->pub; const struct cfg80211_bss_ies *ies; + unsigned int link_id; void *hdr; struct nlattr *bss; @@ -9822,13 +9935,15 @@ switch (wdev->iftype) { case NL80211_IFTYPE_P2P_CLIENT: case NL80211_IFTYPE_STATION: - if (intbss == wdev->current_bss && - nla_put_u32(msg, NL80211_BSS_STATUS, - NL80211_BSS_STATUS_ASSOCIATED)) - goto nla_put_failure; + for_each_valid_link(wdev, link_id) { + if (intbss == wdev->links[link_id].client.current_bss && + nla_put_u32(msg, NL80211_BSS_STATUS, + NL80211_BSS_STATUS_ASSOCIATED)) + goto nla_put_failure; + } break; case NL80211_IFTYPE_ADHOC: - if (intbss == wdev->current_bss && + if (intbss == wdev->u.ibss.current_bss && nla_put_u32(msg, NL80211_BSS_STATUS, NL80211_BSS_STATUS_IBSS_JOINED)) goto nla_put_failure; @@ -10012,7 +10127,9 @@ } while (1) { + wdev_lock(wdev); res = rdev_dump_survey(rdev, wdev->netdev, survey_idx, &survey); + wdev_unlock(wdev); if (res == -ENOENT) break; if (res) @@ -11362,7 +11479,7 @@ } wdev_lock(dev->ieee80211_ptr); - if (!wdev->current_bss) + if (!wdev->connected) ret = -ENOLINK; else ret = rdev_update_connect_params(rdev, dev, &connect, changed); @@ -11575,9 +11692,9 @@ struct genl_info *info) { struct cfg80211_registered_device *rdev = info->user_ptr[0]; + unsigned int link_id = nl80211_link_id(info->attrs); struct wireless_dev *wdev = info->user_ptr[1]; struct cfg80211_chan_def chandef; - const struct cfg80211_chan_def *compat_chandef; struct sk_buff *msg; void *hdr; u64 cookie; @@ -11607,10 +11724,22 @@ return err; wdev_lock(wdev); - if (!cfg80211_off_channel_oper_allowed(wdev) && - !cfg80211_chandef_identical(&wdev->chandef, &chandef)) { - compat_chandef = cfg80211_chandef_compatible(&wdev->chandef, - &chandef); + if (!cfg80211_off_channel_oper_allowed(wdev, chandef.chan)) { + const struct cfg80211_chan_def *oper_chandef, *compat_chandef; + + oper_chandef = wdev_chandef(wdev, link_id); + + if (WARN_ON(!oper_chandef)) { + /* cannot happen since we must beacon to get here */ + WARN_ON(1); + wdev_unlock(wdev); + return -EBUSY; + } + + /* note: returns first one if identical chandefs */ + compat_chandef = cfg80211_chandef_compatible(&chandef, + oper_chandef); + if (compat_chandef != &chandef) { wdev_unlock(wdev); return -EBUSY; @@ -11672,6 +11801,7 @@ struct genl_info *info) { struct cfg80211_bitrate_mask mask; + unsigned int link_id = nl80211_link_id(info->attrs); struct cfg80211_registered_device *rdev = info->user_ptr[0]; struct net_device *dev = info->user_ptr[1]; struct wireless_dev *wdev = dev->ieee80211_ptr; @@ -11683,11 +11813,11 @@ wdev_lock(wdev); err = nl80211_parse_tx_bitrate_mask(info, info->attrs, NL80211_ATTR_TX_RATES, &mask, - dev, true); + dev, true, link_id); if (err) goto out; - err = rdev_set_bitrate_mask(rdev, dev, NULL, &mask); + err = rdev_set_bitrate_mask(rdev, dev, link_id, NULL, &mask); out: wdev_unlock(wdev); return err; @@ -11812,7 +11942,8 @@ return -EINVAL; wdev_lock(wdev); - if (params.offchan && !cfg80211_off_channel_oper_allowed(wdev)) { + if (params.offchan && + !cfg80211_off_channel_oper_allowed(wdev, chandef.chan)) { wdev_unlock(wdev); return -EBUSY; } @@ -12030,12 +12161,13 @@ * connection is established and enough beacons received to calculate * the average. */ - if (!wdev->cqm_config->last_rssi_event_value && wdev->current_bss && + if (!wdev->cqm_config->last_rssi_event_value && + wdev->links[0].client.current_bss && rdev->ops->get_station) { struct station_info sinfo = {}; u8 *mac_addr; - mac_addr = wdev->current_bss->pub.bssid; + mac_addr = wdev->links[0].client.current_bss->pub.bssid; err = rdev_get_station(rdev, dev, mac_addr, &sinfo); if (err) @@ -12298,7 +12430,7 @@ err = nl80211_parse_tx_bitrate_mask(info, info->attrs, NL80211_ATTR_TX_RATES, &setup.beacon_rate, - dev, false); + dev, false, 0); if (err) return err; @@ -13256,7 +13388,7 @@ return -ERANGE; if (nla_len(tb[NL80211_REKEY_DATA_KCK]) != NL80211_KCK_LEN && !(rdev->wiphy.flags & WIPHY_FLAG_SUPPORTS_EXT_KEK_KCK && - nla_len(tb[NL80211_REKEY_DATA_KEK]) == NL80211_KCK_EXT_LEN)) + nla_len(tb[NL80211_REKEY_DATA_KCK]) == NL80211_KCK_EXT_LEN)) return -ERANGE; rekey_data.kek = nla_data(tb[NL80211_REKEY_DATA_KEK]); @@ -13268,7 +13400,7 @@ rekey_data.akm = nla_get_u32(tb[NL80211_REKEY_DATA_AKM]); wdev_lock(wdev); - if (!wdev->current_bss) { + if (!wdev->connected) { err = -ENOTCONN; goto out; } @@ -14537,7 +14669,7 @@ switch (wdev->iftype) { case NL80211_IFTYPE_STATION: case NL80211_IFTYPE_P2P_CLIENT: - if (wdev->current_bss) + if (wdev->connected) break; err = -ENOTCONN; goto out; @@ -14710,13 +14842,13 @@ return -EINVAL; wdev_lock(wdev); - if (!wdev->current_bss) { + if (!wdev->connected) { ret = -ENOTCONN; goto out; } pmk_conf.aa = nla_data(info->attrs[NL80211_ATTR_MAC]); - if (memcmp(pmk_conf.aa, wdev->current_bss->pub.bssid, ETH_ALEN)) { + if (memcmp(pmk_conf.aa, wdev->u.client.connected_addr, ETH_ALEN)) { ret = -EINVAL; goto out; } @@ -14844,9 +14976,13 @@ case NL80211_IFTYPE_MESH_POINT: break; case NL80211_IFTYPE_ADHOC: + if (wdev->u.ibss.current_bss) + break; + err = -ENOTCONN; + goto out; case NL80211_IFTYPE_STATION: case NL80211_IFTYPE_P2P_CLIENT: - if (wdev->current_bss) + if (wdev->connected) break; err = -ENOTCONN; goto out; @@ -14882,12 +15018,14 @@ struct net_device *dev = info->user_ptr[1]; struct wireless_dev *wdev = dev->ieee80211_ptr; struct cfg80211_ftm_responder_stats ftm_stats = {}; + unsigned int link_id = nl80211_link_id(info->attrs); struct sk_buff *msg; void *hdr; struct nlattr *ftm_stats_attr; int err; - if (wdev->iftype != NL80211_IFTYPE_AP || !wdev->beacon_interval) + if (wdev->iftype != NL80211_IFTYPE_AP || + !wdev->links[link_id].ap.beacon_interval) return -EOPNOTSUPP; err = rdev_get_ftm_responder_stats(rdev, dev, &ftm_stats); @@ -15017,7 +15155,8 @@ static int parse_tid_conf(struct cfg80211_registered_device *rdev, struct nlattr *attrs[], struct net_device *dev, struct cfg80211_tid_cfg *tid_conf, - struct genl_info *info, const u8 *peer) + struct genl_info *info, const u8 *peer, + unsigned int link_id) { struct netlink_ext_ack *extack = info->extack; u64 mask; @@ -15092,7 +15231,7 @@ attr = NL80211_TID_CONFIG_ATTR_TX_RATE; err = nl80211_parse_tx_bitrate_mask(info, attrs, attr, &tid_conf->txrate_mask, dev, - true); + true, link_id); if (err) return err; @@ -15119,6 +15258,7 @@ { struct cfg80211_registered_device *rdev = info->user_ptr[0]; struct nlattr *attrs[NL80211_TID_CONFIG_ATTR_MAX + 1]; + unsigned int link_id = nl80211_link_id(info->attrs); struct net_device *dev = info->user_ptr[1]; struct cfg80211_tid_config *tid_config; struct nlattr *tid; @@ -15146,6 +15286,8 @@ if (info->attrs[NL80211_ATTR_MAC]) tid_config->peer = nla_data(info->attrs[NL80211_ATTR_MAC]); + wdev_lock(dev->ieee80211_ptr); + nla_for_each_nested(tid, info->attrs[NL80211_ATTR_TID_CONFIG], rem_conf) { ret = nla_parse_nested(attrs, NL80211_TID_CONFIG_ATTR_MAX, @@ -15156,7 +15298,7 @@ ret = parse_tid_conf(rdev, attrs, dev, &tid_config->tid_conf[conf_idx], - info, tid_config->peer); + info, tid_config->peer, link_id); if (ret) goto bad_tid_conf; @@ -15167,6 +15309,7 @@ bad_tid_conf: kfree(tid_config); + wdev_unlock(dev->ieee80211_ptr); return ret; } @@ -15295,6 +15438,62 @@ return rdev_set_fils_aad(rdev, dev, &fils_aad); } +static int nl80211_add_link(struct sk_buff *skb, struct genl_info *info) +{ + unsigned int link_id = nl80211_link_id(info->attrs); + struct net_device *dev = info->user_ptr[1]; + struct wireless_dev *wdev = dev->ieee80211_ptr; + + if (!(wdev->wiphy->flags & WIPHY_FLAG_SUPPORTS_MLO)) + return -EINVAL; + + switch (wdev->iftype) { + case NL80211_IFTYPE_AP: + break; + default: + return -EINVAL; + } + + if (!info->attrs[NL80211_ATTR_MAC] || + !is_valid_ether_addr(nla_data(info->attrs[NL80211_ATTR_MAC]))) + return -EINVAL; + + wdev_lock(wdev); + wdev->valid_links |= BIT(link_id); + ether_addr_copy(wdev->links[link_id].addr, + nla_data(info->attrs[NL80211_ATTR_MAC])); + wdev_unlock(wdev); + + return 0; +} + +static int nl80211_remove_link(struct sk_buff *skb, struct genl_info *info) +{ + unsigned int link_id = nl80211_link_id(info->attrs); + struct net_device *dev = info->user_ptr[1]; + struct wireless_dev *wdev = dev->ieee80211_ptr; + + /* cannot remove if there's no link */ + if (!info->attrs[NL80211_ATTR_MLO_LINK_ID]) + return -EINVAL; + + switch (wdev->iftype) { + case NL80211_IFTYPE_AP: + break; + default: + return -EINVAL; + } + + /* FIXME: stop the link operations first */ + + wdev_lock(wdev); + wdev->valid_links &= ~BIT(link_id); + eth_zero_addr(wdev->links[link_id].addr); + wdev_unlock(wdev); + + return 0; +} + #define NL80211_FLAG_NEED_WIPHY 0x01 #define NL80211_FLAG_NEED_NETDEV 0x02 #define NL80211_FLAG_NEED_RTNL 0x04 @@ -15307,6 +15506,8 @@ NL80211_FLAG_CHECK_NETDEV_UP) #define NL80211_FLAG_CLEAR_SKB 0x20 #define NL80211_FLAG_NO_WIPHY_MTX 0x40 +#define NL80211_FLAG_MLO_VALID_LINK_ID 0x80 +#define NL80211_FLAG_MLO_UNSUPPORTED 0x100 #define INTERNAL_FLAG_SELECTORS(__sel) \ SELECTOR(__sel, NONE, 0) /* must be first */ \ @@ -15316,6 +15517,12 @@ NL80211_FLAG_NEED_WDEV) \ SELECTOR(__sel, NETDEV, \ NL80211_FLAG_NEED_NETDEV) \ + SELECTOR(__sel, NETDEV_LINK, \ + NL80211_FLAG_NEED_NETDEV | \ + NL80211_FLAG_MLO_VALID_LINK_ID) \ + SELECTOR(__sel, NETDEV_NO_MLO, \ + NL80211_FLAG_NEED_NETDEV | \ + NL80211_FLAG_MLO_UNSUPPORTED) \ SELECTOR(__sel, WIPHY_RTNL, \ NL80211_FLAG_NEED_WIPHY | \ NL80211_FLAG_NEED_RTNL) \ @@ -15331,14 +15538,31 @@ NL80211_FLAG_NEED_RTNL) \ SELECTOR(__sel, NETDEV_UP, \ NL80211_FLAG_NEED_NETDEV_UP) \ + SELECTOR(__sel, NETDEV_UP_LINK, \ + NL80211_FLAG_NEED_NETDEV_UP | \ + NL80211_FLAG_MLO_VALID_LINK_ID) \ + SELECTOR(__sel, NETDEV_UP_NO_MLO, \ + NL80211_FLAG_NEED_NETDEV_UP | \ + NL80211_FLAG_MLO_UNSUPPORTED) \ + SELECTOR(__sel, NETDEV_UP_NO_MLO_CLEAR, \ + NL80211_FLAG_NEED_NETDEV_UP | \ + NL80211_FLAG_CLEAR_SKB | \ + NL80211_FLAG_MLO_UNSUPPORTED) \ SELECTOR(__sel, NETDEV_UP_NOTMX, \ NL80211_FLAG_NEED_NETDEV_UP | \ NL80211_FLAG_NO_WIPHY_MTX) \ + SELECTOR(__sel, NETDEV_UP_NOTMX_NOMLO, \ + NL80211_FLAG_NEED_NETDEV_UP | \ + NL80211_FLAG_NO_WIPHY_MTX | \ + NL80211_FLAG_MLO_UNSUPPORTED) \ SELECTOR(__sel, NETDEV_UP_CLEAR, \ NL80211_FLAG_NEED_NETDEV_UP | \ NL80211_FLAG_CLEAR_SKB) \ SELECTOR(__sel, WDEV_UP, \ NL80211_FLAG_NEED_WDEV_UP) \ + SELECTOR(__sel, WDEV_UP_LINK, \ + NL80211_FLAG_NEED_WDEV_UP | \ + NL80211_FLAG_MLO_VALID_LINK_ID) \ SELECTOR(__sel, WDEV_UP_RTNL, \ NL80211_FLAG_NEED_WDEV_UP | \ NL80211_FLAG_NEED_RTNL) \ @@ -15362,9 +15586,10 @@ struct genl_info *info) { struct cfg80211_registered_device *rdev = NULL; - struct wireless_dev *wdev; - struct net_device *dev; + struct wireless_dev *wdev = NULL; + struct net_device *dev = NULL; u32 internal_flags; + int err; if (WARN_ON(ops->internal_flags >= ARRAY_SIZE(nl80211_internal_flags))) return -EINVAL; @@ -15375,8 +15600,8 @@ if (internal_flags & NL80211_FLAG_NEED_WIPHY) { rdev = cfg80211_get_dev_from_info(genl_info_net(info), info); if (IS_ERR(rdev)) { - rtnl_unlock(); - return PTR_ERR(rdev); + err = PTR_ERR(rdev); + goto out_unlock; } info->user_ptr[0] = rdev; } else if (internal_flags & NL80211_FLAG_NEED_NETDEV || @@ -15384,17 +15609,18 @@ wdev = __cfg80211_wdev_from_attrs(NULL, genl_info_net(info), info->attrs); if (IS_ERR(wdev)) { - rtnl_unlock(); - return PTR_ERR(wdev); + err = PTR_ERR(wdev); + goto out_unlock; } dev = wdev->netdev; + dev_hold(dev); rdev = wiphy_to_rdev(wdev->wiphy); if (internal_flags & NL80211_FLAG_NEED_NETDEV) { if (!dev) { - rtnl_unlock(); - return -EINVAL; + err = -EINVAL; + goto out_unlock; } info->user_ptr[1] = dev; @@ -15404,14 +15630,44 @@ if (internal_flags & NL80211_FLAG_CHECK_NETDEV_UP && !wdev_running(wdev)) { - rtnl_unlock(); - return -ENETDOWN; + err = -ENETDOWN; + goto out_unlock; } - dev_hold(dev); info->user_ptr[0] = rdev; } + if (internal_flags & NL80211_FLAG_MLO_VALID_LINK_ID) { + struct nlattr *link_id = info->attrs[NL80211_ATTR_MLO_LINK_ID]; + + if (!wdev) { + err = -EINVAL; + goto out_unlock; + } + + /* MLO -> require valid link ID */ + if (wdev->valid_links && + (!link_id || + !(wdev->valid_links & BIT(nla_get_u16(link_id))))) { + err = -EINVAL; + goto out_unlock; + } + + /* non-MLO -> no link ID attribute accepted */ + if (!wdev->valid_links && link_id) { + err = -EINVAL; + goto out_unlock; + } + } + + if (internal_flags & NL80211_FLAG_MLO_UNSUPPORTED) { + if (info->attrs[NL80211_ATTR_MLO_LINK_ID] || + (wdev && wdev->valid_links)) { + err = -EINVAL; + goto out_unlock; + } + } + if (rdev && !(internal_flags & NL80211_FLAG_NO_WIPHY_MTX)) { wiphy_lock(&rdev->wiphy); /* we keep the mutex locked until post_doit */ @@ -15421,6 +15677,10 @@ rtnl_unlock(); return 0; +out_unlock: + rtnl_unlock(); + dev_put(dev); + return err; } static void nl80211_post_doit(const struct genl_ops *ops, struct sk_buff *skb, @@ -15636,6 +15896,7 @@ .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .doit = nl80211_set_key, .flags = GENL_UNS_ADMIN_PERM, + /* cannot use NL80211_FLAG_MLO_VALID_LINK_ID, depends on key */ .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV_UP | NL80211_FLAG_CLEAR_SKB), }, @@ -15659,21 +15920,24 @@ .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .flags = GENL_UNS_ADMIN_PERM, .doit = nl80211_set_beacon, - .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV_UP), + .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV_UP | + NL80211_FLAG_MLO_VALID_LINK_ID), }, { .cmd = NL80211_CMD_START_AP, .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .flags = GENL_UNS_ADMIN_PERM, .doit = nl80211_start_ap, - .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV_UP), + .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV_UP | + NL80211_FLAG_MLO_VALID_LINK_ID), }, { .cmd = NL80211_CMD_STOP_AP, .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .flags = GENL_UNS_ADMIN_PERM, .doit = nl80211_stop_ap, - .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV_UP), + .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV_UP | + NL80211_FLAG_MLO_VALID_LINK_ID), }, { .cmd = NL80211_CMD_GET_STATION, @@ -15939,7 +16203,9 @@ .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .doit = nl80211_remain_on_channel, .flags = GENL_UNS_ADMIN_PERM, - .internal_flags = IFLAGS(NL80211_FLAG_NEED_WDEV_UP), + /* FIXME: requiring a link ID here is probably not good */ + .internal_flags = IFLAGS(NL80211_FLAG_NEED_WDEV_UP | + NL80211_FLAG_MLO_VALID_LINK_ID), }, { .cmd = NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL, @@ -15953,7 +16219,8 @@ .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .doit = nl80211_set_tx_bitrate_mask, .flags = GENL_UNS_ADMIN_PERM, - .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV), + .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV | + NL80211_FLAG_MLO_VALID_LINK_ID), }, { .cmd = NL80211_CMD_REGISTER_FRAME, @@ -16002,7 +16269,8 @@ .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .doit = nl80211_set_channel, .flags = GENL_UNS_ADMIN_PERM, - .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV), + .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV | + NL80211_FLAG_MLO_VALID_LINK_ID), }, { .cmd = NL80211_CMD_JOIN_MESH, @@ -16163,7 +16431,8 @@ .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .doit = nl80211_set_mac_acl, .flags = GENL_UNS_ADMIN_PERM, - .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV), + .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV | + NL80211_FLAG_MLO_UNSUPPORTED), }, { .cmd = NL80211_CMD_RADAR_DETECT, @@ -16171,7 +16440,8 @@ .doit = nl80211_start_radar_detection, .flags = GENL_UNS_ADMIN_PERM, .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV_UP | - NL80211_FLAG_NO_WIPHY_MTX), + NL80211_FLAG_NO_WIPHY_MTX | + NL80211_FLAG_MLO_UNSUPPORTED), }, { .cmd = NL80211_CMD_GET_PROTOCOL_FEATURES, @@ -16217,7 +16487,8 @@ .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .doit = nl80211_channel_switch, .flags = GENL_UNS_ADMIN_PERM, - .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV_UP), + .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV_UP | + NL80211_FLAG_MLO_VALID_LINK_ID), }, { .cmd = NL80211_CMD_VENDOR, @@ -16240,7 +16511,8 @@ .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .doit = nl80211_add_tx_ts, .flags = GENL_UNS_ADMIN_PERM, - .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV_UP), + .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV_UP | + NL80211_FLAG_MLO_UNSUPPORTED), }, { .cmd = NL80211_CMD_DEL_TX_TS, @@ -16301,7 +16573,8 @@ .cmd = NL80211_CMD_GET_FTM_RESPONDER_STATS, .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .doit = nl80211_get_ftm_responder_stats, - .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV), + .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV | + NL80211_FLAG_MLO_VALID_LINK_ID), }, { .cmd = NL80211_CMD_PEER_MEASUREMENT_START, @@ -16333,7 +16606,8 @@ .cmd = NL80211_CMD_SET_TID_CONFIG, .doit = nl80211_set_tid_config, .flags = GENL_UNS_ADMIN_PERM, - .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV), + .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV | + NL80211_FLAG_MLO_VALID_LINK_ID), }, { .cmd = NL80211_CMD_SET_SAR_SPECS, @@ -16357,6 +16631,19 @@ .flags = GENL_UNS_ADMIN_PERM, .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV_UP), }, + { + .cmd = NL80211_CMD_ADD_LINK, + .doit = nl80211_add_link, + .flags = GENL_UNS_ADMIN_PERM, + .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV_UP), + }, + { + .cmd = NL80211_CMD_REMOVE_LINK, + .doit = nl80211_remove_link, + .flags = GENL_UNS_ADMIN_PERM, + .internal_flags = IFLAGS(NL80211_FLAG_NEED_NETDEV_UP | + NL80211_FLAG_MLO_VALID_LINK_ID), + }, }; static struct genl_family nl80211_fam __ro_after_init = { @@ -17984,23 +18271,40 @@ } void cfg80211_ch_switch_notify(struct net_device *dev, - struct cfg80211_chan_def *chandef) + struct cfg80211_chan_def *chandef, + unsigned int link_id) { struct wireless_dev *wdev = dev->ieee80211_ptr; struct wiphy *wiphy = wdev->wiphy; struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy); ASSERT_WDEV_LOCK(wdev); + WARN_INVALID_LINK_ID(wdev, link_id); - trace_cfg80211_ch_switch_notify(dev, chandef); + trace_cfg80211_ch_switch_notify(dev, chandef, link_id); - wdev->chandef = *chandef; - wdev->preset_chandef = *chandef; - - if ((wdev->iftype == NL80211_IFTYPE_STATION || - wdev->iftype == NL80211_IFTYPE_P2P_CLIENT) && - !WARN_ON(!wdev->current_bss)) - cfg80211_update_assoc_bss_entry(wdev, chandef->chan); + switch (wdev->iftype) { + case NL80211_IFTYPE_STATION: + case NL80211_IFTYPE_P2P_CLIENT: + if (!WARN_ON(!wdev->links[link_id].client.current_bss)) + cfg80211_update_assoc_bss_entry(wdev, link_id, + chandef->chan); + break; + case NL80211_IFTYPE_MESH_POINT: + wdev->u.mesh.chandef = *chandef; + wdev->u.mesh.preset_chandef = *chandef; + break; + case NL80211_IFTYPE_AP: + case NL80211_IFTYPE_P2P_GO: + wdev->links[link_id].ap.chandef = *chandef; + break; + case NL80211_IFTYPE_ADHOC: + wdev->u.ibss.chandef = *chandef; + break; + default: + WARN_ON(1); + break; + } cfg80211_sched_dfs_chan_update(rdev); --- linux-gcp-5.19.0.orig/net/wireless/ocb.c +++ linux-gcp-5.19.0/net/wireless/ocb.c @@ -4,6 +4,7 @@ * * Copyright: (c) 2014 Czech Technical University in Prague * (c) 2014 Volkswagen Group Research + * Copyright (C) 2022 Intel Corporation * Author: Rostislav Lisovy * Funded by: Volkswagen Group Research */ @@ -34,7 +35,7 @@ err = rdev_join_ocb(rdev, dev, setup); if (!err) - wdev->chandef = setup->chandef; + wdev->u.ocb.chandef = setup->chandef; return err; } @@ -69,7 +70,7 @@ err = rdev_leave_ocb(rdev, dev); if (!err) - memset(&wdev->chandef, 0, sizeof(wdev->chandef)); + memset(&wdev->u.ocb.chandef, 0, sizeof(wdev->u.ocb.chandef)); return err; } --- linux-gcp-5.19.0.orig/net/wireless/rdev-ops.h +++ linux-gcp-5.19.0/net/wireless/rdev-ops.h @@ -1,4 +1,9 @@ /* SPDX-License-Identifier: GPL-2.0 */ +/* + * Portions of this file + * Copyright(c) 2016-2017 Intel Deutschland GmbH + * Copyright (C) 2018, 2021-2022 Intel Corporation + */ #ifndef __CFG80211_RDEV_OPS #define __CFG80211_RDEV_OPS @@ -172,11 +177,11 @@ } static inline int rdev_stop_ap(struct cfg80211_registered_device *rdev, - struct net_device *dev) + struct net_device *dev, unsigned int link_id) { int ret; - trace_rdev_stop_ap(&rdev->wiphy, dev); - ret = rdev->ops->stop_ap(&rdev->wiphy, dev); + trace_rdev_stop_ap(&rdev->wiphy, dev, link_id); + ret = rdev->ops->stop_ap(&rdev->wiphy, dev, link_id); trace_rdev_return_int(&rdev->wiphy, ret); return ret; } @@ -651,12 +656,14 @@ static inline int rdev_set_bitrate_mask(struct cfg80211_registered_device *rdev, - struct net_device *dev, const u8 *peer, + struct net_device *dev, unsigned int link_id, + const u8 *peer, const struct cfg80211_bitrate_mask *mask) { int ret; - trace_rdev_set_bitrate_mask(&rdev->wiphy, dev, peer, mask); - ret = rdev->ops->set_bitrate_mask(&rdev->wiphy, dev, peer, mask); + trace_rdev_set_bitrate_mask(&rdev->wiphy, dev, link_id, peer, mask); + ret = rdev->ops->set_bitrate_mask(&rdev->wiphy, dev, link_id, + peer, mask); trace_rdev_return_int(&rdev->wiphy, ret); return ret; } @@ -944,12 +951,13 @@ static inline int rdev_get_channel(struct cfg80211_registered_device *rdev, struct wireless_dev *wdev, + unsigned int link_id, struct cfg80211_chan_def *chandef) { int ret; - trace_rdev_get_channel(&rdev->wiphy, wdev); - ret = rdev->ops->get_channel(&rdev->wiphy, wdev, chandef); + trace_rdev_get_channel(&rdev->wiphy, wdev, link_id); + ret = rdev->ops->get_channel(&rdev->wiphy, wdev, link_id, chandef); trace_rdev_return_chandef(&rdev->wiphy, ret, chandef); return ret; @@ -1107,12 +1115,14 @@ static inline int rdev_set_ap_chanwidth(struct cfg80211_registered_device *rdev, - struct net_device *dev, struct cfg80211_chan_def *chandef) + struct net_device *dev, + unsigned int link_id, + struct cfg80211_chan_def *chandef) { int ret; - trace_rdev_set_ap_chanwidth(&rdev->wiphy, dev, chandef); - ret = rdev->ops->set_ap_chanwidth(&rdev->wiphy, dev, chandef); + trace_rdev_set_ap_chanwidth(&rdev->wiphy, dev, link_id, chandef); + ret = rdev->ops->set_ap_chanwidth(&rdev->wiphy, dev, link_id, chandef); trace_rdev_return_int(&rdev->wiphy, ret); return ret; --- linux-gcp-5.19.0.orig/net/wireless/reg.c +++ linux-gcp-5.19.0/net/wireless/reg.c @@ -5,7 +5,7 @@ * Copyright 2008-2011 Luis R. Rodriguez * Copyright 2013-2014 Intel Mobile Communications GmbH * Copyright 2017 Intel Deutschland GmbH - * Copyright (C) 2018 - 2021 Intel Corporation + * Copyright (C) 2018 - 2022 Intel Corporation * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -1084,6 +1084,8 @@ static int query_regdb_file(const char *alpha2) { + int err; + ASSERT_RTNL(); if (regdb) @@ -1093,9 +1095,13 @@ if (!alpha2) return -ENOMEM; - return request_firmware_nowait(THIS_MODULE, true, "regulatory.db", - ®_pdev->dev, GFP_KERNEL, - (void *)alpha2, regdb_fw_cb); + err = request_firmware_nowait(THIS_MODULE, true, "regulatory.db", + ®_pdev->dev, GFP_KERNEL, + (void *)alpha2, regdb_fw_cb); + if (err) + kfree(alpha2); + + return err; } int reg_reload_regdb(void) @@ -2370,6 +2376,7 @@ struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy); enum nl80211_iftype iftype; bool ret; + int link; wdev_lock(wdev); iftype = wdev->iftype; @@ -2378,62 +2385,87 @@ if (!wdev->netdev || !netif_running(wdev->netdev)) goto wdev_inactive_unlock; - switch (iftype) { - case NL80211_IFTYPE_AP: - case NL80211_IFTYPE_P2P_GO: - case NL80211_IFTYPE_MESH_POINT: - if (!wdev->beacon_interval) - goto wdev_inactive_unlock; - chandef = wdev->chandef; - break; - case NL80211_IFTYPE_ADHOC: - if (!wdev->ssid_len) - goto wdev_inactive_unlock; - chandef = wdev->chandef; - break; - case NL80211_IFTYPE_STATION: - case NL80211_IFTYPE_P2P_CLIENT: - if (!wdev->current_bss || - !wdev->current_bss->pub.channel) - goto wdev_inactive_unlock; - - if (!rdev->ops->get_channel || - rdev_get_channel(rdev, wdev, &chandef)) - cfg80211_chandef_create(&chandef, - wdev->current_bss->pub.channel, - NL80211_CHAN_NO_HT); - break; - case NL80211_IFTYPE_MONITOR: - case NL80211_IFTYPE_AP_VLAN: - case NL80211_IFTYPE_P2P_DEVICE: - /* no enforcement required */ - break; - default: - /* others not implemented for now */ - WARN_ON(1); - break; - } + for (link = 0; link < ARRAY_SIZE(wdev->links); link++) { + struct ieee80211_channel *chan; - wdev_unlock(wdev); + if (!wdev->valid_links && link > 0) + break; + if (!(wdev->valid_links & BIT(link))) + continue; + switch (iftype) { + case NL80211_IFTYPE_AP: + case NL80211_IFTYPE_P2P_GO: + if (!wdev->links[link].ap.beacon_interval) + continue; + chandef = wdev->links[link].ap.chandef; + break; + case NL80211_IFTYPE_MESH_POINT: + if (!wdev->u.mesh.beacon_interval) + continue; + chandef = wdev->u.mesh.chandef; + break; + case NL80211_IFTYPE_ADHOC: + if (!wdev->u.ibss.ssid_len) + continue; + chandef = wdev->u.ibss.chandef; + break; + case NL80211_IFTYPE_STATION: + case NL80211_IFTYPE_P2P_CLIENT: + /* Maybe we could consider disabling that link only? */ + if (!wdev->links[link].client.current_bss) + continue; - switch (iftype) { - case NL80211_IFTYPE_AP: - case NL80211_IFTYPE_P2P_GO: - case NL80211_IFTYPE_ADHOC: - case NL80211_IFTYPE_MESH_POINT: - wiphy_lock(wiphy); - ret = cfg80211_reg_can_beacon_relax(wiphy, &chandef, iftype); - wiphy_unlock(wiphy); + chan = wdev->links[link].client.current_bss->pub.channel; + if (!chan) + continue; - return ret; - case NL80211_IFTYPE_STATION: - case NL80211_IFTYPE_P2P_CLIENT: - return cfg80211_chandef_usable(wiphy, &chandef, - IEEE80211_CHAN_DISABLED); - default: - break; + if (!rdev->ops->get_channel || + rdev_get_channel(rdev, wdev, link, &chandef)) + cfg80211_chandef_create(&chandef, chan, + NL80211_CHAN_NO_HT); + break; + case NL80211_IFTYPE_MONITOR: + case NL80211_IFTYPE_AP_VLAN: + case NL80211_IFTYPE_P2P_DEVICE: + /* no enforcement required */ + break; + default: + /* others not implemented for now */ + WARN_ON(1); + break; + } + + wdev_unlock(wdev); + + switch (iftype) { + case NL80211_IFTYPE_AP: + case NL80211_IFTYPE_P2P_GO: + case NL80211_IFTYPE_ADHOC: + case NL80211_IFTYPE_MESH_POINT: + wiphy_lock(wiphy); + ret = cfg80211_reg_can_beacon_relax(wiphy, &chandef, + iftype); + wiphy_unlock(wiphy); + + if (!ret) + return ret; + break; + case NL80211_IFTYPE_STATION: + case NL80211_IFTYPE_P2P_CLIENT: + ret = cfg80211_chandef_usable(wiphy, &chandef, + IEEE80211_CHAN_DISABLED); + if (!ret) + return ret; + break; + default: + break; + } + + wdev_lock(wdev); } + wdev_unlock(wdev); + return true; wdev_inactive_unlock: @@ -4215,8 +4247,17 @@ * In both cases we should end the CAC on the wdev. */ list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) { - if (wdev->cac_started && - !cfg80211_chandef_dfs_usable(&rdev->wiphy, &wdev->chandef)) + struct cfg80211_chan_def *chandef; + + if (!wdev->cac_started) + continue; + + /* FIXME: radar detection is tied to link 0 for now */ + chandef = wdev_chandef(wdev, 0); + if (!chandef) + continue; + + if (!cfg80211_chandef_dfs_usable(&rdev->wiphy, chandef)) rdev_end_cac(rdev, wdev->netdev); } } @@ -4270,8 +4311,10 @@ return -EINVAL; err = load_builtin_regdb_keys(); - if (err) + if (err) { + platform_device_unregister(reg_pdev); return err; + } /* We always try to get an update for the static regdomain */ err = regulatory_hint_core(cfg80211_world_regdom->alpha2); --- linux-gcp-5.19.0.orig/net/wireless/scan.c +++ linux-gcp-5.19.0/net/wireless/scan.c @@ -5,7 +5,7 @@ * Copyright 2008 Johannes Berg * Copyright 2013-2014 Intel Mobile Communications GmbH * Copyright 2016 Intel Deutschland GmbH - * Copyright (C) 2018-2021 Intel Corporation + * Copyright (C) 2018-2022 Intel Corporation */ #include #include @@ -143,18 +143,12 @@ lockdep_assert_held(&rdev->bss_lock); bss->refcount++; - if (bss->pub.hidden_beacon_bss) { - bss = container_of(bss->pub.hidden_beacon_bss, - struct cfg80211_internal_bss, - pub); - bss->refcount++; - } - if (bss->pub.transmitted_bss) { - bss = container_of(bss->pub.transmitted_bss, - struct cfg80211_internal_bss, - pub); - bss->refcount++; - } + + if (bss->pub.hidden_beacon_bss) + bss_from_pub(bss->pub.hidden_beacon_bss)->refcount++; + + if (bss->pub.transmitted_bss) + bss_from_pub(bss->pub.transmitted_bss)->refcount++; } static inline void bss_ref_put(struct cfg80211_registered_device *rdev, @@ -304,7 +298,8 @@ tmp_old = cfg80211_find_ie(WLAN_EID_SSID, ie, ielen); tmp_old = (tmp_old) ? tmp_old + tmp_old[1] + 2 : ie; - while (tmp_old + tmp_old[1] + 2 - ie <= ielen) { + while (tmp_old + 2 - ie <= ielen && + tmp_old + tmp_old[1] + 2 - ie <= ielen) { if (tmp_old[0] == 0) { tmp_old++; continue; @@ -335,7 +330,8 @@ * determine if they are the same ie. */ if (tmp_old[0] == WLAN_EID_VENDOR_SPECIFIC) { - if (!memcmp(tmp_old + 2, tmp + 2, 5)) { + if (tmp_old[1] >= 5 && tmp[1] >= 5 && + !memcmp(tmp_old + 2, tmp + 2, 5)) { /* same vendor ie, copy from * subelement */ @@ -364,7 +360,8 @@ * copied to new ie, skip ssid, capability, bssid-index ie */ tmp_new = sub_copy; - while (tmp_new + tmp_new[1] + 2 - sub_copy <= subie_len) { + while (tmp_new + 2 - sub_copy <= subie_len && + tmp_new + tmp_new[1] + 2 - sub_copy <= subie_len) { if (!(tmp_new[0] == WLAN_EID_NON_TX_BSSID_CAP || tmp_new[0] == WLAN_EID_SSID)) { memcpy(pos, tmp_new, tmp_new[1] + 2); @@ -427,6 +424,15 @@ rcu_read_unlock(); + /* + * This is a bit weird - it's not on the list, but already on another + * one! The only way that could happen is if there's some BSSID/SSID + * shared by multiple APs in their multi-BSSID profiles, potentially + * with hidden SSID mixed in ... ignore it. + */ + if (!list_empty(&nontrans_bss->nontrans_list)) + return -EINVAL; + /* add to the list */ list_add_tail(&nontrans_bss->nontrans_list, &trans_bss->nontrans_list); return 0; @@ -1602,6 +1608,23 @@ u8 bssid_index; }; +static void cfg80211_update_hidden_bsses(struct cfg80211_internal_bss *known, + const struct cfg80211_bss_ies *new_ies, + const struct cfg80211_bss_ies *old_ies) +{ + struct cfg80211_internal_bss *bss; + + /* Assign beacon IEs to all sub entries */ + list_for_each_entry(bss, &known->hidden_list, hidden_list) { + const struct cfg80211_bss_ies *ies; + + ies = rcu_access_pointer(bss->pub.beacon_ies); + WARN_ON(ies != old_ies); + + rcu_assign_pointer(bss->pub.beacon_ies, new_ies); + } +} + static bool cfg80211_update_known_bss(struct cfg80211_registered_device *rdev, struct cfg80211_internal_bss *known, @@ -1625,7 +1648,6 @@ kfree_rcu((struct cfg80211_bss_ies *)old, rcu_head); } else if (rcu_access_pointer(new->pub.beacon_ies)) { const struct cfg80211_bss_ies *old; - struct cfg80211_internal_bss *bss; if (known->pub.hidden_beacon_bss && !list_empty(&known->hidden_list)) { @@ -1653,16 +1675,9 @@ if (old == rcu_access_pointer(known->pub.ies)) rcu_assign_pointer(known->pub.ies, new->pub.beacon_ies); - /* Assign beacon IEs to all sub entries */ - list_for_each_entry(bss, &known->hidden_list, hidden_list) { - const struct cfg80211_bss_ies *ies; - - ies = rcu_access_pointer(bss->pub.beacon_ies); - WARN_ON(ies != old); - - rcu_assign_pointer(bss->pub.beacon_ies, - new->pub.beacon_ies); - } + cfg80211_update_hidden_bsses(known, + rcu_access_pointer(new->pub.beacon_ies), + old); if (old) kfree_rcu((struct cfg80211_bss_ies *)old, rcu_head); @@ -1739,6 +1754,8 @@ new->refcount = 1; INIT_LIST_HEAD(&new->hidden_list); INIT_LIST_HEAD(&new->pub.nontrans_list); + /* we'll set this later if it was non-NULL */ + new->pub.transmitted_bss = NULL; if (rcu_access_pointer(tmp->pub.proberesp_ies)) { hidden = rb_find_bss(rdev, tmp, BSS_CMP_HIDE_ZLEN); @@ -2021,10 +2038,15 @@ spin_lock_bh(&rdev->bss_lock); if (cfg80211_add_nontrans_list(non_tx_data->tx_bss, &res->pub)) { - if (__cfg80211_unlink_bss(rdev, res)) + if (__cfg80211_unlink_bss(rdev, res)) { rdev->bss_generation++; + res = NULL; + } } spin_unlock_bh(&rdev->bss_lock); + + if (!res) + return NULL; } trace_cfg80211_return_bss(&res->pub); @@ -2143,6 +2165,8 @@ for_each_element_id(elem, WLAN_EID_MULTIPLE_BSSID, ie, ielen) { if (elem->datalen < 4) continue; + if (elem->data[0] < 1 || (int)elem->data[0] > 8) + continue; for_each_element(sub, elem->data + 1, elem->datalen - 1) { u8 profile_len; @@ -2279,7 +2303,7 @@ size_t new_ie_len; struct cfg80211_bss_ies *new_ies; const struct cfg80211_bss_ies *old; - u8 cpy_len; + size_t cpy_len; lockdep_assert_held(&wiphy_to_rdev(wiphy)->bss_lock); @@ -2346,6 +2370,8 @@ } else { old = rcu_access_pointer(nontrans_bss->beacon_ies); rcu_assign_pointer(nontrans_bss->beacon_ies, new_ies); + cfg80211_update_hidden_bsses(bss_from_pub(nontrans_bss), + new_ies, old); rcu_assign_pointer(nontrans_bss->ies, new_ies); if (old) kfree_rcu((struct cfg80211_bss_ies *)old, rcu_head); @@ -2501,10 +2527,15 @@ const struct cfg80211_bss_ies *ies1, *ies2; size_t ielen = len - offsetof(struct ieee80211_mgmt, u.probe_resp.variable); - struct cfg80211_non_tx_bss non_tx_data; + struct cfg80211_non_tx_bss non_tx_data = {}; res = cfg80211_inform_single_bss_frame_data(wiphy, data, mgmt, len, gfp); + + /* don't do any further MBSSID handling for S1G */ + if (ieee80211_is_s1g_beacon(mgmt->frame_control)) + return res; + if (!res || !wiphy->support_mbssid || !cfg80211_find_elem(WLAN_EID_MULTIPLE_BSSID, ie, ielen)) return res; @@ -2617,7 +2648,8 @@ spin_lock_bh(&rdev->bss_lock); list_for_each_entry(bss, &rdev->bss_list, list) { - if (!chandef || cfg80211_is_sub_chan(chandef, bss->pub.channel)) + if (!chandef || cfg80211_is_sub_chan(chandef, bss->pub.channel, + false)) iter(wiphy, &bss->pub, iter_data); } @@ -2626,11 +2658,12 @@ EXPORT_SYMBOL(cfg80211_bss_iter); void cfg80211_update_assoc_bss_entry(struct wireless_dev *wdev, + unsigned int link_id, struct ieee80211_channel *chan) { struct wiphy *wiphy = wdev->wiphy; struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy); - struct cfg80211_internal_bss *cbss = wdev->current_bss; + struct cfg80211_internal_bss *cbss = wdev->links[link_id].client.current_bss; struct cfg80211_internal_bss *new = NULL; struct cfg80211_internal_bss *bss; struct cfg80211_bss *nontrans_bss; --- linux-gcp-5.19.0.orig/net/wireless/sme.c +++ linux-gcp-5.19.0/net/wireless/sme.c @@ -5,7 +5,7 @@ * (for nl80211's connect() and wext) * * Copyright 2009 Johannes Berg - * Copyright (C) 2009, 2020 Intel Corporation. All rights reserved. + * Copyright (C) 2009, 2020, 2022 Intel Corporation. All rights reserved. * Copyright 2017 Intel Deutschland GmbH */ @@ -268,6 +268,15 @@ wiphy_unlock(&rdev->wiphy); } +static void cfg80211_step_auth_next(struct cfg80211_conn *conn, + struct cfg80211_bss *bss) +{ + memcpy(conn->bssid, bss->bssid, ETH_ALEN); + conn->params.bssid = conn->bssid; + conn->params.channel = bss->channel; + conn->state = CFG80211_CONN_AUTHENTICATE_NEXT; +} + /* Returned bss is reference counted and must be cleaned up appropriately. */ static struct cfg80211_bss *cfg80211_get_conn_bss(struct wireless_dev *wdev) { @@ -285,10 +294,7 @@ if (!bss) return NULL; - memcpy(wdev->conn->bssid, bss->bssid, ETH_ALEN); - wdev->conn->params.bssid = wdev->conn->bssid; - wdev->conn->params.channel = bss->channel; - wdev->conn->state = CFG80211_CONN_AUTHENTICATE_NEXT; + cfg80211_step_auth_next(wdev->conn, bss); schedule_work(&rdev->conn_work); return bss; @@ -454,6 +460,20 @@ schedule_work(&rdev->conn_work); } +static void cfg80211_wdev_release_bsses(struct wireless_dev *wdev) +{ + unsigned int link; + + for_each_valid_link(wdev, link) { + if (!wdev->links[link].client.current_bss) + continue; + cfg80211_unhold_bss(wdev->links[link].client.current_bss); + cfg80211_put_bss(wdev->wiphy, + &wdev->links[link].client.current_bss->pub); + wdev->links[link].client.current_bss = NULL; + } +} + static int cfg80211_sme_get_conn_ies(struct wireless_dev *wdev, const u8 *ies, size_t ies_len, const u8 **out_ies, size_t *out_ies_len) @@ -521,12 +541,11 @@ if (!rdev->ops->auth || !rdev->ops->assoc) return -EOPNOTSUPP; - if (wdev->current_bss) { - cfg80211_unhold_bss(wdev->current_bss); - cfg80211_put_bss(wdev->wiphy, &wdev->current_bss->pub); - wdev->current_bss = NULL; + cfg80211_wdev_release_bsses(wdev); + if (wdev->connected) { cfg80211_sme_free(wdev); + wdev->connected = false; } if (wdev->conn) @@ -563,11 +582,16 @@ wdev->conn->auto_auth = false; } - wdev->conn->params.ssid = wdev->ssid; - wdev->conn->params.ssid_len = wdev->ssid_len; + wdev->conn->params.ssid = wdev->u.client.ssid; + wdev->conn->params.ssid_len = wdev->u.client.ssid_len; /* see if we have the bss already */ - bss = cfg80211_get_conn_bss(wdev); + bss = cfg80211_get_bss(wdev->wiphy, wdev->conn->params.channel, + wdev->conn->params.bssid, + wdev->conn->params.ssid, + wdev->conn->params.ssid_len, + wdev->conn_bss_type, + IEEE80211_PRIVACY(wdev->conn->params.privacy)); if (prev_bssid) { memcpy(wdev->conn->prev_bssid, prev_bssid, ETH_ALEN); @@ -578,6 +602,7 @@ if (bss) { enum nl80211_timeout_reason treason; + cfg80211_step_auth_next(wdev->conn, bss); err = cfg80211_conn_do_work(wdev, &treason); cfg80211_put_bss(wdev->wiphy, bss); } else { @@ -648,7 +673,7 @@ list_for_each_entry(rdev, &cfg80211_rdev_list, list) { list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) { wdev_lock(wdev); - if (wdev->conn || wdev->current_bss || + if (wdev->conn || wdev->connected || cfg80211_beaconing_iface_active(wdev)) is_all_idle = false; wdev_unlock(wdev); @@ -668,7 +693,6 @@ DECLARE_WORK(cfg80211_disconnect_work, disconnect_work); - /* * API calls for drivers implementing connect/disconnect and * SME event handling @@ -729,23 +753,19 @@ if (!cr->bss && (cr->status == WLAN_STATUS_SUCCESS)) { WARN_ON_ONCE(!wiphy_to_rdev(wdev->wiphy)->ops->connect); cr->bss = cfg80211_get_bss(wdev->wiphy, NULL, cr->bssid, - wdev->ssid, wdev->ssid_len, + wdev->u.client.ssid, wdev->u.client.ssid_len, wdev->conn_bss_type, IEEE80211_PRIVACY_ANY); if (cr->bss) cfg80211_hold_bss(bss_from_pub(cr->bss)); } - if (wdev->current_bss) { - cfg80211_unhold_bss(wdev->current_bss); - cfg80211_put_bss(wdev->wiphy, &wdev->current_bss->pub); - wdev->current_bss = NULL; - } + cfg80211_wdev_release_bsses(wdev); if (cr->status != WLAN_STATUS_SUCCESS) { kfree_sensitive(wdev->connect_keys); wdev->connect_keys = NULL; - wdev->ssid_len = 0; + wdev->u.client.ssid_len = 0; wdev->conn_owner_nlportid = 0; if (cr->bss) { cfg80211_unhold_bss(bss_from_pub(cr->bss)); @@ -758,7 +778,9 @@ if (WARN_ON(!cr->bss)) return; - wdev->current_bss = bss_from_pub(cr->bss); + wdev->links[0].client.current_bss = bss_from_pub(cr->bss); + wdev->connected = true; + ether_addr_copy(wdev->u.client.connected_addr, cr->bss->bssid); if (!(wdev->wiphy->flags & WIPHY_FLAG_HAS_STATIC_WEP)) cfg80211_upload_connect_keys(wdev); @@ -801,7 +823,7 @@ found = cfg80211_get_bss(wdev->wiphy, NULL, params->bss->bssid, - wdev->ssid, wdev->ssid_len, + wdev->u.client.ssid, wdev->u.client.ssid_len, wdev->conn_bss_type, IEEE80211_PRIVACY_ANY); if (found) { @@ -906,18 +928,17 @@ wdev->iftype != NL80211_IFTYPE_P2P_CLIENT)) goto out; - if (WARN_ON(!wdev->current_bss)) + if (WARN_ON(!wdev->connected)) goto out; - cfg80211_unhold_bss(wdev->current_bss); - cfg80211_put_bss(wdev->wiphy, &wdev->current_bss->pub); - wdev->current_bss = NULL; + cfg80211_wdev_release_bsses(wdev); if (WARN_ON(!info->bss)) return; cfg80211_hold_bss(bss_from_pub(info->bss)); - wdev->current_bss = bss_from_pub(info->bss); + wdev->links[0].client.current_bss = bss_from_pub(info->bss); + ether_addr_copy(wdev->u.client.connected_addr, info->bss->bssid); wdev->unprot_beacon_reported = 0; nl80211_send_roamed(wiphy_to_rdev(wdev->wiphy), @@ -963,8 +984,8 @@ if (!info->bss) { info->bss = cfg80211_get_bss(wdev->wiphy, info->channel, - info->bssid, wdev->ssid, - wdev->ssid_len, + info->bssid, wdev->u.client.ssid, + wdev->u.client.ssid_len, wdev->conn_bss_type, IEEE80211_PRIVACY_ANY); } @@ -1035,8 +1056,8 @@ wdev->iftype != NL80211_IFTYPE_P2P_CLIENT)) return; - if (WARN_ON(!wdev->current_bss) || - WARN_ON(!ether_addr_equal(wdev->current_bss->pub.bssid, bssid))) + if (WARN_ON(!wdev->connected) || + WARN_ON(!ether_addr_equal(wdev->u.client.connected_addr, bssid))) return; nl80211_send_port_authorized(wiphy_to_rdev(wdev->wiphy), wdev->netdev, @@ -1088,13 +1109,9 @@ wdev->iftype != NL80211_IFTYPE_P2P_CLIENT)) return; - if (wdev->current_bss) { - cfg80211_unhold_bss(wdev->current_bss); - cfg80211_put_bss(wdev->wiphy, &wdev->current_bss->pub); - } - - wdev->current_bss = NULL; - wdev->ssid_len = 0; + cfg80211_wdev_release_bsses(wdev); + wdev->connected = false; + wdev->u.client.ssid_len = 0; wdev->conn_owner_nlportid = 0; kfree_sensitive(wdev->connect_keys); wdev->connect_keys = NULL; @@ -1183,19 +1200,20 @@ * already connected, so reject a new SSID unless it's the * same (which is the case for re-association.) */ - if (wdev->ssid_len && - (wdev->ssid_len != connect->ssid_len || - memcmp(wdev->ssid, connect->ssid, wdev->ssid_len))) + if (wdev->u.client.ssid_len && + (wdev->u.client.ssid_len != connect->ssid_len || + memcmp(wdev->u.client.ssid, connect->ssid, wdev->u.client.ssid_len))) return -EALREADY; /* * If connected, reject (re-)association unless prev_bssid * matches the current BSSID. */ - if (wdev->current_bss) { + if (wdev->connected) { if (!prev_bssid) return -EALREADY; - if (!ether_addr_equal(prev_bssid, wdev->current_bss->pub.bssid)) + if (!ether_addr_equal(prev_bssid, + wdev->u.client.connected_addr)) return -ENOTCONN; } @@ -1243,11 +1261,18 @@ } else { if (WARN_ON(connkeys)) return -EINVAL; + + /* connect can point to wdev->wext.connect which + * can hold key data from a previous connection + */ + connect->key = NULL; + connect->key_len = 0; + connect->key_idx = 0; } wdev->connect_keys = connkeys; - memcpy(wdev->ssid, connect->ssid, connect->ssid_len); - wdev->ssid_len = connect->ssid_len; + memcpy(wdev->u.client.ssid, connect->ssid, connect->ssid_len); + wdev->u.client.ssid_len = connect->ssid_len; wdev->conn_bss_type = connect->pbss ? IEEE80211_BSS_TYPE_PBSS : IEEE80211_BSS_TYPE_ESS; @@ -1263,8 +1288,8 @@ * This could be reassoc getting refused, don't clear * ssid_len in that case. */ - if (!wdev->current_bss) - wdev->ssid_len = 0; + if (!wdev->connected) + wdev->u.client.ssid_len = 0; return err; } @@ -1288,7 +1313,7 @@ err = cfg80211_sme_disconnect(wdev, reason); else if (!rdev->ops->disconnect) cfg80211_mlme_down(rdev, dev); - else if (wdev->ssid_len) + else if (wdev->u.client.ssid_len) err = rdev_disconnect(rdev, dev, reason); /* @@ -1296,8 +1321,8 @@ * in which case cfg80211_disconnected() will take care of * this later. */ - if (!wdev->current_bss) - wdev->ssid_len = 0; + if (!wdev->connected) + wdev->u.client.ssid_len = 0; return err; } @@ -1321,7 +1346,7 @@ break; case NL80211_IFTYPE_AP: case NL80211_IFTYPE_P2P_GO: - __cfg80211_stop_ap(rdev, wdev->netdev, false); + __cfg80211_stop_ap(rdev, wdev->netdev, -1, false); break; case NL80211_IFTYPE_MESH_POINT: __cfg80211_leave_mesh(rdev, wdev->netdev); @@ -1333,7 +1358,7 @@ * ops->disconnect not implemented. Otherwise we can * use cfg80211_disconnect. */ - if (rdev->ops->disconnect || wdev->current_bss) + if (rdev->ops->disconnect || wdev->connected) cfg80211_disconnect(rdev, wdev->netdev, WLAN_REASON_DEAUTH_LEAVING, true); --- linux-gcp-5.19.0.orig/net/wireless/trace.h +++ linux-gcp-5.19.0/net/wireless/trace.h @@ -569,6 +569,7 @@ __field(bool, privacy) __field(enum nl80211_auth_type, auth_type) __field(int, inactivity_timeout) + __field(unsigned int, link_id) ), TP_fast_assign( WIPHY_ASSIGN; @@ -583,16 +584,17 @@ __entry->inactivity_timeout = settings->inactivity_timeout; memset(__entry->ssid, 0, IEEE80211_MAX_SSID_LEN + 1); memcpy(__entry->ssid, settings->ssid, settings->ssid_len); + __entry->link_id = settings->beacon.link_id; ), TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", AP settings - ssid: %s, " CHAN_DEF_PR_FMT ", beacon interval: %d, dtim period: %d, " "hidden ssid: %d, wpa versions: %u, privacy: %s, " - "auth type: %d, inactivity timeout: %d", + "auth type: %d, inactivity timeout: %d, link_id: %d", WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->ssid, CHAN_DEF_PR_ARG, __entry->beacon_interval, __entry->dtim_period, __entry->hidden_ssid, __entry->wpa_ver, BOOL_TO_STR(__entry->privacy), __entry->auth_type, - __entry->inactivity_timeout) + __entry->inactivity_timeout, __entry->link_id) ); TRACE_EVENT(rdev_change_beacon, @@ -602,6 +604,7 @@ TP_STRUCT__entry( WIPHY_ENTRY NETDEV_ENTRY + __field(int, link_id) __dynamic_array(u8, head, info ? info->head_len : 0) __dynamic_array(u8, tail, info ? info->tail_len : 0) __dynamic_array(u8, beacon_ies, info ? info->beacon_ies_len : 0) @@ -615,6 +618,7 @@ WIPHY_ASSIGN; NETDEV_ASSIGN; if (info) { + __entry->link_id = info->link_id; if (info->head) memcpy(__get_dynamic_array(head), info->head, info->head_len); @@ -635,9 +639,30 @@ if (info->probe_resp) memcpy(__get_dynamic_array(probe_resp), info->probe_resp, info->probe_resp_len); + } else { + __entry->link_id = -1; } ), - TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT, WIPHY_PR_ARG, NETDEV_PR_ARG) + TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", link_id:%d", + WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->link_id) +); + +TRACE_EVENT(rdev_stop_ap, + TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, + unsigned int link_id), + TP_ARGS(wiphy, netdev, link_id), + TP_STRUCT__entry( + WIPHY_ENTRY + NETDEV_ENTRY + __field(unsigned int, link_id) + ), + TP_fast_assign( + WIPHY_ASSIGN; + NETDEV_ASSIGN; + __entry->link_id = link_id; + ), + TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", link_id: %d", + WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->link_id) ); DECLARE_EVENT_CLASS(wiphy_netdev_evt, @@ -654,11 +679,6 @@ TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT, WIPHY_PR_ARG, NETDEV_PR_ARG) ); -DEFINE_EVENT(wiphy_netdev_evt, rdev_stop_ap, - TP_PROTO(struct wiphy *wiphy, struct net_device *netdev), - TP_ARGS(wiphy, netdev) -); - DEFINE_EVENT(wiphy_netdev_evt, rdev_set_rekey_data, TP_PROTO(struct wiphy *wiphy, struct net_device *netdev), TP_ARGS(wiphy, netdev) @@ -1619,20 +1639,24 @@ TRACE_EVENT(rdev_set_bitrate_mask, TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, + unsigned int link_id, const u8 *peer, const struct cfg80211_bitrate_mask *mask), - TP_ARGS(wiphy, netdev, peer, mask), + TP_ARGS(wiphy, netdev, link_id, peer, mask), TP_STRUCT__entry( WIPHY_ENTRY NETDEV_ENTRY + __field(unsigned int, link_id) MAC_ENTRY(peer) ), TP_fast_assign( WIPHY_ASSIGN; NETDEV_ASSIGN; + __entry->link_id = link_id; MAC_ASSIGN(peer, peer); ), - TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", peer: " MAC_PR_FMT, - WIPHY_PR_ARG, NETDEV_PR_ARG, MAC_PR_ARG(peer)) + TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", link_id: %d, peer: " MAC_PR_FMT, + WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->link_id, + MAC_PR_ARG(peer)) ); TRACE_EVENT(rdev_update_mgmt_frame_registrations, @@ -2040,9 +2064,22 @@ WIPHY_PR_ARG, NETDEV_PR_ARG, __entry->noack_map) ); -DEFINE_EVENT(wiphy_wdev_evt, rdev_get_channel, - TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev), - TP_ARGS(wiphy, wdev) +TRACE_EVENT(rdev_get_channel, + TP_PROTO(struct wiphy *wiphy, struct wireless_dev *wdev, + unsigned int link_id), + TP_ARGS(wiphy, wdev, link_id), + TP_STRUCT__entry( + WIPHY_ENTRY + WDEV_ENTRY + __field(unsigned int, link_id) + ), + TP_fast_assign( + WIPHY_ASSIGN; + WDEV_ASSIGN; + __entry->link_id = link_id; + ), + TP_printk(WIPHY_PR_FMT ", " WDEV_PR_FMT ", link_id: %u", + WIPHY_PR_ARG, WDEV_PR_ARG, __entry->link_id) ); TRACE_EVENT(rdev_return_chandef, @@ -2296,20 +2333,24 @@ TRACE_EVENT(rdev_set_ap_chanwidth, TP_PROTO(struct wiphy *wiphy, struct net_device *netdev, + unsigned int link_id, struct cfg80211_chan_def *chandef), - TP_ARGS(wiphy, netdev, chandef), + TP_ARGS(wiphy, netdev, link_id, chandef), TP_STRUCT__entry( WIPHY_ENTRY NETDEV_ENTRY CHAN_DEF_ENTRY + __field(unsigned int, link_id) ), TP_fast_assign( WIPHY_ASSIGN; NETDEV_ASSIGN; CHAN_DEF_ASSIGN(chandef); + __entry->link_id = link_id; ), - TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", " CHAN_DEF_PR_FMT, - WIPHY_PR_ARG, NETDEV_PR_ARG, CHAN_DEF_PR_ARG) + TP_printk(WIPHY_PR_FMT ", " NETDEV_PR_FMT ", " CHAN_DEF_PR_FMT ", link:%d", + WIPHY_PR_ARG, NETDEV_PR_ARG, CHAN_DEF_PR_ARG, + __entry->link_id) ); TRACE_EVENT(rdev_add_tx_ts, @@ -3022,18 +3063,21 @@ TRACE_EVENT(cfg80211_ch_switch_notify, TP_PROTO(struct net_device *netdev, - struct cfg80211_chan_def *chandef), - TP_ARGS(netdev, chandef), + struct cfg80211_chan_def *chandef, + unsigned int link_id), + TP_ARGS(netdev, chandef, link_id), TP_STRUCT__entry( NETDEV_ENTRY CHAN_DEF_ENTRY + __field(unsigned int, link_id) ), TP_fast_assign( NETDEV_ASSIGN; CHAN_DEF_ASSIGN(chandef); + __entry->link_id = link_id; ), - TP_printk(NETDEV_PR_FMT ", " CHAN_DEF_PR_FMT, - NETDEV_PR_ARG, CHAN_DEF_PR_ARG) + TP_printk(NETDEV_PR_FMT ", " CHAN_DEF_PR_FMT ", link:%d", + NETDEV_PR_ARG, CHAN_DEF_PR_ARG, __entry->link_id) ); TRACE_EVENT(cfg80211_ch_switch_started_notify, --- linux-gcp-5.19.0.orig/net/wireless/util.c +++ linux-gcp-5.19.0/net/wireless/util.c @@ -5,7 +5,7 @@ * Copyright 2007-2009 Johannes Berg * Copyright 2013-2014 Intel Mobile Communications GmbH * Copyright 2017 Intel Deutschland GmbH - * Copyright (C) 2018-2021 Intel Corporation + * Copyright (C) 2018-2022 Intel Corporation */ #include #include @@ -1041,7 +1041,6 @@ return -EBUSY; dev->ieee80211_ptr->use_4addr = false; - dev->ieee80211_ptr->mesh_id_up_len = 0; wdev_lock(dev->ieee80211_ptr); rdev_set_qos_map(rdev, dev, NULL); wdev_unlock(dev->ieee80211_ptr); @@ -1049,7 +1048,7 @@ switch (otype) { case NL80211_IFTYPE_AP: case NL80211_IFTYPE_P2P_GO: - cfg80211_stop_ap(rdev, dev, true); + cfg80211_stop_ap(rdev, dev, -1, true); break; case NL80211_IFTYPE_ADHOC: cfg80211_leave_ibss(rdev, dev, false); @@ -1073,6 +1072,11 @@ cfg80211_process_rdev_events(rdev); cfg80211_mlme_purge_registrations(dev->ieee80211_ptr); + + memset(&dev->ieee80211_ptr->u, 0, + sizeof(dev->ieee80211_ptr->u)); + memset(&dev->ieee80211_ptr->links, 0, + sizeof(dev->ieee80211_ptr->links)); } err = rdev_change_virtual_intf(rdev, dev, ntype, params); @@ -1357,7 +1361,7 @@ 25599, /* 4.166666... */ 17067, /* 2.777777... */ 12801, /* 2.083333... */ - 11769, /* 1.851851... */ + 11377, /* 1.851725... */ 10239, /* 1.666666... */ 8532, /* 1.388888... */ 7680, /* 1.250000... */ @@ -1440,7 +1444,7 @@ 25599, /* 4.166666... */ 17067, /* 2.777777... */ 12801, /* 2.083333... */ - 11769, /* 1.851851... */ + 11377, /* 1.851725... */ 10239, /* 1.666666... */ 8532, /* 1.388888... */ 7680, /* 1.250000... */ @@ -1551,10 +1555,12 @@ tmp = result; tmp *= SCALE; do_div(tmp, mcs_divisors[rate->mcs]); - result = tmp; /* and take NSS */ - result = (result * rate->nss) / 8; + tmp *= rate->nss; + do_div(tmp, 8); + + result = tmp; return result / 10000; } @@ -1930,6 +1936,24 @@ } EXPORT_SYMBOL(ieee80211_chandef_to_operating_class); +static int cfg80211_wdev_bi(struct wireless_dev *wdev) +{ + switch (wdev->iftype) { + case NL80211_IFTYPE_AP: + case NL80211_IFTYPE_P2P_GO: + WARN_ON(wdev->valid_links); + return wdev->links[0].ap.beacon_interval; + case NL80211_IFTYPE_MESH_POINT: + return wdev->u.mesh.beacon_interval; + case NL80211_IFTYPE_ADHOC: + return wdev->u.ibss.beacon_interval; + default: + break; + } + + return 0; +} + static void cfg80211_calculate_bi_data(struct wiphy *wiphy, u32 new_beacon_int, u32 *beacon_int_gcd, bool *beacon_int_different) @@ -1940,19 +1964,27 @@ *beacon_int_different = false; list_for_each_entry(wdev, &wiphy->wdev_list, list) { - if (!wdev->beacon_interval) + int wdev_bi; + + /* this feature isn't supported with MLO */ + if (wdev->valid_links) + continue; + + wdev_bi = cfg80211_wdev_bi(wdev); + + if (!wdev_bi) continue; if (!*beacon_int_gcd) { - *beacon_int_gcd = wdev->beacon_interval; + *beacon_int_gcd = wdev_bi; continue; } - if (wdev->beacon_interval == *beacon_int_gcd) + if (wdev_bi == *beacon_int_gcd) continue; *beacon_int_different = true; - *beacon_int_gcd = gcd(*beacon_int_gcd, wdev->beacon_interval); + *beacon_int_gcd = gcd(*beacon_int_gcd, wdev_bi); } if (new_beacon_int && *beacon_int_gcd != new_beacon_int) { --- linux-gcp-5.19.0.orig/net/wireless/wext-compat.c +++ linux-gcp-5.19.0/net/wireless/wext-compat.c @@ -7,7 +7,7 @@ * we directly assign the wireless handlers of wireless interfaces. * * Copyright 2008-2009 Johannes Berg - * Copyright (C) 2019-2021 Intel Corporation + * Copyright (C) 2019-2022 Intel Corporation */ #include @@ -415,6 +415,9 @@ int err, i; bool rejoin = false; + if (wdev->valid_links) + return -EINVAL; + if (pairwise && !addr) return -EINVAL; @@ -437,7 +440,7 @@ return -EOPNOTSUPP; if (params->cipher == WLAN_CIPHER_SUITE_AES_CMAC) { - if (!wdev->current_bss) + if (!wdev->connected) return -ENOLINK; if (!rdev->ops->set_default_mgmt_key) @@ -450,7 +453,9 @@ if (remove) { err = 0; - if (wdev->current_bss) { + if (wdev->connected || + (wdev->iftype == NL80211_IFTYPE_ADHOC && + wdev->u.ibss.current_bss)) { /* * If removing the current TX key, we will need to * join a new IBSS without the privacy bit clear. @@ -501,7 +506,9 @@ return -EINVAL; err = 0; - if (wdev->current_bss) + if (wdev->connected || + (wdev->iftype == NL80211_IFTYPE_ADHOC && + wdev->u.ibss.current_bss)) err = rdev_add_key(rdev, dev, idx, pairwise, addr, params); else if (params->cipher != WLAN_CIPHER_SUITE_WEP40 && params->cipher != WLAN_CIPHER_SUITE_WEP104) @@ -526,7 +533,9 @@ if ((params->cipher == WLAN_CIPHER_SUITE_WEP40 || params->cipher == WLAN_CIPHER_SUITE_WEP104) && (tx_key || (!addr && wdev->wext.default_key == -1))) { - if (wdev->current_bss) { + if (wdev->connected || + (wdev->iftype == NL80211_IFTYPE_ADHOC && + wdev->u.ibss.current_bss)) { /* * If we are getting a new TX key from not having * had one before we need to join a new IBSS with @@ -549,7 +558,9 @@ if (params->cipher == WLAN_CIPHER_SUITE_AES_CMAC && (tx_key || (!addr && wdev->wext.default_mgmt_key == -1))) { - if (wdev->current_bss) + if (wdev->connected || + (wdev->iftype == NL80211_IFTYPE_ADHOC && + wdev->u.ibss.current_bss)) err = rdev_set_default_mgmt_key(rdev, dev, idx); if (!err) wdev->wext.default_mgmt_key = idx; @@ -595,6 +606,11 @@ return -EOPNOTSUPP; wiphy_lock(&rdev->wiphy); + if (wdev->valid_links) { + err = -EOPNOTSUPP; + goto out; + } + idx = erq->flags & IW_ENCODE_INDEX; if (idx == 0) { idx = wdev->wext.default_key; @@ -613,7 +629,9 @@ /* No key data - just set the default TX key index */ err = 0; wdev_lock(wdev); - if (wdev->current_bss) + if (wdev->connected || + (wdev->iftype == NL80211_IFTYPE_ADHOC && + wdev->u.ibss.current_bss)) err = rdev_set_default_key(rdev, dev, idx, true, true); if (!err) @@ -865,7 +883,7 @@ break; } - ret = rdev_get_channel(rdev, wdev, &chandef); + ret = rdev_get_channel(rdev, wdev, 0, &chandef); if (ret) break; freq->m = chandef.chan->center_freq; @@ -1270,7 +1288,10 @@ return -EINVAL; wiphy_lock(&rdev->wiphy); - ret = rdev_set_bitrate_mask(rdev, dev, NULL, &mask); + if (dev->ieee80211_ptr->valid_links) + ret = -EOPNOTSUPP; + else + ret = rdev_set_bitrate_mask(rdev, dev, 0, NULL, &mask); wiphy_unlock(&rdev->wiphy); return ret; @@ -1294,8 +1315,9 @@ err = 0; wdev_lock(wdev); - if (wdev->current_bss) - memcpy(addr, wdev->current_bss->pub.bssid, ETH_ALEN); + if (!wdev->valid_links && wdev->links[0].client.current_bss) + memcpy(addr, wdev->links[0].client.current_bss->pub.bssid, + ETH_ALEN); else err = -EOPNOTSUPP; wdev_unlock(wdev); @@ -1339,11 +1361,11 @@ /* Grab BSSID of current BSS, if any */ wdev_lock(wdev); - if (!wdev->current_bss) { + if (wdev->valid_links || !wdev->links[0].client.current_bss) { wdev_unlock(wdev); return NULL; } - memcpy(bssid, wdev->current_bss->pub.bssid, ETH_ALEN); + memcpy(bssid, wdev->links[0].client.current_bss->pub.bssid, ETH_ALEN); wdev_unlock(wdev); memset(&sinfo, 0, sizeof(sinfo)); --- linux-gcp-5.19.0.orig/net/wireless/wext-core.c +++ linux-gcp-5.19.0/net/wireless/wext-core.c @@ -468,6 +468,7 @@ struct __compat_iw_event *compat_event; struct compat_iw_point compat_wrqu; struct sk_buff *compskb; + int ptr_len; #endif /* @@ -582,6 +583,9 @@ nlmsg_end(skb, nlh); #ifdef CONFIG_COMPAT hdr_len = compat_event_type_size[descr->header_type]; + + /* ptr_len is remaining size in event header apart from LCP */ + ptr_len = hdr_len - IW_EV_COMPAT_LCP_LEN; event_len = hdr_len + extra_len; compskb = nlmsg_new(NLMSG_DEFAULT_SIZE, GFP_ATOMIC); @@ -612,16 +616,15 @@ if (descr->header_type == IW_HEADER_TYPE_POINT) { compat_wrqu.length = wrqu->data.length; compat_wrqu.flags = wrqu->data.flags; - memcpy(&compat_event->pointer, - ((char *) &compat_wrqu) + IW_EV_COMPAT_POINT_OFF, - hdr_len - IW_EV_COMPAT_LCP_LEN); + memcpy(compat_event->ptr_bytes, + ((char *)&compat_wrqu) + IW_EV_COMPAT_POINT_OFF, + ptr_len); if (extra_len) - memcpy(((char *) compat_event) + hdr_len, - extra, extra_len); + memcpy(&compat_event->ptr_bytes[ptr_len], + extra, extra_len); } else { /* extra_len must be zero, so no if (extra) needed */ - memcpy(&compat_event->pointer, wrqu, - hdr_len - IW_EV_COMPAT_LCP_LEN); + memcpy(compat_event->ptr_bytes, wrqu, ptr_len); } nlmsg_end(compskb, nlh); --- linux-gcp-5.19.0.orig/net/wireless/wext-sme.c +++ linux-gcp-5.19.0/net/wireless/wext-sme.c @@ -3,7 +3,7 @@ * cfg80211 wext compat for managed mode. * * Copyright 2009 Johannes Berg - * Copyright (C) 2009, 2020-2021 Intel Corporation. + * Copyright (C) 2009, 2020-2022 Intel Corporation */ #include @@ -124,9 +124,12 @@ if (WARN_ON(wdev->iftype != NL80211_IFTYPE_STATION)) return -EINVAL; + if (wdev->valid_links) + return -EOPNOTSUPP; + wdev_lock(wdev); - if (wdev->current_bss) - chan = wdev->current_bss->pub.channel; + if (wdev->links[0].client.current_bss) + chan = wdev->links[0].client.current_bss->pub.channel; else if (wdev->wext.connect.channel) chan = wdev->wext.connect.channel; wdev_unlock(wdev); @@ -208,15 +211,19 @@ if (WARN_ON(wdev->iftype != NL80211_IFTYPE_STATION)) return -EINVAL; + if (wdev->valid_links) + return -EINVAL; + data->flags = 0; wdev_lock(wdev); - if (wdev->current_bss) { + if (wdev->links[0].client.current_bss) { const struct element *ssid_elem; rcu_read_lock(); - ssid_elem = ieee80211_bss_get_elem(&wdev->current_bss->pub, - WLAN_EID_SSID); + ssid_elem = ieee80211_bss_get_elem( + &wdev->links[0].client.current_bss->pub, + WLAN_EID_SSID); if (ssid_elem) { data->flags = 1; data->length = ssid_elem->datalen; @@ -300,8 +307,14 @@ ap_addr->sa_family = ARPHRD_ETHER; wdev_lock(wdev); - if (wdev->current_bss) - memcpy(ap_addr->sa_data, wdev->current_bss->pub.bssid, ETH_ALEN); + if (wdev->valid_links) { + wdev_unlock(wdev); + return -EOPNOTSUPP; + } + if (wdev->links[0].client.current_bss) + memcpy(ap_addr->sa_data, + wdev->links[0].client.current_bss->pub.bssid, + ETH_ALEN); else eth_zero_addr(ap_addr->sa_data); wdev_unlock(wdev); --- linux-gcp-5.19.0.orig/net/x25/af_x25.c +++ linux-gcp-5.19.0/net/x25/af_x25.c @@ -482,6 +482,12 @@ int rc = -EOPNOTSUPP; lock_sock(sk); + if (sock->state != SS_UNCONNECTED) { + rc = -EINVAL; + release_sock(sk); + return rc; + } + if (sk->sk_state != TCP_LISTEN) { memset(&x25_sk(sk)->dest_addr, 0, X25_ADDR_LEN); sk->sk_max_ack_backlog = backlog; --- linux-gcp-5.19.0.orig/net/x25/x25_dev.c +++ linux-gcp-5.19.0/net/x25/x25_dev.c @@ -117,7 +117,7 @@ if (!pskb_may_pull(skb, 1)) { x25_neigh_put(nb); - return 0; + goto drop; } switch (skb->data[0]) { --- linux-gcp-5.19.0.orig/net/xdp/xsk.c +++ linux-gcp-5.19.0/net/xdp/xsk.c @@ -355,16 +355,15 @@ return nb_pkts; } -u32 xsk_tx_peek_release_desc_batch(struct xsk_buff_pool *pool, u32 max_entries) +u32 xsk_tx_peek_release_desc_batch(struct xsk_buff_pool *pool, u32 nb_pkts) { struct xdp_sock *xs; - u32 nb_pkts; rcu_read_lock(); if (!list_is_singular(&pool->xsk_tx_list)) { /* Fallback to the non-batched version */ rcu_read_unlock(); - return xsk_tx_peek_release_fallback(pool, max_entries); + return xsk_tx_peek_release_fallback(pool, nb_pkts); } xs = list_first_or_null_rcu(&pool->xsk_tx_list, struct xdp_sock, tx_list); @@ -373,12 +372,7 @@ goto out; } - max_entries = xskq_cons_nb_entries(xs->tx, max_entries); - nb_pkts = xskq_cons_read_desc_batch(xs->tx, pool, max_entries); - if (!nb_pkts) { - xs->tx->queue_empty_descs++; - goto out; - } + nb_pkts = xskq_cons_nb_entries(xs->tx, nb_pkts); /* This is the backpressure mechanism for the Tx path. Try to * reserve space in the completion queue for all packets, but @@ -386,12 +380,18 @@ * packets. This avoids having to implement any buffering in * the Tx path. */ - nb_pkts = xskq_prod_reserve_addr_batch(pool->cq, pool->tx_descs, nb_pkts); + nb_pkts = xskq_prod_nb_free(pool->cq, nb_pkts); if (!nb_pkts) goto out; - xskq_cons_release_n(xs->tx, max_entries); + nb_pkts = xskq_cons_read_desc_batch(xs->tx, pool, nb_pkts); + if (!nb_pkts) { + xs->tx->queue_empty_descs++; + goto out; + } + __xskq_cons_release(xs->tx); + xskq_prod_write_addr_batch(pool->cq, pool->tx_descs, nb_pkts); xs->sk.sk_write_space(&xs->sk); out: @@ -951,8 +951,8 @@ goto out_unlock; } - err = xp_assign_dev_shared(xs->pool, umem_xs->umem, - dev, qid); + err = xp_assign_dev_shared(xs->pool, umem_xs, dev, + qid); if (err) { xp_destroy(xs->pool); xs->pool = NULL; --- linux-gcp-5.19.0.orig/net/xdp/xsk_buff_pool.c +++ linux-gcp-5.19.0/net/xdp/xsk_buff_pool.c @@ -212,17 +212,18 @@ return err; } -int xp_assign_dev_shared(struct xsk_buff_pool *pool, struct xdp_umem *umem, +int xp_assign_dev_shared(struct xsk_buff_pool *pool, struct xdp_sock *umem_xs, struct net_device *dev, u16 queue_id) { u16 flags; + struct xdp_umem *umem = umem_xs->umem; /* One fill and completion ring required for each queue id. */ if (!pool->fq || !pool->cq) return -EINVAL; flags = umem->zc ? XDP_ZEROCOPY : XDP_COPY; - if (pool->uses_need_wakeup) + if (umem_xs->pool->uses_need_wakeup) flags |= XDP_USE_NEED_WAKEUP; return xp_assign_dev(pool, dev, queue_id, flags); @@ -379,6 +380,16 @@ static int xp_init_dma_info(struct xsk_buff_pool *pool, struct xsk_dma_map *dma_map) { + if (!pool->unaligned) { + u32 i; + + for (i = 0; i < pool->heads_cnt; i++) { + struct xdp_buff_xsk *xskb = &pool->heads[i]; + + xp_init_xskb_dma(xskb, pool, dma_map->dma_pages, xskb->orig_addr); + } + } + pool->dma_pages = kvcalloc(dma_map->dma_pages_cnt, sizeof(*pool->dma_pages), GFP_KERNEL); if (!pool->dma_pages) return -ENOMEM; @@ -428,12 +439,6 @@ if (pool->unaligned) xp_check_dma_contiguity(dma_map); - else - for (i = 0; i < pool->heads_cnt; i++) { - struct xdp_buff_xsk *xskb = &pool->heads[i]; - - xp_init_xskb_dma(xskb, pool, dma_map->dma_pages, xskb->orig_addr); - } err = xp_init_dma_info(pool, dma_map); if (err) { --- linux-gcp-5.19.0.orig/net/xdp/xsk_queue.h +++ linux-gcp-5.19.0/net/xdp/xsk_queue.h @@ -205,6 +205,11 @@ return false; } +static inline void xskq_cons_release_n(struct xsk_queue *q, u32 cnt) +{ + q->cached_cons += cnt; +} + static inline u32 xskq_cons_read_desc_batch(struct xsk_queue *q, struct xsk_buff_pool *pool, u32 max) { @@ -226,6 +231,8 @@ cached_cons++; } + /* Release valid plus any invalid entries */ + xskq_cons_release_n(q, cached_cons - q->cached_cons); return nb_entries; } @@ -291,11 +298,6 @@ q->cached_cons++; } -static inline void xskq_cons_release_n(struct xsk_queue *q, u32 cnt) -{ - q->cached_cons += cnt; -} - static inline u32 xskq_cons_present_entries(struct xsk_queue *q) { /* No barriers needed since data is not accessed */ @@ -350,21 +352,17 @@ return 0; } -static inline u32 xskq_prod_reserve_addr_batch(struct xsk_queue *q, struct xdp_desc *descs, - u32 max) +static inline void xskq_prod_write_addr_batch(struct xsk_queue *q, struct xdp_desc *descs, + u32 nb_entries) { struct xdp_umem_ring *ring = (struct xdp_umem_ring *)q->ring; - u32 nb_entries, i, cached_prod; - - nb_entries = xskq_prod_nb_free(q, max); + u32 i, cached_prod; /* A, matches D */ cached_prod = q->cached_prod; for (i = 0; i < nb_entries; i++) ring->desc[cached_prod++ & q->ring_mask] = descs[i].addr; q->cached_prod = cached_prod; - - return nb_entries; } static inline int xskq_prod_reserve_desc(struct xsk_queue *q, --- linux-gcp-5.19.0.orig/net/xfrm/espintcp.c +++ linux-gcp-5.19.0/net/xfrm/espintcp.c @@ -168,7 +168,7 @@ { struct espintcp_ctx *ctx = espintcp_getctx(sk); - if (skb_queue_len(&ctx->out_queue) >= netdev_max_backlog) + if (skb_queue_len(&ctx->out_queue) >= READ_ONCE(netdev_max_backlog)) return -ENOBUFS; __skb_queue_tail(&ctx->out_queue, skb); --- linux-gcp-5.19.0.orig/net/xfrm/xfrm_compat.c +++ linux-gcp-5.19.0/net/xfrm/xfrm_compat.c @@ -5,6 +5,7 @@ * Based on code and translator idea by: Florian Westphal */ #include +#include #include #include @@ -302,7 +303,7 @@ nla_for_each_attr(nla, attrs, len, remaining) { int err; - switch (type) { + switch (nlh_src->nlmsg_type) { case XFRM_MSG_NEWSPDINFO: err = xfrm_nla_cpy(dst, nla, nla_len(nla)); break; @@ -437,6 +438,7 @@ NL_SET_ERR_MSG(extack, "Bad attribute"); return -EOPNOTSUPP; } + type = array_index_nospec(type, XFRMA_MAX + 1); if (nla_len(nla) < compat_policy[type].len) { NL_SET_ERR_MSG(extack, "Attribute bad length"); return -EOPNOTSUPP; --- linux-gcp-5.19.0.orig/net/xfrm/xfrm_device.c +++ linux-gcp-5.19.0/net/xfrm/xfrm_device.c @@ -97,6 +97,18 @@ } } +static inline bool xmit_xfrm_check_overflow(struct sk_buff *skb) +{ + struct xfrm_offload *xo = xfrm_offload(skb); + __u32 seq = xo->seq.low; + + seq += skb_shinfo(skb)->gso_segs; + if (unlikely(seq < xo->seq.low)) + return true; + + return false; +} + struct sk_buff *validate_xmit_xfrm(struct sk_buff *skb, netdev_features_t features, bool *again) { int err; @@ -134,7 +146,8 @@ return skb; } - if (skb_is_gso(skb) && unlikely(x->xso.dev != dev)) { + if (skb_is_gso(skb) && (unlikely(x->xso.dev != dev) || + unlikely(xmit_xfrm_check_overflow(skb)))) { struct sk_buff *segs; /* Packet got rerouted, fixup features and segment it. */ --- linux-gcp-5.19.0.orig/net/xfrm/xfrm_input.c +++ linux-gcp-5.19.0/net/xfrm/xfrm_input.c @@ -24,7 +24,8 @@ #include "xfrm_inout.h" struct xfrm_trans_tasklet { - struct tasklet_struct tasklet; + struct work_struct work; + spinlock_t queue_lock; struct sk_buff_head queue; }; @@ -277,8 +278,7 @@ goto out; if (x->props.flags & XFRM_STATE_DECAP_DSCP) - ipv6_copy_dscp(ipv6_get_dsfield(ipv6_hdr(skb)), - ipipv6_hdr(skb)); + ipv6_copy_dscp(XFRM_MODE_SKB_CB(skb)->tos, ipipv6_hdr(skb)); if (!(x->props.flags & XFRM_STATE_NOECN)) ipip6_ecn_decapsulate(skb); @@ -669,7 +669,6 @@ x->curlft.bytes += skb->len; x->curlft.packets++; - x->curlft.use_time = ktime_get_real_seconds(); spin_unlock(&x->lock); @@ -761,18 +760,22 @@ } EXPORT_SYMBOL(xfrm_input_resume); -static void xfrm_trans_reinject(struct tasklet_struct *t) +static void xfrm_trans_reinject(struct work_struct *work) { - struct xfrm_trans_tasklet *trans = from_tasklet(trans, t, tasklet); + struct xfrm_trans_tasklet *trans = container_of(work, struct xfrm_trans_tasklet, work); struct sk_buff_head queue; struct sk_buff *skb; __skb_queue_head_init(&queue); + spin_lock_bh(&trans->queue_lock); skb_queue_splice_init(&trans->queue, &queue); + spin_unlock_bh(&trans->queue_lock); + local_bh_disable(); while ((skb = __skb_dequeue(&queue))) XFRM_TRANS_SKB_CB(skb)->finish(XFRM_TRANS_SKB_CB(skb)->net, NULL, skb); + local_bh_enable(); } int xfrm_trans_queue_net(struct net *net, struct sk_buff *skb, @@ -783,15 +786,17 @@ trans = this_cpu_ptr(&xfrm_trans_tasklet); - if (skb_queue_len(&trans->queue) >= netdev_max_backlog) + if (skb_queue_len(&trans->queue) >= READ_ONCE(netdev_max_backlog)) return -ENOBUFS; BUILD_BUG_ON(sizeof(struct xfrm_trans_cb) > sizeof(skb->cb)); XFRM_TRANS_SKB_CB(skb)->finish = finish; XFRM_TRANS_SKB_CB(skb)->net = net; + spin_lock_bh(&trans->queue_lock); __skb_queue_tail(&trans->queue, skb); - tasklet_schedule(&trans->tasklet); + spin_unlock_bh(&trans->queue_lock); + schedule_work(&trans->work); return 0; } EXPORT_SYMBOL(xfrm_trans_queue_net); @@ -818,7 +823,8 @@ struct xfrm_trans_tasklet *trans; trans = &per_cpu(xfrm_trans_tasklet, i); + spin_lock_init(&trans->queue_lock); __skb_queue_head_init(&trans->queue); - tasklet_setup(&trans->tasklet, xfrm_trans_reinject); + INIT_WORK(&trans->work, xfrm_trans_reinject); } } --- linux-gcp-5.19.0.orig/net/xfrm/xfrm_interface.c +++ linux-gcp-5.19.0/net/xfrm/xfrm_interface.c @@ -207,6 +207,52 @@ skb->mark = 0; } +static int xfrmi_input(struct sk_buff *skb, int nexthdr, __be32 spi, + int encap_type, unsigned short family) +{ + struct sec_path *sp; + + sp = skb_sec_path(skb); + if (sp && (sp->len || sp->olen) && + !xfrm_policy_check(NULL, XFRM_POLICY_IN, skb, family)) + goto discard; + + XFRM_SPI_SKB_CB(skb)->family = family; + if (family == AF_INET) { + XFRM_SPI_SKB_CB(skb)->daddroff = offsetof(struct iphdr, daddr); + XFRM_TUNNEL_SKB_CB(skb)->tunnel.ip4 = NULL; + } else { + XFRM_SPI_SKB_CB(skb)->daddroff = offsetof(struct ipv6hdr, daddr); + XFRM_TUNNEL_SKB_CB(skb)->tunnel.ip6 = NULL; + } + + return xfrm_input(skb, nexthdr, spi, encap_type); +discard: + kfree_skb(skb); + return 0; +} + +static int xfrmi4_rcv(struct sk_buff *skb) +{ + return xfrmi_input(skb, ip_hdr(skb)->protocol, 0, 0, AF_INET); +} + +static int xfrmi6_rcv(struct sk_buff *skb) +{ + return xfrmi_input(skb, skb_network_header(skb)[IP6CB(skb)->nhoff], + 0, 0, AF_INET6); +} + +static int xfrmi4_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type) +{ + return xfrmi_input(skb, nexthdr, spi, encap_type, AF_INET); +} + +static int xfrmi6_input(struct sk_buff *skb, int nexthdr, __be32 spi, int encap_type) +{ + return xfrmi_input(skb, nexthdr, spi, encap_type, AF_INET6); +} + static int xfrmi_rcv_cb(struct sk_buff *skb, int err) { const struct xfrm_mode *inner_mode; @@ -774,8 +820,8 @@ }; static struct xfrm6_protocol xfrmi_esp6_protocol __read_mostly = { - .handler = xfrm6_rcv, - .input_handler = xfrm_input, + .handler = xfrmi6_rcv, + .input_handler = xfrmi6_input, .cb_handler = xfrmi_rcv_cb, .err_handler = xfrmi6_err, .priority = 10, @@ -825,8 +871,8 @@ #endif static struct xfrm4_protocol xfrmi_esp4_protocol __read_mostly = { - .handler = xfrm4_rcv, - .input_handler = xfrm_input, + .handler = xfrmi4_rcv, + .input_handler = xfrmi4_input, .cb_handler = xfrmi_rcv_cb, .err_handler = xfrmi4_err, .priority = 10, --- linux-gcp-5.19.0.orig/net/xfrm/xfrm_ipcomp.c +++ linux-gcp-5.19.0/net/xfrm/xfrm_ipcomp.c @@ -203,6 +203,7 @@ vfree(*per_cpu_ptr(scratches, i)); free_percpu(scratches); + ipcomp_scratches = NULL; } static void * __percpu *ipcomp_alloc_scratches(void) --- linux-gcp-5.19.0.orig/net/xfrm/xfrm_output.c +++ linux-gcp-5.19.0/net/xfrm/xfrm_output.c @@ -534,7 +534,6 @@ x->curlft.bytes += skb->len; x->curlft.packets++; - x->curlft.use_time = ktime_get_real_seconds(); spin_unlock_bh(&x->lock); --- linux-gcp-5.19.0.orig/net/xfrm/xfrm_policy.c +++ linux-gcp-5.19.0/net/xfrm/xfrm_policy.c @@ -336,7 +336,7 @@ } if (xp->lft.hard_use_expires_seconds) { time64_t tmo = xp->lft.hard_use_expires_seconds + - (xp->curlft.use_time ? : xp->curlft.add_time) - now; + (READ_ONCE(xp->curlft.use_time) ? : xp->curlft.add_time) - now; if (tmo <= 0) goto expired; if (tmo < next) @@ -354,7 +354,7 @@ } if (xp->lft.soft_use_expires_seconds) { time64_t tmo = xp->lft.soft_use_expires_seconds + - (xp->curlft.use_time ? : xp->curlft.add_time) - now; + (READ_ONCE(xp->curlft.use_time) ? : xp->curlft.add_time) - now; if (tmo <= 0) { warn = 1; tmo = XFRM_KM_TIMEOUT; @@ -3162,7 +3162,7 @@ return dst; nopol: - if (!(dst_orig->dev->flags & IFF_LOOPBACK) && + if ((!dst_orig->dev || !(dst_orig->dev->flags & IFF_LOOPBACK)) && net->xfrm.policy_default[dir] == XFRM_USERPOLICY_BLOCK) { err = -EPERM; goto error; @@ -3587,7 +3587,8 @@ return 1; } - pol->curlft.use_time = ktime_get_real_seconds(); + /* This lockless write can happen from different cpus. */ + WRITE_ONCE(pol->curlft.use_time, ktime_get_real_seconds()); pols[0] = pol; npols++; @@ -3599,9 +3600,12 @@ if (pols[1]) { if (IS_ERR(pols[1])) { XFRM_INC_STATS(net, LINUX_MIB_XFRMINPOLERROR); + xfrm_pol_put(pols[0]); return 0; } - pols[1]->curlft.use_time = ktime_get_real_seconds(); + /* This write can happen from different cpus. */ + WRITE_ONCE(pols[1]->curlft.use_time, + ktime_get_real_seconds()); npols++; } } @@ -3667,6 +3671,9 @@ goto reject; } + if (if_id) + secpath_reset(skb); + xfrm_pols_put(pols, npols); return 1; } --- linux-gcp-5.19.0.orig/net/xfrm/xfrm_replay.c +++ linux-gcp-5.19.0/net/xfrm/xfrm_replay.c @@ -714,7 +714,7 @@ oseq += skb_shinfo(skb)->gso_segs; } - if (unlikely(oseq < replay_esn->oseq)) { + if (unlikely(xo->seq.low < replay_esn->oseq)) { XFRM_SKB_CB(skb)->seq.output.hi = ++oseq_hi; xo->seq.hi = oseq_hi; replay_esn->oseq_hi = oseq_hi; --- linux-gcp-5.19.0.orig/net/xfrm/xfrm_state.c +++ linux-gcp-5.19.0/net/xfrm/xfrm_state.c @@ -572,7 +572,7 @@ } if (x->lft.hard_use_expires_seconds) { long tmo = x->lft.hard_use_expires_seconds + - (x->curlft.use_time ? : now) - now; + (READ_ONCE(x->curlft.use_time) ? : now) - now; if (tmo <= 0) goto expired; if (tmo < next) @@ -594,7 +594,7 @@ } if (x->lft.soft_use_expires_seconds) { long tmo = x->lft.soft_use_expires_seconds + - (x->curlft.use_time ? : now) - now; + (READ_ONCE(x->curlft.use_time) ? : now) - now; if (tmo <= 0) warn = 1; else if (tmo < next) @@ -1592,6 +1592,7 @@ x->replay = orig->replay; x->preplay = orig->preplay; x->mapping_maxage = orig->mapping_maxage; + x->lastused = orig->lastused; x->new_mapping = 0; x->new_mapping_sport = 0; @@ -1753,7 +1754,7 @@ hrtimer_start(&x1->mtimer, ktime_set(1, 0), HRTIMER_MODE_REL_SOFT); - if (x1->curlft.use_time) + if (READ_ONCE(x1->curlft.use_time)) xfrm_state_check_expire(x1); if (x->props.smark.m || x->props.smark.v || x->if_id) { @@ -1785,8 +1786,8 @@ int xfrm_state_check_expire(struct xfrm_state *x) { - if (!x->curlft.use_time) - x->curlft.use_time = ktime_get_real_seconds(); + if (!READ_ONCE(x->curlft.use_time)) + WRITE_ONCE(x->curlft.use_time, ktime_get_real_seconds()); if (x->curlft.bytes >= x->lft.hard_byte_limit || x->curlft.packets >= x->lft.hard_packet_limit) { --- linux-gcp-5.19.0.orig/samples/bpf/xdp_router_ipv4.bpf.c +++ linux-gcp-5.19.0/samples/bpf/xdp_router_ipv4.bpf.c @@ -150,6 +150,15 @@ dest_mac = bpf_map_lookup_elem(&arp_table, &prefix_value->gw); + if (!dest_mac) { + /* Forward the packet to the kernel in + * order to trigger ARP discovery for + * the default gw. + */ + if (rec) + NO_TEAR_INC(rec->xdp_pass); + return XDP_PASS; + } } } --- linux-gcp-5.19.0.orig/samples/ftrace/ftrace-direct-multi-modify.c +++ linux-gcp-5.19.0/samples/ftrace/ftrace-direct-multi-modify.c @@ -149,6 +149,7 @@ { kthread_stop(simple_tsk); unregister_ftrace_direct_multi(&direct, my_tramp); + ftrace_free_filter(&direct); } module_init(ftrace_direct_multi_init); --- linux-gcp-5.19.0.orig/samples/ftrace/ftrace-direct-multi.c +++ linux-gcp-5.19.0/samples/ftrace/ftrace-direct-multi.c @@ -77,6 +77,7 @@ static void __exit ftrace_direct_multi_exit(void) { unregister_ftrace_direct_multi(&direct, (unsigned long) my_tramp); + ftrace_free_filter(&direct); } module_init(ftrace_direct_multi_init); --- linux-gcp-5.19.0.orig/samples/vfio-mdev/mdpy-fb.c +++ linux-gcp-5.19.0/samples/vfio-mdev/mdpy-fb.c @@ -109,7 +109,7 @@ ret = pci_request_regions(pdev, "mdpy-fb"); if (ret < 0) - return ret; + goto err_disable_dev; pci_read_config_dword(pdev, MDPY_FORMAT_OFFSET, &format); pci_read_config_dword(pdev, MDPY_WIDTH_OFFSET, &width); @@ -191,6 +191,9 @@ err_release_regions: pci_release_regions(pdev); +err_disable_dev: + pci_disable_device(pdev); + return ret; } @@ -199,7 +202,10 @@ struct fb_info *info = pci_get_drvdata(pdev); unregister_framebuffer(info); + iounmap(info->screen_base); framebuffer_release(info); + pci_release_regions(pdev); + pci_disable_device(pdev); } static struct pci_device_id mdpy_fb_pci_table[] = { --- linux-gcp-5.19.0.orig/scripts/Kbuild.include +++ linux-gcp-5.19.0/scripts/Kbuild.include @@ -100,8 +100,29 @@ quiet_redirect := silent_redirect := exec >/dev/null; +# Delete the target on interruption +# +# GNU Make automatically deletes the target if it has already been changed by +# the interrupted recipe. So, you can safely stop the build by Ctrl-C (Make +# will delete incomplete targets), and resume it later. +# +# However, this does not work when the stderr is piped to another program, like +# $ make >&2 | tee log +# Make dies with SIGPIPE before cleaning the targets. +# +# To address it, we clean the target in signal traps. +# +# Make deletes the target when it catches SIGHUP, SIGINT, SIGQUIT, SIGTERM. +# So, we cover them, and also SIGPIPE just in case. +# +# Of course, this is unneeded for phony targets. +delete-on-interrupt = \ + $(if $(filter-out $(PHONY), $@), \ + $(foreach sig, HUP INT QUIT TERM PIPE, \ + trap 'rm -f $@; trap - $(sig); kill -s $(sig) $$$$' $(sig);)) + # printing commands -cmd = @set -e; $(echo-cmd) $($(quiet)redirect) $(cmd_$(1)) +cmd = @set -e; $(echo-cmd) $($(quiet)redirect) $(delete-on-interrupt) $(cmd_$(1)) ### # if_changed - execute command if any prerequisite is newer than --- linux-gcp-5.19.0.orig/scripts/Makefile.build +++ linux-gcp-5.19.0/scripts/Makefile.build @@ -225,6 +225,12 @@ cmd_check_local_export = $(srctree)/scripts/check-local-export $@ +ifdef CONFIG_RETPOLINE +cmd_ubuntu_retpoline = $(CONFIG_SHELL) $(srctree)/scripts/ubuntu-retpoline-extract-one $(@) $(<) "$(filter -m16 %code16gcc.h,$(a_flags))"; +else +cmd_ubuntu_retpoline = +endif + define rule_cc_o_c $(call cmd_and_fixdep,cc_o_c) $(call cmd,gen_ksymdeps) @@ -233,6 +239,7 @@ $(call cmd,checkdoc) $(call cmd,gen_objtooldep) $(call cmd,gen_symversions_c) + $(call cmd,ubuntu-retpoline) $(call cmd,record_mcount) endef @@ -242,6 +249,7 @@ $(call cmd,check_local_export) $(call cmd,gen_objtooldep) $(call cmd,gen_symversions_S) + $(call cmd,ubuntu-retpoline) endef # Built-in and composite module parts --- linux-gcp-5.19.0.orig/scripts/Makefile.debug +++ linux-gcp-5.19.0/scripts/Makefile.debug @@ -1,20 +1,19 @@ DEBUG_CFLAGS := +debug-flags-y := -g ifdef CONFIG_DEBUG_INFO_SPLIT DEBUG_CFLAGS += -gsplit-dwarf -else -DEBUG_CFLAGS += -g endif -ifndef CONFIG_AS_IS_LLVM -KBUILD_AFLAGS += -Wa,-gdwarf-2 -endif - -ifndef CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT -dwarf-version-$(CONFIG_DEBUG_INFO_DWARF4) := 4 -dwarf-version-$(CONFIG_DEBUG_INFO_DWARF5) := 5 -DEBUG_CFLAGS += -gdwarf-$(dwarf-version-y) +debug-flags-$(CONFIG_DEBUG_INFO_DWARF4) += -gdwarf-4 +debug-flags-$(CONFIG_DEBUG_INFO_DWARF5) += -gdwarf-5 +ifeq ($(CONFIG_CC_IS_CLANG)$(CONFIG_AS_IS_GNU),yy) +# Clang does not pass -g or -gdwarf-* option down to GAS. +# Add -Wa, prefix to explicitly specify the flags. +KBUILD_AFLAGS += $(addprefix -Wa$(comma), $(debug-flags-y)) endif +DEBUG_CFLAGS += $(debug-flags-y) +KBUILD_AFLAGS += $(debug-flags-y) ifdef CONFIG_DEBUG_INFO_REDUCED DEBUG_CFLAGS += -fno-var-tracking @@ -29,5 +28,5 @@ KBUILD_LDFLAGS += --compress-debug-sections=zlib endif -KBUILD_CFLAGS += $(DEBUG_CFLAGS) +KBUILD_CFLAGS += $(DEBUG_CFLAGS) export DEBUG_CFLAGS --- linux-gcp-5.19.0.orig/scripts/Makefile.extrawarn +++ linux-gcp-5.19.0/scripts/Makefile.extrawarn @@ -53,6 +53,7 @@ KBUILD_CFLAGS += $(call cc-disable-warning, pointer-to-enum-cast) KBUILD_CFLAGS += -Wno-tautological-constant-out-of-range-compare KBUILD_CFLAGS += $(call cc-disable-warning, unaligned-access) +KBUILD_CFLAGS += $(call cc-disable-warning, cast-function-type-strict) endif endif --- linux-gcp-5.19.0.orig/scripts/Makefile.gcc-plugins +++ linux-gcp-5.19.0/scripts/Makefile.gcc-plugins @@ -4,7 +4,7 @@ gcc-plugin-cflags-$(CONFIG_GCC_PLUGIN_LATENT_ENTROPY) \ += -DLATENT_ENTROPY_PLUGIN ifdef CONFIG_GCC_PLUGIN_LATENT_ENTROPY - DISABLE_LATENT_ENTROPY_PLUGIN += -fplugin-arg-latent_entropy_plugin-disable + DISABLE_LATENT_ENTROPY_PLUGIN += -fplugin-arg-latent_entropy_plugin-disable -ULATENT_ENTROPY_PLUGIN endif export DISABLE_LATENT_ENTROPY_PLUGIN --- linux-gcp-5.19.0.orig/scripts/Makefile.modinst +++ linux-gcp-5.19.0/scripts/Makefile.modinst @@ -65,8 +65,11 @@ ifeq ($(CONFIG_MODULE_SIG_ALL),y) sig-key := $(if $(wildcard $(CONFIG_MODULE_SIG_KEY)),,$(srctree)/)$(CONFIG_MODULE_SIG_KEY) quiet_cmd_sign = SIGN $@ - cmd_sign = scripts/sign-file $(CONFIG_MODULE_SIG_HASH) $(sig-key) certs/signing_key.x509 $@ \ - $(if $(KBUILD_EXTMOD),|| true) + cmd_sign = if test -e $(srctree)/debian/scripts/sign-module && \ + $(srctree)/debian/scripts/sign-module $@ ; \ + then scripts/sign-file $(CONFIG_MODULE_SIG_HASH) $(sig-key) certs/signing_key.x509 $@ \ + $(if $(KBUILD_EXTMOD),|| true) ; \ + fi else quiet_cmd_sign := cmd_sign := : --- linux-gcp-5.19.0.orig/scripts/dummy-tools/gcc +++ linux-gcp-5.19.0/scripts/dummy-tools/gcc @@ -96,12 +96,8 @@ # To set GCC_PLUGINS if arg_contain -print-file-name=plugin "$@"; then - plugin_dir=$(mktemp -d) - - mkdir -p $plugin_dir/include - touch $plugin_dir/include/plugin-version.h - - echo $plugin_dir + # Use $0 to find the in-tree dummy directory + echo "$(dirname "$(readlink -f "$0")")/dummy-plugin-dir" exit 0 fi --- linux-gcp-5.19.0.orig/scripts/faddr2line +++ linux-gcp-5.19.0/scripts/faddr2line @@ -73,7 +73,8 @@ find_dir_prefix() { local objfile=$1 - local start_kernel_addr=$(${READELF} --symbols --wide $objfile | ${AWK} '$8 == "start_kernel" {printf "0x%s", $2}') + local start_kernel_addr=$(${READELF} --symbols --wide $objfile | sed 's/\[.*\]//' | + ${AWK} '$8 == "start_kernel" {printf "0x%s", $2}') [[ -z $start_kernel_addr ]] && return local file_line=$(${ADDR2LINE} -e $objfile $start_kernel_addr) @@ -112,7 +113,9 @@ # section offsets. local file_type=$(${READELF} --file-header $objfile | ${AWK} '$1 == "Type:" { print $2; exit }') - [[ $file_type = "EXEC" ]] && is_vmlinux=1 + if [[ $file_type = "EXEC" ]] || [[ $file_type == "DYN" ]]; then + is_vmlinux=1 + fi # Go through each of the object's symbols which match the func name. # In rare cases there might be duplicates, in which case we print all @@ -175,7 +178,7 @@ found=2 break fi - done < <(${READELF} --symbols --wide $objfile | ${AWK} -v sec=$sym_sec '$7 == sec' | sort --key=2) + done < <(${READELF} --symbols --wide $objfile | sed 's/\[.*\]//' | ${AWK} -v sec=$sym_sec '$7 == sec' | sort --key=2) if [[ $found = 0 ]]; then warn "can't find symbol: sym_name: $sym_name sym_sec: $sym_sec sym_addr: $sym_addr sym_elf_size: $sym_elf_size" @@ -256,7 +259,7 @@ DONE=1 - done < <(${READELF} --symbols --wide $objfile | ${AWK} -v fn=$sym_name '$4 == "FUNC" && $8 == fn') + done < <(${READELF} --symbols --wide $objfile | sed 's/\[.*\]//' | ${AWK} -v fn=$sym_name '$4 == "FUNC" && $8 == fn') } [[ $# -lt 2 ]] && usage --- linux-gcp-5.19.0.orig/scripts/gdb/linux/dmesg.py +++ linux-gcp-5.19.0/scripts/gdb/linux/dmesg.py @@ -22,7 +22,6 @@ prb_desc_ring_type = utils.CachedType("struct prb_desc_ring") prb_data_ring_type = utils.CachedType("struct prb_data_ring") printk_ringbuffer_type = utils.CachedType("struct printk_ringbuffer") -atomic_long_type = utils.CachedType("atomic_long_t") class LxDmesg(gdb.Command): """Print Linux kernel log buffer.""" @@ -68,8 +67,6 @@ off = prb_data_ring_type.get_type()['data'].bitpos // 8 text_data_addr = utils.read_ulong(text_data_ring, off) - counter_off = atomic_long_type.get_type()['counter'].bitpos // 8 - sv_off = prb_desc_type.get_type()['state_var'].bitpos // 8 off = prb_desc_type.get_type()['text_blk_lpos'].bitpos // 8 @@ -89,9 +86,9 @@ # read in tail and head descriptor ids off = prb_desc_ring_type.get_type()['tail_id'].bitpos // 8 - tail_id = utils.read_u64(desc_ring, off + counter_off) + tail_id = utils.read_atomic_long(desc_ring, off) off = prb_desc_ring_type.get_type()['head_id'].bitpos // 8 - head_id = utils.read_u64(desc_ring, off + counter_off) + head_id = utils.read_atomic_long(desc_ring, off) did = tail_id while True: @@ -102,7 +99,7 @@ desc = utils.read_memoryview(inf, desc_addr + desc_off, desc_sz).tobytes() # skip non-committed record - state = 3 & (utils.read_u64(desc, sv_off + counter_off) >> desc_flags_shift) + state = 3 & (utils.read_atomic_long(desc, sv_off) >> desc_flags_shift) if state != desc_committed and state != desc_finalized: if did == head_id: break --- linux-gcp-5.19.0.orig/scripts/gdb/linux/utils.py +++ linux-gcp-5.19.0/scripts/gdb/linux/utils.py @@ -35,13 +35,12 @@ long_type = CachedType("long") - +atomic_long_type = CachedType("atomic_long_t") def get_long_type(): global long_type return long_type.get_type() - def offset_of(typeobj, field): element = gdb.Value(0).cast(typeobj) return int(str(element[field].address).split()[0], 16) @@ -129,6 +128,17 @@ else: return read_u32(buffer, offset) +atomic_long_counter_offset = atomic_long_type.get_type()['counter'].bitpos +atomic_long_counter_sizeof = atomic_long_type.get_type()['counter'].type.sizeof + +def read_atomic_long(buffer, offset): + global atomic_long_counter_offset + global atomic_long_counter_sizeof + + if atomic_long_counter_sizeof == 8: + return read_u64(buffer, offset + atomic_long_counter_offset) + else: + return read_u32(buffer, offset + atomic_long_counter_offset) target_arch = None --- linux-gcp-5.19.0.orig/scripts/insert-sys-cert.c +++ linux-gcp-5.19.0/scripts/insert-sys-cert.c @@ -7,7 +7,8 @@ * This software may be used and distributed according to the terms * of the GNU General Public License, incorporated herein by reference. * - * Usage: insert-sys-cert [-s -b -c + * Usage: insert-sys-cert [-s ] -b -c + * [-s ] -z -c */ #define _GNU_SOURCE @@ -257,6 +258,169 @@ return buf; } +static void get_payload_info(char *bzimage, int *offset, int *size) +{ + unsigned int system_offset; + unsigned char setup_sectors; + + setup_sectors = bzimage[0x1f1] + 1; + system_offset = setup_sectors * 512; + *offset = system_offset + *((int*)&bzimage[0x248]); + *size = *((int*)&bzimage[0x24c]); +} + +static void update_payload_info(char* bzimage, int new_size) +{ + int offset, size; + get_payload_info(bzimage, &offset, &size); + *((int*)&bzimage[0x24c]) = new_size; + if (new_size < size) + memset(bzimage + offset + new_size, 0, size - new_size); +} + +struct zipper { + unsigned char pattern[10]; + int length; + char *command; + char *compress; +}; + +struct zipper zippers[] = { + {{0x7F,'E','L','F'}, 4, "cat", "cat"}, + {{0x1F,0x8B}, 2, "gunzip", "gzip -n -f -9"}, + {{0xFD,'7','z','X','Z',0}, 6, "unxz", "xz"}, + {{'B','Z','h'},3, "bunzip2", "bzip2 -9"}, + {{0xFF,'L','Z','M','A',0}, 6, "unlzma", "lzma -9"}, + {{0xD3,'L','Z','O',0,'\r','\n',0x20,'\n'}, 9, "lzop -d", "lzop -9"} +}; + +static struct zipper* get_zipper(char *p) { + int i; + for (i = 0; i < sizeof(zippers)/sizeof(struct zipper); i++) { + if (memcmp(p, zippers[i].pattern, zippers[i].length) == 0) + return &zippers[i]; + } + return NULL; +} + +/* + * This only works for x86 bzImage + */ +static void extract_vmlinux(char *bzimage, int bzimage_size, + char **file, struct zipper **zipper) +{ + int r; + char src[15] = "vmlinux-XXXXXX"; + char dest[15] = "vmlinux-XXXXXX"; + char cmd[100]; + int src_fd, dest_fd; + int offset, size; + struct zipper *z; + + /* TODO: verify that bzImage is supported */ + + get_payload_info(bzimage, &offset, &size); + z = get_zipper(bzimage + offset); + if (z == NULL) { + err("Unable to determine the compression of vmlinux\n"); + return; + } + + src_fd = mkstemp(src); + if (src_fd == -1) { + perror("Could not create temp file"); + return; + } + + r = write(src_fd, bzimage + offset, size); + if (r != size) { + perror("Could not write vmlinux"); + return; + } + dest_fd = mkstemp(dest); + if (dest_fd == -1) { + perror("Could not create temp file"); + return; + } + + snprintf(cmd, sizeof(cmd), "%s <%s >%s", z->command, src, dest); + info("Executing: %s\n", cmd); + r = system(cmd); + if (r!=0) + warn("Possible errors when extracting\n"); + + r = remove(src); + if (r!=0) + perror(src); + + *file = strdup(dest); + *zipper = z; +} + +static void repack_image(char *bzimage, int bzimage_size, + char* vmlinux_file, struct zipper *z) +{ + char tmp[15] = "vmlinux-XXXXXX"; + char cmd[100]; + int fd; + struct stat st; + int new_size; + int r; + int offset, size; + + get_payload_info(bzimage, &offset, &size); + + fd = mkstemp(tmp); + if (fd == -1) { + perror("Could not create temp file"); + return; + } + snprintf(cmd, sizeof(cmd), "%s <%s >%s", + z->compress, vmlinux_file, tmp); + + info("Executing: %s\n", cmd); + r = system(cmd); + if (r!=0) + warn("Possible errors when compressing\n"); + + r = remove(vmlinux_file); + if (r!=0) + perror(vmlinux_file); + + if (fstat(fd, &st)) { + perror("Could not determine file size"); + close(fd); + + } + new_size = st.st_size; + if (new_size > size) { + err("Increase in compressed size is not supported.\n"); + err("Old size was %d, new size is %d\n", size, new_size); + exit(EXIT_FAILURE); + } + + r = read(fd, bzimage + offset, new_size); + if (r != new_size) + perror(tmp); + + r = remove(tmp); + if (r!=0) + perror(tmp); + + /* x86 specific patching of bzimage */ + update_payload_info(bzimage, new_size); + + /* TODO: update CRC */ + +} + +static void fill_random(unsigned char *p, int n) { + srand(0); + int i; + for (i = 0; i < n; i++) + p[i] = rand(); +} + static void print_sym(Elf_Ehdr *hdr, struct sym *s) { info("sym: %s\n", s->name); @@ -267,18 +431,23 @@ static void print_usage(char *e) { - printf("Usage %s [-s ] -b -c \n", e); + printf("Usage: %s [-s ] -b -c \n", e); + printf(" %s [-s ] -z -c \n", e); } int main(int argc, char **argv) { char *system_map_file = NULL; char *vmlinux_file = NULL; + char *bzimage_file = NULL; char *cert_file = NULL; int vmlinux_size; + int bzimage_size; int cert_size; Elf_Ehdr *hdr; char *cert; + char *bzimage = NULL; + struct zipper *z = NULL; FILE *system_map; unsigned long *lsize; int *used; @@ -286,7 +455,7 @@ Elf_Shdr *symtab = NULL; struct sym cert_sym, lsize_sym, used_sym; - while ((opt = getopt(argc, argv, "b:c:s:")) != -1) { + while ((opt = getopt(argc, argv, "b:z:c:s:")) != -1) { switch (opt) { case 's': system_map_file = optarg; @@ -294,6 +463,9 @@ case 'b': vmlinux_file = optarg; break; + case 'z': + bzimage_file = optarg; + break; case 'c': cert_file = optarg; break; @@ -302,7 +474,9 @@ } } - if (!vmlinux_file || !cert_file) { + if (!cert_file || + (!vmlinux_file && !bzimage_file) || + (vmlinux_file && bzimage_file)) { print_usage(argv[0]); exit(EXIT_FAILURE); } @@ -311,6 +485,16 @@ if (!cert) exit(EXIT_FAILURE); + if (bzimage_file) { + bzimage = map_file(bzimage_file, &bzimage_size); + if (!bzimage) + exit(EXIT_FAILURE); + + extract_vmlinux(bzimage, bzimage_size, &vmlinux_file, &z); + if (!vmlinux_file) + exit(EXIT_FAILURE); + } + hdr = map_file(vmlinux_file, &vmlinux_size); if (!hdr) exit(EXIT_FAILURE); @@ -386,7 +570,7 @@ } /* If the existing cert is the same, don't overwrite */ - if (cert_size == *used && + if (cert_size > 0 && cert_size == *used && strncmp(cert_sym.content, cert, cert_size) == 0) { warn("Certificate was already inserted.\n"); exit(EXIT_SUCCESS); @@ -396,9 +580,11 @@ warn("Replacing previously inserted certificate.\n"); memcpy(cert_sym.content, cert, cert_size); + if (cert_size < cert_sym.size) - memset(cert_sym.content + cert_size, - 0, cert_sym.size - cert_size); + /* This makes the reserved space incompressable */ + fill_random(cert_sym.content + cert_size, + cert_sym.size - cert_size); *lsize = *lsize + cert_size - *used; *used = cert_size; @@ -406,5 +592,15 @@ cert_sym.address); info("Used %d bytes out of %d bytes reserved.\n", *used, cert_sym.size); + + if (munmap(hdr, vmlinux_size) == -1) { + perror(vmlinux_file); + exit(EXIT_FAILURE); + } + + if (bzimage) { + repack_image(bzimage, bzimage_size, vmlinux_file, z); + } + exit(EXIT_SUCCESS); } --- linux-gcp-5.19.0.orig/scripts/kconfig/lkc.h +++ linux-gcp-5.19.0/scripts/kconfig/lkc.h @@ -46,7 +46,9 @@ /* confdata.c and expr.c */ static inline void xfwrite(const void *str, size_t len, size_t count, FILE *out) { - assert(len != 0); + //assert(len != 0); + if (len == 0) + return; if (fwrite(str, len, count, out) != count) fprintf(stderr, "Error in writing or end of file.\n"); --- linux-gcp-5.19.0.orig/scripts/mod/modpost.c +++ linux-gcp-5.19.0/scripts/mod/modpost.c @@ -2203,13 +2203,11 @@ /* record CRCs for exported symbols */ buf_printf(buf, "\n"); list_for_each_entry(sym, &mod->exported_symbols, list) { - if (!sym->crc_valid) { + if (!sym->crc_valid) warn("EXPORT symbol \"%s\" [%s%s] version generation failed, symbol will not be versioned.\n" "Is \"%s\" prototyped in ?\n", sym->name, mod->name, mod->is_vmlinux ? "" : ".ko", sym->name); - continue; - } buf_printf(buf, "SYMBOL_CRC(%s, 0x%08x, \"%s\");\n", sym->name, sym->crc, sym->is_gpl_only ? "_gpl" : ""); --- linux-gcp-5.19.0.orig/scripts/module.lds.S +++ linux-gcp-5.19.0/scripts/module.lds.S @@ -27,6 +27,8 @@ .ctors 0 : ALIGN(8) { *(SORT(.ctors.*)) *(.ctors) } .init_array 0 : ALIGN(8) { *(SORT(.init_array.*)) *(.init_array) } + .altinstructions 0 : ALIGN(8) { KEEP(*(.altinstructions)) } + __bug_table 0 : ALIGN(8) { KEEP(*(__bug_table)) } __jump_table 0 : ALIGN(8) { KEEP(*(__jump_table)) } __patchable_function_entries : { *(__patchable_function_entries) } --- linux-gcp-5.19.0.orig/scripts/package/mkdebian +++ linux-gcp-5.19.0/scripts/package/mkdebian @@ -236,7 +236,7 @@ KBUILD_BUILD_VERSION=${revision} -f \$(srctree)/Makefile intdeb-pkg clean: - rm -rf debian/*tmp debian/files + rm -rf debian/files debian/linux-* \$(MAKE) clean binary: binary-arch --- linux-gcp-5.19.0.orig/scripts/package/mkspec +++ linux-gcp-5.19.0/scripts/package/mkspec @@ -85,10 +85,10 @@ mkdir -p %{buildroot}/boot %ifarch ia64 mkdir -p %{buildroot}/boot/efi - cp \$($MAKE image_name) %{buildroot}/boot/efi/vmlinuz-$KERNELRELEASE + cp \$($MAKE -s image_name) %{buildroot}/boot/efi/vmlinuz-$KERNELRELEASE ln -s efi/vmlinuz-$KERNELRELEASE %{buildroot}/boot/ %else - cp \$($MAKE image_name) %{buildroot}/boot/vmlinuz-$KERNELRELEASE + cp \$($MAKE -s image_name) %{buildroot}/boot/vmlinuz-$KERNELRELEASE %endif $M $MAKE %{?_smp_mflags} INSTALL_MOD_PATH=%{buildroot} modules_install $MAKE %{?_smp_mflags} INSTALL_HDR_PATH=%{buildroot}/usr headers_install --- linux-gcp-5.19.0.orig/scripts/pahole-flags.sh +++ linux-gcp-5.19.0/scripts/pahole-flags.sh @@ -20,4 +20,8 @@ extra_paholeopt="${extra_paholeopt} -j" fi +if [ "${pahole_ver}" -ge "124" ]; then + extra_paholeopt="${extra_paholeopt} --skip_encoding_btf_enum64" +fi + echo ${extra_paholeopt} --- linux-gcp-5.19.0.orig/scripts/selinux/install_policy.sh +++ linux-gcp-5.19.0/scripts/selinux/install_policy.sh @@ -78,7 +78,7 @@ $SF -F file_contexts / mounts=`cat /proc/$$/mounts | \ - egrep "ext[234]|jfs|xfs|reiserfs|jffs2|gfs2|btrfs|f2fs|ocfs2" | \ + grep -E "ext[234]|jfs|xfs|reiserfs|jffs2|gfs2|btrfs|f2fs|ocfs2" | \ awk '{ print $2 '}` $SF -F file_contexts $mounts --- linux-gcp-5.19.0.orig/scripts/tags.sh +++ linux-gcp-5.19.0/scripts/tags.sh @@ -98,7 +98,7 @@ { echo include/generated/autoconf.h find $ignore -name "*.cmd" -exec \ - grep -Poh '(?(?=^source_.* \K).*|(?=^ \K\S).*(?= \\))' {} \+ | + sed -n -E 's/^source_.* (.*)/\1/p; s/^ (\S.*) \\/\1/p' {} \+ | awk '!a[$0]++' } | xargs realpath -es $([ -z "$KBUILD_ABS_SRCTREE" ] && echo --relative-to=.) | sort -u --- linux-gcp-5.19.0.orig/scripts/tracing/ftrace-bisect.sh +++ linux-gcp-5.19.0/scripts/tracing/ftrace-bisect.sh @@ -12,7 +12,7 @@ # (note, if this is a problem with function_graph tracing, then simply # replace "function" with "function_graph" in the following steps). # -# # cd /sys/kernel/debug/tracing +# # cd /sys/kernel/tracing # # echo schedule > set_ftrace_filter # # echo function > current_tracer # @@ -20,22 +20,40 @@ # # # echo nop > current_tracer # -# # cat available_filter_functions > ~/full-file +# Starting with v5.1 this can be done with numbers, making it much faster: +# +# The old (slow) way, for kernels before v5.1. +# +# [old-way] # cat available_filter_functions > ~/full-file +# +# [old-way] *** Note *** this process will take several minutes to update the +# [old-way] filters. Setting multiple functions is an O(n^2) operation, and we +# [old-way] are dealing with thousands of functions. So go have coffee, talk +# [old-way] with your coworkers, read facebook. And eventually, this operation +# [old-way] will end. +# +# The new way (using numbers) is an O(n) operation, and usually takes less than a second. +# +# seq `wc -l available_filter_functions | cut -d' ' -f1` > ~/full-file +# +# This will create a sequence of numbers that match the functions in +# available_filter_functions, and when echoing in a number into the +# set_ftrace_filter file, it will enable the corresponding function in +# O(1) time. Making enabling all functions O(n) where n is the number of +# functions to enable. +# +# For either the new or old way, the rest of the operations remain the same. +# # # ftrace-bisect ~/full-file ~/test-file ~/non-test-file # # cat ~/test-file > set_ftrace_filter # -# *** Note *** this will take several minutes. Setting multiple functions is -# an O(n^2) operation, and we are dealing with thousands of functions. So go -# have coffee, talk with your coworkers, read facebook. And eventually, this -# operation will end. -# # # echo function > current_tracer # # If it crashes, we know that ~/test-file has a bad function. # # Reboot back to test kernel. # -# # cd /sys/kernel/debug/tracing +# # cd /sys/kernel/tracing # # mv ~/test-file ~/full-file # # If it didn't crash. --- linux-gcp-5.19.0.orig/scripts/ubuntu-retpoline-extract-one +++ linux-gcp-5.19.0/scripts/ubuntu-retpoline-extract-one @@ -0,0 +1,270 @@ +#!/bin/bash + +exec &2 + exit 1 + fi +} + +# Form an associative lookup for the section numbers in the ELF symbol table. +# Uses 8 character 0 expanded hexadecimal key for ease of consumption. +__sectionmap_init() +{ + readelf -W --headers "$1" | \ + awk ' + { sub("\\[", ""); sub("\\]", ""); } + ($1 ~ /^[0-9][0-9]*/) { printf("%08x %s %s %s\n", int($1), $2, $3, $4); } + ' | \ + { + while read section_num section_name section_type section_vma + do + echo "sectionmap_$section_num='$section_name'" + echo "sectionvma_$section_num='$section_vma'" + case "$section_type" in + REL|RELA) section_relocation="$section_type" ;; + esac + done + echo "section_relocation='$section_relocation'" + } +} +sectionmap_init() +{ + eval $(__sectionmap_init "$1") +} +sectionmap() +{ + eval RET="\$sectionmap_$1" + if [ "$RET" = '' ]; then + echo "sectionmap: $1: invalid section" 1>&2 + exit 1 + fi +} +sectionvma() +{ + eval RET="\$sectionvma_$1" + if [ "$RET" = '' ]; then + echo "sectionvma: $1: invalid section" 1>&2 + exit 1 + fi +} + +# Read and parse the hex-dump output. +hex="[0-9a-f]" +hex_8="$hex$hex$hex$hex$hex$hex$hex$hex" +hexspc="[0-9a-f ]" +hexspc_8="$hexspc$hexspc$hexspc$hexspc$hexspc$hexspc$hexspc$hexspc" + +raw32() +{ + readelf --hex-dump "$2" "$1" 2>/dev/null | + sed \ + -e '/^Hex/d' -e '/^$/d' -e '/^ *NOTE/d' \ + -e 's/ *[^ ][^ ]* *\('"$hex_8"'\) \('"$hexspc_8"'\) \('"$hexspc_8"'\) \('"$hexspc_8"'\) .*/\1 \2 \3 \4 /' \ + -e 's/\('"$hex$hex"'\)\('"$hex$hex"'\)\('"$hex$hex"'\)\('"$hex$hex"'\) /\4\3\2\1 /g' \ + -e 's/ $//g' -e 's/ /\n/g' +} +#-e 's/\([^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ]\) \([^ ][^ ][^ ][^ ][^ ][^ ][^ ][^ ]\) /\2\1 /g' \ + +rela() +{ + #file="$(basename "$1")" + file="$1" + + # Read relocation information for a 64bit binary. Each relocation entry + # is 3 long longs so we collect 6 quads here. Note that the dump is in + # listed in increasing byte order not withstanding the quad split. + # + # The record says to take the value of add and + # shove that into in the segment of the . + # + # Format: + # 64 bits + # 32 bits + # 32 bits + # 64 bits + raw32 "$1" ".rela$SECTION" | \ + { + a1=''; a2=''; a3=''; a4=''; a5='' + while read a6 + do + [ "$a1" = '' ] && { a1="$a6"; continue; } + [ "$a2" = '' ] && { a2="$a6"; continue; } + [ "$a3" = '' ] && { a3="$a6"; continue; } + [ "$a4" = '' ] && { a4="$a6"; continue; } + [ "$a5" = '' ] && { a5="$a6"; continue; } + + #echo ">$a1< >$a2< >$a3< >$a4< >$a5< >$a6<" 1>&2 + #echo "type<$a3> symbol<$a4> offset<$a2$a1> addr<$a6a5>" 1>&2 + + symbolmap "$a4"; section_num="$RET" + #echo "section_num<$section_num>" 1>&2 + + sectionmap "$section_num"; section="$RET" + sectionvma "$section_num"; vma="$RET" + #echo "section<$section> vma<$vma>" 1>&2 + + # Adjust the segment addressing by the segment offset. + printf -v addr "%u" "0x$a6$a5" + printf -v vma "%u" "0x$vma" + let offset="$addr + $vma" + printf -v offset "%x" "$offset" + + echo "$file-$section-$offset" + + a1=''; a2=''; a3=''; a4=''; a5='' + done + } | sed -e 's/-00*\([0-9a-f]\)/-\1/' +} + +# Form an associative lookup for the raw contents for an ELF section. +# Uses 8 character 0 expanded hexadecimal key for ease of consumption. +contentmap_init() +{ + raw32 "$1" "$2" >"$tmp" + let offset=0 + while read value + do + printf -v offset_hex "%08x" $offset + eval contentmap_$offset_hex=\'$value\' + + let offset="$offset + 4" + done <"$tmp" + rm -f "$tmp" +} +contentmap() +{ + eval RET="\$contentmap_$1" + if [ "$RET" = '' ]; then + echo "contentmap: $1: invalid offset" 1>&2 + exit 1 + fi +} + +rel() +{ + # Load up the current contents of the $SECTION segment + # as the offsets (see below) are recorded there and we will need + # those to calculate the actuall address. + contentmap_init "$1" "$SECTION" + + #file="$(basename "$1")" + file="$1" + + # Read relocation information for a 32bit binary. Each relocation entry + # is 3 longs so we collect 3 quads here. Note that the dump is in + # listed in increasing byte order not withstanding the quad split. + # + # The record says to take the value of and add that to the + # existing contents of in the segment of the . + # + # Format: + # 32 bits + # 24 bits + # 8 bits + raw32 "$1" ".rel$SECTION" | \ + { + a1='' + while read a2 + do + [ "$a1" = '' ] && { a1="$a2"; continue; } + + #echo ">$a1< >$a2<" + contentmap "$a1"; offset="$RET" + symbolmap "00${a2%??}"; section_num="$RET" + + sectionmap "$section_num"; section="$RET" + sectionvma "$section_num"; vma="$RET" + #echo ">$a1< >$a2< >$offset< >$section<" + + echo "$file-$section-$offset" + + a1='' + done + } | sed -e 's/-00*\([0-9a-f]\)/-\1/' +} + +tmp=$(mktemp --tmpdir "retpoline-extract-XXXXXX") + +disassemble() +{ + local object="$1" + local src="$2" + local options="$3" + local selector="$4" + + objdump $options --disassemble --no-show-raw-insn "$object" | \ + awk -F' ' ' + BEGIN { file="'"$object"'"; src="'"$src"'"; } + /Disassembly of section/ { segment=$4; sub(":", "", segment); } + /^[0-9a-f][0-9a-f]* <.*>:/ { tag=$0; sub(".*<", "", tag); sub(">.*", "", tag); } + $0 ~ /(call|jmp)q? *\*0x[0-9a-f]*\(%rip\)/ { + next + } + $0 ~ /(call|jmp)q? *\*.*%/ { + sub(":", "", $1); + if ('"$selector"') { + offset=$1 + $1=tag + print(file "-" segment "-" offset " " src " " segment " " $0); + } + } + ' +} + +# Accumulate potentially vunerable indirect call/jmp sequences. We do this +# by examining the raw disassembly for affected forms, recording the location +# of each. +case "$bit16" in +'') disassemble "$object" "$src" '' 'segment != ".init.text"' ;; +*) disassemble "$object" "$src" '--disassembler-options=i8086' 'segment != ".init.text" && segment != ".text32" && segment != ".text64"' + disassemble "$object" "$src" '--disassembler-options=i386' 'segment == ".text32"' + disassemble "$object" "$src" '--disassembler-options=x86-64' 'segment == ".text64"' + ;; +esac | sort -k 1b,1 >"$object.ur-detected" +[ ! -s "$object.ur-detected" ] && rm -f "$object.ur-detected" + +# Load up the symbol table and section mappings. +symbolmap_init "$object" +sectionmap_init "$object" + +# Accumulate annotated safe indirect call/jmp sequences. We do this by examining +# the $SECTION sections (and their associated relocation information), +# each entry represents the address of an instruction which has been marked +# as ok. +case "$section_relocation" in +REL) rel "$object" ;; +RELA) rela "$object" ;; +esac | sort -k 1b,1 >"$object.ur-safe" +[ ! -s "$object.ur-safe" ] && rm -f "$object.ur-safe" + +# We will perform the below join on the summarised and sorted fragments +# formed above. This is performed in retpoline-check. +#join -v 1 -j 1 "$tmp.extracted" "$tmp.safe" | sed -s 's/[^ ]* *//' + +rm -f "$tmp" --- linux-gcp-5.19.0.orig/security/Kconfig +++ linux-gcp-5.19.0/security/Kconfig @@ -19,6 +19,15 @@ If you are unsure how to answer this question, answer N. +config SECURITY_PERF_EVENTS_RESTRICT + bool "Restrict unprivileged use of performance events" + depends on PERF_EVENTS + help + If you say Y here, the kernel.perf_event_paranoid sysctl + will be set to 3 by default, and no unprivileged use of the + perf_event_open syscall will be permitted unless it is + changed. + config SECURITY bool "Enable different security models" depends on SYSFS --- linux-gcp-5.19.0.orig/security/Kconfig.hardening +++ linux-gcp-5.19.0/security/Kconfig.hardening @@ -22,11 +22,17 @@ config CC_HAS_AUTO_VAR_INIT_PATTERN def_bool $(cc-option,-ftrivial-auto-var-init=pattern) -config CC_HAS_AUTO_VAR_INIT_ZERO - # GCC ignores the -enable flag, so we can test for the feature with - # a single invocation using the flag, but drop it as appropriate in - # the Makefile, depending on the presence of Clang. +config CC_HAS_AUTO_VAR_INIT_ZERO_BARE + def_bool $(cc-option,-ftrivial-auto-var-init=zero) + +config CC_HAS_AUTO_VAR_INIT_ZERO_ENABLER + # Clang 16 and later warn about using the -enable flag, but it + # is required before then. def_bool $(cc-option,-ftrivial-auto-var-init=zero -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang) + depends on !CC_HAS_AUTO_VAR_INIT_ZERO_BARE + +config CC_HAS_AUTO_VAR_INIT_ZERO + def_bool CC_HAS_AUTO_VAR_INIT_ZERO_BARE || CC_HAS_AUTO_VAR_INIT_ZERO_ENABLER choice prompt "Initialize kernel stack variables at function entry" @@ -247,6 +253,9 @@ config CC_HAS_ZERO_CALL_USED_REGS def_bool $(cc-option,-fzero-call-used-regs=used-gpr) + # https://github.com/ClangBuiltLinux/linux/issues/1766 + # https://github.com/llvm/llvm-project/issues/59242 + depends on !CC_IS_CLANG || CLANG_VERSION > 150006 config ZERO_CALL_USED_REGS bool "Enable register zeroing on function exit" @@ -268,6 +277,9 @@ config CC_HAS_RANDSTRUCT def_bool $(cc-option,-frandomize-layout-seed-file=/dev/null) + # Randstruct was first added in Clang 15, but it isn't safe to use until + # Clang 16 due to https://github.com/llvm/llvm-project/issues/60349 + depends on !CC_IS_CLANG || CLANG_VERSION >= 160000 choice prompt "Randomize layout of sensitive kernel structures" --- linux-gcp-5.19.0.orig/security/apparmor/Kconfig +++ linux-gcp-5.19.0/security/apparmor/Kconfig @@ -6,8 +6,6 @@ select SECURITY_PATH select SECURITYFS select SECURITY_NETWORK - select ZLIB_INFLATE - select ZLIB_DEFLATE default n help This enables the AppArmor security module. @@ -17,29 +15,6 @@ If you are unsure how to answer this question, answer N. -config SECURITY_APPARMOR_HASH - bool "Enable introspection of sha1 hashes for loaded profiles" - depends on SECURITY_APPARMOR - select CRYPTO - select CRYPTO_SHA1 - default y - help - This option selects whether introspection of loaded policy - is available to userspace via the apparmor filesystem. - -config SECURITY_APPARMOR_HASH_DEFAULT - bool "Enable policy hash introspection by default" - depends on SECURITY_APPARMOR_HASH - default y - help - This option selects whether sha1 hashing of loaded policy - is enabled by default. The generation of sha1 hashes for - loaded policy provide system administrators a quick way - to verify that policy in the kernel matches what is expected, - however it can slow down policy load on some devices. In - these cases policy hashing can be disabled by default and - enabled only if needed. - config SECURITY_APPARMOR_DEBUG bool "Build AppArmor with debug code" depends on SECURITY_APPARMOR @@ -69,6 +44,79 @@ When enabled, various debug messages will be logged to the kernel message buffer. +config SECURITY_APPARMOR_INTROSPECT_POLICY + bool "Allow loaded policy to be introspected" + depends on SECURITY_APPARMOR + default y + help + This option selects whether introspection of loaded policy + is available to userspace via the apparmor filesystem. This + adds to kernel memory usage. It is required for introspection + of loaded policy, and check point and restore support. It + can be disabled for embedded systems where reducing memory and + cpu is paramount. + +config SECURITY_APPARMOR_HASH + bool "Enable introspection of sha1 hashes for loaded profiles" + depends on SECURITY_APPARMOR_INTROSPECT_POLICY + select CRYPTO + select CRYPTO_SHA1 + default y + help + This option selects whether introspection of loaded policy + hashes is available to userspace via the apparmor + filesystem. This option provides a light weight means of + checking loaded policy. This option adds to policy load + time and can be disabled for small embedded systems. + +config SECURITY_APPARMOR_HASH_DEFAULT + bool "Enable policy hash introspection by default" + depends on SECURITY_APPARMOR_HASH + default y + help + This option selects whether sha1 hashing of loaded policy + is enabled by default. The generation of sha1 hashes for + loaded policy provide system administrators a quick way + to verify that policy in the kernel matches what is expected, + however it can slow down policy load on some devices. In + these cases policy hashing can be disabled by default and + enabled only if needed. + +config SECURITY_APPARMOR_EXPORT_BINARY + bool "Allow exporting the raw binary policy" + depends on SECURITY_APPARMOR_INTROSPECT_POLICY + select ZSTD_COMPRESS + select ZSTD_DECOMPRESS + default y + help + This option allows reading back binary policy as it was loaded. + It increases the amount of kernel memory needed by policy and + also increases policy load time. This option is required for + checkpoint and restore support, and debugging of loaded policy. + +config SECURITY_APPARMOR_PARANOID_LOAD + bool "Perform full verification of loaded policy" + depends on SECURITY_APPARMOR + default y + help + This options allows controlling whether apparmor does a full + verification of loaded policy. This should not be disabled + except for embedded systems where the image is read only, + includes policy, and has some form of integrity check. + Disabling the check will speed up policy loads. + +config SECURITY_APPARMOR_RESTRICT_USERNS + bool "Restrict user namespace creation to confined domains" + depends on SECURITY_APPARMOR + default y + help + This options allows controlling whether apparmor restricts + the creation of new user namespaces to confined tasks by + default. If set unconfined tasks without CAP_MAC_OVERRIDE + will not be allowed to create new user namespaces. Confined + tasks ability to create new user namespaces will be controlled + by their profile. + config SECURITY_APPARMOR_KUNIT_TEST bool "Build KUnit tests for policy_unpack.c" if !KUNIT_ALL_TESTS depends on KUNIT=y && SECURITY_APPARMOR --- linux-gcp-5.19.0.orig/security/apparmor/Makefile +++ linux-gcp-5.19.0/security/apparmor/Makefile @@ -5,7 +5,8 @@ apparmor-y := apparmorfs.o audit.o capability.o task.o ipc.o lib.o match.o \ path.o domain.o policy.o policy_unpack.o procattr.o lsm.o \ - resource.o secid.o file.o policy_ns.o label.o mount.o net.o + resource.o secid.o file.o policy_ns.o label.o mount.o net.o \ + policy_compat.o af_unix.o apparmor-$(CONFIG_SECURITY_APPARMOR_HASH) += crypto.o clean-files := capability_names.h rlim_names.h net_names.h --- linux-gcp-5.19.0.orig/security/apparmor/af_unix.c +++ linux-gcp-5.19.0/security/apparmor/af_unix.c @@ -0,0 +1,677 @@ +/* + * AppArmor security module + * + * This file contains AppArmor af_unix fine grained mediation + * + * Copyright 2018 Canonical Ltd. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 2 of the + * License. + */ + +#include + +#include "include/audit.h" +#include "include/af_unix.h" +#include "include/apparmor.h" +#include "include/file.h" +#include "include/label.h" +#include "include/path.h" +#include "include/policy.h" +#include "include/cred.h" + +static inline struct sock *aa_unix_sk(struct unix_sock *u) +{ + return &u->sk; +} + +static umode_t sock_i_mode(struct sock *sk) +{ + umode_t mode; + + read_lock_bh(&sk->sk_callback_lock); + mode = sk->sk_socket ? SOCK_INODE(sk->sk_socket)->i_mode : 0; + read_unlock_bh(&sk->sk_callback_lock); + return mode; +} + +static inline int unix_fs_perm(const char *op, u32 mask, struct aa_label *label, + struct unix_sock *u, int flags) +{ + AA_BUG(!label); + AA_BUG(!u); + AA_BUG(!UNIX_FS(aa_unix_sk(u))); + + if (unconfined(label) || !LABEL_MEDIATES(label, AA_CLASS_FILE)) + return 0; + + mask &= NET_FS_PERMS; + if (!u->path.dentry) { + struct path_cond cond = { + .uid = sock_i_uid(&u->sk), + .mode = sock_i_mode(&u->sk), + }; + struct aa_perms perms = { }; + struct aa_profile *profile; + + /* socket path has been cleared because it is being shutdown + * can only fall back to original sun_path request + */ + struct aa_sk_ctx *ctx = aa_sock(&u->sk); + if (ctx->path.dentry) + return aa_path_perm(op, label, &ctx->path, flags, mask, + &cond); + return fn_for_each_confined(label, profile, + ((flags | profile->path_flags) & PATH_MEDIATE_DELETED) ? + __aa_path_perm(op, profile, + u->addr->name->sun_path, mask, + &cond, flags, &perms) : + aa_audit_file(profile, &nullperms, op, mask, + u->addr->name->sun_path, NULL, + NULL, cond.uid, + "Failed name lookup - " + "deleted entry", -EACCES)); + } else { + /* the sunpath may not be valid for this ns so use the path */ + struct path_cond cond = { u->path.dentry->d_inode->i_uid, + u->path.dentry->d_inode->i_mode + }; + + return aa_path_perm(op, label, &u->path, flags, mask, &cond); + } + + return 0; +} + +/* passing in state returned by PROFILE_MEDIATES_AF */ +static unsigned int match_to_prot(struct aa_dfa *dfa, + unsigned int state, int type, int protocol, + const char **info) +{ + __be16 buffer[2]; + buffer[0] = cpu_to_be16(type); + buffer[1] = cpu_to_be16(protocol); + state = aa_dfa_match_len(dfa, state, (char *) &buffer, 4); + if (!state) + *info = "failed type and protocol match"; + return state; +} + +static unsigned int match_addr(struct aa_dfa *dfa, unsigned int state, + struct sockaddr_un *addr, int addrlen) +{ + if (addr) + /* include leading \0 */ + state = aa_dfa_match_len(dfa, state, addr->sun_path, + unix_addr_len(addrlen)); + else + /* anonymous end point */ + state = aa_dfa_match_len(dfa, state, "\x01", 1); + /* todo change to out of band */ + state = aa_dfa_null_transition(dfa, state); + return state; +} + +static unsigned int match_to_local(struct aa_dfa *dfa, + unsigned int state, int type, int protocol, + struct sockaddr_un *addr, int addrlen, + const char **info) +{ + state = match_to_prot(dfa, state, type, protocol, info); + if (state) { + state = match_addr(dfa, state, addr, addrlen); + if (state) { + /* todo: local label matching */ + state = aa_dfa_null_transition(dfa, state); + if (!state) + *info = "failed local label match"; + } else + *info = "failed local address match"; + } + + return state; +} + +static unsigned int match_to_sk(struct aa_dfa *dfa, + unsigned int state, struct unix_sock *u, + const char **info) +{ + struct sockaddr_un *addr = NULL; + int addrlen = 0; + + if (u->addr) { + addr = u->addr->name; + addrlen = u->addr->len; + } + + return match_to_local(dfa, state, u->sk.sk_type, u->sk.sk_protocol, + addr, addrlen, info); +} + +#define CMD_ADDR 1 +#define CMD_LISTEN 2 +#define CMD_OPT 4 + +static inline unsigned int match_to_cmd(struct aa_dfa *dfa, + unsigned int state, struct unix_sock *u, + char cmd, const char **info) +{ + state = match_to_sk(dfa, state, u, info); + if (state) { + state = aa_dfa_match_len(dfa, state, &cmd, 1); + if (!state) + *info = "failed cmd selection match"; + } + + return state; +} + +static inline unsigned int match_to_peer(struct aa_dfa *dfa, + unsigned int state, + struct unix_sock *u, + struct sockaddr_un *peer_addr, + int peer_addrlen, + const char **info) +{ + state = match_to_cmd(dfa, state, u, CMD_ADDR, info); + if (state) { + state = match_addr(dfa, state, peer_addr, peer_addrlen); + if (!state) + *info = "failed peer address match"; + } + return state; +} + +static int do_perms(struct aa_profile *profile, struct aa_ruleset *rule, + unsigned int state, u32 request, + struct common_audit_data *sa) +{ + struct aa_perms perms; + + AA_BUG(!profile); + + perms = *aa_lookup_perms(&rule->policy, state); + aa_apply_modes_to_perms(profile, &perms); + return aa_check_perms(profile, &perms, request, sa, + audit_net_cb); +} + +static int match_label(struct aa_profile *profile, struct aa_ruleset *rule, + struct aa_profile *peer, unsigned int state, u32 request, + struct common_audit_data *sa) +{ + AA_BUG(!profile); + AA_BUG(!peer); + + aad(sa)->peer = &peer->label; + + if (state) { + state = aa_dfa_match(rule->policy.dfa, state, + peer->base.hname); + if (!state) + aad(sa)->info = "failed peer label match"; + } + return do_perms(profile, rule, state, request, sa); +} + + +/* unix sock creation comes before we know if the socket will be an fs + * socket + * v6 - semantics are handled by mapping in profile load + * v7 - semantics require sock create for tasks creating an fs socket. + */ +static int profile_create_perm(struct aa_profile *profile, int family, + int type, int protocol) +{ + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); + aa_state_t state; + DEFINE_AUDIT_NET(sa, OP_CREATE, NULL, family, type, protocol); + + AA_BUG(!profile); + AA_BUG(profile_unconfined(profile)); + + if ((state = RULE_MEDIATES_AF(rules, AF_UNIX))) { + state = match_to_prot(rules->policy.dfa, state, type, protocol, + &aad(&sa)->info); + return do_perms(profile, rules, state, AA_MAY_CREATE, &sa); + } + + return aa_profile_af_perm(profile, &sa, AA_MAY_CREATE, family, type); +} + +int aa_unix_create_perm(struct aa_label *label, int family, int type, + int protocol) +{ + struct aa_profile *profile; + + if (unconfined(label)) + return 0; + + return fn_for_each_confined(label, profile, + profile_create_perm(profile, family, type, protocol)); +} + + +static inline int profile_sk_perm(struct aa_profile *profile, const char *op, + u32 request, struct sock *sk) +{ + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), + list); + unsigned int state; + DEFINE_AUDIT_SK(sa, op, sk); + + AA_BUG(!profile); + AA_BUG(!sk); + AA_BUG(UNIX_FS(sk)); + AA_BUG(profile_unconfined(profile)); + + state = RULE_MEDIATES_AF(rules, AF_UNIX); + if (state) { + state = match_to_sk(rules->policy.dfa, state, unix_sk(sk), + &aad(&sa)->info); + return do_perms(profile, rules, state, request, &sa); + } + + return aa_profile_af_sk_perm(profile, &sa, request, sk); +} + +int aa_unix_label_sk_perm(struct aa_label *label, const char *op, u32 request, + struct sock *sk) +{ + struct aa_profile *profile; + + return fn_for_each_confined(label, profile, + profile_sk_perm(profile, op, request, sk)); +} + +static int unix_label_sock_perm(struct aa_label *label, const char *op, u32 request, + struct socket *sock) +{ + if (unconfined(label)) + return 0; + if (UNIX_FS(sock->sk)) + return unix_fs_perm(op, request, label, unix_sk(sock->sk), 0); + + return aa_unix_label_sk_perm(label, op, request, sock->sk); +} + +/* revaliation, get/set attr */ +int aa_unix_sock_perm(const char *op, u32 request, struct socket *sock) +{ + struct aa_label *label; + int error; + + label = begin_current_label_crit_section(); + error = unix_label_sock_perm(label, op, request, sock); + end_current_label_crit_section(label); + + return error; +} + +static int profile_bind_perm(struct aa_profile *profile, struct sock *sk, + struct sockaddr *addr, int addrlen) +{ + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); + unsigned int state; + DEFINE_AUDIT_SK(sa, OP_BIND, sk); + + AA_BUG(!profile); + AA_BUG(!sk); + AA_BUG(addr->sa_family != AF_UNIX); + AA_BUG(profile_unconfined(profile)); + AA_BUG(unix_addr_fs(addr, addrlen)); + + state = RULE_MEDIATES_AF(rules, AF_UNIX); + if (state) { + /* bind for abstract socket */ + aad(&sa)->net.addr = unix_addr(addr); + aad(&sa)->net.addrlen = addrlen; + + state = match_to_local(rules->policy.dfa, state, + sk->sk_type, sk->sk_protocol, + unix_addr(addr), addrlen, + &aad(&sa)->info); + return do_perms(profile, rules, state, AA_MAY_BIND, &sa); + } + + return aa_profile_af_sk_perm(profile, &sa, AA_MAY_BIND, sk); +} + +int aa_unix_bind_perm(struct socket *sock, struct sockaddr *address, + int addrlen) +{ + struct aa_profile *profile; + struct aa_label *label; + int error = 0; + + label = begin_current_label_crit_section(); + /* fs bind is handled by mknod */ + if (!(unconfined(label) || unix_addr_fs(address, addrlen))) + error = fn_for_each_confined(label, profile, + profile_bind_perm(profile, sock->sk, address, + addrlen)); + end_current_label_crit_section(label); + + return error; +} + +int aa_unix_connect_perm(struct socket *sock, struct sockaddr *address, + int addrlen) +{ + /* unix connections are covered by the + * - unix_stream_connect (stream) and unix_may_send hooks (dgram) + * - fs connect is handled by open + */ + return 0; +} + +static int profile_listen_perm(struct aa_profile *profile, struct sock *sk, + int backlog) +{ + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); + unsigned int state; + DEFINE_AUDIT_SK(sa, OP_LISTEN, sk); + + AA_BUG(!profile); + AA_BUG(!sk); + AA_BUG(UNIX_FS(sk)); + AA_BUG(profile_unconfined(profile)); + + state = RULE_MEDIATES_AF(rules, AF_UNIX); + if (state) { + __be16 b = cpu_to_be16(backlog); + + state = match_to_cmd(rules->policy.dfa, state, unix_sk(sk), + CMD_LISTEN, &aad(&sa)->info); + if (state) { + state = aa_dfa_match_len(rules->policy.dfa, state, + (char *) &b, 2); + if (!state) + aad(&sa)->info = "failed listen backlog match"; + } + return do_perms(profile, rules, state, AA_MAY_LISTEN, &sa); + } + + return aa_profile_af_sk_perm(profile, &sa, AA_MAY_LISTEN, sk); +} + +int aa_unix_listen_perm(struct socket *sock, int backlog) +{ + struct aa_profile *profile; + struct aa_label *label; + int error = 0; + + label = begin_current_label_crit_section(); + if (!(unconfined(label) || UNIX_FS(sock->sk))) + error = fn_for_each_confined(label, profile, + profile_listen_perm(profile, sock->sk, + backlog)); + end_current_label_crit_section(label); + + return error; +} + + +static inline int profile_accept_perm(struct aa_profile *profile, + struct sock *sk, + struct sock *newsk) +{ + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); + unsigned int state; + DEFINE_AUDIT_SK(sa, OP_ACCEPT, sk); + + AA_BUG(!profile); + AA_BUG(!sk); + AA_BUG(UNIX_FS(sk)); + AA_BUG(profile_unconfined(profile)); + + state = RULE_MEDIATES_AF(rules, AF_UNIX); + if (state) { + state = match_to_sk(rules->policy.dfa, state, unix_sk(sk), + &aad(&sa)->info); + return do_perms(profile, rules, state, AA_MAY_ACCEPT, &sa); + } + + return aa_profile_af_sk_perm(profile, &sa, AA_MAY_ACCEPT, sk); +} + +/* ability of sock to connect, not peer address binding */ +int aa_unix_accept_perm(struct socket *sock, struct socket *newsock) +{ + struct aa_profile *profile; + struct aa_label *label; + int error = 0; + + label = begin_current_label_crit_section(); + if (!(unconfined(label) || UNIX_FS(sock->sk))) + error = fn_for_each_confined(label, profile, + profile_accept_perm(profile, sock->sk, + newsock->sk)); + end_current_label_crit_section(label); + + return error; +} + + +/* dgram handled by unix_may_sendmsg, right to send on stream done at connect + * could do per msg unix_stream here + */ +/* sendmsg, recvmsg */ +int aa_unix_msg_perm(const char *op, u32 request, struct socket *sock, + struct msghdr *msg, int size) +{ + return 0; +} + + +static int profile_opt_perm(struct aa_profile *profile, const char *op, u32 request, + struct sock *sk, int level, int optname) +{ + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); + unsigned int state; + DEFINE_AUDIT_SK(sa, op, sk); + + AA_BUG(!profile); + AA_BUG(!sk); + AA_BUG(UNIX_FS(sk)); + AA_BUG(profile_unconfined(profile)); + + state = RULE_MEDIATES_AF(rules, AF_UNIX); + if (state) { + __be16 b = cpu_to_be16(optname); + + state = match_to_cmd(rules->policy.dfa, state, unix_sk(sk), + CMD_OPT, &aad(&sa)->info); + if (state) { + state = aa_dfa_match_len(rules->policy.dfa, state, + (char *) &b, 2); + if (!state) + aad(&sa)->info = "failed sockopt match"; + } + return do_perms(profile, rules, state, request, &sa); + } + + return aa_profile_af_sk_perm(profile, &sa, request, sk); +} + +int aa_unix_opt_perm(const char *op, u32 request, struct socket *sock, int level, + int optname) +{ + struct aa_profile *profile; + struct aa_label *label; + int error = 0; + + label = begin_current_label_crit_section(); + if (!(unconfined(label) || UNIX_FS(sock->sk))) + error = fn_for_each_confined(label, profile, + profile_opt_perm(profile, op, request, + sock->sk, level, optname)); + end_current_label_crit_section(label); + + return error; +} + +/* null peer_label is allowed, in which case the peer_sk label is used */ +static int profile_peer_perm(struct aa_profile *profile, const char *op, u32 request, + struct sock *sk, struct sock *peer_sk, + struct aa_label *peer_label, + struct common_audit_data *sa) +{ + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); + unsigned int state; + + AA_BUG(!profile); + AA_BUG(profile_unconfined(profile)); + AA_BUG(!sk); + AA_BUG(!peer_sk); + AA_BUG(UNIX_FS(peer_sk)); + + state = RULE_MEDIATES_AF(rules, AF_UNIX); + if (state) { + struct aa_sk_ctx *peer_ctx = aa_sock(peer_sk); + struct aa_profile *peerp; + struct sockaddr_un *addr = NULL; + int len = 0; + if (unix_sk(peer_sk)->addr) { + addr = unix_sk(peer_sk)->addr->name; + len = unix_sk(peer_sk)->addr->len; + } + state = match_to_peer(rules->policy.dfa, state, unix_sk(sk), + addr, len, &aad(sa)->info); + if (!peer_label) + peer_label = peer_ctx->label; + return fn_for_each_in_ns(peer_label, peerp, + match_label(profile, rules, peerp, state, + request, sa)); + } + + return aa_profile_af_sk_perm(profile, sa, request, sk); +} + +/** + * + * Requires: lock held on both @sk and @peer_sk + */ +int aa_unix_peer_perm(struct aa_label *label, const char *op, u32 request, + struct sock *sk, struct sock *peer_sk, + struct aa_label *peer_label) +{ + struct unix_sock *peeru = unix_sk(peer_sk); + struct unix_sock *u = unix_sk(sk); + + AA_BUG(!label); + AA_BUG(!sk); + AA_BUG(!peer_sk); + + if (UNIX_FS(aa_unix_sk(peeru))) + return unix_fs_perm(op, request, label, peeru, 0); + else if (UNIX_FS(aa_unix_sk(u))) + return unix_fs_perm(op, request, label, u, 0); + else { + struct aa_profile *profile; + DEFINE_AUDIT_SK(sa, op, sk); + aad(&sa)->net.peer_sk = peer_sk; + + /* TODO: ns!!! */ + if (!net_eq(sock_net(sk), sock_net(peer_sk))) { + ; + } + + if (unconfined(label)) + return 0; + + return fn_for_each_confined(label, profile, + profile_peer_perm(profile, op, request, sk, + peer_sk, peer_label, &sa)); + } +} + + +/* from net/unix/af_unix.c */ +static void unix_state_double_lock(struct sock *sk1, struct sock *sk2) +{ + if (unlikely(sk1 == sk2) || !sk2) { + unix_state_lock(sk1); + return; + } + if (sk1 < sk2) { + unix_state_lock(sk1); + unix_state_lock_nested(sk2); + } else { + unix_state_lock(sk2); + unix_state_lock_nested(sk1); + } +} + +static void unix_state_double_unlock(struct sock *sk1, struct sock *sk2) +{ + if (unlikely(sk1 == sk2) || !sk2) { + unix_state_unlock(sk1); + return; + } + unix_state_unlock(sk1); + unix_state_unlock(sk2); +} + +int aa_unix_file_perm(struct aa_label *label, const char *op, u32 request, + struct socket *sock) +{ + struct sock *peer_sk = NULL; + u32 sk_req = request & ~NET_PEER_MASK; + int error = 0; + + AA_BUG(!label); + AA_BUG(!sock); + AA_BUG(!sock->sk); + AA_BUG(sock->sk->sk_family != AF_UNIX); + + /* TODO: update sock label with new task label */ + unix_state_lock(sock->sk); + peer_sk = unix_peer(sock->sk); + if (peer_sk) + sock_hold(peer_sk); + if (!unix_connected(sock) && sk_req) { + error = unix_label_sock_perm(label, op, sk_req, sock); + if (!error) { + // update label + } + } + unix_state_unlock(sock->sk); + if (!peer_sk) + return error; + + unix_state_double_lock(sock->sk, peer_sk); + if (UNIX_FS(sock->sk)) { + error = unix_fs_perm(op, request, label, unix_sk(sock->sk), + PATH_SOCK_COND); + } else if (UNIX_FS(peer_sk)) { + error = unix_fs_perm(op, request, label, unix_sk(peer_sk), + PATH_SOCK_COND); + } else { + struct aa_sk_ctx *pctx = aa_sock(peer_sk); + if (sk_req) + error = aa_unix_label_sk_perm(label, op, sk_req, + sock->sk); + last_error(error, + xcheck(aa_unix_peer_perm(label, op, + MAY_READ | MAY_WRITE, + sock->sk, peer_sk, NULL), + aa_unix_peer_perm(pctx->label, op, + MAY_READ | MAY_WRITE, + peer_sk, sock->sk, label))); + } + + unix_state_double_unlock(sock->sk, peer_sk); + sock_put(peer_sk); + + return error; +} --- linux-gcp-5.19.0.orig/security/apparmor/apparmorfs.c +++ linux-gcp-5.19.0/security/apparmor/apparmorfs.c @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include @@ -36,6 +36,7 @@ #include "include/policy_ns.h" #include "include/resource.h" #include "include/policy_unpack.h" +#include "include/task.h" /* * The apparmor filesystem interface used for policy load and introspection @@ -70,6 +71,7 @@ struct aa_loaddata *loaddata; }; +#ifdef CONFIG_SECURITY_APPARMOR_EXPORT_BINARY #define RAWDATA_F_DATA_BUF(p) (char *)(p + 1) static void rawdata_f_data_free(struct rawdata_f_data *private) @@ -94,9 +96,10 @@ return ret; } +#endif /** - * aa_mangle_name - mangle a profile name to std profile layout form + * mangle_name - mangle a profile name to std profile layout form * @name: profile name to mangle (NOT NULL) * @target: buffer to store mangled name, same length as @name (MAYBE NULL) * @@ -401,7 +404,7 @@ data->size = copy_size; if (copy_from_user(data->data, userbuf, copy_size)) { - kvfree(data); + aa_put_loaddata(data); return ERR_PTR(-EFAULT); } @@ -608,29 +611,30 @@ static void profile_query_cb(struct aa_profile *profile, struct aa_perms *perms, const char *match_str, size_t match_len) { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); struct aa_perms tmp = { }; - struct aa_dfa *dfa; - unsigned int state = 0; + aa_state_t state = DFA_NOMATCH; if (profile_unconfined(profile)) return; - if (profile->file.dfa && *match_str == AA_CLASS_FILE) { - dfa = profile->file.dfa; - state = aa_dfa_match_len(dfa, profile->file.start, + if (rules->file.dfa && *match_str == AA_CLASS_FILE) { + state = aa_dfa_match_len(rules->file.dfa, + rules->file.start[AA_CLASS_FILE], match_str + 1, match_len - 1); if (state) { struct path_cond cond = { }; - tmp = aa_compute_fperms(dfa, state, &cond); + tmp = *(aa_lookup_fperms(&(rules->file), state, &cond)); } - } else if (profile->policy.dfa) { - if (!PROFILE_MEDIATES(profile, *match_str)) + } else if (rules->policy.dfa) { + if (!RULE_MEDIATES(rules, *match_str)) return; /* no change to current perms */ - dfa = profile->policy.dfa; - state = aa_dfa_match_len(dfa, profile->policy.start[0], + state = aa_dfa_match_len(rules->policy.dfa, + rules->policy.start[0], match_str, match_len); if (state) - aa_compute_perms(dfa, state, &tmp); + tmp = *aa_lookup_perms(&rules->policy, state); } aa_apply_modes_to_perms(profile, &tmp); aa_perms_accum_raw(perms, &tmp); @@ -865,8 +869,10 @@ if (!t) return ERR_PTR(-ENOMEM); kref_init(&t->count); - if (copy_from_user(t->data, buf, size)) + if (copy_from_user(t->data, buf, size)) { + put_multi_transaction(t); return ERR_PTR(-EFAULT); + } return t; } @@ -1087,9 +1093,9 @@ struct aa_proxy *proxy = seq->private; struct aa_label *label = aa_get_label_rcu(&proxy->label); struct aa_profile *profile = labels_profile(label); - if (profile->attach) - seq_printf(seq, "%s\n", profile->attach); - else if (profile->xmatch) + if (profile->attach.xmatch_str) + seq_printf(seq, "%s\n", profile->attach.xmatch_str); + else if (profile->attach.xmatch.dfa) seq_puts(seq, "\n"); else seq_printf(seq, "%s\n", profile->base.name); @@ -1194,14 +1200,28 @@ return 0; } +static int seq_ns_compress_min_show(struct seq_file *seq, void *v) +{ + seq_printf(seq, "%d\n", zstd_min_clevel()); + return 0; +} + +static int seq_ns_compress_max_show(struct seq_file *seq, void *v) +{ + seq_printf(seq, "%d\n", zstd_max_clevel()); + return 0; +} + SEQ_NS_FOPS(stacked); SEQ_NS_FOPS(nsstacked); SEQ_NS_FOPS(level); SEQ_NS_FOPS(name); +SEQ_NS_FOPS(compress_min); +SEQ_NS_FOPS(compress_max); /* policy/raw_data/ * file ops */ - +#ifdef CONFIG_SECURITY_APPARMOR_EXPORT_BINARY #define SEQ_RAWDATA_FOPS(NAME) \ static int seq_rawdata_ ##NAME ##_open(struct inode *inode, struct file *file)\ { \ @@ -1292,46 +1312,41 @@ SEQ_RAWDATA_FOPS(hash); SEQ_RAWDATA_FOPS(compressed_size); -static int deflate_decompress(char *src, size_t slen, char *dst, size_t dlen) +static int decompress_zstd(char *src, size_t slen, char *dst, size_t dlen) { - int error; - struct z_stream_s strm; - +#ifdef CONFIG_SECURITY_APPARMOR_EXPORT_BINARY if (aa_g_rawdata_compression_level == 0) { - if (dlen < slen) - return -EINVAL; - memcpy(dst, src, slen); - return 0; - } - - memset(&strm, 0, sizeof(strm)); - - strm.workspace = kvzalloc(zlib_inflate_workspacesize(), GFP_KERNEL); - if (!strm.workspace) - return -ENOMEM; - - strm.next_in = src; - strm.avail_in = slen; - - error = zlib_inflateInit(&strm); - if (error != Z_OK) { - error = -ENOMEM; - goto fail_inflate_init; + const size_t wksp_len = zstd_dctx_workspace_bound(); + zstd_dctx *ctx; + void *wksp; + size_t out_len; + int ret = 0; + + wksp = kvzalloc(wksp_len, GFP_KERNEL); + if (!wksp) { + ret = -ENOMEM; + goto cleanup; + } + ctx = zstd_init_dctx(wksp, wksp_len); + if (ctx == NULL) { + ret = -ENOMEM; + goto cleanup; + } + out_len = zstd_decompress_dctx(ctx, dst, dlen, src, slen); + if (zstd_is_error(out_len)) { + ret = -EINVAL; + goto cleanup; + } +cleanup: + kvfree(wksp); + return ret; } +#endif - strm.next_out = dst; - strm.avail_out = dlen; - - error = zlib_inflate(&strm, Z_FINISH); - if (error != Z_STREAM_END) - error = -EINVAL; - else - error = 0; - - zlib_inflateEnd(&strm); -fail_inflate_init: - kvfree(strm.workspace); - return error; + if (dlen < slen) + return -EINVAL; + memcpy(dst, src, slen); + return 0; } static ssize_t rawdata_read(struct file *file, char __user *buf, size_t size, @@ -1373,9 +1388,9 @@ private->loaddata = loaddata; - error = deflate_decompress(loaddata->data, loaddata->compressed_size, - RAWDATA_F_DATA_BUF(private), - loaddata->size); + error = decompress_zstd(loaddata->data, loaddata->compressed_size, + RAWDATA_F_DATA_BUF(private), + loaddata->size); if (error) goto fail_decompress; @@ -1492,10 +1507,12 @@ return PTR_ERR(dent); } +#endif /* CONFIG_SECURITY_APPARMOR_EXPORT_BINARY */ + /** fns to setup dynamic per profile/namespace files **/ -/** +/* * * Requires: @profile->ns->lock held */ @@ -1522,7 +1539,7 @@ } } -/** +/* * * Requires: @old->ns->lock held */ @@ -1557,6 +1574,7 @@ return dent; } +#ifdef CONFIG_SECURITY_APPARMOR_EXPORT_BINARY static int profile_depth(struct aa_profile *profile) { int depth = 0; @@ -1658,7 +1676,7 @@ static const struct inode_operations rawdata_link_data_iops = { .get_link = rawdata_get_link_data, }; - +#endif /* CONFIG_SECURITY_APPARMOR_EXPORT_BINARY */ /* * Requires: @profile->ns->lock held @@ -1729,15 +1747,17 @@ profile->dents[AAFS_PROF_HASH] = dent; } +#ifdef CONFIG_SECURITY_APPARMOR_EXPORT_BINARY if (profile->rawdata) { - dent = aafs_create("raw_sha1", S_IFLNK | 0444, dir, - profile->label.proxy, NULL, NULL, - &rawdata_link_sha1_iops); - if (IS_ERR(dent)) - goto fail; - aa_get_proxy(profile->label.proxy); - profile->dents[AAFS_PROF_RAW_HASH] = dent; - + if (aa_g_hash_policy) { + dent = aafs_create("raw_sha1", S_IFLNK | 0444, dir, + profile->label.proxy, NULL, NULL, + &rawdata_link_sha1_iops); + if (IS_ERR(dent)) + goto fail; + aa_get_proxy(profile->label.proxy); + profile->dents[AAFS_PROF_RAW_HASH] = dent; + } dent = aafs_create("raw_abi", S_IFLNK | 0444, dir, profile->label.proxy, NULL, NULL, &rawdata_link_abi_iops); @@ -1754,6 +1774,7 @@ aa_get_proxy(profile->label.proxy); profile->dents[AAFS_PROF_RAW_DATA] = dent; } +#endif /*CONFIG_SECURITY_APPARMOR_EXPORT_BINARY */ list_for_each_entry(child, &profile->base.profiles, base.list) { error = __aafs_profile_mkdir(child, prof_child_dir(profile)); @@ -1880,7 +1901,7 @@ __aa_fs_remove_rawdata(ent); } -/** +/* * * Requires: @ns->lock held */ @@ -2290,6 +2311,12 @@ { } }; +static struct aa_sfs_entry aa_sfs_entry_ipc[] = { + AA_SFS_FILE_STRING("posix_mqueue", + "create read write open delete setattr getattr"), + { } +}; + static struct aa_sfs_entry aa_sfs_entry_ptrace[] = { AA_SFS_FILE_STRING("mask", "read trace"), { } @@ -2323,6 +2350,7 @@ AA_SFS_FILE_BOOLEAN("v6", 1), AA_SFS_FILE_BOOLEAN("v7", 1), AA_SFS_FILE_BOOLEAN("v8", 1), + AA_SFS_FILE_BOOLEAN("v9", 1), { } }; @@ -2342,6 +2370,12 @@ static struct aa_sfs_entry aa_sfs_entry_ns[] = { AA_SFS_FILE_BOOLEAN("profile", 1), AA_SFS_FILE_BOOLEAN("pivot_root", 0), + AA_SFS_FILE_STRING("mask", "userns_create"), + { } +}; + +static struct aa_sfs_entry aa_sfs_entry_dbus[] = { + AA_SFS_FILE_STRING("mask", "acquire send receive"), { } }; @@ -2360,7 +2394,9 @@ AA_SFS_DIR("policy", aa_sfs_entry_policy), AA_SFS_DIR("domain", aa_sfs_entry_domain), AA_SFS_DIR("file", aa_sfs_entry_file), + AA_SFS_DIR("ipc", aa_sfs_entry_ipc), AA_SFS_DIR("network_v8", aa_sfs_entry_network), + AA_SFS_DIR("network", aa_sfs_entry_network_compat), AA_SFS_DIR("mount", aa_sfs_entry_mount), AA_SFS_DIR("namespaces", aa_sfs_entry_ns), AA_SFS_FILE_U64("capability", VFS_CAP_FLAGS_MASK), @@ -2368,6 +2404,7 @@ AA_SFS_DIR("caps", aa_sfs_entry_caps), AA_SFS_DIR("ptrace", aa_sfs_entry_ptrace), AA_SFS_DIR("signal", aa_sfs_entry_signal), + AA_SFS_DIR("dbus", aa_sfs_entry_dbus), AA_SFS_DIR("query", aa_sfs_entry_query), { } }; @@ -2379,6 +2416,8 @@ AA_SFS_FILE_FOPS(".ns_level", 0444, &seq_ns_level_fops), AA_SFS_FILE_FOPS(".ns_name", 0444, &seq_ns_name_fops), AA_SFS_FILE_FOPS("profiles", 0444, &aa_sfs_profiles_fops), + AA_SFS_FILE_FOPS("raw_data_compression_level_min", 0444, &seq_ns_compress_min_fops), + AA_SFS_FILE_FOPS("raw_data_compression_level_max", 0444, &seq_ns_compress_max_fops), AA_SFS_DIR("features", aa_sfs_entry_features), { } }; --- linux-gcp-5.19.0.orig/security/apparmor/audit.c +++ linux-gcp-5.19.0/security/apparmor/audit.c @@ -36,6 +36,43 @@ "AUTO" }; +static const char *const aa_class_names[] = { + "none", + "unknown", + "file", + "cap", + "net", + "rlimits", + "domain", + "mount", + "unknown", + "ptrace", + "signal", + "xmatch", + "unknown", + "unknown", + "net", + "unknown", + "label", + "posix_mqueue", + "io_uring", + "module", + "lsm", + "namespace", + "unknown", + "unknown", + "unknown", + "unknown", + "unknown", + "unknown", + "unknown", + "unknown", + "unknown", + "X", + "dbus", +}; + + /* * Currently AppArmor auditing is fed straight into the audit framework. * @@ -65,6 +102,12 @@ audit_log_format(ab, " operation=\"%s\"", aad(sa)->op); } + if (aad(sa)->class) + audit_log_format(ab, " class=\"%s\"", + aad(sa)->class <= AA_CLASS_LAST ? + aa_class_names[aad(sa)->class] : + "unknown"); + if (aad(sa)->info) { audit_log_format(ab, " info=\"%s\"", aad(sa)->info); if (aad(sa)->error) @@ -137,7 +180,7 @@ } if (AUDIT_MODE(profile) == AUDIT_QUIET || (type == AUDIT_APPARMOR_DENIED && - AUDIT_MODE(profile) == AUDIT_QUIET)) + AUDIT_MODE(profile) == AUDIT_QUIET_DENIED)) return aad(sa)->error; if (KILL_MODE(profile) && type == AUDIT_APPARMOR_DENIED) --- linux-gcp-5.19.0.orig/security/apparmor/capability.c +++ linux-gcp-5.19.0/security/apparmor/capability.c @@ -64,6 +64,8 @@ static int audit_caps(struct common_audit_data *sa, struct aa_profile *profile, int cap, int error) { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); struct audit_cache *ent; int type = AUDIT_APPARMOR_AUTO; @@ -72,13 +74,13 @@ if (likely(!error)) { /* test if auditing is being forced */ if (likely((AUDIT_MODE(profile) != AUDIT_ALL) && - !cap_raised(profile->caps.audit, cap))) + !cap_raised(rules->caps.audit, cap))) return 0; type = AUDIT_APPARMOR_AUDIT; } else if (KILL_MODE(profile) || - cap_raised(profile->caps.kill, cap)) { + cap_raised(rules->caps.kill, cap)) { type = AUDIT_APPARMOR_KILL; - } else if (cap_raised(profile->caps.quiet, cap) && + } else if (cap_raised(rules->caps.quiet, cap) && AUDIT_MODE(profile) != AUDIT_NOQUIET && AUDIT_MODE(profile) != AUDIT_ALL) { /* quiet auditing */ @@ -114,10 +116,12 @@ static int profile_capable(struct aa_profile *profile, int cap, unsigned int opts, struct common_audit_data *sa) { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); int error; - if (cap_raised(profile->caps.allow, cap) && - !cap_raised(profile->caps.denied, cap)) + if (cap_raised(rules->caps.allow, cap) && + !cap_raised(rules->caps.denied, cap)) error = 0; else error = -EPERM; @@ -148,7 +152,7 @@ { struct aa_profile *profile; int error = 0; - DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_CAP, OP_CAPABLE); + DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_CAP, AA_CLASS_CAP, OP_CAPABLE); sa.u.cap = cap; error = fn_for_each_confined(label, profile, --- linux-gcp-5.19.0.orig/security/apparmor/crypto.c +++ linux-gcp-5.19.0/security/apparmor/crypto.c @@ -25,6 +25,25 @@ return apparmor_hash_size; } +void aa_snprint_hashstr(char *out, unsigned char *hash, unsigned int hsize) +{ + unsigned int i; + + for (i = 0; i < hsize; i++) + sprintf(out + i*2, "%.2x", hash[i]); + out[hsize*2] = 0; +} + +char *aa_asprint_hashstr(unsigned char *hash, unsigned int hsize, gfp_t gfp) +{ + char *buffer = kmalloc(hsize*2 + 1, gfp); + if (!buffer) + return NULL; + aa_snprint_hashstr(buffer, hash, hsize); + + return buffer; +} + char *aa_calc_hash(void *data, size_t len) { SHASH_DESC_ON_STACK(desc, apparmor_tfm); --- linux-gcp-5.19.0.orig/security/apparmor/domain.c +++ linux-gcp-5.19.0/security/apparmor/domain.c @@ -30,24 +30,6 @@ #include "include/policy_ns.h" /** - * aa_free_domain_entries - free entries in a domain table - * @domain: the domain table to free (MAYBE NULL) - */ -void aa_free_domain_entries(struct aa_domain *domain) -{ - int i; - if (domain) { - if (!domain->table) - return; - - for (i = 0; i < domain->size; i++) - kfree_sensitive(domain->table[i]); - kfree_sensitive(domain->table); - domain->table = NULL; - } -} - -/** * may_change_ptraced_domain - check if can change profile on ptraced task * @to_label: profile to change to (NOT NULL) * @info: message if there is an error @@ -95,23 +77,25 @@ * If a subns profile is not to be matched should be prescreened with * visibility test. */ -static inline unsigned int match_component(struct aa_profile *profile, - struct aa_profile *tp, - bool stack, unsigned int state) +static inline aa_state_t match_component(struct aa_profile *profile, + struct aa_profile *tp, + bool stack, aa_state_t state) { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); const char *ns_name; if (stack) - state = aa_dfa_match(profile->file.dfa, state, "&"); + state = aa_dfa_match(rules->file.dfa, state, "&"); if (profile->ns == tp->ns) - return aa_dfa_match(profile->file.dfa, state, tp->base.hname); + return aa_dfa_match(rules->file.dfa, state, tp->base.hname); /* try matching with namespace name and then profile */ ns_name = aa_ns_name(profile->ns, tp->ns, true); - state = aa_dfa_match_len(profile->file.dfa, state, ":", 1); - state = aa_dfa_match(profile->file.dfa, state, ns_name); - state = aa_dfa_match_len(profile->file.dfa, state, ":", 1); - return aa_dfa_match(profile->file.dfa, state, tp->base.hname); + state = aa_dfa_match_len(rules->file.dfa, state, ":", 1); + state = aa_dfa_match(rules->file.dfa, state, ns_name); + state = aa_dfa_match_len(rules->file.dfa, state, ":", 1); + return aa_dfa_match(rules->file.dfa, state, tp->base.hname); } /** @@ -119,7 +103,7 @@ * @profile: profile to find perms for * @label: label to check access permissions for * @stack: whether this is a stacking request - * @start: state to start match in + * @state: state to start match in * @subns: whether to do permission checks on components in a subns * @request: permissions to request * @perms: perms struct to set @@ -132,9 +116,11 @@ */ static int label_compound_match(struct aa_profile *profile, struct aa_label *label, bool stack, - unsigned int state, bool subns, u32 request, + aa_state_t state, bool subns, u32 request, struct aa_perms *perms) { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); struct aa_profile *tp; struct label_it i; struct path_cond cond = { }; @@ -157,12 +143,12 @@ label_for_each_cont(i, label, tp) { if (!aa_ns_visible(profile->ns, tp->ns, subns)) continue; - state = aa_dfa_match(profile->file.dfa, state, "//&"); + state = aa_dfa_match(rules->file.dfa, state, "//&"); state = match_component(profile, tp, false, state); if (!state) goto fail; } - *perms = aa_compute_fperms(profile->file.dfa, state, &cond); + *perms = *(aa_lookup_fperms(&(rules->file), state, &cond)); aa_apply_modes_to_perms(profile, perms); if ((perms->allow & request) != request) return -EACCES; @@ -192,14 +178,16 @@ */ static int label_components_match(struct aa_profile *profile, struct aa_label *label, bool stack, - unsigned int start, bool subns, u32 request, + aa_state_t start, bool subns, u32 request, struct aa_perms *perms) { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); struct aa_profile *tp; struct label_it i; struct aa_perms tmp; struct path_cond cond = { }; - unsigned int state = 0; + aa_state_t state = 0; /* find first subcomponent to test */ label_for_each(i, label, tp) { @@ -215,7 +203,7 @@ return 0; next: - tmp = aa_compute_fperms(profile->file.dfa, state, &cond); + tmp = *(aa_lookup_fperms(&(rules->file), state, &cond)); aa_apply_modes_to_perms(profile, &tmp); aa_perms_accum(perms, &tmp); label_for_each_cont(i, label, tp) { @@ -224,7 +212,7 @@ state = match_component(profile, tp, stack, start); if (!state) goto fail; - tmp = aa_compute_fperms(profile->file.dfa, state, &cond); + tmp = *(aa_lookup_fperms(&(rules->file), state, &cond)); aa_apply_modes_to_perms(profile, &tmp); aa_perms_accum(perms, &tmp); } @@ -252,7 +240,7 @@ * Returns: the state the match finished in, may be the none matching state */ static int label_match(struct aa_profile *profile, struct aa_label *label, - bool stack, unsigned int state, bool subns, u32 request, + bool stack, aa_state_t state, bool subns, u32 request, struct aa_perms *perms) { int error; @@ -286,7 +274,7 @@ */ static int change_profile_perms(struct aa_profile *profile, struct aa_label *target, bool stack, - u32 request, unsigned int start, + u32 request, aa_state_t start, struct aa_perms *perms) { if (profile_unconfined(profile)) { @@ -308,45 +296,48 @@ * Returns: number of extended attributes that matched, or < 0 on error */ static int aa_xattrs_match(const struct linux_binprm *bprm, - struct aa_profile *profile, unsigned int state) + struct aa_profile *profile, aa_state_t state) { int i; ssize_t size; struct dentry *d; char *value = NULL; - int value_size = 0, ret = profile->xattr_count; + struct aa_attachment *attach = &profile->attach; + int value_size = 0, ret = attach->xattr_count; - if (!bprm || !profile->xattr_count) + if (!bprm || !attach->xattr_count) return 0; might_sleep(); /* transition from exec match to xattr set */ - state = aa_dfa_outofband_transition(profile->xmatch, state); + state = aa_dfa_outofband_transition(attach->xmatch.dfa, state); d = bprm->file->f_path.dentry; - for (i = 0; i < profile->xattr_count; i++) { - size = vfs_getxattr_alloc(&init_user_ns, d, profile->xattrs[i], + for (i = 0; i < attach->xattr_count; i++) { + size = vfs_getxattr_alloc(&init_user_ns, d, attach->xattrs[i], &value, value_size, GFP_KERNEL); if (size >= 0) { - u32 perm; + u32 index, perm; /* * Check the xattr presence before value. This ensure * that not present xattr can be distinguished from a 0 * length value or rule that matches any value */ - state = aa_dfa_null_transition(profile->xmatch, state); + state = aa_dfa_null_transition(attach->xmatch.dfa, + state); /* Check xattr value */ - state = aa_dfa_match_len(profile->xmatch, state, value, - size); - perm = dfa_user_allow(profile->xmatch, state); + state = aa_dfa_match_len(attach->xmatch.dfa, state, + value, size); + index = ACCEPT_TABLE(attach->xmatch.dfa)[state]; + perm = attach->xmatch.perms[index].allow; if (!(perm & MAY_EXEC)) { ret = -EINVAL; goto out; } } /* transition to next element */ - state = aa_dfa_outofband_transition(profile->xmatch, state); + state = aa_dfa_outofband_transition(attach->xmatch.dfa, state); if (size < 0) { /* * No xattr match, so verify if transition to @@ -398,6 +389,8 @@ rcu_read_lock(); restart: list_for_each_entry_rcu(profile, head, base.list) { + struct aa_attachment *attach = &profile->attach; + if (profile->label.flags & FLAG_NULL && &profile->label == ns_unconfined(profile->ns)) continue; @@ -413,13 +406,16 @@ * as another profile, signal a conflict and refuse to * match. */ - if (profile->xmatch) { - unsigned int state, count; - u32 perm; - - state = aa_dfa_leftmatch(profile->xmatch, DFA_START, - name, &count); - perm = dfa_user_allow(profile->xmatch, state); + if (attach->xmatch.dfa) { + unsigned int count; + aa_state_t state; + u32 index, perm; + + state = aa_dfa_leftmatch(attach->xmatch.dfa, + attach->xmatch.start[AA_CLASS_XMATCH], + name, &count); + index = ACCEPT_TABLE(attach->xmatch.dfa)[state]; + perm = attach->xmatch.perms[index].allow; /* any accepting state means a valid match. */ if (perm & MAY_EXEC) { int ret = 0; @@ -427,7 +423,7 @@ if (count < candidate_len) continue; - if (bprm && profile->xattr_count) { + if (bprm && attach->xattr_count) { long rev = READ_ONCE(ns->revision); if (!aa_get_profile_not0(profile)) @@ -466,7 +462,7 @@ * xattrs, or a longer match */ candidate = profile; - candidate_len = profile->xmatch_len; + candidate_len = max(count, attach->xmatch_len); candidate_xattrs = ret; conflict = false; } @@ -510,6 +506,8 @@ struct aa_label *x_table_lookup(struct aa_profile *profile, u32 xindex, const char **name) { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); struct aa_label *label = NULL; u32 xtype = xindex & AA_X_TYPE_MASK; int index = xindex & AA_X_INDEX_MASK; @@ -520,7 +518,7 @@ /* TODO: move lookup parsing to unpack time so this is a straight * index into the resultant label */ - for (*name = profile->file.trans.table[index]; !label && *name; + for (*name = rules->file.trans.table[index]; !label && *name; *name = next_name(xtype, *name)) { if (xindex & AA_X_CHILD) { struct aa_profile *new_profile; @@ -559,6 +557,8 @@ const char **lookupname, const char **info) { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); struct aa_label *new = NULL; struct aa_ns *ns = profile->ns; u32 xtype = xindex & AA_X_TYPE_MASK; @@ -571,7 +571,7 @@ break; case AA_X_TABLE: /* TODO: fix when perm mapping done at unload */ - stack = profile->file.trans.table[xindex & AA_X_INDEX_MASK]; + stack = rules->file.trans.table[xindex & AA_X_INDEX_MASK]; if (*stack != '&') { /* released by caller */ new = x_table_lookup(profile, xindex, lookupname); @@ -625,9 +625,11 @@ char *buffer, struct path_cond *cond, bool *secure_exec) { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); struct aa_label *new = NULL; const char *info = NULL, *name = NULL, *target = NULL; - unsigned int state = profile->file.start; + aa_state_t state = rules->file.start[AA_CLASS_FILE]; struct aa_perms perms = {}; bool nonewprivs = false; int error = 0; @@ -661,7 +663,7 @@ } /* find exec permissions for name */ - state = aa_str_perms(profile->file.dfa, state, name, cond, &perms); + state = aa_str_perms(&(rules->file), state, name, cond, &perms); if (perms.allow & MAY_EXEC) { /* exec permission determine how to transition */ new = x_to_label(profile, bprm, name, perms.xindex, &target, @@ -723,7 +725,9 @@ char *buffer, struct path_cond *cond, bool *secure_exec) { - unsigned int state = profile->file.start; + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); + aa_state_t state = rules->file.start[AA_CLASS_FILE]; struct aa_perms perms = {}; const char *xname = NULL, *info = "change_profile onexec"; int error = -EACCES; @@ -756,7 +760,7 @@ } /* find exec permissions for name */ - state = aa_str_perms(profile->file.dfa, state, xname, cond, &perms); + state = aa_str_perms(&(rules->file), state, xname, cond, &perms); if (!(perms.allow & AA_MAY_ONEXEC)) { info = "no change_onexec valid for executable"; goto audit; @@ -765,7 +769,7 @@ * onexec permission is linked to exec with a standard pairing * exec\0change_profile */ - state = aa_dfa_null_transition(profile->file.dfa, state); + state = aa_dfa_null_transition(rules->file.dfa, state); error = change_profile_perms(profile, onexec, stack, AA_MAY_ONEXEC, state, &perms); if (error) { @@ -1262,12 +1266,15 @@ struct aa_label *target, bool stack, u32 request, struct aa_perms *perms) { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); const char *info = NULL; int error = 0; if (!error) error = change_profile_perms(profile, target, stack, request, - profile->file.start, perms); + rules->file.start[AA_CLASS_FILE], + perms); if (error) error = aa_audit_file(profile, perms, op, request, name, NULL, target, GLOBAL_ROOT_UID, info, @@ -1279,7 +1286,6 @@ /** * aa_change_profile - perform a one-way profile transition * @fqname: name of profile may include namespace (NOT NULL) - * @onexec: whether this transition is to take place immediately or at exec * @flags: flags affecting change behavior * * Change to new profile @name. Unlike with hats, there is no way --- linux-gcp-5.19.0.orig/security/apparmor/file.c +++ linux-gcp-5.19.0/security/apparmor/file.c @@ -14,10 +14,12 @@ #include #include +#include "include/af_unix.h" #include "include/apparmor.h" #include "include/audit.h" #include "include/cred.h" #include "include/file.h" +#include "include/ipc.h" #include "include/match.h" #include "include/net.h" #include "include/path.h" @@ -95,7 +97,7 @@ kuid_t ouid, const char *info, int error) { int type = AUDIT_APPARMOR_AUTO; - DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_TASK, op); + DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_TASK, AA_CLASS_FILE, op); sa.u.tsk = NULL; aad(&sa)->request = request; @@ -175,73 +177,28 @@ } /** - * map_old_perms - map old file perms layout to the new layout - * @old: permission set in old mapping - * - * Returns: new permission mapping - */ -static u32 map_old_perms(u32 old) -{ - u32 new = old & 0xf; - if (old & MAY_READ) - new |= AA_MAY_GETATTR | AA_MAY_OPEN; - if (old & MAY_WRITE) - new |= AA_MAY_SETATTR | AA_MAY_CREATE | AA_MAY_DELETE | - AA_MAY_CHMOD | AA_MAY_CHOWN | AA_MAY_OPEN; - if (old & 0x10) - new |= AA_MAY_LINK; - /* the old mapping lock and link_subset flags where overlaid - * and use was determined by part of a pair that they were in - */ - if (old & 0x20) - new |= AA_MAY_LOCK | AA_LINK_SUBSET; - if (old & 0x40) /* AA_EXEC_MMAP */ - new |= AA_EXEC_MMAP; - - return new; -} - -/** - * aa_compute_fperms - convert dfa compressed perms to internal perms - * @dfa: dfa to compute perms for (NOT NULL) + * aa_lookup_fperms - convert dfa compressed perms to internal perms + * @dfa: dfa to lookup perms for (NOT NULL) * @state: state in dfa * @cond: conditions to consider (NOT NULL) * - * TODO: convert from dfa + state to permission entry, do computation conversion - * at load time. + * TODO: convert from dfa + state to permission entry * - * Returns: computed permission set + * Returns: a pointer to a file permission set */ -struct aa_perms aa_compute_fperms(struct aa_dfa *dfa, unsigned int state, - struct path_cond *cond) +struct aa_perms default_perms = {}; +struct aa_perms *aa_lookup_fperms(struct aa_policydb *file_rules, + aa_state_t state, struct path_cond *cond) { - /* FIXME: change over to new dfa format - * currently file perms are encoded in the dfa, new format - * splits the permissions from the dfa. This mapping can be - * done at profile load - */ - struct aa_perms perms = { }; + unsigned int index = ACCEPT_TABLE(file_rules->dfa)[state]; - if (uid_eq(current_fsuid(), cond->uid)) { - perms.allow = map_old_perms(dfa_user_allow(dfa, state)); - perms.audit = map_old_perms(dfa_user_audit(dfa, state)); - perms.quiet = map_old_perms(dfa_user_quiet(dfa, state)); - perms.xindex = dfa_user_xindex(dfa, state); - } else { - perms.allow = map_old_perms(dfa_other_allow(dfa, state)); - perms.audit = map_old_perms(dfa_other_audit(dfa, state)); - perms.quiet = map_old_perms(dfa_other_quiet(dfa, state)); - perms.xindex = dfa_other_xindex(dfa, state); - } - perms.allow |= AA_MAY_GETATTR; - - /* change_profile wasn't determined by ownership in old mapping */ - if (ACCEPT_TABLE(dfa)[state] & 0x80000000) - perms.allow |= AA_MAY_CHANGE_PROFILE; - if (ACCEPT_TABLE(dfa)[state] & 0x40000000) - perms.allow |= AA_MAY_ONEXEC; + if (!(file_rules->perms)) + return &default_perms; - return perms; + if (uid_eq(current_fsuid(), cond->uid)) + return &(file_rules->perms[index]); + + return &(file_rules->perms[index + 1]); } /** @@ -254,13 +211,13 @@ * * Returns: the final state in @dfa when beginning @start and walking @name */ -unsigned int aa_str_perms(struct aa_dfa *dfa, unsigned int start, - const char *name, struct path_cond *cond, - struct aa_perms *perms) -{ - unsigned int state; - state = aa_dfa_match(dfa, start, name); - *perms = aa_compute_fperms(dfa, state, cond); +aa_state_t aa_str_perms(struct aa_policydb *file_rules, aa_state_t start, + const char *name, struct path_cond *cond, + struct aa_perms *perms) +{ + aa_state_t state; + state = aa_dfa_match(file_rules->dfa, start, name); + *perms = *(aa_lookup_fperms(file_rules, state, cond)); return state; } @@ -269,11 +226,15 @@ u32 request, struct path_cond *cond, int flags, struct aa_perms *perms) { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); int e = 0; - if (profile_unconfined(profile)) + if (profile_unconfined(profile) || + ((flags & PATH_SOCK_COND) && !RULE_MEDIATES_AF(rules, AF_UNIX))) return 0; - aa_str_perms(profile->file.dfa, profile->file.start, name, cond, perms); + aa_str_perms(&(rules->file), rules->file.start[AA_CLASS_FILE], + name, cond, perms); if (request & ~perms->allow) e = -EACCES; return aa_audit_file(profile, perms, op, request, name, NULL, NULL, @@ -360,11 +321,13 @@ const struct path *target, char *buffer2, struct path_cond *cond) { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); const char *lname, *tname = NULL; struct aa_perms lperms = {}, perms; const char *info = NULL; u32 request = AA_MAY_LINK; - unsigned int state; + aa_state_t state; int error; error = path_name(OP_LINK, &profile->label, link, profile->path_flags, @@ -380,15 +343,16 @@ error = -EACCES; /* aa_str_perms - handles the case of the dfa being NULL */ - state = aa_str_perms(profile->file.dfa, profile->file.start, lname, + state = aa_str_perms(&(rules->file), + rules->file.start[AA_CLASS_FILE], lname, cond, &lperms); if (!(lperms.allow & AA_MAY_LINK)) goto audit; /* test to see if target can be paired with link */ - state = aa_dfa_null_transition(profile->file.dfa, state); - aa_str_perms(profile->file.dfa, state, tname, cond, &perms); + state = aa_dfa_null_transition(rules->file.dfa, state); + aa_str_perms(&(rules->file), state, tname, cond, &perms); /* force audit/quiet masks for link are stored in the second entry * in the link pair. @@ -410,8 +374,8 @@ /* Do link perm subset test requiring allowed permission on link are * a subset of the allowed permissions on target. */ - aa_str_perms(profile->file.dfa, profile->file.start, tname, cond, - &perms); + aa_str_perms(&(rules->file), rules->file.start[AA_CLASS_FILE], + tname, cond, &perms); /* AA_MAY_LINK is not considered in the subset test */ request = lperms.allow & ~AA_MAY_LINK; @@ -585,6 +549,60 @@ return error; } +/* TODO: combine with __file_path_perm */ +static int __file_mqueue_perm(const char *op, struct aa_label *label, + struct aa_label *flabel, struct file *file, + u32 request, u32 denied, bool in_atomic) +{ + struct aa_profile *profile; + char *buffer; + int error; + DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_NONE, AA_CLASS_POSIX_MQUEUE, op); + + /* revalidation due to label out of date. No revocation at this time */ + if (!denied && aa_label_is_subset(flabel, label)) + /* TODO: check for revocation on stale profiles */ + return 0; + + buffer = aa_get_buffer(in_atomic); + if (!buffer) + return -ENOMEM; + + aad(&sa)->request = request; + aad(&sa)->peer = NULL; + aad(&sa)->mq.ouid = file_inode(file)->i_uid; + aad(&sa)->mq.fsuid = current_fsuid(); /* mqueue uses fsuid() */ + + /* check every profile in task label not in current cache */ + error = fn_for_each_not_in_set(flabel, label, profile, + aa_profile_mqueue_perm(profile, &file->f_path, + request, buffer, &sa)); + if (denied && !error) { + /* + * check every profile in file label that was not tested + * in the initial check above. + * + * TODO: cache full perms so this only happens because of + * conditionals + * TODO: don't audit here + */ + if (label == flabel) + error = fn_for_each(label, profile, + aa_profile_mqueue_perm(profile, &file->f_path, + request, buffer, &sa)); + else + error = fn_for_each_not_in_set(label, flabel, profile, + aa_profile_mqueue_perm(profile, &file->f_path, + request, buffer, &sa)); + } + if (!error) + update_file_ctx(file_ctx(file), label, request); + + aa_put_buffer(buffer); + + return error; +} + /** * aa_file_perm - do permission revalidation check & audit for @file * @op: operation being checked @@ -630,7 +648,10 @@ rcu_read_unlock(); /* TODO: label cross check */ - if (file->f_path.mnt && path_mediated_fs(file->f_path.dentry)) + if (is_mqueue_inode(file_inode(file))) { + error = __file_mqueue_perm(op, label, flabel, file, + request, denied, in_atomic); + } else if (file->f_path.mnt && path_mediated_fs(file->f_path.dentry)) error = __file_path_perm(op, label, flabel, file, request, denied, in_atomic); --- linux-gcp-5.19.0.orig/security/apparmor/include/af_unix.h +++ linux-gcp-5.19.0/security/apparmor/include/af_unix.h @@ -0,0 +1,114 @@ +/* + * AppArmor security module + * + * This file contains AppArmor af_unix fine grained mediation + * + * Copyright 2014 Canonical Ltd. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation, version 2 of the + * License. + */ +#ifndef __AA_AF_UNIX_H + +#include + +#include "label.h" +//#include "include/net.h" + +#define unix_addr_len(L) ((L) - sizeof(sa_family_t)) +#define unix_abstract_name_len(L) (unix_addr_len(L) - 1) +#define unix_abstract_len(U) (unix_abstract_name_len((U)->addr->len)) +#define addr_unix_abstract_name(B) ((B)[0] == 0) +#define addr_unix_anonymous(U) (addr_unix_len(U) <= 0) +#define addr_unix_abstract(U) (!addr_unix_anonymous(U) && addr_unix_abstract_name((U)->addr)) +//#define unix_addr_fs(U) (!unix_addr_anonymous(U) && !unix_addr_abstract_name((U)->addr)) + +#define unix_addr(A) ((struct sockaddr_un *)(A)) +#define unix_addr_anon(A, L) ((A) && unix_addr_len(L) <= 0) +#define unix_addr_fs(A, L) (!unix_addr_anon(A, L) && !addr_unix_abstract_name(unix_addr(A)->sun_path)) + +#define UNIX_ANONYMOUS(U) (!unix_sk(U)->addr) +/* from net/unix/af_unix.c */ +#define UNIX_ABSTRACT(U) (!UNIX_ANONYMOUS(U) && \ + unix_sk(U)->addr->hash < UNIX_HASH_SIZE) +#define UNIX_FS(U) (!UNIX_ANONYMOUS(U) && unix_sk(U)->addr->name->sun_path[0]) +#define unix_peer(sk) (unix_sk(sk)->peer) +#define unix_connected(S) ((S)->state == SS_CONNECTED) + +static inline void print_unix_addr(struct sockaddr_un *A, int L) +{ + char *buf = (A) ? (char *) &(A)->sun_path : NULL; + int len = unix_addr_len(L); + if (!buf || len <= 0) + printk(" "); + else if (buf[0]) + printk(" %s", buf); + else + /* abstract name len includes leading \0 */ + printk(" %d @%.*s", len - 1, len - 1, buf+1); +}; + +/* + printk("%s: %s: f %d, t %d, p %d", __FUNCTION__, \ + #SK , \ +*/ +#define print_unix_sk(SK) \ +do { \ + struct unix_sock *u = unix_sk(SK); \ + printk("%s: f %d, t %d, p %d", #SK , \ + (SK)->sk_family, (SK)->sk_type, (SK)->sk_protocol); \ + if (u->addr) \ + print_unix_addr(u->addr->name, u->addr->len); \ + else \ + print_unix_addr(NULL, sizeof(sa_family_t)); \ + /* printk("\n");*/ \ +} while (0) + +#define print_sk(SK) \ +do { \ + if (!(SK)) { \ + printk("%s: %s is null\n", __FUNCTION__, #SK); \ + } else if ((SK)->sk_family == PF_UNIX) { \ + print_unix_sk(SK); \ + printk("\n"); \ + } else { \ + printk("%s: %s: family %d\n", __FUNCTION__, #SK , \ + (SK)->sk_family); \ + } \ +} while (0) + +#define print_sock_addr(U) \ +do { \ + printk("%s:\n", __FUNCTION__); \ + printk(" sock %s:", sock_ctx && sock_ctx->label ? aa_label_printk(sock_ctx->label, GFP_ATOMIC); : ""); print_sk(sock); \ + printk(" other %s:", other_ctx && other_ctx->label ? aa_label_printk(other_ctx->label, GFP_ATOMIC); : ""); print_sk(other); \ + printk(" new %s", new_ctx && new_ctx->label ? aa_label_printk(new_ctx->label, GFP_ATOMIC); : ""); print_sk(newsk); \ +} while (0) + + + + +int aa_unix_peer_perm(struct aa_label *label, const char *op, u32 request, + struct sock *sk, struct sock *peer_sk, + struct aa_label *peer_label); +int aa_unix_label_sk_perm(struct aa_label *label, const char *op, u32 request, + struct sock *sk); +int aa_unix_sock_perm(const char *op, u32 request, struct socket *sock); +int aa_unix_create_perm(struct aa_label *label, int family, int type, + int protocol); +int aa_unix_bind_perm(struct socket *sock, struct sockaddr *address, + int addrlen); +int aa_unix_connect_perm(struct socket *sock, struct sockaddr *address, + int addrlen); +int aa_unix_listen_perm(struct socket *sock, int backlog); +int aa_unix_accept_perm(struct socket *sock, struct socket *newsock); +int aa_unix_msg_perm(const char *op, u32 request, struct socket *sock, + struct msghdr *msg, int size); +int aa_unix_opt_perm(const char *op, u32 request, struct socket *sock, int level, + int optname); +int aa_unix_file_perm(struct aa_label *label, const char *op, u32 request, + struct socket *sock); + +#endif /* __AA_AF_UNIX_H */ --- linux-gcp-5.19.0.orig/security/apparmor/include/apparmor.h +++ linux-gcp-5.19.0/security/apparmor/include/apparmor.h @@ -16,26 +16,36 @@ /* * Class of mediation types in the AppArmor policy db */ -#define AA_CLASS_ENTRY 0 +#define AA_CLASS_NONE 0 #define AA_CLASS_UNKNOWN 1 #define AA_CLASS_FILE 2 #define AA_CLASS_CAP 3 -#define AA_CLASS_DEPRECATED 4 +#define AA_CLASS_NET_COMPAT 4 #define AA_CLASS_RLIMITS 5 #define AA_CLASS_DOMAIN 6 #define AA_CLASS_MOUNT 7 #define AA_CLASS_PTRACE 9 #define AA_CLASS_SIGNAL 10 +#define AA_CLASS_XMATCH 11 #define AA_CLASS_NET 14 #define AA_CLASS_LABEL 16 +#define AA_CLASS_POSIX_MQUEUE 17 +#define AA_CLASS_IO_URING 18 +#define AA_CLASS_MODULE 19 +#define AA_CLASS_DISPLAY_LSM 20 +#define AA_CLASS_NS 21 -#define AA_CLASS_LAST AA_CLASS_LABEL +#define AA_CLASS_X 31 +#define AA_CLASS_DBUS 32 + +#define AA_CLASS_LAST AA_CLASS_DBUS /* Control parameters settable through module/boot flags */ extern enum audit_mode aa_g_audit; extern bool aa_g_audit_header; extern bool aa_g_debug; extern bool aa_g_hash_policy; +extern bool aa_g_export_binary; extern int aa_g_rawdata_compression_level; extern bool aa_g_lock_policy; extern bool aa_g_logsyscall; --- linux-gcp-5.19.0.orig/security/apparmor/include/apparmorfs.h +++ linux-gcp-5.19.0/security/apparmor/include/apparmorfs.h @@ -114,7 +114,21 @@ struct dentry *dent); struct aa_loaddata; + +#ifdef CONFIG_SECURITY_APPARMOR_EXPORT_BINARY void __aa_fs_remove_rawdata(struct aa_loaddata *rawdata); int __aa_fs_create_rawdata(struct aa_ns *ns, struct aa_loaddata *rawdata); +#else +static inline void __aa_fs_remove_rawdata(struct aa_loaddata *rawdata) +{ + /* empty stub */ +} + +static inline int __aa_fs_create_rawdata(struct aa_ns *ns, + struct aa_loaddata *rawdata) +{ + return 0; +} +#endif /* CONFIG_SECURITY_APPARMOR_EXPORT_BINARY */ #endif /* __AA_APPARMORFS_H */ --- linux-gcp-5.19.0.orig/security/apparmor/include/audit.h +++ linux-gcp-5.19.0/security/apparmor/include/audit.h @@ -103,10 +103,12 @@ #define OP_PROF_LOAD "profile_load" #define OP_PROF_RM "profile_remove" +#define OP_USERNS_CREATE "userns_create" struct apparmor_audit_data { int error; int type; + u16 class; const char *op; struct aa_label *label; const char *name; @@ -136,6 +138,10 @@ void *addr; int addrlen; } net; + struct { + kuid_t fsuid; + kuid_t ouid; + } mq; }; }; struct { @@ -155,9 +161,12 @@ /* macros for dealing with apparmor_audit_data structure */ #define aad(SA) ((SA)->apparmor_audit_data) -#define DEFINE_AUDIT_DATA(NAME, T, X) \ +#define DEFINE_AUDIT_DATA(NAME, T, C, X) \ /* TODO: cleanup audit init so we don't need _aad = {0,} */ \ - struct apparmor_audit_data NAME ## _aad = { .op = (X), }; \ + struct apparmor_audit_data NAME ## _aad = { \ + .class = (C), \ + .op = (X), \ + }; \ struct common_audit_data NAME = \ { \ .type = (T), \ --- linux-gcp-5.19.0.orig/security/apparmor/include/cred.h +++ linux-gcp-5.19.0/security/apparmor/include/cred.h @@ -64,19 +64,6 @@ } /** - * __aa_task_raw_label - retrieve another task's label - * @task: task to query (NOT NULL) - * - * Returns: @task's label without incrementing its ref count - * - * If @task != current needs to be called in RCU safe critical section - */ -static inline struct aa_label *__aa_task_raw_label(struct task_struct *task) -{ - return aa_cred_raw_label(__task_cred(task)); -} - -/** * aa_current_raw_label - find the current tasks confining label * * Returns: up to date confining label or the ns unconfined label (NOT NULL) --- linux-gcp-5.19.0.orig/security/apparmor/include/crypto.h +++ linux-gcp-5.19.0/security/apparmor/include/crypto.h @@ -14,6 +14,8 @@ #ifdef CONFIG_SECURITY_APPARMOR_HASH unsigned int aa_hash_size(void); +void aa_snprint_hashstr(char *out, unsigned char *hash, unsigned int hsize); +char *aa_asprint_hashstr(unsigned char *hash, unsigned int hsize, gfp_t gfp); char *aa_calc_hash(void *data, size_t len); int aa_calc_profile_hash(struct aa_profile *profile, u32 version, void *start, size_t len); @@ -32,6 +34,15 @@ { return 0; } + +void aa_snprint_hashstr(char *out, unsigned char *hash, unsigned int hsize) +{ +} + +char *aa_asprint_hashstr(unsigned char *hash, unsigned int hsize, gfp_t gfp); +{ + return NULL; +} #endif #endif /* __APPARMOR_CRYPTO_H */ --- linux-gcp-5.19.0.orig/security/apparmor/include/domain.h +++ linux-gcp-5.19.0/security/apparmor/include/domain.h @@ -16,11 +16,6 @@ #ifndef __AA_DOMAIN_H #define __AA_DOMAIN_H -struct aa_domain { - int size; - char **table; -}; - #define AA_CHANGE_NOFLAGS 0 #define AA_CHANGE_TEST 1 #define AA_CHANGE_CHILD 2 @@ -32,7 +27,6 @@ int apparmor_bprm_creds_for_exec(struct linux_binprm *bprm); -void aa_free_domain_entries(struct aa_domain *domain); int aa_change_hat(const char *hats[], int count, u64 token, int flags); int aa_change_profile(const char *fqname, int flags); --- linux-gcp-5.19.0.orig/security/apparmor/include/file.h +++ linux-gcp-5.19.0/security/apparmor/include/file.h @@ -17,6 +17,7 @@ #include "match.h" #include "perms.h" +struct aa_policydb; struct aa_profile; struct path; @@ -87,18 +88,17 @@ * - exec type - which determines how the executable name and index are used * - flags - which modify how the destination name is applied */ -#define AA_X_INDEX_MASK 0x03ff +#define AA_X_INDEX_MASK AA_INDEX_MASK -#define AA_X_TYPE_MASK 0x0c00 -#define AA_X_TYPE_SHIFT 10 -#define AA_X_NONE 0x0000 -#define AA_X_NAME 0x0400 /* use executable name px */ -#define AA_X_TABLE 0x0800 /* use a specified name ->n# */ - -#define AA_X_UNSAFE 0x1000 -#define AA_X_CHILD 0x2000 /* make >AA_X_NONE apply to children */ -#define AA_X_INHERIT 0x4000 -#define AA_X_UNCONFINED 0x8000 +#define AA_X_TYPE_MASK 0x0c000000 +#define AA_X_NONE AA_INDEX_NONE +#define AA_X_NAME 0x04000000 /* use executable name px */ +#define AA_X_TABLE 0x08000000 /* use a specified name ->n# */ + +#define AA_X_UNSAFE 0x10000000 +#define AA_X_CHILD 0x20000000 +#define AA_X_INHERIT 0x40000000 +#define AA_X_UNCONFINED 0x80000000 /* need to make conditional which ones are being set */ struct path_cond { @@ -108,83 +108,16 @@ #define COMBINED_PERM_MASK(X) ((X).allow | (X).audit | (X).quiet | (X).kill) -/* FIXME: split perms from dfa and match this to description - * also add delegation info. - */ -static inline u16 dfa_map_xindex(u16 mask) -{ - u16 old_index = (mask >> 10) & 0xf; - u16 index = 0; - - if (mask & 0x100) - index |= AA_X_UNSAFE; - if (mask & 0x200) - index |= AA_X_INHERIT; - if (mask & 0x80) - index |= AA_X_UNCONFINED; - - if (old_index == 1) { - index |= AA_X_UNCONFINED; - } else if (old_index == 2) { - index |= AA_X_NAME; - } else if (old_index == 3) { - index |= AA_X_NAME | AA_X_CHILD; - } else if (old_index) { - index |= AA_X_TABLE; - index |= old_index - 4; - } - - return index; -} - -/* - * map old dfa inline permissions to new format - */ -#define dfa_user_allow(dfa, state) (((ACCEPT_TABLE(dfa)[state]) & 0x7f) | \ - ((ACCEPT_TABLE(dfa)[state]) & 0x80000000)) -#define dfa_user_audit(dfa, state) ((ACCEPT_TABLE2(dfa)[state]) & 0x7f) -#define dfa_user_quiet(dfa, state) (((ACCEPT_TABLE2(dfa)[state]) >> 7) & 0x7f) -#define dfa_user_xindex(dfa, state) \ - (dfa_map_xindex(ACCEPT_TABLE(dfa)[state] & 0x3fff)) - -#define dfa_other_allow(dfa, state) ((((ACCEPT_TABLE(dfa)[state]) >> 14) & \ - 0x7f) | \ - ((ACCEPT_TABLE(dfa)[state]) & 0x80000000)) -#define dfa_other_audit(dfa, state) (((ACCEPT_TABLE2(dfa)[state]) >> 14) & 0x7f) -#define dfa_other_quiet(dfa, state) \ - ((((ACCEPT_TABLE2(dfa)[state]) >> 7) >> 14) & 0x7f) -#define dfa_other_xindex(dfa, state) \ - dfa_map_xindex((ACCEPT_TABLE(dfa)[state] >> 14) & 0x3fff) - int aa_audit_file(struct aa_profile *profile, struct aa_perms *perms, const char *op, u32 request, const char *name, const char *target, struct aa_label *tlabel, kuid_t ouid, const char *info, int error); -/** - * struct aa_file_rules - components used for file rule permissions - * @dfa: dfa to match path names and conditionals against - * @perms: permission table indexed by the matched state accept entry of @dfa - * @trans: transition table for indexed by named x transitions - * - * File permission are determined by matching a path against @dfa and - * then using the value of the accept entry for the matching state as - * an index into @perms. If a named exec transition is required it is - * looked up in the transition table. - */ -struct aa_file_rules { - unsigned int start; - struct aa_dfa *dfa; - /* struct perms perms; */ - struct aa_domain trans; - /* TODO: add delegate table */ -}; - -struct aa_perms aa_compute_fperms(struct aa_dfa *dfa, unsigned int state, - struct path_cond *cond); -unsigned int aa_str_perms(struct aa_dfa *dfa, unsigned int start, - const char *name, struct path_cond *cond, - struct aa_perms *perms); +struct aa_perms *aa_lookup_fperms(struct aa_policydb *file_rules, + aa_state_t state, struct path_cond *cond); +aa_state_t aa_str_perms(struct aa_policydb *file_rules, aa_state_t start, + const char *name, struct path_cond *cond, + struct aa_perms *perms); int __aa_path_perm(const char *op, struct aa_profile *profile, const char *name, u32 request, struct path_cond *cond, @@ -201,11 +134,6 @@ void aa_inherit_files(const struct cred *cred, struct files_struct *files); -static inline void aa_free_file_rules(struct aa_file_rules *rules) -{ - aa_put_dfa(rules->dfa); - aa_free_domain_entries(&rules->trans); -} /** * aa_map_file_perms - map file flags to AppArmor permissions --- linux-gcp-5.19.0.orig/security/apparmor/include/inode.h +++ linux-gcp-5.19.0/security/apparmor/include/inode.h @@ -0,0 +1,42 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * AppArmor security module + * + * This file contains AppArmor file mediation function definitions. + * + * Copyright 2022 Canonical Ltd. + */ + +#ifndef __AA_INODE_H +#define __AA_INODE_H + +#include + +#include "lib.h" + +struct aa_inode_sec { + struct inode *inode; /* back pointer to inode object */ + struct aa_label *label; + u16 sclass; /* security class of this object */ + bool initialized; /* initialization flag */ + spinlock_t lock; +}; + +struct aa_superblock_sec { + struct aa_label *label; +}; + +static inline struct aa_inode_sec *apparmor_inode(const struct inode *inode) +{ + if (unlikely(!inode->i_security)) + return NULL; + return inode->i_security + apparmor_blob_sizes.lbs_inode; +} + +static inline struct aa_superblock_sec *apparmor_superblock( + const struct super_block *sb) +{ + return sb->s_security + apparmor_blob_sizes.lbs_superblock; +} + +#endif /* __AA_INODE_H */ --- linux-gcp-5.19.0.orig/security/apparmor/include/ipc.h +++ linux-gcp-5.19.0/security/apparmor/include/ipc.h @@ -11,26 +11,65 @@ #ifndef __AA_IPC_H #define __AA_IPC_H +#include #include -struct aa_profile; +#include "inode.h" +#include "perms.h" -#define AA_PTRACE_TRACE MAY_WRITE -#define AA_PTRACE_READ MAY_READ -#define AA_MAY_BE_TRACED AA_MAY_APPEND -#define AA_MAY_BE_READ AA_MAY_CREATE -#define PTRACE_PERM_SHIFT 2 - -#define AA_PTRACE_PERM_MASK (AA_PTRACE_READ | AA_PTRACE_TRACE | \ - AA_MAY_BE_READ | AA_MAY_BE_TRACED) -#define AA_SIGNAL_PERM_MASK (MAY_READ | MAY_WRITE) - -#define AA_SFS_SIG_MASK "hup int quit ill trap abrt bus fpe kill usr1 " \ - "segv usr2 pipe alrm term stkflt chld cont stop stp ttin ttou urg " \ - "xcpu xfsz vtalrm prof winch io pwr sys emt lost" +struct aa_msg_sec { + struct aa_label *label; +}; + +struct aa_ipc_sec { + struct aa_label *label; +}; + +static inline struct aa_ipc_sec *apparmor_ipc(const struct kern_ipc_perm *ipc) +{ + return ipc->security + apparmor_blob_sizes.lbs_ipc; +} + +static inline struct aa_msg_sec *apparmor_msg_msg(const struct msg_msg *msg_msg) +{ + return msg_msg->security + apparmor_blob_sizes.lbs_msg_msg; +} + + +static inline bool is_mqueue_sb(struct super_block *sb) +{ + if (!sb) + pr_warn("mqueue sb == NULL\n"); + if (!sb && !sb->s_type->name) + pr_warn("mqueue sb name == NULL\n"); + return sb && sb->s_type->name && strcmp(sb->s_type->name, "mqueue") == 0; +} + +static inline bool is_mqueue_inode(struct inode *i) +{ + struct aa_inode_sec *isec; + + if (!i) + return false; + + isec = apparmor_inode(i); + return isec && isec->sclass == AA_CLASS_POSIX_MQUEUE; +} -int aa_may_ptrace(struct aa_label *tracer, struct aa_label *tracee, - u32 request); int aa_may_signal(struct aa_label *sender, struct aa_label *target, int sig); +#define AA_AUDIT_POSIX_MQUEUE_MASK (AA_MAY_WRITE | AA_MAY_READ | \ + AA_MAY_CREATE | AA_MAY_DELETE | \ + AA_MAY_OPEN | AA_MAY_SETATTR | \ + AA_MAY_GETATTR) + + +int aa_profile_mqueue_perm(struct aa_profile *profile, + const struct path *path, + u32 request, char *buffer, + struct common_audit_data *sa); + +int aa_mqueue_perm(const char *op, struct aa_label *label, + const struct path *path, u32 request); + #endif /* __AA_IPC_H */ --- linux-gcp-5.19.0.orig/security/apparmor/include/label.h +++ linux-gcp-5.19.0/security/apparmor/include/label.h @@ -92,6 +92,8 @@ FLAG_STALE = 0x800, /* replaced/removed */ FLAG_RENAMED = 0x1000, /* label has renaming in it */ FLAG_REVOKED = 0x2000, /* label has revocation in it */ + FLAG_DEBUG1 = 0x4000, + FLAG_DEBUG2 = 0x8000, /* These flags must correspond with PATH_flags */ /* TODO: add new path flags */ @@ -259,7 +261,10 @@ struct label_it i; \ int ret = 0; \ label_for_each(i, (L), profile) { \ - if (PROFILE_MEDIATES(profile, (C))) { \ + struct aa_ruleset *rules = \ + list_first_entry(&profile->rules, typeof(*rules),\ + list); \ + if (RULE_MEDIATES(rules, (C))) { \ ret = 1; \ break; \ } \ @@ -331,7 +336,7 @@ static inline const char *aa_label_strn_split(const char *str, int n) { const char *pos; - unsigned int state; + aa_state_t state; state = aa_dfa_matchn_until(stacksplitdfa, DFA_START, str, n, &pos); if (!ACCEPT_TABLE(stacksplitdfa)[state]) @@ -343,7 +348,7 @@ static inline const char *aa_label_str_split(const char *str) { const char *pos; - unsigned int state; + aa_state_t state; state = aa_dfa_match_until(stacksplitdfa, DFA_START, str, &pos); if (!ACCEPT_TABLE(stacksplitdfa)[state]) @@ -355,9 +360,10 @@ struct aa_perms; -int aa_label_match(struct aa_profile *profile, struct aa_label *label, - unsigned int state, bool subns, u32 request, - struct aa_perms *perms); +struct aa_ruleset; +int aa_label_match(struct aa_profile *profile, struct aa_ruleset *rules, + struct aa_label *label, aa_state_t state, bool subns, + u32 request, struct aa_perms *perms); /** --- linux-gcp-5.19.0.orig/security/apparmor/include/lib.h +++ linux-gcp-5.19.0/security/apparmor/include/lib.h @@ -22,6 +22,11 @@ */ #define DEBUG_ON (aa_g_debug) +/* + * split individual debug cases out in preparation for finer grained + * debug controls in the future. + */ +#define AA_DEBUG_LABEL DEBUG_ON #define dbg_printk(__fmt, __args...) pr_debug(__fmt, ##__args) #define AA_DEBUG(fmt, args...) \ do { \ @@ -82,8 +87,8 @@ * character which is not used in standard matching and is only * used to separate pairs. */ -static inline unsigned int aa_dfa_null_transition(struct aa_dfa *dfa, - unsigned int start) +static inline aa_state_t aa_dfa_null_transition(struct aa_dfa *dfa, + aa_state_t start) { /* the null transition only needs the string's null terminator byte */ return aa_dfa_next(dfa, start, 0); @@ -94,6 +99,12 @@ return !(dentry->d_sb->s_flags & SB_NOUSER); } +struct aa_str_table { + int size; + char **table; +}; + +void aa_free_str_table(struct aa_str_table *table); struct counted_str { struct kref count; --- linux-gcp-5.19.0.orig/security/apparmor/include/match.h +++ linux-gcp-5.19.0/security/apparmor/include/match.h @@ -125,19 +125,19 @@ int aa_setup_dfa_engine(void); void aa_teardown_dfa_engine(void); +#define aa_state_t unsigned int + struct aa_dfa *aa_dfa_unpack(void *blob, size_t size, int flags); -unsigned int aa_dfa_match_len(struct aa_dfa *dfa, unsigned int start, - const char *str, int len); -unsigned int aa_dfa_match(struct aa_dfa *dfa, unsigned int start, - const char *str); -unsigned int aa_dfa_next(struct aa_dfa *dfa, unsigned int state, - const char c); -unsigned int aa_dfa_outofband_transition(struct aa_dfa *dfa, - unsigned int state); -unsigned int aa_dfa_match_until(struct aa_dfa *dfa, unsigned int start, - const char *str, const char **retpos); -unsigned int aa_dfa_matchn_until(struct aa_dfa *dfa, unsigned int start, - const char *str, int n, const char **retpos); +aa_state_t aa_dfa_match_len(struct aa_dfa *dfa, aa_state_t start, + const char *str, int len); +aa_state_t aa_dfa_match(struct aa_dfa *dfa, aa_state_t start, + const char *str); +aa_state_t aa_dfa_next(struct aa_dfa *dfa, aa_state_t state, const char c); +aa_state_t aa_dfa_outofband_transition(struct aa_dfa *dfa, aa_state_t state); +aa_state_t aa_dfa_match_until(struct aa_dfa *dfa, aa_state_t start, + const char *str, const char **retpos); +aa_state_t aa_dfa_matchn_until(struct aa_dfa *dfa, aa_state_t start, + const char *str, int n, const char **retpos); void aa_dfa_free_kref(struct kref *kref); @@ -156,8 +156,8 @@ .len = 0, \ } -unsigned int aa_dfa_leftmatch(struct aa_dfa *dfa, unsigned int start, - const char *str, unsigned int *count); +aa_state_t aa_dfa_leftmatch(struct aa_dfa *dfa, aa_state_t start, + const char *str, unsigned int *count); /** * aa_get_dfa - increment refcount on dfa @p --- linux-gcp-5.19.0.orig/security/apparmor/include/net.h +++ linux-gcp-5.19.0/security/apparmor/include/net.h @@ -49,9 +49,14 @@ struct aa_sk_ctx { struct aa_label *label; struct aa_label *peer; + struct path path; }; -#define SK_CTX(X) ((X)->sk_security) +static inline struct aa_sk_ctx *aa_sock(const struct sock *sk) +{ + return sk->sk_security + apparmor_blob_sizes.lbs_sock; +} + #define SOCK_ctx(X) SOCK_INODE(X)->i_security #define DEFINE_AUDIT_NET(NAME, OP, SK, F, T, P) \ struct lsm_network_audit NAME ## _net = { .sk = (SK), \ @@ -59,6 +64,7 @@ DEFINE_AUDIT_DATA(NAME, \ ((SK) && (F) != AF_UNIX) ? LSM_AUDIT_DATA_NET : \ LSM_AUDIT_DATA_NONE, \ + AA_CLASS_NET, \ OP); \ NAME.u.net = &(NAME ## _net); \ aad(&NAME)->net.type = (T); \ @@ -68,11 +74,24 @@ DEFINE_AUDIT_NET(NAME, OP, SK, (SK)->sk_family, (SK)->sk_type, \ (SK)->sk_protocol) +/* struct aa_net - network confinement data + * @allow: basic network families permissions + * @audit: which network permissions to force audit + * @quiet: which network permissions to quiet rejects + */ +struct aa_net_compat { + u16 allow[AF_MAX]; + u16 audit[AF_MAX]; + u16 quiet[AF_MAX]; +}; #define af_select(FAMILY, FN, DEF_FN) \ ({ \ int __e; \ switch ((FAMILY)) { \ + case AF_UNIX: \ + __e = aa_unix_ ## FN; \ + break; \ default: \ __e = DEF_FN; \ } \ @@ -87,6 +106,7 @@ }; extern struct aa_sfs_entry aa_sfs_entry_network[]; +extern struct aa_sfs_entry aa_sfs_entry_network_compat[]; void audit_net_cb(struct audit_buffer *ab, void *va); int aa_profile_af_perm(struct aa_profile *profile, struct common_audit_data *sa, --- linux-gcp-5.19.0.orig/security/apparmor/include/path.h +++ linux-gcp-5.19.0/security/apparmor/include/path.h @@ -13,12 +13,13 @@ enum path_flags { PATH_IS_DIR = 0x1, /* path is a directory */ + PATH_SOCK_COND = 0x2, PATH_CONNECT_PATH = 0x4, /* connect disconnected paths to / */ PATH_CHROOT_REL = 0x8, /* do path lookup relative to chroot */ PATH_CHROOT_NSCONNECT = 0x10, /* connect paths that are at ns root */ - PATH_DELEGATE_DELETED = 0x08000, /* delegate deleted files */ - PATH_MEDIATE_DELETED = 0x10000, /* mediate deleted paths */ + PATH_DELEGATE_DELETED = 0x10000, /* delegate deleted files */ + PATH_MEDIATE_DELETED = 0x20000, /* mediate deleted paths */ }; int aa_path_name(const struct path *path, int flags, char *buffer, --- linux-gcp-5.19.0.orig/security/apparmor/include/perms.h +++ linux-gcp-5.19.0/security/apparmor/include/perms.h @@ -65,29 +65,90 @@ struct aa_perms { u32 allow; - u32 audit; /* set only when allow is set */ - u32 deny; /* explicit deny, or conflict if allow also set */ - u32 quiet; /* set only when ~allow | deny */ - u32 kill; /* set only when ~allow | deny */ - u32 stop; /* set only when ~allow | deny */ - u32 complain; /* accumulates only used when ~allow & ~deny */ + u32 subtree; /* allow perm on full subtree only when allow is set */ u32 cond; /* set only when ~allow and ~deny */ - u32 hide; /* set only when ~allow | deny */ + u32 kill; /* set only when ~allow | deny */ + u32 complain; /* accumulates only used when ~allow & ~deny */ u32 prompt; /* accumulates only used when ~allow & ~deny */ - /* Reserved: - * u32 subtree; / * set only when allow is set * / - */ - u16 xindex; + u32 audit; /* set only when allow is set */ + u32 quiet; /* set only when ~allow | deny */ + u32 hide; /* set only when ~allow | deny */ + + + u32 xindex; + u32 tag; /* tag string index, if present */ + u32 label; /* label string index, if present */ }; +/* + * Indexes are broken into a 24 bit index and 8 bit flag. + * For the index to be valid there must be a value in the flag + */ +#define AA_INDEX_MASK 0x00ffffff +#define AA_INDEX_FLAG_MASK 0xff000000 +#define AA_INDEX_NONE 0 + #define ALL_PERMS_MASK 0xffffffff extern struct aa_perms nullperms; extern struct aa_perms allperms; +/** + * aa_perms_accum_raw - accumulate perms with out masking off overlapping perms + * @accum - perms struct to accumulate into + * @addend - perms struct to add to @accum + */ +static inline void aa_perms_accum_raw(struct aa_perms *accum, + struct aa_perms *addend) +{ + accum->deny |= addend->deny; + accum->allow &= addend->allow & ~addend->deny; + accum->audit |= addend->audit & addend->allow; + accum->quiet &= addend->quiet & ~addend->allow; + accum->kill |= addend->kill & ~addend->allow; + accum->complain |= addend->complain & ~addend->allow & ~addend->deny; + accum->cond |= addend->cond & ~addend->allow & ~addend->deny; + accum->hide &= addend->hide & ~addend->allow; + accum->prompt |= addend->prompt & ~addend->allow & ~addend->deny; + accum->subtree |= addend->subtree & ~addend->deny; + + if (!accum->xindex) + accum->xindex = addend->xindex; + if (!accum->tag) + accum->tag = addend->tag; + if (!accum->label) + accum->label = addend->label; +} + +/** + * aa_perms_accum - accumulate perms, masking off overlapping perms + * @accum - perms struct to accumulate into + * @addend - perms struct to add to @accum + */ +static inline void aa_perms_accum(struct aa_perms *accum, + struct aa_perms *addend) +{ + accum->deny |= addend->deny; + accum->allow &= addend->allow & ~accum->deny; + accum->audit |= addend->audit & accum->allow; + accum->quiet &= addend->quiet & ~accum->allow; + accum->kill |= addend->kill & ~accum->allow; + accum->complain |= addend->complain & ~accum->allow & ~accum->deny; + accum->cond |= addend->cond & ~accum->allow & ~accum->deny; + accum->hide &= addend->hide & ~accum->allow; + accum->prompt |= addend->prompt & ~accum->allow & ~accum->deny; + accum->subtree &= addend->subtree & ~accum->deny; + + if (!accum->xindex) + accum->xindex = addend->xindex; + if (!accum->tag) + accum->tag = addend->tag; + if (!accum->label) + accum->label = addend->label; +} #define xcheck(FN1, FN2) \ ({ \ @@ -133,23 +194,34 @@ xcheck(fn_for_each((L1), (P), (FN1)), fn_for_each((L2), (P), (FN2))) +extern struct aa_perms default_perms; + + void aa_perm_mask_to_str(char *str, size_t str_size, const char *chrs, u32 mask); void aa_audit_perm_names(struct audit_buffer *ab, const char * const *names, u32 mask); +void aa_audit_perms(struct audit_buffer *ab, struct common_audit_data *sa, + const char *chrs, u32 chrsmask, const char * const *names, + u32 namesmask); void aa_audit_perm_mask(struct audit_buffer *ab, u32 mask, const char *chrs, u32 chrsmask, const char * const *names, u32 namesmask); void aa_apply_modes_to_perms(struct aa_profile *profile, struct aa_perms *perms); -void aa_compute_perms(struct aa_dfa *dfa, unsigned int state, - struct aa_perms *perms); void aa_perms_accum(struct aa_perms *accum, struct aa_perms *addend); void aa_perms_accum_raw(struct aa_perms *accum, struct aa_perms *addend); -void aa_profile_match_label(struct aa_profile *profile, struct aa_label *label, +void aa_profile_match_label(struct aa_profile *profile, + struct aa_ruleset *rules, struct aa_label *label, int type, u32 request, struct aa_perms *perms); int aa_profile_label_perm(struct aa_profile *profile, struct aa_profile *target, u32 request, int type, u32 *deny, struct common_audit_data *sa); + +static inline u32 denied_perms(struct aa_perms *perms, u32 request) +{ + return request & (~perms->allow | perms->deny); +} + int aa_check_perms(struct aa_profile *profile, struct aa_perms *perms, u32 request, struct common_audit_data *sa, void (*cb)(struct audit_buffer *, void *)); --- linux-gcp-5.19.0.orig/security/apparmor/include/policy.h +++ linux-gcp-5.19.0/security/apparmor/include/policy.h @@ -34,6 +34,7 @@ struct aa_ns; extern int unprivileged_userns_apparmor_policy; +extern bool unprivileged_userns_restricted; extern const char *const aa_profile_mode_names[]; #define APPARMOR_MODE_NAMES_MAX_INDEX 4 @@ -44,10 +45,16 @@ #define COMPLAIN_MODE(_profile) PROFILE_MODE((_profile), APPARMOR_COMPLAIN) +#define USER_MODE(_profile) PROFILE_MODE((_profile), APPARMOR_USER) + #define KILL_MODE(_profile) PROFILE_MODE((_profile), APPARMOR_KILL) #define PROFILE_IS_HAT(_profile) ((_profile)->label.flags & FLAG_HAT) +#define CHECK_DEBUG1(_profile) ((_profile)->label.flags & FLAG_DEBUG1) + +#define CHECK_DEBUG2(_profile) ((_profile)->label.flags & FLAG_DEBUG2) + #define profile_is_stale(_profile) (label_is_stale(&(_profile)->label)) #define on_list_rcu(X) (!list_empty(X) && (X)->prev != LIST_POISON2) @@ -63,20 +70,47 @@ APPARMOR_COMPLAIN, /* allow and log access violations */ APPARMOR_KILL, /* kill task on access violation */ APPARMOR_UNCONFINED, /* profile set to unconfined */ + APPARMOR_USER, /* modified complain mode to userspace */ }; /* struct aa_policydb - match engine for a policy * dfa: dfa pattern match + * perms: table of permissions + * strs: table of strings, index by x * start: set of start states for the different classes of data */ struct aa_policydb { - /* Generic policy DFA specific rule types will be subsections of it */ struct aa_dfa *dfa; - unsigned int start[AA_CLASS_LAST + 1]; - + struct { + struct aa_perms *perms; + u32 size; + }; + struct aa_str_table trans; + aa_state_t start[AA_CLASS_LAST + 1]; }; +static inline void aa_destroy_policydb(struct aa_policydb *policy) +{ + aa_put_dfa(policy->dfa); + if (policy->perms) + kvfree(policy->perms); + aa_free_str_table(&policy->trans); + +} + +static inline struct aa_perms *aa_lookup_perms(struct aa_policydb *policy, + aa_state_t state) +{ + unsigned int index = ACCEPT_TABLE(policy->dfa)[state]; + + if (!(policy->perms)) + return &default_perms; + + return &(policy->perms[index]); +} + + /* struct aa_data - generic data structure * key: name for retrieving this data * size: size of data in bytes @@ -90,6 +124,47 @@ struct rhash_head head; }; +/* struct aa_ruleset - data covering mediation rules + * @list: list the rule is on + * @size: the memory consumed by this ruleset + * @policy: general match rules governing policy + * @file: The set of rules governing basic file access and domain transitions + * @caps: capabilities for the profile + * @rlimits: rlimits for the profile + * @secmark_count: number of secmark entries + * @secmark: secmark label match info + */ +struct aa_ruleset { + struct list_head list; + + int size; + + /* TODO: merge policy and file */ + struct aa_policydb policy; + struct aa_policydb file; + struct aa_caps caps; + + struct aa_rlimit rlimits; + + int secmark_count; + struct aa_secmark *secmark; +}; + +/* struct aa_attachment - data and rules for a profiles attachment + * @list: + * @xmatch_str: human readable attachment string + * @xmatch: optional extended matching for unconfined executables names + * @xmatch_len: xmatch prefix len, used to determine xmatch priority + * @xattr_count: number of xattrs in table + * @xattrs: table of xattrs + */ +struct aa_attachment { + const char *xmatch_str; + struct aa_policydb xmatch; + unsigned int xmatch_len; + int xattr_count; + char **xattrs; +}; /* struct aa_profile - basic confinement data * @base - base components of the profile (name, refcount, lists, lock ...) @@ -97,18 +172,14 @@ * @parent: parent of profile * @ns: namespace the profile is in * @rename: optional profile name that this profile renamed - * @attach: human readable attachment string - * @xmatch: optional extended matching for unconfined executables names - * @xmatch_len: xmatch prefix len, used to determine xmatch priority + * * @audit: the auditing mode of the profile * @mode: the enforcement mode of the profile * @path_flags: flags controlling path generation behavior * @disconnected: what to prepend if attach_disconnected is specified - * @size: the memory consumed by this profiles rules - * @policy: general match rules governing policy - * @file: The set of rules governing basic file access and domain transitions - * @caps: capabilities for the profile - * @rlimits: rlimits for the profile + * @attach: attachment rules for the profile + * @rules: rules to be enforced + * @net_compat: v2 compat network controls for the profile * * @dents: dentries for the profiles file entries in apparmorfs * @dirname: name of the profile dir in apparmorfs @@ -133,26 +204,14 @@ struct aa_ns *ns; const char *rename; - const char *attach; - struct aa_dfa *xmatch; - int xmatch_len; enum audit_mode audit; long mode; u32 path_flags; const char *disconnected; - int size; - struct aa_policydb policy; - struct aa_file_rules file; - struct aa_caps caps; - - int xattr_count; - char **xattrs; - - struct aa_rlimit rlimits; - - int secmark_count; - struct aa_secmark *secmark; + struct aa_attachment attach; + struct list_head rules; + struct aa_net_compat *net_compat; struct aa_loaddata *rawdata; unsigned char *hash; @@ -175,6 +234,7 @@ void aa_free_proxy_kref(struct kref *kref); +struct aa_ruleset *aa_alloc_ruleset(gfp_t gfp); struct aa_profile *aa_alloc_profile(const char *name, struct aa_proxy *proxy, gfp_t gfp); struct aa_profile *aa_new_null_profile(struct aa_profile *parent, bool hat, @@ -213,24 +273,37 @@ return labels_profile(aa_get_newest_label(&p->label)); } -static inline unsigned int PROFILE_MEDIATES(struct aa_profile *profile, - unsigned char class) +static inline aa_state_t RULE_MEDIATES(struct aa_ruleset *rules, + unsigned char class) { if (class <= AA_CLASS_LAST) - return profile->policy.start[class]; + return rules->policy.start[class]; else - return aa_dfa_match_len(profile->policy.dfa, - profile->policy.start[0], &class, 1); + return aa_dfa_match_len(rules->policy.dfa, + rules->policy.start[0], &class, 1); } -static inline unsigned int PROFILE_MEDIATES_AF(struct aa_profile *profile, - u16 AF) { - unsigned int state = PROFILE_MEDIATES(profile, AA_CLASS_NET); +static inline aa_state_t RULE_MEDIATES_AF(struct aa_ruleset *rules, u16 AF) +{ + aa_state_t state = RULE_MEDIATES(rules, AA_CLASS_NET); __be16 be_af = cpu_to_be16(AF); - if (!state) - return 0; - return aa_dfa_match_len(profile->policy.dfa, state, (char *) &be_af, 2); + if (!state) { + state = RULE_MEDIATES(rules, AA_CLASS_NET_COMPAT); + if (!state) + return DFA_NOMATCH; + } + return aa_dfa_match_len(rules->policy.dfa, state, (char *) &be_af, 2); +} + +static inline aa_state_t ANY_RULE_MEDIATES(struct list_head *head, + unsigned char class) +{ + struct aa_ruleset *rule; + + /* TODO: change to list walk */ + rule = list_first_entry(head, typeof(*rule), list); + return RULE_MEDIATES(rule, class); } /** --- linux-gcp-5.19.0.orig/security/apparmor/include/policy_compat.h +++ linux-gcp-5.19.0/security/apparmor/include/policy_compat.h @@ -0,0 +1,33 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * AppArmor security module + * + * Code to provide backwards compatibility with older policy versions, + * by converting/mapping older policy formats into the newer internal + * formats. + * + * Copyright 2022 Canonical Ltd. + */ + +#ifndef __POLICY_COMPAT_H +#define __POLICY_COMPAT_H + +#include "policy.h" + +#define K_ABI_MASK 0x3ff +#define FORCE_COMPLAIN_FLAG 0x800 +#define VERSION_LT(X, Y) (((X) & K_ABI_MASK) < ((Y) & K_ABI_MASK)) +#define VERSION_LE(X, Y) (((X) & K_ABI_MASK) <= ((Y) & K_ABI_MASK)) +#define VERSION_GT(X, Y) (((X) & K_ABI_MASK) > ((Y) & K_ABI_MASK)) + +#define v5 5 /* base version */ +#define v6 6 /* per entry policydb mediation check */ +#define v7 7 +#define v8 8 /* full network masking */ +#define v9 9 /* xbits are used as permission bits in policydb */ + +int aa_compat_map_xmatch(struct aa_policydb *policy); +int aa_compat_map_policy(struct aa_policydb *policy, u32 version); +int aa_compat_map_file(struct aa_policydb *policy); + +#endif /* __POLICY_COMPAT_H */ --- linux-gcp-5.19.0.orig/security/apparmor/include/policy_ns.h +++ linux-gcp-5.19.0/security/apparmor/include/policy_ns.h @@ -74,6 +74,7 @@ struct dentry *dents[AAFS_NS_SIZEOF]; }; +extern struct aa_label *kernel_t; extern struct aa_ns *root_ns; extern const char *aa_hidden_ns_name; --- linux-gcp-5.19.0.orig/security/apparmor/include/policy_unpack.h +++ linux-gcp-5.19.0/security/apparmor/include/policy_unpack.h @@ -16,6 +16,7 @@ #include #include + struct aa_load_ent { struct list_head list; struct aa_profile *new; @@ -28,11 +29,14 @@ struct aa_load_ent *aa_load_ent_alloc(void); #define PACKED_FLAG_HAT 1 +#define PACKED_FLAG_DEBUG1 2 +#define PACKED_FLAG_DEBUG2 4 #define PACKED_MODE_ENFORCE 0 #define PACKED_MODE_COMPLAIN 1 #define PACKED_MODE_KILL 2 #define PACKED_MODE_UNCONFINED 3 +#define PACKED_MODE_USER 4 struct aa_ns; --- linux-gcp-5.19.0.orig/security/apparmor/include/procattr.h +++ linux-gcp-5.19.0/security/apparmor/include/procattr.h @@ -11,7 +11,7 @@ #ifndef __AA_PROCATTR_H #define __AA_PROCATTR_H -int aa_getprocattr(struct aa_label *label, char **string); +int aa_getprocattr(struct aa_label *label, char **string, bool newline); int aa_setprocattr_changehat(char *args, size_t size, int flags); #endif /* __AA_PROCATTR_H */ --- linux-gcp-5.19.0.orig/security/apparmor/include/secid.h +++ linux-gcp-5.19.0/security/apparmor/include/secid.h @@ -21,6 +21,9 @@ /* secid value that matches any other secid */ #define AA_SECID_WILDCARD 1 +/* sysctl to enable displaying mode when converting secid to secctx */ +extern int apparmor_display_secid_mode; + struct aa_label *aa_secid_to_label(u32 secid); int apparmor_secid_to_secctx(u32 secid, char **secdata, u32 *seclen); int apparmor_secctx_to_secid(const char *secdata, u32 seclen, u32 *secid); @@ -31,6 +34,4 @@ void aa_free_secid(u32 secid); void aa_secid_update(u32 secid, struct aa_label *label); -void aa_secids_init(void); - #endif /* __AA_SECID_H */ --- linux-gcp-5.19.0.orig/security/apparmor/include/task.h +++ linux-gcp-5.19.0/security/apparmor/include/task.h @@ -77,4 +77,28 @@ ctx->token = 0; } +#define AA_PTRACE_TRACE MAY_WRITE +#define AA_PTRACE_READ MAY_READ +#define AA_MAY_BE_TRACED AA_MAY_APPEND +#define AA_MAY_BE_READ AA_MAY_CREATE +#define PTRACE_PERM_SHIFT 2 + +#define AA_PTRACE_PERM_MASK (AA_PTRACE_READ | AA_PTRACE_TRACE | \ + AA_MAY_BE_READ | AA_MAY_BE_TRACED) +#define AA_SIGNAL_PERM_MASK (MAY_READ | MAY_WRITE) + +#define AA_SFS_SIG_MASK "hup int quit ill trap abrt bus fpe kill usr1 " \ + "segv usr2 pipe alrm term stkflt chld cont stop stp ttin ttou urg " \ + "xcpu xfsz vtalrm prof winch io pwr sys emt lost" + +int aa_may_ptrace(struct aa_label *tracer, struct aa_label *tracee, + u32 request); + + + +#define AA_USERNS_CREATE 8 + +int aa_profile_ns_perm(struct aa_profile *profile, struct common_audit_data *sa, + u32 request); + #endif /* __AA_TASK_H */ --- linux-gcp-5.19.0.orig/security/apparmor/ipc.c +++ linux-gcp-5.19.0/security/apparmor/ipc.c @@ -9,124 +9,17 @@ */ #include -#include +#include +#include #include "include/audit.h" #include "include/capability.h" #include "include/cred.h" +#include "include/path.h" #include "include/policy.h" #include "include/ipc.h" #include "include/sig_names.h" -/** - * audit_ptrace_mask - convert mask to permission string - * @mask: permission mask to convert - * - * Returns: pointer to static string - */ -static const char *audit_ptrace_mask(u32 mask) -{ - switch (mask) { - case MAY_READ: - return "read"; - case MAY_WRITE: - return "trace"; - case AA_MAY_BE_READ: - return "readby"; - case AA_MAY_BE_TRACED: - return "tracedby"; - } - return ""; -} - -/* call back to audit ptrace fields */ -static void audit_ptrace_cb(struct audit_buffer *ab, void *va) -{ - struct common_audit_data *sa = va; - - if (aad(sa)->request & AA_PTRACE_PERM_MASK) { - audit_log_format(ab, " requested_mask=\"%s\"", - audit_ptrace_mask(aad(sa)->request)); - - if (aad(sa)->denied & AA_PTRACE_PERM_MASK) { - audit_log_format(ab, " denied_mask=\"%s\"", - audit_ptrace_mask(aad(sa)->denied)); - } - } - audit_log_format(ab, " peer="); - aa_label_xaudit(ab, labels_ns(aad(sa)->label), aad(sa)->peer, - FLAGS_NONE, GFP_ATOMIC); -} - -/* assumes check for PROFILE_MEDIATES is already done */ -/* TODO: conditionals */ -static int profile_ptrace_perm(struct aa_profile *profile, - struct aa_label *peer, u32 request, - struct common_audit_data *sa) -{ - struct aa_perms perms = { }; - - aad(sa)->peer = peer; - aa_profile_match_label(profile, peer, AA_CLASS_PTRACE, request, - &perms); - aa_apply_modes_to_perms(profile, &perms); - return aa_check_perms(profile, &perms, request, sa, audit_ptrace_cb); -} - -static int profile_tracee_perm(struct aa_profile *tracee, - struct aa_label *tracer, u32 request, - struct common_audit_data *sa) -{ - if (profile_unconfined(tracee) || unconfined(tracer) || - !PROFILE_MEDIATES(tracee, AA_CLASS_PTRACE)) - return 0; - - return profile_ptrace_perm(tracee, tracer, request, sa); -} - -static int profile_tracer_perm(struct aa_profile *tracer, - struct aa_label *tracee, u32 request, - struct common_audit_data *sa) -{ - if (profile_unconfined(tracer)) - return 0; - - if (PROFILE_MEDIATES(tracer, AA_CLASS_PTRACE)) - return profile_ptrace_perm(tracer, tracee, request, sa); - - /* profile uses the old style capability check for ptrace */ - if (&tracer->label == tracee) - return 0; - - aad(sa)->label = &tracer->label; - aad(sa)->peer = tracee; - aad(sa)->request = 0; - aad(sa)->error = aa_capable(&tracer->label, CAP_SYS_PTRACE, - CAP_OPT_NONE); - - return aa_audit(AUDIT_APPARMOR_AUTO, tracer, sa, audit_ptrace_cb); -} - -/** - * aa_may_ptrace - test if tracer task can trace the tracee - * @tracer: label of the task doing the tracing (NOT NULL) - * @tracee: task label to be traced - * @request: permission request - * - * Returns: %0 else error code if permission denied or error - */ -int aa_may_ptrace(struct aa_label *tracer, struct aa_label *tracee, - u32 request) -{ - struct aa_profile *profile; - u32 xrequest = request << PTRACE_PERM_SHIFT; - DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_NONE, OP_PTRACE); - - return xcheck_labels(tracer, tracee, profile, - profile_tracer_perm(profile, tracee, request, &sa), - profile_tracee_perm(profile, tracer, xrequest, &sa)); -} - static inline int map_signal_num(int sig) { @@ -188,19 +81,21 @@ struct aa_label *peer, u32 request, struct common_audit_data *sa) { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); struct aa_perms perms; - unsigned int state; + aa_state_t state; if (profile_unconfined(profile) || - !PROFILE_MEDIATES(profile, AA_CLASS_SIGNAL)) + !ANY_RULE_MEDIATES(&profile->rules, AA_CLASS_SIGNAL)) return 0; aad(sa)->peer = peer; /* TODO: secondary cache check */ - state = aa_dfa_next(profile->policy.dfa, - profile->policy.start[AA_CLASS_SIGNAL], + state = aa_dfa_next(rules->policy.dfa, + rules->policy.start[AA_CLASS_SIGNAL], aad(sa)->signal); - aa_label_match(profile, peer, state, false, request, &perms); + aa_label_match(profile, rules, peer, state, false, request, &perms); aa_apply_modes_to_perms(profile, &perms); return aa_check_perms(profile, &perms, request, sa, audit_signal_cb); } @@ -208,7 +103,7 @@ int aa_may_signal(struct aa_label *sender, struct aa_label *target, int sig) { struct aa_profile *profile; - DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_NONE, OP_SIGNAL); + DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_NONE, AA_CLASS_SIGNAL, OP_SIGNAL); aad(&sa)->signal = map_signal_num(sig); aad(&sa)->unmappedsig = sig; @@ -216,3 +111,106 @@ profile_signal_perm(profile, target, MAY_WRITE, &sa), profile_signal_perm(profile, sender, MAY_READ, &sa)); } + + +static void audit_mqueue_cb(struct audit_buffer *ab, void *va) +{ + struct common_audit_data *sa = va; + + aa_audit_perms(ab, sa, NULL, 0, NULL, AA_AUDIT_POSIX_MQUEUE_MASK); + + /* move class into generic audit framse work */ + audit_log_format(ab, "class=\"posix_mqueue\""); + if (aad(sa)->request & AA_AUDIT_FILE_MASK) { + audit_log_format(ab, " fsuid=%u", + from_kuid(&init_user_ns, aad(sa)->mq.fsuid)); + audit_log_format(ab, " ouid=%u", + from_kuid(&init_user_ns, aad(sa)->mq.ouid)); + } + if (aad(sa)->peer) { + audit_log_format(ab, " olabel="); + aa_label_xaudit(ab, labels_ns(aad(sa)->label), aad(sa)->peer, + FLAGS_NONE, GFP_ATOMIC); + } +} + +int aa_profile_mqueue_perm(struct aa_profile *profile, const struct path *path, + u32 request, char *buffer, + struct common_audit_data *sa) +{ + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); + struct aa_perms perms = { }; + unsigned int state; + char *name; + + if (profile_unconfined(profile) || + !RULE_MEDIATES(rules, AA_CLASS_POSIX_MQUEUE)) + return 0; + + aad(sa)->label = &profile->label; + + name = dentry_path_raw(path->dentry, buffer, aa_g_path_max); + if (IS_ERR(name)) + return PTR_ERR(name); + if (path->mnt != current->nsproxy->ipc_ns->mq_mnt) { + /* TODO: disconnected path detection */ + pr_warn("apparmor mqueue disconnected TODO\n"); + } + + aad(sa)->name = name; + + state = aa_dfa_match(rules->policy.dfa, + rules->policy.start[AA_CLASS_POSIX_MQUEUE], + name); + perms = *aa_lookup_perms(&rules->policy, state); + aa_apply_modes_to_perms(profile, &perms); + if (!denied_perms(&perms, request)) { + /* early bailout sufficient perms no need to do further + * checks */ + return aa_check_perms(profile, &perms, request, sa, + audit_mqueue_cb); + } + /* continue check to see if we have label perms */ + //aa_label_match(profile, peer??, state false, request, &perms); + //aa_apply_modes_to_perms(profile, &perms); + + // this will just cause failure without above label check + return aa_check_perms(profile, &perms, request, sa, audit_mqueue_cb); +} + +/* mqueue - no label caching test */ +int aa_mqueue_perm(const char *op, struct aa_label *label, + const struct path *path, u32 request) +{ + struct aa_profile *profile; + char *buffer; + int error; + DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_NONE, AA_CLASS_POSIX_MQUEUE, op); + + // do we need delegate deleted with mqueues? probably + //flags |= PATH_DELEGATE_DELETED; + + /* sadly due to rcu walk hairiness, we use dentry_path_raw instead + * of just accessing the name directly, which means we need to + * do the whole buffer allocation mess + */ + buffer = aa_get_buffer(false); + if (!buffer) + return -ENOMEM; + + /* audit fields that won't change during iteration */ + aad(&sa)->request = request; + aad(&sa)->peer = NULL; + aad(&sa)->mq.fsuid = current_fsuid(); /* mqueue uses fsuid() */ + aad(&sa)->mq.ouid = d_backing_inode(path->dentry) ? + d_backing_inode(path->dentry)->i_uid: + current_fsuid(); + + error = fn_for_each_confined(label, profile, + aa_profile_mqueue_perm(profile, path, request, + buffer, &sa)); + aa_put_buffer(buffer); + + return error; +} --- linux-gcp-5.19.0.orig/security/apparmor/label.c +++ linux-gcp-5.19.0/security/apparmor/label.c @@ -197,18 +197,21 @@ return false; } -static bool vec_unconfined(struct aa_profile **vec, int n) +static long accum_vec_flags(struct aa_profile **vec, int n) { + long u = FLAG_UNCONFINED; int i; AA_BUG(!vec); for (i = 0; i < n; i++) { - if (!profile_unconfined(vec[i])) - return false; + u |= vec[i]->label.flags & (FLAG_DEBUG1 | FLAG_DEBUG2 | + FLAG_STALE); + if (!(u & vec[i]->label.flags & FLAG_UNCONFINED)) + u &= ~FLAG_UNCONFINED; } - return true; + return u; } static int sort_cmp(const void *a, const void *b) @@ -485,7 +488,7 @@ } /** - * aa_label_next_not_in_set - return the next profile of @sub not in @set + * __aa_label_next_not_in_set - return the next profile of @sub not in @set * @I: label iterator * @set: label to test against * @sub: label to if is subset of @set @@ -1097,8 +1100,7 @@ else if (k == b->size) return aa_get_label(b); } - if (vec_unconfined(new->vec, new->size)) - new->flags |= FLAG_UNCONFINED; + new->flags |= accum_vec_flags(new->vec, new->size); ls = labels_set(new); write_lock_irqsave(&ls->lock, flags); label = __label_insert(labels_set(new), new, false); @@ -1265,21 +1267,22 @@ * If a subns profile is not to be matched should be prescreened with * visibility test. */ -static inline unsigned int match_component(struct aa_profile *profile, - struct aa_profile *tp, - unsigned int state) +static inline aa_state_t match_component(struct aa_profile *profile, + struct aa_ruleset *rules, + struct aa_profile *tp, + aa_state_t state) { const char *ns_name; if (profile->ns == tp->ns) - return aa_dfa_match(profile->policy.dfa, state, tp->base.hname); + return aa_dfa_match(rules->policy.dfa, state, tp->base.hname); /* try matching with namespace name and then profile */ ns_name = aa_ns_name(profile->ns, tp->ns, true); - state = aa_dfa_match_len(profile->policy.dfa, state, ":", 1); - state = aa_dfa_match(profile->policy.dfa, state, ns_name); - state = aa_dfa_match_len(profile->policy.dfa, state, ":", 1); - return aa_dfa_match(profile->policy.dfa, state, tp->base.hname); + state = aa_dfa_match_len(rules->policy.dfa, state, ":", 1); + state = aa_dfa_match(rules->policy.dfa, state, ns_name); + state = aa_dfa_match_len(rules->policy.dfa, state, ":", 1); + return aa_dfa_match(rules->policy.dfa, state, tp->base.hname); } /** @@ -1298,8 +1301,9 @@ * check to be stacked. */ static int label_compound_match(struct aa_profile *profile, + struct aa_ruleset *rules, struct aa_label *label, - unsigned int state, bool subns, u32 request, + aa_state_t state, bool subns, u32 request, struct aa_perms *perms) { struct aa_profile *tp; @@ -1309,7 +1313,7 @@ label_for_each(i, label, tp) { if (!aa_ns_visible(profile->ns, tp->ns, subns)) continue; - state = match_component(profile, tp, state); + state = match_component(profile, rules, tp, state); if (!state) goto fail; goto next; @@ -1323,12 +1327,12 @@ label_for_each_cont(i, label, tp) { if (!aa_ns_visible(profile->ns, tp->ns, subns)) continue; - state = aa_dfa_match(profile->policy.dfa, state, "//&"); - state = match_component(profile, tp, state); + state = aa_dfa_match(rules->policy.dfa, state, "//&"); + state = match_component(profile, rules, tp, state); if (!state) goto fail; } - aa_compute_perms(profile->policy.dfa, state, perms); + *perms = *aa_lookup_perms(&rules->policy, state); aa_apply_modes_to_perms(profile, perms); if ((perms->allow & request) != request) return -EACCES; @@ -1343,6 +1347,7 @@ /** * label_components_match - find perms for all subcomponents of a label * @profile: profile to find perms for + * @rules: ruleset to search * @label: label to check access permissions for * @start: state to start match in * @subns: whether to do permission checks on components in a subns @@ -1356,20 +1361,21 @@ * check to be stacked. */ static int label_components_match(struct aa_profile *profile, - struct aa_label *label, unsigned int start, + struct aa_ruleset *rules, + struct aa_label *label, aa_state_t start, bool subns, u32 request, struct aa_perms *perms) { struct aa_profile *tp; struct label_it i; struct aa_perms tmp; - unsigned int state = 0; + aa_state_t state = 0; /* find first subcomponent to test */ label_for_each(i, label, tp) { if (!aa_ns_visible(profile->ns, tp->ns, subns)) continue; - state = match_component(profile, tp, start); + state = match_component(profile, rules, tp, start); if (!state) goto fail; goto next; @@ -1379,16 +1385,16 @@ return 0; next: - aa_compute_perms(profile->policy.dfa, state, &tmp); + tmp = *aa_lookup_perms(&rules->policy, state); aa_apply_modes_to_perms(profile, &tmp); aa_perms_accum(perms, &tmp); label_for_each_cont(i, label, tp) { if (!aa_ns_visible(profile->ns, tp->ns, subns)) continue; - state = match_component(profile, tp, start); + state = match_component(profile, rules, tp, start); if (!state) goto fail; - aa_compute_perms(profile->policy.dfa, state, &tmp); + tmp = *aa_lookup_perms(&rules->policy, state); aa_apply_modes_to_perms(profile, &tmp); aa_perms_accum(perms, &tmp); } @@ -1406,6 +1412,7 @@ /** * aa_label_match - do a multi-component label match * @profile: profile to match against (NOT NULL) + * @rules: ruleset to search * @label: label to match (NOT NULL) * @state: state to start in * @subns: whether to match subns components @@ -1414,18 +1421,18 @@ * * Returns: the state the match finished in, may be the none matching state */ -int aa_label_match(struct aa_profile *profile, struct aa_label *label, - unsigned int state, bool subns, u32 request, - struct aa_perms *perms) +int aa_label_match(struct aa_profile *profile, struct aa_ruleset *rules, + struct aa_label *label, aa_state_t state, bool subns, + u32 request, struct aa_perms *perms) { - int error = label_compound_match(profile, label, state, subns, request, - perms); + int error = label_compound_match(profile, rules, label, state, subns, + request, perms); if (!error) return error; *perms = allperms; - return label_components_match(profile, label, state, subns, request, - perms); + return label_components_match(profile, rules, label, state, subns, + request, perms); } @@ -1631,9 +1638,9 @@ AA_BUG(!str && size != 0); AA_BUG(!label); - if (flags & FLAG_ABS_ROOT) { + if (AA_DEBUG_LABEL && (flags & FLAG_ABS_ROOT)) { ns = root_ns; - len = snprintf(str, size, "="); + len = snprintf(str, size, "_"); update_for_len(total, len, size, str); } else if (!ns) { ns = labels_ns(label); @@ -1744,7 +1751,7 @@ if (!use_label_hname(ns, label, flags) || display_mode(ns, label, flags)) { len = aa_label_asxprint(&name, ns, label, flags, gfp); - if (len == -1) { + if (len < 0) { AA_DEBUG("label print error"); return; } @@ -1772,7 +1779,7 @@ int len; len = aa_label_asxprint(&str, ns, label, flags, gfp); - if (len == -1) { + if (len < 0) { AA_DEBUG("label print error"); return; } @@ -1795,7 +1802,7 @@ int len; len = aa_label_asxprint(&str, ns, label, flags, gfp); - if (len == -1) { + if (len < 0) { AA_DEBUG("label print error"); return; } @@ -1895,7 +1902,8 @@ AA_BUG(!str); str = skipn_spaces(str, n); - if (str == NULL || (*str == '=' && base != &root_ns->unconfined->label)) + if (str == NULL || (AA_DEBUG_LABEL && *str == '_' && + base != &root_ns->unconfined->label)) return ERR_PTR(-EINVAL); len = label_count_strn_entries(str, end - str); @@ -2136,7 +2144,7 @@ } /** - * __aa_labelset_udate_subtree - update all labels with a stale component + * __aa_labelset_update_subtree - update all labels with a stale component * @ns: ns to start update at (NOT NULL) * * Requires: @ns lock be held --- linux-gcp-5.19.0.orig/security/apparmor/lib.c +++ linux-gcp-5.19.0/security/apparmor/lib.c @@ -26,6 +26,25 @@ .hide = ALL_PERMS_MASK }; /** + * aa_free_str_table - free entries str table + * @str: the string table to free (MAYBE NULL) + */ +void aa_free_str_table(struct aa_str_table *t) +{ + int i; + + if (t) { + if (!t->table) + return; + + for (i = 0; i < t->size; i++) + kfree_sensitive(t->table[i]); + kfree_sensitive(t->table); + t->table = NULL; + } +} + +/** * aa_split_fqname - split a fqname into a profile and namespace name * @fqname: a full qualified name in namespace profile format (NOT NULL) * @ns_name: pointer to portion of the string containing the ns name (NOT NULL) @@ -124,7 +143,7 @@ void aa_info_message(const char *str) { if (audit_enabled) { - DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_NONE, NULL); + DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_NONE, AA_CLASS_NONE, NULL); aad(&sa)->info = str; aa_audit_msg(AUDIT_APPARMOR_STATUS, &sa, NULL); @@ -136,7 +155,7 @@ { struct counted_str *str; - str = kmalloc(sizeof(struct counted_str) + size, gfp); + str = kmalloc(struct_size(str, name, size), gfp); if (!str) return NULL; @@ -151,7 +170,7 @@ const char aa_file_perm_chrs[] = "xwracd km l "; -const char *aa_file_perm_names[] = { +const char *aa_base_perm_names[] = { "exec", "write", "read", @@ -241,6 +260,10 @@ { char str[33]; + if (!chrs) + chrs = aa_file_perm_chrs; + if (!names) + names = aa_base_perm_names; audit_log_format(ab, "\""); if ((mask & chrsmask) && chrs) { aa_perm_mask_to_str(str, sizeof(str), chrs, mask & chrsmask); @@ -254,6 +277,22 @@ audit_log_format(ab, "\""); } +void aa_audit_perms(struct audit_buffer *ab, struct common_audit_data *sa, + const char *chrs, u32 chrsmask, const char * const *names, + u32 namesmask) +{ + if (aad(sa)->request) { + audit_log_format(ab, " requested="); + aa_audit_perm_mask(ab, aad(sa)->request, chrs, chrsmask, + names, namesmask); + } + if (aad(sa)->denied) { + audit_log_format(ab, " denied="); + aa_audit_perm_mask(ab, aad(sa)->denied, chrs, chrsmask, + names, namesmask); + } +} + /** * aa_audit_perms_cb - generic callback fn for auditing perms * @ab: audit buffer (NOT NULL) @@ -263,18 +302,8 @@ { struct common_audit_data *sa = va; - if (aad(sa)->request) { - audit_log_format(ab, " requested_mask="); - aa_audit_perm_mask(ab, aad(sa)->request, aa_file_perm_chrs, - PERMS_CHRS_MASK, aa_file_perm_names, - PERMS_NAMES_MASK); - } - if (aad(sa)->denied) { - audit_log_format(ab, "denied_mask="); - aa_audit_perm_mask(ab, aad(sa)->denied, aa_file_perm_chrs, - PERMS_CHRS_MASK, aa_file_perm_names, - PERMS_NAMES_MASK); - } + aa_audit_perms(ab, sa, aa_file_perm_chrs, PERMS_CHRS_MASK, + aa_base_perm_names, PERMS_NAMES_MASK); audit_log_format(ab, " peer="); aa_label_xaudit(ab, labels_ns(aad(sa)->label), aad(sa)->peer, FLAGS_NONE, GFP_ATOMIC); @@ -308,86 +337,22 @@ perms->kill = ALL_PERMS_MASK; else if (COMPLAIN_MODE(profile)) perms->complain = ALL_PERMS_MASK; -/* - * TODO: - * else if (PROMPT_MODE(profile)) - * perms->prompt = ALL_PERMS_MASK; - */ -} - -static u32 map_other(u32 x) -{ - return ((x & 0x3) << 8) | /* SETATTR/GETATTR */ - ((x & 0x1c) << 18) | /* ACCEPT/BIND/LISTEN */ - ((x & 0x60) << 19); /* SETOPT/GETOPT */ -} - -void aa_compute_perms(struct aa_dfa *dfa, unsigned int state, - struct aa_perms *perms) -{ - *perms = (struct aa_perms) { - .allow = dfa_user_allow(dfa, state), - .audit = dfa_user_audit(dfa, state), - .quiet = dfa_user_quiet(dfa, state), - }; - - /* for v5 perm mapping in the policydb, the other set is used - * to extend the general perm set - */ - perms->allow |= map_other(dfa_other_allow(dfa, state)); - perms->audit |= map_other(dfa_other_audit(dfa, state)); - perms->quiet |= map_other(dfa_other_quiet(dfa, state)); -// perms->xindex = dfa_user_xindex(dfa, state); -} - -/** - * aa_perms_accum_raw - accumulate perms with out masking off overlapping perms - * @accum - perms struct to accumulate into - * @addend - perms struct to add to @accum - */ -void aa_perms_accum_raw(struct aa_perms *accum, struct aa_perms *addend) -{ - accum->deny |= addend->deny; - accum->allow &= addend->allow & ~addend->deny; - accum->audit |= addend->audit & addend->allow; - accum->quiet &= addend->quiet & ~addend->allow; - accum->kill |= addend->kill & ~addend->allow; - accum->stop |= addend->stop & ~addend->allow; - accum->complain |= addend->complain & ~addend->allow & ~addend->deny; - accum->cond |= addend->cond & ~addend->allow & ~addend->deny; - accum->hide &= addend->hide & ~addend->allow; - accum->prompt |= addend->prompt & ~addend->allow & ~addend->deny; -} - -/** - * aa_perms_accum - accumulate perms, masking off overlapping perms - * @accum - perms struct to accumulate into - * @addend - perms struct to add to @accum - */ -void aa_perms_accum(struct aa_perms *accum, struct aa_perms *addend) -{ - accum->deny |= addend->deny; - accum->allow &= addend->allow & ~accum->deny; - accum->audit |= addend->audit & accum->allow; - accum->quiet &= addend->quiet & ~accum->allow; - accum->kill |= addend->kill & ~accum->allow; - accum->stop |= addend->stop & ~accum->allow; - accum->complain |= addend->complain & ~accum->allow & ~accum->deny; - accum->cond |= addend->cond & ~accum->allow & ~accum->deny; - accum->hide &= addend->hide & ~accum->allow; - accum->prompt |= addend->prompt & ~accum->allow & ~accum->deny; + else if (USER_MODE(profile)) + perms->prompt = ALL_PERMS_MASK; } -void aa_profile_match_label(struct aa_profile *profile, struct aa_label *label, +void aa_profile_match_label(struct aa_profile *profile, + struct aa_ruleset *rules, + struct aa_label *label, int type, u32 request, struct aa_perms *perms) { /* TODO: doesn't yet handle extended types */ - unsigned int state; + aa_state_t state; - state = aa_dfa_next(profile->policy.dfa, - profile->policy.start[AA_CLASS_LABEL], + state = aa_dfa_next(rules->policy.dfa, + rules->policy.start[AA_CLASS_LABEL], type); - aa_label_match(profile, label, state, false, request, perms); + aa_label_match(profile, rules, label, state, false, request, perms); } @@ -396,13 +361,16 @@ u32 request, int type, u32 *deny, struct common_audit_data *sa) { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); struct aa_perms perms; aad(sa)->label = &profile->label; aad(sa)->peer = &target->label; aad(sa)->request = request; - aa_profile_match_label(profile, &target->label, type, request, &perms); + aa_profile_match_label(profile, rules, &target->label, type, request, + &perms); aa_apply_modes_to_perms(profile, &perms); *deny |= request & perms.deny; return aa_check_perms(profile, &perms, request, sa, aa_audit_perms_cb); @@ -431,7 +399,7 @@ void (*cb)(struct audit_buffer *, void *)) { int type, error; - u32 denied = request & (~perms->allow | perms->deny); + u32 denied = denied_perms(perms, request); if (likely(!denied)) { /* mask off perms that are not being force audited */ --- linux-gcp-5.19.0.orig/security/apparmor/lsm.c +++ linux-gcp-5.19.0/security/apparmor/lsm.c @@ -18,19 +18,23 @@ #include #include #include +#include +#include #include #include #include -#include +#include #include #include +#include "include/af_unix.h" #include "include/apparmor.h" #include "include/apparmorfs.h" #include "include/audit.h" #include "include/capability.h" #include "include/cred.h" #include "include/file.h" +#include "include/inode.h" #include "include/ipc.h" #include "include/net.h" #include "include/path.h" @@ -56,6 +60,11 @@ static LIST_HEAD(aa_global_buffers); static DEFINE_SPINLOCK(aa_buffers_lock); +static bool is_mqueue_dentry(struct dentry *dentry) +{ + return dentry && is_mqueue_inode(d_backing_inode(dentry)); +} + /* * LSM hook functions */ @@ -163,12 +172,15 @@ struct label_it i; label_for_each_confined(i, label, profile) { + struct aa_ruleset *rules; if (COMPLAIN_MODE(profile)) continue; + rules = list_first_entry(&profile->rules, + typeof(*rules), list); *effective = cap_intersect(*effective, - profile->caps.allow); + rules->caps.allow); *permitted = cap_intersect(*permitted, - profile->caps.allow); + rules->caps.allow); } } rcu_read_unlock(); @@ -419,11 +431,167 @@ return common_perm_cond(OP_CHOWN, path, AA_MAY_CHOWN); } +static int common_mqueue_path_perm(const char *op, u32 request, + const struct path *path) +{ + struct aa_label *label; + int error = 0; + + label = begin_current_label_crit_section(); + if (!unconfined(label)) + error = aa_mqueue_perm(OP_UNLINK, label, path, request); + + end_current_label_crit_section(label); + + return error; +} + static int apparmor_inode_getattr(const struct path *path) { + if (is_mqueue_dentry(path->dentry)) + /* TODO: fn() for d_parent */ + return common_mqueue_path_perm(OP_UNLINK, AA_MAY_GETATTR, path); + return common_perm_cond(OP_GETATTR, path, AA_MAY_GETATTR); } +/* inode security operations */ + +/* alloced by infrastructure */ +static int apparmor_inode_alloc_security(struct inode *inode) +{ + struct aa_inode_sec *isec = apparmor_inode(inode); + + spin_lock_init(&isec->lock); + isec->inode = inode; + isec->label = NULL; + isec->sclass = 0; + isec->initialized = false; + + return 0; +} + +/* freed by infrastructure */ +static void apparmor_inode_free_security(struct inode *inode) +{ + struct aa_inode_sec *isec = apparmor_inode(inode); + + if (!isec) + return; + + aa_put_label(isec->label); +} + + +/* this is broken, in that we must make it work for ALL xattr fs + * or it will bail early, so this does not work with LSM stacking + */ +static int apparmor_inode_init_security(struct inode *inode, struct inode *dir, + const struct qstr *qstr, + const char **name, + void **value, size_t *len) +{ + struct aa_inode_sec *isec = apparmor_inode(inode); + + if (is_mqueue_inode(dir)) { + /* only initialize based on implied label atm */ + isec->label = aa_get_current_label(); + isec->sclass = AA_CLASS_POSIX_MQUEUE; + isec->initialized = true; + } + + /* we aren't setting xattrs yet so pretend it isn't supported, + * note bug in LSM means other LSMs won't get to init inode either + */ + return -EOPNOTSUPP; +} + +static int inode_init_with_dentry(struct inode *inode, struct dentry *dentry) +{ + struct aa_inode_sec *isec = apparmor_inode(inode); + + if (isec->initialized) + return 0; + spin_lock(&isec->lock); + /* recheck under lock */ + if (isec->initialized) + goto unlock; + + if (is_mqueue_sb(inode->i_sb)) { + /* only initialize based on implied label atm */ + isec->label = aa_get_current_label(); + isec->sclass = AA_CLASS_POSIX_MQUEUE; + isec->initialized = true; + } + +unlock: + spin_unlock(&isec->lock); + + return 0; +} + +static void apparmor_d_instantiate(struct dentry *dentry, struct inode *inode) +{ + if (inode) + inode_init_with_dentry(inode, dentry); +} + +static int apparmor_inode_create(struct inode *dir, struct dentry *dentry, + umode_t mode) +{ + struct aa_label *label; + int error = 0; + + label = begin_current_label_crit_section(); + if (!unconfined(label)) { + struct path path = { + .dentry = dentry, + .mnt = current->nsproxy->ipc_ns->mq_mnt, + }; + if (is_mqueue_inode(dir)) { + error = aa_mqueue_perm(OP_CREATE, label, &path, AA_MAY_CREATE); + } + } + end_current_label_crit_section(label); + + return error; +} + +static int common_mqueue_perm(const char *op, u32 request, struct inode *dir, struct dentry *dentry) +{ + /* can't directly determine ipc ns, but know for mqueues dir is mnt_root */ + struct path path = { + .dentry = dentry, + .mnt = d_inode(current->nsproxy->ipc_ns->mq_mnt->mnt_root) == dir ? current->nsproxy->ipc_ns->mq_mnt : NULL, + }; + + if (dir != d_inode(current->nsproxy->ipc_ns->mq_mnt->mnt_root)) + pr_warn("apparmor: unlink dir != mnt_root - disconnected"); + + return common_mqueue_path_perm(op, request, &path); +} + +static int apparmor_inode_unlink(struct inode *dir, struct dentry *dentry) +{ + int error = 0; + + if (is_mqueue_dentry(dentry)) + error = common_mqueue_perm(OP_UNLINK, AA_MAY_DELETE, dir, dentry); + + return error; +} + +static int apparmor_inode_setattr(struct dentry *dentry, struct iattr *iattr) +{ + /* TODO: extend to support iattr as a parameter */ + if (is_mqueue_dentry(dentry)) + /* TODO: fn() for d_parent */ + return common_mqueue_perm(OP_UNLINK, AA_MAY_SETATTR, + d_backing_inode(dentry->d_parent), dentry); + + return 0; +} + static int apparmor_file_open(struct file *file) { struct aa_file_ctx *fctx = file_ctx(file); @@ -452,10 +620,15 @@ inode->i_mode }; - error = aa_path_perm(OP_OPEN, label, &file->f_path, 0, - aa_map_file_to_perms(file), &cond); + if (is_mqueue_inode(file_inode(file))) + error = aa_mqueue_perm(OP_OPEN, label, &file->f_path, + aa_map_file_to_perms(file)); + else + error = aa_path_perm(OP_OPEN, label, &file->f_path, 0, + aa_map_file_to_perms(file), &cond); /* todo cache full allowed permissions set and state */ - fctx->allow = aa_map_file_to_perms(file); + if (!error) + fctx->allow = aa_map_file_to_perms(file); } aa_put_label(label); @@ -467,6 +640,7 @@ struct aa_file_ctx *ctx = file_ctx(file); struct aa_label *label = begin_current_label_crit_section(); + /* no inode available here */ spin_lock_init(&ctx->lock); rcu_assign_pointer(ctx->label, aa_get_label(label)); end_current_label_crit_section(label); @@ -622,6 +796,7 @@ const struct cred *cred = get_task_cred(task); struct aa_task_ctx *ctx = task_ctx(current); struct aa_label *label = NULL; + bool newline = true; if (strcmp(name, "current") == 0) label = aa_get_newest_label(cred_label(cred)); @@ -629,11 +804,14 @@ label = aa_get_newest_label(ctx->previous); else if (strcmp(name, "exec") == 0 && ctx->onexec) label = aa_get_newest_label(ctx->onexec); - else + else if (strcmp(name, "context") == 0) { + label = aa_get_newest_label(cred_label(cred)); + newline = false; + } else error = -EINVAL; if (label) - error = aa_getprocattr(label, value); + error = aa_getprocattr(label, value, newline); aa_put_label(label); put_cred(cred); @@ -641,17 +819,52 @@ return error; } + +static int profile_interface_lsm(struct aa_profile *profile, + struct common_audit_data *sa) +{ + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); + struct aa_perms perms = { }; + unsigned int state; + + state = RULE_MEDIATES(rules, AA_CLASS_DISPLAY_LSM); + if (state) { + perms = *aa_lookup_perms(&rules->policy, state); + aa_apply_modes_to_perms(profile, &perms); + aad(sa)->label = &profile->label; + + return aa_check_perms(profile, &perms, AA_MAY_WRITE, sa, NULL); + } + + return 0; +} + static int apparmor_setprocattr(const char *name, void *value, size_t size) { char *command, *largs = NULL, *args = value; size_t arg_size; int error; - DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_NONE, OP_SETPROCATTR); + DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_NONE, AA_CLASS_NONE, + OP_SETPROCATTR); if (size == 0) return -EINVAL; + /* LSM infrastructure does actual setting of interface_lsm if allowed */ + if (!strcmp(name, "interface_lsm")) { + struct aa_profile *profile; + struct aa_label *label; + + aad(&sa)->info = "set interface lsm"; + label = begin_current_label_crit_section(); + error = fn_for_each_confined(label, profile, + profile_interface_lsm(profile, &sa)); + end_current_label_crit_section(label); + return error; + } + /* AppArmor requires that the buffer must be null terminated atm */ if (args[size - 1] != '\0') { /* null terminate */ @@ -802,20 +1015,23 @@ return error; } -/** - * apparmor_sk_alloc_security - allocate and attach the sk_security field - */ -static int apparmor_sk_alloc_security(struct sock *sk, int family, gfp_t flags) +static int apparmor_userns_create(const struct cred *cred) { - struct aa_sk_ctx *ctx; - - ctx = kzalloc(sizeof(*ctx), flags); - if (!ctx) - return -ENOMEM; + struct aa_label *label; + struct aa_profile *profile; + int error = 0; + DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_TASK, AA_CLASS_NS, + OP_USERNS_CREATE); - SK_CTX(sk) = ctx; + label = begin_current_label_crit_section(); + if (unprivileged_userns_restricted || !unconfined(label)) { + error = fn_for_each(label, profile, + aa_profile_ns_perm(profile, &sa, + AA_USERNS_CREATE)); + end_current_label_crit_section(label); + } - return 0; + return error; } /** @@ -823,22 +1039,21 @@ */ static void apparmor_sk_free_security(struct sock *sk) { - struct aa_sk_ctx *ctx = SK_CTX(sk); + struct aa_sk_ctx *ctx = aa_sock(sk); - SK_CTX(sk) = NULL; aa_put_label(ctx->label); aa_put_label(ctx->peer); - kfree(ctx); + path_put(&ctx->path); } /** - * apparmor_clone_security - clone the sk_security field + * apparmor_sk_clone_security - clone the sk_security field */ static void apparmor_sk_clone_security(const struct sock *sk, struct sock *newsk) { - struct aa_sk_ctx *ctx = SK_CTX(sk); - struct aa_sk_ctx *new = SK_CTX(newsk); + struct aa_sk_ctx *ctx = aa_sock(sk); + struct aa_sk_ctx *new = aa_sock(newsk); if (new->label) aa_put_label(new->label); @@ -847,6 +1062,99 @@ if (new->peer) aa_put_label(new->peer); new->peer = aa_get_label(ctx->peer); + new->path = ctx->path; + path_get(&new->path); +} + +static struct path *UNIX_FS_CONN_PATH(struct sock *sk, struct sock *newsk) +{ + if (sk->sk_family == PF_UNIX && UNIX_FS(sk)) + return &unix_sk(sk)->path; + else if (newsk->sk_family == PF_UNIX && UNIX_FS(newsk)) + return &unix_sk(newsk)->path; + return NULL; +} + +/** + * apparmor_unix_stream_connect - check perms before making unix domain conn + * + * peer is locked when this hook is called + */ +static int apparmor_unix_stream_connect(struct sock *sk, struct sock *peer_sk, + struct sock *newsk) +{ + struct aa_sk_ctx *sk_ctx = aa_sock(sk); + struct aa_sk_ctx *peer_ctx = aa_sock(peer_sk); + struct aa_sk_ctx *new_ctx = aa_sock(newsk); + struct aa_label *label; + struct path *path; + int error; + + label = __begin_current_label_crit_section(); + error = aa_unix_peer_perm(label, OP_CONNECT, + (AA_MAY_CONNECT | AA_MAY_SEND | AA_MAY_RECEIVE), + sk, peer_sk, NULL); + if (!UNIX_FS(peer_sk)) { + last_error(error, + aa_unix_peer_perm(peer_ctx->label, OP_CONNECT, + (AA_MAY_ACCEPT | AA_MAY_SEND | AA_MAY_RECEIVE), + peer_sk, sk, label)); + } + __end_current_label_crit_section(label); + + if (error) + return error; + + /* label newsk if it wasn't labeled in post_create. Normally this + * would be done in sock_graft, but because we are directly looking + * at the peer_sk to obtain peer_labeling for unix socks this + * does not work + */ + if (!new_ctx->label) + new_ctx->label = aa_get_label(peer_ctx->label); + + /* Cross reference the peer labels for SO_PEERSEC */ + if (new_ctx->peer) + aa_put_label(new_ctx->peer); + + if (sk_ctx->peer) + aa_put_label(sk_ctx->peer); + + new_ctx->peer = aa_get_label(sk_ctx->label); + sk_ctx->peer = aa_get_label(peer_ctx->label); + + path = UNIX_FS_CONN_PATH(sk, peer_sk); + if (path) { + new_ctx->path = *path; + sk_ctx->path = *path; + path_get(path); + path_get(path); + } + return 0; +} + +/** + * apparmor_unix_may_send - check perms before conn or sending unix dgrams + * + * other is locked when this hook is called + * + * dgram connect calls may_send, peer setup but path not copied????? + */ +static int apparmor_unix_may_send(struct socket *sock, struct socket *peer) +{ + struct aa_sk_ctx *peer_ctx = aa_sock(peer->sk); + struct aa_label *label; + int error; + + label = __begin_current_label_crit_section(); + error = xcheck(aa_unix_peer_perm(label, OP_SENDMSG, AA_MAY_SEND, + sock->sk, peer->sk, NULL), + aa_unix_peer_perm(peer_ctx->label, OP_SENDMSG, + AA_MAY_RECEIVE, + peer->sk, sock->sk, label)); + __end_current_label_crit_section(label); + + return error; } /** @@ -886,15 +1194,12 @@ struct aa_label *label; if (kern) { - struct aa_ns *ns = aa_get_current_ns(); - - label = aa_get_label(ns_unconfined(ns)); - aa_put_ns(ns); + label = aa_get_label(kernel_t); } else label = aa_get_current_label(); if (sock->sk) { - struct aa_sk_ctx *ctx = SK_CTX(sock->sk); + struct aa_sk_ctx *ctx = aa_sock(sock->sk); aa_put_label(ctx->label); ctx->label = aa_get_label(label); @@ -937,7 +1242,7 @@ } /** - * apparmor_socket_list - check perms before allowing listen + * apparmor_socket_listen - check perms before allowing listen */ static int apparmor_socket_listen(struct socket *sock, int backlog) { @@ -1041,7 +1346,7 @@ } /** - * apparmor_getsockopt - check perms before getting socket options + * apparmor_socket_getsockopt - check perms before getting socket options */ static int apparmor_socket_getsockopt(struct socket *sock, int level, int optname) @@ -1051,7 +1356,7 @@ } /** - * apparmor_setsockopt - check perms before setting socket options + * apparmor_socket_setsockopt - check perms before setting socket options */ static int apparmor_socket_setsockopt(struct socket *sock, int level, int optname) @@ -1070,7 +1375,7 @@ #ifdef CONFIG_NETWORK_SECMARK /** - * apparmor_socket_sock_recv_skb - check perms before associating skb to sk + * apparmor_socket_sock_rcv_skb - check perms before associating skb to sk * * Note: can not sleep may be called with locks held * @@ -1079,7 +1384,7 @@ */ static int apparmor_socket_sock_rcv_skb(struct sock *sk, struct sk_buff *skb) { - struct aa_sk_ctx *ctx = SK_CTX(sk); + struct aa_sk_ctx *ctx = aa_sock(sk); if (!skb->secmark) return 0; @@ -1092,12 +1397,28 @@ static struct aa_label *sk_peer_label(struct sock *sk) { - struct aa_sk_ctx *ctx = SK_CTX(sk); + struct sock *peer_sk; + struct aa_sk_ctx *ctx = aa_sock(sk); + struct aa_label *label = ERR_PTR(-ENOPROTOOPT); if (ctx->peer) - return ctx->peer; + return aa_get_label(ctx->peer); - return ERR_PTR(-ENOPROTOOPT); + if (sk->sk_family != PF_UNIX) + return ERR_PTR(-ENOPROTOOPT); + + /* check for sockpair peering which does not go through + * security_unix_stream_connect + */ + peer_sk = unix_peer_get(sk); + if (peer_sk) { + ctx = aa_sock(peer_sk); + if (ctx->label) + label = aa_get_label(ctx->label); + sock_put(peer_sk); + } + + return label; } /** @@ -1141,6 +1462,7 @@ } + aa_put_label(peer); done: end_current_label_crit_section(label); @@ -1148,22 +1470,6 @@ } /** - * apparmor_socket_getpeersec_dgram - get security label of packet - * @sock: the peer socket - * @skb: packet data - * @secid: pointer to where to put the secid of the packet - * - * Sets the netlabel socket state on sk from parent - */ -static int apparmor_socket_getpeersec_dgram(struct socket *sock, - struct sk_buff *skb, u32 *secid) - -{ - /* TODO: requires secid support */ - return -ENOPROTOOPT; -} - -/** * apparmor_sock_graft - Initialize newly created socket * @sk: child sock * @parent: parent socket @@ -1176,7 +1482,7 @@ */ static void apparmor_sock_graft(struct sock *sk, struct socket *parent) { - struct aa_sk_ctx *ctx = SK_CTX(sk); + struct aa_sk_ctx *ctx = aa_sock(sk); if (!ctx->label) ctx->label = aa_get_current_label(); @@ -1186,7 +1492,7 @@ static int apparmor_inet_conn_request(const struct sock *sk, struct sk_buff *skb, struct request_sock *req) { - struct aa_sk_ctx *ctx = SK_CTX(sk); + struct aa_sk_ctx *ctx = aa_sock(sk); if (!skb->secmark) return 0; @@ -1197,12 +1503,22 @@ #endif /* - * The cred blob is a pointer to, not an instance of, an aa_task_ctx. + * The cred blob is a pointer to, not an instance of, an aa_label. */ struct lsm_blob_sizes apparmor_blob_sizes __lsm_ro_after_init = { - .lbs_cred = sizeof(struct aa_task_ctx *), + .lbs_cred = sizeof(struct aa_label *), .lbs_file = sizeof(struct aa_file_ctx), + .lbs_inode = sizeof(struct aa_inode_sec), .lbs_task = sizeof(struct aa_task_ctx), + .lbs_sock = sizeof(struct aa_sk_ctx), + .lbs_ipc = sizeof(struct aa_ipc_sec), + .lbs_msg_msg = sizeof(struct aa_msg_sec), + .lbs_superblock = sizeof(struct aa_superblock_sec), +}; + +static struct lsm_id apparmor_lsmid __lsm_ro_after_init = { + .lsm = "apparmor", + .slot = LSMBLOB_NEEDED }; static struct security_hook_list apparmor_hooks[] __lsm_ro_after_init = { @@ -1227,6 +1543,16 @@ LSM_HOOK_INIT(path_truncate, apparmor_path_truncate), LSM_HOOK_INIT(inode_getattr, apparmor_inode_getattr), + LSM_HOOK_INIT(inode_alloc_security, apparmor_inode_alloc_security), + LSM_HOOK_INIT(inode_free_security, apparmor_inode_free_security), + LSM_HOOK_INIT(inode_init_security, apparmor_inode_init_security), + LSM_HOOK_INIT(d_instantiate, apparmor_d_instantiate), + + LSM_HOOK_INIT(inode_create, apparmor_inode_create), + LSM_HOOK_INIT(inode_unlink, apparmor_inode_unlink), + LSM_HOOK_INIT(inode_setattr, apparmor_inode_setattr), + LSM_HOOK_INIT(inode_getattr, apparmor_inode_getattr), + LSM_HOOK_INIT(file_open, apparmor_file_open), LSM_HOOK_INIT(file_receive, apparmor_file_receive), LSM_HOOK_INIT(file_permission, apparmor_file_permission), @@ -1239,10 +1565,12 @@ LSM_HOOK_INIT(getprocattr, apparmor_getprocattr), LSM_HOOK_INIT(setprocattr, apparmor_setprocattr), - LSM_HOOK_INIT(sk_alloc_security, apparmor_sk_alloc_security), LSM_HOOK_INIT(sk_free_security, apparmor_sk_free_security), LSM_HOOK_INIT(sk_clone_security, apparmor_sk_clone_security), + LSM_HOOK_INIT(unix_stream_connect, apparmor_unix_stream_connect), + LSM_HOOK_INIT(unix_may_send, apparmor_unix_may_send), + LSM_HOOK_INIT(socket_create, apparmor_socket_create), LSM_HOOK_INIT(socket_post_create, apparmor_socket_post_create), LSM_HOOK_INIT(socket_bind, apparmor_socket_bind), @@ -1261,8 +1589,6 @@ #endif LSM_HOOK_INIT(socket_getpeersec_stream, apparmor_socket_getpeersec_stream), - LSM_HOOK_INIT(socket_getpeersec_dgram, - apparmor_socket_getpeersec_dgram), LSM_HOOK_INIT(sock_graft, apparmor_sock_graft), #ifdef CONFIG_NETWORK_SECMARK LSM_HOOK_INIT(inet_conn_request, apparmor_inet_conn_request), @@ -1283,6 +1609,7 @@ LSM_HOOK_INIT(task_getsecid_obj, apparmor_task_getsecid_obj), LSM_HOOK_INIT(task_setrlimit, apparmor_task_setrlimit), LSM_HOOK_INIT(task_kill, apparmor_task_kill), + LSM_HOOK_INIT(userns_create, apparmor_userns_create), #ifdef CONFIG_AUDIT LSM_HOOK_INIT(audit_rule_init, aa_audit_rule_init), @@ -1357,8 +1684,14 @@ module_param_named(hash_policy, aa_g_hash_policy, aabool, S_IRUSR | S_IWUSR); #endif +/* whether policy exactly as loaded is retained for debug and checkpointing */ +bool aa_g_export_binary = IS_ENABLED(CONFIG_SECURITY_APPARMOR_EXPORT_BINARY); +#ifdef CONFIG_SECURITY_APPARMOR_EXPORT_BINARY +module_param_named(export_binary, aa_g_export_binary, aabool, 0600); +#endif + /* policy loaddata compression level */ -int aa_g_rawdata_compression_level = Z_DEFAULT_COMPRESSION; +int aa_g_rawdata_compression_level = ZSTD_CLEVEL_DEFAULT; module_param_named(rawdata_compression_level, aa_g_rawdata_compression_level, aacompressionlevel, 0400); @@ -1399,7 +1732,7 @@ * DEPRECATED: read only as strict checking of load is always done now * that none root users (user namespaces) can load policy. */ -bool aa_g_paranoid_load = true; +bool aa_g_paranoid_load = IS_ENABLED(CONFIG_SECURITY_APPARMOR_PARANOID_LOAD); module_param_named(paranoid_load, aa_g_paranoid_load, aabool, S_IRUGO); static int param_get_aaintbool(char *buffer, const struct kernel_param *kp); @@ -1540,9 +1873,9 @@ error = param_set_int(val, kp); aa_g_rawdata_compression_level = clamp(aa_g_rawdata_compression_level, - Z_NO_COMPRESSION, - Z_BEST_COMPRESSION); - pr_info("AppArmor: policy rawdata compression level set to %u\n", + zstd_min_clevel(), + zstd_max_clevel()); + pr_info("AppArmor: policy rawdata compression level set to %d\n", aa_g_rawdata_compression_level); return error; @@ -1761,6 +2094,20 @@ .mode = 0600, .proc_handler = apparmor_dointvec, }, + { + .procname = "apparmor_display_secid_mode", + .data = &apparmor_display_secid_mode, + .maxlen = sizeof(int), + .mode = 0600, + .proc_handler = apparmor_dointvec, + }, + { + .procname = "apparmor_restrict_unprivileged_userns", + .data = &unprivileged_userns_restricted, + .maxlen = sizeof(int), + .mode = 0600, + .proc_handler = apparmor_dointvec, + }, { } }; @@ -1791,7 +2138,7 @@ if (sk == NULL) return NF_ACCEPT; - ctx = SK_CTX(sk); + ctx = aa_sock(sk); if (!apparmor_secmark_check(ctx->label, OP_SENDMSG, AA_MAY_SEND, skb->secmark, sk)) return NF_ACCEPT; @@ -1819,11 +2166,8 @@ static int __net_init apparmor_nf_register(struct net *net) { - int ret; - - ret = nf_register_net_hooks(net, apparmor_nf_ops, + return nf_register_net_hooks(net, apparmor_nf_ops, ARRAY_SIZE(apparmor_nf_ops)); - return ret; } static void __net_exit apparmor_nf_unregister(struct net *net) @@ -1857,8 +2201,6 @@ { int error; - aa_secids_init(); - error = aa_setup_dfa_engine(); if (error) { AA_ERROR("Unable to setup dfa engine\n"); @@ -1891,7 +2233,7 @@ goto buffers_out; } security_add_hooks(apparmor_hooks, ARRAY_SIZE(apparmor_hooks), - "apparmor"); + &apparmor_lsmid); /* Report that AppArmor successfully initialized */ apparmor_initialized = 1; @@ -1916,7 +2258,7 @@ DEFINE_LSM(apparmor) = { .name = "apparmor", - .flags = LSM_FLAG_LEGACY_MAJOR | LSM_FLAG_EXCLUSIVE, + .flags = LSM_FLAG_LEGACY_MAJOR, .enabled = &apparmor_enabled, .blobs = &apparmor_blob_sizes, .init = apparmor_init, --- linux-gcp-5.19.0.orig/security/apparmor/match.c +++ linux-gcp-5.19.0/security/apparmor/match.c @@ -436,17 +436,17 @@ * * Returns: final state reached after input is consumed */ -unsigned int aa_dfa_match_len(struct aa_dfa *dfa, unsigned int start, - const char *str, int len) +aa_state_t aa_dfa_match_len(struct aa_dfa *dfa, aa_state_t start, + const char *str, int len) { u16 *def = DEFAULT_TABLE(dfa); u32 *base = BASE_TABLE(dfa); u16 *next = NEXT_TABLE(dfa); u16 *check = CHECK_TABLE(dfa); - unsigned int state = start; + aa_state_t state = start; - if (state == 0) - return 0; + if (state == DFA_NOMATCH) + return DFA_NOMATCH; /* current state is , matching character *str */ if (dfa->tables[YYTD_ID_EC]) { @@ -476,17 +476,16 @@ * * Returns: final state reached after input is consumed */ -unsigned int aa_dfa_match(struct aa_dfa *dfa, unsigned int start, - const char *str) +aa_state_t aa_dfa_match(struct aa_dfa *dfa, aa_state_t start, const char *str) { u16 *def = DEFAULT_TABLE(dfa); u32 *base = BASE_TABLE(dfa); u16 *next = NEXT_TABLE(dfa); u16 *check = CHECK_TABLE(dfa); - unsigned int state = start; + aa_state_t state = start; - if (state == 0) - return 0; + if (state == DFA_NOMATCH) + return DFA_NOMATCH; /* current state is , matching character *str */ if (dfa->tables[YYTD_ID_EC]) { @@ -515,8 +514,7 @@ * * Returns: state reach after input @c */ -unsigned int aa_dfa_next(struct aa_dfa *dfa, unsigned int state, - const char c) +aa_state_t aa_dfa_next(struct aa_dfa *dfa, aa_state_t state, const char c) { u16 *def = DEFAULT_TABLE(dfa); u32 *base = BASE_TABLE(dfa); @@ -534,7 +532,7 @@ return state; } -unsigned int aa_dfa_outofband_transition(struct aa_dfa *dfa, unsigned int state) +aa_state_t aa_dfa_outofband_transition(struct aa_dfa *dfa, aa_state_t state) { u16 *def = DEFAULT_TABLE(dfa); u32 *base = BASE_TABLE(dfa); @@ -564,7 +562,7 @@ * * Returns: final state reached after input is consumed */ -unsigned int aa_dfa_match_until(struct aa_dfa *dfa, unsigned int start, +aa_state_t aa_dfa_match_until(struct aa_dfa *dfa, aa_state_t start, const char *str, const char **retpos) { u16 *def = DEFAULT_TABLE(dfa); @@ -572,10 +570,10 @@ u16 *next = NEXT_TABLE(dfa); u16 *check = CHECK_TABLE(dfa); u32 *accept = ACCEPT_TABLE(dfa); - unsigned int state = start, pos; + aa_state_t state = start, pos; - if (state == 0) - return 0; + if (state == DFA_NOMATCH) + return DFA_NOMATCH; /* current state is , matching character *str */ if (dfa->tables[YYTD_ID_EC]) { @@ -625,7 +623,7 @@ * * Returns: final state reached after input is consumed */ -unsigned int aa_dfa_matchn_until(struct aa_dfa *dfa, unsigned int start, +aa_state_t aa_dfa_matchn_until(struct aa_dfa *dfa, aa_state_t start, const char *str, int n, const char **retpos) { u16 *def = DEFAULT_TABLE(dfa); @@ -633,11 +631,11 @@ u16 *next = NEXT_TABLE(dfa); u16 *check = CHECK_TABLE(dfa); u32 *accept = ACCEPT_TABLE(dfa); - unsigned int state = start, pos; + aa_state_t state = start, pos; *retpos = NULL; - if (state == 0) - return 0; + if (state == DFA_NOMATCH) + return DFA_NOMATCH; /* current state is , matching character *str */ if (dfa->tables[YYTD_ID_EC]) { @@ -677,11 +675,11 @@ } while (0) /* For DFAs that don't support extended tagging of states */ -static bool is_loop(struct match_workbuf *wb, unsigned int state, +static bool is_loop(struct match_workbuf *wb, aa_state_t state, unsigned int *adjust) { - unsigned int pos = wb->pos; - unsigned int i; + aa_state_t pos = wb->pos; + aa_state_t i; if (wb->history[pos] < state) return false; @@ -700,7 +698,7 @@ return true; } -static unsigned int leftmatch_fb(struct aa_dfa *dfa, unsigned int start, +static aa_state_t leftmatch_fb(struct aa_dfa *dfa, aa_state_t start, const char *str, struct match_workbuf *wb, unsigned int *count) { @@ -708,7 +706,7 @@ u32 *base = BASE_TABLE(dfa); u16 *next = NEXT_TABLE(dfa); u16 *check = CHECK_TABLE(dfa); - unsigned int state = start, pos; + aa_state_t state = start, pos; AA_BUG(!dfa); AA_BUG(!str); @@ -716,8 +714,8 @@ AA_BUG(!count); *count = 0; - if (state == 0) - return 0; + if (state == DFA_NOMATCH) + return DFA_NOMATCH; /* current state is , matching character *str */ if (dfa->tables[YYTD_ID_EC]) { @@ -781,8 +779,8 @@ * * Returns: final state reached after input is consumed */ -unsigned int aa_dfa_leftmatch(struct aa_dfa *dfa, unsigned int start, - const char *str, unsigned int *count) +aa_state_t aa_dfa_leftmatch(struct aa_dfa *dfa, aa_state_t start, + const char *str, unsigned int *count) { DEFINE_MATCH_WB(wb); --- linux-gcp-5.19.0.orig/security/apparmor/mount.c +++ linux-gcp-5.19.0/security/apparmor/mount.c @@ -134,7 +134,7 @@ struct aa_perms *perms, const char *info, int error) { int audit_type = AUDIT_APPARMOR_AUTO; - DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_NONE, op); + DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_NONE, AA_CLASS_MOUNT, op); if (likely(!error)) { u32 mask = perms->audit; @@ -190,7 +190,7 @@ * * Returns: next state after flags match */ -static unsigned int match_mnt_flags(struct aa_dfa *dfa, unsigned int state, +static aa_state_t match_mnt_flags(struct aa_dfa *dfa, aa_state_t state, unsigned long flags) { unsigned int i; @@ -203,89 +203,72 @@ return state; } -/** - * compute_mnt_perms - compute mount permission associated with @state - * @dfa: dfa to match against (NOT NULL) - * @state: state match finished in - * - * Returns: mount permissions - */ -static struct aa_perms compute_mnt_perms(struct aa_dfa *dfa, - unsigned int state) -{ - struct aa_perms perms = { - .allow = dfa_user_allow(dfa, state), - .audit = dfa_user_audit(dfa, state), - .quiet = dfa_user_quiet(dfa, state), - .xindex = dfa_user_xindex(dfa, state), - }; - - return perms; -} - static const char * const mnt_info_table[] = { "match succeeded", "failed mntpnt match", "failed srcname match", "failed type match", "failed flags match", - "failed data match" + "failed data match", + "failed perms check" }; /* * Returns 0 on success else element that match failed in, this is the * index into the mnt_info_table above */ -static int do_match_mnt(struct aa_dfa *dfa, unsigned int start, +static int do_match_mnt(struct aa_policydb *policy, aa_state_t start, const char *mntpnt, const char *devname, const char *type, unsigned long flags, void *data, bool binary, struct aa_perms *perms) { - unsigned int state; + aa_state_t state; - AA_BUG(!dfa); + AA_BUG(!policy); + AA_BUG(!policy->dfa); + AA_BUG(!policy->perms); AA_BUG(!perms); - state = aa_dfa_match(dfa, start, mntpnt); - state = aa_dfa_null_transition(dfa, state); + state = aa_dfa_match(policy->dfa, start, mntpnt); + state = aa_dfa_null_transition(policy->dfa, state); if (!state) return 1; if (devname) - state = aa_dfa_match(dfa, state, devname); - state = aa_dfa_null_transition(dfa, state); + state = aa_dfa_match(policy->dfa, state, devname); + state = aa_dfa_null_transition(policy->dfa, state); if (!state) return 2; if (type) - state = aa_dfa_match(dfa, state, type); - state = aa_dfa_null_transition(dfa, state); + state = aa_dfa_match(policy->dfa, state, type); + state = aa_dfa_null_transition(policy->dfa, state); if (!state) return 3; - state = match_mnt_flags(dfa, state, flags); + state = match_mnt_flags(policy->dfa, state, flags); if (!state) return 4; - *perms = compute_mnt_perms(dfa, state); + *perms = *aa_lookup_perms(policy, state); if (perms->allow & AA_MAY_MOUNT) return 0; /* only match data if not binary and the DFA flags data is expected */ if (data && !binary && (perms->allow & AA_MNT_CONT_MATCH)) { - state = aa_dfa_null_transition(dfa, state); + state = aa_dfa_null_transition(policy->dfa, state); if (!state) return 4; - state = aa_dfa_match(dfa, state, data); + state = aa_dfa_match(policy->dfa, state, data); if (!state) return 5; - *perms = compute_mnt_perms(dfa, state); + *perms = *aa_lookup_perms(policy, state); if (perms->allow & AA_MAY_MOUNT) return 0; } - /* failed at end of flags match */ - return 4; + /* failed at perms check, don't confuse with flags match */ + return 6; } @@ -303,7 +286,7 @@ * @profile: the confining profile * @mntpath: for the mntpnt (NOT NULL) * @buffer: buffer to be used to lookup mntpath - * @devnme: string for the devname/src_name (MAY BE NULL OR ERRPTR) + * @devname: string for the devname/src_name (MAY BE NULL OR ERRPTR) * @type: string for the dev type (MAYBE NULL) * @flags: mount flags to match * @data: fs mount data (MAYBE NULL) @@ -320,13 +303,15 @@ { struct aa_perms perms = { }; const char *mntpnt = NULL, *info = NULL; + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); int pos, error; AA_BUG(!profile); AA_BUG(!mntpath); AA_BUG(!buffer); - if (!PROFILE_MEDIATES(profile, AA_CLASS_MOUNT)) + if (!RULE_MEDIATES(rules, AA_CLASS_MOUNT)) return 0; error = aa_path_name(mntpath, path_flags(profile, mntpath), buffer, @@ -341,8 +326,8 @@ } error = -EACCES; - pos = do_match_mnt(profile->policy.dfa, - profile->policy.start[AA_CLASS_MOUNT], + pos = do_match_mnt(&rules->policy, + rules->policy.start[AA_CLASS_MOUNT], mntpnt, devname, type, flags, data, binary, &perms); if (pos) { info = mnt_info_table[pos]; @@ -358,7 +343,7 @@ /** * match_mnt - handle path matching for mount * @profile: the confining profile - * @mntpath: for the mntpnt (NOT NULL) + * @path: for the mntpnt (NOT NULL) * @buffer: buffer to be used to lookup mntpath * @devpath: path devname/src_name (MAYBE NULL) * @devbuffer: buffer to be used to lookup devname/src_name @@ -375,12 +360,14 @@ bool binary) { const char *devname = NULL, *info = NULL; + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); int error = -EACCES; AA_BUG(!profile); AA_BUG(devpath && !devbuffer); - if (!PROFILE_MEDIATES(profile, AA_CLASS_MOUNT)) + if (!RULE_MEDIATES(rules, AA_CLASS_MOUNT)) return 0; if (devpath) { @@ -582,15 +569,17 @@ static int profile_umount(struct aa_profile *profile, const struct path *path, char *buffer) { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); struct aa_perms perms = { }; const char *name = NULL, *info = NULL; - unsigned int state; + aa_state_t state; int error; AA_BUG(!profile); AA_BUG(!path); - if (!PROFILE_MEDIATES(profile, AA_CLASS_MOUNT)) + if (!RULE_MEDIATES(rules, AA_CLASS_MOUNT)) return 0; error = aa_path_name(path, path_flags(profile, path), buffer, &name, @@ -598,10 +587,10 @@ if (error) goto audit; - state = aa_dfa_match(profile->policy.dfa, - profile->policy.start[AA_CLASS_MOUNT], + state = aa_dfa_match(rules->policy.dfa, + rules->policy.start[AA_CLASS_MOUNT], name); - perms = compute_mnt_perms(profile->policy.dfa, state); + perms = *aa_lookup_perms(&rules->policy, state); if (AA_MAY_UMOUNT & ~perms.allow) error = -EACCES; @@ -641,10 +630,12 @@ const struct path *old_path, char *old_buffer) { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); const char *old_name, *new_name = NULL, *info = NULL; const char *trans_name = NULL; struct aa_perms perms = { }; - unsigned int state; + aa_state_t state; int error; AA_BUG(!profile); @@ -652,7 +643,7 @@ AA_BUG(!old_path); if (profile_unconfined(profile) || - !PROFILE_MEDIATES(profile, AA_CLASS_MOUNT)) + !RULE_MEDIATES(rules, AA_CLASS_MOUNT)) return aa_get_newest_label(&profile->label); error = aa_path_name(old_path, path_flags(profile, old_path), @@ -667,12 +658,12 @@ goto audit; error = -EACCES; - state = aa_dfa_match(profile->policy.dfa, - profile->policy.start[AA_CLASS_MOUNT], + state = aa_dfa_match(rules->policy.dfa, + rules->policy.start[AA_CLASS_MOUNT], new_name); - state = aa_dfa_null_transition(profile->policy.dfa, state); - state = aa_dfa_match(profile->policy.dfa, state, old_name); - perms = compute_mnt_perms(profile->policy.dfa, state); + state = aa_dfa_null_transition(rules->policy.dfa, state); + state = aa_dfa_match(rules->policy.dfa, state, old_name); + perms = *aa_lookup_perms(&rules->policy, state); if (AA_MAY_PIVOTROOT & perms.allow) error = 0; @@ -718,6 +709,7 @@ aa_put_label(target); goto out; } + aa_put_label(target); } else /* already audited error */ error = PTR_ERR(target); --- linux-gcp-5.19.0.orig/security/apparmor/net.c +++ linux-gcp-5.19.0/security/apparmor/net.c @@ -8,6 +8,7 @@ * Copyright 2009-2017 Canonical Ltd. */ +#include "include/af_unix.h" #include "include/apparmor.h" #include "include/audit.h" #include "include/cred.h" @@ -24,6 +25,12 @@ { } }; +struct aa_sfs_entry aa_sfs_entry_network_compat[] = { + AA_SFS_FILE_STRING("af_mask", AA_SFS_AF_MASK), + AA_SFS_FILE_BOOLEAN("af_unix", 1), + { } +}; + static const char * const net_mask_names[] = { "unknown", "send", @@ -66,6 +73,36 @@ "unknown", }; +static void audit_unix_addr(struct audit_buffer *ab, const char *str, + struct sockaddr_un *addr, int addrlen) +{ + int len = unix_addr_len(addrlen); + + if (!addr || len <= 0) { + audit_log_format(ab, " %s=none", str); + } else if (addr->sun_path[0]) { + audit_log_format(ab, " %s=", str); + audit_log_untrustedstring(ab, addr->sun_path); + } else { + audit_log_format(ab, " %s=\"@", str); + if (audit_string_contains_control(&addr->sun_path[1], len - 1)) + audit_log_n_hex(ab, &addr->sun_path[1], len - 1); + else + audit_log_format(ab, "%.*s", len - 1, + &addr->sun_path[1]); + audit_log_format(ab, "\""); + } +} + +static void audit_unix_sk_addr(struct audit_buffer *ab, const char *str, + const struct sock *sk) +{ + struct unix_sock *u = unix_sk(sk); + if (u && u->addr) + audit_unix_addr(ab, str, u->addr->name, u->addr->len); + else + audit_unix_addr(ab, str, NULL, 0); +} /* audit callback for net specific fields */ void audit_net_cb(struct audit_buffer *ab, void *va) @@ -97,6 +134,23 @@ net_mask_names, NET_PERMS_MASK); } } + if (sa->u.net->family == AF_UNIX) { + if ((aad(sa)->request & ~NET_PEER_MASK) && aad(sa)->net.addr) + audit_unix_addr(ab, "addr", + unix_addr(aad(sa)->net.addr), + aad(sa)->net.addrlen); + else + audit_unix_sk_addr(ab, "addr", sa->u.net->sk); + if (aad(sa)->request & NET_PEER_MASK) { + if (aad(sa)->net.addr) + audit_unix_addr(ab, "peer_addr", + unix_addr(aad(sa)->net.addr), + aad(sa)->net.addrlen); + else + audit_unix_sk_addr(ab, "peer_addr", + aad(sa)->net.peer_sk); + } + } if (aad(sa)->peer) { audit_log_format(ab, " peer="); aa_label_xaudit(ab, labels_ns(aad(sa)->label), aad(sa)->peer, @@ -108,8 +162,10 @@ int aa_profile_af_perm(struct aa_profile *profile, struct common_audit_data *sa, u32 request, u16 family, int type) { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); struct aa_perms perms = { }; - unsigned int state; + aa_state_t state; __be16 buffer[2]; AA_BUG(family >= AF_MAX); @@ -117,15 +173,25 @@ if (profile_unconfined(profile)) return 0; - state = PROFILE_MEDIATES(profile, AA_CLASS_NET); - if (!state) - return 0; + state = RULE_MEDIATES(rules, AA_CLASS_NET); + if (state) { + buffer[0] = cpu_to_be16(family); + buffer[1] = cpu_to_be16((u16) type); + state = aa_dfa_match_len(rules->policy.dfa, state, + (char *) &buffer, 4); + perms = *aa_lookup_perms(&rules->policy, state); + } else if (profile->net_compat) { + /* 2.x socket mediation compat */ + perms.allow = (profile->net_compat->allow[family] & (1 << type)) ? + ALL_PERMS_MASK : 0; + perms.audit = (profile->net_compat->audit[family] & (1 << type)) ? + ALL_PERMS_MASK : 0; + perms.quiet = (profile->net_compat->quiet[family] & (1 << type)) ? + ALL_PERMS_MASK : 0; - buffer[0] = cpu_to_be16(family); - buffer[1] = cpu_to_be16((u16) type); - state = aa_dfa_match_len(profile->policy.dfa, state, (char *) &buffer, - 4); - aa_compute_perms(profile->policy.dfa, state, &perms); + } else { + return 0; + } aa_apply_modes_to_perms(profile, &perms); return aa_check_perms(profile, &perms, request, sa, audit_net_cb); @@ -145,12 +211,13 @@ static int aa_label_sk_perm(struct aa_label *label, const char *op, u32 request, struct sock *sk) { + struct aa_sk_ctx *ctx = aa_sock(sk); int error = 0; AA_BUG(!label); AA_BUG(!sk); - if (!unconfined(label)) { + if (ctx->label != kernel_t && !unconfined(label)) { struct aa_profile *profile; DEFINE_AUDIT_SK(sa, op, sk); @@ -185,7 +252,9 @@ AA_BUG(!sock); AA_BUG(!sock->sk); - return aa_label_sk_perm(label, op, request, sock->sk); + return af_select(sock->sk->sk_family, + file_perm(label, op, request, sock), + aa_label_sk_perm(label, op, request, sock->sk)); } #ifdef CONFIG_NETWORK_SECMARK @@ -215,25 +284,27 @@ { int i, ret; struct aa_perms perms = { }; + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); - if (profile->secmark_count == 0) + if (rules->secmark_count == 0) return 0; - for (i = 0; i < profile->secmark_count; i++) { - if (!profile->secmark[i].secid) { - ret = apparmor_secmark_init(&profile->secmark[i]); + for (i = 0; i < rules->secmark_count; i++) { + if (!rules->secmark[i].secid) { + ret = apparmor_secmark_init(&rules->secmark[i]); if (ret) return ret; } - if (profile->secmark[i].secid == secid || - profile->secmark[i].secid == AA_SECID_WILDCARD) { - if (profile->secmark[i].deny) + if (rules->secmark[i].secid == secid || + rules->secmark[i].secid == AA_SECID_WILDCARD) { + if (rules->secmark[i].deny) perms.deny = ALL_PERMS_MASK; else perms.allow = ALL_PERMS_MASK; - if (profile->secmark[i].audit) + if (rules->secmark[i].audit) perms.audit = ALL_PERMS_MASK; } } --- linux-gcp-5.19.0.orig/security/apparmor/policy.c +++ linux-gcp-5.19.0/security/apparmor/policy.c @@ -88,12 +88,14 @@ #include "include/resource.h" int unprivileged_userns_apparmor_policy = 1; +bool unprivileged_userns_restricted = IS_ENABLED(CONFIG_SECURITY_APPARMOR_RESTRICT_USERNS); const char *const aa_profile_mode_names[] = { "enforce", "complain", "kill", "unconfined", + "user", }; @@ -192,6 +194,41 @@ kfree_sensitive(data); } +static void free_attachment(struct aa_attachment *attach) +{ + int i; + + for (i = 0; i < attach->xattr_count; i++) + kfree_sensitive(attach->xattrs[i]); + kfree_sensitive(attach->xattrs); + aa_destroy_policydb(&attach->xmatch); +} + +static void free_ruleset(struct aa_ruleset *rules) +{ + int i; + + aa_destroy_policydb(&rules->file); + aa_destroy_policydb(&rules->policy); + aa_free_cap_rules(&rules->caps); + aa_free_rlimit_rules(&rules->rlimits); + + for (i = 0; i < rules->secmark_count; i++) + kfree_sensitive(rules->secmark[i].label); + kfree_sensitive(rules->secmark); +} + +struct aa_ruleset *aa_alloc_ruleset(gfp_t gfp) +{ + struct aa_ruleset *rules; + + rules = kzalloc(sizeof(*rules), gfp); + if (rules) + INIT_LIST_HEAD(&rules->list); + + return rules; +} + /** * aa_free_profile - free a profile * @profile: the profile to free (MAYBE NULL) @@ -204,8 +241,8 @@ */ void aa_free_profile(struct aa_profile *profile) { + struct aa_ruleset *rule, *tmp; struct rhashtable *rht; - int i; AA_DEBUG("%s(%p)\n", __func__, profile); @@ -219,19 +256,18 @@ aa_put_ns(profile->ns); kfree_sensitive(profile->rename); - aa_free_file_rules(&profile->file); - aa_free_cap_rules(&profile->caps); - aa_free_rlimit_rules(&profile->rlimits); - - for (i = 0; i < profile->xattr_count; i++) - kfree_sensitive(profile->xattrs[i]); - kfree_sensitive(profile->xattrs); - for (i = 0; i < profile->secmark_count; i++) - kfree_sensitive(profile->secmark[i].label); - kfree_sensitive(profile->secmark); + free_attachment(&profile->attach); + kfree_sensitive(profile->net_compat); + + /* + * at this point there are no tasks that can have a reference + * to rules + */ + list_for_each_entry_safe(rule, tmp, &profile->rules, list) { + list_del_init(&rule->list); + free_ruleset(rule); + } kfree_sensitive(profile->dirname); - aa_put_dfa(profile->xmatch); - aa_put_dfa(profile->policy.dfa); if (profile->data) { rht = profile->data; @@ -258,6 +294,7 @@ gfp_t gfp) { struct aa_profile *profile; + struct aa_ruleset *rules; /* freed by free_profile - usually through aa_put_profile */ profile = kzalloc(struct_size(profile, label.vec, 2), gfp); @@ -269,6 +306,14 @@ if (!aa_label_init(&profile->label, 1, gfp)) goto fail; + INIT_LIST_HEAD(&profile->rules); + + /* allocate the first ruleset, but leave it empty */ + rules = aa_alloc_ruleset(gfp); + if (!rules) + goto fail; + list_add(&rules->list, &profile->rules); + /* update being set needed by fs interface */ if (!proxy) { proxy = aa_alloc_proxy(&profile->label, gfp); @@ -422,7 +467,7 @@ } /** - * aa_lookup_profile - find a profile by its full or partial name + * aa_lookupn_profile - find a profile by its full or partial name * @ns: the namespace to start from (NOT NULL) * @hname: name to do lookup on. Does not contain namespace prefix (NOT NULL) * @n: size of @hname @@ -502,6 +547,7 @@ struct aa_profile *aa_new_null_profile(struct aa_profile *parent, bool hat, const char *base, gfp_t gfp) { + struct aa_ruleset *rules; struct aa_profile *p, *profile; const char *bname; char *name = NULL; @@ -544,8 +590,9 @@ /* released on free_profile */ rcu_assign_pointer(profile->parent, aa_get_profile(parent)); profile->ns = aa_get_ns(parent->ns); - profile->file.dfa = aa_get_dfa(nulldfa); - profile->policy.dfa = aa_get_dfa(nulldfa); + rules = list_first_entry(&profile->rules, typeof(*rules), list); + rules->file.dfa = aa_get_dfa(nulldfa); + rules->policy.dfa = aa_get_dfa(nulldfa); mutex_lock_nested(&profile->ns->lock, profile->ns->level); p = __find_child(&parent->base.profiles, bname); @@ -618,7 +665,7 @@ const char *ns_name, const char *name, const char *info, int error) { - DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_NONE, op); + DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_NONE, AA_CLASS_NONE, op); aad(&sa)->iface.ns = ns_name; aad(&sa)->name = name; @@ -952,16 +999,18 @@ mutex_lock_nested(&ns->lock, ns->level); /* check for duplicate rawdata blobs: space and file dedup */ - list_for_each_entry(rawdata_ent, &ns->rawdata_list, list) { - if (aa_rawdata_eq(rawdata_ent, udata)) { - struct aa_loaddata *tmp; - - tmp = __aa_get_loaddata(rawdata_ent); - /* check we didn't fail the race */ - if (tmp) { - aa_put_loaddata(udata); - udata = tmp; - break; + if (!list_empty(&ns->rawdata_list)) { + list_for_each_entry(rawdata_ent, &ns->rawdata_list, list) { + if (aa_rawdata_eq(rawdata_ent, udata)) { + struct aa_loaddata *tmp; + + tmp = __aa_get_loaddata(rawdata_ent); + /* check we didn't fail the race */ + if (tmp) { + aa_put_loaddata(udata); + udata = tmp; + break; + } } } } @@ -969,7 +1018,8 @@ list_for_each_entry(ent, &lh, list) { struct aa_policy *policy; - ent->new->rawdata = aa_get_loaddata(udata); + if (aa_g_export_binary) + ent->new->rawdata = aa_get_loaddata(udata); error = __lookup_replace(ns, ent->new->base.hname, !(mask & AA_MAY_REPLACE_POLICY), &ent->old, &info); @@ -1009,7 +1059,7 @@ } /* create new fs entries for introspection if needed */ - if (!udata->dents[AAFS_LOADDATA_DIR]) { + if (!udata->dents[AAFS_LOADDATA_DIR] && aa_g_export_binary) { error = __aa_fs_create_rawdata(ns, udata); if (error) { info = "failed to create raw_data dir and files"; @@ -1037,12 +1087,14 @@ /* Done with checks that may fail - do actual replacement */ __aa_bump_ns_revision(ns); - __aa_loaddata_update(udata, ns->revision); + if (aa_g_export_binary) + __aa_loaddata_update(udata, ns->revision); list_for_each_entry_safe(ent, tmp, &lh, list) { list_del_init(&ent->list); op = (!ent->old && !ent->rename) ? OP_PROF_LOAD : OP_PROF_REPL; - if (ent->old && ent->old->rawdata == ent->new->rawdata) { + if (ent->old && ent->old->rawdata == ent->new->rawdata && + ent->new->rawdata) { /* dedup actual profile replacement */ audit_policy(label, op, ns_name, ent->new->base.hname, "same as current profile, skipping", @@ -1165,7 +1217,7 @@ if (!name) { /* remove namespace - can only happen if fqname[0] == ':' */ - mutex_lock_nested(&ns->parent->lock, ns->level); + mutex_lock_nested(&ns->parent->lock, ns->parent->level); __aa_bump_ns_revision(ns); __aa_remove_ns(ns); mutex_unlock(&ns->parent->lock); --- linux-gcp-5.19.0.orig/security/apparmor/policy_compat.c +++ linux-gcp-5.19.0/security/apparmor/policy_compat.c @@ -0,0 +1,318 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * AppArmor security module + * + * This file contains AppArmor functions for unpacking policy loaded + * from userspace. + * + * Copyright (C) 1998-2008 Novell/SUSE + * Copyright 2009-2022 Canonical Ltd. + * + * Code to provide backwards compatibility with older policy versions, + * by converting/mapping older policy formats into the newer internal + * formats. + */ + +#include +#include + +#include "include/lib.h" +#include "include/policy_unpack.h" +#include "include/policy_compat.h" + +/* remap old accept table embedded permissions to separate permission table */ +static u32 dfa_map_xindex(u16 mask) +{ + u16 old_index = (mask >> 10) & 0xf; + u32 index = 0; + + if (mask & 0x100) + index |= AA_X_UNSAFE; + if (mask & 0x200) + index |= AA_X_INHERIT; + if (mask & 0x80) + index |= AA_X_UNCONFINED; + + if (old_index == 1) { + index |= AA_X_UNCONFINED; + } else if (old_index == 2) { + index |= AA_X_NAME; + } else if (old_index == 3) { + index |= AA_X_NAME | AA_X_CHILD; + } else if (old_index) { + index |= AA_X_TABLE; + index |= old_index - 4; + } + + return index; +} + +/* + * map old dfa inline permissions to new format + */ +#define dfa_user_allow(dfa, state) (((ACCEPT_TABLE(dfa)[state]) & 0x7f) | \ + ((ACCEPT_TABLE(dfa)[state]) & 0x80000000)) +#define dfa_user_xbits(dfa, state) (((ACCEPT_TABLE(dfa)[state]) >> 7) & 0x7f) +#define dfa_user_audit(dfa, state) ((ACCEPT_TABLE2(dfa)[state]) & 0x7f) +#define dfa_user_quiet(dfa, state) (((ACCEPT_TABLE2(dfa)[state]) >> 7) & 0x7f) +#define dfa_user_xindex(dfa, state) \ + (dfa_map_xindex(ACCEPT_TABLE(dfa)[state] & 0x3fff)) + +#define dfa_other_allow(dfa, state) ((((ACCEPT_TABLE(dfa)[state]) >> 14) & \ + 0x7f) | \ + ((ACCEPT_TABLE(dfa)[state]) & 0x80000000)) +#define dfa_other_xbits(dfa, state) \ + ((((ACCEPT_TABLE(dfa)[state]) >> 7) >> 14) & 0x7f) +#define dfa_other_audit(dfa, state) (((ACCEPT_TABLE2(dfa)[state]) >> 14) & 0x7f) +#define dfa_other_quiet(dfa, state) \ + ((((ACCEPT_TABLE2(dfa)[state]) >> 7) >> 14) & 0x7f) +#define dfa_other_xindex(dfa, state) \ + dfa_map_xindex((ACCEPT_TABLE(dfa)[state] >> 14) & 0x3fff) + +/** + * map_old_perms - map old file perms layout to the new layout + * @old: permission set in old mapping + * + * Returns: new permission mapping + */ +static u32 map_old_perms(u32 old) +{ + u32 new = old & 0xf; + + if (old & MAY_READ) + new |= AA_MAY_GETATTR | AA_MAY_OPEN; + if (old & MAY_WRITE) + new |= AA_MAY_SETATTR | AA_MAY_CREATE | AA_MAY_DELETE | + AA_MAY_CHMOD | AA_MAY_CHOWN | AA_MAY_OPEN; + if (old & 0x10) + new |= AA_MAY_LINK; + /* the old mapping lock and link_subset flags where overlaid + * and use was determined by part of a pair that they were in + */ + if (old & 0x20) + new |= AA_MAY_LOCK | AA_LINK_SUBSET; + if (old & 0x40) /* AA_EXEC_MMAP */ + new |= AA_EXEC_MMAP; + + return new; +} + +static void compute_fperms_allow(struct aa_perms *perms, struct aa_dfa *dfa, + aa_state_t state) +{ + perms->allow |= AA_MAY_GETATTR; + + /* change_profile wasn't determined by ownership in old mapping */ + if (ACCEPT_TABLE(dfa)[state] & 0x80000000) + perms->allow |= AA_MAY_CHANGE_PROFILE; + if (ACCEPT_TABLE(dfa)[state] & 0x40000000) + perms->allow |= AA_MAY_ONEXEC; +} + +static struct aa_perms compute_fperms_user(struct aa_dfa *dfa, + aa_state_t state) +{ + struct aa_perms perms = { }; + + perms.allow = map_old_perms(dfa_user_allow(dfa, state)); + perms.audit = map_old_perms(dfa_user_audit(dfa, state)); + perms.quiet = map_old_perms(dfa_user_quiet(dfa, state)); + perms.xindex = dfa_user_xindex(dfa, state); + + compute_fperms_allow(&perms, dfa, state); + + return perms; +} + +static struct aa_perms compute_fperms_other(struct aa_dfa *dfa, + aa_state_t state) +{ + struct aa_perms perms = { }; + + perms.allow = map_old_perms(dfa_other_allow(dfa, state)); + perms.audit = map_old_perms(dfa_other_audit(dfa, state)); + perms.quiet = map_old_perms(dfa_other_quiet(dfa, state)); + perms.xindex = dfa_other_xindex(dfa, state); + + compute_fperms_allow(&perms, dfa, state); + + return perms; +} + +/** + * compute_fperms - convert dfa compressed perms to internal perms and store + * them so they can be retrieved later. + * @dfa: a dfa using fperms to remap to internal permissions + * + * Returns: remapped perm table + */ +static struct aa_perms *compute_fperms(struct aa_dfa *dfa) +{ + aa_state_t state; + unsigned int state_count; + struct aa_perms *table; + + AA_BUG(!dfa); + + state_count = dfa->tables[YYTD_ID_BASE]->td_lolen; + /* DFAs are restricted from having a state_count of less than 2 */ + table = kvcalloc(state_count * 2, sizeof(struct aa_perms), GFP_KERNEL); + if (!table) + return NULL; + + for (state = 0; state < state_count; state++) { + table[state * 2] = compute_fperms_user(dfa, state); + table[state * 2 + 1] = compute_fperms_other(dfa, state); + } + + return table; +} + +static struct aa_perms *compute_xmatch_perms(struct aa_dfa *xmatch) +{ + struct aa_perms *perms; + int state; + int state_count; + + AA_BUG(!xmatch); + + state_count = xmatch->tables[YYTD_ID_BASE]->td_lolen; + /* DFAs are restricted from having a state_count of less than 2 */ + perms = kvcalloc(state_count, sizeof(struct aa_perms), GFP_KERNEL); + + /* zero init so skip the trap state (state == 0) */ + for (state = 1; state < state_count; state++) + perms[state].allow = dfa_user_allow(xmatch, state); + + return perms; +} + +static u32 map_other(u32 x) +{ + return ((x & 0x3) << 8) | /* SETATTR/GETATTR */ + ((x & 0x1c) << 18) | /* ACCEPT/BIND/LISTEN */ + ((x & 0x60) << 19); /* SETOPT/GETOPT */ +} + +static u32 map_xbits(u32 x) +{ + return ((x & 0x1) << 7) | + ((x & 0x7e) << 9); +} + +static struct aa_perms compute_perms_entry(struct aa_dfa *dfa, + aa_state_t state, + u32 version) +{ + struct aa_perms perms = { }; + + perms.allow = dfa_user_allow(dfa, state); + perms.audit = dfa_user_audit(dfa, state); + perms.quiet = dfa_user_quiet(dfa, state); + + /* + * This mapping is convulated due to history. + * v1-v4: only file perms, which are handled by compute_fperms + * v5: added policydb which dropped user conditional to gain new + * perm bits, but had to map around the xbits because the + * userspace compiler was still munging them. + * v9: adds using the xbits in policydb because the compiler now + * supports treating policydb permission bits different. + * Unfortunately there is no way to force auditing on the + * perms represented by the xbits + */ + perms.allow |= map_other(dfa_other_allow(dfa, state)); + if (VERSION_LE(version, v8)) + perms.allow |= AA_MAY_LOCK; + else + perms.allow |= map_xbits(dfa_user_xbits(dfa, state)); + + /* + * for v5-v9 perm mapping in the policydb, the other set is used + * to extend the general perm set + */ + perms.audit |= map_other(dfa_other_audit(dfa, state)); + perms.quiet |= map_other(dfa_other_quiet(dfa, state)); + if (VERSION_GT(version, v8)) + perms.quiet |= map_xbits(dfa_other_xbits(dfa, state)); + + return perms; +} + +static struct aa_perms *compute_perms(struct aa_dfa *dfa, u32 version) +{ + unsigned int state; + unsigned int state_count; + struct aa_perms *table; + + AA_BUG(!dfa); + + state_count = dfa->tables[YYTD_ID_BASE]->td_lolen; + /* DFAs are restricted from having a state_count of less than 2 */ + table = kvcalloc(state_count, sizeof(struct aa_perms), GFP_KERNEL); + if (!table) + return NULL; + + /* zero init so skip the trap state (state == 0) */ + for (state = 1; state < state_count; state++) + table[state] = compute_perms_entry(dfa, state, version); + + return table; +} + +/** + * remap_dfa_accept - remap old dfa accept table to be an index + * @dfa: dfa to do the remapping on + * @factor: scaling factor for the index conversion. + * + * Used in conjunction with compute_Xperms, it converts old style perms + * that are encoded in the dfa accept tables to the new style where + * there is a permission table and the accept table is an index into + * the permission table. + */ +static void remap_dfa_accept(struct aa_dfa *dfa, unsigned int factor) +{ + unsigned int state; + unsigned int state_count = dfa->tables[YYTD_ID_BASE]->td_lolen; + + AA_BUG(!dfa); + + for (state = 0; state < state_count; state++) + ACCEPT_TABLE(dfa)[state] = state * factor; + kvfree(dfa->tables[YYTD_ID_ACCEPT2]); + dfa->tables[YYTD_ID_ACCEPT2] = NULL; +} + +/* TODO: merge different dfa mappings into single map_policy fn */ +int aa_compat_map_xmatch(struct aa_policydb *policy) +{ + policy->perms = compute_xmatch_perms(policy->dfa); + if (!policy->perms) + return -ENOMEM; + + remap_dfa_accept(policy->dfa, 1); + + return 0; +} + +int aa_compat_map_policy(struct aa_policydb *policy, u32 version) +{ + policy->perms = compute_perms(policy->dfa, version); + if (!policy->perms) + return -ENOMEM; + + remap_dfa_accept(policy->dfa, 1); + + return 0; +} + +int aa_compat_map_file(struct aa_policydb *policy) +{ + policy->perms = compute_fperms(policy->dfa); + if (!policy->perms) + return -ENOMEM; + + remap_dfa_accept(policy->dfa, 2); + + return 0; +} --- linux-gcp-5.19.0.orig/security/apparmor/policy_ns.c +++ linux-gcp-5.19.0/security/apparmor/policy_ns.c @@ -22,6 +22,9 @@ #include "include/label.h" #include "include/policy.h" +/* kernel label */ +struct aa_label *kernel_t; + /* root profile namespace */ struct aa_ns *root_ns; const char *aa_hidden_ns_name = "---"; @@ -51,10 +54,10 @@ } /** - * aa_na_name - Find the ns name to display for @view from @curr - * @curr - current namespace (NOT NULL) - * @view - namespace attempting to view (NOT NULL) - * @subns - are subns visible + * aa_ns_name - Find the ns name to display for @view from @curr + * @curr: current namespace (NOT NULL) + * @view: namespace attempting to view (NOT NULL) + * @subns: are subns visible * * Returns: name of @view visible from @curr */ @@ -77,6 +80,25 @@ return aa_hidden_ns_name; } +static struct aa_profile *alloc_unconfined(const char *name) +{ + struct aa_profile *profile; + struct aa_ruleset *rules; + + profile = aa_alloc_profile(name, NULL, GFP_KERNEL); + if (!profile) + return NULL; + + profile->label.flags |= FLAG_IX_ON_NAME_ERROR | + FLAG_IMMUTIBLE | FLAG_NS_COUNT | FLAG_UNCONFINED; + profile->mode = APPARMOR_UNCONFINED; + rules = list_first_entry(&profile->rules, typeof(*rules), list); + rules->file.dfa = aa_get_dfa(nulldfa); + rules->policy.dfa = aa_get_dfa(nulldfa); + + return profile; +} + /** * alloc_ns - allocate, initialize and return a new namespace * @prefix: parent namespace name (MAYBE NULL) @@ -101,16 +123,9 @@ init_waitqueue_head(&ns->wait); /* released by aa_free_ns() */ - ns->unconfined = aa_alloc_profile("unconfined", NULL, GFP_KERNEL); + ns->unconfined = alloc_unconfined("unconfined"); if (!ns->unconfined) goto fail_unconfined; - - ns->unconfined->label.flags |= FLAG_IX_ON_NAME_ERROR | - FLAG_IMMUTIBLE | FLAG_NS_COUNT | FLAG_UNCONFINED; - ns->unconfined->mode = APPARMOR_UNCONFINED; - ns->unconfined->file.dfa = aa_get_dfa(nulldfa); - ns->unconfined->policy.dfa = aa_get_dfa(nulldfa); - /* ns and ns->unconfined share ns->unconfined refcount */ ns->unconfined->ns = ns; @@ -121,7 +136,7 @@ return ns; fail_unconfined: - kfree_sensitive(ns->base.hname); + aa_policy_destroy(&ns->base); fail_ns: kfree_sensitive(ns); return NULL; @@ -187,7 +202,7 @@ /** * __aa_lookupn_ns - lookup the namespace matching @hname - * @base: base list to start looking up profile name from (NOT NULL) + * @view: namespace to search in (NOT NULL) * @hname: hierarchical ns name (NOT NULL) * @n: length of @hname * @@ -272,7 +287,7 @@ } /** - * aa_create_ns - create an ns, fail if it already exists + * __aa_find_or_create_ns - create an ns, fail if it already exists * @parent: the parent of the namespace being created * @name: the name of the namespace * @dir: if not null the dir to put the ns entries in @@ -388,11 +403,22 @@ */ int __init aa_alloc_root_ns(void) { + struct aa_profile *kernel_p; + /* released by aa_free_root_ns - used as list ref*/ root_ns = alloc_ns(NULL, "root"); if (!root_ns) return -ENOMEM; + kernel_p = alloc_unconfined("kernel_t"); + if (!kernel_p) { + destroy_ns(root_ns); + aa_free_ns(root_ns); + return -ENOMEM; + } + kernel_t = &kernel_p->label; + root_ns->unconfined->ns = aa_get_ns(root_ns); + return 0; } @@ -405,6 +431,7 @@ root_ns = NULL; + aa_label_free(kernel_t); destroy_ns(ns); aa_put_ns(ns); } --- linux-gcp-5.19.0.orig/security/apparmor/policy_unpack.c +++ linux-gcp-5.19.0/security/apparmor/policy_unpack.c @@ -16,26 +16,19 @@ #include #include #include -#include +#include #include "include/apparmor.h" #include "include/audit.h" #include "include/cred.h" #include "include/crypto.h" +#include "include/file.h" #include "include/match.h" #include "include/path.h" #include "include/policy.h" #include "include/policy_unpack.h" +#include "include/policy_compat.h" -#define K_ABI_MASK 0x3ff -#define FORCE_COMPLAIN_FLAG 0x800 -#define VERSION_LT(X, Y) (((X) & K_ABI_MASK) < ((Y) & K_ABI_MASK)) -#define VERSION_GT(X, Y) (((X) & K_ABI_MASK) > ((Y) & K_ABI_MASK)) - -#define v5 5 /* base version */ -#define v6 6 /* per entry policydb mediation check */ -#define v7 7 -#define v8 8 /* full network masking */ /* * The AppArmor interface treats data as a type byte followed by the @@ -74,6 +67,11 @@ u32 version; }; +#define tri int +#define TRI_TRUE 1 +#define TRI_NONE 0 +#define TRI_FALSE -1 + /* audit callback for unpack fields */ static void audit_cb(struct audit_buffer *ab, void *va) { @@ -107,7 +105,7 @@ int error) { struct aa_profile *profile = labels_profile(aa_current_raw_label()); - DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_NONE, NULL); + DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_NONE, AA_CLASS_NONE, NULL); if (e) aad(&sa)->iface.pos = e->pos - e->start; aad(&sa)->iface.ns = ns_name; @@ -125,15 +123,16 @@ { AA_BUG(!data); AA_BUG(!data->ns); - AA_BUG(!data->dents[AAFS_LOADDATA_REVISION]); AA_BUG(!mutex_is_locked(&data->ns->lock)); AA_BUG(data->revision > revision); data->revision = revision; - d_inode(data->dents[AAFS_LOADDATA_DIR])->i_mtime = - current_time(d_inode(data->dents[AAFS_LOADDATA_DIR])); - d_inode(data->dents[AAFS_LOADDATA_REVISION])->i_mtime = - current_time(d_inode(data->dents[AAFS_LOADDATA_REVISION])); + if ((data->dents[AAFS_LOADDATA_REVISION])) { + d_inode(data->dents[AAFS_LOADDATA_DIR])->i_mtime = + current_time(d_inode(data->dents[AAFS_LOADDATA_DIR])); + d_inode(data->dents[AAFS_LOADDATA_REVISION])->i_mtime = + current_time(d_inode(data->dents[AAFS_LOADDATA_REVISION])); + } } bool aa_rawdata_eq(struct aa_loaddata *l, struct aa_loaddata *r) @@ -213,7 +212,7 @@ } /** - * aa_u16_chunck - test and do bounds checking for a u16 size based chunk + * unpack_u16_chunk - test and do bounds checking for a u16 size based chunk * @e: serialized data read head (NOT NULL) * @chunk: start address for chunk of data (NOT NULL) * @@ -314,6 +313,19 @@ return false; } +static bool unpack_u16(struct aa_ext *e, u16 *data, const char *name) +{ + if (unpack_nameX(e, AA_U16, name)) { + if (!inbounds(e, sizeof(u16))) + return 0; + if (data) + *data = le16_to_cpu(get_unaligned((__le16 *) e->pos)); + e->pos += sizeof(u16); + return 1; + } + return 0; +} + static bool unpack_u32(struct aa_ext *e, u32 *data, const char *name) { void *pos = e->pos; @@ -350,22 +362,22 @@ return false; } -static size_t unpack_array(struct aa_ext *e, const char *name) +static tri unpack_array(struct aa_ext *e, const char *name, u16 *size) { void *pos = e->pos; if (unpack_nameX(e, AA_ARRAY, name)) { - int size; if (!inbounds(e, sizeof(u16))) goto fail; - size = (int)le16_to_cpu(get_unaligned((__le16 *) e->pos)); + *size = le16_to_cpu(get_unaligned((__le16 *) e->pos)); e->pos += sizeof(u16); - return size; + return TRI_TRUE; } + return TRI_NONE; fail: e->pos = pos; - return 0; + return TRI_FALSE; } static size_t unpack_blob(struct aa_ext *e, char **blob, const char *name) @@ -436,10 +448,11 @@ /** * unpack_dfa - unpack a file rule dfa * @e: serialized data extent information (NOT NULL) + * @flags: dfa flags to check * * returns dfa or ERR_PTR or NULL if no dfa */ -static struct aa_dfa *unpack_dfa(struct aa_ext *e) +static struct aa_dfa *unpack_dfa(struct aa_ext *e, int flags) { char *blob = NULL; size_t size; @@ -455,8 +468,8 @@ size_t sz = blob - (char *) e->start - ((e->pos - e->start) & 7); size_t pad = ALIGN(sz, 8) - sz; - int flags = TO_ACCEPT1_FLAG(YYTD_DATA32) | - TO_ACCEPT2_FLAG(YYTD_DATA32) | DFA_FLAG_VERIFY_STATES; + if (aa_g_paranoid_load) + flags |= DFA_FLAG_VERIFY_STATES; dfa = aa_dfa_unpack(blob + pad, size - pad, flags); if (IS_ERR(dfa)) @@ -470,28 +483,32 @@ /** * unpack_trans_table - unpack a profile transition table * @e: serialized data extent information (NOT NULL) - * @profile: profile to add the accept table to (NOT NULL) + * @table: str table to unpack to (NOT NULL) * - * Returns: true if table successfully unpacked + * Returns: true if table successfully unpacked or not present */ -static bool unpack_trans_table(struct aa_ext *e, struct aa_profile *profile) +static bool unpack_trans_table(struct aa_ext *e, struct aa_str_table *strs) { void *saved_pos = e->pos; + char **table; /* exec table is optional */ if (unpack_nameX(e, AA_STRUCT, "xtable")) { - int i, size; + u16 size; + int i; - size = unpack_array(e, NULL); - /* currently 4 exec bits and entries 0-3 are reserved iupcx */ - if (size > 16 - 4) + if (unpack_array(e, NULL, &size) != TRI_TRUE) + /* + * Note: index into trans table array is a max + * of 2^24, but unpack array can only unpack + * an array of 2^16 in size atm so no need + * for size check here + */ goto fail; - profile->file.trans.table = kcalloc(size, sizeof(char *), - GFP_KERNEL); - if (!profile->file.trans.table) + table = kcalloc(size, sizeof(char *), GFP_KERNEL); + if (!table) goto fail; - profile->file.trans.size = size; for (i = 0; i < size; i++) { char *str; int c, j, pos, size2 = unpack_strdup(e, &str, NULL); @@ -500,7 +517,7 @@ */ if (!size2) goto fail; - profile->file.trans.table[i] = str; + table[i] = str; /* verify that name doesn't start with space */ if (isspace(*str)) goto fail; @@ -534,11 +551,14 @@ goto fail; if (!unpack_nameX(e, AA_STRUCTEND, NULL)) goto fail; + + strs->table = table; + strs->size = size; } return true; fail: - aa_free_domain_entries(&profile->file.trans); + kfree_sensitive(table); e->pos = saved_pos; return false; } @@ -548,15 +568,17 @@ void *pos = e->pos; if (unpack_nameX(e, AA_STRUCT, "xattrs")) { - int i, size; + u16 size; + int i; - size = unpack_array(e, NULL); - profile->xattr_count = size; - profile->xattrs = kcalloc(size, sizeof(char *), GFP_KERNEL); - if (!profile->xattrs) + if (unpack_array(e, NULL, &size) != TRI_TRUE) + goto fail; + profile->attach.xattr_count = size; + profile->attach.xattrs = kcalloc(size, sizeof(char *), GFP_KERNEL); + if (!profile->attach.xattrs) goto fail; for (i = 0; i < size; i++) { - if (!unpack_strdup(e, &profile->xattrs[i], NULL)) + if (!unpack_strdup(e, &profile->attach.xattrs[i], NULL)) goto fail; } if (!unpack_nameX(e, AA_ARRAYEND, NULL)) @@ -572,27 +594,29 @@ return false; } -static bool unpack_secmark(struct aa_ext *e, struct aa_profile *profile) +static bool unpack_secmark(struct aa_ext *e, struct aa_ruleset *rules) { void *pos = e->pos; - int i, size; + u16 size; + int i; if (unpack_nameX(e, AA_STRUCT, "secmark")) { - size = unpack_array(e, NULL); + if (unpack_array(e, NULL, &size) != TRI_TRUE) + goto fail; - profile->secmark = kcalloc(size, sizeof(struct aa_secmark), + rules->secmark = kcalloc(size, sizeof(struct aa_secmark), GFP_KERNEL); - if (!profile->secmark) + if (!rules->secmark) goto fail; - profile->secmark_count = size; + rules->secmark_count = size; for (i = 0; i < size; i++) { - if (!unpack_u8(e, &profile->secmark[i].audit, NULL)) + if (!unpack_u8(e, &rules->secmark[i].audit, NULL)) goto fail; - if (!unpack_u8(e, &profile->secmark[i].deny, NULL)) + if (!unpack_u8(e, &rules->secmark[i].deny, NULL)) goto fail; - if (!unpack_strdup(e, &profile->secmark[i].label, NULL)) + if (!unpack_strdup(e, &rules->secmark[i].label, NULL)) goto fail; } if (!unpack_nameX(e, AA_ARRAYEND, NULL)) @@ -604,39 +628,40 @@ return true; fail: - if (profile->secmark) { + if (rules->secmark) { for (i = 0; i < size; i++) - kfree(profile->secmark[i].label); - kfree(profile->secmark); - profile->secmark_count = 0; - profile->secmark = NULL; + kfree(rules->secmark[i].label); + kfree(rules->secmark); + rules->secmark_count = 0; + rules->secmark = NULL; } e->pos = pos; return false; } -static bool unpack_rlimits(struct aa_ext *e, struct aa_profile *profile) +static bool unpack_rlimits(struct aa_ext *e, struct aa_ruleset *rules) { void *pos = e->pos; /* rlimits are optional */ if (unpack_nameX(e, AA_STRUCT, "rlimits")) { - int i, size; + u16 size; + int i; u32 tmp = 0; if (!unpack_u32(e, &tmp, NULL)) goto fail; - profile->rlimits.mask = tmp; + rules->rlimits.mask = tmp; - size = unpack_array(e, NULL); - if (size > RLIM_NLIMITS) + if (unpack_array(e, NULL, &size) != TRI_TRUE || + size > RLIM_NLIMITS) goto fail; for (i = 0; i < size; i++) { u64 tmp2 = 0; int a = aa_map_resource(i); if (!unpack_u64(e, &tmp2, NULL)) goto fail; - profile->rlimits.limits[a].rlim_max = tmp2; + rules->rlimits.limits[a].rlim_max = tmp2; } if (!unpack_nameX(e, AA_ARRAYEND, NULL)) goto fail; @@ -650,6 +675,140 @@ return false; } +static bool unpack_perm(struct aa_ext *e, u32 version, struct aa_perms *perm) +{ + bool res; + + if (version != 1) + return false; + + res = unpack_u32(e, &perm->allow, NULL); + res = res && unpack_u32(e, &perm->allow, NULL); + res = res && unpack_u32(e, &perm->deny, NULL); + res = res && unpack_u32(e, &perm->subtree, NULL); + res = res && unpack_u32(e, &perm->cond, NULL); + res = res && unpack_u32(e, &perm->kill, NULL); + res = res && unpack_u32(e, &perm->complain, NULL); + res = res && unpack_u32(e, &perm->prompt, NULL); + res = res && unpack_u32(e, &perm->audit, NULL); + res = res && unpack_u32(e, &perm->quiet, NULL); + res = res && unpack_u32(e, &perm->hide, NULL); + res = res && unpack_u32(e, &perm->xindex, NULL); + res = res && unpack_u32(e, &perm->tag, NULL); + res = res && unpack_u32(e, &perm->label, NULL); + + return res; +} + +static ssize_t unpack_perms_table(struct aa_ext *e, struct aa_perms **perms) +{ + void *pos = e->pos; + u16 size = 0; + + AA_BUG(!perms); + /* + * policy perms are optional, in which case perms are embedded + * in the dfa accept table + */ + if (unpack_nameX(e, AA_STRUCT, "perms")) { + int i; + u32 version; + + if (!unpack_u32(e, &version, "version")) + goto fail_reset; + if (unpack_array(e, NULL, &size) != TRI_TRUE) + goto fail_reset; + *perms = kcalloc(size, sizeof(struct aa_perms), GFP_KERNEL); + if (!*perms) + goto fail_reset; + for (i = 0; i < size; i++) { + if (!unpack_perm(e, version, &(*perms)[i])) + goto fail; + } + if (!unpack_nameX(e, AA_ARRAYEND, NULL)) + goto fail; + if (!unpack_nameX(e, AA_STRUCTEND, NULL)) + goto fail; + } else + *perms = NULL; + + return size; + +fail: + kfree(*perms); +fail_reset: + e->pos = pos; + return -EPROTO; +} + +static int unpack_pdb(struct aa_ext *e, struct aa_policydb *policy, + bool required_dfa, bool required_trans, + const char **info) +{ + void *pos = e->pos; + int i, flags, error = -EPROTO; + + policy->size = unpack_perms_table(e, &policy->perms); + if (policy->size < 0) { + error = policy->size; + policy->perms = NULL; + *info = "failed to unpack - perms"; + goto fail; + } else if (policy->perms) { + /* perms table present accept is index */ + flags = TO_ACCEPT1_FLAG(YYTD_DATA32); + } else { + /* packed perms in accept1 and accept2 */ + flags = TO_ACCEPT1_FLAG(YYTD_DATA32) | + TO_ACCEPT2_FLAG(YYTD_DATA32); + } + + policy->dfa = unpack_dfa(e, flags); + if (IS_ERR(policy->dfa)) { + error = PTR_ERR(policy->dfa); + policy->dfa = NULL; + *info = "failed to unpack - dfa"; + goto fail; + } else if (!policy->dfa) { + if (required_dfa) { + *info = "missing required dfa"; + goto fail; + } + goto out; + } + + /* + * only unpack the following if a dfa is present + * + * sadly start was given different names for file and policydb + * but since it is optional we can try both + */ + if (!unpack_u32(e, &policy->start[0], "start")) + /* default start state */ + policy->start[0] = DFA_START; + if (!unpack_u32(e, &policy->start[AA_CLASS_FILE], "dfa_start")) { + /* default start state for xmatch and file dfa */ + policy->start[AA_CLASS_FILE] = DFA_START; + } /* setup class index */ + for (i = AA_CLASS_FILE + 1; i <= AA_CLASS_LAST; i++) { + policy->start[i] = aa_dfa_next(policy->dfa, policy->start[0], + i); + } + if (!unpack_trans_table(e, &policy->trans) && required_trans) { + *info = "failed to unpack profile transition table"; + goto fail; + } + + /* TODO: move compat mapping here, requires dfa merging first */ + /* TODO: move verify here, it has to be done after compat mappings */ +out: + return 0; + +fail: + e->pos = pos; + return error; +} + static u32 strhash(const void *data, u32 len, u32 seed) { const char * const *key = data; @@ -668,19 +827,22 @@ /** * unpack_profile - unpack a serialized profile * @e: serialized data extent information (NOT NULL) + * @ns_name: pointer of newly allocated copy of %NULL in case of error * * NOTE: unpack profile sets audit struct if there is a failure */ static struct aa_profile *unpack_profile(struct aa_ext *e, char **ns_name) { + struct aa_ruleset *rules; struct aa_profile *profile = NULL; const char *tmpname, *tmpns = NULL, *name = NULL; const char *info = "failed to unpack profile"; + u16 size = 0; size_t ns_len; struct rhashtable_params params = { 0 }; char *key = NULL; struct aa_data *data; - int i, error = -EPROTO; + int error = -EPROTO; kernel_cap_t tmpcap; u32 tmp; @@ -707,28 +869,33 @@ profile = aa_alloc_profile(name, NULL, GFP_KERNEL); if (!profile) return ERR_PTR(-ENOMEM); + rules = list_first_entry(&profile->rules, typeof(*rules), list); /* profile renaming is optional */ (void) unpack_str(e, &profile->rename, "rename"); /* attachment string is optional */ - (void) unpack_str(e, &profile->attach, "attach"); + (void) unpack_str(e, &profile->attach.xmatch_str, "attach"); /* xmatch is optional and may be NULL */ - profile->xmatch = unpack_dfa(e); - if (IS_ERR(profile->xmatch)) { - error = PTR_ERR(profile->xmatch); - profile->xmatch = NULL; + error = unpack_pdb(e, &profile->attach.xmatch, false, false, &info); + if (error) { info = "bad xmatch"; goto fail; } - /* xmatch_len is not optional if xmatch is set */ - if (profile->xmatch) { + + /* neither xmatch_len not xmatch_perms are optional if xmatch is set */ + if (profile->attach.xmatch.dfa) { if (!unpack_u32(e, &tmp, NULL)) { info = "missing xmatch len"; goto fail; } - profile->xmatch_len = tmp; + profile->attach.xmatch_len = tmp; + profile->attach.xmatch.start[AA_CLASS_XMATCH] = DFA_START; + if (aa_compat_map_xmatch(&profile->attach.xmatch)) { + info = "failed to convert xmatch permission table"; + goto fail; + } } /* disconnected attachment string is optional */ @@ -744,18 +911,26 @@ goto fail; if (tmp & PACKED_FLAG_HAT) profile->label.flags |= FLAG_HAT; + if (tmp & PACKED_FLAG_DEBUG1) + profile->label.flags |= FLAG_DEBUG1; + if (tmp & PACKED_FLAG_DEBUG2) + profile->label.flags |= FLAG_DEBUG2; if (!unpack_u32(e, &tmp, NULL)) goto fail; - if (tmp == PACKED_MODE_COMPLAIN || (e->version & FORCE_COMPLAIN_FLAG)) + if (tmp == PACKED_MODE_COMPLAIN || (e->version & FORCE_COMPLAIN_FLAG)) { profile->mode = APPARMOR_COMPLAIN; - else if (tmp == PACKED_MODE_ENFORCE) + } else if (tmp == PACKED_MODE_ENFORCE) { profile->mode = APPARMOR_ENFORCE; - else if (tmp == PACKED_MODE_KILL) + } else if (tmp == PACKED_MODE_KILL) { profile->mode = APPARMOR_KILL; - else if (tmp == PACKED_MODE_UNCONFINED) + } else if (tmp == PACKED_MODE_UNCONFINED) { profile->mode = APPARMOR_UNCONFINED; - else + profile->label.flags |= FLAG_UNCONFINED; + } else if (tmp == PACKED_MODE_USER) { + profile->mode = APPARMOR_USER; + } else { goto fail; + } if (!unpack_u32(e, &tmp, NULL)) goto fail; if (tmp) @@ -773,11 +948,11 @@ profile->path_flags = PATH_MEDIATE_DELETED; info = "failed to unpack profile capabilities"; - if (!unpack_u32(e, &(profile->caps.allow.cap[0]), NULL)) + if (!unpack_u32(e, &(rules->caps.allow.cap[0]), NULL)) goto fail; - if (!unpack_u32(e, &(profile->caps.audit.cap[0]), NULL)) + if (!unpack_u32(e, &(rules->caps.audit.cap[0]), NULL)) goto fail; - if (!unpack_u32(e, &(profile->caps.quiet.cap[0]), NULL)) + if (!unpack_u32(e, &(rules->caps.quiet.cap[0]), NULL)) goto fail; if (!unpack_u32(e, &tmpcap.cap[0], NULL)) goto fail; @@ -785,11 +960,11 @@ info = "failed to unpack upper profile capabilities"; if (unpack_nameX(e, AA_STRUCT, "caps64")) { /* optional upper half of 64 bit caps */ - if (!unpack_u32(e, &(profile->caps.allow.cap[1]), NULL)) + if (!unpack_u32(e, &(rules->caps.allow.cap[1]), NULL)) goto fail; - if (!unpack_u32(e, &(profile->caps.audit.cap[1]), NULL)) + if (!unpack_u32(e, &(rules->caps.audit.cap[1]), NULL)) goto fail; - if (!unpack_u32(e, &(profile->caps.quiet.cap[1]), NULL)) + if (!unpack_u32(e, &(rules->caps.quiet.cap[1]), NULL)) goto fail; if (!unpack_u32(e, &(tmpcap.cap[1]), NULL)) goto fail; @@ -800,9 +975,9 @@ info = "failed to unpack extended profile capabilities"; if (unpack_nameX(e, AA_STRUCT, "capsx")) { /* optional extended caps mediation mask */ - if (!unpack_u32(e, &(profile->caps.extended.cap[0]), NULL)) + if (!unpack_u32(e, &(rules->caps.extended.cap[0]), NULL)) goto fail; - if (!unpack_u32(e, &(profile->caps.extended.cap[1]), NULL)) + if (!unpack_u32(e, &(rules->caps.extended.cap[1]), NULL)) goto fail; if (!unpack_nameX(e, AA_STRUCTEND, NULL)) goto fail; @@ -813,65 +988,93 @@ goto fail; } - if (!unpack_rlimits(e, profile)) { + if (!unpack_rlimits(e, rules)) { info = "failed to unpack profile rlimits"; goto fail; } - if (!unpack_secmark(e, profile)) { + if (!unpack_secmark(e, rules)) { info = "failed to unpack profile secmark rules"; goto fail; } + if (unpack_array(e, "net_allowed_af", &size) == TRI_TRUE || + VERSION_LT(e->version, v8)) { + u16 i; + + profile->net_compat = kzalloc(sizeof(struct aa_net_compat), GFP_KERNEL); + if (!profile->net_compat) { + info = "out of memory"; + goto fail; + } + for (i = 0; i < size; i++) { + /* discard extraneous rules that this kernel will + * never request + */ + if (i >= AF_MAX) { + u16 tmp; + + if (!unpack_u16(e, &tmp, NULL) || + !unpack_u16(e, &tmp, NULL) || + !unpack_u16(e, &tmp, NULL)) + goto fail; + continue; + } + if (!unpack_u16(e, &profile->net_compat->allow[i], NULL)) + goto fail; + if (!unpack_u16(e, &profile->net_compat->audit[i], NULL)) + goto fail; + if (!unpack_u16(e, &profile->net_compat->quiet[i], NULL)) + goto fail; + } + if (size && !unpack_nameX(e, AA_ARRAYEND, NULL)) + goto fail; + if (VERSION_LT(e->version, v7)) { + /* pre v7 policy always allowed these */ + profile->net_compat->allow[AF_UNIX] = 0xffff; + profile->net_compat->allow[AF_NETLINK] = 0xffff; + } + } + + if (unpack_nameX(e, AA_STRUCT, "policydb")) { /* generic policy dfa - optional and may be NULL */ info = "failed to unpack policydb"; - profile->policy.dfa = unpack_dfa(e); - if (IS_ERR(profile->policy.dfa)) { - error = PTR_ERR(profile->policy.dfa); - profile->policy.dfa = NULL; - goto fail; - } else if (!profile->policy.dfa) { - error = -EPROTO; - goto fail; - } - if (!unpack_u32(e, &profile->policy.start[0], "start")) - /* default start state */ - profile->policy.start[0] = DFA_START; - /* setup class index */ - for (i = AA_CLASS_FILE; i <= AA_CLASS_LAST; i++) { - profile->policy.start[i] = - aa_dfa_next(profile->policy.dfa, - profile->policy.start[0], - i); - } + error = unpack_pdb(e, &rules->policy, true, false, + &info); + if (error) + goto fail; + /* Fixup: drop when we get rid of start array */ + if (aa_dfa_next(rules->policy.dfa, rules->policy.start[0], + AA_CLASS_FILE)) + rules->policy.start[AA_CLASS_FILE] = + aa_dfa_next(rules->policy.dfa, + rules->policy.start[0], + AA_CLASS_FILE); if (!unpack_nameX(e, AA_STRUCTEND, NULL)) goto fail; + if (aa_compat_map_policy(&rules->policy, e->version)) { + info = "failed to remap policydb permission table"; + goto fail; + } } else - profile->policy.dfa = aa_get_dfa(nulldfa); + rules->policy.dfa = aa_get_dfa(nulldfa); /* get file rules */ - profile->file.dfa = unpack_dfa(e); - if (IS_ERR(profile->file.dfa)) { - error = PTR_ERR(profile->file.dfa); - profile->file.dfa = NULL; - info = "failed to unpack profile file rules"; - goto fail; - } else if (profile->file.dfa) { - if (!unpack_u32(e, &profile->file.start, "dfa_start")) - /* default start state */ - profile->file.start = DFA_START; - } else if (profile->policy.dfa && - profile->policy.start[AA_CLASS_FILE]) { - profile->file.dfa = aa_get_dfa(profile->policy.dfa); - profile->file.start = profile->policy.start[AA_CLASS_FILE]; - } else - profile->file.dfa = aa_get_dfa(nulldfa); - - if (!unpack_trans_table(e, profile)) { - info = "failed to unpack profile transition table"; + error = unpack_pdb(e, &rules->file, false, true, &info); + if (error) { goto fail; - } + } else if (rules->file.dfa) { + if (aa_compat_map_file(&rules->file)) { + info = "failed to remap file permission table"; + goto fail; + } + } else if (rules->policy.dfa && + rules->policy.start[AA_CLASS_FILE]) { + rules->file.dfa = aa_get_dfa(rules->policy.dfa); + rules->file.start[AA_CLASS_FILE] = rules->policy.start[AA_CLASS_FILE]; + } else + rules->file.dfa = aa_get_dfa(nulldfa); if (unpack_nameX(e, AA_STRUCT, "data")) { info = "out of memory"; @@ -936,7 +1139,7 @@ } /** - * verify_head - unpack serialized stream header + * verify_header - unpack serialized stream header * @e: serialized data read head (NOT NULL) * @required: whether the header is required or optional * @ns: Returns - namespace if one is specified else NULL (NOT NULL) @@ -962,7 +1165,7 @@ * if not specified use previous version * Mask off everything that is not kernel abi version */ - if (VERSION_LT(e->version, v5) || VERSION_GT(e->version, v7)) { + if (VERSION_LT(e->version, v5) || VERSION_GT(e->version, v9)) { audit_iface(NULL, NULL, NULL, "unsupported interface version", e, error); return error; @@ -1003,11 +1206,51 @@ { int i; for (i = 0; i < dfa->tables[YYTD_ID_ACCEPT]->td_lolen; i++) { - if (!verify_xindex(dfa_user_xindex(dfa, i), table_size)) + if (!verify_xindex(ACCEPT_TABLE(dfa)[i], table_size)) return false; - if (!verify_xindex(dfa_other_xindex(dfa, i), table_size)) + } + return true; +} + +static bool verify_perm(struct aa_perms *perm) +{ + /* TODO: allow option to just force the perms into a valid state */ + if (perm->allow & perm->deny) + return false; + if (perm->subtree & ~perm->allow) + return false; + if (perm->cond & (perm->allow | perm->deny)) + return false; + if (perm->kill & perm->allow) + return false; + if (perm->complain & (perm->allow | perm->deny)) + return false; + if (perm->prompt & (perm->allow | perm->deny)) + return false; + if (perm->complain & perm->prompt) + return false; + if (perm->hide & perm->allow) + return false; + + return true; +} + +static bool verify_perms(struct aa_policydb *pdb) +{ + int i; + + for (i = 0; i < pdb->size; i++) { + if (!verify_perm(&pdb->perms[i])) + return false; + /* verify indexes into str table */ + if (pdb->perms[i].xindex >= pdb->trans.size) + return false; + if (pdb->perms[i].tag >= pdb->trans.size) + return false; + if (pdb->perms[i].label >= pdb->trans.size) return false; } + return true; } @@ -1016,14 +1259,38 @@ * @profile: profile to verify (NOT NULL) * * Returns: 0 if passes verification else error + * + * This verification is post any unpack mapping or changes */ static int verify_profile(struct aa_profile *profile) { - if (profile->file.dfa && - !verify_dfa_xindex(profile->file.dfa, - profile->file.trans.size)) { - audit_iface(profile, NULL, NULL, "Invalid named transition", - NULL, -EPROTO); + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); + if (!rules) + return 0; + + if ((rules->file.dfa && !verify_dfa_xindex(rules->file.dfa, + rules->file.trans.size)) || + (rules->policy.dfa && + !verify_dfa_xindex(rules->policy.dfa, rules->policy.trans.size))) { + audit_iface(profile, NULL, NULL, + "Unpack: Invalid named transition", NULL, -EPROTO); + return -EPROTO; + } + + if (!verify_perms(&rules->file)) { + audit_iface(profile, NULL, NULL, + "Unpack: Invalid perm index", NULL, -EPROTO); + return -EPROTO; + } + if (!verify_perms(&rules->policy)) { + audit_iface(profile, NULL, NULL, + "Unpack: Invalid perm index", NULL, -EPROTO); + return -EPROTO; + } + if (!verify_perms(&profile->attach.xmatch)) { + audit_iface(profile, NULL, NULL, + "Unpack: Invalid perm index", NULL, -EPROTO); return -EPROTO; } @@ -1049,85 +1316,81 @@ return ent; } -static int deflate_compress(const char *src, size_t slen, char **dst, - size_t *dlen) +static int compress_zstd(const char *src, size_t slen, char **dst, size_t *dlen) { - int error; - struct z_stream_s strm; - void *stgbuf, *dstbuf; - size_t stglen = deflateBound(slen); - - memset(&strm, 0, sizeof(strm)); - - if (stglen < slen) - return -EFBIG; - - strm.workspace = kvzalloc(zlib_deflate_workspacesize(MAX_WBITS, - MAX_MEM_LEVEL), - GFP_KERNEL); - if (!strm.workspace) - return -ENOMEM; - - error = zlib_deflateInit(&strm, aa_g_rawdata_compression_level); - if (error != Z_OK) { - error = -ENOMEM; - goto fail_deflate_init; - } - - stgbuf = kvzalloc(stglen, GFP_KERNEL); - if (!stgbuf) { - error = -ENOMEM; - goto fail_stg_alloc; - } - - strm.next_in = src; - strm.avail_in = slen; - strm.next_out = stgbuf; - strm.avail_out = stglen; - - error = zlib_deflate(&strm, Z_FINISH); - if (error != Z_STREAM_END) { - error = -EINVAL; - goto fail_deflate; - } - error = 0; - - if (is_vmalloc_addr(stgbuf)) { - dstbuf = kvzalloc(strm.total_out, GFP_KERNEL); - if (dstbuf) { - memcpy(dstbuf, stgbuf, strm.total_out); - kvfree(stgbuf); +#ifdef CONFIG_SECURITY_APPARMOR_EXPORT_BINARY + const zstd_parameters params = + zstd_get_params(aa_g_rawdata_compression_level, slen); + const size_t wksp_len = zstd_cctx_workspace_bound(¶ms.cParams); + void *wksp = NULL; + zstd_cctx *ctx = NULL; + size_t out_len = zstd_compress_bound(slen); + void *out = NULL; + int ret = 0; + + out = kvzalloc(out_len, GFP_KERNEL); + if (!out) { + ret = -ENOMEM; + goto cleanup; + } + + wksp = kvzalloc(wksp_len, GFP_KERNEL); + if (!wksp) { + ret = -ENOMEM; + goto cleanup; + } + + ctx = zstd_init_cctx(wksp, wksp_len); + if (!ctx) { + ret = -EINVAL; + goto cleanup; + } + + out_len = zstd_compress_cctx(ctx, out, out_len, src, slen, ¶ms); + if (zstd_is_error(out_len)) { + ret = -EINVAL; + goto cleanup; + } + + if (is_vmalloc_addr(out)) { + *dst = kvzalloc(out_len, GFP_KERNEL); + if (*dst) { + memcpy(*dst, out, out_len); + kvfree(out); + out = NULL; } - } else + } else { /* * If the staging buffer was kmalloc'd, then using krealloc is * probably going to be faster. The destination buffer will * always be smaller, so it's just shrunk, avoiding a memcpy */ - dstbuf = krealloc(stgbuf, strm.total_out, GFP_KERNEL); + *dst = krealloc(out, out_len, GFP_KERNEL); + } - if (!dstbuf) { - error = -ENOMEM; - goto fail_deflate; + if (!*dst) { + ret = -ENOMEM; + goto cleanup; } - *dst = dstbuf; - *dlen = strm.total_out; + *dlen = out_len; -fail_stg_alloc: - zlib_deflateEnd(&strm); -fail_deflate_init: - kvfree(strm.workspace); - return error; +cleanup: + if (ret) { + kvfree(out); + *dst = NULL; + } -fail_deflate: - kvfree(stgbuf); - goto fail_stg_alloc; + kvfree(wksp); + return ret; +#else + *dlen = slen; + return 0; +#endif } static int compress_loaddata(struct aa_loaddata *data) { - AA_BUG(data->compressed_size > 0); /* @@ -1136,12 +1399,13 @@ */ if (aa_g_rawdata_compression_level != 0) { void *udata = data->data; - int error = deflate_compress(udata, data->size, &data->data, - &data->compressed_size); + int error = compress_zstd(udata, data->size, &data->data, + &data->compressed_size); if (error) return error; - kvfree(udata); + if (udata != data->data) + kvfree(udata); } else data->compressed_size = data->size; @@ -1216,9 +1480,12 @@ goto fail; } } - error = compress_loaddata(udata); - if (error) - goto fail; + + if (aa_g_export_binary) { + error = compress_loaddata(udata); + if (error) + goto fail; + } return 0; fail_profile: --- linux-gcp-5.19.0.orig/security/apparmor/policy_unpack_test.c +++ linux-gcp-5.19.0/security/apparmor/policy_unpack_test.c @@ -48,8 +48,8 @@ size_t e_size; }; -struct aa_ext *build_aa_ext_struct(struct policy_unpack_fixture *puf, - struct kunit *test, size_t buf_size) +static struct aa_ext *build_aa_ext_struct(struct policy_unpack_fixture *puf, + struct kunit *test, size_t buf_size) { char *buf; struct aa_ext *e; @@ -144,8 +144,8 @@ puf->e->pos += TEST_ARRAY_BUF_OFFSET; - array_size = unpack_array(puf->e, NULL); - + KUNIT_EXPECT_EQ(test, unpack_array(puf->e, NULL, &array_size), + TRI_TRUE); KUNIT_EXPECT_EQ(test, array_size, (u16)TEST_ARRAY_SIZE); KUNIT_EXPECT_PTR_EQ(test, puf->e->pos, puf->e->start + TEST_ARRAY_BUF_OFFSET + sizeof(u16) + 1); @@ -159,8 +159,8 @@ puf->e->pos += TEST_NAMED_ARRAY_BUF_OFFSET; - array_size = unpack_array(puf->e, name); - + KUNIT_EXPECT_EQ(test, unpack_array(puf->e, name, &array_size), + TRI_TRUE); KUNIT_EXPECT_EQ(test, array_size, (u16)TEST_ARRAY_SIZE); KUNIT_EXPECT_PTR_EQ(test, puf->e->pos, puf->e->start + TEST_ARRAY_BUF_OFFSET + sizeof(u16) + 1); @@ -175,9 +175,9 @@ puf->e->pos += TEST_NAMED_ARRAY_BUF_OFFSET; puf->e->end = puf->e->start + TEST_ARRAY_BUF_OFFSET + sizeof(u16); - array_size = unpack_array(puf->e, name); - - KUNIT_EXPECT_EQ(test, array_size, (u16)0); + KUNIT_EXPECT_EQ(test, unpack_array(puf->e, name, &array_size), + TRI_TRUE); + KUNIT_EXPECT_EQ(test, array_size, 0); KUNIT_EXPECT_PTR_EQ(test, puf->e->pos, puf->e->start + TEST_NAMED_ARRAY_BUF_OFFSET); } @@ -391,10 +391,10 @@ size = unpack_u16_chunk(puf->e, &chunk); - KUNIT_EXPECT_PTR_EQ(test, (void *)chunk, + KUNIT_EXPECT_PTR_EQ(test, chunk, puf->e->start + TEST_U16_OFFSET + 2); - KUNIT_EXPECT_EQ(test, size, (size_t)TEST_U16_DATA); - KUNIT_EXPECT_PTR_EQ(test, puf->e->pos, (void *)(chunk + TEST_U16_DATA)); + KUNIT_EXPECT_EQ(test, size, TEST_U16_DATA); + KUNIT_EXPECT_PTR_EQ(test, puf->e->pos, (chunk + TEST_U16_DATA)); } static void policy_unpack_test_unpack_u16_chunk_out_of_bounds_1( @@ -408,7 +408,7 @@ size = unpack_u16_chunk(puf->e, &chunk); - KUNIT_EXPECT_EQ(test, size, (size_t)0); + KUNIT_EXPECT_EQ(test, size, 0); KUNIT_EXPECT_NULL(test, chunk); KUNIT_EXPECT_PTR_EQ(test, puf->e->pos, puf->e->end - 1); } @@ -430,7 +430,7 @@ size = unpack_u16_chunk(puf->e, &chunk); - KUNIT_EXPECT_EQ(test, size, (size_t)0); + KUNIT_EXPECT_EQ(test, size, 0); KUNIT_EXPECT_NULL(test, chunk); KUNIT_EXPECT_PTR_EQ(test, puf->e->pos, puf->e->start + TEST_U16_OFFSET); } @@ -439,7 +439,7 @@ { struct policy_unpack_fixture *puf = test->priv; bool success; - u32 data; + u32 data = 0; puf->e->pos += TEST_U32_BUF_OFFSET; @@ -456,7 +456,7 @@ struct policy_unpack_fixture *puf = test->priv; const char name[] = TEST_U32_NAME; bool success; - u32 data; + u32 data = 0; puf->e->pos += TEST_NAMED_U32_BUF_OFFSET; @@ -473,7 +473,7 @@ struct policy_unpack_fixture *puf = test->priv; const char name[] = TEST_U32_NAME; bool success; - u32 data; + u32 data = 0; puf->e->pos += TEST_NAMED_U32_BUF_OFFSET; puf->e->end = puf->e->start + TEST_U32_BUF_OFFSET + sizeof(u32); @@ -489,7 +489,7 @@ { struct policy_unpack_fixture *puf = test->priv; bool success; - u64 data; + u64 data = 0; puf->e->pos += TEST_U64_BUF_OFFSET; @@ -506,7 +506,7 @@ struct policy_unpack_fixture *puf = test->priv; const char name[] = TEST_U64_NAME; bool success; - u64 data; + u64 data = 0; puf->e->pos += TEST_NAMED_U64_BUF_OFFSET; @@ -523,7 +523,7 @@ struct policy_unpack_fixture *puf = test->priv; const char name[] = TEST_U64_NAME; bool success; - u64 data; + u64 data = 0; puf->e->pos += TEST_NAMED_U64_BUF_OFFSET; puf->e->end = puf->e->start + TEST_U64_BUF_OFFSET + sizeof(u64); --- linux-gcp-5.19.0.orig/security/apparmor/procattr.c +++ linux-gcp-5.19.0/security/apparmor/procattr.c @@ -20,6 +20,7 @@ * aa_getprocattr - Return the profile information for @profile * @profile: the profile to print profile info about (NOT NULL) * @string: Returns - string containing the profile info (NOT NULL) + * @newline: Should a newline be added to @string. * * Requires: profile != NULL * @@ -28,20 +29,21 @@ * * Returns: size of string placed in @string else error code on failure */ -int aa_getprocattr(struct aa_label *label, char **string) +int aa_getprocattr(struct aa_label *label, char **string, bool newline) { struct aa_ns *ns = labels_ns(label); struct aa_ns *current_ns = aa_get_current_ns(); + int flags = FLAG_VIEW_SUBNS | FLAG_HIDDEN_UNCONFINED; int len; if (!aa_ns_visible(current_ns, ns, true)) { aa_put_ns(current_ns); return -EACCES; } + if (newline) + flags |= FLAG_SHOW_MODE; - len = aa_label_snxprint(NULL, 0, current_ns, label, - FLAG_SHOW_MODE | FLAG_VIEW_SUBNS | - FLAG_HIDDEN_UNCONFINED); + len = aa_label_snxprint(NULL, 0, current_ns, label, flags); AA_BUG(len < 0); *string = kmalloc(len + 2, GFP_KERNEL); @@ -50,19 +52,19 @@ return -ENOMEM; } - len = aa_label_snxprint(*string, len + 2, current_ns, label, - FLAG_SHOW_MODE | FLAG_VIEW_SUBNS | - FLAG_HIDDEN_UNCONFINED); + len = aa_label_snxprint(*string, len + 2, current_ns, label, flags); if (len < 0) { aa_put_ns(current_ns); return len; } - (*string)[len] = '\n'; - (*string)[len + 1] = 0; + if (newline) { + (*string)[len] = '\n'; + (*string)[++len] = 0; + } aa_put_ns(current_ns); - return len + 1; + return len; } /** @@ -90,7 +92,7 @@ } /** - * aa_setprocattr_chagnehat - handle procattr interface to change_hat + * aa_setprocattr_changehat - handle procattr interface to change_hat * @args: args received from writing to /proc//attr/current (NOT NULL) * @size: size of the args * @flags: set of flags governing behavior --- linux-gcp-5.19.0.orig/security/apparmor/resource.c +++ linux-gcp-5.19.0/security/apparmor/resource.c @@ -53,7 +53,8 @@ unsigned long value, struct aa_label *peer, const char *info, int error) { - DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_NONE, OP_SETRLIMIT); + DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_NONE, AA_CLASS_RLIMITS, + OP_SETRLIMIT); aad(&sa)->rlim.rlim = resource; aad(&sa)->rlim.max = value; @@ -81,10 +82,12 @@ static int profile_setrlimit(struct aa_profile *profile, unsigned int resource, struct rlimit *new_rlim) { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); int e = 0; - if (profile->rlimits.mask & (1 << resource) && new_rlim->rlim_max > - profile->rlimits.limits[resource].rlim_max) + if (rules->rlimits.mask & (1 << resource) && new_rlim->rlim_max > + rules->rlimits.limits[resource].rlim_max) e = -EACCES; return audit_resource(profile, resource, new_rlim->rlim_max, NULL, NULL, e); @@ -152,12 +155,15 @@ * to the lesser of the tasks hard limit and the init tasks soft limit */ label_for_each_confined(i, old_l, old) { - if (old->rlimits.mask) { + struct aa_ruleset *rules = list_first_entry(&old->rules, + typeof(*rules), + list); + if (rules->rlimits.mask) { int j; for (j = 0, mask = 1; j < RLIM_NLIMITS; j++, mask <<= 1) { - if (old->rlimits.mask & mask) { + if (rules->rlimits.mask & mask) { rlim = current->signal->rlim + j; initrlim = init_task.signal->rlim + j; rlim->rlim_cur = min(rlim->rlim_max, @@ -169,17 +175,20 @@ /* set any new hard limits as dictated by the new profile */ label_for_each_confined(i, new_l, new) { + struct aa_ruleset *rules = list_first_entry(&new->rules, + typeof(*rules), + list); int j; - if (!new->rlimits.mask) + if (!rules->rlimits.mask) continue; for (j = 0, mask = 1; j < RLIM_NLIMITS; j++, mask <<= 1) { - if (!(new->rlimits.mask & mask)) + if (!(rules->rlimits.mask & mask)) continue; rlim = current->signal->rlim + j; rlim->rlim_max = min(rlim->rlim_max, - new->rlimits.limits[j].rlim_max); + rules->rlimits.limits[j].rlim_max); /* soft limit should not exceed hard limit */ rlim->rlim_cur = min(rlim->rlim_cur, rlim->rlim_max); } --- linux-gcp-5.19.0.orig/security/apparmor/secid.c +++ linux-gcp-5.19.0/security/apparmor/secid.c @@ -13,9 +13,9 @@ #include #include #include -#include #include #include +#include #include "include/cred.h" #include "include/lib.h" @@ -29,8 +29,9 @@ */ #define AA_FIRST_SECID 2 -static DEFINE_IDR(aa_secids); -static DEFINE_SPINLOCK(secid_lock); +static DEFINE_XARRAY_FLAGS(aa_secids, XA_FLAGS_LOCK_IRQ | XA_FLAGS_TRACK_FREE); + +int apparmor_display_secid_mode; /* * TODO: allow policy to reserve a secid range? @@ -47,9 +48,9 @@ { unsigned long flags; - spin_lock_irqsave(&secid_lock, flags); - idr_replace(&aa_secids, label, secid); - spin_unlock_irqrestore(&secid_lock, flags); + xa_lock_irqsave(&aa_secids, flags); + __xa_store(&aa_secids, secid, label, 0); + xa_unlock_irqrestore(&aa_secids, flags); } /** @@ -58,19 +59,14 @@ */ struct aa_label *aa_secid_to_label(u32 secid) { - struct aa_label *label; - - rcu_read_lock(); - label = idr_find(&aa_secids, secid); - rcu_read_unlock(); - - return label; + return xa_load(&aa_secids, secid); } int apparmor_secid_to_secctx(u32 secid, char **secdata, u32 *seclen) { /* TODO: cache secctx and ref count so we don't have to recreate */ struct aa_label *label = aa_secid_to_label(secid); + int flags = FLAG_VIEW_SUBNS | FLAG_HIDDEN_UNCONFINED | FLAG_ABS_ROOT; int len; AA_BUG(!seclen); @@ -78,15 +74,15 @@ if (!label) return -EINVAL; + if (apparmor_display_secid_mode) + flags |= FLAG_SHOW_MODE; + if (secdata) len = aa_label_asxprint(secdata, root_ns, label, - FLAG_SHOW_MODE | FLAG_VIEW_SUBNS | - FLAG_HIDDEN_UNCONFINED | FLAG_ABS_ROOT, - GFP_ATOMIC); + flags, GFP_ATOMIC); else - len = aa_label_snxprint(NULL, 0, root_ns, label, - FLAG_SHOW_MODE | FLAG_VIEW_SUBNS | - FLAG_HIDDEN_UNCONFINED | FLAG_ABS_ROOT); + len = aa_label_snxprint(NULL, 0, root_ns, label, flags); + if (len < 0) return -ENOMEM; @@ -126,19 +122,16 @@ unsigned long flags; int ret; - idr_preload(gfp); - spin_lock_irqsave(&secid_lock, flags); - ret = idr_alloc(&aa_secids, label, AA_FIRST_SECID, 0, GFP_ATOMIC); - spin_unlock_irqrestore(&secid_lock, flags); - idr_preload_end(); + xa_lock_irqsave(&aa_secids, flags); + ret = __xa_alloc(&aa_secids, &label->secid, label, + XA_LIMIT(AA_FIRST_SECID, INT_MAX), gfp); + xa_unlock_irqrestore(&aa_secids, flags); if (ret < 0) { label->secid = AA_SECID_INVALID; return ret; } - AA_BUG(ret == AA_SECID_INVALID); - label->secid = ret; return 0; } @@ -150,12 +143,7 @@ { unsigned long flags; - spin_lock_irqsave(&secid_lock, flags); - idr_remove(&aa_secids, secid); - spin_unlock_irqrestore(&secid_lock, flags); -} - -void aa_secids_init(void) -{ - idr_init_base(&aa_secids, AA_FIRST_SECID); + xa_lock_irqsave(&aa_secids, flags); + __xa_erase(&aa_secids, secid); + xa_unlock_irqrestore(&aa_secids, flags); } --- linux-gcp-5.19.0.orig/security/apparmor/task.c +++ linux-gcp-5.19.0/security/apparmor/task.c @@ -12,7 +12,12 @@ * should return to the previous cred if it has not been modified. */ +#include +#include + +#include "include/audit.h" #include "include/cred.h" +#include "include/policy.h" #include "include/task.h" /** @@ -26,7 +31,7 @@ struct aa_label *p; rcu_read_lock(); - p = aa_get_newest_label(__aa_task_raw_label(task)); + p = aa_get_newest_cred_label(__task_cred(task)); rcu_read_unlock(); return p; @@ -177,3 +182,158 @@ return 0; } + +/** + * audit_ptrace_mask - convert mask to permission string + * @mask: permission mask to convert + * + * Returns: pointer to static string + */ +static const char *audit_ptrace_mask(u32 mask) +{ + switch (mask) { + case MAY_READ: + return "read"; + case MAY_WRITE: + return "trace"; + case AA_MAY_BE_READ: + return "readby"; + case AA_MAY_BE_TRACED: + return "tracedby"; + } + return ""; +} + +/* call back to audit ptrace fields */ +static void audit_ptrace_cb(struct audit_buffer *ab, void *va) +{ + struct common_audit_data *sa = va; + + if (aad(sa)->request & AA_PTRACE_PERM_MASK) { + audit_log_format(ab, " requested_mask=\"%s\"", + audit_ptrace_mask(aad(sa)->request)); + + if (aad(sa)->denied & AA_PTRACE_PERM_MASK) { + audit_log_format(ab, " denied_mask=\"%s\"", + audit_ptrace_mask(aad(sa)->denied)); + } + } + audit_log_format(ab, " peer="); + aa_label_xaudit(ab, labels_ns(aad(sa)->label), aad(sa)->peer, + FLAGS_NONE, GFP_ATOMIC); +} + +/* assumes check for RULE_MEDIATES is already done */ +/* TODO: conditionals */ +static int profile_ptrace_perm(struct aa_profile *profile, + struct aa_label *peer, u32 request, + struct common_audit_data *sa) +{ + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), list); + struct aa_perms perms = { }; + + aad(sa)->peer = peer; + aa_profile_match_label(profile, rules, peer, AA_CLASS_PTRACE, request, + &perms); + aa_apply_modes_to_perms(profile, &perms); + return aa_check_perms(profile, &perms, request, sa, audit_ptrace_cb); +} + +static int profile_tracee_perm(struct aa_profile *tracee, + struct aa_label *tracer, u32 request, + struct common_audit_data *sa) +{ + if (profile_unconfined(tracee) || unconfined(tracer) || + !ANY_RULE_MEDIATES(&tracee->rules, AA_CLASS_PTRACE)) + return 0; + + return profile_ptrace_perm(tracee, tracer, request, sa); +} + +static int profile_tracer_perm(struct aa_profile *tracer, + struct aa_label *tracee, u32 request, + struct common_audit_data *sa) +{ + if (profile_unconfined(tracer)) + return 0; + + if (ANY_RULE_MEDIATES(&tracer->rules, AA_CLASS_PTRACE)) + return profile_ptrace_perm(tracer, tracee, request, sa); + + /* profile uses the old style capability check for ptrace */ + if (&tracer->label == tracee) + return 0; + + aad(sa)->label = &tracer->label; + aad(sa)->peer = tracee; + aad(sa)->request = 0; + aad(sa)->error = aa_capable(&tracer->label, CAP_SYS_PTRACE, + CAP_OPT_NONE); + + return aa_audit(AUDIT_APPARMOR_AUTO, tracer, sa, audit_ptrace_cb); +} + +/** + * aa_may_ptrace - test if tracer task can trace the tracee + * @tracer: label of the task doing the tracing (NOT NULL) + * @tracee: task label to be traced + * @request: permission request + * + * Returns: %0 else error code if permission denied or error + */ +int aa_may_ptrace(struct aa_label *tracer, struct aa_label *tracee, + u32 request) +{ + struct aa_profile *profile; + u32 xrequest = request << PTRACE_PERM_SHIFT; + DEFINE_AUDIT_DATA(sa, LSM_AUDIT_DATA_NONE, AA_CLASS_PTRACE, OP_PTRACE); + + return xcheck_labels(tracer, tracee, profile, + profile_tracer_perm(profile, tracee, request, &sa), + profile_tracee_perm(profile, tracer, xrequest, &sa)); +} + +/* call back to audit ptrace fields */ +static void audit_ns_cb(struct audit_buffer *ab, void *va) +{ + struct common_audit_data *sa = va; + + if (aad(sa)->request & AA_USERNS_CREATE) + audit_log_format(ab, " requested=\"userns_create\""); + + if (aad(sa)->denied & AA_USERNS_CREATE) + audit_log_format(ab, " denied=\"userns_create\""); +} + +int aa_profile_ns_perm(struct aa_profile *profile, struct common_audit_data *sa, + u32 request) +{ + struct aa_perms perms = { }; + + aad(sa)->label = &profile->label; + aad(sa)->request = request; + + if (profile_unconfined(profile)) { + if (!unprivileged_userns_restricted || + ns_capable_noaudit(current_user_ns(), CAP_SYS_ADMIN)) + return 0; + + aad(sa)->info = "User namespace creation restricted"; + /* fall through to below allows complain mode to override */ + } else { + struct aa_ruleset *rules = list_first_entry(&profile->rules, + typeof(*rules), + list); + aa_state_t state; + + state = RULE_MEDIATES(rules, aad(sa)->class); + if (!state) + /* TODO: add flag to complain about unmediated */ + return 0; + perms = *aa_lookup_perms(&rules->policy, state); + } + + aa_apply_modes_to_perms(profile, &perms); + return aa_check_perms(profile, &perms, request, sa, audit_ns_cb); +} --- linux-gcp-5.19.0.orig/security/bpf/hooks.c +++ linux-gcp-5.19.0/security/bpf/hooks.c @@ -15,9 +15,19 @@ LSM_HOOK_INIT(task_free, bpf_task_storage_free), }; +/* + * slot has to be LSMBLOB_NEEDED because some of the hooks + * supplied by this module require a slot. + */ +struct lsm_id bpf_lsmid __lsm_ro_after_init = { + .lsm = "bpf", + .slot = LSMBLOB_NEEDED +}; + static int __init bpf_lsm_init(void) { - security_add_hooks(bpf_lsm_hooks, ARRAY_SIZE(bpf_lsm_hooks), "bpf"); + security_add_hooks(bpf_lsm_hooks, ARRAY_SIZE(bpf_lsm_hooks), + &bpf_lsmid); pr_info("LSM support for eBPF active\n"); return 0; } --- linux-gcp-5.19.0.orig/security/commoncap.c +++ linux-gcp-5.19.0/security/commoncap.c @@ -401,8 +401,10 @@ &tmpbuf, size, GFP_NOFS); dput(dentry); - if (ret < 0 || !tmpbuf) - return ret; + if (ret < 0 || !tmpbuf) { + size = ret; + goto out_free; + } fs_ns = inode->i_sb->s_user_ns; cap = (struct vfs_cap_data *) tmpbuf; @@ -1446,6 +1448,11 @@ #ifdef CONFIG_SECURITY +static struct lsm_id capability_lsmid __lsm_ro_after_init = { + .lsm = "capability", + .slot = LSMBLOB_NOT_NEEDED +}; + static struct security_hook_list capability_hooks[] __lsm_ro_after_init = { LSM_HOOK_INIT(capable, cap_capable), LSM_HOOK_INIT(settime, cap_settime), @@ -1470,7 +1477,7 @@ static int __init capability_init(void) { security_add_hooks(capability_hooks, ARRAY_SIZE(capability_hooks), - "capability"); + &capability_lsmid); return 0; } --- linux-gcp-5.19.0.orig/security/device_cgroup.c +++ linux-gcp-5.19.0/security/device_cgroup.c @@ -82,6 +82,17 @@ return -ENOMEM; } +static void dev_exceptions_move(struct list_head *dest, struct list_head *orig) +{ + struct dev_exception_item *ex, *tmp; + + lockdep_assert_held(&devcgroup_mutex); + + list_for_each_entry_safe(ex, tmp, orig, list) { + list_move_tail(&ex->list, dest); + } +} + /* * called under devcgroup_mutex */ @@ -604,11 +615,13 @@ int count, rc = 0; struct dev_exception_item ex; struct dev_cgroup *parent = css_to_devcgroup(devcgroup->css.parent); + struct dev_cgroup tmp_devcgrp; if (!capable(CAP_SYS_ADMIN)) return -EPERM; memset(&ex, 0, sizeof(ex)); + memset(&tmp_devcgrp, 0, sizeof(tmp_devcgrp)); b = buffer; switch (*b) { @@ -620,15 +633,27 @@ if (!may_allow_all(parent)) return -EPERM; - dev_exception_clean(devcgroup); - devcgroup->behavior = DEVCG_DEFAULT_ALLOW; - if (!parent) + if (!parent) { + devcgroup->behavior = DEVCG_DEFAULT_ALLOW; + dev_exception_clean(devcgroup); break; + } + INIT_LIST_HEAD(&tmp_devcgrp.exceptions); + rc = dev_exceptions_copy(&tmp_devcgrp.exceptions, + &devcgroup->exceptions); + if (rc) + return rc; + dev_exception_clean(devcgroup); rc = dev_exceptions_copy(&devcgroup->exceptions, &parent->exceptions); - if (rc) + if (rc) { + dev_exceptions_move(&devcgroup->exceptions, + &tmp_devcgrp.exceptions); return rc; + } + devcgroup->behavior = DEVCG_DEFAULT_ALLOW; + dev_exception_clean(&tmp_devcgrp); break; case DEVCG_DENY: if (css_has_online_children(&devcgroup->css)) --- linux-gcp-5.19.0.orig/security/integrity/digsig.c +++ linux-gcp-5.19.0/security/integrity/digsig.c @@ -126,6 +126,7 @@ { struct key_restriction *restriction; key_perm_t perm; + int ret; perm = (KEY_POS_ALL & ~KEY_POS_SETATTR) | KEY_USR_VIEW | KEY_USR_READ | KEY_USR_SEARCH; @@ -154,7 +155,10 @@ perm |= KEY_USR_WRITE; out: - return __integrity_init_keyring(id, perm, restriction); + ret = __integrity_init_keyring(id, perm, restriction); + if (ret) + kfree(restriction); + return ret; } static int __init integrity_add_key(const unsigned int id, const void *data, @@ -192,7 +196,7 @@ rc = kernel_read_file_from_path(path, 0, &data, INT_MAX, NULL, READING_X509_CERTIFICATE); if (rc < 0) { - pr_err("Unable to open file: %s (%d)", path, rc); + pr_warn("Unable to open file: %s (%d)", path, rc); return rc; } size = rc; --- linux-gcp-5.19.0.orig/security/integrity/ima/Kconfig +++ linux-gcp-5.19.0/security/integrity/ima/Kconfig @@ -112,7 +112,7 @@ config IMA_DEFAULT_HASH_SM3 bool "SM3" - depends on CRYPTO_SM3=y + depends on CRYPTO_SM3_GENERIC=y endchoice config IMA_DEFAULT_HASH --- linux-gcp-5.19.0.orig/security/integrity/ima/ima.h +++ linux-gcp-5.19.0/security/integrity/ima/ima.h @@ -255,7 +255,7 @@ /* LIM API function definitions */ int ima_get_action(struct user_namespace *mnt_userns, struct inode *inode, - const struct cred *cred, u32 secid, int mask, + const struct cred *cred, struct lsmblob *blob, int mask, enum ima_hooks func, int *pcr, struct ima_template_desc **template_desc, const char *func_data, unsigned int *allowed_algos); @@ -286,8 +286,8 @@ /* IMA policy related functions */ int ima_match_policy(struct user_namespace *mnt_userns, struct inode *inode, - const struct cred *cred, u32 secid, enum ima_hooks func, - int mask, int flags, int *pcr, + const struct cred *cred, struct lsmblob *blob, + enum ima_hooks func, int mask, int flags, int *pcr, struct ima_template_desc **template_desc, const char *func_data, unsigned int *allowed_algos); void ima_init_policy(void); @@ -418,32 +418,6 @@ } #endif /* CONFIG_IMA_APPRAISE_MODSIG */ -/* LSM based policy rules require audit */ -#ifdef CONFIG_IMA_LSM_RULES - -#define ima_filter_rule_init security_audit_rule_init -#define ima_filter_rule_free security_audit_rule_free -#define ima_filter_rule_match security_audit_rule_match - -#else - -static inline int ima_filter_rule_init(u32 field, u32 op, char *rulestr, - void **lsmrule) -{ - return -EINVAL; -} - -static inline void ima_filter_rule_free(void *lsmrule) -{ -} - -static inline int ima_filter_rule_match(u32 secid, u32 field, u32 op, - void *lsmrule) -{ - return -EINVAL; -} -#endif /* CONFIG_IMA_LSM_RULES */ - #ifdef CONFIG_IMA_READ_POLICY #define POLICY_FILE_FLAGS (S_IWUSR | S_IRUSR) #else --- linux-gcp-5.19.0.orig/security/integrity/ima/ima_api.c +++ linux-gcp-5.19.0/security/integrity/ima/ima_api.c @@ -166,7 +166,7 @@ * @mnt_userns: user namespace of the mount the inode was found from * @inode: pointer to the inode associated with the object being validated * @cred: pointer to credentials structure to validate - * @secid: secid of the task being validated + * @blob: secid(s) of the task being validated * @mask: contains the permission mask (MAY_READ, MAY_WRITE, MAY_EXEC, * MAY_APPEND) * @func: caller identifier @@ -187,7 +187,7 @@ * */ int ima_get_action(struct user_namespace *mnt_userns, struct inode *inode, - const struct cred *cred, u32 secid, int mask, + const struct cred *cred, struct lsmblob *blob, int mask, enum ima_hooks func, int *pcr, struct ima_template_desc **template_desc, const char *func_data, unsigned int *allowed_algos) @@ -196,7 +196,7 @@ flags &= ima_policy_flag; - return ima_match_policy(mnt_userns, inode, cred, secid, func, mask, + return ima_match_policy(mnt_userns, inode, cred, blob, func, mask, flags, pcr, template_desc, func_data, allowed_algos); } @@ -292,7 +292,7 @@ result = ima_calc_file_hash(file, &hash.hdr); } - if (result == -ENOMEM) + if (result && result != -EBADF && result != -EINVAL) goto out; length = sizeof(hash.hdr) + hash.hdr.length; --- linux-gcp-5.19.0.orig/security/integrity/ima/ima_appraise.c +++ linux-gcp-5.19.0/security/integrity/ima/ima_appraise.c @@ -73,15 +73,16 @@ int ima_must_appraise(struct user_namespace *mnt_userns, struct inode *inode, int mask, enum ima_hooks func) { - u32 secid; + struct lsmblob blob; if (!ima_appraise) return 0; - security_current_getsecid_subj(&secid); - return ima_match_policy(mnt_userns, inode, current_cred(), secid, - func, mask, IMA_APPRAISE | IMA_HASH, NULL, - NULL, NULL, NULL); + security_current_getsecid_subj(&blob); + return ima_match_policy(mnt_userns, inode, current_cred(), + &blob, func, mask, + IMA_APPRAISE | IMA_HASH, NULL, NULL, NULL, + NULL); } static int ima_fix_xattr(struct dentry *dentry, @@ -750,22 +751,26 @@ const struct evm_ima_xattr_data *xvalue = xattr_value; int digsig = 0; int result; + int err; result = ima_protect_xattr(dentry, xattr_name, xattr_value, xattr_value_len); if (result == 1) { if (!xattr_value_len || (xvalue->type >= IMA_XATTR_LAST)) return -EINVAL; + + err = validate_hash_algo(dentry, xvalue, xattr_value_len); + if (err) + return err; + digsig = (xvalue->type == EVM_IMA_XATTR_DIGSIG); } else if (!strcmp(xattr_name, XATTR_NAME_EVM) && xattr_value_len > 0) { digsig = (xvalue->type == EVM_XATTR_PORTABLE_DIGSIG); } if (result == 1 || evm_revalidate_status(xattr_name)) { - result = validate_hash_algo(dentry, xvalue, xattr_value_len); - if (result) - return result; - ima_reset_appraise_flags(d_backing_inode(dentry), digsig); + if (result == 1) + result = 0; } return result; } --- linux-gcp-5.19.0.orig/security/integrity/ima/ima_fs.c +++ linux-gcp-5.19.0/security/integrity/ima/ima_fs.c @@ -287,7 +287,7 @@ rc = kernel_read_file_from_path(path, 0, &data, INT_MAX, NULL, READING_POLICY); if (rc < 0) { - pr_err("Unable to open file: %s (%d)", path, rc); + pr_warn("Unable to open file: %s (%d)", path, rc); return rc; } size = rc; --- linux-gcp-5.19.0.orig/security/integrity/ima/ima_main.c +++ linux-gcp-5.19.0/security/integrity/ima/ima_main.c @@ -199,8 +199,8 @@ } static int process_measurement(struct file *file, const struct cred *cred, - u32 secid, char *buf, loff_t size, int mask, - enum ima_hooks func) + struct lsmblob *blob, char *buf, loff_t size, + int mask, enum ima_hooks func) { struct inode *inode = file_inode(file); struct integrity_iint_cache *iint = NULL; @@ -224,7 +224,7 @@ * bitmask based on the appraise/audit/measurement policy. * Included is the appraise submask. */ - action = ima_get_action(file_mnt_user_ns(file), inode, cred, secid, + action = ima_get_action(file_mnt_user_ns(file), inode, cred, blob, mask, func, &pcr, &template_desc, NULL, &allowed_algos); violation_check = ((func == FILE_CHECK || func == MMAP_CHECK) && @@ -335,7 +335,7 @@ hash_algo = ima_get_hash_algo(xattr_value, xattr_len); rc = ima_collect_measurement(iint, file, buf, size, hash_algo, modsig); - if (rc == -ENOMEM) + if (rc != 0 && rc != -EBADF && rc != -EINVAL) goto out_locked; if (!pathbuf) /* ima_rdwr_violation possibly pre-fetched */ @@ -395,7 +395,9 @@ /** * ima_file_mmap - based on policy, collect/store measurement. * @file: pointer to the file to be measured (May be NULL) - * @prot: contains the protection that will be applied by the kernel. + * @reqprot: protection requested by the application + * @prot: protection that will be applied by the kernel + * @flags: operational flags * * Measure files being mmapped executable based on the ima_must_measure() * policy decision. @@ -403,14 +405,16 @@ * On success return 0. On integrity appraisal error, assuming the file * is in policy and IMA-appraisal is in enforcing mode, return -EACCES. */ -int ima_file_mmap(struct file *file, unsigned long prot) +int ima_file_mmap(struct file *file, unsigned long reqprot, + unsigned long prot, unsigned long flags) { - u32 secid; + struct lsmblob blob; if (file && (prot & PROT_EXEC)) { - security_current_getsecid_subj(&secid); - return process_measurement(file, current_cred(), secid, NULL, - 0, MAY_EXEC, MMAP_CHECK); + security_current_getsecid_subj(&blob); + return process_measurement(file, current_cred(), + &blob, NULL, 0, + MAY_EXEC, MMAP_CHECK); } return 0; @@ -437,9 +441,9 @@ char *pathbuf = NULL; const char *pathname = NULL; struct inode *inode; + struct lsmblob blob; int result = 0; int action; - u32 secid; int pcr; /* Is mprotect making an mmap'ed file executable? */ @@ -447,11 +451,12 @@ !(prot & PROT_EXEC) || (vma->vm_flags & VM_EXEC)) return 0; - security_current_getsecid_subj(&secid); + security_current_getsecid_subj(&blob); inode = file_inode(vma->vm_file); action = ima_get_action(file_mnt_user_ns(vma->vm_file), inode, - current_cred(), secid, MAY_EXEC, MMAP_CHECK, - &pcr, &template, NULL, NULL); + current_cred(), &blob, + MAY_EXEC, MMAP_CHECK, &pcr, &template, NULL, + NULL); /* Is the mmap'ed file in policy? */ if (!(action & (IMA_MEASURE | IMA_APPRAISE_SUBMASK))) @@ -486,16 +491,16 @@ int ima_bprm_check(struct linux_binprm *bprm) { int ret; - u32 secid; + struct lsmblob blob; - security_current_getsecid_subj(&secid); - ret = process_measurement(bprm->file, current_cred(), secid, NULL, 0, - MAY_EXEC, BPRM_CHECK); + security_current_getsecid_subj(&blob); + ret = process_measurement(bprm->file, current_cred(), + &blob, NULL, 0, MAY_EXEC, BPRM_CHECK); if (ret) return ret; - security_cred_getsecid(bprm->cred, &secid); - return process_measurement(bprm->file, bprm->cred, secid, NULL, 0, + security_cred_getsecid(bprm->cred, &blob); + return process_measurement(bprm->file, bprm->cred, &blob, NULL, 0, MAY_EXEC, CREDS_CHECK); } @@ -511,10 +516,10 @@ */ int ima_file_check(struct file *file, int mask) { - u32 secid; + struct lsmblob blob; - security_current_getsecid_subj(&secid); - return process_measurement(file, current_cred(), secid, NULL, 0, + security_current_getsecid_subj(&blob); + return process_measurement(file, current_cred(), &blob, NULL, 0, mask & (MAY_READ | MAY_WRITE | MAY_EXEC | MAY_APPEND), FILE_CHECK); } @@ -542,8 +547,13 @@ rc = ima_collect_measurement(&tmp_iint, file, NULL, 0, ima_hash_algo, NULL); - if (rc < 0) + if (rc < 0) { + /* ima_hash could be allocated in case of failure. */ + if (rc != -ENOMEM) + kfree(tmp_iint.ima_hash); + return -EOPNOTSUPP; + } iint = &tmp_iint; mutex_lock(&iint->mutex); @@ -710,7 +720,7 @@ bool contents) { enum ima_hooks func; - u32 secid; + struct lsmblob blob; /* * Do devices using pre-allocated memory run the risk of the @@ -730,9 +740,9 @@ /* Read entire file for all partial reads. */ func = read_idmap[read_id] ?: FILE_CHECK; - security_current_getsecid_subj(&secid); - return process_measurement(file, current_cred(), secid, NULL, - 0, MAY_READ, func); + security_current_getsecid_subj(&blob); + return process_measurement(file, current_cred(), &blob, NULL, 0, + MAY_READ, func); } const int read_idmap[READING_MAX_ID] = { @@ -760,7 +770,7 @@ enum kernel_read_file_id read_id) { enum ima_hooks func; - u32 secid; + struct lsmblob blob; /* permit signed certs */ if (!file && read_id == READING_X509_CERTIFICATE) @@ -773,8 +783,8 @@ } func = read_idmap[read_id] ?: FILE_CHECK; - security_current_getsecid_subj(&secid); - return process_measurement(file, current_cred(), secid, buf, size, + security_current_getsecid_subj(&blob); + return process_measurement(file, current_cred(), &blob, buf, size, MAY_READ, func); } @@ -900,7 +910,7 @@ int digest_hash_len = hash_digest_size[ima_hash_algo]; int violation = 0; int action = 0; - u32 secid; + struct lsmblob blob; if (digest && digest_len < digest_hash_len) return -EINVAL; @@ -923,9 +933,9 @@ * buffer measurements. */ if (func) { - security_current_getsecid_subj(&secid); + security_current_getsecid_subj(&blob); action = ima_get_action(mnt_userns, inode, current_cred(), - secid, 0, func, &pcr, &template, + &blob, 0, func, &pcr, &template, func_data, NULL); if (!(action & IMA_MEASURE) && !digest) return -ENOENT; --- linux-gcp-5.19.0.orig/security/integrity/ima/ima_policy.c +++ linux-gcp-5.19.0/security/integrity/ima/ima_policy.c @@ -93,6 +93,8 @@ void *rule; /* LSM file metadata specific */ char *args_p; /* audit value */ int type; /* audit type */ + int rules_lsm; /* which LSM rule applies to */ + bool lsm_specific; /* true if lsm is specified */ } lsm[MAX_LSM_RULES]; char *fsname; struct ima_rule_opt_list *keyrings; /* Measure keys added to these keyrings */ @@ -285,6 +287,30 @@ } __setup("ima_appraise_tcb", default_appraise_policy_setup); +static int default_rules_lsm __ro_after_init = LSMBLOB_INVALID; + +static int __init ima_rules_lsm_init(char *str) +{ + const char *oldstr; + int newdrl; + + newdrl = lsm_name_to_slot(str); + if (newdrl >= 0) { + default_rules_lsm = newdrl; + return 1; + } + + oldstr = lsm_slot_to_name(default_rules_lsm); + if (oldstr) { + pr_err("default ima rule lsm \"%s\" not registered, continue using \"%s\"", + str, oldstr); + return 1; + } + + return 1; +} +__setup("ima_rules_lsm=", ima_rules_lsm_init); + static struct ima_rule_opt_list *ima_alloc_rule_opt_list(const substring_t *src) { struct ima_rule_opt_list *opt_list; @@ -356,7 +382,8 @@ int i; for (i = 0; i < MAX_LSM_RULES; i++) { - ima_filter_rule_free(entry->lsm[i].rule); + ima_filter_rule_free(entry->lsm[i].rule, + entry->lsm[i].rules_lsm); kfree(entry->lsm[i].args_p); } } @@ -407,7 +434,8 @@ ima_filter_rule_init(nentry->lsm[i].type, Audit_equal, nentry->lsm[i].args_p, - &nentry->lsm[i].rule); + &nentry->lsm[i].rule, + entry->lsm[i].rules_lsm); if (!nentry->lsm[i].rule) pr_warn("rule for LSM \'%s\' is undefined\n", nentry->lsm[i].args_p); @@ -535,7 +563,7 @@ * @mnt_userns: user namespace of the mount the inode was found from * @inode: a pointer to an inode * @cred: a pointer to a credentials structure for user validation - * @secid: the secid of the task to be validated + * @blob: the secid(s) of the task to be validated * @func: LIM hook identifier * @mask: requested action (MAY_READ | MAY_WRITE | MAY_APPEND | MAY_EXEC) * @func_data: func specific data, may be NULL @@ -545,7 +573,7 @@ static bool ima_match_rules(struct ima_rule_entry *rule, struct user_namespace *mnt_userns, struct inode *inode, const struct cred *cred, - u32 secid, enum ima_hooks func, int mask, + struct lsmblob *blob, enum ima_hooks func, int mask, const char *func_data) { int i; @@ -608,7 +636,7 @@ return false; for (i = 0; i < MAX_LSM_RULES; i++) { int rc = 0; - u32 osid; + struct lsmblob lsmdata; if (!rule->lsm[i].rule) { if (!rule->lsm[i].args_p) @@ -620,17 +648,21 @@ case LSM_OBJ_USER: case LSM_OBJ_ROLE: case LSM_OBJ_TYPE: - security_inode_getsecid(inode, &osid); - rc = ima_filter_rule_match(osid, rule->lsm[i].type, + security_inode_getsecid(inode, &lsmdata); + rc = ima_filter_rule_match(&lsmdata, + rule->lsm[i].type, Audit_equal, - rule->lsm[i].rule); + rule->lsm[i].rule, + rule->lsm[i].rules_lsm); break; case LSM_SUBJ_USER: case LSM_SUBJ_ROLE: case LSM_SUBJ_TYPE: - rc = ima_filter_rule_match(secid, rule->lsm[i].type, + rc = ima_filter_rule_match(blob, + rule->lsm[i].type, Audit_equal, - rule->lsm[i].rule); + rule->lsm[i].rule, + rule->lsm[i].rules_lsm); break; default: break; @@ -672,7 +704,7 @@ * @inode: pointer to an inode for which the policy decision is being made * @cred: pointer to a credentials structure for which the policy decision is * being made - * @secid: LSM secid of the task to be validated + * @blob: LSM secid(s) of the task to be validated * @func: IMA hook identifier * @mask: requested action (MAY_READ | MAY_WRITE | MAY_APPEND | MAY_EXEC) * @pcr: set the pcr to extend @@ -688,8 +720,8 @@ * than writes so ima_match_policy() is classical RCU candidate. */ int ima_match_policy(struct user_namespace *mnt_userns, struct inode *inode, - const struct cred *cred, u32 secid, enum ima_hooks func, - int mask, int flags, int *pcr, + const struct cred *cred, struct lsmblob *blob, + enum ima_hooks func, int mask, int flags, int *pcr, struct ima_template_desc **template_desc, const char *func_data, unsigned int *allowed_algos) { @@ -707,7 +739,7 @@ if (!(entry->action & actmask)) continue; - if (!ima_match_rules(entry, mnt_userns, inode, cred, secid, + if (!ima_match_rules(entry, mnt_userns, inode, cred, blob, func, mask, func_data)) continue; @@ -1026,7 +1058,7 @@ Opt_digest_type, Opt_appraise_type, Opt_appraise_flag, Opt_appraise_algos, Opt_permit_directio, Opt_pcr, Opt_template, Opt_keyrings, - Opt_label, Opt_err + Opt_lsm, Opt_label, Opt_err }; static const match_table_t policy_tokens = { @@ -1074,6 +1106,7 @@ {Opt_pcr, "pcr=%s"}, {Opt_template, "template=%s"}, {Opt_keyrings, "keyrings=%s"}, + {Opt_lsm, "lsm=%s"}, {Opt_label, "label=%s"}, {Opt_err, NULL} }; @@ -1093,7 +1126,8 @@ entry->lsm[lsm_rule].type = audit_type; result = ima_filter_rule_init(entry->lsm[lsm_rule].type, Audit_equal, entry->lsm[lsm_rule].args_p, - &entry->lsm[lsm_rule].rule); + &entry->lsm[lsm_rule].rule, + entry->lsm[lsm_rule].rules_lsm); if (!entry->lsm[lsm_rule].rule) { pr_warn("rule for LSM \'%s\' is undefined\n", entry->lsm[lsm_rule].args_p); @@ -1833,6 +1867,23 @@ &(template_desc->num_fields)); entry->template = template_desc; break; + case Opt_lsm: { + int i; + + result = lsm_name_to_slot(args[0].from); + if (result < 0) { + for (i = 0; i < MAX_LSM_RULES; i++) + entry->lsm[i].args_p = NULL; + result = -EINVAL; + break; + } + for (i = 0; i < MAX_LSM_RULES; i++) { + entry->lsm[i].rules_lsm = result; + entry->lsm[i].lsm_specific = true; + } + result = 0; + break; + } case Opt_err: ima_log_string(ab, "UNKNOWN", p); result = -EINVAL; @@ -1878,6 +1929,7 @@ struct ima_rule_entry *entry; ssize_t result, len; int audit_info = 0; + int i; p = strsep(&rule, "\n"); len = strlen(p) + 1; @@ -1895,6 +1947,11 @@ INIT_LIST_HEAD(&entry->list); + for (i = 0; i < MAX_LSM_RULES; i++) { + entry->lsm[i].rules_lsm = default_rules_lsm; + entry->lsm[i].lsm_specific = false; + } + result = ima_parse_rule(p, entry); if (result) { ima_free_rule(entry); @@ -2205,6 +2262,9 @@ entry->lsm[i].args_p); break; } + if (entry->lsm[i].lsm_specific) + seq_printf(m, pt(Opt_lsm), + lsm_slot_to_name(entry->lsm[i].rules_lsm)); seq_puts(m, " "); } } --- linux-gcp-5.19.0.orig/security/integrity/ima/ima_template.c +++ linux-gcp-5.19.0/security/integrity/ima/ima_template.c @@ -245,11 +245,11 @@ } if (fields && num_fields) { - *fields = kmalloc_array(i, sizeof(*fields), GFP_KERNEL); + *fields = kmalloc_array(i, sizeof(**fields), GFP_KERNEL); if (*fields == NULL) return -ENOMEM; - memcpy(*fields, found_fields, i * sizeof(*fields)); + memcpy(*fields, found_fields, i * sizeof(**fields)); *num_fields = i; } @@ -340,8 +340,11 @@ template_desc->name = ""; template_desc->fmt = kstrdup(template_name, GFP_KERNEL); - if (!template_desc->fmt) + if (!template_desc->fmt) { + kfree(template_desc); + template_desc = NULL; goto out; + } spin_lock(&template_list); list_add_tail_rcu(&template_desc->list, &defined_templates); --- linux-gcp-5.19.0.orig/security/integrity/platform_certs/keyring_handler.c +++ linux-gcp-5.19.0/security/integrity/platform_certs/keyring_handler.c @@ -40,6 +40,7 @@ static __init void uefi_revocation_list_x509(const char *source, const void *data, size_t len) { + pr_info("Revoking X.509 certificate: %s\n", source); add_key_to_revocation_list(data, len); } --- linux-gcp-5.19.0.orig/security/integrity/platform_certs/load_uefi.c +++ linux-gcp-5.19.0/security/integrity/platform_certs/load_uefi.c @@ -31,10 +31,11 @@ { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "MacBookAir8,1") }, { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "MacBookAir8,2") }, { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "MacBookAir9,1") }, - { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "MacMini8,1") }, + { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "Macmini8,1") }, { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "MacPro7,1") }, { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "iMac20,1") }, { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "iMac20,2") }, + { UEFI_QUIRK_SKIP_CERT("Apple Inc.", "iMacPro1,1") }, { } }; @@ -73,7 +74,8 @@ return NULL; if (*status != EFI_BUFFER_TOO_SMALL) { - pr_err("Couldn't get size: 0x%lx\n", *status); + pr_err("Couldn't get size: %s (0x%lx)\n", + efi_status_to_str(*status), *status); return NULL; } @@ -84,7 +86,8 @@ *status = efi.get_variable(name, guid, NULL, &lsize, db); if (*status != EFI_SUCCESS) { kfree(db); - pr_err("Error reading db var: 0x%lx\n", *status); + pr_err("Error reading db var: %s (0x%lx)\n", + efi_status_to_str(*status), *status); return NULL; } @@ -93,17 +96,18 @@ } /* - * load_moklist_certs() - Load MokList certs + * load_moklist_certs() - Load Mok(X)List certs + * @load_db: Load MokListRT into db when true; MokListXRT into dbx when false * - * Load the certs contained in the UEFI MokListRT database into the - * platform trusted keyring. + * Load the certs contained in the UEFI MokList(X)RT database into the + * platform trusted/denied keyring. * * This routine checks the EFI MOK config table first. If and only if - * that fails, this routine uses the MokListRT ordinary UEFI variable. + * that fails, this routine uses the MokList(X)RT ordinary UEFI variable. * * Return: Status */ -static int __init load_moklist_certs(void) +static int __init load_moklist_certs(const bool load_db) { struct efi_mokvar_table_entry *mokvar_entry; efi_guid_t mok_var = EFI_SHIM_LOCK_GUID; @@ -111,41 +115,55 @@ unsigned long moksize; efi_status_t status; int rc; + const char *mokvar_name = "MokListRT"; + /* Should be const, but get_cert_list() doesn't have it as const yet */ + efi_char16_t *efivar_name = L"MokListRT"; + const char *parse_mokvar_name = "UEFI:MokListRT (MOKvar table)"; + const char *parse_efivar_name = "UEFI:MokListRT"; + efi_element_handler_t (*get_handler_for_guid)(const efi_guid_t *) = get_handler_for_db; + + if (!load_db) { + mokvar_name = "MokListXRT"; + efivar_name = L"MokListXRT"; + parse_mokvar_name = "UEFI:MokListXRT (MOKvar table)"; + parse_efivar_name = "UEFI:MokListXRT"; + get_handler_for_guid = get_handler_for_dbx; + } /* First try to load certs from the EFI MOKvar config table. * It's not an error if the MOKvar config table doesn't exist * or the MokListRT entry is not found in it. */ - mokvar_entry = efi_mokvar_entry_find("MokListRT"); + mokvar_entry = efi_mokvar_entry_find(mokvar_name); if (mokvar_entry) { - rc = parse_efi_signature_list("UEFI:MokListRT (MOKvar table)", + rc = parse_efi_signature_list(parse_mokvar_name, mokvar_entry->data, mokvar_entry->data_size, - get_handler_for_mok); + get_handler_for_guid); /* All done if that worked. */ if (!rc) return rc; - pr_err("Couldn't parse MokListRT signatures from EFI MOKvar config table: %d\n", - rc); + pr_err("Couldn't parse %s signatures from EFI MOKvar config table: %d\n", + mokvar_name, rc); } /* Get MokListRT. It might not exist, so it isn't an error * if we can't get it. */ - mok = get_cert_list(L"MokListRT", &mok_var, &moksize, &status); + mok = get_cert_list(efivar_name, &mok_var, &moksize, &status); if (mok) { - rc = parse_efi_signature_list("UEFI:MokListRT", - mok, moksize, get_handler_for_mok); + rc = parse_efi_signature_list(parse_efivar_name, + mok, moksize, get_handler_for_guid); kfree(mok); if (rc) - pr_err("Couldn't parse MokListRT signatures: %d\n", rc); + pr_err("Couldn't parse %s signatures: %d\n", mokvar_name, rc); return rc; } if (status == EFI_NOT_FOUND) - pr_debug("MokListRT variable wasn't found\n"); + pr_debug("%s variable wasn't found\n", mokvar_name); else - pr_info("Couldn't get UEFI MokListRT\n"); + pr_info("Couldn't get UEFI %s\n", mokvar_name); return 0; } @@ -159,9 +177,8 @@ static int __init load_uefi_certs(void) { efi_guid_t secure_var = EFI_IMAGE_SECURITY_DATABASE_GUID; - efi_guid_t mok_var = EFI_SHIM_LOCK_GUID; - void *db = NULL, *dbx = NULL, *mokx = NULL; - unsigned long dbsize = 0, dbxsize = 0, mokxsize = 0; + void *db = NULL, *dbx = NULL; + unsigned long dbsize = 0, dbxsize = 0; efi_status_t status; int rc = 0; const struct dmi_system_id *dmi_id; @@ -214,23 +231,15 @@ if (!arch_ima_get_secureboot()) return 0; - mokx = get_cert_list(L"MokListXRT", &mok_var, &mokxsize, &status); - if (!mokx) { - if (status == EFI_NOT_FOUND) - pr_debug("mokx variable wasn't found\n"); - else - pr_info("Couldn't get mokx list\n"); - } else { - rc = parse_efi_signature_list("UEFI:MokListXRT", - mokx, mokxsize, - get_handler_for_dbx); - if (rc) - pr_err("Couldn't parse mokx signatures %d\n", rc); - kfree(mokx); - } + /* Load the MokListXRT certs */ + rc = load_moklist_certs(false); + if (rc) + pr_err("Couldn't parse mokx signatures: %d\n", rc); /* Load the MokListRT certs */ - rc = load_moklist_certs(); + rc = load_moklist_certs(true); + if (rc) + pr_err("Couldn't parse mok signatures: %d\n", rc); return rc; } --- linux-gcp-5.19.0.orig/security/keys/encrypted-keys/encrypted.c +++ linux-gcp-5.19.0/security/keys/encrypted-keys/encrypted.c @@ -627,7 +627,7 @@ pr_err("encrypted key: instantiation of keys using provided decrypted data is disabled since CONFIG_USER_DECRYPTED_DATA is set to false\n"); return ERR_PTR(-EINVAL); } - if (strlen(decrypted_data) != decrypted_datalen) { + if (strlen(decrypted_data) != decrypted_datalen * 2) { pr_err("encrypted key: decrypted data provided does not match decrypted data length provided\n"); return ERR_PTR(-EINVAL); } @@ -791,8 +791,8 @@ ret = encrypted_key_decrypt(epayload, format, hex_encoded_iv); } else if (decrypted_data) { get_random_bytes(epayload->iv, ivsize); - memcpy(epayload->decrypted_data, decrypted_data, - epayload->decrypted_datalen); + ret = hex2bin(epayload->decrypted_data, decrypted_data, + epayload->decrypted_datalen); } else { get_random_bytes(epayload->iv, ivsize); get_random_bytes(epayload->decrypted_data, epayload->decrypted_datalen); --- linux-gcp-5.19.0.orig/security/landlock/cred.c +++ linux-gcp-5.19.0/security/landlock/cred.c @@ -42,5 +42,5 @@ __init void landlock_add_cred_hooks(void) { security_add_hooks(landlock_hooks, ARRAY_SIZE(landlock_hooks), - LANDLOCK_NAME); + &landlock_lsmid); } --- linux-gcp-5.19.0.orig/security/landlock/fs.c +++ linux-gcp-5.19.0/security/landlock/fs.c @@ -150,6 +150,16 @@ /* clang-format on */ /* + * All access rights that are denied by default whether they are handled or not + * by a ruleset/layer. This must be ORed with all ruleset->fs_access_masks[] + * entries when we need to get the absolute handled access masks. + */ +/* clang-format off */ +#define ACCESS_INITIALLY_DENIED ( \ + LANDLOCK_ACCESS_FS_REFER) +/* clang-format on */ + +/* * @path: Should have been checked by get_path_from_fd(). */ int landlock_append_fs_rule(struct landlock_ruleset *const ruleset, @@ -167,7 +177,9 @@ return -EINVAL; /* Transforms relative access rights to absolute ones. */ - access_rights |= LANDLOCK_MASK_ACCESS_FS & ~ruleset->fs_access_masks[0]; + access_rights |= + LANDLOCK_MASK_ACCESS_FS & + ~(ruleset->fs_access_masks[0] | ACCESS_INITIALLY_DENIED); object = get_inode_object(d_backing_inode(path->dentry)); if (IS_ERR(object)) return PTR_ERR(object); @@ -277,23 +289,12 @@ static inline access_mask_t get_handled_accesses(const struct landlock_ruleset *const domain) { - access_mask_t access_dom = 0; - unsigned long access_bit; - - for (access_bit = 0; access_bit < LANDLOCK_NUM_ACCESS_FS; - access_bit++) { - size_t layer_level; + access_mask_t access_dom = ACCESS_INITIALLY_DENIED; + size_t layer_level; - for (layer_level = 0; layer_level < domain->num_layers; - layer_level++) { - if (domain->fs_access_masks[layer_level] & - BIT_ULL(access_bit)) { - access_dom |= BIT_ULL(access_bit); - break; - } - } - } - return access_dom; + for (layer_level = 0; layer_level < domain->num_layers; layer_level++) + access_dom |= domain->fs_access_masks[layer_level]; + return access_dom & LANDLOCK_MASK_ACCESS_FS; } static inline access_mask_t @@ -316,8 +317,13 @@ for_each_set_bit(access_bit, &access_req, ARRAY_SIZE(*layer_masks)) { - if (domain->fs_access_masks[layer_level] & - BIT_ULL(access_bit)) { + /* + * Artificially handles all initially denied by default + * access rights. + */ + if (BIT_ULL(access_bit) & + (domain->fs_access_masks[layer_level] | + ACCESS_INITIALLY_DENIED)) { (*layer_masks)[access_bit] |= BIT_ULL(layer_level); handled_accesses |= BIT_ULL(access_bit); @@ -857,10 +863,6 @@ NULL, NULL); } - /* Backward compatibility: no reparenting support. */ - if (!(get_handled_accesses(dom) & LANDLOCK_ACCESS_FS_REFER)) - return -EXDEV; - access_request_parent1 |= LANDLOCK_ACCESS_FS_REFER; access_request_parent2 |= LANDLOCK_ACCESS_FS_REFER; @@ -1199,5 +1201,5 @@ __init void landlock_add_fs_hooks(void) { security_add_hooks(landlock_hooks, ARRAY_SIZE(landlock_hooks), - LANDLOCK_NAME); + &landlock_lsmid); } --- linux-gcp-5.19.0.orig/security/landlock/ptrace.c +++ linux-gcp-5.19.0/security/landlock/ptrace.c @@ -116,5 +116,5 @@ __init void landlock_add_ptrace_hooks(void) { security_add_hooks(landlock_hooks, ARRAY_SIZE(landlock_hooks), - LANDLOCK_NAME); + &landlock_lsmid); } --- linux-gcp-5.19.0.orig/security/landlock/setup.c +++ linux-gcp-5.19.0/security/landlock/setup.c @@ -23,6 +23,11 @@ .lbs_superblock = sizeof(struct landlock_superblock_security), }; +struct lsm_id landlock_lsmid __lsm_ro_after_init = { + .lsm = LANDLOCK_NAME, + .slot = LSMBLOB_NOT_NEEDED, +}; + static int __init landlock_init(void) { landlock_add_cred_hooks(); --- linux-gcp-5.19.0.orig/security/landlock/setup.h +++ linux-gcp-5.19.0/security/landlock/setup.h @@ -14,5 +14,6 @@ extern bool landlock_initialized; extern struct lsm_blob_sizes landlock_blob_sizes; +extern struct lsm_id landlock_lsmid; #endif /* _SECURITY_LANDLOCK_SETUP_H */ --- linux-gcp-5.19.0.orig/security/loadpin/loadpin.c +++ linux-gcp-5.19.0/security/loadpin/loadpin.c @@ -115,21 +115,11 @@ } } -static int loadpin_read_file(struct file *file, enum kernel_read_file_id id, - bool contents) +static int loadpin_check(struct file *file, enum kernel_read_file_id id) { struct super_block *load_root; const char *origin = kernel_read_file_id_str(id); - /* - * If we will not know that we'll be seeing the full contents - * then we cannot trust a load will be complete and unchanged - * off disk. Treat all contents=false hooks as if there were - * no associated file struct. - */ - if (!contents) - file = NULL; - /* If the file id is excluded, ignore the pinning. */ if ((unsigned int)id < ARRAY_SIZE(ignore_read_file_id) && ignore_read_file_id[id]) { @@ -184,11 +174,32 @@ return 0; } +static int loadpin_read_file(struct file *file, enum kernel_read_file_id id, + bool contents) +{ + /* + * LoadPin only cares about the _origin_ of a file, not its + * contents, so we can ignore the "are full contents available" + * argument here. + */ + return loadpin_check(file, id); +} + static int loadpin_load_data(enum kernel_load_data_id id, bool contents) { - return loadpin_read_file(NULL, (enum kernel_read_file_id) id, contents); + /* + * LoadPin only cares about the _origin_ of a file, not its + * contents, so a NULL file is passed, and we can ignore the + * state of "contents". + */ + return loadpin_check(NULL, (enum kernel_read_file_id) id); } +static struct lsm_id loadpin_lsmid __lsm_ro_after_init = { + .lsm = "loadpin", + .slot = LSMBLOB_NOT_NEEDED +}; + static struct security_hook_list loadpin_hooks[] __lsm_ro_after_init = { LSM_HOOK_INIT(sb_free_security, loadpin_sb_free_security), LSM_HOOK_INIT(kernel_read_file, loadpin_read_file), @@ -236,7 +247,8 @@ pr_info("ready to pin (currently %senforcing)\n", enforce ? "" : "not "); parse_exclude(); - security_add_hooks(loadpin_hooks, ARRAY_SIZE(loadpin_hooks), "loadpin"); + security_add_hooks(loadpin_hooks, ARRAY_SIZE(loadpin_hooks), + &loadpin_lsmid); return 0; } --- linux-gcp-5.19.0.orig/security/lockdown/Kconfig +++ linux-gcp-5.19.0/security/lockdown/Kconfig @@ -16,6 +16,19 @@ subsystem is fully initialised. If enabled, lockdown will unconditionally be called before any other LSMs. +config LOCK_DOWN_IN_SECURE_BOOT + bool "Lock down the kernel in Secure Boot mode" + default n + depends on (EFI || S390 || PPC) && SECURITY_LOCKDOWN_LSM_EARLY + help + Secure Boot provides a mechanism for ensuring that the firmware will + only load signed bootloaders and kernels. Secure boot mode + determination is platform-specific; examples include EFI secure boot + and SIPL on s390. + + Enabling this option results in kernel lockdown being triggered if + booted under secure boot. + choice prompt "Kernel default lockdown mode" default LOCK_DOWN_KERNEL_FORCE_NONE --- linux-gcp-5.19.0.orig/security/lockdown/lockdown.c +++ linux-gcp-5.19.0/security/lockdown/lockdown.c @@ -73,6 +73,12 @@ static struct security_hook_list lockdown_hooks[] __lsm_ro_after_init = { LSM_HOOK_INIT(locked_down, lockdown_is_locked_down), + LSM_HOOK_INIT(lock_kernel_down, lock_kernel_down), +}; + +static struct lsm_id lockdown_lsmid __lsm_ro_after_init = { + .lsm = "lockdown", + .slot = LSMBLOB_NOT_NEEDED }; static int __init lockdown_lsm_init(void) @@ -83,7 +89,7 @@ lock_kernel_down("Kernel configuration", LOCKDOWN_CONFIDENTIALITY_MAX); #endif security_add_hooks(lockdown_hooks, ARRAY_SIZE(lockdown_hooks), - "lockdown"); + &lockdown_lsmid); return 0; } --- linux-gcp-5.19.0.orig/security/safesetid/lsm.c +++ linux-gcp-5.19.0/security/safesetid/lsm.c @@ -241,6 +241,11 @@ return -EACCES; } +static struct lsm_id safesetid_lsmid __lsm_ro_after_init = { + .lsm = "safesetid", + .slot = LSMBLOB_NOT_NEEDED +}; + static struct security_hook_list safesetid_security_hooks[] = { LSM_HOOK_INIT(task_fix_setuid, safesetid_task_fix_setuid), LSM_HOOK_INIT(task_fix_setgid, safesetid_task_fix_setgid), @@ -250,7 +255,8 @@ static int __init safesetid_security_init(void) { security_add_hooks(safesetid_security_hooks, - ARRAY_SIZE(safesetid_security_hooks), "safesetid"); + ARRAY_SIZE(safesetid_security_hooks), + &safesetid_lsmid); /* Report that SafeSetID successfully initialized */ safesetid_initialized = 1; --- linux-gcp-5.19.0.orig/security/security.c +++ linux-gcp-5.19.0/security/security.c @@ -29,6 +29,7 @@ #include #include #include +#include #define MAX_LSM_EVM_XATTR 2 @@ -79,7 +80,16 @@ static struct kmem_cache *lsm_inode_cache; char *lsm_names; -static struct lsm_blob_sizes blob_sizes __lsm_ro_after_init; + +/* + * The task blob includes the "interface_lsm" slot used for + * chosing which module presents contexts. + * Using a long to avoid potential alignment issues with + * module assigned task blobs. + */ +static struct lsm_blob_sizes blob_sizes __lsm_ro_after_init = { + .lbs_task = sizeof(long), +}; /* Boot-time LSM user choice */ static __initdata const char *chosen_lsm_order; @@ -206,6 +216,7 @@ lsm_set_blob_size(&needed->lbs_inode, &blob_sizes.lbs_inode); lsm_set_blob_size(&needed->lbs_ipc, &blob_sizes.lbs_ipc); lsm_set_blob_size(&needed->lbs_msg_msg, &blob_sizes.lbs_msg_msg); + lsm_set_blob_size(&needed->lbs_sock, &blob_sizes.lbs_sock); lsm_set_blob_size(&needed->lbs_superblock, &blob_sizes.lbs_superblock); lsm_set_blob_size(&needed->lbs_task, &blob_sizes.lbs_task); } @@ -342,8 +353,10 @@ init_debug("inode blob size = %d\n", blob_sizes.lbs_inode); init_debug("ipc blob size = %d\n", blob_sizes.lbs_ipc); init_debug("msg_msg blob size = %d\n", blob_sizes.lbs_msg_msg); + init_debug("sock blob size = %d\n", blob_sizes.lbs_sock); init_debug("superblock blob size = %d\n", blob_sizes.lbs_superblock); init_debug("task blob size = %d\n", blob_sizes.lbs_task); + init_debug("lsmblob size = %zu\n", sizeof(struct lsmblob)); /* * Create any kmem_caches needed for blobs @@ -470,21 +483,88 @@ return 0; } +/* + * Current index to use while initializing the lsmblob secid list. + */ +static int lsm_slot __lsm_ro_after_init; + +#if LSMBLOB_ENTRIES > 0 +static struct lsm_id *lsm_slotlist[LSMBLOB_ENTRIES] __lsm_ro_after_init; + +/** + * lsm_name_to_slot - Report the slot number for a security module + * @name: name of the security module + * + * Look up the slot number for the named security module. + * Returns the slot number or LSMBLOB_INVALID if @name is not + * a registered security module name. + */ +int lsm_name_to_slot(char *name) +{ + int i; + + for (i = 0; i < lsm_slot; i++) + if (strcmp(lsm_slotlist[i]->lsm, name) == 0) + return i; + + return LSMBLOB_INVALID; +} + +/** + * lsm_slot_to_name - Get the name of the security module in a slot + * @slot: index into the interface LSM slot list. + * + * Provide the name of the security module associated with + * a interface LSM slot. + * + * If @slot is LSMBLOB_INVALID return the value + * for slot 0 if it has been set, otherwise NULL. + * + * Returns a pointer to the name string or NULL. + */ +const char *lsm_slot_to_name(int slot) +{ + if (slot == LSMBLOB_INVALID) + slot = 0; + else if (slot >= LSMBLOB_ENTRIES || slot < 0) + return NULL; + + if (lsm_slotlist[slot] == NULL) + return NULL; + return lsm_slotlist[slot]->lsm; +} +#endif /* LSMBLOB_ENTRIES > 0 */ + /** * security_add_hooks - Add a modules hooks to the hook lists. * @hooks: the hooks to add * @count: the number of hooks to add - * @lsm: the name of the security module + * @lsmid: the identification information for the security module * * Each LSM has to register its hooks with the infrastructure. + * If the LSM is using hooks that export secids allocate a slot + * for it in the lsmblob. */ void __init security_add_hooks(struct security_hook_list *hooks, int count, - const char *lsm) + struct lsm_id *lsmid) { int i; + WARN_ON(!lsmid->slot || !lsmid->lsm); + +#if LSMBLOB_ENTRIES > 0 + if (lsmid->slot == LSMBLOB_NEEDED) { + if (lsm_slot >= LSMBLOB_ENTRIES) + panic("%s Too many LSMs registered.\n", __func__); + lsm_slotlist[lsm_slot] = lsmid; + lsmid->slot = lsm_slot++; + init_debug("%s assigned lsmblob slot %d\n", lsmid->lsm, + lsmid->slot); + } +#endif /* LSMBLOB_ENTRIES > 0 */ + for (i = 0; i < count; i++) { - hooks[i].lsm = lsm; + hooks[i].lsmid = lsmid; hlist_add_tail_rcu(&hooks[i].list, hooks[i].head); } @@ -493,7 +573,7 @@ * and fix this up afterwards. */ if (slab_is_available()) { - if (lsm_append(lsm, &lsm_names) < 0) + if (lsm_append(lsmid->lsm, &lsm_names) < 0) panic("%s - Cannot get early memory.\n", __func__); } } @@ -607,6 +687,8 @@ */ static int lsm_task_alloc(struct task_struct *task) { + int *ilsm; + if (blob_sizes.lbs_task == 0) { task->security = NULL; return 0; @@ -615,6 +697,15 @@ task->security = kzalloc(blob_sizes.lbs_task, GFP_KERNEL); if (task->security == NULL) return -ENOMEM; + + /* + * The start of the task blob contains the "interface" LSM slot number. + * Start with it set to the invalid slot number, indicating that the + * default first registered LSM be displayed. + */ + ilsm = task->security; + *ilsm = LSMBLOB_INVALID; + return 0; } @@ -661,6 +752,28 @@ } /** + * lsm_sock_alloc - allocate a composite sock blob + * @sock: the sock that needs a blob + * @priority: allocation mode + * + * Allocate the sock blob for all the modules + * + * Returns 0, or -ENOMEM if memory can't be allocated. + */ +static int lsm_sock_alloc(struct sock *sock, gfp_t priority) +{ + if (blob_sizes.lbs_sock == 0) { + sock->sk_security = NULL; + return 0; + } + + sock->sk_security = kzalloc(blob_sizes.lbs_sock, priority); + if (sock->sk_security == NULL) + return -ENOMEM; + return 0; +} + +/** * lsm_early_task - during initialization allocate a composite task blob * @task: the task that needs a blob * @@ -695,6 +808,57 @@ return 0; } +/** + * append_ctx - append a lsm/context pair to a compound context + * @ctx: the existing compound context + * @ctxlen: size of the old context, including terminating nul byte + * @lsm: new lsm name, nul terminated + * @new: new context, possibly nul terminated + * @newlen: maximum size of @new + * + * replace @ctx with a new compound context, appending @newlsm and @new + * to @ctx. On exit the new data replaces the old, which is freed. + * @ctxlen is set to the new size, which includes a trailing nul byte. + * + * Returns 0 on success, -ENOMEM if no memory is available. + */ +static int append_ctx(char **ctx, int *ctxlen, const char *lsm, char *new, + int newlen) +{ + char *final; + size_t llen; + size_t nlen; + size_t flen; + + llen = strlen(lsm) + 1; + /* + * A security module may or may not provide a trailing nul on + * when returning a security context. There is no definition + * of which it should be, and there are modules that do it + * each way. + */ + nlen = strnlen(new, newlen); + + flen = *ctxlen + llen + nlen + 1; + final = kzalloc(flen, GFP_KERNEL); + + if (final == NULL) + return -ENOMEM; + + if (*ctxlen) + memcpy(final, *ctx, *ctxlen); + + memcpy(final + *ctxlen, lsm, llen); + memcpy(final + *ctxlen + llen, new, nlen); + + kfree(*ctx); + + *ctx = final; + *ctxlen = flen; + + return 0; +} + /* * The default value of the LSM hook is defined in linux/lsm_hook_defs.h and * can be accessed with: @@ -752,24 +916,28 @@ { return call_int_hook(binder_set_context_mgr, 0, mgr); } +EXPORT_SYMBOL(security_binder_set_context_mgr); int security_binder_transaction(const struct cred *from, const struct cred *to) { return call_int_hook(binder_transaction, 0, from, to); } +EXPORT_SYMBOL(security_binder_transaction); int security_binder_transfer_binder(const struct cred *from, const struct cred *to) { return call_int_hook(binder_transfer_binder, 0, from, to); } +EXPORT_SYMBOL(security_binder_transfer_binder); int security_binder_transfer_file(const struct cred *from, const struct cred *to, struct file *file) { return call_int_hook(binder_transfer_file, 0, from, to, file); } +EXPORT_SYMBOL(security_binder_transfer_file); int security_ptrace_access_check(struct task_struct *child, unsigned int mode) { @@ -1059,8 +1227,8 @@ int security_dentry_init_security(struct dentry *dentry, int mode, const struct qstr *name, - const char **xattr_name, void **ctx, - u32 *ctxlen) + const char **xattr_name, + struct lsmcontext *lsmctx) { struct security_hook_list *hp; int rc; @@ -1068,9 +1236,13 @@ /* * Only one module will provide a security context. */ - hlist_for_each_entry(hp, &security_hook_heads.dentry_init_security, list) { + hlist_for_each_entry(hp, &security_hook_heads.dentry_init_security, + list) { rc = hp->hook.dentry_init_security(dentry, mode, name, - xattr_name, ctx, ctxlen); + xattr_name, + (void **)&lsmctx->context, + &lsmctx->len); + lsmctx->slot = hp->lsmid->slot; if (rc != LSM_RET_DEFAULT(dentry_init_security)) return rc; } @@ -1472,9 +1644,16 @@ } EXPORT_SYMBOL(security_inode_listsecurity); -void security_inode_getsecid(struct inode *inode, u32 *secid) +void security_inode_getsecid(struct inode *inode, struct lsmblob *blob) { - call_void_hook(inode_getsecid, inode, secid); + struct security_hook_list *hp; + + lsmblob_init(blob, 0); + hlist_for_each_entry(hp, &security_hook_heads.inode_getsecid, list) { + if (WARN_ON(hp->lsmid->slot < 0 || hp->lsmid->slot >= lsm_slot)) + continue; + hp->hook.inode_getsecid(inode, &blob->secid[hp->lsmid->slot]); + } } int security_inode_copy_up(struct dentry *src, struct cred **new) @@ -1588,12 +1767,13 @@ int security_mmap_file(struct file *file, unsigned long prot, unsigned long flags) { + unsigned long prot_adj = mmap_prot(file, prot); int ret; - ret = call_int_hook(mmap_file, 0, file, prot, - mmap_prot(file, prot), flags); + + ret = call_int_hook(mmap_file, 0, file, prot, prot_adj, flags); if (ret) return ret; - return ima_file_mmap(file, prot); + return ima_file_mmap(file, prot, prot_adj, flags); } int security_mmap_addr(unsigned long addr) @@ -1651,14 +1831,26 @@ int security_task_alloc(struct task_struct *task, unsigned long clone_flags) { + int *oilsm = current->security; + int *nilsm; int rc = lsm_task_alloc(task); - if (rc) + if (unlikely(rc)) return rc; + rc = call_int_hook(task_alloc, 0, task, clone_flags); - if (unlikely(rc)) + if (unlikely(rc)) { security_task_free(task); - return rc; + return rc; + } + + if (oilsm) { + nilsm = task->security; + if (nilsm) + *nilsm = *oilsm; + } + + return 0; } void security_task_free(struct task_struct *task) @@ -1715,16 +1907,32 @@ call_void_hook(cred_transfer, new, old); } -void security_cred_getsecid(const struct cred *c, u32 *secid) +void security_cred_getsecid(const struct cred *c, struct lsmblob *blob) { - *secid = 0; - call_void_hook(cred_getsecid, c, secid); + struct security_hook_list *hp; + + lsmblob_init(blob, 0); + hlist_for_each_entry(hp, &security_hook_heads.cred_getsecid, list) { + if (WARN_ON(hp->lsmid->slot < 0 || hp->lsmid->slot >= lsm_slot)) + continue; + hp->hook.cred_getsecid(c, &blob->secid[hp->lsmid->slot]); + } } EXPORT_SYMBOL(security_cred_getsecid); -int security_kernel_act_as(struct cred *new, u32 secid) +int security_kernel_act_as(struct cred *new, struct lsmblob *blob) { - return call_int_hook(kernel_act_as, 0, new, secid); + struct security_hook_list *hp; + int rc; + + hlist_for_each_entry(hp, &security_hook_heads.kernel_act_as, list) { + if (WARN_ON(hp->lsmid->slot < 0 || hp->lsmid->slot >= lsm_slot)) + continue; + rc = hp->hook.kernel_act_as(new, blob->secid[hp->lsmid->slot]); + if (rc != 0) + return rc; + } + return 0; } int security_kernel_create_files_as(struct cred *new, struct inode *inode) @@ -1818,17 +2026,30 @@ return call_int_hook(task_getsid, 0, p); } -void security_current_getsecid_subj(u32 *secid) +void security_current_getsecid_subj(struct lsmblob *blob) { - *secid = 0; - call_void_hook(current_getsecid_subj, secid); + struct security_hook_list *hp; + + lsmblob_init(blob, 0); + hlist_for_each_entry(hp, &security_hook_heads.current_getsecid_subj, + list) { + if (WARN_ON(hp->lsmid->slot < 0 || hp->lsmid->slot >= lsm_slot)) + continue; + hp->hook.current_getsecid_subj(&blob->secid[hp->lsmid->slot]); + } } EXPORT_SYMBOL(security_current_getsecid_subj); -void security_task_getsecid_obj(struct task_struct *p, u32 *secid) +void security_task_getsecid_obj(struct task_struct *p, struct lsmblob *blob) { - *secid = 0; - call_void_hook(task_getsecid_obj, p, secid); + struct security_hook_list *hp; + + lsmblob_init(blob, 0); + hlist_for_each_entry(hp, &security_hook_heads.task_getsecid_obj, list) { + if (WARN_ON(hp->lsmid->slot < 0 || hp->lsmid->slot >= lsm_slot)) + continue; + hp->hook.task_getsecid_obj(p, &blob->secid[hp->lsmid->slot]); + } } EXPORT_SYMBOL(security_task_getsecid_obj); @@ -1903,15 +2124,26 @@ call_void_hook(task_to_inode, p, inode); } +int security_create_user_ns(const struct cred *cred) +{ + return call_int_hook(userns_create, 0, cred); +} + int security_ipc_permission(struct kern_ipc_perm *ipcp, short flag) { return call_int_hook(ipc_permission, 0, ipcp, flag); } -void security_ipc_getsecid(struct kern_ipc_perm *ipcp, u32 *secid) +void security_ipc_getsecid(struct kern_ipc_perm *ipcp, struct lsmblob *blob) { - *secid = 0; - call_void_hook(ipc_getsecid, ipcp, secid); + struct security_hook_list *hp; + + lsmblob_init(blob, 0); + hlist_for_each_entry(hp, &security_hook_heads.ipc_getsecid, list) { + if (WARN_ON(hp->lsmid->slot < 0 || hp->lsmid->slot >= lsm_slot)) + continue; + hp->hook.ipc_getsecid(ipcp, &blob->secid[hp->lsmid->slot]); + } } int security_msg_msg_alloc(struct msg_msg *msg) @@ -2055,22 +2287,140 @@ char **value) { struct security_hook_list *hp; + char *final = NULL; + char *cp; + int rc = 0; + int finallen = 0; + int ilsm = lsm_task_ilsm(current); + int slot = 0; + + if (!strcmp(name, "interface_lsm")) { + /* + * lsm_slot will be 0 if there are no displaying modules. + */ + if (lsm_slot == 0) + return -EINVAL; + + /* + * Only allow getting the current process' interface_lsm. + * There are too few reasons to get another process' + * interface_lsm and too many LSM policy issues. + */ + if (current != p) + return -EINVAL; + + ilsm = lsm_task_ilsm(p); + if (ilsm != LSMBLOB_INVALID) + slot = ilsm; + *value = kstrdup(lsm_slot_to_name(slot), GFP_KERNEL); + if (*value) + return strlen(*value); + return -ENOMEM; + } + + if (!strcmp(name, "context")) { + hlist_for_each_entry(hp, &security_hook_heads.getprocattr, + list) { + rc = hp->hook.getprocattr(p, "context", &cp); + if (rc == -EINVAL) + continue; + if (rc < 0) { + kfree(final); + return rc; + } + rc = append_ctx(&final, &finallen, hp->lsmid->lsm, + cp, rc); + kfree(cp); + if (rc < 0) { + kfree(final); + return rc; + } + } + if (final == NULL) + return -EINVAL; + *value = final; + return finallen; + } hlist_for_each_entry(hp, &security_hook_heads.getprocattr, list) { - if (lsm != NULL && strcmp(lsm, hp->lsm)) + if (lsm != NULL && strcmp(lsm, hp->lsmid->lsm)) + continue; + if (lsm == NULL && ilsm != LSMBLOB_INVALID && + ilsm != hp->lsmid->slot) continue; return hp->hook.getprocattr(p, name, value); } return LSM_RET_DEFAULT(getprocattr); } +/** + * security_setprocattr - Set process attributes via /proc + * @lsm: name of module involved, or NULL + * @name: name of the attribute + * @value: value to set the attribute to + * @size: size of the value + * + * Set the process attribute for the specified security module + * to the specified value. Note that this can only be used to set + * the process attributes for the current, or "self" process. + * The /proc code has already done this check. + * + * Returns 0 on success, an appropriate code otherwise. + */ int security_setprocattr(const char *lsm, const char *name, void *value, size_t size) { struct security_hook_list *hp; + const char *slotname; + char *termed; + char *copy; + int *ilsm = current->security; + int rc = -EINVAL; + int slot = 0; + + if (!strcmp(name, "interface_lsm")) { + /* + * Change the "interface_lsm" value only if all the security + * modules that support setting a procattr allow it. + * It is assumed that all such security modules will be + * cooperative. + */ + if (size == 0) + return -EINVAL; + + hlist_for_each_entry(hp, &security_hook_heads.setprocattr, + list) { + rc = hp->hook.setprocattr(name, value, size); + if (rc < 0 && rc != LSM_RET_DEFAULT(setprocattr)) + return rc; + } + + rc = -EINVAL; + + copy = kmemdup_nul(value, size, GFP_KERNEL); + if (copy == NULL) + return -ENOMEM; + + termed = strsep(©, " \n"); + + for (slot = 0; slot < lsm_slot; slot++) { + slotname = lsm_slot_to_name(slot); + if (!strcmp(termed, lsm_slotlist[slot]->lsm)) { + *ilsm = slot; + rc = size; + break; + } + } + + kfree(termed); + return rc; + } hlist_for_each_entry(hp, &security_hook_heads.setprocattr, list) { - if (lsm != NULL && strcmp(lsm, hp->lsm)) + if (lsm != NULL && strcmp(lsm, hp->lsmid->lsm)) + continue; + if (lsm == NULL && *ilsm != LSMBLOB_INVALID && + *ilsm != hp->lsmid->slot) continue; return hp->hook.setprocattr(name, value, size); } @@ -2088,35 +2438,92 @@ } EXPORT_SYMBOL(security_ismaclabel); -int security_secid_to_secctx(u32 secid, char **secdata, u32 *seclen) +/** + * security_secid_to_secctx - convert secid to secctx + * @blob: set of secids + * @cp: lsm context into which result is put + * @ilsm: which security module to report + * + * Translate secid information into a secctx string. + * Return a negative value on error. + * If cp is NULL return the length of the string. + * Otherwise, return 0. + */ +int security_secid_to_secctx(struct lsmblob *blob, struct lsmcontext *cp, + int ilsm) { struct security_hook_list *hp; - int rc; + + if (cp) + memset(cp, 0, sizeof(*cp)); /* - * Currently, only one LSM can implement secid_to_secctx (i.e this - * LSM hook is not "stackable"). + * ilsm either is the slot number use for formatting + * or an instruction on which relative slot to use. */ + if (ilsm == LSMBLOB_DISPLAY) + ilsm = lsm_task_ilsm(current); + else if (ilsm == LSMBLOB_FIRST) + ilsm = LSMBLOB_INVALID; + else if (ilsm < 0) { + WARN_ONCE(true, "LSM: %s unknown interface LSM\n", __func__); + ilsm = LSMBLOB_INVALID; + } else if (ilsm >= lsm_slot) { + WARN_ONCE(true, "LSM: %s invalid interface LSM\n", __func__); + ilsm = LSMBLOB_INVALID; + } hlist_for_each_entry(hp, &security_hook_heads.secid_to_secctx, list) { - rc = hp->hook.secid_to_secctx(secid, secdata, seclen); - if (rc != LSM_RET_DEFAULT(secid_to_secctx)) - return rc; + if (WARN_ON(hp->lsmid->slot < 0 || hp->lsmid->slot >= lsm_slot)) + continue; + if (ilsm == LSMBLOB_INVALID || ilsm == hp->lsmid->slot) { + if (!cp) { + int len; + int rc; + rc = hp->hook.secid_to_secctx( + blob->secid[hp->lsmid->slot], + NULL, &len); + return rc ? rc : len; + } + cp->slot = hp->lsmid->slot; + return hp->hook.secid_to_secctx( + blob->secid[hp->lsmid->slot], + &cp->context, &cp->len); + } } return LSM_RET_DEFAULT(secid_to_secctx); } EXPORT_SYMBOL(security_secid_to_secctx); -int security_secctx_to_secid(const char *secdata, u32 seclen, u32 *secid) +int security_secctx_to_secid(const char *secdata, u32 seclen, + struct lsmblob *blob) { - *secid = 0; - return call_int_hook(secctx_to_secid, 0, secdata, seclen, secid); + struct security_hook_list *hp; + int ilsm = lsm_task_ilsm(current); + + lsmblob_init(blob, 0); + hlist_for_each_entry(hp, &security_hook_heads.secctx_to_secid, list) { + if (WARN_ON(hp->lsmid->slot < 0 || hp->lsmid->slot >= lsm_slot)) + continue; + if (ilsm == LSMBLOB_INVALID || ilsm == hp->lsmid->slot) + return hp->hook.secctx_to_secid(secdata, seclen, + &blob->secid[hp->lsmid->slot]); + } + return 0; } EXPORT_SYMBOL(security_secctx_to_secid); -void security_release_secctx(char *secdata, u32 seclen) +void security_release_secctx(struct lsmcontext *cp) { - call_void_hook(release_secctx, secdata, seclen); + struct security_hook_list *hp; + + hlist_for_each_entry(hp, &security_hook_heads.release_secctx, list) + if (cp->slot == hp->lsmid->slot) { + hp->hook.release_secctx(cp->context, cp->len); + break; + } + + memset(cp, 0, sizeof(*cp)); } EXPORT_SYMBOL(security_release_secctx); @@ -2138,9 +2545,18 @@ } EXPORT_SYMBOL(security_inode_setsecctx); -int security_inode_getsecctx(struct inode *inode, void **ctx, u32 *ctxlen) +int security_inode_getsecctx(struct inode *inode, struct lsmcontext *cp) { - return call_int_hook(inode_getsecctx, -EOPNOTSUPP, inode, ctx, ctxlen); + struct security_hook_list *hp; + + memset(cp, 0, sizeof(*cp)); + + hlist_for_each_entry(hp, &security_hook_heads.inode_getsecctx, list) { + cp->slot = hp->lsmid->slot; + return hp->hook.inode_getsecctx(inode, (void **)&cp->context, + &cp->len); + } + return -EOPNOTSUPP; } EXPORT_SYMBOL(security_inode_getsecctx); @@ -2257,25 +2673,57 @@ int security_socket_getpeersec_stream(struct socket *sock, char __user *optval, int __user *optlen, unsigned len) { - return call_int_hook(socket_getpeersec_stream, -ENOPROTOOPT, sock, - optval, optlen, len); + int ilsm = lsm_task_ilsm(current); + struct security_hook_list *hp; + + hlist_for_each_entry(hp, &security_hook_heads.socket_getpeersec_stream, + list) + if (ilsm == LSMBLOB_INVALID || ilsm == hp->lsmid->slot) + return hp->hook.socket_getpeersec_stream(sock, optval, + optlen, len); + return -ENOPROTOOPT; } -int security_socket_getpeersec_dgram(struct socket *sock, struct sk_buff *skb, u32 *secid) +int security_socket_getpeersec_dgram(struct socket *sock, struct sk_buff *skb, + u32 *secid) { - return call_int_hook(socket_getpeersec_dgram, -ENOPROTOOPT, sock, - skb, secid); + struct security_hook_list *hp; + int rc = -ENOPROTOOPT; + + /* + * Only one security module should provide a real hook for + * this. A stub or bypass like is used in BPF should either + * (somehow) leave rc unaltered or return -ENOPROTOOPT. + */ + hlist_for_each_entry(hp, &security_hook_heads.socket_getpeersec_dgram, + list) { + if (WARN_ON(hp->lsmid->slot < 0 || hp->lsmid->slot >= lsm_slot)) + continue; + rc = hp->hook.socket_getpeersec_dgram(sock, skb, secid); + if (rc != -ENOPROTOOPT) + break; + } + return rc; } EXPORT_SYMBOL(security_socket_getpeersec_dgram); int security_sk_alloc(struct sock *sk, int family, gfp_t priority) { - return call_int_hook(sk_alloc_security, 0, sk, family, priority); + int rc = lsm_sock_alloc(sk, priority); + + if (unlikely(rc)) + return rc; + rc = call_int_hook(sk_alloc_security, 0, sk, family, priority); + if (unlikely(rc)) + security_sk_free(sk); + return rc; } void security_sk_free(struct sock *sk) { call_void_hook(sk_free_security, sk); + kfree(sk->sk_security); + sk->sk_security = NULL; } void security_sk_clone(const struct sock *sk, struct sock *newsk) @@ -2559,9 +3007,27 @@ #ifdef CONFIG_AUDIT -int security_audit_rule_init(u32 field, u32 op, char *rulestr, void **lsmrule) +int security_audit_rule_init(u32 field, u32 op, char *rulestr, + struct audit_lsm_rules *lsmrules) { - return call_int_hook(audit_rule_init, 0, field, op, rulestr, lsmrule); + struct security_hook_list *hp; + bool one_is_good = false; + int rc = 0; + int trc; + + hlist_for_each_entry(hp, &security_hook_heads.audit_rule_init, list) { + if (WARN_ON(hp->lsmid->slot < 0 || hp->lsmid->slot >= lsm_slot)) + continue; + trc = hp->hook.audit_rule_init(field, op, rulestr, + &lsmrules->rule[hp->lsmid->slot]); + if (trc == 0) + one_is_good = true; + else + rc = trc; + } + if (one_is_good) + return 0; + return rc; } int security_audit_rule_known(struct audit_krule *krule) @@ -2569,17 +3035,84 @@ return call_int_hook(audit_rule_known, 0, krule); } -void security_audit_rule_free(void *lsmrule) +void security_audit_rule_free(struct audit_lsm_rules *lsmrules) { - call_void_hook(audit_rule_free, lsmrule); + struct security_hook_list *hp; + + hlist_for_each_entry(hp, &security_hook_heads.audit_rule_free, list) { + if (WARN_ON(hp->lsmid->slot < 0 || hp->lsmid->slot >= lsm_slot)) + continue; + if (lsmrules->rule[hp->lsmid->slot] == NULL) + continue; + hp->hook.audit_rule_free(lsmrules->rule[hp->lsmid->slot]); + } } -int security_audit_rule_match(u32 secid, u32 field, u32 op, void *lsmrule) +int security_audit_rule_match(struct lsmblob *blob, u32 field, u32 op, + struct audit_lsm_rules *lsmrules) { - return call_int_hook(audit_rule_match, 0, secid, field, op, lsmrule); + struct security_hook_list *hp; + int rc; + + hlist_for_each_entry(hp, &security_hook_heads.audit_rule_match, list) { + if (WARN_ON(hp->lsmid->slot < 0 || hp->lsmid->slot >= lsm_slot)) + continue; + if (lsmrules->rule[hp->lsmid->slot] == NULL) + continue; + rc = hp->hook.audit_rule_match(blob->secid[hp->lsmid->slot], + field, op, + &lsmrules->rule[hp->lsmid->slot]); + if (rc) + return rc; + } + return 0; } #endif /* CONFIG_AUDIT */ +#ifdef CONFIG_IMA_LSM_RULES +/* + * The integrity subsystem uses the same hooks as + * the audit subsystem. + */ +int ima_filter_rule_init(u32 field, u32 op, char *rulestr, void **lsmrule, + int lsmslot) +{ + struct security_hook_list *hp; + + hlist_for_each_entry(hp, &security_hook_heads.audit_rule_init, list) + if (hp->lsmid->slot == lsmslot) + return hp->hook.audit_rule_init(field, op, rulestr, + lsmrule); + + return 0; +} + +void ima_filter_rule_free(void *lsmrule, int lsmslot) +{ + struct security_hook_list *hp; + + hlist_for_each_entry(hp, &security_hook_heads.audit_rule_free, list) { + if (hp->lsmid->slot == lsmslot) { + hp->hook.audit_rule_free(lsmrule); + return; + } + } +} + +int ima_filter_rule_match(struct lsmblob *blob, u32 field, u32 op, + void *lsmrule, int lsmslot) +{ + struct security_hook_list *hp; + + hlist_for_each_entry(hp, &security_hook_heads.audit_rule_match, list) + if (hp->lsmid->slot == lsmslot) + return hp->hook.audit_rule_match(blob->secid[lsmslot], + field, op, lsmrule); + + return 0; +} +#endif /* CONFIG_IMA_LSM_RULES */ + #ifdef CONFIG_BPF_SYSCALL int security_bpf(int cmd, union bpf_attr *attr, unsigned int size) { @@ -2617,6 +3150,12 @@ } EXPORT_SYMBOL(security_locked_down); +int security_lock_kernel_down(const char *where, enum lockdown_reason level) +{ + return call_int_hook(lock_kernel_down, 0, where, level); +} +EXPORT_SYMBOL(security_lock_kernel_down); + #ifdef CONFIG_PERF_EVENTS int security_perf_event_open(struct perf_event_attr *attr, int type) { @@ -2654,4 +3193,8 @@ { return call_int_hook(uring_sqpoll, 0); } +int security_uring_cmd(struct io_uring_cmd *ioucmd) +{ + return call_int_hook(uring_cmd, 0, ioucmd); +} #endif /* CONFIG_IO_URING */ --- linux-gcp-5.19.0.orig/security/selinux/hooks.c +++ linux-gcp-5.19.0/security/selinux/hooks.c @@ -91,6 +91,7 @@ #include #include #include +#include #include "avc.h" #include "objsec.h" @@ -4224,6 +4225,14 @@ spin_unlock(&isec->lock); } +static int selinux_userns_create(const struct cred *cred) +{ + u32 sid = current_sid(); + + return avc_has_perm(&selinux_state, sid, sid, SECCLASS_USER_NAMESPACE, + USER_NAMESPACE__CREATE, NULL); +} + /* Returns error only if unable to parse addresses */ static int selinux_parse_skb_ipv4(struct sk_buff *skb, struct common_audit_data *ad, u8 *proto) @@ -4532,7 +4541,7 @@ static int sock_has_perm(struct sock *sk, u32 perms) { - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); struct common_audit_data ad; struct lsm_network_audit net = {0,}; @@ -4589,7 +4598,7 @@ isec->initialized = LABEL_INITIALIZED; if (sock->sk) { - sksec = sock->sk->sk_security; + sksec = selinux_sock(sock->sk); sksec->sclass = sclass; sksec->sid = sid; /* Allows detection of the first association on this socket */ @@ -4605,8 +4614,8 @@ static int selinux_socket_socketpair(struct socket *socka, struct socket *sockb) { - struct sk_security_struct *sksec_a = socka->sk->sk_security; - struct sk_security_struct *sksec_b = sockb->sk->sk_security; + struct sk_security_struct *sksec_a = selinux_sock(socka->sk); + struct sk_security_struct *sksec_b = selinux_sock(sockb->sk); sksec_a->peer_sid = sksec_b->sid; sksec_b->peer_sid = sksec_a->sid; @@ -4621,7 +4630,7 @@ static int selinux_socket_bind(struct socket *sock, struct sockaddr *address, int addrlen) { struct sock *sk = sock->sk; - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); u16 family; int err; @@ -4756,7 +4765,7 @@ struct sockaddr *address, int addrlen) { struct sock *sk = sock->sk; - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); int err; err = sock_has_perm(sk, SOCKET__CONNECT); @@ -4935,9 +4944,9 @@ struct sock *other, struct sock *newsk) { - struct sk_security_struct *sksec_sock = sock->sk_security; - struct sk_security_struct *sksec_other = other->sk_security; - struct sk_security_struct *sksec_new = newsk->sk_security; + struct sk_security_struct *sksec_sock = selinux_sock(sock); + struct sk_security_struct *sksec_other = selinux_sock(other); + struct sk_security_struct *sksec_new = selinux_sock(newsk); struct common_audit_data ad; struct lsm_network_audit net = {0,}; int err; @@ -4969,8 +4978,8 @@ static int selinux_socket_unix_may_send(struct socket *sock, struct socket *other) { - struct sk_security_struct *ssec = sock->sk->sk_security; - struct sk_security_struct *osec = other->sk->sk_security; + struct sk_security_struct *ssec = selinux_sock(sock->sk); + struct sk_security_struct *osec = selinux_sock(other->sk); struct common_audit_data ad; struct lsm_network_audit net = {0,}; @@ -5012,7 +5021,7 @@ u16 family) { int err = 0; - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); u32 sk_sid = sksec->sid; struct common_audit_data ad; struct lsm_network_audit net = {0,}; @@ -5045,7 +5054,7 @@ static int selinux_socket_sock_rcv_skb(struct sock *sk, struct sk_buff *skb) { int err; - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); u16 family = sk->sk_family; u32 sk_sid = sksec->sid; struct common_audit_data ad; @@ -5113,13 +5122,15 @@ return err; } -static int selinux_socket_getpeersec_stream(struct socket *sock, char __user *optval, - int __user *optlen, unsigned len) +static int selinux_socket_getpeersec_stream(struct socket *sock, + char __user *optval, + int __user *optlen, + unsigned int len) { int err = 0; char *scontext; u32 scontext_len; - struct sk_security_struct *sksec = sock->sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sock->sk); u32 peer_sid = SECSID_NULL; if (sksec->sclass == SECCLASS_UNIX_STREAM_SOCKET || @@ -5179,34 +5190,27 @@ static int selinux_sk_alloc_security(struct sock *sk, int family, gfp_t priority) { - struct sk_security_struct *sksec; - - sksec = kzalloc(sizeof(*sksec), priority); - if (!sksec) - return -ENOMEM; + struct sk_security_struct *sksec = selinux_sock(sk); sksec->peer_sid = SECINITSID_UNLABELED; sksec->sid = SECINITSID_UNLABELED; sksec->sclass = SECCLASS_SOCKET; selinux_netlbl_sk_security_reset(sksec); - sk->sk_security = sksec; return 0; } static void selinux_sk_free_security(struct sock *sk) { - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); - sk->sk_security = NULL; selinux_netlbl_sk_security_free(sksec); - kfree(sksec); } static void selinux_sk_clone_security(const struct sock *sk, struct sock *newsk) { - struct sk_security_struct *sksec = sk->sk_security; - struct sk_security_struct *newsksec = newsk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); + struct sk_security_struct *newsksec = selinux_sock(newsk); newsksec->sid = sksec->sid; newsksec->peer_sid = sksec->peer_sid; @@ -5220,7 +5224,7 @@ if (!sk) *secid = SECINITSID_ANY_SOCKET; else { - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); *secid = sksec->sid; } @@ -5230,7 +5234,7 @@ { struct inode_security_struct *isec = inode_security_novalidate(SOCK_INODE(parent)); - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); if (sk->sk_family == PF_INET || sk->sk_family == PF_INET6 || sk->sk_family == PF_UNIX) @@ -5247,7 +5251,7 @@ { struct sock *sk = asoc->base.sk; u16 family = sk->sk_family; - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); struct common_audit_data ad; struct lsm_network_audit net = {0,}; int err; @@ -5305,7 +5309,7 @@ static int selinux_sctp_assoc_request(struct sctp_association *asoc, struct sk_buff *skb) { - struct sk_security_struct *sksec = asoc->base.sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(asoc->base.sk); u32 conn_sid; int err; @@ -5338,7 +5342,7 @@ static int selinux_sctp_assoc_established(struct sctp_association *asoc, struct sk_buff *skb) { - struct sk_security_struct *sksec = asoc->base.sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(asoc->base.sk); if (!selinux_policycap_extsockclass()) return 0; @@ -5437,8 +5441,8 @@ static void selinux_sctp_sk_clone(struct sctp_association *asoc, struct sock *sk, struct sock *newsk) { - struct sk_security_struct *sksec = sk->sk_security; - struct sk_security_struct *newsksec = newsk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); + struct sk_security_struct *newsksec = selinux_sock(newsk); /* If policy does not support SECCLASS_SCTP_SOCKET then call * the non-sctp clone version. @@ -5455,7 +5459,7 @@ static int selinux_inet_conn_request(const struct sock *sk, struct sk_buff *skb, struct request_sock *req) { - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); int err; u16 family = req->rsk_ops->family; u32 connsid; @@ -5476,7 +5480,7 @@ static void selinux_inet_csk_clone(struct sock *newsk, const struct request_sock *req) { - struct sk_security_struct *newsksec = newsk->sk_security; + struct sk_security_struct *newsksec = selinux_sock(newsk); newsksec->sid = req->secid; newsksec->peer_sid = req->peer_secid; @@ -5493,7 +5497,7 @@ static void selinux_inet_conn_established(struct sock *sk, struct sk_buff *skb) { u16 family = sk->sk_family; - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); /* handle mapped IPv4 packets arriving via IPv6 sockets */ if (family == PF_INET6 && skb->protocol == htons(ETH_P_IP)) @@ -5577,7 +5581,7 @@ static int selinux_tun_dev_attach(struct sock *sk, void *security) { struct tun_security_struct *tunsec = security; - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); /* we don't currently perform any NetLabel based labeling here and it * isn't clear that we would want to do so anyway; while we could apply @@ -5706,7 +5710,7 @@ return NF_ACCEPT; /* standard practice, label using the parent socket */ - sksec = sk->sk_security; + sksec = selinux_sock(sk); sid = sksec->sid; } else sid = SECINITSID_KERNEL; @@ -5729,7 +5733,7 @@ sk = skb_to_full_sk(skb); if (sk == NULL) return NF_ACCEPT; - sksec = sk->sk_security; + sksec = selinux_sock(sk); ad.type = LSM_AUDIT_DATA_NET; ad.u.net = &net; @@ -5822,7 +5826,7 @@ u32 skb_sid; struct sk_security_struct *sksec; - sksec = sk->sk_security; + sksec = selinux_sock(sk); if (selinux_skb_peerlbl_sid(skb, family, &skb_sid)) return NF_DROP; /* At this point, if the returned skb peerlbl is SECSID_NULL @@ -5851,7 +5855,7 @@ } else { /* Locally generated packet, fetch the security label from the * associated socket. */ - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); peer_sid = sksec->sid; secmark_perm = PACKET__SEND; } @@ -5900,7 +5904,7 @@ unsigned int data_len = skb->len; unsigned char *data = skb->data; struct nlmsghdr *nlh; - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); u16 sclass = sksec->sclass; u32 perm; @@ -6348,7 +6352,7 @@ goto bad; } - if (!strcmp(name, "current")) + if (!strcmp(name, "current") || !strcmp(name, "context")) sid = __tsec->sid; else if (!strcmp(name, "prev")) sid = __tsec->osid; @@ -6390,6 +6394,17 @@ /* * Basic control over ability to set these attributes at all. */ + + /* + * For setting interface_lsm, we only perform a permission check; + * the actual update to the interface_lsm value is handled by the + * LSM framework. + */ + if (!strcmp(name, "interface_lsm")) + return avc_has_perm(&selinux_state, + mysid, mysid, SECCLASS_PROCESS2, + PROCESS2__SETINTERFACE_LSM, NULL); + if (!strcmp(name, "exec")) error = avc_has_perm(&selinux_state, mysid, mysid, SECCLASS_PROCESS, @@ -6899,6 +6914,7 @@ .lbs_inode = sizeof(struct inode_security_struct), .lbs_ipc = sizeof(struct ipc_security_struct), .lbs_msg_msg = sizeof(struct msg_security_struct), + .lbs_sock = sizeof(struct sk_security_struct), .lbs_superblock = sizeof(struct superblock_security_struct), }; @@ -6990,8 +7006,35 @@ return avc_has_perm(&selinux_state, sid, sid, SECCLASS_IO_URING, IO_URING__SQPOLL, NULL); } + +/** + * selinux_uring_cmd - check if IORING_OP_URING_CMD is allowed + * @ioucmd: the io_uring command structure + * + * Check to see if the current domain is allowed to execute an + * IORING_OP_URING_CMD against the device/file specified in @ioucmd. + * + */ +static int selinux_uring_cmd(struct io_uring_cmd *ioucmd) +{ + struct file *file = ioucmd->file; + struct inode *inode = file_inode(file); + struct inode_security_struct *isec = selinux_inode(inode); + struct common_audit_data ad; + + ad.type = LSM_AUDIT_DATA_FILE; + ad.u.file = file; + + return avc_has_perm(&selinux_state, current_sid(), isec->sid, + SECCLASS_IO_URING, IO_URING__CMD, &ad); +} #endif /* CONFIG_IO_URING */ +struct lsm_id selinux_lsmid __lsm_ro_after_init = { + .lsm = "selinux", + .slot = LSMBLOB_NEEDED +}; + /* * IMPORTANT NOTE: When adding new hooks, please be careful to keep this order: * 1. any hooks that don't belong to (2.) or (3.) below, @@ -7114,6 +7157,7 @@ LSM_HOOK_INIT(task_movememory, selinux_task_movememory), LSM_HOOK_INIT(task_kill, selinux_task_kill), LSM_HOOK_INIT(task_to_inode, selinux_task_to_inode), + LSM_HOOK_INIT(userns_create, selinux_userns_create), LSM_HOOK_INIT(ipc_permission, selinux_ipc_permission), LSM_HOOK_INIT(ipc_getsecid, selinux_ipc_getsecid), @@ -7234,6 +7278,7 @@ #ifdef CONFIG_IO_URING LSM_HOOK_INIT(uring_override_creds, selinux_uring_override_creds), LSM_HOOK_INIT(uring_sqpoll, selinux_uring_sqpoll), + LSM_HOOK_INIT(uring_cmd, selinux_uring_cmd), #endif /* @@ -7310,7 +7355,8 @@ hashtab_cache_init(); - security_add_hooks(selinux_hooks, ARRAY_SIZE(selinux_hooks), "selinux"); + security_add_hooks(selinux_hooks, ARRAY_SIZE(selinux_hooks), + &selinux_lsmid); if (avc_add_callback(selinux_netcache_avc_callback, AVC_CALLBACK_RESET)) panic("SELinux: Unable to register AVC netcache callback\n"); --- linux-gcp-5.19.0.orig/security/selinux/include/classmap.h +++ linux-gcp-5.19.0/security/selinux/include/classmap.h @@ -53,7 +53,8 @@ "execmem", "execstack", "execheap", "setkeycreate", "setsockcreate", "getrlimit", NULL } }, { "process2", - { "nnp_transition", "nosuid_transition", NULL } }, + { "nnp_transition", "nosuid_transition", "setinterface_lsm", + NULL } }, { "system", { "ipc_info", "syslog_read", "syslog_mod", "syslog_console", "module_request", "module_load", NULL } }, @@ -253,7 +254,9 @@ { "anon_inode", { COMMON_FILE_PERMS, NULL } }, { "io_uring", - { "override_creds", "sqpoll", NULL } }, + { "override_creds", "sqpoll", "cmd", NULL } }, + { "user_namespace", + { "create", NULL } }, { NULL } }; --- linux-gcp-5.19.0.orig/security/selinux/include/objsec.h +++ linux-gcp-5.19.0/security/selinux/include/objsec.h @@ -194,4 +194,9 @@ return superblock->s_security + selinux_blob_sizes.lbs_superblock; } +static inline struct sk_security_struct *selinux_sock(const struct sock *sock) +{ + return sock->sk_security + selinux_blob_sizes.lbs_sock; +} + #endif /* _SELINUX_OBJSEC_H_ */ --- linux-gcp-5.19.0.orig/security/selinux/include/security.h +++ linux-gcp-5.19.0/security/selinux/include/security.h @@ -75,6 +75,7 @@ struct netlbl_lsm_secattr; extern int selinux_enabled_boot; +extern struct lsm_id selinux_lsmid; /* * type_datum properties --- linux-gcp-5.19.0.orig/security/selinux/netlabel.c +++ linux-gcp-5.19.0/security/selinux/netlabel.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -68,7 +69,7 @@ static struct netlbl_lsm_secattr *selinux_netlbl_sock_genattr(struct sock *sk) { int rc; - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); struct netlbl_lsm_secattr *secattr; if (sksec->nlbl_secattr != NULL) @@ -101,14 +102,14 @@ const struct sock *sk, u32 sid) { - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); struct netlbl_lsm_secattr *secattr = sksec->nlbl_secattr; if (secattr == NULL) return NULL; if ((secattr->flags & NETLBL_SECATTR_SECID) && - (secattr->attr.secid == sid)) + (secattr->attr.lsmblob.secid[selinux_lsmid.slot] == sid)) return secattr; return NULL; @@ -236,7 +237,7 @@ * being labeled by it's parent socket, if it is just exit */ sk = skb_to_full_sk(skb); if (sk != NULL) { - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); if (sksec->nlbl_state != NLBL_REQSKB) return 0; @@ -274,7 +275,7 @@ { int rc; struct netlbl_lsm_secattr secattr; - struct sk_security_struct *sksec = asoc->base.sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(asoc->base.sk); struct sockaddr_in addr4; struct sockaddr_in6 addr6; @@ -355,7 +356,7 @@ */ void selinux_netlbl_inet_csk_clone(struct sock *sk, u16 family) { - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); if (family == PF_INET) sksec->nlbl_state = NLBL_LABELED; @@ -373,8 +374,8 @@ */ void selinux_netlbl_sctp_sk_clone(struct sock *sk, struct sock *newsk) { - struct sk_security_struct *sksec = sk->sk_security; - struct sk_security_struct *newsksec = newsk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); + struct sk_security_struct *newsksec = selinux_sock(newsk); newsksec->nlbl_state = sksec->nlbl_state; } @@ -392,7 +393,7 @@ int selinux_netlbl_socket_post_create(struct sock *sk, u16 family) { int rc; - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); struct netlbl_lsm_secattr *secattr; if (family != PF_INET && family != PF_INET6) @@ -507,7 +508,7 @@ { int rc = 0; struct sock *sk = sock->sk; - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); struct netlbl_lsm_secattr secattr; if (selinux_netlbl_option(level, optname) && @@ -545,7 +546,7 @@ struct sockaddr *addr) { int rc; - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); struct netlbl_lsm_secattr *secattr; /* connected sockets are allowed to disconnect when the address family @@ -584,7 +585,7 @@ int selinux_netlbl_socket_connect_locked(struct sock *sk, struct sockaddr *addr) { - struct sk_security_struct *sksec = sk->sk_security; + struct sk_security_struct *sksec = selinux_sock(sk); if (sksec->nlbl_state != NLBL_REQSKB && sksec->nlbl_state != NLBL_CONNLABELED) --- linux-gcp-5.19.0.orig/security/selinux/ss/policydb.h +++ linux-gcp-5.19.0/security/selinux/ss/policydb.h @@ -370,6 +370,8 @@ { size_t len = bytes * num; + if (len > fp->len) + return -EINVAL; memcpy(fp->data, buf, len); fp->data += len; fp->len -= len; --- linux-gcp-5.19.0.orig/security/selinux/ss/services.c +++ linux-gcp-5.19.0/security/selinux/ss/services.c @@ -2022,7 +2022,8 @@ * in `newc'. Verify that the context is valid * under the new policy. */ -static int convert_context(struct context *oldc, struct context *newc, void *p) +static int convert_context(struct context *oldc, struct context *newc, void *p, + gfp_t gfp_flags) { struct convert_context_args *args; struct ocontext *oc; @@ -2036,7 +2037,7 @@ args = p; if (oldc->str) { - s = kstrdup(oldc->str, GFP_KERNEL); + s = kstrdup(oldc->str, gfp_flags); if (!s) return -ENOMEM; @@ -3896,7 +3897,7 @@ if (secattr->flags & NETLBL_SECATTR_CACHE) *sid = *(u32 *)secattr->cache->data; else if (secattr->flags & NETLBL_SECATTR_SECID) - *sid = secattr->attr.secid; + *sid = secattr->attr.lsmblob.secid[selinux_lsmid.slot]; else if (secattr->flags & NETLBL_SECATTR_MLS_LVL) { rc = -EIDRM; ctx = sidtab_search(sidtab, SECINITSID_NETMSG); @@ -3974,7 +3975,7 @@ if (secattr->domain == NULL) goto out; - secattr->attr.secid = sid; + secattr->attr.lsmblob.secid[selinux_lsmid.slot] = sid; secattr->flags |= NETLBL_SECATTR_DOMAIN_CPY | NETLBL_SECATTR_SECID; mls_export_netlbl_lvl(policydb, ctx, secattr); rc = mls_export_netlbl_cat(policydb, ctx, secattr); @@ -4048,6 +4049,7 @@ int security_read_state_kernel(struct selinux_state *state, void **data, size_t *len) { + int err; struct selinux_policy *policy; policy = rcu_dereference_protected( @@ -4060,5 +4062,11 @@ if (!*data) return -ENOMEM; - return __security_read_policy(policy, *data, len); + err = __security_read_policy(policy, *data, len); + if (err) { + vfree(*data); + *data = NULL; + *len = 0; + } + return err; } --- linux-gcp-5.19.0.orig/security/selinux/ss/sidtab.c +++ linux-gcp-5.19.0/security/selinux/ss/sidtab.c @@ -325,7 +325,7 @@ } rc = convert->func(context, &dst_convert->context, - convert->args); + convert->args, GFP_ATOMIC); if (rc) { context_destroy(&dst->context); goto out_unlock; @@ -404,7 +404,7 @@ while (i < SIDTAB_LEAF_ENTRIES && *pos < count) { rc = convert->func(&esrc->ptr_leaf->entries[i].context, &edst->ptr_leaf->entries[i].context, - convert->args); + convert->args, GFP_KERNEL); if (rc) return rc; (*pos)++; --- linux-gcp-5.19.0.orig/security/selinux/ss/sidtab.h +++ linux-gcp-5.19.0/security/selinux/ss/sidtab.h @@ -65,7 +65,7 @@ }; struct sidtab_convert_params { - int (*func)(struct context *oldc, struct context *newc, void *args); + int (*func)(struct context *oldc, struct context *newc, void *args, gfp_t gfp_flags); void *args; struct sidtab *target; }; --- linux-gcp-5.19.0.orig/security/smack/smack.h +++ linux-gcp-5.19.0/security/smack/smack.h @@ -303,6 +303,7 @@ * Shared data. */ extern int smack_enabled __initdata; +extern struct lsm_id smack_lsmid; extern int smack_cipso_direct; extern int smack_cipso_mapped; extern struct smack_known *smack_net_ambient; @@ -363,6 +364,11 @@ return superblock->s_security + smack_blob_sizes.lbs_superblock; } +static inline struct socket_smack *smack_sock(const struct sock *sock) +{ + return sock->sk_security + smack_blob_sizes.lbs_sock; +} + /* * Is the directory transmuting? */ --- linux-gcp-5.19.0.orig/security/smack/smack_access.c +++ linux-gcp-5.19.0/security/smack/smack_access.c @@ -524,7 +524,7 @@ { int slen; - skp->smk_netlabel.attr.secid = skp->smk_secid; + skp->smk_netlabel.attr.lsmblob.secid[smack_lsmid.slot] = skp->smk_secid; skp->smk_netlabel.domain = skp->smk_known; skp->smk_netlabel.cache = netlbl_secattr_cache_alloc(GFP_ATOMIC); if (skp->smk_netlabel.cache != NULL) { --- linux-gcp-5.19.0.orig/security/smack/smack_lsm.c +++ linux-gcp-5.19.0/security/smack/smack_lsm.c @@ -42,6 +42,7 @@ #include #include #include +#include #include "smack.h" #define TRANS_TRUE "TRUE" @@ -1434,7 +1435,7 @@ if (sock == NULL || sock->sk == NULL) return -EOPNOTSUPP; - ssp = sock->sk->sk_security; + ssp = smack_sock(sock->sk); if (strcmp(name, XATTR_SMACK_IPIN) == 0) isp = ssp->smk_in; @@ -1817,7 +1818,7 @@ if (inode->i_sb->s_magic == SOCKFS_MAGIC) { sock = SOCKET_I(inode); - ssp = sock->sk->sk_security; + ssp = smack_sock(sock->sk); tsp = smack_cred(current_cred()); /* * If the receiving process can't write to the @@ -2237,11 +2238,7 @@ static int smack_sk_alloc_security(struct sock *sk, int family, gfp_t gfp_flags) { struct smack_known *skp = smk_of_current(); - struct socket_smack *ssp; - - ssp = kzalloc(sizeof(struct socket_smack), gfp_flags); - if (ssp == NULL) - return -ENOMEM; + struct socket_smack *ssp = smack_sock(sk); /* * Sockets created by kernel threads receive web label. @@ -2255,11 +2252,10 @@ } ssp->smk_packet = NULL; - sk->sk_security = ssp; - return 0; } +#ifdef SMACK_IPV6_PORT_LABELING /** * smack_sk_free_security - Free a socket blob * @sk: the socket @@ -2268,7 +2264,6 @@ */ static void smack_sk_free_security(struct sock *sk) { -#ifdef SMACK_IPV6_PORT_LABELING struct smk_port_label *spp; if (sk->sk_family == PF_INET6) { @@ -2281,9 +2276,8 @@ } rcu_read_unlock(); } -#endif - kfree(sk->sk_security); } +#endif /** * smack_ipv4host_label - check host based restrictions @@ -2396,7 +2390,7 @@ */ static int smack_netlbl_add(struct sock *sk) { - struct socket_smack *ssp = sk->sk_security; + struct socket_smack *ssp = smack_sock(sk); struct smack_known *skp = ssp->smk_out; int rc; @@ -2428,7 +2422,7 @@ */ static void smack_netlbl_delete(struct sock *sk) { - struct socket_smack *ssp = sk->sk_security; + struct socket_smack *ssp = smack_sock(sk); /* * Take the label off the socket if one is set. @@ -2460,7 +2454,7 @@ struct smack_known *skp; int rc = 0; struct smack_known *hkp; - struct socket_smack *ssp = sk->sk_security; + struct socket_smack *ssp = smack_sock(sk); struct smk_audit_info ad; rcu_read_lock(); @@ -2533,7 +2527,7 @@ { struct sock *sk = sock->sk; struct sockaddr_in6 *addr6; - struct socket_smack *ssp = sock->sk->sk_security; + struct socket_smack *ssp = smack_sock(sock->sk); struct smk_port_label *spp; unsigned short port = 0; @@ -2621,7 +2615,7 @@ int act) { struct smk_port_label *spp; - struct socket_smack *ssp = sk->sk_security; + struct socket_smack *ssp = smack_sock(sk); struct smack_known *skp = NULL; unsigned short port; struct smack_known *object; @@ -2715,7 +2709,7 @@ if (sock == NULL || sock->sk == NULL) return -EOPNOTSUPP; - ssp = sock->sk->sk_security; + ssp = smack_sock(sock->sk); if (strcmp(name, XATTR_SMACK_IPIN) == 0) ssp->smk_in = skp; @@ -2763,7 +2757,7 @@ * Sockets created by kernel threads receive web label. */ if (unlikely(current->flags & PF_KTHREAD)) { - ssp = sock->sk->sk_security; + ssp = smack_sock(sock->sk); ssp->smk_in = &smack_known_web; ssp->smk_out = &smack_known_web; } @@ -2788,8 +2782,8 @@ static int smack_socket_socketpair(struct socket *socka, struct socket *sockb) { - struct socket_smack *asp = socka->sk->sk_security; - struct socket_smack *bsp = sockb->sk->sk_security; + struct socket_smack *asp = smack_sock(socka->sk); + struct socket_smack *bsp = smack_sock(sockb->sk); asp->smk_packet = bsp->smk_out; bsp->smk_packet = asp->smk_out; @@ -2852,7 +2846,7 @@ if (__is_defined(SMACK_IPV6_SECMARK_LABELING)) rsp = smack_ipv6host_label(sip); if (rsp != NULL) { - struct socket_smack *ssp = sock->sk->sk_security; + struct socket_smack *ssp = smack_sock(sock->sk); rc = smk_ipv6_check(ssp->smk_out, rsp, sip, SMK_CONNECTING); @@ -3492,7 +3486,7 @@ char *cp; int slen; - if (strcmp(name, "current") != 0) + if (strcmp(name, "current") != 0 && strcmp(name, "context") != 0) return -EINVAL; cp = kstrdup(skp->smk_known, GFP_KERNEL); @@ -3523,6 +3517,13 @@ struct smack_known_list_elem *sklep; int rc; + /* + * Allow the /proc/.../attr/current and SO_PEERSEC "interface_lsm" + * to be reset at will. + */ + if (strcmp(name, "interface_lsm") == 0) + return 0; + if (!smack_privileged(CAP_MAC_ADMIN) && list_empty(&tsp->smk_relabel)) return -EPERM; @@ -3583,9 +3584,9 @@ { struct smack_known *skp; struct smack_known *okp; - struct socket_smack *ssp = sock->sk_security; - struct socket_smack *osp = other->sk_security; - struct socket_smack *nsp = newsk->sk_security; + struct socket_smack *ssp = smack_sock(sock); + struct socket_smack *osp = smack_sock(other); + struct socket_smack *nsp = smack_sock(newsk); struct smk_audit_info ad; int rc = 0; #ifdef CONFIG_AUDIT @@ -3631,8 +3632,8 @@ */ static int smack_unix_may_send(struct socket *sock, struct socket *other) { - struct socket_smack *ssp = sock->sk->sk_security; - struct socket_smack *osp = other->sk->sk_security; + struct socket_smack *ssp = smack_sock(sock->sk); + struct socket_smack *osp = smack_sock(other->sk); struct smk_audit_info ad; int rc; @@ -3669,7 +3670,7 @@ struct sockaddr_in6 *sap = (struct sockaddr_in6 *) msg->msg_name; #endif #ifdef SMACK_IPV6_SECMARK_LABELING - struct socket_smack *ssp = sock->sk->sk_security; + struct socket_smack *ssp = smack_sock(sock->sk); struct smack_known *rsp; #endif int rc = 0; @@ -3728,11 +3729,12 @@ if ((sap->flags & NETLBL_SECATTR_CACHE) != 0) return (struct smack_known *)sap->cache->data; + /* + * Looks like a fallback, which gives us a secid. + */ if ((sap->flags & NETLBL_SECATTR_SECID) != 0) - /* - * Looks like a fallback, which gives us a secid. - */ - return smack_from_secid(sap->attr.secid); + return smack_from_secid( + sap->attr.lsmblob.secid[smack_lsmid.slot]); if ((sap->flags & NETLBL_SECATTR_MLS_LVL) != 0) { /* @@ -3881,7 +3883,7 @@ netlbl_secattr_init(&secattr); if (sk) - ssp = sk->sk_security; + ssp = smack_sock(sk); if (netlbl_skbuff_getattr(skb, family, &secattr) == 0) { skp = smack_from_secattr(&secattr, ssp); @@ -3903,7 +3905,7 @@ */ static int smack_socket_sock_rcv_skb(struct sock *sk, struct sk_buff *skb) { - struct socket_smack *ssp = sk->sk_security; + struct socket_smack *ssp = smack_sock(sk); struct smack_known *skp = NULL; int rc = 0; struct smk_audit_info ad; @@ -4007,7 +4009,7 @@ int slen = 1; int rc = 0; - ssp = sock->sk->sk_security; + ssp = smack_sock(sock->sk); if (ssp->smk_packet != NULL) { rcp = ssp->smk_packet->smk_known; slen = strlen(rcp) + 1; @@ -4056,7 +4058,7 @@ switch (family) { case PF_UNIX: - ssp = sock->sk->sk_security; + ssp = smack_sock(sock->sk); s = ssp->smk_out->smk_secid; break; case PF_INET: @@ -4105,7 +4107,7 @@ (sk->sk_family != PF_INET && sk->sk_family != PF_INET6)) return; - ssp = sk->sk_security; + ssp = smack_sock(sk); ssp->smk_in = skp; ssp->smk_out = skp; /* cssp->smk_packet is already set in smack_inet_csk_clone() */ @@ -4125,7 +4127,7 @@ { u16 family = sk->sk_family; struct smack_known *skp; - struct socket_smack *ssp = sk->sk_security; + struct socket_smack *ssp = smack_sock(sk); struct sockaddr_in addr; struct iphdr *hdr; struct smack_known *hskp; @@ -4211,7 +4213,7 @@ static void smack_inet_csk_clone(struct sock *sk, const struct request_sock *req) { - struct socket_smack *ssp = sk->sk_security; + struct socket_smack *ssp = smack_sock(sk); struct smack_known *skp; if (req->peer_secid != 0) { @@ -4739,6 +4741,36 @@ return -EPERM; } +/** + * smack_uring_cmd - check on file operations for io_uring + * @ioucmd: the command in question + * + * Make a best guess about whether a io_uring "command" should + * be allowed. Use the same logic used for determining if the + * file could be opened for read in the absence of better criteria. + */ +static int smack_uring_cmd(struct io_uring_cmd *ioucmd) +{ + struct file *file = ioucmd->file; + struct smk_audit_info ad; + struct task_smack *tsp; + struct inode *inode; + int rc; + + if (!file) + return -EINVAL; + + tsp = smack_cred(file->f_cred); + inode = file_inode(file); + + smk_ad_init(&ad, __func__, LSM_AUDIT_DATA_PATH); + smk_ad_setfield_u_fs_path(&ad, file->f_path); + rc = smk_tskacc(tsp, smk_of_inode(inode), MAY_READ, &ad); + rc = smk_bu_credfile(file->f_cred, file, MAY_READ, rc); + + return rc; +} + #endif /* CONFIG_IO_URING */ struct lsm_blob_sizes smack_blob_sizes __lsm_ro_after_init = { @@ -4747,9 +4779,15 @@ .lbs_inode = sizeof(struct inode_smack), .lbs_ipc = sizeof(struct smack_known *), .lbs_msg_msg = sizeof(struct smack_known *), + .lbs_sock = sizeof(struct socket_smack), .lbs_superblock = sizeof(struct superblock_smack), }; +struct lsm_id smack_lsmid __lsm_ro_after_init = { + .lsm = "smack", + .slot = LSMBLOB_NEEDED +}; + static struct security_hook_list smack_hooks[] __lsm_ro_after_init = { LSM_HOOK_INIT(ptrace_access_check, smack_ptrace_access_check), LSM_HOOK_INIT(ptrace_traceme, smack_ptrace_traceme), @@ -4857,7 +4895,9 @@ LSM_HOOK_INIT(socket_getpeersec_stream, smack_socket_getpeersec_stream), LSM_HOOK_INIT(socket_getpeersec_dgram, smack_socket_getpeersec_dgram), LSM_HOOK_INIT(sk_alloc_security, smack_sk_alloc_security), +#ifdef SMACK_IPV6_PORT_LABELING LSM_HOOK_INIT(sk_free_security, smack_sk_free_security), +#endif LSM_HOOK_INIT(sock_graft, smack_sock_graft), LSM_HOOK_INIT(inet_conn_request, smack_inet_conn_request), LSM_HOOK_INIT(inet_csk_clone, smack_inet_csk_clone), @@ -4896,6 +4936,7 @@ #ifdef CONFIG_IO_URING LSM_HOOK_INIT(uring_override_creds, smack_uring_override_creds), LSM_HOOK_INIT(uring_sqpoll, smack_uring_sqpoll), + LSM_HOOK_INIT(uring_cmd, smack_uring_cmd), #endif }; @@ -4951,7 +4992,7 @@ /* * Register with LSM */ - security_add_hooks(smack_hooks, ARRAY_SIZE(smack_hooks), "smack"); + security_add_hooks(smack_hooks, ARRAY_SIZE(smack_hooks), &smack_lsmid); smack_enabled = 1; pr_info("Smack: Initializing.\n"); --- linux-gcp-5.19.0.orig/security/smack/smack_netfilter.c +++ linux-gcp-5.19.0/security/smack/smack_netfilter.c @@ -26,8 +26,8 @@ struct socket_smack *ssp; struct smack_known *skp; - if (sk && sk->sk_security) { - ssp = sk->sk_security; + if (sk) { + ssp = smack_sock(sk); skp = ssp->smk_out; skb->secmark = skp->smk_secid; } --- linux-gcp-5.19.0.orig/security/smack/smackfs.c +++ linux-gcp-5.19.0/security/smack/smackfs.c @@ -186,7 +186,7 @@ nap->loginuid = audit_get_loginuid(current); nap->sessionid = audit_get_sessionid(current); - nap->secid = skp->smk_secid; + nap->lsmblob.secid[smack_lsmid.slot] = skp->smk_secid; } /* @@ -1144,6 +1144,7 @@ static ssize_t smk_write_net4addr(struct file *file, const char __user *buf, size_t count, loff_t *ppos) { + struct lsmblob lsmblob; struct smk_net4addr *snp; struct sockaddr_in newname; char *smack; @@ -1274,10 +1275,13 @@ * this host so that incoming packets get labeled. * but only if we didn't get the special CIPSO option */ - if (rc == 0 && skp != NULL) + if (rc == 0 && skp != NULL) { + lsmblob_init(&lsmblob, 0); + lsmblob.secid[smack_lsmid.slot] = snp->smk_label->smk_secid; rc = netlbl_cfg_unlbl_static_add(&init_net, NULL, - &snp->smk_host, &snp->smk_mask, PF_INET, - snp->smk_label->smk_secid, &audit_info); + &snp->smk_host, &snp->smk_mask, PF_INET, &lsmblob, + &audit_info); + } if (rc == 0) rc = count; --- linux-gcp-5.19.0.orig/security/tomoyo/Makefile +++ linux-gcp-5.19.0/security/tomoyo/Makefile @@ -10,7 +10,7 @@ quiet_cmd_policy = POLICY $@ cmd_policy = ($(call do_policy,profile); $(call do_policy,exception_policy); $(call do_policy,domain_policy); $(call do_policy,manager); $(call do_policy,stat)) >$@ -$(obj)/builtin-policy.h: $(wildcard $(obj)/policy/*.conf $(src)/policy/*.conf.default) FORCE +$(obj)/builtin-policy.h: $(wildcard $(obj)/policy/*.conf $(srctree)/$(src)/policy/*.conf.default) FORCE $(call if_changed,policy) $(obj)/common.o: $(obj)/builtin-policy.h --- linux-gcp-5.19.0.orig/security/tomoyo/tomoyo.c +++ linux-gcp-5.19.0/security/tomoyo/tomoyo.c @@ -530,6 +530,11 @@ } } +static struct lsm_id tomoyo_lsmid __lsm_ro_after_init = { + .lsm = "tomoyo", + .slot = LSMBLOB_NOT_NEEDED +}; + /* * tomoyo_security_ops is a "struct security_operations" which is used for * registering TOMOYO. @@ -582,7 +587,8 @@ struct tomoyo_task *s = tomoyo_task(current); /* register ourselves with the security framework */ - security_add_hooks(tomoyo_hooks, ARRAY_SIZE(tomoyo_hooks), "tomoyo"); + security_add_hooks(tomoyo_hooks, ARRAY_SIZE(tomoyo_hooks), + &tomoyo_lsmid); pr_info("TOMOYO Linux initialized\n"); s->domain_info = &tomoyo_kernel_domain; atomic_inc(&tomoyo_kernel_domain.users); --- linux-gcp-5.19.0.orig/security/yama/yama_lsm.c +++ linux-gcp-5.19.0/security/yama/yama_lsm.c @@ -421,6 +421,11 @@ return rc; } +static struct lsm_id yama_lsmid __lsm_ro_after_init = { + .lsm = "yama", + .slot = LSMBLOB_NOT_NEEDED +}; + static struct security_hook_list yama_hooks[] __lsm_ro_after_init = { LSM_HOOK_INIT(ptrace_access_check, yama_ptrace_access_check), LSM_HOOK_INIT(ptrace_traceme, yama_ptrace_traceme), @@ -477,7 +482,7 @@ static int __init yama_init(void) { pr_info("Yama: becoming mindful.\n"); - security_add_hooks(yama_hooks, ARRAY_SIZE(yama_hooks), "yama"); + security_add_hooks(yama_hooks, ARRAY_SIZE(yama_hooks), &yama_lsmid); yama_init_sysctl(); return 0; } --- linux-gcp-5.19.0.orig/snapcraft.yaml +++ linux-gcp-5.19.0/snapcraft.yaml @@ -0,0 +1,36 @@ +name: pc-kernel +version: null +version-script: | + . debian/debian.env + dpkg-parsechangelog -l $DEBIAN/changelog -S version +summary: The Ubuntu generic Linux kernel +description: This Ubuntu generic Linux kernel +grade: stable +confinement: strict +type: kernel + +parts: + kernel: + plugin: kernel + source: . + source-type: git + kconfigflavour: generic + kconfigs: + - CONFIG_DEBUG_INFO=n + override-build: | + cp debian/scripts/retpoline-extract-one \ + $SNAPCRAFT_PART_BUILD/scripts/ubuntu-retpoline-extract-one + snapcraftctl build + kernel-with-firmware: false + firmware: + plugin: nil + stage-packages: + - linux-firmware + organize: + lib/firmware: firmware + prime: + - -usr + - -lib + build-packages: + - cpio + - libssl-dev --- linux-gcp-5.19.0.orig/sound/aoa/soundbus/i2sbus/core.c +++ linux-gcp-5.19.0/sound/aoa/soundbus/i2sbus/core.c @@ -147,6 +147,7 @@ return rc; } +/* Returns 1 if added, 0 for otherwise; don't return a negative value! */ /* FIXME: look at device node refcounting */ static int i2sbus_add_dev(struct macio_dev *macio, struct i2sbus_control *control, @@ -213,7 +214,7 @@ * either as the second one in that case is just a modem. */ if (!ok) { kfree(dev); - return -ENODEV; + return 0; } mutex_init(&dev->lock); @@ -302,6 +303,10 @@ if (soundbus_add_one(&dev->sound)) { printk(KERN_DEBUG "i2sbus: device registration error!\n"); + if (dev->sound.ofdev.dev.kobj.state_initialized) { + soundbus_dev_put(&dev->sound); + return 0; + } goto err; } --- linux-gcp-5.19.0.orig/sound/arm/pxa2xx-ac97-lib.c +++ linux-gcp-5.19.0/sound/arm/pxa2xx-ac97-lib.c @@ -402,8 +402,10 @@ goto err_clk2; irq = platform_get_irq(dev, 0); - if (!irq) + if (irq < 0) { + ret = irq; goto err_irq; + } ret = request_irq(irq, pxa2xx_ac97_irq, 0, "AC97", NULL); if (ret < 0) --- linux-gcp-5.19.0.orig/sound/core/control.c +++ linux-gcp-5.19.0/sound/core/control.c @@ -127,6 +127,7 @@ if (control->vd[idx].owner == ctl) control->vd[idx].owner = NULL; up_write(&card->controls_rwsem); + snd_fasync_free(ctl->fasync); snd_ctl_empty_read_queue(ctl); put_pid(ctl->pid); kfree(ctl); @@ -181,7 +182,7 @@ _found: wake_up(&ctl->change_sleep); spin_unlock(&ctl->read_lock); - kill_fasync(&ctl->fasync, SIGIO, POLL_IN); + snd_kill_fasync(ctl->fasync, SIGIO, POLL_IN); } read_unlock_irqrestore(&card->ctl_files_rwlock, flags); } @@ -1066,14 +1067,19 @@ const u32 pattern = 0xdeadbeef; int ret; + down_read(&card->controls_rwsem); kctl = snd_ctl_find_id(card, &control->id); - if (kctl == NULL) - return -ENOENT; + if (kctl == NULL) { + ret = -ENOENT; + goto unlock; + } index_offset = snd_ctl_get_ioff(kctl, &control->id); vd = &kctl->vd[index_offset]; - if (!(vd->access & SNDRV_CTL_ELEM_ACCESS_READ) || kctl->get == NULL) - return -EPERM; + if (!(vd->access & SNDRV_CTL_ELEM_ACCESS_READ) || kctl->get == NULL) { + ret = -EPERM; + goto unlock; + } snd_ctl_build_ioff(&control->id, kctl, index_offset); @@ -1083,7 +1089,7 @@ info.id = control->id; ret = __snd_ctl_elem_info(card, kctl, &info, NULL); if (ret < 0) - return ret; + goto unlock; #endif if (!snd_ctl_skip_validation(&info)) @@ -1093,7 +1099,7 @@ ret = kctl->get(kctl, control); snd_power_unref(card); if (ret < 0) - return ret; + goto unlock; if (!snd_ctl_skip_validation(&info) && sanity_check_elem_value(card, control, &info, pattern) < 0) { dev_err(card->dev, @@ -1101,8 +1107,11 @@ control->id.iface, control->id.device, control->id.subdevice, control->id.name, control->id.index); - return -EINVAL; + ret = -EINVAL; + goto unlock; } +unlock: + up_read(&card->controls_rwsem); return ret; } @@ -1116,9 +1125,7 @@ if (IS_ERR(control)) return PTR_ERR(control); - down_read(&card->controls_rwsem); result = snd_ctl_elem_read(card, control); - up_read(&card->controls_rwsem); if (result < 0) goto error; @@ -2002,7 +2009,7 @@ struct snd_ctl_file *ctl; ctl = file->private_data; - return fasync_helper(fd, file, on, &ctl->fasync); + return snd_fasync_helper(fd, file, on, &ctl->fasync); } /* return the preferred subdevice number if already assigned; @@ -2170,7 +2177,7 @@ read_lock_irqsave(&card->ctl_files_rwlock, flags); list_for_each_entry(ctl, &card->ctl_files, list) { wake_up(&ctl->change_sleep); - kill_fasync(&ctl->fasync, SIGIO, POLL_ERR); + snd_kill_fasync(ctl->fasync, SIGIO, POLL_ERR); } read_unlock_irqrestore(&card->ctl_files_rwlock, flags); --- linux-gcp-5.19.0.orig/sound/core/control_led.c +++ linux-gcp-5.19.0/sound/core/control_led.c @@ -530,12 +530,11 @@ bool attach) { char buf2[256], *s, *os; - size_t len = max(sizeof(s) - 1, count); struct snd_ctl_elem_id id; int err; - strncpy(buf2, buf, len); - buf2[len] = '\0'; + if (strscpy(buf2, buf, sizeof(buf2)) < 0) + return -E2BIG; memset(&id, 0, sizeof(id)); id.iface = SNDRV_CTL_ELEM_IFACE_MIXER; s = buf2; --- linux-gcp-5.19.0.orig/sound/core/info.c +++ linux-gcp-5.19.0/sound/core/info.c @@ -111,9 +111,9 @@ entry = data->entry; mutex_lock(&entry->access); if (entry->c.ops->llseek) { - offset = entry->c.ops->llseek(entry, - data->file_private_data, - file, offset, orig); + ret = entry->c.ops->llseek(entry, + data->file_private_data, + file, offset, orig); goto out; } --- linux-gcp-5.19.0.orig/sound/core/init.c +++ linux-gcp-5.19.0/sound/core/init.c @@ -178,10 +178,8 @@ return -ENOMEM; err = snd_card_init(card, parent, idx, xid, module, extra_size); - if (err < 0) { - kfree(card); - return err; - } + if (err < 0) + return err; /* card is freed by error handler */ *card_ret = card; return 0; @@ -231,7 +229,7 @@ card->managed = true; err = snd_card_init(card, parent, idx, xid, module, extra_size); if (err < 0) { - devres_free(card); + devres_free(card); /* in managed mode, we need to free manually */ return err; } @@ -293,6 +291,8 @@ mutex_unlock(&snd_card_mutex); dev_err(parent, "cannot find the slot for index %d (range 0-%i), error: %d\n", idx, snd_ecards_limit - 1, err); + if (!card->managed) + kfree(card); /* manually free here, as no destructor called */ return err; } set_bit(idx, snd_cards_lock); /* lock it */ --- linux-gcp-5.19.0.orig/sound/core/memalloc.c +++ linux-gcp-5.19.0/sound/core/memalloc.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -18,17 +19,17 @@ #include #include "memalloc_local.h" +#define DEFAULT_GFP \ + (GFP_KERNEL | \ + __GFP_COMP | /* compound page lets parts be mapped */ \ + __GFP_NORETRY | /* don't trigger OOM-killer */ \ + __GFP_NOWARN) /* no stack trace print - this call is non-critical */ + static const struct snd_malloc_ops *snd_dma_get_ops(struct snd_dma_buffer *dmab); -/* a cast to gfp flag from the dev pointer; for CONTINUOUS and VMALLOC types */ -static inline gfp_t snd_mem_get_gfp_flags(const struct snd_dma_buffer *dmab, - gfp_t default_gfp) -{ - if (!dmab->dev.dev) - return default_gfp; - else - return (__force gfp_t)(unsigned long)dmab->dev.dev; -} +#ifdef CONFIG_SND_DMA_SGBUF +static void *snd_dma_sg_fallback_alloc(struct snd_dma_buffer *dmab, size_t size); +#endif static void *__snd_dma_alloc_pages(struct snd_dma_buffer *dmab, size_t size) { @@ -269,19 +270,54 @@ /* * Continuous pages allocator */ -static void *snd_dma_continuous_alloc(struct snd_dma_buffer *dmab, size_t size) +static void *do_alloc_pages(struct device *dev, size_t size, dma_addr_t *addr, + bool wc) { - gfp_t gfp = snd_mem_get_gfp_flags(dmab, GFP_KERNEL); - void *p = alloc_pages_exact(size, gfp); + void *p; + gfp_t gfp = GFP_KERNEL | __GFP_NORETRY | __GFP_NOWARN; - if (p) - dmab->addr = page_to_phys(virt_to_page(p)); + again: + p = alloc_pages_exact(size, gfp); + if (!p) + return NULL; + *addr = page_to_phys(virt_to_page(p)); + if (!dev) + return p; + if ((*addr + size - 1) & ~dev->coherent_dma_mask) { + if (IS_ENABLED(CONFIG_ZONE_DMA32) && !(gfp & GFP_DMA32)) { + gfp |= GFP_DMA32; + goto again; + } + if (IS_ENABLED(CONFIG_ZONE_DMA) && !(gfp & GFP_DMA)) { + gfp = (gfp & ~GFP_DMA32) | GFP_DMA; + goto again; + } + } +#ifdef CONFIG_X86 + if (wc) + set_memory_wc((unsigned long)(p), size >> PAGE_SHIFT); +#endif return p; } +static void do_free_pages(void *p, size_t size, bool wc) +{ +#ifdef CONFIG_X86 + if (wc) + set_memory_wb((unsigned long)(p), size >> PAGE_SHIFT); +#endif + free_pages_exact(p, size); +} + + +static void *snd_dma_continuous_alloc(struct snd_dma_buffer *dmab, size_t size) +{ + return do_alloc_pages(dmab->dev.dev, size, &dmab->addr, false); +} + static void snd_dma_continuous_free(struct snd_dma_buffer *dmab) { - free_pages_exact(dmab->area, dmab->bytes); + do_free_pages(dmab->area, dmab->bytes, false); } static int snd_dma_continuous_mmap(struct snd_dma_buffer *dmab, @@ -304,9 +340,7 @@ */ static void *snd_dma_vmalloc_alloc(struct snd_dma_buffer *dmab, size_t size) { - gfp_t gfp = snd_mem_get_gfp_flags(dmab, GFP_KERNEL | __GFP_HIGHMEM); - - return __vmalloc(size, gfp); + return vmalloc(size); } static void snd_dma_vmalloc_free(struct snd_dma_buffer *dmab) @@ -420,12 +454,6 @@ }; #endif /* CONFIG_GENERIC_ALLOCATOR */ -#define DEFAULT_GFP \ - (GFP_KERNEL | \ - __GFP_COMP | /* compound page lets parts be mapped */ \ - __GFP_NORETRY | /* don't trigger OOM-killer */ \ - __GFP_NOWARN) /* no stack trace print - this call is non-critical */ - /* * Coherent device pages allocator */ @@ -455,6 +483,25 @@ /* * Write-combined pages */ +/* x86-specific allocations */ +#ifdef CONFIG_SND_DMA_SGBUF +static void *snd_dma_wc_alloc(struct snd_dma_buffer *dmab, size_t size) +{ + return do_alloc_pages(dmab->dev.dev, size, &dmab->addr, true); +} + +static void snd_dma_wc_free(struct snd_dma_buffer *dmab) +{ + do_free_pages(dmab->area, dmab->bytes, true); +} + +static int snd_dma_wc_mmap(struct snd_dma_buffer *dmab, + struct vm_area_struct *area) +{ + area->vm_page_prot = pgprot_writecombine(area->vm_page_prot); + return snd_dma_continuous_mmap(dmab, area); +} +#else static void *snd_dma_wc_alloc(struct snd_dma_buffer *dmab, size_t size) { return dma_alloc_wc(dmab->dev.dev, size, &dmab->addr, DEFAULT_GFP); @@ -471,6 +518,7 @@ return dma_mmap_wc(dmab->dev.dev, area, dmab->area, dmab->addr, dmab->bytes); } +#endif /* CONFIG_SND_DMA_SGBUF */ static const struct snd_malloc_ops snd_dma_wc_ops = { .alloc = snd_dma_wc_alloc, @@ -478,10 +526,6 @@ .mmap = snd_dma_wc_mmap, }; -#ifdef CONFIG_SND_DMA_SGBUF -static void *snd_dma_sg_fallback_alloc(struct snd_dma_buffer *dmab, size_t size); -#endif - /* * Non-contiguous pages allocator */ @@ -490,27 +534,29 @@ struct sg_table *sgt; void *p; +#ifdef CONFIG_SND_DMA_SGBUF + if (cpu_feature_enabled(X86_FEATURE_XENPV)) + return snd_dma_sg_fallback_alloc(dmab, size); +#endif sgt = dma_alloc_noncontiguous(dmab->dev.dev, size, dmab->dev.dir, DEFAULT_GFP, 0); - if (!sgt) { #ifdef CONFIG_SND_DMA_SGBUF - if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG) - dmab->dev.type = SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK; - else - dmab->dev.type = SNDRV_DMA_TYPE_DEV_SG_FALLBACK; + if (!sgt && !get_dma_ops(dmab->dev.dev)) return snd_dma_sg_fallback_alloc(dmab, size); -#else - return NULL; #endif - } + if (!sgt) + return NULL; dmab->dev.need_sync = dma_need_sync(dmab->dev.dev, sg_dma_address(sgt->sgl)); p = dma_vmap_noncontiguous(dmab->dev.dev, size, sgt); - if (p) + if (p) { dmab->private_data = sgt; - else + /* store the first page address for convenience */ + dmab->addr = snd_sgbuf_get_addr(dmab, 0); + } else { dma_free_noncontiguous(dmab->dev.dev, size, sgt, dmab->dev.dir); + } return p; } @@ -663,22 +709,36 @@ /* Fallback SG-buffer allocations for x86 */ struct snd_dma_sg_fallback { + bool use_dma_alloc_coherent; size_t count; struct page **pages; + /* DMA address array; the first page contains #pages in ~PAGE_MASK */ dma_addr_t *addrs; }; static void __snd_dma_sg_fallback_free(struct snd_dma_buffer *dmab, struct snd_dma_sg_fallback *sgbuf) { - size_t i; + size_t i, size; - if (sgbuf->count && dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK) - set_pages_array_wb(sgbuf->pages, sgbuf->count); - for (i = 0; i < sgbuf->count && sgbuf->pages[i]; i++) - dma_free_coherent(dmab->dev.dev, PAGE_SIZE, - page_address(sgbuf->pages[i]), - sgbuf->addrs[i]); + if (sgbuf->pages && sgbuf->addrs) { + i = 0; + while (i < sgbuf->count) { + if (!sgbuf->pages[i] || !sgbuf->addrs[i]) + break; + size = sgbuf->addrs[i] & ~PAGE_MASK; + if (WARN_ON(!size)) + break; + if (sgbuf->use_dma_alloc_coherent) + dma_free_coherent(dmab->dev.dev, size << PAGE_SHIFT, + page_address(sgbuf->pages[i]), + sgbuf->addrs[i] & PAGE_MASK); + else + do_free_pages(page_address(sgbuf->pages[i]), + size << PAGE_SHIFT, false); + i += size; + } + } kvfree(sgbuf->pages); kvfree(sgbuf->addrs); kfree(sgbuf); @@ -687,36 +747,69 @@ static void *snd_dma_sg_fallback_alloc(struct snd_dma_buffer *dmab, size_t size) { struct snd_dma_sg_fallback *sgbuf; - struct page **pages; - size_t i, count; + struct page **pagep, *curp; + size_t chunk, npages; + dma_addr_t *addrp; + dma_addr_t addr; void *p; + /* correct the type */ + if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_SG) + dmab->dev.type = SNDRV_DMA_TYPE_DEV_SG_FALLBACK; + else if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG) + dmab->dev.type = SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK; + sgbuf = kzalloc(sizeof(*sgbuf), GFP_KERNEL); if (!sgbuf) return NULL; - count = PAGE_ALIGN(size) >> PAGE_SHIFT; - pages = kvcalloc(count, sizeof(*pages), GFP_KERNEL); - if (!pages) - goto error; - sgbuf->pages = pages; - sgbuf->addrs = kvcalloc(count, sizeof(*sgbuf->addrs), GFP_KERNEL); - if (!sgbuf->addrs) + + sgbuf->use_dma_alloc_coherent = cpu_feature_enabled(X86_FEATURE_XENPV); + size = PAGE_ALIGN(size); + sgbuf->count = size >> PAGE_SHIFT; + sgbuf->pages = kvcalloc(sgbuf->count, sizeof(*sgbuf->pages), GFP_KERNEL); + sgbuf->addrs = kvcalloc(sgbuf->count, sizeof(*sgbuf->addrs), GFP_KERNEL); + if (!sgbuf->pages || !sgbuf->addrs) goto error; - for (i = 0; i < count; sgbuf->count++, i++) { - p = dma_alloc_coherent(dmab->dev.dev, PAGE_SIZE, - &sgbuf->addrs[i], DEFAULT_GFP); - if (!p) - goto error; - sgbuf->pages[i] = virt_to_page(p); + pagep = sgbuf->pages; + addrp = sgbuf->addrs; + chunk = (PAGE_SIZE - 1) << PAGE_SHIFT; /* to fit in low bits in addrs */ + while (size > 0) { + chunk = min(size, chunk); + if (sgbuf->use_dma_alloc_coherent) + p = dma_alloc_coherent(dmab->dev.dev, chunk, &addr, DEFAULT_GFP); + else + p = do_alloc_pages(dmab->dev.dev, chunk, &addr, false); + if (!p) { + if (chunk <= PAGE_SIZE) + goto error; + chunk >>= 1; + chunk = PAGE_SIZE << get_order(chunk); + continue; + } + + size -= chunk; + /* fill pages */ + npages = chunk >> PAGE_SHIFT; + *addrp = npages; /* store in lower bits */ + curp = virt_to_page(p); + while (npages--) { + *pagep++ = curp++; + *addrp++ |= addr; + addr += PAGE_SIZE; + } } - if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK) - set_pages_array_wc(pages, count); - p = vmap(pages, count, VM_MAP, PAGE_KERNEL); + p = vmap(sgbuf->pages, sgbuf->count, VM_MAP, PAGE_KERNEL); if (!p) goto error; + + if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK) + set_pages_array_wc(sgbuf->pages, sgbuf->count); + dmab->private_data = sgbuf; + /* store the first page address for convenience */ + dmab->addr = sgbuf->addrs[0] & PAGE_MASK; return p; error: @@ -726,10 +819,23 @@ static void snd_dma_sg_fallback_free(struct snd_dma_buffer *dmab) { + struct snd_dma_sg_fallback *sgbuf = dmab->private_data; + + if (dmab->dev.type == SNDRV_DMA_TYPE_DEV_WC_SG_FALLBACK) + set_pages_array_wb(sgbuf->pages, sgbuf->count); vunmap(dmab->area); __snd_dma_sg_fallback_free(dmab, dmab->private_data); } +static dma_addr_t snd_dma_sg_fallback_get_addr(struct snd_dma_buffer *dmab, + size_t offset) +{ + struct snd_dma_sg_fallback *sgbuf = dmab->private_data; + size_t index = offset >> PAGE_SHIFT; + + return (sgbuf->addrs[index] & PAGE_MASK) | (offset & ~PAGE_MASK); +} + static int snd_dma_sg_fallback_mmap(struct snd_dma_buffer *dmab, struct vm_area_struct *area) { @@ -744,8 +850,8 @@ .alloc = snd_dma_sg_fallback_alloc, .free = snd_dma_sg_fallback_free, .mmap = snd_dma_sg_fallback_mmap, + .get_addr = snd_dma_sg_fallback_get_addr, /* reuse vmalloc helpers */ - .get_addr = snd_dma_vmalloc_get_addr, .get_page = snd_dma_vmalloc_get_page, .get_chunk_size = snd_dma_vmalloc_get_chunk_size, }; @@ -806,7 +912,7 @@ /* * Entry points */ -static const struct snd_malloc_ops *dma_ops[] = { +static const struct snd_malloc_ops *snd_dma_ops[] = { [SNDRV_DMA_TYPE_CONTINUOUS] = &snd_dma_continuous_ops, [SNDRV_DMA_TYPE_VMALLOC] = &snd_dma_vmalloc_ops, #ifdef CONFIG_HAS_DMA @@ -832,7 +938,7 @@ if (WARN_ON_ONCE(!dmab)) return NULL; if (WARN_ON_ONCE(dmab->dev.type <= SNDRV_DMA_TYPE_UNKNOWN || - dmab->dev.type >= ARRAY_SIZE(dma_ops))) + dmab->dev.type >= ARRAY_SIZE(snd_dma_ops))) return NULL; - return dma_ops[dmab->dev.type]; + return snd_dma_ops[dmab->dev.type]; } --- linux-gcp-5.19.0.orig/sound/core/misc.c +++ linux-gcp-5.19.0/sound/core/misc.c @@ -10,6 +10,7 @@ #include #include #include +#include #include #ifdef CONFIG_SND_DEBUG @@ -145,3 +146,96 @@ } EXPORT_SYMBOL(snd_pci_quirk_lookup); #endif + +/* + * Deferred async signal helpers + * + * Below are a few helper functions to wrap the async signal handling + * in the deferred work. The main purpose is to avoid the messy deadlock + * around tasklist_lock and co at the kill_fasync() invocation. + * fasync_helper() and kill_fasync() are replaced with snd_fasync_helper() + * and snd_kill_fasync(), respectively. In addition, snd_fasync_free() has + * to be called at releasing the relevant file object. + */ +struct snd_fasync { + struct fasync_struct *fasync; + int signal; + int poll; + int on; + struct list_head list; +}; + +static DEFINE_SPINLOCK(snd_fasync_lock); +static LIST_HEAD(snd_fasync_list); + +static void snd_fasync_work_fn(struct work_struct *work) +{ + struct snd_fasync *fasync; + + spin_lock_irq(&snd_fasync_lock); + while (!list_empty(&snd_fasync_list)) { + fasync = list_first_entry(&snd_fasync_list, struct snd_fasync, list); + list_del_init(&fasync->list); + spin_unlock_irq(&snd_fasync_lock); + if (fasync->on) + kill_fasync(&fasync->fasync, fasync->signal, fasync->poll); + spin_lock_irq(&snd_fasync_lock); + } + spin_unlock_irq(&snd_fasync_lock); +} + +static DECLARE_WORK(snd_fasync_work, snd_fasync_work_fn); + +int snd_fasync_helper(int fd, struct file *file, int on, + struct snd_fasync **fasyncp) +{ + struct snd_fasync *fasync = NULL; + + if (on) { + fasync = kzalloc(sizeof(*fasync), GFP_KERNEL); + if (!fasync) + return -ENOMEM; + INIT_LIST_HEAD(&fasync->list); + } + + spin_lock_irq(&snd_fasync_lock); + if (*fasyncp) { + kfree(fasync); + fasync = *fasyncp; + } else { + if (!fasync) { + spin_unlock_irq(&snd_fasync_lock); + return 0; + } + *fasyncp = fasync; + } + fasync->on = on; + spin_unlock_irq(&snd_fasync_lock); + return fasync_helper(fd, file, on, &fasync->fasync); +} +EXPORT_SYMBOL_GPL(snd_fasync_helper); + +void snd_kill_fasync(struct snd_fasync *fasync, int signal, int poll) +{ + unsigned long flags; + + if (!fasync || !fasync->on) + return; + spin_lock_irqsave(&snd_fasync_lock, flags); + fasync->signal = signal; + fasync->poll = poll; + list_move(&fasync->list, &snd_fasync_list); + schedule_work(&snd_fasync_work); + spin_unlock_irqrestore(&snd_fasync_lock, flags); +} +EXPORT_SYMBOL_GPL(snd_kill_fasync); + +void snd_fasync_free(struct snd_fasync *fasync) +{ + if (!fasync) + return; + fasync->on = 0; + flush_work(&snd_fasync_work); + kfree(fasync); +} +EXPORT_SYMBOL_GPL(snd_fasync_free); --- linux-gcp-5.19.0.orig/sound/core/oss/pcm_oss.c +++ linux-gcp-5.19.0/sound/core/oss/pcm_oss.c @@ -1672,14 +1672,14 @@ runtime = substream->runtime; if (atomic_read(&substream->mmap_count)) goto __direct; - err = snd_pcm_oss_make_ready(substream); - if (err < 0) - return err; atomic_inc(&runtime->oss.rw_ref); if (mutex_lock_interruptible(&runtime->oss.params_lock)) { atomic_dec(&runtime->oss.rw_ref); return -ERESTARTSYS; } + err = snd_pcm_oss_make_ready_locked(substream); + if (err < 0) + goto unlock; format = snd_pcm_oss_format_from(runtime->oss.format); width = snd_pcm_format_physical_width(format); if (runtime->oss.buffer_used > 0) { --- linux-gcp-5.19.0.orig/sound/core/pcm.c +++ linux-gcp-5.19.0/sound/core/pcm.c @@ -1005,6 +1005,7 @@ substream->runtime = NULL; } mutex_destroy(&runtime->buffer_mutex); + snd_fasync_free(runtime->fasync); kfree(runtime); put_pid(substream->pid); substream->pid = NULL; --- linux-gcp-5.19.0.orig/sound/core/pcm_dmaengine.c +++ linux-gcp-5.19.0/sound/core/pcm_dmaengine.c @@ -131,12 +131,14 @@ static void dmaengine_pcm_dma_complete(void *arg) { + unsigned int new_pos; struct snd_pcm_substream *substream = arg; struct dmaengine_pcm_runtime_data *prtd = substream_to_prtd(substream); - prtd->pos += snd_pcm_lib_period_bytes(substream); - if (prtd->pos >= snd_pcm_lib_buffer_bytes(substream)) - prtd->pos = 0; + new_pos = prtd->pos + snd_pcm_lib_period_bytes(substream); + if (new_pos >= snd_pcm_lib_buffer_bytes(substream)) + new_pos = 0; + prtd->pos = new_pos; snd_pcm_period_elapsed(substream); } --- linux-gcp-5.19.0.orig/sound/core/pcm_lib.c +++ linux-gcp-5.19.0/sound/core/pcm_lib.c @@ -1822,7 +1822,7 @@ snd_timer_interrupt(substream->timer, 1); #endif _end: - kill_fasync(&runtime->fasync, SIGIO, POLL_IN); + snd_kill_fasync(runtime->fasync, SIGIO, POLL_IN); } EXPORT_SYMBOL(snd_pcm_period_elapsed_under_stream_lock); @@ -1906,9 +1906,11 @@ if (avail >= runtime->twake) break; snd_pcm_stream_unlock_irq(substream); + mutex_unlock(&runtime->buffer_mutex); tout = schedule_timeout(wait_time); + mutex_lock(&runtime->buffer_mutex); snd_pcm_stream_lock_irq(substream); set_current_state(TASK_INTERRUPTIBLE); switch (runtime->status->state) { @@ -2219,6 +2221,7 @@ nonblock = !!(substream->f_flags & O_NONBLOCK); + mutex_lock(&runtime->buffer_mutex); snd_pcm_stream_lock_irq(substream); err = pcm_accessible_state(runtime); if (err < 0) @@ -2315,6 +2318,7 @@ if (xfer > 0 && err >= 0) snd_pcm_update_state(substream, runtime); snd_pcm_stream_unlock_irq(substream); + mutex_unlock(&runtime->buffer_mutex); return xfer > 0 ? (snd_pcm_sframes_t)xfer : err; } EXPORT_SYMBOL(__snd_pcm_lib_xfer); --- linux-gcp-5.19.0.orig/sound/core/pcm_native.c +++ linux-gcp-5.19.0/sound/core/pcm_native.c @@ -1432,8 +1432,10 @@ static void snd_pcm_undo_start(struct snd_pcm_substream *substream, snd_pcm_state_t state) { - if (substream->runtime->trigger_master == substream) + if (substream->runtime->trigger_master == substream) { substream->ops->trigger(substream, SNDRV_PCM_TRIGGER_STOP); + substream->runtime->stop_operating = true; + } } static void snd_pcm_post_start(struct snd_pcm_substream *substream, @@ -3945,7 +3947,7 @@ runtime = substream->runtime; if (runtime->status->state == SNDRV_PCM_STATE_DISCONNECTED) return -EBADFD; - return fasync_helper(fd, file, on, &runtime->fasync); + return snd_fasync_helper(fd, file, on, &runtime->fasync); } /* --- linux-gcp-5.19.0.orig/sound/core/rawmidi.c +++ linux-gcp-5.19.0/sound/core/rawmidi.c @@ -1835,10 +1835,8 @@ snd_info_free_entry(rmidi->proc_entry); rmidi->proc_entry = NULL; - mutex_lock(®ister_mutex); if (rmidi->ops && rmidi->ops->dev_unregister) rmidi->ops->dev_unregister(rmidi); - mutex_unlock(®ister_mutex); snd_rawmidi_free_substreams(&rmidi->streams[SNDRV_RAWMIDI_STREAM_INPUT]); snd_rawmidi_free_substreams(&rmidi->streams[SNDRV_RAWMIDI_STREAM_OUTPUT]); --- linux-gcp-5.19.0.orig/sound/core/seq/oss/seq_oss_midi.c +++ linux-gcp-5.19.0/sound/core/seq/oss/seq_oss_midi.c @@ -270,7 +270,9 @@ void snd_seq_oss_midi_setup(struct seq_oss_devinfo *dp) { + spin_lock_irq(®ister_lock); dp->max_mididev = max_midi_devs; + spin_unlock_irq(®ister_lock); } /* --- linux-gcp-5.19.0.orig/sound/core/seq/seq_clientmgr.c +++ linux-gcp-5.19.0/sound/core/seq/seq_clientmgr.c @@ -121,13 +121,13 @@ spin_unlock_irqrestore(&clients_lock, flags); #ifdef CONFIG_MODULES if (!in_interrupt()) { - static char client_requested[SNDRV_SEQ_GLOBAL_CLIENTS]; - static char card_requested[SNDRV_CARDS]; + static DECLARE_BITMAP(client_requested, SNDRV_SEQ_GLOBAL_CLIENTS); + static DECLARE_BITMAP(card_requested, SNDRV_CARDS); + if (clientid < SNDRV_SEQ_GLOBAL_CLIENTS) { int idx; - if (!client_requested[clientid]) { - client_requested[clientid] = 1; + if (!test_and_set_bit(clientid, client_requested)) { for (idx = 0; idx < 15; idx++) { if (seq_client_load[idx] < 0) break; @@ -142,10 +142,8 @@ int card = (clientid - SNDRV_SEQ_GLOBAL_CLIENTS) / SNDRV_SEQ_CLIENTS_PER_CARD; if (card < snd_ecards_limit) { - if (! card_requested[card]) { - card_requested[card] = 1; + if (!test_and_set_bit(card, card_requested)) snd_request_card(card); - } snd_seq_device_load_drivers(); } } --- linux-gcp-5.19.0.orig/sound/core/seq/seq_memory.c +++ linux-gcp-5.19.0/sound/core/seq/seq_memory.c @@ -113,15 +113,19 @@ * expand the variable length event to linear buffer space. */ -static int seq_copy_in_kernel(char **bufptr, const void *src, int size) +static int seq_copy_in_kernel(void *ptr, void *src, int size) { + char **bufptr = ptr; + memcpy(*bufptr, src, size); *bufptr += size; return 0; } -static int seq_copy_in_user(char __user **bufptr, const void *src, int size) +static int seq_copy_in_user(void *ptr, void *src, int size) { + char __user **bufptr = ptr; + if (copy_to_user(*bufptr, src, size)) return -EFAULT; *bufptr += size; @@ -151,8 +155,7 @@ return newlen; } err = snd_seq_dump_var_event(event, - in_kernel ? (snd_seq_dump_func_t)seq_copy_in_kernel : - (snd_seq_dump_func_t)seq_copy_in_user, + in_kernel ? seq_copy_in_kernel : seq_copy_in_user, &buf); return err < 0 ? err : newlen; } --- linux-gcp-5.19.0.orig/sound/core/sound_oss.c +++ linux-gcp-5.19.0/sound/core/sound_oss.c @@ -162,7 +162,6 @@ mutex_unlock(&sound_oss_mutex); return -ENOENT; } - unregister_sound_special(minor); switch (SNDRV_MINOR_OSS_DEVICE(minor)) { case SNDRV_MINOR_OSS_PCM: track2 = SNDRV_MINOR_OSS(cidx, SNDRV_MINOR_OSS_AUDIO); @@ -174,12 +173,18 @@ track2 = SNDRV_MINOR_OSS(cidx, SNDRV_MINOR_OSS_DMMIDI1); break; } - if (track2 >= 0) { - unregister_sound_special(track2); + if (track2 >= 0) snd_oss_minors[track2] = NULL; - } snd_oss_minors[minor] = NULL; mutex_unlock(&sound_oss_mutex); + + /* call unregister_sound_special() outside sound_oss_mutex; + * otherwise may deadlock, as it can trigger the release of a card + */ + unregister_sound_special(minor); + if (track2 >= 0) + unregister_sound_special(track2); + kfree(mptr); return 0; } --- linux-gcp-5.19.0.orig/sound/core/timer.c +++ linux-gcp-5.19.0/sound/core/timer.c @@ -83,7 +83,7 @@ unsigned int filter; struct timespec64 tstamp; /* trigger tstamp */ wait_queue_head_t qchange_sleep; - struct fasync_struct *fasync; + struct snd_fasync *fasync; struct mutex ioctl_lock; }; @@ -1345,7 +1345,7 @@ } __wake: spin_unlock(&tu->qlock); - kill_fasync(&tu->fasync, SIGIO, POLL_IN); + snd_kill_fasync(tu->fasync, SIGIO, POLL_IN); wake_up(&tu->qchange_sleep); } @@ -1383,7 +1383,7 @@ spin_lock_irqsave(&tu->qlock, flags); snd_timer_user_append_to_tqueue(tu, &r1); spin_unlock_irqrestore(&tu->qlock, flags); - kill_fasync(&tu->fasync, SIGIO, POLL_IN); + snd_kill_fasync(tu->fasync, SIGIO, POLL_IN); wake_up(&tu->qchange_sleep); } @@ -1453,7 +1453,7 @@ spin_unlock(&tu->qlock); if (append == 0) return; - kill_fasync(&tu->fasync, SIGIO, POLL_IN); + snd_kill_fasync(tu->fasync, SIGIO, POLL_IN); wake_up(&tu->qchange_sleep); } @@ -1521,6 +1521,7 @@ snd_timer_instance_free(tu->timeri); } mutex_unlock(&tu->ioctl_lock); + snd_fasync_free(tu->fasync); kfree(tu->queue); kfree(tu->tqueue); kfree(tu); @@ -2135,7 +2136,7 @@ struct snd_timer_user *tu; tu = file->private_data; - return fasync_helper(fd, file, on, &tu->fasync); + return snd_fasync_helper(fd, file, on, &tu->fasync); } static ssize_t snd_timer_user_read(struct file *file, char __user *buffer, --- linux-gcp-5.19.0.orig/sound/drivers/aloop.c +++ linux-gcp-5.19.0/sound/drivers/aloop.c @@ -605,17 +605,18 @@ cable->streams[SNDRV_PCM_STREAM_PLAYBACK]; struct loopback_pcm *dpcm_capt = cable->streams[SNDRV_PCM_STREAM_CAPTURE]; - unsigned long delta_play = 0, delta_capt = 0; + unsigned long delta_play = 0, delta_capt = 0, cur_jiffies; unsigned int running, count1, count2; + cur_jiffies = jiffies; running = cable->running ^ cable->pause; if (running & (1 << SNDRV_PCM_STREAM_PLAYBACK)) { - delta_play = jiffies - dpcm_play->last_jiffies; + delta_play = cur_jiffies - dpcm_play->last_jiffies; dpcm_play->last_jiffies += delta_play; } if (running & (1 << SNDRV_PCM_STREAM_CAPTURE)) { - delta_capt = jiffies - dpcm_capt->last_jiffies; + delta_capt = cur_jiffies - dpcm_capt->last_jiffies; dpcm_capt->last_jiffies += delta_capt; } --- linux-gcp-5.19.0.orig/sound/drivers/mts64.c +++ linux-gcp-5.19.0/sound/drivers/mts64.c @@ -815,6 +815,9 @@ u8 status, data; struct snd_rawmidi_substream *substream; + if (!mts) + return; + spin_lock(&mts->lock); ret = mts64_read(mts->pardev->port); data = ret & 0x00ff; --- linux-gcp-5.19.0.orig/sound/drivers/vx/vx_pcm.c +++ linux-gcp-5.19.0/sound/drivers/vx/vx_pcm.c @@ -1215,8 +1215,7 @@ if (ins) snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &vx_pcm_capture_ops); snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_VMALLOC, - snd_dma_continuous_data(GFP_KERNEL | GFP_DMA32), - 0, 0); + NULL, 0, 0); pcm->private_data = chip; pcm->private_free = snd_vx_pcm_free; --- linux-gcp-5.19.0.orig/sound/firewire/dice/dice-stream.c +++ linux-gcp-5.19.0/sound/firewire/dice/dice-stream.c @@ -59,7 +59,7 @@ static int select_clock(struct snd_dice *dice, unsigned int rate) { - __be32 reg; + __be32 reg, new; u32 data; int i; int err; @@ -83,15 +83,17 @@ if (completion_done(&dice->clock_accepted)) reinit_completion(&dice->clock_accepted); - reg = cpu_to_be32(data); + new = cpu_to_be32(data); err = snd_dice_transaction_write_global(dice, GLOBAL_CLOCK_SELECT, - ®, sizeof(reg)); + &new, sizeof(new)); if (err < 0) return err; if (wait_for_completion_timeout(&dice->clock_accepted, - msecs_to_jiffies(NOTIFICATION_TIMEOUT_MS)) == 0) - return -ETIMEDOUT; + msecs_to_jiffies(NOTIFICATION_TIMEOUT_MS)) == 0) { + if (reg != new) + return -ETIMEDOUT; + } return 0; } --- linux-gcp-5.19.0.orig/sound/firewire/motu/motu-hwdep.c +++ linux-gcp-5.19.0/sound/firewire/motu/motu-hwdep.c @@ -87,6 +87,10 @@ return -EFAULT; count = consumed; + } else { + spin_unlock_irq(&motu->lock); + + count = 0; } return count; --- linux-gcp-5.19.0.orig/sound/hda/hdac_stream.c +++ linux-gcp-5.19.0/sound/hda/hdac_stream.c @@ -143,16 +143,27 @@ EXPORT_SYMBOL_GPL(snd_hdac_stream_stop); /** + * snd_hdac_stop_streams - stop all streams + * @bus: HD-audio core bus + */ +void snd_hdac_stop_streams(struct hdac_bus *bus) +{ + struct hdac_stream *stream; + + list_for_each_entry(stream, &bus->stream_list, list) + snd_hdac_stream_stop(stream); +} +EXPORT_SYMBOL_GPL(snd_hdac_stop_streams); + +/** * snd_hdac_stop_streams_and_chip - stop all streams and chip if running * @bus: HD-audio core bus */ void snd_hdac_stop_streams_and_chip(struct hdac_bus *bus) { - struct hdac_stream *stream; if (bus->chip_init) { - list_for_each_entry(stream, &bus->stream_list, list) - snd_hdac_stream_stop(stream); + snd_hdac_stop_streams(bus); snd_hdac_bus_stop_chip(bus); } } --- linux-gcp-5.19.0.orig/sound/hda/hdac_sysfs.c +++ linux-gcp-5.19.0/sound/hda/hdac_sysfs.c @@ -346,8 +346,10 @@ return -ENOMEM; kobject_init(kobj, &widget_ktype); err = kobject_add(kobj, parent, "%02x", nid); - if (err < 0) + if (err < 0) { + kobject_put(kobj); return err; + } err = sysfs_create_group(kobj, group); if (err < 0) { kobject_put(kobj); --- linux-gcp-5.19.0.orig/sound/hda/intel-dsp-config.c +++ linux-gcp-5.19.0/sound/hda/intel-dsp-config.c @@ -321,6 +321,11 @@ } }, { + .flags = FLAG_SOF, + .device = 0x34c8, + .codec_hid = &essx_83x6, + }, + { .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE, .device = 0x34c8, }, @@ -423,6 +428,11 @@ }, /* Alderlake-PS */ { + .flags = FLAG_SOF, + .device = 0x51c9, + .codec_hid = &essx_83x6, + }, + { .flags = FLAG_SOF | FLAG_SOF_ONLY_IF_DMIC_OR_SOUNDWIRE, .device = 0x51c9, }, --- linux-gcp-5.19.0.orig/sound/hda/intel-nhlt.c +++ linux-gcp-5.19.0/sound/hda/intel-nhlt.c @@ -55,16 +55,22 @@ /* find max number of channels based on format_configuration */ if (fmt_configs->fmt_count) { + struct nhlt_fmt_cfg *fmt_cfg = fmt_configs->fmt_config; + dev_dbg(dev, "found %d format definitions\n", fmt_configs->fmt_count); for (i = 0; i < fmt_configs->fmt_count; i++) { struct wav_fmt_ext *fmt_ext; - fmt_ext = &fmt_configs->fmt_config[i].fmt_ext; + fmt_ext = &fmt_cfg->fmt_ext; if (fmt_ext->fmt.channels > max_ch) max_ch = fmt_ext->fmt.channels; + + /* Move to the next nhlt_fmt_cfg */ + fmt_cfg = (struct nhlt_fmt_cfg *)(fmt_cfg->config.caps + + fmt_cfg->config.size); } dev_dbg(dev, "max channels found %d\n", max_ch); } else { --- linux-gcp-5.19.0.orig/sound/pci/ac97/ac97_codec.c +++ linux-gcp-5.19.0/sound/pci/ac97/ac97_codec.c @@ -2009,6 +2009,7 @@ err = device_register(&ac97->dev); if (err < 0) { ac97_err(ac97, "Can't register ac97 bus\n"); + put_device(&ac97->dev); ac97->dev.bus = NULL; return err; } --- linux-gcp-5.19.0.orig/sound/pci/asihpi/hpioctl.c +++ linux-gcp-5.19.0/sound/pci/asihpi/hpioctl.c @@ -361,7 +361,7 @@ pci_dev->device, pci_dev->subsystem_vendor, pci_dev->subsystem_device, pci_dev->devfn); - if (pci_enable_device(pci_dev) < 0) { + if (pcim_enable_device(pci_dev) < 0) { dev_err(&pci_dev->dev, "pci_enable_device failed, disabling device\n"); return -EIO; --- linux-gcp-5.19.0.orig/sound/pci/au88x0/au88x0.h +++ linux-gcp-5.19.0/sound/pci/au88x0/au88x0.h @@ -141,7 +141,7 @@ #ifndef CHIP_AU8810 stream_t dma_wt[NR_WT]; wt_voice_t wt_voice[NR_WT]; /* WT register cache. */ - char mixwt[(NR_WT / NR_WTPB) * 6]; /* WT mixin objects */ + s8 mixwt[(NR_WT / NR_WTPB) * 6]; /* WT mixin objects */ #endif /* Global resources */ @@ -235,8 +235,8 @@ static void vortex_connect_default(vortex_t * vortex, int en); static int vortex_adb_allocroute(vortex_t * vortex, int dma, int nr_ch, int dir, int type, int subdev); -static char vortex_adb_checkinout(vortex_t * vortex, int resmap[], int out, - int restype); +static int vortex_adb_checkinout(vortex_t * vortex, int resmap[], int out, + int restype); #ifndef CHIP_AU8810 static int vortex_wt_allocroute(vortex_t * vortex, int dma, int nr_ch); static void vortex_wt_connect(vortex_t * vortex, int en); --- linux-gcp-5.19.0.orig/sound/pci/au88x0/au88x0_core.c +++ linux-gcp-5.19.0/sound/pci/au88x0/au88x0_core.c @@ -1998,7 +1998,7 @@ out: Mean checkout if != 0. Else mean Checkin resource. restype: Indicates type of resource to be checked in or out. */ -static char +static int vortex_adb_checkinout(vortex_t * vortex, int resmap[], int out, int restype) { int i, qty = resnum[restype], resinuse = 0; --- linux-gcp-5.19.0.orig/sound/pci/emu10k1/emupcm.c +++ linux-gcp-5.19.0/sound/pci/emu10k1/emupcm.c @@ -124,7 +124,7 @@ epcm->voices[0]->epcm = epcm; if (voices > 1) { for (i = 1; i < voices; i++) { - epcm->voices[i] = &epcm->emu->voices[epcm->voices[0]->number + i]; + epcm->voices[i] = &epcm->emu->voices[(epcm->voices[0]->number + i) % NUM_G]; epcm->voices[i]->epcm = epcm; } } --- linux-gcp-5.19.0.orig/sound/pci/hda/Kconfig +++ linux-gcp-5.19.0/sound/pci/hda/Kconfig @@ -93,16 +93,21 @@ config SND_HDA_SCODEC_CS35L41 tristate + select SND_HDA_GENERIC + select REGMAP_IRQ + +config SND_HDA_CS_DSP_CONTROLS + tristate + select CS_DSP config SND_HDA_SCODEC_CS35L41_I2C tristate "Build CS35L41 HD-audio side codec support for I2C Bus" depends on I2C depends on ACPI depends on SND_SOC - select SND_HDA_GENERIC select SND_SOC_CS35L41_LIB select SND_HDA_SCODEC_CS35L41 - select REGMAP_IRQ + select SND_HDA_CS_DSP_CONTROLS help Say Y or M here to include CS35L41 I2C HD-audio side codec support in snd-hda-intel driver, such as ALC287. @@ -115,10 +120,9 @@ depends on SPI_MASTER depends on ACPI depends on SND_SOC - select SND_HDA_GENERIC select SND_SOC_CS35L41_LIB select SND_HDA_SCODEC_CS35L41 - select REGMAP_IRQ + select SND_HDA_CS_DSP_CONTROLS help Say Y or M here to include CS35L41 SPI HD-audio side codec support in snd-hda-intel driver, such as ALC287. @@ -298,6 +302,20 @@ This feature can impact power consumption as resources are kept reserved both at transmitter and receiver. +config SND_HDA_CTL_DEV_ID + bool "Use the device identifier field for controls" + depends on SND_HDA_INTEL + help + Say Y to use the device identifier field for (mixer) + controls (old behaviour until this option is available). + + When enabled, the multiple HDA codecs may set the device + field in control (mixer) element identifiers. The use + of this field is not recommended and defined for mixer controls. + + The old behaviour (Y) is obsolete and will be removed. Consider + to not enable this option. + endif endmenu --- linux-gcp-5.19.0.orig/sound/pci/hda/Makefile +++ linux-gcp-5.19.0/sound/pci/hda/Makefile @@ -31,6 +31,7 @@ snd-hda-scodec-cs35l41-objs := cs35l41_hda.o snd-hda-scodec-cs35l41-i2c-objs := cs35l41_hda_i2c.o snd-hda-scodec-cs35l41-spi-objs := cs35l41_hda_spi.o +snd-hda-cs-dsp-ctls-objs := hda_cs_dsp_ctl.o # common driver obj-$(CONFIG_SND_HDA) := snd-hda-codec.o @@ -54,6 +55,7 @@ obj-$(CONFIG_SND_HDA_SCODEC_CS35L41) += snd-hda-scodec-cs35l41.o obj-$(CONFIG_SND_HDA_SCODEC_CS35L41_I2C) += snd-hda-scodec-cs35l41-i2c.o obj-$(CONFIG_SND_HDA_SCODEC_CS35L41_SPI) += snd-hda-scodec-cs35l41-spi.o +obj-$(CONFIG_SND_HDA_CS_DSP_CONTROLS) += snd-hda-cs-dsp-ctls.o # this must be the last entry after codec drivers; # otherwise the codec patches won't be hooked before the PCI probe --- linux-gcp-5.19.0.orig/sound/pci/hda/cs35l41_hda.c +++ linux-gcp-5.19.0/sound/pci/hda/cs35l41_hda.c @@ -8,30 +8,464 @@ #include #include +#include #include +#include +#include #include "hda_local.h" #include "hda_auto_parser.h" #include "hda_jack.h" #include "hda_generic.h" #include "hda_component.h" #include "cs35l41_hda.h" +#include "hda_cs_dsp_ctl.h" + +#define CS35L41_FIRMWARE_ROOT "cirrus/" +#define CS35L41_PART "cs35l41" + +#define HALO_STATE_DSP_CTL_NAME "HALO_STATE" +#define HALO_STATE_DSP_CTL_TYPE 5 +#define HALO_STATE_DSP_CTL_ALG 262308 +#define CAL_R_DSP_CTL_NAME "CAL_R" +#define CAL_STATUS_DSP_CTL_NAME "CAL_STATUS" +#define CAL_CHECKSUM_DSP_CTL_NAME "CAL_CHECKSUM" +#define CAL_AMBIENT_DSP_CTL_NAME "CAL_AMBIENT" +#define CAL_DSP_CTL_TYPE 5 +#define CAL_DSP_CTL_ALG 205 + +static bool firmware_autostart = 1; +module_param(firmware_autostart, bool, 0444); +MODULE_PARM_DESC(firmware_autostart, "Allow automatic firmware download on boot" + "(0=Disable, 1=Enable) (default=1); "); static const struct reg_sequence cs35l41_hda_config[] = { { CS35L41_PLL_CLK_CTRL, 0x00000430 }, // 3072000Hz, BCLK Input, PLL_REFCLK_EN = 1 + { CS35L41_DSP_CLK_CTRL, 0x00000003 }, // DSP CLK EN { CS35L41_GLOBAL_CLK_CTRL, 0x00000003 }, // GLOBAL_FS = 48 kHz { CS35L41_SP_ENABLES, 0x00010000 }, // ASP_RX1_EN = 1 { CS35L41_SP_RATE_CTRL, 0x00000021 }, // ASP_BCLK_FREQ = 3.072 MHz { CS35L41_SP_FORMAT, 0x20200200 }, // 32 bits RX/TX slots, I2S, clk consumer + { CS35L41_SP_HIZ_CTRL, 0x00000002 }, // Hi-Z unused + { CS35L41_SP_TX_WL, 0x00000018 }, // 24 cycles/slot + { CS35L41_SP_RX_WL, 0x00000018 }, // 24 cycles/slot { CS35L41_DAC_PCM1_SRC, 0x00000008 }, // DACPCM1_SRC = ASPRX1 + { CS35L41_ASP_TX1_SRC, 0x00000018 }, // ASPTX1 SRC = VMON + { CS35L41_ASP_TX2_SRC, 0x00000019 }, // ASPTX2 SRC = IMON + { CS35L41_ASP_TX3_SRC, 0x00000032 }, // ASPTX3 SRC = ERRVOL + { CS35L41_ASP_TX4_SRC, 0x00000033 }, // ASPTX4 SRC = CLASSH_TGT + { CS35L41_DSP1_RX1_SRC, 0x00000008 }, // DSP1RX1 SRC = ASPRX1 + { CS35L41_DSP1_RX2_SRC, 0x00000009 }, // DSP1RX2 SRC = ASPRX2 + { CS35L41_DSP1_RX3_SRC, 0x00000018 }, // DSP1RX3 SRC = VMON + { CS35L41_DSP1_RX4_SRC, 0x00000019 }, // DSP1RX4 SRC = IMON + { CS35L41_DSP1_RX5_SRC, 0x00000020 }, // DSP1RX5 SRC = ERRVOL { CS35L41_AMP_DIG_VOL_CTRL, 0x00000000 }, // AMP_VOL_PCM 0.0 dB { CS35L41_AMP_GAIN_CTRL, 0x00000084 }, // AMP_GAIN_PCM 4.5 dB }; +static const struct reg_sequence cs35l41_hda_config_dsp[] = { + { CS35L41_PLL_CLK_CTRL, 0x00000430 }, // 3072000Hz, BCLK Input, PLL_REFCLK_EN = 1 + { CS35L41_DSP_CLK_CTRL, 0x00000003 }, // DSP CLK EN + { CS35L41_GLOBAL_CLK_CTRL, 0x00000003 }, // GLOBAL_FS = 48 kHz + { CS35L41_SP_ENABLES, 0x00010001 }, // ASP_RX1_EN = 1, ASP_TX1_EN = 1 + { CS35L41_SP_RATE_CTRL, 0x00000021 }, // ASP_BCLK_FREQ = 3.072 MHz + { CS35L41_SP_FORMAT, 0x20200200 }, // 32 bits RX/TX slots, I2S, clk consumer + { CS35L41_SP_HIZ_CTRL, 0x00000003 }, // Hi-Z unused/disabled + { CS35L41_SP_TX_WL, 0x00000018 }, // 24 cycles/slot + { CS35L41_SP_RX_WL, 0x00000018 }, // 24 cycles/slot + { CS35L41_DAC_PCM1_SRC, 0x00000032 }, // DACPCM1_SRC = ERR_VOL + { CS35L41_ASP_TX1_SRC, 0x00000018 }, // ASPTX1 SRC = VMON + { CS35L41_ASP_TX2_SRC, 0x00000019 }, // ASPTX2 SRC = IMON + { CS35L41_ASP_TX3_SRC, 0x00000028 }, // ASPTX3 SRC = VPMON + { CS35L41_ASP_TX4_SRC, 0x00000029 }, // ASPTX4 SRC = VBSTMON + { CS35L41_DSP1_RX1_SRC, 0x00000008 }, // DSP1RX1 SRC = ASPRX1 + { CS35L41_DSP1_RX2_SRC, 0x00000008 }, // DSP1RX2 SRC = ASPRX1 + { CS35L41_DSP1_RX3_SRC, 0x00000018 }, // DSP1RX3 SRC = VMON + { CS35L41_DSP1_RX4_SRC, 0x00000019 }, // DSP1RX4 SRC = IMON + { CS35L41_DSP1_RX5_SRC, 0x00000029 }, // DSP1RX5 SRC = VBSTMON + { CS35L41_AMP_DIG_VOL_CTRL, 0x00000000 }, // AMP_VOL_PCM 0.0 dB + { CS35L41_AMP_GAIN_CTRL, 0x00000233 }, // AMP_GAIN_PCM = 17.5dB AMP_GAIN_PDM = 19.5dB +}; + static const struct reg_sequence cs35l41_hda_mute[] = { { CS35L41_AMP_GAIN_CTRL, 0x00000000 }, // AMP_GAIN_PCM 0.5 dB { CS35L41_AMP_DIG_VOL_CTRL, 0x0000A678 }, // AMP_VOL_PCM Mute }; +static int cs35l41_control_add(struct cs_dsp_coeff_ctl *cs_ctl) +{ + struct cs35l41_hda *cs35l41 = container_of(cs_ctl->dsp, struct cs35l41_hda, cs_dsp); + struct hda_cs_dsp_ctl_info info; + + info.device_name = cs35l41->amp_name; + info.fw_type = cs35l41->firmware_type; + info.card = cs35l41->codec->card; + + return hda_cs_dsp_control_add(cs_ctl, &info); +} + +static const struct cs_dsp_client_ops client_ops = { + .control_add = cs35l41_control_add, + .control_remove = hda_cs_dsp_control_remove, +}; + +static int cs35l41_request_firmware_file(struct cs35l41_hda *cs35l41, + const struct firmware **firmware, char **filename, + const char *dir, const char *ssid, const char *amp_name, + int spkid, const char *filetype) +{ + const char * const dsp_name = cs35l41->cs_dsp.name; + char *s, c; + int ret = 0; + + if (spkid > -1 && ssid && amp_name) + *filename = kasprintf(GFP_KERNEL, "%s%s-%s-%s-%s-spkid%d-%s.%s", dir, CS35L41_PART, + dsp_name, hda_cs_dsp_fw_ids[cs35l41->firmware_type], + ssid, spkid, amp_name, filetype); + else if (spkid > -1 && ssid) + *filename = kasprintf(GFP_KERNEL, "%s%s-%s-%s-%s-spkid%d.%s", dir, CS35L41_PART, + dsp_name, hda_cs_dsp_fw_ids[cs35l41->firmware_type], + ssid, spkid, filetype); + else if (ssid && amp_name) + *filename = kasprintf(GFP_KERNEL, "%s%s-%s-%s-%s-%s.%s", dir, CS35L41_PART, + dsp_name, hda_cs_dsp_fw_ids[cs35l41->firmware_type], + ssid, amp_name, filetype); + else if (ssid) + *filename = kasprintf(GFP_KERNEL, "%s%s-%s-%s-%s.%s", dir, CS35L41_PART, + dsp_name, hda_cs_dsp_fw_ids[cs35l41->firmware_type], + ssid, filetype); + else + *filename = kasprintf(GFP_KERNEL, "%s%s-%s-%s.%s", dir, CS35L41_PART, + dsp_name, hda_cs_dsp_fw_ids[cs35l41->firmware_type], + filetype); + + if (*filename == NULL) + return -ENOMEM; + + /* + * Make sure that filename is lower-case and any non alpha-numeric + * characters except full stop and '/' are replaced with hyphens. + */ + s = *filename; + while (*s) { + c = *s; + if (isalnum(c)) + *s = tolower(c); + else if (c != '.' && c != '/') + *s = '-'; + s++; + } + + ret = firmware_request_nowarn(firmware, *filename, cs35l41->dev); + if (ret != 0) { + dev_dbg(cs35l41->dev, "Failed to request '%s'\n", *filename); + kfree(*filename); + *filename = NULL; + } + + return ret; +} + +static int cs35l41_request_firmware_files_spkid(struct cs35l41_hda *cs35l41, + const struct firmware **wmfw_firmware, + char **wmfw_filename, + const struct firmware **coeff_firmware, + char **coeff_filename) +{ + int ret; + + /* try cirrus/part-dspN-fwtype-sub<-spkidN><-ampname>.wmfw */ + ret = cs35l41_request_firmware_file(cs35l41, wmfw_firmware, wmfw_filename, + CS35L41_FIRMWARE_ROOT, + cs35l41->acpi_subsystem_id, cs35l41->amp_name, + cs35l41->speaker_id, "wmfw"); + if (!ret) { + /* try cirrus/part-dspN-fwtype-sub<-spkidN><-ampname>.bin */ + cs35l41_request_firmware_file(cs35l41, coeff_firmware, coeff_filename, + CS35L41_FIRMWARE_ROOT, + cs35l41->acpi_subsystem_id, cs35l41->amp_name, + cs35l41->speaker_id, "bin"); + return 0; + } + + /* try cirrus/part-dspN-fwtype-sub<-ampname>.wmfw */ + ret = cs35l41_request_firmware_file(cs35l41, wmfw_firmware, wmfw_filename, + CS35L41_FIRMWARE_ROOT, cs35l41->acpi_subsystem_id, + cs35l41->amp_name, -1, "wmfw"); + if (!ret) { + /* try cirrus/part-dspN-fwtype-sub<-spkidN><-ampname>.bin */ + cs35l41_request_firmware_file(cs35l41, coeff_firmware, coeff_filename, + CS35L41_FIRMWARE_ROOT, cs35l41->acpi_subsystem_id, + cs35l41->amp_name, cs35l41->speaker_id, "bin"); + return 0; + } + + /* try cirrus/part-dspN-fwtype-sub<-spkidN>.wmfw */ + ret = cs35l41_request_firmware_file(cs35l41, wmfw_firmware, wmfw_filename, + CS35L41_FIRMWARE_ROOT, cs35l41->acpi_subsystem_id, + NULL, cs35l41->speaker_id, "wmfw"); + if (!ret) { + /* try cirrus/part-dspN-fwtype-sub<-spkidN><-ampname>.bin */ + ret = cs35l41_request_firmware_file(cs35l41, coeff_firmware, coeff_filename, + CS35L41_FIRMWARE_ROOT, + cs35l41->acpi_subsystem_id, + cs35l41->amp_name, cs35l41->speaker_id, "bin"); + if (ret) + /* try cirrus/part-dspN-fwtype-sub<-spkidN>.bin */ + cs35l41_request_firmware_file(cs35l41, coeff_firmware, coeff_filename, + CS35L41_FIRMWARE_ROOT, + cs35l41->acpi_subsystem_id, + NULL, cs35l41->speaker_id, "bin"); + return 0; + } + + /* try cirrus/part-dspN-fwtype-sub.wmfw */ + ret = cs35l41_request_firmware_file(cs35l41, wmfw_firmware, wmfw_filename, + CS35L41_FIRMWARE_ROOT, cs35l41->acpi_subsystem_id, + NULL, -1, "wmfw"); + if (!ret) { + /* try cirrus/part-dspN-fwtype-sub<-spkidN><-ampname>.bin */ + ret = cs35l41_request_firmware_file(cs35l41, coeff_firmware, coeff_filename, + CS35L41_FIRMWARE_ROOT, + cs35l41->acpi_subsystem_id, + cs35l41->amp_name, cs35l41->speaker_id, "bin"); + if (ret) + /* try cirrus/part-dspN-fwtype-sub<-spkidN>.bin */ + cs35l41_request_firmware_file(cs35l41, coeff_firmware, coeff_filename, + CS35L41_FIRMWARE_ROOT, + cs35l41->acpi_subsystem_id, + NULL, cs35l41->speaker_id, "bin"); + return 0; + } + + /* fallback try cirrus/part-dspN-fwtype.wmfw */ + ret = cs35l41_request_firmware_file(cs35l41, wmfw_firmware, wmfw_filename, + CS35L41_FIRMWARE_ROOT, NULL, NULL, -1, "wmfw"); + if (!ret) { + /* fallback try cirrus/part-dspN-fwtype.bin */ + cs35l41_request_firmware_file(cs35l41, coeff_firmware, coeff_filename, + CS35L41_FIRMWARE_ROOT, NULL, NULL, -1, "bin"); + return 0; + } + + dev_warn(cs35l41->dev, "Failed to request firmware\n"); + + return ret; +} + +static int cs35l41_request_firmware_files(struct cs35l41_hda *cs35l41, + const struct firmware **wmfw_firmware, + char **wmfw_filename, + const struct firmware **coeff_firmware, + char **coeff_filename) +{ + int ret; + + if (cs35l41->speaker_id > -1) + return cs35l41_request_firmware_files_spkid(cs35l41, wmfw_firmware, wmfw_filename, + coeff_firmware, coeff_filename); + + /* try cirrus/part-dspN-fwtype-sub<-ampname>.wmfw */ + ret = cs35l41_request_firmware_file(cs35l41, wmfw_firmware, wmfw_filename, + CS35L41_FIRMWARE_ROOT, cs35l41->acpi_subsystem_id, + cs35l41->amp_name, -1, "wmfw"); + if (!ret) { + /* try cirrus/part-dspN-fwtype-sub<-ampname>.bin */ + cs35l41_request_firmware_file(cs35l41, coeff_firmware, coeff_filename, + CS35L41_FIRMWARE_ROOT, cs35l41->acpi_subsystem_id, + cs35l41->amp_name, -1, "bin"); + return 0; + } + + /* try cirrus/part-dspN-fwtype-sub.wmfw */ + ret = cs35l41_request_firmware_file(cs35l41, wmfw_firmware, wmfw_filename, + CS35L41_FIRMWARE_ROOT, cs35l41->acpi_subsystem_id, + NULL, -1, "wmfw"); + if (!ret) { + /* try cirrus/part-dspN-fwtype-sub<-ampname>.bin */ + ret = cs35l41_request_firmware_file(cs35l41, coeff_firmware, coeff_filename, + CS35L41_FIRMWARE_ROOT, + cs35l41->acpi_subsystem_id, + cs35l41->amp_name, -1, "bin"); + if (ret) + /* try cirrus/part-dspN-fwtype-sub.bin */ + cs35l41_request_firmware_file(cs35l41, coeff_firmware, coeff_filename, + CS35L41_FIRMWARE_ROOT, + cs35l41->acpi_subsystem_id, + NULL, -1, "bin"); + return 0; + } + + /* fallback try cirrus/part-dspN-fwtype.wmfw */ + ret = cs35l41_request_firmware_file(cs35l41, wmfw_firmware, wmfw_filename, + CS35L41_FIRMWARE_ROOT, NULL, NULL, -1, "wmfw"); + if (!ret) { + /* fallback try cirrus/part-dspN-fwtype.bin */ + cs35l41_request_firmware_file(cs35l41, coeff_firmware, coeff_filename, + CS35L41_FIRMWARE_ROOT, NULL, NULL, -1, "bin"); + return 0; + } + + dev_warn(cs35l41->dev, "Failed to request firmware\n"); + + return ret; +} + +#if IS_ENABLED(CONFIG_EFI) +static int cs35l41_apply_calibration(struct cs35l41_hda *cs35l41, unsigned int ambient, + unsigned int r0, unsigned int status, unsigned int checksum) +{ + int ret; + + ret = hda_cs_dsp_write_ctl(&cs35l41->cs_dsp, CAL_AMBIENT_DSP_CTL_NAME, CAL_DSP_CTL_TYPE, + CAL_DSP_CTL_ALG, &ambient, 4); + if (ret) { + dev_err(cs35l41->dev, "Cannot Write Control: %s - %d\n", CAL_AMBIENT_DSP_CTL_NAME, + ret); + return ret; + } + ret = hda_cs_dsp_write_ctl(&cs35l41->cs_dsp, CAL_R_DSP_CTL_NAME, CAL_DSP_CTL_TYPE, + CAL_DSP_CTL_ALG, &r0, 4); + if (ret) { + dev_err(cs35l41->dev, "Cannot Write Control: %s - %d\n", CAL_R_DSP_CTL_NAME, ret); + return ret; + } + ret = hda_cs_dsp_write_ctl(&cs35l41->cs_dsp, CAL_STATUS_DSP_CTL_NAME, CAL_DSP_CTL_TYPE, + CAL_DSP_CTL_ALG, &status, 4); + if (ret) { + dev_err(cs35l41->dev, "Cannot Write Control: %s - %d\n", CAL_STATUS_DSP_CTL_NAME, + ret); + return ret; + } + ret = hda_cs_dsp_write_ctl(&cs35l41->cs_dsp, CAL_CHECKSUM_DSP_CTL_NAME, CAL_DSP_CTL_TYPE, + CAL_DSP_CTL_ALG, &checksum, 4); + if (ret) { + dev_err(cs35l41->dev, "Cannot Write Control: %s - %d\n", CAL_CHECKSUM_DSP_CTL_NAME, + ret); + return ret; + } + + return 0; +} + +static int cs35l41_save_calibration(struct cs35l41_hda *cs35l41) +{ + static efi_guid_t efi_guid = EFI_GUID(0x02f9af02, 0x7734, 0x4233, 0xb4, 0x3d, 0x93, 0xfe, + 0x5a, 0xa3, 0x5d, 0xb3); + static efi_char16_t efi_name[] = L"CirrusSmartAmpCalibrationData"; + const struct cs35l41_amp_efi_data *efi_data; + const struct cs35l41_amp_cal_data *cl; + unsigned long data_size = 0; + efi_status_t status; + int ret = 0; + u8 *data = NULL; + u32 attr; + + /* Get real size of UEFI variable */ + status = efi.get_variable(efi_name, &efi_guid, &attr, &data_size, data); + if (status == EFI_BUFFER_TOO_SMALL) { + ret = -ENODEV; + /* Allocate data buffer of data_size bytes */ + data = vmalloc(data_size); + if (!data) + return -ENOMEM; + /* Get variable contents into buffer */ + status = efi.get_variable(efi_name, &efi_guid, &attr, &data_size, data); + if (status == EFI_SUCCESS) { + efi_data = (struct cs35l41_amp_efi_data *)data; + dev_dbg(cs35l41->dev, "Calibration: Size=%d, Amp Count=%d\n", + efi_data->size, efi_data->count); + if (efi_data->count > cs35l41->index) { + cl = &efi_data->data[cs35l41->index]; + dev_dbg(cs35l41->dev, + "Calibration: Ambient=%02x, Status=%02x, R0=%d\n", + cl->calAmbient, cl->calStatus, cl->calR); + + /* Calibration can only be applied whilst the DSP is not running */ + ret = cs35l41_apply_calibration(cs35l41, + cpu_to_be32(cl->calAmbient), + cpu_to_be32(cl->calR), + cpu_to_be32(cl->calStatus), + cpu_to_be32(cl->calR + 1)); + } + } + vfree(data); + } + return ret; +} +#else +static int cs35l41_save_calibration(struct cs35l41_hda *cs35l41) +{ + dev_warn(cs35l41->dev, "Calibration not supported without EFI support.\n"); + return 0; +} +#endif + +static int cs35l41_init_dsp(struct cs35l41_hda *cs35l41) +{ + const struct firmware *coeff_firmware = NULL; + const struct firmware *wmfw_firmware = NULL; + struct cs_dsp *dsp = &cs35l41->cs_dsp; + char *coeff_filename = NULL; + char *wmfw_filename = NULL; + int ret; + + if (!cs35l41->halo_initialized) { + cs35l41_configure_cs_dsp(cs35l41->dev, cs35l41->regmap, dsp); + dsp->client_ops = &client_ops; + + ret = cs_dsp_halo_init(&cs35l41->cs_dsp); + if (ret) + return ret; + cs35l41->halo_initialized = true; + } + + ret = cs35l41_request_firmware_files(cs35l41, &wmfw_firmware, &wmfw_filename, + &coeff_firmware, &coeff_filename); + if (ret < 0) + return ret; + + dev_dbg(cs35l41->dev, "Loading WMFW Firmware: %s\n", wmfw_filename); + if (coeff_filename) + dev_dbg(cs35l41->dev, "Loading Coefficient File: %s\n", coeff_filename); + else + dev_warn(cs35l41->dev, "No Coefficient File available.\n"); + + ret = cs_dsp_power_up(dsp, wmfw_firmware, wmfw_filename, coeff_firmware, coeff_filename, + hda_cs_dsp_fw_ids[cs35l41->firmware_type]); + if (ret) + goto err_release; + + ret = cs35l41_save_calibration(cs35l41); + +err_release: + release_firmware(wmfw_firmware); + release_firmware(coeff_firmware); + kfree(wmfw_filename); + kfree(coeff_filename); + + return ret; +} + +static void cs35l41_shutdown_dsp(struct cs35l41_hda *cs35l41) +{ + struct cs_dsp *dsp = &cs35l41->cs_dsp; + + cs_dsp_stop(dsp); + cs_dsp_power_down(dsp); + cs35l41->firmware_running = false; + dev_dbg(cs35l41->dev, "Unloaded Firmware\n"); +} + +static void cs35l41_remove_dsp(struct cs35l41_hda *cs35l41) +{ + struct cs_dsp *dsp = &cs35l41->cs_dsp; + + cancel_work_sync(&cs35l41->fw_load_work); + cs35l41_shutdown_dsp(cs35l41); + cs_dsp_remove(dsp); + cs35l41->halo_initialized = false; +} + /* Protection release cycle to get the speaker out of Safe-Mode */ static void cs35l41_error_release(struct device *dev, struct regmap *regmap, unsigned int mask) { @@ -53,9 +487,23 @@ struct regmap *reg = cs35l41->regmap; int ret = 0; + mutex_lock(&cs35l41->fw_mutex); + switch (action) { case HDA_GEN_PCM_ACT_OPEN: - regmap_multi_reg_write(reg, cs35l41_hda_config, ARRAY_SIZE(cs35l41_hda_config)); + cs35l41->playback_started = true; + if (cs35l41->firmware_running) { + regmap_multi_reg_write(reg, cs35l41_hda_config_dsp, + ARRAY_SIZE(cs35l41_hda_config_dsp)); + regmap_update_bits(cs35l41->regmap, CS35L41_PWR_CTRL2, + CS35L41_VMON_EN_MASK | CS35L41_IMON_EN_MASK, + 1 << CS35L41_VMON_EN_SHIFT | 1 << CS35L41_IMON_EN_SHIFT); + cs35l41_set_cspl_mbox_cmd(cs35l41->dev, cs35l41->regmap, + CSPL_MBOX_CMD_RESUME); + } else { + regmap_multi_reg_write(reg, cs35l41_hda_config, + ARRAY_SIZE(cs35l41_hda_config)); + } ret = regmap_update_bits(reg, CS35L41_PWR_CTRL2, CS35L41_AMP_EN_MASK, 1 << CS35L41_AMP_EN_SHIFT); if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST) @@ -73,13 +521,23 @@ CS35L41_AMP_EN_MASK, 0 << CS35L41_AMP_EN_SHIFT); if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST) regmap_write(reg, CS35L41_GPIO1_CTRL1, 0x00000001); + if (cs35l41->firmware_running) { + cs35l41_set_cspl_mbox_cmd(cs35l41->dev, cs35l41->regmap, + CSPL_MBOX_CMD_PAUSE); + regmap_update_bits(cs35l41->regmap, CS35L41_PWR_CTRL2, + CS35L41_VMON_EN_MASK | CS35L41_IMON_EN_MASK, + 0 << CS35L41_VMON_EN_SHIFT | 0 << CS35L41_IMON_EN_SHIFT); + } cs35l41_irq_release(cs35l41); + cs35l41->playback_started = false; break; default: dev_warn(cs35l41->dev, "Playback action not supported: %d\n", action); break; } + mutex_unlock(&cs35l41->fw_mutex); + if (ret) dev_err(cs35l41->dev, "Regmap access fail: %d\n", ret); } @@ -104,10 +562,283 @@ rx_slot); } +static int cs35l41_runtime_idle(struct device *dev) +{ + struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev); + + if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST_NO_VSPK_SWITCH) + return -EBUSY; /* suspend not supported yet on this model */ + return 0; +} + +static int cs35l41_runtime_suspend(struct device *dev) +{ + struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev); + + dev_dbg(cs35l41->dev, "Suspend\n"); + + if (!cs35l41->firmware_running) + return 0; + + if (cs35l41_enter_hibernate(cs35l41->dev, cs35l41->regmap, cs35l41->hw_cfg.bst_type) < 0) + return 0; + + regcache_cache_only(cs35l41->regmap, true); + regcache_mark_dirty(cs35l41->regmap); + + return 0; +} + +static int cs35l41_runtime_resume(struct device *dev) +{ + struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev); + int ret; + + dev_dbg(cs35l41->dev, "Resume.\n"); + + if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST_NO_VSPK_SWITCH) { + dev_dbg(cs35l41->dev, "System does not support Resume\n"); + return 0; + } + + if (!cs35l41->firmware_running) + return 0; + + regcache_cache_only(cs35l41->regmap, false); + + ret = cs35l41_exit_hibernate(cs35l41->dev, cs35l41->regmap); + if (ret) { + regcache_cache_only(cs35l41->regmap, true); + return ret; + } + + /* Test key needs to be unlocked to allow the OTP settings to re-apply */ + cs35l41_test_key_unlock(cs35l41->dev, cs35l41->regmap); + ret = regcache_sync(cs35l41->regmap); + cs35l41_test_key_lock(cs35l41->dev, cs35l41->regmap); + if (ret) { + dev_err(cs35l41->dev, "Failed to restore register cache: %d\n", ret); + return ret; + } + + if (cs35l41->hw_cfg.bst_type == CS35L41_EXT_BOOST) + cs35l41_init_boost(cs35l41->dev, cs35l41->regmap, &cs35l41->hw_cfg); + + return 0; +} + +static int cs35l41_hda_suspend_hook(struct device *dev) +{ + dev_dbg(dev, "Request Suspend\n"); + pm_runtime_mark_last_busy(dev); + return pm_runtime_put_autosuspend(dev); +} + +static int cs35l41_hda_resume_hook(struct device *dev) +{ + dev_dbg(dev, "Request Resume\n"); + return pm_runtime_get_sync(dev); +} + +static int cs35l41_smart_amp(struct cs35l41_hda *cs35l41) +{ + int halo_sts; + int ret; + + ret = cs35l41_init_dsp(cs35l41); + if (ret) { + dev_warn(cs35l41->dev, "Cannot Initialize Firmware. Error: %d\n", ret); + goto clean_dsp; + } + + ret = cs35l41_write_fs_errata(cs35l41->dev, cs35l41->regmap); + if (ret) { + dev_err(cs35l41->dev, "Cannot Write FS Errata: %d\n", ret); + goto clean_dsp; + } + + ret = cs_dsp_run(&cs35l41->cs_dsp); + if (ret) { + dev_err(cs35l41->dev, "Fail to start dsp: %d\n", ret); + goto clean_dsp; + } + + ret = read_poll_timeout(hda_cs_dsp_read_ctl, ret, + be32_to_cpu(halo_sts) == HALO_STATE_CODE_RUN, + 1000, 15000, false, &cs35l41->cs_dsp, HALO_STATE_DSP_CTL_NAME, + HALO_STATE_DSP_CTL_TYPE, HALO_STATE_DSP_CTL_ALG, + &halo_sts, sizeof(halo_sts)); + + if (ret) { + dev_err(cs35l41->dev, "Timeout waiting for HALO Core to start. State: %d\n", + halo_sts); + goto clean_dsp; + } + + cs35l41_set_cspl_mbox_cmd(cs35l41->dev, cs35l41->regmap, CSPL_MBOX_CMD_PAUSE); + cs35l41->firmware_running = true; + + return 0; + +clean_dsp: + cs35l41_shutdown_dsp(cs35l41); + return ret; +} + +static void cs35l41_load_firmware(struct cs35l41_hda *cs35l41, bool load) +{ + pm_runtime_get_sync(cs35l41->dev); + + if (cs35l41->firmware_running && !load) { + dev_dbg(cs35l41->dev, "Unloading Firmware\n"); + cs35l41_shutdown_dsp(cs35l41); + } else if (!cs35l41->firmware_running && load) { + dev_dbg(cs35l41->dev, "Loading Firmware\n"); + cs35l41_smart_amp(cs35l41); + } else { + dev_dbg(cs35l41->dev, "Unable to Load firmware.\n"); + } + + pm_runtime_mark_last_busy(cs35l41->dev); + pm_runtime_put_autosuspend(cs35l41->dev); +} + +static int cs35l41_fw_load_ctl_get(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +{ + struct cs35l41_hda *cs35l41 = snd_kcontrol_chip(kcontrol); + + ucontrol->value.integer.value[0] = cs35l41->request_fw_load; + return 0; +} + +static void cs35l41_fw_load_work(struct work_struct *work) +{ + struct cs35l41_hda *cs35l41 = container_of(work, struct cs35l41_hda, fw_load_work); + + mutex_lock(&cs35l41->fw_mutex); + + /* Recheck if playback is ongoing, mutex will block playback during firmware loading */ + if (cs35l41->playback_started) + dev_err(cs35l41->dev, "Cannot Load/Unload firmware during Playback\n"); + else + cs35l41_load_firmware(cs35l41, cs35l41->request_fw_load); + + cs35l41->fw_request_ongoing = false; + mutex_unlock(&cs35l41->fw_mutex); +} + +static int cs35l41_fw_load_ctl_put(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +{ + struct cs35l41_hda *cs35l41 = snd_kcontrol_chip(kcontrol); + unsigned int ret = 0; + + mutex_lock(&cs35l41->fw_mutex); + + if (cs35l41->request_fw_load == ucontrol->value.integer.value[0]) + goto err; + + if (cs35l41->fw_request_ongoing) { + dev_dbg(cs35l41->dev, "Existing request not complete\n"); + ret = -EBUSY; + goto err; + } + + /* Check if playback is ongoing when initial request is made */ + if (cs35l41->playback_started) { + dev_err(cs35l41->dev, "Cannot Load/Unload firmware during Playback\n"); + ret = -EBUSY; + goto err; + } + + cs35l41->fw_request_ongoing = true; + cs35l41->request_fw_load = ucontrol->value.integer.value[0]; + schedule_work(&cs35l41->fw_load_work); + +err: + mutex_unlock(&cs35l41->fw_mutex); + + return ret; +} + +static int cs35l41_fw_type_ctl_get(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +{ + struct cs35l41_hda *cs35l41 = snd_kcontrol_chip(kcontrol); + + ucontrol->value.enumerated.item[0] = cs35l41->firmware_type; + + return 0; +} + +static int cs35l41_fw_type_ctl_put(struct snd_kcontrol *kcontrol, + struct snd_ctl_elem_value *ucontrol) +{ + struct cs35l41_hda *cs35l41 = snd_kcontrol_chip(kcontrol); + + if (ucontrol->value.enumerated.item[0] < HDA_CS_DSP_NUM_FW) { + cs35l41->firmware_type = ucontrol->value.enumerated.item[0]; + return 0; + } + + return -EINVAL; +} + +static int cs35l41_fw_type_ctl_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) +{ + return snd_ctl_enum_info(uinfo, 1, ARRAY_SIZE(hda_cs_dsp_fw_ids), hda_cs_dsp_fw_ids); +} + +static int cs35l41_create_controls(struct cs35l41_hda *cs35l41) +{ + char fw_type_ctl_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + char fw_load_ctl_name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + struct snd_kcontrol_new fw_type_ctl = { + .name = fw_type_ctl_name, + .iface = SNDRV_CTL_ELEM_IFACE_CARD, + .info = cs35l41_fw_type_ctl_info, + .get = cs35l41_fw_type_ctl_get, + .put = cs35l41_fw_type_ctl_put, + }; + struct snd_kcontrol_new fw_load_ctl = { + .name = fw_load_ctl_name, + .iface = SNDRV_CTL_ELEM_IFACE_CARD, + .info = snd_ctl_boolean_mono_info, + .get = cs35l41_fw_load_ctl_get, + .put = cs35l41_fw_load_ctl_put, + }; + int ret; + + scnprintf(fw_type_ctl_name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN, "%s DSP1 Firmware Type", + cs35l41->amp_name); + scnprintf(fw_load_ctl_name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN, "%s DSP1 Firmware Load", + cs35l41->amp_name); + + ret = snd_ctl_add(cs35l41->codec->card, snd_ctl_new1(&fw_type_ctl, cs35l41)); + if (ret) { + dev_err(cs35l41->dev, "Failed to add KControl %s = %d\n", fw_type_ctl.name, ret); + return ret; + } + + dev_dbg(cs35l41->dev, "Added Control %s\n", fw_type_ctl.name); + + ret = snd_ctl_add(cs35l41->codec->card, snd_ctl_new1(&fw_load_ctl, cs35l41)); + if (ret) { + dev_err(cs35l41->dev, "Failed to add KControl %s = %d\n", fw_load_ctl.name, ret); + return ret; + } + + dev_dbg(cs35l41->dev, "Added Control %s\n", fw_load_ctl.name); + + return 0; +} + static int cs35l41_hda_bind(struct device *dev, struct device *master, void *master_data) { struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev); struct hda_component *comps = master_data; + int ret = 0; if (!comps || cs35l41->index < 0 || cs35l41->index >= HDA_MAX_COMPONENTS) return -EINVAL; @@ -116,11 +847,38 @@ if (comps->dev) return -EBUSY; + pm_runtime_get_sync(dev); + comps->dev = dev; + if (!cs35l41->acpi_subsystem_id) + cs35l41->acpi_subsystem_id = devm_kasprintf(dev, GFP_KERNEL, "%.8x", + comps->codec->core.subsystem_id); + cs35l41->codec = comps->codec; strscpy(comps->name, dev_name(dev), sizeof(comps->name)); + + cs35l41->firmware_type = HDA_CS_DSP_FW_SPK_PROT; + + if (firmware_autostart) { + dev_dbg(cs35l41->dev, "Firmware Autostart.\n"); + cs35l41->request_fw_load = true; + mutex_lock(&cs35l41->fw_mutex); + if (cs35l41_smart_amp(cs35l41) < 0) + dev_warn(cs35l41->dev, "Cannot Run Firmware, reverting to dsp bypass...\n"); + mutex_unlock(&cs35l41->fw_mutex); + } else { + dev_dbg(cs35l41->dev, "Firmware Autostart is disabled.\n"); + } + + ret = cs35l41_create_controls(cs35l41); + comps->playback_hook = cs35l41_hda_playback_hook; + comps->suspend_hook = cs35l41_hda_suspend_hook; + comps->resume_hook = cs35l41_hda_resume_hook; - return 0; + pm_runtime_mark_last_busy(dev); + pm_runtime_put_autosuspend(dev); + + return ret; } static void cs35l41_hda_unbind(struct device *dev, struct device *master, void *master_data) @@ -215,7 +973,7 @@ CS35L41_REG_IRQ(IRQ1_STATUS1, AMP_SHORT_ERR), }; -static const struct regmap_irq_chip cs35l41_regmap_irq_chip = { +static struct regmap_irq_chip cs35l41_regmap_irq_chip = { .name = "cs35l41 IRQ1 Controller", .status_base = CS35L41_IRQ1_STATUS1, .mask_base = CS35L41_IRQ1_MASK1, @@ -223,6 +981,7 @@ .num_regs = 4, .irqs = cs35l41_reg_irqs, .num_irqs = ARRAY_SIZE(cs35l41_reg_irqs), + .runtime_pm = true, }; static int cs35l41_hda_apply_properties(struct cs35l41_hda *cs35l41) @@ -297,6 +1056,91 @@ return cs35l41_hda_channel_map(cs35l41->dev, 0, NULL, 1, &hw_cfg->spk_pos); } +static int cs35l41_get_acpi_sub_string(struct device *dev, struct acpi_device *adev, + const char **subsysid) +{ + struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; + union acpi_object *obj; + acpi_status status; + int ret = 0; + + status = acpi_evaluate_object(adev->handle, "_SUB", NULL, &buffer); + if (ACPI_SUCCESS(status)) { + obj = buffer.pointer; + if (obj->type == ACPI_TYPE_STRING) { + *subsysid = devm_kstrdup(dev, obj->string.pointer, GFP_KERNEL); + if (*subsysid == NULL) { + dev_err(dev, "Cannot allocate Subsystem ID"); + ret = -ENOMEM; + } + } else { + dev_warn(dev, "Warning ACPI _SUB did not return a string\n"); + ret = -ENODEV; + } + acpi_os_free(buffer.pointer); + } else { + dev_dbg(dev, "Warning ACPI _SUB failed: %#x\n", status); + ret = -ENODEV; + } + + return ret; +} + +static int cs35l41_get_speaker_id(struct device *dev, int amp_index, + int num_amps, int fixed_gpio_id) +{ + struct gpio_desc *speaker_id_desc; + int speaker_id = -ENODEV; + + if (fixed_gpio_id >= 0) { + dev_dbg(dev, "Found Fixed Speaker ID GPIO (index = %d)\n", fixed_gpio_id); + speaker_id_desc = gpiod_get_index(dev, NULL, fixed_gpio_id, GPIOD_IN); + if (IS_ERR(speaker_id_desc)) { + speaker_id = PTR_ERR(speaker_id_desc); + return speaker_id; + } + speaker_id = gpiod_get_value_cansleep(speaker_id_desc); + gpiod_put(speaker_id_desc); + dev_dbg(dev, "Speaker ID = %d\n", speaker_id); + } else { + int base_index; + int gpios_per_amp; + int count; + int tmp; + int i; + + count = gpiod_count(dev, "spk-id"); + if (count > 0) { + speaker_id = 0; + gpios_per_amp = count / num_amps; + base_index = gpios_per_amp * amp_index; + + if (count % num_amps) + return -EINVAL; + + dev_dbg(dev, "Found %d Speaker ID GPIOs per Amp\n", gpios_per_amp); + + for (i = 0; i < gpios_per_amp; i++) { + speaker_id_desc = gpiod_get_index(dev, "spk-id", i + base_index, + GPIOD_IN); + if (IS_ERR(speaker_id_desc)) { + speaker_id = PTR_ERR(speaker_id_desc); + break; + } + tmp = gpiod_get_value_cansleep(speaker_id_desc); + gpiod_put(speaker_id_desc); + if (tmp < 0) { + speaker_id = tmp; + break; + } + speaker_id |= tmp << i; + } + dev_dbg(dev, "Speaker ID = %d\n", speaker_id); + } + } + return speaker_id; +} + static int cs35l41_hda_read_acpi(struct cs35l41_hda *cs35l41, const char *hid, int id) { struct cs35l41_hw_cfg *hw_cfg = &cs35l41->hw_cfg; @@ -316,6 +1160,12 @@ physdev = get_device(acpi_get_first_physical_node(adev)); acpi_dev_put(adev); + ret = cs35l41_get_acpi_sub_string(cs35l41->dev, adev, &cs35l41->acpi_subsystem_id); + if (ret) + dev_info(cs35l41->dev, "No Subsystem ID found in ACPI: %d", ret); + else + dev_dbg(cs35l41->dev, "Subsystem ID %s found", cs35l41->acpi_subsystem_id); + property = "cirrus,dev-index"; ret = device_property_count_u32(physdev, property); if (ret <= 0) @@ -347,7 +1197,7 @@ /* To use the same release code for all laptop variants we can't use devm_ version of * gpiod_get here, as CLSA010* don't have a fully functional bios with an _DSD node */ - cs35l41->reset_gpio = fwnode_gpiod_get_index(&adev->fwnode, "reset", cs35l41->index, + cs35l41->reset_gpio = fwnode_gpiod_get_index(acpi_fwnode_handle(adev), "reset", cs35l41->index, GPIOD_OUT_LOW, "cs35l41-reset"); property = "cirrus,speaker-position"; @@ -396,6 +1246,8 @@ else hw_cfg->bst_cap = -1; + cs35l41->speaker_id = cs35l41_get_speaker_id(physdev, cs35l41->index, nval, -1); + if (hw_cfg->bst_ind > 0 || hw_cfg->bst_cap > 0 || hw_cfg->bst_ipk > 0) hw_cfg->bst_type = CS35L41_INT_BOOST; else @@ -429,6 +1281,7 @@ cs35l41->channel_index = 0; cs35l41->reset_gpio = gpiod_get_index(physdev, NULL, 0, GPIOD_OUT_HIGH); cs35l41->hw_cfg.bst_type = CS35L41_EXT_BOOST_NO_VSPK_SWITCH; + cs35l41->speaker_id = cs35l41_get_speaker_id(physdev, 0, 0, 2); hw_cfg->gpio2.func = CS35L41_GPIO2_INT_OPEN_DRAIN; hw_cfg->gpio2.valid = true; cs35l41->hw_cfg.valid = true; @@ -536,13 +1389,26 @@ if (ret) goto err; + INIT_WORK(&cs35l41->fw_load_work, cs35l41_fw_load_work); + mutex_init(&cs35l41->fw_mutex); + + pm_runtime_set_autosuspend_delay(cs35l41->dev, 3000); + pm_runtime_use_autosuspend(cs35l41->dev); + pm_runtime_mark_last_busy(cs35l41->dev); + pm_runtime_set_active(cs35l41->dev); + pm_runtime_get_noresume(cs35l41->dev); + pm_runtime_enable(cs35l41->dev); + ret = cs35l41_hda_apply_properties(cs35l41); if (ret) - goto err; + goto err_pm; + + pm_runtime_put_autosuspend(cs35l41->dev); ret = component_add(cs35l41->dev, &cs35l41_hda_comp_ops); if (ret) { dev_err(cs35l41->dev, "Register component failed: %d\n", ret); + pm_runtime_disable(cs35l41->dev); goto err; } @@ -550,6 +1416,10 @@ return 0; +err_pm: + pm_runtime_disable(cs35l41->dev); + pm_runtime_put_noidle(cs35l41->dev); + err: if (cs35l41_safe_reset(cs35l41->regmap, cs35l41->hw_cfg.bst_type)) gpiod_set_value_cansleep(cs35l41->reset_gpio, 0); @@ -563,14 +1433,29 @@ { struct cs35l41_hda *cs35l41 = dev_get_drvdata(dev); + pm_runtime_get_sync(cs35l41->dev); + pm_runtime_disable(cs35l41->dev); + + if (cs35l41->halo_initialized) + cs35l41_remove_dsp(cs35l41); + component_del(cs35l41->dev, &cs35l41_hda_comp_ops); + pm_runtime_put_noidle(cs35l41->dev); + if (cs35l41_safe_reset(cs35l41->regmap, cs35l41->hw_cfg.bst_type)) gpiod_set_value_cansleep(cs35l41->reset_gpio, 0); gpiod_put(cs35l41->reset_gpio); } EXPORT_SYMBOL_NS_GPL(cs35l41_hda_remove, SND_HDA_SCODEC_CS35L41); +const struct dev_pm_ops cs35l41_hda_pm_ops = { + SET_RUNTIME_PM_OPS(cs35l41_runtime_suspend, cs35l41_runtime_resume, + cs35l41_runtime_idle) +}; +EXPORT_SYMBOL_NS_GPL(cs35l41_hda_pm_ops, SND_HDA_SCODEC_CS35L41); + MODULE_DESCRIPTION("CS35L41 HDA Driver"); +MODULE_IMPORT_NS(SND_HDA_CS_DSP_CONTROLS); MODULE_AUTHOR("Lucas Tanure, Cirrus Logic Inc, "); MODULE_LICENSE("GPL"); --- linux-gcp-5.19.0.orig/sound/pci/hda/cs35l41_hda.h +++ linux-gcp-5.19.0/sound/pci/hda/cs35l41_hda.h @@ -10,11 +10,29 @@ #ifndef __CS35L41_HDA_H__ #define __CS35L41_HDA_H__ +#include #include #include #include #include +#include +#include + +struct cs35l41_amp_cal_data { + u32 calTarget[2]; + u32 calTime[2]; + s8 calAmbient; + u8 calStatus; + u16 calR; +} __packed; + +struct cs35l41_amp_efi_data { + u32 size; + u32 count; + struct cs35l41_amp_cal_data data[]; +} __packed; + enum cs35l41_hda_spk_pos { CS35l41_LEFT, CS35l41_RIGHT, @@ -32,15 +50,36 @@ struct regmap *regmap; struct gpio_desc *reset_gpio; struct cs35l41_hw_cfg hw_cfg; + struct hda_codec *codec; int irq; int index; int channel_index; unsigned volatile long irq_errors; const char *amp_name; + const char *acpi_subsystem_id; + int firmware_type; + int speaker_id; + struct mutex fw_mutex; + struct work_struct fw_load_work; + struct regmap_irq_chip_data *irq_data; + bool firmware_running; + bool request_fw_load; + bool fw_request_ongoing; + bool halo_initialized; + bool playback_started; + struct cs_dsp cs_dsp; }; +enum halo_state { + HALO_STATE_CODE_INIT_DOWNLOAD = 0, + HALO_STATE_CODE_START, + HALO_STATE_CODE_RUN +}; + +extern const struct dev_pm_ops cs35l41_hda_pm_ops; + int cs35l41_hda_probe(struct device *dev, const char *device_name, int id, int irq, struct regmap *regmap); void cs35l41_hda_remove(struct device *dev); --- linux-gcp-5.19.0.orig/sound/pci/hda/cs35l41_hda_i2c.c +++ linux-gcp-5.19.0/sound/pci/hda/cs35l41_hda_i2c.c @@ -6,9 +6,9 @@ // // Author: Lucas Tanure +#include #include #include -#include #include "cs35l41_hda.h" @@ -42,19 +42,18 @@ {} }; -#ifdef CONFIG_ACPI static const struct acpi_device_id cs35l41_acpi_hda_match[] = { {"CLSA0100", 0 }, {"CSC3551", 0 }, - { }, + {} }; MODULE_DEVICE_TABLE(acpi, cs35l41_acpi_hda_match); -#endif static struct i2c_driver cs35l41_i2c_driver = { .driver = { .name = "cs35l41-hda", - .acpi_match_table = ACPI_PTR(cs35l41_acpi_hda_match), + .acpi_match_table = cs35l41_acpi_hda_match, + .pm = &cs35l41_hda_pm_ops, }, .id_table = cs35l41_hda_i2c_id, .probe = cs35l41_hda_i2c_probe, --- linux-gcp-5.19.0.orig/sound/pci/hda/cs35l41_hda_spi.c +++ linux-gcp-5.19.0/sound/pci/hda/cs35l41_hda_spi.c @@ -6,7 +6,7 @@ // // Author: Lucas Tanure -#include +#include #include #include @@ -38,18 +38,17 @@ {} }; -#ifdef CONFIG_ACPI static const struct acpi_device_id cs35l41_acpi_hda_match[] = { { "CSC3551", 0 }, - {}, + {} }; MODULE_DEVICE_TABLE(acpi, cs35l41_acpi_hda_match); -#endif static struct spi_driver cs35l41_spi_driver = { .driver = { .name = "cs35l41-hda", - .acpi_match_table = ACPI_PTR(cs35l41_acpi_hda_match), + .acpi_match_table = cs35l41_acpi_hda_match, + .pm = &cs35l41_hda_pm_ops, }, .id_table = cs35l41_hda_spi_id, .probe = cs35l41_hda_spi_probe, --- linux-gcp-5.19.0.orig/sound/pci/hda/hda_beep.c +++ linux-gcp-5.19.0/sound/pci/hda/hda_beep.c @@ -118,6 +118,12 @@ return 0; } +static void turn_on_beep(struct hda_beep *beep) +{ + if (beep->keep_power_at_enable) + snd_hda_power_up_pm(beep->codec); +} + static void turn_off_beep(struct hda_beep *beep) { cancel_work_sync(&beep->beep_work); @@ -125,6 +131,8 @@ /* turn off beep */ generate_tone(beep, 0); } + if (beep->keep_power_at_enable) + snd_hda_power_down_pm(beep->codec); } /** @@ -140,7 +148,9 @@ enable = !!enable; if (beep->enabled != enable) { beep->enabled = enable; - if (!enable) + if (enable) + turn_on_beep(beep); + else turn_off_beep(beep); return 1; } @@ -167,7 +177,8 @@ input_unregister_device(beep->dev); else input_free_device(beep->dev); - turn_off_beep(beep); + if (beep->enabled) + turn_off_beep(beep); return 0; } --- linux-gcp-5.19.0.orig/sound/pci/hda/hda_beep.h +++ linux-gcp-5.19.0/sound/pci/hda/hda_beep.h @@ -25,6 +25,7 @@ unsigned int enabled:1; unsigned int linear_tone:1; /* linear tone for IDT/STAC codec */ unsigned int playing:1; + unsigned int keep_power_at_enable:1; /* set by driver */ struct work_struct beep_work; /* scheduled task for beep event */ struct mutex mutex; void (*power_hook)(struct hda_beep *beep, bool on); --- linux-gcp-5.19.0.orig/sound/pci/hda/hda_bind.c +++ linux-gcp-5.19.0/sound/pci/hda/hda_bind.c @@ -144,6 +144,7 @@ error: snd_hda_codec_cleanup_for_unbind(codec); + codec->preset = NULL; return err; } @@ -157,15 +158,16 @@ return codec->bus->core.ext_ops->hdev_detach(&codec->core); } - refcount_dec(&codec->pcm_ref); snd_hda_codec_disconnect_pcms(codec); snd_hda_jack_tbl_disconnect(codec); - wait_event(codec->remove_sleep, !refcount_read(&codec->pcm_ref)); + if (!refcount_dec_and_test(&codec->pcm_ref)) + wait_event(codec->remove_sleep, !refcount_read(&codec->pcm_ref)); snd_power_sync_ref(codec->bus->card); if (codec->patch_ops.free) codec->patch_ops.free(codec); snd_hda_codec_cleanup_for_unbind(codec); + codec->preset = NULL; module_put(dev->driver->owner); return 0; } --- linux-gcp-5.19.0.orig/sound/pci/hda/hda_codec.c +++ linux-gcp-5.19.0/sound/pci/hda/hda_codec.c @@ -795,7 +795,6 @@ snd_array_free(&codec->cvt_setups); snd_array_free(&codec->spdif_out); snd_array_free(&codec->verbs); - codec->preset = NULL; codec->follower_dig_outs = NULL; codec->spdif_status_reset = 0; snd_array_free(&codec->mixers); @@ -2888,7 +2887,8 @@ snd_hdac_enter_pm(&codec->core); if (codec->patch_ops.suspend) codec->patch_ops.suspend(codec); - hda_cleanup_all_streams(codec); + if (!codec->no_stream_clean_at_suspend) + hda_cleanup_all_streams(codec); state = hda_set_power_state(codec, AC_PWRST_D3); update_power_acct(codec, true); snd_hdac_leave_pm(&codec->core); @@ -2935,8 +2935,7 @@ if (!codec->card) return 0; - if (!codec->bus->jackpoll_in_suspend) - cancel_delayed_work_sync(&codec->jackpoll_work); + cancel_delayed_work_sync(&codec->jackpoll_work); state = hda_call_codec_suspend(codec); if (codec->link_down_at_suspend || @@ -2944,6 +2943,11 @@ (state & AC_PWRST_CLK_STOP_OK))) snd_hdac_codec_link_down(&codec->core); snd_hda_codec_display_power(codec, false); + + if (codec->bus->jackpoll_in_suspend && + (dev->power.power_state.event != PM_EVENT_SUSPEND)) + schedule_delayed_work(&codec->jackpoll_work, + codec->jackpoll_interval); return 0; } @@ -2967,6 +2971,9 @@ #ifdef CONFIG_PM_SLEEP static int hda_codec_pm_prepare(struct device *dev) { + struct hda_codec *codec = dev_to_hda_codec(dev); + + cancel_delayed_work_sync(&codec->jackpoll_work); dev->power.power_state = PMSG_SUSPEND; return pm_runtime_suspended(dev); } @@ -2986,9 +2993,6 @@ static int hda_codec_pm_suspend(struct device *dev) { - struct hda_codec *codec = dev_to_hda_codec(dev); - - cancel_delayed_work_sync(&codec->jackpoll_work); dev->power.power_state = PMSG_SUSPEND; return pm_runtime_force_suspend(dev); } @@ -3387,7 +3391,12 @@ kctl = snd_ctl_new1(knew, codec); if (!kctl) return -ENOMEM; - if (addr > 0) + /* Do not use the id.device field for MIXER elements. + * This field is for real device numbers (like PCM) but codecs + * are hidden components from the user space view (unrelated + * to the mixer element identification). + */ + if (addr > 0 && codec->ctl_dev_id) kctl->id.device = addr; if (idx > 0) kctl->id.index = idx; @@ -3398,9 +3407,11 @@ * the codec addr; if it still fails (or it's the * primary codec), then try another control index */ - if (!addr && codec->core.addr) + if (!addr && codec->core.addr) { addr = codec->core.addr; - else if (!idx && !knew->index) { + if (!codec->ctl_dev_id) + idx += 10 * addr; + } else if (!idx && !knew->index) { idx = find_empty_mixer_ctl_idx(codec, knew->name, 0); if (idx <= 0) --- linux-gcp-5.19.0.orig/sound/pci/hda/hda_component.h +++ linux-gcp-5.19.0/sound/pci/hda/hda_component.h @@ -14,5 +14,8 @@ struct hda_component { struct device *dev; char name[HDA_MAX_NAME_SIZE]; + struct hda_codec *codec; void (*playback_hook)(struct device *dev, int action); + int (*suspend_hook)(struct device *dev); + int (*resume_hook)(struct device *dev); }; --- linux-gcp-5.19.0.orig/sound/pci/hda/hda_controller.c +++ linux-gcp-5.19.0/sound/pci/hda/hda_controller.c @@ -1033,10 +1033,8 @@ void azx_stop_all_streams(struct azx *chip) { struct hdac_bus *bus = azx_bus(chip); - struct hdac_stream *s; - list_for_each_entry(s, &bus->stream_list, list) - snd_hdac_stream_stop(s); + snd_hdac_stop_streams(bus); } EXPORT_SYMBOL_GPL(azx_stop_all_streams); @@ -1233,6 +1231,7 @@ continue; codec->jackpoll_interval = chip->jackpoll_interval; codec->beep_mode = chip->beep_mode; + codec->ctl_dev_id = chip->ctl_dev_id; codecs++; } } --- linux-gcp-5.19.0.orig/sound/pci/hda/hda_controller.h +++ linux-gcp-5.19.0/sound/pci/hda/hda_controller.h @@ -124,6 +124,7 @@ /* HD codec */ int codec_probe_mask; /* copied from probe_mask option */ unsigned int beep_mode; + bool ctl_dev_id; #ifdef CONFIG_SND_HDA_PATCH_LOADER const struct firmware *fw; --- linux-gcp-5.19.0.orig/sound/pci/hda/hda_cs_dsp_ctl.c +++ linux-gcp-5.19.0/sound/pci/hda/hda_cs_dsp_ctl.c @@ -0,0 +1,240 @@ +// SPDX-License-Identifier: GPL-2.0 +// +// HDA DSP ALSA Control Driver +// +// Copyright 2022 Cirrus Logic, Inc. +// +// Author: Stefan Binding + +#include +#include +#include +#include +#include "hda_cs_dsp_ctl.h" + +#define ADSP_MAX_STD_CTRL_SIZE 512 + +struct hda_cs_dsp_coeff_ctl { + struct cs_dsp_coeff_ctl *cs_ctl; + struct snd_card *card; + struct snd_kcontrol *kctl; +}; + +static const char * const hda_cs_dsp_fw_text[HDA_CS_DSP_NUM_FW] = { + [HDA_CS_DSP_FW_SPK_PROT] = "Prot", + [HDA_CS_DSP_FW_SPK_CALI] = "Cali", + [HDA_CS_DSP_FW_SPK_DIAG] = "Diag", + [HDA_CS_DSP_FW_MISC] = "Misc", +}; + +const char * const hda_cs_dsp_fw_ids[HDA_CS_DSP_NUM_FW] = { + [HDA_CS_DSP_FW_SPK_PROT] = "spk-prot", + [HDA_CS_DSP_FW_SPK_CALI] = "spk-cali", + [HDA_CS_DSP_FW_SPK_DIAG] = "spk-diag", + [HDA_CS_DSP_FW_MISC] = "misc", +}; +EXPORT_SYMBOL_NS_GPL(hda_cs_dsp_fw_ids, SND_HDA_CS_DSP_CONTROLS); + +static int hda_cs_dsp_coeff_info(struct snd_kcontrol *kctl, struct snd_ctl_elem_info *uinfo) +{ + struct hda_cs_dsp_coeff_ctl *ctl = (struct hda_cs_dsp_coeff_ctl *)snd_kcontrol_chip(kctl); + struct cs_dsp_coeff_ctl *cs_ctl = ctl->cs_ctl; + + uinfo->type = SNDRV_CTL_ELEM_TYPE_BYTES; + uinfo->count = cs_ctl->len; + + return 0; +} + +static int hda_cs_dsp_coeff_put(struct snd_kcontrol *kctl, struct snd_ctl_elem_value *ucontrol) +{ + struct hda_cs_dsp_coeff_ctl *ctl = (struct hda_cs_dsp_coeff_ctl *)snd_kcontrol_chip(kctl); + struct cs_dsp_coeff_ctl *cs_ctl = ctl->cs_ctl; + char *p = ucontrol->value.bytes.data; + int ret = 0; + + mutex_lock(&cs_ctl->dsp->pwr_lock); + ret = cs_dsp_coeff_write_ctrl(cs_ctl, 0, p, cs_ctl->len); + mutex_unlock(&cs_ctl->dsp->pwr_lock); + + return ret; +} + +static int hda_cs_dsp_coeff_get(struct snd_kcontrol *kctl, struct snd_ctl_elem_value *ucontrol) +{ + struct hda_cs_dsp_coeff_ctl *ctl = (struct hda_cs_dsp_coeff_ctl *)snd_kcontrol_chip(kctl); + struct cs_dsp_coeff_ctl *cs_ctl = ctl->cs_ctl; + char *p = ucontrol->value.bytes.data; + int ret; + + mutex_lock(&cs_ctl->dsp->pwr_lock); + ret = cs_dsp_coeff_read_ctrl(cs_ctl, 0, p, cs_ctl->len); + mutex_unlock(&cs_ctl->dsp->pwr_lock); + + return ret; +} + +static unsigned int wmfw_convert_flags(unsigned int in) +{ + unsigned int out, rd, wr, vol; + + rd = SNDRV_CTL_ELEM_ACCESS_READ; + wr = SNDRV_CTL_ELEM_ACCESS_WRITE; + vol = SNDRV_CTL_ELEM_ACCESS_VOLATILE; + + out = 0; + + if (in) { + out |= rd; + if (in & WMFW_CTL_FLAG_WRITEABLE) + out |= wr; + if (in & WMFW_CTL_FLAG_VOLATILE) + out |= vol; + } else { + out |= rd | wr | vol; + } + + return out; +} + +static int hda_cs_dsp_add_kcontrol(struct hda_cs_dsp_coeff_ctl *ctl, const char *name) +{ + struct cs_dsp_coeff_ctl *cs_ctl = ctl->cs_ctl; + struct snd_kcontrol_new kcontrol = {0}; + struct snd_kcontrol *kctl; + int ret = 0; + + if (cs_ctl->len > ADSP_MAX_STD_CTRL_SIZE) { + dev_err(cs_ctl->dsp->dev, "KControl %s: length %zu exceeds maximum %d\n", name, + cs_ctl->len, ADSP_MAX_STD_CTRL_SIZE); + return -EINVAL; + } + + kcontrol.name = name; + kcontrol.info = hda_cs_dsp_coeff_info; + kcontrol.iface = SNDRV_CTL_ELEM_IFACE_MIXER; + kcontrol.access = wmfw_convert_flags(cs_ctl->flags); + kcontrol.get = hda_cs_dsp_coeff_get; + kcontrol.put = hda_cs_dsp_coeff_put; + + /* Save ctl inside private_data, ctl is owned by cs_dsp, + * and will be freed when cs_dsp removes the control */ + kctl = snd_ctl_new1(&kcontrol, (void *)ctl); + if (!kctl) { + ret = -ENOMEM; + return ret; + } + + ret = snd_ctl_add(ctl->card, kctl); + if (ret) { + dev_err(cs_ctl->dsp->dev, "Failed to add KControl %s = %d\n", kcontrol.name, ret); + return ret; + } + + dev_dbg(cs_ctl->dsp->dev, "Added KControl: %s\n", kcontrol.name); + ctl->kctl = kctl; + + return 0; +} + +int hda_cs_dsp_control_add(struct cs_dsp_coeff_ctl *cs_ctl, struct hda_cs_dsp_ctl_info *info) +{ + struct cs_dsp *cs_dsp = cs_ctl->dsp; + char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; + struct hda_cs_dsp_coeff_ctl *ctl; + const char *region_name; + int ret; + + if (cs_ctl->flags & WMFW_CTL_FLAG_SYS) + return 0; + + region_name = cs_dsp_mem_region_name(cs_ctl->alg_region.type); + if (!region_name) { + dev_err(cs_dsp->dev, "Unknown region type: %d\n", cs_ctl->alg_region.type); + return -EINVAL; + } + + ret = scnprintf(name, SNDRV_CTL_ELEM_ID_NAME_MAXLEN, "%s %s %.12s %x", info->device_name, + cs_dsp->name, hda_cs_dsp_fw_text[info->fw_type], cs_ctl->alg_region.alg); + + if (cs_ctl->subname) { + int avail = SNDRV_CTL_ELEM_ID_NAME_MAXLEN - ret - 2; + int skip = 0; + + /* Truncate the subname from the start if it is too long */ + if (cs_ctl->subname_len > avail) + skip = cs_ctl->subname_len - avail; + + snprintf(name + ret, SNDRV_CTL_ELEM_ID_NAME_MAXLEN - ret, + " %.*s", cs_ctl->subname_len - skip, cs_ctl->subname + skip); + } + + ctl = kzalloc(sizeof(*ctl), GFP_KERNEL); + if (!ctl) + return -ENOMEM; + + ctl->cs_ctl = cs_ctl; + ctl->card = info->card; + cs_ctl->priv = ctl; + + ret = hda_cs_dsp_add_kcontrol(ctl, name); + if (ret) { + dev_err(cs_dsp->dev, "Error (%d) adding control %s\n", ret, name); + kfree(ctl); + return ret; + } + + return 0; +} +EXPORT_SYMBOL_NS_GPL(hda_cs_dsp_control_add, SND_HDA_CS_DSP_CONTROLS); + +void hda_cs_dsp_control_remove(struct cs_dsp_coeff_ctl *cs_ctl) +{ + struct hda_cs_dsp_coeff_ctl *ctl = cs_ctl->priv; + + kfree(ctl); +} +EXPORT_SYMBOL_NS_GPL(hda_cs_dsp_control_remove, SND_HDA_CS_DSP_CONTROLS); + +int hda_cs_dsp_write_ctl(struct cs_dsp *dsp, const char *name, int type, + unsigned int alg, const void *buf, size_t len) +{ + struct cs_dsp_coeff_ctl *cs_ctl; + struct hda_cs_dsp_coeff_ctl *ctl; + int ret; + + cs_ctl = cs_dsp_get_ctl(dsp, name, type, alg); + if (!cs_ctl) + return -EINVAL; + + ctl = cs_ctl->priv; + + ret = cs_dsp_coeff_write_ctrl(cs_ctl, 0, buf, len); + if (ret) + return ret; + + if (cs_ctl->flags & WMFW_CTL_FLAG_SYS) + return 0; + + snd_ctl_notify(ctl->card, SNDRV_CTL_EVENT_MASK_VALUE, &ctl->kctl->id); + + return 0; +} +EXPORT_SYMBOL_NS_GPL(hda_cs_dsp_write_ctl, SND_HDA_CS_DSP_CONTROLS); + +int hda_cs_dsp_read_ctl(struct cs_dsp *dsp, const char *name, int type, + unsigned int alg, void *buf, size_t len) +{ + struct cs_dsp_coeff_ctl *cs_ctl; + + cs_ctl = cs_dsp_get_ctl(dsp, name, type, alg); + if (!cs_ctl) + return -EINVAL; + + return cs_dsp_coeff_read_ctrl(cs_ctl, 0, buf, len); +} +EXPORT_SYMBOL_NS_GPL(hda_cs_dsp_read_ctl, SND_HDA_CS_DSP_CONTROLS); + +MODULE_DESCRIPTION("CS_DSP ALSA Control HDA Library"); +MODULE_AUTHOR("Stefan Binding, "); +MODULE_LICENSE("GPL"); --- linux-gcp-5.19.0.orig/sound/pci/hda/hda_cs_dsp_ctl.h +++ linux-gcp-5.19.0/sound/pci/hda/hda_cs_dsp_ctl.h @@ -0,0 +1,39 @@ +/* SPDX-License-Identifier: GPL-2.0 + * + * HDA DSP ALSA Control Driver + * + * Copyright 2022 Cirrus Logic, Inc. + * + * Author: Stefan Binding + */ + +#ifndef __HDA_CS_DSP_CTL_H__ +#define __HDA_CS_DSP_CTL_H__ + +#include +#include + +enum hda_cs_dsp_fw_id { + HDA_CS_DSP_FW_SPK_PROT, + HDA_CS_DSP_FW_SPK_CALI, + HDA_CS_DSP_FW_SPK_DIAG, + HDA_CS_DSP_FW_MISC, + HDA_CS_DSP_NUM_FW +}; + +struct hda_cs_dsp_ctl_info { + struct snd_card *card; + enum hda_cs_dsp_fw_id fw_type; + const char *device_name; +}; + +extern const char * const hda_cs_dsp_fw_ids[HDA_CS_DSP_NUM_FW]; + +int hda_cs_dsp_control_add(struct cs_dsp_coeff_ctl *cs_ctl, struct hda_cs_dsp_ctl_info *info); +void hda_cs_dsp_control_remove(struct cs_dsp_coeff_ctl *cs_ctl); +int hda_cs_dsp_write_ctl(struct cs_dsp *dsp, const char *name, int type, + unsigned int alg, const void *buf, size_t len); +int hda_cs_dsp_read_ctl(struct cs_dsp *dsp, const char *name, int type, + unsigned int alg, void *buf, size_t len); + +#endif /*__HDA_CS_DSP_CTL_H__*/ --- linux-gcp-5.19.0.orig/sound/pci/hda/hda_intel.c +++ linux-gcp-5.19.0/sound/pci/hda/hda_intel.c @@ -126,6 +126,7 @@ CONFIG_SND_HDA_INPUT_BEEP_MODE}; #endif static bool dmic_detect = 1; +static bool ctl_dev_id = IS_ENABLED(CONFIG_SND_HDA_CTL_DEV_ID) ? 1 : 0; module_param_array(index, int, NULL, 0444); MODULE_PARM_DESC(index, "Index value for Intel HD audio interface."); @@ -164,6 +165,8 @@ MODULE_PARM_DESC(dmic_detect, "Allow DSP driver selection (bypass this driver) " "(0=off, 1=on) (default=1); " "deprecated, use snd-intel-dspcfg.dsp_driver option instead"); +module_param(ctl_dev_id, bool, 0444); +MODULE_PARM_DESC(ctl_dev_id, "Use control device identifier (based on codec address)."); #ifdef CONFIG_PM static int param_set_xint(const char *val, const struct kernel_param *kp); @@ -1817,7 +1820,7 @@ /* use the non-cached pages in non-snoop mode */ if (!azx_snoop(chip)) - azx_bus(chip)->dma_type = SNDRV_DMA_TYPE_DEV_WC; + azx_bus(chip)->dma_type = SNDRV_DMA_TYPE_DEV_WC_SG; if (chip->driver_type == AZX_DRIVER_NVIDIA) { dev_dbg(chip->card->dev, "Enable delay in RIRB handling\n"); @@ -2285,6 +2288,8 @@ chip->beep_mode = beep_mode[dev]; #endif + chip->ctl_dev_id = ctl_dev_id; + /* create codec instances */ if (bus->codec_mask) { err = azx_probe_codecs(chip, azx_max_codecs[chip->driver_type]); @@ -2550,9 +2555,12 @@ /* 5 Series/3400 */ { PCI_DEVICE(0x8086, 0x3b56), .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH_NOPM }, + { PCI_DEVICE(0x8086, 0x3b57), + .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH_NOPM }, /* Poulsbo */ { PCI_DEVICE(0x8086, 0x811b), - .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH_BASE }, + .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH_BASE | + AZX_DCAPS_POSFIX_LPIB }, /* Oaktrail */ { PCI_DEVICE(0x8086, 0x080a), .driver_data = AZX_DRIVER_SCH | AZX_DCAPS_INTEL_PCH_BASE }, @@ -2715,6 +2723,9 @@ { PCI_DEVICE(0x1002, 0xab28), .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS | AZX_DCAPS_PM_RUNTIME }, + { PCI_DEVICE(0x1002, 0xab30), + .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS | + AZX_DCAPS_PM_RUNTIME }, { PCI_DEVICE(0x1002, 0xab38), .driver_data = AZX_DRIVER_ATIHDMI_NS | AZX_DCAPS_PRESET_ATI_HDMI_NS | AZX_DCAPS_PM_RUNTIME }, --- linux-gcp-5.19.0.orig/sound/pci/hda/patch_ca0132.c +++ linux-gcp-5.19.0/sound/pci/hda/patch_ca0132.c @@ -1306,6 +1306,7 @@ SND_PCI_QUIRK(0x1458, 0xA026, "Gigabyte G1.Sniper Z97", QUIRK_R3DI), SND_PCI_QUIRK(0x1458, 0xA036, "Gigabyte GA-Z170X-Gaming 7", QUIRK_R3DI), SND_PCI_QUIRK(0x3842, 0x1038, "EVGA X99 Classified", QUIRK_R3DI), + SND_PCI_QUIRK(0x3842, 0x1055, "EVGA Z390 DARK", QUIRK_R3DI), SND_PCI_QUIRK(0x1102, 0x0013, "Recon3D", QUIRK_R3D), SND_PCI_QUIRK(0x1102, 0x0018, "Recon3D", QUIRK_R3D), SND_PCI_QUIRK(0x1102, 0x0051, "Sound Blaster AE-5", QUIRK_AE5), @@ -2454,7 +2455,7 @@ static int dspio_alloc_dma_chan(struct hda_codec *codec, unsigned int *dma_chan) { int status = 0; - unsigned int size = sizeof(dma_chan); + unsigned int size = sizeof(*dma_chan); codec_dbg(codec, " dspio_alloc_dma_chan() -- begin\n"); status = dspio_scp(codec, MASTERCONTROL, 0x20, --- linux-gcp-5.19.0.orig/sound/pci/hda/patch_cirrus.c +++ linux-gcp-5.19.0/sound/pci/hda/patch_cirrus.c @@ -395,6 +395,7 @@ /* codec SSID */ SND_PCI_QUIRK(0x106b, 0x0600, "iMac 14,1", CS420X_IMAC27_122), + SND_PCI_QUIRK(0x106b, 0x0900, "iMac 12,1", CS420X_IMAC27_122), SND_PCI_QUIRK(0x106b, 0x1c00, "MacBookPro 8,1", CS420X_MBP81), SND_PCI_QUIRK(0x106b, 0x2000, "iMac 12,2", CS420X_IMAC27_122), SND_PCI_QUIRK(0x106b, 0x2800, "MacBookPro 10,1", CS420X_MBP101), --- linux-gcp-5.19.0.orig/sound/pci/hda/patch_conexant.c +++ linux-gcp-5.19.0/sound/pci/hda/patch_conexant.c @@ -222,6 +222,7 @@ CXT_PINCFG_LEMOTE_A1205, CXT_PINCFG_COMPAQ_CQ60, CXT_FIXUP_STEREO_DMIC, + CXT_PINCFG_LENOVO_NOTEBOOK, CXT_FIXUP_INC_MIC_BOOST, CXT_FIXUP_HEADPHONE_MIC_PIN, CXT_FIXUP_HEADPHONE_MIC, @@ -772,6 +773,14 @@ .type = HDA_FIXUP_FUNC, .v.func = cxt_fixup_stereo_dmic, }, + [CXT_PINCFG_LENOVO_NOTEBOOK] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x1a, 0x05d71030 }, + { } + }, + .chain_id = CXT_FIXUP_STEREO_DMIC, + }, [CXT_FIXUP_INC_MIC_BOOST] = { .type = HDA_FIXUP_FUNC, .v.func = cxt5066_increase_mic_boost, @@ -971,7 +980,7 @@ SND_PCI_QUIRK(0x17aa, 0x3905, "Lenovo G50-30", CXT_FIXUP_STEREO_DMIC), SND_PCI_QUIRK(0x17aa, 0x390b, "Lenovo G50-80", CXT_FIXUP_STEREO_DMIC), SND_PCI_QUIRK(0x17aa, 0x3975, "Lenovo U300s", CXT_FIXUP_STEREO_DMIC), - SND_PCI_QUIRK(0x17aa, 0x3977, "Lenovo IdeaPad U310", CXT_FIXUP_STEREO_DMIC), + SND_PCI_QUIRK(0x17aa, 0x3977, "Lenovo IdeaPad U310", CXT_PINCFG_LENOVO_NOTEBOOK), SND_PCI_QUIRK(0x17aa, 0x3978, "Lenovo G50-70", CXT_FIXUP_STEREO_DMIC), SND_PCI_QUIRK(0x17aa, 0x397b, "Lenovo S205", CXT_FIXUP_STEREO_DMIC), SND_PCI_QUIRK_VENDOR(0x17aa, "Thinkpad", CXT_FIXUP_THINKPAD_ACPI), @@ -1116,6 +1125,7 @@ HDA_CODEC_ENTRY(0x14f11f87, "SN6140", patch_conexant_auto), HDA_CODEC_ENTRY(0x14f12008, "CX8200", patch_conexant_auto), HDA_CODEC_ENTRY(0x14f120d0, "CX11970", patch_conexant_auto), + HDA_CODEC_ENTRY(0x14f120d1, "SN6180", patch_conexant_auto), HDA_CODEC_ENTRY(0x14f15045, "CX20549 (Venice)", patch_conexant_auto), HDA_CODEC_ENTRY(0x14f15047, "CX20551 (Waikiki)", patch_conexant_auto), HDA_CODEC_ENTRY(0x14f15051, "CX20561 (Hermosa)", patch_conexant_auto), --- linux-gcp-5.19.0.orig/sound/pci/hda/patch_cs8409-tables.c +++ linux-gcp-5.19.0/sound/pci/hda/patch_cs8409-tables.c @@ -546,6 +546,10 @@ SND_PCI_QUIRK(0x1028, 0x0BD6, "Dolphin", CS8409_DOLPHIN), SND_PCI_QUIRK(0x1028, 0x0BD7, "Dolphin", CS8409_DOLPHIN), SND_PCI_QUIRK(0x1028, 0x0BD8, "Dolphin", CS8409_DOLPHIN), + SND_PCI_QUIRK(0x1028, 0x0C43, "Dolphin", CS8409_DOLPHIN), + SND_PCI_QUIRK(0x1028, 0x0C50, "Dolphin", CS8409_DOLPHIN), + SND_PCI_QUIRK(0x1028, 0x0C51, "Dolphin", CS8409_DOLPHIN), + SND_PCI_QUIRK(0x1028, 0x0C52, "Dolphin", CS8409_DOLPHIN), {} /* terminator */ }; --- linux-gcp-5.19.0.orig/sound/pci/hda/patch_cs8409.c +++ linux-gcp-5.19.0/sound/pci/hda/patch_cs8409.c @@ -888,7 +888,7 @@ /* Initialize CS42L42 companion codec */ cs8409_i2c_bulk_write(cs42l42, cs42l42->init_seq, cs42l42->init_seq_num); - usleep_range(20000, 25000); + usleep_range(30000, 35000); /* Clear interrupts, by reading interrupt status registers */ cs8409_i2c_bulk_read(cs42l42, irq_regs, ARRAY_SIZE(irq_regs)); --- linux-gcp-5.19.0.orig/sound/pci/hda/patch_hdmi.c +++ linux-gcp-5.19.0/sound/pci/hda/patch_hdmi.c @@ -53,7 +53,8 @@ struct hdmi_spec_per_cvt { hda_nid_t cvt_nid; - int assigned; + bool assigned; /* the stream has been assigned */ + bool silent_stream; /* silent stream activated */ unsigned int channels_min; unsigned int channels_max; u32 rates; @@ -170,6 +171,8 @@ bool dyn_pcm_no_legacy; /* hdmi interrupt trigger control flag for Nvidia codec */ bool hdmi_intr_trig_ctrl; + bool nv_dp_workaround; /* workaround DP audio infoframe for Nvidia */ + bool intel_hsw_fixup; /* apply Intel platform-specific fixups */ /* * Non-generic VIA/NVIDIA specific @@ -679,15 +682,24 @@ int ca, int active_channels, int conn_type) { + struct hdmi_spec *spec = codec->spec; union audio_infoframe ai; memset(&ai, 0, sizeof(ai)); - if (conn_type == 0) { /* HDMI */ + if ((conn_type == 0) || /* HDMI */ + /* Nvidia DisplayPort: Nvidia HW expects same layout as HDMI */ + (conn_type == 1 && spec->nv_dp_workaround)) { struct hdmi_audio_infoframe *hdmi_ai = &ai.hdmi; - hdmi_ai->type = 0x84; - hdmi_ai->ver = 0x01; - hdmi_ai->len = 0x0a; + if (conn_type == 0) { /* HDMI */ + hdmi_ai->type = 0x84; + hdmi_ai->ver = 0x01; + hdmi_ai->len = 0x0a; + } else {/* Nvidia DP */ + hdmi_ai->type = 0x84; + hdmi_ai->ver = 0x1b; + hdmi_ai->len = 0x11 << 2; + } hdmi_ai->CC02_CT47 = active_channels - 1; hdmi_ai->CA = ca; hdmi_checksum_audio_infoframe(hdmi_ai); @@ -977,7 +989,8 @@ * of the pin. */ static int hdmi_choose_cvt(struct hda_codec *codec, - int pin_idx, int *cvt_id) + int pin_idx, int *cvt_id, + bool silent) { struct hdmi_spec *spec = codec->spec; struct hdmi_spec_per_pin *per_pin; @@ -992,6 +1005,9 @@ if (per_pin && per_pin->silent_stream) { cvt_idx = cvt_nid_to_cvt_index(codec, per_pin->cvt_nid); + per_cvt = get_cvt(spec, cvt_idx); + if (per_cvt->assigned && !silent) + return -EBUSY; if (cvt_id) *cvt_id = cvt_idx; return 0; @@ -1002,7 +1018,7 @@ per_cvt = get_cvt(spec, cvt_idx); /* Must not already be assigned */ - if (per_cvt->assigned) + if (per_cvt->assigned || per_cvt->silent_stream) continue; if (per_pin == NULL) break; @@ -1188,12 +1204,12 @@ if (pcm_idx < 0) return -EINVAL; - err = hdmi_choose_cvt(codec, -1, &cvt_idx); + err = hdmi_choose_cvt(codec, -1, &cvt_idx, false); if (err) return err; per_cvt = get_cvt(spec, cvt_idx); - per_cvt->assigned = 1; + per_cvt->assigned = true; hinfo->nid = per_cvt->cvt_nid; pin_cvt_fixup(codec, NULL, per_cvt->cvt_nid); @@ -1256,13 +1272,13 @@ } } - err = hdmi_choose_cvt(codec, pin_idx, &cvt_idx); + err = hdmi_choose_cvt(codec, pin_idx, &cvt_idx, false); if (err < 0) goto unlock; per_cvt = get_cvt(spec, cvt_idx); /* Claim converter */ - per_cvt->assigned = 1; + per_cvt->assigned = true; set_bit(pcm_idx, &spec->pcm_in_use); per_pin = get_pin(spec, pin_idx); @@ -1296,7 +1312,7 @@ snd_hdmi_eld_update_pcm_info(&eld->info, hinfo); if (hinfo->channels_min > hinfo->channels_max || !hinfo->rates || !hinfo->formats) { - per_cvt->assigned = 0; + per_cvt->assigned = false; hinfo->nid = 0; snd_hda_spdif_ctls_unassign(codec, pcm_idx); err = -ENODEV; @@ -1748,14 +1764,14 @@ } pin_idx = pin_id_to_pin_index(codec, per_pin->pin_nid, per_pin->dev_id); - err = hdmi_choose_cvt(codec, pin_idx, &cvt_idx); + err = hdmi_choose_cvt(codec, pin_idx, &cvt_idx, true); if (err) { codec_err(codec, "hdmi: no free converter to enable silent mode\n"); goto unlock_out; } per_cvt = get_cvt(spec, cvt_idx); - per_cvt->assigned = 1; + per_cvt->silent_stream = true; per_pin->cvt_nid = per_cvt->cvt_nid; per_pin->silent_stream = true; @@ -1772,6 +1788,7 @@ switch (spec->silent_stream_type) { case SILENT_STREAM_KAE: + silent_stream_enable_i915(codec, per_pin); silent_stream_set_kae(codec, per_pin, true); break; case SILENT_STREAM_I915: @@ -1815,7 +1832,7 @@ cvt_idx = cvt_nid_to_cvt_index(codec, per_pin->cvt_nid); if (cvt_idx >= 0 && cvt_idx < spec->num_cvts) { per_cvt = get_cvt(spec, cvt_idx); - per_cvt->assigned = 0; + per_cvt->silent_stream = false; } if (spec->silent_stream_type == SILENT_STREAM_I915) { @@ -2012,6 +2029,8 @@ static const struct snd_pci_quirk force_connect_list[] = { SND_PCI_QUIRK(0x103c, 0x870f, "HP", 1), SND_PCI_QUIRK(0x103c, 0x871a, "HP", 1), + SND_PCI_QUIRK(0x103c, 0x8711, "HP", 1), + SND_PCI_QUIRK(0x103c, 0x8715, "HP", 1), SND_PCI_QUIRK(0x1462, 0xec94, "MS-7C94", 1), SND_PCI_QUIRK(0x8086, 0x2081, "Intel NUC 10", 1), {} @@ -2211,7 +2230,7 @@ goto unlock; } per_cvt = get_cvt(spec, cvt_idx); - per_cvt->assigned = 0; + per_cvt->assigned = false; hinfo->nid = 0; azx_stream(get_azx_dev(substream))->stripe = 0; @@ -2735,9 +2754,6 @@ */ if (codec->core.dev.power.power_state.event == PM_EVENT_SUSPEND) return; - /* ditto during suspend/resume process itself */ - if (snd_hdac_is_in_pm(&codec->core)) - return; check_presence_and_report(codec, pin_nid, dev_id); } @@ -2921,9 +2937,6 @@ */ if (codec->core.dev.power.power_state.event == PM_EVENT_SUSPEND) return; - /* ditto during suspend/resume process itself */ - if (snd_hdac_is_in_pm(&codec->core)) - return; snd_hdac_i915_set_bclk(&codec->bus->core); check_presence_and_report(codec, pin_nid, dev_id); @@ -2953,9 +2966,33 @@ hda_nid_t pin_nid, int dev_id, u32 stream_tag, int format) { + struct hdmi_spec *spec = codec->spec; + int pin_idx = pin_id_to_pin_index(codec, pin_nid, dev_id); + struct hdmi_spec_per_pin *per_pin; + int res; + + if (pin_idx < 0) + per_pin = NULL; + else + per_pin = get_pin(spec, pin_idx); + haswell_verify_D0(codec, cvt_nid, pin_nid); - return hdmi_setup_stream(codec, cvt_nid, pin_nid, dev_id, - stream_tag, format); + + if (spec->silent_stream_type == SILENT_STREAM_KAE && per_pin && per_pin->silent_stream) { + silent_stream_set_kae(codec, per_pin, false); + /* wait for pending transfers in codec to clear */ + usleep_range(100, 200); + } + + res = hdmi_setup_stream(codec, cvt_nid, pin_nid, dev_id, + stream_tag, format); + + if (spec->silent_stream_type == SILENT_STREAM_KAE && per_pin && per_pin->silent_stream) { + usleep_range(100, 200); + silent_stream_set_kae(codec, per_pin, true); + } + + return res; } /* pin_cvt_fixup ops override for HSW+ and VLV+ */ @@ -2975,6 +3012,88 @@ } } +#ifdef CONFIG_PM +static int i915_adlp_hdmi_suspend(struct hda_codec *codec) +{ + struct hdmi_spec *spec = codec->spec; + bool silent_streams = false; + int pin_idx, res; + + res = generic_hdmi_suspend(codec); + + for (pin_idx = 0; pin_idx < spec->num_pins; pin_idx++) { + struct hdmi_spec_per_pin *per_pin = get_pin(spec, pin_idx); + + if (per_pin->silent_stream) { + silent_streams = true; + break; + } + } + + if (silent_streams && spec->silent_stream_type == SILENT_STREAM_KAE) { + /* + * stream-id should remain programmed when codec goes + * to runtime suspend + */ + codec->no_stream_clean_at_suspend = 1; + + /* + * the system might go to S3, in which case keep-alive + * must be reprogrammed upon resume + */ + codec->forced_resume = 1; + + codec_dbg(codec, "HDMI: KAE active at suspend\n"); + } else { + codec->no_stream_clean_at_suspend = 0; + codec->forced_resume = 0; + } + + return res; +} + +static int i915_adlp_hdmi_resume(struct hda_codec *codec) +{ + struct hdmi_spec *spec = codec->spec; + int pin_idx, res; + + res = generic_hdmi_resume(codec); + + /* KAE not programmed at suspend, nothing to do here */ + if (!codec->no_stream_clean_at_suspend) + return res; + + for (pin_idx = 0; pin_idx < spec->num_pins; pin_idx++) { + struct hdmi_spec_per_pin *per_pin = get_pin(spec, pin_idx); + + /* + * If system was in suspend with monitor connected, + * the codec setting may have been lost. Re-enable + * keep-alive. + */ + if (per_pin->silent_stream) { + unsigned int param; + + param = snd_hda_codec_read(codec, per_pin->cvt_nid, 0, + AC_VERB_GET_CONV, 0); + if (!param) { + codec_dbg(codec, "HDMI: KAE: restore stream id\n"); + silent_stream_enable_i915(codec, per_pin); + } + + param = snd_hda_codec_read(codec, per_pin->cvt_nid, 0, + AC_VERB_GET_DIGI_CONVERT_1, 0); + if (!(param & (AC_DIG3_KAE << 16))) { + codec_dbg(codec, "HDMI: KAE: restore DIG3_KAE\n"); + silent_stream_set_kae(codec, per_pin, true); + } + } + } + + return res; +} +#endif + /* precondition and allocation for Intel codecs */ static int alloc_intel_hdmi(struct hda_codec *codec) { @@ -3114,8 +3233,14 @@ if (!res) { spec = codec->spec; - if (spec->silent_stream_type) + if (spec->silent_stream_type) { spec->silent_stream_type = SILENT_STREAM_KAE; + +#ifdef CONFIG_PM + codec->patch_ops.resume = i915_adlp_hdmi_resume; + codec->patch_ops.suspend = i915_adlp_hdmi_suspend; +#endif + } } return res; @@ -3617,6 +3742,7 @@ spec->pcm_playback.rates = SUPPORTED_RATES; spec->pcm_playback.maxbps = SUPPORTED_MAXBPS; spec->pcm_playback.formats = SUPPORTED_FORMATS; + spec->nv_dp_workaround = true; return 0; } @@ -3756,6 +3882,7 @@ spec->chmap.ops.chmap_cea_alloc_validate_get_type = nvhdmi_chmap_cea_alloc_validate_get_type; spec->chmap.ops.chmap_validate = nvhdmi_chmap_validate; + spec->nv_dp_workaround = true; codec->link_down_at_suspend = 1; @@ -3779,6 +3906,7 @@ spec->chmap.ops.chmap_cea_alloc_validate_get_type = nvhdmi_chmap_cea_alloc_validate_get_type; spec->chmap.ops.chmap_validate = nvhdmi_chmap_validate; + spec->nv_dp_workaround = true; codec->link_down_at_suspend = 1; @@ -3984,6 +4112,7 @@ generic_hdmi_init_per_pins(codec); + codec->depop_delay = 10; codec->patch_ops.build_pcms = tegra_hdmi_build_pcms; spec->chmap.ops.chmap_cea_alloc_validate_get_type = nvhdmi_chmap_cea_alloc_validate_get_type; @@ -3992,6 +4121,7 @@ spec->chmap.ops.chmap_cea_alloc_validate_get_type = nvhdmi_chmap_cea_alloc_validate_get_type; spec->chmap.ops.chmap_validate = nvhdmi_chmap_validate; + spec->nv_dp_workaround = true; return 0; } --- linux-gcp-5.19.0.orig/sound/pci/hda/patch_realtek.c +++ linux-gcp-5.19.0/sound/pci/hda/patch_realtek.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -831,7 +832,7 @@ alc_setup_gpio(codec, 0x02); break; case 7: - alc_setup_gpio(codec, 0x03); + alc_setup_gpio(codec, 0x04); break; case 5: default: @@ -3563,6 +3564,15 @@ hda_nid_t hp_pin = alc_get_hp_pin(spec); bool hp_pin_sense; + if (spec->ultra_low_power) { + alc_update_coef_idx(codec, 0x03, 1<<1, 1<<1); + alc_update_coef_idx(codec, 0x08, 3<<2, 3<<2); + alc_update_coef_idx(codec, 0x08, 7<<4, 0); + alc_update_coef_idx(codec, 0x3b, 1<<15, 0); + alc_update_coef_idx(codec, 0x0e, 7<<6, 7<<6); + msleep(30); + } + if (!hp_pin) hp_pin = 0x21; @@ -3574,14 +3584,6 @@ msleep(2); alc_update_coefex_idx(codec, 0x57, 0x04, 0x0007, 0x1); /* Low power */ - if (spec->ultra_low_power) { - alc_update_coef_idx(codec, 0x03, 1<<1, 1<<1); - alc_update_coef_idx(codec, 0x08, 3<<2, 3<<2); - alc_update_coef_idx(codec, 0x08, 7<<4, 0); - alc_update_coef_idx(codec, 0x3b, 1<<15, 0); - alc_update_coef_idx(codec, 0x0e, 7<<6, 7<<6); - msleep(30); - } snd_hda_codec_write(codec, hp_pin, 0, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE); @@ -3712,6 +3714,13 @@ hda_nid_t hp_pin = alc_get_hp_pin(spec); bool hp1_pin_sense, hp2_pin_sense; + if (spec->ultra_low_power) { + alc_update_coef_idx(codec, 0x08, 0x0f << 2, 3<<2); + alc_update_coef_idx(codec, 0x0e, 7<<6, 7<<6); + alc_update_coef_idx(codec, 0x33, 1<<11, 0); + msleep(30); + } + if (spec->codec_variant != ALC269_TYPE_ALC287 && spec->codec_variant != ALC269_TYPE_ALC245) /* required only at boot or S3 and S4 resume time */ @@ -3733,12 +3742,6 @@ msleep(2); alc_update_coefex_idx(codec, 0x57, 0x04, 0x0007, 0x1); /* Low power */ - if (spec->ultra_low_power) { - alc_update_coef_idx(codec, 0x08, 0x0f << 2, 3<<2); - alc_update_coef_idx(codec, 0x0e, 7<<6, 7<<6); - alc_update_coef_idx(codec, 0x33, 1<<11, 0); - msleep(30); - } if (hp1_pin_sense || spec->ultra_low_power) snd_hda_codec_write(codec, hp_pin, 0, @@ -4021,15 +4024,22 @@ static int alc269_suspend(struct hda_codec *codec) { struct alc_spec *spec = codec->spec; + int i; if (spec->has_alc5505_dsp) alc5505_dsp_suspend(codec); + + for (i = 0; i < HDA_MAX_COMPONENTS; i++) + if (spec->comps[i].suspend_hook) + spec->comps[i].suspend_hook(spec->comps[i].dev); + return alc_suspend(codec); } static int alc269_resume(struct hda_codec *codec) { struct alc_spec *spec = codec->spec; + int i; if (spec->codec_variant == ALC269_TYPE_ALC269VB) alc269vb_toggle_power_output(codec, 0); @@ -4060,6 +4070,10 @@ if (spec->has_alc5505_dsp) alc5505_dsp_resume(codec); + for (i = 0; i < HDA_MAX_COMPONENTS; i++) + if (spec->comps[i].resume_hook) + spec->comps[i].resume_hook(spec->comps[i].dev); + return 0; } #endif /* CONFIG_PM */ @@ -4642,6 +4656,16 @@ } } +static void alc285_fixup_hp_gpio_micmute_led(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + struct alc_spec *spec = codec->spec; + + if (action == HDA_FIXUP_ACT_PRE_PROBE) + spec->micmute_led_polarity = 1; + alc_fixup_hp_gpio_led(codec, action, 0, 0x04); +} + static void alc236_fixup_hp_coef_micmute_led(struct hda_codec *codec, const struct hda_fixup *fix, int action) { @@ -4663,6 +4687,13 @@ alc285_fixup_hp_coef_micmute_led(codec, fix, action); } +static void alc285_fixup_hp_spectre_x360_mute_led(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + alc285_fixup_hp_mute_led_coefbit(codec, fix, action); + alc285_fixup_hp_gpio_micmute_led(codec, fix, action); +} + static void alc236_fixup_hp_mute_led(struct hda_codec *codec, const struct hda_fixup *fix, int action) { @@ -4689,6 +4720,48 @@ alc236_fixup_hp_micmute_led_vref(codec, fix, action); } +static inline void alc298_samsung_write_coef_pack(struct hda_codec *codec, + const unsigned short coefs[2]) +{ + alc_write_coef_idx(codec, 0x23, coefs[0]); + alc_write_coef_idx(codec, 0x25, coefs[1]); + alc_write_coef_idx(codec, 0x26, 0xb011); +} + +struct alc298_samsung_amp_desc { + unsigned char nid; + unsigned short init_seq[2][2]; +}; + +static void alc298_fixup_samsung_amp(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + int i, j; + static const unsigned short init_seq[][2] = { + { 0x19, 0x00 }, { 0x20, 0xc0 }, { 0x22, 0x44 }, { 0x23, 0x08 }, + { 0x24, 0x85 }, { 0x25, 0x41 }, { 0x35, 0x40 }, { 0x36, 0x01 }, + { 0x38, 0x81 }, { 0x3a, 0x03 }, { 0x3b, 0x81 }, { 0x40, 0x3e }, + { 0x41, 0x07 }, { 0x400, 0x1 } + }; + static const struct alc298_samsung_amp_desc amps[] = { + { 0x3a, { { 0x18, 0x1 }, { 0x26, 0x0 } } }, + { 0x39, { { 0x18, 0x2 }, { 0x26, 0x1 } } } + }; + + if (action != HDA_FIXUP_ACT_INIT) + return; + + for (i = 0; i < ARRAY_SIZE(amps); i++) { + alc_write_coef_idx(codec, 0x22, amps[i].nid); + + for (j = 0; j < ARRAY_SIZE(amps[i].init_seq); j++) + alc298_samsung_write_coef_pack(codec, amps[i].init_seq[j]); + + for (j = 0; j < ARRAY_SIZE(init_seq); j++) + alc298_samsung_write_coef_pack(codec, init_seq[j]); + } +} + #if IS_REACHABLE(CONFIG_INPUT) static void gpio2_mic_hotkey_event(struct hda_codec *codec, struct hda_jack_callback *event) @@ -6610,8 +6683,20 @@ { struct hda_codec *cdc = dev_to_hda_codec(dev); struct alc_spec *spec = cdc->spec; + int ret, i; + + ret = component_bind_all(dev, spec->comps); + if (ret) + return ret; + + if (snd_hdac_is_power_on(&cdc->core)) { + codec_dbg(cdc, "Resuming after bind.\n"); + for (i = 0; i < HDA_MAX_COMPONENTS; i++) + if (spec->comps[i].resume_hook) + spec->comps[i].resume_hook(spec->comps[i].dev); + } - return component_bind_all(dev, spec->comps); + return 0; } static void comp_unbind(struct device *dev) @@ -6639,22 +6724,51 @@ } } +struct cs35l41_dev_name { + const char *bus; + const char *hid; + int index; +}; + +/* match the device name in a slightly relaxed manner */ +static int comp_match_cs35l41_dev_name(struct device *dev, void *data) +{ + struct cs35l41_dev_name *p = data; + const char *d = dev_name(dev); + int n = strlen(p->bus); + char tmp[32]; + + /* check the bus name */ + if (strncmp(d, p->bus, n)) + return 0; + /* skip the bus number */ + if (isdigit(d[n])) + n++; + /* the rest must be exact matching */ + snprintf(tmp, sizeof(tmp), "-%s:00-cs35l41-hda.%d", p->hid, p->index); + return !strcmp(d + n, tmp); +} + static void cs35l41_generic_fixup(struct hda_codec *cdc, int action, const char *bus, const char *hid, int count) { struct device *dev = hda_codec_dev(cdc); struct alc_spec *spec = cdc->spec; - char *name; + struct cs35l41_dev_name *rec; int ret, i; switch (action) { case HDA_FIXUP_ACT_PRE_PROBE: for (i = 0; i < count; i++) { - name = devm_kasprintf(dev, GFP_KERNEL, - "%s-%s:00-cs35l41-hda.%d", bus, hid, i); - if (!name) + rec = devm_kmalloc(dev, sizeof(*rec), GFP_KERNEL); + if (!rec) return; - component_match_add(dev, &spec->match, component_compare_dev_name, name); + rec->bus = bus; + rec->hid = hid; + rec->index = i; + spec->comps[i].codec = cdc; + component_match_add(dev, &spec->match, + comp_match_cs35l41_dev_name, rec); } ret = component_master_add_with_match(dev, &comp_master_ops, spec->match); if (ret) @@ -6672,12 +6786,12 @@ static void cs35l41_fixup_spi_two(struct hda_codec *codec, const struct hda_fixup *fix, int action) { - cs35l41_generic_fixup(codec, action, "spi0", "CSC3551", 2); + cs35l41_generic_fixup(codec, action, "spi", "CSC3551", 2); } static void cs35l41_fixup_spi_four(struct hda_codec *codec, const struct hda_fixup *fix, int action) { - cs35l41_generic_fixup(codec, action, "spi0", "CSC3551", 4); + cs35l41_generic_fixup(codec, action, "spi", "CSC3551", 4); } static void alc287_fixup_legion_16achg6_speakers(struct hda_codec *cdc, const struct hda_fixup *fix, @@ -6787,6 +6901,71 @@ } } +static void alc287_fixup_yoga9_14iap7_bass_spk_pin(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + /* + * The Pin Complex 0x17 for the bass speakers is wrongly reported as + * unconnected. + */ + static const struct hda_pintbl pincfgs[] = { + { 0x17, 0x90170121 }, + { } + }; + /* + * Avoid DAC 0x06 and 0x08, as they have no volume controls. + * DAC 0x02 and 0x03 would be fine. + */ + static const hda_nid_t conn[] = { 0x02, 0x03 }; + /* + * Prefer both speakerbar (0x14) and bass speakers (0x17) connected to DAC 0x02. + * Headphones (0x21) are connected to DAC 0x03. + */ + static const hda_nid_t preferred_pairs[] = { + 0x14, 0x02, + 0x17, 0x02, + 0x21, 0x03, + 0 + }; + struct alc_spec *spec = codec->spec; + + switch (action) { + case HDA_FIXUP_ACT_PRE_PROBE: + snd_hda_apply_pincfgs(codec, pincfgs); + snd_hda_override_conn_list(codec, 0x17, ARRAY_SIZE(conn), conn); + spec->gen.preferred_dacs = preferred_pairs; + break; + } +} + +static void alc295_fixup_dell_inspiron_top_speakers(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + static const struct hda_pintbl pincfgs[] = { + { 0x14, 0x90170151 }, + { 0x17, 0x90170150 }, + { } + }; + static const hda_nid_t conn[] = { 0x02, 0x03 }; + static const hda_nid_t preferred_pairs[] = { + 0x14, 0x02, + 0x17, 0x03, + 0x21, 0x02, + 0 + }; + struct alc_spec *spec = codec->spec; + + alc_fixup_no_shutup(codec, fix, action); + + switch (action) { + case HDA_FIXUP_ACT_PRE_PROBE: + snd_hda_apply_pincfgs(codec, pincfgs); + snd_hda_override_conn_list(codec, 0x17, ARRAY_SIZE(conn), conn); + spec->gen.preferred_dacs = preferred_pairs; + break; + } +} + enum { ALC269_FIXUP_GPIO2, ALC269_FIXUP_SONY_VAIO, @@ -6842,6 +7021,7 @@ ALC269_FIXUP_LIMIT_INT_MIC_BOOST, ALC269VB_FIXUP_ASUS_ZENBOOK, ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A, + ALC269VB_FIXUP_ASUS_MIC_NO_PRESENCE, ALC269_FIXUP_LIMIT_INT_MIC_BOOST_MUTE_LED, ALC269VB_FIXUP_ORDISSIMO_EVE2, ALC283_FIXUP_CHROME_BOOK, @@ -6957,11 +7137,15 @@ ALC294_FIXUP_ASUS_GU502_HP, ALC294_FIXUP_ASUS_GU502_PINS, ALC294_FIXUP_ASUS_GU502_VERBS, + ALC294_FIXUP_ASUS_G513_PINS, + ALC285_FIXUP_ASUS_G533Z_PINS, ALC285_FIXUP_HP_GPIO_LED, ALC285_FIXUP_HP_MUTE_LED, + ALC285_FIXUP_HP_SPECTRE_X360_MUTE_LED, ALC236_FIXUP_HP_GPIO_LED, ALC236_FIXUP_HP_MUTE_LED, ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF, + ALC298_FIXUP_SAMSUNG_AMP, ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET, ALC256_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET, ALC295_FIXUP_ASUS_MIC_NO_PRESENCE, @@ -7023,6 +7207,10 @@ ALC245_FIXUP_CS35L41_SPI_4_HP_GPIO_LED, ALC285_FIXUP_HP_SPEAKERS_MICMUTE_LED, ALC295_FIXUP_FRAMEWORK_LAPTOP_MIC_NO_PRESENCE, + ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK, + ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN, + ALC295_FIXUP_DELL_INSPIRON_TOP_SPEAKERS, + ALC236_FIXUP_DELL_DUAL_CODECS, }; /* A special fixup for Lenovo C940 and Yoga Duet 7; @@ -7427,6 +7615,15 @@ .chained = true, .chain_id = ALC269VB_FIXUP_ASUS_ZENBOOK, }, + [ALC269VB_FIXUP_ASUS_MIC_NO_PRESENCE] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x18, 0x01a110f0 }, /* use as headset mic */ + { } + }, + .chained = true, + .chain_id = ALC269_FIXUP_HEADSET_MIC + }, [ALC269_FIXUP_LIMIT_INT_MIC_BOOST_MUTE_LED] = { .type = HDA_FIXUP_FUNC, .v.func = alc269_fixup_limit_int_mic_boost, @@ -8283,6 +8480,26 @@ .type = HDA_FIXUP_FUNC, .v.func = alc294_fixup_gu502_hp, }, + [ALC294_FIXUP_ASUS_G513_PINS] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x19, 0x03a11050 }, /* front HP mic */ + { 0x1a, 0x03a11c30 }, /* rear external mic */ + { 0x21, 0x03211420 }, /* front HP out */ + { } + }, + }, + [ALC285_FIXUP_ASUS_G533Z_PINS] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x14, 0x90170152 }, /* Speaker Surround Playback Switch */ + { 0x19, 0x03a19020 }, /* Mic Boost Volume */ + { 0x1a, 0x03a11c30 }, /* Mic Boost Volume */ + { 0x1e, 0x90170151 }, /* Rear jack, IN OUT EAPD Detect */ + { 0x21, 0x03211420 }, + { } + }, + }, [ALC294_FIXUP_ASUS_COEF_1B] = { .type = HDA_FIXUP_VERBS, .v.verbs = (const struct hda_verb[]) { @@ -8304,6 +8521,10 @@ .type = HDA_FIXUP_FUNC, .v.func = alc285_fixup_hp_mute_led, }, + [ALC285_FIXUP_HP_SPECTRE_X360_MUTE_LED] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc285_fixup_hp_spectre_x360_mute_led, + }, [ALC236_FIXUP_HP_GPIO_LED] = { .type = HDA_FIXUP_FUNC, .v.func = alc236_fixup_hp_gpio_led, @@ -8316,6 +8537,12 @@ .type = HDA_FIXUP_FUNC, .v.func = alc236_fixup_hp_mute_led_micmute_vref, }, + [ALC298_FIXUP_SAMSUNG_AMP] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc298_fixup_samsung_amp, + .chained = true, + .chain_id = ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET + }, [ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET] = { .type = HDA_FIXUP_VERBS, .v.verbs = (const struct hda_verb[]) { @@ -8865,6 +9092,86 @@ .chained = true, .chain_id = ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC }, + [ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK] = { + .type = HDA_FIXUP_VERBS, + .v.verbs = (const struct hda_verb[]) { + // enable left speaker + { 0x20, AC_VERB_SET_COEF_INDEX, 0x24 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x41 }, + + { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0xc }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x0 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x1a }, + { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 }, + + { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0xf }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x0 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x42 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 }, + + { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x10 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x0 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x40 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 }, + + { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x2 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x0 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x0 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 }, + + // enable right speaker + { 0x20, AC_VERB_SET_COEF_INDEX, 0x24 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x46 }, + + { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0xc }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x0 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x2a }, + { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 }, + + { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0xf }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x0 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x46 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 }, + + { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x10 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x0 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x44 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 }, + + { 0x20, AC_VERB_SET_COEF_INDEX, 0x26 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x2 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x0 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0x0 }, + { 0x20, AC_VERB_SET_PROC_COEF, 0xb020 }, + + { }, + }, + }, + [ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc287_fixup_yoga9_14iap7_bass_spk_pin, + .chained = true, + .chain_id = ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK, + }, + [ALC295_FIXUP_DELL_INSPIRON_TOP_SPEAKERS] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc295_fixup_dell_inspiron_top_speakers, + .chained = true, + .chain_id = ALC269_FIXUP_DELL4_MIC_NO_PRESENCE, + }, + [ALC236_FIXUP_DELL_DUAL_CODECS] = { + .type = HDA_FIXUP_PINS, + .v.func = alc1220_fixup_gb_dual_codecs, + .chained = true, + .chain_id = ALC255_FIXUP_DELL1_MIC_NO_PRESENCE, + }, }; static const struct snd_pci_quirk alc269_fixup_tbl[] = { @@ -8906,6 +9213,7 @@ SND_PCI_QUIRK(0x1025, 0x142b, "Acer Swift SF314-42", ALC255_FIXUP_ACER_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1025, 0x1430, "Acer TravelMate B311R-31", ALC256_FIXUP_ACER_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1025, 0x1466, "Acer Aspire A515-56", ALC255_FIXUP_ACER_HEADPHONE_AND_MIC), + SND_PCI_QUIRK(0x1025, 0x1534, "Acer Predator PH315-54", ALC255_FIXUP_ACER_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1028, 0x0470, "Dell M101z", ALC269_FIXUP_DELL_M101Z), SND_PCI_QUIRK(0x1028, 0x053c, "Dell Latitude E5430", ALC292_FIXUP_DELL_E7X), SND_PCI_QUIRK(0x1028, 0x054b, "Dell XPS one 2710", ALC275_FIXUP_DELL_XPS), @@ -8964,6 +9272,16 @@ SND_PCI_QUIRK(0x1028, 0x0a9d, "Dell Latitude 5430", ALC269_FIXUP_DELL4_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1028, 0x0a9e, "Dell Latitude 5430", ALC269_FIXUP_DELL4_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1028, 0x0b19, "Dell XPS 15 9520", ALC289_FIXUP_DUAL_SPK), + SND_PCI_QUIRK(0x1028, 0x0b1a, "Dell Precision 5570", ALC289_FIXUP_DUAL_SPK), + SND_PCI_QUIRK(0x1028, 0x0b37, "Dell Inspiron 16 Plus 7620 2-in-1", ALC295_FIXUP_DELL_INSPIRON_TOP_SPEAKERS), + SND_PCI_QUIRK(0x1028, 0x0b71, "Dell Inspiron 16 Plus 7620", ALC295_FIXUP_DELL_INSPIRON_TOP_SPEAKERS), + SND_PCI_QUIRK(0x1028, 0x0c03, "Dell Precision 5340", ALC269_FIXUP_DELL4_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1028, 0x0c19, "Dell Precision 3340", ALC236_FIXUP_DELL_DUAL_CODECS), + SND_PCI_QUIRK(0x1028, 0x0c1a, "Dell Precision 3340", ALC236_FIXUP_DELL_DUAL_CODECS), + SND_PCI_QUIRK(0x1028, 0x0c1b, "Dell Precision 3440", ALC236_FIXUP_DELL_DUAL_CODECS), + SND_PCI_QUIRK(0x1028, 0x0c1c, "Dell Precision 3540", ALC236_FIXUP_DELL_DUAL_CODECS), + SND_PCI_QUIRK(0x1028, 0x0c1d, "Dell Precision 3440", ALC236_FIXUP_DELL_DUAL_CODECS), + SND_PCI_QUIRK(0x1028, 0x0c1e, "Dell Precision 3540", ALC236_FIXUP_DELL_DUAL_CODECS), SND_PCI_QUIRK(0x1028, 0x164a, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1028, 0x164b, "Dell", ALC293_FIXUP_DELL1_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x103c, 0x1586, "HP", ALC269_FIXUP_HP_MUTE_LED_MIC2), @@ -9044,6 +9362,9 @@ SND_PCI_QUIRK(0x103c, 0x861f, "HP Elite Dragonfly G1", ALC285_FIXUP_HP_GPIO_AMP_INIT), SND_PCI_QUIRK(0x103c, 0x869d, "HP", ALC236_FIXUP_HP_MUTE_LED), SND_PCI_QUIRK(0x103c, 0x86c7, "HP Envy AiO 32", ALC274_FIXUP_HP_ENVY_GPIO), + SND_PCI_QUIRK(0x103c, 0x86e7, "HP Spectre x360 15-eb0xxx", ALC285_FIXUP_HP_SPECTRE_X360_EB1), + SND_PCI_QUIRK(0x103c, 0x86e8, "HP Spectre x360 15-eb0xxx", ALC285_FIXUP_HP_SPECTRE_X360_EB1), + SND_PCI_QUIRK(0x103c, 0x86f9, "HP Spectre x360 13-aw0xxx", ALC285_FIXUP_HP_SPECTRE_X360_MUTE_LED), SND_PCI_QUIRK(0x103c, 0x8716, "HP Elite Dragonfly G2 Notebook PC", ALC285_FIXUP_HP_GPIO_AMP_INIT), SND_PCI_QUIRK(0x103c, 0x8720, "HP EliteBook x360 1040 G8 Notebook PC", ALC285_FIXUP_HP_GPIO_AMP_INIT), SND_PCI_QUIRK(0x103c, 0x8724, "HP EliteBook 850 G7", ALC285_FIXUP_HP_GPIO_LED), @@ -9059,6 +9380,7 @@ ALC285_FIXUP_HP_GPIO_AMP_INIT), SND_PCI_QUIRK(0x103c, 0x8783, "HP ZBook Fury 15 G7 Mobile Workstation", ALC285_FIXUP_HP_GPIO_AMP_INIT), + SND_PCI_QUIRK(0x103c, 0x8786, "HP OMEN 15", ALC285_FIXUP_HP_MUTE_LED), SND_PCI_QUIRK(0x103c, 0x8787, "HP OMEN 15", ALC285_FIXUP_HP_MUTE_LED), SND_PCI_QUIRK(0x103c, 0x8788, "HP OMEN 15", ALC285_FIXUP_HP_MUTE_LED), SND_PCI_QUIRK(0x103c, 0x87c8, "HP", ALC287_FIXUP_HP_GPIO_LED), @@ -9088,6 +9410,8 @@ SND_PCI_QUIRK(0x103c, 0x8896, "HP EliteBook 855 G8 Notebook PC", ALC285_FIXUP_HP_MUTE_LED), SND_PCI_QUIRK(0x103c, 0x8898, "HP EliteBook 845 G8 Notebook PC", ALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST), SND_PCI_QUIRK(0x103c, 0x88d0, "HP Pavilion 15-eh1xxx (mainboard 88D0)", ALC287_FIXUP_HP_GPIO_LED), + SND_PCI_QUIRK(0x103c, 0x8902, "HP OMEN 16", ALC285_FIXUP_HP_MUTE_LED), + SND_PCI_QUIRK(0x103c, 0x896d, "HP ZBook Firefly 16 G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x896e, "HP EliteBook x360 830 G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x8971, "HP EliteBook 830 G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x8972, "HP EliteBook 840 G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED), @@ -9106,14 +9430,22 @@ SND_PCI_QUIRK(0x103c, 0x89aa, "HP EliteBook 630 G9", ALC236_FIXUP_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x89ac, "HP EliteBook 640 G9", ALC236_FIXUP_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x89ae, "HP EliteBook 650 G9", ALC236_FIXUP_HP_GPIO_LED), + SND_PCI_QUIRK(0x103c, 0x89c0, "HP ZBook Power 15.6 G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x89c3, "Zbook Studio G9", ALC245_FIXUP_CS35L41_SPI_4_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x89c6, "Zbook Fury 17 G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x89ca, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), + SND_PCI_QUIRK(0x103c, 0x89d3, "HP EliteBook 645 G9 (MB 89D2)", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), SND_PCI_QUIRK(0x103c, 0x8a78, "HP Dev One", ALC285_FIXUP_HP_LIMIT_INT_MIC_BOOST), SND_PCI_QUIRK(0x103c, 0x8aa0, "HP ProBook 440 G9 (MB 8A9E)", ALC236_FIXUP_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x8aa3, "HP ProBook 450 G9 (MB 8AA1)", ALC236_FIXUP_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x8aa8, "HP EliteBook 640 G9 (MB 8AA6)", ALC236_FIXUP_HP_GPIO_LED), SND_PCI_QUIRK(0x103c, 0x8aab, "HP EliteBook 650 G9 (MB 8AA9)", ALC236_FIXUP_HP_GPIO_LED), + SND_PCI_QUIRK(0x103c, 0x8abb, "HP ZBook Firefly 14 G9", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED), + SND_PCI_QUIRK(0x103c, 0x8ad1, "HP EliteBook 840 14 inch G9 Notebook PC", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED), + SND_PCI_QUIRK(0x103c, 0x8ad2, "HP EliteBook 860 16 inch G9 Notebook PC", ALC245_FIXUP_CS35L41_SPI_2_HP_GPIO_LED), + SND_PCI_QUIRK(0x103c, 0x8b5d, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), + SND_PCI_QUIRK(0x103c, 0x8b5e, "HP", ALC236_FIXUP_HP_MUTE_LED_MICMUTE_VREF), + SND_PCI_QUIRK(0x103c, 0x8bf0, "HP", ALC236_FIXUP_HP_GPIO_LED), SND_PCI_QUIRK(0x1043, 0x103e, "ASUS X540SA", ALC256_FIXUP_ASUS_MIC), SND_PCI_QUIRK(0x1043, 0x103f, "ASUS TX300", ALC282_FIXUP_ASUS_TX300), SND_PCI_QUIRK(0x1043, 0x106d, "Asus K53BE", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), @@ -9126,15 +9458,18 @@ SND_PCI_QUIRK(0x1043, 0x1271, "ASUS X430UN", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1043, 0x1290, "ASUS X441SA", ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1043, 0x12a0, "ASUS X441UV", ALC233_FIXUP_EAPD_COEF_AND_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1043, 0x12af, "ASUS UX582ZS", ALC245_FIXUP_CS35L41_SPI_2), SND_PCI_QUIRK(0x1043, 0x12e0, "ASUS X541SA", ALC256_FIXUP_ASUS_MIC), SND_PCI_QUIRK(0x1043, 0x12f0, "ASUS X541UV", ALC256_FIXUP_ASUS_MIC), + SND_PCI_QUIRK(0x1043, 0x1313, "Asus K42JZ", ALC269VB_FIXUP_ASUS_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1043, 0x13b0, "ASUS Z550SA", ALC256_FIXUP_ASUS_MIC), SND_PCI_QUIRK(0x1043, 0x1427, "Asus Zenbook UX31E", ALC269VB_FIXUP_ASUS_ZENBOOK), SND_PCI_QUIRK(0x1043, 0x1517, "Asus Zenbook UX31A", ALC269VB_FIXUP_ASUS_ZENBOOK_UX31A), + SND_PCI_QUIRK(0x1043, 0x1662, "ASUS GV301QH", ALC294_FIXUP_ASUS_DUAL_SPK), + SND_PCI_QUIRK(0x1043, 0x16b2, "ASUS GU603", ALC289_FIXUP_ASUS_GA401), SND_PCI_QUIRK(0x1043, 0x16e3, "ASUS UX50", ALC269_FIXUP_STEREO_DMIC), SND_PCI_QUIRK(0x1043, 0x1740, "ASUS UX430UA", ALC295_FIXUP_ASUS_DACS), SND_PCI_QUIRK(0x1043, 0x17d1, "ASUS UX431FL", ALC294_FIXUP_ASUS_DUAL_SPK), - SND_PCI_QUIRK(0x1043, 0x1662, "ASUS GV301QH", ALC294_FIXUP_ASUS_DUAL_SPK), SND_PCI_QUIRK(0x1043, 0x1881, "ASUS Zephyrus S/M", ALC294_FIXUP_ASUS_GX502_PINS), SND_PCI_QUIRK(0x1043, 0x18b1, "Asus MJ401TA", ALC256_FIXUP_ASUS_HEADSET_MIC), SND_PCI_QUIRK(0x1043, 0x18f1, "Asus FX505DT", ALC256_FIXUP_ASUS_HEADSET_MIC), @@ -9145,18 +9480,24 @@ SND_PCI_QUIRK(0x1043, 0x19e1, "ASUS UX581LV", ALC295_FIXUP_ASUS_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1043, 0x1a13, "Asus G73Jw", ALC269_FIXUP_ASUS_G73JW), SND_PCI_QUIRK(0x1043, 0x1a30, "ASUS X705UD", ALC256_FIXUP_ASUS_MIC), + SND_PCI_QUIRK(0x1043, 0x1a8f, "ASUS UX582ZS", ALC245_FIXUP_CS35L41_SPI_2), SND_PCI_QUIRK(0x1043, 0x1b11, "ASUS UX431DA", ALC294_FIXUP_ASUS_COEF_1B), SND_PCI_QUIRK(0x1043, 0x1b13, "Asus U41SV", ALC269_FIXUP_INV_DMIC), SND_PCI_QUIRK(0x1043, 0x1bbd, "ASUS Z550MA", ALC255_FIXUP_ASUS_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1043, 0x1c23, "Asus X55U", ALC269_FIXUP_LIMIT_INT_MIC_BOOST), + SND_PCI_QUIRK(0x1043, 0x1c92, "ASUS ROG Strix G15", ALC285_FIXUP_ASUS_G533Z_PINS), SND_PCI_QUIRK(0x1043, 0x1ccd, "ASUS X555UB", ALC256_FIXUP_ASUS_MIC), + SND_PCI_QUIRK(0x1043, 0x1d42, "ASUS Zephyrus G14 2022", ALC289_FIXUP_ASUS_GA401), SND_PCI_QUIRK(0x1043, 0x1d4e, "ASUS TM420", ALC256_FIXUP_ASUS_HPE), + SND_PCI_QUIRK(0x1043, 0x1e02, "ASUS UX3402", ALC245_FIXUP_CS35L41_SPI_2), SND_PCI_QUIRK(0x1043, 0x1e11, "ASUS Zephyrus G15", ALC289_FIXUP_ASUS_GA502), SND_PCI_QUIRK(0x1043, 0x1e51, "ASUS Zephyrus M15", ALC294_FIXUP_ASUS_GU502_PINS), + SND_PCI_QUIRK(0x1043, 0x1e5e, "ASUS ROG Strix G513", ALC294_FIXUP_ASUS_G513_PINS), SND_PCI_QUIRK(0x1043, 0x1e8e, "ASUS Zephyrus G15", ALC289_FIXUP_ASUS_GA401), + SND_PCI_QUIRK(0x1043, 0x1c52, "ASUS Zephyrus G15 2022", ALC289_FIXUP_ASUS_GA401), SND_PCI_QUIRK(0x1043, 0x1f11, "ASUS Zephyrus G14", ALC289_FIXUP_ASUS_GA401), - SND_PCI_QUIRK(0x1043, 0x1d42, "ASUS Zephyrus G14 2022", ALC289_FIXUP_ASUS_GA401), - SND_PCI_QUIRK(0x1043, 0x16b2, "ASUS GU603", ALC289_FIXUP_ASUS_GA401), + SND_PCI_QUIRK(0x1043, 0x1f12, "ASUS UM5302", ALC287_FIXUP_CS35L41_I2C_2), + SND_PCI_QUIRK(0x1043, 0x1f92, "ASUS ROG Flow X16", ALC289_FIXUP_ASUS_GA401), SND_PCI_QUIRK(0x1043, 0x3030, "ASUS ZN270IE", ALC256_FIXUP_ASUS_AIO_GPIO2), SND_PCI_QUIRK(0x1043, 0x831a, "ASUS P901", ALC269_FIXUP_STEREO_DMIC), SND_PCI_QUIRK(0x1043, 0x834a, "ASUS S101", ALC269_FIXUP_STEREO_DMIC), @@ -9178,18 +9519,22 @@ SND_PCI_QUIRK(0x10ec, 0x10f2, "Intel Reference board", ALC700_FIXUP_INTEL_REFERENCE), SND_PCI_QUIRK(0x10ec, 0x118c, "Medion EE4254 MD62100", ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE), SND_PCI_QUIRK(0x10ec, 0x1230, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK), + SND_PCI_QUIRK(0x10ec, 0x124c, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK), SND_PCI_QUIRK(0x10ec, 0x1252, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK), SND_PCI_QUIRK(0x10ec, 0x1254, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK), SND_PCI_QUIRK(0x10f7, 0x8338, "Panasonic CF-SZ6", ALC269_FIXUP_HEADSET_MODE), SND_PCI_QUIRK(0x144d, 0xc109, "Samsung Ativ book 9 (NP900X3G)", ALC269_FIXUP_INV_DMIC), - SND_PCI_QUIRK(0x144d, 0xc169, "Samsung Notebook 9 Pen (NP930SBE-K01US)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET), - SND_PCI_QUIRK(0x144d, 0xc176, "Samsung Notebook 9 Pro (NP930MBE-K04US)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET), - SND_PCI_QUIRK(0x144d, 0xc189, "Samsung Galaxy Flex Book (NT950QCG-X716)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET), - SND_PCI_QUIRK(0x144d, 0xc18a, "Samsung Galaxy Book Ion (NP930XCJ-K01US)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET), + SND_PCI_QUIRK(0x144d, 0xc169, "Samsung Notebook 9 Pen (NP930SBE-K01US)", ALC298_FIXUP_SAMSUNG_AMP), + SND_PCI_QUIRK(0x144d, 0xc176, "Samsung Notebook 9 Pro (NP930MBE-K04US)", ALC298_FIXUP_SAMSUNG_AMP), + SND_PCI_QUIRK(0x144d, 0xc189, "Samsung Galaxy Flex Book (NT950QCG-X716)", ALC298_FIXUP_SAMSUNG_AMP), + SND_PCI_QUIRK(0x144d, 0xc18a, "Samsung Galaxy Book Ion (NP930XCJ-K01US)", ALC298_FIXUP_SAMSUNG_AMP), + SND_PCI_QUIRK(0x144d, 0xc1a3, "Samsung Galaxy Book Pro (NP935XDB-KC1SE)", ALC298_FIXUP_SAMSUNG_AMP), + SND_PCI_QUIRK(0x144d, 0xc1a6, "Samsung Galaxy Book Pro 360 (NP930QBD)", ALC298_FIXUP_SAMSUNG_AMP), SND_PCI_QUIRK(0x144d, 0xc740, "Samsung Ativ book 8 (NP870Z5G)", ALC269_FIXUP_ATIV_BOOK_8), - SND_PCI_QUIRK(0x144d, 0xc812, "Samsung Notebook Pen S (NT950SBE-X58)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET), - SND_PCI_QUIRK(0x144d, 0xc830, "Samsung Galaxy Book Ion (NT950XCJ-X716A)", ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET), + SND_PCI_QUIRK(0x144d, 0xc812, "Samsung Notebook Pen S (NT950SBE-X58)", ALC298_FIXUP_SAMSUNG_AMP), + SND_PCI_QUIRK(0x144d, 0xc830, "Samsung Galaxy Book Ion (NT950XCJ-X716A)", ALC298_FIXUP_SAMSUNG_AMP), SND_PCI_QUIRK(0x144d, 0xc832, "Samsung Galaxy Book Flex Alpha (NP730QCJ)", ALC256_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET), + SND_PCI_QUIRK(0x144d, 0xca03, "Samsung Galaxy Book2 Pro 360 (NP930QED)", ALC298_FIXUP_SAMSUNG_AMP), SND_PCI_QUIRK(0x1458, 0xfa53, "Gigabyte BXBT-2807", ALC283_FIXUP_HEADSET_MIC), SND_PCI_QUIRK(0x1462, 0xb120, "MSI Cubi MS-B120", ALC283_FIXUP_HEADSET_MIC), SND_PCI_QUIRK(0x1462, 0xb171, "Cubi N 8GL (MS-B171)", ALC283_FIXUP_HEADSET_MIC), @@ -9203,6 +9548,7 @@ SND_PCI_QUIRK(0x1558, 0x4018, "Clevo NV40M[BE]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x4019, "Clevo NV40MZ", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x4020, "Clevo NV40MB", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x4041, "Clevo NV4[15]PZ", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x40a1, "Clevo NL40GU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x40c1, "Clevo NL40[CZ]U", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x40d1, "Clevo NL41DU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), @@ -9230,6 +9576,7 @@ SND_PCI_QUIRK(0x1558, 0x70f4, "Clevo NH77EPY", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x70f6, "Clevo NH77DPQ-Y", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x7716, "Clevo NS50PU", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE), + SND_PCI_QUIRK(0x1558, 0x7717, "Clevo NS70PU", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x7718, "Clevo L140PU", ALC256_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x8228, "Clevo NR40BU", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1558, 0x8520, "Clevo NH50D[CD]", ALC293_FIXUP_SYSTEM76_MIC_NO_PRESENCE), @@ -9315,6 +9662,7 @@ SND_PCI_QUIRK(0x17aa, 0x3176, "ThinkCentre Station", ALC283_FIXUP_HEADSET_MIC), SND_PCI_QUIRK(0x17aa, 0x3178, "ThinkCentre Station", ALC283_FIXUP_HEADSET_MIC), SND_PCI_QUIRK(0x17aa, 0x31af, "ThinkCentre Station", ALC623_FIXUP_LENOVO_THINKSTATION_P340), + SND_PCI_QUIRK(0x17aa, 0x3801, "Lenovo Yoga9 14IAP7", ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN), SND_PCI_QUIRK(0x17aa, 0x3802, "Lenovo Yoga DuetITL 2021", ALC287_FIXUP_YOGA7_14ITL_SPEAKERS), SND_PCI_QUIRK(0x17aa, 0x3813, "Legion 7i 15IMHG05", ALC287_FIXUP_LEGION_15IMHG05_SPEAKERS), SND_PCI_QUIRK(0x17aa, 0x3818, "Lenovo C940 / Yoga Duet 7", ALC298_FIXUP_LENOVO_C940_DUET7), @@ -9354,13 +9702,16 @@ SND_PCI_QUIRK(0x17aa, 0x511f, "Thinkpad", ALC298_FIXUP_TPT470_DOCK), SND_PCI_QUIRK(0x17aa, 0x9e54, "LENOVO NB", ALC269_FIXUP_LENOVO_EAPD), SND_PCI_QUIRK(0x1849, 0x1233, "ASRock NUC Box 1100", ALC233_FIXUP_NO_AUDIO_JACK), + SND_PCI_QUIRK(0x1849, 0xa233, "Positivo Master C6300", ALC269_FIXUP_HEADSET_MIC), SND_PCI_QUIRK(0x19e5, 0x3204, "Huawei MACH-WX9", ALC256_FIXUP_HUAWEI_MACH_WX9_PINS), + SND_PCI_QUIRK(0x19e5, 0x320f, "Huawei WRT-WX9 ", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1b35, 0x1235, "CZC B20", ALC269_FIXUP_CZC_B20), SND_PCI_QUIRK(0x1b35, 0x1236, "CZC TMI", ALC269_FIXUP_CZC_TMI), SND_PCI_QUIRK(0x1b35, 0x1237, "CZC L101", ALC269_FIXUP_CZC_L101), SND_PCI_QUIRK(0x1b7d, 0xa831, "Ordissimo EVE2 ", ALC269VB_FIXUP_ORDISSIMO_EVE2), /* Also known as Malata PC-B1303 */ SND_PCI_QUIRK(0x1c06, 0x2013, "Lemote A1802", ALC269_FIXUP_LEMOTE_A1802), SND_PCI_QUIRK(0x1c06, 0x2015, "Lemote A190X", ALC269_FIXUP_LEMOTE_A190X), + SND_PCI_QUIRK(0x1c6c, 0x1251, "Positivo N14KP6-TG", ALC288_FIXUP_DELL1_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1d05, 0x1132, "TongFang PHxTxX1", ALC256_FIXUP_SET_COEF_DEFAULTS), SND_PCI_QUIRK(0x1d05, 0x1096, "TongFang GMxMRxx", ALC269_FIXUP_NO_SHUTUP), SND_PCI_QUIRK(0x1d05, 0x1100, "TongFang GKxNRxx", ALC269_FIXUP_NO_SHUTUP), @@ -9551,7 +9902,7 @@ {.id = ALC299_FIXUP_PREDATOR_SPK, .name = "predator-spk"}, {.id = ALC298_FIXUP_HUAWEI_MBX_STEREO, .name = "huawei-mbx-stereo"}, {.id = ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE, .name = "alc256-medion-headset"}, - {.id = ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET, .name = "alc298-samsung-headphone"}, + {.id = ALC298_FIXUP_SAMSUNG_AMP, .name = "alc298-samsung-amp"}, {.id = ALC256_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET, .name = "alc256-samsung-headphone"}, {.id = ALC255_FIXUP_XIAOMI_HEADSET_MIC, .name = "alc255-xiaomi-headset"}, {.id = ALC274_FIXUP_HP_MIC, .name = "alc274-hp-mic-detect"}, @@ -9560,6 +9911,7 @@ {.id = ALC285_FIXUP_HP_SPECTRE_X360, .name = "alc285-hp-spectre-x360"}, {.id = ALC285_FIXUP_HP_SPECTRE_X360_EB1, .name = "alc285-hp-spectre-x360-eb1"}, {.id = ALC287_FIXUP_IDEAPAD_BASS_SPK_AMP, .name = "alc287-ideapad-bass-spk-amp"}, + {.id = ALC287_FIXUP_YOGA9_14IAP7_BASS_SPK_PIN, .name = "alc287-yoga9-bass-spk-pin"}, {.id = ALC623_FIXUP_LENOVO_THINKSTATION_P340, .name = "alc623-lenovo-thinkstation-p340"}, {.id = ALC255_FIXUP_ACER_HEADPHONE_AND_MIC, .name = "alc255-acer-headphone-and-mic"}, {.id = ALC285_FIXUP_HP_GPIO_AMP_INIT, .name = "alc285-hp-amp-init"}, @@ -10700,6 +11052,17 @@ } } +static void alc897_fixup_lenovo_headset_mode(struct hda_codec *codec, + const struct hda_fixup *fix, int action) +{ + struct alc_spec *spec = codec->spec; + + if (action == HDA_FIXUP_ACT_PRE_PROBE) { + spec->parse_flags |= HDA_PINCFG_HEADSET_MIC; + spec->gen.hp_automute_hook = alc897_hp_automute_hook; + } +} + static const struct coef_fw alc668_coefs[] = { WRITE_COEF(0x01, 0xbebe), WRITE_COEF(0x02, 0xaaaa), WRITE_COEF(0x03, 0x0), WRITE_COEF(0x04, 0x0180), WRITE_COEF(0x06, 0x0), WRITE_COEF(0x07, 0x0f80), @@ -10783,6 +11146,8 @@ ALC897_FIXUP_LENOVO_HEADSET_MIC, ALC897_FIXUP_HEADSET_MIC_PIN, ALC897_FIXUP_HP_HSMIC_VERB, + ALC897_FIXUP_LENOVO_HEADSET_MODE, + ALC897_FIXUP_HEADSET_MIC_PIN2, }; static const struct hda_fixup alc662_fixups[] = { @@ -11209,6 +11574,19 @@ { } }, }, + [ALC897_FIXUP_LENOVO_HEADSET_MODE] = { + .type = HDA_FIXUP_FUNC, + .v.func = alc897_fixup_lenovo_headset_mode, + }, + [ALC897_FIXUP_HEADSET_MIC_PIN2] = { + .type = HDA_FIXUP_PINS, + .v.pins = (const struct hda_pintbl[]) { + { 0x1a, 0x01a11140 }, /* use as headset mic, without its own jack detect */ + { } + }, + .chained = true, + .chain_id = ALC897_FIXUP_LENOVO_HEADSET_MODE + }, }; static const struct snd_pci_quirk alc662_fixup_tbl[] = { @@ -11234,6 +11612,7 @@ SND_PCI_QUIRK(0x1028, 0x0698, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x1028, 0x069f, "Dell", ALC668_FIXUP_DELL_MIC_NO_PRESENCE), SND_PCI_QUIRK(0x103c, 0x1632, "HP RP5800", ALC662_FIXUP_HP_RP5800), + SND_PCI_QUIRK(0x103c, 0x870c, "HP", ALC897_FIXUP_HP_HSMIC_VERB), SND_PCI_QUIRK(0x103c, 0x8719, "HP", ALC897_FIXUP_HP_HSMIC_VERB), SND_PCI_QUIRK(0x103c, 0x873e, "HP", ALC671_FIXUP_HP_HEADSET_MIC2), SND_PCI_QUIRK(0x103c, 0x877e, "HP 288 Pro G6", ALC671_FIXUP_HP_HEADSET_MIC2), @@ -11261,6 +11640,7 @@ SND_PCI_QUIRK(0x17aa, 0x32cb, "Lenovo ThinkCentre M70", ALC897_FIXUP_HEADSET_MIC_PIN), SND_PCI_QUIRK(0x17aa, 0x32cf, "Lenovo ThinkCentre M950", ALC897_FIXUP_HEADSET_MIC_PIN), SND_PCI_QUIRK(0x17aa, 0x32f7, "Lenovo ThinkCentre M90", ALC897_FIXUP_HEADSET_MIC_PIN), + SND_PCI_QUIRK(0x17aa, 0x3742, "Lenovo TianYi510Pro-14IOB", ALC897_FIXUP_HEADSET_MIC_PIN2), SND_PCI_QUIRK(0x17aa, 0x38af, "Lenovo Ideapad Y550P", ALC662_FIXUP_IDEAPAD), SND_PCI_QUIRK(0x17aa, 0x3a0d, "Lenovo Ideapad Y550", ALC662_FIXUP_IDEAPAD), SND_PCI_QUIRK(0x1849, 0x5892, "ASRock B150M", ALC892_FIXUP_ASROCK_MOBO), --- linux-gcp-5.19.0.orig/sound/pci/hda/patch_sigmatel.c +++ linux-gcp-5.19.0/sound/pci/hda/patch_sigmatel.c @@ -209,6 +209,7 @@ /* beep widgets */ hda_nid_t anabeep_nid; + bool beep_power_on; /* SPDIF-out mux */ const char * const *spdif_labels; @@ -4310,6 +4311,8 @@ if (codec->beep) { /* IDT/STAC codecs have linear beep tone parameter */ codec->beep->linear_tone = spec->linear_tone_beep; + /* keep power up while beep is enabled */ + codec->beep->keep_power_at_enable = 1; /* if no beep switch is available, make its own one */ caps = query_amp_caps(codec, nid, HDA_OUTPUT); if (!(caps & AC_AMPCAP_MUTE)) { --- linux-gcp-5.19.0.orig/sound/pci/hda/patch_via.c +++ linux-gcp-5.19.0/sound/pci/hda/patch_via.c @@ -819,6 +819,9 @@ return 0; nums = snd_hda_get_connections(codec, spec->gen.mixer_nid, conn, ARRAY_SIZE(conn) - 1); + if (nums < 0) + return nums; + for (i = 0; i < nums; i++) { if (get_wcaps_type(get_wcaps(codec, conn[i])) == AC_WID_AUD_OUT) return 0; --- linux-gcp-5.19.0.orig/sound/pci/ice1712/aureon.c +++ linux-gcp-5.19.0/sound/pci/ice1712/aureon.c @@ -1892,6 +1892,7 @@ unsigned char id; snd_ice1712_save_gpio_status(ice); id = aureon_cs8415_get(ice, CS8415_ID); + snd_ice1712_restore_gpio_status(ice); if (id != 0x41) dev_info(ice->card->dev, "No CS8415 chip. Skipping CS8415 controls.\n"); @@ -1909,7 +1910,6 @@ kctl->id.device = ice->pcm->device; } } - snd_ice1712_restore_gpio_status(ice); } return 0; --- linux-gcp-5.19.0.orig/sound/pci/lx6464es/lx_core.c +++ linux-gcp-5.19.0/sound/pci/lx6464es/lx_core.c @@ -493,12 +493,11 @@ dev_dbg(chip->card->dev, "CMD_08_ASK_BUFFERS: needed %d, freed %d\n", *r_needed, *r_freed); - for (i = 0; i < MAX_STREAM_BUFFER; ++i) { - for (i = 0; i != chip->rmh.stat_len; ++i) - dev_dbg(chip->card->dev, - " stat[%d]: %x, %x\n", i, - chip->rmh.stat[i], - chip->rmh.stat[i] & MASK_DATA_SIZE); + for (i = 0; i < MAX_STREAM_BUFFER && i < chip->rmh.stat_len; + ++i) { + dev_dbg(chip->card->dev, " stat[%d]: %x, %x\n", i, + chip->rmh.stat[i], + chip->rmh.stat[i] & MASK_DATA_SIZE); } } --- linux-gcp-5.19.0.orig/sound/pci/rme9652/hdsp.c +++ linux-gcp-5.19.0/sound/pci/rme9652/hdsp.c @@ -433,7 +433,7 @@ struct snd_rawmidi *rmidi; struct snd_rawmidi_substream *input; struct snd_rawmidi_substream *output; - char istimer; /* timer in use */ + signed char istimer; /* timer in use */ struct timer_list timer; spinlock_t lock; int pending; @@ -480,7 +480,7 @@ pid_t playback_pid; int running; int system_sample_rate; - const char *channel_map; + const signed char *channel_map; int dev; int irq; unsigned long port; @@ -502,7 +502,7 @@ where the data for that channel can be read/written from/to. */ -static const char channel_map_df_ss[HDSP_MAX_CHANNELS] = { +static const signed char channel_map_df_ss[HDSP_MAX_CHANNELS] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }; @@ -517,7 +517,7 @@ -1, -1, -1, -1, -1, -1, -1, -1 }; -static const char channel_map_ds[HDSP_MAX_CHANNELS] = { +static const signed char channel_map_ds[HDSP_MAX_CHANNELS] = { /* ADAT channels are remapped */ 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, /* channels 12 and 13 are S/PDIF */ @@ -526,7 +526,7 @@ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; -static const char channel_map_H9632_ss[HDSP_MAX_CHANNELS] = { +static const signed char channel_map_H9632_ss[HDSP_MAX_CHANNELS] = { /* ADAT channels */ 0, 1, 2, 3, 4, 5, 6, 7, /* SPDIF */ @@ -540,7 +540,7 @@ -1, -1 }; -static const char channel_map_H9632_ds[HDSP_MAX_CHANNELS] = { +static const signed char channel_map_H9632_ds[HDSP_MAX_CHANNELS] = { /* ADAT */ 1, 3, 5, 7, /* SPDIF */ @@ -554,7 +554,7 @@ -1, -1, -1, -1, -1, -1 }; -static const char channel_map_H9632_qs[HDSP_MAX_CHANNELS] = { +static const signed char channel_map_H9632_qs[HDSP_MAX_CHANNELS] = { /* ADAT is disabled in this mode */ /* SPDIF */ 8, 9, @@ -3939,7 +3939,7 @@ return hdsp_hw_pointer(hdsp); } -static char *hdsp_channel_buffer_location(struct hdsp *hdsp, +static signed char *hdsp_channel_buffer_location(struct hdsp *hdsp, int stream, int channel) @@ -3964,7 +3964,7 @@ void __user *src, unsigned long count) { struct hdsp *hdsp = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; if (snd_BUG_ON(pos + count > HDSP_CHANNEL_BUFFER_BYTES)) return -EINVAL; @@ -3982,7 +3982,7 @@ void *src, unsigned long count) { struct hdsp *hdsp = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; channel_buf = hdsp_channel_buffer_location(hdsp, substream->pstr->stream, channel); if (snd_BUG_ON(!channel_buf)) @@ -3996,7 +3996,7 @@ void __user *dst, unsigned long count) { struct hdsp *hdsp = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; if (snd_BUG_ON(pos + count > HDSP_CHANNEL_BUFFER_BYTES)) return -EINVAL; @@ -4014,7 +4014,7 @@ void *dst, unsigned long count) { struct hdsp *hdsp = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; channel_buf = hdsp_channel_buffer_location(hdsp, substream->pstr->stream, channel); if (snd_BUG_ON(!channel_buf)) @@ -4028,7 +4028,7 @@ unsigned long count) { struct hdsp *hdsp = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; channel_buf = hdsp_channel_buffer_location (hdsp, substream->pstr->stream, channel); if (snd_BUG_ON(!channel_buf)) --- linux-gcp-5.19.0.orig/sound/pci/rme9652/rme9652.c +++ linux-gcp-5.19.0/sound/pci/rme9652/rme9652.c @@ -230,7 +230,7 @@ int last_spdif_sample_rate; /* so that we can catch externally ... */ int last_adat_sample_rate; /* ... induced rate changes */ - const char *channel_map; + const signed char *channel_map; struct snd_card *card; struct snd_pcm *pcm; @@ -247,12 +247,12 @@ where the data for that channel can be read/written from/to. */ -static const char channel_map_9652_ss[26] = { +static const signed char channel_map_9652_ss[26] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 }; -static const char channel_map_9636_ss[26] = { +static const signed char channel_map_9636_ss[26] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, /* channels 16 and 17 are S/PDIF */ 24, 25, @@ -260,7 +260,7 @@ -1, -1, -1, -1, -1, -1, -1, -1 }; -static const char channel_map_9652_ds[26] = { +static const signed char channel_map_9652_ds[26] = { /* ADAT channels are remapped */ 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, /* channels 12 and 13 are S/PDIF */ @@ -269,7 +269,7 @@ -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; -static const char channel_map_9636_ds[26] = { +static const signed char channel_map_9636_ds[26] = { /* ADAT channels are remapped */ 1, 3, 5, 7, 9, 11, 13, 15, /* channels 8 and 9 are S/PDIF */ @@ -1819,7 +1819,7 @@ return rme9652_hw_pointer(rme9652); } -static char *rme9652_channel_buffer_location(struct snd_rme9652 *rme9652, +static signed char *rme9652_channel_buffer_location(struct snd_rme9652 *rme9652, int stream, int channel) @@ -1847,7 +1847,7 @@ void __user *src, unsigned long count) { struct snd_rme9652 *rme9652 = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; if (snd_BUG_ON(pos + count > RME9652_CHANNEL_BUFFER_BYTES)) return -EINVAL; @@ -1867,7 +1867,7 @@ void *src, unsigned long count) { struct snd_rme9652 *rme9652 = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; channel_buf = rme9652_channel_buffer_location(rme9652, substream->pstr->stream, @@ -1883,7 +1883,7 @@ void __user *dst, unsigned long count) { struct snd_rme9652 *rme9652 = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; if (snd_BUG_ON(pos + count > RME9652_CHANNEL_BUFFER_BYTES)) return -EINVAL; @@ -1903,7 +1903,7 @@ void *dst, unsigned long count) { struct snd_rme9652 *rme9652 = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; channel_buf = rme9652_channel_buffer_location(rme9652, substream->pstr->stream, @@ -1919,7 +1919,7 @@ unsigned long count) { struct snd_rme9652 *rme9652 = snd_pcm_substream_chip(substream); - char *channel_buf; + signed char *channel_buf; channel_buf = rme9652_channel_buffer_location (rme9652, substream->pstr->stream, --- linux-gcp-5.19.0.orig/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c +++ linux-gcp-5.19.0/sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c @@ -257,8 +257,7 @@ return err; snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &pdacf_pcm_capture_ops); - snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_VMALLOC, - snd_dma_continuous_data(GFP_KERNEL | GFP_DMA32), + snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_VMALLOC, NULL, 0, 0); pcm->private_data = chip; --- linux-gcp-5.19.0.orig/sound/soc/amd/Kconfig +++ linux-gcp-5.19.0/sound/soc/amd/Kconfig @@ -105,3 +105,24 @@ driver modules to use source "sound/soc/amd/acp/Kconfig" + +config SND_SOC_AMD_PS + tristate "AMD Audio Coprocessor-v6.2 Pink Sardine support" + depends on X86 && PCI && ACPI + help + This option enables Audio Coprocessor i.e ACP v6.2 support on + AMD Pink sardine platform. By enabling this flag build will be + triggered for ACP PCI driver, ACP PDM DMA driver. + Say m if you have such a device. + If unsure select "N". + +config SND_SOC_AMD_PS_MACH + tristate "AMD PINK SARDINE support for DMIC" + select SND_SOC_DMIC + depends on SND_SOC_AMD_PS + help + This option enables machine driver for Pink Sardine platform + using dmic. ACP IP has PDM Decoder block with DMA controller. + DMIC can be connected directly to ACP IP. + Say m if you have such a device. + If unsure select "N". --- linux-gcp-5.19.0.orig/sound/soc/amd/Makefile +++ linux-gcp-5.19.0/sound/soc/amd/Makefile @@ -15,3 +15,4 @@ obj-$(CONFIG_SND_SOC_AMD_ACP6x) += yc/ obj-$(CONFIG_SND_SOC_AMD_ACP_COMMON) += acp/ obj-$(CONFIG_SND_AMD_ACP_CONFIG) += snd-acp-config.o +obj-$(CONFIG_SND_SOC_AMD_PS) += ps/ --- linux-gcp-5.19.0.orig/sound/soc/amd/ps/Makefile +++ linux-gcp-5.19.0/sound/soc/amd/ps/Makefile @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0+ +# Pink Sardine platform Support +snd-pci-ps-objs := pci-ps.o +snd-ps-pdm-dma-objs := ps-pdm-dma.o +snd-soc-ps-mach-objs := ps-mach.o + +obj-$(CONFIG_SND_SOC_AMD_PS) += snd-pci-ps.o +obj-$(CONFIG_SND_SOC_AMD_PS) += snd-ps-pdm-dma.o +obj-$(CONFIG_SND_SOC_AMD_PS_MACH) += snd-soc-ps-mach.o --- linux-gcp-5.19.0.orig/sound/soc/amd/ps/acp62.h +++ linux-gcp-5.19.0/sound/soc/amd/ps/acp62.h @@ -0,0 +1,98 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * AMD ALSA SoC PDM Driver + * + * Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved. + */ + +#include + +#define ACP_DEVICE_ID 0x15E2 +#define ACP6x_REG_START 0x1240000 +#define ACP6x_REG_END 0x1250200 +#define ACP6x_DEVS 3 +#define ACP6x_PDM_MODE 1 + +#define ACP_SOFT_RESET_SOFTRESET_AUDDONE_MASK 0x00010001 +#define ACP_PGFSM_CNTL_POWER_ON_MASK 1 +#define ACP_PGFSM_CNTL_POWER_OFF_MASK 0 +#define ACP_PGFSM_STATUS_MASK 3 +#define ACP_POWERED_ON 0 +#define ACP_POWER_ON_IN_PROGRESS 1 +#define ACP_POWERED_OFF 2 +#define ACP_POWER_OFF_IN_PROGRESS 3 + +#define ACP_ERROR_MASK 0x20000000 +#define ACP_EXT_INTR_STAT_CLEAR_MASK 0xFFFFFFFF +#define PDM_DMA_STAT 0x10 + +#define PDM_DMA_INTR_MASK 0x10000 +#define ACP_ERROR_STAT 29 +#define PDM_DECIMATION_FACTOR 2 +#define ACP_PDM_CLK_FREQ_MASK 7 +#define ACP_WOV_MISC_CTRL_MASK 0x10 +#define ACP_PDM_ENABLE 1 +#define ACP_PDM_DISABLE 0 +#define ACP_PDM_DMA_EN_STATUS 2 +#define TWO_CH 2 +#define DELAY_US 5 +#define ACP_COUNTER 20000 + +#define ACP_SRAM_PTE_OFFSET 0x03800000 +#define PAGE_SIZE_4K_ENABLE 2 +#define PDM_PTE_OFFSET 0 +#define PDM_MEM_WINDOW_START 0x4000000 + +#define CAPTURE_MIN_NUM_PERIODS 4 +#define CAPTURE_MAX_NUM_PERIODS 4 +#define CAPTURE_MAX_PERIOD_SIZE 8192 +#define CAPTURE_MIN_PERIOD_SIZE 4096 + +#define MAX_BUFFER (CAPTURE_MAX_PERIOD_SIZE * CAPTURE_MAX_NUM_PERIODS) +#define MIN_BUFFER MAX_BUFFER + +/* time in ms for runtime suspend delay */ +#define ACP_SUSPEND_DELAY_MS 2000 + +enum acp_config { + ACP_CONFIG_0 = 0, + ACP_CONFIG_1, + ACP_CONFIG_2, + ACP_CONFIG_3, + ACP_CONFIG_4, + ACP_CONFIG_5, + ACP_CONFIG_6, + ACP_CONFIG_7, + ACP_CONFIG_8, + ACP_CONFIG_9, + ACP_CONFIG_10, + ACP_CONFIG_11, + ACP_CONFIG_12, + ACP_CONFIG_13, + ACP_CONFIG_14, + ACP_CONFIG_15, +}; + +struct pdm_stream_instance { + u16 num_pages; + u16 channels; + dma_addr_t dma_addr; + u64 bytescount; + void __iomem *acp62_base; +}; + +struct pdm_dev_data { + u32 pdm_irq; + void __iomem *acp62_base; + struct snd_pcm_substream *capture_stream; +}; + +static inline u32 acp62_readl(void __iomem *base_addr) +{ + return readl(base_addr); +} + +static inline void acp62_writel(u32 val, void __iomem *base_addr) +{ + writel(val, base_addr); +} --- linux-gcp-5.19.0.orig/sound/soc/amd/ps/pci-ps.c +++ linux-gcp-5.19.0/sound/soc/amd/ps/pci-ps.c @@ -0,0 +1,351 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * AMD Pink Sardine ACP PCI Driver + * + * Copyright 2022 Advanced Micro Devices, Inc. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "acp62.h" + +struct acp62_dev_data { + void __iomem *acp62_base; + struct resource *res; + bool acp62_audio_mode; + struct platform_device *pdev[ACP6x_DEVS]; +}; + +static int acp62_power_on(void __iomem *acp_base) +{ + u32 val; + int timeout; + + val = acp62_readl(acp_base + ACP_PGFSM_STATUS); + + if (!val) + return val; + + if ((val & ACP_PGFSM_STATUS_MASK) != ACP_POWER_ON_IN_PROGRESS) + acp62_writel(ACP_PGFSM_CNTL_POWER_ON_MASK, acp_base + ACP_PGFSM_CONTROL); + timeout = 0; + while (++timeout < 500) { + val = acp62_readl(acp_base + ACP_PGFSM_STATUS); + if (!val) + return 0; + udelay(1); + } + return -ETIMEDOUT; +} + +static int acp62_reset(void __iomem *acp_base) +{ + u32 val; + int timeout; + + acp62_writel(1, acp_base + ACP_SOFT_RESET); + timeout = 0; + while (++timeout < 500) { + val = acp62_readl(acp_base + ACP_SOFT_RESET); + if (val & ACP_SOFT_RESET_SOFTRESET_AUDDONE_MASK) + break; + cpu_relax(); + } + acp62_writel(0, acp_base + ACP_SOFT_RESET); + timeout = 0; + while (++timeout < 500) { + val = acp62_readl(acp_base + ACP_SOFT_RESET); + if (!val) + return 0; + cpu_relax(); + } + return -ETIMEDOUT; +} + +static void acp62_enable_interrupts(void __iomem *acp_base) +{ + acp62_writel(1, acp_base + ACP_EXTERNAL_INTR_ENB); +} + +static void acp62_disable_interrupts(void __iomem *acp_base) +{ + acp62_writel(ACP_EXT_INTR_STAT_CLEAR_MASK, acp_base + + ACP_EXTERNAL_INTR_STAT); + acp62_writel(0, acp_base + ACP_EXTERNAL_INTR_CNTL); + acp62_writel(0, acp_base + ACP_EXTERNAL_INTR_ENB); +} + +static int acp62_init(void __iomem *acp_base, struct device *dev) +{ + int ret; + + ret = acp62_power_on(acp_base); + if (ret) { + dev_err(dev, "ACP power on failed\n"); + return ret; + } + acp62_writel(0x01, acp_base + ACP_CONTROL); + ret = acp62_reset(acp_base); + if (ret) { + dev_err(dev, "ACP reset failed\n"); + return ret; + } + acp62_writel(0x03, acp_base + ACP_CLKMUX_SEL); + acp62_enable_interrupts(acp_base); + return 0; +} + +static int acp62_deinit(void __iomem *acp_base, struct device *dev) +{ + int ret; + + acp62_disable_interrupts(acp_base); + ret = acp62_reset(acp_base); + if (ret) { + dev_err(dev, "ACP reset failed\n"); + return ret; + } + acp62_writel(0, acp_base + ACP_CLKMUX_SEL); + acp62_writel(0, acp_base + ACP_CONTROL); + return 0; +} + +static irqreturn_t acp62_irq_handler(int irq, void *dev_id) +{ + struct acp62_dev_data *adata; + struct pdm_dev_data *ps_pdm_data; + u32 val; + + adata = dev_id; + if (!adata) + return IRQ_NONE; + + val = acp62_readl(adata->acp62_base + ACP_EXTERNAL_INTR_STAT); + if (val & BIT(PDM_DMA_STAT)) { + ps_pdm_data = dev_get_drvdata(&adata->pdev[0]->dev); + acp62_writel(BIT(PDM_DMA_STAT), adata->acp62_base + ACP_EXTERNAL_INTR_STAT); + if (ps_pdm_data->capture_stream) + snd_pcm_period_elapsed(ps_pdm_data->capture_stream); + return IRQ_HANDLED; + } + return IRQ_NONE; +} + +static int snd_acp62_probe(struct pci_dev *pci, + const struct pci_device_id *pci_id) +{ + struct acp62_dev_data *adata; + struct platform_device_info pdevinfo[ACP6x_DEVS]; + int index, ret; + int val = 0x00; + struct acpi_device *adev; + const union acpi_object *obj; + u32 addr; + unsigned int irqflags; + + irqflags = IRQF_SHARED; + /* Pink Sardine device check */ + switch (pci->revision) { + case 0x63: + break; + default: + dev_dbg(&pci->dev, "acp62 pci device not found\n"); + return -ENODEV; + } + if (pci_enable_device(pci)) { + dev_err(&pci->dev, "pci_enable_device failed\n"); + return -ENODEV; + } + + ret = pci_request_regions(pci, "AMD ACP6.2 audio"); + if (ret < 0) { + dev_err(&pci->dev, "pci_request_regions failed\n"); + goto disable_pci; + } + adata = devm_kzalloc(&pci->dev, sizeof(struct acp62_dev_data), + GFP_KERNEL); + if (!adata) { + ret = -ENOMEM; + goto release_regions; + } + + addr = pci_resource_start(pci, 0); + adata->acp62_base = devm_ioremap(&pci->dev, addr, + pci_resource_len(pci, 0)); + if (!adata->acp62_base) { + ret = -ENOMEM; + goto release_regions; + } + pci_set_master(pci); + pci_set_drvdata(pci, adata); + ret = acp62_init(adata->acp62_base, &pci->dev); + if (ret) + goto release_regions; + val = acp62_readl(adata->acp62_base + ACP_PIN_CONFIG); + switch (val) { + case ACP_CONFIG_0: + case ACP_CONFIG_1: + case ACP_CONFIG_2: + case ACP_CONFIG_3: + case ACP_CONFIG_9: + case ACP_CONFIG_15: + dev_info(&pci->dev, "Audio Mode %d\n", val); + break; + default: + + /* Checking DMIC hardware*/ + adev = acpi_find_child_device(ACPI_COMPANION(&pci->dev), 0x02, 0); + + if (!adev) + break; + + if (!acpi_dev_get_property(adev, "acp-audio-device-type", + ACPI_TYPE_INTEGER, &obj) && + obj->integer.value == 2) { + adata->res = devm_kzalloc(&pci->dev, sizeof(struct resource), GFP_KERNEL); + if (!adata->res) { + ret = -ENOMEM; + goto de_init; + } + + adata->res->name = "acp_iomem"; + adata->res->flags = IORESOURCE_MEM; + adata->res->start = addr; + adata->res->end = addr + (ACP6x_REG_END - ACP6x_REG_START); + adata->acp62_audio_mode = ACP6x_PDM_MODE; + + memset(&pdevinfo, 0, sizeof(pdevinfo)); + pdevinfo[0].name = "acp_ps_pdm_dma"; + pdevinfo[0].id = 0; + pdevinfo[0].parent = &pci->dev; + pdevinfo[0].num_res = 1; + pdevinfo[0].res = adata->res; + + pdevinfo[1].name = "dmic-codec"; + pdevinfo[1].id = 0; + pdevinfo[1].parent = &pci->dev; + + pdevinfo[2].name = "acp_ps_mach"; + pdevinfo[2].id = 0; + pdevinfo[2].parent = &pci->dev; + + for (index = 0; index < ACP6x_DEVS; index++) { + adata->pdev[index] = + platform_device_register_full(&pdevinfo[index]); + + if (IS_ERR(adata->pdev[index])) { + dev_err(&pci->dev, + "cannot register %s device\n", + pdevinfo[index].name); + ret = PTR_ERR(adata->pdev[index]); + goto unregister_devs; + } + ret = devm_request_irq(&pci->dev, pci->irq, acp62_irq_handler, + irqflags, "ACP_PCI_IRQ", adata); + if (ret) { + dev_err(&pci->dev, "ACP PCI IRQ request failed\n"); + goto unregister_devs; + } + } + } + break; + } + pm_runtime_set_autosuspend_delay(&pci->dev, ACP_SUSPEND_DELAY_MS); + pm_runtime_use_autosuspend(&pci->dev); + pm_runtime_put_noidle(&pci->dev); + pm_runtime_allow(&pci->dev); + return 0; +unregister_devs: + for (--index; index >= 0; index--) + platform_device_unregister(adata->pdev[index]); +de_init: + if (acp62_deinit(adata->acp62_base, &pci->dev)) + dev_err(&pci->dev, "ACP de-init failed\n"); +release_regions: + pci_release_regions(pci); +disable_pci: + pci_disable_device(pci); + + return ret; +} + +static int __maybe_unused snd_acp62_suspend(struct device *dev) +{ + struct acp62_dev_data *adata; + int ret; + + adata = dev_get_drvdata(dev); + ret = acp62_deinit(adata->acp62_base, dev); + if (ret) + dev_err(dev, "ACP de-init failed\n"); + return ret; +} + +static int __maybe_unused snd_acp62_resume(struct device *dev) +{ + struct acp62_dev_data *adata; + int ret; + + adata = dev_get_drvdata(dev); + ret = acp62_init(adata->acp62_base, dev); + if (ret) + dev_err(dev, "ACP init failed\n"); + return ret; +} + +static const struct dev_pm_ops acp62_pm_ops = { + SET_RUNTIME_PM_OPS(snd_acp62_suspend, snd_acp62_resume, NULL) + SET_SYSTEM_SLEEP_PM_OPS(snd_acp62_suspend, snd_acp62_resume) +}; + +static void snd_acp62_remove(struct pci_dev *pci) +{ + struct acp62_dev_data *adata; + int ret, index; + + adata = pci_get_drvdata(pci); + if (adata->acp62_audio_mode == ACP6x_PDM_MODE) { + for (index = 0; index < ACP6x_DEVS; index++) + platform_device_unregister(adata->pdev[index]); + } + ret = acp62_deinit(adata->acp62_base, &pci->dev); + if (ret) + dev_err(&pci->dev, "ACP de-init failed\n"); + pm_runtime_forbid(&pci->dev); + pm_runtime_get_noresume(&pci->dev); + pci_release_regions(pci); + pci_disable_device(pci); +} + +static const struct pci_device_id snd_acp62_ids[] = { + { PCI_DEVICE(PCI_VENDOR_ID_AMD, ACP_DEVICE_ID), + .class = PCI_CLASS_MULTIMEDIA_OTHER << 8, + .class_mask = 0xffffff }, + { 0, }, +}; +MODULE_DEVICE_TABLE(pci, snd_acp62_ids); + +static struct pci_driver ps_acp62_driver = { + .name = KBUILD_MODNAME, + .id_table = snd_acp62_ids, + .probe = snd_acp62_probe, + .remove = snd_acp62_remove, + .driver = { + .pm = &acp62_pm_ops, + } +}; + +module_pci_driver(ps_acp62_driver); + +MODULE_AUTHOR("Vijendar.Mukunda@amd.com"); +MODULE_AUTHOR("Syed.SabaKareem@amd.com"); +MODULE_DESCRIPTION("AMD ACP Pink Sardine PCI driver"); +MODULE_LICENSE("GPL v2"); --- linux-gcp-5.19.0.orig/sound/soc/amd/ps/ps-mach.c +++ linux-gcp-5.19.0/sound/soc/amd/ps/ps-mach.c @@ -0,0 +1,79 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Machine driver for AMD Pink Sardine platform using DMIC + * + * Copyright 2022 Advanced Micro Devices, Inc. + */ + +#include +#include +#include +#include +#include +#include +#include + +#include "acp62.h" + +#define DRV_NAME "acp_ps_mach" + +SND_SOC_DAILINK_DEF(acp62_pdm, + DAILINK_COMP_ARRAY(COMP_CPU("acp_ps_pdm_dma.0"))); + +SND_SOC_DAILINK_DEF(dmic_codec, + DAILINK_COMP_ARRAY(COMP_CODEC("dmic-codec.0", + "dmic-hifi"))); + +SND_SOC_DAILINK_DEF(pdm_platform, + DAILINK_COMP_ARRAY(COMP_PLATFORM("acp_ps_pdm_dma.0"))); + +static struct snd_soc_dai_link acp62_dai_pdm[] = { + { + .name = "acp62-dmic-capture", + .stream_name = "DMIC capture", + .capture_only = 1, + SND_SOC_DAILINK_REG(acp62_pdm, dmic_codec, pdm_platform), + }, +}; + +static struct snd_soc_card acp62_card = { + .name = "acp62", + .owner = THIS_MODULE, + .dai_link = acp62_dai_pdm, + .num_links = 1, +}; + +static int acp62_probe(struct platform_device *pdev) +{ + struct acp62_pdm *machine = NULL; + struct snd_soc_card *card; + int ret; + + platform_set_drvdata(pdev, &acp62_card); + card = platform_get_drvdata(pdev); + acp62_card.dev = &pdev->dev; + + snd_soc_card_set_drvdata(card, machine); + ret = devm_snd_soc_register_card(&pdev->dev, card); + if (ret) { + return dev_err_probe(&pdev->dev, ret, + "snd_soc_register_card(%s) failed\n", + card->name); + } + + return 0; +} + +static struct platform_driver acp62_mach_driver = { + .driver = { + .name = "acp_ps_mach", + .pm = &snd_soc_pm_ops, + }, + .probe = acp62_probe, +}; + +module_platform_driver(acp62_mach_driver); + +MODULE_AUTHOR("Syed.SabaKareem@amd.com"); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); --- linux-gcp-5.19.0.orig/sound/soc/amd/ps/ps-pdm-dma.c +++ linux-gcp-5.19.0/sound/soc/amd/ps/ps-pdm-dma.c @@ -0,0 +1,452 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * AMD ALSA SoC Pink Sardine PDM Driver + * + * Copyright 2022 Advanced Micro Devices, Inc. + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "acp62.h" + +#define DRV_NAME "acp_ps_pdm_dma" + +static const struct snd_pcm_hardware acp62_pdm_hardware_capture = { + .info = SNDRV_PCM_INFO_INTERLEAVED | + SNDRV_PCM_INFO_BLOCK_TRANSFER | + SNDRV_PCM_INFO_MMAP | + SNDRV_PCM_INFO_MMAP_VALID | + SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME, + .formats = SNDRV_PCM_FMTBIT_S32_LE, + .channels_min = 2, + .channels_max = 2, + .rates = SNDRV_PCM_RATE_48000, + .rate_min = 48000, + .rate_max = 48000, + .buffer_bytes_max = CAPTURE_MAX_NUM_PERIODS * CAPTURE_MAX_PERIOD_SIZE, + .period_bytes_min = CAPTURE_MIN_PERIOD_SIZE, + .period_bytes_max = CAPTURE_MAX_PERIOD_SIZE, + .periods_min = CAPTURE_MIN_NUM_PERIODS, + .periods_max = CAPTURE_MAX_NUM_PERIODS, +}; + +static void acp62_init_pdm_ring_buffer(u32 physical_addr, u32 buffer_size, + u32 watermark_size, void __iomem *acp_base) +{ + acp62_writel(physical_addr, acp_base + ACP_WOV_RX_RINGBUFADDR); + acp62_writel(buffer_size, acp_base + ACP_WOV_RX_RINGBUFSIZE); + acp62_writel(watermark_size, acp_base + ACP_WOV_RX_INTR_WATERMARK_SIZE); + acp62_writel(0x01, acp_base + ACPAXI2AXI_ATU_CTRL); +} + +static void acp62_enable_pdm_clock(void __iomem *acp_base) +{ + u32 pdm_clk_enable, pdm_ctrl; + + pdm_clk_enable = ACP_PDM_CLK_FREQ_MASK; + pdm_ctrl = 0x00; + + acp62_writel(pdm_clk_enable, acp_base + ACP_WOV_CLK_CTRL); + pdm_ctrl = acp62_readl(acp_base + ACP_WOV_MISC_CTRL); + pdm_ctrl |= ACP_WOV_MISC_CTRL_MASK; + acp62_writel(pdm_ctrl, acp_base + ACP_WOV_MISC_CTRL); +} + +static void acp62_enable_pdm_interrupts(void __iomem *acp_base) +{ + u32 ext_int_ctrl; + + ext_int_ctrl = acp62_readl(acp_base + ACP_EXTERNAL_INTR_CNTL); + ext_int_ctrl |= PDM_DMA_INTR_MASK; + acp62_writel(ext_int_ctrl, acp_base + ACP_EXTERNAL_INTR_CNTL); +} + +static void acp62_disable_pdm_interrupts(void __iomem *acp_base) +{ + u32 ext_int_ctrl; + + ext_int_ctrl = acp62_readl(acp_base + ACP_EXTERNAL_INTR_CNTL); + ext_int_ctrl &= ~PDM_DMA_INTR_MASK; + acp62_writel(ext_int_ctrl, acp_base + ACP_EXTERNAL_INTR_CNTL); +} + +static bool acp62_check_pdm_dma_status(void __iomem *acp_base) +{ + bool pdm_dma_status; + u32 pdm_enable, pdm_dma_enable; + + pdm_dma_status = false; + pdm_enable = acp62_readl(acp_base + ACP_WOV_PDM_ENABLE); + pdm_dma_enable = acp62_readl(acp_base + ACP_WOV_PDM_DMA_ENABLE); + if ((pdm_enable & ACP_PDM_ENABLE) && (pdm_dma_enable & ACP_PDM_DMA_EN_STATUS)) + pdm_dma_status = true; + + return pdm_dma_status; +} + +static int acp62_start_pdm_dma(void __iomem *acp_base) +{ + u32 pdm_enable; + u32 pdm_dma_enable; + int timeout; + + pdm_enable = 0x01; + pdm_dma_enable = 0x01; + + acp62_enable_pdm_clock(acp_base); + acp62_writel(pdm_enable, acp_base + ACP_WOV_PDM_ENABLE); + acp62_writel(pdm_dma_enable, acp_base + ACP_WOV_PDM_DMA_ENABLE); + timeout = 0; + while (++timeout < ACP_COUNTER) { + pdm_dma_enable = acp62_readl(acp_base + ACP_WOV_PDM_DMA_ENABLE); + if ((pdm_dma_enable & 0x02) == ACP_PDM_DMA_EN_STATUS) + return 0; + udelay(DELAY_US); + } + return -ETIMEDOUT; +} + +static int acp62_stop_pdm_dma(void __iomem *acp_base) +{ + u32 pdm_enable, pdm_dma_enable; + int timeout; + + pdm_enable = 0x00; + pdm_dma_enable = 0x00; + + pdm_enable = acp62_readl(acp_base + ACP_WOV_PDM_ENABLE); + pdm_dma_enable = acp62_readl(acp_base + ACP_WOV_PDM_DMA_ENABLE); + if (pdm_dma_enable & 0x01) { + pdm_dma_enable = 0x02; + acp62_writel(pdm_dma_enable, acp_base + ACP_WOV_PDM_DMA_ENABLE); + timeout = 0; + while (++timeout < ACP_COUNTER) { + pdm_dma_enable = acp62_readl(acp_base + ACP_WOV_PDM_DMA_ENABLE); + if ((pdm_dma_enable & 0x02) == 0x00) + break; + udelay(DELAY_US); + } + if (timeout == ACP_COUNTER) + return -ETIMEDOUT; + } + if (pdm_enable == ACP_PDM_ENABLE) { + pdm_enable = ACP_PDM_DISABLE; + acp62_writel(pdm_enable, acp_base + ACP_WOV_PDM_ENABLE); + } + acp62_writel(0x01, acp_base + ACP_WOV_PDM_FIFO_FLUSH); + return 0; +} + +static void acp62_config_dma(struct pdm_stream_instance *rtd, int direction) +{ + u16 page_idx; + u32 low, high, val; + dma_addr_t addr; + + addr = rtd->dma_addr; + val = PDM_PTE_OFFSET; + + /* Group Enable */ + acp62_writel(ACP_SRAM_PTE_OFFSET | BIT(31), rtd->acp62_base + + ACPAXI2AXI_ATU_BASE_ADDR_GRP_1); + acp62_writel(PAGE_SIZE_4K_ENABLE, rtd->acp62_base + + ACPAXI2AXI_ATU_PAGE_SIZE_GRP_1); + for (page_idx = 0; page_idx < rtd->num_pages; page_idx++) { + /* Load the low address of page int ACP SRAM through SRBM */ + low = lower_32_bits(addr); + high = upper_32_bits(addr); + + acp62_writel(low, rtd->acp62_base + ACP_SCRATCH_REG_0 + val); + high |= BIT(31); + acp62_writel(high, rtd->acp62_base + ACP_SCRATCH_REG_0 + val + 4); + val += 8; + addr += PAGE_SIZE; + } +} + +static int acp62_pdm_dma_open(struct snd_soc_component *component, + struct snd_pcm_substream *substream) +{ + struct snd_pcm_runtime *runtime; + struct pdm_dev_data *adata; + struct pdm_stream_instance *pdm_data; + int ret; + + runtime = substream->runtime; + adata = dev_get_drvdata(component->dev); + pdm_data = kzalloc(sizeof(*pdm_data), GFP_KERNEL); + if (!pdm_data) + return -EINVAL; + + if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) + runtime->hw = acp62_pdm_hardware_capture; + + ret = snd_pcm_hw_constraint_integer(runtime, + SNDRV_PCM_HW_PARAM_PERIODS); + if (ret < 0) { + dev_err(component->dev, "set integer constraint failed\n"); + kfree(pdm_data); + return ret; + } + + acp62_enable_pdm_interrupts(adata->acp62_base); + + if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) + adata->capture_stream = substream; + + pdm_data->acp62_base = adata->acp62_base; + runtime->private_data = pdm_data; + return ret; +} + +static int acp62_pdm_dma_hw_params(struct snd_soc_component *component, + struct snd_pcm_substream *substream, + struct snd_pcm_hw_params *params) +{ + struct pdm_stream_instance *rtd; + size_t size, period_bytes; + + rtd = substream->runtime->private_data; + if (!rtd) + return -EINVAL; + size = params_buffer_bytes(params); + period_bytes = params_period_bytes(params); + rtd->dma_addr = substream->runtime->dma_addr; + rtd->num_pages = (PAGE_ALIGN(size) >> PAGE_SHIFT); + acp62_config_dma(rtd, substream->stream); + acp62_init_pdm_ring_buffer(PDM_MEM_WINDOW_START, size, + period_bytes, rtd->acp62_base); + return 0; +} + +static u64 acp62_pdm_get_byte_count(struct pdm_stream_instance *rtd, + int direction) +{ + u32 high, low; + u64 byte_count; + + high = acp62_readl(rtd->acp62_base + ACP_WOV_RX_LINEARPOSITIONCNTR_HIGH); + byte_count = high; + low = acp62_readl(rtd->acp62_base + ACP_WOV_RX_LINEARPOSITIONCNTR_LOW); + byte_count = (byte_count << 32) | low; + return byte_count; +} + +static snd_pcm_uframes_t acp62_pdm_dma_pointer(struct snd_soc_component *comp, + struct snd_pcm_substream *stream) +{ + struct pdm_stream_instance *rtd; + u32 pos, buffersize; + u64 bytescount; + + rtd = stream->runtime->private_data; + buffersize = frames_to_bytes(stream->runtime, + stream->runtime->buffer_size); + bytescount = acp62_pdm_get_byte_count(rtd, stream->stream); + if (bytescount > rtd->bytescount) + bytescount -= rtd->bytescount; + pos = do_div(bytescount, buffersize); + return bytes_to_frames(stream->runtime, pos); +} + +static int acp62_pdm_dma_new(struct snd_soc_component *component, + struct snd_soc_pcm_runtime *rtd) +{ + struct device *parent = component->dev->parent; + + snd_pcm_set_managed_buffer_all(rtd->pcm, SNDRV_DMA_TYPE_DEV, + parent, MIN_BUFFER, MAX_BUFFER); + return 0; +} + +static int acp62_pdm_dma_close(struct snd_soc_component *component, + struct snd_pcm_substream *substream) +{ + struct pdm_dev_data *adata = dev_get_drvdata(component->dev); + struct snd_pcm_runtime *runtime = substream->runtime; + + acp62_disable_pdm_interrupts(adata->acp62_base); + adata->capture_stream = NULL; + kfree(runtime->private_data); + return 0; +} + +static int acp62_pdm_dai_trigger(struct snd_pcm_substream *substream, + int cmd, struct snd_soc_dai *dai) +{ + struct pdm_stream_instance *rtd; + int ret; + bool pdm_status; + unsigned int ch_mask; + + rtd = substream->runtime->private_data; + ret = 0; + switch (substream->runtime->channels) { + case TWO_CH: + ch_mask = 0x00; + break; + default: + return -EINVAL; + } + switch (cmd) { + case SNDRV_PCM_TRIGGER_START: + case SNDRV_PCM_TRIGGER_RESUME: + case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: + acp62_writel(ch_mask, rtd->acp62_base + ACP_WOV_PDM_NO_OF_CHANNELS); + acp62_writel(PDM_DECIMATION_FACTOR, rtd->acp62_base + + ACP_WOV_PDM_DECIMATION_FACTOR); + rtd->bytescount = acp62_pdm_get_byte_count(rtd, substream->stream); + pdm_status = acp62_check_pdm_dma_status(rtd->acp62_base); + if (!pdm_status) + ret = acp62_start_pdm_dma(rtd->acp62_base); + break; + case SNDRV_PCM_TRIGGER_STOP: + case SNDRV_PCM_TRIGGER_SUSPEND: + case SNDRV_PCM_TRIGGER_PAUSE_PUSH: + pdm_status = acp62_check_pdm_dma_status(rtd->acp62_base); + if (pdm_status) + ret = acp62_stop_pdm_dma(rtd->acp62_base); + break; + default: + ret = -EINVAL; + break; + } + return ret; +} + +static const struct snd_soc_dai_ops acp62_pdm_dai_ops = { + .trigger = acp62_pdm_dai_trigger, +}; + +static struct snd_soc_dai_driver acp62_pdm_dai_driver = { + .name = "acp_ps_pdm_dma.0", + .capture = { + .rates = SNDRV_PCM_RATE_48000, + .formats = SNDRV_PCM_FMTBIT_S32_LE, + .channels_min = 2, + .channels_max = 2, + .rate_min = 48000, + .rate_max = 48000, + }, + .ops = &acp62_pdm_dai_ops, +}; + +static const struct snd_soc_component_driver acp62_pdm_component = { + .name = DRV_NAME, + .open = acp62_pdm_dma_open, + .close = acp62_pdm_dma_close, + .hw_params = acp62_pdm_dma_hw_params, + .pointer = acp62_pdm_dma_pointer, + .pcm_construct = acp62_pdm_dma_new, +}; + +static int acp62_pdm_audio_probe(struct platform_device *pdev) +{ + struct resource *res; + struct pdm_dev_data *adata; + int status; + + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); + if (!res) { + dev_err(&pdev->dev, "IORESOURCE_MEM FAILED\n"); + return -ENODEV; + } + + adata = devm_kzalloc(&pdev->dev, sizeof(*adata), GFP_KERNEL); + if (!adata) + return -ENOMEM; + + adata->acp62_base = devm_ioremap(&pdev->dev, res->start, resource_size(res)); + if (!adata->acp62_base) + return -ENOMEM; + + adata->capture_stream = NULL; + + dev_set_drvdata(&pdev->dev, adata); + status = devm_snd_soc_register_component(&pdev->dev, + &acp62_pdm_component, + &acp62_pdm_dai_driver, 1); + if (status) { + dev_err(&pdev->dev, "Fail to register acp pdm dai\n"); + + return -ENODEV; + } + pm_runtime_set_autosuspend_delay(&pdev->dev, ACP_SUSPEND_DELAY_MS); + pm_runtime_use_autosuspend(&pdev->dev); + pm_runtime_enable(&pdev->dev); + pm_runtime_allow(&pdev->dev); + return 0; +} + +static int acp62_pdm_audio_remove(struct platform_device *pdev) +{ + pm_runtime_disable(&pdev->dev); + return 0; +} + +static int __maybe_unused acp62_pdm_resume(struct device *dev) +{ + struct pdm_dev_data *adata; + struct snd_pcm_runtime *runtime; + struct pdm_stream_instance *rtd; + u32 period_bytes, buffer_len; + + adata = dev_get_drvdata(dev); + if (adata->capture_stream && adata->capture_stream->runtime) { + runtime = adata->capture_stream->runtime; + rtd = runtime->private_data; + period_bytes = frames_to_bytes(runtime, runtime->period_size); + buffer_len = frames_to_bytes(runtime, runtime->buffer_size); + acp62_config_dma(rtd, SNDRV_PCM_STREAM_CAPTURE); + acp62_init_pdm_ring_buffer(PDM_MEM_WINDOW_START, buffer_len, + period_bytes, adata->acp62_base); + } + acp62_enable_pdm_interrupts(adata->acp62_base); + return 0; +} + +static int __maybe_unused acp62_pdm_suspend(struct device *dev) +{ + struct pdm_dev_data *adata; + + adata = dev_get_drvdata(dev); + acp62_disable_pdm_interrupts(adata->acp62_base); + return 0; +} + +static int __maybe_unused acp62_pdm_runtime_resume(struct device *dev) +{ + struct pdm_dev_data *adata; + + adata = dev_get_drvdata(dev); + acp62_enable_pdm_interrupts(adata->acp62_base); + return 0; +} + +static const struct dev_pm_ops acp62_pdm_pm_ops = { + SET_RUNTIME_PM_OPS(acp62_pdm_suspend, acp62_pdm_runtime_resume, NULL) + SET_SYSTEM_SLEEP_PM_OPS(acp62_pdm_suspend, acp62_pdm_resume) +}; + +static struct platform_driver acp62_pdm_dma_driver = { + .probe = acp62_pdm_audio_probe, + .remove = acp62_pdm_audio_remove, + .driver = { + .name = "acp_ps_pdm_dma", + .pm = &acp62_pdm_pm_ops, + }, +}; + +module_platform_driver(acp62_pdm_dma_driver); + +MODULE_AUTHOR("Syed.SabaKareem@amd.com"); +MODULE_DESCRIPTION("AMD PINK SARDINE PDM Driver"); +MODULE_LICENSE("GPL v2"); +MODULE_ALIAS("platform:" DRV_NAME); --- linux-gcp-5.19.0.orig/sound/soc/amd/yc/acp6x-mach.c +++ linux-gcp-5.19.0/sound/soc/amd/yc/acp6x-mach.c @@ -49,84 +49,91 @@ .driver_data = &acp6x_card, .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "21D2"), + DMI_MATCH(DMI_PRODUCT_NAME, "21D0"), } }, { .driver_data = &acp6x_card, .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "21D3"), + DMI_MATCH(DMI_PRODUCT_NAME, "21D0"), } }, { .driver_data = &acp6x_card, .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "21D4"), + DMI_MATCH(DMI_PRODUCT_NAME, "21D1"), } }, { .driver_data = &acp6x_card, .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "21D5"), + DMI_MATCH(DMI_PRODUCT_NAME, "21D2"), } }, { .driver_data = &acp6x_card, .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "21CF"), + DMI_MATCH(DMI_PRODUCT_NAME, "21D3"), } }, { .driver_data = &acp6x_card, .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "21CG"), + DMI_MATCH(DMI_PRODUCT_NAME, "21D4"), } }, { .driver_data = &acp6x_card, .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "21CQ"), + DMI_MATCH(DMI_PRODUCT_NAME, "21D5"), } }, { .driver_data = &acp6x_card, .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "21CR"), + DMI_MATCH(DMI_PRODUCT_NAME, "21CF"), + } + }, + { + .driver_data = &acp6x_card, + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_NAME, "21CG"), } }, { .driver_data = &acp6x_card, .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "21AW"), + DMI_MATCH(DMI_PRODUCT_NAME, "21CQ"), } }, { .driver_data = &acp6x_card, .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "21AX"), + DMI_MATCH(DMI_PRODUCT_NAME, "21CR"), } }, { .driver_data = &acp6x_card, .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "21BN"), + DMI_MATCH(DMI_PRODUCT_NAME, "21CM"), } }, { .driver_data = &acp6x_card, .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "21BQ"), + DMI_MATCH(DMI_PRODUCT_NAME, "21CN"), } }, { @@ -161,14 +168,21 @@ .driver_data = &acp6x_card, .matches = { DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "21D8"), + DMI_MATCH(DMI_PRODUCT_NAME, "82"), } }, { .driver_data = &acp6x_card, .matches = { - DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"), - DMI_MATCH(DMI_PRODUCT_NAME, "21D9"), + DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK COMPUTER INC."), + DMI_MATCH(DMI_PRODUCT_NAME, "UM5302TA"), + } + }, + { + .driver_data = &acp6x_card, + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Alienware"), + DMI_MATCH(DMI_PRODUCT_NAME, "Alienware m17 R5 AMD"), } }, {} --- linux-gcp-5.19.0.orig/sound/soc/amd/yc/pci-acp6x.c +++ linux-gcp-5.19.0/sound/soc/amd/yc/pci-acp6x.c @@ -159,7 +159,7 @@ case 0x6f: break; default: - dev_err(&pci->dev, "acp6x pci device not found\n"); + dev_dbg(&pci->dev, "acp6x pci device not found\n"); return -ENODEV; } if (pci_enable_device(pci)) { --- linux-gcp-5.19.0.orig/sound/soc/atmel/mchp-spdifrx.c +++ linux-gcp-5.19.0/sound/soc/atmel/mchp-spdifrx.c @@ -217,7 +217,6 @@ struct mchp_spdifrx_user_data { unsigned char data[SPDIFRX_UD_BITS / 8]; struct completion done; - spinlock_t lock; /* protect access to user data */ }; struct mchp_spdifrx_mixer_control { @@ -231,13 +230,13 @@ struct mchp_spdifrx_dev { struct snd_dmaengine_dai_dma_data capture; struct mchp_spdifrx_mixer_control control; - spinlock_t blockend_lock; /* protect access to blockend_refcount */ - int blockend_refcount; + struct mutex mlock; struct device *dev; struct regmap *regmap; struct clk *pclk; struct clk *gclk; unsigned int fmt; + unsigned int trigger_enabled; unsigned int gclk_enabled:1; }; @@ -275,35 +274,11 @@ } } -/* called from non-atomic context only */ -static void mchp_spdifrx_isr_blockend_en(struct mchp_spdifrx_dev *dev) -{ - unsigned long flags; - - spin_lock_irqsave(&dev->blockend_lock, flags); - dev->blockend_refcount++; - /* don't enable BLOCKEND interrupt if it's already enabled */ - if (dev->blockend_refcount == 1) - regmap_write(dev->regmap, SPDIFRX_IER, SPDIFRX_IR_BLOCKEND); - spin_unlock_irqrestore(&dev->blockend_lock, flags); -} - -/* called from atomic context only */ -static void mchp_spdifrx_isr_blockend_dis(struct mchp_spdifrx_dev *dev) -{ - spin_lock(&dev->blockend_lock); - dev->blockend_refcount--; - /* don't enable BLOCKEND interrupt if it's already enabled */ - if (dev->blockend_refcount == 0) - regmap_write(dev->regmap, SPDIFRX_IDR, SPDIFRX_IR_BLOCKEND); - spin_unlock(&dev->blockend_lock); -} - static irqreturn_t mchp_spdif_interrupt(int irq, void *dev_id) { struct mchp_spdifrx_dev *dev = dev_id; struct mchp_spdifrx_mixer_control *ctrl = &dev->control; - u32 sr, imr, pending, idr = 0; + u32 sr, imr, pending; irqreturn_t ret = IRQ_NONE; int ch; @@ -318,13 +293,10 @@ if (pending & SPDIFRX_IR_BLOCKEND) { for (ch = 0; ch < SPDIFRX_CHANNELS; ch++) { - spin_lock(&ctrl->user_data[ch].lock); mchp_spdifrx_channel_user_data_read(dev, ch); - spin_unlock(&ctrl->user_data[ch].lock); - complete(&ctrl->user_data[ch].done); } - mchp_spdifrx_isr_blockend_dis(dev); + regmap_write(dev->regmap, SPDIFRX_IDR, SPDIFRX_IR_BLOCKEND); ret = IRQ_HANDLED; } @@ -332,7 +304,7 @@ if (pending & SPDIFRX_IR_CSC(ch)) { mchp_spdifrx_channel_status_read(dev, ch); complete(&ctrl->ch_stat[ch].done); - idr |= SPDIFRX_IR_CSC(ch); + regmap_write(dev->regmap, SPDIFRX_IDR, SPDIFRX_IR_CSC(ch)); ret = IRQ_HANDLED; } } @@ -342,8 +314,6 @@ ret = IRQ_HANDLED; } - regmap_write(dev->regmap, SPDIFRX_IDR, idr); - return ret; } @@ -351,47 +321,40 @@ struct snd_soc_dai *dai) { struct mchp_spdifrx_dev *dev = snd_soc_dai_get_drvdata(dai); - u32 mr; - int running; - int ret; - - regmap_read(dev->regmap, SPDIFRX_MR, &mr); - running = !!(mr & SPDIFRX_MR_RXEN_ENABLE); + int ret = 0; switch (cmd) { case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: - if (!running) { - mr &= ~SPDIFRX_MR_RXEN_MASK; - mr |= SPDIFRX_MR_RXEN_ENABLE; - /* enable overrun interrupts */ - regmap_write(dev->regmap, SPDIFRX_IER, - SPDIFRX_IR_OVERRUN); - } + mutex_lock(&dev->mlock); + /* Enable overrun interrupts */ + regmap_write(dev->regmap, SPDIFRX_IER, SPDIFRX_IR_OVERRUN); + + /* Enable receiver. */ + regmap_update_bits(dev->regmap, SPDIFRX_MR, SPDIFRX_MR_RXEN_MASK, + SPDIFRX_MR_RXEN_ENABLE); + dev->trigger_enabled = true; + mutex_unlock(&dev->mlock); break; case SNDRV_PCM_TRIGGER_STOP: case SNDRV_PCM_TRIGGER_SUSPEND: case SNDRV_PCM_TRIGGER_PAUSE_PUSH: - if (running) { - mr &= ~SPDIFRX_MR_RXEN_MASK; - mr |= SPDIFRX_MR_RXEN_DISABLE; - /* disable overrun interrupts */ - regmap_write(dev->regmap, SPDIFRX_IDR, - SPDIFRX_IR_OVERRUN); - } + mutex_lock(&dev->mlock); + /* Disable overrun interrupts */ + regmap_write(dev->regmap, SPDIFRX_IDR, SPDIFRX_IR_OVERRUN); + + /* Disable receiver. */ + regmap_update_bits(dev->regmap, SPDIFRX_MR, SPDIFRX_MR_RXEN_MASK, + SPDIFRX_MR_RXEN_DISABLE); + dev->trigger_enabled = false; + mutex_unlock(&dev->mlock); break; default: - return -EINVAL; + ret = -EINVAL; } - ret = regmap_write(dev->regmap, SPDIFRX_MR, mr); - if (ret) { - dev_err(dev->dev, "unable to enable/disable RX: %d\n", ret); - return ret; - } - - return 0; + return ret; } static int mchp_spdifrx_hw_params(struct snd_pcm_substream *substream, @@ -399,7 +362,7 @@ struct snd_soc_dai *dai) { struct mchp_spdifrx_dev *dev = snd_soc_dai_get_drvdata(dai); - u32 mr; + u32 mr = 0; int ret; dev_dbg(dev->dev, "%s() rate=%u format=%#x width=%u channels=%u\n", @@ -411,13 +374,6 @@ return -EINVAL; } - regmap_read(dev->regmap, SPDIFRX_MR, &mr); - - if (mr & SPDIFRX_MR_RXEN_ENABLE) { - dev_err(dev->dev, "PCM already running\n"); - return -EBUSY; - } - if (params_channels(params) != SPDIFRX_CHANNELS) { dev_err(dev->dev, "unsupported number of channels: %d\n", params_channels(params)); @@ -443,6 +399,13 @@ return -EINVAL; } + mutex_lock(&dev->mlock); + if (dev->trigger_enabled) { + dev_err(dev->dev, "PCM already running\n"); + ret = -EBUSY; + goto unlock; + } + if (dev->gclk_enabled) { clk_disable_unprepare(dev->gclk); dev->gclk_enabled = 0; @@ -453,19 +416,24 @@ dev_err(dev->dev, "unable to set gclk min rate: rate %u * ratio %u + 1\n", params_rate(params), SPDIFRX_GCLK_RATIO_MIN); - return ret; + goto unlock; } ret = clk_prepare_enable(dev->gclk); if (ret) { dev_err(dev->dev, "unable to enable gclk: %d\n", ret); - return ret; + goto unlock; } dev->gclk_enabled = 1; dev_dbg(dev->dev, "GCLK range min set to %d\n", params_rate(params) * SPDIFRX_GCLK_RATIO_MIN + 1); - return regmap_write(dev->regmap, SPDIFRX_MR, mr); + ret = regmap_write(dev->regmap, SPDIFRX_MR, mr); + +unlock: + mutex_unlock(&dev->mlock); + + return ret; } static int mchp_spdifrx_hw_free(struct snd_pcm_substream *substream, @@ -473,10 +441,12 @@ { struct mchp_spdifrx_dev *dev = snd_soc_dai_get_drvdata(dai); + mutex_lock(&dev->mlock); if (dev->gclk_enabled) { clk_disable_unprepare(dev->gclk); dev->gclk_enabled = 0; } + mutex_unlock(&dev->mlock); return 0; } @@ -513,22 +483,51 @@ { struct mchp_spdifrx_mixer_control *ctrl = &dev->control; struct mchp_spdifrx_ch_stat *ch_stat = &ctrl->ch_stat[channel]; - int ret; + int ret = 0; + + mutex_lock(&dev->mlock); - regmap_write(dev->regmap, SPDIFRX_IER, SPDIFRX_IR_CSC(channel)); - /* check for new data available */ - ret = wait_for_completion_interruptible_timeout(&ch_stat->done, - msecs_to_jiffies(100)); - /* IP might not be started or valid stream might not be present */ - if (ret < 0) { - dev_dbg(dev->dev, "channel status for channel %d timeout\n", - channel); + /* + * We may reach this point with both clocks enabled but the receiver + * still disabled. To void waiting for completion and return with + * timeout check the dev->trigger_enabled. + * + * To retrieve data: + * - if the receiver is enabled CSC IRQ will update the data in software + * caches (ch_stat->data) + * - otherwise we just update it here the software caches with latest + * available information and return it; in this case we don't need + * spin locking as the IRQ is disabled and will not be raised from + * anywhere else. + */ + + if (dev->trigger_enabled) { + reinit_completion(&ch_stat->done); + regmap_write(dev->regmap, SPDIFRX_IER, SPDIFRX_IR_CSC(channel)); + /* Check for new data available */ + ret = wait_for_completion_interruptible_timeout(&ch_stat->done, + msecs_to_jiffies(100)); + /* Valid stream might not be present */ + if (ret <= 0) { + dev_dbg(dev->dev, "channel status for channel %d timeout\n", + channel); + regmap_write(dev->regmap, SPDIFRX_IDR, SPDIFRX_IR_CSC(channel)); + ret = ret ? : -ETIMEDOUT; + goto unlock; + } else { + ret = 0; + } + } else { + /* Update software cache with latest channel status. */ + mchp_spdifrx_channel_status_read(dev, channel); } memcpy(uvalue->value.iec958.status, ch_stat->data, sizeof(ch_stat->data)); - return 0; +unlock: + mutex_unlock(&dev->mlock); + return ret; } static int mchp_spdifrx_cs1_get(struct snd_kcontrol *kcontrol, @@ -562,28 +561,49 @@ int channel, struct snd_ctl_elem_value *uvalue) { - unsigned long flags; struct mchp_spdifrx_mixer_control *ctrl = &dev->control; struct mchp_spdifrx_user_data *user_data = &ctrl->user_data[channel]; - int ret; + int ret = 0; + + mutex_lock(&dev->mlock); - reinit_completion(&user_data->done); - mchp_spdifrx_isr_blockend_en(dev); - ret = wait_for_completion_interruptible_timeout(&user_data->done, - msecs_to_jiffies(100)); - /* IP might not be started or valid stream might not be present */ - if (ret <= 0) { - dev_dbg(dev->dev, "user data for channel %d timeout\n", - channel); - return ret; + /* + * We may reach this point with both clocks enabled but the receiver + * still disabled. To void waiting for completion to just timeout we + * check here the dev->trigger_enabled flag. + * + * To retrieve data: + * - if the receiver is enabled we need to wait for blockend IRQ to read + * data to and update it for us in software caches + * - otherwise reading the SPDIFRX_CHUD() registers is enough. + */ + + if (dev->trigger_enabled) { + reinit_completion(&user_data->done); + regmap_write(dev->regmap, SPDIFRX_IER, SPDIFRX_IR_BLOCKEND); + ret = wait_for_completion_interruptible_timeout(&user_data->done, + msecs_to_jiffies(100)); + /* Valid stream might not be present. */ + if (ret <= 0) { + dev_dbg(dev->dev, "user data for channel %d timeout\n", + channel); + regmap_write(dev->regmap, SPDIFRX_IDR, SPDIFRX_IR_BLOCKEND); + ret = ret ? : -ETIMEDOUT; + goto unlock; + } else { + ret = 0; + } + } else { + /* Update software cache with last available data. */ + mchp_spdifrx_channel_user_data_read(dev, channel); } - spin_lock_irqsave(&user_data->lock, flags); memcpy(uvalue->value.iec958.subcode, user_data->data, sizeof(user_data->data)); - spin_unlock_irqrestore(&user_data->lock, flags); - return 0; +unlock: + mutex_unlock(&dev->mlock); + return ret; } static int mchp_spdifrx_subcode_ch1_get(struct snd_kcontrol *kcontrol, @@ -624,10 +644,24 @@ u32 val; bool ulock_old = ctrl->ulock; - regmap_read(dev->regmap, SPDIFRX_RSR, &val); - ctrl->ulock = !(val & SPDIFRX_RSR_ULOCK); + mutex_lock(&dev->mlock); + + /* + * The RSR.ULOCK has wrong value if both pclk and gclk are enabled + * and the receiver is disabled. Thus we take into account the + * dev->trigger_enabled here to return a real status. + */ + if (dev->trigger_enabled) { + regmap_read(dev->regmap, SPDIFRX_RSR, &val); + ctrl->ulock = !(val & SPDIFRX_RSR_ULOCK); + } else { + ctrl->ulock = 0; + } + uvalue->value.integer.value[0] = ctrl->ulock; + mutex_unlock(&dev->mlock); + return ulock_old != ctrl->ulock; } @@ -640,8 +674,22 @@ u32 val; bool badf_old = ctrl->badf; - regmap_read(dev->regmap, SPDIFRX_RSR, &val); - ctrl->badf = !!(val & SPDIFRX_RSR_BADF); + mutex_lock(&dev->mlock); + + /* + * The RSR.ULOCK has wrong value if both pclk and gclk are enabled + * and the receiver is disabled. Thus we take into account the + * dev->trigger_enabled here to return a real status. + */ + if (dev->trigger_enabled) { + regmap_read(dev->regmap, SPDIFRX_RSR, &val); + ctrl->badf = !!(val & SPDIFRX_RSR_BADF); + } else { + ctrl->badf = 0; + } + + mutex_unlock(&dev->mlock); + uvalue->value.integer.value[0] = ctrl->badf; return badf_old != ctrl->badf; @@ -653,11 +701,48 @@ struct snd_soc_dai *dai = snd_kcontrol_chip(kcontrol); struct mchp_spdifrx_dev *dev = snd_soc_dai_get_drvdata(dai); struct mchp_spdifrx_mixer_control *ctrl = &dev->control; - u32 val; + u32 val = ~0U, loops = 10; + int ret; bool signal_old = ctrl->signal; - regmap_read(dev->regmap, SPDIFRX_RSR, &val); - ctrl->signal = !(val & SPDIFRX_RSR_NOSIGNAL); + mutex_lock(&dev->mlock); + + /* + * To get the signal we need to have receiver enabled. This + * could be enabled also from trigger() function thus we need to + * take care of not disabling the receiver when it runs. + */ + if (!dev->trigger_enabled) { + ret = clk_prepare_enable(dev->gclk); + if (ret) + goto unlock; + + regmap_update_bits(dev->regmap, SPDIFRX_MR, SPDIFRX_MR_RXEN_MASK, + SPDIFRX_MR_RXEN_ENABLE); + + /* Wait for RSR.ULOCK bit. */ + while (--loops) { + regmap_read(dev->regmap, SPDIFRX_RSR, &val); + if (!(val & SPDIFRX_RSR_ULOCK)) + break; + usleep_range(100, 150); + } + + regmap_update_bits(dev->regmap, SPDIFRX_MR, SPDIFRX_MR_RXEN_MASK, + SPDIFRX_MR_RXEN_DISABLE); + + clk_disable_unprepare(dev->gclk); + } else { + regmap_read(dev->regmap, SPDIFRX_RSR, &val); + } + +unlock: + mutex_unlock(&dev->mlock); + + if (!(val & SPDIFRX_RSR_ULOCK)) + ctrl->signal = !(val & SPDIFRX_RSR_NOSIGNAL); + else + ctrl->signal = 0; uvalue->value.integer.value[0] = ctrl->signal; return signal_old != ctrl->signal; @@ -682,18 +767,32 @@ u32 val; int rate; - regmap_read(dev->regmap, SPDIFRX_RSR, &val); + mutex_lock(&dev->mlock); - /* if the receiver is not locked, ISF data is invalid */ - if (val & SPDIFRX_RSR_ULOCK || !(val & SPDIFRX_RSR_IFS_MASK)) { + /* + * The RSR.ULOCK has wrong value if both pclk and gclk are enabled + * and the receiver is disabled. Thus we take into account the + * dev->trigger_enabled here to return a real status. + */ + if (dev->trigger_enabled) { + regmap_read(dev->regmap, SPDIFRX_RSR, &val); + /* If the receiver is not locked, ISF data is invalid. */ + if (val & SPDIFRX_RSR_ULOCK || !(val & SPDIFRX_RSR_IFS_MASK)) { + ucontrol->value.integer.value[0] = 0; + goto unlock; + } + } else { + /* Reveicer is not locked, IFS data is invalid. */ ucontrol->value.integer.value[0] = 0; - return 0; + goto unlock; } rate = clk_get_rate(dev->gclk); ucontrol->value.integer.value[0] = rate / (32 * SPDIFRX_RSR_IFS(val)); +unlock: + mutex_unlock(&dev->mlock); return 0; } @@ -805,11 +904,9 @@ SPDIFRX_MR_AUTORST_NOACTION | SPDIFRX_MR_PACK_DISABLED); - dev->blockend_refcount = 0; for (ch = 0; ch < SPDIFRX_CHANNELS; ch++) { init_completion(&ctrl->ch_stat[ch].done); init_completion(&ctrl->user_data[ch].done); - spin_lock_init(&ctrl->user_data[ch].lock); } /* Add controls */ @@ -824,7 +921,7 @@ struct mchp_spdifrx_dev *dev = snd_soc_dai_get_drvdata(dai); /* Disable interrupts */ - regmap_write(dev->regmap, SPDIFRX_IDR, 0xFF); + regmap_write(dev->regmap, SPDIFRX_IDR, GENMASK(14, 0)); clk_disable_unprepare(dev->pclk); @@ -909,7 +1006,17 @@ "failed to get the PMC generated clock: %d\n", err); return err; } - spin_lock_init(&dev->blockend_lock); + + /* + * Signal control need a valid rate on gclk. hw_params() configures + * it propertly but requesting signal before any hw_params() has been + * called lead to invalid value returned for signal. Thus, configure + * gclk at a valid rate, here, in initialization, to simplify the + * control path. + */ + clk_set_min_rate(dev->gclk, 48000 * SPDIFRX_GCLK_RATIO_MIN + 1); + + mutex_init(&dev->mlock); dev->dev = &pdev->dev; dev->regmap = regmap; --- linux-gcp-5.19.0.orig/sound/soc/atmel/mchp-spdiftx.c +++ linux-gcp-5.19.0/sound/soc/atmel/mchp-spdiftx.c @@ -196,8 +196,7 @@ struct clk *pclk; struct clk *gclk; unsigned int fmt; - const struct mchp_i2s_caps *caps; - int gclk_enabled:1; + unsigned int gclk_enabled:1; }; static inline int mchp_spdiftx_is_running(struct mchp_spdiftx_dev *dev) @@ -766,8 +765,6 @@ MODULE_DEVICE_TABLE(of, mchp_spdiftx_dt_ids); static int mchp_spdiftx_probe(struct platform_device *pdev) { - struct device_node *np = pdev->dev.of_node; - const struct of_device_id *match; struct mchp_spdiftx_dev *dev; struct resource *mem; struct regmap *regmap; @@ -781,11 +778,6 @@ if (!dev) return -ENOMEM; - /* Get hardware capabilities. */ - match = of_match_node(mchp_spdiftx_dt_ids, np); - if (match) - dev->caps = match->data; - /* Map I/O registers. */ base = devm_platform_get_and_ioremap_resource(pdev, 0, &mem); if (IS_ERR(base)) --- linux-gcp-5.19.0.orig/sound/soc/codecs/Kconfig +++ linux-gcp-5.19.0/sound/soc/codecs/Kconfig @@ -1580,6 +1580,7 @@ config SND_SOC_TLV320ADC3XXX tristate "Texas Instruments TLV320ADC3001/3101 audio ADC" depends on I2C + depends on GPIOLIB help Enable support for Texas Instruments TLV320ADC3001 and TLV320ADC3101 ADCs. --- linux-gcp-5.19.0.orig/sound/soc/codecs/cros_ec_codec.c +++ linux-gcp-5.19.0/sound/soc/codecs/cros_ec_codec.c @@ -995,6 +995,7 @@ dev_dbg(dev, "ap_shm_phys_addr=%#llx len=%#x\n", priv->ap_shm_phys_addr, priv->ap_shm_len); } + of_node_put(node); } #endif --- linux-gcp-5.19.0.orig/sound/soc/codecs/cs35l41-lib.c +++ linux-gcp-5.19.0/sound/soc/codecs/cs35l41-lib.c @@ -1308,7 +1308,8 @@ return 0; } - dev_err(dev, "Failed to set mailbox cmd %u (status %u)\n", cmd, sts); + if (cmd != CSPL_MBOX_CMD_OUT_OF_HIBERNATE) + dev_err(dev, "Failed to set mailbox cmd %u (status %u)\n", cmd, sts); return -ENOMSG; } @@ -1327,6 +1328,85 @@ } EXPORT_SYMBOL_GPL(cs35l41_write_fs_errata); +int cs35l41_enter_hibernate(struct device *dev, struct regmap *regmap, + enum cs35l41_boost_type b_type) +{ + if (!cs35l41_safe_reset(regmap, b_type)) { + dev_dbg(dev, "System does not support Suspend\n"); + return -EINVAL; + } + + dev_dbg(dev, "Enter hibernate\n"); + regmap_write(regmap, CS35L41_WAKESRC_CTL, 0x0088); + regmap_write(regmap, CS35L41_WAKESRC_CTL, 0x0188); + + // Don't wait for ACK since bus activity would wake the device + regmap_write(regmap, CS35L41_DSP_VIRT1_MBOX_1, CSPL_MBOX_CMD_HIBERNATE); + + return 0; +} +EXPORT_SYMBOL_GPL(cs35l41_enter_hibernate); + +static void cs35l41_wait_for_pwrmgt_sts(struct device *dev, struct regmap *regmap) +{ + const int pwrmgt_retries = 10; + unsigned int sts; + int i, ret; + + for (i = 0; i < pwrmgt_retries; i++) { + ret = regmap_read(regmap, CS35L41_PWRMGT_STS, &sts); + if (ret) + dev_err(dev, "Failed to read PWRMGT_STS: %d\n", ret); + else if (!(sts & CS35L41_WR_PEND_STS_MASK)) + return; + + udelay(20); + } + + dev_err(dev, "Timed out reading PWRMGT_STS\n"); +} + +int cs35l41_exit_hibernate(struct device *dev, struct regmap *regmap) +{ + const int wake_retries = 20; + const int sleep_retries = 5; + int ret, i, j; + + for (i = 0; i < sleep_retries; i++) { + dev_dbg(dev, "Exit hibernate\n"); + + for (j = 0; j < wake_retries; j++) { + ret = cs35l41_set_cspl_mbox_cmd(dev, regmap, + CSPL_MBOX_CMD_OUT_OF_HIBERNATE); + if (!ret) + break; + + usleep_range(100, 200); + } + + if (j < wake_retries) { + dev_dbg(dev, "Wake success at cycle: %d\n", j); + return 0; + } + + dev_err(dev, "Wake failed, re-enter hibernate: %d\n", ret); + + cs35l41_wait_for_pwrmgt_sts(dev, regmap); + regmap_write(regmap, CS35L41_WAKESRC_CTL, 0x0088); + + cs35l41_wait_for_pwrmgt_sts(dev, regmap); + regmap_write(regmap, CS35L41_WAKESRC_CTL, 0x0188); + + cs35l41_wait_for_pwrmgt_sts(dev, regmap); + regmap_write(regmap, CS35L41_PWRMGT_CTL, 0x3); + } + + dev_err(dev, "Timed out waking device\n"); + + return -ETIMEDOUT; +} +EXPORT_SYMBOL_GPL(cs35l41_exit_hibernate); + MODULE_DESCRIPTION("CS35L41 library"); MODULE_AUTHOR("David Rhodes, Cirrus Logic Inc, "); MODULE_AUTHOR("Lucas Tanure, Cirrus Logic Inc, "); --- linux-gcp-5.19.0.orig/sound/soc/codecs/cs35l41.c +++ linux-gcp-5.19.0/sound/soc/codecs/cs35l41.c @@ -1335,15 +1335,7 @@ if (!cs35l41->dsp.preloaded || !cs35l41->dsp.cs_dsp.running) return 0; - dev_dbg(cs35l41->dev, "Enter hibernate\n"); - - cs35l41_safe_reset(cs35l41->regmap, cs35l41->hw_cfg.bst_type); - regmap_write(cs35l41->regmap, CS35L41_WAKESRC_CTL, 0x0088); - regmap_write(cs35l41->regmap, CS35L41_WAKESRC_CTL, 0x0188); - - // Don't wait for ACK since bus activity would wake the device - regmap_write(cs35l41->regmap, CS35L41_DSP_VIRT1_MBOX_1, - CSPL_MBOX_CMD_HIBERNATE); + cs35l41_enter_hibernate(dev, cs35l41->regmap, cs35l41->hw_cfg.bst_type); regcache_cache_only(cs35l41->regmap, true); regcache_mark_dirty(cs35l41->regmap); @@ -1351,65 +1343,6 @@ return 0; } -static void cs35l41_wait_for_pwrmgt_sts(struct cs35l41_private *cs35l41) -{ - const int pwrmgt_retries = 10; - unsigned int sts; - int i, ret; - - for (i = 0; i < pwrmgt_retries; i++) { - ret = regmap_read(cs35l41->regmap, CS35L41_PWRMGT_STS, &sts); - if (ret) - dev_err(cs35l41->dev, "Failed to read PWRMGT_STS: %d\n", ret); - else if (!(sts & CS35L41_WR_PEND_STS_MASK)) - return; - - udelay(20); - } - - dev_err(cs35l41->dev, "Timed out reading PWRMGT_STS\n"); -} - -static int cs35l41_exit_hibernate(struct cs35l41_private *cs35l41) -{ - const int wake_retries = 20; - const int sleep_retries = 5; - int ret, i, j; - - for (i = 0; i < sleep_retries; i++) { - dev_dbg(cs35l41->dev, "Exit hibernate\n"); - - for (j = 0; j < wake_retries; j++) { - ret = cs35l41_set_cspl_mbox_cmd(cs35l41->dev, cs35l41->regmap, - CSPL_MBOX_CMD_OUT_OF_HIBERNATE); - if (!ret) - break; - - usleep_range(100, 200); - } - - if (j < wake_retries) { - dev_dbg(cs35l41->dev, "Wake success at cycle: %d\n", j); - return 0; - } - - dev_err(cs35l41->dev, "Wake failed, re-enter hibernate: %d\n", ret); - - cs35l41_wait_for_pwrmgt_sts(cs35l41); - regmap_write(cs35l41->regmap, CS35L41_WAKESRC_CTL, 0x0088); - - cs35l41_wait_for_pwrmgt_sts(cs35l41); - regmap_write(cs35l41->regmap, CS35L41_WAKESRC_CTL, 0x0188); - - cs35l41_wait_for_pwrmgt_sts(cs35l41); - regmap_write(cs35l41->regmap, CS35L41_PWRMGT_CTL, 0x3); - } - - dev_err(cs35l41->dev, "Timed out waking device\n"); - - return -ETIMEDOUT; -} - static int __maybe_unused cs35l41_runtime_resume(struct device *dev) { struct cs35l41_private *cs35l41 = dev_get_drvdata(dev); @@ -1422,7 +1355,7 @@ regcache_cache_only(cs35l41->regmap, false); - ret = cs35l41_exit_hibernate(cs35l41); + ret = cs35l41_exit_hibernate(cs35l41->dev, cs35l41->regmap); if (ret) return ret; --- linux-gcp-5.19.0.orig/sound/soc/codecs/cs35l45.c +++ linux-gcp-5.19.0/sound/soc/codecs/cs35l45.c @@ -500,6 +500,8 @@ .num_controls = ARRAY_SIZE(cs35l45_controls), .name = "cs35l45", + + .endianness = 1, }; static int __maybe_unused cs35l45_runtime_suspend(struct device *dev) --- linux-gcp-5.19.0.orig/sound/soc/codecs/cs42l42.c +++ linux-gcp-5.19.0/sound/soc/codecs/cs42l42.c @@ -1618,7 +1618,6 @@ unsigned int current_plug_status; unsigned int current_button_status; unsigned int i; - int report = 0; mutex_lock(&cs42l42->irq_lock); if (cs42l42->suspended) { @@ -1713,13 +1712,15 @@ if (current_button_status & CS42L42_M_DETECT_TF_MASK) { dev_dbg(cs42l42->dev, "Button released\n"); - report = 0; + snd_soc_jack_report(cs42l42->jack, 0, + SND_JACK_BTN_0 | SND_JACK_BTN_1 | + SND_JACK_BTN_2 | SND_JACK_BTN_3); } else if (current_button_status & CS42L42_M_DETECT_FT_MASK) { - report = cs42l42_handle_button_press(cs42l42); - + snd_soc_jack_report(cs42l42->jack, + cs42l42_handle_button_press(cs42l42), + SND_JACK_BTN_0 | SND_JACK_BTN_1 | + SND_JACK_BTN_2 | SND_JACK_BTN_3); } - snd_soc_jack_report(cs42l42->jack, report, SND_JACK_BTN_0 | SND_JACK_BTN_1 | - SND_JACK_BTN_2 | SND_JACK_BTN_3); } } --- linux-gcp-5.19.0.orig/sound/soc/codecs/cs42l51.c +++ linux-gcp-5.19.0/sound/soc/codecs/cs42l51.c @@ -143,7 +143,7 @@ 0, 0xA0, 96, adc_att_tlv), SOC_DOUBLE_R_SX_TLV("PGA Volume", CS42L51_ALC_PGA_CTL, CS42L51_ALC_PGB_CTL, - 0, 0x19, 30, pga_tlv), + 0, 0x1A, 30, pga_tlv), SOC_SINGLE("Playback Deemphasis Switch", CS42L51_DAC_CTL, 3, 1, 0), SOC_SINGLE("Auto-Mute Switch", CS42L51_DAC_CTL, 2, 1, 0), SOC_SINGLE("Soft Ramp Switch", CS42L51_DAC_CTL, 1, 1, 0), --- linux-gcp-5.19.0.orig/sound/soc/codecs/cs42l56.c +++ linux-gcp-5.19.0/sound/soc/codecs/cs42l56.c @@ -1192,18 +1192,12 @@ if (pdata) { cs42l56->pdata = *pdata; } else { - pdata = devm_kzalloc(&i2c_client->dev, sizeof(*pdata), - GFP_KERNEL); - if (!pdata) - return -ENOMEM; - if (i2c_client->dev.of_node) { ret = cs42l56_handle_of_data(i2c_client, &cs42l56->pdata); if (ret != 0) return ret; } - cs42l56->pdata = *pdata; } if (cs42l56->pdata.gpio_nreset) { --- linux-gcp-5.19.0.orig/sound/soc/codecs/da7210.c +++ linux-gcp-5.19.0/sound/soc/codecs/da7210.c @@ -1335,6 +1335,8 @@ int ret = 0; #if IS_ENABLED(CONFIG_I2C) ret = i2c_add_driver(&da7210_i2c_driver); + if (ret) + return ret; #endif #if defined(CONFIG_SPI_MASTER) ret = spi_register_driver(&da7210_spi_driver); --- linux-gcp-5.19.0.orig/sound/soc/codecs/da7219.c +++ linux-gcp-5.19.0/sound/soc/codecs/da7219.c @@ -2196,6 +2196,7 @@ dai_clk_lookup = clkdev_hw_create(dai_clk_hw, init.name, "%s", dev_name(dev)); if (!dai_clk_lookup) { + clk_hw_unregister(dai_clk_hw); ret = -ENOMEM; goto err; } else { @@ -2217,12 +2218,12 @@ return 0; err: - do { + while (--i >= 0) { if (da7219->dai_clks_lookup[i]) clkdev_drop(da7219->dai_clks_lookup[i]); clk_hw_unregister(&da7219->dai_clks_hw[i]); - } while (i-- > 0); + } if (np) kfree(da7219->clk_hw_data); --- linux-gcp-5.19.0.orig/sound/soc/codecs/hdac_hda.h +++ linux-gcp-5.19.0/sound/soc/codecs/hdac_hda.h @@ -14,7 +14,7 @@ HDAC_HDMI_1_DAI_ID, HDAC_HDMI_2_DAI_ID, HDAC_HDMI_3_DAI_ID, - HDAC_LAST_DAI_ID = HDAC_HDMI_3_DAI_ID, + HDAC_DAI_ID_NUM }; struct hdac_hda_pcm { @@ -24,7 +24,7 @@ struct hdac_hda_priv { struct hda_codec codec; - struct hdac_hda_pcm pcm[HDAC_LAST_DAI_ID]; + struct hdac_hda_pcm pcm[HDAC_DAI_ID_NUM]; bool need_display_power; }; --- linux-gcp-5.19.0.orig/sound/soc/codecs/jz4725b.c +++ linux-gcp-5.19.0/sound/soc/codecs/jz4725b.c @@ -136,14 +136,17 @@ #define REG_CGR3_GO1L_OFFSET 0 #define REG_CGR3_GO1L_MASK (0x1f << REG_CGR3_GO1L_OFFSET) +#define REG_CGR10_GIL_OFFSET 0 +#define REG_CGR10_GIR_OFFSET 4 + struct jz_icdc { struct regmap *regmap; void __iomem *base; struct clk *clk; }; -static const SNDRV_CTL_TLVD_DECLARE_DB_LINEAR(jz4725b_dac_tlv, -2250, 0); -static const SNDRV_CTL_TLVD_DECLARE_DB_LINEAR(jz4725b_line_tlv, -1500, 600); +static const SNDRV_CTL_TLVD_DECLARE_DB_SCALE(jz4725b_adc_tlv, 0, 150, 0); +static const SNDRV_CTL_TLVD_DECLARE_DB_SCALE(jz4725b_dac_tlv, -2250, 150, 0); static const struct snd_kcontrol_new jz4725b_codec_controls[] = { SOC_DOUBLE_TLV("Master Playback Volume", @@ -151,11 +154,11 @@ REG_CGR1_GODL_OFFSET, REG_CGR1_GODR_OFFSET, 0xf, 1, jz4725b_dac_tlv), - SOC_DOUBLE_R_TLV("Master Capture Volume", - JZ4725B_CODEC_REG_CGR3, - JZ4725B_CODEC_REG_CGR2, - REG_CGR2_GO1R_OFFSET, - 0x1f, 1, jz4725b_line_tlv), + SOC_DOUBLE_TLV("Master Capture Volume", + JZ4725B_CODEC_REG_CGR10, + REG_CGR10_GIL_OFFSET, + REG_CGR10_GIR_OFFSET, + 0xf, 0, jz4725b_adc_tlv), SOC_SINGLE("Master Playback Switch", JZ4725B_CODEC_REG_CR1, REG_CR1_DAC_MUTE_OFFSET, 1, 1), @@ -180,7 +183,7 @@ jz4725b_codec_adc_src_texts, jz4725b_codec_adc_src_values); static const struct snd_kcontrol_new jz4725b_codec_adc_src_ctrl = - SOC_DAPM_ENUM("Route", jz4725b_codec_adc_src_enum); + SOC_DAPM_ENUM("ADC Source Capture Route", jz4725b_codec_adc_src_enum); static const struct snd_kcontrol_new jz4725b_codec_mixer_controls[] = { SOC_DAPM_SINGLE("Line In Bypass", JZ4725B_CODEC_REG_CR1, @@ -225,7 +228,7 @@ SND_SOC_DAPM_ADC("ADC", "Capture", JZ4725B_CODEC_REG_PMR1, REG_PMR1_SB_ADC_OFFSET, 1), - SND_SOC_DAPM_MUX("ADC Source", SND_SOC_NOPM, 0, 0, + SND_SOC_DAPM_MUX("ADC Source Capture Route", SND_SOC_NOPM, 0, 0, &jz4725b_codec_adc_src_ctrl), /* Mixer */ @@ -236,7 +239,8 @@ SND_SOC_DAPM_MIXER("DAC to Mixer", JZ4725B_CODEC_REG_CR1, REG_CR1_DACSEL_OFFSET, 0, NULL, 0), - SND_SOC_DAPM_MIXER("Line In", SND_SOC_NOPM, 0, 0, NULL, 0), + SND_SOC_DAPM_MIXER("Line In", JZ4725B_CODEC_REG_PMR1, + REG_PMR1_SB_LIN_OFFSET, 1, NULL, 0), SND_SOC_DAPM_MIXER("HP Out", JZ4725B_CODEC_REG_CR1, REG_CR1_HP_DIS_OFFSET, 1, NULL, 0), @@ -283,11 +287,11 @@ {"Mixer", NULL, "DAC to Mixer"}, {"Mixer to ADC", NULL, "Mixer"}, - {"ADC Source", "Mixer", "Mixer to ADC"}, - {"ADC Source", "Line In", "Line In"}, - {"ADC Source", "Mic 1", "Mic 1"}, - {"ADC Source", "Mic 2", "Mic 2"}, - {"ADC", NULL, "ADC Source"}, + {"ADC Source Capture Route", "Mixer", "Mixer to ADC"}, + {"ADC Source Capture Route", "Line In", "Line In"}, + {"ADC Source Capture Route", "Mic 1", "Mic 1"}, + {"ADC Source Capture Route", "Mic 2", "Mic 2"}, + {"ADC", NULL, "ADC Source Capture Route"}, {"Out Stage", NULL, "Mixer"}, {"HP Out", NULL, "Out Stage"}, --- linux-gcp-5.19.0.orig/sound/soc/codecs/lpass-rx-macro.c +++ linux-gcp-5.19.0/sound/soc/codecs/lpass-rx-macro.c @@ -366,7 +366,7 @@ #define CDC_RX_DSD1_CFG2 (0x0F8C) #define RX_MAX_OFFSET (0x0F8C) -#define MCLK_FREQ 9600000 +#define MCLK_FREQ 19200000 #define RX_MACRO_RATES (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |\ SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_48000 |\ @@ -3584,7 +3584,7 @@ /* set MCLK and NPL rates */ clk_set_rate(rx->mclk, MCLK_FREQ); - clk_set_rate(rx->npl, 2 * MCLK_FREQ); + clk_set_rate(rx->npl, MCLK_FREQ); ret = clk_prepare_enable(rx->macro); if (ret) --- linux-gcp-5.19.0.orig/sound/soc/codecs/lpass-tx-macro.c +++ linux-gcp-5.19.0/sound/soc/codecs/lpass-tx-macro.c @@ -202,7 +202,7 @@ #define TX_MACRO_AMIC_UNMUTE_DELAY_MS 100 #define TX_MACRO_DMIC_HPF_DELAY_MS 300 #define TX_MACRO_AMIC_HPF_DELAY_MS 300 -#define MCLK_FREQ 9600000 +#define MCLK_FREQ 19200000 enum { TX_MACRO_AIF_INVALID = 0, @@ -823,17 +823,23 @@ struct tx_macro *tx = snd_soc_component_get_drvdata(component); if (enable) { + if (tx->active_decimator[dai_id] == dec_id) + return 0; + set_bit(dec_id, &tx->active_ch_mask[dai_id]); tx->active_ch_cnt[dai_id]++; tx->active_decimator[dai_id] = dec_id; } else { + if (tx->active_decimator[dai_id] == -1) + return 0; + tx->active_ch_cnt[dai_id]--; clear_bit(dec_id, &tx->active_ch_mask[dai_id]); tx->active_decimator[dai_id] = -1; } snd_soc_dapm_mixer_update_power(widget->dapm, kcontrol, enable, update); - return 0; + return 1; } static int tx_macro_enable_dec(struct snd_soc_dapm_widget *w, @@ -1019,9 +1025,12 @@ int path = e->shift_l; struct tx_macro *tx = snd_soc_component_get_drvdata(component); + if (tx->dec_mode[path] == value) + return 0; + tx->dec_mode[path] = value; - return 0; + return 1; } static int tx_macro_get_bcs(struct snd_kcontrol *kcontrol, @@ -1860,7 +1869,7 @@ /* set MCLK and NPL rates */ clk_set_rate(tx->mclk, MCLK_FREQ); - clk_set_rate(tx->npl, 2 * MCLK_FREQ); + clk_set_rate(tx->npl, MCLK_FREQ); ret = clk_prepare_enable(tx->macro); if (ret) --- linux-gcp-5.19.0.orig/sound/soc/codecs/lpass-va-macro.c +++ linux-gcp-5.19.0/sound/soc/codecs/lpass-va-macro.c @@ -199,6 +199,7 @@ struct clk *mclk; struct clk *macro; struct clk *dcodec; + struct clk *fsgen; struct clk_hw hw; struct lpass_macro *pds; @@ -467,9 +468,9 @@ switch (event) { case SND_SOC_DAPM_PRE_PMU: - return va_macro_mclk_enable(va, true); + return clk_prepare_enable(va->fsgen); case SND_SOC_DAPM_POST_PMD: - return va_macro_mclk_enable(va, false); + clk_disable_unprepare(va->fsgen); } return 0; @@ -1473,6 +1474,12 @@ if (ret) goto err_clkout; + va->fsgen = clk_hw_get_clk(&va->hw, "fsgen"); + if (IS_ERR(va->fsgen)) { + ret = PTR_ERR(va->fsgen); + goto err_clkout; + } + ret = devm_snd_soc_register_component(dev, &va_macro_component_drv, va_macro_dais, ARRAY_SIZE(va_macro_dais)); --- linux-gcp-5.19.0.orig/sound/soc/codecs/max98373-i2c.c +++ linux-gcp-5.19.0/sound/soc/codecs/max98373-i2c.c @@ -550,6 +550,10 @@ max98373->cache = devm_kcalloc(&i2c->dev, max98373->cache_num, sizeof(*max98373->cache), GFP_KERNEL); + if (!max98373->cache) { + ret = -ENOMEM; + return ret; + } for (i = 0; i < max98373->cache_num; i++) max98373->cache[i].reg = max98373_i2c_cache_reg[i]; --- linux-gcp-5.19.0.orig/sound/soc/codecs/max98390.c +++ linux-gcp-5.19.0/sound/soc/codecs/max98390.c @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include #include #include --- linux-gcp-5.19.0.orig/sound/soc/codecs/msm8916-wcd-digital.c +++ linux-gcp-5.19.0/sound/soc/codecs/msm8916-wcd-digital.c @@ -328,8 +328,8 @@ static const struct snd_kcontrol_new rx2_mix2_inp1_mux = SOC_DAPM_ENUM( "RX2 MIX2 INP1 Mux", rx2_mix2_inp1_chain_enum); -/* Digital Gain control -38.4 dB to +38.4 dB in 0.3 dB steps */ -static const DECLARE_TLV_DB_SCALE(digital_gain, -3840, 30, 0); +/* Digital Gain control -84 dB to +40 dB in 1 dB steps */ +static const DECLARE_TLV_DB_SCALE(digital_gain, -8400, 100, -8400); /* Cutoff Freq for High Pass Filter at -3dB */ static const char * const hpf_cutoff_text[] = { @@ -510,15 +510,15 @@ static const struct snd_kcontrol_new msm8916_wcd_digital_snd_controls[] = { SOC_SINGLE_S8_TLV("RX1 Digital Volume", LPASS_CDC_RX1_VOL_CTL_B2_CTL, - -128, 127, digital_gain), + -84, 40, digital_gain), SOC_SINGLE_S8_TLV("RX2 Digital Volume", LPASS_CDC_RX2_VOL_CTL_B2_CTL, - -128, 127, digital_gain), + -84, 40, digital_gain), SOC_SINGLE_S8_TLV("RX3 Digital Volume", LPASS_CDC_RX3_VOL_CTL_B2_CTL, - -128, 127, digital_gain), + -84, 40, digital_gain), SOC_SINGLE_S8_TLV("TX1 Digital Volume", LPASS_CDC_TX1_VOL_CTL_GAIN, - -128, 127, digital_gain), + -84, 40, digital_gain), SOC_SINGLE_S8_TLV("TX2 Digital Volume", LPASS_CDC_TX2_VOL_CTL_GAIN, - -128, 127, digital_gain), + -84, 40, digital_gain), SOC_ENUM("TX1 HPF Cutoff", tx1_hpf_cutoff_enum), SOC_ENUM("TX2 HPF Cutoff", tx2_hpf_cutoff_enum), SOC_SINGLE("TX1 HPF Switch", LPASS_CDC_TX1_MUX_CTL, 3, 1, 0), @@ -553,22 +553,22 @@ WCD_IIR_FILTER_CTL("IIR2 Band3", IIR2, BAND3), WCD_IIR_FILTER_CTL("IIR2 Band4", IIR2, BAND4), WCD_IIR_FILTER_CTL("IIR2 Band5", IIR2, BAND5), - SOC_SINGLE_SX_TLV("IIR1 INP1 Volume", LPASS_CDC_IIR1_GAIN_B1_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("IIR1 INP2 Volume", LPASS_CDC_IIR1_GAIN_B2_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("IIR1 INP3 Volume", LPASS_CDC_IIR1_GAIN_B3_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("IIR1 INP4 Volume", LPASS_CDC_IIR1_GAIN_B4_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("IIR2 INP1 Volume", LPASS_CDC_IIR2_GAIN_B1_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("IIR2 INP2 Volume", LPASS_CDC_IIR2_GAIN_B2_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("IIR2 INP3 Volume", LPASS_CDC_IIR2_GAIN_B3_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("IIR2 INP4 Volume", LPASS_CDC_IIR2_GAIN_B4_CTL, - 0, -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("IIR1 INP1 Volume", LPASS_CDC_IIR1_GAIN_B1_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("IIR1 INP2 Volume", LPASS_CDC_IIR1_GAIN_B2_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("IIR1 INP3 Volume", LPASS_CDC_IIR1_GAIN_B3_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("IIR1 INP4 Volume", LPASS_CDC_IIR1_GAIN_B4_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("IIR2 INP1 Volume", LPASS_CDC_IIR2_GAIN_B1_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("IIR2 INP2 Volume", LPASS_CDC_IIR2_GAIN_B2_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("IIR2 INP3 Volume", LPASS_CDC_IIR2_GAIN_B3_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("IIR2 INP4 Volume", LPASS_CDC_IIR2_GAIN_B4_CTL, + -84, 40, digital_gain), }; --- linux-gcp-5.19.0.orig/sound/soc/codecs/mt6359-accdet.c +++ linux-gcp-5.19.0/sound/soc/codecs/mt6359-accdet.c @@ -675,6 +675,7 @@ sizeof(struct three_key_threshold)); } + of_node_put(node); dev_warn(priv->dev, "accdet caps=%x\n", priv->caps); return 0; @@ -964,7 +965,7 @@ mutex_init(&priv->res_lock); priv->accdet_irq = platform_get_irq(pdev, 0); - if (priv->accdet_irq) { + if (priv->accdet_irq >= 0) { ret = devm_request_threaded_irq(&pdev->dev, priv->accdet_irq, NULL, mt6359_accdet_irq, IRQF_TRIGGER_HIGH | IRQF_ONESHOT, @@ -978,7 +979,7 @@ if (priv->caps & ACCDET_PMIC_EINT0) { priv->accdet_eint0 = platform_get_irq(pdev, 1); - if (priv->accdet_eint0) { + if (priv->accdet_eint0 >= 0) { ret = devm_request_threaded_irq(&pdev->dev, priv->accdet_eint0, NULL, mt6359_accdet_irq, @@ -993,7 +994,7 @@ } } else if (priv->caps & ACCDET_PMIC_EINT1) { priv->accdet_eint1 = platform_get_irq(pdev, 2); - if (priv->accdet_eint1) { + if (priv->accdet_eint1 >= 0) { ret = devm_request_threaded_irq(&pdev->dev, priv->accdet_eint1, NULL, mt6359_accdet_irq, --- linux-gcp-5.19.0.orig/sound/soc/codecs/mt6359.c +++ linux-gcp-5.19.0/sound/soc/codecs/mt6359.c @@ -2778,6 +2778,7 @@ ret = of_property_read_u32(np, "mediatek,mic-type-2", &priv->mux_select[MUX_MIC_TYPE_2]); + of_node_put(np); if (ret) { dev_info(priv->dev, "%s() failed to read mic-type-2, use default (%d)\n", --- linux-gcp-5.19.0.orig/sound/soc/codecs/mt6660.c +++ linux-gcp-5.19.0/sound/soc/codecs/mt6660.c @@ -509,7 +509,11 @@ ret = devm_snd_soc_register_component(chip->dev, &mt6660_component_driver, &mt6660_codec_dai, 1); + if (ret) + pm_runtime_disable(chip->dev); + return ret; + probe_fail: _mt6660_chip_power_on(chip, 0); mutex_destroy(&chip->io_lock); --- linux-gcp-5.19.0.orig/sound/soc/codecs/nau8821.c +++ linux-gcp-5.19.0/sound/soc/codecs/nau8821.c @@ -1665,15 +1665,6 @@ return ret; } -static int nau8821_i2c_remove(struct i2c_client *i2c_client) -{ - struct nau8821 *nau8821 = i2c_get_clientdata(i2c_client); - - devm_free_irq(nau8821->dev, nau8821->irq, nau8821); - - return 0; -} - static const struct i2c_device_id nau8821_i2c_ids[] = { { "nau8821", 0 }, { } @@ -1703,7 +1694,6 @@ .acpi_match_table = ACPI_PTR(nau8821_acpi_match), }, .probe_new = nau8821_i2c_probe, - .remove = nau8821_i2c_remove, .id_table = nau8821_i2c_ids, }; module_i2c_driver(nau8821_driver); --- linux-gcp-5.19.0.orig/sound/soc/codecs/pcm512x.c +++ linux-gcp-5.19.0/sound/soc/codecs/pcm512x.c @@ -1635,7 +1635,7 @@ if (val > 6) { dev_err(dev, "Invalid pll-in\n"); ret = -EINVAL; - goto err_clk; + goto err_pm; } pcm512x->pll_in = val; } @@ -1644,7 +1644,7 @@ if (val > 6) { dev_err(dev, "Invalid pll-out\n"); ret = -EINVAL; - goto err_clk; + goto err_pm; } pcm512x->pll_out = val; } @@ -1653,12 +1653,12 @@ dev_err(dev, "Error: both pll-in and pll-out, or none\n"); ret = -EINVAL; - goto err_clk; + goto err_pm; } if (pcm512x->pll_in && pcm512x->pll_in == pcm512x->pll_out) { dev_err(dev, "Error: pll-in == pll-out\n"); ret = -EINVAL; - goto err_clk; + goto err_pm; } } #endif --- linux-gcp-5.19.0.orig/sound/soc/codecs/rt1019.c +++ linux-gcp-5.19.0/sound/soc/codecs/rt1019.c @@ -391,18 +391,18 @@ unsigned int rx_mask, int slots, int slot_width) { struct snd_soc_component *component = dai->component; - unsigned int val = 0, rx_slotnum; + unsigned int cn = 0, cl = 0, rx_slotnum; int ret = 0, first_bit; switch (slots) { case 4: - val |= RT1019_I2S_TX_4CH; + cn = RT1019_I2S_TX_4CH; break; case 6: - val |= RT1019_I2S_TX_6CH; + cn = RT1019_I2S_TX_6CH; break; case 8: - val |= RT1019_I2S_TX_8CH; + cn = RT1019_I2S_TX_8CH; break; case 2: break; @@ -412,16 +412,16 @@ switch (slot_width) { case 20: - val |= RT1019_I2S_DL_20; + cl = RT1019_TDM_CL_20; break; case 24: - val |= RT1019_I2S_DL_24; + cl = RT1019_TDM_CL_24; break; case 32: - val |= RT1019_I2S_DL_32; + cl = RT1019_TDM_CL_32; break; case 8: - val |= RT1019_I2S_DL_8; + cl = RT1019_TDM_CL_8; break; case 16: break; @@ -470,8 +470,10 @@ goto _set_tdm_err_; } + snd_soc_component_update_bits(component, RT1019_TDM_1, + RT1019_TDM_CL_MASK, cl); snd_soc_component_update_bits(component, RT1019_TDM_2, - RT1019_I2S_CH_TX_MASK | RT1019_I2S_DF_MASK, val); + RT1019_I2S_CH_TX_MASK, cn); _set_tdm_err_: return ret; --- linux-gcp-5.19.0.orig/sound/soc/codecs/rt1019.h +++ linux-gcp-5.19.0/sound/soc/codecs/rt1019.h @@ -95,6 +95,12 @@ #define RT1019_TDM_BCLK_MASK (0x1 << 6) #define RT1019_TDM_BCLK_NORM (0x0 << 6) #define RT1019_TDM_BCLK_INV (0x1 << 6) +#define RT1019_TDM_CL_MASK (0x7) +#define RT1019_TDM_CL_8 (0x4) +#define RT1019_TDM_CL_32 (0x3) +#define RT1019_TDM_CL_24 (0x2) +#define RT1019_TDM_CL_20 (0x1) +#define RT1019_TDM_CL_16 (0x0) /* 0x0401 TDM Control-2 */ #define RT1019_I2S_CH_TX_MASK (0x3 << 6) --- linux-gcp-5.19.0.orig/sound/soc/codecs/rt1308-sdw.h +++ linux-gcp-5.19.0/sound/soc/codecs/rt1308-sdw.h @@ -139,10 +139,12 @@ { 0x3005, 0x23 }, { 0x3008, 0x02 }, { 0x300a, 0x00 }, + { 0xc000 | (RT1308_DATA_PATH << 4), 0x00 }, { 0xc003 | (RT1308_DAC_SET << 4), 0x00 }, { 0xc000 | (RT1308_POWER << 4), 0x00 }, { 0xc001 | (RT1308_POWER << 4), 0x00 }, { 0xc002 | (RT1308_POWER << 4), 0x00 }, + { 0xc000 | (RT1308_POWER_STATUS << 4), 0x00 }, }; #define RT1308_SDW_OFFSET 0xc000 --- linux-gcp-5.19.0.orig/sound/soc/codecs/rt298.c +++ linux-gcp-5.19.0/sound/soc/codecs/rt298.c @@ -1173,6 +1173,13 @@ DMI_MATCH(DMI_PRODUCT_NAME, "Geminilake") } }, + { + .ident = "Intel Kabylake R RVP", + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Intel Corporation"), + DMI_MATCH(DMI_PRODUCT_NAME, "Kabylake Client platform") + } + }, { } }; --- linux-gcp-5.19.0.orig/sound/soc/codecs/rt5640.c +++ linux-gcp-5.19.0/sound/soc/codecs/rt5640.c @@ -1986,7 +1986,7 @@ snd_soc_component_write(component, RT5640_PWR_MIXER, 0x0000); if (rt5640->jd_src == RT5640_JD_SRC_HDA_HEADER) snd_soc_component_write(component, RT5640_PWR_ANLG1, - 0x0018); + 0x2818); else snd_soc_component_write(component, RT5640_PWR_ANLG1, 0x0000); @@ -2592,7 +2592,8 @@ snd_soc_component_update_bits(component, RT5640_DUMMY1, 0x400, 0x0); snd_soc_component_update_bits(component, RT5640_PWR_ANLG1, - RT5640_PWR_VREF2, RT5640_PWR_VREF2); + RT5640_PWR_VREF2 | RT5640_PWR_MB | RT5640_PWR_BG, + RT5640_PWR_VREF2 | RT5640_PWR_MB | RT5640_PWR_BG); usleep_range(10000, 15000); snd_soc_component_update_bits(component, RT5640_PWR_ANLG1, RT5640_PWR_FV2, RT5640_PWR_FV2); --- linux-gcp-5.19.0.orig/sound/soc/codecs/rt5670.c +++ linux-gcp-5.19.0/sound/soc/codecs/rt5670.c @@ -3312,8 +3312,6 @@ if (ret < 0) goto err; - pm_runtime_put(&i2c->dev); - return 0; err: pm_runtime_disable(&i2c->dev); --- linux-gcp-5.19.0.orig/sound/soc/codecs/rt5682s.c +++ linux-gcp-5.19.0/sound/soc/codecs/rt5682s.c @@ -1932,7 +1932,7 @@ unsigned int rx_mask, int slots, int slot_width) { struct snd_soc_component *component = dai->component; - unsigned int cl, val = 0; + unsigned int cl, val = 0, tx_slotnum; if (tx_mask || rx_mask) snd_soc_component_update_bits(component, @@ -1941,6 +1941,16 @@ snd_soc_component_update_bits(component, RT5682S_TDM_ADDA_CTRL_2, RT5682S_TDM_EN, 0); + /* Tx slot configuration */ + tx_slotnum = hweight_long(tx_mask); + if (tx_slotnum) { + if (tx_slotnum > slots) { + dev_err(component->dev, "Invalid or oversized Tx slots.\n"); + return -EINVAL; + } + val |= (tx_slotnum - 1) << RT5682S_TDM_ADC_DL_SFT; + } + switch (slots) { case 4: val |= RT5682S_TDM_TX_CH_4; @@ -1961,7 +1971,8 @@ } snd_soc_component_update_bits(component, RT5682S_TDM_CTRL, - RT5682S_TDM_TX_CH_MASK | RT5682S_TDM_RX_CH_MASK, val); + RT5682S_TDM_TX_CH_MASK | RT5682S_TDM_RX_CH_MASK | + RT5682S_TDM_ADC_DL_MASK, val); switch (slot_width) { case 8: --- linux-gcp-5.19.0.orig/sound/soc/codecs/rt5682s.h +++ linux-gcp-5.19.0/sound/soc/codecs/rt5682s.h @@ -899,6 +899,7 @@ #define RT5682S_TDM_RX_CH_8 (0x3 << 8) #define RT5682S_TDM_ADC_LCA_MASK (0x7 << 4) #define RT5682S_TDM_ADC_LCA_SFT 4 +#define RT5682S_TDM_ADC_DL_MASK (0x3 << 0) #define RT5682S_TDM_ADC_DL_SFT 0 /* TDM control 2 (0x007a) */ --- linux-gcp-5.19.0.orig/sound/soc/codecs/rt711-sdca-sdw.c +++ linux-gcp-5.19.0/sound/soc/codecs/rt711-sdca-sdw.c @@ -230,7 +230,7 @@ } /* set the timeout values */ - prop->clk_stop_timeout = 20; + prop->clk_stop_timeout = 700; /* wake-up event */ prop->wake_capable = 1; --- linux-gcp-5.19.0.orig/sound/soc/codecs/rt715-sdca-sdw.c +++ linux-gcp-5.19.0/sound/soc/codecs/rt715-sdca-sdw.c @@ -167,7 +167,7 @@ } /* set the timeout values */ - prop->clk_stop_timeout = 20; + prop->clk_stop_timeout = 200; return 0; } --- linux-gcp-5.19.0.orig/sound/soc/codecs/rt9120.c +++ linux-gcp-5.19.0/sound/soc/codecs/rt9120.c @@ -177,8 +177,20 @@ return 0; } +static int rt9120_codec_suspend(struct snd_soc_component *comp) +{ + return pm_runtime_force_suspend(comp->dev); +} + +static int rt9120_codec_resume(struct snd_soc_component *comp) +{ + return pm_runtime_force_resume(comp->dev); +} + static const struct snd_soc_component_driver rt9120_component_driver = { .probe = rt9120_codec_probe, + .suspend = rt9120_codec_suspend, + .resume = rt9120_codec_resume, .controls = rt9120_snd_controls, .num_controls = ARRAY_SIZE(rt9120_snd_controls), .dapm_widgets = rt9120_dapm_widgets, --- linux-gcp-5.19.0.orig/sound/soc/codecs/sgtl5000.c +++ linux-gcp-5.19.0/sound/soc/codecs/sgtl5000.c @@ -1795,6 +1795,7 @@ { struct sgtl5000_priv *sgtl5000 = i2c_get_clientdata(client); + regmap_write(sgtl5000->regmap, SGTL5000_CHIP_CLK_CTRL, SGTL5000_CHIP_CLK_CTRL_DEFAULT); regmap_write(sgtl5000->regmap, SGTL5000_CHIP_DIG_POWER, SGTL5000_DIG_POWER_DEFAULT); regmap_write(sgtl5000->regmap, SGTL5000_CHIP_ANA_POWER, SGTL5000_ANA_POWER_DEFAULT); --- linux-gcp-5.19.0.orig/sound/soc/codecs/tas2764.c +++ linux-gcp-5.19.0/sound/soc/codecs/tas2764.c @@ -34,6 +34,9 @@ int v_sense_slot; int i_sense_slot; + + bool dac_powered; + bool unmuted; }; static void tas2764_reset(struct tas2764_priv *tas2764) @@ -50,34 +53,22 @@ usleep_range(1000, 2000); } -static int tas2764_set_bias_level(struct snd_soc_component *component, - enum snd_soc_bias_level level) +static int tas2764_update_pwr_ctrl(struct tas2764_priv *tas2764) { - struct tas2764_priv *tas2764 = snd_soc_component_get_drvdata(component); + struct snd_soc_component *component = tas2764->component; + unsigned int val; + int ret; - switch (level) { - case SND_SOC_BIAS_ON: - snd_soc_component_update_bits(component, TAS2764_PWR_CTRL, - TAS2764_PWR_CTRL_MASK, - TAS2764_PWR_CTRL_ACTIVE); - break; - case SND_SOC_BIAS_STANDBY: - case SND_SOC_BIAS_PREPARE: - snd_soc_component_update_bits(component, TAS2764_PWR_CTRL, - TAS2764_PWR_CTRL_MASK, - TAS2764_PWR_CTRL_MUTE); - break; - case SND_SOC_BIAS_OFF: - snd_soc_component_update_bits(component, TAS2764_PWR_CTRL, - TAS2764_PWR_CTRL_MASK, - TAS2764_PWR_CTRL_SHUTDOWN); - break; + if (tas2764->dac_powered) + val = tas2764->unmuted ? + TAS2764_PWR_CTRL_ACTIVE : TAS2764_PWR_CTRL_MUTE; + else + val = TAS2764_PWR_CTRL_SHUTDOWN; - default: - dev_err(tas2764->dev, - "wrong power level setting %d\n", level); - return -EINVAL; - } + ret = snd_soc_component_update_bits(component, TAS2764_PWR_CTRL, + TAS2764_PWR_CTRL_MASK, val); + if (ret < 0) + return ret; return 0; } @@ -114,9 +105,7 @@ usleep_range(1000, 2000); } - ret = snd_soc_component_update_bits(component, TAS2764_PWR_CTRL, - TAS2764_PWR_CTRL_MASK, - TAS2764_PWR_CTRL_ACTIVE); + ret = tas2764_update_pwr_ctrl(tas2764); if (ret < 0) return ret; @@ -150,14 +139,12 @@ switch (event) { case SND_SOC_DAPM_POST_PMU: - ret = snd_soc_component_update_bits(component, TAS2764_PWR_CTRL, - TAS2764_PWR_CTRL_MASK, - TAS2764_PWR_CTRL_MUTE); + tas2764->dac_powered = true; + ret = tas2764_update_pwr_ctrl(tas2764); break; case SND_SOC_DAPM_PRE_PMD: - ret = snd_soc_component_update_bits(component, TAS2764_PWR_CTRL, - TAS2764_PWR_CTRL_MASK, - TAS2764_PWR_CTRL_SHUTDOWN); + tas2764->dac_powered = false; + ret = tas2764_update_pwr_ctrl(tas2764); break; default: dev_err(tas2764->dev, "Unsupported event\n"); @@ -202,17 +189,11 @@ static int tas2764_mute(struct snd_soc_dai *dai, int mute, int direction) { - struct snd_soc_component *component = dai->component; - int ret; - - ret = snd_soc_component_update_bits(component, TAS2764_PWR_CTRL, - TAS2764_PWR_CTRL_MASK, - mute ? TAS2764_PWR_CTRL_MUTE : 0); - - if (ret < 0) - return ret; + struct tas2764_priv *tas2764 = + snd_soc_component_get_drvdata(dai->component); - return 0; + tas2764->unmuted = !mute; + return tas2764_update_pwr_ctrl(tas2764); } static int tas2764_set_bitwidth(struct tas2764_priv *tas2764, int bitwidth) @@ -405,20 +386,13 @@ if (tx_mask == 0 || rx_mask != 0) return -EINVAL; - if (slots == 1) { - if (tx_mask != 1) - return -EINVAL; - left_slot = 0; - right_slot = 0; + left_slot = __ffs(tx_mask); + tx_mask &= ~(1 << left_slot); + if (tx_mask == 0) { + right_slot = left_slot; } else { - left_slot = __ffs(tx_mask); - tx_mask &= ~(1 << left_slot); - if (tx_mask == 0) { - right_slot = left_slot; - } else { - right_slot = __ffs(tx_mask); - tx_mask &= ~(1 << right_slot); - } + right_slot = __ffs(tx_mask); + tx_mask &= ~(1 << right_slot); } if (tx_mask != 0 || left_slot >= slots || right_slot >= slots) @@ -485,7 +459,7 @@ .id = 0, .playback = { .stream_name = "ASI1 Playback", - .channels_min = 2, + .channels_min = 1, .channels_max = 2, .rates = TAS2764_RATES, .formats = TAS2764_FORMATS, @@ -526,12 +500,6 @@ if (ret < 0) return ret; - ret = snd_soc_component_update_bits(component, TAS2764_PWR_CTRL, - TAS2764_PWR_CTRL_MASK, - TAS2764_PWR_CTRL_MUTE); - if (ret < 0) - return ret; - return 0; } @@ -549,7 +517,6 @@ .probe = tas2764_codec_probe, .suspend = tas2764_codec_suspend, .resume = tas2764_codec_resume, - .set_bias_level = tas2764_set_bias_level, .controls = tas2764_snd_controls, .num_controls = ARRAY_SIZE(tas2764_snd_controls), .dapm_widgets = tas2764_dapm_widgets, --- linux-gcp-5.19.0.orig/sound/soc/codecs/tas2770.c +++ linux-gcp-5.19.0/sound/soc/codecs/tas2770.c @@ -46,34 +46,22 @@ usleep_range(1000, 2000); } -static int tas2770_set_bias_level(struct snd_soc_component *component, - enum snd_soc_bias_level level) +static int tas2770_update_pwr_ctrl(struct tas2770_priv *tas2770) { - struct tas2770_priv *tas2770 = - snd_soc_component_get_drvdata(component); + struct snd_soc_component *component = tas2770->component; + unsigned int val; + int ret; - switch (level) { - case SND_SOC_BIAS_ON: - snd_soc_component_update_bits(component, TAS2770_PWR_CTRL, - TAS2770_PWR_CTRL_MASK, - TAS2770_PWR_CTRL_ACTIVE); - break; - case SND_SOC_BIAS_STANDBY: - case SND_SOC_BIAS_PREPARE: - snd_soc_component_update_bits(component, TAS2770_PWR_CTRL, - TAS2770_PWR_CTRL_MASK, - TAS2770_PWR_CTRL_MUTE); - break; - case SND_SOC_BIAS_OFF: - snd_soc_component_update_bits(component, TAS2770_PWR_CTRL, - TAS2770_PWR_CTRL_MASK, - TAS2770_PWR_CTRL_SHUTDOWN); - break; + if (tas2770->dac_powered) + val = tas2770->unmuted ? + TAS2770_PWR_CTRL_ACTIVE : TAS2770_PWR_CTRL_MUTE; + else + val = TAS2770_PWR_CTRL_SHUTDOWN; - default: - dev_err(tas2770->dev, "wrong power level setting %d\n", level); - return -EINVAL; - } + ret = snd_soc_component_update_bits(component, TAS2770_PWR_CTRL, + TAS2770_PWR_CTRL_MASK, val); + if (ret < 0) + return ret; return 0; } @@ -114,9 +102,7 @@ gpiod_set_value_cansleep(tas2770->sdz_gpio, 1); usleep_range(1000, 2000); } else { - ret = snd_soc_component_update_bits(component, TAS2770_PWR_CTRL, - TAS2770_PWR_CTRL_MASK, - TAS2770_PWR_CTRL_ACTIVE); + ret = tas2770_update_pwr_ctrl(tas2770); if (ret < 0) return ret; } @@ -152,24 +138,19 @@ switch (event) { case SND_SOC_DAPM_POST_PMU: - ret = snd_soc_component_update_bits(component, TAS2770_PWR_CTRL, - TAS2770_PWR_CTRL_MASK, - TAS2770_PWR_CTRL_MUTE); + tas2770->dac_powered = 1; + ret = tas2770_update_pwr_ctrl(tas2770); break; case SND_SOC_DAPM_PRE_PMD: - ret = snd_soc_component_update_bits(component, TAS2770_PWR_CTRL, - TAS2770_PWR_CTRL_MASK, - TAS2770_PWR_CTRL_SHUTDOWN); + tas2770->dac_powered = 0; + ret = tas2770_update_pwr_ctrl(tas2770); break; default: dev_err(tas2770->dev, "Not supported evevt\n"); return -EINVAL; } - if (ret < 0) - return ret; - - return 0; + return ret; } static const struct snd_kcontrol_new isense_switch = @@ -203,21 +184,11 @@ static int tas2770_mute(struct snd_soc_dai *dai, int mute, int direction) { struct snd_soc_component *component = dai->component; - int ret; - - if (mute) - ret = snd_soc_component_update_bits(component, TAS2770_PWR_CTRL, - TAS2770_PWR_CTRL_MASK, - TAS2770_PWR_CTRL_MUTE); - else - ret = snd_soc_component_update_bits(component, TAS2770_PWR_CTRL, - TAS2770_PWR_CTRL_MASK, - TAS2770_PWR_CTRL_ACTIVE); - - if (ret < 0) - return ret; + struct tas2770_priv *tas2770 = + snd_soc_component_get_drvdata(component); - return 0; + tas2770->unmuted = !mute; + return tas2770_update_pwr_ctrl(tas2770); } static int tas2770_set_bitwidth(struct tas2770_priv *tas2770, int bitwidth) @@ -337,7 +308,7 @@ struct snd_soc_component *component = dai->component; struct tas2770_priv *tas2770 = snd_soc_component_get_drvdata(component); - u8 tdm_rx_start_slot = 0, asi_cfg_1 = 0; + u8 tdm_rx_start_slot = 0, invert_fpol = 0, fpol_preinv = 0, asi_cfg_1 = 0; int ret; switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { @@ -349,9 +320,15 @@ } switch (fmt & SND_SOC_DAIFMT_INV_MASK) { + case SND_SOC_DAIFMT_NB_IF: + invert_fpol = 1; + fallthrough; case SND_SOC_DAIFMT_NB_NF: asi_cfg_1 |= TAS2770_TDM_CFG_REG1_RX_RSING; break; + case SND_SOC_DAIFMT_IB_IF: + invert_fpol = 1; + fallthrough; case SND_SOC_DAIFMT_IB_NF: asi_cfg_1 |= TAS2770_TDM_CFG_REG1_RX_FALING; break; @@ -369,15 +346,19 @@ switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) { case SND_SOC_DAIFMT_I2S: tdm_rx_start_slot = 1; + fpol_preinv = 0; break; case SND_SOC_DAIFMT_DSP_A: tdm_rx_start_slot = 0; + fpol_preinv = 1; break; case SND_SOC_DAIFMT_DSP_B: tdm_rx_start_slot = 1; + fpol_preinv = 1; break; case SND_SOC_DAIFMT_LEFT_J: tdm_rx_start_slot = 0; + fpol_preinv = 1; break; default: dev_err(tas2770->dev, @@ -391,6 +372,14 @@ if (ret < 0) return ret; + ret = snd_soc_component_update_bits(component, TAS2770_TDM_CFG_REG0, + TAS2770_TDM_CFG_REG0_FPOL_MASK, + (fpol_preinv ^ invert_fpol) + ? TAS2770_TDM_CFG_REG0_FPOL_RSING + : TAS2770_TDM_CFG_REG0_FPOL_FALING); + if (ret < 0) + return ret; + return 0; } @@ -406,21 +395,13 @@ if (tx_mask == 0 || rx_mask != 0) return -EINVAL; - if (slots == 1) { - if (tx_mask != 1) - return -EINVAL; - - left_slot = 0; - right_slot = 0; + left_slot = __ffs(tx_mask); + tx_mask &= ~(1 << left_slot); + if (tx_mask == 0) { + right_slot = left_slot; } else { - left_slot = __ffs(tx_mask); - tx_mask &= ~(1 << left_slot); - if (tx_mask == 0) { - right_slot = left_slot; - } else { - right_slot = __ffs(tx_mask); - tx_mask &= ~(1 << right_slot); - } + right_slot = __ffs(tx_mask); + tx_mask &= ~(1 << right_slot); } if (tx_mask != 0 || left_slot >= slots || right_slot >= slots) @@ -489,7 +470,7 @@ .id = 0, .playback = { .stream_name = "ASI1 Playback", - .channels_min = 2, + .channels_min = 1, .channels_max = 2, .rates = TAS2770_RATES, .formats = TAS2770_FORMATS, @@ -506,6 +487,8 @@ }, }; +static const struct regmap_config tas2770_i2c_regmap; + static int tas2770_codec_probe(struct snd_soc_component *component) { struct tas2770_priv *tas2770 = @@ -519,6 +502,7 @@ } tas2770_reset(tas2770); + regmap_reinit_cache(tas2770->regmap, &tas2770_i2c_regmap); return 0; } @@ -537,7 +521,6 @@ .probe = tas2770_codec_probe, .suspend = tas2770_codec_suspend, .resume = tas2770_codec_resume, - .set_bias_level = tas2770_set_bias_level, .controls = tas2770_snd_controls, .num_controls = ARRAY_SIZE(tas2770_snd_controls), .dapm_widgets = tas2770_dapm_widgets, --- linux-gcp-5.19.0.orig/sound/soc/codecs/tas2770.h +++ linux-gcp-5.19.0/sound/soc/codecs/tas2770.h @@ -41,6 +41,9 @@ #define TAS2770_TDM_CFG_REG0_31_44_1_48KHZ 0x6 #define TAS2770_TDM_CFG_REG0_31_88_2_96KHZ 0x8 #define TAS2770_TDM_CFG_REG0_31_176_4_192KHZ 0xa +#define TAS2770_TDM_CFG_REG0_FPOL_MASK BIT(0) +#define TAS2770_TDM_CFG_REG0_FPOL_RSING 0 +#define TAS2770_TDM_CFG_REG0_FPOL_FALING 1 /* TDM Configuration Reg1 */ #define TAS2770_TDM_CFG_REG1 TAS2770_REG(0X0, 0x0B) #define TAS2770_TDM_CFG_REG1_MASK GENMASK(5, 1) @@ -135,6 +138,8 @@ struct device *dev; int v_sense_slot; int i_sense_slot; + bool dac_powered; + bool unmuted; }; #endif /* __TAS2770__ */ --- linux-gcp-5.19.0.orig/sound/soc/codecs/tas5805m.c +++ linux-gcp-5.19.0/sound/soc/codecs/tas5805m.c @@ -154,6 +154,7 @@ #define TAS5805M_VOLUME_MIN 0 struct tas5805m_priv { + struct i2c_client *i2c; struct regulator *pvdd; struct gpio_desc *gpio_pdn_n; @@ -165,6 +166,9 @@ int vol[2]; bool is_powered; bool is_muted; + + struct work_struct work; + struct mutex lock; }; static void set_dsp_scale(struct regmap *rm, int offset, int vol) @@ -181,13 +185,11 @@ regmap_bulk_write(rm, offset, v, ARRAY_SIZE(v)); } -static void tas5805m_refresh(struct snd_soc_component *component) +static void tas5805m_refresh(struct tas5805m_priv *tas5805m) { - struct tas5805m_priv *tas5805m = - snd_soc_component_get_drvdata(component); struct regmap *rm = tas5805m->regmap; - dev_dbg(component->dev, "refresh: is_muted=%d, vol=%d/%d\n", + dev_dbg(&tas5805m->i2c->dev, "refresh: is_muted=%d, vol=%d/%d\n", tas5805m->is_muted, tas5805m->vol[0], tas5805m->vol[1]); regmap_write(rm, REG_PAGE, 0x00); @@ -201,6 +203,9 @@ set_dsp_scale(rm, 0x24, tas5805m->vol[0]); set_dsp_scale(rm, 0x28, tas5805m->vol[1]); + regmap_write(rm, REG_PAGE, 0x00); + regmap_write(rm, REG_BOOK, 0x00); + /* Set/clear digital soft-mute */ regmap_write(rm, REG_DEVICE_CTRL_2, (tas5805m->is_muted ? DCTRL2_MUTE : 0) | @@ -226,8 +231,11 @@ struct tas5805m_priv *tas5805m = snd_soc_component_get_drvdata(component); + mutex_lock(&tas5805m->lock); ucontrol->value.integer.value[0] = tas5805m->vol[0]; ucontrol->value.integer.value[1] = tas5805m->vol[1]; + mutex_unlock(&tas5805m->lock); + return 0; } @@ -243,11 +251,13 @@ snd_soc_kcontrol_component(kcontrol); struct tas5805m_priv *tas5805m = snd_soc_component_get_drvdata(component); + int ret = 0; if (!(volume_is_valid(ucontrol->value.integer.value[0]) && volume_is_valid(ucontrol->value.integer.value[1]))) return -EINVAL; + mutex_lock(&tas5805m->lock); if (tas5805m->vol[0] != ucontrol->value.integer.value[0] || tas5805m->vol[1] != ucontrol->value.integer.value[1]) { tas5805m->vol[0] = ucontrol->value.integer.value[0]; @@ -256,11 +266,12 @@ tas5805m->vol[0], tas5805m->vol[1], tas5805m->is_powered); if (tas5805m->is_powered) - tas5805m_refresh(component); - return 1; + tas5805m_refresh(tas5805m); + ret = 1; } + mutex_unlock(&tas5805m->lock); - return 0; + return ret; } static const struct snd_kcontrol_new tas5805m_snd_controls[] = { @@ -294,54 +305,83 @@ struct snd_soc_component *component = dai->component; struct tas5805m_priv *tas5805m = snd_soc_component_get_drvdata(component); - struct regmap *rm = tas5805m->regmap; - unsigned int chan, global1, global2; switch (cmd) { case SNDRV_PCM_TRIGGER_START: case SNDRV_PCM_TRIGGER_RESUME: case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: - dev_dbg(component->dev, "DSP startup\n"); - - /* We mustn't issue any I2C transactions until the I2S - * clock is stable. Furthermore, we must allow a 5ms - * delay after the first set of register writes to - * allow the DSP to boot before configuring it. - */ - usleep_range(5000, 10000); - send_cfg(rm, dsp_cfg_preboot, - ARRAY_SIZE(dsp_cfg_preboot)); - usleep_range(5000, 15000); - send_cfg(rm, tas5805m->dsp_cfg_data, - tas5805m->dsp_cfg_len); - - tas5805m->is_powered = true; - tas5805m_refresh(component); + dev_dbg(component->dev, "clock start\n"); + schedule_work(&tas5805m->work); break; case SNDRV_PCM_TRIGGER_STOP: case SNDRV_PCM_TRIGGER_SUSPEND: case SNDRV_PCM_TRIGGER_PAUSE_PUSH: - dev_dbg(component->dev, "DSP shutdown\n"); + break; - tas5805m->is_powered = false; + default: + return -EINVAL; + } - regmap_write(rm, REG_PAGE, 0x00); - regmap_write(rm, REG_BOOK, 0x00); + return 0; +} - regmap_read(rm, REG_CHAN_FAULT, &chan); - regmap_read(rm, REG_GLOBAL_FAULT1, &global1); - regmap_read(rm, REG_GLOBAL_FAULT2, &global2); +static void do_work(struct work_struct *work) +{ + struct tas5805m_priv *tas5805m = + container_of(work, struct tas5805m_priv, work); + struct regmap *rm = tas5805m->regmap; - dev_dbg(component->dev, - "fault regs: CHAN=%02x, GLOBAL1=%02x, GLOBAL2=%02x\n", - chan, global1, global2); + dev_dbg(&tas5805m->i2c->dev, "DSP startup\n"); - regmap_write(rm, REG_DEVICE_CTRL_2, DCTRL2_MODE_HIZ); - break; + mutex_lock(&tas5805m->lock); + /* We mustn't issue any I2C transactions until the I2S + * clock is stable. Furthermore, we must allow a 5ms + * delay after the first set of register writes to + * allow the DSP to boot before configuring it. + */ + usleep_range(5000, 10000); + send_cfg(rm, dsp_cfg_preboot, ARRAY_SIZE(dsp_cfg_preboot)); + usleep_range(5000, 15000); + send_cfg(rm, tas5805m->dsp_cfg_data, tas5805m->dsp_cfg_len); + + tas5805m->is_powered = true; + tas5805m_refresh(tas5805m); + mutex_unlock(&tas5805m->lock); +} - default: - return -EINVAL; +static int tas5805m_dac_event(struct snd_soc_dapm_widget *w, + struct snd_kcontrol *kcontrol, int event) +{ + struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); + struct tas5805m_priv *tas5805m = + snd_soc_component_get_drvdata(component); + struct regmap *rm = tas5805m->regmap; + + if (event & SND_SOC_DAPM_PRE_PMD) { + unsigned int chan, global1, global2; + + dev_dbg(component->dev, "DSP shutdown\n"); + cancel_work_sync(&tas5805m->work); + + mutex_lock(&tas5805m->lock); + if (tas5805m->is_powered) { + tas5805m->is_powered = false; + + regmap_write(rm, REG_PAGE, 0x00); + regmap_write(rm, REG_BOOK, 0x00); + + regmap_read(rm, REG_CHAN_FAULT, &chan); + regmap_read(rm, REG_GLOBAL_FAULT1, &global1); + regmap_read(rm, REG_GLOBAL_FAULT2, &global2); + + dev_dbg(component->dev, "fault regs: CHAN=%02x, " + "GLOBAL1=%02x, GLOBAL2=%02x\n", + chan, global1, global2); + + regmap_write(rm, REG_DEVICE_CTRL_2, DCTRL2_MODE_HIZ); + } + mutex_unlock(&tas5805m->lock); } return 0; @@ -354,7 +394,8 @@ static const struct snd_soc_dapm_widget tas5805m_dapm_widgets[] = { SND_SOC_DAPM_AIF_IN("DAC IN", "Playback", 0, SND_SOC_NOPM, 0, 0), - SND_SOC_DAPM_DAC("DAC", NULL, SND_SOC_NOPM, 0, 0), + SND_SOC_DAPM_DAC_E("DAC", NULL, SND_SOC_NOPM, 0, 0, + tas5805m_dac_event, SND_SOC_DAPM_PRE_PMD), SND_SOC_DAPM_OUTPUT("OUT") }; @@ -376,11 +417,14 @@ struct tas5805m_priv *tas5805m = snd_soc_component_get_drvdata(component); + mutex_lock(&tas5805m->lock); dev_dbg(component->dev, "set mute=%d (is_powered=%d)\n", mute, tas5805m->is_powered); + tas5805m->is_muted = mute; if (tas5805m->is_powered) - tas5805m_refresh(component); + tas5805m_refresh(tas5805m); + mutex_unlock(&tas5805m->lock); return 0; } @@ -435,6 +479,7 @@ if (!tas5805m) return -ENOMEM; + tas5805m->i2c = i2c; tas5805m->pvdd = devm_regulator_get(dev, "pvdd"); if (IS_ERR(tas5805m->pvdd)) { dev_err(dev, "failed to get pvdd supply: %ld\n", @@ -508,6 +553,9 @@ gpiod_set_value(tas5805m->gpio_pdn_n, 1); usleep_range(10000, 15000); + INIT_WORK(&tas5805m->work, do_work); + mutex_init(&tas5805m->lock); + /* Don't register through devm. We need to be able to unregister * the component prior to deasserting PDN# */ @@ -528,6 +576,7 @@ struct device *dev = &i2c->dev; struct tas5805m_priv *tas5805m = dev_get_drvdata(dev); + cancel_work_sync(&tas5805m->work); snd_soc_unregister_component(dev); gpiod_set_value(tas5805m->gpio_pdn_n, 0); usleep_range(10000, 15000); --- linux-gcp-5.19.0.orig/sound/soc/codecs/tlv320adc3xxx.c +++ linux-gcp-5.19.0/sound/soc/codecs/tlv320adc3xxx.c @@ -14,6 +14,7 @@ #include #include +#include #include #include #include @@ -1025,7 +1026,9 @@ static void adc3xxx_free_gpio(struct adc3xxx *adc3xxx) { +#ifdef CONFIG_GPIOLIB gpiochip_remove(&adc3xxx->gpio_chip); +#endif } static void adc3xxx_init_gpio(struct adc3xxx *adc3xxx) @@ -1451,7 +1454,7 @@ .of_match_table = tlv320adc3xxx_of_match, }, .probe_new = adc3xxx_i2c_probe, - .remove = adc3xxx_i2c_remove, + .remove = __exit_p(adc3xxx_i2c_remove), .id_table = adc3xxx_i2c_id, }; --- linux-gcp-5.19.0.orig/sound/soc/codecs/tlv320adcx140.c +++ linux-gcp-5.19.0/sound/soc/codecs/tlv320adcx140.c @@ -869,7 +869,7 @@ gpio_count = device_property_count_u32(adcx140->dev, "ti,gpio-config"); - if (gpio_count == 0) + if (gpio_count <= 0) return 0; if (gpio_count != ADCX140_NUM_GPIO_CFGS) --- linux-gcp-5.19.0.orig/sound/soc/codecs/tlv320aic32x4.c +++ linux-gcp-5.19.0/sound/soc/codecs/tlv320aic32x4.c @@ -49,6 +49,8 @@ struct aic32x4_setup_data *setup; struct device *dev; enum aic32x4_type type; + + unsigned int fmt; }; static int aic32x4_reset_adc(struct snd_soc_dapm_widget *w, @@ -611,6 +613,7 @@ static int aic32x4_set_dai_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt) { struct snd_soc_component *component = codec_dai->component; + struct aic32x4_priv *aic32x4 = snd_soc_component_get_drvdata(component); u8 iface_reg_1 = 0; u8 iface_reg_2 = 0; u8 iface_reg_3 = 0; @@ -654,6 +657,8 @@ return -EINVAL; } + aic32x4->fmt = fmt; + snd_soc_component_update_bits(component, AIC32X4_IFACE1, AIC32X4_IFACE1_DATATYPE_MASK | AIC32X4_IFACE1_MASTER_MASK, iface_reg_1); @@ -758,6 +763,10 @@ return -EINVAL; } + /* PCM over I2S is always 2-channel */ + if ((aic32x4->fmt & SND_SOC_DAIFMT_FORMAT_MASK) == SND_SOC_DAIFMT_I2S) + channels = 2; + madc = DIV_ROUND_UP((32 * adc_resource_class), aosr); max_dosr = (AIC32X4_MAX_DOSR_FREQ / sample_rate / dosr_increment) * dosr_increment; --- linux-gcp-5.19.0.orig/sound/soc/codecs/wcd9335.c +++ linux-gcp-5.19.0/sound/soc/codecs/wcd9335.c @@ -1983,8 +1983,8 @@ case SNDRV_PCM_TRIGGER_STOP: case SNDRV_PCM_TRIGGER_SUSPEND: case SNDRV_PCM_TRIGGER_PAUSE_PUSH: - slim_stream_unprepare(dai_data->sruntime); slim_stream_disable(dai_data->sruntime); + slim_stream_unprepare(dai_data->sruntime); break; default: break; @@ -2264,51 +2264,42 @@ static const struct snd_kcontrol_new wcd9335_snd_controls[] = { /* -84dB min - 40dB max */ - SOC_SINGLE_SX_TLV("RX0 Digital Volume", WCD9335_CDC_RX0_RX_VOL_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("RX1 Digital Volume", WCD9335_CDC_RX1_RX_VOL_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("RX2 Digital Volume", WCD9335_CDC_RX2_RX_VOL_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("RX3 Digital Volume", WCD9335_CDC_RX3_RX_VOL_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("RX4 Digital Volume", WCD9335_CDC_RX4_RX_VOL_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("RX5 Digital Volume", WCD9335_CDC_RX5_RX_VOL_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("RX6 Digital Volume", WCD9335_CDC_RX6_RX_VOL_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("RX7 Digital Volume", WCD9335_CDC_RX7_RX_VOL_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("RX8 Digital Volume", WCD9335_CDC_RX8_RX_VOL_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("RX0 Mix Digital Volume", - WCD9335_CDC_RX0_RX_VOL_MIX_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("RX1 Mix Digital Volume", - WCD9335_CDC_RX1_RX_VOL_MIX_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("RX2 Mix Digital Volume", - WCD9335_CDC_RX2_RX_VOL_MIX_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("RX3 Mix Digital Volume", - WCD9335_CDC_RX3_RX_VOL_MIX_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("RX4 Mix Digital Volume", - WCD9335_CDC_RX4_RX_VOL_MIX_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("RX5 Mix Digital Volume", - WCD9335_CDC_RX5_RX_VOL_MIX_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("RX6 Mix Digital Volume", - WCD9335_CDC_RX6_RX_VOL_MIX_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("RX7 Mix Digital Volume", - WCD9335_CDC_RX7_RX_VOL_MIX_CTL, - 0, -84, 40, digital_gain), - SOC_SINGLE_SX_TLV("RX8 Mix Digital Volume", - WCD9335_CDC_RX8_RX_VOL_MIX_CTL, - 0, -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("RX0 Digital Volume", WCD9335_CDC_RX0_RX_VOL_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("RX1 Digital Volume", WCD9335_CDC_RX1_RX_VOL_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("RX2 Digital Volume", WCD9335_CDC_RX2_RX_VOL_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("RX3 Digital Volume", WCD9335_CDC_RX3_RX_VOL_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("RX4 Digital Volume", WCD9335_CDC_RX4_RX_VOL_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("RX5 Digital Volume", WCD9335_CDC_RX5_RX_VOL_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("RX6 Digital Volume", WCD9335_CDC_RX6_RX_VOL_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("RX7 Digital Volume", WCD9335_CDC_RX7_RX_VOL_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("RX8 Digital Volume", WCD9335_CDC_RX8_RX_VOL_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("RX0 Mix Digital Volume", WCD9335_CDC_RX0_RX_VOL_MIX_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("RX1 Mix Digital Volume", WCD9335_CDC_RX1_RX_VOL_MIX_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("RX2 Mix Digital Volume", WCD9335_CDC_RX2_RX_VOL_MIX_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("RX3 Mix Digital Volume", WCD9335_CDC_RX3_RX_VOL_MIX_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("RX4 Mix Digital Volume", WCD9335_CDC_RX4_RX_VOL_MIX_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("RX5 Mix Digital Volume", WCD9335_CDC_RX5_RX_VOL_MIX_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("RX6 Mix Digital Volume", WCD9335_CDC_RX6_RX_VOL_MIX_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("RX7 Mix Digital Volume", WCD9335_CDC_RX7_RX_VOL_MIX_CTL, + -84, 40, digital_gain), + SOC_SINGLE_S8_TLV("RX8 Mix Digital Volume", WCD9335_CDC_RX8_RX_VOL_MIX_CTL, + -84, 40, digital_gain), SOC_ENUM("RX INT0_1 HPF cut off", cf_int0_1_enum), SOC_ENUM("RX INT0_2 HPF cut off", cf_int0_2_enum), SOC_ENUM("RX INT1_1 HPF cut off", cf_int1_1_enum), --- linux-gcp-5.19.0.orig/sound/soc/codecs/wcd934x.c +++ linux-gcp-5.19.0/sound/soc/codecs/wcd934x.c @@ -1913,8 +1913,8 @@ case SNDRV_PCM_TRIGGER_STOP: case SNDRV_PCM_TRIGGER_SUSPEND: case SNDRV_PCM_TRIGGER_PAUSE_PUSH: - slim_stream_unprepare(dai_data->sruntime); slim_stream_disable(dai_data->sruntime); + slim_stream_unprepare(dai_data->sruntime); break; default: break; --- linux-gcp-5.19.0.orig/sound/soc/codecs/wm8904.c +++ linux-gcp-5.19.0/sound/soc/codecs/wm8904.c @@ -697,6 +697,7 @@ int dcs_mask; int dcs_l, dcs_r; int dcs_l_reg, dcs_r_reg; + int an_out_reg; int timeout; int pwr_reg; @@ -712,6 +713,7 @@ dcs_mask = WM8904_DCS_ENA_CHAN_0 | WM8904_DCS_ENA_CHAN_1; dcs_r_reg = WM8904_DC_SERVO_8; dcs_l_reg = WM8904_DC_SERVO_9; + an_out_reg = WM8904_ANALOGUE_OUT1_LEFT; dcs_l = 0; dcs_r = 1; break; @@ -720,6 +722,7 @@ dcs_mask = WM8904_DCS_ENA_CHAN_2 | WM8904_DCS_ENA_CHAN_3; dcs_r_reg = WM8904_DC_SERVO_6; dcs_l_reg = WM8904_DC_SERVO_7; + an_out_reg = WM8904_ANALOGUE_OUT2_LEFT; dcs_l = 2; dcs_r = 3; break; @@ -792,6 +795,10 @@ snd_soc_component_update_bits(component, reg, WM8904_HPL_ENA_OUTP | WM8904_HPR_ENA_OUTP, WM8904_HPL_ENA_OUTP | WM8904_HPR_ENA_OUTP); + + /* Update volume, requires PGA to be powered */ + val = snd_soc_component_read(component, an_out_reg); + snd_soc_component_write(component, an_out_reg, val); break; case SND_SOC_DAPM_POST_PMU: --- linux-gcp-5.19.0.orig/sound/soc/codecs/wm8962.c +++ linux-gcp-5.19.0/sound/soc/codecs/wm8962.c @@ -1840,6 +1840,49 @@ 4, 1, 0, inmix_tlv), }; +static int tp_event(struct snd_soc_dapm_widget *w, + struct snd_kcontrol *kcontrol, int event) +{ + int ret, reg, val, mask; + struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); + + ret = pm_runtime_resume_and_get(component->dev); + if (ret < 0) { + dev_err(component->dev, "Failed to resume device: %d\n", ret); + return ret; + } + + reg = WM8962_ADDITIONAL_CONTROL_4; + + if (!strcmp(w->name, "TEMP_HP")) { + mask = WM8962_TEMP_ENA_HP_MASK; + val = WM8962_TEMP_ENA_HP; + } else if (!strcmp(w->name, "TEMP_SPK")) { + mask = WM8962_TEMP_ENA_SPK_MASK; + val = WM8962_TEMP_ENA_SPK; + } else { + pm_runtime_put(component->dev); + return -EINVAL; + } + + switch (event) { + case SND_SOC_DAPM_POST_PMD: + val = 0; + fallthrough; + case SND_SOC_DAPM_POST_PMU: + ret = snd_soc_component_update_bits(component, reg, mask, val); + break; + default: + WARN(1, "Invalid event %d\n", event); + pm_runtime_put(component->dev); + return -EINVAL; + } + + pm_runtime_put(component->dev); + + return 0; +} + static int cp_event(struct snd_soc_dapm_widget *w, struct snd_kcontrol *kcontrol, int event) { @@ -2140,8 +2183,10 @@ SND_SOC_DAPM_SUPPLY_S("DSP2", 1, WM8962_DSP2_POWER_MANAGEMENT, WM8962_DSP2_ENA_SHIFT, 0, dsp2_event, SND_SOC_DAPM_POST_PMU | SND_SOC_DAPM_PRE_PMD), -SND_SOC_DAPM_SUPPLY("TEMP_HP", WM8962_ADDITIONAL_CONTROL_4, 2, 0, NULL, 0), -SND_SOC_DAPM_SUPPLY("TEMP_SPK", WM8962_ADDITIONAL_CONTROL_4, 1, 0, NULL, 0), +SND_SOC_DAPM_SUPPLY("TEMP_HP", SND_SOC_NOPM, 0, 0, tp_event, + SND_SOC_DAPM_POST_PMU|SND_SOC_DAPM_POST_PMD), +SND_SOC_DAPM_SUPPLY("TEMP_SPK", SND_SOC_NOPM, 0, 0, tp_event, + SND_SOC_DAPM_POST_PMU|SND_SOC_DAPM_POST_PMD), SND_SOC_DAPM_MIXER("INPGAL", WM8962_LEFT_INPUT_PGA_CONTROL, 4, 0, inpgal, ARRAY_SIZE(inpgal)), @@ -2458,6 +2503,14 @@ snd_soc_component_update_bits(component, WM8962_CLOCKING2, WM8962_SYSCLK_ENA_MASK, WM8962_SYSCLK_ENA); + /* DSPCLK_DIV field in WM8962_CLOCKING1 register is used to generate + * correct frequency of LRCLK and BCLK. Sometimes the read-only value + * can't be updated timely after enabling SYSCLK. This results in wrong + * calculation values. Delay is introduced here to wait for newest + * value from register. The time of the delay should be at least + * 500~1000us according to test. + */ + usleep_range(500, 1000); dspclk = snd_soc_component_read(component, WM8962_CLOCKING1); if (snd_soc_component_get_bias_level(component) != SND_SOC_BIAS_ON) @@ -3764,6 +3817,11 @@ if (ret < 0) goto err_pm_runtime; + regmap_update_bits(wm8962->regmap, WM8962_ADDITIONAL_CONTROL_4, + WM8962_TEMP_ENA_HP_MASK, 0); + regmap_update_bits(wm8962->regmap, WM8962_ADDITIONAL_CONTROL_4, + WM8962_TEMP_ENA_SPK_MASK, 0); + regcache_cache_only(wm8962->regmap, true); /* The drivers should power up as needed */ --- linux-gcp-5.19.0.orig/sound/soc/codecs/wm8994.c +++ linux-gcp-5.19.0/sound/soc/codecs/wm8994.c @@ -3853,7 +3853,12 @@ } else { dev_dbg(component->dev, "Jack not detected\n"); + /* Release wm8994->accdet_lock to avoid deadlock: + * cancel_delayed_work_sync() takes wm8994->mic_work internal + * lock and wm1811_mic_work takes wm8994->accdet_lock */ + mutex_unlock(&wm8994->accdet_lock); cancel_delayed_work_sync(&wm8994->mic_work); + mutex_lock(&wm8994->accdet_lock); snd_soc_component_update_bits(component, WM8958_MICBIAS2, WM8958_MICB2_DISCH, WM8958_MICB2_DISCH); --- linux-gcp-5.19.0.orig/sound/soc/codecs/wm_adsp.c +++ linux-gcp-5.19.0/sound/soc/codecs/wm_adsp.c @@ -1617,7 +1617,9 @@ if (list_empty(&dsp->buffer_list)) { /* Fall back to legacy support */ ret = wm_adsp_buffer_parse_legacy(dsp); - if (ret) + if (ret == -ENODEV) + adsp_info(dsp, "Legacy support not available\n"); + else if (ret) adsp_warn(dsp, "Failed to parse legacy: %d\n", ret); } --- linux-gcp-5.19.0.orig/sound/soc/codecs/wsa881x.c +++ linux-gcp-5.19.0/sound/soc/codecs/wsa881x.c @@ -1175,11 +1175,17 @@ struct sdw_slave *slave = dev_to_sdw_dev(dev); struct regmap *regmap = dev_get_regmap(dev, NULL); struct wsa881x_priv *wsa881x = dev_get_drvdata(dev); + unsigned long time; gpiod_direction_output(wsa881x->sd_n, 1); - wait_for_completion_timeout(&slave->initialization_complete, - msecs_to_jiffies(WSA881X_PROBE_TIMEOUT)); + time = wait_for_completion_timeout(&slave->initialization_complete, + msecs_to_jiffies(WSA881X_PROBE_TIMEOUT)); + if (!time) { + dev_err(dev, "Initialization not complete, timed out\n"); + gpiod_direction_output(wsa881x->sd_n, 0); + return -ETIMEDOUT; + } regcache_cache_only(regmap, false); regcache_sync(regmap); --- linux-gcp-5.19.0.orig/sound/soc/fsl/eukrea-tlv320.c +++ linux-gcp-5.19.0/sound/soc/fsl/eukrea-tlv320.c @@ -86,7 +86,7 @@ int ret; int int_port = 0, ext_port; struct device_node *np = pdev->dev.of_node; - struct device_node *ssi_np = NULL, *codec_np = NULL; + struct device_node *ssi_np = NULL, *codec_np = NULL, *tmp_np = NULL; eukrea_tlv320.dev = &pdev->dev; if (np) { @@ -143,7 +143,7 @@ } if (machine_is_eukrea_cpuimx27() || - of_find_compatible_node(NULL, NULL, "fsl,imx21-audmux")) { + (tmp_np = of_find_compatible_node(NULL, NULL, "fsl,imx21-audmux"))) { imx_audmux_v1_configure_port(MX27_AUDMUX_HPCR1_SSI0, IMX_AUDMUX_V1_PCR_SYN | IMX_AUDMUX_V1_PCR_TFSDIR | @@ -158,10 +158,11 @@ IMX_AUDMUX_V1_PCR_SYN | IMX_AUDMUX_V1_PCR_RXDSEL(MX27_AUDMUX_HPCR1_SSI0) ); + of_node_put(tmp_np); } else if (machine_is_eukrea_cpuimx25sd() || machine_is_eukrea_cpuimx35sd() || machine_is_eukrea_cpuimx51sd() || - of_find_compatible_node(NULL, NULL, "fsl,imx31-audmux")) { + (tmp_np = of_find_compatible_node(NULL, NULL, "fsl,imx31-audmux"))) { if (!np) ext_port = machine_is_eukrea_cpuimx25sd() ? 4 : 3; @@ -178,6 +179,7 @@ IMX_AUDMUX_V2_PTCR_SYN, IMX_AUDMUX_V2_PDCR_RXDSEL(int_port) ); + of_node_put(tmp_np); } else { if (np) { /* The eukrea,asoc-tlv320 driver was explicitly --- linux-gcp-5.19.0.orig/sound/soc/fsl/fsl-asoc-card.c +++ linux-gcp-5.19.0/sound/soc/fsl/fsl-asoc-card.c @@ -121,11 +121,11 @@ static const struct snd_soc_dapm_route audio_map_ac97[] = { /* 1st half -- Normal DAPM routes */ - {"Playback", NULL, "AC97 Playback"}, - {"AC97 Capture", NULL, "Capture"}, + {"AC97 Playback", NULL, "CPU AC97 Playback"}, + {"CPU AC97 Capture", NULL, "AC97 Capture"}, /* 2nd half -- ASRC DAPM routes */ - {"AC97 Playback", NULL, "ASRC-Playback"}, - {"ASRC-Capture", NULL, "AC97 Capture"}, + {"CPU AC97 Playback", NULL, "ASRC-Playback"}, + {"ASRC-Capture", NULL, "CPU AC97 Capture"}, }; static const struct snd_soc_dapm_route audio_map_tx[] = { @@ -537,6 +537,7 @@ struct device *codec_dev = NULL; const char *codec_dai_name; const char *codec_dev_name; + u32 asrc_fmt = 0; u32 width; int ret; @@ -829,8 +830,8 @@ goto asrc_fail; } - ret = of_property_read_u32(asrc_np, "fsl,asrc-format", - &priv->asrc_format); + ret = of_property_read_u32(asrc_np, "fsl,asrc-format", &asrc_fmt); + priv->asrc_format = (__force snd_pcm_format_t)asrc_fmt; if (ret) { /* Fallback to old binding; translate to asrc_format */ ret = of_property_read_u32(asrc_np, "fsl,asrc-width", --- linux-gcp-5.19.0.orig/sound/soc/fsl/fsl_asrc.c +++ linux-gcp-5.19.0/sound/soc/fsl/fsl_asrc.c @@ -1066,6 +1066,7 @@ struct resource *res; void __iomem *regs; int irq, ret, i; + u32 asrc_fmt = 0; u32 map_idx; char tmp[16]; u32 width; @@ -1174,7 +1175,8 @@ return ret; } - ret = of_property_read_u32(np, "fsl,asrc-format", &asrc->asrc_format); + ret = of_property_read_u32(np, "fsl,asrc-format", &asrc_fmt); + asrc->asrc_format = (__force snd_pcm_format_t)asrc_fmt; if (ret) { ret = of_property_read_u32(np, "fsl,asrc-width", &width); if (ret) { @@ -1197,7 +1199,7 @@ } } - if (!(FSL_ASRC_FORMATS & (1ULL << asrc->asrc_format))) { + if (!(FSL_ASRC_FORMATS & pcm_format_to_bits(asrc->asrc_format))) { dev_warn(&pdev->dev, "unsupported width, use default S24_LE\n"); asrc->asrc_format = SNDRV_PCM_FORMAT_S24_LE; } @@ -1222,7 +1224,7 @@ } ret = pm_runtime_put_sync(&pdev->dev); - if (ret < 0) + if (ret < 0 && ret != -ENOSYS) goto err_pm_get_sync; ret = devm_snd_soc_register_component(&pdev->dev, &fsl_asrc_component, --- linux-gcp-5.19.0.orig/sound/soc/fsl/fsl_easrc.c +++ linux-gcp-5.19.0/sound/soc/fsl/fsl_easrc.c @@ -476,7 +476,8 @@ struct fsl_asrc_pair *ctx; struct device *dev; u32 inrate, outrate, offset = 0; - u32 in_s_rate, out_s_rate, in_s_fmt, out_s_fmt; + u32 in_s_rate, out_s_rate; + snd_pcm_format_t in_s_fmt, out_s_fmt; int ret, i; if (!easrc) @@ -1873,6 +1874,7 @@ struct resource *res; struct device_node *np; void __iomem *regs; + u32 asrc_fmt = 0; int ret, irq; easrc = devm_kzalloc(dev, sizeof(*easrc), GFP_KERNEL); @@ -1933,13 +1935,14 @@ return ret; } - ret = of_property_read_u32(np, "fsl,asrc-format", &easrc->asrc_format); + ret = of_property_read_u32(np, "fsl,asrc-format", &asrc_fmt); + easrc->asrc_format = (__force snd_pcm_format_t)asrc_fmt; if (ret) { dev_err(dev, "failed to asrc format\n"); return ret; } - if (!(FSL_EASRC_FORMATS & (1ULL << easrc->asrc_format))) { + if (!(FSL_EASRC_FORMATS & (pcm_format_to_bits(easrc->asrc_format)))) { dev_warn(dev, "unsupported format, switching to S24_LE\n"); easrc->asrc_format = SNDRV_PCM_FORMAT_S24_LE; } --- linux-gcp-5.19.0.orig/sound/soc/fsl/fsl_easrc.h +++ linux-gcp-5.19.0/sound/soc/fsl/fsl_easrc.h @@ -569,7 +569,7 @@ unsigned int access_len; unsigned int fifo_wtmk; unsigned int sample_rate; - unsigned int sample_format; + snd_pcm_format_t sample_format; unsigned int norm_rate; }; --- linux-gcp-5.19.0.orig/sound/soc/fsl/fsl_esai.c +++ linux-gcp-5.19.0/sound/soc/fsl/fsl_esai.c @@ -1068,7 +1068,7 @@ regmap_write(esai_priv->regmap, REG_ESAI_RSMB, 0); ret = pm_runtime_put_sync(&pdev->dev); - if (ret < 0) + if (ret < 0 && ret != -ENOSYS) goto err_pm_get_sync; /* --- linux-gcp-5.19.0.orig/sound/soc/fsl/fsl_micfil.c +++ linux-gcp-5.19.0/sound/soc/fsl/fsl_micfil.c @@ -150,21 +150,21 @@ static const struct snd_kcontrol_new fsl_micfil_snd_controls[] = { SOC_SINGLE_SX_TLV("CH0 Volume", REG_MICFIL_OUT_CTRL, - MICFIL_OUTGAIN_CHX_SHIFT(0), 0xF, 0x7, gain_tlv), + MICFIL_OUTGAIN_CHX_SHIFT(0), 0x8, 0xF, gain_tlv), SOC_SINGLE_SX_TLV("CH1 Volume", REG_MICFIL_OUT_CTRL, - MICFIL_OUTGAIN_CHX_SHIFT(1), 0xF, 0x7, gain_tlv), + MICFIL_OUTGAIN_CHX_SHIFT(1), 0x8, 0xF, gain_tlv), SOC_SINGLE_SX_TLV("CH2 Volume", REG_MICFIL_OUT_CTRL, - MICFIL_OUTGAIN_CHX_SHIFT(2), 0xF, 0x7, gain_tlv), + MICFIL_OUTGAIN_CHX_SHIFT(2), 0x8, 0xF, gain_tlv), SOC_SINGLE_SX_TLV("CH3 Volume", REG_MICFIL_OUT_CTRL, - MICFIL_OUTGAIN_CHX_SHIFT(3), 0xF, 0x7, gain_tlv), + MICFIL_OUTGAIN_CHX_SHIFT(3), 0x8, 0xF, gain_tlv), SOC_SINGLE_SX_TLV("CH4 Volume", REG_MICFIL_OUT_CTRL, - MICFIL_OUTGAIN_CHX_SHIFT(4), 0xF, 0x7, gain_tlv), + MICFIL_OUTGAIN_CHX_SHIFT(4), 0x8, 0xF, gain_tlv), SOC_SINGLE_SX_TLV("CH5 Volume", REG_MICFIL_OUT_CTRL, - MICFIL_OUTGAIN_CHX_SHIFT(5), 0xF, 0x7, gain_tlv), + MICFIL_OUTGAIN_CHX_SHIFT(5), 0x8, 0xF, gain_tlv), SOC_SINGLE_SX_TLV("CH6 Volume", REG_MICFIL_OUT_CTRL, - MICFIL_OUTGAIN_CHX_SHIFT(6), 0xF, 0x7, gain_tlv), + MICFIL_OUTGAIN_CHX_SHIFT(6), 0x8, 0xF, gain_tlv), SOC_SINGLE_SX_TLV("CH7 Volume", REG_MICFIL_OUT_CTRL, - MICFIL_OUTGAIN_CHX_SHIFT(7), 0xF, 0x7, gain_tlv), + MICFIL_OUTGAIN_CHX_SHIFT(7), 0x8, 0xF, gain_tlv), SOC_ENUM_EXT("MICFIL Quality Select", fsl_micfil_quality_enum, micfil_quality_get, micfil_quality_set), @@ -190,6 +190,25 @@ if (ret) return ret; + /* + * SRES is self-cleared bit, but REG_MICFIL_CTRL1 is defined + * as non-volatile register, so SRES still remain in regmap + * cache after set, that every update of REG_MICFIL_CTRL1, + * software reset happens. so clear it explicitly. + */ + ret = regmap_clear_bits(micfil->regmap, REG_MICFIL_CTRL1, + MICFIL_CTRL1_SRES); + if (ret) + return ret; + + /* + * Set SRES should clear CHnF flags, But even add delay here + * the CHnF may not be cleared sometimes, so clear CHnF explicitly. + */ + ret = regmap_write_bits(micfil->regmap, REG_MICFIL_STAT, 0xFF, 0xFF); + if (ret) + return ret; + return 0; } --- linux-gcp-5.19.0.orig/sound/soc/fsl/fsl_sai.c +++ linux-gcp-5.19.0/sound/soc/fsl/fsl_sai.c @@ -224,6 +224,7 @@ if (!sai->is_lsb_first) val_cr4 |= FSL_SAI_CR4_MF; + sai->is_dsp_mode = false; /* DAI mode */ switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) { case SND_SOC_DAIFMT_I2S: @@ -976,6 +977,7 @@ sai->verid.version = val & (FSL_SAI_VERID_MAJOR_MASK | FSL_SAI_VERID_MINOR_MASK); + sai->verid.version >>= FSL_SAI_VERID_MINOR_SHIFT; sai->verid.feature = val & FSL_SAI_VERID_FEATURE_MASK; ret = regmap_read(sai->regmap, FSL_SAI_PARAM, &val); @@ -1004,6 +1006,7 @@ static int fsl_sai_probe(struct platform_device *pdev) { struct device_node *np = pdev->dev.of_node; + struct device *dev = &pdev->dev; struct fsl_sai *sai; struct regmap *gpr; struct resource *res; @@ -1012,12 +1015,12 @@ int irq, ret, i; int index; - sai = devm_kzalloc(&pdev->dev, sizeof(*sai), GFP_KERNEL); + sai = devm_kzalloc(dev, sizeof(*sai), GFP_KERNEL); if (!sai) return -ENOMEM; sai->pdev = pdev; - sai->soc_data = of_device_get_match_data(&pdev->dev); + sai->soc_data = of_device_get_match_data(dev); sai->is_lsb_first = of_property_read_bool(np, "lsb-first"); @@ -1032,18 +1035,18 @@ ARRAY_SIZE(fsl_sai_reg_defaults_ofs8); } - sai->regmap = devm_regmap_init_mmio(&pdev->dev, base, &fsl_sai_regmap_config); + sai->regmap = devm_regmap_init_mmio(dev, base, &fsl_sai_regmap_config); if (IS_ERR(sai->regmap)) { - dev_err(&pdev->dev, "regmap init failed\n"); + dev_err(dev, "regmap init failed\n"); return PTR_ERR(sai->regmap); } - sai->bus_clk = devm_clk_get(&pdev->dev, "bus"); + sai->bus_clk = devm_clk_get(dev, "bus"); /* Compatible with old DTB cases */ if (IS_ERR(sai->bus_clk) && PTR_ERR(sai->bus_clk) != -EPROBE_DEFER) - sai->bus_clk = devm_clk_get(&pdev->dev, "sai"); + sai->bus_clk = devm_clk_get(dev, "sai"); if (IS_ERR(sai->bus_clk)) { - dev_err(&pdev->dev, "failed to get bus clock: %ld\n", + dev_err(dev, "failed to get bus clock: %ld\n", PTR_ERR(sai->bus_clk)); /* -EPROBE_DEFER */ return PTR_ERR(sai->bus_clk); @@ -1051,9 +1054,9 @@ for (i = 1; i < FSL_SAI_MCLK_MAX; i++) { sprintf(tmp, "mclk%d", i); - sai->mclk_clk[i] = devm_clk_get(&pdev->dev, tmp); + sai->mclk_clk[i] = devm_clk_get(dev, tmp); if (IS_ERR(sai->mclk_clk[i])) { - dev_err(&pdev->dev, "failed to get mclk%d clock: %ld\n", + dev_err(dev, "failed to get mclk%d clock: %ld\n", i + 1, PTR_ERR(sai->mclk_clk[i])); sai->mclk_clk[i] = NULL; } @@ -1068,10 +1071,10 @@ if (irq < 0) return irq; - ret = devm_request_irq(&pdev->dev, irq, fsl_sai_isr, IRQF_SHARED, + ret = devm_request_irq(dev, irq, fsl_sai_isr, IRQF_SHARED, np->name, sai); if (ret) { - dev_err(&pdev->dev, "failed to claim irq %u\n", irq); + dev_err(dev, "failed to claim irq %u\n", irq); return ret; } @@ -1088,7 +1091,7 @@ if (of_find_property(np, "fsl,sai-synchronous-rx", NULL) && of_find_property(np, "fsl,sai-asynchronous", NULL)) { /* error out if both synchronous and asynchronous are present */ - dev_err(&pdev->dev, "invalid binding for synchronous mode\n"); + dev_err(dev, "invalid binding for synchronous mode\n"); return -EINVAL; } @@ -1109,7 +1112,7 @@ of_device_is_compatible(np, "fsl,imx6ul-sai")) { gpr = syscon_regmap_lookup_by_compatible("fsl,imx6ul-iomuxc-gpr"); if (IS_ERR(gpr)) { - dev_err(&pdev->dev, "cannot find iomuxc registers\n"); + dev_err(dev, "cannot find iomuxc registers\n"); return PTR_ERR(gpr); } @@ -1127,23 +1130,23 @@ sai->dma_params_tx.maxburst = FSL_SAI_MAXBURST_TX; platform_set_drvdata(pdev, sai); - pm_runtime_enable(&pdev->dev); - if (!pm_runtime_enabled(&pdev->dev)) { - ret = fsl_sai_runtime_resume(&pdev->dev); + pm_runtime_enable(dev); + if (!pm_runtime_enabled(dev)) { + ret = fsl_sai_runtime_resume(dev); if (ret) goto err_pm_disable; } - ret = pm_runtime_get_sync(&pdev->dev); + ret = pm_runtime_get_sync(dev); if (ret < 0) { - pm_runtime_put_noidle(&pdev->dev); + pm_runtime_put_noidle(dev); goto err_pm_get_sync; } /* Get sai version */ - ret = fsl_sai_check_version(&pdev->dev); + ret = fsl_sai_check_version(dev); if (ret < 0) - dev_warn(&pdev->dev, "Error reading SAI version: %d\n", ret); + dev_warn(dev, "Error reading SAI version: %d\n", ret); /* Select MCLK direction */ if (of_find_property(np, "fsl,sai-mclk-direction-output", NULL) && @@ -1152,8 +1155,8 @@ FSL_SAI_MCTL_MCLK_EN, FSL_SAI_MCTL_MCLK_EN); } - ret = pm_runtime_put_sync(&pdev->dev); - if (ret < 0) + ret = pm_runtime_put_sync(dev); + if (ret < 0 && ret != -ENOSYS) goto err_pm_get_sync; /* @@ -1165,12 +1168,12 @@ if (ret) goto err_pm_get_sync; } else { - ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); + ret = devm_snd_dmaengine_pcm_register(dev, NULL, 0); if (ret) goto err_pm_get_sync; } - ret = devm_snd_soc_register_component(&pdev->dev, &fsl_component, + ret = devm_snd_soc_register_component(dev, &fsl_component, &sai->cpu_dai_drv, 1); if (ret) goto err_pm_get_sync; @@ -1178,10 +1181,10 @@ return ret; err_pm_get_sync: - if (!pm_runtime_status_suspended(&pdev->dev)) - fsl_sai_runtime_suspend(&pdev->dev); + if (!pm_runtime_status_suspended(dev)) + fsl_sai_runtime_suspend(dev); err_pm_disable: - pm_runtime_disable(&pdev->dev); + pm_runtime_disable(dev); return ret; } --- linux-gcp-5.19.0.orig/sound/soc/fsl/fsl_ssi.c +++ linux-gcp-5.19.0/sound/soc/fsl/fsl_ssi.c @@ -1188,14 +1188,14 @@ .symmetric_channels = 1, .probe = fsl_ssi_dai_probe, .playback = { - .stream_name = "AC97 Playback", + .stream_name = "CPU AC97 Playback", .channels_min = 2, .channels_max = 2, .rates = SNDRV_PCM_RATE_8000_48000, .formats = SNDRV_PCM_FMTBIT_S16 | SNDRV_PCM_FMTBIT_S20, }, .capture = { - .stream_name = "AC97 Capture", + .stream_name = "CPU AC97 Capture", .channels_min = 2, .channels_max = 2, .rates = SNDRV_PCM_RATE_48000, --- linux-gcp-5.19.0.orig/sound/soc/fsl/imx-audmux.c +++ linux-gcp-5.19.0/sound/soc/fsl/imx-audmux.c @@ -298,7 +298,7 @@ audmux_clk = NULL; } - audmux_type = (enum imx_audmux_type)of_device_get_match_data(&pdev->dev); + audmux_type = (uintptr_t)of_device_get_match_data(&pdev->dev); switch (audmux_type) { case IMX31_AUDMUX: --- linux-gcp-5.19.0.orig/sound/soc/fsl/imx-card.c +++ linux-gcp-5.19.0/sound/soc/fsl/imx-card.c @@ -17,6 +17,9 @@ #include "fsl_sai.h" +#define IMX_CARD_MCLK_22P5792MHZ 22579200 +#define IMX_CARD_MCLK_24P576MHZ 24576000 + enum codec_type { CODEC_DUMMY = 0, CODEC_AK5558 = 1, @@ -115,7 +118,7 @@ struct snd_soc_card card; int num_dapm_routes; u32 asrc_rate; - u32 asrc_format; + snd_pcm_format_t asrc_format; }; static struct imx_akcodec_fs_mul ak4458_fs_mul[] = { @@ -353,9 +356,14 @@ mclk_freq = akcodec_get_mclk_rate(substream, params, slots, slot_width); else mclk_freq = params_rate(params) * slots * slot_width; - /* Use the maximum freq from DSD512 (512*44100 = 22579200) */ - if (format_is_dsd(params)) - mclk_freq = 22579200; + + if (format_is_dsd(params)) { + /* Use the maximum freq from DSD512 (512*44100 = 22579200) */ + if (!(params_rate(params) % 11025)) + mclk_freq = IMX_CARD_MCLK_22P5792MHZ; + else + mclk_freq = IMX_CARD_MCLK_24P576MHZ; + } ret = snd_soc_dai_set_sysclk(cpu_dai, link_data->cpu_sysclk_id, mclk_freq, SND_SOC_CLOCK_OUT); @@ -466,7 +474,7 @@ mask = hw_param_mask(params, SNDRV_PCM_HW_PARAM_FORMAT); snd_mask_none(mask); - snd_mask_set(mask, data->asrc_format); + snd_mask_set(mask, (__force unsigned int)data->asrc_format); return 0; } @@ -485,6 +493,7 @@ struct dai_link_data *link_data; struct of_phandle_args args; int ret, num_links; + u32 asrc_fmt = 0; u32 width; ret = snd_soc_of_parse_card_name(card, "model"); @@ -631,7 +640,8 @@ goto err; } - ret = of_property_read_u32(args.np, "fsl,asrc-format", &data->asrc_format); + ret = of_property_read_u32(args.np, "fsl,asrc-format", &asrc_fmt); + data->asrc_format = (__force snd_pcm_format_t)asrc_fmt; if (ret) { /* Fallback to old binding; translate to asrc_format */ ret = of_property_read_u32(args.np, "fsl,asrc-width", &width); @@ -688,6 +698,10 @@ of_node_put(cpu); of_node_put(codec); of_node_put(platform); + + cpu = NULL; + codec = NULL; + platform = NULL; } return 0; --- linux-gcp-5.19.0.orig/sound/soc/generic/audio-graph-card.c +++ linux-gcp-5.19.0/sound/soc/generic/audio-graph-card.c @@ -158,8 +158,10 @@ * if he unbinded CPU or Codec. */ ret = snd_soc_get_dai_name(&args, &dlc->dai_name); - if (ret < 0) + if (ret < 0) { + of_node_put(node); return ret; + } dlc->of_node = node; @@ -483,8 +485,10 @@ of_node_put(codec_ep); of_node_put(codec_port); - if (ret < 0) + if (ret < 0) { + of_node_put(cpu_ep); return ret; + } codec_port_old = codec_port; } --- linux-gcp-5.19.0.orig/sound/soc/generic/audio-graph-card2.c +++ linux-gcp-5.19.0/sound/soc/generic/audio-graph-card2.c @@ -229,7 +229,8 @@ static enum graph_type __graph_get_type(struct device_node *lnk) { - struct device_node *np; + struct device_node *np, *parent_np; + enum graph_type ret; /* * target { @@ -240,19 +241,33 @@ * }; */ np = of_get_parent(lnk); - if (of_node_name_eq(np, "ports")) - np = of_get_parent(np); + if (of_node_name_eq(np, "ports")) { + parent_np = of_get_parent(np); + of_node_put(np); + np = parent_np; + } + + if (of_node_name_eq(np, GRAPH_NODENAME_MULTI)) { + ret = GRAPH_MULTI; + goto out_put; + } + + if (of_node_name_eq(np, GRAPH_NODENAME_DPCM)) { + ret = GRAPH_DPCM; + goto out_put; + } - if (of_node_name_eq(np, GRAPH_NODENAME_MULTI)) - return GRAPH_MULTI; + if (of_node_name_eq(np, GRAPH_NODENAME_C2C)) { + ret = GRAPH_C2C; + goto out_put; + } - if (of_node_name_eq(np, GRAPH_NODENAME_DPCM)) - return GRAPH_DPCM; + ret = GRAPH_NORMAL; - if (of_node_name_eq(np, GRAPH_NODENAME_C2C)) - return GRAPH_C2C; +out_put: + of_node_put(np); + return ret; - return GRAPH_NORMAL; } static enum graph_type graph_get_type(struct asoc_simple_priv *priv, @@ -430,8 +445,10 @@ * if he unbinded CPU or Codec. */ ret = snd_soc_get_dai_name(&args, &dlc->dai_name); - if (ret < 0) + if (ret < 0) { + of_node_put(node); return ret; + } dlc->of_node = node; @@ -856,7 +873,7 @@ struct device_node *port0, *port1, *ports; struct device_node *codec0_port, *codec1_port; struct device_node *ep0, *ep1; - u32 val; + u32 val = 0; int ret = -EINVAL; /* @@ -880,7 +897,8 @@ ports = of_get_parent(port0); port1 = of_get_next_child(ports, lnk); - if (!of_get_property(ports, "rate", &val)) { + of_property_read_u32(ports, "rate", &val); + if (!val) { struct device *dev = simple_priv_to_dev(priv); dev_err(dev, "Codec2Codec needs rate settings\n"); --- linux-gcp-5.19.0.orig/sound/soc/intel/atom/sst-mfld-platform-pcm.c +++ linux-gcp-5.19.0/sound/soc/intel/atom/sst-mfld-platform-pcm.c @@ -676,10 +676,9 @@ if (dai->driver->playback.channels_min || dai->driver->capture.channels_min) { - snd_pcm_set_managed_buffer_all(pcm, - SNDRV_DMA_TYPE_CONTINUOUS, - snd_dma_continuous_data(GFP_DMA), - SST_MIN_BUFFER, SST_MAX_BUFFER); + snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV, + pcm->card->dev, + SST_MIN_BUFFER, SST_MAX_BUFFER); } return 0; } --- linux-gcp-5.19.0.orig/sound/soc/intel/avs/core.c +++ linux-gcp-5.19.0/sound/soc/intel/avs/core.c @@ -445,6 +445,7 @@ dma_set_mask(dev, DMA_BIT_MASK(32)); dma_set_coherent_mask(dev, DMA_BIT_MASK(32)); } + dma_set_max_seg_size(dev, UINT_MAX); ret = avs_hdac_bus_init_streams(bus); if (ret < 0) { @@ -478,6 +479,29 @@ return ret; } +static void avs_pci_shutdown(struct pci_dev *pci) +{ + struct hdac_bus *bus = pci_get_drvdata(pci); + struct avs_dev *adev = hdac_to_avs(bus); + + cancel_work_sync(&adev->probe_work); + avs_ipc_block(adev->ipc); + + snd_hdac_stop_streams(bus); + avs_dsp_op(adev, int_control, false); + snd_hdac_ext_bus_ppcap_int_enable(bus, false); + snd_hdac_ext_bus_link_power_down_all(bus); + + snd_hdac_bus_stop_chip(bus); + snd_hdac_display_power(bus, HDA_CODEC_IDX_CONTROLLER, false); + + if (avs_platattr_test(adev, CLDMA)) + pci_free_irq(pci, 0, &code_loader); + pci_free_irq(pci, 0, adev); + pci_free_irq(pci, 0, bus); + pci_free_irq_vectors(pci); +} + static void avs_pci_remove(struct pci_dev *pci) { struct hdac_device *hdev, *save; @@ -680,6 +704,7 @@ .id_table = avs_ids, .probe = avs_pci_probe, .remove = avs_pci_remove, + .shutdown = avs_pci_shutdown, .driver = { .pm = &avs_dev_pm, }, --- linux-gcp-5.19.0.orig/sound/soc/intel/avs/ipc.c +++ linux-gcp-5.19.0/sound/soc/intel/avs/ipc.c @@ -123,7 +123,10 @@ if (!substream || !substream->runtime) continue; + /* No need for _irq() as we are in nonatomic context. */ + snd_pcm_stream_lock(substream); snd_pcm_stop(substream, SNDRV_PCM_STATE_DISCONNECTED); + snd_pcm_stream_unlock(substream); } } } @@ -192,7 +195,8 @@ /* update size in case of LARGE_CONFIG_GET */ if (msg.msg_target == AVS_MOD_MSG && msg.global_msg_type == AVS_MOD_LARGE_CONFIG_GET) - ipc->rx.size = msg.ext.large_config.data_off_size; + ipc->rx.size = min_t(u32, AVS_MAILBOX_SIZE, + msg.ext.large_config.data_off_size); memcpy_fromio(ipc->rx.data, avs_uplink_addr(adev), ipc->rx.size); trace_avs_msg_payload(ipc->rx.data, ipc->rx.size); --- linux-gcp-5.19.0.orig/sound/soc/intel/avs/path.c +++ linux-gcp-5.19.0/sound/soc/intel/avs/path.c @@ -449,35 +449,39 @@ return ret; } +static int avs_probe_create(struct avs_dev *adev, struct avs_path_module *mod) +{ + dev_err(adev->dev, "Probe module can't be instantiated by topology"); + return -EINVAL; +} + +struct avs_module_create { + guid_t *guid; + int (*create)(struct avs_dev *adev, struct avs_path_module *mod); +}; + +static struct avs_module_create avs_module_create[] = { + { &AVS_MIXIN_MOD_UUID, avs_modbase_create }, + { &AVS_MIXOUT_MOD_UUID, avs_modbase_create }, + { &AVS_KPBUFF_MOD_UUID, avs_modbase_create }, + { &AVS_COPIER_MOD_UUID, avs_copier_create }, + { &AVS_MICSEL_MOD_UUID, avs_micsel_create }, + { &AVS_MUX_MOD_UUID, avs_mux_create }, + { &AVS_UPDWMIX_MOD_UUID, avs_updown_mix_create }, + { &AVS_SRCINTC_MOD_UUID, avs_src_create }, + { &AVS_AEC_MOD_UUID, avs_aec_create }, + { &AVS_ASRC_MOD_UUID, avs_asrc_create }, + { &AVS_INTELWOV_MOD_UUID, avs_wov_create }, + { &AVS_PROBE_MOD_UUID, avs_probe_create }, +}; + static int avs_path_module_type_create(struct avs_dev *adev, struct avs_path_module *mod) { const guid_t *type = &mod->template->cfg_ext->type; - if (guid_equal(type, &AVS_MIXIN_MOD_UUID) || - guid_equal(type, &AVS_MIXOUT_MOD_UUID) || - guid_equal(type, &AVS_KPBUFF_MOD_UUID)) - return avs_modbase_create(adev, mod); - if (guid_equal(type, &AVS_COPIER_MOD_UUID)) - return avs_copier_create(adev, mod); - if (guid_equal(type, &AVS_MICSEL_MOD_UUID)) - return avs_micsel_create(adev, mod); - if (guid_equal(type, &AVS_MUX_MOD_UUID)) - return avs_mux_create(adev, mod); - if (guid_equal(type, &AVS_UPDWMIX_MOD_UUID)) - return avs_updown_mix_create(adev, mod); - if (guid_equal(type, &AVS_SRCINTC_MOD_UUID)) - return avs_src_create(adev, mod); - if (guid_equal(type, &AVS_AEC_MOD_UUID)) - return avs_aec_create(adev, mod); - if (guid_equal(type, &AVS_ASRC_MOD_UUID)) - return avs_asrc_create(adev, mod); - if (guid_equal(type, &AVS_INTELWOV_MOD_UUID)) - return avs_wov_create(adev, mod); - - if (guid_equal(type, &AVS_PROBE_MOD_UUID)) { - dev_err(adev->dev, "Probe module can't be instantiated by topology"); - return -EINVAL; - } + for (int i = 0; i < ARRAY_SIZE(avs_module_create); i++) + if (guid_equal(type, avs_module_create[i].guid)) + return avs_module_create[i].create(adev, mod); return avs_modext_create(adev, mod); } --- linux-gcp-5.19.0.orig/sound/soc/intel/avs/pcm.c +++ linux-gcp-5.19.0/sound/soc/intel/avs/pcm.c @@ -636,8 +636,8 @@ char buf[64]; size_t len; - len = snprintf(buf, sizeof(buf), "%s/%s\n", component->driver->topology_name_prefix, - mach->tplg_filename); + len = scnprintf(buf, sizeof(buf), "%s/%s\n", component->driver->topology_name_prefix, + mach->tplg_filename); return simple_read_from_buffer(user_buf, count, ppos, buf, len); } --- linux-gcp-5.19.0.orig/sound/soc/intel/boards/Kconfig +++ linux-gcp-5.19.0/sound/soc/intel/boards/Kconfig @@ -558,6 +558,7 @@ select SND_SOC_HDAC_HDMI select SND_SOC_INTEL_HDA_DSP_COMMON select SND_SOC_INTEL_SOF_MAXIM_COMMON + select SND_SOC_INTEL_SOF_REALTEK_COMMON help This adds support for ASoC machine driver for SOF platforms with nau8825 codec. --- linux-gcp-5.19.0.orig/sound/soc/intel/boards/bytcht_es8316.c +++ linux-gcp-5.19.0/sound/soc/intel/boards/bytcht_es8316.c @@ -443,6 +443,13 @@ | BYT_CHT_ES8316_INTMIC_IN2_MAP | BYT_CHT_ES8316_JD_INVERTED), }, + { /* Nanote UMPC-01 */ + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "RWC CO.,LTD"), + DMI_MATCH(DMI_PRODUCT_NAME, "UMPC-01"), + }, + .driver_data = (void *)BYT_CHT_ES8316_INTMIC_IN1_MAP, + }, { /* Teclast X98 Plus II */ .matches = { DMI_MATCH(DMI_SYS_VENDOR, "TECLAST"), @@ -490,21 +497,28 @@ if (adev) { snprintf(codec_name, sizeof(codec_name), "i2c-%s", acpi_dev_name(adev)); - put_device(&adev->dev); byt_cht_es8316_dais[dai_index].codecs->name = codec_name; } else { dev_err(dev, "Error cannot find '%s' dev\n", mach->id); return -ENXIO; } + codec_dev = acpi_get_first_physical_node(adev); + acpi_dev_put(adev); + if (!codec_dev) + return -EPROBE_DEFER; + priv->codec_dev = get_device(codec_dev); + /* override platform name, if required */ byt_cht_es8316_card.dev = dev; platform_name = mach->mach_params.platform; ret = snd_soc_fixup_dai_links_platform_name(&byt_cht_es8316_card, platform_name); - if (ret) + if (ret) { + put_device(codec_dev); return ret; + } /* Check for BYTCR or other platform and setup quirks */ dmi_id = dmi_first_match(byt_cht_es8316_quirk_table); @@ -532,13 +546,10 @@ /* get the clock */ priv->mclk = devm_clk_get(dev, "pmc_plt_clk_3"); - if (IS_ERR(priv->mclk)) + if (IS_ERR(priv->mclk)) { + put_device(codec_dev); return dev_err_probe(dev, PTR_ERR(priv->mclk), "clk_get pmc_plt_clk_3 failed\n"); - - codec_dev = acpi_get_first_physical_node(adev); - if (!codec_dev) - return -EPROBE_DEFER; - priv->codec_dev = get_device(codec_dev); + } if (quirk & BYT_CHT_ES8316_JD_INVERTED) props[cnt++] = PROPERTY_ENTRY_BOOL("everest,jack-detect-inverted"); --- linux-gcp-5.19.0.orig/sound/soc/intel/boards/bytcr_rt5640.c +++ linux-gcp-5.19.0/sound/soc/intel/boards/bytcr_rt5640.c @@ -571,6 +571,21 @@ BYT_RT5640_MCLK_EN), }, { + /* Advantech MICA-071 */ + .matches = { + DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Advantech"), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "MICA-071"), + }, + /* OVCD Th = 1500uA to reliable detect head-phones vs -set */ + .driver_data = (void *)(BYT_RT5640_IN3_MAP | + BYT_RT5640_JD_SRC_JD2_IN4N | + BYT_RT5640_OVCD_TH_1500UA | + BYT_RT5640_OVCD_SF_0P75 | + BYT_RT5640_MONO_SPEAKER | + BYT_RT5640_DIFF_MIC | + BYT_RT5640_MCLK_EN), + }, + { .matches = { DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ARCHOS"), DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "ARCHOS 80 Cesium"), @@ -1611,13 +1626,18 @@ if (adev) { snprintf(byt_rt5640_codec_name, sizeof(byt_rt5640_codec_name), "i2c-%s", acpi_dev_name(adev)); - put_device(&adev->dev); byt_rt5640_dais[dai_index].codecs->name = byt_rt5640_codec_name; } else { dev_err(dev, "Error cannot find '%s' dev\n", mach->id); return -ENXIO; } + codec_dev = acpi_get_first_physical_node(adev); + acpi_dev_put(adev); + if (!codec_dev) + return -EPROBE_DEFER; + priv->codec_dev = get_device(codec_dev); + /* * swap SSP0 if bytcr is detected * (will be overridden if DMI quirk is detected) @@ -1692,11 +1712,6 @@ byt_rt5640_quirk = quirk_override; } - codec_dev = acpi_get_first_physical_node(adev); - if (!codec_dev) - return -EPROBE_DEFER; - priv->codec_dev = get_device(codec_dev); - if (byt_rt5640_quirk & BYT_RT5640_JD_HP_ELITEP_1000G2) { acpi_dev_add_driver_gpios(ACPI_COMPANION(priv->codec_dev), byt_rt5640_hp_elitepad_1000g2_gpios); --- linux-gcp-5.19.0.orig/sound/soc/intel/boards/bytcr_rt5651.c +++ linux-gcp-5.19.0/sound/soc/intel/boards/bytcr_rt5651.c @@ -922,7 +922,6 @@ if (adev) { snprintf(byt_rt5651_codec_name, sizeof(byt_rt5651_codec_name), "i2c-%s", acpi_dev_name(adev)); - put_device(&adev->dev); byt_rt5651_dais[dai_index].codecs->name = byt_rt5651_codec_name; } else { dev_err(dev, "Error cannot find '%s' dev\n", mach->id); @@ -930,6 +929,7 @@ } codec_dev = acpi_get_first_physical_node(adev); + acpi_dev_put(adev); if (!codec_dev) return -EPROBE_DEFER; priv->codec_dev = get_device(codec_dev); --- linux-gcp-5.19.0.orig/sound/soc/intel/boards/bytcr_wm5102.c +++ linux-gcp-5.19.0/sound/soc/intel/boards/bytcr_wm5102.c @@ -411,9 +411,9 @@ return -ENOENT; } snprintf(codec_name, sizeof(codec_name), "spi-%s", acpi_dev_name(adev)); - put_device(&adev->dev); codec_dev = bus_find_device_by_name(&spi_bus_type, NULL, codec_name); + acpi_dev_put(adev); if (!codec_dev) return -EPROBE_DEFER; --- linux-gcp-5.19.0.orig/sound/soc/intel/boards/sof_cs42l42.c +++ linux-gcp-5.19.0/sound/soc/intel/boards/sof_cs42l42.c @@ -310,6 +310,9 @@ links[*id].platforms = platform_component; links[*id].num_platforms = ARRAY_SIZE(platform_component); links[*id].dpcm_playback = 1; + /* firmware-generated echo reference */ + links[*id].dpcm_capture = 1; + links[*id].no_pcm = 1; links[*id].cpus = &cpus[*id]; links[*id].num_cpus = 1; --- linux-gcp-5.19.0.orig/sound/soc/intel/boards/sof_es8336.c +++ linux-gcp-5.19.0/sound/soc/intel/boards/sof_es8336.c @@ -45,6 +45,7 @@ struct snd_soc_jack jack; struct list_head hdmi_pcm_list; bool speaker_en; + struct delayed_work pcm_pop_work; }; struct sof_hdmi_pcm { @@ -57,28 +58,26 @@ static const struct acpi_gpio_params enable_gpio1 = { 1, 0, true }; static const struct acpi_gpio_mapping acpi_speakers_enable_gpio0[] = { - { "speakers-enable-gpios", &enable_gpio0, 1 }, + { "speakers-enable-gpios", &enable_gpio0, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO }, { } }; static const struct acpi_gpio_mapping acpi_speakers_enable_gpio1[] = { - { "speakers-enable-gpios", &enable_gpio1, 1 }, + { "speakers-enable-gpios", &enable_gpio1, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO }, }; static const struct acpi_gpio_mapping acpi_enable_both_gpios[] = { - { "speakers-enable-gpios", &enable_gpio0, 1 }, - { "headphone-enable-gpios", &enable_gpio1, 1 }, + { "speakers-enable-gpios", &enable_gpio0, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO }, + { "headphone-enable-gpios", &enable_gpio1, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO }, { } }; static const struct acpi_gpio_mapping acpi_enable_both_gpios_rev_order[] = { - { "speakers-enable-gpios", &enable_gpio1, 1 }, - { "headphone-enable-gpios", &enable_gpio0, 1 }, + { "speakers-enable-gpios", &enable_gpio1, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO }, + { "headphone-enable-gpios", &enable_gpio0, 1, ACPI_GPIO_QUIRK_ONLY_GPIOIO }, { } }; -static const struct acpi_gpio_mapping *gpio_mapping = acpi_speakers_enable_gpio0; - static void log_quirks(struct device *dev) { dev_info(dev, "quirk mask %#lx\n", quirk); @@ -95,6 +94,46 @@ dev_info(dev, "quirk headset at mic1 port enabled\n"); } +static void pcm_pop_work_events(struct work_struct *work) +{ + struct sof_es8336_private *priv = + container_of(work, struct sof_es8336_private, pcm_pop_work.work); + + gpiod_set_value_cansleep(priv->gpio_speakers, priv->speaker_en); + + if (quirk & SOF_ES8336_HEADPHONE_GPIO) + gpiod_set_value_cansleep(priv->gpio_headphone, priv->speaker_en); + +} + +static int sof_8336_trigger(struct snd_pcm_substream *substream, int cmd) +{ + struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream); + struct snd_soc_card *card = rtd->card; + struct sof_es8336_private *priv = snd_soc_card_get_drvdata(card); + + switch (cmd) { + case SNDRV_PCM_TRIGGER_START: + case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: + case SNDRV_PCM_TRIGGER_RESUME: + break; + + case SNDRV_PCM_TRIGGER_PAUSE_PUSH: + case SNDRV_PCM_TRIGGER_SUSPEND: + case SNDRV_PCM_TRIGGER_STOP: + if (priv->speaker_en == false) + if (substream->stream == 0) { + cancel_delayed_work(&priv->pcm_pop_work); + gpiod_set_value_cansleep(priv->gpio_speakers, true); + } + break; + default: + return -EINVAL; + } + + return 0; +} + static int sof_es8316_speaker_power_event(struct snd_soc_dapm_widget *w, struct snd_kcontrol *kcontrol, int event) { @@ -106,19 +145,7 @@ priv->speaker_en = !SND_SOC_DAPM_EVENT_ON(event); - if (SND_SOC_DAPM_EVENT_ON(event)) - msleep(70); - - gpiod_set_value_cansleep(priv->gpio_speakers, priv->speaker_en); - - if (!(quirk & SOF_ES8336_HEADPHONE_GPIO)) - return 0; - - if (SND_SOC_DAPM_EVENT_ON(event)) - msleep(70); - - gpiod_set_value_cansleep(priv->gpio_headphone, priv->speaker_en); - + queue_delayed_work(system_wq, &priv->pcm_pop_work, msecs_to_jiffies(70)); return 0; } @@ -272,15 +299,6 @@ { quirk = (unsigned long)id->driver_data; - if (quirk & SOF_ES8336_HEADPHONE_GPIO) { - if (quirk & SOF_ES8336_SPEAKERS_EN_GPIO1_QUIRK) - gpio_mapping = acpi_enable_both_gpios; - else - gpio_mapping = acpi_enable_both_gpios_rev_order; - } else if (quirk & SOF_ES8336_SPEAKERS_EN_GPIO1_QUIRK) { - gpio_mapping = acpi_speakers_enable_gpio1; - } - return 1; } @@ -337,6 +355,7 @@ /* machine stream operations */ static struct snd_soc_ops sof_es8336_ops = { .hw_params = sof_es8336_hw_params, + .trigger = sof_8336_trigger, }; static struct snd_soc_dai_link_component platform_component[] = { @@ -529,6 +548,7 @@ struct acpi_device *adev; struct snd_soc_dai_link *dai_links; struct device *codec_dev; + const struct acpi_gpio_mapping *gpio_mapping; unsigned int cnt = 0; int dmic_be_num = 0; int hdmi_num = 3; @@ -593,7 +613,6 @@ if (adev) { snprintf(codec_name, sizeof(codec_name), "i2c-%s", acpi_dev_name(adev)); - put_device(&adev->dev); dai_links[0].codecs->name = codec_name; /* also fixup codec dai name if relevant */ @@ -604,16 +623,19 @@ return -ENXIO; } - ret = snd_soc_fixup_dai_links_platform_name(&sof_es8336_card, - mach->mach_params.platform); - if (ret) - return ret; - codec_dev = acpi_get_first_physical_node(adev); + acpi_dev_put(adev); if (!codec_dev) return -EPROBE_DEFER; priv->codec_dev = get_device(codec_dev); + ret = snd_soc_fixup_dai_links_platform_name(&sof_es8336_card, + mach->mach_params.platform); + if (ret) { + put_device(codec_dev); + return ret; + } + if (quirk & SOF_ES8336_JD_INVERTED) props[cnt++] = PROPERTY_ENTRY_BOOL("everest,jack-detect-inverted"); @@ -635,6 +657,17 @@ } /* get speaker enable GPIO */ + if (quirk & SOF_ES8336_HEADPHONE_GPIO) { + if (quirk & SOF_ES8336_SPEAKERS_EN_GPIO1_QUIRK) + gpio_mapping = acpi_enable_both_gpios; + else + gpio_mapping = acpi_enable_both_gpios_rev_order; + } else if (quirk & SOF_ES8336_SPEAKERS_EN_GPIO1_QUIRK) { + gpio_mapping = acpi_speakers_enable_gpio1; + } else { + gpio_mapping = acpi_speakers_enable_gpio0; + } + ret = devm_acpi_dev_add_driver_gpios(codec_dev, gpio_mapping); if (ret) dev_warn(codec_dev, "unable to add GPIO mapping table\n"); @@ -654,7 +687,8 @@ } INIT_LIST_HEAD(&priv->hdmi_pcm_list); - + INIT_DELAYED_WORK(&priv->pcm_pop_work, + pcm_pop_work_events); snd_soc_card_set_drvdata(card, priv); if (mach->mach_params.dmic_num > 0) { @@ -683,6 +717,7 @@ struct snd_soc_card *card = platform_get_drvdata(pdev); struct sof_es8336_private *priv = snd_soc_card_get_drvdata(card); + cancel_delayed_work_sync(&priv->pcm_pop_work); gpiod_put(priv->gpio_speakers); device_remove_software_node(priv->codec_dev); put_device(priv->codec_dev); --- linux-gcp-5.19.0.orig/sound/soc/intel/boards/sof_nau8825.c +++ linux-gcp-5.19.0/sound/soc/intel/boards/sof_nau8825.c @@ -177,11 +177,6 @@ struct sof_hdmi_pcm *pcm; int err; - if (list_empty(&ctx->hdmi_pcm_list)) - return -EINVAL; - - pcm = list_first_entry(&ctx->hdmi_pcm_list, struct sof_hdmi_pcm, head); - if (sof_nau8825_quirk & SOF_MAX98373_SPEAKER_AMP_PRESENT) { /* Disable Left and Right Spk pin after boot */ snd_soc_dapm_disable_pin(dapm, "Left Spk"); @@ -191,6 +186,11 @@ return err; } + if (list_empty(&ctx->hdmi_pcm_list)) + return -EINVAL; + + pcm = list_first_entry(&ctx->hdmi_pcm_list, struct sof_hdmi_pcm, head); + return hda_dsp_hdmi_build_controls(card, pcm->codec_dai->component); } --- linux-gcp-5.19.0.orig/sound/soc/intel/boards/sof_rt5682.c +++ linux-gcp-5.19.0/sound/soc/intel/boards/sof_rt5682.c @@ -225,6 +225,18 @@ SOF_RT5682_SSP_AMP(2) | SOF_RT5682_NUM_HDMIDEV(4)), }, + { + .callback = sof_rt5682_quirk_cb, + .matches = { + DMI_MATCH(DMI_PRODUCT_FAMILY, "Google_Rex"), + }, + .driver_data = (void *)(SOF_RT5682_MCLK_EN | + SOF_RT5682_SSP_CODEC(2) | + SOF_SPEAKER_AMP_PRESENT | + SOF_RT5682_SSP_AMP(0) | + SOF_RT5682_NUM_HDMIDEV(4) + ), + }, {} }; @@ -434,6 +446,15 @@ struct sof_hdmi_pcm *pcm; int err; + if (sof_rt5682_quirk & SOF_MAX98373_SPEAKER_AMP_PRESENT) { + /* Disable Left and Right Spk pin after boot */ + snd_soc_dapm_disable_pin(dapm, "Left Spk"); + snd_soc_dapm_disable_pin(dapm, "Right Spk"); + err = snd_soc_dapm_sync(dapm); + if (err < 0) + return err; + } + /* HDMI is not supported by SOF on Baytrail/CherryTrail */ if (is_legacy_cpu || !ctx->idisp_codec) return 0; @@ -464,15 +485,6 @@ return err; } - if (sof_rt5682_quirk & SOF_MAX98373_SPEAKER_AMP_PRESENT) { - /* Disable Left and Right Spk pin after boot */ - snd_soc_dapm_disable_pin(dapm, "Left Spk"); - snd_soc_dapm_disable_pin(dapm, "Right Spk"); - err = snd_soc_dapm_sync(dapm); - if (err < 0) - return err; - } - return hdac_hdmi_jack_port_init(component, &card->dapm); } @@ -738,8 +750,6 @@ links[id].num_codecs = ARRAY_SIZE(max_98373_components); links[id].init = max_98373_spk_codec_init; links[id].ops = &max_98373_ops; - /* feedback stream */ - links[id].dpcm_capture = 1; } else if (sof_rt5682_quirk & SOF_MAX98360A_SPEAKER_AMP_PRESENT) { max_98360a_dai_link(&links[id]); @@ -766,6 +776,9 @@ links[id].platforms = platform_component; links[id].num_platforms = ARRAY_SIZE(platform_component); links[id].dpcm_playback = 1; + /* feedback stream or firmware-generated echo reference */ + links[id].dpcm_capture = 1; + links[id].no_pcm = 1; links[id].cpus = &cpus[id]; links[id].num_cpus = 1; --- linux-gcp-5.19.0.orig/sound/soc/intel/boards/sof_sdw.c +++ linux-gcp-5.19.0/sound/soc/intel/boards/sof_sdw.c @@ -202,6 +202,17 @@ SOF_SDW_PCH_DMIC | RT711_JD1), }, + { + /* NUC15 LAPBC710 skews */ + .callback = sof_sdw_quirk_cb, + .matches = { + DMI_MATCH(DMI_BOARD_VENDOR, "Intel Corporation"), + DMI_MATCH(DMI_BOARD_NAME, "LAPBC710"), + }, + .driver_data = (void *)(SOF_SDW_TGL_HDMI | + SOF_SDW_PCH_DMIC | + RT711_JD1), + }, /* TigerLake-SDCA devices */ { .callback = sof_sdw_quirk_cb, @@ -294,6 +305,45 @@ }, .driver_data = (void *)(SOF_SDW_TGL_HDMI | RT711_JD2 | + SOF_SDW_FOUR_SPK), + }, + { + .callback = sof_sdw_quirk_cb, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"), + DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B12") + }, + .driver_data = (void *)(SOF_SDW_TGL_HDMI | + RT711_JD2 | + SOF_SDW_FOUR_SPK), + }, + { + .callback = sof_sdw_quirk_cb, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"), + DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B13"), + }, + /* No Jack */ + .driver_data = (void *)SOF_SDW_TGL_HDMI, + }, + { + .callback = sof_sdw_quirk_cb, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"), + DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B29"), + }, + .driver_data = (void *)(SOF_SDW_TGL_HDMI | + RT711_JD2 | + SOF_SDW_FOUR_SPK), + }, + { + .callback = sof_sdw_quirk_cb, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc"), + DMI_EXACT_MATCH(DMI_PRODUCT_SKU, "0B11") + }, + .driver_data = (void *)(SOF_SDW_TGL_HDMI | + RT711_JD2 | SOF_SDW_FOUR_SPK), }, { --- linux-gcp-5.19.0.orig/sound/soc/intel/common/Makefile +++ linux-gcp-5.19.0/sound/soc/intel/common/Makefile @@ -9,6 +9,7 @@ soc-acpi-intel-cml-match.o soc-acpi-intel-icl-match.o \ soc-acpi-intel-tgl-match.o soc-acpi-intel-ehl-match.o \ soc-acpi-intel-jsl-match.o soc-acpi-intel-adl-match.o \ + soc-acpi-intel-rpl-match.o soc-acpi-intel-mtl-match.o \ soc-acpi-intel-hda-match.o \ soc-acpi-intel-sdw-mockup-match.o --- linux-gcp-5.19.0.orig/sound/soc/intel/common/soc-acpi-intel-icl-match.c +++ linux-gcp-5.19.0/sound/soc/intel/common/soc-acpi-intel-icl-match.c @@ -10,6 +10,11 @@ #include #include "../skylake/skl.h" +static const struct snd_soc_acpi_codecs essx_83x6 = { + .num_codecs = 3, + .codecs = { "ESSX8316", "ESSX8326", "ESSX8336"}, +}; + static struct skl_machine_pdata icl_pdata = { .use_tplg_pcm = true, }; @@ -27,6 +32,14 @@ .drv_name = "sof_rt5682", .sof_tplg_filename = "sof-icl-rt5682.tplg", }, + { + .comp_ids = &essx_83x6, + .drv_name = "sof-essx8336", + .sof_tplg_filename = "sof-icl-es8336", /* the tplg suffix is added at run time */ + .tplg_quirk_mask = SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER | + SND_SOC_ACPI_TPLG_INTEL_SSP_MSB | + SND_SOC_ACPI_TPLG_INTEL_DMIC_NUMBER, + }, {}, }; EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_icl_machines); --- linux-gcp-5.19.0.orig/sound/soc/intel/common/soc-acpi-intel-mtl-match.c +++ linux-gcp-5.19.0/sound/soc/intel/common/soc-acpi-intel-mtl-match.c @@ -0,0 +1,41 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * soc-acpi-intel-mtl-match.c - tables and support for MTL ACPI enumeration. + * + * Copyright (c) 2022, Intel Corporation. + * + */ + +#include +#include +#include "soc-acpi-intel-sdw-mockup-match.h" + +struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_machines[] = { + {}, +}; +EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_mtl_machines); + +/* this table is used when there is no I2S codec present */ +struct snd_soc_acpi_mach snd_soc_acpi_intel_mtl_sdw_machines[] = { + /* mockup tests need to be first */ + { + .link_mask = GENMASK(3, 0), + .links = sdw_mockup_headset_2amps_mic, + .drv_name = "sof_sdw", + .sof_tplg_filename = "sof-mtl-rt711-rt1308-rt715.tplg", + }, + { + .link_mask = BIT(0) | BIT(1) | BIT(3), + .links = sdw_mockup_headset_1amp_mic, + .drv_name = "sof_sdw", + .sof_tplg_filename = "sof-mtl-rt711-rt1308-mono-rt715.tplg", + }, + { + .link_mask = GENMASK(2, 0), + .links = sdw_mockup_mic_headset_1amp, + .drv_name = "sof_sdw", + .sof_tplg_filename = "sof-mtl-rt715-rt711-rt1308-mono.tplg", + }, + {}, +}; +EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_mtl_sdw_machines); --- linux-gcp-5.19.0.orig/sound/soc/intel/common/soc-acpi-intel-rpl-match.c +++ linux-gcp-5.19.0/sound/soc/intel/common/soc-acpi-intel-rpl-match.c @@ -0,0 +1,51 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * soc-apci-intel-rpl-match.c - tables and support for RPL ACPI enumeration. + * + * Copyright (c) 2022 Intel Corporation. + */ + +#include +#include + +static const struct snd_soc_acpi_endpoint single_endpoint = { + .num = 0, + .aggregated = 0, + .group_position = 0, + .group_id = 0, +}; + +static const struct snd_soc_acpi_adr_device rt711_0_adr[] = { + { + .adr = 0x000020025D071100ull, + .num_endpoints = 1, + .endpoints = &single_endpoint, + .name_prefix = "rt711" + } +}; + +static const struct snd_soc_acpi_link_adr rpl_rvp[] = { + { + .mask = BIT(0), + .num_adr = ARRAY_SIZE(rt711_0_adr), + .adr_d = rt711_0_adr, + }, + {} +}; + +struct snd_soc_acpi_mach snd_soc_acpi_intel_rpl_machines[] = { + {}, +}; +EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_rpl_machines); + +/* this table is used when there is no I2S codec present */ +struct snd_soc_acpi_mach snd_soc_acpi_intel_rpl_sdw_machines[] = { + { + .link_mask = 0x1, /* link0 required */ + .links = rpl_rvp, + .drv_name = "sof_sdw", + .sof_tplg_filename = "sof-rpl-rt711.tplg", + }, + {}, +}; +EXPORT_SYMBOL_GPL(snd_soc_acpi_intel_rpl_sdw_machines); --- linux-gcp-5.19.0.orig/sound/soc/intel/skylake/skl.c +++ linux-gcp-5.19.0/sound/soc/intel/skylake/skl.c @@ -1097,7 +1097,10 @@ if (!skl->init_done) return; - snd_hdac_stop_streams_and_chip(bus); + snd_hdac_stop_streams(bus); + snd_hdac_ext_bus_link_power_down_all(bus); + skl_dsp_sleep(skl->dsp); + list_for_each_entry(s, &bus->stream_list, list) { stream = stream_to_hdac_ext_stream(s); snd_hdac_ext_stream_decouple(bus, stream, false); --- linux-gcp-5.19.0.orig/sound/soc/jz4740/jz4740-i2s.c +++ linux-gcp-5.19.0/sound/soc/jz4740/jz4740-i2s.c @@ -56,7 +56,8 @@ #define JZ_AIC_CTRL_MONO_TO_STEREO BIT(11) #define JZ_AIC_CTRL_SWITCH_ENDIANNESS BIT(10) #define JZ_AIC_CTRL_SIGNED_TO_UNSIGNED BIT(9) -#define JZ_AIC_CTRL_FLUSH BIT(8) +#define JZ_AIC_CTRL_TFLUSH BIT(8) +#define JZ_AIC_CTRL_RFLUSH BIT(7) #define JZ_AIC_CTRL_ENABLE_ROR_INT BIT(6) #define JZ_AIC_CTRL_ENABLE_TUR_INT BIT(5) #define JZ_AIC_CTRL_ENABLE_RFS_INT BIT(4) @@ -91,6 +92,8 @@ struct i2s_soc_info { enum jz47xx_i2s_version version; struct snd_soc_dai_driver *dai; + + bool shared_fifo_flush; }; struct jz4740_i2s { @@ -119,19 +122,44 @@ writel(value, i2s->base + reg); } +static inline void jz4740_i2s_set_bits(const struct jz4740_i2s *i2s, + unsigned int reg, uint32_t bits) +{ + uint32_t value = jz4740_i2s_read(i2s, reg); + value |= bits; + jz4740_i2s_write(i2s, reg, value); +} + static int jz4740_i2s_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai); - uint32_t conf, ctrl; + uint32_t conf; int ret; + /* + * When we can flush FIFOs independently, only flush the FIFO + * that is starting up. We can do this when the DAI is active + * because it does not disturb other active substreams. + */ + if (!i2s->soc_info->shared_fifo_flush) { + if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) + jz4740_i2s_set_bits(i2s, JZ_REG_AIC_CTRL, JZ_AIC_CTRL_TFLUSH); + else + jz4740_i2s_set_bits(i2s, JZ_REG_AIC_CTRL, JZ_AIC_CTRL_RFLUSH); + } + if (snd_soc_dai_active(dai)) return 0; - ctrl = jz4740_i2s_read(i2s, JZ_REG_AIC_CTRL); - ctrl |= JZ_AIC_CTRL_FLUSH; - jz4740_i2s_write(i2s, JZ_REG_AIC_CTRL, ctrl); + /* + * When there is a shared flush bit for both FIFOs, the TFLUSH + * bit flushes both FIFOs. Flushing while the DAI is active would + * cause FIFO underruns in other active substreams so we have to + * guard this behind the snd_soc_dai_active() check. + */ + if (i2s->soc_info->shared_fifo_flush) + jz4740_i2s_set_bits(i2s, JZ_REG_AIC_CTRL, JZ_AIC_CTRL_TFLUSH); ret = clk_prepare_enable(i2s->clk_i2s); if (ret) @@ -462,6 +490,7 @@ static const struct i2s_soc_info jz4740_i2s_soc_info = { .version = JZ_I2S_JZ4740, .dai = &jz4740_i2s_dai, + .shared_fifo_flush = true, }; static const struct i2s_soc_info jz4760_i2s_soc_info = { --- linux-gcp-5.19.0.orig/sound/soc/kirkwood/kirkwood-dma.c +++ linux-gcp-5.19.0/sound/soc/kirkwood/kirkwood-dma.c @@ -86,7 +86,7 @@ /* try to find matching cs for current dma address */ for (i = 0; i < dram->num_cs; i++) { - const struct mbus_dram_window *cs = dram->cs + i; + const struct mbus_dram_window *cs = &dram->cs[i]; if ((cs->base & 0xffff0000) < (dma & 0xffff0000)) { writel(cs->base & 0xffff0000, base + KIRKWOOD_AUDIO_WIN_BASE_REG(win)); --- linux-gcp-5.19.0.orig/sound/soc/mediatek/common/mtk-btcvsd.c +++ linux-gcp-5.19.0/sound/soc/mediatek/common/mtk-btcvsd.c @@ -1038,11 +1038,9 @@ struct mtk_btcvsd_snd *bt = snd_soc_component_get_drvdata(component); if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) - mtk_btcvsd_snd_write(bt, buf, count); + return mtk_btcvsd_snd_write(bt, buf, count); else - mtk_btcvsd_snd_read(bt, buf, count); - - return 0; + return mtk_btcvsd_snd_read(bt, buf, count); } /* kcontrol */ --- linux-gcp-5.19.0.orig/sound/soc/mediatek/mt6797/mt6797-mt6351.c +++ linux-gcp-5.19.0/sound/soc/mediatek/mt6797/mt6797-mt6351.c @@ -217,7 +217,8 @@ if (!codec_node) { dev_err(&pdev->dev, "Property 'audio-codec' missing or invalid\n"); - return -EINVAL; + ret = -EINVAL; + goto put_platform_node; } for_each_card_prelinks(card, i, dai_link) { if (dai_link->codecs->name) @@ -230,6 +231,9 @@ dev_err(&pdev->dev, "%s snd_soc_register_card fail %d\n", __func__, ret); + of_node_put(codec_node); +put_platform_node: + of_node_put(platform_node); return ret; } --- linux-gcp-5.19.0.orig/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c +++ linux-gcp-5.19.0/sound/soc/mediatek/mt8173/mt8173-afe-pcm.c @@ -1072,16 +1072,6 @@ afe->dev = &pdev->dev; - irq_id = platform_get_irq(pdev, 0); - if (irq_id <= 0) - return irq_id < 0 ? irq_id : -ENXIO; - ret = devm_request_irq(afe->dev, irq_id, mt8173_afe_irq_handler, - 0, "Afe_ISR_Handle", (void *)afe); - if (ret) { - dev_err(afe->dev, "could not request_irq\n"); - return ret; - } - afe->base_addr = devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(afe->base_addr)) return PTR_ERR(afe->base_addr); @@ -1187,6 +1177,16 @@ if (ret) goto err_cleanup_components; + irq_id = platform_get_irq(pdev, 0); + if (irq_id <= 0) + return irq_id < 0 ? irq_id : -ENXIO; + ret = devm_request_irq(afe->dev, irq_id, mt8173_afe_irq_handler, + 0, "Afe_ISR_Handle", (void *)afe); + if (ret) { + dev_err(afe->dev, "could not request_irq\n"); + goto err_pm_disable; + } + dev_info(&pdev->dev, "MT8173 AFE driver initialized.\n"); return 0; --- linux-gcp-5.19.0.orig/sound/soc/mediatek/mt8173/mt8173-rt5650-rt5514.c +++ linux-gcp-5.19.0/sound/soc/mediatek/mt8173/mt8173-rt5650-rt5514.c @@ -200,14 +200,16 @@ if (!mt8173_rt5650_rt5514_dais[DAI_LINK_CODEC_I2S].codecs[0].of_node) { dev_err(&pdev->dev, "Property 'audio-codec' missing or invalid\n"); - return -EINVAL; + ret = -EINVAL; + goto out; } mt8173_rt5650_rt5514_dais[DAI_LINK_CODEC_I2S].codecs[1].of_node = of_parse_phandle(pdev->dev.of_node, "mediatek,audio-codec", 1); if (!mt8173_rt5650_rt5514_dais[DAI_LINK_CODEC_I2S].codecs[1].of_node) { dev_err(&pdev->dev, "Property 'audio-codec' missing or invalid\n"); - return -EINVAL; + ret = -EINVAL; + goto out; } mt8173_rt5650_rt5514_codec_conf[0].dlc.of_node = mt8173_rt5650_rt5514_dais[DAI_LINK_CODEC_I2S].codecs[1].of_node; @@ -216,6 +218,7 @@ ret = devm_snd_soc_register_card(&pdev->dev, card); +out: of_node_put(platform_node); return ret; } --- linux-gcp-5.19.0.orig/sound/soc/mediatek/mt8173/mt8173-rt5650-rt5676.c +++ linux-gcp-5.19.0/sound/soc/mediatek/mt8173/mt8173-rt5650-rt5676.c @@ -256,14 +256,16 @@ if (!mt8173_rt5650_rt5676_dais[DAI_LINK_CODEC_I2S].codecs[0].of_node) { dev_err(&pdev->dev, "Property 'audio-codec' missing or invalid\n"); - return -EINVAL; + ret = -EINVAL; + goto put_node; } mt8173_rt5650_rt5676_dais[DAI_LINK_CODEC_I2S].codecs[1].of_node = of_parse_phandle(pdev->dev.of_node, "mediatek,audio-codec", 1); if (!mt8173_rt5650_rt5676_dais[DAI_LINK_CODEC_I2S].codecs[1].of_node) { dev_err(&pdev->dev, "Property 'audio-codec' missing or invalid\n"); - return -EINVAL; + ret = -EINVAL; + goto put_node; } mt8173_rt5650_rt5676_codec_conf[0].dlc.of_node = mt8173_rt5650_rt5676_dais[DAI_LINK_CODEC_I2S].codecs[1].of_node; @@ -276,13 +278,15 @@ if (!mt8173_rt5650_rt5676_dais[DAI_LINK_HDMI_I2S].codecs->of_node) { dev_err(&pdev->dev, "Property 'audio-codec' missing or invalid\n"); - return -EINVAL; + ret = -EINVAL; + goto put_node; } card->dev = &pdev->dev; ret = devm_snd_soc_register_card(&pdev->dev, card); +put_node: of_node_put(platform_node); return ret; } --- linux-gcp-5.19.0.orig/sound/soc/mediatek/mt8173/mt8173-rt5650.c +++ linux-gcp-5.19.0/sound/soc/mediatek/mt8173/mt8173-rt5650.c @@ -280,7 +280,8 @@ if (!mt8173_rt5650_dais[DAI_LINK_CODEC_I2S].codecs[0].of_node) { dev_err(&pdev->dev, "Property 'audio-codec' missing or invalid\n"); - return -EINVAL; + ret = -EINVAL; + goto put_platform_node; } mt8173_rt5650_dais[DAI_LINK_CODEC_I2S].codecs[1].of_node = mt8173_rt5650_dais[DAI_LINK_CODEC_I2S].codecs[0].of_node; @@ -293,7 +294,7 @@ dev_err(&pdev->dev, "%s codec_capture_dai name fail %d\n", __func__, ret); - return ret; + goto put_platform_node; } mt8173_rt5650_dais[DAI_LINK_CODEC_I2S].codecs[1].dai_name = codec_capture_dai; @@ -315,12 +316,14 @@ if (!mt8173_rt5650_dais[DAI_LINK_HDMI_I2S].codecs->of_node) { dev_err(&pdev->dev, "Property 'audio-codec' missing or invalid\n"); - return -EINVAL; + ret = -EINVAL; + goto put_platform_node; } card->dev = &pdev->dev; ret = devm_snd_soc_register_card(&pdev->dev, card); +put_platform_node: of_node_put(platform_node); return ret; } --- linux-gcp-5.19.0.orig/sound/soc/mediatek/mt8183/mt8183-mt6358-ts3a227-max98357.c +++ linux-gcp-5.19.0/sound/soc/mediatek/mt8183/mt8183-mt6358-ts3a227-max98357.c @@ -644,8 +644,10 @@ } card = (struct snd_soc_card *)of_device_get_match_data(&pdev->dev); - if (!card) + if (!card) { + of_node_put(platform_node); return -EINVAL; + } card->dev = &pdev->dev; ec_codec = of_parse_phandle(pdev->dev.of_node, "mediatek,ec-codec", 0); @@ -734,8 +736,10 @@ } priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); - if (!priv) - return -ENOMEM; + if (!priv) { + ret = -ENOMEM; + goto out; + } snd_soc_card_set_drvdata(card, priv); @@ -743,7 +747,8 @@ if (IS_ERR(priv->pinctrl)) { dev_err(&pdev->dev, "%s devm_pinctrl_get failed\n", __func__); - return PTR_ERR(priv->pinctrl); + ret = PTR_ERR(priv->pinctrl); + goto out; } for (i = 0; i < PIN_STATE_MAX; i++) { @@ -776,6 +781,7 @@ ret = devm_snd_soc_register_card(&pdev->dev, card); +out: of_node_put(platform_node); of_node_put(ec_codec); of_node_put(hdmi_codec); --- linux-gcp-5.19.0.orig/sound/soc/pxa/mmp-pcm.c +++ linux-gcp-5.19.0/sound/soc/pxa/mmp-pcm.c @@ -98,7 +98,7 @@ devname = kasprintf(GFP_KERNEL, "%s.%d", dma_data->dma_res->name, dma_data->ssp_id); - if ((strcmp(dev_name(chan->device->dev), devname) == 0) && + if (devname && (strcmp(dev_name(chan->device->dev), devname) == 0) && (chan->chan_id == dma_data->dma_res->start)) { found = true; } --- linux-gcp-5.19.0.orig/sound/soc/qcom/lpass-cpu.c +++ linux-gcp-5.19.0/sound/soc/qcom/lpass-cpu.c @@ -781,10 +781,20 @@ return true; if (reg == LPASS_HDMI_TX_LEGACY_ADDR(v)) return true; + if (reg == LPASS_HDMI_TX_VBIT_CTL_ADDR(v)) + return true; + if (reg == LPASS_HDMI_TX_PARITY_ADDR(v)) + return true; for (i = 0; i < v->hdmi_rdma_channels; ++i) { if (reg == LPAIF_HDMI_RDMACURR_REG(v, i)) return true; + if (reg == LPASS_HDMI_TX_DMA_ADDR(v, i)) + return true; + if (reg == LPASS_HDMI_TX_CH_LSB_ADDR(v, i)) + return true; + if (reg == LPASS_HDMI_TX_CH_MSB_ADDR(v, i)) + return true; } return false; } @@ -1026,10 +1036,11 @@ struct lpass_data *data) { struct device_node *node; - int ret, id; + int ret, i, id; /* Allow all channels by default for backwards compatibility */ - for (id = 0; id < data->variant->num_dai; id++) { + for (i = 0; i < data->variant->num_dai; i++) { + id = data->variant->dai_driver[i].id; data->mi2s_playback_sd_mode[id] = LPAIF_I2SCTL_MODE_8CH; data->mi2s_capture_sd_mode[id] = LPAIF_I2SCTL_MODE_8CH; } @@ -1090,6 +1101,7 @@ dsp_of_node = of_parse_phandle(pdev->dev.of_node, "qcom,adsp", 0); if (dsp_of_node) { dev_err(dev, "DSP exists and holds audio resources\n"); + of_node_put(dsp_of_node); return -EBUSY; } --- linux-gcp-5.19.0.orig/sound/soc/qcom/lpass-sc7180.c +++ linux-gcp-5.19.0/sound/soc/qcom/lpass-sc7180.c @@ -131,6 +131,9 @@ drvdata->clks = devm_kcalloc(dev, variant->num_clks, sizeof(*drvdata->clks), GFP_KERNEL); + if (!drvdata->clks) + return -ENOMEM; + drvdata->num_clks = variant->num_clks; for (i = 0; i < drvdata->num_clks; i++) --- linux-gcp-5.19.0.orig/sound/soc/qcom/qdsp6/q6adm.c +++ linux-gcp-5.19.0/sound/soc/qcom/qdsp6/q6adm.c @@ -217,7 +217,7 @@ idx = find_first_zero_bit(&adm->copp_bitmap[port_idx], MAX_COPPS_PER_PORT); - if (idx > MAX_COPPS_PER_PORT) + if (idx >= MAX_COPPS_PER_PORT) return ERR_PTR(-EBUSY); c = kzalloc(sizeof(*c), GFP_ATOMIC); --- linux-gcp-5.19.0.orig/sound/soc/qcom/qdsp6/q6apm-dai.c +++ linux-gcp-5.19.0/sound/soc/qcom/qdsp6/q6apm-dai.c @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -53,6 +54,7 @@ uint16_t session_id; enum stream_state state; struct q6apm_graph *graph; + spinlock_t lock; }; struct q6apm_dai_data { @@ -62,7 +64,8 @@ static struct snd_pcm_hardware q6apm_dai_hardware_capture = { .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_BLOCK_TRANSFER | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_INTERLEAVED | - SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME), + SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME | + SNDRV_PCM_INFO_BATCH), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE), .rates = SNDRV_PCM_RATE_8000_48000, .rate_min = 8000, @@ -80,7 +83,8 @@ static struct snd_pcm_hardware q6apm_dai_hardware_playback = { .info = (SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_BLOCK_TRANSFER | SNDRV_PCM_INFO_MMAP_VALID | SNDRV_PCM_INFO_INTERLEAVED | - SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME), + SNDRV_PCM_INFO_PAUSE | SNDRV_PCM_INFO_RESUME | + SNDRV_PCM_INFO_BATCH), .formats = (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE), .rates = SNDRV_PCM_RATE_8000_192000, .rate_min = 8000, @@ -99,20 +103,25 @@ { struct q6apm_dai_rtd *prtd = priv; struct snd_pcm_substream *substream = prtd->substream; + unsigned long flags; switch (opcode) { case APM_CLIENT_EVENT_CMD_EOS_DONE: prtd->state = Q6APM_STREAM_STOPPED; break; case APM_CLIENT_EVENT_DATA_WRITE_DONE: + spin_lock_irqsave(&prtd->lock, flags); prtd->pos += prtd->pcm_count; + spin_unlock_irqrestore(&prtd->lock, flags); snd_pcm_period_elapsed(substream); if (prtd->state == Q6APM_STREAM_RUNNING) q6apm_write_async(prtd->graph, prtd->pcm_count, 0, 0, 0); break; case APM_CLIENT_EVENT_DATA_READ_DONE: + spin_lock_irqsave(&prtd->lock, flags); prtd->pos += prtd->pcm_count; + spin_unlock_irqrestore(&prtd->lock, flags); snd_pcm_period_elapsed(substream); if (prtd->state == Q6APM_STREAM_RUNNING) q6apm_read(prtd->graph); @@ -153,6 +162,12 @@ q6apm_unmap_memory_regions(prtd->graph, substream->stream); } + if (prtd->state) { + /* clear the previous setup if any */ + q6apm_graph_stop(prtd->graph); + q6apm_unmap_memory_regions(prtd->graph, substream->stream); + } + prtd->pcm_count = snd_pcm_lib_period_bytes(substream); prtd->pos = 0; /* rate and channels are sent to audio driver */ @@ -253,6 +268,7 @@ if (prtd == NULL) return -ENOMEM; + spin_lock_init(&prtd->lock); prtd->substream = substream; prtd->graph = q6apm_graph_open(dev, (q6apm_cb)event_handler, prtd, graph_id); if (IS_ERR(prtd->graph)) { @@ -332,11 +348,17 @@ { struct snd_pcm_runtime *runtime = substream->runtime; struct q6apm_dai_rtd *prtd = runtime->private_data; + snd_pcm_uframes_t ptr; + unsigned long flags; + spin_lock_irqsave(&prtd->lock, flags); if (prtd->pos == prtd->pcm_size) prtd->pos = 0; - return bytes_to_frames(runtime, prtd->pos); + ptr = bytes_to_frames(runtime, prtd->pos); + spin_unlock_irqrestore(&prtd->lock, flags); + + return ptr; } static int q6apm_dai_hw_params(struct snd_soc_component *component, --- linux-gcp-5.19.0.orig/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c +++ linux-gcp-5.19.0/sound/soc/qcom/qdsp6/q6apm-lpass-dais.c @@ -127,6 +127,11 @@ int graph_id = dai->id; int rc; + if (dai_data->is_port_started[dai->id]) { + q6apm_graph_stop(dai_data->graph[dai->id]); + dai_data->is_port_started[dai->id] = false; + } + /** * It is recommend to load DSP with source graph first and then sink * graph, so sequence for playback and capture will be different --- linux-gcp-5.19.0.orig/sound/soc/qcom/sm8250.c +++ linux-gcp-5.19.0/sound/soc/qcom/sm8250.c @@ -270,6 +270,7 @@ if (!card) return -ENOMEM; + card->owner = THIS_MODULE; /* Allocate the private data */ data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL); if (!data) --- linux-gcp-5.19.0.orig/sound/soc/rockchip/rockchip_pdm.c +++ linux-gcp-5.19.0/sound/soc/rockchip/rockchip_pdm.c @@ -430,6 +430,7 @@ ret = clk_prepare_enable(pdm->hclk); if (ret) { + clk_disable_unprepare(pdm->clk); dev_err(pdm->dev, "hclock enable failed %d\n", ret); return ret; } --- linux-gcp-5.19.0.orig/sound/soc/rockchip/rockchip_spdif.c +++ linux-gcp-5.19.0/sound/soc/rockchip/rockchip_spdif.c @@ -88,6 +88,7 @@ ret = clk_prepare_enable(spdif->hclk); if (ret) { + clk_disable_unprepare(spdif->mclk); dev_err(spdif->dev, "hclk clock enable failed %d\n", ret); return ret; } --- linux-gcp-5.19.0.orig/sound/soc/samsung/aries_wm8994.c +++ linux-gcp-5.19.0/sound/soc/samsung/aries_wm8994.c @@ -628,8 +628,10 @@ return -EINVAL; codec = of_get_child_by_name(dev->of_node, "codec"); - if (!codec) - return -EINVAL; + if (!codec) { + ret = -EINVAL; + goto out; + } for_each_card_prelinks(card, i, dai_link) { dai_link->codecs->of_node = of_parse_phandle(codec, --- linux-gcp-5.19.0.orig/sound/soc/samsung/h1940_uda1380.c +++ linux-gcp-5.19.0/sound/soc/samsung/h1940_uda1380.c @@ -8,7 +8,7 @@ // Based on version from Arnaud Patard #include -#include +#include #include #include --- linux-gcp-5.19.0.orig/sound/soc/samsung/rx1950_uda1380.c +++ linux-gcp-5.19.0/sound/soc/samsung/rx1950_uda1380.c @@ -128,7 +128,7 @@ &hw_rates); } -struct gpio_desc *gpiod_speaker_power; +static struct gpio_desc *gpiod_speaker_power; static int rx1950_spk_power(struct snd_soc_dapm_widget *w, struct snd_kcontrol *kcontrol, int event) @@ -228,7 +228,7 @@ return devm_snd_soc_register_card(dev, &rx1950_asoc); } -struct platform_driver rx1950_audio = { +static struct platform_driver rx1950_audio = { .driver = { .name = "rx1950-audio", .pm = &snd_soc_pm_ops, --- linux-gcp-5.19.0.orig/sound/soc/sh/rcar/ctu.c +++ linux-gcp-5.19.0/sound/soc/sh/rcar/ctu.c @@ -171,7 +171,11 @@ struct rsnd_dai_stream *io, struct rsnd_priv *priv) { - rsnd_mod_power_on(mod); + int ret; + + ret = rsnd_mod_power_on(mod); + if (ret < 0) + return ret; rsnd_ctu_activation(mod); --- linux-gcp-5.19.0.orig/sound/soc/sh/rcar/dvc.c +++ linux-gcp-5.19.0/sound/soc/sh/rcar/dvc.c @@ -186,7 +186,11 @@ struct rsnd_dai_stream *io, struct rsnd_priv *priv) { - rsnd_mod_power_on(mod); + int ret; + + ret = rsnd_mod_power_on(mod); + if (ret < 0) + return ret; rsnd_dvc_activation(mod); --- linux-gcp-5.19.0.orig/sound/soc/sh/rcar/mix.c +++ linux-gcp-5.19.0/sound/soc/sh/rcar/mix.c @@ -146,7 +146,11 @@ struct rsnd_dai_stream *io, struct rsnd_priv *priv) { - rsnd_mod_power_on(mod); + int ret; + + ret = rsnd_mod_power_on(mod); + if (ret < 0) + return ret; rsnd_mix_activation(mod); --- linux-gcp-5.19.0.orig/sound/soc/sh/rcar/rsnd.h +++ linux-gcp-5.19.0/sound/soc/sh/rcar/rsnd.h @@ -901,8 +901,6 @@ if (!IS_BUILTIN(RSND_DEBUG_NO_DAI_CALL)) \ dev_dbg(dev, param) -#endif - #ifdef CONFIG_DEBUG_FS int rsnd_debugfs_probe(struct snd_soc_component *component); void rsnd_debugfs_reg_show(struct seq_file *m, phys_addr_t _addr, @@ -913,3 +911,5 @@ #else #define rsnd_debugfs_probe NULL #endif + +#endif /* RSND_H */ --- linux-gcp-5.19.0.orig/sound/soc/sh/rcar/src.c +++ linux-gcp-5.19.0/sound/soc/sh/rcar/src.c @@ -463,11 +463,14 @@ struct rsnd_priv *priv) { struct rsnd_src *src = rsnd_mod_to_src(mod); + int ret; /* reset sync convert_rate */ src->sync.val = 0; - rsnd_mod_power_on(mod); + ret = rsnd_mod_power_on(mod); + if (ret < 0) + return ret; rsnd_src_activation(mod); --- linux-gcp-5.19.0.orig/sound/soc/sh/rcar/ssi.c +++ linux-gcp-5.19.0/sound/soc/sh/rcar/ssi.c @@ -480,7 +480,9 @@ ssi->usrcnt++; - rsnd_mod_power_on(mod); + ret = rsnd_mod_power_on(mod); + if (ret < 0) + return ret; rsnd_ssi_config_init(mod, io); --- linux-gcp-5.19.0.orig/sound/soc/sh/rcar/ssiu.c +++ linux-gcp-5.19.0/sound/soc/sh/rcar/ssiu.c @@ -67,6 +67,8 @@ shift = 1; offset = 1; break; + default: + return; } for (i = 0; i < 4; i++) { --- linux-gcp-5.19.0.orig/sound/soc/sh/rz-ssi.c +++ linux-gcp-5.19.0/sound/soc/sh/rz-ssi.c @@ -1016,32 +1016,36 @@ ssi->rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL); if (IS_ERR(ssi->rstc)) { - rz_ssi_release_dma_channels(ssi); - return PTR_ERR(ssi->rstc); + ret = PTR_ERR(ssi->rstc); + goto err_reset; } reset_control_deassert(ssi->rstc); pm_runtime_enable(&pdev->dev); ret = pm_runtime_resume_and_get(&pdev->dev); if (ret < 0) { - rz_ssi_release_dma_channels(ssi); - pm_runtime_disable(ssi->dev); - reset_control_assert(ssi->rstc); - return dev_err_probe(ssi->dev, ret, "pm_runtime_resume_and_get failed\n"); + dev_err(&pdev->dev, "pm_runtime_resume_and_get failed\n"); + goto err_pm; } ret = devm_snd_soc_register_component(&pdev->dev, &rz_ssi_soc_component, rz_ssi_soc_dai, ARRAY_SIZE(rz_ssi_soc_dai)); if (ret < 0) { - rz_ssi_release_dma_channels(ssi); - - pm_runtime_put(ssi->dev); - pm_runtime_disable(ssi->dev); - reset_control_assert(ssi->rstc); dev_err(&pdev->dev, "failed to register snd component\n"); + goto err_snd_soc; } + return 0; + +err_snd_soc: + pm_runtime_put(ssi->dev); +err_pm: + pm_runtime_disable(ssi->dev); + reset_control_assert(ssi->rstc); +err_reset: + rz_ssi_release_dma_channels(ssi); + return ret; } --- linux-gcp-5.19.0.orig/sound/soc/soc-compress.c +++ linux-gcp-5.19.0/sound/soc/soc-compress.c @@ -149,6 +149,8 @@ if (ret < 0) goto be_err; + mutex_lock_nested(&fe->card->pcm_mutex, fe->card->pcm_subclass); + /* calculate valid and active FE <-> BE dpcms */ dpcm_process_paths(fe, stream, &list, 1); fe->dpcm[stream].runtime = fe_substream->runtime; @@ -184,7 +186,6 @@ fe->dpcm[stream].state = SND_SOC_DPCM_STATE_OPEN; fe->dpcm[stream].runtime_update = SND_SOC_DPCM_UPDATE_NO; - mutex_lock_nested(&fe->card->pcm_mutex, fe->card->pcm_subclass); snd_soc_runtime_activate(fe, stream); mutex_unlock(&fe->card->pcm_mutex); @@ -215,7 +216,6 @@ mutex_lock_nested(&fe->card->pcm_mutex, fe->card->pcm_subclass); snd_soc_runtime_deactivate(fe, stream); - mutex_unlock(&fe->card->pcm_mutex); fe->dpcm[stream].runtime_update = SND_SOC_DPCM_UPDATE_FE; @@ -234,6 +234,8 @@ dpcm_be_disconnect(fe, stream); + mutex_unlock(&fe->card->pcm_mutex); + fe->dpcm[stream].runtime = NULL; snd_soc_link_compr_shutdown(cstream, 0); @@ -409,8 +411,9 @@ ret = snd_soc_link_compr_set_params(cstream); if (ret < 0) goto out; - + mutex_lock_nested(&fe->card->pcm_mutex, fe->card->pcm_subclass); dpcm_dapm_stream_event(fe, stream, SND_SOC_DAPM_STREAM_START); + mutex_unlock(&fe->card->pcm_mutex); fe->dpcm[stream].state = SND_SOC_DPCM_STATE_PREPARE; out: @@ -572,6 +575,11 @@ return -EINVAL; } + if (!codec_dai) { + dev_err(rtd->card->dev, "Missing codec\n"); + return -EINVAL; + } + /* check client and interface hw capabilities */ if (snd_soc_dai_stream_valid(codec_dai, SNDRV_PCM_STREAM_PLAYBACK) && snd_soc_dai_stream_valid(cpu_dai, SNDRV_PCM_STREAM_PLAYBACK)) @@ -623,7 +631,7 @@ rtd->fe_compr = 1; if (rtd->dai_link->dpcm_playback) be_pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream->private_data = rtd; - else if (rtd->dai_link->dpcm_capture) + if (rtd->dai_link->dpcm_capture) be_pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream->private_data = rtd; memcpy(compr->ops, &soc_compr_dyn_ops, sizeof(soc_compr_dyn_ops)); } else { --- linux-gcp-5.19.0.orig/sound/soc/soc-core.c +++ linux-gcp-5.19.0/sound/soc/soc-core.c @@ -3433,26 +3433,26 @@ struct of_phandle_args args; struct snd_soc_dai_link_component *component; char *name; - int index, num_codecs, ret; + int index, num_cpus, ret; - /* Count the number of CODECs */ + /* Count the number of CPUs */ name = "sound-dai"; - num_codecs = of_count_phandle_with_args(of_node, name, + num_cpus = of_count_phandle_with_args(of_node, name, "#sound-dai-cells"); - if (num_codecs <= 0) { - if (num_codecs == -ENOENT) + if (num_cpus <= 0) { + if (num_cpus == -ENOENT) dev_err(dev, "No 'sound-dai' property\n"); else dev_err(dev, "Bad phandle in 'sound-dai'\n"); - return num_codecs; + return num_cpus; } component = devm_kcalloc(dev, - num_codecs, sizeof(*component), + num_cpus, sizeof(*component), GFP_KERNEL); if (!component) return -ENOMEM; dai_link->cpus = component; - dai_link->num_cpus = num_codecs; + dai_link->num_cpus = num_cpus; /* Parse the list */ for_each_link_cpus(dai_link, index, component) { @@ -3468,7 +3468,7 @@ } return 0; err: - snd_soc_of_put_dai_link_codecs(dai_link); + snd_soc_of_put_dai_link_cpus(dai_link); dai_link->cpus = NULL; dai_link->num_cpus = 0; return ret; @@ -3477,10 +3477,23 @@ static int __init snd_soc_init(void) { + int ret; + snd_soc_debugfs_init(); - snd_soc_util_init(); + ret = snd_soc_util_init(); + if (ret) + goto err_util_init; + + ret = platform_driver_register(&soc_driver); + if (ret) + goto err_register; + return 0; - return platform_driver_register(&soc_driver); +err_register: + snd_soc_util_exit(); +err_util_init: + snd_soc_debugfs_exit(); + return ret; } module_init(snd_soc_init); --- linux-gcp-5.19.0.orig/sound/soc/soc-ops.c +++ linux-gcp-5.19.0/sound/soc/soc-ops.c @@ -435,7 +435,7 @@ val = ucontrol->value.integer.value[0]; if (mc->platform_max && val > mc->platform_max) return -EINVAL; - if (val > max - min) + if (val > max) return -EINVAL; val_mask = mask << shift; val = (val + min) & mask; @@ -447,10 +447,15 @@ ret = err; if (snd_soc_volsw_is_stereo(mc)) { - unsigned int val2; + unsigned int val2 = ucontrol->value.integer.value[1]; + + if (mc->platform_max && val2 > mc->platform_max) + return -EINVAL; + if (val2 > max) + return -EINVAL; val_mask = mask << rshift; - val2 = (ucontrol->value.integer.value[1] + min) & mask; + val2 = (val2 + min) & mask; val2 = val2 << rshift; err = snd_soc_component_update_bits(component, reg2, val_mask, --- linux-gcp-5.19.0.orig/sound/soc/soc-pcm.c +++ linux-gcp-5.19.0/sound/soc/soc-pcm.c @@ -723,7 +723,7 @@ struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream); snd_soc_dpcm_mutex_lock(rtd); - soc_pcm_clean(rtd, substream, 0); + __soc_pcm_close(rtd, substream); snd_soc_dpcm_mutex_unlock(rtd); return 0; } @@ -800,11 +800,6 @@ ret = snd_soc_dai_startup(dai, substream); if (ret < 0) goto err; - - if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) - dai->tx_mask = 0; - else - dai->rx_mask = 0; } /* Dynamic PCM DAI links compat checks use dynamic capabilities */ @@ -1248,6 +1243,8 @@ return; be_substream = snd_soc_dpcm_get_substream(be, stream); + if (!be_substream) + return; for_each_dpcm_fe(be, stream, dpcm) { if (dpcm->fe == fe) @@ -1318,6 +1315,9 @@ if (!be->dai_link->no_pcm) continue; + if (!snd_soc_dpcm_get_substream(be, stream)) + continue; + for_each_rtd_dais(be, i, dai) { w = snd_soc_dai_get_widget(dai, stream); --- linux-gcp-5.19.0.orig/sound/soc/soc-topology.c +++ linux-gcp-5.19.0/sound/soc/soc-topology.c @@ -1401,13 +1401,17 @@ template.num_kcontrols = le32_to_cpu(w->num_kcontrols); kc = devm_kcalloc(tplg->dev, le32_to_cpu(w->num_kcontrols), sizeof(*kc), GFP_KERNEL); - if (!kc) + if (!kc) { + ret = -ENOMEM; goto hdr_err; + } kcontrol_type = devm_kcalloc(tplg->dev, le32_to_cpu(w->num_kcontrols), sizeof(unsigned int), GFP_KERNEL); - if (!kcontrol_type) + if (!kcontrol_type) { + ret = -ENOMEM; goto hdr_err; + } for (i = 0; i < le32_to_cpu(w->num_kcontrols); i++) { control_hdr = (struct snd_soc_tplg_ctl_hdr *)tplg->pos; @@ -2403,7 +2407,7 @@ return -EINVAL; } - if (soc_tplg_get_hdr_offset(tplg) + hdr->payload_size >= tplg->fw->size) { + if (soc_tplg_get_hdr_offset(tplg) + le32_to_cpu(hdr->payload_size) >= tplg->fw->size) { dev_err(tplg->dev, "ASoC: invalid header of type %d at offset %ld payload_size %d\n", le32_to_cpu(hdr->type), soc_tplg_get_hdr_offset(tplg), --- linux-gcp-5.19.0.orig/sound/soc/soc-utils.c +++ linux-gcp-5.19.0/sound/soc/soc-utils.c @@ -264,7 +264,7 @@ return ret; } -void __exit snd_soc_util_exit(void) +void snd_soc_util_exit(void) { platform_driver_unregister(&soc_dummy_driver); platform_device_unregister(soc_dummy_dev); --- linux-gcp-5.19.0.orig/sound/soc/sof/Kconfig +++ linux-gcp-5.19.0/sound/soc/sof/Kconfig @@ -196,6 +196,7 @@ config SND_SOC_SOF_DEBUG_IPC_FLOOD_TEST tristate "SOF enable IPC flood test" + depends on SND_SOC_SOF select SND_SOC_SOF_CLIENT help This option enables a separate client device for IPC flood test @@ -214,6 +215,7 @@ config SND_SOC_SOF_DEBUG_IPC_MSG_INJECTOR tristate "SOF enable IPC message injector" + depends on SND_SOC_SOF select SND_SOC_SOF_CLIENT help This option enables the IPC message injector which can be used to send --- linux-gcp-5.19.0.orig/sound/soc/sof/debug.c +++ linux-gcp-5.19.0/sound/soc/sof/debug.c @@ -252,9 +252,9 @@ } for (i = 0, len = 0; i < reply->num_elems; i++) { - ret = snprintf(buf + len, buff_size - len, "zone %d.%d used %#8x free %#8x\n", - reply->elems[i].zone, reply->elems[i].id, - reply->elems[i].used, reply->elems[i].free); + ret = scnprintf(buf + len, buff_size - len, "zone %d.%d used %#8x free %#8x\n", + reply->elems[i].zone, reply->elems[i].id, + reply->elems[i].used, reply->elems[i].free); if (ret < 0) goto error; len += ret; --- linux-gcp-5.19.0.orig/sound/soc/sof/intel/Kconfig +++ linux-gcp-5.19.0/sound/soc/sof/intel/Kconfig @@ -210,6 +210,22 @@ Say Y if you have such a device. If unsure select "N". +config SND_SOC_SOF_INTEL_MTL + tristate + select SND_SOC_SOF_HDA_COMMON + select SND_SOC_SOF_INTEL_SOUNDWIRE_LINK_BASELINE + select SND_SOC_SOF_INTEL_IPC4 + +config SND_SOC_SOF_METEORLAKE + tristate "SOF support for Meteorlake" + default SND_SOC_SOF_PCI + select SND_SOC_SOF_INTEL_MTL + help + This adds support for Sound Open Firmware for Intel(R) platforms + using the Meteorlake processors. + Say Y if you have such a device. + If unsure select "N". + config SND_SOC_SOF_HDA_COMMON tristate select SND_SOC_SOF_INTEL_COMMON --- linux-gcp-5.19.0.orig/sound/soc/sof/intel/Makefile +++ linux-gcp-5.19.0/sound/soc/sof/intel/Makefile @@ -6,7 +6,7 @@ snd-sof-intel-hda-common-objs := hda.o hda-loader.o hda-stream.o hda-trace.o \ hda-dsp.o hda-ipc.o hda-ctrl.o hda-pcm.o \ hda-dai.o hda-bus.o \ - apl.o cnl.o tgl.o icl.o hda-common-ops.o + apl.o cnl.o tgl.o icl.o mtl.o hda-common-ops.o snd-sof-intel-hda-common-$(CONFIG_SND_SOC_SOF_HDA_PROBES) += hda-probes.o snd-sof-intel-hda-objs := hda-codec.o @@ -24,9 +24,11 @@ snd-sof-pci-intel-cnl-objs := pci-cnl.o snd-sof-pci-intel-icl-objs := pci-icl.o snd-sof-pci-intel-tgl-objs := pci-tgl.o +snd-sof-pci-intel-mtl-objs := pci-mtl.o obj-$(CONFIG_SND_SOC_SOF_MERRIFIELD) += snd-sof-pci-intel-tng.o obj-$(CONFIG_SND_SOC_SOF_INTEL_APL) += snd-sof-pci-intel-apl.o obj-$(CONFIG_SND_SOC_SOF_INTEL_CNL) += snd-sof-pci-intel-cnl.o obj-$(CONFIG_SND_SOC_SOF_INTEL_ICL) += snd-sof-pci-intel-icl.o obj-$(CONFIG_SND_SOC_SOF_INTEL_TGL) += snd-sof-pci-intel-tgl.o +obj-$(CONFIG_SND_SOC_SOF_INTEL_MTL) += snd-sof-pci-intel-mtl.o --- linux-gcp-5.19.0.orig/sound/soc/sof/intel/apl.c +++ linux-gcp-5.19.0/sound/soc/sof/intel/apl.c @@ -101,6 +101,7 @@ .ssp_base_offset = APL_SSP_BASE_OFFSET, .quirks = SOF_INTEL_PROCEN_FMT_QUIRK, .check_ipc_irq = hda_dsp_check_ipc_irq, + .cl_init = cl_dsp_init, .hw_ip_version = SOF_INTEL_CAVS_1_5_PLUS, }; EXPORT_SYMBOL_NS(apl_chip_info, SND_SOC_SOF_INTEL_HDA_COMMON); --- linux-gcp-5.19.0.orig/sound/soc/sof/intel/cnl.c +++ linux-gcp-5.19.0/sound/soc/sof/intel/cnl.c @@ -60,17 +60,23 @@ if (primary & SOF_IPC4_MSG_DIR_MASK) { /* Reply received */ - struct sof_ipc4_msg *data = sdev->ipc->msg.reply_data; + if (likely(sdev->fw_state == SOF_FW_BOOT_COMPLETE)) { + struct sof_ipc4_msg *data = sdev->ipc->msg.reply_data; - data->primary = primary; - data->extension = extension; + data->primary = primary; + data->extension = extension; - spin_lock_irq(&sdev->ipc_lock); - - snd_sof_ipc_get_reply(sdev); - snd_sof_ipc_reply(sdev, data->primary); + spin_lock_irq(&sdev->ipc_lock); - spin_unlock_irq(&sdev->ipc_lock); + snd_sof_ipc_get_reply(sdev); + snd_sof_ipc_reply(sdev, data->primary); + + spin_unlock_irq(&sdev->ipc_lock); + } else { + dev_dbg_ratelimited(sdev->dev, + "IPC reply before FW_READY: %#x|%#x\n", + primary, extension); + } } else { /* Notification received */ notification_data.primary = primary; @@ -124,15 +130,20 @@ CNL_DSP_REG_HIPCCTL, CNL_DSP_REG_HIPCCTL_DONE, 0); - spin_lock_irq(&sdev->ipc_lock); + if (likely(sdev->fw_state == SOF_FW_BOOT_COMPLETE)) { + spin_lock_irq(&sdev->ipc_lock); - /* handle immediate reply from DSP core */ - hda_dsp_ipc_get_reply(sdev); - snd_sof_ipc_reply(sdev, msg); + /* handle immediate reply from DSP core */ + hda_dsp_ipc_get_reply(sdev); + snd_sof_ipc_reply(sdev, msg); - cnl_ipc_dsp_done(sdev); + cnl_ipc_dsp_done(sdev); - spin_unlock_irq(&sdev->ipc_lock); + spin_unlock_irq(&sdev->ipc_lock); + } else { + dev_dbg_ratelimited(sdev->dev, "IPC reply before FW_READY: %#x\n", + msg); + } ipc_irq = true; } @@ -401,6 +412,7 @@ .sdw_alh_base = SDW_ALH_BASE, .check_sdw_irq = hda_common_check_sdw_irq, .check_ipc_irq = hda_dsp_check_ipc_irq, + .cl_init = cl_dsp_init, .hw_ip_version = SOF_INTEL_CAVS_1_8, }; EXPORT_SYMBOL_NS(cnl_chip_info, SND_SOC_SOF_INTEL_HDA_COMMON); @@ -430,6 +442,7 @@ .sdw_alh_base = SDW_ALH_BASE, .check_sdw_irq = hda_common_check_sdw_irq, .check_ipc_irq = hda_dsp_check_ipc_irq, + .cl_init = cl_dsp_init, .hw_ip_version = SOF_INTEL_CAVS_2_0, }; EXPORT_SYMBOL_NS(jsl_chip_info, SND_SOC_SOF_INTEL_HDA_COMMON); --- linux-gcp-5.19.0.orig/sound/soc/sof/intel/hda-dai.c +++ linux-gcp-5.19.0/sound/soc/sof/intel/hda-dai.c @@ -208,6 +208,10 @@ struct hdac_bus *bus = hstream->bus; struct hdac_ext_link *link; + link = snd_hdac_ext_bus_get_link(bus, codec_dai->component->name); + if (!link) + return -EINVAL; + /* get stored dma data if resuming from system suspend */ hext_stream = snd_soc_dai_get_dma_data(cpu_dai, substream); if (!hext_stream) { @@ -218,10 +222,6 @@ snd_soc_dai_set_dma_data(cpu_dai, substream, (void *)hext_stream); } - link = snd_hdac_ext_bus_get_link(bus, codec_dai->component->name); - if (!link) - return -EINVAL; - /* set the hdac_stream in the codec dai */ snd_soc_dai_set_stream(codec_dai, hdac_stream(hext_stream), substream->stream); --- linux-gcp-5.19.0.orig/sound/soc/sof/intel/hda-ipc.c +++ linux-gcp-5.19.0/sound/soc/sof/intel/hda-ipc.c @@ -148,17 +148,23 @@ if (primary & SOF_IPC4_MSG_DIR_MASK) { /* Reply received */ - struct sof_ipc4_msg *data = sdev->ipc->msg.reply_data; + if (likely(sdev->fw_state == SOF_FW_BOOT_COMPLETE)) { + struct sof_ipc4_msg *data = sdev->ipc->msg.reply_data; - data->primary = primary; - data->extension = extension; + data->primary = primary; + data->extension = extension; - spin_lock_irq(&sdev->ipc_lock); - - snd_sof_ipc_get_reply(sdev); - snd_sof_ipc_reply(sdev, data->primary); + spin_lock_irq(&sdev->ipc_lock); - spin_unlock_irq(&sdev->ipc_lock); + snd_sof_ipc_get_reply(sdev); + snd_sof_ipc_reply(sdev, data->primary); + + spin_unlock_irq(&sdev->ipc_lock); + } else { + dev_dbg_ratelimited(sdev->dev, + "IPC reply before FW_READY: %#x|%#x\n", + primary, extension); + } } else { /* Notification received */ @@ -225,16 +231,21 @@ * place, the message might not yet be marked as expecting a * reply. */ - spin_lock_irq(&sdev->ipc_lock); + if (likely(sdev->fw_state == SOF_FW_BOOT_COMPLETE)) { + spin_lock_irq(&sdev->ipc_lock); - /* handle immediate reply from DSP core */ - hda_dsp_ipc_get_reply(sdev); - snd_sof_ipc_reply(sdev, msg); + /* handle immediate reply from DSP core */ + hda_dsp_ipc_get_reply(sdev); + snd_sof_ipc_reply(sdev, msg); - /* set the done bit */ - hda_dsp_ipc_dsp_done(sdev); + /* set the done bit */ + hda_dsp_ipc_dsp_done(sdev); - spin_unlock_irq(&sdev->ipc_lock); + spin_unlock_irq(&sdev->ipc_lock); + } else { + dev_dbg_ratelimited(sdev->dev, "IPC reply before FW_READY: %#x\n", + msg); + } ipc_irq = true; } --- linux-gcp-5.19.0.orig/sound/soc/sof/intel/hda-loader.c +++ linux-gcp-5.19.0/sound/soc/sof/intel/hda-loader.c @@ -99,7 +99,7 @@ * power on all host managed cores and only unstall/run the boot core to boot the * DSP then turn off all non boot cores (if any) is powered on. */ -static int cl_dsp_init(struct snd_sof_dev *sdev, int stream_tag, bool imr_boot) +int cl_dsp_init(struct snd_sof_dev *sdev, int stream_tag, bool imr_boot) { struct sof_intel_hda_dev *hda = sdev->pdata->hw_pdata; const struct sof_intel_dsp_desc *chip = hda->desc; @@ -369,9 +369,15 @@ static int hda_dsp_boot_imr(struct snd_sof_dev *sdev) { + const struct sof_intel_dsp_desc *chip_info; int ret; - ret = cl_dsp_init(sdev, 0, true); + chip_info = get_chip_info(sdev->pdata); + if (chip_info->cl_init) + ret = chip_info->cl_init(sdev, 0, true); + else + ret = -EINVAL; + if (!ret) hda_sdw_process_wakeen(sdev); @@ -431,7 +437,10 @@ "Attempting iteration %d of Core En/ROM load...\n", i); hda->boot_iteration = i + 1; - ret = cl_dsp_init(sdev, hext_stream->hstream.stream_tag, false); + if (chip_info->cl_init) + ret = chip_info->cl_init(sdev, hext_stream->hstream.stream_tag, false); + else + ret = -EINVAL; /* don't retry anymore if successful */ if (!ret) --- linux-gcp-5.19.0.orig/sound/soc/sof/intel/hda.c +++ linux-gcp-5.19.0/sound/soc/sof/intel/hda.c @@ -376,6 +376,10 @@ module_param_named(dmic_num, dmic_num_override, int, 0444); MODULE_PARM_DESC(dmic_num, "SOF HDA DMIC number"); +static int mclk_id_override = -1; +module_param_named(mclk_id, mclk_id_override, int, 0444); +MODULE_PARM_DESC(mclk_id, "SOF SSP mclk_id"); + #if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA) static bool hda_codec_use_common_hdmi = IS_ENABLED(CONFIG_SND_HDA_CODEC_HDMI); module_param_named(use_common_hdmi, hda_codec_use_common_hdmi, bool, 0444); @@ -467,7 +471,7 @@ chip = get_chip_info(sdev->pdata); for (i = 0; i < HDA_EXT_ROM_STATUS_SIZE; i++) { value = snd_sof_dsp_read(sdev, HDA_DSP_BAR, chip->rom_status_reg + i * 0x4); - len += snprintf(msg + len, sizeof(msg) - len, " 0x%x", value); + len += scnprintf(msg + len, sizeof(msg) - len, " 0x%x", value); } dev_printk(level, sdev->dev, "extended rom status: %s", msg); @@ -1395,6 +1399,7 @@ if (mach->tplg_quirk_mask & SND_SOC_ACPI_TPLG_INTEL_SSP_NUMBER && mach->mach_params.i2s_link_mask) { + const struct sof_intel_dsp_desc *chip = get_chip_info(sdev->pdata); int ssp_num; if (hweight_long(mach->mach_params.i2s_link_mask) > 1 && @@ -1404,6 +1409,12 @@ /* fls returns 1-based results, SSPs indices are 0-based */ ssp_num = fls(mach->mach_params.i2s_link_mask) - 1; + if (ssp_num >= chip->ssp_count) { + dev_err(sdev->dev, "Invalid SSP %d, max on this platform is %d\n", + ssp_num, chip->ssp_count); + return NULL; + } + tplg_filename = devm_kasprintf(sdev->dev, GFP_KERNEL, "%s%s%d", sof_pdata->tplg_filename, @@ -1426,6 +1437,13 @@ sof_pdata->tplg_filename = tplg_filename; } + + /* check if mclk_id should be modified from topology defaults */ + if (mclk_id_override >= 0) { + dev_info(sdev->dev, "Overriding topology with MCLK %d from kernel_parameter\n", mclk_id_override); + sdev->mclk_id_override = true; + sdev->mclk_id_quirk = mclk_id_override; + } } /* --- linux-gcp-5.19.0.orig/sound/soc/sof/intel/hda.h +++ linux-gcp-5.19.0/sound/soc/sof/intel/hda.h @@ -605,6 +605,7 @@ int direction); int hda_cl_cleanup(struct snd_sof_dev *sdev, struct snd_dma_buffer *dmab, struct hdac_ext_stream *hext_stream); +int cl_dsp_init(struct snd_sof_dev *sdev, int stream_tag, bool imr_boot); #define HDA_CL_STREAM_FORMAT 0x40 /* pre and post fw run ops */ @@ -716,6 +717,8 @@ int sof_tgl_ops_init(struct snd_sof_dev *sdev); extern struct snd_sof_dsp_ops sof_icl_ops; int sof_icl_ops_init(struct snd_sof_dev *sdev); +extern struct snd_sof_dsp_ops sof_mtl_ops; +int sof_mtl_ops_init(struct snd_sof_dev *sdev); extern const struct sof_intel_dsp_desc apl_chip_info; extern const struct sof_intel_dsp_desc cnl_chip_info; @@ -725,6 +728,7 @@ extern const struct sof_intel_dsp_desc ehl_chip_info; extern const struct sof_intel_dsp_desc jsl_chip_info; extern const struct sof_intel_dsp_desc adls_chip_info; +extern const struct sof_intel_dsp_desc mtl_chip_info; /* Probes support */ #if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA_PROBES) --- linux-gcp-5.19.0.orig/sound/soc/sof/intel/icl.c +++ linux-gcp-5.19.0/sound/soc/sof/intel/icl.c @@ -152,6 +152,7 @@ .sdw_alh_base = SDW_ALH_BASE, .check_sdw_irq = hda_common_check_sdw_irq, .check_ipc_irq = hda_dsp_check_ipc_irq, + .cl_init = cl_dsp_init, .hw_ip_version = SOF_INTEL_CAVS_2_0, }; EXPORT_SYMBOL_NS(icl_chip_info, SND_SOC_SOF_INTEL_HDA_COMMON); --- linux-gcp-5.19.0.orig/sound/soc/sof/intel/mtl.c +++ linux-gcp-5.19.0/sound/soc/sof/intel/mtl.c @@ -0,0 +1,800 @@ +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) +// +// Copyright(c) 2022 Intel Corporation. All rights reserved. +// +// Authors: Ranjani Sridharan +// + +/* + * Hardware interface for audio DSP on Meteorlake. + */ + +#include +#include +#include "../ipc4-priv.h" +#include "../ops.h" +#include "hda.h" +#include "hda-ipc.h" +#include "../sof-audio.h" +#include "mtl.h" + +static const struct snd_sof_debugfs_map mtl_dsp_debugfs[] = { + {"hda", HDA_DSP_HDA_BAR, 0, 0x4000, SOF_DEBUGFS_ACCESS_ALWAYS}, + {"pp", HDA_DSP_PP_BAR, 0, 0x1000, SOF_DEBUGFS_ACCESS_ALWAYS}, + {"dsp", HDA_DSP_BAR, 0, 0x10000, SOF_DEBUGFS_ACCESS_ALWAYS}, +}; + +static void mtl_ipc_host_done(struct snd_sof_dev *sdev) +{ + /* + * clear busy interrupt to tell dsp controller this interrupt has been accepted, + * not trigger it again + */ + snd_sof_dsp_update_bits_forced(sdev, HDA_DSP_BAR, MTL_DSP_REG_HFIPCXTDR, + MTL_DSP_REG_HFIPCXTDR_BUSY, MTL_DSP_REG_HFIPCXTDR_BUSY); + /* + * clear busy bit to ack dsp the msg has been processed and send reply msg to dsp + */ + snd_sof_dsp_update_bits_forced(sdev, HDA_DSP_BAR, MTL_DSP_REG_HFIPCXTDA, + MTL_DSP_REG_HFIPCXTDA_BUSY, 0); +} + +static void mtl_ipc_dsp_done(struct snd_sof_dev *sdev) +{ + /* + * set DONE bit - tell DSP we have received the reply msg from DSP, and processed it, + * don't send more reply to host + */ + snd_sof_dsp_update_bits_forced(sdev, HDA_DSP_BAR, MTL_DSP_REG_HFIPCXIDA, + MTL_DSP_REG_HFIPCXIDA_DONE, MTL_DSP_REG_HFIPCXIDA_DONE); + + /* unmask Done interrupt */ + snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, MTL_DSP_REG_HFIPCXCTL, + MTL_DSP_REG_HFIPCXCTL_DONE, MTL_DSP_REG_HFIPCXCTL_DONE); +} + +/* Check if an IPC IRQ occurred */ +static bool mtl_dsp_check_ipc_irq(struct snd_sof_dev *sdev) +{ + u32 irq_status; + u32 hfintipptr; + + /* read Interrupt IP Pointer */ + hfintipptr = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_HFINTIPPTR) & MTL_HFINTIPPTR_PTR_MASK; + irq_status = snd_sof_dsp_read(sdev, HDA_DSP_BAR, hfintipptr + MTL_DSP_IRQSTS); + + dev_vdbg(sdev->dev, "irq handler: irq_status:0x%x\n", irq_status); + + if (irq_status != U32_MAX && (irq_status & MTL_DSP_IRQSTS_IPC)) + return true; + + return false; +} + +/* Check if an SDW IRQ occurred */ +static bool mtl_dsp_check_sdw_irq(struct snd_sof_dev *sdev) +{ + u32 irq_status; + u32 hfintipptr; + + /* read Interrupt IP Pointer */ + hfintipptr = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_HFINTIPPTR) & MTL_HFINTIPPTR_PTR_MASK; + irq_status = snd_sof_dsp_read(sdev, HDA_DSP_BAR, hfintipptr + MTL_DSP_IRQSTS); + + if (irq_status != U32_MAX && (irq_status & MTL_DSP_IRQSTS_SDW)) + return true; + + return false; +} + +static int mtl_ipc_send_msg(struct snd_sof_dev *sdev, struct snd_sof_ipc_msg *msg) +{ + struct sof_ipc4_msg *msg_data = msg->msg_data; + + /* send the message via mailbox */ + if (msg_data->data_size) + sof_mailbox_write(sdev, sdev->host_box.offset, msg_data->data_ptr, + msg_data->data_size); + + snd_sof_dsp_write(sdev, HDA_DSP_BAR, MTL_DSP_REG_HFIPCXIDDY, + msg_data->extension); + snd_sof_dsp_write(sdev, HDA_DSP_BAR, MTL_DSP_REG_HFIPCXIDR, + msg_data->primary | MTL_DSP_REG_HFIPCXIDR_BUSY); + + return 0; +} + +static void mtl_enable_ipc_interrupts(struct snd_sof_dev *sdev) +{ + struct sof_intel_hda_dev *hda = sdev->pdata->hw_pdata; + const struct sof_intel_dsp_desc *chip = hda->desc; + + /* enable IPC DONE and BUSY interrupts */ + snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, chip->ipc_ctl, + MTL_DSP_REG_HFIPCXCTL_BUSY | MTL_DSP_REG_HFIPCXCTL_DONE, + MTL_DSP_REG_HFIPCXCTL_BUSY | MTL_DSP_REG_HFIPCXCTL_DONE); +} + +static void mtl_disable_ipc_interrupts(struct snd_sof_dev *sdev) +{ + struct sof_intel_hda_dev *hda = sdev->pdata->hw_pdata; + const struct sof_intel_dsp_desc *chip = hda->desc; + + /* disable IPC DONE and BUSY interrupts */ + snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, chip->ipc_ctl, + MTL_DSP_REG_HFIPCXCTL_BUSY | MTL_DSP_REG_HFIPCXCTL_DONE, 0); +} + +static int mtl_enable_interrupts(struct snd_sof_dev *sdev) +{ + u32 hfintipptr; + u32 irqinten; + u32 host_ipc; + u32 hipcie; + int ret; + + /* read Interrupt IP Pointer */ + hfintipptr = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_HFINTIPPTR) & MTL_HFINTIPPTR_PTR_MASK; + + /* Enable Host IPC and SOUNDWIRE */ + snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, hfintipptr, + MTL_IRQ_INTEN_L_HOST_IPC_MASK | MTL_IRQ_INTEN_L_SOUNDWIRE_MASK, + MTL_IRQ_INTEN_L_HOST_IPC_MASK | MTL_IRQ_INTEN_L_SOUNDWIRE_MASK); + + /* check if operation was successful */ + host_ipc = MTL_IRQ_INTEN_L_HOST_IPC_MASK | MTL_IRQ_INTEN_L_SOUNDWIRE_MASK; + irqinten = snd_sof_dsp_read(sdev, HDA_DSP_BAR, hfintipptr); + ret = snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR, hfintipptr, irqinten, + (irqinten & host_ipc) == host_ipc, + HDA_DSP_REG_POLL_INTERVAL_US, HDA_DSP_RESET_TIMEOUT_US); + if (ret < 0) { + dev_err(sdev->dev, "failed to enable Host IPC and/or SOUNDWIRE\n"); + return ret; + } + + /* Set Host IPC interrupt enable */ + snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, MTL_DSP_REG_HfHIPCIE, + MTL_DSP_REG_HfHIPCIE_IE_MASK, MTL_DSP_REG_HfHIPCIE_IE_MASK); + + /* check if operation was successful */ + host_ipc = MTL_DSP_REG_HfHIPCIE_IE_MASK; + hipcie = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_DSP_REG_HfHIPCIE); + ret = snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR, MTL_DSP_REG_HfHIPCIE, hipcie, + (hipcie & host_ipc) == host_ipc, + HDA_DSP_REG_POLL_INTERVAL_US, HDA_DSP_RESET_TIMEOUT_US); + if (ret < 0) { + dev_err(sdev->dev, "failed to set Host IPC interrupt enable\n"); + return ret; + } + + snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, MTL_DSP_REG_HfSNDWIE, + MTL_DSP_REG_HfSNDWIE_IE_MASK, MTL_DSP_REG_HfSNDWIE_IE_MASK); + host_ipc = MTL_DSP_REG_HfSNDWIE_IE_MASK; + hipcie = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_DSP_REG_HfSNDWIE); + ret = snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR, MTL_DSP_REG_HfSNDWIE, hipcie, + (hipcie & host_ipc) == host_ipc, + HDA_DSP_REG_POLL_INTERVAL_US, HDA_DSP_RESET_TIMEOUT_US); + if (ret < 0) + dev_err(sdev->dev, "failed to set SoundWire IPC interrupt enable\n"); + + return ret; +} + +static int mtl_disable_interrupts(struct snd_sof_dev *sdev) +{ + u32 hfintipptr; + u32 irqinten; + u32 host_ipc; + u32 hipcie; + int ret1; + int ret; + + /* read Interrupt IP Pointer */ + hfintipptr = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_HFINTIPPTR) & MTL_HFINTIPPTR_PTR_MASK; + + /* Disable Host IPC and SOUNDWIRE */ + snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, hfintipptr, + MTL_IRQ_INTEN_L_HOST_IPC_MASK | MTL_IRQ_INTEN_L_SOUNDWIRE_MASK, 0); + + /* check if operation was successful */ + host_ipc = MTL_IRQ_INTEN_L_HOST_IPC_MASK | MTL_IRQ_INTEN_L_SOUNDWIRE_MASK; + irqinten = snd_sof_dsp_read(sdev, HDA_DSP_BAR, hfintipptr); + ret = snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR, hfintipptr, irqinten, + (irqinten & host_ipc) == 0, + HDA_DSP_REG_POLL_INTERVAL_US, HDA_DSP_RESET_TIMEOUT_US); + /* Continue to disable other interrupts when error happens */ + if (ret < 0) + dev_err(sdev->dev, "failed to disable Host IPC and SoundWire\n"); + + /* Set Host IPC interrupt disable */ + snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, MTL_DSP_REG_HfHIPCIE, + MTL_DSP_REG_HfHIPCIE_IE_MASK, 0); + + /* check if operation was successful */ + host_ipc = MTL_DSP_REG_HfHIPCIE_IE_MASK; + hipcie = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_DSP_REG_HfHIPCIE); + ret1 = snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR, MTL_DSP_REG_HfHIPCIE, hipcie, + (hipcie & host_ipc) == 0, + HDA_DSP_REG_POLL_INTERVAL_US, + HDA_DSP_RESET_TIMEOUT_US); + if (ret1 < 0) { + dev_err(sdev->dev, "failed to set Host IPC interrupt disable\n"); + if (!ret) + ret = ret1; + } + + /* Set SoundWire IPC interrupt disable */ + snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, MTL_DSP_REG_HfSNDWIE, + MTL_DSP_REG_HfSNDWIE_IE_MASK, 0); + host_ipc = MTL_DSP_REG_HfSNDWIE_IE_MASK; + hipcie = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_DSP_REG_HfSNDWIE); + ret1 = snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR, MTL_DSP_REG_HfSNDWIE, hipcie, + (hipcie & host_ipc) == 0, + HDA_DSP_REG_POLL_INTERVAL_US, + HDA_DSP_RESET_TIMEOUT_US); + if (ret1 < 0) { + dev_err(sdev->dev, "failed to set SoundWire IPC interrupt disable\n"); + if (!ret) + ret = ret1; + } + + return ret; +} + +/* pre fw run operations */ +static int mtl_dsp_pre_fw_run(struct snd_sof_dev *sdev) +{ + u32 dsphfpwrsts; + u32 dsphfdsscs; + u32 cpa; + u32 pgs; + int ret; + + /* Set the DSP subsystem power on */ + snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, MTL_HFDSSCS, + MTL_HFDSSCS_SPA_MASK, MTL_HFDSSCS_SPA_MASK); + + /* Wait for unstable CPA read (1 then 0 then 1) just after setting SPA bit */ + usleep_range(1000, 1010); + + /* poll with timeout to check if operation successful */ + cpa = MTL_HFDSSCS_CPA_MASK; + dsphfdsscs = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_HFDSSCS); + ret = snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR, MTL_HFDSSCS, dsphfdsscs, + (dsphfdsscs & cpa) == cpa, HDA_DSP_REG_POLL_INTERVAL_US, + HDA_DSP_RESET_TIMEOUT_US); + if (ret < 0) { + dev_err(sdev->dev, "failed to enable DSP subsystem\n"); + return ret; + } + + /* Power up gated-DSP-0 domain in order to access the DSP shim register block. */ + snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, MTL_HFPWRCTL, + MTL_HFPWRCTL_WPDSPHPXPG, MTL_HFPWRCTL_WPDSPHPXPG); + + usleep_range(1000, 1010); + + /* poll with timeout to check if operation successful */ + pgs = MTL_HFPWRSTS_DSPHPXPGS_MASK; + dsphfpwrsts = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_HFPWRSTS); + ret = snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR, MTL_HFPWRSTS, dsphfpwrsts, + (dsphfpwrsts & pgs) == pgs, + HDA_DSP_REG_POLL_INTERVAL_US, + HDA_DSP_RESET_TIMEOUT_US); + if (ret < 0) + dev_err(sdev->dev, "failed to power up gated DSP domain\n"); + + /* make sure SoundWire is not power-gated */ + snd_sof_dsp_update_bits(sdev, HDA_DSP_HDA_BAR, MTL_HFPWRCTL, + MTL_HfPWRCTL_WPIOXPG(1), MTL_HfPWRCTL_WPIOXPG(1)); + return ret; +} + +static int mtl_dsp_post_fw_run(struct snd_sof_dev *sdev) +{ + int ret; + + if (sdev->first_boot) { + struct sof_intel_hda_dev *hdev = sdev->pdata->hw_pdata; + + ret = hda_sdw_startup(sdev); + if (ret < 0) { + dev_err(sdev->dev, "could not startup SoundWire links\n"); + return ret; + } + + /* Check if IMR boot is usable */ + if (!sof_debug_check_flag(SOF_DBG_IGNORE_D3_PERSISTENT)) + hdev->imrboot_supported = true; + } + + hda_sdw_int_enable(sdev, true); + return 0; +} + +static void mtl_dsp_dump(struct snd_sof_dev *sdev, u32 flags) +{ + char *level = (flags & SOF_DBG_DUMP_OPTIONAL) ? KERN_DEBUG : KERN_ERR; + u32 romdbgsts; + u32 romdbgerr; + u32 fwsts; + u32 fwlec; + + fwsts = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_DSP_ROM_STS); + fwlec = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_DSP_ROM_ERROR); + romdbgsts = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_DSP_REG_HFFLGPXQWY); + romdbgerr = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_DSP_REG_HFFLGPXQWY_ERROR); + + dev_err(sdev->dev, "ROM status: %#x, ROM error: %#x\n", fwsts, fwlec); + dev_err(sdev->dev, "ROM debug status: %#x, ROM debug error: %#x\n", romdbgsts, + romdbgerr); + romdbgsts = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_DSP_REG_HFFLGPXQWY + 0x8 * 3); + dev_printk(level, sdev->dev, "ROM feature bit%s enabled\n", + romdbgsts & BIT(24) ? "" : " not"); +} + +static bool mtl_dsp_primary_core_is_enabled(struct snd_sof_dev *sdev) +{ + int val; + + val = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_DSP2CXCTL_PRIMARY_CORE); + if (val != U32_MAX && val & MTL_DSP2CXCTL_PRIMARY_CORE_CPA_MASK) + return true; + + return false; +} + +static int mtl_dsp_core_power_up(struct snd_sof_dev *sdev, int core) +{ + unsigned int cpa; + u32 dspcxctl; + int ret; + + /* Only the primary core can be powered up by the host */ + if (core != SOF_DSP_PRIMARY_CORE || mtl_dsp_primary_core_is_enabled(sdev)) + return 0; + + /* Program the owner of the IP & shim registers (10: Host CPU) */ + snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, MTL_DSP2CXCTL_PRIMARY_CORE, + MTL_DSP2CXCTL_PRIMARY_CORE_OSEL, + 0x2 << MTL_DSP2CXCTL_PRIMARY_CORE_OSEL_SHIFT); + + /* enable SPA bit */ + snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, MTL_DSP2CXCTL_PRIMARY_CORE, + MTL_DSP2CXCTL_PRIMARY_CORE_SPA_MASK, + MTL_DSP2CXCTL_PRIMARY_CORE_SPA_MASK); + + /* Wait for unstable CPA read (1 then 0 then 1) just after setting SPA bit */ + usleep_range(1000, 1010); + + /* poll with timeout to check if operation successful */ + cpa = MTL_DSP2CXCTL_PRIMARY_CORE_CPA_MASK; + ret = snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR, MTL_DSP2CXCTL_PRIMARY_CORE, dspcxctl, + (dspcxctl & cpa) == cpa, HDA_DSP_REG_POLL_INTERVAL_US, + HDA_DSP_RESET_TIMEOUT_US); + if (ret < 0) { + dev_err(sdev->dev, "%s: timeout on MTL_DSP2CXCTL_PRIMARY_CORE read\n", + __func__); + return ret; + } + + /* did core power up ? */ + dspcxctl = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_DSP2CXCTL_PRIMARY_CORE); + if ((dspcxctl & MTL_DSP2CXCTL_PRIMARY_CORE_CPA_MASK) + != MTL_DSP2CXCTL_PRIMARY_CORE_CPA_MASK) { + dev_err(sdev->dev, "power up core failed core %d adspcs %#x\n", + core, dspcxctl); + ret = -EIO; + } + + return ret; +} + +static int mtl_dsp_core_power_down(struct snd_sof_dev *sdev, int core) +{ + u32 dspcxctl; + int ret; + + /* Only the primary core can be powered down by the host */ + if (core != SOF_DSP_PRIMARY_CORE || !mtl_dsp_primary_core_is_enabled(sdev)) + return 0; + + /* disable SPA bit */ + snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, MTL_DSP2CXCTL_PRIMARY_CORE, + MTL_DSP2CXCTL_PRIMARY_CORE_SPA_MASK, 0); + + /* Wait for unstable CPA read (1 then 0 then 1) just after setting SPA bit */ + usleep_range(1000, 1010); + + ret = snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR, MTL_DSP2CXCTL_PRIMARY_CORE, dspcxctl, + !(dspcxctl & MTL_DSP2CXCTL_PRIMARY_CORE_CPA_MASK), + HDA_DSP_REG_POLL_INTERVAL_US, + HDA_DSP_PD_TIMEOUT * USEC_PER_MSEC); + if (ret < 0) + dev_err(sdev->dev, "failed to power down primary core\n"); + + return ret; +} + +static int mtl_dsp_cl_init(struct snd_sof_dev *sdev, int stream_tag, bool imr_boot) +{ + struct sof_intel_hda_dev *hda = sdev->pdata->hw_pdata; + const struct sof_intel_dsp_desc *chip = hda->desc; + unsigned int status; + u32 ipc_hdr; + int ret; + + /* step 1: purge FW request */ + ipc_hdr = chip->ipc_req_mask | HDA_DSP_ROM_IPC_CONTROL; + if (!imr_boot) + ipc_hdr |= HDA_DSP_ROM_IPC_PURGE_FW | ((stream_tag - 1) << 9); + + snd_sof_dsp_write(sdev, HDA_DSP_BAR, chip->ipc_req, ipc_hdr); + + /* step 2: power up primary core */ + ret = mtl_dsp_core_power_up(sdev, SOF_DSP_PRIMARY_CORE); + if (ret < 0) { + if (hda->boot_iteration == HDA_FW_BOOT_ATTEMPTS) + dev_err(sdev->dev, "dsp core 0/1 power up failed\n"); + goto err; + } + + dev_dbg(sdev->dev, "Primary core power up successful\n"); + + /* step 3: wait for IPC DONE bit from ROM */ + ret = snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR, chip->ipc_ack, status, + ((status & chip->ipc_ack_mask) == chip->ipc_ack_mask), + HDA_DSP_REG_POLL_INTERVAL_US, MTL_DSP_PURGE_TIMEOUT_US); + if (ret < 0) { + if (hda->boot_iteration == HDA_FW_BOOT_ATTEMPTS) + dev_err(sdev->dev, "timeout waiting for purge IPC done\n"); + goto err; + } + + /* set DONE bit to clear the reply IPC message */ + snd_sof_dsp_update_bits_forced(sdev, HDA_DSP_BAR, chip->ipc_ack, chip->ipc_ack_mask, + chip->ipc_ack_mask); + + /* step 4: enable interrupts */ + ret = mtl_enable_interrupts(sdev); + if (ret < 0) { + if (hda->boot_iteration == HDA_FW_BOOT_ATTEMPTS) + dev_err(sdev->dev, "%s: failed to enable interrupts\n", __func__); + goto err; + } + + mtl_enable_ipc_interrupts(sdev); + + /* + * ACE workaround: don't wait for ROM INIT. + * The platform cannot catch ROM_INIT_DONE because of a very short + * timing window. Follow the recommendations and skip this part. + */ + + return 0; + +err: + snd_sof_dsp_dbg_dump(sdev, "MTL DSP init fail", 0); + mtl_dsp_core_power_down(sdev, SOF_DSP_PRIMARY_CORE); + return ret; +} + +static irqreturn_t mtl_ipc_irq_thread(int irq, void *context) +{ + struct sof_ipc4_msg notification_data = {{ 0 }}; + struct snd_sof_dev *sdev = context; + bool ipc_irq = false; + u32 hipcida; + u32 hipctdr; + + hipcida = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_DSP_REG_HFIPCXIDA); + + /* reply message from DSP */ + if (hipcida & MTL_DSP_REG_HFIPCXIDA_DONE) { + /* DSP received the message */ + snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, MTL_DSP_REG_HFIPCXCTL, + MTL_DSP_REG_HFIPCXCTL_DONE, 0); + + mtl_ipc_dsp_done(sdev); + + ipc_irq = true; + } + + hipctdr = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_DSP_REG_HFIPCXTDR); + if (hipctdr & MTL_DSP_REG_HFIPCXTDR_BUSY) { + /* Message from DSP (reply or notification) */ + u32 extension = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_DSP_REG_HFIPCXTDDY); + u32 primary = hipctdr & MTL_DSP_REG_HFIPCXTDR_MSG_MASK; + + /* + * ACE fw sends a new fw ipc message to host to + * notify the status of the last host ipc message + */ + if (primary & SOF_IPC4_MSG_DIR_MASK) { + /* Reply received */ + struct sof_ipc4_msg *data = sdev->ipc->msg.reply_data; + + data->primary = primary; + data->extension = extension; + + spin_lock_irq(&sdev->ipc_lock); + + snd_sof_ipc_get_reply(sdev); + snd_sof_ipc_reply(sdev, data->primary); + + spin_unlock_irq(&sdev->ipc_lock); + } else { + /* Notification received */ + notification_data.primary = primary; + notification_data.extension = extension; + + sdev->ipc->msg.rx_data = ¬ification_data; + snd_sof_ipc_msgs_rx(sdev); + sdev->ipc->msg.rx_data = NULL; + } + + mtl_ipc_host_done(sdev); + + ipc_irq = true; + } + + if (!ipc_irq) { + /* This interrupt is not shared so no need to return IRQ_NONE. */ + dev_dbg_ratelimited(sdev->dev, "%s nothing to do in IPC IRQ thread\n", + __func__); + } + + return IRQ_HANDLED; +} + +static int mtl_dsp_ipc_get_mailbox_offset(struct snd_sof_dev *sdev) +{ + return MTL_DSP_MBOX_UPLINK_OFFSET; +} + +static int mtl_dsp_ipc_get_window_offset(struct snd_sof_dev *sdev, u32 id) +{ + return MTL_SRAM_WINDOW_OFFSET(id); +} + +static int mtl_suspend(struct snd_sof_dev *sdev, bool runtime_suspend) +{ + struct sof_intel_hda_dev *hda = sdev->pdata->hw_pdata; + const struct sof_intel_dsp_desc *chip = hda->desc; +#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA) + struct hdac_bus *bus = sof_to_bus(sdev); +#endif + u32 dsphfdsscs; + u32 cpa; + int ret; + int i; + + mtl_disable_ipc_interrupts(sdev); + ret = mtl_disable_interrupts(sdev); + if (ret) + return ret; + +#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA) + hda_codec_jack_wake_enable(sdev, runtime_suspend); + /* power down all hda link */ + snd_hdac_ext_bus_link_power_down_all(bus); +#endif + snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, MTL_HFPWRCTL, + MTL_HFPWRCTL_WPDSPHPXPG, 0); + + /* Set the DSP subsystem power down */ + snd_sof_dsp_update_bits(sdev, HDA_DSP_BAR, MTL_HFDSSCS, + MTL_HFDSSCS_SPA_MASK, 0); + + /* Wait for unstable CPA read (1 then 0 then 1) just after setting SPA bit */ + usleep_range(1000, 1010); + + /* poll with timeout to check if operation successful */ + cpa = MTL_HFDSSCS_CPA_MASK; + dsphfdsscs = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_HFDSSCS); + ret = snd_sof_dsp_read_poll_timeout(sdev, HDA_DSP_BAR, MTL_HFDSSCS, dsphfdsscs, + (dsphfdsscs & cpa) == 0, HDA_DSP_REG_POLL_INTERVAL_US, + HDA_DSP_RESET_TIMEOUT_US); + if (ret < 0) + dev_err(sdev->dev, "failed to disable DSP subsystem\n"); + + /* reset ref counts for all cores */ + for (i = 0; i < chip->cores_num; i++) + sdev->dsp_core_ref_count[i] = 0; + + /* TODO: need to reset controller? */ + + /* display codec can be powered off after link reset */ + hda_codec_i915_display_power(sdev, false); + + return 0; +} + +static int mtl_dsp_suspend(struct snd_sof_dev *sdev, u32 target_state) +{ + const struct sof_dsp_power_state target_dsp_state = { + .state = target_state, + .substate = target_state == SOF_DSP_PM_D0 ? + SOF_HDA_DSP_PM_D0I3 : 0, + }; + int ret; + + ret = mtl_suspend(sdev, false); + if (ret < 0) + return ret; + + return snd_sof_dsp_set_power_state(sdev, &target_dsp_state); +} + +static int mtl_dsp_runtime_suspend(struct snd_sof_dev *sdev) +{ + const struct sof_dsp_power_state target_state = { + .state = SOF_DSP_PM_D3, + }; + int ret; + + ret = mtl_suspend(sdev, true); + if (ret < 0) + return ret; + + return snd_sof_dsp_set_power_state(sdev, &target_state); +} + +static int mtl_resume(struct snd_sof_dev *sdev, bool runtime_resume) +{ +#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA) + struct hdac_bus *bus = sof_to_bus(sdev); + struct hdac_ext_link *hlink = NULL; +#endif + + /* display codec must be powered before link reset */ + hda_codec_i915_display_power(sdev, true); + +#if IS_ENABLED(CONFIG_SND_SOC_SOF_HDA) + /* check jack status */ + if (runtime_resume) { + hda_codec_jack_wake_enable(sdev, false); + if (sdev->system_suspend_target == SOF_SUSPEND_NONE) + hda_codec_jack_check(sdev); + } + + /* turn off the links that were off before suspend */ + list_for_each_entry(hlink, &bus->hlink_list, list) { + if (!hlink->ref_count) + snd_hdac_ext_bus_link_power_down(hlink); + } + + /* check dma status and clean up CORB/RIRB buffers */ + if (!bus->cmd_dma_state) + snd_hdac_bus_stop_cmd_io(bus); +#endif + + return 0; +} + +static int mtl_dsp_resume(struct snd_sof_dev *sdev) +{ + const struct sof_dsp_power_state target_state = { + .state = SOF_DSP_PM_D0, + .substate = SOF_HDA_DSP_PM_D0I0, + }; + int ret; + + ret = mtl_resume(sdev, false); + if (ret < 0) + return ret; + + return snd_sof_dsp_set_power_state(sdev, &target_state); +} + +static int mtl_dsp_runtime_resume(struct snd_sof_dev *sdev) +{ + const struct sof_dsp_power_state target_state = { + .state = SOF_DSP_PM_D0, + }; + int ret; + + ret = mtl_resume(sdev, true); + if (ret < 0) + return ret; + + return snd_sof_dsp_set_power_state(sdev, &target_state); +} + +static void mtl_ipc_dump(struct snd_sof_dev *sdev) +{ + u32 hipcctl; + u32 hipcida; + u32 hipctdr; + + /* read IPC status */ + hipcida = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_DSP_REG_HFIPCXIDA); + hipcctl = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_DSP_REG_HFIPCXCTL); + hipctdr = snd_sof_dsp_read(sdev, HDA_DSP_BAR, MTL_DSP_REG_HFIPCXTDR); + + /* dump the IPC regs */ + /* TODO: parse the raw msg */ + dev_err(sdev->dev, + "error: host status 0x%8.8x dsp status 0x%8.8x mask 0x%8.8x\n", + hipcida, hipctdr, hipcctl); +} + +/* Meteorlake ops */ +struct snd_sof_dsp_ops sof_mtl_ops; +EXPORT_SYMBOL_NS(sof_mtl_ops, SND_SOC_SOF_INTEL_HDA_COMMON); + +int sof_mtl_ops_init(struct snd_sof_dev *sdev) +{ + struct sof_ipc4_fw_data *ipc4_data; + + /* common defaults */ + memcpy(&sof_mtl_ops, &sof_hda_common_ops, sizeof(struct snd_sof_dsp_ops)); + + /* shutdown */ + sof_mtl_ops.shutdown = hda_dsp_shutdown; + + /* doorbell */ + sof_mtl_ops.irq_thread = mtl_ipc_irq_thread; + + /* ipc */ + sof_mtl_ops.send_msg = mtl_ipc_send_msg; + sof_mtl_ops.get_mailbox_offset = mtl_dsp_ipc_get_mailbox_offset; + sof_mtl_ops.get_window_offset = mtl_dsp_ipc_get_window_offset; + + /* debug */ + sof_mtl_ops.debug_map = mtl_dsp_debugfs; + sof_mtl_ops.debug_map_count = ARRAY_SIZE(mtl_dsp_debugfs); + sof_mtl_ops.dbg_dump = mtl_dsp_dump; + sof_mtl_ops.ipc_dump = mtl_ipc_dump; + + /* pre/post fw run */ + sof_mtl_ops.pre_fw_run = mtl_dsp_pre_fw_run; + sof_mtl_ops.post_fw_run = mtl_dsp_post_fw_run; + + /* parse platform specific extended manifest */ + sof_mtl_ops.parse_platform_ext_manifest = NULL; + + /* dsp core get/put */ + /* TODO: add core_get and core_put */ + + /* PM */ + sof_mtl_ops.suspend = mtl_dsp_suspend; + sof_mtl_ops.resume = mtl_dsp_resume; + sof_mtl_ops.runtime_suspend = mtl_dsp_runtime_suspend; + sof_mtl_ops.runtime_resume = mtl_dsp_runtime_resume; + + sdev->private = devm_kzalloc(sdev->dev, sizeof(struct sof_ipc4_fw_data), GFP_KERNEL); + if (!sdev->private) + return -ENOMEM; + + ipc4_data = sdev->private; + ipc4_data->manifest_fw_hdr_offset = SOF_MAN4_FW_HDR_OFFSET; + + /* set DAI ops */ + hda_set_dai_drv_ops(sdev, &sof_mtl_ops); + + return 0; +}; +EXPORT_SYMBOL_NS(sof_mtl_ops_init, SND_SOC_SOF_INTEL_HDA_COMMON); + +const struct sof_intel_dsp_desc mtl_chip_info = { + .cores_num = 3, + .init_core_mask = BIT(0), + .host_managed_cores_mask = BIT(0), + .ipc_req = MTL_DSP_REG_HFIPCXIDR, + .ipc_req_mask = MTL_DSP_REG_HFIPCXIDR_BUSY, + .ipc_ack = MTL_DSP_REG_HFIPCXIDA, + .ipc_ack_mask = MTL_DSP_REG_HFIPCXIDA_DONE, + .ipc_ctl = MTL_DSP_REG_HFIPCXCTL, + .rom_status_reg = MTL_DSP_ROM_STS, + .rom_init_timeout = 300, + .ssp_count = ICL_SSP_COUNT, + .ssp_base_offset = CNL_SSP_BASE_OFFSET, + .sdw_shim_base = SDW_SHIM_BASE_ACE, + .sdw_alh_base = SDW_ALH_BASE_ACE, + .check_sdw_irq = mtl_dsp_check_sdw_irq, + .check_ipc_irq = mtl_dsp_check_ipc_irq, + .cl_init = mtl_dsp_cl_init, + .hw_ip_version = SOF_INTEL_ACE_1_0, +}; +EXPORT_SYMBOL_NS(mtl_chip_info, SND_SOC_SOF_INTEL_HDA_COMMON); --- linux-gcp-5.19.0.orig/sound/soc/sof/intel/mtl.h +++ linux-gcp-5.19.0/sound/soc/sof/intel/mtl.h @@ -0,0 +1,76 @@ +/* SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) */ +/* + * This file is provided under a dual BSD/GPLv2 license. When using or + * redistributing this file, you may do so under either license. + * + * Copyright(c) 2020-2022 Intel Corporation. All rights reserved. + */ + +/* DSP Registers */ +#define MTL_HFDSSCS 0x1000 +#define MTL_HFDSSCS_SPA_MASK BIT(16) +#define MTL_HFDSSCS_CPA_MASK BIT(24) +#define MTL_HFSNDWIE 0x114C +#define MTL_HFPWRCTL 0x1D18 +#define MTL_HfPWRCTL_WPIOXPG(x) BIT((x) + 8) +#define MTL_HFPWRCTL_WPDSPHPXPG BIT(0) +#define MTL_HFPWRSTS 0x1D1C +#define MTL_HFPWRSTS_DSPHPXPGS_MASK BIT(0) +#define MTL_HFINTIPPTR 0x1108 +#define MTL_IRQ_INTEN_L_HOST_IPC_MASK BIT(0) +#define MTL_IRQ_INTEN_L_SOUNDWIRE_MASK BIT(6) +#define MTL_HFINTIPPTR_PTR_MASK GENMASK(20, 0) + +#define MTL_DSP2CXCAP_PRIMARY_CORE 0x178D00 +#define MTL_DSP2CXCTL_PRIMARY_CORE 0x178D04 +#define MTL_DSP2CXCTL_PRIMARY_CORE_SPA_MASK BIT(0) +#define MTL_DSP2CXCTL_PRIMARY_CORE_CPA_MASK BIT(8) +#define MTL_DSP2CXCTL_PRIMARY_CORE_OSEL GENMASK(25, 24) +#define MTL_DSP2CXCTL_PRIMARY_CORE_OSEL_SHIFT 24 + +/* IPC Registers */ +#define MTL_DSP_REG_HFIPCXTDR 0x73200 +#define MTL_DSP_REG_HFIPCXTDR_BUSY BIT(31) +#define MTL_DSP_REG_HFIPCXTDR_MSG_MASK GENMASK(30, 0) +#define MTL_DSP_REG_HFIPCXTDA 0x73204 +#define MTL_DSP_REG_HFIPCXTDA_BUSY BIT(31) +#define MTL_DSP_REG_HFIPCXIDR 0x73210 +#define MTL_DSP_REG_HFIPCXIDR_BUSY BIT(31) +#define MTL_DSP_REG_HFIPCXIDR_MSG_MASK GENMASK(30, 0) +#define MTL_DSP_REG_HFIPCXIDA 0x73214 +#define MTL_DSP_REG_HFIPCXIDA_DONE BIT(31) +#define MTL_DSP_REG_HFIPCXIDA_MSG_MASK GENMASK(30, 0) +#define MTL_DSP_REG_HFIPCXCTL 0x73228 +#define MTL_DSP_REG_HFIPCXCTL_BUSY BIT(0) +#define MTL_DSP_REG_HFIPCXCTL_DONE BIT(1) +#define MTL_DSP_REG_HFIPCXTDDY 0x73300 +#define MTL_DSP_REG_HFIPCXIDDY 0x73380 +#define MTL_DSP_REG_HfHIPCIE 0x1140 +#define MTL_DSP_REG_HfHIPCIE_IE_MASK BIT(0) +#define MTL_DSP_REG_HfSNDWIE 0x114C +#define MTL_DSP_REG_HfSNDWIE_IE_MASK GENMASK(3, 0) + +#define MTL_DSP_IRQSTS 0x20 +#define MTL_DSP_IRQSTS_IPC BIT(0) +#define MTL_DSP_IRQSTS_SDW BIT(6) + +#define MTL_DSP_PURGE_TIMEOUT_US 20000000 /* 20s */ +#define MTL_DSP_REG_POLL_INTERVAL_US 10 /* 10 us */ + +/* Memory windows */ +#define MTL_SRAM_WINDOW_OFFSET(x) (0x180000 + 0x8000 * (x)) + +#define MTL_DSP_MBOX_UPLINK_OFFSET (MTL_SRAM_WINDOW_OFFSET(0) + 0x1000) +#define MTL_DSP_MBOX_UPLINK_SIZE 0x1000 +#define MTL_DSP_MBOX_DOWNLINK_OFFSET MTL_SRAM_WINDOW_OFFSET(1) +#define MTL_DSP_MBOX_DOWNLINK_SIZE 0x1000 + +/* FW registers */ +#define MTL_DSP_ROM_STS MTL_SRAM_WINDOW_OFFSET(0) /* ROM status */ +#define MTL_DSP_ROM_ERROR (MTL_SRAM_WINDOW_OFFSET(0) + 0x4) /* ROM error code */ + +#define MTL_DSP_REG_HFFLGPXQWY 0x163200 /* ROM debug status */ +#define MTL_DSP_REG_HFFLGPXQWY_ERROR 0x163204 /* ROM debug error code */ +#define MTL_DSP_REG_HfIMRIS1 0x162088 +#define MTL_DSP_REG_HfIMRIS1_IU_MASK BIT(0) + --- linux-gcp-5.19.0.orig/sound/soc/sof/intel/pci-mtl.c +++ linux-gcp-5.19.0/sound/soc/sof/intel/pci-mtl.c @@ -0,0 +1,71 @@ +// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) +// +// This file is provided under a dual BSD/GPLv2 license. When using or +// redistributing this file, you may do so under either license. +// +// Copyright(c) 2018-2022 Intel Corporation. All rights reserved. +// +// Author: Ranjani Sridharan +// + +#include +#include +#include +#include +#include +#include "../ops.h" +#include "../sof-pci-dev.h" + +/* platform specific devices */ +#include "hda.h" +#include "mtl.h" + +static const struct sof_dev_desc mtl_desc = { + .use_acpi_target_states = true, + .machines = snd_soc_acpi_intel_mtl_machines, + .alt_machines = snd_soc_acpi_intel_mtl_sdw_machines, + .resindex_lpe_base = 0, + .resindex_pcicfg_base = -1, + .resindex_imr_base = -1, + .irqindex_host_ipc = -1, + .chip_info = &mtl_chip_info, + .ipc_supported_mask = BIT(SOF_INTEL_IPC4), + .ipc_default = SOF_INTEL_IPC4, + .default_fw_path = { + [SOF_INTEL_IPC4] = "intel/sof-ipc4/mtl", + }, + .default_tplg_path = { + [SOF_INTEL_IPC4] = "intel/sof-ace-tplg", + }, + .default_fw_filename = { + [SOF_INTEL_IPC4] = "dsp_basefw.bin", + }, + .nocodec_tplg_filename = "sof-mtl-nocodec.tplg", + .ops = &sof_mtl_ops, + .ops_init = sof_mtl_ops_init, +}; + +/* PCI IDs */ +static const struct pci_device_id sof_pci_ids[] = { + { PCI_DEVICE(0x8086, 0x7E28), /* MTL */ + .driver_data = (unsigned long)&mtl_desc}, + { 0, } +}; +MODULE_DEVICE_TABLE(pci, sof_pci_ids); + +/* pci_driver definition */ +static struct pci_driver snd_sof_pci_intel_mtl_driver = { + .name = "sof-audio-pci-intel-mtl", + .id_table = sof_pci_ids, + .probe = hda_pci_intel_probe, + .remove = sof_pci_remove, + .shutdown = sof_pci_shutdown, + .driver = { + .pm = &sof_pci_pm, + }, +}; +module_pci_driver(snd_sof_pci_intel_mtl_driver); + +MODULE_LICENSE("Dual BSD/GPL"); +MODULE_IMPORT_NS(SND_SOC_SOF_INTEL_HDA_COMMON); +MODULE_IMPORT_NS(SND_SOC_SOF_PCI_DEV); --- linux-gcp-5.19.0.orig/sound/soc/sof/intel/pci-tgl.c +++ linux-gcp-5.19.0/sound/soc/sof/intel/pci-tgl.c @@ -158,6 +158,62 @@ .ops_init = sof_tgl_ops_init, }; +static const struct sof_dev_desc rpls_desc = { + .machines = snd_soc_acpi_intel_rpl_machines, + .alt_machines = snd_soc_acpi_intel_rpl_sdw_machines, + .use_acpi_target_states = true, + .resindex_lpe_base = 0, + .resindex_pcicfg_base = -1, + .resindex_imr_base = -1, + .irqindex_host_ipc = -1, + .chip_info = &adls_chip_info, + .ipc_supported_mask = BIT(SOF_IPC) | BIT(SOF_INTEL_IPC4), + .ipc_default = SOF_IPC, + .default_fw_path = { + [SOF_IPC] = "intel/sof", + [SOF_INTEL_IPC4] = "intel/avs/rpl-s", + }, + .default_tplg_path = { + [SOF_IPC] = "intel/sof-tplg", + [SOF_INTEL_IPC4] = "intel/avs-tplg", + }, + .default_fw_filename = { + [SOF_IPC] = "sof-rpl-s.ri", + [SOF_INTEL_IPC4] = "dsp_basefw.bin", + }, + .nocodec_tplg_filename = "sof-rpl-nocodec.tplg", + .ops = &sof_tgl_ops, + .ops_init = sof_tgl_ops_init, +}; + +static const struct sof_dev_desc rpl_desc = { + .machines = snd_soc_acpi_intel_rpl_machines, + .alt_machines = snd_soc_acpi_intel_rpl_sdw_machines, + .use_acpi_target_states = true, + .resindex_lpe_base = 0, + .resindex_pcicfg_base = -1, + .resindex_imr_base = -1, + .irqindex_host_ipc = -1, + .chip_info = &tgl_chip_info, + .ipc_supported_mask = BIT(SOF_IPC) | BIT(SOF_INTEL_IPC4), + .ipc_default = SOF_IPC, + .default_fw_path = { + [SOF_IPC] = "intel/sof", + [SOF_INTEL_IPC4] = "intel/avs/rpl", + }, + .default_tplg_path = { + [SOF_IPC] = "intel/sof-tplg", + [SOF_INTEL_IPC4] = "intel/avs-tplg", + }, + .default_fw_filename = { + [SOF_IPC] = "sof-rpl.ri", + [SOF_INTEL_IPC4] = "dsp_basefw.bin", + }, + .nocodec_tplg_filename = "sof-rpl-nocodec.tplg", + .ops = &sof_tgl_ops, + .ops_init = sof_tgl_ops_init, +}; + /* PCI IDs */ static const struct pci_device_id sof_pci_ids[] = { { PCI_DEVICE(0x8086, 0xa0c8), /* TGL-LP */ @@ -171,7 +227,7 @@ { PCI_DEVICE(0x8086, 0x7ad0), /* ADL-S */ .driver_data = (unsigned long)&adls_desc}, { PCI_DEVICE(0x8086, 0x7a50), /* RPL-S */ - .driver_data = (unsigned long)&adls_desc}, + .driver_data = (unsigned long)&rpls_desc}, { PCI_DEVICE(0x8086, 0x51c8), /* ADL-P */ .driver_data = (unsigned long)&adl_desc}, { PCI_DEVICE(0x8086, 0x51cd), /* ADL-P */ @@ -179,9 +235,9 @@ { PCI_DEVICE(0x8086, 0x51c9), /* ADL-PS */ .driver_data = (unsigned long)&adl_desc}, { PCI_DEVICE(0x8086, 0x51ca), /* RPL-P */ - .driver_data = (unsigned long)&adl_desc}, + .driver_data = (unsigned long)&rpl_desc}, { PCI_DEVICE(0x8086, 0x51cb), /* RPL-P */ - .driver_data = (unsigned long)&adl_desc}, + .driver_data = (unsigned long)&rpl_desc}, { PCI_DEVICE(0x8086, 0x51cc), /* ADL-M */ .driver_data = (unsigned long)&adl_desc}, { PCI_DEVICE(0x8086, 0x54c8), /* ADL-N */ --- linux-gcp-5.19.0.orig/sound/soc/sof/intel/shim.h +++ linux-gcp-5.19.0/sound/soc/sof/intel/shim.h @@ -20,6 +20,7 @@ SOF_INTEL_CAVS_1_8, /* CannonLake, CometLake, CoffeeLake */ SOF_INTEL_CAVS_2_0, /* IceLake, JasperLake */ SOF_INTEL_CAVS_2_5, /* TigerLake, AlderLake */ + SOF_INTEL_ACE_1_0, /* MeteorLake */ }; /* @@ -185,6 +186,7 @@ enum sof_intel_hw_ip_version hw_ip_version; bool (*check_sdw_irq)(struct snd_sof_dev *sdev); bool (*check_ipc_irq)(struct snd_sof_dev *sdev); + int (*cl_init)(struct snd_sof_dev *sdev, int stream_tag, bool imr_boot); }; extern struct snd_sof_dsp_ops sof_tng_ops; --- linux-gcp-5.19.0.orig/sound/soc/sof/intel/tgl.c +++ linux-gcp-5.19.0/sound/soc/sof/intel/tgl.c @@ -137,6 +137,7 @@ .sdw_alh_base = SDW_ALH_BASE, .check_sdw_irq = hda_common_check_sdw_irq, .check_ipc_irq = hda_dsp_check_ipc_irq, + .cl_init = cl_dsp_init, .hw_ip_version = SOF_INTEL_CAVS_2_5, }; EXPORT_SYMBOL_NS(tgl_chip_info, SND_SOC_SOF_INTEL_HDA_COMMON); @@ -159,6 +160,7 @@ .sdw_alh_base = SDW_ALH_BASE, .check_sdw_irq = hda_common_check_sdw_irq, .check_ipc_irq = hda_dsp_check_ipc_irq, + .cl_init = cl_dsp_init, .hw_ip_version = SOF_INTEL_CAVS_2_5, }; EXPORT_SYMBOL_NS(tglh_chip_info, SND_SOC_SOF_INTEL_HDA_COMMON); @@ -181,6 +183,7 @@ .sdw_alh_base = SDW_ALH_BASE, .check_sdw_irq = hda_common_check_sdw_irq, .check_ipc_irq = hda_dsp_check_ipc_irq, + .cl_init = cl_dsp_init, .hw_ip_version = SOF_INTEL_CAVS_2_5, }; EXPORT_SYMBOL_NS(ehl_chip_info, SND_SOC_SOF_INTEL_HDA_COMMON); @@ -203,6 +206,7 @@ .sdw_alh_base = SDW_ALH_BASE, .check_sdw_irq = hda_common_check_sdw_irq, .check_ipc_irq = hda_dsp_check_ipc_irq, + .cl_init = cl_dsp_init, .hw_ip_version = SOF_INTEL_CAVS_2_5, }; EXPORT_SYMBOL_NS(adls_chip_info, SND_SOC_SOF_INTEL_HDA_COMMON); --- linux-gcp-5.19.0.orig/sound/soc/sof/ipc3-topology.c +++ linux-gcp-5.19.0/sound/soc/sof/ipc3-topology.c @@ -1233,6 +1233,7 @@ static int sof_link_ssp_load(struct snd_soc_component *scomp, struct snd_sof_dai_link *slink, struct sof_ipc_dai_config *config, struct snd_sof_dai *dai) { + struct snd_sof_dev *sdev = snd_soc_component_get_drvdata(scomp); struct snd_soc_tplg_hw_config *hw_config = slink->hw_configs; struct sof_dai_private_data *private = dai->private; u32 size = sizeof(*config); @@ -1257,6 +1258,12 @@ config[i].hdr.size = size; + if (sdev->mclk_id_override) { + dev_dbg(scomp->dev, "tplg: overriding topology mclk_id %d by quirk %d\n", + config[i].ssp.mclk_id, sdev->mclk_id_quirk); + config[i].ssp.mclk_id = sdev->mclk_id_quirk; + } + /* copy differentiating hw configs to ipc structs */ config[i].ssp.mclk_rate = le32_to_cpu(hw_config[i].mclk_rate); config[i].ssp.bclk_rate = le32_to_cpu(hw_config[i].bclk_rate); @@ -1628,6 +1635,7 @@ return 0; err: kfree(scontrol->ipc_control_data); + scontrol->ipc_control_data = NULL; return ret; } @@ -2218,6 +2226,7 @@ struct sof_ipc_fw_version *v = &sdev->fw_ready.version; struct snd_sof_widget *swidget; struct snd_sof_route *sroute; + bool dyn_widgets = false; int ret; /* @@ -2227,12 +2236,14 @@ * topology loading the sound card unavailable to open PCMs. */ list_for_each_entry(swidget, &sdev->widget_list, list) { - if (swidget->dynamic_pipeline_widget) + if (swidget->dynamic_pipeline_widget) { + dyn_widgets = true; continue; + } - /* Do not free widgets for static pipelines with FW ABI older than 3.19 */ + /* Do not free widgets for static pipelines with FW older than SOF2.2 */ if (!verify && !swidget->dynamic_pipeline_widget && - v->abi_version < SOF_ABI_VER(3, 19, 0)) { + SOF_FW_VER(v->major, v->minor, v->micro) < SOF_FW_VER(2, 2, 0)) { swidget->use_count = 0; swidget->complete = 0; continue; @@ -2246,9 +2257,11 @@ /* * Tear down all pipelines associated with PCMs that did not get suspended * and unset the prepare flag so that they can be set up again during resume. - * Skip this step for older firmware. + * Skip this step for older firmware unless topology has any + * dynamic pipeline (in which case the step is mandatory). */ - if (!verify && v->abi_version >= SOF_ABI_VER(3, 19, 0)) { + if (!verify && (dyn_widgets || SOF_FW_VER(v->major, v->minor, v->micro) >= + SOF_FW_VER(2, 2, 0))) { ret = sof_tear_down_left_over_pipelines(sdev); if (ret < 0) { dev_err(sdev->dev, "failed to tear down paused pipelines\n"); --- linux-gcp-5.19.0.orig/sound/soc/sof/mediatek/mt8195/mt8195-loader.c +++ linux-gcp-5.19.0/sound/soc/sof/mediatek/mt8195/mt8195-loader.c @@ -21,7 +21,7 @@ /* pull high StatVectorSel to use AltResetVec (set bit4 to 1) */ snd_sof_dsp_update_bits(sdev, DSP_REG_BAR, DSP_RESET_SW, - DSP_RESET_SW, DSP_RESET_SW); + STATVECTOR_SEL, STATVECTOR_SEL); /* toggle DReset & BReset */ /* pull high DReset & BReset */ --- linux-gcp-5.19.0.orig/sound/soc/sof/mediatek/mt8195/mt8195.c +++ linux-gcp-5.19.0/sound/soc/sof/mediatek/mt8195/mt8195.c @@ -634,4 +634,5 @@ module_platform_driver(snd_sof_of_mt8195_driver); MODULE_IMPORT_NS(SND_SOC_SOF_XTENSA); +MODULE_IMPORT_NS(SND_SOC_SOF_MTK_COMMON); MODULE_LICENSE("Dual BSD/GPL"); --- linux-gcp-5.19.0.orig/sound/soc/sof/sof-client-ipc-msg-injector.c +++ linux-gcp-5.19.0/sound/soc/sof/sof-client-ipc-msg-injector.c @@ -181,7 +181,7 @@ struct sof_client_dev *cdev = file->private_data; struct sof_msg_inject_priv *priv = cdev->data; struct sof_ipc4_msg *ipc4_msg = priv->tx_buffer; - ssize_t size; + size_t data_size; int ret; if (*ppos) @@ -191,25 +191,20 @@ return -EINVAL; /* copy the header first */ - size = simple_write_to_buffer(&ipc4_msg->header_u64, - sizeof(ipc4_msg->header_u64), - ppos, buffer, count); - if (size < 0) - return size; - if (size != sizeof(ipc4_msg->header_u64)) + if (copy_from_user(&ipc4_msg->header_u64, buffer, + sizeof(ipc4_msg->header_u64))) return -EFAULT; - count -= size; + data_size = count - sizeof(ipc4_msg->header_u64); + if (data_size > priv->max_msg_size) + return -EINVAL; + /* Copy the payload */ - size = simple_write_to_buffer(ipc4_msg->data_ptr, - priv->max_msg_size, ppos, buffer, - count); - if (size < 0) - return size; - if (size != count) + if (copy_from_user(ipc4_msg->data_ptr, + buffer + sizeof(ipc4_msg->header_u64), data_size)) return -EFAULT; - ipc4_msg->data_size = count; + ipc4_msg->data_size = data_size; /* Initialize the reply storage */ ipc4_msg = priv->rx_buffer; @@ -221,9 +216,9 @@ /* return the error code if test failed */ if (ret < 0) - size = ret; + return ret; - return size; + return count; }; static int sof_msg_inject_dfs_release(struct inode *inode, struct file *file) --- linux-gcp-5.19.0.orig/sound/soc/sof/sof-client-probes.c +++ linux-gcp-5.19.0/sound/soc/sof/sof-client-probes.c @@ -693,6 +693,10 @@ if (!sof_probes_enabled) return -ENXIO; + /* only ipc3 is supported */ + if (sof_client_get_ipc_type(cdev) != SOF_IPC) + return -ENXIO; + if (!dev->platform_data) { dev_err(dev, "missing platform data\n"); return -ENODEV; --- linux-gcp-5.19.0.orig/sound/soc/sof/sof-pci-dev.c +++ linux-gcp-5.19.0/sound/soc/sof/sof-pci-dev.c @@ -138,7 +138,7 @@ .ident = "Google Chromebooks", .callback = chromebook_use_community_key, .matches = { - DMI_MATCH(DMI_SYS_VENDOR, "Google"), + DMI_MATCH(DMI_PRODUCT_FAMILY, "Google"), } }, {}, --- linux-gcp-5.19.0.orig/sound/soc/sof/sof-priv.h +++ linux-gcp-5.19.0/sound/soc/sof/sof-priv.h @@ -378,8 +378,8 @@ /** * struct sof_ipc_pm_ops - IPC-specific PM ops - * @ctx_save: Function pointer for context save - * @ctx_restore: Function pointer for context restore + * @ctx_save: Optional function pointer for context save + * @ctx_restore: Optional function pointer for context restore */ struct sof_ipc_pm_ops { int (*ctx_save)(struct snd_sof_dev *sdev); @@ -585,6 +585,10 @@ /* to protect the ipc_rx_handler_list and dsp_state_handler_list list */ struct mutex client_event_handler_mutex; + /* quirks to override topology values */ + bool mclk_id_override; + u16 mclk_id_quirk; /* same size as in IPC3 definitions */ + void *private; /* core does not touch this */ }; --- linux-gcp-5.19.0.orig/sound/soc/sof/topology.c +++ linux-gcp-5.19.0/sound/soc/sof/topology.c @@ -1316,16 +1316,6 @@ break; } - if (sof_debug_check_flag(SOF_DBG_DISABLE_MULTICORE)) { - swidget->core = SOF_DSP_PRIMARY_CORE; - } else { - int core = sof_get_token_value(SOF_TKN_COMP_CORE_ID, swidget->tuples, - swidget->num_tuples); - - if (core >= 0) - swidget->core = core; - } - /* check token parsing reply */ if (ret < 0) { dev_err(scomp->dev, @@ -1337,6 +1327,16 @@ return ret; } + if (sof_debug_check_flag(SOF_DBG_DISABLE_MULTICORE)) { + swidget->core = SOF_DSP_PRIMARY_CORE; + } else { + int core = sof_get_token_value(SOF_TKN_COMP_CORE_ID, swidget->tuples, + swidget->num_tuples); + + if (core >= 0) + swidget->core = core; + } + /* bind widget to external event */ if (tw->event_type) { if (widget_ops[w->id].bind_event) { --- linux-gcp-5.19.0.orig/sound/soc/stm/stm32_adfsdm.c +++ linux-gcp-5.19.0/sound/soc/stm/stm32_adfsdm.c @@ -303,6 +303,11 @@ return 0; } +static void stm32_adfsdm_cleanup(void *data) +{ + iio_channel_release_all_cb(data); +} + static struct snd_soc_component_driver stm32_adfsdm_soc_platform = { .open = stm32_adfsdm_pcm_open, .close = stm32_adfsdm_pcm_close, @@ -334,8 +339,6 @@ dev_set_drvdata(&pdev->dev, priv); - pm_runtime_enable(&pdev->dev); - ret = devm_snd_soc_register_component(&pdev->dev, &stm32_adfsdm_dai_component, &priv->dai_drv, 1); @@ -351,6 +354,12 @@ if (IS_ERR(priv->iio_cb)) return PTR_ERR(priv->iio_cb); + ret = devm_add_action_or_reset(&pdev->dev, stm32_adfsdm_cleanup, priv->iio_cb); + if (ret < 0) { + dev_err(&pdev->dev, "Unable to add action\n"); + return ret; + } + component = devm_kzalloc(&pdev->dev, sizeof(*component), GFP_KERNEL); if (!component) return -ENOMEM; @@ -365,9 +374,13 @@ #endif ret = snd_soc_add_component(component, NULL, 0); - if (ret < 0) + if (ret < 0) { dev_err(&pdev->dev, "%s: Failed to register PCM platform\n", __func__); + return ret; + } + + pm_runtime_enable(&pdev->dev); return ret; } --- linux-gcp-5.19.0.orig/sound/soc/stm/stm32_i2s.c +++ linux-gcp-5.19.0/sound/soc/stm/stm32_i2s.c @@ -1135,8 +1135,6 @@ return dev_err_probe(&pdev->dev, PTR_ERR(i2s->regmap), "Regmap init error\n"); - pm_runtime_enable(&pdev->dev); - ret = snd_dmaengine_pcm_register(&pdev->dev, &stm32_i2s_pcm_config, 0); if (ret) return dev_err_probe(&pdev->dev, ret, "PCM DMA register error\n"); @@ -1179,6 +1177,8 @@ FIELD_GET(I2S_VERR_MIN_MASK, val)); } + pm_runtime_enable(&pdev->dev); + return ret; error: --- linux-gcp-5.19.0.orig/sound/soc/stm/stm32_spdifrx.c +++ linux-gcp-5.19.0/sound/soc/stm/stm32_spdifrx.c @@ -1001,8 +1001,6 @@ udelay(2); reset_control_deassert(rst); - pm_runtime_enable(&pdev->dev); - pcm_config = &stm32_spdifrx_pcm_config; ret = snd_dmaengine_pcm_register(&pdev->dev, pcm_config, 0); if (ret) @@ -1035,6 +1033,8 @@ FIELD_GET(SPDIFRX_VERR_MIN_MASK, ver)); } + pm_runtime_enable(&pdev->dev); + return ret; error: --- linux-gcp-5.19.0.orig/sound/soc/sunxi/sun4i-codec.c +++ linux-gcp-5.19.0/sound/soc/sunxi/sun4i-codec.c @@ -1253,6 +1253,9 @@ static const struct snd_soc_component_driver sun4i_codec_component = { .name = "sun4i-codec", +#ifdef CONFIG_DEBUG_FS + .debugfs_prefix = "cpu", +#endif }; #define SUN4I_CODEC_RATES SNDRV_PCM_RATE_CONTINUOUS --- linux-gcp-5.19.0.orig/sound/synth/emux/emux.c +++ linux-gcp-5.19.0/sound/synth/emux/emux.c @@ -126,15 +126,10 @@ */ int snd_emux_free(struct snd_emux *emu) { - unsigned long flags; - if (! emu) return -EINVAL; - spin_lock_irqsave(&emu->voice_lock, flags); - if (emu->timer_active) - del_timer(&emu->tlist); - spin_unlock_irqrestore(&emu->voice_lock, flags); + del_timer_sync(&emu->tlist); snd_emux_proc_free(emu); snd_emux_delete_virmidi(emu); --- linux-gcp-5.19.0.orig/sound/synth/emux/emux_nrpn.c +++ linux-gcp-5.19.0/sound/synth/emux/emux_nrpn.c @@ -349,6 +349,9 @@ snd_emux_xg_control(struct snd_emux_port *port, struct snd_midi_channel *chan, int param) { + if (param >= ARRAY_SIZE(chan->control)) + return -EINVAL; + return send_converted_effect(xg_effects, ARRAY_SIZE(xg_effects), port, chan, param, chan->control[param], --- linux-gcp-5.19.0.orig/sound/usb/bcd2000/bcd2000.c +++ linux-gcp-5.19.0/sound/usb/bcd2000/bcd2000.c @@ -348,7 +348,8 @@ static void bcd2000_free_usb_related_resources(struct bcd2000 *bcd2k, struct usb_interface *interface) { - /* usb_kill_urb not necessary, urb is aborted automatically */ + usb_kill_urb(bcd2k->midi_out_urb); + usb_kill_urb(bcd2k->midi_in_urb); usb_free_urb(bcd2k->midi_out_urb); usb_free_urb(bcd2k->midi_in_urb); --- linux-gcp-5.19.0.orig/sound/usb/card.c +++ linux-gcp-5.19.0/sound/usb/card.c @@ -387,6 +387,14 @@ DEVICE_NAME(0x05e1, 0x0408, "Syntek", "STK1160"), DEVICE_NAME(0x05e1, 0x0480, "Hauppauge", "Woodbury"), + /* ASUS ROG Zenith II: this machine has also two devices, one for + * the front headphone and another for the rest + */ + PROFILE_NAME(0x0b05, 0x1915, "ASUS", "Zenith II Front Headphone", + "Zenith-II-Front-Headphone"), + PROFILE_NAME(0x0b05, 0x1916, "ASUS", "Zenith II Main Audio", + "Zenith-II-Main-Audio"), + /* ASUS ROG Strix */ PROFILE_NAME(0x0b05, 0x1917, "Realtek", "ALC1220-VB-DT", "Realtek-ALC1220-VB-Desktop"), @@ -682,7 +690,7 @@ return false; } -static bool check_delayed_register_option(struct snd_usb_audio *chip, int iface) +static int check_delayed_register_option(struct snd_usb_audio *chip) { int i; unsigned int id, inum; @@ -691,14 +699,31 @@ if (delayed_register[i] && sscanf(delayed_register[i], "%x:%x", &id, &inum) == 2 && id == chip->usb_id) - return inum != iface; + return inum; } - return false; + return -1; } static const struct usb_device_id usb_audio_ids[]; /* defined below */ +/* look for the last interface that matches with our ids and remember it */ +static void find_last_interface(struct snd_usb_audio *chip) +{ + struct usb_host_config *config = chip->dev->actconfig; + struct usb_interface *intf; + int i; + + if (!config) + return; + for (i = 0; i < config->desc.bNumInterfaces; i++) { + intf = config->interface[i]; + if (usb_match_id(intf, usb_audio_ids)) + chip->last_iface = intf->altsetting[0].desc.bInterfaceNumber; + } + usb_audio_dbg(chip, "Found last interface = %d\n", chip->last_iface); +} + /* look for the corresponding quirk */ static const struct snd_usb_audio_quirk * get_alias_quirk(struct usb_device *dev, unsigned int id) @@ -717,6 +742,18 @@ return NULL; } +/* register card if we reach to the last interface or to the specified + * one given via option + */ +static int try_to_register_card(struct snd_usb_audio *chip, int ifnum) +{ + if (check_delayed_register_option(chip) == ifnum || + chip->last_iface == ifnum || + usb_interface_claimed(usb_ifnum_to_if(chip->dev, chip->last_iface))) + return snd_card_register(chip->card); + return 0; +} + /* * probe the active usb device * @@ -805,6 +842,7 @@ err = -ENODEV; goto __error; } + find_last_interface(chip); } if (chip->num_interfaces >= MAX_CARD_INTERFACES) { @@ -854,15 +892,9 @@ chip->need_delayed_register = false; /* clear again */ } - /* we are allowed to call snd_card_register() many times, but first - * check to see if a device needs to skip it or do anything special - */ - if (!snd_usb_registration_quirk(chip, ifnum) && - !check_delayed_register_option(chip, ifnum)) { - err = snd_card_register(chip->card); - if (err < 0) - goto __error; - } + err = try_to_register_card(chip, ifnum); + if (err < 0) + goto __error_no_register; if (chip->quirk_flags & QUIRK_FLAG_SHARE_MEDIA_DEVICE) { /* don't want to fail when snd_media_device_create() fails */ @@ -881,6 +913,11 @@ return 0; __error: + /* in the case of error in secondary interface, still try to register */ + if (chip) + try_to_register_card(chip, ifnum); + + __error_no_register: if (chip) { /* chip->active is inside the chip->card object, * decrement before memory is possibly returned. --- linux-gcp-5.19.0.orig/sound/usb/endpoint.c +++ linux-gcp-5.19.0/sound/usb/endpoint.c @@ -39,6 +39,7 @@ struct snd_usb_clock_ref { unsigned char clock; atomic_t locked; + int opened; int rate; struct list_head list; }; @@ -93,12 +94,13 @@ */ static void release_urb_ctx(struct snd_urb_ctx *u) { - if (u->buffer_size) + if (u->urb && u->buffer_size) usb_free_coherent(u->ep->chip->dev, u->buffer_size, u->urb->transfer_buffer, u->urb->transfer_dma); usb_free_urb(u->urb); u->urb = NULL; + u->buffer_size = 0; } static const char *usb_error_string(int err) @@ -801,6 +803,7 @@ ep = NULL; goto unlock; } + ep->clock_ref->opened++; } ep->cur_audiofmt = fp; @@ -920,10 +923,15 @@ usb_audio_dbg(chip, "Closing EP 0x%x (count %d)\n", ep->ep_num, ep->opened); - if (!--ep->iface_ref->opened) + if (!--ep->iface_ref->opened && + !(chip->quirk_flags & QUIRK_FLAG_IFACE_SKIP_CLOSE)) endpoint_set_interface(chip, ep, false); if (!--ep->opened) { + if (ep->clock_ref) { + if (!--ep->clock_ref->opened) + ep->clock_ref->rate = 0; + } ep->iface = 0; ep->altsetting = 0; ep->cur_audiofmt = NULL; @@ -1259,6 +1267,7 @@ if (!ep->syncbuf) return -ENOMEM; + ep->nurbs = SYNC_URBS; for (i = 0; i < SYNC_URBS; i++) { struct snd_urb_ctx *u = &ep->urb[i]; u->index = i; @@ -1278,8 +1287,6 @@ u->urb->complete = snd_complete_urb; } - ep->nurbs = SYNC_URBS; - return 0; out_of_memory: @@ -1631,8 +1638,7 @@ WRITE_ONCE(ep->sync_source->sync_sink, NULL); stop_urbs(ep, false, keep_pending); if (ep->clock_ref) - if (!atomic_dec_return(&ep->clock_ref->locked)) - ep->clock_ref->rate = 0; + atomic_dec(&ep->clock_ref->locked); } } --- linux-gcp-5.19.0.orig/sound/usb/implicit.c +++ linux-gcp-5.19.0/sound/usb/implicit.c @@ -47,6 +47,8 @@ static const struct snd_usb_implicit_fb_match playback_implicit_fb_quirks[] = { /* Fixed EP */ /* FIXME: check the availability of generic matching */ + IMPLICIT_FB_FIXED_DEV(0x0763, 0x2030, 0x81, 3), /* M-Audio Fast Track C400 */ + IMPLICIT_FB_FIXED_DEV(0x0763, 0x2031, 0x81, 3), /* M-Audio Fast Track C600 */ IMPLICIT_FB_FIXED_DEV(0x0763, 0x2080, 0x81, 2), /* M-Audio FastTrack Ultra */ IMPLICIT_FB_FIXED_DEV(0x0763, 0x2081, 0x81, 2), /* M-Audio FastTrack Ultra */ IMPLICIT_FB_FIXED_DEV(0x2466, 0x8010, 0x81, 2), /* Fractal Audio Axe-Fx III */ --- linux-gcp-5.19.0.orig/sound/usb/line6/driver.c +++ linux-gcp-5.19.0/sound/usb/line6/driver.c @@ -304,7 +304,8 @@ for (;;) { done = line6_midibuf_read(mb, line6->buffer_message, - LINE6_MIDI_MESSAGE_MAXLEN); + LINE6_MIDI_MESSAGE_MAXLEN, + LINE6_MIDIBUF_READ_RX); if (done <= 0) break; --- linux-gcp-5.19.0.orig/sound/usb/line6/midi.c +++ linux-gcp-5.19.0/sound/usb/line6/midi.c @@ -44,7 +44,8 @@ int req, done; for (;;) { - req = min(line6_midibuf_bytes_free(mb), line6->max_packet_size); + req = min3(line6_midibuf_bytes_free(mb), line6->max_packet_size, + LINE6_FALLBACK_MAXPACKETSIZE); done = snd_rawmidi_transmit_peek(substream, chunk, req); if (done == 0) @@ -56,7 +57,8 @@ for (;;) { done = line6_midibuf_read(mb, chunk, - LINE6_FALLBACK_MAXPACKETSIZE); + LINE6_FALLBACK_MAXPACKETSIZE, + LINE6_MIDIBUF_READ_TX); if (done == 0) break; --- linux-gcp-5.19.0.orig/sound/usb/line6/midibuf.c +++ linux-gcp-5.19.0/sound/usb/line6/midibuf.c @@ -9,6 +9,7 @@ #include "midibuf.h" + static int midibuf_message_length(unsigned char code) { int message_length; @@ -20,12 +21,7 @@ message_length = length[(code >> 4) - 8]; } else { - /* - Note that according to the MIDI specification 0xf2 is - the "Song Position Pointer", but this is used by Line 6 - to send sysex messages to the host. - */ - static const int length[] = { -1, 2, -1, 2, -1, -1, 1, 1, 1, 1, + static const int length[] = { -1, 2, 2, 2, -1, -1, 1, 1, 1, -1, 1, 1, 1, -1, 1, 1 }; message_length = length[code & 0x0f]; @@ -125,7 +121,7 @@ } int line6_midibuf_read(struct midi_buffer *this, unsigned char *data, - int length) + int length, int read_type) { int bytes_used; int length1, length2; @@ -148,9 +144,22 @@ length1 = this->size - this->pos_read; - /* check MIDI command length */ command = this->buf[this->pos_read]; + /* + PODxt always has status byte lower nibble set to 0010, + when it means to send 0000, so we correct if here so + that control/program changes come on channel 1 and + sysex message status byte is correct + */ + if (read_type == LINE6_MIDIBUF_READ_RX) { + if (command == 0xb2 || command == 0xc2 || command == 0xf2) { + unsigned char fixed = command & 0xf0; + this->buf[this->pos_read] = fixed; + command = fixed; + } + } + /* check MIDI command length */ if (command & 0x80) { midi_length = midibuf_message_length(command); this->command_prev = command; --- linux-gcp-5.19.0.orig/sound/usb/line6/midibuf.h +++ linux-gcp-5.19.0/sound/usb/line6/midibuf.h @@ -8,6 +8,9 @@ #ifndef MIDIBUF_H #define MIDIBUF_H +#define LINE6_MIDIBUF_READ_TX 0 +#define LINE6_MIDIBUF_READ_RX 1 + struct midi_buffer { unsigned char *buf; int size; @@ -23,7 +26,7 @@ extern int line6_midibuf_ignore(struct midi_buffer *mb, int length); extern int line6_midibuf_init(struct midi_buffer *mb, int size, int split); extern int line6_midibuf_read(struct midi_buffer *mb, unsigned char *data, - int length); + int length, int read_type); extern void line6_midibuf_reset(struct midi_buffer *mb); extern int line6_midibuf_write(struct midi_buffer *mb, unsigned char *data, int length); --- linux-gcp-5.19.0.orig/sound/usb/line6/pod.c +++ linux-gcp-5.19.0/sound/usb/line6/pod.c @@ -159,8 +159,9 @@ .bytes_per_channel = 3 /* SNDRV_PCM_FMTBIT_S24_3LE */ }; + static const char pod_version_header[] = { - 0xf2, 0x7e, 0x7f, 0x06, 0x02 + 0xf0, 0x7e, 0x7f, 0x06, 0x02 }; static char *pod_alloc_sysex_buffer(struct usb_line6_pod *pod, int code, --- linux-gcp-5.19.0.orig/sound/usb/midi.c +++ linux-gcp-5.19.0/sound/usb/midi.c @@ -1133,10 +1133,8 @@ port = &umidi->endpoints[i].out->ports[j]; break; } - if (!port) { - snd_BUG(); + if (!port) return -ENXIO; - } substream->runtime->private_data = port; port->state = STATE_UNKNOWN; --- linux-gcp-5.19.0.orig/sound/usb/mixer_maps.c +++ linux-gcp-5.19.0/sound/usb/mixer_maps.c @@ -374,13 +374,28 @@ { 0 } }; -/* Some mobos shipped with a dummy HD-audio show the invalid GET_MIN/GET_MAX - * response for Input Gain Pad (id=19, control=12) and the connector status - * for SPDIF terminal (id=18). Skip them. - */ -static const struct usbmix_name_map asus_rog_map[] = { - { 18, NULL }, /* OT, connector control */ - { 19, NULL, 12 }, /* FU, Input Gain Pad */ +/* ASUS ROG Zenith II with Realtek ALC1220-VB */ +static const struct usbmix_name_map asus_zenith_ii_map[] = { + { 19, NULL, 12 }, /* FU, Input Gain Pad - broken response, disabled */ + { 16, "Speaker" }, /* OT */ + { 22, "Speaker Playback" }, /* FU */ + { 7, "Line" }, /* IT */ + { 19, "Line Capture" }, /* FU */ + { 8, "Mic" }, /* IT */ + { 20, "Mic Capture" }, /* FU */ + { 9, "Front Mic" }, /* IT */ + { 21, "Front Mic Capture" }, /* FU */ + { 17, "IEC958" }, /* OT */ + { 23, "IEC958 Playback" }, /* FU */ + {} +}; + +static const struct usbmix_connector_map asus_zenith_ii_connector_map[] = { + { 10, 16 }, /* (Back) Speaker */ + { 11, 17 }, /* SPDIF */ + { 13, 7 }, /* Line */ + { 14, 8 }, /* Mic */ + { 15, 9 }, /* Front Mic */ {} }; @@ -611,9 +626,10 @@ .map = gigabyte_b450_map, .connector_map = gigabyte_b450_connector_map, }, - { /* ASUS ROG Zenith II */ + { /* ASUS ROG Zenith II (main audio) */ .id = USB_ID(0x0b05, 0x1916), - .map = asus_rog_map, + .map = asus_zenith_ii_map, + .connector_map = asus_zenith_ii_connector_map, }, { /* ASUS ROG Strix */ .id = USB_ID(0x0b05, 0x1917), --- linux-gcp-5.19.0.orig/sound/usb/pcm.c +++ linux-gcp-5.19.0/sound/usb/pcm.c @@ -525,6 +525,8 @@ if (snd_usb_endpoint_compatible(chip, subs->data_endpoint, fmt, hw_params)) goto unlock; + if (stop_endpoints(subs, false)) + sync_pending_stops(subs); close_endpoints(chip, subs); } @@ -907,8 +909,13 @@ continue; /* for the implicit fb, check the sync ep as well */ ep = snd_usb_get_endpoint(chip, fp->sync_ep); - if (ep && ep->cur_audiofmt) - return ep; + if (ep && ep->cur_audiofmt) { + /* ditto, if the sync (data) ep is used by others, + * this stream is restricted by the sync ep + */ + if (ep != subs->sync_endpoint || ep->opened > 1) + return ep; + } } return NULL; } --- linux-gcp-5.19.0.orig/sound/usb/quirks-table.h +++ linux-gcp-5.19.0/sound/usb/quirks-table.h @@ -76,6 +76,8 @@ { USB_DEVICE_VENDOR_SPEC(0x041e, 0x3f0a) }, /* E-Mu 0204 USB */ { USB_DEVICE_VENDOR_SPEC(0x041e, 0x3f19) }, +/* Ktmicro Usb_audio device */ +{ USB_DEVICE_VENDOR_SPEC(0x31b2, 0x0011) }, /* * Creative Technology, Ltd Live! Cam Sync HD [VF0770] @@ -2050,6 +2052,10 @@ } }, { + /* M-Audio Micro */ + USB_DEVICE_VENDOR_SPEC(0x0763, 0x201a), +}, +{ USB_DEVICE_VENDOR_SPEC(0x0763, 0x2030), .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) { /* .vendor_name = "M-Audio", */ @@ -2980,6 +2986,82 @@ } }, { + .ifnum = -1 + } + } + } +}, +/* DIGIDESIGN MBOX 3 */ +{ + USB_DEVICE(0x0dba, 0x5000), + .driver_info = (unsigned long) &(const struct snd_usb_audio_quirk) { + .vendor_name = "Digidesign", + .product_name = "Mbox 3", + .ifnum = QUIRK_ANY_INTERFACE, + .type = QUIRK_COMPOSITE, + .data = (const struct snd_usb_audio_quirk[]) { + { + .ifnum = 0, + .type = QUIRK_IGNORE_INTERFACE + }, + { + .ifnum = 1, + .type = QUIRK_IGNORE_INTERFACE + }, + { + .ifnum = 2, + .type = QUIRK_AUDIO_FIXED_ENDPOINT, + .data = &(const struct audioformat) { + .formats = SNDRV_PCM_FMTBIT_S24_3LE, + .channels = 4, + .iface = 2, + .altsetting = 1, + .altset_idx = 1, + .attributes = 0x00, + .endpoint = 0x01, + .ep_attr = USB_ENDPOINT_XFER_ISOC | + USB_ENDPOINT_SYNC_ASYNC, + .rates = SNDRV_PCM_RATE_48000, + .rate_min = 48000, + .rate_max = 48000, + .nr_rates = 1, + .rate_table = (unsigned int[]) { + 48000 + } + } + }, + { + .ifnum = 3, + .type = QUIRK_AUDIO_FIXED_ENDPOINT, + .data = &(const struct audioformat) { + .formats = SNDRV_PCM_FMTBIT_S24_3LE, + .channels = 4, + .iface = 3, + .altsetting = 1, + .altset_idx = 1, + .endpoint = 0x81, + .attributes = 0x00, + .ep_attr = USB_ENDPOINT_XFER_ISOC | + USB_ENDPOINT_SYNC_ASYNC, + .maxpacksize = 0x009c, + .rates = SNDRV_PCM_RATE_48000, + .rate_min = 48000, + .rate_max = 48000, + .nr_rates = 1, + .rate_table = (unsigned int[]) { + 48000 + } + } + }, + { + .ifnum = 4, + .type = QUIRK_MIDI_FIXED_ENDPOINT, + .data = &(const struct snd_usb_midi_endpoint_info) { + .out_cables = 0x0001, + .in_cables = 0x0001 + } + }, + { .ifnum = -1 } } --- linux-gcp-5.19.0.orig/sound/usb/quirks.c +++ linux-gcp-5.19.0/sound/usb/quirks.c @@ -1020,6 +1020,304 @@ return 0; } +static void mbox3_setup_48_24_magic(struct usb_device *dev) +{ + /* The Mbox 3 is "little endian" */ + /* max volume is: 0x0000. */ + /* min volume is: 0x0080 (shown in little endian form) */ + + + /* Load 48000Hz rate into buffer */ + u8 com_buff[4] = {0x80, 0xbb, 0x00, 0x00}; + + /* Set 48000Hz sample rate */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 0x01, 0x21, 0x0100, 0x0001, &com_buff, 4); //Is this really needed? + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 0x01, 0x21, 0x0100, 0x8101, &com_buff, 4); + + /* Deactivate Tuner */ + /* on = 0x01*/ + /* off = 0x00*/ + com_buff[0] = 0x00; + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 0x01, 0x21, 0x0003, 0x2001, &com_buff, 1); + + /* Set clock source to Internal (as opposed to S/PDIF) */ + com_buff[0] = 0x01; + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0100, 0x8001, &com_buff, 1); + + /* Mute the hardware loopbacks to start the device in a known state. */ + com_buff[0] = 0x00; + com_buff[1] = 0x80; + /* Analogue input 1 left channel: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0110, 0x4001, &com_buff, 2); + /* Analogue input 1 right channel: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0111, 0x4001, &com_buff, 2); + /* Analogue input 2 left channel: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0114, 0x4001, &com_buff, 2); + /* Analogue input 2 right channel: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0115, 0x4001, &com_buff, 2); + /* Analogue input 3 left channel: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0118, 0x4001, &com_buff, 2); + /* Analogue input 3 right channel: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0119, 0x4001, &com_buff, 2); + /* Analogue input 4 left channel: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x011c, 0x4001, &com_buff, 2); + /* Analogue input 4 right channel: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x011d, 0x4001, &com_buff, 2); + + /* Set software sends to output */ + com_buff[0] = 0x00; + com_buff[1] = 0x00; + /* Analogue software return 1 left channel: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0100, 0x4001, &com_buff, 2); + com_buff[0] = 0x00; + com_buff[1] = 0x80; + /* Analogue software return 1 right channel: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0101, 0x4001, &com_buff, 2); + com_buff[0] = 0x00; + com_buff[1] = 0x80; + /* Analogue software return 2 left channel: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0104, 0x4001, &com_buff, 2); + com_buff[0] = 0x00; + com_buff[1] = 0x00; + /* Analogue software return 2 right channel: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0105, 0x4001, &com_buff, 2); + + com_buff[0] = 0x00; + com_buff[1] = 0x80; + /* Analogue software return 3 left channel: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0108, 0x4001, &com_buff, 2); + /* Analogue software return 3 right channel: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0109, 0x4001, &com_buff, 2); + /* Analogue software return 4 left channel: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x010c, 0x4001, &com_buff, 2); + /* Analogue software return 4 right channel: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x010d, 0x4001, &com_buff, 2); + + /* Return to muting sends */ + com_buff[0] = 0x00; + com_buff[1] = 0x80; + /* Analogue fx return left channel: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0120, 0x4001, &com_buff, 2); + /* Analogue fx return right channel: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0121, 0x4001, &com_buff, 2); + + /* Analogue software input 1 fx send: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0100, 0x4201, &com_buff, 2); + /* Analogue software input 2 fx send: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0101, 0x4201, &com_buff, 2); + /* Analogue software input 3 fx send: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0102, 0x4201, &com_buff, 2); + /* Analogue software input 4 fx send: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0103, 0x4201, &com_buff, 2); + /* Analogue input 1 fx send: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0104, 0x4201, &com_buff, 2); + /* Analogue input 2 fx send: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0105, 0x4201, &com_buff, 2); + /* Analogue input 3 fx send: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0106, 0x4201, &com_buff, 2); + /* Analogue input 4 fx send: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0107, 0x4201, &com_buff, 2); + + /* Toggle allowing host control */ + com_buff[0] = 0x02; + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 3, 0x21, 0x0000, 0x2001, &com_buff, 1); + + /* Do not dim fx returns */ + com_buff[0] = 0x00; + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 3, 0x21, 0x0002, 0x2001, &com_buff, 1); + + /* Do not set fx returns to mono */ + com_buff[0] = 0x00; + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 3, 0x21, 0x0001, 0x2001, &com_buff, 1); + + /* Mute the S/PDIF hardware loopback + * same odd volume logic here as above + */ + com_buff[0] = 0x00; + com_buff[1] = 0x80; + /* S/PDIF hardware input 1 left channel */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0112, 0x4001, &com_buff, 2); + /* S/PDIF hardware input 1 right channel */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0113, 0x4001, &com_buff, 2); + /* S/PDIF hardware input 2 left channel */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0116, 0x4001, &com_buff, 2); + /* S/PDIF hardware input 2 right channel */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0117, 0x4001, &com_buff, 2); + /* S/PDIF hardware input 3 left channel */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x011a, 0x4001, &com_buff, 2); + /* S/PDIF hardware input 3 right channel */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x011b, 0x4001, &com_buff, 2); + /* S/PDIF hardware input 4 left channel */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x011e, 0x4001, &com_buff, 2); + /* S/PDIF hardware input 4 right channel */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x011f, 0x4001, &com_buff, 2); + /* S/PDIF software return 1 left channel */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0102, 0x4001, &com_buff, 2); + /* S/PDIF software return 1 right channel */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0103, 0x4001, &com_buff, 2); + /* S/PDIF software return 2 left channel */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0106, 0x4001, &com_buff, 2); + /* S/PDIF software return 2 right channel */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0107, 0x4001, &com_buff, 2); + + com_buff[0] = 0x00; + com_buff[1] = 0x00; + /* S/PDIF software return 3 left channel */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x010a, 0x4001, &com_buff, 2); + + com_buff[0] = 0x00; + com_buff[1] = 0x80; + /* S/PDIF software return 3 right channel */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x010b, 0x4001, &com_buff, 2); + /* S/PDIF software return 4 left channel */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x010e, 0x4001, &com_buff, 2); + + com_buff[0] = 0x00; + com_buff[1] = 0x00; + /* S/PDIF software return 4 right channel */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x010f, 0x4001, &com_buff, 2); + + com_buff[0] = 0x00; + com_buff[1] = 0x80; + /* S/PDIF fx returns left channel */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0122, 0x4001, &com_buff, 2); + /* S/PDIF fx returns right channel */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0123, 0x4001, &com_buff, 2); + + /* Set the dropdown "Effect" to the first option */ + /* Room1 = 0x00 */ + /* Room2 = 0x01 */ + /* Room3 = 0x02 */ + /* Hall 1 = 0x03 */ + /* Hall 2 = 0x04 */ + /* Plate = 0x05 */ + /* Delay = 0x06 */ + /* Echo = 0x07 */ + com_buff[0] = 0x00; + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0200, 0x4301, &com_buff, 1); /* max is 0xff */ + /* min is 0x00 */ + + + /* Set the effect duration to 0 */ + /* max is 0xffff */ + /* min is 0x0000 */ + com_buff[0] = 0x00; + com_buff[1] = 0x00; + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0400, 0x4301, &com_buff, 2); + + /* Set the effect volume and feedback to 0 */ + /* max is 0xff */ + /* min is 0x00 */ + com_buff[0] = 0x00; + /* feedback: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0500, 0x4301, &com_buff, 1); + /* volume: */ + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 1, 0x21, 0x0300, 0x4301, &com_buff, 1); + + /* Set soft button hold duration */ + /* 0x03 = 250ms */ + /* 0x05 = 500ms DEFAULT */ + /* 0x08 = 750ms */ + /* 0x0a = 1sec */ + com_buff[0] = 0x05; + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 3, 0x21, 0x0005, 0x2001, &com_buff, 1); + + /* Use dim LEDs for button of state */ + com_buff[0] = 0x00; + snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), + 3, 0x21, 0x0004, 0x2001, &com_buff, 1); +} + +#define MBOX3_DESCRIPTOR_SIZE 464 + +static int snd_usb_mbox3_boot_quirk(struct usb_device *dev) +{ + struct usb_host_config *config = dev->actconfig; + int err; + int descriptor_size; + + descriptor_size = le16_to_cpu(get_cfg_desc(config)->wTotalLength); + + if (descriptor_size != MBOX3_DESCRIPTOR_SIZE) { + dev_err(&dev->dev, "Invalid descriptor size=%d.\n", descriptor_size); + return -ENODEV; + } + + dev_dbg(&dev->dev, "device initialised!\n"); + + err = usb_get_descriptor(dev, USB_DT_DEVICE, 0, + &dev->descriptor, sizeof(dev->descriptor)); + config = dev->actconfig; + if (err < 0) + dev_dbg(&dev->dev, "error usb_get_descriptor: %d\n", err); + + err = usb_reset_configuration(dev); + if (err < 0) + dev_dbg(&dev->dev, "error usb_reset_configuration: %d\n", err); + dev_dbg(&dev->dev, "mbox3_boot: new boot length = %d\n", + le16_to_cpu(get_cfg_desc(config)->wTotalLength)); + + mbox3_setup_48_24_magic(dev); + dev_info(&dev->dev, "Digidesign Mbox 3: 24bit 48kHz"); + + return 0; /* Successful boot */ +} #define MICROBOOK_BUF_SIZE 128 @@ -1324,6 +1622,10 @@ case USB_ID(0x0dba, 0x3000): /* Digidesign Mbox 2 */ return snd_usb_mbox2_boot_quirk(dev); + case USB_ID(0x0dba, 0x5000): + /* Digidesign Mbox 3 */ + return snd_usb_mbox3_boot_quirk(dev); + case USB_ID(0x1235, 0x0010): /* Focusrite Novation Saffire 6 USB */ case USB_ID(0x1235, 0x0018): /* Focusrite Novation Twitch */ @@ -1611,6 +1913,7 @@ /* XMOS based USB DACs */ switch (chip->usb_id) { case USB_ID(0x1511, 0x0037): /* AURALiC VEGA */ + case USB_ID(0x21ed, 0xd75a): /* Accuphase DAC-60 option card */ case USB_ID(0x2522, 0x0012): /* LH Labs VI DAC Infinity */ case USB_ID(0x2772, 0x0230): /* Pro-Ject Pre Box S2 Digital */ if (fp->altsetting == 2) @@ -1729,48 +2032,6 @@ } /* - * registration quirk: - * the registration is skipped if a device matches with the given ID, - * unless the interface reaches to the defined one. This is for delaying - * the registration until the last known interface, so that the card and - * devices appear at the same time. - */ - -struct registration_quirk { - unsigned int usb_id; /* composed via USB_ID() */ - unsigned int interface; /* the interface to trigger register */ -}; - -#define REG_QUIRK_ENTRY(vendor, product, iface) \ - { .usb_id = USB_ID(vendor, product), .interface = (iface) } - -static const struct registration_quirk registration_quirks[] = { - REG_QUIRK_ENTRY(0x0951, 0x16d8, 2), /* Kingston HyperX AMP */ - REG_QUIRK_ENTRY(0x0951, 0x16ed, 2), /* Kingston HyperX Cloud Alpha S */ - REG_QUIRK_ENTRY(0x0951, 0x16ea, 2), /* Kingston HyperX Cloud Flight S */ - REG_QUIRK_ENTRY(0x0ecb, 0x1f46, 2), /* JBL Quantum 600 */ - REG_QUIRK_ENTRY(0x0ecb, 0x1f47, 2), /* JBL Quantum 800 */ - REG_QUIRK_ENTRY(0x0ecb, 0x1f4c, 2), /* JBL Quantum 400 */ - REG_QUIRK_ENTRY(0x0ecb, 0x2039, 2), /* JBL Quantum 400 */ - REG_QUIRK_ENTRY(0x0ecb, 0x203c, 2), /* JBL Quantum 600 */ - REG_QUIRK_ENTRY(0x0ecb, 0x203e, 2), /* JBL Quantum 800 */ - { 0 } /* terminator */ -}; - -/* return true if skipping registration */ -bool snd_usb_registration_quirk(struct snd_usb_audio *chip, int iface) -{ - const struct registration_quirk *q; - - for (q = registration_quirks; q->usb_id; q++) - if (chip->usb_id == q->usb_id) - return iface != q->interface; - - /* Register as normal */ - return false; -} - -/* * driver behavior quirk flags */ struct usb_audio_quirk_flags_table { @@ -1843,6 +2104,8 @@ QUIRK_FLAG_SHARE_MEDIA_DEVICE | QUIRK_FLAG_ALIGN_TRANSFER), DEVICE_FLG(0x1395, 0x740a, /* Sennheiser DECT */ QUIRK_FLAG_GET_SAMPLE_RATE), + DEVICE_FLG(0x1397, 0x0507, /* Behringer UMC202HD */ + QUIRK_FLAG_PLAYBACK_FIRST | QUIRK_FLAG_GENERIC_IMPLICIT_FB), DEVICE_FLG(0x1397, 0x0508, /* Behringer UMC204HD */ QUIRK_FLAG_PLAYBACK_FIRST | QUIRK_FLAG_GENERIC_IMPLICIT_FB), DEVICE_FLG(0x1397, 0x0509, /* Behringer UMC404HD */ @@ -1901,6 +2164,8 @@ QUIRK_FLAG_SHARE_MEDIA_DEVICE | QUIRK_FLAG_ALIGN_TRANSFER), DEVICE_FLG(0x21b4, 0x0081, /* AudioQuest DragonFly */ QUIRK_FLAG_GET_SAMPLE_RATE), + DEVICE_FLG(0x2522, 0x0007, /* LH Labs Geek Out HD Audio 1V5 */ + QUIRK_FLAG_SET_IFACE_FIRST), DEVICE_FLG(0x2708, 0x0002, /* Audient iD14 */ QUIRK_FLAG_IGNORE_CTL_ERROR), DEVICE_FLG(0x2912, 0x30c8, /* Audioengine D1 */ @@ -1921,6 +2186,8 @@ QUIRK_FLAG_GENERIC_IMPLICIT_FB), DEVICE_FLG(0x2b53, 0x0031, /* Fiero SC-01 (firmware v1.1.0) */ QUIRK_FLAG_GENERIC_IMPLICIT_FB), + DEVICE_FLG(0x0525, 0xa4ad, /* Hamedal C20 usb camero */ + QUIRK_FLAG_IFACE_SKIP_CLOSE), /* Vendor matches */ VENDOR_FLG(0x045e, /* MS Lifecam */ --- linux-gcp-5.19.0.orig/sound/usb/quirks.h +++ linux-gcp-5.19.0/sound/usb/quirks.h @@ -48,8 +48,6 @@ struct audioformat *fp, int stream); -bool snd_usb_registration_quirk(struct snd_usb_audio *chip, int iface); - void snd_usb_init_quirk_flags(struct snd_usb_audio *chip); #endif /* __USBAUDIO_QUIRKS_H */ --- linux-gcp-5.19.0.orig/sound/usb/stream.c +++ linux-gcp-5.19.0/sound/usb/stream.c @@ -495,6 +495,10 @@ return 0; } } + + if (chip->card->registered) + chip->need_delayed_register = true; + /* look for an empty stream */ list_for_each_entry(as, &chip->pcm_list, list) { if (as->fmt_type != fp->fmt_type) @@ -502,9 +506,6 @@ subs = &as->substream[stream]; if (subs->ep_num) continue; - if (snd_device_get_state(chip->card, as->pcm) != - SNDRV_DEV_BUILD) - chip->need_delayed_register = true; err = snd_pcm_new_stream(as->pcm, stream, 1); if (err < 0) return err; @@ -1105,7 +1106,7 @@ * Dallas DS4201 workaround: It presents 5 altsettings, but the last * one misses syncpipe, and does not produce any sound. */ - if (chip->usb_id == USB_ID(0x04fa, 0x4201)) + if (chip->usb_id == USB_ID(0x04fa, 0x4201) && num >= 4) num = 4; for (i = 0; i < num; i++) { --- linux-gcp-5.19.0.orig/sound/usb/usbaudio.h +++ linux-gcp-5.19.0/sound/usb/usbaudio.h @@ -37,6 +37,7 @@ unsigned int quirk_flags; unsigned int need_delayed_register:1; /* warn for delayed registration */ int num_interfaces; + int last_iface; int num_suspended_intf; int sample_rate_read_error; @@ -169,6 +170,8 @@ * Apply the generic implicit feedback sync mode (same as implicit_fb=1 option) * QUIRK_FLAG_SKIP_IMPLICIT_FB * Don't apply implicit feedback sync mode + * QUIRK_FLAG_IFACE_SKIP_CLOSE + * Don't closed interface during setting sample rate */ #define QUIRK_FLAG_GET_SAMPLE_RATE (1U << 0) @@ -190,5 +193,6 @@ #define QUIRK_FLAG_SET_IFACE_FIRST (1U << 16) #define QUIRK_FLAG_GENERIC_IMPLICIT_FB (1U << 17) #define QUIRK_FLAG_SKIP_IMPLICIT_FB (1U << 18) +#define QUIRK_FLAG_IFACE_SKIP_CLOSE (1U << 19) #endif /* __USBAUDIO_H */ --- linux-gcp-5.19.0.orig/tools/arch/parisc/include/uapi/asm/mman.h +++ linux-gcp-5.19.0/tools/arch/parisc/include/uapi/asm/mman.h @@ -1,20 +1,20 @@ /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ #ifndef TOOLS_ARCH_PARISC_UAPI_ASM_MMAN_FIX_H #define TOOLS_ARCH_PARISC_UAPI_ASM_MMAN_FIX_H -#define MADV_DODUMP 70 +#define MADV_DODUMP 17 #define MADV_DOFORK 11 -#define MADV_DONTDUMP 69 +#define MADV_DONTDUMP 16 #define MADV_DONTFORK 10 #define MADV_DONTNEED 4 #define MADV_FREE 8 -#define MADV_HUGEPAGE 67 -#define MADV_MERGEABLE 65 -#define MADV_NOHUGEPAGE 68 +#define MADV_HUGEPAGE 14 +#define MADV_MERGEABLE 12 +#define MADV_NOHUGEPAGE 15 #define MADV_NORMAL 0 #define MADV_RANDOM 1 #define MADV_REMOVE 9 #define MADV_SEQUENTIAL 2 -#define MADV_UNMERGEABLE 66 +#define MADV_UNMERGEABLE 13 #define MADV_WILLNEED 3 #define MAP_ANONYMOUS 0x10 #define MAP_DENYWRITE 0x0800 --- linux-gcp-5.19.0.orig/tools/arch/x86/include/asm/cpufeatures.h +++ linux-gcp-5.19.0/tools/arch/x86/include/asm/cpufeatures.h @@ -303,6 +303,7 @@ #define X86_FEATURE_RETHUNK (11*32+14) /* "" Use REturn THUNK */ #define X86_FEATURE_UNRET (11*32+15) /* "" AMD BTB untrain return */ #define X86_FEATURE_USE_IBPB_FW (11*32+16) /* "" Use IBPB during runtime firmware calls */ +#define X86_FEATURE_RSB_VMEXIT_LITE (11*32+17) /* "" Fill RSB on VM-Exit when EIBRS is enabled */ /* Intel-defined CPU features, CPUID level 0x00000007:1 (EAX), word 12 */ #define X86_FEATURE_AVX_VNNI (12*32+ 4) /* AVX VNNI instructions */ --- linux-gcp-5.19.0.orig/tools/arch/x86/include/asm/msr-index.h +++ linux-gcp-5.19.0/tools/arch/x86/include/asm/msr-index.h @@ -150,6 +150,10 @@ * are restricted to targets in * kernel. */ +#define ARCH_CAP_PBRSB_NO BIT(24) /* + * Not susceptible to Post-Barrier + * Return Stack Buffer Predictions. + */ #define MSR_IA32_FLUSH_CMD 0x0000010b #define L1D_FLUSH BIT(0) /* @@ -519,6 +523,11 @@ #define MSR_AMD64_CPUID_FN_1 0xc0011004 #define MSR_AMD64_LS_CFG 0xc0011020 #define MSR_AMD64_DC_CFG 0xc0011022 + +#define MSR_AMD64_DE_CFG 0xc0011029 +#define MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT 1 +#define MSR_AMD64_DE_CFG_LFENCE_SERIALIZE BIT_ULL(MSR_AMD64_DE_CFG_LFENCE_SERIALIZE_BIT) + #define MSR_AMD64_BU_CFG2 0xc001102a #define MSR_AMD64_IBSFETCHCTL 0xc0011030 #define MSR_AMD64_IBSFETCHLINAD 0xc0011031 @@ -621,9 +630,6 @@ #define FAM10H_MMIO_CONF_BASE_MASK 0xfffffffULL #define FAM10H_MMIO_CONF_BASE_SHIFT 20 #define MSR_FAM10H_NODE_ID 0xc001100c -#define MSR_F10H_DECFG 0xc0011029 -#define MSR_F10H_DECFG_LFENCE_SERIALIZE_BIT 1 -#define MSR_F10H_DECFG_LFENCE_SERIALIZE BIT_ULL(MSR_F10H_DECFG_LFENCE_SERIALIZE_BIT) /* K8 MSRs */ #define MSR_K8_TOP_MEM1 0xc001001a --- linux-gcp-5.19.0.orig/tools/bootconfig/scripts/ftrace2bconf.sh +++ linux-gcp-5.19.0/tools/bootconfig/scripts/ftrace2bconf.sh @@ -93,7 +93,7 @@ } event_is_enabled() { # enable-file - test -f $1 & grep -q "1" $1 + test -f $1 && grep -q "1" $1 } per_event_options() { # event-dir --- linux-gcp-5.19.0.orig/tools/bpf/bpftool/btf_dumper.c +++ linux-gcp-5.19.0/tools/bpf/bpftool/btf_dumper.c @@ -426,7 +426,7 @@ *(char *)data); break; case BTF_INT_BOOL: - jsonw_bool(jw, *(int *)data); + jsonw_bool(jw, *(bool *)data); break; default: /* shouldn't happen */ --- linux-gcp-5.19.0.orig/tools/bpf/bpftool/common.c +++ linux-gcp-5.19.0/tools/bpf/bpftool/common.c @@ -273,6 +273,9 @@ int err; int fd; + if (!REQ_ARGS(3)) + return -EINVAL; + fd = get_fd(&argc, &argv); if (fd < 0) return fd; @@ -468,6 +471,7 @@ if (err) { p_err("failed to append entry to hashmap for ID %u, path '%s': %s", pinned_info.id, path, strerror(errno)); + free(path); goto out_close; } --- linux-gcp-5.19.0.orig/tools/bpf/bpftool/main.c +++ linux-gcp-5.19.0/tools/bpf/bpftool/main.c @@ -435,6 +435,16 @@ setlinebuf(stdout); +#ifdef USE_LIBCAP + /* Libcap < 2.63 hooks before main() to compute the number of + * capabilities of the running kernel, and doing so it calls prctl() + * which may fail and set errno to non-zero. + * Let's reset errno to make sure this does not interfere with the + * batch mode. + */ + errno = 0; +#endif + last_do_help = do_help; pretty_output = false; json_output = false; --- linux-gcp-5.19.0.orig/tools/bpf/bpftool/prog.c +++ linux-gcp-5.19.0/tools/bpf/bpftool/prog.c @@ -2178,10 +2178,38 @@ profile_perf_event_cnt = 0; } +static int profile_open_perf_event(int mid, int cpu, int map_fd) +{ + int pmu_fd; + + pmu_fd = syscall(__NR_perf_event_open, &metrics[mid].attr, + -1 /*pid*/, cpu, -1 /*group_fd*/, 0); + if (pmu_fd < 0) { + if (errno == ENODEV) { + p_info("cpu %d may be offline, skip %s profiling.", + cpu, metrics[mid].name); + profile_perf_event_cnt++; + return 0; + } + return -1; + } + + if (bpf_map_update_elem(map_fd, + &profile_perf_event_cnt, + &pmu_fd, BPF_ANY) || + ioctl(pmu_fd, PERF_EVENT_IOC_ENABLE, 0)) { + close(pmu_fd); + return -1; + } + + profile_perf_events[profile_perf_event_cnt++] = pmu_fd; + return 0; +} + static int profile_open_perf_events(struct profiler_bpf *obj) { unsigned int cpu, m; - int map_fd, pmu_fd; + int map_fd; profile_perf_events = calloc( sizeof(int), obj->rodata->num_cpu * obj->rodata->num_metric); @@ -2200,17 +2228,11 @@ if (!metrics[m].selected) continue; for (cpu = 0; cpu < obj->rodata->num_cpu; cpu++) { - pmu_fd = syscall(__NR_perf_event_open, &metrics[m].attr, - -1/*pid*/, cpu, -1/*group_fd*/, 0); - if (pmu_fd < 0 || - bpf_map_update_elem(map_fd, &profile_perf_event_cnt, - &pmu_fd, BPF_ANY) || - ioctl(pmu_fd, PERF_EVENT_IOC_ENABLE, 0)) { + if (profile_open_perf_event(m, cpu, map_fd)) { p_err("failed to create event %s on cpu %d", metrics[m].name, cpu); return -1; } - profile_perf_events[profile_perf_event_cnt++] = pmu_fd; } } return 0; --- linux-gcp-5.19.0.orig/tools/build/feature/test-libcrypto.c +++ linux-gcp-5.19.0/tools/build/feature/test-libcrypto.c @@ -1,16 +1,23 @@ // SPDX-License-Identifier: GPL-2.0 +#include #include #include int main(void) { - MD5_CTX context; + EVP_MD_CTX *mdctx; unsigned char md[MD5_DIGEST_LENGTH + SHA_DIGEST_LENGTH]; unsigned char dat[] = "12345"; + unsigned int digest_len; - MD5_Init(&context); - MD5_Update(&context, &dat[0], sizeof(dat)); - MD5_Final(&md[0], &context); + mdctx = EVP_MD_CTX_new(); + if (!mdctx) + return 0; + + EVP_DigestInit_ex(mdctx, EVP_md5(), NULL); + EVP_DigestUpdate(mdctx, &dat[0], sizeof(dat)); + EVP_DigestFinal_ex(mdctx, &md[0], &digest_len); + EVP_MD_CTX_free(mdctx); SHA1(&dat[0], sizeof(dat), &md[0]); --- linux-gcp-5.19.0.orig/tools/gpio/gpio-event-mon.c +++ linux-gcp-5.19.0/tools/gpio/gpio-event-mon.c @@ -86,6 +86,7 @@ gpiotools_test_bit(values.bits, i)); } + i = 0; while (1) { struct gpio_v2_line_event event; --- linux-gcp-5.19.0.orig/tools/hv/hv_kvp_daemon.8 +++ linux-gcp-5.19.0/tools/hv/hv_kvp_daemon.8 @@ -0,0 +1,26 @@ +.\" This page Copyright (C) 2012 Andy Whitcroft +.\" Distributed under the GPL v2 or later. +.TH HV_KVP_DAEMON 8 +.SH NAME +hv_kvp_daemon \- Hyper-V Key Value Pair daemon +.SH SYNOPSIS +.ft B +.B hv_kvp_daemon +.br +.SH DESCRIPTION +\fBhv_kvp_daemon\fP +is the userspace component of the Hyper-V key value pair functionality, +communicating via a netlink socket with the kernel HV-KVP driver. +This pairing allows the Hyper-V host to pass configuration information +(such as IP addresses) to the guest and allows the host to obtain guest +version information. + +.SH FILES +.ta +.nf +/var/opt/hyperv/.kvp_pool_* +.fi + +.SH AUTHORS +.nf +Written by K. Y. Srinivasan --- linux-gcp-5.19.0.orig/tools/hv/lsvmbus +++ linux-gcp-5.19.0/tools/hv/lsvmbus @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # SPDX-License-Identifier: GPL-2.0 import os --- linux-gcp-5.19.0.orig/tools/hv/lsvmbus.8 +++ linux-gcp-5.19.0/tools/hv/lsvmbus.8 @@ -0,0 +1,23 @@ +.\" This page Copyright (C) 2016 Andy Whitcroft +.\" Distributed under the GPL v2 or later. +.TH LSVMBUS 8 +.SH NAME +lsvmbus \- List Hyper-V VMBus devices +.SH SYNOPSIS +.ft B +.B lsvmbus [-vv] +.br +.SH DESCRIPTION +\fBlsvmbus\fP +displays devices attached to the Hyper-V VMBus. +.SH OPTIONS +.\" +.TP +.B -v +With -v more information is printed including the VMBus Rel_ID, class ID, +Rel_ID, and which channel is bound to which virtual processor. Use -vv +for additional detail including the Device_ID and the sysfs path. +.\" +.SH AUTHORS +.nf +Written by Dexuan Cui --- linux-gcp-5.19.0.orig/tools/iio/iio_generic_buffer.c +++ linux-gcp-5.19.0/tools/iio/iio_generic_buffer.c @@ -715,12 +715,12 @@ continue; } - toread = buf_len; } else { usleep(timedelay); - toread = 64; } + toread = buf_len; + read_size = read(buf_fd, data, toread * scan_size); if (read_size < 0) { if (errno == EAGAIN) { --- linux-gcp-5.19.0.orig/tools/iio/iio_utils.c +++ linux-gcp-5.19.0/tools/iio/iio_utils.c @@ -547,6 +547,10 @@ { int count = 0; + /* It takes a digit to represent zero */ + if (!num) + return 1; + while (num != 0) { num /= 10; count++; --- linux-gcp-5.19.0.orig/tools/include/nolibc/arch-mips.h +++ linux-gcp-5.19.0/tools/include/nolibc/arch-mips.h @@ -192,6 +192,7 @@ __asm__ (".section .text\n" ".weak __start\n" ".set nomips16\n" + ".set push\n" ".set noreorder\n" ".option pic0\n" ".ent __start\n" @@ -210,6 +211,7 @@ "li $v0, 4001\n" // NR_exit == 4001 "syscall\n" ".end __start\n" + ".set pop\n" ""); #endif // _NOLIBC_ARCH_MIPS_H --- linux-gcp-5.19.0.orig/tools/include/nolibc/arch-riscv.h +++ linux-gcp-5.19.0/tools/include/nolibc/arch-riscv.h @@ -11,13 +11,13 @@ #define O_RDONLY 0 #define O_WRONLY 1 #define O_RDWR 2 -#define O_CREAT 0x100 -#define O_EXCL 0x200 -#define O_NOCTTY 0x400 -#define O_TRUNC 0x1000 -#define O_APPEND 0x2000 -#define O_NONBLOCK 0x4000 -#define O_DIRECTORY 0x200000 +#define O_CREAT 0x40 +#define O_EXCL 0x80 +#define O_NOCTTY 0x100 +#define O_TRUNC 0x200 +#define O_APPEND 0x400 +#define O_NONBLOCK 0x800 +#define O_DIRECTORY 0x10000 struct sys_stat_struct { unsigned long st_dev; /* Device. */ --- linux-gcp-5.19.0.orig/tools/include/nolibc/string.h +++ linux-gcp-5.19.0/tools/include/nolibc/string.h @@ -19,9 +19,9 @@ int memcmp(const void *s1, const void *s2, size_t n) { size_t ofs = 0; - char c1 = 0; + int c1 = 0; - while (ofs < n && !(c1 = ((char *)s1)[ofs] - ((char *)s2)[ofs])) { + while (ofs < n && !(c1 = ((unsigned char *)s1)[ofs] - ((unsigned char *)s2)[ofs])) { ofs++; } return c1; @@ -125,14 +125,18 @@ } /* this function is only used with arguments that are not constants or when - * it's not known because optimizations are disabled. + * it's not known because optimizations are disabled. Note that gcc 12 + * recognizes an strlen() pattern and replaces it with a jump to strlen(), + * thus itself, hence the asm() statement below that's meant to disable this + * confusing practice. */ static __attribute__((unused)) -size_t nolibc_strlen(const char *str) +size_t strlen(const char *str) { size_t len; - for (len = 0; str[len]; len++); + for (len = 0; str[len]; len++) + asm(""); return len; } @@ -140,13 +144,12 @@ * the two branches, then will rely on an external definition of strlen(). */ #if defined(__OPTIMIZE__) +#define nolibc_strlen(x) strlen(x) #define strlen(str) ({ \ __builtin_constant_p((str)) ? \ __builtin_strlen((str)) : \ nolibc_strlen((str)); \ }) -#else -#define strlen(str) nolibc_strlen((str)) #endif static __attribute__((unused)) --- linux-gcp-5.19.0.orig/tools/include/uapi/asm/errno.h +++ linux-gcp-5.19.0/tools/include/uapi/asm/errno.h @@ -9,8 +9,8 @@ #include "../../../arch/alpha/include/uapi/asm/errno.h" #elif defined(__mips__) #include "../../../arch/mips/include/uapi/asm/errno.h" -#elif defined(__xtensa__) -#include "../../../arch/xtensa/include/uapi/asm/errno.h" +#elif defined(__hppa__) +#include "../../../arch/parisc/include/uapi/asm/errno.h" #else #include #endif --- linux-gcp-5.19.0.orig/tools/lib/bpf/bpf.h +++ linux-gcp-5.19.0/tools/lib/bpf/bpf.h @@ -450,8 +450,15 @@ __u32 *buf_len, __u32 *prog_id, __u32 *fd_type, __u64 *probe_offset, __u64 *probe_addr); +#ifdef __cplusplus +/* forward-declaring enums in C++ isn't compatible with pure C enums, so + * instead define bpf_enable_stats() as accepting int as an input + */ +LIBBPF_API int bpf_enable_stats(int type); +#else enum bpf_stats_type; /* defined in up-to-date linux/bpf.h */ LIBBPF_API int bpf_enable_stats(enum bpf_stats_type type); +#endif struct bpf_prog_bind_opts { size_t sz; /* size of this struct for forward/backward compatibility */ --- linux-gcp-5.19.0.orig/tools/lib/bpf/bpf_tracing.h +++ linux-gcp-5.19.0/tools/lib/bpf/bpf_tracing.h @@ -135,7 +135,7 @@ #define __PT_PARM3_REG gprs[4] #define __PT_PARM4_REG gprs[5] #define __PT_PARM5_REG gprs[6] -#define __PT_RET_REG grps[14] +#define __PT_RET_REG gprs[14] #define __PT_FP_REG gprs[11] /* Works only with CONFIG_FRAME_POINTER */ #define __PT_RC_REG gprs[2] #define __PT_SP_REG gprs[15] @@ -233,7 +233,7 @@ #define __PT_PARM5_REG a4 #define __PT_RET_REG ra #define __PT_FP_REG s0 -#define __PT_RC_REG a5 +#define __PT_RC_REG a0 #define __PT_SP_REG sp #define __PT_IP_REG pc /* riscv does not select ARCH_HAS_SYSCALL_WRAPPER. */ @@ -424,7 +424,7 @@ */ #define BPF_PROG(name, args...) \ name(unsigned long long *ctx); \ -static __attribute__((always_inline)) typeof(name(0)) \ +static __always_inline typeof(name(0)) \ ____##name(unsigned long long *ctx, ##args); \ typeof(name(0)) name(unsigned long long *ctx) \ { \ @@ -433,7 +433,7 @@ return ____##name(___bpf_ctx_cast(args)); \ _Pragma("GCC diagnostic pop") \ } \ -static __attribute__((always_inline)) typeof(name(0)) \ +static __always_inline typeof(name(0)) \ ____##name(unsigned long long *ctx, ##args) struct pt_regs; @@ -458,7 +458,7 @@ */ #define BPF_KPROBE(name, args...) \ name(struct pt_regs *ctx); \ -static __attribute__((always_inline)) typeof(name(0)) \ +static __always_inline typeof(name(0)) \ ____##name(struct pt_regs *ctx, ##args); \ typeof(name(0)) name(struct pt_regs *ctx) \ { \ @@ -467,7 +467,7 @@ return ____##name(___bpf_kprobe_args(args)); \ _Pragma("GCC diagnostic pop") \ } \ -static __attribute__((always_inline)) typeof(name(0)) \ +static __always_inline typeof(name(0)) \ ____##name(struct pt_regs *ctx, ##args) #define ___bpf_kretprobe_args0() ctx @@ -482,7 +482,7 @@ */ #define BPF_KRETPROBE(name, args...) \ name(struct pt_regs *ctx); \ -static __attribute__((always_inline)) typeof(name(0)) \ +static __always_inline typeof(name(0)) \ ____##name(struct pt_regs *ctx, ##args); \ typeof(name(0)) name(struct pt_regs *ctx) \ { \ @@ -515,7 +515,7 @@ */ #define BPF_KPROBE_SYSCALL(name, args...) \ name(struct pt_regs *ctx); \ -static __attribute__((always_inline)) typeof(name(0)) \ +static __always_inline typeof(name(0)) \ ____##name(struct pt_regs *ctx, ##args); \ typeof(name(0)) name(struct pt_regs *ctx) \ { \ @@ -525,7 +525,7 @@ return ____##name(___bpf_syscall_args(args)); \ _Pragma("GCC diagnostic pop") \ } \ -static __attribute__((always_inline)) typeof(name(0)) \ +static __always_inline typeof(name(0)) \ ____##name(struct pt_regs *ctx, ##args) #endif --- linux-gcp-5.19.0.orig/tools/lib/bpf/btf.c +++ linux-gcp-5.19.0/tools/lib/bpf/btf.c @@ -667,8 +667,21 @@ if (align <= 0) return libbpf_err(align); max_align = max(max_align, align); + + /* if field offset isn't aligned according to field + * type's alignment, then struct must be packed + */ + if (btf_member_bitfield_size(t, i) == 0 && + (m->offset % (8 * align)) != 0) + return 1; } + /* if struct/union size isn't a multiple of its alignment, + * then struct must be packed + */ + if ((t->size % max_align) != 0) + return 1; + return max_align; } default: @@ -3903,14 +3916,14 @@ } /* Check if given two types are identical ARRAY definitions */ -static int btf_dedup_identical_arrays(struct btf_dedup *d, __u32 id1, __u32 id2) +static bool btf_dedup_identical_arrays(struct btf_dedup *d, __u32 id1, __u32 id2) { struct btf_type *t1, *t2; t1 = btf_type_by_id(d->btf, id1); t2 = btf_type_by_id(d->btf, id2); if (!btf_is_array(t1) || !btf_is_array(t2)) - return 0; + return false; return btf_equal_array(t1, t2); } @@ -3934,7 +3947,9 @@ m1 = btf_members(t1); m2 = btf_members(t2); for (i = 0, n = btf_vlen(t1); i < n; i++, m1++, m2++) { - if (m1->type != m2->type) + if (m1->type != m2->type && + !btf_dedup_identical_arrays(d, m1->type, m2->type) && + !btf_dedup_identical_structs(d, m1->type, m2->type)) return false; } return true; --- linux-gcp-5.19.0.orig/tools/lib/bpf/btf_dump.c +++ linux-gcp-5.19.0/tools/lib/bpf/btf_dump.c @@ -228,6 +228,17 @@ return 0; } +static void btf_dump_free_names(struct hashmap *map) +{ + size_t bkt; + struct hashmap_entry *cur; + + hashmap__for_each_entry(map, cur, bkt) + free((void *)cur->key); + + hashmap__free(map); +} + void btf_dump__free(struct btf_dump *d) { int i; @@ -246,8 +257,8 @@ free(d->cached_names); free(d->emit_queue); free(d->decl_stack); - hashmap__free(d->type_names); - hashmap__free(d->ident_names); + btf_dump_free_names(d->type_names); + btf_dump_free_names(d->ident_names); free(d); } @@ -1481,11 +1492,23 @@ static size_t btf_dump_name_dups(struct btf_dump *d, struct hashmap *name_map, const char *orig_name) { + char *old_name, *new_name; size_t dup_cnt = 0; + int err; + + new_name = strdup(orig_name); + if (!new_name) + return 1; hashmap__find(name_map, orig_name, (void **)&dup_cnt); dup_cnt++; - hashmap__set(name_map, orig_name, (void *)dup_cnt, NULL, NULL); + + err = hashmap__set(name_map, new_name, (void *)dup_cnt, + (const void **)&old_name, NULL); + if (err) + free(new_name); + + free(old_name); return dup_cnt; } @@ -1924,7 +1947,7 @@ { const struct btf_member *m = btf_members(t); __u16 n = btf_vlen(t); - int i, err; + int i, err = 0; /* note that we increment depth before calling btf_dump_print() below; * this is intentional. btf_dump_data_newline() will not print a @@ -2325,7 +2348,7 @@ d->typed_dump->indent_lvl = OPTS_GET(opts, indent_level, 0); /* default indent string is a tab */ - if (!opts->indent_str) + if (!OPTS_GET(opts, indent_str, NULL)) d->typed_dump->indent_str[0] = '\t'; else libbpf_strlcpy(d->typed_dump->indent_str, opts->indent_str, --- linux-gcp-5.19.0.orig/tools/lib/bpf/gen_loader.c +++ linux-gcp-5.19.0/tools/lib/bpf/gen_loader.c @@ -533,7 +533,7 @@ gen->attach_kind = kind; ret = snprintf(gen->attach_target, sizeof(gen->attach_target), "%s%s", prefix, attach_name); - if (ret == sizeof(gen->attach_target)) + if (ret >= sizeof(gen->attach_target)) gen->error = -ENOSPC; } --- linux-gcp-5.19.0.orig/tools/lib/bpf/libbpf.c +++ linux-gcp-5.19.0/tools/lib/bpf/libbpf.c @@ -475,7 +475,7 @@ size_t shstrndx; /* section index for section name strings */ size_t strtabidx; struct elf_sec_desc *secs; - int sec_cnt; + size_t sec_cnt; int maps_shndx; int btf_maps_shndx; __u32 btf_maps_sec_btf_id; @@ -1350,6 +1350,10 @@ static int bpf_object__init_license(struct bpf_object *obj, void *data, size_t size) { + if (!data) { + pr_warn("invalid license section in %s\n", obj->path); + return -LIBBPF_ERRNO__FORMAT; + } /* libbpf_strlcpy() only copies first N - 1 bytes, so size + 1 won't * go over allowed ELF data section buffer */ @@ -1363,7 +1367,7 @@ { __u32 kver; - if (size != sizeof(kver)) { + if (!data || size != sizeof(kver)) { pr_warn("invalid kver section in %s\n", obj->path); return -LIBBPF_ERRNO__FORMAT; } @@ -2398,6 +2402,37 @@ return 0; } +static size_t adjust_ringbuf_sz(size_t sz) +{ + __u32 page_sz = sysconf(_SC_PAGE_SIZE); + __u32 mul; + + /* if user forgot to set any size, make sure they see error */ + if (sz == 0) + return 0; + /* Kernel expects BPF_MAP_TYPE_RINGBUF's max_entries to be + * a power-of-2 multiple of kernel's page size. If user diligently + * satisified these conditions, pass the size through. + */ + if ((sz % page_sz) == 0 && is_pow_of_2(sz / page_sz)) + return sz; + + /* Otherwise find closest (page_sz * power_of_2) product bigger than + * user-set size to satisfy both user size request and kernel + * requirements and substitute correct max_entries for map creation. + */ + for (mul = 1; mul <= UINT_MAX / page_sz; mul <<= 1) { + if (mul * page_sz > sz) + return mul * page_sz; + } + + /* if it's impossible to satisfy the conditions (i.e., user size is + * very close to UINT_MAX but is not a power-of-2 multiple of + * page_size) then just return original size and let kernel reject it + */ + return sz; +} + static void fill_map_from_def(struct bpf_map *map, const struct btf_map_def *def) { map->def.type = def->map_type; @@ -2411,6 +2446,10 @@ map->btf_key_type_id = def->key_type_id; map->btf_value_type_id = def->value_type_id; + /* auto-adjust BPF ringbuf map max_entries to be a multiple of page size */ + if (map->def.type == BPF_MAP_TYPE_RINGBUF) + map->def.max_entries = adjust_ringbuf_sz(map->def.max_entries); + if (def->parts & MAP_DEF_MAP_TYPE) pr_debug("map '%s': found type = %u.\n", map->name, def->map_type); @@ -3293,10 +3332,15 @@ Elf64_Shdr *sh; /* ELF section indices are 0-based, but sec #0 is special "invalid" - * section. e_shnum does include sec #0, so e_shnum is the necessary - * size of an array to keep all the sections. + * section. Since section count retrieved by elf_getshdrnum() does + * include sec #0, it is already the necessary size of an array to keep + * all the sections. */ - obj->efile.sec_cnt = obj->efile.ehdr->e_shnum; + if (elf_getshdrnum(obj->efile.elf, &obj->efile.sec_cnt)) { + pr_warn("elf: failed to get the number of sections for %s: %s\n", + obj->path, elf_errmsg(-1)); + return -LIBBPF_ERRNO__FORMAT; + } obj->efile.secs = calloc(obj->efile.sec_cnt, sizeof(*obj->efile.secs)); if (!obj->efile.secs) return -ENOMEM; @@ -4116,6 +4160,9 @@ int l = 0, r = obj->nr_programs - 1, m; struct bpf_program *prog; + if (!obj->nr_programs) + return NULL; + while (l < r) { m = l + (r - l + 1) / 2; prog = &obj->programs[m]; @@ -4327,7 +4374,7 @@ int bpf_map__reuse_fd(struct bpf_map *map, int fd) { struct bpf_map_info info = {}; - __u32 len = sizeof(info); + __u32 len = sizeof(info), name_len; int new_fd, err; char *new_name; @@ -4337,7 +4384,12 @@ if (err) return libbpf_err(err); - new_name = strdup(info.name); + name_len = strlen(info.name); + if (name_len == BPF_OBJ_NAME_LEN - 1 && strncmp(map->name, info.name, name_len) == 0) + new_name = strdup(map->name); + else + new_name = strdup(info.name); + if (!new_name) return libbpf_err(-errno); @@ -4396,9 +4448,15 @@ int bpf_map__set_max_entries(struct bpf_map *map, __u32 max_entries) { - if (map->fd >= 0) + if (map->obj->loaded) return libbpf_err(-EBUSY); + map->def.max_entries = max_entries; + + /* auto-adjust BPF ringbuf map max_entries to be a multiple of page size */ + if (map->def.type == BPF_MAP_TYPE_RINGBUF) + map->def.max_entries = adjust_ringbuf_sz(map->def.max_entries); + return 0; } @@ -4943,42 +5001,6 @@ static void bpf_map__destroy(struct bpf_map *map); -static bool is_pow_of_2(size_t x) -{ - return x && (x & (x - 1)); -} - -static size_t adjust_ringbuf_sz(size_t sz) -{ - __u32 page_sz = sysconf(_SC_PAGE_SIZE); - __u32 mul; - - /* if user forgot to set any size, make sure they see error */ - if (sz == 0) - return 0; - /* Kernel expects BPF_MAP_TYPE_RINGBUF's max_entries to be - * a power-of-2 multiple of kernel's page size. If user diligently - * satisified these conditions, pass the size through. - */ - if ((sz % page_sz) == 0 && is_pow_of_2(sz / page_sz)) - return sz; - - /* Otherwise find closest (page_sz * power_of_2) product bigger than - * user-set size to satisfy both user size request and kernel - * requirements and substitute correct max_entries for map creation. - */ - for (mul = 1; mul <= UINT_MAX / page_sz; mul <<= 1) { - if (mul * page_sz > sz) - return mul * page_sz; - } - - /* if it's impossible to satisfy the conditions (i.e., user size is - * very close to UINT_MAX but is not a power-of-2 multiple of - * page_size) then just return original size and let kernel reject it - */ - return sz; -} - static int bpf_object__create_map(struct bpf_object *obj, struct bpf_map *map, bool is_inner) { LIBBPF_OPTS(bpf_map_create_opts, create_attr); @@ -5017,9 +5039,6 @@ } switch (def->type) { - case BPF_MAP_TYPE_RINGBUF: - map->def.max_entries = adjust_ringbuf_sz(map->def.max_entries); - /* fallthrough */ case BPF_MAP_TYPE_PERF_EVENT_ARRAY: case BPF_MAP_TYPE_CGROUP_ARRAY: case BPF_MAP_TYPE_STACK_TRACE: @@ -9591,11 +9610,15 @@ int err = 0; /* BPF program's BTF ID */ - if (attach_prog_fd) { + if (prog->type == BPF_PROG_TYPE_EXT || attach_prog_fd) { + if (!attach_prog_fd) { + pr_warn("prog '%s': attach program FD is not set\n", prog->name); + return -EINVAL; + } err = libbpf_find_prog_btf_id(attach_name, attach_prog_fd); if (err < 0) { - pr_warn("failed to find BPF program (FD %d) BTF ID for '%s': %d\n", - attach_prog_fd, attach_name, err); + pr_warn("prog '%s': failed to find BPF program (FD %d) BTF ID for '%s': %d\n", + prog->name, attach_prog_fd, attach_name, err); return err; } *btf_obj_fd = 0; @@ -9612,7 +9635,8 @@ err = find_kernel_btf_id(prog->obj, attach_name, attach_type, btf_obj_fd, btf_type_id); } if (err) { - pr_warn("failed to find kernel BTF type ID of '%s': %d\n", attach_name, err); + pr_warn("prog '%s': failed to find kernel BTF type ID of '%s': %d\n", + prog->name, attach_name, err); return err; } return 0; @@ -10988,43 +11012,6 @@ return pfd; } -/* uprobes deal in relative offsets; subtract the base address associated with - * the mapped binary. See Documentation/trace/uprobetracer.rst for more - * details. - */ -static long elf_find_relative_offset(const char *filename, Elf *elf, long addr) -{ - size_t n; - int i; - - if (elf_getphdrnum(elf, &n)) { - pr_warn("elf: failed to find program headers for '%s': %s\n", filename, - elf_errmsg(-1)); - return -ENOENT; - } - - for (i = 0; i < n; i++) { - int seg_start, seg_end, seg_offset; - GElf_Phdr phdr; - - if (!gelf_getphdr(elf, i, &phdr)) { - pr_warn("elf: failed to get program header %d from '%s': %s\n", i, filename, - elf_errmsg(-1)); - return -ENOENT; - } - if (phdr.p_type != PT_LOAD || !(phdr.p_flags & PF_X)) - continue; - - seg_start = phdr.p_vaddr; - seg_end = seg_start + phdr.p_memsz; - seg_offset = phdr.p_offset; - if (addr >= seg_start && addr < seg_end) - return addr - seg_start + seg_offset; - } - pr_warn("elf: failed to find prog header containing 0x%lx in '%s'\n", addr, filename); - return -ENOENT; -} - /* Return next ELF section of sh_type after scn, or first of that type if scn is NULL. */ static Elf_Scn *elf_find_next_scn_by_type(Elf *elf, int sh_type, Elf_Scn *scn) { @@ -11111,6 +11098,8 @@ for (idx = 0; idx < nr_syms; idx++) { int curr_bind; GElf_Sym sym; + Elf_Scn *sym_scn; + GElf_Shdr sym_sh; if (!gelf_getsym(symbols, idx, &sym)) continue; @@ -11148,12 +11137,28 @@ continue; } } - ret = sym.st_value; + + /* Transform symbol's virtual address (absolute for + * binaries and relative for shared libs) into file + * offset, which is what kernel is expecting for + * uprobe/uretprobe attachment. + * See Documentation/trace/uprobetracer.rst for more + * details. + * This is done by looking up symbol's containing + * section's header and using it's virtual address + * (sh_addr) and corresponding file offset (sh_offset) + * to transform sym.st_value (virtual address) into + * desired final file offset. + */ + sym_scn = elf_getscn(elf, sym.st_shndx); + if (!sym_scn) + continue; + if (!gelf_getshdr(sym_scn, &sym_sh)) + continue; + + ret = sym.st_value - sym_sh.sh_addr + sym_sh.sh_offset; last_bind = curr_bind; } - /* For binaries that are not shared libraries, we need relative offset */ - if (ret > 0 && !is_shared_lib) - ret = elf_find_relative_offset(binary_path, elf, ret); if (ret > 0) break; } @@ -11218,15 +11223,17 @@ static int resolve_full_path(const char *file, char *result, size_t result_sz) { const char *search_paths[3] = {}; - int i; + int i, perm; if (str_has_sfx(file, ".so") || strstr(file, ".so.")) { search_paths[0] = getenv("LD_LIBRARY_PATH"); search_paths[1] = "/usr/lib64:/usr/lib"; search_paths[2] = arch_specific_lib_paths(); + perm = R_OK; } else { search_paths[0] = getenv("PATH"); search_paths[1] = "/usr/bin:/usr/sbin"; + perm = R_OK | X_OK; } for (i = 0; i < ARRAY_SIZE(search_paths); i++) { @@ -11245,8 +11252,8 @@ if (!seg_len) continue; snprintf(result, result_sz, "%.*s/%s", seg_len, s, file); - /* ensure it is an executable file/link */ - if (access(result, R_OK | X_OK) < 0) + /* ensure it has required permissions */ + if (access(result, perm) < 0) continue; pr_debug("resolved '%s' to '%s'\n", file, result); return 0; @@ -11688,7 +11695,7 @@ } *link = bpf_program__attach_raw_tracepoint(prog, tp_name); - return libbpf_get_error(link); + return libbpf_get_error(*link); } /* Common logic for all BPF program types that attach to a btf_id */ --- linux-gcp-5.19.0.orig/tools/lib/bpf/libbpf_internal.h +++ linux-gcp-5.19.0/tools/lib/bpf/libbpf_internal.h @@ -109,9 +109,9 @@ size_t str_len = strlen(str); size_t sfx_len = strlen(sfx); - if (sfx_len <= str_len) - return strcmp(str + str_len - sfx_len, sfx); - return false; + if (sfx_len > str_len) + return false; + return strcmp(str + str_len - sfx_len, sfx) == 0; } /* Symbol versioning is different between static and shared library. @@ -580,4 +580,9 @@ const char *usdt_provider, const char *usdt_name, __u64 usdt_cookie); +static inline bool is_pow_of_2(size_t x) +{ + return x && (x & (x - 1)) == 0; +} + #endif /* __LIBBPF_LIBBPF_INTERNAL_H */ --- linux-gcp-5.19.0.orig/tools/lib/bpf/libbpf_probes.c +++ linux-gcp-5.19.0/tools/lib/bpf/libbpf_probes.c @@ -247,7 +247,7 @@ LIBBPF_OPTS(bpf_map_create_opts, opts); int key_size, value_size, max_entries; __u32 btf_key_type_id = 0, btf_value_type_id = 0; - int fd = -1, btf_fd = -1, fd_inner = -1, exp_err = 0, err; + int fd = -1, btf_fd = -1, fd_inner = -1, exp_err = 0, err = 0; opts.map_ifindex = ifindex; @@ -289,7 +289,7 @@ case BPF_MAP_TYPE_RINGBUF: key_size = 0; value_size = 0; - max_entries = 4096; + max_entries = sysconf(_SC_PAGE_SIZE); break; case BPF_MAP_TYPE_STRUCT_OPS: /* we'll get -ENOTSUPP for invalid BTF type ID for struct_ops */ --- linux-gcp-5.19.0.orig/tools/lib/bpf/linker.c +++ linux-gcp-5.19.0/tools/lib/bpf/linker.c @@ -697,11 +697,6 @@ return err; } -static bool is_pow_of_2(size_t x) -{ - return x && (x & (x - 1)) == 0; -} - static int linker_sanity_check_elf(struct src_obj *obj) { struct src_sec *sec; --- linux-gcp-5.19.0.orig/tools/lib/bpf/nlattr.c +++ linux-gcp-5.19.0/tools/lib/bpf/nlattr.c @@ -32,7 +32,7 @@ static int nla_ok(const struct nlattr *nla, int remaining) { - return remaining >= sizeof(*nla) && + return remaining >= (int)sizeof(*nla) && nla->nla_len >= sizeof(*nla) && nla->nla_len <= remaining; } @@ -178,7 +178,7 @@ hlen += nlmsg_len(&err->msg); attr = (struct nlattr *) ((void *) err + hlen); - alen = nlh->nlmsg_len - hlen; + alen = (void *)nlh + nlh->nlmsg_len - (void *)attr; if (libbpf_nla_parse(tb, NLMSGERR_ATTR_MAX, attr, alen, extack_policy) != 0) { --- linux-gcp-5.19.0.orig/tools/lib/bpf/ringbuf.c +++ linux-gcp-5.19.0/tools/lib/bpf/ringbuf.c @@ -59,6 +59,7 @@ __u32 len = sizeof(info); struct epoll_event *e; struct ring *r; + __u64 mmap_sz; void *tmp; int err; @@ -97,8 +98,7 @@ r->mask = info.max_entries - 1; /* Map writable consumer page */ - tmp = mmap(NULL, rb->page_size, PROT_READ | PROT_WRITE, MAP_SHARED, - map_fd, 0); + tmp = mmap(NULL, rb->page_size, PROT_READ | PROT_WRITE, MAP_SHARED, map_fd, 0); if (tmp == MAP_FAILED) { err = -errno; pr_warn("ringbuf: failed to mmap consumer page for map fd=%d: %d\n", @@ -111,8 +111,12 @@ * data size to allow simple reading of samples that wrap around the * end of a ring buffer. See kernel implementation for details. * */ - tmp = mmap(NULL, rb->page_size + 2 * info.max_entries, PROT_READ, - MAP_SHARED, map_fd, rb->page_size); + mmap_sz = rb->page_size + 2 * (__u64)info.max_entries; + if (mmap_sz != (__u64)(size_t)mmap_sz) { + pr_warn("ringbuf: ring buffer size (%u) is too big\n", info.max_entries); + return libbpf_err(-E2BIG); + } + tmp = mmap(NULL, (size_t)mmap_sz, PROT_READ, MAP_SHARED, map_fd, rb->page_size); if (tmp == MAP_FAILED) { err = -errno; ringbuf_unmap_ring(rb, r); --- linux-gcp-5.19.0.orig/tools/lib/bpf/skel_internal.h +++ linux-gcp-5.19.0/tools/lib/bpf/skel_internal.h @@ -66,13 +66,13 @@ const char *errstr; }; -long bpf_sys_bpf(__u32 cmd, void *attr, __u32 attr_size); +long kern_sys_bpf(__u32 cmd, void *attr, __u32 attr_size); static inline int skel_sys_bpf(enum bpf_cmd cmd, union bpf_attr *attr, unsigned int size) { #ifdef __KERNEL__ - return bpf_sys_bpf(cmd, attr, size); + return kern_sys_bpf(cmd, attr, size); #else return syscall(__NR_bpf, cmd, attr, size); #endif --- linux-gcp-5.19.0.orig/tools/lib/bpf/usdt.bpf.h +++ linux-gcp-5.19.0/tools/lib/bpf/usdt.bpf.h @@ -244,7 +244,7 @@ */ #define BPF_USDT(name, args...) \ name(struct pt_regs *ctx); \ -static __attribute__((always_inline)) typeof(name(0)) \ +static __always_inline typeof(name(0)) \ ____##name(struct pt_regs *ctx, ##args); \ typeof(name(0)) name(struct pt_regs *ctx) \ { \ @@ -253,7 +253,7 @@ return ____##name(___bpf_usdt_args(args)); \ _Pragma("GCC diagnostic pop") \ } \ -static __attribute__((always_inline)) typeof(name(0)) \ +static __always_inline typeof(name(0)) \ ____##name(struct pt_regs *ctx, ##args) #endif /* __USDT_BPF_H__ */ --- linux-gcp-5.19.0.orig/tools/lib/bpf/usdt.c +++ linux-gcp-5.19.0/tools/lib/bpf/usdt.c @@ -441,7 +441,7 @@ return 0; } -static int parse_lib_segs(int pid, const char *lib_path, struct elf_seg **segs, size_t *seg_cnt) +static int parse_vma_segs(int pid, const char *lib_path, struct elf_seg **segs, size_t *seg_cnt) { char path[PATH_MAX], line[PATH_MAX], mode[16]; size_t seg_start, seg_end, seg_off; @@ -531,35 +531,40 @@ return err; } -static struct elf_seg *find_elf_seg(struct elf_seg *segs, size_t seg_cnt, long addr, bool relative) +static struct elf_seg *find_elf_seg(struct elf_seg *segs, size_t seg_cnt, long virtaddr) { struct elf_seg *seg; int i; - if (relative) { - /* for shared libraries, address is relative offset and thus - * should be fall within logical offset-based range of - * [offset_start, offset_end) - */ - for (i = 0, seg = segs; i < seg_cnt; i++, seg++) { - if (seg->offset <= addr && addr < seg->offset + (seg->end - seg->start)) - return seg; - } - } else { - /* for binaries, address is absolute and thus should be within - * absolute address range of [seg_start, seg_end) - */ - for (i = 0, seg = segs; i < seg_cnt; i++, seg++) { - if (seg->start <= addr && addr < seg->end) - return seg; - } + /* for ELF binaries (both executables and shared libraries), we are + * given virtual address (absolute for executables, relative for + * libraries) which should match address range of [seg_start, seg_end) + */ + for (i = 0, seg = segs; i < seg_cnt; i++, seg++) { + if (seg->start <= virtaddr && virtaddr < seg->end) + return seg; } + return NULL; +} +static struct elf_seg *find_vma_seg(struct elf_seg *segs, size_t seg_cnt, long offset) +{ + struct elf_seg *seg; + int i; + + /* for VMA segments from /proc//maps file, provided "address" is + * actually a file offset, so should be fall within logical + * offset-based range of [offset_start, offset_end) + */ + for (i = 0, seg = segs; i < seg_cnt; i++, seg++) { + if (seg->offset <= offset && offset < seg->offset + (seg->end - seg->start)) + return seg; + } return NULL; } -static int parse_usdt_note(Elf *elf, const char *path, long base_addr, - GElf_Nhdr *nhdr, const char *data, size_t name_off, size_t desc_off, +static int parse_usdt_note(Elf *elf, const char *path, GElf_Nhdr *nhdr, + const char *data, size_t name_off, size_t desc_off, struct usdt_note *usdt_note); static int parse_usdt_spec(struct usdt_spec *spec, const struct usdt_note *note, __u64 usdt_cookie); @@ -568,8 +573,8 @@ const char *usdt_provider, const char *usdt_name, __u64 usdt_cookie, struct usdt_target **out_targets, size_t *out_target_cnt) { - size_t off, name_off, desc_off, seg_cnt = 0, lib_seg_cnt = 0, target_cnt = 0; - struct elf_seg *segs = NULL, *lib_segs = NULL; + size_t off, name_off, desc_off, seg_cnt = 0, vma_seg_cnt = 0, target_cnt = 0; + struct elf_seg *segs = NULL, *vma_segs = NULL; struct usdt_target *targets = NULL, *target; long base_addr = 0; Elf_Scn *notes_scn, *base_scn; @@ -613,8 +618,7 @@ struct elf_seg *seg = NULL; void *tmp; - err = parse_usdt_note(elf, path, base_addr, &nhdr, - data->d_buf, name_off, desc_off, ¬e); + err = parse_usdt_note(elf, path, &nhdr, data->d_buf, name_off, desc_off, ¬e); if (err) goto err_out; @@ -654,30 +658,29 @@ usdt_rel_ip += base_addr - note.base_addr; } - if (ehdr.e_type == ET_EXEC) { - /* When attaching uprobes (which what USDTs basically - * are) kernel expects a relative IP to be specified, - * so if we are attaching to an executable ELF binary - * (i.e., not a shared library), we need to calculate - * proper relative IP based on ELF's load address - */ - seg = find_elf_seg(segs, seg_cnt, usdt_abs_ip, false /* relative */); - if (!seg) { - err = -ESRCH; - pr_warn("usdt: failed to find ELF program segment for '%s:%s' in '%s' at IP 0x%lx\n", - usdt_provider, usdt_name, path, usdt_abs_ip); - goto err_out; - } - if (!seg->is_exec) { - err = -ESRCH; - pr_warn("usdt: matched ELF binary '%s' segment [0x%lx, 0x%lx) for '%s:%s' at IP 0x%lx is not executable\n", - path, seg->start, seg->end, usdt_provider, usdt_name, - usdt_abs_ip); - goto err_out; - } + /* When attaching uprobes (which is what USDTs basically are) + * kernel expects file offset to be specified, not a relative + * virtual address, so we need to translate virtual address to + * file offset, for both ET_EXEC and ET_DYN binaries. + */ + seg = find_elf_seg(segs, seg_cnt, usdt_abs_ip); + if (!seg) { + err = -ESRCH; + pr_warn("usdt: failed to find ELF program segment for '%s:%s' in '%s' at IP 0x%lx\n", + usdt_provider, usdt_name, path, usdt_abs_ip); + goto err_out; + } + if (!seg->is_exec) { + err = -ESRCH; + pr_warn("usdt: matched ELF binary '%s' segment [0x%lx, 0x%lx) for '%s:%s' at IP 0x%lx is not executable\n", + path, seg->start, seg->end, usdt_provider, usdt_name, + usdt_abs_ip); + goto err_out; + } + /* translate from virtual address to file offset */ + usdt_rel_ip = usdt_abs_ip - seg->start + seg->offset; - usdt_rel_ip = usdt_abs_ip - (seg->start - seg->offset); - } else if (!man->has_bpf_cookie) { /* ehdr.e_type == ET_DYN */ + if (ehdr.e_type == ET_DYN && !man->has_bpf_cookie) { /* If we don't have BPF cookie support but need to * attach to a shared library, we'll need to know and * record absolute addresses of attach points due to @@ -697,9 +700,9 @@ goto err_out; } - /* lib_segs are lazily initialized only if necessary */ - if (lib_seg_cnt == 0) { - err = parse_lib_segs(pid, path, &lib_segs, &lib_seg_cnt); + /* vma_segs are lazily initialized only if necessary */ + if (vma_seg_cnt == 0) { + err = parse_vma_segs(pid, path, &vma_segs, &vma_seg_cnt); if (err) { pr_warn("usdt: failed to get memory segments in PID %d for shared library '%s': %d\n", pid, path, err); @@ -707,7 +710,7 @@ } } - seg = find_elf_seg(lib_segs, lib_seg_cnt, usdt_rel_ip, true /* relative */); + seg = find_vma_seg(vma_segs, vma_seg_cnt, usdt_rel_ip); if (!seg) { err = -ESRCH; pr_warn("usdt: failed to find shared lib memory segment for '%s:%s' in '%s' at relative IP 0x%lx\n", @@ -715,7 +718,7 @@ goto err_out; } - usdt_abs_ip = seg->start + (usdt_rel_ip - seg->offset); + usdt_abs_ip = seg->start - seg->offset + usdt_rel_ip; } pr_debug("usdt: probe for '%s:%s' in %s '%s': addr 0x%lx base 0x%lx (resolved abs_ip 0x%lx rel_ip 0x%lx) args '%s' in segment [0x%lx, 0x%lx) at offset 0x%lx\n", @@ -723,7 +726,7 @@ note.loc_addr, note.base_addr, usdt_abs_ip, usdt_rel_ip, note.args, seg ? seg->start : 0, seg ? seg->end : 0, seg ? seg->offset : 0); - /* Adjust semaphore address to be a relative offset */ + /* Adjust semaphore address to be a file offset */ if (note.sema_addr) { if (!man->has_sema_refcnt) { pr_warn("usdt: kernel doesn't support USDT semaphore refcounting for '%s:%s' in '%s'\n", @@ -732,7 +735,7 @@ goto err_out; } - seg = find_elf_seg(segs, seg_cnt, note.sema_addr, false /* relative */); + seg = find_elf_seg(segs, seg_cnt, note.sema_addr); if (!seg) { err = -ESRCH; pr_warn("usdt: failed to find ELF loadable segment with semaphore of '%s:%s' in '%s' at 0x%lx\n", @@ -747,7 +750,7 @@ goto err_out; } - usdt_sema_off = note.sema_addr - (seg->start - seg->offset); + usdt_sema_off = note.sema_addr - seg->start + seg->offset; pr_debug("usdt: sema for '%s:%s' in %s '%s': addr 0x%lx base 0x%lx (resolved 0x%lx) in segment [0x%lx, 0x%lx] at offset 0x%lx\n", usdt_provider, usdt_name, ehdr.e_type == ET_EXEC ? "exec" : "lib ", @@ -770,7 +773,7 @@ target->rel_ip = usdt_rel_ip; target->sema_off = usdt_sema_off; - /* notes->args references strings from Elf itself, so they can + /* notes.args references strings from Elf itself, so they can * be referenced safely until elf_end() call */ target->spec_str = note.args; @@ -788,7 +791,7 @@ err_out: free(segs); - free(lib_segs); + free(vma_segs); if (err < 0) free(targets); return err; @@ -1089,8 +1092,8 @@ /* Parse out USDT ELF note from '.note.stapsdt' section. * Logic inspired by perf's code. */ -static int parse_usdt_note(Elf *elf, const char *path, long base_addr, - GElf_Nhdr *nhdr, const char *data, size_t name_off, size_t desc_off, +static int parse_usdt_note(Elf *elf, const char *path, GElf_Nhdr *nhdr, + const char *data, size_t name_off, size_t desc_off, struct usdt_note *note) { const char *provider, *name, *args; @@ -1347,25 +1350,23 @@ static int parse_usdt_arg(const char *arg_str, int arg_num, struct usdt_arg_spec *arg) { - char *reg_name = NULL; + char reg_name[16]; int arg_sz, len, reg_off; long off; - if (sscanf(arg_str, " %d @ \[ %m[a-z0-9], %ld ] %n", &arg_sz, ®_name, &off, &len) == 3) { + if (sscanf(arg_str, " %d @ \[ %15[a-z0-9], %ld ] %n", &arg_sz, reg_name, &off, &len) == 3) { /* Memory dereference case, e.g., -4@[sp, 96] */ arg->arg_type = USDT_ARG_REG_DEREF; arg->val_off = off; reg_off = calc_pt_regs_off(reg_name); - free(reg_name); if (reg_off < 0) return reg_off; arg->reg_off = reg_off; - } else if (sscanf(arg_str, " %d @ \[ %m[a-z0-9] ] %n", &arg_sz, ®_name, &len) == 2) { + } else if (sscanf(arg_str, " %d @ \[ %15[a-z0-9] ] %n", &arg_sz, reg_name, &len) == 2) { /* Memory dereference case, e.g., -4@[sp] */ arg->arg_type = USDT_ARG_REG_DEREF; arg->val_off = 0; reg_off = calc_pt_regs_off(reg_name); - free(reg_name); if (reg_off < 0) return reg_off; arg->reg_off = reg_off; @@ -1374,12 +1375,11 @@ arg->arg_type = USDT_ARG_CONST; arg->val_off = off; arg->reg_off = 0; - } else if (sscanf(arg_str, " %d @ %m[a-z0-9] %n", &arg_sz, ®_name, &len) == 2) { + } else if (sscanf(arg_str, " %d @ %15[a-z0-9] %n", &arg_sz, reg_name, &len) == 2) { /* Register read case, e.g., -8@x4 */ arg->arg_type = USDT_ARG_REG; arg->val_off = 0; reg_off = calc_pt_regs_off(reg_name); - free(reg_name); if (reg_off < 0) return reg_off; arg->reg_off = reg_off; --- linux-gcp-5.19.0.orig/tools/lib/bpf/xsk.c +++ linux-gcp-5.19.0/tools/lib/bpf/xsk.c @@ -1147,8 +1147,6 @@ goto out_mmap_tx; } - ctx->prog_fd = -1; - if (!(xsk->config.libbpf_flags & XSK_LIBBPF_FLAGS__INHIBIT_PROG_LOAD)) { err = __xsk_setup_xdp_prog(xsk, NULL); if (err) @@ -1229,13 +1227,16 @@ ctx = xsk->ctx; umem = ctx->umem; - if (ctx->prog_fd != -1) { + + if (ctx->refcount == 1) { xsk_delete_bpf_maps(xsk); close(ctx->prog_fd); if (ctx->has_bpf_link) close(ctx->link_fd); } + xsk_put_ctx(ctx, true); + err = xsk_get_mmap_offsets(xsk->fd, &off); if (!err) { if (xsk->rx) { @@ -1248,8 +1249,6 @@ } } - xsk_put_ctx(ctx, true); - umem->refcount--; /* Do not close an fd that also has an associated umem connected * to it. --- linux-gcp-5.19.0.orig/tools/lib/perf/evlist.c +++ linux-gcp-5.19.0/tools/lib/perf/evlist.c @@ -441,6 +441,7 @@ perf_evlist__for_each_entry(evlist, evsel) { bool overwrite = evsel->attr.write_backward; + enum fdarray_flags flgs; struct perf_mmap *map; int *output, fd, cpu; @@ -486,6 +487,7 @@ if (ops->idx) ops->idx(evlist, evsel, mp, idx); + pr_debug("idx %d: mmapping fd %d\n", idx, *output); if (ops->mmap(map, mp, *output, evlist_cpu) < 0) return -1; @@ -494,6 +496,7 @@ if (!idx) perf_evlist__set_mmap_first(evlist, map, overwrite); } else { + pr_debug("idx %d: set output fd %d -> %d\n", idx, fd, *output); if (ioctl(fd, PERF_EVENT_IOC_SET_OUTPUT, *output) != 0) return -1; @@ -502,8 +505,8 @@ revent = !overwrite ? POLLIN : 0; - if (!evsel->system_wide && - perf_evlist__add_pollfd(evlist, fd, map, revent, fdarray_flag__default) < 0) { + flgs = evsel->system_wide ? fdarray_flag__nonfilterable : fdarray_flag__default; + if (perf_evlist__add_pollfd(evlist, fd, map, revent, flgs) < 0) { perf_mmap__put(map); return -1; } @@ -520,6 +523,48 @@ } static int +mmap_per_thread(struct perf_evlist *evlist, struct perf_evlist_mmap_ops *ops, + struct perf_mmap_param *mp) +{ + int nr_threads = perf_thread_map__nr(evlist->threads); + int nr_cpus = perf_cpu_map__nr(evlist->all_cpus); + int cpu, thread, idx = 0; + int nr_mmaps = 0; + + pr_debug("%s: nr cpu values (may include -1) %d nr threads %d\n", + __func__, nr_cpus, nr_threads); + + /* per-thread mmaps */ + for (thread = 0; thread < nr_threads; thread++, idx++) { + int output = -1; + int output_overwrite = -1; + + if (mmap_per_evsel(evlist, ops, idx, mp, 0, thread, &output, + &output_overwrite, &nr_mmaps)) + goto out_unmap; + } + + /* system-wide mmaps i.e. per-cpu */ + for (cpu = 1; cpu < nr_cpus; cpu++, idx++) { + int output = -1; + int output_overwrite = -1; + + if (mmap_per_evsel(evlist, ops, idx, mp, cpu, 0, &output, + &output_overwrite, &nr_mmaps)) + goto out_unmap; + } + + if (nr_mmaps != evlist->nr_mmaps) + pr_err("Miscounted nr_mmaps %d vs %d\n", nr_mmaps, evlist->nr_mmaps); + + return 0; + +out_unmap: + perf_evlist__munmap(evlist); + return -1; +} + +static int mmap_per_cpu(struct perf_evlist *evlist, struct perf_evlist_mmap_ops *ops, struct perf_mmap_param *mp) { @@ -528,6 +573,8 @@ int nr_mmaps = 0; int cpu, thread; + pr_debug("%s: nr cpu values %d nr threads %d\n", __func__, nr_cpus, nr_threads); + for (cpu = 0; cpu < nr_cpus; cpu++) { int output = -1; int output_overwrite = -1; @@ -569,6 +616,7 @@ struct perf_evlist_mmap_ops *ops, struct perf_mmap_param *mp) { + const struct perf_cpu_map *cpus = evlist->all_cpus; struct perf_evsel *evsel; if (!ops || !ops->get || !ops->mmap) @@ -588,6 +636,9 @@ if (evlist->pollfd.entries == NULL && perf_evlist__alloc_pollfd(evlist) < 0) return -ENOMEM; + if (perf_cpu_map__empty(cpus)) + return mmap_per_thread(evlist, ops, mp); + return mmap_per_cpu(evlist, ops, mp); } --- linux-gcp-5.19.0.orig/tools/lib/thermal/sampling.c +++ linux-gcp-5.19.0/tools/lib/thermal/sampling.c @@ -54,7 +54,7 @@ thermal_error_t thermal_sampling_exit(struct thermal_handler *th) { if (nl_unsubscribe_thermal(th->sk_sampling, th->cb_sampling, - THERMAL_GENL_EVENT_GROUP_NAME)) + THERMAL_GENL_SAMPLING_GROUP_NAME)) return THERMAL_ERROR; nl_thermal_disconnect(th->sk_sampling, th->cb_sampling); --- linux-gcp-5.19.0.orig/tools/objtool/check.c +++ linux-gcp-5.19.0/tools/objtool/check.c @@ -162,32 +162,34 @@ /* * Unfortunately these have to be hard coded because the noreturn - * attribute isn't provided in ELF data. + * attribute isn't provided in ELF data. Keep 'em sorted. */ static const char * const global_noreturns[] = { + "__invalid_creds", + "__module_put_and_kthread_exit", + "__reiserfs_panic", "__stack_chk_fail", - "panic", + "__ubsan_handle_builtin_unreachable", + "cpu_bringup_and_idle", + "cpu_startup_entry", "do_exit", + "do_group_exit", "do_task_dead", - "kthread_exit", - "make_task_dead", - "__module_put_and_kthread_exit", + "ex_handler_msr_mce", + "fortify_panic", "kthread_complete_and_exit", - "__reiserfs_panic", + "kthread_exit", + "kunit_try_catch_throw", "lbug_with_loc", - "fortify_panic", - "usercopy_abort", "machine_real_restart", + "make_task_dead", + "panic", "rewind_stack_and_make_dead", - "kunit_try_catch_throw", - "xen_start_kernel", - "cpu_bringup_and_idle", - "do_group_exit", + "sev_es_terminate", + "snp_abort", "stop_this_cpu", - "__invalid_creds", - "cpu_startup_entry", - "__ubsan_handle_builtin_unreachable", - "ex_handler_msr_mce", + "usercopy_abort", + "xen_start_kernel", }; if (!func) @@ -205,7 +207,7 @@ return false; insn = find_insn(file, func->sec, func->offset); - if (!insn->func) + if (!insn || !insn->func) return false; func_for_each_insn(file, func, insn) { @@ -997,6 +999,16 @@ "__tsan_read_write4", "__tsan_read_write8", "__tsan_read_write16", + "__tsan_volatile_read1", + "__tsan_volatile_read2", + "__tsan_volatile_read4", + "__tsan_volatile_read8", + "__tsan_volatile_read16", + "__tsan_volatile_write1", + "__tsan_volatile_write2", + "__tsan_volatile_write4", + "__tsan_volatile_write8", + "__tsan_volatile_write16", "__tsan_atomic8_load", "__tsan_atomic16_load", "__tsan_atomic32_load", @@ -1047,6 +1059,8 @@ "__tsan_atomic64_compare_exchange_val", "__tsan_atomic_thread_fence", "__tsan_atomic_signal_fence", + "__tsan_unaligned_read16", + "__tsan_unaligned_write16", /* KCOV */ "write_comp_data", "check_kcov_mode", @@ -4096,7 +4110,8 @@ * These sections can reference text addresses, but not with * the intent to indirect branch to them. */ - if (!strncmp(sec->name, ".discard", 8) || + if ((!strncmp(sec->name, ".discard", 8) && + strcmp(sec->name, ".discard.ibt_endbr_noseal")) || !strncmp(sec->name, ".debug", 6) || !strcmp(sec->name, ".altinstructions") || !strcmp(sec->name, ".ibt_endbr_seal") || --- linux-gcp-5.19.0.orig/tools/objtool/elf.c +++ linux-gcp-5.19.0/tools/objtool/elf.c @@ -619,6 +619,11 @@ Elf64_Xword entsize = symtab->sh.sh_entsize; int max_idx, idx = sym->idx; Elf_Scn *s, *t = NULL; + bool is_special_shndx = sym->sym.st_shndx >= SHN_LORESERVE && + sym->sym.st_shndx != SHN_XINDEX; + + if (is_special_shndx) + shndx = sym->sym.st_shndx; s = elf_getscn(elf->elf, symtab->idx); if (!s) { @@ -704,7 +709,7 @@ } /* setup extended section index magic and write the symbol */ - if (shndx >= SHN_UNDEF && shndx < SHN_LORESERVE) { + if ((shndx >= SHN_UNDEF && shndx < SHN_LORESERVE) || is_special_shndx) { sym->sym.st_shndx = shndx; if (!shndx_data) shndx = 0; --- linux-gcp-5.19.0.orig/tools/perf/Documentation/perf-intel-pt.txt +++ linux-gcp-5.19.0/tools/perf/Documentation/perf-intel-pt.txt @@ -1629,6 +1629,36 @@ $ +Pipe mode +--------- +Pipe mode is a problem for Intel PT and possibly other auxtrace users. +It's not recommended to use a pipe as data output with Intel PT because +of the following reason. + +Essentially the auxtrace buffers do not behave like the regular perf +event buffers. That is because the head and tail are updated by +software, but in the auxtrace case the data is written by hardware. +So the head and tail do not get updated as data is written. + +In the Intel PT case, the head and tail are updated only when the trace +is disabled by software, for example: + - full-trace, system wide : when buffer passes watermark + - full-trace, not system-wide : when buffer passes watermark or + context switches + - snapshot mode : as above but also when a snapshot is made + - sample mode : as above but also when a sample is made + +That means finished-round ordering doesn't work. An auxtrace buffer +can turn up that has data that extends back in time, possibly to the +very beginning of tracing. + +For a perf.data file, that problem is solved by going through the trace +and queuing up the auxtrace buffers in advance. + +For pipe mode, the order of events and timestamps can presumably +be messed up. + + EXAMPLE ------- --- linux-gcp-5.19.0.orig/tools/perf/Makefile.config +++ linux-gcp-5.19.0/tools/perf/Makefile.config @@ -239,33 +239,18 @@ endif # Try different combinations to accommodate systems that only have -# python[2][3]-config in weird combinations in the following order of -# priority from lowest to highest: -# * python3-config -# * python-config -# * python2-config as per pep-0394. -# * $(PYTHON)-config (If PYTHON is user supplied but PYTHON_CONFIG isn't) -# -PYTHON_AUTO := python-config -PYTHON_AUTO := $(if $(call get-executable,python3-config),python3-config,$(PYTHON_AUTO)) -PYTHON_AUTO := $(if $(call get-executable,python-config),python-config,$(PYTHON_AUTO)) -PYTHON_AUTO := $(if $(call get-executable,python2-config),python2-config,$(PYTHON_AUTO)) - -# If PYTHON is defined but PYTHON_CONFIG isn't, then take $(PYTHON)-config as if it was the user -# supplied value for PYTHON_CONFIG. Because it's "user supplied", error out if it doesn't exist. -ifdef PYTHON - ifndef PYTHON_CONFIG - PYTHON_CONFIG_AUTO := $(call get-executable,$(PYTHON)-config) - PYTHON_CONFIG := $(if $(PYTHON_CONFIG_AUTO),$(PYTHON_CONFIG_AUTO),\ - $(call $(error $(PYTHON)-config not found))) - endif -endif - -# Select either auto detected python and python-config or use user supplied values if they are -# defined. get-executable-or-default fails with an error if the first argument is supplied but -# doesn't exist. -override PYTHON_CONFIG := $(call get-executable-or-default,PYTHON_CONFIG,$(PYTHON_AUTO)) -override PYTHON := $(call get-executable-or-default,PYTHON,$(subst -config,,$(PYTHON_AUTO))) +# python[2][-config] in weird combinations but always preferring +# python2 and python2-config as per pep-0394. If python2 or python +# aren't found, then python3 is used. +PYTHON_AUTO := python +PYTHON_AUTO := $(if $(call get-executable,python3),python3,$(PYTHON_AUTO)) +PYTHON_AUTO := $(if $(call get-executable,python),python,$(PYTHON_AUTO)) +PYTHON_AUTO := $(if $(call get-executable,python2),python2,$(PYTHON_AUTO)) +override PYTHON := $(call get-executable-or-default,PYTHON,$(PYTHON_AUTO)) +PYTHON_AUTO_CONFIG := \ + $(if $(call get-executable,$(PYTHON)-config),$(PYTHON)-config,python-config) +override PYTHON_CONFIG := \ + $(call get-executable-or-default,PYTHON_CONFIG,$(PYTHON_AUTO_CONFIG)) grep-libs = $(filter -l%,$(1)) strip-libs = $(filter-out -l%,$(1)) @@ -889,6 +874,10 @@ endif endif +ifdef HAVE_NO_LIBBFD + feature-libbfd := 0 + $(info libbfd overidden OFF) +else ifndef NO_LIBBFD ifeq ($(feature-libbfd), 1) @@ -921,6 +910,8 @@ endif endif +endif + ifdef NO_DEMANGLE CFLAGS += -DNO_DEMANGLE else --- linux-gcp-5.19.0.orig/tools/perf/arch/x86/util/evlist.c +++ linux-gcp-5.19.0/tools/perf/arch/x86/util/evlist.c @@ -8,8 +8,13 @@ #define TOPDOWN_L1_EVENTS "{slots,topdown-retiring,topdown-bad-spec,topdown-fe-bound,topdown-be-bound}" #define TOPDOWN_L2_EVENTS "{slots,topdown-retiring,topdown-bad-spec,topdown-fe-bound,topdown-be-bound,topdown-heavy-ops,topdown-br-mispredict,topdown-fetch-lat,topdown-mem-bound}" -int arch_evlist__add_default_attrs(struct evlist *evlist) +int arch_evlist__add_default_attrs(struct evlist *evlist, + struct perf_event_attr *attrs, + size_t nr_attrs) { + if (nr_attrs) + return __evlist__add_default_attrs(evlist, attrs, nr_attrs); + if (!pmu_have_event("cpu", "slots")) return 0; --- linux-gcp-5.19.0.orig/tools/perf/arch/x86/util/intel-pt.c +++ linux-gcp-5.19.0/tools/perf/arch/x86/util/intel-pt.c @@ -871,7 +871,7 @@ * User space tasks can migrate between CPUs, so when tracing * selected CPUs, sideband for all CPUs is still needed. */ - need_system_wide_tracking = evlist->core.has_user_cpus && + need_system_wide_tracking = opts->target.cpu_list && !intel_pt_evsel->core.attr.exclude_user; tracking_evsel = evlist__add_aux_dummy(evlist, need_system_wide_tracking); --- linux-gcp-5.19.0.orig/tools/perf/bench/bench.h +++ linux-gcp-5.19.0/tools/perf/bench/bench.h @@ -10,25 +10,13 @@ * The madvise transparent hugepage constants were added in glibc * 2.13. For compatibility with older versions of glibc, define these * tokens if they are not already defined. - * - * PA-RISC uses different madvise values from other architectures and - * needs to be special-cased. */ -#ifdef __hppa__ -# ifndef MADV_HUGEPAGE -# define MADV_HUGEPAGE 67 -# endif -# ifndef MADV_NOHUGEPAGE -# define MADV_NOHUGEPAGE 68 -# endif -#else # ifndef MADV_HUGEPAGE # define MADV_HUGEPAGE 14 # endif # ifndef MADV_NOHUGEPAGE # define MADV_NOHUGEPAGE 15 # endif -#endif int bench_numa(int argc, const char **argv); int bench_sched_messaging(int argc, const char **argv); --- linux-gcp-5.19.0.orig/tools/perf/builtin-inject.c +++ linux-gcp-5.19.0/tools/perf/builtin-inject.c @@ -148,14 +148,14 @@ #ifdef HAVE_AUXTRACE_SUPPORT -static int copy_bytes(struct perf_inject *inject, int fd, off_t size) +static int copy_bytes(struct perf_inject *inject, struct perf_data *data, off_t size) { char buf[4096]; ssize_t ssz; int ret; while (size > 0) { - ssz = read(fd, buf, min(size, (off_t)sizeof(buf))); + ssz = perf_data__read(data, buf, min(size, (off_t)sizeof(buf))); if (ssz < 0) return -errno; ret = output_bytes(inject, buf, ssz); @@ -193,7 +193,7 @@ ret = output_bytes(inject, event, event->header.size); if (ret < 0) return ret; - ret = copy_bytes(inject, perf_data__fd(session->data), + ret = copy_bytes(inject, session->data, event->auxtrace.size); } else { ret = output_bytes(inject, event, --- linux-gcp-5.19.0.orig/tools/perf/builtin-list.c +++ linux-gcp-5.19.0/tools/perf/builtin-list.c @@ -10,7 +10,7 @@ */ #include "builtin.h" -#include "util/parse-events.h" +#include "util/print-events.h" #include "util/pmu.h" #include "util/pmu-hybrid.h" #include "util/debug.h" --- linux-gcp-5.19.0.orig/tools/perf/builtin-lock.c +++ linux-gcp-5.19.0/tools/perf/builtin-lock.c @@ -13,6 +13,7 @@ #include #include #include "util/trace-event.h" +#include "util/tracepoint.h" #include "util/debug.h" #include "util/session.h" --- linux-gcp-5.19.0.orig/tools/perf/builtin-record.c +++ linux-gcp-5.19.0/tools/perf/builtin-record.c @@ -147,6 +147,7 @@ struct perf_tool tool; struct record_opts opts; u64 bytes_written; + u64 thread_bytes_written; struct perf_data data; struct auxtrace_record *itr; struct evlist *evlist; @@ -216,14 +217,7 @@ static u64 record__bytes_written(struct record *rec) { - int t; - u64 bytes_written = rec->bytes_written; - struct record_thread *thread_data = rec->thread_data; - - for (t = 0; t < rec->nr_threads; t++) - bytes_written += thread_data[t].bytes_written; - - return bytes_written; + return rec->bytes_written + rec->thread_bytes_written; } static bool record__output_max_size_exceeded(struct record *rec) @@ -245,10 +239,12 @@ return -1; } - if (map && map->file) + if (map && map->file) { thread->bytes_written += size; - else + rec->thread_bytes_written += size; + } else { rec->bytes_written += size; + } if (record__output_max_size_exceeded(rec) && !done) { fprintf(stderr, "[ perf record: perf size limit reached (%" PRIu64 " KB)," @@ -1892,14 +1888,18 @@ err = perf_event__synthesize_bpf_events(session, process_synthesized_event, machine, opts); - if (err < 0) + if (err < 0) { pr_warning("Couldn't synthesize bpf events.\n"); + err = 0; + } if (rec->opts.synth & PERF_SYNTH_CGROUP) { err = perf_event__synthesize_cgroups(tool, process_synthesized_event, machine); - if (err < 0) + if (err < 0) { pr_warning("Couldn't synthesize cgroup events.\n"); + err = 0; + } } if (rec->opts.nr_threads_synthesize > 1) { @@ -3331,16 +3331,24 @@ struct option *record_options = __record_options; -static void record__mmap_cpu_mask_init(struct mmap_cpu_mask *mask, struct perf_cpu_map *cpus) +static int record__mmap_cpu_mask_init(struct mmap_cpu_mask *mask, struct perf_cpu_map *cpus) { struct perf_cpu cpu; int idx; if (cpu_map__is_dummy(cpus)) - return; + return 0; - perf_cpu_map__for_each_cpu(cpu, idx, cpus) + perf_cpu_map__for_each_cpu(cpu, idx, cpus) { + if (cpu.cpu == -1) + continue; + /* Return ENODEV is input cpu is greater than max cpu */ + if ((unsigned long)cpu.cpu > mask->nbits) + return -ENODEV; set_bit(cpu.cpu, mask->bits); + } + + return 0; } static int record__mmap_cpu_mask_init_spec(struct mmap_cpu_mask *mask, const char *mask_spec) @@ -3352,7 +3360,9 @@ return -ENOMEM; bitmap_zero(mask->bits, mask->nbits); - record__mmap_cpu_mask_init(mask, cpus); + if (record__mmap_cpu_mask_init(mask, cpus)) + return -ENODEV; + perf_cpu_map__put(cpus); return 0; @@ -3434,7 +3444,12 @@ pr_err("Failed to allocate CPUs mask\n"); return ret; } - record__mmap_cpu_mask_init(&cpus_mask, cpus); + + ret = record__mmap_cpu_mask_init(&cpus_mask, cpus); + if (ret) { + pr_err("Failed to init cpu mask\n"); + goto out_free_cpu_mask; + } ret = record__thread_mask_alloc(&full_mask, cpu__max_cpu().cpu); if (ret) { @@ -3675,7 +3690,8 @@ if (ret) return ret; - record__mmap_cpu_mask_init(&rec->thread_masks->maps, cpus); + if (record__mmap_cpu_mask_init(&rec->thread_masks->maps, cpus)) + return -ENODEV; rec->nr_threads = 1; --- linux-gcp-5.19.0.orig/tools/perf/builtin-script.c +++ linux-gcp-5.19.0/tools/perf/builtin-script.c @@ -441,6 +441,9 @@ struct perf_event_attr *attr = &evsel->core.attr; bool allow_user_set; + if (evsel__is_dummy_event(evsel)) + return 0; + if (perf_header__has_feat(&session->header, HEADER_STAT)) return 0; --- linux-gcp-5.19.0.orig/tools/perf/builtin-stat.c +++ linux-gcp-5.19.0/tools/perf/builtin-stat.c @@ -573,26 +573,14 @@ return err; } - if (stat_config.initial_delay < 0) { - pr_info(EVLIST_DISABLED_MSG); - return 0; - } - - if (stat_config.initial_delay > 0) { - pr_info(EVLIST_DISABLED_MSG); - usleep(stat_config.initial_delay * USEC_PER_MSEC); - } - /* * We need to enable counters only if: * - we don't have tracee (attaching to task or cpu) * - we have initial delay configured */ - if (!target__none(&target) || stat_config.initial_delay) { + if (!target__none(&target)) { if (!all_counters_use_bpf) evlist__enable(evsel_list); - if (stat_config.initial_delay > 0) - pr_info(EVLIST_ENABLED_MSG); } return 0; } @@ -826,6 +814,7 @@ } evlist__for_each_entry(evsel_list, counter) { + counter->reset_group = false; if (bpf_counter__load(counter, &target)) return -1; if (!evsel__is_bpf(counter)) @@ -966,18 +955,31 @@ return err; } - /* - * Enable counters and exec the command: - */ - if (forks) { + if (stat_config.initial_delay) { + pr_info(EVLIST_DISABLED_MSG); + } else { err = enable_counters(); if (err) return -1; + } + + /* Exec the command, if any */ + if (forks) evlist__start_workload(evsel_list); - t0 = rdclock(); - clock_gettime(CLOCK_MONOTONIC, &ref_time); + if (stat_config.initial_delay > 0) { + usleep(stat_config.initial_delay * USEC_PER_MSEC); + err = enable_counters(); + if (err) + return -1; + + pr_info(EVLIST_ENABLED_MSG); + } + + t0 = rdclock(); + clock_gettime(CLOCK_MONOTONIC, &ref_time); + if (forks) { if (interval || timeout || evlist__ctlfd_initialized(evsel_list)) status = dispatch_events(forks, timeout, interval, ×); if (child_pid != -1) { @@ -995,13 +997,6 @@ if (WIFSIGNALED(status)) psignal(WTERMSIG(status), argv[0]); } else { - err = enable_counters(); - if (err) - return -1; - - t0 = rdclock(); - clock_gettime(CLOCK_MONOTONIC, &ref_time); - status = dispatch_events(forks, timeout, interval, ×); } @@ -1686,12 +1681,6 @@ { .type = PERF_TYPE_HARDWARE, .config = PERF_COUNT_HW_BRANCH_MISSES }, }; - struct perf_event_attr default_sw_attrs[] = { - { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_TASK_CLOCK }, - { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_CONTEXT_SWITCHES }, - { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_CPU_MIGRATIONS }, - { .type = PERF_TYPE_SOFTWARE, .config = PERF_COUNT_SW_PAGE_FAULTS }, -}; /* * Detailed stats (-d), covering the L1 and last level data caches: @@ -1783,6 +1772,9 @@ (PERF_COUNT_HW_CACHE_OP_PREFETCH << 8) | (PERF_COUNT_HW_CACHE_RESULT_MISS << 16) }, }; + + struct perf_event_attr default_null_attrs[] = {}; + /* Set attrs if no event is selected and !null_run: */ if (stat_config.null_run) return 0; @@ -1946,31 +1938,10 @@ free(str); } - if (!evsel_list->core.nr_entries) { - if (perf_pmu__has_hybrid()) { - struct parse_events_error errinfo; - const char *hybrid_str = "cycles,instructions,branches,branch-misses"; - - if (target__has_cpu(&target)) - default_sw_attrs[0].config = PERF_COUNT_SW_CPU_CLOCK; - - if (evlist__add_default_attrs(evsel_list, - default_sw_attrs) < 0) { - return -1; - } - - parse_events_error__init(&errinfo); - err = parse_events(evsel_list, hybrid_str, &errinfo); - if (err) { - fprintf(stderr, - "Cannot set up hybrid events %s: %d\n", - hybrid_str, err); - parse_events_error__print(&errinfo, hybrid_str); - } - parse_events_error__exit(&errinfo); - return err ? -1 : 0; - } + if (!stat_config.topdown_level) + stat_config.topdown_level = TOPDOWN_MAX_LEVEL; + if (!evsel_list->core.nr_entries) { if (target__has_cpu(&target)) default_attrs0[0].config = PERF_COUNT_SW_CPU_CLOCK; @@ -1986,9 +1957,8 @@ } if (evlist__add_default_attrs(evsel_list, default_attrs1) < 0) return -1; - - stat_config.topdown_level = TOPDOWN_MAX_LEVEL; - if (arch_evlist__add_default_attrs(evsel_list) < 0) + /* Platform specific attrs */ + if (evlist__add_default_attrs(evsel_list, default_null_attrs) < 0) return -1; } --- linux-gcp-5.19.0.orig/tools/perf/builtin-timechart.c +++ linux-gcp-5.19.0/tools/perf/builtin-timechart.c @@ -36,6 +36,7 @@ #include "util/data.h" #include "util/debug.h" #include "util/string2.h" +#include "util/tracepoint.h" #include #ifdef LACKS_OPEN_MEMSTREAM_PROTOTYPE --- linux-gcp-5.19.0.orig/tools/perf/builtin-trace.c +++ linux-gcp-5.19.0/tools/perf/builtin-trace.c @@ -17,7 +17,9 @@ #include "util/record.h" #include #include +#ifdef HAVE_LIBBPF_SUPPORT #include +#endif #include "util/bpf_map.h" #include "util/rlimit.h" #include "builtin.h" @@ -53,6 +55,7 @@ #include "trace-event.h" #include "util/parse-events.h" #include "util/bpf-loader.h" +#include "util/tracepoint.h" #include "callchain.h" #include "print_binary.h" #include "string2.h" @@ -87,6 +90,8 @@ # define F_LINUX_SPECIFIC_BASE 1024 #endif +#define RAW_SYSCALL_ARGS_NUM 6 + /* * strtoul: Go from a string to a value, i.e. for msr: MSR_FS_BASE to 0xc0000100 */ @@ -107,7 +112,7 @@ const char *sys_enter, *sys_exit; } bpf_prog_name; - struct syscall_arg_fmt arg[6]; + struct syscall_arg_fmt arg[RAW_SYSCALL_ARGS_NUM]; u8 nr_args; bool errpid; bool timeout; @@ -1228,7 +1233,7 @@ */ struct bpf_map_syscall_entry { bool enabled; - u16 string_args_len[6]; + u16 string_args_len[RAW_SYSCALL_ARGS_NUM]; }; /* @@ -1660,7 +1665,7 @@ { int idx; - if (nr_args == 6 && sc->fmt && sc->fmt->nr_args != 0) + if (nr_args == RAW_SYSCALL_ARGS_NUM && sc->fmt && sc->fmt->nr_args != 0) nr_args = sc->fmt->nr_args; sc->arg_fmt = calloc(nr_args, sizeof(*sc->arg_fmt)); @@ -1793,11 +1798,11 @@ #endif sc = trace->syscalls.table + id; if (sc->nonexistent) - return 0; + return -EEXIST; if (name == NULL) { sc->nonexistent = true; - return 0; + return -EEXIST; } sc->name = name; @@ -1811,11 +1816,18 @@ sc->tp_format = trace_event__tp_format("syscalls", tp_name); } - if (syscall__alloc_arg_fmts(sc, IS_ERR(sc->tp_format) ? 6 : sc->tp_format->format.nr_fields)) - return -ENOMEM; - - if (IS_ERR(sc->tp_format)) + /* + * Fails to read trace point format via sysfs node, so the trace point + * doesn't exist. Set the 'nonexistent' flag as true. + */ + if (IS_ERR(sc->tp_format)) { + sc->nonexistent = true; return PTR_ERR(sc->tp_format); + } + + if (syscall__alloc_arg_fmts(sc, IS_ERR(sc->tp_format) ? + RAW_SYSCALL_ARGS_NUM : sc->tp_format->format.nr_fields)) + return -ENOMEM; sc->args = sc->tp_format->format.fields; /* @@ -2133,11 +2145,8 @@ (err = trace__read_syscall_info(trace, id)) != 0) goto out_cant_read; - if (trace->syscalls.table[id].name == NULL) { - if (trace->syscalls.table[id].nonexistent) - return NULL; + if (trace->syscalls.table && trace->syscalls.table[id].nonexistent) goto out_cant_read; - } return &trace->syscalls.table[id]; --- linux-gcp-5.19.0.orig/tools/perf/dlfilters/dlfilter-show-cycles.c +++ linux-gcp-5.19.0/tools/perf/dlfilters/dlfilter-show-cycles.c @@ -98,9 +98,9 @@ static void print_vals(__u64 cycles, __u64 delta) { if (delta) - printf("%10llu %10llu ", cycles, delta); + printf("%10llu %10llu ", (unsigned long long)cycles, (unsigned long long)delta); else - printf("%10llu %10s ", cycles, ""); + printf("%10llu %10s ", (unsigned long long)cycles, ""); } int filter_event(void *data, const struct perf_dlfilter_sample *sample, void *ctx) --- linux-gcp-5.19.0.orig/tools/perf/perf-completion.sh +++ linux-gcp-5.19.0/tools/perf/perf-completion.sh @@ -165,7 +165,12 @@ local cur1=${COMP_WORDS[COMP_CWORD]} local raw_evts=$($cmd list --raw-dump) - local arr s tmp result + local arr s tmp result cpu_evts + + # aarch64 doesn't have /sys/bus/event_source/devices/cpu/events + if [[ `uname -m` != aarch64 ]]; then + cpu_evts=$(ls /sys/bus/event_source/devices/cpu/events) + fi if [[ "$cur1" == */* && ${cur1#*/} =~ ^[A-Z] ]]; then OLD_IFS="$IFS" @@ -183,9 +188,9 @@ fi done - evts=${result}" "$(ls /sys/bus/event_source/devices/cpu/events) + evts=${result}" "${cpu_evts} else - evts=${raw_evts}" "$(ls /sys/bus/event_source/devices/cpu/events) + evts=${raw_evts}" "${cpu_evts} fi if [[ "$cur1" == , ]]; then --- linux-gcp-5.19.0.orig/tools/perf/pmu-events/arch/arm64/hisilicon/hip08/metrics.json +++ linux-gcp-5.19.0/tools/perf/pmu-events/arch/arm64/hisilicon/hip08/metrics.json @@ -112,21 +112,21 @@ "MetricName": "indirect_branch" }, { - "MetricExpr": "(armv8_pmuv3_0@event\\=0x1014@ + armv8_pmuv3_0@event\\=0x1018@) / BR_MIS_PRED", + "MetricExpr": "(armv8_pmuv3_0@event\\=0x1013@ + armv8_pmuv3_0@event\\=0x1016@) / BR_MIS_PRED", "PublicDescription": "Push branch L3 topdown metric", "BriefDescription": "Push branch L3 topdown metric", "MetricGroup": "TopDownL3", "MetricName": "push_branch" }, { - "MetricExpr": "armv8_pmuv3_0@event\\=0x100c@ / BR_MIS_PRED", + "MetricExpr": "armv8_pmuv3_0@event\\=0x100d@ / BR_MIS_PRED", "PublicDescription": "Pop branch L3 topdown metric", "BriefDescription": "Pop branch L3 topdown metric", "MetricGroup": "TopDownL3", "MetricName": "pop_branch" }, { - "MetricExpr": "(BR_MIS_PRED - armv8_pmuv3_0@event\\=0x1010@ - armv8_pmuv3_0@event\\=0x1014@ - armv8_pmuv3_0@event\\=0x1018@ - armv8_pmuv3_0@event\\=0x100c@) / BR_MIS_PRED", + "MetricExpr": "(BR_MIS_PRED - armv8_pmuv3_0@event\\=0x1010@ - armv8_pmuv3_0@event\\=0x1013@ - armv8_pmuv3_0@event\\=0x1016@ - armv8_pmuv3_0@event\\=0x100d@) / BR_MIS_PRED", "PublicDescription": "Other branch L3 topdown metric", "BriefDescription": "Other branch L3 topdown metric", "MetricGroup": "TopDownL3", --- linux-gcp-5.19.0.orig/tools/perf/pmu-events/arch/powerpc/power10/nest_metrics.json +++ linux-gcp-5.19.0/tools/perf/pmu-events/arch/powerpc/power10/nest_metrics.json @@ -1,13 +1,13 @@ [ { "MetricName": "VEC_GROUP_PUMP_RETRY_RATIO_P01", - "MetricExpr": "(hv_24x7@PM_PB_RTY_VG_PUMP01\\,chip\\=?@ / hv_24x7@PM_PB_VG_PUMP01\\,chip\\=?@) * 100", + "MetricExpr": "(hv_24x7@PM_PB_RTY_VG_PUMP01\\,chip\\=?@ / (1 + hv_24x7@PM_PB_VG_PUMP01\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, { "MetricName": "VEC_GROUP_PUMP_RETRY_RATIO_P23", - "MetricExpr": "(hv_24x7@PM_PB_RTY_VG_PUMP23\\,chip\\=?@ / hv_24x7@PM_PB_VG_PUMP23\\,chip\\=?@) * 100", + "MetricExpr": "(hv_24x7@PM_PB_RTY_VG_PUMP23\\,chip\\=?@ / (1 + hv_24x7@PM_PB_VG_PUMP23\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, @@ -61,13 +61,13 @@ }, { "MetricName": "REMOTE_NODE_PUMPS_RETRIES_RATIO_P01", - "MetricExpr": "(hv_24x7@PM_PB_RTY_RNS_PUMP01\\,chip\\=?@ / hv_24x7@PM_PB_RNS_PUMP01\\,chip\\=?@) * 100", + "MetricExpr": "(hv_24x7@PM_PB_RTY_RNS_PUMP01\\,chip\\=?@ / (1 + hv_24x7@PM_PB_RNS_PUMP01\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, { "MetricName": "REMOTE_NODE_PUMPS_RETRIES_RATIO_P23", - "MetricExpr": "(hv_24x7@PM_PB_RTY_RNS_PUMP23\\,chip\\=?@ / hv_24x7@PM_PB_RNS_PUMP23\\,chip\\=?@) * 100", + "MetricExpr": "(hv_24x7@PM_PB_RTY_RNS_PUMP23\\,chip\\=?@ / (1 + hv_24x7@PM_PB_RNS_PUMP23\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, @@ -151,193 +151,193 @@ }, { "MetricName": "XLINK0_OUT_TOTAL_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_XLINK0_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_XLINK0_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, { "MetricName": "XLINK1_OUT_TOTAL_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_XLINK1_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_XLINK1_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, { "MetricName": "XLINK2_OUT_TOTAL_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_XLINK2_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_XLINK2_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, { "MetricName": "XLINK3_OUT_TOTAL_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_XLINK3_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_XLINK3_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, { "MetricName": "XLINK4_OUT_TOTAL_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_XLINK4_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_XLINK4_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, { "MetricName": "XLINK5_OUT_TOTAL_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_XLINK5_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_XLINK5_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, { "MetricName": "XLINK6_OUT_TOTAL_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_XLINK6_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_XLINK6_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, { "MetricName": "XLINK7_OUT_TOTAL_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_XLINK7_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_XLINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_XLINK7_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, { "MetricName": "XLINK0_OUT_DATA_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_XLINK0_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_XLINK0_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1.063%", "AggregationMode": "PerChip" }, { "MetricName": "XLINK1_OUT_DATA_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_XLINK1_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_XLINK1_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1.063%", "AggregationMode": "PerChip" }, { "MetricName": "XLINK2_OUT_DATA_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_XLINK2_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_XLINK2_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1.063%", "AggregationMode": "PerChip" }, { "MetricName": "XLINK3_OUT_DATA_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_XLINK3_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_XLINK3_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1.063%", "AggregationMode": "PerChip" }, { "MetricName": "XLINK4_OUT_DATA_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_XLINK4_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_XLINK4_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1.063%", "AggregationMode": "PerChip" }, { "MetricName": "XLINK5_OUT_DATA_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_XLINK5_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_XLINK5_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1.063%", "AggregationMode": "PerChip" }, { "MetricName": "XLINK6_OUT_DATA_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_XLINK6_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_XLINK6_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1.063%", "AggregationMode": "PerChip" }, { "MetricName": "XLINK7_OUT_DATA_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_XLINK7_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_XLINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_XLINK7_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_XLINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_XLINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1.063%", "AggregationMode": "PerChip" }, { "MetricName": "ALINK0_OUT_TOTAL_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_ALINK0_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_ALINK0_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, { "MetricName": "ALINK1_OUT_TOTAL_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_ALINK1_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_ALINK1_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, { "MetricName": "ALINK2_OUT_TOTAL_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_ALINK2_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_ALINK2_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, { "MetricName": "ALINK3_OUT_TOTAL_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_ALINK3_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_ALINK3_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, { "MetricName": "ALINK4_OUT_TOTAL_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_ALINK4_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_ALINK4_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, { "MetricName": "ALINK5_OUT_TOTAL_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_ALINK5_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_ALINK5_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, { "MetricName": "ALINK6_OUT_TOTAL_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_ALINK6_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_ALINK6_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, { "MetricName": "ALINK7_OUT_TOTAL_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_ALINK7_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (hv_24x7@PM_ALINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_ALINK7_OUT_ODD_TOTAL_UTIL\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_TOTAL_UTIL\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1%", "AggregationMode": "PerChip" }, { "MetricName": "ALINK0_OUT_DATA_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_ALINK0_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_ALINK0_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK0_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK0_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1.063%", "AggregationMode": "PerChip" }, { "MetricName": "ALINK1_OUT_DATA_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_ALINK1_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_ALINK1_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK1_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK1_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1.063%", "AggregationMode": "PerChip" }, { "MetricName": "ALINK2_OUT_DATA_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_ALINK2_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_ALINK2_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK2_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK2_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1.063%", "AggregationMode": "PerChip" }, { "MetricName": "ALINK3_OUT_DATA_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_ALINK3_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_ALINK3_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK3_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK3_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1.063%", "AggregationMode": "PerChip" }, { "MetricName": "ALINK4_OUT_DATA_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_ALINK4_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_ALINK4_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK4_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK4_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1.063%", "AggregationMode": "PerChip" }, { "MetricName": "ALINK5_OUT_DATA_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_ALINK5_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_ALINK5_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK5_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK5_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1.063%", "AggregationMode": "PerChip" }, { "MetricName": "ALINK6_OUT_DATA_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_ALINK6_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_ALINK6_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK6_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK6_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1.063%", "AggregationMode": "PerChip" }, { "MetricName": "ALINK7_OUT_DATA_UTILIZATION", - "MetricExpr": "((hv_24x7@PM_ALINK7_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_DATA\\,chip\\=?@) / (hv_24x7@PM_ALINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", + "MetricExpr": "((hv_24x7@PM_ALINK7_OUT_ODD_DATA\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_DATA\\,chip\\=?@) / (1 + hv_24x7@PM_ALINK7_OUT_ODD_AVLBL_CYCLES\\,chip\\=?@ + hv_24x7@PM_ALINK7_OUT_EVEN_AVLBL_CYCLES\\,chip\\=?@)) * 100", "ScaleUnit": "1.063%", "AggregationMode": "PerChip" }, --- linux-gcp-5.19.0.orig/tools/perf/tests/bpf.c +++ linux-gcp-5.19.0/tools/perf/tests/bpf.c @@ -126,6 +126,10 @@ err = parse_events_load_bpf_obj(&parse_state, &parse_state.list, obj, NULL); parse_events_error__exit(&parse_error); + if (err == -ENODATA) { + pr_debug("Failed to add events selected by BPF, debuginfo package not installed\n"); + return TEST_SKIP; + } if (err || list_empty(&parse_state.list)) { pr_debug("Failed to add events selected by BPF\n"); return TEST_FAIL; @@ -368,7 +372,7 @@ "clang isn't installed or environment missing BPF support"), #ifdef HAVE_BPF_PROLOGUE TEST_CASE_REASON("BPF prologue generation", bpf_prologue_test, - "clang isn't installed or environment missing BPF support"), + "clang/debuginfo isn't installed or environment missing BPF support"), #else TEST_CASE_REASON("BPF prologue generation", bpf_prologue_test, "not compiled in"), #endif --- linux-gcp-5.19.0.orig/tools/perf/tests/perf-record.c +++ linux-gcp-5.19.0/tools/perf/tests/perf-record.c @@ -332,7 +332,7 @@ out: if (err == -EACCES) return TEST_SKIP; - if (err < 0) + if (err < 0 || errs != 0) return TEST_FAIL; return TEST_OK; } --- linux-gcp-5.19.0.orig/tools/perf/tests/shell/record.sh +++ linux-gcp-5.19.0/tools/perf/tests/shell/record.sh @@ -61,7 +61,7 @@ echo "Register capture test [Skipped missing registers]" return fi - if ! perf record -o - --intr-regs=di,r8,dx,cx -e cpu/br_inst_retired.near_call/p \ + if ! perf record -o - --intr-regs=di,r8,dx,cx -e br_inst_retired.near_call:p \ -c 1000 --per-thread true 2> /dev/null \ | perf script -F ip,sym,iregs -i - 2> /dev/null \ | egrep -q "DI:" --- linux-gcp-5.19.0.orig/tools/perf/tests/shell/stat+csv_output.sh +++ linux-gcp-5.19.0/tools/perf/tests/shell/stat+csv_output.sh @@ -8,7 +8,8 @@ function commachecker() { - local -i cnt=0 exp=0 + local -i cnt=0 + local exp=0 case "$1" in "--no-args") exp=6 @@ -17,7 +18,7 @@ ;; "--interval") exp=7 ;; "--per-thread") exp=7 ;; "--system-wide-no-aggr") exp=7 - [ $(uname -m) = "s390x" ] && exp=6 + [ $(uname -m) = "s390x" ] && exp='^[6-7]$' ;; "--per-core") exp=8 ;; "--per-socket") exp=8 ;; "--per-node") exp=8 @@ -34,7 +35,7 @@ x=$(echo $line | tr -d -c ',') cnt="${#x}" # echo $line $cnt - [ "$cnt" -ne "$exp" ] && { + [[ ! "$cnt" =~ $exp ]] && { echo "wrong number of fields. expected $exp in $line" 1>&2 exit 1; } --- linux-gcp-5.19.0.orig/tools/perf/tests/shell/stat_all_pmu.sh +++ linux-gcp-5.19.0/tools/perf/tests/shell/stat_all_pmu.sh @@ -4,17 +4,8 @@ set -e -for p in $(perf list --raw-dump pmu); do - # In powerpc, skip the events for hv_24x7 and hv_gpci. - # These events needs input values to be filled in for - # core, chip, partition id based on system. - # Example: hv_24x7/CPM_ADJUNCT_INST,domain=?,core=?/ - # hv_gpci/event,partition_id=?/ - # Hence skip these events for ppc. - if echo "$p" |grep -Eq 'hv_24x7|hv_gpci' ; then - echo "Skipping: Event '$p' in powerpc" - continue - fi +# Test all PMU events; however exclude parametrized ones (name contains '?') +for p in $(perf list --raw-dump pmu | sed 's/[[:graph:]]\+?[[:graph:]]\+[[:space:]]//g'); do echo "Testing $p" result=$(perf stat -e "$p" true 2>&1) if ! echo "$result" | grep -q "$p" && ! echo "$result" | grep -q "" ; then --- linux-gcp-5.19.0.orig/tools/perf/tests/switch-tracking.c +++ linux-gcp-5.19.0/tools/perf/tests/switch-tracking.c @@ -324,6 +324,7 @@ static int test__switch_tracking(struct test_suite *test __maybe_unused, int subtest __maybe_unused) { const char *sched_switch = "sched:sched_switch"; + const char *cycles = "cycles:u"; struct switch_tracking switch_tracking = { .tids = NULL, }; struct record_opts opts = { .mmap_pages = UINT_MAX, @@ -372,12 +373,19 @@ cpu_clocks_evsel = evlist__last(evlist); /* Second event */ - if (perf_pmu__has_hybrid()) - err = parse_events(evlist, "cpu_core/cycles/u", NULL); - else - err = parse_events(evlist, "cycles:u", NULL); + if (perf_pmu__has_hybrid()) { + cycles = "cpu_core/cycles/u"; + err = parse_events(evlist, cycles, NULL); + if (err) { + cycles = "cpu_atom/cycles/u"; + pr_debug("Trying %s\n", cycles); + err = parse_events(evlist, cycles, NULL); + } + } else { + err = parse_events(evlist, cycles, NULL); + } if (err) { - pr_debug("Failed to parse event cycles:u\n"); + pr_debug("Failed to parse event %s\n", cycles); goto out_err; } --- linux-gcp-5.19.0.orig/tools/perf/util/Build +++ linux-gcp-5.19.0/tools/perf/util/Build @@ -26,6 +26,8 @@ perf-y += memswap.o perf-y += parse-events.o perf-y += parse-events-hybrid.o +perf-y += print-events.o +perf-y += tracepoint.o perf-y += perf_regs.o perf-y += path.o perf-y += print_binary.o --- linux-gcp-5.19.0.orig/tools/perf/util/auxtrace.c +++ linux-gcp-5.19.0/tools/perf/util/auxtrace.c @@ -1130,6 +1130,9 @@ if (auxtrace__dont_decode(session)) return 0; + if (perf_data__is_pipe(session->data)) + return 0; + if (!session->auxtrace || !session->auxtrace->queue_data) return -EINVAL; @@ -2290,11 +2293,19 @@ bool near; }; +static bool kern_sym_name_match(const char *kname, const char *name) +{ + size_t n = strlen(name); + + return !strcmp(kname, name) || + (!strncmp(kname, name, n) && kname[n] == '\t'); +} + static bool kern_sym_match(struct sym_args *args, const char *name, char type) { /* A function with the same name, and global or the n'th found or any */ return kallsyms__is_function(type) && - !strcmp(name, args->name) && + kern_sym_name_match(name, args->name) && ((args->global && isupper(type)) || (args->selected && ++(args->cnt) == args->idx) || (!args->global && !args->selected)); @@ -2567,7 +2578,7 @@ *size = sym->start - *start; if (idx > 0) { if (*size) - return 1; + return 0; } else if (dso_sym_match(sym, sym_name, &cnt, idx)) { print_duplicate_syms(dso, sym_name); return -EINVAL; --- linux-gcp-5.19.0.orig/tools/perf/util/bpf_counter.h +++ linux-gcp-5.19.0/tools/perf/util/bpf_counter.h @@ -4,9 +4,12 @@ #include #include + +#ifdef HAVE_LIBBPF_SUPPORT #include #include #include +#endif struct evsel; struct target; @@ -87,6 +90,8 @@ setrlimit(RLIMIT_MEMLOCK, &rinf); } +#ifdef HAVE_BPF_SKEL + static inline __u32 bpf_link_get_id(int fd) { struct bpf_link_info link_info = { .id = 0, }; @@ -127,5 +132,6 @@ return bpf_prog_test_run_opts(prog_fd, &opts); } +#endif /* HAVE_BPF_SKEL */ #endif /* __PERF_BPF_COUNTER_H */ --- linux-gcp-5.19.0.orig/tools/perf/util/bpf_counter_cgroup.c +++ linux-gcp-5.19.0/tools/perf/util/bpf_counter_cgroup.c @@ -95,7 +95,7 @@ perf_cpu_map__for_each_cpu(cpu, i, evlist->core.all_cpus) { link = bpf_program__attach_perf_event(skel->progs.on_cgrp_switch, - FD(cgrp_switch, cpu.cpu)); + FD(cgrp_switch, i)); if (IS_ERR(link)) { pr_err("Failed to attach cgroup program\n"); err = PTR_ERR(link); @@ -123,7 +123,7 @@ map_fd = bpf_map__fd(skel->maps.events); perf_cpu_map__for_each_cpu(cpu, j, evlist->core.all_cpus) { - int fd = FD(evsel, cpu.cpu); + int fd = FD(evsel, j); __u32 idx = evsel->core.idx * total_cpus + cpu.cpu; err = bpf_map_update_elem(map_fd, &idx, &fd, --- linux-gcp-5.19.0.orig/tools/perf/util/bpf_off_cpu.c +++ linux-gcp-5.19.0/tools/perf/util/bpf_off_cpu.c @@ -99,7 +99,7 @@ const struct btf_type *t1, *t2, *t3; u32 type_id; - type_id = btf__find_by_name_kind(btf, "bpf_trace_sched_switch", + type_id = btf__find_by_name_kind(btf, "btf_trace_sched_switch", BTF_KIND_TYPEDEF); if ((s32)type_id < 0) return; --- linux-gcp-5.19.0.orig/tools/perf/util/bpf_skel/bperf_cgroup.bpf.c +++ linux-gcp-5.19.0/tools/perf/util/bpf_skel/bperf_cgroup.bpf.c @@ -176,7 +176,7 @@ } // This will be attached to cgroup-switches event for each cpu -SEC("perf_events") +SEC("perf_event") int BPF_PROG(on_cgrp_switch) { return bperf_cgroup_count(); --- linux-gcp-5.19.0.orig/tools/perf/util/cgroup.c +++ linux-gcp-5.19.0/tools/perf/util/cgroup.c @@ -224,6 +224,19 @@ return 0; } +static int check_and_add_cgroup_name(const char *fpath) +{ + struct cgroup_name *cn; + + list_for_each_entry(cn, &cgroup_list, list) { + if (!strcmp(cn->name, fpath)) + return 0; + } + + /* pretend if it's added by ftw() */ + return add_cgroup_name(fpath, NULL, FTW_D, NULL); +} + static void release_cgroup_list(void) { struct cgroup_name *cn; @@ -242,7 +255,7 @@ struct cgroup_name *cn; char *s; - /* use given name as is - for testing purpose */ + /* use given name as is when no regex is given */ for (;;) { p = strchr(str, ','); e = p ? p : eos; @@ -253,13 +266,13 @@ s = strndup(str, e - str); if (!s) return -1; - /* pretend if it's added by ftw() */ - ret = add_cgroup_name(s, NULL, FTW_D, NULL); + + ret = check_and_add_cgroup_name(s); free(s); - if (ret) + if (ret < 0) return -1; } else { - if (add_cgroup_name("", NULL, FTW_D, NULL) < 0) + if (check_and_add_cgroup_name("/") < 0) return -1; } --- linux-gcp-5.19.0.orig/tools/perf/util/data.c +++ linux-gcp-5.19.0/tools/perf/util/data.c @@ -131,6 +131,7 @@ file->size = st.st_size; } + closedir(dir); if (!files) return -EINVAL; @@ -139,6 +140,7 @@ return 0; out_err: + closedir(dir); close_dir(files, nr); return ret; } --- linux-gcp-5.19.0.orig/tools/perf/util/debug.c +++ linux-gcp-5.19.0/tools/perf/util/debug.c @@ -241,6 +241,10 @@ opt++; } + /* For debug variables that are used as bool types, set to 0. */ + redirect_to_stderr = 0; + debug_peo_args = 0; + return 0; } --- linux-gcp-5.19.0.orig/tools/perf/util/dsos.c +++ linux-gcp-5.19.0/tools/perf/util/dsos.c @@ -23,8 +23,19 @@ if (a->ino > b->ino) return -1; if (a->ino < b->ino) return 1; - if (a->ino_generation > b->ino_generation) return -1; - if (a->ino_generation < b->ino_generation) return 1; + /* + * Synthesized MMAP events have zero ino_generation, avoid comparing + * them with MMAP events with actual ino_generation. + * + * I found it harmful because the mismatch resulted in a new + * dso that did not have a build ID whereas the original dso did have a + * build ID. The build ID was essential because the object was not found + * otherwise. - Adrian + */ + if (a->ino_generation && b->ino_generation) { + if (a->ino_generation > b->ino_generation) return -1; + if (a->ino_generation < b->ino_generation) return 1; + } return 0; } --- linux-gcp-5.19.0.orig/tools/perf/util/dwarf-aux.c +++ linux-gcp-5.19.0/tools/perf/util/dwarf-aux.c @@ -308,26 +308,13 @@ { Dwarf_Attribute attr; - if (dwarf_attr(tp_die, attr_name, &attr) == NULL || + if (dwarf_attr_integrate(tp_die, attr_name, &attr) == NULL || dwarf_formudata(&attr, result) != 0) return -ENOENT; return 0; } -/* Get attribute and translate it as a sdata */ -static int die_get_attr_sdata(Dwarf_Die *tp_die, unsigned int attr_name, - Dwarf_Sword *result) -{ - Dwarf_Attribute attr; - - if (dwarf_attr(tp_die, attr_name, &attr) == NULL || - dwarf_formsdata(&attr, result) != 0) - return -ENOENT; - - return 0; -} - /** * die_is_signed_type - Check whether a type DIE is signed or not * @tp_die: a DIE of a type @@ -467,9 +454,9 @@ /* Get the call file index number in CU DIE */ static int die_get_call_fileno(Dwarf_Die *in_die) { - Dwarf_Sword idx; + Dwarf_Word idx; - if (die_get_attr_sdata(in_die, DW_AT_call_file, &idx) == 0) + if (die_get_attr_udata(in_die, DW_AT_call_file, &idx) == 0) return (int)idx; else return -ENOENT; @@ -478,9 +465,9 @@ /* Get the declared file index number in CU DIE */ static int die_get_decl_fileno(Dwarf_Die *pdie) { - Dwarf_Sword idx; + Dwarf_Word idx; - if (die_get_attr_sdata(pdie, DW_AT_decl_file, &idx) == 0) + if (die_get_attr_udata(pdie, DW_AT_decl_file, &idx) == 0) return (int)idx; else return -ENOENT; --- linux-gcp-5.19.0.orig/tools/perf/util/evlist.c +++ linux-gcp-5.19.0/tools/perf/util/evlist.c @@ -342,9 +342,14 @@ return evlist__add_attrs(evlist, attrs, nr_attrs); } -__weak int arch_evlist__add_default_attrs(struct evlist *evlist __maybe_unused) +__weak int arch_evlist__add_default_attrs(struct evlist *evlist, + struct perf_event_attr *attrs, + size_t nr_attrs) { - return 0; + if (!nr_attrs) + return 0; + + return __evlist__add_default_attrs(evlist, attrs, nr_attrs); } struct evsel *evlist__find_tracepoint_by_id(struct evlist *evlist, int id) --- linux-gcp-5.19.0.orig/tools/perf/util/evlist.h +++ linux-gcp-5.19.0/tools/perf/util/evlist.h @@ -107,10 +107,13 @@ int __evlist__add_default_attrs(struct evlist *evlist, struct perf_event_attr *attrs, size_t nr_attrs); +int arch_evlist__add_default_attrs(struct evlist *evlist, + struct perf_event_attr *attrs, + size_t nr_attrs); + #define evlist__add_default_attrs(evlist, array) \ - __evlist__add_default_attrs(evlist, array, ARRAY_SIZE(array)) + arch_evlist__add_default_attrs(evlist, array, ARRAY_SIZE(array)) -int arch_evlist__add_default_attrs(struct evlist *evlist); struct evsel *arch_evlist__leader(struct list_head *list); int evlist__add_dummy(struct evlist *evlist); --- linux-gcp-5.19.0.orig/tools/perf/util/genelf.c +++ linux-gcp-5.19.0/tools/perf/util/genelf.c @@ -30,7 +30,11 @@ #define BUILD_ID_URANDOM /* different uuid for each run */ -#ifdef HAVE_LIBCRYPTO +// FIXME, remove this and fix the deprecation warnings before its removed and +// We'll break for good here... +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + +#ifdef HAVE_LIBCRYPTO_SUPPORT #define BUILD_ID_MD5 #undef BUILD_ID_SHA /* does not seem to work well when linked with Java */ @@ -247,6 +251,7 @@ Elf_Data *d; Elf_Scn *scn; Elf_Ehdr *ehdr; + Elf_Phdr *phdr; Elf_Shdr *shdr; uint64_t eh_frame_base_offset; char *strsym = NULL; @@ -282,6 +287,19 @@ ehdr->e_shstrndx= unwinding ? 4 : 2; /* shdr index for section name */ /* + * setup program header + */ + phdr = elf_newphdr(e, 1); + phdr[0].p_type = PT_LOAD; + phdr[0].p_offset = 0; + phdr[0].p_vaddr = 0; + phdr[0].p_paddr = 0; + phdr[0].p_filesz = csize; + phdr[0].p_memsz = csize; + phdr[0].p_flags = PF_X | PF_R; + phdr[0].p_align = 8; + + /* * setup text section */ scn = elf_newscn(e); --- linux-gcp-5.19.0.orig/tools/perf/util/genelf.h +++ linux-gcp-5.19.0/tools/perf/util/genelf.h @@ -53,8 +53,10 @@ #if GEN_ELF_CLASS == ELFCLASS64 #define elf_newehdr elf64_newehdr +#define elf_newphdr elf64_newphdr #define elf_getshdr elf64_getshdr #define Elf_Ehdr Elf64_Ehdr +#define Elf_Phdr Elf64_Phdr #define Elf_Shdr Elf64_Shdr #define Elf_Sym Elf64_Sym #define ELF_ST_TYPE(a) ELF64_ST_TYPE(a) @@ -62,8 +64,10 @@ #define ELF_ST_VIS(a) ELF64_ST_VISIBILITY(a) #else #define elf_newehdr elf32_newehdr +#define elf_newphdr elf32_newphdr #define elf_getshdr elf32_getshdr #define Elf_Ehdr Elf32_Ehdr +#define Elf_Phdr Elf32_Phdr #define Elf_Shdr Elf32_Shdr #define Elf_Sym Elf32_Sym #define ELF_ST_TYPE(a) ELF32_ST_TYPE(a) --- linux-gcp-5.19.0.orig/tools/perf/util/intel-pt.c +++ linux-gcp-5.19.0/tools/perf/util/intel-pt.c @@ -3878,6 +3878,7 @@ [INTEL_PT_SNAPSHOT_MODE] = " Snapshot mode %"PRId64"\n", [INTEL_PT_PER_CPU_MMAPS] = " Per-cpu maps %"PRId64"\n", [INTEL_PT_MTC_BIT] = " MTC bit %#"PRIx64"\n", + [INTEL_PT_MTC_FREQ_BITS] = " MTC freq bits %#"PRIx64"\n", [INTEL_PT_TSC_CTC_N] = " TSC:CTC numerator %"PRIu64"\n", [INTEL_PT_TSC_CTC_D] = " TSC:CTC denominator %"PRIu64"\n", [INTEL_PT_CYC_BIT] = " CYC bit %#"PRIx64"\n", @@ -3892,8 +3893,12 @@ if (!dump_trace) return; - for (i = start; i <= finish; i++) - fprintf(stdout, intel_pt_info_fmts[i], arr[i]); + for (i = start; i <= finish; i++) { + const char *fmt = intel_pt_info_fmts[i]; + + if (fmt) + fprintf(stdout, fmt, arr[i]); + } } static void intel_pt_print_info_str(const char *name, const char *str) @@ -4197,6 +4202,12 @@ intel_pt_setup_pebs_events(pt); + if (perf_data__is_pipe(session->data)) { + pr_warning("WARNING: Intel PT with pipe mode is not recommended.\n" + " The output cannot relied upon. In particular,\n" + " timestamps and the order of events may be incorrect.\n"); + } + if (pt->sampling_mode || list_empty(&session->auxtrace_index)) err = auxtrace_queue_data(session, true, true); else --- linux-gcp-5.19.0.orig/tools/perf/util/llvm-utils.c +++ linux-gcp-5.19.0/tools/perf/util/llvm-utils.c @@ -531,14 +531,37 @@ pr_debug("llvm compiling command template: %s\n", template); + /* + * Below, substitute control characters for values that can cause the + * echo to misbehave, then substitute the values back. + */ err = -ENOMEM; - if (asprintf(&command_echo, "echo -n \"%s\"", template) < 0) + if (asprintf(&command_echo, "echo -n \a%s\a", template) < 0) goto errout; +#define SWAP_CHAR(a, b) do { if (*p == a) *p = b; } while (0) + for (char *p = command_echo; *p; p++) { + SWAP_CHAR('<', '\001'); + SWAP_CHAR('>', '\002'); + SWAP_CHAR('"', '\003'); + SWAP_CHAR('\'', '\004'); + SWAP_CHAR('|', '\005'); + SWAP_CHAR('&', '\006'); + SWAP_CHAR('\a', '"'); + } err = read_from_pipe(command_echo, (void **) &command_out, NULL); if (err) goto errout; + for (char *p = command_out; *p; p++) { + SWAP_CHAR('\001', '<'); + SWAP_CHAR('\002', '>'); + SWAP_CHAR('\003', '"'); + SWAP_CHAR('\004', '\''); + SWAP_CHAR('\005', '|'); + SWAP_CHAR('\006', '&'); + } +#undef SWAP_CHAR pr_debug("llvm compiling command : %s\n", command_out); err = read_from_pipe(template, &obj_buf, &obj_buf_sz); --- linux-gcp-5.19.0.orig/tools/perf/util/parse-events-hybrid.c +++ linux-gcp-5.19.0/tools/perf/util/parse-events-hybrid.c @@ -33,7 +33,8 @@ * If the PMU type ID is 0, the PERF_TYPE_RAW will be applied. */ attr->type = type; - attr->config = attr->config | ((__u64)pmu_type << PERF_PMU_TYPE_SHIFT); + attr->config = (attr->config & PERF_HW_EVENT_MASK) | + ((__u64)pmu_type << PERF_PMU_TYPE_SHIFT); } static int create_event_hybrid(__u32 config_type, int *idx, @@ -48,13 +49,25 @@ __u64 config = attr->config; config_hybrid_attr(attr, config_type, pmu->type); + + /* + * Some hybrid hardware cache events are only available on one CPU + * PMU. For example, the 'L1-dcache-load-misses' is only available + * on cpu_core, while the 'L1-icache-loads' is only available on + * cpu_atom. We need to remove "not supported" hybrid cache events. + */ + if (attr->type == PERF_TYPE_HW_CACHE + && !is_event_supported(attr->type, attr->config)) + return 0; + evsel = parse_events__add_event_hybrid(list, idx, attr, name, metric_id, pmu, config_terms); - if (evsel) + if (evsel) { evsel->pmu_name = strdup(pmu->name); - else + if (!evsel->pmu_name) + return -ENOMEM; + } else return -ENOMEM; - attr->type = type; attr->config = config; return 0; --- linux-gcp-5.19.0.orig/tools/perf/util/parse-events.c +++ linux-gcp-5.19.0/tools/perf/util/parse-events.c @@ -5,18 +5,12 @@ #include #include #include -#include -#include -#include #include #include "term.h" -#include "build-id.h" #include "evlist.h" #include "evsel.h" -#include #include #include "parse-events.h" -#include #include "string2.h" #include "strlist.h" #include "bpf-loader.h" @@ -27,20 +21,23 @@ #define YY_EXTRA_TYPE void* #include "parse-events-flex.h" #include "pmu.h" -#include "thread_map.h" -#include "probe-file.h" #include "asm/bug.h" #include "util/parse-branch-options.h" -#include "metricgroup.h" #include "util/evsel_config.h" #include "util/event.h" -#include "util/pfm.h" +#include "perf.h" #include "util/parse-events-hybrid.h" #include "util/pmu-hybrid.h" -#include "perf.h" +#include "tracepoint.h" +#include "thread_map.h" #define MAX_NAME_LEN 100 +struct perf_pmu_event_symbol { + char *symbol; + enum perf_pmu_event_symbol_type type; +}; + #ifdef PARSER_DEBUG extern int parse_events_debug; #endif @@ -154,21 +151,6 @@ }, }; -struct event_symbol event_symbols_tool[PERF_TOOL_MAX] = { - [PERF_TOOL_DURATION_TIME] = { - .symbol = "duration_time", - .alias = "", - }, - [PERF_TOOL_USER_TIME] = { - .symbol = "user_time", - .alias = "", - }, - [PERF_TOOL_SYSTEM_TIME] = { - .symbol = "system_time", - .alias = "", - }, -}; - #define __PERF_EVENT_FIELD(config, name) \ ((config & PERF_EVENT_##name##_MASK) >> PERF_EVENT_##name##_SHIFT) @@ -177,119 +159,42 @@ #define PERF_EVENT_TYPE(config) __PERF_EVENT_FIELD(config, TYPE) #define PERF_EVENT_ID(config) __PERF_EVENT_FIELD(config, EVENT) -#define for_each_subsystem(sys_dir, sys_dirent) \ - while ((sys_dirent = readdir(sys_dir)) != NULL) \ - if (sys_dirent->d_type == DT_DIR && \ - (strcmp(sys_dirent->d_name, ".")) && \ - (strcmp(sys_dirent->d_name, ".."))) - -static int tp_event_has_id(const char *dir_path, struct dirent *evt_dir) -{ - char evt_path[MAXPATHLEN]; - int fd; - - snprintf(evt_path, MAXPATHLEN, "%s/%s/id", dir_path, evt_dir->d_name); - fd = open(evt_path, O_RDONLY); - if (fd < 0) - return -EINVAL; - close(fd); - - return 0; -} - -#define for_each_event(dir_path, evt_dir, evt_dirent) \ - while ((evt_dirent = readdir(evt_dir)) != NULL) \ - if (evt_dirent->d_type == DT_DIR && \ - (strcmp(evt_dirent->d_name, ".")) && \ - (strcmp(evt_dirent->d_name, "..")) && \ - (!tp_event_has_id(dir_path, evt_dirent))) - -#define MAX_EVENT_LENGTH 512 - -struct tracepoint_path *tracepoint_id_to_path(u64 config) -{ - struct tracepoint_path *path = NULL; - DIR *sys_dir, *evt_dir; - struct dirent *sys_dirent, *evt_dirent; - char id_buf[24]; - int fd; - u64 id; - char evt_path[MAXPATHLEN]; - char *dir_path; - - sys_dir = tracing_events__opendir(); - if (!sys_dir) - return NULL; - - for_each_subsystem(sys_dir, sys_dirent) { - dir_path = get_events_file(sys_dirent->d_name); - if (!dir_path) - continue; - evt_dir = opendir(dir_path); - if (!evt_dir) - goto next; - - for_each_event(dir_path, evt_dir, evt_dirent) { - - scnprintf(evt_path, MAXPATHLEN, "%s/%s/id", dir_path, - evt_dirent->d_name); - fd = open(evt_path, O_RDONLY); - if (fd < 0) - continue; - if (read(fd, id_buf, sizeof(id_buf)) < 0) { - close(fd); - continue; - } - close(fd); - id = atoll(id_buf); - if (id == config) { - put_events_file(dir_path); - closedir(evt_dir); - closedir(sys_dir); - path = zalloc(sizeof(*path)); - if (!path) - return NULL; - if (asprintf(&path->system, "%.*s", MAX_EVENT_LENGTH, sys_dirent->d_name) < 0) { - free(path); - return NULL; - } - if (asprintf(&path->name, "%.*s", MAX_EVENT_LENGTH, evt_dirent->d_name) < 0) { - zfree(&path->system); - free(path); - return NULL; - } - return path; - } - } - closedir(evt_dir); -next: - put_events_file(dir_path); - } - - closedir(sys_dir); - return NULL; -} - -struct tracepoint_path *tracepoint_name_to_path(const char *name) +bool is_event_supported(u8 type, u64 config) { - struct tracepoint_path *path = zalloc(sizeof(*path)); - char *str = strchr(name, ':'); + bool ret = true; + int open_return; + struct evsel *evsel; + struct perf_event_attr attr = { + .type = type, + .config = config, + .disabled = 1, + }; + struct perf_thread_map *tmap = thread_map__new_by_tid(0); - if (path == NULL || str == NULL) { - free(path); - return NULL; - } + if (tmap == NULL) + return false; - path->system = strndup(name, str - name); - path->name = strdup(str+1); + evsel = evsel__new(&attr); + if (evsel) { + open_return = evsel__open(evsel, NULL, tmap); + ret = open_return >= 0; - if (path->system == NULL || path->name == NULL) { - zfree(&path->system); - zfree(&path->name); - zfree(&path); + if (open_return == -EACCES) { + /* + * This happens if the paranoid value + * /proc/sys/kernel/perf_event_paranoid is set to 2 + * Re-run with exclude_kernel set; we don't do that + * by default as some ARM machines do not support it. + * + */ + evsel->core.attr.exclude_kernel = 1; + ret = evsel__open(evsel, NULL, tmap) >= 0; + } + evsel__delete(evsel); } - return path; + perf_thread_map__put(tmap); + return ret; } const char *event_type(int type) @@ -350,6 +255,9 @@ struct perf_cpu_map *cpus = pmu ? perf_cpu_map__get(pmu->cpus) : cpu_list ? perf_cpu_map__new(cpu_list) : NULL; + if (pmu) + perf_pmu__warn_invalid_formats(pmu); + if (pmu && attr->type == PERF_TYPE_RAW) perf_pmu__warn_invalid_config(pmu, attr->config, name); @@ -2391,9 +2299,12 @@ void parse_events_error__handle(struct parse_events_error *err, int idx, char *str, char *help) { - if (WARN(!str, "WARNING: failed to provide error string\n")) { - free(help); - return; + if (WARN(!str, "WARNING: failed to provide error string\n")) + goto out_free; + if (!err) { + /* Assume caller does not want message printed */ + pr_debug("event syntax error: %s\n", str); + goto out_free; } switch (err->num_errors) { case 0: @@ -2419,6 +2330,11 @@ break; } err->num_errors++; + return; + +out_free: + free(str); + free(help); } #define MAX_WIDTH 1000 @@ -2666,571 +2582,6 @@ NULL); } -static const char * const event_type_descriptors[] = { - "Hardware event", - "Software event", - "Tracepoint event", - "Hardware cache event", - "Raw hardware event descriptor", - "Hardware breakpoint", -}; - -static int cmp_string(const void *a, const void *b) -{ - const char * const *as = a; - const char * const *bs = b; - - return strcmp(*as, *bs); -} - -/* - * Print the events from /tracing/events - */ - -void print_tracepoint_events(const char *subsys_glob, const char *event_glob, - bool name_only) -{ - DIR *sys_dir, *evt_dir; - struct dirent *sys_dirent, *evt_dirent; - char evt_path[MAXPATHLEN]; - char *dir_path; - char **evt_list = NULL; - unsigned int evt_i = 0, evt_num = 0; - bool evt_num_known = false; - -restart: - sys_dir = tracing_events__opendir(); - if (!sys_dir) - return; - - if (evt_num_known) { - evt_list = zalloc(sizeof(char *) * evt_num); - if (!evt_list) - goto out_close_sys_dir; - } - - for_each_subsystem(sys_dir, sys_dirent) { - if (subsys_glob != NULL && - !strglobmatch(sys_dirent->d_name, subsys_glob)) - continue; - - dir_path = get_events_file(sys_dirent->d_name); - if (!dir_path) - continue; - evt_dir = opendir(dir_path); - if (!evt_dir) - goto next; - - for_each_event(dir_path, evt_dir, evt_dirent) { - if (event_glob != NULL && - !strglobmatch(evt_dirent->d_name, event_glob)) - continue; - - if (!evt_num_known) { - evt_num++; - continue; - } - - snprintf(evt_path, MAXPATHLEN, "%s:%s", - sys_dirent->d_name, evt_dirent->d_name); - - evt_list[evt_i] = strdup(evt_path); - if (evt_list[evt_i] == NULL) { - put_events_file(dir_path); - goto out_close_evt_dir; - } - evt_i++; - } - closedir(evt_dir); -next: - put_events_file(dir_path); - } - closedir(sys_dir); - - if (!evt_num_known) { - evt_num_known = true; - goto restart; - } - qsort(evt_list, evt_num, sizeof(char *), cmp_string); - evt_i = 0; - while (evt_i < evt_num) { - if (name_only) { - printf("%s ", evt_list[evt_i++]); - continue; - } - printf(" %-50s [%s]\n", evt_list[evt_i++], - event_type_descriptors[PERF_TYPE_TRACEPOINT]); - } - if (evt_num && pager_in_use()) - printf("\n"); - -out_free: - evt_num = evt_i; - for (evt_i = 0; evt_i < evt_num; evt_i++) - zfree(&evt_list[evt_i]); - zfree(&evt_list); - return; - -out_close_evt_dir: - closedir(evt_dir); -out_close_sys_dir: - closedir(sys_dir); - - printf("FATAL: not enough memory to print %s\n", - event_type_descriptors[PERF_TYPE_TRACEPOINT]); - if (evt_list) - goto out_free; -} - -/* - * Check whether event is in /tracing/events - */ - -int is_valid_tracepoint(const char *event_string) -{ - DIR *sys_dir, *evt_dir; - struct dirent *sys_dirent, *evt_dirent; - char evt_path[MAXPATHLEN]; - char *dir_path; - - sys_dir = tracing_events__opendir(); - if (!sys_dir) - return 0; - - for_each_subsystem(sys_dir, sys_dirent) { - dir_path = get_events_file(sys_dirent->d_name); - if (!dir_path) - continue; - evt_dir = opendir(dir_path); - if (!evt_dir) - goto next; - - for_each_event(dir_path, evt_dir, evt_dirent) { - snprintf(evt_path, MAXPATHLEN, "%s:%s", - sys_dirent->d_name, evt_dirent->d_name); - if (!strcmp(evt_path, event_string)) { - closedir(evt_dir); - closedir(sys_dir); - return 1; - } - } - closedir(evt_dir); -next: - put_events_file(dir_path); - } - closedir(sys_dir); - return 0; -} - -static bool is_event_supported(u8 type, u64 config) -{ - bool ret = true; - int open_return; - struct evsel *evsel; - struct perf_event_attr attr = { - .type = type, - .config = config, - .disabled = 1, - }; - struct perf_thread_map *tmap = thread_map__new_by_tid(0); - - if (tmap == NULL) - return false; - - evsel = evsel__new(&attr); - if (evsel) { - open_return = evsel__open(evsel, NULL, tmap); - ret = open_return >= 0; - - if (open_return == -EACCES) { - /* - * This happens if the paranoid value - * /proc/sys/kernel/perf_event_paranoid is set to 2 - * Re-run with exclude_kernel set; we don't do that - * by default as some ARM machines do not support it. - * - */ - evsel->core.attr.exclude_kernel = 1; - ret = evsel__open(evsel, NULL, tmap) >= 0; - } - evsel__delete(evsel); - } - - perf_thread_map__put(tmap); - return ret; -} - -void print_sdt_events(const char *subsys_glob, const char *event_glob, - bool name_only) -{ - struct probe_cache *pcache; - struct probe_cache_entry *ent; - struct strlist *bidlist, *sdtlist; - struct strlist_config cfg = {.dont_dupstr = true}; - struct str_node *nd, *nd2; - char *buf, *path, *ptr = NULL; - bool show_detail = false; - int ret; - - sdtlist = strlist__new(NULL, &cfg); - if (!sdtlist) { - pr_debug("Failed to allocate new strlist for SDT\n"); - return; - } - bidlist = build_id_cache__list_all(true); - if (!bidlist) { - pr_debug("Failed to get buildids: %d\n", errno); - return; - } - strlist__for_each_entry(nd, bidlist) { - pcache = probe_cache__new(nd->s, NULL); - if (!pcache) - continue; - list_for_each_entry(ent, &pcache->entries, node) { - if (!ent->sdt) - continue; - if (subsys_glob && - !strglobmatch(ent->pev.group, subsys_glob)) - continue; - if (event_glob && - !strglobmatch(ent->pev.event, event_glob)) - continue; - ret = asprintf(&buf, "%s:%s@%s", ent->pev.group, - ent->pev.event, nd->s); - if (ret > 0) - strlist__add(sdtlist, buf); - } - probe_cache__delete(pcache); - } - strlist__delete(bidlist); - - strlist__for_each_entry(nd, sdtlist) { - buf = strchr(nd->s, '@'); - if (buf) - *(buf++) = '\0'; - if (name_only) { - printf("%s ", nd->s); - continue; - } - nd2 = strlist__next(nd); - if (nd2) { - ptr = strchr(nd2->s, '@'); - if (ptr) - *ptr = '\0'; - if (strcmp(nd->s, nd2->s) == 0) - show_detail = true; - } - if (show_detail) { - path = build_id_cache__origname(buf); - ret = asprintf(&buf, "%s@%s(%.12s)", nd->s, path, buf); - if (ret > 0) { - printf(" %-50s [%s]\n", buf, "SDT event"); - free(buf); - } - free(path); - } else - printf(" %-50s [%s]\n", nd->s, "SDT event"); - if (nd2) { - if (strcmp(nd->s, nd2->s) != 0) - show_detail = false; - if (ptr) - *ptr = '@'; - } - } - strlist__delete(sdtlist); -} - -int print_hwcache_events(const char *event_glob, bool name_only) -{ - unsigned int type, op, i, evt_i = 0, evt_num = 0, npmus = 0; - char name[64], new_name[128]; - char **evt_list = NULL, **evt_pmus = NULL; - bool evt_num_known = false; - struct perf_pmu *pmu = NULL; - - if (perf_pmu__has_hybrid()) { - npmus = perf_pmu__hybrid_pmu_num(); - evt_pmus = zalloc(sizeof(char *) * npmus); - if (!evt_pmus) - goto out_enomem; - } - -restart: - if (evt_num_known) { - evt_list = zalloc(sizeof(char *) * evt_num); - if (!evt_list) - goto out_enomem; - } - - for (type = 0; type < PERF_COUNT_HW_CACHE_MAX; type++) { - for (op = 0; op < PERF_COUNT_HW_CACHE_OP_MAX; op++) { - /* skip invalid cache type */ - if (!evsel__is_cache_op_valid(type, op)) - continue; - - for (i = 0; i < PERF_COUNT_HW_CACHE_RESULT_MAX; i++) { - unsigned int hybrid_supported = 0, j; - bool supported; - - __evsel__hw_cache_type_op_res_name(type, op, i, name, sizeof(name)); - if (event_glob != NULL && !strglobmatch(name, event_glob)) - continue; - - if (!perf_pmu__has_hybrid()) { - if (!is_event_supported(PERF_TYPE_HW_CACHE, - type | (op << 8) | (i << 16))) { - continue; - } - } else { - perf_pmu__for_each_hybrid_pmu(pmu) { - if (!evt_num_known) { - evt_num++; - continue; - } - - supported = is_event_supported( - PERF_TYPE_HW_CACHE, - type | (op << 8) | (i << 16) | - ((__u64)pmu->type << PERF_PMU_TYPE_SHIFT)); - if (supported) { - snprintf(new_name, sizeof(new_name), "%s/%s/", - pmu->name, name); - evt_pmus[hybrid_supported] = strdup(new_name); - hybrid_supported++; - } - } - - if (hybrid_supported == 0) - continue; - } - - if (!evt_num_known) { - evt_num++; - continue; - } - - if ((hybrid_supported == 0) || - (hybrid_supported == npmus)) { - evt_list[evt_i] = strdup(name); - if (npmus > 0) { - for (j = 0; j < npmus; j++) - zfree(&evt_pmus[j]); - } - } else { - for (j = 0; j < hybrid_supported; j++) { - evt_list[evt_i++] = evt_pmus[j]; - evt_pmus[j] = NULL; - } - continue; - } - - if (evt_list[evt_i] == NULL) - goto out_enomem; - evt_i++; - } - } - } - - if (!evt_num_known) { - evt_num_known = true; - goto restart; - } - - for (evt_i = 0; evt_i < evt_num; evt_i++) { - if (!evt_list[evt_i]) - break; - } - - evt_num = evt_i; - qsort(evt_list, evt_num, sizeof(char *), cmp_string); - evt_i = 0; - while (evt_i < evt_num) { - if (name_only) { - printf("%s ", evt_list[evt_i++]); - continue; - } - printf(" %-50s [%s]\n", evt_list[evt_i++], - event_type_descriptors[PERF_TYPE_HW_CACHE]); - } - if (evt_num && pager_in_use()) - printf("\n"); - -out_free: - evt_num = evt_i; - for (evt_i = 0; evt_i < evt_num; evt_i++) - zfree(&evt_list[evt_i]); - zfree(&evt_list); - - for (evt_i = 0; evt_i < npmus; evt_i++) - zfree(&evt_pmus[evt_i]); - zfree(&evt_pmus); - return evt_num; - -out_enomem: - printf("FATAL: not enough memory to print %s\n", event_type_descriptors[PERF_TYPE_HW_CACHE]); - if (evt_list) - goto out_free; - return evt_num; -} - -static void print_tool_event(const struct event_symbol *syms, const char *event_glob, - bool name_only) -{ - if (syms->symbol == NULL) - return; - - if (event_glob && !(strglobmatch(syms->symbol, event_glob) || - (syms->alias && strglobmatch(syms->alias, event_glob)))) - return; - - if (name_only) - printf("%s ", syms->symbol); - else { - char name[MAX_NAME_LEN]; - if (syms->alias && strlen(syms->alias)) - snprintf(name, MAX_NAME_LEN, "%s OR %s", syms->symbol, syms->alias); - else - strlcpy(name, syms->symbol, MAX_NAME_LEN); - printf(" %-50s [%s]\n", name, "Tool event"); - } -} - -void print_tool_events(const char *event_glob, bool name_only) -{ - // Start at 1 because the first enum entry symbols no tool event - for (int i = 1; i < PERF_TOOL_MAX; ++i) { - print_tool_event(event_symbols_tool + i, event_glob, name_only); - } - if (pager_in_use()) - printf("\n"); -} - -void print_symbol_events(const char *event_glob, unsigned type, - struct event_symbol *syms, unsigned max, - bool name_only) -{ - unsigned int i, evt_i = 0, evt_num = 0; - char name[MAX_NAME_LEN]; - char **evt_list = NULL; - bool evt_num_known = false; - -restart: - if (evt_num_known) { - evt_list = zalloc(sizeof(char *) * evt_num); - if (!evt_list) - goto out_enomem; - syms -= max; - } - - for (i = 0; i < max; i++, syms++) { - /* - * New attr.config still not supported here, the latest - * example was PERF_COUNT_SW_CGROUP_SWITCHES - */ - if (syms->symbol == NULL) - continue; - - if (event_glob != NULL && !(strglobmatch(syms->symbol, event_glob) || - (syms->alias && strglobmatch(syms->alias, event_glob)))) - continue; - - if (!is_event_supported(type, i)) - continue; - - if (!evt_num_known) { - evt_num++; - continue; - } - - if (!name_only && strlen(syms->alias)) - snprintf(name, MAX_NAME_LEN, "%s OR %s", syms->symbol, syms->alias); - else - strlcpy(name, syms->symbol, MAX_NAME_LEN); - - evt_list[evt_i] = strdup(name); - if (evt_list[evt_i] == NULL) - goto out_enomem; - evt_i++; - } - - if (!evt_num_known) { - evt_num_known = true; - goto restart; - } - qsort(evt_list, evt_num, sizeof(char *), cmp_string); - evt_i = 0; - while (evt_i < evt_num) { - if (name_only) { - printf("%s ", evt_list[evt_i++]); - continue; - } - printf(" %-50s [%s]\n", evt_list[evt_i++], event_type_descriptors[type]); - } - if (evt_num && pager_in_use()) - printf("\n"); - -out_free: - evt_num = evt_i; - for (evt_i = 0; evt_i < evt_num; evt_i++) - zfree(&evt_list[evt_i]); - zfree(&evt_list); - return; - -out_enomem: - printf("FATAL: not enough memory to print %s\n", event_type_descriptors[type]); - if (evt_list) - goto out_free; -} - -/* - * Print the help text for the event symbols: - */ -void print_events(const char *event_glob, bool name_only, bool quiet_flag, - bool long_desc, bool details_flag, bool deprecated, - const char *pmu_name) -{ - print_symbol_events(event_glob, PERF_TYPE_HARDWARE, - event_symbols_hw, PERF_COUNT_HW_MAX, name_only); - - print_symbol_events(event_glob, PERF_TYPE_SOFTWARE, - event_symbols_sw, PERF_COUNT_SW_MAX, name_only); - print_tool_events(event_glob, name_only); - - print_hwcache_events(event_glob, name_only); - - print_pmu_events(event_glob, name_only, quiet_flag, long_desc, - details_flag, deprecated, pmu_name); - - if (event_glob != NULL) - return; - - if (!name_only) { - printf(" %-50s [%s]\n", - "rNNN", - event_type_descriptors[PERF_TYPE_RAW]); - printf(" %-50s [%s]\n", - "cpu/t1=v1[,t2=v2,t3 ...]/modifier", - event_type_descriptors[PERF_TYPE_RAW]); - if (pager_in_use()) - printf(" (see 'man perf-list' on how to encode it)\n\n"); - - printf(" %-50s [%s]\n", - "mem:[/len][:access]", - event_type_descriptors[PERF_TYPE_BREAKPOINT]); - if (pager_in_use()) - printf("\n"); - } - - print_tracepoint_events(NULL, NULL, name_only); - - print_sdt_events(NULL, NULL, name_only); - - metricgroup__print(true, true, NULL, name_only, details_flag, - pmu_name); - - print_libpfm_events(name_only, long_desc); -} - int parse_events__is_hardcoded_term(struct parse_events_term *term) { return term->type_term != PARSE_EVENTS__TERM_TYPE_USER; --- linux-gcp-5.19.0.orig/tools/perf/util/parse-events.h +++ linux-gcp-5.19.0/tools/perf/util/parse-events.h @@ -11,7 +11,6 @@ #include #include -struct list_head; struct evsel; struct evlist; struct parse_events_error; @@ -19,15 +18,8 @@ struct option; struct perf_pmu; -struct tracepoint_path { - char *system; - char *name; - struct tracepoint_path *next; -}; - -struct tracepoint_path *tracepoint_id_to_path(u64 config); -struct tracepoint_path *tracepoint_name_to_path(const char *name); bool have_tracepoints(struct list_head *evlist); +bool is_event_supported(u8 type, u64 config); const char *event_type(int type); @@ -46,8 +38,6 @@ int parse_filter(const struct option *opt, const char *str, int unset); int exclude_perf(const struct option *opt, const char *arg, int unset); -#define EVENTS_HELP_MAX (128*1024) - enum perf_pmu_event_symbol_type { PMU_EVENT_SYMBOL_ERR, /* not a PMU EVENT */ PMU_EVENT_SYMBOL, /* normal style PMU event */ @@ -56,11 +46,6 @@ PMU_EVENT_SYMBOL_SUFFIX2, /* suffix of pre-suf2 style event */ }; -struct perf_pmu_event_symbol { - char *symbol; - enum perf_pmu_event_symbol_type type; -}; - enum { PARSE_EVENTS__TERM_TYPE_NUM, PARSE_EVENTS__TERM_TYPE_STR, @@ -219,28 +204,13 @@ void parse_events_evlist_error(struct parse_events_state *parse_state, int idx, const char *str); -void print_events(const char *event_glob, bool name_only, bool quiet, - bool long_desc, bool details_flag, bool deprecated, - const char *pmu_name); - struct event_symbol { const char *symbol; const char *alias; }; extern struct event_symbol event_symbols_hw[]; extern struct event_symbol event_symbols_sw[]; -void print_symbol_events(const char *event_glob, unsigned type, - struct event_symbol *syms, unsigned max, - bool name_only); -void print_tool_events(const char *event_glob, bool name_only); -void print_tracepoint_events(const char *subsys_glob, const char *event_glob, - bool name_only); -int print_hwcache_events(const char *event_glob, bool name_only); -void print_sdt_events(const char *subsys_glob, const char *event_glob, - bool name_only); -int is_valid_tracepoint(const char *event_string); -int valid_event_mount(const char *eventfs); char *parse_events_formats_error_string(char *additional_terms); void parse_events_error__init(struct parse_events_error *err); --- linux-gcp-5.19.0.orig/tools/perf/util/pmu.c +++ linux-gcp-5.19.0/tools/perf/util/pmu.c @@ -1048,6 +1048,23 @@ return NULL; } +void perf_pmu__warn_invalid_formats(struct perf_pmu *pmu) +{ + struct perf_pmu_format *format; + + /* fake pmu doesn't have format list */ + if (pmu == &perf_pmu__fake) + return; + + list_for_each_entry(format, &pmu->format, list) + if (format->value >= PERF_PMU_FORMAT_VALUE_CONFIG_END) { + pr_warning("WARNING: '%s' format '%s' requires 'perf_event_attr::config%d'" + "which is not supported by this version of perf!\n", + pmu->name, format->name, format->value); + return; + } +} + static struct perf_pmu *pmu_find(const char *name) { struct perf_pmu *pmu; --- linux-gcp-5.19.0.orig/tools/perf/util/pmu.h +++ linux-gcp-5.19.0/tools/perf/util/pmu.h @@ -17,6 +17,7 @@ PERF_PMU_FORMAT_VALUE_CONFIG, PERF_PMU_FORMAT_VALUE_CONFIG1, PERF_PMU_FORMAT_VALUE_CONFIG2, + PERF_PMU_FORMAT_VALUE_CONFIG_END, }; #define PERF_PMU_FORMAT_BITS 64 @@ -139,6 +140,7 @@ void perf_pmu__warn_invalid_config(struct perf_pmu *pmu, __u64 config, const char *name); +void perf_pmu__warn_invalid_formats(struct perf_pmu *pmu); bool perf_pmu__has_hybrid(void); int perf_pmu__match(char *pattern, char *name, char *tok); --- linux-gcp-5.19.0.orig/tools/perf/util/pmu.l +++ linux-gcp-5.19.0/tools/perf/util/pmu.l @@ -27,8 +27,6 @@ {num_dec} { return value(10); } config { return PP_CONFIG; } -config1 { return PP_CONFIG1; } -config2 { return PP_CONFIG2; } - { return '-'; } : { return ':'; } , { return ','; } --- linux-gcp-5.19.0.orig/tools/perf/util/pmu.y +++ linux-gcp-5.19.0/tools/perf/util/pmu.y @@ -20,7 +20,7 @@ %} -%token PP_CONFIG PP_CONFIG1 PP_CONFIG2 +%token PP_CONFIG %token PP_VALUE PP_ERROR %type PP_VALUE %type bit_term @@ -47,18 +47,11 @@ $3)); } | -PP_CONFIG1 ':' bits +PP_CONFIG PP_VALUE ':' bits { ABORT_ON(perf_pmu__new_format(format, name, - PERF_PMU_FORMAT_VALUE_CONFIG1, - $3)); -} -| -PP_CONFIG2 ':' bits -{ - ABORT_ON(perf_pmu__new_format(format, name, - PERF_PMU_FORMAT_VALUE_CONFIG2, - $3)); + $2, + $4)); } bits: --- linux-gcp-5.19.0.orig/tools/perf/util/print-events.c +++ linux-gcp-5.19.0/tools/perf/util/print-events.c @@ -0,0 +1,533 @@ +// SPDX-License-Identifier: GPL-2.0 +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "build-id.h" +#include "debug.h" +#include "evsel.h" +#include "metricgroup.h" +#include "parse-events.h" +#include "pmu.h" +#include "print-events.h" +#include "probe-file.h" +#include "string2.h" +#include "strlist.h" +#include "tracepoint.h" +#include "pfm.h" +#include "pmu-hybrid.h" + +#define MAX_NAME_LEN 100 + +static const char * const event_type_descriptors[] = { + "Hardware event", + "Software event", + "Tracepoint event", + "Hardware cache event", + "Raw hardware event descriptor", + "Hardware breakpoint", +}; + +static const struct event_symbol event_symbols_tool[PERF_TOOL_MAX] = { + [PERF_TOOL_DURATION_TIME] = { + .symbol = "duration_time", + .alias = "", + }, + [PERF_TOOL_USER_TIME] = { + .symbol = "user_time", + .alias = "", + }, + [PERF_TOOL_SYSTEM_TIME] = { + .symbol = "system_time", + .alias = "", + }, +}; + +static int cmp_string(const void *a, const void *b) +{ + const char * const *as = a; + const char * const *bs = b; + + return strcmp(*as, *bs); +} + +/* + * Print the events from /tracing/events + */ +void print_tracepoint_events(const char *subsys_glob, + const char *event_glob, bool name_only) +{ + DIR *sys_dir, *evt_dir; + struct dirent *sys_dirent, *evt_dirent; + char evt_path[MAXPATHLEN]; + char *dir_path; + char **evt_list = NULL; + unsigned int evt_i = 0, evt_num = 0; + bool evt_num_known = false; + +restart: + sys_dir = tracing_events__opendir(); + if (!sys_dir) + return; + + if (evt_num_known) { + evt_list = zalloc(sizeof(char *) * evt_num); + if (!evt_list) + goto out_close_sys_dir; + } + + for_each_subsystem(sys_dir, sys_dirent) { + if (subsys_glob != NULL && + !strglobmatch(sys_dirent->d_name, subsys_glob)) + continue; + + dir_path = get_events_file(sys_dirent->d_name); + if (!dir_path) + continue; + evt_dir = opendir(dir_path); + if (!evt_dir) + goto next; + + for_each_event(dir_path, evt_dir, evt_dirent) { + if (event_glob != NULL && + !strglobmatch(evt_dirent->d_name, event_glob)) + continue; + + if (!evt_num_known) { + evt_num++; + continue; + } + + snprintf(evt_path, MAXPATHLEN, "%s:%s", + sys_dirent->d_name, evt_dirent->d_name); + + evt_list[evt_i] = strdup(evt_path); + if (evt_list[evt_i] == NULL) { + put_events_file(dir_path); + goto out_close_evt_dir; + } + evt_i++; + } + closedir(evt_dir); +next: + put_events_file(dir_path); + } + closedir(sys_dir); + + if (!evt_num_known) { + evt_num_known = true; + goto restart; + } + qsort(evt_list, evt_num, sizeof(char *), cmp_string); + evt_i = 0; + while (evt_i < evt_num) { + if (name_only) { + printf("%s ", evt_list[evt_i++]); + continue; + } + printf(" %-50s [%s]\n", evt_list[evt_i++], + event_type_descriptors[PERF_TYPE_TRACEPOINT]); + } + if (evt_num && pager_in_use()) + printf("\n"); + +out_free: + evt_num = evt_i; + for (evt_i = 0; evt_i < evt_num; evt_i++) + zfree(&evt_list[evt_i]); + zfree(&evt_list); + return; + +out_close_evt_dir: + closedir(evt_dir); +out_close_sys_dir: + closedir(sys_dir); + + printf("FATAL: not enough memory to print %s\n", + event_type_descriptors[PERF_TYPE_TRACEPOINT]); + if (evt_list) + goto out_free; +} + +void print_sdt_events(const char *subsys_glob, const char *event_glob, + bool name_only) +{ + struct probe_cache *pcache; + struct probe_cache_entry *ent; + struct strlist *bidlist, *sdtlist; + struct strlist_config cfg = {.dont_dupstr = true}; + struct str_node *nd, *nd2; + char *buf, *path, *ptr = NULL; + bool show_detail = false; + int ret; + + sdtlist = strlist__new(NULL, &cfg); + if (!sdtlist) { + pr_debug("Failed to allocate new strlist for SDT\n"); + return; + } + bidlist = build_id_cache__list_all(true); + if (!bidlist) { + pr_debug("Failed to get buildids: %d\n", errno); + return; + } + strlist__for_each_entry(nd, bidlist) { + pcache = probe_cache__new(nd->s, NULL); + if (!pcache) + continue; + list_for_each_entry(ent, &pcache->entries, node) { + if (!ent->sdt) + continue; + if (subsys_glob && + !strglobmatch(ent->pev.group, subsys_glob)) + continue; + if (event_glob && + !strglobmatch(ent->pev.event, event_glob)) + continue; + ret = asprintf(&buf, "%s:%s@%s", ent->pev.group, + ent->pev.event, nd->s); + if (ret > 0) + strlist__add(sdtlist, buf); + } + probe_cache__delete(pcache); + } + strlist__delete(bidlist); + + strlist__for_each_entry(nd, sdtlist) { + buf = strchr(nd->s, '@'); + if (buf) + *(buf++) = '\0'; + if (name_only) { + printf("%s ", nd->s); + continue; + } + nd2 = strlist__next(nd); + if (nd2) { + ptr = strchr(nd2->s, '@'); + if (ptr) + *ptr = '\0'; + if (strcmp(nd->s, nd2->s) == 0) + show_detail = true; + } + if (show_detail) { + path = build_id_cache__origname(buf); + ret = asprintf(&buf, "%s@%s(%.12s)", nd->s, path, buf); + if (ret > 0) { + printf(" %-50s [%s]\n", buf, "SDT event"); + free(buf); + } + free(path); + } else + printf(" %-50s [%s]\n", nd->s, "SDT event"); + if (nd2) { + if (strcmp(nd->s, nd2->s) != 0) + show_detail = false; + if (ptr) + *ptr = '@'; + } + } + strlist__delete(sdtlist); +} + +int print_hwcache_events(const char *event_glob, bool name_only) +{ + unsigned int type, op, i, evt_i = 0, evt_num = 0, npmus = 0; + char name[64], new_name[128]; + char **evt_list = NULL, **evt_pmus = NULL; + bool evt_num_known = false; + struct perf_pmu *pmu = NULL; + + if (perf_pmu__has_hybrid()) { + npmus = perf_pmu__hybrid_pmu_num(); + evt_pmus = zalloc(sizeof(char *) * npmus); + if (!evt_pmus) + goto out_enomem; + } + +restart: + if (evt_num_known) { + evt_list = zalloc(sizeof(char *) * evt_num); + if (!evt_list) + goto out_enomem; + } + + for (type = 0; type < PERF_COUNT_HW_CACHE_MAX; type++) { + for (op = 0; op < PERF_COUNT_HW_CACHE_OP_MAX; op++) { + /* skip invalid cache type */ + if (!evsel__is_cache_op_valid(type, op)) + continue; + + for (i = 0; i < PERF_COUNT_HW_CACHE_RESULT_MAX; i++) { + unsigned int hybrid_supported = 0, j; + bool supported; + + __evsel__hw_cache_type_op_res_name(type, op, i, name, sizeof(name)); + if (event_glob != NULL && !strglobmatch(name, event_glob)) + continue; + + if (!perf_pmu__has_hybrid()) { + if (!is_event_supported(PERF_TYPE_HW_CACHE, + type | (op << 8) | (i << 16))) { + continue; + } + } else { + perf_pmu__for_each_hybrid_pmu(pmu) { + if (!evt_num_known) { + evt_num++; + continue; + } + + supported = is_event_supported( + PERF_TYPE_HW_CACHE, + type | (op << 8) | (i << 16) | + ((__u64)pmu->type << PERF_PMU_TYPE_SHIFT)); + if (supported) { + snprintf(new_name, sizeof(new_name), + "%s/%s/", pmu->name, name); + evt_pmus[hybrid_supported] = + strdup(new_name); + hybrid_supported++; + } + } + + if (hybrid_supported == 0) + continue; + } + + if (!evt_num_known) { + evt_num++; + continue; + } + + if ((hybrid_supported == 0) || + (hybrid_supported == npmus)) { + evt_list[evt_i] = strdup(name); + if (npmus > 0) { + for (j = 0; j < npmus; j++) + zfree(&evt_pmus[j]); + } + } else { + for (j = 0; j < hybrid_supported; j++) { + evt_list[evt_i++] = evt_pmus[j]; + evt_pmus[j] = NULL; + } + continue; + } + + if (evt_list[evt_i] == NULL) + goto out_enomem; + evt_i++; + } + } + } + + if (!evt_num_known) { + evt_num_known = true; + goto restart; + } + + for (evt_i = 0; evt_i < evt_num; evt_i++) { + if (!evt_list[evt_i]) + break; + } + + evt_num = evt_i; + qsort(evt_list, evt_num, sizeof(char *), cmp_string); + evt_i = 0; + while (evt_i < evt_num) { + if (name_only) { + printf("%s ", evt_list[evt_i++]); + continue; + } + printf(" %-50s [%s]\n", evt_list[evt_i++], + event_type_descriptors[PERF_TYPE_HW_CACHE]); + } + if (evt_num && pager_in_use()) + printf("\n"); + +out_free: + evt_num = evt_i; + for (evt_i = 0; evt_i < evt_num; evt_i++) + zfree(&evt_list[evt_i]); + zfree(&evt_list); + + for (evt_i = 0; evt_i < npmus; evt_i++) + zfree(&evt_pmus[evt_i]); + zfree(&evt_pmus); + return evt_num; + +out_enomem: + printf("FATAL: not enough memory to print %s\n", + event_type_descriptors[PERF_TYPE_HW_CACHE]); + if (evt_list) + goto out_free; + return evt_num; +} + +static void print_tool_event(const struct event_symbol *syms, const char *event_glob, + bool name_only) +{ + if (syms->symbol == NULL) + return; + + if (event_glob && !(strglobmatch(syms->symbol, event_glob) || + (syms->alias && strglobmatch(syms->alias, event_glob)))) + return; + + if (name_only) + printf("%s ", syms->symbol); + else { + char name[MAX_NAME_LEN]; + + if (syms->alias && strlen(syms->alias)) + snprintf(name, MAX_NAME_LEN, "%s OR %s", syms->symbol, syms->alias); + else + strlcpy(name, syms->symbol, MAX_NAME_LEN); + printf(" %-50s [%s]\n", name, "Tool event"); + } +} + +void print_tool_events(const char *event_glob, bool name_only) +{ + // Start at 1 because the first enum entry means no tool event. + for (int i = 1; i < PERF_TOOL_MAX; ++i) + print_tool_event(event_symbols_tool + i, event_glob, name_only); + + if (pager_in_use()) + printf("\n"); +} + +void print_symbol_events(const char *event_glob, unsigned int type, + struct event_symbol *syms, unsigned int max, + bool name_only) +{ + unsigned int i, evt_i = 0, evt_num = 0; + char name[MAX_NAME_LEN]; + char **evt_list = NULL; + bool evt_num_known = false; + +restart: + if (evt_num_known) { + evt_list = zalloc(sizeof(char *) * evt_num); + if (!evt_list) + goto out_enomem; + syms -= max; + } + + for (i = 0; i < max; i++, syms++) { + /* + * New attr.config still not supported here, the latest + * example was PERF_COUNT_SW_CGROUP_SWITCHES + */ + if (syms->symbol == NULL) + continue; + + if (event_glob != NULL && !(strglobmatch(syms->symbol, event_glob) || + (syms->alias && strglobmatch(syms->alias, event_glob)))) + continue; + + if (!is_event_supported(type, i)) + continue; + + if (!evt_num_known) { + evt_num++; + continue; + } + + if (!name_only && strlen(syms->alias)) + snprintf(name, MAX_NAME_LEN, "%s OR %s", syms->symbol, syms->alias); + else + strlcpy(name, syms->symbol, MAX_NAME_LEN); + + evt_list[evt_i] = strdup(name); + if (evt_list[evt_i] == NULL) + goto out_enomem; + evt_i++; + } + + if (!evt_num_known) { + evt_num_known = true; + goto restart; + } + qsort(evt_list, evt_num, sizeof(char *), cmp_string); + evt_i = 0; + while (evt_i < evt_num) { + if (name_only) { + printf("%s ", evt_list[evt_i++]); + continue; + } + printf(" %-50s [%s]\n", evt_list[evt_i++], event_type_descriptors[type]); + } + if (evt_num && pager_in_use()) + printf("\n"); + +out_free: + evt_num = evt_i; + for (evt_i = 0; evt_i < evt_num; evt_i++) + zfree(&evt_list[evt_i]); + zfree(&evt_list); + return; + +out_enomem: + printf("FATAL: not enough memory to print %s\n", event_type_descriptors[type]); + if (evt_list) + goto out_free; +} + +/* + * Print the help text for the event symbols: + */ +void print_events(const char *event_glob, bool name_only, bool quiet_flag, + bool long_desc, bool details_flag, bool deprecated, + const char *pmu_name) +{ + print_symbol_events(event_glob, PERF_TYPE_HARDWARE, + event_symbols_hw, PERF_COUNT_HW_MAX, name_only); + + print_symbol_events(event_glob, PERF_TYPE_SOFTWARE, + event_symbols_sw, PERF_COUNT_SW_MAX, name_only); + print_tool_events(event_glob, name_only); + + print_hwcache_events(event_glob, name_only); + + print_pmu_events(event_glob, name_only, quiet_flag, long_desc, + details_flag, deprecated, pmu_name); + + if (event_glob != NULL) + return; + + if (!name_only) { + printf(" %-50s [%s]\n", + "rNNN", + event_type_descriptors[PERF_TYPE_RAW]); + printf(" %-50s [%s]\n", + "cpu/t1=v1[,t2=v2,t3 ...]/modifier", + event_type_descriptors[PERF_TYPE_RAW]); + if (pager_in_use()) + printf(" (see 'man perf-list' on how to encode it)\n\n"); + + printf(" %-50s [%s]\n", + "mem:[/len][:access]", + event_type_descriptors[PERF_TYPE_BREAKPOINT]); + if (pager_in_use()) + printf("\n"); + } + + print_tracepoint_events(NULL, NULL, name_only); + + print_sdt_events(NULL, NULL, name_only); + + metricgroup__print(true, true, NULL, name_only, details_flag, + pmu_name); + + print_libpfm_events(name_only, long_desc); +} --- linux-gcp-5.19.0.orig/tools/perf/util/print-events.h +++ linux-gcp-5.19.0/tools/perf/util/print-events.h @@ -0,0 +1,22 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __PERF_PRINT_EVENTS_H +#define __PERF_PRINT_EVENTS_H + +#include + +struct event_symbol; + +void print_events(const char *event_glob, bool name_only, bool quiet_flag, + bool long_desc, bool details_flag, bool deprecated, + const char *pmu_name); +int print_hwcache_events(const char *event_glob, bool name_only); +void print_sdt_events(const char *subsys_glob, const char *event_glob, + bool name_only); +void print_symbol_events(const char *event_glob, unsigned int type, + struct event_symbol *syms, unsigned int max, + bool name_only); +void print_tool_events(const char *event_glob, bool name_only); +void print_tracepoint_events(const char *subsys_glob, const char *event_glob, + bool name_only); + +#endif /* __PERF_PRINT_EVENTS_H */ --- linux-gcp-5.19.0.orig/tools/perf/util/probe-event.c +++ linux-gcp-5.19.0/tools/perf/util/probe-event.c @@ -1775,8 +1775,10 @@ if (!pev->event && pev->point.function && pev->point.line && !pev->point.lazy_line && !pev->point.offset) { if (asprintf(&pev->event, "%s_L%d", pev->point.function, - pev->point.line) < 0) - return -ENOMEM; + pev->point.line) < 0) { + ret = -ENOMEM; + goto out; + } } /* Copy arguments and ensure return probe has no C argument */ --- linux-gcp-5.19.0.orig/tools/perf/util/stat-display.c +++ linux-gcp-5.19.0/tools/perf/util/stat-display.c @@ -207,7 +207,7 @@ fputc('\n', os->fh); if (os->prefix) - fprintf(os->fh, "%s%s", os->prefix, config->csv_sep); + fprintf(os->fh, "%s", os->prefix); aggr_printout(config, os->evsel, os->id, os->nr); for (i = 0; i < os->nfields; i++) fputs(config->csv_sep, os->fh); @@ -436,6 +436,7 @@ [AGGR_SOCKET] = 2, [AGGR_DIE] = 2, [AGGR_CORE] = 2, + [AGGR_NODE] = 1, }; pm = print_metric_csv; @@ -983,6 +984,7 @@ [AGGR_SOCKET] = 12, [AGGR_NONE] = 6, [AGGR_THREAD] = 24, + [AGGR_NODE] = 6, [AGGR_GLOBAL] = 0, }; @@ -992,6 +994,7 @@ [AGGR_SOCKET] = "socket,cpus", [AGGR_NONE] = "cpu,", [AGGR_THREAD] = "comm-pid,", + [AGGR_NODE] = "node,", [AGGR_GLOBAL] = "" }; --- linux-gcp-5.19.0.orig/tools/perf/util/symbol-elf.c +++ linux-gcp-5.19.0/tools/perf/util/symbol-elf.c @@ -1303,18 +1303,31 @@ (!used_opd && syms_ss->adjust_symbols)) { GElf_Phdr phdr; - if (elf_read_program_header(syms_ss->elf, + if (elf_read_program_header(runtime_ss->elf, (u64)sym.st_value, &phdr)) { - pr_warning("%s: failed to find program header for " + pr_debug4("%s: failed to find program header for " "symbol: %s st_value: %#" PRIx64 "\n", __func__, elf_name, (u64)sym.st_value); - continue; + pr_debug4("%s: adjusting symbol: st_value: %#" PRIx64 " " + "sh_addr: %#" PRIx64 " sh_offset: %#" PRIx64 "\n", + __func__, (u64)sym.st_value, (u64)shdr.sh_addr, + (u64)shdr.sh_offset); + /* + * Fail to find program header, let's rollback + * to use shdr.sh_addr and shdr.sh_offset to + * calibrate symbol's file address, though this + * is not necessary for normal C ELF file, we + * still need to handle java JIT symbols in this + * case. + */ + sym.st_value -= shdr.sh_addr - shdr.sh_offset; + } else { + pr_debug4("%s: adjusting symbol: st_value: %#" PRIx64 " " + "p_vaddr: %#" PRIx64 " p_offset: %#" PRIx64 "\n", + __func__, (u64)sym.st_value, (u64)phdr.p_vaddr, + (u64)phdr.p_offset); + sym.st_value -= phdr.p_vaddr - phdr.p_offset; } - pr_debug4("%s: adjusting symbol: st_value: %#" PRIx64 " " - "p_vaddr: %#" PRIx64 " p_offset: %#" PRIx64 "\n", - __func__, (u64)sym.st_value, (u64)phdr.p_vaddr, - (u64)phdr.p_offset); - sym.st_value -= phdr.p_vaddr - phdr.p_offset; } demangled = demangle_sym(dso, kmodule, elf_name); @@ -2089,8 +2102,8 @@ * unusual. One significant peculiarity is that the mapping (start -> pgoff) * is not the same for the kernel map and the modules map. That happens because * the data is copied adjacently whereas the original kcore has gaps. Finally, - * kallsyms and modules files are compared with their copies to check that - * modules have not been loaded or unloaded while the copies were taking place. + * kallsyms file is compared with its copy to check that modules have not been + * loaded or unloaded while the copies were taking place. * * Return: %0 on success, %-1 on failure. */ @@ -2153,9 +2166,6 @@ goto out_extract_close; } - if (kcore_copy__compare_file(from_dir, to_dir, "modules")) - goto out_extract_close; - if (kcore_copy__compare_file(from_dir, to_dir, "kallsyms")) goto out_extract_close; --- linux-gcp-5.19.0.orig/tools/perf/util/synthetic-events.c +++ linux-gcp-5.19.0/tools/perf/util/synthetic-events.c @@ -367,13 +367,24 @@ bool is_kernel) { struct build_id bid; + struct nsinfo *nsi; + struct nscookie nc; int rc; - if (is_kernel) + if (is_kernel) { rc = sysfs__read_build_id("/sys/kernel/notes", &bid); - else - rc = filename__read_build_id(event->filename, &bid) > 0 ? 0 : -1; + goto out; + } + nsi = nsinfo__new(event->pid); + nsinfo__mountns_enter(nsi, &nc); + + rc = filename__read_build_id(event->filename, &bid) > 0 ? 0 : -1; + + nsinfo__mountns_exit(&nc); + nsinfo__put(nsi); + +out: if (rc == 0) { memcpy(event->build_id, bid.data, sizeof(bid.data)); event->build_id_size = (u8) bid.size; --- linux-gcp-5.19.0.orig/tools/perf/util/trace-event-info.c +++ linux-gcp-5.19.0/tools/perf/util/trace-event-info.c @@ -19,16 +19,24 @@ #include #include #include // page_size +#include #include "trace-event.h" +#include "tracepoint.h" #include #include "evsel.h" #include "debug.h" #define VERSION "0.6" +#define MAX_EVENT_LENGTH 512 static int output_fd; +struct tracepoint_path { + char *system; + char *name; + struct tracepoint_path *next; +}; int bigendian(void) { @@ -400,6 +408,94 @@ } } +static struct tracepoint_path *tracepoint_id_to_path(u64 config) +{ + struct tracepoint_path *path = NULL; + DIR *sys_dir, *evt_dir; + struct dirent *sys_dirent, *evt_dirent; + char id_buf[24]; + int fd; + u64 id; + char evt_path[MAXPATHLEN]; + char *dir_path; + + sys_dir = tracing_events__opendir(); + if (!sys_dir) + return NULL; + + for_each_subsystem(sys_dir, sys_dirent) { + dir_path = get_events_file(sys_dirent->d_name); + if (!dir_path) + continue; + evt_dir = opendir(dir_path); + if (!evt_dir) + goto next; + + for_each_event(dir_path, evt_dir, evt_dirent) { + + scnprintf(evt_path, MAXPATHLEN, "%s/%s/id", dir_path, + evt_dirent->d_name); + fd = open(evt_path, O_RDONLY); + if (fd < 0) + continue; + if (read(fd, id_buf, sizeof(id_buf)) < 0) { + close(fd); + continue; + } + close(fd); + id = atoll(id_buf); + if (id == config) { + put_events_file(dir_path); + closedir(evt_dir); + closedir(sys_dir); + path = zalloc(sizeof(*path)); + if (!path) + return NULL; + if (asprintf(&path->system, "%.*s", + MAX_EVENT_LENGTH, sys_dirent->d_name) < 0) { + free(path); + return NULL; + } + if (asprintf(&path->name, "%.*s", + MAX_EVENT_LENGTH, evt_dirent->d_name) < 0) { + zfree(&path->system); + free(path); + return NULL; + } + return path; + } + } + closedir(evt_dir); +next: + put_events_file(dir_path); + } + + closedir(sys_dir); + return NULL; +} + +static struct tracepoint_path *tracepoint_name_to_path(const char *name) +{ + struct tracepoint_path *path = zalloc(sizeof(*path)); + char *str = strchr(name, ':'); + + if (path == NULL || str == NULL) { + free(path); + return NULL; + } + + path->system = strndup(name, str - name); + path->name = strdup(str+1); + + if (path->system == NULL || path->name == NULL) { + zfree(&path->system); + zfree(&path->name); + zfree(&path); + } + + return path; +} + static struct tracepoint_path * get_tracepoints_path(struct list_head *pattrs) { --- linux-gcp-5.19.0.orig/tools/perf/util/tracepoint.c +++ linux-gcp-5.19.0/tools/perf/util/tracepoint.c @@ -0,0 +1,63 @@ +// SPDX-License-Identifier: GPL-2.0 +#include "tracepoint.h" + +#include +#include +#include +#include +#include + +#include + +int tp_event_has_id(const char *dir_path, struct dirent *evt_dir) +{ + char evt_path[MAXPATHLEN]; + int fd; + + snprintf(evt_path, MAXPATHLEN, "%s/%s/id", dir_path, evt_dir->d_name); + fd = open(evt_path, O_RDONLY); + if (fd < 0) + return -EINVAL; + close(fd); + + return 0; +} + +/* + * Check whether event is in /tracing/events + */ +int is_valid_tracepoint(const char *event_string) +{ + DIR *sys_dir, *evt_dir; + struct dirent *sys_dirent, *evt_dirent; + char evt_path[MAXPATHLEN]; + char *dir_path; + + sys_dir = tracing_events__opendir(); + if (!sys_dir) + return 0; + + for_each_subsystem(sys_dir, sys_dirent) { + dir_path = get_events_file(sys_dirent->d_name); + if (!dir_path) + continue; + evt_dir = opendir(dir_path); + if (!evt_dir) + goto next; + + for_each_event(dir_path, evt_dir, evt_dirent) { + snprintf(evt_path, MAXPATHLEN, "%s:%s", + sys_dirent->d_name, evt_dirent->d_name); + if (!strcmp(evt_path, event_string)) { + closedir(evt_dir); + closedir(sys_dir); + return 1; + } + } + closedir(evt_dir); +next: + put_events_file(dir_path); + } + closedir(sys_dir); + return 0; +} --- linux-gcp-5.19.0.orig/tools/perf/util/tracepoint.h +++ linux-gcp-5.19.0/tools/perf/util/tracepoint.h @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __PERF_TRACEPOINT_H +#define __PERF_TRACEPOINT_H + +#include +#include + +int tp_event_has_id(const char *dir_path, struct dirent *evt_dir); + +#define for_each_event(dir_path, evt_dir, evt_dirent) \ + while ((evt_dirent = readdir(evt_dir)) != NULL) \ + if (evt_dirent->d_type == DT_DIR && \ + (strcmp(evt_dirent->d_name, ".")) && \ + (strcmp(evt_dirent->d_name, "..")) && \ + (!tp_event_has_id(dir_path, evt_dirent))) + +#define for_each_subsystem(sys_dir, sys_dirent) \ + while ((sys_dirent = readdir(sys_dir)) != NULL) \ + if (sys_dirent->d_type == DT_DIR && \ + (strcmp(sys_dirent->d_name, ".")) && \ + (strcmp(sys_dirent->d_name, ".."))) + +int is_valid_tracepoint(const char *event_string); + +#endif /* __PERF_TRACEPOINT_H */ --- linux-gcp-5.19.0.orig/tools/power/acpi/Makefile.rules +++ linux-gcp-5.19.0/tools/power/acpi/Makefile.rules @@ -9,7 +9,7 @@ toolobjs := $(addprefix $(objdir),$(TOOL_OBJS)) $(OUTPUT)$(TOOL): $(toolobjs) FORCE $(ECHO) " LD " $(subst $(OUTPUT),,$@) - $(QUIET) $(LD) $(CFLAGS) $(toolobjs) $(LDFLAGS) -L$(OUTPUT) -o $@ + $(QUIET_LINK)$(CC) $(CFLAGS) $(toolobjs) $(LDFLAGS) -L$(OUTPUT) -o $@ $(ECHO) " STRIP " $(subst $(OUTPUT),,$@) $(QUIET) $(STRIPCMD) $@ --- linux-gcp-5.19.0.orig/tools/power/x86/intel-speed-select/isst-config.c +++ linux-gcp-5.19.0/tools/power/x86/intel-speed-select/isst-config.c @@ -109,7 +109,7 @@ int is_spr_platform(void) { - if (cpu_model == 0x8F) + if (cpu_model == 0x8F || cpu_model == 0xCF) return 1; return 0; --- linux-gcp-5.19.0.orig/tools/power/x86/intel-speed-select/isst-daemon.c +++ linux-gcp-5.19.0/tools/power/x86/intel-speed-select/isst-daemon.c @@ -41,7 +41,7 @@ time_t tm; int ret; - if (pkg_id >= MAX_PACKAGE_COUNT || die_id > MAX_DIE_PER_PACKAGE) { + if (pkg_id >= MAX_PACKAGE_COUNT || die_id >= MAX_DIE_PER_PACKAGE) { debug_printf("Invalid package/die info for cpu:%d\n", cpu); return; } --- linux-gcp-5.19.0.orig/tools/power/x86/turbostat/turbostat.c +++ linux-gcp-5.19.0/tools/power/x86/turbostat/turbostat.c @@ -2035,9 +2035,9 @@ if (!fp) return -1; ret = fscanf(fp, "%lld", &tmp); + fclose(fp); if (ret != 1) return -1; - fclose(fp); *cnt = tmp; return 0; @@ -5361,6 +5361,10 @@ case INTEL_FAM6_LAKEFIELD: case INTEL_FAM6_ALDERLAKE: case INTEL_FAM6_ALDERLAKE_L: + case INTEL_FAM6_ALDERLAKE_N: + case INTEL_FAM6_RAPTORLAKE: + case INTEL_FAM6_RAPTORLAKE_P: + case INTEL_FAM6_RAPTORLAKE_S: return INTEL_FAM6_CANNONLAKE_L; case INTEL_FAM6_ATOM_TREMONT_L: --- linux-gcp-5.19.0.orig/tools/testing/cxl/test/cxl.c +++ linux-gcp-5.19.0/tools/testing/cxl/test/cxl.c @@ -466,7 +466,6 @@ .end = -1, }; - cxld->flags = CXL_DECODER_F_ENABLE; cxld->interleave_ways = min_not_zero(target_count, 1); cxld->interleave_granularity = SZ_4K; cxld->target_type = CXL_DECODER_EXPANDER; @@ -674,7 +673,7 @@ pdev = platform_device_alloc("cxl_switch_uport", i); if (!pdev) - goto err_port; + goto err_uport; pdev->dev.parent = &root_port->dev; rc = platform_device_add(pdev); @@ -692,7 +691,7 @@ pdev = platform_device_alloc("cxl_switch_dport", i); if (!pdev) - goto err_port; + goto err_dport; pdev->dev.parent = &uport->dev; rc = platform_device_add(pdev); --- linux-gcp-5.19.0.orig/tools/testing/cxl/test/mock.c +++ linux-gcp-5.19.0/tools/testing/cxl/test/mock.c @@ -208,13 +208,15 @@ } EXPORT_SYMBOL_NS_GPL(__wrap_cxl_await_media_ready, CXL); -bool __wrap_cxl_hdm_decode_init(struct cxl_dev_state *cxlds, - struct cxl_hdm *cxlhdm) +int __wrap_cxl_hdm_decode_init(struct cxl_dev_state *cxlds, + struct cxl_hdm *cxlhdm) { int rc = 0, index; struct cxl_mock_ops *ops = get_cxl_mock_ops(&index); - if (!ops || !ops->is_mock_dev(cxlds->dev)) + if (ops && ops->is_mock_dev(cxlds->dev)) + rc = 0; + else rc = cxl_hdm_decode_init(cxlds, cxlhdm); put_cxl_mock_ops(index); --- linux-gcp-5.19.0.orig/tools/testing/ktest/ktest.pl +++ linux-gcp-5.19.0/tools/testing/ktest/ktest.pl @@ -178,6 +178,7 @@ my $store_successes; my $test_name; my $timeout; +my $run_timeout; my $connect_timeout; my $config_bisect_exec; my $booted_timeout; @@ -340,6 +341,7 @@ "STORE_SUCCESSES" => \$store_successes, "TEST_NAME" => \$test_name, "TIMEOUT" => \$timeout, + "RUN_TIMEOUT" => \$run_timeout, "CONNECT_TIMEOUT" => \$connect_timeout, "CONFIG_BISECT_EXEC" => \$config_bisect_exec, "BOOTED_TIMEOUT" => \$booted_timeout, @@ -1488,7 +1490,8 @@ # Still need to wait for the reboot to finish wait_for_monitor($time, $reboot_success_line); - + } + if ($powercycle || $time) { end_monitor; } } @@ -1850,6 +1853,14 @@ $command =~ s/\$SSH_USER/$ssh_user/g; $command =~ s/\$MACHINE/$machine/g; + if (!defined($timeout)) { + $timeout = $run_timeout; + } + + if (!defined($timeout)) { + $timeout = -1; # tell wait_for_input to wait indefinitely + } + doprint("$command ... "); $start_time = time; @@ -1876,13 +1887,10 @@ while (1) { my $fp = \*CMD; - if (defined($timeout)) { - doprint "timeout = $timeout\n"; - } my $line = wait_for_input($fp, $timeout); if (!defined($line)) { my $now = time; - if (defined($timeout) && (($now - $start_time) >= $timeout)) { + if ($timeout >= 0 && (($now - $start_time) >= $timeout)) { doprint "Hit timeout of $timeout, killing process\n"; $hit_timeout = 1; kill 9, $pid; @@ -1963,7 +1971,7 @@ sub _get_grub_index { - my ($command, $target, $skip) = @_; + my ($command, $target, $skip, $submenu) = @_; return if (defined($grub_number) && defined($last_grub_menu) && $last_grub_menu eq $grub_menu && defined($last_machine) && @@ -1980,11 +1988,16 @@ my $found = 0; + my $submenu_number = 0; + while () { if (/$target/) { $grub_number++; $found = 1; last; + } elsif (defined($submenu) && /$submenu/) { + $submenu_number++; + $grub_number = -1; } elsif (/$skip/) { $grub_number++; } @@ -1993,6 +2006,9 @@ dodie "Could not find '$grub_menu' through $command on $machine" if (!$found); + if ($submenu_number > 0) { + $grub_number = "$submenu_number>$grub_number"; + } doprint "$grub_number\n"; $last_grub_menu = $grub_menu; $last_machine = $machine; @@ -2003,6 +2019,7 @@ my $command; my $target; my $skip; + my $submenu; my $grub_menu_qt; if ($reboot_type !~ /^grub/) { @@ -2017,8 +2034,9 @@ $skip = '^\s*title\s'; } elsif ($reboot_type eq "grub2") { $command = "cat $grub_file"; - $target = '^menuentry.*' . $grub_menu_qt; - $skip = '^menuentry\s|^submenu\s'; + $target = '^\s*menuentry.*' . $grub_menu_qt; + $skip = '^\s*menuentry'; + $submenu = '^\s*submenu\s'; } elsif ($reboot_type eq "grub2bls") { $command = $grub_bls_get; $target = '^title=.*' . $grub_menu_qt; @@ -2027,7 +2045,7 @@ return; } - _get_grub_index($command, $target, $skip); + _get_grub_index($command, $target, $skip, $submenu); } sub wait_for_input { @@ -2044,6 +2062,11 @@ $time = $timeout; } + if ($time < 0) { + # Negative number means wait indefinitely + undef $time; + } + $rin = ''; vec($rin, fileno($fp), 1) = 1; vec($rin, fileno(\*STDIN), 1) = 1; @@ -2090,7 +2113,7 @@ if ($reboot_type eq "grub") { run_ssh "'(echo \"savedefault --default=$grub_number --once\" | grub --batch)'"; } elsif (($reboot_type eq "grub2") or ($reboot_type eq "grub2bls")) { - run_ssh "$grub_reboot $grub_number"; + run_ssh "$grub_reboot \"'$grub_number'\""; } elsif ($reboot_type eq "syslinux") { run_ssh "$syslinux --once \\\"$syslinux_label\\\" $syslinux_path"; } elsif (defined $reboot_script) { @@ -3768,9 +3791,10 @@ # .config to make sure it is missing the config that # we had before my %configs = %min_configs; - delete $configs{$config}; + $configs{$config} = "# $config is not set"; make_new_config ((values %configs), (values %keep_configs)); make_oldconfig; + delete $configs{$config}; undef %configs; assign_configs \%configs, $output_config; @@ -4182,6 +4206,9 @@ } sub cancel_test { + if ($monitor_cnt) { + end_monitor; + } if ($email_when_canceled) { my $name = get_test_name; send_email("KTEST: Your [$name] test was cancelled", --- linux-gcp-5.19.0.orig/tools/testing/ktest/sample.conf +++ linux-gcp-5.19.0/tools/testing/ktest/sample.conf @@ -809,6 +809,11 @@ # is issued instead of a reboot. # CONNECT_TIMEOUT = 25 +# The timeout in seconds for how long to wait for any running command +# to timeout. If not defined, it will let it go indefinitely. +# (default undefined) +#RUN_TIMEOUT = 600 + # In between tests, a reboot of the box may occur, and this # is the time to wait for the console after it stops producing # output. Some machines may not produce a large lag on reboot --- linux-gcp-5.19.0.orig/tools/testing/selftests/Makefile +++ linux-gcp-5.19.0/tools/testing/selftests/Makefile @@ -69,6 +69,7 @@ TARGETS += syscall_user_dispatch TARGETS += sysctl TARGETS += tc-testing +TARGETS += tdx TARGETS += timens ifneq (1, $(quicktest)) TARGETS += timers --- linux-gcp-5.19.0.orig/tools/testing/selftests/arm64/abi/syscall-abi.c +++ linux-gcp-5.19.0/tools/testing/selftests/arm64/abi/syscall-abi.c @@ -371,6 +371,10 @@ sme_vl &= PR_SME_VL_LEN_MASK; + /* Found lowest VL */ + if (sve_vq_from_vl(sme_vl) > sme_vq) + break; + if (sme_vq != sve_vq_from_vl(sme_vl)) sme_vq = sve_vq_from_vl(sme_vl); @@ -442,6 +446,10 @@ vl &= PR_SME_VL_LEN_MASK; + /* Found lowest VL */ + if (sve_vq_from_vl(vl) > vq) + break; + if (vq != sve_vq_from_vl(vl)) vq = sve_vq_from_vl(vl); --- linux-gcp-5.19.0.orig/tools/testing/selftests/arm64/signal/testcases/ssve_regs.c +++ linux-gcp-5.19.0/tools/testing/selftests/arm64/signal/testcases/ssve_regs.c @@ -31,6 +31,10 @@ vl &= PR_SME_VL_LEN_MASK; + /* Did we find the lowest supported VL? */ + if (vq < sve_vq_from_vl(vl)) + break; + /* Skip missing VLs */ vq = sve_vq_from_vl(vl); --- linux-gcp-5.19.0.orig/tools/testing/selftests/arm64/signal/testcases/testcases.c +++ linux-gcp-5.19.0/tools/testing/selftests/arm64/signal/testcases/testcases.c @@ -33,7 +33,7 @@ return false; fprintf(stderr, "Validating EXTRA...\n"); - term = GET_RESV_NEXT_HEAD(extra); + term = GET_RESV_NEXT_HEAD(&extra->head); if (!term || term->magic || term->size) { *err = "Missing terminator after EXTRA context"; return false; --- linux-gcp-5.19.0.orig/tools/testing/selftests/arm64/signal/testcases/za_regs.c +++ linux-gcp-5.19.0/tools/testing/selftests/arm64/signal/testcases/za_regs.c @@ -31,6 +31,10 @@ vl &= PR_SME_VL_LEN_MASK; + /* Did we find the lowest supported VL? */ + if (vq < sve_vq_from_vl(vl)) + break; + /* Skip missing VLs */ vq = sve_vq_from_vl(vl); --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/Makefile +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/Makefile @@ -147,8 +147,6 @@ # NOTE: Semicolon at the end is critical to override lib.mk's default static # rule for binaries. $(notdir $(TEST_GEN_PROGS) \ - $(TEST_PROGS) \ - $(TEST_PROGS_EXTENDED) \ $(TEST_GEN_PROGS_EXTENDED) \ $(TEST_CUSTOM_PROGS)): %: $(OUTPUT)/% ; @@ -168,17 +166,26 @@ $(call msg,BINARY,,$@) $(Q)$(LINK.c) $^ $(LDLIBS) -o $@ +# LLVM's ld.lld doesn't support all the architectures, so use it only on x86 +ifeq ($(SRCARCH),x86) +LLD := lld +else +LLD := ld +endif + # Filter out -static for liburandom_read.so and its dependent targets so that static builds # do not fail. Static builds leave urandom_read relying on system-wide shared libraries. $(OUTPUT)/liburandom_read.so: urandom_read_lib1.c urandom_read_lib2.c $(call msg,LIB,,$@) - $(Q)$(CC) $(filter-out -static,$(CFLAGS) $(LDFLAGS)) $^ $(LDLIBS) -fPIC -shared -o $@ + $(Q)$(CLANG) $(filter-out -static,$(CFLAGS) $(LDFLAGS)) $^ $(LDLIBS) \ + -fuse-ld=$(LLD) -Wl,-znoseparate-code -fPIC -shared -o $@ $(OUTPUT)/urandom_read: urandom_read.c urandom_read_aux.c $(OUTPUT)/liburandom_read.so $(call msg,BINARY,,$@) - $(Q)$(CC) $(filter-out -static,$(CFLAGS) $(LDFLAGS)) $(filter %.c,$^) \ - liburandom_read.so $(LDLIBS) \ - -Wl,-rpath=. -Wl,--build-id=sha1 -o $@ + $(Q)$(CLANG) $(filter-out -static,$(CFLAGS) $(LDFLAGS)) $(filter %.c,$^) \ + liburandom_read.so $(LDLIBS) \ + -fuse-ld=$(LLD) -Wl,-znoseparate-code \ + -Wl,-rpath=. -Wl,--build-id=sha1 -o $@ $(OUTPUT)/bpf_testmod.ko: $(VMLINUX_BTF) $(wildcard bpf_testmod/Makefile bpf_testmod/*.[ch]) $(call msg,MOD,,$@) @@ -578,6 +585,8 @@ EXTRA_CLEAN := $(TEST_CUSTOM_PROGS) $(SCRATCH_DIR) $(HOST_SCRATCH_DIR) \ prog_tests/tests.h map_tests/tests.h verifier/tests.h \ feature bpftool \ - $(addprefix $(OUTPUT)/,*.o *.skel.h *.lskel.h *.subskel.h no_alu32 bpf_gcc bpf_testmod.ko) + $(addprefix $(OUTPUT)/,*.o *.skel.h *.lskel.h *.subskel.h \ + no_alu32 bpf_gcc bpf_testmod.ko \ + liburandom_read.so) .PHONY: docs docs-clean --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/bpf_testmod/bpf_testmod.c @@ -88,6 +88,23 @@ } } +noinline int bpf_testmod_fentry_test1(int a) +{ + return a + 1; +} + +noinline int bpf_testmod_fentry_test2(int a, u64 b) +{ + return a + b; +} + +noinline int bpf_testmod_fentry_test3(char a, int b, u64 c) +{ + return a + b + c; +} + +int bpf_testmod_fentry_ok; + noinline ssize_t bpf_testmod_test_read(struct file *file, struct kobject *kobj, struct bin_attribute *bin_attr, @@ -119,6 +136,13 @@ return snprintf(buf, len, "%d\n", writable.val); } + if (bpf_testmod_fentry_test1(1) != 2 || + bpf_testmod_fentry_test2(2, 3) != 5 || + bpf_testmod_fentry_test3(4, 5, 6) != 15) + goto out; + + bpf_testmod_fentry_ok = 1; +out: return -EIO; /* always fail */ } EXPORT_SYMBOL(bpf_testmod_test_read); --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/config +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/config @@ -23,6 +23,7 @@ CONFIG_BPF_STREAM_PARSER=y CONFIG_XDP_SOCKETS=y CONFIG_FTRACE_SYSCALLS=y +CONFIG_FUNCTION_ERROR_INJECTION=y CONFIG_IPV6_TUNNEL=y CONFIG_IPV6_GRE=y CONFIG_IPV6_SEG6_BPF=y --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/map_tests/array_map_batch_ops.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/map_tests/array_map_batch_ops.c @@ -3,6 +3,7 @@ #include #include #include +#include #include #include @@ -137,6 +138,7 @@ free(keys); free(values); free(visited); + close(map_fd); } static void array_map_batch_ops(void) --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/map_tests/htab_map_batch_ops.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/map_tests/htab_map_batch_ops.c @@ -3,6 +3,7 @@ #include #include #include +#include #include #include @@ -255,6 +256,7 @@ free(visited); if (!is_pcpu) free(values); + close(map_fd); } void htab_map_batch_ops(void) --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/map_tests/lpm_trie_map_batch_ops.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/map_tests/lpm_trie_map_batch_ops.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -150,4 +151,5 @@ free(keys); free(values); free(visited); + close(map_fd); } --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/prog_tests/btf.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/prog_tests/btf.c @@ -5324,7 +5324,7 @@ ret = snprintf(pin_path, sizeof(pin_path), "%s/%s", "/sys/fs/bpf", test->map_name); - if (CHECK(ret == sizeof(pin_path), "pin_path %s/%s is too long", + if (CHECK(ret >= sizeof(pin_path), "pin_path %s/%s is too long", "/sys/fs/bpf", test->map_name)) { err = -1; goto done; --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/prog_tests/fexit_stress.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/prog_tests/fexit_stress.c @@ -7,11 +7,9 @@ void serial_test_fexit_stress(void) { - char test_skb[128] = {}; int fexit_fd[CNT] = {}; int link_fd[CNT] = {}; - char error[4096]; - int err, i, filter_fd; + int err, i; const struct bpf_insn trace_program[] = { BPF_MOV64_IMM(BPF_REG_0, 0), @@ -20,25 +18,9 @@ LIBBPF_OPTS(bpf_prog_load_opts, trace_opts, .expected_attach_type = BPF_TRACE_FEXIT, - .log_buf = error, - .log_size = sizeof(error), ); - const struct bpf_insn skb_program[] = { - BPF_MOV64_IMM(BPF_REG_0, 0), - BPF_EXIT_INSN(), - }; - - LIBBPF_OPTS(bpf_prog_load_opts, skb_opts, - .log_buf = error, - .log_size = sizeof(error), - ); - - LIBBPF_OPTS(bpf_test_run_opts, topts, - .data_in = test_skb, - .data_size_in = sizeof(test_skb), - .repeat = 1, - ); + LIBBPF_OPTS(bpf_test_run_opts, topts); err = libbpf_find_vmlinux_btf_id("bpf_fentry_test1", trace_opts.expected_attach_type); @@ -58,15 +40,9 @@ goto out; } - filter_fd = bpf_prog_load(BPF_PROG_TYPE_SOCKET_FILTER, NULL, "GPL", - skb_program, sizeof(skb_program) / sizeof(struct bpf_insn), - &skb_opts); - if (!ASSERT_GE(filter_fd, 0, "test_program_loaded")) - goto out; + err = bpf_prog_test_run_opts(fexit_fd[0], &topts); + ASSERT_OK(err, "bpf_prog_test_run_opts"); - err = bpf_prog_test_run_opts(filter_fd, &topts); - close(filter_fd); - CHECK_FAIL(err); out: for (i = 0; i < CNT; i++) { if (link_fd[i]) --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/prog_tests/kprobe_multi_test.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/prog_tests/kprobe_multi_test.c @@ -325,7 +325,7 @@ static int get_syms(char ***symsp, size_t *cntp) { size_t cap = 0, cnt = 0, i; - char *name, **syms = NULL; + char *name = NULL, **syms = NULL; struct hashmap *map; char buf[256]; FILE *f; @@ -352,6 +352,8 @@ /* skip modules */ if (strchr(buf, '[')) continue; + + free(name); if (sscanf(buf, "%ms$*[^\n]\n", &name) != 1) continue; /* @@ -367,32 +369,32 @@ if (!strncmp(name, "__ftrace_invalid_address__", sizeof("__ftrace_invalid_address__") - 1)) continue; + err = hashmap__add(map, name, NULL); - if (err) { - free(name); - if (err == -EEXIST) - continue; + if (err == -EEXIST) + continue; + if (err) goto error; - } + err = libbpf_ensure_mem((void **) &syms, &cap, sizeof(*syms), cnt + 1); - if (err) { - free(name); + if (err) goto error; - } - syms[cnt] = name; - cnt++; + + syms[cnt++] = name; + name = NULL; } *symsp = syms; *cntp = cnt; error: + free(name); fclose(f); hashmap__free(map); if (err) { for (i = 0; i < cnt; i++) - free(syms[cnt]); + free(syms[i]); free(syms); } return err; --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/prog_tests/kprobe_multi_testmod_test.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/prog_tests/kprobe_multi_testmod_test.c @@ -0,0 +1,89 @@ +// SPDX-License-Identifier: GPL-2.0 +#include +#include "kprobe_multi.skel.h" +#include "trace_helpers.h" +#include "bpf/libbpf_internal.h" + +static void kprobe_multi_testmod_check(struct kprobe_multi *skel) +{ + ASSERT_EQ(skel->bss->kprobe_testmod_test1_result, 1, "kprobe_test1_result"); + ASSERT_EQ(skel->bss->kprobe_testmod_test2_result, 1, "kprobe_test2_result"); + ASSERT_EQ(skel->bss->kprobe_testmod_test3_result, 1, "kprobe_test3_result"); + + ASSERT_EQ(skel->bss->kretprobe_testmod_test1_result, 1, "kretprobe_test1_result"); + ASSERT_EQ(skel->bss->kretprobe_testmod_test2_result, 1, "kretprobe_test2_result"); + ASSERT_EQ(skel->bss->kretprobe_testmod_test3_result, 1, "kretprobe_test3_result"); +} + +static void test_testmod_attach_api(struct bpf_kprobe_multi_opts *opts) +{ + struct kprobe_multi *skel = NULL; + + skel = kprobe_multi__open_and_load(); + if (!ASSERT_OK_PTR(skel, "fentry_raw_skel_load")) + return; + + skel->bss->pid = getpid(); + + skel->links.test_kprobe_testmod = bpf_program__attach_kprobe_multi_opts( + skel->progs.test_kprobe_testmod, + NULL, opts); + if (!skel->links.test_kprobe_testmod) + goto cleanup; + + opts->retprobe = true; + skel->links.test_kretprobe_testmod = bpf_program__attach_kprobe_multi_opts( + skel->progs.test_kretprobe_testmod, + NULL, opts); + if (!skel->links.test_kretprobe_testmod) + goto cleanup; + + ASSERT_OK(trigger_module_test_read(1), "trigger_read"); + kprobe_multi_testmod_check(skel); + +cleanup: + kprobe_multi__destroy(skel); +} + +static void test_testmod_attach_api_addrs(void) +{ + LIBBPF_OPTS(bpf_kprobe_multi_opts, opts); + unsigned long long addrs[3]; + + addrs[0] = ksym_get_addr("bpf_testmod_fentry_test1"); + ASSERT_NEQ(addrs[0], 0, "ksym_get_addr"); + addrs[1] = ksym_get_addr("bpf_testmod_fentry_test2"); + ASSERT_NEQ(addrs[1], 0, "ksym_get_addr"); + addrs[2] = ksym_get_addr("bpf_testmod_fentry_test3"); + ASSERT_NEQ(addrs[2], 0, "ksym_get_addr"); + + opts.addrs = (const unsigned long *) addrs; + opts.cnt = ARRAY_SIZE(addrs); + + test_testmod_attach_api(&opts); +} + +static void test_testmod_attach_api_syms(void) +{ + LIBBPF_OPTS(bpf_kprobe_multi_opts, opts); + const char *syms[3] = { + "bpf_testmod_fentry_test1", + "bpf_testmod_fentry_test2", + "bpf_testmod_fentry_test3", + }; + + opts.syms = syms; + opts.cnt = ARRAY_SIZE(syms); + test_testmod_attach_api(&opts); +} + +void serial_test_kprobe_multi_testmod_test(void) +{ + if (!ASSERT_OK(load_kallsyms_refresh(), "load_kallsyms_refresh")) + return; + + if (test__start_subtest("testmod_attach_api_syms")) + test_testmod_attach_api_syms(); + if (test__start_subtest("testmod_attach_api_addrs")) + test_testmod_attach_api_addrs(); +} --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/prog_tests/module_attach.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/prog_tests/module_attach.c @@ -103,6 +103,13 @@ ASSERT_ERR(delete_module("bpf_testmod", 0), "delete_module"); bpf_link__destroy(link); + link = bpf_program__attach(skel->progs.kprobe_multi); + if (!ASSERT_OK_PTR(link, "attach_kprobe_multi")) + goto cleanup; + + ASSERT_ERR(delete_module("bpf_testmod", 0), "delete_module"); + bpf_link__destroy(link); + cleanup: test_module_attach__destroy(skel); } --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/prog_tests/sock_fields.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/prog_tests/sock_fields.c @@ -394,7 +394,6 @@ test(); done: - test_sock_fields__detach(skel); test_sock_fields__destroy(skel); if (child_cg_fd >= 0) close(child_cg_fd); --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/prog_tests/tc_redirect.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/prog_tests/tc_redirect.c @@ -646,7 +646,7 @@ __u32 *errs = skel->bss->errs[t]; skel->bss->test = t; - test_inet_dtime(AF_INET6, SOCK_STREAM, IP6_DST, 0); + test_inet_dtime(AF_INET6, SOCK_STREAM, IP6_DST, 50000 + t); ASSERT_EQ(dtimes[INGRESS_FWDNS_P100], 0, dtime_cnt_str(t, INGRESS_FWDNS_P100)); @@ -683,7 +683,7 @@ errs = skel->bss->errs[t]; skel->bss->test = t; - test_inet_dtime(family, SOCK_STREAM, addr, 0); + test_inet_dtime(family, SOCK_STREAM, addr, 50000 + t); /* fwdns_prio100 prog does not read delivery_time_type, so * kernel puts the (rcv) timetamp in __sk_buff->tstamp @@ -715,13 +715,13 @@ errs = skel->bss->errs[t]; skel->bss->test = t; - test_inet_dtime(family, SOCK_DGRAM, addr, 0); + test_inet_dtime(family, SOCK_DGRAM, addr, 50000 + t); ASSERT_EQ(dtimes[INGRESS_FWDNS_P100], 0, dtime_cnt_str(t, INGRESS_FWDNS_P100)); /* non mono delivery time is not forwarded */ ASSERT_EQ(dtimes[INGRESS_FWDNS_P101], 0, - dtime_cnt_str(t, INGRESS_FWDNS_P100)); + dtime_cnt_str(t, INGRESS_FWDNS_P101)); for (i = EGRESS_FWDNS_P100; i < SET_DTIME; i++) ASSERT_GT(dtimes[i], 0, dtime_cnt_str(t, i)); --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/prog_tests/xdp_adjust_tail.c @@ -18,7 +18,7 @@ ); err = bpf_prog_test_load(file, BPF_PROG_TYPE_XDP, &obj, &prog_fd); - if (ASSERT_OK(err, "test_xdp_adjust_tail_shrink")) + if (!ASSERT_OK(err, "test_xdp_adjust_tail_shrink")) return; err = bpf_prog_test_run_opts(prog_fd, &topts); @@ -53,7 +53,7 @@ ); err = bpf_prog_test_load(file, BPF_PROG_TYPE_XDP, &obj, &prog_fd); - if (ASSERT_OK(err, "test_xdp_adjust_tail_grow")) + if (!ASSERT_OK(err, "test_xdp_adjust_tail_grow")) return; err = bpf_prog_test_run_opts(prog_fd, &topts); @@ -63,6 +63,7 @@ expect_sz = sizeof(pkt_v6) + 40; /* Test grow with 40 bytes */ topts.data_in = &pkt_v6; topts.data_size_in = sizeof(pkt_v6); + topts.data_size_out = sizeof(buf); err = bpf_prog_test_run_opts(prog_fd, &topts); ASSERT_OK(err, "ipv6"); ASSERT_EQ(topts.retval, XDP_TX, "ipv6 retval"); @@ -89,7 +90,7 @@ ); err = bpf_prog_test_load(file, BPF_PROG_TYPE_XDP, &obj, &prog_fd); - if (ASSERT_OK(err, "test_xdp_adjust_tail_grow")) + if (!ASSERT_OK(err, "test_xdp_adjust_tail_grow")) return; /* Test case-64 */ --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/progs/kprobe_multi.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/progs/kprobe_multi.c @@ -36,15 +36,13 @@ __u64 kretprobe_test7_result = 0; __u64 kretprobe_test8_result = 0; -extern bool CONFIG_X86_KERNEL_IBT __kconfig __weak; - static void kprobe_multi_check(void *ctx, bool is_return) { if (bpf_get_current_pid_tgid() >> 32 != pid) return; __u64 cookie = test_cookie ? bpf_get_attach_cookie(ctx) : 0; - __u64 addr = bpf_get_func_ip(ctx) - (CONFIG_X86_KERNEL_IBT ? 4 : 0); + __u64 addr = bpf_get_func_ip(ctx); #define SET(__var, __addr, __cookie) ({ \ if (((const void *) addr == __addr) && \ @@ -112,3 +110,53 @@ kprobe_multi_check(ctx, true); return 0; } + +extern const void bpf_testmod_fentry_test1 __ksym; +extern const void bpf_testmod_fentry_test2 __ksym; +extern const void bpf_testmod_fentry_test3 __ksym; + +__u64 kprobe_testmod_test1_result = 0; +__u64 kprobe_testmod_test2_result = 0; +__u64 kprobe_testmod_test3_result = 0; + +__u64 kretprobe_testmod_test1_result = 0; +__u64 kretprobe_testmod_test2_result = 0; +__u64 kretprobe_testmod_test3_result = 0; + +static void kprobe_multi_testmod_check(void *ctx, bool is_return) +{ + if (bpf_get_current_pid_tgid() >> 32 != pid) + return; + + __u64 addr = bpf_get_func_ip(ctx); + + if (is_return) { + if ((const void *) addr == &bpf_testmod_fentry_test1) + kretprobe_testmod_test1_result = 1; + if ((const void *) addr == &bpf_testmod_fentry_test2) + kretprobe_testmod_test2_result = 1; + if ((const void *) addr == &bpf_testmod_fentry_test3) + kretprobe_testmod_test3_result = 1; + } else { + if ((const void *) addr == &bpf_testmod_fentry_test1) + kprobe_testmod_test1_result = 1; + if ((const void *) addr == &bpf_testmod_fentry_test2) + kprobe_testmod_test2_result = 1; + if ((const void *) addr == &bpf_testmod_fentry_test3) + kprobe_testmod_test3_result = 1; + } +} + +SEC("kprobe.multi") +int test_kprobe_testmod(struct pt_regs *ctx) +{ + kprobe_multi_testmod_check(ctx, false); + return 0; +} + +SEC("kretprobe.multi") +int test_kretprobe_testmod(struct pt_regs *ctx) +{ + kprobe_multi_testmod_check(ctx, true); + return 0; +} --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/progs/map_kptr.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/progs/map_kptr.c @@ -62,21 +62,23 @@ bpf_kfunc_call_test_kptr_get(struct prog_test_ref_kfunc **p, int a, int b) __ksym; extern void bpf_kfunc_call_test_release(struct prog_test_ref_kfunc *p) __ksym; +#define WRITE_ONCE(x, val) ((*(volatile typeof(x) *) &(x)) = (val)) + static void test_kptr_unref(struct map_value *v) { struct prog_test_ref_kfunc *p; p = v->unref_ptr; /* store untrusted_ptr_or_null_ */ - v->unref_ptr = p; + WRITE_ONCE(v->unref_ptr, p); if (!p) return; if (p->a + p->b > 100) return; /* store untrusted_ptr_ */ - v->unref_ptr = p; + WRITE_ONCE(v->unref_ptr, p); /* store NULL */ - v->unref_ptr = NULL; + WRITE_ONCE(v->unref_ptr, NULL); } static void test_kptr_ref(struct map_value *v) @@ -85,7 +87,7 @@ p = v->ref_ptr; /* store ptr_or_null_ */ - v->unref_ptr = p; + WRITE_ONCE(v->unref_ptr, p); if (!p) return; if (p->a + p->b > 100) @@ -99,7 +101,7 @@ return; } /* store ptr_ */ - v->unref_ptr = p; + WRITE_ONCE(v->unref_ptr, p); bpf_kfunc_call_test_release(p); p = bpf_kfunc_call_test_acquire(&(unsigned long){0}); --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/progs/test_module_attach.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/progs/test_module_attach.c @@ -110,4 +110,10 @@ return 0; /* don't override the exit code */ } +SEC("kprobe.multi/bpf_testmod_test_read") +int BPF_PROG(kprobe_multi) +{ + return 0; +} + char _license[] SEC("license") = "GPL"; --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/progs/test_tc_dtime.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/progs/test_tc_dtime.c @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include #include #include @@ -115,6 +117,19 @@ return test < TCP_IP4_RT_FWD; } +static __u8 get_proto(void) +{ + switch (test) { + case UDP_IP4: + case UDP_IP6: + case UDP_IP4_RT_FWD: + case UDP_IP6_RT_FWD: + return IPPROTO_UDP; + default: + return IPPROTO_TCP; + } +} + /* -1: parse error: TC_ACT_SHOT * 0: not testing traffic: TC_ACT_OK * >0: first byte is the inet_proto, second byte has the netns @@ -122,11 +137,16 @@ */ static int skb_get_type(struct __sk_buff *skb) { + __u16 dst_ns_port = __bpf_htons(50000 + test); void *data_end = ctx_ptr(skb->data_end); void *data = ctx_ptr(skb->data); __u8 inet_proto = 0, ns = 0; struct ipv6hdr *ip6h; + __u16 sport, dport; struct iphdr *iph; + struct tcphdr *th; + struct udphdr *uh; + void *trans; switch (skb->protocol) { case __bpf_htons(ETH_P_IP): @@ -138,6 +158,7 @@ else if (iph->saddr == ip4_dst) ns = DST_NS; inet_proto = iph->protocol; + trans = iph + 1; break; case __bpf_htons(ETH_P_IPV6): ip6h = data + sizeof(struct ethhdr); @@ -148,15 +169,43 @@ else if (v6_equal(ip6h->saddr, (struct in6_addr)ip6_dst)) ns = DST_NS; inet_proto = ip6h->nexthdr; + trans = ip6h + 1; break; default: return 0; } - if ((inet_proto != IPPROTO_TCP && inet_proto != IPPROTO_UDP) || !ns) + /* skb is not from src_ns or dst_ns. + * skb is not the testing IPPROTO. + */ + if (!ns || inet_proto != get_proto()) + return 0; + + switch (inet_proto) { + case IPPROTO_TCP: + th = trans; + if (th + 1 > data_end) + return -1; + sport = th->source; + dport = th->dest; + break; + case IPPROTO_UDP: + uh = trans; + if (uh + 1 > data_end) + return -1; + sport = uh->source; + dport = uh->dest; + break; + default: return 0; + } + + /* The skb is the testing traffic */ + if ((ns == SRC_NS && dport == dst_ns_port) || + (ns == DST_NS && sport == dst_ns_port)) + return (ns << 8 | inet_proto); - return (ns << 8 | inet_proto); + return 0; } /* format: direction@iface@netns --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/test_maps.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/test_maps.c @@ -658,13 +658,13 @@ { struct bpf_map *bpf_map_rx, *bpf_map_tx, *bpf_map_msg, *bpf_map_break; int map_fd_msg = 0, map_fd_rx = 0, map_fd_tx = 0, map_fd_break; + struct bpf_object *parse_obj, *verdict_obj, *msg_obj; int ports[] = {50200, 50201, 50202, 50204}; int err, i, fd, udp, sfd[6] = {0xdeadbeef}; u8 buf[20] = {0x0, 0x5, 0x3, 0x2, 0x1, 0x0}; int parse_prog, verdict_prog, msg_prog; struct sockaddr_in addr; int one = 1, s, sc, rc; - struct bpf_object *obj; struct timeval to; __u32 key, value; pid_t pid[tasks]; @@ -760,6 +760,7 @@ i, udp); goto out_sockmap; } + close(udp); /* Test update without programs */ for (i = 0; i < 6; i++) { @@ -822,27 +823,27 @@ /* Load SK_SKB program and Attach */ err = bpf_prog_test_load(SOCKMAP_PARSE_PROG, - BPF_PROG_TYPE_SK_SKB, &obj, &parse_prog); + BPF_PROG_TYPE_SK_SKB, &parse_obj, &parse_prog); if (err) { printf("Failed to load SK_SKB parse prog\n"); goto out_sockmap; } err = bpf_prog_test_load(SOCKMAP_TCP_MSG_PROG, - BPF_PROG_TYPE_SK_MSG, &obj, &msg_prog); + BPF_PROG_TYPE_SK_MSG, &msg_obj, &msg_prog); if (err) { printf("Failed to load SK_SKB msg prog\n"); goto out_sockmap; } err = bpf_prog_test_load(SOCKMAP_VERDICT_PROG, - BPF_PROG_TYPE_SK_SKB, &obj, &verdict_prog); + BPF_PROG_TYPE_SK_SKB, &verdict_obj, &verdict_prog); if (err) { printf("Failed to load SK_SKB verdict prog\n"); goto out_sockmap; } - bpf_map_rx = bpf_object__find_map_by_name(obj, "sock_map_rx"); + bpf_map_rx = bpf_object__find_map_by_name(verdict_obj, "sock_map_rx"); if (!bpf_map_rx) { printf("Failed to load map rx from verdict prog\n"); goto out_sockmap; @@ -854,7 +855,7 @@ goto out_sockmap; } - bpf_map_tx = bpf_object__find_map_by_name(obj, "sock_map_tx"); + bpf_map_tx = bpf_object__find_map_by_name(verdict_obj, "sock_map_tx"); if (!bpf_map_tx) { printf("Failed to load map tx from verdict prog\n"); goto out_sockmap; @@ -866,7 +867,7 @@ goto out_sockmap; } - bpf_map_msg = bpf_object__find_map_by_name(obj, "sock_map_msg"); + bpf_map_msg = bpf_object__find_map_by_name(verdict_obj, "sock_map_msg"); if (!bpf_map_msg) { printf("Failed to load map msg from msg_verdict prog\n"); goto out_sockmap; @@ -878,7 +879,7 @@ goto out_sockmap; } - bpf_map_break = bpf_object__find_map_by_name(obj, "sock_map_break"); + bpf_map_break = bpf_object__find_map_by_name(verdict_obj, "sock_map_break"); if (!bpf_map_break) { printf("Failed to load map tx from verdict prog\n"); goto out_sockmap; @@ -1124,7 +1125,9 @@ } close(fd); close(map_fd_rx); - bpf_object__close(obj); + bpf_object__close(parse_obj); + bpf_object__close(msg_obj); + bpf_object__close(verdict_obj); return; out: for (i = 0; i < 6; i++) @@ -1282,8 +1285,11 @@ printf("Inner map mim.inner was not destroyed\n"); goto out_map_in_map; } + + close(fd); } + bpf_object__close(obj); return; out_map_in_map: --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/test_progs.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/test_progs.c @@ -993,7 +993,7 @@ msg->subtest_done.have_log); break; case MSG_TEST_LOG: - sprintf(buf, "MSG_TEST_LOG (cnt: %ld, last: %d)", + sprintf(buf, "MSG_TEST_LOG (cnt: %zu, last: %d)", strlen(msg->test_log.log_buf), msg->test_log.is_last); break; --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/trace_helpers.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/trace_helpers.c @@ -23,7 +23,7 @@ return ((struct ksym *)p1)->addr - ((struct ksym *)p2)->addr; } -int load_kallsyms(void) +int load_kallsyms_refresh(void) { FILE *f; char func[256], buf[256]; @@ -31,12 +31,7 @@ void *addr; int i = 0; - /* - * This is called/used from multiplace places, - * load symbols just once. - */ - if (sym_cnt) - return 0; + sym_cnt = 0; f = fopen("/proc/kallsyms", "r"); if (!f) @@ -57,6 +52,17 @@ return 0; } +int load_kallsyms(void) +{ + /* + * This is called/used from multiplace places, + * load symbols just once. + */ + if (sym_cnt) + return 0; + return load_kallsyms_refresh(); +} + struct ksym *ksym_search(long key) { int start = 0, end = sym_cnt; --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/trace_helpers.h +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/trace_helpers.h @@ -10,6 +10,8 @@ }; int load_kallsyms(void); +int load_kallsyms_refresh(void); + struct ksym *ksym_search(long key); long ksym_get_addr(const char *name); --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/verifier/ref_tracking.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/verifier/ref_tracking.c @@ -905,3 +905,39 @@ .result_unpriv = REJECT, .errstr_unpriv = "unknown func", }, +{ + "reference tracking: try to leak released ptr reg", + .insns = { + BPF_MOV64_IMM(BPF_REG_0, 0), + BPF_STX_MEM(BPF_W, BPF_REG_10, BPF_REG_0, -4), + BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), + BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -4), + BPF_LD_MAP_FD(BPF_REG_1, 0), + BPF_EMIT_CALL(BPF_FUNC_map_lookup_elem), + BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1), + BPF_EXIT_INSN(), + BPF_MOV64_REG(BPF_REG_9, BPF_REG_0), + + BPF_MOV64_IMM(BPF_REG_0, 0), + BPF_LD_MAP_FD(BPF_REG_1, 0), + BPF_MOV64_IMM(BPF_REG_2, 8), + BPF_MOV64_IMM(BPF_REG_3, 0), + BPF_EMIT_CALL(BPF_FUNC_ringbuf_reserve), + BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 0, 1), + BPF_EXIT_INSN(), + BPF_MOV64_REG(BPF_REG_8, BPF_REG_0), + + BPF_MOV64_REG(BPF_REG_1, BPF_REG_8), + BPF_MOV64_IMM(BPF_REG_2, 0), + BPF_EMIT_CALL(BPF_FUNC_ringbuf_discard), + BPF_MOV64_IMM(BPF_REG_0, 0), + + BPF_STX_MEM(BPF_DW, BPF_REG_9, BPF_REG_8, 0), + BPF_EXIT_INSN() + }, + .fixup_map_array_48b = { 4 }, + .fixup_map_ringbuf = { 11 }, + .result = ACCEPT, + .result_unpriv = REJECT, + .errstr_unpriv = "R8 !read_ok" +}, --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/verifier/search_pruning.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/verifier/search_pruning.c @@ -225,3 +225,39 @@ .result_unpriv = ACCEPT, .insn_processed = 15, }, +/* The test performs a conditional 64-bit write to a stack location + * fp[-8], this is followed by an unconditional 8-bit write to fp[-8], + * then data is read from fp[-8]. This sequence is unsafe. + * + * The test would be mistakenly marked as safe w/o dst register parent + * preservation in verifier.c:copy_register_state() function. + * + * Note the usage of BPF_F_TEST_STATE_FREQ to force creation of the + * checkpoint state after conditional 64-bit assignment. + */ +{ + "write tracking and register parent chain bug", + .insns = { + /* r6 = ktime_get_ns() */ + BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns), + BPF_MOV64_REG(BPF_REG_6, BPF_REG_0), + /* r0 = ktime_get_ns() */ + BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns), + /* if r0 > r6 goto +1 */ + BPF_JMP_REG(BPF_JGT, BPF_REG_0, BPF_REG_6, 1), + /* *(u64 *)(r10 - 8) = 0xdeadbeef */ + BPF_ST_MEM(BPF_DW, BPF_REG_FP, -8, 0xdeadbeef), + /* r1 = 42 */ + BPF_MOV64_IMM(BPF_REG_1, 42), + /* *(u8 *)(r10 - 8) = r1 */ + BPF_STX_MEM(BPF_B, BPF_REG_FP, BPF_REG_1, -8), + /* r2 = *(u64 *)(r10 - 8) */ + BPF_LDX_MEM(BPF_DW, BPF_REG_2, BPF_REG_FP, -8), + /* exit(0) */ + BPF_MOV64_IMM(BPF_REG_0, 0), + BPF_EXIT_INSN(), + }, + .flags = BPF_F_TEST_STATE_FREQ, + .errstr = "invalid read from stack off -8+1 size 8", + .result = REJECT, +}, --- linux-gcp-5.19.0.orig/tools/testing/selftests/bpf/xdpxceiver.c +++ linux-gcp-5.19.0/tools/testing/selftests/bpf/xdpxceiver.c @@ -1589,6 +1589,8 @@ if (!ifobj->umem) goto out_umem; + ifobj->ns_fd = -1; + return ifobj; out_umem: @@ -1600,6 +1602,8 @@ static void ifobject_delete(struct ifobject *ifobj) { + if (ifobj->ns_fd != -1) + close(ifobj->ns_fd); free(ifobj->umem); free(ifobj->xsk_arr); free(ifobj); --- linux-gcp-5.19.0.orig/tools/testing/selftests/cgroup/cgroup_util.c +++ linux-gcp-5.19.0/tools/testing/selftests/cgroup/cgroup_util.c @@ -555,6 +555,7 @@ ssize_t proc_read_text(int pid, bool thread, const char *item, char *buf, size_t size) { char path[PATH_MAX]; + ssize_t ret; if (!pid) snprintf(path, sizeof(path), "/proc/%s/%s", @@ -562,8 +563,8 @@ else snprintf(path, sizeof(path), "/proc/%d/%s", pid, item); - size = read_text(path, buf, size); - return size < 0 ? -1 : size; + ret = read_text(path, buf, size); + return ret < 0 ? -1 : ret; } int proc_read_strstr(int pid, bool thread, const char *item, const char *needle) --- linux-gcp-5.19.0.orig/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh +++ linux-gcp-5.19.0/tools/testing/selftests/cpu-hotplug/cpu-on-off-test.sh @@ -4,6 +4,7 @@ SYSFS= # Kselftest framework requirement - SKIP code is 4. ksft_skip=4 +retval=0 prerequisite() { @@ -102,10 +103,10 @@ if ! online_cpu $cpu; then echo $FUNCNAME $cpu: unexpected fail >&2 - exit 1 + retval=1 elif ! cpu_is_online $cpu; then echo $FUNCNAME $cpu: unexpected offline >&2 - exit 1 + retval=1 fi } @@ -115,10 +116,10 @@ if online_cpu $cpu 2> /dev/null; then echo $FUNCNAME $cpu: unexpected success >&2 - exit 1 + retval=1 elif ! cpu_is_offline $cpu; then echo $FUNCNAME $cpu: unexpected online >&2 - exit 1 + retval=1 fi } @@ -128,10 +129,10 @@ if ! offline_cpu $cpu; then echo $FUNCNAME $cpu: unexpected fail >&2 - exit 1 + retval=1 elif ! cpu_is_offline $cpu; then echo $FUNCNAME $cpu: unexpected offline >&2 - exit 1 + retval=1 fi } @@ -141,16 +142,33 @@ if offline_cpu $cpu 2> /dev/null; then echo $FUNCNAME $cpu: unexpected success >&2 - exit 1 + retval=1 elif ! cpu_is_online $cpu; then echo $FUNCNAME $cpu: unexpected offline >&2 - exit 1 + retval=1 fi } -error=-12 +online_all_hot_pluggable_cpus() +{ + for cpu in `hotplaggable_offline_cpus`; do + online_cpu_expect_success $cpu + done +} + +offline_all_hot_pluggable_cpus() +{ + local reserve_cpu=$online_max + for cpu in `hotpluggable_online_cpus`; do + # Reserve one cpu oneline at least. + if [ $cpu -eq $reserve_cpu ];then + continue + fi + offline_cpu_expect_success $cpu + done +} + allcpus=0 -priority=0 online_cpus=0 online_max=0 offline_cpus=0 @@ -158,31 +176,20 @@ present_cpus=0 present_max=0 -while getopts e:ahp: opt; do +while getopts ah opt; do case $opt in - e) - error=$OPTARG - ;; a) allcpus=1 ;; h) - echo "Usage $0 [ -a ] [ -e errno ] [ -p notifier-priority ]" + echo "Usage $0 [ -a ]" echo -e "\t default offline one cpu" echo -e "\t run with -a option to offline all cpus" exit ;; - p) - priority=$OPTARG - ;; esac done -if ! [ "$error" -ge -4095 -a "$error" -lt 0 ]; then - echo "error code must be -4095 <= errno < 0" >&2 - exit 1 -fi - prerequisite # @@ -201,7 +208,7 @@ offline_cpu_expect_success $present_max online_cpu $present_max fi - exit 0 + exit $retval else echo "Full scope test: all hotplug cpus" echo -e "\t online all offline cpus" @@ -209,85 +216,10 @@ echo -e "\t online all offline cpus" fi -# -# Online all hot-pluggable CPUs -# -for cpu in `hotplaggable_offline_cpus`; do - online_cpu_expect_success $cpu -done - -# -# Offline all hot-pluggable CPUs -# -for cpu in `hotpluggable_online_cpus`; do - offline_cpu_expect_success $cpu -done - -# -# Online all hot-pluggable CPUs again -# -for cpu in `hotplaggable_offline_cpus`; do - online_cpu_expect_success $cpu -done - -# -# Test with cpu notifier error injection -# +online_all_hot_pluggable_cpus -DEBUGFS=`mount -t debugfs | head -1 | awk '{ print $3 }'` -NOTIFIER_ERR_INJECT_DIR=$DEBUGFS/notifier-error-inject/cpu +offline_all_hot_pluggable_cpus -prerequisite_extra() -{ - msg="skip extra tests:" - - /sbin/modprobe -q -r cpu-notifier-error-inject - /sbin/modprobe -q cpu-notifier-error-inject priority=$priority - - if [ ! -d "$DEBUGFS" ]; then - echo $msg debugfs is not mounted >&2 - exit $ksft_skip - fi - - if [ ! -d $NOTIFIER_ERR_INJECT_DIR ]; then - echo $msg cpu-notifier-error-inject module is not available >&2 - exit $ksft_skip - fi -} - -prerequisite_extra - -# -# Offline all hot-pluggable CPUs -# -echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/CPU_DOWN_PREPARE/error -for cpu in `hotpluggable_online_cpus`; do - offline_cpu_expect_success $cpu -done - -# -# Test CPU hot-add error handling (offline => online) -# -echo $error > $NOTIFIER_ERR_INJECT_DIR/actions/CPU_UP_PREPARE/error -for cpu in `hotplaggable_offline_cpus`; do - online_cpu_expect_fail $cpu -done - -# -# Online all hot-pluggable CPUs -# -echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/CPU_UP_PREPARE/error -for cpu in `hotplaggable_offline_cpus`; do - online_cpu_expect_success $cpu -done - -# -# Test CPU hot-remove error handling (online => offline) -# -echo $error > $NOTIFIER_ERR_INJECT_DIR/actions/CPU_DOWN_PREPARE/error -for cpu in `hotpluggable_online_cpus`; do - offline_cpu_expect_fail $cpu -done +online_all_hot_pluggable_cpus -echo 0 > $NOTIFIER_ERR_INJECT_DIR/actions/CPU_DOWN_PREPARE/error -/sbin/modprobe -q -r cpu-notifier-error-inject +exit $retval --- linux-gcp-5.19.0.orig/tools/testing/selftests/drivers/net/netdevsim/devlink.sh +++ linux-gcp-5.19.0/tools/testing/selftests/drivers/net/netdevsim/devlink.sh @@ -17,6 +17,18 @@ DEBUGFS_DIR=/sys/kernel/debug/netdevsim/$DEV_NAME/ DL_HANDLE=netdevsim/$DEV_NAME +wait_for_devlink() +{ + "$@" | grep -q $DL_HANDLE +} + +devlink_wait() +{ + local timeout=$1 + + busywait "$timeout" wait_for_devlink devlink dev +} + fw_flash_test() { RET=0 @@ -256,6 +268,9 @@ ip netns del testns2 ip netns del testns1 + # Wait until netns async cleanup is done. + devlink_wait 2000 + log_test "netns reload test" } @@ -348,6 +363,9 @@ ip netns del testns2 ip netns del testns1 + # Wait until netns async cleanup is done. + devlink_wait 2000 + log_test "resource test" } @@ -496,8 +514,8 @@ check_reporter_info dummy healthy 3 3 10 true - echo 8192> $DEBUGFS_DIR/health/binary_len - check_fail $? "Failed set dummy reporter binary len to 8192" + echo 8192 > $DEBUGFS_DIR/health/binary_len + check_err $? "Failed set dummy reporter binary len to 8192" local dump=$(devlink health dump show $DL_HANDLE reporter dummy -j) check_err $? "Failed show dump of dummy reporter" --- linux-gcp-5.19.0.orig/tools/testing/selftests/efivarfs/efivarfs.sh +++ linux-gcp-5.19.0/tools/testing/selftests/efivarfs/efivarfs.sh @@ -87,6 +87,11 @@ { local file=$efivarfs_mount/$FUNCNAME-$test_guid ./create-read $file + if [ $? -ne 0 ]; then + echo "create and read $file failed" + file_cleanup $file + exit 1 + fi file_cleanup $file } --- linux-gcp-5.19.0.orig/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc +++ linux-gcp-5.19.0/tools/testing/selftests/ftrace/test.d/ftrace/func_event_triggers.tc @@ -38,11 +38,18 @@ test_event_enabled() { val=$1 + check_times=10 # wait for 10 * SLEEP_TIME at most - e=`cat $EVENT_ENABLE` - if [ "$e" != $val ]; then - fail "Expected $val but found $e" - fi + while [ $check_times -ne 0 ]; do + e=`cat $EVENT_ENABLE` + if [ "$e" = $val ]; then + return 0 + fi + sleep $SLEEP_TIME + check_times=$((check_times - 1)) + done + + fail "Expected $val but found $e" } run_enable_disable() { --- linux-gcp-5.19.0.orig/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc +++ linux-gcp-5.19.0/tools/testing/selftests/ftrace/test.d/kprobe/kprobe_syntax_errors.tc @@ -21,7 +21,6 @@ check_error 'p:^12345678901234567890123456789012345678901234567890123456789012345/bar vfs_read' # GROUP_TOO_LONG check_error 'p:^foo.1/bar vfs_read' # BAD_GROUP_NAME -check_error 'p:foo/^ vfs_read' # NO_EVENT_NAME check_error 'p:foo/^12345678901234567890123456789012345678901234567890123456789012345 vfs_read' # EVENT_TOO_LONG check_error 'p:foo/^bar.1 vfs_read' # BAD_EVENT_NAME --- linux-gcp-5.19.0.orig/tools/testing/selftests/ftrace/test.d/trigger/trigger-trace-marker-snapshot.tc +++ linux-gcp-5.19.0/tools/testing/selftests/ftrace/test.d/trigger/trigger-trace-marker-snapshot.tc @@ -14,12 +14,12 @@ x=$2 cat $file | while read line; do - comment=`echo $line | sed -e 's/^#//'` + comment=`echo "$line" | sed -e 's/^#//'` if [ "$line" != "$comment" ]; then continue fi echo "testing $line for >$x<" - match=`echo $line | sed -e "s/>$x$x$x< in it" fi --- linux-gcp-5.19.0.orig/tools/testing/selftests/futex/functional/Makefile +++ linux-gcp-5.19.0/tools/testing/selftests/futex/functional/Makefile @@ -3,11 +3,11 @@ CFLAGS := $(CFLAGS) -g -O2 -Wall -D_GNU_SOURCE -pthread $(INCLUDES) $(KHDR_INCLUDES) LDLIBS := -lpthread -lrt -HEADERS := \ +LOCAL_HDRS := \ ../include/futextest.h \ ../include/atomic.h \ ../include/logging.h -TEST_GEN_FILES := \ +TEST_GEN_PROGS := \ futex_wait_timeout \ futex_wait_wouldblock \ futex_requeue_pi \ @@ -25,5 +25,3 @@ KSFT_KHDR_INSTALL := 1 DEFAULT_INSTALL_HDR_PATH := 1 include ../../lib.mk - -$(TEST_GEN_FILES): $(HEADERS) --- linux-gcp-5.19.0.orig/tools/testing/selftests/intel_pstate/Makefile +++ linux-gcp-5.19.0/tools/testing/selftests/intel_pstate/Makefile @@ -2,10 +2,10 @@ CFLAGS := $(CFLAGS) -Wall -D_GNU_SOURCE LDLIBS += -lm -uname_M := $(shell uname -m 2>/dev/null || echo not) -ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/x86/ -e s/x86_64/x86/) +ARCH ?= $(shell uname -m 2>/dev/null || echo not) +ARCH_PROCESSED := $(shell echo $(ARCH) | sed -e s/i.86/x86/ -e s/x86_64/x86/) -ifeq (x86,$(ARCH)) +ifeq (x86,$(ARCH_PROCESSED)) TEST_GEN_FILES := msr aperf endif --- linux-gcp-5.19.0.orig/tools/testing/selftests/kexec/Makefile +++ linux-gcp-5.19.0/tools/testing/selftests/kexec/Makefile @@ -1,10 +1,10 @@ # SPDX-License-Identifier: GPL-2.0-only # Makefile for kexec tests -uname_M := $(shell uname -m 2>/dev/null || echo not) -ARCH ?= $(shell echo $(uname_M) | sed -e s/i.86/x86/ -e s/x86_64/x86/) +ARCH ?= $(shell uname -m 2>/dev/null || echo not) +ARCH_PROCESSED := $(shell echo $(ARCH) | sed -e s/i.86/x86/ -e s/x86_64/x86/) -ifeq ($(ARCH),$(filter $(ARCH),x86 ppc64le)) +ifeq ($(ARCH_PROCESSED),$(filter $(ARCH_PROCESSED),x86 ppc64le)) TEST_PROGS := test_kexec_load.sh test_kexec_file_load.sh TEST_FILES := kexec_common_lib.sh --- linux-gcp-5.19.0.orig/tools/testing/selftests/kselftest/runner.sh +++ linux-gcp-5.19.0/tools/testing/selftests/kselftest/runner.sh @@ -34,7 +34,7 @@ tap_timeout() { # Make sure tests will time out if utility is available. - if [ -x /usr/bin/timeout ] ; then + if [ -x /usr/bin/timeout ] && [ $kselftest_timeout -gt 0 ] ; then /usr/bin/timeout --foreground "$kselftest_timeout" $1 else $1 --- linux-gcp-5.19.0.orig/tools/testing/selftests/kvm/lib/s390x/diag318_test_handler.c +++ linux-gcp-5.19.0/tools/testing/selftests/kvm/lib/s390x/diag318_test_handler.c @@ -8,8 +8,6 @@ #include "test_util.h" #include "kvm_util.h" -#define VCPU_ID 6 - #define ICPT_INSTRUCTION 0x04 #define IPA0_DIAG 0x8300 @@ -27,14 +25,15 @@ */ static uint64_t diag318_handler(void) { + struct kvm_vcpu *vcpu; struct kvm_vm *vm; struct kvm_run *run; uint64_t reg; uint64_t diag318_info; - vm = vm_create_default(VCPU_ID, 0, guest_code); - vcpu_run(vm, VCPU_ID); - run = vcpu_state(vm, VCPU_ID); + vm = vm_create_with_one_vcpu(&vcpu, guest_code); + vcpu_run(vm, vcpu->id); + run = vcpu->run; TEST_ASSERT(run->exit_reason == KVM_EXIT_S390_SIEIC, "DIAGNOSE 0x0318 instruction was not intercepted"); --- linux-gcp-5.19.0.orig/tools/testing/selftests/kvm/lib/x86_64/processor.c +++ linux-gcp-5.19.0/tools/testing/selftests/kvm/lib/x86_64/processor.c @@ -1422,7 +1422,7 @@ asm volatile("vmcall" : "=a"(r) - : "b"(a0), "c"(a1), "d"(a2), "S"(a3)); + : "a"(nr), "b"(a0), "c"(a1), "d"(a2), "S"(a3)); return r; } --- linux-gcp-5.19.0.orig/tools/testing/selftests/kvm/max_guest_memory_test.c +++ linux-gcp-5.19.0/tools/testing/selftests/kvm/max_guest_memory_test.c @@ -28,8 +28,7 @@ } struct vcpu_info { - struct kvm_vm *vm; - uint32_t id; + struct kvm_vcpu *vcpu; uint64_t start_gpa; uint64_t end_gpa; }; @@ -60,12 +59,13 @@ static void *vcpu_worker(void *data) { - struct vcpu_info *vcpu = data; + struct vcpu_info *info = data; + struct kvm_vcpu *vcpu = info->vcpu; struct kvm_vm *vm = vcpu->vm; struct kvm_sregs sregs; struct kvm_regs regs; - vcpu_args_set(vm, vcpu->id, 3, vcpu->start_gpa, vcpu->end_gpa, + vcpu_args_set(vm, vcpu->id, 3, info->start_gpa, info->end_gpa, vm_get_page_size(vm)); /* Snapshot regs before the first run. */ @@ -89,8 +89,8 @@ return NULL; } -static pthread_t *spawn_workers(struct kvm_vm *vm, uint64_t start_gpa, - uint64_t end_gpa) +static pthread_t *spawn_workers(struct kvm_vm *vm, struct kvm_vcpu **vcpus, + uint64_t start_gpa, uint64_t end_gpa) { struct vcpu_info *info; uint64_t gpa, nr_bytes; @@ -108,8 +108,7 @@ TEST_ASSERT(nr_bytes, "C'mon, no way you have %d CPUs", nr_vcpus); for (i = 0, gpa = start_gpa; i < nr_vcpus; i++, gpa += nr_bytes) { - info[i].vm = vm; - info[i].id = i; + info[i].vcpu = vcpus[i]; info[i].start_gpa = gpa; info[i].end_gpa = gpa + nr_bytes; pthread_create(&threads[i], NULL, vcpu_worker, &info[i]); @@ -172,6 +171,7 @@ uint64_t max_gpa, gpa, slot_size, max_mem, i; int max_slots, slot, opt, fd; bool hugepages = false; + struct kvm_vcpu **vcpus; pthread_t *threads; struct kvm_vm *vm; void *mem; @@ -215,7 +215,10 @@ } } - vm = vm_create_default_with_vcpus(nr_vcpus, 0, 0, guest_code, NULL); + vcpus = malloc(nr_vcpus * sizeof(*vcpus)); + TEST_ASSERT(vcpus, "Failed to allocate vCPU array"); + + vm = vm_create_with_vcpus(nr_vcpus, guest_code, vcpus); max_gpa = vm_get_max_gfn(vm) << vm_get_page_shift(vm); TEST_ASSERT(max_gpa > (4 * slot_size), "MAXPHYADDR <4gb "); @@ -252,7 +255,10 @@ } atomic_set(&rendezvous, nr_vcpus + 1); - threads = spawn_workers(vm, start_gpa, gpa); + threads = spawn_workers(vm, vcpus, start_gpa, gpa); + + free(vcpus); + vcpus = NULL; pr_info("Running with %lugb of guest memory and %u vCPUs\n", (gpa - start_gpa) / size_1gb, nr_vcpus); --- linux-gcp-5.19.0.orig/tools/testing/selftests/kvm/memslot_modification_stress_test.c +++ linux-gcp-5.19.0/tools/testing/selftests/kvm/memslot_modification_stress_test.c @@ -68,7 +68,7 @@ static void add_remove_memslot(struct kvm_vm *vm, useconds_t delay, uint64_t nr_modifications) { - const uint64_t pages = 1; + uint64_t pages = max_t(int, vm_get_page_size(vm), getpagesize()) / vm_get_page_size(vm); uint64_t gpa; int i; --- linux-gcp-5.19.0.orig/tools/testing/selftests/kvm/rseq_test.c +++ linux-gcp-5.19.0/tools/testing/selftests/kvm/rseq_test.c @@ -233,7 +233,7 @@ ucall_init(vm, NULL); pthread_create(&migration_thread, NULL, migration_worker, - (void *)(unsigned long)gettid()); + (void *)(unsigned long)syscall(SYS_gettid)); for (i = 0; !done; i++) { vcpu_run(vm, VCPU_ID); --- linux-gcp-5.19.0.orig/tools/testing/selftests/landlock/fs_test.c +++ linux-gcp-5.19.0/tools/testing/selftests/landlock/fs_test.c @@ -4,13 +4,14 @@ * * Copyright © 2017-2020 Mickaël Salaün * Copyright © 2020 ANSSI - * Copyright © 2020-2021 Microsoft Corporation + * Copyright © 2020-2022 Microsoft Corporation */ #define _GNU_SOURCE #include #include #include +#include #include #include #include @@ -87,6 +88,40 @@ * └── s3d3 */ +static bool fgrep(FILE *const inf, const char *const str) +{ + char line[32]; + const int slen = strlen(str); + + while (!feof(inf)) { + if (!fgets(line, sizeof(line), inf)) + break; + if (strncmp(line, str, slen)) + continue; + + return true; + } + + return false; +} + +static bool supports_overlayfs(void) +{ + bool res; + FILE *const inf = fopen("/proc/filesystems", "r"); + + /* + * Consider that the filesystem is supported if we cannot get the + * supported ones. + */ + if (!inf) + return true; + + res = fgrep(inf, "nodev\toverlay\n"); + fclose(inf); + return res; +} + static void mkdir_parents(struct __test_metadata *const _metadata, const char *const path) { @@ -371,6 +406,13 @@ ASSERT_EQ(EINVAL, errno); path_beneath.allowed_access &= ~LANDLOCK_ACCESS_FS_EXECUTE; + /* Tests with denied-by-default access right. */ + path_beneath.allowed_access |= LANDLOCK_ACCESS_FS_REFER; + ASSERT_EQ(-1, landlock_add_rule(ruleset_fd, LANDLOCK_RULE_PATH_BENEATH, + &path_beneath, 0)); + ASSERT_EQ(EINVAL, errno); + path_beneath.allowed_access &= ~LANDLOCK_ACCESS_FS_REFER; + /* Test with unknown (64-bits) value. */ path_beneath.allowed_access |= (1ULL << 60); ASSERT_EQ(-1, landlock_add_rule(ruleset_fd, LANDLOCK_RULE_PATH_BENEATH, @@ -1826,6 +1868,20 @@ ASSERT_EQ(0, link(file1_s1d3, file2_s1d3)); } +static int test_rename(const char *const oldpath, const char *const newpath) +{ + if (rename(oldpath, newpath)) + return errno; + return 0; +} + +static int test_exchange(const char *const oldpath, const char *const newpath) +{ + if (renameat2(AT_FDCWD, oldpath, AT_FDCWD, newpath, RENAME_EXCHANGE)) + return errno; + return 0; +} + TEST_F_FORK(layout1, rename_file) { const struct rule rules[] = { @@ -1867,10 +1923,10 @@ * to a different directory (which allows file removal). */ ASSERT_EQ(-1, rename(file1_s2d1, file1_s1d3)); - ASSERT_EQ(EXDEV, errno); + ASSERT_EQ(EACCES, errno); ASSERT_EQ(-1, renameat2(AT_FDCWD, file1_s2d1, AT_FDCWD, file1_s1d3, RENAME_EXCHANGE)); - ASSERT_EQ(EXDEV, errno); + ASSERT_EQ(EACCES, errno); ASSERT_EQ(-1, renameat2(AT_FDCWD, dir_s2d2, AT_FDCWD, file1_s1d3, RENAME_EXCHANGE)); ASSERT_EQ(EXDEV, errno); @@ -1894,7 +1950,7 @@ ASSERT_EQ(EXDEV, errno); ASSERT_EQ(0, unlink(file1_s1d3)); ASSERT_EQ(-1, rename(file1_s2d1, file1_s1d3)); - ASSERT_EQ(EXDEV, errno); + ASSERT_EQ(EACCES, errno); /* Exchanges and renames files with same parent. */ ASSERT_EQ(0, renameat2(AT_FDCWD, file2_s2d3, AT_FDCWD, file1_s2d3, @@ -2014,6 +2070,115 @@ ASSERT_EQ(0, rename(dir_s1d3, dir_s2d3)); } +/* Checks renames beneath dir_s1d1. */ +static void refer_denied_by_default(struct __test_metadata *const _metadata, + const struct rule layer1[], + const int layer1_err, + const struct rule layer2[]) +{ + int ruleset_fd; + + ASSERT_EQ(0, unlink(file1_s1d2)); + + ruleset_fd = create_ruleset(_metadata, layer1[0].access, layer1); + ASSERT_LE(0, ruleset_fd); + enforce_ruleset(_metadata, ruleset_fd); + ASSERT_EQ(0, close(ruleset_fd)); + + /* + * If the first layer handles LANDLOCK_ACCESS_FS_REFER (according to + * layer1_err), then it allows some different-parent renames and links. + */ + ASSERT_EQ(layer1_err, test_rename(file1_s1d1, file1_s1d2)); + if (layer1_err == 0) + ASSERT_EQ(layer1_err, test_rename(file1_s1d2, file1_s1d1)); + ASSERT_EQ(layer1_err, test_exchange(file2_s1d1, file2_s1d2)); + ASSERT_EQ(layer1_err, test_exchange(file2_s1d2, file2_s1d1)); + + ruleset_fd = create_ruleset(_metadata, layer2[0].access, layer2); + ASSERT_LE(0, ruleset_fd); + enforce_ruleset(_metadata, ruleset_fd); + ASSERT_EQ(0, close(ruleset_fd)); + + /* + * Now, either the first or the second layer does not handle + * LANDLOCK_ACCESS_FS_REFER, which means that any different-parent + * renames and links are denied, thus making the layer handling + * LANDLOCK_ACCESS_FS_REFER null and void. + */ + ASSERT_EQ(EXDEV, test_rename(file1_s1d1, file1_s1d2)); + ASSERT_EQ(EXDEV, test_exchange(file2_s1d1, file2_s1d2)); + ASSERT_EQ(EXDEV, test_exchange(file2_s1d2, file2_s1d1)); +} + +const struct rule layer_dir_s1d1_refer[] = { + { + .path = dir_s1d1, + .access = LANDLOCK_ACCESS_FS_REFER, + }, + {}, +}; + +const struct rule layer_dir_s1d1_execute[] = { + { + /* Matches a parent directory. */ + .path = dir_s1d1, + .access = LANDLOCK_ACCESS_FS_EXECUTE, + }, + {}, +}; + +const struct rule layer_dir_s2d1_execute[] = { + { + /* Does not match a parent directory. */ + .path = dir_s2d1, + .access = LANDLOCK_ACCESS_FS_EXECUTE, + }, + {}, +}; + +/* + * Tests precedence over renames: denied by default for different parent + * directories, *with* a rule matching a parent directory, but not directly + * denying access (with MAKE_REG nor REMOVE). + */ +TEST_F_FORK(layout1, refer_denied_by_default1) +{ + refer_denied_by_default(_metadata, layer_dir_s1d1_refer, 0, + layer_dir_s1d1_execute); +} + +/* + * Same test but this time turning around the ABI version order: the first + * layer does not handle LANDLOCK_ACCESS_FS_REFER. + */ +TEST_F_FORK(layout1, refer_denied_by_default2) +{ + refer_denied_by_default(_metadata, layer_dir_s1d1_execute, EXDEV, + layer_dir_s1d1_refer); +} + +/* + * Tests precedence over renames: denied by default for different parent + * directories, *without* a rule matching a parent directory, but not directly + * denying access (with MAKE_REG nor REMOVE). + */ +TEST_F_FORK(layout1, refer_denied_by_default3) +{ + refer_denied_by_default(_metadata, layer_dir_s1d1_refer, 0, + layer_dir_s2d1_execute); +} + +/* + * Same test but this time turning around the ABI version order: the first + * layer does not handle LANDLOCK_ACCESS_FS_REFER. + */ +TEST_F_FORK(layout1, refer_denied_by_default4) +{ + refer_denied_by_default(_metadata, layer_dir_s2d1_execute, EXDEV, + layer_dir_s1d1_refer); +} + TEST_F_FORK(layout1, reparent_link) { const struct rule layer1[] = { @@ -2336,11 +2501,12 @@ ASSERT_EQ(EXDEV, errno); /* - * However, moving the file2_s1d3 file below dir_s2d3 is allowed - * because it cannot inherit MAKE_REG nor MAKE_DIR rights (which are - * dedicated to directories). + * Moving the file2_s1d3 file below dir_s2d3 is denied because the + * second layer does not handle REFER, which is always denied by + * default. */ - ASSERT_EQ(0, rename(file2_s1d3, file1_s2d3)); + ASSERT_EQ(-1, rename(file2_s1d3, file1_s2d3)); + ASSERT_EQ(EXDEV, errno); } TEST_F_FORK(layout1, reparent_exdev_layers_rename2) @@ -2373,8 +2539,12 @@ ASSERT_EQ(EACCES, errno); ASSERT_EQ(-1, rename(file1_s1d1, file1_s2d3)); ASSERT_EQ(EXDEV, errno); - /* Modify layout! */ - ASSERT_EQ(0, rename(file2_s1d2, file1_s2d3)); + /* + * Modifying the layout is now denied because the second layer does not + * handle REFER, which is always denied by default. + */ + ASSERT_EQ(-1, rename(file2_s1d2, file1_s2d3)); + ASSERT_EQ(EXDEV, errno); /* Without REFER source, EACCES wins over EXDEV. */ ASSERT_EQ(-1, rename(dir_s1d1, file1_s2d2)); @@ -3404,6 +3574,9 @@ FIXTURE_SETUP(layout2_overlay) { + if (!supports_overlayfs()) + SKIP(return, "overlayfs is not supported"); + prepare_layout(_metadata); create_directory(_metadata, LOWER_BASE); @@ -3440,6 +3613,9 @@ FIXTURE_TEARDOWN(layout2_overlay) { + if (!supports_overlayfs()) + SKIP(return, "overlayfs is not supported"); + EXPECT_EQ(0, remove_path(lower_do1_fl3)); EXPECT_EQ(0, remove_path(lower_dl1_fl2)); EXPECT_EQ(0, remove_path(lower_fl1)); @@ -3471,6 +3647,9 @@ TEST_F_FORK(layout2_overlay, no_restriction) { + if (!supports_overlayfs()) + SKIP(return, "overlayfs is not supported"); + ASSERT_EQ(0, test_open(lower_fl1, O_RDONLY)); ASSERT_EQ(0, test_open(lower_dl1, O_RDONLY)); ASSERT_EQ(0, test_open(lower_dl1_fl2, O_RDONLY)); @@ -3634,6 +3813,9 @@ size_t i; const char *path_entry; + if (!supports_overlayfs()) + SKIP(return, "overlayfs is not supported"); + /* Sets rules on base directories (i.e. outside overlay scope). */ ruleset_fd = create_ruleset(_metadata, ACCESS_RW, layer1_base); ASSERT_LE(0, ruleset_fd); --- linux-gcp-5.19.0.orig/tools/testing/selftests/landlock/ptrace_test.c +++ linux-gcp-5.19.0/tools/testing/selftests/landlock/ptrace_test.c @@ -19,6 +19,12 @@ #include "common.h" +/* Copied from security/yama/yama_lsm.c */ +#define YAMA_SCOPE_DISABLED 0 +#define YAMA_SCOPE_RELATIONAL 1 +#define YAMA_SCOPE_CAPABILITY 2 +#define YAMA_SCOPE_NO_ATTACH 3 + static void create_domain(struct __test_metadata *const _metadata) { int ruleset_fd; @@ -60,6 +66,25 @@ return 0; } +static int get_yama_ptrace_scope(void) +{ + int ret; + char buf[2] = {}; + const int fd = open("/proc/sys/kernel/yama/ptrace_scope", O_RDONLY); + + if (fd < 0) + return 0; + + if (read(fd, buf, 1) < 0) { + close(fd); + return -1; + } + + ret = atoi(buf); + close(fd); + return ret; +} + /* clang-format off */ FIXTURE(hierarchy) {}; /* clang-format on */ @@ -232,8 +257,51 @@ pid_t child, parent; int status, err_proc_read; int pipe_child[2], pipe_parent[2]; + int yama_ptrace_scope; char buf_parent; long ret; + bool can_read_child, can_trace_child, can_read_parent, can_trace_parent; + + yama_ptrace_scope = get_yama_ptrace_scope(); + ASSERT_LE(0, yama_ptrace_scope); + + if (yama_ptrace_scope > YAMA_SCOPE_DISABLED) + TH_LOG("Incomplete tests due to Yama restrictions (scope %d)", + yama_ptrace_scope); + + /* + * can_read_child is true if a parent process can read its child + * process, which is only the case when the parent process is not + * isolated from the child with a dedicated Landlock domain. + */ + can_read_child = !variant->domain_parent; + + /* + * can_trace_child is true if a parent process can trace its child + * process. This depends on two conditions: + * - The parent process is not isolated from the child with a dedicated + * Landlock domain. + * - Yama allows tracing children (up to YAMA_SCOPE_RELATIONAL). + */ + can_trace_child = can_read_child && + yama_ptrace_scope <= YAMA_SCOPE_RELATIONAL; + + /* + * can_read_parent is true if a child process can read its parent + * process, which is only the case when the child process is not + * isolated from the parent with a dedicated Landlock domain. + */ + can_read_parent = !variant->domain_child; + + /* + * can_trace_parent is true if a child process can trace its parent + * process. This depends on two conditions: + * - The child process is not isolated from the parent with a dedicated + * Landlock domain. + * - Yama is disabled (YAMA_SCOPE_DISABLED). + */ + can_trace_parent = can_read_parent && + yama_ptrace_scope <= YAMA_SCOPE_DISABLED; /* * Removes all effective and permitted capabilities to not interfere @@ -264,16 +332,21 @@ /* Waits for the parent to be in a domain, if any. */ ASSERT_EQ(1, read(pipe_parent[0], &buf_child, 1)); - /* Tests PTRACE_ATTACH and PTRACE_MODE_READ on the parent. */ + /* Tests PTRACE_MODE_READ on the parent. */ err_proc_read = test_ptrace_read(parent); + if (can_read_parent) { + EXPECT_EQ(0, err_proc_read); + } else { + EXPECT_EQ(EACCES, err_proc_read); + } + + /* Tests PTRACE_ATTACH on the parent. */ ret = ptrace(PTRACE_ATTACH, parent, NULL, 0); - if (variant->domain_child) { + if (can_trace_parent) { + EXPECT_EQ(0, ret); + } else { EXPECT_EQ(-1, ret); EXPECT_EQ(EPERM, errno); - EXPECT_EQ(EACCES, err_proc_read); - } else { - EXPECT_EQ(0, ret); - EXPECT_EQ(0, err_proc_read); } if (ret == 0) { ASSERT_EQ(parent, waitpid(parent, &status, 0)); @@ -283,11 +356,11 @@ /* Tests child PTRACE_TRACEME. */ ret = ptrace(PTRACE_TRACEME); - if (variant->domain_parent) { + if (can_trace_child) { + EXPECT_EQ(0, ret); + } else { EXPECT_EQ(-1, ret); EXPECT_EQ(EPERM, errno); - } else { - EXPECT_EQ(0, ret); } /* @@ -296,7 +369,7 @@ */ ASSERT_EQ(1, write(pipe_child[1], ".", 1)); - if (!variant->domain_parent) { + if (can_trace_child) { ASSERT_EQ(0, raise(SIGSTOP)); } @@ -321,7 +394,7 @@ ASSERT_EQ(1, read(pipe_child[0], &buf_parent, 1)); /* Tests child PTRACE_TRACEME. */ - if (!variant->domain_parent) { + if (can_trace_child) { ASSERT_EQ(child, waitpid(child, &status, 0)); ASSERT_EQ(1, WIFSTOPPED(status)); ASSERT_EQ(0, ptrace(PTRACE_DETACH, child, NULL, 0)); @@ -331,17 +404,23 @@ EXPECT_EQ(ESRCH, errno); } - /* Tests PTRACE_ATTACH and PTRACE_MODE_READ on the child. */ + /* Tests PTRACE_MODE_READ on the child. */ err_proc_read = test_ptrace_read(child); + if (can_read_child) { + EXPECT_EQ(0, err_proc_read); + } else { + EXPECT_EQ(EACCES, err_proc_read); + } + + /* Tests PTRACE_ATTACH on the child. */ ret = ptrace(PTRACE_ATTACH, child, NULL, 0); - if (variant->domain_parent) { + if (can_trace_child) { + EXPECT_EQ(0, ret); + } else { EXPECT_EQ(-1, ret); EXPECT_EQ(EPERM, errno); - EXPECT_EQ(EACCES, err_proc_read); - } else { - EXPECT_EQ(0, ret); - EXPECT_EQ(0, err_proc_read); } + if (ret == 0) { ASSERT_EQ(child, waitpid(child, &status, 0)); ASSERT_EQ(1, WIFSTOPPED(status)); --- linux-gcp-5.19.0.orig/tools/testing/selftests/lib.mk +++ linux-gcp-5.19.0/tools/testing/selftests/lib.mk @@ -156,6 +156,11 @@ clean: $(CLEAN) +# Enables to extend CFLAGS and LDFLAGS from command line, e.g. +# make USERCFLAGS=-Werror USERLDFLAGS=-static +CFLAGS += $(USERCFLAGS) +LDFLAGS += $(USERLDFLAGS) + # When make O= with kselftest target from main level # the following aren't defined. # --- linux-gcp-5.19.0.orig/tools/testing/selftests/memory-hotplug/settings +++ linux-gcp-5.19.0/tools/testing/selftests/memory-hotplug/settings @@ -0,0 +1 @@ +timeout=600 --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/Makefile +++ linux-gcp-5.19.0/tools/testing/selftests/net/Makefile @@ -59,14 +59,60 @@ TEST_GEN_FILES += cmsg_sender TEST_GEN_FILES += stress_reuseport_listen TEST_PROGS += test_vxlan_vnifiltering.sh +TEST_GEN_FILES += nat6to4.o TEST_FILES := settings KSFT_KHDR_INSTALL := 1 include ../lib.mk -include bpf/Makefile - $(OUTPUT)/reuseport_bpf_numa: LDLIBS += -lnuma $(OUTPUT)/tcp_mmap: LDLIBS += -lpthread $(OUTPUT)/tcp_inq: LDLIBS += -lpthread + +# Rules to generate bpf obj nat6to4.o +CLANG ?= clang +SCRATCH_DIR := $(OUTPUT)/tools +BUILD_DIR := $(SCRATCH_DIR)/build +BPFDIR := $(abspath ../../../lib/bpf) +APIDIR := $(abspath ../../../include/uapi) + +CCINCLUDE += -I../bpf +CCINCLUDE += -I../../../../usr/include/ +CCINCLUDE += -I$(SCRATCH_DIR)/include + +BPFOBJ := $(BUILD_DIR)/libbpf/libbpf.a + +MAKE_DIRS := $(BUILD_DIR)/libbpf +$(MAKE_DIRS): + mkdir -p $@ + +# Get Clang's default includes on this system, as opposed to those seen by +# '-target bpf'. This fixes "missing" files on some architectures/distros, +# such as asm/byteorder.h, asm/socket.h, asm/sockios.h, sys/cdefs.h etc. +# +# Use '-idirafter': Don't interfere with include mechanics except where the +# build would have failed anyways. +define get_sys_includes +$(shell $(1) $(2) -v -E - &1 \ + | sed -n '/<...> search starts here:/,/End of search list./{ s| \(/.*\)|-idirafter \1|p }') \ +$(shell $(1) $(2) -dM -E - /dev/null 2>&1 - sysctl -w net.ipv4.conf.all.ndisc_evict_nocarrier=1 >/dev/null 2>&1 + sysctl -w net.ipv6.conf.veth1.ndisc_evict_nocarrier=1 >/dev/null 2>&1 + sysctl -w net.ipv6.conf.all.ndisc_evict_nocarrier=1 >/dev/null 2>&1 } create_ns() @@ -61,7 +62,7 @@ if [ $? -ne 0 ]; then cleanup_v6 echo "failed" - exit + exit 1 fi # Set veth2 down, which will put veth1 in NOCARRIER state @@ -88,7 +89,7 @@ if [ $? -ne 0 ]; then cleanup_v4 echo "failed" - exit + exit 1 fi # Set veth1 down, which will put veth0 in NOCARRIER state @@ -115,6 +116,7 @@ if [ $? -eq 0 ];then echo "failed" + ret=1 else echo "ok" fi @@ -134,6 +136,7 @@ echo "ok" else echo "failed" + ret=1 fi cleanup_v4 @@ -164,6 +167,7 @@ if [ $? -eq 0 ];then echo "failed" + ret=1 else echo "ok" fi @@ -182,6 +186,7 @@ echo "ok" else echo "failed" + ret=1 fi cleanup_v6 @@ -198,6 +203,7 @@ echo "ok" else echo "failed" + ret=1 fi cleanup_v6 @@ -218,3 +224,4 @@ fi run_all_tests +exit $ret --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/cmsg_ipv6.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/cmsg_ipv6.sh @@ -6,7 +6,7 @@ NS=ns IP6=2001:db8:1::1/64 TGT6=2001:db8:1::2 -TMPF=`mktemp` +TMPF=$(mktemp --suffix ".pcap") cleanup() { --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/cmsg_sender.c +++ linux-gcp-5.19.0/tools/testing/selftests/net/cmsg_sender.c @@ -110,7 +110,7 @@ static void cs_parse_args(int argc, char *argv[]) { - char o; + int o; while ((o = getopt(argc, argv, "46sS:p:m:M:d:tf:F:c:C:l:L:H:")) != -1) { switch (o) { --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/config +++ linux-gcp-5.19.0/tools/testing/selftests/net/config @@ -43,5 +43,5 @@ CONFIG_NET_ACT_MIRRED=m CONFIG_BAREUDP=m CONFIG_IPV6_IOAM6_LWTUNNEL=y -CONFIG_CRYPTO_SM4=y +CONFIG_CRYPTO_SM4_GENERIC=y CONFIG_AMT=m --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/devlink_port_split.py +++ linux-gcp-5.19.0/tools/testing/selftests/net/devlink_port_split.py @@ -59,6 +59,8 @@ assert stderr == "" ports = json.loads(stdout)['port'] + validate_devlink_output(ports, 'flavour') + for port in ports: if dev in port: if ports[port]['flavour'] == 'physical': @@ -220,6 +222,27 @@ unsplit(port.bus_info) +def validate_devlink_output(devlink_data, target_property=None): + """ + Determine if test should be skipped by checking: + 1. devlink_data contains values + 2. The target_property exist in devlink_data + """ + skip_reason = None + if any(devlink_data.values()): + if target_property: + skip_reason = "{} not found in devlink output, test skipped".format(target_property) + for key in devlink_data: + if target_property in devlink_data[key]: + skip_reason = None + else: + skip_reason = 'devlink output is empty, test skipped' + + if skip_reason: + print(skip_reason) + sys.exit(KSFT_SKIP) + + def make_parser(): parser = argparse.ArgumentParser(description='A test for port splitting.') parser.add_argument('--dev', @@ -240,12 +263,9 @@ stdout, stderr = run_command(cmd) assert stderr == "" + validate_devlink_output(json.loads(stdout)) devs = json.loads(stdout)['dev'] - if devs: - dev = list(devs.keys())[0] - else: - print("no devlink device was found, test skipped") - sys.exit(KSFT_SKIP) + dev = list(devs.keys())[0] cmd = "devlink dev show %s" % dev stdout, stderr = run_command(cmd) @@ -255,6 +275,7 @@ ports = devlink_ports(dev) + found_max_lanes = False for port in ports.if_names: max_lanes = get_max_lanes(port.name) @@ -277,6 +298,11 @@ split_splittable_port(port, lane, max_lanes, dev) lane //= 2 + found_max_lanes = True + + if not found_max_lanes: + print(f"Test not started, no port of device {dev} reports max_lanes") + sys.exit(KSFT_SKIP) if __name__ == "__main__": --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/fcnal-test.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/fcnal-test.sh @@ -1467,6 +1467,13 @@ log_test_addr ${a} $? 0 "Client, device bind via IP_UNICAST_IF" log_start + run_cmd_nsb nettest -D -s & + sleep 1 + run_cmd nettest -D -r ${a} -d ${NSA_DEV} -S -0 ${NSA_IP} -U + log_test_addr ${a} $? 0 "Client, device bind via IP_UNICAST_IF, with connect()" + + + log_start show_hint "Should fail 'Connection refused'" run_cmd nettest -D -r ${a} log_test_addr ${a} $? 1 "No server, unbound client" @@ -1525,6 +1532,13 @@ run_cmd nettest -D -d ${NSA_DEV} -S -r ${a} log_test_addr ${a} $? 0 "Global server, device client via IP_UNICAST_IF, local connection" + log_start + run_cmd nettest -s -D & + sleep 1 + run_cmd nettest -D -d ${NSA_DEV} -S -r ${a} -U + log_test_addr ${a} $? 0 "Global server, device client via IP_UNICAST_IF, local connection, with connect()" + + # IPv4 with device bind has really weird behavior - it overrides the # fib lookup, generates an rtable and tries to send the packet. This # causes failures for local traffic at different places @@ -1550,6 +1564,15 @@ sleep 1 run_cmd nettest -D -r ${a} -d ${NSA_DEV} -S log_test_addr ${a} $? 1 "Global server, device client via IP_UNICAST_IF, local connection" + + log_start + show_hint "Should fail since addresses on loopback are out of device scope" + run_cmd nettest -D -s & + sleep 1 + run_cmd nettest -D -r ${a} -d ${NSA_DEV} -S -U + log_test_addr ${a} $? 1 "Global server, device client via IP_UNICAST_IF, local connection, with connect()" + + done a=${NSA_IP} @@ -3157,6 +3180,13 @@ sleep 1 run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -S log_test_addr ${a} $? 1 "Global server, device client via IP_UNICAST_IF, local connection" + + log_start + show_hint "Should fail 'No route to host' since addresses on loopback are out of device scope" + run_cmd nettest -6 -D -s & + sleep 1 + run_cmd nettest -6 -D -r ${a} -d ${NSA_DEV} -S -U + log_test_addr ${a} $? 1 "Global server, device client via IP_UNICAST_IF, local connection, with connect()" done a=${NSA_IP6} @@ -4166,10 +4196,13 @@ TESTS="$TESTS_IPV6" fi -which nettest >/dev/null -if [ $? -ne 0 ]; then - echo "'nettest' command not found; skipping tests" - exit $ksft_skip +# nettest can be run from PATH or from same directory as this selftest +if ! which nettest >/dev/null; then + PATH=$PWD:$PATH + if ! which nettest >/dev/null; then + echo "'nettest' command not found; skipping tests" + exit $ksft_skip + fi fi declare -i nfail=0 --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/fib_nexthops.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/fib_nexthops.sh @@ -1223,6 +1223,22 @@ log_test $rc 0 "Delete nexthop route warning" run_cmd "$IP route delete 172.16.101.1/32 nhid 12" run_cmd "$IP nexthop del id 12" + + run_cmd "$IP nexthop add id 21 via 172.16.1.6 dev veth1" + run_cmd "$IP ro add 172.16.101.0/24 nhid 21" + run_cmd "$IP ro del 172.16.101.0/24 nexthop via 172.16.1.7 dev veth1 nexthop via 172.16.1.8 dev veth1" + log_test $? 2 "Delete multipath route with only nh id based entry" + + run_cmd "$IP nexthop add id 22 via 172.16.1.6 dev veth1" + run_cmd "$IP ro add 172.16.102.0/24 nhid 22" + run_cmd "$IP ro del 172.16.102.0/24 dev veth1" + log_test $? 2 "Delete route when specifying only nexthop device" + + run_cmd "$IP ro del 172.16.102.0/24 via 172.16.1.6" + log_test $? 2 "Delete route when specifying only gateway" + + run_cmd "$IP ro del 172.16.102.0/24" + log_test $? 0 "Delete route when not specifying nexthop attributes" } ipv4_grp_fcnal() --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/fib_rule_tests.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/fib_rule_tests.sh @@ -63,6 +63,8 @@ $IP address add $DEV_ADDR/24 dev dummy0 $IP -6 address add $DEV_ADDR6/64 dev dummy0 + ip netns exec testns sysctl -w net.ipv4.ip_forward=1 + set +e } @@ -303,6 +305,29 @@ log_section "IPv6 fib rule" fib_rule6_test } +################################################################################ +# usage + +usage() +{ + cat < Test(s) to run (default: all) + (options: $TESTS) +EOF +} + +################################################################################ +# main + +while getopts ":t:h" opt; do + case $opt in + t) TESTS=$OPTARG;; + h) usage; exit 0;; + *) usage; exit 1;; + esac +done if [ "$(id -u)" -ne 0 ];then echo "SKIP: Need root privileges" --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/fib_tests.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/fib_tests.sh @@ -1711,13 +1711,21 @@ $IP addr add dev dummy1 172.16.104.1/24 $IP addr add dev dummy1 172.16.104.11/24 + $IP addr add dev dummy1 172.16.104.12/24 + $IP addr add dev dummy1 172.16.104.13/24 $IP addr add dev dummy2 172.16.104.1/24 $IP addr add dev dummy2 172.16.104.11/24 + $IP addr add dev dummy2 172.16.104.12/24 $IP route add 172.16.105.0/24 via 172.16.104.2 src 172.16.104.11 + $IP route add 172.16.106.0/24 dev lo src 172.16.104.12 + $IP route add table 0 172.16.107.0/24 via 172.16.104.2 src 172.16.104.13 $IP route add vrf red 172.16.105.0/24 via 172.16.104.2 src 172.16.104.11 + $IP route add vrf red 172.16.106.0/24 dev lo src 172.16.104.12 set +e # removing address from device in vrf should only remove route from vrf table + echo " Regular FIB info" + $IP addr del dev dummy2 172.16.104.11/24 $IP ro ls vrf red | grep -q 172.16.105.0/24 log_test $? 1 "Route removed from VRF when source address deleted" @@ -1735,6 +1743,35 @@ $IP ro ls vrf red | grep -q 172.16.105.0/24 log_test $? 0 "Route in VRF is not removed by address delete" + # removing address from device in vrf should only remove route from vrf + # table even when the associated fib info only differs in table ID + echo " Identical FIB info with different table ID" + + $IP addr del dev dummy2 172.16.104.12/24 + $IP ro ls vrf red | grep -q 172.16.106.0/24 + log_test $? 1 "Route removed from VRF when source address deleted" + + $IP ro ls | grep -q 172.16.106.0/24 + log_test $? 0 "Route in default VRF not removed" + + $IP addr add dev dummy2 172.16.104.12/24 + $IP route add vrf red 172.16.106.0/24 dev lo src 172.16.104.12 + + $IP addr del dev dummy1 172.16.104.12/24 + $IP ro ls | grep -q 172.16.106.0/24 + log_test $? 1 "Route removed in default VRF when source address deleted" + + $IP ro ls vrf red | grep -q 172.16.106.0/24 + log_test $? 0 "Route in VRF is not removed by address delete" + + # removing address from device in default vrf should remove route from + # the default vrf even when route was inserted with a table ID of 0. + echo " Table ID 0" + + $IP addr del dev dummy1 172.16.104.13/24 + $IP ro ls | grep -q 172.16.107.0/24 + log_test $? 1 "Route removed in default VRF when source address deleted" + $IP li del dummy1 $IP li del dummy2 cleanup @@ -2028,6 +2065,8 @@ ################################################################################ # main +trap cleanup EXIT + while getopts :t:pPhv o do case $o in --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/forwarding/custom_multipath_hash.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/forwarding/custom_multipath_hash.sh @@ -181,37 +181,43 @@ send_src_ipv4() { - $MZ $h1 -q -p 64 -A "198.51.100.2-198.51.100.253" -B 203.0.113.2 \ + ip vrf exec v$h1 $MZ $h1 -q -p 64 \ + -A "198.51.100.2-198.51.100.253" -B 203.0.113.2 \ -d 1msec -c 50 -t udp "sp=20000,dp=30000" } send_dst_ipv4() { - $MZ $h1 -q -p 64 -A 198.51.100.2 -B "203.0.113.2-203.0.113.253" \ + ip vrf exec v$h1 $MZ $h1 -q -p 64 \ + -A 198.51.100.2 -B "203.0.113.2-203.0.113.253" \ -d 1msec -c 50 -t udp "sp=20000,dp=30000" } send_src_udp4() { - $MZ $h1 -q -p 64 -A 198.51.100.2 -B 203.0.113.2 \ + ip vrf exec v$h1 $MZ $h1 -q -p 64 \ + -A 198.51.100.2 -B 203.0.113.2 \ -d 1msec -t udp "sp=0-32768,dp=30000" } send_dst_udp4() { - $MZ $h1 -q -p 64 -A 198.51.100.2 -B 203.0.113.2 \ + ip vrf exec v$h1 $MZ $h1 -q -p 64 \ + -A 198.51.100.2 -B 203.0.113.2 \ -d 1msec -t udp "sp=20000,dp=0-32768" } send_src_ipv6() { - $MZ -6 $h1 -q -p 64 -A "2001:db8:1::2-2001:db8:1::fd" -B 2001:db8:4::2 \ + ip vrf exec v$h1 $MZ -6 $h1 -q -p 64 \ + -A "2001:db8:1::2-2001:db8:1::fd" -B 2001:db8:4::2 \ -d 1msec -c 50 -t udp "sp=20000,dp=30000" } send_dst_ipv6() { - $MZ -6 $h1 -q -p 64 -A 2001:db8:1::2 -B "2001:db8:4::2-2001:db8:4::fd" \ + ip vrf exec v$h1 $MZ -6 $h1 -q -p 64 \ + -A 2001:db8:1::2 -B "2001:db8:4::2-2001:db8:4::fd" \ -d 1msec -c 50 -t udp "sp=20000,dp=30000" } @@ -226,13 +232,15 @@ send_src_udp6() { - $MZ -6 $h1 -q -p 64 -A 2001:db8:1::2 -B 2001:db8:4::2 \ + ip vrf exec v$h1 $MZ -6 $h1 -q -p 64 \ + -A 2001:db8:1::2 -B 2001:db8:4::2 \ -d 1msec -t udp "sp=0-32768,dp=30000" } send_dst_udp6() { - $MZ -6 $h1 -q -p 64 -A 2001:db8:1::2 -B 2001:db8:4::2 \ + ip vrf exec v$h1 $MZ -6 $h1 -q -p 64 \ + -A 2001:db8:1::2 -B 2001:db8:4::2 \ -d 1msec -t udp "sp=20000,dp=0-32768" } --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/forwarding/gre_custom_multipath_hash.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/forwarding/gre_custom_multipath_hash.sh @@ -276,37 +276,43 @@ send_src_ipv4() { - $MZ $h1 -q -p 64 -A "198.51.100.2-198.51.100.253" -B 203.0.113.2 \ + ip vrf exec v$h1 $MZ $h1 -q -p 64 \ + -A "198.51.100.2-198.51.100.253" -B 203.0.113.2 \ -d 1msec -c 50 -t udp "sp=20000,dp=30000" } send_dst_ipv4() { - $MZ $h1 -q -p 64 -A 198.51.100.2 -B "203.0.113.2-203.0.113.253" \ + ip vrf exec v$h1 $MZ $h1 -q -p 64 \ + -A 198.51.100.2 -B "203.0.113.2-203.0.113.253" \ -d 1msec -c 50 -t udp "sp=20000,dp=30000" } send_src_udp4() { - $MZ $h1 -q -p 64 -A 198.51.100.2 -B 203.0.113.2 \ + ip vrf exec v$h1 $MZ $h1 -q -p 64 \ + -A 198.51.100.2 -B 203.0.113.2 \ -d 1msec -t udp "sp=0-32768,dp=30000" } send_dst_udp4() { - $MZ $h1 -q -p 64 -A 198.51.100.2 -B 203.0.113.2 \ + ip vrf exec v$h1 $MZ $h1 -q -p 64 \ + -A 198.51.100.2 -B 203.0.113.2 \ -d 1msec -t udp "sp=20000,dp=0-32768" } send_src_ipv6() { - $MZ -6 $h1 -q -p 64 -A "2001:db8:1::2-2001:db8:1::fd" -B 2001:db8:2::2 \ + ip vrf exec v$h1 $MZ -6 $h1 -q -p 64 \ + -A "2001:db8:1::2-2001:db8:1::fd" -B 2001:db8:2::2 \ -d 1msec -c 50 -t udp "sp=20000,dp=30000" } send_dst_ipv6() { - $MZ -6 $h1 -q -p 64 -A 2001:db8:1::2 -B "2001:db8:2::2-2001:db8:2::fd" \ + ip vrf exec v$h1 $MZ -6 $h1 -q -p 64 \ + -A 2001:db8:1::2 -B "2001:db8:2::2-2001:db8:2::fd" \ -d 1msec -c 50 -t udp "sp=20000,dp=30000" } @@ -321,13 +327,15 @@ send_src_udp6() { - $MZ -6 $h1 -q -p 64 -A 2001:db8:1::2 -B 2001:db8:2::2 \ + ip vrf exec v$h1 $MZ -6 $h1 -q -p 64 \ + -A 2001:db8:1::2 -B 2001:db8:2::2 \ -d 1msec -t udp "sp=0-32768,dp=30000" } send_dst_udp6() { - $MZ -6 $h1 -q -p 64 -A 2001:db8:1::2 -B 2001:db8:2::2 \ + ip vrf exec v$h1 $MZ -6 $h1 -q -p 64 \ + -A 2001:db8:1::2 -B 2001:db8:2::2 \ -d 1msec -t udp "sp=20000,dp=0-32768" } --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/forwarding/ip6gre_custom_multipath_hash.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/forwarding/ip6gre_custom_multipath_hash.sh @@ -278,37 +278,43 @@ send_src_ipv4() { - $MZ $h1 -q -p 64 -A "198.51.100.2-198.51.100.253" -B 203.0.113.2 \ + ip vrf exec v$h1 $MZ $h1 -q -p 64 \ + -A "198.51.100.2-198.51.100.253" -B 203.0.113.2 \ -d 1msec -c 50 -t udp "sp=20000,dp=30000" } send_dst_ipv4() { - $MZ $h1 -q -p 64 -A 198.51.100.2 -B "203.0.113.2-203.0.113.253" \ + ip vrf exec v$h1 $MZ $h1 -q -p 64 \ + -A 198.51.100.2 -B "203.0.113.2-203.0.113.253" \ -d 1msec -c 50 -t udp "sp=20000,dp=30000" } send_src_udp4() { - $MZ $h1 -q -p 64 -A 198.51.100.2 -B 203.0.113.2 \ + ip vrf exec v$h1 $MZ $h1 -q -p 64 \ + -A 198.51.100.2 -B 203.0.113.2 \ -d 1msec -t udp "sp=0-32768,dp=30000" } send_dst_udp4() { - $MZ $h1 -q -p 64 -A 198.51.100.2 -B 203.0.113.2 \ + ip vrf exec v$h1 $MZ $h1 -q -p 64 \ + -A 198.51.100.2 -B 203.0.113.2 \ -d 1msec -t udp "sp=20000,dp=0-32768" } send_src_ipv6() { - $MZ -6 $h1 -q -p 64 -A "2001:db8:1::2-2001:db8:1::fd" -B 2001:db8:2::2 \ + ip vrf exec v$h1 $MZ -6 $h1 -q -p 64 \ + -A "2001:db8:1::2-2001:db8:1::fd" -B 2001:db8:2::2 \ -d 1msec -c 50 -t udp "sp=20000,dp=30000" } send_dst_ipv6() { - $MZ -6 $h1 -q -p 64 -A 2001:db8:1::2 -B "2001:db8:2::2-2001:db8:2::fd" \ + ip vrf exec v$h1 $MZ -6 $h1 -q -p 64 \ + -A 2001:db8:1::2 -B "2001:db8:2::2-2001:db8:2::fd" \ -d 1msec -c 50 -t udp "sp=20000,dp=30000" } @@ -323,13 +329,15 @@ send_src_udp6() { - $MZ -6 $h1 -q -p 64 -A 2001:db8:1::2 -B 2001:db8:2::2 \ + ip vrf exec v$h1 $MZ -6 $h1 -q -p 64 \ + -A 2001:db8:1::2 -B 2001:db8:2::2 \ -d 1msec -t udp "sp=0-32768,dp=30000" } send_dst_udp6() { - $MZ -6 $h1 -q -p 64 -A 2001:db8:1::2 -B 2001:db8:2::2 \ + ip vrf exec v$h1 $MZ -6 $h1 -q -p 64 \ + -A 2001:db8:1::2 -B 2001:db8:2::2 \ -d 1msec -t udp "sp=20000,dp=0-32768" } --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/forwarding/lib.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/forwarding/lib.sh @@ -906,14 +906,14 @@ local value=$1; shift SYSCTL_ORIG[$key]=$(sysctl -n $key) - sysctl -qw $key=$value + sysctl -qw $key="$value" } sysctl_restore() { local key=$1; shift - sysctl -qw $key=${SYSCTL_ORIG["$key"]} + sysctl -qw $key="${SYSCTL_ORIG[$key]}" } forwarding_enable() --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/forwarding/sch_red.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/forwarding/sch_red.sh @@ -1,3 +1,4 @@ +#!/bin/bash # SPDX-License-Identifier: GPL-2.0 # This test sends one stream of traffic from H1 through a TBF shaper, to a RED --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/forwarding/tc_actions.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/forwarding/tc_actions.sh @@ -3,7 +3,8 @@ ALL_TESTS="gact_drop_and_ok_test mirred_egress_redirect_test \ mirred_egress_mirror_test matchall_mirred_egress_mirror_test \ - gact_trap_test mirred_egress_to_ingress_test" + gact_trap_test mirred_egress_to_ingress_test \ + mirred_egress_to_ingress_tcp_test" NUM_NETIFS=4 source tc_common.sh source lib.sh @@ -198,6 +199,52 @@ log_test "mirred_egress_to_ingress ($tcflags)" } +mirred_egress_to_ingress_tcp_test() +{ + local tmpfile=$(mktemp) tmpfile1=$(mktemp) + + RET=0 + dd conv=sparse status=none if=/dev/zero bs=1M count=2 of=$tmpfile + tc filter add dev $h1 protocol ip pref 100 handle 100 egress flower \ + $tcflags ip_proto tcp src_ip 192.0.2.1 dst_ip 192.0.2.2 \ + action ct commit nat src addr 192.0.2.2 pipe \ + action ct clear pipe \ + action ct commit nat dst addr 192.0.2.1 pipe \ + action ct clear pipe \ + action skbedit ptype host pipe \ + action mirred ingress redirect dev $h1 + tc filter add dev $h1 protocol ip pref 101 handle 101 egress flower \ + $tcflags ip_proto icmp \ + action mirred ingress redirect dev $h1 + tc filter add dev $h1 protocol ip pref 102 handle 102 ingress flower \ + ip_proto icmp \ + action drop + + ip vrf exec v$h1 nc --recv-only -w10 -l -p 12345 -o $tmpfile1 & + local rpid=$! + ip vrf exec v$h1 nc -w1 --send-only 192.0.2.2 12345 <$tmpfile + wait -n $rpid + cmp -s $tmpfile $tmpfile1 + check_err $? "server output check failed" + + $MZ $h1 -c 10 -p 64 -a $h1mac -b $h1mac -A 192.0.2.1 -B 192.0.2.1 \ + -t icmp "ping,id=42,seq=5" -q + tc_check_packets "dev $h1 egress" 101 10 + check_err $? "didn't mirred redirect ICMP" + tc_check_packets "dev $h1 ingress" 102 10 + check_err $? "didn't drop mirred ICMP" + local overlimits=$(tc_rule_stats_get ${h1} 101 egress .overlimits) + test ${overlimits} = 10 + check_err $? "wrong overlimits, expected 10 got ${overlimits}" + + tc filter del dev $h1 egress protocol ip pref 100 handle 100 flower + tc filter del dev $h1 egress protocol ip pref 101 handle 101 flower + tc filter del dev $h1 ingress protocol ip pref 102 handle 102 flower + + rm -f $tmpfile $tmpfile1 + log_test "mirred_egress_to_ingress_tcp ($tcflags)" +} + setup_prepare() { h1=${NETIFS[p1]} --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/ioam6.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/ioam6.sh @@ -117,6 +117,8 @@ # | Schema Data | | # +-----------------------------------------------------------+ +# Kselftest framework requirement - SKIP code is 4. +ksft_skip=4 ################################################################################ # # @@ -211,7 +213,7 @@ echo "SKIP: kernel version probably too old, missing ioam support" ip link del veth0 2>/dev/null || true ip netns del ioam-tmp-node || true - exit 1 + exit $ksft_skip fi ip -netns ioam-tmp-node route add db02::/64 encap ioam6 mode inline \ @@ -227,7 +229,7 @@ "without CONFIG_IPV6_IOAM6_LWTUNNEL?" ip link del veth0 2>/dev/null || true ip netns del ioam-tmp-node || true - exit 1 + exit $ksft_skip fi ip link del veth0 2>/dev/null || true @@ -752,20 +754,20 @@ if [ "$(id -u)" -ne 0 ] then echo "SKIP: Need root privileges" - exit 1 + exit $ksft_skip fi if [ ! -x "$(command -v ip)" ] then echo "SKIP: Could not run test without ip tool" - exit 1 + exit $ksft_skip fi ip ioam &>/dev/null if [ $? = 1 ] then echo "SKIP: iproute2 too old, missing ioam command" - exit 1 + exit $ksft_skip fi check_kernel_compatibility --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/mptcp/mptcp_connect.c +++ linux-gcp-5.19.0/tools/testing/selftests/net/mptcp/mptcp_connect.c @@ -553,6 +553,18 @@ fcntl(fd, F_SETFL, flags & ~O_NONBLOCK); } +static void shut_wr(int fd) +{ + /* Close our write side, ev. give some time + * for address notification and/or checking + * the current status + */ + if (cfg_wait) + usleep(cfg_wait); + + shutdown(fd, SHUT_WR); +} + static int copyfd_io_poll(int infd, int peerfd, int outfd, bool *in_closed_after_out) { struct pollfd fds = { @@ -630,14 +642,7 @@ /* ... and peer also closed already */ break; - /* ... but we still receive. - * Close our write side, ev. give some time - * for address notification and/or checking - * the current status - */ - if (cfg_wait) - usleep(cfg_wait); - shutdown(peerfd, SHUT_WR); + shut_wr(peerfd); } else { if (errno == EINTR) continue; @@ -767,7 +772,7 @@ if (err) return err; - shutdown(peerfd, SHUT_WR); + shut_wr(peerfd); err = do_recvfile(peerfd, outfd); *in_closed_after_out = true; @@ -791,6 +796,9 @@ err = do_sendfile(infd, peerfd, size); if (err) return err; + + shut_wr(peerfd); + err = do_recvfile(peerfd, outfd); *in_closed_after_out = true; } --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -455,6 +455,12 @@ done } +kill_tests_wait() +{ + kill -SIGUSR1 $(ip netns pids $ns2) $(ip netns pids $ns1) + wait +} + pm_nl_set_limits() { local ns=$1 @@ -1578,6 +1584,7 @@ local subflow_nr=$3 local cnt1 local cnt2 + local dump_stats if [ -n "${need_title}" ]; then printf "%03u %-36s %s" "${TEST_COUNT}" "${TEST_NAME}" "${msg}" @@ -1595,7 +1602,12 @@ echo "[ ok ]" fi - [ "${dump_stats}" = 1 ] && ( ss -N $ns1 -tOni ; ss -N $ns1 -tOni | grep token; ip -n $ns1 mptcp endpoint ) + if [ "${dump_stats}" = 1 ]; then + ss -N $ns1 -tOni + ss -N $ns1 -tOni | grep token + ip -n $ns1 mptcp endpoint + dump_stats + fi } chk_link_usage() @@ -2042,7 +2054,7 @@ pm_nl_set_limits $ns2 1 3 pm_nl_add_endpoint $ns2 10.0.3.2 flags subflow pm_nl_add_endpoint $ns2 10.0.4.2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 0 -1 -2 slow + run_tests $ns1 $ns2 10.0.1.1 0 -1 -2 speed_10 chk_join_nr 3 3 3 chk_add_nr 1 1 chk_rm_nr 2 2 @@ -2055,7 +2067,7 @@ pm_nl_add_endpoint $ns1 10.0.3.1 flags signal pm_nl_add_endpoint $ns1 10.0.4.1 flags signal pm_nl_set_limits $ns2 3 3 - run_tests $ns1 $ns2 10.0.1.1 0 -3 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 -3 0 speed_10 chk_join_nr 3 3 3 chk_add_nr 3 3 chk_rm_nr 3 3 invert @@ -2068,7 +2080,7 @@ pm_nl_add_endpoint $ns1 10.0.3.1 flags signal pm_nl_add_endpoint $ns1 10.0.14.1 flags signal pm_nl_set_limits $ns2 3 3 - run_tests $ns1 $ns2 10.0.1.1 0 -3 0 slow + run_tests $ns1 $ns2 10.0.1.1 0 -3 0 speed_10 chk_join_nr 1 1 1 chk_add_nr 3 3 chk_rm_nr 3 1 invert @@ -2819,7 +2831,7 @@ pm_nl_set_limits $ns1 2 2 pm_nl_set_limits $ns2 2 2 pm_nl_add_endpoint $ns1 10.0.2.1 flags signal - run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow & + run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow 2>/dev/null & wait_mpj $ns1 pm_nl_check_endpoint 1 "creation" \ @@ -2832,14 +2844,14 @@ pm_nl_add_endpoint $ns2 10.0.2.2 flags signal pm_nl_check_endpoint 0 "modif is allowed" \ $ns2 10.0.2.2 id 1 flags signal - wait + kill_tests_wait fi if reset "delete and re-add"; then pm_nl_set_limits $ns1 1 1 pm_nl_set_limits $ns2 1 1 pm_nl_add_endpoint $ns2 10.0.2.2 id 2 dev ns2eth2 flags subflow - run_tests $ns1 $ns2 10.0.1.1 4 0 0 slow & + run_tests $ns1 $ns2 10.0.1.1 4 0 0 speed_20 2>/dev/null & wait_mpj $ns2 pm_nl_del_endpoint $ns2 2 10.0.2.2 @@ -2849,7 +2861,7 @@ pm_nl_add_endpoint $ns2 10.0.2.2 dev ns2eth2 flags subflow wait_mpj $ns2 chk_subflow_nr "" "after re-add" 2 - wait + kill_tests_wait fi } --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -35,8 +35,9 @@ ns1="ns1-$rndh" ns2="ns2-$rndh" + ns_sbox="ns_sbox-$rndh" - for netns in "$ns1" "$ns2";do + for netns in "$ns1" "$ns2" "$ns_sbox";do ip netns add $netns || exit $ksft_skip ip -net $netns link set lo up ip netns exec $netns sysctl -q net.mptcp.enabled=1 @@ -73,7 +74,7 @@ cleanup() { - for netns in "$ns1" "$ns2"; do + for netns in "$ns1" "$ns2" "$ns_sbox"; do ip netns del $netns done rm -f "$cin" "$cout" @@ -243,7 +244,7 @@ { local lret=0 - ./mptcp_sockopt + ip netns exec "$ns_sbox" ./mptcp_sockopt lret=$? if [ $lret -ne 0 ]; then @@ -252,7 +253,7 @@ return fi - ./mptcp_sockopt -6 + ip netns exec "$ns_sbox" ./mptcp_sockopt -6 lret=$? if [ $lret -ne 0 ]; then --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/mptcp/simult_flows.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -235,9 +235,10 @@ tc -n $ns2 qdisc add dev ns2eth1 root netem rate ${rate1}mbit $delay1 tc -n $ns2 qdisc add dev ns2eth2 root netem rate ${rate2}mbit $delay2 - # time is measured in ms, account for transfer size, affegated link speed + # time is measured in ms, account for transfer size, aggregated link speed # and header overhead (10%) - local time=$((size * 8 * 1000 * 10 / (( $rate1 + $rate2) * 1024 *1024 * 9) )) + # ms byte -> bit 10% mbit -> kbit -> bit 10% + local time=$((1000 * size * 8 * 10 / ((rate1 + rate2) * 1000 * 1000 * 9) )) # mptcp_connect will do some sleeps to allow the mp_join handshake # completion (see mptcp_connect): 200ms on each side, add some slack --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/nat6to4.c +++ linux-gcp-5.19.0/tools/testing/selftests/net/nat6to4.c @@ -0,0 +1,285 @@ +// SPDX-License-Identifier: GPL-2.0-only +/* + * This code is taken from the Android Open Source Project and the author + * (Maciej Żenczykowski) has gave permission to relicense it under the + * GPLv2. Therefore this program is free software; + * You can redistribute it and/or modify it under the terms of the GNU + * General Public License version 2 as published by the Free Software + * Foundation + + * The original headers, including the original license headers, are + * included below for completeness. + * + * Copyright (C) 2019 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +#include + +#include +#include + +#define IP_DF 0x4000 // Flag: "Don't Fragment" + +SEC("schedcls/ingress6/nat_6") +int sched_cls_ingress6_nat_6_prog(struct __sk_buff *skb) +{ + const int l2_header_size = sizeof(struct ethhdr); + void *data = (void *)(long)skb->data; + const void *data_end = (void *)(long)skb->data_end; + const struct ethhdr * const eth = data; // used iff is_ethernet + const struct ipv6hdr * const ip6 = (void *)(eth + 1); + + // Require ethernet dst mac address to be our unicast address. + if (skb->pkt_type != PACKET_HOST) + return TC_ACT_OK; + + // Must be meta-ethernet IPv6 frame + if (skb->protocol != bpf_htons(ETH_P_IPV6)) + return TC_ACT_OK; + + // Must have (ethernet and) ipv6 header + if (data + l2_header_size + sizeof(*ip6) > data_end) + return TC_ACT_OK; + + // Ethertype - if present - must be IPv6 + if (eth->h_proto != bpf_htons(ETH_P_IPV6)) + return TC_ACT_OK; + + // IP version must be 6 + if (ip6->version != 6) + return TC_ACT_OK; + // Maximum IPv6 payload length that can be translated to IPv4 + if (bpf_ntohs(ip6->payload_len) > 0xFFFF - sizeof(struct iphdr)) + return TC_ACT_OK; + switch (ip6->nexthdr) { + case IPPROTO_TCP: // For TCP & UDP the checksum neutrality of the chosen IPv6 + case IPPROTO_UDP: // address means there is no need to update their checksums. + case IPPROTO_GRE: // We do not need to bother looking at GRE/ESP headers, + case IPPROTO_ESP: // since there is never a checksum to update. + break; + default: // do not know how to handle anything else + return TC_ACT_OK; + } + + struct ethhdr eth2; // used iff is_ethernet + + eth2 = *eth; // Copy over the ethernet header (src/dst mac) + eth2.h_proto = bpf_htons(ETH_P_IP); // But replace the ethertype + + struct iphdr ip = { + .version = 4, // u4 + .ihl = sizeof(struct iphdr) / sizeof(__u32), // u4 + .tos = (ip6->priority << 4) + (ip6->flow_lbl[0] >> 4), // u8 + .tot_len = bpf_htons(bpf_ntohs(ip6->payload_len) + sizeof(struct iphdr)), // u16 + .id = 0, // u16 + .frag_off = bpf_htons(IP_DF), // u16 + .ttl = ip6->hop_limit, // u8 + .protocol = ip6->nexthdr, // u8 + .check = 0, // u16 + .saddr = 0x0201a8c0, // u32 + .daddr = 0x0101a8c0, // u32 + }; + + // Calculate the IPv4 one's complement checksum of the IPv4 header. + __wsum sum4 = 0; + + for (int i = 0; i < sizeof(ip) / sizeof(__u16); ++i) + sum4 += ((__u16 *)&ip)[i]; + + // Note that sum4 is guaranteed to be non-zero by virtue of ip.version == 4 + sum4 = (sum4 & 0xFFFF) + (sum4 >> 16); // collapse u32 into range 1 .. 0x1FFFE + sum4 = (sum4 & 0xFFFF) + (sum4 >> 16); // collapse any potential carry into u16 + ip.check = (__u16)~sum4; // sum4 cannot be zero, so this is never 0xFFFF + + // Calculate the *negative* IPv6 16-bit one's complement checksum of the IPv6 header. + __wsum sum6 = 0; + // We'll end up with a non-zero sum due to ip6->version == 6 (which has '0' bits) + for (int i = 0; i < sizeof(*ip6) / sizeof(__u16); ++i) + sum6 += ~((__u16 *)ip6)[i]; // note the bitwise negation + + // Note that there is no L4 checksum update: we are relying on the checksum neutrality + // of the ipv6 address chosen by netd's ClatdController. + + // Packet mutations begin - point of no return, but if this first modification fails + // the packet is probably still pristine, so let clatd handle it. + if (bpf_skb_change_proto(skb, bpf_htons(ETH_P_IP), 0)) + return TC_ACT_OK; + bpf_csum_update(skb, sum6); + + data = (void *)(long)skb->data; + data_end = (void *)(long)skb->data_end; + if (data + l2_header_size + sizeof(struct iphdr) > data_end) + return TC_ACT_SHOT; + + struct ethhdr *new_eth = data; + + // Copy over the updated ethernet header + *new_eth = eth2; + + // Copy over the new ipv4 header. + *(struct iphdr *)(new_eth + 1) = ip; + return bpf_redirect(skb->ifindex, BPF_F_INGRESS); +} + +SEC("schedcls/egress4/snat4") +int sched_cls_egress4_snat4_prog(struct __sk_buff *skb) +{ + const int l2_header_size = sizeof(struct ethhdr); + void *data = (void *)(long)skb->data; + const void *data_end = (void *)(long)skb->data_end; + const struct ethhdr *const eth = data; // used iff is_ethernet + const struct iphdr *const ip4 = (void *)(eth + 1); + + // Must be meta-ethernet IPv4 frame + if (skb->protocol != bpf_htons(ETH_P_IP)) + return TC_ACT_OK; + + // Must have ipv4 header + if (data + l2_header_size + sizeof(struct ipv6hdr) > data_end) + return TC_ACT_OK; + + // Ethertype - if present - must be IPv4 + if (eth->h_proto != bpf_htons(ETH_P_IP)) + return TC_ACT_OK; + + // IP version must be 4 + if (ip4->version != 4) + return TC_ACT_OK; + + // We cannot handle IP options, just standard 20 byte == 5 dword minimal IPv4 header + if (ip4->ihl != 5) + return TC_ACT_OK; + + // Maximum IPv6 payload length that can be translated to IPv4 + if (bpf_htons(ip4->tot_len) > 0xFFFF - sizeof(struct ipv6hdr)) + return TC_ACT_OK; + + // Calculate the IPv4 one's complement checksum of the IPv4 header. + __wsum sum4 = 0; + + for (int i = 0; i < sizeof(*ip4) / sizeof(__u16); ++i) + sum4 += ((__u16 *)ip4)[i]; + + // Note that sum4 is guaranteed to be non-zero by virtue of ip4->version == 4 + sum4 = (sum4 & 0xFFFF) + (sum4 >> 16); // collapse u32 into range 1 .. 0x1FFFE + sum4 = (sum4 & 0xFFFF) + (sum4 >> 16); // collapse any potential carry into u16 + // for a correct checksum we should get *a* zero, but sum4 must be positive, ie 0xFFFF + if (sum4 != 0xFFFF) + return TC_ACT_OK; + + // Minimum IPv4 total length is the size of the header + if (bpf_ntohs(ip4->tot_len) < sizeof(*ip4)) + return TC_ACT_OK; + + // We are incapable of dealing with IPv4 fragments + if (ip4->frag_off & ~bpf_htons(IP_DF)) + return TC_ACT_OK; + + switch (ip4->protocol) { + case IPPROTO_TCP: // For TCP & UDP the checksum neutrality of the chosen IPv6 + case IPPROTO_GRE: // address means there is no need to update their checksums. + case IPPROTO_ESP: // We do not need to bother looking at GRE/ESP headers, + break; // since there is never a checksum to update. + + case IPPROTO_UDP: // See above comment, but must also have UDP header... + if (data + sizeof(*ip4) + sizeof(struct udphdr) > data_end) + return TC_ACT_OK; + const struct udphdr *uh = (const struct udphdr *)(ip4 + 1); + // If IPv4/UDP checksum is 0 then fallback to clatd so it can calculate the + // checksum. Otherwise the network or more likely the NAT64 gateway might + // drop the packet because in most cases IPv6/UDP packets with a zero checksum + // are invalid. See RFC 6935. TODO: calculate checksum via bpf_csum_diff() + if (!uh->check) + return TC_ACT_OK; + break; + + default: // do not know how to handle anything else + return TC_ACT_OK; + } + struct ethhdr eth2; // used iff is_ethernet + + eth2 = *eth; // Copy over the ethernet header (src/dst mac) + eth2.h_proto = bpf_htons(ETH_P_IPV6); // But replace the ethertype + + struct ipv6hdr ip6 = { + .version = 6, // __u8:4 + .priority = ip4->tos >> 4, // __u8:4 + .flow_lbl = {(ip4->tos & 0xF) << 4, 0, 0}, // __u8[3] + .payload_len = bpf_htons(bpf_ntohs(ip4->tot_len) - 20), // __be16 + .nexthdr = ip4->protocol, // __u8 + .hop_limit = ip4->ttl, // __u8 + }; + ip6.saddr.in6_u.u6_addr32[0] = bpf_htonl(0x20010db8); + ip6.saddr.in6_u.u6_addr32[1] = 0; + ip6.saddr.in6_u.u6_addr32[2] = 0; + ip6.saddr.in6_u.u6_addr32[3] = bpf_htonl(1); + ip6.daddr.in6_u.u6_addr32[0] = bpf_htonl(0x20010db8); + ip6.daddr.in6_u.u6_addr32[1] = 0; + ip6.daddr.in6_u.u6_addr32[2] = 0; + ip6.daddr.in6_u.u6_addr32[3] = bpf_htonl(2); + + // Calculate the IPv6 16-bit one's complement checksum of the IPv6 header. + __wsum sum6 = 0; + // We'll end up with a non-zero sum due to ip6.version == 6 + for (int i = 0; i < sizeof(ip6) / sizeof(__u16); ++i) + sum6 += ((__u16 *)&ip6)[i]; + + // Packet mutations begin - point of no return, but if this first modification fails + // the packet is probably still pristine, so let clatd handle it. + if (bpf_skb_change_proto(skb, bpf_htons(ETH_P_IPV6), 0)) + return TC_ACT_OK; + + // This takes care of updating the skb->csum field for a CHECKSUM_COMPLETE packet. + // In such a case, skb->csum is a 16-bit one's complement sum of the entire payload, + // thus we need to subtract out the ipv4 header's sum, and add in the ipv6 header's sum. + // However, we've already verified the ipv4 checksum is correct and thus 0. + // Thus we only need to add the ipv6 header's sum. + // + // bpf_csum_update() always succeeds if the skb is CHECKSUM_COMPLETE and returns an error + // (-ENOTSUPP) if it isn't. So we just ignore the return code (see above for more details). + bpf_csum_update(skb, sum6); + + // bpf_skb_change_proto() invalidates all pointers - reload them. + data = (void *)(long)skb->data; + data_end = (void *)(long)skb->data_end; + + // I cannot think of any valid way for this error condition to trigger, however I do + // believe the explicit check is required to keep the in kernel ebpf verifier happy. + if (data + l2_header_size + sizeof(ip6) > data_end) + return TC_ACT_SHOT; + + struct ethhdr *new_eth = data; + + // Copy over the updated ethernet header + *new_eth = eth2; + // Copy over the new ipv4 header. + *(struct ipv6hdr *)(new_eth + 1) = ip6; + return TC_ACT_OK; +} + +char _license[] SEC("license") = ("GPL"); --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/nettest.c +++ linux-gcp-5.19.0/tools/testing/selftests/net/nettest.c @@ -127,6 +127,9 @@ /* ESP in UDP encap test */ int use_xfrm; + + /* use send() and connect() instead of sendto */ + int datagram_connect; }; static int server_mode; @@ -979,6 +982,11 @@ log_err_errno("write failed sending msg to peer"); return 1; } + } else if (args->datagram_connect) { + if (send(sd, msg, msglen, 0) < 0) { + log_err_errno("send failed sending msg to peer"); + return 1; + } } else if (args->ifindex && args->use_cmsg) { if (send_msg_cmsg(sd, addr, alen, args->ifindex, args->version)) return 1; @@ -1659,7 +1667,7 @@ if (args->has_local_ip && bind_socket(sd, args)) goto err; - if (args->type != SOCK_STREAM) + if (args->type != SOCK_STREAM && !args->datagram_connect) goto out; if (args->password && tcp_md5sig(sd, addr, alen, args)) @@ -1854,7 +1862,7 @@ return client_status; } -#define GETOPT_STR "sr:l:c:p:t:g:P:DRn:M:X:m:d:I:BN:O:SCi6xL:0:1:2:3:Fbqf" +#define GETOPT_STR "sr:l:c:p:t:g:P:DRn:M:X:m:d:I:BN:O:SUCi6xL:0:1:2:3:Fbqf" #define OPT_FORCE_BIND_KEY_IFINDEX 1001 #define OPT_NO_BIND_KEY_IFINDEX 1002 @@ -1891,6 +1899,7 @@ " -I dev bind socket to given device name - server mode\n" " -S use setsockopt (IP_UNICAST_IF or IP_MULTICAST_IF)\n" " to set device binding\n" + " -U Use connect() and send() for datagram sockets\n" " -f bind socket with the IP[V6]_FREEBIND option\n" " -C use cmsg and IP_PKTINFO to specify device binding\n" "\n" @@ -2074,6 +2083,9 @@ case 'x': args.use_xfrm = 1; break; + case 'U': + args.datagram_connect = 1; + break; default: print_usage(argv[0]); return 1; --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/pmtu.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/pmtu.sh @@ -686,10 +686,12 @@ } setup_nettest_xfrm() { - which nettest >/dev/null - if [ $? -ne 0 ]; then - echo "'nettest' command not found; skipping tests" - return 1 + if ! which nettest >/dev/null; then + PATH=$PWD:$PATH + if ! which nettest >/dev/null; then + echo "'nettest' command not found; skipping tests" + return 1 + fi fi [ ${1} -eq 6 ] && proto="-6" || proto="" --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/reuseport_bpf.c +++ linux-gcp-5.19.0/tools/testing/selftests/net/reuseport_bpf.c @@ -328,7 +328,7 @@ if (bind(fd1, addr, sockaddr_size())) error(1, errno, "failed to bind recv socket 1"); - if (!bind(fd2, addr, sockaddr_size()) && errno != EADDRINUSE) + if (!bind(fd2, addr, sockaddr_size()) || errno != EADDRINUSE) error(1, errno, "bind socket 2 should fail with EADDRINUSE"); free(addr); --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/rtnetlink.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/rtnetlink.sh @@ -782,7 +782,7 @@ tmpl proto esp src $srcip dst $dstip spi 9 \ mode transport reqid 42 check_err $? - ip x p add dir out src $dstip/24 dst $srcip/24 \ + ip x p add dir in src $dstip/24 dst $srcip/24 \ tmpl proto esp src $dstip dst $srcip spi 9 \ mode transport reqid 42 check_err $? --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/settings +++ linux-gcp-5.19.0/tools/testing/selftests/net/settings @@ -1 +1 @@ -timeout=1500 +timeout=0 --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/socket.c +++ linux-gcp-5.19.0/tools/testing/selftests/net/socket.c @@ -6,6 +6,7 @@ #include #include #include +#include #include "../kselftest.h" @@ -26,7 +27,10 @@ }; static struct socket_testcase tests[] = { - { AF_MAX, 0, 0, -EAFNOSUPPORT, 0 }, + /* libc might have a smaller value of AF_MAX than the kernel + * actually supports, so use INT_MAX instead. + */ + { INT_MAX, 0, 0, -EAFNOSUPPORT, 0 }, { AF_INET, SOCK_STREAM, IPPROTO_TCP, 0, 1 }, { AF_INET, SOCK_DGRAM, IPPROTO_TCP, -EPROTONOSUPPORT, 1 }, { AF_INET, SOCK_DGRAM, IPPROTO_UDP, 0, 1 }, --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/test_vxlan_vnifiltering.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/test_vxlan_vnifiltering.sh @@ -293,19 +293,11 @@ elif [[ -n $vtype && $vtype == "vnifilterg" ]]; then # Add per vni group config with 'bridge vni' api if [ -n "$group" ]; then - if [ "$family" == "v4" ]; then - if [ $mcast -eq 1 ]; then - bridge -netns hv-$hvid vni add dev $vxlandev vni $tid group $group - else - bridge -netns hv-$hvid vni add dev $vxlandev vni $tid remote $group - fi - else - if [ $mcast -eq 1 ]; then - bridge -netns hv-$hvid vni add dev $vxlandev vni $tid group6 $group - else - bridge -netns hv-$hvid vni add dev $vxlandev vni $tid remote6 $group - fi - fi + if [ $mcast -eq 1 ]; then + bridge -netns hv-$hvid vni add dev $vxlandev vni $tid group $group + else + bridge -netns hv-$hvid vni add dev $vxlandev vni $tid remote $group + fi fi fi done --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/tls.c +++ linux-gcp-5.19.0/tools/testing/selftests/net/tls.c @@ -354,64 +354,6 @@ EXPECT_EQ(recv(self->cfd, buf, st.st_size, MSG_WAITALL), st.st_size); } -static void chunked_sendfile(struct __test_metadata *_metadata, - struct _test_data_tls *self, - uint16_t chunk_size, - uint16_t extra_payload_size) -{ - char buf[TLS_PAYLOAD_MAX_LEN]; - uint16_t test_payload_size; - int size = 0; - int ret; - char filename[] = "/tmp/mytemp.XXXXXX"; - int fd = mkstemp(filename); - off_t offset = 0; - - unlink(filename); - ASSERT_GE(fd, 0); - EXPECT_GE(chunk_size, 1); - test_payload_size = chunk_size + extra_payload_size; - ASSERT_GE(TLS_PAYLOAD_MAX_LEN, test_payload_size); - memset(buf, 1, test_payload_size); - size = write(fd, buf, test_payload_size); - EXPECT_EQ(size, test_payload_size); - fsync(fd); - - while (size > 0) { - ret = sendfile(self->fd, fd, &offset, chunk_size); - EXPECT_GE(ret, 0); - size -= ret; - } - - EXPECT_EQ(recv(self->cfd, buf, test_payload_size, MSG_WAITALL), - test_payload_size); - - close(fd); -} - -TEST_F(tls, multi_chunk_sendfile) -{ - chunked_sendfile(_metadata, self, 4096, 4096); - chunked_sendfile(_metadata, self, 4096, 0); - chunked_sendfile(_metadata, self, 4096, 1); - chunked_sendfile(_metadata, self, 4096, 2048); - chunked_sendfile(_metadata, self, 8192, 2048); - chunked_sendfile(_metadata, self, 4096, 8192); - chunked_sendfile(_metadata, self, 8192, 4096); - chunked_sendfile(_metadata, self, 12288, 1024); - chunked_sendfile(_metadata, self, 12288, 2000); - chunked_sendfile(_metadata, self, 15360, 100); - chunked_sendfile(_metadata, self, 15360, 300); - chunked_sendfile(_metadata, self, 1, 4096); - chunked_sendfile(_metadata, self, 2048, 4096); - chunked_sendfile(_metadata, self, 2048, 8192); - chunked_sendfile(_metadata, self, 4096, 8192); - chunked_sendfile(_metadata, self, 1024, 12288); - chunked_sendfile(_metadata, self, 2000, 12288); - chunked_sendfile(_metadata, self, 100, 15360); - chunked_sendfile(_metadata, self, 300, 15360); -} - TEST_F(tls, recv_max) { unsigned int send_len = TLS_PAYLOAD_MAX_LEN; --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/toeplitz.c +++ linux-gcp-5.19.0/tools/testing/selftests/net/toeplitz.c @@ -215,7 +215,7 @@ } /* A single TPACKET_V3 block can hold multiple frames */ -static void recv_block(struct ring_state *ring) +static bool recv_block(struct ring_state *ring) { struct tpacket_block_desc *block; char *frame; @@ -223,7 +223,7 @@ block = (void *)(ring->mmap + ring->idx * ring_block_sz); if (!(block->hdr.bh1.block_status & TP_STATUS_USER)) - return; + return false; frame = (char *)block; frame += block->hdr.bh1.offset_to_first_pkt; @@ -235,6 +235,8 @@ block->hdr.bh1.block_status = TP_STATUS_KERNEL; ring->idx = (ring->idx + 1) % ring_block_nr; + + return true; } /* simple test: sleep once unconditionally and then process all rings */ @@ -245,7 +247,7 @@ usleep(1000 * cfg_timeout_msec); for (i = 0; i < num_cpus; i++) - recv_block(&rings[i]); + do {} while (recv_block(&rings[i])); fprintf(stderr, "count: pass=%u nohash=%u fail=%u\n", frames_received - frames_nohash - frames_error, @@ -257,12 +259,12 @@ struct tpacket_req3 req3 = {0}; void *ring; - req3.tp_retire_blk_tov = cfg_timeout_msec; + req3.tp_retire_blk_tov = cfg_timeout_msec / 8; req3.tp_feature_req_word = TP_FT_REQ_FILL_RXHASH; req3.tp_frame_size = 2048; req3.tp_frame_nr = 1 << 10; - req3.tp_block_nr = 2; + req3.tp_block_nr = 16; req3.tp_block_size = req3.tp_frame_size * req3.tp_frame_nr; req3.tp_block_size /= req3.tp_block_nr; --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/toeplitz.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/toeplitz.sh @@ -32,7 +32,7 @@ # This is determined by reading the RSS indirection table using ethtool. get_rss_cfg_num_rxqs() { echo $(ethtool -x "${DEV}" | - egrep [[:space:]]+[0-9]+:[[:space:]]+ | + grep -E [[:space:]]+[0-9]+:[[:space:]]+ | cut -d: -f2- | awk '{$1=$1};1' | tr ' ' '\n' | --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/udpgro.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/udpgro.sh @@ -50,7 +50,7 @@ echo "failed" & # Hack: let bg programs complete the startup - sleep 0.1 + sleep 0.2 ./udpgso_bench_tx ${tx_args} ret=$? wait $(jobs -p) @@ -117,7 +117,7 @@ echo "failed" & # Hack: let bg programs complete the startup - sleep 0.1 + sleep 0.2 ./udpgso_bench_tx ${tx_args} -p 12345 sleep 0.1 # first UDP GSO socket should be closed at this point --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/udpgro_bench.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/udpgro_bench.sh @@ -39,7 +39,7 @@ ip netns exec "${PEER_NS}" ./udpgso_bench_rx -t ${rx_args} -r & # Hack: let bg programs complete the startup - sleep 0.1 + sleep 0.2 ./udpgso_bench_tx ${tx_args} } --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/udpgro_frglist.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/udpgro_frglist.sh @@ -38,13 +38,13 @@ ip -n "${PEER_NS}" link set veth1 xdp object ../bpf/xdp_dummy.o section xdp tc -n "${PEER_NS}" qdisc add dev veth1 clsact - tc -n "${PEER_NS}" filter add dev veth1 ingress prio 4 protocol ipv6 bpf object-file ../bpf/nat6to4.o section schedcls/ingress6/nat_6 direct-action - tc -n "${PEER_NS}" filter add dev veth1 egress prio 4 protocol ip bpf object-file ../bpf/nat6to4.o section schedcls/egress4/snat4 direct-action + tc -n "${PEER_NS}" filter add dev veth1 ingress prio 4 protocol ipv6 bpf object-file nat6to4.o section schedcls/ingress6/nat_6 direct-action + tc -n "${PEER_NS}" filter add dev veth1 egress prio 4 protocol ip bpf object-file nat6to4.o section schedcls/egress4/snat4 direct-action echo ${rx_args} ip netns exec "${PEER_NS}" ./udpgso_bench_rx ${rx_args} -r & # Hack: let bg programs complete the startup - sleep 0.1 + sleep 0.2 ./udpgso_bench_tx ${tx_args} } @@ -86,8 +86,8 @@ exit -1 fi -if [ ! -f bpf/nat6to4.o ]; then - echo "Missing nat6to4 helper. Build bpfnat6to4.o selftest first" +if [ ! -f nat6to4.o ]; then + echo "Missing nat6to4 helper. Build bpf nat6to4.o selftest first" exit -1 fi --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/udpgso_bench.sh +++ linux-gcp-5.19.0/tools/testing/selftests/net/udpgso_bench.sh @@ -7,6 +7,7 @@ readonly YELLOW='\033[0;33m' readonly RED='\033[0;31m' readonly NC='\033[0m' # No Color +readonly TESTPORT=8000 readonly KSFT_PASS=0 readonly KSFT_FAIL=1 @@ -56,11 +57,26 @@ run_one() { local -r args=$@ + local nr_socks=0 + local i=0 + local -r timeout=10 + + ./udpgso_bench_rx -p "$TESTPORT" & + ./udpgso_bench_rx -p "$TESTPORT" -t & + + # Wait for the above test program to get ready to receive connections. + while [ "$i" -lt "$timeout" ]; do + nr_socks="$(ss -lnHi | grep -c "\*:${TESTPORT}")" + [ "$nr_socks" -eq 2 ] && break + i=$((i + 1)) + sleep 1 + done + if [ "$nr_socks" -ne 2 ]; then + echo "timed out while waiting for udpgso_bench_rx" + exit 1 + fi - ./udpgso_bench_rx & - ./udpgso_bench_rx -t & - - ./udpgso_bench_tx ${args} + ./udpgso_bench_tx -p "$TESTPORT" ${args} } run_in_netns() { --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/udpgso_bench_rx.c +++ linux-gcp-5.19.0/tools/testing/selftests/net/udpgso_bench_rx.c @@ -214,11 +214,10 @@ static int recv_msg(int fd, char *buf, int len, int *gso_size) { - char control[CMSG_SPACE(sizeof(uint16_t))] = {0}; + char control[CMSG_SPACE(sizeof(int))] = {0}; struct msghdr msg = {0}; struct iovec iov = {0}; struct cmsghdr *cmsg; - uint16_t *gsosizeptr; int ret; iov.iov_base = buf; @@ -237,8 +236,7 @@ cmsg = CMSG_NXTHDR(&msg, cmsg)) { if (cmsg->cmsg_level == SOL_UDP && cmsg->cmsg_type == UDP_GRO) { - gsosizeptr = (uint16_t *) CMSG_DATA(cmsg); - *gso_size = *gsosizeptr; + *gso_size = *(int *)CMSG_DATA(cmsg); break; } } @@ -250,7 +248,7 @@ static void do_flush_udp(int fd) { static char rbuf[ETH_MAX_MTU]; - int ret, len, gso_size, budget = 256; + int ret, len, gso_size = 0, budget = 256; len = cfg_read_all ? sizeof(rbuf) : 0; while (budget--) { @@ -336,6 +334,8 @@ cfg_verify = true; cfg_read_all = true; break; + default: + exit(1); } } --- linux-gcp-5.19.0.orig/tools/testing/selftests/net/udpgso_bench_tx.c +++ linux-gcp-5.19.0/tools/testing/selftests/net/udpgso_bench_tx.c @@ -62,6 +62,7 @@ static int cfg_port = 8000; static int cfg_runtime_ms = -1; static bool cfg_poll; +static int cfg_poll_loop_timeout_ms = 2000; static bool cfg_segment; static bool cfg_sendmmsg; static bool cfg_tcp; @@ -235,16 +236,17 @@ } } -static void flush_errqueue(int fd, const bool do_poll) +static void flush_errqueue(int fd, const bool do_poll, + unsigned long poll_timeout, const bool poll_err) { if (do_poll) { struct pollfd fds = {0}; int ret; fds.fd = fd; - ret = poll(&fds, 1, 500); + ret = poll(&fds, 1, poll_timeout); if (ret == 0) { - if (cfg_verbose) + if ((cfg_verbose) && (poll_err)) fprintf(stderr, "poll timeout\n"); } else if (ret < 0) { error(1, errno, "poll"); @@ -254,6 +256,20 @@ flush_errqueue_recv(fd); } +static void flush_errqueue_retry(int fd, unsigned long num_sends) +{ + unsigned long tnow, tstop; + bool first_try = true; + + tnow = gettimeofday_ms(); + tstop = tnow + cfg_poll_loop_timeout_ms; + do { + flush_errqueue(fd, true, tstop - tnow, first_try); + first_try = false; + tnow = gettimeofday_ms(); + } while ((stat_zcopies != num_sends) && (tnow < tstop)); +} + static int send_tcp(int fd, char *data) { int ret, done = 0, count = 0; @@ -413,7 +429,8 @@ static void usage(const char *filepath) { - error(1, 0, "Usage: %s [-46acmHPtTuvz] [-C cpu] [-D dst ip] [-l secs] [-M messagenr] [-p port] [-s sendsize] [-S gsosize]", + error(1, 0, "Usage: %s [-46acmHPtTuvz] [-C cpu] [-D dst ip] [-l secs] " + "[-L secs] [-M messagenr] [-p port] [-s sendsize] [-S gsosize]", filepath); } @@ -423,7 +440,7 @@ int max_len, hdrlen; int c; - while ((c = getopt(argc, argv, "46acC:D:Hl:mM:p:s:PS:tTuvz")) != -1) { + while ((c = getopt(argc, argv, "46acC:D:Hl:L:mM:p:s:PS:tTuvz")) != -1) { switch (c) { case '4': if (cfg_family != PF_UNSPEC) @@ -452,6 +469,9 @@ case 'l': cfg_runtime_ms = strtoul(optarg, NULL, 10) * 1000; break; + case 'L': + cfg_poll_loop_timeout_ms = strtoul(optarg, NULL, 10) * 1000; + break; case 'm': cfg_sendmmsg = true; break; @@ -490,6 +510,8 @@ case 'z': cfg_zerocopy = true; break; + default: + exit(1); } } @@ -677,7 +699,7 @@ num_sends += send_udp(fd, buf[i]); num_msgs++; if ((cfg_zerocopy && ((num_msgs & 0xF) == 0)) || cfg_tx_tstamp) - flush_errqueue(fd, cfg_poll); + flush_errqueue(fd, cfg_poll, 500, true); if (cfg_msg_nr && num_msgs >= cfg_msg_nr) break; @@ -696,7 +718,7 @@ } while (!interrupted && (cfg_runtime_ms == -1 || tnow < tstop)); if (cfg_zerocopy || cfg_tx_tstamp) - flush_errqueue(fd, true); + flush_errqueue_retry(fd, num_sends); if (close(fd)) error(1, errno, "close"); --- linux-gcp-5.19.0.orig/tools/testing/selftests/netfilter/conntrack_icmp_related.sh +++ linux-gcp-5.19.0/tools/testing/selftests/netfilter/conntrack_icmp_related.sh @@ -35,6 +35,8 @@ for i in 1 2;do ip netns del nsrouter$i;done } +trap cleanup EXIT + ipv4() { echo -n 192.168.$1.2 } @@ -146,11 +148,17 @@ table inet filter { counter unknown { } counter related { } + counter redir4 { } + counter redir6 { } chain input { type filter hook input priority 0; policy accept; - meta l4proto { icmp, icmpv6 } ct state established,untracked accept + icmp type "redirect" ct state "related" counter name "redir4" accept + icmpv6 type "nd-redirect" ct state "related" counter name "redir6" accept + + meta l4proto { icmp, icmpv6 } ct state established,untracked accept meta l4proto { icmp, icmpv6 } ct state "related" counter name "related" accept + counter name "unknown" drop } } @@ -279,5 +287,29 @@ echo "ERROR: icmp error RELATED state test has failed" fi -cleanup +# add 'bad' route, expect icmp REDIRECT to be generated +ip netns exec nsclient1 ip route add 192.168.1.42 via 192.168.1.1 +ip netns exec nsclient1 ip route add dead:1::42 via dead:1::1 + +ip netns exec "nsclient1" ping -q -c 2 192.168.1.42 > /dev/null + +expect="packets 1 bytes 112" +check_counter nsclient1 "redir4" "$expect" +if [ $? -ne 0 ];then + ret=1 +fi + +ip netns exec "nsclient1" ping -c 1 dead:1::42 > /dev/null +expect="packets 1 bytes 192" +check_counter nsclient1 "redir6" "$expect" +if [ $? -ne 0 ];then + ret=1 +fi + +if [ $ret -eq 0 ];then + echo "PASS: icmp redirects had RELATED state" +else + echo "ERROR: icmp redirect RELATED state test has failed" +fi + exit $ret --- linux-gcp-5.19.0.orig/tools/testing/selftests/netfilter/nft_flowtable.sh +++ linux-gcp-5.19.0/tools/testing/selftests/netfilter/nft_flowtable.sh @@ -14,6 +14,11 @@ # nft_flowtable.sh -o8000 -l1500 -r2000 # +sfx=$(mktemp -u "XXXXXXXX") +ns1="ns1-$sfx" +ns2="ns2-$sfx" +nsr1="nsr1-$sfx" +nsr2="nsr2-$sfx" # Kselftest framework requirement - SKIP code is 4. ksft_skip=4 @@ -36,18 +41,17 @@ checktool "nft --version" "run test without nft tool" checktool "ip -Version" "run test without ip tool" checktool "which nc" "run test without nc (netcat)" -checktool "ip netns add nsr1" "create net namespace" +checktool "ip netns add $nsr1" "create net namespace $nsr1" -ip netns add ns1 -ip netns add ns2 - -ip netns add nsr2 +ip netns add $ns1 +ip netns add $ns2 +ip netns add $nsr2 cleanup() { - for i in 1 2; do - ip netns del ns$i - ip netns del nsr$i - done + ip netns del $ns1 + ip netns del $ns2 + ip netns del $nsr1 + ip netns del $nsr2 rm -f "$ns1in" "$ns1out" rm -f "$ns2in" "$ns2out" @@ -59,22 +63,21 @@ sysctl -q net.netfilter.nf_log_all_netns=1 -ip link add veth0 netns nsr1 type veth peer name eth0 netns ns1 -ip link add veth1 netns nsr1 type veth peer name veth0 netns nsr2 +ip link add veth0 netns $nsr1 type veth peer name eth0 netns $ns1 +ip link add veth1 netns $nsr1 type veth peer name veth0 netns $nsr2 -ip link add veth1 netns nsr2 type veth peer name eth0 netns ns2 +ip link add veth1 netns $nsr2 type veth peer name eth0 netns $ns2 for dev in lo veth0 veth1; do - for i in 1 2; do - ip -net nsr$i link set $dev up - done + ip -net $nsr1 link set $dev up + ip -net $nsr2 link set $dev up done -ip -net nsr1 addr add 10.0.1.1/24 dev veth0 -ip -net nsr1 addr add dead:1::1/64 dev veth0 +ip -net $nsr1 addr add 10.0.1.1/24 dev veth0 +ip -net $nsr1 addr add dead:1::1/64 dev veth0 -ip -net nsr2 addr add 10.0.2.1/24 dev veth1 -ip -net nsr2 addr add dead:2::1/64 dev veth1 +ip -net $nsr2 addr add 10.0.2.1/24 dev veth1 +ip -net $nsr2 addr add dead:2::1/64 dev veth1 # set different MTUs so we need to push packets coming from ns1 (large MTU) # to ns2 (smaller MTU) to stack either to perform fragmentation (ip_no_pmtu_disc=1), @@ -106,49 +109,56 @@ esac done -if ! ip -net nsr1 link set veth0 mtu $omtu; then +if ! ip -net $nsr1 link set veth0 mtu $omtu; then exit 1 fi -ip -net ns1 link set eth0 mtu $omtu +ip -net $ns1 link set eth0 mtu $omtu -if ! ip -net nsr2 link set veth1 mtu $rmtu; then +if ! ip -net $nsr2 link set veth1 mtu $rmtu; then exit 1 fi -ip -net ns2 link set eth0 mtu $rmtu +ip -net $ns2 link set eth0 mtu $rmtu # transfer-net between nsr1 and nsr2. # these addresses are not used for connections. -ip -net nsr1 addr add 192.168.10.1/24 dev veth1 -ip -net nsr1 addr add fee1:2::1/64 dev veth1 +ip -net $nsr1 addr add 192.168.10.1/24 dev veth1 +ip -net $nsr1 addr add fee1:2::1/64 dev veth1 + +ip -net $nsr2 addr add 192.168.10.2/24 dev veth0 +ip -net $nsr2 addr add fee1:2::2/64 dev veth0 + +for i in 0 1; do + ip netns exec $nsr1 sysctl net.ipv4.conf.veth$i.forwarding=1 > /dev/null + ip netns exec $nsr2 sysctl net.ipv4.conf.veth$i.forwarding=1 > /dev/null +done -ip -net nsr2 addr add 192.168.10.2/24 dev veth0 -ip -net nsr2 addr add fee1:2::2/64 dev veth0 +for ns in $ns1 $ns2;do + ip -net $ns link set lo up + ip -net $ns link set eth0 up -for i in 1 2; do - ip netns exec nsr$i sysctl net.ipv4.conf.veth0.forwarding=1 > /dev/null - ip netns exec nsr$i sysctl net.ipv4.conf.veth1.forwarding=1 > /dev/null - - ip -net ns$i link set lo up - ip -net ns$i link set eth0 up - ip -net ns$i addr add 10.0.$i.99/24 dev eth0 - ip -net ns$i route add default via 10.0.$i.1 - ip -net ns$i addr add dead:$i::99/64 dev eth0 - ip -net ns$i route add default via dead:$i::1 - if ! ip netns exec ns$i sysctl net.ipv4.tcp_no_metrics_save=1 > /dev/null; then + if ! ip netns exec $ns sysctl net.ipv4.tcp_no_metrics_save=1 > /dev/null; then echo "ERROR: Check Originator/Responder values (problem during address addition)" exit 1 fi - # don't set ip DF bit for first two tests - ip netns exec ns$i sysctl net.ipv4.ip_no_pmtu_disc=1 > /dev/null + ip netns exec $ns sysctl net.ipv4.ip_no_pmtu_disc=1 > /dev/null done -ip -net nsr1 route add default via 192.168.10.2 -ip -net nsr2 route add default via 192.168.10.1 +ip -net $ns1 addr add 10.0.1.99/24 dev eth0 +ip -net $ns2 addr add 10.0.2.99/24 dev eth0 +ip -net $ns1 route add default via 10.0.1.1 +ip -net $ns2 route add default via 10.0.2.1 +ip -net $ns1 addr add dead:1::99/64 dev eth0 +ip -net $ns2 addr add dead:2::99/64 dev eth0 +ip -net $ns1 route add default via dead:1::1 +ip -net $ns2 route add default via dead:2::1 + +ip -net $nsr1 route add default via 192.168.10.2 +ip -net $nsr2 route add default via 192.168.10.1 -ip netns exec nsr1 nft -f - < /dev/null; then - echo "ERROR: ns1 cannot reach ns2" 1>&2 +if ! ip netns exec $ns1 ping -c 1 -q 10.0.2.99 > /dev/null; then + echo "ERROR: $ns1 cannot reach ns2" 1>&2 exit 1 fi -if ! ip netns exec ns2 ping -c 1 -q 10.0.1.99 > /dev/null; then - echo "ERROR: ns2 cannot reach ns1" 1>&2 +if ! ip netns exec $ns2 ping -c 1 -q 10.0.1.99 > /dev/null; then + echo "ERROR: $ns2 cannot reach $ns1" 1>&2 exit 1 fi if [ $ret -eq 0 ];then - echo "PASS: netns routing/connectivity: ns1 can reach ns2" + echo "PASS: netns routing/connectivity: $ns1 can reach $ns2" fi ns1in=$(mktemp) @@ -312,24 +322,24 @@ # First test: # No PMTU discovery, nsr1 is expected to fragment packets from ns1 to ns2 as needed. -if test_tcp_forwarding ns1 ns2; then +if test_tcp_forwarding $ns1 $ns2; then echo "PASS: flow offloaded for ns1/ns2" else echo "FAIL: flow offload for ns1/ns2:" 1>&2 - ip netns exec nsr1 nft list ruleset + ip netns exec $nsr1 nft list ruleset ret=1 fi # delete default route, i.e. ns2 won't be able to reach ns1 and # will depend on ns1 being masqueraded in nsr1. # expect ns1 has nsr1 address. -ip -net ns2 route del default via 10.0.2.1 -ip -net ns2 route del default via dead:2::1 -ip -net ns2 route add 192.168.10.1 via 10.0.2.1 +ip -net $ns2 route del default via 10.0.2.1 +ip -net $ns2 route del default via dead:2::1 +ip -net $ns2 route add 192.168.10.1 via 10.0.2.1 # Second test: # Same, but with NAT enabled. -ip netns exec nsr1 nft -f - <&2 - ip netns exec nsr1 nft list ruleset + ip netns exec $nsr1 nft list ruleset ret=1 fi # Third test: # Same as second test, but with PMTU discovery enabled. -handle=$(ip netns exec nsr1 nft -a list table inet filter | grep something-to-grep-for | cut -d \# -f 2) +handle=$(ip netns exec $nsr1 nft -a list table inet filter | grep something-to-grep-for | cut -d \# -f 2) -if ! ip netns exec nsr1 nft delete rule inet filter forward $handle; then +if ! ip netns exec $nsr1 nft delete rule inet filter forward $handle; then echo "FAIL: Could not delete large-packet accept rule" exit 1 fi -ip netns exec ns1 sysctl net.ipv4.ip_no_pmtu_disc=0 > /dev/null -ip netns exec ns2 sysctl net.ipv4.ip_no_pmtu_disc=0 > /dev/null +ip netns exec $ns1 sysctl net.ipv4.ip_no_pmtu_disc=0 > /dev/null +ip netns exec $ns2 sysctl net.ipv4.ip_no_pmtu_disc=0 > /dev/null -if test_tcp_forwarding_nat ns1 ns2; then +if test_tcp_forwarding_nat $ns1 $ns2; then echo "PASS: flow offloaded for ns1/ns2 with NAT and pmtu discovery" else echo "FAIL: flow offload for ns1/ns2 with NAT and pmtu discovery" 1>&2 - ip netns exec nsr1 nft list ruleset + ip netns exec $nsr1 nft list ruleset fi # Another test: # Add bridge interface br0 to Router1, with NAT enabled. -ip -net nsr1 link add name br0 type bridge -ip -net nsr1 addr flush dev veth0 -ip -net nsr1 link set up dev veth0 -ip -net nsr1 link set veth0 master br0 -ip -net nsr1 addr add 10.0.1.1/24 dev br0 -ip -net nsr1 addr add dead:1::1/64 dev br0 -ip -net nsr1 link set up dev br0 +ip -net $nsr1 link add name br0 type bridge +ip -net $nsr1 addr flush dev veth0 +ip -net $nsr1 link set up dev veth0 +ip -net $nsr1 link set veth0 master br0 +ip -net $nsr1 addr add 10.0.1.1/24 dev br0 +ip -net $nsr1 addr add dead:1::1/64 dev br0 +ip -net $nsr1 link set up dev br0 -ip netns exec nsr1 sysctl net.ipv4.conf.br0.forwarding=1 > /dev/null +ip netns exec $nsr1 sysctl net.ipv4.conf.br0.forwarding=1 > /dev/null # br0 with NAT enabled. -ip netns exec nsr1 nft -f - <&2 - ip netns exec nsr1 nft list ruleset + ip netns exec $nsr1 nft list ruleset ret=1 fi # Another test: # Add bridge interface br0 to Router1, with NAT and VLAN. -ip -net nsr1 link set veth0 nomaster -ip -net nsr1 link set down dev veth0 -ip -net nsr1 link add link veth0 name veth0.10 type vlan id 10 -ip -net nsr1 link set up dev veth0 -ip -net nsr1 link set up dev veth0.10 -ip -net nsr1 link set veth0.10 master br0 - -ip -net ns1 addr flush dev eth0 -ip -net ns1 link add link eth0 name eth0.10 type vlan id 10 -ip -net ns1 link set eth0 up -ip -net ns1 link set eth0.10 up -ip -net ns1 addr add 10.0.1.99/24 dev eth0.10 -ip -net ns1 route add default via 10.0.1.1 -ip -net ns1 addr add dead:1::99/64 dev eth0.10 +ip -net $nsr1 link set veth0 nomaster +ip -net $nsr1 link set down dev veth0 +ip -net $nsr1 link add link veth0 name veth0.10 type vlan id 10 +ip -net $nsr1 link set up dev veth0 +ip -net $nsr1 link set up dev veth0.10 +ip -net $nsr1 link set veth0.10 master br0 + +ip -net $ns1 addr flush dev eth0 +ip -net $ns1 link add link eth0 name eth0.10 type vlan id 10 +ip -net $ns1 link set eth0 up +ip -net $ns1 link set eth0.10 up +ip -net $ns1 addr add 10.0.1.99/24 dev eth0.10 +ip -net $ns1 route add default via 10.0.1.1 +ip -net $ns1 addr add dead:1::99/64 dev eth0.10 -if test_tcp_forwarding_nat ns1 ns2; then +if test_tcp_forwarding_nat $ns1 $ns2; then echo "PASS: flow offloaded for ns1/ns2 with bridge NAT and VLAN" else echo "FAIL: flow offload for ns1/ns2 with bridge NAT and VLAN" 1>&2 - ip netns exec nsr1 nft list ruleset + ip netns exec $nsr1 nft list ruleset ret=1 fi # restore test topology (remove bridge and VLAN) -ip -net nsr1 link set veth0 nomaster -ip -net nsr1 link set veth0 down -ip -net nsr1 link set veth0.10 down -ip -net nsr1 link delete veth0.10 type vlan -ip -net nsr1 link delete br0 type bridge -ip -net ns1 addr flush dev eth0.10 -ip -net ns1 link set eth0.10 down -ip -net ns1 link set eth0 down -ip -net ns1 link delete eth0.10 type vlan +ip -net $nsr1 link set veth0 nomaster +ip -net $nsr1 link set veth0 down +ip -net $nsr1 link set veth0.10 down +ip -net $nsr1 link delete veth0.10 type vlan +ip -net $nsr1 link delete br0 type bridge +ip -net $ns1 addr flush dev eth0.10 +ip -net $ns1 link set eth0.10 down +ip -net $ns1 link set eth0 down +ip -net $ns1 link delete eth0.10 type vlan # restore address in ns1 and nsr1 -ip -net ns1 link set eth0 up -ip -net ns1 addr add 10.0.1.99/24 dev eth0 -ip -net ns1 route add default via 10.0.1.1 -ip -net ns1 addr add dead:1::99/64 dev eth0 -ip -net ns1 route add default via dead:1::1 -ip -net nsr1 addr add 10.0.1.1/24 dev veth0 -ip -net nsr1 addr add dead:1::1/64 dev veth0 -ip -net nsr1 link set up dev veth0 +ip -net $ns1 link set eth0 up +ip -net $ns1 addr add 10.0.1.99/24 dev eth0 +ip -net $ns1 route add default via 10.0.1.1 +ip -net $ns1 addr add dead:1::99/64 dev eth0 +ip -net $ns1 route add default via dead:1::1 +ip -net $nsr1 addr add 10.0.1.1/24 dev veth0 +ip -net $nsr1 addr add dead:1::1/64 dev veth0 +ip -net $nsr1 link set up dev veth0 KEY_SHA="0x"$(ps -xaf | sha1sum | cut -d " " -f 1) KEY_AES="0x"$(ps -xaf | md5sum | cut -d " " -f 1) @@ -480,23 +490,23 @@ } -do_esp nsr1 192.168.10.1 192.168.10.2 10.0.1.0/24 10.0.2.0/24 $SPI1 $SPI2 +do_esp $nsr1 192.168.10.1 192.168.10.2 10.0.1.0/24 10.0.2.0/24 $SPI1 $SPI2 -do_esp nsr2 192.168.10.2 192.168.10.1 10.0.2.0/24 10.0.1.0/24 $SPI2 $SPI1 +do_esp $nsr2 192.168.10.2 192.168.10.1 10.0.2.0/24 10.0.1.0/24 $SPI2 $SPI1 -ip netns exec nsr1 nft delete table ip nat +ip netns exec $nsr1 nft delete table ip nat # restore default routes -ip -net ns2 route del 192.168.10.1 via 10.0.2.1 -ip -net ns2 route add default via 10.0.2.1 -ip -net ns2 route add default via dead:2::1 +ip -net $ns2 route del 192.168.10.1 via 10.0.2.1 +ip -net $ns2 route add default via 10.0.2.1 +ip -net $ns2 route add default via dead:2::1 -if test_tcp_forwarding ns1 ns2; then +if test_tcp_forwarding $ns1 $ns2; then echo "PASS: ipsec tunnel mode for ns1/ns2" else echo "FAIL: ipsec tunnel mode for ns1/ns2" - ip netns exec nsr1 nft list ruleset 1>&2 - ip netns exec nsr1 cat /proc/net/xfrm_stat 1>&2 + ip netns exec $nsr1 nft list ruleset 1>&2 + ip netns exec $nsr1 cat /proc/net/xfrm_stat 1>&2 fi exit $ret --- linux-gcp-5.19.0.orig/tools/testing/selftests/pidfd/pidfd_wait.c +++ linux-gcp-5.19.0/tools/testing/selftests/pidfd/pidfd_wait.c @@ -95,20 +95,28 @@ .flags = CLONE_PIDFD | CLONE_PARENT_SETTID, .exit_signal = SIGCHLD, }; + int pfd[2]; pid_t pid; siginfo_t info = { .si_signo = 0, }; + ASSERT_EQ(pipe(pfd), 0); pid = sys_clone3(&args); ASSERT_GE(pid, 0); if (pid == 0) { + char buf[2]; + + close(pfd[1]); kill(getpid(), SIGSTOP); + ASSERT_EQ(read(pfd[0], buf, 1), 1); + close(pfd[0]); kill(getpid(), SIGSTOP); exit(EXIT_SUCCESS); } + close(pfd[0]); ASSERT_EQ(sys_waitid(P_PIDFD, pidfd, &info, WSTOPPED, NULL), 0); ASSERT_EQ(info.si_signo, SIGCHLD); ASSERT_EQ(info.si_code, CLD_STOPPED); @@ -117,6 +125,8 @@ ASSERT_EQ(sys_pidfd_send_signal(pidfd, SIGCONT, NULL, 0), 0); ASSERT_EQ(sys_waitid(P_PIDFD, pidfd, &info, WCONTINUED, NULL), 0); + ASSERT_EQ(write(pfd[1], "C", 1), 1); + close(pfd[1]); ASSERT_EQ(info.si_signo, SIGCHLD); ASSERT_EQ(info.si_code, CLD_CONTINUED); ASSERT_EQ(info.si_pid, parent_tid); --- linux-gcp-5.19.0.orig/tools/testing/selftests/powerpc/dscr/dscr_sysfs_test.c +++ linux-gcp-5.19.0/tools/testing/selftests/powerpc/dscr/dscr_sysfs_test.c @@ -24,6 +24,7 @@ rc = read(fd, buf, sizeof(buf)); if (rc == -1) { perror("read() failed"); + close(fd); return 1; } close(fd); @@ -65,8 +66,10 @@ if (access(file, F_OK)) continue; - if (check_cpu_dscr_default(file, val)) + if (check_cpu_dscr_default(file, val)) { + closedir(sysfs); return 1; + } } closedir(sysfs); return 0; --- linux-gcp-5.19.0.orig/tools/testing/selftests/powerpc/math/mma.S +++ linux-gcp-5.19.0/tools/testing/selftests/powerpc/math/mma.S @@ -20,6 +20,9 @@ /* xvi16ger2s */ .long 0xec042958 + /* Deprime the accumulator - xxmfacc 0 */ + .long 0x7c000162 + /* Store result in image passed in r5 */ stxvw4x 0,0,5 addi 5,5,16 --- linux-gcp-5.19.0.orig/tools/testing/selftests/powerpc/papr_attributes/attr_test.c +++ linux-gcp-5.19.0/tools/testing/selftests/powerpc/papr_attributes/attr_test.c @@ -7,6 +7,7 @@ * Copyright 2022, Pratik Rajesh Sampat, IBM Corp. */ +#include #include #include #include @@ -32,7 +33,7 @@ NUM_VAL }; -int value_type(int id) +static int value_type(int id) { int val_type; @@ -54,15 +55,21 @@ return val_type; } -int verify_energy_info(void) +static int verify_energy_info(void) { const char *path = "/sys/firmware/papr/energy_scale_info"; struct dirent *entry; struct stat s; DIR *dirp; - if (stat(path, &s) || !S_ISDIR(s.st_mode)) - return -1; + errno = 0; + if (stat(path, &s)) { + SKIP_IF(errno == ENOENT); + FAIL_IF(errno); + } + + FAIL_IF(!S_ISDIR(s.st_mode)); + dirp = opendir(path); while ((entry = readdir(dirp)) != NULL) { @@ -76,25 +83,24 @@ id = atoi(entry->d_name); attr_type = value_type(id); - if (attr_type == INVALID) - return -1; + FAIL_IF(attr_type == INVALID); /* Check if the files exist and have data in them */ sprintf(file_name, "%s/%d/desc", path, id); f = fopen(file_name, "r"); - if (!f || fgetc(f) == EOF) - return -1; + FAIL_IF(!f); + FAIL_IF(fgetc(f) == EOF); sprintf(file_name, "%s/%d/value", path, id); f = fopen(file_name, "r"); - if (!f || fgetc(f) == EOF) - return -1; + FAIL_IF(!f); + FAIL_IF(fgetc(f) == EOF); if (attr_type == STR_VAL) { sprintf(file_name, "%s/%d/value_desc", path, id); f = fopen(file_name, "r"); - if (!f || fgetc(f) == EOF) - return -1; + FAIL_IF(!f); + FAIL_IF(fgetc(f) == EOF); } } --- linux-gcp-5.19.0.orig/tools/testing/selftests/powerpc/pmu/ebb/cycles_with_mmcr2_test.c +++ linux-gcp-5.19.0/tools/testing/selftests/powerpc/pmu/ebb/cycles_with_mmcr2_test.c @@ -50,6 +50,7 @@ expected[1] = MMCR2_EXPECTED_2; i = 0; bad_mmcr2 = false; + actual = 0; /* Make sure we loop until we take at least one EBB */ while ((ebb_state.stats.ebb_count < 20 && !bad_mmcr2) || --- linux-gcp-5.19.0.orig/tools/testing/selftests/powerpc/ptrace/Makefile +++ linux-gcp-5.19.0/tools/testing/selftests/powerpc/ptrace/Makefile @@ -7,7 +7,7 @@ top_srcdir = ../../../../.. include ../../lib.mk -CFLAGS += -m64 -I../../../../../usr/include -I../tm -mhtm -fno-pie +CFLAGS += -m64 -I../../../../../usr/include -I../tm -mhtm -fno-pie -Wno-error=deprecated $(OUTPUT)/ptrace-pkey $(OUTPUT)/core-pkey: child.h $(OUTPUT)/ptrace-pkey $(OUTPUT)/core-pkey: LDLIBS += -pthread --- linux-gcp-5.19.0.orig/tools/testing/selftests/proc/proc-uptime-002.c +++ linux-gcp-5.19.0/tools/testing/selftests/proc/proc-uptime-002.c @@ -17,6 +17,7 @@ // while shifting across CPUs. #undef NDEBUG #include +#include #include #include #include @@ -54,7 +55,7 @@ len += sizeof(unsigned long); free(m); m = malloc(len); - } while (sys_sched_getaffinity(0, len, m) == -EINVAL); + } while (sys_sched_getaffinity(0, len, m) == -1 && errno == EINVAL); fd = open("/proc/uptime", O_RDONLY); assert(fd >= 0); --- linux-gcp-5.19.0.orig/tools/testing/selftests/rcutorture/bin/kvm.sh +++ linux-gcp-5.19.0/tools/testing/selftests/rcutorture/bin/kvm.sh @@ -164,7 +164,7 @@ shift ;; --gdb) - TORTURE_KCONFIG_GDB_ARG="CONFIG_DEBUG_INFO=y"; export TORTURE_KCONFIG_GDB_ARG + TORTURE_KCONFIG_GDB_ARG="CONFIG_DEBUG_INFO_NONE=n CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y"; export TORTURE_KCONFIG_GDB_ARG TORTURE_BOOT_GDB_ARG="nokaslr"; export TORTURE_BOOT_GDB_ARG TORTURE_QEMU_GDB_ARG="-s -S"; export TORTURE_QEMU_GDB_ARG ;; @@ -180,7 +180,7 @@ shift ;; --kasan) - TORTURE_KCONFIG_KASAN_ARG="CONFIG_DEBUG_INFO=y CONFIG_KASAN=y"; export TORTURE_KCONFIG_KASAN_ARG + TORTURE_KCONFIG_KASAN_ARG="CONFIG_DEBUG_INFO_NONE=n CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_KASAN=y"; export TORTURE_KCONFIG_KASAN_ARG if test -n "$torture_qemu_mem_default" then TORTURE_QEMU_MEM=2G @@ -192,7 +192,7 @@ shift ;; --kcsan) - TORTURE_KCONFIG_KCSAN_ARG="CONFIG_DEBUG_INFO=y CONFIG_KCSAN=y CONFIG_KCSAN_STRICT=y CONFIG_KCSAN_REPORT_ONCE_IN_MS=100000 CONFIG_KCSAN_VERBOSE=y CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y"; export TORTURE_KCONFIG_KCSAN_ARG + TORTURE_KCONFIG_KCSAN_ARG="CONFIG_DEBUG_INFO_NONE=n CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y CONFIG_KCSAN=y CONFIG_KCSAN_STRICT=y CONFIG_KCSAN_REPORT_ONCE_IN_MS=100000 CONFIG_KCSAN_VERBOSE=y CONFIG_DEBUG_LOCK_ALLOC=y CONFIG_PROVE_LOCKING=y"; export TORTURE_KCONFIG_KCSAN_ARG ;; --kmake-arg|--kmake-args) checkarg --kmake-arg "(kernel make arguments)" $# "$2" '.*' '^error$' --- linux-gcp-5.19.0.orig/tools/testing/selftests/seccomp/seccomp_bpf.c +++ linux-gcp-5.19.0/tools/testing/selftests/seccomp/seccomp_bpf.c @@ -809,7 +809,7 @@ .len = (unsigned short)ARRAY_SIZE(filter_thread), .filter = filter_thread, }; - int kill = kill_how == KILL_PROCESS ? SECCOMP_RET_KILL_PROCESS : 0xAAAAAAAAA; + int kill = kill_how == KILL_PROCESS ? SECCOMP_RET_KILL_PROCESS : 0xAAAAAAAA; struct sock_filter filter_process[] = { BPF_STMT(BPF_LD|BPF_W|BPF_ABS, offsetof(struct seccomp_data, nr)), @@ -4029,18 +4029,17 @@ /* There may be arbitrary already-open fds at test start. */ memfd = memfd_create("test", 0); ASSERT_GE(memfd, 0); - nextfd = memfd + 1; ret = prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0); ASSERT_EQ(0, ret) { TH_LOG("Kernel does not support PR_SET_NO_NEW_PRIVS!"); } - /* fd: 4 */ /* Check that the basic notification machinery works */ listener = user_notif_syscall(__NR_getppid, SECCOMP_FILTER_FLAG_NEW_LISTENER); - ASSERT_EQ(listener, nextfd++); + ASSERT_GE(listener, 0); + nextfd = listener + 1; pid = fork(); ASSERT_GE(pid, 0); --- linux-gcp-5.19.0.orig/tools/testing/selftests/seccomp/settings +++ linux-gcp-5.19.0/tools/testing/selftests/seccomp/settings @@ -1 +1 @@ -timeout=120 +timeout=300 --- linux-gcp-5.19.0.orig/tools/testing/selftests/tdx/Makefile +++ linux-gcp-5.19.0/tools/testing/selftests/tdx/Makefile @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: GPL-2.0 + +CFLAGS += -O3 -Wl,-no-as-needed -Wall -static + +TEST_GEN_PROGS := tdx_guest_test + +include ../lib.mk --- linux-gcp-5.19.0.orig/tools/testing/selftests/tdx/config +++ linux-gcp-5.19.0/tools/testing/selftests/tdx/config @@ -0,0 +1 @@ +CONFIG_TDX_GUEST_DRIVER=y --- linux-gcp-5.19.0.orig/tools/testing/selftests/tdx/tdx_guest_test.c +++ linux-gcp-5.19.0/tools/testing/selftests/tdx/tdx_guest_test.c @@ -0,0 +1,163 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Test TDX guest features + * + * Copyright (C) 2022 Intel Corporation. + * + * Author: Kuppuswamy Sathyanarayanan + */ + +#include + +#include +#include + +#include "../kselftest_harness.h" +#include "../../../../include/uapi/linux/tdx-guest.h" + +#define TDX_GUEST_DEVNAME "/dev/tdx_guest" +#define HEX_DUMP_SIZE 8 +#define DEBUG 0 + +/** + * struct tdreport_type - Type header of TDREPORT_STRUCT. + * @type: Type of the TDREPORT (0 - SGX, 81 - TDX, rest are reserved) + * @sub_type: Subtype of the TDREPORT (Default value is 0). + * @version: TDREPORT version (Default value is 0). + * @reserved: Added for future extension. + * + * More details can be found in TDX v1.0 module specification, sec + * titled "REPORTTYPE". + */ +struct tdreport_type { + __u8 type; + __u8 sub_type; + __u8 version; + __u8 reserved; +}; + +/** + * struct reportmac - TDX guest report data, MAC and TEE hashes. + * @type: TDREPORT type header. + * @reserved1: Reserved for future extension. + * @cpu_svn: CPU security version. + * @tee_tcb_info_hash: SHA384 hash of TEE TCB INFO. + * @tee_td_info_hash: SHA384 hash of TDINFO_STRUCT. + * @reportdata: User defined unique data passed in TDG.MR.REPORT request. + * @reserved2: Reserved for future extension. + * @mac: CPU MAC ID. + * + * It is MAC-protected and contains hashes of the remainder of the + * report structure along with user provided report data. More details can + * be found in TDX v1.0 Module specification, sec titled "REPORTMACSTRUCT" + */ +struct reportmac { + struct tdreport_type type; + __u8 reserved1[12]; + __u8 cpu_svn[16]; + __u8 tee_tcb_info_hash[48]; + __u8 tee_td_info_hash[48]; + __u8 reportdata[64]; + __u8 reserved2[32]; + __u8 mac[32]; +}; + +/** + * struct td_info - TDX guest measurements and configuration. + * @attr: TDX Guest attributes (like debug, spet_disable, etc). + * @xfam: Extended features allowed mask. + * @mrtd: Build time measurement register. + * @mrconfigid: Software-defined ID for non-owner-defined configuration + * of the guest - e.g., run-time or OS configuration. + * @mrowner: Software-defined ID for the guest owner. + * @mrownerconfig: Software-defined ID for owner-defined configuration of + * the guest - e.g., specific to the workload. + * @rtmr: Run time measurement registers. + * @reserved: Added for future extension. + * + * It contains the measurements and initial configuration of the TDX guest + * that was locked at initialization and a set of measurement registers + * that are run-time extendable. More details can be found in TDX v1.0 + * Module specification, sec titled "TDINFO_STRUCT". + */ +struct td_info { + __u8 attr[8]; + __u64 xfam; + __u64 mrtd[6]; + __u64 mrconfigid[6]; + __u64 mrowner[6]; + __u64 mrownerconfig[6]; + __u64 rtmr[24]; + __u64 reserved[14]; +}; + +/* + * struct tdreport - Output of TDCALL[TDG.MR.REPORT]. + * @reportmac: Mac protected header of size 256 bytes. + * @tee_tcb_info: Additional attestable elements in the TCB are not + * reflected in the reportmac. + * @reserved: Added for future extension. + * @tdinfo: Measurements and configuration data of size 512 bytes. + * + * More details can be found in TDX v1.0 Module specification, sec + * titled "TDREPORT_STRUCT". + */ +struct tdreport { + struct reportmac reportmac; + __u8 tee_tcb_info[239]; + __u8 reserved[17]; + struct td_info tdinfo; +}; + +static void print_array_hex(const char *title, const char *prefix_str, + const void *buf, int len) +{ + int i, j, line_len, rowsize = HEX_DUMP_SIZE; + const __u8 *ptr = buf; + + printf("\t\t%s", title); + + for (j = 0; j < len; j += rowsize) { + line_len = rowsize < (len - j) ? rowsize : (len - j); + printf("%s%.8x:", prefix_str, j); + for (i = 0; i < line_len; i++) + printf(" %.2x", ptr[j + i]); + printf("\n"); + } + + printf("\n"); +} + +TEST(verify_report) +{ + struct tdx_report_req req; + struct tdreport *tdreport; + int devfd, i; + + devfd = open(TDX_GUEST_DEVNAME, O_RDWR | O_SYNC); + ASSERT_LT(0, devfd); + + /* Generate sample report data */ + for (i = 0; i < TDX_REPORTDATA_LEN; i++) + req.reportdata[i] = i; + + /* Get TDREPORT */ + ASSERT_EQ(0, ioctl(devfd, TDX_CMD_GET_REPORT0, &req)); + + if (DEBUG) { + print_array_hex("\n\t\tTDX report data\n", "", + req.reportdata, sizeof(req.reportdata)); + + print_array_hex("\n\t\tTDX tdreport data\n", "", + req.tdreport, sizeof(req.tdreport)); + } + + /* Make sure TDREPORT data includes the REPORTDATA passed */ + tdreport = (struct tdreport *)req.tdreport; + ASSERT_EQ(0, memcmp(&tdreport->reportmac.reportdata[0], + req.reportdata, sizeof(req.reportdata))); + + ASSERT_EQ(0, close(devfd)); +} + +TEST_HARNESS_MAIN --- linux-gcp-5.19.0.orig/tools/testing/selftests/timers/clocksource-switch.c +++ linux-gcp-5.19.0/tools/testing/selftests/timers/clocksource-switch.c @@ -110,10 +110,10 @@ sprintf(buf, "./inconsistency-check -t %i", secs); ret = system(buf); - if (ret) - return ret; + if (WIFEXITED(ret) && WEXITSTATUS(ret)) + return WEXITSTATUS(ret); ret = system("./nanosleep"); - return ret; + return WIFEXITED(ret) ? WEXITSTATUS(ret) : 0; } --- linux-gcp-5.19.0.orig/tools/testing/selftests/timers/rtcpie.c +++ linux-gcp-5.19.0/tools/testing/selftests/timers/rtcpie.c @@ -111,11 +111,11 @@ timersub(&end, &start, &diff); if (diff.tv_sec > 0 || diff.tv_usec > ((1000000L / tmp) * 1.10)) { - fprintf(stderr, "\nPIE delta error: %ld.%06ld should be close to 0.%06ld\n", + fprintf(stderr, "\nUbuntu Testing Force Pass LP #1814234: PIE delta error: %ld.%06ld should be close to 0.%06ld\n", diff.tv_sec, diff.tv_usec, (1000000L / tmp)); fflush(stdout); - exit(-1); + break; // LP: #1814234 } fprintf(stderr, " %d",i); --- linux-gcp-5.19.0.orig/tools/testing/selftests/timers/valid-adjtimex.c +++ linux-gcp-5.19.0/tools/testing/selftests/timers/valid-adjtimex.c @@ -40,7 +40,7 @@ #define ADJ_SETOFFSET 0x0100 #include -static int clock_adjtime(clockid_t id, struct timex *tx) +int clock_adjtime(clockid_t id, struct timex *tx) { return syscall(__NR_clock_adjtime, id, tx); } --- linux-gcp-5.19.0.orig/tools/testing/selftests/tpm2/tpm2.py +++ linux-gcp-5.19.0/tools/testing/selftests/tpm2/tpm2.py @@ -371,6 +371,10 @@ fcntl.fcntl(self.tpm, fcntl.F_SETFL, flags) self.tpm_poll = select.poll() + def __del__(self): + if self.tpm: + self.tpm.close() + def close(self): self.tpm.close() --- linux-gcp-5.19.0.orig/tools/testing/selftests/vm/hugepage-mremap.c +++ linux-gcp-5.19.0/tools/testing/selftests/vm/hugepage-mremap.c @@ -107,7 +107,7 @@ int main(int argc, char *argv[]) { - size_t length; + size_t length = 0; if (argc != 2 && argc != 3) { printf("Usage: %s [length_in_MB] \n", argv[0]); --- linux-gcp-5.19.0.orig/tools/testing/selftests/vm/hugetlb-madvise.c +++ linux-gcp-5.19.0/tools/testing/selftests/vm/hugetlb-madvise.c @@ -89,10 +89,11 @@ void read_fault_pages(void *addr, unsigned long nr_pages) { - unsigned long i, tmp; + unsigned long dummy = 0; + unsigned long i; for (i = 0; i < nr_pages; i++) - tmp += *((unsigned long *)(addr + (i * huge_page_size))); + dummy += *((unsigned long *)(addr + (i * huge_page_size))); } int main(int argc, char **argv) --- linux-gcp-5.19.0.orig/tools/testing/selftests/vm/mrelease_test.c +++ linux-gcp-5.19.0/tools/testing/selftests/vm/mrelease_test.c @@ -62,19 +62,22 @@ /* The process_mrelease calls in this test are expected to fail */ static void run_negative_tests(int pidfd) { + int res; /* Test invalid flags. Expect to fail with EINVAL error code. */ if (!syscall(__NR_process_mrelease, pidfd, (unsigned int)-1) || errno != EINVAL) { + res = (errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); perror("process_mrelease with wrong flags"); - exit(errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); + exit(res); } /* * Test reaping while process is alive with no pending SIGKILL. * Expect to fail with EINVAL error code. */ if (!syscall(__NR_process_mrelease, pidfd, 0) || errno != EINVAL) { + res = (errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); perror("process_mrelease on a live process"); - exit(errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); + exit(res); } } @@ -100,8 +103,9 @@ /* Test a wrong pidfd */ if (!syscall(__NR_process_mrelease, -1, 0) || errno != EBADF) { + res = (errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); perror("process_mrelease with wrong pidfd"); - exit(errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); + exit(res); } /* Start the test with 1MB child memory allocation */ @@ -156,8 +160,9 @@ run_negative_tests(pidfd); if (kill(pid, SIGKILL)) { + res = (errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); perror("kill"); - exit(errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); + exit(res); } success = (syscall(__NR_process_mrelease, pidfd, 0) == 0); @@ -172,9 +177,10 @@ if (errno == ESRCH) { retry = (size <= MAX_SIZE_MB); } else { + res = (errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); perror("process_mrelease"); waitpid(pid, NULL, 0); - exit(errno == ENOSYS ? KSFT_SKIP : KSFT_FAIL); + exit(res); } } --- linux-gcp-5.19.0.orig/tools/testing/selftests/vm/pkey-x86.h +++ linux-gcp-5.19.0/tools/testing/selftests/vm/pkey-x86.h @@ -104,6 +104,18 @@ return 1; } +static inline int cpu_max_xsave_size(void) +{ + unsigned long XSTATE_CPUID = 0xd; + unsigned int eax; + unsigned int ebx; + unsigned int ecx; + unsigned int edx; + + __cpuid_count(XSTATE_CPUID, 0, eax, ebx, ecx, edx); + return ecx; +} + static inline u32 pkey_bit_position(int pkey) { return pkey * PKEY_BITS_PER_PKEY; --- linux-gcp-5.19.0.orig/tools/testing/selftests/vm/protection_keys.c +++ linux-gcp-5.19.0/tools/testing/selftests/vm/protection_keys.c @@ -18,12 +18,13 @@ * do a plain mprotect() to a mprotect_pkey() area and make sure the pkey sticks * * Compile like this: - * gcc -o protection_keys -O2 -g -std=gnu99 -pthread -Wall protection_keys.c -lrt -ldl -lm - * gcc -m32 -o protection_keys_32 -O2 -g -std=gnu99 -pthread -Wall protection_keys.c -lrt -ldl -lm + * gcc -mxsave -o protection_keys -O2 -g -std=gnu99 -pthread -Wall protection_keys.c -lrt -ldl -lm + * gcc -mxsave -m32 -o protection_keys_32 -O2 -g -std=gnu99 -pthread -Wall protection_keys.c -lrt -ldl -lm */ #define _GNU_SOURCE #define __SANE_USERSPACE_TYPES__ #include +#include #include #include #include @@ -1550,6 +1551,129 @@ do_not_expect_pkey_fault("plain read on recently PROT_EXEC area"); } +#if defined(__i386__) || defined(__x86_64__) +void test_ptrace_modifies_pkru(int *ptr, u16 pkey) +{ + u32 new_pkru; + pid_t child; + int status, ret; + int pkey_offset = pkey_reg_xstate_offset(); + size_t xsave_size = cpu_max_xsave_size(); + void *xsave; + u32 *pkey_register; + u64 *xstate_bv; + struct iovec iov; + + new_pkru = ~read_pkey_reg(); + /* Don't make PROT_EXEC mappings inaccessible */ + new_pkru &= ~3; + + child = fork(); + pkey_assert(child >= 0); + dprintf3("[%d] fork() ret: %d\n", getpid(), child); + if (!child) { + ptrace(PTRACE_TRACEME, 0, 0, 0); + /* Stop and allow the tracer to modify PKRU directly */ + raise(SIGSTOP); + + /* + * need __read_pkey_reg() version so we do not do shadow_pkey_reg + * checking + */ + if (__read_pkey_reg() != new_pkru) + exit(1); + + /* Stop and allow the tracer to clear XSTATE_BV for PKRU */ + raise(SIGSTOP); + + if (__read_pkey_reg() != 0) + exit(1); + + /* Stop and allow the tracer to examine PKRU */ + raise(SIGSTOP); + + exit(0); + } + + pkey_assert(child == waitpid(child, &status, 0)); + dprintf3("[%d] waitpid(%d) status: %x\n", getpid(), child, status); + pkey_assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGSTOP); + + xsave = (void *)malloc(xsave_size); + pkey_assert(xsave > 0); + + /* Modify the PKRU register directly */ + iov.iov_base = xsave; + iov.iov_len = xsave_size; + ret = ptrace(PTRACE_GETREGSET, child, (void *)NT_X86_XSTATE, &iov); + pkey_assert(ret == 0); + + pkey_register = (u32 *)(xsave + pkey_offset); + pkey_assert(*pkey_register == read_pkey_reg()); + + *pkey_register = new_pkru; + + ret = ptrace(PTRACE_SETREGSET, child, (void *)NT_X86_XSTATE, &iov); + pkey_assert(ret == 0); + + /* Test that the modification is visible in ptrace before any execution */ + memset(xsave, 0xCC, xsave_size); + ret = ptrace(PTRACE_GETREGSET, child, (void *)NT_X86_XSTATE, &iov); + pkey_assert(ret == 0); + pkey_assert(*pkey_register == new_pkru); + + /* Execute the tracee */ + ret = ptrace(PTRACE_CONT, child, 0, 0); + pkey_assert(ret == 0); + + /* Test that the tracee saw the PKRU value change */ + pkey_assert(child == waitpid(child, &status, 0)); + dprintf3("[%d] waitpid(%d) status: %x\n", getpid(), child, status); + pkey_assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGSTOP); + + /* Test that the modification is visible in ptrace after execution */ + memset(xsave, 0xCC, xsave_size); + ret = ptrace(PTRACE_GETREGSET, child, (void *)NT_X86_XSTATE, &iov); + pkey_assert(ret == 0); + pkey_assert(*pkey_register == new_pkru); + + /* Clear the PKRU bit from XSTATE_BV */ + xstate_bv = (u64 *)(xsave + 512); + *xstate_bv &= ~(1 << 9); + + ret = ptrace(PTRACE_SETREGSET, child, (void *)NT_X86_XSTATE, &iov); + pkey_assert(ret == 0); + + /* Test that the modification is visible in ptrace before any execution */ + memset(xsave, 0xCC, xsave_size); + ret = ptrace(PTRACE_GETREGSET, child, (void *)NT_X86_XSTATE, &iov); + pkey_assert(ret == 0); + pkey_assert(*pkey_register == 0); + + ret = ptrace(PTRACE_CONT, child, 0, 0); + pkey_assert(ret == 0); + + /* Test that the tracee saw the PKRU value go to 0 */ + pkey_assert(child == waitpid(child, &status, 0)); + dprintf3("[%d] waitpid(%d) status: %x\n", getpid(), child, status); + pkey_assert(WIFSTOPPED(status) && WSTOPSIG(status) == SIGSTOP); + + /* Test that the modification is visible in ptrace after execution */ + memset(xsave, 0xCC, xsave_size); + ret = ptrace(PTRACE_GETREGSET, child, (void *)NT_X86_XSTATE, &iov); + pkey_assert(ret == 0); + pkey_assert(*pkey_register == 0); + + ret = ptrace(PTRACE_CONT, child, 0, 0); + pkey_assert(ret == 0); + pkey_assert(child == waitpid(child, &status, 0)); + dprintf3("[%d] waitpid(%d) status: %x\n", getpid(), child, status); + pkey_assert(WIFEXITED(status)); + pkey_assert(WEXITSTATUS(status) == 0); + free(xsave); +} +#endif + void test_mprotect_pkey_on_unsupported_cpu(int *ptr, u16 pkey) { int size = PAGE_SIZE; @@ -1585,6 +1709,9 @@ test_pkey_syscalls_bad_args, test_pkey_alloc_exhaust, test_pkey_alloc_free_attach_pkey0, +#if defined(__i386__) || defined(__x86_64__) + test_ptrace_modifies_pkru, +#endif }; void run_tests_once(void) --- linux-gcp-5.19.0.orig/tools/testing/selftests/wireguard/qemu/arch/riscv32.config +++ linux-gcp-5.19.0/tools/testing/selftests/wireguard/qemu/arch/riscv32.config @@ -1,3 +1,4 @@ +CONFIG_NONPORTABLE=y CONFIG_ARCH_RV32I=y CONFIG_MMU=y CONFIG_FPU=y --- linux-gcp-5.19.0.orig/tools/thermal/tmon/sysfs.c +++ linux-gcp-5.19.0/tools/thermal/tmon/sysfs.c @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -33,9 +34,9 @@ { FILE *fd; int ret = -1; - char filepath[256]; + char filepath[PATH_MAX + 2]; /* NUL and '/' */ - snprintf(filepath, 256, "%s/%s", path, filename); + snprintf(filepath, sizeof(filepath), "%s/%s", path, filename); fd = fopen(filepath, "w"); if (!fd) { @@ -57,9 +58,9 @@ { FILE *fd; int ret = -1; - char filepath[256]; + char filepath[PATH_MAX + 2]; /* NUL and '/' */ - snprintf(filepath, 256, "%s/%s", path, filename); + snprintf(filepath, sizeof(filepath), "%s/%s", path, filename); fd = fopen(filepath, "r"); if (!fd) { @@ -76,9 +77,9 @@ { FILE *fd; int ret = -1; - char filepath[256]; + char filepath[PATH_MAX + 2]; /* NUL and '/' */ - snprintf(filepath, 256, "%s/%s", path, filename); + snprintf(filepath, sizeof(filepath), "%s/%s", path, filename); fd = fopen(filepath, "r"); if (!fd) { @@ -199,8 +200,8 @@ { unsigned long trip_instance = 0; char cdev_name_linked[256]; - char cdev_name[256]; - char cdev_trip_name[256]; + char cdev_name[PATH_MAX]; + char cdev_trip_name[PATH_MAX]; int cdev_id; if (nl->d_type == DT_LNK) { @@ -213,7 +214,8 @@ return -EINVAL; } /* find the link to real cooling device record binding */ - snprintf(cdev_name, 256, "%s/%s", tz_name, nl->d_name); + snprintf(cdev_name, sizeof(cdev_name) - 2, "%s/%s", + tz_name, nl->d_name); memset(cdev_name_linked, 0, sizeof(cdev_name_linked)); if (readlink(cdev_name, cdev_name_linked, sizeof(cdev_name_linked) - 1) != -1) { @@ -226,8 +228,8 @@ /* find the trip point in which the cdev is binded to * in this tzone */ - snprintf(cdev_trip_name, 256, "%s%s", nl->d_name, - "_trip_point"); + snprintf(cdev_trip_name, sizeof(cdev_trip_name) - 1, + "%s%s", nl->d_name, "_trip_point"); sysfs_get_ulong(tz_name, cdev_trip_name, &trip_instance); /* validate trip point range, e.g. trip could return -1 --- linux-gcp-5.19.0.orig/tools/thermal/tmon/tmon.h +++ linux-gcp-5.19.0/tools/thermal/tmon/tmon.h @@ -27,6 +27,9 @@ #define NR_LINES_TZDATA 1 #define TMON_LOG_FILE "/var/tmp/tmon.log" +#include +#include + extern unsigned long ticktime; extern double time_elapsed; extern unsigned long target_temp_user; --- linux-gcp-5.19.0.orig/tools/tracing/rtla/Makefile +++ linux-gcp-5.19.0/tools/tracing/rtla/Makefile @@ -1,6 +1,6 @@ NAME := rtla # Follow the kernel version -VERSION := $(shell cat VERSION 2> /dev/null || make -sC ../../.. kernelversion) +VERSION := $(shell cat VERSION 2> /dev/null || make -sC ../../.. kernelversion | grep -v make) # From libtracefs: # Makefiles suck: This macro sets a default value of $(2) for the @@ -108,9 +108,9 @@ $(INSTALL) rtla -m 755 $(DESTDIR)$(BINDIR) $(STRIP) $(DESTDIR)$(BINDIR)/rtla @test ! -f $(DESTDIR)$(BINDIR)/osnoise || rm $(DESTDIR)$(BINDIR)/osnoise - ln -s $(DESTDIR)$(BINDIR)/rtla $(DESTDIR)$(BINDIR)/osnoise + ln -s rtla $(DESTDIR)$(BINDIR)/osnoise @test ! -f $(DESTDIR)$(BINDIR)/timerlat || rm $(DESTDIR)$(BINDIR)/timerlat - ln -s $(DESTDIR)$(BINDIR)/rtla $(DESTDIR)$(BINDIR)/timerlat + ln -s rtla $(DESTDIR)$(BINDIR)/timerlat .PHONY: clean tarball clean: doc_clean --- linux-gcp-5.19.0.orig/tools/tracing/rtla/src/osnoise_hist.c +++ linux-gcp-5.19.0/tools/tracing/rtla/src/osnoise_hist.c @@ -121,6 +121,7 @@ { struct osnoise_hist_params *params = tool->params; struct osnoise_hist_data *data = tool->data; + unsigned long long total_duration; int entries = data->entries; int bucket; int *hist; @@ -131,10 +132,12 @@ if (data->bucket_size) bucket = duration / data->bucket_size; + total_duration = duration * count; + hist = data->hist[cpu].samples; data->hist[cpu].count += count; update_min(&data->hist[cpu].min_sample, &duration); - update_sum(&data->hist[cpu].sum_sample, &duration); + update_sum(&data->hist[cpu].sum_sample, &total_duration); update_max(&data->hist[cpu].max_sample, &duration); if (bucket < entries) --- linux-gcp-5.19.0.orig/tools/tracing/rtla/src/timerlat_hist.c +++ linux-gcp-5.19.0/tools/tracing/rtla/src/timerlat_hist.c @@ -892,7 +892,7 @@ return_value = 0; if (trace_is_off(&tool->trace, &record->trace)) { - printf("rtla timelat hit stop tracing\n"); + printf("rtla timerlat hit stop tracing\n"); if (params->trace_output) { printf(" Saving trace to %s\n", params->trace_output); save_trace_to_file(record->trace.inst, params->trace_output); --- linux-gcp-5.19.0.orig/tools/tracing/rtla/src/timerlat_top.c +++ linux-gcp-5.19.0/tools/tracing/rtla/src/timerlat_top.c @@ -687,7 +687,7 @@ return_value = 0; if (trace_is_off(&top->trace, &record->trace)) { - printf("rtla timelat hit stop tracing\n"); + printf("rtla timerlat hit stop tracing\n"); if (params->trace_output) { printf(" Saving trace to %s\n", params->trace_output); save_trace_to_file(record->trace.inst, params->trace_output); --- linux-gcp-5.19.0.orig/tools/tracing/rtla/src/trace.c +++ linux-gcp-5.19.0/tools/tracing/rtla/src/trace.c @@ -134,13 +134,18 @@ if (trace->inst) { disable_tracer(trace->inst); destroy_instance(trace->inst); + trace->inst = NULL; } - if (trace->seq) + if (trace->seq) { free(trace->seq); + trace->seq = NULL; + } - if (trace->tep) + if (trace->tep) { tep_free(trace->tep); + trace->tep = NULL; + } } /* --- linux-gcp-5.19.0.orig/tools/tracing/rtla/src/utils.c +++ linux-gcp-5.19.0/tools/tracing/rtla/src/utils.c @@ -106,8 +106,9 @@ nr_cpus = sysconf(_SC_NPROCESSORS_CONF); - mon_cpus = malloc(nr_cpus * sizeof(char)); - memset(mon_cpus, 0, (nr_cpus * sizeof(char))); + mon_cpus = calloc(nr_cpus, sizeof(char)); + if (!mon_cpus) + goto err; for (p = cpu_list; *p; ) { cpu = atoi(p); --- linux-gcp-5.19.0.orig/tools/usb/usbip/configure.ac +++ linux-gcp-5.19.0/tools/usb/usbip/configure.ac @@ -18,7 +18,7 @@ # Silent build for automake >= 1.11 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) -AC_SUBST([EXTRA_CFLAGS], ["-Wall -Werror -Wextra -std=gnu99"]) +AC_SUBST([EXTRA_CFLAGS], ["-Wall -Werror -Wextra -Wno-address-of-packed-member -std=gnu99"]) # Checks for programs. AC_PROG_CC --- linux-gcp-5.19.0.orig/tools/virtio/linux/bug.h +++ linux-gcp-5.19.0/tools/virtio/linux/bug.h @@ -1,13 +1,11 @@ /* SPDX-License-Identifier: GPL-2.0 */ -#ifndef BUG_H -#define BUG_H +#ifndef _LINUX_BUG_H +#define _LINUX_BUG_H #include #define BUG_ON(__BUG_ON_cond) assert(!(__BUG_ON_cond)) -#define BUILD_BUG_ON(x) - #define BUG() abort() -#endif /* BUG_H */ +#endif /* _LINUX_BUG_H */ --- linux-gcp-5.19.0.orig/tools/virtio/linux/build_bug.h +++ linux-gcp-5.19.0/tools/virtio/linux/build_bug.h @@ -0,0 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_BUILD_BUG_H +#define _LINUX_BUILD_BUG_H + +#define BUILD_BUG_ON(x) + +#endif /* _LINUX_BUILD_BUG_H */ --- linux-gcp-5.19.0.orig/tools/virtio/linux/cpumask.h +++ linux-gcp-5.19.0/tools/virtio/linux/cpumask.h @@ -0,0 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_CPUMASK_H +#define _LINUX_CPUMASK_H + +#include + +#endif /* _LINUX_CPUMASK_H */ --- linux-gcp-5.19.0.orig/tools/virtio/linux/gfp.h +++ linux-gcp-5.19.0/tools/virtio/linux/gfp.h @@ -0,0 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __LINUX_GFP_H +#define __LINUX_GFP_H + +#include + +#endif --- linux-gcp-5.19.0.orig/tools/virtio/linux/kernel.h +++ linux-gcp-5.19.0/tools/virtio/linux/kernel.h @@ -10,6 +10,7 @@ #include #include +#include #include #include #include --- linux-gcp-5.19.0.orig/tools/virtio/linux/kmsan.h +++ linux-gcp-5.19.0/tools/virtio/linux/kmsan.h @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_KMSAN_H +#define _LINUX_KMSAN_H + +#include + +inline void kmsan_handle_dma(struct page *page, size_t offset, size_t size, + enum dma_data_direction dir) +{ +} + +#endif /* _LINUX_KMSAN_H */ --- linux-gcp-5.19.0.orig/tools/virtio/linux/scatterlist.h +++ linux-gcp-5.19.0/tools/virtio/linux/scatterlist.h @@ -2,6 +2,7 @@ #ifndef SCATTERLIST_H #define SCATTERLIST_H #include +#include struct scatterlist { unsigned long page_link; --- linux-gcp-5.19.0.orig/tools/virtio/linux/topology.h +++ linux-gcp-5.19.0/tools/virtio/linux/topology.h @@ -0,0 +1,7 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef _LINUX_TOPOLOGY_H +#define _LINUX_TOPOLOGY_H + +#include + +#endif /* _LINUX_TOPOLOGY_H */ --- linux-gcp-5.19.0.orig/tools/virtio/vringh_test.c +++ linux-gcp-5.19.0/tools/virtio/vringh_test.c @@ -308,6 +308,7 @@ gvdev.vdev.features = features; INIT_LIST_HEAD(&gvdev.vdev.vqs); + spin_lock_init(&gvdev.vdev.vqs_list_lock); gvdev.to_host_fd = to_host[1]; gvdev.notifies = 0; @@ -455,6 +456,7 @@ getrange = getrange_iov; vdev.features = 0; INIT_LIST_HEAD(&vdev.vqs); + spin_lock_init(&vdev.vqs_list_lock); while (argv[1]) { if (strcmp(argv[1], "--indirect") == 0) --- linux-gcp-5.19.0.orig/tools/vm/slabinfo-gnuplot.sh +++ linux-gcp-5.19.0/tools/vm/slabinfo-gnuplot.sh @@ -150,7 +150,7 @@ let lines=3 out=`basename "$in"`"-slabs-by-loss" `cat "$in" | grep -A "$lines" 'Slabs sorted by loss' |\ - egrep -iv '\-\-|Name|Slabs'\ + grep -E -iv '\-\-|Name|Slabs'\ | awk '{print $1" "$4+$2*$3" "$4}' > "$out"` if [ $? -eq 0 ]; then do_slabs_plotting "$out" @@ -159,7 +159,7 @@ let lines=3 out=`basename "$in"`"-slabs-by-size" `cat "$in" | grep -A "$lines" 'Slabs sorted by size' |\ - egrep -iv '\-\-|Name|Slabs'\ + grep -E -iv '\-\-|Name|Slabs'\ | awk '{print $1" "$4" "$4-$2*$3}' > "$out"` if [ $? -eq 0 ]; then do_slabs_plotting "$out" --- linux-gcp-5.19.0.orig/tools/vm/slabinfo.c +++ linux-gcp-5.19.0/tools/vm/slabinfo.c @@ -125,7 +125,7 @@ "-n|--numa Show NUMA information\n" "-N|--lines=K Show the first K slabs\n" "-o|--ops Show kmem_cache_ops\n" - "-P|--partial Sort by number of partial slabs\n" + "-P|--partial Sort by number of partial slabs\n" "-r|--report Detailed report on single slabs\n" "-s|--shrink Shrink slabs\n" "-S|--Size Sort by size\n" @@ -233,6 +233,24 @@ return l; } +static unsigned long read_debug_slab_obj(struct slabinfo *s, const char *name) +{ + char x[128]; + FILE *f; + size_t l; + + snprintf(x, 128, "/sys/kernel/debug/slab/%s/%s", s->name, name); + f = fopen(x, "r"); + if (!f) { + buffer[0] = 0; + l = 0; + } else { + l = fread(buffer, 1, sizeof(buffer), f); + buffer[l] = 0; + fclose(f); + } + return l; +} /* * Put a size string together @@ -409,14 +427,18 @@ { printf("\n%s: Kernel object allocation\n", s->name); printf("-----------------------------------------------------------------------\n"); - if (read_slab_obj(s, "alloc_calls")) + if (read_debug_slab_obj(s, "alloc_traces")) + printf("%s", buffer); + else if (read_slab_obj(s, "alloc_calls")) printf("%s", buffer); else printf("No Data\n"); printf("\n%s: Kernel object freeing\n", s->name); printf("------------------------------------------------------------------------\n"); - if (read_slab_obj(s, "free_calls")) + if (read_debug_slab_obj(s, "free_traces")) + printf("%s", buffer); + else if (read_slab_obj(s, "free_calls")) printf("%s", buffer); else printf("No Data\n"); @@ -1045,15 +1067,27 @@ for (s2 = s1 + 1; s2 < slabinfo + slabs; s2++) { int result; - if (sort_size) - result = slab_size(s1) < slab_size(s2); - else if (sort_active) - result = slab_activity(s1) < slab_activity(s2); - else if (sort_loss) - result = slab_waste(s1) < slab_waste(s2); - else if (sort_partial) - result = s1->partial < s2->partial; - else + if (sort_size) { + if (slab_size(s1) == slab_size(s2)) + result = strcasecmp(s1->name, s2->name); + else + result = slab_size(s1) < slab_size(s2); + } else if (sort_active) { + if (slab_activity(s1) == slab_activity(s2)) + result = strcasecmp(s1->name, s2->name); + else + result = slab_activity(s1) < slab_activity(s2); + } else if (sort_loss) { + if (slab_waste(s1) == slab_waste(s2)) + result = strcasecmp(s1->name, s2->name); + else + result = slab_waste(s1) < slab_waste(s2); + } else if (sort_partial) { + if (s1->partial == s2->partial) + result = strcasecmp(s1->name, s2->name); + else + result = s1->partial < s2->partial; + } else result = strcasecmp(s1->name, s2->name); if (show_inverted) --- linux-gcp-5.19.0.orig/ubuntu/Kconfig +++ linux-gcp-5.19.0/ubuntu/Kconfig @@ -0,0 +1,27 @@ +menu "Ubuntu Supplied Third-Party Device Drivers" + + +config UBUNTU_ODM_DRIVERS + def_bool $(success,$(srctree)/debian/scripts/misc/arch-has-odm-enabled.sh $(DEB_ARCH)) + help + Turn on support for Ubuntu ODM supplied drivers + +# +# NOTE: to allow drivers to be added and removed without causing merge +# collisions you should add new entries in the middle of the six lines +# of ## at the bottom of the list. Always add three lines of ## above +# your new entry and maintain the six lines below. +# + +## +## +## +source "ubuntu/ubuntu-host/Kconfig" +## +## +## +## +## +## + +endmenu --- linux-gcp-5.19.0.orig/ubuntu/Makefile +++ linux-gcp-5.19.0/ubuntu/Makefile @@ -0,0 +1,27 @@ +# +# Makefile for the Linux kernel ubuntu supplied third-party device drivers. +# + +# +# NOTE: to allow drivers to be added and removed without causing merge +# collisions you should add new entries in the middle of the six lines +# of ## at the bottom of the list. Always add three lines of ## above +# your new entry and maintain the six lines below. +# + +## +## +## +## +## +## +obj-$(CONFIG_UBUNTU_HOST) += ubuntu-host/ +## +## +## +## +## +## + +# This is a stupid trick to get kbuild to create ubuntu/built-in.o +obj- += foo.o --- linux-gcp-5.19.0.orig/ubuntu/include/Kbuild +++ linux-gcp-5.19.0/ubuntu/include/Kbuild @@ -0,0 +1,2 @@ + + --- linux-gcp-5.19.0.orig/ubuntu/include/README +++ linux-gcp-5.19.0/ubuntu/include/README @@ -0,0 +1,4 @@ +Only use this directory for things which need to share their headers with +other parts of the kernel or other modules in ubuntu/ + +Otherwise, keep them local to the module directory. --- linux-gcp-5.19.0.orig/ubuntu/ubuntu-host/Kconfig +++ linux-gcp-5.19.0/ubuntu/ubuntu-host/Kconfig @@ -0,0 +1,5 @@ +config UBUNTU_HOST + tristate "proc dir for exporting host data to containers" + help + Creates an ubuntu-host directory in proc for providing data from + Ubuntu hosts to containers. --- linux-gcp-5.19.0.orig/ubuntu/ubuntu-host/Makefile +++ linux-gcp-5.19.0/ubuntu/ubuntu-host/Makefile @@ -0,0 +1 @@ +obj-$(CONFIG_UBUNTU_HOST) += ubuntu-host.o --- linux-gcp-5.19.0.orig/ubuntu/ubuntu-host/ubuntu-host.c +++ linux-gcp-5.19.0/ubuntu/ubuntu-host/ubuntu-host.c @@ -0,0 +1,68 @@ +#include +#include +#include +#include +#include + +#define PROC_DIR "ubuntu-host" + +#define ESM_TOKEN_FILE "esm-token" +#define ESM_TOKEN_MAX_SIZE 64 + +static struct proc_dir_entry *proc_dir; +static char esm_token_buffer[ESM_TOKEN_MAX_SIZE]; + +static ssize_t esm_token_read(struct file *f, char __user *buf, size_t len, + loff_t *off) +{ + return simple_read_from_buffer(buf, len, off, esm_token_buffer, + strlen(esm_token_buffer)); +} + +static ssize_t esm_token_write(struct file *f, const char __user *buf, + size_t len, loff_t *off) +{ + ssize_t ret; + + if (len >= ESM_TOKEN_MAX_SIZE - 1) + return -EINVAL; + + ret = simple_write_to_buffer(esm_token_buffer, ESM_TOKEN_MAX_SIZE - 1, + off, buf, len); + if (ret >= 0) + esm_token_buffer[ret] = '\0'; + + return ret; +} + +static const struct proc_ops esm_token_fops = { + .proc_read = esm_token_read, + .proc_write = esm_token_write, +}; + +static void ubuntu_host_cleanup(void) +{ + remove_proc_entry(ESM_TOKEN_FILE, proc_dir); + proc_remove(proc_dir); +} + +static int __init ubuntu_host_init(void) +{ + proc_dir = proc_mkdir(PROC_DIR, NULL); + if (!proc_dir) { + pr_err("Failed to create ubuntu-host dir\n"); + return -ENOMEM; + } + + if (!proc_create_data(ESM_TOKEN_FILE, 0644, proc_dir, &esm_token_fops, NULL)) { + pr_err("Failed to create esm-tokan file\n"); + ubuntu_host_cleanup(); + return -ENOMEM; + } + + return 0; +} + +module_init(ubuntu_host_init); +module_exit(ubuntu_host_cleanup); +MODULE_LICENSE("GPL"); --- linux-gcp-5.19.0.orig/update-dkms-versions +++ linux-gcp-5.19.0/update-dkms-versions @@ -0,0 +1,181 @@ +#!/bin/bash + +remote_repo='' +sru_cycle= +while : +do + if [ "$1" = "--remote-repo" ]; then + remote_repo="$2" + shift 2 + + elif [ "$1" = "--sru-cycle" ]; then + sru_cycle="$2" + shift 2 + + else + break + fi +done +if [ "$#" -ne 0 ]; then + { + echo "Usage: $0 []" + echo " --remote-repo " + echo " --sru-cycle " + } 1>&2 + exit 1 +fi + +default_sru_cycle() +{ + local tracking_bug + local version + + # Pick out the cycle from the tracking bug file. + if [ -f "$DEBIAN/tracking-bug" ]; then + read tracking_bug sru_cycle X <"$DEBIAN/tracking-bug" + fi + + if [ -z "$sru_cycle" ]; then + echo "$0: sru-cycle not found via debian/tracking-bug; specify --sru-cycle" 1>&2 + exit 1 + fi + + sru_cycle=$(echo "$sru_cycle" | sed -e 's/-[0-9][0-9]*$//' -e 's/^kernel-sru-cycle-//') + + #echo "default_sru_cycle: version<$version> sru_cycle<$sru_cycle>" +} + +# Determine where our changelog is. +DEBIAN=debian +[ -f 'debian/debian.env' ] && . 'debian/debian.env' + +[ -z "$sru_cycle" ] && default_sru_cycle +if [ -z "$remote_repo" ]; then + case "$sru_cycle" in + c[0-9][0-9][0-9][0-9].[0-9][0-9].[0-9][0-9]) + remote_repo='security' ;; + *) + remote_repo='main' ;; + esac +fi +case "$remote_repo" in +security) + remote_repo='ssh+git://git.launchpad.net/~canonical-kernel-security-team/canonical-kernel-private/+git/kernel-versions' + remote_name='security' + ;; +main) + remote_repo='git://git.launchpad.net/~canonical-kernel/+git/kernel-versions' + remote_name='main' + ;; +*) + remote_name='adhoc' + ;; +esac + +# +# kernel-versoins repository dkms-version mapping see below for details: +# https://git.launchpad.net/~canonical-kernel/+git/kernel-versions/plain/README +# +kv_repo="$HOME/.cache/kernel-versions-bare" +git_base="$remote_name/$sru_cycle" + +# Now we know where our repo is and what it called update it. +# We maintain "persistent" remotes for main and security, but assume +# any manually supplied entries are transient. +( + [ ! -d "$kv_repo" ] && mkdir -p "$kv_repo" + cd "$kv_repo" || exit 1 + [ ! -f config ] && git init -q --bare + current_url=$(git config "remote.$remote_name.url") + if [ -z "$current_url" ]; then + git remote add "$remote_name" "$remote_repo" + elif [ "$current_url" != "$remote_repo" ]; then + git config "remote.$remote_name.url" "$remote_repo" + fi + git fetch -q -p "$remote_name" +) || exit 1 + +cat_file() +{ + (cd "$kv_repo" && git cat-file "$@") || exit 1 +} + +# Determine if we have this cycle. +present=$(cat_file -t "$git_base" 2>/dev/null) +if [ "$present" = "" ]; then + # If we don't have the cycle in the development cycle then + # fall back to master. + case "$sru_cycle" in + d*) git_base="$remote_name/master" ;; + *) echo "$sru_cycle: cycle not found in $remote_repo" 2>&1 + exit 1 + ;; + esac +fi + +# Determine our series and mainline version from our own changelog. +our_series=$(LC_ALL=C dpkg-parsechangelog -l"$DEBIAN/changelog" -SDistribution) +if [ "$our_series" = "UNRELEASED" ]; then + our_series=$(LC_ALL=C dpkg-parsechangelog -l"$DEBIAN/changelog" -o1 -c1 -SDistribution) +fi +our_mainline=$(LC_ALL=C dpkg-parsechangelog -l"$DEBIAN/changelog" -SVersion | sed -e 's/-.*//') +our_package=$(LC_ALL=C dpkg-parsechangelog -l"$DEBIAN/changelog" -SSource) +our_source=$(echo "$our_package" | sed -e 's/-restricted-modules//') +case "$our_package" in +linux-restricted-modules*) our_type="lrm" ;; +*) our_type="main" ;; +esac + +# Update rules are complex. We update development series kernels to the +# versions in development. For stable series we update versions against +# the series in which our prime kernel was built. This is expressed +# via the map/dkms-versions namespace. Attempt to map via our series +# and then our mainline-version. + +# Try and find a package specific dkms-versions fragment. Try: +# handle+type +# series+type +# mainline+type +# series - backwards compatibility +# mainline - backwards compatibility +for versions_path_tail in \ + "$our_series:$our_source:$our_type" \ + "$our_series:$our_type" \ + "$our_mainline:$our_type" \ + "$our_series" \ + "$our_mainline" +do + echo "II: trying $versions_path_tail ..." + versions_paths=$(echo $(cat_file -p "$git_base:map/dkms-versions/$versions_path_tail" 2>/dev/null)) + [ -n "$versions_paths" ] && break +done + +if [ -z "$versions_paths" ]; then + echo "$0: unable to identify dkms-versions mapping" 1>&2 + exit 1 +fi + +echo "git_base<$git_base> versions_paths<$versions_paths>" +echo "II: grabbing dkms-versions from $sru_cycle $versions_paths" + +: ">debian/dkms-versions.new" +for versions_path in $versions_paths +do + cat_file -p "$git_base:$versions_path" >>"debian/dkms-versions.new" + if [ "$?" -ne 0 ]; then + echo "$0: unable to download an updated dkms-versions file" 1>&2 + exit 1 + fi +done +mv "debian/dkms-versions.new" "debian/dkms-versions" + +thing="debian/dkms-versions" +if ! git diff --exit-code -- "$thing" >/dev/null; then + git commit -m "UBUNTU: $thing -- update from kernel-versions ($git_base)" \ + -m "BugLink: https://bugs.launchpad.net/bugs/1786013" \ + -s -- "$thing" +else + echo "$thing: no changes from kernel-versions" +fi + +exit 0 --- linux-gcp-5.19.0.orig/update-version-dkms +++ linux-gcp-5.19.0/update-version-dkms @@ -0,0 +1,4 @@ +#!/bin/bash + +echo "EE: run update-dkms-versions after link-to-tracker" 1>&2 +exit 1 --- linux-gcp-5.19.0.orig/virt/kvm/coalesced_mmio.c +++ linux-gcp-5.19.0/virt/kvm/coalesced_mmio.c @@ -187,15 +187,17 @@ r = kvm_io_bus_unregister_dev(kvm, zone->pio ? KVM_PIO_BUS : KVM_MMIO_BUS, &dev->dev); + kvm_iodevice_destructor(&dev->dev); + /* * On failure, unregister destroys all devices on the * bus _except_ the target device, i.e. coalesced_zones - * has been modified. No need to restart the walk as - * there aren't any zones left. + * has been modified. Bail after destroying the target + * device, there's no need to restart the walk as there + * aren't any zones left. */ if (r) break; - kvm_iodevice_destructor(&dev->dev); } } --- linux-gcp-5.19.0.orig/virt/kvm/kvm_main.c +++ linux-gcp-5.19.0/virt/kvm/kvm_main.c @@ -724,6 +724,15 @@ kvm->mn_active_invalidate_count++; spin_unlock(&kvm->mn_invalidate_lock); + /* + * Invalidate pfn caches _before_ invalidating the secondary MMUs, i.e. + * before acquiring mmu_lock, to avoid holding mmu_lock while acquiring + * each cache's lock. There are relatively few caches in existence at + * any given time, and the caches themselves can check for hva overlap, + * i.e. don't need to rely on memslot overlap checks for performance. + * Because this runs without holding mmu_lock, the pfn caches must use + * mn_active_invalidate_count (see above) instead of mmu_notifier_count. + */ gfn_to_pfn_cache_invalidate_start(kvm, range->start, range->end, hva_range.may_block); @@ -1076,6 +1085,9 @@ if (!kvm) return ERR_PTR(-ENOMEM); + /* KVM is pinned via open("/dev/kvm"), the fd passed to this ioctl(). */ + __module_get(kvm_chardev_ops.owner); + KVM_MMU_LOCK_INIT(kvm); mmgrab(current->mm); kvm->mm = current->mm; @@ -1161,16 +1173,6 @@ preempt_notifier_inc(); kvm_init_pm_notifier(kvm); - /* - * When the fd passed to this ioctl() is opened it pins the module, - * but try_module_get() also prevents getting a reference if the module - * is in MODULE_STATE_GOING (e.g. if someone ran "rmmod --wait"). - */ - if (!try_module_get(kvm_chardev_ops.owner)) { - r = -ENODEV; - goto out_err; - } - return kvm; out_err: @@ -1192,6 +1194,7 @@ out_err_no_srcu: kvm_arch_free_vm(kvm); mmdrop(current->mm); + module_put(kvm_chardev_ops.owner); return ERR_PTR(r); } @@ -2844,16 +2847,28 @@ } EXPORT_SYMBOL_GPL(kvm_release_pfn_dirty); +static bool kvm_is_ad_tracked_pfn(kvm_pfn_t pfn) +{ + if (!pfn_valid(pfn)) + return false; + + /* + * Per page-flags.h, pages tagged PG_reserved "should in general not be + * touched (e.g. set dirty) except by its owner". + */ + return !PageReserved(pfn_to_page(pfn)); +} + void kvm_set_pfn_dirty(kvm_pfn_t pfn) { - if (!kvm_is_reserved_pfn(pfn) && !kvm_is_zone_device_pfn(pfn)) + if (kvm_is_ad_tracked_pfn(pfn)) SetPageDirty(pfn_to_page(pfn)); } EXPORT_SYMBOL_GPL(kvm_set_pfn_dirty); void kvm_set_pfn_accessed(kvm_pfn_t pfn) { - if (!kvm_is_reserved_pfn(pfn) && !kvm_is_zone_device_pfn(pfn)) + if (kvm_is_ad_tracked_pfn(pfn)) mark_page_accessed(pfn_to_page(pfn)); } EXPORT_SYMBOL_GPL(kvm_set_pfn_accessed); @@ -4715,6 +4730,12 @@ }; }; +long __weak kvm_arch_vm_compat_ioctl(struct file *filp, unsigned int ioctl, + unsigned long arg) +{ + return -ENOTTY; +} + static long kvm_vm_compat_ioctl(struct file *filp, unsigned int ioctl, unsigned long arg) { @@ -4723,6 +4744,11 @@ if (kvm->mm != current->mm || kvm->vm_dead) return -EIO; + + r = kvm_arch_vm_compat_ioctl(filp, ioctl, arg); + if (r != -ENOTTY) + return r; + switch (ioctl) { #ifdef CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT case KVM_CLEAR_DIRTY_LOG: { @@ -5280,6 +5306,7 @@ int (*get)(void *, u64 *), int (*set)(void *, u64), const char *fmt) { + int ret; struct kvm_stat_data *stat_data = (struct kvm_stat_data *) inode->i_private; @@ -5291,15 +5318,13 @@ if (!kvm_get_kvm_safe(stat_data->kvm)) return -ENOENT; - if (simple_attr_open(inode, file, get, - kvm_stats_debugfs_mode(stat_data->desc) & 0222 - ? set : NULL, - fmt)) { + ret = simple_attr_open(inode, file, get, + kvm_stats_debugfs_mode(stat_data->desc) & 0222 + ? set : NULL, fmt); + if (ret) kvm_put_kvm(stat_data->kvm); - return -ENOMEM; - } - return 0; + return ret; } static int kvm_debugfs_release(struct inode *inode, struct file *file) --- linux-gcp-5.19.0.orig/virt/kvm/pfncache.c +++ linux-gcp-5.19.0/virt/kvm/pfncache.c @@ -81,6 +81,9 @@ { struct kvm_memslots *slots = kvm_memslots(kvm); + if (!gpc->active) + return false; + if ((gpa & ~PAGE_MASK) + len > PAGE_SIZE) return false; @@ -95,7 +98,7 @@ } EXPORT_SYMBOL_GPL(kvm_gfn_to_pfn_cache_check); -static void __release_gpc(struct kvm *kvm, kvm_pfn_t pfn, void *khva, gpa_t gpa) +static void gpc_release_pfn_and_khva(struct kvm *kvm, kvm_pfn_t pfn, void *khva) { /* Unmap the old page if it was mapped before, and release it */ if (!is_error_noslot_pfn(pfn)) { @@ -112,31 +115,122 @@ } } -static kvm_pfn_t hva_to_pfn_retry(struct kvm *kvm, unsigned long uhva) +static inline bool mmu_notifier_retry_cache(struct kvm *kvm, unsigned long mmu_seq) +{ + /* + * mn_active_invalidate_count acts for all intents and purposes + * like mmu_notifier_count here; but the latter cannot be used + * here because the invalidation of caches in the mmu_notifier + * event occurs _before_ mmu_notifier_count is elevated. + * + * Note, it does not matter that mn_active_invalidate_count + * is not protected by gpc->lock. It is guaranteed to + * be elevated before the mmu_notifier acquires gpc->lock, and + * isn't dropped until after mmu_notifier_seq is updated. + */ + if (kvm->mn_active_invalidate_count) + return true; + + /* + * Ensure mn_active_invalidate_count is read before + * mmu_notifier_seq. This pairs with the smp_wmb() in + * mmu_notifier_invalidate_range_end() to guarantee either the + * old (non-zero) value of mn_active_invalidate_count or the + * new (incremented) value of mmu_notifier_seq is observed. + */ + smp_rmb(); + return kvm->mmu_notifier_seq != mmu_seq; +} + +static kvm_pfn_t hva_to_pfn_retry(struct kvm *kvm, struct gfn_to_pfn_cache *gpc) { + /* Note, the new page offset may be different than the old! */ + void *old_khva = gpc->khva - offset_in_page(gpc->khva); + kvm_pfn_t new_pfn = KVM_PFN_ERR_FAULT; + void *new_khva = NULL; unsigned long mmu_seq; - kvm_pfn_t new_pfn; - int retry; + + lockdep_assert_held(&gpc->refresh_lock); + + lockdep_assert_held_write(&gpc->lock); + + /* + * Invalidate the cache prior to dropping gpc->lock, the gpa=>uhva + * assets have already been updated and so a concurrent check() from a + * different task may not fail the gpa/uhva/generation checks. + */ + gpc->valid = false; do { mmu_seq = kvm->mmu_notifier_seq; smp_rmb(); + write_unlock_irq(&gpc->lock); + + /* + * If the previous iteration "failed" due to an mmu_notifier + * event, release the pfn and unmap the kernel virtual address + * from the previous attempt. Unmapping might sleep, so this + * needs to be done after dropping the lock. Opportunistically + * check for resched while the lock isn't held. + */ + if (new_pfn != KVM_PFN_ERR_FAULT) { + /* + * Keep the mapping if the previous iteration reused + * the existing mapping and didn't create a new one. + */ + if (new_khva == old_khva) + new_khva = NULL; + + gpc_release_pfn_and_khva(kvm, new_pfn, new_khva); + + cond_resched(); + } + /* We always request a writeable mapping */ - new_pfn = hva_to_pfn(uhva, false, NULL, true, NULL); + new_pfn = hva_to_pfn(gpc->uhva, false, NULL, true, NULL); if (is_error_noslot_pfn(new_pfn)) - break; + goto out_error; - KVM_MMU_READ_LOCK(kvm); - retry = mmu_notifier_retry_hva(kvm, mmu_seq, uhva); - KVM_MMU_READ_UNLOCK(kvm); - if (!retry) - break; + /* + * Obtain a new kernel mapping if KVM itself will access the + * pfn. Note, kmap() and memremap() can both sleep, so this + * too must be done outside of gpc->lock! + */ + if (gpc->usage & KVM_HOST_USES_PFN) { + if (new_pfn == gpc->pfn) { + new_khva = old_khva; + } else if (pfn_valid(new_pfn)) { + new_khva = kmap(pfn_to_page(new_pfn)); +#ifdef CONFIG_HAS_IOMEM + } else { + new_khva = memremap(pfn_to_hpa(new_pfn), PAGE_SIZE, MEMREMAP_WB); +#endif + } + if (!new_khva) { + kvm_release_pfn_clean(new_pfn); + goto out_error; + } + } + + write_lock_irq(&gpc->lock); + + /* + * Other tasks must wait for _this_ refresh to complete before + * attempting to refresh. + */ + WARN_ON_ONCE(gpc->valid); + } while (mmu_notifier_retry_cache(kvm, mmu_seq)); + + gpc->valid = true; + gpc->pfn = new_pfn; + gpc->khva = new_khva + (gpc->gpa & ~PAGE_MASK); + return 0; - cond_resched(); - } while (1); +out_error: + write_lock_irq(&gpc->lock); - return new_pfn; + return -EFAULT; } int kvm_gfn_to_pfn_cache_refresh(struct kvm *kvm, struct gfn_to_pfn_cache *gpc, @@ -144,12 +238,11 @@ { struct kvm_memslots *slots = kvm_memslots(kvm); unsigned long page_offset = gpa & ~PAGE_MASK; - kvm_pfn_t old_pfn, new_pfn; + bool unmap_old = false; unsigned long old_uhva; - gpa_t old_gpa; + kvm_pfn_t old_pfn; void *old_khva; - bool old_valid; - int ret = 0; + int ret; /* * If must fit within a single page. The 'len' argument is @@ -158,13 +251,23 @@ if (page_offset + len > PAGE_SIZE) return -EINVAL; + /* + * If another task is refreshing the cache, wait for it to complete. + * There is no guarantee that concurrent refreshes will see the same + * gpa, memslots generation, etc..., so they must be fully serialized. + */ + mutex_lock(&gpc->refresh_lock); + write_lock_irq(&gpc->lock); - old_gpa = gpc->gpa; + if (!gpc->active) { + ret = -EINVAL; + goto out_unlock; + } + old_pfn = gpc->pfn; old_khva = gpc->khva - offset_in_page(gpc->khva); old_uhva = gpc->uhva; - old_valid = gpc->valid; /* If the userspace HVA is invalid, refresh that first */ if (gpc->gpa != gpa || gpc->generation != slots->generation || @@ -177,74 +280,51 @@ gpc->uhva = gfn_to_hva_memslot(gpc->memslot, gfn); if (kvm_is_error_hva(gpc->uhva)) { - gpc->pfn = KVM_PFN_ERR_FAULT; ret = -EFAULT; goto out; } - - gpc->uhva += page_offset; } /* * If the userspace HVA changed or the PFN was already invalid, * drop the lock and do the HVA to PFN lookup again. */ - if (!old_valid || old_uhva != gpc->uhva) { - unsigned long uhva = gpc->uhva; - void *new_khva = NULL; - - /* Placeholders for "hva is valid but not yet mapped" */ - gpc->pfn = KVM_PFN_ERR_FAULT; - gpc->khva = NULL; - gpc->valid = true; - - write_unlock_irq(&gpc->lock); - - new_pfn = hva_to_pfn_retry(kvm, uhva); - if (is_error_noslot_pfn(new_pfn)) { - ret = -EFAULT; - goto map_done; - } - - if (gpc->usage & KVM_HOST_USES_PFN) { - if (new_pfn == old_pfn) { - new_khva = old_khva; - old_pfn = KVM_PFN_ERR_FAULT; - old_khva = NULL; - } else if (pfn_valid(new_pfn)) { - new_khva = kmap(pfn_to_page(new_pfn)); -#ifdef CONFIG_HAS_IOMEM - } else { - new_khva = memremap(pfn_to_hpa(new_pfn), PAGE_SIZE, MEMREMAP_WB); -#endif - } - if (new_khva) - new_khva += page_offset; - else - ret = -EFAULT; - } - - map_done: - write_lock_irq(&gpc->lock); - if (ret) { - gpc->valid = false; - gpc->pfn = KVM_PFN_ERR_FAULT; - gpc->khva = NULL; - } else { - /* At this point, gpc->valid may already have been cleared */ - gpc->pfn = new_pfn; - gpc->khva = new_khva; - } + if (!gpc->valid || old_uhva != gpc->uhva) { + ret = hva_to_pfn_retry(kvm, gpc); } else { - /* If the HVA→PFN mapping was already valid, don't unmap it. */ + /* + * If the HVA→PFN mapping was already valid, don't unmap it. + * But do update gpc->khva because the offset within the page + * may have changed. + */ + gpc->khva = old_khva + page_offset; old_pfn = KVM_PFN_ERR_FAULT; old_khva = NULL; + ret = 0; } out: + /* + * Invalidate the cache and purge the pfn/khva if the refresh failed. + * Some/all of the uhva, gpa, and memslot generation info may still be + * valid, leave it as is. + */ + if (ret) { + gpc->valid = false; + gpc->pfn = KVM_PFN_ERR_FAULT; + gpc->khva = NULL; + } + + /* Detect a pfn change before dropping the lock! */ + unmap_old = (old_pfn != gpc->pfn); + +out_unlock: write_unlock_irq(&gpc->lock); - __release_gpc(kvm, old_pfn, old_khva, old_gpa); + mutex_unlock(&gpc->refresh_lock); + + if (unmap_old) + gpc_release_pfn_and_khva(kvm, old_pfn, old_khva); return ret; } @@ -254,14 +334,13 @@ { void *old_khva; kvm_pfn_t old_pfn; - gpa_t old_gpa; + mutex_lock(&gpc->refresh_lock); write_lock_irq(&gpc->lock); gpc->valid = false; old_khva = gpc->khva - offset_in_page(gpc->khva); - old_gpa = gpc->gpa; old_pfn = gpc->pfn; /* @@ -272,46 +351,67 @@ gpc->pfn = KVM_PFN_ERR_FAULT; write_unlock_irq(&gpc->lock); + mutex_unlock(&gpc->refresh_lock); - __release_gpc(kvm, old_pfn, old_khva, old_gpa); + gpc_release_pfn_and_khva(kvm, old_pfn, old_khva); } EXPORT_SYMBOL_GPL(kvm_gfn_to_pfn_cache_unmap); +void kvm_gpc_init(struct gfn_to_pfn_cache *gpc) +{ + rwlock_init(&gpc->lock); + mutex_init(&gpc->refresh_lock); +} +EXPORT_SYMBOL_GPL(kvm_gpc_init); -int kvm_gfn_to_pfn_cache_init(struct kvm *kvm, struct gfn_to_pfn_cache *gpc, - struct kvm_vcpu *vcpu, enum pfn_cache_usage usage, - gpa_t gpa, unsigned long len) +int kvm_gpc_activate(struct kvm *kvm, struct gfn_to_pfn_cache *gpc, + struct kvm_vcpu *vcpu, enum pfn_cache_usage usage, + gpa_t gpa, unsigned long len) { WARN_ON_ONCE(!usage || (usage & KVM_GUEST_AND_HOST_USE_PFN) != usage); if (!gpc->active) { - rwlock_init(&gpc->lock); - gpc->khva = NULL; gpc->pfn = KVM_PFN_ERR_FAULT; gpc->uhva = KVM_HVA_ERR_BAD; gpc->vcpu = vcpu; gpc->usage = usage; gpc->valid = false; - gpc->active = true; spin_lock(&kvm->gpc_lock); list_add(&gpc->list, &kvm->gpc_list); spin_unlock(&kvm->gpc_lock); + + /* + * Activate the cache after adding it to the list, a concurrent + * refresh must not establish a mapping until the cache is + * reachable by mmu_notifier events. + */ + write_lock_irq(&gpc->lock); + gpc->active = true; + write_unlock_irq(&gpc->lock); } return kvm_gfn_to_pfn_cache_refresh(kvm, gpc, gpa, len); } -EXPORT_SYMBOL_GPL(kvm_gfn_to_pfn_cache_init); +EXPORT_SYMBOL_GPL(kvm_gpc_activate); -void kvm_gfn_to_pfn_cache_destroy(struct kvm *kvm, struct gfn_to_pfn_cache *gpc) +void kvm_gpc_deactivate(struct kvm *kvm, struct gfn_to_pfn_cache *gpc) { if (gpc->active) { + /* + * Deactivate the cache before removing it from the list, KVM + * must stall mmu_notifier events until all users go away, i.e. + * until gpc->lock is dropped and refresh is guaranteed to fail. + */ + write_lock_irq(&gpc->lock); + gpc->active = false; + write_unlock_irq(&gpc->lock); + spin_lock(&kvm->gpc_lock); list_del(&gpc->list); spin_unlock(&kvm->gpc_lock); kvm_gfn_to_pfn_cache_unmap(kvm, gpc); - gpc->active = false; } } -EXPORT_SYMBOL_GPL(kvm_gfn_to_pfn_cache_destroy); +EXPORT_SYMBOL_GPL(kvm_gpc_deactivate); --- linux-gcp-5.19.0.orig/virt/kvm/vfio.c +++ linux-gcp-5.19.0/virt/kvm/vfio.c @@ -317,7 +317,7 @@ return -ENXIO; } -static void kvm_vfio_destroy(struct kvm_device *dev) +static void kvm_vfio_release(struct kvm_device *dev) { struct kvm_vfio *kv = dev->private; struct kvm_vfio_group *kvg, *tmp; @@ -336,7 +336,7 @@ kvm_vfio_update_coherency(dev); kfree(kv); - kfree(dev); /* alloc by kvm_ioctl_create_device, free by .destroy */ + kfree(dev); /* alloc by kvm_ioctl_create_device, free by .release */ } static int kvm_vfio_create(struct kvm_device *dev, u32 type); @@ -344,7 +344,7 @@ static struct kvm_device_ops kvm_vfio_ops = { .name = "kvm-vfio", .create = kvm_vfio_create, - .destroy = kvm_vfio_destroy, + .release = kvm_vfio_release, .set_attr = kvm_vfio_set_attr, .has_attr = kvm_vfio_has_attr, };